kernel-rt-devel-4.18.0-517.rt7.306.el8 EN>ENp  HNEL8EL<EN[ENle(# U]P Fwb{@n08c͛cM4~|wҸ6OmON2lccYR{NjCt-v,+˜AFy\dִ9JZWo%[ܥLS~VqIf ́TV@ x3D⦠Z[R7&/%4PDZMOD 0tP6w8\f|'j{?PWgzmAު9aLb=Mu\v箪ϠB˖ǾҘZ|49Hcr2a^Z{T A7FFXo*ۏў8 EփzZEz8q1b\P:2 QWDb/Fs%1*GOs\ܭfS`M4o|KK?V&MBy8q3 bGHv2C9e1e7ea392e97f4d659094ebf8af9ae674ff8dd6049a3490b2da00b84ac9c0ab95fa8fefdbdd373c804f5f636c93b376978e074b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023012ce4546a08e52c3060ba79e3c4b43cbde29a2bdaa621896b32ec04dc964a98d7621317f50eec2df22a1e7278ec0e6b20230210fea67557eba3dfd2054e5018ed556175d73396e3febd5164e48e09f6a527cce4b2e34bda226427c3e4d57c5b281a10302047c435bb50066306402301507bb5966eb5765e06e5c3cb43fc436c0bfbfd8240c962503954064c62ade76a66b80be7766b33d76d8f694ddb43dc002302f63ea303d1e3e949623dc8a5143d287f1877b8d186e683b424b5f4312afa0218068884d980697d16cf1e30d22a24bd90302047c435bb50067306502306588b9b40c53e18d2dac3b9b123eb3b085f078f9c4f06ac62654ed07be0bdfdd9a2dba02a1f971f7c2122dcb84535309023100b5e3c954917f9b9e898870b19709b6e6fe17e276a020823a3a4b1ae6840ea51f1d438cdfe53df567eeb64f82d2ab454e0302047c435bb500663064023035f77814927a2da0b01d99e0fd0f4ebec34bd9d412f2c2b48cbbb339c369f724d82c49e355acd1f4bf5445f387db8e5d02303ead4656bbd7e3f20b2afe94446a5eb0a78ab68f7f32ebad4ed056280aa4345935bee3e48d00ec9e72da49b3e0f1938c0302047c435bb500683066023100dc6a8439bfa16720463ffa4f883512b6135900bb69f5bd49b11b367fbe4e1c0ef736ba871cf6b4fb23856b78bbc33d78023100b3e0d2c4f9732255f8626ba8a4f56feedbc159ea2ad1ce624a97aa97c4cd182b79cdc0c576007db0c00b302cfdf8c5520302047c435bb50067306502304267aaa1518f9946781b1c6dd0d757a3b7379e71c5a8aa7715e0104f9b66cdcf340533042cd9f0aed049e5fe9f845115023100ef0a9f8aa510196ce08329162df28f5543c00274a10042d800cd994bab887a92a58207c91f09028b2c9597e44fe0ddc40302047c435bb500673065023100bdb5ee505af9a676dc498c1f2b64bc37cadf8f9cfccf3302a369f0c0c885857f9f942b8f06aa00e0b1bb09c232e6f3cb02301f337d5c7d6ad69641a3562540fe47f254f203505f79041b5f081e054621561e3727e80309453b776b4b89547f97afa80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e680e41a19ecfddc49b0fe411f65071094a6c64f071d46ed71250591cb41f328ebcff75a0c4cbfd50c099bffc560ebe0023034a970cabb1942ed78e4538a5ccd693331d8e9b7d91919b62df8c463db825338b2728df6efd234b668aadc6bc698efe30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e518ac84fa5a425034500aa36f93e4ad7a0e301b20c5375809bf059f426b4540740e338c57cbb10af10e0510d76e5d8d02304da5d6740481003ee96ff2f980c3ac452d03a844fd5519da99882e79d0d97f722a31e3f5e69bc134cc23d4f88b3fa5de0302047c435bb500663064023072995c4006a2e35e5b0578f0c48694ebc73cc09f87f9a882a96c0224de2bdb51415c532231d46ca49526e59f5193cb1f0230246628b8dcd495e7ac1ce534ed9f4b2022d864a1005489ccd17858698f6820a92b131d3142d682b2cf67d5e596cbe6320302047c435bb50068306602310080b70447da3b8fc8274c83cafa57ffcdac406bb055e5b14194bd51dc4f0be86455c0f96d44de5ea2bfad43668f422ead023100b3efa0ed4abd2ebc4995b9cd8f8eb8a1d8807d37944f2ac49e118a7ff2933253f50a1bb43575ef4030352b3e9adf03110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301720242055e23026ccfb1260a0021f8abd37d5ef2445733657b1d32ac065ab53f4c5b7a58998376c6768aa2b317ebd5c023059ef7c1f3eb02fb5b37411bd4d9b036dd1fda665b42035be1ca0870ac1a4f8862d8ab8f591351fbcfdc83a1111a7aa5e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dbed454a9b19bbfd756dd144b3fd0ba40e2f3c09d17a144f3b67b99a62d4f5bbba2e13ba446fb5c79986e5875c9b7730023021f1ea572123db4a4349162b6be32518b2cdd1882f2684a039d7095d9e0613936a150ab22d47ead92827a093dc95d78e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e593419ea619d2902f8dbe998e6b16c033efe2616e51f00381630d19d2683a661baa57e73fc57df60cdf36ed5eef291c023100e75a8e40a8b94f034f65f094ee7a373b663a7673de00bc437d5a5f2c6672b8a949e869fde7f0f8e989761ee33dd160070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307ce41938b8dead61c35a97cf00d00cad1b0fdd1d44c407e00742d690fd4300c81e3246f39d6e7057aec6d46287061aa1023035269832fb780a64e73833cefb1f57141296846a6f8f3753661789bde573c46cca6fa0988766385d4ec543cbd755cccc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301b0c43f8e2629b9d4ed395a3ea916d403bf3ee13962fdd3bf4ff611891947bb3cb360dd853c072234945c138f0a1448402303fc9f97e873a5b61d0d2cade24ced6f1589de364b44f4e9499b495df6d5a34b35fb57b502e0ecbbc94b203c8fd3e61590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b5f7cbc9ef339cf855f271cd5d60bdf629187d1cd09400b03a527d075f68c20ce3f7a907f850b1fbd25112dcfb7f5dee02301579b7b0d1419e5631fe1b00991ae1082479bafe7aaf60d328fe13be3151cb4b4fae44075bc53666d289092d434f40c90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304a92d2c27fb98ce308e1247b67b2f60310ce3f9b3f2891e02f7c325df0c865f598bfdc6020da6d8a19d794bf5005b23f02306ae017eefe44e2e7ab8a5162c087d37fea57c233c7059c7168d5e8e6d2cdfb1ac80fc533b68e90a8887cf8fe692ad1f90302047c435bb500673065023100caa210f639416ce7736cd0fc012f751fc3bae1ee28066d450c9d544c0cfb89bd74f8acb2f16311f5e57ee667cd13510b0230233780cd8f963d3226cc713b8aca773c7ea732bab3b4a77ffb075e945e5e52643555e0391bdbe4583dc5e68b9df310b20302047c435bb500683066023100ef5567f03941ef8832f4b689a815a8745ea92c3b88acae39586ee2e2bbf255fe261c6b01922d29f65efde4c2b4ca85c7023100ea658996175e33bf4a6ec83325e10afa4b8efdf52eddb559c5febae85fe5becd9640ee4186769c3d1123eb942aa219cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307c7fb6307114f0e3f4209aa4cd6bd9ab47248dd779e1b620287a5ee9ae75c1e5277e87b6e030c8e50c61679c5f2c9d420231009fea3495bbff21ec7196af8f3354e6dc96d44da87c0f7e09f0485f57b8780634a5b1609b9fc439822aeac2c8238874c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023008fe276c8f0a28ebfcb3d73a7e4f005dcd790c6b41f5829a1b7bcfaf2663d56dad145a601158553f641b366e3ec417c402300c3a41d03401c76c6e5468ba6dc0787dd780f629083c15474c388b2d5e29be27b93668667839c26ad01fa8e5385157290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302b5173cd38a5e02da5d4d549e099c094aa9d8e6c619c65721ad9a4d20a4c8039bda8c9603b5e4d9b221257d58c11733a0230497625bec6c0a84d9e4dc98030c02bde14e09c1d53defe562c29586c4a5ca0f14619f9e5dc8708e6c4a0822a6181f4350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009dcb928f866887c3e821e705af891d5990fc06cea5cf6bc9eb509fba35557dc02579d5addd41e5bb8dd310cea6388f100230186c2d3b180624ad5a776c3bb457d125095da36c9a24aa638c7768f85ceaabef26780fba74a19ac86ae238aca83989a60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f41435350364863d0732d6fb4992dd28c7229a2fdb3ffa522527d0f4164cc8ba2ad17c996beff48e999f902ff92f94910231008911851524d2d909df2ac1217c6ef7321bfd0ef47d868f63e0052bf3e25601c7fa77cf4d9f9cb0165051179b36d4c9430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bc4e475edd207dfb34d1ee73a7cb731aabecfd8a1ca24eb26782c5d3eb741092fdff1a3516fbdbd751af2d46ac1f501102301fe6ff3e69ec72333adec842be3141bc21770215ab0d769d61fde16e18102144ce53f89131572b903cf0b5cae3522e390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cf716a519209c41515027d880acf7de0e52e857644e635120290890323e945c14c833529c0eb44aa8cc8e8fc133c4d8902300792c6aa5ac897c42225c7f3a7cd4830ee2c2da9c94621f0519ab55c710dca6b8300e9a75dce57b53bb337515549f6150302047c435bb5006730650231008dade24cc96051720b3c189902532ab2ed5f6b0eb9945ff8677a92923aef4c05620f3f26a0caa4c8e3034256d6a1c00402304828217da17bc84d0dad0d0354863a7de98872193eaf149bb32c64b6779536f7f10e970a3ac996f49a37f368d27aa1980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023018c09033a2c18a8f709351546784e087e5ca4e682b94fa25e98ae26cb6cbfcb4c44ec615c20eacdb12d53b0aaf5531c602304ea61f12b01c0375b4922bc82ddf8ec55925500d8dff0629d63add5c0ccba2b0118d85406b8d37d2333b3e1d3abca7f80302047c435bb5006830660231008694346b2449b5d7ab1bd060aa3b9d2720ccf1d136ebf041dc22fc37b95d6aff1022cc054ffa88362081d4e3313e94ee023100c08987617091c91f5a974a8e031e03c621259fe5408a5659cf86ea953a6560c47c8c186dca7221f8d23598489ff1faea0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023059f7389f3732c88f80f3fd97ca855f32edd342075c5805a78c35055d12c3e11165574068af01e3bf5f6d802081d1f74902305e9beaa5e153c1c1a0de7a38cba901abc6dd07a4130144f1e7e5f7ac3a513e550974ef4a580873050247e9605cb17ea70302047c435bb500673065023015bbe5bd3dedd784d824d5d44ca68755b66fa422ef8f2bedb8a90a7997997546fa499642c21f469031dcda2e773136e4023100a8ac0d6cf64d49f8b93c4b56c33205a1aecb8ebe83f7c6913f4751c8efb8e458b7e4e847c85a0441938b10a598ec4dc20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100907d16e95d877e138f31d2da505960cf3853732cdf6ed0712076c0d50279453857fa95fda38c8136ca4a1eccc19aeefd023100d478444cb45b3fad320be9031ca13ae545ab51818c861a3ae041bff0350a45d8e3d8c59c626fcc710ed1bfb89103e7970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009a93a6e09a9a2818c3ee9c9d8d3d5b8470616a7e238093a1faad2f273729d77ecc40b89ea86a8a1114b40af6c187bf44023100cc413b4f36ee494690ee443f0eb7a4dd1bfeccb159f3d451a46c38e09cffb011422f850222421bffbbb65d3020978a450302047c435bb500663064023068f748cc1816e7b01063cd0d6d5e3fcafdad0df4367cd1806dea006a8010dc8697438f68677374b48c0ba4a33c589c0c023015060b7313d66aa793c9294a5867f3a4cd23885e01775722b41a20f476f447b34a8438dc82f5b818346c4460139f28c90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a640bca8df0aaa07842d4feead0569132eb26d62b85a1a425a45ed3e5a00e0bfaeb9a87211cb5cc9eb26d0c38ae9d17d0230210cc5246e8d1f2bb7f25a9178d579b464e29398932f0c69f6ed2e1c9d607cd07dc85237ce4c8b1f2245a48e45e1296a0302047c435bb50067306502306c340811a17231019e7d0b7750ffbf508db1db633afc923c2e07aa7bdbd7e15e783b3a62f3a6017cf62831bf5cea1b4c023100a8e47b6a44f5c9c6b6cbea7b2340b236ab4966f2a432dd58efba0a41f4a0487d1bc2b1f0adda7ff5ea2cd8bde2321f690302047c435bb50066306402306df4a70f17dfae8f82ded3117cb30afe0b764de6d1c50379e7d16a99c9ee346445334ba8035ad821ee4618da597d5ee30230031727e807e02565e38232e48e9c2140a120b71f977ced49380b87a8eab5c823b4fce05317f26ba3308ea09d8ea5ead50302047c435bb500673065023100db8cc554b1ae2ffc8da6cd2632dd647ca99c69faa4303d65a9b08201ca45a4c608da8298b5260c86733884cdc4684516023004466aaab89a3801be4cf301d56b590b4a02681c2ce05e516a3d1b3d6bf31e67c2ca7ef3bf72300f393defa6746e4d760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d141070e8ea097d58e16b0d4b1f2d8a03bf6f16329ee849c17fe6b0564d1150854fb10b71abe8b742b41bb65326b156802310083f69a8f4f4871b17604dcbc8acce5c55f4193e8b5831e6078bf2940017e406a712602b2de854d9ed1b9a5a3a3a8ae540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100934db877a45634539560da238219e46c4b811a846a08c045472464838e21e44811918c7fab105664576b76760d01acc202301ea8bf338fbe78b156c20acb46fd8f5f4b63f4a274d29d31f14f574f01c2a52e1267c5b73023ed4c6fb2987f4188cc770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c965060dd9feeea78699dbce8c48d4cf63df226bddb2d806fe51c1b5c89974784469f520efdde65868f6ba4ec3755bdb023100f5179a942b6e1af5254905c91ea18a9358d34a85f01ab55b167f500a9b0a895a4b44a8c95853625b62ea58b2433002660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230149a6f7da971e749f70ce070e876c0be9d82cac734bb1ae0fc9e4220722a4fcf7e29ac8073103c1fe9f622aa85885e79023040828b8c67dd5a103a39ad41322527544e6e8d8718a49f2d350f597d4a0f420ac0720e910b37b92aea0a08153efa19ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305282566dba86b8c66826a6d233d1154403d8fb76ecbc234d3210d1523f03dbf3c191337b65bf17b8f236a543b39f6550023100d6a383bad7f7ae9675cbae2dce9578f6133947c2ba346337e64d0fbd0413f86312a3a0ce459afac4d4cf30cfc64d9b0a0302047c435bb500663064023009425de3bef9fea662ab8aa6e88bf64f0d164fd8075c438de651dff6f9054b83f68b628ec3cb02e4056c6813b8c9a3c80230213c84f1b806ac480c3405ec98c1768dd4d18f8301e38aff74b7154389369e66afdc7b617f8cafcf7938ae9150c9f60e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023018bee88744a16fe2bfee28e30b0c88a692107d66fbc88c84e83490dc474acf74615672ea6abae17ea7dee3f7eaf214d4023100d3feae99954421a5e5e6fea17f7e083cfb9caf9819ee25ef60a176eec5e736dc588d0598aaf80dcc0d84d86296a27bea0302047c435bb500673065023058de0f9c0cc18db35c561669227e9a0fca49e367f8288969e4ab3a1b79b4f8fa883f93a60c1496362ff61b47d1436fe2023100f5c8a1f8fed41030d3fe647183cb667a4dbba5d9bb40bf6b77ac9432f0aa3067cc2a5841f4c7708901408048509a8be10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306307dff8158589fe025ba56d969208ac4755abac4e57f7d9d298e60e802f699e086e95bbd950b795f3c8c97691429e72023036fd79a4380ca58693f8dd21456ddd41e3369dee6e44bd664eb0d3dc3f12ba781f9357f524eae2549b836a1b97ccf95f0302047c435bb50066306402301f5d280534c09518c25467127978edc35b75863a11cfa91fe3f2ca407d0af8e8cc83542041c6545412f04bf4b41f2ae30230694dce9bafc99a2ba4c3f62f7b23c8f7df71200d2e6122b838f83fbaa890800895141251ddd0c4bde1a6f4b2ec5e8fd20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fa0f5cdf31068f7083561e7bc9056ae5cb5371031c2a8a8307952622f6114a293bf22b8931f83ab6aa577963e339c0c402306343e491219f5de7c700271be4f4829371d79dc1ced89af1d0ebc8830f2f271383ace33a128d3ba1d09e8e4e3e934be30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c195abd5ced185c9b50200e95c289b0d245dba1f7ecf47e5909b01ca7bbf7393702fdbbbed3233d336deb01b50ba5a20023100c7f0826c0eeedc6b422dbc2ee8e8489eafeab133ec7642c7c0502cf77abf213fd7a06f45ad5639bf822158436dd20d580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e5c5acd8d653cde6b29750ee016f4501e98d3ffaf573bbd041c1e5a1182cb07e3af8fd365c23d2cc13e265dda708534e023100d9acfe9779667c75d2a42d828c127fa56e0e5b544dab99eee19b3ba129c50379a124785b63daed3bac303569286478230302047c435bb50067306502300467b94b0745c12e77aee089d382a222da1d6d5d9d6d35ecebc234f6ebe1a89009484d8187fe195f1e5711f9dcb04a8d023100e6807a53352b1ecf043f175951852d34151d094808f0fa62dc5937052297b996962c01945a50d775268cd275affc10cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023010da1ea5a609e1c37a0f2f907ff4c17da076bbd16e72b76bebcaf133899c7d9a7ab6f961753a054ab5c89a421885d9fa0231009fd865dc6871f0cd965cf1aed3c7a3e8a7befbbab3e43680dfa140ef67aae43f67fab47f947885278ab27bee28107c290302047c435bb500683066023100da702027a4479eb9f41bbaae8b649c5c9e5df9f489f2c12dbbf2435bcc47ee3b90b35891ee459ee303d88cf354451c0e023100d984ffd555db69200aa85f2d1cf5e2d87eef90cd8c713d5dbc69895859ef28d280bf170a245be99264703b920afacde30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e9a4906a3d75863bb844b2be74acda8b906837a14a06b6593c17ad1a649d5f49cbc6a847b24d758db91951a8f6a180650230260e188857e38aecc5c3f5f29c837b3b39885152f00261429e14d305fb0380b28a454ed7ac260c5e171d78dde06a3da20302047c435bb50067306502304b6a7239ef2a83b625d74d5222d66258bc9bdce03bb6e84dc2fee0dbb47c6b7bb73afba09640e184686b19f04af0e8cc023100f74abde420f2ef29ab6cfd17e2cb75221e236c47a6e9336cce1d5897dbfa119895ba81f368e4d726dc96abd1b234b8f10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b639e0e08cb1d45948285d4af4a36687fbf024356ec31b83ad21989706ca7031e7bf4cd098d4a31876220b99163a797023100a130529b28a09fad6d080606691c5775a1951d057b3c253da5c328f27f41877a81fdc52731bfb16bffb056d03a212c240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306717401d1aca91aac2d7a2441950c0f3a5558cf2d886fcda581d658457cb872c74752ab162939b922295f40daafd465302306225f1505cf69cbbf441228c89c6f51217769a245cd9a0c66130cee244b9c92e4553dc916779b5c5fb91eb966a7709db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a93144c6b1d8e2cc2e4b3b7f78d8e17170c037bad12052ffc9eaeac3710a43202128aac9122365efdc0693fafc7a00d5023100860917b0de47fce6a12d0176c1c2ad97e5356961ae26104f397206eb3f710c99483a7c9f5fad950958f9e031a483e4530302047c435bb50067306502302be4b4dc93519896c861bd6e48170caebfadf611127dd5f191582fe08d6c98c294da594d7b19dd360146a467ffff13e8023100fd22126dded272453756f4ebd06a5dcce44089a41f12ee818747588cf2dfd7c61375ddde7e8d394f76bd081b7ff988380302047c435bb500673065023100ee6d5f01128fa345278698fdc54228a8d12dfc532a17e3256e3db53b3518f4a73162e2b54c35a1d4c4e5605f33126ce3023068c8540a8ba2da593ebad0c74ae50b43c49e7dae280b568a885768b18ba0e31da61a2bff36dc9c75b3897ce8bff88e250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e9b5bb9fbcc7dc99c76439fea8efa02d7989a65ce638c2ffe557c14d396f50c35bd13b451e0d1d66fab0b344112d0c64023100e4070028e5fc2efa173ea750ee2e764129d3988112f8e7fda46d29ba856306b9bbe3e046339b5693fd5b50ef88c560b10302047c435bb50066306402303eb175f082122b4c39b988b4c82210fcc19dac4abb33aa2207d1fcc6fdaebdfc812298deedba0c5907609587a84264e7023053d369379ab0ce3f3ea4c76735456197fbeac07d6c5dd2c7a8a299e1048bf2d4a8a785149b3cb32841b5c11fb4f7b97f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303dc73a69d106c7941fb3ef33751c4baca3d3f4760d92eb838a8424aade4044e089c22033e215ff80563ca053a7eda273023100f84a1db08bd5738f20fcd17305d542a9b75d34388d4ca1b103bc1c5295dd566914acaf47cff55668ffcb2ba24b5a05170302047c435bb50067306502305f8937dd88477406e0e91214dc88962e7d0af9a4fee2f46897a0791d11fafbd6deff560a90d3cbbef0c7e92d6e4bd7b802310092bc6e08564e85e396cd1b04773accae13c13f5d562e4ab5366648e8c70c047ec007b09eebb50a1b695a54b3be20b7950302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230401715ba8e065cbcff44b214ee15ae25e9c5827eb63bf6cdb50a77fd43ccac0856ad80297522e3dc7a85071a0ec48b4c023001380adecbecac789e5b8438b39b23bbf40af14e8e7aac7040e3550929c4e6eda5751737212104661c442619b8982a9d0302047c435bb500663064023026b769234f1965a378f912cf7452371f3e62ec885f1a4ad32997e88172995cec7b3d7d0630f709e533531faee68da6cb023032ee87972194d644a575b356ebbcd02731a802250f3875da32f05400c22e585d2f6c0cfc37b086cdd23531ee3d299feb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230639282c78cd10f9da1689aa1a6f2efb293c48d178178a0ae7b9f22aca77d9593381af52588e18f35a2c7acf296346bc5023100b972f8c26a316ed807d20549a06ccb525a8e832845f04ccc1dc7fed656c645c1705688520eeafc09caf4ada1f59836ee0302047c435bb50067306502304b6e413c4a93031665a6fb68992cf2861b12ae267e2ae0a396300d90d9b86177201abe77377eabd64fba4762d8131293023100fdd1d642d4036418a74043106804613f27c283204a989f86beb69cce41791513ee150ec1872d9b47bba35a13b6f75dd60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304f9b8ca456b6123c9510867167d7bad3636b6e9283ea74f7805d0c87875069f3685b7245a02da5f0dae25607b85f2015023027c96ee64c5f7fddd527c2ad2ad383da2538ba9af73326b996e6973e7d57188d9453213f6854a79572d1b0f399225c6f0302047c435bb5006630640230556ba0ac859f5e6d0455646edcafce5395b854e39baef3cd0db9bdcc923934a68eb84fbb388ff5b7ddd84add91bb0744023054d20442471fc404f7589458251bb5c89c704481b8bbc298f652ede40ffda074c371888b43aa753d8f62c0ff850ce2030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023012762875addb4e1a77521d8285d88a0642d3f5463c836743eb6822ad4b4c90c01c6afbf47d5c8a8e0f8dbf1ce581e07a0230611122dc657e8fe87b36e6be74423eefe72daa8f2c3676a37aab0ed3488bbbc1105441a82ccdc17bf1a8e5e1eb7810650302047c435bb500663064023053f4bcb97723e9bc93dc38f318da4c3d05229e4a440e24c8309b1151710d6a8c6e2b1a27438baa2d04f926129ca951dd0230596baf89178f58c4f5793c7d7f0bb1e33022bcf9c91935417ec70fc7ef5a4d708f328ab792de861356d31dd3c5bc4bdd0302047c435bb500673065023100954d9b135880acae5ee60ffadd5c19147a2bc356684e392d81d38d95efee762cad5271dc1564dda4ef4ac3f3884ca2660230615d402de8b3376de5f505a6031ee0ea2faac884ae3e6bf3e546262cd70cbdad84c8b6fd1381777d2027a9da8ec01dcd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304603c9150a742321a3c06527283fdf866344b0e78a199ba192707cb62fd5378aae56f272a21d931dbe7f92db26bb8f00023100e0c3b80e955a29e2808b74454df21a05ebf3ce3b6abce4ddfdd4ffe4a08bc9e18e81787f2b82185d56035e14735f0ad50302047c435bb50066306402304dddc70c797cb0c7dd434dc3222b0ef14fc165f2f86a1e88899386ef26a41a9128e1b1dc6d8f73532d811d05b1dff0910230024485e75508876a0f24c3679c2949d6bfbe0a8741e482d439014a4fc335518ff6eef57890a487a721193a6d4ff67bd70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f10d31a08160c41259bdec99fcb555c773080a6c51fa7c80be94eadbb576963c072c405ef2111ace90edfb93bfa292f9023100880280b70048af5b5720841544efd92da4541074eadbdfd5b76befe69305123d576c194c664290ff830c39cbfc95579d0302047c435bb500663064023017fe18e31c7d0fcd0fe23f262aaa74f156cbc2725292948f0fc8fd2ec854d240ec3c6cfca1be572734155a9b2c369af5023005fba352920d914a193db60b5dd274b7a38bdec0be154fdd6a00fb95f15943e36d5c3f073ddae8bebb8eebe52931ad450302047c435bb500673065023062d5223753f3f0d36aeed3301e42d6436e8ccf35eff02640892cadcd052e31701a90881e86999b12e295f41cbd06eb07023100f769504b457e2bd84e7100d6520ce3354ba823b446a0efe42cd868624cab29131b2ecdf47ce2460c47b0611637708afa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b51ad7ece60ab3c1dbd9da86f24a4e3613f52c790cb534822a3e899f2002f80bd08714176905f57ee226d709bf16d4b023100d8ad7b0cd019387c4c42a88f4875b923a1f0e36d875a52d380ac29e0f06a2933e86a0207d9f470b842d65dc864ce68660302047c435bb50067306502303ba0822f6db2f39b8e714b3b7e38d03189e17afe05c851628e5c9c5733f12d02ad49dd8b665320b71fff0a268ab79dc7023100b90517cbda05a75158c485ec65c1465bfdd02d8766fc86726f81d9b1434fd81e7b2e9a819568bf5a0702cfad350ba8610302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100eab5c656d106be73f87d049029c985c4db89b4f0d18f0dd5b6d350c60ed6c7ccae8707903c54bb6d3400899b4917ff03023100de0f3c191970caf235bb8a1898f2f3a4faec2b3a94afc116ef0b357514c23d91957f4e766f81f33be868ab672158ab990302047c435bb500673065023100ee6d5f01128fa345278698fdc54228a8d12dfc532a17e3256e3db53b3518f4a73162e2b54c35a1d4c4e5605f33126ce3023068c8540a8ba2da593ebad0c74ae50b43c49e7dae280b568a885768b18ba0e31da61a2bff36dc9c75b3897ce8bff88e250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302598461465753e3d3f90a24d1bfc1df04ac1d3cf14ed68d0f7c4d3bf1bb574e826d3dfa710ba22e77ed70bdf17c880c902300810f04fcd5608d147c5ce5fdfc7e0c7617c82fe9708970c749d5cb28e219cf391c607111dc7bfc3a9901662e2862ecd0302047c435bb500683066023100aa52c2772cd30670e4e7197f70a8f613e65f0a72f6e9d7d708c33c0f9bd7072b9a18198040480a7ef91b64aa6ba744d60231008a7b59f318dd08c2553f01ea7fe9f5e68d317db33fccf5e75e626f1c551151fc577dcd7032eeda0e008d8cfa04889d980302047c435bb500663064023014cd81a8ef59155352f97b1dbbc86afdefe8b1b2d5afbe243fe36f643940378e0b8c579020098f3404c63fe176f71a93023063e0a2f247b24085a0a1136e03092ef96d177ea4ad3c2012e7c498f4a6344bbe49105ca442d498ab4b67f1f4f21d6c130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100adb01e9af20be4ffde6c460ed75d89dc3075f30ebfb52b748ec9922ec50858ea7c52220d7859e59ff366412dbc6be710023100a3534e9b11bf07fc661e02c336fe3d85f141a85c6b53e110339a60df343e819bfccd5ea41730d9fc03f254f58015a6520302047c435bb500673065023100b20d3d397499973e95fd20ec9e754fc326c0d2c34c976f2115d21c2c8105e8ea49a24ca42313c1f2e810ed6d2132185e023009e48763fe201ba8b5f4af38971c1dd6d382ae84ba8703f4599929bcaeffde041a3c9fa4005dbf7ee77af0d679a249f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c7505e98e4cac78c9e51f132123a6555e566f9054c855939d5573af504da30e66fadbd7a1a622916c9e0858fc6da21c5023038e8a1ff6f9079e675748033e4c1d43763f3bff3a7e27eeb3b07b6e4dfb910c6ae70c8c6885c4ddc1929ba22c935b14a0302047c435bb50068306602310087605972fd559786d3fb046195260f92eec11ae1bbd71d866fa3858bbb55d7df2adf75761fa4b09e5435662cef2e3c29023100c2dbd9550dd2ebcc0255404200d5249188086e1041b3470d7a7c719cc4195e4d767ac0670d19e1a1f4acb3bc2fb54d940302047c435bb5006730650231009aaf6307385d29e8c63900df9ad64ff97153bd2ebe2875d906dae5ecfdcfee06a723aef7ea57ee7f7e6c81d9633e1bd502306b043c877153d62a837d71afec50370c09552cf974e42f526e6e5fbd53fbcce4dbcf4642f69e952ee4cbab34e5bf5bf30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300c5307787f21faf72180abe13ba5292c34989698bb5838ee35bd0579e2bc42ff88979a25c653eb688801d83ff2dddefc023100abe7bb8aeb8e3997160367a50d92a290660f6e8364ba5ce2c8879cc9b5707551130ea20f31a3b3f89d636ec03bdf90200302047c435bb50066306402304b06635b3f9ae5e5d23dea760a4f0faa83417625dbc61cffc5e3fe4dcc19843f44639554ea9f3b784ccea0fb84d0ead502300afad2453fc3ff615431b6961c52306e57af476a834fee3d681f9d6a9026465d0d00ad193ae8258e3f001daab8af6d7e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fb52b51e60ba406a23eed74f7275d6060f756322f23fca0f1243a2f155d63dfea4ca69d3e1ea5deb88be677a93ecb4da02304b681b9a120667d2c87ee39df761040077aa01f1eaf63e054d4990184aa48f371a10af7e06ac16a9a8aae6ba5aa5997f0302047c435bb500673065023007f4208701ead568dff54db8a255ed00aecc675a33edd428042b645efc10609548a73336b02079c41b989a5fd752ec9e023100e5adb55d0d87061bade981e909f9d86a0db3d0c9f13e5011cbb6ddd8049ef8412e9e3af09bd0ceb29d241058055c63000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008873cfadf3397c09f4a33e2ab087b27f7d3ff930f82db65a5505190f854ad921502215436dbef13ed64d82e05e4c82c802310084c6eafbfbb42210af4afa49b1d87743d8a7564e473c7e7bb541393d024278f0e789ed3fcbe26d84ed589bae7eb7bceb0302047c435bb500683066023100e129339cd78519e88fcb062a1ebd81f9178bfef769ea9d5495f3855cea2cb5ff9f6fb264888738f29e7a87b62fcdcf64023100bdc68f857b15405a6e4b721d218bbcc03e19bda0aa04fb43b5a6815bab1393f2b334ca2a3173f0bb992ce35eef7dee280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303741246136ed41cd25d2eb72ee82a4c06422eb0891aadea0cf1de56e97f063d10d9600a95f144bf2c2931c3ec8deb459023100bdc8c0e92c05adb4db39293ed6f323bde339300cdaf73889de64892e7d04f34549b9ac7c306923b855b117c0bac1d7f90302047c435bb50067306502302400a1d117d0023774b37b859f4de3a19e6737b9a4324e7337b8b00d3071006eb8cbee9fa9baf8f89dad477c1788ec5d023100ea9698b8f2045fc2b28729c68743be4794bdc4ebfe4e0d3fc8d7dcac2dfe269638f0d2e0f2063bc957c831ce7c1a4b490302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023066fcab66443bd27269aa13c521c2d7511d5d323c799f9984b60098e0b23aa78dd22da2b206ab85b3bd930b0f53d75710023023b7f8857936d6b5febba6f5f4968e0b90aadb37b5231ee8f2fc8dc976acf3c86533ea72fce212e232448c0fa7daea7c0302047c435bb500653063022f6b2a1eba9fcef29582ebf5d9d7bfcc5bd980efd12f0a0c7a7422ffe26debc0ce7e7bd208f437e56307d26c45fc68a602306c6634e70cc464305daea4191cc71c8c9f6d9c6d95667369d08f5f3074eded426dda5c43aa8d4c68c4810cde434b1a920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301269d00166d310d09827ee0d5c1fd50e25f57acc78aa64d89e2cb66ed07688f69824dddf68ed0657b0e3adafa3653da202310086bc4044607ef94ea12a41f509eb53492774ee3d6574eed79ab837521c516b4296a55f202e7f09b148b0f7cb2849fff80302047c435bb5006730650230699803118fcb43296d68c4369eae8a90fc083902e29de367e4138d30d58a80e92cd2bf3f3d3bdb1c38f5e33aa5e58cdb023100a397947feda482216d62eeef9f37ba8741268839160f51dc14c7d9729ef3180558bd212fa2fc7ef9cd0e1f87812c81230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100befb132e9d51cbaacbdc06e0b327ccc0eb36e0c92a3d50a213b6744dfcc98fe957e0c1388626d429205452a18a869531023100c157940b7b8d4e147ea939109d3be7db56643ba82eb928bbb04b540cc2af34ace676a4c37989f09d5b74ca5979dacbb40302047c435bb50066306402305ab07bcfb1a5add643a5ba76f19bfcdd80f42cd9cbbe35f52ac13ba32b5c7a31146cf8284a9f52134959f6a654c565a602304ce1bfb5ec0597d95e3bac1172c1133c6fc657f61631628bf370a5b81fd320d2e9f0ce468977acef3a6a3c6dea8dadb80302047c435bb5006830660231009d267f89b39c26a64a474d4b4c7fbc6b19b68566c9e2bd1238adecd3b64fe316e9c01ab9ba04e140288a9aa289a2139b02310089e9edc05395db39a64f075c698c258be69d6cbf22880409b1c4ee0b12e3e9b03730f8576e1b5c6e0a565ada700924cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bb9ee95d9c180a6c880f10089aae1065c5ab74722129603436b8aded726bc7a50203ec88033662eed07eb5b4b6545d3a023100c179d789f8b209bf09da41710c406eb291f44e50899a03352d4f041036901bd32faeebd2874bc9be99a82e38633515510302047c435bb50067306502303b5f14725affbcc519a7a1fd36085874b5462808ada81d1bdb8dee63bd4f234b47d28307a492c43a5d2621dddd27294a023100dd5fd42ccb9bc0815482e77bf00ea01853b3494583bc0781da98dcce603ec12d555d62c6b17ec13baf30428894d316690302047c435bb5006630640230149407f4d0ecbb34204b36d3587f8995e92c2171d0aa3cc7451b0794c8592cb98f48e8fed2fdea23c67e6b0c8acff54702302ad435b497a4dad7b1eb458383d043e310ba31bf46883978f00e3d74deb503c87f59b6bee789e6b2207db9ba30a6d5c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304c4aa1b483e42cf595757357dfad5805e4e5fe40c2eedd95d123742c23f1a4a820b241e9628e419232ec4dc493c4575402307249fb632cb1e4ea8d45a2b7738f506ec5cebc67ffb6d9493be25d5a1bbe00b421d3c978b71fda4367ca409f2a43c9770302047c435bb500683066023100cc67eafe17265ef5ba01a39f2f5decf2e1d323a300fd578e6630f53a7426bef36b0e492abbe7148a11ab65c2c306fe62023100d1ea1169e5fc04917b289fb62c9c8169fba252903487ffed3023883d7529d8e22212e9f4f53f28fed5f4b6466fd2ea1d0302047c435bb500673065023062d5223753f3f0d36aeed3301e42d6436e8ccf35eff02640892cadcd052e31701a90881e86999b12e295f41cbd06eb07023100f769504b457e2bd84e7100d6520ce3354ba823b446a0efe42cd868624cab29131b2ecdf47ce2460c47b0611637708afa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008fbfd8acce79fe2b2484d52ed22e7325c5799456999704f21ba54b53e2aa2e346f3ba4419c80bb1e93d1f57154ae5f3f023040e0821b45da16c0b90161e9c8be993de320bf265292d9d2517c5120972fb002e8111aae9556ef258680b14c3957649d0302047c435bb5006730650231008c9f7c49146f3be38c4683c6c1fda45cfa5099e6f93e0c47b0c5220ab256bf42efc458c36284906101682a25a24b534b023070b29e18c76cd15f82eeb6ec0ad57a4a61bd2a82f9d9de5dfa9bc9246d4e166147f28d8f85cae28037d3ad77d3db60b70302047c435bb50066306402302cfa75b42814567fa5486f505079b9959cdf25ee8b450f8e975a7f1cbf12b727985ec3050d69efdb210ce7c4fba62d870230760e52204d9645b79299b705d97bcaf790d101cb0ec3def62488cc0108199f464b5c6e394940e410367f62b46b668c400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230642c65883acc0c61eb142b02ef9afd4f195ec421039e5a33a31ab9267123935b11b1ede9e6df2cdd3d32355af8bf902702303d7f19f0a3d9b0c8c9642f16f5e355a9139ce6f7adf852477d8cd4cb125c56fb367a0b6ba067c92a91266003568f48500302047c435bb50067306502303309b026b84b8285b83090bfa8ab6437b0864783fe9765d760ca82d365a37b72fcab67443b12d145286bfc183411dc82023100805d927684cc597d4fd2dbfa31b5a358d540ec431bf075c02af28fbd08810907a9d630afce9e1a635d3daef23925a0210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c736d2618524ff708a51521ab8c530ecfb78165c6284c8a79b5736ff517e741354dc0008536982c333232dc909d2066f023060f0b722aa8579e667b4262263e2a926af62c4f7b93756f7013a5ea98f0c7604989383964ee501a89c667033a3920aad0302047c435bb500663064023007a33ed8a6fbef3867dfed71932be668e76be8c5c53fecaf7e6291400df7b3c10f45161d769850dc3b297eeba33a9a2d02305c55bf5114a7b37ed7f81d5a7d257054a7ef58d575e257b3157fe1e3ececd061dd83857524959ae58ab2a7875931d0cd0302047c435bb50067306502301939a330e6f2600871293dd872296a0b577966d19100387788c903994a3ddc26afefd071f5972b88036f98c8ba02fdb0023100fac222d1aef54a0b4d2252b4a3273d4699798d31c01390c020920f16e459d06113cc896b8a22c9a6a532427b23dc5a9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023072d2346f9593ae739a03c1e6c0b1015f5894799c4743c6cc1c30788e2d1675981b821807832504f099f7c985418061dd023031152f49156eb8d890e5df4bce8049f95e3fe286496524531ff9d6f7ce3616b51b9f0b032f99d83a04412de970999d0f0302047c435bb500673065023100ee6d5f01128fa345278698fdc54228a8d12dfc532a17e3256e3db53b3518f4a73162e2b54c35a1d4c4e5605f33126ce3023068c8540a8ba2da593ebad0c74ae50b43c49e7dae280b568a885768b18ba0e31da61a2bff36dc9c75b3897ce8bff88e250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a4abafa0da6d2af90022a7b8234d7adddf050de69bc113500af4762327013dcf12bdd142af2e6800af1817c2d175c248023100d2c20532232e73812002b0df4b6207c4da8adfbeeb73954e2300734dc96bc56df1d3d9eae8d71d6a2297a6a42c8d87c60302047c435bb500663064023063d8687d5b4d70c5d10a2eb6b6bf35992dee427daaea020ebf100baabf1a19f2eda35432f010d7947aead74ba9a773da0230058e8e046cd715161a7fe550fe2ccaa2ea84b34e641bc9bad80dcd29e4baf2b10a43a749fee13174af0f39e72db7d92a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301e04128d0864995140bafd5f4cc8706fd572452c8175e3ce928f06bad1842bfc099f69f345b4f3469c238111feace828023044e9de51b832d4cb581a6951c4246c9c81a1c4d212cedf97117ca619f55781b77eef3fc2e3b204b7297e3a4325e8de550302047c435bb500673065023100d3a004ffc633477d461a99b599692204c157a2deaf6d058c9b19ca8f95ee7fe89e4dfb9adb0a3e97722a38981ac502b402303ccfc3e979e4eb4236351c348cc2734eb23801c7947b2480aafcbbe069a3e46233043c99cf097f02c54e3d5c53f07a690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307da81e9502d7a6bd895385780eb1134fb2d49251baac522f5b9620a56c04c2f2b2c8c5897495259fc9a76b4c8791e7a50231008b22d54f2ae6267d72e44a9c37a886d4b3ddad38bc64e2ecded0ed1eea017ed9e06d3f62c026234f42038b2cbd04aa440302047c435bb500673065023003de1224385052bca143bde5acb21083c3d95f8ac75c0c7d42bf0f19ec7cc07a7d6b782d66447d1d2af0508c3ff52a47023100b4e09bdd382641538b8f1c1dc230be7d21792be55101b2b33ddbd9d13d644e525900584a48546d3b3e81603be807e09d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100806af9e1ef17384c371bec0fc0a2fa7c9cbf91dcb0099d44f58591ea503dfea2cee145da918eac48b3f867f3a5f12e0602303c47d3e8090b724f21abe5357090e83e342ef76a787311c8440fb6aebb0ed523c31227e868d7c8b4971a2ac6c8da0f340302047c435bb5006730650230034f6a24ceac15a63feff64824d87226ff562882cb112e44c62d25b3e6135c898c68a00873be4b869ad2021084e7236f023100bccf0cc2fe0f986b9a74cf7a2ce6d0dbb620ab1b3f56ff7fe073a8410551bccf19c1f715dea1a4d793e40851fba90ba40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230187f1502a5c91d90c6cf493c2dde03969f94f0ef4f3ede44257b49b7793ed4960210e497159855f9ec267d6754f91ec402302ba1d4d1f974d654caef90e2411918e8f9af56f627e6875345bd0ab1c858b0b3a8d3a9e9e2aacdefe8a429882f50b86d0302047c435bb500653063023036157775722574ffe1d6c367034bc6935a29091578e0a03235a8b9ceab1df58d32d4aa98dc97bb0550a565f6a8e10447022f5fe98e857484cd2144ef37956a44311e79cc28e49addd2d7d20ca053030ee515c1a9d05916e0b87ee3c5e10e4c51460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303be993d7f08157d496193ef76ef0767840ed277fc406a6d56c6bb1898e42a55c195d234a1635a50d6c90984618e7d278023100f877e1258a92bd45283523be6d28ee85a17cb0b28a58e31cabf548de4c21e8a8ff8fb18b0b0c9811e58cf20e52dce91e0302047c435bb500683066023100d8ad9658173182faaefef62f88e8c5121c368adc979ab1de8b11267aa3fbf54565c8ddcc41b9b6bf39036d66f90cd150023100f19ac0519f7f2bd2c2415b4516f2b9a1296246b4de7d844df2c929b2b6d1bf3861d979f3b43c0f875989918b2bce98b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302f19598731cf9efc13aef46bfe005a4e8ee3669c24306a5ccd3d855e65eacd741e89be9f232e899d02041f622ed65c94023062009a0fab55435ae7100de04a73f20172ad19009b7a40fc69603be7336376690a3c065d82d35d818830cef6a1bd62a50302047c435bb500673065023100fda0b335c3308aed0dd4f32ec60f4e98ea96bbccf53caca83fc6a36e97c473a7c50ef97e84a5f73e946e68798b77e9f802304761ae2aa9d27eb92a34266006742054b8ab608042d05fc942b14254957dc960cfad17f35936229ecb0111dc84da29790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304690d6734e7e4fd09381a9e720bb525486a58a73ea4e982a7c4d5dfa4bf7a9af41537cdd8ff3943f8bc3ab13c4b7d610023051f43bd51da57bebfd40cba2eb922cc84150a7e245518b3bee0bc57c7fbbb9537dcc62d2d43eabf65c4bc5ca9a0c00960302047c435bb50067306502304c1d07e656ee5b12df8e6bc14f7b25bee917d94d52d7a7f8654761ac46bf715b11eb4090f022e3903aab83b8035f79c0023100a0939cee514d52d6ebe31451b16171f6a5392fc4db9103988cf4b35c0c8a4920e73d94756f59a35251aeb3d01854886b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b225ec6620f0ecb4bb73e278b36ba1f30a254e8bb5b59f43582c0b3037ebd2a3d328d59110354a8c2e71ca1c5dc146f5023100c10b02eb6e917be4a3293aab5f9b6ea5f921bf1cb3d070308ae89e4a0002302212c42b45db2fa0e5a8735a20561abece0302047c435bb500663064023073cbdd185bfb41b2e559d8b4d86a8ecaf3494c0f9b524b34dc9afbb17d5c790075759555c06af695a7694ee10d2299f30230510aacfd36b4503fe3dfd453104dc7ee4d0a69c32218eb1ef9ded283f8848bc403746354f122d100a52b1d531384ffb70302047c435bb5006730650231008ab38ec9a8cf5ba2d0f45e390148c9915ee068f994a8a5fe29ccdf243de7c77e10fac43cf23b46aeb0b4d472a555d157023015eca283fbf53d9d657525a3e443982b5ac2d2fa05464575c7a6e46ca237ac27685e75a726f62519ec4c77b59d6a70740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b091bde28dbd68e273cc164382009c5a6af4071183c6090c8c7a5950b2468e02b9ef987b70aabc7f5a4e02110764121902306907000335b464ba4b6a40555669f0d7c27cf884bc7b37e16feb97091896d7ff6e43ca38a8883196d70b3facd3c4aad10302047c435bb50066306402307677da54a32d2848a26f7fb9f141262296c6a51b0083f243b128dc8197484aa0895ccea3079043d1197616f1346c47740230619f0326a08cc8b951917167c7ce42f48583a1c80b9cbfad4ee995825a5e073ba33f70d5ef13bad63b33bf2210fe3c8c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023073edbfa4a5eeade1e9fddce34ab4c89a4353c7144cde9f20aa1a4f6ee713868a3e16fd0f1a12630e7ef3eff78ca6d4fe02310084597f8e9bab6f858975d55db9cad9e71d3b4b37e7e1466d7320a0d99ac21b15910fef4011f449432d95ed591de0273b0302047c435bb50066306402305bd2e70cd2e2660e79ba689a93bf326db683ac5300548a594e5040166172c45fceabe57392ec26c85c2c422078dd1e9a02300fc1fcb807d4491bd7c794f8f09b403068f7bf2e96c326a29670c7b0a98999c74617909587444cd997ef625c9566ef440302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a8116657b65a0379ee3e9ae3c6b234e34882b46b3f695f571ec38cbb048037df8fbe72bc2c01c8256063aaa70d01f5690230663802edbafb4e1aed05897df8246bdd81d4f8f3f1043e5a6781c7d94a06f291bcc9bd34092befcb32e33e25ea4bf1270302047c435bb500683066023100e0f4912dc50471ce29697ccf325ed0d659af70fa44876dbca52be20d6192c83af64920d2f2ecbcf9c9b69a9e99bdc9bf023100a44e435b7cb23edb0eb08467fc2f7da03ddf4c83219256bd622a2e2d265dc3de11626a8a43ee8b30e51dd5291d6dac2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b7efb4dce4abf068cc49bd750c9b228d5c1e834eabfa769d7ea8d6ee7b7c32fa9e68890226e6ee082c5fbd2310f14932023100ad3f6a077549ef3b83640988761b3b4f8f041e42f730b43130aef64649251f509dd28af6760c4412948331b1c6f5e8450302047c435bb500683066023100f5b3adc877410f89d4cd1b68f69423c614873403e039a0f77235570f0aa149517729aee2f075185445d5460171625cdd023100b5ca6f26b87174d57ddb6b92e7ca4556e65f46d20ec4d567ed86ff75e3f45f260d6257a0cac8a310c2429c57c62f3e610302047c435bb500673065023100d23b49a5cbaf824de7fd365d555ae1f47f67c28a27cdcefb5aea3e46b7a3b7cc53c585914dbb017ccd0471c02d285cf2023021714c1e2b6f6a8affb892f19b7a92e59abf1ad6506645b3ccc069a7f29e33960c7abfa116589847267eb1edcafc0ea40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ccd9f4e23366131925353f5704dda4a910840be82ba0435e5da5131c20d25366e84982f58adce9a6bd5ffb7ec4a5a444023100a506495578ff461c6c76b4ab9db83ef8f4d3d53abcebc44307476e96c4e4916df26299ea8b4b602f40a5c1fe45569c0d0302047c435bb50067306502304cde7110bedaef6ac61d9271f4a0f4474a612070f8708b4c88befbc20c31eb0b5220d4b9ffd00d58a534c505eda67b2c02310097a55f1193c53773ce89e4e1b42c37a7360e64f57cfa57021835c98f6954c86917d67674e8387b85ef93efee35db99420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009ab5f4039c1826a0a8975bacc2c7040db7f9be1def5b1559463f3277f74a1f72ee81c92a97d03d4a9d33c769f5b096d7023100dd184e1dd01ed0ecd04cbd3ea5d850c305777caee6a6db42670132ae98f7dce734d80bac899ccb83d557926401f153510302047c435bb500673065023100c451be2028ff68edafa7ae63596d685b623a74caf1adeba03b7495c34b46f1a6df04016bd389c9417c9258e4b3d99e4702303ffe105fe234ee75069ef752709bddb459ad87a0abb311e7c7902d22be16fce09d30bcda0ff18f86ca5dfd15f4df1f760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b4468126013e073737d14ea00f04109ee55df4e2af27833908bfcec42032560ceeaf40336e6014c22c9864c610a6081202301d68b2a5875aabdb2003f2b5dbb3848050d406fd637493fdf9ced7100a5ab371b63e4973e9808c6b8e3a6119d86a58f50302047c435bb500663064023019bc7b1791ef80e35f86cfe5402d7b80aac9eef60404e115920bb88b75fbf99fd157b11be51da70d5f8d3c147d5e295f0230584e494ba21e58f255a34746cb98670ba762bdf2472c8cd5e32dce6593d979dd2ab4c0f3147728e540e7dbb940beb4d10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301949efb304026311ad130cd0c63946296c23e6cb8a345d4e45e5edef998da554dd76da0d404771b2ac22a76fe881393102302e9363649af6016fb22f1bfb935648b4bdeea1071b9cee192e1ec628992e50a773e5ecc231984ec811fe3454936cfd5d0302047c435bb500683066023100b61a7e3d72a48d416001bb3718faed03a4deb92ab499f17d2098d8603140802fed23e6ee948d0cdc38a8aec0bcd97d500231008c4fcad62afa40741bc2bb6d55ee45d97f02ba4f7fbb84cc056997c63e2be4c1a44aac242dcc4e6e806cf4f078d655830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302d44679e6b567738e31a14f390dd284eab38c88e03509ea476f249321f8fdc10f5d9b4725f53e40a69b823b185dede83023100c07273d431b39f759fa6f62b4838acc8f0847af1412709b162569d4dde1e9ecd3b4d38103318af0575ca6df3020228d00302047c435bb500683066023100ca2d9fbee1cee2eb1f4c751143fa9b7a25e2739afa6eb06beab2f8d91c26133d5b8903773694fdbe908696a04375d14d0231009bdf1b9da86de6789b7819cf068ab3df9f9f8ce5a98a204673c1a4512229ecf84ba30e5882e3ec613d8844e3982f97190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230149f6d4de96184155bca5b223b418b95d1b59a240e2f601e8588f7b64b71c26f05963a6beef93d237550f59c43441cd9023100f097a7dbf6c7af6a2285313971cbcfd402f0db07a8fad6d4f344d4543df551be4cc76662ebc9e69b61f680198e5490250302047c435bb50066306402306acb0dcd46459f6df4d37200e2687b475f440fbe11f05780a4a772a792739e017b6c3a82b36c94473c85006c284dc3d802305b2d823c2272020b73d780061f6690da6cd546dd24830393ba5da954a10bf999e626561b349ab8715a74d36a6777620b0302047c435bb500683066023100e197beb904e81b7d5839a5036620e227c3ac3a87ce43c7681ecce4cdfb41bb8d0c2ae68046d52e5461f11e48c7441e70023100925838266e87e1d17aa60eaaf9088b079a5f802e3ee2c33bf38b05444b9c56e1fb975cd0e6f74e47c75dd11c51959df40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023034edef762df92b49b12f796b6b56f833b4033717ccd23965e9ee4a98291bd6e82cf000bb6076a38d9250a41c4b656c77023100f5686fbf92df249b7a27e13f12e96097210b1d8c885d677ca7c0bf0e8d5ac62f8199a707c724ec2022ea82bb00f43fcd0302047c435bb50067306502300b770c62bdba7a75a52b2d3da91cf0a7be71e396025535b7d7e9cb3e93fe8d5a76f66c9d59e343fc1dc7103b02c3f009023100f9bc057790b8d03a80e308b4082c90ba86021eba643f433782c6299c30e19e6ec0f3d1db787a036bea325dc8577ffa2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100928a4cd88829c9e0b9711862c32f745f408c718d082791fca6ec010c3edd1c252ebedc05b0d05f4825500b35fff082e9023100b69d0fa451338fe0872f998b081e55a73ab03f18f1875a003c7924d7c7369394ec7139feb172fceeba3b055aa72970160302047c435bb5006630640230377fdd9e9813d23bc80daf639a7038913081870b113534bab5377685a4365177dfd98b9bed5dfe0c3185f7fdba50dea602306631bb9e33cc19cd034dfe4ced5b66af97001a1fad0c6f71f63848e7cbadbd7688ef2adfa32a7775255ffad7e3b346e70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304a1339feff4878bf3db710efccece6c4e23c704ab84843e56c7b83d7807bb6452c04073ba32386c78435f39f46b1e38e023054be7eb770db61b64d31a1998ccae6f8df7d3a0866adafb9c9c265f30ea2db80edd80d7e71c63134298e677515aeee970302047c435bb50067306502305f3204f5e85eca3dbfedfccc571b82e3f7ef742c23d7c567d0e7c0da8369e70185067b96541e335b08a0295685796f9f023100caf6bd1ee0b915fa8ca000e290310d3e8acd7bf6191c9852c5c0d82dc485d35f728ef3b0bca0886d89760c43f9a84a870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305f08422e088342d9788e6e2fef546fd65a1790f50b97e4c945bffbb8e01ee74dbb72e97f54aa425e53c7ec3e9a645d8a02310095935855a1b9a17d444d90551a876fa59ea18d647088651f7548386ddbc8b21a65d164af1789b3dbbcb07f1657d2118f0302047c435bb5006630640230085ac4bc92d07734d5d4944d1bb0dce63b2b9d847f2882c24c3fabf1e68bed3e721f01eaaca0e9bd3f8ee1d910e4b12702305c60a9404a1c4d0bcf9b9cda6387bf44b3108ce3ccf2f9725ca84dffe8d690c5027fa09f4b682764c4d3b37e9d5db38f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023032d6aed9d25c39e479f09d1a3c5b989ce43b685976d97b51c9dc5282b775bac01c8a9d843becf671a0a509c57341657e023100995504d62d6865f1b1120dfab1a84912c03b30346f567fc4171f2afbfc40daecf7fe5b8d4add228fbe9960a7f69a585a0302047c435bb500673065023100d761401816e53b6a2901056e2e9cc39d16b2c1171b2be973a343041d9f89644000224a915686e620a11473f6aa88722402303a05e6eab612868edde7eb2e0e095123d838728f8cb3efa335bd0ff532ceb164e89efe471eb4010da7537e06920ab1030302047c435bb500683066023100e7509ec56992495a85822a2474fab201c127ce1460246c81d85fcc48a3483985e37c4d518ba41cb1a01db1d088e6efd6023100c0a57addf3ccdce7d17825957c344a038981a9b532846722b7bbcb06b66857c56b0c59c9ef39215a918d1607cdb7b7d40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230650568ff81985886391469e246ca1804e3dee32865c0c143db9e2d25915af0516e499c6f5aa89716945f135383d45b5e02302132fb93fba6538754dad355b67a0be73456062dc69e99094a26f407d48b25034e3032952ce66c04e75abcef788389c70302047c435bb5006730650230669043a52dc02fb7cc6778ac61e3c750300523a63c601065b22cf6c4f8233e809eb5b337c7f6596dde2f084ad888629c023100ee1217ec5f2bbb10a6ed3b4c886edf5ec220856a3b41ed1916d87f2af54b1ac76346d6f89e749b3c3f512cd0f9b43b770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100de97426fedbd66cfa007b3081661656f97cf204497b5a045e15933d3568787311f75398a6ff4de6629931516ca6dae8602303dd9aade9842c5c731f72559a08d840da0a3439b774a23a6f53be0fe30419ebf6fd806bd7104bb0ae8c34925f626235c0302047c435bb500673065023021efff2a38fe5fb15c485733e6e7fd76282c11dde9619e1360ed003b5a547461fc32ff1ce2b45402b7fecbaddbe82611023100b23dad134d0f60f5eccb612678abc1e667f9c062bb1c6f84d27ea15d946e7968a36bac7763495a3d7a502f01c977f6740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b25a4aac375ebc916d5dabd3bc35e88f1d04b89fc83dc4b8c40bc362d08ab68fcba776254c3f6cdc1e401f0338dac3be023100ca35d427b6cb34ae4e008bf3e315c74d43f8327275024da9a7ff448b0bf56497c14bd4dd962d711f65accd61bb8b20f90302047c435bb50066306402305a8d8081e3e7cab56402557ed5cd2c93f012485df3fc24d93cd46adad1ee161371b3e1a2ea75f6597e1505a2e41a3d1502301fce8043beac92c859c6c2af0dc75ae3d4542941594c915698b3023a2a6800f6107bc3b9a914819b0711809c5675cb380302047c435bb500673065023100a15818f8d0c6e5a468d01236463b3a0d776e6077c71364394e69ee1fa27fbdd6c9aa68fde1b68fa87ba25094cdc5966e0230332fbb289b045bfacfc8c5551af3eb903364276bfec269c4a4550d561211a30fa5d2ac14016dc5cde44eab0977a148340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301e57ee84ca20ac3a80c13cc6b1504745fac796544a4707e7fe089adb658ea2d8662707ef2088b8d5ba5b6481faaf1a60023100ff64dd2223bce8e0b3c1ee95b02ad054aec1e493688466c5efcc55eb68788207ef43e0437378f759af441ec3af061b110302047c435bb500673065023051005a7109180fd196c2eef11eb28cc450409245b9ec0a836876f025fbb2115410357674155a09dc78fc85861c9e22f2023100fdd559cfe56dedd74fe61d26d7f1ab593becdf765a815df2580f59d39a417b990469034f16f99cdd5b2442e5a066c01b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023057560d081a35875e2ca8788d424a328d515a8b87525f80f565d2258d5e0b3aa663e0605ac97ac0e5a89c4dc18f57babf023100a56a183f13860ec320fd2e1358f38b281a7924308859e124355c1bd63352cc24c950a82789d17f7b677754eaaf6fe9b10302047c435bb500673065023100baa949426e2b2b2e805663dbf364e6f6c2afefbd54ef54e8aaa6f4b75b5be5beb92447ad2f2148712fc38e2a4b28f5b80230639bc5039f7f95dd8c9c446a27077df7867d37b88c4f253bef49715d94a6babdb0ff24cb0097a9c989be186ca533ca790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307bea7cf78d29e6f8e6cad65680154598489ddf838c43a3464a4bc06c4ae48c2fe3a600e91e0588bfb7df5aa94dee760c023100bf74bc273799f2ab76ca36d005e412f2fae41b253136f8845ca95be1233960547255c1a2a122f6b4eb588a472f63596a0302047c435bb50066306402305535c976c760721725ca57a8356379f42bee72eed1a02368a2294ecc483c6b4507cc1967e1e758adf1f19eb5be2d6725023052740c0fa53aaef66980dece07b6dbab106400519734b33eb01b9cf68774ae3806d3e3268449195f3fd42e17130875110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006f8a2838073469df1bae1744ff11bd107544c028ffd9defd51cc828501ef553591b4453cd6854e4cdf5ed1eef0adfbb02302f6740e591322afb106fd79b11a803669a1f9fd5423d6154ca6ba8652a1a435b57a7d27eaaeb80b3553efd4a931954e50302047c435bb50067306502302c4fcf6da59423a630718ab8b0c012bc22a4490384038ec7147435c1871ff2c2793562cf12d3157385afba0c3e70d7a3023100b5db77995b4e94f8157052b151b27400c256b6f7d76e98f0fbc3e0d7b882fa5a3c9be10677f7f2a47bfcd20cba44a9450302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c47d46bde49585df0efee5cadc6ed29f7f948a949f1512d872b82267da3ecd3d0cd15fa8e59d33ba4c5fd95312f1b1e7023100e037d8d2e70343fb396419e5726b82361b4af7ce4a96269aeda45c39c8a842e559b5953a076e4d95e8dde8f237987b2d0302047c435bb500663064023072d2346f9593ae739a03c1e6c0b1015f5894799c4743c6cc1c30788e2d1675981b821807832504f099f7c985418061dd023031152f49156eb8d890e5df4bce8049f95e3fe286496524531ff9d6f7ce3616b51b9f0b032f99d83a04412de970999d0f0302047c435bb500673065023100ee6d5f01128fa345278698fdc54228a8d12dfc532a17e3256e3db53b3518f4a73162e2b54c35a1d4c4e5605f33126ce3023068c8540a8ba2da593ebad0c74ae50b43c49e7dae280b568a885768b18ba0e31da61a2bff36dc9c75b3897ce8bff88e250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100afbb40f101319fd206c6bd7c3152f393794853043bc864b421c2baf16c46661b289b926578d40217ce7d254fc318a2b8023073ca2bd53ca268b211ed0ed060d142b5e148ec4bf76fd329b32b65f53f14fbadda1ce9e625a5cebe83b32d60f8d038460302047c435bb50067306502306a0d21487229d2adf4b12e69cf0deaf023b197c2e8bf4558bfe15152420479fe7cd2a3b36cc71ab0125760456205215f023100c8cb62c13df4a2932f3d04ae3d49aa84a0455d4985f7fedb05332e5fb6768505cdd0dea99336a1b3562305d424c4253b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023067b94bba71a9d51aa11634f6af1ec6fd0e9220b13148680f85c0e829d4d91b99c27e9515f21707ec8ee930e531ddf34f02306d2db4fdde95e997fd6a1cc7be0f74ae012f877f7732a7931919d241c47920fcc867ee582f7cc6f2de18f7d9fccc73370302047c435bb500673065023100e93cad0543651f4e7cb8eb77cdd2bcc6523c74d9c8fffba781479a42b177a9be96a18e545ef658bf909710e16851585f02302d014a0193b1f99d4c48cde5dfc60351897346a9b22277153f12b9503da23c074b3ae95afab7ba2e96a3391d1ef31a2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230580f90fe9c8d4fc22d6955c215ad511cd76a58aa992e6795d00b151e5e66368b93c21f1a0185ec719d30568172606681023009d3b42645b659cb5fb7b5331de128ac473cafc2b2895100a4e1934682c71794f91dd28886a5972912575103addfd88e0302047c435bb500683066023100fef168ff6db0e6938a79de6a798cda91e296c6db34be83deba307eab2d0f96d6370fe98967ac21925465228c645ecb14023100a78e06158f6ee09c348c22d5463ea4771c61cc2ba00c2350c6f7c1bf102b249bfdc1c46833aa3c04a271558ed781ed910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cb40b1dfabae24bb3717df795251f48b09c1b2981c19042451f7d81a748517699c87b521c11ad293e65f0040d1c141ac023100ea2ddc8e5d583adba298f240caa939deb4cc9fc8c24439b18b924b96c7afdb3b7d96e0d1df2f73928c563087a94844a30302047c435bb500673065023036172fa4e48b93e0c66394b60116d0571244494c7f58fce1b9cd3e9cdf14d817cd3347fe47bb0ac82d6bf19a756b1c5f0231009c086b36196de9b290f6cd6a92a5ca34769cbbdf9447cff0c2b3d289baef0a7b173601fab1e06d55134cd6c8b3744f830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301a79b4d8075a91b373609197bb04550b529fdcaf900b232e4c44bb66fbbee04a41a48d30d695de7695bd92cbdf37aa6f023100f85190ac5545e723d8a0d4b87389894a3a05e93f453722648db5ba8264f842ff94bbb5186dff8c92dc28994508387ebd0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306247081a1de95a0a972501860e5d122cbbb6750ffda8142a62df35d633fb1a529142b5f380db578ab79f1d61301ccc4f023100a72335011644467149b407ac4f6b41bcef0f3932d5cf7d4f390317ae72d905c8c3feec837832c00fbc2577c6fc2990540302047c435bb500673065023100ec98e03e3e4ae789a38ce15d18e4daa30f2135e1fae8b382d0e99a3a5a03fd143dc6d700a8800275ab297992e4bcd15502305b9fa387f962e36b4ebc7aece97661ee4711d53207837f443ab5e538cbcfa01589e3f83cb1f09f00a2202b536e162a130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301d956fd1e4cde5dd272a12a7592283704ab5de2a738f1292cdad336a09ed09276e5f2ee01b037367267f9dfa37c4c228023100d46a796370620e54361f25ccb34cdfe740bfcbadadf1e4bed46593f7bcc228791efcfa8e9f3e02b1c36461b7a8f458d40302047c435bb500683066023100b7257f1c81920a826211a9735edcb859aa3f6a78af07ba1165703d004e4c1ae5396c8ba184f33b85d22ed6c66cbab60d0231009ca65b3c10c8fb27ef7833a80f186de06dbe9b10a000d38925e56829cac8808790ec02b070a69a0261ba215306b196440302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301573ad7e2e0b79a06c3187fce9c8cd79559dbe25aa867d736b4a42bff8bc4dfdcd909340d139baaca16f89b18664fbed023078f35c89b91cff1b2d5e85d1b57b40d9f1c8abd4d23a1bc846cd3ae4b40b5b0abf030076b384f2fc81919aab26423e6b0302047c435bb500683066023100890650d8fd236efd54aeb2210d173b1fb189b8ea4cc2d87a3a4e4a994346c61a3207c26a30f5d5282f402a63ad89a849023100a7936a5ee82c49730073375c36a1947a1c6936d09ba0060cafd64e73b0627cd890efb65319d21c82f18638afdd282cfa0302047c435bb500673065023100ee6d5f01128fa345278698fdc54228a8d12dfc532a17e3256e3db53b3518f4a73162e2b54c35a1d4c4e5605f33126ce3023068c8540a8ba2da593ebad0c74ae50b43c49e7dae280b568a885768b18ba0e31da61a2bff36dc9c75b3897ce8bff88e250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230375a0525590f908e4acf558278e3356d4825e823770036a5058d3b2755a8d9e8c87815c16d6f8fb5b1fd97bf686c99560230438734eefaa26bbb78e960ac8c601204aa7f8dc91c2d6f69dcd15b0c534e21ecfaf23cd415381c4d8ede4ca22606058e0302047c435bb5006630640230724b123dca5222571eea705d20f4470aff34342201e4e73b33f66c1984d2d7e44d2b0499d73ce4ea9d1bc8073629f1a302303bf061c37398a4c736160cc9bb287fa2e48ded712c9b032d04b85692eec0c00044f054e88db21ef7556a79375aa2074d0302047c435bb50067306502300df1f8fb08ebf5ed1c03d8ff3126085a0e0d10030ff3dad8972322e34ecd9915844ef8b7ba9f0a86dd14409ae8221325023100e55f2a4bb9ca30582c9f1a079a6110dcbd458c517b7b1b8996b9cbac85cbec27379f2f549fd342856b7d90e644c08b7a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023008a094c99b2d91e8b370e43d271ccd9a38935b3901bad429f615dec53249e3c6762c1b46afe51ef64cd1206dc00efbf0023078a8c7f71aee76fce70fd2cd7023d01f1b5bf8ae421e39db275ea32acf20dbd01df18bcd69e8c242707a2cb14b2770200302047c435bb500673065023100e142a2f4172ca4cee93baa8d94efbb2d0ae44fe0dd59bd604531ac96305aa76d5a7f794c627c6fe19d5dcd04a9d338a4023012bc4c6fb202e86a515faf997532483af53e274bd8e5f745384d0fb95f20cb8972c541131fafe9869a1dec220482b6c60302047c435bb500673065023075fd725c51c2a3eeb8a221914e831395cfa202e200bc5fbf8b4ddfd5073e3d64f2823a533b8732c63a980dfa17927aa3023100e660ad243abfc4ac99cde89dda12b10e83624f1c0daed8bc30975b84963ecd48d818f281aa52132c9e5732c6356a1f230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230315cbce4963596c3fb0882190be2552d996088ac59699b4e588a51868b8270abc523b01976fbd15cbf7406d1e86ff726023073472e1580fdc1e577d7ab2e068aca788c193ccae829a12e6b3e07ce9ae5198645f6d688ad48d2824e541e09411182390302047c435bb5006730650231008884a5506c84479fe32ed2efa5710713d69ae17d71ac8a03981b86c192900456926dcf6cff0476ce8cc90029ef48155c02305aaf36fb9eaa826f54fed404521f7c1d45990d0668dc28f300c9deee822d491349aed4dc3027de3f06bb55749b5547870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009bad383062ad8576c47d7a6b2f767fdd91c38206acb7a7f375e2269616d6bb7d426c034d6bd259e2329d3c2c6f228f0d023100dacf7f7a2e7040c60faad0737393b06ad01a6a01b7bc8329ecdf023e008301fde39cbff1350655be1ce0cf8d2fc657470302047c435bb500683066023100d56e40e869d96d2cdb56adb94a5c07652b80d9c928981b4d84d57535cdc2ab488f40f0f8ed4f5af23cc876b126dadd16023100cade981634cc9f5e0f4f5e24463d3cfad5db4c7f2d30bef0278b1ae22e088983c49fbd49a4a0c7e9d008c6927892c8470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310082c736967906dc0956a77419df9a4f3210f0d09872c845d62ebc586335652ea9704b5c29692e0a56705acf40a463441d023100b09eaf143dd5f54a31b5fc9ea0cbd1e59fb8f6ab817de0c57496674132a27cd216fec1554c2c40c8252293714c7f68550302047c435bb50066306402307e0ec3ed876abe03a6f093c68e233721ad60f7d9b9af9f3e5083efcf91eeb97bf734153411a117c0f999ad210e8c67b302307ed13d2099aba0f738ecd65a00918192209a37d033c5a685197b2cd9dfdc0eb0a22aa54ead4014b4d45f818f67555a250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303e2e9ccf1c5cb1d53afae421bd0df93d216e9a92134d9b94879abaca8e89bbf59e80290be5cf45458d86d5734e9337ef0230287301751a240027524b4e600ff755f69b0905e0c4c8a80c5e1b40ab1713be3d5ff7eb604d839df594b69be5071fbfce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ce4deedaa586fdf215bde9d5d559e4fb568c8b783ecba088b0966d18021d6954e7e2f9a93b04ba4900be783a4c6081a6023100904f96ab1a66f573a88d8cf9b5c95ea24c6bc4d135a382f1c60f70d6bbc10bac48e3b734d66a608ffc0b4842f779371e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230360fe302db7d446b089167c49ad94035daa7808188c30ece50e0cf7f6dce1a2317c538482e29f0a0a7623353b74aecc602300c4e852e919836b0aa7b73a7a58ca857474fd352b730daf723de1f23e7de3c4d99f03fac1a652a1d6152f3688fa701620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023059e97a98fa384b2be0740f4fa77205f1c98e9c5adb8c17c5750bb6b9bd237eac1b3d965ef98cbe4734c8e1bb44179f530230161e5d444cb071cad9f05eb83e3e789b2edb04d91c39d4cf6e064f5fccc9c020139866e361ffc93875b5186895968a5d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307d8259ec58fedef4e456142ef8193cd32a05ee33ddaffc6e9b0ef69bc3dbe7db1abcbbf0d28c26d8befcb2f25483230d02304dd9bdfa929d53d372673a65cc52ecb0ecf4a04f8a791ca5d10b2798a4ad83245222589935950beee446aa5ffe62fcb50302047c435bb5006730650230252da78dcaf41905a0d591654b26a0a9f4de4454ec15bc32a4ddffceb47b26516c4c7fc32d3e275d9be5511951d656d3023100f9313463036ccb9cbb39212e823652017bcd36c8b8d546b45f18ed741c38df46079c8d7a999626bfd6310600b72fe2e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230210806b938b2260c5f9fe6af677c94b3e9b014b3409fe551aabc6c5bb87cf791b16c82f127236e9fab6e8c5e5b4af429023100d3da13b2202fee8a8556645b2c8ac8292c2424301bd1f30de4fcd607580fc939d5c726356db18593ddf306ce1e01c9280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c5d0793251cb9f4eccfc04439f4278f10e7dcb33ba09f0e3822d4c4a4c3254e4b188f45f4dba811f1fe360d6d9988385023004fd2490d0c8217234a440c3a0eef162fbe66b375b3a6a010cb025f2e6c6533c782d7be5b88b50a5713b7694eb0650a60302047c435bb50066306402302ec95110fad79728b27068958770f58434ab9ec5ae6f04c43d29da65cd4e98e6bfca5f60a3bf4df82517913e64f6f3fb02302e3dd6591683393030245e3d09fcd118e4cf1ff8d270b00821a3603dd4ac0717e7d4ebe955e82303b17416d856ce7c1d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302c7136ed61e6e2f6c0938a66339472122a6e36d367c758dee31e40c9af00502cc702506a075b0f0a01763a77870539b702302b91d1cb6948aa7310f3642b0b0199d570b40d5247ab1937c6fe2d54aba3e79fe515be72340c77645900091d99df62a90302047c435bb50067306502310092fdd96d5e19eb6cf52290dedbd1794dbadf19b2f3838a31b254a4a6ee24bf460339c581f0784dd2abba4d45452fbef3023006c7251d1b79291fd4c52dbeccbff8801a27f197b7a4478127aa0876344328ca8ce309883f89dfd8c81fce6a7fee8d220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bcb9f3221d19be8946a026e89fec24e4f40d2ad13278a5d8fc1b84d202cde960bf8544c6c20d0fe1b67bc6ef6b9cc9220230317d57bd1fda35514de701eddb7fcfc648cfd5ff6b2e3ba71ff5a76c6d06abfaca5df86167e65ae9dbf99df666c5a8df0302047c435bb50067306502310086847bd08a4ce51f963c8aa6083330b951b8f18028ef3884a0c3675a59cbe057e9a3385147f69d4cfe4beb9f5c0bf0c40230709d14d7bf678ea48a64dc7e2795840ddeb81da6c71ed3e33e6a2ee02b6058c233c2392177232a5b47ef0d9e539132d50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b19fca16bd6429bcd1bae7cd5f8a9baca0416d43b813bcca1b59612c280e06fc8a22caaded06fc560018179d53e4383602302b35267e719ae3308de30a0c8b4e3878391def24e77bee6d72afe4ffdf0e6f713cf097be2595adcf7f21a5eea4a0df4a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300b0b6c6f1099eb08488b3814a723c0d12c1aecd8d30d14f244f173f709e20bfabad389d0b20cde2022f041d7a0075e6f023100df41a7045b61b63885ca41f716bd59f364d9597b6ac4db9395cdf6793dfc761a6d44aec67f2952e57dce0e7f4d57ce7e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f19519011997588ff172418925c95f81aca0a0a3f77acce1225c3cb1907cc75592cd4f6c7c0e1ab566b5aff9b7d33e0023100cc811a4fe88d2d935a1446403e9e4b2c179aad79d9fe16e8b79993c267662183e5a8ed32b37455df0dd554b9ccf004f60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230168990cce4641ee4f9730214bae2fae734e311bb979253f48ed3b2d188ea08a616640d7b5ba96820a8faa2ca68f6fbcf0230120ec88eb637d22dd03f905ac7e6fca85ba42eb610fe6d4a41ddaf89e0ca05aa1ea39c9e520d673dc309e7db2c48e58b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100faa70e9362db86758a56f09d7554fda0f3ed0858a4c4a77e28f01f0dd15fba792d76d54e68b2c667b8335d0758b8902b023100d7693bf619ecccad73c6a8f0b8024a823ff3aabbd135fd0916ce321cb651bc3fada076fce560b00ddb4b1857171015400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300eb151c19f6420ea4afdfe95e6aff93f4d558d41eb62fc2a6aec0e41dd5b794dacd064b8b4bf7af1647d6d14e752299c02303ceec8893ace51744bec79df3a5cd2bbf9cf92c3fff394c94b0ef7683dbc331135ba95873b5d58904b8129bf2219f4130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230687a24ad672870fbc03d77ac62da47a5d6c226399fd2cf2848ac546436dc40ce9da46bbe2d8891ea0078e1a0bdaafcb5023100d950b40e0192b1fd8a93f5015e1e737d445ab09c1bec3a6c1974290af4206fd1933f9c860da98b65ec42ce3cde4de6010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023028baf8b5048ee5196191d74a999d31aad0e4551984cc98a8921c4891e5683a248aa94f5993c4f44f4b03d40af1a1abc7023100d1642f6d05e276de6ed0d8c0805d79040a672cfd242700680e836fa2c4faf3c4d2e23ab9adbddf03ae0296fa8dbb1d7d0302047c435bb500683066023100e3f323b726604347743022807188ac10b4ce807c20f2ada47f5fd885c025d5a48d21262009464338f20503b4d6967554023100e78b7300b75475f0522f5edb776d9db12bbd7370604503269c6ca97a15101eea9c9d1fdb7f182c73c3444ea5ab02a8920302047c435bb500683066023100861d74bbf214c22bcb22ff2b73b93d09fd22392319972a6150521aacffaa3c8f55da3cec599e5938530ec665a9b2e19b0231008859068c6412da6dcb95434f9f7914dae60a798f9bce18c628fdf49516b86238076b2b2d2cb2cb35013ffabe30d33fa60302047c435bb5006730650230568c42f742bb8f71e96ab077a29f52f83fd09b7007dddc8d0354148d0fa6bfa2afeaa69300b4b02e48f4c88446410b0f023100d280370ed030b2029efe67e230382d2a0e77adb51587e5d3ab7a88076e11bf456332e4cd2ba3c8300fc841af271874070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305756a7f21b92286b98a96f6d82abc63aee0ab98c1b9e7e89c4cf46ad5fe41ff56c9c9c427bfec75dbcdb20f499217d71023079406695afda226457740a640d39cfd93b2eb2bc705c09abd96b4b32c241ab7043bf53f8f32a050722a59f6c08600e390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023048fc3f50cba6ae119fe9020ce5a91c803efab4d754e8f97193386b3dbf1b13ad6c7cf253e4f567a490fa40800868017702304e0f94edbd523f9261b9fd5572bb96dc0bd015536d805abd7d69321e5b7ce4854606ed9f1b0ded94d8531767fd77a1e40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c30f23b63a8cd588a31f0e3498d1e62f0943b8ff45f9683f9555fa41e2940d1195f268dc9d06a6b663ca42e45e17165902302f313e0c3b004db11a845affaed51fd407b3a752ba4766012d48d53a2073767e9af11762bcac8e0b5bf46f1159e661790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dbe6f6465f11b0c56edcd68dccf9241d8ad04d588a7b0fec35c2dfdc90a25748c1c3ed51c4852c62a1637844dacd24ed023015fe42b3536061c23ace1fd61d695e615c01ee79c0f0f37b9e45d4326214909fa6590a51e720d0feb358776bf24c95ad0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307c70772d90c5cd4029268617478cd7b0a49ae5d842386c0a80be92e9f0d6a5837baef42b7e05306df961f5c738c55148023100933fa2656b8f8590af3cdc1bd6b1ff0bc731d3aeb14d7a05cf1cdb296e09f37a5b06547bd192b19b8364afaba5bad1750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008bf9fdc28b43b8d34dadd059f159cd2d12831c99ffc05501676281c02fc214acd826fa6cab6f3b07a307b170f453fcac02307961e83635e78ab3c7faad9ccc83b8e38bad039ab03e1e975b09f5ac1fe9b2e24aad672da40f04a88dc4beea81e365dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304ab2c5711f3d349b0bac34b6e77fc08255cf864bfa0a05ed91f33aa7ad4511478a78a1a442861e04485f95706c3e019e02302eb6f2590315a72d596b966143f6a80d343c1c9de6ec29b93d8892231d47eb0500f26915df6dc35fcf991e71b5d7b1020302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f5fbcb578689e0110e26b9641070228659f0e560104fb6197e7d608db3589768c4aca58713d49cea8ea4ca9c63c02ef10230608305b3383bf792357b6720bb41eacb9b2f397389c23f95fb47675284cd17db6728a5d53c5d42717a39a8ff95d4185c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300441357b3090bb416abcaa4c96db3fe8d437dcea9b823ef3479b0bf69506106c582f701bceedd3d1f114a08ba20506730230598239a61c132ff127f0f6d218dc13207e31d32c425ab6d8d09ea4af0d31aacfb7b486001bd132330d50faf35b32f08a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307cb952fdd51e52797f64feed5c024556ddc16d7a9d46f48fc10dcae1c4a1bdec426a510800889430cba12e623004633e023100fd7fd0b3ff5c5b26c5bc5acf840e0189c7fa1d84c2faa7a4a503c89e2402684797ac8c84e210a93089aac90b08d32b160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303e71d94ecd1785b7cf1c44f1b1d6d152a74346d8ae9cd7c7ca74c389f5f2d50927b50b50959f490aac4cfa26ad4981eb023100ccbc0b68895f9fde2a6c76d9d73963775dfe522bad7b09bf3823b439c11c743531f27d95068aa9b25c4e3098d901aa430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f2457f48c806f94b8d496909875def0e40b4e4fbbb4b5d57134eff076ddafdf2c3fde84cc2ba0be36b18f9a26b7323ca023100a4add76c4436025f0614eafb13de475419a1cbd538ecc2c9064ca7c0819dad82b57e7c0e440dab64ae18164c5913b81d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230161f145aea22abe289601f51b5ed44d118c59df55002f38f6e86b832b525c4fd36c6b11e7edcd8aca496ca8ae6cec21a023100c27903341435656897f7c2358b83f982108e0cbe438a8468446e7ef01b9d780c33c03f734c5ea17e2defa61555a892d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cd58fc503684c17dc75514ae368cc489fbfdd67158986202ff18a0f02531b4b9a4c0aef5fdd35e9bb9003b3fdab4494a023100fa04fb122cc1271f962ad321595ce67fa7fa7f38b5697da0c179d80438d9ceb6a63c5306a256393b8bd1ea04f138e9dc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302b92307b98ef7438fee1f0cfd9b76c56fbb0b117a5feafa852a56d35c663b383beb6d636719f3692cc3ecc2e5d50a326023070bff2b93cc4058ac1d22947877c310e3e10b6e6c9ca06c60d09551cbe35f874959e7fea0a9b173ba09a686f51d8df1b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303cfa2524fdbb394db68787fe4197b05184a8fd663cc09203fee53c10dba036b200aa66740a1c998b3ec6380b8e85cf29023100995435365b83800258a387ea518bc5d44f146fee2f54199fe04b15a2ccd8ccf350828e9ea4de845e4bd9ddc36be13be80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023042b7cc891f0fb70288cfec9196ce5c8c24e7f17a478fb7be514a5c43da86c658c57c23fefedafd6a42bbea6474d46a5a0230032b811c1b17fedb5958f1570a7d184c524727c2704c43afa081a93d99b419da3adef418b0d5e27b603af357d812070a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100daa396bdca10960f89fe3e3591858d0a7355c6ba1e9aa6fd4dfbb7e6497af8703a120ab3858746874901f2fefba10be102303da1e69177edfe6a79fae93aad0ed8615722e170b49ec0d86b56e5ee44d09e93b8cf46898718f03246f26bf3ca0d01720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310086722cbb159163ddf47ee495e0a6506f1ca2cb43a045c0e19b159e0488595f82118a91fedfbcf46811079162c3b07b7d0231008f8c0fd8f1bf74dc9f938510987ff9801fd28198d9f43e333f260908139c43504aaeeb882c1c43ec2b6f4a0272ece0d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023002c72f7998f7bafd667525cdc189737a48596a26fa7befd5b3201779594f4d4c401e56afe45fa3520a42409e5aede877023053d60446ecfe32bbd74ba1250c0cd6185f99fd527b5ca98e25fc9fe0e61ebf3354d88a10f90e0bbc7afcbef0a215d6290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023044f81599bf27e3a60c9dd145105ebabd675c433ed2053d3022f5f4b94dc8883d5b720fff351921c93c7d586b699e058f023100eef264de156de0c59e3343bf2cca93ed8670010cfd2f9de854f81385761f935a31ece11a0e9d9a444e6b91142b2eecaf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e8890a76c894dade38f7443992d5eb11475c418d980c2890296e0e450bb29796527e3916e9f68bc188d40d4b1be0622e023100bccb2352230b19cd5e2929c13607f55d9ce74252cbb28bc0f40869c5d0af1f7eee225ab8fec933cf64c9aa83bc5eb5c20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023028ee897bea5652c858a8f3a614e35dcabb46b39924915acd50bdcb661ee456db8f462cef6c9381df79dc29a582cbe219023100cfc2f3381e486b109cf9aecaf83677796e78fd69b61c7d58fac58d2c17b43b00521f645c840f9b81eba9e1f4e9e8f6990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300ed102e2f3827fe222f72cde49cb5897bcec271844e8918bd260fcabd6f577194644d922154985bfc1e938549111575d023006a96292f5c68c2fa737f3f3ba369e6478cea740cde6b7a08ea216b32ab716bbc43ac1c24ce1b190f17f85a0fb7added0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023058dd59d0026ef5a16a21a6437b113b1937909c6487c8e2d6597093ddcee7ad9e456dfbf970167300511ad1f423322adb02307ee7f2785960bff073030df33671859501f2caf452bb195623c6912661c295d48a5e7312e2dd8cf71bc80457eebbddbe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303329a26b08bd1da48dae9a8bdddd6940e74c5f36cf7afe6ff20ecf6bf9cd665a1fa09ae2e06cf2ae3e8a7127b72173ac023100e92a72733c75278e08458a756f451e5e5a5454a441a8d5038988ae1a55c14b8e5e5df4b0e8afcbf08eb024c35f220e5e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f8ba7c0f71a56b55314e7e30c4996e2c55754b506c2b31eb43e6ba55d70171b8b06dd93586f0960fe118eca7daad2218023100b9d3153d14709cbfadb4155f22e414bff348c392efc70d3cda4dc7f654e658107395bfcd629ba97e83e989548e88939a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eba924a52b4f6539379e7acaa6cb220ea8f1203d284fbcc11350a6019cff7736f620952126b7946a14a81b4c36ed00ed023020877676e7194fddb5325287fb5dc76e19e50ec8b96d8cc4741713eef9befae01f9c50e0eb92fb5eb17d79a279947a770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100967ffba82f3828339e949cb4bb6c96dd5cf7cf4b58121dcdbac369624e5915105dd4d25c02e49ee1977b853d8dbd6e5102301daf84ea4d756ffe108dd4f3126660cf0a1e2e48782f4f3e0fe6d152a8332c59b4162c61615abfb64b709942803bb0ec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305fdbc07893f080b3d94431041499a55cb3f9e6ed8a49ae282f3719e20e46988392a19164e4de09e6f8e1091911261713023037f213ba67e8b4619ab249eb75fd8e04a96b61054651772a51c66148091f3e54176a4739b2e51a529710f77fd9bac1cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303dea41138e91ccf4c40bdd447119cdd27166ba8e3d4e78400990ee6ba49bfbae2bf22fafbe5076706a68d74a3c106849023100b896486c17847dfcbba81a141272e76c523a3e9b47a7624ec4c131d6b456c4dbb6246bfd8da70decf388dfda40a0bba20302047c435bb5006830660231008a886586856cd39cc1516f63fa9ea2503a22efc2e54e134c7548cc4f93048a7fe96bd1bc091ac4e2bd954389ab5d8e99023100ff688b87fa6227d4b37342de4fe182892b0ff636f8c98052d8c8133aa1e465b5884cfe4f1db092c53ba16703f434f2480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230207c2d6545400a6242286077b5ce435525816b406efedce7d9e0aaaa1010d5cabcc0388ab14895714b13691158be6ddc02304d058f8a7dd218377925ab58e7183951d27826ed50fbae4087b1d7a433cba5da6a650f98e80bd80f1baf074c538b48ce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c180c65242612e21a4e835aa9619c826780560b38ad7c0833272864fbadf9fc48f52d23a95ed39b9f0d03fd3c5b416b4023100ec0f97764e6928688a53e46fe1ae6da4d09933631ead5a88830233e0eb90048ac858143956c205e3998e844b4292fb400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303d25c583ac2c32b1ac51e535c54a5e8813d5948c527c58df15df075cfcaebf7e0a50d0b75617f161c1299ea5dfeb1487023100e5cbbec2e4f9a04689ce2c0dc67a5f7759bf2126eb42d7af229f1c1d95ebf27edf54611354c2211d469266fcb79b6df00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307b899d1e05fb4e0883720ca41931352e6bc1bc96099f14570ab1e4d73c6f7b0f6401df0f6e88aa863648afe5c4edbc3802302323b526d9315a70dcc0cdd6380a47253149217309824ed7583ffface5d0bb64f4c1f81b35b8edc046208d55de0f03810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306862ae1f990f5a73a73166c44c1596a625227bd569fada6c2a7bd007c70fd34588002be0f20ea75b2fd771a2d72b203b023100e3f7979405e6038ebe53b9eb8318c7d6c0bb6c5ad1fa7892d0b2983a1f598c53f714adebac3b9dd27a18a46dcfcca8cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f3d6ed8f8620ec65c635a88386b8353a70604a35f28a50be9b1455af434a5a1ad40d1a28238d1147e83f85ee890518eb023100dcba829fc0629bc86b1e53f107d33ff91a2e8c9ce667f1779375d1377a0d7e031c7a9ce89672d0d033443d0feb49038a0302047c435bb500673065023100eab90e51906d0fc1dcf4ef865f6f85646f2394247fe619b07c5dda6e4b480737395f93cb6f7589a2b4683751618c1f5b023039dcaa2340c310da73b240d603969b0a58198ce308e5c3fb67b87f14d30f879d3017b05aef1176ad27f48db990a4d62d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303b82c38bf99a3d76a297768feaacd031e2d7498e305ecd1a31b645b837d660086be19ac2120063e77b3de825513865ae02306bf788373c090348fe51364948a13e55dc72a37449aeecd56a0ebe69bcb80f80651403e0a2e7fe77d2f3a479077995f90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230333102c7817e163f29211200643eb7afc899b68e81a58255478fedb1bcafe2a7cfcca18e0fe6748aa56756e02c388ccc023100f862d212dc36ff5f04eae2903ce8c35c78d530b0923274e7dd25ca77e629e488ca44a72451f3a4715b4af24f54f272e10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a45ca9049592cc33a794e24333e89ea6b063e88d61ffe871d5a4d165fd1aeebe1882cf6cd857fc311240770d020e1d88023030fdf43c9a4910c43ab6f75a17248bf94dda2ecb078c8eb89edb71d87b71c4c783faeb9c84940aeedb80e95649fd82fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008a44f05da4d83dad3ffd4414e7440afd01942ae3d57873224ef47f39482be0813eb176a4570cf3608ab8ba7ec4ac7c34023100d1942f344f1945b316134b3078cfec808d339da76034e0c2d247d7d90ba38d00ca8a2fbcff2f2a1f28b519706f17bbfb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023035972f32ddae8fca4389b89f09ad63b8d975ee2f762a7635cacd399c341c2c301b1ab1d9d62b61252dc35fe485c160fe02301cd421a0cad157cd88119eed6ef58161dccec96a6448c1a8f8110cc87aa95848c8a8083c4e45566686a086da4c3c4f2e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009ccfc30e5a3fff61a6a8208692479efedfeeff3c6a5029dd0e212890fa14a10d18ff1cd411eb658c464fdff9efc7931e023100b084a680a919a63cda8368cb7de48e75c1d88fccd3325993c8923ac625fb460c9c778b83d735f645cb8df3a5ef7e05c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b920f77623089726c5f5f355b06975b033e46d9025ca43de927242246081e3b86c398cf4368094555d300af4e7163e7c02307946078dacc1465d1c689cf0fead1003844affc37afbef60407ab1781ec976b66be1cdaf098384b517dd96a8e6cf54f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023012e4548ba40c557fedabdd359ebff60a0443006827423a132b88651e3533c6f3f6855cf6d2180d7a283657e3f69f42e5023100acf23d97fc8f31c3e51f5d70a7dfb2b2685d05f7ddd63aa1e73a93c5239b472e138afbf28770d87cb342fd8e80e683900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e82310ae076025ea588bad72a856fc1d395315f3f143c11116ea2f978e045785dfac40716ca009a9c33a694244ab514802307d8cbac266579f6d9040b301f227402efbddb6e60173242032e5ebf7da58b3e0823bbf3bbe4a85d6852551b4ec0de6530302047c435bb500673065023100b19f4a700b7178bc2d328dcc57e0e9bbf793895eff0cc6593bca60aa86fc0e4fed9f264239910bf75c07a46c834490ac02306f192d8936964729d82dc17fa124041d716daf9e729656e2b01cb24e2e7552882c4c209f2f5a512bb37d81797299bfa10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f301a6ca1f60d27e8b1cf6bfa22c2eff75c63dde364b7b39003b264cfe6b686eb6ec4a34d359dc0759e50feeebc2fc4702301a4d5b47f37c5ec13bbd3d10f81d24147197f939e58c4c2b5ccb71b4e91006e346b398e8fd7a55c36bd4b304bc76ca400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cbaace0cb0b8085ff60eb4d92626eb800abe861c11974dd84328ff3f08c3978d9f27374a8a490cab331f933c8b3c1dc5023100883d5bd4a34af1652960f3c7d8f94db46626de66cd7514c6a15194479846291c03efd7d4f2e1cc58967aea47b7fe9c3f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230357f53f7e3232358defa30241bf9d3325c1fea419e391ceec14b028e3076b16f27fb81415b2b9ab9ac1954d753af9d9902301e0a86f0344b0af8e00141281ba96604fe7b7d8d59e031b389f5bb89242b80dc562fb362f7f089093807988fc1c3c5b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310083426414bdc3baa29cfb0cfdb07cc73c4130db47b3dd02355d5ad558519d7a1c0bf0aee44f5fb2108cc4aecace176c68023100a8828d6b46f5d0f4d94f688e18f9ca34704a9f4a26c1d785e4fb8b44af3d0680cd28df005d92dbd11009507bb5dbddc00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230360cb1730ef4ac2df39820427f5e92ee853ff5be80b6310e91b7d0cbf551ca4723518769245eafb041ba62ba41c5ad4c023058b2842119da33f71c77c58e2bb5be47e947b0b60943606ea5cb3fe9a0df6a05c2f135047a13b6c62acd6bc51f0ecd9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a329d540d92c5e7a5df91d682e70cbfaad8150c8d28fd4be7493de9e50c2b38b7491db9bbd6cc59841ae339bbc6208b6023022245aa7d86ed009f2d6888683722fa67d26d68bf7eb33bc1cdacb06b8373bf219b2310ee3d8df49b31ce13e3f2a141a0302047c435bb5006630640230077f2559fbb3d9bb98b48498e5b4f83dbaf884f53f6b9d3ffa82969928eaa098501934cd274b0324b5f9da0359f36bab023075642b9522207a5c1eb0a558a3f217db3e8ff68284233749db985a473f9bdb5af687108fdc23395a3ad44a3219e89b710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b8f4befd53ad23fa0f3c60a996f3badcbda35b96e0fe1d57ea34e5d4f7243f3c67594a10df4c4a5601d694438a113abd023044e92a9eb2d438603ececaff1e34b1828e8422458558042b6366d2929d793447ae03020cac0194f08200d9882218c3020302047c435bb50067306502303786ed30223e9d1b0dde81bf66154d9976458b7d527d4953f2379a9dded2e66ddc2b40e73b6199464c5b28b6b4fbb09b023100de42fc4573e13a0679a45ab7f917f3178339d98c3f15f89bd0add57dbb703e7e6c19f301920589b5d7fe796f5644e21f0302047c435bb50067306502303bd3485c091e24e041ccf5d89a9155746979b1e915bf9a62352a199da6f0ec630e873b852f7b5936b09af8858218e43d023100edca7f718ef9c0314f493aa25a58acb5f5277e965abab69c200cb776b966ac3540e906634a78223c1f54e8758caf1ada0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c423b2075e244389cedbb175665d7349621f30f2409629abc4cc2d4069b637264a64735e97c224ec28ca071d55c0b3e002306ff1c44b155933512bdf2cf1661c3d0741c0cecc5cf7b4f4b18af291eb1dba5ce36a7518ce7e1d6a8f12e51d0ad2df890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e630e4fbf4d5cd705a68c5805e10c3741205d60d909a36bae58aee442183e41d8e18a26173a5c2d66b149baa64c249630231008bd19238eac2ad6f813898c0644223593776de95e0a4381e89851fad2862aef3e1e5606bb779842d4063558197ab2d9c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd670257462d1e8140b1275f754c84458d66acc9d6cd44704470ae9591deae404470811b4e6218f2402abd43304388d8023100d646f95245fa32130079e628cd288cb145940964a4ceab1ed4d4f855b92aa67857c21e7a7201ba55cc7a5aa13eb9aa460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023042f2c52ed60a1c0ba9f3ef186fb143ae17c14bde9658b6a06ffbe2018ec789cbec7785be48ee7296bce32fbc101273a6023026ffdf6db3e98bf38832413226a0659332dd40a392d73dee1cd8fd05d187fa50a1ce1f73581ab7ecbca38c36a3b7c4150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307912cbfe07a0629f08bd75c19ec8c6217544faeeec233cd8cf03c12b34adf8ad40980b8526bfbec27c664db5ab84a9120231008674475065a83f5adbaca5e7c8521b6c26d1eb45a2d0ed839816a484a55fd511bc82d14ab59e02df17155bb339d88aed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023006c6de9ef18c334499c9688234008ae6bff5e12458be97e6c9bc2ce8b832c9322f94399b83f55ac17d78c2866a8ba3c7023100866609880ad9b5a4d352321c1fef1b8de033dc325684085b7f6a380edaf409525c66588ecbfc4bd4516a4d65ea6685160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230030f4f5c40790dece0517425e8a73e991c8a5e7f4a49174e9edda62042822f71c4559af53193ff768caa348dcb7101e70230041c4e80964acafa858640c26183ac93b1efe5f7f00fc59f878d1639da2fdac144bb24befc863aaf0e4518246c5fbb9f0302047c435bb50066306402303181acade37febc0334636c23fcc9e9a949d6454fb3aedd040a9d6fd42c9852234c111840dd37696043e334b4c4c837f02300e17c02350bf0390f7defccec21187d1ad0ee0ded121e5d7277a20c15b938a97c379c97f61b067c9b16c1c3095667dd70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230108e81fc9640a2f2e4a82d15dba93c4468c50969c67ae53e756de61477044ecf8a8f9099e48bca8ca48fb85f6d1401fb023069fec1ce8d66e9302b66d4bfa234c91f8d5da85eb7f079c3ea63bdd9122c800337d9cdc7e6e76535eed5a84bc13e4eb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305c59ebebaac287d7bcde2a2f306d4bbbc7eb8bbad9d140d8514414da37c17cfcb5babc1f664714e2ebbc6377a19429610230185c90923a7d9fcd6e522cc722494b0808f4bfce096b4826f40e28e1b4cd3fb2457adab719785687612f3e874ff5ef9f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f54aeb2bb95db948d5f02e156df11e403394232333e5a0461fe20218bfffdfc8d9b8bc168f146dd3d9cb071f3b9a2724023100fec9ad76b3f06435e182a8de3370c3981cff3004708d47e8d3b402ea6c1cb2ba6f95418c142db50214d1366426c03eb50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303d74e5af8c1fade0a698fb49ae49336907225545228849477b92cd7de4403036165c1a91f5cd322cc7956de91585ba57023100824f1ca123c02b41d107c93efc4cb93981003b2fa79d1048c9b1a203ae3427aa80222adebd494a3ef15194416c88777e0302047c435bb500683066023100e9b2b94af174077de063bec3d2a711632f767d55e8b0c5bcd03875bbaee266378457cdba78fd74494341a0f7f5a2e8be023100aef841dd25b876b9ec5beb6e0b04f8f2f5f4351a556b553cbe33ed70ecd12b72139010a7f89f99999883896ff655103f0302047c435bb500673065023100ad5afff7818c0fc0a0997b5256baf1072b1ece3f894aab51911867e372614ea9fb251c4a62820c0677835487cd3d65c80230275c5e3e7c71b3cc0ae43651556ea480a8b03f98b1fb8f73db65a01527736a9c51c6d07d9082bb787b7323ffa38e7aa10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009724f978e7e7960f19e087c609f56c976d85a3b8a5829e21a1c3bc14cad31d814a36edbb9a4fd5aaf0420b93927f6565023100f7699067e3531992f034ccc2fb98b4f295137e2feddc3ad8170899f1666e056409033e740cd3c9f6094bb7ad6b81f33b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b1ef42162ef04d522a6c14f31ce7da4b01c55b0a9494378f73a3f71a21b6e8c9ff51f11f6a9413991ce067ecff515fe202310096b64ab8a71b33b2ddf360fa2d3264b7c60632c693072e5359c969b3c90041972e72338ac1fc43153b13ca6d53ed79f40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f9d225058b60ec257788c9fc20888a19b6833864629a08d67b4521c41454bc2031291e29dfa28daef684d575447dea0602310094b2e4aa9a0e429361b5be1e4e4f5e07ee8a6b204364024df234df23bd88c308ffdafdaea368a4ab5135b88635347a060302047c435bb500673065023100847d1506934ab4a27ad907773e3f519aa5757c893eeb3a546803255cc9a91fc69642f920d998947fbb1574cb20d52c2902304835b957574891af450cc1947c1c0753505e22b325482da2d78928cee6d6e21fc9178241d61a6e493af244298bb7344e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310096590d731b763582ec292832d82ae4ed801e113a4180e2c0eab88d96ea4c0663736b709c1e951cfbf4f65a7985d03f7e023100f8f02ab351ab1900e31308abd3b085178b9eb00951e6b5c9fcc35adac68c6a0fe66b6d51d9a5d3ace7536ffd38bfc4db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307ed5da7a8295705ab4454260e3c78c314f01aa8ea2e58937f82a77de128269dcac8d83720bf771fda06843c1f9cd6a9f0231009bc06966683cbf84d4385af2de6cb6ff4158f1ad5f38feb18a619ead3e3243dc038f22ec1aea84a5d4f5b679b250d21d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304fb165c64da10a0fd32a5a0526c99912607265d78d61668f02c5a11ae333ec9ab36fcf00f148b9144f9d7a46304fbbe502307ca817b533be6810a32e7e94c1fc0b2304afcd66755c833d33dc1ff45719cb7ca96b4d2bf69d525daa8b8dc12c577ab90302047c435bb500673065023100f592e6415554d23d1af02a3bbd56188e1127c3367812236743fc548a52be2fe529b49b4b6bfe89489d3d28add5323c700230601ee46304ec68bda6bcb7b094f3a442fc2b3899fae99cf261ff37270d6dda553e41803560991300b807a128b04200850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a8210c240aff0a1a465b25838d8071cb82903b463d2a146bf91d9d864609d910aa779594e11089093ac040e6e6d0601d023100d02413454ba8750929dac5b984d7dd7f931711590d8eb2b717696ddb3f224b74b0ec1bf5191e8169f920111340ca1c270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd00a5f14ac49696a930fc3f8605a642ec3d630ed1dbef3b04ca40de129c9ffcf59821e8ceda9627df24c0b939e5b4b9023100dda91f4827666324e23127c41112999333ce3a0b2617d4b61f01e75e741c1a09143e65cd3b891a0b9e38e910f2818f510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c27eab013e148ea161b38fc0eef985a70aa8731d7d98aa5c36124fbfebbc938c47a1d48176f8327dab2b3ebf23c86cd2023100f20cffb75b39cb1b272bfbeed305dc8c8d75ded702bf7dd634275a646a06ee4e5f65d798958d57db0b8c413f496b74b60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230161a69deec9f69159438d19415aef4a4628b2dce3b17469984c334f5fccea6147142ea40969635818e8b9170db40767e023020a3763587844e34b1adddf17400b77f3adecfb08393f02ca3b8df0a87cf802c6d2ded6821c60ce7a1e2af907f5e9b260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e73f59b1d555163da0c183154b77e44155ecb1759f6bf798fdbb303045f456d5cccf250bbba0a5b201c0f0b520ee5db7023100afefbacaeb544340179b8c8247c67494885a493a234c387270c8c4918d1a96461899f27632fa16bc9ebdc0d7747f5c190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cd7f1ee2402b1935d3e741cf94c766ef90c32d7bc9579639bd57943ff772039580f884cbc3a8c3f8ffdcf1c8bbbd3f990231009f27f907a68f994113816f1af48c9f0f679ca417b001eeab8fe84f1cbf99c8e84e614cf8453dcf0986bd16873ae3cd9f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f81221db4188a13248eacb6b2a7b4d58027ebb6774cc50338d4275073ecb1243e313a106df51217da32e1f74943b54dd02310082fb132f223de06ce9c6a9a49e359e71b9e226fd9b940ce91a4e7c27058cd9d154043898df97ee7b9618d547d43dbfda0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305998d4c718856fb7d2faf1c929dd6eae0d7ba07520b5edc850a6f00ac1f551537352aa823ee29fe200d3c4e8cb18f96f02306dfc8198f713ab69729230aef727be08f84f7f53eb899b5ebfb0298eac39098d789665c830c275caa92bb569d7e497f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300f44832a9a693d9b94e7accfc6d007f020f6226aae010818b72d2c3aab1077fed98ee54cf74fa786ce59fa95069d9ec2023100886c59251599c3432d18928c7a3b7e97bcab9d817be991926bba86c18a39393732b8ea3b6eb28abd882c0e8f2a26f9070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100df929f9457c611197b6f988e275e446a5196983ae26c9f7a314b7984cfd376ac29d82ade014c33674c9269c5d7d8820102306fcc95b4f4c9094a6afd262eac68d03bd5fe7d801bdc2dc02ac930fad1ddd59d89edb56de8bf78b598b41530bb12d9140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023071117dd483972bb91396b4eb2dfc6cb03c207be3cf83ee555f0194b0afa59b715de382a10cfd6e4b252f8b77bcde260c023100a481cba6a6ffe6edbcfb90cf6e646c5acc217c33dc7bc4d50706ef5c4f3d83362863117bf9f867408ac0a4bf6d3cc65c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a9f4e9db5c89e381f49f514f7b08fed2bfadff54c2ffee00a9268c59223492fd25972eda721f1ce22b5dcca9e548e5f202305dc47cc48210c7cc1cf245114496aeaed29231e78fb2f3453a2e6a4ee7e2659164406690be361d4b3f78a5522bda322b0302047c435bb500673065023100e4aa101f938b4e9c0cf4018d078e7af72333478513f84760c9aa3747f3df59b105ab360728fe689eb94c1180a003ecc002301147e0b8b582ae4483ed358b5f770f3fa74c0c92d6d2c4ac9e3a0ceb72d507aa04aa2a24df584f2fc2ff919c86be7e600302047c435bb50067306502306a92caf11210320517bb596c2ec70b47b7dc1d63f3772e5f08a28c9f9bcaf6212578cdd96614973e6e81166ac198cc32023100bed2e7c02556cc4dcbd4382af3b42699fae175e19b4b4041f49fb4e3fc6b8bc04488a2bbbf089ebffe9668b8b5dcf4250302047c435bb50067306502310092767057224cd1e8662d7c1dcecb78d054fa819edd6588be35b1e8861d53a75372c05c104b285ff04d32bdaad685294e023050e78da1b67312caf5f718fc82bc740a0640a07ca19dbfe8f2c5d3bab5ff085fa3523d9ebb2ba3f14fb5e59f9597ca4a0302047c435bb50067306502301057832364fe511eff17329ed2c95e297f3b97f3c8b2b3a47112aaac0f0f6213f7c4dbe82028b01e74bf7ed1f5518a0a023100e06225cb6591135dea2c59cd9c3ed88e030315af7e91d0a6c13ad8c0943f567dccb4b2fa993b6ef72a8bbdaab35812000302047c435bb5006730650231008e6bb646e2b278692f2a6b4fd41d7cef3ed7ddadcbab20d25003079e6d2346d2acbee016069071f430632a880f466cdd02307f5c4437fe9ce537de1158751633eaa60e78216e0c731d42b9d59dbfb9fcc147da9bcb5861b2eb711154844ccfbb3ea50302047c435bb500673065023100974afc2bc3c259aaa428b2c921eb8ad83f2b920ccfc50bf6e6b06550964905841147ac2f2aeb355385a0335695a7ac1d02306bccf54f4eee61f9f5af36cd19ba833ea4ddad60f9af0c82a49f7b8c780376a72120fe35cf990fe49ebcd81b65851e960302047c435bb50066306402307e43b3c961a990dfcf481a5d2880b8346b1135e597c66746a6382b13ebfc33827ccee6f94a94091dc7befd1f8973f61802307998fbc42427c529b9a2c293bfb4bed72be9945727a239f503ed8703047b0908d454a81f1a5648f89c223a18f4102db80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064022f32eeafb57fc7daf0d2ee181236c16a0c6920b9f541b75ed03204d87010f2e7205f5c109d62448388a71f9a43699639023100f0f1c69ab9f415afbc43c6159324ef11f2d3ac05f5d6731a13d747e5618fffe9c7af9aa2c6f305730c747e773de45e1a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310096707cf35648cffefa78a583e2e16a213dca694eb117f0cddf756e46b161efeb9e8bf07017435edcf8768d7a5c776c2d023063bcbd3ed6ecdb3114756fa6cc1746359912064ecdd90f58ac0b375cb8189ebf12566e24893d967e433988537af8f0050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b7f86271f34bf2b59230897fd985fc93aab171e9130b3e4102260d2edd4eee4e66d3bdcb69b3c4e6383b1c07e5db111a02304e40e8cb4372515a6af6825805f0893adf3f61e9251a4116d396a9a23ee550b20504547272e3b8b9a100916854e5ea320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f8a8054f84a964350ea6cb52b02663fcf35ae4a702868de0c8aa231631a1b9e22a465c484d1bb2b0150160b2f44537650230596becbe919c5a54b74cbb29354e662eb84f64f55d03f7e22e9ca67c769ab4f5c3633542330b922a88058e0f41f0e6170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306f3c03e2401ce5b49a43a5c9d6a5329831c670828addaa41b3e3c6632b461b1e9c5c71682be6d86efd6b098f8a80f4b1023100dcb441d2030e4ff9ca71388db3aedc526aa2a3d055f871495d0c6a4694af0595b28dcbcc93bd13d345fd97543c4dbb9f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310090908d50312a399461dd5a982ac9d5027437d1a5584960ece18b5a7f62b4ecdfea1b86ef89cb9378a5c6640bd748819602305b213813d9fef9976ce57ce7a7e0e1d2c7ff9f4a385d0486baa7e836e34e315739a24ea83483550b353bc76349c087ac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023034684259004a1e9df566b1da9edbd540c17524a2091741816c5ea03e81abfbe1c1a8aa60e3efd14ac4f706d6aaaa2205023011eaebd4695a2d669b1575b3ca4b36b5127654d2b5ee7d1209130800ed7047df038f0d48ef833b6d8afa846552f757320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f469fe03928a0408f6b3b585ad3c9c6f97592942556d8208f7ef4a44c6df17adde6aceea51aeb85ab5d6211b29bd1b9c0230211bdfa9fbe1ba94ba6a06d7f461fb9c76b06480be847ed3e28dad5c2e749ba826be1a1e378d633b43f1aef9df85d8d00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023038709f29b9fd33f98d87ddfb40e19ca2c2a8b4de434750a0d26033a7b91a2aae8c3738b2c2baca12748898dff2f3be4f023100a123032d5adf68eed2d2423a02091f47d670c502fd1cc2e1bdf0a5414899c1d9278443f8037898a28b57812448a6c3290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e7cddda2435dfeac71c2f8ef7fb4618efc16c8c343ace8a9788396952aa2ecf558dd8faa26d6b3bbaa0ff18dafc7cc4e023036eee2abbb7d01d4823c66a3a0de08efdebc154df85bbc4d961e16034ee5789137edb74a506ce5151fbe3dbd24aaebf00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023077a5da42f093219e97a094dfc50ab0e4c4d84af563f32612cd8e7e08e6a24f788446df8260ecf098582dd75ad8aab13302304a96bd220ca2d3cda970a8397d8640bdd1e597d3c31b9b0cb0093cc98702dbe1a5677c1a788a5d037871d8065c30705c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009136481b2949cfcace568647bd29c9eb94607808b54f2b4bf1be3b8e42395a2664e5fd4e6e284846a1d6b843d1318a53023100f39687c11c8e628ca1527934e5eca14f0e84e64dfe2af9774386f029dc4dd2078171840354c7eb2b75aaaf9f458fa6e80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f5cb84a0f8939c417dc02148401fbca13e052b95eae625bc96f8ced48bf465b62520e3681d951e02c98f91daf9ac93e023100d7fec2a5a71a1a1a0f3dead602c51af1a9ce0d74b50fa226667d0a58d11918dc5ce4209141b784545650cbcb8ddc069c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230764399e894f70a518b8316c306ebe7606d0709db8fdcd0a150953dec4b4f89ee8dacf17f81f3ec8674dc4f5fe024d170023100f6d82e83338b19ba98dbd983ef0c19652e3433a949791752fa70f23ef5ceda69ff5aac6b7db460f7a359ff6b03fc18310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fe8ab275c222228f15e80dc70bbceafcce32dcb4ae2bc34a3e44bae7f0da2a7f840b3a1299004b436ed7e85848d9886a023100dca59619e5e181fa359eaab4ebfc4f1a6fa3f256b51580a9ce678d743acaff12683a38d0110d91469cc669b591d6592d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100da2872c8ca422f0deba14dba0cf84ab49eb231510c46f3999851d8255d8ebf633450c77c261cea10e1f1338d26157f73023076f5e3d929887a9158a4e395e282d0563a1cca07461311d9466ddd0dc0de09375c266909c2ddf5e6a051b220fa9826420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306e4f5e2f89f608e46b774948408d4cb478871765388d67fa7c061b3043fea3132574ba9898ace4509f5dbfb485742ace023052ca6eaeae89b76b22d2e9ff072123bed301bce28f0136df7f2fb0d5e88c5b985f58ce318359ccf1d053fc970c6ab72a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009626d452c5bc44b75384c0d254dbad4115af83e850e2c01201c3bb4e802a219f42f5c9c86c461e315d4e4ccc2dda970102305fdf8684081a33c4cef1e29eda795d4cce52aa1510b49103643d63f3bdc68ee95e570111877bb9d669bb2e3ad8bee4e10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ab916500c690b80d2d24d529154d00db8629d33e287eab33edb83ca03d6aa64a8cf481847186e5ad0cc84366306ed1b0023100e6fbaa2e6df0558104a8c7e734ea7167798e710be82b3bdae2bdaae90411f2efa441e47ad5101ff39585670f1c4d54af0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cab8e3365d98e7c5630532ec5aa5a7a680f869f46635ad15846a77225723016c0b1cc2d894c33abf543b81dc3685f969023100e4c952e7d607f12b620326885b839458bc76a35833338fdb624224a9c973bac0ed155a24656cf983b116b9b339606f1d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d8d16239c9909aa2b10bb818c29e662e46ebd3cff3432012faf368ad06f480374eed866f8939e3915b6f33796f55f11602310082dca588de02ac7a2823016945c76b7717515e767d17146e44bb1c72d9fe23dd6bc24ee36b6508bec0dcb11fd2841e9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fd5418d6b0e5893467c4a684a3dd38f8417e718966270a125d8739d77fc12b8e1b7b59070e12c06a0d421d26c248863902301f9e3d809f87c62b8660f1e29a4a0e4d4a73709b4249023cdcffa798aa5a35ab0efc7e57fe0751dbfefc5c21633ace250302047c435bb500683066023100f54e7511b483e309d55504d028c491e77b2c0b2c6ef000b5e1b1e0c77d9c6efe9c4247358679e008c91e745d3e77be0902310080d45a9be6329b5136c64d163d3370d0c19aa35ba05c457ba9241e97ec4a51864082b7ecb0c9146989cb6ec0720b85e40302047c435bb500683066023100ed146391aaf009d714328a3f64941e497cf7c96df30bc42f622482e1df03f5a0ae42ceba9e1f04ff9fec87295926848b0231008cc5df224c3c43f162bed1ccb875d7b364be8a5c553b4c6306a3ac9af5f329d53b1309267cf6f1c339f63364a39ee2a00302047c435bb500673065023100f99ca0c648b98ac99f56c15cb05e71b7630115421b0847c9cb5007aa5e9607ca19f9df20450d73aec7638009f897c9b7023016e989b886ab908552d249b4f62beda04d06220468e269733fc9853dcd43922301b36b55fdd4801e4946e6be1e4e28810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023071d2367a5151fa4950d92c48c94aae2f6fd0a3c25d1f8363487909b80457f3310b536f7ceef7988d7d8e42058999b0c202307ffb73901155a0119f390cdce64629ea5de800b73f23f18d314211413eec8c8f8be03fff4484f52ce901f189d0c829350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230413ad7071dc71f7f39ac38719334594b456f83cd1201e1d2a0b497aa48892fb252f39af63c57d0b70789543f00a108d302305d7c00718f3362540879f9bf5b8979581f8846e3615f737be8925deb161b7811ea44b792316942d0db55f8348fde26640302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a36afdce8956140b4ddba527c7cd95b5fb6f812033e356461f989131df361b45e830194da7d0466b10e6a8246d5d4133023100e395a4b4c2789b492039721db4131ac974c57f9c225b3d0e92c3408a7b8ffe75e3a86761587869a9979b7164071bc7540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a98f4b4b9b6562db1ed2cbf522a225cf24e5a3b45d5470dbffe22493872c421948217cc1876ea44e224e801cd901215a02310099f21bc61f30f42042006849f42b7123551ac0568c62d9f536ad12c62636dd504843aa74e8d299ffe13c471f5dd1cd990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d9773613596e9c894ec8ffcc4b82bbc0dc967544d4b0016d98f7a7564df90950ac7a06389b8503f535f2108a27322cef023100d1641be7ebccb5f9c92db091d15465628c652e3a6d12eef949d1ecf737cef53853f5b75811b0a225e8241f74c797f1af0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310080159ded03b2af35251f859e0844b798a361bdccba0f421467bea4698a1f734b7a6035a7296f49c41c944820d5b23f05023100def84766248512e4d6d2ad74d6f9d7e1162388b6aea50944de8499b5319a82222e69b1f370649934ec49458cb046df8c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300251be7791acd97c0f76af32dc3e3299e2cd214b2430851741e83c03f55faeace3c0d1fcd316e0a2914158f5ffd7c0a70231008b0b4f00b7642bcfc333638db9a075f63c8933165511078d303d703fde6b03d04cdb6602b2157482cdb9c439421532700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cd11e5c571dc5b37dd839e544cbacafdb27bb2d0832cab173eb288a5a92c2f6ed43a4fa4fcc1ab214cfd39ea36b497380230453ca9dc1bb962547eee1c2a81afb9806601d28ba6d0f90c16d3713d90f71da4fdfcf2c152be7655f54316c62b0c9cc30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023034a761fd68709904fb684ed7f07e323ecdafd11820d62a9d63cfb1ff53c08c123d7ea32391863d475bc6db18f1884f4f02300cfdf59fcd31a253bf0923dc7d88226ecc1d5d89d9884822b0003736835ea5abb47a9c4f26f107488e95f242d502a8e50302047c435bb500673065023100c7b9390f4e8a63a5c387a5b3fa4686df4ef37629be81a4f621ff79f0adba2343c14dd699c4d2f97576d5dd2fc2541964023069e8d6dbe00202138ec5dff15ff969b2b2b6d7690e92bb6fa3f135cbf5a97bee84a55da945434b4fec8cb81a5b51db1b0302047c435bb500683066023100ec36c2e27cab7a3876cfe6425bfc25586661883d8b321562ef890ca4674cc475cf18a14bd997627e0fa4bc0c45c3f2af023100b172b6759738887297fc3526d88a5642a1f65dbee64a5a18970a38faec3b976223d56aa41504a1211d2ae912c41e53760302047c435bb50067306502310092c4b150a0bc4d5a55e8b739d8901bdd119edbefd4107e1f7e17914f9880bdb7aef2fd6f5e8c97257f92f99fb660e42502303e37efab059a292dd9b200a9d7593d0d459805db38cfd413d4f543ac45b901cc1aa1f9e395dcbf441d98414d551ffc2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304decec88f6af2d7c5fa75846d4646cd1595a7b23012ca69d92e6a3da23f41c77e25b7d9902f548a9f65094dd03c14ae102302c2559cafd0270dd07b3c0d2916ac6a8e543b2b18be75f8f3d17695af34b0088371f6eb4c8d32ce698af1be92459083b0302047c435bb500683066023100ad18478633b0af346132cf3a0ff8ab2b351be1803efca2011974703ea629a2378ebb366c76c7e0b184502118d9cdacd4023100c8ec4d39854ffd8d3a4c0fd3e7990272f779dab0d4aac3bfa662c487dfe5f420a7a1d1086b959c66ab2329885f7f2fe10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100990afd2af1bf5d2fad81134ba3857c0f01f6bd2b58f05751577303f3f25a0e428727ee67088a7069e6975b6d1467376b02300582b463829bc0d904c2d442f339d90d991547b01e8c0635cbbd2389d50c6175cd065e1a7d29f8ec624cb026a7c9cf100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307753567726e5eb461da71d3a7badc890de463f94af1378dfa7fff4d541cef2a3f78b64061eb49c25d4e820041c8a71f2023100c79f5afc13beb9155408934b2df5ac8c604aacc0e55ef5bbf83ada9b991fcd65a25ad9c22280ca48e6623196661e5afc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230153b41f28c69b130d7bb82d42584ed8de886beacdc653e9e6272ff988c3fb5d548ee25e1e629f3eea3ad7609e1c85509023100d9ba41bc7627a94c1a81df6e060957c76674e507d02f0d7d278701864ccf084e8d77caaae77e66605ab02895862976510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307a7d93860407f2aa3838469981d25fe323b9303c96f0142f5bc89485f97fcc2497e3e233049aed1900458671d2ebd1bc0231009191b78a8c25e06347179488cf53de11a84fd601cfb718b26b3f43dda06dc229b4f7588225ce834a0601b019d1c443570302047c435bb500663064023052fca6036681c285530de96135edc991cddfeb6374104e70ff53ecc19b73041550e57c39c0f15e481861c16431e9ef260230234b040deddcca5ea7ed7c2a3aa270f8144fc8a67f10526faf243853aa942e611c63a4157d7840c987a8c2a89a0365390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100abd623eae24439da11ec65fac2648459a9ea73017ab176dc96b043d80bb1725fece8e0c5bf32ad0b46291f2aa5513cbe0230135bac20a0a3d1a1745c692b82b9ba1893e69bb4482ecff2881ea7ebe3ce8736806f96a64fbffe5c666e31ffb61c1ca10302047c435bb50066306402305562ec725a5ef35c35f5531e8fb06d65dd76b6d99c2c83a26412addb159dd5423a8a76eac909a3a2e0c01f917ba63b8302304084d7769a2af735599440cbb1918c4f45d5c031d8684ddd1459dda994d9e80f772e67707fc5a0c6b4174ae267d4db0b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230462993434fe6fdc9b9bb6e9af1ea7654701a9e4b47551d6beb28b1f8eddb596a1b2374c02db356bf23e61fcce88984ca023100990a7469b68e8047f7b2ab80b99cfc6bfa13b5ef4643aeb0be26402908288d8644fd26c08bce8e2e097e7f85a84dc7760302047c435bb50067306502305b3b32e7b694e3e9f20b79df6844a65fe93a72d9e7e8b3e341ad408cbb04e72df5ec110acce0cbf194c3b8d0bd79ea2e023100a9be6a0d25fffafe2071a561051a4a135b14b8fade5a6145601199dafaec693e58bc9bfd338561fd5bd6dceaafd7190f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301ce7dac1987ba85b63c7d40919c3ad9744268c4770fd25db4a2f566dd6eba933c9679739f83ac0cf1b8a1d8be07a2d2602310093fc753f4a66bb90b44d33097b0d4988b7be55fbad571c1f522b69643c865f896ab5743d444178d0d2e7473c7c0d3d0f0302047c435bb500683066023100b64c2aa3e90241b4a7b9d204f010cd433051a18ee7cafb5610506ba2fcc765674112861a2615ba5a1ab9f3fffbd256a4023100ade1e468276ba2e6cf29bd247bf6a4babc2cf69b790938fb9778cffc04fdba343be90397b8b8432e4a69f4e7770885e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023052612c4202e00c6acb67511b840a9716d4957553f0119625af7ace23b644d29c5103b8152cb41da21ad30506190a2f74023100bd933306231581bc89f12cf6b97e59cc7ac0f5498b402076847e46a8630502a4614213e82611b8937c0cdcbcc001161c0302047c435bb500673065023100a77816c04878bba790fd3d463d64636a5fcb9783a03015bb60c117ce40e7bdb79951219aa095a1f4ed164962f86def820230105191454f61d8a6a22a6be0fb8bd8c413c7c6003f4af9ebb95c40ce4a04d02a0faa53039d08f4e26147bdb3ed0723620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ca5d63041920cf9a83c68864b1e0766f615e9689434ad54dcad9ae985636c019fe407872955740a53a0dfbd0153b74ef023047775a333844189c6bda29cddc19641f01b77103db3e9a217b75f1189cca90b7ba8dca838e4ff5f9d0c0da864009d5050302047c435bb5006630640230403945bc47063f34e1351905bb871f98034a1413a78e04de5530a927ef81a6f36c9e269d2c643a11c624bf1e8a76ab6c02307261e3a86d4c8a1601b194564b40880b9c6187d54980b94ec4f4e7ada39638fc6d75cde84295bdd31cd30a5b8499be0a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a4892c16717ce86f086d25a7f61f7817380a99d78bc4a08f6dce59a14db432930144029307e7f4d2b0a77887e2f6f135023066d9ca9df45acdf9aec9befaf49a86a785b414429f88deccb5e1c15d3069ac8bf2dfa78907bdb18c4952b30d940907610302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230418f20332b8b0eb106f027787693610ab5f16e2c4d4a64afb3a094de0e6ff03ad8887769a87b6aa3837357acc67335d30230144d4c9f7c839ad49af3ec3fefbc6cf66cb025f0bfcc10f750ac161a165f8b61e7e43e010ebe725fb061ef9ae01dca1d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e134f5c881a1e2396a7893cb87b38edfe72a6d78b35825a1164edbc67572f3c29cb7d251a1b99df8b6e6c5268d6766b70231009153249e0e1a87f5e604a3968d812661df1b493a55364f23acd880bfd4d36acb6d07edb6fbb05cc53fe3d7f8f166daeb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023073118e69586f65ab91ab3745435ae45d898e2213b47c2857b7045928420db9fa3ead9c6c339599e79d796eb0b7e39c4702305ac6fbc95699bac4773073423d1ac06f2a16d9b65163503265d0beb934af2c65ca42998aea8362ccfb27dc9c079e57a60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230127c369c3cf16c55d43a148fbcbcf3eeba994f0b06ff2b6fc124adbe3493a351725780c1252ce3277d23d95d2429294e023100c2a6970e431db01aa0a9895e3ada5798c163a82e4357a4d27aae2137bad2b6fb1ac758c1af778dd3c2a6779177aa74270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023035e83c6dcb075bc6dca4e91ff5cf65ea9dc03643c43fb128ee3ac82781cf9f73e5c3ace1442e9fa6d6ece97c64efe483023100bc09d89739bade18366736ddf79b361b4914632a67829f2ad92b721d26ac5f0bf911b2b72fe5d0ffb0ee1f0fd64714780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a094530cc68c346269a751ff66dd095a76bf501f134e3223994f617cb02bc988786c8c913a5e78419872319d2522194a023100bd7153e108bf05ee0e267008d1c3234dbcd8d2a6faa401637e9612da10b8bb4a67eefeeb6aacc0a2bf13b3157fde56f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023052635f2d7d6d50ea89a618fd4ab596432449a23053323d08924246fb5ee15b06f992295283d144a068c4d22d9b94881d023012670281e8e0858f1b5ff9d90453ac1494b48b0e8deec01a94d32d4a7644d26b12dc4488ca2a9c9b6b69005a015f11f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023074c0dc9c487769f20ef5e9885015e84db36495b3f43bc726782444fb1fe1c5e01b4623de0fe201cd8090dda9a2d5f54102301c303db9a20c8921126734ebfbc8b23b7755a33ff70d1d7ac3837df952757566987000dda76c7a3b68561c2b9ed7ad5f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306ef18774ac954681a2f71653569af1d45d81b98ca898de17a1d4fc6671807997675e732ec83a16ba51c722a1ee08773f02310099c55a68505ca9cac98a970948002e56a2325c7cb31cbebb4a4d46bd0e06c5ee3fddb267e40c1b1996a2ae5527eef4f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023064411672ae8035779f6ebd86fdfb720e6601c0d62776e8adf516fe60206f1ac856611d4028fd91f3b5f4f3dde11677000230107b705c9d189823006f87e10507695ed25ed186f08ed5bc22fa8aeb8d6bd334ae729304a0c3bb4421018e33c23a41290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a0ec55ea900acf4a3dec8d6c43f7f79bc9dfdb0e4b700be0a141b612f8e9fda89daa137d123ee477088d1fa03e337dac02307fa8e080d6165d924ae6dae4a70fc087382c31193b0ae0421cb3c4dbb34c1eb4c5f45cb0604dd5ac0da1615942e01f770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023015e8df99223524d4f4dee8fd156916fd915ec9d29c98fbf5e6d3665935c3fc1783ca2e06529c095d989c4114cb4813c60231008806fd15e6ab25366865c4d7a0ba967a6be7f9bf8fb376bf215b8e93bb194bbe96e9b9f65d9f21fa276b2b1d2e6587470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c6f9e7c0c5db328e9a3f27c64aeb91b97149b03fc13338da9dc0fb3698e4bcdfef3712408e50a7ee24c5f566826efae9023100fd31b2058b6288e031f8c7bdf6992ec188a8b47a0284fa7128e6ded97b03abb17eda824cc94a68ecd535ea898f10bd570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304cea1dded2622bbf218f18c533fa888c29cde5dc612afad392ec7e46bab0750ce8ae1728078ecd0c80bcc448c25c8ae902310090f424e15784b3702fd506a455dfd6daee759b39b8636cf2f977b4d8fcc2d5aecc6b5fef73d3c9967ae341ab66b0c69e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008633d00bc598d8c2cd0f162c2bacdebb56cab72d22628df6a2ef9fdd397d31650f37fa656c5c0eaf7950419953a6c5c8023100b17c2d0cb62457633d3966447886f235c6dac72899277e7a487a96d5033827e70def6c7c1124c313db6cc21c58040b120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fc970b4149f4ee4337aacdac31feeb1c4094dd6b6b4377fa0b138a24094a9d5e328c645591d0cc7cb401e6f2bebc71a7023069fe0f964caa4cfd0c5ad4347e1a013548fb536eadb8ede0393854d193abb1200619fc83ae4c070e75345fdc942cef370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e12898d468b9f873371e490b47e604233bba6baaa3f7f39162eaba6e8a96caf0117d092609a9e61a16ca5b0b0c343cdc02306f51106de1cae1c582f07900e97b9d360c482d4e290dc81a8311a708d93a16409cb4e2b21e65a959f8bb23b1d6d4c2be0302047c435bb50066306402304613837c2cdeff6eae76daa4ff8bc9191cd09abb282a58472408a898da8539b693570dec7de0287988cfdc80c4e84f6d02304a5565e15a9298ed23ec909e409dc090d878ba91e11086072fbe31f988533933add483f4dccf05bd289ecbfd4874d0060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d4bd4253ce489dba48a7ee4b52a7b60de39d971c0da8a7db53832c2719f8181fa51cc8ace1199eb5f0ddc6c5ee6c6ebe02301f9570e496d5da9e11f361f3280a322b176bc95af775109d1e6c40963d80ab556340a41a698db0579ab88119efeac1980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c44622cc001c7cb38131924376ba8811c4c434fb468b9a29b5fd49c9245d206a322e0932db48ca9f8d0a8384673306fd02305013b14559d76c775983f90a54f9039ee351d6b8c959983237a535a6fd68d0841dd85ae07ede42e039bca1a03ebcb1620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300475bd3b6da326a34c120f1181f354b0c416f7fff09ea617452af471917a9f5b62eb0df54ef0afab44b2ce02a20e0e570231008571318e1c6c298c29376c03484d86e6049c03e9053b0f4ff924d2e6a1585ca5ab03f3fd6b04d84a288475bf1f5a9c9e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230096b3c10b1fcbe89db44244f0bea292a88e6a92e7b931d8e058afb867bd7ff96c42cc2f22ef07fa0de05bab1c422bac4023056f3283df1569182d47acda5daf81ef61b714c1b25b9f9d5d15135136cf2c69c59abed7529ce43effb6e4d42a5d781d50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230089317633e2e03bb6bb30687ca618533bbd90fee9e61950b1e290536bd695a5c5d68540cc6a9835ca9fb3c36eb02ee9b02302a745c0b1a74ed99c96251199a7807820b5c088a44b7f8aff4d92c1457d1c22973a470aecd7245943812e457ecc720af0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100935dbfcbfa75f924fc2fe24beda03e0e5806988298b0dfc81522ee500c8f70a88114c68607a6c0cb6242eb27f0756c61023011f257d17346198489abe393e0819cd879307e963a54f5df441c3e95f63a03070112b221b064212b6f4c4a68500ef12e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a67f8ce2022bd6c005e11a9899130723576a914bf2ce5c0ab39deef60f7f345f633e26449c53ceff4f686b0aff453d920230763c326c3aaa5f8ad132aa4a5d667909af0e5332d3d0fd80286e856f18527bbc09a0a0b7335fa2169187834e8f6c36700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ee8288eb8a04fe1c5b21d9b3db2febd0f53a8b3b9b76ea5db11b5dcb130e5e8752c3a221c81c84fbc7b0c4b5f2255902023100f316044c44678608eca597317841eaa1495aea0621cbfb4068685276ec1f0702a5bf84a460683672d00e15c61daa84b60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c4247f25a4e38e5cf544a92e8bc02a02faec96935fdb852df89d2fe9ef1955c0795a9f6f87b24e4df4d99437c7aa7a17023100c50e32acd46543b36e14353b4d1b05f85cd9d18e37c1d18a3fa0516d05ac0bb367691684dc2c266feabe4bf2048c90330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023004687de1fd44d30b449c2e09b03d17c2b8cdb65a6df09c26a1428ad0bd3cd6f3eaa8e475b8316da8381768448e3e0254023031686fd0d0eeb5de1bb8e105f6ebbd7e2de2e515d5ba11cdb05395efe0bc8e840dc56bdba847b934e66cf33bb1f7ab6d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303994c836dc96bc8cd37e95edf4eebdb1c6f754e95db7bf3f90855cbdc12ce59b0c0cc4cf9332b2c1e25b2346ac8f3358023100acf8c4c6081f92a5b4275838f88cabb546055a7d8518b982f79da10e8f3aee9227ad309aab3cc9dd6914791c271d7dd80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230547500e621e182e72af49e9e642f7905c2e2358bee949e733b9c32c1df79a3a4d5ce6b9f013cb7e43555c41e4e50c5b802301bdad0a647fb9bb5729cd56b63cbedd45ca984cb3783740a85654bb040ede3f0ceaec4b84dbf011442868ca795992fd10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230459c2def6940a8324878150e2c82dac583e146aaea858342f385a601ed69038c74d34a843eae201f85725952d6ca1ffb023013b161e8a11ee55090f783533f7ea3208048cabedea9a7666de6829f9b6a79764534f72c9484aff4e12e115330f9015b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230126c878e867d04f93a20b637c5d208e71dbe442f4b5dd354d1419a647f5bb7a3bcffb89444756753ac931e5e47c9d7e402306ac1285f0b637b1bea259a2cb21b1eab4528cf8a8e5f3ba652d047a0d95c37b80288de3199deed1df3f5debec3932f240302047c435bb500673065023100a41a27c70b93d546da0ce4503374a4f4981a1b4423bc585ef0605e62d0dd33fda46caa9ecfc61510d4243fb206e0dd4a0230650ed0c3f8e72710948b77380f38fee234b969148fc00781aa471b59ad309bf9f5cc6f118437f8bcccfcd131468c74df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b726eee5d9cf677cfd54b02f6736a8d47355a15148346a315392e1d4548b74188ffe88a56903fba0a2832db134f1be8023100d7eaeedfe3558b15e71babef555cb1e4940fbd70f4afd91b0051c8cf23132dabd99a4e4c52ec46e7aaca157ac7b95bde0302047c435bb500683066023100b32aa5513786ceda4f4afd6cc908aa327f6b7239a14ff1b205326fc12400829bf85813b697c60a56daa97284a645d535023100a5fb4aa029151b5bd9b4539a63b6613f64fc95f6372d0ac2f8d9c928d81510cae0dcb93afe3ee6d94d93f74c07cbbe750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b8ac15f4902647c08c1d4f18bc66c32e534f0548c42b82fc2734a96a14737bbb7536b3f10dbb3b699fa5531b6477455023100bc2a864e594a810c9e10909ab70c0d61ffbc2ffe1c3bc6ec2a4380b0e3ab8f44828959856eb7f37c083666fb5010a0a10302047c435bb50066306402304040d643f80507724010707dbf0f248082f941815a4f84e5052d40c8d3292e1aa59ebbd8ee2de567314d854cf51c80b702300f05cb9f6ab04a7ae5a21a6f78b9ec886fd1d3379c8d5253f985eae9cdda5be01744b165b46a275d5d2a00950a9090e30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023002ad2958fbc47c220fb81baf51bbc182253cd4ddc276656004b67ab3d42d9d4e07641434ba65aa2ff98142a8cdf65953023040cde79dc9b4392d60638bc987945ff19e0438ab165144892411b3c75c3032f42b3dde324110a4049de4b50e58a5755a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f6bf58f67205e011dc15ca959364319db3208ead066b37799d10bf08a8adf329d343a3e5b29afb26793d67e1313c0fdd023100e91ee4402b85f5a3fd589a1d830561c03a527f85357509de8818d23adedac890554c50b210db963e47d6d9484c0d04f70302047c435bb500673065023100a13868d8da86322daec4700154e71635745cf704916ae80e95319ffe786a12e868545a9d122448c6d69f532606d5ee2e023078a338a7cf4b5f76bb679dfd93c8d776cfa4d631fa7aaa1393485283587ec77393c96e2e8fe860c67a396cd0b5c6c3e30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cc6717eeb52a24a70fe9a31481fe567a1238e469794d310c47f134eb75aaf5e748990cdcdd97a7e8c927f66791b7b8c902306fa380c09cfb6364eb383c02cdff59e8dec7b6c17a525f178910251876e7ad31c3fba6ca04ce0803869abd47fe5d44010302047c435bb50067306502300b4b130d52396fa756f82c35de510385e27ad203b11f3b89c55638befc07c053b60e2835e1421dfb0192b8679714b65d0231009e8fb7ac274a6925be9d3b34acff9e67493870a3d9cf37fcca248ed8aaaf7baaf53199c2db511e2c914e5ac71b3dd6690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023028c2bb2ea30ef53872aab16cc18ff1618faafcb4ca1278bf8614d5f0ae02fedcebea7edc0101f211b319c9d1d57e6cd9023079f832312abf78f0308c31bf4dfc93c642b252807dd303b31abec88806b71ed9028b9a0e366add5499528f2d5a775f0e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fe1aaf571a836bdfd4d48705f1dc2b98289eda70d1ae848925f0202552a8214efc0c0073d710dd02a475a5b04d2e87bb02307db294960fdf81d341d9a1629d90bdd2d21e18c33a433406ea1074193c7f9752dd37a4687f6a344a87ee1160f526950b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b0320af08f068c389b90c0e9d8de626832f35039459e269aeed0ab66a8d65626352445cd1c7ecb1ea27f1651d1109093023100e680ab126fddf779aac3cd31836a7ec438fd3c2c8add20cef26499b937755824e8acb1c91fffcf46d5bc08f7cf79dc4c0302047c435bb500673065023100dad2b65bb47d6061a08fe1bf6c55aed566f884a443957e6b4c14892c8e6c2fb5f03966414fc151a402ae3314b423b7ef02303c12037b71cbefbde82566ae45e6758da6cdc315632c70a54b964b33ea3b84d48cbe2e2e245ef2be68749aa108f131f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023000ba068af9b7b1dce57150cca566420e2618e4ea05f2afaba71b8c75b270ac762731b002181497028ff9ca2dbb36533502306c3d36601c510d54dc16f07f2a8b78f284d4ff43955b776c0f5ca852cb2246ef409ccbdd68712da194a290c8e43bff380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301a5aad127c388ce1e3ceeb5cdc16651bcaa7b29b0e31c07c86795f39e772139123551c64a21e7305961b51b6dff594c5023026c4958f01020f17dce8f91a256e8dece16fd76c0aa8a78bee1ede8a6ff950fd3158f268e27467e6b708559e18a37b200302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100947cb2b63cceb3d2bb0cf4f5bc22fcd54a19fb5a6c461c54e051d0e14e069f8ea8b1d4a74954793d53b7c38a63f8212302305c8982f5d14b85f1b0f2226f6a057a9491121fb8c5d8382ba5b1d91f05c01731277c4342871f8edeccc4fb9653b65f8f0302047c435bb500673065023100c153ae14b42f5656bc02feb75a963f9e35e417d1c6d47d84fd293c288496d88725965ab1149159ad7e3035c2a47d50d502305a6a2b90cea9618ab9cc35ed7d62b817342a6a193438aa07d3395f6227ca39c33b814340ec5db9fef4c0a267c7a59f010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023021754fec93a51402a2036c5ad182dc0510e7e9ce5e72e7d9375f9f3b9bc7f20c29300ffdace195ebd77802d511a4eae20231009ad94c8f8d2a73ef414d4e83f63bd575bef520def2e35cff5224cace45dd8cc60d60646ccce2eea83b00df04a4edc8c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009b8759e17c60cf67c163a5953f6a7191253c232e51f5f9158bc8046c63f70c698b03995ae69a5ffa563521c782012b99023100836a29ed80df907a7f878be749b16e6bdf0a12326f3cc4c30c28786f9f0345b7ce06d80e7b8d74c845642130aa5169040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cbc6d4f1ba93544c4b5a69488116ca4ffe2535eba8cd984ac93bfa87c76047a6231567c13316d6f4778620046b424a71023100b41ad7acb136dfc2480cfc47f5360458ab802be000212cc75dc5fd54c111448b5bd323d04012eba7eaa70f3c46e273750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bbb544e0eae390312a6721d7cf51df403012c609a69f276f57fed39478ff2ba4d055197d9fa1f20ec30c97137d357c35023063c9cc46365a5c6bd6712e13df980476c54d49796114537ed13bf97ec18c55f1ae809ca7f39b489f73bd8cbf83e810030302047c435bb500683066023100c6c72f0f7b5674331e659897ff03591daca5caf6f0975ff369f376f59ade19b98957c5c411cc58e3a7feba43ba0b2d12023100d05a60a032d6d9425eb14309aca4d4f0f548900fe7588090d7eb2f51e98b7fb3d09c67d18d17b4d65994c12755d7ab000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230757dc55558523dc5727d02f99df6b3007ae026c753a0fa986b07d8bf26b9bdd274ca3318ebdbb19f93bf13c1743e2acc023100fc49af3d202aa54e69ee0e34638c1190a954385c0605ba8e99c1ebb3f341586f11349841f822e2828a0d1fa14426ccb90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd3f3f0097e9d0a6365ac809921f411b6c1a90b77c904509883e721271faa8d33157a080cbb9c4459195fcd6031e6cb2023100a38e44bff4c87c55c0816f0c6fd620a55767df2f3416e7ec7fa65e67490f9f88d537e6fabc65651d107b390d1be97f2a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304d1b9f3b243b0f41619a10c0c4a95ea4cbf06db60dd261f86f55dcccd8ff53d5a3f5e360b309a6e5cf7d46c6e25782310231008a3157b0011084e48c1a423e3b5ba83c22f91e4e42beecc12915a561fb0bdaeaca241f9bcfd0243aa4f08a78fbcfcb310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d30d669afed1ac7f91cb5d57fdf1b046cfedef8c3a6eeeb3864c2038a4e364c494850da897bc1f7301a240b9b92c77aa023100f94d6f92e2cd7211a6144c17d6774378bfab1d1ea9a947a832d0b8d5f72db472e089c2e1d11a3167abda214f00a76edf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009390b952e518469e0c69b6a206f0712f8645e46d6afc315b811e40f1229a71c93181931b4cf288d86c85eea6e642b1ba02303bfcb102e29dbb247685e2366e296fe96f8f9b19822d256e7b9277017427882b297e4a3ba073396387ed7b132c6b6c580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307396cb066e76edd9b816552711d56cea63defa99a9ff33899d653f1fe36008436a7be440bd61240ec23e7396eadfcf5b02310095b9f614e025e3dc27aae2ffabb5c807a86a8a4d2fc056dcbd8e059d42864aa0f6590fadba15c20b3d39808c175c40390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023075ece906b043af02e4acfe5cd421f08ecddfc9d5e9c7f8485cb91050300319188c665ac6bc90f22032701332c8d7005202307ca9f82a20bccc0a9a2f468254c7d69c084b937f3d46685c4f5bc8ffc12afaac80c9fe07f5abb2595eaff6d0676fe4ac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230733394ece03a435e645871ad386922a4ab229199f187cad333737924e3fd4cbc4be46be1a4c4fa61bcf5609c6edbedef023100dde45e528901956f3748725316a5fbf066c5222c4a3d8a197d1e9b5d1f1965e9a6b22939d127ac4e4ed0ff2364eccc120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305a96b26708bea21ff67894b3114f547cdf6a7de04df4c240f25bcf6c11b6937255cde08a50503dc7400c49c570c3471c0230594c976f63c0fdc4d37d7bbdab50d4eba710189fc5d5a0309eb5c6b8e35bbf2935545c3a82b0ea32e153e0629398f6620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a5caee9695632003e53f5f83483cba9947405dff8671f45786b387d7bbf5ddaa2e199eb653b77be12d5f4a3c7fd59696023100d6a5bbf68a1df6e908605ce771a09fbf89998c5144f8130f60ac03cf51d66e5c78a462c39c76cad79b69b1c9a7bfbc920302047c435bb50066306402307c04d7eac91e22b52868f2a7dbba4b6291d327ec84c48e7665e212edb2ceda494eaa932f1c0759fe0902a8fa6017128202301d47bda154af1f1e9da76da63a160395cf5bcc542fec2741611491f6965127d8ce0174ab4a2089e6f95e50a2b5381c930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305366832c87d6cd3599f6405fed1713c9c5a18a3e0b3fcfb5fe805417ba9c8e25a15e74639aa0cee31084c1d438e36aa90231008175a180d02707796286fcd03f03d372c7cf49a232e7cd1ff54aa948869ae33ceaeed418d409399b609a946e8bcec1490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304a0ecf00fa36b274d77d23e79fb12334ca592b0e257524dd3113705d169a24c0699d983208afedae7e8f08a2c17ff3ec023100a3b92c0f22530a83b7c0749ea3ee161969ba668016442a49d49dcb02de921c9554004c494a1ba4b8c0e42092e54801a00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d7e4dfd7549de5518d8689fb78b4ec064dae9b0503ed1224e55084c0e20ecd76df2f603998543b1ef314c3f5be36450e023100a0efb2cddb9296ed88177db48d6916cf8c4e801e2721ce261cdc77bbe0ae2672b978fb975f88f13bc0b73379c57cd0250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306b4aa71a0adfae0f52db3e920437ef05bc8d919b54db218cf6cc7cc1ce631a3406b44728598a8ac835f861fac01401e0023100ad2daa329023a1a85cfbbf0377844885be600649633d6d5d607e801f07a0290084d10fe6534b9fa046d44961ce61db580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303236de3d07e51cbb5b37ef9722c229a503713ea2bce8d005c9d1b8c59aa22c416d462ebc8e78307ab8875ab280781d4902301798acbc4332ee1b410d1eb4025514078c81efa277702908c7a76c469beae078efaf23235e780207a4f0a8135ddfb6b10302047c435bb500683066023100de467ec0f2d9a8ad684c31e1350b9cca922d6fc36d9cc5f86f93c32de8e92c36a18b4b1530127a41a2b58c713955fa1a023100d597abe657aeb10bc8bc382602a980814b157071f7634bc646957b3e5fcbe8f3028f744187c85c2768758369e54777ea0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230532b3ca6e403d8f02478c1fc8a2b633e5479ac6e11c2693a5e23b93d8babf1f8d5f5dbe548d75f1fda741574c5afdb20023100ed503f98814813d732d275255ba5a65311947db7d31d611b6988e72e80019276e89f5302f1f61d39d6899b2e96c083e00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300f9d459232f826e727c43d15ce7deaab0fede813e7bb3a413c77396ee4a2a2c0fc4720c63f0f3501043051f0323da3d80231008b5e75b0f94cb46eb419d96c468e1debbf9e341a34dc60149293efbf659019d572fb91bcd996971ef9e01d68be43a9c00302047c435bb50067306502304acb054241fc6b9b6df31a27b13f3b1ee90c803d877b337aa30955cafd0db4f25515a95300ef2e8206766c11c07cc899023100eb1ca8ebd4985f68f91750b948e425d3cc49981665ab49dba6940992646b24bc7d20d6548c0e4b34af7b2f8013caaf960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300b450c2a5e359c18dfb1f5c956c635bc2e11afc5f329089d7a532fced8227096087aff21c55123064df83821eff35e8d023035e6363e2086094fe0ad63cb16baef3392a82071463cafb6c9cddc279c4417977d8726e1291917cfee9290db4d1791460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305846a5334117b1e3d1b63ca5460ac71800bd320575702f106db43decb7053613209cb61899f8bb21735f39a84314af130230565a58d3842521940e0bcfb42fb771583c970414c87607bba8e2bfd97dd5a42180c1ca1241dd9885ebe4c095408b3c070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c14b005f6c31ca56ffb69c740bda7763596dc60ea0c4441ca2575ac4691d8120493d509ecaaba4dc01984cb6d0955f6202303350ba39ff5c15f26d8e0571115d48c5f532d73ec42352a2b9be0df5ee6a29d92eb89704ece8a0a0269bc19ce328995f0302047c435bb500673065023100dd41f86ee86df203024ee9ab241f7f67ef8dcee1bf900ffa5048ba0063f7ed98906cd21a9e1c874e87af3d5e253784b2023045402064c2551d706b9cab62b93565e9b44707a3e229e7d8feb512562797b5bafb02e03e83959438f0378b1af38789480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023051c5e9b0fac8cb8facf61e43b63611264bacd0292b8fdf281ae85d2880b50fc65de63354797148b9fe0469890b423ab702307765f2f146621cb93849f6863d1962f27e0172489e52f7f32810cdd0889c5aee91261be7918cf0173cea4c645697b6450302047c435bb500683066023100e8fda8d32d43b48bfc30816d87facf39da71b923aa017f12e184ce2f3f2b40e744c0ebd0cc801cb89f24aee2c9fc9e700231009d4680aa9d56cc3865389435505c0e7bf26b3b8076120d1956949e28d89009e3dfaf0aaf7e54cf7377fcef7c7d88c7240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d09f2695b356d000ff530af555feaf25d26823975e9692fbea73780251c72da9900f8e274efec97ada10197170fe9a75023100d8e7bd8663aaacbbd10aee3ace5c0159999f71086cab99292b84054ccb2b94051ddae247e53898393c030742a457731b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305f68d0f68a42529e838df8592db37c6961e7da0eab2d2162a3c1a8233a9fe58202edfa7aaa1cb3bbbdb159e54fa6a40b02302fa393bbefa0ee3b74d3fb4b924c09577f9bb2fff08bef39285f64982bf1c99f8d711dd9f69d8bf686084ca96fcd9b0c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307e78f3fb695000bcf5ee7fbf8d5fe1c26d8dccf73462b7181379b5fd24169ca7cfc412ade92c294f5913b4609a027f6d02301579fe27e13c70088fd688e33e0e516ca414da8dd44d376132a566fef17f293d767a56dfd0171aaceb79783021ddbe800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100949ee9bcc89942aba07c389d8041aae098253ee95c70cf872cf47ce53784bee9dbbeb5764faa05ce2e6fa63ef783880a023100ea21e6fa28a22d985b8a1363bc2ce756ea9dc6353fef900c22c11acd8ab509dc409ae23f83a5a69b8fe11ac700ffbc830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009e9668cc1448ea459218d5546c7dad0a449f68beba1e55b8f62c46de67d08c130e1a9143acbe88db5b0a9dc8c272b7170230258a2e4ab939acff13dd00888e77e121c17071f8bed82faf2943b42f220eda98a430e75886c23605c52285b81ef32b3d0302047c435bb50067306502306209788242fbca63c4149a2afabfdef2be874eec781a8a0d78faf566dee60b971f13e57d251a17095c11c72c5030b49802310082d3274f17187b4797f0c55ca4d2d7cc1c0d19f840a9dfbd1c486cca12295b75598a8c7edf637eeebd4382baf8224c4d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eb7b74412c95c7c6bda60ef537f2474b5a4811d6388f3ea704bdff54e14bd87af1e5453b4fd99f5858329c3d9241458b0230634e768fbfc7b9492ef9c1bd0ab6f886c389b08b1895db859c418c05e42666ac86bf322c9232e17768e29d26661c2c940302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023035da81502480f55c5867ea2d3d2fd3a3bb5e21996a9127c3bb4a4d919672da17c6c08fa1d33e4353ec8f24f6e37e7e1b02300bb19867900344d9223dd9a684ea73d29551928f87c3e5194971da0dce78ddb05a30478135cd9b9d206dc3d0dc4e49b80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304e788e44f32abc09ad9c1623a2f34877f13b154a5886f6444460d0eec02aea5dbc40b32181ee5bed1ca63e0f780e21c60230761ab7f1654324a48d5755ca2cb4ea9ba17c3926b68909c701d8b1c63a7ac5adae1978a27aa19cd22060868cfb58a0d00302047c435bb500683066023100d6116938731e50e2551d4257da0fde4ce3b353903e182c0c55458664d5479d4e62e7a3c9d10428509df2a7f137cd528c023100af5d1c3c0112c796fe8bbd66c4b33c815988ec7e893f98e895e8d344d04e9d73a37f9a666cf1e34c85afa007f87fc0550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064022f6992b3016ebdbbfea22ce320ec53b2f913de7f797f2537e43a1fea6020e53bafa2a2f8028b6b59743a68df238a6da402310091485e9516c91e25a6969be55a3e5d393fa71e36e9eafa5c33fe674dda80039c45eb42f3fe0d834f51d10c2394a659810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310094488606bcfe9d229b6d754b0af8d7e1757268e8a63fdd65d40ce10b1cdd8bbac59ce8f692b4a9961fd67fcfdd42d0d4023100e05c345d9b491407332f0a8d7b62b88b251a343b6365db68e8ccb763d9150a8bba24aae24f8545d0b8f10322ba7211170302047c435bb500673065023051bb50589906c5757d7723bc49ce8dcf5c9b95a7142eb536bf66d56d38615a26e1dc1942dbf0b6a24633b373d36d2e3f02310097048e4e815b5e46cae4b1c645e781f9b4bc0be307e053dd42467b0ba9566e16797874eaee11903c50276d125be049410302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f2d25275ca95b24e71ff6bd0d8fa7476825b05e1ea48f8974609640e71c16cfdec19dacf9e47daecfbd61601737dc4ee02301f4c069937cce0bab9f9207f59ccf0fb8fcce484a5c80a7a45a760e6253a6210e543c6119fa8f1a02375b44f160476800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023045c37538db59ed58f7e94fbe73fe13e117df1903bfc1a45f4f45d6eb2cf3558cf4608197e6330a2831c62998688f92c302302240edf96b15fa48d6af923a0ebe3434c47e31f38e778858d66480bed5d284011386cdd38d55b2944ad6596163f921a80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f2d25275ca95b24e71ff6bd0d8fa7476825b05e1ea48f8974609640e71c16cfdec19dacf9e47daecfbd61601737dc4ee02301f4c069937cce0bab9f9207f59ccf0fb8fcce484a5c80a7a45a760e6253a6210e543c6119fa8f1a02375b44f160476800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303cb026f6c2087cc19bdb0d1a5fcc45aa3bce28838cdaeb20b7287029afa941714ed544a8a66f7ff2a1d6c4718efe8004023026569847bfe46135ca215944b021b480625757015310eb254a82a7847812b26457d1b1f328c4b6687f6fe1f593c5862b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310083f458c61ec1b32955e285aa3299e36ccd5712a5e467a69c48c454cf4041f8a5d7558f2bf1dcb2d31474b825a0824157023100f85d092d0d7792f5ca2be2e1fc93de6ed585c0d07b8d695887e3f7d8fdf92bebdc5412bedae3806fb80df4194b45b9c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c85f4cf067a5099b4b4bcabaa4aa2ba3721e8e2d334ea1b3bb66a3da294ea447607db06e6694d12b8eec41d2c791f3f8023100dee82e8c44b35daa6f63f9760b54bad292a6fe51f9b67994008fec372a104da21719800b5a1e3cf539e3603ef1c988280302047c435bb500683066023100bbc6305988371d7baaa2e839971633f9e69db63a644caf2a267db72e4a1ce7dc456bf7a7473b7b70c5ca225f9ed95eda023100be9d18e6fe8dde3fe0e16dcc2e86d2c124ed693e07fd8d236a66cdb282182c21f70fc5020a9171652812eae6b9c3b2da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230274a609feb8837a55e51bdc63da00a439fc724805210df7365f46546e182200c2722b7b137b2357c5dada50b19d7765302302712f6b976c2186206b621f523d698411401befd6d4034f78e426c152f8762e8e6aeed95638fa975374e0f9eb3dd7b7c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a57790c19f87a8f1e1721be14bdc799a3faf26e4d7a935f7d20a04e0d1e56aaad7ecd73d4bc077ce8dc956e7aa2fbb57023100e03834fde3dc05482f1771935677ee216302386b42e6ab14c3f10cebbf2ad6398257abbd4f3355a2c130d039cd03cd4f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b59b1a6b220f5d8b16e0127e34fa4cd60c5bf8ebfbbdf2484e15f0396bf4418be0db5a812c85a714206e6c07d3323a2023037f97ef59b32dd2969faac2648d094f8167e8e6810090d400d284a65069fb820417ba266ca8c1b970a1dcc0efe7eac360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b59b1a6b220f5d8b16e0127e34fa4cd60c5bf8ebfbbdf2484e15f0396bf4418be0db5a812c85a714206e6c07d3323a2023037f97ef59b32dd2969faac2648d094f8167e8e6810090d400d284a65069fb820417ba266ca8c1b970a1dcc0efe7eac360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ae4db422d78e3415da9c074cd3298fad640cacda3dfad272032e44732a34e7b79e4ee651b37ec7c66dd699552e997138023100af25dc50a3d03309313344ec4546c23e21caf6e1c8307c75788d4a5df53ec271d42e1a71927f80b0c515e1b442ab459f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dd37261b7c81417d7a622584f2da90390ba389fb529e61ad0548aba6c7b113c07625c52dfcd35c7e946bfc51553c04d0023100f3f95b78b598baadd72341edd1e9b800cd630fbc2d3ef7352eabdaa1c231db98ec15c34f9b972aa2d4b0e63c23bd05250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303ba72b61254b32c82bcdf61b21ffa1df22337d6b1adfdedd216f37b6649fa11a5843a7a07b3f594390e4cf72c0c61c340230250065de21c2350bc99dbea7483b6d69292f6866838445a2f00b3b52bbf5b7ec38fbe76d4113a328f26fcca7c48f09b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d724d427f9c883a8b252b39c301ff9bd4d64af7f99d73b09b7c0d7d9a6e60cba61687c1bd9af2d28ab6f180404192a37023070efa3baaf0f17dcfef01aeda40cda6b5fbc73c89496d7b4f32022383260fd261fd29c382e79f6975ec6892fc7b5dddc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230483719b71d8ce30fd67420ce070d6847d92ed2dcfaf9acc99804488865017e2d8c04d4d329585ad00df978a326783053023100b4194a127277cdea496a31906631ce72ed071c9dd526545535f9549b2898e30f85412e15828c5abc8bbf697b9cfe2f960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230765f2cda3b061f773d2770f4b2b3c3be118384e0be2604ada5b5da00afab1fec7ecb4441d68c17d12c9719847f287d0302300dda2c6efedc4f771be0ee14b1e68047ce62bbb1b875b2fff1fa7a1f192cf15d3d558ed2cea6246ca86a2594054f7d400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008a69c9ff3e5711ae8c1834eca9445632983013f85aeafe24490168fc3322e63f8ca8a5688544a9f00052dbc6c8ff402902306de5325139f3e5c7f0f6c9a39972f67e1f7b6730fd3bff4e0f9a4a3963a51392a8b598ba68515ac993b04efa3a652dbd0302047c435bb500683066023100d1d971a1d1e749bbb243bf95dba5feb5f263dfa7dc8c7f34db1894b4790e9f75da1afc93b8970049ff1b63dd9b57627902310093824e11d7c67f2ac8144d33f3b4ae0735bea1fb61a791c126729a2566a18b1fc9e99ac88f195ffd5d6339b1dd6a424c0302047c435bb50066306402301f6e3aff21fcdbe1eb99def3f2534636676b58be4686288830a9c727d1eaa221778aa9ed15e4a90165842946d6255a38023021f43e683de7fe4d23a0770c9de52c9744b8a082f92ce15c3f4366e1fd03a86de3325f86eec4d4d5b36fbad601faee900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301628d487f6861ec557a39e56169e1f985fa874018d4d414ff545846f5381b74f68ea8ed9d1d8829bfc26efb423d76a8c02305241e35a08363b349ed2b3fb3ec703bed0520f658cb6f6d7e2948f7773bda6747ee1c33451e687a98eb688f75a9a88e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e3b22baa7880a0c8548d3ee9ffc0b1f2f5879776c4d085d43d2d69a432da642b71f01f574fe616f196258c5eaf18479d02303bcc5764850988defded2a63640ebe7dfe9f2c71d76fd5c4bfbc3e866aa533de3b5b0e2b7d404e6c76e83c0dc090413a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bc3698e43784fbc5d04955701d9578362786aed8f89e96c8ffbbecfa664480f646e1e900c905a60f5665f0b29932cb800231009c949c5e6a3534197a5908f0c7a31335c072a71986797d5ae1e9bc095022defc61139ac675fac53add135dc18188c96c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f06308cd49c589d1868694a589e223bc965057936937c309b2b8892b5b1d4bbb564735183d69af7e72a4db87182dd0b802306bd372801fe088621d9437d8767f856bd00af4462a59caef622780364cd065397e6f47125f93195bf3c3bb81c7863ed00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008d1523cb5e20277230aa661120118850de1cedf94c7be2223e475f74d7de976364b698d26212450a828425c46bd4fd550231008247dfea9d00b02f0096f32f14271381f9893ce129307f614e2ea217b97bfe86fde8a927cc7c2d0b29c32d88876ce65d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100929e21fbcdd343b56de3f1a66f8c752c677788cf93ed10f027c022e90de7a05a3474b9abb90cb203b13a295dd4b4778b02302851594e93338be2be3001bfaddcc73aed3a5be5cb419faf86cbc10e7990a2163effa62e4a5062220038b09c9a0837d50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310097cf3ae2b6f105e10b10c16df39ef034c036b2c60dc82335e0a9afe594b71f0385155449999ad28f7b489e4147e0ec1c023100d46bc2a0206aca5c6b899641e143f37f7e8727096d378329b52b0df43793465f0e131e79f862b07abab71889a836626a0302047c435bb50067306502306b5c00f30a51e25c94ba64feae02208c4efd515d61abdea735110f9325b599580c9e12fd733b23d52c6b038dfb9a9cbc023100c449f1ac070a1b1980d0d7ee8545bd1a0bde65edc6efc181697ac73d05a36b585734118c74bfbf3d862af686fa5eac8a0302047c435bb500663064023039a7e6036e3519ebc3333e3b6e6552edc5347b2b277a5d7022f7dbd28b0b19c93dd1dc786be4f0cc447d403fec2922840230643e16c40d553143bf23e5c544e79292d9cfbb115fe5fb9672e046226a12238e6cd878abb7093ca99b3347d8072cafb60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ac9571f01fc6f700cd41b3340b921105df8aa05e04960c61a14e9e62add69d05c9d7ee2b4ebf6ddf02d0bbed996e1eaf02301391e06276e72eb19c7b4921e35f266cf31dfca6ef808d6d64dfc199b44af5e36c8c9ec4080aeb83a74550e80f2bbb730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f264285ad5e38bcd8efaae65fb06ef67688122bd2aafdf98d203657f276394deb09da69016afe4e611f96eb84ac1dfce0231008be8e24a6f976723ddd4ffb1715ca4fb2ff8b9f1727bb69a95e9c968503c7a4cc70e0a92495cf5c9a2a48c7f707b7be00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305162346dfbaee7ed61cc3ab5d31ad105f497cdb7869f7b32837a2fecbb3e2675974f51950a0716da218df1d9a5978cef023100eee1152ec2beb0d663b711301a3555d5da547537e7816e8095a28b0f528e601588d353435f3c22e8aab2f11fb59dee3b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cc6de63bd7157dad9352d574c42ab339fb2aa6f3bc8356c7857472b8b56822bf6b103abc54e4946997fe1ff838e283b3023036309400b6691cf8f32370781e08335f5a2486d93cca8df7adb814fbf9a47dbdfd6a6d1321fd11885269ca92221445b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300cdd4f4c8e22b63407deb00c11e9164afb9e220d2fafafa1945bdcb7c246f03e41c3093096c3f08073b982dc1a76f37502305537be86add38687439a12323128b358a8a4d882af5ef2af3cca34e6080369f0f328b9bb22e1245e3c540861df8120570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b2189aa08b5fbdda282088d1b15d5d106c3c4d2f9c2d6ed289fd280d7f32bb48d57fa67ba10e85e48b69d1201312936d023050827c6a7f84b13f80e0b2c56049f8a1b55ae43497d823adc58f642eb9743d5866a281aba4116e6af6bd85d50bf9bbcc0302047c435bb500663064023051f2b85172a22ce3e16eccbf82f0ba3e0a68c31c8d34b86a00734074e41a09a5ed2363ea416b70c71bd63f143bf954720230202e42b0cc6ee83ad5af878cf10b35490fae9bac93921ef7a43a82b36349018451210c2a93bc002ddedcd67f54afa3320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fc65233fe2d884ff6c4d71806a5e69e4499bd9c24cfcfa0ca4a74e606443fd18d0eecec1e10aa63ca566d53d99aad26b023100e07da34026cbabf4a5fe47881615f37bdcd3907d7d2e01fa6480a80bc25b2bc480aff52466ad4f59df0ed39eb4693eb60302047c435bb50067306502307bda6416107d6c284a210830d39bd953c3f584ec8eec18669991d41123b7461fb7f61de0ced774a9465092cdb788e458023100ae93a90562425efe31b1fe21b9c44e45abc6798de0fd1aa604f150e6f4a08e30fccb881d03055119add782883e746a250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bf5d578a67ba5d2e404a74a5e9e129d8194df47ffef643a8df3600a728fdb484f657ab57c6de479e0930501bb1e3808e0230106dae118813e96a6ccb4a5bbe0608ec9fd24dde336ffb37a0e4f629bb8f8016e94ede2d5e5a78796167ddec196c785c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100affe0f795aee7baaa54db230af76416c197ff7ae1773b4d3dd6b9ac226459a4432eb883662a84630a5995b798ed1f6e40230011a03972d654239cd9d0bf8fcd0027e8bd9cbb361c928afcaca2c667cad98e85fc3e03831d3c38a3b8bc7c67af4abdc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1e82721b5fbfd5bcf03164ca5dc0a1624cc4c1498bceffadd48dd20856f562ebf3d86dd6db034a4e8a9f320ea6b723c0231009eabfc6e31408758138b5ab7d15a577bf60eb28d2723c6336a515e83216c59f2cc5d98990a34847667a740a11801af250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100916d881bcea56adb2d3947932ac07e1fbf7af46c2fb5433d1389e6d6395cb6067a94d0b486117b2893028fbb239dccdb023100911dd9a53fd927111bd75c3842344c434a8a9c8ba8546c1c1aa675f667cb5ce532d6723a90b0964d23357be4893e7f670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f6c0391a4e41a3c586172715448c9bd7dc0b95d0d3cea50a234c3caf845792ec5c6e2eff731c972880868716b68117bc023100dbf29ac1e4cca1307c43bf217d8b9a191f2925cb170d96ae40d775d26d86d29c5e7a7273c29d36fee6ca9e2fa2d6995a0302047c435bb500683066023100c94be16e700d2bd3c1edf8829fea11abd6589eab457dc1ae40de74bc156995d1ed421d110ba850c4199fd6338d89b394023100c42eae375351fdddca89ab76886dc1f1eca3c277ae249c3187f3852c67155d7f0fae87a502fdedaf3b418a57599960200302047c435bb500673065023100a6c470cb18dcd56669491cc4828d8f1332644a1a272da73de44aa3acd8dca4dcf3d8682fafd409dd7b37c632d132d55a0230589d7bb5bd9d658f616a5a0d297bbef5af3a21ed008c6048e8aa3ba216afc3e9e86d971c3e936501d735c81002d44cdf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306fdba62bcab8cb567826f0925691cce6a932c2adbe14ff13c5c8203dbf3dc02344a9b06879d416a74295f71b872be2c50230292bde73dfae1cecf1d30f53a5bfd08b84bea62e1dd003be888f518cbf997f783a36c50398b7372e739cd39e365b20670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230408ed27ce32161b112866dbb340890679bc5f43c8a1e3743b4a3c0183fba79c09f6f84bcc041900521463bd9ed58ebd70231008ccaa17e7149bf1613817acb1b83843dfe246cef0ea8b5270d26b637847020b7a550adb7cb47782860efd5cbea5497d70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230392dc8bdc76e7902790ee06db3a27bbe5c1c4d3314981e22550d0458a2beb8214ee87e2ac77a96c39a23f7ef7a6a24b5023035ae0a486def9389dcc7a5751ae59df60f9ac1aa11d25ccdcd7e2d5e8390e87e60f93fbf1922dc56c4fe4531b61e30790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ea93501db1345781fd7b0009f066b3dde0c58bccbe744082cb243626037c64561202b97712535e1a66c3eeb97ea749390230700de4e027ee883ce4f44095fdc6e7880d88d2883015b7ddc7e7b417d3a74642be6755b59dd03409faa1c2e405f72c180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301eca51e06ae9b8afbcf3632584a15f8bce74c7b0a9244cb07135115c93871b6e3661f5c0258b205b8c6874a53141eda402303f4d34a75a9847c8ebc04a5682127479041058ba52d1723bbbd7c6678d9526b7d177b0f445cbda17bd18f259e8d95e3b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b719f9374bc1f0da982bb7d0e2fba02ae772a5d655b56df33117c53cc79aa16672f99df511ec38c69c9d5ddbcdf41c89023100c783c1745cd12581900e13418de93ddd0da0ca8298dc625c03917fa5841a96ba9b9619029dd9187f0691a835641e9aa30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100deb25d95a5b06dc33b77ede8329fc44bbb507cd401d209be6a2fd1350813004dff9d93dbd55ef283d239cc7eb4c5446502306ebe684ab1753d39524f47f2b78b2610dc220584ce588254fc48ce19087c1cd7d02fb3b094d51c0a6985112cefd062c80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ae17a4739269f5cf9e4deea9fce6b282deccfb9c2d715dd5c46ee4b3d7e633037dc95c2ee6db6677c524f6f2993d2b4023035e57d79a1231f8b26da769d71450461ae092e420f03285c7c044458949ef03073d33d66c7c26ec68286a9761eb1149e0302047c435bb500673065023100b1cbad0fda48a9825d96fc66a9942a488a4415193fe53a3791bb10485167b21ff497fdcf7cb67a4e32c6cee7fd489ff102303f8e31d2a248f79ccca054cec2c683f713a71090e413e59515051e3729d358444fcf7074ba3d67102a38e74f692892870302047c435bb500673065023100be10fb602324349c939132a279af9b8ce93c133b4d99b38a93ad8b23c5152f604cfc919fe3e56a30e97ba0f5f83f39fc023006958aef18b59701500ffb3f2d96d0e1d1a2d6fb0cc3fa38ad860839e7774ab3de4935ae7a8fae5c531091bf029e3b780302047c435bb50066306402306241e4ba0fa43a9efede3213dba57b4c6f4691e236c27429d096479def400f51708ca2961c2b8b11dd1eb275f6fbd4820230684aae96318f553fcc63428907521d315a874f3d3b02bb93cb0cf0d74ce620c213e307b77bbed5131aee9b5d5c3fb8b60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d3a48ec46bf50d410881819cf48af65ce796a0933a354806a31ac7c6e160cb8811df959301a6b01dc80d4267e1672f0a023100f0a4806bc286a18ef02446b9dacdc3e7fd1fa7a938e2019ab2754b955499a27a22dce72b38a07d079b0002ccd8c077ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d6dec482d82fee7bba36d5ea572baa56dd4830644a959608b96f6677bb3304378a43c0e00021516b522e6c401b31f675023100de6a356be763500eb01bea54cc9738c2ab829b5382614811a8b18376c5f5b808fb55c8c263abd84befb5f6d3e2d08e2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306ea4099fe4407ec265e7d4dc3712e0a8cb3304f1f3ac64db77620cc15d978ba41cd4e3bf28c44e27411e39a9dff8ddad023100887d4af07e48ec7e6f0de0c7f2293b18033872d325510f9d73b8b12c4c94492c77bbe2c30cf8aace4baee2c353183b9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e6af90e47a0926a9501ae6371d7dd503d374915c2ce914a92fec99993674abed6216f1e9cb99be6651eea085123d9eb20231009e834b0a9a1e7d1f4ed4d7106528156ba399db94d2ac1758726bf5b5c7f9ec4c15f68db7404814165bd55078db23d19b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100abce9eef2efad311233581e629b7838b2d9ba13be1037a42387f1b3982d7c66a698c643d5637ab9a1ed04dda9499b30c02300b6473e318302c83268c6a6c73714f3488a6b20a89552f9d1bdfda654d8fd863976c77ffaebad6148fccb2e19187ebda0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302df7b1a9c373bb5d80fe96bf97b913fe3fd3191cee2c2feff3d30e8a39f7a0aa2360e0e7f19469184db73064d1efd56b02304c5f016b868a7b6483cef27ed2f68b2e8833f893d968eba18a6413a4db930d4fa6bf29eec42c81279c59920b5f89f1190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023075030c82255aecda375e23f078c07327da2f2f1a9c0c156500a6ff8a7ae4cc53b288b4580609bbea9922bcb21a87be5202310080027156c940eb118d63496242e08d0eaeb35fc2f228cbfc4ec725cbcbb4e1472c9a3b74fc6ced57d82c1372a74808b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023013c509045b11f7ca47339d352bf420a047db1b5554edf953246bc255768cef032e991ed64183a6a6ef29898fdc25821c023100c50b17f0af9f07834f1dd0dbcfe04fcb2dfc34f8f289bd6c69247cd10811fed07dcabf5c13ca1908506a61d5b018cbd30302047c435bb500683066023100bb09b9c5aca1a17d78f596c275f116f1045f1a570bafd71abec13e547a9a3fd9cf13defe7053740eaa3e7326f039bf83023100ffa80a669d996b83a76c431ead6329df9d6b756c2742f3de51a25c3cf97006574d560b4787a48288564305c8444b84000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303d19f78d5488a98c4a4459062c2401e44497839312c2eb25611768ffc1587d8bd026ba3ad739f3625bfbcd94fe9b11c4023100cbf87ae69c9b6562accb87604e9cde7fbd7d4cef6389c9373877bdabaad01985f6ee0a51971eaa89214b0042ac3fffb70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306e31e817d63b49595a30d70fb4a9dbf5a9d87ba4e38401df1118e18c4e929d09ba4627f812b27c81e942184b685b033f023018f746117eb5b4592e802088f9e3515d79669747d4dcdf7b846539db5ef7697902f84118320acc4480f7923a24e8a6060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023074c95a728eae1e0f229736b746b3d3b58036a6cf970808b3df063fb3ad298cd862289943a0cd13126c06e980f726b0cd023100ff37ebd52cb8ee33727fb681eda7e2f087d66b60aeed2051aa161aadf50d64bc9933196af32d939fb0dc3826d82065090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c22e1bfbd3a2116551a5cd7239f01d222c141a73800c136064355bcef70feb75a63dfb6e691ad6f3b2d4279bcf6a41310231009479b1b3ea53d67d265e872893701855b47ad409c554fa1a858725211ccd4bc578e8566ae691bd7cd979364cfb31bf460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306cecde8ab00ea609a8687d8de53a946601cb45b99b1f93787bfb4222897e6da3c0ab9570af65d86406d18c97fe32ed450231009dc311ffe381777b8a43a42c0986368ca519036db090af687cb7edf3b207663b9b57030d716a2ee9c7f78b1d5cc64b0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023065dff5b25c05f044996135c89afa6e77ecd0e6f1a23c7974b7d23683c76b158a5dc242d6233ae0eef52799131fb93d7c023100f0e18ce247be3918c0d1eec90936e640f37f2621611eb905a56b183eef806df3547b2dd7f25162b37daaef97e8aa53280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a2fb1c52abfe099c7b47c345f1cc9e03dbee168eabd16dc47cfb27944c628aefa833f210d9c9d20df4285880947ac0d4023100b4090a3c2bd78a8fd8620c8d53c5cf01e3d2923e6354771698e3e284514e422011d8f8003bf76bf7ba69562156d05e4a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c33da4fbd197a7d4d64bf60a967ed1466f7ee8b000193796cfbc70fe8c9706d0d726d6f36e5848286d8aeff92100f916023100ab1f4148872a125461f6eebacb9e76f0d2fb9399d536d9fb8152259ab25e87a9be27ae7d1212824dbe445aa1e0cd5f300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023029db7e28c4fae9a5f8de39040ce3536bff239d76fa7b1a99fe89c61c09e50c4fb7e8c241b8fea239e5476a531b0a72cc0231009755d24f316246573a6e89b3aefe33b6000b94bd5c0d2a8350b6efa1430369a88520b024a6be8f8d6de9d9d2defd66760302047c435bb500683066023100e657d6f0a9892a0d6b339d4779212a7f27fe3032a1115ea5526a24ca45d137cb50eff43ee2c352d66bfdd41d426a1cf8023100d213bd985e9c4a471284815c37f6831f8bebc131e8eeb2a08ce45ec3723eb4977089c4a1f44a309536cb81c2a1e251160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ec4cafe0be9fa13632c2008be90369cf3158551f85f98e139b2c8f33029ee2d8ad3e2f132204895affa5d8d7a899690d02302f209c068c9605e28fbb52e5580ece71b7a05544969a7eb1f055e093939dbba4a03965da52173ee92889f7880a5b38000302047c435bb50066306402305080805551adf7b95884815d9b7bb3c662e575bbd620de06358e54fcac5c9f1b0af3dff88ab5918f32ac0ba3217e9db30230710ec48430cef0655305ad9985b3f658787edc0b07c549ee0ca599c64123b1a87f8a15b1e51a1d0ae8347c6a74e9f9380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302af5661e095977551d4de59a2aa64182b1e4d93bcb7f75c5b5310c4c2866db612e54bb5cc20f429cafbfdcb34dc421c6023100f0981b90e64943b92dd434927d643ce160bd0bf56313ce09554decaa7f1ce5d25f8f9f78c6a462277c5a16d42dbd2ddc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023078d1470d04257f897e4dcb3afb5b801a727d2adf0b78520dae3ab90fb8687acc1881af1659716662e766a4906c5b236d02307cf7502dbec101b09b90b0ef0c07282a08edd44ce20492a88f6c6163354097b71a076ffc1ae54f4d9b46b7a84b79d73d0302047c435bb50067306502310081611adc2d56f5a929176feba3f194b87f4cc55053403e19166c14c3741b7e825d6eabcf611c541ece019356f2ca251e02301778dac6cd91597315da5543ded8c84972b10b20241d6eb4cfdc2ee7602338e84d94454fb9ba12042515b6bf3dad5c4e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c01967cdc26f05772ee796362a514e1eb73eb640051a9e48df48f377b892880e22e1b53d86906478f70f5623f30cd68502305cbe7b7219e8f48bb40ff408c1042a3abef6be84f7e543ec3b5922b715bf1dd599c02eac4644004dd1257343b2e1650b0302047c435bb5006730650231008cf2e1913e5ecd3a84fb739b8e56ce61aab2cc45ad65ef9526fe06e6a600cdd490ce645200e6a633df4ae22c45e87cc202303d3d7b93bdede87e49c44a5117266e79b9e4c8ace8fddcefefa0bcdf2075ba6ee2288f98c334a6368ad852601750e3ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ffaa59f58a767348b4c26cc54e17077d9153ee35234e04c5b072a1fc8c9f80110b1480dbf2b17bffabc107d4343c292d023100b094457b8a66e1c32a51b7a9d35fa9f369a63d29b8f4af5bdde26453d1b915d01756a8d8efba6c199f25c61b76a1f3ae0302047c435bb500683066023100b7028071f6c1543761c15c28297410e8bf414a3da19ccffc99fc48db21a5022e133e32bf4b198539c56a91ca2ce865e4023100ae817e1e0d577ce49114a4497223b7898ee392f61d2729e316d16071746f16cff2e7c98b89c9d7d49c024f56083016190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023070f034193c2197c8656c67965d4f27b7b50ac21c3324083074f71468675b4263be85744a39aaf69818c9ab86ca51e60e0230780b653f47ead6515c9373dbf4e0651f4be2dcd7a9134344e4cd0e1865c698ae4da1cc17e7ff6f97ba34e5a918215ea70302047c435bb500683066023100bb8a39a0eb9aa5c06697e7bc4304ffce580cba0c5f075447dd82e8469172d2a9312b962a9781e2f8e477d8536737dcb5023100fdfa4cc989211fa819c1120ef368cc58092109fce3ed1d033cd1ae18405feb1b98ec2648afafa0e03ff03031373d4e920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c1604f8ef8df24dda88f8f2e61bf1b2136a777dbcda2b39b91fbbeb1262a1879b98c486e214f46781ff0a7c49f9057d7023100e9bacdc37c2928829366f40a7073a01bc58d5f666fe72ff22a7324e2967acb88b66c9e20ce5487c8014af8a9d688c1550302047c435bb500683066023100b72c31e68b47e2bbb43d38a43ca1c388fd91b94ada7b6113fdf32d21d6e7b14e2a9f7477975092b9263233e16b2a78bf023100c1f6d41eef357bc6f73489904f286f715d354490555b5dfa85d886434b36556302e148c912b01aec2e3eb500be212bee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023039deb6dd3691b67da00731c98b8c0d7a84cffea1e4e8d0538387173c17a17e7bf6480f15effc018d67987ef28695ed56023100ffc08b3950678ea26a2d028eab68084eff4b767659fb36e23d76f8ab565671b20e009293ce9530f7674df37b5f9ec1730302047c435bb500683066023100f54598c004d55bcfefb47d31d8e4bdea164de304f181bebd12cb7874d61b7d030bcc54bc9ee2cd973fabcacb098d4e70023100cae2e322fce3b0de8be3424f5a329575ab2f564aad9b65fc10e4adf47f905cfe973e1f0f490de7b8399507fc11256f320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100821d3b4f1e5ed2e66f1985cd2af05cd5f0fdd6817660115bbb26be97f131c40d5b2f43bfae0bf1b3cd42e75df1fcf54b023032cbd559296ef4f5a417ce6cc02379e8568683c79f72e7d883a487ec53db18a0ab2b83baa689653d7c004705fc8b131d0302047c435bb5006630640230783c875a4a95079c51190a93495af940ec83991be6bb3039f17e7371be24bd4fd6699df69d707a96f70e3ffb84a0a57b023013ddfaa9c7c2f366ad2276edb13ab226350ef5fdfc1083f67c0f2f4ca42dd0e518ebb119efb662f16f502695cf4113430302047c435bb5006630640230014dfa1eacaa42e0b00a0a7543eb01847b4b7f9c0fe840ea82df25c577d4c43ac9a3add25f25fb1f98545b71c6ec2683023001dbace35b4f81444dfd9bd932fabf5efabb8310014142779dc0368588cf6d5b0cf64993536f9f35f86c9ba7bbb5fd4e0302047c435bb500683066023100e267cbaf9a3422161ea2ebab6db349fd37b4a6719d2b78b1ae382098b7a4e3ece50c19f8112d6c0e8ba851281ac89db20231008f097c39ade81e01f9457c6eb8868dc2d705abc0746251f97f9b8fd562bb6c00a2c32a39b25034649e118cfef7457b960302047c435bb500683066023100fcd3b6321995be1aa875a58ea23b5795406d2ef47a064ee3f4aefe89b8a289800757e4ac797713982b3ea5c36249046c023100d830a75560138e75d8a7226acfdb6882256b63cffa4018eb46752854299ec083a18450180218449026682333598ddfc20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305aa207dd3aecc614aa0e3fbfb15f2a56e30a85667b15eb0c9a5b5e6ed4c07da61312c118fb37c77da918371c3ded40de023100d29f64f32c18346cce7d51cd4eeea92ba863c81d9f317f1563af33959a50b78fd6b6a240f38d22563f2f92d92bf6a69c0302047c435bb500663064023025dbfeaa79cacbc3079b34d8e07089eb521ffd05e590894e1970b834d04c4a905797be207bd070cffc218b5af43b269902304182c8bd3a2396b0a28f0646252507bb47570699806724b1e3a71d562fe0f34704049bd5e067ed38757ba0a5ee474b9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023079ed243134a554fbd77d9ec5abe5263d2c024744037b7b735d44c0f511a18768aa3af9f78dca533ca646749a18e10480023100993af1df52b13a426a7eb21727e5ae24a4b3070c6231b27956628e71693a2c6a54dd7930780d039abd87e5dddba5025c0302047c435bb500673065023100a871ed59627a0aac4b07ba05af3e18a34f3bbc9b38414a12cac2d66644dd78b12fbaca0773d3eed5bb6821825af8861902301a8097a02b709df4561a656254a5be7f4ddb9f6aabed378573cef36f153916ede4dfd27531da8161053343cd8a4bd58c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009f533abb20470c44f56e59b1ff318b5f8b53240662edf5b680dda10942a401025159e9161ba7144cb3d01908d48a103b023100fc24dbefd5b44f7ee46debbaf91f3df0358937814b7cc900d271b73336479e3eb9bcabbf47b58d47c235bf476eb0d40f0302047c435bb500673065023100d4cc0fd29880dee1240998af4679bc2447c53edbb1aa80556ce8e67fa7add6a49bbc79d012bcacce719656e4e1e475aa02304d2a735d2e8d543aa26dad7d96c4ace0729e5321bcc220607620656f518694ddd2ec7f0ffdc429561e1e1b70194593c90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303ab93dea3a1e81578b3ac8d93cffe6e729b23ade6c2fdcebfd9643eed6f193cda40120832fd03e332e1b69f3a414cc06023100f11f3b5792eba87ab1454a7b144dfe2f2dae99db1983c02e4f901c818732ea9965d8b3842d6a4770b5824603ee0f912b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100af514f2ba571dcc92b90805e344be40ce34039ffa1d7ac7cf34e87127e37e3865285486201a693d8acafd42e1dde621402306023313432ef851a12072c6421af759578a8b2fe7204f1bf7dd34b80463c5589e19ab0a2ba12b507a3ecaa85172192c60302047c435bb500673065023076991086dc5059384be8abe4ec3e4e84fc9fd96793db0396ea468c436f71c5ee32ef0f663506800efda5ddca7df90a25023100d0d53959091db28a3302cb7bb3fb9298b0c5f3054ff5754be14b6e7c682fffe5467f19691726addc0e59d1e6527b6f180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dc807386f1133b2ea0444e4f289e7850bae4a620be5b4e46f3a2ee09c551ed3bdc1727797a844741efece5796b2b0f35023024857f1025f74106c1ce52a69fcf4b3890562557a82cb848e752aab2fe19146fe6b6dc7d069774f6c3d45d35a4c27fce0302047c435bb5006830660231008af6a85303285cf6a056ee9cbb1ccc733074006580ae98dd88e79696a014f77ad254c1ccc783e6a149385c95802d8834023100d0be94f40199445845f861585ba47beb982423ed953d589b3464215fcad2fcd991899c8943198bf0aba1909b88d13cd30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310090e168d736aa4b757f65e315ff0842c9049321ce16d00011645ae1c8eb61c76d82c72a4bf062f6b4b29980744eafe537023100e37eb66377a444777461ec9da3dcb6111f199a30ea6337a480a40ef1eefb1e956780279ed8c07ec7a0095dd21cbc93630302047c435bb500673065023100ebb004e4467bfdb278229b7baaab2764aefb3ebd2ac33a5d085b36c68c4ebf4caf43494f306c60682dd809298fa0a1e0023065d69d394c736ec1912432d9752d58f327e6553197592b2538a754d6035640dbd940b47ef500e0d2635ac7cb5a1b4b870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023072140735cc4a5f342fceeba86d77778e0ac31e4079323b71b6c9f9e4ac9cadc1eae915cea142bf1ab27ed821b082a40f02305a9784a50ea74de4cbbbf30b17a682ee65c6cbd21048f77ea105111e6e82fcecd2917f86e081bc2d0245bd92321884ee0302047c435bb5006730650230524ba330e09225a9c05b8545e4e2baeb72b2e400dd118afbde88e3d57bec5b6a0eaabb0eb41ec6215922ed6432da0d48023100f245767a05c13210e0dea59a1d94003c6bf966f751221ed544a9201b4de61dd90860994cf48297830e38655bd4e567140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100904ab3615a9ac489120801dd74ed5e658271cb02e50bac47ae2d430be7c1a02312d06fa0a5ba18aa28e891f846aaabd102304d48f7c212afd99c1688a5b8e1e151fbabb4e53867a2681f8963cfb81b501bc57af7db60047e0af8aea23048416a4df60302047c435bb50067306502310095ba9d618e69c49aa37207dec2a713515bd2873d6b27faf9dedf023f986e3dda4b0c271680b3898df7bc75c737b2643202303b857b5032ec45adb464a81c49fdf261460c217eb289a7836643cb3dea9197d0261e912749254d090c34340f5bca06120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230338f666f90b70d1abd072080c6aa1fc0a3b897cdb33caec4d4194f593d3844ef6584c92f3d2a29bd8d1917be0380938402304cea8b1619115334cdda173ac650cfaca9d32f2e9cf06002cbf086f308e15fc739c41472b2fb8661878d5bb01b311f9f0302047c435bb500663064023027ba76371d8f591d8a7938220bdad2abbbb5f04fadc8108e536fd9be0ca4d7a1db06f9e43b7fdcb265585bf29249446302305c89d61dbdb65d488ac983970677fc3b47d3528f0d418157fcf1e70d49a26dad0d4773bfa40bca0534aaf8632d3663750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230204ea718e7f6b646111950422b015bdd13064d943a1efc1eb4c51d60f3b98a59724b2d5949ef8a79c53082640d5e9a1e02301b51f3563ecc5cbf2a1a5f9233d726008da3806c1c68cdd0c381c98a65b30cf6e6f1344d819094943ff4fec5a72f2abf0302047c435bb50066306402303c5b3f32f57fd70db41593399caf992dfd8825c94f09ce53cbd1de0723b0d3736c2ee66bedfc8843ecefe8a82b4fb2550230080b7621771690d50faef37eff93159c7114f89327237bfc2baa099542c62e8befc426f664d0ccee5988eb380d81a41a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e2c2cc04bef394e4a576b3d8c9dc53b80fa4a26f147641eadc3f41b33c491eec06f5c90cdc29ff20d03afa50828c9abf023100bb7c95e27918e113a8406aa022f2dc9bba1b42c03c3e182e6133015890f8eaa514bc112a7d6ae80e9da4f838a0fa76510302047c435bb500683066023100a02ffc86d6ed9110869c22b0cea234c21f85275e49be328e42044b1684f419ddd1b6b9a63e5c27b263682854cb91796f023100c1baf915d191dc5e13de1d64ce1d920671811e84c4a98466a6f83c86ce1c2f722c084eebf268a4ade2dbe3dba83db7c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a67bedc66aff86620bd9456e94efd0254027dedca5e3eb9d9eaa3334f5cd82e08b604eecf2c593f32caaa1e4b0b0ea2c023059c9846e9a4fb353a842405f17ffdba9ce2b4e9cc4964c4158ab20731ee5be8c01a504588fc94953762a4074c138a9e40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ab11980acb08f636bbd13594236ffee2efcb088b0ef8a8c7f87546da446e605cde4ec7ffcfbcfe1619f872a1af25d94e023070cde38568871aa151a4dbfc681e6b78cdb7f4730792d2d0e9d88dd90936621d95bcb000972055e951086656565ea83e0302047c435bb50066306402304a388e6a37eb66038c73106a5e92d63d38ce4ca26c248f5ec4bf0dad1d311d9d416c0b243fe5a9b0ecadb8607783c4910230623e28157d7ba69eb325f7705050d346d5025aaee4b2024586113b61a011625dfa2a94bc3ca8a10679e37560a810a2f70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b80364c4a1442b57dceb52c79141240ded4c878aaadf88ea146ccfd2a7585d1058627cedee7fa74baab3506604e484c702300efecdff6e22c16994806d25282d21ed26c01be37225e8cc77a922336df30ed319c928a1a8c4ae3a7a248477cccd59910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023024ec447df9ac671072d7f6716d51afbe41007e1f6117e414f37d301c8ecb90d75a3cd61dbee23b36287e254e6d007497023100dc282411a3092d49b1712ce78c946013b996e53b1c78e1a833c2d6ad591fe39fbfbb4ffe5fdf633d1775fafcdd15adbb0302047c435bb500673065023072fa510f8c60cdf208e0b22f9cbb7a57c418878da5fff2cd1b59c463bcdc4869f3d44638a1cbab86c7b7e0c3af14278f023100952ba95e7ea3603a5a1d1a1ae1035cfd89f185ebf358ba0e785bf7bcbeb4f239c94ebb27bff5ca5ec61242c6b0c5702f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064022f6d397d872f22b7955ac6d5f1adbe72945ae5168c93f2684d9adcdcc2e2c712b2d9de0b8428beadeb81f1130c1fc2fc023100c08989e893aacb11974955ca59c4ded8c92cc9e3119b1703201066aa8b3bc1f8600cf72ab234be823ad408cc24b840cb0302047c435bb500683066023100804ce411d8d0a4f26ebae9cd6662eadfc664bb26f3613e614ff9049ea093d46d68a62bc96e0aa3959666c73ca7b6a20f023100c81822c4a47513adf131bdfe8ef729d9c8578da01abb57728213d3f3543b21d7f901f156df5f66f7a49cb57aa283aa0e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c1ff52e1114161f2e578aa1ff7bc8e30ac30550e39340a85d3febfcd3c434e0d6919ad8b74e8659c40fada9585c38399023100f1a97b642b44a2a96811ab34f9f71a51050b3adae7df5c0864e3cd46aa5df7476930b8e916a196f02e4e604a209d550a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301d5e996150526898163cb2ea1dc56cfbf699df93c2b6c057e22094efb249fe0bfdf907908ee3e4999b0ac4f94ce0c87202306d5c7e0000ffffe54572f0c4253b10df55cbdd47ab614a7c293016d068d0998ad42d1d723e74ce5a4148c9b26384c3400302047c435bb50068306602310089ca973adaa4c1619d2a6173f28a5157608ffefc2cc5e3a29bbb3fab76f3fbbba2a98461b512132771807cd4ab873437023100deee0ac56ebb8b50a8bac7171ea5eba65947606f29db6f8710d6c449cea0b440515c211d0105e9a002591f7d73b101e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304a698f3027f9c3870d0ae037a21462714dda4335d621cf8dd4746d742236c36049e311c6411de940ec455ebd3cb15ad3023100b36c2b9c890dc20e0b27470aaaaea0923d785b672d4561c3ab282ecfcd2e5f47e000f6114802885e5a244f2b8c98e0040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023012eb631378fc3e823a05527fe30897f4159b06c93fbb4c758008d3cdcc6c4d042897f66f1ec15d485fb781975904602502303ca6fef0a7788607f013a36847eb9a96a5966caeb1783a79e1136ef0ffff339054277639456dae043643d16ed9f4b01a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023036408fb6872537ec461cfbeb66f5534d0527dc8fb0f1c4a656cb38bafd93f9c70dfb8f92f29987fab2c0891a5aa69b4f023100827d5c4e5012d586cf439a7deb06acff71b85fa40ac4bac34a7feb7eeac38223203cac65f8f8687146910046988fd3360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bb8a6f96e5260d5677c83b5c7804a86bb5c667a7538a5565a5b408a15acb5f0f2ed31f1d28bd22eed3fabeec6f73ddc0023100dc70e2f7cc6b48a12d94d79d53f889863bf8f5473397ab5c18821283b65dee809c8594bf24a1da434ddcab5de39ca02a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ba3130ab8130ec0d699cad8fbbda1db50b80d37a7bca5303d1126e163464de7eac4958d0ea40f8d6cf5cecd375844984023032302c4adc001708c9f8e05aa78bae81b331f08d79dceee5d3e08188d8cc5d4c941290b737f8f2fd4bfa251131e64e4f0302047c435bb500663064023043f842812bc6954722b20dabdce9a31b00ca6aff4ec09424c5af981deef35f85e34904d3c6967bd33e42f5604485e16f02300ef0d00d9ed846e3ce38d3ead37b62ffb42c95d5db0fc8a50717405db90aabdffac6a905b5167f8936107407de1ef34c0302047c435bb5006630640230774bb45513e0da4bcb8c4718d0f3d24d5bbf0b8635e30d25a598f8620c818b353e58201b42f20ea23a8cc3414e0078ca0230576430a5da11adc4cedd92140fcbb381f08701c6392a805775523c22f66d356b6f6476f9f85f2e39f3c5ed04c4324cde0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230163bf7ee73bbcab4597460f0bcde11cb82fc83d8a928229c2693c5371491128d4e8bc5d63db28a32b2793632de071ffe02310083ee1d7307ebe978eeab9c5141fbb81783b774305f0f3ec142fab6ca77f241a3be82b8ab1744b31abd3c55017b53cf710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300b3109de6b4acb4e919f43a58d2726a6cfd3e8b782889d8eadb3c0720c70fac7d6e928bea72bf697a9d881385b35ed4f023028817599e6301e3976029d57bc3db80aa1c494a14e37e24cb15d80f65780922d193d58b51f677e5ef40b7128ddb7ca090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009cdac53138d5ae6ccc78148796c7c25ca89fe3e8b9483db0feb309a5937f1a7b5d9d37326720d7fd946b78e637d58e6a023045a2db11e22adc8270519d37e23c42cfcfb80b429c45556d5b4ec336363f7f0d841417b844d9cb45c5d575ad1cf857fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c09b6e21cd7077bbaac0b02a1eb9fed70fa339d9421936dc3a10ce4b48998eed129c6ed9aefeeb8ec5a3eb415ace8b0102302c276174cb40d0e6dfbfb1818e62592a0b2ddfe73826d312b3cc88c0eba6f868d8952a9676f89c5ffd6cb864363d88580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f23b02c80118e5995797ab345575dcaa20d3c6a0cfcaccce5480a3479ea3507ed4c6d7b818d840d13dff204c5fe6169202307391b9e9812e63226bdae12156be2e1d6914022342e25f547e579b33b26297d2fb1f892c1fe9c74f53c35f6120008c790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023002d3e8873fdf553419f26068fd9cdffc1e042f7f8ae4e926330af3165c1826fc291968d54fe923c3f7e34ad73dac09cf023100b66e4364c19655ec51a49bef47053e5e67450344af227fa5ed770b73faf753d390212610f140d420ece34f0d5a1924750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b3e2d984126c34e937f30878b23b215a3ea5b610a739732daae3ebb44d229a720998c2b461848745ec0ff1423301f2f20231009c46ccbcc950f3aa94dc3b147a37d8caf7cbbac6f72590ade7e0f2a84f0bd019a0bb1df2347f0353a19377d2a73419000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ac2c3ab3e7266abe1289a5438903c4663214c57ddbef6e5c7fc86413066adc1c62c2467f97d4a619dfb1c13c23c940b023005e97028645753ae4dd77f77f749d45f01f33612e498b410864bd60c52e6a8a1932a02f4585d1c1c8b9ffe57171e1ee50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303da4e6e0a9a078f8b933a1375ffdfc21a276ef17cf99ce093d5e2a49ee679eaa3a8f06e4b0658bcccdb7a99d98f4986702302e462ebcbbba85e99b21fe62a0d8de6d1b8452860115a5b090856deb62592e4a7ee581f66ae4cd98b1c3af4d37fc883f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008401af8b83c30c6bcf10b405588dd0f010a81a6e37f3383642559f11c11718fd48af86f7aa948d571a311bf1ec66c05a023005335ded62ceb94ac593d996494e7937ee996303a63fdc4f32a6c96357c4955d918aa86c7feb160b44ad606f2216bd010302047c435bb5006730650230643f2f3483fc72b0b1bd05c6500a87cda8db0767a3a33177481e785ab02bfd252dc02c9bf3b701a818d3934cd884d2e7023100fae21171cbd8405fb025dbf6615583be19fe318f6f820fc914931f998b9a2925a7794cbb5fb1e8c64c3f50e05918304c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305552fb4b9a7f0e411d0a3c387356276bdc0e55e2f85ac85f4294fc6231c663b91c0ec7de380b27a44afe11d24d2d8db0023100d5d69ffb60441235248316ee845e2502fa4d51cf982553c072fd5cb5ef6cbef2104f6236e3cbcfd93a5e0961a320e83d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023004b14f1808a45eb5a0984dafbbcf46464ef995593e11c96076092d896ef46d098048602248b2752b9b455e7353b04dae023100c3cf6703deddbd081522ddd0483f4989746d168df07b424b2d4e0d0c7ead5cf5413b6502f074677b08ca7f01ea4665990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d05d280b2614db5d36957ea84a090deb51bd81603baf65e9346231f730b0ec2aeaba7c36680049ee64d2175ef45fda940230578754f8ce1668b7e78d864c259355c48286bd913a780cca5d8c89c9ae8a25a93ac1b4629839994230da21102de3825a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230396a9406af4b1e12647598d2eede724e15444d5dc26667640b97d76245d232509b09413167d3ad64cd4a2d24a9790fed023009f8c8c6a52d8e4b12e0e7c50424dfe73672d475938f5e4e04cf6b3df051570a8c71670fdfe93da22368020ae441f3f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100901077d31285c18b42f780d788ffe3ce68336ea735af39a5e07b764a7496121d42cde111f6f4b543ee6aadb2f61d79fa02310095deab433812b38949d3021d993fa81fb213ee876a242ee2cdca8212f880f240df9db40357229d6bb2330a159682bd500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f38761c2b24bcf4d49daae59f7870de3dae3ebe8d346e842b1c3766a5f2d7f51fd54b007f73a905e5719f9ea06ff239802304476e5e6d02ecac25d0f5e0e8a869bbb493d6278a70a764000d8dbb62ed2fe4c8b973a85eaab40a771b0a1f62ae9e9a70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a2079b8ecb828e34a1d105632412ca901f928fc7781fe0f9e589a5fc078ecc5d075772bd55a5e690c202423288e5cd5e02302410ef8d9405144964a84ac718f3ab933d8879edd2cf17197c7aebea32011fba464336590b87df158356fcbcc812f9480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023064687d349664c106de4c3f8342e100b56c7ae7b3126e217c52ae05978d17b7ed05d6af087dc0446ce983c5a844897e18023100b03451ad5ee39dc76c9102a7aee9f1299a8be7e1cf73b5eb3e9c4c7cdb8dfe3cb9b3810b5e0786392227f8c731a030cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023017caca0c0b3e40dc23b4f3643d684bc24fb54594aca52ec14b9b3b106063920cff55481300c517ebfa7318942cf0a21a02305c0b044e7363dbd4a8362014e44b90e60ce3f2b1ce3dabd6304ddf203cbfe01d7b17668af0af8f9f681bfe06c3f2161e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006c21573d9fc94a4cd59977f9fbb4e05a5425f5d6de53483fb4b06ac7c29d5285584c36c8c668556d3182dc0c571278402305a31e9b23ff7d7fedb1847efac84c6bd88877e44c22e705083d32cb0d9bcb66d15cea75e93767cb32b34cefabc66d1090302047c435bb500683066023100d30c50d9893543d87d0f10c7dbf9c232d58f9454b2b7403575e83007de18771609fbd8b1ebbf2b35993b645cfefc7934023100b611abc246ac33dea1cda1eb125e61d1189cc2c0a1853d5469f0ccb2e8995149c5d3e6389949b0c9e671e29b458180f60302047c435bb5006730650230357dcd17e9bbd404cd3c714f9d2ee35cb35599ba671dc24b408e15ad330ccfa9d2640c2ea36dd923b6b2274302b71855023100ad216f597d56539ced2ae977ad70b161e056a2195837dc3a5db9018f391399a71d3ef9596a78f6eab7e65445759d6f780302047c435bb500673065023100bb29c6a3a197fd46f5ec1391274b4f1ce7fd5c9db90317178470cbb12f5bf1dc5afbbc3f574303ff3403cd4ed5fd16ae02306e7248c074756537e5a61d417461a2bdb748d31db03240cf5740f9015ca7c273c9c1bbbf864d46facf45a58428313b670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aeb249037333ce8b940294e4447ac6fc517305d1be38ac9ae243f9103efec6f16f60627f0cc4996d3f878158e10faa01023100931258538d4a8880df1e25989506673acf898f944b3fab9773dde03593babaf0e4f78fab267ee1c145ebaa7f5ba0c3240302047c435bb500683066023100fa8aff4a01d84692c521a36c8655f8ff482b98fe3b2524c488ddacfd52d3009fbfc0b576a75e727ab6eda64e6bec5173023100b7aa64d8cf1e90c1a4da9918359751ca97d378bd15807c81bddaca1de752f5fd30df5d0268507d862ac72fc189c73e980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008ee81e7dd5de4e391b26a45d23904c9fb9e6c472904af91f82d25da7c9623c4b79997e020fc0975a78bbe68046e8b5b3023063033911048aaea544b997ea3eb31c067fc1b2250ecc8f90a26486e92ca5250438b6c385fe5f3bf9031afe7619a1c2400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009c03b6e2346ef1de54709f18b17e920460af2a351854290ba842d51522b9212440b2eef99f8de1a9a3cdb70ecd778b5502310095974d9f75137ee729aa54d4090092d2dd206676d03c4c1bc2bf1d815f5c459db6f0ab93ed4146bddf1232540be20dbd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a7b52b0449d8d5c495f9dce3287ac831823412e7cd1412249440b06b2f11cede9f681f0de72a052a6e5c23d90eff674102302b797bb0733404c8b2c1e938f2689db6f46e9117949b76659f21e9f1ad3cfd64730a8649eb5df9944ba8d390d749dd380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ec5acbd6c38d435ad539fe567423195d3f7300eda70bca96090902375828572f146688d7de280fb7fa2416e99dd640d02301f898158b07135b7d213c10fd73db0cb520e14c74d33b271b7ad0a1016e471d92cfe97b5ca88e288c3ac9b6c24c78ce30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009fc985d6d7335c57c0f1a600dee7670c85e2599aa98b1d94d2f961776f449861e0e59beed71db0dbfa7226dadf3ff33a02306e18c54282abe4498c0a5776320bd6d7862893c7aac14ced542ba41e2fb2e04a2d4ae431dc1e20115ee5dd3aa91f4b5d0302047c435bb50066306402305eb195d5f40df66cc1c3c59c3c5b7bc9e406d80ed326879b3704dabe4aae2c7e50b9da432db49c1635c8c4f694b8d067023072f2e09734e3adfadb0037a4125bbdbbe9526d2f2103f965ac6005731799825eb748c7dc1891047d7cb7f654ffd78f340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023031b7c57c8af79ed7526943294b14d75613abe7195141dacf949c31ccdd3ce262770df462494e72489161c796d9665ac0023051728b2ec20ba792dfd77d657f92f8ed11819d3f71e4b4923c998d562cc7c8ca734e3bfe7cc0d959a45a7e9e5a9a59560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dfb4592fc0764718397e748763756a9b08ed50e451a0f46e6bf661d683edea7f6f7db3408c0c3a87f71fd00b21e7e41a02303800435b1a8534da645b1605f2bec34b88daa6cf8735765c3a294552d18e3d7ae27a594237c819dfe859f741d812976f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023069caf5ce92adedea734fac0aaf53d62d73c5ac5ad6d95f523d8fa903961bc900df026c8618478a5c11be7c091edbc45702302289766c9010ed0b585caa581a7b8c2b7392a2b3c8b17b37f728669cda697be58da6edb5489486c10e468826c6fb996f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302a02bd97497cbdafc32b9e8ccf69fc0949298cf788e4ebfdb6af5f61c0cfec862b657227d7ba6e3819cc19b67d3b200b023100faba398fc14829a21ddec751a78527ef87b271046e4f6672e6e62492e770257497e6a9039929aa24f6005ae69e98f3790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009409733ba34b371db4c7fc71c4e1588e55e87cf22184d31ab6a7d4d5083100b6d7bbe818295854f3e0bcd24a6f87c884023001e69bd725945c6ac2f7ad9f5aafb3ad3328b5a13be4473592ccb48ebaa38220a8a6b5fcb1c4d11381f31c8d04d6468c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d9385974c9509cfb568fed4c9593f67a9cdd2ea7f787f543ccda3cec3fac7d794465d53fef5180b00803b9e2869251cb0230086697483c61c2d7b5911b0fd8d2d31387c0702758de501a8bc9b53fea5c8e56d5eecda97df006bad906145d57de76450302047c435bb500683066023100fc40c6c4ea294916d9d2468426966fd64b53fea153c49323b0d8410719994a6a851032cb34b2cd3d7b53dd693e75f9360231008641cb00c1c67e213e594145f487cc5302a46f2dbbb05934b65e6b12403561cffe33f9955f93f1abc1be93efc126508d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dad015985e019f4679b765aa7ba8f45fa8675a7c7b22bb1469754ab6df731e5b883ddec88faffced5e54aa71c53a6e040230167a243756211376a53e9803ed5d56b3265276772af69bf276584d19c57657a43984f3e68ffe2633e99f91b34826f05a0302047c435bb500683066023100e8cdaa2c3ef8a9de3e580d1e406a4a80692a6fbdba41f979383153ac42ee82a49d338d0f49865bc1f004afd3f5e1de41023100b696b91d36124452731e5d5481e2ea2761b5a35dc6223420fad89e0d74c894335d553035e9e9966ccbd1aa3902224c0f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100db64f862b10df0151afd2b20e563cf7b71200f0aa5e2cf250f8c10cbced947a65fbf0c83045f7bc4ff3bef7dc9e78568023100f866f554c7919808f886b389b4fda674ec12b92b9aeb0afec9148768f5f6687ca29bf9286308ab406d2af447344af67c0302047c435bb500673065023010a52cc07eecd6fbc4289ff4041c8cadac0d81436a5c1bc5e976e5f0da4dfbf9e35269adb83e29a1147a6f6461a0181b023100caab53a982d36e6cc5c5ce105b8e750b4e97956904d920c83a1cbf9e8dcb7a275439fcc97012b3b69ad1275d62331ffc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023014c09d402b54ab44d0d9312550bb0225a1c7935e9bf156ad87e81ee3c682f5bb7da3b7e327c0a5e67a62c6ef3716da8e02310096081af929f1a2f9ca4756480a47b9f9da75e8608696614e7ce0e874dfc642e3a089faa0857eff55d5afd523b7bef9c60302047c435bb500663064023077688239c0f7c8ffef8d1384fb9ddbd41c3dfe4cb03fb5d0bb680d7045f1a537d421aaf1e5b18c3a04b77baca7fbf6e402301620d43cef01984f775bb2a0e6d1bfaa2156c8094481809fb322dfbf64994e33b1162264e63f30dc1d526beda60ae7c20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c553a84bede007abdaf30454e802a684c2463d17707af32267ecc08915017d26464d7cc91ee30fc6bfa3948fda01ce35023100cab9e80d085cf68f0f21b14498f5bd62130f36b765dcea588a754d7493d6ca83e63d6797ce8c9bf4a3f87e274822cd7c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b93553312f965713ee69a5dafc822f500de35689240d7fefd1f49229dba5365394937fcee92a4524715cdeea247aeb16023100f3abfc66f484dcbedb3fbfe4bad8dc905c6bee1e7a175b5a164a123b1c192ae4d638922690ed503846b87e2d3db8f80e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306421f2c791fb5061b4736820e6cf333394828a4d299dab8600f4c484f04dafb5865d469887fafd161879aa913b20901f023100e7265160b476d67fa913abaa5d1fad965d088fcd57d8f9a4093e38ef5ac88df316d4fa4333851f5159fc0b3aa9a4d9f40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305854ca86eb6c1924375748cc18e0201fc2b47a82743c020c80d5de5870b3e3c8e174df969f42018de749ec7d615001930230589d49d743be17cdcbcf9e1e2e01050f5da6b9442bec0636e932b975bde8eb1850e47b6f152fe9a1a7a42bd25589a8280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023072b77c581deddf08112bc55bff24b93a5610be6e44c9e804b157c96df2da965d12fb293ffae4677cc3535f21f1d955eb023100ae988f4990b2ca0213e4c51ccb9e833005da0bd5867653c10626d5cb49329cf1b82c9c960169d81c23bca04baa2f25620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230308088ed7909d2912d66da2b4f4844eba8922a055c7dc9d45abe2d2f939fd2eab88d0d90df5896e7a2531d82ca57be270230694d03e08f1a019b746cbe9471d8270986e8e10c785efbc73da366523d8052de74301cac736ae985e21c4aa3048afb560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301214070270a93e01e9944b0d543ff75654319596d164cd37b259d8643d8b6cda2bc480fffbd69f79d7b14392a76df52e0230738077dd4c904212c113454381b73be16a24de9af9c81e1d864dba7b97dd88ad07cf3d7813b10d53ebcb6134b680f7670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100976d80a4e07e140527c36567b736e05cf8d3a445250572e4f1a28d09117f6886cb59e1929ff73dbea4c2c9a1052f5861023100d4a4d0da11c2290d3be9c7c99b93993550d05f2bf6656d356656ff153a06cc86bd7488a832237500e2eb53b0fad2d52d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230248e209d0b3ddc20209137d8508a138353c27ba2b8b8c9fd4c954c24a1bb0089fb80b31110c1d6dc31b30b6c373e2fbd023100c2ae2c17e0bb3159aea25a89772055c6c04c13429d1385b4d426be4b7c8ca2cd5a25dbc5ca5ea77ec5b97c676dfed46d0302047c435bb500683066023100d39e2aefa2fed9ce0ce26772da8ac18849997e788fb14d6c218182b2ce31f6130299385bc0bff4311663152145fa52d0023100b5da7fdf4749f859d6d7560a5174383005868501f59ce91341c257ea7f8a633e23cb433f797e9edc1b60bf3e108fa0d90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100eb07115347aa325f9a54c5f169c79162c4a910939a271efd40c4c8615e40b423d56fde513fb51ce7f7d067727d25ccac023100a1882da27a4257bb867b1ff96ba07b63c8f73dd1122cb5b15fcb64679f51351d68154cdfa74ba3b17e591f40f3ca9abf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300991348fd241d5eeaf61d6a295789b81de2e09934a604913c059faadecc854d7128533cfb6318316772e84de5a0b4c83023019c0914f04759c90c3a19c7cd0a2a5e70ff7bd4b05a9e6db829b306188fb99dac3169d0d4b3bea64d4e2c6144e16dcae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023061ffd3bd7354597d7ec3382c5bdabf8f2865d41e6aecdcf7ffb243484bab6bd8aafc13cb5070ff10eb56dbb807225b05023033d1ed44bea15656435e2684dd7d4640b50407eadae9aa5c2658850a0efbc9133286e88b96e192658c1a60be9c4141e20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023044157bc40438c5d9a39610f44cbd67d00ff84f97d8d0b207f5266996af463b2e0f68ee2b4f9d00cc6f120451cd9ada8602310085ca8906aa4e1c679e50373fd983dc3bf6f2862dfd61d90a8ff3a123770b100f5c325ba4c4be147139e3e1a5a485fc880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301fcdb79eca2f2c4434d1c3ef5acaba724edaedcd3cb80f5c4928bba59a15c0852a9322b5bc0741f7182775ea05f1628102302df6cb205edc892852419bf76c0c9e4a0719300ec89eaf0a152b28b3de45f9065aec9c0ddbbe1a997e8b6bdbfa97af390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008cd455e392392a15f8fe8a86e229de0555cc01b0ffcc1fa688651b918cc83add4c2fae9b42832a8a0a977f8f59efb3b402306d53328012c7dcac18da25aa91278b07ac2d00975509e9290c1ae703eb8ca26308650fff0b6881982040b9de1f05f0800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c6d18020ad93d079774e578771d46980f4e2f6b5ea012e27473021c0b4001702ad322c10e0eec03ea9d1d32f8e207556023100f6ae8bbbbbcdc2673e597355a8081879df973d14f08bb945276a11a593c1cdcf434890af3159df7ec0139bcd5a076edc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009d2491631c231de3ce5aecec52169de641b4a31d197401f5850a4176d9cbae65de008de06ad40403909b8b29fc126ec1023015d9ee2884d72d519c54e7514a432cf6f994a50ed03aa009de6165fa4b6dca3ae43354bf31fe8792b3988e20015373f40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023045e9b487dfa04c843e9ae2861f1e3185bd8e19d3da25d77e9eca319e23c9eb74712468838d3112291d09f6c0ddc20541023100c6a6c42b32e0ddabf2cfb46c8d08be2bdfa4499d0d36be965c81af02a63a9f42887ec09477f9d27e253a9f7eb8b791250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dad1893143b4b826d81fa51c3d3487d3d33e1f70503a5fb6c21c32944661dd84e9d1564e95631f387c4f8988658a868b023100cb89e42999e6faa3fef3c21f06f03fd4d30e5cc9ac0713c65de4525e9df9e278c401a0d4db2e5a18bacb0873b7d7ee0f0302047c435bb500683066023100a392fd40b0e16fb89d70042748911ee8b54fe2725730a21b1ece53e7f0f2364ea956a2816cc0c68639c751849ed5a2aa023100f13bc06b16042af96bc6f7e0220873f5678783bc5214269510a36e4b1faf83a2f9bf9a1a2a8a8cd9a9d27648959d183a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307d143a38b0ac9955ae08238436e2d418f20fafd63addb4d1b7e26cc9aab481cfc697ebd58e0130cc624f277c1c0867ff0230405df4374e82cd15e14ed41efcf4e150ec6b6e75c93a2365af3599d5b919ba7c5c20925b38ad4ef3015671abb8c9c3520302047c435bb500683066023100f58decc36bba64dd2c53639468b81171e6f29aa78aedd06731f63c72ac41df826b60fa0d695cf719ca0674fd20d8f95d023100b5d101610e962062bff709ff8097697822db4100fd67a629ed1e5996226bfa57d8237e079c864cbc8807b89ad84b717e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301781b2e296482f0ab1ca40618bf056189fb65ee2b96ad608c791e3c28c1053cfa24806eed144be083523ad7aeaf98762023100deeeea0626da6ccaa5d1f89d463acf4f9e33b2a3d4db0ac193ed265d0cfeef8c577ce317b569f9911d959a1a65a7aabd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a320d57d933f1a7bbeee44298f472eddfa42ad906df6266b4599cae0bf5d9560768282c5621ce8c17c3c2b3c851ad873023100910709c9ac7de7afa0c87013f7470077144952c8d69eeb909caa18befb456dbf1c99b179342d6f2cc4594802ce2ec8220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307cd15d4e5a68fcbd01520a7ad9734a474d35fc152494af02e0d9635ff30c7da01efab6b27fbf148497ae30be7511d95f023100de87a0342e19614f9d51d55d778143a9d122db88c420bbdecf9565c9f1a38408d2d6743ab3be1505d82e3b0bd2d263e50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307379df03845e7d8cf265a9ed35c47a68386aabe242933d7733ade924d60518f30db63c03b31e007f5633690a2b40e84a023100927a18f12c4a9264dafe7161d24eebf403018c378ed79ab111451fe3c4f0096b90852b06b2d6e08922aa905601cbfef30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305ae09c576a54c0cbbee7d23794432a17e60c736a7d1817c862881c57174ebf900e05657caa4868cab9e7c2d92c2ec873023100c4dd2535fcfe3e6ff67769f7a766ddd608667398f102c2b6f513384eaa7745381aca6e11507c62908248f12dc13fbb2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306301ee029cdc2a72cdc1fb2a6a521c62d4d8ef2c703c0cfd5e2df732dee6e4ab908c94787ff12b95e975806f16b5fd060230297bdfb058b783c0e900cae1c6cac401df1cbcace9c64b010130f935687f2c65443f8950c4f680518f4ddc22ba2fcce70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302aed66d9965a00cdba9928f8dd08b6e96363a7a21b2dbdacd475cf6bd4e49d7c3ac8280853f7ed429f1009b68a9380a5023100c2cfe5180a0d5e42cec31182f7e0c61e87500876eeb5b8857b1f4f0bd9f6bab68404462f9c21f7e28a1d8d619301988f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100999c72a0d26853843aabfb0a1ee0093cc1c65b78f063e7e6570924e4ee87b2e627805a8761e94d29139037983170a4ad02300cf273540a122c91bd1e386f3960720bac73fafc69101b7cfb73c36a1709e3cfd738895f74c20ceec64b5941263b85490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ccf3510467fcf5d48c710b167f5fe4e5e5650af3871a423541800b2a91d4201cc310dd9b01eae1977b9e19aa5eed99620230420a8a98f9274a4ec6a2727e33241910b176537aef35e57217fd5ab1f82eb233a908b2487716eb4fd8c754b7dc55579d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230568b38418d948ecb41ff6c01d2081f57e5ddeca00eaec535d29222779c563a50c72cd9d27155561e40d46c3b2c47ac9e02307fdf283fc14bc0e5d09433cf96cf8a02abb1c016c1074d1043324bc493d877ca74fd99330f832bf01a2aa432400826460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cefec4539f6b1c69016a9d97dc9b5eff22f19690846ec092c8b491eb70072cb642018bc6e5b1a0409505371f9c29ab13023017b92a55d769d9903878bee29fba12b2d4ee7961605fd6c24cce1fd13ecc30306379c0b5d6703d9268bd4968d3f9ca450302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306324d771f5079e92b630aab0714ea835176078ccf45aac50d553dc5dd1b83d0661a7cb6f11ba9ff750e393e606101c20023100ebcb28ae6428ae349824f0f03ccd3a9b3e78b24ffc2a4b237177b148e5ec158341a30ed76d2ea013a391252869d272b30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230059313baf98919965d9da5ac56a50d539d3dd68252d33883bc1e7c6b8f177bdcfc69f376017bc4f8d9a46fd450fb7832023100cc7697e331c371847343c400494cc2279ec7162be03b8beb880b32913a7ee5ee2f90b69628d440429eee61b3fc5d01620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230441cc8b1064efaef6b78d9659cdc61574090d682fe60edae211acdc7813fd0696bf7080b088569c8dcf6e39a93bd02a702304af789ae10639e53b71edf3f24d02a5cebe5a3126f64135f3e30a8ca88699c23dd747df6a2b190037ef7f7805718b5b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301f41fa7629a0609aa375faad80b778b3f8c61f5776b03eab7e0cceba001f18f0e0ec5f0e4c3afeb2a2d2f28a9f3e1c0602301756794efed1ea2312676af80efce147f651c9aad856c794dc4b0594fa9d56bf094cde09cd89957dc322cdb55c9fb54a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310094d7171fb459d6b05fb0e5f9cb699cf1d84c4d06d5cb80df4b9998493d246296aad20a07fb733aa5f07b001bb240197a02303c4e8bae33c830692604509bfd5702e2e0a3189052e012f3a081134d140f65a3bafde88c9b624e46ce833b468ecabc170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009ec846d3e6da3863ba321b39b3d43a66b2cfedc4ce83643263120e5b08be59f05eb6d6173fbb112862d2f1951382c8ee0231008f8c6cad0d9ead0fedcb826da378303996d61578aa6a1c79bdeebbb493b2280a0446074b6dcdcd83fd8822eccb7827db0302047c435bb500673065023100c89cb2220fd97332de1a97fb688d2b8a9db991ef1a1a205b67dba6c93ea965aaa01049c267c59f37853bcb351fb92ae90230645a21a4ec2d7bceeb326b5ed5ba3254514e173215473252116bf6cca3a96c3ae3dc3d6eed5f27a2a33ebc333f50965c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d3dcb17162e3cf8375e0eb39ccf290f4c6291355265a96e948a2c2a5c1b477b71ebb58443b27cf63c494f00315fc0f8a02310090125f88521e073cfec9b9641175ae3642e1a9f6a96ca2ab0dfad67c70a7e869294ab2449fdfb0cead4d39d24ebfdec30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230316454ef53b8aa4545e240e69b37d342bfa6e4d56d7946f8a5099ed7bc011f20a416025bdcec8231fc30d8dac46ae6890230542cb685c61e1776567faddddf56ee964c6779b9ea3f5fdb8f90b9510322a7c5b1450491e182a1a8ef3a4463727c6eec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230345eb37bb46ac4bcbcb34b50ef4fb20f5de2336df12153272697515bb666565f7be84d74269506bdd48cee8a5cb22fc3023100e0b30d9229ed4c2d0fb762346faf3b3b1136d4b9f94cbb24085c74d497f953a5b9865d0e6081f3bc497b4217de8f79740302047c435bb50066306402304b85d50836ce4c3b1cafef0f89ddd91e576eb807a12bd1743b75df7a519a12a0fb991b5a8651173d11b98fb57954f10802305087164d55a7113592050258b9f34e02a58e6436d2d19b97cda3112dbe076f3ceab03693c3dec689230077d5377a6c250302047c435bb50067306502303701167a07ed9a563d67d3a6f54b4c617636e663771f8ada73ffd20f13f8241ea5d60af8056a6774e7ee1c8a3a1ef283023100e1021d69a7b3ce90ac624ab81cef61d56c4dd7981376ee59103bc37d9ca52715041a44ded2d0144d2406c1207bec11670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d8962a4dcd84a9ce42ddcd4f69b8120298fbdcf29ba284cd61a0bcf4d03bc3b750f99c958ed56e712cdeb605de8b80160230192f366d571db09aa4e9a730d9af5340f5f3c4cb78e40402455b789c261c37d9e98fae7997e550ca83634b8573ef9f780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009f494db56a511916c3529965376b6e0d2106add8a2c48b708c464db63af7e4fd6cb9aa5c67752441bc373979c9cf833f02301017a0857cab3884a0753fc85a4a7c9ea7547152b3bf13dd6142b881000410d0f18857187c9952d55844e365dfb1959a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e800d9941e0574f1fc5c18a66166bb5eabb2853aed138ee7cf67b1f5192ae5a04e06d8a67af6ddf423c25a0d0f4639fb023100fb45e0cb2dff2f9a8be09d7c44a38e7961ca4463a96d36e9638689208f7a78e4a882ab05a92248e22409bac11a4b6e1b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023067f9faef8d77b85139a2e5625d149232ddf35c8ea2e4cf7e58e157cb6bb8e451051fd0b1a63f831b260a94161b3ae2cb023018cda1a588186bde7e685aac1958fa5b78a9782d07f64471eacc0af352e10e856ab4b3b82ecd987e1e868a790fb7d06b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b020a2eca6544d10bbeee6b3409d1be652fe953a2ae8136431c5d8bf5f447602e864b7eb370ce2498d74cf54c20f3c44023014df79b7bae808f6c7c50ae7fb28049fd292ba211972db546d278c71820122780fb55f2bb2b09fd9185608f78ae34c910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ca11ebff6b2f3e560cb3d55280d57818ef53f365a1ab3722a89e5e6414e03dcb9f0d5d2a8e1f9dfa2e7000b0ed878598023100b8b2693cba6aa2529e36d7c6297c44d008f5ae46a21bfdc52ca13b8a189c8dddc05a328cab16fc9e486583fabd2910130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304e9e382d88e5389bf59c35a77ab1a06aaba2381b3fd1be7d69fdf2088dae273eb801f01623de58ed527fb21701d77a0f02302c3ab45371e9ebf6e815dcd03da7eb71af75fbd340e1567caf8901bbca9bccc742602cf3742faab9bdff4bf247e73a720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023040425bd535cd9405f0fab456b914c10fda29e285db13e1511d8bc6251af773bb542261d0f0a730b00a7f8d0258bcfbad023078e6cd0d2382b43f8d8baad70657c6200ebd2e11a1049326adbd5786c5e862c1ab981b083413bf87f6ef6cbd1ce99f6a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305e114bd9ab8723cadd473bbef3bbff38fa16dbc628de11fb26874d20ada54d5afc5b2571b8ab149c490cdcbd9b53f58d02304de1bbb6bef679d0b41c31855cf847ce7c1659db823ebdb3eb14e5af143bfea8446cd1709b58cf13138b3c1142bc89570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307dfbf45ad29229df28250c9c4c7b4fa7ddb08d59588cb28ae9179110f8e3d3075fee73a048398bf0e8e691ef8e87fb040230605db77a7254271f65a6149a345cb5eab22fc0b6ebac20497c8f68a0d2437da48ac42b59078b6d11dce37a9909953e630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c65f30748a7e3c9f5e374479ba393e9ae7a027eb8015af8691c7d1a8fc7a75fb81d1baca361c4fd6c1ed4f3f071dfd38023100bb195f1c2677cc0f6d819db7856698df4fb1e91144e5c7842b2f46f70bdb0ca31bccd576019c8e94b011dbbe7cee3a9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f204714b0f1fa1ece9bc626cbff7fc2e68fcb0eae6a741feec7b5e7309ff911a61b35e70817d3783e293c5c7da678914023100ec5040f06b94535af70084a05efe7e86b04d4312af2e6e12bc50cff3bd0101614ef058e8396474846e8ca710a70496440302047c435bb50067306502304c613f60673ae15ffc005ee54a8ecc1227032c51f12b07be29943d118192840dce819cfe930e93e808fd41f7166911bc023100f0e41c4a9cde7e47e8e881e285a091212b83c1495a87435afc908a00f73ea5530c8a29913b1c93dd47a7a5cca86fd7720302047c435bb500673065023100c91c33d564940dad26a564fb502ea844b86efdaa66ed2690208c55522318f81b185479ac480d437f4a0e22bcf4e86f08023046b0c0338d6fa0fff3e74879695c9f9ecea806b4414c6f7e945b04621550ef0439d45c2c970ce1d118d5c8026aef6e350302047c435bb500673065023100fe21aea64f99b98d3db03e3cadab680d9bb66635d38c7a2381284662e6f59b5c2d66598526cb9838509d57a87a1decd7023040c0b3186270081b225de880eec041e5ece753afc5b2c30f3fb11b34c79ed86e6acd2232d8b17bdff6286e38435958360302047c435bb500673065023100afcc9e1d3127bfe3f90cd02fe408a91015ab5293d9c26bb2875e422c21cd06417bd9fbddea350f972592f663e3bdabe302304e69a6de156372afe0e1af3a3e72eec88e72d9adbb1faa389375b1aaa9148679f7353a399c86fe02c77e164f145f04790302047c435bb500673065023100ae8ba9f7488daf9f62d49b91afebc00679f3f06b28449d36b24d8fe9ad6ce01b3c7bb01cd777e25f6717940049b845b502306bfe15098738e556a7f79c7ca49fdf3e560d7782a6015284fb99150b2c60b362e80b8611a854d237d8a7c78baf04550a0302047c435bb500683066023100d32bab548730c844c8abb5d43b7881ec1ce218cc46d3332b847aa4de1089405fd2f2819aa6729d4d72a139b844240de80231009fac57373e496618427551557f72b83c0914c115a93265a7ee401a412bac30ff47c737d9c5556fc60dd0aece823f20c50302047c435bb500683066023100f80b8b2f9d5c4fef62f5b0b326ea70383acafd32a1d3b6a76e35cc56033367712105a21ab0015bb787a7a0142ab858ed023100afbfcfff68109b8e00356a12682773ac83ce0c578aa794a4de1309adc06b3d38d6fe77f34e057e578db3c3c889a1cd550302047c435bb50066306402301e6f33d163c6e48990932dbb44cacf2c94676fa993ce3772091674a2c9a4c21641711ec7470ab3a102be252275bd2095023031af3b9d495a064d10b082826293b3878b0a36628bafb4bf40d636c6dfa5ad303dd0692abd90f4de1ebfdfccb241fe280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310091a7b7ccf4e5b785be20ef404b49549dc0f683382371149a5e0f427d05ec5d21b6ee69fe76318bd746835c2399d19b7d02310091470c94184f56002ec472b68c241d7327bb846c83abc1fc144a71c5e944d053e5fc720e8eba097cbd1a2296ea4d51350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100832eb533a381400fd9df53187f6695e8138875619f09923f2c10f22c51264e61c60b9129e2fbf289f7c1aaabe831e4e5023074c5c5232293c0f4733f5070b55f8190ff6fedb823f6d2f3c553c67f1dc822dceb01b3aa0f5b8aa8cd35629f46588b8c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310096d5c2b225f9aad03b925109a370955a3e238c97130a6cd825cb6ae559b9563b150a83548a9abadcdbbe1819f199b4b202304723c8e4bc917aad2797c52eaa071b953d5fd565a0d88a3e8df11d489f257b2901fac893486adf965c47f27d8be0d7da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008af82276e47d8951dea25720e8196091c9692bb3db4f5bb0ecea4bd6ff0ae8526aafd5e04855e94d321bc1fa58cb2338023100d613e965ea20ce48a6f395223bfd17987442e94672c5cecf344253f682697f8532a4597b072816c39ce01e3a1c496bca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023015699747e5a285eaad99bd4f5c42e1024c0834ec2b6b255a7ab541f5e109d3dec8b95cfca2f3f45f2dc6906d8524cec002301a508d49b9d9c915870a299f5678d75c9013a89121f36e9c0c3460eeb748e63be9afef580c6192f800aba639af7dff340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300fa77f5e3aaa6e97a55565b2a240927f038e11919ab8a58edf95e53c6a2f020fa9fbae18c513a6812ce20ac5611e20d2023006b924a24b45a08f2bfc7191a4eeed2ea7e9b6581a5122d82add526beb40408bdd2f4cbd8da7e3d49b00e6cdb50d8a6f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023033a8797435732c0f67cc1b84047382471c029ec737c432976b185764261b7de16dc0f8166f5829e8cbf1f5bbe199911d02300f83bbf0618f3f0effd49242d638f12a0eadc7835a342b55a459bae6d2141f5a6f9fd9d1bb85e07523b9e8442600669e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b1df1eae5f00f5a1c26ce56fb3425de1dabacb78c2ae5e8d4ade44b4fa883239f7d3949edf0fe6bb3e88266076e81c2023100c6175700c046cbb68f17fb23b7ae984a7e875622eea131c5133665914260ea322575e90df635c2dffb80a10068bdfbff0302047c435bb50066306402302f5519e5ff28f62ab7320f19dfd4d76fe9f615ab8f092a879d2cd19c7613dd9730db0ae61de56844116031fb6db2e2390230048ee25eec569f9401df376345cecddcf8b7ee3b90639f4aecaf4db72117f0955dd1480f8555e4e449082806d23fe0c40302047c435bb500673065023001ab14ad80b13ab691da92797e12f5e23a6a39686205fc03e0b7d8640aa0a170399d57ec0096cbb042a87a5304e572b902310080117259946ff3430eebb5fe8f8d7994e253e9141a4fb4ab74f75cf7396c8ba8243a1c4033a18c87a808e47d0a55a3460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bbac28b786b04e1cc9ca6b1913b5c28d86508a146c0ab6f81efd88db0d1d0eff0ea68104987dd84ad4ca85fbf6ee777902303fce3792e46c751e360b963a9374841db5e6a055075312860eb3b0aeb175db9c9be6486491d46aadb62015e32c211a400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f14ad5583573050893360abd6b507f5805590708208020ce8f98f2376d25bab153219d548473c5715537164b1d204f53023056a2064ee8edba6a99b3a7cc72db12579b6b99f7ef9da2e8c94721193880b26046b123b7f458eba9e1e8948641c818c90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009dcf9d136834c658657bc87b2c7e864fd26cf130b2c6389ae5ca374984dc692f4e283ff29ddc8e20ba4448a01733d8da0230736fbb80709012167ff9fc1fda75a2f0a86639a12260ad141d048ceec776c737f226bb4d27f6e4f2f8153cd2f61c2a190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305fdc8e8e344d0905707c27a892973b34a325e225ccf876bbae48f6f30694223077184454b153ff5962d5b5a4d92469f2023019e1dab5b7abe6c17619aa39dd37f8a07644941138de728e4f51a274b24bea7de02e8007db4dd42fc0ae886fb004009c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301fef4151f3cb16a8fbe83fb7c79c0d44d2934bb6502f9b96d424e19d1b210eb28033d0e0e3badcf220e499f5c383b21e0231009649133bc9eda3437e88c23de1a596947242d5aa7330bb52c96ecce4ac3464a8f3f1d299f56b974126c2e9e528aec3bd0302047c435bb5006630640230132b6deaa9317fe612586b09bb3a3e877ffdd10d4f6b5d3fdaaff50821942e189fa4e85c6d069b29f8abacbcfb763699023013099517a7e740561cd634d91f31365fceef33173ccf5363205fd1832945046d331a60d1b7189b26cd79b4f5da0472a50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300e324319fd322c5f642d18fb4ab5dd15a6805b263986d588e6b0fd6105220bee714557409615e80df3056851b503207302307dc4aa7d766b23dc092e0ac1f69be515f21b11de45a8a67f54aa99a11e545fdacc0f443c12393b4f79110e8a2b8587b60302047c435bb500683066023100f4a94caef44789b543a5f1b8c022bf47e35bd8ca9e623874954eb99ee49821e8093880c8d73db0ac74f626edd2bb09c2023100fb0dc4918e5b13be2a1b82d712c0b36b6fe2e10c676c997c65fc1a433ff1a4132e1d524862514db1ddae7cf5c602e6cc0302047c435bb500663064023076bde26e533075259c9c19c5fd8c66d1167d6dc85b1d0411580dfd712bd20397885734dea336d268b459b33e9d83bb1d0230326ced40d8cb6b9255b9069f558ddf11b2827957c28923ae52bc96ce4da8330f15ef0db09cd8b47e5cd2d257addbccd70302047c435bb500663064023021491ba430802b7d004ab6997af677d4305b4bc8982b20cfef4151e3962722f2529e8aa20a4aa9c528d328ac145b2d1602307d8160db6be430b2f68f4a485b226dcc453a90e094be07a2804c9b857732ff739a1146099762f108f913c58857fb197a0302047c435bb50066306402301df74d602d47d426c24207bcb9f73c088ac40d06332eb046364994076d9042929590c2d306168eb43d76c4361a4118bc02302e80ac4a93fb9216a5084dbbefc5e2807e2328cd160d409e9c0ddc172027ce652f5ea2ab3e6cfa655587936f2e718cea0302047c435bb5006730650230120396c63445de8b9641e8031943a84524e3dbed3a9991d908933793a68e2629bb821c2905e336582729a1d73886b685023100857f0bcbc274d455cb6c354c3043df24a04a689e2686c0567a73fad63b60db50962e8fcc252a10d2bbaa51d299a8be180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302f934dc8611971c25192bda28b5bb9eb35158985abece425234a35955ccaf0ca60f3eaeb86fc6137eab0f17c06b4295c023100c6070db5cb1c307163c1113c8c5d95741991bba1950a28515c327fcaf8147ef2e92c1aa6fbc34217609fd92cf007bc390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100801015669fe1fc681189ed4fd51a48d4947deec6e4e27d61503f7d8092ee033e29018087c5f8840be121c9dbec074a9e023100a4b4af1e1eb5ad70d0e545b6578ecccc030d0c86a2efdf21e9166f444a89302afdf7e755c682d418fc8cce6e815193ec0302047c435bb500683066023100d09978dc341f70aa94d5d1938a4e6eef43ebb83fe134089133bf9f14675aebbb08401383c644a3be083b453f27bdc815023100aec95917eb3667dea8553dce24c35dfdbfc738e5b7478a2a75967e6525febe818dfaec12cdbc0d5ac88fffa7e54c86400302047c435bb5006830660231009e3005e26b4643d6914a75be6d6dcfd698df67c3c4fea71c55ba9a347c5f9ed52ee140f9e429748eb0e4932481a6280e023100dd6d37fad966c578284ef4e8a509765b99b4c426389ed737a01263531c77c19a8c821ffa815608c7ac685cf8916aadd60302047c435bb500663064023067f1099c4fbd119d32c2ee2ec96fe68ff42e80eb8616af81caba75479ffbf69612dde3e76d7283d720dfafd568afcc890230353f830ee4360d98a56f3bc629a4014444229ce0880e0b49add9f95ead168b4e05e50bac2213fb14d3f9f6b60d97e7660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008e157f50682e6ef1c9e4077db0549b7fcec2400d855fc62de5a1a6faf8a02643bb9a97b577d5f9ac3aa0ac27d47d60a5023100d464fe917f4028c8b4efcb94d4408a146aa834a20037c7acadac5e6d2e2922fa1b76b70ebd4a05223efb6f74c072f1810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305cd27ec5aea09aa2043088b0aba2e879d49eb9b06f487a7060424c171b4880038603c9a25f2ed72e4e0d6fa5a4f0a1ba02300265c944e82ef454701fd789d2b9ee2ce80b26063bcf6dbb6a3e3a42469094aacbec84df0bf7fbb8f7d2b3cb532ccd4b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306054bbf2f16e45088a8f72c6a8ea1d2530612052821c789b984bf8090799b4ba7b16ba257a06b50c4460f70cf2a9508302302638f0b2793c6f098d7f32db6bba0c01b1e9350ed88a48c737bd66199068397e2c720a156a44b4f47c5fad41b74fe70c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023028e116973e2369b397368a2f2563a0057aad1c663e4db39e00ac33d2885cd2fd9b843af809ce800c927c76da2bfbf1c2023100fa71770c0803b14b2772675b778bc3e0e5a8165120b5e864726d3b3b9f29100338d52917f966aa175087fa2635d03fe40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c8f927c20a16a57a7ad29e68a1f294ecb975ce84e1d55f14b6dce2e5c5e7f6a450c34bf5a1e64413a785bfffe9024ae802300e20bd54fbbb9a51a4e786241909239209b3066ea1967ca0fac26025341f76786d6037dd4d8812b220edb6f030c965800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a9c0e65b0d6b4e348960041f802e4d366ee016daa1f020ead2cd7c90a64a7d23b3ac841c6f23980e0addad3e925e59f302300b609b83408df39efe5784fe11e039ba12eb3a30192360faf306918f0bf8b8e50c5039ac7968dd89f70c318dcaba90ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d30ea11fa8502f9a5d26b37564f96f66f1735f9b85571ee94f43243610177a5231402efe0b198a97037619f96ed9e23c023100f6e0f6194f4d1ca86e6d56739d4330a09b9d86ccbd4629353bb276dc06e0bf830810d7c15408529ce0bf24c2e0463c5a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230337266ab7856189fb9e244be49ca46850c1baf4df2cb8837ea8e2de754f055811c8a6fecd3eb74ad6704758bd76dd3620231008c2d86767facaee26f8d5c73acbc1ecf3da419d39439982e6be144d35ba60faf811dbc780e361ffcd9d7e52aea6c2cc00302047c435bb50067306502310094fe8bd7c78085bb4315a60edde4068fad88dc0d532512aa954a2f4deed30d37028d5ad48a5401d5c1ee8b411f47de5a02305805b1f662b2fcfbcba5910d4a8a12890ec01bdc5645fb387c00a1a2db1b2cdfdc4efd1d4782005d9e29dde9af13f79e0302047c435bb500683066023100b17f0b2bf8d8c9e739612fb9c614f7ff61e09bfbf9ae65019e0071d36d03099418111cae65882dd37b93460430dc9665023100ffb64c2ea8625d44b8bebb27186f324c488d3c5d9c96842ce637ab6bccea288051b3286998d394423d22d9426b71fe940302047c435bb500683066023100a2c581c288735d10650a93c4024c5df3ba48ce4031b06907a6b1d9fdd8e1b126c5d3e65793ec6ec74019f9359325477a02310082b7cc87fe770d847bd554fda8ea6137fa1d8dac1c0a408248e19b8d85b45d5f4ae0c5e328d1739ca135477ff097f4800302047c435bb50067306502300223a9503f51bfd490fa99bce70253f15ccf0c29c10a90bcf8f53adead0c2327cd3ead8f0f4639edebb619342e143de0023100b5687892bcc582d438b30ae1e0a97ab74bf9a5bdebdbe1e1ef6e032c63adf15f1c72ec4d0305627bfa3b8c7f5c1c25f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301739a4b5b78bd7a8b78af81c235164c0c32a54dad23e33775854855d0eb1d70e32b7d515fb6ec83f35dedf7b70093130023100d2f20570f75af4b192236c324394b9941a90dda6e471ae225374f981844c752c5b889d0e30e0db4c381624f53700db2a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230058df2f369cc204e87cbea6981226290fd0ded6ba12ac926fe64e1b28523fa0632f96034b1dbb663792a2da1b6d58f3e023100c1f94642595fd011b57a59278a1ccfcfa2bea4eb203444912ffd404417f65a879df2ef071c73594788af4865a0c3c9680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304b4c398a0270b934bfb43e24d528c06ee561b1b3fd1fcdc204ac75585240ccbac960fcd90235cdae05eb43ddac0dfa400231008cb5422ba4406904c402cc4e6bd3ecd1dcce1fb5c2589103e6f544cd8a40e0a876797b4cd3f4c58b685a057af1ab479a0302047c435bb50066306402300881616af4f7e0aa6fe56e21cf07013bb44b8ce528740920ee828e2fbe8f0301c5f692b64f7e2d323b792378a0739f5c02306b69d2325539772b6d83755cf1ce1f5c226726d9bd6c1b9104208b89ff444a2d65c4d93c2fca352c5c5c904ea9b5d69a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023050d83e634ed81543df7fd75b5062f658aa02a03ccf5abe2c8c2d504f83729964e699d9c196f19a870c8454c7c1aa15ea02310083c1b97f269cab04f165439f65b9297df0c004026d823a01fc0a3615d76ba99a6421f7ff34f611e3ea2cb007dddd09310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310095858e8fbdf2fa221c092f30a92774370e3ceb732f1f2b2d067b8a3dddd81fd590eb9d0977e5adf41a563af7421ba1dc02306ac462952c4f1f0f9560d2b04d91996ab3a09e85da90e01684f92616554f9bffc71c1e16d09235f44b988e1f61c78e250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a8805b3b4a341f0494045e2a6d5eeda94b3eea21282506bb64bef5ace88154f36c04446e719a44f2694583bfe3232cea023100ff5aa38e8822f4cc0e6fe2a3be7e4f0c1dc0b6fd2ac2c08c56f45543054e7d919318dcd087f36674950cb3ca6ab6877a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023035c3fdc99ea5583d90782477842deae35202a9a98ac37a36ab41af6979e5efe10465aa66c9962a2cb26be5904ade7e600230572332fccf9ad85534b934e81cc13681e6c0110411d30575baae79ef2f5b017e5a6f99be96a9a1de351b40e7a439e0d20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f46ccb21257fe3ec9a713e1da8b0b80cbbaf189ebfd40d9d94d5025f642f81615c72a85cd5e14c597f5c18e906bd3258023100af8469019b7835d187ef126903145d95b4ee5fd59cdd5a0fbc2cf1c7d13f5552209a3ed368ca0e144a96351b0cfda5c80302047c435bb500683066023100a5ca14b44fb980848ec3643c814505af90177a3a566883dc4d5329a791b7a3014b3b616b58dd8297b92a791f52e86488023100d3b6bd60765054fa3afc45fa52e840ea81c733bb60e6c949490044067d6faf3e62695582a39960646870a8b61ae24cfa0302047c435bb50066306402305aaa3d7ff1be0faa5bd047a7e4f0a3a57ef6f00dea8775bae887082bfbc909b6a2bc86ad68a9f9f34ed76e0baa6149ad023003397ea30a463059c532d7b1865588e9f4f8e6eccd65ae9e05cc3b2e2ec656835b72ce84b5e792cd23b244b44856053b0302047c435bb50066306402300c002baa72f37deb22030fbe5d9a41ad2eb9ebc99cec07f23ed909caff24c2f89ce12f6327200222c55f7a911016373102304bab3438fa2f7ecdd2789c128eee8b3cf1a64a5a6ed4c0d0ef704c572bea578dd78aafbf5eb88492c5c79e30d9c4c4e60302047c435bb5006730650231009cb91fdaa786e8fd5c4c8f727c069e78e3d08efc6284467550641f48b50b2598bec3370d3d46069a71708fdf7887998d02305e1d45dd2a25f8043c58afdbe7b95b3b96b5fa75823661bbb839884c3c12209b21a09f41eeea5db39606c6a903a244660302047c435bb500683066023100876ed546791d23fece8a8cf6fd8c0b30e19effc6aa0a4561ac97e5bdcda88d58570a6673db7fdad7c8bcf8776476c79f0231008ffd81ae061ee03b6f01025956e4242090915c4f448c1388e3f5b15427a02e57dd9d5f655857f1cbac2027e0713e18690302047c435bb500673065023100c2adba171e3f69c2699731c7dd57a988716760b6140455d1a4dd0bb0c9e556b6761c124b8d292f54599405fa190c7f27023008d69cf1a0adca4ff710e677a42bdb7c6e7efe7bb1f2a219212e4a6c7e420bea8bd250f1f859b32d37603c040a073daf0302047c435bb500673065023018e4899479f82e42e38d5c684ac4836597852669cfaff19bf83e25355749261adfafa289f8ed1cf95678c2f45bca0eb7023100f068dc1e9e29539ce34021a5946cde54d0a59e01d9fbe56455a6aa9fa41ee281482b27c68ab576ac272809ed6c43c8590302047c435bb500673065023100cdee2f7778f452e930a2416fd6470a3e485f14a96d0466fb8a059eb98ed17e86af91fc6397b4bf8580acb9589889122b023050f46bd9b52412e60ec6e344c5d2864aed761de1024ae5808ed2a210ab31a2fa79fccad10fed8d36823f75ffee7f56210302047c435bb500683066023100909dfd0d38f01dae8e966697d6318b9fe6d153b1430ec52ff1665fafb77b4ebbf34ac9d91ab9ca94e1d67ad8e4561de1023100bb301e666e45e79c0b437c7da56320aac32175d922fc5cbf9f67de131439a0ab7f060ad5055585347301ae5a7176a6610302047c435bb500673065023100dff1e0b045017831d7a366d76020d6cb2fdc16c920d6f29ddeb263a55a8176714d446a057365f65ef08b95a1af9dfee002305ca768143ffac9e93ad3e3c45c80cb37a47be3c099ce9eb9c1fe74548bd1c1c3ec6d15cda743144d8685cfc154b507940302047c435bb500663064023017c1cabb730fda693b9c7b4e1f0bb013828a9b21632dd1684a4ae6da19297df86220fb9327e645fbb55e3ddcb9c3e5f5023045e66726cfbe021dcadf84a5bf7879aa3b0ac052a5e7468186a5e40f1605a48fe68cf3db6bbb4e541784c881bec929c20302047c435bb500683066023100fe4a54cd118903dda681ed2def738a6661290becb11151c1a43be211638c5c7ba0dca3f6b7b2d4169d5cb70fa93c9313023100be6eb472cbbb70ce5c17c2fdc184e2d8c3c52a3d571d0149fd4882a53c442aae36e48a811a1d3f5a6deebb26dd4d3d560302047c435bb50066306402306a7ed4e22637fffcbd4688335606ca93fd442a153b8426e529d6eb3fbb1b59f656484a11eb88ce079c3857f04dc7130802306166561dae054c21718f7f1bf2fa85027e8565c56b1072a315a9a349b48e13841a1627c5439ec42ec0c6febe55047fc90302047c435bb500683066023100b8d4df40b5a0e162008aa6d19af26ba9699c564160395178ec8befa774bd0dc7b524c4e10bed6411ef55469b3fd6c4b6023100c6b1813e0ef95e69a25a2553ae6b8943fcc0cabd102fef644d5c803ed1338b2138166e6397b2ebecd8572be0fb801bd00302047c435bb50066306402303ec6da1c433e921d4552cd74cde5f71411e76cf34936ba997aa3cce142af410a5bdabdf0c3208a2138eadfa7831e5c4e02300f2f022cfa4d9177eea7ff1f7a36d4a6cd7a5682c60218e6a20c751c72f66f33a24f0d30080f3cf70bf9b39b5226e9730302047c435bb50067306502304c1abb634073a200c04f55385c6a7065188e93c6c244f216fe9f01fb51cf31c9eb8009dc5b991344f249847e20aaca7b023100dfff8c9d3fe5ab4c8c4aa3cfee0f6504c030eef23566df43b7e1b65b9974c143914e97cbf0e06a57e1557115ec9655410302047c435bb50066306402304504cd6c7e5e2402f6075b1ff52c529abd73dcf0997e4c34018a8206ac3e7e88cefc9ac9672ca491abdfe2ce280b9b1502302e2b3fc26fb46b177aa50c51ca642f2ce575ef5198186ad9a5e6528a93fef71390dd0e17dfe66cf7beef22fa6e9eec0e0302047c435bb50067306502300f31425e584d217a5e5bddff5c6a70c9bd12dc8f51d81a91b5117f9341dcd02b6e94ea90ea7e43338f8a00cd0446b974023100f921b29c19e2e831a91c23b22d152f373b1f1372f2b2a90ef93c74af489c1019eafa9a9296ea62aed58b1715e605e2860302047c435bb500673065023069962b8c7e17043b8360d39eb59d30de0f27eb954706d9c4813a7c1656fa92a71635391a56b84953f97f2ef59031e1f4023100869765b01196b08b56c62d4547b421688851a6b031e1867ef90a0fb5bee95f7525049b9152f9cd65addac14bf78a9af30302047c435bb500673065023100a84c75357009e435391f1b1e099f9ae39829bfbdf55adc45b115265cb199066f60ec413419310c3c789e84ba3de0a35e02304d5d0ceacf86cb8e29abae2cdada39e7a179d4e28a3a4b301e7bf7ea611c11cd99e9d616a28238d129094c10982b5cc90302047c435bb500673065023100868d5c679634586745539132e0ce66910ff97fcb6b048888526aaba8b77e3fa8067c71a35d0f6228d4d1a80470450a6802303f1e6e65c9e7fa9ffad4b0d5364b2d2c14575daffd5966ebc5c9335f71819e7dd3841af4028944d7564241c8f7645e6d0302047c435bb5006630640230559c3f61c1fd0973a3b2b188fc0bd9988bd84815249cfd65e5415533bfd6b0abef2d1b7ddc33f6c41ef3e213f2e115f702306992a3f379637165b190eac6594a452b0f94d3c89a48d739ab5ba27b95891f8c1b4f8286018db485894bf78c3ba265950302047c435bb500673065023100be5ef61c5a7fc2bca027ab32424f2b9a9ade3db6a3e184ad3bc0e076360df10f8a17d9880b9790899f0c9e37fa81e22302302a28f4cb52756c60470a6083854f1586b44df7aae9f7673619c9308e31edd5ea9c94660bb48358872f8ff070d48032110302047c435bb500673065023100d936b2dc4e5d7306c271e48a72948e59c99cf546b58bc76ef8b1a9da7844edb93b7ea997fbcdd57a3e6b2914f2af0d56023006971ac227cdec22b6653c8ce7383586e2c90c1a7e30f4f929ac5381acd83895a9ae6f6b712de7c0bcd9581585b0f1fe0302047c435bb50066306402301681b74251721431f3b92e665fee7e5243ad78894d23d2de169af15897604e1c9e062ef0c9f4a13e3ef6341bd1c93ea402304b3d69c747f88b25364fa416995645dfde36bb4febfcddeaae27a9fa21ccb9c3a073c708f4cb939a0b65f78fb5b2ba6c0302047c435bb50067306502310087e19a18141c6d29da302d6967ac11fb71362bf8b7da917eb3d82c81cc8f3bb4f055f47bc8986f063b362252b80f33ca023032b59cb9becfbb2286569478102e09455412582d1139756cc1a0cc7fb7e514d566053dc9f450fccc07694285589179ff0302047c435bb500663064023021d898089b87968c4257d10788189d6e84f99b10d4543c23bda33ec19ffddcc6e9a6459a66f71248841c2af913946a8e0230057c443013f5869138603d567de142f82370c039f08516966848b4c94bf49a502ba10f606c2953da6bd808428f6671540302047c435bb500673065023100e01c052ada1d7addc4f37563b8ca9650fbd9686e5f16cabc3b35ec4ee8592f95512b5bfdbdab1a317ac3b8fd845f1886023021e9ff96de23d54112d70213041df41ef1d2027ed3cb44f5a986f7340ae9f7e95da65e11efdb4e820e45366a6d2d63f40302047c435bb500673065023100d20730b7f1a2802192fe38840a2cff1cf98591241bdea2c63aafa2de0674f20f2e974196b041a07ab3e797a21f8e00e8023073e6a61be479eaa7ab9e22b3ff5eaa3ebbd1f8fb976ec2a0003f44ca296f95d2e2019fb5564d8c2edbd2f4f8ffb816900302047c435bb50067306502300d86f89534b57f3c13f4617d26f59b4baa938e79cd56fb95ae45ccc4da833e862eca5a2d26c14924bc7efeb36fdb68cf023100d93571f50c06ad242f24654c88c116b00b4a9e8b596a2a8ebd4e0a4a2a3b088b873ca4a693bbdfa3a53ad899928ae2660302047c435bb5006830660231008e9423953d00db7e2cde204195226f9220211914d95f19fdeb7b5e733e1f3f34ef8e49441a602466d69c2de034926d29023100e83971620e1a72df992ffba0b4daa3da98e41db033acc07326631a860e14535ddfa2f665b7453443a4ce09c4d640582d0302047c435bb500683066023100e388dc0b3643e59f72dc8cd5a3b05c0ef20c9e7a457e5d095a592ab6716bb996003f87161e6ef6df79db1ae8a9edafbb023100cff2cce27b1042edaf9a4e0f10c429f65723e5937cc651f9b09296f13e071cc583bff1f5250331baa6636aa79d413a9e0302047c435bb50067306502300e66420d5a751d5a7bfeb38a28b674b1a0f903dd923345371a179b0e7a645190f605cde0bf4faccb25a6c092eb7227a0023100d3c5c8e0eae3f0105e30f5235fc2fc3a4a3e771b122eb3dd7f0f42ea4a1da0080ce8bc26fd889fb7432ed6193b3899900302047c435bb500663064023065765f615b40a2963d525243a82d75635a2ce5f50b98db82f1b90f5fb60709ad7ef08b127ae0a87ba0208c7bcb548b1002305818c4524fc373fca60689137b5285985e731ecda7d18b03eca2ad9633e76f1593054d13e2567a4fbbc11472146b0a720302047c435bb5006730650230676ad8a7e9af8507742e55d821761f44c7657bf8f0ecb90aa4467b9500d71bdfc884dc527a90ff08394d5796c10d7928023100853cf7b3ac8d06da117d5ed65e44c038013987d942c2c92aa12f7b3f26c7a6ef52dd376f780500bcb6038f3ecb80769c0302047c435bb50066306402304aa9f29088075f142d42ee457d118a2d22344a9d59ed31d4cb312b263e13cfca8418cda7d0f5640f6a8b8eaf3bda77be02300c02cb0068decdad627e0d9c4a2cf215b7bda418630eb17de8c603a86a082a3664b438b328b4f7016d372b55a44ea15d0302047c435bb500673065023078d0707931de006864221a28a5d314a0d5738c98270c684cea8ee578f5683ba56d9fdada90f3ccd7df4d4e85f42c578e023100e0a417c231ee1c13ea6ac8ef55c59782b286ddb4f384b9e52bdad791735ff2337cae448f7dcdf5febe1c0ba1d7e2bc700302047c435bb500673065023100ac2dd54093681f864593530d4eca8f1847cb421ee361cc4a648f4c1f10b87068a6da25a5295893ee8b64966ca8f87a59023026f69453f9e407448e38aa4e66ff42192cfd83eedd1f309f531f42327472eac906a931a31d9cbc7f9d6b76cb43f295930302047c435bb50066306402306af497833abb5ed377cefca661f0e48521388f412d7af53b6a1ee6a76407f2a0d5f5fbbb383f1994b01d9a614564768502306d512241345ed429d8985df14ba3520da78dba9bf9aec697748eb20bff18d0bc0b408359c437152f13e984341849e27f0302047c435bb50068306602310080f51413c7bcb86e2919f44c54a192d075ce1cafdda6107de5717c41f2d95ba7fd47e184b576056760725e5e9e2dfe23023100fcecc03aaa7d38ffaa6532505266d09e15c82f7189b177f43c6cd6934461eb8d6e23ecdc44dfe8d7cbf46ef24b9a05f30302047c435bb500673065023100fcf110a17909110bcadf639386777c132e0d81a56fd318da5c1ce4dd93af10672eb92f79e08e09d3832f1c3226b1839e02304258725c789ba89f56b6f9f3ee6d777978bc89695ecb78fc0cf0b33b7bbcd321a54cd08a88610168f53bf83b4f544d190302047c435bb50067306502307ae627876bc7f5f57b6efc13201279d1824ba6fdb6ba51b469013f7ae20785c01650e6fc924cd81f32bcc5290d050f80023100b581d81439fc4e6f9a35368f61aedc60589cdecfea4877329c3a482f1e6325a5be25d7c3ac4aef8d3089a487696fdd5a0302047c435bb50066306402300e9d210806056ab848a62b004cf4fd0e43adbb9581d3e0860ada50bcc2f77cb962400c98459b5494a79807a94027d09802307a92b35568a6511b70234b960408eed187de64ca5510fc29f9bf7d6d17b1d3a6e73e16e7034ca7246cd909723e384f0c0302047c435bb50066306402304e3049d5fd3ec2044e01828ee4346c4909e90a8fbb15542833e4d74b590a36f3537e0228a6ffde88e1e0a48ebddc30600230336124c27de9621ffb67070be333f89f9cb5b59654e5d7cbc57f147b8e83f3e1a0fac2f625c644dcbae8bc104a71a61f0302047c435bb500673065023100d4f5d302998c1f0b608707772d2fdfc5cec4ababb60d006d1ec0d5a6d6dbe8667dae7b1c715b229aae1730dd429c2ea102307c275abf9d2492ce3a6e3384106516b290f7e4b1636c154b67fd1ab4d78b8bd494b43a692136ae4f4c0f031d026a7ffb0302047c435bb5006630640230632e376aebe79748aa44df87d6a4a65055eee8ed0b89117791a7f31357369439e637e91bec765c1ec825973e2663c54b0230794f29ebe7a3c8ac9eb4a10eaabd26eab0b75823c0a861f754c9fcfe1bd72d75c6d3eefdc65a386d613af308a06a95d70302047c435bb500663064023030365e54778d05ba1fdb188e7768eaf0410478b08448ce96117865618504dc18975424a0ac1b62b44051bf4162b84c9e02307a3aaa9cd3da181c23cd0c063896769d6c48f80424ed603d0d8b329ce93755d11dfa6bc4368294cae1f4f51f60d42f320302047c435bb5006830660231008243cfb723c302085a5b6840433868263f5fde06b72c7322055b1c59c9870e8c794bc68b2959fbffcb40c7dc8bc2e35b023100b0ec062260954c4f4158e932936a6a4f1d9b9b0b89b25dcc763a18ec00a6a8ed4723cccbf2c045b69e53361e6fb39f1e0302047c435bb500673065023100f1a63b1bb906dad34618527e243602a2c931bd9e3d348dae4671274f201751d69e7214fc5a0ea90688365dea961a44a50230754e09a7b706ef1aebb46c994539256a1db221d0096dca717a7fdc9a000066e799af82c46e111880744dea5534f066200302047c435bb500673065023100f6a0b5ef66a911c6ed403c8a7d22507b7dd5d6629cdab9bf8df7401dbdc6a30248580a3d1fdef774c0b17d83b6fd821b02300312ba96e691f1e171c2a1211c5e95dd7d28b8f2755b0f4a7c4e851f0b79b54373cfe94a5498ca4f543bfb55a29d34290302047c435bb50066306402303a173147e1902941c2d874de28cd7054d5ccdade436f38a2238793b7165f1eedb27fd80d1587cc55a28e4bb41975a5fb02303fca9e82c39b6770b286db46b59e9f7004becce516231fcaef77746b5230bef66e0a25e767c96518b0c36741ec69a42f0302047c435bb50067306502300f6253868121526f410f3746881e211427b03f7768d8d8933fafca8c1f535767664347c99bcc415df30c3975ce355e07023100d2e7068ed97858f6c676e9d01a82d81f3804d6c54b520cf3a89a6ff9f833839d49a6b68c87d1dc599a961a102026c19f0302047c435bb500673065023100a89feada67bff3ec879a9a65630a4e9c7b6e4accbaf648f8ecdde5ba20c142f8a17b6b48e9417a3f950f6231d9e614e00230191bbc3797018e7f778f000bf9d77985c861173eaf1a366a8b6d4cd47e64411d386a131a272dbbef019ed18820b6ee560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023004a448bb80b48d4b251d76501371e8d4a256505c3135584cf1ed3741468baa2cead459e24fe9a70d11ba8a05685ab6c402307b1acc1f8eac08bd03f30c47054a6b1ed53a90af8754fc9091da76ab2161331b2189ad3c54b9d588ed621b14d1f7f77d0302047c435bb500673065023100dea4d3b89b5ffd9accd0ae67220351fafc0e71337a6e34428bf45970382af1a1fd0b1b3bc37ad6c024d41e840985ba410230181a7c59fa67445a4d9a299f689607ea6aa7031e7043ba32e4e11a6129bfb0e088d81af66a7ff116d5a36aeb777db8220302047c435bb500663064023037c7ccf7d67934598bf3701438b5eb96205dc57de899fe6efc112d0ac937774075c853961dfba62025f46fe5d84665aa023019e2d0ac3c8ec0f14fdfaf33515c3b1bba3d1f74e599fc9d84265f2db7db8b37f81a4d493bd94c97e6ec8cbc0835da6a0302047c435bb500673065023100c5d99fa5663cdb8d0cf036ea83c84a5ad8469b27eceb1824a6af17709b4eea32fd9a84d9ce71ab2b667fe5bf669eca3902306e317311e5d5bd0c673b892ec71c60046a556563c1c48168e2d9f6b1f01c41a1cc60f9cba060d59cac0cb11911380cb90302047c435bb50067306502304f3e5f2624f26b7d4761eba76434765a342973391f64ccff0676839e30a0e02a06b87d152fa0edeca49262ab09405ac5023100e836a04256bd78404b15e7606cf4a9f941454ae1d8c59e4cb5df99592ea9ce59348a2dd73c4e9b0cbc29c207f90cf8c50302047c435bb5006730650230171f050d2d8b7279d90e52d321180b5f9fcd57a20ca2b2cfacb8b4bcc4d807b9be65d97613c8eecf46559796fae60f30023100c6b1a0bfdb76fe73b7a2472a07fa02cccc810b2e187c0158d8c8d63cbe531ceeb2abfa555666dfc8875c64439b13fdac0302047c435bb500683066023100d7822f6e6a2f776660918cd0987e0432c2f804bd610fbab183bd0e517f9e07784c0f33ed0a2c45be7f2bb51d240f2f7a023100ed26f7fd5f2d56fdeb4593631de593d91787c34028bf110ac12d3b7e24682045c4b515d9fd1f2738fd69a24afd40ea610302047c435bb50067306502306f9f3991626a08c918c2ab6df0fc0434995671a5556b0f61b00b85065cda19d73d8f6563d8910afcc32075b8a147bdf3023100f99148444d8489e1e87b02509300581fb26d63f98c235f9e5b03a8faea38bbdb1afec75253ec318aa751fa351fe79f2c0302047c435bb500683066023100d631b9f63b211eb1f15b4d35476fa9ae582471840a876b1338ee6008df41edaf8b352149d33a0a9418ed922bc314db8a023100fdd4008ec45158651b90f277bee8c08c0bf279b97c6d0927ec63de02ff03027c04ef10adce7bbb80c2666f62cf389acf0302047c435bb500683066023100c373572ca98ae15efe0599b1674fa25223007ad177af8451b4746909c8ce6b14e2ebe6f83367480414acf026c0e0a2c30231008472e07813161f4226f68ed700ba8f458d38e6990262aaafa51f6e6f32ef362b5142284ee171438dc6779a2a85aa9ceb0302047c435bb500673065023041fbf74a929a64b067f13d92d0007e57f01782b28f7f0936ec370732a59f4864a3a022498c36cdbecf8f2328c21355d7023100e428450345ca3bcc51533fb4f1ca27a80beebf41e9e04e2bbffbd5ce7db6b2ad4d89682ef0e32726c4b0edf350a2260c0302047c435bb500673065023100b7ae3f50e6b7a9c35b958cf33707e98acafe3716f4a6e412bc0ef0cc5de2dfbe0ee385aecd8afe042f71cdbd36ea03e702307435bb884c8c3e6a83d6e513c6be8065455e61685f94c9080340641703e551bace3e6a809d491ad0c0143f6a2fb75a4c0302047c435bb500683066023100e3e4a67ffcd76966520faa7743991312d8e56157cabef25055773d5054aacbb00f608a9d79dbfb22bbcfb297e88aefac023100f810b857c96b11da29025e83b1aee64ca766ac7fb479fd63ffe031e062dcd2a4ba342f2c13bd78260036bfcf9f170fb10302047c435bb500683066023100db593813b3e0ccb07ea409c4233e326c018657b035ffd6db8dc47f5fc5ad0e2a110dbfd5918b231b578b337414bc1fb50231009ff92dc751a5870ce08132a75fe90b3876256fad262eb253f16d61525a58c7d2f4c8502f773a4d406278b08b6775a7580302047c435bb5006630640230158a65f62dceb4a22a59057fe22eee55d63eaa058c9d56206196b21f0907975b1cff8823d26863727c707ce5cba3f9cf023020d8f9d2bbbb5918db6535bcd9c3dd6da927cd628cf21d7b329e57063721a6db81ba45a23ad5e001eb706a45de93ff1d0302047c435bb50066306402307598f920e3ec1eefe22cba2744fbe1cf3409635811b316a77045f1de111e34742288d172ab2a4826e0cf2697dbfa20fe02303d7e11512d119a23b4916fcccf9ff48372c5b9460e3a2c914f2ff2ec1399297b40b11cda0e040b38ed76ddc5a2593a490302047c435bb50066306402304f81c85277442279b10c3db7538678974af7794a09ecb21f4c270c2328445b5cb2b3a097eca1f90869c0360170b97491023010caec9e5116e2ee892d8297521d443167cb0ccf5b2c25f1d05468b9dbcf331314daa69ab6d8db300bc887814295e1420302047c435bb50067306502310098a34894f433ade0169cc5d21526634ac160a6fd50afeab4df5e9e04ed596bb2545f3634c2ebbba71ce3a6504981f1bb02305c5c3e16c5740ac0498ca644cc10aabb6810a094dcc6f0c1528c9487c9ab93de3ed6b5f83df69864db2767dd2b3ac2f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023069c1d8e891cc1a92f2ed024b6ec06f2cb7fa674cb3197f1b0a9d69ab0efde40087e9793fedec9d2d1ea7f94f2ed7a2f4023100a4ad807eb117f1ee647e49bc62712a28ec7c85f54b783d7a570a1ffc8a17852d39f328824c4e4f6b4c5a0f5fd04a3bd60302047c435bb5006830660231009d192bc9e39daffb0c4500bd7e1c33132134c3503ae29a76a00e7ecdc674e89605ec67f8b39de5ed9603460fa96058ea023100a6b2e9d7def7992dc4744d66756e2ff600945f28be84ce88f0f15988ec9fc1e58970feb0db53b89244b43e7212840b3d0302047c435bb50068306602310090e954194f0038b0d4dd3517fdc3f9bc79e670c357d2145fb4f6e573ee13c84b71f3c309a1f5b132ac2f2067460ed451023100c160e846156f7cae70fcb24281236934aae7ad0b2f1c0b498ede70052a3a8d3cfbdfefa01e98e6f114873bc0f5ae23d80302047c435bb500673065023100c0bab7ae3dea241eb1789c9696829fdadf85f5cb8487dd9ad6cec2d2c701c57dfc221d302c79129e4fbe1615537a72bd0230421e3e9d00d42041d18c63c4b440335cacbf17be02053e7e3e204253c3fd62bfd77ee83e602fb20b275e89470b7f32ee0302047c435bb50066306402302e42329e7b8884d9bd31c49a4697f8daa76c1b3ba79a86c3b2a6d97ccf2ca849fbfdc1e2ef12f2fab6589a1376c7976d023067265e58cb37ba9f3e2035d37973f1fbc8a476c475849c09bb785f62290e6794eb6e9df4b19fc35da78a0317e8c560720302047c435bb500663064023045a31ced3f3d6494a285605dd3e2e1e34cb031b23a7fa1dc6eeb638dba4ed11a6bcfa424bb0e0bc620b5705ee0bcf23402304015634e0a16ccef4f3f56c0535f09af23414b1e011380bc9c60bfa9d30ddf7f8c78b81f3f5ca8a6525d61e81c4ea6da0302047c435bb500683066023100b25ab34bcf40267662c86f44661455f907cc9a57b9bf2015b6f8bc882ca5536f0dc6b60210ad1f1091688c7bcac70ea102310097e681ecbe66e29fe26181e4f980129ccae61238a7b248b245ff3ae94b3417e9161c613bb3a9c125b7bbe94c150d80840302047c435bb500673065023100ba522b3edb5e34b225d1bd8e92384c5b5211a13343a6f7d585d8916eb792f014748ac49ab5739b1e4add504c13386457023031eeef55e7bdb3e271f686abfd82f4e4a439c6fae22b8c38d7c819226dfcd789f977e70ba96c8a4d2fc0a03f89185d050302047c435bb5006730650231008d029d8d518de0442985cba9c426ed64abced2f12b30832e38a1d78c7700a6465f70f64eb4da76f9edd1bb99ed0acd4e02302051551f8528489d3846405ea74f44fefbad52a950c397ca3febc4ffcd20c628718dbc0475fc5088f608b986e1b66d730302047c435bb500673065023100dc0f4e662eb3cc88e55d53f1a6b622b1dddf3b6fc4cf97048bb60b7b53a3ded1f443efb5d1c589b54c7d868fb67ebd4f023009caf18ce805d95eac95fda403cd5b17dea55e2d57840e19e226f21e4bb8b687ec156eb9d52f4d1fbdf21a0b961d85a20302047c435bb500673065023074d0d239dc92b7824a99a48a369fc74b218117c807ad507688224e129ee466aed4b2ee06ae4e84768f4b691201dbadad023100ccf84698bba918f1a03cd53aa756a75d6cca6f8c3d8e151edfcbc9dcdc53de043aafd5afe81b1e1efd552f600c50a9760302047c435bb50067306502307c89cec8452d5039cad8cda76e8114d5c8b91d6fd60489da2d1bf1ff5e7114e4ff13f3f95696c019e0ac78275c0facbd023100f5e6ea8a164011c01048f2fa2f793d46d4015c41d17c61d1cf006d3e327ab7b7d534b1d157bbc8cdcf2b653ec15657540302047c435bb500683066023100a42deb96abdcb956722dd25f8196b58f082ec1825c492c14130915c7c1db4d6d76fbafecf9823995b35ee133751c2824023100d44698512e9a29a5685d3ef6513bc7f5ba0c5fe14513bc16e4853b4575ca9d69489821ecf151d38631a6b40fbebeea6b0302047c435bb5006630640230577b9b2cf5695e59fca3d8951c45f32b6b6e67ef2b8d2676a2a32f4570db777afae385bcdc1b3d75891fd0b67de01c4d02302708d618685ae6afbdee1a497abfb12822cf258c8c78088aa113cb88cac3423b25413c87af962bb58cb890454f3197730302047c435bb500683066023100f82e53baa53a0b7c121f37873efbcdef0c76d45721c2418499179e049a1dd140dba6af490c0959d5629b55561951445e023100c36cf185c93d0ff1d8f1670144180909f6f9caafd53101161fedda054bfc78f3ad8de40fb074d480f6227c2187ac41ca0302047c435bb500663064023071a77eeea90013f57351999098013985be59221c693933d6ba5fe1c0f49d716506a0829f3ddc611998526ff276600462023010beec96aba05f12b99378230dc516bce1d7c7435e79cd95764e2a07f54a7965432fa73c2119e9d05018828df3945d600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023057929505986bc304aab09838ac3e657eccdd9f214479bef0ecec856bedac79fdd37a0de4ba0ebd82da1cb5c1894d6c43023100e4b17a29a038ec9e71cc016a8c6025444a319d1ee7c40de921329b8abf87224a5addcf6580338886a5accab9451e044e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500673065023012b68e0093a85b42fa114ade1cd0b7e1103a0f15ce41d46583e21449e7a17d227dfd7fe5946946bd00f2ff6dacc782de023100be2d32e876f58143731168122659633e4808a4287ab4d1a4da22bfdec352631d6cab49151e3ad6e0bf32feba69f3cb730302047c435bb5006830660231008775a8c3b2c51eb7b135cfce0951f71e553817eaeb7d3df1bdbdcd189d69dea528489ea64f0f01343306490051e34534023100d26cefa5a8c1f1027d9736e6d324e104a7be114922aa2ca85e4d6bcda03bb7ceb6bffaa8d7b9a2f828f07190de10c9630302047c435bb500683066023100c7d3b62bb9953141a4c0d1c53c68645ac9673dc2082bfcc825f214b0f16c002aeaff1a52170dd2f15c58c0fd123a06b60231009079fa7c09e07b447cc76d4285064c512dfb83384afb4255c7fb4b604a01fea44e6d3a936f20c3258d3aeacf014072960302047c435bb500673065023024ff731c871f8b94b3a1db6d0ae7b3df745edc7d30948440fd8a0d7b631c00d577a1f0e17ce13f007ff4ff5413d68b80023100b5e09f7d7027a60ea2f8500e5d7597d689801b4e8ebcdb580cebee8267c4d5fed6f7e92553bba9bdea6a19e5c8cdb21c0302047c435bb5006630640230413bd6765ee87ecf109b681779f9526e95ad2a464bb444b969ff3406031bdc81a90065e7dd98a87251951cd5627856f002305c3a0fe52a2d3fb8621a01e11fb2ce84c4bc071ed35bd52964f87b3f39f93cc1fb95234f593ae11658e6a80a970f896c0302047c435bb500673065023100ea8f2e1dd55f82275c63e62195a85c29a9ad1e4268087e95d3a2149d9dec9af9072e6af159a85cde66ec70870e30668f02303c1d68922bd861bcc3e0d5b03b5d9f12915eb1c9bc71f46dcb5ed5d1c9269a0f1a33f259a8ddceaa151e6defdddd321a0302047c435bb500673065023100a589f274695eb23974f75fb146feddfcc9ac5a59de02a57e1c0b14bb7d9dd7584b4289ef6f6c512d5f9c29954927018b0230244cca415cd6dec26e48343157d084383089b5cc90225020d5830b5d006f30bb4445fb6376c6050951ece6c1486496340302047c435bb5006730650231008b4f4c462b55787546ce9f46dd7de4807d38b51dd683d16c7016677815c9a2b648b2a315eaa91f7ac492ee3367e8810f02303c5ac7df75f17dd392a4f1d94af6da469d99536cef9dbcf024de9688e38829fbaa02ba15888439b219d99c6e03c011c20302047c435bb50067306502310080ad018691d453c6f5a0cc4988fd47a7d40785f9e2d34d7883a09e42d5b7213a548dfc839c398ab9de840bd74ce49dfa023077322ddb63180c2ce997fe8e61eed6356cecbcc82679145fbb6ac95c751b7b0aa375213d585e59c0e7af9009a00e91b70302047c435bb5006730650231008715909aca9e6e2cf7a666d7e3c70e2984f25b2425c6f5811225a24cb8ea27f5fa7aaaf4a59c1b4de7c672e00a5794710230416f1dc4de4e93a0f64c52908db641852eac66dedd40b330a6826050e91d3e716ce4a576a9f49738000659fa8a60337b0302047c435bb5006830660231009d1bb86a74490d75dba8b54c51068141c2572e0331213d7aeb4d898f2ade2d6021336c2fd2c082cadb492cebe111cdaa023100f80620a40762034cac44b0ddc113a013043b61b39dd73faef6d5b08ac93faa1eb99eae7de52c93e24dd2c76fcdd8daf70302047c435bb5006630640230663d5b1412d88ea0a2baa9afea2dc7eb80fe56933673344f362ea99d88553d5bb5c56edc6aa5cd7a768aca7afb51e31602305d98c84e4ab66540d4bf40e71a95492940db4b09b448358fccfff66d4231c13b5b9a2c7f2e9db2b8ae2f33df2aa1ab660302047c435bb500683066023100c501e8f40508a3a0aae323448b66a4db07ef640f8038c0069bceaa6ec4ed9edaaef1ad4d07be4d6f04769b8f21def3be0231009353fcec2efa4dd3ac6fce5e432d1e0e3ebaf2e69445b7550141a08211d8cb42e892ea4d53dc2f39f8bb5bda480064680302047c435bb500683066023100aa4dc7dbdb160599c90db8c2fc12145339cb3ba34c886fc34cb67210fa11db99c8c9773acf9414b85a982821e3e1dc94023100d87940496fe3353b8e791d0c5a6c53199f20c2c840c2a6b140927d4422a4007901c1bed599eae9c8c93d425209e47d520302047c435bb500673065023100bfa9b3abc583497393541d799a7cf572cf76e0ecbde61e807655ee329ddee40c4232f7b7f983ba5dd4e87b5d63fbb678023060615ddb704dc343e49875ab391b7bf17f892a7ca553b5e05493171746fa844393b665b70f87f54a83d2ff8b1b629bf10302047c435bb500673065023049bdb03db27d3704bb8f1b2f49cee79d2a1c5b79c65064484e4dfe121b1dcf9b0299418b3dd189846381294ea12db615023100ce011064b55febd96490e011ff1b9d3828c860b5a1f2b87d58a20631dc958c2d83c45cd3c56d049f3ed71070fb1d2a9e0302047c435bb500673065023100bdecf57d43ef28355ebdc67dcc64dccadd4a27df99b837cb1e99d41c1fdc8f08129212d7f7da37af829ce03fda798b31023073b801ce301adc71bc6dd2bbfbd933c3f58ff68d97691d52d3a71502764a6d84596c39b8ad983dd30ee5a776e3c5ec170302047c435bb500683066023100aa7f9f4eca684d02f93b746508a7271654e91db9300549af6a9d4ac979e9d8664c805a60cc4a95d81f6455427f9f859a023100c1ef0c96dca16c9971820154caf05c7bd7d95c11da996de83b13c042a607e1b5da25a12a17c5f35e8a5260f989853c0f0302047c435bb5006730650231008f9854fdae5a9019a58ac9ae0487b96493c6c6eb50d22aa0bc9a5fef2cd7bfc515fa8d8d2844299d382e4ff0d4b09bc1023023e8cdaf3eba9c91bcefcb1a488977e119a7eb07101161dabaa1b2be06f46437f8aa0a2594ede92e89b43798c212f73d0302047c435bb50066306402304a8ff63d23f493d0b6513598d5c9e471e3ce72c96ea20f4232b5410a04e11f90305ec94571acaea1b9a5fb0b78417c7e0230626e01a65b537ab03dcae653fcefc66ed892fe9f62b329d203d9d974260350bc6ff28118ee90d030e6e969bde4c19fe20302047c435bb500673065023100f92deb251546260a1b78187e5c5c1f24af7d5369f99b72a6d949496d44e2e131c8e9713b217fc8733bbf1835731ae56a02302a5e1281600189c24e5ebca2f2609796a63e2fa9c74b896670cf85199355b48240f573c76878c5433fdcbe90b3be65860302047c435bb500673065023049340fffa7a1d8215fbc3afa52f92fae7e6d334c41b994d006931901a6a44cb03dd6c55fac7a56bfa6c0dfab3f7150d8023100956cfe5aa122939c9adcff0a750a300401f05890bfb5b81f46ca43655f671701a0dbb9102607202944182dcfef3eede60302047c435bb500673065023100c4c9c8fd8059a6e25ad442c9b5148ec41c3030b2bbecc0a3f5abcd1b0d2376413cb4e8b902efbe7695380af538ac524e023076ff2da82c4063d5df237296235037f759270c388215f021273bdc40fed0b9cef8b5287c5be0863285e910924df3c4b30302047c435bb500673065023029b12feccee395cbe95599efb12430498252224c09cd9c5c0cd37cdba7021b5dbbf57726d32f0b45a6c19a798d795574023100e0798c06657846810738d1b99a6492c7fce3bdcec1d3cfb340a3e1b1b533bf2dac0cd3a49c1c5eca6c49bfe35b67731b0302047c435bb50066306402300df92bd2c6c370994d733f7e217e17ab7a3565efd28889bf48bccb3f03ea67443349099a200095c3468a4dd7ac90dd58023026129322d48b856819fb7d829b0fc0a3f0b6c34c49ba38debd431ac6eb44864270ec4603eaa9564d907e8f03f47e90be0302047c435bb500683066023100ded25df3e5e49930fd47db7342403424195a671767638adc76abacdc701fad631a4d68592efbde7f32f59860530ef34c023100d6b19fd00c7a73c24c3e42563e98bb6b27c77481d70330109455ba7cf12d076041459598b62a3506ecbed82fc4cbba0a0302047c435bb500673065023052b75b201a566d0b781fbc698dea24147c50d8238b3f9c44169ddf2f31a372d934ad3c17a9bedb76b936f5153b8a9a10023100f9e06a9f98ead45d924c3ef435489352862dba2051e7ef71d36f6e426c3a5149cd3c381896b70a03fffe6f5882a072500302047c435bb500673065023100e71af3a901283fd9f43c3784871fad174488bd3371533df452c503a118f132e0540e59db1fda239f93e8126eab2581ea02300bb2cc82ae8bf1a552ec6358c14c0c6fc7bf1ef33ff8bf5dfd87b584f80306daa97d08a1aa803c40f8fd2f444fc973e30302047c435bb50067306502304ce1a841b1162bb8d71f74419c47f26ff8a8b5438072495fea38192ce978a207554f8bf0b2d5f9ea80b49f0820a35f5a023100c3bdf826c3d7d76c920a63695a6fdb5181aca557cd1e621e97e93ec39f1d18faeaa178a81de803f4e8dfbe51ddf2e59f0302047c435bb500683066023100a846547c20860b71c151bad797277a88f362a791d63856fd2e59fc4a6ce42a0303666c16bd68aa57a982945543694579023100ae085bec273566a568e1c36e4b619f8a19a283d20f90b9784f74b18b5fa224d46e1354a003f812fd37a89bd7839307580302047c435bb5006830660231009cc3596b3d8de42530fdb3cbd47b78d9dc5140222ac8c1ba5ab7a61cd606aba5e90e6d66b7fad849fda474df575ff42f02310081fa5c072644cc0e9d8a15aeb6e0eb85f1cb31cad04e82f7fb12b7a22f476d986864598166ae456f6208f6e876cbaac80302047c435bb500663064023037907afa9f71a5ef3ece1df67559e99601e31327560bd5e0a02fd81453b6e440966413355bf05adfc63d231074db3f2302302591669267a764b157a2fed0a4d27113f45c73897636387958a4bb0dcf4f69bca4cd1b72204cd76f01e92dc18da1d2200302047c435bb500673065023000b87fa25b4d0eb1f148ef228824e351f50c0b768c2b50b881b8d59c0cc47e20b42590b5346dc18e1a38818476519806023100ea6ff5d2592053e9be82e094455c8448299158f0e5b56fa911a37708596f692272be53a468caa57ecfb994f7f5374f610302047c435bb5006830660231009fb15e340d0e553fc44e65bea4d9d4751d4ae6ef44a280037f582973bb0613aa0ab5e5c16bd46d38c377e3a48aafeff8023100e1b7dbb390c922f0119e1a23669c0c40c480025aabf1840ee7e5020c65af3bdccf77f293ebba7c904a7ae9ca973b4e160302047c435bb500683066023100cd5b7ec16a484fd773e435e77a63df8422b55175490641d69fe29dd4b54c2c02409ebef4cc6b431b128cea7bdeff1d84023100d450c715ec09ca5fe5c73c0e34a30085a18bd3e84672d99e4415ef5a72a12a3da5e5e144a76fe07b5cc49399cdc8f3120302047c435bb500663064023016721f2b2b22b7e8d363b934095f2026abd6d1b52a749dfb58658a2d5cf6bfc6ef8cce7a9178ff6751f8f234221029e4023011e73be3f46fe8b05fae0ba05f8d789d9a0fb667515635c699ca102fae27110d5661f6b1fcc516cafae78dd9139ba1350302047c435bb50067306502307a6e9039dc6f6c51f140182e6392bc838c23bbfcd38f515aeda1157e1bdca971811f63717b41f7f3ac67156a1b3863f30231009fbf44c645805edaebe4ca885a7da10e6d2034570f6a2a0d6d9f448e5c3a4a0e9855c46314778750970f8f6a3e393a7b0302047c435bb50067306502302175469b9c2180eae8a0d1d60bcb4b4b83122952fcdcda26e644441d6f875ad73cc4bbbba605ee6186d1e9c66490920702310090647f12bad7963732525f665802a0f4c7757889ec80612554f1a6c9dba6c187a1cc86b7d030644c626041cc7928b2cb0302047c435bb5006830660231008b40722c664b01768fc7a1d52c403d9490264edd06d6cbcd5bf8e7b11b9692707c1d3a817ce438e82752a7fa9e7f7f7d023100867b61df1806784e55fccb3967bfb2e346bba36ffdc2396bbf771b5630b3175295fa45eddcd0be416dc56acccf9f3de70302047c435bb500673065023100f8d4f66b4acec35ff7ced6bf955a5a3921e7dcf6ce64d8d140bb301cf803d1138b8cbfd1c545c30948f815c8465055a10230538a3df8d7466789dff2dcf3f16f07c1dc425d12c74fbd4159abcf6c2dda2247103ad9128ed3674ae74c9b05f915acf90302047c435bb500673065023032ad2e344aef1e8912b2d1174f93904eb871f429ce3d3f5b2b47cef4811866927f81e4757321223fd82c5952837fced90231008d92f2645e1230749ffb3e50d546ab1c1902213d54772db428d3cb0b28464ef261e1a79077456a078c12bfc4f20ebd440302047c435bb500673065023100859dfa448d0772e3ee4015d41e71dc4341806ad9e1222fdb1f7874347542d3bc8441befbc10a6d2707942d4d1134a2840230690dde6d79f77f19a29e287197f03515177117391e52d7af325d64fac034aca960ac92be3b711241f343a62bceb5be980302047c435bb500673065023100eebb84e2a6462b7e359bd0a809562d2dfbea926e09eb1a644119448a506c6570ac052ee81e5380e9cdf2c78e14da39f10230310b7cb5b6a209d65ce16855e2cb6cdd1d4059d66a03ddabb72d5edb586390abdcc95ec5ba8050d2e63e09c8a6a23c600302047c435bb500683066023100c61aa36464da6447ef2e34ddf3fa028a824278db73b4fec69d8e8c1264ab04bc300341cf8acec72983440417fa2e0274023100807ae2b2f608339b5eb2de797ad773e6977dc82b43c90b7a85ada380b00e57f050afedef0e9cf1f4b94eb132cd5605970302047c435bb500673065023100a7700a0456e5f55fa25361a2fff80c7aaf4430ca0b81e4333e3308a652ea746b53c98169f86a479d3f03ea8f86f06eb60230433ad43f1f551950493c5dcbb33b9f066cac146c7c9fb3c117153d226a75671d1da1dd28b5ce826c51314ce62de342bf0302047c435bb500683066023100f31e7c4afa242a104471b571c8098c6091127aff9996d6bf234ca45e0458fd39332c14747f76e785d0ead7ebeba31e99023100b383095561ac88f999403c170064df39bd057264c97ebe7a1e9cd5a3dbb2e50924b33c277c4437b65442b49ceba95bb90302047c435bb5006830660231008d52270c5cf9e0ed042758b47c2235d12e10ad45c08b9df8576b8291e1f1f87d2c6821b37560e00c1b7a4412e27de2bd0231008d0150a4e95a9537f119ce762e41f15440b58b5082f017200351bfad2ba5bacfd9a1c38d0b6cba519589d760ffb690560302047c435bb50067306502301f9f7949cbb97bd7f906a16f36f1a3bbaf2e6a46efc71c2cae1a7779815261ea3d35b939e390f9f18f27b9d47d1602fb023100f6ff3f3b123fbb2605c5166b450fe4b85e31c78d2521ba5debe47d754eaddc91df6cd067c598fe8512f832a73b35c7630302047c435bb50068306602310084f4f405d19b62d97c8cc65223c9893cf78d36f300ade9c2d4e544272b508abc2ebffad931d867d2a8a7c240bef1e7b4023100fd5c70158807b0471062f1a4167c2a72af47d1f83da87c2ba226ef759fa2113f416df81600801ec255f2660a9d4cb1320302047c435bb5006630640230602f56edf50911998184c4cb35f733459a97c3286c188021c1be74e93a99b8e9f4aed52d7764cb107fb773aaf9a11b2f02306617ef4f25479136546b607e2921aca78fd8fc6823da331f88c119edc609bd009a2903c9c818b4b8a9f2814e17e28ae10302047c435bb500663064023044eac726dad40707f4d5905ce4faca50c93b446038cedb86d8e91a0238fd7adcf54f67a9b73ee08f9d3ec77384d3cbea02304ebf029202a60d2c138a2654b6e6abcca4669333916135c450ef5dad26ca7a15f3eb4c27b18ae139580ef3368e307dfe0302047c435bb500673065023024d214e2e44399442667fe2cf40ab000a346a46bb0660b42fe0673fd7cb9890fd9a4e43f71cb35837bb98b4c9f331816023100e11f76ae1a70b0fab4292d2df4bf8e4fb632cf6f7884e67ec3ce368063cdd1ff3643b001db8e202ae2f00028a063f3e30302047c435bb5006630640230668f8fd162c091b58fe941ef37d444c68b5baf2d81fbd7390cacd63716d2abfb87dad6a620ae0903003e4c826252459e023015b8fef4fe01eb520affaf9c9fe9d7a33e033ee62f3ff0fc8fc7e3f580039aad518f61e9b8af9b214caaf2a33ea1bffb0302047c435bb500673065023100b098fba8f3d1760b3cd71d6a202dc68da662a15ff39ac06d3ab374fa0a949820739017e604da5b5fb5643e3a9f0a24dc02307a6a97aa3b6d58ddb8e8a69ee86296485d451a0a6d8805a68a024c0b15b2d17c4994a8e4cc2c26b3bd5babf0688cd3d20302047c435bb50067306502301962472a5d02a31ead751e0dddbf6e6aa374da9f27808aae6a811e9a9ea1c4deeb921fdb09d0ea56d005e465883616f4023100fa4b097966e99621075933f84a5376e267dec020a032ec815c96e816541d767f7be57fdd37dadbb8b6947815acc93c940302047c435bb500683066023100dfc4428056c1c50b3fb8c88c7d4095ba3e7d0fc305f0ecd1be7b2ba7bc902df249d8fb3611abc5bead8f9a3932901b94023100ea97e5f9a71d26f854f13b35a46ceb640ed50acd4d4cd27c572ad5c969f03cc060525cd98163788aff01581aa58c41250302047c435bb50066306402300ec1edbd53f4a9070fa1fefb0b3990af1ebf663289cf2e7c3b2fd99630ebf2c71eb0bfacac2a21fe595082e49ff81204023066bab072ac1c07b8117aaecb1587997ba399663d8f4e74f6445cd11a94cce8106a8a5777acadec7cadfd606a509effca0302047c435bb500683066023100e69282e5e4daced1c2ccf6af502091328f30e0a0c9aab9a72e9eb1618c7c0580194a687a0f9daea22746d9d6c276e6db023100dd178d6856a8920ba915255a9aa287378797c6a2150a62ae2e723b9233ca2d5817d52415c7704642d29879a2d4cd70720302047c435bb500663064023077fcf1f707e6c05b79411e8bedb432802ee67ac8e4eeedabd1fa8b6311ee045142d6af0ebfa0f4b59bcb4af2f7a8cf1202305bb959e11163e3a57d8fdc774306b3fcdbadeea5681408b4857d920be8691313c371bc931b48a851d198e194fbed07240302047c435bb50067306502302d0085144599aa055469da535b209726bdd9cac19e19cd70cada43bc5e30b3e7a756d0f2408cf88bc51433136b700541023100e65dc8d1a49239f667dc67629b384bec51de05102638a032d1fdda5ffd11df54214165f6ea8cb1de5baf95ff5630b0120302047c435bb500673065023100900ff35cb778e3e3eebc3db40f8c639f38df05b339b6ac69870ec80807b03cde7224a0f940e806c0205c76e8287aa66b02305159dcfefc140ca073c55be16acf5a907f957cd6d739849d37ae55ac1ca80bc61725a6223c9aba0eb702a3170d5727550302047c435bb50066306402306424485471ef40718cf7bb7ea93657fdea7e3cb115a9ed828e4177a21fbcb8f3116cb7bc3caa0ab5ba86600824fafd2e02307de2aecadfe433cc737e3c814909a1ad1d1b775e0f0a1f8a2b83ce223a5c3eaf210c1a3b620581e484774f9ea0c331fa0302047c435bb500683066023100ca72886d6db9b506c1026c9df597309e2f04bab233776d3431c95b39c52e818d43fb2d9b967a74dcea1c50354e13cc5f023100e53b6c6d4258fd542a237a132b25f902028ad9c98f7e9a6da559daf76a08267da34ace8c5cda9bb59cf119ee16161f550302047c435bb500673065023100ae25c45585fcbfdc44a61ca715c5c2b8a6790d20b384fb04d2a6ec24e656871d2738de038c628bf440df683ca44a956802300804e02559cb43a595b250258d953a612f14f9fe4963507813ec20b986d6f68978f3d44259b2709f8a350e54c3eae4360302047c435bb50068306602310093f772f7abb30ce1d6d71ced7328e1d4eb32bf632f0002c016672c2359c890caf3292edd89ecb768dfc7f6599833121b0231008abc6be88d5f356aa552e69534ad0080d9e768d732b0637c2d60bb73eec0391e1ffaad5fcbdea8daea4129a4eb4ec99c0302047c435bb50066306402302254558e551c82fb9f276e59dfe5e27b819e2cf208448e8da79e17fa2cb2816cce74533494fcb75071ae84cf08f16b2e0230769776930eaf03bc8ebff03aa1d7bec210d78941bf84e5d99c3c00c9d33c9b36b21814515159fe0a85331aa36cefceb70302047c435bb5006630640230794a23373a8ea662008f8547ba81efaf96dec2c21cb40af46b940d79ed18871cd0ea2f6af419bf245e6915ff7420087b0230694b4eaee553ea9c8db5cc07a0429dc597f81d4eef28c9f4323a1238e0f1949aaace40a77ec66db34b0b1fc1ab63f1940302047c435bb50066306402305bde972e2bc0a3d03926770321102b9458188c99fb1e25db20e17ff654e29808b97a76ff98bc97c18259608e4338a4360230022862dfb6219c84c0406189295af8820237b3822b4a6428f270c8ffb900905d445f32108780f2d82fe8ec8b404678690302047c435bb50067306502303654fe2970626e3bd17439c0da6b6b12df667ca8b72fb1f124b256e38be299bdba3fcbe3be76d9895bd525b8be067a37023100aa9a63821d1383288e79f88f558dbf523752d17b6551abba08a5eb8be03b4f7a075f77cd847f0c805b12e23f085968ca0302047c435bb5006730650230447db94de41fc1eec88e91186b7ff150bc4f9b4f84ed1e1a052e3d07c7ab495449b23cf4b077f87578954b9830968c4702310096e4d4a2e469832a13a514a49efb98b54454de5414ef20665d62196c59712bbc3cc39d52d0d0fa4e673d7d99a91e530c0302047c435bb500673065023100bbbce534434afb805a2d111645bb84d74f67890bfab275f75bce69b0f45c0a1616ff4fe320db07fc2e841b0638c934fc0230630e477b0757c361eb65d8a5475bb9fce4c8fedd008c1b390bd9fe0cda8e3467d358f60dc977f7549a5c4830a0e400990302047c435bb5006730650230679c5df9357a1f2dec8d4283202c955ba6103729fd5a8d1cc773d894e46f99e07c3cc21a33245d58c73bdb2462add594023100e6f2dd4396ea8df9cc65c3ee2c813fe3f356348b6399a9173dd414e787e48b661ddfd4a66f7b64fc18f318fe790fc0220302047c435bb500683066023100e74d910f6e1e495c113ede7aa517f9590158d6105c6e3ecb7f05495198e2d43f2ae0bf95105a99faf88578ff4b0a001c023100b2b6b34a4d0c1e2f830b5e0c3b2bad9b7ac2f9e783d8f18560397fd007683d44e497cc10e8eebf0af9c459b0c3d5b16b0302047c435bb500673065023025abcec99a3a250dbad38152ada48d20dc484688fcf2d59a386917f774411b55e99dbdd9c70915284d63972be619ce38023100bc5ac85ed9389a8fa23a214a75748a4ac94a3bda1da9413af6721b3aaa76af41ced2775cc0fe5374605e4b46b82e0fcd0302047c435bb500683066023100afd46df38b854849258385b11d77c88415fdf3562b34462dfd76f2cee71220758a79f3f9a17a7d662e03267c27b1e0d8023100c659ccb86624a2d16d1558a10f360ff7f2d269468bd83b45067294c6d4193db35c229106557cf0005091353c27dca8060302047c435bb50066306402302fa6dc4afa1abe55b959f3260e3192adea5a054aeae423b117945a14ebf580ec2b966b2e535fb35304c51ed81aff2d6e0230312d659d5e2e85e24cf61b844d59176a01e1bbc36e328a82d30047311fc2c7b01b45625679868e98a2de7fdc2f5e96e90302047c435bb50067306502307911f5c293557d09fe79188f79599055ef866ad8f33bf0d27151a7b56c8a4d63b12a51059ca5d7e8b809e3477cfb8d14023100c6fda70d3fa692b4fcc27733f42ca25204dcd9f3720e6851c38b3e4bf2dd79f5037c9092854446d331650ec43ca7a8780302047c435bb500673065023100c458286e5d8f4eaa16985d929248ccb6c43c5228833cd6f7c7f01623b81835fb609f66c0c860f20c897c57969bbb66020230303282b9d80e3fbf9c7450a145c679bfa6e0aeaff2d3ff0adaa577c41388605161f656d32a97379b817ebf3b729e57fa0302047c435bb5006730650230262d8e3fe26a48bef666ea6be713afb1ee0b8a7faabbf125bd001d1b6532ee009004b4c0078c1f992e01da11e3e88c5b023100feaf8b748b2e793acb0a6e472d2a4f08d2582914b4d1626970f230f42f0a093d0a94028b24f5d20b0b9054321dc4f1260302047c435bb500663064023007fdd8dd2569cb1026d1976e4632ebd3715195ab47c5f6ef29ecd312b296f15f09efec01346af2eed5a631f9b492006202304bbe59987b213051f881a91f5e4667f259f7cbceb1f80c4fb92901ab9890c03561609cb166600be210d3f5534a98dc280302047c435bb500673065023100f8cf8ff68fa8443a95c78acdb4a79541084807994eb2216479fa956d4ef6e11f38e0da7bde6f300b4d477694a26ddb75023021f3affa711dc782b129dc80d0afae74d17da4bfb91cf7f048bca503ab2c542a35b786b7e7a7118e28943e81b2dfefa70302047c435bb50067306502304bebc96c1efc579df3db230072a6286beaa315a594cc1819cc1c595384288d9cdb8cc5f7db133e9602dc871b75b77ecd023100b63fca45b6a2d9ae84d2d082b375d70338ec8835e550376b3af5ad8ce9228d672a8a6f4338dbbe811a1e4f3d0137e88a0302047c435bb500683066023100d3091a45a72e726dbe3618cccfc8bd96d6556d2bc0aa8e25f6053bf4b62b6dafa1381c37003c7677b62a054564beb26e02310081df604bd010eaa89476fec4b7572bebb9bb6745400c3bfa91f3ddc09c4e1113771541c42b90cbcca67ffb813f9794d50302047c435bb50067306502310093cff3c661f68e79ed08481eb7098450521c1fb846984074856bc151d7cf98cd1ebb824428e39388245758dc8482781102300ebe4f00db6cc205b48667024dc2e5b19b0cb05fdd2eebcf4d93814ee70cab79e0b0bc778a56c208a1ded1f4a12182010302047c435bb500683066023100fb0532bfb6dbbf5b795fadb12934e50e50dd5017c5a906bae378f3b7d0067eb32777ed133bda9efb966a4e8fb13897ee023100f0388db4f3b4b6db32896b1c5de4784ac8a67647677ebb19b564f4457b60e60280c0d76a2a0ad769c5c5ef0f65bed24b0302047c435bb500673065023100a39c4ec3ab2c62ab6f4703fb8960c02cdef62b47794fe248262b150b2fc8d5612031b7913f6a44d75b0755c0c2416cee0230261935b64cdb14dd448ece85695370b327878f331356f9fcf78bd94eff8600b5862011cd9509dc5c6248e6959c5327db0302047c435bb50067306502310085c405cc2b136e48862678ac3db0e8accc7071a9406dd33c9e49c028ce03869af54a5b681a05abb753bc30003818402e02302ea31052f37ce2a2e6056d9a5d5d24f1d4d2fc705d78db987107ed8c52764ae9a4558bb8df38d98e66d44ba0be6be4c00302047c435bb500683066023100f3b6259a1ddd842c07bba7e0b36f6e9aecfe5c86d907b33a79e4a296de8b03e773811c791d66cd9a807cbf466c566106023100cadcdf6bdea4ca1e8c1f3eff96d0fa7b694fe57144b9a92bb7b3db2b8f96842d6981c638f92dbf41242ad354429c00710302047c435bb500673065023100fd027e66264d206a38ebee3e0ab1b001adda1e29ceda7297ae22e903f6b383e1afc136af7393eecf13f8b3a67e1b87c502300f2052ac022e4f0078f057ac19f94a78778cc7c64ccbca164b828ccdcf305ce7a52ac1f2adfd2e5b448ae42c27f02dea0302047c435bb500683066023100da8835968220680b8eca1051eba18d7b83de089a3995f8cf8c90cdb90a05810fcbf1368301a82bc20206fbb021ffcac2023100bf74ab5a32e7e5da023d99b3328c58f5253143053cf9b2f179609105b381997815cce851dd8e1638c698e42dc754e1930302047c435bb50067306502307af5fb4e28c67c2319badb3ceff24df860ce658f4f753f6349885adbf21cc6e7966ad33e738710b84c07b285c0169f27023100d6aeb5077c27fed813e506efe513025d02a78463730793fc239fe644d4fdec7d5b2aa6b56ca4aca593daec349c871b7a0302047c435bb50066306402306c3185fedddc9a303e98ee1835e95782e0bf979248d2ec4ebc56ce684d8faf63d6d6384af65f721fe30535f667b7350e023070279f06388fcc221fdbbdc3c858ecc24a29daf141e3ae64bef1fdd45859af1f81723a80d09ecba97d3b32aba4b14dd30302047c435bb500683066023100ac856f20b3d33bbc812b45629c1df6d2016f9425a2b77a5b5469fa44d2ea389795464dfacae0c9f2f6fa5813b148d182023100de4803530268d3ef6558afd82dad4ce9c8c7d84a50a3d51aa4891174b4c249055a73dfafa292c96c88dba8364f4be5b10302047c435bb50067306502304f6bb0ca58891cc0a85f853fd3a39342b7c7d3aeaec6f5ee4c950bd195ec42c5cd35d1139e58af010599727fac024844023100c1994c53f17743e1ca58e2bfcc784854ccff4bcc158364edd99b499d29da538d4b6ceda6fa4e8efe04ecffe1f0eed1a60302047c435bb50067306502302bbfd12c30377d7dfb92adb93009e99f8b136396307cc3a0d9c3883e9a97aa9a0793b47f3f5b1ca1f878fa6354aed7fc023100b0540e5ccd71bcfc7efe32da5670bfd3995069bbbb533ae5052ad334650f1f9a588fda0be9a6df17b41009eb84182eb80302047c435bb5006630640230320d9fd7882301ae8f001345d0e4e9c49b51adedee7028c566d7d4d6a3c9b24f4b6df8d341aeb87ef38434c8e665297102300987adb1b70913f6168d0482016322c52152d3e3a528b81f0758162e723710369f757c25bde5fd15ce2b524f606703000302047c435bb500683066023100f0cab075cefb4bb47dab90bd6085744bbff4f79281d02b3414ec70f9e8a93e0e6b8c2ac174ef861fc9821f9d5265119902310095bb41c5103fff2f0f80355186bde09048ef1272d5647c69ec61492f0f687ec045288cad66a41eef68b85c28d82fb5360302047c435bb500673065023100fa1de8ddf2c5e8e19bec88290e0a6f691310225d026318023b684a03cd2e7c20ac9dd19cc8e88cd10a7d8025a945b39602306dba8ad91700fabbee62472024d9249002cea7757481b7aaa41e6196d4ffc9a445ece0833770e59846f0d8db1c7f8bd80302047c435bb500673065023100fa2d305943c8b8e009275f70e772b7d20dce00341362a63b607821f459fd4dc7ac3829f5aa8f222524c076ac75f59a1d02302d59ecb34b08897b82fc904c11ad3fe56cffa45eed79c5ce2448703305016541d0dbbc8ae6d107478b908c165ed9245b0302047c435bb500683066023100dbd7b63900b0a9d0be8e3fc7f65134a87840c9b7c0da85a0f257d7b2d3c59de0739ef52ad7372027a003cd0b3bd308e70231008e02c06dc77f4e82275130246759afc85f2496d1e2bd559d1e05a09dd5c4bf9e87ddcacdac79f5b50b3af8afc69df5b00302047c435bb500673065023032dc286812906a21123069ca6f00aaa243f81c1560ab11f32b12ac160db4bdbb0e79b11437361a275a5fabc2248b022a023100a0e13570e82ed7ae9ff2c572bc48957d9e4e5b2875501fc4d0327ae7b3f80e98464f6a2e608f993632f038ddcbe621100302047c435bb500683066023100d7061f8a7822e88d63694fdae0fa2f46a6419df4cb97d7b621a74a1b777af0b9bc9f7e31fc7ae5b54ecaa22d88c6e0070231009740019c1a1d2ad1075af1fee9652da30175fa35e7fa072cede3bdf85e73080f4bd83f5bb5c8fa52dcf3f17b305285f20302047c435bb50067306502303464da2c3b96125991e78f5639f5e073de6085412a52b2b64e4d6910d4ce269116f24f10330f71228bd447d71a0bae5a023100e50c721583a9df5ff5111bcf251da8cf791a81e1988940ee58acf8ece00cd557537458e98a9821905fd042dce6e0d8c30302047c435bb50067306502303ce9fdeba2a4099f94cde109537385504624b13599546964419b48ab1efe29b52b18ebc490faff36fa336eb468ddd05e023100c48d2e3a6dd5e59e6f7f067f5e0b785f55ac676429866bcb8041c2fe5f7300e87563fbb242d4b83bfdb779e83fa4212c0302047c435bb500673065023051122f1b3d914da115963f050e8723812f95862e234a4b7db2b95b84e37e471ecd292a84edcab3a80a8e270f4a9c0c5202310092e5cd21b8538027770a8fa392fdddc335ef3493ee967ef52039b1113eb47f8bfde6eb6b5f93197348b8c5866d6d91a00302047c435bb500663064023062dc0ee7b60d48381770d653359d47389de79ddad451c0f27216ae05235acb44e7dbdb041fd3144e3e0a0930004755e30230263c4f6220828fc92515b1102a22c0399e6ff64efa913513e4edbb33c67255b61e398542a43fd9229fa7ac828bc778750302047c435bb5006630640230060d1ddfd5486f01576439295db7971ea93de1d7a8142f1b7bde808a93475c7474f094eddbf2413429efe4efb64f0808023075228358d2b27f5a5cebbccc765d80053a34cf7726bba10f6e10e80858b26f847c97a546426dbd119f6bbe9d5d399a320302047c435bb500673065023100d78ebd465710bd93302cf598c2c66b7e16fcdf24e1d32cfea6298a8aa06a0f5cb02d36a6d6b8be4274c2d5e25c0e1c15023007bfc8c3528eb519e6d26a146ce33a7da077974c3e8befab6a30dcd133b73eb73b4d70cdb51a58f7104d6cdf5a3bb6830302047c435bb500673065023100d855b0d1cf3de0746367b15c1123469e48e1c8628db52e27f6120bd2b779455558b468516b430215cc8a7971417651220230710d38fb481d16944a8b4b5c79793486f1abb3e7135b20b5cf128f96ced00b6da2d88b474acbde3c1e89ff9af2f2770e0302047c435bb500673065023100843aca179b29d1aebd9b456fd90cb623fc56bfa2829b9b73e42fb0c10bc630f770f7f4ee7fc528f70c568d0b74f8978502300996c7c24c538bf736ed4a03ce060a5a5ded9e8660b1a8f15a0c332f01cfd1931b04fff8da7fec05b4d08800fed1251b0302047c435bb500673065023052176d462fa1e444f48ee00cb37b3682f7783924989ac8e068a164b1a2a041f7fd10d296a88196cc68488369ec7952e9023100c311291c2a837dd4e118d40c5f8c70d6d7aefffe951fbf7609ac34e4f0146da5d79c32436867738e7e5448a391353cfe0302047c435bb500683066023100bf4d31ffa0dd4db636f575db5a60d21c340759abda56bc26b3124d811c47fd681364701e3a6e8952083125d9a82d8513023100851c90a1cbf8d93c2e2c427dc5a93c73d11fa8d90cfc07e9857514aeb2a5eed64acd3341b8878be30b385f34264fb4d50302047c435bb50067306502310087148f7b4e2f1f3bdddfa8ac89c5fcef692c7cd9f62cf979718315d3837db4867281d605b68be52936e820a81cc8d1b3023049cb3bea0076697533689c9db718bf2e0c5863e7ff1644f95093488fe58e4574c70238ab2ab0a61e34e117f472a62bc20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fb631850dcd13b038429433109bef2fc9876007019388030fb7fb1b26f30221dac3aa4c1b6fc4bcda42dd4aa6b53f3fb023064527c24ad82cc635ec14b49c1e0e4755357965c561de36397371ecbd237fd950876c4492d5512fa90a48f2496f40c840302047c435bb5006830660231008eb5b80378f71d8ab8966ca39048fbc1db716260c333deabc02597175a200b6d7dffe6cd42bda1d1b91ad49ecc8eba060231009b334a8c0ced40196f0c1bdb428cf214a70edf36737c375a4097bd7c90516c39b5f06d8ce02e13ada0d036569e45ca360302047c435bb500673065023017513779982333bfb82b84d8317185885e51aac889d762c1a9ceb9dbeb4e08cf689f7e3e82081d3b9c62c6680db80db8023100f7973d3581f3d8d0f0f2369baa8b1fa9a82135692e08bfbfaf2e083b86154c119f8b0910bac875e74544baf5798d81ac0302047c435bb50066306402305e50428d95c524ccf08e38303dba0fe5fa2a54ca3dcd1c6af2d831b9cf38e20ed263f813a642e3f09dfd923539eef58a02302f35d471769ecfea2d179c6109c3a545c40957fdc902a25bf09a6f6904a4c173d39f75196158cbe99869e9ea684a95cf0302047c435bb50068306602310083fd2f3fa639dbd7adb8354d22a145a06243f46796a7f30c22001a82594322ce2f29e92568d2e9d9ad08c389efd6e4cd023100fb692791245c104144acaee52fe7d7d32cd7daf8ba2c8a827afa70c4dd799f208042c86c086c156a30d82832a32bc2420302047c435bb5006530630230782a241ce5a6f0e47dba1bf31a518bd96286e57dd928008965d8a3c6ed0f57255aa673353dc834c7203d078d45f8d681022f0739a596b9cf1d7cba9bfc824b2042590690bebdbcee3ca55f7ca3aecfba8328ff801c328f40873e8e52c61754ef490302047c435bb500683066023100b7327efea9c8c372925bb262fc33dc4f25dad93b076dc09739affe12d004e4f783c5c37dbb52bc6f3e9b688977ba8a9f023100846056a858b97f84f33b3e44c61aa3c0cad79b1987b3039c965987ef4ee2a0c7895d5ae83ce83b4d02e0f62d7ad8e1cf0302047c435bb5006730650230453ea2d96abdba836288b6249241ea57a1b71aa76bf79b2ef07d4f7ccfd1e86b100970c0b220afa8056dbeb95facc1a1023100fe381459a7a0035256a6dfff1b7b1d23929b5795c4fb2764bef2f9b58c7e05904d56c94961b83188005be35847f434fe0302047c435bb50067306502303af64ce1ec11f454f7b2b0dc23be0216103abf6f19e16fce7b05254add3db492a34c83905a79b824127f480938a59b80023100b073d2ea5f965a36a515985394a3e321e66f520ccb808f1bbd4ba358458e8004d16bb843c7034a068122e5f151629b930302047c435bb500673065023003917fb2b58953a606dd9d3cf80865b083a4bfa717a49c73785fe3dc882cd5fdb5c725964559ec841fd849a637300f01023100ee24a33d52f978959e2bc37bafa774bd00e15d64be14e422e7f2e057b640594bc6f88aae427569b797577a7c7be85ab20302047c435bb50067306502307e5a9755fa850af25757871c78ce67d06ada5bc1814cd98621e3e2c0fbec94d2002600fa751883eb0e4eddb031d05ab6023100f8dc5a838f1dff8b24b0b124e09945fe3cba1686a3f10ac257aeb01fd0cd43db2548c172068f53454861dcba3a1a843a0302047c435bb500663064023046725deb17b6614c95d5bee60a4dabcd1511246258f2218379d9536a4d66a3b293e8af9520f47bd547f4964b20bd1b50023038c5fc85dd7a9dae39b9b0d880564dcf84bf7c977c54b5b65793d76a8c4b27ba50b09e7759ff70bf3a81dd37eb713bb90302047c435bb500683066023100a242a85fadac5495b695c9f99b9b60d0d7c4944cec5cfaa04383d096112a76bcfa2c2dbf80721a8775770e9a5d8020e2023100b961afe1eb825f595972b392ac083d8853825a489d08b437b5a36e80856d6b1d17502448e905a14ac38d3079149d106c0302047c435bb5006730650231008521c32fbdd01171be52feb1bb339bf9d8d79ef882d9b9a751d31086a7001b4ed2a1331fc1fc17ca25058524eec680fc0230640ac31d6fdaaf006c07344b87f8e27bddcc56fd25b24306d377ee412e479191451bd8b307947d6aa0c23703d3bdebdb0302047c435bb500683066023100cd80f34e4ed140a47f0b3d015d81f947d41f87d47b4d39be366090617dd99f8cb1b52c51e566d756fca1d5fa721f7a590231009580fad11ce70056fdf30020b369e975165db38858ff3a23ba20101218f9bec65afa28250fa7e2e46c504c906de1c1a90302047c435bb50067306502300e16bfb8e1ab444a19c572cf0ad2d42b9f7d440b0f340ecd82dd76e453a612ca9eaec47c935605bbb6fcfad9118226b50231009f1ea05dca243eed218954bc3996bfcd4e793626e65d0173a50b1d06b51498bc62e09a85ed413fa82d19ce92a6ccb5ed0302047c435bb5006630640230723031aaef4941a43757a3407db100e40c07d37572de90b583140716985f03c0146a13d586c062cfe2e117ec92e3379902306d14894b9aa14b76289e973fc0eb1b8fb157c933ec115a550768e76bbac42b199d62bacad26b40c268b7f07135defc1a0302047c435bb500683066023100cccb063231b8d25b44c5517c98f4aa8857b92dbcc68e394959ca62236a287fd98fd2ccff0d9c742632e3b74a4847b27d023100f6e668857882b29eb10dab31dc1ff41fea2225b8fb554da1acfce5a79f92b8ca4a3926ae6ec12ef57ce313f937a36b3a0302047c435bb500683066023100d7534b98bcd31a4116d62c3a5c7b68f1fd8769834247f643b2d4b4e29fda531267fda584ed431be26c2db8c765d2abf9023100980bcec68282c60eff5403bc16c49f647ef5b269df1a51f9b78c10b87433130589aaecf261582ede3f7da654868e10810302047c435bb50066306402306f58308c75ce7523324567a799f67b9a5def578d23e2333d05f74fb437fc6315ee4b891625748f4703f30b69ca0d901c02304d2d509272eb54c3934eabde12d07f7a10bd843ba1f104d3da677497ca17a05913101054934d4152286cb8eb9faa1fa70302047c435bb500673065023005730ac25b6f8813f9a42b84ff6f5c0eeadbc6cf444b24948d20743f17b30532dd709da1b387ef52cd10501b3eec2809023100e39ac5b49c9c8a9dfcd91076162dfd63e50c710e810c6c63525b1b87185979f67a5b42b84ad67ba65ef82b5ebb932e550302047c435bb500663064023059ff6231f7e721a6d16ecb45bbb2cc954f6f7c73d3269a8ca38c40af1b2a10495bae2c1d67cb230f63f439c5d1c075a502300a1471f02457276fc6157f07a642bb44da814c790f9e41efcc4dd6c1e72ca91bc5fc201de6316c74f860c206fceef3b00302047c435bb500683066023100aa6f35a1b4d8a016e479df664061f42a73f171f0d7d51310d98b666434dbde21cb2c51eefbeb47310ec0ec872c0edef6023100def500ec3d8e6a0729cac84e6d884de0054e786d220b57ec6df91f3c2553a9d6142b2fcf5346e21393d863dc719e05d50302047c435bb5006630640230288b23c2d532cb9e727342da537c2c11818c10c170f9fd39393e777722d70547a46301ae7db90b6c2f1880004311793f023030d4d1e0c0a3a126213fb7d7f2346640f588c4cf3b60d70b49431942eef682e1c8496f30100219c1c3aef31af4a8ef530302047c435bb500683066023100dd21b2c3d44210f2073698e7396e543c8da08a9b0c5cc9c37bcbeb56dcd5986edc9d88edf5d3acf6896ee461b65b2788023100b75212fe9605155194153e86f74386eda916dd46a653e9f505b4aed7b8a4bd8d4b03fd883b1e864f90d47dd012f4b12f0302047c435bb50067306502306c6496360ffdee7e72ec62d9cd4877debf36e912f5b42229e92c346a036f0d5dad505720dbc2039b6c7bc657de453a72023100fd586d31f95bd029f610e0c708f01c1ea3ca424187e97ece371db3852eefa87a65f05835fccdf14d249267ab1b89447d0302047c435bb500673065023041a14c5a76dbd71e778b2d463d7a43ccfbe12804f4c6bdf7fbb1ca191f63097959f3b6fb10dce882e99d950f0ce6e283023100c1e0584d6a294feb0918b79d1a1d1a56cb74eef1959b3f7c7a9d6238baef828f20f91a5d70c3cab490a5f68f371f29880302047c435bb50067306502303a77f3a6efc995657cd5c5a43594e6f30cb03f9970e25cbc7fa8a4825be888f416e63d70cbcf1d095db7d5bf5c00b74a023100c4c6597c695627ff107fd21a799514e06c8078e604e98b7f350dcb56ce100d94aa69feb836ba321de584a4b268e6627d0302047c435bb50067306502300ba9586c08232e90c075c405d3af912daf7c192ac22d9632b7a41840247b8242fa8d7e3292d6f5af228580b146417030023100c521c9d2d7e379da25bce7ee36d68eebcf5bf02e830ca0d162959afdd4bafd8ce1e61706454a0bfcb79fe44d98db546f0302047c435bb5006830660231008c031f14565d000e11b477fdc45fef1b6715c1bb4aaf7bbb5ea545466edcebd25ea85585ee5d2d6d60d6cf5c9eccc2cc023100a534ed6183ae5ae9b0908acede4c0f1bcab0c7f89c0de954a16361d57b08cedd060504725472368cf68c9031e3decbb30302047c435bb500683066023100fd07bc604f79bfde55892954203364396ac11947f1970524e29d944e1913924f1102f045ce3d3f3f4683c3a3cb1a96b6023100ec408dd1906ffd3a243d52ff75c171e185a99c27f8f80070f91baa933d71ff1733f4734ab540525b70938c6b046c8e710302047c435bb5006730650230433035e83e396aa11401f79eb5e1198fcf0770ad39e8ca937e6c10f962709d5680894c10106ad829c3d6618ef96d1f99023100b0dafeea670dd7da432b7e01f82445b88f736896e07cdee6212aa7ff818c65b09e4e31236bead1d4c1e6eaa1586633bc0302047c435bb500663064023010eb06003b681b8f20edbe5cf51497e48a108d74d4645f85ced7cc21c76b69bd3b23567825e27653a1a548e11ca742590230783c1646da26445d19505353f54b47803020106d986ec0b184d0724b814ee44d205f99029a24dd7c6bc62eb148fe6bd20302047c435bb5006730650230507a5a9ed25f550701a66f5a1a1b4c66f068fa6a4fea45e59a5fc953e5552458e78876b57d98c00922e790aa8b972199023100ccc3f0c68bbd416b2a394ee9efd5cc6eef485ba7eb0d1383a556e09e93ae8dd8b877ead22ffe0fa2b7370f23bbf7c1a40302047c435bb50067306502304012d5f99ed8671d064c2ad0ea618c988d2ea6ba37430219c4a1bc7fb2908abfbca2f3d8d97f134bcac1638967ef52c0023100cbefa719950afdbff0ddf2eb9ed9aeba4d9e310cb09171b94b27a7f112a62be5bd89241dce2b2f6dc87243abbddecf000302047c435bb50067306502310091feb905e26b3da0d45cd50e23eec50bda2b1d1a8c7dcafdce26581567e14a86fea35c296785426051428836b98a1b4f023046741af55a50076718397538194cbbf9c4770d4dc4b7353e384e931fe56396d8cc9c5a9ddbdb534302f352d2e764fd960302047c435bb500683066023100c2fb43227b2f460dab6196dde3c9d347e955a4e0c6a2ec8cd1c20ac020172e1aeb2d4d80c040a29224925e36a7fc16ef023100cdb64432b05496e79049dab8d2e2baf4a4d1ea2493d3b83e3e2e08a11a46cdecfc6d048f30bd29529866e55c2575097f0302047c435bb5006630640230601c89e3b8144941ece7c6f24fdff7aa2953d99b1b003279475e9a79a16e1fa1e0210e577a73da0a275eab870093f082023009022a5002ade737e2236f92f051eb9730bfceaf6a3bf20ecd393fe81ab4e9091676c063fc62ac9f5ceaf1179afcad400302047c435bb50067306502302168fa1999c68185c16a38e76abd1ac674f9b02984c316058d6a1538f18cc0bb2e4b73ed082b693e304ce10e0d082fac023100b834a90421d953884cd4da11d11ac1192b27fd23617c8f66e042ce870e2a18677ab33293d56f602df412510648941e190302047c435bb500683066023100fbacabe4691e6e5b8349dfd778b3bccd38a4b829d22643271d6dd69c9304bbe25eed1a3e6cb8bdb77516d208633a15ea023100d50294dabe1ba130ddd3f3fe0bcda980acf69063c3af8b3d8a6b34e3fa0dd685113858884a892c1310c6189d673657d50302047c435bb500683066023100dd0459019486931f64d5575090f4c907fb9ea5c9b08ac4cdf04b2d2efbedc2acf919bce2b28b6829f08efdd58e8d7cf90231009044b8894af8ea6c3b574478e7943b8c6b6d1711843648e1e84c8b579dce1eb1aa2a9baa765508c9eb015a417351f6310302047c435bb500673065023031305013ddbb4e4beda391d164aec5fef2c23610385991d9525bf4d44d78b1f53a248892394c28cf2765d233bf1975a1023100d559fa8e1064e1725bd5dac921cb4ce041f9ca9e7fd43bf9fff02a94b1e8ba7fb66594d7fa075751347d22e9c51f3da10302047c435bb50067306502300d3dd82bc6fd5fde67c00c443d8a485f8869a5641c20277cbfbfdb6172872e37a2f313a2f4f860be78954d7dda58b075023100bcba64eaeeb7dcf62bff50bb6fb6d8cfcd1c432d47be4ebf443bfa5267efa0e4943b368df7034581d1affe8c051adbeb0302047c435bb500673065023100e46c1a7d14925148f3093840d9e4fdf9ac6788d58aa2858cb28035596b48327df2831b33530456710c6e691fbf08623e02302a3385728f656a4951e1f06a0a24d3d4a27967b3dfc248da3966962b7996b015ccf0b0cfb7f6ecf5e6a4296e927e37540302047c435bb500683066023100eeab94500df01b58d3e056c678f120447d6a312778b15a1304c1c314ad8b00bcf3631a5c7c605b846bae8b380c45c860023100aebcfcbfa5e3448d74398ee0239c87d5b9c9d01af91491e2cb7a66f47a4e36c2d4ce048b0cff747ece5361d3476c34ae0302047c435bb500673065023100d9bc0ff737d84886c6d08e993f53e3fc8314a9d57615024cf62404d5ec5ca57f98bd873a66b6d4588d2bfadb80555743023063c51e9174e8ba9b3bd65eb774bae76d5a285b9aa04761afa5bcafe4c2a5e509dc0b98b1e98589c47dfcfca87f735eee0302047c435bb500683066023100d83dc0d6feea74e349e2d6384175a0fc7ea4f946759557260df0fb4baad2a5a07257c511dfe2c83fd599f71b46b3be75023100c7a718b334388cf77cd7f2ae8afc3eac312bfc74cd8a8499662bca4a4f21bf8be9961d92eb7cbb96171bb2974bd4549b0302047c435bb500683066023100e22f2483a0aafecb087e8b9e53818573d336e8d984900c662849e57e3ba44a349aed89c9b89477d20dcb5f63ab4ce642023100f0aa222ef5dfa6d9878e1ff02d009fff307ed041ebbd25d97163a3446fb24bb061b9eff3cc5ec8bb8a16adc1916c9a9d0302047c435bb500683066023100ff953c9e443a3a553446085c01827d57706f9902d767be87ef112a2eb21720d4e801e30e756b4fe22031f0bd03fdce95023100fce4179e497c52b6f14733e528574645e1b707888e4b5e26407aa126f1e2f6d0800657e3940cce77538cf6f1ebeb0e830302047c435bb50067306502302d2bc6daff325fb1f0797967fadc2131af0fdca7dd388893bf62447c1b6649af4fa1c8bccb037e3c3068ff504d365fd602310080592bbbcb610e823175fa68bf9f81dd9598f9f6bfe20f5271bed896abc39fdd369d6cc933d02803a3f7658bda50b5c20302047c435bb500673065023100aee72a30ada389991ebb0299a2e4ba73fa6aea2332a25ab458fc5df190fc4a18bbf83c544325f7a165d02052af5ce141023054b6996661aca849f3bdcc3cf8ce0cfedcd0950b1e5dcb7dd26a480a813ae23f33ab5dc5e5b8e1001c61e85b7b233a870302047c435bb500673065023100af35672f326d71edee6292de9758d5be6203d5a8053c31c16a91715c89ccabdca9d0611793be2f296b18f8cd74fa05fb023005d7ffc2f008b0ccc024125253f4be16cb8082d71e166efd6d8f154e457048f8291f81aa947b1a96b4f577908fb3f3a90302047c435bb500683066023100b46b005a7a55054b133ad838323a29ee9f45a2f63302a990aa027b3c895031d7a3e1d2729c8a2eebe17e217100362ec7023100c4d542ce869ae2d2c40bd60579e65aeee83d523348acbcd0ce6b46d2fee8816642fbe40166bf32e6e04468533e36ce3d0302047c435bb500673065023017d101e8ec2eac0a8d5d3c1429734bfb65aa9bb72aed697c5415722215a5ef48068ce1bd42f1dab2255f1e9f233e6860023100ecc1b7a30f304e72229d5459c6fadb0163454aa2b06e320ef1f0c47502fa26f143331942b5f581b1ef2e110901b468b00302047c435bb500683066023100e4dfa3269f7eaaa252310a207cdf7f4d277c97a0c1d1b348d9345d6709f783c02c9896fa81f059c9e095455e0bf194220231009ccbdacf7df334f5c0a7c38d35ac461d3063d0e1ab8699bb33d3a4bd2538a3e6b6d1a70a8e7276e63912a296d43277f20302047c435bb50066306402303c2ad579b9c9871e10d2f4d9e4369c352fa8734a82fc08dbabfff24654dde648e399044505a8c8356cef806d7f75934f02305930b54b8d88fb15c1172ce933c2375912bea06cd8eb662cd223e4405ead801efc909c193bdd85d92f5b0ee66c72556e0302047c435bb500673065023100f06c63017f78a39f7cd94a74f79bba6b9547e1dfbee8ef6e3121eb77599eb40870219be6c0f4e2a29f65b258a34931c702306ceef4d9b6c5caa8c823ff246391de3b5261b2d054aa757881aa466a16a326e152dd93f7752befdc96129b66597022d70302047c435bb500683066023100ff3bdc0c770ae57e83ad195a46d5f8b532e6099a231dd5147573c3a133b27ce856ec85e7a870e41976c0fedae25351fc02310087a4bebffbce89960912e6cccd481a370f1c64cc65b81deb3ac1e6d99ddea1efc76e15256634c15e18abd10e25103ed90302047c435bb500673065023100e58a47481fdd0281e1f9f957ed31ed141b3ab4ee450f2d8115a9fa8e3bda5275859b2e49e42f5bdf6c138f6a8a29e49a02303565bd03ba017d6380b231e120ba2df39b733a57e9495a8c8cff25755d529092a301089529c6c1bb82247bb0ff7f4c0f0302047c435bb500673065023100bbc3d9fb4c053d77f710a8d4b8eb925ceadd1e33d8b8b4e92db69474f25d192c47c9faa04b751fe4bf36893ae08fc38902305654fc1b68267cde09cf7b0d8db23c7f1aae77b83a0cdeebcb8f51b9b22a7575756ffad83b36362e9832ab3f6faa86070302047c435bb50067306502301b8debac16a7a78e90d003920bf86814bd50d2f5990fea01b2aaf5aa4ebdfe01f60647f60a1a84d438878be1b0f9a34c023100a15f26e827f735888f7c356f01f905ab6d0634dcbff5da9f719167f13b748d76f4df7345c459aa8dda1ee3b9dda35e9f0302047c435bb500663064023030cd92e4899be0fa9d48cf5886e94d8ae7b3efb218c4fdf97011510251b878726bff6162b74ea8f60321ba8d2b2478a5023012a61fdd239ac5cbb2bfa164844e06c80cf01b74e1182cce68107bf5c20ee6f9352152771ea5ff41e5e110bbbca4ebcc0302047c435bb50067306502310097a042f4e7d03e36fa39d9b74cfe5f2050fbe80c8272722a81bad64388404138681869496b3987554b6dcfc8dc4ee7a8023017fa856a37fdaa72f2473a0784fd46de5f8147c8eab2cda1c27cbc1f0a4db01b9105a50d8457ce5ee8c4d97cb98ec3820302047c435bb500683066023100a672e5ef188a938270dbe554ee9c85e3c9d9f2d5b9e8f3bfc8b180f43656708b872a6a82d6ec8b499a5aabc226e77b32023100f4f9b95243ebaf57b51fbcb1b11aa369a4b4e277a77734b161524db7a33f0c993bb01dbdde8c27f0e9490f763ab3b6cd0302047c435bb500673065023100a0bd0d6910c2fbfdefd2a16a7bf74f2d7c0efa27c91631619b999af2df2bc76eaefa4e411da7dfa6e395d9853720b1b4023067791a6c9a8a0bdc634d627d1b5be12d859f2ac71c887ebee9388557cc1bb55368062a180888b1d59ed7d1dc7b7cd92d0302047c435bb500673065023100f8bcafc0740686e947ce3fab721284bc50eec079c0f8ea918d2469058c8284ff2b970d3e02a3c9835adda073359a11e202302490af7ca0e76087e3881521b2c79d2cc9e0dece7e325ed714bbf8a8cf1f4641e030ce7191107e8a375f03f64dbec46c0302047c435bb50067306502300f84c046a8805bc5873278bc29e303445fb59d9f7833ff8813a7287f59fb55f84447ab96dada96272638cdb4da62fad8023100c72a1ecc4e7f29daff34541890474432e842cc8a154b0b657a7d0a2f9dd4d7bcb054fec914f4aa02f0533e255628c7220302047c435bb5006730650231009af5ebaa3bb63adeaffcdf6e238c16ac62f91b173e22dcb8eeae395cac391b90385ac65340b27c641cea997bdb6fdcdd023066ad076c6197ac69cf5c8bfe3b09d4e1ce884433412d50b049dee3c434a2a0be910a892ba428e96533bc775d693c64ea0302047c435bb500673065023100d322de2e7d3b5197fbe2d1fdad65f2eca7b99633061df758d71b045e7f739eeaebfd8bcb1eefbab71e80122a880c4cb0023064221c45ff69189a1b2509ddcf02e0c3ba6b58c1c7fea1842c9126452ea6ac7619ef7af44add399f6cc329e1f3ed599f0302047c435bb50067306502300cf90cdf0f810a541160ad6821aad99f0a4293f32b6291d2da0eabd3d32bd7256076712964f179c12caaed5a4b41d35b023100f6c6db0a2a19e15917950aca360fa6736fd445b66d16a0f539cec3676486776598e35951bfea56f0db48d7eef4e85c4a0302047c435bb500673065023100ba31bfbfd9c90687e57bdafa1b940247120b0ea7ba350f62d3975fd2e5e328295c51773dfd6f907a529fde1bb246e2e302305f1bb0dd84583e726dbb63ace87f63116098b842b8f6fed6c5998f048dc56aa2e79f090425eef7fa9f136c3314d3048a0302047c435bb500673065023100d03dc1898ae87ae56db17ff76fc2df18e8e4fc97cb33e9adbd8885ebe94dd7f76d9942ccf0cc33a1129a453eea22776802305d7190dfe7d79590b7a498334730e353f5e7dbf7086980961363dd5932c34280ce215e9760588babb2abe7e16f81ad700302047c435bb50067306502300ed75fb8007aaea7ec3630b6c2c1af6842b8bd7f4981fad89c408de54c1f11019397b93403a914bb91ef4023402c128d023100b6cef7ceca761c636c9b34443fec4b49c84ee4ae333b7d2e83f83d12e252905f01b5d25237bc2dcc0d8c78ee99cc7cef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008bda19caf3590c2991ddd8083dde34c407ca0e7596a21da7ac58bb9aa3c72050b73a04b7ecfb604b66691a7e0f49667c023100e218e0520bbb6409edf5af5b4836bd2c465fb29e5eeb4a06f445a8622aa350086be004b6e5c9e9807c784a38b77ad5530302047c435bb500673065023100f3cf321dd74101261875e48ed87d37c1ab5426e45e61e327f952e69c2a6e0ca3d31df4fe5e1c781f4045085ee06d6dd6023050a747671cebc7b42d1bca03f2fb1dad2eaf4ece8097499e0c9f38eb5fe67a4ff4a8b062758a584c90669cd97c9b33830302047c435bb500673065023043381a047401fa099a65837bddfb00988863544579334f3fcd8fcd744f8c4ab74db15d92ae0447ab91de7ff8bf9f803e023100ccb24fa6f46ff323fb5ac7c3a51ed02ff272ee21fe276a651000197e58f3d53303c75f87aa6714536af605d8c52ec5c30302047c435bb5006730650231008334921aaa92296ce985ec9bb5b01661c525fd4fa2f01d3c820325aa604e7c17c19219cc20f33f55b7fb6bbdd00c5b6002302b3708e5cc07cb9739d4688dfe5f11afd2108f6eb6600f4c88e2886c38b6c43d0088d30fc4058ccab1990d8b0517a7c90302047c435bb50066306402304aabd8cd8d0a3ac1bce09c029465a239f5072a4831984cac786ae79555b095b28985ef827149fad72f347e801c445d7b023042375391fa7fec93d9e6fe2b3fddeeab01b97f9d8efdb55edb7f63c3bfe627b8a05203799e8e97ad9ef72be82c9ce5ef0302047c435bb500673065023051f6a9616ce46a756b9d74e0197435b936b1a1173b57f07084faacd034d73754d31ca1bc6a408b70ec20c1a82cf017f2023100a7097d1f2f92b453ce1014ad8045b2d84f66b6fdce6786f839bdd53791c1a4f6cb77c7e10a9f9c453133b8f4f858087e0302047c435bb500683066023100c5e5e5c33fb5d8e4c2c851a9a5307136fa0b9a12e050bcf2ea4dda489d2c84a638b1c0b2bbeadb6d25bc562093cf7847023100d0dd6932e44b439aa6f312b6a6f9198c587344cf870d0289c398bc52d14b966330f03567b49e559d6c8e17d2301427e80302047c435bb500683066023100ffda562409ed62a36b15bb06af60222cce9520fddfa6880a3edff9ca8ffbcd640c5953650af4aca64069176fe56ac078023100eadcc9d8fe22ed560c6ca5ebb14701be17708c2805477a8b219c557e38fa2fe259f1fa6a241c6aa6d79ca7b1f95c37300302047c435bb500673065023100d15acadfbfed4fb5ea80c8f1ccb1af8c445a2eb572eef60e6fd78529b0244b6aa719db2304ba176f9a0b722330b5146402303a2089a5ab6825969f15dfbcc36c2c26a0b9c6fa24cae97d9e5e2158b8e1bf36c38e4a08501d92d3348eac5be8e5a29b0302047c435bb500663064023044c7c2dab9c57cec33a8143a6078cb6b932be1101124145f08277afa52ef2a252edf34a0c4da8c626ad637844140669d0230240f4a90490991424c3c53888b0fe9346932906cdee060b742145343a598dc6b04fbb834392a030d66f64fefd573f2a90302047c435bb5006730650230380350815437fcbcd79d962e0acd53b505cdcdfba76c034a5b8de2f9a0bb19a6b864b9f35deb124793143b99825b5cbf02310098aad1e55e4eaaa927200e844edf2d24c06e3ca634864ba3eeb4bc7ad134bc0489ed599287dbbdad97ea97f8726132940302047c435bb500673065023100a11dc0ce7464c22e9f8306f5f392ef308d95778e58ca7a26a1962f77fa59bcbea4508935992282f03ecf0b32d53e71f502305eb96782e6c877e720ff6a0d2eda8d0fb4d9f9139b9210b604a35f8a2efbdbb7ae2bd22f48e932b08df53fd18dd797240302047c435bb500683066023100863341eb22b1bb2ce526c3479c219347e78ecaac404096266d3ff5f865db8aaeae70ee2a535922c308d8c92d3b40d29c023100eb4c133ca4c6b3dc632b177a3e90cd5cdfadbc8f4c5632a81b8e0e55fd6fd1ae695c166536e23c79ab1240bbd41c0e220302047c435bb50067306502303be6416f9ff512da4e4af856e57babe6b65a2f6e13b16939c98057a36d9e3ce9caf1c99c87483dc4c6b0cbb1951723be023100b27ad124e1dd3b5113ad58bcbdf6e90e9cd88cacf9850175e4e1138a9ef1e740b97dbbd63c54ba67d84ba4355d712d820302047c435bb5006830660231008ea7a33b93302d1d5bc1e8d15b551756408659ec85aeffaa30211c7aa26617dd3ddd7bec08fa51c0d38997ef05bdcc3e023100e32a3eb54116cc5d70913707a92fea5da0e34488ea61be9cc3bc66eac7d67f5f0a196744318c466bb58d22511d86ab240302047c435bb50066306402303e13c06f99d9bddacc81284cb4977d1e6cab1aa6767d3b9e8fe0d1814640bf99ce3adc12a606a1ba22a611a634f1f03002306ee37df564a917b17c0473ab2c55224712804eb3bbdd80e92af26f095b9ff8a1885f8180c76c1eb000b6596aec71be370302047c435bb5006730650231009b157fc7bccc2970b42cd82991895d1791c753361b168e9bb75cf8e43419e6d931508e04f5ba9b011382e490594a477802305d15e9ae7e7ebda13212ba0a154de0181665323d2f2a7a3e764b721004bce4b4be23050f77283d57e194eb10e852d2eb0302047c435bb50066306402307366f4af3492c253bae6bff06d45c8cbdff59ffa19dd9cbd3304bbd1142fe221d2bbcfb8b44687a4839c886da44068e10230361def806f5514e25c8548e207077696f549ffb3d0a8cd99ff63598becbaf716ba7c7e768e9318fe27f23b4947b34f800302047c435bb500663064023023e38fc772b200d7d3c71202131f75c309ce2edac8367957a016b49827414c23d124ddfa1c24004215d1d9256cb6f32a02306f458f17b03d6e5adfa16a525f284480ca970ccc694d92c78bb9700b7c781ec326deca9ad561d0af4fab629c532945fc0302047c435bb50066306402302971742ac4e48236fb62f488940e60bc063385254d815c3a45124172522742ce6c551cc7abe4763d725c0b5d340d9b8102302c64f7a768bb4b9b8448e4397e40f717ef14e9134ec57e574b56048d73a848fb9e8339ae3665347d5c18b547bdd4e3dd0302047c435bb500673065023100c57a1f07897962909b5848b801af2e483d608550d3c06f9fa6ae3a00196512da55e62317fa5cce6f8ef7fc6abf90120702306a70f35fa14a2af82327c1d25ecd1c7cc120326a067a90b561eb2fbbce7ede159398893e544303cbe9b28a3ac4bad10d0302047c435bb50067306502300e67b160677b53403ba1a723796f427dc37556e56c5e04d593af822313cd0e28c4c3daab3d412a8e1fb32ec4677b76ce023100b57e410938cf086330ae3950d484f2aebda4cc1fb1865849b38bf37587d7bb0a8748a3fea1312e6370682b6ca4e7cf560302047c435bb500683066023100ccf71693c277957402bd377ea2eebe883d45e706be85be8476c68990e6f2d460a349ee72743fdc48f20ebd3dd51f7d5a023100e580d6a56060633e14072816073a4d73bed61a2b3cc41abda0367f3c7aa53104794ead90fbbfa0beb44e87fe2753f0fc0302047c435bb50067306502305164efe0d35d726581192aa712facd53e4a5cb0df06dd95bfb88f4bab40f9dd1aaa5ab97d9445e10d81262aa142240fe023100fc27d8b02c4d51bab526cb75e0391136c5959c8c6ed0e08f27bae942d467e17c9abe66c6a01e1853674c646d2c499b250302047c435bb500663064023032b31ad782b1352cdaf3603c3f1983fde4bb12a123a50f0c155f03acc31da49f3bff630971a4be3a61469280374644200230554f729db8285b238da45537628da1187ccb55d9739089c0a3e9dda0126c4d080edeecb14f438e7cf09a071aaa5a15970302047c435bb50066306402303b0f6288c1d202f3211eb21710e9f95b3001eef25854dd120fc8e74bff9b9386f3e3ecc90e27bfcb974aadfb2ba55ddd02301b2e1ac849735db296a1c0c39a9ae326125c93c439c0d0271189f57301231094f43ceb8632cef8e10ac709973f423ed80302047c435bb5006730650230700143fae98fac920b7e16f34afcc4274d9b15647d67076206d9c4d3f781bf28489b7a96e4cb193a12eafbb98503d5e5023100a45c0421c6703413fc02de572a5f7b8604e7434f4f7fa9f89dba005c092c274e0e66fd1486ea0df8dbe229d1669a04a10302047c435bb50066306402306bb42361f0952f5f7e996e2177abed690aa5729701fe4b3e6b1ea5c8e07b219fc1aa409be8fbaa32570d0093603f58c302301d74f0150166210334c7e72d3ff3216898de04228be1e9a9831b71840abfda8ae90d0508c1dfd3c487dff8d485b65c190302047c435bb500683066023100e5b0d9e7d3f6ae9cee9e46d05552a1417a2dcb0bf88aa2fca654eaac53a0ae3afd4f9d79fcfba4b149bf0993077802de023100ae2cabf9a046510bc7d846b3c24a328eb49b06715d7b7d5b68480e1dd58fd4809908ef48c0c922c0046d10fff256a2ca0302047c435bb5006630640230024e19c20b5123dab219bc2b8e6902961f42ef417dc2464dcebbb64d00860258531b8c625569b1ca485393b5dfa6644f023024a2c2df6409f74080439627c0259240d3ce61064c1e1f5646bd6243767e2480bede1fdfdfabe9a1f96d1e98a19267f90302047c435bb500673065023100c20784003318a32f4bf6969add338f242b13f999668f478282475bef0ae438d31ec0233b854999cf388540d4043243c202303fd48af6b6874b2ca190f79fe1ba7d17e0f20aec529e9c5aa6c2eab936c2cee909b165308c0b0af7afa1152f0399fafc0302047c435bb50067306502310083d7f7cad253f50aaa14c5bbe21d8b610232ced510b4836d0e52a5038b66a5cc074ca439cc5e0e68db5bf6c96ea301a50230745acacfd98baed4b7fc086b0108fd4d494b1464c2fdc505f4f3f82461fde186404b62f4698c2bb6d624b1726c8506ae0302047c435bb500683066023100cbeeaa12dcb51ee282cda0ed1b8c275f3697053a2d2ac0be8465fe15281f95f61d7628cc40f9cac823c06ed392c253e2023100c5b2815ecc6881bc0538b4e820d15db369f28312a21420e839d9fe347bc6a2d52420fd9c08c1a92c18788acba640750f0302047c435bb500683066023100e1c734a580ff2356121dbd0bd149485dec1977eabce31aa126d757bdb043c30541e77632c8995960582e9e50d91d51ba023100953519307483464af0899b9be907da635ecea9065ed5b2b28c91f7e8106a3a8eddb5deae88e4e799e7e9ff3dcc9305e20302047c435bb500673065023100fb466b4f3ff4d19be4126cdfc575fa25657e284e8736696b4f701a5cc0429446284d62d4bf5f74b07c8e2860944ec89a02300ab3fc32a9f57cd1c3d084f0d42c10d9b929702429aa6edf188803a6ea48ec129c0296ba46be84bda4dac148a73ff17b0302047c435bb500683066023100f50dd064174b7b0210df00340cfa335fbef6e0067e369a6c5858c6c8ba61beeb60faf3dc164bc9c5825d3da6f57767c90231008bc1328072c1477540368fbd8bf633c584333c73726a4cca1e77a1a466dc7b4db1ba105a92dab3ad1c7e4d57e77de3c40302047c435bb50068306602310086fa7b051057107c293835e98425fc22db64e6948d1d3f88b3db27f0c2e98a694091f56e13c0c919976f20958eaa4d9a0231009564bcdc490ce42e0f2a3c07857473007c1a1f6fc44d08fc63e1b075e52fd1c35a24e00d9a0954e0bd6b22e35604ecce0302047c435bb50067306502307ca35f0e9c9e9cd07b1466fc86c1807d1c829b8a590c0922d2df4154ced3608cdea8d29906cd8d7d02159cc556a7d4bc023100a97c4d11a222ab2ee8502032c2b98777ca50cb72cae5f0de7c5e835f27a14e45bcdfff85f37df8a77752144af703a1a10302047c435bb50068306602310082e772f6fb2f4988ccc66694c48682030c1304f256dc1d63c0d37c6372370305c8784d191e947a3bd9ab681790578d600231009c6b38d4daa1aace96f5d93b560c1b773825cfa039c4ededfed19deed98677ea1f311dc8699ff5dc525984e6197251c60302047c435bb5006730650230767b9a50c1e2f3f1df39231412d463552feab8fb4df195a845b2f188a9c16292c2672c7facc7a61e7be18359852962c7023100b2ce2d8b88d740fb1004d3802028909239e81f0d4e59b154aa5347aa4b9ec684b74c206341fdc767ecbfe50eb425e7060302047c435bb50066306402307919ea575c8493bd49dbf6fe1ac228d7f89fef6c61b22fb662043fcbd97a48cb16be64c13cd382b0c3e451a64b5c9c860230664e140b5d3be97a23f9621fb8bb08254fe81a901ab1d0ca839e98207a5a8ee39fe5da67fb7fa506eca0ff971bb828d30302047c435bb500673065023100bf3474528bc8b4aea38db366a7242e63f168130d5fd0c213af2cc91e205b7eef36a7742e26efe90f651c9d3e5273e42102306bc1246ed497a5d3fb9616d8b0bda4a499bea76c3c31a9907a8c48949cf1056b77ed17e568953bce3b5a7d39b42bc08c0302047c435bb500683066023100ae3eb7734e5e29f576051a625ec96cffde8af9546de8858bcf2fcb500b3e13ea922989977e665e0a4f98c4a40153ecbf0231009fa9917f1a5b1705704a7c7f1bce9560aa95843e96206d21bdbede11baf743dc8f66b00afa1f021cf9338b5ad2647d220302047c435bb5006830660231008ec9fbbab06b252f605b2c1ad61e156cd49f3c6117905b02384b19c7839a12e4241ba27064064544cc20e8a1579c2245023100da86ed8c61a8ba1eea2fe8b519b927e6d8e9e73c77605b0bd5816d8362492425c4a2e949d3575c4afd8a708461521a290302047c435bb500673065023100ddab2f83513671e48159fcdef5aaacc820bdb1487b56263b75df2938c98c232e0174a485903afb0af7b183426bbd171402306f5b15ed7c4937800ddcf9ca1fd0063a4b5ba56a6d4e7effd03c4730b33d1c56a73c7b464a4fe4dd47e8d5b065f545890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dea5951a1109e3933065f8ca6183dd14fb95692427460d848baf95a4ecd036d6f7da11a838d1f45de01ada54e7b24632023005c81f87485e503aa5e38d473fb3f12cd871f18b689f05d7d358f20e90472703825ca04c2a484ce84910aedb625c1ce50302047c435bb500683066023100a35ff2ec24724a2f81f09e1a32cdab4957a39df23e024fae1075a2c9ef9be092ebd8fb8be4b2c2d187f3852ad710e816023100ebdadfd0b2d1a18822662778eb45d435aef23e09dfd1a896ba63c19bc2befb77e5bf0eb418eb63a02d90a2dfadb2cf0e0302047c435bb500673065023100b4fe0945b5f8c484bc98db30cddaf1cf380558f7b4767259e665c5bc1881fe4c0b7b51102aca795434a85484c9207d380230733f4638fe446d419ae01ca83953e188a86156f457e8e39ee9b550aebe31634c495024a799f3c71e510dd202db3c46540302047c435bb50065306302306f197d4e32980036fff6e731f1ec023a2ab2a0c7555dc7ead25cee7f5a93b47080b46b56c0d8e1a9de7972528e16b428022f651e5c0b62061eee5e4d0407c4d09c22f756482c930ea97f070e99b0eb6cda373617480ec0c35212be7880906c84690302047c435bb500673065023100882240403071ff11cf150eb424e40dc53ac0b1b3329bd507c44dded190ef4fb26eef9e426efef6da5e7cd6389566ce0102307b4bfdc9a0558548fa6fda9f57479213adcfd4e2e5ce91d136f9136035e49c8730a278d109691352d1fa9559f63d65640302047c435bb50067306502300e0b65bf1b54c0c3b802bc80bb5c151d7d2837ddc8d1586442d69bacb978efbef4fe30ee965bbab504f4149a00c76307023100879b8378c8ea2670562e3395fd95a713d445bc3feb70e6c782f4c855257e91d4fbe03544214a45771eb243ab1ec6851e0302047c435bb50067306502307eb6117c56ff467f3179adeac4a4dc77eb7561421eb2f0ec8f145850ad29228b113ea89d708d6b5b2ecc927582f2be82023100e1a922fb3eb76d8565a86c89f941dec96e0f05c83374b4729231b5125030b29de3b11b89b72b24cfd14c27ed5281de8a0302047c435bb500683066023100c5b2f2f475a136ca10bdbee5b781eebe8b451c17f02b04809dcda6e984d346fab6375bf987b46e8880c9f9165d35de66023100abc588e4b2a311e2425bdd5776e1a130730843c54ac83136110951979478643a365474abc8b32abde42aef0afe5a46760302047c435bb5006830660231009ae2b26dfbb7eeebd8a68001de2b17ab33ea2d50f0a7c9af9cf67ca48db973b580981c4a24d5b116717a5bfcd68f25510231008f596ac984a87c7a8558dcd4774c32855f7107f720834b94f669b6fa84a8976836af785f8b54ffce8fc1a8d36a544d470302047c435bb5006730650230159da47558598607832a454d3bf068ce5701098de4328b1da914ec301f3df576181a0cecf0faf5c61f4b5b62eda5dcbd023100d381668dde5f7fe919ec75835d73945f5311b91b3dfd2dca843b2234d5d7d65f9fe5f077af321e2b4c8e3c767e116f9f0302047c435bb50068306602310091a919de8c312e733992f3270e1e8106f2ed33e26e8305df47e45fb13aa62fa72ca19e4ed526fbe9e9b999d8917149e4023100b75ab8b6b0299ef6536783e4ac0f14c7786d775e72a468a911e5793b456ed9204ef056b09cee4a8564a376b0c6316eab0302047c435bb500673065023100b57b35631f9e9a17c8e731ba2af8b4a2ee1d665357c8d43353ca65e49f5885e9fb4a92d1b92070f3ce358171f48799ae02302ea274973f37ca8f6ef0a15ec575b2c90039b87ca7e92420f4e06a34d679919693ae5b3a707c655e94a1e13c5a4fb4290302047c435bb500673065023100d2d1c1b45e59919ec23834d46100108df396a1b91ff82449083f46787f05518f8d172a72a2510143b6823ca0bf69902302307ae355cab7bf9b40cd225a97346aedbe38d60a4472beadf31700b78b90bf0785b40bfc74dd593724f26c882f8b6a527b0302047c435bb500673065023100b05ea909450f671fa8b2451bc55c135fccda459d5a090c26847c3604d7c209a84aac2c31d859d0679ffdfb23cfabe31102300d89a1342a27d6c41e30f4903f1d9f81b68fc2885a059d5783c2264401ecd99e20b34325f4ad51a96b50c2545b12095c0302047c435bb500673065023060f40e759a307f1a1af900852fe3614d3857f996e3fa1e166938daefdf32bef58a2d4aaabf263932b0a2610a1f9ae56b023100864e57e293992457541fa2eda910ac2047b02936448db1894218bc41e1fa81297fccb4ba0f07c0c0a5dba1a10d09359c0302047c435bb5006830660231009c2103deafddca0165a4c7014d34637dd61d55d604b349179d2d1cd8eedf2c7dd9d2ed3c74fd3fd12ef9f511e0e5ab5d023100b9b0383f8275b507150571eed80398090e3f5c4c96534c8a34c8df05939dd84dcead4d1ef3bafd277d31000a8bee70490302047c435bb500683066023100d255e5ebc529b1868dc185e6f26f316dfce67b93a8dbde3ba6d8e6f3f3ea7d56357a2dc2668ce9ef0f30e59b0d0700e4023100883aca5ffdf7ea666df80a7e660a0a5483a7318df0097cfdbfc3de9c5c019243b937349fd31ad0324f29d456fc13f61e0302047c435bb500683066023100b2230abc08d8ffd2b63363a2c027e760ef6299c17c59eb060d6967553d418597ff4011b7904610e133a2243a5d4759be023100b182c0736b6cd29962c33a4bf089be1ae6456724a3ce4a70d447cce4495a2060c8443de8b0935813fe3b6affb674b99d0302047c435bb500673065023070bce7826d933593e119830f97deb7c45366c87b6f58755258838e7f3540e3747b23fa04aa34a41f1347deee02071e6502310096b9f22b847c1184b615787e3d95a32b2818407fd308f1c46b7569f856d2aea5e1d7b43b3695c30bc8325b82506599c10302047c435bb500683066023100ac57f65cc6ea44e3983aa7197130dbf0d06d47d0b090832ca64d836a27799a025d4df9765ab3393a8779f81fc0274a5a0231008e6e7b4c7c7a05bad51b2bae1296050f20685d4b9a564867108f58a8c5c3c5b57a1221303e639f18d05a1e4879ac0d050302047c435bb500673065023100ede573c8bae704a41f577f1bb8bcec5e2bd3537d26f343494b68f8a22b5a7ebcf6fa7429cce5fbf36736d72f54ee5509023023efada7690c9b056b8017e9c60a20246dcff7b9132f3751d584500548d17af6efe4f1b646d0206ebde792046cf556580302047c435bb500663064023018d42242c96980c140f94bea5591f5ba558f7fd6621118c500dd52844238df14b457f2cf03ac2f6c8bbdfacb0d82c45c02306cdda70d8eead011b45b03feacac509a57558c6f4b9988e94ed29f93d77205b4f35edd36e53eae735c5ae76c914f40310302047c435bb5006630640230792bb063fc5b042ceb38e85dae37723380586718e56cb1008e1b2d7d17af8f1d523950a9ece8f4a3e282d9084cdc075e0230475ed5b3fdcee17acaeef387b87436dd3476103e005cb1e0e18438cef64d4fea886bd11cfff28f970ce7420788514f630302047c435bb500683066023100a964c5be1cb022405bde6c0b6c3c51c41732ec0c7160c96b9a7947e3bc2c440991c36317e447d74cd0bc557cd41b140e023100ad954b449686a19e2f18d5b574d9db863667b5bb7ad67535acf3d557d02a9decc400eac7f0fadd1f88f0ed23d75629970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009005e8934ed5fbb6d5c1c161fe69bf47b6f9ce7e1f4a1312c05b501e3dacc264a6e13925cf6ba405a1d811ba4169aa1f023100d36d95f76de7c9c0636d23a89922c07481e6cac573d14d55399fb0a670d045404850f460e5b8c9dcdf0a27b964b56b930302047c435bb50068306602310097b19ac8e07373e0a52aa3b5019f8cbda9b65fffad7b5cf8082ee88d19d5ad58ed321758715ec7da543a8a4c88c2ea3f023100d2bf13b09ac5d12720c66fc88ac5e11c477b8fa607f9fa8b94ed8fa4ee24efc325f18b70cc00393e179ed1ad4f730bca0302047c435bb500673065023100a95d23929f46f2a8ac2f0fb9f2194a5df1bd49ba8bc1858b5135c311d42cf355b3123a3afe048c257acae04c6d0935d402305f5cac467f1f3011479c3c5332155701c6ac3d7d8d585bf16079a0a3e1dade1be0eed13a8290976862114576f09311a00302047c435bb50067306502302c975b099c60548ae09f222ec9a5ce5b57831b18e09f09f317e100792630db6f335f74c354d362a1cd9d7059c50ecce6023100c61ba7a27a089a4c15b70c444d72ec2126e8918a5dc59e032c1671b92db6f1a978cbc0b9d0dbd29438d50cb718f3bcb60302047c435bb500673065023100de0222b537c6095c6bc13ba0b72a39953a6a2634fd55ffcabad089b667ed541fd705ae7b08b2d8965c4101a6133e9170023067b135567512bbfad88f3b9a2b225a5dd771e888e54f3c9168d7d476d2b3700e67cb9ce6d0dfe9cf200841b04b9473ce0302047c435bb500673065023100f536d8036e6bc844fce9162946d45f52e995b8c79cac5afb0a1f71f22e602e5cb74f7aacd95bfa0b4de7e31fe256c2f302307a6e7b33182547967e452124caf337e6a060de76c23075577f9a09a4bd29d76e413cc0a953e4d2a830855c0bdb373d470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230452480005b6fd44a8cea0a7f991a1b11ae85db0ea1f860222ce2eef879da1ee28fdc52c77d9edb69b2422c6f32cec011023100b29cb0c50636d1f11bab8a0266e81779e1319d9ca84d35cc66d5f7bb6482a8197e69562f34f9368d147b2191a9251e0a0302047c435bb5006830660231009febbbc78f9a4cf658a07c1627ff352f0736fdd5ff7c9fe2075ffda1d9a2b732e1b9b21609e272194c56670f260622b2023100b2c3c13e491d28530feef101dc46724ffd7c315d3a43641c5cd86628b085dd289d3e2e5227fb7e51bfe3805f126fb3840302047c435bb500673065023100adf300e9c5d80269f2bea027d9e81050b3d695ceadd0f96e4e372af81a24c516d1049fb5e7232ae8dea3d128f0382f36023046bc690712c358247cb357edf8ab09b058157d097392bf64af5aa6015634ce71e2b61aed19007bccdeabfd2ed171da300302047c435bb500663064023001ebd954f740c40fe4594ea998d20f58ae222258a263a98fa4e6dc41499098c47810f51a99f9d232272c2255ddf6979f023006d88eac71b11b4eb9c2167313e8ac47c2c1ba18e0b8900235273306a4af444dbd60242f0f982ca9444cef8d9566f73b0302047c435bb500663064023007de1bd1b18b7436f53d06aed8d994356c64283f449a44916c63e24427d30f82cc6e3c51904c3da64f6fd269f90469a5023037d251a5a9bcc00d0f9500989948ab36a598075caac3992c02d691c002838a7632fa145feec2a00e17f5c148f3fe88240302047c435bb500663064023064b3e967ed9b00b848b3760649f8cf7b5b3911a81522f17e90c044079408fb738e6cd757071a70e623ca19928b818e64023060562d76294f019a764a7d4b84c3875fc486fc98d576bcd3fe0e28858592c0af3c9c0a1005f277a2741c3491ce455fd80302047c435bb50067306502302fa7af15b1d103500d903798df2bd2b56d7807468a6f82b20c777b3a5f78614d9f903a27ffa66c683f6dfa362a71321e023100bbbb28a42780f43473261dbd1cb9cfd9bd8ddd1229493e9ea8ab53a99a01494e834433f747a0cd174daa271d2ce777d60302047c435bb50067306502307bab64379e98b507a46f14e2179b58ed6a684ed589235c12240be9c38208e1b19bd5c4d8d2a49a20db219851e5b35b25023100a6a62a91c2e0c2cf9b58cae362970c7864aad40e3d6c3e63cbc8ccf97bb00f8f6840bd7c152408cc66521e78aa231b1c0302047c435bb500673065023100ddbb6d577077501dbf9492908f7762ea0c31eae70e17970a75e188575067698aa12040d2a53b7879cd96bc8062f4ca7d02306ab6074f737af69590a3ca687f07eeddeea8fa2d31de7ed965c87fd22b7108fa9c6b63a737d9ecf3351f9cbaf6333ef40302047c435bb5006630640230216b4770eea23c17094568d505189d6a976e63f9af3639bd5dd961740e82dda2751932ea1f50a67db54ee87dfc424663023057bc2be396f9ec63e8c31eba4bc03d4568bb808a717ff46315e8301bf72383578572ee01a52993ec24cf716fe07ed0530302047c435bb500673065023100f3a92f181071f8d30971b10b78fab27c2e20cd2e03a380d9e1f964b25272571a1b09470b1850fbf81151dc349468934d02305f1f307465923192051828a257ae038e50aace56d2797723091e54443c589b93dad2810a7c1b79842582459a1fbb6e260302047c435bb500673065023051cc0a70051f8aa1c7efc9dbb99d1facd71f5f0fbe4dee0a7d3031998989462f0e8373d609c4f9d9efda4e69d61fbcf6023100dba97fca8625c689715b5ea18badcf4c574fe0e41e3bed87506f3d26788f5624da084ec49a42dfdda5ac2639c64d40430302047c435bb5006730650231009cc82874070e5c7b2c55582b9b4d182d1927cf57a908e0e33bf26a18f0ad9e2c3bbe8f26557f7f2cc0df056132820fa602301394093b464efc045c232e3bf5a4197dc4550c80c70b00d2a2316ce6c74b58f176fa55942fd659b154c7c9abe0fe8f430302047c435bb500673065023069d6cc08d1274c79f786b0dc1d59cac069597f4a486b86a8afd9ac7ab37edebf7f85a4d68364d2b161e51cea07efdc99023100f370b1e51cb71820aa0b00d1ae3c097116bbb3c1ef7a8c8b26e12ce8ff07d0fd47e1cba679ca8ab68ffc39f652d267ce0302047c435bb50066306402300cf482132b6b2091e7a0e87df7681ac6f140e8e0a994d8ed2bce751fd81f8bf6f22309562f42899f4edfb3032a4d7bcd02304a3fd4f51daf1d64321a8067f565eb385d6a7549976ecc77b06cdd3d86882dd9cc04571b05c13fd7305071927c1330290302047c435bb5006730650230286e693032751cda02bb01a84f84d2b4a2d09224d517afea2360690333114de4287b98aac28ca39af185349c084307a6023100d4b3b0c4e4dd787c867279d0a1e1ecff038f7ab64d62c0258c499f5ff93289758f4a491b5083ac262f93be13359cc46f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c57c0be4af5b018bd08d9429919d0bb6f80af4586bcf8ffb41175b76f5b6872341dc39fe44bbbfe101e8e409be513ec1023100ad304721c738c7514fecbd03c7ce62be834aa4f5918a4c951c34b68b5f3ff4523ff33f0ca9603a9ae6b5089069cb36180302047c435bb50066306402306da28378582136598b57d097aaf900530b068ecf7c825b9e78b2b67cfeacf4ccabc570e85ac70f9b806756cb4a5a52d002301b983ffc62d98a906b686904a21671a514eeada76dbf470d2993b533a2465c1e6a3f8a2a4ade0834a41a7c7c35f845d80302047c435bb500683066023100ff482721b9448f7055b46ef1d897d6459c35975a7678b12de5288fc21be725c7d17c24efb15ac829c7311a67df83443e023100cb0f843611cfa20350ba016ed99f41493ffd06714751ddf238007efc07e26be6c7f459b84277861e179ac9871c1873ef0302047c435bb500673065023100d4a4e004da5d813b9884994fa502a74c49409787a95a623eaf8d031854085c99fa53c5504879e5034a5a71e58689dfd402301057f1c3c82621246c8973180bec1e38132d198083816e5ec036c441f40277fc968ab5bb6a5ff4b68db7cb1b30b056f50302047c435bb500683066023100a8f6c06999e66962627741010d526e62c5e83364ebb4578ca1be69a21f2e2d68bdb20ec368bafd0657a9d5acae22c445023100e0318f67ee11554f28f4e7769ef4561c11587b4ad56af7a88df912da861b8d3f3c9f7806dd40a7a2acb7fa7a7b703dca0302047c435bb50067306502303d5bbbbc7af899f6e9d53f1847662d364cb78c77cc39c00f053aa88cbb552bcb2abc5ae48e2c58dcbd7f78516df0bcec023100d26723cc0a96ef2c2c688c77b66e390ae4c4bfb4322d9e06eefdb9c00fea103c75ce74f9a304563006fb45a7be5ee9ce0302047c435bb500663064023043b27a1539715c1cdb6a703b9c482be6d2d1abd155af46de7e4aec3135da48acb08164be4070242e57423ef86725caa0023015eeef6d81f9577a1bb6164098ad8303e9c5cc9f6f28fb6c6defb0642ecd08cc7a38018f2fe67f23007245c135f83ee50302047c435bb50066306402302bf62436040b1e888bf2017be5812068321a795791d44c4b8ef822dda398eabbb71ce20552dbd976ebc2811c0158d51602303b280f4539dedace95f6b566c430da1711b04f0823d32b0966807e62aa82e1cde756fb994e51a8a6a625a441deccc9d20302047c435bb500683066023100c1c0ab7282451977bb0dc23ee5a292b3224dc731cb639df1b1ba59ec92f77114bcc173c8e4e1619391b020de21615866023100e5aef2cbb461a192ebd687bad28e49256ae488b0c9b2eb643e16981cbf0f2eac653c2ec84fcaff2bb6da914d27d692ab0302047c435bb500673065023029595b082e6f8f8951357b81c36c31603592851b12a2b1c3465359722777ec6c936d6171be5d7a80469e8eeebb2dc31e02310088264026771fe80d7d1bdb4c7e99493feeb599382cf6085fd6c1b62d4605cb26581c6d8b6d777cee0322151e920687960302047c435bb500673065023064ece5ff4efebdece4d1a8a3f2ed9caaf0410f23122babddc677747446fa8f414343fa50b87bfa311c3c09f318a9a4a202310083b6dd6d174530b367cd5d68503f4be34ecc05a230d97435fce36ed6c02ef953bf00c76fcc50167c180b11591c1908cd0302047c435bb500673065023100c63b00239642f6b9400ed528f0309e1781b774674a1ae1192be270e7671f7d41fb4fb66ec79b1c6d5b00d8d2ba25247f02303c9fd98e5cc7ca414e209d27153c2a14c5034210be040a22c96d833470323abd638098b72588b4198a9ec44da7780ab90302047c435bb500663064023007b90d813a69692fa42ac620dcd5a5de56bd296901957f718a41020fd9b03869cd3517eb9bd43fd6a8392c1da8eaec9d0230151ee1c8f930072c481090892da9388c6e09bc8c710bcff505e9965bd82b9a4985983a4c9ec54208accf8ef64978f4070302047c435bb500683066023100b7790498e5c76391606d4c31a06279cae8f5386af7e76ca9ec86e80cc55e5ac2155813036a20c67f0290ae8d875aa977023100fcd960b8efc511bea4b6dd1ea7d2177410d1732a893722d38183b020db7111d2cb7bfaa6ae81726fb09f3a9d2c9229360302047c435bb5006630640230020373caed6288c72c7d8b1773ba8391e7841b7be5bac4d885499111b72ec1463202d4324032748f435b22aba8ad8cb70230730dcf7c37e8847eeae3bb999d9d050d9712b8d0a164c845adda5f787f3de00032c24d374a1ceeb4d02169b81f9018680302047c435bb5006830660231009f4b11a31d98a43f0f7eeeb2d79fc24bd90a5f21bb37cc99f90a300c38e8658df096abe65db10b3b99dc17188f20d40b023100db1eae3bb5d5b8abbf03004cafb6b4a5d9acd1eebcc0a3e51a57ba876ef828f3ee6ff9dd19024a6b0ff3d92c4d2a967e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008f956effa44b55c0dd898a0773cd33b9f1a1615205acad431e1e8fd4605e78df6899fca711f4f2cc7174bdca581c5e33023100c2e4932d377d9193e4783e58b8637593fd016e19c69933e51cea42f004188495c2efc13e9f1d1fc6552e2e4c19fff4850302047c435bb500673065023051c73dd79e4328abde9a95d71cbbec95c8d49b4f39a1f783e09c59e6a149a94e06894809109dc185f357e2da8623f52b023100c2519dd5eba144ed615e6cc702651b17e04d1e5ed99c236d2e1b0853896c15c75eee59de84a63854a65f6b1fd79f384e0302047c435bb500673065023100e96770c394adc08ce69025882712486298ea84ba52b5f74cbc9e498c86081dde06a417730015b3c643760e411c12c057023070210ae0cf25284f81c5bc7055355e5aac01ba8b987ec3b60c1cc3d15bc060d4a22a853a76d0a2aa89d78dc0c4d84d610302047c435bb5006630640230606823041b81a0566fafeaf487f94960e15ddc1abb4ffe10eda6aa6a808a78f76a464b4aa6162a5331a7de8f98ea4a8a02305c6b33d49027fa9624345d976602d0346b49b4ee2080d30c99b07b31d7c8ee7ccd269f470db76e497bd298f3aa8024800302047c435bb500683066023100e5a04147e62eb53f2a18fc5b84fb9c4e58a5a15ec8591f0e3639c4c04781783abf2ac72978e54448c832427a298c8b54023100ea7f3e11a1b89c900e5c6a8506bec71346c0b19c672bb0201f1524e9b7c6558b8c25581c54ba16ded605d1a7a5db141c0302047c435bb500673065023041657af3ae6bcdbd48ca2ab5d347e2617992d743306c89b5706d318d295ee8002622e62c2c6c033f4c97c2bd2fd63b09023100eee96af897afb9729096aceec1e62e14a7b64c20d0a2756ec6fc4a325abb6cd9479d22ea53d0d8a342bfe84744a2ef270302047c435bb500673065023100a63fd2253ade25ec95c2663f98187a53ff0f8f4c4bbaa79b3b68782d3555d8ac25e7e46b034972e47d942f836bf8afa502305c34db920e6f04bedb12a43682fc999a56c217cdde5e2459dea8556c904d315d311d43be1580bbdc25c3b2ec061bd04c0302047c435bb50066306402303252248e730c2be790595134c5a9736b76f9564ed00d00590777dbf0458a2f0de79f264a91f0d254e412172e6b2ab83402300907d88fdc822d4afc8a928aedc9365b41cb6046aced62d3d7d1fc1ee508de37b67ee737e5d6a67c9fb955e36ac6b6530302047c435bb500663064023047e51c85cf2de52e748fdf137b886fbaf7c3fdb62eeb0d2413d7e3c626a6dd0dd1b1493aead7b5829fcd286c6b37c14402303bd8f8822b8c6356d54a1b33885a41eb0cf77d7641653e4cb29b69a56692f38aaafda1bb1ea7b5a8549fb0695ddff0f90302047c435bb50067306502307c3cfaa9039db2d7ac4296522a165975476db516491be046fa83ae6b78869ac262ce1128521e267001ed374fe0ff9a0e023100ae6577069724e48de2baa1837fda2256d67a33f7a46b8ad3b058bb43bd40e41a6b2326a9b03722e8e317920a643dcacb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c19a632f296e0eef21f1fe22c7e9da105c2cf532c49fcfbcb9bcbfda82016df5f9d320a83254203ab2ce1d41247e8f0f023100ac62a7c164a50aedcff0302771f7807b1cca4656efe1f1b6d385c5ace2150c28e68888dd372351548a80a22a1868e7a60302047c435bb50067306502300115ccf986eb7a90af0efd3282cec035aa95706b8fd32f47715ba56086bdcea05b83aa2df15f8c257771bcbccf85b61b023100d084d3cd3debd8244f692c0199230132aefed26bb10dc48a0e234b94bd986b368b3e79973e0a2d5428f6b1586e5b81600302047c435bb500673065023100df32832c646b096fbac2d2836cc4969d1e440fcac622435f81a2ce81727cbfe6178eb2dcca548a81833bba0b9aafc5e4023000f041d728601d26c2e6edaa46de10f488de08de8db6d0a694e13c5eb17def6ee8303ea4f5e76a366a41227a2625c7600302047c435bb500683066023100e212321e45d5228147c0f0902febe821daa77ff2a617bd4a6f3a72164701517b388055e275d81a2e54a17cb47c9aeb91023100b090db9774f5aaa5a28b6935bbcb1b7ce08cc042749060e7d5917b0c1adcc5dcbc45c4970c639668e350a8ff8bf1002b0302047c435bb500683066023100b57f03ce8d73c42e1b0ebe691871139b9ff8cdbfa953e90b56a6f170607b51bce05f014702b2a330757f87a476235fd4023100d067b9fb0f4cb8af82bb28317183627a16a33f7adce37cfc084b678d8eafe7732507395c8081434f55337a0b0d1eb86a0302047c435bb500673065023100e1fbb05ecf9e44ab4b82a7ab2b68b5f42d96065d84b3812ced4b446caeff5b88e4412b604c26139671623214e018743c02301599e5e4bfbfbe7e00a3104c6b265f9349899d3b975a318819ad3538c91cae13648f5a6f7e66d745223eb5a0d66a5c230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230367f21e593afbbd74d368bbe269587e4944471fed1fb592183ab4ce2dbfe0a68662261e7c34fc2f4b06c552638ca6291023100d77f4d172d0589d677363d7c5466c520038b6dd2966af9c62c106ae393e9faa3dbd0d68355ecc396e3779025c776e39b0302047c435bb50067306502302f0cd9f3fbd97fc8b544d1b96026fd09e91008acc9300d26732308b0083f1c796a0b25f29243a74dedd359524510b100023100d564b8360601ff7d9a584c32830ad70ede107730ccd6467027fad1d3560b28319bf92447842f9a46b28c6813dc2590dd0302047c435bb50067306502306f275456b9f3a2568b4a1d13cc8153c8c8a53b4397731c81380ba92dd88983f3ebe995af94c71bedbcd5fb02c5e2a726023100f57b11e8119ed923b2c707bf32fa59e214c568056426806e5f2764ab9192c6654f4a064d25d5c038a45fd7fc6158c05e0302047c435bb5006630640230621f78a174f98e01ab538dc7c971e6d484709ce9cf276aeca3189510854b6c70d96a2016b264d365c86680dbb1f517be0230404cbbdad1692a67322265fae1c2c2a38b63f63fb2f73f9f3bbc6d864235da858ca4e5ded3093853630a12cc9052ee680302047c435bb50066306402305a378f2cc0787edccf92c57841ec610e8509c54fee510b596dc1617605921a534b9f4e71372b69ae208143d0e5fb00e302300ebac5dbb4d5d0885f23b2e4176f1e355a34d7b7cd95e5a179bd7df9a1c3629dca639ab56b990583d5eb4f70ed9575ce0302047c435bb500683066023100fbc1d333bab93239c18910b81814f8b9136ab06141e637861156b232522878c98d91b51f81b2c81bbbdf83a06e60ee6d023100a4aa9ca5942606e83fcf409d5ed11de82c0848ada56542dac85e2304587585f3f74c0017302e5cafd288d0620252be400302047c435bb500683066023100b65657c50122348878829b0228af3f3099ac046cf130c26df906d64f18d9a785603b26608af1373c0a03a618f26c66cc023100ffefb511579f1cadf21ea1686f002c4dbbbd8ecdd393e88b4e6308b1a27e7a2e904e30b574af6df9dd401ad5698accc30302047c435bb500683066023100f5a2b4e5feef266a2df0acdd362f92e1a9033b663bad55c13cda59b56e7a67108d7bf944666fb40b88c8e33a944ab0790231008f79e5458bf61f65da8ba6963b6c6aac7142d083ea745b1e13aa4834dd5b20f01406fa285b8351763578e1c1ba9f6a610302047c435bb500673065023100bb1313b7542c009b7b65c9d94dc38fc67a2950e63238af1f485a7886f5bf9cee3c76f9d777a5fa369ba47a82d79776b702301e31385e707db8029584bae8d742583b16359de07d9ed81bcadb980191c98c2449779e5e57c418f619a9c112656a9a470302047c435bb5006730650230590c9be3b94400f9c5ecfdc9a4df989375c8ea896f9cf3d9c98e610dc244ecc20118e92b1f4334a07e14075ea2c1bccf023100999165e05a24542420fecf097f7207e9f6f1a583bfa3742dbf2b73b74ac31c69b7ff9385ef8f1f0a5fa5a8397b22b2340302047c435bb50067306502304dff706cbdf1fdeed66520b9b250c27b37a3a77237fd7eac10559092d38475369d86ac97e6a98e2883f133cf519b0414023100ae0b27290c9cb3c4748ccee250c05613da798b8bb46da337a22d44f22405ac83ec92f445d7a29f5dc2d384c4241d3a520302047c435bb500673065023100bdd06818efc1fffddc52f8c4d2886def84776a1a31a735ad48d17ee9526bb2ccae4cb11e5acc6df43c2ee72b7cb2e79e02306ccce0fd0e89015742b68f75fa4abd1408848a77ade9e247edf4dcf25c7a2230c27818e2010906b0fb394548f30692140302047c435bb500673065023015b94955836c6ecf10f8f8613275d2871067b61fa84d9da3a6547bb7429e9ca80ee64d04d68e78d54eb0c2f9bcb68238023100bb001da4811dddb5388575eb664d0d881b9e248f5974f91200f46d00a3b4c72e960e0ed72c0f1099e62b7d4dfa5e1c0e0302047c435bb500683066023100e45328c5a979da3ec619fec7ebd0f3f4402e1aca2e78d9cbed942d24ce53200fa015c6a46d09ed83efba2cc4884390fa023100dd8e896d0728f1c5c84e60a36969ea425760e6d14bd187a5b7dc1ac0b2c76b7ad01078e46cbea027cd546847215382550302047c435bb500673065023100ca23dd9d049cd877e822ebee6ecd5aa3bf4c76ed6e471686867725b859fbd3b7389bc9f947edcf5a5d89ea4cdf62ad3902302c86a69b5e1d40afa773069b0b15030cfea96c8ce5a5c23d3b47c8049301ae81cd68ebae87b1e9726cc4511ccf44aec40302047c435bb50066306402302e165816eff0b8d5fac45612316cb3cfe9cce41b1cd01ac90cda870cee05979fd2a7b928c63f0ab0d64f5eb3046c577102300a64930ddd8e11074a01eee2d4a5a8c652aaaa416c62fc281b730d092dc37ee27a487fee795f51a59c6cba01198953b10302047c435bb500673065023100d7f5a7c6fb4b0dc586d0acaa18f8c2dc31b1441fea311c5054a55ff7d092e8d7b14e6fc5f39f295d7610664de0823a19023010bf72b196d1ce96458ee9ff790782ef07307cd58d0b229e0857d221a977a272cde2780dbe2c7d163cf4028f33b2c2390302047c435bb50068306602310084d6c610522e6b68ff33b20d867ee83602526593d1c28cf5ad8d97139946af5ff66355182c1d87a30b469b8513f1f595023100a27ee3860ba6a658c7d4faa7853053abad082a610d1df264ab9e9716a67cb4c525bc360f5cd89e08876351edec3daca00302047c435bb500683066023100b0fca9214a903db0f593bbd2c958a79514fd8fccf6c99b33be9d4ad6ecbd455025ca1202cab88f6c75ccd00caf4f5f25023100c9cd949ad653a3907c0241ad679b0834929b7b081ae7d329014bd8889f272d38bffa2c0ae4cdc9d9fd73639eb710beb50302047c435bb500683066023100c7938aab3d44566369d62705633c7abf3ca087765ddadb58cbd1132fe56da4d4337920746979a0991408a57525b10062023100cdd468c9d1d40047b385a1c448fbd69f4da7635a10bd9e0508dbf6808df50621bb8bcbcf1175109664dd57f46815c3050302047c435bb500673065023100cbaa9e2ce16c348986c8c966325283e92d967395c1cd59e535d382cf11c1a34ec85982058b5d8f4087502a679658cec80230403b1e73a3aacc4620039b5c9d6e594b991e1e5a59ab2921ff831ab8d368d8be537cd99a92e45d3df25b768724e29eca0302047c435bb500683066023100e529200dbafb8c33896d272bbb6824f2a6f4fdd2fc83c9c8dec536f021c28122f3bae85a4a64440abbc42b5dd65e6515023100b0647f1a6c9eb7b1412d1ebd3a6b937f08dbe2225c09a21fc54ee602d4cd38a15bfef6c514d9e9ad6a56291727f6dcac0302047c435bb500683066023100850d1ac66483f1b837b4b9498f2aa811d87e8f2729537764e9a3fd1208746cef7b333751667ce063ef1b86323a979754023100c71992f32697f33371216d56baaa35e3ab6cf4457605d862c78a90d0c3c9fbf9e084d16f9cc7e28fedb3e9e6a63b9e8b0302047c435bb5006830660231008c99f6e7f8bc5b278210ad90606aaeaa719a74f8784fc891bfa7278749326a5fc37bffc4853d172e6a03db5bec4ac0350231008612334a8434d74e7e443e46727c50944d9452bfca221145e506b414a350c758ac6ded902aed64cd3e3ea4eb0958cab10302047c435bb50066306402301de614c6e36d45f625edcd302f22af4630b642f10e64ee7ffcb958326da2fd48cf5e2b9d417285920827088e28c4362b02302a69aa3830c190f6feac367d5dbacd132ac479fe2267748c4f5cda8cca90eb77e870411db1986f5458023d5655aeac9a0302047c435bb50067306502301c1e7d422c30f387cd1b20927700f13d8527689ab9e955204dd5058bf1c194155f14d14c856d9e803b46966cf3de4646023100a822279be4562ec095585171f816c84dd775e78c2f12016ad4b0751d65fb084610c06d1c6150897c40525e377ae9a7000302047c435bb5006730650231008cbfe450bf300917570464b47bc6b5da06b8a747e1ff1394aeb7a08efc85c2e113bf33cf6a8c0704bb7850f35e65e4e7023015ea5f346c006830a52e7ca9a745941512195814e3419a05718756cc2dbdbb40e399312b0762d2aa25702eb9338b18e20302047c435bb5006830660231009b514407a46bf9ac5fd1c3629a81d74512ced9f87badb18ffd915d4ee8131ea85ad2a8f49d20020bfa49c91e87be95d802310090c41a9eb7a8f4743c0de7070aa175cb12277ae99904bc5ff8a2c291f45da1209952e2f6e7fda1b631dbb7ec829fc9cc0302047c435bb500683066023100dcc75adc602cef51cd46e78d45b3af122f58890ecf6f9967a0ae7f7af520557b084cda6d09d200ecae49d69ed690c4cb023100f4ff09844a1632973d16ff2f4a7700c056c4b4bb3e2f5ef74ceb6215ca9969c59810477d0101260896cd50bd6e851e4f0302047c435bb500663064023001a95918b327875a48545194838907fd36489780a1e8e136d1f19f3c14144967279a65f01142c356d45f054d314e9ffe02304b39a2ae9a95d4ed3c707ffb9b39ed8e2f69d884b65c159065c68158037eed3ff69373d93e59557b12067810c83510e20302047c435bb500683066023100fe08ec569128dd62dc2d83e2e587f3159ae1358f0ed611e04fbeb49d959a92c77f1d12cb74590c80d6303d87e2de1495023100c14631c0dc90af69ea99c42a5674394246d29462f58f8271f9ddbfe0f9a1472d5105d9ada5ceed84754dca9660a7a49f0302047c435bb50066306402305b3686d38792d86599e7b07d5aac3b96e1fa2d4845863cb3c72a4b46d22c7a3648cb12a370ebece0053403bfccd94a97023054c657915d8b2f9db6ffa2f95c3e1aab7db5be9ccd3df33497643af41ff6719767c00e7d4cb590dcb094a81991a25c140302047c435bb5006730650230146c5a88f47bdd2e048c00e9b9a0be3c286d99da5f7840ae32246d7d32154e1ce19f7f870ea8d0ad05fcd61c650aa2f8023100bdfcc94d307326f838a146f956a97a10f073d584038ea52dc104ef48a8224f1035b1cd8309cbd850ba7759617b915f460302047c435bb500673065023100b15da25dad583fe316b1da9d946767daad06845f71d982786565b935b58ad77462c481180d67e5bcc84ef97796ab406b023007250b0cde5753a6b4ce390730d323fbf16ae56a357850f26465ba03ae25693e541c53a53b69f0633d836e538fd0889d0302047c435bb500673065023100e36d94ff36f4f3d0abfb004b030d5875725c8ad07e511bf2a7f141f34322f7d297f411da09ee8f39d08320b0ecfa7c160230087129cbc4de5c2d7a5911fcd45601e5ffb7bac4051c496165a368ef08a258940ec2616e768269be63c3000c659e7f110302047c435bb5006630640230663f54251f942e77d6f48e577c84cba23eab47da0022b7254d55f39f39936a12431285c572ec0dff36d9abb4419c6fb302303dfa518b8d40a75e249e365a84d00c0ef8edf3e280bdefa2031513dc7a3eee2a9c442b513d9224fa6cfebc5a91d52a620302047c435bb50066306402305e2a6b38762d9f5542ff1ef9b103fe2511645f98315a75cc38832f6ed6359fc0339e08bff24ef36443b38ffdf8e517e3023031b0b0bbe3d037ed6a88eb2d46df2f06514ea879d2ecb7cbbf30bac0a83a4f2b7339ea404e663c30d920ee80daf2d6fc0302047c435bb500683066023100922eb8320721d7096bf3a9063e00a462d5aa734e0d384eb5d204c2c6391070cb7c710f127aa1314654741d9b35a12bf0023100af0b96e6788e4373afedc73f6e33465eb5b109afeab57d12331b06d92c883593ac7a55d3b8db8930ac27148e756e22620302047c435bb5006730650230693d5c3b19c241769e68665531a7c19738c0fe03c968323d900ea5230629b4048e1a77e100b13f82f13b8671077e39f702310086aa7e23c0700ac6320f6e2cb8247c1902bcb903b6db4061d66e0dd24e8e3dcde99f06a34a6403cf46c0ef87567c53090302047c435bb50066306402300803cf0cdd080fe91445f0df71cbe381caa8d34c021b6befea998188155bf8796f9b7115e3ece021fa5d3ccc2163001e02305d468b0cea6243fa7ede6ed55368736b154163bb9660e543e262b0b59caa9a094372ce64ad04d691ae5040c8223f79010302047c435bb500683066023100a81dbcba4b6c205b150ccb2c820d475ab4942d5c652fd06fa9c396d3f646e5d7685f71de71389f1cd86ee27cc0dd011d023100a30a3a6a6414e53a5b73e48f3ffd43b830f3fcd3cb3d4d8fc5721c57de1d5a1f67339dd434e8e8a2677b297fdd704e0d0302047c435bb500683066023100d73ca791d974640ade8a2d06fb3b59293d53d08422303eebc612caf7eb0e6cd356b1ff2f314d31bf867c08a7a4d16e9e02310089bd771fe764b4e95b9473b3e8dd92dda2302b2c5be73512ad0b4268988441080fc473eadaec8bfb6efce6b0ada669420302047c435bb50067306502304a3bed4cbc354d4688565363c31cc94f341ba975f7bf99740645307e27a6a5c5f7b843765798c15a85111e8c5c275300023100f5a2a6bcd68218bbcd892df13d154796d220c0be372d702d2638b68fceb7503d64a3aeedc019ea301ec9cf38ef57aafa0302047c435bb50066306402307b8b670051cd9287cefb107412d08703a20977ec230da552ed16b498608716d73744b8421305575eeb76680d38cbe73f023026b34f36adaae7011fea9434953400a59f20a668c596e5eeb34dd013242270f2465fe67a58f5871788fcb01b4f6776ea0302047c435bb5006730650231008046121863e11e84f05f20f1eb17e503cd766c83b0a7c9203708d09ac6ff2a580d069cb31cbc4a93e4b27f16b0c353b402306da0b7ae1ad31c4b3c261af118156987df200cdeb0b50a682b101cfb5e4a18aeb7f317ea1011f53e7272c8108970d8e60302047c435bb500673065023022bf61a2314a956cc53592c4228275276584bbbe74689ae3aa43a03a5abb7a705f3d3e8130073f8aede1e697a1f705ed023100b7b9fe492b77826b5e818582f2b3ec6682fbbe8a1c5edd6b5086ee6982ad86e147d4d06dd4008cf1572d81b2874e062c0302047c435bb5006830660231008660f0abf87786aeb21558219fb52d24ab57fe3af58fc0737bc85f12965a77f374afabba7bda1fb201dfcf09c6771441023100822fd97ba48cceea5ae278563ce254cbff37389af85268b1f55f73d96512f8908ed6c3a46743c7d9def422f6a2a82a130302047c435bb500683066023100bf96475f8b027ad16955801feb0a5be4a67cb484b42bc66d7001d879e8aa651b566d8e763893dc6d4cc8c982c185e2c90231008893c1ff55bb8b988a9e581c82fbe65b42eca72652a6129d55d7d7a4ce2cb04c98cf641525dd8b1aab4b0411c8115a6c0302047c435bb50067306502300a109dd833c76baf90dedcc52bfb8a0ef0bab6000f893d15266a6e9e3e0f507cf6c3a5b10d58202be5158bbda5b82df3023100df27737bb7e6280da9a73b1dcdb2d1b3ad931e66a43b34d462e7afa00d3b3aee83e2ec4dea7f4e9d8f0846a22467c62c0302047c435bb50067306502305ed2cf16a1ffb650e2f4b702852e051a8c12d2973c7588e9a3d3c780eec8cafc83ec103a311df10670b8d1a92485bedb023100bdf23cc89e8f2e7b9445dc98a155cd7eeb6440d755e217b0f4a04180f0ba09277034ee0bb83b1896aab03cc9c47d1ed40302047c435bb500673065023100ce2626eede3797ff33ffc45e37604790716caf4df36e784b321574b752e76877c8545fb61d561bd48d8555baf33d0f00023033886a786e4458b9fe97f3c6ad2002d4489abf68d5a1ad948e86b077b1830de9c41d1865cfc82872d2446777da5ef17f0302047c435bb500683066023100e0698e33948fc32e0fa7f690ade041385580507693036a0002ce08f43e012d7d0ce7fdfabf0419ec48b97fdda6113a06023100a53466ddf6ab80f69cb6faf3852430bcf20d53cf153bb37bc4c7a86608977253d075a79d46be0758c11cee2d5812af020302047c435bb500663064023067b81056a45393138ec928f46b6edf567eba6e68eac0427b8433ea5cb3fe7497baa4e8e81479897e1fe9925c5e28774002306ba9fac1ba06a7743af584f57f8d7484414986013cb305afc31acc2aeb13e74019deb24a6249bd4e3e50d4f9d24841e00302047c435bb500683066023100a7437e223d963735b4942a26ec6e69871ae61b9fc41f1c51ee60918ff3592785d7e6eec64736df3982e251769fc2335b023100efc5db929547765cf27c3b3c020dcd5e6198ac4344f08bd290406a7d44fa6e4f89ee60d439b65b87ef3e2494066c4eee0302047c435bb50067306502303fd4fdba647d5fccae435142cbe3fe410ab63d9b73cb5f4fb73a607f2ecb743062d41b34a4306a6e689145911ea8fd2702310096a8ba02ae434a432ca0eca6ccb14fb31a9552aee89885dd084e4a7ecbaf716dd92a2d29c978083694c47ac6e82590380302047c435bb500683066023100d7f2e51b08b823510333e1c2cc30a791fef7a8ba098505a9b8ddb264522cc5ab8b04f1b3ca4f5d2d37aab99aba211a94023100fc072edcf61c2216fa210eb80ea77d087ae039678a66f247a196aabfa5403a925c68c1a1499ffd61475c4df2d401a9980302047c435bb5006730650230365ce22e4b170638a0f0ef7045d3f2dc6b1d37ed8d7303e606f03c07af6136cc4efec7153e150408994eee726d95785f02310098a46bd1bf9c43871cd9a46706ab7a94b944e141eb09a02aebc070099736b97abd1e2a0725d16566d88cba414ee7b5790302047c435bb50067306502300b44e8f1105f5c5dfe618f3e0c47df49c1c9335c293ca1850712025718ed1d9ebe600ea2024d6b37ca01644360d4aabb023100b607ac3e04a77fda741210fb65cc524eb8e8672fea0ac5df323914c5fbd45fba85e05132e86e2f1a4576e89b0265f2590302047c435bb50067306502303138faae65e6c70bf3c0c4fbe1fa9eda6cf3ad6f03b566cfc20451434c6b3ebcecbb386c68e527b2c39d41939a4e446e023100bfc6c31558ca59e88a8ecf77b101d943327a9db0ace5eb7620818cba935524012b17b21bf2e51b60372ba7b7983a9d130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023038e1f95aaef117eba3b61cb6fd66fd2799cd91b0a223772a70266fc1d6eb36ebf648a4a737ea7442534620574b33c78e0230533cee4237d093361a3a2a835e1d2c91f3fd8d02f8feb4abf5910542e7c406af273b14396ca6c6717ec0c38bac1b07760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c57e8ec58f34ca2c70e6215f7cb016ef81f5749b4da27c22e371d6c9e01d4edc65ff965769d72277878216d7a98a25ca0230402e4ca27348b539d3f54d66e013c70d7d329fc637e0168987f2342b950d63df716d78d21a368f4e97a84584aa2f77100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230255159574a3673182128c6d81f63abf0feac5edfff492c89d775e698675f53f77de16e9d25b0735d63ed83beab24c604023100d810f210fc5276bd86178d6fb3a4c47a22c67b7806f16572f9d1d3152f711ccaf6b155269f1b70b039c01b44b3daa8b20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c9e6acbfbd93ca16979078197684f269c6b474a17db8b13361269a944ae458a34b4247eb64eb668abb1bb92225cb8e52023100e9f83503845e7fe6d2745bbfae3c36322aeecd26090209fcf66f373648c6cd16bd95befc2a0961acd7c3dc451150f56e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e82fa6a6d5b160a949a6d87694c488a51dae50ef24412fa3c90e6f36c24840206d91462f32111a37a7f35317a03cfbf2023100a6c583879bc1b757200c2a7bb564fecbf0d575d174d6e867a33524863b3690985d5ed39cd414cbd8eed27ae393dcb1240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310093b9397bc2ba7eb87c29b97d68f17922a91d9c5bd6197938b45344cc62fd515aaeab574bf7b38b023cd75032bc3ee3a50230111f88c140bde1c2dbf289681e65dea992bd108cd96a6a10135ee39ab9cd62b544c4d4e4927c10e49006024943b6f7210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bed44dad74634fff1fb37e1cdb6da382598a0b9ec4f8e8ddec80f54d1d8837331b7de566108fd0817ab999b7e8bf1ee8023100f21395f7107163426594970b84e173be6b4e04b11394ebd580026296cad35123e5cc4615adffc7b174a83abf32ddb1d70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023057e5a85ba535d098e046184ccbf07130dde7a65c01f876e2b5ee393900f210ba7283cf4fa915275961ba46624cf55c26023100ab46d13fc656587b478e346fb5db743139ba9b736c9639843a2d81171dc3ff4df5c794561305d402e3b0f56cdfa1eb6c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b78ddda3b745fe5c97fb9829075a6cd506a97e82fa635cf2df379435301ddbd481799b1f7eb57fe0c1a186e4044b3775023100b4780e21e0494a03af67e157f1316089802d29515cf86a7c257729528ce2cfa0f59fe7fe8ab56704d6038541c3e0d6510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023033cc453b33e952b38c02258bed36cb929029ae8410f724dbad53be967d98f434d6f8af14fd37e0eefc1e4d1d3d34fb54023071cb70f071ff21e0d9b439bc2532723b52f2c0c9a1ce435b0ea4621a2dde5d35564a04d4a91e1cd2d1777619d208fabb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a1575cb4d09879b927925507077b5e0f112c0dcb2dda09dd7dc396939ea431ae40fdc73c14c95fd705c36590bdd77fa102304bae094d3a40460377d01eea2a19f424ed00f72521efe6c8514887a89b194efad116250353c90fa0561698f1356caa500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310087ce75d5ce0d9f99b754060050464104500963283391c5f77e1577e7ca0f4e33d8ca8fad5ea309aa61748ff91a72dc14023052a3da70fc1afe755f0207f8b4d80dbbba75186f7187af5403f9bb3c91b341aa5001008f979557df2ead5edd7cbf77090302047c435bb500663064023076ed022464382296eb9770529e96bb8d178920f402927cbc8bde3007300c16e99369329c57417df11bf94316d2746da0023062a0608064f9bad41c66c8973ba372470da7f9640e10eab3784590ba29861c78704c7cfc1298aaa80a06c634f9f0cb4b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306b42f88d0b746dfda7f9e798bd3026bec7fd3885adf5619f21a8a0343f8056cd8e70ffe79c4fb8f0a76ebb81691af5df023100cb863433e4ba33c7b422eb127f5ef90e4a9556e3f0705184ee2cb65dcf5f35e44e1d2535313431f550937f94e41ae2a10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230765e70bd70ce3678e36eb83a3d2be4ab22852db1f787fcfabdcef0466fccda96ce1b9077957f5f3bb7ed70d66615a26902303c57ba4f39d690a5fa1997df1f75fae62b00b9f18ea1ede41ce70c295792cb6a8feed037deec81272067c09a49d25d570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d4551d2216a5f20c422810c9b81af4eeb21d865f805f76aa696407ae58b7a84de675d347999476231bb07a123dcfb81e023045a56ca3ee39ac441f2d287c2f0a1da8a544a6ce077d6c3625782fe69813fbb23ed0502c23ff465dfc4a759ce28dde590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302004a0b2a6d03a4cdb39547467eaf3b0060ca22d5881d53980d24d5b9035b751ff37934cc98a4049b358b2985912304c023100848907313f1c34c01b764144a2d637ab260862425b1b3d2ec996f29000e868922377cfff82ba9c074cbc4baf43be227d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009246d4d5fee47cf1280c7b091c11a7a64fc89f160118c8aa20d5260eaa9358424a3f5a506157fbac46bc1ae75b4cc177023100ad35ed8c2f832757aec91dd644a89620046dc403b12ca7463416bef65dd43438e64ea79847e87b5934083592bc543bf60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f028a46c1c7eb85b8c902686077e3e98c95f7cc83c0218822daa238d52f4504de686021bcc41aede410fa4367ab51dc402303af92c9d38191c4c2ad46d4943e8919e0655aab81c29987d0c6be8018952b8b13317f8d9067d20710ffcab8e6cf6e3f90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d58a23c993592372f8f770508fc500de1f6ae5f65d232df7d99157b4efcf10ce1b6359b7988d287760be07c1cead6f96023100d4cc856a156d8a3c6aef8cc1d7e4741b5973baf3e9c567901804a959784be5b0b789a0beced970afa71dbef3c4b696db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305e0a428f3297c7ca4c32b24d9e283fc218482c6eaa63257efebce77271a96ac00edf78c551363a0639aa930af33e3f130230608dbc755b81791ad2f3f605ff57f264b9bfdee9935a3c32699ffd7d4ea2a236c719f4a73b4044c384613080ff2a7a5a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230727e29a13285dd9c5ac15061994b20b893d71e341acd0c2fde1c041b5e50596c704b22410a44f66f3c3dd159175600de023100c0936372a49cf2c4665aa6c7b85b5fe2f7ea329e33d4876b0dddda4f214fdbc4794508984492aeb28ac06daa1b53114c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a803c80db443e7371355d7e926e8b9e9e96584575634fbff0153a9ad9b75f5ec3206d02dd37cc0ba9140d7a1d956e2430231008caf247bd494a028c1eda0977acc48c76b0fa4cdf2c2608d7de2c7f02c5dd45785adf2568545fe8e83e6333857ca31040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303d9894ef24327d53b79b723ea2f3ade068bf28fa2ead512bef5bef749d17679c3f047c0edc4eb2e5914aefce0a96889402307c1c365866b92b1667a91716f73f9ef52cabb364a5b6c28faf38bf2674c130ae5c6841f51de0f38079f728e3c0844c220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cf1a87d6900822f6cb55fa34a72eee479efb0b6d12e59a8f94eb7d563729c13dc4e71d860c6fdb989b932b63c70fdfdc023100cf3ed9b82f54d74e2b189a7338d48b3a1c6fa1e8f981981f2f7af42887941a87639f1a4ef9ff096f0773561119b027820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009f05c46c08b0dc7e64efdb9fcebae2765f1f4ea8221de9c7c0bbdb2e0559daaa8081d151a01461fc780ce3c48e74ac650230317c00b7dcd21066eefdadf86f39a295b7e487b0f8eb89ea3a9bbcba8305e0de1d281e3e7a8c8061da7e449fc3b59e670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100906f54c972f3de33574cffe812e990607b363e784bb3fed0b57473bd63c3132d90116b90d5087edd7a2df47c4b12e09c02304a92bff3ab43d7566954c45f2843a6988473dbb0cd5a2fe0d3154e170515155cfc7ad09559c8f0b8080d20e4dce7546e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d1303ee1817c3158fe02b1560ff74b3f33523597934ef57d1a956f8e3d4b98236793c6ad0f7049a9569ea7a6c3c3f2df02310086ce27aa4f0fb90d633b8aa8166994b25786ca98aa7abb57348317a10c71f6ed6c86e2e8d96847d11a25d6daa77ff0170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d639d7c490987e29e829520a07f290b835358c239618a2f32c2f6644f03fb9d6458ca518b87ad281a04a62462c3b976f02306173d6add6579f235d8ba5a1e4d4dc03b1542f592662e6adf3e45b3104bb1271c4b7cf63d524ae20e5d7cbd2c53724170302047c435bb5006730650230560d23fb2d109bb155c5427290fe1927ee454495f4912c21cab20fc005714f4d9636eb42e1b44abc9e395ca9e8bdef7f0231009cc468793f4da16e418b561ae1df71fa864bff98c6e6224638834b81fbe9a1c7c1657e3c69b6591c44c0cdd07157b1400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009c931037adf6f66da305a3074e481b3d2dc0236a3c03ff2ff26f54923b8dad3ef7e68d071ec8e90ae70b16ef83ff686b023053b0c7367f9af2ea9bb49f2a658a55a0aa0ef1edeb129c21fa5b060bbf907fd890db3a152375f419f3ed1389ee71eb500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307bcd69f0dcfaf56f3e7d8f6414b84e0c839d9ff10dfbc1c3c62ab2682a841a68a820c72c3df172fcfd103636cc8d217d023046152a51aa375ff7aceddd8b1f28873f98d7e61bab8f76ca2a09e9c091806dba89516aeb84c9c751d3678cf850ac0f270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a2ce7f57a75a90270574a152881a28df2e0946581f4e5d732a185c18af1df560fe7f48c37e28b35da79d03ef1f302f71023100c020ef6d73025a31c77235a01e626593659137fbc1020d0987d1444de974a2ea5591de3ae09b761450dcf2b07bcc1ccf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ac408ff12dc4090b28924cdc0c2e5f11593e16254223abc47e115495b598fbe2eb2468e85985c5df31bdff75491c640b023100a14324a2394dcc531b911e497941e157cecce84a53ad8f1d7423cb9e53250f662777a455a02d3cba5034694342aeae2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023023a0166461bdb8cb8fc9bdf4cb41bfb175f6dc306bd58a0e23781f42e0a7446f037ebab1988b37d2f8d0a0b812443ad0023026af8bfd3eb116afa4ff580659b68ed7d2813b29abfbc7eada7d50dc1cab94f4b2acd7eb03b4e3b849021366413119410302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300a0dd812aa8bda6a53844768d5d4f9add0f7b1d49638b9d461c8c820867851cb380eecc503bd23adb918cb50b8d06c9a023100a5b3c97cffa49ff1c800203420707883afa7225138014f1546a7a37a5ec2713b1e5019ab7f1a35a1cea0ee23623c69cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023076955624970d418fef1e791d194d653f34b806865c1b256f6d1a2c1de9186be4ce481e03bc498972d5e67d5da9ddf4bb0231009ac3e58043166a1b4992101ee4fa19364cf0433716f0505956325e99046101f5c9354d59e8baf00b7bdead0c226cfc240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e42f19ee48270d68c3a104985c986f67bac30b10a2482806557e192aaf259227ac3b07fed723b576fb0b8c1d5942574202304cf17cd7a2e8ea7dc499ecb532490172f36ab5bed0ffd7d41ce1c0bf159b2ea59a003bbd0147d5ba8953bf2358359a420302047c435bb500673065023100817acb355ed150ccb2958e18cf2d0462dc79bc489f9a39e362e8007a936aa172ca20ff2cf1caf784bfc997d08a271af302302492596755e1f6c8bcae1acd68f56674cf567b62db9afe76171a789479096934f7e8090826978997d95d95c11bc2070f0302047c435bb5006730650230290b5fdb2492093ede6c71cd0cfdfc9249fc83eef6e770164542a37dc3af0fd5c6309fd99108cf88acaecc3d1cf61eb5023100b66827e28fffc3e0e7f4d0fda48c7794a8c20e176a64cc28a291c4e8818174fc2aa8a6c09e50cc762b438e859bb2a0b00302047c435bb500673065023100c9f78d3d38d208c472f1c0f58795d8ef9f56e763b01164b7fde2b191517e035ff3da11c8faccb05a063b84266a46f82802304eb053a0c6892cf369f6270651f35887c1915ed2cba9b43ece2d4b960fec96d3b03f7957333c671d13ba2ec5c9eb7e890302047c435bb50066306402302a2bc522b83b240ecf1ca2104e9a75b65c9020cd16dccb9b6ea70917310acde4af6b10b9a4ea775c19752ab4df9abad9023019eedb2a50ebc8d0cfb29f7378cf33a266aa3139d1dd24ed831d52c2999f6cd2370cb6b8fcbfc624909b939b8e2c79090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008cdd7eb79a2fe45452ceb036f6910f05264b43c8ae98ef1f682baaa1f6b7137cbec596b539de80fd0e0b1119d244ac6c023024fdb398d00fa7e81ff5b24ac3dfb11105cfd06ab206349735e9ec4df571b05ebcbbb61c20396ecfb267711b8e7d5c1e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303323030f6c130dc37fe8896234685d130edb69c93f4d2e9c1fcdc485212a5a149ed7227e87d87d4c9509ab15d5f36e53023100fd3fb4120a4528e8cd6de682f16bb515ca5571e2f37388c5c7ed8ff2396faafca95cea2396774afa87bf28de6f3b81810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100accbd36a171cd85b78f524eb23c92d81faf09fb2606eafffdda1ca898c0276604b57aeaf2892aafde161809e63fcc9a902307c428388feca57a66555af0f0a382323e31673feaf912e8e292d921862fce513c2db2e6b26651e6ed66ff4d5da5be6bf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c807f89540d576434fed3b51048975ef09a4f3b19dab703aec933203b519ce1330f4f59c6d50ac3c84e1a4df45bef94c023100d66c69507fa72e5173172330eac2fc1076cd9de51e8b5c9da1b935d754c6c8468d4d6953183bf25b0f6bebb7090a11c90302047c435bb500683066023100a958e9678d4b25fd78bdac118a3a9adfd9f7488489e468786fb221373da68bc3b62496aa85ca4d5c15b59fed794aae6c023100f7924763c8f3fc551730e68cb48d6c59bb14e9871bc5150651d88f3898e319e4d626a4c5648d9df28777405b85d28b560302047c435bb5006630640230675726a5bcad55bdafb32583d4c2ada3bd2fe2c863f1888f95eff555adf80306f011b0c046c0f77538c9bb28c66e1ae50230216f8f58bd6c9813f8be96a372d0caf7923f2c6bc19f283e0652b18c7627f102e309533b24747ac7a810848e7f5adf190302047c435bb50067306502306c57285b0451bd4086789a15fb954a7190cb04236035215e30e328203420740eafaf05ef1db9484bb404bf21c8ec16cf0231009a2109d5789f83e90dd7def81e6e9486b8550a9bf6cbbbbf8a84c8dc7c1baec13d060f07006e35ea9debbba228b9be370302047c435bb5006730650231009672222eca388b00e749230a25cbacba2a6c92c5b3eb311983c68071d547bc6c2e0509c4e8b40e04871979837c243f7a02300d93a039a44ace97afa417835e4ff6130dc389b8e1786ff967f4070304d1674ac124e041a00a12478ddcb399ac2d1e530302047c435bb500663064023021b7843734669241018e1ccd173140293b6713e73240f7f151de5c37f78314c1a2022f73e1a9b916a7df0248e4017fac0230234f41cd8f03248437637bc1e0e1a92d9a4c76766d1777150d9329fa98185e57416f6f1f1382503ffe453c260d08f60d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023024645ce1b798e0f77860c7e3504c014c801f8aa9bd5a87e343afc81df2c85bcd741f824bb5e3b59d65b5d34b1dd5004402305cb4d65c72c45387eee4f97db941a247f7bd4a3bfbe14c36b62908dc926594f2746963183cde06ef6c6232bd75ae52600302047c435bb500673065023076174d75550b6fc0ba65a470873b876fa9a6fde155b4a24750cf7cd6ee05a57c38a1d2354483d9ef8071e3a1cc3d1338023100e8e35373bc2969514e91edd0532a9d8befdcf100adce9f638e01477af1a496535cb2bfce18d481d7d31c0f20d2c677380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e4bbab048ef96410802e54535dc41315850fe033ca50887c23a29df8e3f04a3a00ebddd12308e528c0ed25aa2e61d084023067e6e05b32ec8b1c4712082b4cc6bd865fbb0a7c10b77d657f1f84785b05a7e1232cf92bc0c6063c562bc93ebd8055a00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305853f9246d0d28240e9cac3b527c9a578a67158514fd13b75085d969d549500b4bea1990b2b35dc297e8c5d92b0400f102306607ae3daae3c81dabc72919ff087e5e3aa053aab82cef52fa8ce7b4b28efcac408d7775b85474568617055d4b5476770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ccc23bba07c9929782e99da876b413d682066b272944383ade1cf1fce2ab5c24ef33a391c1f232b182c0dd0e0c970fff02305db7230cc67006c0c7573308f4885697be8346ab6c6546d2e6d33305f781824df0a1124a4c92ac97797e9c190dfaacc80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023040149bad79f3b82d8ecf8711ed65bb49051c0d40f3d70086f237715b7ff5dd83a84d74ad87719caab590cf43dc2de238023070a16ab48c811eeb3ae1e67d6e05fcca7bf3f4684f07aed44a8ea79d2edd28e3810749264ce718e859741c14b90211090302047c435bb5006630640230771ab15fc518bb9661618dc96c03f67fcfdca192e519097f1c97cfe434cb6244e2240a719d2114eaad214f328a735ce9023077ad2bd1901088c46f41e35b238cdb066600202c275c3dba287f4ad125317c9eb421040f995b7830027fcb506b89d4000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230636370c38bff42616c420d3a4d6e8b0cf9963dfac82cd783204f9ae93efb3646f8d1f8b7fa1569dedbf50a6339b10dc9023100f1bb2ef48ecc5ee64a7c4ce694027fdf01aaa0f681b7558b7ae628a4dfdd4c48d2bf53513477806e27fe03276e7c0beb0302047c435bb5006730650230505bf152c8194827a31648b1c252a8421afaff06efdbcbf869b227be3343eff0f06da05cb87d9e7636b09d61cfc5abc5023100dadd1b86ab1d94db853b05258b957600d06d3c5ce2aff79b839b00f46032bd3a9b0ae4df272b2a930749590b6d0b4a160302047c435bb500683066023100b7209960503d6144dda5632b396f918b70d59e4c563248759b23a3a2c209d701a9c9516bcec850ebd7113eac4689f0e70231009a9509bed2d9d9c25983fc7e63fab3704de0b26838354fadb47dbf993c004d939ba8af3d9425a5f5d81d1efc711932fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d45f1dcb3d0c3d4082600445749f92e99b283fa47eb73af08f6a09efc26496a14d9ddc53053a64e70e5e2aa381bfdb03023100f0d89d467e5e4d80465d88915a67687f6cf7e1c2ac336339d1b142d21f5afd18d48248f289a43e9a232c06cb5adb347d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304b044774aeab49b3badce37a02a8bea373182a01012c42e6f37807ce0397d59e1685322e3419505f6cab1b0c4dfea89d02300d8ee61e279623600edfa475c367e721f7556f7ebd818a5634f87f55c50472ddaa658502880787e8af79d7df2de141cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100afdb419d82c473cde6ae550e3048cd60ef1ff38eb92318d2b39550292d0ced064edec0fb19a87fd6f914ff7deb423ba2023100b08421ab872f1c4a225b1490d49cf0111f70ab37a5d4d1721fc42fa8acb86751925d50d0a368065e379690168ee0ef6b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100954e7d360e3d4cf71a5bfa8c7db82baf921e04cb41c7a60f1e1d23a32fbc91333b3c5bf41d1d01ce2a32391b52217e2c023002ff56396fa4fc02e7efac9c5fab082519216f1e35c587b62b17a1c71846f68b94c0626d611a55bd8d08ef1ab86a17800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301dd3ddcaa6b551b816eb7b46c07e5b2a16099aaa8abf0e74d87f2eb66a1b1848b5c22e9c31dc604cadfd67fb7664ea3702304ff54176b06214cf18ec774abda5389c80e99196443be7a94f605302606dcf1b5c09074ca6f5c791651ae3f5d32c1de80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307cd7e2a7c450ac2fce172f3ade769f983f61f27aa6fb81870dfcf93dcf45f7eaa65d780622b9a796cf023871067e04e6023026ede28b38b9f40fdd369d2efb418acceab8644c3ff07cc626e9b1efa400ff27a78b886e2fc7dbecc6fe42395af191af0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307cf46d7315ddf7ea3be80734fe0b3e3b4eea214d36ead58616269c3f5228813ef05bba8e9a9071e42363f574f788d0660231009fc39ad3a84f798b5e1af4c9e85dbb27f6224ee35184966da3ca6faed83a39a17054af9e4dc033b916c27f637e3e63970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bc5a89de2368975ff87895546d717f79da97ccdd06f97ecb3b4ddd6996a84a3f9e7061c0b16798a815c3b7e772a92582023000c312b394f20d77e987cf53faf0517e89bbc3e361e12a102523a24b3e513f214a11ceb2237c9b00868eca0e6370318a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b0ca86392d5b29e34a5ee6c0a96e970402bc12b7a327064858c959c96f010f12edbfc530ad7b66c0567c059d41f05a53023100914ca9ec544ccb92ce0fa2a7bc5cd3c3885d450c9463d370f27f465bbd56af71ef045fd921456daa18e424a226ddb3780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d6160cecc0d23f7de568d7785c5c3d03fd6c46f0f1c0b72466c6194b592bbb2d1ce8912f609fa74f5ef6377f7d4840d7023100c4cfb4a319deedf2a49e0f708e5ff588c46cd605426a99a8558d740ec2d91292697a3ce84d2555739aafd3efc641499a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b5e1e0e5352d1a591fcd19e7201004ac2c2059f598bea430e92a48aa17cff7ae2543ada109908cf8715b778ddbf95a6e023064f54c33269a00a3c9cfd7588354f7073db401f5a823b45a518599a6024c7b90bc99a63f7cb99a13d0fc4a42fdc688530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304c1a82058d7f2df43afe10ae137975ee89485b5ef50d7e04cbf321ffe441bb15a2651505930006fea1ee3a8857716580023100e67b69eab4a9d3aa5be88d09476dd14b246b1be44a2eaa4d0c4ebab1589a4e03a3dcc6daf9c3c466bc57ace84081ddde0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306fad9e6e7714562862fab7f9253e7856c750fb6375fc1b710b9a7076c40af4665bdee9d5a811269bcda70efbcf025d90023100e3b1f1eea93bc159bee22e698f2c73065488d68799c7ea341dac80e4c66a279687f118510caae31de0c1c3999bc1e6b40302047c435bb5006630640230472cc42246397c08f93060750c8f7e442630db520ba7bf6df230b5bff96d15b8bd200e557197035f58cae3a1296240b002307c0a87328fc0333ac5fdfbd9caacc13cc32853478a07e1010b1332df7bf1ce03d1f98d3648bfde6072daf94a4a5f36ba0302047c435bb50066306402307bd5b0deec0bcff38be985a048c1fda4f2b1c2c17f77d89c7b3fe97d52e8f9075a43786498859f9084152a3f91b87e04023030bc9ba308152790941d6890ab8706a766d4b8c2510ff52c7a74961e2b57c35efca008d94d198e0ccca167a88e37d0820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d9b98a6fdbe43f1984263129045409bc9c40a1009ece23273b3e655048d348c79978224031b2854a7ddefa76f85e210d0231008944611ec6f603f4feaa9e3e4c3384df8db8706ff8e728325fe203143927a11dae0ef28ca4d62dbef2c8a1359cde7f810302047c435bb50067306502307a4b8c0df2906e9ec99df09ccbcb0fed1c684adf32bf7773ff1af5cf554cf016997c122233079da65f20d5cf617f7121023100bca9f1c7989642b22e6a1ba1f5b6f685c79dde4a7250b2b5195140105dbb7d4d3a0cb6a99060c312023b26b3b57a22c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303d96953e9588116eca2946e65e8404916ac29861d238264d5b9e202892e490468bccf036e4ff1ad2cf7c159fb6bf77b5023015b99690405186a571ed399edde54996c25f80b4ea5475fded321aaba684053a971a84cda86514aa156001cc619b242b0302047c435bb500683066023100c238802b6e28137770a5d82382972960ad0c1bf8d6b05f311b025ebff1dbfe59e53da380032b26f34bf7abe9d928842a023100a20630b0442c8fff4d41dedb73ebe398add452ad4ff0f7659a199f7d747a500d57f61464c9d748a9d9732548b13a4dc40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fe2d8fcf355a018ae60d396b4045ceaf0a17a37fe88d227d1cafacec16df0e16ec9f85207148ebd0eb6bb214eedfd36d023100e1590efc747c716c008d1739c7c95565b73ec65d03331573d4e07d1459cc65dfd316f9a1b6ae5553a5a4bd4cc37670930302047c435bb500663064023065eb6c44c795d576a7a59760256d2286a342497ce1b7a2eb851a62c24fac8c71897f7ec893dd8b5e77d0b556dd73b18802302908894d74271dfb435a02c2a576515a55714b62cc26b937accada3c45dae62c06e097a2a1a1feac2e7542518f95e24d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301b8f42366725424939910709ae98067f98a9ebfc2635d4ded4029b8b034f45e5f284deb32c45039cd43f09058327133202303ee9863d3619f49a4b52f59c71715c1b27d37d32d2ca37f7eeb4b7c6d6006f00203cd279db8a600ed89a3319384162580302047c435bb500673065023029c00d51cfef81e877874b7de1e60bf4934476bf00d355382d9aacf434e7e0948824f2f3977c8d5c09729748a9359772023100e61fb8417d3206f36efa3a3fff052c3cbb746aa6c2b71ae27ac7d471d2463a9f781ebb61a50ced421743e713cbe129260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300be9f4e0e7df62a5fd56e00bc5f10ce6e2d9db6d2bf0abf91d540cde52f9f6f1e433b188cfee9e84af06fa670cb1de200231009bf76f7ef8178d33c0ae3a9ae8746ef6d10bad5c304b59fd30773f55ec943354c0a5ecda94c0bcf58386d35c361b5d210302047c435bb500663064023059000495665452a90b6eeeb043fd195e1caae4cb64e7e50a3ed55e651d311fab405f7f86249b50f3f0f1031cc7739b06023075a3a0cdd0889a6d718a8c90d9317c0f17c8515a1ea15aaadc6ee5d7ae76f704a7a8f6e895c37d37fe8a19ac0216438f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f55960c9d522e255fc705aee6c7448ce4dfde0358f4e077e38e9897fdd3397d6974c7af063a57383292d7575fdc1ec630230681202432a97ca5232e49d1aa7de5f923464920b472d95b6c04f908c9e04808fc0a17a758789569984ad81326cd71bb70302047c435bb500663064023059cd70d8551a57fd546f474710e2acaf5d13a59db3eb22b391ea9679e01601dd47f94b499d094d3411231c1eee5ed446023043eab97e50810247970be78e54c8e11e64c0edfb79ff8f3aa2eaddafda11cb639d24c79a1aaf1383602608c47142198f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310094962aa1a43d8e9b21390d99a3f29d95f6237f457b47397e5d917c6f5bba3308f4b6b56603f3cb94875e79ec620942890230012f67c6bd107126b2cd78010f74471cf1395a5c9c0916bb17a8fad4d3c45000220097cbf5f895fc63bed4f756a899350302047c435bb50067306502306048cf1ddf14aac1283cfbc633b26332aa60fbbbb8c952a804e03e7385befb32de388005707d4fee41c5f4b4f034d005023100ebdd100e776dac49b6fa3bef1925b74d00e090cd1a2510a0e47c5514e128abc97c73d9c610bb1841f377b9fe5becb26f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300cf6a226311c25622e6af5d5376b36d8818a8655b250232760a3b64b99dd756b603a1c6dfeb0b9ba294ea19d444629950230499f00f998e64c6779929117bc66d333cdf70df55c18535dcc14cda1e0316a093d2688724e96aa92331032551a3a59e20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303b67a4f3f462db04deb61a9d59a4488c90a3370457c8c16cd4e1eb6e13dcc68d8d23e488ff61289010f51bad2336dc12023026c85dc9229a263d74451f72b0a891008b3d11b32b58a7ed9a1d5cbf49dd1157bf66053f3dded5586d1aa41614ca49210302047c435bb50066306402301d6eaa7d6be250863b4bfcf0a6a70b4f1d484cac7a1c7e7cd2bb5322cc2fb088d58a3c0238e1dd2aa3b07f8aaa554687023008dccfd0d3c10889af1f3058f66db9219998ca0c13f2e28b7e43aedf1de2924a2a0ed0bda87ce0fd33140c3208896b850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100daa0432b4d462ec1a0117ea29a14df3c721009b85f6b5911bde93c3415eab4d40d91bfd5a3de6eb8b992a8d43ae88d62023100e3468f1ab112b2bf85e9673b36be4ef4996f3f45152ac076f2b2a17ca6dade9c65c2ba5686b3e2906f45f285968832c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310099cb05e9e5ca4b9019773be170b74a8a938ee245e1fc5976427a5b1bc60e8da47fa2e374bb45b21eb358af21538a2c750231008b6dabfce03d288e4e3062d0787d416b319da64bec6c1e1611e8a4954c0b7bd1e0f8cf52a4ba424f3a50710679b884ab0302047c435bb500663064023002fb34e11b97b4f24232e3eddf6c8e38caf7d4464aad301c266b45bbccc2b6180079f4f34af2837b20a6c086f934f011023056f5893fd74efa6ac054e7e3f9acb9ec6531c2d9934997388ad330eb818980e0f3eb441c9c7f8912590a409e1427e4c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dedfd948272a1220472b5ee6828d0638fa988a49cb901f70c836b894e11581ae794158649332a5db1b433fcaee097550023100a6b69566583c622b6988bda7a1763a1781d9cc9edaa9d378d062439e3ba976c1c0a8f2f15f139e12d22a9bf15ddb2a100302047c435bb50066306402300393a422198cf1e9d9ea840de458b4de1afbd906659ab7ef7ad7108370cd427a802af1ad60ae65cd9aadb2af4f460fe902305dfd664e96d674b2d2eca25b9feb417a53c530e9d6652629c322398d605b164f019ca43d54e49d002b6001fa9d56ae560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230113dfebf0dc2e147002d7d34fb76d6277a3f3f04d18dbabbe96b66beb981e5fd8a18695909cecc52cf419733073bf09d023100e7248e2fc5c5a867206f8b0a6046de3948e9c96f5554b64c79fc7daa144d831044a6573ebee21b4cba4a03aa4a5a70ee0302047c435bb500663064023012b0b04253ac2329b7a45ba40a78e4ffee4a6631a1a017d5eb97b7afd2b7bd00edf84d7d1fd3e49c565e5ce38641b8f7023026163841bab0b6c811b3330bb201afe1f25b76fc25c985be1d1f0731be3a046f48b4f65b810b7164988a2d10e5484ede0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ae22488bf55b2afa469032b2bb59fc5dd28263e302f3eeeacf8d0e244d0dfd9ea8678372a40c93f6ae0e97c3388688240230773ec5ff0b9cde39a5971d6dc32b1a7994ed80073eba4485f9e5d9dffdf87ee0276cd235dbd5bf6172a9c501c1c6d5640302047c435bb500673065023025c2f9108b2b5fe04293a4de4fe6e0a883f005983088ba27eb7ab2995ce96c57b0ff1104af847a4969f6cbd252d410ec02310098d45b9c3589d7cecb1c7bb3dca61f40f077d86c1c227a54e64c9079b4ac4505e465fac40ebe1df4b85d04978a4346f10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bfef95e5029924b6c4e09461173198db93498fff3f3240aaaecdc8b611bd4117f141c66559465d0fa9a6c650cdb02d64023100d5a01e3c8551dee27142133d02c8cd7bbfd358a4be37001853e6fd3d860f7886b2d6fc901c8c9cb3c398b2adea025bfb0302047c435bb500683066023100e957a1d454c18f79208a09fcbffc281d2d366d33401b62a5af3ae49adf5826739455f4f8b84034c06ee7fec6b2524b5f023100f58223566d316d5583571867f292fd5f80d73a24ae5e4d0c1838f3bb8dd1067c899a27697ed8d35803618b0916ada5bd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303b75b524c630d62e30c4dc4508beabd2ecb3a5422026952e62cc3d5114575d3e2a4afe8f20385d16eb7424182a7f112b023100a2d604c65deb94ef4ea9da85201893cd2cff493d0fce1af0ffe6b8695dac433ff33e480dfe810ef5aacb0cf62f723ae20302047c435bb5006630640230681ab3a60058d85640eab4752e297b7d8a420e014b88129af54771426eeeaf94dac6326e51d3481f82906e135e4ca1a3023012d62ccf906fdfa22e0a49358724c7650635c99b0f795cb753ba58bd22d713116ce3d3dfa4572aae1a5bd40e521418980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230292a05914d99a3057315ab2294a6f8c95cc2db6daef0f75b59fca5fce0c074adeee1b8593d0e35e1f2f70036308c600602301112538a98f5cd27e7c7d5a1df45ae0a38b51b3cb38ece8839127601ae4b03ebe18acf9505f24c2a34a50fd82cada3df0302047c435bb50067306502310084d61917a6a073a5da83cdbdd8a1bd23b0cc5fe928fa4ead690f517217353f818563169d93d9d7cd8e6829694b09c67f02306e0881e4a3fd4ff4d694e29a306bf38a822c92f1b684b2407a2b6e77e03648a46b355a5013a09b09e7b395386c7514a20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023047ff5bf446dcbfbd6f0ae17e75829588a7ef0c59476a3f8a644fba724e8e1dff596368a09bb4b2f57c9544ed3a6c5bbe023100b6d452ae906aafb6f23faa529a556a1b019bf42cdf1cb0566cf8dbe632f3c31d8c586a4281c16b0cb3ef8d639bd818b40302047c435bb500683066023100f53bf5df713d87cd65f9e38e5754d8121af6afaf821aa28ca4cc4f4fc304b5464e4e3e72ffcd7e44a2ff957b41bc382e023100ec8ad4156c2fecc6e9bb56eb9ebcc9b52a974d115ea0ddf0abd85bcccfbd34a133350e951e3363390d48f1232e250e2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100db1888de8bb053f55d355eafc761fd22c22cdaf09684e776dce1066e9b9a9fe4e5c89f7346be56177e2ce0d31467787d0230209e0c835e51b5ac8efe54ade06c7f68bf5113945972431c948427a21769ca869f2e22bad0f1d3c39d2257d87bdd45c60302047c435bb5006630640230287cd95aca1ede2d441037ab3c3dda8d716f9832b056f83dc6133750bc4f90e3ea93bbc18f1b54911e6f0bd320224f7e023039a329746207018d7c99312c5847efdbba226a3aff0683fdf42b74c48b854a3988e1c48c9dd7b6cf61bbf8de603052b10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e622e77da57a868dd0a74b155ed1938bbbdea9a5f92ee5c0d9eb61339202396b6164fea7fcae2523d21a5c20650b9324023100e677ca5ad4c11008c2dba8ab784aab28ef6dea7966159ddb2a107bcdef8c8df9780db99e889cd848c5ca2de410049d180302047c435bb500673065023011ef469fd4939392caf3353886bbc6c5877d7c27d8849ab01ed40e13d396f8f9c06654abfd8ccec78cbfd282fabce9d4023100e58a6e2be37b24373e06fc3e4ed999671356f9e50113173f3428593f4f8162766934bfcb8c570719315f652d306314ec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d3bd468ff9a9e83891a9a20424f545f40fe04e433732bf1d5f861b3fa5a78239a709584654f9e776277433d9c9df243902310098da25c2c03ec5610550a406d89917f30689ddbd257f69da05d6095e1c6df84e639944f79e63d0117063e35c2c87b6700302047c435bb500673065023100f9b3a80948f64707f97b141c5326efdfcc87930c1b079df08b9c46d8d4c49bdde20b1570bff390f61185fb25054e4537023076dc8c5cc98874b29eba731613458db7162c026b70f91df2e2aedee0d920cf40c4a5901cb49f8ad3fcac7ac3653f34350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e91cf933274865c55ee672b2e37b485c1945f07ee74f40652707db749be370f838076901f4ba01358ae3ab96cbcf5168023100837b3b97d00062947ac85892b00774736a1f40b82ecdab85548d8d59ba0674ba1dff5b61e516df74b89cd9e78adc9d360302047c435bb50068306602310095fe15824856af5c6af6ab22ca9139bbbbd236913b54dde77fbaa79b34e72d399264242203979ca6686aa048c2f33dbf023100874dd841fe36962931ac017196327035a96586e9d9995e803b283405dc48a04ec0e02c1c89a1c2a8feb415e8b9d3c8ed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302b6aab6d87134ee14fe8a2c603ad2ada7a43767951e72b57d49eed499ceeea4cb1a0ad82f5355fff4709815ce65b5c91023100cdd321b3e5faf93ef8030e5696dcebb3e03f9f989cbbfdf2196da90e1b303c8e2c9da80065ad048c9fa8b31c6a0030a20302047c435bb500663064023079948ed21fa734c40a6335b04f05b8d26273151df13cc101f157d93c3998852d6c265667171627cc4c5ed682ca99ecd90230600495fd3df113bb0f7e9c17201839e4128f8473370e4a8c7858cebbc24dc36095092ce52230acd5c070e90b0caa201e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302b5dc631346f97605e5cda8933cc893b3859035abd1016a7a5562d36597517dda3bd0e4d675d7de9c6631fc3045b5a120230191854d7292d24d263a61507e1877fdb3142b5339a627a2f6c59470c0b5484ff531fae4b7f556cdc246f8d2fd4bfa2ae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d5ffdbcd76f2e9eb7f6528b69dec1e80b038c88e4fbf7b89a830986168f093649cc84e224f553cb4e8aeb18b309e1b13023100f721e9e5ac97e30c888f63da1b020919e7428def5563eea3aa4394aca3fdc1168c7bc9a2ca77ffc89a7ae17407883bf70302047c435bb500673065023100c171cb2ca537ccaead617c752b8ed70ea7ed3060b66c650dee150b01d46372d8384d88c78318b63b1a150619f007c77f02304fb5cb8a2443549a8316beb824e4931582d32654d060b2679690836eb2fa13844f44a058b47c2975c772ebf575438b3f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f86a777cc211f49c4e3ee63691e89a5a2c1d28fd6a31874a008500c17c26fb906008687c98ca6fd6fcdfb89208953013023100fa096e3d81853418e9f4dab7c6365061f495e73fd185f8943f92d96a0013433b3debed972c76541726187c2f985e9eca0302047c435bb500683066023100c0786c7d6d5dd913dd7340efbb3dd06d30b17b1bec32f17ebe6930716068b9487e06c69731815ec2a296db9e6d125d9c023100ac9a50448ab856331c1d391c5df5c40e46445825e09f5ced120dd6ae38dc824e454d26db99b8b6f563b655c783b4a9690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e148831698bd67ad0f889ce03dc62b4a89a03cebab400bfb65d9464eb72239f155f1190a4e3c8bb7014111e6f48fdd7d02301b4ca8ebce4e3e8eeff7d55a4f3bbb7f64b8bda59c4e7da309aadb1259498c486405c56b317770e8ebb3d97d6ec7bf080302047c435bb50067306502306490e6d1a410e2e04b7070fde4f3481adde894b09d964c444296f28b89facc444b7d3f3f5a5a773bfe49646a055ad9c5023100c6aa1071afd9c692241892b1d9a4afb96edf9a7a73f7b18cc401be4c490a0079767d2f4cf65483c4cb0bd7dc857936c20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d290e68e50adf0ca56ef3d34291662312d737d75d2c2813e23fce0c2dcb50b9d4646b1de997ca88e59323f77460d5694023036b2eda85a97382cb59b30c79c8a8c0e719321ff406dc37035591e890af920474c317a1f14ede69ab1dc0150201952910302047c435bb50066306402305b8279ec7716f6e5f848433fa74209041ffe1910cff740b236c06e83866953b51be244fee659419aef507a3c88e410e402307a55f1f6543e049c69d66a72f2bcff0e23ddd074adcb107add202cf86ec7a02c0f459c03c127e96d0915cf6d3ff14ba30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230468db7934d2f3affa2e8a3de6023ab6529069439cced73cd9fe1a3f51138f27fecac503f2858c012aa25288d7a94e1a102305182646086f84976d7648e77eb9490620cfcc80a78fa8b3c26e678c1d367ae27410d5023d49b088b6ac73d37485984180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300570ecff716b29ac2e3d49ac45cce2ac706769cd80a73f7e0cb92dafc7b2c0d70b4d7ef963174a7640d776d618fa3551023064d1a8f3be6056709a50f5d39ca9a9a62cd87e834ead83984e1d764f5e72985e3e7a2cafa9b130cab345598efb35f4b40302047c435bb50066306402307e72e18b5e8df71ec3022f4a5d9a6db73f4d74d10d4073497211101fc498e17b3bc134457539ee88287a998dbfe339fe02306b2e4639dce22c0b0bde0db968d1500a98b88b9e3a476acbd08942fec947f6f77f7244d2e929acb74c29a8dee767cc6e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a4066149bb698a182e1c916513445fe345833781eb888d17acc6393d0036923198fabe41e0e558bc4440028959a829cf02302f14c423c4f5c07b45fea640ec3fcf2cf0df595f1f12a52d31c7020c330cfc9c57d132707da964c9d9f078646d3057f90302047c435bb500673065023003be34dc588a088bd51024e59288d376b19e6383e257d88f1fca0f6658f95683991a246e7143ddf0ce5191579568e00e023100fcb03d5388ca4b6ff9cd52924b7aa025b5c439df3cfbf2df7252d2a78cb2bc69f3de8914274f5674d49e1bfbeff16c570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310095530e71d71e4e564b9d58a303933e4229de25a87fe31f6011fff22ab878ec3ad9e1f07a035a8dfaf1d80e5ce2ce929602305ef9f3c2fae5b9861e66adc080280639927ef4ca1426938dc00fb2b821be8fa9869e1917bd4313327bec32f6d8d081f60302047c435bb5006730650231008d95a34e55de2c46dec05b6479116b750ffaea43f1a73d7533713b233c7434fe423cb85a17ac0fdb82930756c330b6b402305ab6133743407fc4b349543762f0f31281bb2e5bddf25dfce98341b724744a42647d833327c0f1a64eafb133e6239b300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100997c083daf70c8c5b66ee3f27d65f7c9fc16168926f0e02e73c81b4f51ccccab9afb00d50537ecd7da160859b5a811fc02307942ccfab32cf10f9e5e450ae7f20a63e4ab4a7170bea80d5d17a095d64b25178c3fbbc1d47dd7d619790c238fedc9b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a48ec9a7ef76497992e68c3dc6c1ecc8b8a898a04abc4f2c98b78f247d9d7fb6c0e1f72d5526102a6d5218e0aeb4a0ac023100a1871cd01a61d92b025f3d41e663601b14222480fbc10fd7c93d88ae086121550236e40c00b5581cc6388a64d00e911a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023005be2afa050ed7375451bd73c4641d588b3210f80b4bbcb843900ad10f0ae30355b912e8589028e167a125f583e419b5023100f34a4200bb6663a7ba6d7119d3ce5664f7a5f8cbf29f41799aca1d07403183787ff1952f707545ad8147d1646d1d0d790302047c435bb50067306502304bc83f61c93970fe1ed32d5021fa385025342d4b33a9a3362992b763f0444b6a6530db4e62b1d9dd10d1f8ba3907a22f023100c6ba460f473fed8d29ba3d60685c4e570770b712f5e117630ebba3aaca6797d8ca43956a1f15d82e82bd63515cb863ed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304897a630a9634a7dc55ad297ced764f0953938fe81fa511c1f97a288d59dbabb1c8ae83e256821fe0b8041ad184ef15202310082836e1f88124363e95abdcaef357d0fb92de7ce754c122b49af27cdd257e76e06e9cf951eb88da6cba2f881c7d5437f0302047c435bb5006730650230748efad70a5f29ec5e1e18d0435359a21061e0d26a3c0316b5abe2464d52953d6ec03e07c50521e4f66c59f24933dd44023100bcf25f6a25a94e65c6f97dc413468fcaf51d5dfd56a9571308ed36aab747eae0d5c3056af376413d080c1512d67eb0930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023003810d85ce57fe0974d4fbd377ad0273e3e3dd16bda74458b8550af6ab4be1c52033f002dd9926713f000c92878206ae023100c3daa29c56967f16356199a92370c9bf6b1cc7f49c657e308454550154326b9ddfa647fb0270e03534bbcea0f55183900302047c435bb500673065023100e04a87f3a72d235b6069a6155867d4b17ef44dda363dc074e56a0fbf5779ee9ae8e753cdb2aae53941686aa26fd22de702306aa1f664ca434b1f3180adb92c3505462efbc1eb7d5167b58c7ff3f64e186958276759bc19eff2e4606ece71c47f269b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300ea2b3af5d5013131a910a2045989b94830019ebd5cea878a98a1d0a45d4f8b7b0f0bfe6f42ae4e7222f99f23dfbccfd02310094175f044d1c9a4b2c59cc63f3d25655577745c573c1e97c41e32cc53405d8e9f1dcc440209360d2c31eefdb807ae2ba0302047c435bb5006630640230756d82cfd79b555368ed98d051a62300bc850f39222b3dc992112f96311e0214f762f2ea6d56f4d449a8d59a888112480230393c976ae6266c0a111eddfda2a38edb9839955a2c0e607c0a3dc4667a16b3224456f00cfe82b528e1205bccda93e5b10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307f898ad174397adbdfeeecf664a4a4fe63d80fd3d3101168db374535ce27fe85aa87bf8cd0f6976d7b732a6122e4eae80230191aca0b379be7641893cd5050dff314a46faa4ed52b7fcebe3184081ba45bf88ac927e2c96604b90a6373849bda2ecb0302047c435bb500683066023100c6eebb03b67354a40f911d4005dc1258167016277bb309c0cf6703a99db1b7ee51d917701fbb6af2fceabc7bf04ccdd3023100a1e9485ef2d55665eb7529858e9d7a946f07e529ff61bf97afdda0dfaed5e610e3a6a90c5acb47bfda773990553cc0d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023001430573f4673fd13d7e37197ceca27ed18c1dd8b5195dd37af959030b30438f43ec010b9b6fa56ad9971775ca285b96023100bc0c3cec7689a06341614ee3b6d783133b73374d3c518dc12d1ed489d18beac67b50d45ab84a047911c95ad4f61acc060302047c435bb500673065023100b567453965afdc86aff6f35fd5d1a36b2850630675ee36cfd9266ac53aad8d730f283dfe099cd27221306b58125fb5c102302754f1a9b6db00ba5ac9c2d171b836d471f288845849b5ef8707ab9ca1a4e2551273fa7277384799b01ec7ce6df6e8cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304fb307a1d6fac55a982e62c47a03675ebc1266498b121ceab27a27a8343428b3abcedf46dec03cd48b7281649eb1bebe0230199b524f3cd37328297307dabda6219c93589fa0eb8270e2deb36b05ee4993c0fdf5221562c9ecd271874fe23c1b20fc0302047c435bb5006730650230529dfc5b2bbc45b9d921742010b25ef61c6a1211f50ca25a13243026288d163669bc9ad56814a1e060169ccd5d8ab027023100fd0ed04e89aee84c0d76d147f079327dc8a720723556e0ce207483b1130aac021776d8486429d424eeeb647d620f619c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023034c56502a91be9cdc44a453cf0684e46a6f27578da293cb40f71a1ab64560ce5d20ef8f4604a036611e38894ae8a83ca023100b41466ca5c3908149d8b2a79bfd0f581c6297e5aa4aa8b4c11e4df6e535b7514a49314e335b59c2a3b2535f2f030728f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100896341a04cad0393ad365de1261d635eac86d96020cb20434493118f03e2603af1bcc674a5459bbb3ac5aefc10beb8d702300757b72f705d8a5c05b91f8bf2dc817c410f07b7fc262d7bd3bee1a1d6275cc7614c8c18481a2d966a8c7c5b1bb38dad0302047c435bb500673065023042936084f28c2e2abc06f41f81b4aa400d487ca37c2f16bb0da5e0a23687a5a30483b3934c1f0e8e559162137145bc66023100ca747afd8a4f4a04170e27d303d441d78ae81785d2f698b42e06d0cef88f8b7f8ec1e7f747671267e9d7090bb360f8540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b14e5cae4266d329568ab8db780cfdd7cec0f16569e5e8af0ac93edd2f92b8a577d84d35b42462f3100d711e09db31b023100eb11fd7a5c109937e79a489d084712201cd099295d6f701bca7066a4e7f518bfa73df0adf749d49a5ba4a2de96eba8f60302047c435bb500673065023100b1a6ab9c3217e906a8713807644a9f7a46f43d6531a781c340917541484efbf33ea13467a88b0558679aaa47f4483d3e02304f348606db85aa67753e2cf9de9a13c6f91eb46b3e4f97a1e1ae6c7a541b61b34eaf67ee5733817f3b35d6cb346f24520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304cfa5bb6f4e44eab9a9fcc927102f359e239bf7a59c231497a07691b0a382c3c16cdbb4683401e3e0a4c37bb2cf749990230313b82315bc01a51debe87b956b5d464a67643c9d7900323788b1095cd0245b652f92860d028e92a069fba0333862ba20302047c435bb50067306502302c382ea5ddeac93506d63d478e4393b2b027f4320d83a8142b3253d4821b824a414343e0f53d79b0a4f0302ccee9d5eb023100998e196d37c9d9613db9dd0f1f81097c9809523175f915992f811d49fbc726dbcc867ffb5b7187882142b46b5370e30d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008c37c263c4b0f3569c4b5d35f1613dc0ed1fb2b74887783eb43b1798f38cb7b9a11288b0d1c5f69ba0deb2d941db0529023065db2b37d23a169beb5451386eaedac245c269243176897bf5158ba537cbb3da9ef4482512466b1f26d82062ad619ca00302047c435bb500673065023100aad700071b010b63b5b12a53ccc0f9b2c53495c9d8161c702dc0b84a06939c60b5e34a04cb144bac3d6fc8ec4e36d53402300ef0f072b847550fca6fb55b1a9c03fb900569f6c3fc08099d1883e2cf78b24e828ded0bca08ca6faccefa73047482a60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023071cc32b2e5f47d26cfabd9cd11341ec0e2606fd1778222742e8c72149946fb80f1539bfa79868f454c65c5a5e640132a023010b57cbf5037f76f43d11e17a09fa4f7e156965994dfef902045a5c0adc8f74f294acca629390981aaf25b920f3e56860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008d507d2ebdf5c5884de2adc15838619828b3587bb5446b550c83eaf5329325d52047efcadb603bde7ab0eb47e7021ac6023100d9e888eb7b0abb96b173ae0c910f901e3a97c6a132f092e6c3ee196c92ecaa5913da1814e4e88c95307f28063d9f942f0302047c435bb5006630640230451e0038c36465bcee902e9e3b28e9313b771a9dbf6c36155d25fdc71170feb327fb575054fcb0fd4a496509b2f2d59502305af93c199854093c9cf1f322c25b633ea889cd830f141f7ad6aea63974d478e3aa708aff905af2ebbc7ab5d662ad8b7a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d9d5af6eb1fe3e3e93ef7cbefebb769e5d6b3a37e4ec88e9c240a6915f976ab4e767c88f7e5c087908d3cd5a513c3e4d02310095a915e211899d7ce0f6dec77b8ff641a7692ad8ce62c9a1e80fd56922e84c7b006e4b11128c5d18f9a4f333fa73fd400302047c435bb50066306402305f1db7d49a87d854aa9526a0109777fd1c0ed1d82abedda3e43598d995e316d4ffb022aae19b606636832ede6b9d550102304ad8be829ad20c068a43a1562c5a1877b2907cd2b2c42c876cae2583c0da417574af94275d01d0478dfa2732dbb8cb920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a4286582cd657dedd6c29e82a95dff0e7d66b6fc8ed86a541ade5a795d93dfc4f441f69dc30824137ca9dfdf2ab857a1023100deee192e122ca9b60e3723b6fb50a18311b96bcfae33540c408bd56831cbe293146b9d252ac22b00a12100d1ec0f45d90302047c435bb5006630640230150e79c69ac844e1a5c299fc1be340dd8fe8ad3f9e66d451891bb8d436bd478bb730406ce9031da4860c54bcefe13e16023007e8cbf61e089d722b30fc6b6c0d9b8f1968ad9dd64430b3659a9a64b5e09cf6d8eeb13e2099e64784ea6a1d6da94b670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304a292a86f83701c18c392b4d0454848720d94dbe4b0eeb1a72fbb15092bcd181d947d4bef242c567e2382805205bfe14023100f777ab847d3d29fbe280347c465e940aa0cbd5e6ec2b7b9587d6e7950eaf0ba826ca2cd3424e852d7758d4ee148aed320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ab28caca29f69f1058d8c6ee608510c9b91f6d7dd533aef98609e958b5b6b848e475e5c7f51b350eacc92c34d18216c0230156725ee69cdbc6463dd80af5e2b9c3a7517f894042609bcea1e8b15f3f6ee09842bb4281f6fb7e9cfe62a3cada011670302047c435bb50067306502304b6453ac80103e6b168176b406a5d7b41be0af43d93e43362b38a569f7a695b369c61ddef90a956e5ea97e20b688bbae023100d7f9bf9904ba1449424f75913422c5bd865c3f03c71853c1f55dc2c768e34f5539deb5fe0121e2a781a17ee0b9fb7fef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230054f3b4d4fd0a2d77519bcb102ae7089ba9958084c843546648eb07abe0fae9ffc708001ed42afb6abd7e75f34c7d85e02302b1a420b7a1041c0655b58c8bb8b72de778c065f8463c5ad23c0540b09da061c301e044a336189d674f7188b0bda10540302047c435bb500683066023100d770d4a43741e14102fd5103cfd198e7585f46295b44371223e97ed19c3bdee15729ce6bf5f9d3db6b0bce53282be365023100f094d7d0455e0065e2ae14c3568ff2dc706c00b70bc22fbfe74edeb64cbbd4f59a39685291fbc10fbc2248957e894dfb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008593fa969e97e1feb693863c483a385c9d140a16afa1806d7d59051e00a1a6b9ab80f51d75d6904f227bb47eaff04828023100e2d18c192e41cad09d4a2943cde37aee3650862a548e532e8d02e327e1898c395b367c00f8fad1f521ccc6d414d929b80302047c435bb500673065023034b69e28eec4ecd9e66601c1707fcdbaff96370f6f050a7743be608c1c1511230c2745bc851917c1c6c4d825bbd2dfb0023100a0b74aee772f7eed67545c1c5670bfb2e900d60c0b98d97b069c46cdb5234a71412d4a16b592d0a8b79f797e9fe00f700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230540c308c750a14c74911df0aa36a89a783b2d2e10638d96c01a2838cca5cb3e688581680a682a5176536d2fc311b839e023100957c07d40b5d551a4a1a788118060e1bc5058126b522dc84f8ba454a34d09e26e2a410640b775f8f9d3696f2ad7dae050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300f80e5b5ff9b9aed8081482017c86db1bf25060f81a208e3df139358ce81a25118f8f3faafe352adb6be22901bebcc9d02303f7093a8561cae7294a42b71dcdc53239aef4daf094c044227ed015820186f4ceb2e9d324de1bd0cb1ad7865c7bf64a40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023058f690977606ca460a47a921a0a8fedc64a4152590c53c73b4ba0a1dea410c32c414896df332f037c63f473f598ee77d02303d5aebeee62aae8d06525586ad5722351d919a0d391790580ab9581c247e9e552826b9abb6870347b0cbe3acecfd7f100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310092c9b24b097a907940274b271b595068ecb3e7b3da973248724a241a9fece3a08fddc36c42c8efb1d48c4dec47787e2f023100d59737072c3f0adcf2585fbafd4416f23f10076e39e511b3cb93412aa3cd63a0cb812836e3712bd2b85794115b4486840302047c435bb5006730650231008091b73064de53df08448a19f0857891e42530e0ac85c69d64b1008ffc83341b201a7e46f7af97de74a4120d2d29ef170230609191eda658e31ccd018d31d179dfcb332962be1347ddd5ba1abab1c7441fda2b1a71d0f3e59db7194652e7ab898e790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f4b42a66b07fcc813222e7163ab1adb78bd5a1c46c98857b3ab4e5e8c2197727c34fa2b55f5a9ac95bef7fc2b4001274023018d78f80720fe7a9c3c84babe8131e1a14eebde2f5a5cc0b90836e998bcfc2e6eea359e51541b9f9fc16e1895ab819520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304bcb104272c0c5b249af68b81d929df0ea3813db8f51251c733e05fe32a8eefae4455d048ee02358c5222fac63d5c57f023019df515368480c54147fc22a694799f607945ab2e36a7ae7dda812e4966561665c4d63de683a036e630e73b5aec031470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304e169cf04efc2474629369c7a8306f7ab740eed9547b83cda3c1d9a34f90b4fe3ea6b21637358282ac61415c7635cd0d023100a36046418f9f14106b76a804e60737e064ca9df2ebbbaac0c70a9c6ee16de57c8489f5792984dc1d6f461135467fd5790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b832ec6c7a280d4e7d7181a650af3d1e0e0be334d260a2822fcea1ea55e995041a0a1619cedbc690e41db60e7d59942802302e227d600337dac385fa1d7c3d08695675f64c41f916566fef90408ed337691e1785241bb475b711ff606728e74ec3cd0302047c435bb5006730650231008d705c2799fb566d1c72af3ce91f6972339385ae28e03c410c5e64a1f0ac9030b4ae985d370b86736ce6a95a9803140302306e20c4e8b4f682af2f86f3fd780a34f82aa5bbc8b0e85ece758d2b82b0fa4548c6dd3fe07442e0737d9bdf3921789ae90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c86d17cfe00921023cc9bc57ca76bcba4dd6e36723e1df47f2779dabd2625924b4731a50c9b96902cfb577b09d24cbc702301db236f918f37f7b11f36ebf34d09d517836f97b30408cecd302e9817fe82d228d290bab7c793434f240fa898322dbca0302047c435bb500673065023100d230bbaa982f9526056c38f1f90a133a3bc6e5efc9eb60a93133b4fb84dba5052101e025f0b597d6d2b3ee05fa3c9ded023060388938d5825e44320e9d0886e56fb869220233f2e9f0c69407cbb2e54c16d4a902e4d43eabe14c1ca69fb6773b5bb30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ad04d7dffb92298ca85992cd57a4ae992d2425e3442a1de0540e803c3c6d35879a977458368cc412fe14396b087d8c7802302e2b5878fcbbd91522524a517293054aa4a2049ece6e40d8d3f9bf2ec543513cd982b0c1e82635c79b743616069f68590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009c7f217ecf8753020137a73c96290e0cc5b1384a65bb4475739972f73f008782ce16842177cffc42b8758492960554b60230661dc06f4b2a8fd7386d3dd8407143f9e17438e8f4dc04e9b150045acdf495fb9436ae589d525045e05493f0c4fb3dc20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230249045203f40e1b710852089542092b8b3dc78226b77e6a6949a6d7d1c1abe16c8c359af1acd0530545a495fffa12dc4023100d9941daf191e910fa23d5eb073f6cf42f19093ebaa2664b03a08b5cafd558b7a34ed8bd0bf55809e6631ff1ced50d02b0302047c435bb5006630640230043a5db360d8f477bf4f6eb95fe56b0896cb2e291f6ca4ea54be4fe7074a7fd78486155cc283d3c24b4143309ab4e7990230054d50b1fd8784c8f6eedd600f6085e857647555327d93021d6d21f5e56b8a90c959853cfc40e7eabaad4ec4ac09c0620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bfe3a94c55c041e3779207117216b1d1eb6cd9f5ae14f1907798c27d6e12283a15e0d05db60a60529c17c7930d9ce4dc02307c7e01f1e54ea6d4691937b43a56d62896aae23f552811673c0213d0a91daaa90c16a2cef742e611c7c2ab32d52528f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c2ee607442b7de047e149d11414300c522b1e5a58f13e8a09894af1903c93a0f37a17902efda8f7a264e04fb50eb5a86023100cae7191adf49c1e9511fde52cb878e312815f0ae65740c46777d732b49d6d44d449a828ff2a3aa5f7811e805f82f83300302047c435bb5006730650231008130c42f49fb1bb8d07a850103f9c3acbf617811f82e8d49d0497b19e486c2712e5b0dc302fb6a15b49524177251490b023021b9016d94dbe0ddc7bc272b4864cf504dfddb99654860703daf03405fb3c583a1a03c0d553996387ad00ee3e08298ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023013b6a4e22b89623c5ea29dbd49f55717ae1620ec18f13d0c47ef99706a7bdb56581e1726ec09030bf8aedcf4294c6264023100b4266725bcfda1b4da0bf44047ba30ed37e3767c387bfbb951ecbbbbcbef2ac23c17fd402628bef951966003271c48f50302047c435bb5006730650230031fe9e4044fbbeddf9df3c87ca8c2e69c43b62f78488bb73b6da1c8b79c60b11b92a0b903abe15d0facec06dbfdd5e4023100fb51a20e9e353fc3a805765119460aa7e56c1a06e27e89184e7eaba5b140c2101454533e86ea06a5b1f3e19d87fb5c5d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100badb8e1959ce86fe3c0f54b62445b08992ec96fe09d0119fa78e320099e22108adf9ebdd0c4e5931374ceccbafae479b023100b00aa2e55f32e72ef7449e4bbe2db4ac304e7ac0ae07828e2d3a15465fb0394165fd8924c3e7fb48ec6f37cc220da19a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303bb95b799191d126500afbe7a77729c09785024e567666ed76ebaacf3308bce9cdcd200c3ee39644bd631cfcc6e1a13a02310085ae19c2e3ae3567ddcc31db48ba673adcf54ffaba3bcae97563e3080df8cf8eceff0fbd6c62e8e79b6cbfa968c5c8ee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303b494bdd017060c7b6177ed0119be7909957026fd99386d9b7bbe135f1eef49f0e4aab3e9b883cefcb3f47c4e51bf823023100e5acd193bd3eee1a2cccbacdfa70ec564a1ef00565fc4688d1c240fe9aa96aabf174004788e2b9124c58a3024530fd140302047c435bb500683066023100fd6f678392b12383cf16f9e57d225e9843de8c86fb822d2c287c6b665d28ada2196a7f9a3245cfa2b64ef8bbbe23bd760231009dbe25b60038f0b5a90ccaf8eb84278945e7035a315d129faa18358ef337d9f2555201297681ef041021ec8573e77c1a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100df615546c751d56f3933fbaefcae64fbfda37a6ea845562ef3725cea6d31bac145463027dbaf367c847cbdd2162d2ae1023100e483c2249fe4506b8698a658fbc4b82544ac31037222fe0c477d9ec5d905f285235413a2b2248b03650cd561c20ea07a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023051799a5ef1638cf52b0627c8be5d1ae57735cff2ea486db3384c9b63dd2b504668456d7d1702151948f417716e02bd70023100a8306a3e55c66955a6d78bb143757bfe22de87554d07b8a2d4732ddb78f0576c95eed31b438ee49ea5df2f37dae564d10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d7343bcd32a0a5818984c0400aaa8e50c0edb6abc95e9994bc866820cf56e2658001b5ce2835dbbc97b8e3c68bcd7880023100ec4e1e9acaab801ad1a6fa0c5b2dec28b0e0f41f7af3c3d4528135758e0eb6dc42a6fea55b89c6f61cc5ebf8799bd9c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302e73a415cff1fe41ac16eb5d737c0194b7ccf71eccb27a4aacba594828c605e92c7aea88f1c88192f960dd251239759302307845bf584d29983e93bd35639cc3ed1ebd7f778df642f25f496dd0dc42345dd3e746ac855d6da5817bb525552dc5ad000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e1edf7f6ec23c254cb27bee5e8d0dbfdefe2cb41ff95b3ed78663f37915b564090f1f4ede6914f82b58df592b2e66def0230029e93b2fa5c80504284e57011e437a16cb7485ade788cd37db3ae675108efd19dbc15b934b0d1bd32cd025f4e5cdf130302047c435bb500673065023100a1361991031a0cd4db17d583f1cb83033e4a95621144d56831e55a5758e3177c5200e9f21403cee43bd834d50a50889002306d3420fdce603b5930f51cec0869246a149bbca421ec6515767488392aa79a993a60b1b1358ae50c88ae47cf6c113c370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cf0c4494f5e97c5fc9c2e725a36c53209e370d3871241f6e273e3ab89a8199468661f2cf971886f8353d77e0cc5ca776023031ac7c05687699584249010a5c094e63c3e3013b3d0a00f951c00ddb12c44f4479c2ec77fb24ac5d15536523107676ec0302047c435bb500673065023100a3cf863420956234825b5c333fb69e3170cf55d08a87bbc8f40f935d3749e011680ca8044812bbef4853c6ed40c004ee0230431430b72b7ee65caff10232735855e261cde8a252d218484a44e96156e4b625282bd7eaeb5f6ba625f5a45b999419390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310080ac1327df9ae3401718ecd5b1c9154c9bfa911a71cdedfcc2be88e17127f02ec4ed3933a5473b4e3f5573becacc341c023100901e6cb0388beca94219c48e8f317c0765d775c5e2a650cc0a0189b63650224d9b3dda823817bd0fc9a85313bb7a8a5e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009eb627e0c3fc6bca4732855da354c41c0eb0a6d840d37cfc2f88fa31ece9d657d90ac21c2dd0a3cd9eda074aae3c086e023100e736916b64a86eae09126b5186b09a4edfeb6c046994ff6166d3fb8c522780d241a3f2a300f7e70763d77720a418acf30302047c435bb500683066023100e42eef6c7a5d5c14613a21b5e465cbadda08653b3904c7dabb7279b27d8e9c9b1ebf57b00812d8631e686156d5b2a812023100e3cb3c710b0d1e32d93b5089d589a1fcec2601d2152fb06ec03f2994d537d6a7c64f8d8ad48bf81bf639f93ab91b91550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305df3e5cacb0db4d85b0520e2b6d0e5bd46e7a98dca5db2082c52dc4df745e9bf07c1c7825ea0df6a9adeefbc16dd5ae50230793d80eb2ad68270e8ec32da9b4cc8b2a89fba7a5a7f0abcd61910f65fe4cd6d393c436b5989af306981d35ccb7482230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d4f8d62f2dead36905c5c6e0d71acf140a44a91ab540d0ff4ca8d006519a44a0661dc1b51fa841420e278a89a9e86d5c0230617eb86e26d408dfbb7f0fe8436521dcf14bc590eeeb968b8703d1e1ab7be644422ab072759fdc4007b275bdc6b8d5f70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bdba5273f9231a4fd457cf3ed59f12806b6638b796613b4891224ae3136893ca74957bc8a54e6911a077e2fa74ac30ce023100b6cd7010bff3bc08519d6670e3f8db87899aad9c16ab111e42860dd5765035f2b77d8cb1342d0c089c4609819582d6690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fa23d637ebd329579b21c2b51b53af1e76a8070341107d85340a48d3ba4512db4c0bcf210f38c68a302bff9af36a5fa2023100ea17832d9ee7a83b27d579fc0233792544417fd0666418be3a91f38a9f994461c4a0bf1f95ba32c5dc55540be37bd63d0302047c435bb50067306502304225f0ff00e00775cef76cd6e8b7df643fde6b5928d24835ab0ecd0dcc75a9e6f004acfc5f57a1785899b1fe46596570023100ff73417b0799048bde86ba69fc88bcf8dc3a185553ef2d2c9992a9af548d9b5eb94cccc603f2a8416fa52b7ea5f18ab20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100896be8184261d3a38c22f7548a4232f5270da240a9fdb36c1e12907d854a25461ec30e6791aa48d3b56269ceb434693d0231008f8273fbde8256a15d5b6ee3c259ca1ac0b1fc2ddf74aefff07064c640d9ef2352cefd8cdc6f846c089b6793c202b9700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023074c658daf1220c7b4ca3419c18e224a66e2879fbe3f5b76152687a8f16106ddb65827e44f3c7ab399a9a0c4ce3b98336023100994d37cbe3393ac1b9995e8fb5ad81dbed6ba44b40587cc44a840cb054986dd1891a097c186c2924537ce75928a3a08b0302047c435bb50067306502310080dcd266a7ff38a42b32ece5c4cbff6eb12dff3cabcce03c303afd2472bedcc0553257ceb1e459c9304d8f8b3f1e404002306fa8d72402f63bdda105afaf8fbe6ba96b337413bf81d48075174ed2659f0c0c24e421b6277b88880ecfd9e5658c4b950302047c435bb500683066023100c69ba1febb6d9794618b90e4cf115e4eee6325c589874a9ee61be9e35ef6d550a46fe4a0e1ed5dcafe83499fa819affb023100f24d557a1975a02cabaad1c502517eff97b1b13f84f7bfd12ff55e1a29af8e9252cb064a4308332d8d140ff7a23592280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1efc97997b3a821d945f32623e5fa826c8e71b7302b088feba6fc5605d6318135b03a3c9504247ca60a895d7435f6d9023100953063a568c3b2c55a34d8b3d5507f0d6032ad82089035fe1d27ab51e98138a990ece94aba9a3e3441bb8eda7f09c06c0302047c435bb500683066023100f769b4d000a64709289e3816ebe7af2d157ca2607286ab11a13374fd6b69208ee492a059b0f82097c8a0b7507383bf64023100d1537856481411b8ac70564ab2a5f4456793b712221f26b335649d048bd4570662aa69b1e647525c832d398fcabc41f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ec9dde5c9cb159beb5168f6ec2a4fdcdf36d60a09ab5073aef68c75a312ef6ec6a9b20dd3129280e924a370fca1848c4023100f9db7b23bcbe50c616f40ab3b2fe688caac92c07b13d1c020b6782d8330994c44e69d0938d79df0e8abc0d4368d2e1c50302047c435bb50067306502301a072cd268317d46c61a548e9e0b0dcf552011980ade61d725b403f90ab229dddc0306feebebe38893c2f54a20f9a317023100f10560181e9410e9408cfdb1d42555e081202ee06294bd1b8bb9c48918ee9371bf5491a2498f6020dd482b0588a0902b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1de455702057e0d0ec2764f8d2a68a62af60afecabda2b286fdfcbff12713b084cc40a62ba2c558615b63a59572ba08023100852ddf89ce98eba63b16f1918a85a0f40d4e0c9804a5936582a871a7befd725af4368fdb0d46315c681fe06c44ac77580302047c435bb50067306502303cfac52eebadae70f2cba9ff6ebad73ccbbbcefc4ad411b2f3103a3357463e7cea6d657fdf47b78b02e3b68d554ee69802310096cb81d5c5c1fed60fbc7cece914c62610ec9d49280628df5f5883b0846a65cadbf96296181ebab0ffe40fee8d72e0d00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023008548a081064584b6f54834d9b3523cfb3c08d9ca00dbee4e5710ad086ce62c4bb609238dccece4695e471443acfeb6102305553c9aac9d9f3dea01f8717541effa532710382dd120d3028964493dc745962ced437bc137ece444ff9dcb8888bb9b30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307426d514f537f73f200ebddb53e1f73c7a33300f05cd94585d82022d10a23b87376d0ce843f8dd0b8724a2037f519b3302305c2c5d121408310eba50e80f6e964b5a87fddedd6282cb48c5a279f5c25273e314753e7dc9a7f4b3334d0b5ed6849f8e0302047c435bb500673065023074545ae354dbff9065c9844ac018a3603c9e46cdcbe1749701d0248332f4c47d7098df8d29b0ff3e4e2f20dd3b527eb40231009a1d395f908154f99ce29b84a7480db43f73f3d38e27db38bca37c55d3c870d93d276f84bf5d16026da8245c014fcbed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100961c19c5a9b4e58f0167491e8a7910f9a2dc375e37d8a8aa896764230e6bf26d90c136c8acf5113b51fe66ad28cdfa7a02304e94bbd1974695c840b8cf979de8e86c22418dcde6dc8a43860f93cd2705beab4dce03a6a5f942be938dce15a908b8000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009354b7e9f2688911a01ad32de8e426558d74062088b88eaae6f5a466df04d15a3cc3d3f0c815019524b0a994eb502b32023100f7d82bc94075f8e09215ce0eed70c3879029217d189452d01c5ff10e8846cd9b0ef3e6cc6b4e7dfc33509dc295e5b7670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305bc64cb32b68e91c131437050e0781f0598e8ebb947f99adaabdb3bbdc33e74256c8f31558729931123029b352b04779023100ac7ecee10d28fe29d5e233e8985d44ea0b770758e8cba74e404f4a4473e961151c0f28bb15c70877028b1b6d25aa1aa40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230022c95f03b3b058f07af8799b291ed98c19a79461d9e2d1f3fb03d908db0f70612029f9c5fc88582cc3135a99c6c3b99023100eaa1c8b7a3caf6dadb20108e1eb1877fc15d180e45cc2a67e267d942c681dc296ebb7d441be6eb686f4112aa0be4ad7a0302047c435bb500673065023100a8a8881a3808921b423d0d0dd66190ca2450430eac33933067c904ee8d107d7b6062948a48333190dfb96678b89f24a502302e3456d98302bc82f9e025873c85fa1d9335e5a89b3ab925d9dcc2cbd2357c6b864b1dd97a4078dff72a93266c10e6550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230773225e7d574084c4ac55201a886cfd5aac650a02fa3a3675e576f9440da4e1630f0e47d041b2c286b6a67b1582c8924023030334699a0e780dca95a59f9e7f661296c0f4520aed4ac5c2dc9705b0a16d30f062e5f6fa91ece1ec935026be809c36c0302047c435bb500673065023038fb5a40029b6d24e477f6a4aa57c7d9ba8ba88d9381c03d68aea0a16891a6ed262bb949dbfd49cb1e5e27410c82d1c302310080ff8fa5b369a60784e578f11dea190e4ca235d65027ef161353e40e351e911c77634ff769e2d8f23f99635bd5fd1f760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a135a89e9aefb8ad095707e0c21691eea8f2f9eb558f65894e09b33ce88f4fc7dcf4249b2335b44b13dd6090e6b2bea1023048c37394d1ea7cb6e9e27326fa3ae2197832e04026f914053ff069ae6792d75a49d1cbe6871976a206c1be2288f77d670302047c435bb500673065023100ccc986caf920d17fc197eba5e62afa5363e8ae570f55bbca05323d2aa7af988a434dffd70436cc3b603ecc2efb8b4bce023009fae856787a3db74491c3f33460c9ce3d5876ad3cf761dc45a5717b91cb182c2e0b535bf2b785f7d886c296c83b29240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023042a15522e731551ee16f9439ebd54997c8f17c7aaa3d27c3bae129083c36259161b7af241fa9a4e8c48721cd344ba06f02306bf0812edd2548cbc723dc2dc632548e2ec70efa41aba5487697a9f07694650c9894a744ffab575935a16a8f911a11360302047c435bb50067306502307ba3d9044dbeaf11db7e1bf22af2a100d9b7990bab82fb7e85f3b68d83264125c3bcbc633adef20acb29b929305e8ae3023100dbdc4ea4a733e811ed2128962b6e13ef8c8552dd047dd24c094083896812a39845133aa01484f0d5213816b59137e84e0302047c435bb50067306502303934ffcdd20776395129b574e1193c7dba1218dfd043e26c07b25d5f5b82eb087ac82a37374f29bccc2be068904519470231009159e34775140d3582cf685c973262233cfb572ef24c2d68145bc6da3a303610b44d3bd00c5d1772b0df68a711774ff40302047c435bb500683066023100f8f2eaa95390aabce1b4d48c93f2a8633b5042d860f30d19bcc76cdb804074e678ac2af417eb4c9df4246541369c94a5023100d29c2256dedda11e8adbb6c31e1d33f746aeaeffda4507b4a52496beef489e60955d9cace225c0670c5da03ea97b4e740302047c435bb5006730650231008686cc2f21667251aea9d94263754915fd677f20717c972454f64d4a83b84e507cc2159b1866054f8a8b2d8357e84815023041f50dbce843ee258b1c2073c6112d8c44c66a98938911b1c26e5b67d29845b3fb3711339489f0d851c476b2869a252a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023068341c0f2c59d3e9dd37b3f4c0ec86061fb9773591877a98427bd74e26f77606b179ce3d24c8f9b943b493b27304663c02305985e3b98d550106e4b3575ca66a78a057caeeaa94e8dc782c62b15f6ff8060440f180b04f15e31435b80d7a83b6ee7b0302047c435bb5006630640230700a593fc5fb352d475e4faa47ca6d8a1adcaa395eaf63f222959c3e09459ef0863c3a9f65d3ea0b510b5b277d2c586202306710a2b3d1c874ddd54387c5b69082c636b023ba313654790f10812d9e2f84fb8c833657b867f5b47031f24d36d86df00302047c435bb500673065023100d38bbc1f0241e06280679c61bae13c60a92a258622a5e65e73f1cb1b376e0a2ac03c2c375dfaeaa1a11ec49ddf2b0370023020b48f364bb54b287f344676547c9531fa3b913e9b70f8523f03b2903d619348e4a85e199846dd78d0bd9c4a5f65d73f0302047c435bb500683066023100a0f5967465f4b2bb444b455811a697d096576deac046035588dcd7a88e87d62080e262b6790d54ae9b680bbbfe301c99023100a811948c4bd2bc69a1fb23eebde27e7ea16927dac4a2028173a4db62da5f5c2f008c44a8cbffc7d7a54dc586b5bce91d0302047c435bb50067306502302cd3870a0c33f22c77214d2a1a428c81064fd24d509e509fca526913a1981e6e933b155c8b0e3efd3b25313440ca97240231009f70f3fb17620cd4f0ff2352e7f03f5cd848ab914ff87237c49e3de47f10601c77e99c360730c217989f52db453e65200302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302469d7886b097f6e6f5174a09e7dc0b2d18ed67343d1e52b3c7b3e1239a84a6f51b6a2a7243316d85f4592bb955f75990230117b93999fe004b6f88d93bc83b961534e8040c7d4c29759b37f04a9e26adedde157cd92b94b6f9272e9ce10319c69600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304733ad406587ddb64f73d8bf0ab4697af6652ce707065cb8cf6f69a3acbcc01dd7de5cce85b95419bc6ba40e425bb4db0231009b7bab9a561c7feadfc3859afbaa68234d6493017f4448bc4560eb172610dfaf896c53472ea5aa8fba80f513e1fd0f1a0302047c435bb50067306502301f3e1202af45bda9535efd20e98045af698e77a9b55d561f609444d7318755fc43d97e1055160dd80a49245d1db07750023100b0173830966dd81c15c0eedee60230bb1d36f4012bf4f1ba9bab1300549e0b1a8213a6393266d99b46b09834463df32e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ea2d2632d299a53c18e085b3988f4ed5e78686f49d8741607d0d2045d0703b67be6652ae9a5b8edba744cd678603b3a002305a740ba4b5ed822aa7dc13e95ae0e252d2c23c092570dd3638dc0754d2dea1a9682a9c6268f52f0e2229464b7a9d26ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fc30725885db6c77e3c613dce925b2893bb5a8af79098b52fced62297704389baab95207c10ba7836dc5ee5e3717b6c70231008987a3f7bc147209d2cdb73c65464054ef16da9b9af40d9b2fea566992d7f2c494ca95dc1ad06c31ab8a9c26488940550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d34ded06a6f4b4a05840e91d89a50da5cd640e9ee9715993d065961b555d1c63206823c997cf4a4b8fb97216b23a77cb02303bdc5e9ed366cb881ec81a02deea0c2202a03df6a8d80598eb9bfa3f3aa45ab62b5451ae08bf3f8aedb6e7541af0f9a70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100edb3486b297f6d5ccd4ef71b512ca44e039e3b39f71056b5ff36153ed8c449e61d5ac06d45616edd6131682bb67ecd170230540e411110553e8c452ac9cd2066ba6857fe21e419df390b327d7e0dfaa4a30235a8df03145bfbca4cb1c547acc0010f0302047c435bb500683066023100a19f3eb1692a9b1778d25332bb3569f05b1da2b4365f97fa598c428c2463fb136621bd874270fe720de5c45a8dae0a86023100f106ad3b314c5956a168119d7caa2d0c056220debb97aeadebda237143b1c7e81c77f3512d19c99ef017e60e07731f800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008985f01c1c643acd084211e376efa04bba9ed2db4a4ef1c057ef943523d6ff72f92c81a97b7cb89b2edadca6b4454a890231009182aa045c198f358e2bb7f97adf543d5206b9968024408ce8f9efc4643644c7b9357000c3725ed2f23d3dc4f6c751330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307360c575b049f9b8274de698e6d2eeffcaeb34b9a7003e23572ec10534e9559413762b0b91be7d48c8cf7a3df6f0fc21023100ffa253a9081f0e7ca21bab42f53c2b044161448bcedf24b0376999d7b0fd8c3ffd3f0bde924786533a70cfa28056e7210302047c435bb5006830660231009731c5ada8ae7aff4d91f6ceb0032211b302e82ffeb157922c6c97ac5ee3dbef17ad2abe014ce08ecf84831db95f37bb023100d6ba49934192b16e35fb52405e18f2fa00ed816761ece562c16a4e92b95376032fbb2dd93e1e176b4b68b91f2c2fd1670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023043a4bdb71e4874797b75b83a7cad2486f7dda237a8d64096bba4284c692d66cada901ba12632b21864832648ac23e81e02306845a61d4dc89aefae28f1b0b6d72600f657d01083f4512930a78b0e67193d670b7232d35257db36ddc349d413277b240302047c435bb500673065023100b758503468ebcd8c7830e9b4e90b6361e1cb01835e2aef6a909d17deca943594cf1bd5bbd28866bf67ffa6cb23c9423402300df7686e9b35750f3e3ac4e21af8dba902a5c9f528ddd0b0339cea34d387ca117089256cd4db0c4d908d867454712bd40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304acaa9e68cca1608575961be4f6850634c1a6a44f4aac93c131f4a40a87c4ef5b416108e631e78b3726a7d37735d0863023100a1b5cfb6347336a306c080904bfba61792d0f6c762b614e1fb37cbd7b7847fee6501f19fb03ad494a69709de02af87010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a2e7177f2dd61a0eb6b63128f3e852fc4bd7204763cac8e6942b4e1615f7b823e7f0b04219f8e951527c9966c864486402302b9a9ffbb6785b3a2c7ba5a7817dc3d5615dc6c1986c84cde2f2d2a1a885be3961173a798beac07171a67c99a1a948770302047c435bb500683066023100a5de06d8f93cd5861c1827743186edaba12723e57acf0ad8c375a3b7c0ea146e2fec9dc4f65c419b10bd7d4682f3aa1a023100a08f9c015e6e8d2ea49dfc7aad845e46eceeb5154f60909ea395962e330b1b86e3ac91f6779743541ab20783b6da698d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008eda40bb06a7eb226aeea0f850cfe1bcca6bbc8985bf72b117ac544b87d1c668a7f289f92357d04f331e7f432e0e880b02306449bcd22575089f2da4f77bbafa22237a99b69b8d1d4e0e7d832e1e50fbf39ff3bb9d9dd28a3a480f9f3b28ec45c1f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a8da4dee5f0d978eadf4270bd6cb8576eea183226117f073b7cdc7b2a2133adcbabaf144a888f8d96345823f1da6845902306e1743ff19c153538318f477fa7c9a24e8ea47040e0b944f8bc0b039b06763dab106a86d1ab1e57dfb692e40f53412f10302047c435bb500683066023100da6c97521cad86a214dae85ac4a954370a1cbc5eaf547fa0ee09e639c632b12743eaa20641a1599672e9560730a796a3023100fd83120791f7db1c6f044ec07ad15a86eb5f3e8c3625260d0a1cd398cd2b9b9a9dc0e704ffd4a7b5edd3fbc164eae0210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300896c9df28301af4b548349fd2dd21faf9f5bf0c40e184d61c4f166cf3ff69f9879cc69694d87dc1eaedc5591542c67402301ac2c03c5104ac2c83aec1879640e24fde090d99065fd5971a69a0b5112a67cc14a6df786481759303569530be96fb970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300af72f1684eba63391e8e0a53b3f86832e044caf63201207bd0301dc3e399de7b7f6a1a919384714482ce751457fb376023100f3c23dac4885f0ae89b27bd3e271bf12a89e60886187a493342c75fbe62e13b6364239207b5e78a9c1e4f778979dacb30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301d9208b7793441e2d22372157ebb4339de8bcd2a9e0ae5644dcd9e5c6ebacbb8972fa0e47d0a12b433ad530c7f3149600230526950e23b7c478d8637a30b1e14e45340b34533e6631ed9d1e69eb92597a2f23f2e1350d07a143805cfee9cb31555300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307ac90b138009b0eb5521aea08786c7ec8a33f011faadc24bd2817aa0e2df39cf05b6d9b7991ef371479aa19b82b41813023100fb827c762100f996e3fa31f1e3808ea648e868cf69aa05ceb0a3a7b6e3b34e8e7a0effe608643be17117120b1198cb730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c4052e7db1c991c32ff8de8fb392601c698fdaf5c7338ebc100385da7e28990cd435abab6ba02a6973c20af6cbf4e3b9023100afba6e695e8a74d004d0f3ce123eb6474448c78dbcada2188a21ddb1652c96f1cb9731202935dbf0e272bc86a665b1140302047c435bb50067306502310080a7fcfbc96f35fea4ed4d091090619ce128fe5e4983beb9010cdc2e7209612c13455f4afe5269d427f537efa93c4dd502301f501fca5698baea881b5958e0993ae657f09550c23133d173c81bd5a37ac35ab5ab08da3c74b1d1162359d3fc77a60a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a3d88d46a8db2504c4751afd1f79602a29460dda61f9c7f5bd399e8dcce250adb83067c6557d6dfa9269f7efb0be4d6f02303587305ff027ea36260d566160c24704a40f6b682540424e790b43e252c647ea06148d1dc7b6ba4ba962da7b7c6f89ee0302047c435bb500673065023068860e3fc3312176c633d8a437e660bc50f696e670503a9f19ee5d093f75aedc9dbe27ff69c0e77c67499122033c1073023100c5a6a62e4e93f0348b51a154f37ea9ffbb5c8f5a4ebf1ecde062e1470e3ff8c6042636cc09f508ef8bba4c6a3b2db0e50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bfc4a842c56024314a3e82511432366dc9e8fd91ac0b6b66b1c33b1c6b69964752241e32e39fa3d149dae210115610d8023100afe35096b3b644e86f89fdfea38807664cf69f8d74565a949b1e8a6bb39d85d5071cc5875a4b17de84ce558089fd29be0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305e9e09564670c9125c8d753af8b2e81aa88d556d6f0f1c19328c3960f8a76db8ea22129ef44ee341dca147bd1ed44d7a0230158eb8ed69cae064b3696e9250dfe8d61fdf013ae9c4c1f89510d274f3ed3a3641ac44402a6a7728adf4c5bc27e230810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100859d338d2f392afd62069f85149abad14783c02e95f337bb3708ac9b96742eebda4bb8f05fe5259835972d777492c916023100b83f9594b193efdd7de904092a3825af9c00a80e881203009f3dc166beb03f9b627259d60fbcf9ef3b57ef29cabd40880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230632912fc90a074d0289fbd19d0f85593c0e68b543cf971815ea8a5b90d5516bd6813a53f3987fd6a23d39a4cf271a28e02305e203fb378c64aba83e31d53449f90eb37652202109b807c74f89fe8c3b938ab75096fd2b44c09c25828b7a6d2ae141f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e557518a53331f4cee901a3ed2d15a693c993352ef962ee8549620c16d7f09b61218c7f2273327a23fa3002dab1402e102302e12bfe682307ebc40b2e157ee0550f6a958eb0dec868b094026aab6ce38e3316f60eb65cd6b2cb41cda80b6c04f2ce60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100efc24842a87bc5ea4612a334df97804a7856e7201954873bb5b83f725489ac8ee9ad9081809c2e7774beba2331f309e90230100b0cbb12259b127fff1d4a023fd5cf9ce1d96fb8c2cbd1ad9883f12dae8ed996043b00d4a98158a6ed95a54ead82c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301bc2802b4b61d51b5183faf22aa77a81aea6876155395230da89da429dd0108226270828aa6692883000eb94b61109a4023100dceaaa79aae4fecb90f884b42c96bd64681c4317ffcb01277c9b5bd67b853d08a07ff9701d69f54b81f228f0ae70fdf80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c6aa448ac229b3cef75406379fd492407ec64ef8c4a6c42c0116e77a52484e77ec3f8d46160fa73edb6cbdeabe753cc102301f7093776e5f8d1a842ed057ea9c8266591a1c71c5cb63e5803e43fcfc8fd7ea3db3308821537e9d2c2ec3cc791c74d00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230548812b4f1685eeabe93addb53b1f3915f4cc582edb58d9e8410197d57d90acec95b95a16c10ba37e39564870dd0c495023037eef505a40a4cff76736171a33a92a23c000642927bafe0c9dae19bf1bdb9721919e015057f8772e3e0c49baf881bc00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008df15d3a1a2c2dcb5b427bda95a18f8d0ddd6fb55d3a6a742de5d3f05df394450f11439344f4c65a74664ed9f6c1d3e0023100b02c190d99ba6751e89bf43ccf65cbfbe6c856411374a0308010b71782ee04f987895c14d8e430075b9582b3d478aaa30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dcfe9cbb1fcbf873658929bfeee9387d27c340178bc1aa85dc555d72c1866f41bd0eb06785b1050c6baee9c0fb9f16a702310081758776c21bd0cad1e63b7b5f30b3f34ceabceb09199707972808618b4ba18ba99f86db51a88140350b04e8bf020eaf0302047c435bb500673065023100c8078ba80d1e4d80b1b2185829dceae04a4811036fe8ee7743d14db9571ee413f4d0d9ce2e07454e3153df5fb43c589402300fa8a59d21ede376df2c63cb519b530088b76b2c7e2aad19071a5ce36225733a5cd47cd0b26d917407d472e5d1d50fbe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230013d9ea8ccd072b6804a05cc86b64cfe30c82092701ebd3d777baf139ba94af4a79fccc3d3b339ac2404577ffb6da9900231008d783f7c81663f5a038c504567895b90f97f5cb724475b3ad571329dffb07e705fce275dc609e9f81b01ff361afa77c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230300694da5a03651d6e00ccaf53acd18c896b9441f0f227752a6d1f9af616b666f3c1be698831460f136f2a39b542d8360231008523b7079260f1c01bfa21db37bc6c2adb3c85a2cc4f007d6b19d532574b9e7f8c15e30f06d64ebc50434aa6bb5add550302047c435bb50067306502307df75e86393715566bc245335c847a6d5681caf2cb367a93c1cfb1679d413b34cf71a827aecf09f80e69ac4a9e9e4e0a023100e51eec1dae0b8d5454acd1cea0e79102549ac8bf142ed37898d2acfde26c564b7574997a2cdf3f28490e015d9793a6060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ead5060f1734fddef987a8c12ebe65913184fe2b33c8fffe1cb47904c2e7c30d74eab852f88c5c1a22300e4158418af402303a4324aa6719c7c1dd75c0b2450c977a1d2b51c88a49abe0cb9369911f8407e6038cfae345d3d8787264337b163495730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023010dc31ace007e8b3692402a9f3487dd87c6040ef43c830e11c748248118317521d0bf9f7ec5c08ed584a800c54b6b438023100b2e69964427d8e0098c2143938b6bfb08062d3b9299ac52cf665f77feea4cc51f6ebe4571f468141cbd26bca449bea0e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306415e8d6cdc9c0dfea6ec60cffcbe3f981662e88f98a6c77ebcda9d20dc85c3e6a60ec81f62be909856ca931ae1ed117023100955a4b31a94f9d49a4672fb3364f7601697c74c398e003c74b3021640d5cb3d34ff7449717806342d17ae452d03c2f1c0302047c435bb50066306402307df6e8e2dabd6c9f538e1d8aa50363fabc8bfcaae4f7f6075aa01498ca3d9f660377f2fc2eead370863b8708d153b07f02305f3debb1b9c7f1d29d3db117422602777b9601edc2545dfad820ad095c4d63983db3cd14089dbff0a17c0aaa75af7f920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008de8519bda5552824c51492cf53d63e1ff699081aecba1c88bd2f5433d1818f2ff3a3790d07d55c5ac9bf61a9af8efe602305696b008510f7606d2c83a6676d7390a40a519e3f2b2b86aae704bffb53f9f99e0ecbe2cd8774b5348256bea484d8b760302047c435bb500683066023100d4625efbdb38bda2af79ab533581d7031244c2704451655e98492904172f634d9ec757fc85ecb31743f60b79f85c6fae023100f262f53d64cb719bf3b1e0b0e32974e2b5dec94e71b3f25719f615455d59dc32b6d3b84fcee289f9adae96e01de820750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a5dccae79a370f483c49c9d2016f5904b30fcfd2a15ffbd6eba5dbeeedff1ae9ab6f7018f6e12a3f01a3362e4a22e3560230796b3dada14728a0b644a97f3822f76bf40feda2b27efab9ab7a3c40380d3299111b4b64a87419fe6dff70a5c65ecaa70302047c435bb50066306402305df74be9dd59659a4cac76bd3889fa5da52047885b6bb9adef3faab4ebf190022c4b2caa293347e88efcd2e071c344b9023034b43cb8c35ea5d47856994897a3d2b889f8f9e168ce0fa961f5eb0b6e414cedd65874a3ea15108a7d78e3ef674e41760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bdb811a47c6605594e40f0aa850109c57399bc407f9f3f676c00b9e3841e309afd9c628b3e979333d09333e3c33784de023010d157273da16a5ab5b12c6fcedee6512fdcddc0f9e97d6c8026a3ec56e4774e8b0677600cb9a05e519acef7596efe1a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303749eb32657bda1761785be40f737f1e231b29f4a83b16693ad2529ead64b40a89b97bf145e5517f4a2233bdc50bbea202303caf7c73d9d83374f5e5a58b033494f20eefe4e5c1aea3e234e9cfba3a8e9f4c217008f3be408a95f9e83582d8a0a7e30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c9bbb01fb82d648501fc00ee9bee298e2bd3205108fb7576798bf8b29bb5330aa3e4c0409bedec205fc9538db66d926c0230163f532d0c5d8cce859786b4c910ec3f2c8cb4043350f8e97c0d32b4a1d94def63582058868420934be8fef65a447f9c0302047c435bb50067306502305732123ea5196c64b7bbd3d359e25fb940b273bc6019a52a56efd25436c484ce3e8d492d99d90b8d99c94e356f0f8cad0231009b6e2df253b1b1d954146d7a85a729ac18f479e285afb45969d27fc97afc1bee64f77e5d78ef44ada66bedb33efcb9be0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bc212c709db405fc7155b66049b92c0d6a12ee08f06b725e8e18ab302d30ca038220747c4160a00871710b2e81a1e0030230785a8981c7dfb8492a08f7153183deb7781d483fb5fe3b377b782c7ff603bdd22e596ff788c0a03e3ea2ce13b52ac0ee0302047c435bb500673065023100e9df75f4deb1bcce5d6dd0630453cde1347eb91426b1c1417b997dd1c46aba1cbefa20d3e24e9a5496ace5f5915c5afa02301859df68b6b48036973cc580314d281d30005e54a63a6b1a45235cc883d58d4d9851652613eef184c92f99cd14a005670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100917359aacef3b957da7a23245c81e65eab44189e1ae0de7bd020847dc8c84670c714ca83bc889331ba92497780d966fc02300a9b267924ce65cb4da9cd0fe416d614c97866ad320fb67a22d154265a05ccfd5119acef88ded8125908cbe8630a5f560302047c435bb500673065023027ae5644eac792f48658f9946bc4085977501e9b39cf3a21559ddb5122ea2317f5ed0f4a0acc48350dc1980bf44ca5b6023100a07cd52f39de283744ec5c7f6062b004c0a01db9d246225f17b38ee13df8eeef35e8da3eab4943aa70c2c46e8f36c4bf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230077e84644234e396930673d592b2fdaa77ad0e691adb5ae0b9c41b8ae7df55f97dee4536208bf9c19bd19f9e18066d9f02306dc28f67d0eda4d6c80e4daf65790fc0d3124e0a245498233f523fe4bbe02fdcd1308c940fb0622c751887fab039036e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306c4f9186e5c8e2a2790891471f456a420837051d44cec750df610cdfaea762055c47ae637107033afd7ac690ea3228d402307ef337e2cee75489a16a4cd657cfbe3716a2529e832f8fd35f1535c677287051d9e68d37f60e14763bd5461bd92d58940302047c435bb500663064023018cda60064185d29f7df6f2b29482212de99b2bf274b6a52bfa8f9239b33c53a0f9b6d2c382e69b0bc2724fb89baadef02306db4a461e0053e458e407b4b2107d79e05b973a62bcbb1c7d067bd2e2eb007c9be2a14a325ff127cd56e09420ed54f7e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a82e9d2b8b40bf1954ceb488ba132758d6526685c480ad60b0621e6340957a8a86ee0ddbb30a06d460d97b818a6dbdb0023100a4a3806a222ae295c544872bba44a234a2719213715620b1e7b5e84f3fd99314d95bcf4e218a1a81ae9e9a64ca6646290302047c435bb500673065023100d32a10e2bf49e92a7e7950b1edb39e3767edebfcfb45c403532dbef084ca5d07c38451ae2abc2847f105c4a185b925c3023054ca90ea13c143f17a849a3da622ddff2807c33484a2294f4783c0dbb5c1788c71bbcaeb6c5e87e5aaedf4e4d641e0d80302047c435bb500663064023032655e3c57c8a4875d1eff9d45c41687a475d909e6e675ee536c2e1e5a6d9b6b5a5c071f2e593b0ffb43244ecfed6edc0230275ec24a9535d424791de0d8bb5e05ef4f3f0a6e13ec4de316683f010e045380681aa65a6c2759e1720b40e7fec7943b0302047c435bb50066306402307d4707a896c48c67ee3546d03c512730e4c78da0b08c6b6b97da3fca24e50d808301d0e9c938cdce3b7114d58d0ceb4302301260f8476d1dd67d634d9365b0a0959fd11662c7f7dfd80dcd5ea0108574efc3c4e1c9678a943283e6330360e837828a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302f4f12a70b5012cc43862ec0d22931151463389bd0d657dda701ba70d2d5dec7367e064f6c0c4f211d5dfdf654dbe8320230254f42379ab344feb20a0a781564a47dc52d1a32e011bc5c7721c2960227894cf1d37062fd97611948ce430637f5a2950302047c435bb50067306502303f06dfdb4240797cd05d72dbca04bfb065a12bfc0e4a8635d50de74efc4ddcc5baa84efb70954afcb02c9cd0f13c1eea023100fdeb2856d2707e6e6423a3f87acd02897fd09800d880b1e5203c98e08fac1b5fbe7592c185885832499ea73f4f6217fc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008d110025aeca00bad6921a98d268988e23d2b3d59aab6e2df868ba9a5e3af4556e86db8272725c721c1d210f6e332f02023100c4d60b2ae9ef33689d160d08954c7b275972a9b563109def744664507f4d03f69d6b224bfee4fc28321fab046023ac010302047c435bb50066306402307a2f1983936a1b39b7b265fd8a6e8010f16a13e7877c02bb539f24ef44df1846417dbb5faa705d63befd5741866717cc02302814bef9bbed92c9b33c56f22d4f0aace0d81964e62eeadd91bc8172b92ea5dd01efb0ef0ae71d3f8c5301a6ce6372b50302047c435bb500673065023055493d249c967ea1ae67172ef3f3a5e41a7b10d1e74dcfba62c899bcf4fc59c3ac85590830edea63735b3ebbb4e2498f0231008e988572c94a361048f5911f25886f962099b2c4a8ff6345be84b196bc54df9b6641865e8ab3fd179fa63ebcb2c8343c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008ca77b92b03a3ba3ee5d0be94ea1e7621e759323160a82cbd7b623794c2c948882070e9490265c010ae482e05cbc7e0e02300c6f00559d66df8d14de160098b05b42c2a9eac9a8eeb26906fb4ef2b7600f19eb2b6fda50a92c42e0da9e7002ce1e2d0302047c435bb500683066023100c5347d6653cd9ecfbec6b4dce0a3d79a2f690267366a6fce9df401664bc1431b8d0aa50088e3f7c4e03982b176d75b530231009875e8d0e36c66fec45b0029efc6b237726e8fe1e6caea272a0888d76c9b6bb12ce0a5daa5345b791fdafb61d12adced0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302df5f05d7541994a1d24df9e418d0eab6c4a8d2c91f39e57ced51bca6eaac9b7d0f62d527f941437646f72a19e5ebae2023100c48c12c7596136555b3a59fb82f657271a83286b57c1361c84d64c9303d8ca12004748f171671d6f309e64ba1495b7310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f998d16c011677118c3c37a7106ebcd1c3131881d5c7a167aa952d2482abbb02e40bcd9dbc005db7e32b414f44dd01ae02310083f65ca8faab36c1b683577c3c2664488c0083e9ff7e3d6da92413a712b6e13f5558f6bdad6979d6b2593a48c07165020302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303712d5f1f96d8d6eb73b14b7e76baa0350d6747b5c1762ccac9a6603f20f8b610efd947cb47504f22cdec356fbb45da002301503e99d7f88669ed189d2cc379d7f0fc8d2bc774b74d179fbe8b381f50c9b3197a5909e4178130646977589248bc1da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023002326d395dc5083bd796545dd7653308319d9cc1831f6011dfcec6d166d2891dd13e63d3dd514b1927341d8d4495df9e02305f38b8a82ed991a66b91a8d38b68b38f3f984ca4d1a95d2cd048e8d4fbe32467fb62385b6eb27e636c87e2b574820da40302047c435bb50066306402301b254b86ca0792c8cf95ad013687df995dd41fd94a9c45f9f8ed6811b024b92806830f5fd9a97c230305b0c0f720bb60023018886ec4abf96fa3c3d6af845db00d78a072cb4071914cd97649b694d58ab2b72638efc31b9b1881a5b074859f17bf220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008ce5865a6aaa76abaa1428d27daf1384ccf8de9599001bc74dffa6fc66b5b477c4935dba102d367d9c062ca0b3f6eb2c02306ceafaee2e74dc00a1cd480e68e2974d74b1e3e4f91e2696439a5f37c77d15f4ecacaacd3b6ad5b97ab106a722710a120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c40573dfde6677c4024a0b6a4be2125e5cb3c05bd9d64fbcb6f5e2645665dee521121b0ce2f77fa7f2e60bac36c156bd023100fe87f973e9982e1d1df9aa404ce7ef93de2089850c4e34d896044ed9c467bf23cc56ea730461df29278468109d70c94a0302047c435bb5006730650230500975ce9b318ebd572570be315b21b9a32a9a8c62f89a133676a7acba748c08d276f521feea9a79e13f5c0786f3473a023100e7ca5e96239dde83137cad0a48df7ecafb6f4b1c0fc7825e2ce09f39f894260cff44d1fcde74f2bd4bc33c434e0be8ae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100979aae41ad3ba1d31bbc7f5aa158f3969b50f8aed8c59d3d4503ff84355028cc16cf9b87f8a02f0efa04428964fa048f0230527715becac790fc02f0ec30ee8ce3e062e2ef029a235c9616c8537c96f386199dc9f111a98577ab8479cdab4439fe800302047c435bb500683066023100e7d72d037cb4b00809f8ba75687543ef8ece642796f176e5eb937e2fe82fd879f3e02d18ff9faa2bc0ca74a9e12c226c023100c1663c50de8c991225b5d25b0d60c59f18794d43ca916fd2b4a38e027f21f0db2770871ff1183c209f10e2b497904ef70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302e605f58a8a5b8cb2e25b09289ea54bc9f6882c111aee0be03d419c941b5d02d8080436704eec4b34306e1d3b13eb66f023100d72ccf38b98f978c5566791f16c2a6574a30041dff5e28741502ed6404fc0555d0fe83098e5b33d54496bc2d1af9dafb0302047c435bb500673065023044d2ab896304d2f6376d381f43fe6821e38eae7c892bddfed4c6910bb647de11aef11e455d8d38eb5a2e97d923a98355023100de3d36f180a50c34a1e04a09cb0b2938486dc85e16507c5aa822db34b7f896609eab101df26cf2cc5a955e13636513c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ef6e288dfa160ee040cd4202ab6c6bfdb830179d5e535e14fe8965afa04d9c03005104f3c881172555bf671788ebe801023020a92c7cab3272d5d236417bb2966a3f4ce73f182c57a323b06bfb36296cdb2bb04e19508de94b3af5cffc0b7f313ddc0302047c435bb50068306602310092bc0bb8feb1a397af7e8c73ad80db038739c19c9e1af4e5e56b81c289e1c6152e097526ad95b33be6e740bf096c1ec802310087537320c1b78c878c32446d9d2624a2fc043b696a111add7cdd98e375429a523570fcaef9a95a35bb817e2e07d6b8fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dccacb4a0e6f261085be6dba928c1a4bd685aaab1d1a0652e8b1b9f458d74ca3b02de6418b253935ae21eb5858a8be78023100d72e8947f7b1119ffa2b1ee0b0e06b8940f4b1574c73b3a6445f221c85b81d987a62db960a1fb64ff4eaa21c4d99d7730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023055ba5b0f30894942991cb2a96922f96d81dcd10be33325b7a0bae95a792ad93251263e43530b999d00eaafca4763bed1023100c5df8a087f4a23fb38dcac102982fc0723f97167dd8af9ebff2d20760971820535327fc36571dc1126c10d253cae552f0302047c435bb50066306402304a82e2e43b0e1df83ade3bed2f2230eafb553eb40d8e2e957006cba579482aad7d4e049712bc5487e044f166f9d47c5002305f4f34a47582b1ecf8de2a7fc744e8e29f822d0772e3a667cbf4d9a0fa4200da92751ece5322e877865b47366a683c780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302c0dba31cdf19273c3d3f1a99270e48828ce49dd282fcafc6785a393f4935600eb9d14f60dbac145777ca36a821cc985023100e035f3cc9a5cc4dca086935caf324c5647638a5dc7b1f1e923bd0d8f864b488b3c9c21d872593f31bc48f84cfb6d5e640302047c435bb50067306502301e5798fa9a3d07d034793d148e19653580ef4025e8913dead027b563897e45fcd1278975b2cfb46d09414257464fb6bf02310086320a33739d09a48a9c6553e069a7995d7c9af0f7abed2dbad3dc8d000bb7183a994e17af6a8e5d7f58c7fa0bd0535d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100984e11e9778d27ded268d81754f9259a56a932e6af54be52b61e70565fb262fee21f693ba09d18376b62ec344910803d0231008f48ac472c63a373c4a5522f7e5783a8b7b8db55c56854b685d6624526330bcdb88884c4739b66097272381bea37ba130302047c435bb500673065023074de36e8d4928f1378f357edc4b1cc041404fbf4624457731f2bfa4f759bd01589c6d7a5cd98723c79b57c21e870d56e023100e646f9eb3685faaaad6526d125da89f00e2eae9447c004af1af083ab9f48afb52ef265e795d76352faa31a2a60173f910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f2a1782bb518b6e43e667aa8ccd40ce7e2780ed3e21fc6a7a30ce1a06d9e4c6f32183016c893cf8001eb4ca845d820ca023100a15cb6671006da1f3ce4b1a549313d1f393771a6ba25d6af8e3c8611f164c9b24bd5e2f12a397e4002e203fd66086f430302047c435bb500663064023016f2cf7418753a2e767af23703a16e4f19936e5051be5e3629dc370047984dd81e314c9ba03d5aa68d9de59bcf2fffab0230191e8eac4efe23844f1bedbf6a5131900e35e5ad8972c0011abef96e307dabe53af7d8e37e664a276e3138b47936fe540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023022123d44c35f1f0a3d3e0fd02d1066b0aacae15c5cab64b6c05f3ea0ba237a7bce6c881ba6cdcd2b8b84052b565df407023100a797af579f67d98366b4f955c68789b1562a7f22774749991f1a41c2ab1e136b8cfdffe15fbca5a77bfab1e36a8875950302047c435bb500683066023100ccc1e6ec9770627d972deb6138046b213ae7c042785c0b453d78b2946206b141fdb171d4b5a1d982517926d3de88f907023100fb16ecfa0b2dc49296a0180b41c7a95710cd0949dbf5bd2ef96fe39d80c66e265b616a69cfb02683e42cca6da1f1bb740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302d49f07fd28ee4f7faacc3433bb4ee17e9d86de8a4b9e5a481218fa063ab902ae594d8b5efb5d47267181ab31cf289fa023100c4aa665b3c6b7d539876dc5e25f54a3dcb667df6ef7c6cccef3e582ee64e2069757330195d56bbb4266c9108b9fe9eb90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ba683128a4c0cdc602038fcf3f5bafbeea4c7d7ce36786dab56837f21a21c2cb2db08f1c92f44fad040d3b8317ab7d56023100ba006201cd1e43a08e31dfc084f107ffeb2f3280c1d24b0117bc6e563e41df51e17d410898ebd00643bca70a2f4445b40302047c435bb50067306502300dd4545e5ac89a843d31c054a5a5ac712788966db4e31155173e3bc1be8b046adb14d836ecdee700c16e18f395f5ccce023100a98291f055a488ec055939477ef8f8f784d7ae48014aa447729b7ad8ec1c6f97bacc7d26747b04bab944adf0c04f97650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aa17b1078bfad764500f71317dd106a62d3553ed6d6d0efa096fc5cec7f608d317db2917fdbadb84378e8141ec1d624202310091ba8d70f46cd4d37f7359a2da7fc6667c152afa953ce1a4717b53d0d2eaea28e6ab873c5d58ba3fdcfbd6b80dc82f260302047c435bb500683066023100df6b5fa058003eafc778e61839a43a81f1acdad4ec36e34d670160819346f108526fe28dc27b3856c50a02a255f37ca6023100acdca8213c6bc9299d52e8db6ad67d9bcf86bcf8f60f5f32e1557585eb980bb07c262f5c5677d30b60a927455f192f9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a86b645787dc6d8f745a1f181fd98c04e8db849ec214e9ea7f8e757a33af6fb32d4ae5fc316c7d5ce7a7e1e72f2e926d023100ce46c688e426bdf46df7ddc7b699adf9b8e753cbc4223907035c798cd3da149ac65948c8c580fe68e0689dc8992f4d5e0302047c435bb500683066023100e151d68bade9f2c7cae857ab2ee68cbd2b918e89626234e7f49145c8a7218a976ac3ffaeed4f57c2e04bd9187e4efc7e023100cbe6395aa708ee9ea2825d126aed13f412da883a75709f801936b835422c1b6dd0ebb282faa271da43273b5da6664cf80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023044a52d765deab1f510d06252379f90945f70977f297ea3d02995098a1263ef9fd1a4f5dd3774e32f051843a40c5788af023029d083512c2a9d070a1c59a2e36ace35e8fea7115cc3b608305ece02e0bb78eddf91038b3a44dea7eab09e4c909c8a150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023100aa6a663ca7dce8e07eb8e58d89bb44953a54331a96d91094f37de2b002515b817ca899b867f91a6d86d4b7ca737b745c022f2598d60d78264462d054da2fb9f621b21e4cb93b8e0916f87a34336c61b1f4dd711564aac7286a8cc13275f13071220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230784d8589512f28d6c8ac472e01bad64c53c90fe4169de84ad1823ba45ddeac0f7d1a64085929046c612729f213e3f44e023100b8ab76d6fc6c6c41ecbeca7a3eda216c0139e3dd171dfd75c6bd557dde97e56168195cfd6a4bc1ee34743c74b7e28ac80302047c435bb500683066023100e7312f677b7db26b11190e9608c8bab1be05dc636603d5eda7fff0ff9b790c3f598a316867170a1543559bafdd97358e023100a4d20acff2739cdaeeb223d7690b1d26bf9829ae3d785afd466bc7924295422aafeaa3b189675439f56b058e0a940b350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023076a7068596d08bed791e96a31f7be054d403b9f8983823d0e82f121fc0322bc3b9e0fd8ab70201e4cbef0c89e3f408230230370295a1a112bb6ac883c9b79e5bdee1d3c89e6337eb01833f044f5984e17afe3d89e0c983b6d3bb5ec934d11d477cb60302047c435bb50066306402303b5576690c7844d385154f4e3ee9fa5c94a1500f366f07ad86e8a6ef4ae2c013ebba0ab4cbe6d50286a497a7c0206b9a02301005cba416c9fb8d27fa002f859aa892fbde88761020007d0a304dab1d045ba61dc2a6f86445c43ffab70a5c6fa3914a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023066a5e17e041a9ebdceb8ad844a481e671d2888ee71d5ed1223e508218813e8fb3eb5722ab346ccf34ec90cfb4d90fcca02301a51745ee18c74c295b0c02d950d92cb6dec63960dd55dbf30e5651e5566fd0eca5ada78c72bbf72f1a045064e00709e0302047c435bb500663064023029abd5eb8254bb890ec3eedf7af6288b1b49eb6695127a5396481ddcd77482cf7274f5f6a37ec208ff92a4330028cc5f023041ed119acffb6c7e169a8c302f427849692a04b9b0ac810bb1e1b56ac759c0c8a0869b8e8af194e111b120abfdfad4e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301320975a0e213c1ee40a65b69273c5b587f4ce59b5d3cdc5eb761494b98293f5324d6f7d18b82460f3a5c964d6038696023100b5b88589eb4583a9a63968cfae97b93e0d0c7ab6bf1147c034f561bbb3fdff65eb3e28c2c88ea0294969c366aef907340302047c435bb50067306502300c16449aadcc3d9b43ed46e3c733be9fa673e913993c99c9e45e12712979cd5cc6b94baaa587364acc4568cdcce79f140231009feefef486128e741cd68224c8436c120a27e9c933b99a6657623d1b4b4827b9091c1ffd7223c515642157c7128503e20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303c5e4947101095aefa735a0a214e05b26113b74a74e779b1bcb2c5e0c5f21c7d2cefd4bb1e5cc2ba09d88eb84e13b23c023100f1303aab6cb6e0091b3ea5f19945cdafeaac2f64e62d07f4968cefed58864b062a3e613e8d07da3ac926dd9e47db53e60302047c435bb500673065023039b5a17dc2be266ef5591b47dad1199dcc23cc6bd7a02730c20a341afbeb30144d780e6b8710c2e0c0070c455b51446b023100bdc5dc72ae3bc276d9acb905ad0d186b18f5dba83ae6481c89b2f220a2754832dc52faa62147db9ede66a04ce33c12960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f96df187b5768baad761f4ef2e9b62c15518b5888d55dcecf01ba316f4b6e0f45503e4d13c571bdb4c52facc13af6a7402305242a4b28ca348971f9f0596bde1a793f82349455a7556b4d38f69b07923318f4bcd74747e6726e57b5d6a2d054bb5a90302047c435bb500683066023100ccfd1e5735a35dbc78a6cce38abe75002373787897984ca936d55788d8bbceac6f11153a3bc56af21cfa44bb47925b0c02310088375ea08a6a2de538f7207676b99712d783b32104024c55a62b76963e7eb2742381da566bc3d78d0d30263c42728a880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306c0c81754bd9ad9eb338feb10d1361e8f88d52a29eb98ebdc3ce7eaa4d8da70e458f5ac0ccc78be6853ca3ed7a03f340023100dd8964607b6c78a21b8741d0cdabf06ac003c70d853c266a6ad3f831a081570906db03e56073a5066109bcba27392bca0302047c435bb5006630640230396d6a0f47d2b60959ebdac910755dab3196969e31fa38a35826b47a1b897e5c608ed2c224753d2afee2ae12d6ee74750230691578bbce2e8c813b83549706c543838cd896d8cef15f4e6b8257240b0cb3658d67581e07eb9060d46a547983252c1b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306a786e5375115bd95e0ae953997285cefe4168a117d4610c19a57df1738ffee77d0d3ee73691841f5712dbf3f669a1f7023100bb196938a3bf04e26649509bc51c058387deac674b786610d798eed43fad5d19eadea0a67dbb355cd1facc9918abca140302047c435bb5006630640230143bc3ad174df584da16a35d8eb4432faf87b2ffa0f01786619575bd106e161d34b6c38244a50e3d93c8910c2da8241b023016f3a16610e7a4d0ff899091d06e16247e002937cf27ca1703615e9afbd66a90e5f86011e9aa9b1a0bff85dd59a6fcee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023064d79f15d46891e0480c491ea1920b8e4a1f900aef771ed9be07ff1b08b5a316c9621df09a5e05a3155a4d6d3dc34121023100af5bdb47b2b7d78c2042657994c5987201ea2c47b8ac6ef8d59c460c3592a9a6dfde4f87d7901f26e5910c70a6501aec0302047c435bb500673065023100f91748fc91c682512174fc7508ba4d74bdd397d5650182f2a389c35f02cdbddda4c5523f0b44834c3ff7f4a9e060417602305a6c409b7b96235d48168e643959d266f6d470b6ef97e89db49aac603273925bb05cc71c5486b9f2bbe1efd50f15799d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a49b8eee10677289ed84f4c82cfb6df1382c1e7b50c1f967283e8a744a9c91cbaf61e1af10ddbae50277fb10b400a69702300090ddfc7dbb94f48fdc608d659e6c7447118b9a0de6fb4b1d7ef1c1dcdf67165d9da5d236f10f179f5c1b0f86fd3f010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a6abd84af96a788de98d99bc763705b8771ee48096b9d4b5894eb1bfff6bda4319d958210f12f05d8469dda9957b6616023100d9e65e931ffa824bbde38f5ab8c7282a4dfb0d878fe557d394be47027e031b705281ad7377f2926fa8c9137260ed9ad20302047c435bb5006730650231009db49ccf0df519faa666042a9fd79e09febf2f1f356b89f8b5cec112b569d394adba3128392b7bb6d98a6cca2cf3507a02306ad035cdc8023f135302539c009170ff5cad8a26c1bf9c317ae13884c3adac01fe4b2fd461f7c2f745b37d879b3b4bb10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ebca98f039c633c682dc7ef4897e1fc6abbf416a84aa5b767a571421bf832f671ebebde35f4c23749917ba518d560d04023100a8ee4969d4ab8d7f1aa4f89ea2b308ab3ebc40d778b969a6eb817758b8ae27d8fd28602ec18ee893bffe53d8d5cdedea0302047c435bb50067306502303bcd31ad1520e45ab6bb9eb6b8c3c83839eab68127f35a60da56132f38413f8921de79d30e09bcc373f7ef18e6ee72cb023100fa6f96d82c217a4b08847c22f79c3040c5f08a38d6962bed70442b87877abff334816d17ad736a6f6e79dcf006c691530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cd4d996d7535161efe371644f3c8c9be8f6dec90d884ded54ef624ee1639814d616b6c5fcd4ea522ef6cf137a5b5c9f10230316fdb6ddcfbbf1527f3ab03b944b8a21ddbba4a77e969a20365eceeb24b54b8e795dd57223848d41d93bc49bd6b01820302047c435bb50066306402306cbd34c7425b5933a1d030c833b715780d847b56d5dd0e4681bd37b80d8d9260bca47f53c013bfaa99bbc12e012893a902304b8f38c192f2324184a9314d47067b6ed5ed26789f7ebcc535d94558e473e4d800f9417ddd40a73ffbb92bf2434696f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023033781ca509886a060225d2dc162439a4af4840e6528a931c3e9ec158c76c4609849e63d36de1914518eb4df400a07097023026f0ed83c8eaad9b817ee6ce2dd39e215370ab153bab19c90dfe4884e5bc80d411b45b501bd0f215e4cbdc66100d3cd50302047c435bb500663064023071494ff933dc26e43809474b1a9e60d00e364fbcce04fe37d72dde2586076ecb3d5ca865c7451224acf42f0d313f3fdf02306be081b904c6ee75d44704cc079f3b87001953d444414ed12db387bbf33eb483d29f59caf75c904107db1ba51cc7cc730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f3c9a0d9a26f4882774d2f0e05073450efbe3ad3c22eed517e9aefc1e525a71823660ad1ca60cdbe3babd17840254c20023100896c69a7069654d2814d5746dbd07e10fcc805b74d44efe1842d39ae94b768c56f8261cdeeb1dd38cac3d7b194376e4f0302047c435bb50066306402303d48bd637a711a8870484b8fdd511257aae0e904e8c708c305ad57515f7d8baac41a8d2688e5bf2dab768207afb4dfa50230089c7b8d16aeb63a75cad3ee450224a1b7b7a42fe6d1c35d04f161ad36761e5aa017b239064f022ad8a4319e9f6603b10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303d6d4e73a3ed855f15246af9253c9f5fa42ea7c3408536446d45a1573d880e0ae16531affac2c4e1a1c49e191233a1dc023048846ebf8ad8c0dbe7334d8ba6d1e5628e43eea4d31bb75ca0c0a263b1ec1ba3d37fbee1bd5fdffcc27ef98c6cb1c9cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310085162f178eac9571cd2fbb858f75fa22fd74d9670c8657594e752e5cddafc6a205f804ec2d46b8bdbaa69152d24fcf03023100f23cc59bea8e09fe253eb44d9d6e866a418e4bdb8d0950f20a5c3936e6cce28803aa9d0d5b7129916786c989a45bd5fd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302e79dc330e9fe0e0ef06d1b53432b9cc89d0ca3530cfef44f16825115e6fb24de5ee2297e5c469cde77fbc258c2c2839023100a10df481085ecb37cd89f96a8cf98f4b09d8bc0255b0d42abc42ffb46f5859ddde423026a9af7a15479057d1696275c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e0548885270987d620abedcfc9ca430012f499b75c22d16dcede1de375769bb000039d4dfe3f0d5977bcae84b4d987ea02300d64bc49592a163f16285daa312e507213c801c2ad6d5a92c13808c316d2d693677868c750d19a64017588511c6fe5190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023050b5d1110ea911e9ee4c7b07a91f5b427ff2be0f5dd467aeb9aaa83c3614ef9ee9e380b10dc055171dc9dc14f842deb7023100cd71e2b4c13b9b8c7faa5e21c020f441d5ac82a2f2697c4a4a8c9ad304841d238c4c61bd43a22caeebfbcd455106ceb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c26c5591b6de33df9c5dd3c83e556e42c80895ffc7630e326d24040f4a3052f04ba4d709b403dfce410c378b5cea7bb502300b76093de220588ec7477ea14705e788f9fef3b12644efa85c4101b9eb4582989a59ce46bd5a0ed0c67dc71219f19c100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008d4c059590307ef165e496c0363721eb02247e2e2987063cba68730a72c764ac42a6274d50922a52989bbd0a621d0f6802300af38116f021260d96f8c3c303a1c77e32e01c9bd9beb5eacaa82eb49c9dd95ea233113a5161de88ea618c35b91737f10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f906efef9b63f7f5d0e2c0477ac713aa14ccc11cc134827b734b15e17bf477f515b534cf62bfed69d24e280857898778023062c01b8982d4a7667392a188489fae3ad12524c676e069fa70abcc01c8eb18dcd554d046b916a63f67c90e6b2748f1ce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301465d56ac0686a130afcc4d9382edeec54931a11304485c9aad953eb1cb80cee663a3aa81c7e328da29e385ed13cd32d0231008aaa0f4bda2b6f04bd9369c92ee0ff09f84c024f65f56f1e49c7e4eaca710304d36c2adc30bd548ead8e692b7da75e180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310082d90926b088bb16a137aacfd1697f14daef108139c54b2c631dc838c7eca66331dcb45a436e8fc56a2eb61e5a6a2312023100c1599703a377687b991b87e68aafabb4aa41d04fb39d96df7ff1c023b10e8000bb5bddfe96054588f95182eb5f3cea150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302c6e2a44ba8ad3eb5c30e85e49332a5cfb7e5a96e2dfb4369d40ed803b2dacaf9d7fd5351cb9ab105a2645ca7a7f96b80230711bd6d4062116d9b82281bf8eca039274f30c0c21a38d6496751d818ba9b32b3fb3e5f577c40b424bba65b0435b50260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230560adf80af2dcaddf8071ae9e2f616d4ca67f9e0de16cf840bdecd944cb8a572b59475d56dab88577271011ffe0a117802305f84a431269c85890f80c9934470a27b1403c9e7b1321783f5bc7dac5b494121b0ee6280f76d66d2a39de335a205db600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ddb2838050601e373ac2178ca64de03d3def63d427742f1f771c17518d4373f5cc2e803898770a3df74d37123527732d023100bec3ce74a6ba6892cece532040ba14f9c6bc6717a7368c83264401c3f808ae8fab21c4956fc7e8b8c9d2f004889898cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bd86babb140f712507f1d166d66d313a98dc13da7f2d95eef8e80a22e62ead8e5373f7e3e5ca2cc0ec69dce2a7668319023100d873707516ea9d92d00ca977c1c99bbcd7576bb48aa9b596fdc3489e27e48c32404e9ba310df3590c8025e62cf85f7280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064022f4f78ddad9139ad85c4fe0a9016a55c128cf2162fb5fe4041aa6d296e5631d809a6737dcd74707d3f01dc4501537b2e023100fa7c700963804ae8acfa5fc1021905b63896b220ccf8fd994aa390dee9d8c842eb93370f1e6eb2de2671f7579c699b5a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009a670f38a2bf34ec10d5a4f57449e7dd31ea7919c4bae8ab6489e98b4482f9107f0f4d08a78c2d491c2ab9c8ac680046023100a28f2b65e6aa4a77de43ef252c499450c053de7d0cfb9449caf53ca8c4fb73685ee2864e22119b8800d1e55670defd350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023052adba2f7ccedbbdf5d801751878a0cd2033cb5b5c921850fb9c67efd2f82e0147ff0c809490bd1950f034b155d3c85602305aefa34f0de93b3cd0d28e293056cae8bebab940def4efac58246ed278ee0e83ac9a488c61e5705aa98918fb041c00e40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c0124d058199d83fe1cde9f6b298739367e1a7fc45e74bc735e9b3d59533aa938cb3e1aa8ecba24906da4731f4bc9e97023100effe4905f378367e82bf19094ffd6c3d6a3b65c49ee61fdbd9f415ff060032e80f8c0f7a618f802d27dcdf547be114390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305b51f304095100706472976bf58d3d2592e9d44406472b5250de303ed5b5389a02461f059f98262f56737dc9188f19a702310094774d0d5ffd20d3f2573fabc62eed335be532fdfb87a72e5a9e57a7dcf1e369581a7bd5080526e1a8cfeed2405736710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300c31a98289d5833a35b6832be2594a3e53390ecd7c99fa8fa7cbe00c71ea2e2fdf9c9fbfe460a2ff0d967c6f388c3a7c02305764172a5e27923bd51c54c31eb9e4333c802544fb397a1df91b3bc485b0ff8239b099126727a223963255a49f1f3e740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306ab8d45b416a7a5016ae8fc8c9bc3a6df81effd21172962cb9f9295e085ae2ac75e856d0520ddf79c3281a5e273d6ce602307465ad957cc03142e10500fffa9633947ad39627ba68b9b850ec5e5080da75d7cd70f7646f5a73b03ba3a88aa78232a00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307a8ff235e92c28a9463314361ea407954e505bcd45304c0561711103f62304a39d82d9d9ba074b3faf8bb3c1b6d65cfc02305b0f418b90366f3265db7c982ad6686e7b70710f0f4ed1cf59be34353f1cd87360e69d77d42fdd64cc89891199c52e900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023017463d00c758404227970a0970f7ccad0d50d194551e984797a80dc32b7b09632714c9bd9e323dc9805290012114b88a023015a83ddee4ccd0f2017b5d62072ebae3cbfd9aa3a75e682fc6db569021b7c4fbec500e7ac7bb5628036762b1aa57eee50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dfdc02285499c1656ef29cb52ad2ca237b88d9e11daadc60cad41996a9e6c7437171240370ea0c7737fffc53513dff6b0231009e6f1de4938287726f389ebb6f85d7ffd5cda3205ea8db6c866333369dcadd310c5a27ecc70dc9d1e933450acd0375530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230175859a9e6b76f7ae8350e6ddc944b8fdce26ef88e5549ceb03be6717a34e17ae7168a86e5a1e7b31f4cf4aab1465b1b0230070bc7774c6efff6888c0beffe8a3547535df92263fc2cddb61ec0ef556e3b88e85f355dd228f9887e87f5a4afa44f040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c395e5d05075d38cfad9c3565c74e5242a0ada668c87fcfbf88244f9b968098899b616248fbdb2ee817e97b47a27dc3e0230340f0557d69a06b23044e1246269d6b10d7c2e7f2c62a929a4b484602502abec42521ef36db9c3cac3e8c46e6e9f67210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008e4bd519acd1eff79790bc2ec1d63c0fb8d689e294afcfb0248b8baa2439fa6f651fbd923fdbb3bce17286da34720897023100b846d375374395091459c54b743bb8763875cd7c85d55541de8fbce5db186a67a66e8adb2fc7d51abf137988752586810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023028fbf73cd1ca2629bfa3fd166589de015947dae403dd8cb54023cc75a5a8e1568088a490bd38168b590610b94ad7159c023014916e6ba449dee4d5f2ed48711ae27fbdd766f5c0818f8d1e4fc731dbb181c5b01129118b9ec736fced7e5379a4970d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023067a73421594a144491def9c689744680bd4b3450f727fbd641cd6b4d3b03416a12b63bbfea9328867d980cb2e333cb79023100e3e053e458163e117b53b21cfd912f04282b2d20d86ad2aea5ce1fa3fece9161f204d38cb7a9deffdea896da7e95b3670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310099fdd6bdf0b9fa6ab11073e5dcddc5ccb725166af64bd2fa7dbb7e1f6595ba92f56cb9d95ef93eb11258dcccfc5985d6023100adb0b0c7ee5e4693cad234846691cabe06aedf60cc3fa857446ba5f53e5c77aea60f93c10c27f031395d0b117b1fdc670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230096d28dd82667796aec72e923aedac8be3da3835e0aea59a2e447928d939832d100f188d2a5ac1b88a6723689f0910720230723234b079f36e680f148829cf8e2e75f54e458488476d66bb1c4eae4915001154bdf5615aa776da53c52d8ad1b41fba0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230683177318962d05b8e09481bd47b3cb3a78d635cab978b6225164d63773320c45be7d1183f778b8781f02ebff43b698102310084fa900aa95d6db665f5bde6b817f053ba1177017137611970807ca483739b5df741ad46e9a8693907ebaaf1c45b7e080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023013700dc43dccb2c9220bf4205679bd882db56bcd4e6c5758b1ad9bcade66cba2958da7b57d2bf9f3ad2c13858348c6900231009afc988fb378b2144585d1645ff84253915fda013cd2c787a1d30461b90b8c1eea3243dc6c31e38d4a01426eb60b973d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d7390928dcfa04f6667e9d6de7559d5fc5f08e2d85dc7a674d9dd07849658e9626968ff4a793742f2c7f8353b9a3d2dd0230170d89667f5e6003b58888856e911e28179ae113dcded41a9ee64142af42d2e1d0b5b86cfa17ec62bf363b569742c0370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230477fe896ebdcfd9a523004a2a313e38fc9d2d5f1d8b6ef307c3beb58a41ba315a542d0a25fe944712917aa0d200d0308023065920eae0089ed25f997c6ff898ff242dbcc66907568b127beb34f6674a79da4a8352c97513210ce83f60d3aea3f01ad0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100887d3905040946833e81f5c3c25ef50f8d03b43625998621453e4aa3a9e9a5931bcbbe44a9144451e50fedc91e886e9b0230529eb50f36507aac9024997ecb477069afe5c1d2ec50c70f0ed129577e4e59aaa18f2a716d9209f83699227428be141d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310093bec8010028dca4e740ff6e16c672af631a08afcb4babf539ca1a734b9da11a6215c24edf78f589791b8f91b28b4fea02307a439cf3f93742e47519e6760d20c12d10beaaf8dd608e52710b382f669f0e4d77dddcd6cfaae2cbbcdb9d9f38083c6b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006cf03392320c38bcc35dba7367d423ef6f27f2663b4285549564147e4a659f7fdcb509d386faea802f5ca67b95feb95023058996501a8baef3ed5457f10d5b8dc0c7ab4d42fbae7b82bff67428f8cbe595bd2077bfa9819263a7222b996a21f56b70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a15dbcf55d4358f261dd9971e27e52604ca5a9f737149662a707d6d679ff12b422c6dd01b3c1397fdf1a213b4cb85114023100fc0c39be88808de2663489856e21a9aed2d65a20624c464a198fb2a35d57a18497980a92c3f8713ec9ab3b31bc1d1bb00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a360d408568a3dc1ef331259015a202c27de5a084113e87aa6094ff3a1f662512e2ce10379058c5129dd675c2a0b97fc02301abe4d8490d3c25feb401e7dd82e99f70fd9af33fcb1da2319d8407930a4bb6db48a12c48f22eaa8b3bb04aaab2bae360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023043abd99de2d5aaddeec340c91b0906a504906a264667ba40bf93df80a26a67fbc24d45db24955814622f2c27088459bc023030dc6ac6f85e74253e57f51123656a9cda6fd8335fd55935903318141fd60d0573a2b66878868f5327a29f2fc5a617530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301a7caa61fb2bce5fce955c71e0460ec924d0f5e308514be039d2920fc6b5df1886b5a1458e3c8d58c76baafe334b8553023100d8b55c236b33573f17c6b97927be9f83d4bb8d40b38271a6effd995382fa362c871a4d4278d6afa25ac68ee6c04995b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023012fade0e9e69a7ddf3beb9fbb5d5a09c1d793d81421e375e2652ef895410722f60c3ab942770d7a915f0d128564ccd2d02307b99340701d811363874cd9edfbd2edea7a2f4097cbe24be382b40dc54fe95b01cf52db3562a3d51fd4950d67afea3530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300434d96b31d2c0e0c57264f8027edf5382b38d3999462fa351b69bd6efb8e929869e51cfbe487eb75538c1d383897481023100b00febc52265dbf72f5972c651fca43efdfcc8e5368d033edc982db7acce475b1f9279cda39caafd12f92aeb95ca78740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009b99da62d9263ed3b094990a6bad9a1aeeb115fc4b449a99f1a915fc2a508ef9a873065848835df664bec6161d442f6f02307a2e09f2fdfee714abb924023e7ffcb8b0913e829b4833376ca5d644c300c79afb6b89f515eb36e9a346db77c358e7040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305e6c0f8c6ff8ecd82217ed26f493e41863cd7f67f07c7ee8b00f703a95213d7758edbc3251cdfd18b7632c68aead2d2602305011b469f0f720026d0796479d9c39c35bf13f024767822262df3593f04e859b1e98be7a57903c0ecba983355775eec20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100821f3760691907cac492f706ae5f02c108488ece0671ab9f5ea7a4c7b6e3a1aee214097d6c37230e3756d64518302012023042edf7024af19b6f922f0bf6ff3cfd680a290affcb1371a136626f3513f51d0ca458d10372ebf1cf8f1845be15b391e70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a9f6902a159f745a4c650d95c4cfe2815ec9da0210f6ebf0393c2b276b3cd5f09458bdd639ce14966faf8e54d4e13482023100a7b3d088ddc3e9330c9ae557707ded76fbfc1e542078b89a205b7a19440ea0107baa64d7c67180fae6cac9a4f7a18a310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306b826456c32562a64ca6539e890c3be162f74cf62f199b55c44576ce546c971ea88a7a4fda0d7950a8808e4fea7cc56102307020581134c74351d05c1375962c9ac13925ac9300a0839c1a449aaf76f74467a6a629a98bb6f9b21370fdf06972cdf30302047c435bb500683066023100e79d4cb2d635a41da6609b44a36638637c5814a20ea8b70abae55b8160223d2c1eb83c0af4c98462d81b88cfe39a62de023100c1851543472a8a969e320f970f313ea8f7fb3245b239a5f29869a5d63c9593063c3214899a0fdcb34f250c4a886539e10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306b00c4daa068dd2b94fc429c348e9ac5d37752b1ac75e83cb7da67b2d8be9edbb47f088a4ca3f3f0541060fc0b50773802301ac1f91ef668044cd6d250aed07514d3726f72f9e9709eb4911142676bc3740a4eed3ef5b40bbacfc9258860955a74e80302047c435bb500683066023100dad306069c97b50211bec4f689377fe5733438af97e809183ed3ffe95bb2aa0153d0dc53bd310166173715e195a096be023100cd9d0e83cb30a83867a4341d3090c7d720cfa2e7afd4cf90aa6ae90866ccde06e2d9d791961475ee9d2ff2f7ad7760410302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305570340f08e314938cdab5d50dc88a26301af41c4c48b3f1f2db6012d5f51d413b1e3e8eae610e9a76d7999310d2ce7002300d5cb84f40d37452434f49370f6cff601f788de519bd4322c1881824efff6b672ad61dfd4142963590667f6daa7898b10302047c435bb500673065023074a29dd42ec0a61213495b57f315234653a1a8717ab25651476dbbba9da08e36a30589671d70f39daf5815567f3dcedf0231008e211621f2d556724857df2bafb2384ab9c1fa09caee1b1f6f6f3a1ed58b9e01908f611b0c20c3f33421d7621366d1c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023022c3c15328d0befeb11977cc25b5256043fac2c5bfb5bf92eb2ed07f27d77fba8841639f6843a6fa61f3f416a7e7ae04023100ad8b86cb3171ae48b4cf39fbc3628416d68bbf5e82b28bcbfc7f85153b9f19f62c17a9f61610a647fca77c98fb9f03120302047c435bb5006630640230127ee5b228d874f6c391f8798342c7431e04bffd8b1accefe621c5959de111a2ce8cff5591ac0e4a05eabdd2285aaa6c0230109f89c70e5bdbf6226e495aef189b258a5f26c37bf2c918e60f0a479dc4e26ad358963cb000bde8f0433cc2ca02e42e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e30a6b5be70a9eac97c7118dbb065c0690a41a8e877d413b626b4b9d9a48d21b68d3a765ce7426cad6b88b04ae170f07023048573a9ff63d95bc573818e93ebef70596e7cca1c050c12788ad3de3c4fc55f5e444305a64473e6805a9de5c0a7359cf0302047c435bb5006730650230275062c6c32373ccdab847561c1bcc231c8f43da19c17fd84247464672421387fae23933c68cf71e816d98a8a8d200730231009372cffcc73e2cd3130de375c014bb2da228baf71e731699086080f6116fb9839922e21080870c8c99b2d49f7252eb370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b96b318c6d813be5e9c240d53a40edda36c3ff8cd865ac4113edb7ab757f0551979693034cab518e539b11f32c60b2690231008f54eb0f9f2f0cee693fa835bb97cefd5c7fee18e132f91071edb5c277a25ac9441e1fda982e12c191743a1aace33cc70302047c435bb50067306502310085f2723d6992908298c32e7ef376fa144693275e37a1c2b4304d2b27ddab4ed5a5cdfd46401132b79dbafa3de89a339f0230549ac6f1950ff735e5d978069b79608fa7f10658cd32a310ef302167d11937d723ab76c66cff67ba54dd9cf54a2728250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b8636ca7b16efeb57614cd254854364a3996e6fe705925803e473f9ea2d69b5d82dd7b811353c35150100ce7c987257e0230417d2cfc8f00faa284d3ada7bb9cc1f809195676de12e75d71061ee227e6c9aac4b17f1a1fd6192aae7ac608507bf83c0302047c435bb50066306402302a467ad569f0184848ec220d3073b7abfa4078f6242b45b6fbd40d76ef7246dc7836e72bce4a7e01b7800b32e45eab01023039b2e257a8703c9bf7ba1e2ee73fe957504f023984b169c025f0f7a0c57f8907ce6ff2e3db241ac38cba1bd705d605f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c7c94f9fff67d2bdbb934e8fb4c33d631dee2f198fba8558e39ec335c0d6de30276fd9da84fc1cb743728ece3775ff6d023100984c8e1ad7b7717f81bdfe13e6f1d86c8899543a8af1012d6ee1cc5e9024085393e8b51af940996ef3d5b538d88f71c70302047c435bb5006830660231009d15c08704c448df4b4d97afb66f63a8352a198615b3b2da087dd411037a088af9bec7f9d083bec0f92cb3524684f492023100c006c9435f196fc39802318913c976a0181e1e11adc1d52863945c8529d0ce1d70d1ddba5abe4bd50d47e38f1bd409f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023032b2e6293d76e50e2bc5edea8ece7071c805b21e64104e8712f23338cb8d04e4ce4765885533e234fdf918c74a3173b70230460565422d5ea119006ea45dc05e663d482f3159cd1cc083d5c8e3e354393c4f60b338efd2ab31431aeb7698a7b1672a0302047c435bb500673065023100d72bfda4e0ceab14852cbff404243287eab0f521057f2b98cf8d73e243a2574d3c67dd3229aeeab45aca659cf7df7440023055df5424dcf5a9b2c457e604512b91ebf4d6ffeed3027708d0e8ddd35b5d70bf62af90f8ffed17dc39175f3f823ee26c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302a61ea90e4ee1182e64aea3fbaac9963868dc56d30710d1fa216c400956fd8a39f28f1f224a09b406824560be837f1f0023100d4c94ea082ebb2309c9fb2da3ecb0ee7f3611c433df19ba9629efa67ca50cfafb36a2b61cebdb977f19bf3a554f4455a0302047c435bb500673065023063c0f668df0cc6df3a3d68c30c9853864e3798178e53f92a94104e5fd9d1b135e9482f5c83f670923bba013e05f59f6b023100e87f040fad97830cae161f67f0c6226d9e2ebd4ebe5147e446d3eb4a57b8109641033fbb3a6626814c0600b6741aebda0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302de86010e43dd3dcd1bdb71ef3a4e89bf3b0e6f78f80c63a37e361105b9072e95c9fe101f53832dd64ca6b4d6b66f83b0230323e743907facec883e360f4ef5a693f3746be5ec6149488447a2504e49f698d5908117cc3ec4ecc19b90955eca2750a0302047c435bb50066306402303ae5218605064860574de8f8d4320280d2350ad17539115c2ac5b77a78c628f0a7fd6c42c61b95c81082383afec3c1d4023019d16fbbe944db0d3eaaa66eee5f7ba033d626d075eed4cb1f7427e8e96d81720132f53af7b60b79a1cfd4bbf8665d950302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009d01c2c915d334810726f9291bf42966189100e7402f74a1eec69eb3c568a5994c932538c85910ed44bd549e87039c3c023100e48e42fe0a1d1b12e3bdd69c4b543048e0491c9e0d530442e5d596cb925b3f3026078685c980b145975e12003d20a6030302047c435bb5006830660231008584b5b909cba706f68fc9c2ad91cdd81b598bda0d81cad4bce2cb810bad077f2134a01d7ed40f98668a00d4c4e861fd023100bc0769c5d3a32fcf73085d92453c8d4a27a05edd3f438cc623c8c35f2752fd98f67b98e9282a7a9a8a1fd3a6d60b81120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ff671a15b3509f0169dc662fbda2af093b8c8171c146ff84c7bc6463fe54312e04c17014b0dc8b71e0f419ed8a4eaae9023025eec989ccf3c69619aa826c4afcf84a42100ec0c1eef67cf5c0769c046ab05f4285cad32af4ce637029390bfc0058620302047c435bb500673065023100872be865ca711fc4f63d1e72304e94e71be12c6adf8141472fda1518c924064151c7976035825c48466efd6f7c8b49e902300330bbbafd9c0b35b13e240823fbfd9dc59ad4ab69a12241ea2a4483bbc6077798774c629b06289b2ae92fcc2a4911b70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023064c847976352ea62d27e5f9632b2c633be3431b9c0762f41ea8876679d10db56784bb9de837c18b187ab3243dd9851900231008003ba7abd2c1490086305e4e7e92abe0a7bed0cc8fbf6e8c96b38a4b069cadc4c625ab94f2308ba34342ffd6ade3fe80302047c435bb500673065023100e2fb61df1868b97ec19a8aba37b5ff14ad188cf23496147479bd978650d20f2f0dfe736d620b1c765534012d3cc8076502307b8fb75410bc78995dea7421af353049dbab94ddf547a8ee06570efd12570b4e34b6f9e21a5fd13c23dd4d150fe08cc90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100afc7f8e11d040f0030783058bc4dff0c63398f9b0209dbd66328c9f5ea6ddafaa618d9516a905c526da33f105126f83e023029322cb42d900c4f5eaa2e06c009479072490131799a28ef51c4d9f02fa2bdd47fd59344d628ad41e7565b89790ba29e0302047c435bb500683066023100abe9a811ee16ce47f350ec467d2073c716822199c35211ef3a45c0e4898372894c1ab25d71dc60cad47c149503d1c132023100fc03f210d0a1c9aad87f5016d7f356e86c735d6a2264b4e4903ce3e6922d763d58e84471921aefb22e1ef3cfb65572f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306f286960f50ff191cae8ea769858a984efd33fd065ca57b9b9ef5a44d825ab73a4575b38452dabf6da5b856788dd39e902303bc8b1ba9edfd2c18f17e0906847bb8fee5520333a23fa02fd8223d7cad5da0d0324d6d678e4564e7c1639e6d0aa6e3a0302047c435bb500673065023100dfa39be8f1f055024be7e2d9c14ea69af577ce7b1f6f6ccb45e05f257d19a41b08ceb9ce0a0f0d8ee1a63f6e2e10637902302c8032fe182c6dc493ab4883686ce6839e0baaf10750fabf693cfbb7e69119739afd6d689d5b396023c8bdc50bf4d79f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230611597fed5b03988a415e3937691448be32706ad128b6f14b0d918d30448c25dc996fb0c94d5cbbdfbd94d6438bb17fa023018ad8097c1b8a8c654ceed7a49deaf07d4d0a519c3f0637cb88466bf8bb9390bdc90506fc85fbb9ab618b5665c7e58370302047c435bb500663064023021ed7411b7b4d576f14867442e5a426e3c6d01a7e1c519b7c6c55e2f23efe1f4299b526abba33e97f664a74805a09dc702305c34a623c6e191027ad9f9817e017a4553be2bf9f24687f27bbe33a5bb15f8f720dfd66f3fb75534c3a52c9890cb339d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304d0ad02a2d7391c6b7abdfd7c0441b466a3ace112e8a1a34e4598be0f50d062d6fce9b5ce6f34ae06b0ad4e7891693a4023000a13beafc87ac97e8f5f3fdcd4505c55b5ec9dc3c6ded8318f0b74468d22ea18018c7453692509a5a004100ae8b8e480302047c435bb500673065023100c1360e5073eeefd7a4ae92ac35bd9509d58c06a0e06e95b7aed0f406c7ed8a951708c109da0db9b0cf7b461b5d9e9eb602305aa299b49c1e9b551bbe10d39bf5ab1bb2068adbac30e3cfec07424898fcffe6c3e53c52ad137809ce30b3183ca1e3fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100acd60e42f188b24ca0b682814739026f3c9600bc22eb1eebedb988e2f56305445b1fe7ee2109e225c188d1fd2fe3333602306e1cc757278596b6f5117ff420ddd531e8a84d425bbe617416e6d812140a7e23917755df99389f39ccac66866b826d080302047c435bb50066306402301b300e005399141590fdc6b538a4ea6d273323b1b8f3987daf53746ac3be95c5f7a53beba9dc39b5d90c6d5fccf505c202307f58263563440adda4a5152176aa9c3cd71a23e84e474a5f4fca1532269677146adb0f1cef9b016ae8573eade4d42cb30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a2dc89e1a59bc33513553c0bed9a62637189f705006a0b6ccf0aa417880da98b3ff79bbb6e340d5d805e75116997c14d0230591b9ed65cdc14ed392a4b3ec0f549d892522d6b832446d2684de12e05de0075ce6778c033490117143a008dfe0ec20c0302047c435bb50067306502302c1e16436042a8e536027c087902d52ab4d3571d0634ebb8af5a9dfc970d1ccc492e4e986beb81242996ca12be01bb54023100919cc22b679362f504940261bdfb66edc787b7335615d4d8b51a6fd9b683c65bebf61f854488631072a9c0c66354d8d20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310095dec9f3767ad67ec30cb755ebaedb64a64b528a0f6fc82d9416b44e0039c6a86d9bbca196f4267a1413c10355873d6e023100cdae96aab61afb9197ac970582094538752ee16d3b9c94bbc3c603e884aae16d0a2a3fd4ca6cd81c1997992e1876ab1f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c2c0998fb657410f5a678e8784376165f073393586a7c6f00379a739fe1147fab3d53be2c8f428548e276678ec4031e50230482178adac69a3a2bcd7f1b562b7a1ab4993037214f2d03f90fd9078991f601bd4a6535479245aad74c958ac4dc412a30302047c435bb500683066023100ca84b1c40b8dae671727107504ddf07efcdeba92a726007dc89bc8c5ec3552a82dc848c99b7274a80b082a2d096c95b20231009b2d38a2773f4c1850dc4d47da829db9c654697b4047f5548a6519126138cfd59b60850ccb55212794986571cc2c12110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b0a43e41a058be0ac3570dbf8a849e4f429369cdd2150b30fdc296387154fa397ca990bcb3b5e7c998e4845c072b4c30230555bafca3e9d4497cc76ecc2c4a73b327367dd50be14f956c393f6a775637823e33a860df50b1c6c87123eccc8417d6e0302047c435bb500673065023007b28f8214447c81663133e04fba7d082bc26eba983de6aa0ba412722367b0e52a89e24fa6bfdf23118d201f2e0db79b023100db070b1035fa641eaf8ac07b04057506c271583b393145d2a32b3eaf8a858ef66c635933e3a546115319207d7cee0c900302047c435bb500673065023060594b47099f8d44c2fb28216138f76a571f3640add2a7b7cf376e14f6f4d03f45a05dbb7250653aa37281aa0ea9703e023100d8a8c931abdabaa1cb6ed579b3b85da71fdcf3d957eadae14a08bad1277e4fd993a5b94edcf9ad35daef7d8566ec40b60302047c435bb50067306502310095386012cdb49a3bdb3f8560c684cad0f43c3ef44caa76d5eb61fbf9cff50d032be131ac8e3ae7f43f359e552b44038c02300154b646c04374866391e11f4b11c4d4fdf474deb08cff2c4cdf71b385f63093629730a3c6e0705232982f4f313b22fc0302047c435bb5006730650230009fcf21e3ed7151eadc382f1f7f44ea5e6638efdb1095c60c534fccb7ff33e17c5903df407f5514c15be45ef14233f602310088a9b6f319d58648a327a11910d59280c650a6a84d512287f44bd4307e07a202f8350ebfefd44eee9a0152e5ddae5a470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304e6c3ab83106180cab4eaeaf564fd5116dfb9f10e7e8256ae3ddcfdf0a0fb70c6082ed82c8868b3abd51c3e525e95d1f023100ee8bb4e7cccbad2f4f3dd37a8d4f52ff13368d8ff0f6cf30125128303ea4bc06f94198e372d75abdddf937cc7fdd3a5a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100812c7aa859b84b7e2aad37bb41e1c6fd71a82d44720f6f89fe886f63b6ae0ccdfbb0237dcce271708f10c7c1a6df866b023067553a1cda2500c886dc879195e78df66bd6472eff8e20ffeb878228cb0957c89412c6e9c1761ba5e1f9e2db8632a8df0302047c435bb50066306402301feaa5c4e709ecda293b99c6e56c492df2532b89b482a99d3b388c68d0e52b58ff7f4b4ea9a38527ba93da50b34e288602300c077c47979c2457328e1c1ca3287200ea09424dd3052a1d80fda8b27b2fe4992fcbc837b6e2b104ac4a6607855bc62d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bb3a256532631a6d957fbb4b820b6a2bd1f4ef48ff74ce021f9a43244e0612aba2ef7b9583f48db9f5ff4d7486e53690023100cb753b06602d97e8a12601f8156a228f0b081da927dda2ada6f4d58f7fce4dda11c51fd5f3956ee5df31c1badc490cf30302047c435bb500683066023100900fa978beb5a91eff046d59602292f3022ddb17d96a89deb483b1ec59ae7a8f0e232c9357970af8da49ec592fa48efa0231008bc9f515c447d0ca6b07a813d6f87b790a6509ef8e48c0891a16935c2911f139c9eddc15e3262648c0b21ab3a4afc1710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008be1d81afcb72a0bb15f6c055ba5c35b633bdee17fa6f54104f55cf251a36bdc95224c60f6d1bd18c3ec8ec09a5d94bc0231008c6d6b39699114898d76ec08ba499b5bb589298bbaea0581923ac51ad45a3a980532f5b727c553ede922f8d58d2f9bd60302047c435bb50067306502301f97901acdf66bf990dec9de264ff055f90e30454559aeeeaba114dac8380d9ddbca6742a5fe086c79f52ad285f3a0080231008bd23bec48ed86452fffc2bc4be0959be393a6a0a9bbf1679947f65098eca64dd22befbe071e233f960616838951db6d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310081ad7a0ffadd839c7e3741d17affb931ec12f0a4f6139b2f5ba7e8fcc253df9646e5f99c9a9c823f03eae1dc80b00fd302301c27220d18620edbe675b7810091a90d6fdea81081ebe71c28949043ff499867ea6ae81f5ca7113760245764373662ba0302047c435bb500683066023100d3fcb85cadcb960635fc2df2376e55e3683f729dcf2f99a7f5ea307d0cff84aa0d1d51b9adb23d0c98325c4dcbe71a2b023100caf1f0848611367803b39d0c090d33395add72a8f58ad35e326d0b76b97cae30e898522ac0555e99cfa4daab4b26629f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100db02f37ac77b545ce8bbed27110b43b9f1d50860fc8ad0bc4e0e3032487e20017e6103160c2bc64f3090fd7bd1283141023037b5af871409bb530d272e83bf9c237673c93e8c40cbe18a5d1a41c96bd33703fd3cf80fa951687f1010a2e71d2d767e0302047c435bb5006730650231008f812f56a8c66759edd139ff164ecd3f18e49a07b5b961eea459fe565a9c6689a9f6776321108d5c45b208351825ca8c02300f5c6f09f934b4eff89aabfb00a16ffcd8cda61ea84b216241498acd53003e14260eff2e584adf4070cb6c9d49b975040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230669df9b084cb37b0033fb222591ce3ce0fcd7a0550469a9d1d010d132158430b01457d8db8de228674730bbc03ff938d023100de69de3b19f2bd6828919598d01d2e9f067b180a3d83804bec4a8e93c41e161453c9c881f80e2bf55b7a13c9723dd49b0302047c435bb5006730650230272e609b43c62f4410edd597b4557a2e554dbe0e681a3533a925aa71d1afc75a4a0c3e7fdd93e39f5a72d1dd42fd346b0231009bb3aef2e558297a2d9a7e0150e34f85946423add922d76dd66a86438c54088b0caf922d8c14c455d9c24302ce0c4dda0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303e0747c7e1350d9c4f0d89fc3b588a798d78955a2b47989140fa9507a68965cf7dde39a48454769824a6095ac27fcb2a023100a593fd9faaefb214183e033e1ca7dc9658a38cbfd22059e25aef082c88b02f6e62f289f859e3fddab60048e591f8a8410302047c435bb500673065023100b27bac78d956104f8dd52e80b489c85a88556f85f260a52fd9494a99b1c18a812cfac88a9b98d39b6bb181e0f0913b5002300abd94da5a68c64c94a0e5089cf6ade133ead578aa4c4bbe60c53f00fe57d1edbbfe0602b686f16e267b9499ee88f39b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d73c481b3e3bceb0ab77f533ee3c2c28518e3e8d6b912d016f4393238d74de670b58521ecc3c84474a8be7cf0e17e94f02303d66bbbc6c12e497d533ac67b43b4fa3c848ba1e6042dff1d6967f989dba0ac35ae580a0d3dcf2a09d4ec70cae9aab970302047c435bb500673065023078bd35615ca9644f528d139ba5597a65319b47db821e64e2995a21b0c7ed9ac6abb39d7596a7118e84bd309d803670fa02310081eaba18e4296a7b0b9c34e8e9b84b521782cf0cd15ca004be5c987819cfa5b50cf34338a8283181f4c2c2e33e27831b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cee95852b02a1598d8b6990bfad8d08ebde32c7979dad807c9d412ee89a1383e61b7c3d6e62d81add29c14145d4bd2dc02304d803c7430c0f099b4dc01343509de33ea4bb78ce8a7df87fa7f857ac1251ff0b453d5a3d9854f97b9b8a5c025d98c920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100860047bfe5774ca8eb75870ec82ef49e6ec10338c103174c1e53394ea390871dd28d689cb3010710f307e4885071a178023100fc141d774764112270eab8cb7715e20fe2f60d3a88853b9308a82dcf017070375ebbcaffa18b0a9a1c9ed5fd4ad800620302047c435bb500673065023100d7cb747bd201d0031e4f85a45c1aeaba11b518d8f7ca9e68596373e3f23f9d432bd4a8ba3aa4587c5c65921e211e779b0230335ed463d4074a66387933824b4771ed118404809e6db7c8365e1f2abe01156b4c4271fcbd0fcacb6b2f0efe6531cf9c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f1f0ce3422fafb554dc1b983817b52382e5b7b99c9c9794fec71696df54aa90b9558908c156d5cd7de12facbc33a56cf0231008cd69b0d17d510e5fe9212b9b335dac957d039067c9b156fb795a69428e54a3fb14cfeb9ed166dfa00575c24e79bc1070302047c435bb5006630640230120367ff42e1c47bf8d9dd23ef7acb2f3f72b09d6be57ac674df78853a9f64c1992741bcd8363c3d163f88da7a3c68ad023011e8ca2cb5c84845c7181ebe097b65d4394748e96650abc4ec99f366d527ef2b53d01a633911129c4e6efef98452af6f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023063059666e048d48cf2da0d1318d39528ef5d83c505bf1baae1d458001656dd74bb89804b043782eef4807780395054ed02303ddcc3ecba642bc31ac5e7bf675e317711880509ac269664d3db32952cd6f2bc75e50839004ecbc7c10bbb3dc8575d890302047c435bb500683066023100e2db43eb5951c5e15af4316ac852ba0230061874397f5ed3203c1d191f8a2274400ce43632e989cd7ed412c36acdef5a023100e459128c7eb57b76dea4b21df9f3b756a5732a6f33111bbe5993fd47e270485c1b250bb388df7e27f4a172ca76bf418e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e863e253c763474550a9b8d310579334068511a2f3fcb563437187d75500dea8d7392a2d98cab4f25e895a6215b4714a023100ee51b9b68b2e08ef8943d27180e2334684da85116eb5e59ded313d976d15b49e2ab3cf1ea6275534e79d63fe781853ea0302047c435bb500673065023028a58a5cedc70b03532feb16fa987181d5ff91ac26825e8bee5c92916f7433452b8fbcfafa5fdd3a611f7c801ca6eff0023100b0d384924403f6c7359d1a8d09b39699925a080e82bee3c99c079d2b0a9b1f8a0cfe99686b7f7e9cbda4bc5b3a6f0efb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023067dd3b067de842a2f0906ed393f7cd8a7debd43f8bfb9e6d1ac2180cb8e4105f5b4f4648f9b8c24a4a938b6ac9e6baf7023100ef74fe7431ae26cb7869e7b227c3a6a34752e0db401631dbc027a722f32a3949e5d66e522df9ad3418c230d88a7704290302047c435bb500683066023100fe13ad42dec509afc29a5e74e9258e1ae85908e1d28cc2e72589a91c60c57b6f61dbc7cd83e738c77184127333e864b7023100c2f06de4e587e4e5b446ddb5e46f4570b017dc5903ccf41dd4b2191601eb1c75b4a0f37530c9063d465ed03b6bf1be0f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230233362c6ff97db8f2c522564406745415efbb9b21a01305abd5fdefcc39feb9290153c3f6ff20ae8c41417db732b6c82023100d38c828a43ae6590bcf54876579e12a04200e7ca2f1822669b7c313daa16a3cfea9f330d2014f6e7b63887b7172aa85b0302047c435bb500673065023003ec2ae505a549340cccfb5cda211288114d91ef7241e828f8b13b1c8cf61e82d1eaed088036f907f13b5a6e6898054f0231009ca28bce4bc23bcbbbd5c2cc45dd7053c21c1770f9617115c3fe9466bd7d650405ba93b51abad6b240436e5cce8fbc960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b809ddccc62bb41a26cc820f2aa8888bb2eb3793d7c1645f72315b0bff95e524e485ae3101a911ee69f3efdcc79e73de0230141ae53b1ea6b718b63c1a11f97d9db127ebd3622a1a900493e9ded90199b98394f1fe509ac82e1f5982ee4f274e779c0302047c435bb50067306502302286a59ade91f490a8110e60e858476da909ab47136eb7475ebeaab339d029eea288060f1afd56dd4d99e7218bd3936d023100e02fd06cd38897a45107c888bcc0c4fe1376c3f8e0fbc76c000da71f76a2603e3dab82bcd8a13618ce1b1de8361b41a70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100af3463976b1e1fbdb24ccf67c27d1a40958eed6d38190c2817af7ccbbf318dcdc957f2cedd9ad7dcb8ba9c644984863d023100ea734325e3a425069eef76bdfd8b801a5c14287d37ce99bafe010e6ce8fc4a1fbe4e1200655a59c36a717feebe15fd4c0302047c435bb500663064023024090d76e77268f536a17574ff0a48dc54ebed8f8a9676ff3615ddb1e77abbd7e148ef0bca48682c603b82c73aff311902301ead544a0610845d088afeabc18fcf2e078b2a1f4303d80e0e1275dbf75509e4c099319b1e4a5b6c4cd7d7fc98653fc60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301c85c71e1fe37515d2719c0d98d66c0d8745ef9be49baa73251db9de89a37911d7e14e8dbd71fa2136b79d6f1915907202307195b80d4de8d5b84cc5db6493a3ecde7716e47709b64a43b3faa5a1c3776bcc6f0ebf26a450537c6dad55460d2f6eb40302047c435bb500663064023003e105ec2cb8df1d1ca7521043103d9e5b7a10689fe81a4aa7d3725b65a191c52ee85fe62afe36f2c9a89e68447e031502302f29931b33ce339471d77f7ad90623b4d9bd2dfcb60cc3b27aed0bb66dc0586c443d16bd2379916fff744564ee9a8ed20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dd0a1b3e06f1d9e921b427a59460d90194b7f681b4f8413b5a87c987604b99721d4faaf329fbb0c94793b2f40fb89722023100ec5504964f4e0f87857736a8c1a87f2f6050c6f0b86ace275edff5490909c091a419a504a18dcb29e331cbf6bf2f173b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023060655035977def4edcf2ecd9e54ca0c419213f3e58215c501d28d0f316de5ef0aa7ff37ae2d7e248ab05a34eba48701c023100d61fe5480f31c8e0ef0b9961622b0987c9ce1b975d95fc95246bb5e94b36782e0113e11123b1e8280dba8e6d41948e2e0302047c435bb50066306402307f50a9e42937a8b4f5339b5c684371da5d2e109fb9477e71252f97e57d9fdea21b98380a9a43a99900baa67499d7598902300348325f616d7be30d73c1fd47101ccca53b6bbadfc20f1bec672e40693dd768152a4ba014a03086bd62f089ed16a65d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd43f5f2f6b586cf711c5d8404f05b5619317e49b69c405a35207314ed678c33ddc4c9d2f00897813eaea11a2bc9a55f023100da3d4202d588bea7b36f3d2eca94e069872931eb5324ee591323dfd66c9d5560035720912f777af29d57e6869639060a0302047c435bb50067306502310088555c5fbab3299c53b1103b07b83e7c6654abada43ff2db9e54b69f4949354ed74c1fe6a993372ec81728eab7aa6c0b02307378e19b32721a17bf9afda1de21db205e1e89789e2807306a7c4cedba6cafb8d36c38fa219f3e18b37e05539d2ec5f60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300e38f810a62ffeb474ba5708858ffd9866f16bee1b8dea15cb8ccf4f630e1c1d3f834ff7c3db53a7e6ef4a33a37c1bfe023100c8471fdd9944da6e74ae0daa6fbee1c475951e3287b039e944b6104b2052a56729c425778e09cf74f7463d8a133f29a70302047c435bb500663064023006a7c31c9d142245806e338ad71164dc39273761e7afc2800aa53435ac0a828be152be904a0c46571d5dc54564fcaa8d023037c82b50845e117b36384be1e40b3b0e2887a7dc8f0fdf823268729ba24ed378b21bfb5f5c572a542326b327fb3a400e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023071aa7c2f18ecbbb0a10e608b6345efae697b07d903e3468020ac9f9f8ac1e42ecab075c3df6ab2778a200adab72636ab023019f640ff435da39736a7c3f8754aa499cc3bb69a2daa2b22f0ee8f9ed3255daceac36d14425285ff8dca375874729a990302047c435bb500673065023100a5fea337f6284a20437536fd3be21cbc2794bbeeb3774d2d882df92e252eb5f3091c401eee576a0dd4298367da6199fc02302427a8ee4b25db3f8fab3d7487202f8fe632bce21b78f8819cdeb6bd0e3e9d9634212e90df2b4dc71f5d38f31cbc657c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310086a68fde49da5496a6c07e0f52549740b5c8dc8f11c554b9a97ce72790854aab1cdb88910f0ba3c4da73661dbd1f8bb5023013b0e31c257fca487a47e35cfee9411b9917dfb1fdeff0e490ceeb5e005d10b8a2e0fb12a8263c0ba90f421d823590d20302047c435bb50066306402306a2cf0f31e64b10ef6b236d765ea29c666cf8254561e09deb85e5693deca0466c54983d1ee77c47b3f82e9938441727002303b2318ea4cec3d6c92e6fbc7c271c055f0424f8b741a9fd624b09380c21404cb79843b69644bd1be9aa823f57b01cebf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b3a34c2b0f01d31613ad64f0008698166a468e94e7ff89a2c2dbe6c2cfe97279bcf807b45ea465971834d9ba08974675023060f17a535e1cede93e5e1f867137ca4fc3654fb82a335960b5a2aa77c01d2483269d9cd46e1e5316df50343f48c9fb2c0302047c435bb5006730650230282bcb01c99ce6d761f180b4aee6f6a59981f656ced6019731d2a4187a18b49ec950556fbfd1654c9db895115e817882023100e606aefa607a0a356ae31984f507e566bafa2bc9808dc6b8ff72136006a62d520ff3659f2bb0f144ca0ce0cbd2c814610302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c0cf0fd01faf0894285c26a1cca6d97653523e2c38aa2a043caf7de18cc71a07fcf669c6acb3da20f17ca93964432a6a02307a050eb3d1a7921306c0ea63c052ee843b04bb651afc0141c332ccc90b4a93928f333d8a58c6c253dcf5ce5e71b1fd3f0302047c435bb500673065023100aa998c8f3bfe9fdcd5ebf480645564fede43da59a4948e23caf0ea24fe35785b236a87fc2249908a0fce520fbc959d88023073642306a104b3e2712320a15830c4df2229b34629f25a0196cba0d8c1f2b9424114d9da38ba6f447f01afa2911a9bc20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ffb3c503e2ce793d796e5755cc06381b4ff7e4345839f637d4d81c0007e3872d5a8c316da2574f9f9db00af9ff136d6c02307b8595fec5518e5e244e779021a73bf4ac14a00cd421e69c4b8e820e221dffc5c42dec62349987b8dc42ba145c99a98e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b73ac4e75809c1a86adfabdc21f9aeec5c5a422450fd0662f7766a404a9bc54d8141846c4803bad8358a8d67c83bc2f8023100af01ab2ea368ce8d887f4e2aaa74ca62c58bf1274b04fa2e7858b35745d6b4be6043fd0b71e680824bc9a7e1569ecf580302047c435bb500673065023016f3dc4f089ee2453dd09021781c3a24acb76eba962281ca6291c621ab4329db1d870fee4bf1ad14217022fca2ea7a0f023100f7219f9d663b94860afe8e712630d0635b0d0ecca197fd2d093eb300c2e8d5279f7899f7e0740b5f5d624b0083a5a08d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304877a2bb3740779b03ec648e9fbc86663f17e8294380ef87c0ee7694a85d8653470d125b5e95018a0b05fc35b8751a76023041058707eb098a4d186a19532f94d8c6b1389b87df771afb323be0cb9cd96011cae1f623a3a79fdda930d6e8553be0fe0302047c435bb50067306502304f757668282ed7758e8f07b10bf6dffa79e044d26f37b851025119e87ee13c523b1799ca92a5088e57b30f32d76c6918023100ed2df2b220de9d957411c0523c098c4905f751f8c1b36829d2a7744ea0560180f24bf2c6b4206d4aa3709010c32011c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c26394a5b93b5d44b51e706fa62f71feae51e42620e70df93680fea2c11768d9e421f5697040082793591cf4d4639521023100f94b0d28dfad37677802eeacc1f9294a8c860c3fab41ec2d955554baa865509a6494febe8752fa2d94388d4db0efb1d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023019746d233ed203bc84335ffa78dae92e39fa412863cff4034f76e7a47713d85be58a8594db47d7f38e052acf379ba0f0023100e467ad65bb01f9b8a5b51b28a459d216a8c029a16e822268047f213cef2939f77fd0fa44a8967688ab9fd137abdcc1260302047c435bb500673065023041e964c50fc2dfb71d2719467fe2c0f487dcb14bee55632dc12f2117abc252a950d2d9422afbfb37885f66848f7f60b6023100d02584938fc696e30fc5e61ef4ad8c2a85997aae7ad69b191f101fc967c9a2579b5499c82c469784424eaf29f039c8780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310088f03ae27cbfc296f9d37aff974b448c6a61091c6fa6ef8cd0370658ad365cdb5cc3e1b291c6f116e57abe29dd7cc707023100dacdfc64ba191548dd997fc1ab779a48ffd3dd715ea7e26d6b7f423a9ef67f5d7cb69255ed5fd3b86bfd9a3b98dfa2b30302047c435bb500673065023100a52fb6b451b3859968319823ef210fb3abda50ac4977147866b770f74c18e29f93a14580ea26bc1fdffb178d361a25d30230674cf4eebcb20a2052507b9fcdd51a9f02b8cfc53a4f28fc0266b02f09d0b238377b26a38924146203b07e45bb9e5db50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e77d90a4f0dfcc7162fcc8a2e8aa5cea0a612dde0ec8c5ab668467217ed4369a4689a4020c1a7def1ee6b3a8a50ecc4302300ef52916689880edee0d9aff4d93764cc89b87a7a52a0347400262f49bf00536147606051b38a19b6f444489e46666570302047c435bb50066306402306476dcbcf30d66d7e7536be370a4a7aaa412793eef8def6220e9659e8993ca26b8897cfcf557303c47b1dad6d3d5c44a023039a66c77b88e49b716c282d599665b67827e1786fb42d6273a9ef81f346e8df225bc7597eb32d23391e985e9dfaf4c8b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023056d7d3c7296026bc7008d59bff99e0f684facd30fd3d4309c5931b9d8437907b4a2ab6a0ccbd5c37035d48b728d749bd023100fc40193d91a2c84b3aaf5093bb944bf1615c71613c6eb37352af00e92012180bec53c4552367a07509c815db1f4d4e680302047c435bb5006630640230385d6257cd49249cd927156eee345d9a3cb2fbfbdb52d8a677817e43c313f25636b466e6845ad819741708d1fb75681602306741c558c82eb608e4f4289ffdaa5168d4bf72c2612c0004e3490286102c44fa7820c57fd5520a87ddfbfe31661c6eee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023079a443bcad230b0e24dfc34cbdf151b32545c7b951e50bd818954a03f204e68dbf1fb64444c6e57ac0d41e369622c84802306dc3c31ed2ae3e2f1d67312b90b5c8c8fe3831e475567bbed4030831238bf88a46b904787442caa75d47209eed40ce9d0302047c435bb5006730650230242a2ad1959b74c077a23beaf4c4c013d7ab199d0254576c6639e4b433a0b7d1f39c67e915d76361a085d1ba7b6077bf023100e513553e1115c65ec1bab498d4b6e6e2ad22030f63b6a153bbc7b875eb46cdabf10b9168b032ac8b0042f8b1aa05d4850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b10caefe818f64c77d8faf6c4ce1776983f9553ae855c10c0c6a3ad83a7f0cf7dcc085acafc5db6b023869ef4ada850502310098baca0364bf4eff529f6d78aca6e8fc0d9c7f87833bd3889e429334721565a32393dac59446d788b46b3ab37ae783f70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bf770a3e0e4ce81c93046732e3ce0e59b185a1edcf763e9df6ed6496af194c06d680ec6c5e64b01d50a810b76d38017402305db4cb591c1655080018cc7cbdac80a3bb41da8d5c46ae3b131f0521ca2fb96ff479e33a367a4174805669cbfb77c8410302047c435bb50067306502306becdc062e04f8591333bc706128d05c92a00222c48be1118a8fe2724993ec6381f8263f147c2939392503659bfd7f8f02310092651b00b8305f4826dc3315773ca8da4fd69ad076eb11ad8ca69cba558ad1a31f63e44d755d411da8deec6f9e17f8660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b9d1e48fd544619b1434527f1fd2f4713e8594399017a3fe9e2d0db3f581f334100ae24f23ec70263a42d866c4425bf102301440778c2513d75599c93397857e65cb8a3c2da0f0af112c7706a55edeeae27fe5aaee5b93c3e9f1e4a79a19e60d641d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023051075ce1c7ee061ec876b83465b8f2a185aa04ea7a2cec7bc428429b081bc04190ce8d9411be8acb1864d3d2dc0edc1502307228051813959f5e5ab0128e64f8b54ca2b2bf5acc9139ed4374e92fbfecc7c96d2a469d831785a239f9b799aad53eca0302047c435bb500673065023052673cbd4198fa48405fb209405b00306c94048bbc5cb295c48d5ab57dc2bac98fcc88517f0f8e6c135efb659d72f118023100fff6eabe4fbf04a0acd041f2aad1b628a21aa5890911e34da03b0f283bf88920013cf93f538d63fe3f87fa3dd48742c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009483e25196b7359c1a65f4640d62dfa0d9f48ebc7a1f78e7f88de5c4599e4c360bd305a14e32b7bb9fa4bf7d0df645b6023100bce9d4922f228ceb03908e9a6615743c006f3b8bddbc399de2ed9fce66b7e0fb43a606f00cd8b6fd66a3f1ad8bbe03360302047c435bb50066306402307bc56b48094e9654c986037b1203fd96bec5b06204842688257d32deefa4370a68b2756fbed3d2e007846cfec84ee4c302307c8be8fa470a960c38b84da226539ebfe1f3aa9cea7588796b8dbfb3c416a92144a853521cfe4bbd4fbb8c86ff28001e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230039bce65adaebfe9e2b1824b2db65d6c7606176f6fe099a2bafeba6b21897ea0db148d40775cc41dfa56f48e8479b05d02307509200f615013bc5afbffb508e2c17611db6298f05cf226723846f8c9fdf2e3d1b8b8fb6a8c7083f64f30060a40a77a0302047c435bb50066306402307c1e6c50d51ffd556a15c0019c6d23d3ae40d8c0932fa831b255d103239c60116f6c5bf98ec251ca83fbd5e707ccf1d602307741e61388b07b9262621d3d9622023ef1160337e854313b2a028cc0617927d28025edec6f7fcdab9a291fcde4b177290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023016031b0c21fa43f538d8d4ea71c5530aa51906ac2bfb82de0970b980c7b04806b0ef5d5173eae086bb88e0ced460d656023100e1c122a990ed6eab43bb4c5d754538895bfcc713f4042cf7bfdd6da44890fb751577afb602f70dbc22da65fb01ec0bed0302047c435bb50067306502300a616b512f089beadec42ec591808266585736f0066b5d2c3e039795cd3748b2ca2d1a3ff693dd52824be96e5bc5d1b9023100a5300c4dd3036243f2f76c6270b5fdcd372f41d27f7961e6e9a820956592dd92dbc03d7b8a3121412fa4957f4aeb001d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e8b15228a9d63962be1d8d6449e35a58da8693285d629d42ee67a3563e6a2253c7d40878fb8a09f5b9865065ceba1940023100f16257151d4eea0fe9dccfd3b24e5e4f05ad6f3a63cfc9d0549e932dfc09cf83b8378f4f4d71ebc42cf1d81ac5169cf00302047c435bb500663064023067ff215b853dcdfd2b49669e6dd5720138d875794e8eda011aaf275bbcfb3a00f21886677f5dde88879939ce7a48312302301fd2ee91bc1d9eb2eaeeb4e9a5a9210b8b7355ee69d6843dc72de98e0239537655138186bc0917b3907afdbe00fe4d330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023037543016ac4ea85d6ac0117e919c88fc99562cce2ddfb9666e914a5a79dc31c8e802e31df20f2446b6cc71323ef9efec02303c2085cf450a30ee9b5e4daff7e12dd4666f5a832e6b52a114c013b41b3a57b3ea27921817b60d613e22de64ca7b83940302047c435bb500673065023100f302a1823cee08270a6e84cd35917c3f966a2592e38fa4bb59466ac2ea3197aa0aba5b6df8b5534ed1cc28bf0df06b0902300c8f7e4f97eb1df1cc5cfa5c81e8bc34537673768f1154bfb63b5f6b948ed3059ae5584ac95969a24422a7438690b0160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023071402950d80361ae746462d9e4f0cd9d667dd9f0f8b519cadaa050e9e4db20e6c3cd8615112f30e75c44ffbc56f3813102303c7d736798ba5de4d85e70051be8ad2b4c510a040032bff4de5c3ac5d19e46deedbe2405e808454cd17ff43c5ec2dbd90302047c435bb50068306602310095f29addd4d7786a76232ed95607f76e1a4406c8624aae6cc73df4073f4f13569ed59b950883673d82de3699f526713c023100e2d880d8088e49a918a11a20953f0c666b66a67fa4ac8f5030245059e9ed4f56e2c95e58196d3c50ef3243327cdb99af0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305462272259a9636542dd7acdc5eebd11780deef2e978088598df500637e791c9dd5b13aebca2faf9d7131d9c83373ae002306221503bc249ff3851f707772d205827a13f0712215b6cfd45acc8deef125cca7c9ada86be0551c3d87fbeeea52491200302047c435bb500673065023100c7174df7c1695b04e1913ffe9021accc574015ccf2fb3f39869d781d8149a0eaa419be249ec4bbe45d5ff5e99b14bb8e02306586b007dc40b1379db7ecb17b0234fc320524bd45cf8ce830d820e561a74d19c7e8f47d5c97332d85ee3be6ab0b005e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307d0794809d13475b802223a64b3a484682eefb444484bd293beff0b0450f2b08e0c85e460a680d96cb6286905ce7433d0231009d3cf5a00cc6ae865260b822323df697957b437bce93cba2d2de382146fff3a180a7281c87497b436c9bd76635deca0e0302047c435bb500663064023033dd0e014a02b34c2ef8e19a038e26e3521c115c5b07a5b1f52c3f2ad5088e2561c31814e1c95607328140a68d5007ee02302a373e2d1ea95fd33f171254c6784c06ee47ca34b1536e52e3217a526e07c797a1dcb79e9fbb08e7e59b38513e2f09cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fc7a4b6e8c0c749b00d814da04614d9c132ec86cbe449a1071808846578aeaf6c4a8629640e4893e07ac1a88d37c78a1023100ec31ae7f5e11eaae8df14d559fedb1f7440b68aeb312a99c66cd00e858d74830466fbe662ed89a2d81c8dcf407444aa50302047c435bb50066306402303854158a508c8f9b806bf6a4d87472f7bbf992787663b8525e0b24513051542de000816ea86d45e88a61dc0dbbde6ad3023009353075d0e724f85f7b901ef5f3a37b92fde4fba53954921640769348fe617cbf9ce4a780ba7190abc3e50bf90412a30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302347f6fa4bfe3582937ebd59787be73e70eaefe2856376de4b61c44b3bbd9847e6ccd01fd23bbe8ca14714fdcd1a173f02310080a4218be219f6132d01c9dd09df43fb25c8c41c69c1b0dc05ca801fd164b17cfbc6ebba8ebcfeb45211ba28ebadd6af0302047c435bb500673065023021dda08739964e4e4239fe2af264a3b99d0b832bfe3372988575410f4d56cda394a52339c538df07d6d7cab3092a30b9023100d668c07160234bac1d576fe59fba395eda821434bf7eb77d26e1d28614b7168a3bb542bbd4ceacbbfc1a005f36b8e5750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302131250aef63f014b57bfb4369e08c63121a1d843f8fcf532b170ed84f82969200cf212b1cd55dc8309e1f486c2d4372023100964c245e22e4d337c387372d37fb6263806700abc42f96038f86224c2950524e3f34a646fcacd7120fb94a8a46049be30302047c435bb500663064023050fa2ee1511c6f409b78f28b4ee96466d974664bed3e0cc886313ceb310818f839749b45e81f0c57203db58fcd8cf06f023009e2e2f3981d31ea3d9a71f2e68f996e2f85a43d193b0d6b427e63c4b4120e042bc625338f95e701155fc747fdf63f920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023065acc0f2f51f3ffcf9a144b1c36e1199c0acf573a36b83e14c297150d3a4a165076f10d1d2158ef65af64254a72a39060231009ffab693a8ff236403f986ed38730e0a7ec9e6ea3fbcf280a16c95e3c347bfb4a8da7738b2a968da4b56b0ba8e68c1b20302047c435bb500663064023063616a2951727e971657819cdf474d23cc6fcbcafe74bc32250308eb8b9a09c04e2c25ad7407282fbdc8fd0550d167c00230274f6b31974a0ac71cdd759fd204c25784cfc7557503c5b2c021f79e566270278d274eb897f087737aeb2f63a34eec900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a895358e5394c289b7bf0de6c8c55f24bb0f60b2fbda5ad819c4b233303a3ae9b5e5c41bd010d9669cf7c116bed68b81023100f587ea4c85917313028a19a7e2f2439bf8852f6d4a91ef2fb33d574d37e75c3806e8bb91e9ade0f46c82c3885a10c7e40302047c435bb500683066023100cf26a5b460c0ae0fe71554503784bec54ba6ad44bfb8c3d3503766cbd5a52133b09e6fdeccb4a7c4c5bd793c31f98aaa023100a8b2d21e4911b9980e3a1c50913c61bd0fc91819bac7778140a4cea44eb05c8ee442076c3b1488f6bfce51576dba825e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c7a32ceb073fcd02c97eed008b82acd658ce60250814ea16cb546207b9eca2f038ac8a5bffc12a71b346477e2873099102303f9504f65e8834a52b8e7d8c552fc2a73635f3519c62a8b3ae1f4c156a8c0dedaaca5543d00b807db879f8a5dfd6e6ea0302047c435bb5006630640230117b92f28ded5f71c9d71b2c4d8d49d43a6b56972a900dacef13162ac7d6078cc65d420c9aae21d5c2f5b72a6ab0e81802303888092b35466326328a34e8e8dffb40145a427d0ef0b2e5bc561d4ec392504e6a7dfef85d7bd39de2658fa96c07fd8f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c2559c9da8bd4d4b2a211a4bed854e0b92a37507c9631d9596399c022ab55cd9fca27a4ab1aa97199937970809875ce1023024480eceee6868ce2fdc091dab076c2510565abfae98d88f148b20811a8044ed9a68285d1bcba4da991e87345ab2a9b90302047c435bb50066306402304199f3c3f1a17ba5b44af1b2340a6d9ff570e8bc8e1f20c5db090d2e13bfe3e369fcb31b843508ee768db21c1d8fb78e02300e7b4c55c23b2b6324e7ea54516c019522b779dba87141305f3578357d004936e9c656d0f8e5c5a5aee4d957cef799ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c7931491459dac18c830c9e81c3ad35de677ad7ea259f4e803995cae006583b90dec094088907af127e9abf16c6c8cb202304887ed308a4a0f4641ea3b82288bda0858354562abbeb20e1a1d5ac4b59aa377bb342b79c3af6110954919c8d11ad5f90302047c435bb5006830660231009e28f1b038dfe59c90504857ac14766bdc853b7e6cdd24f17d96bde6e047d2fef6a57f2bafea8bc18fe650416b255b12023100d25cc91b55c482695d15e10520c4a83db6aeedd75abf7884b38eb062e2d5fcaa5378c476eb2e016b219643f23d7d35d70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ec605391c9caf947f269dc1cad8762e7849249c326a2f949154d48e18167503be804c72968ce712668c539a94f17519d023031fd79c4d56f188a85a0b55e86b1db29cfdb6b8e3ac957215558f95984d22f457e660c668878f8bd6b063c3251ebbc180302047c435bb5006630640230505000c52f70f871c4b7369857550be48cbc1b8559b030f4473ae3780f5fff1a75ccd2c01c65d0993d17fd55ba350f05023001bab18170fd7d6395d2718a79b7c4157ae423c1165025ab696fb16c1784007040c0e15a270bbda1503abd2375b6b90c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e4bf092405fa21afa8ed997ba5f0a6bd632ebc9f2ec4793c643abb9bfd1f4d50a286491803c077dc935086848df31d03023100fab2280591d817ca84acbdf300478b59e26a6a8ee9ad1843260d8793bee4e774f64bede7cf59e95e1e714d5335c27f3d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230473e997ed1ccc607a6c88eeb333983de9de2463c0daff200b130cabdbab02ff0c523e79eb4b6b45d8d369ddaa263683502306000a2b23d8766a15c55341f5648a052955ea3cb965d6e3f93bb75fd0fd2a8f47c1b0373ca326ffb5d865c921d34ae560302047c435bb5006730650231009c87eb0dde7ae35b13d25d97a81315469f7e9e5bc5b97247d07571bb27deb8e9126607aa5e70db9b70567ae847cfc61302301aa6a28407670da63f25254695af3af6a0d5590c0cd1da79b722712bd5dd8c153f7cd4bc41dc76f55ef33d60cf03bb7b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008ff1825ccfd29630f17b2d46617aa817751e5c077ee0ec6042f592711ca279d31c4c79727653444ff1e04384b8695a760230189ec3e95387d32c6147c1266dde76b579d8b84d57791df98692f4293e960b8340047775ca4ef8ccbca54187c23eed9e0302047c435bb500683066023100a7ca8572018aaa364311a9e15daf74758166f89872a1f004d1e33c33759c73f0fc00bbf5ed3e55943a230f1d0175b28e023100dab5f45c71a0d39b94da2aae908781a66a5303cf9ee9cab878fb3eb29cb0512ba850a779b255be959e4c575c1669c1af0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305c85f1056639afff02aabf4e805f14bb38fe9196584eaf3090c449bfe4a3478df1ca28f6c1d9b420a2958778afb6745802303fff1479490fbbdf784ac9052e2d650df802f11782646c2e90238dc11ab2a10f700baa45e2c4188eb451fa654286100b0302047c435bb500663064023027fedf897328ceb8d56dac6898a927f26a109ced9d503762190fff2bfad810daf5895c2e34a40407e054d462c47f305702300e450c27a9bdcd56ebc29ead413c1e6a19a6a1a00a0ff144d0c4403db8e6cc349bd4a24be53b7ed9c9d3d368611ee9510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305d273a670fc3e24317e08053e5cdea3b1904f0126f5bca110d363e89d82ea114ce756564f8f29b56074fbd372f3f1116023100a81c502e41a9fea646e7f9c10567fe23b92eff32ff7d6370a17742999d1043742c6232470e5721fb2dd362755a6a86050302047c435bb5006830660231009f8c03c78d29ee4e368f4a96a312293e9e360a3a9e3596d07e4a0501a1335fa016decc9c9017f85ee37bbad7bc8857ce023100e91c1669fd72732ee06267fd782d6226a41443d51fa9b859ff5e7b33211b40e8af9ea98881cfbc3b0825b89bc971de2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230554de2496511cf60a0519ff7d292089030db5c0848f1bcb50ef0a48702cbde8fa0f278ab1f634435f16643183a0967d202303ca0ef6dd0297c3e35b06b6242c80cce57091be7bf5220b83c403a7a1647851f139af17b0deaf7d8ca2b33d3436968f20302047c435bb5006830660231009b8f92519d7ba9b6acddd6c2cf8a06d4e83d1b90af9c9ba9a575315a942f32d539b5dd0f10d1b178eb9a6c1df7fc1e260231009633dbe599f620458fba16e1d7f2d88bf649f6b817c9792ac4fe2a49d8f7184ff9641a35f4643c8ee2a1dcfc888ed41f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008fe6ee5a946339461d22aeee1ca148a7a56a89edf4bdf507c9ead2021edb085cc2bca85402c20dae55716884b703448e0230769b0b4681ed69a1c0cd3c766ea98931255f8676fbfcff72aa87741c1c91031c5cde157d9afb72426d41e63d2fa6e8070302047c435bb50067306502301547277d60bc6b52a474f11e5a4b048f90f74754169983a5b1029fa0cbc4202c556bb8159ac4aebc5adc96d2d2414bed023100b50481247bd0b03a7af9dcd014f094422def3ecb9c13ece64637fc05e0e98fe5430df80f55d5c85b1bfeab094ec9cb120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301e10a842bb7637ce4474d26fc998eeb5349c48f515514966cc13f977d7c4897ae2433588edb78f5d06f2780bc44a1ab9023064b163eb93144a8b1543d12d8228ccfc4c50fe7ecffb042d819aa2c00301827799c089147725d7fd853b156f36bb55f70302047c435bb500673065023100ce36f0213b8e64ca36efcd8377e7c0a26a0ab0a0203ff87ea8e0d4e17c5242cf718670fe807010b324830eec29a943cd02304ef5841c981e39ec10067becae6445d6e90f20fb61c3d683f364132b9c0675df190135d307f453bfcd27b8515941bcfc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008a5ebc26fa6b1e147fa18e0f36baac0386f5d1e2f61be66b62c9095c4b860b54aec001a8fcd93070222601b56ad8f7d302300d4307941bcc6393bad752945301d2bd22c253b6ea8550754f9e0aa6f6ad39b9e40652eb0cb4bd2e75018b6f8905a4530302047c435bb500663064023003b7389d281eb2966e82b78007ca9f9186ded3bc639595aeef56a2ee9e1b2b09cc0b7104447394d258cf6baa08ecf15202304cd77321e1c30de2087f94a4487eaa7d3b9ba8838528a89ab7cafcd1d3ae579dd28268fc2593d7e51772198af2cacc9e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023066c403f1c8b80ec45661538a91220498e5031f4a0087d314aa7d01b41943dbe8777d9bf64838b7964161e488a9eaf4b802310095d651c9eca26763ba84fdfe05267b63d107f9c8ed3aaeb92449c6d4238bf5477f2e4791940891c1848eb0b25e4d15020302047c435bb500673065023100ae06ab7f630db5d057e74dc38b233208ed7b48b9d50e28bd3d135b36125d5ae997d561dacbca5e33109e93599557c186023010470ea853396af40d5b49998da05a08a5ab5195f08265ff7211e1df00e8e2610e170fac9ce128a8783b0fc01dbe15400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fb0b76477a55487b86845dc19e1d51a87ada29b62055a2d64fb18ab7309c504430b757b163a12847308c48411094ee10023100d31b8306999193132bba23a10e35e448402668cfff2e3135ad40b9f110a3fd5e7edf99a51ecac5ec09461fdc110e4b460302047c435bb50067306502305d09fe2ffa4048620b5ee073e444541213b88d3eff0832ad792f2e0ac27cdbed7cf48e2e1f88779a52af5405e92dc989023100bf7463d1f03d5b267537f8dd7946903d472cea7fcc747b39561f9a26b35cdd8c1200dfe4d1d82fe6ac1015c488d8b2050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303ff60451e3eb2e1e4b36b03f445b98c302a88bf04c0a71f69a2facf413daf178e79a0bdcbb067fdf67efd68329991bf2023100d41d7b9587b9c9fa97f5a80083a110b6fa642baf7f73937ca4ffc9bf1946743a1ead33fe6cfc17349f6dbd224ed670b30302047c435bb500663064023039689c9890fa4213aca55394c44491cc173a0bcafeda983956731f4357da7f98ecf1710175b3ce934db6a5d3cb4cbe6b02307ab88d2e9d298e70290c6bc9ee94a671955cf438ca978c7deaab478a01228fdff14dc7e5f2066c003f7e784105da98920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303deb1cc12204388d025bf977ff1dd0329b1745004255a677fd7a05802f6ca96a8d545a10c345fd151572d600098afb13023100dfa3c960895f1da2dbe151df833f65b70c2f53653c2d71587dd8bfef54c6da0d0b904bfd446c3a7aa99183f3bc547e8f0302047c435bb500683066023100c6c38a228392f3995c028a7047362b049878a7a095ba1e629ae24f1d0c2df1165c541c5f17e9ef5aa74e64ab6d955519023100e6a811fc38e95995b92bc1ca42df451bad2740936231b2c7605768753205f386b5f981237c9b542b8183c4ea05875ac30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fd7e5d4836f5ad3eb39f54fca9a019ca0a78b5fe833d2a88350a73aec8eedfec802c95a23ea83830202e44ee4cad191602302a1b2d2054368f9c714093ef24b102dfc4d7a97dc2f68138639123cba9fb38d03b9d30d33fa547badec337f2f64647df0302047c435bb50067306502302c430243695a3ad59a804a929bf960c4c11926bf17e83bb9fb5eb2d4ce379f68e7c4d2554a0c39a7b2913e34457c7a13023100b1c1582040d2d1e44952fb7f3b9e0ba3bffd382e0c2529da8ed2128e78b49ee0036710a22bc6132f2c3def453bc2a4970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300611198140aef6689b02ed59bb8a3ad1289c91ddb2a9700a027cdcb7c53adbc215887f628d0f532aa8efe9aed47830dc02301d3ba18953124ef0394fba9416156afa0ffff0bdf0d307d2aaf5c7df36d8922b266070894c5c775d4655b3c3b67fbfb30302047c435bb50068306602310085b984f17c9f6a5807ebd6ef609530e2d0b5105622877678108beb58911eb751a9e314bc99227aacfb583eba9d9389b1023100d7b57238181696a14b53d35250a7bee6455f09b4fe048efdedc7494e50f577469279e17555e6fc74c362ab7a4c25bc160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008a32dc5da628a1e6188eab135d7f5b652226f4c0ec962fda94e4db5b8302aac99ca08aed954e02e36e382f69e1ab6b5902302d5874e1120c1df47f46aae60fd86bf70e7def5408943f007ddaf8c87692303bf7e1c57e5d9b515845c8bdddde0ed29e0302047c435bb5006730650231009d70e7f49749d4380299d0d4be063efa13d27120895c09ebbc96d8d6f55117fff2ea54dbae400cefa2e13f8b81b7692002300dc85482dfbb68696a04c0f9c8c285a694509d1c2fede5208b77c8163398d6df7e350e06248e456bfc84c1dc2e84e4fd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023075269b1b7ad40576d90cbc46d75ab86d94177a4348afaf46ff0ebc85eabdff51e46c68e74e3db57492bcd5dd8e75d1730231009ed7eaeeb05c4a933c6898d3929bd40d0e49f11a6c4f1d9fc5180e16fc3703449878c2d5c07feee35b98d7083b21c8e50302047c435bb500683066023100ea31aba565a7941bc3513179c14e30ccc1960df2811c3d02457d600dbf362ae247b1f91f9e519262c26fe21125eb8ff2023100f24d02d92b0c1add3ed7926dbc37d9b0e3cd482e2a564102aeacad5d989f0c33c9c5c5924aac94a95f192226c30e05aa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009a66dd6655df128d49db71b7be39751fb69249db1b56bf745b40d7e99ca420374fba757901ff04bc1eaf7699e4980f5d02304a102044a91ff380f6b6ac1d14dceda77d0db323b4e4060a1572d0d65780a2db6353a097ffe442467b7ba650d31a59c80302047c435bb500673065023100a82b1ad3c3a256c336ecef4f82e6643adcee03c43b7ac93d185014022192a074f381601f695c42e30895d49d1782702e023064bad313ce08e1d4bb955c977f019ec31221edef177731820f7ff84211baf53ff54762bc30e2fbd4f06f2de7f36ae7d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bf6183dce3554d1f02206d56796a8e3bac8797fe329291f5a8416504f555de5a38243e9fdbe5703cdd6ea0223c210ab5023047bb09e583c6df9535ce0d8f0b35a53b8c04bff4f17e47cb18fdcc146e2a7cf0b26f90b445360efe7fc9ee2cc00f7dc40302047c435bb5006830660231009fb7fe99bdcc9b2f20354a1c58a63fbbea0e552f48eb58852105b3afc66f435e30e62aab03b4e80aa81948b518279e4b023100c725a1e0950e9c129b233e3d5bc31b7a07b6d4ac50df964c52d9914aa68bb0c9888cfaa21be60972160c654f1e4857110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ee76531a354accd089e22da3f20e9e53e77491ac12b5604e3ca4f6af29aa7e15fc972d48786c14ca667656b8e4bd9591023100b0c821c363ef8d9282c81a44d3c977181b9adaeb04ea87e4ced7934b0d4130b8b9e7134fb4c02ddb34c384744035b36c0302047c435bb50068306602310087e32022573d028442e68941854fe839c42dd483c3dc404c84d26184d735d48f0ebccbd910e1d494a71e1e90fc534dda023100ddef69728364c72630892be478b9e5f2e0d686115e40942be3743a90164d8aa2e395609768c156ae25643db6c73fe3010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301566eebf391ef25c9c93a973bbdd6b3e1cec8227e421d4588463090a446ddc68153b4ae900ce540d0aeb19bca8a97bcc023100df7b8e05c9b25a0736fd007b8ae1e146d830df8bbd57aa6f728fd3892843652bb13b8faa6ceaa9d250637868bc648d1d0302047c435bb5006730650231008944607c900a2c74dc24a59909bc139dfd89ca80274288c643960e9d8ea83a2eb2d61dc7f597875b2b36deee17df412602304a5cf5e991486149df37658ae436701ff5e021c53aeab059e3f912f65f89049ca02ac747588257c5323c83ee2628a8a00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500653063022f40924c34de03770da47647b2195c840e06c912f43ffa0b83a59ed97161c636dca4b71b9799c06d1fa30e2c37bbf31802301f84975a02648fdc35c6dda9223bfcc90ac74812389fcbfde62fb6ad9985ffce33e47fc176f88a0c250e6166e9b5311f0302047c435bb500673065023100ce57fc9732e8b7d82a13d070d6cb6f7ace00fe29b31cdc2d5a5200087776f0d9c535085be02c6dc16125f455232d7e430230550b009684fa6ef0d2f16c6fe99a908c5e4b94dbc0dad11aa88cb99cfd66128dfb97053b3a9f458eaac44aa8d0797af20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303705fe427c90cef9d481d083619bc9db0bb9087516443160f4568acf47b7723f77e20449cc3c88d623107ffa48479a1e023011c99152f43cbce6f143edb51ce90f84a188857d103d0b3c487c3ec593dff93599307a548a51187fe09e3c92fec66de50302047c435bb5006730650230489f1575458cfe88ec860b51beffac4df6f154dc833e15ab46a950fd359535f05931b73b32afddc2b56f87d19420dd98023100c259a50f07de03f61f44d88a87b09bd9e6739025e48a6ba241b02270ddc54065416b23619fe22e7af848430288f48eb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008bcc722c7c51adb33a0184963b1f4c4f89959ef842239853648b8c391b4a11b5dfb77679631b0118f2c632f9a264d27f02305042ded5e87d0824dfb7735053ec941880b8626480d2e24d3c60c1501c3d072d8effb41d45ae7b2a9e779e9a7ceecf0e0302047c435bb50067306502302a630d7eaac3b27855aac241cee37d602460a12c93ebc831e5cc9ca5cbd59313022cb4d813565e761928874691c31d13023100cfa1432e00277aed27b128f1c64835849d9d9ce06fbe6291b1e4cea29525f2317cb19a6fea0a44a31f9c7df0d1acb4380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500653063022f4d15eaa77160ec0e87b18ad859628d6d42ff72a6badfbb4dd8d3636a908146bfe0d011a12271a1e2f0aec6e9282731023031958d2688d400744727ef667221b3746c5733972248af0d71315ff64170b93ffa57060889ea8b53d7a0857a4a1ce50b0302047c435bb50066306402305a524aaaf189f971b8a745ef7b7f2fdfc375f6003fd534fd0436a72d655a1280e8ccbb85544f79e3277691d158eecd28023001a79b61d9b6744822d0caeb341d29ef904af9a1457e08dc3ad3aa43dd30c762e015e7d2b6023cf420129279fd030aaa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100adea71daef588492b75b42b5a7b9a5ac9c4eb264ad299e775427bc1918722b6eb42a5b83ebe317996cfdc888ac330c730231009ec0349c1baf4a0aef07b3f540af58493abed03718d4377f67883a627925ea9cc0098083535e5ff3d2ac6c7b816902dc0302047c435bb500673065023023dbff6b22e2e870246694d8ffc96dd435a8401e74813c706077f2f97d4cae8c7c87e6e8c59d15da2c6623f4cdb7817f023100dcdebff1ca9ff9cfcbf3568ac3177d8c09f96b1051bbe7fdf9a94b83bd1bfc199a3e6dc94bcab7440b59e1a9b953878d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b8ddae4d59f493d05ec12f3cd90b6a606dea93ff842bc69a61108fc0f35797170af71639639afc6169fae8bbc4331736023033cf2704ba5472d9f0a65474c98cb4f4d2dc6a31fce1041b4b7a94f5cda5dbecbdef8634776dbedb87d55f774e1b59980302047c435bb500673065023100aa26769fda52bf6c2bfca415dd0b7f90948e5df50c99546ba2133a11439a9353f7de7600d22eaa8cf2ebf28fe326e3c50230603c7af1f19398852fa2c5d0a7280a91bd33a8f32631cd48af08d1fb38b4f8ddf4c66a16d5985cbef9accfe5064847980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100da841ebdfc83d1e722f15b2807f988f11f8963866631db9ea1f725671543893bf3ec32b1242ae419ca186cdfb1256f22023100b87ce81ccef7cab09d8060c157c42f804884518d44c121102f44f59734a46ff1cf23ce8c7a2bddb9d41df568320664880302047c435bb50066306402303aa2c840d5674655069322bdbad0e7dacaf5671e8f8f5e51b8a3903f2c5f1266e8680467856dbca6adad5a2d806d7b82023024246019a7e79a70ad855149f05b81cb7acc459b94c496eeafaf267b425b33b903d260a71b770c64dd475a10ebf422f90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023006a7fb6d1b2a663aab583b7db0c4dd088814a77f0be57b53d571b6bf4f8da1e993afaee4c63439b1721a50d10b67f111023100ace2b61883418cf8227295e4466331b639077511befc44478dcd4491bce6220d51e008382db374106ab784fd23faadff0302047c435bb500673065023100b8180fa716003381611c545c29473989eb8f8b9b70bdc647e4c2de9b79ee870f0e79cc15b4dc3131415eac81a1c0d2c302300d63c169c71166330259bfd7457d87be7ce1d901f64594b3384fe46238eb0ab4e694c0999bab477a887fc3af9fbaf7290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d6ae5e147679f13568f138f84cc48921e6833c609bee822aeeddd44de44731ab832aafa6d9e67643c0631ee676bdccd1023100d53b1762cb90c2dbe4db976628e426e7bdedb44e0cf8680dd31a6b04b9711fea6ad6f501d5ce5abcacda47d3e9b9383d0302047c435bb500673065023001133cceccc5f8a1dc3ce3b82ea5f3a4496a8236a4b6f5bd413d48eec2d5566de47e1faed2cf229a1f10a3cb1e72ac8d023100e1753684af7cf22df69edca81ab8614fd1c3dbb75763b5f57122faa6e8f554e19742facbaaed4d2491483586706066830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230201405a55e02890dd77c2dc8831209fbc3f380c8dd6063e8fd7030219d88cd85cb13f6d5486e1eedd6f337bec45bcc81023100bec4a4fa5c37ac4aedaace436771c7a666d067f6b563fd0dfc520684251086e84e79a2c7e7b6c8d91e0a239d7a09b4480302047c435bb500663064023074fc777157b1fbbcba668dbd7f779939e38dbd7f1d40d06adbdb252ac7e82ad0f6e637bc74e4c73ce2bcabc1a4a3022a023055a92f1608250ff0a1e194ba1705ad3b3da9bb9e1747628a9f306457abcac4875c277566d468b18f43df318ebc27494d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008321f179c45cb243f6606c473c94b585fd0a56896c91889a2bc2c4d69f3f7bdb7326e86c1a021f6b9cbf3b1fb7c21265023006d4c9f1a4de81bf04f84c86df739ba38676fc6cecd1041e61414139cf13d996ea22b2e0e10149b3f5bebc9718fd192e0302047c435bb50067306502307789e1000e939eadf0a8704c962e99d5240baf4e9c30503b73fd23d59aa3a42c301befb7a4a250c7ba5b0345a88bc2e8023100f6f89e9944ecd683cad8dc190fe6b5ad164d54569b8ad74c8b3695fc570484c38476561660884d35a1da55db948678460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301c9f4917fe19c32d1c6439bef847b1e2065817277c58c65c148d9f4ab0fd73efd977a7d62c02ad496a679302bc72ac7002304b397185b9a19ce34678ef03cad35f63cf56552b6b767971ae0faf7450f2666548e30848e9e36bbcca7c14fd0d2d97690302047c435bb500653063022f1c10517f5aff323b643cab9d75a9197e981c89d7aeded8b44ab5303773f09d6950121edfc7b304c78f3fd16051b22302303583866e4e1d4a9e3201d689997a244184ca88fd81f063d33297548d0b3ea1e319bce3152896258f2b34c21ae784cba00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230308554eadad4d5166c539b99fcace4724cbf1a6c5b3e0ea74ef001dffed74dd3b7b0f8903bce1b6be95f49547a59d912023100b5d18f65b3175be97f8e89a3e7179f0a365666558b7ab290d8ef44348583dc64e5be13f43d343e3aea3491052213f9e60302047c435bb50066306402303e581c9c0fea4d295ae74502d5616cfadc955771872a5c9ee50379a0483a52e8c6f8cf467cce7f135c1c170e2f81d124023025e0df7c78a24a80a23a87eaae60d72963499e66cb90993fac202dc88d11227f9726f4aa11ac0d183f0f4b51001558d40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023042dda1a69bfc1e59617e6d58ea1676e52674813d0a693350100e91cffad5b59fbc777fc3532f9d8a55ce8ac5d301d248023100983e92f9ab73dfaf98bd5299a7f4c54a3f069bc3c7a3b16371372093c9940167386736167c24b23988ad3606c5bef4010302047c435bb500683066023100a1376efd1a362728a42849be7aa5c67125aca9582882bf88d0205a7bcc37d1a173262a6f535cbf72d895e97682a390a3023100d3cb081ec8324ee53a90bfac136cf2f8fb9ca73e5f748a9b071572ea72c5fee35d35a5415f320d6c46a435bb65bec6430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302b275bccfd6a4364754bbe07efea5ae29f530aa7a2266c45d056fc07f36d0ceaa7c6869aaac1ce697458bb2b7e9ab6e502300162d107f05a158302a9d939988c6cedd6e257cc416c2ebc525353baa4140529e7d24e9ea5a10003ae8771853768f8980302047c435bb500683066023100cb6c2cb0f8772919daf3d8ee70910bb60ae424732b179a8cec9d9e946db3e1ece07186f208859601d16259f2fb0612a7023100c081b18f0aea400811171e10e1bd9d092bd7f314f4499da86f480df8c888879c57566ce6dc1d5df7477c4f502524bc8c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310085f0bc55d7edbab809b85882131c5770fdb66f14f209fca2abf630f2a8e2e43cc5223041366121ca3596a775d1b100110231009619d7fb637ad912c1ed477c8d8f5230078052ff0998b998475e0c4e270506806a1c4a6f6a8d95f73d1fb8dc695afd530302047c435bb50067306502303f245b4d87bbe26909edd48772dfb20ddf5b2d4547f73c08957e0bd278f499d9065d614a287ed9d0ed8f290d22a2a423023100e8ad7a42f8e9d7ae52f76191e96a273859561637c4b2fdf48db08ba88162069041fa7a16444b35bf345d6a98f11554410302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303480d47bdd34ece03f9d5b46a8c8979ed1a7d7ac3e81e990e121c11af81125fc0eea893d355f24af7ebcc7db0553a942023100d516188689afab81b0e7e001772d999996e009ba22146d2566a8370edcfe230d0f898b11a25b3f877265f69e97ca09860302047c435bb500683066023100eb8a2dc3d485ca1acd8ea13d05ebd4b0ae22965e5f6bba531933b92de56db9e9f5361730b3a8c312bbdc1f66aa524631023100a1cc156e472ff82c47cf407568327540389a3062e6cd9b19615a5bcc4a24c0b570164a6e4ab03da1d2f147220c6c07cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301ace6447ab4717dd913129b9960a2fce78d6884bd95a96c62420ba810a489cf0ab4266274924ff83c37e4b2907ac768602300678e29d9e6eae1b01c62b23c6c5f742dc4209c9c5ecbd8dd0e4e569556da29b50941ec80327e1efcafd3a4bd109e0030302047c435bb500663064023066047039b6c6b5d93492c210cc9faa71b2ab9aa2936ee0758bcf863b3ab9e1e16a39a1a69795d2749239900aa3b449b9023043164a3ba6914f9e8b82b95881ada9570e055e2044ccb227a6a016675c6b262760d5539e37d3395ce3b1bdeba675b2b70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306afed4d7b3e234adb94ca1847b5209fb441041233e28d981a76249411add2f141adc9fb0e3bf0438ba67ba03159463e2023100e726f1fa94939a1801fec90b2d0c12015ed322f5d46fa97bcbf6b87b77015542c7665d7606a10ac283f4014570672b180302047c435bb500673065023100baa26def94767a8be032e562b11d84aad16db53e01d2dae1a33f3fcb6393f686fce10b695d63c210fc1df5a312ac789702306e46dc9a9d33545e6c874e2abb24390edc76b772ca25f357d39e8eb3aa7aea8e0d0b8016f91e98e22ae393505f4ee5720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b4849d0a11cb4ef690e4c9394b7e270b78ee5846995ad99472a215b5b56d8b83e9295d4a8eeaf9c3246206434d6e131402300cbc71a3094b0466525130fdae408438d29cb185a5935797e7ed18f1f237c726e64eda1189f84ba14d6eacc1acd2decc0302047c435bb500683066023100a7d2256508a51de88590cead1121c94a11227a3be01b274e47e7118f7b2d9b34cded1c5a1b358156969f2f2338fad7e5023100e3bb821cce57cb1018827cbc4152aab31e34cb8c1df4987859c174341a848119b727e0c5a37429ee10a7370547078e9a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230141b1217c4fa78f2df7329c23ba4d27a34b95b48cbd0b9fff2c61417f51bbbe45263f6c8b1330e3627d6e55e876c0eb8023100e2b87f3e2aaa1a595db4e89ed480ce41fef8c6844ad2ccca6922fd876aeb3e22ccb146e9b5e83930021c28a1471e45260302047c435bb500673065023023fea69e1546433bfddb7e64233441f0f67a92d129fd1686436e86dd1265d67f0c6fc0a73d664109edfe2f4b1bd490b0023100cdc8a651673cca9a14e5fe917afaf0f5fc9ede7d55eddab3d9f26b6ff792dd48ae0d2c22da632bb339478b7934c3aef60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b54e8afcf2d71c513dbcff55f1e974f48b2f07a1b22fa335d461c505cf1f67cde2ae493a67a819fd67fc49a5fd3d3d100230398bc322579791bcaaa6cd0ff63323c89886266a5ffbdc6fe1639bbed83d11453d123c7bceb5ccdab409868012d38e5c0302047c435bb50068306602310096923f1a7915bb80c834ac17f327fd210d21aed45802edf8497aba7d3429d437ab5cc826e36b780d928b284666d51008023100b020fe55f0df1ea1d552a768ef5fb95529691e8a552625030f8e8657abff28edfa5159e5be1e8e491206bb51aa5abc1e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302e645bd085898715702229c34fcba8b5516e8e3174dcca82419f80ab05a48a9bc71bc57e113d0d4039c8a2c5ed2d509b023100acde4cddedc82bafd7078c021706ba7169ae6fcd76e9455d239882f80d3d99ed37069e7d2d0ec27e042a1263cce409fd0302047c435bb500673065023056a190053d20fc918880fb670e6c67690cfce45a0161316b5af9f890f8a7276f89d9978668f0f41ea643da5256a6a02f0231009ad681ee17582c643173ed38b4da48caad81b1d3b4896fd82e2e8ac1c5ede6aae3277dd759ed9b50e690ae44ead284de0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d4d2b75b8b04a4713a9233ba5b90444ac8fb7fd1792a49c948694a60aab18e583deaa128b9f3b5c9e88bffa674399215023100e959efe0d63ac78333b9d3a86adc3dc11ea7504bd8d48b710f35f9d7f41b2ec4ddf2f67783c0ef82598e6b089b0d78000302047c435bb50067306502310095440c38bba9dc2749fd4b2efd394756bdfef063abd7ef2a7796ed4695d18571d6246994c35361aedb600ad1ca260eb7023004405074132933e17cba9fb09de05ac217808916b14bef4911c0fd20084cf72d6d2c4fe32ecb11a1adafa89466c2ef300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307347cc77d6dd95a549d54849cc6209ea39c1f2e7a1a9995f5987b31eae6f7c275c15d0c46df4e5c3ae3dcc8338780bc0023100b458378122a07c9d9d8a1e12bb930d6e747f1b9f3aa9eca717927bde83941ac0abe9194bc092736d23d51c44319261e00302047c435bb500673065023100ebc5e8da05de0bc0ed51054096177092ac543a27cf8d690ef25febd13237da87fcfcee218d217007536865d15fa4f0d9023024ba454d0e2818bee147ab767d1c705d367c9b4572d53ad889fab41bb527d631347b951cb48e498e9a1563546a31627d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fa222946bc17b9025733827107c95a76a48555f141bf9e86ff501323ae46ee8fb58694fe637954219cd043618664cce102303fe1c3545c5dd1db95efdcf365d4a54d2d8e5747dea7d5a18ba840ba8b25ec0798ca14982bcbdd710dc7bd5e0eb09c910302047c435bb50066306402303a10d80fc34511ce6cb6aaabd43b07558811130e6880d7cfcc557132c7cf746e7a9b739683a954097eba9affa318f80f02304b0210a9e495823edd91237e6f925d5f26e2ab45e73b9128b8f3eb15f78daa29da163f28a6e2ee8534345890757d67380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230480a9bce4125a9b3b47c0caa4f02892a9160bbd4b58423763f4d0a3d0aaaf7b981f08f38d8f9546f4c037722dafe3720023010a06076e4b171402d104c2286eea99a6572c4371c39aa602a946790f9794d683c99d610c475058f3d9172899a660e4b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100df8915f67db07d2e853cd87b8242bb54d67d29ef3e7c939b78f412e072f42f05de602db8b8ee4e9f378dbaedf9690914023006894294116ca40416bc33c166fca957425ff0784f8ab1c72df6b06e43485258bb207719e2ffbe41c620139b176f54370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301b9a5fd81b4797399648b5816dcb7774cbbef253e6d284fff4eceb5c9674b22b7e21f33792a10bd17513ea5a8119d8e102307c6d8ff89c4b98c2df6c6e8217a8ed9310aa14e5f2ab6a2226bf99d540fc0118aaf0864028d8bfee83b2bfb43a7ee20a0302047c435bb5006630640230486a0d482eb64652a8e2cc9572adccf91afe91874ed32977d735c139ac31c8b9671d500be31dfb7efdd13ce69f6efab50230107f4f3b0abbe22aa2ced6f6ffc5b1f0966e944fc8dc4c1b5c0efb3ee957e5e17832e13755b705596dac20c53330f7180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023020bb1e4de2cd31ddb407cabce60a764eec84f817478b9bd82927313cc430f4a9386dc5effb0e30b7ee4ded3e394c5ec602305a1f9bb069165ef18e6dcd71956a6f974e9e8e257d2d9e17a503b0ceafd1168e5b35a3c9d2314dc29962a15489c133ef0302047c435bb50066306402307db198b63798cfed61e0707d3d2afe244f6e81d232cfb3b47882acffcf84d41b96db119b46430627c00b61593e29da56023014da47ba468e4225c38dfcbab2a40aecf61c203588d7f9eda5b90fab9ed0d8145bccb9186f0e7d5cf92a84efb2dd07990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a139e2d4bb1495040e6ed0412c903de086d5734ef6636dcc04f19f6b6ba26a6556fb63b54089bfa9a89e0a5de4949a8b023100a835f146ba561303f24e276a81705e63d9d19cce73577ae33ed6d137840af5cc2906b4225408527c8dfb2f113923d1d70302047c435bb500683066023100d12858e2b951033405e31904e48732aa3c68aafc62a22e22d648c895f98e372dd0e7ada1ce3752db70a5cd8bc32e6daa023100a8884e68514b57fb3aa8eda2e37388f863282ff5619757effd70ea0877ab2f423d85f6a2de36a66e3838f12455cef8c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100823c0c7ccd06531958eacb68b58c8d9568096e8e8000278334b6c2fdb0320c037096ae314b0a43175962190b78046c5c0230286b7efe100b838a1a58b91ac96df12df7c580de25dd0f91b44dd8e88d73d035150c03ec955cb24bcea94a04437d28190302047c435bb500683066023100e6f013b08b5060ff375b9c46d6468a38d8f8e4a6eec89f3b65fcf65bdeb7df2267df4ce53f2f9c59ee79954affeaf8ad023100e2fa132e62b6cd7001c0ca02c9ac9d9f6478260b79c1f4bd4b027a32ce4f66eb376aafc383ba5d49b2098083b308942b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023074ff1ca22b6f9d369cac754c5ec7b399f451440b60e25d0414d2d0d1cd139cb25c13fe4ce5fd32e5bf87ae11c71b854c023100e44274508c9cd0ef9887a496da2df396d8b264ff733cfe7bffa47ff79e68c51651606568d56a479283e5525a30d618250302047c435bb50068306602310084cd175c53b87ecada988b814f12e29106c40feaa416ba88b5da040a13ca5dedeac398f4f57ec4e0e7351bd061e859af0231009773049f3efd390d64a511fd2ce94dd28f3556b23794a881427f5a84c1c9406470ebd2ab801c58d48846b0d1bc855a7f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303900dac478b06f71638e3c07422c7bf07a2aea40a95f4d305fb252587ae23722e90ed52a53c4b8ea96aab3dcb4ec44ed0231008729316074f0923ebdf05fd7c144ecf650f0330f75a58731a9d7aad4a93b5fb570e00d21e36775d4a4c610a8520855bc0302047c435bb5006630640230444b8df51ceaca7c6330051299951148488e865a587476baa2ce5ed5d6dd8b42d2d171d9b2f8c8526f8504714e8991b9023073e1a8ec54d6f4fd7fbaf0c6d28c00c1462907a6d75c22be8a57bce11bc924b945ebf5ed8e733aee6a0f7467a55c21370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023046a23cd673629d58117de0d71af4335f5279bf61a1581d00c8bc55ac5877180e281f4ddfa7d69bbf75e5a9807dc8d563023100efb82c6c4448706216b077cc5e433a5a205a7673784adc1397936c0cfd12d0b934e298476b83235f04e6e1360010de700302047c435bb5006730650230135e97fc984f48aaff76bef1b78e25522370ffd6528a2a2b7d9092e8fe90e17ad25b1b4d3434f1a0054f428083528c63023100bf9750a1b0bdeb7383da12db326c3c06e6687378f310e651862541edcfd611bd63b9b97a9bb1dc427c3025f74055a5240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500653063022f73927ff9f83d3dbfd12394d0f4eaef2a9ad3c9be2093e347d117a48f533e08d5a01898fb8f27f86a8d79edeb29874f02304e6dcdb271dfeef1d3556fb39dfdfbde18edf1a20bbac64d4ec99f0c38d1fc8ed4ad6ec8f544797fdfcbe0e7b79864690302047c435bb5006630640230609b6ea43560fe5faa52b177907b5190bf5dc483798692b48d31d1c8f045e3b025e043247acb16fef5fcb4ba3bfd6778023011d268fd5c8ab14e0d245c880efb1cb8d69ebe9c7c6aa7bc98e814d327a3edc7bd05bb80d6832f31d37aa2a15b58ef100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500653063022f6ef65e632918d9843aac07540a29f7762a849352d43a632afb5e789e6c774e3db86682e28c7e52a1e0bbc4f660460002304bcf1a770c6a66c20c9e188864b282bc8a524463037a517c658d1db9c080aaab4c871fb0911706af4f9d0facdb4bc5820302047c435bb500683066023100f9e98065b3298c0f69dad054a2583b8368ec0bdc3cbf5992c7d77b88dc646a53d35c4ebfe539367d36c8830790f20848023100b5c7d26030623d6063707a7232e438e3374961c250d399f415802c1389cb347d2dd12c23dd525b4955056a9aebe35a230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aa9d41ceb7c946d140569823dcbc0247b3a71bdf21ba21868e0dc6409b8e3bf8bae600a73417b7b8e6577cd7101854da023100dc25ec62f504b8586772127acfadac2a3bb8ff7e391c923d5db5112b7f07262bac7926c8c5def40a2b056067cb95599a0302047c435bb500673065023100f2c747943ec597a4c49965c0674308c414e08e33bd36ffcb10b7119af40b34e1d7e3784c3b0366c6d95d1024d2de086002300e6996f4587b0fc168cb16a7193120537004c83d5f7b2b9acfcaf1d1133539c1f2eb5a712ab83d25515a05e5f700ab3e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008bafc4eb34726cb7f87041f5cc101fa50508056b1ae568a2e517181e29f9d68be65fed9a266d70a27c5409307192d859023100da5e04bbb21f7ec730e499c9999f7b6900a63dfc994c0ee97f77e70c048a25cbeebfe94c396d767d2e32325da9d2cf7d0302047c435bb500683066023100873718d180630e333562051e79546cffd0075f81c57889958a8dc5ca20b0f929ccad0ae954cdf53f6e64556e3b3b206f0231008e314e0ebc917bdbcf3a08f85638db3ddf9932f1c81b195888b16275b73cfda1eb9dfb4325d25529ec8d0f7d4697be1c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e84492ba443cfd3e953fe368d16cc7a69b7ba8e679f26bcd7cbdc06248cf86276e6418e3a475c662078bc9eda359e53902301548900ac319573fc14caf1065fd23d71c26ae6d8dd61256a05d9a67810581ae699f15137f3611d45ce5bc8d7968f5040302047c435bb50067306502307d3d80d07cd5aedf86e2b251d11d15340cf8f6aed51378b7f867eec8bc4ec70044dbc7c1ceeb82a62e34aa9e2945a9ec023100cfa7e5261f4b48e317a5bb7aac69f231d732b50dd3e1478dc28bfe98ce8abc2df8bef36e40c723fd473a7c59337f7f4f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302710baf1f26b630ebf5fccfc15b989daacd1153ffd1f13bde213888867a6795a2c9625787307c0314a00d394a0c513f302300b550c0cc20110bd86fa1bef06d00d8727f82fd3a61ef9764960cdbdc6e2892355ecc8ff69aba322d2de3727ef0c776d0302047c435bb500683066023100ab49181749de90f98f3f5b97be15c758af714038a8d105d0e1e043ee30ece94f1c2622436d2c4aac4c695bdf6da1ef5e023100d24798d4ea1085f385f05521e2f541da47e22576ca5907d7e6d7df253103162075c4ce88a4dd549afd8dff279f041d1b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303f23ba23576285c4104e0fee95bde98702d019a309803f07a53ff3147dcba543976a22a53e4f0e71f56e3f5e39b419b602304fc1dd3c14277fe3ee7757a339746a1dd0617422839afce6f170c391586b69cf83d38352a756e09e2d46cb48d6eae03c0302047c435bb500673065023100d400e336f0ea99149e795b4044b4577e894f1b0183476a85a17a7602071a58d47d1389294a0c6bfefd3670c34bb51a5c02305365429ff4b7560360393929a0950280f2d6085f9a7eca54c9dbc586e8b826bca7eee47b01ec2a00add1da69c1f6dd8c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230407e7dfdadfdc4065483fb3e5bb8c931ab4ddcb3b57f5860074726d3bb7cb98ed94ad6e2ab98d2987d5c6ba9830eb6d3023100ce058bebcd22bf5895cd2df4a71d2982888cd724a74a30bea7968da511b5df2a50232bbbb042ef7c6f3c99b1619881940302047c435bb50066306402306c1f46a889faaa65ecabce631fe291abb5f27a978352d6fc252c50505ee7a3c1ab4e57cb0e841abfa81a12e7a214d2d30230703d90da332a6aa27cb4c14b19b1808bebd47e4c578e840a94453c2cab63b7a7ab834343627613bae919856860d1d8230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303cc401f375717d1b3340944273597ee016dff964f55ed3bbd0d3ff9474642ed6af03d85282b197111298e425e27e547002304fbab9175c110497647e59c2f357ef10ccc64ee4d12361ce423a137ceb20d21b49b0151ade3b140e0c8f652aaf8032630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100831d8c47703d95f72a74da5c159e79e2527a6124aa581b6240141174953706517038dde24014a665cb9723e3897e446c02300afc396c61fc3509ad32ce0c1653c0a3a3acfc0401c34fe5f24277ed3309b83b470c0989fb3d4d24b168bb9f8d8552640302047c435bb500663064023065289fd56157aa1b08d1a45a436382f3a0f86f3e6883ae6f55b41d437519324e3a9f93266c3ff99985086e598a669a4e0230139128c2e60eab824d9ac981c36f852f4b57a589853b4496f673598366beb4fabb28c5645af833a9720039ac9dff84350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ecd374da117aa235526f9d9f00f322bf762a66c37236e27c4d6b10029462b5f4d38086772f2de021931056646907317702304d17adf0c072cbbcbe43f5c92b6bbb7f696625e08dd5d7a904969a9ae73d320dc13a864be4f85b4301d508136d1e547c0302047c435bb500673065023100f906c1b9f1593d22915a8c060c18a2f3ef601c0cf7d2e6a144a3fcb80fc61bbe4387d7fbe4911c46310323d86fdde0d802306c3f09d6cbeae52360bfff2d2513d61797f97f6fde61e708d99489d2f787e6bd7951e95ab276f46329fdc94c635c18c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f4bbde5d4fb179b31cf18f9bbb6de8be0ae8b937081b1160df85835bb9c6dfce9b6f6ea97cceed9571ae0d09870e3dad023100cc01ff85800a2e947d688c4ff6af908e3cf1b60746aed5aed3fef94614b3038f8e18e4fdbd2dcbee6a8885d4f021b73f0302047c435bb50067306502301c8ba72e25d1a9e5901a973ac9a6f69f5276165ef88a4d722e8055a3412080892e91c467b06db244c58fc0c474fa536b023100b2ddcc838ae7744a58d736ba033134c3fdae01b48c50ed5b4eacba652a8437601280eaefb560b30a558e402c8c0747da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303ff81f568e76e25a2d5aecbe54b5fdbacce4d8990a6d26d31a8ec91908729fc2976aac63705944a98d1c645456949eac0230085295d7414834027f8fbf6ca720fb121830071bf71e5d972ad428c72a1012ff876ab3de6e6caf84282a11c07134105b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023025c0f39b343a5720ddbbc59071bdc8f58a4e8300db820142916cd11ef65b47a67d03e04d5bced709c6d5943dfdcdeb34023100c0a1dff3f020ee7831641e7f56f606bd891c496f3756c38e00caa7964ff0c10711e60286cea655bfaada3281f26c7c2d0302047c435bb50066306402305287bb40f7a6905cc7e63601543b54722fcc03129154c5d953b3494576fafdcf43a0c4847dbb344e4712b516b30e6f1602306d0b5efcd3494e81838c5d70b0420681cb4e5f307713f70a22a6b00a627e4fb307d5a7d5225d2f539ba9ffb0fc9680f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230706f7ed5f4e5de386f41b47f272d69e2146bd69d97259185e9abf4f9d1d2665f644b11cd73432fb98b830acf0e52f9ee02303ad18e94cac37094f5eb1142f3c7205b87e17eacbb801ee48388d4a75367dd950dd8681e8977172fc5d92745c2f53a080302047c435bb50067306502300ad20464a88db3e08269621990c88899813c116cb589ffd4481db39c162bc45b6b525c7e68decfa0486464dd0fc72cfc023100c55da937ea9f37b820040485d41f3efd6be14858ab73b9ef58b1ee4e11b726c2a54bfb08bff738f52b488c358d744bd20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f12c3091f49ce18b990d4f472db388cc8763ac27ef3ac08b4eb1a7eb30647fb299c87d5c6f79ed3ceabf6c90061b4c50023051cd5c30c284cb0d8be36ed86696b00265ed525875ce316e6fd6ba0d3330d3478693b981acb930ffed464026d29b42060302047c435bb500683066023100fd4c25bced3e0204d599933406dec11ab830ac57b6f7d38bad486aa755cd7470db5d5b17a9de5f83b03cf0759878fb0f023100e4f24f4c7bedd2736f8bd098170017e911752c0d4000c9c10be85516040712378f47a300cdd4730692b226bcaadcf01e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009fa0b13bfc019f659db2eb2837d1fec74c238bdf3f505222aca845deecfe971c2ca730ef053410b3acba037b2e7057d602301b5e3586d4a53d604c546f644f3c87dd0c27a2d4b0e714263347d1189b8c6f622e73105bd2deb443d845ed2c64c9826b0302047c435bb5006830660231008df77c96cc574731caffb2de6769eff104f10bc4d089f047298789f7c96eab2520e8ab4cf93e71a0c6f70d62f519793d023100be39cf882213eb2f35c3952e411508fb9b31dc8eb67b23eb1b1b0c7ff4ed38b350c5665296f5c8be02abcfe68dd0c33e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009e0cbe94778259c67203677976d1df6b80210cd943be431c990255b75319b56be6c671a7e469d6763069854f7119899f023100bea6056d45103a006c87d9adc59a945b5462abe871fea5529a424552a33c9813b2845e2b8a1f158379d5abb601a404150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307e460c2dd6309680aced78f33dcbb192eb4754137a80df11de9776cdfa2e5cbc21976457d5732f53eca09ea8562f1911023065bc1cb8985bea9c66197a2c8485616ed43c787dd1bd248d6451a7cd904b9101d14c42c81197e899354229497427d93e0302047c435bb500663064023040b28c25bc969a03bb36687668a8d0054cb181b839dbd11bc18f3460f3a4c504b82193c7f80f94bbd36830c9494e1fbe0230530ee785005c3edf2ec489f08ec6825b8bf49434ac2ac38734d3d32b4ed42629a81e94e2ccd927d5ffbba2e756d118f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023051a2a5bb9dad2c4900abe0bc5e16efc2cdae3fd6cd9c8a4188ebcf7f4914d3b7d3086ff27809bc2a155994186a4fcfd0023100c44b8e4509b931ad0e569c8fd9fd4b296c0d8250a35f42c7c817f2897d944fc67f59d32c6ba6c14f87c807d689e645d50302047c435bb500683066023100e756d4089078b393d74d59f112e15386670fbd1b493bb8751c2f5ca2f06cb683aac6cc22d8758a428d57272aca201298023100a3a6e0891a1e41fa16ccb8b13a018f6a7c2f675e0c0d4f8a7521498244227a2bf478c2aaf63ee3f4058e2465016e9ab50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dd4165c0848f7d1d77eb660a2712b83408f82b8371a9fcf3a1f623d6db100d8f3a04aa2c54b481a8a0b67fa933bbc567023100ab00bbb9ea6368529760b1d26e9d881bfd2b58697c768b3bc159e676973b8c7cfc0460254bcc700b99fc756488ff71410302047c435bb500683066023100ce0a547cf84ef4bd9138f510db963aa07613e2d88267a9e054a98539fabd537b87922edf35fe0a92c862377b8865329d0231008cbbf84d493cc63d663276d0e4993d67d6e0d12d1c998473b9ca898e18f81872f979bd89f095dc48eb168860c4f0f7500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306c0d8e6f4c11b35be4508cc3f6ae365e784d664ed7e67af5679c03e1dabe8375bc8de9476bf09d54ec752b0a9f931c49023100f07a07f8f03910e7d19d2059b10b81308e8b60285a941de6453c8868af66087cc34d8d236b1f01a86bdaa81a7dccba8d0302047c435bb500673065023100f30a19b7083a6c1aab0279452a9ec571da590832aaa8c04648fd7908ee512cebd75501f648d159491f63f75e9a34e66202301af1013cdc16e61ca2bd61c6c509fba4e86233db8ba232f2ab1d8df62ed05313765c526bf0c52b3061fee1c4190c63930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301e4b5f6c4a77b258f0b051926b2b76b053e706a1f6ef3b2da635e507cb0a0a16ee08431b313783d4d3363ecf2055d7180231008094bab1f882e2e67f4c929e23007a2b782f625757e9a19f29f3572a0b3405214a71caa4064728ca87f1c5c86a9205ef0302047c435bb500683066023100aadff128ce84d1143669c55e0c47265b0b9a59d2d3ee418404c8eef4bfcd6a0c032409334766a6ab1c4ee3cb8220c3a70231008b346711a54c62efcd53c629ae9cfddfe91d8520fb3a44ade215bd0717432135e787b700d9146db786610b7d425e5e270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305fdf2578b609598589b7a3ee05906411f1b3daa7c24d05dd4ff3895ad14d2a6c536433c817c46e1ab256c2bb482ac9b50231008d9cb96ea698397d36f77ee22a0e926f1c91c4635e185a149f37750fd61115e211e40c36dce6fe970448c74b51967dd10302047c435bb50066306402301f3a4c8f8193feabe3de1503a4beeb0802f77e5aaa07d795b19943000b668c0a5a1f7414db790ae05e24061c95de2a88023019ac3275bf5b86f72a033515b68f930b3d308044efa692279a2cc256cc2f9fd5ba4f36486c75b11521d1db92f7c7baf30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230505e8d320bd73caa17e2148daede41231d98b5af3a94e13947b2c85c0e531291ab2044e1cc8e87a3751e1bddf00491ec02307c2d2e7e665e9b81f8c1d0a2644c1c4faa25d1efa349fbbc860532b5b863aff2f329751c972909fca006fc807a3f04070302047c435bb500673065023100bb5206fe2c5416932858acb17450f42684bc6a6594005c60c17d1b41341586b8e3b1424294932dccc031007c9bd1509702302e4215ae1cf0763981b37018bca19f1ebf5ccb854ae61ad60853e7fa7cbb5b152ca21ccff4ff2923477484f0eb8e79e80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023026040660019efaaf14e3e8dc8e0f7cde2de48426feb1d99db1b649fdc02611d5ce9655f8b75a3baea711532b5ec12e71023035dda85a23f2e7360be2bf45ca7bdea3feede93bcac3426a9051bf85768919d8f110bd99c55618107020f6b8784fa69e0302047c435bb500673065023100c6622743d98f3d1ebdffda3e9ec097b0c821e8bbaea2ce7f114c4ebe42a076abc750ba47416a3d18676009659f78e8dd023035b8f17930854059099e36d3b8ae37d0219b1d3015f6abac1289dc3950361e2ebadd1e0806156bec9e6fceec57d6defe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c586f54465b47520a063a10e74362dd4376bc6c2610a5e4efe4dd2830e4d5b09b20917c7b1e22308ac7d64229c8149f802304a11f312c4ffd0faadf382242e01882dbcac09db689639167c39c6479141f7d83a542ed82dc4a7cf85609d6b65f4e1220302047c435bb500683066023100b6d86838ee77839f81609ec67f8a96e23c1951f292d98af9d3f96e5151e2ccdf40b9acaee2ca6aa071b9085c1c3d8f43023100b5bbc57aeb8fac125785c0f2d4ea90fed4ef42d7de2be72364ed9b5e17300c5c50381753a5487f6148dec168c7a419070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fff383354426c22b9029f63c256cc156fb6486611485b52a829751168ca7c586e25061b0f95adecac888b067380fbcf0023100d12e1b9945f51486ffcd6a8d7fdab371e42e75b6afdc1829f72d1de125d77511f9770a97717eb3902ac14d9778312ae30302047c435bb5006830660231008cce6f90071876da12d33d762d7fdd0320625555cb1f6e1c5c89ad60caffbe950bd10e95fa72fc78ad37f3f478ee014c0231009a1a3d3de1f92358dc38dd85400170d752a01a47561cd7eea3dc3b37001f8a3ac2e9fa196c88f5926c45b3a731dba2680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cc0e1fb8625475b3838274e76944d6038dcbeb60427fc848123b0c351fcc0e19852b745091f163b76a29a87399db4c25023100d5af0d2d4af8ba9094e323de321463060b52201d03827a58864ab2f6df3e9d70767e5c95172f5f4fe4613e192eb5f36a0302047c435bb500683066023100a7875668cd91897cd32c6599366a859f7254a2bad7543371d07a1d83161fdda3f00b6bdaba2524ba8aec2e3f6ce7ffb902310081778b7899682decaeaa2a0963f451376a6d19349fd677779361ea9bdaab45b55bc293224aa88d331cbcc289a7596cb40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a9e35e8363c95abad9527b765878f5dd24eff37a9470f356dd00ff5ea02f34252002c60f39d37450ed34e74b555d925d0231008cdc029b5d3e747a2108d98c449c06e7cba7522bc9cc128c9e1633df28f6000351b7f1dbfa6cd9b461d858a9d73627920302047c435bb5006730650231009c34fb804a31a824a61c1d7bd3d06ea0d8117807d8c79f8c77aa22318734a5068fc57211081031685d74feefbf9fbe8a02303f3c397e9462301063951db7dfd44754041d2bb98a4405c66e09f487300d5352a5942947734e5d85c68fb6505f98a81b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009cdac7beb3b3955edf77cc22f2398698809d6863978e73c275df0f2f748deae28b3ed6ae42dc65d737b2bb7c2609636502302ffdf2f6f619659e72ca82095d1fb6de67d1a77f5b3c2c17393d90c693da83b1b65e55a85f8183168e84f83f376d718d0302047c435bb50067306502310087ab157ac692f320772fd55da1f8521105f58cdb23db32ceaf4cd0d4756715cb8a89426375211ae548b4cb442dbb900d023058e6c971f4a6ce2a1e6c5e4ac5b42bbe3aa5f5400dce1337c51b74ac0ac14a6c05c3b43d38f214d7a608f6534923b73b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023025350a353dd16533e9e93afb1254e8a362a6b17b3b6a9458317d6f403cf49f9adb7812e339c9f2d45f345f867ec44d4e023100bf685ed15bc30ca8750dc7e1e80f864d154da88b2fc0bc4506878586dabbfbca09d13aef75781086357f9d29d6ebce3c0302047c435bb50066306402300405b957a0cd30b229ba1e72b01fd0ca607e3768a5e1dd0b8c18f45be0273d59dda1bdeb17703c5b035941904c4cb02902303f3db6df768486f1d4d7848412e474f891c9e1d7c3747696f1f91a80f0e725753ff13aeb4f5d396cfbd35452ccabff2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dd468eeccd079fc1305d3480f7ce5df6ca5600925068f58cede850878985b87b0979a5411f5f6bd0d23b7ce7d62e72a2023100985fb049eed2360e41dcfe072b25b226eb52b94974e2e4414e6bf4ff0191ef789b1fd052631b2dbeae8fe6a45c2a0f0f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023042cdda13ecd7be7a19d2aea0131fd0a447317836a6b45ab49ee74988304cfd7ec5a3952d773d33678e7fb8f6ca67882a023100df0928102ed3fc284b840373ecdd8b87e92bf70e27e1c9656038851d76310b62e35478be5ce71bf2592f46a3a0f866360302047c435bb500683066023100a52ee4bf927b46828430bbadbfddedcaa3c1c2e5f45078e30e94fd1328b3feec5a674d7fafa8bec73ac2496a9eee1cfc0231008c02f3ddb7b26ca22aae7c433fc2ecfd155dd64bf5e7302a30ec4002d35e819a06b64b8e02e603b41f75bb020bf568540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a51b05bc3bae09476ff0a159ba653831a94c41a1ef37d41641c7fcf2903ab395cdcea95427ba52dce2f5b5a81902f2c20230406c29d941fd23375d12cf5629360a19b9242dfbbd048c41b8dc6fa89ed2d5762a0e0254c68a57b47565bc9c88696e960302047c435bb50067306502305512ba334b5368f9887395b1f3e470b687afe61a6c6e8e7ecd241968eab5970aefe642cc0f99797d8a33e254d123039d023100e41123c80e76545b0544f9cd93379df2ee66ebd723e99803bde3383ff4a2d4b536389f09eb9c6269534e08241ad5f3b10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301d111891c8298fe9997bd0031ff12662dfee3066653981319407e9d6441f845da54ac6f0fcea8bd30e2d5dd3061d2d33023066ffcb0caadcaf9dc717c735d06bef868d67674ba0655a2c98a64bc3c6b35f85851c0ddfc77cbed716da97bdf2ff24f60302047c435bb5006630640230368d2d618f91d6692a2ac44699115997cd1564ca98a8e395228e5851e805de6e0a7eace197ade5d5bdb11d62cb976c8b02305333f5019911d3c4985e7d79b1572a002da8cf45033d133625bfbebd6ea7bf732568d1564ddb2ea536b3b19b8c3998180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c6afcd2bdc282f8e39542fafb2bb079a4ddc8b8af7e92119acd6b1f9ea9eb3ee8b2338dd69ae8eae4590e5de659afe6e02301c46793311ccc53dcf7abc74f97a87a900e2f24b3b0f8bdbb0e0a95732e7e5f9b65bd55bbeee24fa05942f99af179ba30302047c435bb50066306402305d8b375fce02e5f9b48f4c76c4e6847af079608685a2c8d769a386967f18a27cab98a733df06d210dc76048462cc3e3a02307bc0ef6ec6312f3e7f36a3ef04ebd029223bb31740b685e780ef124bfcfa5dde5d818167442bd73df87713974215330c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aaf435d34b2342b2a041614239729a356d5a3ebb313696021aea7c25d1e9c9f14ee670be5e30ca89b06529fd92ba837002300648146b873a901a5f3c223c5eaab627c03e9f29b7f861f4af2fa3b8367b2449363a32e91150b955af0566d85779b7db0302047c435bb5006830660231009ba0ce98eb432b18acf4cb9e07cc8b6c127b90165459d6b08d9d19f8dee027ea7e0e151d427bc721bcacd7dcffdf751d02310091f804f15e3b7e1b29e8d81b0fb36b6a6a37cd95eee7dddd6a5c5870571c04a0e9783d273336b9b4dbf734866e68d0360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230382ae2f19fe820dfa051d37f0f0ed37be273dba209e45deacc2d2a1b73f39d0fdb24fd85ac1682935262d2275dcf026f023100b2540db81d00f4dd1e1ee9b8d89bd60a8f83d02a66d70693ca80c0dd618af66f0b87b145663e41d4be17500c6a24db940302047c435bb50067306502310090a914ec5bf842beb3ec2a0e328cd383fdf5d207b20820251c60fdb9b386ccd72f5ef6466159c0f4fc44d541e4fbc2c702306b90673e38882b38103f0a95b1347d96038e5689c9464fa7158630866d8233b59dbd77e3d342127cb1027ebc42ddc08f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306dfdab62704b9f18420810727cbaa32f49e945121dd3d9c56bf19b1786c7490c94c845b3772e65214a13f4dfdb640b64023100f69af2e4af718acf490cf7f204bc12fc1348b98ab41b622eb86b1aafc5e0faa846beac3cc76ae64654d1b7d71a126e4e0302047c435bb500673065023036ad633be630721e32bf3c75fbc4e11ab31d3af35df26cf7f5975074819c585c62f3e50e4e28514082f6dc8340acc571023100f3740215a7783180271958ed96d332d3c9a98aac99f61d668eceec3414ba7a7e98ae749a9ba13c89715f05fc17bcdfe30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a2eef9a4f59d7a86daf93d6ac09a9851004aae2d4a48738ac316a615c8744bebf556fa9c71c622bc9469621de9797e87023100c8f5d5430cd22e2d1504e1dc6bb6f41fae0532c7ee4db1c2f706b394c0f9a8bd868c7f5a90e008abc83c22ae14241dab0302047c435bb5006730650230592e0f2564ce620069cb2535df4e76fd9ec87a79b6b5178c672204941c5cbe1f22d3d2bf98d505391ccac921c7c246a60231009c9f26694b8af82b5970b5421a2cb42e77c0af8351810cc6f863e5a4f5efd7c351be87ce1ae9be706d54de30a65898f40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006b771d7ee55d25694677a69e135cfc565da2eecc5c63f06aaab517f1a3c397ff54dcc6dc9ed95de84cf40d3e7b5c2870230216aca86a6407edcf51b8084c989c9ac41f0b82d5984eeafec7314deed538261d3161a89c44c193bf393634776310b490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ed25dd18c224d3d27e50c2a1139b0f968439ba128341179892844f3655919d8a3cb349e1f2d3687289fd135ae09389e023039600603398780a21366340c630dab7ceeb26afa151837d4edff476184ec403ae427b179fb076295ec1b9765372c81b40302047c435bb500673065023100cceebc4ba9caf90b2acf75d0f484241f0d9d330c29a5b07f388490c1af5297e893bd663006bd9badace7a901b09ee7e90230336d82c28cf35c366cf2d8d0c78916558f1bcdf65c9f74640fdbbba69eb171f5aadbe073a783029b4b48b066ee8a35ed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310087896eeb0860a7235eadf3a6f0535e6146442e2dc59b19854a42998f5c2206787605be94f7cd946e72bb58bb9c44f82d02301d442db3e0be8aa0e20a3dfc6ae7a41a737ef1e28fcdac3275f486741df56f8af8270b9091c2238c49b4d2a359085d0c0302047c435bb500673065023100f8063929a17cab63580de602ae0c4f83ff40281ac95984f8e4fc7addb1960f9dfbccbc67ed26b7e9cd8a5c941ae0716802304b82873bbba10a24895da6a550e18994e21654794fe21cb4f77254e24bf5afb00e7dfe385235bbea87d0cc5836b8a9340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303489ff1437cdf17b1477b560ab1d673265f18199e1333476a58563121aaabc898c8c533cd915e145c4f9bba4afbd1ebe023100a204174ec367da4728490eccba119d22220c925c1a661eefb01bde35d94a4c354368737c7c9401368e317047f1bcf93c0302047c435bb50066306402307d430d0d6cc76a23a9b845960f7d17fe0758c957d63bdc881aa964113a38866fd64ddec321578afabe3cfaa6bc8a2c4502303a24966ee1933351d5a94270126e443389f2f65236d68b6511e06a80f9a0e319cb89a87c383ad0bad0d33e259735df260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a04a3a1ea4bb8b6d783fe43e647fea384fa6fb7dfe1fed25bfbed63767dc343bce3fcf59a88281192a216e28a827aea50230010228c44cc5d346301ee2289f8f1c6bb793fa37fde31f67b19c1be32051fe8a3fabf0e4a680273afd1852f8c8a8ef620302047c435bb5006730650230326e6e2d81c90a8ab1dbc09c29e87a3ed199d65d5a6716aa0d1cd653fe483cc3c5aae2cd55586ebc8b92e15487a44c76023100bfec9068b2795ec653e9b917babdbea30c4d7f4bcdb45b9df79a3136313979e32ef7ed8ba40bb5c1932297d6592c3ab80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304b4cf130502da2cf82739d93dec5d666095b4b0cbeb8833f02a52b89be5b99d14d021c6912bfb883d6ed396b7e1707b0023017d5ec6efc486ea2e45baa869ebd3cca2eb7479fe16ebe7d9b81c2c004d7d1f3aa76723cc36ce681728b1be2fe5ba0c30302047c435bb50066306402305545ba4bd1bb24c6026bf09d233081fac74095994bbe83488f8249d9801e0f3f2c792c07887a3e60e818894a1802652002306696e2d1854a57a389867ecacb0c2662da571d0af981bdfcb4a7758b499fcab5717b65f763d223d8d6dc6404298b70d20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b48a1ce9f995fcdf9b2a707bfebbba0733d9613264a94d172db034fcf8ea35eab9d052518d9dd03d87ad4cf20cc0634a023012494040d610890b598e9cdfe3c8bbd708ab0f09ad0ee332f64828fd2f2bfbf8de13c41e4913b258598a148daaa8c6ee0302047c435bb5006630640230124b7e0edbac39e709b2ca0cb68f0f3ec7ce53e3c419c0c6ac4184155c8ac99ab26dbe8e62f36a4181cbb29875ed36f40230782adcb38fe4b79bad6cc82b1af6585babfef26547dd741fc1479ebf28c72a75cee30f9a42697c227c5029a975ad7d860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b622367f7711c512b53d9535503b6acfd1d94a0d0875f5cf93c87f70c7ddb42f6c2ccced5d74bb4914eb6ebdd794e71a0231009bb0ab896821f6dd9b97619d4fd26d27c75be89302467452f4867f43c2238d17d1cae2fedf871051625b2a40b1ae39220302047c435bb500673065023100e09fd71bad0780907b5794ec95f1ed28527f703a525963beaa9d1e63fd6a7e03d8ac11e85bb5ec18d2f50620b0b3f72f02300b3b00d6a6b80597a3a8af4965b0ea748c8838cc929af40afe9274d59983f68f484556d82a0a63891a44c45ca6ae8e800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e3d6edd5e6f4b5daf651f1fbef86e0a2559be77dbd296443fa7f616f2994b1048e2b1bf7d0dde91d2d557712422295a10231008c64f3d3eec8f90a59fbd0bfca6599a6ae187d7faac87afa16664627e8d599c0aa5e5c60b7b5043898b2eda50627b7380302047c435bb500683066023100bea1b8abe2234733371bc4cf4e6ed4a5dd28c176d0ffb651aebc77c6a33cabea46131fb10f9801734278d08f722f90ea023100b25d278d59b4d38c611b46128833158b6ff5d705141dc969cd9bbb6ea85ff7aa78b05c9f496bca5d511001754fb89b920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023074f329e6b66a461afdd69dede2c7ccfc7988984591e835e4cb77fd5d6364bfde8d9715cb6680a8e89d666516f0ebdc4f0230269b6b24cf20a50016f43a327a8bdb400bacad04d7b52cc10f31ad0da6da299d742b1befb55fd349fdef819781667ea60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230091d472b5dfc8a53466cd55fc0208e1aedbb236e0d91a10d8f6a37ba2fa8ceb1e0435a51622971bd74044dad9ea04a710231009dcfdc64219bb129644d5bac24bff96c23b58af951d24b7bdb0e86c4b86bda2535f310472816a30d3c3180341777a0d70302047c435bb50066306402300c3bfbfacd1f1140601b9de28a2550a6b4dea67d69c9f8ad0a691a770e4b4cddab5af43e8a6a9e41264dc515ac11a821023018c29c5d4b653255c2353de51f5d31845dab5fadd866161fc4483ca72819818a59adb260edd1e7f4f3f9c75c83ca38910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009ecd3649211b9403083670e61f5439854b1fe12e30da73c27ec567c46bfa4be638bf131109aacdc025d5c6a468fcaff6023100c9215cbe75d3e76bcee9ccca8ef3b02a0db1a6014046e09f7af8671555e9421d6cc62e06b8f867d9d50e5cea5ebcb2c10302047c435bb50066306402302b851b15b76f3ea2217df6d4db203ae2d4ccbeb95c03481b72cc282bae360749c08e93019a4d60d7419d2860c4c5c95502304e2cffb81ada607ee6d5d3cfce93179165daff2856d8b158962f913410b9ca9c7f66a9f67f8a7cbbf03ffe18b02447fa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230687b95e764bf7f1be73230991c9c0ec47a868ae91e582d8f7bfb8202ddc124d6b803f92e554db46159282a85c3a98084023032dd246a8c63aaf93a2e3e6d008e02cc1ac039c002ce469d970c1bea83b997f3878055a11d270e41b3306f3bb8b3c3350302047c435bb500663064023016abaeff85376465399896601493b7124305f141f494d9eae259758a4165a92ceed468989818e90a19dd0ad67f6abb540230395e957934ca4420e1e6f88f05915c84cfc4aa83428261aa4ea0befb96b4f8da9501891b3392807b45279eff580015db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023050e76ac627c2977eb242fe4244daf60c3ad8324ae51d00cd410c17c08768ecca892502cda00404d108b7a0d04192c0a40230730d9ee29b4fc11e52059ac6bc82344315b29ae9af2d850c2c7f804d625ac5d0bad0e3832a9263f38352b34fe74e31d40302047c435bb500683066023100c631fb2b422784d746141f2c516a9cc416de6f662095ff69228e8566892510e38069a9e9f2e3561006a9311498d425e20231009aa45dd69b08f52285125980250ddd3a7526e745ec61a3d51db098c03dcdf9a04bd55f5bfe334b43905cfa7cdc0432c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b80c1cda60b326454b01b912156aa5108d48d852b2613e096ecc321cf2b9a004f1fedbf601e5decc7ed801e4d432e3f002303c163387d6983b7a3627dbadd0a006c0e9930c606d088b35150cec638a06e3ddaa04018fc66a895978b79939043c99520302047c435bb5006630640230212511137c902a873a3d2b579636fd8033c323b8820422b151e28f763a3b6ffa2367a4c0ebcdc6590e88258cf6128e0702307d66fe65f4fc2d7020444b481738c4168b8301041f2af88fb5c3b0d201714195c9a147fc8920cb716b0e435602343bc40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ed5653cfadc0b84dd443f97dc7182d62cfcb2ab4018637c653618ad93b71f4c439b7fa4988e114bb678aa8017ed29e69023100e57f232415384fe9c678f53cb7fcdaa7e7ee40e6f92e31582c0fabe39561a1287fd63c27e954805b7521b66f1c3e55910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d7fc4db7076d52269efa43ab67bae04b98285a988fd4436326c6ae7e6a17bedf9434a9bdb75b5d59778a8b5e1d336592023100820c6b30b9ad7dfe399791f5d6414a1babd8ba93ec713ddb5c180f7b06ed7989f537c625f036bb76139ae62211490e200302047c435bb5006730650230771db7b0c5250bbe229d6e8fc8c050d10c09a9c92d06384feb1878a7627b07ca6259fc16dd89e71e91bb5f0aebc48d07023100b4bdbe7e1f6d3fa3f176b4b1c1fb2a9dfd62a4df725c78b14ed117f44aba99a3a551bf9cdf92952db2bd184bd86cf2070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300598bbaa147d725853169ed35f53239aea786a0cb344d0ad10fc71c7b6aa1f132657c9f9a999808583bb45dfba7d7ebd02304026ccfdd75142a4937626ffeecb36b23b634474a90f45e3a16af59f17f07d70a36ff20421b22f42c14bbf16149e2ac00302047c435bb500683066023100b4dbfc90dde0e98c2173907d9fdfce2453855bdf28448a9333b0418658f601b6845a1d63626623a02d0924853ba9f03a023100f5dab4acf48639aecd6689d5a9957b7454e31ad0f9492fcb8f1eda52f40a0e5916b428da6be7879a4755c77ed69ab2b90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301eba51d5ccc3d0cbf9fc27bfc82f403a448bdb54e7681f2338192b145c6246fd3ad4830b59d211ce635344a329c798ab023100e4268c75b3be4eae97b08aaf8df8473e7be8845ab3fab7a87f8f0d8c069758fe2598102fdb4e158f8731438ab8dd8ae10302047c435bb500683066023100882c87d443d47c7f8e048f6ba3f6b2d1fb181d762f74e3452a79ae568294de0b0e5dd622147f1891d3753a9d1df8a500023100e8ea9b5593da48c22a08a9f4470ca39237445a8c529ffb6908fde9ff3be96029186ae096efb99e0ded836698eb43efe00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023010fa73779b68d35ddf8631d97c673519e8daa2937ade2cf5181c86f468668939d42b7e0d7710e5909084eae67b66e86a0230264627d03f05f814805249c1e4d4450b8bcf3dda6fbbe478b1cfd79cdb9d3cfdfe44540d4939985ae7bbbb80facb3c150302047c435bb500663064023022c86b025d1311f50d0adc15f9d5a12225d450450e7809079706fce06bba1f0737b5f95455edc2898e57c8c2a4fb785a023056bf313084e535822d39113db1de0bf7b87c252e8eb9d190191a7483bf73bd7d96ddf0edf18ad6f08885591d78256e060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c2d34a6ff258ed1fc7e49346623424759ab5c3cc7ba4cbb5b2227330cc80e2874878564662a5d4ad0d9bfb6c22bac21702304c8dc4614e6f27fded8c9f0264a4e2c2c0c0bfd46721166a9a7a632f120f0d44d74d897f2967d97d684d9850cfd121150302047c435bb50067306502310091682998eed564f14284fda549b321fe2f0b8cb8b0a50cc8c912d23da33fdc4d0280c6b2dfe251732cf6542bc9be1c0402301772d50a158963d5e22d5df5ec8f4055e1d406b4bd2913e54aa6d04b39e92ca5d1284abee9f59089e05ec2a0d84b01500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305ac15006244092af1bf6dba9f41eb2d74fc4223d5eb8a7656b8c0def2c089083cad7e9e2647b25ed0c6a9c300dc3fa69023100bd15a73f335163e45804a21eeed2280d80317ec54df2fde0f7230d4413b0fe8b70ed881e1dd793f881dc31801d86449f0302047c435bb500673065023100ab065e2d8f277696550bf00dd01fc4032bd498d02511bedd7e8affd6786c91a2b6c45bd31d5d32ef1aa5060582009f0702304b703137848e0f5a9403911e3d56208f623b83d91b4865828f1082b53f859894e261aa24fbe052a1467641ae5224732b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306920ff5621b07efaeb0048322ea73a0002c0dddac700c87b1564d8e5cdd28060264abe804a5b4658b41275216a9ab5cf02307702aa907c393f74c807dd686fa0a560d2301743eded934d21d4e38fbd2b0feb23db1733af983d7096e397e83943758d0302047c435bb5006630640230380c9b303ff6b8a68fec79617b3141bcac3eb2743de94275c7f1fc5632236e5bc7256dd8e135941476ec21fd03a93e98023022ed21f6f4dc1f799484a6a2ade85ec3cff546277c257e963437555cb764ebd54abd0e6cab02688c9dfdcafee4aaa17d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cfcdb37dc66d73aad0fcaebd7dc0905a6ac741b06177b7b7227b771e7a832b38da28571fde1c32605243a1e9b077b6100231008dca08b2ecc3ec24ebdfed4bf9b744209bc5cb2021b93f24dad857a5db24bb676ea11d6223f665caa2ed2c2011076b790302047c435bb500673065023079040fa2863d9372523c3f01b1a17a2a4595bfcf923473ea67fc5b9048e3f84a331c107f0aa43795734683feadc934800231008de5bbdd3d750b90d229eaa65ade252a7d3b3ca7c076cd04203673ee016ab161c0f0d0eeac6aeaa069df9613458fa8460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009db8a3f43f83da933194618ccbc8dccf24517dbcec59c5c2fd693fc9e18d348f7a1511281d7ca55962e321ddf9889c6702300b71ac4c3398f24690c20f50be8152e08dfa87cb04bfabed97f78e4e1a4924a50b9fe3ae47a4be7f780301af4f9485020302047c435bb500673065023100e601a6245b231824289bb750e9bf6b922f035a3a556ec3652c5c51c2baf6035390c153d6139cea8ce716af40c0eec2c70230325584c2e333c306d137214eb8e143fd92b2904e9e7b28b2468bdc24936f1df6d6b7b68f6f65f63806d1750882675ac30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100db525f1f6d4a27c0bc39aa015aec63b01207178e62c8c38b1aa02213fc40d3800b318709b57dd29ab2e4ff05d62a878c023100cccef152b4952dbebd1ebc264fd5e6bb27f081eb897127d339c5c5a9dce3731b3a28baff951cbafb4d2cccdcecc17f9e0302047c435bb500683066023100b66b3b0529521cfaca22b6cd0d55aafc4e2aaacf2fb5502102bf925b68109ae37f31a61e141562085ccefdfc4fe44bf7023100c99153ed4d16722548fdb19491b8ceab035dc2faecdabc30e762b4945b82481a667e66c66c81efa99fde0fdd236434ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f77b9b6bbc22c68ed526d08aafb5674656382deb9bb76834fe8810e1ec3cac26bf917f56e08aefb37d25d2e383808685023100e35a42758aa0dcf171cca2a3b62ceff30e32fc7cce7285390bd490252a79cf6deabeedfd5bb18b7c4dcdab868ed1ee360302047c435bb500673065023061ad1b92ab5c71ce3abae9ae52f1573448708e1dfade7aa3eac9a4f283429f9b75340935103bcbf09475a5958b4a591602310089516fb9a14ac8ae7fb2da3c01d782e518d0a68a7dd02e5614a68f38ebad6e2909b6cc7a1af044965f7be532ac76ee000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307b01c3c862c722c0bcc55d19c97bffb1ec6d456f087b4d30d303d32e8958dc210ad206d0bba90e88c23dee7f50eed38302307dfbc68bbd6b530a65ede1a1347c97595897eebcaa024468bf55b67ea9cac406a4c9c3e88b26b35f09193cf3329a39800302047c435bb500683066023100a21a0ddb344c06cf0e3491b5c3926fe7c98a70c346e3cb4c4649a11d58ebfa0f249abd88d2d31dd9037629d8cb156e5c023100b5d59b0c4afa5ddc7378fc9ee73b7742ce174662eb9b1a0de7e262ced7d4d6133ceac2a1d4084a2338e7a7adcbfab7000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e60604e25a03d244ad4fa296fdeba3b1f2e1cde9f55389ba84430f86c3075f04ade50a7696621d88c301fed81d75be23023100edb5a124a5d5c09e78493cfbc5053241ef1aedbfdf9e1e88f85a4486b4ac664f344be91f6140d9842daaa533072c65e90302047c435bb500673065023100b3a0966207ac4fb24487ffcdecac60e4633038465a917b876dc93e11833690f1fb2f37e1230a9476b9fef2c7bae9323e0230706f032617d0b0e6ddf549b5c042c65a20323f1f008306a7ad46d5b41e8c4a80ab66c8e1a0f6024244a8852f136f54320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307c2d3fe0b9aca26a9c9d0743dc850010f87ffb7b62b8d31fb224c3781fa27c9f9472e6fd94e1b1ac0bf1092aac4cfb2d02306fe9dc923cc304eb87842aa915846b5a9620ba9128423b9e356e79a1e6a491b7a10785d9b7820813285fb98b454dcc300302047c435bb500683066023100f702f35719ebf130bb82c09720901001ecc8445d48a29250633e34f9db6b6ba3650a6a1347cebb897ccc84da0fa61a0f023100e0441270efb32f0ff6bec8e26ae5170e70e59853dbb1545c03e5167ddef7762afbc0c34e8d7db889125327c04c007e170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a9f1f30d54b604c19cc7f6f6eb4d9cdf49a36521b6151b89a25ca302b4a715c14710c7aaf427bfdfa38321a910e21c210230414a6f6d594ac26434802aca4cf47dd62be5d4ed11fe4a688f46e6f16aed4b94d80caf08bdab303c9d1567c4453c337e0302047c435bb500683066023100a504c986de71c78e2b31e8a6c9a352d2000a5507414c88c6e09be4c55186ad0f40614f9cefe8f458e606e96a86c22eca023100a69c3e7f9cc2bf92bee34f5ee8143a9ad875f48f808016ca93291e6b84d4513c34da3988ad35bdd0555d3a4b022957030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b681e3c7e7c6d518e010e83b78bbdeffec7899cc27067aafd53f768ef6a02c3366177624b4a6ca92eef7e863060c7d8702306708de735002c70ef30ebc23b7ea2f7f39ca1122994cdae15c077bc1f2c42e3d1c7757d1e24f900fe1f3dd689e1427590302047c435bb5006730650230636bd9c7bea35dc0760cafcf2db195252d1c108ee07039ec5ea426349c4a6e2be35cd1de0b49b71fe2894364cc25fe24023100e5aead30abf66b7911afd23df54b77d7b7567207aa68ff65dbe9c2a915ab77cc7da3c709277393e6008434606ac0ec7b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230533f1107d3903d8e5dfb478696d85c653c78a74f1f4e6dabda04a1622e3aaf8c0ef7607fa523abb69fb728205fa2889e02304242daca2d1677aa59ea8adb988fc6b1f952ff9c625bb353f765c9b92206d044e6db3c89864c312e336a26200a56d4e20302047c435bb50067306502300609924e26de125e1e0647eaf7884b8d57de1064a47c9f09ec7b42f6ec139aa3ea4b2a5e07c0f975d5d103b2a398d010023100d4609e50043d4ee5b6ca3790d3f3fa903499d0febe8927957f01de66c1e5a553160bc3b162fb7c721224d034bc38536f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023059851c0a870586df6d5bbb85bbfd04e948dc479a905c070ab539bb10f431083afb9d8731581c24e7c8aa09b22b49e4ec023100d96b1897019b2778d8fdf6b7960032fe123098bf5accb3e80906c63240e64f62af1ad89e33e394866f4aced1ad7e632f0302047c435bb50066306402307e7290e1e31ff3a438ca1eeb0851cb97999d89390fd5bfd599640f1459b86018bbc2f804d3269e8033884342fadd443402300a5bb51818e6fda1eba497b41a97e7a15890d01fd3bc709c38344b1310e1053e375480328e947c06d153f85d9d20344e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a1dfbd1107d474de0b0ce67885acef9fb7f20014a7530922ce2abdbac06ca0dcf95cb432b18be61dbd8c513d41ac8e3502300a81cbe10b41ed25019f55e901880ac0d7e1558b7f17c380407c8e264131f1445bf73debed0c168eef6ce0e7658ed45e0302047c435bb5006830660231009b8524bbf71d1e441476e7d49760e3ac066dc6c886731e73cbfddbcf8eee461a697a5e13e09e980ed5a8013f6e129c9e023100d85a3f22de4f1e563ec835ef7a56d05a453c0cc21131afcb4f16251597ef58d13a8b10cb36754589504f2593cc333a7d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230266ab89d7de9b69c9f8c713704a1894f2dfc96ac291cd98cee0842a8b5af879c83093a861280e48c5792884ee350bc7c023013d899f73a80a72668da4ec2e5e62057183b5521078d30551ea73d7868032d457ca383f69dde1fe2573a882063d6e29e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023034005da7de75078129a112ad0e5b66fa0e44d676f6f334626fd1975aece90f8fa078ccab5e024491303f431137ebc089023054307ec8607bd4f2dce586e645b58ef0caf7c24edb2ba60d43e0a44d55b49ca2f6ac94964a6d8c30bc5c706112c20f240302047c435bb50066306402303d2987453f56887a3d5018a1458a317f3175fc1759b3ad5a08554e5cf023562259d48ad0b70d15b0c4c1576618bec83202303595baf5a2411b9b875a97ace1458f612e651fa1717a74c8cfb27633a0f67aec2f5786899e09cd07c4b483f8e95ce0e70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008ba985c61075d1ec45349e2f5bb4ab7f6ffca625294a50757a9a6f8b5ef8cba27333187dd880a2cdbe58f73faf19f3ef023100ecc0359ef66bd0bf8ac27df448541c1d7d922aef68474f93401887eb1435d83ae57a9de464aaa3085caabc7522e484400302047c435bb5006730650230244a5b261e93da8dada833445169b5a82490377b5d0ec90a930b5e667b994d05ed0461cbc44efc7434a792674bb71d5a023100a51233dc849f215e732ce8f5f23dcec18ffff4d7c01561b8f12672b642ed4f9ed3f234503ddd579882e62aed92dcdd050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ae2a0b5b0d143e2c0f33fbad068be99e2208ffcc491129099103ca27b7035f43bbbd487dd520de9789b5abba69d925be023100b02d684752d223e0f412927a753f30f7d5dae61e26d3e26cf870168c64b1e8dfb86abea38ebe543d770df5ba3d1cbe730302047c435bb500673065023100b8c576f700528e86fa2048b3e0dcb068645aba2ea31ffe8b84823a740cb007520c5839a9ee731098c657a30f98f2b0ed023068adeca4a0c1529d5558fa7f17f8b48cf3a81428d87678ed9f997d0d4478776fda9f8b7ebc84e604facdd2c3406624140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306dd4638e826ce995e5c5b07f68860136cf68a4c9d3cd05a1459f7cd4a7650a911a097f0aac17761f9f15ed1e6114568a02305bfe4633753bbd57d9e8e1de60c4f21f0165a6a2974e1d11dc7519e91033afdf4e6453ca15cab04698d41c49de5d6c510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310096541f97a539a6d7f12b0d345d8a7b59d693a49e7415b9b8c56d1c727f35f6d9f0a3c02b5e42db2cca2b7c4f19a35422023100f9e6d2d2500765131c2d778543fc0030cd1ba5099b211e9a323569b1f14902d5451195a30b556667079b6030bd09406a0302047c435bb500673065023100854d4837b065215f9e2894a1b5f1978f6787e77793d1a16914f3c1236779305d5ebcd05d4e1d08203c083ec38774ebf4023045dfbbb7cb52823337ab09bd0448678d59c100423d0ac185097a8a6e2f4b1a27f2a598a05ef04dab01c73c27212bd1eb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b082969d0158402038e6bf927fea7e76b1f6680f821d85882f0a9e83590c5b70fcc890ab165847f30a5a5b2ccb70ee9a023100cdac1bfe7f1dceeb79e57a5b473bb6e77f17b7348e663537ec0e7a12b1985ab489e3555d28112ae036f4246ec1fc4b6f0302047c435bb50067306502304d31c38f169e8d661178e5c72ec5820d54c0e8c23b9af0b769032a47e1c01299e395c735d38446c7e5954361f6ac83c7023100a4dbbd48a4ff70f07acf6c0a3b026c5def00ce021a863a402be90c29fd852d59d58453bf77ce0231afe27f78f6c1fe700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a7e98a43da26210b2989c7e5ed36e70919162e130cfe4ced0e5282927d7a089403661790c756c9ce6dd5df31b5268d98023100c2095bb3a981b6b2ed4700afae5eaebc5f663f013604093701814ed101914f53a07f710968cd61725a7aa2c2e595c6470302047c435bb500673065023100fcdf11717e2515861b22718148e669b0eb58c7dc4c249d6b653181d9ff1c026fd0315c5a19cc257de73d4e9bf3e08bbe02302608f1d8488e472f5c24685456aeef1e5096a6787b1d0d9dc1534c60fc7139a001cbc2f355c83e7155cf3753e2fa6af50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023055e2a48c350f785930083538a07e13862ececc7d27b6050b2ef353909d7e06a0ff9d2dac2cf54160b4c3724e5cea418e02305c30e8913024ab1b334ff062271d668b136dc83514906ed455202112accc1cd0e69eefe964277c62ae8e6e44ce6480f20302047c435bb500663064023068da6f0240abc0cc6c62fbf3ceff112f05c6b1962069e8b8f5fc736b4bfc60f85ca826fe08e87b744d72dab73b5cbe58023027eaa8585bbabafa3e9ab3d7e0bd74c87be243ea02d0fef17ec9568874c0377ac4db582dda9ddb101c39e22b6d7286020302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307e6ecdb9453238cdba76cfcf45beb2cd9396c2cd8e94f897c53f2af6fc1eaf950d8545fb61e85c398529f07f8931f3d50231009e615014d396eed40b09713d3ba87c742297310af9c6362a1a46ad15ae1a6d02f3cca39fcbf8d2519f2e5bdadd56677e0302047c435bb50066306402300e088e67da2d9d092fcfe677cb4dc044bccac0f4ab85db62d40bb9ddeaed1795e1e95792975e5743498b08d5787722fd02300cddb565c15c6b155004e0bc987a3d1de208b2250665789301fcd541ccf9b34e04913fe3d071902a29bd9420ff2619690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023056382c5e95a68029e77c42cb162c39ff6c3b96e8777e383e9757117a30c844d3d48a7466a69e7e77349954af0cbeb87d023100bffcd3f262327f5a2d34c999976e3a87c4dcd996969e07fcb170b745f9ee721449e5f6ec09a1465b8080045a0f7796380302047c435bb500683066023100ed8e9ba4a648d689927bd078954e5c1dc93177d89b1d3ac57867400f495d95931f06519203237f06fc130a82773a6a67023100da08240ec931e6721561b5310a475d308550965c5c92938dca25b1d4ec9f27b9bf93f9760edce527ac00d57b23bacfb50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008da0388ecc8e7db4038018faebdb78efbe22bcdf066ba0b17522852bf05106397e75ec8cc28d374a70e7b342f2a4faa6023100eeb160ff28f2d7aa4d2be34bdafe3461c73913e1ca24bb8ad3d72068d10d7eb8eed542e3dc8ca770a831cfb2751c1a580302047c435bb5006730650230199f446eca3553746c3077f2612671317616bc78f9098d8f9fd0d94544897ca56d579716fdff47142c20bbc794bcb178023100815af852e131df97be1e6858e880cbcf59d4a0609d30aa7851204ba2ad47cdd709821ac5c937cc99ca1ec06a5fa615df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230276a36b8ac19f38b799fe688bad3b34ac2888ee9b2f643b0c10cb47f014ecd516c124d31ddc7081aa7a9955172505aeb023100d5e9e76d3346ff339104663d7d708ff80a2435ad7b005bb80c8efdcde6a503aaf2a787352ce95d7391375b3ad946e6da0302047c435bb500673065023100b5a295de136ddb5334b4bf6ff2117711799059b1b7d7857f391a2b32c7beaad77abf64a3fce61bf294436fe51ba88fe602301d3527a3bc52e6f4fe86ab7098db028faf1667a9a6b83d414c86f31aaf0150a17ba57ab1e6ff269e04209f45843b7ddc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305bfa9c3be415868e6324353d10f30566545b8f96d52934cfc3057c5d943b10fc175e07d56db42d3dc96040e5a7fa47730231009bbeadb07589c3758cc4b79e5ba86b0c750e457b4cc7ee91d8ca5082f6551a6433c3725f4b4c86344714d689e893fd420302047c435bb50066306402303aa23fb3fc7181766b87f75e7239a330d3135dbcaab20d0c2200f87255e4fa5c240479fb3e6957a03f2b5e282a2088ed0230395c5c70d54501908ed18991921cbff661bc97ef49f710f8f59f60b4ef18557fd76476d0631dea9b0d8e2e52a80c09580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230219bc46651fbc51a54bb9de8ab875d17fedd38d9bba8f6bb29eed9bdfab7eb34acecd62eebdd9ef53d0a3db1cabbefa0023058564fb0c20ab69b66281f91cb97362e8ec02cfff5b7e876cbd1a742757de97c101c3dc9fd76fecc26386d538cc545510302047c435bb5006730650230558d21093be71608523472366f99b89ae247d77adf7f8448fb2f4d9579ef128e19838784d3d4c2e56c263f25df47c6a7023100909f8c5ab1780d999075ef1c23e17a2eb0903b135743a8848c93bb77bbd371dca7ddc5e077bed4b9b2a436f898465f090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230338843ede6acd19cf5a885081e23a1c88f3ed11cd9478dca633d7caeedcbcb67046896ee1ab1dd795f77833fc543f144023100ef3e4b6ce90c390f39db78289953f0b8d1c4122a4fcf18db1a4c812609802bbf0f54dcb71623c364910dfaf1ccee75750302047c435bb50066306402302a960acd82cc736346755f0b1617ecd9d4516fa852eb67f0e8958726a36f1a2b00d9e1bf3c7c53ff28d2af0a2a7ebcdd02305d99374c96e007c3a91399f42e70c49aecc49e88c312d0a25c0048eda47ea434ea4a29913c3628a8a5cf913c2877e67f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301774c5754b6d6e619434581df80a540ca02b58b87496874f3c7ea5ae61046ffbfa7a9fea954099e60ab39f5ca7c1f54d02307b5c9bf06c6e831ce4703e25755079b220bbcfde05815801b3dd6f5cd6c470ddfc95071fadbf753921eadc5b7c4432b20302047c435bb50067306502301b9551dc608ef29e8299dd2ddff7d69a09e3b5583c51997e9a3666a47049aaad0fa84067626bcdec0be69f6fda3d1828023100b286b1dd57ad6223fd80706a263234c8c6a95e4b98bbb7cd640fcf7b6af07d7d5a098a9e536cea893bdf705905aeb4600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009eed8d4b9c8e9b066f750ca1fdaec3f05e4d52f0ecd242ccd85d9f13530975de7b85228a865f8efafba8e6e44fedf202023057daf1babc70339b36a5708137c9d22d7ed65d54226277cd63ae6880dad7836e776e7b995bc291c1e114fc6008cdfec80302047c435bb50067306502305096f5574f362012a077570da0db999f97672cf85df6b7c6d64ff546fd807cc945ae3b60ffd5ea1fd9ad076df1a1b55a023100b3866f2128e1090e2dadcb578d6243beff293e1f482665a6e73b2c3f9e411c3e3215b2346cb672e1c603a3a452e53d440302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009d69089dfca67359453c59164fa4bc8f0f672856dbb26788b750c0d7cf6199ea1568de7dcd4a65bc2718c3dfdc67b88d02305dca123a4a76a135fb2bb3b7decf42062ca5766598988e47460fc0c3450bb1c8713d2dae454d8cb5ef9e576c7bf817930302047c435bb500663064023048235cad846bd502e7b466f56ca10487fb7f2b2c3fc727393a326c1a7f2bfb3bb738360e1eb705906d56b5f30222e7500230625a7a16fa3fa967b08ddac451202ae807eb0412700a37a7d83f07b2d1d44f5a312dd97b0314f3860131e91a2748ac780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d227c86ddadd898ea0a3705ac5464ebb3e4ee68e784f604fc0c9a93efe83828b5946cc97d3fff9c22c55ff00a9eab55b023100e5db1fa924e8e124a05d7c253ff099e42826ad09a1bcd4a0e1e79e5850415b9c9bac40520b97ea47560b552aafafed9c0302047c435bb500673065023100f12c4f43a9674251dba2ff0a008370b2ef48efe66c5c0eaf76d1e97be5b56d45ceea6bc9a84715cfa4fb3914ef48174802304beac11afbd03160ba6fec30a89777b9fb93ce30808e2667410f9306bdf168320ab1f13be17647fbf130a385f475a2660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bbe6209c86277987a86911c3afacccda888faf64e7390897dc30e898daf7457b70c99248fbe4a6832d9c55610b9bffef02310086a945b7e253e9a131a633e0f14780a81790dde1acf91455a69ea9789d328616197236620f284f29115641dcf3d248200302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100affae9c28f796c3819ac35b283ba4a6a9987a51ffd3d1fdf370c85b466f79c2911dcbd73a6060a51bfb0b896ca1d43b0023100cbe11f858c8ca97ff4be61e6f2c7566f69c2f275c8562180464ed539ecdabc1b66afd285e85ba1fb3459949e4f810ac90302047c435bb5006730650230116381a2852c3ff4610cf529a6ec2f4c6a34cf04dc151ef2f54e78fdbd279871a4a6efbdbe1dc39a6888bd911fea30ff023100bb6c989d42a4f4f3fb11b5d1868c9f57da0a3d413d4f395f726af811f6a030762b26676226852264881026e503625ecd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300229b30d36eace32888ace64e9eeac8b72be27f92876e280190cff3d080dafb551404b51c07ace3b24a9fc1af824dbd002306b451f038f340a5b14e2ba84cac62fb5b993de7b34274a4869924dd4dfabd8e964d2e3fb5a6c99a22e49ce5a232fa9200302047c435bb500663064023027cefd9839dad7b021ba8db9726f43a843211976f804158d057464593c777c85ef5670be942e1543e8ddc08cd1d7d7fb023016adf35c1011f90fa2476352b7dbcc7b93b2ddf9cb082877fd79ed9a0b96116becce92d733ce36a078533d9b99326f1a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230041ec7c6cfb3153b1617760b8c62ac914b85776abe17a3b32e6ca0a0f7ff6444f489ce3e6e8947cb107be1aa0f6d15cf023100c8833bf13ce3f24eee4416630294be574cea9f6de61b76c3e1d5ba2db9c80fff3d55d78804af9a7bcc635c618f3f64ea0302047c435bb50067306502304889349289d7ef5e228281cef0e9b03171e2babf2158f185a2cf5a66cc0cc25ec6c4774a998e25ae15355f9aeaf9a157023100adfe33fa551fe036b9d6fda915a7e2b4923ea676f1a6085e9c26618f9ae2c4121ff99f658c92f9841108a058f9a720b70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bfe224c714baf30b2cedc342823d07461f9be003c8ccd4de613197c18f953529f8498c715a8a61adda5e1e551a188780023100f925eee4a448dac6392381b23faae1976d3894386304197120a78851877ae367a4c39927cde7ed5d2382a515cd3e2f5a0302047c435bb5006730650230437fc29c574e1d6b2311e808770012cc977c77922aae934d656b266f09eebc58f0313633c496f143e4b94218305a7243023100c42ccf3e14b6c7ba4bc6dba95cad195d24b52810121ebdf934028dbd4355e5b9f0ef786d39d340acc39a334af55f63650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023067c2aba570bf76d256b641544d9c8ae6b4708323ed46781612d817b671fac4d440c7b9d822a226524b9c59122ee2cb60023100cb4fdb9702e8891fddbcde8a453d1c659063b4fa87a0ff1729a06d12092a614bf4b922aadea14be837da1a5d429d37060302047c435bb500673065023037740a0aaf4e5c1f94a933b6b471afec3f8cfd27a96f73c89218f19b15b376600f41f5eac72dce3e2087e964464789f2023100b80bbfad58d380e8b252b311d66a70d2d27846f002961858ad6153b33203cf25c3f6beedf48d33b4c80c07aad77f43290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100abc4f204e1ac12a846545793e8d33094cf5a27674ec64a8f1283319be9031f8cd270950211df5274fa3c7514cac5ca11023100b5a9b6fa9e927972e5c0f05e439ebb33afdfabc406018b299c944d439e4e3015abab341bbf26ca9bc2844c44231739920302047c435bb500663064023013c4cca42df029c8181b3d171e8e12280c8f167e48c24f5b6a9bece2c9e2ce0c1f62f12e7ec20f79a7c1bdf2a93b5a0e0230670c5d9b399afac9097127a1cc8a1ff644960f148c3b078fbc62e2d8386cae363f8bbd28d38c76cc4435dab82b1638080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306311a011b9fcff3edc145b431fae55c505d9fc210a2c66759bf0bc45e48593b1b1bd218a669a013c7be86b6c7badac2002303c1191413ee859bf3a4dba6447b32d9ce44e7c93fa762ce4ecc5baa7b023bd1513da4b447443c25bc8189772c6dc3f3e0302047c435bb50067306502302d7ae6b98396268b6828d8befecc43d43ffcb07598c3802e7aa15b39d4ea5db61875f4cb35627270d50473715b1524bd0231009543a7a68eac5c2f5ae0c131d8e068301ceed5e9bcd3fd8b503560b7a2bdf709fbd8d9f648ccada50be63b258ac679570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230042220ec84058547d0a263a209d85081df7781e49e341e0e478922259d8aa4263b1b3d708c1937f96eaf9f2e68737107023100874b9532d6c4143f2e8685e176f4e0bcca68f7546458b3f02cca06272b74595266e4aa54c3556bd99e3af37e8674e5da0302047c435bb500683066023100ca064a81b190b38d244477a906ee534cb7e293b135bc3fb8a0dc3fc97d9f627f8b1039e8fed7dacf83719cfa8943cf23023100df2b4a1b67a23acb9eef9b80babc04794dd530e541ece329df5d3d8c6b4c92dcf7eda57cd3318274f5563dcd669b408d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009828f3a6ea5bdb30213a92211d9bcd54611769a0b7dee24185aaf8b3b921bde9d45878fa9b5a75f2c739b357886af1af02301904e8a5d1e141042924c0e409e5d570e8d33f1e0538bf403f1e1e045c3d0bffcd05ef3c5c55ad3ba6ded4b14f9f668e0302047c435bb500683066023100b453fdd33fae12f99dc88e6a02d6600c9af34869449ca26c36f634dd6546a8f9d11223c24bb1b50b73087d563c9630d20231009d7a514bcc9fee11316ab29ec58ea43d24af4fa735ee5ca405761fa568237b105d0771e8e4022b2f6ce370456c83101f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230414fa2648f9355db3b84b983f5e056f41e680850dbdcb9e924c3da590cefd597ee5d4c9128415165bb15278b3110c92302301890f3337288217a49729513ff5ac57aff8d36b3772e2daa3deddfc39ea30a928b4d39f8c511f19544cba1de751559ff0302047c435bb500663064023045d1d80f70248acae6dad520dedfa909932347eb8204741d4945c18a1ad1d74aa418d4204ebedd018ab4360765ac097402307446cf7aeb12431c6dcf7a6a7832bcb55d7a53f01e0465e49800ba2b30251b8bf27049d89a2116dbc44b44e2f038b7280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100beb909558e2051bdc5036165e235adeae801d309a67605719f848a91db43d0555f5506d0570ae1c83de6930257fc98c0023079497366740ce85fb0f96970413743b0b8e1014b0d553300c46ea97f08bdb4b8950d3267cb0b1f08d22dba0f7e879fd60302047c435bb500663064023001228239b151acf42ec4900a7e8316cbb022ce20929fc1fb71167fbb6b6668c52d1760b3441ed67af70681e2d9837222023074d8409debb19022071819c6a79cc8c53681803fc26f3583ef48ee934acdd908405824452bd05cd283710a17b08579eb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310098e0935cd0cb927215a5a1c1a127739bc179230ee60125186b8795e52205fd8bfba2560524d80f2bb2121901d865cf04023100b87b343f4cc4b5b94c17121a40d01d6ffa1925284133f5234cfa4db3056b2d84f4f151c8efe06e7d8c90398c856ce0370302047c435bb500673065023100b72ad5919196ba83d974a69d54ade6f6fdff8e76509a64e15edfba5fce37c50bab0a9b7b6a2eff0de6dabdbd99768fa602305a9ed5772e902d3db3c97cd0dcb777e3176969a50162e6a4933f742ea710bbcb0b7bd07edb52cd4d6d5bf4ef6138d1590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023024d50e2f2e846968b7921b315b00472aad50e87c2450f160183dcc4d45577fd58625364a5a52490c48bd23f3e9eba9fc023100e9eb3e47fc35efea3c045c0544c132834ec37709e7f0e51ba9914c5c6ecadab64c21329ce346e659793077a3aab887310302047c435bb50066306402307a403a457b02db9c4461ea932fdce3c5f8d383d77f16dc2ce6667e57d84ae36876db46a417da2857a8a6e83f963cd986023030c46aaec90dc534b222ba606fd7b46939a390039928c14430828fad97a769f9a5b2c5d59e24fcda2236b9ca2997de140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306cd60b496c084409bbf8f1bb086e65857fb72d812d9f9de492f66a009c37fec903bccac625c927d285e772e2be2f59c1023076ee7bcc7bb12a1bf00d8157f695b9fba51fb87c2f694f9033d768e17eed3436ee47894bf3a9afddf868f3a88311ec150302047c435bb500663064023024ab9bf24f70103bb1c493c8aa6dfe2e1d6d8e09b72c76112c948a5bdfa0a5f134269e36be4af4257409a92d4040c31d02302dac27c495e29c576c3d427d6e30ca2e153e0f71dd5a882eda6d7a6a7cd2508a2e566d09f3d71ddf5c2a9dc22f5972f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304d276ac85ed3e1b30367ea09a86f049acb904b3321e0056ddfca1dad181d061ffa1ea584f0c8e4625f925441c1e05ea4023100a95e46dafc4ce44b299c3b111fc7550c25de537cf8409c197b288efef2f9c8b3b1b75cbe7a924cdf0858b2710b8435120302047c435bb500683066023100cf795542d601a27dfc31c1acd4630df5d28607fb2d15419ab8695a841651e959585d03fdfb8fb0683abb46d95e86b96d023100e064ac7a413cc98bd7936d358b0434ed79e7e3b52a856c6806376ce6cdc2bb5f7730fad00fe6453a70b493533a895ca70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ca30cc103de860b6be22569f917c72e75c41c390051f0ac77acb5b79768281cc2f121ab4906f28f1ebe88c8239985a9702305cdc34263a1c3a0bc3ec4279332a4fe5bc122d1b0d8905c9174e233038b9592c2b1f41f691c423b19715ede81de43c060302047c435bb50066306402307d0aa74fc57c50f69d922b21b8c9a8d1059b757e9dc9e9c24bb1e6bed344341215640f46fe96c6d767da9297de5e68bb02307dc45520fe8c6f03f1d3de857815723427ae3062238ee3c995a61c27224faa802973d1a0ba9f06fb8620b9e2d8bbf2960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230448ea770283a50399085b6d6b3d8e21404401a722827512bf2198c08572fa761afa040c6d3e43f061fe34c7cb47d8c85023028d24f8d5b6146c9b7ac3e23c490b989c81551df1e59b333217c2208474e1fe207432485995c2796d51ae22f88486a940302047c435bb50067306502303fc66da7b01d7ae7998f437ec91991620332f2b179363e714bc44bb9bf3857b3adb7ba4e67e425dcfd8e2a51f74f2528023100acb1a4746eae408eda836edf6fdc3fe0c6db5c3907764263b73f593c8510cf9e65eaba84e91b453b5a693b942e4c9a470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306b12381c44d5ceb8b75209ee555dcbd9485cc253ac1b8510d9d3a1d237531dbc51bf45ad52ea0e2b648c2b885ae81acb023003b9730ce117f13d722ada39f39f3150a9b2e0a27acf195a48cc56b730ba448d61496c3d4c2a618737d694442fc2bc740302047c435bb500673065023100c36d57c100dccc022e657987a57dccf8e8f732f800198e1216cb5daefd2267754dd5949813795ad6f30fc34ec0c5c82a023063bbd535be5440682d87a38ec38c711bd37d80f676a287902d4c6c6296bddf8f4e86ebf0979294b202d6435bcf4e9c860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a1e9ac16e585d902e981472c1568210f8ab77093fd3482b87e1abcad66ab08446ab6f781747e2ddb4b10a712ed9ddfba0230585de4dcf04a4929b140eb0b97d04d494d08835759ca06396fe14ea94af439b4d0044647e37473ec77f58e741a6ea4870302047c435bb5006830660231009e29aaaa52e290bac8be2aecb16fd5757eaa063cdffbd83e04602ebc5dfc04c388d76e1b8271c520d11f7a98de67b9f3023100e29480c6c69041dafe7a3e367ef3af8dca9006cb8cc663c9177d89ce5aef9e0c2f51a9a3a56276964ed8073b3892f89a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230088d4f89769f1210fbe888af42cff39303d9c8da696db3b60a394fb9904a2fc7f591b0f05054cd3fb2b0a80b5accea8002301d53fbc5be5a287738615a9a7fac61a0142139327977a640a2c37ee047ef9a14ce090a22e76a54f47f83b8011dce39050302047c435bb500683066023100e56688db89e00105fdbc7a872f9be362327425413dabc0c517568985914a599ecb2af17196fa115c14e4d64f469a08c1023100a98c605bbacd052db18d318a8a83b17b70019ace4c91091b60d9536b07b981a297cc978af027b7188dbc4e843481866a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023021c66bd97f2ff058c16756c084fd6ecbd554d89003d382483b22efa096eac22277af0dbad17bd6634cdeed0a3d5df73a023100fc7874c9f62e04178c5a781be50d6ac814ffbfcd154a68de81106f8b3489b1d093461f043613385b095609825380cf690302047c435bb500663064023042acdf1ceeb72fe419bb35d81c8e16bdaf4ec60858f80308e840e5b5dac3d1441dab99237cf677dbc2c17a7fa63bba64023060038ee69c94d8bb8ae923baa2d3b669028928b5cf59b1f8b9ce655acab5f3e9fab1cb41a2139469919e9b5141f08c2b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a3f910cb0c0ad500f644a202b05569819903a1bb14a92187b02ac467280cffa044dadfa72d4c0f9a7389ea7be83a9861023100b97f8e3ed25cd4470d9f265bf082586ac6653b2d0a0672bae9629323c713e287da3d774d6ab77c69cbc18df65dcb50960302047c435bb500673065023100d2ea144c6e9fb357afd4af8ec357a0f49cad62d16bb51b263d0d8568f57914be4c5cbcbb6bc8b3ebae9b8d92dd48a2e302303a282058615cba70b10e6dc453fe1b219851ccb1765b1db4fe79e2bed0938d77b852977c74445234cf3a31fae21c8a540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ca8f498b85cb37b9ce97344d80710badfe0294bbd9a5e7936ccf4ed5c4d9fdc4b9b70e56fffa07ec2ac7b6f50a927d7d023100e173341b5275f583508574a8c692dcc49ad6d05c53139550935fbb75733d670429db66ab1f51ea639d5033995388b45a0302047c435bb50066306402305e4b486a3f1de6d8f481a17e553a8b89ab5f3f5d01f0b07b98e82d55bd588541a616011d8dfa1e796e640111c4d9b6e4023031e2fbe09ff2d2743f30f7809174846840920b213f5426ef6e0912c3641b5909def7017efb43de619c960eeb2da5cc1b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304dc76627213cb79eb8058cce3f3572a49bf121e2bbf8abffee30f48cf4454d8604ee5d7196c7195b487fa39abb8092340231009250d504864e9b48e2dcf416ccaf084c23f5f84700fdc5d3c9066d5b1c233ddfe26432da78f9e3e4e3a9adb0572357290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305cf1baced4db356d451da87006a00be51972ac890f46d6ab07ef10dbe5aa0442fc84f1fe6e863bfdb1e0ff14356bc562023100f62f4e5b76203e9b7fb752994cddcb8ce9db8cac6eb2811d1f201d876e68698db6da4c700a93384a75a77dab003cd9cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100af24fefacaec2838bcccc7b1c097d090dfe9ed03bd7c0df76c063fc59811e1c4e1ab451622c9e15eda2d30b1e87a39c4023100e36b4aedd7505b3f7de79bc6c5cc01634bfe467873246780087655d7b1f8df46504e9902a984a726d4b514fee66407d60302047c435bb500673065023100f3ea02697667724c71614fd08a3d1afaa352e236bd1e1578f5d2b1d18c3430a5c0bba300b366819e6b123d49bcb2e66e02304308c21f6ec0e2700558ee7de540d35104bb1d149af7c6775d9ab3aeb86f51b6df8c2a23a76bfacb5703869dc0a82a000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302691bdd222320885a70e6682b816be5181b528d140140a0deffffdce53fd5838093623c942e61691912199ecd671ee900231009d55ce47202a5176296f0587e244640610efad441a49d82fc21e4495944735288b7ba8c21c879a9bf2cea23b9b05cab30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e5f87669736bb505a7faa64c6661ed1e4eca299e1b8394475b8d970563df71cb3a294295fbcfa8009e0e221f8302725d023100d7a6e7ed55339c7b0f1b9999da65fa90940dc5d11c195fa531761555234d4411dedb82ff34b1797efa708df5660b35e60302047c435bb5006730650230688b163eb22b45c7b72c023ecf07d9ca764f9457c18c48d3266a6fc43a188be2238c3c071ba9521979feaa170b2d88210231009b0954eb548f7d9ee6e0b3c62431a01e256684b95d4e396c7ec9ae506a0df3d174f5cbb85a4208928019fe5951cc64ba0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307b52ffbb400034946e362942af0b69b1ed2aa7d2930de30a54eeaf3b3742b9dade7f06f191060b72676ea3e808e952f502304c62fb432458fc2567e0afc4fedf026320d84f86707c35d1b2fbf6ae1190c060f0d89fd36acb6ce9a251c6874cbe62b20302047c435bb50067306502305c8be02a78beb606f413f15e3a9e9ab6cff1a369c67c171e21fc1a6b479e7ad898641a48a927cee9e320f09ca9db2b0a023100aef27f513d93c00cc2b4defae3ecf58f0bbf484ba3b438f6d316bef609eb27d86b1e50d0aeb5e39f1ae13a70c1f2f9c80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c8d267014c26bbcf10f5dfd7d0d6fa1d322b34bee6fbd35edf66872c9832581740e9de29a382f84be7f9ceccb7d6090902306ac76e5f2d0dd2c2ac98859d4d74a8a12d060cebeda865300c6ec1222353adbd46dcc6e99bc1b6bdfbf400ba07f21c9f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d25a1f8042c1f18df51d1a1995d7ec3de70ea180cfe57c18b616b83d30a5708e9d3e4d450636f154c62a69c725bd4c8f023051a5a24c5336eb7f9e2dc88be4c242026f56ae27182cee80bb1dae75914c2c893a1c579f99a04414fe3c877cac8e91260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023041ffad83dba613ecf1417a88ce48362841b8f01c0e615d64a001ce8beb5883d8b2384c718736f6c5c3c744d3dd333bdd02302d9c5fafc6547e68a05c0ce89d8675e93c6c7e64650b4a74e09bfdbad59a941f9b15efc97232ccb7d1c8051f3fca3bac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023006e9c4d4dda6b2bdedf4c06f45625e10df30738ba7f0cacb6d00d96c34bb2301962dfacfc81636c81c2cb6fa0f27d06202310089f862fe6150798e69c6e0351a5721f9b3aa8dc3cb968566fef42fd37206d55edad0fa26a16eb2ff306bfa900d629c3a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300e4d3180267bd37b4242bd1d69d666302388c37938079b77605316c45b847729cf86f25e5a56f851ac0f385f7ff03a72023100de8c740b8329d4119fbbecbc9a70fa93aa3ed6d9e03a10dfd6ad7246414d0cb80b794be5a3868db696c46c78c19febd20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b72ce134b914f867d687ad0c14ffd5f1aef930825f09f4b07a27af6957f4354b3e97bcfc760e2dcee37e959c6ccd955e0230254dfd6dbd2c80453f21063c7a508f52bb49f301b729ae895c36148aa69dae232b1e3cac3a5730e1ef372d1413f046e20302047c435bb5006730650230739db57d52bf5313f41bbd0d17cf6342478075725655a6198f024b5a3883d79f7fd4f4747dbc9df00d933039e5d0a058023100e8b384d5c3305fd114333d848e7a08f9880e28f9423fe50bba4a273f7f54e6f314d0a9333e0ab168d9b706e23a1c15de0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008b7c2d303f7049d6511a534424df7d85557c8e720c24a97328ad0e37361a51d26931aa5af3364c21694e868d1363fe00023100ebbc5e9d62f7b7a3878d03d33911c0e65712174dbf9f992bc8b5dd4626f4de36ba0f2ff2eee6f02c46dbef7ff9dc3da50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b7415aa1f8210364a9cad3169a5739b11b169054f5fa6d4d4d8872cfdf5293c25d6dc8f8a4cec1264c0a54ca0e5e6c26023100a08f97441446585854b0dbdfeb279f024651ee14d0fe08a9430e622ef7bad76f23508ea4a367f93b3541734a7015dd980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023003c3e92afd255e69cbf585b16faf80e597c28f5cf24f304e73dda39af99c1e58dd7e68f9c0f1d2547cb8898f453a650f023079511b52707e13ecf50b064f587e8486547ec7dbba359bb962223eb4a5d86e2e001fca5b3feec6f4968eab1fd56e03990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301f9ab34c346f0cacf3e90b44002792a22e6de0f6740ee4b347a2c9f12e53eeab583b8bd8f925558e5b0ff7094a8b2f7c02300879c0732fe9e3f5c08cc7f19c90ce0ffdcfcaebe385863953b0f3690390464c738ac1950b5b1ee151927e10a49164cd0302047c435bb500673065023037e4cd27bebe4f1f45c62a6ff35992828b537dce57574caabf84f0d51653a1c61ad886c3fd0206a13bd671b86122ec6d0231008bb297802cecbc8b16331e063d3fc2de808836078557e2c7fc970181bed8b46541076650adcd949cb3a684ff24d2a5fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230467e921b386be05261e7b7ef2298298d7409be4da9cdbf8f46f68229cacbce4b318a0928df44d1b49a5ddf2d5de785b10230665f5acb7fcad991909fb12388a88faa7ef6fbecdf6ca75abc9eb4e1b54ed98c9f88a950e49493638dabcafe433a75f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306a8b4da734c599f5b234d4515d627453afc9fc6635b16d5475ed674656273cc3fcb563c8c75ee921fcb86044cb0024070230221700627b1164f979078ed72f0d39d4e69f618fdbbaa322383c0dad35401822f87eae05f480b4640e13c9f60804fb910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f7254e88acfc5f7daa53bb653395c1d77cdca5c609d9c342304524c119044a06ed191779eb6824c70497a1428cdfe332023100bd0cd0edb511febb8df6c1af5cb63235d144c877d84cbb29077f4c46aa32d5c4fd1d43315414799480f443ef7093df130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023076cc6fbddab5be7f901413576938d5995d3f742a384301f4d7b9275d83ed540f743b0224d264f656c703b7eb068d31af02302c236809e31f36220e3cade1980807695197a57b59ef9e88e7b27915abd1a012c0c1fad9992e3a22580a294e6f785e520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cf6c5c184145ebc218da6b9ca33748f3308f2ea368c3851721ef2dc216f66447713be18acfecef5dfca36e97beffbd4d02307772436b448ce158b5b1f493d9a591384dcdfceb9049de33bfc3e87033cc79e6b52a43a722c19014f377c5b7cd5ba5820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023056031493a7bfd292e913774de4877dacf72f230c56055f1f4163a8c69b9ab7378a8f30da0449f06bb71b44eb39852fe702307ad3eeb5906f6dc4d4821767a87a2423d122a5706d31476ffc871fe09ef09add772bf65bf718b577c1c59b43416d63f40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008b4b4029bdce5e2df6ae5aa37d0b2bacff845b4dde93c52261fb751b9fd0aeca5a9cdfccf12dc7abbfb9d92ea8c7b07d023100f0a00aa348eff9541b7fdbb32413d7cfba25119b58b038cd8e458b63e615a13eeaba8636288dd304ee795145d80f6faf0302047c435bb500683066023100d811adcb77028c85eca5682b12a8736e5207ae76ff55e3175561e97cc8673eeecf444a73435c4f171d759eba55cbbe7a023100ddff14245f37a6db99b01c58ca8639110d7d0b305d1c6f9df808fbf395e822bcd5042d7add2a783eff26e0015f808bc80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301b70d638d3722cd0610853d024930dd8af916d370172f22148eadd52e544e7959a5a380c1cdda8aab571f8a19eca9d7a023048748c64dfbe95cb1df80be009460c2e1784f3ec7606b7190a8f015e7008735c074c7306f44535379970bfb8fed7d7cf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230090de52be5f6fe051f972b345b3f8d192bd7566bb1e3ca39746e4273c40f0611965c1ba0dfbcb1059c800eb0459f84f90231009c430ed3c4fddd4e837fc80c95efa3ac3d6921ead8e0424b4977ec0fc21c2efd43719c5cc327d88ba86939e7f4df379f0302047c435bb500663064023051f26ac1517aca384bdf08c17aed93adf1a6f83595a82c88bedeb45fc65ec6529da0fe6338d0053eb9cf782e562150f5023014797f93366034b88d9e8a98bf3b7108a6c83394f133a8fff79518e2a85ef7c232d57809c19baf23e9ade30dc2be1d050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008789d010cf80dcae4d3d50d1d05634891cef8ec03fa64a9bec94ab26bd9d11b36f60c8bfcef33e7bde9c8aa7b8c9872c023006cbc04c04da5cd7d5ff84e36c4109b9e6661671ac9c6d84e30f32f2503064ef1e2908af4a5220955e62593733ae60990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023066b76481096001cc034c89024fc252bb51fbec0794862bd256cd0bac2da97e4961fb331a733df56556413f9c0327a13202302780e00775389122b90a7ad376d233dd01ea3ecb63ffad71d1f5d300fdc7695fb75e1d7073a6d9ff8e9bdd4abb60b3cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310083220e4345449a99f696039a4341ca36823c38ab337035ae93a38b2c2d14c6f2a8294acd08c5095ddb05d5938ce0474b02306eccff0d9eb2199093e91f487838ef771184c0cc06accc35a60b36ef1ec7ba3d1a5070551925aae909ed2a64e76a414e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f908e5600f56bf8dc3f66c1a25885d26d2a2d8bcb63510ad6c39e795235df7fbfde521effd36596f2854968b1fd4732302302de24038bba9d46762a80f0af6fec05427ccf6d4992b9308733fde0e02b73b6606153e4f0498c3ed705e50b2c389ac500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302c62f0c25d007ec15d6c83f07544d27d43f15bea724b95e3edcb8d0691467bc1dfbdccaa1804e54d4b4b090cacfdd5b5023100e9ebb560e2c0dffe700542d1208267198338f1c621b77533edb567b29426361cb907ce0e261aaa47b9f17aaf251e24cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023039ca7b796762482a31e63f2ec7deb1df132d229c20a020129ed782ee316a3d9b767426c8d20032ddfc32492756d4cd8202306756e8154fa0638a3713823e6dd1ec51c0b431de9d0f93a813e549b8cd750f378bb7539e93cc940f8885515945e089080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008c0050c97887e61c11f7568cae55db294bbe3cbd63a4a16454fa9682c99b898abfa530d096dbf5f688de0b5231731d64023100d799a978aa7344b3faf04d5543df1346752763b4bb9ed7667909da4ecfd7c4ffa4340690f476c8e27d9e0e45647e30950302047c435bb50067306502307ebd73b8e152c3d15548fca1367aa1b19972450e3cc4dfd5882c1fc6ef01ad5fbafc014f82d2c47d69c9e43937de17bc023100bc97ff5c0326348f26b6b607e10cb78b608cef2fdc69b3cd9760c5d0c9990fafad317d376b3bfdc8b320dba4fe1e173b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a8c700ba1a8369923cae03a68c0dbb691d0c463ea43afd6238fcefb40326bcffb07ebfa66df1151ed20d12695b22eaef0230111a5f74d47a0a581ad362eed90c7f4405882ca0c55359903d0abc3daee8413b93f00f1dd88887a5ec41ca400d4b15550302047c435bb5006730650231009474c07e33ec0187458e06ee2090677e477d389c183bd40802d0f1da9625f1520565a0e96706adf3438a51fc0234dd9a023057c87ec6b79f78d8cc3d9d9559660c1b155ef2fca677365978da8d00d28134c02f335669f504921504f86db4e4cfe8560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230704e96ea7aeacd8b9b61ff8800b6e9eff4366b4c51fe40d2e6fe02342750debb4c66db10954293ea239b247495fd020c023100cbe74a578cf0bee28e359f5075dcca69dfea361edad0ac9473919d38188c55b19e0925b0e7c9d5fd0d2aa1095347b6e80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ad7e1c4bd5ec56e81a5373f655d526b4f5e7e206ebce604979147276de42fa54fc71b2c8ed413276083836c4dab7c0c10231008a96c18c5857c63726546eb73542b3d385ec0ab4df2e842b4a72c9a1050ca1a5ada1b65fa8248a6267211c9e629d283d0302047c435bb500683066023100a766c8b46fcdf9a919003721d553d9d857fd73e9da63d67467191bdd5494719b8349fe974bbfddb1a0cc8a79a55ab2910231008f56d967e8a2e076951cde41fee0b6fd1cd30696008042ceaa8ac251e16a40302cb80d2b095ffb4609d5e9eccc7f8bb50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f06623f79d3f8e5164cd6f0e58b1101faab7a55c7df653ecb07735f27c4ea1e86e82614341c9c3355a74421a7489c4c3023100aa4f4944b0ef1c00746665d4ba7572aaeaca0c2c9df36c4dfecfe552226e57dbdfaf7c6e4499b52e4f4f0f860f8f5a750302047c435bb5006730650230459403c9619c7e223d0febf28eb23ad090fbbd427c3cb3a6d278bf4d33a817c45e97c0e9fb5235f41ef2859f1b5ba59d023100cbb995af9841337b38786416d430f1af3d75632c1eaf4b146b24da61beebf60e994e1d0ee18223b03d39b9c106712ebb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306f971c7d6fcc9b2bb231c0fdc8094fe110b32d65e394f95a6d60d8b9e6ff091644cfaf4fe5680c3aca7e0cb41271cbf502301ba60270295b19d7c6c1294fefb31a2dc695610940e8d61c3c7d34743f645e35fc51f33ec246b1bf75ec2619680dd7d30302047c435bb50067306502303acd3a6510f3c5f7d5a1866f304aaf02886fe7f068fe35c50ac3033a6d199fa8050ff7383efe3c1317da09cb85da3f25023100fafedea8fd6ca936a02ba96a8b9b4b1c6808aad4c61efef0e1b622e1fb871c3cf3f2d60dbc345744b991ae84a438c1030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f1017e714200413594a10275f23d37ac3296f01831a77428c8d83f5e609526565df1300bbe536779cd04292279046af802305e638aba525f46f0813250ee6d354d315a5f1e2565768006ea8ae172b047b4f6efe4c66c9b8ce4f97e31ae69ec07779c0302047c435bb500683066023100e7dadb931579d6f8768e597d6e1d907672769e46f836a30e5cff3e77fb9cf7381c629fac269cdcb3b31934e9eb85c7e70231008b40e53398807ef1231ba26dd9cf0fc7f3d1e532446eb153f435bbec36b106559396c18cd1c6e56686257397ee567c8b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303ac1dc4aa5772d4231d269af559dcce7ba86bd2b841246c957007124fa13c7396f4c9dd22464f56689c6f91c5e38a1e002305c4edeecf787d789f3fab865e95b12259be8606616b68205b4d1890e1a09b20d4c0d81f31ffdfc64d6ae487f431947900302047c435bb500673065023100bd7165bf87928355393d9916d0399d1e741442c0380db752cdbe4c91aeaffe512dc779e0c130ad284f52bc81245109d602306a264efbd89cc449bb41aaefd09d30b52b25b436172f20d026ad5f31266a53b5486aac5768f91fc13b2112a9f2cc2cca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c99402c2f3b545e8302c63553e9284e12cfc1c153ad3b5bf913693d068e7c922301d2680be3205b3e4c132c39e368b8902303928fcffd67c805ad61152de59f0b000db88813f0232b916e7dbbdb173673ed227bbe1758b5b82a8265642a97a299e460302047c435bb50066306402306ecae414937c7d2616aec8e61032708f95981e8b6d4889d5bf6faade302f26be69da917356c44c4764156c12ae2c3c9a02301bf2f47a051ade4e59832832ca60ed240c650e8945cb24d3760d454cbe3fd6b711816a18d644a3ca3d5ca4dc628a1f190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100beafa40177c192db92223a56be78001d5495aa738fbcb5e6cf7f1be0d275bb5af7ced96395a68eb32e31913e8bf8abfd02302f59141a9f92d977e1920f10122a832d80c67e94f34057dacef2adb98a0f05ef9b47ca3803f958380dd832ca55f352e80302047c435bb50066306402300835b97be6866ec23648fff77575e3ccbdde1e5ddbcf61518b3de6dc9d735e1366672f66d87e49568f45fda82c8848b9023021c34f4e9d814158250eaad48f82e04ef211fc36789dd5fb69d65156dc15c629af4533712905a9d49f075540bfbef1d00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303079472c0bef06a08dfdb7f71a30dc07a7c201515c14c3d5ae311ff9fc645548c6f22cb0a6bdd6003cfcc8f108ff922902307e4ddca96d7ea11c17c7b41537825a9dd785dd5bccf9d7a429af1f2cfe3487d6478859684d465af54ca7939a78069e920302047c435bb50066306402301a50fbd7272b2440906fb96b92aa8a8fd6759941c6bbfe5f9d389df72024904640634a603614a43913a269dbe447efc602304046914aa10b8017168a77b2c0cd8e9b776e65811820aa7ad5da08c20dac732dbd9405710048cc2390ea99a00a164c0e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305f050305858919061d1dfdc6aca7d68943937e97b03a463aee8ef77da56ef33bbf59f6c695b91713d7e56ac15352d7a0023100a35ed1b3d75310c863e74c8e07c2d0a3383e8cff5437303dec698c39ebb3869b5de60eaca6adcd431aca66fe5d564da90302047c435bb500673065023100fa60d592e6e8de33e971b6dfc2f47e50fdd3ddd2e70f15fd7dc32e00c5eeaea1db14ca524a119ad9c15705c7c061317b023057c4e130e5b8067cf498e60636c7ab7a9bae6cee96012bb7d51f97e85fa7606245f55e1f98b211bc1f4518ee3581d8b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b0e367fff90ce828f466044c42a3c017d8b175e4992d5c18d92e515710e86ab02208ace9aeba1add0c20aefa56fc35e0023100f27bbbcea9607393f30ebe19cdee9d9f3a82460a062ab327a84fb582dd54ca5e4a9aa236ff517a0edf0208a3488230850302047c435bb500673065023100e381bc116df80a82bd9d03e562d703e298e1227103a9ac050a28ca48d9cee6975714ea81520dd4b08bed8928d3a6afe7023009d748d4ba9caadd0a445b0e5b76b4830837d9a447248df9994dcc49e4d3abea4e1b5b3285975e8467afbfc80cd3820c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c9ce6ab78ae7b32c5f674ec948d7b09ae907cb997f4ca90d9ed3de52ae1648fe5d0075797c6d72347c1d24fe0d1906d402303bab3c765441059b3b21cf252ca39c4f0f029e2842bb179bea2b740aa3710f443a261b1038a29d120b13f5c328bfed200302047c435bb500673065023046b284375c6cb10b6ddec6b4779afcf250080430d7faee7f2213e5669e17a998e9bd90775ecf528d9866e49ad97fcc240231009f1ef4ca3c064e53eac54f5d0dfc3f92c1df57e05f50e83e9369fd725244e850295216d8e3014a4df647a1e6fb1d55740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1d6d9567cd5f74952db40efe0e2935d3404ab3d894c9430800932911d97143dbcd8f43c3ec94ac3efac22f3530003ff02310084cf2af6031a18958513fd1ab333a898d99aaf3732dc8d6b3675ca5bef1c8ea856b5ea678b75512730726b9fff69b3d70302047c435bb50066306402305f1e0db218fa479dcdfd4a28473cec3ade54fe0cd3987c63440fbc63cfb8c3041520d9b7f6a0abdb2b9cfd62a21a82bc02306b9f2d6de1fd3a2e612f4cb8755b3c13bd85270b4611ccffa802e6dcb0d92ff84efe8b2fa7e91c529c0f268c0317cd230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230215d51f756264b9cc06f7b6e87d251a593408584dc339e0eb9cdb1b268456f83d43a4a4f8f5b111fc96d4413fd09b150023042cdb37273db91caf575417d42bb3368c7de291574b426170d86ab3898cb5dec0834faf655cc0a811a9684353e0c96df0302047c435bb50066306402305b2f7b9dece91ab8332e112cfcd0719898857035802d2b58df6b5202e8c9bd10783d8816622076d42fc4e3dc39a605c802301148b9cf8634b445ac66eb9ef948970343901237d0dda8ebc10457c0a35e185b72ece2df8b9ac79821f8785c369418ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023039b7c0ff5df8eadf52e7094cd9cc76a593ce300dc5a9a2a684a00e72dbd1653d73abeef4a9825eb80ad50a4df042c91302306344cae0b8e80a860ffc45440713fabf204e9e0e01e973f714e18765e05ffd2afd49ccb3877c9fed4539696307ca8e2e0302047c435bb500673065023054eaca53e9029b72f47d1aa29c6e3c63553105651b674a029a0faec27d707fadbf622c14503e702d808425281354a9d8023100e134220a6eb062240d28c893a23126033a55ff78035f95fbcbf7e2ea21a11a06b09d9e1d27e5ba4ff5317ce8ee4ef1180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305bbed147436c228e6af858d100b006d472c8c0b13451b6807eb31064ba7260465b4dcfff87cb63b401b214284d986711023068554b5924ef38f9646e0cd49ad9b1dc1d660bedf60b14e34bc3d6869880edc09e9bde0ebc8e63fa02d7ac7feb8bad8f0302047c435bb50067306502305a7ddb2b457098d7b298ca65a5db2e72a59051c3cbf814ed1343e6df61972db1f258d4d00702bc4221b6743f2d8ab079023100ba2a5ba3c9bb4a084b7074b24ea0c461983fa374e1aed497ae7346ebecc3ef68369153fa750e386b0957469d71c78a270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302bf49e9eae815418885868b36c5df54d8750d5853339833e9aa1f49ce693b362738c89cc5373bf3b6ab8bb64003cbd99023021d131412ebec7ee8e36115f175677ff72f9a618922c5bae197c4edd4d7771e9a4f6e175fe76a289b1c4627f9a9fb4f30302047c435bb50067306502304e8141d10db51d97c5bf9998e5cc0c1de70e81eebc80a0e1d145ae95a90fefd54c5e013f28aba9e14ff3a00e82a9e23c023100fec3bcf221b71daf6deceaac582f08cc38bbf8fd015207a3f7aa0080997792d3fb7a5fc8f75cc33b19c460455c40ba780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303fe171f970e1e2d577448e7c3abd50e5bf06fdef283f151e0dadf97b4e89035633a1fa24958f2950567efb22af73272302302f2dc7a3c7e7ee48a3bf37ca725a705b60b252667a3831a101acbe24754af8f3c71c4dd99914b6ddd22b9a0de75c617c0302047c435bb500673065023100d8cd1aceaf9181198feb31591b6267eaf6eaabe2e2f2e2ec6d9590ae5865a2b925b2ce1e2f544912cf22af075fe835a102307bf1fec88f13130b9b82e440fe0834dfb08e966fcc9db81568ffcba3d0048f1c5bfbc2a568cc72c41084a3f896fa88590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b4454e81a43aada165c2e5defecaeb90e3ddd0681858d3a2ddb40a4e76f93eb408ab5d63fb8b012f2b9961bbb1e062a02305812667aa11304e92314a23c6052030df01a2157c607ec547209963850c58a491c3cc83ecca106946265c4be31bd3b7d0302047c435bb5006730650230416e2f3880f378f20e3f449061828dbeb33e9fda11d25fe12159218b69fae49867cf11a169222756f36ed2ff33a6312d023100833a30af8e348e4cb76c499ded992a901ef06cdb61c9e8a8906985e6067ad45b393ad7a72cccf558ceda08023debf9010302047c435bb50066306402302b37f27f9f8193947818bef717c1ac96486a9daf2493f0f6f0c66f80028025ea1c471cc1d29a531b5c7eca83d7aadba3023023a46c0a4f6f78e26d59b697c4d8d0632009f8eec0a7e58a934110d502af31e0091168cb376b9d82bec12507fe0cc47a0302047c435bb500673065023031b4619bb8cfc069af6177e9adc15c26a0e4261bd632505cf246125b76d1b50aeac4aded755c978108d378eb175384c4023100bb03e4ecc5368b95bddc62ae9646054726c967bf772bb9fed58e70c0de95c2f19f1cc727ee0597ada997344fb60e31290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304ce0116ca5e73ebe96e8228ad8995763d89b73e9459ce7d1f7d27e292c0a98601f336f62db6f272fd54413f4ae2b3c7a0231009010aab2c9dc0cf3909b280077b0f664e74217878f0645a064d9950ef8b35cd5ad9f807ea0d2b9683b9d27ba5db2cd580302047c435bb500663064023075dd8c033b5da5ebc434215e5d164125a631efe8dc7090ba2cef0242d2c7a95532b1a1796a7718bd881a3614961ecfa502304bef6cc8b14e9b31f1c39f0c4679898a9fc88e04f335b782bcd63d3defdb47c89ddb4bddd00f975a1850c316f315b1ec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230014b1692cdd288b6eb07f20d005d753dbb6195a41b382e48adfffaf0650cde9da62c44f5b90b48ff711e03023b927d24023100bade946a75e887bb0f2dfee0ec8e4480c3cd0fe4910cbbe34be3f30c50ca52bb3a1a4431fb2fee2efd7e535256978c0c0302047c435bb50066306402306ad15dc25898e4ddd929115508ec88446731839c6fd23d59f362663dd66b55733b9f3479806ab929f8fbc2a52a8aa7eb023026309c94a383143a089cf8290eae943d88b65417059f40d4507c16eb654a99597816397dbe9f90f8eb5ff8202d60afd80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023066fe620908e6f700a68efc6519b7413b97bae4a46c656f81d9174e039b2371b5682184814e4565683d4e6ee10f6caa86023100bb2a8b541966185f545290ba2a48512dee12d33859c9a4893ad89581f37f669f9ea9f65bedea17be7e4a34899b1e1f870302047c435bb50066306402305ae15b484e27ebb6dd3378d453d24720f1e4a09a0e54fe0e9002888bf132f2e8eecb82977bb8bae5439b8453a1e9d560023034fb15751f930ac2d57d18a36839c91f124d4eb29afce1dfbad0921a3ae08ff2d237825e9473f56a678b92e68bcbb47e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e3a0a642eab49677cdb7b517517193788593b1d61a551a10bb07c467d8f72dc74565c8c95cc6b1878069a097a9638f240230342104a3e082c2704e8423b7efa50ee661363677b3dd734a29579f19f0b5c87ec1afc5ed0c5a5dfbb9f0bf40a804675b0302047c435bb500683066023100824b53a2813ee630877cfb8d44d182e8e3febaa333149a490327c4fba0c75065914a7a8ba27f863925872069c59b5f060231008f868fc935ad31a7a4f5af77958af7a42caf42d2276f798ef9af115b4e30ca1cc68b2f88d30a16d8c897b14ec3b019a40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c31b24678483c22c0a90456e6688d18b0eccc5dc33a78b0bd64a88bf56922c0fcd716d33f33b81a43bede230fcac52550231009fcbc299f002b86eb38851a71df095ecb6f6f51a9974855454382dd0eabac6e7a55791d8a8c22251fc3ce2267ba61fcf0302047c435bb50067306502302775b50cea4d26410f778258d8a7dbcdd9dde2e65868a85a6e533bc15c4247764109397139768f1a4e405c7cc1de25cc023100dc739660f8082cb2689d675394298a93965f0f5b1031bb99383e0da639a5bb027a9dc53e6a963a4dc9cc124ad7c18c130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100959786e440e28ed8c106abbf7f34cff01ff61092e08c730248c96c71ae2dc740275d197cf8d49bd1b17702a9be084e480231009c813c4bebd9b1a7ab2ad2f4125170d7c6426e55fbc5af7df318843bb2f5bf49571f4345aae1df4b63f50f5bdbed4c2b0302047c435bb500673065023100ee7261a0bcdc246c29e78b9af72ebde21081b7e5c185e91b2035582279f814d3da3b4ff0ecc058eb0674ab7f38403e49023031437c4ff4ac39ed01c43afcf43e87c0be6da2912f62720e36bc2a36df280d9699edd0ae8d90a154d4781aec683acfa30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310091229e8a9d628576c16cfd84833d40f14f9cf9138294868713d2e4080e3e739960cef7aceffc5cc1160a6093179577010231008fe0e6799ac1b1f87ae0f6a2edfd91a45b804f3e24ab7beb61b460f6b4cfdc675dcca2484b6ac5caa8351712a83802c80302047c435bb50066306402301769055019d5b52027f26e6ecd62786b20abe3f5c8011355786299478a8f945f31d1d92326cd2d68bb0340f41db6e78d02301fb99889b43c9272a6ac118c702880bec51623fce454a2b753c0b1f8baae280ea551e6ba4563a940e96519ac0f033fbf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d4bc543f9de6990d2545d06732feadba907dc795ddbd62d79c6fe9f10c09af4adba9e4843a1ed9098cf724c680c3ab180231009e886004b164726e656a62d6e6c882c23b5b724df92462361a5f70238066a146a5b1237455457fbe0794b8a0754260ab0302047c435bb50066306402304c6d8d7f79aae0bc417f227cb09924b09a670ea6c7e60a1e8dbd6ee227c433f0af94199fb78e7d36b735aa4c1ab9090202304b25fb9ba858be9341cbbb0fe5dd11025fb2bbaac9da9ba022e51eaf535ac9e63224d40d9a95de674fb96b5f9400e2c80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230436eefc31eff02a87a19260c8e21a390e5fb6f68fffd049c057dfbb5d3f3bd2e4520a208bc2ebfe5671810ad9362b0f3023011db56bd676643d90e7acb10f7a34c9b5c26149a6dc40ef720892cdd92fafdcc3fb75051243f6a2ed433e028e62bab6c0302047c435bb500673065023100ac9941033795ae0ae7586108353420f3ac45086d46f9e3cdb18a5360a81208d58f69674e5660a27b0891e62995bbf655023010500d70199e2b8abccd6ec5cb0720405518e8ea9cfeadd273208b1a2c49f9d6aa3e7fd36b4be41b1e23a417ea54a1290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023016fec051209c1004d218d120ef7da349779148fa315b86744ac54453d74e33fa9d148951cd7b8108c0032d79e7fe02d3023100d2ab49a75f5713c9a7aec40d140ce3f52e694906b0666cb6c79242e2f5445a0717167422baa3870239fc2d749a06ce680302047c435bb500673065023100d0d49e2b96d7648a8897ba3294c6385fa21445af1679bd5acad81f5fa4438f18829f6047a614921921ecd4e4455773480230764ba328a63729697f394c6be805b43eaa94c4983235a36e5cffb290f2b295bb4915622abc4dbbf085119039327f064e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302facf19b1659437037a2ddd2d6ee39c54c1f9a96072995b4a59ddde26abf0e010b9ff97e3c5aba864ba4d2b7af61f00a02303ce6f42da0340c40571cae0340e0735dad65b85fb450d4ac407e524a82f7f2e24733ed18ccda6c0f7f0e19fa50df19880302047c435bb50067306502301a1ffb09c7788db200c43a5eebdaecd25f7b5f300abc665cca492b1d5f093b0e18a7e891c724e5e0a610fb15a572b2cc023100d7546c2b269bdeeb46e2abda76a55da250f46775f94420aaa46de443250691872354cb4957c5cc00c4e7b3ba926383300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ae92012ed55393b8fe31297711a98f20129fe0392340fe51aeb52068c75afd1fdc7fcbaf235e1e87eed154d97a940da702300b9544c9540e0dc7ae49338428e6a4a8eeb84b7f5242bf1b8a0a5bb5d29c6d19234ed3b073b8316d3b81915a3b1fa93f0302047c435bb50066306402301eaaf355be232fbac029694506009d956c49d428996e8730c7fb41520133c0ccbc8cc2d23d4aae48b26486ffa0ed78ff023050d7960fb0c18034dbda6c42e3e40bedb514b5927c1a3a99788f91ed2d5531e4f5b2214b6a935e624a6cf5bf59412cf40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100935f51ed4407ef9427768c118d8ff62c2b3c68aba3b85eaf6eaa664bc01e23585bba0f108177faf220c8b1771cea5644023100999772b7bad330fd4d6bad05c6604b97ca40c865e42b3570f49b983eacfbedd8c910c50809c02aff8e8f001a4d7f30e10302047c435bb50067306502303e82f4ba193bfb9b104a542676d8effa1f6b2dc9a3f7695293adf361c5cd7114a94bd860b566b030c79d4627fa8c447e023100a3dd6d4e9bf1e378914dc8fd7ccff7939be29c18b5d81f0c3901d6ff9ce7cf676abf430cf375fc411b8f2b071ea76de50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023025e3d6acff80e5a68d7ca4cb9b7868e052683582661cb5e2bb18dcc828fcce919993f071539d0fe84f0f92106a5c521f023060a6eef0369cd5d430ce9af3f94ea3eb66e0bfb5621eb961db3cbc070dde01bf8477d9e274dd0d41a6d39a6017a63ac10302047c435bb500683066023100d13fe3a9fa929659dcb0b6c10123e724e685781d10d002ef675e308f010afb5936317a912ee9206da4e8b92bcd3874c7023100c90f1427b4bd9f2f0b1d295e7d39f97511cfe50c3ff5d73aabfe58a3c8e3e0afc02c1197fde4f8c651df402f3b926e0a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302b1569d924bb9f824fbee73ca27430453fdad82fdac110c9ade7e81e0a5dc534c47cd272973a11457365aed0f64f4d6302305eaccf35d91716af0bdef4d98fa347c85dea62ed1ff5738c9529e2819714bc550dd8bc41a253db2f512f8c2eb644d22e0302047c435bb500683066023100f47aad8edc47b8e20a8281cab9b943be6f8a6966c66969abae98b9921dd38f3a8aa4396134426c5fa945a2c1c7f044a0023100ce9b8a02dbbc9f9c2f4dab5099671e45c7cc486ba58b6cdfc7c079ff0cebd274c84a3973f0cb28b15b52f9ff5b9092070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230526c123c8525d520cd8fbedc932996ed6bdf528b97b2b4347783f4017e42c126cef11fe5b245fcdc59a6ba277b34876502306f80828a60935dd617b1f9a77e8e5fd2249305bc65a5831d9580582715bc317e65d7e0d156afe1aa2411b9171abe7ae70302047c435bb500683066023100d3a898751a66ac6b0a1c9b12d343eacf12448ce7673bb96e77d720736bbf33708604c476a50ade05ff1b9518e33a4555023100fca0d6c83c58be046de7d3afc281f1aa5508a958411daebce843d2e08059086abe106dd45968f6c06289b1e1169a27450302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305fb45ec734b2d7d99a5dcb481d5bb849b9a85b4e1423514e4fe7a379707d52f947d292028904d01be382cca81ccdd7c2023100e20d616596a71524070e5d038b931825dc54bae35341130d829e90b151de6252aeb63dbaa1afdeba524afcd359a049700302047c435bb50067306502304c422948289007897291afa585791d175d637366aaa21c2bf33891673bb57f64918bfb25b796e30fc3c812d99f177aa6023100a68da3f44ed32fdbe21a37b1a5869c3f03e9fe2e1817850518a69880af6f621ee04e78381caca8840c1c518e99520e350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50065306302303aa6c41d075bffce7fcf9a331acfba82b4152b8bf6dfd5940b185a580ce010c5939f80591fc3082104c252625c8163d3022f0ae97dd8da3ff2dbdefa38f00c091b147bc6aba1c1e06b768641fa81c27ccb88ff314cb12668ae07e668480d0d95f20302047c435bb500673065023042c30d465e9476bcf4b88b7ac61b2e1e58ac586a05f010aecdb932cfad8359916ff0fc6cec62cf1a757a4fe4c28fcde4023100a89c7f5187a26d6d7147bb8879ec4c29ccf11ebfd1b449184fbffefd0b78b16e191e39ba8360dda09e0c681ce2b4b20c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230145c763eeecb5ee4913b7b1fbfed5eeed7eb14549b19bfe2372c6c98d8bd4ac70d13d4783c06f79ee61cb94301506e4802307b53192d593f39f37a3c62584398746301e4155823a334c2325782e2f0bb78ff1b6330672ef85e8a26eef2a6fa69513d0302047c435bb500663064023072b6244340b9928864ebedc3a7980e7d57e20042c156da25d2d80fb9d4f29e380a0b2d667f5b2a9a61cca65853b9077302307533347dbd5b58c1ab7b990bca250226c86939f5616c89f9728a4c3b867b2246b2dfbacdd74f0a3194ddec67be285d300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006cbcced2f9cb612e4a2c4772da644a2326f79bb1e8fe2595e825b75cb9795ea306a154135163c041a23066f126f89a402303137fc3eb09f9a090d0168680542e6cfc0250098aa983e51d02d050e484369bd7750f4015a65490744441a89ee598db50302047c435bb500673065023100cebf658f91c0d8c001ee822b378ad7af4c1b89dd7c29dcc5cabb48e8a4c4bd53c030c0e532c5bedd9410a8329ecc7d2f02303e5fabbf2b3a278847e5c6fb1bb5e69e9bf4b888ff43a4381b21b6a9b5f77d4f625a03e3d464a974d210bbe7381296b80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023023d990d275d76f757afc70b16de93b2b70cb6eec40c41e465c019e5151a2b4caebe624165637ac546da63b7525aa00c60230056aa418918061217d52b0e9df92a7e8337e86dad76597b57ad13065af3a366c4360e0892b2697ee27cf0f685cdca17d0302047c435bb500683066023100efa2f3c71ae81be2cdb6cd26cc8f307bbf232119754180ca1136260f80382cb05da6528025496c1f8e48db5b1b1287ff023100f672b9333f711876743eb187c5de3897d9234e29196541056e3977bc1214bcce570b01daa19d5437791c5491415407b30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300d0e9a8dd5e2de8ab4413ef6e4dd7ebab45b6a38802a499f78b3e3ef368c9237e04011d4fcef1be59da4725382da55a302304262d0e3aaad5918fc93a11fe73c2a1757339c75d042c2594ed9a7b98b6cab9a2bd43a260060fae34eb57001814c387c0302047c435bb50068306602310092c0982dce1cd07dd0868bc682a80c0ecccc28602533b773dfc058a066ff427d3149f098a5f56b3487899da8e971b57c023100dd08e438707d6f759a47f92597cbd1a5a2d3348ee14936c29f2902f987d1945620951569226204ce3a0c54f106f498cf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a4670f1284374be1a8963193aa289aa0a3cb82742f2ad8649067758614c0a1fada4ac5c550ea74f2fdacf8b9ba5ff6ad023007d0141b4cde09bc94e4357c2ca40a42165bffdb816d765237e401a18ca214af6116792ba2315152e4aba1a7de3ee2f70302047c435bb50067306502307da9ddf9a6fa50146709ec1015cc37a5abbbc1d215b797f1d8cd97fc608d0d424c48cdf2a667547f17ea4868cd83dc25023100aaec01899bcb34fbb5220827932f79967bd0ed8df49fd8a9f411fe59c377b5bb2259a3a23f301ba82fca341e60fd1d960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008921c7452984be2c0ee31cce1547b792731073e2c05deb5cd361c262aa77169507f44182cfdea735c325b5851118dbef0231008240febea50f26477cb7e88c6e2df86ca9f703f6a0cb05d10ec731ed5faf963d4b88c29ef8da7850de5de767891ca1f10302047c435bb500683066023100d588ba7fc3ed7d3104cbe8c887439a58d8fd81616c308939aee40b0617159feaf1910d3b37910eb0a22b880c847d2c12023100a18f3fcc9019c54586fc8296c1bb6ce5eca207da6b6780460dc2867c46ff63ba23a05483721bb4ae960adf1c0f333d690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a5463cef9f61a1e5bd7a795e547c207e7fcd073a137b761eacacaa4a980aa787c8bb88c21e65696e43df300449135a8a02302002d028d6ca1eb13ef00bde6299de2e4654a161e6a772c4155c969087cad85ac0ad914ec2259a5f3b7520b235851d630302047c435bb5006630640230624e42c652c314ad31267cb4914b75fb66ea1d772caf53207837b96a0aa05e626b169b5f52f50458556b498ac99cd6e6023009dc53a4065d8eb5eff351452af000349b91812af4eeb5a80d6501b49fde359d0887260c288fa32add032e65f79c71be0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310097f2f29223e2506aff8e18da3295c144dee15d0780af7ecf91ead55e2735339018f0f6ff53a1b13af9de5d7febf9cd7f02302fc6ce05d4f693f7cc0921cb46d9ce75525569e82935045cd5ac2aeaf912b00cf9ac970585c267afa329463ed898efd50302047c435bb500673065023100ba7dae6005985bdd650cb95cc5c45ca6e81d33cf357d9d0f79e830fdb1dae1fd5ea9f4a076dcf02a23ed6eb1feb59d390230042cd576355aa877be4514b52a1705e1495269a57e9eb16cfac1ae8e5a547b70b3eb709483035ecd2a98d1f3ae22b8080302047c435bb5006730650230381df3461eaeb274c7c21ea0b5afc2f8f5bb108549683d5928cf4b08fa62ed0f495761d196a7a13ebea3dca19ce69eb0023100d872d04e7925e91a3018c9f89b26d8c6e0f991ee97bf2813eb15f369623f0ed7a698712e4c85f796dc8589adf89c05430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023057ea628a7d1624882792d3946894f4334556ad10a69c2d79d655445fe6656ff3463b58b3cc6c57f646b5c3a868ffcae8023100f364017ba32b497cc60e6a5bbbc9bbbc59d81e0e2ce0c9d2f9c1cfc12b760c8243c745128bbd7591b8c16ac412f98b530302047c435bb500673065023100eb0ada4225e33c270eb74095f43b38fb024b8f18816476f05afb77e5c147feb7e990bd75e5ecaf57ff22bc55799eaa5902304d607d755c56c1c92e7eef22f3cd9b75060baeafa7da9321ba26671d796bbc5b894dce3210d8c06ff180e736ad48f6f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305615cf3398a790f4c7c36ff7a200d818e3a734134492ed0ae5e2d54d160d4607f3abe5436fd6203c44769a7bb91a1f99023100a8ac61620d86768b146d8aa36309dc91e21da76c0ab1a3d3cec026df82843e82c0a8b63aa051859c891e6e3f64613d030302047c435bb500673065023100d2642d92af3d880ec69fb72c36d6d00fb29d084069de052426a9fcc8bffdfe02273359fae325d6b690291c39e39373a702304ddf2aee467e6ed50704857940e920b9fae407156830b31296f0251f3580d0728b47150e7de8080ca052a65dc6b4efc90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e075fbd7898e799869e646206ed8c0bbfad866c8df6d719afd5945f2da37887ab21dcf7fbfbe944270479270f09e57c2023028711fd0ee4aa997bd798cf3136a7cd19e697e2d7fa62f2101c38e0cb3ddf8ecaf95a53b30bc8e5294dd57624a1bdf650302047c435bb500683066023100d12e6d5e2f35acfe9565c2e0cfc508fb1d5f0f9a2413fbaa38b76d0f57e27e52116f53a808f67e69c47b6dd9da9cf340023100f0927b96c3447537a2cdcc53b730b97d540e1419f87bef09f5f5dc3176065e8f7e7845e8f220e744ce655a204678197a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008e88969624f7291c27963a6a368cbc729c3fda4e0c71dad7fa537b15517d8a471fb2e031ae0db5e1c0c49265fd941ccf0231009423a7e682e58f0fb2fa8b897074b1f35f9acf106fe4678b7033829cd24ce39174d9ec9df405469d86f3b150dfffa49f0302047c435bb500673065023100dd70f64071f752aec9150bec74ef86d0c8b422c88811f9769fc351e68f98300c2461101cd96299139033e98b410d315202303836c94b834fa3a28786daa56141a957e385abd58eaf2b688f632df2894369f6e257c7d6b75e5898d7bcc72667d8aefd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023021c4efe451815ef4141ba79eabc7bb22ef04ba35f3e1dfb805791fd60ec1f6efa3e53a2b61cc0700cde5d8d10ec241a5023100977e821e83566274ab024eb02971f4535df216a9181e52d5d71223442f187acc32673266e1f68b8816e63832a4dff0e70302047c435bb500673065023100d71ae3a8bf0e7eae9c287fb070ac9abe7e43ec585b68dd8899d5f06ec8996f3932c739e011490d87004622906f833fb902300f225fed174726456d869fc3c15295b038219b1323bedbfa530deca2b937f8b6fe8e28c4b93c5fca9d791522264a04960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023003e755de95ac869c4e6d4babc6763aaf5903965287872da8f96e5a98b3c46eea5075753ace541f6091575ea353313b9402310080efa3fbfa37ef16768ca2bfd5fd2c47e2ad5fb1b7eeb98599ad8221533f473886bc3ae7bb00dc7cd98e30313fc8f74c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305355c74da57b88b8b6c61c632b0c5ec44a348a4096c10a9328e6c3149c67a59ce4160caefa56d124970fad592f2eaa24023038344b1ff6ac8ec4470403166f44fc07b39469006bc8a8d579a3eb62277fa1dc2468478df2258cb10ea760e78f5241040302047c435bb500673065023100fb2546cc5c744f22929a143f7823130ade84b07f8cb495f073ddf66204dfbc741f3162163097be53961e7fe3cf1022550230196509314c3df4bfa8e5702194d51141c0b2b34b987e09c953d29fa52926405e321edb958963d53773d517d021cfeb530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a696e086e210560dfcd5a678b93f042f43b652142a68e303370154265d1bb423671d129bc23a6a44b24bbf1036c2b946023015604d9f55fb47e45862e9e7c4ad5ebfa8eb15fd68e1eb5c2de946c018acb32c9e3f5a9825161d37e63ee1834c4a23500302047c435bb500673065023035deef35d37efde24ef06d22e1bb32761e4cf09cb979ef017696c37cee190875a34a9f64c6ffebadd3009525c25a975f02310086f65f61cfebd288cdb7364e25ee3cfc141493274b4cca986ad3e4c31869abeeff668f4ab1384ecc6e602c76fd5562580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c2e914a5b807b7b465553f2d495a3997e0d5d03ec8676af31e127d73f2f996f39e9d211dadcf78ad3b7d56f2b73f8cd2023027ffdfedb8f107ab8b6d610c9de23cc3b5d9dbae5f462d2045aeebcd027cd11048ec734aabc78042c005c0b1d1890f580302047c435bb500673065023009add38ccfda355f1d3b7cecb09b87e228853afeec7ac3ebb39cd721e96becc5fb5700840e33f305ded4dab1a5648530023100ca627d040254dae55cf84b5ebef79c75370fbd3e80f101b7ef00223dc2b013e4244acb25d7591b9016a8c478a16971e10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008b52bc8a1096d4e3f6e9effc51b4450cf3c92f4b1fd0271113f5aa6c8f2efb41230e6702cc79fa295f5b43de3b47112f023100890c807d3fd0206e7c5403839e5f391f11e7432bd6c0b5d7258ddbc3f966ee3f7c944814e66bee917f1f228ec45382b00302047c435bb500683066023100a29b52f5084a8890d535f7a129e9b7364f6a167715d049a7a4ff20c60d35f41820ff64cdb325cf29edce539ab7c7a28d023100ea4ba3084e3950a43b96fe659ad6679219b1380b38091f9f090ef582fb7279a44a49780407ca24aab852f6653b440b6a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310082d26deb271029f15b13e974ba0a83e47917ff2ee195aefa08820667639651ec2bc0d23a3e0fd4235fc94e08a67a996a023100c7630a8ba32f1234d8c3b92e6ee92e567282d0061adacacfc087b8b619939b081243a89fb75782eb55e0bb80e70ecd240302047c435bb50066306402307d9b3c52a015c8b797f30d80e2f95d58528b3c371d393407efc515c7be2be26ec93eca10e75efacaa9f4f80cdc483acb023032a7c6e7081bb72a6d7ce59228b6743d0f98aecefac600db2c1f306ff1856af5b6048da5ff5d6525c8dd3d2facee1dcb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a6fbe1c08d243f83d91b34a1bbfa889250b990fded91c359862162c170e4223d1f0444cea2771e82fe9701ad15e00fa802307cf55ccf0570f5da4f8000613864c0c41281ee9db8d830951f6d8d418bef2d7de1e803f6661e0e8d93b12fd5a367b73e0302047c435bb50067306502300e566f046ddbcb9e8971c0da9e80a42401957cd19debb6bd27e45db1bb8025a578412aaf2ae7071fea7bef1bce03d12b023100b120c17acdf7f3e7d18318fa424a1970ee9ab6dcbd1741cdab31c163ab8c199996276106d5b99b3c66bcd123603f8f110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c3f98e8b78b9ccfb2c66a587e994992fc2f6128539cd6c65070668a8d7eb54a4ea36f5525bea59d750824a6efe284746023100da2413c169e93fd054b67b55784e9735ebc1ae2c2709586162da1b0635804975b70f16941312e3ee2d3bf81ecdd8e3750302047c435bb50067306502303fc6b8d7a22d59ea5c66dc8559fff108cf3d7f134c6a2070c09d851ff2d0bd33bd258dc16b5235a9ddfbb0f7c26e2e93023100d411f39b4e78ac820353fbb279320d1051cf48f69062ac100343a4699267ab8fe9972b619fc7829a19ac36054bea78210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100944947eeeb64b82b9ee6adbe0fd49ddf80efadf75184f3e9980463b7513b13dd5a6487aa4cc163a26f4493bf4d6a17d102302a2f1fef21d545c4e1eb4210c9a9f6473d60df0951bb9491c7d14304c7e06c856e65fb9bbbc6cc41698c978440a30c410302047c435bb50066306402305a0788228bd70e75809fa09b490d7a54ed9fa18631e82af6260dc80aa756abd8f5152ee30ab721f3bac8a53837fd3760023039231714db9f49dc2d3d440cc3f8f50a1d6742dbd5466ac7a59e77dd63b5a2678fc78d16935c61449b96fe367f1d33210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ac17d851eb6bd8f522472424d303b9ef64c74e7eac142b8297f170f4ff91de4e740952b70be9e6e6fbf72561e03e356b02302bbc4c84dcdc1e758fc2728691b18b63633d58f9fe28ff39f4265558e3cee6e83e437775cdcd4a250f8abef46a95df5d0302047c435bb50068306602310084a1893eb3633894791bcb6dc54910b98c17055e9653fb166f331f512f254296d731aa64521cfc244758187806aef4a2023100a028165949d7b2f23506efb44eab23a5deeca8b9b487bbe9f0d1c2b5a2010bfe7e6229a3c19bd21f7a8459864aebaaf50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b95bbf29932f6b0e5ac0d42cff5bf2ed848d93133a7515b99a42513b5822cbca8c790675d1bd4f41ae30a7c568c18be3023100a0c2f660f45a5eed95828b53ca04c0e84a3bd8a86fe3fd14278b7d955a368aa379a3bc30a4f99ba1dd0197022ff8c6bd0302047c435bb50067306502307694e00692b7380ba7b9f1a47aa9ab006c404e22012d656fba103f0b5dbcab151c994dcd49cf532b07a0698da0dc2235023100a1735053a6d0a923b6753b8b84dc892dbef8f922241675edb32602281fdf26ae4d0a5c79d8a8a4ecfc7a96d0aa3c80740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230244c175fab318109680253875ec6e09f01d28be0dc41c1530a3d16a70ca83ed2e5773f9a8ad315bdbca3fa48656e061c0231008bb4c2f5fa89fb73bc59b5f377aacc573da26124bc53b3c565ba470287898f7c5f0c0eb5c810e841876f1210fd90a6c40302047c435bb500673065023100e422a9c77cceb33f6135085801da5a0c920c96e0df5c075652c7761ee822a86de3a2cc346d6fbd80314db3150773ba2b02304c7464474b98b6afe59b3e6a56051df0e686c7b1a9d28b5a53bb68f94184897d618a3932f32f50935579334b27da08cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023022f43d40aa8f233a15395a5540941f98b21ddf6ada8fa44942a7d73c277fa3dcd8f01db22ee0fe8664bf7bcf2af6de0702302cc184a66baff5bda007857679a7cc217012e1881387b868c239701f245e0c8d23da36931c9062d8ec95e4ec7771e49c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023030d30221ce726fe4d9184ad2f1e1ff2244a12e42e9a46d84eee59552ca97a80bad446517617c8edc058413f0740b89190231008f5f3e6fad0687f231085d5f21275a44118031160602f152cfe434cbc52f12334f0cf758ac71abb2ba440a4a8f7be1d90302047c435bb500673065023100ec72b354a79ceefcd055725db45ba03943d554bdb67e13990ee05ea467e868f2e43050a0f1147da19ce24470f99beb580230268b7026f486cf4a3f44706bf1d594bedfe9cfa0bd92c1ac28c6aeff81f6b2ec7e2e059fa3b3fcea79b85691596f0e9d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306a0bd4cdf8a68bd937abe9b42e0241ec5029a41b15e5cb859b54d36b9cce0a3e4b2cda84fab7ef304056fa470d511d220231008100c46c811171aaa4457d980738b789bda3768a19b6a1950a0840d9329fde3b1f42b16de03a8decca079d028af74c270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023050a990af6b98a66dcc1088e6d60eb8e551f5856a8843a573439828340259db87c235ad0603139953992256e29dc3a1e5023100891b987bcd4b4b2eeead4ff1d265394c6f0a9dbcfc782a54a7bf582198b96c86bd66fb965a703340df8a12a0951d4b420302047c435bb500673065023100b11b6bacd4ed77f22402ad5f5a4a2ca6cbf0b5a513292d3eaebb6385d1253939646c622127514261b2be6206a1676ea8023043af7aad8ebeefb30717996f7fa57f48f7e351ea398c422b1d16460e314a997628b49452b8777bf00118bdb91a8d18330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f8fb213d041752d4e246fe25a35a21a342d4bda517dcd95fa5cab49dbfb4d752d55ed7159751a207eee0be17d5f33c4202301d65fb18438618dac0bbbcbf5d934ba1580a25bc4223247fa2e7bcf34a41f2a31906b58bd2f752a2d85ed80a58246b9b0302047c435bb50067306502306b633821ef9315482a6c9a4ee0b80cd5ada13d972a9f1dffc1f6c7aab844eb0a34ccebac00feb031c6be11d7b0fcaf5a023100d81b3cb13cb6779f9270032736263281f3dc82790463dfbc249383192620e5bf87ccb2f672eb4ac9873cdaf257c489740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300cca3eef98175ff10a845f80f87574292334c54050469bf7aa35bd625892909e2f2bc3877c1af1a1c6a6e213fc8ceedb02304cf5a49459ec83ca42113ad17181763ebec2172f675d356df19661dc832e8004595f19b2864239a917806522c4f0b4b80302047c435bb5006630640230690881e6b511bc59734b60217d9e04b24ab56495960edf7b3b47bf303523e709d8182627d93fa2f62ac372f671a3db2f0230165ddfb3cab7793bcfdc0f592b8683f31540fbe2d308a0a1d51b97ac94bddc6048a1dc471e080edd5d75fa6573d4275d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009ba02549fc6985b2c47b452b63aa663fb6651ebfbd2c815d97fc4eb5ed3a9e85bb50823eba0f9bd1621df8d0cf6d8d7e023100b779d6b969cf4b9d1d03b1dd42bd2ffd9e52810f9f96aacc05113bcebe9625a92d1d6c4623d72c3fd2a3896d4641feca0302047c435bb5006630640230072cce3a8c7789b34a655b81761cda3648def37f5431a4512d6b768770a78c7af7380a3216ae9d515f747b5ee40beec602306ddac19a86337f4f2346bb47cd55dd188cde7946da2bcc1008bff874040fce656926d8aaf992ff4f1466cc35b10449560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310094977622c9296f70a67f21de3cee672b4f399ca6e22ffc0400dab37f65390688080d6f54e9d38d8f507b01059d1e0f9502305a2c54dccc6a03d0c09a3624df20a5a90cffccea437a6b1ff716a4a123407d8f5cf882f6ec873cd6d075e94f9de3e5430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230655ea6138cb347eacb9d18f8b007f1842c0c9ec908263dfd6666c5400f822ed0c32e6f2976c45fae48c7142a866c82d0023100c79c60f55d8edb178ad676e5d0f73f565cefe42e727af7651581365aac9fe72b8fa1ce99aa009f6b06244c73718309ae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a8558c47e5074bfcc0af1c84a43231fba04a7fada3567e05dc7ec396d2be4884d35f617c39e860934b7d9424139c69e8023059d2b8a3bfb22030a0277adec67bd745dee67a61080c2842fa4fff17713ca7f5a43eb064b9df859f4c41367ffccd7f130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230574d52da4ce008e80ece880ba227c6de09d4ef1df2b6a390add65bc1777f7f3e9663c7facb0fc309181e0bda4893bf76023008342eccdebbb6374d53be37e10e6c21373040e4cb0be92f049466257f85266793437e817ad052f8a1991e8dcd23e2de0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230422c9673542f4b87296b0b8ad8a87e7c26dcaf401cde3e2642a3f9ddfe1ac3cca3ca14a4f44af04b339ea6ccfa3c0cec023056774db5e006f2a024b2e48c523e97df4796d9d4cccbbabc7833be79d5131f3265c977f2d1df2314b0a0d2cd1e4bed370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023070ababfb88d710aa663bc85865d8ff600793304b3cb10438e93345f3d0674dbeb8c8eb6fd796447bdbd4ec4c1cbe2a8d023043479ae494b3762bd87d2539f3be85cd72bbea28be7bb5ef3520a4cd174fed07a715caaece830698821e89fc0834f8dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304b90cd2e7e64d22a0378b1125ea5f7d483a00ef37fae73a3e7ec7233f888666c1ce6fde3478654937532976525535d9b02301d7bb37c4ff2db93f3046ed5b8aceeca7d2ff3c6614b528ca6033fc2ebd94c21b0ef3d100e901599a2d33762d67372bd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cc4378348869388f2b9e370602ea5d7184940ba39b9ade96193b47878e6b8be56cca68ce56249dd0684299d77c932619023036f3d58c46e4717ff66333f96b4791423b07e6abd42b8f5b366a691b8f7ba0d20fe24c9a290be902c590583c52879e570302047c435bb500683066023100817d870eee01f972732bd643d6a4ed685b61a797a4b156d658b78db32d36ef576fbe871852c26f326a734d03b20c5171023100ec0dfb377205b0a35754446dc317ffd036281ffde93e234f275b1befbe9be7c061d6528ac63dfcf84df619a4f1afd14d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a8ab357e675b8b6d507957e7c28d2dbdd1a46e0c457ce79a9b9e4905b1bed729c7d6a0b8c789a1fb8d12f901ebba74020230484aa6436d0b0ffc00e72930ab44790d85d1dc031d98b84fe91c0a2cbb68d5e58894790309eb7084fc5f8d5e44082b870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ad05cfee6e8afdc32d9067a93c520f2bdf58980445d00b83f11daa74db0a7f813f6c8d70500c7a321f7afbd06b0a021c023038b3a21811955a311189d877295e23cf924456f801b663608c9c38764cccf2e404998e5d57fc842ca0273ac05f3378660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306b5f8593a2e4b0644f2712c51b8f482a90191d6738183cb67d7888d6b9cba358eab275a911df8eb953d8779fa9bbc6ea023100abf1f8a380d4f6298b693bee14f4af898d2738ad27607921c7888a5f64fa6d0ec0b2007c6cf15a5a680ded34aef2afe10302047c435bb50066306402305cc1c70b301f1e85b0e60cba97ae4631f93ddf66bcbc302d2aafc948dac773fa92dc98eecdb37199893cd4250302d81f0230275682e7d70b6119a8dfbaf8e603c27b4dc4d83127db2b4906d008979fd8088c3ded7a45ecc4ad54c35e3987663abd850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c0401e7765d90f8b62cb462404aeddd37f0a2aac5eb61729f23e70bda484a727fee78818d541050054a007bab12d28dd023036c5ff865379fdba2717323561c74677c253c72028971a49a0f1724de87ae53c7fc12f64839b3aab44e8c954d420239b0302047c435bb5006730650231009dba3f95c2bc3eb1c3f5f723e524b6bb53d668f3c16a52b67125775fbbb715f0a8eba30b0d5c00a2cbe90e7ce66845fb023001acf28e7537b6b4754047d747d65614f1affbe6be64fe9db18de4a22c2d06378c04ced4e41b8fd8f5bcb9f102d0a1b90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301d7f71d9dd5947feeec18046ef074415a07e82de2409e9f9bfebd0af4f5358f301b55919eae7d47f05a7fa1a327267c50231009a6f850a28407f845decbdee63c3fd2284e0d4250bcbed453ef00ce595e73d68e12ddde0c9940b655e20592f491669e80302047c435bb50067306502302d5f999374746f719c0aa8d191fac6608ec01fe1cf0f1a9da811fdb9fce9af83029bdecf8217fa024def84bbbb81d5d9023100a38528a889976a924d12a44512c1613595ad8cfae74b14102d6cb823fea1518bcbefedd1acbebd6fc7c7247ec8aaeb5f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230729df5f21459850a4b63e05bd976fda20c4db99daf72213dde6412e0e5c2516ba9118e63acf4f3143b0428ed8de3b2ac023100b5e2b61464e54ebd603c1356a21530fa657cb7cd893c685aafde87835cd6dfbe02ee8d7b9a99ce046b296b267edc1f0c0302047c435bb500683066023100c3c9a7c0723edabfb15d833093fdbc353a7d099c721001f6b8ab8b390d8ee1dd8a1a2457a3aed9496b449c5526c60a23023100f8291bfcfa474408eebd7956ecae71e06494f74474ef0d8752e1b7920edec94e183deb56de7764e1ab0e8fa0f70ce78f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cd3be832c0dd5ba334a5f2685090a63b93a5d4590e546a8a730020fbcad89f6dda89febbfbfaf0d5b71bf9cb330bffcc023100e61fa9e8b8ff2aea5f1ccce8d152af7d0f51e84969cd930f15f17ba96230e9e73fe4f3731f91c43847b6b48747bc36a40302047c435bb50066306402301a28bd8fed9524c1c82bbdd0574f4aaf344351d74933bd764d9db0174c82e3a5b9d68d74da000644cb839a02bc5b8b9a023057c9f8f6c86d1aac5e174c0b39df4fea8d1723da1c4d7bc0369cb778a82edde9509ea3c7328e42ba5626e88ac2d73c760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100df2bd8e58929f1e27ac39dbc82420c422821151947fd67f940442eeab42882092eb4bb616ac5ea1e453bfcb03ede5d1702305a39eb55f8f2e5ee06358509b687df82f2a8257ac9e8db7834f9feae87c849c0f99de67b001989f5bcec2862db6bd7050302047c435bb500663064023071ee848091bde1a7e1cc1debbdfccee18d1a4eb793384bf39d3ae624a6eb67578649ddec547ff2dc8401ab3279e3df4002306122a5650d8c05ee28b02e5d826398c221d46fdef15ae8315e79bfe4a14a4bece9f9111d5eaba8896e4adb4795229cca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300b86784536b35d7e233e030629f31c8775663bb19b1e1fa61cbfa9dbc35329a26d35759e4af32d327dafaf8bdc62675f023100db911c9fc1c88ab80ac41f388b386568abafa81099584a5740eea1b402ec7580f1f9a15dd0b40dbe1474c8688ff343270302047c435bb5006730650230374fe5eb2826288319f5a8362670b97d1ad60b252a52e937a70a75e034fba36733c1ade62df02f0bdba28985416827aa023100f8cace712dcacea38e58b264c841f1c993d204b604c8a5dcd783e9e962c4c377df5b0713a27d431d889cd776b52f407c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ee4994e0e5f6010bb3966f79f2d1a067234c8fa8344e0bd98114f29c71dc51721829b81fa76ac7db6dc6d22dfc49a85302310092287a09adb8822ad399075d3eedfe8fce6e22fbcd6756ce0a2ce87975eb27e4e7982834adf46f1ab88ec5e1f69a59b00302047c435bb500673065023100e9ce6b545ac9b4648a8a453f244aedef45cadb002c222b517e2d769f46aa0ccfb26f3369c6e0079ae0db5b30bc40cd2402307cb6dd1579b241e8b7219d5ad41fc01970b12d71a0c73d658abff928aa7bd0f40f58f4fae7e1174b23b4c1cea63eec720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b49d0cb91a79a43d99abe020a2c558c546246cbed1c32e9849dc196bb3294c5cc1026f2297973835ef32e08d7c36d135023100a8532c9f787732e5b8567a7e2fe2fe617823f1a44efd84a419444afe86e78ebc3421f9e5c233658932f459bb79e78f0f0302047c435bb500673065023100c52e0029998a6f388ef8b610a155b9269ef9e976ad3e5c63a892ec45f18cc228b6731c6129310e9d9010aec33085fdd502301814bcf490a8cb3e85ebf33737409b172acde39daa81adf2ef354380d25993f640f98ba57f9630623f0244431e9eff720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023055a272bfea95796710d693048c391c044c45f9d19636f58b3868ea403e0dd4d4816b13f605b2a1325ea14a53165e3d3602310093c9b6f77a1435bf558e1cee415ade0f84b8ed77fa6966b7e77ddc39249be6b16d1895dcb6dba2449f72c4f882f658750302047c435bb500683066023100f0f0ac4e41dbd87a654a8f957241ef052bbb8a319755569f7675c30a3f79478c9b52a53f4cda8eac20fd54f7964dd86c0231008d78693e90dd4f0d48a8596f79cc02fb895adbcb3a0092bf3b6295524350e23195c503775bfa79adbbca064be38e56f90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230625dabe8b9e241d855612bd1294ba052deb4e5963401723ad47d593b0bd7264463b7e33c1e05429ccc0a940116a8dde60230591e43e4b2a486644c25355cabeee5d88ef58064f0ffc79ebf6c0a3f4481a8a3fd6ee97841c333026983fbffe36b2c7a0302047c435bb500683066023100ceefd4cd294a8891462616657d9d45776552514fb8bede9dae501ad92d2d1ca768ef6ad939efd1dc94ca925ad30c73ac023100d79beeb113e0165ec2f47ad982bbd2d7653fb21da919f625fc60c801d143f4bd208f934e9ff54b3d570e1e916a88ec8a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304080b21c939f2d8919a3db8033714a510953f27510fb1150ac9f6bb166b33ffec345eb3658e74120fb824e0cd418cb5a023029c7a5c902ebc2f5b50b7a669b686e2dbfac33571e64d1b2ef9f645d0848c16eb860889d8b05e791a578a2b3dc7090c00302047c435bb5006830660231009d2e2499d13ff2157f0af0202fba6569f396f8449b03b019aa1d41ac551dcb563d061381ca8f952749aa1f7cbe629acb023100cd35b46ce8ec3e1df1cf156cf0ed9c4732847c5e33d598c30daab9d098852766fc745553a77742c9e3e78fc360eaf8e40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f291f9d2504de556c24fe760ed5c1b44569564610eb66d090f88a23a8547a3cf15c6a60ef5a6e85f9cbd5f55629a4420023013777a8d392bc8e519a7acaf5399521a6019e9f9e9c5831a5b5bc747f3ad810bffa8ed5d9218bc804eb1683293b92cde0302047c435bb500673065023079f545c3b80539dcac13f8ffe771db555a47e24eee9cc15860ba24e75ef9ee20026ed17d128f03801ecdead55774459c023100b229e259baf436bfe54ad5ec53b9e2d52c13adc2c85228e0c3c43aad91bf01c54324bf9658c882b9c97bbe2c84b954430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304796ec4064384c97629854bcbaa65d0c072ca1b06d0ebd3c854f15cce872c7c1def6c9cc638ae4b564db9ff9657e0ebc02306181a6a5c5397ab12eb42d9c50171a4aea47c26d96bd1a0167b87493fb7d371c27e9879003743c0d63ae44c6f46391c80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230052143b7ea15f754780617d69448c037e4f2c688ceb19699ce4114605e8728a02d57e32bf25d7c1bade2399ef7cff15e0231009d1891b2e432798d85447f76df502cea570ecb1feead37c196ffd7212cd3a626d96338fc4822250f5b75979eced685860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300eb3dbfe2cfc7ecfe62cdfbddc618c736c89138d6c77d91ee77dc953b9806cb76721f50c22f0eda393048518f253204202302f512ac862b8d0b952211255200868b492f5eeba4ce680a341aff43526408e65b5a1a843c660e6f79acbd5d7a0cb57f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c4023fa91a38a9047a22eb3391b17d69d1bcff1619cfc72b545d37321e3e810b7278da3891c6704d75656207789ce6e7023100910b7b948383f6de2e4fef5241359f35ad7bfbe5204085d6462e5d11f2f673cd3503efde12b47558f08f40c363afab8d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d990044748088613c51a850370c80011c6c9133f12db4f7084bc9e564ae624f1c38209f0f234ebb9d5613d91efb57e5d0230386deb4286ac018be3c4e2ae13f66d78b474dd2343986870f59e8919b128961d5f4fa71ca842b3a78adb827e2f1c53e90302047c435bb5006730650231009cbd34154c95f9d6bc3e0cde1ca82bd83fd054ff1716e95ccad3b6f18721fa18cf6ce0259ca2640c14c7ec2c8610492202305c07ce73694fe90f8db28c1726e768b96ab7a833f4b15d00369338f9e52fee4b337232363d5002d1f62a67129909a0c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e8765d544055983302b59df3595fb5df8d8b1681fe387951a3b8c8c011d5dcb837dea5797b16982d5a7d6d9ebbaae66d023100c886fd456a9bdc92ab06a2dcf95efd12506fb5a94e5f61f953a315187ff404db1c90526058739be175bd8869bbe37e570302047c435bb500663064023010cc593cd8e1760eec177a67cccdff6640fc372c8b07f492d0ee6e251d128f4cb577fc18f60e0a36aa5df00fc73264d8023019c96b89dfb542ddd352f2502fecde07103710238c9c2eb9197c68186863baacd97a120a959ea1fda6c0bf09943c72420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302db43f475473ade7d309d270e894985e2d7b89e5f4f996fc01391ad01951801aa6f8ef8d96331da3ab6b0d440144d16e0230302d12ff5e7e8f482a4d993017a5668dbc4131aca5944115690e09806de40c2b90c337ba79d2eee32f7e8db23fcbc3dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fdac97e2269d1c283b65c37b85d4fb72bce1374a5710482656e1756ef768ad54df4eda42a3c86446ddfa53645d4f26f302310093c6a04952cb4b9b04a0debce8260c9dc2375c77b55840bbf7c2b096a4b24b76503b8d39a65a6a9249e819ecf0b849930302047c435bb500673065023010b9f76133a3e54a2e888bd1581a87e74aba9d5b7a2d882b8d904db07882465883f3432aa3c9031d7bd408c32e23a182023100d500c429c9cfe570f97f62fd7fc73b3a438df9df1ec8f322f9666d3a4fc3fa7658d33f38128d4b25b3df89a1f6fd53d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1587a49041fae2a9bf40bf1e4b57ddfc51c35abe8ef037ed7550e09b96cfdda4519bf2bc63c8bd71f0532536688de47023100dac0f58f8de4a5740baf772416774166c17ffb6707ef2c3b88f8c6465e7e7ed7d45ce6cc401cc27541bbd7e3c9973ee20302047c435bb500673065023100a02694272f58a9d027ddd5d16ab76118dd2c262f5aaec1203958f584fbe7e4271b7d3ad26800001dc220fe4af6144e68023025450ab142b47c05e707f85ec6ef3db64242a2db1134499824ee35ba08351f3ed65aaf90fd44ba7de14d66cb02e15ff00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aa18d06be116cf273ba530015d7202f4781fc931676d55ca7f0fdbc096a7a9df5476f01886519a3cceec7ca8865f7b66023100cf373c56fea283be721718a03963a5fc6e768ec20fa29fc331124482faf9427f27723cce709df0c2215a7a95e4f36cd80302047c435bb500683066023100c533052e5e5926b0d5b4236029e7490a4e0b5640a0c51b1301e5686e0ec201972c36b493d5829ddf0b9ae4305bd738d6023100ec118789aea6c9c173ee86099e19029decd1346e7a0e6f6b3e87479c32e0ec93f6d02bc2e21c0e4fa55f353f4a668b550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307413ae4f6c38b25ba1435f8b740f48f3ce491fd3eeadecf8935d5b7baa2b6079d3f7834b748c01e44c7edc7ae96650da0230578910496519a15a3415b84c9eb300b40ef9472aece737a0f115e672ad94338816f21d8b2b8a9bd0d8aef1f3d5f05d9c0302047c435bb500683066023100a766d1868c98b79f4d06ec3b33cb61247929917677291bab458baf72364116e2f2dfbb2f8283baf1d0ace3823074904a023100e993a604a47090f35209db8f25c818b3dd68bb5696f57dacaed7a18f088163dd7bf8af34cd5af5b9850e145cfa34ae160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d13119e9a4cb594a780ba78863f0a9bb8ddf587eff6582c11d605dc4e6b3944c1dfc1291f3ae485fbdb0513bbc2ca50c02306fa3df33af94fe757cad7a3859a91fbfa3993641b2deba0c9ef94bf0bda234a19fbe9af02bb04a5677f7aa365f41398a0302047c435bb5006730650230323c97789c65a6803da73497a8e3e79ba03e30260436bde953c2771ca566751fc08df5dbce9a24c90580305ba11a067a023100f5e2d291b070bbc8933db0f17dac754fc59e895e11b55fc71a0134f15c753557e8adcbe39641cbede56cebf85a0b1e0a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ab92a2fb296730efeb2e95022a20c6df1f47b57a4744d25b9355e39e62eb94b49ddcad68b6b1dc6f969da02921d6671d02306e84e1edcb571b2dfbbb036d58e88d7669d991b15dfd2f0148f177a6f26958927e9c0e243c21b495fe419b43920bc49c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305cdf7ecc94cd6cc29a4897cee58b985e6ff78ec07364e275990cc0e2181176864845ea80e31cb9b54880f87744c530f1023100908a9f339ea27a3675f7cadf473f1eec15f3505aa9529d0f73f7e9297bcff9ea7f992dcc8339d0a4dade9b8426af9c460302047c435bb500663064023014423d0289fd3c4c04a3443af35a6eb9bc3b465bf165118dcd2c17d26146b9cafa6286d9a0b1e70d341b098a5a0d9e660230238759650b9386e8cf16e3416a4347066885f0365a54a1d13515bfbb699fa758d5da8794d9cf7aa346a13e925c5c47350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230567d54f9133136b4aa46858336f4121b14a6818820eca9f1fed478e41cfa3cd3d343684c79fa27b7b0953e6dcb91b59e023100965e7047dbb4508f0f7a0d87ba3f3a065d03db7422d69dc0afafa65536bb3e2bb70a7d75561174006738c57a987885ad0302047c435bb500673065023100b3403aa02c627fae36d7730f19947b9d88374b306df237f5e6af64a266ca03995bfed744dc5a77312b4a738de9c47e9902307ad6c650ed3d91881072b37689e5a4a053b5717fc2ed3c2143db37d9e9c66bb22b4b9a385b95cccbd078042415b80e2e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f6545f6a4646f0e8ecffdf5d13adf0237117c02da9c8e255e38627d67ebc43a0cfd181f39e0cabfd05834c92ea8a080f023056c2dd7ea209e0699a64b43d7909eb618fb2e935a6e12670e5b9e376255bfeb634032a413be79c5d460a765647a2395d0302047c435bb500683066023100d73396db55fce112e2a52a3393286d32cdce5a9a4a53e294610734a8a3971f9d67c5ee7c04e2cc5b74b21de75c2502b7023100e7db27ec7e474290055473e7ec828881aa1551a2f6ef37cac532a294e2bd12ef3a9ba9e31850e1a2ace7a36cfcd3162b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310090d1febe32bf1e78b4ba33d7444f25cacfab898b86cc05a3f401dbbf71ae93402117973d52e9d1fe3105f75b76dd11c10231008adff1c9981c83e626082f35cc23f6b9c4b216b60a5537f4b1289d2da47d667886fdc3b99decf67fa54dc4a26516feb20302047c435bb500673065023100a3e8d446851d47b9dbedd88fff66557d7fd7e655bcb971325ac1e72ab14e5a6866a2a836c15a9c6fc497ab41412f337b0230727566f8d85e3efa35ea5ba23f32edf30cff05c3d398b32659f55e7566aecf7a28dd21edae9dfb7b8c4223f24c73cdcb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c14b0a7cf303b959011bf42a1ae671dc1e9950f5801afad796609dd86347aa84c0a1d4a7a929528b4ee5b7f2d94c686302305a22a9709d2b608fb88da4894a702ca15e0f9f1916df976bca32b4c6dd1aab4341b5c66186c22ab6f8ceb88e861fa0fa0302047c435bb50066306402306c11d461be09265c9a78261091e607bdc51754f6ad2e214327bf447f03945dfcf4ed902de47cfe0739dd99e9366b1c9202300a6f9d020e106dcc42abdc3efd0e21ab9ac8b87c83b2ad2a3e3f83392bdf9b5939d07afbabef4d72e8c71063794b9d620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c7faa13511bebf89a4c16ef42dba4e7da5c4a37a3e92d2661b9a0a15d47cfc05f197a968471f1ba578b87bf21bbec0b1023037a7485d2bb976aaf87c92a01c5af30e056ac9317b8e81ca1b9a48840678995112f41112492d47a3899627d84a99fd820302047c435bb5006830660231008ac128758d11fd6cf4d14c9f90498c1011a2b784c6a4b49b8a09c0f6cc66fbd7d6e115ab7dc54b4644af7a279c5f1632023100879037c3aec4251f01171090f3a5749f16095ac2387bf5a6f9e68aa61c7254995b469bb8d53c434f5e112e639a40afb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230240bcdd86973152c768755cf01b594d2428ed706139444c36cdc7e39ac55ff34bb3704a4402bfa49d2f131cae11d1a66023100e594da77393b1390971a91ec38c34a7c5d60f78669c955cfa60704a78efd56ce113eb205317522cd8ff2c2cc6205cbc50302047c435bb5006630640230182cdf4911ac0861fcca2035b3e9d7f7cacb8f4c8c35392df926b61cb461b86c00a7312c859db51168562aa406f048df02306fa169218ee546facf135be3de983c5814e369a09440b084bc7fc6d1090bd9536b66c34f8402b8c136877dd0bdfaa1690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ed12ec574d0b5802fc96c21f500ef6dc757abd4003c98af71dea6ffce795bf5d48c57935001e923db4501fee4646065a0230343cb04f90ffca947ee9662de9e9ae317d904946fa3cb6ed2fda9b9b2eeeccdf1b3961ffae3bc57b0b9d2e0c6fb413d50302047c435bb50067306502302188312f541d9fae61adf2f2b4b50896116cdcffaa1e8d68672c7cf2ffc4eda2f30254cecafc7b1b82b6f22e529f9daa023100eab05472df66d6a6cba7bbd10880bc4614c6ec7a8607d8269c52e22d68e931443ca3c86ba7fe722e82250e731c54acfa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008240e79eaa9034680a67a728cad17efea8ad67781f1baa7a83af5dea4f558f39b8388dc44829a9000505656bae00e3d1023043a278253e9ba74680486c321a4bc90c66c33020ced10212698f0660a71dc96dee1f51590d3edd738802e1855da7de1a0302047c435bb500683066023100f54d543132e55f7d99582b9e9befdd3c03f73e37700c7817ddabf477155eda645077f34becd44ca47a339fd965653e7d0231009b7d08988f5ed55fd90ef6c954c4fcdc0fadde57be0a630e60f7fe4ccb254ff080244750da4a94f7cd79a1609abbc4a50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304ef8b669729d3b292b8bc92c122a202de0ca9610a01d0709b46b5e22e689f0b65c50d14ba6e02051ecac4df0fd08e76802307fb4341ed07aa7e8ccec6db61a54bbc0ffbead3368fd0c29084d338ffe5bf7ecc8a5e7fe3083d8b1c43d8e15ccc0aa830302047c435bb500673065023003b3d02d0b1128df23c5961536fb56b4c2cc01a45907d6325221f8a9776c04a6595393b9bcb18e5dd0316b68741465c2023100cc04bb86080d1a499d901ba5b65c818fcb7e96609aa39c370db85d68cf7214f4718be142f4e25d25c35a9dbbe13c0e7e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023026d7f5b3985fe581a71b14cf57e0ecec0e6059ab00ec375e67814b498e2188bcb270d3c19902ffbc8e573647ce533c90023100b72ff555107706abb9531958d296f1108b484913771f1e79bdcab68dd76b4f6ef7a940d841b605016f91bdc90026aadf0302047c435bb5006630640230056ae5ae85c6f6fa718d321479df1474942220b6cb08bf5a204ce0a95ee1a73f0581a988c188eccd8a5dceb97b61df9b02300b9bfc59ba3e39e86c72b0db8d53ba8e93b753d20a808c36afb815c35bdf0c03e560e2b60280d2f0279aff42c0ffebce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307636a48d1f3c54685ca0bdd3bc3728ef1270bfb19546f41e4bdc5e1210a74df7b4168e371dd2ae1c9a945507175fdb9902303f980945f02564d0e238716eacd7617dc4ee327ab9be7855d5dbd4fadbe34e133904cba3952bf41c48882cf633e7f8190302047c435bb5006730650231009bfbb1476e2bbd8ef2b73610eda6886ad9fc10df5e218146fd9fa2cdb843a9ec2a6c0289d0990b3633d1b00c1a945978023056623026255d3776a2eb2f3378d85a5f932b83d6ca44ba1455a6efd33e99c2da33342ebd3e836afb7950ad6a5a4132360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306b4257c03d9c25acd7d1e55681fc85cd1fbfa3a3be4ad055e5cb13a58c3a24fa1b4dcf93d8ca8d459c5c6379b41a5359023100b0e23f288911f574c41dedc70a4d3b910864154a6107fff70e21c0e3a3cfd84bbc416ca8ea8e43fe02c494b180ecd6a40302047c435bb500673065023029166e4e2e5c9bf1995b6861ba3159ecd7fc22ae19aafea515beab328829e89a94e9f2c73949203f688f38a5a5321a97023100a3c0cc7375e7056842101149bd9566bc080d59548c12d3102a16ecc3c96f386d11f8653784417065c2b38a5cf85d61550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310084595263586870292bcdda2e3f9fdda70c66b50f7612aeca925c6bf5a59005d78c3d29016f947e18909aad8cc6969b1b023100b870976623cc28db07e2b69b534ce6e3772c549ba568100ca361cd52a62ea31c6f6d444b743efae1867962fc0135b5970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ddaba40d9311704d7069a032c79428c5e331ab363945af3933761d6225f10023c7ec178d536270f97da0bd1d606794490231008d090e5f59367bac7ffb3693418ef3923b14c333c304c30d036a2702ddba9e81a63edb5e76329a692fa5944023e691e70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303b653d44619d420ea9ca7fae2a7e567b8e823482e0b32f2437321da688e4c58c12b2839489d4f45375821542555018fc02300bbf3e64d395994f59a08b560b1a58a9b706744fefc2255edfea402b509d0d8033d14b3bce6b0f9453ff492de93c616c0302047c435bb500683066023100df795839299fc223cfb19e26a5e1a3c14cd305cd5d14b1bc62b733466bb9501838dba9595ac0676b30acef84dc8ae442023100a05b31e8d9abff22874cf642e0fdcfccef720d2883506af02dc129ddd5c903b95ed70202922e073942979a2039aec35f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023036f86b7870123ea0621c3fb8d23cdf9fda9459b3307e23a40937d21d10e0e14d366ee3e5f13ff4eaec464f5b7db60f320230212826cbe44623d1d71cb3275a4c91072ecb5204b01787e771402d89b8aea203d892eda83b0ae5eb9f2510b4c31d9c5d0302047c435bb5006830660231008757ce6ba9edaf1fcab70a4cf6d355175ba216c8f836ecd2b278f3ee63e1c8b9b28d17eab237d507460fbe8d9e4e1cd90231009e7a03d0b686236235fad698e36cf330eb9839b6d325b1253552972b40eaeffbc32bc259b84a2c11286480ee1db71b5a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023021e28b5380fadfda664915fac21c3646e899b3d396f1349dcbb4f402a9d56c8bb7bfbb52c45701b9181376d45e1f1a9702306f1993617ce561b8f917b4810b7bf25ff1aadd38a52abf046f48666dd286db292af3e8737bef7dc951c8071a5fc1acad0302047c435bb500673065023100fedbfd21069beeea2ab20cd417d155b7fb02dd747a26da3fb88db1d0af12eb5e285adf2679ffed116c70a7734729f30d02303ccbc92be9340e98e67e32b975e6305dce070fbab7c7375189b310d0dd7c027b66083274137c00408ade6557ef1389ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b96580199902136dfa8b58de3a4f2fa56b3252b6cbac6b2e9013bea9fe5cae757f73bca933a2e0e5bb4f43792a953ec0023100ca3c484649e0b53eb63ecf2422ef40e99eb65bb65c72745b9bfc6544a31a2f71a173495613e617aac2a9304885abb09a0302047c435bb500683066023100e2c545f35b58b104df02a391b50ba51f16d8614d3c155d63e1095d7b6704c9b7a17745612d42c7f33cd56c36a296f31a023100e5924c64ec6498b69288398c170f6e5c543ce1b8559b83ba114d7518b97003704d2b909dfbe4bcb9b1cd86c7484aa86a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009b5361c0e5bf76b67e3b8af5d6e7516ea6d94b8d04fbfc35fe1ef58f9a269265074204e3fdd4ece450dfb84de952ffc5023035f6a63cbf3b91dedb8debd6d1e1603f844bca20b06b4133273784d49dcdd1db97bb1377117ad36a119f26464292643d0302047c435bb50066306402302a69ff52cdc3592853538ba5cd4cfd7b9b3294300042b79b266a1c19849f8556dd4db73fcd8a61c7c5a2273b0de408c302300c55e345ac228d658c2c11071fa164d3bc0f02ea5e43bf01fd992791cb6d709fc5193299348fdabf4664d6f44ba9e22c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301fc9aa84af8611c9d4bee5673f0a4b153519c28f0c10c0e34d79b25864a092a23ef0da388cf4771a482658f6a7dff95c023032a0335c676e144fe91db7e05ca57a748eacd7e8fbd76d0e7e0aaee69abe49a6f0e5582b8a33f487a2199e4b840f23d10302047c435bb500683066023100af9c430cb9494837a7c7c45a44ccd07fb54f7c7557e8a8e6eacd85340dbb10a0bfad1b37d577f97b3fe3eb2be1f37ba5023100956aa9d11fb2597b97723822426962e1d9c01d70b8060d5a29ddae89548aad7c835fc9e08a3a22702a114128e65686dc0302047c435bb500683066023100ab13b5a676cf7ec907e9a2ccac6789e1ae16835c3fa79add5f52e25d02ae46bff4ff08294cf2bdbc27cf3392135a889e023100a1b6f137902407f73f08c438461fc4f9de5a2c1229fc20a660c78a62c6ce2e85fb4454e6dcc42489410e2fc41607f9ac0302047c435bb5006830660231009ecf7a28a957e98809d8c5b8543599c7b35ce57a966c6b448ce7b01d158782d15743ff2a4cadd035d7c748a67ddf0918023100a1da5d44d5e06827006e3d22f230358aaa2cc62bf3670b499b84f988d60d253bde7bc22ea5dcd987a5c9d76524c1d2c20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304b08f297ff13f1ed1bf5ac28a65d8ea3ca2ce8c614370f825d06e575e93af219dee4090ebbd2bd5afe28d84fd2eb2fc1023036e495de7ada9ab4766f9cf1be4dd51f4b8b490c5e6c17cb102411d5a63bc5d1dd11a56cefce4e25e630dd5a96d41f4e0302047c435bb50066306402307e424a3c07cca4b9d1d7cf9c00986adb684ff429c4f82ab6288636772b8f68f29ed415f98b65469af7051a4acfcab4ec023041c306a7d764ac56e5c0c9c7ac7c27f097314d3a98a8cc2a892f9f1303b96e3feeae03800cfa3f569e99426619507a870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301f585d1b8043d22c2c4a779fcc1dfa3c67cea405f160875d1968615b237a60fdc5fba3c7bc0913d105f854db411a6bcd0231009e8bb7780365581ac34707481f1be6d7d6cdecc50ec4ca5e99aec0bbfa4c595237e6407795120a6a76b1eb819bcf84140302047c435bb500683066023100d50a13e4675289c63b61cdcf8116883bfabd33e385ce2b167eaa546c67de0db93be3ef6702e633024a32da84691aa5400231009393ae42e5ed0d453a3230137e22a448c5328bdd327350000e74b68dc75af30a35a9401736636878ac6c87aeddfc047a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301c93345a9d142207e40305df33bb8e1bd5437f88418f9272b3d11f8cc47d22721af8832e306b7961835e5cebc1b135730230763e65dea5f441f63eb45567fb2f1df732b81dc8b17a85d6e57c6bb4f16c4e36d2366f522ecc593b9249984e8f7212c50302047c435bb500683066023100d08be6c0bfe34f4a0c1b55ad4a70917b5e1e538c18bf9f4710634cea12306caf84e2f48104017ddf3834599cd3abc06c023100cb79ddbbbb02237089c173b26eae79d0187c2d70174a4b93680784dad7ef6e9d4a9b0ff9d76c7369b60a2f4f9cd7764f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bd15c31337c94422db9b76ed22288ff06a24cd4ec6aedbc20873ff4d098b6b72e2bf839b401972b0e14e890300c6c46e023100e88f96b20bba31bb041b6ad0a2cc03c1e3065f80559c9e90b3d04e69979f51ad929215cbd1406727277256979c7d443b0302047c435bb500673065023100ea78c00b7fe0472df2e8780f6b572e2d87b72c017f97a5a22c785d8b8ced1bd292c4fd5a7cf3f120618946ed6a66d309023031481d572b146650d95f0c3e11714bd957e65b245c558bec19dc87f7fd74e36270b2aa6291ef0d65fca6ced7adc6aab50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c64612b94a80d9f47cb989104af949fd3342ad148ac3e6df09f985c591f850d746eee20df1179f71cc060bccf40caf8c02302368c28bf6c4573c86957f43001d639cd95ff823af0bdfc8b8cd4860246ddfce957ce88a8ada3a2e38a9c56f6fba1aa60302047c435bb5006730650230059cd7d0903bbf1c2ce331ed399808219e44f1cd58184475a1cb196213c1a3e60c23410225595e8cecac17d60f8b7ae2023100e7198af0664bc4fedcf1e7b04ba2755f010fff93c914124cf65ea29a896c6dcf4c70c9fd51835e19b0970de8974cc8d90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310082cd8503a30a81c78d01e5bf4bd1a927383c0661bba4f958b0ecaaedc497a5108c07af149aca14be470f7236bb229ee40230010462f137fff4661f55305e47020d77aa03983a51c860678ca9e17c7fde35f395f38dad80e593a0b86b60d1cfbc035b0302047c435bb500663064023020cb9f89668aba995c7784110ff07361a41bc4db04d42bf5565aa654e6fa84e27490fa42102f20dcd571891378a4ad8d02307145a615038fc44f98f22a6928e97c205fe730eee5babf27721d55379bbca416555470c962ce84f835cf3a781ab111c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100df205bcaad0747cd35a8c847ab696f88d5b133e29974a82bc1006b97434433325eaff180e64efc9e955cadad30662b840230072b09b8e48fa55050170ea996c2b800fcb28074233eb713aae464cc98c79a7e73a5d448f0c5286f590e516e08b086780302047c435bb50066306402302507e74bca33754fe24ba6536a9a01894935469b9786c67f86acd6aae30609a87d67ba4ceb50f17242f52cee6130c8b10230171ca07c687690d229b4baa22d5c35bb2e1cd21a889c1b02941f77021a4e265df6b7336fe470bbdba13f7758c69beb440302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305df536f7b6c122c39120c6a59a3739f130188b7de441dd7996c48830f09c5dba64a6923fb759b9aa8e520483cb3df47c023100ecb491606cefc4271a7c578abfa22c8d3b8c8eb1858a0f7f07a92842d291c123a0b617358d76183b87adf34b518d86820302047c435bb500673065023038e0f2e69b9b5c9841277879ce7dae784f730bfbd9f19c817cfc60b7bda0ecb60838c0f2742dc442d9a5169c4ca9b63d023100a9c33f87e17dfd9d7e0087f077dab5b18824449e420260a737aaa586383fef59f9c8f94c2628e7bb3f27c199f15508680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023067554dc058665fc176ef31e2553a4ca3cacb94be3d1ba2540473b8a48d12a25d14d1f347770f463b428eb695a38c3e57023100f55a73a1ae96f105f2e599c16fd9193f28b1fa4ffdb1d798205f13b39a8d32c49f4c735092fc0cd52cd2bf60e4a32ce60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303638a77d9debf6cf55d662c7f3cb35400a11ecf9d67c96b77cc40ed4a6db5e8fb1465c8a93bc7cb2b932d4b8759fd31c023063659fbb5e6cf61fe2e46bbb02f02e50a697215add024be341a651f7ef22722f0ccc5f5978354f586d2c1c7b6e2bcc320302047c435bb50067306502301ad9ec3095472eb91d5af2d0d1aebfe155f26df8be77aec7f0da619429a186a76efa33a3fe6b2c0fdc12f6873781b0bb0231008230798aed352af1cbe20022fdade351aaf72e3a8fb80508b60372fcdecd7abc6fe155866e4efc000659c16a3ebc41210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230216f73bddeec82efd67ba6374ff7da9c8cb4177ba0ee43e9024f421985680385f5a39df40616acf56e04f07911e8529d023100f2a664a552bb7a3a8448a73b4ab1f1cdfdb7cd62cb163ffa2f15178ae41b2aa39b2aa9ea24ffa59477ffd4539ace31960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023024c707e17aa76c021b7f67c2ee5fa0dc31839c8b9946ea4e21bf7160824de6cc023a3728753d0002c77d1aabb9c28d22023100e5b797d30c04c577d8d90cbb6d5209c76044d097bf81483115e4777f1db3202176f627f06291c0fb4469020e671852bc0302047c435bb50067306502303bf09bb8457435647d387efe48066ab3ebf8b01dffccdea0954ef45befb8df2de091fe7d53d72e90cc47459db3db576f023100beac2b3d8b178f27791f6cb09118b603494feb4938a2aa1812dc68c6e7d2e81e1bba39dbdf32f7517be434c91c30072e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008d215a6bef60d927098f10c5bef4e60b4dec331c3f421c60407e29f3b74de4c5c29cb9356d142543f437f43c27a440460230274b9756f06e0380e4a70f49fb0fe62cdf9bc4a22cf85b9aeddb88d59d34bbb9c4d3d95e61e3fea1be9070251559413d0302047c435bb50067306502310088e27338cd2ab4a77a7e85dc8726195c4b7536fb71818458288b8ad26655ec9d8336b6145d943629f6461bb279bb013d02305d8c9b1fa82552ee2f57cf18e4f26ddfbc4e77722486a59eed71db2ba6cff13c2fe0150619808366d663fb84bba67b2a0302047c435bb500683066023100c5a8c03d1291f7dc88daf824d3b27317afc1fc6000f6584c8a610e31dbef772fa7c4bd4cd181f1c673fcdf010e17be1d023100f1e576976dfe79a3e93a4921a96c5ec55567d47d54cc7f890efe674d57c0a63408689110c17f5770bc6f8f46cdcedb330302047c435bb50066306402307566dc491b2f2caf23ee9b6a271a6b5580d79013d42f2577eed5f7c0012c110a2b05b363e13491c21833e250891c70ba023055cf55571febdb7722f2f2604fcc09152d25f434f662fb6420ac56cc6d1c48d3af099914ae6f0249e5cc3ef327df76b90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306016ec3978c7fe105ea623ba884dbc1a3f3354852151085617b09cd5932173a8de3acebe60186ecdb74070b605fb79d702303b7964a8fd777d17f1d9676e032f61222b7e1e6d310c43aa9ea472b2b68a29910237f40a0a95b9a8ad4e7b37cbe1599a0302047c435bb500673065023021f51593573d21facea275421be3041988877835e1751e29a57347fa2cfcc31fa030b75b064ad3ddcf16e2f992597763023100d4fd61653119bf441a767fe8401bfd5920a496d8dffaad779a37d5ac628e797768f94c63d82974171ae73ae18806f5d10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230271f3745940a88eb4700e834677f73332bff7de84c40a8abd17c3b2b4dfe86ce95a8684fadec12dfd423bdb09891e39902306d8012f180fe14c3303aeee419facb6b77f6bcc2dd6e534c89ffcb8b38a41e5b1a6942aeb7e12c48eee1353f2f12ed0e0302047c435bb500663064023047528349fac28ba048a7974f61946b430219f405ccc9350583263750ebaa8763d262af5aacb4546aeb735fce26c94693023040f45ac2913651e5220501856f752cb8324dd62f2cba732704e5e9613ff79b04f5326519f938043b6c19cd01be92200c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d2b131af6e323feeb9f0a134e9e0f7d01db810476bb16de607a6fa6c5e67601fba8a189ab7a133fe7a86b5da29abbe2d02304fecb48ebc83f3202339946c0b5aa85757f579c798d122d91342f4e2acc1d42563b3d26f9d7b7be13ff8c0f1aa856c460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e52bbb618a8f3f126de7f83b8128ff357c5b71fd1ed3cbbe05f7d8cfc82c425f5610a5679eccf1a2c73ea1bf8c1ec6be023100cf778e1d8c49e16e8899c1559f30f97688b9a944904b4101a324628742ee30b07b683f54baae7b77be19721e1815dcd40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023055fb6cd63ba5c5dbc0dd5226e0b015e29cff9827473b16ce2269b70fabdebc04596829dfcc3ee83f0327c1225c3f507c02300bb6e896911555661852f814533869b7353cfca7dea136dec02495a69f3e7f98b5cbb2c0354c9efee38c18c2d26d19130302047c435bb50066306402301cc83b3f5cb5dc267a5c4f06cedca5addbef6b2f71a1610c4e782b730328aae5e1abc8e49736a9734e4d46871397bca602306c6df3472f89c5a4e8d3c2148c32d00ebc60e45a5d5f07d796cc5f8f9f5fafd29facef530232df94c1c36fe2970966c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f8d4796656a2a8d3aa713e0c1305d6011ddf2dca992be9b54d255592b837d37829d1093154485b04b27aede5c35b170e02307099a117f1ae8097f5fd88e6e2f6be9008bc9a1fc51c5bb3493fdf2b2e44e6f521850dd21be9dac1c215f074eff2c8570302047c435bb50067306502305e2fb1d1c359914e21ba314fc5d7674839f631e489bba7110749c851155401879beb10e5af9326984e9cf0fdfec0cd3702310093050f1b208e7ce059b250833f44cf2bce675db94efec306c185a0eabbea845c84a213437e4b74893f29523f35323a760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023077e7ee1daafb88acc8e9206acaa76a7dc2247dd10694ab2a08730545ea32efde47f50a784b492edc99a398a42affd2f7023100fee0208eb370e6258346b0ffc01388828ae7e16fb0d8acf6cc679aa53b47c205d5bdf201d6de8535f0f49a1c59f9ce7a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ba21763463080ff2368fc5a21311df06812e81b1f37d8175a9c92a034b8028f4ac97b7adaece36f052a4f7a4a54f7868023100ce3819aec5d8a30d92e9cb6880464dbbd4b2dc045799d0d260abc675e6bee5985efdd5cd63039dfba300a144b808aff00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310099067abb5b0faba397e99fc2a47ab8902f0050bde03024e08a827f57f73c125e0457d5df0aec8ee27d5a0d7a57b85544023100a27c7206f62572012d4050012103d82777f8c2e9b02d4409940427c932a12cb9a2458ecbfd290e163dd6fd2f7b7b82640302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304652c171193c525ebae8ec77b146dfba0e1e49622b17466396c93d2802adc94f01afe99d776149a6f29f61d3b068b5e5023040f7ef36a0fc91abd58e5720af3ea9796ca773e8d72c63b1b76381c9a8c8acb27cae28e512decfe86a4a5425ccf1e7a40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307da0bd1ee75f9e1bfb0ed6bc2754ada67655c8ad8de0cf516c9f437065231b791a5bab249aba49ee1291c738cbd34afc0230079c6b178e24f2066247b5d2c4b4c1ae158c93e018670d34d739089278a7613ea33c8ff8b4a6e33270ec1ddc435c462a0302047c435bb5006730650231009e80097fca378fab59d9b144ea7885225884f9889863e92fb9773f14c5221ee9c826db896de8da2df0b72ce928a750ff0230302af88a2e8f2ac3fbf1ac9c75a8f46154aac58d322ff82f4bec687998b4a7f8e9cc80301e073e2d266da25eadd1ac1d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100985a76776004431e59d78f23d19ddf9b66802ea66b333a19f853ba580c2ef6bf87451fbf7f7d091ae35fa240619ba4d602300f9afb50e8925cb7a99db62cc62e6dd1d4ca8645065a232f728aa415ca720c7eb413d569ff53e89780e8a63f1fa847cf0302047c435bb50066306402307ca903316031dbcd5072a7f1cee168561a8262e5e4bfbd431e06dc3262cb466948d51a1d04018a98703900356da976f5023065a97f74cd0b69f577f12a8f2fffd02c66fa1c101c46c6e3b91d9182fc6af48b4ddbaab0aca0b2c20a3da6954a37eac90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230659edf55308fee67a7530294308bd0de601b8ef19b42f0844b7c32e5195bad95238e2b46f40a1406ce1f9db744f1d21b02307ab009f7a5f55b0742474d1a1fc20f5890cdd166f2ddb721d1998743dc65008a68e145933792120ec8bb81c7c6f68e770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310090285289f58da1cc32750ddd47bcbfd2f600df3c0eb1f1e031596cc0cac73278f8ea4e0491602cd725868c99061ee92002307bf1bd945897924b2a230e43f7729477432cfdb7f112660ed63febd50be5264becb8860a81dbe9dea8d67e0925322cf30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230673b0f2a1b5a65529fcaee941aa49db540324f504a62f410719b9a08f6b3e150cf5fb180c7f92abf49fa6f6052a7f54d0230626a7293576b83a5e37c54ebdb8903bf19d6b900fab24e9e8df76982ad73245e47f20dd640fb45b825b94242584c33700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c3d8a321ac1d248b1f28b3b3d6bfc5e9f9bfb2de6fd9f53f12b83e2e5f33af1fb2ed2613562eb4b95f17e79986772bb3023024b1ff152fa1d666dd593ae9a0816c4ae9a817fb4deb04779f71744c85102a07f5102ccdb54bdd19fa376a85b6aa09fd0302047c435bb50067306502302f48ad265e96003710c01e09bed9ec0f993378478cbd39aa1fb07dfd2e11a7d503b5fd3094a771c257003121d74d20ab023100ce727e32fa31e9bd6a1bc9b4ae5b15192ef1e65acbbdbeda3cad6492cfd1533c6ba9415c7740325e80723da296836db60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302fa94ec2b56cde84888d7258b055c5158b5025aba69992537dd19418676596fae1fb49bc2a865bfd09f28ba2696b680902301e015a2c2ac6ada5e51f94d6f572189ab2100d86683ce018a58b0dd31629d1cef1bddcc9046f8b75aee2d20179ecc4c30302047c435bb500673065023100c92331fb99d03e261503a5e90097ad22443b333aa00ec94136096483a819544872757087e536662f61482fbece8f78b302306274a0a51ba4d9a5b3ef199c36f698ff8d34d7fd26dab25445d4c902fc402fe1b21c2fb4da34f683b84a5b0141c005e10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bbd56cf04a1200b620602d25bc1eae99d1c089247bc5af28695e712f6c2dbdbe14c44ac46b3754ead8a2b34b5fbc1aa302302b9606205679865e2458760a81b773f6051736f89959407594f4b07a09f22d5fde68cfe0e8b365a87b6f0fb63b1807740302047c435bb500683066023100ec2a6660b64d63622071cc2754d04df250877eb4825841c502320ffce71bea561805a0d94a073d04dd26323268d4cc5102310085b1488d176bacfbc7c092e7a09c9b0b13619ccac7b5eaad1f4ac8566abf97e9d71bb505bda02ddc253f15bfd657d8140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c8b03fa1052275505a385c1a3257cfc4374267d6cc7c183ad1de9528aa7168a6f3370d2aa20f19d046126f585868226f023100a29809fdb4669a84e75431baf61830d82569f1dd13c6f0f3e0dbbb5c0e9aa9e3701f8744f0c6e69082a955c99159b3750302047c435bb500673065023019bd1658711bff0c53706346d86025fa08b2419b8ef352be1f6f3bed810da764aea200f49ab162ae8a4596fadac01b03023100ae26b0c6502a9bbece0a350666444b40fcddc41aca00a64bfe256913d099f77ad3e8e7465d9c8b875fc21ef8b4b687460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305e87afa17512eaeb3016a274dd3d3462822cd57ce0917e5888392d9755c0be05a36a69dd842cfa4cd70663406f3e9a6f023100b210ab0efae1384d87d5f4572635d581a3a605b734a9b492f0eb32dd0804374a35a54a7c883f33802bfff0d453c36eec0302047c435bb500683066023100f11c7a34f02512f673d98cbd5b17a34a0c4ba6be8f550493f68606064040ba06f5d0129cbd1dd385eabfb608e4350094023100ac749a3faa61714137d865e8596478c367a0d94d873d72b7212e3448f1111f1f549f9e1f8bd07de898ca2bfc86803b540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a4d62577622236094c2580f7581235564ff5fc77ec77fa70a3cd3abedf0f16e2e7949bc62e22fb73ea0119a89fce3573023100fc3ee8cff4b514c92f01fd1617e4efba0d413c86f2b4bbdaa29af0f0abc97e335c82d430572b6b36b8847aa0a7fe7d6d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023029a166fa925f54518bd19d699e2c40cd40de8a054ebb01bace453b6a1ef334d5aeaeb7f11ac625b319c369ee1811871e02307540a7770772443c52a5a2cbb74f34450e3f005576cc7d2575ffcdfac57a192cf779891e3d8bae37611528e4bc6c38070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304010e63ccf9ef10b3bd63881072891820f89e43aa31a5c150de017a9948b58e062a25485f4ffa485f53933e130640f39023100c53d8c627ccdcee65043e52cc126497781c4d85722bee7231f64201e04cf8934b39abed81ef64824489292d03c98e81e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300f7380525632060f0e209aa752639fa16b8d28c17886fc00387adbfe17c5f5be4700259858402fc40cb1484dc4c8b63f02302f9be80e6b02a657e27b8a1f2ad4a44e9c5addf786af6d8d9320be3863ad0b558ae7ae82c31563c7e49a1db3742341530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ce9b9701f8cfb443ed1173be14a1e5c6affa0c0d288a098195ffcbea7070ae8c365925a6795ce7643278c783d5024d7f023100a99e4b07ee41605280747aabd71b795b6d6b8dc26711850105129ecc45c4d89115511ced6871d648378d4500321b223f0302047c435bb500673065023046542177f65ff4f32ebbbbb5f01d60f90a41bf211ac9f39b47d0ccf741d227e29f5744cc85601802491087e76b2738ad023100c54f1ad46114c1e8b29e7c56d73ca1808560a846547d1af872290fb24994a2d7017a2e0e620c1f0057aada3c5bda45270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230056467027b2f0051b5ec6d8fe19a393cb5ab48faeb8190074b2bdca74b77c0bea6228bd4934ef4dade2e0ccbd869182902310086afec7b0a44f93fad0524770edf6b0de11aef74637a47397fb40ce0013ea9bc4c478e742a13c5d5ce573d81c9ca6cac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306c370bfff20d14254bc92783949e11a0cb06e374cd17eb6404c3f6eac53a60e7e301536e31fb1f7ffa14527ee05ce7aa023062eb4728a007ff0b0bf2da0be9f2b118ce9e4efbb1e98246f7c0ca13687d5ef02922828690e3df7b3ddef1d4c7fe005e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023014f064b4e1ec0d1dac859ca2669aa5c337f06c7bc9a1c2201f1ade05c4eb282018a9b5e706efd9e5a77d6cf7b69b736f0231009d73448f9eb4821e172a167d8b14e8bd78af784cdf57f69ed68a047029f31ca6cbac543caec2738f10b88a79c4923e810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b69361f1016ab5c36d21c182817aa1a59317980f5ef36c15b190c890edc7ffadb3b5e74d75355b7224aa933873908395023041ba137e454f028d4b23c8dcc7f2846536fef20c73360992097818faeee7a91b9cc6332b7d32efd4f6db83699d0a3e8e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b012c38ca4bd40cc9f425e60a137628fa69c42437c8721fed34ee5ad42bc9aa74f718cae9a2e1200904c2fd8a66b667302306ce05910c297b3014a72dc325ce3c74930f5bf2f1b6eb0ad98e836f9cd892fb43781344ae487f51643dad6186a7dabae0302047c435bb5006630640230134dc7f93b412ed15900888e28194871f5d6e335f03a2667ead5c2fb19b5e5ddbc53319888e42525f38bd5e84a7737f70230764ba7f3a3cf93d19ef093cd3f01830fcc567833e9d2af495255a367fb639f73979ce9898911691d914ed0cab7f8ddf10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230382fe2cfd500583f0dce527032518789c4c62e0b64889b8b7f4d78a336b2f225b2230ce540b4f42f2c88673ac1e7510c02310093457d8b77be2cc1439106cf4cbc417c3690d9a3d043633f37adea5ea8f66925ef32743f69648d1983cfef248db36c570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100de999136401319fff6a2687cf0174f2549e7bbd48773b6f2df29f68372fe7058184200e5c29afe163212a0c697be27de02304d12fe70d1beacc7f755c769efbf9c434f703ba998b79b6901f33c092fda8ae6743f276617b325dc4e0b7f0ed765186d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f2f7f573c51127979370f8d85fd6786935738c7dae3ba080563a8d7d3dc9b47f78779d882824f1e394fb563d660d4b52023100927122d898c05caaa829f86999c408b113fed0929964f02cc7c25ccfa03a76332c977c8315b7ce5aa387836411d1470a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a52e466ac94f4b5a1874fdd6a1262c96ca672e92cc436424cb5fdfeb2043a783bc27ac4465f0b715541abdbeb176ca6602303d44b131a4dcffaab489a4ed53127060618ae10b6d72ef1de8c370496159b97f6a58a06769f853bb275d559d597cdfc80302047c435bb500683066023100a1f56be0fe08682208b7f9ccea935102fb6ee3cefff1d77c738938b2f539518a420d16f95ad43f02c8ce9f0361a2dc10023100bd47ac3b788ce23bdeb1d1ef41a7cc56ba0d3b4002a9eb9ea4c3d719cc954ea633302a8f49d01ba8e0a56fc9b7a8e8070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e6467785541e0d156c421b4ae76cd0f61a8b96c417aa8008a1706bc4bcf9c1a2e8e66c45d6d8e300a3894a4db7a6aedc02304614a5390ec75383fa1048ba584013e90a31f53d54a5348c3282ded47d9e8da2a355a978c622dba2c3bc3ab0c292f7500302047c435bb500673065023100f07e147c52f86082f7e978194cd2be165827dbb7bfebd170b2acc328ff1f8d566300b9a537a72a27fee14227c96cf348023053df823b70d1cbf30ab0229ccc8b8bcdc72152bfa501ce7c644acefc4b1a4e71ea2cef5a7a2136bedfd4465f6fcd1e560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ff3b6e750e336b3a1f6fbf75d3bee55c5dc082af914550495778ef8ae59254754ef665a9d752bb52063a1dc5b6864adb023100ceeba5053412d8c6410d35123d4ff9d234cb8767cbb75356a5e5420aa7b8e9359d83dc891d85b8d255cefc67c8df42620302047c435bb500663064023020c6fddae0c323019384f3221acc544bfa70fcc5ba58df9f320409f865260a17075c30f030cf109c6324de0ee317112602305f1c9a87dcf4d0d2e65701d98b0f0a79ebd94eac377c81e6a59be2cb97971b6f394e736e6f3f277bc36c8b6e100bba670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009b0eabe56ffda3c5082f7d686cbbf0134f394dd254e2216ea0df460310a13dc42f9b3463de64ecf6ec49f81024575ac5023031a1527b9b45ca7a8f6ba2f4404d2c8d32d8d5676f61ed5cd86d35a219ed678b0c915def5549251378edadd0114895600302047c435bb50067306502302fd136dd025911989c26f925ebe7c6c8068ee15bab300628bc4ad67323b74edd880dfcce8e6b5535254fac6349e61f30023100e41a291c972e52680e3c14e70aeee1e8ffc00182b672bb27371bdf64155c70a03cc54ce107f19c22222dec374fc72e590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023014f8c7f70dafd248cafe7d6abefe14ae396159c2c410f86b405b6b11d927dfaec3b9e0f0da9d6b25ddf614d1841223a1023100d6acd9513284213e85fb6d9ce6822597752971eb19e6b472812843aeb47d852b12c445e912f252c21bb9651b0add46230302047c435bb500673065023071f6607e9faf8e6422506d347c5f0b5e29347904808d957940dcccac40bcac739a89611c20f67ac6aa4f640ced6ab41a023100d2f264503efd0294ed202a645a8d7a87cbc4800b46c41502aa5b4c86526bb651629f68a6079979c45db590eb30ccf2a40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023042103a252358dc0c617406dceedd76d49a37693623573515b41702d9737b7a3727c610bfc02b997c9f4829c9a03431a0023100d0d146480abbb97ac9f0477952326bf3f6cc7db442e37546e6a0e7b28e0e64125cd4dffa037dcaf126c31ee9cda581200302047c435bb500683066023100b6088db6c39972aba02a38f886196fecb78999bd7793c77e91b02178be654f48b81048ec268bc82360bb00b2c96961fc023100fc79f5195327b12486ba9144acc469854a03b2b06de2430742b210c095c5fd2a5bca6d4687f2f71e98374db44aee88970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302eaad4e93eb126232937d369b8a48f79130ce35e85eb2276c737a191b68cbae2f4d426e6e6c9b03749abbde3728d045c0230277b76cad36df0a242115622e8cd777fcdf1ba7c50862f307612721455886b96186f0e7163b572585ab70717f8e3bce30302047c435bb5006730650231009437bb69d2dd85a445fbf63440691762c62d6591f0eab06a0971beaa82cdbbf1fe6f3e7c8adee9dbb93675568a046a4d023030e375cac555b680459431608e69bb617409bbe21037f47c9f462f065660974591c3b7567a19b9ffe11e11d1209289a10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ff53e3411e61d18b4bed689d1e5e592cd7a07f0514c66e3fa460f9058ecc193469e132a3c8eb69a280d0aebf079be59e02306ef33dd94fd263ae4053666d4cdfbaf3f170da21c3972693c093c130bfbb80ae7880de8fde92b6734cdedb577137fecc0302047c435bb50067306502306aa54843d61562bb01f06cd38f7f1e6b3be2e82f208588e6429f45e8b8241cb543ac0f206484aaf61d4daebaaa0e1b9a023100a87f3f45d041a5c002bf61d19e1313d033f7232f147c145c654bf86b8074b46585a26391ad6da79f90f5c8c33ea78e490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008bd46cca0019d3e6d8f17a88e3b268eb9ba2e8cf01da8d8a781110c9186c40397a9091907cc47e22e77d0ad368545ec802301620800069192ca518bf7dc49a0b05ca1e066cfd438e275077c4ec32c0da2e998a2457a8eaed4954f010edb232f8a3280302047c435bb500673065023100a9a372cf64fd8f1f6af1e74e03b0d9617daa3a39410c2e52ae07c10c337d3417a84e700b90a5b6e128da40e4b9793de2023056402440c24e1776d9365ef67a24cd91083bf0c1fab33f7a3260a7e78974a5de615b7a786a6d57ad32c430910a3fdb320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307dbb7161706a4dab1028e032da5bc612f2b7f48fd3f9dc36d870b58f79e5e9778277929d8689102aaa0f2906e968d462023100fdd241796591abedbf0023529f9c18f6a89fd99f99e2181a4e81d73a1bf905b1772450248cca77d9a20d820090b4526f0302047c435bb50066306402306f6ef17eedf46d8e6a24ac5d04bad69c1c8569c4a33aea0543efbdd7557b8abf7644bab8f9932bc1575f65a2d5a5cecc02301c406f4a7bb50e43382083d0d0fb4ae12907a1b80c949a6771cd7b9e68d49e26096043f749db206f44c17963575f8c7e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e7fe4d2dac928c25963ef4fc7d4afa38e2fc99f00b3b636f87b1b07039540f6ccf9dd88b17161a9034428b87d174723c023100884aaa547eb3198eab53c36888b5ba20764f404c6b05e0da9f588e25ff40b49775961c617d2fd8ccf104b5026a16e76b0302047c435bb500683066023100e090515b62c8cefc8f64926d89e56790b0946dc6be0c356b16b496a07cb01ef7781b46cf9058eef2dafa8e5332969fae023100cf2917c3f50b9d53c28c26cdeee756f82c33e0d40bcf2659dfb31fbd96a6c980fec4f95c039a81c6ee800dca86d5e97f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a202be9a7de78da3d1a4ba41315caa9edec5b1067eb3247f63f4c6968d50211d1b82e13bc8efca71017b845a2d89e2d4023100f036bce02a515a014577d3b4494819d110db316e2c5e05516a13d7ffd508ee640bc92ec0b66168c76c58ea4edd86f0420302047c435bb500673065023100d5b9db79d4c618604b7d09b4f3038e08905f9fdc2cfefd629228028ab5f176a2f1b23d4c4bdea1ef330d642c1ceff4620230318be3c3da7d57c4d458f5d66f8cbf475b59d1bc8722acb7d99a924faa5730e011882d1610193e275bd6d17ae0199ac90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300106d7a020a37478b00cef969f616859566b202ea349d28cd709ef85f13f3ae998e8558dc82c90418973d1d7351f03280230447bf5215f9ce0bfc64b920d622972b1ae6a1195507b50248904a5bd97ce913cec52c0e26a60f77c8c37e594bb9d2f160302047c435bb500683066023100d297b5e655399e050f5d54534f9c5aa75d4cfd02eea1e9a71fd0416a64ffa2b3ba81664a2cfaab38ea68743a17c7a9c8023100ce9a8342e03ad6601ce5b6266b2348c7a7eb54864f5a410d1d314a40aa41c03594a5f19230a4b7d8ea75cfb1017a56260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023047f098240ab4057b37a84eed389c68160fb5052775e24aceadc84e3fe53e1b8963233e8ae3916df4fdfc464afebb80c002306c8f5c46f0f0475ff6feeba7d2d83e84ba920b3b5a693b2b9dd00f140902fc9eca59e9a0b909d3a51ed48e6e1a3c03c10302047c435bb50066306402300ef8ba8d873bef6dda9826d48085b74bab12b0695bd88f728f4181da85d0086d81d9fb72040cb42719073ac84768b1e8023018618e84b53ad7f961b3c5db5fab0f41c855d890921f102d8bea08c94f2621fd9e85f2cc60a294662f3d44c78ce64d5f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301e88e9aaf78ef8b57e42715808ff743d202ff17430aadf234d559901adb6b9b0d3b2327cd1af3fa776471bae3888018c023026a5632dffebb7365796f0874c195d1dd4d79d37f16e24f1a9380dbacc9d8bc5eb6b79a0eb683417cfe4d31f79ec111f0302047c435bb50067306502300a194f83521ee326b9f68ab50a3bf94192dc8165a6d94e11cebeec7f2ce3603dc368521fe982d57c58b3454952328fa9023100f62f853ca15ecdea28300679bc92b25d47a3774b9231bde84ad98c5aa1a86f244a309060c00f1a4cafdd1652aa4471770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d468f14bed6b0c41d42f9cd41eda1ff947555dcfc04829e6cd0683fb7e6b2742cf8f21a41c35888585376fa987e337e002305783be52ce92b10fc3fca92cf1ddd26808c125b382b5f265491dd57476e66b5969157ce39a7b3d1bfabf08e5079d9ace0302047c435bb5006730650230070d3a5053ffa88306e7c67c8a8152c138240cdbb68aab12dc5937c7638c6c5f724e24b76be8d482dfd1923578932e99023100e33f96eaab8dcb99f5e4af27ce1274f90bcbbae5e2bb61bba9810e0b7b62c14c441a61c0ffdf75f5b96f9b8975255bbe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f018fa6f8f5f2a74adf8fb975b53223394fd209425965ded7c99422e5f08dd94f339f99f520c88a9af209701904f8d980231009d590be42fbc49a37e700e4ef7da3b2efee7cf7090c45e894f1984e56fa1e30cc3f054590afdccdeee64ecdc00dd43500302047c435bb500673065023100c127c1b58dac3f0630c59bd5a2760a65f1d4c18a1162b6a2efb3d31709d99fe8e6d419221fa32b4a42b597fed80802f602307d9c1ac0618630c56ad74b7965047e8a69e2926280de773dd2702b9a6baaab170d2cf8e781b64bc250e6cd7d89351b000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d7a7d08a464929692764f338e3da4fc516056d7f4c5df8b236db6632431a4c55038ee5faf9a8accfd7907fe39ada48d902310089b124d062d7bd04c41b51ac7e2ad5a48424046aaff7b0208f195d27a6dae71a3fed1e05c5e0138a9aa4f1c7cf7ce0690302047c435bb50066306402304b91799f86b1fe2575c9aca1bc8cb5f5d026fe36d06580fbc541d909efb2511f6a265b354387c26ae609d9efce7ea7a702300cea4e9c91415ffe4952c1cf744e9e0108f873235bbfba10750d36ab721c9eee61334347bd06d62cd4478fbf682efed60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023034e704419b60b9b72edbe1d454c8a7985a8de5e52d5089aded7081da399a11e229e252fd69bf652115c530214bead32c023100f09b8aeba93b30193c2c4649bf1889cc161703bbd411609084901e2b42028e45bf0018148889623f7034c950471a93a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300c12ea8c2b0daa116e25277a0de2ae864baa25a5510358ef830ea5a9312c49a2e84f9a11e5ca8810b29f81eeab8b6d8d023100e1ecd6c844f68c6aaed5ef82fb7ea8c89fe72db6f342abaafa7dd4363e991b9cfb2dbe2d161e0cfe8f57ee00ec0df8cf0302047c435bb5006830660231009c6cfc7ad9e1a560de43e73033af1cd18af7cf0966dc553f0be0c310cdd6b516996c992e7334da45eedfdcf49c50817d023100be68f58e96e892f45cd233d81eb4fb7a0b49918425e7a27ecab810fff96bce11b4ce1b47280c9a4a5f15934e7497e3ed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bd0349a9a238c3adbfca10dc4d27189763148ddbdf198a28b8e1d722aae1c270fbf7efa3b10feb59b8552321498dc4e7023100b9fe65664176ee046185c127a4f89e757929bbacdd0b6b726de0ad964823b1101c7b286e1c2c07ef7893dbc37691b86f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306d67581dd5e0f795c71647fdee8fe5257156dfded8c4e80fa1c48b0cf66b3a69e46bd1288c427cc51aeeb95551d3db420231009bbb4cd9dcd2d94999febd7f06cba7e8e16f5bcf25ed6de65191ae8967d085f3aa4ffae9124e008f7a1cf910fe56a7660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230120b8fbeadd6af811ed822b04455783f6287d41594dc49e5101237604c22e5cadcaa6a5d9b11084d928589bb9083488a02300bacba5911ded9d152adf1461ec5b3b48f0992f9ceaa67e2ed92441429ffa22cfc41eb43792b7e25b50b6efbfd998c900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230188ae4ce54d7a33349635b401fc970f40cee3fad7f48273fe4ae6e7013bb967e773807db8597d44200fb892533800f76023100aeda9541bbe8f5b3ee3bbf3fa74de2de29b079b0ad7d6232de723882244df9b103789792db32ab28bf4d7f761399a4c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305681da94fc566cd83582296c582de597edbd93ba02671a64934214aeff54cf9cb54716b47d94eb15326d4ec2ed9c4e7c02301c9b9ce9cd4779e19073cd0383fce10c8cd3858b9de87a1cd52da8e4e476b3b5d2a790478b057dac6994924c71e8eca00302047c435bb50066306402304c9c46e33dad3674f2bcdb775d9633dfb2340c5b42acb966b67d089fd407f4552c14f9f9edba895661f303d4fca034440230745e3da756badeeb897b1c96734f5e0e867ceaf2274f0e9e443e5fa0c3ab840b3fd6dbbee571d8bb0b035bb05db3c7490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230481caae114a2b8371dceaac23542897fe746baa9bba08174a20a0d4f3154df80d90347a9f4596719148aefdde2f6bb280230387603fdbace53054ef34f527af2214f66781c9424cceb4a6b409f7e5b0421527513151f3770adf69bcb945c58c5575d0302047c435bb500663064023012d3923551c53d3fa5e260db3497a5ee4e1d8c1a8f6e288cb5bbedb2c4506541c13adf6cee8b1f625b3ece01913cab2502307114c3c77d53395802416e55d2a0363a3d9a2df315869911ad5a0c0ccda72dd1357127918a0e7bfdc985eebe7b1c31ae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cbc17344eb3f32b966f7f3f774e05ab88f01934fdf32aa35cd31a3db844bf9d27e7e407028d639555d39e322298cf44c023003b9fa19eb4029fb4dc50b434d37839fbc41b39387fa297182b21fc85e097046216be7ab8bcb2d47d3bd514e5e7bac8b0302047c435bb50066306402301f3d92418f4e52083fbcec0f64e939936172c6c09cff47bcab864d8fc065935ae2d721ecd71d6170ea26de6f3c96907802302f4969d02910cee9bbb58b623fbce1b000c87666d3a9a43dad1dd9e5f01af70c8be0cc2c1a6b5a7be324a7febdb34b270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100da66fa461a8a14a3d16d123fed532d0b77733a8eea076857f9018b61fcb40e6e1478ecc645230a94c873dec4ee1457e902302b32234cbd171f7ae7776b75f672bea001980d6dafbfde31401f991bf0c4d1b216f94a0d1e5bda81958c12448d3dc0610302047c435bb500673065023020fd75e70a48d661c8cdcaeaf70a92e1dd6c58a99ed3b8712fcb35b4c6e8ca789795165f9cd9df7bad5ba945c021d8e9023100ba8a91b4319d23dff1f7e5cc63e8c35565eaeefec9aaaf7f64fce18332ad772d189e444c70991f3decccf16a8b05e8da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f53457fa78958ffcac3bf1dfa124f4fe87e992720b2f0a471761f800105966f431a02b7d8a61bf83c903734ecbb3d0960230409ba341c188507136ef4385f1715b656eb4cf6085771740064190c4274bd018f7bdae2ae6a2dd4ba32cbc12916e21310302047c435bb50067306502304752da448360069466c74b1867c855335d711b753e0e04dc3d1a9c50113e1d5fa0a78455f758579263ba965c4450e5d60231008468879d9b90612c92afc71dd6a42597695bb2b23304de5d94efaa408d87622644e6adf8d08096b0a39321a27706021f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310090643a092e196595452f1f4a8edaf346fb9c421326b6366eda50c0a1a14dcdcdb894780e69a4cda870159d5659d56c5402305393f56a18c8d3325834882e9b9d5239a4d37c5ca0e1a6f7a5a39dc72318d98d768a21d9e78f9148ea2fba4f7bdec7060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023018482b903aafe998f8594510a8030fdebbd8974a5674cdd815fbb40ad3a14819e0785fd31315e87f01b209e367c6925b0230724c56828c0d78767fb808aa305d4cc1f7a212d891232da1e422971f9690897d808df1bb71e5052f6a1d73f52c020f040302047c435bb50066306402305c5d416ddc02f8247d39a3a748346e5d294a7c99c244cf71d2dd254eebb76f6b9e6053d35b5f72b7064279d27451fd7002302361a8fa161d36faf0a237c658c311e6c04d82e964ee03831afe40be850903686047fab61636415e14eaa132915f53570302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a6bce729e1f0879d38d0db100208ff294cb2a56e8d9cd8bebfbc886824ca1f935456091066deee601db6140292f8e0ea0231009bec7347df62db86f71f8a0cfa45a0e61340bde92e14baf5079f18dc705df31945909d33cde8837d9e26c8002309d7b70302047c435bb50066306402307aafe33d967b2b4d3324ea5c930fa36826041412c44124c5687c7e71e650c66de01e296f750bd994c08ed28f1f96ca46023059d0cc1b55698e453eab5ecf6dff0dd00e6666a13f89e511d706d13c909f9733c2806d43d44a0fe412e1cf8f96a0568f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008052bf76741174c1fef718c6a29041785c1dbdc1cc14c59a687138c4638c5fbd097a31264e1819a0633d0aedf990290a023053df3bb4669aa9f2d85ec43ca672e3cc5cc39c93e0db298b648b1faf015a3a498c761bacf268a036b0589f11514250cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f299955f6935d86ef10c619f1d05b0592e2eb5a8229a2ef056bb919fa63f81d5cc00845a1175a341555581e55253540e023100f7552b10cf9e2e680a8db599faa0cab6ef37d289e32208a19e6918db9ae754569e965c9a218268ca187cf51d236dff9d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230572e6ac9b1e587ee74e84d753397a2f01e5c1d1debc4e2f7d395ee1ef716329ce95a0ae0aca701749a88db5ceb62608902304afe8207251c4201f304815f912f49ba8f1c66bb65d45f585a8ed99d1e857aadea328f903cf28c6c14abdfb5af7a024e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ce02398bbef750e2101069480668f1187465d8b5736d9e84372d90be26da219f138f21377a2ca33dd7304aa1a7a662bb023100cef29b03d888142e10c658268e24771dd1d029fb20a085b43c7242e6aa7e3403cc20b2c6e72827f25ea7d855d7368b0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a2c5b7480b051977875fd11279462e13ccd65fd0078120b69f79415997af4af7a8531d7c37430aeca2b046e954fb9691023100d18c428ddd2446705d8907ad0cfb7887221546e45d28cff3e26347f4a24c51fef2b97dfca8ff325158e9d8ae58aebc8b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305be80886cab0b37bfa7d581ac71e70555870b37de5cc9a6d93702fa398f2562dc3c366d2a87816b00efc95ebe79d5e2f023051ada6b132c27118936448720ceff58282352c6242a7437c1ed812ee3c8117ceeecf3e359d4b82fcb382ad561ce4dd1c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d57762a4b0fa0e940da0d2db3b2f191b0459bf4ad4c0e0e64fbcca913d6fac22c1917eb9aab6f35415ca2c52af34dff502310083b98852448b34d2a2fd3adab254be3948f7b35e08584f947ea394c58bb11dabb30706f4f394c98df19a18a6ac5cb0970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cd5f4efc598bbb80789fd1253bb920a6ef7451c9afd776e27251e57187024a8c61098dfb77adbd21408bb74a98afd53e023100b3ac6f53c1255b041f399e82bc9f37edc9ffba983d3f864f31a0043a5c1d04046a60a6f8312973c0a9c734380f20de3d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230150c4b38ecea96a87224d00fd4dcc50b552dc364a9927172cfbe733edb2b0969ad7a1f1ece1cd575c27bcc79a14a8cae023100c2efce97dbd37a45f4578b0d092831c1043eabe08549773941305a6a5100b92f12e32df363048f8dbca53d5ce54d1a750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230699bb2a536931ce1ce8c4f847717dcd52b2d509c3f7f2f9a6f64f7a9612d5818d8b7a51c6b3e45aaf7df9505bb308c6b023100e2b8a2ee52704fe0237de876b2f0b52e3f00dc753d934c6188897f1a421a2f28663b7ff4766e61629dc2fc9584cbfb8a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230066544a9ece90bd9090eee617959ec2cef2d1e175f4a42c2bef1a0043b540d14a6d8f8b0ebd46a8df462c5570af954f7023026a08e1a968c06c9166f5ddc2366f29a1d3d8c4d129e167239e243c7edc2ac46054b77ef57ddcd36544fda9a9425e8600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b9b72ddac99ea3cae94a0fbf3d8e7d10811084bfbc3a2d5119cbdfbbc07f25fe6291011acc95e02e61762f88d78072ce023100b29b1de65c5e5f378610da90980e5647549b9a7948943e35629ae849c2e368842e4f872b1f18f68d702805d9d07cfb2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300650970bd9e54a1e6a6f6b35dfcf1d503d4b304e89d79d75a57535e7f0d42eb3a4472d8024a807a4f11250eba7eb5e93023024c74b599b36844b375807ecfd4e06ba37142e5f3a02ab6ee4115cafef4db4a4e59007b68b89f23738f297e909f0d7aa0302047c435bb5006730650230228aad21af96b7331e3aab0c4c9c33d00c20607c51e30435a29c9b478761e56b8906ccd79160df57f38a423a3b2a38880231008b28fe5b632cdd5c7bdfb256264b9264f618bdaf8cfae3d6168cb4ca320e60293b4e73f84826d770bd44d1c25cafbdd90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e61aa4c829ba5b3a3634dd2f9081d9ba5b0ef03acedbff67c2ca04dc0be846159fedd38a6b1c662c8519e53f2e44a6ed0230293389a0705afed62fb957281674bfdb9c364a27b118427071dc0c115f95548a5efc7feaacd4deaa7818cdf58f93038c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064022f15cec9376c579b218341027c3f6ff2cd202aaa9ab1dfd2879e556ed261190df8c6708f30a6a42fcf3c1ece19de7241023100c4af834ca698ed538ff5a3086ff0c9ecb04062ede6e35aa522dfef7116faa63016732ac007a82caca01fa94806017d600302047c435bb500673065023100b5b643721677f9b23727e23d90429da7f80ada69e513f0b8fcfdee0d036f49bccf690691264123a862cadaf080f007b602306af7482b33461716305787355cd130255ce469a43f3022ef51df3cc41ad155c4007af1d494307ce001abf2c55b4bb7e10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ca87c91c0b75897c5eed86c61435a5ca76a18b5398f1cb99712d9fcdd26dee586835907d71ade9060d52369b7c01eda3023100874bb1ea6429a063b5eb00bcbebe804519b66913afc42811e53a7c0fb1060b77db36a0782ef5be94a9427e23840fcfb30302047c435bb5006830660231009b5a5a6ba0ad4d12cc5bee4113a3d4894828c8f629849ae4fc1423b5b089fb4237f8ed2dd9f0474f1e1b686bda690e00023100b3833cf08bc82480eff172c1355d73f13494b5cf805380259effab7c19336cbcc0f9780148d9e978f0a0fda97cf9c58e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e00095d43b95d728ee62c08d860a1ad3714f4f5b4f284f504cccdf4a3e5e3001950edc7642c2184a7e1ff979530d9840023100f4201adb18b2e60f3290c9130e2571f0795a1ce4ffc7b96e6e41f53c4567714696dd887f15c6939f9eaa2a5695b2bac60302047c435bb50068306602310097506e3d8034a46c28e94985671546ac6aa91d972d30a4ad83c46b366ee9f0bba2c8507a6f51fea75065bdf7389af626023100ee494c66474ea9164c7e1fb586fd285c48ac6143dedb1fe1035b15de35a92b0904eb31c3f62fddcd8d876df45be11a4c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301015602c1c374357e4dd90141710301c9d05531803ef3fe0ebee2f30b23b2cc095ce27948ba2ab48c9ed36aeca338aca023100809f6147e9906ddf474f1db25cdd44c9b7c7b1b511cef72558428f4db6c79fcd751fe2de758a489eaab9d16529cabb060302047c435bb5006730650230544eac6b0aee5414d0a9239a08fa88e7180cfb63c417714ab3205a1e686d348d42aca3597f3361ac86c027e0ae81a65f023100824861ffd4a65bf18ce6dba271d5ec36b8f3d056fbf793e393dfcdaf49996de183fd7c58c22f1bb3a3844839034dc9ac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302582aafe1ed1dc8721134eb49b468e2d2b84b738636d97d457d46a53edfb6c8d8360a511dd3eab51bdb9f4b13f9c42d3023100d79f65e2682dbc29ffb5ceb69ab00e6a3be7a48be3b703bdf1f4cca2f1fe611709b88590a92dec2f5c862abaab5561130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302582aafe1ed1dc8721134eb49b468e2d2b84b738636d97d457d46a53edfb6c8d8360a511dd3eab51bdb9f4b13f9c42d3023100d79f65e2682dbc29ffb5ceb69ab00e6a3be7a48be3b703bdf1f4cca2f1fe611709b88590a92dec2f5c862abaab5561130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302582aafe1ed1dc8721134eb49b468e2d2b84b738636d97d457d46a53edfb6c8d8360a511dd3eab51bdb9f4b13f9c42d3023100d79f65e2682dbc29ffb5ceb69ab00e6a3be7a48be3b703bdf1f4cca2f1fe611709b88590a92dec2f5c862abaab5561130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304933dba146b286ed100740ebdaf30e270ba2c17a2fe4a1bbbd8da55a1004ac2ba77be99d77e631a8eac7e416223d8e2b02301c833735cef8dbf84fd39b78af174c0690c38fd570754da028fbefdf39abc5f10e7768d8073a7f110cb77393f9bba9830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302582aafe1ed1dc8721134eb49b468e2d2b84b738636d97d457d46a53edfb6c8d8360a511dd3eab51bdb9f4b13f9c42d3023100d79f65e2682dbc29ffb5ceb69ab00e6a3be7a48be3b703bdf1f4cca2f1fe611709b88590a92dec2f5c862abaab5561130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230054b050bca07b0e9e87487c240de5662e3e75d96fa6cc5dafff17e7b5d7151f47918c1d34605c10d8fd1908b5bfc5a5102306aa43eeecc0ba556ec497bf06ffd9737d1ae606a3d078c1013a7b1e6eb03d7a2a6368d2409337054201bbcf51458a9540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302582aafe1ed1dc8721134eb49b468e2d2b84b738636d97d457d46a53edfb6c8d8360a511dd3eab51bdb9f4b13f9c42d3023100d79f65e2682dbc29ffb5ceb69ab00e6a3be7a48be3b703bdf1f4cca2f1fe611709b88590a92dec2f5c862abaab5561130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302582aafe1ed1dc8721134eb49b468e2d2b84b738636d97d457d46a53edfb6c8d8360a511dd3eab51bdb9f4b13f9c42d3023100d79f65e2682dbc29ffb5ceb69ab00e6a3be7a48be3b703bdf1f4cca2f1fe611709b88590a92dec2f5c862abaab5561130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302582aafe1ed1dc8721134eb49b468e2d2b84b738636d97d457d46a53edfb6c8d8360a511dd3eab51bdb9f4b13f9c42d3023100d79f65e2682dbc29ffb5ceb69ab00e6a3be7a48be3b703bdf1f4cca2f1fe611709b88590a92dec2f5c862abaab5561130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230054b050bca07b0e9e87487c240de5662e3e75d96fa6cc5dafff17e7b5d7151f47918c1d34605c10d8fd1908b5bfc5a5102306aa43eeecc0ba556ec497bf06ffd9737d1ae606a3d078c1013a7b1e6eb03d7a2a6368d2409337054201bbcf51458a9540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023055d08c663c5ea281d8d88793aec85e1e8b412d29c71b8efa3b1b244d339844ec5c6f2f76cebc61e98a593357f34c09b6023100e05dd9a424c167b483aa6f0aedb866fd0c3492b3591c5e487ffedd60ab3416ea81e9ce4dfb0279f0a694c1fb51e575c40302047c435bb5006630640230243ded3c4ec31f181aeda6fce47e486a2b46e6223e3af0155e50224d9120dc2dd9a81e2048eca71527366e1fb20ea2cb02306f280f8714c73b4276a5dff7288d7593e96646622ffcaf0a7833f988446ace4580ae3a47975ec53901b44c70cea105050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304f55ecfdc4b8f16c14f7b6507da377853dcba027d7c27cadc9d465a334770e1f475bdc132b94880cf1178a6bafe3256c02300f74853fcc0104c20027a4acd6c3b662d60bca7596f825ba95e622d3878bb8af9ac1e6627213d5ab2a1652f81e09f4b00302047c435bb500663064023043f170ebd130a7fac7664b2fd9313d360e6fd3dae45dc966662a51653f3c22eab7145780e194f0866f802fe690d611fc0230377afd1cf51b8bf189a4a56c6301212a5c2c6db87c82d7b6868ebc7e5d927d99dc12282fd7efac6d1ccbf9942fb5c2b00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e8ac27603338c60caeb2313e9d5815ec169f1849015a6075e59d0c071c1d8faf7c87e5cbb4abcc0160b8b9d8cd4cbb3b023100c85a7d8f8f9676fa6af0f22478ed61e549a0a020b2f6a74900772d3d061ab63b4e68eaad64a197d584c48d08e164a96b0302047c435bb50067306502303d3493a64285a7c17374d495071db5dd8fe333ce0ac34ca1b4fb60c1d98bff0068a97e0a9ad4e5fc8fb79121a50f2e57023100d95a56d95aa4c3a3cdeff843f0fd9d4af65ff8ba52b95431081254c2a2088f5c9172239cd47e9d9b1b6e59a4e66f007a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023034ba5d4a4f2ecfd12f2f139ee4e3774ac49cb8b8a4493d37def3984d8941702aefeeec34066e3f75d8b05c11fc6f29220230399cbedce223dbfffacf75c99bdb6d435df8955bfc518504470b28e1ac3bb091b725b519cdda506ba4a0baeaace054670302047c435bb500673065023013c6067135961ca2a7531ccad8aef2e32323540e35e22441e7c2e8b9cc1cf9bf5c1cc8ff9c147f7f4840e29692acce52023100c2a085da6a6920061b49418f1e9d4cf163bbf06a1b602573c5bd8e8db3ff85540b258cf924d92875a807709d22b4a2da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c802030269d573409393a97bd47f07da9f7606e2aab26c5397079f3d005925d84a6e6d6fd2e06d607526f69d18f07ae802300d7bd8ec9239a558569438411e0bfdefd9a67b7fa7c8da7262e54ca7e791f270d755c98bd30f78b512f4f1ce84bc6c360302047c435bb500673065023039580e752ede332c1fe80840e7c3c4f3607f332b33b90f2c7358603b880cc426c4748b4150ea68e64630a9b3bd260349023100c18dd47ab8c7add64c2f3bccd484a43581a983789e7b3bd8ee69c3221bc1daf639a701fd5f4289e0497f821ef25f83200302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100da7368d20308d989b898f7643f25e202a911cc3a52f7401f61534b1a343b704560ed8b1bf9d7f7f82d97a2551ad3e89402310090fbc1771a52f4d5f2cbcb3812d3c5bc37c5dbf19e4d65693d15843b262061c6bbb3fe996f759a8e6fd597790441b03d0302047c435bb500673065023100d5a625c6d5495f5f9059396c69cd7bcd6f5f3344332bbc68e0d7521bbfb52542950ae320c320ff97546e1367ac81152202300451aa65246c800856a17d82f37e860a722ebb29cd447f80b18f5ff3541d4f537b0f75af41442c6e9f4d0f279676c3e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100af3ade127081e878bd86ca1577641b4367c6871e9fa5ee256849a2a9574659c7f66bbe7832b0b2d42c8779408f98e7b3023100bad24bdc752f81b5a30890f2d97c233f1d82504f93055fc7c3db336e9ffa2527c09592c2d0ef319d72066ebf1b1f94120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304afabbcf9e30efa979c5e0cdc4248c333bd7031593a67ebaa811c82ea5b343f9b1c8d43b1b1edf244a4eb898c37a452c023100aab8abf13b19720e2208717bceadad90ada8fad38e31c47b971247b0ab0708f98f887ef71242015ced3ba46795ba3d890302047c435bb50066306402307866a4c0bae4a731fb5d93890b5356d135a0cfed76cfdaa3369802953a481b3057adef04161dbe99e2088b79a297c9e902304a618987e636e5bfb3b75ff39debe21d4434de0b5948af0373056b60dfd613ad47629b94df2d9ae9c08cb45aedc66e290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301a346985c1b313b3bb2d694987d9614a04ecc912fa719a76ed5fad78d9623b22fa0b32811370fbe121c8a68c22e0cfbd023100dd7c98884bbc34d69b13d3204545c987b20842527cc3e3517410196e924eaf790a240d3fc29d78feee2dffe0983ed03c0302047c435bb5006630640230246848a3f2e33f2bd81e2fc9f4bfb325fd88bc7b57078e6feebf8b08c06c6d9614c725aa87dfb33dbc6d07bca4c8811b02300f745ed140a9a8fb91445f1187e479a2d5a12663ec621036cb9dfde2c3a53042261939d7ab4893bcac85cae30e3e612a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eb35a77ca3177275e8f4d2c3264b19dd789acebf272f25a27aa4cdc66f0696a1b3e62eefe5587f994364bd33d63c71f90230484b9fefe184a35c0f216b1004e4ee2fa60b7fb40976db6c6addf181793536866dee519f8391cedd8c73d57fe86edd940302047c435bb500673065023100a11e9f318886f5b2792b990240065da607e3185d04a00c7a189eaf07a255fbb81570846eaf0fb856d4cc57f23224399902306549b78d80e15877044f1eee73215d0ac864c9e1386ec69a8a09eb96f8e775d846af08bec0f9124fbe54e563396712740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ad50ebf37119e8ba6ca9c03fc0914cdfb76ca43d0ea535f86c13c85ed710df2101fa69142af0d4b0c3a6d5b422e039ba0230029ce7206a0ebf6ee52b7070c588849d600c3050179261b6a477ee580adabd7a5ac0fd7a0b3d63b33ac5b4cc3a2018760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023076c5ecd50064c9f45ab575a670298ab18370c88ce8792ee15ecf47e95e5c8fa33541fe5c781433204ae939ec3372a5010231009088ce63644fd98882f3c616a788c6b867caf894db7fcb095d3cbc575154edcef74d966a17e3d3415b525ede0e48df200302047c435bb500673065023100b60b886eb57c722fbe887d702797fee317b2df16e5bd2285ebd7214f4dd3cbcd57dd5e01ba97e76e624b766f9206896c023001750919864a21ecc937de4366773b486883827002236942a9fa5ecec9e770f6b080ad48cd027046221ec5ca12aa95970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100832d551ceebfabc35320ead6410a022aa489a303aa98fdb1876b848e8e1791fb42d0651cb2d27be60b38361cfb8419ac023030954a188545497e9d274a0d5f8526755ca6aaa67d4c36706f73421436fbda48fdbd7cb37abf7e3297978e4c12862b570302047c435bb500663064023066318ea205f102324f1a750a9ac586bc0b1ecbf87bc4cce468ee827a03f423b3e88c78437c7925586197ff01e4f6e81e023017f311836ca40bada2b9c97ec050a20e68c377c8cea89dc225c215d0e08e8da56f23d91bad8a0bb112316c8a01f26b770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d3715296c6970c0c439280615f29fc2f127b619088170c4395d7b0f122109b5b454f32cf41aacf2f9e26f17c413e0e1c023100a9d10a5e9c4ebc14954c4a8594391d07e005e960f4e287673c226850e2fa5fb54dfdc8f1aa1bc52096dffb60311dd2120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c159bba4a4b3cbd7401ed1a7ec05f678ae34606ffb0f1655b89592d5681361f06e91ca7cbec514d903acde48efc17adb023100e384f7d1d1643bf1e5fc4de2e30fd8679a7e320e85cadabde52961812f52f033b1772e200cfb1712e8a96488271e07b10302047c435bb500683066023100e9cd99705e8286471867c7fcc52254c9e82c8f33eac35f1436bc7579747d63fd10dc247a729010f794a293e1701ba51c023100d5f677797ece61990fe203d8e48bc390a18b824744fda77ca3ab0655d17adaf589d9fcc60f2f2a7cc8942c75bfebe1df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009eb85470f2030432e9348057037faabe5f4292d88036871e8fe7775be47adfa7cf1808a3ef8ce1e43c79196c6dc4582702302600ad13ab469653310a89792053d3d5a2dcde37802f960d35dde5f62b4497672cfd0a8081b4e11b3a6deaa892c8722f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e52bbb618a8f3f126de7f83b8128ff357c5b71fd1ed3cbbe05f7d8cfc82c425f5610a5679eccf1a2c73ea1bf8c1ec6be023100cf778e1d8c49e16e8899c1559f30f97688b9a944904b4101a324628742ee30b07b683f54baae7b77be19721e1815dcd40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e52bbb618a8f3f126de7f83b8128ff357c5b71fd1ed3cbbe05f7d8cfc82c425f5610a5679eccf1a2c73ea1bf8c1ec6be023100cf778e1d8c49e16e8899c1559f30f97688b9a944904b4101a324628742ee30b07b683f54baae7b77be19721e1815dcd40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e52bbb618a8f3f126de7f83b8128ff357c5b71fd1ed3cbbe05f7d8cfc82c425f5610a5679eccf1a2c73ea1bf8c1ec6be023100cf778e1d8c49e16e8899c1559f30f97688b9a944904b4101a324628742ee30b07b683f54baae7b77be19721e1815dcd40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e52bbb618a8f3f126de7f83b8128ff357c5b71fd1ed3cbbe05f7d8cfc82c425f5610a5679eccf1a2c73ea1bf8c1ec6be023100cf778e1d8c49e16e8899c1559f30f97688b9a944904b4101a324628742ee30b07b683f54baae7b77be19721e1815dcd40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e52bbb618a8f3f126de7f83b8128ff357c5b71fd1ed3cbbe05f7d8cfc82c425f5610a5679eccf1a2c73ea1bf8c1ec6be023100cf778e1d8c49e16e8899c1559f30f97688b9a944904b4101a324628742ee30b07b683f54baae7b77be19721e1815dcd40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e125eaeaa8a3492e77ae22c4a90e9a65f2c16a70229fe48a042a42fabdb3fa5868160f9b0c1aeb8649cf2f0710274337023044ea80fe3ccd4470c28f8a7737b2ff5d40b6d4f457d98f3fc173c1cf4e9486e5c52a336460e9fb1b498053e55d35d6140302047c435bb50066306402305721ba4f1e8193856f990f97af09988c63bfea4f713ad3193e26cb7b1493fce81136b024ad207b578c9627c4998e027a023020b71d5272487d02f15c710d6a12b3d102b28bc56fe5de8481be0519a6d6d5e32bb53b044e7024ae5b62962467fce9530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f7559dee3b1e8db3d0b7386cb946d53b24f71fd692e7f3bb20a569f3670649a1b1ab48441ad3468e4a1cfab16ea8a1ef02305b5331c27ca013a6e5019f26d47dfe2cdf5b11103396dc6207ee32f2a8d52105ba6e48648336394b67918dd457890a210302047c435bb50067306502300b4b928c4c6846eafefe8ddba4e656e6e002fef0c1e4e8d6409dbf39219a801ac687fbc3246c0601e9f76b0a903609a4023100b3331b510a3666ad7f4e94ab97c4f62ad330192305feb30c8b4fea13409f557ab3fd30b7087b8959911df1535ad263850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023074ef2fe9b77dc54703df98311d0bf9c2f1cc5ba663ac5ab3dfcce662c56fb8b7a690b6e898743829d1fa19dc523f99640230270e42c4a0d3d292afdd040f39992359f2499ed74ebabfd94c89750a2c6ba7e2c519b9a9af30d35bef78932c2fa393960302047c435bb500673065023100ecca4a3782b664514801aa529df87756e16fd0e65d1d2a829ee6e184a91fc187946490ddf16d25a94f66570f69a059be02304360a3cdafe9c2f3eb0819e19481be87e383033102251add34773d9d19d42efaf13b14bd591d205b64ffaf25570d541e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bf3a8948fbbf0ae1eb3e9beca3563ca41ab016e880211030decd8dbb03f409e5a029d4deea8218a09833935717ae4e5002300f816cf6e10294fe2168525503fd6c6d8b16c7a7691238060f1669dc250fa42681fdb84fa246869404bb557cb6aa161a0302047c435bb50066306402303857e9721d2756549702e11cd62e993b905fbc5e8c1dd7f5d39848e65da07447e072d3b6494376be3b26881b391e3d16023070b3402f929c92bdc8e4d9652a4c03ee40398e9cb9bf3afc41a2b4b7a4c8e99dbbf434719246542257eb8220e66c214c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305122b9128d149f05d4ebd7cf315f6becf485ed53b027c7038c3568011265d82e4e0bb411c9cb37bccf395cf5563a0cae023100af561b9e23bb3d34ca8bdcdbe5a23e8eaf33e679b2679ef608e4beb0627e52a78d104d1a74638f2ee7bf7afa1caafba80302047c435bb500673065023054bb859c215cbe5ae30109e0a240abf6d4d476a8dccc338c68b35fc8d1d699d2c6b188c3e2006f2c3d13a6472d04c74f023100e5f4731276224db8b5f241037b6f215de709c95441d4156e6ffa9498a4edef1ec7ed938cf817539d0d01e72246f6b8ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304a8a57288aaa93e261ea1035c9db28c950c963a7a905ab86bf133d5aacc02160af1610e2e7d777016e116ee5e206277c023062b938eef3a7db1dcbc266bc7f85af9c2865c08ff030c44ff7f9672a687faa1158eaed3a2dd55f8f14bd06c75f0d94d50302047c435bb50066306402305777d7c6011c8b4fc7995aa6be8679a40534550edf20cddba311c37f10ea437396c81afb17449506992fe89b52ffd204023044a6558c4dfb54e9da496ff5864017311c5ed94c12a81a12972cfb60df6ea7b65da362c34fdd751f5221cd4c483ef14e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023074f934c474292d1a89dcdaceaa25074e6bbfe5f307976a3fc6e74efcd822ccc988a8e95d6e4a05d58db831cf13d9c8ea023100ddb5871883a7c8d8854cef540b70839f6cf224b18c4db09eabb4d160e82b207f24eb0bb4152701600c90022d927344760302047c435bb500683066023100912f5dee8a41bbed558a9b0af647b2b3340f8a2dba519a9a36004fbff25287b7994f193ac019d1cb943c689a333562b1023100e74578f67b20364ff9ff9bb3cac8d0c48d40c491c8a44e0f9cf88b81fb715bd371c1d3ca14467c2a8ff7d61a16e064470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307fe07c786c0fb2052ba763d928badf3d84df5798de3fbf8cd24e5a33968a194da6da71c96939c140e348830df6c3e4dd0230543746d006ea7232d3c3d5dfb659c371ec13cd749250e24ababc231c6712bde30f33f23bbb601398bd589ff1a84ed05c0302047c435bb50066306402306edf11930a276dbcaafa1db79f4e05f5c1f2387c5e79f96e34933bb34cfcbce35183912e69f779dc7c72152da5092a7d02304247bee5ae0681131ceb14b4e4b3b3ff109b0c2358b03537b9dff1d6e8a7676641b2409b966b83053c92ffb0a43b429b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d9ba0e2760416865729f281443b1b30961c1ec9d7e2514b55cbc5001965193b49a418027e4e18abba14b2dca6c807836023100f2b054d420ab9a41066855f002eed7f1be0998b4e8a6d4ad994eab2d752acdf46e7698b2ffd2a3dcf6cf2b53e8b6fe130302047c435bb50066306402302b85dfc14fb190eadcf7982655ab92517e2c4b6bfeb588c31b1d314b26b2d20915a312463530f39151cf67411f3cdf0e02307ee57fbef5e52ea59834e4f29b87ff9c70006f97cb7bd841e25c979d4be7ddb87016c268a1235781c7797dee932a0f0a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dc08f7855974df4e32c23754505205780cc369e4813818a4a4d1eb0171b4e5a791ae588ead819b09145894de15fe192902310096f88e318bccd0b6b60dad0817ecbe6fcc371dca4d7591a0c9d8348d51a8d14cde4f235906a22d2015338e2a9d1a7c350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304888e435870b388adef00f2ccd84de7a82a3bfa803b7c99245a7c2bccd9545dd2d72ea0f67b03c9befb43b8777b86d72023100819d608b74922f9eaa3b03c41c5be0d7faa3d313a837b86aa189df4e605409cff637d338c5af50be864f9116d0cbe5750302047c435bb50066306402303414a2a528c3718809832ebb8437dbee39e00c7a13ca7a84e1d394f22a9cc8757dc8b04f3043d8699313a3cab4dd2fb8023059324a41755e914d2921fe059c1fab78e028af9a874764787cc5edf68626aad0083b24052ca72c2f96e9db962211125f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300e5efb474fde5617a252998a52263d3600c9daf7bea65ad6a1a0c7aa1fe1e362a0102b8d734fed92a6b43ca4fbe73dbb023023acf4ba8d983d0dcc4186f64343b4b2c86ff28732f2037cbbcfe946c3858b4c52b8f308b1703b7db0b4469e805877300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023055420c69db8504a870843e1dc6218dfe860dd8502b19702e5841640adcb95f8231b51405e12339a82bdd7f50d110d384023050e64cac2de506d89ccb1a58506935b833b37c205a6154fa874af7d5bcc105ce883fced81b17ff99b50f197fa34cfced0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301059cbb09e592f06a4a8c80e1839e35b97d169bbc6d3d48824766f6e094e6e2c7dc030e0e38ed787b7ea69391914af890230161f7610d869ab707578082727560106a0bf05841dba38f3515e280e53df474bd823865cb87bb4cc300bd1bf0bf554bb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023025435305541164ddc7ba520cf87c3750ffe7c27e6b482ce15db26a864c19e3cc9ed1de8e7c5c0b1f2ee71f36f606d5be023004b5c32b4022652e36dd6ab7ead476dff445d061a34039f1be5e67c7cc48ce3590fe3feb228ed75f79dae2615e870d010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023013e37402fda522df84e6f6fe10c4679c1014f9bbb3e64fb99117842cd4d479aab94fb644ed22c53d56463f788cddffe4023100886a2b2417cfa711bcc9c67c53309dc4097faac741bab71f83737821e6b3c5e9050097a76054815f5a3e8aa30d96a8410302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305bda8d07d04151ac3575c39e661594760d45bb4c7348e29a677c6f76d6d2e65704542cd841b9c5bfa5d88022eb4a2ad7023100fa50156439b33f4bdd252349d0537fc55a92bb0bef0b3cb48dd46e5ca448151957497dd44eaeee543989701c896976eb0302047c435bb500673065023100a5e38120a8e37a7e8216df40d3a6478cce1f8e4178f39a2bb961e7bc708259585549317019a0cb6479e1fa8b6a9ecb70023068d806c7aefbc0c8cefdfbe8ca8587c95ca4fe40e7a8c292323cff14c855e7f36e529069031b43bfbc0cf1e6e231067a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1c01920b3e839b72f8456bc470fecadf3684bb396c44a401f3bc6708fe1b2fcfb1804f3cab7125a13c763e5d1617f8f023100e2994b24285f8fbd82d55c7f1edb7c63a81b1e48cb1556c2ceae26c916d0864928be5ce64d006e32182279e3cde8d6a60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023019137f32189a5ad0e1997ee57536a9966b2793e98268f8aaed14b26e9bb944e3d7cf9fe221938e4b11f63f69d23f5d6802300a0d57a83602f2253721fd4e2f3353780f0883fb309a2343b76a06954f0bb8c96e8c14bfdff012012d8ecb94a22af29b0302047c435bb50066306402302f498a735838cd5415001000d426b84e699e709437fffe377a439218f62018dfd232bf5674648fc4d70610d9e1dc31c602307642f7f94bd172827239a8dc5ef474b5edfc21d9f59573e6fbc0f9ea875135317aa4616ec54ca9e4cd62f4513bdc03e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100916ccbde8b91bddb9d38d955c06e6c4f33815c4588bed1888cf5a5d41c5adefedc6131d610b62a2e9db0d8e521941819023051046a6b9daa39f2785cf0981a7af5d81230ec24453ea12542b4287346779b5227e960bc0ca939934ea39b576cdf7aae0302047c435bb50067306502304431944a5ce7221fecea0c41f56da0ef5b45623842121576b9c8ed1c03124c7112d4ccc91cbd7d80c69379420332babb023100c6082cd7c120ab054fe690c1238408ff965962f2fecc5b61f5aa70f798660809cc9d980db025b92e4a351b21449cde280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dad33e9e095073df5674dbc9ee496d8e7fa4a2aaa4c665a4d5b75385051870d30e7b97d97d00285fb5c4b70989043c12023100ce2f2feb9d9018fa5412c34c99373c785df041d3b98b640bf39db39fbb3e2382479a659a1ab8df1d27bea5f5424844420302047c435bb500683066023100fe21578dd2995a4784da79636993a557c24e250902d2ca5683dbd4cec3eeb39897beccf888ebc74eeff8215363444eef023100f9de8b680e8d0ba453977823aa50697d4bf81e6ef801539835f4a1577656bd32e87f9e4cf22c6e8e1910289d3291f8da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009a3c1a51605ce721d5cad458205e925df6b01fe3864459616e8985d81eb14454e3fc2b8427cf8f9d294df83031510e61023100e9cc43e20e1d095e66d72670642205c21fbd3bcd21c86378d50a83415b55d04fe74337358df86e5ecb635868742a2c810302047c435bb500683066023100ddbb5ff2a78695ff1d01abdc3eb594564c75697750e0b2cac0d16cbfe9f9b070bddb674a5e1e5520ef07e37ade26050c023100f8e2c5888e93d7f2928518757aabda0567ce6b862b93a4bb0c374b78901210d8e929af3458d6e106d7eee40ac2dc537a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304d088aadd3952dd95c1d5e306e3ff3d6b9707cfa9fd2f3ef2b8f12217dc81225100e2eca11d450c6104e268be7c753d5023100c2104dcf794e107948ec1d2e31e038b86925ca2fe89f88baece5ce2678ba84964394d3014cdfce558d21ea70f02b86920302047c435bb500683066023100e9a36b0a868fe10eb0964f6ff8041aae39eb119186e4fa7233fd655b08185455fabf7fddf8ab38bab561ec881b488270023100ab1b18c2fd29c132c2e98af8afb25c81d0ada2eeeed5aaa4c884474c3db437d3ee450a404a27a1b4846552fce29b1dd60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305fcb7185c888736b6c6f7db681ad1d346418e663d913aa7b1feb45b0a9692f519ccced0b64723f6a31bde43f93813b0702301d96122a7d1817c1df6dfb5e0552fc1496fcf6f3ea8ea85043343c8eb33d306b65d1cef0f7a40ec2ba61cecb3d34da020302047c435bb5006630640230749f61546a820a47b0e36b68217b4e55b993bd8c1de9727a3a6f4fb91bb2256d75dabe5102c475a208274e04401668b902304af0774da3ba12c23f28a7c809bbfe3f297ea892029a0a77e49997eb789e1162c51348e55f27d6eacbe6f4b05b4b86690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fa5b0926856e429b27663e9fa0ba26d48cd1d0ab66fbbc2e473b3a85fb1b58b0028f8287e9b5a347c1b6dd1519c697b6023100cf13974c6347a3715f03d24f4941ec2107e50e064858b8645b9f8c751a10ee1829fe3db29e0ab3d15efdb78865f9b8010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009450e1e1e9b06a02cb7034738a07db03fea9a8b338f7e16805aaeb3d2475d61920b9be42abb95a8320ea7a4a1924edd5023100caff495cc7d583c49be44c43f92b77a73b6dbf3238b164f78a42011b982350473c297292a1ed23297dba523d2ff985a60302047c435bb5006630640230620f69b01968bf2be1e067d123817fbb664dbb1f0d8f72f1b1f53508d4d7b52779fdf42e9b405f3b2b0d56a074abfc1d023023aae1148ed4039f8c6a8fae8fc16bda770a510af7a966fdc2020f6b045bd68f3b3605320d92f7a72fedc8bb796b46800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100db2ea66bb3250ce771017af4c3a5b768044c47cf5a9fee25c27d60afc625cc0f0586fe82e160fd9fc4b9ac731893762c0230143a6b996bad8b0b22d2b0cfd8c33beae60571639abc8e836cc171a713fdc0659715a5a810c4084d66d3cd8551b494b90302047c435bb500673065023100cdd12590da2e09210647701b5c75e1f9dbb68164005c25df867fac4c27c231fa535411adb707dc1c36e3a91a7bd89ed6023079ed8dfad651bb534da9a65260776c1664e0ba7ee2e3f18c0686df359e0d7183c15ec6f4eba5e93b143c93cded7d2f330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300adcbd152c3695a183a0dc30f560ac58f371a1a77c74ff23b6dd3d388015c7969154f62d012a26042d7922b2151a3a9a023037b9c3f31562af8344ba10e5271736caed175e215d2df41898df399d964bde6caa780d706407885d68395dc6efe6ef5a0302047c435bb50067306502300241ae0a0f11ff1921a3c9ce03034b4dce3372d1aa43f6977f526fa2fece1c9ba00d99316723a5770c136ec64be199fc023100b563c8051e608dca5f80618eb75a106502fd0edd1a894abbfffcb23f090ad7f3db471416e17ce5314187ce9238765dbb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230750bc2dc0ef5c8dc1aacc25c6d6a0ffc9695a2f0b645e6a6c35d388680f24cb0ff8baeae65034c78180a4a2e05146989023100b6c45681277c248bef2102395adfdc8860fe3b346ec6670896e548e4a5735e35223295bd4aaa38e6e4ff394f7cd830390302047c435bb5006630640230784447e98cd4af9f0fa05efb9d8cb1420e731af83439ca71dd6092968818f42e4ff5063fc8d2348cbb07ededbd8fbba002304e5113faa86ce303edacfa26ebbf096c25cde2e35e49422a0a55124b2cdb17e23b53e04397cb521a898bb2cd5cc45c970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b815548732d37cd9496a11cf0cbcbfdc2c0516205555cf5710a5bc5e2daccb53ebfe08399f11013c9f907612497602f6023100c06f4808ef7c48211f62eeccfd5dc5ecda7ff8471370f7701e5b6dab1ac614d8ade1b61d2d81e477d302ab9d4871400d0302047c435bb500683066023100ae02a7b110a21d5e4d26b60e1f78b9d5deba6358cecf159b25a9a588387d68a0e9be45a0ef431127930951c2bea74956023100bb9ea144ef48d3626b3e8f2142cdc79954a0710ec27d4a7d9376bf002dcb6dd37b1d58853d650cb7ec2b63e25fb5542f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305579fc57a0237a1aa62a1678050180a73c732c1fcc75f24c735027f91fe2659e289c1fc698bba2b5678a174494bfb64102304ae549179ecf8d4ba48167b2b83e96be47de62fce65a7823234cc294e06f93942e9641f9444cb6b29156801caeb2597a0302047c435bb50067306502303ca5deb536cc3ff9ba72b9d4bfcfb1bf929a4ef95d78632527421505f4ab301a427613afe43dcfd917a7d2dbf0f7d94e023100db3b11ee66388428461d987f8e138fe5563d482467bb1c478e6e96dfa724ece547d3cc6924d8ee62acb41a3abe61fd0f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bcf6d03196b5945445902587f31009c689fe732d0d63f26c3d2f9a61f471cac6e48074400ee80efa9ee0617e8c111aee02304274a4c2b56f6dc16e395b361b7ca2a944c963cfc3215c8f6638d6eb814e301c10e86f27929466da7b9924af4d1ff05a0302047c435bb50067306502307f498af46e1ff5f12fcca601207371c82b1a1ea61518b076fbc3c7acbcd1ea35bca3615d135ccaf753ec07e7bd5fc8eb023100a1ce95f8e53adf2c58fb75fcc2f8fa4b5ae31aeaca629be48c1799d2cc3c1b11bb999f92368381c2e6283518813d0a300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307666c4481a0564f80e57e6abb21a1bd64e9d0b46d95c662344f204a202264ec7241f3a0b904a97cf54845ef2ad291e2d02310084e74d6c0a67fb41945e3bcad30273d39bd57764972e762a33194cf88a820ea13afb98f4ff5dd22538b4fffa76b05e050302047c435bb5006630640230467856c628ecf133d254debc87ee8a51a10de24c645e587189e0a6b0d7f18f25fb03673c54178fa235036de5b66207f202302c2b9fd4bb70efc27cd8b24b1ed26cb2ab27edb4f924c637b79315a8bffcd4524f94b0c3c8234a57c95a2a2382316c560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f4229ac95029972f8f9cb5f84021a2519058c1f2688f4a2e3f18c8b94ba24352f7e3c4031593b5072ffbb4a90f3044d023100e8c34f634015932cb350ad3e49f25fcff39b4615b65ee3e7b8654f09e72a3e95bc0cf4f9bdf1f18f45c73b4701b8cac40302047c435bb5006830660231009e8e8bb8b227065b23813daaa47c5ce690e8c0eff5464a969f5b0e289f7beb649322713dea9795836fab5622c940f713023100c61f2cb9a6a4e0ea72ccb6785c6e9bc3ec5139e19d30397c5984918b332e7d3da5c01147f175dcb883cc70d20a5ad93c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ebc2eecc87d177ff6d615540fd30660578f68cac9b41d5d95a551c012a8cfc556445e7535180866711b7f448386899a02303856ae5efb8feaffc69321a4022234275dcd902b23356a9aa02203bac654683ff5de266d451608cce1b358d45983ae390302047c435bb500673065023100b7c5eb31ee6042f2666436e67657656048c82392c984654e346c2d9a4379d52371004575f209d32f310872753d987e1702307959d623313f8a16c79a6970695a2063c68c9f4667e7d8f01710e297dc95b2a7ef5773afee8277d34c6d4fda869c69e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303ade35ff88faa8e181480c63ad01ae6f26b0c830159ea8cf03b111307a6d4d8944eb33365368bcc530d3c8154c7945c402300abf3215ccb4ea5b09f173f688cbecba222a9d4cba7fddc8ec76404881bee279da97c73e905b4c24445cf3e52ae2a6d90302047c435bb500683066023100fca1728fb8705734831637f4f2737afbdde3714be74a31518fed5a2a274f07a2b787501bd0b728fc11d6b8615ce84e8f023100cd0a0bf278147df41ad0bdddfffe8604b065071fa0fd9007a9c2da5b2a23fea71794145ca0d0a80234b43acb4c8789d00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c799ec1cf42a134a57ad9bc966d9caa387673fb0ae0930984437522ff10be8589a9a8d9ebb3e00d789f28c73f62c3c0a023100ab7f5ae768549e5a86aff83fa56149ec3fb1b74c0454cf5e59a139471acf4f42adbdf2b27669ff3ce3ea693e862829770302047c435bb50067306502307443de504ae67cd01ba54d7a08ec9e02b154cf11a1c7d74e282122c663a0238fe13014f7169f107efa7d9b55fbc135da023100e297df6308a59a9bb6c4cfeba5958e96949d7b48d9ad1d8acfef95ca96f70d0c3406fc9b5f4b9761c4bcfadd71e744150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100841b3ca48339496f998def4013e72d74f08554a813bace47bde0c90f44b28a7816afdf90a612ad5ff48769af2a3d047a023100a5aa7eb047b120dad4c1d9323e66b2563f712510f2af1afc0eebbfe1a73e4de50d7fcd58af3a21e1a450228fdb42d6b00302047c435bb500673065023100a0c9b990d31f8edfdd3454dce13d65885153edf6223e76f44ea97bfa7263af119ae7e3a0b89629c8e71f8de99015515a023024cafcc69580c8a7d0c6652596b03de61da2733ccece0a571864341b0d9952956407588451b13ac97f240685f89d84ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d2b80038a6081e49cef541539be395785b81b9d52c7ecdbb66c760cfdbe1da46d499b4c50815dabba2558234a84d746202304de45e1c7680b34b6f8ad3f1ca5684f717e74fbfa6892f7f859410408c2faf8518b9a4fbefef1403443dfa78e63e57e90302047c435bb500663064023003e0736312c0f74ed6e4b96724bd9d4a570812a475fec695e9d0be975d701afd7922078bfc02fa543b85a501674724650230718c1ce2e92d224f1dc147559f379880b09a537e2e4d73380adb95050282dcff68c3b8884a6307f6db7ab606868085e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ddae0250c64f85a482f5d843600d9a8041246089cb217b2876a679748597564cca4acf395151c3cb4c189a52bb08719e023100e5f2afe8a8d0788bd6f51c07e3b54df4c78e01aa68d5dcb0005eb99f709a7a70bb15a3d97d655729906d8b29ce621e6d0302047c435bb500683066023100c3f23142fdbbb8584bf81250e9eb4c967aaeae976899a4a0759700f1a36174dc9c3ea91ab1677de45b426cb1036f8814023100de8606e5e76ca9844c762d8ef7b177b1bbb5e97480b7f26828fe83a94f2ac43897e4dc46e2e9cf28294c333f93284d5f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303b6d7ab339fb7995fe42728de8d13d7e2eedbb7a4d9bd4605576d31681eab3c6bdf1488f91c8a3985d9a8a7e1de4bda2023100e6601c93ea825b71cb86b02d54f1d6c242b9bc8034e0d6c76af4cdb8b1f9fb0ae2b2a4e7af81041bd3a1ee7c2b8dd1280302047c435bb500673065023058bbba517f57e8653430032b2ba080465e92649c3bf2fe2032ad27db4343453bc0bd0634ae53f6d0802f7a78b42d4c6e023100b244808e4bcdd04d7b362b8a748634ca467b4a4ff7b22809af968b522479c1c4f4c7dcd61f294f7e19631455b3314c360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303f8fa1bb14f72e63ea656c6c56881eda717cc51d5073c6bc043d5255124a7724b5520931a4b55f816e7979a1a15f504302305b641436c11dfa0823e9ac70e08278b336fc844dc079ccef1171c597a4bac63c0b002b2d4686a2addf79ac2673f80f790302047c435bb500663064023027eaf8c7ccfcaa3b6e21833a6020f9ba5330769fb2217b27ddb1e2ced99df110258b4625f064ad20f47d2ea56bd58732023076cd7f369db387bcffb19a9ec288d7f03b955ac1bb2b3b151db76e38d47e0a845e23721d6d0da481fb82246bd75536330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023013fe457e1fa22774327148ade19806c734e0dc3789539ae925736da6458fe9d3d0a6427351fd18907c896db08051748d02301bcbf5d5ffdeac02b79f9c4a43ea920edde03d7b1b64566516ca52319faebe114fa8d1e28cf88403349c3eeffe99cfcc0302047c435bb50066306402305f92bf5057a36f0989f917202b1362f2af3c6cc5d7268cb94b9cde63fba3f6ae2a5a604096db903c8b0be2f0cbce9c8702301ff208909eeb0afc6cd9bde5d5a39392f7e0c18afdb6f6b9608ff7b8413bbed9d86a3dfa3ae2a03e5b009f25a8d001890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300b3e4081240946484e865db9d00051dec17d878947ae076bbcf2a077cfd2f204f115953c98f0a9825f41a23873eb26090230440e781acb38609cbdccb093ef4ae55c1f68316c5f2e7cfe10edf035c8175e2125cb2b9a867e17879cdc05b1a8dbe8d10302047c435bb500673065023100f8d7813ae9ac662e3b6bad748992915dddcea9cff22aca2d4dfb5f5ad50b8f320a3a24590b20868e67ce10e4843ec9e2023058613b2a3c7e38ed48e87e99db6736c38db62d1fb27a7ae097e3823c88fd2c653bfedaccb9b45bedef94d6983a11fcda0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304671de74fee819e3b33e33122a434087c0f9b103421a1ce06d34b4e720a46d3ff70ce798cd71fb6b2e01588afc7133ec02301fb4fde7c5de5faf34a6fa3e46a566310466fe68da65e79efe0177c2ac182106cf430dd528a60af4f0f2f0a0636450690302047c435bb500673065023100b2eb3b0a8745adab2f4576dca2acd5d9241ddf6d93a7fea47f7b8dc900ef24b3ac094c23e63a4a480cf4698176ef2cf9023039b9e50a5719dcf5c2a12df067a43baf73c45a7b3617d0682d789fcff3d6fb365635894a118055af8cbfaf2f46d9ab630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023024991140aaaf68ab52cd6427d239dc03f62e2ad29a232a52575d9b8cab73a7d4e3019a08b80562c90437007764949886023100faf6c5f75ad906553187c24ee6af2a6c0edee0efdd5442ec06399833301175e55ceeb61efd3108dd21541f12054977660302047c435bb50066306402303aee19d88ac19bb814196cdbf3f6a77c4c501b7825b844db88fedb62bf1c74f0771bd6144833ec89300bf609d69da103023025c4d0a778d9a477267bf547768343a30eb68e0a0c8f3333e11c4bdd76608be5ac86f5cfde6355467b04e4fab7f961900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023074527ae9ed57d8187bce90b6379ba38efb8a0e75aeaab5823b65a51e507bebc7533761495cf87882c7a78bd26901abc8023100aa44583e25745325fcab82ff2e7754ccdb449b25df2d1bb33ae3963efbc49b52f1e1304a160db3fbe87ec718ce0448330302047c435bb50066306402302a932933d1e2b2a7d688f8ab4f86bfaf6e3a0f2e6765100c913c7bcce9dc28286e08b1db7d44d5e0afcde0513aafdddb02300306580ea0f17a89317f98be9702f4899a1d927b14320b6d13977cbefe5a13c1a2a3084fe3749b90c472f7c0ad026f680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307e54bf8a0e23a2799b305f4c74c4262a5618b0f2b8fcb288cf00f066189cd72d7d99882a8d8dea4eda473580b2cf7188023046ce16a3971ae1d3f04e5c4ec9b04683a7b21d9a33053ce4321bd27ba76990518b41bdd8d210df58df4c7679142c08530302047c435bb5006830660231008f123a57e62999ba9bdbb5e69d2262942b7afb8ff4b41f4270aeae6ce97dac9a3c78f74723ab05d7bd2682080d8d3517023100f706f24a56c2b99e7105f32121864ce27b4959dcee741c8a2cf43e746a2a9631ba3b1086751c24dc8b2407fd1e8046b00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301c0d77446a932e2c9b8b70563b9775a9d9c6fe7a45aa080b95da099a67edf391bf95345aa7711636d0218a3d2b7d3c8c023100c035b902177236ce10ac05d249184657ea9875511866d7d0f0ad95be08f7313d12009fbc9aef9420b16b76f7e02ee27b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302bb500e8873bd930df5e82dcbce49150ff74d7e506251b95bea52dcee47a98695dc92742544b67f55f658553969ab2d502301b7fdf14504c58fd731203460b48b3dc0692b05ca648c6668fc89bcd2896001ce97a3c78efd58943d9d71e4f9e05a5100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c98468800064bc3b82067327e0979cd9287c7b6d6e685d3cafb88667f583892ba71c70444ea581866536d60424fe4685023013e811db4673fcecb733e981abb4649102445e30dde1ac6d2dcdac92b0391fa7ce6f86a9b2b9dd43b11bbffc960a3b230302047c435bb50067306502300e2264f3c8e6848e0d3dad8bcc5c03cda0b8ebd78306a503114f81bef86fe94575945f9142e53484d9d491977da4b2e0023100a81a1e24649dcac4c50cacb67258d2384105e11ff286cc516a492bafd1be8ce554fff7d900de46360ff7c0480765169e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eb539f38b5cb039308142671f9810a239f4df53542ac15e58f2733f59f6c9204e0e44ad14dd7653adb891d99b382a97d02306fd4d6e28ab28fd4e0481cbe63c3fece1bf89fb6dbd83d3ba5a6d54669092c580dac15d471d511b26a34350bdbf1a4d20302047c435bb5006730650230663af88833b65a3cfab78ce67d689bf0ca00759bb80e3be1a3c7f284a43614492c3195ed1d811673a6295e94c8c1459a0231008958ea6308c9d9481b1811570eb2294e5a8b2529bc2f60e95320e1cb8d0567c4e7d678e772659fafc326e54f81df3e0e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eda8c87f5d3a463cb668b3947485480238d0fd6aa8d4fee3196b5dd55300d4f9b2ab14b8d45b31fd61cc3dacc6f6ec460230440c8dd3fefd629ab97a39884c3e2fbbebc39336d97e179cdf9778b9ad3668e291beee24bf14095534e1c7be1395193e0302047c435bb50067306502310098a45e58ff55cdb1a55a11fd6a3c92af2cdf7938f4d9585d351fd16893f66d3befcc47b36e50a847d96d1b82f8ba9b8b02306502d99f06bd08a8d39fdbd89b7940848abb119a54a0df4131e137e29607dbf0aafd3c9ca1c2f9e36ae0bb7e260466c80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e8f34850b1ffc0c2f81cc1e694f3b38707d164234d847dd5674dd4a2f5af86cdf572fd1e1c4b3365909f0b73045adfb9023074dc256f0f4612fe1cec95745dd1f1a855b23ddbfbac5d9e90dda8db3f388c3a2f159202d29b92eab8076e239ab99bcd0302047c435bb500673065023100f499630889ec67958660bac96dfd483adb31f5775ead8b760b0fdcf92a41706ffd3b0500efa745924729e1bd717984ec023027f629a302fda55d23a3f53ee5e4cf948dd5d21dcb6bbef5d1d6c38e1f04dacb973887649cd41ebd049247d989b8f1aa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bf4df1c17a8243063199e8593a4d575ab56fb58fa381ef5b62baa004ce3e02649aba19abf51f4ded83c10f68b86ac70f023100a82d9e29c9a7c51d4cc09365adcdc3ec2dc9fdf117544d5b1c79e5e48f444dc887639e543b3bf4ef901d7b5e41c6b64b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310083937a18a401404b59c85672c65fc3c8b4fc3ee7e8d1b543ac8433ab56e488294a18779b88d43b08b327fb81dc21d9dd023068bec9f341de88d42d2bb8b226ff212159e688e13f34d1a450cd823e6b8089866bb97c73bc8beb414aac1c1a81cd79ea0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023068f9bb5cefc7b39c986239f0ee9c98030b0f0373fbf056ed65750617761c474bd64cfad456855d28f08a86f9d6475ef60231008e4bd6efe84360be5240392207dc0ecc831a8a4bebef81f7729dcfef944cb8fd8a8b6d01dd517cccd06b5ded3440558c0302047c435bb50068306602310085f963f4bbf6a0f2a094d53ca88bad28fe2485f4183f76f6831ad151c949cd4acd45eb3d4cbfc83c93a5b2d0e925a318023100d2afc54df6528d249263bade1c1e13cf288124bf77f9e3d42d0160bb9a3bd1f30ffcb80b0b725c2d45fd83c7bed3de310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300b0e0d58ad42ce4fc1dd4788740b6b41df8152f64b17e2b103e1440d829b9ed808bdbff26972f860a6dab7b256dee61302301690bfded35b6ed99f7a5fdac5ac5d7fcfd946a4eec40cadaa24408e439d7624f581ebf96e7603c4dec7a866cbb252740302047c435bb500673065023100ae4c08d7cba6cb4c04e7adec13afbf8753578a88e86abce7168be7d26c39972798b07baa69d902deb2e88131d08cf2d8023034893a87fff4b451aa18f6bd42f1e3a9c2ea64136d33e46592d8e9facd9f7a8806838164d9a1bd93c41f6060408746c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ee266522d804c5eaba6ab57a62ff8bf1ffed9ed43110d36e9924ccd99473e6da097cdd7abc38a5d789817ef46348e59e023057e46a4a65e6f41b1560e8568f73cf0724a2e4584bdbb8a900ba94b9ab28361cbcfdf7ff272939537dd74245d5f134d70302047c435bb50066306402307011cc01439c943f465b77ace0c1c543ff2fdb0a2850256619146b86b24ea84581e4de6d483e0c81a90bbe965e4931a80230256caa1712ea448807b80b96962a8ae69f8a15e5377705fa25535a5b89a483efc0d91084331c901db292fb3ab45d75750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307d6069e84fb1058fdd7676abc0ab9a85a0bc1e141584c7a28dd37709646c14df3651882274d70e110b084107949d054d02303303129e54aabfdeaa28b3286cb2a4313ca774579b60cfa394906ba17ed43dd0fb0b484748becae9bdf1ce1a5fbd255c0302047c435bb500673065023100ec591904615c17353da39ff17808bfe71dfadc006c27b726bcfbb2f9acf2ef2e580ef216628f66d7435a5ee4f59d651c0230221985b403d40a617d6230b042655f46bbf0b50161ca84e43c98dd04bda72eb901364631783c8ee1940048cbee1b15ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023023ab03ec787a4005c9bd5e1407924883cc730e76881ea7e2bb851ab1b0fab048bf1054a37527f3074b335909b1aff2e30230663355972966342696c4745d9b75af0b57eb26ed2701b551c0ae603353b84eccb78c6528cdc3041db5f8549bf4e1e2a50302047c435bb500683066023100d5dd55b0f559c508b5cbf25f21cb698c7ae3d25651daf2fe99408bf9bca8c36347bea2e449846ddd046bedb4ae422b6b023100b4fb8d671ac75e5d8f7005fd74e49bdc0ab72da141fda7ad8f725a39a4df030998dbb587a99da1ecd0267ebc2ad5f2700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230675b2e61e1130646784eb2ffae41f3bfd13858d765cd54f66c765f68f88d6eb91f7cd95a88de0049506d157b1dffaf39023100fd99da3cffe0cbaf6e97dfad93d8ff11575ea6a030d614dcdb362e28040653d6690636e6efa00861883b8806207b184c0302047c435bb500673065023100947a58f840c91966a902e9e341095e59a7f2d1b576d8dad8c9154146a32d28032aa32d7b609bd880551e78e373b2ebe7023040c26f06ca07a750f741f4af3ab97b40df1c209e1b436b7fcbf7c12da119855a723974b661c8d298ae47bc58607548830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023020e690fa8e5d0c36f45cc9c120189c7ab0b03f08fda704c75b3feb2af2ba6fdae5af9a32e49eb067a9bedd9f0bda37a4023100b49d7ee21990531b25bfb89003dd8698d9d8bbc2acd277b9b2ff18a9439bbc8b33eb153210141d3f5c20d2e05929784b0302047c435bb50066306402307f729d761b78f10f79f840c0ae491d6aa939951a388be3be04ed43ef94b6244cc554db0b21d569e141ba559504cf7b00023078d514dab53acf6f2601657692373f9170f3931620bae759dc215eedff0563126d7b8a6659317bc0ce203859412c23a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f7128f4e563aed06b836876b415aa73ea1c2411dcf58d0f2d8b7addca1337ee6bcb9a9db36d1790850d376450bd82ae023100991a02a55a493d932287b97d0a2d379501c7d53aa410c413f8b585a821290da862a9febc13caf99555a663a9d506c0740302047c435bb500683066023100d09934396e6a4ee0f8f53ab609db7203b69c73cdc1844b81b0e882f83364a31e0fc6c2af2739b2200ddd3596522016ea02310090757d0258eeb870ce5769ed72c1eb92ca8ba8c0272aaee3458d92dc1a0646e73672060ce9a3cb92dcd61baf9a2182d50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c978c24e932662208c975106bb812833cd6d70dae34c3e5d0f57df6e4e7db9d7e1b0acb62a749708fc9aad1ece2be65e023100f051717721d3a2bf042369d642e27cb79fa1529d2fe26a3043f03abd46313913c5133dc87f467f8e33fc2f42848afe820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023011cb5ec60cc2af16930b9a93e79fcbcb66bbb5ac8db9095a1610d5b2877074b0773099f7ae03e8ba9f9f5d07475b9be802301449f69f47302fc8d1502c4808fdbcf81d0518612a48f9554b1a74ca83f6fac574c68d88f877c23d8785a1dd16e80a930302047c435bb50066306402302efe2d9e416abde0aa6d29b0a592ae8e9f3d6ca4f5a62906b8066ac4cc307bbb2575bfd984f483323be1cc3fc132b87302305f5d6223108e3a36cc4b78fdd08c491533e32c1966d1e22a12544b63c4ff26ce35dbec8814b3b9b1a09c560d09f730100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c132ba9cbd87eb5f8eaa155fe2f83d6999dba56063921630840d580845676542057bafbbdd6d3b7b51ce35e56ab0bb6b023100e9050ea7b618c014a4335bfb5911648d72965c3505806aaa5b0316a572e3039cf384581bbbdaa5a06050fef1edb7fc720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023036f391ef7edac3e6eeae09c26d56622452b4036736bbb3138704b5279086164ed9ef3d25fa8f18745c6b0b351261307802305e339c34b23e5e7647c678f0dfa2da6cc967571682589049ef8ae8737c085a8488cb13e3acafe924a501a308dcfe6a770302047c435bb50066306402306f24ece79ae87531c633c777ae815d3f26f63d548734ef1bf9b9a3adabc4313f6079edbc836ee218fdc8906d74f9711e02306e68a07c801330e8519beb55bd6f1baa706f0d940a80b351903a6f72bed0073068ff142235ebfc7aecfb34d6c50caac10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230305267a9a9a41f4a302e885f965a261926d1fbcd2457a335ad0ed4c7c31f67e90ed37a840cf9f5ae7a9b5c54f7119384023100d98ff354498f803c117930636f4bf5fb05c57879e22e8af9b04c4a80b183026cb9926fe57e6b8f9d51d92df7855cae2c0302047c435bb500673065023100d9566fc492320aced1f5015f29c8e597610a4b1e79eb703e6f43daa54c6cfa2c5d55dd229f9202d9d317c68efcccd4290230633dfc34721c423233caca611b8894d8fd246ba7af30dc0ff51939d6f80865471878337b086b838cf9eadb169a0696280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023003e89d1762a032b43a5e59424d27ecfc6e3de501803c6dc1473a5ad5f8fd879a404c249973a5e7f002b34d2af6a9c14b02307082135aabcb3120bf98a3c2a0d565c67c801b077e741e7a24b9ac01b3e01e64b893f7a633a5de1e36bb60e3893a83610302047c435bb500663064023013d7e51f9008279c3055d000551afa68b4284b9b3536a2f1c124941aaa50218a35ee0d8faa91ec2351cbb6f401bf2fbe02304ddb3ced4997dfae577372ae4f3571bd83869d252ba8edbc11a45818192d6cea5ecbfd18963bc6b04dc26cdc002e940d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023038ee393de627c378b037d05d398e667eb7a5019d32cb5aa6f05d12debecf7767db19d76c089996359091d0b05e280ad402305800b862d5a7435050e48c551a3816dc417658483bdf9d8bef0a4175d296b6e682da1e82cef18f1b518c48d27f92f5790302047c435bb50066306402305c06bc148cf37d35e9cacb46504833a105bf4f9242722ed331988ced98596eec20562fbbd5590518fb6909d1b5f785dc02303c4153e2193ffcdd8b9492c6ac6bc0bf66b67e3502ee358317e030d0ae6721501ade284206ccb29167803f67499f4f100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cffa6056073b4fecda71dd3a9ac64f8c64f4f2c6868ab37647e452b125e42ffbc171e69427996cc7dfdcab11509b5c79023100d0e65a780d1b1790d1f02882a0c50bfcc406bc82f882fce6915bfa0471ad19a798630329c6dd72f3ef6fa30f38d5ba0e0302047c435bb50067306502305c75e4b0546a7dcd488261fb39a44c2172aee15b09bc1c9d0f0e9237e4c1984c22e0ff86a4874fce30600c722b3cb3a8023100db2a629b7f95dcd54d24b2b00f681f30b5d0b1702fa8f7b568b96c75062bc61f1158a2b0338c87be2ca46daa889014710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100859bff4b83de72f2090bacaec5e6c690049b74ca608322eed6b2fa704ba61606e482246428ee08d63eb3ba7c9701393b023100b031c49fcbf47d18267ce45f820eb5d3303912f3d5fae822db820db383472fe65181a97dcea06e78442f4dbebc93bd860302047c435bb500683066023100e54c8c0ac5e5fca00e1187c56faab9131280b91a03fe52c453ea5a3d907771e3bdfed7c43738973eec4d5a59b1d9b726023100bff3ce608b0c6cfbc1f9b8cb3b78fa5831a2c27eb19393eccea3936b93985337bcf86fa2de1350428ee1e3d2f284d6aa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e10856ceacbd6bc218b12b69f8d3b630f53421a4d96c5aff5222e3e06a773da015342f8fe8eb3b1a51904329cd30a444023100af8b75b6681a62d9fea2fe0ff2b39c18512622a83b95163ed1c58056b7dfe3c37f0bc15566845bfdeb843e750e391fe00302047c435bb500663064023069c11a70196bd1099a41d0981679d24b4c05c4bdad31acc14063a5fa37f852ca72a874e0cfa7bc20c692212c5e2cf35602303c26e9a091e0f089c40aa37fced5cff38be704cb0744aa2bb5eb9354cf12f789af6a17dc0cc04f6ba8f1f9e0ec3056c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fc588d3b18eb3d4d3511650661b3f4c569eb8e05ca68180c641aeb2626f6ba5cfb823995799ac905cebe6322793d395e02302054607b24403e9d17daec8c64d1fef7245ac12da245273a3334d60dd085a4ca2775548a24d58d9452281a0de530f3e30302047c435bb500673065023100eddc53c9e9d0a30caeeeb04c9169e9ac5c242930ecbbdffd8a71edbefe5e481a5b9104399cfa1296cea2eb3e594a70fc023045cd153f17effb7b7bad95fbb50cd11885f998359006396bff2c2e79d482457ede82cf6a281d647a33accb8cc07cc1a00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bee79a042054041031b3c384984ad05b32dfb2d991d787f48708817e8e808fcc03e2b8ca1661aeb69698e97e706d62a1023100b46cf94d5abe57d35d7f2379b4e819daccfae2bd579a012d65ea45c911935f295e77e57c993a364c3098bddb74af9ed50302047c435bb500673065023100cb7abf6344249020f4d1af6b8749d448f452aa334a3093d45aed871fb073f1f8861eb411714d15dd5b86b3a2749157ad023059ec1e0fe67f8bfa21617261cfc57cd3e49ab515e60b105311c8a6c201d235099477b6c155c6926e161ecf4a3107a0660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d787fe277d4fd5ede2a959a3df155feaae5aa57405754a5b073d86aced935fa532ac9b5b8152c84e9e6a1d3ae55e458802310096023612370c4eff1493d6d004d7ad9031b7fa2dc910efc9f3eeaa9a7b21a7348dfd5ab6a5b2b6f3b66a327ee6b75c040302047c435bb500673065023100b19fcfc82ee6150b3de16d98d4215f52945c9696917cd3ab3fa42da7a63a52269a95dc10b1bad93ee7a66add80b19cb8023003387d57ccb8c6611e388e92df593fa58286afe2332e75061b7bb340a708cf2e3328a6d227691084952a113cc282b7110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e38f9969865e060feb934c36101574bc30c46379dfc4370b9a1943364a9cf23f73fbc80650767b428663c3e67ac2533e023100f047b8c9be40bc7e8a80169b0e6e386e81b5b35258d6997703f902db71285551c036e9aaf785f75423659e36d46f9a000302047c435bb500673065023100abb955d1b91862fb12f1c2c30d8a0b46ef01a415a1e4cd598267b4b4cd098284f601353bb3f0b06f05f568d0793d79e1023048baca2239361727aae4ec96313ac87a3edd751d37cd3204b7876ea2dea58d2802101a508356dd6b5f67d9d09d5278730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ff8706dd75aa0cade85376d73515deb237a4a141e10bccbab3eff1971ab18ac3ed1398090a878a5ddfa9ca55dc74250a02307bb57cde70066f5c1ec9796391ccecdcdc7e7fdbd1b50736f4992cd71c506fdd020324df483f3ffc453f99cfbdea7ce60302047c435bb50068306602310084c90862e5f61cf05992ff416a1c40cccd616c24f140444c3daf967478650eaa5c1cabfd1ba1bd8266f415c962dda04e023100bbb4526edb04974e9690d947117169414df6ed322cc3c7bdca5a80d167fadc93e9c2671bae773ce61f53697c8b3b264b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aec36e8dff1846ecdfc8f1e7081ab5b0f83494d14827a7ed77e059c6db9772645956a76de153e1777ba0fd0d5dd04ed8023003a857e09cd827f61e12d8e27642ad73f7eb7e70ece2f4bc2c290814d06605bbf3a6da6fc2cf680da5805345a8ca93500302047c435bb5006630640230630ba9b641d7ea439a4832a16fed57ccc72d9bf9622e5a57e44ea883bb87cb9a05dfe54b10a36641196b839b4b03102b02304898661d94cade0b85555653a9423c2783fa0b06da0d0d3f705d262d135ee8e201d6862d24ae4bce568edfef753728850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023001b8c9ed4ed98cc4f262c8769cbd8081424661ead8f0ed0213f64b7a47eea342dd3130f0f4a9caf1f3f250a0551d491002302c46a2bc0d0e15ec5085ab806df07f89aaf59782e93d351aff15b7a6ef3fcb9693220e8cbf046ef707dd7ad927ce0be30302047c435bb5006730650231009a1de811abe833ad1d6bd96c6c4c343087fc74096c59c225b2c8a9176f3b52bbc16da93762da0236cd66608b96a426e402303347da49597b20e5f81f7d434aa6e9c2a0a38fb3102554d7d1df106456e5a0f952f12d7eeb5bd6c48fce4bf393689fdb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230101feac1598d1d83b0b4b79c4d2239b5c4fcbec0fd86ea4456a0207fb1f263d5622ecf9e2eb2130fae868b730dd62a6b023044ab715227e9bc41d824b2be5e62915dbf0db2b741f335656bc6b082562595d475a22686e5e087755cdd43ffe516cad50302047c435bb500683066023100dbdc75f9bd5602026f6a41a1974fe59fb0173cd9e7726d1421f21d607be72590b43ea7a73453e3cf619803435eb904c40231009278609223a977e3cb40767f474021929f5d08994d64e1b79cf26ccb049508831517f5ae4497b79561aa8ee1c27d1cb50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230559e89f95e9af50efdd8a51b931581b7a19c6cfe9dcd4c56062d400f224de6b690a6a207877ddafe953540dae744d38b0230363cd13055cabd3cd8d0b6acf4a2c08020a1aaedba356c50d5b3f3eadc8aec0db5aa91e9db54b23b6ba44dea432fae9d0302047c435bb500683066023100c32401c886bc8304046b12d051f33262dea3cd30f2693f2267681ad01c4178364452ed3c71427604286c112d8fa713ec023100812a94c9a507c36e58031529622108cd43ad7a540fd81183c28bee915abb4a318e267b6dac9d347936086014bf8e14360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f017a5957f0f32959e221a076385f9516dbb6a78ccd6a7f3375575481e736be22a77056c3c2382dd4d1fd4822339119602302ac69d4a2a23e54afbeeb82b414b0640d632817eeb1105a5cc06210e88d2ec677e520901f49f5bf751c0b4a0e2dc6cd30302047c435bb500663064023030a0095f84b1d11d07173abbe346d5493dd5b193051361438911ac011e215171f586f6256f4b4e7b666f5b2e12a8082f02300a1cefa08e3cf42960326b541affeaa2bc6ec5f95781ac49d4372dfd4c7562992b986f77fefa56590f4356e7c2d0c05a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd31b4e32aff136b18dbddf2abdbca7e13665deff3fb716fa3d7c30c7349d44e0868de50948fc047ee94cc8484c2d040023100d6a2570f21a7cb47b806f569a6a992eab8fe687c5cfa29f7eda80631d6d06917b6e335cd25d08364b727cae1ba12f4560302047c435bb50067306502306b440f5ea665270b90f5f61476adfc7f4c921550ef17959f0d323d28ca27e2bb8cbc9fe5759dfe6316a0ca5424c426f8023100852280ecd2313303617dc0bf85be5dff2ff1528136ab398fb10117cc8c6f501ec3dfbe7070254d8e37d2b63d6ebc34120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023100d75ba6c09700f49c9495bb0a977545b35d2772434370425e6120c6e58b2cf7bf1614374b89b3a8e114b9736ae7b28198022f642ebcfe7d0f122b8c4d7d02259fe8b73102b2977c6fea8a0786d5821b524e503b1ba9d5e80601badaa2a22b3407ef0302047c435bb500673065023100df403f74d14ab82a3db06bd46f5e8218daf1cfb5c49a3b14eb284e1e2311689f1001e7f71de57f32425f0bd8547e896002304421c9ab1ebc3a33af6a92de90b53499839bbb8deea82916e67af0518eaa7660adc1704fc91166063a1c3b2abc7a49ce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a226b1d666f280bc1ec47ba90ab168a9e08c51cc20899d10f32e805d901acc94bd1baf3aa26943308381546b4e2e111b023100aa0c65f1f5aa76ba7e12a4293e61ebeb4ba480842863d9c1564a218856771259236501fc59f67deec6d76111943a30ac0302047c435bb5006630640230126933d06229bb4d82754ff4b7fb27087ee3fab2bcf71230dfad9ae9eb44e031ad2951d571028bc95a3cb71493bf4f760230783824a4903466c16f0ec55e4682de003059272e5d9be32e2a9f8a24861cfdd00ce3b0264d766f03d386a85f07ffc2e30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e1cc12241467d4815bcb9807c744af0010ab98b13a373b56f917d64b9e198deb338eb22bf0d667de3c94d5c2f48541dc023011970c178847642d22e00538f5d80b01839c974c8021ae6918093f36faabb944c33c2a7b1b472f7d54e20534b96197260302047c435bb5006730650230601894b888dad8c37d361492e47a55715ee1c1ecedc88db65c901e15d6b07c2f0cfc867d8439906b0d6521ba28df00320231009e7e9a3fb0456e7878709faa64e9f32ef60b36e4a3781af83e68c873cc8545867b3dd61e3e02a35f0b337291d8ba99320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a8333085e30d8472415cad04766911d671aac9bf5faae62549f0788b47507159eb5b6438ba3e3a743d187f5e3b9adeab023100e3d0d4ed01b6337e7633e173aeab3df7e77246ca5e45b653cc11e09f228e1232b79ce086d7c28e1817ce383611a891f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023040bdad967db8a87e8d1c6488b2f8581d0f2e4cd00e541c341ff121ada2fa48d4103a4039730064de8ff016b99d64002e023100aab6c15c0f5f543b089c44b70dd16f0b35190a7a7b368284fa4535476e97accbe8dd00c34135c514f138eacc6a8321c40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100967995d5d0111748dd482f3800cdccc5149c19971b3bfff4c56a134798d25614cd53a88acc0c2cd6de84bc46fd9e990e023100e0fadaa4efd26cbc01987582d2454c0f8b105834d6b76d218012cbffc15b0a4c916ebea732bf323879f2af54b159e3370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303f0a920899ec62fefba1a3371f896e5debe45ce87d6a46e811aba143f7ee054d3c8caea91c56cceef5cbad83fa03125e02304fdcced00bd6289f5709df24895acd6524bab6f9b114f02f0ebd3eb79233534f8e6940c75fad0af75d74a7ef79ff8fea0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310090f1c41dfba2fd1eae55c35aac55622371e0e4d3014704134a2e7c7643347e68cbf8193385d040ce5e8825768cfa848502303ae603dcae651d38e570aba543ebaaf9ed2c165db5c45f3d5696d6a200d26ea23113f558342a211b1e7d1777c32b6e5f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a95e630842e0a0af60944dc6c5fae8eee1b414f3c8c60c37eca5a1335355e5ac3a8fcdead3056d81ab727a251989f7a2023023716a664024ac5ecd4e58c15eef9cc51156531cc4f53647a6fef25e12d9f1cd8d76055317bb3ac09a5eb7761f75afc20302047c435bb500673065023100f4a23c64d69b3ba98c02aefbe6475d68f6b014df30b5f7f7847c6c246e6c37f438fd5565c98b9b59f5ed16f3e19c21e10230499e2ef5760dee6fd776aa4c9dec440b9e9b4a81eef9ce45d713c814459bfcbab9aadad1041c229c1d96c90af135884b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300db094a8c0680ba14e27b60c07f207fa55f0cc3150938242b9ad094ef74e8e708295bd59a4d1f2ead4b2aee0271e07ca0231009f30869120c8120b6742c4d09c7cfff7e7763e16cbb91d52d85b1780e7672fa15d495bf1bd779ca5b2d43a7612dfe63a0302047c435bb50066306402300589c421d94a7be0b678ba5e5d42c46c5baedfdefa29e9f7e90bf6178c86f091f8a02bb609e50ece8f879730d0866cce023022a344cfd7d35afe9930f7ec843934b2fed11cf98a3f962b2d7666bd803fdca4f0bd299c2dd6c10519f26f4744e6b3fa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310096e6237dc38dc5246dfe76ceb8f1f08e66229d698c01080d4698f5e6c65e65caecad81fed5a408a8b4de4885e0b1b5fa023100d2d61c999a9768327272d99a617deb11d63e12287edd8621d18d4fe1f64de8cc099f1069372991b827ad7a5ee1f11f830302047c435bb500673065023100bf6ef0f57bc5379134e9269d9c15900140948c0cd209dd24b78c56657820bc0e6d1d89e1b27ca60bac657e92be9c656402300d21797b170fb838989d0fabc4f2d41045639ff1ee70d9aefd233858182d4c1c3dbb4f42b5c3d05d043dc72e7a0dc0800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304e4306c2278a11761227aad71b4d621aa827de0aca040d5d0694ffd47bef06c4e1a16095159568804718e30c3731420c02304deac77740dc0612542214a3f914b379f57e6a1ceef2f26bfb77372ce7731baf67e3dc0e3085bdf8ba3c64cb0d9b46510302047c435bb500673065023057df8db6ecdf82e22c4a6d6f503ecfdc47d0a9036a936e383b56d987fb454cd3d8432409d977a71d93fc60d336038c4d023100e4b1782501614143f2b467b953c9f7bdc3b027ad1bfb9d682914542cdfaa8449d584eb2a56e58658a9807c23a9c738300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ff27c7a5c0b160d8ace3f51cf5e9f995b43f33d71052c6494d3c1e936ae5a83b71db19f0c03e48894cfed6708df6791d0231009736cd453537c204b7f89e9290567db1b94280d89a2d168b4a476090219f46fe9b835394c3cd5d9ff64ed1355dfdd2390302047c435bb500683066023100b5b0a092bf48de7a7826fc7422fa79f1eac3457496a5d1b44b215b3fd044d052b6f53af06b23ca30f7242f5f3c5a5cc2023100adf3489a70ec5c75f5855a79a2236306f475ee1d84c69946b8d80ac65f7a92d888fa575aa7076698bf5a7850be5cddae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023025cf82e0aeedbe4623dda45c4d2f8a18bbea46591bd70751914fe78fb83126debdb529a0445b16bd423bfea00d561b4e0230221be48ca032f140c4e8f1e7280665cb86f6379aa0b2ed381b1c263198c36c3af0554c113c4b365c3a3a35b2e746aed90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd0ae898f3b3dc2958665ab0a8588972bc84a916dabcab45af509420b237e25a7e8f02925c4faed0a79f9cf964f2a5eb023100d97b4e1c4fc898c72feb9b88b467bf360e70d115f37fb0070e5a521a5eba5d821194f3a590e86e43d547d51f468746420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230267ee689fbef8c9d6785017a13dc8bb9baec3ba547534f4cebbf6ca1648839c12103b7808ad7f6c1679c26d90002abf2023100f24e87431272c20a4f6ded4f2b2869fcdcf0992805362f2ee9b180bdf829506f43900181599284cb7b85eba9915610b70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b52987dbc68ca03556eaf4ad43ca77206115c58e2d4f773dcdff2b1d4f2d2a0d880b281a8b85ddbed6b9fa4d53a4da2902300fd9ab1b8ffb465f57c9e2e06f42bcd44b0cd6bed8f2e1e26180266f096055b3f0251ed7c4525eca3baa9886f83cae700302047c435bb500673065023100869e565f05dc1615f937ce94d938baa2d3f44ceac613c30fea9ba288b2fa0a59bc90daea8fcd2c9ade0c8ad7c3af032502306b7c5ba73c516a93a77d666ca1875ea9d4bb23afbcc11a56be621ba90afb875197a594ea6553d8c229e8baef891b00420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300e274dfe013ac64944a893e47544d067df73404d0c52d464671bffdee22faadc231dc3cb410a5aed59130714d88b3113023047f119556e31b7aa173c2f3290a7d2513098e81598914f48a972f1369de59ba5652c77d9ff3fe537e1a8fb11760fe2b40302047c435bb500673065023100f012cef3ed37b054e24007c7995e999448fd4aa8920a7c093c1bf227171b1bbf85329a89f5f4a06fe729981c9ab097f10230405746b2c367cd28d159ca9eba9da06962e2daa1adb69348228620582d16a06efb6153755cba0a10831396dd2768c8730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aba0635afff5a6741a2523b38f2c812bc4d3ef7f746542d4a4bb28124fa3d05ca29663f421c5344924ab7cf06b7175d502302059d883d82861f7e536bab35444ef119b0f106b3675f6805d6a762667bfb386828d42a265a30cea971642cc717148bf0302047c435bb500673065023100e8a7a18de09174008797499d845ab76014d1cdb14670e2fdefc38c62a8106a8ec66ad0bbee3751ad61578603fe3645e2023070ba1ba662789991e6f0358ba1b07a70b5cefeed40c160a40277faec047c8db98e7cc5877e093cb767b84630cf65018b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f3f496d9038b9d76d6af78c90f7b7ad343a15fb74fe10127670bf057a975f21223091dc7dfbd2dd3f1817a810204113b023100afb502565f1cac9bda6cf21099cc5292a6f0c1a33e0a18f64495212e68d046c3206a5c1c99051f0cd5d73c82ec63e6010302047c435bb500683066023100b00e38d28b02adf4645c8bda6adc0023b1fead6a309325c0f06013129a876fd5e70f6386b727c7eeac4e94a03561d2b7023100bec67a3b58433038a4cb0e5ed46b35e40c26333e9add2548200d61bb3beec419d264bfe56472aa9a92eae5d6affa96ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023059c81bbada7ef25c384b863f0e935ff77fbc5411bd877be2a7890370aee48311b7ec73973c5bd91242161266184580490231008257481fb06f581c7034383cf6fb670f77a526d79629068f1cf01dcd097b99933fec0fb01e345a4dd943ffe00b6230fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100af1b62d79e200c9f1a661d66ec16110882f2d608c080c2e3898284a6d517a17f48653a4e528438abf168beee1688dfe7023100b41ad537fd4f2d618f6a09ea8c8bd9f582fd0a61551157b6048100c8ca2272bd6a8b9b65a746a5234ca1454b89425dd10302047c435bb500683066023100f2174d7fbee9b96ffbb575427e51887a2b32e676005c58dfb06262ab07e0b5619af6cd477420c429287c935f94574f110231009e7854f9e5612bc081928a386c71c79a94d00b232e25fab9fe805aa5f4d68efcf5fc3ae30bf7985157de1fd6f9a196270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d373d63a5ed4b020b48e04ba5d220c0480855b7497ca925e9e777b696005a8a645f0b62ba5a4e2fe0a47a7f93ded3309023053b43cabb44881011f15929d97d90fa45606719bee9d9213864917fc71a3cbb7c80b133d2d5ad1c20d7ffc193b3e5a5d0302047c435bb50067306502303c545b0ee558194edb79bbe8aa2938b48ed793d62ed4836ad5818d6dc490918b92514cd5a0956d5e6c20a6c81fdd52e8023100ddb42ae57e61528116f97e4098364cc61658fea417422e55eb2ac5d648815bc457dbf04bec6c41024676c1a3761dc71d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f120891c08d03955d1501da966021804c0b15b89ef3dd50a13c4a8f1b02f36414bb5653bbb1dfb6f19ff107383df136d023050d8e27480db31382af2cd22e8f13895309c8cc1b322e4cf0c1478c7390c76439a6dcb43ab9caf3e50f327b2bc5ffba70302047c435bb50066306402306ee309d372370e7220b50498b24e4c3ae063ee76655ea1b7d3587b206335f1e9427ba5f210768f328a304f277d2bc04802302836522c5ba70f26217743171c7bac502038ef8abd848c78a6d2b7bef055cda63be442614d27ec9554010760b8aa9ccd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023000af515c730e0b264979ec91a38043a5c504b393a5befbfeb60234b22cc39146a3e7a80bd038b18ecf9ea0f6e41a556c02301d6d2a5675750e5949db40115009610a417a95229d965c6462c11c72825a657158eb88a552704304148469897b099bef0302047c435bb50066306402304649c99540dbc8843136a781790ebb6469beae749c00a87d6b5a436de1401a9870d70dbaf9598e3fd4b2b387dbb07dbe02303c4ddc302db341649b00e9358ad0d69bd031aa9574b4c4eddd3955bd02acbbebb8f7406ec2258a18ea7c01290ebaf9f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b8f894c0afaa9692c6b9ff270858d8eeee4d3381daf5736680a8755818f766bfef2d0dcfd5a47522a69d34fb7db9bd61023100ec4ffa2ee74b5cfeae3dec70d35bd6d71cd71a74ee19966d8072d06abd3bd0351c84f77d7bfcd7551610ab05d3d847fb0302047c435bb500673065023100a6235f7451338e5486210fc07c6ac4ef3270b814fafee62ed0a7ddf852fc17d3c20535df01261a81d43d2d35f10963e902305e43ac76dbf9ed1bdd739a410d79f6cee7d732989ce8de2bf914d9d36afa4a8c33181db06cadf5fbedbb40619a1de2cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303f46dee10a88a43e1b18d007ae1b4ab1f4b3d7a518198de3eaec992d834d0825878008d2839e5eeabc2a0639edd74268023100888977963a5fe52647ea7af65d3bb3c88d601ca779b12716ce6f190cd5706eb778903e23088198d793673258b7b62f620302047c435bb50066306402305866ef632c7a5f7d41aa9de79defacc7355aa6253df8084adb4e1895c13e750717a1c0a8575dac8f495c43172275fc70023042a3d6da45c402dbe74473d3a882e26c2966eaf98e22ee2ef2c83e11948b99213e6d198e4e79cbea501dfce098f812e40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023068d0ba5c1fbc750fed68ec62c7668b536f974a20040f59c5d9d44a00fdd4858c7da1642342d3f6a2f465ef308511c73e023100fde34a6c2ccb1370fea007d49f8102920edcfb3173ca199ab9fda0de90e08e9559ddd3084cbc5886d41162d8e30f68640302047c435bb500663064023079fb722413a56d2fb4e25341a7e39105a47955fb26e5ec4938d851622b35c0843f6deed598e0b700036662caacc7516d0230227093d17e2934ebc1ea2c351741fb08687d4e84391c22c4c95c4ad1fb07d4f017ca485eb3117cc2d10af2b852dbf23c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023005a9ce6e60fec51d2358e6e328b7bf5b9bef93b5b90ebdf3508f6650dbeb3d46b8e6cbbfa18c9958fc57bba2c3eb56c6023061149aeac911a6170f02de5f07c2afe127c12acc5725963a4145cf3032648a928815c1383d3efd5be026a23af1a1306d0302047c435bb5006730650230296fd5c1f379462e1340b33a8b7d38f29c5e18450e4c84a45e195c603e9f3b8e056a1f7158db9f4320a3db96bf01693a023100b006d252b60dac6ebfd8dceced006ddc45f511032eccb05cd7d005df2090eb094ae60c8b22b655896b2cbd8b127714380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303a469b42eb4bdabe108d54e49a46de38d6e22eefef2e35a0f85f2f5f217c644a3aefda76652254cb1c39f2686606948902310098b4758f132decdda686e8ffb9d8c36d9a81c3b441f63bce50d6e127c15b8910a7144fc28294869f8f37eda7b815c9560302047c435bb500663064023068269e1864524962e3d9f1c8c79fa0e5f5526a7c1276dc7df1c57ccefb40b3b5071fe385cac497d7be15671535ec491302306e656c30ba9c63e2c28fdbafb867113d8944a1793589225602d00f9d7aeba177b77f78745d7dca95b0d018d13c3e27da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008e63e6193511e9cde50c7ae695129bbdb72ae1c82e12a911157342452611e50a15b2d2fdaaf7a6afb9d9a2210d04c51e0230142381769c4eb695445a9bc59df87da4a7eaa4ffb7e2e687e64a194f26978f094cae597f2917f6cacc51bcda93e3bf570302047c435bb500663064023100e01f145a0f2ef032f5e5f81abe109f6c584d71d6c334ef848d420173603bb7ff5d1d3b16bb910004e097b2bc1ccce5a8022f13bffc95cc0e3042e5cd570f8b3f54ac8abaacc556dca77a0fa86b1b21b2c606227714a405cb143b716d2031af40e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a8e384f3862196431bf54bb538935cc3925c37bd8bcb3628d4462ede2ab6a4509c903e7c3b48f09267c7489e51989cce023100e2e1ff7e97309bd3c98f1af8311dac0d206a001dde87659e3db49467089f012f38b472590aefb053b6c194bf3bfd60c00302047c435bb500663064023022b8caa37abff1e909dfca9a608c2eda0195359584816b31a2f137ebf8d5f577baf8ed5074b2b7e27c5c414f8a939d0c023004597d7e99bc519ccd5150e17fdca09361e7ad809b12fbc8824e1ca8c6f7119bb0fe43075d184838136e32c46d2f77e70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307cfd8f87f01358199fa60c3d1e2443c2f37a169f4f3445ea436bef8b7c18c5d4c4483b9a120c0e8a0d202d5da1387e7502304252f83f6de0310354d015584b3cf9cea32c893c63c7878c3c46869a04f3134dfa8d219d6209e12a5a6dd57cfb3cfa430302047c435bb500683066023100dda8b31d63ce529dc2e2c1db11d61970efad81d692cf8c2e21f8cceaaee8b5e2be8b9e9b02154cc17e128f0a13ba5df0023100903e39fa4d614a73cc27cd543de10bac640617135468f8ca252288795dbbff1a880c29985d90d4d2ae195435728ca5b20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023068ae8c788c852b6ce83b158cb306599e3b154519fbc8566dca5d962509cfd5e061966417fd3c254f98d52cab6e84dd12023100d58afcf5b2331dfae351982b76a9916eb624f9b42ae5890e03875185259fbfd2b8c3b560d256b087324f779d8883e1060302047c435bb500673065023019c944497411c03f7697f5ea297ecf6fdab879cb7e2e67351edf3c26f42395b1cb81c2a44b4e1d04b95733ae68ab7e4a023100aa307f8ad8bbbf9c15ca021fde7d5f332ba3d2891bbc255a7d522815dd456c1c2474dc5b977b164da14a1dc2aed56fb60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d1c85f60d40abba7bd775e934c7dc2eec2680ae046e85fc63b96fc7018c9c087a14783a452b1aa87d2ca601ecc6dce8f023100e24e4431814eadac7ad1fe0590c1827f758ae4380dfaddab87aba703ecb7216f4269e6c38cd5c4a55e40c1bed0d8420f0302047c435bb500673065023100d1e4d530b1a4b3dbd4c1bc8d3a739a2f6eb1823f9a543c3e4069a05e81466f506f4d1d0f92ec296cf391406ede0e4fa5023031677fedde746ae3730171594b1f7f0e169fa68142f01c60f6756ca3580e9104d76c67256e95ef8c050de0cf1ce552b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304b6adabab53a858b0f6bf1f647cb22a4137e51e6743e0796689cd86a9e15ce510130c0568d57eb7ac9b21f371504d9f902310091872dc6f001472e38dbd38f61794b3e074d9efa3aa8770868a38729e2b2c5e03ea65d141c209ee38bf34fc8764742e30302047c435bb500683066023100990cd4c946f83347b2a51ad6c09b68e0d5de68297a1a9427ff4a3706f1299e4d6b354579053bda1ecd36e6570cb2ab47023100ee6e39fb42da1e7dfc3b645937623bea5cdf5885a37bf076fb554a9f950fc3b8327851768b59c8e1bbb84421a7f1a4ff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fab32ff619a8259ba1a4f1be79b1ad798695d485f6681611896f32efa22f73043daf4370b871e8d35d22137bda4db7b80230243f6651e16c5446589a13f423e61f8972084f7ec7b19a879a74a7cb2f83426c7b4af1811b56b2ed59e6dc609d27bcd50302047c435bb500683066023100ad03cc7f83ae751808cd71a189f44b1ec590bc7dea95772226af46bbfdd38848c1f640a0815a9f4d60d53c13c500c8f702310092d589665151243c55b568f0065d5f49bac6fd33d6a63223e255361832cbd07ada7660de6269f745735f66051aa144db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008ff98807c2a1bf6375cf07b6b5d738b434ce23aa5308d79f29990560f2d656b16bd8de061311fe7e6cffbb3bbdc1015502305bd573ead284da58844e52d24cba5ef66bc70a98d4cabccfee6007d4b2acaf7d177ef4b06353117e2e89ef5617e337d80302047c435bb500683066023100c184a41995c7a2c4c16b865203d6262a4de76e11995a51b3773cb2c45d7c2c6d1ebb6528f878983f21d523ccf416f3e3023100f3b850a5562f44a9778c6c675128bb494941c2e3964df3e2631663e9665e83088c5ae8ff37be0f4a2ca6bb43fe5276740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dad7f7f84e98990aa2b64b912c3583067cd5a7967532d679f776f70a85ede0d7b7c1347936ce478c1294bf3e1d7c3b65023100f6d5e9611ce9e8fa71cf67585bf1442b5d87277fc0ee3b0b48afaf534e83a2bc9595e4bb89468159b424179bf65b2ffc0302047c435bb500663064023005d4e43736592086f0c4d24a85c83a59ee82c25d97f674e31ae3633df6f5dab42f7e0d6597bd4df68eb27de13fe4bbe8023006655732139fbbc3ebafe9b7979582ef76b419cdd4c2a8add73d6be627348d7979a78c21fab1ba4832ccbd264079091a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b2f1122468b8415ef49fac25304abd410593e12f61db70192761178726fc9306759b3c9bfd6b7108264a4a6910f08ac402305064ffec4c43c739a8c58d717212fe2f901b612e74bfc5255a870afdab5af18a4f7b1729807c099bf4c672c8bcd1aea60302047c435bb500663064023012b6281cb3b23103b4a9caafcbaa11919c61a2dcf0b463724a3f3220596e45349d19fb26cf162f5599a800ede7869cbc023022f1ee8f774b992628a5bfafcded94041b48929deb7b5c90763b8f9c40ebabb51fad2a9791573dd4245910cff3cdcb870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305b32bd82059f0a0141a3e24ea4c19ede8b5d9b1696fb0208d647e2bbcea1e7c491647e46c68ba870a70c329c24298ded023100b74853c3debe7ce1e1b58afd2d54d8de093f6a8ba013f4bc65801bb3408bb333eb09a322b1e2be186eee1c6e000b618a0302047c435bb50067306502302bc6d5d2faef0ff5e80a5590953b3ffeb0cb6e8b77ff07e917c30ff266e8ac2d3248a98c2a768296c469d33df65e8c70023100fd241c42511934fd19536e6794063fa320a439fa40b03f784617c41e67bfa48c3d3e9159c10a764f5de39c6530d8deed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300dd2f22661496fcf498811220cf70740ad5fe17e0fa86bf718f09bb0b577ab4b000eb808b4e965743511ea9ea99a51bf023100958755638d63c4cbed744a2c883278a964406067a0399b61792f34790372eca5404113737e56508c238bd2c3a7ff4c370302047c435bb50066306402305ae55771847a2555df0f4533384df99e92f3671d1c591f3c8d668b249fc2e9e787bff4455b3a7a720d4dcef531655254023039d43bf929281089a4bec4be4b181d752589ca74263a5e5f0af73126b1d212a03a5db101412735bc5d9128910dfe31ee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023068faab9e7021d48df9192768f1d7c8c8fe100839265e9a345a8b6369566b7164066301f5988ff4e0e620e17278f515880230615e5512335f873122821658fea5dca44e8bd07ef3a7fb127ea18d01a09ab85df6fcaeced53bfb5dcc2a22752b55606f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bbcb291aa5080aa3f1584df7535038b71407a2f0256ddab00325edb87dcb0f49671df3b6547573ae39932292e833bbc90230217ebee35e0f58c769e37d4917ad056ce7f7f62cbd8d85ddf5dbf85ba2b1763b23f6a5dc1146e8553f2805d60f1cbb530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bb5a7c8c791ba0534b52adf6d76786cb7efc538cc975f868864ad5a0648bc5094cc4c93274122d96b03e939aa28314a102305f5498675c0ec7d2651e3b3d7e86833615386d13b96171fef3247801406a7c878626bbfbca327cd9d9463a8bc5fa795d0302047c435bb500683066023100e1f740f50794373f98e5de76420c8ea6da33f1e5f3e5f09664f09fc6637580ac55eb5400483f2c5e6a98bf19dcf8c571023100b59939a3d4cd25e84dc5a26b2359fed050f954bb45428e543d5e0c8f18b80aeaf15cb58f4268f564517ebd3e5edabac10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306fc098720bbd6b86d193e9ca5bd93e440f84a2e6f5ff0d45834a01d9e06705ad4b25f2af5d3bcbe88a1c822461d7ed830230518a28b932261f15a4beadbc4a5ecacb9fe7d1d979106a8234085ef97dc5510acf5535a3194f854990ade01d4f3dabec0302047c435bb500673065023100ac21b83a8d450bcf50a491479b54157a73aa092b01edc1722b97b21ae715f98d7de4e1830def1005e31a93e249829a4b02306d7ad536a29577aa88474fb7c0fc101fc91eb81d72309de60c2100ff2ed0d69576fe6027a6f89ed6268cc14c703b3feb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ba1ed723e4c18a3b60aec63b8e927884f2ed9e49d4f004850ea7b24d148c6a54358ae3a2c3a7611eee5ed90495476f2902301b73dbf35ae4230a027128d457735f9a9d3f982bbe1636afaa1b68ec36629e819120370b213f4b24a0f5b09f6bdeb6900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f879f6cb377d6ec247a03adbd4facb3b4fb60133add109201a2e760150e3746ed3a39802f1cb5be93abaa1f21300d2c802302012a54a79c2340c885c0b9be3a0c4290e4e05994959dbe9fd32b32a6c58b1613c05b63e9ee445f407ff13ca3cbdcc9f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cde6878c73165a76b483692c3447380b3bfb87de0acea8c5cf98a678e8d2c44c6c9b111054be65d3ba80475bcd13ab9d023100b5dff789c4dad8c24e5ecdcc15ac6bc58e92a8b0f442e17821497708e689a9ccdcf31df72c4da2fa5594d196dce689310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023068da92f0281dedf4767566907a75e700c0f1dec5c280a92602e12e8c37a086de53fdfc08c2d2e551cdb9a15f71d9d783023100a8dfdd77e7421427db5222481a69b46fdf73e960c699b56ebf8289c7472f34b0451184a90e4badaed41bf9115d9aac9e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301c6fca0b5765da5544cf95e319147c81209d438fce003dfc1e1aa6f43ca06cfceb9a1ce21e9241493d95b48f921f8e3602305d4ab49989b1d0470c5ba35cbaff99a6627259cbef76fda542d12dd7ea5fc2e94e613506ddd51d4fe0840ee6c3337f560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fc56507c0d8f7257fe3b2815c72326d30e4add912b47ce20338193abc2562856144456d53ab9340645ff457db6f92d5c023100c0c15ad650f777a0481fcf0a34a0c188022891639ce27933ee7c1cf23d924280d8f1408bc030dff5d503511b7a48bdad0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ac67b36c40554704b306a8340d93d63b25ff9d3d97e7fed37935d8812e339427c397f51fb5cccf2ab1cb3038eb9627d1023100b6524ea2bf4ac00e90c13c6dff0bced0b838e02a5bb172986234a2cdc4708dbb4659769bd9aae1c99e84398f1a9e15ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a22733a455390a863ef379e7467ba4944e20fa94c49bd312b5b11f752f7c85a45c5c2eac74ff46f05634be8a066ce52102301df4189f03b880fd9116fbb3ca1d1c626b5171befa2a675c26af20b8f8371cb98d0e4e35886d982e8829667729fabdf90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f5e40a37389af19e9f843936e5e9604328bf1c4a213f35cec7ce033c627bfc987a1cc5d52479990c82f030c702bf88be02303281ed15fbe8069241b92b4a2ae629d533d274c2b99692c326f58c26d92c2dd635340286d4b52f4511eea6a38fceb99e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310099cfa37564def0717e905480615e5774d2bf760e0377670c75301929765351f1477e28c59076bb373812487c798038d70231008a91d36b4cf21a0eb536a639fdbd3e92e44b46be634a408841b7c47c68e16a28049ae27373e0ffad688ac4f4ed09f3500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a6fec5274cd5f1f2a090be35da4996ce5da74ad3aa1dbefa103238c443695c1340073081b44ddf3035ea03f6dad03035023100e55e49fce58b247601bb0514b767684ed93194f4fa6f4c43a12d01422fb4a901d88de458ddb66f639f035018a7824aeb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303dc6c6ce8d3347f524a295ceb9dc616ba8509c49f8fc26718a912ec3265959dce964a193b4321f8bde2a2cd2cb8319ac023100c3eeea42f8631ce6ebd08a8110571a97aa1e7cd09f52e04700305d1e351f1feabe25994b23071efb3acd7ec24b04e8740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009d157869f718afd12183bb15da368aa1d95d29074692eae36754b72f7dec9fbdad2e48ee7a2a742625383fb8b7d49d9702301e5681b57933456b25911eb9821af4714057c18b260ada8427ea984ac955297f4187527044372df1d021fc6debd83c580302047c435bb500683066023100f7a7cc736fb6f4b59b994e1e5153a1f2d85ffc4e82276d8619a7077e435b6a91f30c09b996beccbac45a996a6e2abe2c023100d4b8ca98c6645adeb479a32c902d830dd7f84b75c4379916857b39e1ff702c1c13d13ab52a4ce5a12d001c3d1551c4400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303f0d85ae46fb615a966a61517fc4b95e8d3e2fc7e8e4a9bf4886fa0c131b4e1585f239ab3b46d8e33df0eaaa2c3c2ed1023100c31e8e41fe5f1a85774360610a71d21215221fcbec3bfe1d0804bb86af322f2c9bddbc39a7764987793fb55a44c3045e0302047c435bb500673065023100dd5e4d96d9448c28375019a847276905cf74a872b10d388bce480950c24af5b3f6e84dcc2c2538fd9385320df6fa330302300a18aa13c8aa9a4e87a18995a6ef7ddee128d30749afb7019549e7a86290e08ca7025e3e26a4f1a6c7e57956f46ac1cf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023052ee0851a5bea6a38c8f9f7cf28c3c961eed64ce928b583f14f3f096c50d20a1f5da6480a553342aef1610f59c06c3b902303ea2aa3e80e45f7f27244f48845930b6f29ae8ea86f3e5d9e67f021f17d63f8cd4fdeb5e4e3586c594a8307fed48be9b0302047c435bb500683066023100870295464f282ce9bdbaff0353f18ee7c6132316deaed159a1a99370a5a50d8c21b48a7dc626ab388f26a03616f03865023100cf44d6a07e667a5553a344d73b016535d615593dccd178ad3a1ca7b0b14bfdf17f80d51a0d05767be5fa018e12e1f7b80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b4c3da8986f44e32e04da65887c7ffe4f7e20a7bb60dabc95f02d611bc8a3cc9642c64df7ac14d6bb7986850610354c10231008cd5fdb1d7b0cc3e514725e168b47f6641fdd2ac2cf3d3dbdea186c0829d526e22618fdb376cfa7bc9f7c19ff614c3fd0302047c435bb50066306402300c946b3b2bce37fa083d67908f3c0527eed9ff132b3a9808693ad143cf0d37497718aec278dfad973c48e7bcf44505f802306d9dbc658afe90205b693876a2b83799a6220119703327968fb22268ac81d4831d1a906d7b6e2288f74b3dc8af18cc270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c00399198bdec41419a82105f1a3ce09cda261f67c47777f6bd72c33d9fb912da6eab5bcd439673321c4b694b23d534602302421abf9286f6448c57a4c0d784d5bedebd3f877e9b9fdea32bc336ee9883e1cb9d255c0498b717805642b4876e5a80b0302047c435bb5006830660231008307caad5fc887ca4d8e766d6bc098daaf1150fa9e8258727151638ea76e0b808e76ecbe01e1146ab4334520e49ac03d0231009c02ae81f1789de3e758f3e5fcd358934bb323675c7638cc0baab5e5c53478dbfe1d2df9555f3507c52547fbef373cbf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301d60e5cbc20f8ae613affe9335777b6d5e2d99af846be6b5afc3157cbff8b0937d124f4af4bf9dbd6924840cd8ef2a74023100a0f18042ab40864121e3ae8687721cdb38647d4649fa415e094d6ed4e1921f40604e2bc142b190967b88df2a437663780302047c435bb50067306502300c78f310c89c6b23ab6a3b99e5913a260029a81ef0f585d680279e989e4144018a19123f38b89fd65d33b1855f5bc50a0231008f63a183958f42cdb673de7d3cd381a64dd53175d84047e50b99f22580fa321843b75d4657d96fff429f212bbd045be10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303e3887fcc73feb90904ea16b71007f0d178f222231f65768bdfb00e2ddc73717021ff9e2941284fa94831252f835cc5d02310088380d45149d5a126b12ea5e76402ef1e7a6c020470a1cc07c95b05f97c5bbf1b84ae742a44bf3538c1f0bc073c6f7810302047c435bb500673065023050bdeeee84e5f5ef2ae7e7a7a2ba5d3ce2a22fb0f16c3d8271eba417f36b84feea4977be9e7f79690fd4a00624c2a7d80231008637ff399d9f7c07d600a1af7513918d11ef55eac52f7032c01ae561a26da4751d2f1c08004745a5fa1aad8970e7fcba0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023051789762418ab51b98bbaff85f40cad6928d7f5c4f791546a0b4857de83aa5cce088509f56775e4dd8d74d065a1e524d023100b00a376f1f127a47ada7553027687035f38878b868af81dfaa21caf860e8e85517a0d42d3af699137e2af0ce5ef14fd90302047c435bb500673065023041d268ad81011744e738daddebb976de7725851ec41182f6f8189e1d812b520a097b4cddc8786a95203d1e878e88aedb023100805151a00002966a29e6ebc73861a4051a4f17a6393343a179b9274d142aef52166320328f65779ba4782a2d321df36b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304877b65706c5742a33851c6f51a50b226a0e6018d89f85b3ec3cfd47ebed60f2832e1d23ea3de74a4a9758b2a8ee570002302dda309ee6fd47fc199711ddb643a30d71cb555a8f00b5bf5fa36bfb97bab81d43dba2bf6f80fe9c77e81ab4c36ee9ce0302047c435bb50068306602310093a278dd7a6b9a69192be6c6e7f9600d1c221eaaaefbb6ed8ee02ef7a9640d86d29ca921236872b086333c5bc8a0a768023100c343b89137c5950ff5324f4f8e0ce48019874f151ea7ae51ece4a1687748659fac8ffde2b856cc8f2650ccdebd4380710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300190ae0f0ceebbea85570ed4803f1e4976506f07597bc6536e5f636f9545cdcd84ba589fc3e58293d10120b115786bae0230631a4f2969b0e6fec26aff52ac6ed79758ff5aefd8bdc3b7060ac7db4f77601d6dc82b0da777dddb737fe8ddecd9cebd0302047c435bb500683066023100c0d7783ea51d83730726ea275d317c4090719fd4f560e61313448110461ade3ba4c21e8507370d430ae31ba502299710023100e2716fed13d3ca2f67200e8c80fc595d39c5ca109522a8d24d5ed7d36bd32129547f5aab40b8b8357d8674f051ac06480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009990640c7ab5b363e7a8682f081751e8bc640c8b3c35408a922c3295d8af7e341a686596f1f6363368a9905eb80e2f3d023100e17ded00b2b00c824187b4b070cbb2c2c5993d6f371945a36bdc99ec89403e5ecaaa459460a4ddff4990fd31da167f960302047c435bb5006630640230058d55041d40ff4b1932f5fe7814b7c51768e0ee9e137d8404485814497f90a2f54ec49c95159b286e6b9ee679414b5102303f09335d2f12f99869562451fab5de084ce6f547aa895d36b57890da9df038726cded3539e1f99874ec0a22e9741a7860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307290c0795e022ee563c131d2756cf43f04cdad396acdd766a0d04fabecb94be430309c04fe7b3841fa0033e679e86f870231009579ffa7431b54e112b988d01e114581f0b9e12343bd511c3303ab49307df1c70b09e1cc57cf1662f79ac4b7f3fac4130302047c435bb500683066023100d05fbb1025dade7067ab16ec82596ec4531c1876f1bac0dc9e1db8ca1c77ac069b798605912b4203bbad288a8493cfc20231009169ade57a1bd8889b2d93b25326771da229d69daf8238758a8351378250101a763afbf07c919d3d533a1ed742484a040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230562e29c235baad08f584bd4f56bc538ad5a7ded76c6ad64cd2e2bb96a1382a10dbe0632f77564825ed180073229ef1cb023100cedf637e6abdf931ed775e4f89ed100fdfc86a0581ee95d6e9274b54a8702e358981f65c985c743f11d994a8d72e490b0302047c435bb500673065023100eb4a59b959f564b20db194c3bff7d02527ccd830d45cc33fda7e3faf3a5d4312a4fde5ddbb4adc01338f973c5a56201102302e33d0c2fcbbf4a1c3e40dbc7dbb14439610d51a9fc1822977b1bfd45dbfd3e7ae66c6e021dc6a12326b9355c6885e280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304a28e783a151d49261816e6a2fc60976028f7f5bc001351a143b78e4ed2cd0bd5b201c544165efcc13b0ad6b860ad2f2023044a57170362d1cc0e96b18c976ac5c768adb62dd56f8e146f3f82660276dbde442ffe254744dd7b6ac3c6aa27e4a998a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100991d972a8344a3148c63bbdc5aa80781c6cc3c3e8a5f28da6718d1a81bb3aa4f16a503d6dab9799793487ad84d5ed90a0230021b4ad50935e6180041fc5400d068f23712e87036d19d5e5c54789e89cf8cc878a1b9fd700bd0a6f480fe287bcfb8a20302047c435bb500683066023100a0608530fef15bd834a40ae45b03166cef30d3c121e48a87fa255dd1456b580bd9d49435e8774e35aafaae1c1d8017e50231008d0c484ba16445c5e2f5affcb2aa42131d45e7128c9ef0f57cfb966e36a7472105264034bac246ea01963a2b3dd393030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305da006833bd0f4feb668a61a124d59ccb5c59b647d2305b8007ff066b835290c5a023390c3dac61fafb8ac1ac2f7fab3023100985d6d98466c60416686643a649930a0eef7b2dcd0ea33cde292a3928e4ac8d70489fddfeaa96e5cdb27b01fdb23bbd00302047c435bb500673065023100811fd622842a5b3d1e0d9adff3c91be27ce5f9a5a4fd50979ba632282435ce59826e8aa18d01eb2f218dd0d23ff8a8b0023055c6884fe12ab723a1b5ea15a43f33c99af32338f3e239f93490b77827df05547fa5e750fbded0fa38ba6bdbf81283660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e725c652b4919081529c32d7473aaf42a0cffd586979d87c1b305a98398674d269539d554eff19cdf65685b549318bbf02307af1ee4cacaeeb23077bf5350961785043de806b020a1bd0abaedd3b0eaf7b9e0adef44974444865598ab5a0a126e3ae0302047c435bb500683066023100e0ff8b4501a0bf0df20f9075cc220341106df44f3a754e1877b704ce69b89bae4c8ab90869da828d4360f797ef8a060602310090e6c11759efda8160f8923621dfa022152dfc1f8f24df0d69887aeea167b04299f80df94462a5f36bf5b89604ab4da30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305a588eedeb37c4ea6075fc2fa54b1d254169762206f2ead3d56e80f83a458579e26aa21f6f9dc77e244deb70136c1f87023100e19ea5a38d58b2455c76f3078dd388f5835b1f2dd68760cc3f7cff8444f5a3990b97d9d81c5c81bb98b8cdbec6f89cd90302047c435bb50067306502302714336dfd3c9e3443b31885f696e035aac9dcf09735af49fca20b4740c7cef5ef91bb2a55f5569092af310ae966f7bd023100cb52e3367f7d502c455f6801ad6e5e27bb4fed39136d18d015955721633d127105b65114b07912cc4fc365a1ff4be3160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310080740699d5c3a53aec6acdd2d77e7fdd6c9364167ef90e9235e88684fa7f0bb410fad243b028b3ad29f8290ec00a4e8e02303c54db1e9a15a162a7ed6fa0939ff54368cc959a6034253fcccda37c7cbf6ca633b793455497bea236d8de38f7b66e660302047c435bb5006630640230594109305cd1bc7d0814e70b1c978d9381c91bb0c1491dc068b2d214e651608577ca5eb9b44585a5730c089f8c9fc3790230647876471337310ae031ac00df3f0ee670b40b21f556091309e4611f423fcba3292cd639b21d2b96aa694c82a8a80af70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023024a1bef76f4fd91147c4fa29a445191812c33361d93f8f1cf7f17856964020bd70834e155b461f52b9b214e0b8ee9094023100e49d9c5d668987d86ac9fe6f847baddf92ae402c8233982dd1dffb60709cb514a503330bc1bc9b358a00fc38005323510302047c435bb5006730650230305c976fb996941ad130b6e74da4d89c1253816d2e5eec22c081011e3422e3a013b2a24a429493baa128fbe5d9e54fa2023100b0e97fc453154247b9737216258552e5b954dafd16fc12e0ef3c736888630a7859a30d46e2b160d151c190bd9487a7b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009184dad264f5c2b07ed1c40aa10b967f5a7b59fa647cd26fac9adc1c72ec004be77d5c879fde00caf54029a4137bb30f023058561fb8636e19288e7d6b18e6135c766a218ee83ec8d4c201471dc5fd5c8031e050fc1bacbf0bebebdd08d3f3b7fea10302047c435bb500683066023100f1c9d32a2089854f9040713c8eaf2a58ccff36ac25d7ed523888b0cf60ba8f0ad126506f1bf7f6943461e4687ccf36320231008c49cda4a51072d81eca13886085a9e462f3df3961845ced4ce1a8dd61a3e5700f3ce823fee0df00dc133c971f05cb7c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230739a672a9121d7fdb1a64b31bb3e826aa3e638918ba1fa4e4f62348d0ec082a342ad5cb3375d487c174bbeb13f70fec8023010781871781eea87545738a90675d044916e839d2c0737e98ae49430ef6ccc82a5fa3510ca7b838aea2c1365746c94620302047c435bb500673065023100cd260464e5cd2bd04f5298cc9eedf38364e21f4d487ce42bd3279185c4f8f3c67905110314b4071691071259c6b917720230094bd6a7afc0c0bd8af66b0563f5b52295163f5ec2a76d4ef227e078c3a5d34b2b386709b02a2f1e71df420999a3cf320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e92af4ab06f6cc8a81cb3f032e06f8b7ad05536425039ffcc5e4bb5d5dc5b7d7f6f145b94c12360b40670e29ba148bb7023100a7d7b5c0ea4ed0f3526ae21540f2690fbafa131e5d4d1d1f2a322519ce325acf20e8606ff2c02f00938af7e811f558e50302047c435bb5006730650230695fe6dc4ec6eb993389edb7f5e728e456e0bfa210da219015b97c67b9b3faf4ace33ba6e855dd44a021b57c4882f126023100e04251fdd02465f401a1af290c124cb40eef0d655a5f2a7299075b7b507fb82662c43223730508a4609b1146b9ab10a50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304e2a0d1063f7731d7651daf1cf26367b23b5e3d15c40d0e14116afddcd0641a42f25df239c3f00213f52421c2c65dcc102301248da467c81611bdbeb258c2e71e64d8dacc5c355c6f33cf38167b3c19b2f13a55b5286ba52af34a1dac57da343500a0302047c435bb50067306502306ec70b4032d5a4d0df1fe2c52038da39d1e0e39f4d8958e9504d645a3b662f145f66cc7e1a037579a6285d6505c1a7e5023100b239db35e38280ebf02698a40156d89486c23c0d0e9b0bd6a75fe2b9a6a779192969558c288d41968b46d6e1bf805c290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009fb3e4d2a67593201c9df1bfa1026c806c580a0181251889c0a422986cf86389c804d2e9d6787c20435822d269f3492d023043c300a27ac8e2701007f97f48597552b02e7248b536c71865d1f2ac5c5805e571599c08d61b7328442148cbfbdd47df0302047c435bb500683066023100d415691f8a37433e5deb4aa7dccaf9b2bc7fee0267f5597ea8cd73bea4a8e3ea72c5069801cb35fb8075c23cd1f98673023100fb43b3b9d53d998b582a708dee77be226fb8dcb18ea4b7344b0bcb59f538a01b644b8cb01c1e8ff4fc62b5ae6d7ba7d40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230022447925ebfc5da34999152a5084468a106605375f51a4d72c02f70b62a60092e6f06858572282a925a03dab0cb2cf00231008c0ec4b194e4db07d96432cb57fb7ac8e21b93fea92a4fb7f76166a1282bcf510c755842a950b34dbeb9a99dca6947fe0302047c435bb50066306402302b46a310c7ba0d3d0cd10f37d7cab7c595494a6d9b4c9074d8b23a9666b603f1e84e4a6ab468b019b09d8b7ccd7fc6000230285b2d6d3040ecce896e0cac634f8c35fc1c3d0bbcb25720f0003961a6ba86b890f81e2c5eb3d2a69b4c29b4aa7239970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ce81d569138bb85c1fdb3a10b93b12e2f69597f0a488c64b5fab0da062658352237feb74b1cd39ac851975751389e615023100ac0307ed5f34c944df2c8defd523d1f18c03092757c5a0368c6b5a76c3cb304fc4003e08d4620c84649386093c88dd8c0302047c435bb500673065023100ce79bd7afeac32669c3bb6def375d071a7752f0a68302c2c2aef410e9b49da16e5132cc66cb2a99baaf62fa68748be9e023063875233cc50245eaf5376c5c364b4ce765ac56f03f690f8c4cc7203ef7ecd4ba378c328d6afd7e609b57ff4b33608c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fe59cf0f212406fd1b5d1a51f94823f15ed371110d174b5fab96d04c8730c3b18ffb2ad82c6c7848d3042f3ae1ab936c023100f279e94a0082c3052d4a8f8ab0c3a2a55cf48c017e127bd2c2cde29a15b198a23fd002725ff40f8c1933c3fe845f5fcd0302047c435bb50067306502310087167ab8be9537b0433392d1534b85641fbd2504456ce1d183fe12707f0336abbc9601eead419d3179d5b7da96137f9e02302e8b98cd6d49e21b0274c29fb169992b60b328ee870af68e04dc61715868c0003ac01c0ffe945657b43efebfabd09a3b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cfea39a921aefdeb363935556c695b1a947411dbef0eb84253013c14d0d3ad9eec9fef7916d14e343b57946f1690c1da023100ff2192e0f146763d4dabbb61d23cad82b17189abef6f65839a96be2c4f4216f47303ea45764749711dbdc0176941dc030302047c435bb5006630640230316d8423ef4e41b50f9a0c65652470eb4a2d40934359b8511f89f9245ee56c7fb359e3eed6c7b32ae8fdba152f72efa2023069eebac46d3cd14d2961b23177cb3c739303a920d5462405faffde38b39370efcc86fcf8426a5c5974c2ebfc805ab2650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230168e79405278329054718b3b143c7027fc17456d94e4fc7e1ca0fc8c574a0fc396ac77ce6b2237dea258683c7bf8968e0231008e9f42a6dff93ded7b2bff29cd68c52ce0a93d7fb3a4d1c677e689e2f1497b4aadc776566a56a52b7d390d64e3cedf770302047c435bb500683066023100adc7cfd6e950501be64fdd9e036ef6b2f5498cb456e34fc96addcd5588645bbccb4e45f67d67b100ebd5c1cc70624723023100ee904d46e2a87bc716219d6176e094b0a4cf989bd85f01db9f6d8cd4422b54a03de6db0841cfa1b69e90738cc9d390380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008bbcc5721c08c72aefad9f0c127057c729a838c99d2022ee46bee38b247378b4a97e132967821ed407efe4c5164de17402304e23721eb2c3e18588643646eade6cb00a85005a637b50bf06ec63f1bc939105af5f362c2b4b45528102cb31327c4ef50302047c435bb500673065023025956bfb165d0a79295c9a2c4a0a3eb5e7eeaf620fd6316b285ae52f8e723a02ec71f26ab571185f2b54161a230307b4023100ac7443da54515ae039d6bd990a4346bc571f22601a54f09a1368fbfc0466ad265fb0d2d26b4963337ef5516e93449c9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dc216434e65bcac7e2be811bd5e8f47beea55bd15adb5a7e3445d5f8b4ae7c6d03a89d744b6a710ee705713844ba94f5023100ee9b84ebc97af4c7657b44ab790bd8d2220a05178fe05c4e71f1cf6bc468a4fe7233527ef10e690d36ee50851284bf7e0302047c435bb500683066023100f3f61cce8a256b74866ee20d01b791266fd1e3be4120eb138871e399d33eb2dd2cd8eaff7b55e86cef3e55297ea27159023100d213505cdbb3bf677543d5de44f222076d427cb66b1d73efdde7e7bfc3c81d9506b9d2d62a260d941e61fcab8956bafe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c111710ad32350f3dce8e3b836cec4534f8fef234cfcac0b12166f9a58597ff79fc64c924fa39bc140227bcae21df10f023100e27754c8d1ac75f3d85aca055eaa8f538bc66c733bd2154f1191626b9f1aeaf9b6b205bb5e5030e09f3d532cdc0786a10302047c435bb500673065023100fd1bc2aa13f5e3aacf36fd3b626049c39b0ba0160777f054ff5535620b391ddf5834ab84128c702cdbf28586767b28bc02300885794575448d7d923b05a00446a1c21261c428225d76fae5a747ce367746ac477fd1b56777cfd053d37947adf6da550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c6331cdb70f9ae7c76dcc28d40fe614fae95597af3a2adc752e43b8632f6049b6b469fd003aa8572cc530a2fbd85a532023100b43a4b347347fb263ca60489b0cdfc729e45f240a103cf0f90fe19334b43a4f9899c9c2dc2abfec34bd5988982bfc2d50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023020aca39719c6eb670569b9312c72ceab404fafb46196b7186068a2887d37b39cce0df22f9ac5b23af57951882ae575760230222f514171e1ec4b61711ce80de053d24d949a91f298988decd187ab0081b84f324404a4d69924f66ae5ca94aa03c9100302047c435bb500683066023100d36b0f0b4539aed2f5f55feb2ba2c9c73daa03013fad8312d7a1ef44234580e898b6942a8bcd753075d6738e80ec0a9c023100943e5354f21830d4fab534b868a963856a301c6429c9556422dfac77eb22c5639672b96bf734f59777954a28410c4e9d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307a10e30a9814b0ddaad2b1dbc0ce6103229f7a695a0929eb2e388281e902b2a5c4e612108694a05da9905b44fa83d7d4023100bf9842fce87dcc51ff8e5154295a8cf8ad8cf39189c758b571b20d22a36ebd951714ba96617395ef34ca88d929f512b70302047c435bb500683066023100c24fdd75898e4b69d2c759533287bae0f8eb526f1aa0bf6c169d486540743e6c71b01117fdb27bc820fd855eddf857c502310082d0ade02eac881cd35fa3b1035f66e23c52b6c5f9fe36e7d5ef8fe1ea27bb368bbd3d3326ddb48bef0ae4c1e8caeb090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fdcdd74fe9e15c68c7010b17c24943b607b7a9fb2913a8307af8ae32e7526cea115e4099189eb0f228741a13215901c1023100e275074edc0f589a16e605af020b5842e972f595f1817acef04637502deec13d8450b93a6e0f2ab502053411682e68a90302047c435bb50066306402307e08cc849de7dadf293764eb24764ecf526b4fb5d97a965eafec1a6297ea8d68c076a2745ed28274115849986d88b4b802305fdc9eaf4fcd36a667edb7f21dabd53268f0614cfbeaf3c0b3c0b0585db1a82ad76aab5477aab6f02b4385d2792596ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a317ee43f575abae1c37438e21b3e0c25ee975bdbaf5d933e8689b80ec72d83d44b2e50a65475709df0015a3f2ff34930231009286096c69943e647f1525e744a2ee488e8da1ff9dfd2a6f0774e5ac95e1f19993b2d53ec92c920a032c5a8bad7f43d10302047c435bb5006730650230747323ddae7863fb2ca2f91c5ce92103a44abe4851bf45661b7d290c1e02d4be74b88965d7e6333dc1c274a402416e81023100a0aeddbe4b6000fce3716073259d72ff1e1be9a0504062698149055ad028d107adb43d91d9003a619f0ce635b9da807f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023020f151ca9a2cac6c244562388c17369f5c451a04b620a6cd5126af8341b9584f77535f83c61cb3ee825493fd431da51e02310091a027db2470f739886390a6f45bf001a8a7f460b8374ec194e1b70309e08a33a9f733fbc0504551f53c4ac41f6cfc080302047c435bb500673065023100959ef6cfb85d49ec88d628c312160e29549569cc8b775761a1b1708eb3a698cea71e4a95fb0997ca40e4c5884587c2a202303e82d97b704635c5d016810b9f6f8f8c04fd80246493748abb2b6b611f63f4dd646111d12fd321f2da10a7e195aed5900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bfbff1db0ce3f025450ddcaeecadf6a8831974af480404c40a081ffda96fd3d429b0b146d2b1b4cb2e26d0e79ebb7039023065009fb7ffa5bba58dae2ebca610819a47b013c71d747f882f09a8cbc90aa19af51a437826b9e8f6d8205b17a8d087ec0302047c435bb500673065023100f194c491806a9d5d731222ffeb080175849b60cc14f1821ef3edd897114391b5a7fd04e1bd4882605f13610ce521586f0230074751eeacc5efaf1ca46bf7df24ed5e239d9426ad13b7e21773cc1900c244b981f4ed5ba108e895ee8a6d7da60e02b70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a7270af8feb0b104a23a4d1a4d0c6b6cdef3071eeae0cf513a73fa8129e97801eabe5a5baa591a069859bd5d25f8bdff023100a584b7107d5f879881b43a01ec45be4a0161743b49f8f2391ea96bbe547fbe3e6ebfb0c79ba55714e3ce807d3531e31d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e0408ded1229450e905dc5ccac522cbac057db13bfd0787ecce3881ec5e4d1dab21dd96725b7afb8ffd97ce9fce6bec7023100fe252d15b08db1d7baedb6e0f438d472a9c3e2e2c11a885c8df28eb41d1329f3eb0738c12640db5a8f50b928252939810302047c435bb500683066023100eda095c5fa7c773701d02ae5fe99af7a78e6719e7d679a2d1b0b7811cebaea3499971e22f9704c21506129a8466a808c023100eeb179f0f4968a56e4724c68f2fd0cfba437c15cbad572f0d02279d5e01e61e805cb48deba288105f54468b1aedcd8ac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230347b0da08c76bdc3080c2c44621e70d3c3c30bb3b88cfa60c5d51ef001c29e0ad02171a1c1fa4df54c008f5032b45f6f0230111c07862993228527ddfa57c0eac04a3e3023f65de253445da7441f138b29d99758bad0371e9a7c4cafda17fe305f460302047c435bb50066306402305b702b7b2aaa9a074317f058e610c643799ebb945278663f2ef303b1ef44cba03f1554b81e040f534177095e707a67950230244733c828695fa7bba291be9b19bc1e953880a352ce86d2a1201df782254a198c3d13107c82d4c2ab4bf140b931dff70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230509c4344e792530296298ebd001c89877fc85834c35c20be5e91c91889b14c1e64638f7676a6a42bbdb7229ddfdfe3b1023100aaa9558242a3050ce47176b98993bb5913bd3e002f41781a51ee0c106b1b8009faadbb1f416b6644808496fc23b2d9410302047c435bb5006730650230009b1267e2bcff467feca7db27a6e1a1ffbdc8b191cbc452f91cd1995fe35944404f3cdaf2a89c25b0b4084cf54de876023100f1f63403601a7c7c0684c747ff8c55830d314ccd0f29fafdac5a81cdf37c21ec0b17e0ca84555d47c9e57db18ee61e690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305e3793323983adc49b0a4b6c52968490bc6af50f1e300b2d7f907c72d1219bd1e39698c4b4a11ec30eebc4c03648dcca02310092ee24f3258240067a2c5b527a40317d48f1dea88c4502a6d4f7d13874383f1f5aea94cef924ad81bb26c070f442c5730302047c435bb500673065023100ab59eb68a603a9414818258c8e5fdb4a15121af3fc70aecc21d50e17bbe79f0ade934e4228c37ed665d8ec9aa92f32c502304e7cf9bf3642c437094b7a7bfcdf09a6a844f724212746d871635b272ead41b16bbf7f54166b5c39a6a5ebad49bfba100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230726f12ad252ee6796c25666d3c27883d63883ba69f2a1978b7f2da3e19e66cbfa3230ff483a56d2123a7a834999ec849023100a08b43dc5d809f217b5937ccd666b3c483c23ffa9d8b90e7923929f7a6b70b4cea9cbf1c92b61df063de4197d56852cc0302047c435bb50067306502303c03535d1d817719eea98659e48277e404afb49dac0dd509164c04eeb019e426207fec4ed807f445671179f4ad5bf948023100bed4aeccecea0d165c4b64b2d1f2b6ca70207ce2e7e44dfb988e903809a7d286e21dc619b3bd2cace8c151aed0a6680d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230081f6840905af181026b029c7fd5fa0c9f4135db3eaafbbdabf38b72da8be61de95a352d8009c08c46f344e24367bcc702305d5171f759839d08dd8e81603db898e225843a8fb12d72720ea45c2527f829e74824300809cc999a55425f52cdf8258b0302047c435bb500663064023055e533a279608e5ad7b73138f1c7667c427f5dc7d8baa16a963e4d95d2c2bb4658df87b95b806cb5c6dd1618c7515dbe023039e6504c9810a9dcc0b8f3997a1433f84a31df35f83863f6e5869eeb14e6f312f47d1de615be1713d02649632a998a3b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100989bb974aa5b008b55a1d0bcb6bd6b7cab6d5b923020501a640198fd011370058d2d527bf55aeb30d34187d9c1c69d9c023100d2ea6d7e97e1155874ee8aebff83453772d86ff82aa0590471947dd47a94ecf336b2f532806ba902391ff5fd0ec1cbad0302047c435bb5006630640230486c4d07ad9c90bc260a390e46473fd8b9ecca5f454413b744a177b64836f2aaa9f726425516e432b541cfee9c3537600230794a81613e80b7db133c3c62ac114f747b395cbc3ffe04c45bdd0c478654a05d2d0559187064d5f0950f8f87d05bb8930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e8141e921f46acd1a3d85b635ed323a0490b7870d12c5f28e788b7b056efc60462677ba667e01fee73ceb66f38369ef002300a8e111b0cda8008ff451e39a5a11c0b317443da05f5282d45f973ed53142f8ad4659da24caebc396eeec5030719cc780302047c435bb50067306502300fa43b19f3a810594e53e111aac8d10124fc999d74dc925b442df36ca6380e80ebb1f89e7372f2af4f9555049d345e330231008373e565bdf0ec8c4ca058f80bdc64531df3cadbeeffd6454490330ecb1973594b1c477006673c11c8a4800d796011270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d078e7f973106245a97a45450a74b8e62e7a189b8afeb7205753029e5fbf6eda9586273430665fa990fcc52a50eb13bd02306b8f464632f82b68691265f1edbc0c0a516561801abea5bd9a15eee16e77accdd083da75a48d5170ccf5877cb04e8a040302047c435bb500673065023067c36f29ba16eb5209985e83b2ca775647eac593f04aede8e416ba8edc194f4655987d26910aae44659bba5c508376ff023100b94dd7bc374bbf931f4622e3c3213821f89fff1a335cc8353215d116366d7311c72e4f8831239d22081489fc84c49be20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d0cc6c383c94a584d2906067f04f60fd5a6d72b399d1710ec0385e79af54f838ad5442db249e89e3904e651302cf14f4023100cd0b519f581c8a26fe7edbfa3bec95118f0e523f8bb4bc2160702f6bc74428e326abe6bb79da4f6a4344c9b8f68e2c970302047c435bb500683066023100ef0bedc2cc842096f3a8ccce8f389338664b613190cf37b885ae6622ee5d3f815bb6e59b341c7ed2eb7aeb9352df558e023100a5d1eeb87e8f528f089907159e8050ff409df9d73780af65292be84381d2c22a9406e75cbd744bc7664a66250a1f6fb00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023057717a610c89297090d683b656a82962be69c1316fcf7232e763555a87fd41feda74259e0f5da21faab3de449553291e023100dffd4b6015d05c873c41c814dc9c63f4a0c1aa45d77c4ac9a81ae5f210e72c62792b3dfb0502663295da5988a168aa520302047c435bb500683066023100e183705067e98ece88b3089fb83eca903df5bdc9498416a3bb398a4442ce386b2f21149643d1ef9e6101b6f09f2d626f02310096f370e3a4f0200ef3f9f95bbe3510a6450c8865de59d87a4747d9a28286d4f484455e174d0ecd800f6c8261a78662430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230319c90dd9daef544041c68c7b48cc2b63d75908f3f25f0fb899959b5382a3e4891ef34f937b0c3e6a91790f70a7dc119023052f7a1a355946b1de6c0689a31e3b7b3747379763d53e3ee2e2b73109683aac0380bc4c3731d6f1fefa911fdd9bd40a00302047c435bb500673065023100ad9f5e710c8872b4d71c2608073d7bf32b305d10c62d24a27521b8438123be50b593def1c8a502557d970246e186fdbb023033f113ed86af329d9d1abf118b66eca3dc00bdf37b8e4d79d64da4aad6b1c4f4556064d5caadbbfd1ae83097011285110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301fff1e53779862eeed7cafcadcf3064eec63c06e522b65fbe84abefd668e1c2b793b44e84b0f1298d512a7f1847780310230397318224584673da1f6db39dfa0f8925e10f481122b652d0428fc2a854e2795ba44f1116cbecfc2396c2eb10e93ef4b0302047c435bb500683066023100c91807468074bb8be8a5585806d2fd7557430535ccdbf8969854494844a47d8bf6ac3452731200eba77719f5281074d1023100a4d655e5f0f257dc2487ef93cc74c94b6d4c81feb340b76dad90ec3f631cf4f9d05aa2ecbbadade73844be05e25eb9070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310087472a33817ba283aac2299dfb5c373c975219909c4fa5ff584ccf440dc99fe2f5984e058d6452952149fc0ecd0ac7b10230106af20a2efd63199a002d503beca57b6245ec3fb2b0662dcc22acdbaf9a51ee8fe39bdfb2e4673e1815b74be9319e860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023045abfccccd64021bc461e568fb13c6cb21b193b71d0525b63acb4f20b70fe644df01f9279d87f7d50927eb0773f6179202310098057c62a0e1b0f0324e50b7d9b187e62932dc61012890c53edb251abc0bab1e361fc57d26b8b32a5e2e8f70eb673f370302047c435bb50067306502305bbdfc92203967e73cf93de575ff89fe28b60dcf1d81c3dbe50056e5ad0585598505c48f34cb28689b25d0c077950d89023100f9313c6ec03bf921020ac7c04647599b8006034acc15f5c28d1c8a19c6dea058e7c7bb0bd0b968f59e313a65b63f468b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023039965721f28721de1c424130d4c3e900a651a5fb9545dded6ef4764792cba5d9c0fa062d710a3a228c4b4bc11410859902300b3c2ed19ae7a2739ea6c40a9a0062bfaecf18c3155d09d03733203abe94fffe0ee293fcf2fcdd6d3451e4601b8606a30302047c435bb50067306502301ad83acf1f60749f9f92e6bebc9562b1245cc8a82d41ae3eb7e576698694d0e5d79f4116e2e30d2cc55458d320c20db2023100d3f62c021705a5b6e9498cb3de4b8d0e3dc0448b3ed99b46dbde2d7d9059e8a36bf3df3b90d7ac56ac37f9e238d4289f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100db5a189a7983cf62c2cd0caf681379b7c58ba3de7c1f819cfba63ba11282bff08f1307a228779858606236617826fd72023100bb528d8ce4345fb0f51539a84e2c826b4bcaf58e0e54f203897be31f7ef2dda949b07158a0edd3b4e8041b9532ab3ad50302047c435bb500673065023058cf7b927b1e4f855c166eb6442547bfe739ae35d0b71030f330287224fb5422812e91d9de943d8e8042dbdfd83e56690231009128ad784cfe063606f16e0c3855b1b7167fc9bc39f8451771f07e55a02f383f102fa643d2ba1b02e669fa9018de793a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a81710091c7af86af16fc0c8eb772c7846fca87b8502ac7603bea9d4ca5f7691f24c1fed50e5e91a5c8938728bdba834023078b7acfe87bb186168af371104df99e7c2f7cbe3994c8b131dad7eaf107ea9c0f7dbbe7f2e934477067f0ada3b8245850302047c435bb500673065023100a49d25ba75542d0e02cdca4695c92a9316aadcaacfb6d71eb1394e2b0c666e4a162171b6a86463eb61eeb1ba0cbe7a3102302b50f42cf1a9baee880da91c483eba24eb9bbb1cb345db0a8c665b0aabb86b144b30e1c302686da9284ef6f5a91a007b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023073553ad56299a0ed1d50ac72de541afdbfd3184bd0378238162d919561d824a38f93c2cc3b38fdab36033c7343c5860e02301180eb6e837dd492402d6703afe49e944a289b36b1ba72025d1a26806e8c56157c9464a2d8b93ede7332640d5b3262950302047c435bb50067306502301c7c14bea927dbc3b6cf80bf250fda9c270a4836bfa7696f0579f543df50a80790feb34977d6254f267070f7a41f505a023100a8777d4f39d3ce13d03ea7fcfb972f14d4406945c2f33093a1b95ba3b97d21f9277eec5333115491a3526176a1423a5c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009e704678391a1bb851e312fd7cf4d6840e325c05dcb78c45318e0575f2b75525a525aaffe4552d99e51fa13805707837023012a4c3d6e6b04ad374c3523597f88b825a2df34d6b3c6acad226ab6971b16d48679ecd692d42dd8531fa9cd84b4dac630302047c435bb5006730650231008f4ae2eeb370a8ffaf07e5dc82520ccb6c686149bf79c3c37ab7f73d7e87f0febe60dcda0e237cf9dedfd25a865d16c402300a390d7cec6489669986041776917924b19983ee663ffbdfbf6c399a743f0edbb91320ce353ce4e82ec9016802eed8b10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300274c9381309339e4835c6e005b1b89f69046bab02c7d6f0f2e5ec955c655bdf7ee296a045c3e61091692ae3c88eb90902304d16a18049289bf7b461d18258364bf33d8279f5864b2e111f35a47691bfb416d61ddffc998b606fe9718a844bceb69f0302047c435bb500673065023100fea907d203e0813de2a3a12108e3fe75931a87bb5809dedf13f6593dfedf2b3994ba36a575497b93238cbaed1d079bb3023079d473e7b2ba3208bc835b2228512ad5f2d21e973ae749cfb4b5b06ad8fbdff7c53ab63d7b5ab1821c528dfd821341ed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023011255a037e9ab31572b92e6239defce9d0e69a9d5faf2dd6c3288ba548673cbdf372a3d371d5d5c1f5ba1009dbdc001e023100930023056178570e40845af6259b34fa3764c08f33095b56d763c8516bede93cba77291a0457e4439c0a62702ae2b4790302047c435bb50067306502310080ad9db1617bac0eea8b1e1dee4ccbd3fd0e670d0190287a6a518b38fd47cfaec232f4ecad908bca20f6c4cb87bd6fb70230351104b6d5350cbcd34cb4af09cf55b6646085b5b0fe2dc4d5d67dfc6e1c41efb95e587b7466ddd207d36e94976559880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304e3a592565bf80b5cc04742be703bde524bc33282c8dd7c636dae2a5413fb109971b46c7b5b0c344f4e5d878667f50490230396d101f8dfaa54ce9cec640cae576571101fba04516bec9ed4ec9e873118da8ee265ab42145fb16567d2393a0f7dcf40302047c435bb500683066023100b72e803df7dbc7710b072a15c145a00e3d97b2407259b3bef036b3f6455f56832fb05e31425382ae83223adb3d41dab9023100f5455b6aca634fd3a1d2447056fca88bbdbd8421a4485db81a6a37853b9b022eb68483a422a09931f13fd0188254e7090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302fe9c98b371665d66d13ca6b78889a508dd658a67a635ca415bbd5497a12c63e02f68207ca3066f4aa51e53b6e8002f90231009917454c9eb536d4e5b7795f0bee2449d352d69e86878a7db4d2c40f64b64c16912e1deccfe2ffd771b63bab511636750302047c435bb50066306402303a1b411e77df2705af25d1dbefed4b38f8552418267bc7f9c293bc7a624d9e41fc3a06deee9a29e573e9f66b618a2aab02307589b5bedafc15673a9a79cc311cbb23a5f24a65cf5a6372f9e5981c4ffb6266d094f97dd5cf66ecb141eb86044cfb7a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b0a8ea55413d0cadb60f071c2a95f4d31c0a79c04017f937625821aaef478991c2a09817705e95deb424504f60c48c810230061d2ae6a6d4606896e439c512e9e346ec662edeb41c7874d3051a364633fb645ad02678652f06f8aa8877cf16e1b4bb0302047c435bb500673065023030476032a49275686e6bfe1b29f15436ae44a0b9f4e3bd6e5749308981ad2e31ef3baf20d7a14b250aa83ee864f52f02023100c6ddc941192dfe637dd2ea1e372c1259a3855c1c3e76449051ee801d3f0fc63f9021e8ce8f0ac33d8393707169cabdb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023037cfd14c6354bda9daeac2029306fb61036598697590500ac5daf3bd29a5531d7cd6047719f2e557a6f0649b592b26eb023003bec9638ffd3139192754bd4b8fe73f1e88f6e3f3a6c83b9eb5888444dc4221c6b10db8bcbfca25f5bfc79406cfb3500302047c435bb5006730650231009104093734abe75610efd5ea94759681f5e68da00e88cf3ca0b01e89a076a1db3f5bd24146837ea456cc7a7898eca15c02306642fc1e3a9a0ea2982c4bfc544bcc70099cf7189b7268258c398466c86127dcf521a98ba3cf19cf3a86efe12658a2f60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023056eabb3243ef90a64c4b423ab9e1078e3fbedfb94c4bf712418a9f3d6ad530b5f7b05e3858c64a6f20b1d7e67cff6422023100fb2c834aa379f5bca21b7f0949919be7cb7acd70864ba691006d76dbbea2f01824d53a59460591ae3ab23b6e5f7987250302047c435bb500673065023100eb61d039abce92683abb52d16dc316df76acebcb23516b48df3729449623930ac496a0d1db0ca904f2f50d6d57828e810230479f5bbf810d56f16c93f75dc2e58c9199a9622e3aa4393a4f021e5645effc2fbcad60909ed1126b7c919d7b44b3837b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e8a25ffcb03c5fc9b67745ba346e0d23e4e45134bbe0811d2993ee4aa0d3a7583d6a83441798e8292536e4118f1b657a02302292df7b78f9711f3c24d61a1124fed53ded362c7b7d632acdb336e1ef94368a40e6a62e996c8202cbcde0ace49e7c790302047c435bb500683066023100e5cfab2e01fc5f466d180f5f1b53e709b58a93fac0db76b36be7d5285b68b51c7d36d991eb3675fcd8a9f8266953364e023100ec02c864cadb2da4d18f2e49b5205a53fb34f7685c97c07c8f6722f1f6c6271d50c25ebd414d7afbd9666f7735fe4da50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ec718f662f85e6a869bcb887fe48e7c197b4456fc43f714c88cd667adbca38c1466db3739d6d1de527dcba237ed01a2302301e766da3978c91806e5cf66915834d301a2b54a0aa185805ee2e42dca9668a218d4a8e417b1b1b411d5056506a64fe710302047c435bb500673065023100a67ab4dc153436d0ed0ce90e17d461a2f358b13479fe4e813b1f0848b82aad849967f7fc0ba5facaaa1e7a00a86cd39702303e65aadcb46ae67b17b1e75364fb74858593be92383ac1a32587341005ed2f6ad7758f9806d2fa1f1d56ec15d91a0ea50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f0814c767ac69a131e1a5f1935d301f5d1641df709dba7620f033da0c773e9054da80b0496f11856588df362f055979502302f24d40d6f832f452f0379c936a4a8614dddb1a5c6d0bb4821a23990d5ce11e215bde73c18158356a081b1ca79b906380302047c435bb500673065023100c2bf5d018d229f8326cc1029304d8d5134d0969b9d11dab92d4f55a3df8a857e0ea9d9446369c5db7f4fccea5d3f0e4702303f0856eab0953efc329f852a54287067fffb0047dbbb38cfae6dd16b45689a347a7d0de0f0c554258501113fd60b7a080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023037738ec38320782876304703265a09aec650336ba88d417d94f4f94278ac2df19b09b1989b5c7d6a636829135d5a9f530230268db7f44a3125634c5f6c64edaff29d5c700b56ba31cb8acfc39474d72186a915361fe38d6c20cc664d43b67d9d638b0302047c435bb500673065023100961f3ed1fa9dbe6c33506a11bc52560a6bd0ee4a4a7ae516c27f3f096d1e5be38cfb122feaf9724b2f60c9baa50e074402303cc5eddd4c1b450c4f4b059d93ea1283956ce19b5eb8056f29bb4ec8c6d10faeb6ba415b147ea09fa496c6ad4c13bc440302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023063b5f074d5f7aa6f49dbe5d4ce967879b5a868b6ac56c7e67b602dcebbc3f22df0a79fe3dd08927eb0c9d9665268e74d0231009328698f24dbfce179033ce6669989b3a2628a6bd1f0040b3185b9d85957113759aa2d7b246a8d493694a1a6bc0588050302047c435bb50067306502300307f76828be223646fb43481de46f8195d19f4889f9eb7c3db455a188264f4dc55de7ca7aa292ffbda68b6cb9ace653023100f5e3c29f499f8e839c47d7ae6419f15746956eb1948eb654a7facccd965f9d22c0b0725251841491329cdcc54693e1160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302e2bef68e8cda763256688bd2c88a1daaceadd7e644562ebfa9e6036812d744725b719600772e399f45ef9668bbe06ea023100aee904252c552b469ed0cfa77636f76c10dbff51a79eedd39dc47748987bb3fb2d6701f3d67face01f73aa33721a4e7a0302047c435bb5006830660231008f108182c31c4915489318cffc7a8ca01f1e635dffd9f9539888691fad8deb387a2313cbe6cd95f85940f6ec25caa7b40231009d4fdc213d9a41c881983475de5992dcfb5b25894fb2a00b81028408619977ca5096b95ef491172728edffd087cabd2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bb09d90d9d9c0795454c5328ab4cd531d32f7e516ad25e78131689005a8dd5c9a6c2749221df8bb6efe7a11481f230870230111b40faa411422ecb73106fdd5a2af4578321bd9b3a533aa8eabcc97390a38423a128d0d25372630ea14a8b3c3b53b80302047c435bb50066306402306e7ec9b10b795cecb1954cc6e284435bf343ea310f48196b146ecd8e3a73b588bccb994b5c04d918a63608c166d2595202300b61dfda36fee6c9aa13ae694d0c420e8c553141f3e5520dff7093162d08cea33d6d3af56266bfaf82e7e86d77fb01880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a578e2c7118f9eb91127c4a78902e821875d06313512a2ffa38dd40ab205a7df01f4eb20e0761d95920d04baf7910bbd02301aa6321b5254f6137d6ea4f87dc19c9ae73c0ef4f53718dd6aa734ce9100bc93a90bcf4b18a3ec05f7e9ca0fef29e03e0302047c435bb500673065023012ceee513c6e671bcd69de6c8b67b694b87967fdd8dfaa87fe4fb4cea5d7632cfc6be89baa3908a872750364d1ccf83b023100cde34831ab7875d4102651ca6ca7334f64579b32a53d37baa07befc46dde8e0ec16191aaf66ec5979527d2117eb7793c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009464b92451d43201641a5d65fb5a3f10df4110d65b816039a347c4bc7f2d933b749c780ea05c12fc4f71623dacf10f4a02303e48f58dc30248297f7cd7e8aa3a13d83008fa51911659dce5d210e2db3589c95f482682422425b70cad8422d81ab9a10302047c435bb5006630640230033d1e372d65fcbd9217740d65b35624916ee43be1c2b36fcd384421aec2d0909a5f5a7d33df95d2c39ccaa2eb789eeb023016dd1b2d8da5c9b65238b30a594be6db5b3ec78521662c1c552174314bde39ac9e6f4931c181b709a9e08821b28155ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dcef18d556f42d9ccf14498e03e596d678775cde52b00b260f087e13b9eb841f4d51aeaa057aa3a2ccec3befafd17748023100b75b5b72ef54be7d40d079d5f8f0d0bf02ba0cb6427b4dc3698d4f9859a741df74ba3b77737a5bae4dac11523e0412fb0302047c435bb500683066023100e481e621c535a77b5c570891758a9dd635e5969c73a7966a4d8db1bc3d96840cf66d244297c4a9b21b1001f57dd3c7a7023100ccb5e579bec3a040b51dcc899f1fa153f30fb82383eb22d4aea26e90052ccee6201b913fe4980b11bee5ff5460e260490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306d91b2dd20ab4834a4c65755fad4257ed2a7538618f8e8515a2c7686585ff08cc2d7475681f20618db64b813e634f13702310097f111e0330fb4f34e0aa7c666898849f802b03c50b037196b42d9a6e2544c5fec8afa498d50f5ee64c01d2b0da103790302047c435bb50066306402300647346e0a221f04268c052fbe4a02b51dccffecbd7370f1051a02012a901d269e25dae8d80a2cf9f98dd48b19b047c50230751777c3c73082f57687d5a1826bcabf8e991f4d259161d4fd98dc442b176ad4a1fe5398b1a9d2ef989c2c3ad98d3a240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310086698aa957ea0953e10a58bff54f2acd7c4e4934045f5c4513fae2306b7d06ca4e5b504a0a440a9b61f7dc1fc7c95ab102304d0dd8174cb3ef7b73743b1bf70ea0b64c923c2af43bf2caa876185f8ca7e04caa214550af8961b6c96616af8d2a05820302047c435bb5006730650231008dfe2081d75ac823ff3b4d0b8dc5dad5eeb09f498a4bff037eea3a62c60874cd17ffcb74cbc2e2d82446d173c5be435602306819795f5b445a05d9865cd92f9dff2aa2489b24963ba191f4a2b22a5375f59a7ec3a9a6b786f4872271b0af0c369df90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023072aedf73652b5575ecbb33de92ffae7c054386e9860543e6c7b5790b48f219560d47e8095ac92b634ad0285bc3afe5dd023069e28de7f890057ae7a0ff3ae000d160772c1e1018ab8bd8d4fb962be68965f578d28b7ffedeb21decff175a58582b160302047c435bb500683066023100ee65b12d3feccec43f6c940cee6cafbd44d47419de6cc55ca13e30676aa9c551e04a1391267ce5231fa69ec0d8cd4722023100ea1c5a4ab0aa86c62e03e82e74fe084fcce82c429bd571eae7cfd4a8787da30da52bc313e819b150d13f370c7778c8590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305aba7422d668d0c57d7aefad6986ccb4762e4f82effb5ea7d5b630f7156ff78ec8ebedc3fe28fcc5fa510d4fca4a242d02306946ff9b1c3b12e66ebe4e27c2cc3b945a8aa16f6cf7855236717df1f4dc2d74894ad1156d12a181256aafbd51fb54c90302047c435bb500673065023100cadfcf7b3b1acdae14a779b39cc0e439bc562ea228c734c06490392d40aa722ed7441074ac335ffaab8c7d399575c55d023060693415a1743c01855d44b221d262cfcc24a9357cca38d9d99023a716a751d6e6a32675471a2e8402b359270c87a6e80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023033b0177aba12b631088548b7e0eddd21b9cfa81c1533eb0044799acba7306f001daf6b0fa0693ec21d8e5039a7125bf7023017b96fa08713f46bc14c9cda10cd9ed988d978aa0db25c02189f8f07468e64ff755a2c72caef83d6a57ff279e8e9e6d40302047c435bb500673065023100e09b3574150922f615a614a492362fb25e8745f52368b19ea5d820228453f974a4436325c7f575cc300301c0a366158b02307bf0cdd62e23b2047e0a94116845e36bf797735361d7af8c8591908a5041accb21a38c6a2923f6fe072544631bc24deb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307c4d2922a000346144ebeb976a8c7451bb69bfebe00c3888115c415658ea2a5b7b641295b1785b84afba543f529c5f2c023021dac6f73fa9f9fd1c5c0b239fd92561e65c4be0d5ab27a56b7165f58564b33084315751a2f03ec887430ae71fd0dd9b0302047c435bb5006730650230290650cbdbd96be50a641e12c46372cf74e14a0440fd1af60f9b9c55c06452df0649ab9620a5cdab5e06c175412446d50231008285c079cf5df9718f024f2496e3c8f44342a224647c67d13cbdb5d44eab89b56a412944ab37ec7e5dae71ea5344be070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f1010374b84d90831dd8fad5aee5bb2714e7dca2f7c33d60783e00f176cef58c175642f2d42eb982f753492377b255da02300291e1d27928b0ce39113f69f1499f4c9d7db70c4bcf4eb3d4453e30bc9e058b459b6b7c87d489c253316955806772a40302047c435bb500663064023000b4be52775e06e3bfe02cd3e3d38d08d86569f2621f6248452ab27585952dc372e967784c1b07b48df7ffc2660270e10230232d11354fee08ecee972b26d0d70c90a04580a42095366cd295860c8a99b363be7762c5a912afb1137a577e3ff1ea700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023044bbbb79cd8285d3632110195ab8482640d2999cabe840b3d85b5c7f52dd515016c05a6bfe3a484a6e22a550d437d95f023100bf94eec893a068e958b089ce3bb74a7dd1c5a2b13a750493a73ec4a353cba9047920b17abf8e98d280de62db80f37df40302047c435bb500683066023100dc0b3219f0a1e29bda87d9887743e95eb6764f7e609abe65549b71460363fee31b94cefa865f83e8f8b358b10f31c405023100d42baf82651e38cb336b140527261a8a2abc6d384767a4dc66751ecfeaaaf8c9a5741554e263ab5893dd0ca7d42f0be50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305b74de486dfd555d64eb656e423a25c2d4379b4461a0d3b55a8e94e51fbdfa224496389f3d6443835e7cf8fe7ccc578c0231009e62a2c3558531be63cb491ab9299fbf6b8fd79514d6f3224b709d1ecb443a44e67f26355a0d482633a9ce8e5d94ad2c0302047c435bb500683066023100a1ca6873dab26cebb3d74a7f795f916a36e523cb40c1889782f788e8b94ff80ecf17185e4c336b1bab1c8abf4b40373d023100cf522466f6f0f6ad1b8a43f49a50e756886afe0cbb89ff4e030fa6ee38c292979ecb2b032873ac14c7889edae10863210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301d117664a492b602726a0dc597b92cf33eb264b64485b43736d8db44306bd22556e0547ad1f5f2022bb5c0a90388899e0231008bb01be52a9015162b866d31f4e2730aabd90196c3c509529c678ea9940ddc1ae87c07d96c704bd549f80a7417078c000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fc2b1eace8129d8e5994e4e6ae5f2d658f60f3112e7b8af5a428057b84cdb8f5223144fd5f87ce504ad6c8ccd88cfd6a023027f46377f69731e65656eac07780eeb7c2e35e6647d57e9dd36e493a80803491dda192289cab19934403585d1750a4bd0302047c435bb500673065023100b84ac572ca1faa8830322e8df6303ccbbf78aafab2c135b84340facf61ff8d13658e61e94ea7ceb15516b40377d28f2f02304e9dd7150eb48deda7b2c693e49f84328a943a3a75dea31bb523e9a79672da051819a1f00a30f7843d9bc995a4eb16630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302225f0bee333cc80eaa02592e94e9654176bb9c7262bcb3565def57ca3e517515d0ddd1192864702f37075fc11f592b202301f14dfbd545586821ee15fd059f4317e224fb50b902951c2d9112530f6884a88bc4649d377a030db839d0b05716c84a80302047c435bb500673065023053af330fed88f118464401b4fbd79ae91119f2a194575053345b195c2b2822b4099fcd269fad6b8efe12c7c228433bf7023100d603f7faa742b400a61745d847eea87d6a7189c7d67ca81ec2a13e07b269be8985c9ec33013b8341c71ab7204a196f970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300e98f2167a3c3d40e2b240d4c14829487f7dd5ae529c2b2de3761f091728ad8f5314355c3ec74984433bfefd0a8c1f5a023021d39509df8cb5eac96cb1d1d498247b27212c050546a637bce34b03867370c2043158eece7b2108af626d477fb238900302047c435bb5006730650230264323b67e27726b5bfa7ebfc4a989e6b45edcea0071392d7ac3896fa54ded647dd221049ba2dbb8ac829da071ebcb31023100e8e4f358f40efe92005666466ae411d4f4d68c8ecc7c45b298b6bc9a3ccef7261b3e7d9221ca1ea59064e8aec56c64b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023026a4f08cf3b4caacf8b516de721d20f123909894d510f663662b5767621a2d7b666b29c9bd2218abbdc09d998dd0fdac023100fbaaa526154b6ac3b999a331f3a19ed65a7426b699bbfa631541a3dfab1847db16664be3c0af54576c63817cc54ab10d0302047c435bb500673065023100e661856e31f862af237b2155336b2914b902e1b2a23bccd88e5900b95292a61c80f4ba20a9fb1897a9fe24dd033864d902302e8cec79655eac922fb6606a9b2db25ec5333849cfd7ddbdedadf390f289e69142fc4eb655dbdf3751aa7edd29aa79010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306fc0412086e495075c909551583211dab9396feac65192eb5263dc428bb40fb9187d0aa4a11eea2344f1d28aebaa7dfb02310087a068fccd0a78e06cb9e4b112c08fae709fcb13d0f2674256666c291674e1514693556dcad8b7247ac6c5a395e6d9420302047c435bb500673065023100944936eef47aeea8649850f48ada01dd899d3c3427261d33f1f9fa024390e55f161c0aa1bbc69f3b72daf2599ba1d29402303b9b7994ab0b51336045203fe6f9f69706c52bddf06c977f04d23f6c1bc45349818245d745ae1bcc1712f4145414f6e50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100db930346bb7b2ec1cd0f7a2024e23625d84458cef2d6b3a27ca271df784020e083d87e20e4da71400173468623a5704002303486c9b4c94efd16d78c93083d5b3908d2a11ee599438957c5b7a1858e0f86a12ce910c043caf24f1b74318f825d8a170302047c435bb500683066023100c4d479aed1b79a84acfd8b6883b7145c753e4f072bb314d94e383bc3f3118cf41c2bec3137b8e793b9d6abefdaa15cfd0231008fbc25c0028c086d18bc41652b7c06b5c0cb05e8a2ca4235e538aa3d0b6258af606a590f10d151693d14455e197ef0d70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100812ec908fc3084b8633ef3f6ca4a5908411f70efd152e028cc75fc69710c55cf49041f992ce2234245040d59a3ba589c02301d0eb03b11a04f441200a094330e9791faac6f41a154c8328fbae2f2e19a5a9a3d8c57db318928fe396ebd87b98cca540302047c435bb500673065023066274689ea2f3605c63d06bce26639d2d640b9eb7baff51df98760b008b63eaa8f73e2a8b7b2821bbc3d7687ff1643f7023100ca5ad439330e4324155bd8d74ed0725148d5e66055ca6e22aa6db653129d0b1370157be5304adc4dc508189a763bc3cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b84dd71636b2a6580e489ad51feacc60035a810841be02c3600abe14cc32214326d99fa7d5ecbd74ec9566ed76dd2cc023076a5d60c5f5f82bf04e15ee35431cff6036732a7f1ac21c92776591c7a21c4da1f0b0e30a5e525e34dbbbfc0eaed357b0302047c435bb5006730650230522fca44a33b076c927bc0b1f72b0f01cb7fdd0dfe3257cb58d64407f17180bc7ac9f6245361cb9c1b7806b4f069d70b02310098059bd00e13a34f6d7b0799ad56d0c3bda17364bd66aa50efbae02f28510e9fa0716d4c315edbf275dc034e48b0ba5c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cb63a7132103d972fc37ec2fc5dbde7647b07759b53c91a0d36cc3d60e057d9163491fcb3c5e4c70b19975d4d023f53802305761dc76caf27c2b43a750d40113cf94e1e92509d5519e6086c386c776daa57fe61e97c5e74dd67581fdc195984df32a0302047c435bb500673065023100a9e66cac17d736e315c78988e43a2b7c2dd94b077d3b0ade5e7cefa9ee6ff5fcc771b6eb23f30ae8d8dceb6fa9fa54f302302e3e900247aceff5f25c62d379baf33dbd5f6229f71bdeb14535455d055c6af791fb0bc145bf6c3271a2f2894a90efa10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230649e9ce01e7ae44ab96f66507bfbee01045f6d6dcd981c9eceee5be54c7c3be4c0cf58e8cd5561fdb48f7833bff16e5d0230344c5af728afddafa1762a0a31b89b9ce2da3df87721c61706b8c244dea89a3d79a55e0cf0cdce44fbbb4ae8981cf3410302047c435bb500683066023100e75ceb0af7b28a320d4aa6dea21831355c520ece36604b0383a4359969a139d6c658a64045f8b0b974c2a0154e267b960231008ac046af85e88503b4bd7ce0972a704e49286b91fbc47f0477efe3d85469b18a784a746d96d4832694cd7d44b24731920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023058a4f57d661bb1a695b8834a067c9cf6cb801e65c5ac32656845af0d66897e78810e7ab0da128cd312b9776ffd83464b02304817c5f235373cf0a42d1ebbd0d638f4c7d2b0d0b9b8c98fffbac33fd8f627a8ae1f7059880b9b0c5c881e939a8080e10302047c435bb5006730650230471dcdb16443b53b708e56577057fd98593db9d24be7b7cfcef8263a4fb0bdd87678b330e58cca6a0da789e43e0c0ba0023100fc1c9d23784f418100cc023e3fd3010ee75854ed7fc04b6155b4c9827b771d07ae8f68f4622760c2a5081315b1f798160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230318c697e0f3ebd425658a4ffa7e9af0c6047c3c8874fa1ec775ad4e8df88bf3a4a9d8ed40b895fdec82a7940ce7ccdd10230650e263e122ae096ba9f11c5149bde68233c1ba7b1acdf78188d9e29b5f26ff218a9897d49fd8766858c6a93147ff6030302047c435bb50066306402300b467ed227abd10d219cba2f0e503eb48dc20948a322ace4d9c45d099c247ecbc3db7d3a0ec7509bdd712df6b0a7b9e3023043d0905c66ecb41efc563bdcedbdc99977c032aa4d236c89d27b4997dc841a3a09ad3fed93af489179a5b52b7e6bd58d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023008b82b2f31cc1b2a23db4f7df1da201ce0e01dbb34ecb068b1b985f26bdbcd763982d050e5133b44caeefb288da1b41202305fb5b622ff0a55b7b46085da6377d9504b7c4c2627bf529f2e295e7b0c99fd874a7a35add4f8c72c600594ecb547a0ad0302047c435bb500683066023100a0b42e5572c042e662c3832b47e10751741870f880e7d2f5a1bef6e94dd5b91cb9f013abfdaca919bcdcfbf473f26cb3023100bb356451d0819c116f23a2d9d6bef37d2e193e3d252ec0d7f10bbd7915ab5aa5e6935a95b6b88c8c347fef405630843d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302d99b2c48259ee3357e5283d419fb402f38f4772b99cc746d8e923cf4c2610ba197b800f889e3c0ebda114a30dd5a5d70231008a4157e8382e434362b44d9f267f36d4b5f2d47f9f958068845ff444e8f8e420a5c71ee27db86871f6c147c2e97589350302047c435bb5006830660231008a16c38486d2337f3d5bdf0b573be945a9b22f500f4f14cdf32f5bc1680b28d25298db691d82f28ae6cf505d75e5a603023100aa0666e36aa45823f0611a158f6709cee25c6fb0fc8f32073bfa6bd67f6395c8e602176881ddd4e749da2c80441320970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230496e30d26e349dccc501a2f67b9f40bc25e040594f0c5edcf8ef98e6e41f10c14c0d383f4b6983b7adde306fd011df72023100ddc0578067e3fb03a8a77a147501723473d210dcaffec135e7876addfc116c2c8217a5fae4ef14a38f9252b0ac117e110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a3088b93de173ee91893e362d829d029a63b622cca8b49e8eed94466501ffcffae376c5095fdfe6077bf46863f263a690231008dfd05d773285ecfd8fbb100b72679969dcac3d0a9ccb67b14668439ec1cd98ac6a285ac54ed710551eb09f21d431e5d0302047c435bb5006730650230651e66fb0e4dbfc5806b883f4cbaecc5427cbcee7c011744b150e063cc8afd480579deda086561f91e34279a457b628e023100a1acd9cfc40b6284c6a8e0bdf378f3ab838ca63d0d5b34b76db3e147a67318be1a915a5c3be0fe7b909e323a258f81080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b98088e1b5ee99dae4df1cab161ad4807ef8aacc7ceab78d58ecf4f77693c65ee8890fa92601b52032b0d3f811c58be902307468356ccb9480d0e372ee0fb089b49a77bbe110ac8369de17384360fe2a3a65de9b31e594ddc44917df992fa28791e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310083d3fd60af57409b6698c3ca8f767ab5d5c8a99f31f8109501cf27a13f732195d871719963013459ecfdcdeaac583b8802310096046a560781708ceb00f636dfb13d3733ee59cd41cec1a8275a62a991d77b2773628299a09aac3ff74a0ba1896f83be0302047c435bb5006630640230735b68829872fcf9eb609c729894a2214d4fef58f41526c6a7d503e5866c768de1a022767cdb865d5c0545817d1a312f02301ac82dbb1b902b50863a704f752db38e8e7f7720cc0237bb2d57fcd8a9a0c610c309fc9074980c45836a1dcca493d7130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008006db1fe4283edad9328b6a1d22485430f2eda159fa049c46512bea99f95a6581203e28da6cc52d011c16990600cded02300c4ca557867bf42329be8ec88bc848f37c25ad76e5dc56bd606840077c6cbc81b9f6df584d0e2786f4b20349a8b6641d0302047c435bb50067306502304318e921256f1876e09a2122c72e76e76e4404b24341873b538abe6a94441248da3e9d71e7f6b02f5b64aa9bc62810d0023100abbd5a923bd2b68548b2ad571ecba89f869c7a4e8ce03c95a60b356bef47be0fe3f416bdf0e50e43eb5688243da91e8c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a327491f5e8df0dfae60a42b36e0397eec8499f10d74334fb53cb5ae83e2a1525f640b49f7de2aca79aa3593e8c475f1023100c59e660e3372ee7fecda44f25df87ce7e88c3db08ae5b3571004a5020be213c78b02f20550b82a1f074a85540285275b0302047c435bb500673065023100a4a27fa5d53b8391b28221cf511881340263bfcb7fa6d4cdf32027fa108d5c0a0aae91d8ba2e7191145cbce51ac8052702307a3399eb30b6afc61812e11d901187c4619774f4787d31c92a144119ada4b0a8f575830866921b17c7f365a86fb0d3970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304a7559c921dc5404de8b21d6d02f4c2706425cb245b7e8593262e8b41c546c01ac4dfdc3ef3c4b6b25ae8d71fa0f5ffc02304b2dd8ffde7125e362165a574dbe031f54538300483a2de99f1198b77df74f5304d5d758acfceab70f6d07965891b4340302047c435bb500663064023045d6201d406c2472eda7ee6fb9f1e5e087c6d75c28fe5515fcc04584407d1d869ce7666e0a41ddc199eb15b560191cac02307f53eebf2e7d71615807553a7ddb958e038c9d0c2ff72d4f875fef87a43cfc4f69bcf42859bbe785e669429f99cdf7680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307ddbc55e3b65403ee1d9c098b656227fd9894370ac9e387ccd5057886f2eafc6cf70273f542687f4be65a8c9bfcbb804023100ad837bef222acd53a62fd7af70e29fd134d1c7d798123fdf5a2e4f2cad214c176b75f499e8abe78b0f6879c35e41a3690302047c435bb500663064023049b2c5cdcb753b4b528112054e07ef3c679160e767fc34be68e1b9202fdd834006e3ca9cccff944190089aaeda1e0a5f023019dd5bbc5fc98736b0efec066c979a9a37e638ef92a81620745070a5d7c37d6b7a958541ee9cd185be20d51111b190c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023049931d45db68ac521c7906b1f3be7a33a0a5bc378485ed2716e5724e955c0eefdb04abfd1ddacc5d5f72052ca7cbb0f7023100a83306984dfc5c95a7ebe8a3995d1edff6e537c9ec33479a1e43f4c51f72628b6294e4ddabd5e1189b1208aad3fa7b3a0302047c435bb50068306602310084acde4c87a52971ec35c192cab80c370e27b3403e4beed3fc2a7b8bae2c0a9506060ca7a36939a350993b6e498a22950231008e20e21ab6e3ef58ed6dacb9702642dd1dc894335bbfe4978f3893f69a33138490bce810edf5e08cc3e3d98f0c3e1bca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306de7c3caf8967a4afdff48f331798f469bce42d876ce63508a70a4bcb4f3ce8d70cdf5c75699ec8036f9f64dd21929fe023058e103f60b5d1ebb04cef1eed29210f5922dc3a4293446f47df01430a3e72a1cafdb8295dd00e9e46bd95859bb2b8a880302047c435bb500683066023100ae298408ec03934eae8914d622bbbf81a7edbc0118a10e09b339e62317d7166baecce14488b6fb376e956bcff8af206f023100db5f8974d137e6c83bcd572cd5dbaf912421c9f269083069439cd24f0684b1b89f4141e9be0969dd696598f104c6d9470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008a6d6c4699e9a85ebac8274a431f3008cb022343ce27405643ef45ce2305c262b21c23354e5dcff4f109a0e9349a7bcd023100cc29b57c0cdaf9486cc6c213a242c35e517a3259a4e93e27f96c40d629beff29acc9e49aa043bfddab71ccd7bc721d650302047c435bb500663064023062cd5d2a08596d1e570281d3c06f1131300287ad3f7fea0d7a29d8ab3ad2d82fd4381639f2c3fdab34a4947048871f07023062dcba552aa3118307b1f6e9e369f493b3233e67472ba8f12e1e6260f92304e08157f028c972e1b4bc2cd0c67b9abc1b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dc7ae2e4ea471d2327a36da6fa23ab8c17b2a294328273137f3f38791636b293e39d8e930fc121f527979e807945b47002310085282ac8d4bc70d4dcbdf267d99a3328543889b96ac97197764fae0cf93647d6538e16f504caa80defb9fb3b7a3a72370302047c435bb500673065023100ce9f9137794bb590e439b7b83694445fc2cc871747d5babffcf17b6ca47cb0cfa989102111bc88894dfd733ed1cb2dca02307c91d04e1879650bd3a79af6bda6316e4b20ae71a96f9f13397cbdf130c4d629c02c1e14b92400079564ce530c901cce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b478f51ef6d83b9fe1eac5676ec659913c45b06b67f772fbbe8da3d1f26bd698a5ea86665cba6325b7905274fad8839b023100960151aee5185dd6e5f26259942231a86b53e93580e6739b19a280baf50547db979d05bd84cca15c95efd21672185af20302047c435bb50067306502307c3e9cadb723bdebe4785f529a7ae7b32005fc04dd056fc403e1de7c885983e2eb112ebab58a4446317af250f4b742f7023100d608678d960a54192e3d000cfefbe35ff0c9b210fd40fd4d62f209c951eef746e6c121696c0aa7ea9751438a4add3da60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230644b933c5e6365e70e1ea74c7ad6888a2e214ea175a38a988110fcdc99169aecee0d06418e6349daf38f1dd60314ee93023100fbb515cb02caf30c1f3f146a15596182d2c70129627b84690f3c58d40697e70108ac3baee0331ce13a6faf63846774c90302047c435bb500683066023100aae15aeef50432be4329740a0e9f1adb11c420ed947ac52a65af853bb272bba53a5ccd7480cdd56bff8bc7294b477fbc023100a9dabf06751ce951c27a6ea5e09a5145270eb6f10c20acb04e84d976ec7ed530c4111af4f60be9183f782115076bfe650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eff6b8c30a889379c4e6493c25f9ebec8006d96c69e1c653868cd8068822de37d263d04bdd0849a082085f853a867e78023029282fb80ff39dfcb5be9e7022b6f208e9f5dd066e2b3399b603fbc405623045819d4a70e84a11ff0d5b885c7e2b5d7e0302047c435bb500663064023053016bab9dbc49406434418d614c3b1a4ceefc47480aebfe77325938b6c9f5571f193cd0bd01ea690479329f30250d59023007c4791ebce26db63a408f47ad2ef981b1fba8c346420b71d98a15183264fa06f09de3fc55943151159a5f5788afa2df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300e217abd7780317b4c6eba2d83e2045fa3aeed05ef2c8c3ced2faa644f44eadfaf22bbb7bf9acae9045ce96c374ab826023100ac92398ed9011545ac61b864aba4ec04b5063a7819aa068292c8e12b915ff2beb1efc4a7682f16106660d3a3e34439110302047c435bb500683066023100ae65afd50371efa1d5c21548ee50378e09c6554a1078f96cde86dfb7603b871104e62828a8501d1cca7298d0b97686cf023100944e55b8bcb9455e0d88930d83e328dfa75a8c031d73b058d08b43a93eca6b68c648e146406c40f91f927bec79a19a370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023008f5f7e83d3beccaf5fa9ebe9fb62bf4ae53fb92b6c46afed98599b3bd723a327625b7570fa91df985c854337fc10be30230189cf1fbef8db794df9d5a0b9589b8dfe4b9f74fbeb4d5213c8285817f104dd607a350c9e23dae20157fe8d26bfd27560302047c435bb500683066023100e29c381a1e7fcbcc5cd4c7fb1866fd200a0d4220bfb106ef9ea070ed12425cb34f04ed13a9aed01615918d6a557d0dd40231008ab8e43dd34b2a2adec819772e312f0b8afd116ab8e3f468f62db4226d8479280cb82faac27730b977e98c305d37df6e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b7fb064799c88dc5c635fc89906811ce8c1b9036fcfc6232c7c5ab8f2d9f0f5af0e948d63ad19188c1eac7963c0637e90230154a792e67592be7e30f163e539582dd1573f7c1f52f9b947801d1225ebdd0bcbca13867cb5ff3484fa205758431613a0302047c435bb500673065023100fd16eefdfbebb98e50ac6e5b6885bb956fa4787a85f937918aab056f850fa6c72048a8e85939e4056b0b9d202a6331c6023065a6cf0916fda793624077818e3aca813b4fbd12974f40c400947356b8e8037e85111226ab1180f24c1caf042e3a05f10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307c793a9b4e2dec2056b70f202de3bfd82e83a439576aed222dea09227a98b4acc41312467817b48299f5fbf311667c2a02300ba0e7c5e0bd191a15f4eddca0ca120c9dd383f6d318dd1b133e8dcf82bc570144c726581a5efc04c6e1e1d63fa970f50302047c435bb5006730650230601287b79e4df712691ab5269bd4e360aa04a36b181faf421627029f962c9604c84da51407f07c57b11a284910abd2f4023100ef6a94d6ec53ddf311e20e5518a0c503c87eefed9e3e6e35193d3c2aa996b41384c788fb5a0e8806d15abdb40fe9a0740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230651cd5eda87be5b85ef9ac7fb7f3fa4aa23ad7ca9f5ff4e0ff51aeefc89a073fd16ffd90a86ee30996b1d3590f0c96c302310094fb2d2a71dd07a84d246dbdb28a2a55e17cb6537cb4da7ac6daee7cd5271830e0c91a4f9e277ac01feac8d559f8fa520302047c435bb50068306602310095696e11d1a6349a1f7d752dc676e3d3d4d7ea2175dcfd81207544706257a4c6de4f8de1dcf42d3cf941a599b3f641ef023100d204393a198177cd0c764f69faa9c7916ff65eb5d143bfb39bb8e420ae77f561bbc718f9dafe8b5270088037248fc7c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230073b46c02acf23805c4e9a273ff2d92e5eff52296235606b873ed920ac9e8323a1fa755851cdb6278e369430a46751680231009dfee7370e9cc22655101372a2270b550df4d093d2fe49ef276912ae0a8018fb7aac60a2e3ac509e1d3188e16ddf12ba0302047c435bb5006630640230098439de4f2c45c9dae42f0b8c4843f4cea75fd3f0f1353e5cb55df2aaf61333e2923a5fddd7b268c497d11461b6905102304b2241c613d3d4ed3658bfa4d9f31b30ded203da9a32368d26edec957af5cf8e57415272b933edc43357cb8a85c0d0000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300cdbadbe9c01260cf4edd5f8cff879fa410188663189fe6af51130ad96ab00b351c29f5048a73692373f1b5293c3326c02305ac65a8d9e6ddf33998a0df48218d6a058e15104edf9620c83fceb0b2b271f1551177fb2ae3b8e578a6e75352b067e090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f3dd3ca521e648cd98d3c86e044044986a3d9d65bca3128edb9bee2321f79a93bcf1440faf87633ba4a297a7ff840618023100c87ec0acb6b851535fcd050b11c357feb33b4f9423c6a210039776bbc29697f6608a58f24f842caf3391b476cb8d87b10302047c435bb50067306502305cfa28a66eeb21a51bb183b06382f9b4f197490e9095ee96681a309ac7745af0e75036d8ea8ea3182374dc2578b59251023100961a0269d136eb9a81fdee9d4de2f8dc900d63000b1cba73d9a27cdcd9bffdf4e293516db582baa02ac77f4a686dffbf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100eea7a42a8c9eb9c131e1fc7a129ec17102a6caaa32f19ad57a52e2b0f4593090d9bbdd69e1def83d267644a26fa3b1e6023100f1455b0f463c718ed5369f190345340cc25302dedd932351bc4e58fb4cd5eee6ae7ebdce76dced87d1c283631f882d680302047c435bb500663064023067c31e3af224e2b3148ecbfe32f10d40d26835aa07109047dc513ff1c42eb3c9b519e4458b3ff7da995d6a6a8deb2917023037fe19588a01081b4209b653472d7419e6e25f3c14d18e9e6370bb8686aeb854566fc7fa66465516aecec5dfdf99faa70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b70c2883821c42a57a2088255c594aa692d0d07eaded522618ba16a00efe635cb2660b8edeff155f74de75306bc097350230299cbf8275e663f67f2835f962e8a86aa73dce3845fff85daa437a1aba25e233f5b41ac7b949985ce4459831d37f47e70302047c435bb50066306402301007ac52bea424f414c6323506b7a0cfff7ab58b70a6c1cb76e08716878865bf1308d6bece6284edcccd24bdf646022102304d29db52eb48af49eca41b0c0ac41bc52d48f282fd1200d1b3d0b7d3c710b520c7554363f1ab8cac61c61a95927c5bb50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fe35a67b357d46f50f876d42f260722f0b1cb049bb8e47e61b6dedff69391d3cc7c51d07a94e41e4121cf64243e1f73d023100f92ff4e1815d5b7a1c43b21294ed346efd75acdf5d403fd96b388e61c25c7a1fb625e4c81a60493cd99bebcf6f7d1bf40302047c435bb50067306502303e2e6a2a17066c5cec565edf62038463287aec79b964e8e2d17c22f90c031f157e7cb5aa6ace48faeaaefb5bb391c51d023100c98ce01d7c1688840e52d1a2e9f6c723adcadf5c2b5426dcde48dfb51dd861595211bb7c3358d759bbf41a96b6b8602f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300c1df948b386e9a1c0aff16a9b468ccd7fb15e5de3f3f346104a1ab9c6e5e078e2902e3d5a27c6e80146e413c0c7137402304774bc1e4e5894c5081fde68d853db80771270fb8ee076a94094759b291cd8281f0ae68dc42b83c330000b5cc3e0a8450302047c435bb5006630640230286ac736a33d3e67a33679a71e305fe6a07145cd6c9405f43f6ed5743d1e9d0f6dfae0172132227697a8ea7b99f2a15d0230423a42829882e89a40c92cb8c9ce11e266877a5b65fc8c2e5d7ada59199a7d753393f3b31807c2a38d556ce5740a3a190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230336a78f0876ab1e6d2262fc96fe9ca4800c9b7a8819752c14e3854ed454854f6a215f8de73bd44c23d98f04850801724023100e976ef1fde44c94fb4451e529474d471e01b3646240cccadaab1a07b896f409fc330ecd2d53ecb100925678de8568c460302047c435bb500673065023100856363fb9c0b615e0fbb14b7adb5b01ac8c4171b74a02413d4ac1174ec11b02dd3fb634e6b306714fae8f6dde2dc1e3f02307130192ab3dfe91a35a99e93fd5164691590b63b3ba1f26a758f344549e84bd7e303c97b3b5e47f3f9ef9574e90b1e810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023044efe4830dcf06a3cc59ba205e0b335136cae810bc8050bbfa075803272a19fd02de7a9853e795333c776b3a96dec420023064814fefc0f76f124e595384adc7192377bda62ccccfb3cac49d9e2bb82f0dfbf7d61adeefd7e8e6894d708e413b28e30302047c435bb50068306602310087d9f4c3ee47a9df301a5f08eac67712548f782996feff478079e507751a646b965c2fc520e5635cf079c1ad9fb8a3d7023100b3e7d2058012162f1f4aa37fcc54b3cc316ba8a61fb1b3a76e7b44d012e47f183fa9723e552d2fb03149e2b31ce35b360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009fcf7bb5f330fc9fd69a66bd38fa5caf17450a15e6f208c05aed94dfdf677861ed3445adb1f0f388d23c59654cf05c5502303e4a95ee417a118a18e4d59e9ebe1ba707da56be9a8f584fadb7026810ac76e6cd9a6e76cd11016c8d0254a2b51313dc0302047c435bb500683066023100976d85dc4ed1d7cb0906bf47a4bb3b18099161b0c55f963601bb6b35c6ba68ac76e9772c3658bcaea7b607bf6ad5e012023100a4acaa3c91791cacd40d8d84b1c39d16f1c370bb97d9f4a31e48329ba229a7f04fce83e90c75b3f377ba595b593131210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c5c6c019d0c9b02f9a87aebba22c62b5ba54f2832883ba839567688d7da9cdd2f9a2d242d057ab3ed2a4ab945e678898023100b878201699f16a40d884b09ba0c775943914275ddba03d42fd30de0cc570981f4fcaba7caf26d19cbebe23d3047330e10302047c435bb500683066023100ad1bf3222e1b5c3cf2f38ea1c12fbff26ffddfa9a844e68d57e03f13c5d5bec00b573d17a0512e842458597ef0340745023100bd23912654fec7cd33c234cba11d97cfd17f9fc04d37dd1da06b6865854c14c766ec42449590e758314142faa362cf250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304fabd65e0ae46e9722c9f3be15b0e5c124ad3b011ff126f40e1182ba4fcfd1902e81520cfaab49b7083d2b36dd2c865b02307b071bf1ef681b5f00ee72f0910268bc7cf27716357c04e9cccb83eaef21a1bcddf4bf385f0cdb7559d8d2468b77c1710302047c435bb500673065023037084b7468d15ad56fb07f6b6e8d037e7aeb2c131a007930edccb8163156b5bfc48f891d62cc1e8de40e72809120f7a3023100c410597e7774e205aa51135d2e97903216f8e0cb56919d45d1afded9cfc0de90382e31f2e3ac13416d8b6e2e89428d1e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023065deb9faac15c361dd09222323c0d5b1a2a46cfac4a12738129e367f36c5d4d3660b41d66892c94ace1ac0dfcf774e2202307077b8381b329d6c0f6c830268571456d83c9221c1f7bf11c7037c977acff2be4b5d51b24c4f6709cde7ef0002ec1dd70302047c435bb500673065023037a6ac7d1bfc1928ba1da790f0e161318e276cb49aea5c8e2f4c6e9b6e6b4d08f778c4c3b0b3f0b65d44097835f9fd74023100ba09dce3ecdd126d2d2789be812514744bd96b823792e9f9fda4f968119a16aff733161cebd5cc5fafcee858e142058d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e3fd915b7d18443faa45d8cb03eae75cb7f6868cae2fa58d9ea1fc1ceab9c71c98ff79a8ef446f5e1c04e74185c4660f0230421933d3c83bdc1423cd63ab9ce2c28837ca16778b299c7f3439081693256993322f76fb7a1d4fcddc0c632387a926220302047c435bb500663064023048859f20a42a0d4e15aead5c5f8c87ec9321f638747a1585bf2f8aedb49f13106555ab003aa9dcb152f90e4d955c40660230505bffee8325e53b6db74afadb14a73f50a074a9a09dcb758e1e8bcf739111a285cb7b9c91619c80395373b7fcb5f0140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023052fbc7a9cc7c3e2e8277e836f27d400fae32a36cd25e31f23ca057814a6dbe483aa39764d9bd8f44d2354d7baf67d0b30230328b99fe5bdc33aeb2bb8a829568da6fd446b811e9573320e2b30f55a6ef4486fdca1fa1fc6b7bcf3982f0210fedbc2a0302047c435bb50068306602310095e1f72b2df0c0f846f461e7a51ccd0d16a2b1c85d04fa94523ead18fd3195220b5bc6e69e672c74af1177664def7715023100c7a04c8b189ec5162e8329bdd54591da2befa73a28cd29a3ca848b7779b726c3365e742666ee85f537737f49a9ed60070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f586f384d3a86fbdea2dc7dda13ef759d7a5a4c0c19b7fef8c7f7ab1e4e0a0061248fab05f57e97389f2e74440f96c3023100e49ff87478ab89d9ae7097139f7450ccb1e03f10134b6c71d36b69b188c9f81fb1b8bb7f5f890d4a47f6813b12f4edee0302047c435bb500683066023100a54a0d7f0b325a9349b72f8be326303f4c54c6a59d79461d82f509c1b7f9d5a38b46762422160e455745234be6859aa2023100a9fbe893c4008cd41c8646f6c1f2c8cd95082c48eb8066d37b9d973866e1308b7f426f183ba8699b584689f17c886ede0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023047698da436484c48f09e3113df190a2f9a523c6c3b3fe8d176eb2dda4984c26e99ef8831b360ce6c5fc31fd107666f06023100a63fb4e986559462f5c51fdc6326501a46f044bd2571b88d6c64eb5ada3691ea661ac43871f20b6642f173c606476db80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008fe6355191842c6522c82c90c5f988b8416fff01f0c260882bac2125a208501967cbf58e1636b5f8cb8737d00e8693d0023038df2b0b7dc5926ef715b16058eef84910347f3aea9c257af4214296d185850a09112fe7bd693261ff25c7dd8cdaa9dc0302047c435bb50066306402305c5a6e965e43b7cad7676ab584c3346cdeeb761113ae38b64e8b466d84a9ddaca0ca152dc58f7b7140cfe6d507abb3210230305a709ad2d61de6e4cffccfb456269cb6486170e10fa592e73db91cd8b4e1694d66a2f357a234f60a1ee4d10b6eb7500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305ee8d64430566e3f11b0a50023f1f6207edc62c79f2fa54741c47fa67fdb395f25b47390cb00bbfb1fc65be640d36fa80231008ffed057c1e446f192cddacdd5e65975f5f5359383db4429a4f7fa0322c22812782525f95548583d009517d4c15eb1590302047c435bb50067306502304a5d676a71291ac1f4e3995b348cf7b4fe14be326450850e3374a02f6a219f170ab18e1b049cba3df297398ce2ee4dcb023100d498b0c44f706d1da439794aa1e4a2f3cba086ee3add24fa3c51622972f24630f73ef59dc9a8a4795dbcac6171a12c630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009a81f5a16e2fc3953813f61a95de97f45e1542799657236462ece98d90f9ba050c6a3091d9aed5e00eeef65436400e08023100ed35b9005baf62a40f4905e7b1750311076d11708303c8b86f47276aee119158c9693d09856f6bd32e67bab1dc8276720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009fcd1aee7d4f943a83fd4ea15207de7fee025b8c58679a24e19d9ca8f07d22b8de6cc8d3b3a7d61f01a439614cb34762023100936d16406f681cc2a8c71865846a0391f3f14d73dfd12565253c5c98efcd8ec496af3a2f25ac1aa80e176a66b6d3ade90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307c111623c3a85aab2ea01bf73e21d4d3b5822b078d5a8205d2567df6e99b07f6e8aa942eefbee6a942ce701d226eb065023100f8b1401a933e808b6f87f31ff42895fbeb235094b06c4915e1f6a8fe97ef45c0e53beca63cd3efb4c941f470dd19d4060302047c435bb500663064023063c01f391d813ae79de8b939a9cae9645f85937cff0eac85a718bdc03800e331254d787635f17270ea4fa407a111389302300aca8e2bf0d38bbffbf94f252dcbd697b4be2003d37c1722547a80b371f68dc5fc45c759443f45a0bac943a77dfa0ad60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304ef05a75e63824ce4f6d9d6d6d10282116f63f9346d0fb21b91f813edbd88873087bd9fefcca78d184acfd1e47d392550231008c98020b525195c005aee28b1403f725a00c6d6ad91d51bafdb0ec80953c131b84c1a74090bf05b70d289fd094282dac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eec42a9ea6c5be67b4e98c1e7b39043be53934aa11bb95e57c956a170bfb33c0fc0ddba865a12c76a421246195fb877d0230272470aa684ac37ffe6d999fa9e15b6b854ba16bb1e11404a9f48e80750884bcdc45a2897892cc8883762f2802f25bf80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023074b254a77034b9d91dcf4531a11a9dd74f3d107587d1f445fa57f6ceeb3ca81e1c141b783822a8c1d86d3828c4bb806f023100892c9104d3d0b0c9686aba638cdfe161df3d17c308f511157878362658732ec4fcf3a5b5df66bc815f117b37913341290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100af2e9dc58eaf54c98eb27a0cb223b778c6f1bf59377c9c3b365cb593118bc3d83a84930fef43268a96d116dd7e25579f023100ab71ff3f46eb0623f9c840e6e4ed24700bdd9e80f5c68590599ee6a355f3d0b5f4522f44b6375c1045a2c4c4bb2147040302047c435bb500663064023062ffe9624fc4e142278ccc4c272f122cb27e174382670b6b2c8ac7fae5dc2166dc5bf4cb1f67f6fe5419f7373e09c179023011b03b61a6b02e94d13b3c759176d28c26798e1efc976e5bf36bb5d939beb19f6170852bacfc88eb9808002eb1f9a1bc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300b6e6edfc034a12098cd52c90bfaaf41a4d8f90a309eadd87bbf2c1b32fd6cb023bcb653bda647a4de2efed189e5837002302064176d3b8b06129ea5031f8dc8609a5c680da498ee8bb90b24692cab9d103227b3bc6927a2b2f06388bff550535fda0302047c435bb50066306402305d1d8c28195755ab0d7e355343bea105f8e7fef23d525aba4371e6d5196084b24d41417acb1c871fc724d9ff34921de00230521c82afdeb0600c2ec935979901838785dc1b6a9aa835adc87072953565a344b6ec46171c49fc3edc9a34c56f5699bc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bce5fd65ab9a070900991125689d3f6dd588f3f7e68a5bd56d11aa981656563d1c1e1e671130834e096c0833411bef47023048e6ed6ec5f4ac28a4ec692db991e25d6fe72a163da11bd893083791cb6d71763075dc82348fb1a7d9de4fa9314f9bfe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f72c47d9c83f367cd13a44ce4fa485ba90dd368799cfe74108ecc2c8e2ed0377397e4ecea5ccb7e229ba752c3c7e6f45023100b83560d49bac5ccf1b69f578ead342cc309331bae1c5264c9c10d81c2a302d3077017b56cb3e01610231347f8c9e43a40302047c435bb50066306402301e502be3674396618d9906ad6e122d1c1c5fee00d2d82552213101f98092cf9350b64185e9223f0e161b98b42ffafbf5023004f637ce529363961154c2f1dec347b3c9ee2daec8fe6592d4330695e0e3609645a76345133d6095820e788f71f8c8320302047c435bb50067306502306ddb509650b0e1fb16f5b3f108cb03ec182e27b6939d69c7f63a548722975cbb3b037d4257c27595a47eb43730b744470231008293d087794459e3fb7097e9a362d8cecd637a8c23154069bb86fa8a5b38949e30cbb98c9257ed90f28f58c044b6fc510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009602be6821796c69bdd792a364b24644b649d9001a9ccc0cf3c26624bdb92cd50dd38b180da2e5e02829fc97cfb439cd023100bcc1b0c93b381ef184d1928df567fc6ddf76e8f7a29bda75239793f4af6d9b3885d503b5827abccdc73caa292e8a533f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023015dcf5a6e3db67465920b5d5dda70eddf71e1b1707cf44931e4df32bd6f9d41f1a995f0befedb30023835128443503a2023100f9a41a42f3a319450a1a7aa6975d0c9d790023a10d77429c24131fc5c96b5ff15812067544f5644e5c67ce9fb129b8630302047c435bb5006630640230715c29fce306dbdcf0552c0e5be6641cb5077eaa5f2f8c0247c221bb856479b1b8ba79b28a484dc06f28c629d422898b02301d440db7019ba29354eeaaae534c877095ab848885ba08381b21bbd0ccdc696260236d086652a60544c32912e943d9190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310093e449a8817d4c204be9ecc23f28d5a019d4baf732654d40757b852a21ef99f665e998a753202e6ef0afd67456ed06b1023011562c7499a0ed06a5364e2ec2674420fd3466a8fcf685534639d1ea491167cbc653f65af2f22936dfc2a573e32841120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b76bfada5e103e1da255dacdf9b321f7bad2ec245f3fbd4f798cb0585cc222b02b2724644e81aad21959911c8b72958e023066d166c55198d70450e053566fe97b6dd66d057cf54f68c02e03cdc2b9ffc62d33016d08813502d579d792b90b856c1c0302047c435bb50066306402304f34bd310f32985342d6c7669fb4b8672776db66a7fb7437b894ebc751be067f1cc0d8b30e36ffeb30d86a2b7a0c74db02306b76b3a533ab8cdf45eecf8ef8864b760b82d1ad5aad828e2cae3a48d7dc3c211ddf415360bbc080672e635603e881330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a03bf96b0772dc0867134940d61672e8fb91c97b228dc375ce7d93a33ba540abbadf3a89b9aa183b1bb801712e0edae502301791886c39b9baa2029d83701e070915a9016221b884f54cd2d93d8a0f6894175a474f0e47377ffdceff8ab817638b3a0302047c435bb50066306402307470c4dfdfa50bf7846fcd479f4ff390f7344140a050cf3760850c1f6d821820786553e723985f84a1d0427f0ad0802302303429815ce5dced12c2e9477527995e75df4051afcadb04f9ad8c93bae3404a71450b84518dd985a2a0711af5742e5c180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023051e3902c1e4d0e09627d54770699c55e9676f85df009ede1ea5c5bed81be9910f686768a1b2f940a24f87c5430a88631023100fc8ce3ff3cef56067cdacb349c97371021a2254195ba10d17d71b65449574204cbcf93376e4a0f20ed075c6f7ad438060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cec689b5eb8872fdecd3bdb41f0746b57fc4991c2c9ac985d68f243bc583b1cba61b79c4fbea1b858658d499870abf66023100e5dc64f9266b65b2de5c413021ce71babab9e634ef690e8d42eaafc8ede3dcb754324f17bc714b745857d4c3021f31560302047c435bb500683066023100f3eeddd16240edc947eeca2b7633c51036eb9655d928b398897e9210e3e33dbba114daf81043b795bdde53ba34d31f02023100db9fdab4fa57193426e43247e44c60c61d07396da030f6782941295ad696dbaf9d0f8859a6ecee4be39a3d5f9f1da16d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303b0a741f9340925af69af41b49929273dec0ee4e63867b7a75f2c1361bdc4507e251390cc2ccaa1fdcea66f1bc8bc9b70230076cfca9a7afa555a84def0c76008db140d70d936a4978d006efe82c308753bbb79a6a4e57a9a04fccdc75d7446babfc0302047c435bb5006630640230193e317e9c03d6545f76ff04b936507eca215ec644f543751dd609862b42430c3955e08a36d7d8fea366538da389aca10230632c49751f9dab6f3adc26ba2bb01de0d5fbd154d86bdc0452c64970d8145e35fcd2964e0422d7e297996c7b95291d4b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100911a1231be5ca02c1e63f39fc8dea329dfffa31427e36dbdccfb5b4570a8cf039bfb9f17922fb7d0fe8cf91b1498ef05023100a34e85e2ab8421f6e75b3a0bc423c209a8e2d528dca7d014f185255c2d119c2219cb56bae2bdfab0bc0cd90d262e829a0302047c435bb500683066023100d9a22a137c8017a9b781ccac64cea01edd01876788b6b6b8e2fb04811d644c23737c0ded4fe4a5f92e32edb881bd94cb023100dd11b9096a586b101e9621c61a30eef7cba9109ba230a665eceee8f36b10f1e10da107b1a8e75e46fe7a37e3beba2ed10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a2f768294165f2d1614238c025a476824486c3a68992c85e6636e86a0993372f4c29cb2cc8e6909da59afd0c22dacf47023100bd5fe0b19de6cde3702f6a18afd794ce7a538680c209db544dd118a3ddf8f2fd8fffffc6492dd86c229e65050a628bcc0302047c435bb50067306502307ae0fca3052499a171334cc38457a542b7e4f48f448c80c8b9bad637bc64574d283430439cfd0ec76487d7d3a642599d0231009c600ef554376a8ebc415fc836f4fe82bbdee3add273225f75a1398bf042560b4a842920da98d1a10ffcd8f8107cb3910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100affc4a550d1169508c8ef5ffc8cfadb32b136534696f50c124e54bec23d7022200356cea0095cefb2c7fdccd318c1d8a023100e51a2d2bc036975835511a5b4aaa216b266e1ac83f82b4c2a78073d3e408ba5d43abadd70edeb0e64459683a04d962750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303ece224bf9c9fbc470ae9867f822a6ec6fa88c0f17f8f4538486643bc5dc62ef543b5edde5b92520f6e83d36aaf82166023100d6c6129b3a4b997ac46683f7c4edd5f0f3e1aa0b1884f6df7f958202847dddebffb95800f067587fc5bb8472cf0546fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306d4a159fd91a643792ca3a2b58407a830ea71c0abe7c309c28cbaf0e135e00f3ddea5e382b535492fc49bd1d6923ee120231009b3cd96f7a7fc6c327325de069bebe61835c02a2dfa3bd796fd36cbdc70046b9a869d8cb1ccb86e281b1ac32d3369cdc0302047c435bb500663064023042793fc0213c01696cc585d4850afcf382a025e7fbde1b180b26b28fe07eb92658de61578fe9fa9f974878cc65b9269702307a5e2e70e9132dadc08b27f58105563460e2f644bca64a578467ff47abc17ca9afe1a209262289624b204b42ac1886140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300291d133ed8a4aaae5120a5229c1aaf89fc6d3d7d5db7d6526c40f5d3f87d6b5d4db307d6acc03ca315f186314fe67fb02300a09a17b68a7ff34bbdabbd96028fe356bfba4c9896313fdefbd4a05406ad9f71ed3029f9a40e38acb0670184b91e7ab0302047c435bb500673065023100d07bc60990b8d24112a09ffaed578c889de7537f7899237e1e7703d730fce064dc7f78818f1264491898f9fe6ccb659502306d817e60ca19a0cd91faf2b844bd56a78d5c4b0c8f1ec4b7d28aa6beee53d2196866a2529f54ad7398fa7ca09b06149d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008f3087d4c0b6f6cc1a43310308274b0c437cd04e7159c04140c5229272dc3fde3f86f573d3ce5dbf7161014689acfd6f023100c2d2ba019084a50bda489b7b34e5f8a26a4e34c2f897ffaa04ec9c1b2d9b203249bf6affc9f67e66c2ad98974d1f1a1f0302047c435bb500663064023036aa7895b6132aa9fdc6595ad0c6c31c9573f4134943da0301455579999691283de52a1df724067c30a53566efad323a02304e00f38be9ece5cbb0c80d81b259674a6a0059329d24fe5fb6fa730e125b921e298224c8c6f27676dc59ef8d803aa92d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305738dcf0cd75b2e5b785b1fe2300563f5705c91110e8567a87aa50bf61f2e14928acea0020f98b57fb47bb31cc7207bf023060d33fa2b8c6281ac7c2fa5d83a3affbe16534dfa98c47e32f4139267201184a59ff73c07d1ab84879cc9e50edf8231d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023057a9fa649f108b20d4dab6b00e06c81a7df5610c4a4519b00b30b320e26c8f5c4e5bd0457a9dc3296738ba0922346243023100d1c01b35b8c6c0d19bba12deb5707ca5e8a63138dd304845b676c9ba658b93ef95c9845d3767620794ff3ed877b618ed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009e974a1f5f54af3e31873f203429a8386849406080c778629a85e6c3535628526cddb47ae27a3b62c38bb620067cd8d9023030a6065e4661971219a18923ebe7ebd1ee27673861f8dd50502ff3fa21da15ef7896b736d0b03461599c4ef1ba0b44620302047c435bb5006730650231009a4c79d6fc84a4ca4f38dc18b15d36c7e57c16dbaa93ebb80bbdc2c42b2d2470143caa13a9c74d2f35cbc74a2b7cb9df0230785f29be653dd29b9bc2f5d4429283e45185b58fb351ac895eacf0888c9589b949be57f1a254154d5849fa8b7d3edeb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023030feef3dd30d6972a6eb2d4558176675c29d69b6c832be2ca9e21b56374baa936e0f04a1b1b6865af07e607519aff238023058ce9bde4351a241ed1a590eea58530b405a92599b2c687105d80ddd2d0b98f4dbe51dec8683ef4388b5faacaa799e780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fdecd4221604937c1231e55f5b2ac9a94d0db63ff98d221815938154d70f43ec3f7ffe628f14fe084779e3584f5e51fd023100c0f8b8820e24bf43d5d76da14016891616670cdfd476ee41aea37aa2d0cd74537d38c07b9b28d3f758dd4c2203d277ec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a53af7a125da25a399fd0298f8508a7b5fbb58db97c2fa938d3e993a8f6950a1e4b916b1065b3a347899263f76e5fe89023100ac4678f1240e794a5c3fff6bf1c930ed87490f6ac980cd9bfa9f3ecc0c0c6209d372df9dfc9e820bc4c0e119a1d770c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023012fe813d977cac0aa693e11fd826bcaf490c6e7b3f290b2609833a4257f48f1d5eb0a9b2514ea455493ec1c96066fb1b023100a37d17f368679414ecb6d22ad210120e1a295fdd5d55eaebee3c0281721e9704351accf5a39a192933de0a6ee59f94880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304c56fa9b9d8c350a846b7e173c017acf4e312148639c75c4895f8ad9cc3bab0334b5d335dc1829115d84fd79e36eb5290230463ee015362bd6cc68f20603aed92707d98f04c298dd63aa76b05d419206570c6cca2514c3a706823a0c5107148529a10302047c435bb50067306502302cf25ec0de84e7dd5d25df0598cf3be38dce06eab2fe24f2065cb9b66d518b7e1b57b9066f48f21b60d43ea27333a6c0023100f7ccbda355f21619cc2ea79dc75d00097221cdd40916a08d598f4451b0ee1d09d52885a13c31b7cf9aa4ec71c51f6dce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ce6a0dbf5fa8137cb847d2705163f442cc0e67023c30b7bbdae42386aaacb8549ed02e68db383acc202251e4686757590230153ac2c18fe270b2a1d5e0e5b0f7fd9ddc04413300fe9e4d39d8f1dcd29b88c9313b49b64b64884f45534b5ae55a65830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ea7fe62abb886e6b9cc2607d2d1d864597bf453394eecff5118ecb821ca58e5eb5920e2ee6f04195c28d052adae1e7ca023049f915fec0e8c0f5a5ddb2531739b520e10f552e39eac9e3e852959172279c17b329ea47e801b2bd6e68b1bea501241c0302047c435bb500683066023100a0f369e1139b4082c7501533724991d1b0399d297f5b29362c6362ab7e59f77c116da1170bbde61823f9412431966777023100fcebb7dd61b5d957be40a3f1612f4f872083b5abf7773bd61e8c181bf5c4f9edcfa13cf7c2698515672a3fcab67eb27a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300f27afaa413e07fab89a0fdbe1001bb6aea423d649c7cc9ea352505a9f79156b9f8ddb4d5d904d9a486b65f32f2c570002310083880ed9bc6425454f5da8baf429bd90054bbc7607adc29a24ee0d97c9c977d1315a8bd2ffe06d3f3dfd860ff5e891ee0302047c435bb500673065023100afc6628698580de5124c25bb4b3f4d8d019708dd64fdf9574487a820bebca2da0d00ec15a4ffae5af517fc5da6d61869023012f1dd304ad2f301356676ada08c5cefcc5521262d0f79eb54a468d98826c50b8c6c3cf7c256c785e97c6479d1e104b90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bb5f87d409689dc1c596331ff4e13cb5322a22a414e4570db85fbd1d5803530b6d84268cd108ab1ec44e8adf8cb37707023079a1b5b411fdacf00c1d02f5d05c48f669c6ea58874bdefc9af3f30e7a075899ea5845c3137dcba4304340029dcdad150302047c435bb5006730650230135e9df331629640dc91059016de6d6abe361583776295a06fb0a48ac31d61502dfb9e9ffee3a0a459c57a7c9aacb45d023100e3ca76d2d5f3ca24f623ed04340bc8915ec07b88a6d4093b9dcb73d4c62c4138b6140ca54fa426b4892ab3472ac8b4f10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c686c06045a21641a303ccd7615efe3d2ad82186a6c35a5e6869ac03beddf83429979eff3bc876994f5753142cec8469023100fb337857b618db723dfb7906f67df4ea7543bca76d029ba7dfb9830e4aba7e8b1850e2c54f6116ae9178769f0d30572b0302047c435bb500683066023100bc62b504c35d6e9d65c225c33671462a14e2eb5c6bfc5b72b08d33759fba6641221a190f92c151aaa9a139a37ecdc7d6023100c280923804e5a562435dc13296890be8884abfaf75ccb5bc6c5ba1d00b98cf3933c89b2e1a20e3d4372bace753389e640302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305419f61ec3cdbc4e8b4d0a6233210eec3fd3b44a1e3655c35990a9be9be75f9c5bd0a2535e9a712803af9d835267ee4c023100a7deecf9459703cc4b0b2e8bb5423aa9c2cc648b954bc130a43a3ad34def828fe9ced43b13d06558ef6f8e210968c74b0302047c435bb500673065023100c02c77ddb05262c18535b6c573802180b418e0acd2c6e544d209b9e69e6232c18bb40fc584ddeb5d3815436d92fff8c902307a26ca697c4059d6b785cdc9744799c9f9e63d558df5dbc1856b86280f32be8db4c61ba673f6954a41fad6523a402bbc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023026b2ceded0afcac93a7c180929c90b5c67ae96058dd801d8b3514eaf2d21606ff21b8aacc6a242249636cde25af6e7200230587fb8a7fcf82c8a4ce275cd0505ae9781ec1c62113ee02dddb526e37214a8d2ae34d76dbdd5d84f5c74559f46c83d290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e5a1150e6e766879c74345aa1bb7d4746bc7f9cff32ee49d6ee45c3fa8c168e644b3f3d6bf91af688b430a0b8cf4d59402305bb888455750021a690a6da5fb30b1ecabebd363be028115be38f128391d8266c179483a69907b91d29b0f1642fa005a0302047c435bb500663064023020c046552d994fc08f795f351ad09cc7ce81af7a693f8862832db9a621f1f8fc2d3d65a540708cb787dedc98fa76a540023055c02a930904276d8b878a4dfd57f1a92fd3063d89efb165d699b2bad85d8ecac1c938c1ed4a3a069e8b5cfd4d46ec0b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c7367cc4c530a88c07045c08623aaedb42eaee4867e21133a2a8dc3ab3447ba7ca47dfcd7672e92ad316fa82476d10a5023100da51b590275e78ee0827ed6ba2ffae994738091b6a1a212d77a6bca6214143b7265d5f3b0c901847d9e242864a546c130302047c435bb500673065023100a027c9d58d894346e93b992071028e2fca68169368867caf07c752b96b7dec37397af532601472349f05f198965477f102300ffb7e169a11535c1ab299cc7baf6fc42cb784ec9405429eca769e0b96b8782d15e09889746ef36dc64eb765b729cecd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b61442331db3f166d81df0f4b6b917ddf08dea7e5d3d2259e7dda6a143b4521307c27067fe91778be005bcba93a9261c0230344c0fe0f002e77ac4bdadaf6f4ed5d070f9684d8b969e1818692a2369df4db2f070953b02a3a259dbfc5acaa78daa6c0302047c435bb500683066023100d83ddf01fc0700f91395355a63005ce712883ede2f68d64e46810cbc10f2b75719300b41b922e11fab0d9bee4fe003a1023100a5ee5cc3395737c7c7375333f827060ced67d04ac53ba7b3536cc05a72e73f9fec7f0959560920f7db4e4d4dcc63cf060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100845a01756dbdb9bfcd82eea4867190dffc1e62178ddbd1d88603e48dfd6a93a69ac69d8372bcbc70d981152fcaa87d1302307f8c4726ba60f28d5fa5a059d3d665b94c39d1ce1377eb89ec4a94df1c7c60c70f9a182aa3ff0afbe2eeb74904c7ea270302047c435bb5006830660231009d5cf16b5d27d1b9495412a8bdcb5662fdecd54ccd0d6039e1f1f6cdae387c814859546810ce93b89b19648fe0f2efef023100ceb383473515b5a1411f26f8c2b93ae372c283a1ba37e7e44dd9908af1efa85ae7ada4da4b5c3fa99b97c1e6b0eab1f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301fae42097822f139be3bb06787af396bb281d1133053aa4fc06d023acbdd54f289c133ef716143ed11234976e359a91f02305474f31d30efc97cdbc9e91a7c7a232a5c508f6d05343240c1ddd9eef4a838687a6a7ab75c860a7ecf4b331b9155bf460302047c435bb5006730650230061b3b8d354be19cb26e4796a1e382f4973473a5228086ec71894181e6a212fc431909c7bfde1ce44b66d8548d8b8d380231008f0c1c768bb4b182aaa174a22a075c1c8f19be8bdef6ed2ae611c5bac7e8bb7dedfb35d03473b028df11c975d7cb1bec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023000ddd52f090e5c8c566fb9d233db108b696b81131d4892e6ea69909739614c3a1e28f55b5c133055bd0631091ba421e2023100b571518f451abdbebb75f5ee28d6c499b6f7b24a74d8ef28059756c13eb9c0429617615d73706c412d31685ee5decd2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c7412bf525f0a18c21e74f9bf99f7667d9ffdbc5bd4cceca1841048e35115717aa8d3e478d5a6aa645a09210a80cc442023100bf6f24a42eb6508586779f84484f88dadc356e6379afcb6ee04633401a39329ab75ff33ae483b8e6be9bc90c2f97cd4d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230583ff10638a59cae2e36f14c35472711299d73146c09dc967abe6f87591127fa93048c47dcf6a55629eaaf52b4a7c47102307ebdba19a9c40a5f9b7e788e090433029bf5973de70d4363f0644b5687e00636a641bf6289cc18b5df7160028bd255850302047c435bb500673065023100cab62204ab879b3562f1a3b17bc77eb641f8a2dc9649693c8c806c5e6eb732b0ef36e97f2b55d75002d251a54de52082023027ae832b98b3e742b9d7cb880630088464f735078c75808d47dbae61f2c9c4de75e319c976432bbd04d07c373b4c6de50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ddd11fdcfa9daf4631c0ce380b475209760982d8739681393f86871661f9f8524710f389f49f1920df33359078949a2a023100d8e1d52d606e450a6a09cc274f9533fa718506037840c6f85b211c4251b880d8c230623e54795db74a1a261c943427670302047c435bb500673065023019be9f4087652dc33c69d460be476c39fd15812f18188d2e046bce19c6b40181ebf3c5d410b52ac2feacf670fa54d215023100b6246072fb326768fd45e5f995c850be1cd5b4c9455ddc1b36a576edc0ff44a27bde0df5b98438365d42291a381c6a610302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023076da630d49bf1a516756ef9ffa96ecc90bd5474b5ec5f9845aae23fd0cffdff1bdb6d73e72f94b02bcce4e607d6351ef023100d07c98fe15d4e09a03138586ad82bbfe4ffba5ec288196e1a500144014f1b21d94b21edbe34364b94dfa7dd1519ea2f10302047c435bb500673065023100fef0ae84bd083d2a5a73f8ab91c561e0c1ac47f7009c45c2ade1ed3245199ecb9b9b82feffa7d057a82aa3ff36dade3f023001cf05db135bfceef440bb3b94ac74821ed5759b15623f75e5f901f4117d1ea0a6629c700d5250511411a1ff679c93c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aaba308acb530f7171928125d2d5e9183e1d4d333fcc1303ef8ba17a98ae6e14f07825fc93953045afd39b55d01ffdc402307a9b2603bdbbfac69dd47f7911832cc8480c7f34fcff07d9e9064a4d2061859ee6e2d64f37f8e0762c2195a2cf23a2df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c6a582d9cfc524bd77f256090188ca982416fd28d87902c14e76be8998190724c5126e002b10c2ea8118de27752761d8023100b40fe94f0447a61e1065d350244c1ab85136031f880972b8f7c37bb0ce4a5d052221f797bc12de4c24ea3841eae5abfb0302047c435bb5006730650231009c25c9476feb448350f18f8c9e409ef68410f4ef49ec15714ec4e733617fa837ff4269a1333fa646866f0577e6a6a7e2023012efdbed08d2814b120cc4a542759f2d2724f77d63e7021a9c16a58c49321d09bedb19ecd9af7c079009e748bdd4c4880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023053280d3cb9243893fe8211791d452443a30dc053d6fd1ddbd0e4a4ea9a0bde8aa934b704f737c282ca624015e20ab7920231008977db77d7aec23eac105e0dc845fd8426653fd6abea76bdfd9eb4b37a0e9957c222b41f62f4cbe5f0a308f0863a99df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301ae7a9eb21372565074e269c17c23ae30ddbb7cfe089ce4378efbd682fec2e145fab2e90a46dc98eac57716e067b2dcb023100eba3db15fbe9ab9559735732c4883446b72509736ace764323fc73299b7bf0270f201e269872800961db0ecfeee923250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b95ffc7f4bf4d33f512a7182cd494e38c071093b54827006c27d63d93cfbf2a9ad09bc298fd554d27a6d55a9a321ecf0231008e1310a10dcc19a65a39f9f03e367e4e0b5c7888bff6ffe57e2d628f00086f0b31cd9b0d2607a42bc93f6e1124ba8e450302047c435bb500683066023100d774a62ec8c743d90da74bfafe61b9871424b855310146eeabc5cc29ddcaddbf37fb616cb7bffbcea1862f0ca4ae7d34023100a4be56533b53656ff34cda4ed59f25cf1cb85df44ed4cc7d0974b4470c180a32a7eac7c4ffba66b92329a075b0ca16480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310080b2194fbbf8c6e89562e9a072147144fe133aec1c99bd015411c9b6a2a14d4aa3f6971a16d3aa37af68fa42384353a802302148c77670f8722f6706fd1aeaab27fef4801ff45bff85d18b5addb1f6511d7dcaab5f378547db210f4b7991adf91c9a0302047c435bb5006630640230716e823ec7eaed93f84c672763bf2da03ef4ae753b7f4c56af74d42dfb7db8f56d8ddabd011d4d99d0bbf6e8a634d6450230201bef0aa8d1d82dcf1e83b9837d150ccbcf7175bd9c515149ed987ea53409df82c450e487b59f5ef00061034813362e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302009bc6e493ddc4dce48f612e7817214ba690ad323c6967cf682f493139c415a88bb107c58d64c872a3264835d527b98023100f2f26016006700125422aa1be82206d569201bd90d046c37769edd74b382073853fd227fd159b59364786e40fd17543f0302047c435bb5006830660231008c02c0306b6f043afde20e34239b2a45c5e563ec0ffd5a772c57689f24c41c9241e04e1d27c93b9b3698c34396d74c7b023100a04ae7bb330c94824a83fb85f45c2d4aef5b57330698505aee46e67218febfd865774c83720abbcf0a0d66658a8d0c290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bba622391714c0a5718698b9b222fec56d7790bc0f1211e3bf5453e5b90c07169ede587f1453ac5ae1ea900cf1cdd3c9023073d1f0452f5b57739fa5666bb938a9bc87cc46316d453b616aeba1b006255f4e7d005524ec7533508c293a362a324bb70302047c435bb500683066023100923e3a717a4e3aef978b3161a735952a86900858215ab8a1c632a8e4fd3d4980acb2cd95343230f1951ffa88ef9c8642023100aa35121d7672def4ed55c587f59d7749591f379fc7e47ad4cd9e28815340d2ff5bb9b90deb970630d456c029ebceaacf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c75da6dbb12dbe25c5087344370d3f5966e53b12f6882dace8d17a63d52a7958f0876d5fb6ef0d2ebaa0952ebac8428c02307e2c515610183cdde4243fe424f577c11433ad6ba498aff4e311a9fd3e5fcaf4e4e2f8e8aa85c17eb2037edcbb2f0e100302047c435bb500673065023100b370cd1ebbf0b1faef22fce68931acd7c3a6fae2f9ae018950ded4b7e47792b571fe0cf5cf1a47ab4f366a93e7db6865023064ac1f1d3575aa6738044810f706f67275d5d704e5b0f62356211f823761c45906225fe9cb99763dc92f218ce3dc4aaf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303dabd76458069de24b9c8cdd1866ca627112f264c3f9744f07734d9e205201ab4b8f7730d4ba7dbb1788840d18ae01d1023100dfa50987e65400cf1a4587d2318536edf85af164aa478abc7e0845ab144a94863a5b2a1dd48fa2bdde4df17cfef29b7e0302047c435bb50066306402305e801c6b162c8e053356bcad38daa7f8591bd6740afbfbb89e27982b9ea39f42e365cd7b1021122070536f2fe75e8832023010eb033a4f0996bb0ba561f6dddab42aa637979213ef1698f4ff26109376ec70688b9b17bff324a09cc0e987aaa345db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f8bdec17f8320fc7937f2701a6555ba9b8d9b8be8e67f4621e6aa8b62de96311f834a6f955914e59c4a85a116beeaf99023100c9c9b9bf021db33dec73d9b025e9c5e8e973dae67fa4839f5e2cc7985255605060b5f0721b5f3936403cae1b2244ec780302047c435bb500673065023100e4808c01e07139123c5d646057af029dfd5c77a3e4ff849ca618ef868e71a898d5958e6f94e9d197e89e1004e8d6cbdb02301248971b3b558539a409052274204875698687b352d8a655dfff3ecad6f4fbe605b7175d5735843c7f0f943dd4d5b3680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cd51d8407611a1bb9b3b37665a39fa2bd05ee43dfa6a0a54245812d8f83a26920839a256d92dcf5a67f8d7a473aefd31023008b1eeae04f5e7645ac32fcbd819788a149e5ad92ad046ef981ca3092c058e8201ef042979389262c03fde96dfa296e50302047c435bb5006730650230019295ba5ecbf77539c1a40144a03af76c9a038ae9cf6a4be62552d8270f3fb0291a9e9f774a1251177ec23482564613023100d2b3d75aa89da43a2e1b383b23349b780bd22c6dc804ce50ed31dbe3dcfc20873d1343a2e00872db91dcdb58154689310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023014ee09e25e044bec7a3782756f6d6902f87676c343e66a0d546a231050f17bbe1b87adb8096092ff5ee6057671e90d15023100d8ff9a0f8981495ec4f111f2161332f975a47ab9c3d1b33b09309465b8593ca5d14ce7e4d1ac4587fd161759a5e5fc130302047c435bb500673065023074febd09dba66f0f5d3f74d62eccf5f3d67392a52af721052822d15b37f0d15e08e7532927b72c5fe5f53daf16797b72023100a7af142096420465d6b173d0f56701966a26ff297f7daf61bada013256635cea27ae7b465a39490dedcce652b3fb6be00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f71bbe184063b88ba762df8b2ffe2d5a0e1abd9c6515236966a287d06bbe7b613846a196df025a1a446d4406ad0c7ce023100b493bb40b5f075992a9b6e609b54bf71a542db4e5fd7b967261343667d42c664a6756dadfed4252a370522bdfd7171770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009020681ed9c046330f798f27efdb844734621cebb76a1de7ff5b2962e780cbb2a5668942018e2d80731c44de36450202023100fa1143a1a52f2fd1b23bdf4588345b48682320221ff636736efad283ffc0576e6de089e24afda8a84296949e2a8f718a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023030e466b1a2e928b3cc2eb40a78cad717eab7acc292941f482833da3d8a993d32151f4f9c7010de57ec23367950405a8f02306725ca85fc5dd82c09886f6124fcc5fd0eba782ed842dc8e97515ca955e43f2dcb480e779a462c5c70fb54443b8990470302047c435bb500683066023100b7cd4c046df0d494f8a71a9984017189c975ac697241a9c70fb2876e387a74fcb6b7fae8c604c6abac5a1b35a15630ed023100d2a5972a0ed95e04c0b2da5b7d0e007fdb7740a3d28aecdbbae838802ca8c1fba724081b9a3481dfb0485e58db54fdf80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c2d3377a586ebfb114189f976867f5ba2f03591f0545e0e5495d515ee974ca08b3a824fa57a9c5d4b46f922c779032860230317320c77f809859f846acd7bdcc9b1dd18f0e8612c57f90024ac5fe473ee49997b50b26fb66f86500a7f9cebb9a0e100302047c435bb50066306402307edb2f9d6e99eaec2eff9601d9e6350f370bc380b2c87b0c748cde33acceb370350af56118f91dee92e4428adf353590023025f7ce464f0c208a0c0837f9c008b5cd96d9636436b6df2bc663747f64e4d8cbb3de7857cf8e75a93f68aebf88f336cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307245896afddf9ff447374c8913a1f81d2eaf13eef1df7bf3c711263ea1d0fdd1f383a5c6afd465278dc47a3a844d708d023100d70eafa16a86776775855c6713b9633bab3838bf9b344fd99e10e2b180e993196555574ad9d04ae091f1d4b015432a9b0302047c435bb500673065023100f691af1285fffb9d9d444863e836f3306f7f1ec3ed4d903e5c7ad6b6b7b8ee91a5c01eb912d3c20f574d7c3853f330b802307ab1d80421a242ad861220dc574d80af38a07a32f76f9a252c0a667a5bf402ca141b5c59f5cc0a1d2fde6c8f85b9f1310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f6ae353533f2b8a8e61e9c0ff3586f89c5cfbaabe4fd88e98e457d808e9942df93f9f466a7961b90a84eb126c8293f31023100e82c93810af189bc546ed830139a19cfe40d27af4ab21d147c40d980a5689e7a97ee9247e13bd354c262f7663fafedb30302047c435bb50066306402301540b4768342d40aa4e2b9665b148acfc8f86d96477fd5312a1312d97c48d2d56e566342fc02644fb6de01d533f6d0d902302376535af336051ebe1abe23385c0660e194f37456bb61b743364174f45a7b5795859f1b411552afde85252d9c758cb70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230380371aaa185a1852c973f39394f08461ac586c761123fc8580bbec843994f8f5d178619c98147ebf4857a2e55b0034f0230221f427ec9a46554ec7441dda19733a50771037c85079ba505fa13e175dedc94b310c3daf5fddd94552b51d076911ad20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304505259f94189f9c6fbe8c4dd4baba2100177fdb5943babc0ab7f716234964c6e5bbabafd46cd1338dc78da52f9e7b6002310089a842fa89937b72d2d756e1701cb3c0c0132f791da67f8967b8c83d5f2c4adc646e7bb7716bf1ea6cc9afc733a564550302047c435bb50066306402304e65e86d3293c0c52e58f286cf1a7df89a3a33ef87713bc42f58c1dbce77cbdf2bfacf6baa7593eea17f586038d358030230539704783dfe486dcc58ea2587610dc0f8a3b2c38a7af09f2b90a2807e2c294eaa0038ad5a99624b6428646241af706a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230438a059f73cbb4ce16b7168ed7c28a303980e8465e055344cb3a8b5b37758c8f721bab7ac68823ebe492a2218fccb9c602310086bed326595e2c8ef95e5eb40b564e1e3e76d8fae9236a0588fca6a7e6c779b0d066cf3f287b93feb65cd8282a65df490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230138e8457178ef0f78065cc1c6f4314806f6a3e38435e818bc2d42a7780b96960bbbca49b5649d3670f8cfd15ee0b30720231008af525d375c5646bf9c5821a53ca6fb9c1ebafa0261191d5584041e92381eacd2c05dbd273345fec4be738752a9cdb4c0302047c435bb50067306502310088728fcb812ccc5eeb7e6c452c4e9321b2223db5a15b27839e625f4517c537cccb2d6528110bb3b4f4a37bbf2392c7cb02306fc932b557cee321210e5ea307f408640ddc3e93b525e5ad34f1fc11dfb4ce732cabe1e889a757886bba69bfff8dc25b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100acb46a881b057c75ef4a7dc9854c6a6c5d1eeea1d8dbe4202c3d745e3f584a37b5a4729da6185d946b97198b1465ed70023100f8b39f652863bc0c3ec33c67830441a91b44f3528e16c9040db70a9f44b840fc5bbbca342d38acd3630910da1f69ad260302047c435bb50066306402302250e2782bb8d6cdb4892c908b5fe4010acaa7e0da6ccbfe50be7337bee113c787cab2667d2e0485579c3f5d8d5c23ad02301c134d95b874028b764c384e273ba6dc81120d0280ea35456f346cbc19ee455e0303d949ad27ad935fdf41e1695a4f530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500653063023007c9d53aa4dc0d32765a70924edc652487de68b084dbe1f3ab17f85b478f0b3e553e3a3ce63b83f2e8bcba6f83ed89e7022f58cc92c791c5722811337de391095f71d69e50e8ac2bcaa663cc441d8279ed07710f90961e8b0394f83125fcb310230302047c435bb500673065023045b22f0ce0a46f6d974592a19fe749ec5ffb5b5e79638c9d8720928dbf19a77bef4680ad53152068182d3a1da3a6a75d023100ca7b9160f5ae4a6b3fbab9325b31fe1688284458b2af6c0fbb2fe8f1e918ba7d36f741988c20adc61dfbd9cea97edea20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306194fd4e76e59855ec13323f9bd1da58c6e3053e4e7d060f22047b66f5a6708266eea710613f7e0a24394e59a84c24570230032c29a951ebfc9438ec515274731ef2480c85199a4755ca5839e145076731a86b765e53f325c538bcb4c3a7c93a36760302047c435bb5006830660231009c9a6e729100c8afaa0b34a17cb2eadef077c11c1985c78472efa4994d688094f2fd0f1d1347517a6603784e9f8865aa023100e3855c92a7e81bdba63f2a8bb0858fccb7022f40d8ad9a99b100de39c899bf1ffaf50b986b719054ce7f8b04ee00abf50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310081700a5ca69dd00d9732a0396eb255715cc35ed9d6ea9a4c9be5ff4560ff1820dbadd0306a61d887bbe7033aaf6a259c023100cce9aadc4f4a6f995ae9f7e9df64ecaa2d5a56a85343d9584f9cdb573e2d78dad34cbe2d51e570eb54fc95fe457c80200302047c435bb50067306502305536d06f86b897c60db61c13294fdc5c1c0ad7d1c516a0055700c2c4db302d24c2279d828e907c8c5c5458b8e2aea22e023100a9bca8ffc584205279a5ddf753e2cc6189b292a92eb4724a6719b49c2c249d771f85c57b4d91ea389d0a9d5fa208764c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f66170a368214616c81f8ffcd2a36890bbdd892e9cd7de0994958dd30f83ff9907fa4a3d5ff954d535a16dc14832aabc023100dc2f175657baba6490fe1f64764ff8cea352623c808565bcdddfa02ac4a30126f7b806f725019f5708cf7fd588a480c30302047c435bb500683066023100967b9f4bcbbed53d5b6616148293b160fd7a1a77443eea2a6c5cc4ac2bb3f2be5a1340fc3e1432117bd62a61aec4d6fe023100ffed03f321cb779ff856c6c1cc7cfec5a2bc09576e4cbfcf66795937f2861e4ae53a2d39625315f3ee5a251cfb1b8afc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023054eae6074fda11af1f8d6708e0374905b63aae3e941dd9edac57816527f5586f37f965006df4601ae685021ba952b34502304b5de63d37731a7cbdda041d2e38929528150fd2273d165d841074199a019af66f303f2c5878890cd62a34d6cb1d3de90302047c435bb50066306402300ed3770b81e0dfee1640ff9f1a8a52edafa9efbb58f7c4a21c223e8a3ac5f790adb0b9f30bf878164ab781f3d17ea5f5023062be74b7855b37aa563723f28b051e8d6374ee50d94169f60c12bb79f262a1038d23fc0ab9164391aeff2d068f8fcccf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a7f81cb73ba9fec224bf4a9190eca47fdd90ce6bfb1ca781b597c6403f824667985b2a9d85da7790b4822441c16f3f0b02303a66fdd4f6d3b674920be4800a13e0dd32e89900bd802030d7045b7773e12769ee00c4845f0ba8dbe681b565340d4ff40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023010ff1848043e52c96c4e25926f5cacc03bea0bd0fc1183b1a9b5d8905d755519b643730d76c2bc9d09f9e9457654ad52023100fb51f6d7c45e51a0397a1587c714b226c40868d9b1af0950f5b6b888aad4d3252739d7e65c5d08f6bd27c955385f76c20302047c435bb5006730650230413e8b3757916d976811ebaa1ecc68243f3703aefb2a5b22b65f07c008a73b28a946aa8345650a7a7f1f8f22e79ade380231008b5a75aab73dbbc98385d5b5b4403b81063f1dc792830075f3937068b61a37540a7cdebaa65e86baba8afb7c02b6716e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304aaa011991aca704d9524a561110ad5b1de9e1a7adaca766d5f90ee97097ef73dcb17ebd8f1efdca416223ec2e10c598023100801556dfd4170955d24a98d5132f17a840efcd8460c205197efa05e1d218ab1b78a1d83ff027434813c677bfa8f3a83a0302047c435bb500683066023100cbdd85fd8f0080a1a80833a52111598f2f9a20d38b32e0c2d823e5cb7fa59c88ff9a29fa79c005b6a9c1f1697d5aefe0023100f48c893d372bafefcd16ebaaa7ad6c7170b80fa77463388a319d405f01cc077c3213fb4376eafc6a3aaebbdba5df69100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304b8aa95652e1535cbb4213e81bf6452c823fe8a5ca9fd9839a3e5632344c50c0cffc34d93b1910c26619b928b586b4290231008ebf7dabb029c44f271037396f6c0d588309c94a1863dd2339f572992df164280284152acaadad9e2447ae09c5b60ad90302047c435bb50067306502306c39d6dc794f49f93effc7f5b5ffdab40fe4eac067c25e97db9034892f7fc7be425ffb521f61dd3cf24bc99bc69ca1030231009d62398db28bbcbbbd00362d5e9baec4e8536c50a7230a7ff276941c2ffde6bda4e9a13b5a40993f131f3984e158b6f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301a4a192f8bcd36cd47526ea0e504763fa877b472c8dc7d13a2897a3e65e0f88f8788b0a550d797ee2e14847ee692407402301601cf464eda928ded89c3662682ac4e3bbdcf2061207928a5cf7dd23b1652193aaad431e967ef27647b2d8d0127fae80302047c435bb500683066023100fa956780b4c84464d1d1ae1e3786521616c7e960c45e4338456615bd7d875dc8298ce9c389d5d47b7b49ae8c619725f90231009dcd53cc240cbdcdb1f325c3022d8e1aca1b3f8cfe449b1085484d3069fe583283457d32474a25fdc8842877075da77b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e2815af172038210eb5f6b3cc34741bbed4d10939d7aa185479bc061aa0ec59cf78db05e582681cebfb3272e1d95fe9f0230232755f9763d53286dd7c109550adad0b813fc66697e3a83ce7ba9b149c0c9cc913a50d3398f3a2754d4e512b4a432360302047c435bb50066306402301dc65988a11a8010242408eccd6f835f962b7e8452120a3610b62f86a6e5b5a03943a969f9de587685ce57a6af5ff15b02304e207636d0a32ba58f690bef2d5dc1d4cb40eb38dba5b9b6ac70a69337b3e5013caeec327588eea4e2f0e997386fbf160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c0d2519b83f309761af8364a90466820a363675425e7744fcc584eeed89390b3309bd906d8cb5463c95acce098f1286202304bb34931fab359b73495e1c8cb9f4eb76bf4ce6d9be8fc27ba9fc85352c048effe59b240218b9f8049e71b023f52fc200302047c435bb50067306502310081695e628450a04ec987361ba710df21300f3ab5c9843100294902f0b5aa1c1f2da03d514fbd33bb92c0d8403479cbe802301e2652e22ad2b603dab71248fba32f20ec2e5bf8befeafa42bacae916dcde66568ad4c9c056946e80bfc4ad78bbac0250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230417cfcde36ae4f2fbd857923cf2df61b9161aaaa77a5ef0ca3c900c66dcdff73095075ffa5031c779fc0c09302daa5920230305c93682d21e651233f98168ada246f04ac7b1e7a21624bf5d96f60ad3ed08da6458a6fc58ad7a7abf4dde26dfe7e0a0302047c435bb5006730650231008bfa19f7b956a15870fe5df8afb05274d9c1736b5a76cb64d3ab7f15095dcb37f9d28125ba5eb34815a9a03ccca86c75023030042b27cff25e99f069c0b6dd45a81684f3d6cb191c7b240c8ed7098f69d719db11c0b87164648ba38da801c303f5a70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a0f0a57c561bca450ebc20ae9d26f703fd768191ba0e1362541eeaab06e6dd99820268ee4cc51a616c5d3f7cd6f422d7023100d2cf95110a7fbca9ce170032e0bb44792ff8672f5263a5457dc9a6fc96d5bf7823d9dbe29b46fd3432816ee986a13bc00302047c435bb500663064023049a125020089ae1e6395aef1f0f2e65c4f3c42f35a23f3d40d91e89e4cb35f68a4c6943fe5e4c7b2831d3c8c3ba082d30230640c60788c63bec0f63fd69d5f3b80ca4e6e5fac3f309a4f3838ddc347b904d14174713d329f09f8491f81f72a99dacb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100de35af95556fc463b83fd17cc2464911669db820448de0c9500b5210bb38660f3223c269c8b24f38dccae44c58bc2560023100b20014c0d1e7c796359e5ae32dd07c40f41e28571293236e59cd149d52bd896a435df015e196b894719185bdc551b1080302047c435bb500683066023100f8f10b56b20d36c9c70be088029911498783df0768cfe91b8661188571be97741da39e967c9bee2ed0e979c9bddcc1da023100d7116120d97a5cc229edf1185269df428427fcc63113df5c565a9648177f96304144245fa90fed26cedc7c29bd8e9c940302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310097dbe55e2c4454d55452c9829a5d476d8b6ed142fc0878c70d247fad143e8ef2899534a6159815b7e504fce4f8c4f0c0023100f7e22456264bec0e9de372a60a2643631c3bda67a2c0da2779c04d1a5252a09f30f5e1824c3704728f4d87e9e994ea720302047c435bb50066306402305a6c1eec3af177ec57da15b445f2a5643a5e5f901b82093f703f2de2995e155dc0972e6bffebdcfbc4baa23963aa9cd802305cb86bc10c429428850b55041a2dd192c62b0b44482e97996eb804a6ee601cf1f3768ca87c4dcec38080e5669e2fc4120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bcfe826b9542374072c65d81ced3972dfc3cb4de4f1396d317ffdf9a3f66d636c09afa0da1e5487cf1aee993bca258400231009ecd863d40a91ed962ee5b9305265eff6ff8b4cb8e4dacbe48fac33068b193b9b06e01072db9b74f270b68c4a85930b60302047c435bb500673065023100e6fb9dc2e34079d687af3251900b68c6ce3b525b9ed26fe8094485fe8ceac726484f9bf696c41888982a23b95f6a0b1c02302e0747c3a3b20fa77efa30b8cb68c425f1b11f709e85478867ebb1b1e11c6780ed3dfa8c5a5cc747d7088d49838350050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230480ed69ff44f5f5659ed662698ddb1cc02d674b549773fbdfdbe464fa9f52bb4bac4743b2c43e7b18ff97125dec7c000023069af6f0a70c1d7a5a00cb83aef0362fc4913760f4d9c618cd81f83eedc2133b5adb24d562460b9ab5f4bb9661857d2970302047c435bb50066306402307354811064b783fb6ca47492262a5990ef77c0a58caf13447ad0ec02c883ebc7dfc0bfb8165335d034bd3b03c84455cb023033190c06ac268a4d666017e383e932d2cf17b84746c979304b9626d70adec5f4179ebdb4746163169d39f3086a997a1a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302ab445321600172db057db8bef8dd6e6598caf6c603c821f933e07ebea3384aa4bcd61c1188c335fcd78afb8220faf38023052de104581d313e06e09dd361b48b9ec6e2cdc69740d283b06d56b1667d771e5e88b793eff6ff69e1f837e7c75ec7e7f0302047c435bb500683066023100d3d13a047f31494e39c80ec7fc293eb4a45ba433ba6feb6907924e6842f61a024312a088549563b56bf84b56b8130dec0231008da466664795ebd12be47ec0cf6e02901583abd378f9f4c3e2628da8d35a89d27a7cede04c1daa037cea6642c5cc971f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100955523b0e089f3936a895342feabbf997155aa858c3311adda3682081287b6de45ee90c8afda6cff5d74186c02d5eb99023031a98847ce98818f8cc5b92d52f3cad6ddb4495b742902802d0252a88fbcb3332d5321fa32e5feba3569098aa8878f830302047c435bb500673065023100a5e7e8d32cd7b04686366e0110ffb86162851de5e1face7126fa4c300c6ee34f757b39007987d9bdf3b4dec410a8cd7a023077064adde5a68339a0bd8cfb1f25df207f383ed984515cf709d279f083f81ae4c6f095ad0146800b00ace432c49ea98f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230570d1bc4c6c098bec94732b767868a6bff5b52afcade4361b6a6d4355fcc44134798b3b3cb4436418c3316a160d2184a02303ce911fd34f8b493dd86e34414cdd93d72e7fcf841a469f3c8551e064ccd2235e47f6cdb117dc1f348de1cf34f6e609e0302047c435bb500673065023100bdbfafcee5dc87d2ccc4223923f98ddec96caa43442ffb7cdfef57dc69e1a890d034308125fec37a1f2e172513370549023058e5c95c78eae31d1cdf1d0219d1479455afedddde414f3f68abf3759a1d20d07d6d6ceb55f5f3e798a10708a0fab2470302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302efc173b4ab83511de6c8e8be4c1d09612407c6ce34e176906ec3f4beb84858868df9e1d8eeed45231e7011b0eea442702301bd2dc30abeb009002e7044bc46e08e842eadd94828a76f342e2436fcf7087f7ab9bd5eca7955f57f070c508088a0f830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230195b9e68fc92cada53ecd2525461b36f19855e4819c5376c71a4342053e97e588bd3eb908236f9a04092cc1c1427f3c7023078de0ee5cabd3be7f89c8a927bf7ffcc62ae77b9173c6c64dc41434de9be180022bba03b09633f1bf00888ebd838d61f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303456135c57b319e35c666caf209db80e2555f6a91e55683843c87fce99c0fa8cbc2a83298528a5917cc5055a94444e03023100d52283bf2be78d2d3f890f51526c631d209fc4a60936f6c5bde580f71903dadaf40c2d7288a159de313cbba88d630ead0302047c435bb500673065023100d09acbbcf3ee79c38f85179f32b0e802b2fa265d85b98768f8386e453042e8bfc543d8155a2593c7926e6aa1a34d1cd50230640498c5ed56a4ad6f12b7390bdc85b8df5d99ac33b564707eeb4790cac94d56b790f67c101e57ede1803cfa9a39baff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302dc8948507f3123ac08d97400064ad572055b922bfdf8d5d423d6f8dd09ea8b5ea011cbcefdde8396b59d11eeb41e8160230541f984961172a0ccb545629d2ea9ab9ea2312443305510ef5b86cb5498f2a0c481f4364054a80127aa2dad27d023f120302047c435bb500683066023100e93bab5ed0e556432a1ddcf49a79afaa0275bf8d7a8b6f1c13bfcc29960607bbf29f625415ddd6b9b0c7f9c232216056023100a11c644c5dc73b948f8762862d7ebd0382ce3c1f4ab1bacf8e3e9afc297451e25ec3d6703fe8d310457a4b4e578be8f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b032cb814b740592f041d40192add91997b26f3b65444dc2df1e8815c96350bde6b042d1ebe19c7205e4598e71c83b73023100ecddf368bfbecd6a40b705caf0e644f02e76d81dc51458990220a5c44edd7a67bc80ad75b3142b5f3097bb2253130b9b0302047c435bb500683066023100c12de7810085e1e62c99968481609b4973e924127b80cdd029a80dc33ac8a6f436ccab3eff701115ce351ff365a55a49023100c976cdad5ec61578590c8e1da46b70402997d7625798c48ede539361a6d88a85830c4f9a913bac2154da5b9b0099e0850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301fb8d33a663a875773409a668d7f53fdbafcfa37d497fce49cb9c5247c5f37d1a7c6192759865f8fcf4d202e7cc0b66902310086262fe3ab24ab29c8fed5ab069a3856d3012d42c55a29a58d85e2f9c8c3b9bf22f176f16a774ac182d1ceef9c34b7ed0302047c435bb500683066023100a5fc414fee009b66055b8b9adc766ee9ebcc93c870bdbf21858f4522d90268132a1bc9d2dcc6cd1bd82b642b47527c0e023100cdb93bd2758ec3e9112c91ee6ad91fbd066d42a48b71c44ef4d4604ea6b832af1a3b83b22e6fc6cae31c05e190215e7c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ebb1a7c67c6e8ae81be74166ec87e7b70f7c5924b43cad84b8032b8c3cfe5fae43a4d68b9c840636f7e144aaef899daf023100b84e5ff43990842a1e21c90c863b9f3c4968cc9260a806795f93056e3ccc0181b69c59156a4724e6065631c64b0d1bc10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023068fe31ca005944186eb2910d92ac826cf57ecc2728b766c9057b344fed060cda17b02893fbf52d787ebb1068d082e72c02305dc8401111c127f827369b7c61a11a490b70f657a3b1a4eb99e700b3c0e6846df9d122999dd87341781d772afd9f01fc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303e199b2242b8493689b90f5384597974be0e7634b9a282eb5eac81ce897e666fe4b6c4884c7f3a636f8c9d3eabe4ad24023100fd76c6267a7f9f50afbee323d3120e1541746b87d8fcf4e7df65443afff139ac363f7c6e824231b2beddb092926bc6460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023035d683fb193715548f2f29e53898d76a9224419eae7792c9f712e7f6d8c5ed56016138736785fe4719de8b5b903a2954023045caa0e71c01b29ade8157a2468f1726e7932a724098cd33e6a5c8097eb5cbe295bf86846883626c17b71b9e260d19ad0302047c435bb50066306402301f2472210b3e99731ef75d631af43a02fcd38fc27f0ded5f0cf25151ed4ffd7e295189b77d60b10bb4d6ba422ceed63602307b8e27b427d2b5b8bae5f143095ff962d37b40c7c873165e72b93dc17d8bbab5c09c0e55bbc6245c0b390f26afd47e390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dd18568f75cb19f5bff922184db6efbb6d4160ad6e21a04b2bbba084de95e3ef8b16793cc1bb8cc67a157ea77040b4ac023068fc4c6a7cadb8aeca3a419d231657eadf18eada6494793c5bc91ff19ca11b9372e5cf18268bb98e43789dfb46965f140302047c435bb50067306502306a19b3a0a23a734284d53edc9c5c02c5c8485d3ec2616e2f93fd7df800c3413974facc1731cab4e30ea70dc06c0aa5c2023100d037e0e585faec2a5ccc402760c22b3f30120074bde7db77362b7662622e2a326c6891621e1d6d0e6c723648c85fe94f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303f7a0242c7fda96d97bc5431342dc9be084b02479016c04e62ca73ffde19a5bfa20f6747d7703d2c04012ef429a5341f023100b6e3b188ab628de254c63d725a294fcd30ca1ac743c3b23f817e5b182d8b1acc4271be442951625b35d8baa9aba0524d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302529a78e3ab106d7c41182905e53700f6169dfb6773ea817eccc74f06707118972e3ef35524b4b0bb5ac9ee4e3fa3669023070f819e64c22b6555450c9bc2c95ecff84469cb9cfc20da8b489fe8f661b4de0a0e7cf56cff007771e0bf371454751600302047c435bb500663064023071f233cdace487945b0a3c6174c1b3732d983e08444e4357c3aa27e130b9006e5af58e66305995a53d9197b614fb899702305ee7a555c51ea644fc2ed66ff56edd0d72483386ae6749cbce99f6272306fb0d2ed8eb476e90d85a1e19210272e69b640302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f19c8515fdb1c66307dc399396f05f18163e0dea45e3bb052b3fbba93d608425b39a53b230d616fedd2f35ae63eab6ba023100efac0917f28c56ce08f84ca4bdb9d1ecfe570a943465c0d319bbe8baadee2a57f5643998486ef96d794e10f0280a3f300302047c435bb5006730650230470a5a1aeb3f7fc7237ad1414d0ebfd2ca42bf86475cda21e557b6aec14041165b5a588c97c8f4cb9496cf37c0c9c237023100ec40cdf2514e4d24f29bec3ff193aa2d3b5a13270c90d13becfaae079d31a8b9fe452ad55c2014a145a2021db89fb70e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306e5ac92331939fcb3b53be00fcae0c4c7fef16d81722fbe0fd8c14446961843174df2238b01ac220b297dd470ce468c6023100e8086585d8edbb418ec667971261b681d61aa365cc358cc3aaf87baee6368d8711eb915d22b615a0af7bc2707a55ca7a0302047c435bb50067306502306c3dcb37679074a9ce1af6b5ffa8b43917ab5bce02ab73a177102a0c2884f217a99f6ddaf1182c5b5d0c9dd5b180c1b7023100f4c9d90814ed861f28b03fa3ead9bca82aaa0dc9878dbf48c4377598864cf5fd106b9616c0ba145a9419d52fd7e1a90b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023054700e744bc9ecf0dae969dc07c6528da749c5b33077bdb6b4ed1ea8387884fd4b6e13ca18289f927e86a18bdb0f5a8e023100bf17422fae59e3f9cd25ed09f816413944772a160357ae24c94b34a9208a8037a93a248b660fd860f0a5de53eaa676e30302047c435bb500673065023024f366cdbcfb84c9acc808483249bc3b03a370b6f087f8a16b089ad16023b7843826a8a9483c4442ed4cdd37cfb22cc10231009b0bb87f1a3fc98799039487e8b2068273dfa1bdf047108cdf3a47727212d276a606eba513221d224c7e0c67395c46ae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300399aeca6380e5bbb27611288b211b51e36dc549a59c7070eaa0c71e47cbbcbd07e23974ee265fb028d31f4aba2dd9cd0231009a4a02322f1ba7c91a21c4d3d9651b2b30dc6c0fd505afc4f67d86c397b39eac2d41ca585f3b2b5ac953fd73c8176a920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008c20cb8204ee35018fc234b22286271827c63d990ab3d6ae2dc4f10c8ffceee04af4362766d03d3213b9d627b97e59c602310095c60f176ca625de7e0430eebadfddc99e26ff24080d3e78a8a9ba33396b5dd9dc7d55d362a551af4f119fde7cb1e3d20302047c435bb500663064023015e8b76cd88beb0375954e344d11c4f57ad1fefae262afa3fd1153cfd1681e862b20bbe276bbfbc077a1f80d0cad7d6702306e618b15b2cce2d53f8b91723fe6b749d5006bbbcc715302951cd92202ac193763b656cadc13ea37aa57b94fe4b611a80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023060b2d72a6e1b0b3ecb5e8a4de8d051b510187c2c3dac7fd8ef7cefcb7cbfbf4be631e1e1fe7856a402f61e237c19ebbc02304d744de0fa9c89d22b885c6db92b615805e92717b3e3927de19fa60de9c958b1dc4dd631044249c6a05254c442f16f7d0302047c435bb500673065023100c989cc19327bdc5fae9db10b7f83a1c2bce32ec0ccf18feb977d9c5268820d993c6689ee335dceeca29462b877b664c30230691f26e0281be3c6da77cac2c30f8b3d3475af00c7520a9fc2982f75a90d038b475b99515a7d23d7f9d54c35ba1e50100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310083a6b27986985654b3dd700dba626fe28151f6e298016e49183f606868784584639bc8345cbe851f7f4db64d33fd269f023100a1157841f46717917e1eaa70ccb237fa6cc49eb61fe1369bdce97bea61c1cd3ac9c5968417d5772397a140502c89e06b0302047c435bb500683066023100f9baf7b1256585907456aa89527fbfc9f7eb6cbdc6cbac213638bc09fe5e9adb8dfeba6a4d381072d2688d1ecd6aed3e023100c69d3319434ee41d4986079722a052274fc059271165221e1725d271974ccf98b14d623fc2fb9e39d6cee1efbf878dca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230064af51d187911910ea11ef43bc1dda40520ac8f1dad40182449f25b2d2c2e57d2661e777e809018400c1580fecc4a4502310094033810e2d20a2011e7a47ffd5168d00fbacc46da7cc2f923623bba65cf474f90454453a7336c07ad25764e404b98eb0302047c435bb500683066023100effa2d83736679de2d904255e53554c1330fa72b4cf503701aa05543200a29e546137814125b7efb4b4c065f05ac65df023100bcb237383d6a1689439a5bf3dc1981a56fe46cd0964f7362fa6e76c215db9d12910842252ec599b31f979c77a5267d830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b60a36db7bc8f6f484311542f6a3b6ff9df7a6c485b0a95c836cd7a8b989a57eb1f3f7a8bae87f61f357f9691222cb870230527b94429969da2eab72519eb6ef774fa2b65b5435a9eeb3edf64583c2c473bd0d2f88baf4ebfe2944e62595fa833c2f0302047c435bb500663064023037e58dd5d9bf8f3b6002c24aeab5d59172ccfd9124037d64963ea5c8f5b46bae5a79fd8eeb90e8b0eba732cf90e8978102301a3abec20025efdec75625e854224c4dd1ea51a3df2f7bffab17991eacad14673cab3239c79f1083cae5b66de0c230910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023063c085262275b48ceeb2aec7341491e48477aac8db69ce6833938d94ceb7344396dd9876023424e51e11642497eadc75023100c909e793055242fda8bd0d210281d1336a880949ebf717bbab0f4d4d2aeafddafca5bcaa5b86c5dd75daff22a00fff8f0302047c435bb500663064023054108d5e123b7144b8a6512daef1cbbfec2f3df1efed6c2b9fde3da11364023acd57a17ad377ffbf2897eeb7a0186fc802303e1a149a8a1bd41c0142b60810d74e370406d0edab787140e2eae8226ced0550811d1cd224b986bc495bc04806615f3d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100beeabd1fd83b8ed329c0acbbcb30162e660d1c6e4cc4ee4fc6722f374c78b9286015ecd2bfc7ed4ad2358de6ea1812fa023100d00c47712af2d3875dffd9a69870100dd5721e1709b70ef96079c22859dc26777f93eefbe99791cb18efb3e50af32a6a0302047c435bb5006830660231008e1abdf686e7a03bd8383d5b0a208cd95bf265c27d21df655997e639cc00f8896fe1c55cb46fa2fe48cd61d9232990d902310088ad1c4026616acd1d6394c039ce67c0c8011ceb84b25f9672b9e8ec8db25d47371bba852bb766da49ac6994cca762800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305bfa7b1814e344864a2ad1a037b222a764c77995f362e4c6bb9ea04d4d15a8422c6769d86bb94a8f9bd980582976160f02301c324c0d1ce536e63dadb5a6fadca2ce405d8da773b6e734f2bcf8e20384b0b91cbb5fb3869283596a3e6558b2ddd5130302047c435bb500663064023012c9f00f1654b679930ec56d2c1c1f5bb236a41759fa4c88cbda5ceaa0debadfcb2c7c1323f5015de83ecb119501aeca02307c5e51db07365331fb160b046d29c8e88a362855529429e922bc1cf6df1464b6320c4395608d1982a5bb2999c102f5830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dadf9399cd19f3f3e2b4cc5797d34a5bb477d9425162cbaa9ebb7149854c6ec0643add397b1802628f5e9a2110d8117b023100d740da8f4a292264faa4ea544d9e4e4900a16efffc8109e06c531c840e2fd15820d96aed67bb8939db579d71403a54260302047c435bb500663064023025438c13fa9e2d959c2b7bcedbc2bd44a52de4236f65c96e6cffa53aa6f17f5070c8a0d6b2101ac45fa33627f00fb1fd0230739b6f9521ad8b0e50483cd7cfbdb8c5e71a8912e62edeca6ca0c15d3c9b4852d2ffa6865e4d94f32d00ca3bf852f57c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eb9446fba560bc7482c5ea4880e66f0308d320c29841caef70ec3740201de96a9abfd8f8351b5b1fcfb1ec4a9f17e13102300286541b80fabb583089f6aca1a3058c179fe4ec25254f76e13a510be96f780611ce0ce1ab8a2c27d91d657df93c7c960302047c435bb500683066023100e0f83915b6583722abb7468b4010c5085b3f9914ea08357c78f672f6562f6f9d0c8e4659d6534b2e42ff0266d73546e1023100ef1628f6fb6130bf9b5f9076dbdc027b5b45fb454d2966eb2048ba595e4c1d4b8867032d801ea756510c919ae0fedf1f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008ec9e0958fb983b42576822da2b7e99a18ab9c67921ca3d908007c4daf4febf0a93d30fc5496b2477c12940f03f8caab0231008d5213740438dc049bed03836ecddfbbec9c313961f1943da5b8b0153cedf674a72617210c66b7e7d78592813ab4915e0302047c435bb500673065023100fc90c54d3709276a52024d61332eaf68bdceaa9148b0ed044d1edb768ab8f58c9324de780cd7fec7be5a127c395576750230361cf852b849b4a477c05dd8d6db9f375c6a45202a814258987536845fac90444612cf769cf27e3c698cd67b20ff5f8b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304b09de7489e5fd66e3b7b31c3363d96f6f92646e16f98c398447e1ad64e92c7fc1fd66517b29c2e47b67d2132b6f5a08023100820ea53ca43f5e4c76a1d50794fdba4d6a7806ad9cc5b58f0040b061cdad9290993ac69b8cff662f7229ebf218e57a000302047c435bb5006730650230012c498040b7521127fcd2f95546ebd4769495ed34a723581c3af9f0c0f99684f6cd6d5d6a1ceefad86672eed80fcf33023100b06a0cf02ba3e4a649b0d262e90b05ad166d1b7adfeded091a30cd8ad944e73a2d1f37c95ba1572e4c38f050131195c40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e393fad5c49e7e05cf693a51b6916c6749e41391078bffa0796a4d45ce6914cffec7ac1c46490cd83fe084d87bb59bdc023100e9a53b967d2ee8721331a10d6e9a046df040f3711498b0671257dd706c2fec7617a54132d44f50a5db9d8de29cd8a9050302047c435bb5006630640230481cc547765b6a6368ccfc98150fb65859860203993d8642aef5c3f97be0bb3bb82e3d349c523754639066b357c413bf02306f9a564bee8e5c860545c63f6831ab6348b933a2ec3bfbde747a8004957e52554f0e9e739c6cda437e3f2ce21927f61d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a48923813ef95ccabe08205d50cc6945c0262ae49e7b9dd25e01f229f5f095e06c2cba6944eb8800282446a19ee512aa023100857c3c95db61ad4c7a87f956cf0ab7cbdb85986c460346502bfbfdc4f1f746152146d12614d47367c4f49bd4d427292a0302047c435bb5006730650230077742f372a1565ed585341c3efc5983789c3a3043a2b11c576074a94fec36f49a973bd4f420be7fe9917aeedcb0e440023100e6099c25d57218440ddb7255528e0a5e6044c98ace5b175a0a2733f0a7e42613128ff3e382689ff743e2fc7c62d9ff4c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230298c555f611f327de1a8bd97b5169ac63b37790aacad8876904a3708c0aee6b0af521b9df431a5f82e65f5a4925cec0c023010a3b19e9af5078408152c3fd5d8e391a34eb6942427a9f4d83122d08ca641cb9b337e53ed04eeb6bcb76b5bcbd883aa0302047c435bb50067306502307a06cb58cf20eb8b010d98954ada8946b416bd7e078fbd86e14c1451fdfee152e50a23c4a23c02099c4ab0af356a018e023100820d5666af7cbae9ca3d518753326c1b1f3a66473311406f64b3d0f143895e67b3260c48827631c789e0e15ac82dc3940302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fdb594a3e6cf19376aed8b02a052442e10bff782570d4203d0c9b2a54fb0df76212a4c5a616344d6eb376c33b736c2d0023072b859f11d013d654c6aac888fe234090a0dbb3d6fb4a47dc8588171634dec5114445c638ccb1ac0fc3be1ecfe6923140302047c435bb500673065023100b88a2e9fab99d6197048511e15f4c962d6d79e577ddc938717fd8a512c1002741ed20bd6754dfabcda558eff441ea70102302263c7c5e6827d956dacb20bdac1ac8a16dbc63b2fcade88784e539a4da24b5ff0d95f5cd7758efdd40e6e68c4d516c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230417b362c58d9e089a0265805097e3deb9756fd6859e97a7964f1e3d090f3d71bb718e184289cec46226c03d7fda49a2a023050150ca96934d8ebbe1c6e64cb50e9ba92077ce0f5aa51a7b711726c339d089163c8b7712bc08593750f98167aa3228e0302047c435bb500683066023100adab8cbe2168968efbf0bbc8178face3f6f443f109d5032def5b9f21c70dc24dae61f085d82fa099c9511393706a49cd0231009a102ffaaf50317a047806b2c3d16359cd97278db65d24e8786c082952bbb36537bd10f1104897c94320f7a344c453bb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a332387b5aa680c26f9818a3e65a9f055397dc89174dbf5a4322d390b65c24d890107b22e9a22b9b9c13ef94ced932f602302dbfbc81ccfc41310b93c2fc838c4ad2d3c9da86ad1e74be7850bc279866eae1644020645b38452e40c7c2e4e4d289830302047c435bb50067306502306aac9b91d50c99df197656ff8ecdc1c319c67e0c3a191cb46f5c5d50f8dd874f66b770ba6a694ed425d7d1e3c9530268023100e166f81d2d03ae0c13b09a2f83acc1a3b29400c7e24530785435412a783f1c1f85e477a759729e52fcc79c3ae2c410820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310098a7a380cbf257244069f25debb49e1ea7daaf7ee4a1b734396ffff694cbdfe6b3d8bf711a1b37d130b2177edf28282502304785a4e74a35793f5892a390060bca1c0f8a376701e3d1c0f9b4550d74ee2a1fc796b79f17b2cf9197ab9e238e9b1da70302047c435bb500673065023010e717baae2b014a5b65436a83f3bba2ba75152ef49ef2d4f2a0bcf332b30be6936a9aaa10fcddcf02432e655299e944023100d5a4794f5263ab3c4db2a22cf073bc994b5fff48b0fae28a58aba2a9db0af2710214e543afc1c7df28a5d3d23fac07ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303bbef3d6537f6a7b129333442f171a0d582f630463028ab68a0814ae212a512f7fb279453c5587744b2bcc2c19004fb002303816a5faeff1be8a3c77fd5d8717f3ae50fea2604fcc5329d75f441f8ed81f8aa8842a04650a6a07595942b5b2e5a8e90302047c435bb50067306502307c36c2e06885673fd08bee92a646e601464b3cb7846ad0b2fe54dd0963a3b4b085417f685fd32fcaaec72e2fc2572704023100e606b2f1b157e3ba2233d198bed786bcaf541fc8e994da7052301e5e28696f6c74f82b30e8dd366baa6881b38680d14f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023069db72e79617a20a1e958e9fb699965380362e0644ecccc2097f6a117f407a8d6755a0bf59a7ea5e2cb97e8921a58931023100a8606836df642abac695a7e817083bb44f2550244b8bafe24dff743f60773efebfb5a764ad29027c8748e9ea942a1c870302047c435bb500683066023100e9bf339b8d4252eb60fd4478c1baa916a18007edb7e9a6b43b554cf9da2b1ed52c79d8b2b3086e9c9bac1460e8e244d3023100a7d0ad845506cdaf636da7c6119f12f90180e3e9c7d31fc10b6e7b6059ee328b0a93e52017c85cc50049f76ab94369f80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aeb243a09804b0c4c680cc8a0b8306d6c336abcd5a5ee4043596fc7156c1d35aae99265f41356f4ad98f3bb967c3c1d2023100972a27f213f1e764c8777f883d4c3435abee15a56638bf641cea0aad4a5373b4a9f573c7e8516e9dc1a76ff5024c52630302047c435bb500683066023100d0f57e06b35d842b679c03024fb94699714dec6cac46cd8ebdbb8c2858b9ef886a3e40f1d3b5f64d42de63499d43a3d8023100ab18b62d7d203478045e037f4bb463a5460dc7129376c5b42eaf5b59acb0c289316cf6cae9912698421424e93f18e6810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307e33f26657bab6dbc74d8c45fe88152df80665b4263b50528811f7d7a4d8b0ab6dd3c2da93d69d437ae8103bad563405023100b5ae339b4198a2c74927043a2ce8ae60b5b9a4195b28b7116d00d36c17759f9d73afa7c9d4b74b10175c0c0c54325d040302047c435bb5006730650230073f5f1ac3587411ed23e1d48bd7558fa35032b0017af9270acaecda2e3da43b497cf91f85395bcd022a8c20a84b4a2a023100a9f3a3494fd215e216b987f9cc4e8b7d53fa796419d3802ad999568ce57b064a046bb3acf0f55e2c8cb8bc63b731a5a30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023014bc120d454ce7c700fe55909a604db3c93edf6c0714e7255b90fa8d4846d1a9a15928bf0d5bb874340d127f10d84d9c023100986827336e2806d910b6d4af0b81c51b25cc98e5fc4d0f55809145851d94438b8cf65ac18133aad35713869ef2f4018b0302047c435bb500683066023100c35c2fc9d141a37843a92a89ef6264b0e16f798b05c6dc17a72271840edcc2becfee2be731da39c800fdfd9937968bb4023100cdb5fb2def7617ba38150d9509d94142308e641fcce11857ae26e1100dd510058635087a0c4ce714057d3cf1cd5be0300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023054a07626666bd6c980cf8925dc3d8fe040f7b75c252fde8ce2ab74cb591756f49dbea714903b99071cc27b34bd053b3202306a4b487128e63711adb0254dc3cdcb2e17bb02d755cc057ef13e6c92b9e1e284eb68cb356e6b10de4fb376f223f8d9570302047c435bb5006730650231009039c2de4047a8e45e01dcbd7e2692038471f9ceb48cddbc21b6746bfc4fe564c3added41efbe0a4130a319ba7e73b390230167f6a37ec68055e9e09eac3762b89befe9f31db0827901cd9f50916bdee4a9b67db0b2a249b84d658693451329adbf50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e7db34b016ed3821e8ded5f1056e0d7eb3a90b2959bac490c0049fa9a1b1f44292c0f0cf7f8804ae0ccaf918e016f487023100b8e55604a11d489fc68729201fd551df7ac594e9d5f32c3e317c3fd05aea5c0a70f55c9a652b40e4c7a94d79cb8506c90302047c435bb500673065023100d834ab7875bb3991c651c19be918b7e59f83eb965d524e2a4d66c00c7a3f0fcd41b478450e0a1ce8b59a00236cb69ffe023032751dc0d5fb4c212b6a96aa57de51fb39ff4ad5a82926f22a0432e4aa877b39db97851d965dee6595a84e46a7e65a720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310094a05990ce1f134afc2bd91d1ecefc8a75d822483eaacf365c322c37b71f5c9d6cf754bca35f87ea7cf8d3e4d3196f040230161b247280a1e8338e57b063de5ba56c0229dd1c43db3257ef7707e8fe34b062c9ae273179f1922adceaa2e890fa1c030302047c435bb5006630640230036ea6d1709577ff462fe1db83603260abbc916c0a0b6b1ba193e686ed027356db80ef8c20074e8584ace2a1b2596b28023045030b793cae5adab49af4bf2ca719d5875c2f5522865fd4b0629a6c2e2ae26b91a8cd22e4319958ac79f1a2a633f5000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e07961ff6a2793625740bc9af63f35bb37b5a0cfb6534216e5672b6d1caa26eedfa05bbbaa79d395a995a7382682b1f7023053004ea2a9ff94637f91528cf0c524ac3217aba2c7beb4ab983704242a51c056fab7049aa342c8fd822aaaf56daf7f2d0302047c435bb500673065023033a59fc2beef23a558a92bf9cd608a863b28eea402277837d74b0b4758d5fa66d019bc3f691546d68ac912b8d84556ce023100a73379e5b7d5513ef0f9f8badc8d846cd8df057152cdb6b871fa0aaf8dd348d2d333639cb668c2fb30349433afc6f5380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bf9cc2601a6e8d82a46696d0aa63d59595473617e85285c4ab991ca6e76d6e030c69ef1e29b84d9e8159f8c9140266dd023100d40cd47ddb09c633b881abdf05f9cc7ef19a3df833b398bd91a55f785d6fc815eea77dc86ebd53792f6acef05768f4dd0302047c435bb500673065023100b4d19fd05071312dda54a0483b3b78f6f3de7adcb36d5bdfee35c98a725c74e0fbf7ca5f2257f367f18aea4fce901682023048ce2c3c486f473c9f8cc2275758f3eac2ea17569dc9f2da8eb673793e0f16bf738317527b704101243eccb14c0d79d80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307d682eb0e2fe26be12314a322ddbfc845f6bb02850547b24bcf696a40d465fee24a340498fddfe4ab330e303cc02b36b023100990b1a10f3c4cae7754b779dc8631457b77ef5cc1873772667f5645deee233af4e3528fca8824b4a7bdf2932392bd9a50302047c435bb500683066023100cfa72b560fdeac562d7cef5b6c8a9a2016c036611548172bb959a41baf68e8173b69f6b36200af12e9e339f9710692ce023100a240ab4c0a3b049d358925e0dd97a2df3914e98871413b3c8482b353b597f1db238fa8ae266dbaad013670ce70bebb460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301822e672c67812db3cb82c183456d758810f76284f90b291f43c3e4334517494c2fb05b313e3c1fb9584b6bbf92241ef023013f5e3d90985d722881cd3ea786731708327c248d50c6e3e936eab13940cffb2c7025fb1aa23ac6225276af7672bd9000302047c435bb50066306402306dc4026693ed7d8ed44350a2dde5a7238c7e3319f7a219019030dbfcd949bca87faaf4268c2ee2f003398fa5daf552bb023004daff07a4ef90f9f82309eca5581b9701f73b47c9cf8bb46e8be7a25597123433b45d7920713f78d9e36e547044c19f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aa7bcc880a47627783f9972c3d2a648b2c760b9cf4a7e0b75556ec98a2e6eabbe51fda6950bf3d85930cd0b58d441fbf023050c0313ba1047ec5e25fee15afb2941b8d799180b73bd57ed5fcf47c6cccbb702f5a4fe9f9c7db27091beb1807f891020302047c435bb500683066023100c4fa4ace1df4290c1d735d5180ea67214eaf63638ade9261fdc25ccd33d56960d086988bf28ea8bf152c49dce6b74b6f0231009d37e0820020f6bfb1dcfe286c52db8a0f4c33a45f767d2bc851e33778331b94f1e5732f932978db1017029646a9960d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023001d4053d1f76d2a0126cc14a0d3fed0319ab966b18063e513905c57f5cd4ed51ad868d7c77b08bd97985233db2165b0a02305a6ccdaa6e49f3951e76d2cb3a97cb6c43be3ae1abfd9a4d619565e513c71e53775f2e1544553243a2066fb1dc89caf00302047c435bb50067306502303bb3566244ee6c4bce469304aaa3d0a96fab37ce1583db68d2e2f3a9b4b917816dc66810c9f150d32aaf960a5be8ae12023100fac54eb5332796c8d67ffbbc496b2b4c0705f4c6e1eb2f8631a37ea61a6b95cc24d9e41658be68036c11de3dbce26ce90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023031863f6f970ec37ca3d19077319bd48fed6280ea1f6aef72207b4335eaaae5f8ac842738614234c8d7b0b53a88ad7210023100fdd3d6b14e7fd344a3cbacf053df1067cf732061c082bbea2d1668bae74a5144008221d8d8d23a4ff982fcc92edc42510302047c435bb500673065023100f27fa073b4aade17057070e782d2259641a426aac9c800d6459ecee4ff5f4d262148c6ce7bbcac1369d24007a5589eb602305c6dd001736e987b1a498eb0663960527512923907d7981df4a7a51164286dade4aac0edd5e60ae9f7f27cc8c53807d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008f058272f1245ca1d29334baa3f23adc1a721e93154259f3f7b3fa490da9e6cadd41e0ef0c6a13ba4e9d44b867a78b6c023100818bbe4516056e38c978cd74c591a837e8323d5e1624a80031aa05504dda9f1bfe961c923d3cdaabd23a6c4517742a180302047c435bb50067306502306fd205cee68287b12b991bed7bd22f10c6f61466f00ccc3597de9a849308a9f82d25f850b8966463509c4708a9915d8b0231008100cc802cbceee8130a1b0bf7d66eb8bc6aa05f422449adbbc6ed211747e83488bd613e1b1e7cfde86772422bcf0bcd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006e106ca6ddf56a5561f76240c250aa6ce8a197af9d989fc63ede33ca10efbb5deed0bbc4cfb2878bb7261284da6e86b02304ee6f5d842f8c423cafde0dd9c1a1a0ef61744beffa91b3404114449a7558c46aca6f7d90d141fc4d65b21738c2f00da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d5710dfe5dcc4e12d1d2dffbbaffa60e536cfee613a4a302e070248c9eae8d9352d017cfce9abf394953f79163f0e8c0023100d4cfc3fe62cd4042756f9676d01905878fe1bedd2bac1ceddea6f05c093b68bdc2e5d06b53566da9700d710ea32ca5d80302047c435bb50067306502306dfedda0d27b722b4ff9b631f960e00c351e495eee05c2ae42d68ad90ff41cf7950127a03a4301cc65619a8095642670023100b2ab09e4a9ab96157b372d6904540bf114206f90f691677c143d35320648701708dca4bcbbc83a42dd325eaf1b431ba20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305e5c5f3329f27f39316d753cb00aebd65f8d275e217c64b35ce8fd1a1bb21b9b19de29dc5ddd2d3cf8ee8ddd196e9a2702307ca2ab0c62e36c424808e3740f324c79eff1c196cba5dd0eea79c5a0a7d1a9bbb5a086a8d453401c2e5ff0f97fad36eb0302047c435bb500683066023100913a86264dec130d4e9fa84e870124de17b7215079edf951367540198284bc97080cb5c81734940de1f96a269b20354a023100ea48ea8184864881c383dd947466d3e05d38ee43b16089133e662d8347fb75f7cb663855d4961e1b9a5c7f7cc7356d330302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ade8abcb905ab219eb58f5ff5c415ed333dbd8f77a70d33a8f2638e38a64850e71e0fb55c96efd26c89893869fd4ebbe02304f2b2a6ec53219effdbf96bf4104f32a529f68c3cf0c80d078b9fe2ef1885a85037850a03e1db9016d7e0962366972660302047c435bb500683066023100cafc453111b829b9d6b4ce4559d83d6ee874fba0bcdc7e1cc534250701d5a9d964041c5db1bbf9d980d31a6d9f532a11023100d7c490d3cf11288be89a2f596a4cdc948e0ef79f98ff6c9e57f9a4f53f4bfef251d66cf6303aedd86c8f1d45cd19fd040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023016ca9c9e7be69b5c54739e413387e080233363a635af48ea6e9f9ee03c33acedb157fc384590e953b770bcaaaa47303102306732fdc5fafe446183baf83fb7e20a72723adf4f18a0f6db10e8f25a5c605c96c7ac9b1a8fb126bdd0c4c408e576790f0302047c435bb500673065023031e317e6a5ff3fba739d753a2aebd2196dace25bb3cf9c37d5f88140438fe6ad66cec9544d18eaf65bcaa1931fc6427f023100992e8ff1085b52587d10cdff6f67747bd42754f7f2b805de318c2445c65316da447c95c0e8e9cbcc5a9a780754a6f00d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023056e65fcaa3a7426e21215da05382a1293256d3de75f557c85ba7a36ab5b03bf16deb3f9a97847bc2fa0a75ff96f8e1ce023100d8d80558698ebbc95319385c42f1dd8ee1d9fbf148100f47ff8d4ca8faa5742c030bfac6bcbd5538b2425a31c1b2eae70302047c435bb5006830660231008e1be35e295033423f338b3b6797e34ef919696fd1fb7ab749a440d9eb2d60396330e45d266ed5156917b6252b0bbc43023100ed66eea94411c2fe1f52d40fd4f4f7bf4b957ac84cd1c1226c470d5cca128e94e5761c19de876ea65d8bc83d4a0c03110302047c435bb500673065023100da8b07da8870be2969b24ca0c3a860d3bb30a5e3977b2f3b6022995753793e4851ee568af42f744589769930322f6a4602303f1f1cf084e624a82f663c10c874166aa2d409194c3cac1f373a9c46e69e83198b7219deea063cb38322a961df8cbe2d0302047c435bb500673065023011a39357db7c63841d7ebb10c70f834d8575564d792bab9859e16c438c1e0443fcf6719c7390d35bb1b2f14577d164fd023100f8e0538bba0fea81a42257ffbadddc3211ebe81e6d109cab4fed46981db43caafc2b6157670c2bab0f5ef1c0355b12340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303367913e056d69a4c5d4ad3af8c1f3f878ed1d486f9a85904989a44fa1e245c77ef629d271cff8af76d06302860c81e102306d4ae105809efb0020cd0164d871789e7555c7fea48fde2b4100eea880a3834d7b8939c69edc63ced8d084722dabb9a50302047c435bb500663064023043587d2a2e7331e0972f4c69eadcbda882fba5012e1c75ed96a75d78568f663b48f474a67e1acba09c061c06ebabed2d02304a070748c6f2a8b424736bc4a3e0159914347022773f0cc6e864119f7e0922da0bd5510a5a6f76c38efdc5726f554ae50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ca17caa7bae8215af58da5a94ef7c4cd3471dde2a80f9c64a93845565dc3cbeda8fb42e1badfb933976d1182e0849774023023db22426a3e8c410f6a9ebcfce71ab4096efb85a612616ca0a9bd9692ecd7fc0964674ce8a6300f0b333c0593b548bb0302047c435bb500683066023100c705d680980a6fe2acb4e3976c44062f5ee131b0248686d5a0dd53e9e882ae912850bf768c0554be99241b3b69ca619e023100927aff9cce8db35af138336b04e66187c50be4dafe751fb52ce94650d153765e9863621d633c47effbe86258943c0ae50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fec5df30580bd999a6982916d5b0da6b02c931e6b3c61d1678eda7945726fd1563d86882676cca06dac8842812ff7d51023100cd0d3cc2db23f1a461b11c3cc47ecb9b6a81e2e227fb3fe94ab9e659746de86200305a4224ba07e44f23946bd6621fdf0302047c435bb500673065023100bb0257b7dab4c01dbe0b4ce5bbcab75abbac09c6fe4aa93f7d40c2dc36d15a127c6fea7c0c650bebe633307af3e4eeb302300cdd84ba63f61e0b17abf68d835a58e78cec39a565813b2f14ffee7c84123f007d9ea156ceb627967cdff342bcb3bea00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d3346d82836aed0eb796fa5a13ccfb13b5b71d45aacb8fb590e704fddcf004420f7877c419998304224758ab8bb6b721023068fd680cc52daf887979ead42a3420a7034b49150986b45f39041ff66ef4c50772d7b8c2de63f17b55a3691f2c02a0a40302047c435bb50067306502306961d5962089f14fa60982f70c76b006ad5d976df84ad802b7340032ecce116965c8ac0da08551b330fbb90689bdda9a023100e372ade786c33cbd5e34caf964c98dc9d759c852514f0d7def3d6e18b32514fe9e6c56acce9a9a83e6c9ac93bcb036ee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aa03bfe93889349a0860169d08fdf10bd4039f8eb6bcf5e721fe42c7b563c6c617919a2f0fdad04f2518604080b5319f02303d4fe6159661b65cba6fc542067668fb18d7dff2e434e9032043c2f3f661b2cea9821c4ac9ec59dee5394912ed32a5ca0302047c435bb500683066023100c670e68008e9b963292c5278fca077a6256931df0e069064c67dab76971a06c53fbc8dfc3d2f83277f819c0155a7901a023100c6c6be84b28bc050357b511a80802f6a1010353bb5a46dc988b1fdd79eafe20cc9ef0358dd9e82716967661fa7423a810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bdd1ec990a58475ec16c1ccbe503edb10b7fea538b12102585085dce3a4a1e444d90543e05684f20c42cdf3201df269902305eb0b15dd4121d314e6914238b672a372b3e1223dce0b75c531e823c227c0e742635b16f372586f06f91fc1f105f66a70302047c435bb50066306402305a4eed76f82b37b7029e840352c8707c8bd9d0254dbae552d95315fc6e76954b395abc3aff30fb96e802cde65ba6da7c02305c5fc63ae9f3e1e4bc4970a198bc9f5d80626d537f2917d6e8a750953be618f99e73158812b89ea49ea560cd5555f6e40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230521c4b19bd1447be757902ff499ea751b19d9df793ec5d12cd26c72a4f704e42ab1a4f72dc9b658246086265d404692c02307d047c9d1ef7a32e81ba9988d1d0b41a2f0ac49dedd0f962edc97b3fbfab6141a42b437476b3bf7a8d74e2407b82b37d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006310119a54390338581213d03ba62b61e9101eb85cdc8af089dbfce16fde757329f6a9b3bc3f5debcb7e9d61b1669850230464c5e87c0e42a6e44a5d66d65b9f005d4d842d1942e533ccd67e2d9668c6692aace57ff742fda213e25ecdee1be65220302047c435bb500683066023100cf05b66fb86fe733f6b0c930d8e1241b4afbaede4c893641d6e9f06d140389bd8d2614f04bfbc422f15e7891e4f47383023100de0bdeb5bfbe7cf596629a01610c97df50bccea0a68561de34abac98c5369ff856f0ca59fb102782e7516587bd20eddf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100845f57f1d7b7a854873e17e4c87f59742c2453c88630e2b7dab7e9385331551b1342925a949d0d5b7d65986c45ff0cfd0231009bfbb04a971ba2a51862977ddc15f8bb198a030a4d15773e39edf1b24d5cc144621851916088b654ca86b81a1a52c1140302047c435bb500663064023071199a09dbe4cd7715e5ffb0b46f9c64cfc0e99eab285fadef6be120aee7cc5564e82c6bcab4ac8ce5ce5cacde497fd902301d9523e106b8fcf566af63bdc98ff61fb957df2db02d5e47f3c36dc61692d475eb7781d88098ca6a8059d3c38f0e1a720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301db4edd78eb51ba943df7afa1e6c8d84347ad152404e8fcc88ab6d05bfc96517586aed0772fe95069b9f4324dbf6f15f02307b679b986c6ff20a14dadb8ceed480e0a802c48f571721813955dd784b1c535ec85ebaac648ebb4fe9d6b45a963e26680302047c435bb500683066023100d0a75f8342f65073a9fd8c3aa94b7a71c7f9540e8fc85145fef327b8698f8097b55e121d2eeeac218e89f57803a67020023100f70f593683fdc89a5718b7f7ebf9c17324407f10ba640ee379ec1df8995986e67004736de6c72b1079d95aac1736db830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230438979e3fe0a3a7e4f1afc25a4f1452566a1a9c2f21c8f2071479063013ee47268013ef16e284af11b08ff4d79aa63010231008bb7920464f93975e0ba74d91999c6c5846592305b2f4f0514ef846346605201489e6fb8ad2232d242e38f71aee3f8080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a7b6687039bd8fac8f880ad25512a388d3ce37e206d30ef3daa2aedbe6b243260184590f580c9ad4cecadb4da3901e61023100a135be5c91f114c23971f3d619b45f9971b18beeffe657750e11b4182cac14baee733f7c94443b6b2f07de28078a087f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230465b60a811a64e72c85f637680ad099c36b439b492e52542aad189d9a4d4dbbb31962dc919b157e6a3cdaa71534a82d1023100c5029d2008fefa7c2652576b8e596da4069d190f22ec331fbddc466d78d99b9bc73b738ae52539615cce94f38aa6255f0302047c435bb500683066023100a27976d9dc7092172cd77e0e23a99be4fcb871a535405b993a91d17f4b26385abea8932f32d4083c5041e28cdb3701ab023100fa1ff5acb4bdc1125d4bbc910962ea49ef85084c70fc9b26d4792815534921e26de215d129500ac28960e7671f32dc400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310088d3a709914615fed7f7ca6640f6e9743858feb39308d32f263c22e3feb41cb607b15f7106d4709152c9ac39d65e0cc5023100cc91264790ba856779fc4a283408219753579498f80e9399027cb48b678340a653a3a1bddb6e792e89b8c3bbf43051390302047c435bb500683066023100ce0fec6477a0faa52e0dbb4bcab2deb9943157faaae18d87dc96bf886b8e827a05cf4153c9361c8b52aeca89aefd48aa02310085ba02ceb3e1907e11253eee0017cb602935c3064691f2ae8f46121900fd71a083fd77a31c5701b81bd72ca13f11a70e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023062359443679505d9b2923a21efc045bf75042367197f90649f8ddcb316aa2883d01a8344ef41f2bd3496627741f32a66023060fea17894c9dbf078442205f6685f571bc907150fd7b9dd412fb291ca4b9e9c0cb4c5cf6a74a0ae3fd452ebeeaf65d80302047c435bb50066306402300c30b721cfa63f0960cc004ced9ddcb3fcd8ec47f093544882faf215b27cb68166361b2bcfc3a22e2b673c94b4d4008e0230082a871097c9d9f84467d923940b63b8212899bfc5a56093000d50d6784d38ea96fc94779e0f9c34856907954f25c9d40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c13211dbdb28db755d0adf2f2d1ce7ea052b83cfd7011222968cb21f5a97224f4310c8625908ac8e4cd0b8fdd98b39f90230146085bfaa20e444dd0dbed6201e499500b7dd5e8b4600ad6b704c1626e4b256a97f5b9e49cf22745f86642e337cf8040302047c435bb500683066023100c3106d48ea1591c269d83cdb28b071d66f9988f98bd41e806738a3c324a1488125e1974699bc8f5ea42b323345ee6c8a023100da75e89ff7ea6f4636d5b1f03e96de701694cad5cd4b65aa04bb75b8a503fe19ecae2f0dbeb64cbd8ab4d77549a672df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230550bc5c718dc29867a0c3226f9874d5b7c582b9fbcb924700b2d1492f277904858cbb4c1e1c3a787dbabf7b7296dc7ca02301d9cfad5503939ac7d7842283a7e74d6e2a5e58cf0dbd8a95b730ba8153bfbbefcc749e3fcc7f42456f98a9de97db7860302047c435bb50067306502301ccdd2ef0b88df5eb8e11963af89202c2b104b72f02b1888e9dd576e5eef3f3d3e3db5f95e9872c9f29a825e8e283daa023100fbcf8fee37d11dfa14e6e74d5e656a1efe34bc8bc4bba77dcb7bde70db6fd28b16a36ba49f21cb63e2c5ad5926cc9bbf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300f5bef78a02edc754064bbcde05eea9c7d3395664a8034b78b7308810791d19793b9167138aae216a1788b375fba5c7d0231009708706f9d37e23cfc108b396de84dc2fe01ea2117b7a72a921fc5f491eb1aad7c2d24750c935f0816e0526336616fce0302047c435bb500683066023100dabcd5af6ae600de09772128e3221ced3a64050d04632205dc7645a6299837b50663a5eff6dae98508abe3e32474868b023100be050e742f2b9430d17a500579ca2047175c924c01a3c464c9e7fb3ff7137ccbf9ad204f21c48d9d62024f40d9ce56500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302bbfac25fc1bea2142120a96c989354e0f20c4953705df6e544ab0ee7168216b517c56d76a184525d6faff9e8f4d3f2202310084edaf24563535ed95d064000be44b964b5e0076a5bf0cd632c278d8d2240a7d697f9bda895f9b301bcae6dedde153ae0302047c435bb500673065023100abd3fc3fbe9b5d84e9cc148a291f2dc11bc1ad8643e5616b24444434963bd69c08010f7b39b3ee84d169811d9a6c64390230019d44671f7a3cb64147ed67d0a2853aabc114b35189463d45b1bcdebc8266acbfb5200586cd0dae296b8a4f2f0eea0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009398c626bb282e8802d7e89c19f37473fa3e844d1117d33d37dbd1de418c7e59b7720aab28318ecde3000c2834e3e30c02305cf97999fa1aeb11f740287acc99df572e9a9abe9159644bce73d4f74589601e2a78148fd1cb174a37c9168b49f33fd80302047c435bb500683066023100d0aa1c30561a14c3f83126b6fb3c6504da7e5103f621ac0bff7c23daa0295484b9265d4c3ffd79516229d6482d9faa5c023100e56ded7f524506d6e45344e48f7873be36250ea97ba229e705e1877b64378895272cb99038f6f98b611d5999ad83ed910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310082cc07511909a899be4c61774e5985d95dc181aa23860f97fcb35bf1d46137cb7f373e66ff20785069a952b7c7bd83c502306c40b07b164aa7a5b05b2fe17864d5b17599cdae9c7f6ce604331e3fd94972b28b2ef98c61a573dc62fdc1dade2b2c080302047c435bb500683066023100d8d9b41b89e62efed671deafd7e8b7479cf1287155ac2349618b04c9b469b23212cee1122ae2982fecaa8eaa4f04f162023100eb5dd71d161709a21ad734c9c014ce5538ffa30d85bc8d671120fd1f0072b4eb96c2b5adb8e5cd3b99a1e56f6c0e96ee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302cd83f82993adae0213f187d73d8847b3010d9bd2f97a01ee42a70e9b50b199ac261825644d05a6d94f783743b8d6b490230093c495bf8b3fa4ef208bcad7bd92b55e597383a5707d517a10e61c6fe66acee1b90bb928300d4773cfb8037c35690360302047c435bb500663064023074dc86ca0375f51b608a686df5cb85b4f6e636c5313b02bc5c7d696ea8520ad910e932780cdec800eda1eb4dabbddce1023062d9cb333fca6ea3c89b4626958b1fb1a75ba0b52c0a6a384bd2c27ea7bb278d033922fcbe8a7a91030a0e0198e32a4e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303657777ffc6dd7b0f738da228b98a7d14494fe286290a8ea0eb9f8f459175f91f02021e8db1ecf67f1a1b6c64c61f6a5023100bc1648c527fa27b19f705403a955bce0f88978b8788eec72aafa0bb57f26800b90f37655a2200b000d2f2ddecace11550302047c435bb500673065023100a959deb039c69696f5049aabb699022f5219698aa89a21c120758dbba6354cab2e8f45be07bb9aa62ab7aa66502c8ff40230081e1f62b3f2815ffff5a1cd2c5e4025b75cec2f32ed3a151a409a56d166bff9a045b46cbf7cac8c9f875a36f8b76d250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cf1b47ec66b6b2914b64f03deab65d0b94b7970b6fb7cbdc51e9e9001e7179ce9e6afd307e7b6ea3242bcf7914f63b96023060b231bd2dc8563fb7a6119f06fee43ed20b44aa963d428f59ea33e36773147891b8db385b4ab4515bb46a0c6a7ccb260302047c435bb5006730650230404f07d0fe1481f05820dd9b83eb59cd7f2e12d622feccbc4b35209906bedab03986baeef1100750a6a4fef3266514a90231009c69a1593123040aeeb4d81003bb4ec0da6a6dd942aea2d3c9443b3732294ab93fb9e333a6032aec635089c57e2014190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307b88aabfb0ddd716f21a4c0b898000ac0fcd0069ad68af139ae4c8fffffa8e9ee11495f5c19aa11bb1c8d81475329a94023100b4c8ea735b117740f4156a2682a7b9a806d9e09fe6e12ec4b27a2bf5a4b67fd77d7071375bbdc27450e608ad8e7e0d750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cb18987d2d060f3129e947b9a09b36a3f58694d131813a81401a580b660651abf6addaa83f1b99505b6ef4caafc014e4023049d80917a2680593d4a7732cef68fddc76bf6875cfb34264184ccb1f3e2cf14776e71f3d3b0c5251aa8352620935d5ed0302047c435bb50066306402302616bf8c1d138064e035233a74a10c969cb3bf9a0a81a902cd810a93d896e52adf9b70bcdd1918bf8e24732af82363c102303e0773b19b637e48645de6ceaa82b4f6e2fdab2137d7cb703875538f769f929610ffa4f4742dac3816abc26d1dc705300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008cf789cf36e356ab5b5cb1a59b9392dcb2936549c7503fc7b095fb72e2da0fee3a69e0c9b8e9af85fdfe7bf2e88addb902301307dbc973f58cd3718124e275a36f22407ac3619d58dd869245fb2607aebb2ea1a0de9f562cae2977e859c1b411edfc0302047c435bb5006830660231009c2e46d1242c40b5a111631e4edc96835cc5c9525157c1e66c7524086863e89fba4caae6ad9ea9464223ebc8a9c688f7023100b06e69e7415f5089ea520681314e0e9b5b273777482d1deca8e909ef51b3617b6a87734333e2b1f306199f31b124bd7f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100eb7e835c6402f6f5abe5ebb3e0459df6586fc0ce889e5ef344881b2f77fc1e161eb6d6a0ebfd376801b9679c4f7d737a023100a25820f33b614146ae0cce3680422d76a66a36aec67f12eca5d7259dbd99435408864c9c2b54714dec7e3bd5b302c6b20302047c435bb500683066023100acb0149980a9b9882107fc14f6657916129a2eb8f0c3e9defa43ccda3d06a3895b857e3f98c5f48421f4bb3c0badc8f3023100afb70aecfd4da535bf57aef5dc1d9f62aa317fb0950cdc880ea0ec1ecd3e149209edbddb8aa417fcedf966e47ae359c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230505128e00b05090ee9207ac4d83e6d8432d9367dd50ebbad80092a1cf0ad09316beb0e25e097da5dea0a6919cc26056802307715c0ec9350fc0f2b0f5d395dbd8bd0e3c914c4538ef5f2733037dfde5acfa0da8455d977d0d8a9eda6a9ef34ba98730302047c435bb500673065023100d2067782a15046c4e3c1c953b34811669d6951c59c50915570edbb42d24c18f67c09495617f8a68456d431806bf922c802306b27d62fbc532ab177e9659d9688cdfd3418b153ca1a401da2b369da4332839b87c7fe4dd229a3a2cbf68147ca22c4050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f779eefa7a940fe94a1535f8cf175486e6f0f71837fa2a3d6a325c99a2980807a235c174a8642c4c9d39afa1691fc7a602301f199a4af3355493aa7633b49196cbd26b919beaa63fdd607815b9ce4cdd7df099b045a60bad3dc9a9bbb9704df8e90a0302047c435bb50066306402301422fabc6adb81efacbe99591aed0151923e63d2767753abe6b8792fcf74f753a318b446bf5d125acfd1c71feb5b6cb602304d5212019fefae0738b8be8c935bb34500aeed53be645f4b520fb109518c5f70f1fffc758b9857a2e60abe5190cbd1250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bb91d227af8f6f7dbd25179bb0e7e06b4c9b61209ce0d1fe86200334adc42b8dec16174abf4e055bc295fea1e95e2fc7023017ab7e3ea522659a67e421ce9e6a56fc91da089d524fbd9c9b4d0e03542b2b0891ceb54bfc69054ac20c380899b22a400302047c435bb500663064023077297c4037ded81ff45038fa013ac75210d86a6c116c4ea6e47fbe1bde8a4f84d5e837becc09a5d50ce3b325d0ac987d0230723335d1289d0b242e58f332eb39bf52ee349ecead1600e4ff170f1334a1df2eb39b647ab4668cc5ad65d0b5f258a1790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023015d862f39c024560ecfe1fe739a22e06c8063fd79a29a68ed96851da22d4ddf4f3ab2f0422b2914beda9b0df8f1cc2a602307a34d695e53d3cb655847008ec96d99c8a0e148df8aef52fd20e942ae3f835b15cfe020861321d6f515824ec9d458ca60302047c435bb50067306502302dcf6a17761a294a3ee8c0a49be3522daf80bbf5ee090a462bbb043cf63b2be31c134d5a1aa64987b4f8a81cf507f72a023100d75bbe6132f6f2a514b91b117c4636aa53f3d1a165023a6d6d3fa1588c4ce6e797e01ab1d17c0f7a3eafd9e523abe0a40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f38f19b5cd802a92657235ddbfff97382a5fd8344983657f998887e7070e6b24d843edf9fd82af588708dee5e14da88102310098da3b8cb2e18f790db09a7fa7df0a0b770121be93c734a87ce94f9c672f3728ac778be2c00754af4bc30f75fb76a2210302047c435bb50066306402305c9edd7b200c98a0b754c33ab18eb114f115fb01d05dfe6c7109668b97c2b52d9bf9b15051c43284965eea2b9bf11d0302302a51b76f93349f63f8d7eb36df6637dd831c96f2f667f5238fd3cbf6ce4c84da165bfd673af370e73be7015d15ec25110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d8df47d34f58e3b84a6db8ebb32015025f33472b61cc566971892b8a339d2f1ad880e0b41ae5fcb67b05244bdb2de5af023100db8a77c8b7657d4de67b27ee01238fd2c52a74e92a1a9b016f10c54999d30b52867889ae65b49234d55ea90e9e67e2b90302047c435bb500673065023019dfd6f18bceeb7e54a9ab6f33e65711e0ab4b02e56f7434ecbdc6e3cb5203fb2e877d6cff7c419f9ea6a0db6c8db51b02310088e0f1332a0f330782a2c5a75a6935786f014c56e7c080e97c02604cb6218966b3bbd6e2b95d35b570c45a3ff28679c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009426255bef02586a6af5ccf9c42fde1594f13481018f4406ffc931e3b4aac110f5709198478371fc8affb0cd63b3f789023100efff51ecf8b2fc334baf111df4cc57598d89d67774c96b0619d3e298d0065d587b2730d43c47d5e5caaf3a82593519670302047c435bb50067306502305cdfdb690eb46fa9e35d4e657298bc214a25ca51eacc6e226cfe515de53e592b1e750ea103fdb6371ecc7f7d08994ce2023100c9b323b4a1f3d6003de828a13aa88c000cc11ce59c474e520184410514bb1ef01b90a7f7bcb1b3d34711eb71331ead4c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023050d92e52ad5e1daa708358ae677e12b1bb098581a1d450fc9734dbcf196e36db51f8506bb479103320fb99ae4451374b023100bddfb7ab017ead8760fea7e64c0e20912e4cbe96dd9f02d157be6948ceb113e33b3553fa0a6372c67d9b6fd69ac68c270302047c435bb50067306502300386e3fdf402a12e6d1f6f94fef387bf79baaaed0442f3d8e345addce165067c64de8e2f1cfaee926710dc86a6631fad0231009cad32cc24ea69857d6360fb39433e70e6cebe70dfc19d773cc715f3dcd926fd78263314d88dda950cc3e7b7de0bf83e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e421c29265faf109b7785f645f799882708d0eff74c0fed8db799a38591dfb6a23f7dff5f7aa60cbd347cc72c6052354023100afe899b8d5fb72b1fd029d2f15abbf733536d19e61638c84d106bad0f8d7ffe8d20a964aa77da17127b3c158dd9228380302047c435bb5006630640230209159de1ddf1125574ef5cd45c402bda816f3c96a4148876bb306fe0a048324055feada8d2d3d3a33908e18f4e8eec30230632f83f46897a158ae9e92726dd87e9fe0125901a55d2fb7f9aa8335581921da7f810d929a6c75964fe5fd33141780bc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d219113f12ab0e0e8bc8b721d5569d9ffcf17ad9cf8caa4d41eefd69fe832770fbc7a73b0055aefb37743fa34622d60d02300cd546b04725afdb37f5cf5cb33e1c118b5823fcf167e19ea4a8a0d6cb26450265b2b7bb8d6439f5e4db46161018f3f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e5bc793931f54c3df4b24407ae1b5e7382b5608d549e7acf2c05dfb30f44e632876bbe64c85e1bd38a9c12a1a56ee7f60231008f71ad1324dc5fc23079119fb4401d4e15e3fe16c18d38a61f570064a90d30cfe1920c1e99bc90daa4765f41d3b2b9f80302047c435bb50067306502300fdb673a6a931c27d46b460501d5a8fa6097e1c652367eaa176c95f11d939052ac51a30ba1a6eb2e34b498e6f7edd976023100ba21871319497709bb3e743306301e88681f9793e526707d094db4b9c7fd0fcde34110d2bd774db38ca02340d4841af10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303d4e09794bc768c1cc458497b1129b9979d172bafae1d85c5da1603513d90b3704aaf07e8c50b63c817df3551885d93902303c29265531eda8dbabf8d361c38e5896da08334da8ca2f44cfec0dc831fd06b2b8dd705ef3371b5e0298248422e189f60302047c435bb50067306502303a0da107bcc291fa5369d903f24eea2d238d4b26f16d3aa68333ddb914bd77f4427151cd1ea02442a2b5461b973c387e023100aeeee6b3441cbdea7bd3e1879e7492b6a08465bf0ef5b835955217f4f83bfcd2f9e53e93b67e4ff7dd98af6f5d5cd6220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f54dfd3286482a75adf57b11639d79c34ee7df513a497e5f1c97caf939e9b64993831c1612873ea7dd8d6ae9708cbb24023050314fbb98e16d9a1637d20cdf26893d35e96963bb8381dc0e0c0e8ec7b48a6539b4b562a01a2e03e7d928c78d3288560302047c435bb500683066023100c7a871411fa56a787e6dbd1e8ee7b962fa17c12de15fc62eb6fc5e8d4c4bbe4b1d850aba53205ec19982d4c01fb7e9480231009332602e2db248e2f576376c79ab1dcc65da66c844eccd97648fb3be22d1aa7ce9b826c79bb0725c7432e93f1bc1efb70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305d604894908eb1ed99c52e695d002e2ac10a0494e2f89800b23fa6a892b7dec293890977a158ac313c083db65f508458023100c1f3107c3c3ef3d3e523820a0c4bd617746c9aaec31f8de411b1b12eb14b2b0344fa91427411ad030fbe0217cdcf3b0c0302047c435bb50066306402307e173ad244dddf6d78f9843757f358ede6f98cdff2f091184ef7fbf5d67bcc8d95be34f73f4b8c3929ced424238ee3890230467ba1628918ddc3b68dc1c45c00bba480b557f6b2b4afbef132cc1b33bc3c2d74bb4e9da9daa9f6fb043034ae340d0c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023043d6624e80fba7b2532cc2f1339d575dbc4ef3ccca5977ab432d030b0c6ca44219342b19ace6a83d8ea78778d57b74ff023100a029dacd11d0127831faa0d2aaeb015fadb2236258f96ca69f4a9b25c7f35dcddc5c2e50c821e81a4878a1e2bf15392b0302047c435bb50066306402304782fc7e11eae66b898541e0bcdbf5bf258c8ec5f680ababc3d085c05ed96ffbee5de95c747fa177973d99db9c5b4e820230401a9128282f5bad0f3d9d670440016887f53a93147e4d74c1aa40f7019a7d6fe2d070c0b689d1709ca88f7f2eb9bb370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023061054442ded72e8c40000c5e634deddc1593a8648692e7a72eb88b491f059c0684a1757c6b68775045588afdd16067ed023100a28209467881ba546ec6b9e7076ece25b311cdcae115b5489c34796af2645382c1d34cab03b134aa51a30a318dc1aefb0302047c435bb50067306502305e739b672859c377000d42afdc1443231ec878e3098ec0b70dc4103530f72b43bbf79800e7f29148e86daff8d7b1fc0f023100cb23cd56ada0a0435477ab11ff70175fb6a8c6e23a6701b323869809e92d97a5df8f4e6c47fea47ea1f29bac960856d20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230562f17f7693f79eed5cd7df6aa1ecfee8f180a14f0b5f1095c01f45e756e876154ff84c55c2f88813c75bb68bc492cd802306093c4b0de4f20a00cd36fae1615887ac60033f35af831fec69cfd2b7a1d58add01db58fbe68da317ec986b7257c6aec0302047c435bb500673065023003f64ac9a75f33abd0edc9e42c46b67b3a25ab208095742bbe0818af30c370f88b1219b0a0f5d69fe822f2ebd1ae8cf102310084b1f17bb61fdc92f6eda1d91e64b6184c413db4d32cadec3c2a0936a998ae32613bf0cccdfa3db68ebb83bfcd2d84740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f3c2e6f00bf1b623cb50dc10e0c1ae3c4f2b2d77c7337c2f3d07881d48c021cd84407819b6e8b0611e8c703b9350bd94023100b7430d5321f3dc067d9157674b6fcc29de39688ba39071f3bda28b0c808613d34549d70e86c141e7173fd741170ed9ab0302047c435bb500673065023063a3ee9c9c38e085bff388d10fe90c63cd4c03bd65bba916928d2d2935ffb2dd11123cca4bc32df3ba0c1e85513f43ab023100eb6f26bfaf34e72786818718bab08f0439011da9ccbaeb4a343538fe73ad4ef940284d9575c2c8b7d544b6d7619b8e830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307c20430bd4a59826239039ef40b9c20bbc28b7586d3186e92705ecc2fce5c79c1ae3f17cdd720731fef1281a43a9ae13023100c9e7b63bca37ecfd40b5fb72c1b715b9ed7585bf12c31861d8536e30099e9495a6ac1686cd02e0fdd173a38d55f4cddc0302047c435bb50066306402301f8134e476bfedc070f264eb317c5047992c9c19a3bfce2a18d79cf4637d2e9fa0622b2264207014041e248d1d5c6e0102302dddf89dcf1f1401c708d95d0d86406c30f85097ed042133ada9f1652360aa2b9fdb365daef2f6da7a67eb765036a3950302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230388fdc4091ba9ac82590bf50fa09a9d8a62c44dc723aee4effbe8cac9557b6102ea7d9e4d01dc8bb9f85a7895b3b322f023100c982105d9eddd355ec48c08e8329d2a5fb80c3751877ac0ea17e3e7c2e74c763705902cb781459b1e656d604b71238430302047c435bb50066306402306860c42031402141304a77b625b5f37f7a87e68b9597e31f0206a16c82d3b822a35277c6148f47afac9c91e55576dbda023049c93e4bdae7c2d13139c7f9b38f19df01f9c8f8884b92c513a006ad363353ed27ec62503168c1d3d94a874257abec7a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c568b4fb24e778aa2af4344fb838ef52b65858ee53804c8e9406475adcaee7e43a77d2866db8b1486c54318da8e01926023100f368bcd81584dc8b1352be5f7ecf328ab487f6c506b9f79292de0800ae92c3c04e55420e14e34cc8dad5a40a2e1877f00302047c435bb500663064023077558c832e6a43c75dbe0a46057f760146a51d2d660f3960322270b63ae7bad576b250c3f772dbe3fc4e3c202dc61c51023046cd8cac59d39768841d315eac6311632b7397e46ded59894707eaff2899193257329321cc2f97a293a9eddb7865f42f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305d630ec617e449ea4e3901e47e7e0e8d7a2609fc04b67ed9793352fabf2f845a36736c01aa3ec9205bdd0c598506e407023023c60a2b6ad2b4f05748a23b1793283522800ffcc4b91d230e338796db1e4e3132208490c9634e9fcf9707102877fe310302047c435bb500683066023100fc01f4ae5b249b2480489cfe1ddf49e74631e6ed9eb831fe4cbc202e45da91bc633ae3b8640172620b39786fb93fc7070231008b5177047340d72eb64814eddeb0e5b76df3a1d64c047faa6a65bd9bd66a8c62a6029472c1f098950df729c301dfed980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009205ecf66d914e2c1d5de89ea56e22289b6a4682e32ec1f485fe918d7a4e5ac051174c64c4d346e15a25e60c3472d857023100fde2aa4996c8e22d3347222cbde44f0547283d21d63f4712d13775ba001792b3ab88c7fb3b586a5d7ef82eee9c2e9b6a0302047c435bb500673065023100d42962b274ec8d3f22df444a1675206686151ae17cb0b69f332ddce6e8f958586d08379fecc9ec9273ff029d83c6d60f02301aca6ead38e711272570e16d9522ee0aef98aa3718abf1d79ef06a454139e1208dd1b5ef86069f1445edbdefef87b1f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305898ee04a66a0be5dc698ade2404b10197f3a50dd1be4e381b73cdda3d43c5f0c4163a23b63d98e8431793a741a1c76b023100e90e5889ac50eaaac99d9fce91816d004d60dab5c948f19dbc107673054d9130e7fdd3b25be9547bd916e766f2065a1c0302047c435bb50067306502303db370e7d1b9297876785a46d23fda4d4ea252ef12f930c4b0b883cf0b39a6279b17a676060dfd8b600eaee472a67a21023100abc28674e2f4dc1f0cc9a99e19d6af6b35171e664fe7bcfcc364573119716cf06e5519b0498575821af09e49840fda0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301e561199077ff74ebc3ae5623f084de3be39c2157aacb06aff99e0931a81535fad565a559eb8c1e99b0780aff86e5d4a023100f61906a33ce3ff1f4fa837198e4a800a9fc231b648d3cb7fc0b72e90419be3ca6d661b29a20e88ba7cdd1cc5f604393e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230699f556ddc9a3b43c56c4e4f459b5c53455f78a615f157398f0e387bb5d9c547092a869d87497ba0db585e58ec0e226c023100d350e1a322e93a824a331fa79e23bad76be9a8c07dfd64220f53c0b60a4e544866c5628602e9962665f628a9692101f30302047c435bb5006630640230043ab84ccac29fe8e23ec974f03e3dc0ca466ea60952c68848f72d4819f96faa35e065d36df0558638419e5275d72f06023074f49dc81887409a1f596bc2f6b115249b70ed74d8511b37056847731b1291fd197c3f890af8d286ca6d6f1cef2da6600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023040a0359086aedd81e6088948f297996c6bbc463ac916829e7fe06a222c4b9150fe0a8b50d6e84464f97a9ca7abcfd6b0023100d43bcdfd57dc56b2b867c6b474542450b0a6c6a494dbb67f696267674dfb8a4f7a3c9ae8e7c8ea6e44c6b9c5c614c39a0302047c435bb500683066023100f442f356feb10732d84e5201cb61b91e04e1309da3e8e9d011dc475138471826500e10df7218b39092daeb030fa7a27f023100b4c085ed1841b538c3bd25bd737767c30b66a1431183c16afe01ec554226c3e03e4ded2856fc2ec348605b8ce276bc250302047c435bb5006630640230350aea939934c2d16a82c1c621da5a4b7a6e1d43902488bfab73d2528aa5030032d5aa7204202112b9ffed1f0f599e32023049d0028249796cd53fee392213eef368ea1c918cf38486c2becd05dad3926627bb011f58ab7cb9c2b8f6d042c88ec8800302047c435bb500683066023100fb54409ac2c9947f380cf7c7f1ffc47f2260142fb6a838f9e489c3a873022c23ce2f10292172dbc13f5dd6e1ff45e2380231009d81f830fce9660e2b190387c8d73a43064265521b47aa9826c64bd6c8d8f5ac83f88370216473c8d7ce9937f999e5ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301118a6fc88917cc4c600ea13b9cee367e73efecdb5071285cbf05f8fe150ba8b818e7f55af1c861421d51e0f7078e74f023034016fc2c4c7c4fc257dddff3a397e43e8a17658d7f61a9b8a1d7c05d0257e9646c437e1593c0ecffa858596d51b5dbd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023077767fd45b6f38c19964506efe8d533e62b3c646be36f7992a8ee087d92c74fb529070b03dd45c6aa2a2f963006c1f4d02304e80d6c942d3345d02f67731452e4ade761d826fbd723c3713a3bda1de3b10c4279728b2536712d5760ef429224616c20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304b110603a655cebf76defb7b3028445916405adf25498fdd4ad8f84ad8c8690aeb89350eb5af4f1b00f523ccc1ece04a023100e72f8dde423189e0610a8d938ccacd0b40d650b725b3defe98178d6eaa6b6804b89f0345262368eb46cbd12e3d497dec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100effb750c966f05f97a5dbe503e1ed7a0d73b50d1041b3c78ab2e60f6b653b8a638c05ba14c4a58adaed1c9f9c9ee2a8002307484e9087f5db22b1adcf5c77a0ca3c96237887e579b19000971c6ea42531f681ff1f973747a9995cc67a1c7566f606f0302047c435bb50067306502307ddaa34e3ef04b4323dc27612069d67af633a80249c2c7e6bba20f5fbe9b7de21eb1ec4838de848a64e1637c29a790ea023100cc0c7c5b74f3fbda6ca92691efa1d52e54b11d070b6da4313d09eabf5b582a6b362ac8209f3f7e00280b2a551c8c067b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305654417b1747edc3c02108dd1b3a654e2e6582585c4c76cc429442276e8163246dc6beacaa52053df1286c802f035c3c0230356c81eebd5e5067997a85bd3f58aa5a2f18d5d07811601cb93da6c3bbf468a91cba580b48edf1a6262c5c1ae50e150b0302047c435bb50067306502310081f692cb2df2d7698d019a0b9a7af09944c6a2b52ec8ec6ef1eb8927842b8bceaaa9f613ddb4a43c567499d510fe048a02303dedbb5cf4603a5dfe728e92c08c1ddd7ae1fbcccde48a8e96f1a9ecf6ddb4db226de393a8d6b74c0bddc299c7eb485c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310099d3c770689afa0c88548d71f01d970b4edb2bf2ccc9db88cd6a8fea7f2e43b93f5d895eecf83bc8f71901572ab873420230431a6b16b742da6018e2113117b7df1d4f27bd7d89d4c6ff19fb124265b61fa9a2ea6116724c96f8dd8e263617d80a8d0302047c435bb50067306502305f95b1ad3198bf6499f573a9c95114cb7dfbdf2b9272f4feac787e4925561ed98ebf83b22cbc7683c48e0bad5b906b29023100d971937b7da3341b1f97aedffcc003e5b74ba1aa1e61e19b63ff32dc8202665ac66b5dbafc76eb9be63edcce0032750b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009bc9b9b0d9f254b4ac6cbd4eeca918d1b61149bacc1368c89a772644ef720959abfea79c4f1eb214a40c6d4db671803402310095435342af662e1615f95d1fc4042fcfce1b1c9a5f0c65f8f425ace2a661b24e019ecc37a3266e2b69f23fdbfe4fd5a00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023013f6f7bfda5ba29aeae89a706275072f0ef0b75f9d27bf8b97f05c4b0e64b990cc9c0744bd320fec5d6207fbca540529023100d15ec0d756a2a18dcf812ceaffd35efb60989212bcc0d0c30bf6759fa0ed6f061719836f6488ee960df66f7d4a91c0e60302047c435bb500683066023100fad4a4a44221bef0c5091fe65cf2cabd6a9b6d7261bee146aba1bbcfbeb9ad2c392fead53c5248d59b2d302484a387c50231008ea6debe5053ee5f9b811668388b5b7f7830d6cd1bed4eb7841bde0d22db5b9868ef2584c33045b19bb3f8abb07fd38d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023029b8636056330587e80821ce3c4d92e6663467bdd67fc2225012212167782a8e7efd8de14ce4aec824d9325184abb9d5023100cb7a07ca9fec0c1ae54345b3d450351594863608b44c1da4ccbbaf64424033ae1d557cf5179297705ac32e12b4c283060302047c435bb5006630640230269b57632035b30659ed022fe1139df72f04884c4e500b340a86c9b662f5fc3e5dde256592f7611feaa1d986661c918702305d674bacac9c5ca0d87500e5a57a20d12c06734a5ec6628a0164c8160d8b56ba87404024d07e3c0943b303c643540cc20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023043e0afc615e85fd2778811091533c5898fa69787022d8ce5ee2375ca36c8b5fa27ecf3c103c0b12d3dc7b7b133a24830023100d9f04a41597a550f31f19d4789d9fe97a390ccf1533ce03dcc76d41e00591656b8916e0454d6fbe862f2dff2319d974e0302047c435bb50067306502307476db75971b537246cde1c3dcfcc46d23134b85f196108dd4f214d2664bbe19fce0253026a7ca40e19cc19af5272dda023100e6f31eb71850d13403e122075be59da240e53748557e2ea327dc940d04200b03c9e9e50da92daf19e91a3adcfd15a5e50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e4d28829cc02a3fcd121fbe6995f9c0086f9438747f6ad9fd4f08d7039ae7f5b739c4598347024ed506278166b85bf3302301491428bdeb81cde89fb6587ab8cb3cb1dfaad4ee94f9495a1eeb85154cb761c6c713f1369b66c86956a87b61c6dec4d0302047c435bb500673065023069ff8a4e238479b37be0b311e321ea126a8046047d8fd4f58ce9300572c65f3fd52e6b15d46735eeb8ee676f04bbc18b023100a61678600c58196bba0f8ee15d72ded929bf2cc5e491d417a5de3320b8e3010d4f04abd7e7d0dc11c58483638c95a6160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230410e65f3a91c3115da8e10685e038a7f443086ec69067fe3e310e4d1f30c7d5480686940d6c8bdbc518ef17e334aa932023100a13e63996ea9f35b9bfd15415727619c760d69d010f8f7eb44b2e7610425f06744870bb13f205389d4204acc863be03f0302047c435bb5006730650230616e6e4c7b1a66a57a96dab28fa2935fae08d296d8259329899b06ccde453d2bc99cc97cb3385ba179168bd418f9fc7f023100e5d1ebec34697e1d1d25b6d227a00d5e27f13d89f45260e4e0844b2fd6c95bf8499277d91ca08bf3ac85ffcfb2e458170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a30340cd9ea81bff2c02b96820daec90032a61f9317f334e643403623f27e38d50a75cb8ca4cd5aaf7c172d77fc94ed3023032540445705e99d304df3229bd4f806cdd8b6a78bd0e2bde9305099815a6aef477ce84b257caeaec048e3c8a781355980302047c435bb50066306402307d68f1b68199c76a2cde1013e37239644b9f69d9d74841059e3dc33b94c0e222be5ee7d4f3cdbeb5a024e818060dc09f023018c7f2c9194a15e2bb9345db5a2ec84d1dabfa1decfd5f3b29be053db80ffe978debb116f33fe9cac9297f5d6f7d2ac00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f39b12a21d31bd0c9eccc2347146f277d242270c1152cbce85801963a1bd9415e8c5a3dd829c6b15eb5c3e415cfd020023100cfbd8b04572a824aa515d00f7d88d904144c1910d1e8eab376f3bc5eceb57d2f07142ec025ed83f32e700757ea9e5c950302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008d28f2799379b258982459a855daa09824504b6fa78a670704db597f1290f95d0e82a2646d23545b454528b4141e135f023100cf87d6a06eca7608818b595c1fbe0a066db0212390c4bdaf1a12962102b6c57b75f53e5aa26ce6ace02f81bdd37058ac0302047c435bb50067306502307a225b0a5ffe16b69431089f01b95930fac7e6301708e371c6efe0d2b74498ce3ff264bd31412893c22309c131b16a33023100862fa4ddda7b4c6e5896b99c1cbf47e927806ebf446c1c2bac63747b411ff3b38dcdee3579faef8d91373d01059481fa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023064c2b95baced46f5a7805187a0a43197b2f6c9f195390705a21830c33d804f42944e79d5e886b4a1a25ea9fa76c6cf69023100b84c26cd4c201891d7210544e42e04a2e59d08670202b599e3399f085518b671c0e346fb9e80252f3634ad54695569b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cf515d534e2da153b09602285fc323dda0f4b30555eed654d93592998fb052f240bcbe77529ab0fe1d7ba26296c3c70d023100ffd7f264e04eebfaa2a40513071f1d1fb136cbc2b0fdb60e21866ab1af5fcf300ba95d18d2650255539608844a6829180302047c435bb500683066023100d2ccb1b0d87c13528cce9b2cefd1954cf307a587cd39769554cfd444d21c70c891c267639c1d780094f224d322589212023100b2de809284ae8e55ffb09b9771cd95ff47ed7112c0b0e92ac9ac412a8f31f89e63a00633e10c482f267759e5b9db9d0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cbc2c0243f7d6ebb1f60aab46b7dcb0ddc6979b0be77a5eec670de44e9e1ca7dfc4ec7ddbbf0c19205391f7d23c9a0cc023100bfc87140edf694bb42245505fd9242fe04028dfed334d8e369d7ca1e7e52c11a85bc6e9cf1e296da07ff043de34cfb270302047c435bb500683066023100e10c2bdc9254909b33900cba2f8480bdac75f456c858c062a56bb938d209340d817ae0cfa06124addf7b46f1a6692c53023100e0d09a2de42d9becfc77fe4757b0d9b031b173a804464537738a95d744a3effe37989962ee72f6b4002c703c026b83fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310090badba99725dd4cdaaabe9999187245b8df0f19beb49ced4c968aa0be7d610ca9fe5c3af07c43069693026ab44f0c3a0230692c9f386638a670f3d1456b41229d5d9b40f8a949b7b0b049bcd7bb527eb870b4171b58d6c7fd554680b069cab4c8ca0302047c435bb500673065023100c70aaa0da29071ff38989a1447b14067749263fed712a8c89cca4dd0add89611f4eea6eed123c26d67ed944291e801d8023031c6fa869ca7618bf4e5743ed0bed943a033ac270348851dc40988d471cf396c08c8c734def73108ccf8dec98981d13a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023057312a10ff351be81327b02107564d5b420dd5baa512247f87211f49a1ac5e8b1ee2cd18e982908ad3371b03835b82f9023045902cd8ea597b0677b31fa1499e0c31cf0741e96cafe69e12570a861866e631ed54dc8fd4798a763e5f10f0d766821a0302047c435bb500663064023049dd649b2b38e6f50bde2f66acaf58bd8058b56f73fb71dfd108bea9747b037e034daf349645b2789ca4d3a9cddf423f023011a973c760562542f066c057f0d67021aba699b2a83ea3a9a877921064dfb4f397b7a3edfb38c6d811a66ef97d541bea0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230368b32c5a2fa03acf25c08d564108720cde35d80dc613883f31e3471b24b83818f10e746ef4112b426ed3a95f4d140b9023075f689bc40f54da5df60dbe5b1d7d9dccfd14421e54c640745e4e0c0080af870a07d837b83394a9feec5aa4d59cf4d900302047c435bb500683066023100873bf53ed1a41b5531abe3ec9817e26d728b091fe2689ad4b3742d74ddb01333817762e2fcda66fef96dc8c88a390803023100933c30c553fcdfe8a0c89f238c126643ac2ae0d9be0a13fd5c13911ddc1ab8f562df131692730be16e3f1f4edff619900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e1e7077c32d2d56621bc3ba296c86a9dd7470dcd5b14666cedf2fb99d28bf3a26516b326611dacb968099c174e81575b02304e0e91c9b67be76c16a469e2b11486594ee12dc43445bab3076448c98e84506f1707c05a1e14b314c05cc04b3bf555780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302bacfcc3d6dfb02abbbf133b8f6f59875955e378d6602bedb119fe681c006a60d92180aef7011b50e55f86d35878e42e023100d59a3398f6c2d33633471a0517a6abe9d1cf84d7c2e57afe25a99fb143b2e6dc9fe8460c204a8667ffd917e7b4db62f70302047c435bb5006730650230050cb6ff56c515e7dcfb4e12cd1de7c0bc72bdacd7ac3ac269fda673bdd23c70818598c7b715098a1ad88c40c51bce8d0231009380b6e8b9b089cc165bda0dd9f793111c132e70724c615b2b32d26de902e130992ac7195735c4b85fc5db104ac39aad0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306fb433f8758e717ee238d02c07e0f2327ed75900d522acb7b611555e7497a01a1a9603e2191a24c599d81ca60aca693802306ab87eeb4d7ea35b33fa41f931e4f1f6bc0f3b5e9be9bd026a5339b414f1a6fa4d229113b499d99adcdb90a1ddf60e710302047c435bb500663064023012dce93e990192455a27452d7168ff8f37aa75b14bea7f8e765bc3eca62b1a3ba48871eb058fcb62239d24e4331fc32502304f2544e171042cfa1c44afebe1eefcd942f8685fc5e31c872c46f5e0930b1fd33cd24e9044c5ae8889adbed502963f9e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310089124701b602244724566d537ec1d91f4e20558694a84c0457aa96c7682fa9b4963c11a97076d0bcf75b8c6f95b5220d02306879138911e4d9e7f0e49832375c170f5f2b65e2696e2337d144b392f5afbc0185e6fb84158367ee169f8e58eeb6cc810302047c435bb50066306402303ccd071b7fabf221cda7d23677fe88b3f3499848138ec908f15f6b8205a1c09378152a3338ee924a17cec8a3d1f64548023048e08df2397192a5163deee48972af4141f3775904054698dae767753d0ffdab9e26c916b67ee69de001d9fdf3cd0e5b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023017ecd41b80f458207648ea25c04b928772aced738a6ba3eb154f4b05044a5f0b5346476e8b7c92fb69a7fadb4d76f665023065977cf85ad15f8a4bf47ae1063c85f95a94fbbaf4e59b0ff35f31be276073d1085dfc8f3d9adaa4070bc8b85f3f2e2c0302047c435bb500683066023100f96cee5139fbfad4016dce77b9670ffff1d93464a0ddf9c3170c759ef6e928051669d83b98ce551ed2d86f2db476004e0231008f09552f116e2f40cc8d01ab520c41ab178fc84711d6477c8f0eec3f197f23df66a980188d7b6c7f5c6c1a77d6599f1e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306c131653e02c3e634d0eb9949ebbf24c300cdee12072bd29bc61f2517f5b3eeb6e88ced06d187cdbe8e9137cb797fe7e023100e2947f28907e5677f569f2164f04c3cd798fce4ba57757a62dc6dd76c3e69977becc0e052dd6c0211003e9016c09caca0302047c435bb500673065023100e7ad1cf24759fba4003c7cbbf8b0f7c6774791c4d03f61130d2e31e1830bc10953b32f3daaac030b34ce6506bc7fd9a702306bd79dd09ab48091f1315d9aed158095686441a98f0b8b27966119cdcc6fbcee1483af824386af9701bcc835b8f33c660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e130da2ae8eedff8fbb8a8dc149dd64bb8c68a57a65d003aa2ca8a4d779a245cce89c7ab8f46821e7bcc9d918628bdaf023100ca97a0d82d2ecb17c0ee0854f7231e6b41ecd21e99e5988528cfac7a48572971f72283f8c836440f9b71a30609d8cb150302047c435bb500663064023070527723b92ef48750a45e26d67d0d648ecdf98ac0454ad1bfa2f98831d17a0fec6e5abbc5772175c68050d670dcef0602300f08b0805199eed330300d4002d87976a0ab16cdcc5a8328dc6518982f87d3d6fcf0f258a6b2e242a0439703b05760df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f643209e8a0773bf387a11179c3ebe19ae6ad4a05c82bc5205d747e515ecc6dc7c7e544b555bdc6fb0871e53c58a058502304ef7e71cd8599e6f695e8ad15f9ae533ee2b3c0bc47a2db51cfd2c2d9c1619ec5b441168fdd0068c679bc5280ef66e260302047c435bb50066306402305df1306aa3ede0874bc79da19756418e1f2003a83cbbb370f2febda07f0ef9c4e8be7f234e5620b5a4ac224e16594c3a02300fd9c71d556bc617f0e30755911b7f8c549006b7f704c6091deb4b9cd691ae9bddef32a1765a130d8599d10d3773509e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023002d1c4cbffbcfafbe7b60857fe8da2fb34ed705f77f52910d1979855b0a5a92a9a0e34773fe30b843b8fb3500bf43b17023100bcea765f0c6277e3f0e38edbc97b88c0bcc119ef4a98b8057a0eca4f9f682aea75358b5b5371e77479d24039ade237820302047c435bb5006730650230709625e2a5a9225c80d24195c805082e886290a5a3e47d1e91d38cc98844135d19fd743781c136c3a238486d18f98c8b023100e78ee0f2004ad49333538e4bd61fc13244cc15551920ed9898edcbcdb47971e2ade080ae8dcc434f8608c821054968290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023035dd34b71b7c6bf14ad0645bdacca742fc9b91b7d3cb63dd5b8e0846b5e7b30508878c35f4a8bc2177b43ce437a2f86802304187eeabc2aeec67c9f8a8986fc3c7ca96e1f2e524541eaa4c586e3ee60d3f47feb286c7e86711e307f5b3c74df022960302047c435bb500673065023100cecc9d962d6d70da3ed22c71f7461f1969937edc7d96e71a4c51d35788e5b8ca42b4dd1385574633b693c2944463119502302081f14de076dbb341253f523d7b0fc877ef51f979baedebda573a3ba923f2c01fd0d0d5030690660e21782225fd82480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307795cf8729e62594032301300cb9ca2749f0db98a5b9263f30f3e327907e96fb58784fe765acb6625923a0a26f92ee26023100e467dda1c466aff4213d8ced0d8892fbece07051c321b05ca990a58a6bff37ae9408dacf792052d84128423fcb8daa830302047c435bb500683066023100f9408d37e0ef258a43e746168b6da68a5ace29e1cce3e68a00f7ab528416990136d55cf3da41404efb4ff217ac12369f023100eac793baf1f4a25bd3112d0d27f5ceaf70f453666404769e7bbb80afe542de7857d38666fcad7757156a6097d1d472ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230793bfcdbac108c53e28f2f0141ad0e0e4f506d8916c4ff222d65ad28ae02ad63d8ead2a7874603b980a33570836223f702305658b712441614833a27bc97e5d42cc72a317b9a51a8cbb416f96a23e840c30bfcdbfca4d73c56ecc5d5893e05b4d4560302047c435bb50067306502302075bfe85d600e3d7343b9a3273163f82660ea5ce6c8a314349e2250fa9093fe20c04be7bfbdf91ff038e5f5b8a07805023100df7d832559d5484e3a224e2d1e5acd0a7066b74ad405ffe5e0573185f59a7900f84e2457d86b0b7e543cd2e000949eca0302047c435bb50066306402301af499a44bd98101e36d27d414cb5fe8b32b3508bd4eb5dcef7ed07efbcf83cc3c173ee9a860ff506124cb895ac5c2ed023026c0cf602ba33e9ec9f1996b6b5e72bf03ec0c2b0b1a5c33c15ea0f5814d9add3d2225ffde60af6f248f9b1fd96c38ae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023042119062207569d0751524c1a5134033df9f194fd54274b67833fa67064cdcfc2b58ea9461b4d71ba5a0c7951d7044c302307663709c9b98f4e9bd67c8df10fe2ac435882505d4f371636994f5c8aab9e14b72a43549b7baccee227a78966479edea0302047c435bb50067306502305676a8b7eada6e827b0e6c658353d14444527d0d0f7e2cefb23d8e7ad03e1156864b352c77615e980ca27049a7dab70e023100ed3962697143b48f00807eb15ede48d5eed0bbdc1686379962a290cd9e277461f9943d1e3f06692ec101d1c29f35f7d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023042bf6d998cb32fec1e3153e6a92817ab6feab4e76eb4a8ddc7d68a75a639d0b77941edd85054c0dc824219719541566d023100f0ea2074ef860ed8198288985c22d644bdf9cb04bbc506d57b851278c58225c19418e462f6606eca95fb44051d5c116d0302047c435bb50067306502307ae2b228ba25eaefbdc3c1b41fea3ec447395563e9a42fc4e0bcf74df9a1da76489ea0809d21d4e0b660ef92e827e84e023100b69ff4fc26ab4f2b66d501cbfa558438599c10ae7a09759d87f492195a7a7d97c6e6454c2b9dfbb7aaf1618a2f4d71c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310093ec18357e4e40b179a28b603940d0c11d70f5c0c592e87db821a84a32772c68d8c8393197d43e3ae9f7f59ff63a6843023100f29aa990c1b23b7a92ff8d80a990afe5e62dda030e61bbf88c817aa0665939defbbad28820deaa33d4b582f1104d5bfe0302047c435bb50066306402306571771939c77ea5f4d2b8f6f58b10bdf59b365c2aa9544dbabd473a66503ca53599b7b86c1b302b2cb317f9a53dc0df023015964b248ca44852bbdf627af6ef3a205b2e2b1613237134f25ec605c597834252ab4e6eded1619c50b4c93a3b0b991e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304dd247fb3b6a332c276781822bcbde7c60f97a0beebc9ea8466bb943f19e0de8d42be06dc6b6fc58eb8017c0fa35fcb5023100818804f4c5ab63fbc03b8ff2322c84d1f08cd075259ad741284afe62fbf18b583caee093221b0ffc773b142ceee58dab0302047c435bb500673065023066a636ea82991f3712c6d362ab93f946fbda63e4b462fa4003c2f8b3feec369f240dd695a22aa97689eca7c58af2450d023100866c5e19b541c6a28f81b0fbfe00f0c582e454896a2ca18893d1f44aeddd4ef0027c721e22aa455f66f40e50a57f879a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c1ddd7303c2a36bde643f4709b85494bf9106fd56a49655f86f59567030aed48bdf5d0e76e0e38062d65126ba476f9df023100ad79037ce4b6e9d646d345c18c6f6543d99f7da620879f43e52c483144879904aa47e646e4ab689ab358e67aad3865060302047c435bb500673065023006940123ffa984163bda02f934e58747c7c080ff9abb3ae77ca121e14647f5fae127f82b58f022a2f174bf88c2b69b11023100b80991c3d57340d97a51aae790362c359e6605236d29fc29b18cb4de64643c5ac3eccb71fe85813829d9e6f244800d550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306d5c26f4988b804d4cbf12c285766fa8171ec7889dca3795f9c53aba5b6a6b563709e1132e44e33141ec42c6f1088c58023100db72b2a2c7e19180039c070b6e1e8611aac24628c3e271a8f5e1bfd09f443a30b12a8062a0c5ff8228b547ed7af733be0302047c435bb500673065023100fbcf0c2d78d88a0bd85eb4cc604a8e45cd19d0e2e3c79d3a672dfb6ce43d03ad765385c0578f439c12e3779cdca728f002303b20a06801f7971b3af65f3f2721b0870a585277b0d5af92466d1f4cb6bd8a1158b943809ed337770d7702ee2b173a690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023000bde28db8152013c189ea31b6f3917e5e87571fe1a866aea3453bd3385a0b6c01599b7710216f7584cf9c3e1c4091850230661489cf114eb91eaf1ef8785007b4acf676d1f9037f4037d5286f1de64bae6f67d80c6c55e5c1c22037a4367a1d1f390302047c435bb50066306402300b0bf4ab6bb93f4f732ea4fcacc2ab4c2a7cb0ff24fd671fbc57c9f8f0c15690de8f9a2fb6f5e082f03ae45c3486600002303e09fcbb9ed5b63ff41933ab9ebca5c3a4fd1430e3176edb90c7fe4f50148a45276b4474afb3181897cc0b0b4f9cd9700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b92e864b7e388b320d6ed81394634d14757055d51d067a9bdf93dc97771fc7a95f25bfa4fbc0ff7cafc096c9275592eb02305b8b24e4d5a6f4a0f585460373c6d987684109a36631226660a22917817537a26a0a46ce5b07c2c51b4dcd7af6732b370302047c435bb500663064023028cd3aedf702a3c23a30f359a3725d66005d92ea60e6e815429369f1b03646a510c71f76d9bfcd687977934ec7b382150230200c5d66225a7814258f0da1c6e5d2fcf2189721f1d8adb90935f9db14575acc9f9e71ac8acb202ad9f6bc31d491e69e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230186acde69b28946c4fb564b5ff05ce8e4a46f7cdf7a53634b706e827064e0705a522528ab8b58894e7e7578f98c9f43302306705e5e694b9647b438574340e6e7b741af50607cc254d73cf08be08a9d2762be387e3c5825466f9a103b7a401dcd3550302047c435bb50066306402304f3ce13d411590a8b6a18aefc492e1da2b0011261ced6ca1b04f028bfd4094191d72f7b129079157bd080861ffb406b402307f40ecdad4cf96ee004b46c11e872fea100bf120dc0fa9f32e7e15337e1f63a807647d36fda57b49b1a29f95e58a39500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eb59458df9600eb34868f85dd4e078893397087886a7d94b9fd370e966a1b301951d72b117b2b1aadf00b3f59cb17b6d023017ac232688ed6b361d8e2e6e5b9ea1d3f1b425928f257ae9b184e945b5d54ee9c4e8843a795f9c0fee66ce990295a13f0302047c435bb500673065023100ac7c909c715093133babaae067b7a8ae70f1760dd8dee87e9e0e40cc9a4f58455704eb5e5cdad662c82b7c35bd8ed2c602305895acc3e868d18a5cdc9076ede1f009e130615f78acb567b1b86f67ffcc7beb3b2cc687264964e3dc6204a448dd14bd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009bba486b1eaa4956264009083bcbe9d4a0e9765e0ff2c746bb6b88bbcb1d2bf52cc8df9fb0f35c0b42654f0dd55aa68a0230773ce299a29c2f727cb627a9cfe1cb7ac4ee3880b772d82c6b5c06668ad4ac606f860365cd4c4007071bd0bb2e18c19b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230343b556220f9558fc6cbd887d3207ab7996795abe7211f56b729ee05f2681007e3e1c6536846b60d568bcefc98fae865023100b291ed19c8d9ec1b34042daacc8484e4a32e0cb0e27f30db546d9a7a60b7d46797d7c041ed4f6fcb2d3e9e1a2ebe85bd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a4a0dad2284c31bc5d5c2171cbad1af21da62217daf561c2f3230fe53d7e31885120f8d06f34e8e1fc53167265cd5a4002300966d0cf16f1595ce9d7a60607148655e8c8acf4e2d4e5e0586a91172a5062913df7af2831aa1b799aafeb21dc09166b0302047c435bb500683066023100a28fc738cebb49dce19e4bf9fab2bb317ba63fd81d8437b10e62ef48a731550b2641873018e4f064df427d4c473e00c8023100d04bba64eccfba522aa2208e76f2244af349ee94fb04a2e3fa41e70862ef61d503a3983f45329d269c0235538755cc190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303c06d43cb8e3150f55110c707016505b79ed92cf365e370fd5c7ef0c7dc92c5e87f590a82e9133a6c22da34757a7a02702301f1543e5c7dc412c49a3f095c5c53f9f65e053c2c0991386e02cdea3b082ed12a0597d7c3f96e6b06fe7b91827ca519c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023007b47df4fda488913459d25637aa5ed375eff99f871eec7bc865696193604045033d3983df24f7dd66f7bf4cfb750c9702306cff559a73ac05e7e3b2f4eda30622f647ee7156f74cd45412528bda4f753ea03be19b5e4c5e267e2fa504840c7928220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cb286ceec97d112f20e6205d5fb33d35872d09dd841da75a3663739222c5950ec439f66bc8ce927ab60bce904ed1cd5d02306ac24397b9b996ab50b828fdfbda0215f42a2846a75229e8a4a7531f1b880f8f8e2c567f34e13bb9ba88e70e0bcb7d8d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023049e8374aa0aa159fdd04757a31be428e0ade5c247b70b9cde3f65b660e104b3125db9b9471e5f12df859041c74a967e2023100c835db49f9581cf0018dd42f568b4d0f0c0efc01af3af84bb334c4bbcc9f1340b490e367f82a17db09a317a1f3a89f920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303e65dcc8be8f3ca5e405bf6885d5317747764d8392e765a4336af5665b7704d8e521e5043d46b64c38fe31c0c7d65e05023100b1cec8976ad25477825bb54e9549be7a6b8e33c1cf0f0c590d13f314f11aa8a7adbbd23ab77c87b5c27808de4c37dd0a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fc19b829a60954840c150dcaa6b310b6fd5f4c2bba55d40dbb661f566ab5d435d642f512667e34a8478f6f7a0714b4ad0230722b6799d39aff77430c4c97b1e9077a081e115c9f080e70420c14d074f9ee11cf9c7b56d9efa51a530b8c7870ca2fa10302047c435bb50067306502306dbc2cf3c3355cd72c91a123e6d75e7cfcd65a42e67792ade5035f4109be80855fdf130da2c0988ab943ba80c05edb4802310090cc609fcdb05d9365e901c6e878b513860160f9e7b186323f8bdd736bf34948c44a6bcbce190a386120ad1be2f74eae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d2087828a972c8b1592a8d50c807b35eb26f5110e02c439b5a5b2d48375f91d736d34a1d2e3d695d0b6191f3722a1092023100f5a2f90fd614376a3d902c9f4e26103ac8077170ca96a826734142911ec2e296d676375cf0b57894825203bd24f5dc350302047c435bb500673065023100c72530ab531d6a9ec5065bd86af4ff848fa306745761b2b79defed6a13b425304e64ab776bb7bb6b365c0942a063f1fe023003416e052010df6c219a823f78f21bf76ec1ed6534ab270ad9d2d9d458a2646e5c16cc74ded9a28324e593b333d980ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023010c4cccbb48b22ade4671be76abdc5e5c783b5b18e8cf762e208388a0f48e0af2d37a297165e394db8eb7f685c8b2803023100ef917bd43224c17c12557606f9475dc62dcec83628fe0e0f3f49a052c4d9e08cf04e0effd3ec9550d6df04b349b405e70302047c435bb50067306502305a5da4cc138f85ffe908566d8c297bf5afb1a6fe237c7894bdc1e2aabe5b688feb52a0a70cec724c1570d00cd6cd2a94023100a6cf0887c6bc1005e4fd80f3d38f4578322c25ac074c91d950dba9b732c68329d28a436cb93bd8212e9fa16a10aa1eda0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310088bf47486f7ffe2721eae170e1da864fa82554620b062bcc6f0377f78ffb1822d347c2f975979c9ffe614862cc5ab09902302be5cc6121c80a15ef5e2bb660f9b785f5387da324442804648f06cfa0c307b5e5c4c75f909dfc3fe4b3dd11dbee8ef00302047c435bb500673065023100ccc0e787532406929c07eb4deb2f34916ef5027f756bbf6cc81112f2b9e9b50c42e8d707d4a7c9c4c5854c09705fcf0a0230393aa4e39e1b306e806ac3a33b1e67952c92d9821fa3206bb83c99c5ef989988f0940c0a9b93ccbe7cefc7790df016cf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305064d2b8c83bb1220a7221b0059d5427ae240f92b467b54a6a1de5a1561a557bce641480e5ce12860ccc94cc9741b8f3023100a705ff95393fa22225dc7a772e95fbf768af40ea188f1be7464a187de407b7a262612a99d54f9036108aa374bc6e64240302047c435bb50066306402302a24f627755b2b174debcf7c25731a7804fbcc111e9404cf5bc777fe167cee82ac16b19c2068a173e4383d1232d26671023013f04de1886b860086c3a2968c0f7c328fa15367a314ab1f231c2fb1c32daafe7f66cfd6e6739657fa8ee4278ee2a6070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301ba77ea1df59db905fd5a937eb97874ae3b5e00377c8a2b2f705c0a24d0b17ad706389559aaf64bc51d5a0a720411101023022941bdc3b84c9dd32c431cca8ad52c55268d3a92ce5c5065ae30280b52ee69c2c1775589c9e1ee70c7af7ed273599760302047c435bb500683066023100aec58ac288a0137d2939ff7aacb0185bd66c7e1b4934a82d756fbd28ab6c4bc114db05a1bb50ba4c912447ef76af820c023100ab091310357f9d17383a0120dab811b26897ecc2ba775eb5464e6a523f6df2f27c310f42c566479f17b4e27e5f259efd0302047c435bb500673065023100f14852c6a2b8e96b56be7257ecee43d823492c7825cc17d39a837b967aaba062e6611d35f9b1dd6601d084e2584c8ea302306c527c769a14dbf0544bbf4afbc2a7c1ff3711036e1389b01af0c23aa0e31010d337a7226febbfb78901003cbc2e36a70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009bb08712de09a6d0ac93f3f13e85f12f6eef26638831016ce3cf2db094a774ccd71072c7da1cbac030bcdf991ad553ee023100831e439ecf823ad60cde53ce7af8001b3be68cd54bee1d3a19428dd5b917dff18f68526de4ae83db762a08f1060ad4e80302047c435bb5006830660231008ef306626821dad6ed598cb2b37fb9141b6eefd947df08104b89f80a4a95441efc7cf649941b52a4c2e5b15c0fb8412f023100ee2883a92a935b366d74d41edba7831dfcdd9f9439510e255fe7bc6247163f5b34c51784b686bf359e3c2880b826e6560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301c6aa1e81bf37d830a2413690fd339f85efae5cf95b44161be89fc3650471971a77a48c1a7a1a1116b8165a64cb4d34302300b102b0c922effde48d18ec60ea546b634b9355b54397e8e8555f1d769ca59b67841b386432b1761ce13a95555ecb8130302047c435bb50067306502304a2206ec0358350768c3036697a652c51a2e1f08853df1c02898bfb34ccd01fc45cb5b59ddc7ec9804aa176b46bfa5aa023100bce349d974a1738f041db700c4906d1597253ac2b32f627765faff1a6bf74ff438f7b24b718e5512dbf7c449c76229b60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306c4fa960f21380a1b89b146132a1bdad3a4f377705383e0cc6197b0f54cee4c87eb433deeed66560bf89ae853d005fd802305cbb396afe666f5085bc8295d645d50dc22ae25ca653dbca7582f2be5f9a8ac7ba4ba7001b681e00528e9160d8f25fda0302047c435bb50066306402307bfe59edc3ba49285a4d11f10d372c07c23aed3d4db9242f8f2c6248e5ea0d1194cda5544ee3158363884bc380ba731b02300a34d9e4603331418ee9d8d131c864a24156ba12c9d3b20f4ae0ebaf4f07fd11c567cf7410240a811dc16235c1fe8af40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ae3496121fb28ec695677de248def6d2099633a2242eaf1de49f675f7dabfd5091ab3a3728e594b5b01b2c13e0a909402305f7b8f9d18d67fa8b625e92cab4c474ed0e89caf3d73ee3a76b1b4b279b61bf63671e736f12ccd6795441e97664658350302047c435bb50067306502304f732950486327d559a246c1b78774fb8b053282a6c570200792229780a1faf875a053dfb1b17dcc99da52a6f7d904e2023100ff6095e7cdffe21efd1e96b7d10d292e9c6c6e34621d04aa245e7bd19159fbe9a5fb7f619d5ce699d033c4610944072e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306ed5b28dacb227b9d119c90703b1eeb68846161ad377171a7d76c2f8aef1edfa0836f859fcdb0eaaac6ba8543748eb85023100c7028f039cd697cb79a211994ec4484c1198d9e498fcb35ed22e8c26668ca41154d58bc588b6a5f6db19b0e5beb389c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300ab124acd77f7292a464a616ba50e7c1ebb798fad0004e42d833bf31dc78ccb2ead769f66c3f11595f9312d829a4c26f02300f75922a38c66ddccc5db5b94f15f597f63becb06a8fef4e6de9f95a0b708dbd46c8a6afef16f6466048af84b62adf0b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b1ff0497269b3b80905696ed8a03bdc0367891a2e7c5abbe5c07983aa274910665b63cb4cbde24f2f4643506391e4725023100c4dd11d290583015dd1c6bc2afe6931c7df5a47bc44beecf99806aafaba788769da2918649d12f98c09cb4feb5f2ce310302047c435bb5006730650230197f06f6fb2bf4535fff9fccbe75d82a765c116d50d18230e70dd0d97f34b1bed20d6f1ed81da29724c97e4b122204fd023100a3ed986076368dea0eb3a0b584e0730dbc2f312caf256eb2a6bce8a9d54438172f182664e90215b6431940f05a3121dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009f1dba81dfe982313186635473b549163ae37091173d4ed281e9b3a52747216d80141542c7e50df572cab08b11f24b59023044781ee1eb2c21a8e09cfafb9f8b4e4504d16b0664f8f0783fa86709064be2b869492c70bd312dab604476bf9afe1f400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310097d32a10e107cb787035ad2e519faed4185fc625aef60e6c0975e71b8a6fc90a9df2a4006efe993d33497915731f5f9e0230336657e96bd3a24d83d1c959b5234ce6759b07d3edd9fadeedc73c250ceb3722d4e07b178faa71c7da52925308eafddc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304a2196d112e109b5fa70c529b7eadd1326c93b2b51fd88f0e70e0a349e656cbaadcd79f3adaa3295570183de29cff589023100e0bd920161713068e4bc4a95c8909bc84fb1a7dc4bb13801e9254ca0c79d332a62f669fa0f85d6d1e612a55085cffa890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230772cbfb657fe15a9b67c03fe55ab1e50a137a914c454ca1dacb2e5593376d8fbb2c9cd3eb619ea0c7abc1fc3e0aa6d31023100882cf20d9e867fe6790b81abb6b591059c13a924135e7f4fb16e5784b17afdec6e7b6c4a6ce2970de1cfc2678a1982520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304680e98bf413100e7525e6fca7622db9841ad1cb62f3d8b4f1ab6ec263c7539068432d018e35459cf1713cd13c404967023100e0d83287d4f0b011bfb53140b8c97108f38c2483016aa6f4eabf38c59e904cc50b6d4deab13d7ef6abf6d092adf4b01d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e6e98a22a623cace638f7d35f096f8e06a55eba83198419dc3941243b821818485ac777f69ed3baa4d2de14e6e8f268802305707590faff92f9251be356d2ac237cacb4eb1ba584d03b4ccbca9a4968fd661feafab8cd1d07647762219f23e66086c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310086390dd10603839428f954f244921d00d36f680c28e36a41c51a012215a350b545582bcf4d137047ce4b60dc59b348b902306eb13a04b939b3744e90465974b1ebc81ad97e76f3e96eea671cd8177d9f01643defeeaeace4ea653cf72fb56bdc55720302047c435bb500673065023100d264c6e1da9810ed8e5b617dc555eed422afd320e85694a43c8e0e31be120136e9b42dbbb0643d916569c13801eaf3ff02302ba0a4d5f3e6d470b11b3d156c869f2a5f919b4315664da77113828ec337711c6c7f3313cb72ed335dd9deecc0404e3d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306483df523c319f7ddd945dd09e84d35f34eec247585857b8aa47284d143eea537ced420c40c07915d5271eb09923f235023100e8f901d733b31599dc51a8b05de913bd46ce6f29e251b11ab9ca244a0edeb3fc50cde1e4a6bb7e4b195bb16a32f0f5d80302047c435bb500673065023100ae9cce370fe232704b85acf095891463bb2092cd5402d87bb1e0eeca8737dba858f94b52baed549a95af8f0f9dae972602307cc3967c36ef755479444c2e5bcdba68bab9c6bb5d746cc6a405d039eb32c210ebf66fedd2a0d07b1cc436cf8cd843850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aa2c2a90c0981b008da2903bd61162ad7963478636973fbc348e1df8ddd121b5dae4d7d38e3500b2bf5b6dd75c0070b3023100b92c561be4d9aa9f7897fd2a8c7d9fdb699a285c29b028a253b062f59ea75dec830adb97c92f2fbc8c558b01e55cb6e50302047c435bb500683066023100889ba57877f164b2bbb55de759fcc44db7869a44777c1bf2f88d176f12eb206257682e3d010b81df9afc322a882974eb023100f0f797c2176414bc43ad8a8442547b0a77d0ead6334024fe753d85ccabbd61571b036444aec54edf9a5d72304dd9b6f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230590bf3f8b5a72c1d3cababe1161aa24fa4e902f5ac3daade59568d60e530cfba5ecf01f0a56108c0b57938ddb57d142a023100e483e91bad418ada5dacbd98eb8704848c36a01e359812b04dc853aebe9cdf69eb9e5d2284011522123aa119f6f6ebbd0302047c435bb500683066023100b71348eaba1e9a777a59bcd99f949bf51c3b13d4abaebcd6016bc756b7a38d8619dd96de23d9f363281aa18a3726d1e7023100bf805b2d74e549c3f143868f1cf33a21749099ce7058db136bb31fc8cd842ea1833f9c07c055a83b99024ac62808a44c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301d3648814a6baabdaf501cfdc2344af7c2a58eb27c7b71512f7041ec016ab7cb7a3ffeba1e0a0f7223be0b5d830e71b5023100ec059f4b238b86ba6f84256151ba4d65e342d517717f35e8a6081ac8afe1498c5c8693e6a7117dcb66b5362ad175c27a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303ab2dab8187368e1b83d8c869b71ce77ae31a374d104e18e2d62a11c7d850f2a4142af1c2ffb982d073f1fb9e1598019023100b26a974c5b69f214f4164bd707e2324e24a2c461208b4c19eafc22942a33ca13ccb3dab87eb025bf1a4de5281e5f41a50302047c435bb500673065023100961532c5b9bf4b6c54b9f0debb51441b36dc7ebaf11615f2d27ad5678d703f4c84734ef674fa4e88b63ac094e734cb6b02300e8e67a6a2f95db9df7b8b4e32fb0e7f742b35beb93a1cb1a7f9b8ea894d53b3d192266a1c7a89c565a7af997b819a250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b23535069469d3c67a0c4c02c2ec47beddaec903e4a7fff984891c531d4010123209eedf2ac6254563db2bedfaea658b023012489f3d86711903878fbab69b9c9473c3ccc4e8ad9540ab42d74f5bb019be1c53ff142bc666696b79cdc35d7cba02e20302047c435bb50067306502305cd032b38ca24ef804ff63188f33ae28b0877b8de4558578c55124c5f465107f71e0e1a51271106ab136d891cce2b08b023100fc47649ec9360081a812134eab607fb9100f960f78b853a874566aff3aec4345b9327d7101a0064df6a292bc6001c6b80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023030c64d0b0b1bca34c9bb645c0cd8d467d3fd768b1210da7703df29e1107ef82ca4865986aaf34c3aaa833ffd5fbd025602307fabf7e2cf046f59b75138fa322260463c060090ff2f6ddc4f099514fc086a35fa8a8939213059c58943a5c172a09b0c0302047c435bb50067306502305cba321ec50866b5f8c5761a1af275c9963b97abed25e211ceebf9491906c9a0868caf4dfb98a748c9c0f116e4b3f6f50231008ab6170ab3f1c5f1d7e036601ced09d4fd813fe628b5d9ee986740383902a249493a3418180cc46fd469da33118ea2d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d5c38a52ccefb620a0e49c52f646442cfb6fd0550243549c59023efafd6abbf09956a0cf1b543bfe08024b079352fbfd023100bda8bc8b53ac00da12ee956f04cdaf763b2da9f3a7faf8d935afc3909e1079a3f2b3a2adf5918193787267409aef87c90302047c435bb500663064023071597e393c6431ce5c422cbe2164c89eddda1e5cb3282e4aa191f21ced2cc46b5ef0268cb4da2b344abe1f1ddaf3df1f023032d60f3cb0f81d9049073befc989cdeed00a4bef3189cdccf7f6278a26eac0ff8b7af47f52eddf0d8b849615f4a1df280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304e34a37badf8dd68d70376bb7c9964dbfaaba12f963698241f74980b8971a282cb035f9f69e981894f86e303896fef1f0230024bae94a965cede9a26bf4747ddbd0a5608c62226129e78e1aea70c1ccc50e4566e0669cddbe2e505f197d8e35b4c500302047c435bb500683066023100f0883b46b414c09cda23380fe35851b43efdbdccbafdf5563bb2210108fd753594594d7725bf446e7f3df3c19dfbd2180231008cb3ed567084f1600eb7a9f816c29db5dc243af0eebe9ca7ec80fbf21d16eb5b0be7045eeb7477e98650d8d4db282ed90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f58ca0b144e11adfa5da34663eaf86b14cf7df4fad91c390427d3d22f856e4ad64b8580c8ab0d2705898ad10962983c102302aabe796be85080d5d85d6230214e168b5562844bf506bcd76cfe6f1fa4ad1245b2bc459887450e731a41bf16dd352000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304462dc2a3e7000577084c6ddf83829cc56cddf48344da0b7f72436f3914b1f9ddc08bcd8d70ed025d5299ff99eb031b6023100ac2f16c9da24aec264831856be4987a79ddc08a22244d14e934d11aeab9a0ba22abdd7e2ba810ca5a8500732c37533490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ddf6505460981c4d782496da8d4332a9f94f369242eba2b04954756d9d0371b9004ec2d51a6fbe4dccd90310766e7c24023100f86374e3e055a27e4a849f35d852aeca7b9e99ec4bfbdf76d0b5f94316c26c32a6af2f00d51e2072e462ba002b421edc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e873cfb0e0485f6184ce12883e4dae375aa35ca35e03e15afbce010f65c8f05dcd1ff2f7c4b190d43b9d93be0f2e762b023100c1a277536910e2336d6a57c4de36051938563b2af31fc3227836424f579a794d75c96fbdee1ce0bdcf981187d7533dbe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100903be4e501c5bc4d27c12fd2e50e4abdf7de31f5d7ed2d4df72c92426b3eb07ddbd8ea0f8d8003e685eaf29d37857865023027813a0750105642ae296266cf9da0817aad4fd79a972dba9d7a824f50a21461a2d77913f19a7dbec95dce342e12f4710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f3d63c8ac15b5557e88abb373a882971f6a7e463b5b54774b0ca960820b9fc2076bd344e4f402332e6f75ff5650b6e5e02304b83e653321e5ae7d580ee4ad49f840c48f6488ab15a20778a356eac3387be2029dadf801e469f0bd03c92c2768c4f690302047c435bb50067306502307498f89b19b81154f5f239bfb0ea037a19bb051c1afeb02dd5de7c80107ad744264054ba02807366ff47a26e20f5594b023100c7084d4324098ce4add425ec89efab3c92907ee85559a924bf76b92feed1e7eeea3df7cb2f8867f72628c785ece4f94f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008b314a1507a45faeaa4f78c992893c3245657da644abca326da42399742562352e00fbea518234c4d16b180296f3b2be023100addc7a6711c574c8a4567c234dbb08acdf2971c77873c06fcd411552d7d0c21abaefa363ddbd85595e44274f6d90f1d70302047c435bb50067306502305e1c46550f4e96557fd71237cd6a08a7893ef22ab87594badfa22e3382622489c934cf284d6ced64170651af37e0246a023100a8724783f4e6706f860f5c782d6846333be7a570ab9a155690dc4cd5449647991513f6f34f42c244eb8b0f0b9ebd01b10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b53e2e89776f020b535e8b71179449ad1cf7caa7395679a86a1c1d2681ab84e069d9c6ec78c41c6c9c93457ed2f946020230685cdc4037d9134eb50981298d9a0075ceae39905148abaf106000750259de560ffd48aa11437ac403393ce38972df3c0302047c435bb500673065023001f563bc352b4e98b51fe2c02867bdea425f379102bd40e01a6a09fc072073eddc5975ca3abf05d3b401a984b77b6a66023100f021de170edd93b5c0bd2c975956730aeacd2ec1d44c5821e9ca68c9b2b46e18ab96d5059bbf3cc2f556d4f33f2825260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f76013dd62de8c3da7d6b7d010d8448f7ac4a1296edbdf03a8ad0a8eb2360232109ec327e7fc22b322ebdfae53362e0a023100ec13fb7ffa98db8cf0cbc6ea6cd0418477d2fe0688515435edecdb08b7ccf2e189db76cacde9477f3cee0a2ac72c794d0302047c435bb5006730650230685c56cc1cb713d38cb67bc1c8673e8f9ba82ac642cc9d6d1de8e3703abb9b07189cf3dc53d4da12290b5cadb8b46d04023100801e6e8f6b37bedc7cf0c545d93d4ee91f45ff9b78f45272bd7407a495b406b56375266f5668691a027d18e5986efdf20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230293add8eb009b3b271ac6ebb25f1b2b99099b4c5f7017d09fac8044d3ce49a6b9b15f42a3e65d0d18921596162eed07b023061285a4da041b73be9abdcfb983848b370a864e7085ccf36856a4dd61a366c3a72cae69dec1c6a06ed6348afb312afaf0302047c435bb500673065023057f9f5320f98cd14d286a1ac09110c6daa004fae824ea4050c6503bfa509d625650a4e7d949617b31bf5fd3b0195fd71023100a993f611ca264b3cd96dc98b79a7953b861458aeff2b3ac456ba680b8dc9723e689a8098a425b9920539ed94d7d1a9c40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aadfaa1fbf6a173c4047a593ef06edb2be6ff6affcfd712e5938337271b52af51a735e689972876b793f68c828f6f1af0230301446cc31834a21d23bf2498423944370b3032875932dbaf3fca81b5e3708b8ab8fc805fafb9f926ece4293309b82bc0302047c435bb50066306402303b9d4cd1cd537b40e916369e9587f3f692f6aac2d354a4bf60f06704ba33fe3e6092983afce698742b1072b9f4991c0b02302e393f6b290c4afaad7b002157a5e305e323fc38becea75038f196f2d5b4202e4619bb6a087b8df6d061584f944867800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023018bdc26bf27b6d2f62ee3186e14806c7dbf8116198b05a45daf01b891085bcfdf32618ea6b7fbb0b2209364e7049832802310092df656bbe8dbb81c8bfd7177fb8cc6f257419b62d372d35a9b3396f806e1756a2d3743d22f68be2bb9052e826d281eb0302047c435bb500673065023100e76dae65999d54f2f8126de5d1130dd1e0674ad3330876466c7505e9c0b5073c3fc67a806a89de4c1183a2e93c5aa565023072ad8f6848626f76dd84c018eee86297dc38fc3ee5a23571dace8467c6270e1469f8580f193b5cf3b206e335a5df771a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b0f500de29c1835c36770cd1cadd5470ee83e6886cc3c0e619804bf057230e7c9a28ab77c60c8c8dc1720994306cbba30230634cbcccb4196e4fe51dad563af89ef3b7e247b2dc56e3f09ca7cfa84efa67ef3d88996f861e5fb89f9e1ae7c3befc6e0302047c435bb500663064023009a2ba62c0d510fac7193c34822183e87d7b8d178efcc745780c219e1a9a444ef15ad7fd0eef52e26caba87b25366b66023029a8b3e038c0c473bc799791eed8c694a099756c6da55d9d90a88e1a6006f62f0240f3d592459b8675837855db18d0810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd65f1c02aa98f2d0518594103f2fada864b05a58f3427b6dd18d73c084ed4a07e87bc014cb6c740845a78d9c4d69cf3023100d136453e4822ddc0966c6c63d8bbfb98fcd7b2d78f3566d8ece2c708908e7c068ec160db7575ae4ac1a883a50e0d93c50302047c435bb50066306402307be782d84dad06405b9cf5fcfcf286c15d550d1896cde604b13749ae8555d9850c667f01683eb9cc24f2b8ead6bac3a4023015593fd1792b3d16d11a79f1c9f5c109f1abef6d6b0ad6d4fd617392e85e1f1713788ab6e4a293e8c64bd64f223d9caa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230040d5c49bb72f085591059ca1c7ae14b42d3f5b60fb2d8bf2f043e50efcf2c9d01ed6781f2dfb0ff926f40bac260a27f023100b1932a13e025ed233722fb7879fde0fd94484735cf2ab1e25f8e0797443481a056f1ee56e008d5729133d71d8ea644370302047c435bb5006730650231008c502e8b9557e88bf52fc40309aaa14b32e08ea196d0c6bf2f155523aad3fc3c5eb9645788bea4ce400ca0ad78eb84e402305fc2f823b55e2c7bca14278e7dfb93de5b89cbc65ed85738922f4ed9e1b957876c7a995c50c35a593f850a34a5b06e340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009791abc23c24f2503584808ccb15188b026cf79de37a0bc64a21f504d44a113e844fb2594bed8d3d75fb997ea663045602302449fa1855b66234ca950588865d288e5c66343059f01767a8acb99991b1f8de000a5e9409f90f355a8fdf4dfe9e20b70302047c435bb500673065023100cc8466c62f09a5938f11968d8153d58e54f575a70a21c4d7b7400da53ce380f14ea5dbc606cc14f4176592ec694f0ff10230429cd9c3d39e57dba9d7953e886f25361ca9a61a1fd169b227c5d354950ae5ea1fc645a7f17b777a9e222db0ee33ff650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bb96bcff9931d1d08e9ecbbee401b49a1202b69e9bad20f32ed80d9ff1f81badaccfa1d965126c1ee6d04eebcba32bfd02301a77d52719a1d263f8260a9b2b794ba2d147e8a87b6a699277ed885f6930220ad592e221c25836506e5badb289c9f9b60302047c435bb500673065023053022f63063b6208c73fd7ade5f6406db7737270a50996bf172385888d5ae89759710b1490cc64f786c8ae040285084f023100d0c3e4682ab92c1cbfe4b216104d521e049acb4ea04d2df7709137a48f60ae16b6fcde1f282c2644cbfcb0c4223838130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303bc2f42f3fe0f3666c06005e942d4846390e5c99f4610516c882ba29f64955761926de2a08598b6b20513b6af55c44da023058fc08210216b9cd9c7625a098180c15017b0f48e1b61590dc8791b62a46fce511dbe21cb463f167e1e6bdfc60b426ab0302047c435bb500673065023023777ac95fc5d58fdc7ca8d16be55a50e1b1dc4789f5ebe3070d4b02c26c107ae7454f0c3d1e96e18a0c5b41048970ec023100cb7d71474f04bb1d849047f8de8ca72c47100db2181297b50fb297fb703e909a8295435bf3eb06949f38afe49b719e090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e95447b85dfee7c71e04bfdf3558ae9924d61565fa417bca701f1148c7ecf05c8b37c59dc7b4346d260ce71a7e6ba57e023055179b000efcb186751032d87b5da0ec1bf488ddc0bf9c0d056c0a063b60c52409d26cce1a749c312708ad4d462018e60302047c435bb50067306502307e9b296c441259fd87b159b163316971ed6444b8e8d29bdcb085240cd2f02b55c75f65e10e2e05ff7f03713af1b2dc340231009a548a5695e4274b1a964fe63f0ab126c98c88dce8194e05df92da97ede63028a9d5d78b2a428504bf0033fa4df186f40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023078e06b7709b26451f8916afdb24ce3d6a83eb4fcd81833f4359b3bd06e0be74514e6f3ad37170bd63ae004de52c26013023063f191a13a2529670156274b400757ed34cd49ea5a7cdf11bb5b340b68802006155d9ada02a71ba98e1e55e8893457d70302047c435bb500663064023072f0b2ecc3406d6aec7a467235f63b781e138c2fdc242576dc90a9500497b4762be3834310f0791da1d1c7c4a15c296e023068ecf07ad0a3e7c33bd3cb422dba6fafcf3f9cbacf5afae925ca28e469e353317267099ce8ed144d8f0ba2f982b60f110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306638163bfa1f9d93bfc9b348081ada32e1224e79976c4c4f9c5b666309a5766b187da83d9f3382fa29713fed92f61654023100aa6e58f903accd756e05a9ec310a0c8c9ac1b3527854076bb8cf1d18b932e0e8d8cea39738cbbbfe2e46b07b33ed23e10302047c435bb500663064023041e500ddd06dd024f9139bed11c4a7e248920a6a6613d787d1eb59b035f2af0654133621686bda0276f1eb673cca16ad02306497edac576703844fd0f6b9dc80beae654c5ed560bd8f85b76cddd346c161c47e22c7231e48ed713fbdd0c424b948870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ba92168d1606603397014a2d6f482881b98164de699f48161a9c76e56c22e156a33a44283558f01a589593f9d33066d7023100c70e1dc360ef3c800a6dc885d0843f65a3882ecbad7f22f2522c39f0d999ef1fd9afddcf508b54b99ef78a016348ed920302047c435bb5006830660231008b6b8aab671ff72e38220babd29755c9a6f86792764124e869b5398786c764c23c42dd704fd68187e2bfc7399ebf9cd8023100e3b1e64ff2c2ca5ef2cc3c71b297b3b5710f6c89a62cbd05e217e8d158f46638dd7cc5098237dbcf7949c4f8ce7e107b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f5b41fbdd478f20b336ccc6fd195c195d11befdf0f7b4c6f241147a768c033f481aeba9834a95cd6b043355df1ccc48c0231009129c02d50fa7d6254ad7d9d197c3b70f3b0cebd3a4eb5e067516da9610acfcc120ff01b5e46be2537ca4dfbabe1bce80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023002f076d86ef6932c390d8bb1fa715e65c3cb3e024fd590ed31b35878710accdce3fa0bd28c118ea7c5c86c219ad85b40023100ff98c4fe6ecdfa391ceef8de73ade309af52ca29062ea57fea36b5d7917695e98d25cdac486be7f1ade782b990ff62fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310092ad7891de638cc55a03823a7f6273a12c72995fbd6ec9d2c6726a784c6c5a57b331a244dfa5cd242798f8cea6242a160230735159ad33fe332144c3d54feaca853858e1f39d4cf11a882b04c19e40f83592f7cbba7c84696fc013ff9a5cdf8700250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023075bbee409f413cafbaeb6f4430f052a977b2b742560951aae90489fa11b65752dcb7379594728af2edeabdb5c6375c7b023100d68b22a40180029d1c7aa8ef5c73b9e9405f121f7c3fecea7b23730298e5b63896f74bbca794e7e06f309283c2997a600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bf08fb53064d179ee8348a5ffcd00ea13a7949b71beedb4daab3e6fc330cd5bb7dccd8f5218b6c432287e441760309b90230368a124a4054e75427908575f81b73c867a36dfd415563392c365ac2e096c3cd3546f45b1a6c9f4bb686a3ccc02310ca0302047c435bb50067306502304d20abeb01dab34b223cf123d70e979bf4ed5001a7992a40ff1174cf09e685374bb265eb76dd85475d7a7e1567ea7ab2023100c4a316dbe6627a8f7e74b3e194168c85594bba6a023e2dbb7218e83de85502f6989d69b1fa01e3a4e8b72fee6e6cc7c40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c85750e203324b7c81f4ef65990da37c896cf44d443c83dbec0919a81f17a64a8ca77c07e7b5c4a02bcd28de042f340902306c29d17973258c911bc93d907e225f5e9899e6d682b9327454aeb6a05b4df068be681d6c1b5be726efb3b697b1e28f190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230353cb46594a1b0e328e7ec840bd021a274097dba7b095b26525b9e65a1639b3d45ec98cdd71b464468a1ebd01a9025f40231009a34ba7c26b0ab27253d37f20a5dbd6210ecb6776218c2db2dc34785f7a73627712303560c43cad5f4ecb1834cca05200302047c435bb500673065023100e03f5d48a134c77f32387ab8d19f655434526d84eca77167e11163fcd4029ed499d5bb29885aafe6eb524193b3b0b0200230417ffb787867cde1af9f3894850851bbabfeb71647b274ed105db9c7117b4e58b6955eb3db52ff024fc679917f623b110302047c435bb500663064023047464cbc2e9bb19f47aca7a47cff234a20eed72c74a73246a9faa3e8765265803517ef3ae8a4fcd2bb37f164b2895f880230744ac7994b8c125c70df9aa7478b637da699557364a6cefccbe89765d8b41ac024b100cb8de772f1c381e504a9f176d70302047c435bb500673065023100f07d07fc6837c602a3159a61698fe23a14b29d38aad3b9e1ec2ac05b3dc7dce876724bb6def37caf5e1cdff41434e00402302e1a6643dcb88153c9b78f4906cb00f42c2262a2fb8fd8cb1c987ccb18a15d1a98160fb6dc3f244634fc1517374e17260302047c435bb50066306402303962c9ecd3904d51f08327cf03d47752ff666e7ba0f54cfddfb03cfca2260b365aa6ecb808a3da320053e07867014b36023074f4deeaedd18d28ca330ad21e3c5c840d6324034f036e78a4e951a84e92e75fbe71451b07d9a811ac5a9b37d9f25af90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302b99e95aa5144dc1244515fef07694eaebae9f8f6b07024e83f788f1ffdebc42f3bac31a376e206050d4b889d08419e30230521b4d8f0526f164c9e44ee40d95afaf34c870bac4e4c501f9d2ea8d2fcba457cd42caef08f1be99e083c15ec67704db0302047c435bb50067306502301a1e425914a299d96e43d4e6e3850478844694b84ba733ffd28274b6e31b10770967d3ccf8e84b546cab1107e0782946023100bd806dc1597fae29666ba63b5b0d685287df4870955c057a57def7c4f674814a348b458c44dd36324dd0273ae0a7a8600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d55cbc611aa836b63247ec5ea518630ccbca6c7dea7945c838abe72a96d65145b3a2f0bdd00753ca6d3f06e3d919b3ea023008da42663a21a0c9b084e15edcce7369f09f04934411d4e76f8ede9da93ce2effc33ff8818cb50679428871d653510ab0302047c435bb5006830660231008dfb215f6dbb0194e996c4a93c4f104c6fa028a70ed2f19d7526d06e014559ce47b1e9c944c105dc09116bf3a793adcf023100b75d72f8eff592626c95ad2bca9ec66f97f1a619ce98a9b036f84e7464a336ce03200a0bc0bf932a134af95298876aeb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023073923b32a27a073745945e2c48bc057118a83f0f2b1e6914fa2018438cf2d47dafdfd33643027c440dcaabdd23ef972b0231008dddcdda1c2b8ade68e6225b8c91cfe199de3680bb0af3920fe418cf66a8c30f58d99cb8ef7e50bb86b9fb779976f51e0302047c435bb500683066023100ac1408f81c37376416fa12120b79172abe7964510ab03f8b393b3f4971b7216be2eaa64ffc416a2ff7e6f68ecbcf7b33023100d955dd0127d67ec5a9172d34f904f94ddb07a7cf10492caff425d05a686f1c7a10982303724389aee9069183b0c3b1540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e42d3a34fe3943d8680a8cf329bd2c2c8e7cfe1f9097b38ffa427386fcda743458007b4beccafcebc3a72f9440af51ae02304c982ec50e6e1489b817a22b087be95711f8559009234af94446d0ee271a7358352bf366e2897a4622331f99302c08cb0302047c435bb500663064023039e8e3ea7f204131857ecddedb3e8fcdd17bdd4b788dd4b71bf2fae0555c5f158a3947a4b2edbf1288af909146153ea7023071a6c567b029142e88fb8a15abfdc07ac7cc2e33f0e71650f3a370de9e851c1589e2291ab4ec628a6807c0e743449a760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306ecc44e0df89b1be709d5319b533942bca0bc809ac4b1f6f7d164e31eda70b723ab7a694d093af45dad7b11f2bb18edd023100ef5b3eff95f4338ceaec052962e1e580c10806102fc74599787095ad5afa5cca5505afc6be1afe5325be57d3de8d00740302047c435bb500673065023100dcc5b8d4838432b9a3e817e7f219a0ec37b99925caeeb325b79735ae4e355fa98f7842176745f307ccb22e7d7546067402305a072e56c26cdaf237ed1461f4bf4b1c66e669dc551e6f982b291b0f26895ff7934fd8855ccf3ab35bb6c0f4d34f1bbd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023072759010c1b61e7c7d83711ef98b019e0ed8ca239faca230f57ad51779588c05bf42e29315a5e71210d120e732f85288023042e6d6504565306d53096f1a80c68801c47c5d99f776f93522a2e47d67e8b35ed013d8b811605f6db8385f5b5294abbf0302047c435bb500683066023100b568dbe628ebf271b96e7f796c892790de76a8fbfc85dba7bb26b4fab3b085cd3ecfe07b7f280765196e73f6c14cdfce023100e6fc8b3eb230dc31a75c019752978cab4f6041d4011f1795c9a9b7179e3abe18a2e9b7a8311b85dd28bc492951df356c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230345e4a5a40532a0e48da8a0a6a42307e4dd2f5898cd5049b862130be2e3dfa8e985b50b49da59b195672732eb066761402307ef2c1c971cfe84fdc0e1c69c7685463b365e2e400efa0600e3ec2007ce62045b238979e22f28680ae20d694caa7ebd10302047c435bb50067306502300bc3b02fea4d7a6e12c8e16c4991085364acb09ca0b6820ef056bbf8a5455665725eb78b213fcc283cac5b3fce179842023100c86376e73bb3d4726c7197e8dc1337cce1b868b32e6c104c3445aee2f33352696682144132c3c014087419e8ccdc6c080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bcaa3aa64452a2cd0a4eb706ba75d563b248953c2fccd9b052bed287d7f68e687efeb0afa0ea1b258500dcdea07048da023045886f33c3d99976f23cad528720884815eca92e7e6dbae68c80c3ae1ed7f7cce19c1ef19493d46d9d4cd7256b99590a0302047c435bb500673065023010884212ac99e1d70cbfed69d10dec42c4bfbd18e9145529e154e2069003b637f8f16ef03e7cc1fc872286e4c4d91dc80231008eb3029802c2581791e5eb172d5d58011962a9b492503720a60cea25b132578719ae984ab8995e3c366630dc29f51f550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305707f72685b362d9e6bc7bf49bed4c528aec2f3f52d5bdf30f231bf4f2bf71c0166f6cd016925f1b9ff53545319cfcc2023064ff03add2de284d2012563a42634a641d026c6f0bc3bbd2b185a054d003ee1c37795d292d96100c0915239340afee890302047c435bb5006630640230448b2b20a01f8e4085a5d3e213d055453e1aa79b7ddfed787b033235673129cb80d5a881e203055552c53e1b85bbdcd202302fcca9b69a505c943cebe0a1d21669b3c90856486ac9a83098c6ca53dd26b9412b4164b31bd1385001677c4d167ed81a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e567fca83dd55238ae1710963cf258943eeedcda301b011ea2bcff2911021827366b778252901aa9863ee9c57824a3b802303dfb4e0f149271509f5dc9615817fbe343372985c944de54ea7a1ec8f5579fe019d697ae8847f8a40d8c2e6370172ea90302047c435bb5006830660231009e0218c3774eddcc800aef06e0d167d69021f711d4b6724a1255dc25fdad61b990a179ab3e2525f2f85c55ec289c7ad1023100eb68930e3cae35e0cf4c9866b4e854717ca774632142927316cd51abaae583c67c90be407d784f612e302734919351030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023023d3b447faa68b755bce437f0acc467f013138b7f07c6e30bb588ffd06cfd3c3938934b9042c1bd694db5668d4df879f02305fa378416255e33c8689e61ec85b9cc37b362fc061f73f43011542ba32b1fae0bb5ef1f5034b7954553c5444d73e52590302047c435bb500663064023069a0fe6adfd1cb476005788858e5e279d8b3c7db27bfd271b85cf53c53d101fac3af8184e245688509796066b08c8917023038f9a536f27689d28f6623ee31683f405d0e6e1727b4cb0d2bf8b9aa840132778140247736ab6825b85e1169ff9a2e100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d9797a534130d337f1059fec4213f1e045cfd7ceb1d200c47f52997bf1fadb612216c1b10b0897c3634da58d6e8ad258023100fceb3d4fffe9aaf0c7a8ce80d8d5210e1b2b540b8b3432cf7934408e2db343544fa952e0fcf9a77070155538e0c1341c0302047c435bb50067306502303c488504642e6f28195d44e596c50005e55978c7ec8a2badb5045b521a318d929ca4389ccfabdc50913258843195aa60023100daa0e4aaff2cab58c52e27da46e42a169b2670229b197c194d235f48d75e7a69e2b53c6e4ef482af227b8ef5266abce30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300c8db756cf1cf85f793e6725059f26fcfcb5d236ed6d914b5fdc2bdbbd0fff00ec307fca30ab9175b4303c26c04b89d9023100d6a68afd70a79a87100dbfa68e69c568def05558d9627e3561aca3143b7d6a7080596b03f221a787fea2734458766fd70302047c435bb50067306502306d28a896c86eabd0d4031b41b27695e9e6a51f1107bc81127c46c5af92db9c2520b71ab8c05036af6af52da73fe9ff86023100dd1a875c3e23b5b235e4d653b1124376a10e2470e0b53c7fea599a337e5ecd8a37ebc23a3a74a84b461855fdfad606b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306ee8b303eecb1e949783fd4c83e41e32a042560991223a6ef262806a272c4bc7b2c43c18a6584c773bf7924455e489cd023100ae1ec07402256f3d50d77f2b8285cefc4e8da086c3e123ac20be4a170a266c61a95d5e8e06acc969e63fa67f7db9f11a0302047c435bb5006730650231009bcf2100417345acaf63962e4e42b67871337674a059dc14c20e33d693f19b5f386e4f29b51bd28ea2ab57dff9699916023041bee9a41971dd263466b3ff57a268cd35a5b12889f45021402ae396bb33d38a30c7b85d1ab4c4c20347ab8da209d4720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fd7932be3701c8f05533a57606ded696b4de0813c620d93e4e07f9fde04096dac5063e922637c11fe48bcab11e69e5740230540ac22e6a3a8de53c4084518db909ee411ba05be92461493ba66ece7734edfe681beea773c1a2224622f4ff2185289d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300780d2bf2e8c825fa65225e4c38a60b54e9056f6606bc5eb6f742b48b9516302b20dfd809f6d147e025b9848608fbb3d023100ec9aa39f8e8c33b6c0daa144a6b10b501a29b3edd293d5c0429bd4570d36759222c1090633b6f556b820903516ac49f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009aa8b82c294ced5bec4264630a9744e6feb77471a4fbbf8f4da11e87ea48b5240d83e4a0c25b7f1ab3f9034bd4158850023100a43d3cf59ba72ee85dec7627f5687b1423c794d23a0e683728f3cebc7ec1de72c9734029d5459d12bae3abb57da8b9d40302047c435bb50066306402307a7503009a37de185e536dc9d0497b6690371eb188e3d26cad6b630a1844300354a3da2e2a0dad6d3373825c6d625da802303317458f56ad687b5acf19e9b1d747aa2efdb50e13e1bd8d0a1dab9f8ecf5a980aefc6d4d591d4499a9308f31acda8da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230347cdf42d51167b5f3c93b57bcc31ad12b1b7a307e5eadcc7096c34de517001a3decd088285c317653bb3d197e50490c0230577fa6bb291c2b3580f359212e28c5ebf8d1fb815ac0c4f1ccef59865e22a65adba9033fb4648f43c8321d75818e08530302047c435bb500673065023100c0ff14e916f106cc3f61948f39452a1352610e4ca7523cfd43e219b0ae8d363dd79dbae126c7d0bb36d0b861780cb8ab023074a3e762019e76034195be3b4bc7d687425a06ba033dc2a02e90eb0b777f56b1081550331bcbc7bb2ef5d38ebd2c5d3b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100de53128b5f8c9dafb9351d869e7195f1e13c818d45c7e442aa378988d62908b6a762517c2a0f65bb500edd5cc6d4938b023100cf63ffecd06aba718b31490b1420c73caa12e4052f189d31b033844ca94317402e299612bb6b95247851a1c338478f400302047c435bb500663064023077eaecbc4595e71659fc54d20153de75d27aa56309cd9132753290cd25c1ab41c152ea92d642885a41e8220a574411e9023046c2a684dd6a1130de58ebe55a7f625ccdec897d3aa21ad5e0ce01671c91ab13048fd8bef4243520b79357d8ee69371e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100de31c9232941c7ac5b486e4f3cbf277036b6bab9c28af4e0305acc701461629f768228afc5d26e56ca863cef18fc7aee02301c303164584e659ebe9c1340bb5100bf475a37a792d1a0b17545df84836237e292c57e1c6e15c80f9482fe890d1f52e30302047c435bb5006630640230356c2a41f816a368588dc3d49099e7a12dc37cbc116ee90497e2c99db0ab44a3618b660ce4b0b5798cbcce9c27b2c897023058f922f28c64a3169302805d5346256c609d16b613554968c45711daebf5b3e964e3722054ebdaa8b12c80324f0d93150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ee247fdd025a50939541155dce6362933c4a8f9250ee64d70708cd1be4c0a02a4fee142ce8f4aed8c92423b71367628b023100f70b2c712739624cd5666f66e60bd7a9170d44668a1253475444217f8b00120e6e48e754bf89013c8f58ad34b544aebd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aa88389fef67bb215ca913d4a0f75a794b5c00b17bd4e20d4c290e6ab4bdfca2fa28bed238e8c89bac00da59ba2de46102305e9d3a0b43dc6e102a1f5c60fb0243f95112302c190cb7416cfc7632d93e1be09409c7abd9d1c495fcefaf4f59ca160a0302047c435bb500663064023051cf77705de5e19dd4aa6721b5800e65a90efe61c8a78f1852acfb9c2c400d09ad542b3b441c87b87be55f2e042a1096023034309757389abfca35aea2c3ca085a6022103f00ea3e78d45ad35345274dd05ec34bb532b916a9c504969a5be53afa6c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023008ae07200b21f2939837295222d479052cdf7a1aa8cef8c68229b73fb021004d9ec043dc541061bf4900ebec9b770a06023100f392467eee6e4e98f326a852cef337f882ca432e4f9a161e2438f0ddbb37551d0bb2e6605ca987cacd2d966c35b9652d0302047c435bb5006630640230125248dafe8c5e48f22514bb28c9909e0ca2bba30dadb7f570bd8b999bbf6fe66ebec7efbf0df7ac575712c552db01df023063d5508f7f8e921a872f1ef2d126357893731c8e524c687ae9028af41bb6913f5d1517b2a729c91018b30caa4d686e3d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f55073b05279f13964b7a48ab7a8235d49636d75bf846f7e5a344d4128fb9fb0ce655c9732f4d968cb5744fbe7880fb502310087a179f2db145e3abaca75be907bfa6369537c644b8ea9fcd518c341d6985edb26f1d2bac3d253fc7f6ff4d9a148dc800302047c435bb500673065023100d1a560b4dc7bd2c7ceed273b6238757321719f5172a3272da7edbc5c0241e180ef531132047b988d95e5006e55a43b88023054db66c521d4ac4845b56d8914ea212f647f6ba7eecbfa64aa770f8540a9117e06e3b535a3b96f59ab6f429b4c2d322d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c68d9e346d7f73722a00263574c5bb76e2c041ad647a074d4c731677bf6f698c3fd723aae68f6fdd829ba8f4c42adfb50230683980be517d0ba98fe1c872141ff6430a0aabe0b0a2b7ae34a335a746c436767c79b597faf2591286523442e6748d910302047c435bb50067306502310094d850c0478c7e25f5ce63ff6ec1b40fac05ea0f729dbfac138f2dd19bb6e1cc0076274439eb7678a111dd3d7011c2f5023062c2b07bbccb34346d3dbeb8cb037bfb59cf4f374ed0c3059e27ffc1780ea9ee64bd8b710c0cd370dfa932346acf33e00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304b7dbda25385f67a5f1692e0422c2c1e6ca3ac7a52e668640462e9e0e1cc7b8e19a7658d35cf13f67dd47558ac98f68802310098ec012229bb90da4248e1b7487b0361e1267b5f4468bb98cca45224515bfdfdb8c7ec1b808231cb6ffccdf6ad2793010302047c435bb50067306502301b68e7f89e61dcda784b131c007cbd82238710b569fc25f23cd6b696ca47bdf88ae02cc6aa62dedebef2a9728df7b981023100acf586bc6ed6563435651671a760f6a366a3d94c9f18a918a8a511cae30642acb9ef2357dba6cbf9013246fb3fd5e2c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307a98d9284d3806b554cf628cf23c8e810cf5d78877adaca769d7274cbd0986528a0af5be7d2a1691a58426db4ec76b970230521f1cf9a0a469896a36db9cb26c3770e60040ce1cbb38ee9979c3ba1d72b4c65bf19a94c2aa8bffb447c20d9d32dce60302047c435bb50067306502300a6b1469802d590044cf9a303ae5d42933f4ccec4f963175880b9db256026b40c9b780f3c0569542560af9e3dbbfe547023100b78524cfeac01b3f45978d77ae793c9509d3568a735c6992559ef5029b657ab8a3fecab4baa60d78e9d8de8688a354a50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023064146518b99d5c138f65882eb1ae2e68af373988159f1266dc6b0869032bd0deb4d3f4ad4cb94915c3bcc8dc963f5028023074749fd0e583e591deda7026556cf609cffa3276c4fba9b4b28d1466c8d192c6b50ddb96cd701328b06e8fe5d7db86a90302047c435bb500683066023100fb88ac958e697721903bcb4ff9d165dcf0ad50798f209248ecbbcfa9d29836fe85610b8df84bece3fa60516977d86ae5023100aac0d3a68e1b83fe6b4bf62eaddc38cce5986787c4e1839c390b38c61db512d9242d4a83a4644b075f20d35100e73bcf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009a1be5ae8926674258f2560301a564670c60625e992d904736c3014928321a38795d1d7fef1bf44604722ba6deb5e1a0023100adf1a5965b65394eebffdbe0a5f183b05bc79fd4e64f8d6e5f2e854327cb9f99a4f862cfdbadbbd1b2112c9210d0ccf60302047c435bb5006630640230568925123ec2a725ca1efcc06445fb7383a11792af5e942038029274386b10ed89c15f981ce1260c771100dae1959a8c02306b340a7fe7b3b8c67a2ac3605076a07a3cc31d3cd36569e5c5a457428a2e106dfb9589480c77d5d840ed2798b872cb300302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307380e5e3dfb38724f442d17476bc0b85fd5017e207d32e0797e40c45004651af7a23284d4f7b7e930a61114f20f738b602306e3666b711439b2e1957f5932a5f38f56f06d94cec38d397ed02b7a6e77b91d53a853cfeaf02a4015af36473500c70680302047c435bb50067306502304afa2d8d1bd221b8e37111c5d417a06d06aab6cb60e48ebe2c7b634631fa6ec772fdbc0e7c7a31102e81408f91c656d9023100f3d618c15cb41534c9f62651d2a7323d4400427017715a319451fa6083823ea123cf1038350c350f02bad985a492d0d80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b435bd79b47e5b683d277681636c1f1ba632d66137dd45f215e63ee65fc3701f57e18999515e5420edd2af5bc7aa8bbf023100c5d0b68cec23f79ac1d393a3b2d1bdaba452463c691f5457cbe687e7af51f91fff003ddb61deccbfccd6a9fb81d4ec4f0302047c435bb500673065023071ac3c90d19f4c1c1371d7757a0f98280a469748010ed91e7f66ed93bfdb899fbd471e4f167b15bd6e41b0ee65392a27023100d641750cbca795967150bce7aac59d3ccf359d2b56f3be8e3da6a32f01b826925ce8cf9f17eb1f8648ac09267ff933d10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023040a60d71f32777e47265651989f70b728169fc5efbe7f15bce21b67257aa6ee74db4ec85ab328d81de9cf6edc356a6910230516be43920bd8fdc485720dacdae57fcfe45b81295f26692c749c5b9e9740d0907b559cc9b54ffb9d8a835caf7fa4fce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230728bd347f2c7d1557311f90bc17d5a253f129b9c0cea4c28c80909c00cbd7f92870201d4fe54a80b1cc1e315d1d7f1ca0231009c5cf5b23660e212018939fb3bc75e04a3face10cc73de4caed15c00d07cbf45e357d4fce72ba394311f43e67c981c550302047c435bb5006630640230574431d3ffaeaf3dcb3d946cfa4295abea6831ac7d37ee45be25717da9cedcaf9a0af45a854097327df618ac7fc70e3b02300f2292e7f9928cff52371196c2c422fceca8ad2d039453a0b97ed8f2613eb88ee95d2a7c45d02926cbcf6aecef9b00170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230347d4b20bc527e90aab7a2680d33fd335c333ccb5882dea172f111ee08d8d925d4b4c49bc57670538f8bbb311a1f372a023100e2675916d4a5554dfc60235536270833186a0798600b1e13b59dcd4517cb9e258c33de77fd1992914de6e34b483e26b10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aaff304b43fea6497688d46c9d5a182eb2324c25ca5e4b14d7292c25452151ba462a8359f120f6b28818c5d3e49caee802302723c6b3d5ba6ccaa906297d461dc3bb7146a3d5c0f94b3a36bae954d829ae537e2e7e28e58e952e1b1bf827b25d07270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cc2a5a606f3a18df24045aef9a2e6edca2ea2744b173b3a3b02431e8f79ebf5da673a934422fa1321ae3bb0f8768a51d023100a7c12fe1d39ecc7c4a333ceb48cf8d0441692e26e998e9c646c3ed3fb0ae9f5e404f6bf37ce82c45c27a95fde3d448eb0302047c435bb500683066023100a7d02afa4b44eba54129039330c987822bb3c61c8b88c95c9d92efa1eab0a0005dc66271f775ec651fbf135e8d55f717023100e12e13113ca6115b2652d19fe43513096b713f5513871ef60e446db88bb0c5a5f174798dd494d24e8adbbaf705fe815d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307aab38fb6a37be81661305c7a249885547814ee52bd72afdbf55c9ed781f930070695c5ff9184b64bb88c1381ae6e84c02305d29577ac0d9c9f5c4f04b528f1a809c1c1139bcf034ea1d1c0b1ff9612ea26b5c6f3ad3d3bbba13562451b17ab5e90f0302047c435bb500683066023100f4706bedb058921d3c167b754f81a0ca69ba70916f00644a15617fffc3c7b5a16bd26b93b7e938f8541292676d31e9b1023100f9ff2dba7453aaddf6ca576a7b84ec6465a39ee7de61ed071c75db2b088e8bd3555db26f6f372d17388b4d00396297ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303d0e86c674b4004d22ae2e8132211bbd6788354c91b59ff76526982719d3129efeda78b529dc35387a2265891a4e83c902307cfe6e6e95925a42c2810bc2ea922e99fd4d7effd762b272fe78fc3f8c6f9f0903b535feb89780af33ab0e64ca5439690302047c435bb50066306402300d82ee318199776fe54ab667937d063054201560ed7d0b46fff045ba877efd02a10a1e0bedb576e3268546532aad3eef023017488961cdd734312101ff5f1ef047e4e752ca8ab7b34ed6703648cce8b96b85ae404fa35b3651ec11c986c6f121897e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023030e3b926513346da5696a35ef9c44c9abc74ca5c0bf7bd31dd0fed83c46fafa001e02e4720141f2c8be2e49e7fcfc41a02302e18b267000b3290646009df1965bff0cbc175622ec45236cd09f9e7df6a4ccecb65eb11af5cccbca3d571508f54da7b0302047c435bb5006630640230601bfcce2d124e6477ae3bf505a74a6e36e2392419b27fb04abec017df7811cc4a7c12505209aa18889c76e117ba9b0a02307f7d982f399de753c38385b968ee1efa6f110a45bf5d94ae6df30ec05a527d9bc379452cdaae299069fbbfebfb1948290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230335e1b7aa2aab77bea97276d416fbb1970c0ed430518390903d728919a996a025642d4c4bfb0ff8481841c444f7567420230259fc9daac1e85ccf3c5df0c3f48162bea5e27279bffba01b5ca32225b2618106f081ebe503ed409739f61a65ebdb1db0302047c435bb500683066023100aa70b8d08cc697ea7ef8bd8d67c6ccb34de733d67261cbda621334ad54dd38deb7781fbb3691dc5bf5c28f124e78dbcd023100f7f5a7cbe4068d0507528f2917aba77bbeb2e0aafd38e3512403ffc2ae16b11a8b3476f47a8cca08ad4a8a1cb3db5b510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e2e8781adda4d7954bff0b8141174b6ca53c25e10a1bab7fb4e1452cf52693869815e2fe374ecfc1607f5585e4d8b791023100e46a1a097b0b29f827ba7abb7b5ff6f6bcc177263b9530e707bf6939bf86b5aa170824e12ede17159d57e7cf3abbd8ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a1012aca371943aad6a521ea48447bf8805fa369051d59da328d3a1ecd89020e97f9884c13fc2539b600b05c1597888f0230324196f129d0419e9408a456613c1c5057748ad24ef314b574a8be67f18137db2701d42c76896798598dd0da2b2e77af0302047c435bb500673065023100a8e1af3b8ef3c869daf0e7aa270071bc60907c50d3e828d1b6d49e1fe667b425c5a92f951e0b4e34c9e24f06e4ea720002305cf5108d00402ecc803e31e230b3b8ac6771ed25d2407d8115e3b78ebbd6e8b5fcd47b5e439ba458413cc2a617bb69d10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a33b11befa20b518344db104d8cb3c407b223b87cad93f024f1adf4086e7315ffdbbdb1ca6a078ffa11615b03507e355023100e988110c289409eefd360f7dc6dee68be854e9e45c1899c72b7c47a6073171b8f6166669bf6dbe37f7382adfbc7781730302047c435bb500673065023100fc1424003409edae9e554535606197a1b480f92bb7f181f7344221ba54d350826a93055513c43cefe3c396444fa205cd023015331858c0a0c4b0f8b2123c12a1de178a3ffd8c22a67f5136b01306bf4d5effed8b963fd172916262acf05d2d3825fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c250d57d0a8607c55fe030574af49bd09fa2722b6d42c7a3f6f82db475b7cf2e3a5fdba2fa88a27cc3a1f862f934e3df023100c39748fef0c58f6e446738555ee1ccd0bb8c552ef3bda698fac7ce5c1124c12f5e3660e436cb980329061340ddcc00dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306a4643382f204731629121aaa7274a0129d070115d8364018b948b2c2e41284c6c940e374c95ad0de1efb8a029e551c60231008aa98ee5210c40f01186df1693f3c20a2d5852649460b8e753a6745fd3be98cd2606192733777a674652b14b4932805c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f6aa77b52bf87d2bedd186556aa74294e00c5146c4d4442219e41b2014a20e71ebcd30eb5e952e55bafdd00628b08081023100dd7d32f2557a318fd0f84ec1269ecf18bcc65e94ad7bde24d19a21940b0bafcd205ee150795da1d2dc5f294e7524c1210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bbecec5ac6661842ee735a2db500f67c9459571430069aa0b265847798f127bec358f81f808ec3eb1f2050be1bc2df460231009fcd4733978c5781d895023c4c40b781191dba6ab7b5ea15905d42f4fdebeb17c06176bb577808313232ac963624c5340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a4a5b6b7ccad42b16b57987e87add5c2289062fd917b092c5dba83d843f602b302b1e2234a8d8466c3fb734289aed19502306b6058ee4707fcf8fbe2d78f80e675f69d05d26c82551c54df093fe69f7bee5bf2df35edb1b1f6d9de73a255880d12600302047c435bb50067306502303410c475057baf53ff0a174dd1e8aa2a5231b0f825ee82337d7af0153cfc465f41d3aab5313c094e832c80c7d7ab55e00231008c664c4c16b4d0ebbff877875a4bc08af9adca880e326fda0bd031ef9721e14c6ea02307abc717d0399b6efe4df353a50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305c20b8606e873b3fa045b32ba30ec99d2ef6b72c89e869bc9f925677064f1a201dc94e9194897676947609f3c1c53a4c023100f507c237f7690041dfdf02c883f006a5878f72aac6a5581daf7ac75decd40119fe239624658aa172de6e6527a55857860302047c435bb500673065023100a7f643bba325f61299fbc89cfbff3e6053af1ab40f5e503cdb9edf212e15362276cadba515f16fae8a5d7e4c5a19799f02303259b684e4fdc498fe88ebe236740e631fa82bb8f3233d2ef5f0be80e1f6a9ae2b0d27212b1fb2ef0d98c0d03787ac710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301c8ff0a58bea29170516f59deb66e020729e6d0b4ca5bbeb615740089b0cf0a90565e7aeb7ec58c6a333a9fbdfd431b80230415ccdce1ca428d9a97db1c70c487adb5999e57050a78106a4b53f1ed84d9687e14dbbd71248bfbcc488d29a2a7219160302047c435bb5006630640230798099eb1d8552371ce01412f3a78b1e4a8ad4f11397f5388c9cf7ff4bf67e9fa62b1a431ada6c3fe4190e8485be1487023024ab8c87dfeb4fbaa92fb9ea55397ca99bb52df9a3a04e9dc70771d53de1db8b9d367909ca369a1851a1cb9b56a8b5fd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303a074f20ca7ec0daf5862d458f94aaec89df258747e01575b677ec42026a17057d2d190f82f53702d396203a334b71300230101ace8e7db9d3aa53f8d6b8564fb9044c6a8a0cb4096a8317671204b5314c5939b982c100de14841c3377828841c6060302047c435bb500673065023066ec54f3855a2d13932ee66f3532c38ffef40481ee94b3cd0e91ed6b578ad601dcfd75b4ef139885595b7301bf53c472023100d48d5b566d7d706a682121adbd4f9ea448b08a6fe96348f81ba64e8c9f41c9466934ae5c8f332233d168c0782e9106420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b9b2fa5860a500a4ec83f7216c8e8c310086735ab6aeb35e6f0a8e66eeac474cad7d4d62b85bb6770e0fc904e7b42e9e02304a481c1d4c65112272687c8ab3feac8f4d20a4f9689e2f231732a5a89c45b8aef32bbb3ded0ba3ce3b04fd08e7a9324a0302047c435bb50066306402304a6188d4ae3ecbbe108acc32792a65c1756275e4d1a59bef442f9307fd79343c398a2d30e6deb999cc0a196aaeded6460230441fae376e37f4dd589414b550994abb3054e6094d68c192755704fd4627a1443d70186bbb0e63e1dd3d2bf34cb378520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305059083bc9a341d261e0ac6e60efcc137a5a895edc6e2fc5a9aae8c7ed22de20c43bd6bbfc25ba4d467d6d8a9f339625023100edfb63a08eb098f20c4c9b1d204fd9b213c2e4452747329b5c54a944bfb087bcdc81a65ea67efb1a5b2f566084ca10e80302047c435bb500673065023100a7a7a050efd9951bae1bd2d9184d7aec235a7512cd68f28fcc6eda7334976e5ae1604bfd7ce8f8cf04ad81fb9756159802304f89756b24115ed6da5898e7700af987ae87c49f807fe1b7361f8d9e1138eafbbf83ed4513c158e31ba7e66c0cddf0960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023001f767d1dd313dfe26de32e5ff37a0e84371416b0a256297f66447314adddb15c94903ac78438a6b9af436c9b3753e09023100bd015cf8e0b5842fcd9a53314638de02a355a51ca952d78d4dfdb200e8977523c38589776f13b7753e8da9c2218907300302047c435bb50067306502305b0f708949e3113382402c24f6c589c0a6cdcf5b69d7adf20c5b3f872115f8a5b7b2113aefb7e5f77ec6ad422858c19c023100ddc3ab7adea534c59a4b673755476bf08536f1a52c5ed80cad7a8dd874e4240e47775c0cda3be8780014e2d9c15648a40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307ec62b1c7d0a57b4c974cc5488b2a734d23c92b47c52f3cb4c7c78765d98a577f804618035bcdc6148bc9fc68305ada4023005a0047f49e1b94710c5ad7efd845459768767f26355563b30ab31ecc3745fff1a036ab5b61704e9ecc7e3e0bff288db0302047c435bb5006630640230116380c69d09155a1027a9069653c8ede1ee08430ef702b2bb950786ac2e03a013dfea6710e770121cae365578ec9612023053bd4fe18eab129a3970646ee52a87a6a7c359cc5d23e40cb374d9ebcf1b5aa10305a97f5c331b199475acd8a106b26a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023019669890c9d7b8ba39131919845d14232187042d6298bbb34b427d846e991c7923632fd93436f7797d5f8c98e42eaff3023067d66ba7531f16db6500cea58e4324d5d27f30619c0ee533051a54502d949d7a5d28e1789eb811877db1d682b49f9c800302047c435bb500663064023014b77b7206e22502904c2674a1a1971f7a38450542b409ebbfdaeed1c77483ba1c78aaef5b932f918a4ad56526854f29023064129d0ad74e593428743c27f272e46bde9090b50d0afbcd535d68eebb94c08da25a7a4f7e4e47602a4d068420a960ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230010a81403cf39b47fe3be4d0f6ef278b44e532a513f5871fba51bd34cbd20b7bf7af607fb1e56bf2909226ade080599702304dd5314b6987531a8d451beb277bd1bd3f85477aa4b7c1d986fa0f09479b8698f5f5d3eb6d925f0afcc701e592775f680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230541df38abbb5550a710a39e00937cf76a9a92cdf27945fb2a2c8d5ad6bb6bf8d6e09da9156dd1cfa9d84e1a7f7ad05ef023100eead9a9a156fbd2ed3338206c7c2b96670906ae448b24db75385c851bdccb27d94855856e8a051529aefd75b7efb03070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230639eee7c061ebc337c6467e758a94d9a113d1c4da755ccdd7aa434c14709f8734cfdb8514a39ec7a7194981758925eaf023048d4d421c39e7dff640cfc6cf4e8caca5d777bd70393ae733d875a9f43f8d2589a382aa20c2298a50c58bfd42412995d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ea3ef1f029f183fa92b7be92f4698086f4f6c008e080d6950a380ef2b80e7f8992ddaf312685fe781e40810da138abbb02303dc4e303412764be63c04f89133722545ce1db5cc24259cd1a60b87f44efd5f503b0d164462f83563439d74e7b09f0d20302047c435bb5006630640230184d8de7a71bb0fdfd1ecd1f0e75c54c110969640a475e7c47963d2f13002b16b6b8b27f50022f9592b5f03ea04e9b180230238712beb4a9ccdd70c75de7246e54128291d1287e899134273008c7b006e55b139296e122e0afc79b508e17bb8c30c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304c4818f66bef83b9a4194af607f7f803efe35fa57f560ceddcbde216e1425eec78a09af626a85f43cf94f7898aa02fc9023030e6ea60cfcc48f4951799a873459ebf125eccc199af7b742544b055c11b47dc6b408086e6693c50f068346acc22b8390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023000fd35b854e539e87c63f13ac68458b152b31973e4229d77ae103b0ebc0b6ab168c94e0566dd6844ec2c45a8f95ffae30231009a1cb34f1d7b62e203c09405989f186158f312022d4d48ef579ff3d002af31e023d77fe02f984fc136ab80c145f5c8600302047c435bb500683066023100ae1c76763ef96b48ad97da56745f81f2ded7920d9684c2710820a08aa45bf3c3b3aef8a39859ba023ab6f2f66421ae66023100d140af351931e6c3ce7605f51bafac35d4737b1bec7355f3f5530ff6a8f81f9b0a7fb62ea3ae52b3b23743e672dce90e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b28bc8d0bf5fe1ba48944bf651a0b2b8936a71ffcec1c87414d6a9acc33865e9e82568aeebd9e5459493ee96a26273d3023060239b116f0fc6d96cfc35f7bc9a26ca2038e938a2d86ada978bf5354c6163277034fa987a8c64211d47f0352bdff9f90302047c435bb500673065023100e2d24a4ae082865e0d69af16d6513678bd758d35ddd340d5ed59b607870cad5a83942323b4ba83002b0fa34c580f81f202305d28bb9bde7a59ded49485c0ec96795bacfd83708473fbb9fbbd65ae97afb3836e289f57a08901a4d75395169fdd45420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023056e88e265652fa5a9242b19cfe67d49d86f6e920d44eabe0da8a2d752fd636c694314814e01604c33c83bc16cc41599b023044783f48c2ac6004cf41efedd5ef5d527072552c7abe22003f22851b4759fa455586dcce24b1d1fdb9e398f459adc1050302047c435bb5006630640230524fdf91baa7e29b60eb685596b7838c62aa37a4c262b44def24b34b7701338470cb116eddd0c3269b72347c2235876d02305db46d629bf0734cfcf0930b7170b6e0de0c1d6561caf5eb8e8d923b68ee4316f69fe03cec761cc3ef418d3af9404f2a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008ceaa521876f3fc02dab72099554cb6afbbcb48978d8d7260d464eaa5b619a6c737fdbffad52f1d8a1eb4cc36d5edd7702307df86ff49e01dc41b5b4fcc0ed6181922adfeabd3ff66ec10916a96c3df4cddf06a669c291158ff5a46c82ea2a1301160302047c435bb500683066023100aacf6935d7a8605ac09065a8c574ba123404dc3a71fc07cedc9e68c49df808e44d0cf5b10c20bbb0f3fc22c1f53a45d5023100e980bb38f3938514490bc0d0f68c1fe155016caf7356613f1cc0ccfe749b6db23cf7eec058d2302fbfb4a4d22bab97390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301f097adf98e4a3d7dabc8172489de8b5e5439dfcef51c4f17635b0681420de0d1c99598b26f3a630ccad327644d040c902300278032e4baeebcfbe770df79406e1daa9e64e59396702cdfdb116fed5ee23f40848035e9e50e4f6fb0eddf002184d830302047c435bb50067306502304374a8f2c3ff40a9cfb5d172359730677e2a7a16b7c031cd7fee1a3e1de8495c3c3dd1aaf1fc03a481cab45782182b73023100d1ad9b10d7ef93da3f5266017046e4c0adc474596f068dda4edaf813a22c460d089456b6f0a3d5137659cff45c21278e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023079b85b8c41f2b12735503f19f6ddfffbbd4f1d5d804a1d18d8631ae6081e185d56ab7b00710956a078ab6753862bf8350230470bfe10adedf4fe84b101b447f661149cd10dde5981a8865ac43daf403d03068d55790a7dfd1560e0e5d41e37c9e5540302047c435bb50067306502304c90fea495cbf01c8ff171c64d466120286307f35dfc11c56bb03e78fd1c9210cbe1f025236d9e1524ef7d16fedb6c17023100c3d18adeda74173f95927034d95ccfb4c8c21298a767c9d6efbabaaf9e02296515f254ec2f4bfdf3e1f34058c42120070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023003c0013d4aca6c5c5b2002b132eaa4d588c5a3125653d73d593466a7dbf9b3b44577caa90b5f1323abb49d69fa17bf38023035aa7dee4a9286760ca7d7fdb404e022043d78f16bf73f2a1ebf6c232e70da0fbbe0439060e8faaa4c13a4643a466cdb0302047c435bb5006730650231009d3c2699a20da96f6aa95b46025ff779f52eb76c9d47341986aa0496a45ecaba3e73b5951a1c9cf6d286cfb32ab50ca302305d593260a546667be37eba05725866ad8bc6c586cd72e3aa0bf02300ae427770dbcddc36a9716224b57f00acc6c814dc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306b6112f9118301910eae2b8aae1e29f10c350d3132274ca8e74f1f5ba75e7988d4db97d3c862a3b99564d8dbd757bdfb02304669cd19d1c13884e4b992101fb789b3d7c7a4c63fcb4c901bf43a7d639887936f0ac2f77812547774cd1f901813b4030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303fc83d28c0ddc5b5aec4c44b375f352d1b322e8916ca882720bc3d4b73dc8f857194522dde1071243af51989e971ca18023051b16cb80896a6ca77eb1b77a6e2a35b43d36629bfe4df175371f63d21e14ccfe862915e0d488ba6c3e039a84ddc35070302047c435bb500673065023048c2216534402cee5c24a805c3c81c369db247cab6d6b8b5d727aaa855d15cb41708bc03db7f6477d613f217dc3fbe200231008fc61b354f2a57858a3117f7a71414aa628130d32e776995310a3bda33998b64b3295c2366b742ecce14cf714824e4b20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c701650378e44aab6b4c39120b40283fc3df9ec45917e8ca51d7fff5e0e4436c693135952abf373848e4b4a0a951c7de02307e5db34c86d8c45c052da833ad599f16f7fbcc76c217c6d0da5dcdf10db15305a2b4747ef8baccc74f920af5ee51d2a10302047c435bb500673065023072c3864b0b8aecf8dbcde40a539b5e71971cd87241c54199915ee46ca832527204df29407f45868ba598d1f745f8fd600231009a6f300bb12f1e80e66749347fcaed9421d963ffd2012681d6d6cd7044c03d43d666c1f8bda4dbd020dfa5e1a6775ed50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d4fb0a6842e79cda3f55577af697cc29c6a59f3462eefa80b4ac40576b32cec16653a7119be02ae6c7d9e9e80ea40dcf0230121d057252ea139efe42757a9483e205c5aa6c0a089a827c10a6c9f4da0a4dc586e6ce75d8d331d070d6229989f9edaf0302047c435bb5006730650231009dc35ef00784579a65321f288f39b5e550cd5bdaee72063b6e70b41ba842d4d17c16c6f4115792d11dc51dc0afa4894202304b4cef10860acb8d8f40bd3de7a207a62bf0020928e648b58f556dce364c9d5d51cbe13cfcc81fb1c99ee98b050639550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100af80a369e818159e41e9f412522a5dd56d292692c6e18f6450b98e59c1d6305e042ef1f3d514f922dca6bb9fc8117ae502306b71d18980104f267fb66a708cf95aa5534c7f49a208f2a6a7ee3c5a213f022d317a7dcbf30ad2cd0e3b1631e11b92120302047c435bb500673065023044af48ffe8df7ffe02e0de275a37d61bd92236c1fbd5c3ab2691a1308f3391b4f6a602fb226f8f34f3c328dba42adfba023100cba28d4e7a6d90f330c4a0cb0441cffdd0fde09296ad6d9682557eb12949c9592886711a2f69f1156466d976675ffeed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ba345304248203ef632746d9b5bf1980d6be4815027aeed0e4b20e114e26e1a8009504ab528f361e3a3644eea8a34dc0230778b9239bfd178445f06edad4b25339f711ad2fe154ebeb4b4e632571c264a447b869186d6e24901a1858120f711b9ea0302047c435bb500673065023100ced26eba37c4ec554bea8fbb8f455fb7c97604657cbd29c353ae5df40cb2fb33cc20e1a393710efab62b9c61a3eeee6f0230302baffd9005a681f275be658c0a297448521c57ec57f704713dd6f521f1fee72aefaa27f32d0f5b479fcf3bff2b80900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023012dded3ca8cf382533c428784fc7e76e3af66fc0f1a82a0afc77a5607e3cf8156eabc96c38f9d91d45e03bbe9e70adfc023100aa75bb7a4468d0a8ab4ed5cefab82ede464ba042a9c8288a68015f3af38da1379ec897869a60df9e1da067295b9019130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023078eb04e1610af219d51e9498ada06c76ffc30a0c5c1ff2bae4dad93175777955b4bf596bcdef63ee3a09bfdeef57523f023100904d207cadef12fd2919bc5e876a50776b26c0ec8eae1b0020e87bdda8046618429afa7f6d4ea507254d97961831fa740302047c435bb500673065023030513ba0595e0ee653163a150767f1463b9a2a2469153f47a7dfa2eaa7356266dd2d5a7c879bd31b79bd52530af1de780231009a2c5acb57318dd2f6dd5193c1483eca2839b8077545f719549ef1ab824cdedb5ce14408e62c94683816e115b4c6376c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310081eabfcb477c756d79c329ff63c2a5c6df310332b93bea18aa174b3a4c4ba4fa403e02f19fae95e57f20a226fc866d3502304a8929c54139dde016119d64811f52c591bbec10ca453ec456816c9e62b8259c592113b07226f724d13ccea37508eba30302047c435bb500683066023100fda9253ff4f148e2157470e02b2540883929edcafd8059f9db29256169a90d308491e5dadb42ee8c0154c475c63b6eca023100e0eced513f5c27f4444ebfce0edc4565282310f6a8961c86862414a86bfa8a7741ae3412ba29a9ba586a162f9c2e35480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ed13c90e3744a084dd4e311f11281cc6f33250c2c3b90312f528e048367b8b5f78af7aa0c33b25f686679fd0103ead3b023045cec6dd628b23016db4c6d8a218c5ae523bc0f712ea3e8e58a8bcc46b718690f8043d7a551a5c0859a651d02722c7a00302047c435bb50066306402303de250ea86bce1726104442c643022f4568fe8a499cf42eead3ed5edbdef44c0b81af085acc33b36714d43e259f712b402303101bb0dc13d3b03b3f3a7de961473ef631469852b46e4b362fd74306a24063e2402c3f6fbb6552b659bea6d95eea23b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230414bcdc4457cf730c85c583eb8264f76c1cf8a435eea7f5bf4e2293638e4f3078df53c0346f3d58c76af7c6b97b3754902303d77fa9e222b76ed732f253c902bd220b9a24d1270cc38c74c035f48f8d0448f7e056c0dee4d14f62a2679f2a47ee13b0302047c435bb50066306402301ffe5fbe481fd5a8ba53573bef1b722436aacac2fc5859b4091146bb49e3f1b475180828e71f09f99d212e571df97ee80230568e595f7e3bf2dbf5b03520643a5717a169e9a559743462fe2f5772cf7e7fe1f848122b5df765986471eb4f3b31331d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310091188b3b9b33febc7720ef159e2576533786cddad95f0bb1fc3906d4b3dde2a8de8c3f1a35f76b3486aac2b6513cf701023043160f69b4ba0f08693f815f81b35bbb1fbf2b266979e561700aa8e19397a9b7da6c9f87f969fc6f3ba977e23524be320302047c435bb50067306502300f0cbe776fc485127861d9cff5d3ddccf88250ee1eca9bdae974e13cd5cf16f52a73401b27dfab27c269cbfa146862ae023100c4fb12e88f50770de6db2db0f7daec687f58ab7f5a08372db105a68fdfa376ae3a9ec8c3daf1050e9ad4cfeeb5977f740302047c435bb50067306502310089040802308d1c203adb7c5bf67d2aa95fd56ee2b5025f0df6030c3d89cd9167bcc65946e23ed195ad7378af4fe98f53023025dcda108af1ca17d27c121d7abfa38933b7c1fab777acffcbadb243ae3c283c5a18ffd39f5aff416feae303fac963ad0302047c435bb500683066023100f0f5582b7e93744d46e6e4e1724b07648702f2d00b9fb875ee3a03c1ef6149af95caff6f56e99e4f587f1f3eff35e3db023100bda958104f6400cc7b808fa1da0ddc991b09fccdccc81573b187ef4fb5adf37a1cd9e6fe38e7089717e15ee4ed0cf27d0302047c435bb500673065023100da778a4e95012231f85c3fcc6de42faf183572f9aea4a4f505a477d3fcc95941aec127573e6256994dfeeb44caf5112e023068a03546c5106f7e267a61d3d51be02555fe4591ba1fc9ffce611b6d5a2eaf9c0df0b4888ce3a2b0580e64f03878e3e90302047c435bb5006630640230361774506b2b1f10436ef78ff8a52fe174084bf753905d2661f8dde89bc66ec48ab5a9222747e06984d3f1961b7222c00230053d61340d56540c1c59fa06a24e727408f4b3e645fa57ddfb47335c86c6293cbd0281f77282f8c39c3ec300e601e6850302047c435bb500673065023006c38c03c718c0649653c82c4911a37b5b798ef64d38ccf57b40b44046fd43f0ca34c8959720df3d24a059217297ff9a0231008a2b31c57276badafae1b12d8027ab4678fa45df53b7f9f0a8015f3a44a206dd728be85d31503f9f15aba55e9cdb74b30302047c435bb500683066023100da779cc1bf64c016dfdb6652632a8f8d5af4ab7504ebfb879c4afd8685c3e35e99a6d82fd907362de76ea29aba389a71023100c6e1910fbec90f16c75fe33582599e85cff646d5b79676207e50f1155ed72818c04bc1a7b201dfab86a49cf217b4eb830302047c435bb50066306402305f283e3f022d9150a2cb9a35486170d93512709ceac249dc770d555016e9ed9e1cc9440ed7c717e04620b93e39d530cf02306d994a56734986b0a78c572c22752049c3ab28b137b7aa623c56b3172a30a928f9e0659f9f1b7aca975f6290258684ca0302047c435bb50067306502302da443462e8bed352729e01d32a570d12c72d9c8868410e2069c274d5423af90bba08af049a96982bdd8af2f282e92710231008aee805edaedbb01b693a217c50cc246fa31f45e86a55ce412dd42cd7aa4378786bb98c574934a3d5656da10d2eb3c100302047c435bb50067306502306d8182d1da6b4aa829bb7e3c8c1b406201d642b729b6ab86fe7180b6da2e67d92313c122f198a9ea2a3aa0b2caabaebe023100e9f2466cb844c9bf9bbed1dacaddac0aeaa68d30393274f1eff62c11036a52eb9965e515ccb92d2f5ab9594af12be5160302047c435bb5006730650230046cd7fe1174b12c342c6e6af1d2a0c57c25fc38e29383534137ddab161512f296be4480920931d6411c92dd95d050d7023100c8e073c05b661b0c0c72dfcb279c9ef219a540c5910c26f5d7c7e30581169e7cc638d327208001458e58cca62808a9470302047c435bb500673065023100ec856d1616f2f9a3c2c7ab2d425080706c9b71905f14d5436ce16bc1be21364f7ca03b389f539ddff300949a337efcad023026387bf3daa1308c0e7d9a36034ec2ad760ddea30eeb4bc4450c02d6a98ba45c53284f2d9f39f3c91828c98562bcc0600302047c435bb500673065023100a81bcf6baea6be4ede91478a174cda350710cd56f3baa23afe35216386be3fb6974b92217ff9b2ab0d029187e35c569b023023b9efd369c216c267e51262ce23378446db4d1e627391b081581550a70f002f2eaf18ad35a0bdcfc48acd7e7c0010490302047c435bb5006730650231008c581e82bf280ebd3a1e8007b0e38cfd80f38143d23dc30a424854ebe0e50f7a48af036d594ab2194b14ea6c984314cd023036b98f00889cc5afd94b6df4db850479318240e849686bef09596dc6b9e9b8a51bf4674ab5fd7374b14dea9663e7afca0302047c435bb500673065023024f4c37f85984cd97518aef7978da92916804dc32f9bd429376e93c55fed69c8697aba7c6afbe6ae8445222d1dd786dd023100b9fff84c793f1051170ab7dde5db1c6c7f7ff9f66b3fa044c55468c8561d151821977ae2c9608198ec77c08f2cbc25b90302047c435bb50067306502300f1319e33e8b0d349ed29d910992d94c397e519da3874dcdf042eaca07d4544caacc756126c4fc3e6144bbb0a53cc8cd023100922c143e8a563c909068b80594ea41d942224ada3c1eadee55e701528943bb6537fcc923f67fc4716f12106f42d6830b0302047c435bb500683066023100b45453f499a40c1d348808d45b5721bcc18161a4fa93119fac19ae21476796db48a6a3ab3c26b77ab91def4bca33cf89023100dbda5ca47a9850f3e99cdacfe8c90b0eda96cbab7602d9e3524b192fa90601da11506cfdc18eab3f5738bca6043fc3dc0302047c435bb5006630640230221210f184a64e093e7be4c5ab9839e1767606c8f95cf569a8080dfd669c0d49aa8b6afb71bb31eccbe0a7778ac86d3d02306c59b26a29edb563ce418ab95560d83331ea357d58356d9d378855dbb7947f8197a594f70a32db80d13e42bfec7754660302047c435bb50067306502304ad0b02063214c4adf4660f34f8f9940a956f545d075e7689371159140c492bf1bfd444d414b81e958bc0c916dbe5eee023100b3ae95382d0ca7722af152cbd0a05c55b75966bb24c27866748529a2752698c3023df4f6c4c22546f1d9aed04d01966c0302047c435bb500673065023100ebc0760e5fe7d721f79c2e4f3a454b388aa3fe0dfdb755683373b96be53f3f13b31ad17bf79cfcc163a67883f839c90a0230575534615362b6fc5011c6bc1c0f0592087eee4f3f7b3ce71a7ee85bb1c753675d371947d57e5a5e3a93bbd4393473120302047c435bb500673065023100f3457b32b342fe607dedc02fa8d8bdb24fd79c4a73149e51cc84fa72c25cc8465f3beeb7d8ce3dfb882e6ae65a22079b02306200bedfa7b894a8d57889defe2e68b1b27b9f153bfe6bdb0d32bec8ca1882e54398f0b4f2e15f4473806d2e6439679f0302047c435bb50068306602310096fc4caa48a9af586954a2b80238cd545f60d77b0e7a0b279e7b20201eab4e7b81acc4963e5ff0772ce94d0728e93c1202310096b68d5c3685e015ce006618ecaa73755d09b9fad78786d6aa9fee40525ea35fdfd461d921e505314d4efea4892f6e930302047c435bb500663064023043c9345ffb5a0fcdb26e2e92fe403be81507ab11331f5cd7b6679f75b1bbf9c01569d6d094bf2df242d4b048d5f4b6ae02305bbfbe73beba67942cf87bf578b6762443bb9ab6961ea365288c39ba0dee2f7ff48a4e75e141fe8e4cce0289567dd2ba0302047c435bb50066306402306eef50d3a3387d5e16c14368719428b513668d355ad1dbb9cde3d79b1b6e08a98e44b5c297e4fe2d69d110ca3836853a02303cc1931f21139e624e682916a73f7be483d499aa2a623d759a9b3ef0ffaf6e304881c0209982e68c57ed7092b7037ba30302047c435bb5006730650230583ce10a7275ec922f5ebd399a95accc9cf0bceb937d35eb6b52e84ede8ffd0fd53633e7c637252073d5343e80a2ff580231008af89811f2af64b71ddd3c71177a9d56f4f7b4c48584be6ce9301e981bc55da0fd5a30174e819843815bcd6c74d3e9630302047c435bb500673065023100dfa7e296f4626b3c9edbfc32a3d08f3ac9c55fa3c83450cd3da295690871e7fd12b311d196db5360e587c8a378a5b73f02300d025fc042ef3102d9c9e7cdccb315e4de27c3b15b2ef880f7499e65204d9152ae5c92af7e97c58570fa56a1e25d16550302047c435bb500673065023100cb50e0154e41fc3e044d1b5d057f9e8d4ba5480101b703ffea79288a9ce091b17d89bea7dd9c9e676e8ca7ddb19b9e3d02300a2dfcd9a389c787181bc47f2a3cd7f895da1956ff1a5a131bdfc652642efdc2e25d46484b28a81fc81d9ef41fc7a0ae0302047c435bb500673065023100d7ccbe325b9e3e5febf6979495cae420e5b166d148ce94720e15d4392abb33077623e7bcfbdb6e0ed3b516c1130f174b02305ecd4abf0ec6fc0e4a534389f75f28c374e33d450d70162ff84b6e6827a55fba4b54c142014f42b451ca80dc19c835420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008330cc0e31811b8e3a9eb8614a93d0ae9a5eaae15fd55fbd80b6a7fcf67f08b28ad4fe666136aa07abd257cd8deb4c0b023100b164c275fb5d0a33478e1e87aedbb97f0ad78e730f80eeceab87756faf87cd1fded4350a78b862ab97d7a0e94a09c94b0302047c435bb500683066023100e8d2949d091672f24c37c0d24241f78dfbde2492a004e3a8e1141275270cc3b75ba19e0b30fc1aa762e3647efc1c8a99023100eb291cba8532034a8617a15de5db439c19d4f6822f05412bb860971c5b37fb5cb55d80a2570b313f9915f93e50f1f3760302047c435bb5006630640230014a0bcfdbf44893d0d8c26f5daa549431d9830ba3d7fff9e2c4638919c8aa6db5a184d5169bdd69e0bc1d7e5c8998fd02305737ae55debe2256469db6771d12db18243b59ed649585152da5f2a976eef00e5006d18828c9858e439ccc0c2d6c7a850302047c435bb500683066023100b4033ef90c8115130f9908f32060b3acc6578e4f7b88677103d22378a7da3a957d575d8bbe09e21ecd43f7f4cea6b550023100d740209428c7717d3b09bd6de9a43a5c2e8eb1b3b4ee4133e61cba44c8ced8cb56d448b8986000c7856a31e25a9b254b0302047c435bb500683066023100a61325cc417a7a5244897cf53bebb9063ad69aa25f6f8541785997153f71b938b0bbe0ed2aea04271f5e0a947f65b6680231008080541ea4ab8cf5a8a71e92d362e0400d607b368118648a2d4d80b56bf18eb30bc29a58319d331b6026301f9cfc06510302047c435bb500683066023100892cc24be4d6bc85421b961a938f2c6604c88ebc6ab6cb332b220cf9fa8d5ca3f3c2efeb0af2e8a40c4d18d207ce2aea023100a665bad7123f227e518fa177b96de3252abc1877c3772bc6a15d7a2c7bb32dbb68e62f2df34ec12862228533911991280302047c435bb5006730650230770a8d602ab4b922e3dd3e78cbc23b91cdd8fcd34bed78a56e7605a0483cf0f26de778c2bee13ddbac0fecefbbcf3052023100a1649cb25c6ac93e67659d87ca8c5597dd2fe81536a8229149e4cc5bad7c00306c858f64caaffda71931ef373ba9f7d40302047c435bb5006730650230204260e131dc813b37def04c09611a7a07dc8e304f681e289d6904101b9b9b1993d876c824368dfe7012997d2bd925d4023100ddbdb68a6b950782a7ee708b73836ebe059c63b2aed58993dca6d350b45933c5f8e96f0d005987b5e67ae222b7225aec0302047c435bb50067306502306f00af97ed80f341d0d0c775be309ba276f0d6101793ffc6f1ac9c892fd46a34113a8081843baecda6db2948a4f335bd023100f0355a87336e6376ffff6dc10843ced5a41d2071ed5b2d85e22c7e9cdbefd27e86fa76c2459b450e60ad71c463278dfe0302047c435bb50067306502300a400090e1e8c211698ae63d4aa4aefd3093dc4b41221c6bd75af87b94540f23ada379af7bcd603903355a0241c4d940023100e033deec06f8037846e7925c3f611774f2d21f9125943cf00e03529e8a9e42ed5756bca5cbbc5d4110e2efb8016b0f400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bc0f0cd3b69f132a3e07d7f3823c90da1d22708d8ffa6803c8c01e953d0e1fd0bb0646b1f3cef1f0de20bb605913f379023100f81342b357df4c522a66cc3671f91dde115f73006247843a1ad00482c2822d9d98280fb74ab854c282f9363b8537f6d10302047c435bb50066306402305341bcf3edf1c49d98012d9a3879cf630999d9b231372f6053209b460f1bfecdabce620b9d95921851425e92b54fa89d023020476a9e1b164859ab0bbdbcbfcc11e5a04f9f01d1836145205b81b769f48557ecdeacc18e3452f67b1f2510dc20f4ef0302047c435bb50067306502304c1abb634073a200c04f55385c6a7065188e93c6c244f216fe9f01fb51cf31c9eb8009dc5b991344f249847e20aaca7b023100dfff8c9d3fe5ab4c8c4aa3cfee0f6504c030eef23566df43b7e1b65b9974c143914e97cbf0e06a57e1557115ec9655410302047c435bb50066306402303a02704af2c4e1214cc3c4934d645c3d6746b2ae67db6d063d7b961254edae09081159304684e0ad89f29b568042daa8023036581c31da5ddf292be2eb16707fdc82e8172e2f9f7a53c85bb1c19ba4910bc62e34280d3c602ab2dd95ff59a0c9b13d0302047c435bb500683066023100d413c47d864e2a46c499ccc9127e1a268073d01441e5e03b3e4338a4c19f81c358fe3953631b796ba0a3c8c497400e73023100a6e50c96debc9de3bae079e411a0174894c313fd3cc7f590cdde108e7cdb0fbb49b0de72321258ccfbd1081fd12f7c5b0302047c435bb500663064023055dba33e99182df74bb9faa1a6a7d410e26393398a96760d972bdd5254246d9f6ae61c926be092b708c1b9ac7ed2fbba023031ddde275588411d0e9a712b2a38a63d66bb2eb58b01ed2cd14f7a9106da27a03313044f7b1ba7041ecb4e470530ccee0302047c435bb50067306502306504f3f614a173627d4eb4ac1b1acb3ef1c0431e125750fe69871e3f85a0e36740dc5d43f2092e58b1119c8d443544c60231009b561e65ba217434dd9079ac26cc1559a4e8f2e58e72805528189091185d3b0201a40522ae086c7df9cbfc47eefce0cb0302047c435bb500673065023100d96d10e4ae5c25fb9396c0d47949f003e888c2e0bf03a4cec7e473058f0160bfd8cc4b26b07f35b5837ecc99aae507490230395128a38bab761d45748979a7817537c1b542ff861adaac96490212e18913907fa936a9ce8626209a80897abbfd78aa0302047c435bb5006630640230392c7c54e061ca16833b01cf6258332e6ea4adeb1a6df363407f3bb594c4a4a989e1f582cdfad4e2be34acc25dee7ba102301f8be5d49423be9ab7eeddfbbcb9f73a56424547b851f6d660fc912c4236c6daadc78160184d8d9695a1c9c509b53d080302047c435bb50066306402305cac97d53ddccdb25b75951e720ede596b28725f3c3238d82398c13d9d614716239a556c4b40ee2069dbde7347544b7402304a392d893faeec1a703f014fd962d6f44b9e2038de52f5767324ed3bab06542475cbbb7985cd1a11944a1ca8e1db2f570302047c435bb500683066023100cbf2edbce9d765d4628f568194af925b09e97cc7c8b0097262cbfa1ec94074160d4a11c988ec94b680c89282fafa0180023100bce2c46525fbc8300cc4ee386d082d9e71b5133d3aa598ae13a6c6236d894878383c33fd4db46afd583b38da82297bac0302047c435bb50066306402305090d9e34bc31b4eaa029f982be0c645db0fb3386eb92dff142568921a2d058787d5dfac01bb6a7d86d04c103a83a35f023018c93fde8573772bda1819a70a0126a41583b2399966ce2fa1afa98e7fd8cfef24229591d1855ba5eabaee0616b2a0190302047c435bb500683066023100b33d1bd07aef447c53e530426e34b74da92396e745da02a3d2e16451efc10cb06597d55cd8eda81e957280ac4ead163a023100c7094a7ce1defc1bd80aa4206a2aa0bd8ff2f07ae03d5f75faebc10f728d54fa40c3b9d721589602ba5dab4caf76b4130302047c435bb500673065023100ae4a956c8dec838bd25c76abe1e5e487524ef54368834d55231a65c9d3a9e62b6e567b0e87d4118cb9baf1a51d3fff4402304eebfa4bfed8e0a51ad632571d35f8b72e6e94b5b871fa3bec7d5cab5f1b684f4b5166c6672bf5b2a316e0f13724e9830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100de808b81f7d95a28b94d46e88c35bbf9b7747aebf83556e4da2c3e32635e7b7af7845e2a6fc2f6f493f56d73ef0695260231008427a386be7774cc8866d06419fec64a7e4542739fab9e3529b13d247258b5128ef3c1345eb2c2ab038c6034eb92dda20302047c435bb500683066023100d45a6d43aa8da8bfed247ffd399cd78690f1d13cd39eda0b377934c9e4da6cfa4265cd3ef13b3c443198694e1832c3410231008e3d9da52f682966370512440f69b760b820be3e61330307868e1f19fcaab0c9a5060b6a2be31d2790e809fd766961a70302047c435bb500683066023100c804ee01da8d865e76db944bb21e4daca032142466218547863a642e962491ceeba5e098316545177511c588a59c19a8023100ddd559f0b270da07f60c647b657ccd95c1330e6410f7916957231bc91da1c8b86e149015d6091bc82ef91da5670b07d20302047c435bb500683066023100df66d77aa0a9897316c973fbe5d725780acf19772428775e0ff5ec9055d95ac5fd32c8e71fbf82e30a71e0129d5baa73023100b378d94eb4c862b3ade67690d23630821c81822837061263b1a422af76ea3f4bac900b4d5cf104582f9d1046e32f1d560302047c435bb50066306402304bc8c83ee2641cefe5fe913b51e88ed4468a423be9b8fe58e71f20dd56f5cccb937f83ad9823154402a09b7d58be9ab002306bff80c18df5745c2f6eb2aa3dba55da1dc26fcd241406cd9c438ecd86c7581639d44bda762d409ae30915d1924803770302047c435bb500673065023028be26f179f35e6d1ab38c9a3e4c91467d5821784af14662906c56f660127b49b08db75837f4419a3895bb9190968066023100fc17372e412dbe03477b23916eebd241ff4908253bdd9a57ccedad871560014072ab5a03c3bf29f1bf7b33ad8f99334e0302047c435bb50066306402300c979f6a9b118677bf79f46691edf0a201bdf034a6e8adf799e4f6eaf2a901fed16a6c9aa1be5898bd496eea0565272102301a2deecdb1ab1df13f8f46df7a27e8cd0467f75ab9d7e3c03901ccd8e8f0c6e85a00d2726313f44c8fee2bf5929fe6150302047c435bb5006730650231008cce3f3dc1cd4348961ec18dce269b64e98f8fa216b183bfe073b636c5743a65f3218f73b006089b2aacbc8070a7d865023063cbe01790b5773e676e88e09e8060cc96c39754c32b080b6f4a20720d61eb465de98873323255fe70c98a7545bb175f0302047c435bb500683066023100b9993034b3cbe3c4ff95e212ba1f2b00b854ad58779ac84860ac4e0348dae131b772e2a582bdd394373e7da795c42c40023100fafb6bc0a859399adebe19aa6ada67cc498c5875542f1ec7c2be1114ec770bf41d1937ea46e1481d935d047f5ed4d6390302047c435bb50066306402305ef49a4cab6c7346dfcf7be2918797f747b6f9df7714a731f506ea7660b3908bd3270e2be22faa672ac7bc0ef568f691023016c5e1f04c116720a383309d70d2763e326b222a00235f2bbf0b7a2af30296b80e87bc0249278a67be9580908827974c0302047c435bb500683066023100a8b2ef5c6d46a05fbe710d0ac2b45fd319a976d181aab65982a494c1fabf0cd2104bd5933c67ea5863905ce2574c6457023100ebd984c1a8b12f2665a0c342c7a4155f8e56a2ba7a4e042ff765be0c0eec8c4f2d6d6bf83da090b80e4efd567fa3253a0302047c435bb500673065023014b037a1a3791d04caacf257627f6d9b42d29f2947450cc2906ac20aa45804fc3e3f55d597a1daa2ef317b691a8c8e76023100eaa918c447de4b9010f10fbfe887093a8fbe7ef50e7a95c0dc2740a9be6168408af0f0405e991a3c9ef13040e589b4400302047c435bb50066306402304dc214ca149a76a7657c9c6e8992f7f29b68c0fac8831d781d3a9a70d0de2118398368fb185f4e9dd26237420424086102307a51b69d4c066ed3223054febc1c8589e6166b15fa874d1925f8ea9ee5ab69738c1428fb9599951ab1988cce0baa4b1f0302047c435bb5006830660231008ec5e1293b54da0570611fb98d0e30e7364d05a5bdd0f57907b3250ef710076ef0a06eb32fc88206f787f51659e4d16c023100b05ae73d58b4f843dcc6cb67d32fe87bd8bad9525e675aca24456a90ed3f18b4d3f59b6977a54ae9da55a5608972e8700302047c435bb50066306402305c7d0cee50067aea2bccb94f2d760cbc7e0592990ab341b6d94d8709f58925344aec20c7d1591c7624843846545fb3f002306554b0ba3bb20c4449da47c9d78c51d6a9c5334f746b4a7862f861e7ae72db1fa6eb56a155474820a008aee2350918e00302047c435bb500673065023100dbadec20a4964975c518c440e7c672aaf95bbade8a0531db73df6e3a390976dfc80cff67cee2d12be80efba7eacbfbe4023005e454835ba2b67f6cb8f2ad7e3bb17c3fcfc9aef2acd70b340bff378964c68601223ab4faf993185bcf57ed64bb473a0302047c435bb500673065023027d2ddef40324aab37d9460a7dcfe7605aa1c0bc47d1f826b3c5cb4e884fb7b4ae94a1ff9214d4bb01d3a47f89ff82ec023100a4d631515800e208e1cebbc8f823ee24f336a03948ffc054249703b2488f454d39eb8c6d8d63cb44ae46b48aeb43c4360302047c435bb500683066023100c276690fe0655708e92c0458e6cb960e62575af70913be3290c5710f9b835dbbc3a635c50f04b23d05dc2c7f92d8e93b02310082c88406cda793f30b76718679dc4c009cff23e412e79d782b6d154d76b99c44ef380a0506ac3d78343c7f7beca3d2770302047c435bb50067306502310081f67eb80a0f23380e0edb1549b76153ec2dc89da9b3636baa5863beebfa9a2e2010446278c7474fedfd45c2b3c8d85a0230276f28c082d8ce5d5e4944cb73ed594e81d3a2e83bd628b2d8e9f3869108671736de86644d725429d402b68fe3664d2d0302047c435bb500663064023060e566dc823ec3c7ddc48bf44e9239ce9e7b254e67d137ba16dd1a1e15810d3329b26b2c66ccbb119bbd935256daacbc023052c05c2bedc33fb83cfb2f5c225263c22216daa6be923d9bbe65b5a15d5aee1de2446b0f9b56ef6f29cf3389d2952c320302047c435bb500673065023100fbf89891f5f25ba5f6356985bcd6ea345a0402e093c73e113da6b7c2f7e868e319522998c89330352d989dabd536c61e02300f0f941163719b3eba10cd823f282d469283fbb79157bc2adb41794085c37709d4ea53c60310955e36bd72eee57f7f410302047c435bb500673065023100a91308affea116f951f6cd1505ec69ea1f2d9375467ecb949ce5f296f3bf5ec02d5d2fbc6c19259ee182b5fcc7a1a95702307f57692602d33d2928088631e267db592666ed01ac6ae6cb15fd783ae18413dc3ed892534bd2d9f43b4f6825b5aeb7d20302047c435bb50068306602310093f1bbf95741c9c8b02569e4ae06e77337d088deee2b574a46b9ec0b6de6f082cef10f8b8f9257c57e3795e758f80d48023100f82c9ee7bb769686960b2a859dbc2e6b3dac5713e83f5d7f3060f048b939e2bb52bd1e719e5a4759fdae787494fb79280302047c435bb500683066023100e16c93d1bafcd7b05933f21d93c10e9fc18a3d67d94a649b127a8c2e6c582112dc7daec22dd57cd13fd01bc09190def7023100a296fc65d73b7ce9e248f9f4d8992f3457ba3c5d1c85c144e8d86445180c7fa521b074fc50040306dc6c6aea8b1b6f540302047c435bb500673065023100f02a9917d718971e00682fd8e13dfe8046a3934a240d7a5d51300342107aa547fbc1c857e22572dbae4c81f704638e6002300d454d59b7d955999a1a6e443988d72bc8ef1aac0ae56d32597890b86473829f699775d2da6ddefb6669e44eccb8f2cd0302047c435bb500683066023100bc0453d0f69614a97b0a6b6b1e6ae895dc2be7d7d5c24b2a40ea1be7d1106d111d0d49ccb42ced619144f88ce6c9d6530231009e36683edbe8e112a266bd70a76a9defdc4981e36316d7d32814f5191fec11a072302b2fa7dd8c326d62305b9e693e100302047c435bb50067306502306f8ce4829d686551077f4f828a88059d80d226dbb2a73f2d877aa21bd42d00398b2eeaf0b08f0d0237a69b798ec68d8b023100fb71806400d8e275d846975751100766eeb96a81f3c37488331b02dff5c1efb23c20f934d9c25374357b47a9f7a2d07f0302047c435bb500673065023100dfd6e223fd2b02b661cc91b7ad958d516ff9d36b5544f9e5263ad613249aa45ff494aab658bcebb6ca6b2ef302abcb3b023007c5c7120ff57ea8b48c909159722546c62a7e850d3f5d3b182323f05ac7a40ba02331a0485f719b35b4dd578034020e0302047c435bb500683066023100c58e287012ef537769528bbc3564741c712b3f6df9abbd3e216c754dd3c2142654fe943e2012ee9ea8806e691c7b2cba023100ad1090f41405dfb18a48812cb52de7f61dd849424fbaa1ced21a1e251bee545b4599ba076d8a15d799f8f2442ca10ddd0302047c435bb500683066023100f19a8336c2182caae91e5bba25e81cf27b5405e3cb6931aa26f66748f94287d27f07364f96beefaa60b47f78445084fc023100da4769fd3dc987ac9f037f55293fb4ca77a2ece2e85094123cd4799b1ccc99113d8a589eee88d9096f8803cf2482739d0302047c435bb500673065023020883249c911d608cf63d53f85b173c75e5b7801a506e257da0b6b2e728ebed91eeb4ec211e6a46224bb3a31564b1b72023100c923d04dbf8296a057adaeb0be5465851c26c7ebe71f47a5fc3fadd412d661cd5df94f0b0bec0c9a05b77f092522fe070302047c435bb500663064023049af58e41e2f6234adb5a6884b6cdeee8ca449c4d012f81f7822bb8c354309c2f45a271b4a254ea83b27651889dbffac02303f3cdc2f2b54ba4a4f361338f23701ed7f81f0a6fd83a55ff5b8334b70644508faff47a989c7166a20511519fc26ebf60302047c435bb500673065023020da4b265b7da8d90d273b88f12b6d330eec4312b90c3e0334b70ec6b46f8be1e9bd49ae3470ab7ec9c31ba4b7df2728023100be7c2b59dd26bb2d4bd7dc73e17e8f79b82c75add28f00dcdc2843deb60ad6dbe45b723fe9167ed71af938442db887840302047c435bb500673065023009d6a61f1473ab31780f8afce218b12f06e034dde153eaa1a9a52cf77eb624b9c2ce633be8d001dbd3bdd1b308accc8b023100ef37723b59e03c10d20382442e416a212e81489c10a27ac17ee04f2aae99434e4f5d0cb93b9b7ab801605d9c811c742f0302047c435bb500683066023100bf77bb18337afcca5e29136963a0c7cc95e5336f5f0e89653445a4193e863d38df58cc60a1342a14ab10dd0057ed49cc023100abe794506f31e69f66703116a9e787dadf65d4843ad8f6c4f91586b2d0ef2bc47c43722ac1d12b62a8027ae48971e58b0302047c435bb5006630640230033d0c36daf22f326153c98d01f22cc25b540e1f9d8b6a8600b3564c46535bb32d43fe8d53ff9d7dba2ad9ed6e490bfe02300de8fd492f3f538697bc4f789274c9691d212856abbc2340f1d94369786b35743019cbd629bdfa4ec354c8db22b219ee0302047c435bb500663064023009f5232cb349c8c2609234b08838ee86a33a8b71e14e754355f02d9c2abd2cf89ef334c67f10a2cc2768459da3a06b0902307b150d332e149ae262354808dc28e3c57ca435ac23fc80fbe4887a8067c912a202ee3c0d09dd05569f2bf74051816a580302047c435bb500683066023100c06ce8ee18c649ec99c6455a9f811c763affeb212dacf707d3d7e471588e56db1880a4e5af216e105ace6d64dbc0646a023100d55a07fd1860055e2c56711249545401cbeff3e63626d05e8ead83a5d781f9e2a0c6c2f20a88fceada3d2260c764458c0302047c435bb500683066023100b9d24a2c6f0f980e14dea840bb7a4e9d702a4b20e2eaf183315fa548e781bd711f8f196c19e4f1626b77613fbfb059a8023100b57c58da0c73cf43b4bbb8289c011f31437f96d55d3ceb076b67aa0c4b03d428fe9f738edcf29e832dbea9aeb6b00f1a0302047c435bb500673065023100f634fffa9dd9972064fa7412f37ca7bf8af580313dab9f459974c3350fa99bc135877fc8c5517c86f2be1054903f77c30230587e61861add73af9bf5772545423327d06d5af0b895acda0b4de69cd9eb919b708b1369fb9ee12ac20aadb59e5f3e130302047c435bb500683066023100db8395cd013a6817c3f00990a2ba431012b4ac2c342227a9c83123683010a6d871aa32f965b0dbf63c53d1d3b5a9d5f20231009e7b4eac77f47ebe2de8629042f1f91f293837f1050c1f052f3815612fa68d2196b85ffd3299feed656340fbeda17d1b0302047c435bb50067306502302200dddfb86cc1e6fede14d7f548d47e59c76f5f24d150a71f0209183eb0a6d0cb4de06196cecd39c9d547436e6569ec023100b7e203228c827cb0c88046a2f72bdd501f3eed728a99735079b81f475bf54635defb63c0f9cfc92e574fcf978e33e12c0302047c435bb500673065023100d6ca539480f6c666d4909511f418fcac99d3790c15e2c8b69b5c46acdc0a1b80984f2514f8d31535197124ab6cd04cf402302b197181bfd738a9409609712a0a69dede233005a0e4581a5a50fb9bfa906791e8bd83af27dc7f880bcce915dc0e76170302047c435bb5006630640230198a4545fef5d511c761cb0bfe479d80b68e9f7485ded70cfd5a4e28299acc9074fb2ab1e1354a5486f5b1862c0eb42b023029c2091c1ccb88751be61246d5dda8362f9361679b6b43aae51e10a5698fbdd2d540f61a0325e81f146d70b9e46592630302047c435bb500673065023009a2226a458877219e4005a10246a34f78267b0caf94756c75a719fe2a196a5a322f27b6d7cba26563ec916ba5bdadd702310096d269f252bd6801480366a2198c324501d9017662bbb5902585b61e886d497ee0f9196b90de6730b2e69d4522a1043a0302047c435bb50066306402300e5133112b3ed99a935c6158a30cfc8118758200f1acf38e327c409f605090386bdb2e561bc5b223f5e6b285cefd87830230204c761fcf19fae9f32f1b1ee1639625eb8d9d7e4ef776ed774c89bacaa63145963513c1fa2900f0289044341ae21bf00302047c435bb500673065023100bb92c2ca8d78a71e2ebee88646ba6ee9817ac2b2407fcb264cda5c6226948832c9e80abc55d26b50270b49892014321e023022c2f5edc2ba3aff7c2c4b6a2de9fb058b1c35b8cdd95bd84e8d66ee1b14e4a8312087e60e984f7bcb21cd38530075a40302047c435bb50067306502305bac08b47f2d90d37a3d6eefa929f2081e956b86241343edfb1ef157344dd388721b967d9a41e9a2f483c1607208a968023100a29bf34f1440a3db824b66319b4a71a11ffbd63fa6a10871ebdc9aa2aa0a77942f861d2ddf0a52ef9c023800e6d7695e0302047c435bb50067306502307b9d5f7d56ea0aad82efa2923495b02a0c1f0554a453078b9ba3c591c4a7585ab71eb061a013c5fe27f8e8a8a1822084023100f4971ab9cd27f9e0bbcf3ade2584fd93c0dfe6a5a6bb513f185bf61f3b2de71579492ef569b65312c872022182cc15370302047c435bb50066306402301d92fee32b8aaea43f28efd1a0ca31ec8077c216e5b0a646c0bae7362ada67b32c7a3dec67c7c6ac600fb40b3a472c77023075d9a5da35adf56d584d115f8c59ed660598eb58e8f72d07c6bf42b54039138db457246038e79f18601f70ef0d350d2a0302047c435bb50067306502300f16bb43c1298129b59645dfd19b7b71c0d84c507a14fe01b859060bc8d76fb257ff1ef925064ed2efb2f5b2bfc08752023100fbe4ed6c3837cec1330abdd0de3d89679328d47b2b0e2d20f704f2a26b3d81c94fe1162c244aa7647f09c3f407eeef6c0302047c435bb500673065023100a6acb19a7379aaf210719cb55bc944740e879169eb54dc7328602786413d62c3f8645b655a2a49576bf7391f9a9e168702305937280e586d16c31e318b033125983b6f9460985cf37db5ae08c9349fa3b0df3d138e1e8d79285008678a151f6d1c870302047c435bb500673065023100ab59cc74d83d80f28ecb78e049d1a376e1efc68325a2940ad7b7330256dba9ad8dd7eeb0d8b5a77653a5c60f568c0291023060eff46ac22751caf50468790bdc133ce7143f1f0d34d84d61af7f24c0d9384fda59e1c53d4436e2e7e8b1ab6f0fbe5a0302047c435bb5006730650231009d54b105c2e32e2ef2583dc496e4d8ceabd0e5a2839ece50904fdf2bc8a7699313f5318406f1d5e2ebf32a7c91d739b002301aecf18aba29c06bd5bfb0d717ec65177dd487f59088102c4cbb38aa32b8b8c83038a54a680e74a7b0a39370a4d0c6cd0302047c435bb500683066023100f14c5252e2caff3e3fb9939bafd26103b46f70dc33b5fe4cb4ea9906dbb4ace9725d372b3fe0fe7fbcda1f8d808cc7800231009c9b01928f5eaf036b475482302653efb8af67c2f4acc69ffbca44a7c7ad285b31645e43a80b8d2dc99e679fa97ce4890302047c435bb5006630640230553b456b536f2a234ddb6b9edee3b7d70a4e192cb70a8fadf26c5dcca07da6a28b9f90898040713a53dfb9702bd577bc0230205ff2721a945e8ba528da39238d8307a9c9cd252a3f092225db58eaf03956d5529b4134e0b460cf45cd142e44e8533c0302047c435bb50067306502307c546b9a56866a22be49442ac886654860ac62f97021ea8afe652ab259e285800c8dd50e719852495e554067b6314a6e023100d418425079386b14c34b1a2a85dbe7dcf4e771ced32c30e759c59ae831e34d67a301d57399124bc1deae3d22f1c74a650302047c435bb500673065023100ddc330bca20d660bd8a8068d104197f08a8d8d6930a6a77800a948954def0d671d87287bd36ef2a81643cb36048cf52d0230332e9ab09c4893a625afe46662dedc49aeff59936f6d39c436c3f5599f9e533346b9566c66f08d1eb986edd7b47179340302047c435bb500673065023100c75c9b1cc7e443f2bab5a9d83fbafb27a7c279ad74b84809d4b970576b7a61614fcbd28daf95e78eec736a848ae07eb702300284257be0de74ba274b39cbdd9bfad129371b91c3d3a605782cdb805cf622deab99a0440ace7ab2865f51f7e682dd5e0302047c435bb50066306402306c0b38e8ff9c92f66231d80754faf4f6f5873257821840b11a619b779211c0993e1ca1d131784fc1a643088563dec9cc023059c5e2fddbb953a6b3199c933e5ca086411883fd4053c943d5c9066a6422028cdb49b774e4b4a6eac2f83fe4e3ac436e0302047c435bb500673065023020f70edabdf77fddc85ca8de2bc6d0acc5b0969268f8219c4ea0902dc5ec3a98da0937b68b99790f3782c3d8e94bfa6e023100f89039328cf344e7b41f5eb0c8fd26d5fa46c94a2caa8fd41dd73155e9435fa70a81d9ed1fc2a85ff90440f86fb0b20c0302047c435bb500673065023048a702c3e612c3d04a0d0e0031699ba662e5a96a9376cc6d6b6f930451e1d13f06cc9cffa91433421f152dee4b0a9a4c023100fa53c43834af480db5e23fec88f2ebd4a57f6db84669a7e6eff0261dac9d43e1546b3b9039703903013fe6995cb7fa250302047c435bb50067306502306e6521524d0dec65c2c9b545d788b048f110b6d0a743fbe32b2a7e2bd72d16c31b8ec31515d59b7e2de3a1e653cd10e602310093d722f9a86e72d1963460be301d555c7226b2ebddf2d731c772918025d44866ef4224c5931be1e89779f19e732775a70302047c435bb5006730650230464ae079de7ad9836e1b12970cc44f8ef9ceb053d66006a7437ce5b098e2f47c6ed05ab78841c5fc09bc5680910a72d9023100e3cf866d163a534476220786b36813825ad9ac4a646c8970961c60f56ec65cce177472e759589a641e9445d72173ca540302047c435bb5006630640230699b246580080b7b9d652532457fa97bbdb762c117801f629a74fa5626a28337dafe10dcda2869bb5a3963b14d3faad602300b0adef8fe2df5c6a1310c280b297eb0c57d08907b9e8a4bf92a5567d91aa1bc75f0da927efe08b862ad918260dc2e760302047c435bb500683066023100c60363748695374df08e27d667362d381cbefaf25276983123718ebc9e317850319fbf03ad7ece7f8ff034b73195fa3f023100d16e22413685efae02940b2b4d5aefad1be23cc7d4e56dbf164a3c8573b6112fe4df32b776f6c87104377091f2044ece0302047c435bb500683066023100b26b4b0e40825751bb39062436901342f3c68f5e5b391768f1fb3a1c29c04a2e68a94de9897b6d7b0c2acb48e1a7ee1e023100e93a116f421853079040b4eaaaaf02cae84486fc7d7a4b723d27caae5f304736db92d7032d792d310b32cb07a83870040302047c435bb500673065023100ebae6c1014e5bfb1eeb18800912b57efe713117982d886d835f8bbe3b2217b703947e4b15ca694097ea38874db5ec4b6023074c5589f5ce59e112d552bfe12e0086c3bd8ddb264a1a88408c22c8797fc7d45b20e7d2f324adfaaef16ff81ea8883c10302047c435bb500663064023005dea529b4b56d9ae56ed5fae67d42cd2598f06e867086ef6978c6126fa7f64c2306e0fa7b64d529080124f014ca90a202301b8d5264b58b43fbcc1c24d05410f5ed27054f322c65f56ca8b94918e8709d2abe3dbce7eb0273f6534adfe5b16b79830302047c435bb500673065023017eaa672de4c8eb8922e1767bb5187ff6e8e995bf38661823ad6aae90187640858b51722ba201f509eaa30b1b27fb532023100805f66cb044d0a81084a180bb8db5f1b0bfee5a68d8ba8861aced2607832f01458de71ddfb3413e51b8af9bf59a18a930302047c435bb500673065023100fedcbac2f58e4e6d4ffd17e2bb6cfe4b569a36f4b3726fff0a8779bc85bd548b36f625542c38225a95e2a3284189b29502304018dd4216885ae41b74cab70071b2884b7a0b0e6353ed092d43c7e6698d4c402f5d43579d36458c13040162e15c46720302047c435bb50067306502306eeaf51e583eca49d3b054cef19e23278772e3355994b5ce8219d822f43788841d0f6c635f76fd5fefc9a33cb41bac1702310086321dd422c35712f24e8d889a42ea84a71caf6e6b0e43205200af70c94dabb20da2f57efde4339f4f8c74ee07422f6e0302047c435bb50067306502300a8ad94a6640677bea7b901e1b339ae94b57228f90afb70b4b84c17516bc6b7058f9332cbed267a71e5b7a0f6e3d762d023100ed953256fd389596e8ef82f4d377ef17ce5bce79bde20234f9fe94ceb2d2d423843e40c7ba4b44a022203737e39d99690302047c435bb500663064023025fac06ab271518f3d97a9b6492a8be4d6ce6617c5c9875c87c3cf0efb8bb0eaa6536e48168ff67484ec1b7ecddc2aea02300102c5b5e659bbbc767735452c8bb39a31ab86881499956b8efe499d5521056e94eae33ab2d751aa0765298904391c8c0302047c435bb500673065023100c67435bebcbffd074e107e77161e397b6cd494ec319c2ea597dda7cb42e9ff71fb1a81d40c9f88b217958f9654b09cd1023011447d3c2526f3ab0eb5715058869230a01655ce359ba4e8161adae5237004392ef5d6b8d0e11fe920d7a6750b453bc20302047c435bb500683066023100bf6923ae8d526cc66ac922400edb44804bbf9edb339ad5dbbf49eb04738fd982f01353e3dd204b0175a1927574a10fd3023100fb5fe22e4163013b5933ce77d26011a5bfd653cbe7fb6807c65951040cad13214359cbbdd8aa6d4162a21ebecb842f4e0302047c435bb500673065023100f80756df1a5bea43b37a133d088dbb2e63103f587456ee8a264d8270be8a38aae74882dd33c95b42e651ed0c218932790230672a7a262b2c5dec7fb976d00db44c46972fd6347e7336553ccb0084686faa2f51c84fb3d46c9fba0b84ec22b67eba770302047c435bb500683066023100af18f8112c3f0e7909166c57c870c3ffb599b73d9ad22a8c23ad666b304e46f352dbbf46b64c293e4115c2975964b0d60231008b47d0a1d680c7f0707933df21e2d7334901e2feb50abb6ba27a2ddf3d4fe5702d44d3e294c1f5045fcf8f14c6be635b0302047c435bb5006630640230300ea8dfc466fc0284fd4d98bfcf7b67ed3778e482c3e30a8b004791515a4746ba9c74b5b292d40e7b74f64230f4585902307b0df7854d109e8b1f5ed0300570741facd7632da2e3f52088cb7b2e19494091a8be69d241e5cafc5d9d31ffe364b4c50302047c435bb50067306502304b5ceda14a34b091e68e038710ad8c3c185994670a918ee5be7c1adae2e4a27c2aa5893c6cc1cefea060c649cbb7efcd023100a7e44026ec27d390f7bea78b3a425e47c89ac798fb16f9e165e00db564a89ca87d60e95b7886553b8253b997f7b511850302047c435bb500683066023100b2628ac133e3d21419c8ecd059a63e136a9cd847ba346ffe0c1f724c93568cd0ca5f5ecdd0495e36d891d507bafd89b9023100f618063d97d63c594545538348d47412b4dfac61d61e919aa3495effb6b9bd9724c994f62bd2534b54aef31825b6058c0302047c435bb500673065023015bd48790b89202fa86cdb6ae6c7a0d53c9df23604b9ae2408b313754355f6ea799fddf8c3da5b15b47c694c6f6b5b88023100e7289592593c272d056c216b594d99f958293f8379dc075c9801ed09580ece4aa7ef1c1802f25ddd03b2a02d709d9cdd0302047c435bb500673065023100a8a698203792b553d4cb23706eeb916e64cd1aba1432c0346bf8c25ea31e8b588bcce6bcd9026d524f8a2544e1177f09023031e0dd480bc1c42f23f75b497b1b9d97d8bbfd0d19a6df88a136ae2fe2aba6dea88837c9cd6bd299b361d9faaff885960302047c435bb50066306402300852e14e97aef6e9b36aeb1c57804d86dc3385bbd9f8f7d561ad5d8260339fe709475050bdb3b257c1da5cd6e287450e02301acc73b5d02650319c264711e6951f90506c0ef02925e637770f3fe914caec4e867ed9b788d3cdd3704eac837c8a957a0302047c435bb50067306502302bbeea12ce05e43228d34db867bf2ec256f5edba1bdda1a5ab882ae2b0d383c11ad90bf7fdaaa9dd5e48fe8c079d7d5102310084a408c01aa56dd61cc05a5e759f31743d9d8250ad83c84426d7804e0a321a5f3883367ad74e70ae68761b6c0c587bd20302047c435bb50066306402300a70e18266c862ea3e64d54c9f76c25d4b259ae3b5ac8be755045d899a63cec6b1bbc8cb701a48dff14ad431108e96de023014532b74b243164986ace5f0adee4f8c1316b4f8e4e506a09dcb2f1d150142a95fa1debb7eda4722fc25bf3e527b8a390302047c435bb50066306402307ca446e898ea272412698a9826cd3a032c137b9305798b3d629b62306aec0b110da5cf9891db149a0db578b59a5031e602301d529799c0048126f941a049877120873ffc759bf5195d131a3408072fb2f4a806ff4812cec7c4acb7d9bbd4baaf02150302047c435bb5006830660231009674e94282de59b278f9ffd3056f3c8ced614169f2a85767e670ca2e47bffd3bfa153385abd05cf6dcd8010e9ee46baa023100dee2998cc6f4f24c2a8876ca6482160422055351300d5eb6a5d996c9917e726ad088d9d18d569c1025d6e1eeaa8401b40302047c435bb500683066023100b2a0526af5dac970e0410f62aaa15f97aa2c7c7d28297c0e21fa7b6e0e9af59fc4c714b55af7331adec736a527f67bf1023100eca95bf934bbbd5a34aa4162f72900ad42ef050e86e6d7bc209dc07062e5f46c3e75e6b34def96ed3f3b468046a846380302047c435bb500663064023073b02d858e7e2ff1e41e29ed03eb576fd1660c6be6762761b98b2613bef7b6e16c86567a99a70e063cb5951e35b163f80230541ec3a9d99b78090b3e3c7351d16a92c9529e234f6f09ce91dd948725815e427277fc342302da090cd885e30bf6755c0302047c435bb50066306402306b967962d27f0f19f0fcc15efbe72b0d45e34246c328d517f49ea2b51222121d0bffce73805ce818c0eebbfe55fb00da0230688fcb678b2a3c14fbb1cfaa660d35fdceeb8a426cb8e6caf8144d49b6390a419e3c1655323804708f460d1c722ab1c70302047c435bb50067306502302ace1964f16670a3686540b9f9a91f14d4a0d3678c57b76a77ed6955980117615d8ef8ce730168c516c54458e58cd2bb023100f30f2d642a49614a21723601ea0559c941ca2e71ee1aa569e65a3c708d6c0bf37031f938d113f10f55ac392d0fc25cc60302047c435bb50068306602310081e1cbf4b5c1e6213ac6a55067b9a5d54aa046010c86bc3d4d97e5ddef9bf6ec738f875b93276ea3b280608c4d9a9076023100d025e5fd783296c84080234b975f805ff47df67530f5d2c1292b9933c5ad05316314194793fda026808afa99b34679de0302047c435bb500673065023100e672aa0b9fc047318685dea2d6db5098ef04663eb635d3396ed43c05d6fa7dd3821dcb13a05c727ae13c031663421bf30230025b72c9b79217fd35d4b4e1cfae4c9a07f4b4f62ddf26b08493fa3dc0aa70f618a725d0ed73b7f37aad0829d465b70d0302047c435bb500673065023008e0ecfa5f58d3a106f22e14a47926c6d86daac96abb85a2f605f456f0697fa2d6fed8679da8adcaa28220307b9505fc023100f5dcf91516d67ce80d878a0c80d5089afdb481c1735fb6669437ca67e4e2297b4d25ca31fbf95329bd13dc122de37f8c0302047c435bb50066306402306b84a731854af2c348fbcb84e6a5ce555b7f15ac67bff58a70976c09821c465faf5a2fa5715e85dabfc813bfdae3170f02305eccc2b8240e4daeffc8812744942ed922667c4c4b74d49ce6478fe2a744fcccda763b81ef9411116fe6412de56fc5ed0302047c435bb500683066023100b7f1c68a328d904ee970b8940a24024a8b3499d32315e2b4bc695a941a6bc780f252c192d544446285c066ce04fb9469023100935c2464153fa282dc3917ae3b33239959a33959468ce2147d180f84880a4559be86db388de9ce7f012d9f6e1a117e160302047c435bb50067306502303aa2be5cdd073ece223385f4d2acaeba19fe322a58aab38b2efc6a5008a108cf7949c3ad6e32db171a0c0276a493781f023100dda26b21e643f37cd8011fb0197d1aa6b6715418196d39cda4d3300386262bd50418cc4612b2392d249154cdd6c8f9eb0302047c435bb50066306402300db181960168aa47bb728ea499b7368e2bac5b1069823193066f6a5405eb519c0a4bc6cfd90073df7e26691e361e29a5023015c421973a328936e3a110bde52fc84a812d249c19b6ab56f179bea48204dd832bfb9e16a11fa3f66c911738e43cb4f10302047c435bb500683066023100ef4e273ebe470c7ba69c856bf0b015168340999bd4ae30bd1268ed08d5b1e79a9f2b30a1d09c96d4c4175390d3b7c932023100ddab97a201e76e031ad76f2e854d1b3d3f21eae8536f027b9cdd9025ba2567b3f36b6383d41e70030560444bdc070c640302047c435bb50066306402303ef775579b8b6dff982cd72e62796f39737d575cccdc76662bbc027b527c8ab86710c68699afc1c4f0f619f780a0ec1202302ac9a49bcccbef7681875c52d4cadacc2f3673be456f9272e9711387fc9a3f18b04d5b8efaac4a16f7fe8c782e4181450302047c435bb500683066023100e3a082dc2ceea3a09884b5054fbf1e5e9e47b702a58f8cb8a46651e5abd71718c4d94a51cc2f825cca42c9461e504f13023100d5c83c791b44f6311695307e1854c8b79b23518e66e8046db1d24af7188ac79577df069e67d3ea54b7fb293ed1af315c0302047c435bb500673065023100c3928996087355c99440df2955ce9b42c2eae729bf6655734d6e37086777add6881ff3d813aeb8a75bbab5535c3850190230308cce180595d4b6be33444cbbb94f3d3083c19bca58ab438374ba60c10cd4f9a4d92660e122b3f99aeb024eea8da1130302047c435bb50067306502304a8d99e9ab3b91dbee7be3c6904f11111f2ec08575a09c2dd0f80c0e6c76cdb33ed1e3f2210d6be71e7819b79eb8157f02310081930a740977d7cf230a35d9162ac7465972bc63578cf1aeeea1107b5f7e2f5af889ba1643d4d375e00343ddaa31605b0302047c435bb50067306502307e4d04662855012f9f18a38a2c772f19db11e1d4415642277680c4ca3a37990464a09f380190b33f7787359a31053aa1023100f2e970f8a879821477cd2977f74229d1348d307a64280a8bdce00464b70acf8593d42c211341472351ab65b6c80efca50302047c435bb5006730650231009f3739ad0a8400e6972426a70fab482e5983957f573d68af587e804e2d48d59045462ccbec3578a10d3fea93b2cb04450230290ba31f3b74938d5bfd2ff2dbd78b1c6f212fc38ef38799156d0544bffb9d557d6a1f612eca60389bc7a84517ec51f90302047c435bb500673065023100c0bf5620b5774036185c5101a2c82cb3386b059ce8477615dbafec9b1638ce2f9f6c7c811c3f5b4d3939ca127c38588f023060bb2ef00913fa8cf28f0b74b3cf232bff5f860f46202f442cb137d96462ab8eca1ce951017ad87d663eedd7770c2b140302047c435bb5006730650230069cd99d116985747c09ff63307e80d6825dd425aeb28c878307c55a56f60afdf5b0ab48a564acb5724c98aa314a7918023100c97134a5e9e641cbcbe5f992ac252cb067990a1e63590081aad86152eeb2464c580fd89fc1e1c3393f61cded8715ff240302047c435bb500663064023060262cca11aeb2797529cae49c943bc1014644a7c86e39d8ea5d517d4354a1f6fec13b51879e3d464e4d68ba8d545b12023048fcbfa4408437f884dc717af91a2bc2d2189d3908e220a94c9dd5a46d29f4e2ce1327a3614199897506574fda9bc3cc0302047c435bb500673065023041cc50c4ace567d5457d7a3bcbadabc090c1a0f503792109ce222cf769d945256fef7569ea7c5aadacaa79ae24db9cc70231008a317e60cde648606861d122c4f34fadfc91d3f5776c1ae3f534fe8f4ca67cda3da5e0e3e764a4f3801dd7b966aa61b00302047c435bb500673065023100b9b1e32db7facd2f93b10a5ed7f3a9bd2cb7d88fe8529ead868c0e7e918bcb915839d1bd0455c3680cd65a1c9f6a705802305d55714df6374edefaed27458d2d9d5dab15658cffaed140c079e11f958d153926e8d2e331e6483dffaff1f861ff2da10302047c435bb50066306402302a688bfc581198187defc259b5d8ad5f7428f53c85be9ae752dcb10635f75e5c21b9635f8cb9acf48255a34d0ceb025c023020ad7be889625609afa8515c5862afe6b8159a06ead8f2563273b1ae59bc25acbcb74ed802ac80325f4729646d66f3170302047c435bb5006730650230580141175b3dff96c8b58f327567fb5f8f829f4514d9adedb21934cc169e88c9e3acec8bf24fb74b5533255d254910b4023100f31b5cd52ba43589aa214ece7209d4e381a0916e945418db0c4d6ec8f3c405b9588f6a42c47970f16d1af2ccffc031d90302047c435bb5006830660231008f4aa434a45358155c100731eeae45bf90625957de9102b7c17307c216b1eb606ea51e242b3329724f72e4de18f6f93c023100fa19314e57a7b6673491ae6f3c3959091b5e4aa75bd42fac6ce1dda65f197f78fff58bada0f1a56dad5fe83a4b1a01f40302047c435bb500663064023008beccd60896ba0a9873f311381d01162dbca23ed9e88ff422e059f0f72d485a65ea978cb60f0a6b65b6cd1e9789441d023045e4e0028d6e9bfe0da1378094bd69625d3aac3a8d6b63acfde6dc79e7199a5454429080a2d52ee100d75c3aef79e94a0302047c435bb5006830660231008166cd79e3990d3e42406eb4ff499b558e2a17b1166411733fe424655f3f02d857a587732cecd75fc58262be12b30e36023100e9fd3644306420c9a905ffc91b03642ba17a39160a53ae146fb6e60456b8406f38333f214403e9590b55276c9054c9b50302047c435bb500673065023100a4b14ee3df07151c17e2aea64b634872eafa8d2b89ac0f93eac4aa278ee076fa8412b185332822acb38be2d16ad8de650230105c7342ceee3306db03dc50598130abfbf494be9c74ec26385820f29062c11bcc807f1ae7894fb6e5db1a382e9a793d0302047c435bb500673065023100d5ce827bc23839c41f59d8ff074602cca36860b0902c62abaf00b5ece95e4274522b8e35fa2de0bbdee1231f7b11e608023058019dcb14b59e4b5d5b22019381fefd248df9fcf95ab622be0c8842417827cf245add9936cb3ab28bb82148a1397bb00302047c435bb500683066023100db26999fbbc2c02eaa7cc649c8b38230aa56ec93b67d13d1b9f44f1a7626d2e58a966c85678964af286c75f9818af54d0231009d8e29099d42dbc80216ad50dea050fc291ab6fc3de81569345c20e2650a32e229367808b37b3b4b34170ad6069ab40f0302047c435bb500683066023100cf5fc02716a96a46e3263996c0a75ddec452cb652ee69507148f4d072ea49caafd286a26d946ff0853d13ef645f5016e023100f015f31071cef5b0559aec5cc68accc6d3343f48fcddaaa28ba88471c33496166f438e50e5e32123cd1fd00acb2ec7500302047c435bb500683066023100a57c78af1a8f3b6667fab4c2514054afc7aa4ad6bf2d1a0a5fc233ea62fa9a64d203b157493af71574b27f9447ec849a02310084ad2ae8e0d3f4051a3cc3a6dd763fe7095337a6681c367e4cb940ae69f099be3a2f267ab3a6b3e095c73544c7c7dee70302047c435bb500683066023100a5fff592bb09c6db099a96ad66134e421f0fb73323413914a9d934bab582c4402c4e021cc7129b2647239b318ec280a9023100e23b3444a301ef14a26a98347cdcc73a328c2b0dfc583e07b34e152ff24bf283b2e516a728c2fc2cb48568be675b3df40302047c435bb50066306402304d99268859e990aac013d85076cfbb9f7f71b577affc2ab222c0552903719dafd0c6fe9d99aa169553e6f21d1c79076c023065f5e20b7943111c4682ce059b3b372194f093039731f90b5c5ab2deaa1b85988fcc016af607b405735fd4097f21dcee0302047c435bb500683066023100b2fb9e5be5dd264d5507064de6546efbe9ebd7bdf59bd9a436ec7184f9ef9419b97154053dc49f5516d1e93021eb67f202310080d6d3c6a170e208193a5af1959bc9a3c61960517ddda7934333cb110e3e5792fc26ffeb327c7ae08c3e4a6f22db9b520302047c435bb500673065023100d94f0c028378266312faf1bce0310bd9e0db281444c561deb9eb129c52ee1d878ca019ece57f6f42fdf50ceb47fd881402300fe14f0ae5be3a2f8c653f5e11f808284d069715b7315cb272a3721732651f225a75c9ab6d3297cdc242c88cb0aae3d40302047c435bb500673065023100ad0e264045e5fce98f4c2fb889c66cefe7a143337a4f4f41146b02e4b0d303994a07950d04ca13a1bfbe311c71d8555402305de7572972b154df4490c9b3e8855bb44eb8eca0b2b6ab77d7a8f8a93f14085bcc3be3ab52a3060c175a9d04b182f0d40302047c435bb50067306502304831dc8c3aff5d0908202817db8eca4092fca099d5756a1fcff7e024f0e27cebc19719c4fcd9854ca0eb911b6e42ef77023100ba5e155a6e8d93b8592a6872dcb60258a652bcd0b0268256db86eda30378fdb3bb2d75ec37b8527cf9642c84ee9d4cd00302047c435bb500683066023100a43ed7426fa4d3be76ca13484ae9af588717cd5d0bd1a2dea304e8684715863d7bd4f134c5768f387c7068cb26d360b6023100883d1255d29efe06f475b37320ebf43157057a522ab5ab0df09e3bc6cdb2b9a860a1dac17122316afd998786b33446700302047c435bb5006630640230691a0191f241f37c91188ac1b7487bd069db8850bdf6423ecb3bdf12c17e98e70de4cf9abcbf4260ea0a0121679ec887023061aa7912b46cc64e7e7eb0f5964dd97affc1180fb60d9e8f8e77d579e53ea50550a5dc373ae4c2c6481353ef87dfe4ad0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1d5dbd8549a6b23051d597d0d33476e840ac62b33a33ad7129fe980aa7a42123b69d96c1edb1363b3a7694d312b974a023100e1677d17f4d74727c6ea594a6004aa2b1389ee1434fdf3ed1523af49279834ce8d158ae2cc7cc8f62df2f9a5f5a8e12b0302047c435bb500673065023100e3b4e229bda867a63259fa25764a2fd5111a0d167ba69199784a7bf2be48c81ed9739d7b28924f980afee80b87fdfc5e023033c65ef2f3c2e87bcdba33d080d8fb07bcd6a10c99356a2408e236e43e54c86cebed72a0dc808f30f43caa14955eb4f60302047c435bb5006630640230664ac83d598aae5f6406448c2cf357856a463a4af60464cc3712015a50c0d7032fff8aa35b068467ae2a6654adcd47980230519e2e8ac09025112e55b1a68e7aa148e942dfee666560d3769bd8065a47edbb58983f3448980a36c0b4bc2dcfbc4ef10302047c435bb500673065023100f3f06a1a5d64d3afec65047b74958221a9a785ddff8d346b98e2c9148ec381dda3833ea1e7871c642509d09f8f66fb22023026dc95fdf08a922fd9b5e87b0b31aca055a5d745bca2504c81e6b13478c00900b55b37d8c24f364f7b00a57dd42812fb0302047c435bb5006730650230465626feca72189c7242bf1367924d8f10b1d0a65c0ce9478262fa5a9a6d2a1ff1d0c12aa1b4463213297a0b951e266e0231008afb231ee58992f66e6410f171dafb3500a35af7bc23ad96ee6c8211377236440a72af910db46217b941a2c9e5658eea0302047c435bb5006830660231009c9b783df44cd9546e73140476c2f1aaca4dc6d6f82d9c88c75b4e4f3e460ad558a67cd4b4d7bbdd991063f2350ccba802310098fb44310b3a4903533d9cef258da8cbfc223bff5223eacad0c0aa1c54a2d2d2b9135c28220f72c0ffd548ff098b3a810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bd7abaf5b36a85fbe9c6557e6b73b115ce994aa8aae52443749b6f8e950121af864d9b9f346e4687fc1241a7235a5f8b023030e0cd5902943debb01dc4d5e9952e9b476505ee47368a9b1b2296d2b0fd4cc50784b3bd0b49020cf5399b3e5f85aaf70302047c435bb5006730650231009d4d35f84066ad2763a570049da9028a0517c827a9c462deed9624817b60b5505ece3e0437387b752c502fce25b61efa023032fc7f150a6f84a3b9c89a111d38cb9940b994af09bd2c1eb767524b30bb9d835a186fbd297f03b38e2a7b93c0e5cad30302047c435bb500673065023100a256263f69e074e845521ac1e57a1094d0acf592d84a261710cd849ba80c4f6563f6e23c7613a42ea070c650cf9e842d02301dfa43a6b0526df109119b2d9215d678f310f5f690aac7baec88bbb108057256344a0d5c2545df316fbc86db76628ff50302047c435bb500683066023100f4dae807c0b6053cd4bc99723047ca8d6cf6c7ba5326ac5308a80c08cf70b38cbd0f503d0c5c3b6125660dfe9eb59639023100b6a050efdc1e348746e64d7c9b96a69a3cf029a35767e9c8029ca574791b7c9ad490a342e54cac76141f864658bb50c10302047c435bb50067306502307f3684fd9def5d3320b8327091debcd6c4551944d88f5702248ff9898f0a34d02991b65c4eb2ea9dd5d779f376b6741502310099897940f58bf504de648e21a304c8431e1ef3d5328da1c48e426c943b988aa32056fa7067690006303a504646e399590302047c435bb5006830660231009793d65d9dac6e5bbbb7368b4e800e9a10d2ef2318dd18d8bf40205ec3f622eb73c3a4e0363c6347dd66da3b86b19f50023100b4cc02f9d8b443da1052eb186cca8a790862849a3d6fa32aa4b4460bad2ab84cb354f430576b3d629944280f592820b20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500663064023012ce4546a08e52c3060ba79e3c4b43cbde29a2bdaa621896b32ec04dc964a98d7621317f50eec2df22a1e7278ec0e6b20230210fea67557eba3dfd2054e5018ed556175d73396e3febd5164e48e09f6a527cce4b2e34bda226427c3e4d57c5b281a10302047c435bb500683066023100ffcfb3e563f552b788f684cefcd7b8b48b186267fb26ebe6523b76d92d997a644d95b40b6ab40a4dc9cf785fa3fb4429023100d6fc4524d16127410bc5f29d5cf0c70ee2b80c73cf7832b06877270edd2eb003b31ea4e3692a5adbbf7190a2369606850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306504ce4dbd719ae177485da571c672a553c80db093f6988a7b7b5caed5bf9a1068b6f0ebb753df2c58758b1addb64bf80231008ec74bfd9395b798f6bea08e2080f659b16221d6e9801657659cce8459faf77d3137b0d99150c5e24a2d1fbf5c6e938f0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500683066023100b700c9c52aa31b30fbc627d10ceb1575d0f250e594e90b698d7b32b38d0b94783fb9b6cf96ec86eadfbabd3e4aab79a7023100eb12ec38748e6566872f33b1bc16bbb6d916560fa904a1f0a3729d7b80efc3e953f5452074b7fcd01393dd8947af336f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304cc26f6b52681abd89f296220383c8714e3761ed66dc7715f34a9889236b77eb1bdf726e602c1006041679983867c25602307449ba21358abd57fdc9dfa6acaaf3a6191f78104aaa00307d26cd28fb9bffa6692447d56fb63e5098a794ccb3c1a2f50302047c435bb50067306502301922b2e5764a032c789ea417779b8e9921ea48e1bec1553d4612d3ac9369ea2507b57f9fc3a956e85bd8f0ef79950ccf023100e9f0742b63237ffcd31ead0d0e7c1e8afd030ad5a247b1c4eb19aad3180aa780cff5cbecb85b678bf01bd4006cf29ef50302047c435bb500673065023100ded18cbc3c44b691a97a7d3a045dfb6525fcaedc9c529672885384364f318bd9e32d157b7bb8bf62a7fb5f3051e7f57a023014d3433098c4064a6ce6db5d851ee809e2bf275ff66b93df47400b8e10ae661d0ff77b27b8fe08315d22fddc8e5acbeb0302047c435bb500673065023100f31f3dd46952ab16cb383ad3667c5edcf8f6ea02ffdd0f0ee1be08da4a1606f3ae0651b67fd583f0c3fe24f52e5ddf0e02305eab7e85ec2436bffd9f95013b36d49690c85081e05b4b9106aca5f27e917ad2bb2eac73eaa43cd249c62c8ebc8589940302047c435bb500683066023100890d40056b2e2eaa8c8592c654752350846d20237169a33fd6e4c189b87b4b790a1ce37de91cdf92a5611150c37300a2023100ab93f54de7d1c5bcc67dee15915dfeb450a3b10e5a6a56a29a2f300f7af8b75a2da4ecb3c0b9d6ddcb94c972f89b4a810302047c435bb500673065023100e6dfd551a32096a8a7af433bafcdd018c779438e154ab1ea36bd0d74a76a4fb4006988ce90595da657c9ccb35b03795b0230404d87f4c2b23dbb7c446c90b7412ac95d01d1487866d89374e2e9118f5d461f506f751afed241d97232ddb33ac4390e0302047c435bb500683066023100f3cb3606897e17ceed52359fd3f848844265311f483d9ff8f457a56c96dfb8347c7d423c73b88faf0955eecb96b4aacc023100f78fd060c79d11ae5f2ed4cf0e3ffb2c4296ab54d94981b10a40df1d7b9560ff738f0e235fe6168ebc02c21f75dbd3000302047c435bb50067306502300c30f5f62a677f031acb580f54766ae341d8a51625f96e13407890a72777fabb1f18eb2358f9b9fae840320efb6b8256023100ff33c6e18635267a1671b438e9832a86e8ac71338c8501ff6212a2773453748b2442c13ef0c8c6791229675c708ebbcb0302047c435bb500663064023046615d3e5d5a6cb7c8620b6e9723f86091d3466bd1bee4bfee2eb38fc3793b13c08ac5316bb039e1bb6ff1c200bc23e102304f73f5afc50d4a55a9e3f5b092babab90956082d28176fed61b5b036f1d4fbf53eb9b4069f7202da7d1cbeee234a97f90302047c435bb500683066023100e6c958443449a2d7858efcf171c037475b5c8216b0f5c4d51c201096c1ec9ef9021ca5355310ad311d4e72e35a1f76da023100f0ce212f92b8fdf322c4f491cf8075ad0fd9851c8263cc8d1b79d3250f2a7231f641ee2be3eae5f18b51ed081971b3760302047c435bb500683066023100d5e7121ed4014ef6aa5a235eacdcea059b5597cfa1953da540ee77952f00cfaf8bd4747cec39eba67f44d13dd4070780023100a53a6e830a89d7fc8dc311e7d5ad28249b7361d00a7be7539b04222d4ed303be984a59a8ea96886c08579c149a8b53fb0302047c435bb500663064023009d43e0018be94db1ccd2bacc5ebac8a2873add18b0762cedb4b6126f7dad7a1c65450dd96f6822dd12083a19552626102306315021f876410e0108a819712c557b96b200b469489ffca77a86061cf07f85e67f37a4d2abd9e9f8c8581fa83c5b2050302047c435bb50067306502306b147ad09ae6764270910cfcaa744d2e9637b6f1f4282885a00f2c5bdc80525a73e9c908b29173510e8e62d72cce51590231008e61c34e618fa3d88e4d7818715e0499b17989ce3e4dc55b5a7173a919b7e032b27422fbec32e54c007c8e86b56457230302047c435bb5006730650231008c1424f61efbcaae9488336d17e45a01bfe14063b7d5d981875e34dd4c3732aa68b1ab638859fb60fba7cf625eaa6a9a0230086a41e48bdc15f2eacb381df0689249174afca31e713b154aeb606939ee736bde75237108665fa6b4b6327b2067c3540302047c435bb50067306502304fe2b8cf62ed632588b1ddb97c7dfba459e4dfa06220ccd185c7b40682fd93c7b02e8a20bca12d473487b6f1e9600375023100b924c6e0128b0cb9c65d340154e602adb2ceba1ebf9a163c7864c15165639d9918421611aac31459e3316ece068db0630302047c435bb500683066023100f647ae7ab724b5ec6ef5859ab2182db28640c9b693554726daaf88fe0e7db7746de8eec14c5887f5e1e7e69da37d407b023100c1e0486471c17d2684b9bf6fd136d14c44481fe3eae819bcd4977aca16fa5620886a2592c45453bc045b04d142bb4af20302047c435bb500683066023100a3e6d8613ac5db82475ec755154b58f5e55e4a67d55c1e3fe0a21d35ae6e82f3a18ee4fd94b53499e80fa3686e65b7ea023100eb4a490fc404d16d68dc71ec09c8e6eefbe0bb822f832a55d12258d2f79b15eda4bffa7ecf4503b06436371b9cc464220302047c435bb5006730650230791a81bfda5de16f2a7e1445b8a133c30d959637a2b98044af9de25ddfa364e0d1034285bad028e65eefeea6f736a077023100b782340ed002aa515daaa18a415f4a7d1967bc973ba298995ccb64056c9165cf1a5705201627171323cc0fb8206e0fc90302047c435bb50066306402303601442adee84445bc29e883e247824a5c92f2af910ab20b48c1bc9457fb6b69ae32a368811600e992408e8aa3632da902304a76ba9fc32070d378bd207eea268c3ec4deb96f1efe08fe11590b0d62e9d0bf3d95a15f2ef4b0083efd9caa6cd7f55b0302047c435bb50067306502301dcf7956cfcbaa61c34ec64010594d56f25c142c5db6a8bc34e5500e3061fecf25ead157a7ee41197c4bda1e3371ea3e023100f1131ed3cacfb781ea27baec2d19ac721456eaaa41c1ce3ee790ce5795475cc5a7e3a81ab9a424ae46026b8238d269260302047c435bb500673065023100ac75ad3df5f856899cd80a8673f2eaff7a7d8d0908dc90b8b23a2f14b5f3d364d1d0f415d314422e3c7af2736b0bfcbc023009c0e161c11b7da3a32469050c1e0d01257d3c7b6a6a636331cfa416881bc73cb212c8f087a4ba1e54e2d351082308b20302047c435bb500673065023044b8fe6a9b2e844ff26b1e34da032e5f282beaf3297db4344c88c52186a3f2bdf359811f50684e2c7302f3475dc49994023100e56cbaf037d24b53731e3e24f4e4d341a0f717e737d53c88e961e324ea3bd5bf15cdfb5074c50d72e053104b44b491ff0302047c435bb500673065023100fcd492e853f7bfeb60e58434c03c91bde6cbd78f3342aa1b13a59bd4e63381443ace10379b00cb4c2b6ac42fd13904eb023051fad6eb750ff27df60c44cfff2dc25b8c3b1ecbfcb3f9bed881f7dbe52f72c5f04c6c8334aa1cd1cfd9963b976f5c2c0302047c435bb50067306502305bb85acb148183495f41812883210a4bc7772fc779dff00c8357f460d48623337d82883521f895b752e93d3ae96e7985023100da1308d1e01f8b9197049909b4aeb18974f3f46c4d3b28652c16e80b58b1bc269562707ac26f8d35fa57a9168bf32eb10302047c435bb50066306402304529eae55efacce0f94d6df34e0e0dcfc8077df08282efced56cb05e43f72707822ebd23ce5d20dd7c42ab862c756b73023004ed917fd39838548715872a00553c6a377dd38afe5ebbe48da85f37ac8eb6ee92b3d5e15ca9923cab7cf3dee239dd5d0302047c435bb500673065023100d9978c549a109cc11d79da4204ae24f52ce0cb33dc9e5159ceb676cb4deac7a6fe3a6947ddcf0f8feee47a42b9ecec230230044bf4ca0cec101a6022aee9d81aa8661f07ebd1975448e276833992729905597d666e185ac0ee4f26db24c7c9c83c760302047c435bb500673065023100fd69ca7298a53bd19adb09f62af93e5ee527bc5bf8a0a8a8286fa7a8c90fa947b5cce0719f58006dd17900cf13465e2d02303c3cf0bd33be58f8611929a6dfa7907646c055b9c275041b7090fbe64f0c5f8599cd82bf3f5b6fdc6d6626d7dd0e6f4d0302047c435bb500683066023100a6af9545e133e950e8d84115b9077f5be3471edaffedefee6863e35c699ea4696894cc8abfc58c795a69dfe451b9edbe0231009925923f465db6e72d9c73665568250b7a652506bafb904a2ecd002cbffb26224211ae0e25c7ade9fae77d6fd71d763b0302047c435bb50066306402306b3858bc89ae257a45682ee5cb3ded72bfa96e32c5bc2eed6dbd318b856e4bf5a5d70a4e84a89918f030a4ca08875ee902305ed9306baff52c0c8d40a7e8eacea2d538e80213cd5864fc33586af3ccaea4e12d23b7a1806a56fe3a1cdfd5f67ecd360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023055b205febe1cc057aae5f88b871711ca1db1c5bc788af21dbc3e4268959a31457d04ebb6c4c459f55e1140e35476b3a5023078e0e1e4c7b7e6c563bfe1b67e7a8eef9e65e523c42edbfd62ed92dd02bec57ca95c44bb20d6f375e56f6ec28a37b62d0302047c435bb50068306602310086c442ebe989929a78af9f26e833dd97e7379fd45ae25b4e2503e34ad710d8b8c5986c7b465bb9699c887f00836afffe02310098192c3cbdd89ff60a472b9537a0ba37fe8b88e9ed69b70d62b82fe320d0b9a06111721ab0763ec009b1fff8d587dab10302047c435bb500663064023050c5d80507cdc7b216d8322ff1ce8a469d2aa0102db0ce543163e8f24a58c40cbd0dbf2b31b8a95f07f039bd94387b6b023060dda0f75fc49fc70cb20a3a1b32c77b1daa2bd28e2e1547c4e9b6cd0d1aa1a12bbdeb7af4607cf97cc5b411fdc4c8870302047c435bb50066306402306373809adcc48fde99e2be2c2bc1d93e9c6e5f33b97138e1f3745e85e9b3236de907a061a860284515f82f042fbdfe5a02306fae70c0e4f814afe466e13c3966ee82d166332db40767a9778c182c7401503dd1c4bc865352fa18349122e493d14b940302047c435bb500673065023100b5ac1f7f16655c40cf97c75f1b72e5461cab07e525803ea9c6682504baa12a0e9ba0d11d73cc92df253c29f95f298048023029b4415df2f88ff8b5b1d50751b5f4f91941bd70d1414254659447d1aab3bb98c6d067a8d0d59b2f29059fdf42b269920302047c435bb500673065023040d6fbc203adf170bd75a125b011a0228e62388004d1e9aa57d0203b606f171c524f64b39ca57545f85ecfd7f37b5376023100a5e329f8899a571af76f2cbceb2a0921c3c26f3496091e434155de43b690919b855d2b58d9db7282c32ed3f52db8ebc00302047c435bb500673065023023e9a315259fefc9930b9fa7b51381ac473d589db40b9f552baafbd7ed6702bc6bb2d7a4cf5bb48d69c0a17a76aae0dd023100e3ec8271ee7e4780b796b0312db3cbd5631001c2bea93c403e978c3a7d2159eb48b953ad77fe9abc64e896585b6848420302047c435bb5006830660231008ffd47e4b349bf55d50b5c8789bb103bb7eb5f1fb70c7902dae579eac9c2503fe8748c75207a48dd7ba9fe415fd6d306023100b85c8b66802b4998f91e9ce891f343cec7f2fd2aababbb46393e25b5782b8c0e9c54241b54e0d07a8ec59f4d869304ea0302047c435bb500683066023100b4d27de2fc72a2050eecf23907910f90e7f3247ced1008fd2cd60343bb6377b58995f03820f9089577a46493fccbeea70231008e3fc8e81091da81f9e5dbcb202b323e07f579b6a634e48a90e782328a9f76cdcb40022552ef32f3f8c2a1edacf862d20302047c435bb50066306402302a3a56ee9c11477c5ad7f666a7711fc905a9cf22c94c273ec77d615ba88e5234605008e7b94e311d3becfdcccc3d1ff9023045266f614ede54a2507fd8173e2a51edfa58bd0a00d66d52756df6d0df6964575af27367e8df05c7c28cfb7f141bdd990302047c435bb5006830660231009416f947376c5676d2e464ee52db1b9e7d3968b37984b0117dcd50268a9eabc0590f92e5be26034fd559d414e336fac6023100bf55c5942274864666eb057e5b883984a8544e958daceee6051a7e8b2bd008b019267114860df64f67dfb68b340908a60302047c435bb50067306502305f85062247cb4f06a21d07de84698378e162e2d0697dee4e1fe303c6b4326fd9f26a6e8a691162bf441e6caf4930c0b00231009ce7a23e6a74cdf4c454907c4dad7c37dd24e950629248d7c8157ecc170b89fe0cefcba428c6f4970b71de7ecc48772f0302047c435bb50066306402305f1d86e24dacf0f561c49c857b5ebc389ace01fe4b1bf64a56d2bdf5395ec8ef3b852d8875ba950d2b56de2831bc901e02300390bac72b7c067b657ccf490872b3248ec9074314ae25163240ac086daee1b9c052024a45dabcd9898957697e33fbcd0302047c435bb50067306502304254eeff8e6ed683a45d1ce8bba67a9cc2e4054b4e37be4899df80916dde15a67e5c4ea0862e64d4f3f0044e50be1f12023100c6e4f1724168449e4ec055345074760857c645da33612d0077439fe6483c8a6649912f8ada15ae9088677d314a09a2040302047c435bb500673065023052b06c6b27eb83f84070de79fea4ad78c6a5a2e2a186cce5065b3f73bfa5dd3f738e3d5fcf52c6bcb074eeffd6d9f97a02310089919fe0ad849cbe9f458c68f78db3bc39db3c7061254dfea6d40a4eaa92dd155442c2854afd3d1dcb88f56581171eab0302047c435bb50067306502304836f98774ada08b84fe37cf27deaafe492e15a9ddca4a44e22a61ef34377587fcbe9225190855a31ed8c52933e958f3023100ef200b6c72a01c9b2317b21ff4422730a18111eb8e6a8a6a9d427404e4129d2b465cc4f0d2677e06bd03b79ff384b1620302047c435bb500673065023100a8060d6d42d69e48e078120fa48113dcab5695bd3959a72c83103913483cbbf9451552f635ed9bbae8e99b60f22a888602300f7a037e4639ee5b4e9811777afce2725bd35ea767c72d705e0ddf1edc98170f7ef217a7ad0a2acfec32d81e437d4db20302047c435bb5006730650230206a4539be39e2d233df37b7b3851514d3db7c1986920189c6f924aa36d5e5872ffac9274b8175e52207d5f68a87d80a023100de3a7227941d53176e21d9034e2d5050516d34f6841bc0df299085fbf2ac5fa6d25ace27ad65ac98c7817002d8f1c1ad0302047c435bb50066306402302b1eeb8e085fc5db5ca7abc6cece03c578f1c87470ae8228dbfcf12599ded9a2f894ea1ffd4d7390095f495515c8ee770230129a2ed22692c9721b2641f79588c3518df96013b0ca4cbad8f3fcc2487a892d62f233a41860e6d5ba1ce2b31870714a0302047c435bb500683066023100da5ed217851139e7cbfd5153a4e3c7caa7567c4a675f964f8143cf7835aa9ed9593c93919ebea4815d8d84a4f74183cb023100f0ae2fe41982b553a17a5e40edb675ce493ce500bcbf02c5e6853ad8621774d78e6ddff1a54b40cbc2117fc0145b7fa40302047c435bb50066306402303e441f4a524e96906b6cd95fc6f152ffaf9dabbc74c73f9b88db3e826bf67f13cafe52d32ed5d2f29ba519d3005d11e70230407722292a30bb7ec0e48ac508d3b2b4edbdfcd621217e3936541008932694fc550fa516d4ee0f696ea35bba4e6be07c0302047c435bb500673065023100f8eca985bb7620d6486080ed92d140d949f2b781810f6ff86ab3d8661f47a8f2eca61647ef562a9002d77c48db43697302303f9c3f81d62802ea8612dee315d9eeec8173282a02eac4167ee24183e5322519b13f63b6e820fd1a2a1aae6a09170bbd0302047c435bb500663064023063c7690985453e84c9e5e34b361337cbe75041e93386ab81da08c26b42382b1acc5aeb89bd282d5ace8a217d1ce3f3b202300b67d3e7b6b044a51762fddcd502d5c3a63de89e46ffedd728cda6fc5319b730c8f1ddd65efb2c0df46bb112555e02450302047c435bb5006630640230573c83a8aada7199b840ffa4f80c93a4ed5e64b9b1612f47fc085da20da12d4c971d13427e11021da74d85012c0d64f802301f922505f29bd1f268df306819e088bc7308a16a91522479ef446766fe960ca60844d29d7062d15e4cb50dc4f8585b810302047c435bb50067306502301246699878921a20f721e08b9dd106cfab8f970fc01260c69fce398999e131a81b6b1c7e512828038e31d8e9915702de023100e9cc501550007aa09de65716838038abfd0f9e6dca84c7a8ae6432391fa3ae2197759c075ddb3fe2ea74fb69c3732cea0302047c435bb50067306502302d3cfdd1bf7e6b62f17b814a5ce99db7484b235b2d56db7cc741b5fcbd842b40c70792e0540489041c8b416dc3f18dc30231009d6365700cd05917e2d6b7f894c6f6902232c8cc2c624a3d05029e3b527303ed3b5f0f838bb28fa9d4dd5598e886d56f0302047c435bb500673065023100c13a24b5bf0669dcc2afae4580a0dc849913f7446a12bfb8698e863ccd5a1e688a1887b55818152af3a41fd34df5502302307be041f77901ec557b0fa3c66c69e8c6ae94f04f37d342487814f3ab3852690f51cf4cb2699ceaba186698bcca1c71800302047c435bb500663064023042ae035bdd7d6e03d819fb5a9b6ae1a95a211d652c0784926409d8313c27d42d5c773eb1a9693a1f5d9a716ac35d318402306d80dce3a5f4ea4a4122bc97a8e050c2cec4b6708b04233010ce45f6e4510ad37ca4daf9885595a83a2fe2602f4c605b0302047c435bb5006830660231008e01e6bd3026748c8a83927a50e7015b902224d4fd9975efafe797863db78968b9ee150eec79eef76652964bdde3c3ef023100c21ed5644ca57576672414ead19884cd0b57daa0f84795efe8cbaced73722869bd9d6d9da4e94956cdd8e11cfb08703a0302047c435bb500673065023100854fbf062a245f4a291e67316530bfb6667e615dba0536fe26f9eabdbfdc536562d3880c92ca95ce98c310a7c08e0dc702303c3154a6696dc3f5936c2c877a4ee048cf44ed0fe40e3f71a5100f0eeb73909556b56036a5769c428548644bb06dc5b80302047c435bb500673065023100b01d3ea807729ed302f2e60b933b9a3c40f716aaa4d2e7de7d7bdc7bf469faf02ad02788558bac58121e0ff7c55d3ca402302b212944f16a5047a0e666001709569010449aecb6836a317e1dd9b499a574fc8aed70630883c48be8bbe7b03022dcd00302047c435bb500663064023041b6a9c68490baefcb8058e97fe452263081160489a1f27853aa3e74350f6bc91fedbcef83517b2db63aa35c330fca8402304ba3b598a64db45148b2eecb5f2b56f6474d8763d9f27daa90bcb44d8da828f82198d8443beba4cde96fea9b645d96d00302047c435bb50067306502301b23ab89d88c3c226f52a92cb20a0dc9e2d47dc0066b864abd65282cb13b16539e9168fef5f2aefeb106873f0da6eec7023100b808ef7d8aac933939b723485ff2e8dfcecc5b31ba1b66351970767d3561445a03bcb79f47b2758a841ffecae5891f9f0302047c435bb500673065023100e3e8b04b0837736148d43b52af63b19de26287040950fc94b270e70fbc5986f7f73be039acfde7928c0c5b9fb907dbf2023024f5a3cf19aa706eb56db8910f8cd0f3904ac404df9ad63c1e2546e2ce75570f844328dbf93cfad8c47fff7d097629d20302047c435bb5006730650231009ed5b28ab0122efaa557fdb291eb704ab1c505dd4af8c9acab196ff5d6cf5228ce6380da9a98be13645ed314f3f3e4a10230775957f24f884337c44777e90d0f78eee437ecb7f01341029f2536b6e74599535c9b8a3276cccd022e167d179d3cb6520302047c435bb500683066023100aa906dd47250715bc29e8b66fbed4e1ed9c0082ba4cb3aefa6e665425fdd7a3a1d85aa0b50b51d18bdd0e13bcfae228c023100a8c0801adecd65e1fba2b7113ee029cbbfca8729183ad88a500a6746c5c5c3f856bdc22aae43822b88999526d90094510302047c435bb50066306402300337bf988ced5d42acbde1c953f7c10a65635b38627409b5b12218083c9b10f9f086f40e9d94b8b12cb0ab657821f03102301b6c1b662395a6c8f164203e1cec71c1daf41aebacaf805c12a0fdcd18e067b9300bca57f74365296b459d3eff7b62fd0302047c435bb500673065023100c44c9c4d11d4e3e1c66a0aa8c9be019a63018f98051e57097c848dee1a6d033092e1853d203d0317389ccc8babf8150f023012d3fd33e86681b8527792042867b2e270eabb955a752a438b65c99aea95c5c5498ac223e226928b68bccc1175e86db90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c74aec240bc2ae69186fe8a36ec792bba95acaba8501ded8cebd802704a3f7a01fd83dd7a339e5175ccf177100f42723023100da9943664905477471290c8bc0c2d209a2bfb5a17a9e86df1e78b6d6f5eee16d0ea04547b2ff7ede122e7ada910533cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023027a36de0cb1a2fbb4a1cec22691ae34663a054b0037a45e1ef64c4ca79f93aa872a27caafe02b8e9990fb8ec9560cc7c023100e3b865b5e815c07554f8f98ff17efd2c0e32b8c44e40ccd4025209414381af60752542f9f92227059fcf68fe02bcbae40302047c435bb5006730650231009636c291a753a05179528e8c1af692aa186de2f7b57e9cb81a2d8046d576fdd882ebad94a9ab3809c76cfd6d2f2a33c8023053ff5182c6731c070a65bebc4c8d3e534ee3fbdc7b852c9630d3015b6c8f95e6978f7e44cae5593ddb47d3d75b0ffc3f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e8ee25aaa8b65542a6f4c90295334272ca798dc21ecfe8bfafa2025b8621720f4c37a5c57649106d854d34e377dcdd43023100e26303f5ac88ccd30f255c5198b5c5837d0f997c557d06bf39eb19f9f4d3519c6950f7fac5ad073b0e0bd41cd078c35f0302047c435bb500663064023048ee557e7e0b0a3929ea5f6dd53291b90a9d021645f28299abcc4e42a6cffe69de7f7936784594e7c87f1e7a441e0d70023007cb90b113dfaa21d45a487385bec91232baa5a99812c2ead8ec5eb250856b1582e732e997954054d8bcb14f6445a2b00302047c435bb50067306502303df776845a4090dcf0b3f1bae887c71f4dc0d1e2fe667ffae8ed73be92aa4870790056e56adfcfc5120248aa3165bed3023100ca0183205c930c935e22873b0387a0ff922aec7ce6310de397cbbb3e6162ab3ad9c878d11c1631c865c25b564e2fd78a0302047c435bb500683066023100e942756a05efd7b5c21e6c39439f82d47b2367890369ed6d5174481d668582be5fd6cf2659ee3ded791be74306180b5b023100fc522b79055b542b90c8ae1f5005f1781faac915678d73fc6be4f23f7cbc23808d6771d54d68b42088a6f6a02a012b790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305918653466b501d447bc79b505c219486e9e4a2a69f5cd96b1dd66ec4522443f011787fa49611561b521ea582b4d5bf90231009e07ac27d9bf1e276f66a7d854968ddb885b376332246599da623b14df46d78654d2fd70511d770646881eb050e3c4620302047c435bb500673065023100e39a21fe6da45aee83c7044e8357da0d49487d9c823838041168f40c25ae8772f66addfb6a440598c0083743a58b689702304ce755b4b563cd209440a9a66bbac6272e5cac4a7ac84a5acb0291b9d086acd0558b92551aacda9593eaec5d6ec800990302047c435bb5006630640230224391a7552fc5fba06bd3606206a7335837cc3edfa04f9d496f023dcb9f342fd4b27752263ae22c31944e513ef196f6023070337c6ce2226ea596df2dd4cdf1aab6424b8e85e57343a8bbbb82efeda0e1640ee8967c6098effc89b42ff80d0ff0550302047c435bb500663064023044b8fe1c40f640e545dbd4891238ff4ffe14c7bf40e6d3c9d22853be45a59a17ce02d903b819aaccd155def24cb31f9802301462c4216188d7ba827b4eee6cdbc5999ae54c890673904835724ee85b48e5c6a838be4ee41d1285aa3b0672aa2843d10302047c435bb500673065023073bea9bf6b0556bab2ae14e1831a8df8c944b9b44c4a69273dde11be5e5aea97e66658052d81749a71b83eef102d3379023100e5bd66cb3392bf70c67cac213d969693c2c3f16e80285c55f3736fe2165b8d75811f51c2cef2ed578bc8dd568b4712200302047c435bb5006730650231008969b2b35d97a03be43b848241893780c17f2e85438f6818d3030397108c8e557ddab734eedd96e41f6e8c82a9d62bf0023028bf5e619284e492d32bb7f9c59d3d9b9a5821b53209951ccffb49c056763afe860bb816c8906d14edfabe57baf935820302047c435bb500673065023100e654493b4cc2cf14e9141e9af71e63856370107c3e89bd21815854377560ac56b0430259656c968c3a6bb4ba3de848e9023073adc882a2f2ac52cd422cd98bc8f45a9354d6608f4f69a57cb192535cb31300996a3d9b767302d6d17b8a318b0e627e0302047c435bb5006730650230203a7421dee2c9ef4e49b562cab8c44e2dbed99a667c8a2a091615e03bc240b342637b1744820e73cf804ffcb8dc5a6e0231009ff173a754ae94c8d250afadf73e8654c24a17f8091ee86187e37b0d8611bc9a24435f961619e049568abb2542f97b020302047c435bb5006730650230663b66032faccd59a9f86028804f6868c9555bf3769239987db9e83e8ea48f3e6bd0aeab44e7820308e9f54baf2e786e023100b76153b168bda975abecc3d0cdb9864605102aeba176a9f53cfb7e26e9f8e84bd0be2b6a8a516da8372cd215019e20d30302047c435bb5006630640230314a55e0204ae97132da57399048ddb6809fc0173b969ced82250a0a51439399cdd8f27d22269f93b1a62ab4eb32b4c302307e72ea91a526429c423b7b4ff43557fff067546089834bb16a9f44c1976a67d630fb8fd8842fbc3b4fec9c870213c4480302047c435bb5006730650231009d5a320fb14c806812e0588915df3e4d1939634d46f2d5292ec19885820b4b704d9e2b87821bea47d315adeddbfe494e02307c74569160287f9b0c280b7c538ef5b12985eb3847dee7843118166499d4d15d5ad3a87b58ba50d549eeee6eb8faee5e0302047c435bb50066306402306d4c7031c7d9052667cc26d5b0f20b413631e9c592b92390b46d89864c03d43680832bff8f5d0678e09daef253d7d6e2023030e1a723f9d2b0338cd3c3ec71e103e5e2565c15998fdbe2e2f09c4442ba59238c399e1bc485546d8a96546c9337b6950302047c435bb500673065023060d84818e1e30093ef82e9ed77597d9cfcc9a89a184177db1170c95784be2e239c491ddc0ccf865699dd137ff76226840231008e6e0a6b8e510ecafe8a6e0978d52eb897d5be297728d4e5cc9b8cf7ea56e29645215627f883934034562e3204ce88280302047c435bb50067306502302e756c30fbcd4e04117ee1d5e8994aecffc5a5b299c3a5377f30d308c4bf8d8137489d331600c96c437bcfa3bd054d02023100b98a2896fa21dcf29351c7131fefbab5574e1a72f0e98f7ee9cfc9b84e3e4abbd395f2f76ed8b07470dd4b4a2ea807c30302047c435bb5006730650230674db13ac16f5511df1eabfb1e3296538bdd98cd953b5872cca7cc477f773f6dd90521027c327c89e0df553665ac3e98023100affbbbec3798c71fa3216b8f8cd226bd8c946c9947b6a976548d909f378adb069a58eeb125ec834ca9ed734963223e890302047c435bb50068306602310095e175147f3b06aa5d174088de6d68b54c2f96cfdc98b20d886c44e56d0ab1efb72b986877676153744c8cbb71eab22b023100e3d9c4862e894b036746cd7dd584bedab0e066be90547d833e6d1db096d48d38d1ed1c9024d156729304f7204c4161600302047c435bb500673065023100a6166d765d8b56c5d0cc378a0dfe370117306b98454a979391561c5b7b2adc9f90058001f19db01abf96020980e40a2b023055301ef40fc74d1f942d5374b4f274354dad8b8a393968c14390fdee8f40ba1efb95b491e7ef90e12f7365767f5d71b20302047c435bb50066306402305df58a00e4095bcf008e16fec16b96bb127fdeba1500a74c6c27189a7ebc14556a67834223a7f24598daed9657c3418802305d6a92ac95245b010555ec59e35c9ecfc936d2d691ea10915ef59895aec0789f490f4ec9dac594754dc4b25ab2a7db110302047c435bb50068306602310092cadc66ac2f960b399ec9de62dc24097a06727ce69e5ed030af282f3d3713231c6ed8b8e296a057ee7919fb447e9470023100ea8bc5e6a6cb7a874f559c9bd90a8ef0075cda95a76ba6d10c8dc6c871f9ce9a1103e9e397f5e5a9e5e9856dbaa5a40d0302047c435bb50067306502310090a9b8107a0ec4929e7ab540c4d847f9cbd3bc12ffe079740c4cddcee6aef46ae69026b2f6514f0b965966df633bf4cd02303e03968c1fe9c8c41546ed9b1e49b9ef7178a3946b578b75876f1d85f3902b35f6cc154716a04a0d9213e47006df3ba30302047c435bb500673065023100a4162b94a91d49224fc3fd3b90e4b3f531251cdd1526c52987e50f231f35bb6ee466be145730dfde5bfb46d3b15cb29402304ca25931b93f422bfb2c3fd52ebd17cf2425e8e8b45c685810c0e1f5475b43d5432524c99dc2b2dbb356a976a53ce96d0302047c435bb500673065023100ca026ed06f3c0b16651e253c96322d59959e3fd13e25297f7a004be285fe04ca2284eaa3b298a6dc0c5cbb365710056702304d46a77af87ab097699ea078e8e2ee78ff288b8418224f6a2838d75d314fb98c1bba08d532f75453dec380287accd3080302047c435bb500683066023100bc8f798721c36f11ae3488b6373d36fecd119a2efbc1bff677533cbc024bc276c6575ce4c4b1b0c747812c15d4be528502310099e85ac7c44e4a7ff5bcc5513bee80c5079ed5d0cf88696cc9a03b376d65eefed972d44014b7118d7b056a69acde0bf60302047c435bb500683066023100971007978a0d85521e44c9a0367cdec876b7ce15d77c7a1f80d275f14df46dcc02a4a93c39c8c99241390da3d578c8be023100feebc269cbb0100d6cc599fde9c1796e78378c0c3836339b641f108b1762455e5f84470a292c7b7ebc137517307746cb0302047c435bb50067306502310092dd5feb0e602a2840d2b6bec307844843de6001849e60400e243392e7d0fe9a6205eafbf45303f3e8528596a1eafd290230250b76ef2ab427b889c12b4a060d476a31d1992c36586b5fe70d52600a66c8ba676af05493922929958e769b96ff411e0302047c435bb5006630640230023a835d91e3df058dc08577d321df9391c8885b8dae3d807cee3936b5068c23ad532749dc48f40e3eb01105695bb2cd023077b2958fbb5aebe9631c1bb3f53d3502151a2cfab543c3d8b9636b78fe052d1694f47a1eb81e46f0bb996d261a76c57c0302047c435bb500663064023056491bafef89b4e732c9e3da912973d828f8196b2764a0ff52e86d0938029422ab369f3d675b2a78f039833e54a1515402303b479313ff59914a39ad4d0d04f78f4198fccb7bb43d276c3b19d124f23922fb20444b864329bf3a9d785199459c15420302047c435bb500683066023100e58c1bf6dc356fdb443221b9bc50852b0aa8f15d78b24fd1a39f70b74fa8234352872256b58dea25d39a09638f1aadb50231008794b31fc00207b35c71f9f3db13cac1a6da8ccb47ccdb40dc3f019b3578c86b669b2557def27fe1004bbd4326ed84930302047c435bb500673065023055c4105893faab5591dabd9a9d55d9634f3164d5f4d5e9df1c108e735e1ab48b94c49c6eb09dd4e1f58b9fdc371d07730231009b76884715a3794e88626188e454d7bf9e5c4855eaf593013f3cb01c2cb9351da6e378dc6cc4c651258c04ed1448e5840302047c435bb50066306402303eca46e55a1458436105e31bba7aae6e398d5bd40fe46138aa6e203f9c6552cc5d1bcb647e3ce3b87f54027188a9040d023027f93bf66e827f404958eda6466065d212665fcaf75405d0094b89fcc5bc8aa350f142bd38bf8889bc184fb2e9a7a63d0302047c435bb500683066023100a98c6c7d7102aa1cb509b9e611b69a2bb95488742ab9ecb0bf5e44960387deb187d5257d3d1a0845809bbb99c3b0a953023100805044700624546227c55d2efd4f4d839116803993eec0b30fbe93165d3c1d211b957bc2df4385b9a1964304130226740302047c435bb500663064023006f3ede7e1fd0889936c03e1a797b33a4a94ad7eb6d692573e935e68fbc5cf1c25dfa6f27717df1dd163cc3f2f44797a0230346ae94c836756f358540696f50cd7e50a49fa0275143c7180667d05a128d83bc472e2e7680a317d2a2a1348ac3b61c40302047c435bb50068306602310094f2883d9e8288976102d86b67970772d4bbaa95b4c7f069a68517f3f5bf0e2c354c25868cd53bd5bd5dda4b9f182687023100c643429e67a7c7bfdc3afb93d488669271d82ebab54e6bf7a1e7debbad3ec93fe41b3befd7524cfdf0d02993a91df2d30302047c435bb500683066023100ec106c76a5b521ba2e01fe97a37e8e8abf4cb03f020b7dc563cbe327e7674e4eef27b6f65357d82e0e24f064401f9d0f02310093ec2309952a2e0d0a41a14d31f69c72db68375ce6078ab3acbe7f1eaf6d251cbcd0f6656a7aaed919242b9fff42d78b0302047c435bb50066306402307057ed522c726d975584d6c0f11d60d64e037feb5f6211ea71045cd296fcb9daa154460547101e4b7015a8b4c0d8c77d023004aa769d24958c5cb67bfc109857bce2083d5a91127b2bb396d40714a5879ba8ee9c0ad32861b4f800344c3268691b4d0302047c435bb500663064023061ed1534c11af9375c4a5bb3250f7b2376770bb5c18cf44887fa25e56e3a343f4325da644113a5038e259334673d26e70230144c7680f37260a0a71f5b4ab3cdb7188eed388f618fdfeec30f6736f4ec703253fa08b22175bb41fc3167c34cbc93420302047c435bb500673065023100f25888f6010e39965ac7056f8e7c8627fbe1b264f1dca61035aae5d08b08f1eeb1e22c14146a7e1e641e6967b9df3cd1023026c08925deb6408b9030b290e60bda94fdc2a2164fc492a13532d5bab9b4ea3b1ce6350cecda4fc1a13f43214456a1c80302047c435bb500673065023100e5aceaed29e0a2e41d9f3b3eb4f4041e2fe6b343631de5722d9cd5435c360c5e1397f422d9057c31b03ace24590da3d302304ec69775ca941fc050e6e44f05867cb05790adeb4098f98078313963324357d4ae8e8455ae5196be75d860b7d90fbc720302047c435bb500673065023100c228c4b652c57ebe96bd3a49f8f01b12ecffcab86228b708a3b7e1550f5ae272889a1b1c782c81c9efdfb1e38da2c153023024363c59d938f8089b52e61550fed777efa65d46098b21881a870c84ec0d739ced6941b60085cff6358561af52c9e6f10302047c435bb500673065023066bcea2a86a111fcf5d4b0b95aeb2a8410de69d8aef3707998ec3ac352b197b94de86fa78fa24e1f713820c6cad3adc4023100e31338f0c8d0b7b2bc429746c7edd398d45d66a656bd581bff5dafc8a3f9fc5edf996ee63d73dc94645f4aba008c72550302047c435bb500673065023043ba3229cc97cc7e9920adbb133998fd9a2d3c90610fc05cb9c1c4a0141e3b098da7c9ec74eaa9f41def4b4002a2c0f5023100a917116477f2b3a8b81756cc177dd82c9a5a8370cf1601b3f6a505ea882a6b1aa41136ebfc665d82bce2ec2b6fdfc2f60302047c435bb500673065023100dcd25477fda73e831970867b1826985b54536bf976c1623734ffc220e24c7598f7a0f924fec5a1edcafbedcacc352640023060500e85ce84eafeb3509fc00af4caee8b401bf5955e7b04975a42e045b72459e61ac0a3c69476cd0ef6353d181d85e00302047c435bb500673065023100b8f3f0c94d8aaaf8e4a7e550557bf563cb566a543ec48545e6b9e1f2f39b81391a9afb906f9d1f4272f8ce9047c659d7023009a0fffa0aadec074bb40699d41e974c36c8486b99593fb053b37ddb80af22ad7c58adc446cbf4da8e3e2a76d9adeccd0302047c435bb500673065023100df5a81652134caede9e1d4aaa08e67ab2274148bfc05c9656626247eee2f6a8ba975bf56184808e9ee2cd92ddc46803b02300cfc780775530a191764daf08a33ccd7c72ffc49397ed9380e77a93f43b4f277daa6e09b7402b9625f8d287c8731cede0302047c435bb5006730650230374326d5ae1ac638ed63f61357ec452b03fa6ec1faa06cb1269a41f64ace76980b044d51d268e14949daf807c426f13b023100974667ef2b4cf6a55330e26abbb7670b5873206b5bfe82d20a2f24e5eeacb43ca1e04b22cc137af54bdc99aa558b407c0302047c435bb5006630640230712232ed245c00e735ec364afcbd1de011721fc8066c16765e279e55845dbd0e7deb993526f9acf23c6811c9ba1cb18d02305bd97632077c73b797065d6a91034cb5fafe4fcfee8be56f3816d483ae7bc56f339a67efbeedc1df620ec2d2c395df9c0302047c435bb500683066023100ecc5e853cb528f3bcd2d5a8072dfbef07a016d5088c8cb1bace33865523c471c678dd762c821af7a44e18e7d450fae5c0231009c4ca3c39422a2025f571c87287c01f9f7c2962bdbaca6536b6a3743ad32ee8dca7446c9820ab64457ef24a9dba7d8b10302047c435bb500673065023100819bfb72573784bc32e48c6f92447604ac89daea6a3b1cadd34ae544cecd7a47484c5ea397f0e56fe772bb2e923837e40230011eac11b3e1d6e61c6980d2094360dfee7201f71a1eda839f00903c4b647934cca27df9b4afb047de2f7b9bbbb11b060302047c435bb500683066023100a9d13ec74c69be7f27351b9c68b86fd44d5316ab82488275fec93162615dae85b99e7051dc826402b8a593b99fe55c4a023100adf79e421a5bc26d6a26a22fc413c17a2bb6eafb26d3c3fc7a63b7d12fe4941d2014cdf52fccb3a44af79a6646055f040302047c435bb50066306402305847b2d8fc9221041924bcea70c6126cc653c2ad3a08cea1c275bce7450db27deeb84dad1d2f937a31e673dd58c08f4c02302203cb33abd04b77c625ea763823f3f2bc93a3a5b7627c2bc8af22b19ec4fc44dac8246e3d5ea8a901fc0220d6023c860302047c435bb500683066023100f553ab86bb4bbfc1a289815d3c5f6e374a7110e6cdf11592616462cd4ae48d78655dfbb8fe1edf5e3803eb4fc56cdc45023100a2e2c483a6a02c46aae3d4cac2aeb58086a9c7f2bca3a36e90c5bd8cd2217c0be8136472b6700d1d307e3b1c4669820a0302047c435bb500683066023100846f8e59d7813a965c8e59529c11cd7e8638370860f1b6c152140a92710f45346e805d4949d74749fd17eb208779852d023100d92a8013924a5cc43c93e996664349815602c23281e0e6a2e0d951b9895a04294eba84ae63864aea317f7ac19dcb04080302047c435bb500663064023039c82273d157f70a75517c77b8431e2fa741662e03c90b01b88ad07133bc627fc2f8791e92e75aa471afebfa7eeeae2c02307345b16723646b1db5801d783b8ededa45853eab6d909cf28015317c19ffd9aabff6b01c9ca3c24d4eb8b0a5ce752dae0302047c435bb500673065023100db50424c06f41704da695a87518bb1b2064ea47e59a45ce553ba45b14a5be3e75b00ddf3a7f6ed14747b30fa4b9b12fa023036916c34808b1fb582df1d5d6be6be25394771f045706c81e9d705768a2a7bba4e6fe7630e6fe6cdaf8e611c08ec21320302047c435bb50066306402304b55832993525893014baba33f615acd00eca3accfb918773077d397e61613cd21e788e3eaedf1f97b8c23c184e5bc5e02304aa660dcbc7afdf42aba1bd803e9bf984a9dbe86db56a468412562aa41d644421d25d44166152d17cfeff498b982ff1b0302047c435bb500673065023100d47b50d9e4a7ec60808b7dc82af2c8c59af466e53d74249ef0eb2c3c667b70345d2640af4f03803ed3ffe752b9d0f79702307c0374b16a508a8939b3421981c939eb8bae102f373e618d7e223d53d6b4b11324428e6fecfe44c006f15737d2d1d8850302047c435bb500683066023100c466d7aae86a549b9a9182c94f4d49fb10224475f73a3815ea8884c8440908b8e609c781cf031103eba660ac4affec3d023100e3503224481f1cd0bba1c45811ecfb8427b857da81711b78320b43ec161d0d51e8d031de4c28a86db850792dc07697510302047c435bb50068306602310092e9fbfd443245ae73757b84e54d3498b41fbdf6cece45c15c4d407307074814798a353df4c3eb20a8216501384800a40231009c1fe5f45a2da304e4a72afc2ba1f9c147a5200aa8a33c2169fc60ce549446178b7286cfeda30f4e7a832098bd108cce0302047c435bb500673065023100fcd47ba4d23a0e5310c6a76322b675af00ab284e740eaf025ba38f62d0484d6e87229657e194bcb406ffae0f708cb3ba0230692535a3f2384751eda93bf8c68fa54daf72ddce35422ef0cbb63e60a459b49eb03bcdb6148557cd095dfb8089a56dcc0302047c435bb500683066023100a719a9f7ed0f1afec7167d2c424c322bf1605918848c2e20d3307ecbe450e06db1c82e065ec8cd146cf60c2a9743d52b023100ea711fb8cf9b264b2c0117dc2a980c2f6d8273a597560576bbfca5d9532f7c619f795f7f01e6aa6ddbe7a014de4da3380302047c435bb500663064023066fb6c46c3fedf2c048aa62dd8045c7f4997acfbf182f3ecd4c65f9bcf452a52758b45854ffbf7d20be4a762e93d621d023004c33dd269824e70201956f75ad61b8f993ba134aa44d22a958abefd12fd498eeff2ad7f27023c36dcedc09e11dfc2260302047c435bb5006730650230241b6dba32c37745043920b03a8dcc064ad95ec32fce390966201f598443a5a801817efb4840185705000404e3991ef1023100ec9cbc0af263b70eb10b1cf2c46a72be037c6d87b48e3daa2b91811f69d23d2127f348598bbc1a874cfaca4cf959048d0302047c435bb500683066023100e10ea3af43d8779fa4a43fb3833fd0e9ac5111cedce4a3b63aad11bb29beb597ba667b27285b8c54210f8a578d2e0714023100a7d2e336a0d88bb163c700940a6fe95cc479cc5393a018e7d232c72e68b630464bf7fa77d1628813a267a59ab055ffb30302047c435bb500663064023076170e0778f9b4a320b9c40230d43919d09f223e117c84112a8f12fd90596289224b88834a7ee4dba39439ed089157a9023061320dddb6d263de5ee46e419f269fdc50c969413cdaadd101eea67c5ec38262fd996e9370ee455838ae49933f6ce4860302047c435bb50066306402303f861ec4ba26283a2e2de711b43a3966ed7e1abbdc894ffc27b51fbbf1c5475a5a6f3bad9013db5cb81396220a6a1d260230035444b3445e959a5d5728ae33adde15ec256d5a5280e81e4fb1ab6caab45b5d8648e61758db8bd9a8fa6bcd79f67a470302047c435bb500673065023100e2f588c032f651af60788356ac57dd091f0d0e2df74364f16a78b6e540b37db03e971bfe04e2fca98ad7eed6592910c402306bed38665a13938a15dd517babd92e658a04ad6873c6db03594787aac7fb52eea7a10934dae302337c7907f52dee3afc0302047c435bb500663064023014403405f0de033aee188c95b738b89453ed342b7bcd9f3d4e8090b9ecad61f64f57b965f94be5788b790d8987ef535002305677ea5c24d0148ea2f8a71e5d318528e263180043ea750fe3a7ea614bd19cd222eceda6efefd0c18e2b77d9ec0f9f7c0302047c435bb500683066023100cce81180d5bcfbca49730010999f80d183306716b692c4784d616c4b06524766adadb37ab04529f01a718f97769bfa5c023100e74e613f30c873f93eb7c2a8555d600d49256b83029588baf6569ede41b429c74a24b65070477f66631e0bec39bfca1d0302047c435bb5006730650230246d71bacb62704b5d1969d2690b4a1acfe01c2e11bfbabb9e46be3f45fba7261af8034cf7d9c6b48b0d0d4008c31e9a023100a14d2239f9d8b84cac5d7657129b3de092dda42d95a1aae6a78311b566f6c384fc3de80bbd2abc0931ca759cf223f7510302047c435bb500673065023100c94ff7e37f62e5a06d398a46a89b6ed1208202950dce9fda88c65bd3b1802700e5516b08e34932d8fc4805c85a196dc302303f1a5a5ae1b876f7ae0316f531e79b90838c8e2e2d720df46a9e70d746b17fb7d8d9959d9d4bb3b9ac46e82f025e6ba60302047c435bb500683066023100e4e2eb8f6eceaf1b557d2d3020ba0ec198a6767fdcae4cf69736115e82c0e11d3b3f6e9668732b7bf964692d3ce8aa82023100983292cabee205b78651e9a43bc864207903ae6d9b7623442ad7e2dbbf60fc052e82610d2b457612e081ba20f169766c0302047c435bb500673065023100ab6f5aa4a4909436b835adc0858754438ed9751f9bfa0f41f2f5ad43c71ae7769b7c65760cb91dfe73fd0261e47be88a02304260de9e011c4dfe36079617aa7ec839393b65746c00744103f6e8a5b129daeaa290fd08fcf95c385b6b18affd95878b0302047c435bb50066306402300a3ce9f315bd5347e56704c0b0d5cd3bb813025db5de746f45c31957bf93f4483bbcebfe46281a888dff3e4f5c7995a50230277ee1f3ae3c9003075bd6a671faf0984c53ea7f915e21b43204e4d1172f6b18b7004d027091aac274fc3b2ea5c850950302047c435bb500683066023100910ed068ff2db2602c8b44fa978418d65fd3d2595fe96f1e4892edde47c754ddb98b78170db06a819d4d7235109656b20231009089f41f205615e2ce3c182bf35b00163a296be9a2e3b88eb0f58a4b4004552b455e63daf40961c6ef0ae5523fc08ed20302047c435bb500683066023100f4c5cc05aede3ee18d0c05b75d971dac430c1fda9fce034192bb1505d9c0363b4c0c0bd6457d459e79dc1ca571914715023100fba995e1b998e180d7d31569a858b0307ce60e7d393b62d2a324acf9fb3d9547334c4df3d912f4c67a6aee540554df4c0302047c435bb50067306502304762344b60a1dfb53ddda1a9816f9a476d90361ba1aba56dc36ca355930e9a7a4a732ead3051a6fc5a4d4d25e48a69e5023100acab0894ddd7c5e67117b8b07de7bc1d2080435db40e0c8fec223412ba38a714393dab343419ccdf772fabb0e2ef48910302047c435bb50066306402306c5fe64108e5e5625c3f09115d50e2adeaed1374eeb62c9af3be343c2ac70a44349856fc326933fa1ef262377241bfc702305afc41cdd51102e8408bd2865bd67b78170bdf4d2531a2c51045c5e0e251ae744177745e1b91d204227ef453fdc90bfa0302047c435bb500673065023100823003c513dcfc6b41f46da8b391e99b231558ff6098ec2bb4fe25f4ecd74c63f497108a76a15accaed2bc18664889330230643d3a335426c397977a165b6a8a6038c308eb9b264a894f61bceeefe0713bafaeaacad76b4ec0abb1e0246465095db50302047c435bb500673065023100d4ccc556175f6c97283d95adc3c18628571f24e84bb4d88fb1aa588c2107ab8b329ed85983b07c2effa6045bd05c0994023066c410409e7ed1dfa5018859527ed7d13a49b454078cd35d9ac050f90f3ea3c4dcafc1120b93db4a14fe933026e178ea0302047c435bb50066306402304adce686894f1ac43352ca987d3e6479d4c331897660cf69d3ce8693a0cdf2b6f9d1dd64484e9f726da60bca2775137a02303001ba5ba562a0941576bbe2360dc7786b9a78771c69a83eb74552ed770780e3384c27350ae5178d871651be50dcafa80302047c435bb500673065023031bd9323667e057314b5d3a5800d1e489ecc72861ae53814422fa36ce790e3d8dbe5ed716f37f73c5c781f9510d966bd023100ef3bd46aa55c232d6f7b8564e80e0d83b14da94241330acf18d63d18d103e16dfe0d60720665399a4171c29b8bce9c6d0302047c435bb500673065023100c1b2e752ca37fc63d3a43c6ff6369c324355c1efc2443133108d686bad0d8d2a7bf225866bea5bfda2f7a2561c111b3302300597fa54c9ad5533527f9f5db2bc666c7dd7fe37c1ec28f514e490921df9a2f125417c92b137276f8f376320d6e95ac90302047c435bb500673065023100fa2c960603c1cca4b426994c11ff0590d8b480925d938670e93ee3783dc701a4af3b6d75faeb8680bd85709fdeb7ab5e02305cee2326f868ddcb3407a9e1e42826f7eb80e9ef2c6f9a9c022f946aaa8663c08b035f94afb0f37ec1e6504b34af30040302047c435bb50066306402304e868e0de132a71f437e6e3e21780765bdc051a801cc5a05bf24b27ee1fb1a779f9c8988ea8d0766649482083e8387a302300331a6c6f5bfa5c45dfc5c0fd6ac642a35065dcf701702d1f5f4cd84fe45df22f087ada1b15c61ce951983441da207370302047c435bb5006630640230082bfe0a7b2d80d221de60cb2daafa5f628ffc761489a6696f51f90882c525eb4ad0764e91be00a2e1a7cafa1981864702301039cc4aeda5608b20de80f7c94a024267ee821776ae94fed13af8c33a00e8599864af34f30b5caf62196c8bf9d979bd0302047c435bb500673065023100e94cf33f4d2af90ded2730795ec7fb9f966e6cd43fa05dde4f6091398bb94fbb1244d637e44ba8f76acf1478e1a481a802305117ac754d0620aea8e6de72c511920f8d6b55009bfeaa6c0b5c30fbdb01ad203252f12dc374f3818c085b47ee6ca3aa0302047c435bb5006730650231008061a272f3c5ea766b95f4e74f89124b66686409e69b3248de8f7e29a5b0ffdeae9028016d51687749dd399fc3fdf3f502306ac3964369d32e9a456d486c359c2ba68cb4e0a024dc9b663109cf79289b592129e51f6258ce8b31a95e6ef0777a79670302047c435bb50066306402306255a176a13521ff0d76ccf80d5eb150b26b38eaa2fb3642796ab23fab0b3adedb2fe2ae0976e03fa854edc56b06394c0230753048c8a0ea6944ae8235a467143652e13708453465ba2bcb8a1982994cec3cd59abb0fe14e189490578682466fbb1a0302047c435bb50066306402307db30bf480818cbe23f7f90e97aa1de2ccd23f02cf4184aad19cf1c169065ec2f48cec0ed8a19ac83247939c6f0945de023074ada24c1597609bf78e211c6086aec7e742fdc11078989045d7ff2535420c75e1f2d9f8d9c9452c6142764f6b3817c70302047c435bb5006730650230143967a417cfc6a713f5bd64e07a67434101e7de008a225b9fc2d38e139db2f94e24b0375ddd892fc804c16a5979c094023100a74bc7c8b560aa357871677025410c903382e0fc1a9e017b4eea00393685f9bc4abce7468119dc72f87773a998b379380302047c435bb50068306602310092addb8796f6347c78be6845a1be74e70f92c196a0f5b34a2a2d084f30889e56f83b9199ca4576b7c307cc3151b09892023100a88274e161ac4ace6f5432a02f5a047541e5fc99b49fbae2bc3db4f0ce12f8eabb5e38dc80d6f3ab8ccf67274fa555fb0302047c435bb500673065023036456d6f92adc99338131099f05724b77dfd5f1e1c5573d2f77c67f59370cce7714f22d61776d69fc2ec4c8a33e381c0023100b541e6077b1940a233384ae304b3ddec5a2703385dc7861483d16c441c68b9a3b1405791a4d54a093af5eb0545ed7e800302047c435bb500673065023100db1c55819c81e06ecc74bbd0438d5c4645b388374a5416ca61674564912e189d01871348dcf32f885fb479a5cd1f1e5a02300f4fbee67f2f94eb5867f8459f3322fbb2b498c2cb285f3e26438399beff6ac20418fe42d8b711d68ee534507fe3b2a10302047c435bb5006830660231009ea5b4618e72180433e3fbe0bd1739b1698ecc31e190c546f9066d5bd8afd1b6f129a92d05827d99552991585f9fc65302310094903f1b5b1d1c424490b5864a4d3ee14a9c75105ecaf28546e4c80d719b28acf6210ae94ffe436a5acc5ac8bcdb775d0302047c435bb500683066023100cd0850858ecad30a1c44d6f9f29f0d6c450dfcf1cd56bbb209629fbd5053a26d7ddb0393e9aeba844eae02e35811da4f0231009d832c4ec22075c6af05114235ffe74a790aba74a22b2f1bf49eb5fe798fa50b0608858ac18a81c64f370daa6130e6910302047c435bb500673065023100d4d92b10fc6df223fc5abba465595144e52af381e8db0577ced614aece71f63bb14dd3d411389d0593f4f0db3af443fe02305a812de66e79f83fb0033ecdcf3aab137e24bfe4eb2dd72d4725d3ffbed52b61530231955ae12cd8b5b8162a3133ce020302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306c088fa701ed44a467c6cbc70b8705cf2a7f419629e663da956026cd5dee86530221826ec3f24eb14709d11e332e7bfd0230326a91848e26fee9399c7748c8d45841339c202fa5a90305526d05bfb3bd7f9185c6cb307aa39fd655e1ccc8793671990302047c435bb500673065023100f176cadb2b8d5b579839ceff988e8ab46d7824c98d22a1a552b4e54f66cbce2fe99a6a45c1595b1e59d9a0ed52104a3b023006344840768b57c0e035d4af9e49895155b4cbc95d13e0c07498484a335d35ab6364da07ca2799bfc6c4021682c090f10302047c435bb500683066023100bf5e09e7d3096f58551e7aed62bbe314d9cab3b8fcd8acda677a31c842d1a87e1e2809b98d9011ded9372a9a45f43c740231008e5ca909d52adeb6045cf7265c3fc964f2b322837f2c63a50b997037e0af6c710126fb14b82464faa23c9d089c196d9e0302047c435bb500673065023066bdf42dad12b5582652be2674fec1d9f8d2f8b58fb2308c56f4e398dc4676a2ad71ed31d0a49184a91671dd8daecbc7023100c82736ea5bfbcdd081a121c51a98dbd933b7b50cfd080e09f15993e3ec0f647e0a34dc5ad4714465371c7eb5c9c2945c0302047c435bb5006630640230536ef7768315ed57491593ca61b1ab9fbbcc292ea018fcf8b62ee4470eafccae359fba7781a65249b30704e8f0c07d0e02304af048009a3894148793d6d08705f0eb211dbed546249d5c2ba8054eb67a23ce0606f31dd4c457daed30c72f5c1dc2560302047c435bb50067306502304d1f6c88d3c2213f4918127bd4e8e8a71bb1a836dbe791a2c7552382c36d0febd15d7996e2f92e7fcbb314ceded021bf02310082737d214c5492c3a79b14e51c7647b554df20f849801cbf2289e3c49d2a9990235effb7f182526c6ea2b923588f72ad0302047c435bb5006630640230076e151650ca74fd2032668d5878b0e82f3c73c4f636572fde6eb5f30a135b5386f3b3a25e826472ac5186487dc1cbba023056aa6c54af9e70e965424b198ecf14755694e741c851d624e652df3bbafb42bc1ad87d1e981b56ad5ded9cec3e19cfd70302047c435bb500683066023100d367eb2360eee0e0a448fd3eb7fc5e7f958d7cd3c18a2cca966387b2ba32e21ba4bd306684012bc7bd86df4e6e1cfa58023100be33c01c58e3a57380fc53ee97e22296b6e1e43a7b6b9a538ec929793cfcbd258e2e6aa3bfbc84779b2e6d3654e0b4830302047c435bb500673065023100d95a9d714d82a39984804d9ff2d032d78a617d525cde23e0812d20bd97707b2009044736893f27268509af32b3bb74c302301f15006e8bb6cec3fe1fa130c3b10b0ade2cb02bfff447734dad88b66e82419ba9490e73f267d654c4c4983c1379e9b70302047c435bb50067306502304b46d877c41dc1d750585a8d307e80e1c68c4924fafd4c2c1366d778d10f03caa74ef3c0fb2a931e4e1f3f8d5be5edca023100a5e8d9fa51fddc7f296ccdd902b32bc6f8e54abffc7c79fa72bc1c8f60c7bdff7c6b2e18eebf2e5099ce50c28ddc08d90302047c435bb500663064023079e73a91f8684acd24ded7d7a4231881941ff5137a3f45227c44d9548cd669defd988345d46898828905b7522ad36e52023031b63fbed27abd7bf695c4b6201af14cf1c201ade7e1bba2bbc0cf1edb82326be5b309ace5bb9edee46da03ff76309080302047c435bb50067306502304badd9153b025f33fa088094af931dcaa5d76d8f5055bfc0f5bb004804ddf89d541ab3815204a679e710b7281c9a4584023100d56cc71f4ea1f74cd713f08ee53c5a034a331e67454a3d91e0786fe9f2b6279c5176ee93dfdc636b602ce17cdcbd88ff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023071aa35db5298102c6aadab493eb9269f4633853939a3b0019f3fc25c0d4c694013a0841f8a5d3653b9ac92f7da40eb8d023100ef2ed37b7095a42295e02155dd0d3c79be836d5b088b0190329ba2e04e6964ff982f396090877903742f00ffd9077a2e0302047c435bb5006730650230320a0bec9786d27269e80f0d50e77f5650f6258c8931993596e58e30e24c7fba68db220d5bef1ae66fb9b629bffda6bf02310093d318fffbb72c629e16d3103cc1e7eb35114d51dac28a98eae1c0b2e5e4bd5100f0aa5f94fbfefa7a8a3deeb040ab4c0302047c435bb50066306402307e2ed8b38147c0e505b72cf1a21b8d3fd247b9db07d025348db4c6487c608f7dd13bd353c6028175a7d5acce1d1735eb023075046dd42926042b35fa64cc6e14056b6f50c462d05506f57d89856361139c5479b9261bdfdadc8ccaf99ec8147e62800302047c435bb500683066023100b456366dd0242f6710bbccb0c8f6fd91f99fee5f43a268c11362178ccc2d1b607ef8154f3222735be70220ab0dd5733202310098fe17e7e3fedbd51e57c6c64581a60bef4f86931709d9656edbca0691d32cca5357665bdb082d356ea6ac6d95cba9a20302047c435bb50067306502305ad12f98af8e4a487f4bdf4a0c4cef020d615e4a8b284064622618648d14fdf0e5b893bf61a062777026c92126dfd6da0231008e1eba529343bead102d44e12dc55f43e9a6de70ac5fbbfad6965aaf1c5f328d8f14ea8d3b10af52e2222e515fd9e8dc0302047c435bb500663064023040202e0870c3b1b1b3ab9a60faefe33b08d6f246fb25b2df7bf7c7c6ffab92ff0806fa6c63b282be25380e0aa5a23fdc0230789f93aab0b4060dc39a394b2c7b3d4a521d71d3786c63940b221628b343dc814bbdc6a1744bef2e5b4d089b17a9334a0302047c435bb500683066023100e0a4ccf306d84bdda3c2362c38e71083d3a32de7bee07f2e84bc0397259e61c995a314e372c61fa86813b0922003110e0231009b6180e466ff8c3a0d506f6f4948cc722d42f8847edad239c2ce75dece8b99e3c98e37ecf5aabfd84f4c7ccabd23fe4d0302047c435bb50067306502310097193f411019bf3677857695adfa2bb2093d13412162d487ad0e3dadd52f5f3c00708c5613de3ec88ce7e451845592660230080ffd6dab710f3d43befe2daa54c92bb94adfbaca3698fea95e4772fdb4c585cbc0479be3a9e4cad4ece8f08d6628880302047c435bb50066306402302eb02979ea45a3fcc6f4008b95ca06e822d18baf151743a5483f1c40c42e25333116548fec2fb5f7e9628af12edfbc0602304fc84e4542892417b2cadc744bf10d0cc568deaea610f0e0ab72ee3743272a4d286c5ce5e39e462f67170c26fa902e230302047c435bb500663064023029e2ceb2752e43c6ae573410bc8ed036aed97ec9c81f6a88c80d456589cbb7903c07bfb3ccf1c2b17c7b89474151d90a023026c11fa53318dc128369dad4f69631d790836f6498d3a94185ba6928f1c95daa76cc52d339a983f797a2857f4ac54b140302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305c62f49fbea691a2b2f3a18bc1aba27ddaf0db42635ef999a6c6b407ca8e3d3a2a1efb9178e186f679e57f253fd29646023074af05acb63172d98cbdb6fe8b50cc4dbdb5069e11cfde9b67c4dfb82d2164515b81e624c0c67833d010c424ca30cfac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023014b0241e0a1255faa8b1952b5f11052115145de2e69b2caf6fedba59877325a85b673c58a2d84fa30f4dabad93175c09023078ec0991110f7acb52c6f6fdc935dc481efa5fdd469ee39d6d5117c851759ce358fc7d3c3b1151a1bdafd9a7578df2950302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303514a2bfb6c07e0429aa7042fff0fc635ef61879282f90d0868d8d88d57b7cdd7d74a6d5cc95afa0364b5646f28cc52b023100b05f2a0d44fd05eae5055ee5635383b0be18eccfae485d83c1b14703c7c167438a1824af39d148fb121de3712a4b39380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303126b78b3b29cdb54db3b2fb31d3deebb73b579b84962197832f831f1edf34ef1cfd9a0968c41ea5017e60d8d1ce20bb02305dac8a752b36d15f855b1a2be55fc7ef5d20e16f56d9a6667fd62ae578a0afc6828c0656fd3e8c43f9fc6f6d2c6f47900302047c435bb500683066023100c6d39a44c33026d1797990a93ad6b28ad86d0f3f242adbe809b6a27d5639ca2bd76518fb169c8a7941a156303090d3d3023100a6ef7c5d1845be401efcf3e599b5ab4dd3078c7e687d0840fbb15c515934a58b2831f256ebfd434007b1fbed57bbe4b00302047c435bb50066306402304bdc1b10a18f05985b71f135704e5335c0fd604f9044404e810f15b66a7324b8fc044a6fcb3c275f2705689a36a3d9f2023068ac90237d2fb6ad15de043b8e6ee8237a9c04ebfedbaaddf0245e0ee53c05a9ed81402b49dd8881929b5cfc64d33a680302047c435bb50066306402301d584b006b2ef997f2f65cc75325bb36f2f2389c8084f014173b6e4a16051304e4ec0001e03e0ec694038a6e1343329f02300493ec595bce3ca801f003c619c3ecc34a4a7fd2284191c1e152f1f8bc90380c88d7e03dfb135bb5e73c11fb1ce3524c0302047c435bb50066306402304ad049114e46f398041e4953af182954aacdfbfd0b1a5962cff010e5e211120d38cf887fa2e637366cd6ebfc5f48b4030230498793b6cfa9bc506b350b809dda1001d2d325b9a0a3c1efab5e2dd047f0633582fc46b4416fd99ba9c2fe7b1d11d80f0302047c435bb500683066023100d924ace687fc64be9b16bda1e6e947cc4346084f4c822115190c179f5ab001379046ab59923a4cffc82d44955a3d6719023100d76a91735f915a486c6b96378a44e0d333a372e1332d49fa81254b5f97717239c7cca42edad706df7272f66f7fe224dd0302047c435bb5006630640230255ad1363dc16d79577ee5be07e7cac17ffc4ea3c308431a90d6425a27dc1453ce83c85fb2a762dfa3ff089b57eb55b202307325df2b7344da433bb8fe6331f3de065e7830742694b0065a3bb177443b315796f89b454323388c54e10bf848a8e3b00302047c435bb500673065023036bc683c059220f96db3d28081f4150bd19953dd8b79ca1906ed905050adc075bcb96c47a722be8beafec6b14a4c73f1023100f091753c6d1f93d703739ebf5cea217fb5b522ee3e88fc0b31962305be2f17b09e24ede9d8b0bd31d9f2037585aa20d10302047c435bb50066306402303eace3e99ac7e65cea0765a1ca4f90bf05eb07b199d18ff79e349d03b954fdac0e9d3d648d3fd424ab74164468b9715e0230656cfc3b95e34827479c4830391daaa0c16e525ea5bbbda7e784b501dd220a0bcf8d9f976d32014fd536a90b4b903d670302047c435bb500673065023032d960bccb8347f7f053c38eb875f31203162a8c29639a99144af2e899b1f81c113795d8d14f31f3eba4c9283330a6cb023100f71151623ad4a875e404fb0328131af326969c511c92b171017375383c612f5cf980948d91362d5ea713fbf90efb9c770302047c435bb500683066023100f0c5ce329fe50db0faea305b3f02c1c38b0e2c76cc3dc55778640ecf8de3e1c34b1500d3c51ae8a73b9df6c8374e26ec023100c03b2b54de82a202e7ab6d24890d30fee38bf0d7c5ec04a9f4fde2d7b7886fe546ec436126da72c296ac079522182e9c0302047c435bb50067306502305ebb294143852572c54ef816eb229a944fa8e835bcb48c4bbc02101790d3374319adeae7facfee4b3fbae77705457423023100d1f5a37b1af55b1c122424833b9050cb9a9246e298b444b659f5d20bc805c32cbf21edab1ded8623b41dda66a60964b80302047c435bb500673065023068a0e6a1792c45af51292c024d1ece133cd4a0363ad03b35674f304ad97428d820e818e93efaecd2c6d3751183fea9cc023100e14e48483474776f52df5ec78af07dc5ccf30f53271246a801af80d8534797522282b800ea9b569b52b37aa1c85ee0640302047c435bb500683066023100b61c06b523b2410848d579f40d4ee0d62489d71c1d686bba5e85e410e63a4a47aa5b80ef4cfcc7510a15a89861e0ead9023100ab9c50974006c4fb297ed951f3ba3f688bb3a5c596fe415978829e8289862bd9ace66335e4a133d3e4db622506a2bda50302047c435bb500663064023077370a87a66ec38e57ceec465e8639c69b34645880502f7fb0ffb10c1d9211f17c900e3689d7a96170922c2e7254b72002300b7cab6f930ba433a9f03ff6ea6e0cd48bbffd056446e7c6ef1bdf34ed31a6d7dd9cc7bed8de4752201fe251a909f2500302047c435bb500663064023077a169509adabaaf086c03979142a8b1b3cd0f3d4e57212e916eecd22737aa25473dd982d1a4ca5f79ce0a38abf000d40230385fe425133e0baeccd3af3c2f2631a714e46e2f0ee307f62fe220e3f1ea18e0f306e463530ae909fdf35bd33c7014830302047c435bb5006730650231009de3d14e1b07834de801658c369a89c9ab856ff348d45fd5845bff4cc02a14c0792ba84bd07cbf32079c11fdcaebea470230360e0ba9a912aa1ed02d23292fc967f157e79e63779e318fb3d72e768d9324a999bcd5bdf94d56b9d60121b00cafeab60302047c435bb500683066023100832e48a6df6b18049b34240d909f2c19c7f17e23b087911a2792c3b1c43b4ada264b005f31a0b4b2b042e457dce6807f023100dafc24f098e8441d643f87ecfeaebbc31ede2883a0e015740c8b7e338382d1bb56b8b4314830bf14b4134192c9af39670302047c435bb500663064023033f053c336e2eee32a47e60f0d6af56b3db3b136edd4fc8303d9d1c06769470848b9f597ac1f88a61d5b7c65b70610f8023005fd38a4248a4d769fec628cc9eb68ab5de9238f47fd2b74583296d5b95ddac96bfe0927e2addb8004a722d7a0fa5f910302047c435bb500683066023100d07e7db72c6ea23064e6fa2d06916ef31574a4a3e16650fcf48f49c2b5beeb722b3b8b26a91e302ca3f06ea3de6cf7e8023100ca0c2f015ba64b7f53bdaf39a5265b6caa86189ec9380764b2bffdee0b0efc14e3423d20838720248a6229cd734b3d420302047c435bb50066306402301628286a2da4bd8def0f9f7d5fc2213acd0987d347f417d676083bafb6f26af2e48aa01809bdcf28313d6c1e9e827af202300d73ebfda1cdc92c5cc99cdcdea85164bb4842bb5254648aeb0406adff98a3769bbfbfdead789f8612a732939184a3440302047c435bb500663064023077c8bf9939fa21b9d33f2fb3f29ebf5231cf1e29b70c2dd0c4a8a6ea2dd35c52925270686b532c5e5e73616652f8667c023058543871a1daf188688540cf72d4ba86f22bdaff1a558792f596ec7d140af3bc0aa8e6a4f503bd221a40d04edc99dbcb0302047c435bb500673065023100e6ea1302bdbf8f911d32030e7cdfd94bb74a444d0f2ddf5e59891d820c03e8fe8bfd229e61d2148671b92f6fddddc2b0023023a17e74e36e93461d2411d0c33851da0a3fad1277a56ec0057b88aaa368259dc8a1c8b837ed97b4e0fd967fd2f492b30302047c435bb5006830660231009fdd524d5e87857f32f168b38be21a2f66cad32dd0821ae215e884443c873ab4a4213146fea3eee1f0176b6b8764b1b5023100d7aef7a028d0f7d10e400460faef330bf56e00069247297d8aa8b32e919b495592dc39426af91e5ce9e6abc6991b71f10302047c435bb500673065023100e7b83c3a7ca6426524500f3fd7cc85b841271786e1c6217db54fc75ce0fc11ae8cdb7173e26e24025451a1a5462eba690230666b1b305e3c3609bffd679fd1d7f363b021e14c94d5c207a880a76f28b81df45f570071614f09cc031655788369abee0302047c435bb500673065023100ffe49152d517a28739ed2c63acd1a2f535f5524af83429b472da54046bd976b8ab06de7bb79ee3ac435481ea02dba46302304840f1a13109006ed972e74017c28e8b49e37ee09d20aa7079494108fd5d0af4916b7197481e14a901f6531d9e7289100302047c435bb500673065023100f9e374b972baf8c6935a6e88fd3e19f4a90d1677036614b6f31e51c1a1fdca7193ce850245932fca80861e8e03f02dd90230100e20d6640c524729c61155bbdfec09ecb23cdf24353db3f1cfecb0fa8809194a99bcd0bed5c79ab2af150b241a91c80302047c435bb5006630640230105ea5e6179edbbd1c37dbbe62a6735708f552210b9498cbb9af4b240a9dd062d9f97ad5102835b6efe76a2b2842c34c02305524a8076540453af5984660f5ce1fe844076161cbeebc04859d628f42160e9913e51e374e3df6f3a96d7a331b3665de0302047c435bb500673065023100ec51e030785f722b0261693775031929fa060ec7b2cd609704113dfd33f3bdd7b0b33809b8f8d80e1df780cdcb7985f3023055af4f9019e54f0948b3b7a8bb37a1e939f8d4955e96755f0f0eeb8eb5fbbab14a7f4cb2c4ad048ccc4a4e0e5693d6b60302047c435bb500663064023043958b6d3ebc80ded3916082d95a504b429ab477763f39a5f386a0976c1ea90d9893258da80f93a92f73af3b787ae08a0230467eedb907e5e861ddba8f2a654533f44c22c240cd209a2166aa4209adb051e52db6b8d3915ef5658f277d1ee11c22c50302047c435bb50066306402303af9d07da3465ffcdee00499b566967bbb30eba960a15801325a53269af2c7932decc2f53afb4d74454b792707c4b98002307b7247e5e63cde1530483c5580bc36f0c7dda5c6732b6b14b4f67e036b367dd6373ade218d896844b81175dc0dd090cb0302047c435bb5006630640230591e824f9ed9d8df06d0d6cfac0262ea05163d7d52647f813a8e20bd6b846411439e6ba9b01e58c9e6110625bc576b7702301d7cb5bd5784300ec6d586ef1c2d8b0f7a0d85639f3e4273f4d54a2fb2750cdea411ef0d0c4ec9dd1669943258e5cbdc0302047c435bb50066306402305787135acf484bc02288b4d78876d44723a02b5c133c4d3e4ce3ebd9e50845c5df604c955e760564d394002c05934b0c023073e79940bafddfc49ca66cbe83d58ffb955c7d3a63e3258889a977eda0f99513c073b6cd60f4d74b5bb735405887a1e30302047c435bb500683066023100b5278672f37194e2780e6e58b75c3a3a889203e3789429e023fca1467bf74a56c2417bfcbdd9a0adf32aaf25703c9a22023100a2605c0af275cbc6e9047f852291a0bf95853281764466be5106005c4e760394243dd8bf425e1de27d6a0987e938f65c0302047c435bb500683066023100d264c5a1d91b0d5f5ebf2772347bcf75399f9d6b3035718416a5ea0be25c2ed9508ac45844427f2c2ea6e976205a10ce023100d5a1fc779f45a601a992f32f7a26ecf8981163841955d47b76cb084f7487a12d5b67096b10d2361ec696742584730a230302047c435bb500673065023100bc7720a6bea240e1c5d9f44d6f263e1cf3ad488de1fde29010a272f92fc138ca880979e017534e87546dcbb184b8dfa402305e63c3f9f1ea3caeb98dcbeab4a8230a99bade2728903d7e4338c3abfdb5bc8ac5b6335e3852917dc4e0a6a3bf6d9bad0302047c435bb50067306502307858ca6662b322cba985837c20b99f9f9999d22b6d80bf040182a531e1183e6f8e15372763b8e64ab59b5091b40c83bb023100efdf805c5cf48d54b6879c21bbfc9e4a2811cfc16d3c7274e0f5f306a5346807b40f797ccb3b5d6f78a5e67a0ad4a68a0302047c435bb5006830660231008e85811e1c1fc8ecf9e2c298c039fe87cbdd907e53295586a13c36f93010d5927d6cf61feae9e46315645e59d45069a7023100baf5e0014711cbb160c55e35f15eda203c995eda6fedf096c3034a301ac9977786aed4d4baa120f9938c439060ad824f0302047c435bb50067306502302b4475f282191eba465a132e07c5476f9eef10264350b6a38bdec39c8519e7f00e1249405267dd395c74e50be0944451023100cfb8ffb6f2b32be0c59be0e68dfb92a7afced519faa2d356636493454794f306c5a05e2d2381719cadddd079523afc5d0302047c435bb500663064023065292df4da0b1e6cf4d5d055be68d3df09ff9b24eabe39e18330a3e05955a30d7990c4bcca2825ab4e1160024544e5c602305f4477885f3b7052f4b00a62587de4346d6cc87577460b5e4a7c87255468da270ef186ca90797256049807b6df2513d40302047c435bb500673065023100b2789a2949c05c8a6ddc339fd288adfcda5172058fd9c793fa6ff3ff30762b5c629844d3714f8ec746b799ae26e1ed3502301451f4d48c14fb667b35c020f5a18e6905260e1acec115c83cb8652c816298cd978247750c7830721ad3c2f067752fa10302047c435bb5006630640230682bba346ca75f40bc00182cafa42e7f4c426a859a60f2bba671cf54042640e6c164ae157c79de1df7c1eda51cd8f32202302d573f43bbed7a8dfd9fe24d947f163ad2068c23188a5389b91fcfde4297d098ba3571ece74500bb4129454fd819adf20302047c435bb500673065023100e898260051361bf4be57380d1ef9053e15cf37e347b22cd24b96527257d015b9f348fb1d28d3c71dc446bfe42510395302302f294687e8898337621ea02f6c3b51cdb5843fa0c4776a2d3edfe9f6aedc2ffa886dac12c28a0e1da43796f0d34718ad0302047c435bb500683066023100e6b62d05d34a2e7f8ffc37a647486c65943767d8eb07c93fb040bbae7f44de5953481907bdd79fe3632975a7f42692d20231008ee44389b28fb062faa515a1250216c7e09c4f525d58981c545ef0803ba1b1efd46af1e3d5cc4ca75d948a692f55630d0302047c435bb50067306502310084ebec48db7c6808c8d4e4290b0b6bd1e375901bb8ed46e49e9d74f8e37bda45fb5ca065996747204671f30dc142b67402303308dcaaa30cb35265949109def411c2dc8151ad443e8e1f103c654f9e43495f22a694daa1fe63e93934a409b6cf86930302047c435bb5006630640230266b5496a460fe237369496fb5229f8851f5c9f8db9f00ffe9cb067b75c568108de79dde4838efe063def660f7194f7c023035ae41cdd97c807a49d6e2af2d763857ca6aa8aed5518a82bec9f4b555fb1ceaea36ff919faf14f4382b5b64b425ef390302047c435bb500673065023065d37ad6f7522fbb5aaaace1f3bcbbdbc1068f4f6d2a4567063f329533408e20fd5934ef25c92002c991912b3f50c549023100fa7779f246dc1521a0efc441f682a1662bb5c389f1f3f7c56cad63ee7b1a65300efc3f562f2314d46245b585ab7f35e20302047c435bb50066306402306eb71b811304fcd6210e9b925581697ee22417c189a04322ce1a573823d4ec7eb21e03e41c1ceabe4992a24e1c3ddda202300f9c751e7c74cf3a4e3a69b1b2afbc3ad208621ce0d05c629e7122aee2fe0c7b9838592a855bf963b38e950c4fd526290302047c435bb50066306402306ba0a86e81c8e48ac2c9582c694f6c99f22dd50e6a37f0266390c0a3f6a41d2c40756401a81982af3d9ccc56a63abffb0230767c80dc4d8c211b169a1c79944fbaca0ba3ab8bf6dab5b01560d596931d60a3754cdd22ae9ef9a22d0db21dc750bde50302047c435bb500683066023100aed10d4cbbd33b0d448ba1b8ca89c5e7d7971355c79cca8ad316324731bade49e36a2f41231633a15038c417b23bdfcb023100886ae431c2b8fae54ae95863638a1de2f46033c6e9f8c60a8f426fe67a9ecc16f4adbee3416966f9f3f67391b76b6a5e0302047c435bb5006630640230652727bf800b59b97e495f565a94ff779008b3dcbff621c053587213eee69c85ed85b3d1e2276536b4c33d130310c8450230383453a8bf0ad3d374c1a1ae84a6f0ca4be21508b8e6c240bea2235f7bdb486cb8efdcddfa94f7c114eaba91ef98d0790302047c435bb500663064023067fc388a803f62024cdcfc4e267716d866580d80e9be757ab2b6aceb0883c676cd1c265d33968a2e9784fa3047a0e74a023014447efc548a6d145ff1ed916a0f67e4adf1d18c379a55e96f3242cb19688e76eb31156074169125fd1394af0aa672920302047c435bb500673065023037ee2c359285ebe54d369dbb2db2a69900c2f7e704856755fb400adbc4d33b20b9f3d0764d72a31e4810c017b7c41b9d023100c4928e3cdb69a64629091d730b57bd2a46a6de58f57788ee1502671f31a14601f27ff87b960ca77a47097746443f30cf0302047c435bb5006830660231008ff47a3ebad1e8f0dbaf7ff3c2ba58bc61001097254f3674ea5b074f20558c9bd580affe6a5ca6f6840c0f46b2b02a08023100c2d0d93c2a66fd5b81f424a575958913fc3585d4e3dad8cf68341accfc4db1e847f5c03c4c2f92e4266489a115fc6ea80302047c435bb500683066023100cf74a2808b0ae9e1882e74b55fc26e0a26fad2b1697919a924d64f2e8ec5523fadf2845c23f5c06c37a5becf63c0cc75023100dcbf97d85183f623669123a42e2d5e256904fd95ecda284d08a73825c30eb479c3127e39d8399e4e8945b4bbdd43ff890302047c435bb500683066023100cfd9c6cb85f65304dc5b560a3c1597a77c6ca9b97129d9e78240777f7cbf5590eff3b8e30548f1f730124d601996b2c5023100d922f1f0e16895dda9fad2650ce19b3952c03c088a2f965dd56a56872ed6629935397f59f161f39d0bf48094866a76cd0302047c435bb500663064023027994e2cc91f641dccff3c54511465d9e555d68af255aa08d3387232fb654594b902064980cc5016d2eabbd71289033e02306197d49fa9462c3a9559324cf2d12b458152d15cda6eb024709e1e233594371d1682a83ae092be9cd78ec0ea2f0d90cb0302047c435bb500673065023004b8bc11fe2defb705f8adbeaa68e220dd719bac98fc6494fb152f9a9ee920d588eef7ed02c38a9d1e4941b8fe89b008023100f395ebc93ab1cd7560784fdc218a7b87c949d61135b2d1623a01b5ed1ca576a441158b4178ae647a4051cd5bb3754dca0302047c435bb500673065023100b4451aa15870a77f45962787c031261ee3766416f0eefe1b67b48b80772243c299c592cbaf1e657a85cdc825d9275f8002300185d50d0b54ed58ea3e6331110314620e13e64297e84274276e583131d93bf53385deb68e24de5b58596d30029a873a0302047c435bb5006830660231008dccba3b49a309046a8bcf8f92679c3c92ba8a21e48c1c8195ac92d8fad3c1545c5680793e558a4af10437d1004378be0231009c7fd8a441c8c32915451c023155fb6d7cf4020389c35b87b076e2565153edb75334197209c6a6ec9b8ad60870b3f7b30302047c435bb5006730650230060118da8f8e14b6aeb81031f290fde1653f38c8290f845b837114b2d9659cab4540d01110f31efacece8f5cfdee9f3f0231008f7c5c5442a692e35d4251008be5969a47dcddea9921f81c7856cb0c7d360b3879253f8baa52c13f352f3a00fa144f360302047c435bb5006630640230380370b8c4184c35765f25f147079f43100f98d2aff980e5f0a25e2b995fd6c10b55526bfc05673870d57a3511a336a602302235b233c672bf3fbba89c81157fdc2d12d24387d6f92f4d34be66fb18ee0fa1c654741ccdfe8d2550cc740b3f9cd2200302047c435bb500683066023100ec1ad46e0f9b1791bc31707a3e06636cb1701b6df2de739a30a2592bed1e60f65d2dd90c2927fd50af392f026e4d2805023100fa94157f71b5d41ae626cc90f1017ac1ed47e075c2e1633a944d12446403dfc97aeba9da9476d7e5c1f92f59d181f57c0302047c435bb500683066023100fa83c05597be0a787b2cea46fed4bfc44a1f4594da477645e6b2a0dcf726e379307296d84c41ca74b7f5a8bd62ee2850023100f03b09c218202f3ca7ba8efbcf987cdb192a28f006906dcf1e2a8ee4a1f7ceb52223a77dd081bdfcca464b638bf50c630302047c435bb5006730650231009e79f41b80453dbd4c31dab7182d9d6f55358be8bf589ab393db8e616506d228ae63f5faa518cb44858d378b79308ad502305b87700bd8950a7c66934a99f0048b00d2e5ccec34772134a8048a7bc11f2b648eb7a21d3f5fb12832dbf97c32a8a5430302047c435bb500663064023041c8662519f4efce471356f13e658fb0163a746686b1e94b55e42e96ba313e1e86650798bf71279141cf6c57e671110102306110781550840b72780a10a8cd820a1f7dde963857088e83f7f288cd717372d81897f2cb713422ab0b58c079f06c7c830302047c435bb50066306402304c2fd1279d3fdef50c53477d459eaf617088e215ac40e142b2144c06c4fc2264fa7f830eb98d966b2e25285dd54919f60230741c8a06901d920f6f8af1b1c9742f9e441307f77a02da9824703de036ede5195ee8e332b03cf87314e06e1115fbf5990302047c435bb5006730650230706467d4dd8d035fbaffa07aea34e3c4daa1e98d48769653dba20dc35f0dbc3316891143a7230a0cce324b6da3d906ce023100fdaaa35690bafd1897d27f3006641d7c296fa704821aa0c146dbe6ec01b44e9226d20165c50be867082ddc711f0f89080302047c435bb500683066023100c512d5815a4f69b89f497632c860bd164a7688c610bc5b8dd076dfad2f5ed3052aef51e54c5922e38f7fa88b1efc7152023100dd26691cd97f2f666ff8a17de13e8353cf962270079f62a2233d2de3eab3e7b9af9c6fe97070dbbc6f2e0e32f0b5db960302047c435bb50067306502310090836341937f026889f3e8959149539175c1d06106baa3bf5905ffb1b17f4f3a230644e877f1977742d81a5a4a182b24023014919996940303d075b875dab9f46f8a11550cc20aa498a7338cfee96ae47f8ef47ca5d2d4ac58fb2571e62e3a0237fe0302047c435bb500673065023039b1a862da0432af0d678df8965eb99d8251476c3937b298152c2b6116cf8d2f89ef57cad4e32cec22b978bf37919aff023100e923282652ea20a2837b7b059975d09004b1e82abc0316ca67d5a80fed4a7e8c837c0bd9207225cdf469d859efedf8790302047c435bb50066306402302d3c203d70497e940e5e4db2321e8fe2e430142015b4041e586110e420d5d942e6c3602919219342465f65c7dbbf9a1402304d8f97a6b7421019433d320559537df2455a8966981117b578745a2128be7156f9410857cd0b8610f9d5b1c1d7fea9ae0302047c435bb50067306502310091f2f7dcf4678a3a8d06e6845b18f26ba184abb0f933491684bd6a8b2281e0658ccc052263ca674f38020721f6f9bb55023052da909bc41a1687a7fe4327e003badac62d5865700dbff0e8ee2bd35a8f858a65e4fd36b9abf6c5e5ace258c462e9230302047c435bb500683066023100b10127f3aa93d21350c194f6e899b50e4cb44e920f1a12e643feeb8dd2b4ad8d4932287d293bec814a3daca9b32ebc4d023100d23147b86e17c6ab8e0d48a0687e0082f4a116293dad2edf8e750750fdca3439ea29c91e60942d385d6b05cee6a1d8e00302047c435bb50067306502306b56a9ac79aedafe4061dc71201d4d10df2de57c19deacb990fccab3aa290c133bf5b3cf95d3f929be675ce0c9fe33d4023100849d4930ceebe56ffaaf5bd514daa5830f862225f51e262126ef31c6c4662d7dcdba81cd5b627d550757ba5e73dcb3e50302047c435bb50067306502305bf640cb3f884544b215e8a586490616eeaaa4d5794f33ea51f096cd28b9373d2128c97449303d2bd3a87db64ebf5091023100e1f4bfbb48d262b75222fa0e9954522a654c03557b1f797ff310ae49764fa0c8d4c479c1d01735c915e2e11a7747ce530302047c435bb500673065023064ccb60978fdb95ce642b372c2c89cb6e5faed6013e058a6e9458e766493ad848646905ed226017f0cf457da0c86b99d023100d54a28fc2f8f0a894e8ed81b7adbaa932a674b368bb9742bf09d17099cb8bb54b495d15126db0f2d58bcdfebdff696430302047c435bb500673065023100c7f007298eaffa8c604c7539cc1e4b2905f82fa2ec93dca981bff3aaba2355634f267b32b92e74bc130ac696d3df049102305a389ef39543b7fb92aa705854e1e7837ca5217cc34e7fabf0eb565498861e2fb228740e155a6535d096d4e4b774ec070302047c435bb5006630640230753c7b2557829135a1b44e809a215100aae827fb6d710eea261dcc7ab2bac8651c8616a7ba9f81a798ba1dd964a5611b023024fef76e2578179960b0657e622b7e8491a3e79618eee94669ca11c926979f240a4ffb27e9e88e24a535f32710ffae060302047c435bb500683066023100ee7c07a95ce665ee5a55f7bb4d27cb895107bf48483f7099095debde2450282150b29793118932aa7692cd4202806833023100b56cc5c677575b8d85afdcf4f636e82dd19933d245f5a65c058c997fd63a6a4aff452b5458d1a04d000b143c0b5d6fe30302047c435bb500683066023100e2de8581489aa098ba393cfcb8af0f062991d23f6acf4d895e476937011452c9f918ea3afa8a75e38b5a7bd53a94934a023100afccc1007fdd0e15a37150a4ef1976d132aaf95a9f85482179eeecdcb7f4f3ee4241a2ac5f6083bca4a4f9fb8404758d0302047c435bb500673065023057fa982b94cce4888e65d29053ddbf1ba9ed5739384585bcb2f401d4dbe376185b864fdf2ef2ea20ec7cd3ec845fc47c023100a3aa2b18f23b878c36fc09178321327a18285a2554f937c2ae9f207bb15313e3daee579cf76432d2bdea3846e14a8aa00302047c435bb500673065023100a3f4df61d8639f0a5e0ec22d02d0239df4cd43a358da18e584f1f57eaf46e6966dd5983a9ebbfaf62cb50b2d0ca194f402306c3850b90c3d2d01e70c80a1ac48924e20a0955865a0cea362f2fb2464946389fea25a7e73dbefda8c9813ef9a8c112d0302047c435bb500683066023100805330893d9e4c60da52c08b665611082083b7e5db3111e514d3155fbd379b8ae7416fde6199789f268e74fb735af7b8023100ab124588f5a4a7c9fe022641fb67c9fd1a3b8c14f9640d45df5c6ab5e655a242c7ea7dd13e48c4919d9fa777973347020302047c435bb500673065023044c31fe7f74ebcb99d1602d9a81d0e8bca9587cd713b6cd2a123dac79a915576c9b71d2beacf754646bbd30417084447023100919dd67296c53663bf5f444ccc59743ac1ac575ef5f9dae1382d164c566371052fa07f71603e1eb8fa66e2b7792259f20302047c435bb500673065023100b757e2401194d349f6f1ee22bb521b120314e8c561b99015d4273033b1cf3c425fa8fc0a90f292bbbff7a79a8d14c9f30230355ea53bd028d7cb9e32d309d2542306feb58bf464339f58391dedd6f4d5221ba3973854ab1241383ce1b40f67ec76a80302047c435bb50066306402305154fb14a2af53444ebbf50b045c1e48a63ce92e2864b4abf421c75ab147388b8097420d932e059791abd0f5fcdbea0902305d86449d8fa69bb7228ab93508e4127dfeadaa7a2f5042cfae8596c6946672d3c199ec931c7fa27ce6d62ef2154e692f0302047c435bb500673065023100c0391811264eded41b397527641e1089b3d69894eb711e996742cbdf76636a4b67c2e26ab78230a0bf221dae4d82f5620230025bd4ba17533fd29c894daef453cbc2d81e64482fd350e48202d3ba78eb2d7461d5db2b3ccfeacc19eeef3d43a590f10302047c435bb50066306402303dfb96d913f72749ebb882f29353a34917739decc496b5922aef530aeee61e86d41fa7e441285be598acf44ba13e088d023062eb280dcffb3e815106856964275a76b746df13958926e5058b6ee06777c538c85b1197e33f9f5d01575a4da50f296c0302047c435bb500673065023100ce323c38f406d1604731a64e60fa8647bafb5a89e849a28a4d0e33322096795e762a85487cd247afaa65bc453e1c8a3102305b6c39b3f9c06b26baec786eedb72b155bcd3359c67aa1873da8637fb9c194418eb9b586c978c4ac056f8c2bae50f98d0302047c435bb500673065023100fc7545d43728482e0c3869761bdc34167e47901c4fa2aea45ece61baf69cad8e35896795161bbcf2a3ed67bf4027785b023078cd639b83c3e417d51a257c912be1f7d941612ee35e4e52b365dfd9faefdedbf83dd1a618f95829f84cf10c388040b50302047c435bb50067306502303f0473a9d138cde3178998c66da4a57786905d8eb9ed91ffd6026a8dac5454f0baef57afe7839fa427e0a21ef9d37a04023100c8bb73d098276363d866c4aadbad3c78fd66da2531b7d25b4b21d1c9014a24b112576a28792bf89c8c49bc311a7aed6d0302047c435bb50066306402305b1c4f95f0802cdb94b3f25c404747dbfc4fb9f4de0f95770f0b14d352cf37b9db3383666fb9d7b0d94d9a45f7837aed023026ccaf4953c40d4bdbaf6a280246d67244f2e3b7972afd6f071bb04affba398e5ad800497b4768e35b1773b9e42d9fc60302047c435bb500673065023100f53ad061da3c41a4a8b6a6b30541b1d78eb814f891f5d5f062b04a8390d91c2d8843782aa3708bf82e23a2f93cbd49af0230178f2cc85abca33566817bcfaa4a420eeef90dbc4b0b8e00e1369dfb6b90fce82815b43256edad3b26ad36928d6ac7060302047c435bb500673065023066e487f93c48150e2035ce5df969148175b3f02764c75078617a09744f5ebe6dc237e54b74d05b70c44a96c84ca5ec5e023100b153db90cf5356ac582399bc0bdd860122e3ecb03507219baad56b90506a8d92ad0073f3eb21839deb081ad36f5d47ef0302047c435bb5006830660231008a06b0b4ba4faca77d132a460c776152bfe5c2cff4edb33db4bf44a0a1b3f52cf001d8e214e6b732c913f901489e445a023100c882c29934d28f935f92fa77f8aa5c4759003782235dfb4596bbe5a28f71e9a887774a76719162c0e80d3b1bf0ad140e0302047c435bb50067306502307ffeb52a3e649fbe4663caebfea5072162fef1d254b7539750a5ba772ca4cb8674f0dea82941d7b5f73e47e07f5218a3023100faaa0158a0693743fac024ea3c90c12da86682cb3d2c2b7cafec1d882657379d5d453d45fc065d8377c972c03fe224860302047c435bb500683066023100a5c123dad2a5029b52b785edeb8db82429b6a3475d6d2646dd35118acdb67f98e6f7f9ffd3d7a27695236e7bcdaed83002310094d408ebd85061b47bddf1a0baec14be3c25f5a53c87b7cfc9750ce50637b131c10193cd18660c899483b8d965b0d6a50302047c435bb500683066023100c554da48ddc59f78ce82e1f0fccdbbd1d5f134af57593af160f42eaa4d27c356ce5e3f1ff5b63d4780eca1436124ff2a023100e73e1e5b8d6134065fefcd88f908e744ca456efd46e36b1152decc8f4eb73442707d8f3654b7a1716a9a995f0e5b9bee0302047c435bb500673065023100ac606527b0f6aaf3efe39d76297efb008b9bbf2f16e92ad946264e60f7235879d17cddb00eaa9a87d4eb9634085dc9b4023000977309d5f2e394aba423c5ac846d0d1d16c748d43fa38de8bf4846abc29457e4fc104a4d5524995fe81846a22d17df0302047c435bb500673065023100d09df10e3c933715950eebd0598788a4868063601c9c5aa594e895264ccec7b388378729adf1ae068a569b7e19c348ba02305eb21ad9042e3b1b48e1edb4958f3afcf0f7044d9f5abf4caa5205e07168545f812974a5860d0818ddf78ba54aa3f18a0302047c435bb50067306502307275b710550032186d7c2bb5faf68feaea860be1273ac4a0dd7cfa7e5fd302351601d57ed5caeb2a00ba6314b7a0e5900231009a5963e776541a29819ba74fc87bf57a26121b047abc803c67966af5c5723bd82cd258a140a8e775cecc766a40fa45d90302047c435bb5006830660231009e204fdfeaad1dba4baabc03b82877c3a0249f9ae5fe60f8ba45b1da51f7b7f027d79c40d7edfda1d26d7216b0076847023100f7d88151455d7789fdac56da63f645ef0a31781725e6c5666c998b96a6a8cb5e08c1e14833d4f9417c311e8747f7322e0302047c435bb500683066023100c1115583049c80b41669621059c89640b74fc52b7b5483dba2346e6a1ba648d18667fcdbb84ff4a41e49a51ff2d7efe70231009c12ac3e17fea9dda7f391ba61cbd0e354a4b5e1ac669445e0c6561eb4adce08d9fbae384ee67f347f0ed8c7220010c50302047c435bb5006630640230322b272d71440fb2945e7faa43262d328fef10dc14a4806dceaa78f8e4e476b87287371a632361ee1379cb02ce37860702307267f6b59f9108faaaf5bc12b2636c8ca3d15a6dd3d2886c7a1e21a97e339b32596373a6a72b3ed4c93f1b6649722b2b0302047c435bb500673065023000efbba09a25804759725a18111e082cc457b43cea46ddadea3ee54843b8a5a4496fb9bfab69f49e7b914040c716d9d00231009515eb3745239bbde42300cd81a42a473f87a27fe6e5218c6e14a410c2101cdec907b249686ae3569097d999da20c4df0302047c435bb500683066023100d40a424d478ef7af386957b2317734163fbbddbe0841ce1773ac1d290ecc26b5070148293a5d0f2dde3e816d6f798f05023100e42ad7d15c74821fe617686346dde56c5d4f5f16d88954b10da548377dd4633ec816433c15ca86b6c501e387ff9bdde00302047c435bb500663064023027b4c561175617204f6363824aaa7e96a0a58c5b4efaf15ead05e740a235b62cf2d1241fedba045e256ebbb265053d180230734c1d6a3c597040c65f53d801c0829a2c91c0f852a834b9c579cbc45ce39484a405ab66be2f277ab162744ded6179cb0302047c435bb500673065023100cd80bb0b9f3b10afd2188a2cb67b959137e2a0bf5070b0fde4eabf0fb6dc4cdc364e30cc8285d3db7ea23cde8223bbfc02307e359796e165b8c125b0fa49df8016170d34a45b8ef180f1a35b437b4acd6fb602e1f0c6e3c4a478ca86665cfb83dcc50302047c435bb500673065023100fd7d0b07596efbc6770f67d86515f539eb4efffd959bca9a76158edd2a28cf9a3d1546dbead3ebe54eb9d435ae7fef9702305cd3cd1d13dd1150a3152a4435f1e905ab33f8293c9291ac7126c4b0989b3e171ba7e0f99da61185a76e83253edc07430302047c435bb500673065023100edacf02c52dc311329c1a092960df6e07e3787d14db760b410259a579f9628a1d60780ab7525926e34b2b2d8f37fbc2a02303ad50157dc45d7e05bd82d9677e98de93d01f7a223f10dd4fb3aabc788acba9e66e791d821075da2e9919dd937190d970302047c435bb50067306502300c2e36dc3084511bc6a5cf684afbaa668d1784bbc2b80b5bcfcd58f08a8847f15f45cf36ca86bb5fe8d9259ebe1de548023100c99955f2845b3f39f55335e85392a7f4c8e9903c7677fe5a25c63e2a6216bedbd0d6019f14cfe22d23f37fc5a8ba8b3e0302047c435bb500673065023100c4b4e7add0413d3374015da71bc2c7b2c04e6501ab900fbe19ce87453d992d641936227448ef45c29028e8ae547defd8023060ad4c4a4d2fb9f705d93c9c704fc10e0167e47cb644abc8c2d0ec7342608506d7d3f0c645148450d54289accc39ff1d0302047c435bb500683066023100b5571fcb0d0e6ce77a1db84a6652828c9e170d62be0e0e7feed842da2a8dea530cc2f06446f38d579c81723145c5878d023100d234649831de73ffcea4234ebbfb2c430cb91a91dfc63692543ac7b6e8b519e6093d6f3409f853e1b55e7f22edaa140f0302047c435bb5006630640230752b20ea237e1319bd2bb407a88becf6cf2b69a0a7a9ce392694f030301afe35791e80d8151e6b9981ee4c913fd7cd5f0230416f3af3d329f1907e65ccd6499647baaba45655f5104c711da4afee2be7c6d9987c0753cfcbc6adad3122d0bad0e5440302047c435bb500683066023100d83fa550550b86f4e5130084ffa2255e72eb7ac7e80cb1cf998e1710a453b0e03544db382a51961292f9d9e84317eedd02310087028486d02436950eb53fef08b98bc4e33662dd50edcb60a40e1a4958e35806dca880868aaf54af2f630f4281e73d700302047c435bb50066306402303e4f13c0ec12c81ded74d47896dc6c9ef5bc65651209f5fead50288b590725170c8ea7d081e03ecebf83fd036e56395a023079e0c5e1e514d79d02bf8e926b6ba5b8abf67025cc86080fa9a0abafc1d78d594f6c816ac36cb7ef00c314ef9eec3de00302047c435bb50066306402304ea50a9bf80fd84d9f4e276b0e67a6ceee6d8fc202d0604fb029d4807a5c4d3344c301b95bb60a592234d51750cee75c02302641e9bc55ee168c081c586e67d43a9e71a54a4c8591e3bd9ba5464ed630402bda90e17e97a8444ae83070899c3aa16a0302047c435bb50066306402301c9c839bba40e0fa941bcb5eee49480929af1ef1810480f1b2201609b7a1bb6e3c71fc9ccb8cd27ee4b6d0967aaa2f73023013dd4e2ca487f9f9a3279c3d3e3c94154d1c3ec1418a88e693b882c9131c925f833292cef2632aa41dc331dbc513b0140302047c435bb500673065023100b24fb96e0cb669e7abc914e5892fed7c09c6e9f44bfc353f3e916ff6057e6f446152b8b83c00870ae5317fa7be8fa3110230521de05a3ec53feccf1479713ae501d8ecb387cbbc6f97801b5de42c6165955e8e84a5abda8f7fd7aee13347ef141e190302047c435bb500683066023100abbbba4c1c43b3c2d19c65c71ff92dc10ca4505b8c2f155d564d7f20bd928aa030958f0ecee02bda039c989b4194832f023100af80bec78c3c0cbc26bbc5d341647950567e9591f184d7cf5b77fbdd0659bad00de1777280bbb2a48e831dfc67b0679d0302047c435bb50067306502301f96a321dc690d0a71769a48f4b92cc0507845f753eae9402d552e8174c496ad36ba3d1a9603f66948e4d81780948e37023100f7f97b7a826735b0423655d672f4484ec9c7dcd7a1be7f4189757a0ad67e3cefa046858336620316fcf1c97c3a68c31a0302047c435bb500673065023100a112c3d7a01b77097176f6b4461d30e3493122f14e2172fdb7641ac5b6a41faa0c8364564cb6a88f7a80c02343b746ab0230343a05b70d15bc77ea4a6261d33f164e014d87690f66cf3f86e8441cf10884d2a66c73750168284a0c5b9b5c28943d790302047c435bb5006730650231008bc414b304065e018e4e45dd2d387c15bbf8e8ddfe2e470046009d3b892da879e70b6704a42eabdcbbe5085662e802a702304650f49a07086be580d38862913bdfc8497f1c98a536d86bbfaa40d5593bf68706c1baf91306a507e76656327490e7f60302047c435bb50067306502302262d35d6cdd94c3c1a50bc3fd1b20cf53f156659c12af83cfc957fc7883b603f078a00bc57381de55678f6d037f1eba023100aa273c8094cd83bd4d7fd03a29665fe78530219e6814bc5350c93432284c4ccaf9f860fa7566ba7cdea148d98d3cb7bf0302047c435bb50066306402306b5096c37c25beac6e151ae7b6e6353e1593f2f799951d24bb97387aa8203a1d07aea305b34d6e5d7cef8e39d7d58b2402300a7f01fb694e37f8edd0594b44e9738a0f6c8ca10634acdd8ed6b977969aea1e0bd3c6de538d97059dc0ec8a372359050302047c435bb500663064023051de4c00505f31a06cc73d14f0da4490204030209a4bfaafbb7b239241ccd3d74c4df268c43264d9274e3a2c52a5b52702306d939db381f3a5091469eab0bf65c20f4168cad1f1fc3343a7ab7967e275db5beda6b67700822239b89c56088cc562410302047c435bb500683066023100e108f57b64bdfbfc57be846df7175c22d5c3cb9e6ab732547d56ce3eb0b75ed8636a789326d8923e641e48bd23d65173023100ddb5e77abba6e7d7800a6305497cd1371367326ca08f74824fefda0890d78f8bc33271990f028c5c76458f1302135abf0302047c435bb5006830660231008562738f0b00f9111b347a398a6aa90bdf47fac635ced6c60df92594133c9a04d5cc6049c0859d4c07a628750e66552d023100bfcaabcc3c7bf77b111b6918a13fc73ad37e3b075070044752a0a9dc9cd71915689adc6c7253b23f89a47457521d55c10302047c435bb500673065023100d4583b70d10d88a98e728614913e1c1c8689829e907412e6515b6e8cfd5410406e0c3131af5bfff747c3584a5963046802305079b28067ca80b5ff8edb94a1c320baa9e6493ebfce1f45e5715808892777ad9319a802b3dc9e6062d25b098b5390c40302047c435bb50066306402305bdd8438677c39aa7dcdee939fa5a23e61639632ecdde2cc7178264686330880ab0ebcdfdce29a4ab9b7b5ef347625d20230275f1c273986b4a735cc254c4dcafe48a7fa25f310005504a8005a50a02ef211bc7b560c1c4e2eb9e7550129cd49ed570302047c435bb500663064023045534806dc31ab703a3d7a7aef69958588daa220e1f516804cb914ff7547a58737b1d64093824976e400ee0742a4065502305a42ff5b5ea92887ae0766cd279b57e36dcc10d018e7f55d5eb159fe82d545a79ea8ee9dc4919fcdaf7e8427aa39f2420302047c435bb500683066023100b603cb8466a9a4918529e42ee97b4f7254e8c27fdc7665d678d4459f9de98c54c6498a825fd421d6c0f5424ea00cc789023100d47c435fc50f86d29c13b52f7b0d8f94b65c5ce4e237f8b845290912ba97a25d0ab244464032fc1fe4f5fdc7831c80fb0302047c435bb5006630640230407784db005ee97c22267f6656f10434aa7f9f5ae75dc2c61429e2ac1bdbbbc16d3839ea2d3548b35c65fac2c196c3d1023073d69b701ba5e4e2ba7069a5ff81b19db764f5f2f9b91d55f7f21ec1002443bc8d864bf6756440bd34612002c413740e0302047c435bb500673065023018804a1a530ece6d6997bf7958a8e8a83ee554b39cc2dac602e61c26309b745fc2e988867ea079496a8ebd3d3cb87028023100f6059c733d24ce556299024d272c7151d1943257df0732337f8a88c5d5acba1c36f5a2f68a4bee05cee3ba8cc3607e6a0302047c435bb500683066023100ffb528fe6bf32c5fd193735449a379727d4e5dbe933081d65c8b1b41ba05e4dc95ec9253fedd0ddc4d34d2005372ccd402310086294faa74e2a9093ab9f9e821d927f44838d6ed99fd62e61439f4b8b79f144add266ea61dec6a88aa225c6437f445930302047c435bb5006630640230497a0b0506dafc0daeaf591fea0e1c617b2a35a994e9be676d25937f9f4a54bed21d62f2a3b7af523b29552f586138d502304c2ac32fc82838d669dec1c113f45ca1e85b6288b9ad013a3f800167ce5de3e4b2bbaf00916e8e2f55bd3ed127367ba60302047c435bb50066306402304197cbb8e7d0e34db61c323e1397d15e53774a2818d5e8f84d6ea4d5b4c7aad17216a69312085b0f7d9428fc181c180d02300ab3b9dbbe897ae85080532065c7000d1061431e3e884bf955566ad12f245959585f8d3eb066edbdf85ec7c62392c6370302047c435bb500683066023100e4446b3eaae7747f1017acd04d96fdac45b7322c1ae653c2df55624cdf87845f146ac87dcbdb027d8a04573f1f6f485e023100c9b58603ab3ea8dd76f6aee58292f94f046fd3f7a60b3726cde6f661b47f68d1e9e39ba634754189a58193db5d6953660302047c435bb500663064023026cabe1c934eeb004c13f60807d7abe1377392d5b6bde6fdab01c66871b10516598920e534e0d1ab1776673c77119c0502306198e6536340d329fa4d68eee1c4a1c929ab045cb7ec29c0adf285973edd26220b1b8dc8348543ba7d87a59f5c37b4280302047c435bb5006630640230766191e49721aa2da1f3a67843708f63f82c0626c67ff7aec80e619a908103c668b6cdf5927232d201f81346edc35ef002307d0d6ed597079bfcb3652828a5bd9e6aff6fdff7601f9d359e001ff96e36a2490720f83784efefba9d611a5155c8dd220302047c435bb5006730650231009cadc3a22c67a16d6e070b94e0b7f57173db66bc97233b1a5a9dd4fbf1c0764f6aa4c658287c7abc66cd4ecd077723620230481aff66a26c79b154ad279ef375eb4c68eb465b149e345c1a7942cde93ebcca51a3538c4f3b18f7562a5aad0a24b1410302047c435bb500663064023048ec67bcf437b327a4fdabb698802876736e1b558c02e784b6c5555a274ca42c884b273fdb265a0b04266e845f03e02702304a9430a868833244192e32d201db632957590a555d37f5e896e1f3657daf3ac3108c642739215ff6b68e57162618d6bc0302047c435bb500683066023100ed5ee1247c3c93455d580f036023ad87dc57c57c015dcf6ec5272a8209b9d911dc8e3bf8a3471b893d97c6d8a270f464023100c57ab3d641cd55284e24d593fc443f4c81470f4bdba2bbfbd856fd379cf567910e9d728b2a63e63aa7f65e16485495620302047c435bb5006730650231009f87b03596f0507dceb8eb7fa13fa6e261aeb067186cb3a2a6bf5f93f71edbe10d8885238542547e52689c07f7bbdfdf0230015f201076bd5b155ef275ffc27cbeca4f4483a91c3656707657bc62472fbcc2216d255dd802ef6d39f6fc6b63f033ab0302047c435bb500673065023100b7e62c61202611c4a2f16f00ef64b6b3398e302f653945267ec3d3ad51a1b4ce73796ba83ec1b0019ced55f4ce4581290230325dd289f7f375d88d7fcc07cad957ce0017096477b826d280d690f30308af5359c7dcfe8ccbd63b3ac991f00b2930460302047c435bb500673065023078635447ae3706bd772c2bcd053a1597359e79a25f5da702a512bc68d285c3817970b86e7266557a6bf5daa486183b5e0231009c21c350356a8ea18e57b2a9dd17fe8000728a69da3961a918e83da6945503d852827bae2e849ca5087a102e0d2798cc0302047c435bb500663064023029f9b5c75df9bec689c2a3b8c62e903c642d3de2ac73dc7c1cb5eff8382d9fe955466f6efff13303db83fe1f47f29ba80230355f96ac15a4a18b71076c3b87a366e4adcfb15c2ac15002d48ada5657ec2994df7d483c894d200d3cb693a3be88e6230302047c435bb50067306502304beaa8a6cddea6a4a20205852d36b0586d71d8bc128c91939e00dad8fa626fe71408e726d5165253762a1617ee29dd18023100bffb7ea177b3cecb182549b4c7237c411af951cac75f8e7b6867c86ee7789fc1a34e64d2275e13c1a74a0d641af845430302047c435bb500673065023100a36d71cf5b44c87e6a3465e27d33bcfed27cdf79bffc8da4650bf466745d55fc902f41e27db9e1085b8755e3e1cca10f0230515cba8919d01b6b4ce87d2e9eec196470d4c6c3fbf0a40736607fae2a8477d2859f9b3eb6676a0845bb1dc979e5e8510302047c435bb50066306402301d94c48839b8d173fce4a41b7c09d17eb72fbe2711c893b85cf2448fc5a4e3d97998c1080d83abe09646db069fd9318f02305a04979641bb32359ac1dad7738332f219725ad424a74bc299563d7d612b18d37665b1305fab921831a43409aebeae120302047c435bb500673065023100a04b6ca1472797f377d72320cffce64bc647777d060c3e8234a8d33874318083fdab1fad29ed4d60a6ffaa6f05844ffe0230428a240f6a74add5a555f2efd9d923c83ac3b3617b40b930ce9cbffdcba2c1cea94d6a2f625f2d9ccb2f416c36bddf420302047c435bb5006630640230647113cb4753c2ca64de4d671586e9a3a6d551627e10af10e18298b60713dbdc9de9f08bb364cc612dbdc57c0d7d7485023054f60086a4fb91ecff933266a54e2f65757dc9aa8f77c8540507445ed31b58f5ab8cc7b3e79ae3cfef0fec20da37db340302047c435bb500673065023100fc8cf1b22be0e41c5e611d9b615ac72a0259e021e39513b9659e1ee0bceac22a0363b6de4f754035552e15b9a71ccdc102304b586e2595711c1b199eb19a3193a9045d2c823d6213a60f0be9b38f017f9b526666308696796a9ed9dde0c90700b7650302047c435bb50067306502307da11c6b74f93f318076bb55cfaed3a53daff3dcd86b3d5e16afca91a15871740ac4ed3f5c10ef9f85b0a6cef0526db4023100dd149f5ae7143e7f69db31d1fea1194398ae6a67e5e98d2acea81e2cbb485748490d2d3cfa4c7ee8f99d118737fc3c2a0302047c435bb500683066023100aecd68ae2826d33a37a4a962058f0a8396837e54c36f99ad6312fc1c33d2f83bdef90a5093c1f7691e36597fcf2b0ec8023100d09c743dfe6243233f47abde1ecb20764b02e2f6fcdeccc08676e35f29832717e717919de65f4dd4dce307e3372cd0ed0302047c435bb50067306502301009bec1d9eab28983f7e0b11b96fbdac87c8fdcbfcbcb5015c839fcb2d1e3b650d75f5a03ba727b853b144c7e837bdd023100c55d11daa16b09520d58d6a935905dd69beb7a59bedccdc7723f837f6f2f3044323b56b701f6be18900b2f90412444ec0302047c435bb50067306502304ffe3730bb55d4f3cc7322641afbbe90e4bda0b1b84b1695a6ba087eac02553fc8384cee02dab8db763affdce82b05ec023100c567ccd37211c97b952070318be8c9bed62f7aef43e1ccfb7cef24c8183c12387f9431d58430032ba56ed39abdedc07a0302047c435bb5006830660231008278bf7ccfc2647fce2a37a96a645795c7e0e88a3b936e6a71a35f765bbc2b4426b85d6c9cf496ba74b3c4c1a97e1ffd023100bfa9fbde0e8f95cc0ef71879fff1ca20882cbb63b49e060cdb2c57a8e66c211c4fa574052e91b6f40748afcbbe5e7ba50302047c435bb50067306502300e1a8acbcd9d00c0beb3a94c69a805913e3b6e3082207e8e5edcd017ac16fae82f9dbb81e77a03bb9d2eb232aaa9e105023100c46e6fba2a731324aea5b658a45210135ede86520b7c2daa7ad9051eb723626c5f0b26b46df94f22e690349a72b680c10302047c435bb500683066023100cba79705d791183f0c761bb9151a46262669d93f615a3cd5bac4719527a3d6365455192c55916d45afb2b974429b338b02310098fa8521b0a2d53e209136a378fe5b5e593cd54c322b471e6d663ae10c2230979c8422a71c3fdae3664710f3b44a53f10302047c435bb5006730650231008cb4c92d017c0d4d21d947d661f51e1be285bd0272aaa1af563f381d73d04b01c8d92b0de29e359503274f2a9681578f023006afbdc89dd0b7ee774f9063c551047ba44fca59d0bfb5683e6a2def5f1165401f045f19bd048fca74b83cf2deb804040302047c435bb5006830660231008cb0722e59e18d9612a140c28831dc072b1d5c6901a2d7eac502c7ec64087a4230480e2e181640c9da4c579de24b2cb60231008ae3f1dcebeb203a8f5957ed1ddb6b273d43af3795366c0bf2aa26b67995ddfc8b04e9bd82d57fba99585423d73423550302047c435bb50066306402302c068f069cb80543d1a316c2152ddccda5d8e5e192e7b6fb443b7205d801100e1a5dfa1ce8c2c29f2701d712e748b281023047ce0a1fc7d158d2c80f89a002b9661ac04b4391325130eade251f0b3e2075906fe6ba490dd99e6b5293c676a09801420302047c435bb500683066023100a7fafbccfd381485c5458cd93f2877e7458e875dfe4949f2dd415efab69417884681b4a3c14078596260686a00638f84023100d5bc592fdfcdbc8981e96d3de454e1341304648a54564c19c1160866a884c66d61a054cb3b8800c3d35f3433be1b749e0302047c435bb5006630640230105bb276b69f775111bfeae9574b27bced2649d3ed2fcdff7587a05f36109e3283c33ed5e3a89a6700896cc69ed6239502307f6cb271ce23609cd11a5f4b64912568d399f9012679e0eaf99df700dce006438929de6ccc9e1b497cef9795c70a7d420302047c435bb500673065023100b18ca3aeb95c1134be7e46dfc1f327e25b8095b67ea3915a700c379ea6537e17f4ddf694fd3c8610bbb39f9997fadaf00230551522fa6cf5aed6f4364286741c52aa4204a2c19234b27e1d4f83f91c56c367007e873c0911ba12de7c1b6cf8d680520302047c435bb50067306502302f902de52f0b7d7d2d9a790710f01b827764c756652e27055573a6eaa8974634e3b7cd9dcd5bfab9bedcefec6ff3b346023100b711bade305d68e3992680b22cc828467db2c77d8b88bb02c69b495070a072a7c7f46af763203bfb55fbd90b235d0b440302047c435bb50066306402307eb5cd3e3d790bdb21d50839dbd5b30f215c89e2b56e6dd4ccb8e1b3cd6204064f02c998ee6edbac66fd8caa9fd5546102304d517a88d0482d1b11f8ee953ddebfa59badf7a347b0d14e2ae221d2a515e2e63eec8366f5d7154fdb6d0578c884e3620302047c435bb5006730650231009f9223c89019adb9fd65358f07ac865ffeba28b0c223604409721fe952b48d66d9400bfc4f304cfc8bd6fba796db267a02307fdc0f3daf2630f5317347a0302b3a623c9df81bba5eef0ba9249199ace8dac995dddaa547143ef882bb2c41cdbf85ca0302047c435bb50066306402300ff7d50f4bbcaa330cd8d8652aa3ab185a3139a099408e096f87f0f7260536833857c330f8bf632247da315afdf9169402300976949a692a7c65fb13f54a1f162bcc71b78dd532d1deb714bac03dd64daed037190d0bca0c8aa3e212c84b7e8a84180302047c435bb50067306502306a9445c6d14b06c966ce1143915598972ab45b49c7da21b8e532cb95f8cd6e0c05a161a169375e424c24b2cab27b2498023100af48039f97d221ea0a9128a3853ada4fa81faa24111a6ff29cf5ea0d2b37c1fdd06f22401f867fd2228279851b9e8a0e0302047c435bb500673065023100aceee8ec64e719ed3dd865d94c0aba3e7530917c6ac4d18afeea7f9a7e9cf3926ccb27046733706a6b0bf85ae048c89602301b162bf516c3e05323c6b24ef0151b1a0d97c772b4e344a4ccd9ea8870a48b1fab0bc5bdd97ffb9e6bc8b898e9f3e2190302047c435bb500673065023023c8abdf58691453a15f1f3ccfe4616bfa517f352df3419c7d404fc8f9a7b810b686a3a772c180f09012ea3444ba677d023100ba2c28cf5934ba1a2309ed3efd7f5da670b5645379dcf68aab56723ca63a83c125a0b85310b4ee1532d1d46827d214430302047c435bb500673065023100853a87aedf3dfacba11b189034a5434c75766995c974b57831a92a02b033acdcbf2fdf7564a2c4956ebdb229ad03ae6202302cd922ba05a9c28def3e7530a764fb344a2d725a39a9870727068fad54d7ebec123ff9ba08fd6d054822a47fdf844e9b0302047c435bb50068306602310082a0abf68048f0a2ef1b7479dff9677851ed18848735bee1210733f066c84a82477cd5f3b2155b1ca26c5eaa31c7864e023100b59d41eaebedf9cdbd6956ee0275c1ab80885a0b41816010ebb745d9bcb859346f800a8466400b42b6799c5a113bff3f0302047c435bb5006730650230592ccb3981270e0bf3607dcbdf2c5a9f2de3375a17464a1f0334d2414cd9488d44eacde400019717aec3967390d1ced2023100cb911a6f273adce6ceff67657218066ee44452fc991b692c9f5d99ba9522d8b73c507cc204bcb773d1cac9534c92f80b0302047c435bb500683066023100c46f55b0a18287e71fff9c6677a227ddf012ab3d85e3f15f0d22fee2c6bc86968afa8add1ac6e5a9c39159ddd4b673c5023100964de934e0a52c72d01a64adfc88608a150e2f08abdfc8d3302a77afa181d46c4ef47108abf79387573e6f714d2a80b20302047c435bb500683066023100ca0aa7b1a1effc45f842b04b34dd5fbc951e560738fe43928611c9db2cc738ce0c97191e0d35f20d9393e02822567af4023100998abad14291832771fa5f7ec06b09b449e64fe13485eda322157e59fe74cdfe7660dc67b05f632dca8e8f3dfdf40d2d0302047c435bb5006730650230593df5b1b54d135e4316a53eab2dd7fe48914feb95810bd09cd69a6fa2fdf7dbb330aaf004c4a3706b3d86fa889723f7023100ed08797e360596670391bd9c076e6446efb094cac5b7ad0eb5e6072c424b713f8f0d08bd2d26098349709567c3fc1ae20302047c435bb500663064023013112a4e2aee757c7d82b4e1a308c647a0ea21247c451a58ff3128abae7d61c3d4d1af48d3da64c3622949c59dcb9f680230511f0768b2589ef5b98e2338143212d3187ba9c00d21f2c88017811f16cb47ed081ff34d33f037708ea883a9b642e0c80302047c435bb50067306502303e8c2833ffab02ea58b2da4c25b7be48d89d4c5ca3fe9ffa3581ac9a626b3ad51c4879772a8cbd7cb06bd65fbebf69b5023100ce638f2e722198918307d22b19b16bfd215c08cfacaf32fb96f833827b282d14ac79ce0e34be357302636747d8c2a5750302047c435bb500683066023100da5cdb1038aff67335c0d93cecb26be2a9835dd9a912a03ed3255d2a4aed61c4bc4c42ff255bbde9223104be04c5dd11023100fb4850651a562aa0e08bf02a410de287599732f77c912bfc22fdeb2cca5b8a46345e56b80c4b6ba34785a2e4ed9259be0302047c435bb50066306402302b0a068bfda4b45bbaa6f11ba451db6e1861eaf3807be3a4255c3ca4b66ac44c3422c0ef77c04afcd342ab8a0cbfc83202302fd7f8f996c470143ffae960686a54edb38e7dd9243640faf93d190231a320012882fbb984b7c9e74c0bc6227ddf716a0302047c435bb5006630640230318eaa82ca44b82e192e27aa86f717be4c20ba3b655d6846200b1549c261e44b096acc32e7477c44e4ccda0a50e3cdf402306a978f0fe5b83d102b400297ec5ce6890dea0d3afdfad98ebe798b6d806b29a637a0ef72f770bcc7e13d92b1eab24ac80302047c435bb50067306502306254caacb39326754a8df21fc9aba4115d51435d75adf3c1acd1ee026c51941784724fd9032988c44e3f93e6cb378d5002310088cbdc249a4115d0f5f060c02889f307a6feaff2785ebe65aa1e0993d45b13a15f8d72c6c418cb7644c70502e4eaa20b0302047c435bb500673065023074cbf52954d21f166a54f76db56a66e5266997ba23bf5713fb1f4628665b960399270f01201f6950e26add059578e879023100d452424425edeb6596592fecc7b8d2d736f426f87a7b3175688d6c8c00a2f5d2300d2c37b1724f44240d331e65ec8c080302047c435bb500663064023016ff6e866e313a5b0ce2d37d294de64cd13d6e87c2e93592edbb58df68b8a9022f22a01c7f35903e7a903c54f33965fa02304643262dcee937b72c47a5226b1964805bdc7183bc047a2e69842d36d95921fa000be65a32485d054bf27cb8412e67150302047c435bb5006830660231008ac06eb614594c6db2d86bace5203abd6318c5a9fc025eab9d4d75e05f7d0fff7e8cea1ff1d19c5c6fb5bbcac5e264f9023100f411fc4c47ceafae1abaa01c973f68f1554b9848e277ba635378ae6b801bb9c688c4fe535e1106b9dee242860f0647ae0302047c435bb500673065023017d17cfbf621a856442cebc5baec58287d6d5b41e8a5b65cc74f0184f67c9d8eb1fe87a7eb577c51321baaccaa6bd10f023100ad0975660a7ae1402513ca9d85c1c1baf33e3e8877cfb01a8eb658e8085299328630ea0fed8b19efd5f97a33feed8d830302047c435bb500663064023067da179471f203eb534d531a0a010451ea02f506be89cbcca95649ad78b7c4a36bdb3d36c132755636d6c28079a95909023016c7522c06870dfea601c946f455dfcaf540c945dc4c9818a1e901ff4b8ac4ff4c79a6260d46a1a2c65eac7ff7bdfd230302047c435bb500673065023063591c2c776b7d6d19b47d4cdebacd91e1367908437d776b8aaa7201649dbaff71b9625d766ab6cdf32f6d950e6e3f3b023100b64580ff6ed5d9d4b724b648e349d4a3bddc4dcf1423bc112c5a70382076af160bfab3f2a17fc838e9a06cdab4c6bd3d0302047c435bb500673065023100afb5f5903f2e0cc5c519a9ecb2335ffb365c8cea36f6ce6ed7821116dbbd88907dcb4a702eaf6554321b65e6caee09600230527beb11c02479d3853b8ea40bde9731877956c82910d9dcbe902c992d5e505f20f24e9bfe02ddce0a83646c316a5a640302047c435bb50066306402300807767630e35513eb527b196e5a650189332adf0ebaba38fb3a9fc1402e265b354713f114054bbf270300097bdd4c660230709461a2a9d3dea73e3c6713c63cc5d5b720f4a77259af6d9cdcec55bda290179aeb83413f1f5392e2ffefa0ac486f540302047c435bb50067306502302ef3dcea368a663b31ee492b7fd3e085f12b1396aba35f2ab840e1258bb8bd8d7b803d55098bd49e082d551f92d4b27e023100ad46fa9f0e1da49d24ed5a00e9320ac9387a9a9b430fb09516bf2ed65c3c3c6d375f3b40b4107ae8c14cda9e50fa4a8d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023054ace1332d512575ff7ba1469e1d5d3e6f4d92d03629de4fa3ceb9c23fd9ab8a5f147b01077e06951f92da9bc5fc2f3502310096e0df68f7f9200739f2137246db3b02513ef5e0b94f268462d77439c56b774fa3a925acf90354dcd95f8959fb1a51830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100934e6351f5e85cbf3c89f09839c8e55731479ba4f2c7e5f8ace236223bae5fbf1a60e698114672439b3675310d1eb1d8023100cb2c77531a390713f451c42eb236f94a56b7cf720169016b60c30d047428dbbff04682686aee0ae24d7ad8ece4748a580302047c435bb500683066023100cbdd7e2c1de26d7f159f2bcf77e08431622f18e7d55f47b7f1f6e59830fa2fc81f3e5043f14b0be1015ce7dea7ab2b6c023100f889b23c3655dc0d83b7a0af573f428d867bcd537581c908b7f79deeff466ddcd47c7d18d33fbc6fb7547acdc6e91fbe0302047c435bb500663064023010b3032b5e07f02a7e45c5b72c6ea779da0bfa583ad2b6c1b5ddb277da8b2b381283006959fce347c1cc439e647c938102306a67ee156d6063ef869b0683361faca2506562657aa77169e17481c4ab456baa3cf70b22abf0fe7e3f63833ff95b0bb50302047c435bb500673065023018648a04f3b6be52e7cbe7108150da2caf972a9dde12c7ef8b83ccc35ca67d3e96a053c9583362f6f048738ae625ceed023100e8fa144076b3e4ddb02f3439de0552c01e6765a03394950cc9f44b1fff0db264498e8c0fbfd42f7bd6e4820705e1bbc30302047c435bb500673065023100e8ad02de7b3855946c0fd88172f954c736aeb55b7c2673de52a5f0056725df77ef381935ce3a74427d7752592bcd9bc202301933613b6a15be5ea66dc73b590db92b02623e7b568f4426b3ab8b132a6b82a3dd93abb4b5f8bf3ab2e07e2148449c2d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b9ed473a219596043ff7cba5fc56818337e88fe34e4e66029883a90d5fcd92a7e0c2391c3db939ec7f725e9df915e47b023008c0e4eb4b0310c0c7abf9bc016edeec011ac49681c5b79d8cc19b335de664b4ee49e273ec4913a70edfb4b767d74e430302047c435bb500683066023100b66f47b340012b5f1d42e3b0825abae1fdcff71bee800ddbfce41a950e478d4846e5814878de4c72a877963dd0f5839d023100fb39b026e1fd2b9c1e8da706bbd34d23b8afad4132a707c4ec7e3f58071510f53ab23e5a4cc90b0fd9a1bfe3f03848cb0302047c435bb50067306502301fd5659a7517305e45db19eff2c649fbe4f2b26ca67b2a2ecfc4879db4d553cf4cc90662abefde92d3390c559134204d02310082318b748e88fb0fcfebd42e22450978ef8321f4ec4a8baed67d84b7298a57564a529e8f8150cd2fee94d4a53f6f3dd70302047c435bb50067306502307a08f645215119e06d17ed53184236924c169f16c5ef26a12ac8730f27f89831ed1158957fa085ca511d314b49a7ce29023100a5432e437263d7433c9fdcc4da4c991eb3e57e1b95e006bbf2085ca09eda8f911667e83f33c086761985ce8c629274630302047c435bb500663064023042d2d62c3b21bf89c17d7fb6f6b57b7375a785c5b57893fd5dabad7947bce0c40b7aab1b5dc36f5f725d6ce573d37d4c023058214d14e1d37cdf1e5a252ec1aeeccf402c2176e290babf9b6497286f0a678154b252be5077327e42e8b9133b811eeb0302047c435bb500683066023100e744942d87c83100cd3aa8f3890e3884613fb0b26e0a52b1cfd957150a90b61ffcb7add5587b6a92b59c783984cf7e0a0231009705abafdba2c37bbabd3ea3e521e6d8dc1a549838ec164f89f5acfb13d0ca11601f45ca91114a7aa9bd6668b4c933750302047c435bb500683066023100c6dbb2bf6da0c2a9b807b7e1ae1ff8290199cb2dd34133d2ac12842dce40fccf206c3b5bfb5685a5c847c10a4c23c0cb023100e7b85e07d4e490145fcb1f7c0a7a7cf3198733fa6330ffb9ac5449d9a69373c151b0397846770a9edcec0f9684a1b9510302047c435bb500683066023100c976cbc14d99bd71b8a43af8d30f90c8b87d5e18024b3f463caacf0c45950eac179c032ab2387b406e1cccc2912d45f4023100e02ffb1fa2504f80d880ba37aa4c936775bc11ea28f96968511acc32c767d6c2325f3978cfd8361435f079483df95c3a0302047c435bb500663064023052bdab3302a6dba949d5113b62221e6e2f63a648d1dd13b634b3b9f37d5bd0ce299763085ab6deb4ef6dcb55f35c69df0230799213c435b7fd163f48cea6d5da9b842c5479242444fda79e595aa5cb7b78b0aefa7a8437cb7d597082c80cace12a320302047c435bb5006730650230360cdf913fa1ed4a3d2485c1334304874b7535c0d4157a146ba50758b243435b913eaff72cd1a5b530c53062483980d3023100e6db885466c74b7481bb800955bdc1cfda3dbd49a3dec0880e7913b9ef1858edbb74992de54f8b10913e0fef17af6f250302047c435bb500663064023055ef7453d1fcc697348aa0c5c21b0a5423a8e6d24dc1308d85aa048573835b1562a6f4c750264dcf8213af9ce3b3458902305b858f986431e7c975853c46d1782489233010978c3f0de772c985fb1f94618c8e092e517b856d841cd4b6d70a6ecc960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d5b16dd1ac4d4c0a0f0d1c970b06e95c1fd4bbbf92f80e7afd0f20f7aa5de22bc7db35af6ded6c49e26b725b49d1fe9a02302484057b0384bfa737acb9427d7f1fecfbc531a2a6e4c2eb0b8cc8bb05df67708a92a422a1c8bf43bd8134422a85193d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303948720d9260ea65fa32db5dca91023ac69cf34e88ec85d98a51535babc0ecdd422017e09970ac3e5ca31e95a482d1aa02304e4f00fe16869cfb4a54171d311f8b53ec219cd4214b0483c6d0eb5aa990c9ae8d298da7a8fc9e1658eedc3f2c1eb1300302047c435bb500663064023045103f1dcc2f45aa5df2ebe55b192db96cbcf0d99fbc58262b51c27ca6614ebdc77abc562d51e8e9c3fc8b779850605f0230278f8eb4a55ba70370c854e876e8684109aef71a339235c39d739fa14e28aa6a9071a9a09c840e0ca20d5486faa03de60302047c435bb50066306402302afb3dc4a3f5509e8110cda1f3dab37a187350a1bab1b76665601f9dfffe34c255e2f771d3e9fed2be32ace54176465b02300a36cd812339ebb3db23d598eb1d789630d1d05835716603463b77d679f6cf48efbbeda60c17c66dc01cbaecaa17027d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cca5d1144b0d2a60a16227cc805d49356cbebd0d947e6c8bd81bc25da8e154d19ac3f8f1839899fa114af7aa2b80a57d023100ece8d99a30964848fddc1a4187e68767ffa0b667868d5e3621bb835ab516a35f2729cd1540b1d594aa7d154d10aec82b0302047c435bb500683066023100ae5ebb46f6b66ccbc504ab392932bfc488a2c7cbc988b80b69dd781b516ef28d7019656d33a25bc7d4b957d37f44bd3e023100d93fbffd3e3d44c1ed622ef34bb2bf3b0406544b2d36ba46861ad78f34e81e7d4b9bcec2809e94ae6d99c7b56bd2f60c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d1bb8a415db5c85be3e735ab3284309dbafe16aee3f406663cccead003bfc304affb1bd33d295a7e5ffbd0c4b9e2f1cc023100c2b5ce05aeb9a4fe6a83cd32f5a542d4f159cd2d9195db8828ee141b1b50f03bdd9dad2da396c499a2c3e5631b10d6020302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ecf563a1a46b3f9973449b2f4c84a479ef15b92fcf5f0732d541ff7aa1bff0bc00cf635051e9f45653a578dac8ee87c8023100ca50926879d544a2270c65ca16a024213d3fc9c036c00420de536e563223f8649cfd46e48ba149686fe4a15eed95f1660302047c435bb50067306502303a52dceb9a790e0752db5a90e7fc56f9a2d5f69d699a57e2997ec2fdcab7d39f1fd869c5d9c27258a66bc3c9b52e833d023100cf3d464e9caff98209529b4d66c4c986726b854d90b5cb58df364f625821d83d9e953ef1b561a313ff153e61dfa42a930302047c435bb500683066023100e9b303fbb5108cb0ce455d84f9513a9f9dcaa335948dd7a8fc4ab889018a4988a9ec9d4fec61878f53cc4154471e8f3a023100d751c22b95ca9d992ba3dca673d657b4b52e76e2e0528d7c1cad8aae992561ecccaa582c33cbc85de8079730f716452a0302047c435bb500683066023100f899de39df79e3b4e584a184aec5edb3da5c58a240ef74547d050e88c89387f09924741a0b2daa8721cee22f26fbc8eb023100f19ecc4caec88bb50f49bc5a9e59fb273698fe7038dd21a59d0106904ef540a99bfcb0cf925776bbc233cb189179b1740302047c435bb50066306402301374d7eb05c90c84086a59e12c79ebb6927646082ac6c933d15b42d676ffa494dcac54282ad90cb5a67deee170d985020230040a4981750172044b8f377bdb62b41c8fec9a7b00574338df35696570b3c50cddb6343baf443c8fc36b4b20bafa23ee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023007d2bd176e7ebdb185c8fd575e34c5d2cd72d1834550ce9223a7bb7c9ad7e4b3f808cf67eaf2352c9f9408b461f3bb46023100ccf9e8ff601f81e215814fef94073547414de3024f5d314e2f26320a1d93b84941d73b05cf26728c448b56d03a7953840302047c435bb500673065023100e703ac605fed8e1db73d48540e790409b0db7286bc3bc21b57420e527afad99578a8b0588ab5ccac9c5fe1bc78a4ce8e02306cfcbfdc5ff0e8eeb2c32d87786873f4bb9176e9c5326db5989a6bf714b1f3bf1e1a9400265f9b79e632a56501d8234c0302047c435bb500683066023100a8c42c945987c6d63de6b466a0c998413cb48f9e6c804de786f799fcfa67ae8347fe1be7b0295f6b257adb258dc4c364023100fc9212b0e5d16a055be97edc789114500cf0a0f2a0bd97f2eca7336e6c14f79f1cf05ae26783907a734b596a5de7a56e0302047c435bb500673065023100d2b7a80a77da51e908feec4dab8ed2b8d31332de7166e79be10e6891d43519e0865935c878214a42fb16b7a83e97bbc802306c84fad75f4e84f5f7092f2601ec8a775a1e35b730f85f89f83fb699237e48d01b57e18328f0caf4ebf384132473a0bd0302047c435bb5006830660231008ca1a1ed128e4792aaf5bcdb920cc67f601e793ca09eb23f699950db195b8db145b822684488440cdafc5ba4402ccd7e0231008357e5423a645cb88b34274a660cb8d285598ca1aabfc2469728db571c3ff09a9d589649351ca0b686651b6c1c3b606a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303a6fbcfd071c91e4b43162102c9c1280c3489097098ee555406594c58795fbad2f86b4270f2372afc799b8206faa09c80230771ec480fbfdb2bcce560178ccd99597a662af771a26a8c669d2acba1a6b5b0ab8e252777eb5a3d12d2afc1e577d26490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008624838bd79f60faa2adb9db4864d4ceb6f4f363fee5254a8bb5b16090e8a7c76ba277fd7c9074c99d499de04d7aa67c023100cc1c6d40a8078a7d892755c2bf0f66369e6adb78479553e3e26683428778ea1c97c15d1cc89c2ba9fe0be1f83f041e390302047c435bb500683066023100cbc2c242cd26f3e29fe0cd48738da70c5fc9547a40e75f28ae6675a3c5d77622562692dadb54e2961576ff383a6718670231009308bb72122a78e93ad68b9d53dff67861b159b5cfbd82547dd03f7899c0dfe2d88ace5d0872f9ef5850c21bcf9832b70302047c435bb500683066023100e89957f6c262c4239a463b75367f61e229b4596a54057dea0a37efac963f489698adb5b27e9581e93c3bea88a88ac7c8023100cb77b26327e77bda84d43e10106f666504c2b7ae4be5ca8da9e5a2c85e102fc8031e760e808d5ef69e15c65275883f830302047c435bb500683066023100c17af1bba43f0a62c517e9c55840822e14af7be47fa3e7c8784c4bce710ff3af05324c5628313042fba53523343a8cc6023100892141be7b723dc79ed5d2d29fc154e2120ae619d1d78b504fd38204b6c21d5fe37b98addc9c927afb52d240d0b74c950302047c435bb50066306402307fa3f000fbfe2eabb3050e643b3e17eadeb17b501a9b27275d7f30f042b4c2c13f3e5f4279d099d22d1246d4e5f6b2a70230393a8cd7b3815582a58fb1bd99014de176db2dc14a044af848511d850bd9a640dd2106a38658e07d287d68bba8c756710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e68590714f24a2a85dbbb20f356bd879412e908948b92c31ea4f9d41d056992c60e8e44a07bbb849008c6fc531d7c941023100a821e19bc51b6f95e87fabec1b3f863a4ec7c6c3a34a4236c0a5653afa33743524026a38dc54ea1d9fd0e97e69143bb90302047c435bb500683066023100e8c4c7965c8481ed1d0455e1ae7cd4b88a513910c87f4fdcd59e4fa91dbb4abfb39dccee787f94b9e9c834bcb2a8bcf0023100ee3a67ba7fb46996e8508ac8e485d33f1d741e0d3211203edaabb6f393fad70988fc9467a01fc2bacef65bfbcacb4f1e0302047c435bb50066306402303eb7754a807ce17f37ee9ee073e20398a54617cc8d9247f24d84f11c66e308d22e2f607e436bc4232488dcbdf02f04ef023018dea1e1d92e76a16df39663c09c757855d6e8dba7033d7395b214f70733e557abe86a5dd6035c0bf49d064a720ae3670302047c435bb50067306502301ceab69f61619b62408e590682a53c21c890c87d3ff629552fdb1d78f87b21b10065ef5e5392366be584f77afcd3e261023100d83edec95241e1d976f734aaed0c1a50a3f15fb2b48cd910268ccf1588c06dcd35fb92af7d288c3d08415c01f4a060ea0302047c435bb50066306402301ba4081350d3df9edb7ffad0acbe9ab7c0146d4d7d838bbb643847c428bee58cf670b96bb42af1c347239671b3de43a0023038ff28b384fc2eafd9aa452c0567222fcf2508d296ecc5fe50d2e0d4d554511e920764cd75f12a4d201e62f5c4d8e83d0302047c435bb5006730650231008218ab73f1124ed63bb55a8a69f8046c4a03fd30b187f290f8f7095e5f2d3a477bc4baa1202d53785856e817162f100202304898eef9b36de3d7dc2f663ced41578a7bbe3a69108c8e9fce163e3e0ff082e72f646474462f7e26c69ee17cd32198290302047c435bb500673065023100b933ae27c28fc7a4b3f031bab23fb6513c27cad6d85a1c9309895f37c6d63e5b8cf57547cf57bb003dec1e3c3e7850c1023056a944cd62ed281dea89003a22ce7762e84e941ab036999b171adf80dd07a69556fc797c4ae333b05e33244d92136d260302047c435bb50066306402303e1b34715b12a1cb8e9580b0bbaa9fb29312161c1777ce8af6aa33736ccaec0784ce4d4297f47fd0e2688805a65bd42302300c627eead379f5d6553fe716af103be086b3751217b386b47932a351281105020710607d5e02149786e15c994d23cf600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b413b9e66387c6b155ae7c2c992f673fc750199ee08b8fc10c63eff9c8fe5e8b947de925627fe3ac7e141831ca591b502300adc54259d92af7c3ff5e637fc6c4ff4ce9b85b16b1e28589660c4547e7bf6d2a74a02f2693c74646967f4dc7196d5e00302047c435bb500663064023018c71467ab7580596179db346319b6b3c14b021ec91907f2f05f8ac21e45b963aee071d9bcc7f65d4b81d84c4efee3a102307565596bc0bb2cdd3eeec842e712ba39ca87da6d41f4afac4aeb00e1f5c610c22737031183c25b481d965dccfe6e676c0302047c435bb50067306502302dac6818221756ae84f18cd102f6a410485048fd3cf4b61619bd0ee7e1031ea2615bf2ba5bc9b7006ac8deddc1aa31310231008e67540a3b550fcf0bf63297217424883a0811574604fc205f88ae03df538a2e8409f0110efb77ea9e9bc0ebc6d9e2a30302047c435bb50066306402302aef41903b306293d79f09fd30fb768959f79ed1aabe133023f441aea4996f297aa6678a4d4383c9b1d976481a576a290230315cbdce9cedac117d7a09263fbef8fd553b261b849091e8c601935c1cdf99c6b7ed6a252182d6e79ce8c54c8625d3ae0302047c435bb50066306402301ec17a9107b9cb5e718e328ad28b2a1af3624656edbc540a05a98e70efe47718d4f969727b9d2636dfeec8179c4a24370230252b426e54f1baa08ca1e97dcc1581a2f0618f5ab29a6a71f201d885cc4370af8c60a69cbdac91b331bdbde91e46f2e10302047c435bb500683066023100c138e08a9b0111322d71b0e9a476496a97e4c272cf907dc29f1d5b6257aaeed1b6a752a4fe0faa20094ce1c512bf90600231008c4599276e814dd3ff89e1c1115425e32bc28073bae217fa1119b54b85bfa84540e931db10b75aacbfef52c5522ce7b80302047c435bb500683066023100993064bada40afcf38572ce22057495e0a825f49020d5b2aec5ff7818a8b8d73e602b44b1bc1e39bbff939e8c6133bd0023100a1566a57384f739c23099d36e4da9b6d5b26d043cd41acb7b4ecd3891c5ffb301b5e7c69201c621d0486cf5449d626450302047c435bb500673065023070934669cf86af6704e304c129c1257e5e535120b4005bbc9d19d0b592c06757d7ebd09d27ca9aae77e6c7844256a4f6023100cbdb681de478e50598be6d5f9e51847925d1142521323397bd9ac87912557ade2b4b4cc2ad2d3b9f20b74d20d4feb0430302047c435bb50067306502300bb706233c3d67c569e3ba24952fb64b42cdacfcd49a1dc49f563f25e5c176e4b244218b5da7cebb8698ed6495040cb2023100f1427704676da0f4a9a302d7fb7c7733aa9dcc25cbce59afd9f8bb503a6b66ec4d12f87b393bcfe8354ce9444946c4070302047c435bb50067306502305e430bf7291a65be4cefd86d9233c6f861479996a3dce1102990eb61139035d4426741bfb686888f9116b3d2a7a63d3a023100a019a79d7e49daf77c4d8d6a6e1c7ebc159d927614ea466c6dead25571c32c11a54050ac2f5f17fca3fd7031c990e3320302047c435bb5006830660231009c62b022ec656fa6e86ef802167e17f387d8b4cb9ce598f5e0056a776d0a2d555fe1c703c9805268f36e3fa20107814c023100ba5b2bbc790c03012227b6f01ac34c2cd0cb1e13e893830375b4f6fca7defdf920257aef53ea1a86ea0fbf20965d22c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303a0e6362f27ba9bfaf0a8eeba285dbc0f1724d33c99f90f4964e3fedaba7477ada57fd82b3c92cf9429d6dada6d3d06f0230559a72494bcb057ffd75e32caa2a7abfb5c5271748765286eda7d931f36f85e2948697a08d609be653183726ae9c70a40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ec223d4bf70102ae54d82bd3753568038a4ca590e01784a9178e285b929c7b32d855fb992c27a6b2734c593458fa18ec0230088e738d630b7f418adf53aee30212b26783d69ced9138d4d4ebde96eab0bf1f8e6f307642ab411f6f3c7874aafef79a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023039565f0d2624d7b5b5ea6642b65a5a2256fa76b773a7be9affea125fc61365922e4d5b9a20beaf8b64a75c8db753ff4d023100fc6377d38f14f747eec2e887176d238019f963c4fe4a62c23911ee8db2561f97fcacc36a0f0c44d133de402a5a292e5f0302047c435bb500683066023100ece1e32c1a91be1306f4c74ca5fe0f96fe378796d1f81ac9fa68866dd0232dc72ad60cd52fe1a1486e42da499e16fb3b023100bb073fe49be0bc0517783bfb57aad97b1b644ae5de1e4db62a17198fa257c281594f356e12275996facae8fd996fa9c50302047c435bb5006830660231009a5fa7cc02d8129e52cdb92233a82d6894ba5457e5cfbb9c6ce7bda1272056735113961b0a0f48f90b326b05f00baa4c023100cb2f92d347ef8322afa05efce61ea72a737edb42a1cca2b2920bdae27f76e22092f8cf15b9b2cd26450e120fcd71f3f60302047c435bb5006630640230792be812b9f08b431e499e2f8ac27444b19975e1b9c29a3b530d21537feb6c9a0f1b08ef8c25579495b9c7d1684f9eb30230469a5be463bea5aedde21e7305c90f1e9e92be0afc5f566077b6823de4d955879a53a813bd1072541fdbc4f1bf05a1810302047c435bb500683066023100fc577437b911ae5eab5981e5ac351fbed4bbdfc6f22e09078ae72dba4474b1c522b0e2effbc69e8799788b05f45bee4b0231009ef8cb5dbf32f32fbb95ccc90e1408c5896726a7d9c41b704f7d809407cf5689b1ea860e27054310662ca1856fc5031f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd85f5f67013812478e961a05b7ec2f3ad9f878dfc6d84a07a54ade45ef26bbdac756c2e28bb15cabacb97b27b0cb4fc02310093183451fdda5340a9286df43cbe74348ceed463a5cf55c2d68521bf5536298ae295d846e92d241b7e47d5a15d93de990302047c435bb50067306502303eefe3c7e44d8f4a0522a48e52aabe7cccd28d220b1f3d4f10a9e7a62c64ee02c34882db378e737dcb811f9cf3719243023100b9bb76e4d4b7edb7158a80cfa752041ed0714500e5cd88e4a5c109d42fab6b8640e2757161eb725c222a383b684ab8080302047c435bb50067306502307bb0c2a27d67e063844841cff34fcda6b8c4d56eb76752b7b6131ef833e57949c16d85d27a04f80a44dba391619eeb30023100cad5fe4a0521008b108a664bd11d6e29a68eb5704c532a5783ffd67710632591774de3584e7f2b354c38be9517acdbe40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fbff07a754f2b56ae9ece16af23a8d2a7d3877eedd1b0a65dc2cf48192bb08d8dae7b03bbca1a7c3c53a1140b766ba3e023100cdbfa8c39592bc41dd3e0653d649c35696f369af65636d9ee2e5b44744cb6dfe03e34df317b43ec963545f36d010f1030302047c435bb500673065023100e3cf7141b2e7524b1304bbf648f0f9328d7140baa8ff4d85faa1b4320c2693b22a614daf594343506994be623bc53a5d023057b89dcd7172b55d8bebc3869857b1fdbfb90fa2180c12dc91d4444e212623220859fdd2aed4c5da96b7baff95dbd2fe0302047c435bb500673065023025adf4b8deef47feeec4852cc0544ce1416a92edbc3ebf7dd817da4001d8503bf70691bd33a6336bb668d0e8024554d8023100fccd82ba60365769b9d3523439af2a39a05706ce5eb2b03eff2ac5048597497ea78b171c879e52002b87d4d7ac149dad0302047c435bb500663064023072f6333bb88a3678d0d928ac9d03876707c7cef93f1f8dd72488746490c102daf777fbdbcf7f42bffed21669433fe485023024653e85344511af65edc63caf936dc2bbdc894bfa87dd695358d8b32f20c8d73f3bf5930bca8a463fc6e0ecce7a1b270302047c435bb500683066023100926407c2c22fc79ec7db94ea5ea449d57d175f8751ce3da7a69318739ff63093aafb3f83ed7bcc22e31307a338e176b8023100f5d210a6f1e9fd21bc4257213036970469d78fb4683686169b53148ee595d9ac8812b9e691eb3e69e9df81fd789e40290302047c435bb50066306402307c9331ac75783458c8fd36a8b5d9bfc3cc51c9634fdaaaae92a964e3c7534e44618a0169471d3504f912c4f173d23b4f02306fe54cc0cf8fe27c090e263f4db3e53feb0b8c70f135d308fd8e01746cd09f1ee12f35319c92053fc17bf6df57a01bd70302047c435bb500673065023100cab7029accdbea95a77f653843acd2c617dcd891fd6b14957d9570930f747114fabdfd47cae0a03c8f47c64ffd0906b10230012da811f4ef37331296ddaf2fa310e909206c604195955af9043325f724911a0064af79e851a41f9f59c08c6e2969db0302047c435bb50067306502305c4f290591fb1d32e16bd1f3d2723d49bee81880c454648fb90b2be63719ba1afea51c7d95d962592a3e27b1cb78543e023100ca2d87d46d0c5a858adeb889ba298ac478724b94f39c96386a2a8294838a53d24f71076b4131d6c6bcbc9cb9b12c047a0302047c435bb5006830660231009d7270f96c965703060eaac4fdb70ac22280dfbdb0a6f9eae9722a173e76f2816b0fae7a2a6cabe04b4a1a3bea6a9e92023100817206147ce444902ebae3343c38af8ca2582745ef7da8a3e1a235c4627b3e4abb0ff47074a350aa5dd8ea7ddee45f7b0302047c435bb500673065023100bb9269af184b2ccc9534bfd9670668f0152caf4c55aa7a980df9a4dde3cf5cb45d251a341012fa20b21a97a0a26a00df0230483aa89ceb8fecd161ead0b60d640c0d635ab64a42dc8bf13e311a4824237f48afe7e1688889f7da07f2288cc74e3b210302047c435bb500673065023100de6cd909b0efa143130999b1bb1173f5c4e7e73a544c19c4600115c1433f9e3e263a3c1db3cce20d043420ab0b134d78023016f1898436270866dd0faf2b6d53d2cd9a3ad7944e6ff4d8c42fa34f9835d0cbcb8d6712b5665ef16161abed499455590302047c435bb50066306402305701ceefa4b363acf3d0eb48d2022813158e4dd0048ec3e7691f1e35e03c41874815dfb73c103074e873cdd052205e1302306910a581b2a880ddd6f83ad43fed72f84557e70889c77ae3af90b9156a03dd0676d181054d01d619a15e05c9997c0aa30302047c435bb500683066023100d9d73744a503249d5fed2a3029973c8e384d8a015a64426766dc19e1d63012734be873745cf1a3f96765b81eae67dc760231009bc7ff902bbfc7e1cd0d56807885347a8979d2a1adc7e6632c6583358623db5fa13ba7981ff7e84d1161ee834de167350302047c435bb500673065023100e35e4e8a951d628893d61810f809247a96bc23f9a3044ff1dedb3377c7753d4811313be537ac2c22b334198e8aa675fd02305a8cae7fe5ae8b0742ddc8a45bbebc9212ab481b0c169277cb0c997b56832316959fe1b6df2c6594d5f5e6a7af3b28650302047c435bb50067306502306564f6f6ad02b97877102e4d8118717468b00b01a90cc40b618d3286b2609c18d076d8a59759cfcb91875353029cdf72023100b79d2c949808e742ecad2e0634ab87ced20cb81e8bd4a189ef50b6bcc5206a23ec21306b39e8ed8eb11cd491785bd8290302047c435bb5006730650230361b182fb7c0553b5238735bd038099190ee8d6b2a17c0a80e2af8eeee12d036c4de4c84cbf8fffba0fe7c4c7003348402310081f795b2c934e151c53b87cd84abaa4da35d50be913566ed1171f54bbbca694a82d8fb9fb2aecc9d312a92929e19c7990302047c435bb500673065023070da6e7e4ebd24c0ba7a8b317878f719cb315f5dbefc55e48c5062ace5dec8c52d6bc866ff10719da1ec3ba6aeab44c1023100a21b334a337ac5bc55e18949651a0db6b4f34ce22627b6655ede3b67a1e17a58e71f6543e4e8ed74869c7d3793418c1d0302047c435bb500683066023100cde7d5c36e318496a1c65b547c308e1614c3a10edeef29ad7282b5ae1df129fb2688f6a0d2e915548f4913ae6008f177023100d46f857dfbce3f021c662784a0fe74163deef902e73c546f9e0bd0d9b94e6f2da83b7612285e15026d491effe1123f900302047c435bb50067306502310083dc56769204f7230207bf88a1cdc84a82dac04d2c6884552f1b64c95a306ac4e9c21b0613ffbbe221f55704b5982268023027ecc20ac6e210112861528b29e7945261204590ff1542c7f531ed272984a176829f66a2109da55bb4b91bba2e6635020302047c435bb500683066023100ab31bfc3bb8ac29c1f9eaea3a2f61acac780dab052a807c67a3b3682206a936c735ac08ff33b7b5ffcf90995cbeb537e023100bdb91f4bbece4607950a2d3b4e3ee748c79e98f472364e309ebe9cfd55cf7c7ffd5b8a32c04a520fdd2095979a4df9a20302047c435bb500673065023100e15d49cf73e748b6459e9889a7e623fb71ba071d11e7acadbe5705841049bd02d11453b6d6eb4e9b19eac71911d3c9fd02304e4bd765b81f172f8267c87b44842c5568669298707ade1eb265cfe12ccd81ae80249371d2ed8bd0238f02b1f61a2f8a0302047c435bb50068306602310085a2d7069dacf426c1f222acd05f7d1d0f807e6c0d66d4f2e6e87c57c6b7211ecade5d9f556c7aab38d66bbac45b274d0231009509c2dbf06d5226707155d5a8a18cb8814d4b694938a478b2b4d4adf6ab1140c32a9bb314ca895fbfd07634598fcd7f0302047c435bb5006730650230547c7074076bea44e66db05f60b0b9cbc99ec511d2f0efaf749c9f1c755c560d4856999d938adb4013d16165017fca75023100e06b3ef4c36c3de2b4dc654efd447b36fbb50af5ac9c56b5e720e73e9cc366e2bcc4f1f2e0f8ce0c40c412b90982dc040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aed52c37d64172c43f1b5ea0f2d1e1eefc85a4e8bbaceb137355798371e2fb8d05ea775594e9a8e736b5871cb745bfd102304669ebbe28cc0aa2c4d1a3eabd5fd587ca77716d486c9b3905898fb79dc30cdb00d19c3df0eb74d5c8b4a9f24237494e0302047c435bb50067306502306453833a9f23e3e50137b07b615a42c4f1b700c5cea88c83391f9f978f37eeb2540a53214e995e6ea07dc21c33ae44e8023100c1778db2f2fa7737de481b464bc96413afb870a7ee334e10108c57c54b13018a0a4b5032f9728a858b5ecdd4f90ae1000302047c435bb50067306502303aca63fab164f179dc4b3fc561164a6abf0cd71cb1e98397ce1df65d821cdb3a91a4111a67a05031e698116882253f24023100db51f9eedeee34301e2d2ac0d8b0df113db5a0290686745f7130c8fa8e8ba308b5de3e32228db72a6580d5c4c45ddc200302047c435bb500663064023021620c8eaa7415b0e3f5482e9298d3ac57102cfc5a28486adccc926a9f322ce9123ec778f354293b87a8a33775ecb81402307f27962e23e3d1a4431f8e1e491e8184298b6e009b1efb8c6daab9ebae3d9b511f6f60276a5c198dab8d2ff006e75fee0302047c435bb500673065023100b2ccddcb651d730d716a618561fe9716f2af026decb9c563c30a064e46bcc79514f8da63970f13930eda75e1df040087023018424543762d53c64fef8f9e5dbe46b1c6a28fee2799fc739265c3c3038cc8092703a6d1fc9ad9275fee77539ebbee4f0302047c435bb50068306602310085ca4df3b978581cd18e019524950538f1f834e3ba4982df2e041fbefeb8e8661a4ac1d4f76135421f1adad257ac5f89023100fbcedb80cf95c6ec75acd828f79e0e6283385f99721ce6de55b4c906b74089f4016f62f2c09e4be10cd074ce2ed909e60302047c435bb50066306402303d87da69ac808c47b2f9465c2d45cb88e1f0e1f19b789f418e5b0610fecee5c2627a7e6b7d3a176290b61c8511cd3ba302300278882028fb10a17599d3df25d7f5016c8c249953724b602b745521c21829af23b00d5ebd4be767d00b13a53a659f620302047c435bb500673065023100fdf7a8b3dc3684cd104ea4e6b0f545e2f92665aabaec225e5f249474829fb8f67d1073ffe2b74c9241e676af18889c83023033861a8b07af4ede2819bb04ac33fc9f2cdd5c8fc81f4d5ced4ab877d81207908a1800e10a96caf34e17de587bee75610302047c435bb500673065023100c392b038403ace3c0a0bb0d7d01a032bc579067ce08283963be7275c12ef36021fa79766c9e7d48d5c746ad34b6ce71602305d36e246f49a3d29165173f345c20aa20300357f0fc37537c71df40e77ee35c1be6e40aa18bfe1a5736f30e8251df3c30302047c435bb500653063022f78cfcd5b190984bc80b27ef7c6e3411847230d6f44b0816e39cdbf02eb9f3656e0f00fca2a2f038e4b16582c81478f02300dea01d6ee417aeeb789fbf9c098ca0520471bc348221adafadc6bf3efc26ff8413415d8580c1fe6d25d9f60e93be9be0302047c435bb50067306502306db018a7993e91078ee9e0b0dab4eaa3b9b07f9b991768a34e5ca18e2110e2e766d02c19999d6ad324197cb0103448b3023100eb4f778de93523da2cb1bf27828e32657eb8305c505c8019bb675a430c1ae04db24ca77a43c3e5cf42dc99a9f2e205920302047c435bb500683066023100ba4ff444da7dd595e44240b9d95a3435a3612536053ad46140b1556a940465fb8a05189617bb3de7f6de1516c843d591023100ab81f946bbc9b93835a4ba8390b45b403d6055782ed4b320d0f3d18477b6c9ddedd5e52615eebc531b3e0a95175400a70302047c435bb500673065023066dd902a703733c38131ce2be8490b5f6d881ac2a74e6c1ff8deddbbe4e9edb96a4422de902c56d536b4f2ca7324a9a4023100bf82ff3623f0fcabc3062a1682aa7360623fd48f21407971e061d645f698343f499164bd55a84ea09444b507f207e9240302047c435bb50067306502307255e537aabd0ea3fc558a9df851322a51ce4972fb66a63bd42e417e622310ca253bc4333e0f41d55be39983d5cc988a023100b4fa462ded64d301dc7ab9c8d2220718630f97aee5a1c8535bbf47341d1ce1661d5751e88589d82ddbe5f7d8e4850c5b0302047c435bb500683066023100b7724150d2cb7d9172560441eb89d9e1f20212cf2351bc0f5eb1b48d1518147c04101ee29e7cca714fcab03eecba859c02310087ec58889cd234733df7bb89733c8bb80fe2d641a8f7f8de7e9de96d8be727daca8e0ab75796fdc2c0c59c10bed4c7c00302047c435bb500683066023100c585c8554675c26d87c5620d3a084eb1d45537e6282f2247a984e7b8de413c0a9e15cb5818b2e4d3fe117defb0ce3329023100cd14f5f444488381ab5faf7b7c8c8b4cd0de41e01610e1de92e5dbd3a3f1e14f39a586ea58932a847759149c7278bb470302047c435bb500683066023100c71b43d7ac004b906a3b6f3fcb3ebfff61acd54b960db5ad487d64a73292dac7625c39457d86fb49a523771a9e11bf3c0231009992653cc771dfb26765f2edbd53e86a42635d657b35db260577bff42dd31c7bd3d94b6fa91cd9a3748c9a71c14d5b620302047c435bb50067306502310093ad6646c40f5a4e9fdaa05fe99f8efcf2378cd8ee0f3f01f6e965e4d0e8cf18e4fef637ae083be256998f29b5b62e9f023061f70b013c23628259fe1b44d4c36b71a72ccb790996ee8a07f30c997b168cae1c6d6fca18ad7511fd602440a9f37d330302047c435bb500663064023012093375b203115a26e4b9b64bac732497963b3e14a30b029b108818a2b7e5c6d57db2244c03ef8e2cc0b5ef2b5fcad002305556392fb2dcaea6924c964f880b4e420728b21ab1ba4b95f5f160a2bbdcecbf5d8c9f72bb28d91e46251c7ced37d2d40302047c435bb500673065023100b481053eae9e370930abcddf5b6e9c99d0a8650b2ce86cf70d44323f6dae04a9fd7d3bda4ac7159a662eddd637ab400402300c903e8b934262c859f1d2edc239a7f3d3c9a51cb441f0f0291d84c6b64fa9d75e1a49adc7d86ea77651f025fc97ac730302047c435bb5006830660231009afb54554a2dacf7305fe8888f201258f51d83c0628f6f204eb8360c5b8108bf6a1247e452acab5b21f9e49c814cd1b20231009b409226451583a78be1062ed38ca4a1f2ba0094b95863046e7336d0e108028ba848f65347265e5163ad591272067d260302047c435bb500673065023100b7f8de6f67e5bb32f386f57de5c2124d1b7619cac6159146f49f9cb6eb043e5360c3809408f5dee1a17225d0247ac4fa0230103bb46040e26919411f29c84beb04b8af0e584b7b28046e9449ea05c8d99da918250fe7379b7bb90eab286af910dfb30302047c435bb50066306402300a93d6c826882cde7b49092d546a802581d2f988ef94f056c4b027c00b0f9b142774030ced870b7a73e26c483cce9b6002306733d737373bba4cf0fc34ef18c2912ee480d27cc5d68a2fd71d96a7b75347300dbf225b4cc852e147b45dedaf823c120302047c435bb500673065023018c5d1f8c77de4b72360738a081d9d80ae602af503935911587fd7400776ea7c7a79148af8b1be38506fe5b8bbce51dc023100b49d0853b757b64fd0bf5522f87c588e6fb7bdabf667e0eb74c8eff798c6b2b6ccc12d336b7f8a1b31b5fa173df1f4f60302047c435bb500663064023053e1155ea046ff81c66b82706cc17ead9a1f125c29b4cc5c2e10f8510f74aac075005d87787f6ce2b796d9fb018f354e023049fc811d05e5b1da6ddf597fed048e69d0a7daed2525968bb822e30a68dae415db111108b25dfc61b9aca9d39bd6e0290302047c435bb500673065023100848bfa2cc9b28430495d1b9614f4e7ff4bfcdab3a6c1b297d183b1c5cc76911c42f1db0cc844a9047cd67f3f369ac24802304a645e8f95c9e0fda53fa314a0606865e554e3bace83d33c3c65f52747b3968c40b2ff025813d35a78c8cfcb0a94bb0d0302047c435bb5006730650230610ac5290ad1777ff5c9d0c104044e280c62e2ec17a833a3c379a508e99abfece9d6685bac9f0246bf0c4d123f114863023100a72169d97e2430e26dcb5a4586b9757d3503b4b39c72558ec894999bfad2c88d95104d5ac1f93dc754d8ef8798fc68cf0302047c435bb500683066023100a34b6559044b1a614f7eb63ef4e631e51b4cafb916ae5a0baf4989bd8562c47f4d71e19daa7a864e6959c2cc1755f0b8023100d0d7afd6d1611408a2a9a288e83c7f852885a3ea1476e95b46a34c0b0673e002b38595cc7219e45f03f658fc08c318020302047c435bb500683066023100c37314730f1f56c2203136fd3dc6be88cabdb30483b74b8cdba52382743fac427bc2db379195a76322723ed79eb5506c023100bf6e65c16a7d8fd6f395c4752afd533c8c228547d50c22f3feef6a9c51db00519bfe9034b98ccafd2ea707dc03b565510302047c435bb500673065023100d3b35e1d01c5bfc201f0a2bb7f96c5963fc08fa81916918e4ced537d6005b7d65b24f72927a1255bdee45ad8640251f60230442ddf2eeb8e049feb352c99c0469c71bbd3aaa79109b39397e6a6059caaf47c1b4759eb10548745c8e5f5423feab6870302047c435bb5006830660231008fc03b010d886825b08ee81468eb170be55355d181c59840b0cb0fb87ddcd35675662ed0da15c11fdb3fa4770dcf37d7023100e0176de6ebb046bf5efca8e5c3d10c8a967f0c750defdd21a90e6b50773e18a8b865cc0a30a5c9cd696864ae15954ef20302047c435bb50067306502306ba18d0dc54e332ad568c448f388236e989cb8b569124421d92a3fb53a53269e25aea0dfb38b2c9328adfa628b4cf197023100dc0815858367e1a820ca19bcdc410230bde94d77cc2bdb1b0404b839b64cf49ca188bf56382c6f2a3d16d8df1aa066090302047c435bb500673065023078516588a44d00725c78fc235769567ae471724a1e60fe4eb424052c19c993598e8656950f2f78aab346722edde03b0d023100c7dbdcd06ed6908db3f11c74b3c32c2acd05defa30f48a5606f177b2f9ff087debd4480049bffa42a8d204658014fa380302047c435bb500673065023100cda22b30e4ae44a2f72278cc6151db05672225488d3901bb3adbb5695cf08e7bc83dffeed3903f3f0522590fa67cfe0302302af59b8e74c2900e4fc15d59da88c193b3ae55238b0115527d6e99c0fe50a2188e43d5fb8a0f7334097da9e0a8dcac930302047c435bb500673065023100fedd305d400a1dc8d8b4da298fc6bcda5fe9d2076a93a05ace399a539eaf07e4b1878d87d49f47c716f0782fb28a36ab023017028bacbc0717ad9984484cf3a47936ef06b9aef8e17debd9e4c7555bd521cb5f13e2c51b00337b0a0fdb1fd3f6296f0302047c435bb50066306402306a8794822162ba7a59c45852855963c4d6e35d4adb259b8c88f095cdecadd61ec0609e85de36f3e4c74ed0d0527eb37e023015648adfb497b7372b25a1bcf950bcf97dfb754a602d86ed6719ad0c4428639508f87fddf30609b11bdf0eb3d6d9dd620302047c435bb500683066023100f857e81efa6fcff4c0dc214bad090155795001a57bac647412b046430999e752738d745ccf8b7b1482706a6e08931d79023100db884b41007de8f91f0ca03a7189362bc660edda314bbd0cb603f111721ef7d13b7a59188ac5ddccecadbfe3e96933ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023018f55426cb873318d25b03a81bbfe2d2e1719581a7ceaa2f59273bba9e0162d911c0d37856997ad1dd1a00fa10cc9aaf0231009a3af5a96acb6e4cf1910a691500ca37c9b290ceae6c6e109bef7a490401ec5b14db42c4923d58b4c7f6844f23e456400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a4a1d59293e2f65fa58c700d3a15179e869690d6d29f062b090d7bf18113298f225d04ae12c266b2a2790870b65b8ef102305e68209d60b2bbfd4ff7a3612812a942cc4c862bebbae82f0996522042a3b5922c8cb446caf967bfbcebf3f245f6581e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023001cf456130b15464d7c4868333379c4c4be135e19be66bbc66d2cac23cd8e911159692c7656fc41264152208ac75c094023100f30bca6f0dfd327608de40af130ade31ad582134c26c9d33d9d77187938dc65576ffc0bc94ddc265a2d0b08e6c6902260302047c435bb50067306502303aa85607f287e6effbd0cdf7f9399d52cf2da636bdbc1bbad80d629632efe2a856753c29bb4b85875f266a149f99cd37023100ef6c27a9fb397b9a77113ee1865f5e0e486998dcf5269f08620dae6bd39f9fd115db9f1bc2b2a016b03c77e4dc7cb1f30302047c435bb50066306402304e9c58cf7feea8d1b703dce9836e4ccd9f0d598cd9920becf5cd0d35f816f3363e97b6ebf123a56fe8dc295d96b08ce2023053def6e67239d9070a170371469b9f7aa1fa3dbe1e7a2ff868bcabb5146561426f749862c1fb16b66e8eea1452ff53180302047c435bb500673065023027ff72170cf651327981c2ac856607b7c18ffc1e254b559aa4d43ea3fc97cdf10563539b7bd0a8272d2f7640732b11cd0231009dd26a75f18586787c659c688845ac04be9e5f92b752b64de56ff866a0fc4ab999512e04aa6b353900d5ec8fe753a7f00302047c435bb500683066023100c0f4e1b04b065459a6fed4b871c5df575f2cbadbbe72f73ae14ccffbe20f01dc0b3f7e5d66db8f1487887c22acd78b3a023100a0c76e9c7dacb1224884f3a4af55dc614ffb94f0d07d48fec6ad4345dea57d5e5c44bf6fd7b2f27d037a2cffa606fe850302047c435bb50067306502301d47a83035cfe34e4d1c34922949965ac0e36a9043727f515634447c755dbea56ee9191330404447becc0efd8d6d61c3023100f81d6242d074a6dd7b50bd38c0b4470c351f66777ce6bd44daa71167566c27bddc640e7e2f63ef15ce9d838c305ca9000302047c435bb500673065023100cdc1ee169d8f342361aa36c1096d9cd0be1d494fabdfe67e7b8fb312517ab74d7fd465c6c56aa910059875e3a15c193c023055c7aae4b97796d83b34613a27ef553a3aeb4222b9ee7d187d384b721bbd19d7e9e3c6685dd1fc062f7c37829c7bce710302047c435bb500673065023100ee10713acb2a5b1146ca4e070105eeb8680ae0146ca71ddaf47bd837a3a6e6dc223ed1458b718deb4bbc59fd3eb5ab9d02300ee88ff963025dc508675df0b2b943e33a97aa9998aad949ec1e8c9abde537722f939f71300de814f0002cad5c2ef68a0302047c435bb500673065023100d7f8072cc8d8a56212cb0d75d9ead7ec1daeede8e24b9426fbc790d7bf84d54367e794a83e08c2012894f4758ad6a61d02303bdff5beb8fad75f70124b5a33f4d42572fc6f19d0dc115aa34e843c58fb689d39118fcd430af4238b6d0d859338a81f0302047c435bb50067306502304c400c97fdb171d49d017a5869e7645feebc5f1861c2c3534eb089861cc85c339f3fe44e4f6c3b43fd47a40586c64a490231008e820586ad84785cacd4d754bee5fae3e3f0ff700da2b95f0a856ccaec82d31cde3338e6760171d11ea1ee3efcfbd0a50302047c435bb5006830660231008e8f438c816dd31f4997ca04f552b267f004c4200b2ba97e703b5229b9258b876367ad32b9a45350126c56391bca3d8a023100cb2276270114daaf919216b6cc3a684ad9c0f983e0efe59c22d94b262aafed8311e658a336b7cab14b08d3cf785e72d20302047c435bb500683066023100ee52a622fc50e05adbcddf67785e71f27c63231a1414fa098bfe1692cefbdf1776e691a2573882def79f801771f5d5760231009ffd3c1e344b707b31134f157735db61f2dfc61fded6c8a82b2b625395acb2431f0e3c099dcdea5d4ee071aab225589e0302047c435bb500683066023100bf48842585b497d31fd2f3985cc3e14a0eea2ccf81d66ebf7e3d9f58e8dd17371c69dc60bb6cd9c0b9f3fac106cf297d023100a8bec7e73049dbd13264eed667128a590059890770faac105fcd22ef9768ea24f2a4b9f49437f206c6bf88c08e77256d0302047c435bb5006630640230643bb41827e4571fd4083cae9ce33507efe3f204adafdcafa486f969313f8d9cb637a20c66c378844e145a02f696d575023048e686f0668ca914750b8283b8a629eafc1f23d5e90ed6750a5354e685d0ade10fc3e7440dff69c683aa530a06a6f0380302047c435bb500663064023047790feb2569f2169f959810e92a0003f948afdf3d0b6a1d1d3888c06dfd558305bf8b251a82bcb4ea78e8290a6dee9b02301298ac6a9aabbacbe1f619f0d2fc9f629e8381211edacf943f10c5307f52bffa8d7ca255103490cc615e922aaa4998540302047c435bb500673065023100c1838ff45d881aa18a3d7a67a238ec5d9afdbd3832b822f6bbe4c1a11c308eeef67e1442388988f3095a8b77fe47f2a002301f30c8ec56e8e56667681f0b52097123438a5f9e5c73aa7fed208a5eab1883704b11b69e555ea8059462106134887e1c0302047c435bb500673065023100e03b9619e31bd44fe864e933f897597d44e20cfb546e1b620cac744d2402c5641e79f559182b4f974fd90931398a99d1023036d26f9678ebc84ad46a74ab75828aa3d6ef82ab31bd62ced6c875d7a52e8aa433a82acd6a6ea1ec7fc7e2cb9c0f4af30302047c435bb500673065023100f7e5aecc62db92558afc86d2f359fc50fd0d550850f1186d0156da20cdeb5bda2859801ef9b0c6ac95eb7286277be63402307cb0ea27deb31e8c17f1318522a273601225c40915856dd956b82bf03f0826b87a37c038ab07ebe7c2ae8aee8e3928e80302047c435bb500673065023057911b0b0c34bd283b2fa86e71c8f24a607a1f886fadae1047872da5e10d9afa9aba53c40b1024190f364c2d8a331ccd023100ee9b7a7f0682667e3b48dac3d42a4049ed57d38631fcdc1da3f04faad920968dce5a6c83a5ff9bd7d62f46527fc0efd70302047c435bb50067306502300e6368193317083bb1511022c536c1f860599322fd4d2e571a3a3fe898bf290ee0dee4b13662c17f1b9db06d57294ce6023100abbf28af04f63392776c0d7ed4e19a0b1c067359252438ade2eea190f4896c3547c4e557cc72a58a1aa4bb2bc6f4275c0302047c435bb50067306502307a06d789a2f97e3ad31eecc38715935cd2225575f0aa0c01402a39d3f51a841778297d53a41e05d5039977042c533a16023100ea19837f4c4ce3835d821a8d53e3711918913ce7a631e3ac89ec50253666455512c85bb9ab4a2097fccc1bdadecd20830302047c435bb5006730650230234f2d17f3ba3fc8ae4ef672cdfe5c0aaa15aaa62c35f2e594e1a2098d3ca162e71c9814bf9cdba7af56c29431e052f4023100b7fd2fae0aa5cba266105be412d487ae365e73ab6ecd33557f899949038e3290b6a81283a55371d08c18be8210c1f3370302047c435bb500673065023100b3d9fe2ebb08550e77f5bc760fb6faa021a5d0f7435c5e394f6a36d8fcff21d1fd57cd26b90ab98664c340c92a6f5e2b0230426e6ac5aa7b5b18e3f0c4fd1cc0a786f6579f1e6016097478110dcc9c37564b2610c24d3fb5e6b275f6aa039bb4efbe0302047c435bb500673065023100c49b3685b153c27b9a012f56ef974e2393214e6c365a9a3b964ed60feae5c8333eb6f52fbb0eb1cc932e37bea799cea602300657d34be42fea2a18e017106e4a8b0151fc7b86e344d272824999d206f3998af416e43e19bcb3fa971dcbfbe8391c180302047c435bb50067306502300fbcdd9cf5c89787ba70e89d8be7758455f509ee4512ec0dfc356854bd4b1e278c742a86a0324d3065b826c577c0cd70023100a9bb9a03d175e1840c36a41386ad0e94d4ae9cf98a5586045369c0021827f769bdd2b1d49dfd688fd398e60fb7293c320302047c435bb50067306502305c0c14bddb7030b326d04cb74a3d81f34d7026c0b277cff8778e56244eae35421b773b3edff667253de1dc560d1c1531023100b3a8be9d9c1246df252aba4cfe8ca77507869dd9046225db4770b255ccbf2c23d0f08e44395b3e6be966ca8744a8e5320302047c435bb50067306502302b783f0af59e61443b781d2191d62eb11a88da46224f8fdbda674b4fb4ae8a8e740da4ed3487fa314dd97a970011381a023100b37d68a030f87b7fcbdf9cf9f761c8639dea1b25867c1ac8393ce1aedb425ccbb0e241269d308302040e0c3928ae925d0302047c435bb500683066023100aceb741af48853847f43fdb10a0c3fe40b00ef00713888f0b0db19f6c73d3951aa5a0f337ac414fc6445b3b2b19924f402310097a02608ad4127e1265571b49d6d443694459567f51cf5fd932041da8d8103daacdaee27d364cdfa43d1b375b82ffce40302047c435bb500673065023018038b653a087d620115df6b9b9c2e142f1debb14de376a040e4dcb0cd8fed9e4a2e87169c42e77ccd3632a9c36561de023100d3b2fbcece3a78e7ef6af77a10550aa2d2da6522811236a80a669210ab5f0e420780cfda427897af5e0703a609e569b00302047c435bb500673065023100a7391c5467b68950c9254a20fca650d9fec020e8b24a7673d7b5bc3c351ecc66a9e36de01c996a32ed9368d6b0a9d8b40230102c85aec2b8fdf89e4c26205cd34b244f27bea4673f1fbe94463ceadfabb1a2909430f38fddfa2165848940072013320302047c435bb500683066023100ad2d2799af32aaf123eb7915d6ab085d23a7a0f796f2f7e7ab44d36cf9217ba8e730cccf47f582af5f637c1dc502bd06023100c57f8804ed608506d3af8aea6833389d4c1ebeec36f8ae9324caac64e799d003fbc2d7fde8ca21d746439cd64e24f5de0302047c435bb500673065023100d2612985212d7b2c900d67ed028d78c6242f91f7886e5da3940fdc0e77b8cf183f95b86af46e0b71932e806aa83528100230551e59fdb337606fad536c5b13c8ef45a391097bc8c1b9bfb5e383c1b10a2768d3bcd4420fbd91907d26f85b1205f0370302047c435bb5006730650230773c72b18888025ba5a14fdda4278b2866aa95a068a678ae6fbf23eee42bdc5d46a80631cf7dc679b24259965103b3ac023100b35e5e9892e7807d82bebbd47a7b4964856381250d5932666fc2713066ee1afb1561d35abcb297ec2cde7489091e3c260302047c435bb5006630640230024e19cc9e7c16da13c3ee3ac5432138c95dbba579a8a34949e4bc4215b499046069f37298cd842184ca50dd287a4036023063ce3cf26045d848503ec00bf6686d69c9b55b144631f656b1a8c9aa4787633cfdda5a08660f60c513a94aa467cd2f7e0302047c435bb500683066023100c8ad688f2822dcf80b9a2ab194ea6be9bbbd66a48c86bca396752489f23d9ed7fc097bf2c830b74c2c8d38603fa6e6a9023100e124b8c258d5fb83d85bd5a58cf8e63eb7e1c385d3c956747b687d7bb7a702384b151a92144ee5afd6fd4f9323cf0e180302047c435bb500673065023100d42ce8f2bdb9e1248f6904f26620e28ea9e4404f7d6739ab27973dc25f29837f8f6cf6b25094184511f219714132d5a602307dc97b83820b1a92473f3093ffc4488cf52fa19ef9a27610bf6af8f82b411570901bb047081d76289aca4e3d447d63c00302047c435bb500683066023100f090da652aedcd24bce256b6ee8f2ea1fc870d4e6245566ba7b3466ded9406b7de8f6f572e9f2664f9db09c0efc0e29d023100dc8e3e09cc0c9e06f1c6ed8166be5148dc4418aac1a747257494d950015b65252be4db6578383412d0d9fb52279b92060302047c435bb50067306502310095d932e9aa5995c10d9d64ca317e664caa131060c468966c960ea7e5d95e12426253e1c7ca5249844cdf961b3383514d023008562df5f858e16246ebd9daa1045a2db540b5ff6e7325111577780a7cb61ba3b26de767de681654503518c61e6db1e50302047c435bb5006730650230100973e866a234bd9b60be642f2a050709ccdd73dc91e22a68f92d49c8766345c0f75bdf59cd18aba60355427e22eeb2023100b3233ac5524d96ed9a867aa1b4561537f2e43780e1b5b0040f3f94ab57b31d962c15490c563ccfbc270b2c9a6da19ee20302047c435bb50067306502303d8a7d98cad07f3b6b0d35ff2fb554eaeb0323a24538414126c5932069bcacf5342822fd2f5bd4cc67d886dbd290212c023100ff4149ec7ef7d1ff262d947da5556b190d84e144fba255702c0685e73efabe4912cbb5708b0b3f86f7568fee785789b30302047c435bb500673065023100a8395f6719fc5ef5260ca58c691cf93588ba5b51058334798b6375b3806f6f8e36d710976923f37144ea6a918d72f9ad023053b3babb7cf3ee07a429da27fddcbf5f8243b8ef769bf902885d606e444ab0ac8619bc98c74bb893c73c155882b461360302047c435bb500683066023100b91ab7cb026351bcbc17977c03a2e134631330d9e2b168986d094e503f385314a113ec1fd979a58201aa9107fc7a785e023100cdce8c7c72e4cb7fd887f93d8a3ffe0bbc985d510b7a1a899f5afb138cc81c43a0f88666cb42edc38f897439ddeb68f60302047c435bb500683066023100da78fbbd9b73880bba3dbc086e96e72ccd63663624995a628fb66a071f2fdadb94345750ce9616e5b24ae9fbbf0f2bc6023100e4d4a3860abcf683f4f58a831c9d8e0734a75faf60f42fa5f7745f83432e31b603b812f0dcab277a28ec59e5530dcae80302047c435bb500673065023056f1e7af2cf5ee76a1f427b5f75ea450680a9a572527c84c61a5572a70d36bf175137fae4eaae971596ceea063d8482c023100dca0c35d9dcb1a76ca5e0a55dbac34273f35f90077e3d90bd192502be12fc4275ae878a6de02a2865e660c4ad0f98e150302047c435bb50066306402305f49c59fc2b77e73538fac46ebe3e25cdfbaf402e886e73b591ac4e186ef55b68c34164622f0e1fe0ca75b99ce32c6910230522fe654750be1339ae4f7beab9a2337effe4f9ef64588a4c55dcd7644c1e7d2f242dd3735d1bf4864f0a6b100456c520302047c435bb500673065023100a531d39a8eabb3686793d48783f8222e4741ca6a36799b617298a9abf893b766dc9e0e2dda4fb9b2bf23258ae53efb3702300439088f9440cdcbfca79a51725dd17f19cfb56e34f05c197cb2de09255d0b89ebaecf1f9caac4196eb1d06ad972ef730302047c435bb500673065023100a56cd9fd8af3e3be9dcb4390ae36fab688b3059ca7a3fbc6d6175d8a3ac20983e57ce1637523591ccbc05e62f2b91d2702305adf487f5ea75214916b4bb6e6000aadf556f06fba55ff0f47e57cc665384f0be818cc7aa2d17e6634edeb1f12584eac0302047c435bb500683066023100d710e13a849775175d76f0b2a48dacd3fd51d1da8956d3d38fc23b3a1d76171ebe3d8ee77c2b371382fb001c13fa2577023100b3e093620e7548801472355f4d704a46923a990f1cc3a1a12618ccbcdb0f1d15ea53b87a7f95f5601b0d164e5c8fca990302047c435bb500673065023100e7e99071963703a5391154de169e8bbc39294be2db797038d341a67c3dbb68d4505a4bc6ef7ed50e22ad27b2f29bcd770230356b3064940f95db10a6160f5977f7b18765cc68e467a160c9bc149f331d2ef98462dc2c1d82d8c73eaedbd2bb444ddb0302047c435bb5006630640230729d45b9be5686fceef1c8cf215b0247bfc113abd494a47dbdb037a9ab598c2a2d70e88289207652eb2fe51ef51f782802301faaf21481a266ed4d1ddb2aa6d101cde1625ade0d4ed7d819574f931af9b1c2c9ef864347f38e3ab596477f71f2200a0302047c435bb5006730650230191a6cd26202d03b814b17ce9837d5cd9b3c33bba6bbc2c9da758ed2c6edca890b1fda14be0c0a916acc3e511bee3664023100d4c0f7e50887fd090441c1e2b3b2ec809a176e9bf1b0a7c0a1b74eebab340949f89a484f2d3912dd08cd8942a19f26fc0302047c435bb50067306502307c89ed554bdf2aa8c4b65d8b82764b7513e03cae1184d332d3b4497d977886b3c4f0ca7475bb808bfbd071db737258670231009839f4e0dc70320d89c76d39518bb3b82a5c74fc637bca862db84fcad6caa94774020fcd6bf7e4963227ff1afaeaaabf0302047c435bb5006730650230643c559c726f3029074cfe103ddda8210ed71ab50b1709f94ad8717cefef3e5bb07e912176c2c854c6e16f0a51aef447023100864c95fd307c1e4c9a9a29c1c9871ed2cba20135a768edfe737b82ce84e905cd29bd1e9ede8b9c2421e84e32c1eac5e60302047c435bb500683066023100dce99d30af0baf253375018dacf6e1a411fec088136f2c391d16872d332632ee493fa06237c2d302a81cbe34c356afe1023100d0dcb283c3661d4af6d6d529ed1420e92b67f4d28abe4d4e5ffc211907f84d20e11324fb78215dc140273e2d1a8417a30302047c435bb500673065023100c6e3b26c047a3f67e9ace84321fc00f1acd4b993560118b177c0c353f1520210aa9952c4163069f286b03e60858fe9e30230020dfd44d44e9e7579089f8644110ad4e23c62dc15c048744a0b496a6436e314cd33ee49ae63b28904cd9fac25f13a660302047c435bb500673065023100c2635ed81e1c82c411e3c8084957600759c5c33002d0dca0361f9b3db91c2373223f04cbcbc5faf17d176ddaaf3a39b30230261ae2e7b0592005cbe888f5504a254a9ed97d52fa61225cb04392265594ab96b957388b6c8277b78c63361630f83b4c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230149e1d00e036feb389b90eca0ab2209055b7b70628f394d8e03ec96df5927c6b55a35e983ac8190471754604c73e6645023100b00aaa43a2adb9dd6a86d9a871f747db787d79f78687557b3b67b00a41186e8f7222c5c958e305d544a1654b88db81260302047c435bb500683066023100ac887b3832c998893af4dad4e842c7608d5e2a0e77e11e5dbeb4a4f591e26db3a339608754b417f9fe5474e8e02b4787023100dd7d180a3a0a074766610523d4c850113bac4385eabd452277a2780bd1db57d30bbf1b1913720b85a9a105a2b6dcfc0c0302047c435bb50066306402305cbb27d8e6b92783458cc321a3e750928cbfa52da2672d52235c05e4559add7d2b82af3b19467e71dd7c71b60e7708c202301091244a33076a16956963dd9745117f76baf4a531d4b774d51e3e4d96de72aa1c9230967b0d76b6a4a53f815dd2a9d80302047c435bb500673065023100c87ad4e112b341edc31a109c01db6875e98a40fa139f4d3b93aa1bdb77eb1d282424b6e0bc510d1b5045cd6891b15b8002306bb38f663ac8e5a72a3620c518ab72ea874cbf5945c3d831b78ea9a450e1fb4d06eaca485542af31e8d063e79d9443e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304c1330573053f088231ab4b1bc599c011560cdc8dd0e6106a381836b98f3d54ad5edf9866ef673ffa479bdf072c63559023100a162e58c985c9e51f30e942980353694b9db0d8867902399d0c290446bfd5c09a0fb346d055a01257a8b81e4260b07530302047c435bb500673065023100cf0cabf7313daa04b4da27098f25b00c784111de99fb365ba8d48f04c9e20466e5b2306bd46e3d0395e7bbe5e256bd8a023054cb1610914b8a256b653759c55d5893cd611212894666320bd98511fccaf1d6ffe758d7119ea4fa071f420eb0bec99c0302047c435bb5006830660231009eea3fecbca0d85b8c8c2fb818de604033c5527cfd7f5e4e0a53baf8048b572a06bf540a45f9d634249cb14ae17c8602023100b9332c6b4a564ca71bc3aa9c7c9d13f8d06c25927170792adcb142773553e81f6790629b2ab46c61148ffa7461da34570302047c435bb500673065023100a4f79bac89a96b02055d209cdcba00e8042ecfd90107ee7d3f5789b6a5d8cc6c4a8f904f8d8299fb1018c63e9e7eb65e0230413132c09efce3e8294cb4e20c0c52ea62949443fd9175eadc7d44822df5fabeaffadeea77fd42dfc02c007b67cfdc220302047c435bb500673065023100b3600bd7099c6a4081767bd7f2d67c2007957c1c2fa8b9012fd430355cc66ebea80c5940a4a5f70f90f4574186b20f60023061d1390bacc5cb880d15109224d2a8be5598a8ce366db24d0051f367e8538c9fcdbe84fac2bd1e00ddded1c731360cf90302047c435bb50067306502301c06e42bb6c8a5833819e5146b3a1a82c6bbda9d9b646da6cd50f15f0554895db8df3557f900d5aa442927461d56362e023100830ce8adca810e34b2df47cd268a900180fe32b5abc57833a79d01e0877ec3a0ebfabe6417a17ebc976f5f7c3f6e70f00302047c435bb500673065023022dda6243997054cc5f795fdf0bcc9eeeb47e934600788e35c6f5ca00910f50e95ce25a655a90ad3676f1de526430d81023100f312442130887642c699390d0e1f766d110a883e7fe70f498a9285c26efb3f8975c9ddb94126c7d0d344fe8569a125c90302047c435bb50067306502303696bf24a4e8e4c3bb5a6cf48f0323cb0e6f8e831d4841924c35be5171652cd816987ff7a2ee2f5d1eebe1916f7a931f023100bf632521d3e2c9160da726868a8519a03fcecd466329e18cf09a4f20fba1e98f67d1f738653d8a8f4341c1b84f53ef130302047c435bb500683066023100818ac306ebbe0569b2947ebc3a3463b43084fc7e10e2df7ad6c1b1891237c5c2277b021bbd2398339fab12383dc709c2023100dbc0e2d0244f41df84e1badc40793023c52b628c64349ae715974d87384dc177b557ae3880e794879a71a95535b4955b0302047c435bb500673065023051491581e8e20ded7c7bc5f8bf16b4570cca265f5f580c650dd7c0978d8fb6efc3c75823c6dad96fb3d7648c2ae78d11023100ccad29f58e53f04d3bb591dce464a95646a962083b5f315f70da8275fa1a4a9f08e7527499be3fb5f775958ff0adcc7b0302047c435bb500663064023008e1c4b80040afdf4cfcc52034ec07516140441273972e88b1f32f2f1886c84bb635a8a3e3b98e84cc8d24990b6ede5902303b1048760d1b9192942f517289e658a97efa2741b8834bdecfb41a78afee06248156a025b6e936d81bd41fc92f0819e50302047c435bb500673065023100c9690325c8ae9f6803cc4e3b77d7af6c681763b77211ebafed2af0b7eac80ba9e79e74d73e99b6dd4bfc7d8524168d4e02305c626cb02e8e6b0ec832ca5dee832e04c4282f3e3220c636e607f04349e56c32deafe59cefe0cbde61fccfe32eba0afb0302047c435bb500663064022f01ea611fbf0ca8989bb7a33012db4954b73826c2f13afb3fda5e1af4d1d12f9cca301c6bf66ae144473fa28ab15c680231008598e7c0956bfdb8946342f519c541eef13000014493e624431e43c6644648f0248c5c6dd11f1dbc5bfc5d45fcc4ff9d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302b204432746bc07328751db53f6a0a2620fd07bc66cb5ff63fb11e88af538e6047c71724986cf81deeacb21d30e472aa02310084dbfc0e0e79dfb6b202186f62401f0e852441a0b045af7b3a436429bb17095c75f3b1d7840870d4f782dd8973166e760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100be99e06ac20b7400d712ebaa60d727b0f0d423f6d82d2efdce92a8a530dbe6252e4a803ba2aab38986364738b0a76e74023100a8a6fa856da775a1bb1bfd405bad3ada9f6356f1a0ae092d4463f3a0a126590f3a78a86ab45d099463e25302cd2bcc340302047c435bb5006630640230782ea79d1e734a2da77ee0a0fe416a68d872b66892c082485a2ce72c9f796ee048c74f404f5ed8c568d203b920dcbb88023078a77b085674c6f53bc72bbc77c038013b9ad5c3d7066e805a9f86a1254be3611358a561df61c8bf6cacad52a2f18f0d0302047c435bb500663064023013857e97e5df68e86c5434e6e5a2299f069f1bdb75ce72dd4c31925f889934d398f59b2938237f05bb65d684494f0c490230013b5caa377b664635f952c020d3da480f5657a2cb75abc10ea259d8a5e6dfc8bcbab261ef3905ba616c4ba1cd8720060302047c435bb500673065023100bdd6b2d241c77d915a7205b074b5994285be787fa30c48d2c7be2708a2f5c9706ac04d9fcfd7a186d4ea1b7abfb3a3b70230462f480c4ed2112c6399faf4a531e858492cc654ba7ae3bd6f7b3296535fc0e970d11b6d89742da2c49e1dc1fcc5d19b0302047c435bb50067306502310097a20dbc9d84aff1843873374b78c375d39a64e2adc1186c16e3a9d8aac69a09a127bbf1626a978b31695ec448e1847102304cb5cf786afed152e24455ef5ac1a5a2d59b0dbae3825675b8e0de94b5d3aa26e1557ee06700cd1a3f187b3b27ed60650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100faae0eeffef7ff241729dc4c81504558561fad64e27e7e94ac7f6440f7844e1ab83200cfd3c27ee5cda6ef27a7176b940231009ec51ceaaa2956e761d7213a828877b5d0609cb7e4acb0b80930c51ab681448150fe47e61ae6c77c3452b4834696be970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f4e74992ac036f9dd46d1881c093794304c0f4f8fbb7dd387a96d3555f93c36ced142575f78baf9fd89358e7b19a604a0230733cdf7955343a6b8a20dfb0fe1239aa5dc7c137d28d8836ab61d2592ce1635a2370c2dc1465ce3c1da84552faac00d90302047c435bb500663064023010ed0437678585cd1a7dda6498f681b15af71d9a4693f522cd5a8fd01fc7769182b1a38ee7d8b3d877992507d5a096480230790e190264809c2fc1db2bf257ceb0489812d3f534169c5ebaebbe3f191a5f9d6c39f65839a5b3956232a93110f4e34d0302047c435bb500673065023100ab54e8cc78251025d0e879e4e7ad061b62f77f9bb2024a1e6f9a0f5fbd3463cf1eb5dc71137ea2e94b9b8eadeda74f48023067e154cf87a9996dfeb24edc2a406b7fc58b788902ec4d570360c812f50a479b60857df280b356dc5b151d0b35d41c440302047c435bb5006730650231008f047f12420082c5ab948dd718177c6189926bba5336d054a74b00286f065d1663da4c8c7d95581d74cb2e9ea5330b11023031d15a6f0f53a0665c5fe1ac36a586861a91e8b61fef23609c4305c1d541534ab858f5a2c879fb28b038e2ec6eb2e3db0302047c435bb500673065023100fea80eddad54d94fe542f181280d19c4578f67b9e70091e5ced8b6e8d9e66676d36b93ad4c0cfbd72772d78e58e96a270230773483451b11c5d5efa637f13fd9744f61b6b63b0ea6953f7a4676c9cd8541ffbe8e2c73657003ef3805e264d525ab5a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023031aa73ead55cabe4cefc3d439ed4aab4d26f7283fce6de8a593dca09a40fe1039ab92781bd7373b6664cb0fd7f57045f023100bac88c03ec9fae7e2b9dc3e9d04421444bbbdceac8fadacc524cc33aadbb74150ea76ff20e28913b314504a4cb840fe40302047c435bb500683066023100b6c76bd9d585922ee5194ef7e585f6730dc28bd42b5b9c34bd7b3e24123abe687e0645d9d6d245e8b03ac1922b1621a6023100cf2c21802ce9d6cfec5276cf3b945a0ecfdfeace5b09b6a7f21a6cfa34fa3c8020d2dda258981aca073d6c14eb5a76730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e33115e2a46af3145de77d0079d516f78cdef5245f0ee143b864492757802b47baa3d198834c5a496516c0237487a507023100a6c2bc47e3bdb76e1654bcdf6acb6c47bd5898ab51a0e47003a5875a403440344326e7a824b0aa1911f30723e68f73460302047c435bb5006630640230529ce16d43544d235e4b3f783bcc8631706a5a85a0d28fe7348f2a6748c59b6cb2c9ecaf2c1e52bbd62491f8832b4ac602305b962e2ab0b30f5a0c247f7f2bea2c8f1f45c255c3234cb5231749f7b0703cff367bc36fc8c7118f2989bc68d0cf2b0c0302047c435bb50066306402306240a809f8ddc388f4b6e7c73309c968975865c1ffa0410f4d0728b92577740f1898e4c1a7cbf08df448029a1b7445ab02307767427fa64fe084f28cb5cdd0599dd763d24599ee7ce992588f98d3c155cdeabdda58eb4cd3484a47e7adea6c2e370e0302047c435bb500673065023045e66cf45d1874c8c73f35166492d544b735cfdb4edeb6df932fd95e8f7b9b69e5636e64ae66831ff8bf60df5875846c023100cee0805d65a42836367dd66b89d83d9e786272c456bf69f92b130e97ff341cf63e721ba5e0825daaf449a259e572364b0302047c435bb500683066023100b1cf7c214df3e9ae19b7e9348b80446cf99aba3afbb4f8b9b4cbffafd64e2dfa185265558974c1440df6c54622c26571023100feca8ab19bd3a361fa0bef67defac77ae6d407fde14a8e190e35e4f329439c8db3326dc1a83b6ca2debf5d50962382c30302047c435bb50067306502303aa4dd41b9402d650f7347df9856bac80215ce5c3584696aa525216ebe996ca6d975944478817ed45ba2cb466d44adce023100bac2eb579e29631e70f7e9040300180ac0689260f2918f28beeccec96c9d0fbb1660346a03a65eb5ae148f52932c416f0302047c435bb50067306502306f396045f09e5921b923f6b6461a7a5616ece082b31ebcc724bcdee721fe1ba038f1fe70432ef9b9a53fe69291d8dd310231009d099c624c1929cd686567dd63a61010915e36590ef953c022679e8299650728e52b450ca75532b049f3b03b8f4862520302047c435bb5006730650230188dd917e3b300010a8680911639110f2bdf1d4b321584d49563c37867bf4dc37442da4cd6c07982dd00229fa30d9261023100b5e9ccf4890f243fec40d11a6abb8c8f486f947c2f1c4dd527b72d3830dc294a063c0438ca0f4b2da346ab7fe79a507c0302047c435bb50066306402303214e1dd443fc272dac39a1b5269d214c9ab7d4fa6ecd3cd6cf8e85a78863633bab7bdc88a65317b37f45e0ea9701198023057c2a4296a7235c22f06c48f778747a2ad7c3e3c927eda177a56ee56cbc7fcf35557046d54809131fa0c84134b49f0ea0302047c435bb500663064023007679bf9f09768308a35410c5555b740ee11dbd75b8d3f7dedd592b19905a9d70ed1046ab856caf31e3fa007b4112163023029d3a8925d030265d8087a3874d068ab6cf9945b8a737a84adc1e93f2331e90f9bcac078c4dd96dd32473ca08067fceb0302047c435bb500673065023100d24889bb9d6b06dfb8962778cb7b6e17a3a948b9591d329f1135338b72e5db3933323f3d7d61f23166672179111c94e402303679b72046ed35027a5ba62627fa0123cc850f36084108db7eb9a6a5aaa6c52659cb783f44159ff21b2d5db0e9b96d390302047c435bb5006730650231008fa4ea9e10d3e65152dc48570d2e71346a74d21125a820ccd0679706c571f2a7a76248538e75f5d5d82e8363677d57c102305b221469ef87ae905813e0149945a567500398840ab58c42dbb263df99f928b6dd7ac3f9b72b3dd2792e85bc3315ee170302047c435bb50066306402306dd8aed39ebf0541148d1dfdb5a61b73b22681c4357e80d54b5c6a1309089765fb81cd365380df43e782fe6afe29754602306079b29dd240d5595c7e287009613b5d6042b6fc19585e5ebbfe287388e9f3ef16e6aa2f4eb735796e1108b9f768c68b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009e3e79a812f0d17cc983e824ee2bd37a6d9f7caab7b752d2302511b3f2af2958941f7736ed7a5c3c4e86a32697095c77023100c34c720be59ee535c35e7fdad3a0f6186c2bb2d63191df3d955558452d79a25dfcbc66d5153551dee9b9a85cb0832f840302047c435bb50066306402306dc8b74ef43b364d734871c1a3e3b2e3d8bb811ea53c5955355929cfcded551df8a9512ed355da7688ca979ae8b868bc02306f8f4f147a0913bdf439f5779c458c49fc1510ca2b6e7a88bbb93b98941e4a58fd5cb3c2523bdce9adabacbc9245ed310302047c435bb5006630640230787a22f26fb884dbd234df6b9374ccd945d13cd2fd512c3e9f78d0f286267d043501e1b885889c25a52e12556a89cb96023037bb2f50344bd97417152234f1268dfe5796cb653c6c60add4fb61b22642908953cc93a3a8f5b10e98f2f7f738376bf20302047c435bb500683066023100bc25bd61760eee34ab3c923b3c276dc77a0f2cd63c1a8de392ec04341f6557db90cea8b4f011d41b68af6c2afb6e6600023100d54570996c6c41a560a5d67792e4e8b5d3084d0398ba896ca98778fc540ef3905f4786c9986e1e1e0adbf0b4b7a4ca680302047c435bb500663064023021fc344d9983da90854e94e5fc515ba76ffc3ccb4bd7e25a10fcfa22d83c05162d6df0502618b53571e970d7d06e24db02303278b1d01b46ff94932f6180e9963eee88c1d8626fd42820912d839b9bb4464f5d1fa2bf859333a7a225f0c2d91796150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300db33b997494c6f8182a35764c897ca67f207d5ae01e6523fcb4a428b8e6bdd971dc229b663c73bec8a97ca526e9eb80023100d99aeff56e82d29dcdfbc488c85f2f0fdfeb7f53f2f3ef71dabbb05c623098df0074056b1d5b7410f61ad57812e489cb0302047c435bb5006730650230311736e772c6d729424c02e19a262f8224422f153551ba6c07b3ad1c3b2eacce2d99dbcabb4d8e9ecb8d50f0ffd75394023100fc28457407b0acc4d4cd946fcf38a418c7d94fbabdcb51ea594adeffe82b5cee149d56c92013a3ec11bad8b7bcd6483a0302047c435bb500663064023079fb0173507b55475639ec1cae091e766686aa15d904e182c15b4d42de7428dafa1e7dd7a37cb7264b37af861c0985c8023029ab2331f311dc4226352c743ebc57f4105cca40ea5459abc51270692da6f81d8742a0d2d9a490a0b83186c1a31f4c2e0302047c435bb500663064023040834403e73f45ecddee33b8298d610f18943b943db05fc5c94acf01856d1693da88938dd3f6e3219cd039bd3356d0080230451e481ceaef9d7fa8335f67747e9eba9288747911be885037a4a0d757896d28b93114ad9c0e866ace26d2ba877268ec0302047c435bb500673065023100e0fa71dc06f67e948f3601b9046329bd3503bd5ecf287b9761e3cda39bccf1da99b1f8ea3f2f3c34bb40eb87ff8d262802302cc0471ffcc5ab54f871ba231ca84b70900f0a070971c437ac07ea7be215da4cfa82672b847944548ccf71e76d3e3aec0302047c435bb50067306502304d7a44f347a8bd5c5cb5f372a748f59ab9964b51c5c261a38f370f697fa0f42c8863304bbed2002434e8dd5931b89356023100efc8b2b8586dcddd9b349d091bfbd941b9518f4042aa8e61df6e880701fb5539f10aad9a18591017e674fa4be557879b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b017ac0e246ad572c36de8970f750e93a2287551f0ec2bb8772fc3a9be48734b4f0e1f620c5694f9bd9db71cedd47be102307270f986b506f4c25c430b892476dc8a513fb50a287499cca4be821231ddf4ef075cb3125b01426d3e0b7bc1c7efc5130302047c435bb50067306502303f9230fe2a08d8e4a4727a1d51eba98d9d62e066e344f40df66861e459ab94dd309aa8b727b60c2a3f07a9db030aedc5023100b101983e34dcb2a49a8ce4c2b762337fc7c2549d728a392886d8378b078d8d0f225f17d7e8bd3ab26056c5a9bc9abb4e0302047c435bb50066306402302e8211714c1d9b2bd8a3bb82d41665872dfff44ceb9776e06a77ba946e9cd9614620b83cb58c22dc62e3ecd588b1ef4c02304cfb99edd66e467bf518a81def0011a19188bcbb66d0f543dc9a97f54786c9fdf2d81a581e0f43de8573518d21c007de0302047c435bb500673065023100bd9ea0f122bffdd88cd2551ef0470c8e10973ae270a136bb5351ab70afaab9d23fec67663db703449a258e6aeb6973310230104be5ace0910d83763d740dd7adf18ed37401a0a7c8ae17d70f2c9e3230cbae8fb705452b04765b4cb5c02635c05d230302047c435bb50066306402304593d5d1cff41158a14ff07789bfb687feddc342564789e76e382a4631c4182c18e139c8636d75a9379e61d5230df5c4023054ff04d1b78b7c062d1c4f8664d26c4a45f36c86f5e4bd8ede7bfb3df230fd465cf2190ab4e2fca718be0f421647bf300302047c435bb5006730650230635f56ab351422b804af4da1b27d0aae13d03d0a25975d445cbc3c87cfa54bdb6cb3081515ab2d18f1f8e81bab6a0177023100ec922f979fae051e2410ebb685e2be3b74f331caa2215426e279574b535976b072edaee2a6a5a5a5cb47e5c6eaaf46260302047c435bb500683066023100cff9a24c25779beee7176dfd249bc3abcf9a1333b74dbbfb08a73790dd0feb34c8a78e6a3a9a64086f19e274459721b1023100b5bec748300a7fb325f93e46459f17119f450e64bf100f3c838ca4a6159193fcf9a16be0ec473b66187155b31e1fa0860302047c435bb500673065023100a77dcd59faef4238e7474c51af80ee14d3d5eac3bfe4144feb73c640372315ccdb3b9a7999dea951038de411883d78b2023040cca153f235a41d57ad525842f7a583f471e21e911464d2bddd71f974777cafcc2c0adc4e5d8250ee7201147f9fa4380302047c435bb50066306402307d3f86106a538df565b857dbf6238c71759bec33ce9270f9269fb23cf0dac214f1bfbb85e0ca2bd64994e9db1d16906102300a862229d59deeaa3645f6269fee04ba8617558888c54339ea8080a3683902195fcfd80351ecc2c1ffb1918a983d22000302047c435bb50066306402303df1ace8f3394cf3feb611fcea2476afd8cc71af97dcab0f28fb82356b37bc98a5dc0d90b77bd78e8970615e8882d7bd02305d5846b0d8f4c9fb6e6ac81288a5e7f4aca5f516d8f20bd632c4c68f8991496c296429348c1247b6de1a76d6259f56500302047c435bb500683066023100c7b991a18f09538c66657f4d4e4502a176d92c9bda011ade419306ec419ceda76726d8a74ea276791744b5a3e62fd41a023100f1d52f14e2035f96d5a10263d9de076694d5fa574f9f6046a8298d4be1787197c3f883102f1325fa98f1b632ddd2b9200302047c435bb5006730650230379685c0793ce175e36f02cd3ee43e4d38b834256887fc4941d80716ed3e81ac8f3a227d794167b0452b9b5193d9e87d023100dd2d8cc88aee3a55f758decb656e6384ae1b472b52d891ad259aeaba0daaca9f9243103c5e2dee42f008ed128033b31a0302047c435bb5006730650231009f7fea0cb236d022f85875546fe9345ae4f2e7f40a8c1a4dd625a8f0500c1cb2fb5ec4e2dd12e403a3acd564ce752f130230033bf15a4e502312f651525942fcf0521e757e837b23ec699e86f4e88f1ac1f8049048ad4267be344ec2c580eee489890302047c435bb500673065023100d5098f5dc34eb33ac610a790a38634579a2cf3df5c7e7d712c3edbf485a3ab86a276498dad841144ecb15ece743e13c80230091c2fff3528572059606035ccf43a80005b410a7f00401b2ad4c65909e913dddec03eb4f74a30101be54491c2f305ff0302047c435bb500663064023022e395ac38c12924ab7365816d7f776d449a3f89227dc37aa58da2ccf5638af3778071da67a338ad294610b11171a16502305bdbdcdeb633487ffe55eac2d5c400d5be0cd9d80d8cbe8e9726d20100b36b54702177fb61ec3c9e57cef6af873a4b930302047c435bb50066306402306238910923222d5d9d4867f45c2541ff71851f992162d675b7e9d25bf8edc83dff8b1fa6e8f0036b806ffb0a059be591023028b368c557616359136ad0d511a61051454d53c2996231db01f6ff1e2c31e07b2b8313a4e94b64bd6e55bf7253aa9c820302047c435bb5006830660231009d02d707b156a4cdeb8e089e6f4af5df07672327bfc50decaf9ed00391b8d7115ddfb65f2493990f1d56c5e12f566079023100a67ade1142db6ed9accc16f19ec4a5d6b986d55243d435d8fccb72260289ded82aa5231111f3181bfb27a117b34c98660302047c435bb500683066023100df23297080a5da4fd2666b5521dd4b02d120a7e767401feb5d7d7d06a40b4d32726dae9276c814d7aaa92c89e6d9f44e0231009c35352386cabed409f5657cb6c3fc544477706bd6760d142f04c6328758cd8945b760f71b9f601801fea3ad35c6d0740302047c435bb50066306402305f37b0be33c29ce3cb105c3ffd3bbbec0e744150c9b717606061175c1327cc05751025b709d7f24f795d09f806c8232902305ab6861070365dd23ecc8aceba22a3730be276ef075c2a9837642cf76ba53069604c151437816b85e245b0dfa9695e6e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ef94aff4fc0664c08bc02bd83c91718cfa4a46bf6da5a2fe1ff226a75fd7c93f3ece8920713a1e4ef0ae63f8fa7251dc02302d86880cb348762f3cd2aa8a9e8b7be3586dfe5a03c03e26f91e4cec523b7238239584636fa09122502dc016ba8fba930302047c435bb50068306602310086b0de1b6423b7068d5b3d54fc0ca68b9d4745c3421c6513ece63a0d9f9e3d6b126651e9606d7ac352c464aded5b8bd60231008e01a7b0d8001a9e634c0be29e435932bccc9c111c123c966bd90504bd0e47f8f0a115964b39652c9545c5b02019dcf80302047c435bb500683066023100966be6fa576a9e92cecca22ac05b7f83ab90d9e7472f0bd5cf3bf61595882e0a91d8064637f312fedf6dcb96e5fb206f023100c0de9cd24861d5af08b5aefc68fc2685fb2c309d7e0c3d476b5d2db424e872ebaf8db7b55d707410b0d6f68bff08a7ee0302047c435bb50066306402302eb0bf98b18d08f81d66f3f3eb76a59f9ef0c833afbc129835765967dcd92d42cc865dd39e7f2bda6ded6ee823b58bcf02307e10bef7c3b080bcb7eb23bcade527d3cf0a7c1daafa4917cc1f881ac7dfb2157742583b9e2117dd63ab1f5e443b8a600302047c435bb50066306402304d1f38bd436eeb98ea39f69b240c693f44828279fdd35069e7ace763f453a0c49c4edfe853838ab0ecfca6a0c8afe50102306806114d9a5978fa01dc0f4b2d541791e6bf102f0d2bcc5e140dfbba9afcaa399377e97b8122e1a9e39f0d32caeee9e60302047c435bb5006630640230239bcf12a55784ac954fcd05a262fbafac971f58dd0be1ca5ae649ca3bab689fa6039e6c3a0e15e98de3b5651d22a579023012ba4ca872ca2fbce49e76ff311f29bf5c9416346cc7271f9ab53803dd55e1bca1a4b005fd037e5720a531d55e73fbc40302047c435bb5006730650230747dc459d7f91ba78bd7fd58faaf7deb82805ab12667e1410f964e3d6f4b71023e12457003c6d6da1a3fdba184c152f4023100bffe45ca9b724699032a50aa764a26e31994f78113b25595b8ba7537255ce08ed53c644b4895b5c810214bf96aa1b0ee0302047c435bb500683066023100db5ec66712a567e81719b5642fe724852c4395ed47c3d869975943fa6288f63fca095d86b37ea36ccaa8a9f176616408023100d849a8e61578d9fe5ad79fe57735d5e98826b91befa174f6ff1cb0625baf8360b88c6b66eefd38adb5a79e54225da0340302047c435bb500683066023100a8606b3d905b5840fbf00260a73bf1fd1524a3cfba81b470c6d456419eab17339add9759936031237ee6728bbf5ea25b023100e4fe1ce03dbc6bd2d01d07047bc88dab0b831306c3042d9a2a5c95903facacb77d83ac2f2b0c229068b51a73992d7fd10302047c435bb500663064023030060f58473992a2af529ea1fb49847850aa1935b1aa836b29c21aacf2108ede9479e35608bc84f2ca810ec8a2f7ed1e02302e614ea4ffd32077438634f281bdfab63844bb30bd9f74cde33c3256ab9ec4a94a7007687e824346ede4b09a3cda79df0302047c435bb500663064023059e5260e5f7d9ed5772c54fcb198b1241183af906c358dc3be9ae220166c756d43def9f3cccd0c2e49229a01aa5d6465023021e1ec262f5eb9a248829c2acd9a92f3466572b664f985139cc4b96f15752559770119b091c38c148f33ee88865901e00302047c435bb500673065023100d5a16477aaba32934313520f10d516ffb8bcf253a9fedf666fe9cfc2b6f25113b33a0d06f1177bbed4515091080525e102307b0c10c0754a4238a18e9ff8222878a2133ef49aa82af76a978b74c17353a6a61a17a1ddafb530e89e03e0cdb8653b770302047c435bb500653063023028de3bcc049195add46cd0ccb905b445a2f240e496bd08a80adac82c174c2d52f6467675493b15f993bfcb1247712120022f777925f64623c38804b80417987480eb73cd6fb7b0bc85f70badc4a41a685533f63dd00fa317b4eaa6a31b3d390acf0302047c435bb500673065023100b388f761719e05a925480a54c148870d7099ed09fb9449bd9f5ee80bd65db93abcf0aa49797805006480587f4234418902307064534f51c5a5611833c0cb7209c42590e781d6d12afd28af6d8d2d855b3ce05cbf3bd547a797bae1ccad6241ed1c3a0302047c435bb5006730650230326c1730261ff701f77ff00c7eb72d1da52d47ae44849ef8384cd98b4a7747e15b83dda202cb2c0b3413a5cc538e2ebf023100bf9402b9e1d4f792f8b07a4195cb90fba7fc9cbb2bc7eff9bcf4eb603046f213f0f7b1fd009393010a9549b44986c2800302047c435bb500673065023029dd890a94181ad9e9f47e50c661a122a5b153649285ee5584c1431d1972a2c5da53f4a37c17af4bdffcc99931b88e1b023100ddf78c0ceff9cf9744ab98097d357447c2c51631201de6e46fdc111b5017336772fefc9efc5cab70a99d5a5dca1ba1350302047c435bb50067306502306bd29f233db5b5de6842ed9574eea827566140cab3d3e01059ce22a653424fd111c26c7ab86010f6b3b9d253b496cf72023100ce7c4ff02a2a9e4af1cf3172ee413cd3e6cd9d496bacf6f45309d61d799805bb40050421c30edd190c5f15074bfeaa620302047c435bb500683066023100c8f8a90e67b4208f6affe2dfbe48a4da02db241062c8b70aedaaa793870780d409344cc2e50f1d4197580d6db7af9fe6023100a85326c67bcc6842b15a7bdd2960be7ab1a3b689d87a440bc5fec3def0551f27dd684364cb136a2f1dd7a5d375e008930302047c435bb50066306402300657f1666ac1a7228d4ddd7ac14dcc55b44f1cee7b5335dcd9c22148b1e8009b4c4a98e5725af608c775ebaef83129f002306d6663d988ce37195ac7a43748d525e1c7d362638d391f03c54735725cb6f730d5bc98dbd867af95be7ff2d30a9c37690302047c435bb50067306502304c8077af07dea76949fe37397dcd2465e563038fa8184b3810c7350c71c5d7aa3cbd388e48a97d06dac86537a5bff67a023100cbfc4ecd92a38b02917d4f33226f1065355f12b3a923d34952b6885c8dc79999a14f15fee7474112b921c5fe4753481d0302047c435bb5006830660231009e1242aeac91241c95af12b7be65284dfd1fa4d4147238d588d96de87ca00eefa3abd58e58d41dedc94122c4df3a9195023100c0db632c6e3f8c079cdd019e17e5a1f1d3f57044370b0ba91993b54a3f24b2db440392aeb69eab58e6e82c5b79e9fc2f0302047c435bb500663064023033202626b95fe1389d12cc6d0f76374a8e53c380cd13c3c8716332cfd60a850c5804008ea9db5840c92efed1c7674f74023035b3f9a6ebffbaf4877d637006d4d4cf6e5e475502ec33b1ad67395b3903a59d193124a04f040b619965ca46a77ee1db0302047c435bb500673065023100e7a3f5aed4d5c5d3527a1837dc7dcc2c41894829ee6d83ec305151360bd5744d130b2016414fe8b81ac185c9fb79303a02301b656d4006b428e029d1acd2a73c82467c565b3029c4000bb75e336e3369335e96812db3ec9a8b365367fd2609c713c30302047c435bb5006630640230546e2f5fc187a2f9fcf4efd92872a0ba765581fe0e1be8e40353c9d6c1d9946a83e94e2b532e36b2aa3b739a10a370720230136a5ff5c8b2b46093bfca66b14615a114e395c63d8942da47abe667de6c294095160d3cb75f6a4025929cda84e30ea00302047c435bb500683066023100a2d9b9802b722fd832109b886da5a3d59dc978b30be447281b402938ea850656b57fac2e088114b370d9602cc1381b64023100f9d3734ed9c608b4399f6a79cd41518cbbb43bdac5b5cdda07bb50be1956007d3ef3f615f3fb9de57680b344d0fd12570302047c435bb5006730650231008e6095d171e2297fd79370deccd88a718bef2d669689b7ddf8ddf838bfdee92e4ccdc7efe453d3be5ab792d1f836b33b023036278d9905e48a8c75bd01b39bdfd27031377fb93d72fb4bec55d683ac08c4f20c780f4323f5d71547e2060e88d845210302047c435bb500673065023057f975d19e162f53ff3199b198baa095cae270243264d6a659744c75e935b07b63c167d9d7f39492f49d24135670cb4f0231008341b25dd6ad71bf86c2f06205b0632a6dc36bb9ccc0b02240a64fa6a3c0f6505433949b9ac1309e44a943b7b60731870302047c435bb50066306402306ce4b97521187aaaf5603af3ac61df7196d834980129d9d89d5ef8d7cb474d5b817d26b51658cf090c2084f89285efac023003d6bddbff1b018560730acf1b467de662d0520d4347c391b96b4acc987c9b663f9b374c7ee07698da3a1d27f26692fe0302047c435bb500673065023100825fac9f5f643b0f7469312bd5c7e87ac275b151a2512356437b2c50e1a0232787b0da8afbae217a57c7b82e3b311bdf02302fbbdaf8ea79ec56571161cdfb5ba45e8e9e0a9f86c01d966c4e4c9aea7919993ade8122a8be9a4462f79deea4e4f05e0302047c435bb500673065023100f40e8e695693114d3b6f7a75b527b632aa3b15727a5b17498cb12f2a486a02cab0deef28d55f04f76fa21db1db4acc4302301b250b91703904cffbc18dcf4bf8bd1d0613926e0017a4e2bf0edfca6d7c9964df44ef6990682ae02ae18e7b75c687d20302047c435bb500683066023100afef0216aaf89b578b9232189f7982ba8597aa4987a5c39a7b28050f79758d912c62d07a7b45a369db2c2252b031bf6e023100ecd0be3efb3b89b727d34df92d55f48728551904f11a70941a504d9866da6ebbf8538d33465add6f9d38af354ea6ba8b0302047c435bb50066306402300f9d26e4a177d3e6a37d543b52cffc0f0aa3b4f11090a72d3a60c9d786b09ce32f940598c3a07965fffd63ba09c3c8aa02303ed076be66f47d0265100b687006dbd5c92f6085fa4ec2c17409c4bb788c5523bf25e16632a027d55b5b641ac4ff154b0302047c435bb500673065023100bd0cb3a61f6b873d3066e69d92e9e3414d0577c0d653aff449ec62e1aa7c32104b129361263b9f3f4cafe6851285be35023071702ee084e5b01b5b74d8ff39e560dea76052cd88758158051dfbd069c04f663661761668727870c93b05ad949923ea0302047c435bb500673065023100a731eca481aad09e538a1c1fc45f79e93986013da4ad64a6162c0b1aaabb56f0a1e4ac3ca80ea7a034ea2024b037c79e023013e9813f628009be144be1642db3a34dab1d141b16e64d93dcec162e00f6163f5111474d8df159c0e5d3be3417bdce520302047c435bb50066306402302d70d50965f369cbc70e29f47e1ab498fdaed1b531a32296c32abfe8c6a8ee235ddc1f7dcfd06ba576d4cba0dda66169023014e2f196ed1d1c5f2ac73304870662de42f49821396ce28638fdfa2888d6940eed6e83b0841227be9b7eacda4f229b8e0302047c435bb500673065023053c691e5a43a3cd67b76b2b7b29cc93a067945fc39950a4fc3fca27827b32ed67d10ed4d0cb72f2ce0fa9e862508454702310097e224b923181bac71df565d830ef1c142fc6a31ad444d3c8c7b99cbc3117dad0b7a52cd93d21ed369b046e6d0e3705a0302047c435bb500673065023100c00883c25ee95ebca2fc950b9d4176360127569d38b0e73346516af14d3f77c2368c93bdd1a2ee6cfc2d7112077a73fd023038dc1d73d2c2c2dd6feed827e443050dd286a15b036081f767d9f8e26f0d6e2e71bffbf37133f60f496db40fb60b23750302047c435bb500663064023029330d37935ea145e7fc8cdaf3e34b34851e8119875ce5345e04e8f32649ad3994eeaa6bf8ca56efb94b3b6a568c001002305b54e2ab11ddd615c4f05ce9f4696329c63a9e5b601c216645ec737a9eb022d92dbcf689db40d2c472f8dbecb5a828350302047c435bb50066306402302718ca5d29f0a41935d17f884359453f716fb43e6084509a255f50d08d3f5dbcbef3204572812958696662b70d6892d902301311e40684b6beea75c7518548bee7647cb56486c56270a1e61b6542b3c06c91324cfc2733977ac6b237f898a65e8e390302047c435bb500673065023023119a772c145f046b351ab8878b7d828c1b75dbf02ddf89f182ba9576c2aa6b48dd2872e09d345b0d2fb11b1abf1dc6023100c2daea49f0a72534851c4164fb75791a3055aa7afb48990fa963483a1bdc35f9d55a5e72a7e380b276bcad49bfc812e50302047c435bb500673065023100c2ee21df944c921c2bb368efab7f008371e086ab7d34a8896c55373eb868a0dedb1d743594fbd43aaeda239b8fc0c412023047936ee5d13c7f888aec8523f76db31200a242dcd5cc00ca9441f627e85dd2ba54095c59784c3ffaf88cbf5883cb03230302047c435bb500683066023100e68a08c047f359ac2b93990849e680a88870d2c6d8dbaaa28a9fbcf99d9180175929bb687e74644dd324eb544058e0f3023100ce55a1399462f00f0c82ad9cd086d244ccebb4f92c4b84702e1510713c08908636b11c69fc21113baa79156b76f123920302047c435bb500673065023013cc5cffb3947021d03f0261526e483979026a3fef108e8aa9d7a4f056ef489456c81d3a461cda4264df46fe774c1dad023100a092abbd4821368844bb1b1bf1f9a02b2b0315775f97bc00e1927c944a8ad783f52a713ba0b5f2536a18ee23f2ceda1e0302047c435bb50067306502301e9836887e8c68a1f2a2fced5d49e145afca1bd94bef0da0437935024c632b74805c0be5d7498694a340b2a0d3a372a80231009393510fe2164a5b4bc98658687fe4676f8033e9565c37f7ef217e78cbda1baee00ee28dd27b5650473b46d5c5fd72e80302047c435bb50067306502310084666ea8314334bbdf925c1fb32e161f411f893347601c4124d406e2e04a37c67cfa88ff11e2dd02e543eb3fc53ff25902300747010dcbaa61814e79359b80df557231614f3979186b3f968617b94bef0851aeb4628c0b0c255dc1953f272089277e0302047c435bb500683066023100d1488046fd073d9d94134d12edc98ea804a8ee110bb1537e47d6ad8a23c7ab1c7d47aaf9a983d390002336b084f92acc023100db82bfa3886c702d035783fbfa202d875b2f8ec3bed93ae081a6f82bc46f76f4929efc5c8e7f4a852b942787ce914be10302047c435bb50067306502303a3cd9231bce1d689a0140502284b59edf63bd32e320b62926c196ed7c77db3ff9d25c36c529dbc6651f021306508eee02310097e5897869ee350df1b29bcdcbe66972434facbbd83f5e133e40c32ca78239af5ffc00c88cd6b3991de55b5ecc6b79090302047c435bb50066306402303694c51cad907b8fb48eb7c63918f0e31e3a54625ea4df6f9169630cd1fdc38c8e7ce05eb54693bdbdc0235c645e2fbc023078c25f7abf075181e5bd0eb993ac7383294c6eba3d0f1244f28512c8f7ab12ed350b32f27aa2cd8a30e7f698009873c80302047c435bb50067306502307613b29b963059d33e888ae2c513f078c28c432b9f52a15abc5836b130e0b25a7023e079785f883154c1d51b13bdf463023100e26448de6a69979bb81990f111f09bfa053a88d74c9922e26ae68e7ff45a27c423dac74032fd0dd10fe055759fb2daa70302047c435bb5006730650231009f3b509978d018ef42ad0916036028f03dbbf8f3b477aa17b7e9ef8285654a1d6f1add0f2a4fb522e9c38ce35860da3202307246c0173d4e595db406279f6869ad29b342a425bee0caf27158784c959bfcc86cc77f24e45b72680b915be046a2ad710302047c435bb5006630640230637849e6f5bd81ac345e08eee70010721ba8555801024e277201b1d764c643bfca3d47256c3c804279baf82beb99697102300bfa246e24c8213f676d4c95eb81e184b11f38a5c587b596ee3af64f051712896eaacecb0987e36f51e46ed89ecdf8c80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ddf163358ab4e078ac0b41e4d2a81e127055fd23639658be68d372a5abf0b0d7ef21b5cc39f55d704a3b866236ca3d90230707e37b959d7d4b43a1aced5468679dc141d3e5d351f21f8dadf688905fb9ea5c404e9e8b4af6fdc63e57a1a1cf4aa0b0302047c435bb500673065023100c4acbb4f6cd541401c492cefc396227849e46b43aa25991483707a92001c0ac4cd321bc94d762e73e1bba25bce6de0f00230055008c6482cad7890bc43e610f68408fa0a4f1588626335fd0d32724446a8440395b807cba3dfd76b4b815d7bf1dbf20302047c435bb50068306602310091c89f6e54c9e4e234a2b28caa7f98ef788d6b734334469677f371d47fd979cac5c7bdd82feb13b4a2f957974ca72b9f023100b612ab56c5a2f949033db8b46dc287ac81891217ed9ed825b906c070a28286631a5979a2e6bf228b5c9b504f44fda4c80302047c435bb500673065023100bf71426c97511a908da6dda1b86b1b747b835b7efdb5a31961e38859c270ea36402c1f3b490e36c9035d877d5d57f9dd0230519c3063412d7201a4502650d382d8d32d384e321b3c0a4bf573787c8999f247c6ad5bd51c6dfaa50214db3d9c4925ce0302047c435bb5006730650231009052303ff7050637698fee5d5e8d985964b77b4812039960b30900f4af9369ef8b4f7c2bcc72471bb96635ade6f14c7e02306f238c4b2db2974f2846657788872f18b1c9b26d39585faa077fb49bfcffd908c1ac9467b05221d66c042a58f027833a0302047c435bb500683066023100f0605cfd6c50c833647ba88ccb64dbf8019b7e09d188d6b2ca08bfde41256bf412835e6961a94193497ca2dd3a491a85023100b685db7832063b8e2b27acde007ff1cc8c14693aff28b736e5e21ea75d84bea1c4c8b9e51f79004f7c93eab476b7e6370302047c435bb50066306402307dff2e702b52d3f45a66fbd5545033fe27c28412c5e15c00fb7148e1932c5ed3c1aa509a3fa3a42e90a5e1811a499b9c023068e7f87b93660c8bc24301b0dcb8de6e55aa251525daf713a8f077ea9a40f81570e6b828a214d45623a85e3e66358cc80302047c435bb50067306502302e3ab2106047da6361e08db638be9f4e4635b9d79ec7d442e8be3bb47e2fde102effe978fd859d3f4ea9c85537fb40aa023100da067ad230e1307c917a5130e5b28c9fd20d97c6b81548fc2ee77414a517579378cf8cb720cd7e7bbc8e4f1ed351fe700302047c435bb500683066023100c13b9b9273233a4344b53dd8da6fc48e7693f97987b86ca4e052d0cd104cf8d99754f4511e7f02b4c53cd26d693091dd023100d64783cd6caa732d6459b7d057e883affb11117a029cf279138e67baf536c78c0e15788310c78479a483a55b00a6a02d0302047c435bb50066306402305d13c1352b41ded09cb1aba8f39699831112255a1b676295fb06651f7b21fa8a2018fad7a6a55983743b37d134c47885023053d9ab4679039a386ccfa93243736e5bfe674aa268b8535f3f1ab9d9f6373a25cfe2e7dc2d08827223552808d18f4e670302047c435bb50066306402302571fecec55bd1fa3710967fdcf9d9126a9a3b04ddd77538ba48df121ace8c8dc66513dd82c0cfa9ee23e638242630ee02302bf80e7166ce9456e6e4d344a1c462ac22e1575f0d24655ad4efdd41f24a94e39b8ac4859a8c550d247c3ff33d276abb0302047c435bb5006630640230312c04408498104e9e31a08387d3acc98d272de045cef6fdc2d400af879b487ff4350b2e65855ce6f8072a6930e6dbbc023019ecd8e25d32c876bb8418b86617a885570d3bcc016f9279d639a01e4f4ef279623d64be7396ccc49585001988509c290302047c435bb5006630640230463f8d4a7e7c5a8b59b15a0db0c8060e948f30d85858f3dcd2e08163ec59d0321bc11dab721b47cfa0b77350abde58c602303575a82f0f617efa264f78da0f8b64511db079731de9e7c0b6d62b6557e6fae2e750b94c8e0e5ce1f8b12182ff8338090302047c435bb500683066023100c27109e5b2550d9bb60bf63a7ed1e2ad5c5553d012145ae00f1be3e1e8dfc221b7cfbea669cef474cc900031f0477f8f023100e37d73ebcdafff86b731ac493b7317ca127e2ee70956ffffd3f500b3ad252c7385fe0f2654739f69ef30a7f38dace93a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a685d3ae54a43130894266195e515eeecac9bff555e29a4df1be8cbcaae96e90ed70048d09c216b635ff69f5d5ec02bc0231008dcfb168aa2410681882963d13998c8fa878618e4d25fac083b731f637e8f2faaafd2d5710a9fee8aedee36109f6b8940302047c435bb500683066023100f1c930b5e8483d0a04021c35aedfe11b223e549c909e9016fad6d775b2a6e52a3540e38189194e145b7c5de4cf239653023100f554f0f21539693970919aa40d7c9141a01352b99bd44afb34b257a93a6d2a81cf0a7c92b3b52f3a4bafe3266859f31a0302047c435bb500673065023048f6898324f9be6935e3804ba1833905b4efe9adcf98182a0c71e859562260fba06cf22878142ff1f54f0e56c5ead7450231008f5a063debd1504c90996093c60ffca5db556b33aa0e3c3221da9e1139f761cda32c3b3a11992835466076e9ab8a8c9d0302047c435bb500673065023100d11b300588f3f1443144426805a0ae74bfc0ef7b944117fa44e59221523868d5f862ed5b0f71220c9dc78b4241eaba77023069f670403b1a047fb13ac5f356666ef9fd75d894bda75955cdeea6ecf5d1a9106af5d8f359dfc0496469ae9bb55950f50302047c435bb500673065023100c5bca2ee6fc06f092b04dcef4ebb5848b4aaa7e29ad3f7ac3076b5aa06632d22db459bf8780ac78b9f10d4f05c29aaf3023018e72f0a8dade041176c9551b012137bc1cd0a36be05312bc923235873150cef165d4b761d0bc8b6970e991d5d8656750302047c435bb500673065023100f142bdfe98b7c4f838c8c5dd54b543c444dd03b9eab5595562961b9bd1f4bf2d8b3075b73a6c97c27633efc3c9be5f630230562ac057fe5502fa43d6b5fd3144f45db87bfa82d798f87acc72a40872a4bcc6fb7ae4b1f6cec3914c409ead4126e41c0302047c435bb500673065023100e71e801fc989127a918b8d03419b178420e9871e6b197871a992e252f9ae00da98593484ee3d90a05239980036142267023063c53eae8df5ebf26284e1d91f26c7ffb38075e9402622e7282327af909527588a3419055dd098e5a433de4049b0196e0302047c435bb5006630640230782b9289a31c5e9b3781e88ea9f9433543b3a33301eefb5cffc7d14e38e0e8c436a612747901882e5a92d89e8c174b33023064cca5a7b14c2c4dd44ba5a1491c908321d6b4903a4ad9bdbc8c99b3b1ec2c6e0fca4ac588bf1096e13e9f1db57396de0302047c435bb500673065023074cd27a6fa6998cef5221e1366c5c0bf09d4ed8842b48ba6a5ad7a1dcee5facdacf8c985edc04ed79543469bfdd2261e023100ec35e07503dcf626896c3da859de5c5b8150d620c16d2d920e6fce66f68c2079337d3a89bf6c2cb28bc2296c2139a7d30302047c435bb500683066023100ed412d315b730dfd15e153f45106313835736a283a6aad6c1af4694f661b0c36b2012d40978ef87b009e9719a7301f87023100d596341717c8c189ae394baba65d331436f20879a61d1cdd7adb3797edfea8e9b4a88ac1b3454350f7db7362004bed270302047c435bb5006730650230440d8885927ee2521f9848f5db6f68cd7039762ac7908ee17ec451082b3c502d3a3d3bcbb5bfd9883048342ff85187a60231009bd0052911c22dbd73b3b718f8b5e504a74113e9c0367664957f4b9a3b8f7c5c73f59bff70bccced9eeea1fbf8d1ac5f0302047c435bb50066306402304db799fc790268092d2e7765b428d467da0f4c8eee67af65583738d6c255792e000fbd4ff8482cb91d52ff1b4d1c92100230687e6e19fb3bfcc55c4dd02e96b0032852c9af3d429f860589822d4aecfd77e7b0065e2c050ec7df71b18c41f5142dd00302047c435bb500663064023020b754757050a757eeec452b557606859177f8c18b1d0608e9605a6bd77bd24c3a176188207c0f36f5f16622b75325af023043086ac8b589531317dcbb8dce3a0a249afac90d62b2ef2aaa41a2ec53dc0139bd874dffad1022c04d49f92afa804ae50302047c435bb500673065023100a6406e569521ff7ee6855c23f13f94cd14b9261c7f7217608696d82e0a5211fcb7b17fcd0d0a5f5dac3dd431902e3b0e02300dd449f849573649640f09228149d0b9219a5a32d06a3c6e3f5cb5b8e65226287edf71af5a146239f229f1397c1c048b0302047c435bb500673065023100a775e14ab2557dadaedfe6249da0a0d5369db2202be980395bba382cf366141224e16fb544a7f86f18cf13def941c3350230273ea3b2cf795fa6795095e53d9a7708a693ab361a5362855e48826d8de5ea0becb9eac9d17f4610a718ea6c09aeb3370302047c435bb500683066023100cc98505b4895f5c9894e4c4fa60081aebd34bbda774e6ef9f0455e24e034c080d3fefaae3ee09c2464bcc98f70ce0870023100c8ec1f008c596903e1bf18454b66b0d7f1d542890d6a3dc4374d7d933d283240b71c43aef65f93fac29ac1bc12a9ecd20302047c435bb50067306502310098e05bfa036bbe6e636dcd2b4a52c6375437a89e71998ac300b8d038e6caad78af751a089a850b593eeaa4d043ccd36a02300978bfed2ae1364dff7956d3aa88241cc289dcd27f5abc0508fd8d6091125a2ca11caf93461104bef5584833e3eba8b30302047c435bb50067306502302477fe4d053fce7e968901f0bc047740f19fef6e5a61db3c468bf04864c15f1848e10b16328e7f19f0b0132ca1aab9810231008c3dc11683c251375f7a4d4878b41d8170b5983b4edd888f0f74c567a2c756c4e04cd1ec034cf5eceb181a7a42ebdffd0302047c435bb500673065023024ecb348f1c703e5ac5a22307280eb18739aaff2d70b3f9bd30b111f7006db7eb73648affa4d133255d33e375690e0ea023100fe512a1ce8403b385a285e567dd0cf333e6e112b9605ad9053c727df46f934f4042babc379f3ae8b7bd29f32bd10f6570302047c435bb500673065023100959a806c329b30b915262657e0cd578f06d9e10b46a3431e0ecc45b62117bf4d0453f5283d0496b71a1dd03ac3986472023038535a71553061ec2440a025c6e895a38d3e90b5ca2391fd8400a93f7be8abcdb9cfae77739b09694c6d24c9f448f69d0302047c435bb50067306502303c62c800bbb8f86fb311db9ad3ba8c5c7d60811ad10eb6cc61111c1d4016592d39f4c6e3e51114fd5248025574c9bf19023100cc58fbc8c4499dd0a4f1ec0ae2aebdbe468d58f6b5d77b30fec5ffc7560aacba331711bb758d42fbd55e513d9542d8850302047c435bb50066306402303daee5c17368e4bec28d6c720d96e2318fe7e12f23a118ac03f59d46feb0ba3f1670028f40e754cf11ea2a29e8f1548802307e821890fd2a93e5bcfd0671921b12af6f19c88cf56c8ca8682be5172dec2d7da31332d4fe422fe85cd7b8deb5f342510302047c435bb5006730650231008e3d897d4043c1fc5687151458eb3a53aae0d90119579ac5476eaf7d1c6af4cde8151dd6a2660afe6394de12b141f4c302300131116f3e68bd6f4a2b0e9dbacd181b3ae303fcd0a1c7b5add6478936ae95542f2a313de3eedbe85c780336cc275dd50302047c435bb50068306602310083d7b2d1984225ca46bf6835c0de5c55eafd872b2aa886e2a82f390f4396cb2734dbb99693257dc0bef19a5421b336e002310095193f20624922263f02e668fb29159ceee6d4e1d7603d72bfcc6ccb49ffe7c983fcb9b2d27eade4f4fdda0b1e45285f0302047c435bb500683066023100acd463351e18180684673d020daa9d28461beabcb04179c1875dfa3a48e5c5028c2516ca2cfadf466bbb7e30b115670e023100a1579bae349e7432a7f305543a7d33fdb2329f8f5751673c11b3ce3ce6d1b3f0eda4b6d03dc75a6073382a40291d423b0302047c435bb50066306402301295d4f9e2de0f8a73e3b8251a42b091f59e40c134f4e4f5e48e1d75cb35143e4d0eee0afbead5560c6aec50dcce767702302833d660a38d539b2cd5cf2c2674e85ab0bc61978e23bb3ed3b4f3dc6e876c1a18d01b42e7c3bee277a5ac569a3140b80302047c435bb500673065023100c8e27a19a303f85bc7c5918c3bb95aa6f9c234f944436ea7b1368bc426e60f511d4e6cbdfa89e6ee097cdd809b288e8c0230655394aa48bb6199a14180e3365ebdd2a9470d4016aff91d4ad9e6fab8d5a4a8f524cd6044b71e08a2649ebcda4715640302047c435bb5006830660231009962bf9bd2bafabf8fc527bc94f174915fe6a3acb2e967c26fd674747794d1fa46beb1e2d990c322d341babb2311cc67023100d59ae62e776f94ee7aa2822e9b6c247bfa2d4bd7dc801947ae5ad4661d3b386fae9c70c213a9093852dc33dad52c9a740302047c435bb50066306402302703da2967e162b34929f6fb489032c92631ebfdb9cfa6de902e10f35ef4f584fac10ad6585434ed3b8efe03be60a63802305be6f29401e3c0ffbab84568fd711f9aa8216a5bf9ec44a190dfc27c0befcc4a6ea02a17778ee7716ce73251aa0c7a130302047c435bb50066306402302517fddc35538bb830dd250610ea1521bfb59272e31fbf0841ff269374b59a291eb1fe68ff126c63691e6cdc110721b20230371c22e2961eeeb669fd7a2b4a2f8a194b50732e6ee666a855dbcbf5f0e1912eb406c2e1b623aee8ce64b3c3adac67a70302047c435bb5006630640230358f8ce2bb13cd860c0f7cc28ea5f75691da4cb44a14b79f305d32428f37a70911de96074dcfb35cd779beafdf059d5f023019ee794f39be2786b2eaf37d9ea0897f736b47687fd868f18611e3e2b149e64217a19b42faea98128fd7b0f44b67df8e0302047c435bb50067306502301f42a7b800472dd4dc81ce98a01bb71f39148b7b82dd7de5407f72a3259b1712ca15fe99fd2164f72ccfd2b6b0941885023100c6293ac4b5ec575ac9f851d7b632d403a88f232a122460483530de2cf484d285216970e491b96cf17cfc2274ebb5d2060302047c435bb500673065023066deda28d574f1b7a9f7f07eda7db9603f7fc21dc98e67c11593e088da710897bb7311c5dc10bbb297c1ce0a69f9be06023100d25332e7349c485d91f24c1a18afd96f27838de146daaf7282792e2dae730cf0a68c997c5275c142d64d3220fb4faafb0302047c435bb50067306502302a4f029ca0300e99b6670301af9628d0792aefcb3968247c8f380d0c5fdcf92ad15da45e5a1f40b14abc3214fd54e7e0023100808455a074877416f4f1091b3b0a1ae6b19434dc7c79d5f3090cc004c9d2fe67dd2c5bd3ee10a4bc70de1bd79c0e02090302047c435bb50067306502306b52378c8b72dd974258b7dfa28a164862391785b95b5c73bb77e9c9f7f1a105deda6169e0e8613c901ccbd2987a8b39023100d7e457de3e0a514c7815e2bc991277c8ef3f96a60336f80ecbe1de3b347a36ad3a6d8bf5970cece641d8fced76b3641b0302047c435bb500673065023100f95318b5301f3cdf492d02845a29862c71eb1845f470b5f7e0e45304793da49bc65c910294b2e5203a609f7e954f53500230668cd03638fc03e1c80cfdd6eb2ebc04eab8cc6c3d9baca9ceda110f73704cd5d6f946e0e640ad9821ce70693134d4a10302047c435bb5006830660231008d53a7a2a3d8477ff9791340e404042e57dfc5d24a677c9627b50275e0a350a96ffcff90e3819fc2494bf3b28579df77023100aba46fb5fa84b1c65987b6f6414813cb24755f0e6ccc807ca09c2e09b1acf2148b7416e4307a74a300d2cfc38951daf60302047c435bb50067306502300c5615c1c37137c43689d470d4b68c095d008eb1062bbe72fd9552558d389d65448ede41a8f77a3f61d78a15f65bad260231008b945caf2bbbc2c1ca27440986b347db6dc17fa8f671f165cf3030c6d184c056d5e2c867d120852acc5b6f5a05559ffa0302047c435bb50067306502300de1ccbc2ae34adbde00b0100ed5e3d3971f75c9e42d02fd9aacda161dbd4698fb5b6f855703c3180993e69547fd3ca6023100c30c2340b24713dac6d42716f6e2d26bdcc414748b6efbe8a2ca2a8e1b69c40cb9a92609c8dd6099cd17a70d8ec6685f0302047c435bb500683066023100bb43f777b3f22111403aeb006855f99bfb80eaecbd91fa6acf76d332f142db7538ceb8a6eb882cac878f4dd5cb84ec46023100860112ed8d8bb446258d954c91ae3f549dcb0bd40b8a582be3d6d671c9837a712d297113c07cbee8386112de243fa7e40302047c435bb50067306502310094ad98b030f3c0b2912d71ee97f354b8b1176e1ec74a5d31d637506f9dbcbdc3b3a1a3ff7cb0427d51ad0219e5a15c730230541a28cfc3fcc444cd908f4236bb3c2e6985bf60fcfd2e21ebc0c64eea7429726bb9c7a71aeafce7e21a915b8664ec990302047c435bb500673065023051de570cc610c20cc33f9e600ece625e92f3b46cfd487919d5c14c850358ea10bbcf5897b662fab23cbf22a541161c520231009c54f9f73657e644c38e84c698680604d0788f5bf5b1787f3a0a968c5caa6cb460adee6982043ef6df1a784579c023b80302047c435bb50067306502307fae01d585a814a1f44edc20eefbf784fa0bb5783fa7a78bf9b63bd5bd616448d206fae0c81948609fcfd31a6019f13d023100aa0fdebea1ed1e6be40b902d64faf55c9dfca7839b4dd3e6d342b09859212b8abb9bb0b18cc9fcb5c13837c7352ae06c0302047c435bb50067306502305ff5309c653f03ccdd9e114fd9050de0ad249b9ae9ca2043623a5cb1b0face76c931dcfd93802a882c8e8c28f4df0358023100a1ed3559b3606f68529a986128012a91bf0f722bc2e5d9dc7588d3b3c5308ad04dc14d7f5668a6c4df045b0bd646e2780302047c435bb5006730650231009be400f9439a5fe327ee6bfc909257b0459c2a28b3c132c60df736f51ed208af203149b93c0d0dd658f8f6c4db0e0c450230040147f41242b4e5ef63d2165af461b552f67f6b7242846ecc69c4796cdde55be99b9181eaddbcf19f6308d425e351ab0302047c435bb500683066023100d58bdc98b34cec98f093e88f79e6ed547dc9e55cc5c9f5e901ba4cb9d99ed9d34bf559c02cc918e9bb324c21dc1c1a24023100b16a8f8662e99c3648c2bbcaecd91271242aa46c4944acba589f16a18dd9fa0ea3324845a840290761d726395e4cdce00302047c435bb50067306502303fd63d1f7b53e10653686dbfe2682acf6e61b494c82c237acd95c01332796de7d93cdc75218110072538b86af701f668023100a495c7d08410a5bd0c3123eeb682256b04b4fffaaf6871a2e18f3466841c580367c18a7cf1327c95656333dd1872e7e90302047c435bb50067306502302abbc96e073832bcf13cbc864cb370281970400c03efffcad05d3eccc66003364c5b1a7a6fde34480b344ff5f68dc90d0231008dadf5ffb6e81a60f696bb8d0620a7af3f8b763072a72cd8d1db00a4b274d84420811a6cd09eda9b59715c51d245a8560302047c435bb5006730650231008e0d7781e7037f754f35dc267493a4fcfd16576b644dfcf917419c5aa50d13173d4ea36e53a08b1afd0af76f7083481c023065277db983300486b2bf8351a53535a17306a936773ec40ec4720944dcd26b0d06b48979f7a11a6db2df86d7339d723a0302047c435bb50067306502303c2af815dc29a08de8e77da967fba84b61703d869efcfad0ab50308100b46c7f285cf137614ec5fbba5c861f7a66acb9023100d4a94b62c2f7a21787033850de4a60b9dbf124fc87f7e662df33f37b44c5818a3b583f2f0e5fdb6db894aa2e6cfb04f00302047c435bb500663064023070183d7c9b8da8b6a60a73c37d7b1c9bfb6acda001da5a019bcb041fb65cdc78abbc6f02fe9ad35ed075dac611f806b8023004bb9271e73c7d7ef397adf6f646fffc7e9d572bcdc33655a902a9c9f9d0a48a9d5045af30d2a7089098189371ddc91c0302047c435bb50068306602310097587d99f8889ff4e5101203546299a44d9376434fc745a88ba1bea4a99e694e1850f4ecb61745dd7b72110d6b173028023100f9daed19c5176b1c14abcd6158368a61db8b6db7454cf476fa9a518276d12af37ed49454ee0d06940bb97b96e037ac9c0302047c435bb50066306402305fdb9c7d1b07c5d6b09ad7a876e7b70dd89731b458d045073be82ebce01b6961d5932cfb421caa84b006d2a84964f8a9023043640b2259239d7590f912da5bc7ade40575a5bd630cfd4c149951305746f36eff36b77ccec3eec97d5f3cf5483d8d4a0302047c435bb5006630640230501b578303f916c46068da6c7fb95613cf96156aea444963d5484702080d5ae0a127cfc35e826cc162f9343f43fd093802300b245adddc1c6fea5b64b35f49f5433d3b51097ecccf79643f3b8182e010304a309c76ccb3f00827d8a7ace0cec8abea0302047c435bb50066306402301d300dfadec7bba3b37da6145349ce1f0971a731cddbacf60cd34eac63d0e80d4522016b4f7049bb472a8f28a6c2d2d302301b400e0b4498eb29b48fcf1db038859f2d58ac3b59333209ef07a9b974eb305b05c00b3fc7aaa070cc69eaca7db625190302047c435bb5006730650231009d992eeceacf9978ac4ec1bc57866dcccb44cedd1fb5bdbb5680859d6b3efb6e80568feb04ef255d3586aa5116bb7b740230633a6ded5986e48016f53d03244ab6273f7e702904d6c96bac9c32eb081182e762e0b05d6dce62027d1f8edeadb5a3660302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a00a48983fe89c78f1cace1d318832d07288a4f626c1a445f91891a9a72a44a957d77e0fba915a272bc647cf93099c5202302c46f85427ce8a8385f08cf49062e3fc4a9cd4e911ff110f5de103b440be464077dd8edcc894bc12a84ddd8ef90dbc5e0302047c435bb500683066023100e642ef2ec3617d5d3b52c374c8872473c0239cfd2ebd19929546181d4212170666da67b1fc110580c53311850d5c9b1a023100f7416c3d7cdceffec86d871c57a5e89600febb79094a479239bcbf79294a2b9f9ac8884c788e769e7cc91e381097df410302047c435bb500683066023100afb44ece70ef7911744e9d1befdfc5dea62f68f2f2c5cb220ca909e0f667675e589ee15ad44fb2ba31408e5c15043ee7023100fecc008ba891a6525e8f29f35496ce11ddc8780e7f6518aa351f5fb7191c41d7019f9c7a37915e4b9b0bbbe14d4868a20302047c435bb50068306602310089d3342adb102244949c3df9c3486d4e19f5de4581453937eedb4b1d567056ef0f4f87ae7522e99e0db9eb1ede24467b023100a1812e933fbbc01bb038d00f78b8ea514a4694f2bbe96e3e716c2bc73f02a790fd853cd8424ac755a4e72fa8a79fd5cf0302047c435bb5006630640230017f5310812ea0ade65d2c40d971f1601fd2a3ea0f055fd3d478b610a7ce3bf8c3ef5255048f450c8d41c3f742c9307c02304695fab43621cf05fdf06c70534dbcac32e0db5846048fd75c66cb98d27d9596abef4b8b5f1d6f177db722171f0013b80302047c435bb500673065023100e38f4756770f65fb3840b3cd009bf7175608875700135b58150e133b3cbdf5bbac1659a05f9eca7c43427f25db95b9830230157446d7dfd24f68c7d55feeeb5a17405066e33f74814df53b6070dcb0ff70d45fe869a1fd335cb519ad4a0642e6ce950302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f87f6331a898b2e939db12242232c731fdd538297657f0f20def8c599811f4faafce4be4c6545a94c73b4e822217e090023031974d02e5826cd79f0fd82a92846e1510888bc7d9d3146efa145d64ad4aa8285475dbca2379c1dbc9a5187ea4e999f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a270dc91f2a2cc4e6e24a1c95a1a81e149d1804b509ad5298e948811514d9eb765ce503bcf45c48cd4e22d3168c420be02304d70804701f16464d93e63b4c76cf3698064e8ee93a652937d690bebc10f9091387eebc525daa3ca7330f17994ed09650302047c435bb5006730650230494c06125550103e9676caaed26afdfc78e80481caf0f168365572e643192f280ba506c036a737099e54c23026cf8c9d023100cd748697b270a95165d036720579b5dfe755e04b90a24b2d953718f0ff63b98d53b954ccd2e269794e7fc1eb3651e2d20302047c435bb5006730650230438d3f8dd69a8615f19bb0278e5bb21c4c741c7b05c75afd7fdc1696e00bf11a84e4cf634bb4f97cbd9d03a2cf599273023100c3b51472eb2d738985c2e2a3d90d62a01703d22191fb2c27c8544db73c1d36df7813dedab4c1e12b1fbc5e67d7e69e7a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306f1910a21321b2e27eaeb980d5ba0311972fb651f6860922eb1df9f73dce63a7ecdc983f83bfa6ba85aa2cbef798d5800231008d29fde0af1a73ac13d0f93248026345d9a88c3b86a95fd0e964389ae0af6ffaad3a90259852148f7a8c9507b60c043f0302047c435bb50066306402300e21a02df5f77904eee104fbc3e845cdc60dcead8743b192f4fd55c036bfdf80f9d5dd925b08e7165e9dc4f61691bfc402302502829715a38e8db488202b5be739fc5ff9e0d19b576c16a2be499c7addb97966a3b1401112c2d74f477d3ab6ec58ad0302047c435bb500673065023100d046a7927178d7f30a451ee76323073c1158b0df4b0e5ea4cdb3cb20e5bf9af39ac5bb95944ab11616bc528304d3c6870230109002a4707cea8539d4043ec3a03f815b639e48e1823038a65d335fa65ddaf20ffa60ead02b2373f6fc0dd1663ad68d0302047c435bb500673065023100888b97243589ba36ba2978eb1a440c0ca055c425b85280ed4596f49cc2df5f9a6034e1dd83de1abedeba08f5f369b9de02305daa11e96ccd2ed849000f8c2643906e2ddaeafc125bff3a3d86a8ae388f172b06a73e72130813a249edb70a144f33f10302047c435bb50066306402303d48502c29b5f67283b6d6a7ccfbeefbdd376c6bd018c59a77de438c2b6088e47f0e6b6c7a1f03689d1a2c05273aa73002301ac04bc10c2e6be3c3b55c3e8293b0d218e3604fd57955759810ea1b8af310be192f62e8ab35a5774bcc737b02188dea0302047c435bb50067306502300e78bdd6971a6952a27d15632bca2971f66c3315ff0b8a02cc91b0ac3f95968701bea2f564161fca5463dd7c0f69f118023100e647ddc88148bd2572126d3dba24c0f39b7d278975916a90d43b14afda98e7f8da4e69acc502f812c6929bb8fd8fd56a0302047c435bb500663064023047be654ebe745e53318a1c1882633fb1fc60fd76a27f874dc0ec766866bdecaee3aa9d19deab4518c9961b2930fed26902307e48356ce175de2607006dfe5b3adddcebe0bb26a66be9b58a0bc53dbb1fa544013b6dc82b77ec8e1f579ae37e5325170302047c435bb500683066023100ef10ee6662067ea4f059c9a34432b01ac22acb8e75f0d65cb1895bd1afbdbaa6a593817c5e8f4af931bb7ba76c5fc0cc023100b4d85d54cd007327276938b04011db8b9eedf571efc2e06739891215396e11751cacdadc32079e5e23a6a062354c17230302047c435bb500663064023029eea9bc892a4fc9c31c93fb374aae6844ea4599d3e005bc077f19bff8de5cad8d5152e9cf528a47cf9904e2e7ae12da02304b2d1f77736e94f3ea12247de06010f9787597e7c3f69276fec44214c42bc0c7da6312d72cc6c1a97d8dbdaeca359c8a0302047c435bb50068306602310090f8f93b5e9d63cbb6e16f6e02554089b6a4f201bb64d5ccfd3a0da8906b1ed118be9719e81e317b948cad0a6628cfc1023100aebef1e9371e67634248b021b0c9554c2e7ced6118f05f5e59c9927a6f3e85dc2ab3d0a0decbf1496e42966b88e7d6810302047c435bb50066306402302edec72bfc3f761cdf9c5137ea17ed39d07f7636bd354e27ce4104553d7bb6566046191b3ee37694193edb35293871d902301bd5a06be742273cd448a75601b79b1a94ef305c23ed3436a12088b953aace1e2f2a29d4d4186e5f2b317b87834297fa0302047c435bb50068306602310083c2fd7cfabc82a7ebf8fde737a98a1c5c588c0c7d57c6667ecf17eb87c2a5d29763c3fdd31e59c9dbf709d62fd2aeef023100d8488f3d7ce6c780cf14d730c5fefb72465e3f0b00bd433f1ae43d0d7335cb4dd1ca3abd78d9c56e206d8aaf7db610040302047c435bb5006830660231008759bb15151eeb0a118f515ba258d6359119492e09bc9b51b3fced9129d31610652abe5e20abc86c07b3fddc7f948db6023100b70c98724be7389851794e31a590aa6635061e0370f8ecd24bbd44b79a53ca065e7e0fb39f11122cf80f4a5af9ffe7fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302c370710b98068292fd575873bd00bd652a52ca95a06bd7fb0e7ff9350577b97430c48283bc825db79502eec7cb8ac88023100f87cf091dd69ad14723d4f965b9e08f997d9746ea6a84fae0722a97d28c802ebefe6235a57583fbad6f811e40f77517c0302047c435bb50066306402307ef3a57d98a0ecd71ce547e0f84c29270085d551031ab4894276ba272a9a3173989d3368c33872a7b5730cec98752685023065ec8619d70690934590466cafb835ee91bd85f0e266449407c2c879024eb8dba83eb62373f207300e5d344e425c8b040302047c435bb500673065023062a7cd315fb16e23b3cf0bdddeb3ef339b349674a4eac122fb54be5d8308a9f26a425e17f9ebd6822cbb8d98e5ec1983023100ee23fcf3d6290e19918b684c9519b7e0c771c6eda9cf53109352b0ffd51c2ed9679d7bc8f62862361770c77f6aa4936b0302047c435bb500673065023100f85b0d9daf6271e80c71078a5b65946f77f351e768d7958df232b5ef235daa310126a0527164912364d1c1e5d83ee1b6023001fc04b8b17cbb460dbce91d3cc250f0ed9199984c5cad8a1d9b9f026e0e7de230d7de2801651d8fe7c9c0bdaa2eeba30302047c435bb50066306402304a818a71695b3b0a203c9a0eb9e74c483aa019ac6b43d5ee6c9613b11e7d216a72ee6b053493e185e533722f13eecc4502302befc84b24fb1785de435d631bfb90a844d31acfeeee608fee9bbf04b612534fe37f2e450e82e86730ce3130df5c7d560302047c435bb500683066023100f784f6371391dab700bb75f10ac1a02d394091e63a2dc56675dcdeef7e1c58888c8f887cab158d60fccff6b4b7549288023100d524a90dbe847e3086b73747c8b5086a7501606a992b7b868a2b36f644924fd93f2e758e8aa68b801e260b9837c300a30302047c435bb500683066023100e0151fbf92108e8cd00140c54166d01a8d02cb16f62586778a5850417199f4bffb878c19e2f947994d9f779dd3f1d26f023100e82260b84f44d51556c89ce1670a3177cf31de9ce487a2e38066cee7d1766030eb18736a2fc4548709a34371889381fd0302047c435bb500683066023100e3ecc4cf0599ba662ba4a33c3faabe584f31168b4306e6291bda15c60a3e0e81f435cb02dbee30e5222800fbe9145ccf023100b3e3b3b43c005b82877584525513c4125ac8bb3bccbd8ac9d21377977a785fd9b96a10e9c2ddd7139e9eb9e5bf8a0f7f0302047c435bb500673065023100d106e90bc59a3b0df9434142108044626d8c2e6d0cdffbaa333d3fbee1eeb2a52e7426ea553af2e283ec60530827f9ff023017c244039c6902702daf88a72444bb77521647bef2e6b1e4a99549e82a7e7b993aaa6ef34e9c2761b8d48453ed6b9dbc0302047c435bb500673065023100878b1238bb6a7a63636e3e45d6e9f7b322d4f07eeb8413656000707336dcf75bbb50dac221374707e70557bdc39b60910230577762fec6ffa3a48e0c54e334b99b847c3bfabf2f96c1a0ba0fbfee44ca099c926570689a63768bec3f0c5fe6bbef200302047c435bb50066306402300a6f9aa2a9df41e1ad4417b4322c3e72c8dd0f02143ddaaee38d5c679aeeefb3d860b2f74a9c01bd04b27d6078fbf0c102306a9ba933568eb67f84241ac25c6cad2d901a3b1da49c806fbdda732b60f6c59c62886421aa9f06c8324d6586c119ea970302047c435bb500683066023100ac23cd1661002d2786cb29db4491764cd4e543389663d0a903255679d30a37df2c7a8058e9338b8891ce76a3352d581d023100fe604fa2f602ad4f14f792be699cf7e0ba69730a75f07f973010ce92352d38e0d349d52f198b282ebd35fc73dc459cfc0302047c435bb500663064023009aabc3eae2994bbfba9a7ec75870254e77c0408f763225bda00399f0319f3bf9b6d4eb14b1bdf633e935fce7f33db5e0230573e66ed5b4914935cc6ba958c61df1b88cfa08816f088355149a78ff22a1798a24589ebc0a7350653a8e63d9371a0440302047c435bb500683066023100fa393db30ca5ac7ee7fe78fb7f225f84b1e6369042446e28bbcac6bd001163effdbe3900fa59007ecef7cca975d4ae9d023100e02881a0a938366138d00da9259004bdeae8572099e416293e3f45b0d1c682061dd2f838aa3c647b6941d39afd916dc70302047c435bb50066306402301473f2701360ad74a3ec651bb3dd6e21d74d7ea9e1ac96208a4fb8d6b216a7a47a5712a905423620ac2269e513ebea46023011767d6cca776bcd589143922ce6a5d50e799e035b72a89c6cf2b8444ccc3e841afd2b0919ff8e042257d8124bdfe80c0302047c435bb5006730650230391fb4a4c11722faa69a61d9fe00058df22351fbc88a6ceb0e5ae4bab6fdc011edfd9fa7828b7da01fb4f17d0f515a80023100dda30f4444dce2bfc37abf8fb641bab7e62c2f50bb4ac9d3757dcdf0e4513b9acdb91e0b85a7f2dc93e847c2df5bc0a70302047c435bb500673065023066da67ae94d27abcf7cf89c168408a497a078ac57b59765af17dbbac47c621c67b8de361eda5e7baa984f62524dea7030231009945518bb198f4096a35ce277e1744244a210480e9336346c6e4408aa1befefd09fdbb331cb39739f77c45150f87e9e90302047c435bb500673065023100817007834237295c9784d58e63833a89e4205b63c01a0f926da41bf82d0f7e7759e86f27496ea2ae96550ff20dec3f6e02304809686c3c5b2eb45217a78931c71d19996155df7b7e2cad97324ab9807ac25dc9c223c4efbf6adc99d6800029d8017f0302047c435bb500683066023100f7a56846762ffe489cfeaf5e9b092b670814aa2c2bafd19c544ed92da872e548abe6bf6a6022aab55d2a202019f0f872023100f54fb006ea3e2b2dc542df2b9dc0b9ecf0d27c46e7001221a9c4ce4dfffae4ee79c0aeb8a6da28cae32e48694d0eb6730302047c435bb500673065023100fb27b926ea3a58d937141b70d826e7f66ac199690d39e32b47bb5f74ba1bcc4a50738df47a99509f1dd4a797130a5e0702304e1535b659a11574b76b1ab7875c5fa3c732c7aa8666bf6446368a410cc11064c4994003183d6b0dd6989ced42ee1a0a0302047c435bb500673065023100a4c864ab06f8a9535fca8f016159d0f1ea80cd7e7c44979d9af837a70bcd17ade2e7f7ec61993dbdfaade519d9f29de9023057db1131f129c634bd7b3fd5c2e635cb54790e97aee55d3ceb8d9484faaa8255a3263d0b85b6c79c8f0078711f4031630302047c435bb500683066023100821d651771433586cd3631902fce8a0aa8eddec7a81d0697f4e873e22c095cff2e565e3529db048d679d511b96436ad10231008ae3d20b7944c996e3dafb2a601033577a43152ae158872febaf7033275b9c94875792f11014d6db6ae16d878484d9c70302047c435bb500663064023079c2a89d6f291afc0ef6f0e04cafd25b03a076ff5dd623bb112473f90d9fe37d9219fd704d5eebc8dbd68708ec133771023073508a6f711a0e09022ac1c2c72948b2f8639da7e4c748bb7912a5a077eb2edb2fafcfe3628fb16cc13984903dc786500302047c435bb5006730650230707c24ce4944e44f5c226981ce6aa47fa0f6579e940dc00ca44ddd8e8370be74e6b9f167e205a641bf10141c62e216e0023100a77dae92d0874f14cb8612782d9a4b16fc0d103320f174392d012b418a012ef7ec789b5eaee2c95abbbaae31404bb8840302047c435bb50067306502310099bc2d24ed5f27fa24177b13bd0bb5396872845a951f86ea89bcc8ba4fcb8345385d95ca8c0406a4b804b53c01f2e0d5023035b0ee2589e6781b68d657c03599c8617b142abefc2a540ca6076a66f69907dad3ca84ea48f14ca04f029871db67598a0302047c435bb500673065023100dfefc099e5acea30575aa363934a999354329a6cb7a31b3fded926db7421cbe71f3bb492b1424063c09e969e6332086002305d0d537d9703c2750f979d2f5c75e1ad9bb7b760807b06f7645971d6aabb40ac08c72c16cf4199d6d903880e3e0bf6330302047c435bb50067306502306a4419e833c9a9e33e2a2dea86f3cc65464d15cff18b9ed3c050872cb4170a81fa2320da219442ecee96b93374ea649a0231008ab3d4bc7630a4ee1332df8333b75055fe831c5a70b59184ea22a7ac4df8054dfbe9e9f1d9c7f9d5f7e250bce65c328c0302047c435bb50067306502306c2f8689582aaf77c730c26457038dc82c2cc474a4baa4de747a48521aa696f8e95cea817698961d04530574d18ac4730231008a134cec2ca641d7d1d44874141c97c2b537df314bbbd29f2d57190f87de0ce199540a5d780869e4a19b1ae8efbe16200302047c435bb5006630640230667f1b885fc795ebda034310c27e7af1d5cf7a5b9db748ffc4f62df10b2a64467830a4ed4fb3f109988d6c0a1e264768023047ebd095f93bf2312750cdc1ff1b3fb5b84489c066b8bed142eb270e7bf392be01c11d3422841c1c75fc1b8686a3f7740302047c435bb500673065023100b9f68a56eea6ad999baac0d99f2d0960ec8ba81a165ae1dd6ad91a8d02694a4c07276345056d62c8b87fda3ac681e56a02306e131a8a44ff6edc4d6da74a76d65669638d7d601dad502c021ada75e71df439c57a3b5ee52857ab582011af6282cc2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023042c42b1f1f09dfe95c6adf329c884134fec620e0cdf9429fb66cfda7762f128d1ec665f871ab52580fd0a5b85b6f3f9b023019b4602587be13521ed26586b787eb9e0a20144991ac31b333ea0e288d2a4e1e968a25c05802a4cef5c5af468737e7a20302047c435bb500683066023100a0b08b101e700320a1ed852fb8c559c33ce440b8fd21559369fd9c1aff11a0b2b637ec08399837b56a154e513bb8cbf1023100e8573dd22c69dc3f16b1a9042b56539a6030ed52c143fa55c9cb5304a04ae218da466aea6ddef6c046631620736acc770302047c435bb5006730650231009b22f91aa6ac2e09a0814ebe07139417be2fbbc9bec367f564f2bb6a5ba9ee01047c9d7567e8cd0e7675654b7810cfa802303316059b4c3418ac450cab45216da1a028b82e655819591b7fd0374d7578b526b24055e31a02d63a22a2116a5dde98c50302047c435bb5006630640230642c79fdf112f6867fdb94e512506739410c4abb0c0c7415c2266d122b5345fa0adc85156f8389f33963dd83d03cb51402302e141370f66028e187c24ee6ec097b4dcfa94cbce0f311092d3686541e3688850ec9907e6dcd206a0b20cb2b538bfd230302047c435bb500673065023100cf1ae7a382f971cd701bf852689947415cb3e8f879526a2c483b986da1d6ff150a4f9ce1867c990c83d268e823a0114e023061ff5c23720e17e812e2246474d0613cf34a702248d5dd11b957f50998f27a9966c1dad2e5cf5b5ba6a0da8e8e94b0b80302047c435bb50067306502307c7371b3b006d5d37d3b2e70362405c6a0c468353e50ac2e9cb5f2ae0dd9b4028371a5ff37ac0bcd8f6414f461a5d83f023100c5e839348c82e78737fd92f28c80b7a3857537dcb52d44b79f55164eda7408d97ff66504eb9c3162ec175d75ee2301520302047c435bb500663064023054316174b0556d9a801bdc69405726e9346f357b8a7f973b4a6faca661adcf08bc8dc1c51d56c675f23557139749801602300295758dac4e57112d9284c40ba61cc3cc52016599859c92cbb62a92319e546e6fdca311ca0b3bab1c43b224cbbb87540302047c435bb500683066023100fd3bcf80e9f3c95ad8335be339ee7da7a61227d02c8fbaa4f34e070aad08bbe780cbcd60aac3c2d32be19239161af9d00231009bf75636eeee09a522dba0cd204f15c2f0b7af00026239ba89d7e130d4ec0623af78687a43446ef784f863c5d0ce0ad00302047c435bb5006730650231008ca1940a184ba9ba82339d89b0b82b4b5d035be41c79969f2308a3cfad035789093717142e32063435290c326dc0841002303b08da6f6c5c9db7a88e5754c3d9560269fe7647661452d5da8ab16ce86d7b6e2d85bb59955bd265d92408f92e718c850302047c435bb50066306402302523053612c82b091124c5d1e69a91a427bccd10bc1e90efa6181293becc74f0f3c3aa333d7b05efbf95371be546b7fc02302f0f3679cbb697bb92982110598ab33250a72970061d352a828f7f4e530a6db95f304e134724052213ada5d6b33a07da0302047c435bb50066306402306386cab0cdb84bd204565ac0a473fde54a7eb1bdbf7a28d01d8295640925bd0c5c3566bcf71f398589722e5f37b1c7bb02303cc4c7b7bb48ee0c1f536c9919b143f6b819dfb870fb7efbaf7e0dd960d6df664d7b93c8a5e453eb1b46654847613c460302047c435bb50067306502310098a5bfde30515331c850c77d2226fbd9d0f431a7610d47c8225dccfe85f0624e60041900c9cb2f69656956dc6a5ec82202307e5a9fe7b5ecb7d611be42e05946a525f397688b6c353c8745ecbf698fffbc16675f4e7cfe3692076c74425d662cc1320302047c435bb500683066023100c430c4b9ce8c57387a2bd3552b8bb19a2a637d77fa5219cfb4e8b115121bce46ef144b9c8c64809e8ce8932eb218a4a5023100fa088a9173d9d3e84995909f5b68c982e239d3b6f44bd01f97384a842037ccebf82a89aaa9d1011ed9a3ac24e9a648550302047c435bb500673065023100babd01e8f46e19c875579268c20a18f3aa08624caed8711d630e4f7fc8c77992acc458d97c77ca35de5728e64ab17d70023024791415181fdf723cb8d6ab90572e0a49ac96adcf042e822618263df52d10813fa440ab333a8b9485b2ad22b9f4c48c0302047c435bb500683066023100b8771b4c4fd6304f15a8b1be50d4f12d19a5d56dd69ba5da23ac164b6c1802927a950a5e68d069cd1dcc387fcf0f7306023100cd378da111892b7c80dcc7248010aeaa96772220f2bde520be5ebd59f03a2c79dc75405200ba28a9cd16ec9ee8639c0f0302047c435bb50066306402307d8a2c76582ba371c0660f5a2483134232fedaa99f0d786bc089f30e324aaf88436334f1f600ea64b96f5f3dd9d9d36c023035af82404c6adeefe505db89fc145b36b0dcec3a7818a7cd5b2b9b1246faaacc62e736910f6eda6ce2613c71e06575900302047c435bb500673065023100bdcbe5ec59b439dd585159661afa85f1339e9ed2e36da763c7e343bd5d9a1e1a152ca99a3d8565fd493bab3b0978326102305068be885157d47e4158f641b87c25e0dc7fcbb6209473c2154e68164b362abdff553883566d300c3831971a2938f59f0302047c435bb500673065023010a88a16e0817595ea932a5d2be7b38d0200be9b7dab846144e5944bc078e41e0ffb197f298614fe99c17314644e1e3f023100d6b647dffc2640ddedde39dd9621f3fced1a5799461433dfa7326d544067f80153720e1faa9fef73c256ce3c08ac32010302047c435bb5006830660231008b4bb86cd0e978aacaf5df584a51d89faa6253fab1a7cdcb54eee239ed13741c37a3e944ace2438d5ee26556811ef22b023100891bee30ec7bcbf1a3916522324fe8c061d2fbc5d445216d0501095e7dbe9f7eef5c5e1c7c5a80acc9a4bdd915196d160302047c435bb5006730650231009f2e8bb31e229b4a82b195442ce6aa47519f49a7b21ee26ccfb7ebb89949e039e49f437e1fa647589cba6f45d21da46f02307cca881afdf9fb10c2ab58d2b5acb39023568a929d8d200a9b17dc11352efc5abeda5fa10c144256ec3ddd6c216f92630302047c435bb500663064023050f262ef208ee1d3c7c49bb80e9bd7c39ab6a57f6b2fb8b94ba3a6a6ec642626dafc387007e2ef16a02267a3adfffc0d023000d3d90644f01c902b2c54bf10382e6253169436eb1d5c4befbe39176155409e674abca9ca864a5e08c656491a24e5580302047c435bb500663064023047b7061402d13d4c2197a24bac5652dc4f2180b8d280218d2d40f1ef19075e52ce8cde756c1861a1147a0134fe1ee58b02307d71440547f0cf657ab54641c176ffa4f8cec40a3acdb4bc456aa48240eedc5dac5db78e7dfed9763149989b62390c060302047c435bb500683066023100ce0964c148eb06dd48507a2469ee9108573483dc382d77b7e4da403735870a0566dad3006b39ea6bb0574e2d801e2fc0023100849730570a818e26e34d4f89e407edb64f56bef667ea69fde3812c8f0efa3f57ba79b6f51cdc36fd1f763494894b38640302047c435bb500673065023100a9a4843a39f2b5837cb6957a1eb20037e892a0bc8d679199731fcfcd49d80574f96228a7b4ee3f0def610f033d7ead1102303277a8811db95b9c9dbfe3807e7ee2644a86d8d6ddf2b7c97c8350896b09843c6914c1efbfdc81ae33074403525236b10302047c435bb50067306502305fa3ce09032c242b94f557fe68c1a46cc83de5bcafcf03833ffb6cfe8974585aa45adf38f16e024c29b1e4f5e2c1c730023100f087fbf9272a495e1e263fac6e40f3c2256ba21efd2d3af4b0b994f55de6587bf135f305167c0153995d81bc0b2494590302047c435bb500673065023100bd226e10275dd6635286462b7e3029dc8d3a920e242cdc3ac3244618bb7296e41a3dfb2b2550e4629c84f5407641fcc3023014e6d568b24e7a4f2c2b9509259e8fe11184efa5d7b21008f5dc9468948f6a047313bffd21708e9e820ad655de3e50670302047c435bb500673065023100c2e18fc8a94ec6d078074b8ed968dc415c78ddb74fc4f094fb857e3eb6ab5aaadae2525ab4c4278222830beb7f4a91d102307e77c667f1fe071f81c9ce6de7a5c64d8a16d19e41bbc5968de0329a7968aa68ac89e289783578cedacba0d2c57f6b250302047c435bb500683066023100cf53bc528e8da3eef79d1351c4ed4bcc6f02a4c878f41b1c2d3f75266e471d446232b6de76ef11d21ffe5ff07d88c90f023100fb08816d5fe8791b9b286a9c02ac81d6e02cc8bfeb395efd4e2bd2e3551c3711a47456e9d5f1ca19ddbfd7aa4c8842270302047c435bb5006730650230619dc22747542677f614963c4e0acf0a137f80c0c86e7151d069457de3dd2f87ba0c29cfd0c316c9f7fa129f0f54d82c023100c495ece79fd42bc3a868a4f961f01b320869c010f7b9fea7faa52f6ff895c007f7d30bf4b2c0b8936b5b2e38d6ba26260302047c435bb500673065023100cbf63382804ffa25a150ac274ea2147e4c769babfc7745e07c4449955f6f3729a27ac2839e21f9d957f68fc3a61f67b00230408e445c81884b66293f52a183a761658e83245f8acee6a3974942eab43ee4bc71c8b8229d0acadfa5db30c6320db05b0302047c435bb500683066023100d782242ca76f6de240035a4907d00ad1c27752d39e22a9a31207ebbaf335520d338b5c0bb56bfe822a733efa72244f1d023100df9ceb6fbf42a8ba494aa4d4ffe1f9ecc74c46b9af0bd84d058e678b6600f70a96bc2e9b4ac20cedb7fa510dd231f63b0302047c435bb500683066023100a47aa50442326a459a30a7bb4fb4a61bdf202a5a6ca6934e394c46ba9f20d36291fbb9539b1937ef3c2937dc0e4c9999023100878b525a08f0415cba85e5112bb9549c7b317a5d047df501a939a54a4b3c793936d928e7d93d18cd34d90b352b10dc180302047c435bb500673065023100cbe88562d8ccaf5d10a1506af5cc0347bd2ab35c077c2ecf82e3ba1cdbe130ffa10dccc8f49f9198b3c53a2e1168d1f20230678d7b0b6356fa58761d50da5d4634a43450880df6af9a65dea145ab4ba90659389687ae1af037581d847b0ce3e0298a0302047c435bb50066306402306f6ac79173d6be89987c0c2b7225c78c53c0a296a6888a85f5ab64a67d4910113978d1e131970bf36d9c93460aa5bf31023058da98ad24bd63d5047445d229d0342c8b55776cd8541910c309a3516b247f3572fecaf57f3d497d0c178b95698c9a2f0302047c435bb500663064023032404dbc3c3312c6c61dc38ab501ea8c6088a3534676bcc0f834e46a60903dfb071218b69de66de3202d7b30b120741702307faf503de577718fb8d7ff6cc0d3ecca42f52783622274bbd70ff22795b6512aee894875b390b5bc911f238c2b0479b90302047c435bb500673065023100cd03336d019e1f272b217ac9be24e8ee00ce7adea3620f11aa5099a5c87fe4a1cf676335125431a26c438a744848b13f02302e7fbfb6b113b57d0f10c0ed2d4d65af3bc7c5af942756b8bc08ba740e9a29c404e6aec048f315d56ba687b4da8390eb0302047c435bb500683066023100c502b83d3230557de38d1629313038c2ee64106e46c75ff7823a345a79f68fca625d309c7f3f600e0880528a7b233296023100c78f5ebdf5b44e0f0b281fbc8cf532b50086a1bc3e89020cf4b5325f18c65006b9fdb3a8f8eb0cdc1b3b4954c1fd266c0302047c435bb50066306402303afc48ce3774411cf93aee50b839f427e3e33d6a30f4aa02899c1ac30a68d3ace19335a498ce3097ddeb7d2ad598aa5a023011987caa61b76b6ed45111ea5e0843bcee0e4de0294d195853a6ff65952d5d64cf7a1ba2c31b1c393be0de40312a05fe0302047c435bb500683066023100b30963534e9acf0b17504b5f38e3064f176e89563556026c49473006d91998efcadf9990121526a13a3c3646cb33521b023100cd69eec6664dbd54fd99d1aa481f73ca7a2657580782095fc766b9fb126f1bfe8d4c7c49cb7f627b2319af2d815790950302047c435bb500673065023063e81c3a28cc7c79f2387588e84c9c58c3cfeb83541498005bb7d92d15fb090ed3ae6e72409e1e6ea734d889f051163402310091547b0a600a655227270aa02f5ea77cb0d7ee9fce575bd52a9c85bcccb04a948df3623da349c2d39dca1f02bb563fb80302047c435bb500683066023100af44bc1e259a35a2b0e586d612d5a29fe08737aebecdcbb2aaa7330912f3d840b83a1b77397943170ba2003378cb3a4a023100fa842d2d5d001b8dfd7a78c7ced1fa9794f09cd2324943056841cb2d11a4ccd3ed7798a40f490abc43732a8e86361f4d0302047c435bb50066306402303115842a81a64f540ff39575875b41da0dd890ea2cfdabfe1f87b54635701e85644eefa6f6e376bfdba84ec032660d5502307247bfad662b4211a2f47b778d70dd99613b84eb668056810063a627da879091a379d9426201c23ccd91112e9f71228d0302047c435bb500673065023100f3500e7eb58b7db80edd48a06272dd4f639ab53c58cf39dae2a3d7663aee6e95a0ec2a983ce222d2e91bfb2532e0a67702300fc4280cadb8774b1431db1758e5283a034e79395a2532cf51a428fc07078cfe769cb96f09548e21d751eab6dd209a290302047c435bb50067306502300f70e95f4230cfbb5ef913b8d83487c504fe3306a2418c9828abe59ac9cf9bfa02990fad41822582c33f9b0d3df2ddbb023100d546610ccc3606583e2cd3a554913dbf0a1586760f5e3f0ac4809d261c64c0249d09df52ad540ae0dc12f7edc55dbfb30302047c435bb500673065023070eadde7db697336672639303474246e5a303c01ba354ebcc0a5b568bd1354c32acf465e4e4eb94bbfdcb354052b343c023100e10dda330b5998885518d2f50b143438f7205e3221637b879655b0439e830e339f7152e1e00f57a7fa4d62a28d73e7a20302047c435bb500663064023068bab9754e004639b4993ab327dc73dae5b5babc56d668c653acb2a843ba9de418701a75afbfbfc00513f10288e99b27023007c1be930bdd943b00d7c6e34a3ebc2cc57d66b13f0b7d09fab61b5973db6092215cee0391a352051b234d5f0f49bd600302047c435bb500673065023029e577ee9a44c2f07a827fa952dd0ffa3f3c17235a5c89d271497c18cc8753e011118347a1782f275a305d98e885b7ae023100aebed77028343318de7e233875a9a99c60cbc21433332f7edd78234d79b5b7d35f50a246cc6d79cf59bd2ab7c9aa53130302047c435bb50068306602310089f92e22dd006b3956afd6b338410a07b593e9d75cc0869568e55378f5828e655935d4fc8b710ec37a612f08db6a42f40231009f7fb0618efd9645d4970c581a292a2470fb804d0f4e26b81a059437f04805dea26a2be725ee8d72d3c623b943d4e20e0302047c435bb500673065023035065e1b60c6f44a0421257383ec2f2c2f6386571e5c65cc9b529caa262fb32ecada2a78379aaf177f7afc1e5352f9f3023100fa56bbb8f5c4303393a98306c849dfbcec0c754dd44099168c416d4e0c9aa0ab826941b74122aac938750fb26b37c4430302047c435bb5006730650230082320bd88060860c04535c60981b78af51f1e306d34faabff7abbc716432874b1df1e31c863078dd763cc4f575b8b80023100eaaa8fc0d8b37f370f5f454fa98c76c1142d6b85ab444b7922a83ef158048869e28671de79ae2fde52bb90e45050bba90302047c435bb50067306502302bcd19f3346f04d307f41fd4e07857a499279759d532d74b29411bba3f855c5126432fb562534716c24fc1a8511e6869023100fa2c63e654f8c4c167c738caa34bcd4ec91cd6bdeb1318d69235542d46f69477f5de6e98d1002c70e2e296deff8861c50302047c435bb50066306402306e9e69c3342bc84f6f77dc02137afc632ec314c3d9b01873304fd9bf083590a2cca8e063951faf75271c0cbf932d634d0230184b86c7d2332bad6cdcf8551c3d4cf92e7ed01d3a7794cf92de3cdff3cfc54245a9bf9fc05565e5e52156642133c8ff0302047c435bb50066306402302e7e37915e427686030bdd536531a46ed51cca161d8226bb67e08e499957b62e37b01f146b6cb57534b7cf7d48a9499802306c53b63ec99c67b04c4c1038128f3c9c02aab67386693209be4e4c730a425264cc3be04a1086b81c757f22b4dd62b8e90302047c435bb50066306402307dca91da17ae21ffd439d339a148a3b25c4b2abbaccc16fc7e91a5b72bcd9699430363c4510bfcff6ff706e4c5b6b1ae023077b8a3f864cc0c5c5cc3d877e9ee7293c5506fcc74f8a8ca1dc7e2be9af158a3e71fa5613c2472e91bce4de3882ffdf90302047c435bb5006730650230651752ff494d53847feea35ba6db421bd622eb90bb27d24a3dc158eceb9ae77294d3d1e4480b48c57fcd490ff92942bd0231009e4e61cb6cb4e1021e1a2490260f472a4a3b32f415768a94000e978dc3fc858d82e6bf37d0a2fff840757e78332088c00302047c435bb500673065023100b899aa98ccff7b07c86f52a425623a54d39ba2edb47bc8a610172346e479909db2f14ad116c50fa27cf16df5a4d784fa023007557c06e5548f9c9eea2029a73d4519658c4f026d00655c58db14eebc840252047637c3945ba8c70d8bea216c17619f0302047c435bb5006730650230162f1fdc2299adfba0db590f0fb49756584a7755a27f5ffd5d81baf31bcbb3776f879f8d446deecf242c45e3e325d65d023100dd603ecc2bd8155a3dca8dc560e73446a2d8ce5217b507cb1b80e22c6ce0751948eeb1d1e1205c6d30a3edfba3cd90d00302047c435bb50066306402306aa994a4c290e6888bed29a814a1b3fd04b60b439f496aa165dd95e4c4041bd665f0acb41aa85d9077cb84d4de19a9c8023070d1056cba549edf4c9c242d83cfb3a39fdf67000c8ced5e3352e9ab92d5ea7f65f28d3964bef60c18a7f26dab2dfeec0302047c435bb500673065023100eae7da64d8255cee34de4590ff3acd905629d3d7c50a7110b3cd9c2c7e6631094b6846d1991d635fb8ba49faa0f8885502307ff4ceb8d95855e85ee4a841e4715239e8e5b5e8b9d322f1c4e24af1987e408ca12c92113ea41589db36262aa63ac6f40302047c435bb50066306402300ec535af610720e768228a261903f49361f322f0f507b3569ab3b8017df5840536ed1442e09ef65bed841dbabbba16cb0230671a41889c130caea5e14a866817a56092daeee0ad8ebedcc1b56346c127a74e26ab8dbe3ee8a4ca5f7861fd514e8da10302047c435bb500663064023064ab3d80d7e0bfd75b716b42ba42c3fde0865625f98fd959c98312471a08eec1957e045d24d5166901af706e640fb61202307047f4ef03bb8697622d5e0760662292e0b4a15382edfd987899be4f67a6a9a4eccddc5a766031f1a31537efcda04a1c0302047c435bb5006730650231009b388aa9582f77aabd8078dd25182783e7f793da529c31af97f3803d72b4f460078dbb718afbe00343e5e3d002188a8a02301e49af2a2fc4ed86b33391e2b3ccb031842de570cd016f84ccd7f3c0a1052ccb25d47c632d3fe13ccd7094b2dce619b60302047c435bb500673065023100ba28f86ecc37606fbc1cbbb87cc0be4f7f8d10f08e00b4178c0746d2a61b569cc11aad0b07817d10ac1feb39a3884f5702300b0704be8ba6d591a9124c662545fe3bffe709302ff7f2f404a4fdd3013a6a3f4fbb19af2434598289b2374d14c064310302047c435bb5006730650230266c3ebda81462c526da7d018b49435a00b56bbd1934505591147d31e921838cb94813fb6d66fd756045e88e4a8a6e430231008b0a8112bde12a94f41fa63d7429a400dbdd54cb8386fc99fb65256debab8450c974c332ef85eef960467d1a6da38c750302047c435bb50067306502300b0c70321a7534a1c3f5e9dc472c38707c3e6b7d4c953018b55745fb2c8c958a3775aa0e3c816a417c75fca9e03d995a023100fd2e57109b3ec8620ab7a27f71e1af1ca1095274843bda437fe11d66a49b61e734bdd4c803f9a3941e7519e941418b470302047c435bb50066306402301afda5fd140aaa3878b72a3e4c959d96e71667f557adf2e659d162fab178dd1d66790a1643414a685b75c7faa7c3731a0230118adf4a21c6c45b8621bd27c852110bb5640c21983b7285cd6328715ca406291396a07d638b84f17d12464674f0aef00302047c435bb50067306502302395e96219a0b63a16f5a97772ec544fcbf7558da74d6fcdbb63daac38d6d8af99990aac83c588a5a1533e6e16706339023100d2c7c3fa800bdcdd6dcf7f875d227c1e4739436f08df4a78194bd6c3a8c61111c7c96ff9628db5f3556d8a3e9a20a98b0302047c435bb500683066023100fd0714012a88adb79e3efc68b5e7c8f46875daf5571a2d307707fdd3ace1db5061020787030e718462ade159aec361f3023100f0e44fb20872d2fc6e96f1ba58656f89eecb91c6e67951b24596b46b8343a22ebf95091e66d496725c4d6df1d183bb930302047c435bb500673065023100cc24f65bfed7fa5a2ccbf64ace9a46952ff7152fc452907d1a8a74f3f31aedfc6ffac3da1aaf0049893d864b29415cc702300acb939a1659ee199d1ccf900505442a0e019def1f84a8b8657cbeeb9b259c25d39c7a3a9ab0bd09fc521787c0ff81d30302047c435bb50067306502305e98936449af1df3a85ab30bee5559591ac9ab379b34bdf31f6bcb8586cfa41ecf872165780e1c1c06eb34950cd463b9023100dfc96c0f7485d6e3a892e827ea17ed386290ce7a6e405673323b1ccb97d96dd477294e49019542de35ef22b3558607b20302047c435bb500683066023100cf3084069c93c01508aee2b6cc8aefd5d958905b456aa6ed39985775b018abd3f9d80e2bf7c48b2369d92bcaaf1e27390231009d1c993fbc3d8e1040f7ecad39ada9aad1c8bf20283adb7d1462cad671a789435cb277fb616c4827d092102cac763c300302047c435bb500673065023100e266b4c079b5936dceef2f533f563bdf9735fe89cb21eb9398566ca302a738d0bb02f989ce19efdf8dc0c7e7534b626702305d430eb4137e2a3e86efbdb3caf70226d562624efdfcdf923f1f011181233d40861a37d0de24452a053782b239160aa00302047c435bb5006730650230371dccac0b83c73e3d2dd3372a5a9418efb40601ccbbc624a11c5d99ec16a49d6075dbc0e0de7ffb1be66030a680d9510231009488f9b27def6212d72373ee4ebb2a80122539a8ef22d695b9d00b855b06b6f7a2aaebc1489398e266587a115897b7530302047c435bb500673065023055b3f90ac5399242c2e0cf6aa8ff4dd5e461552d6536a584aa625e4b4f84884666795b344c5b59d5d56acac0a1f3d314023100a1f1f4b0864561af6c6ed996cc3724fcb23616d45c0881bc7b2208ace4cd261284857d4c1317fffdf01766a71b4357550302047c435bb50066306402306508cca789e637c60970af90393fbf6473e417e585e85042a60c0d5bd3ceeee8b483f35c6db5f16863e1086b3cf20f16023054f84b57f0422da5e13af20b18ed9566a4268a67b32f73ed5faf8ac721542537a1a474efb0bf2ca36853118d7562c9820302047c435bb500663064023057c8b4ef47e325bf6286374682c494400568b0bca6122bf7efb147233f1b6561abf32d500fb66ee5cf40cb797debd6e002300bb25401ee4bbbca6ebeb02c22d9f33091f8a7b8bdde37eaa16a558d9eb06595b71f8e9eecc7811f3d0b8a3e3e92cddb0302047c435bb5006730650230380ff5bd83b4acc1291db9dcc34e3a8f01da2e30e854868c5d49567548371216793df108fcd9a46037ac4d26df854e86023100970a5b2e8d59890148254211287dd4d80c158e15286d61283790305034c61add32591731465ffa54b5b7c479c7bc6f6c0302047c435bb50066306402303630b3d5cef50dd728a3088c261fadb2f3b28dfb7a7688c85f90aff5654bf406da50f8b68c8a81813b69e608fa286a20023058704a1fda22f6036853433496d32e859c621783c693daa821c68775b25c49a9eeb881556940834b91196e293c245c9c0302047c435bb500673065023100a37d752c8a8133b9428588b91e095e68ffd55d00a8981cfa425000badb46734add4364868eaaf19c12429215a450136a02301a0436f242d5c6c5588f217e252d5cccaad85929da945b8ca10d4cda946af15d2c282ce5a297345c1614921de5b6fc1b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310090cc5a1c01bc26a9aea3eb1610d58b49d93c6e665c2ff69be01156abd0adc79ee7dc33db975b6c8fed9a87a4a89b5989023100d17370da2011a410b1d2fd213dabdfd90cc6c80d60866050f46f68f9127e59c5ad4344942d8fde57b07b83d9d8d22bb50302047c435bb5006630640230455ed6cd67cfd2e86fdbdeff7ec4f4cb11b4fe753378fffc7d3c3321b95fe27c6e1925b648e41f4e05741760dcba5f090230759101284479e0b51a40cecc932ae759f0d68d0d5a38fbefd8bb2c16efadbc67e3364c98a17b9d03cb5c0df949d4ddf90302047c435bb500683066023100b2a6f75c58b72ab8dda15f402ec4f33abf00c8d000f594d42b475bb3ebda39fa352a5004b2262b42f3bd1167455ddcb1023100ac06a16cd760ddbb945c7c2ecaef294c59288dbb993ee0b90423c0ed4dd20a08ee4c43641b8ea5d2b0b0a7c90bec51bb0302047c435bb500663064023067fc16a9d979c4921855bf167a88327f2626788781abc3520325d42eafa7ce588d6a50330ec332c84d67388482556f3f0230607f8f7c3365fada3b78aa835f11c75ecdd27ef296f82ea2a5b5afa9544e00344321c5c812b68b3b7b2f34f602d557060302047c435bb500673065023100afd65f2d9a96bd8b82a53081bf8f8e0e8b8235b115962c23ce5104caf3df117c467734e10daffdc4408628a85ce5648502304e36ec84a4ff76a3ab733edcb4e7bbb00a44e53dea4cb7877a232cad4b7296090e4c647c04bdd26dbde8a76006f4f5920302047c435bb500673065023100a8936df2dc3e6ba9ffe6a680a0fbc92ed617cf217c14e8bf8e99112255952eec958977fbe258172df8d36ae436820f00023073a2b94a6e3a15e5916a54cadae67f83cdd85881fec90b17b038c86042f62d2ed789017735650b1715eba8254599d9760302047c435bb50066306402305f5812db9db84698428644fd6fe172794cc4f22412335229325a7e6645f8a84149c1848f820dbfe7c0c46e4f3906cf0202301a2162b65cc83c3f1ea9f30c3e891a281ada36388623b7c028f6cb4357d3c0eea208c8e1c9755429f1db1024813ab1650302047c435bb50066306402307bae6d201106df464b08463fdb7e46e821fce19bfad6497cc162ee729453b8fb9d7ede8b63ae5efb0c576d59422c6ea5023036a60e38f62d59e300c46cbf5f94041ab1fcae678311768f91e29aec1a3154b81e17f89641202dcdafee525d2cddbca00302047c435bb50067306502302e88a83114d85ee43ac45c2d420e822cfcca72b98dd38a3fad28222956024a42b246509673cd4cede2fba23a6020db27023100ced37f47bf80ddedcd784c702b5cc6d8b241f1453528e108266b04b8850c973063768523caa18c545c235538d1d746a10302047c435bb5006730650231009b83fd97a9efbce4e5368afae9c8f42d7021af8227847392877cad4318976001e35992780b2282fafa03e0ded5e96d7a023065672d6ea250f90a30f5b725b7198d71962722d62ce99a63d1b4b3efc7d8ea8bbe63e44ba3e1805edfabb5986be97e240302047c435bb50067306502303f92b825baeac338e0adbae166f57b88d361b20d68d3d8700d1254f2bda15d985da871e660284453696e69b83010b884023100e0f12e034b3842eb6b3ca1e255c6fb7136a5a2fe89ba23dfd975b9971c3bd0019e46e5a43c5f35be610fe8fe96bae7f80302047c435bb50067306502304ebeb9f4255efa9347bf357de92eb99ad24549ea3a9cdad6c37c9f92fc46a23c60cbf0e7b2b6c5a348a2bb27deba72d7023100eb8bf6c4eacae632fad2646b011a35539d3072e1d7243f6c1d720edb8b6f7697a9e74d0850cc9e6b32b21dfddb275c650302047c435bb500673065023100908d7999b1b4ac944f58b75633506aeffdbd235a965f6ce97f640fdcc6e246e2f50e610279b2597ed012d8f33214c44c023006f4c5fdcceaaf439ba850fe83e2ed78e2087ae1e90283e88c1150d79308d03adda9aaf2c35d27e9ff80dac6266de9fe0302047c435bb500683066023100803d755593e756db5f41b9962bd2e47484ce17fe68d0ee1651f0d855df8e33b461687c59b4c107303e6c2b55a6ed401d023100fd1ec2f2c8821315352b57ef499734f3bbeecc5e23fc72a82000d75afbb1ac367123862b0aaa6c20e6bea9a97ca643500302047c435bb500673065023100c0956c36d4700e279ed03fe1f78057488953a414c30217c11165731c753cde5c500abf2dd54d0c4b4c236d90eb8efa2802305cf79bc819e352bdae66af9e1c8ffc73853a86ed175c90409ecb9b5e359ea8f03152c0428ac9f209bdb745742f7d64be0302047c435bb50067306502305171b75ae960d2f45e2530fbec8f3bfd9b4c1bf2620e2b36a1b2b393bf232809b48613736514535d8f39b5db9f0bac45023100a937f47bbf56b132744193f6412421d3a1bda1350a91da64e1e9912186018ef6c354c64c31800fdecdf7f59169ec98670302047c435bb500673065023100971f80573646f6e704ad7821bafe094629b287217add30096128c1afd03b0538a7492a37d704660536b314101015a64602300e2e991980aa1ed3c692e4a57d998fd26bfcb4dd96ed00b05a2def427d5fc28df980dd4ff11993b21ae523ae0dfc38270302047c435bb50068306602310099bf07ef07cb710ab85ae31734ffa79f651a88466a327f6f201175668a384798b709d5923fc2136037f025e395d06908023100ee7165d1c62dfeed7cd31df6074667211d1143785f93e5ace6ca05216fbef2a388b571ad20895ff5a6eb0fb32c12afe10302047c435bb500673065023008d1a51139b71d929f9780664697274915b73b552451e730e2c63ca9a53edb2b06ba00f3d1adba8235e01a90b607c0ab02310094f3b69692baf84e6a20b44838277864076aed4db35200908bf36945bdb8920055786b63c3e52da6ac7d101bdbed09ba0302047c435bb5006630640230699b97bbbcb07c09f5e94112bd11dec45749ef2f51fd07680cf3e99d56ab49f798b7f1f85c60e8270b818fa42d965a7702306ab3c164bbcce0992d8bbdfd2b5200df7ec9b27fcdecf518eb58f4f6e00300ff7e6907d405b4f3d1d348f47c7b90cf540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304f14ae90dab9eb22b1c34800f030e0dc62d0c4f6da6997f4fbfd3b5e228b8b85f04c0e83a1c07dd011a75f7e9a0dcbb802307a67789b43e34f65ee03e1cc56fa1a23f4b6fa1149efbc5ce64b77f6738d708ec8b77a081a1e2c29b24b5420aceb7ce90302047c435bb50066306402306c29e446ed0e6df4b988369280377551b46c45a280bde215e7fcd837c9d9a41bbd806eededf2228b29cd459c8663558a023025257f396aa9bb8d379ada195b7682bda3989f8122f4ed6660a1dec0a09c4a8a70eae128603deb1b66ac9189db891e770302047c435bb500683066023100cc24c89fa5c3cd9acb2eeb1862515e2e583de34119aed5806d90dcc77166835b5eec592fe21222d19f4f03ef5cc3c1b4023100d1fecacb4b665330333bcef0cfd4d663d0d7a6e67e193ea65566453221ffb60a727deb5f97c3aee46e5fbcbdc83fec900302047c435bb50067306502300750d675de8d465ff57b61daf8c000a1647a0cd24a41ae942247eabac7367341b0637976c9d2a88aba404696b4bbdb82023100c4712ebc722297b0999da10454c73d3d4d24160e0b42e8ed56dd908987ed3460fccde7facf157ac709119cfc68ed1b860302047c435bb500673065023040b24988a5737eb2e15a3d7ecc45618541edce6d297d56fe5ad7720089160e441ac68a33929aaed5c54977189241ffeb023100954150aee05a458bc3a4c0fd8bc1c274a4961d44d11968234093ca1d495fca62dd4e62f0fa4a0dbeb1307da4b685342d0302047c435bb500673065023100f90c8dfaf3344140890bff10a905d5a9d41808115d070dc483797de793687de2b74fa87d58ad238b75758381262092fb02304c4843be377aaf2c30f23a6a1fc56aa994e5f240db0585dea2a0e135aa3caadb4e3afbf654c80b51ecb5862b68a2de9e0302047c435bb5006730650231008e488abcfcd96a26215dd119790d410c5eb11c22319ee81492634cb955da8e86c78063642a374e756e2e51e575717bc60230073b72bdf3c40223e38a88b2e4dbfd163e87b54dc2d19622a2179fe3dde5e78d9147494afa245fc07ca615dc6ed760ed0302047c435bb500663064023017ea3b485635f266e8e74062826bb9c8c817f3237c84f30c173d0d04100f48da57ba418d515ad08d178f7f0ab512600d02306b261250c873d2ea1446a29f0db04cfbfd9725b8bbe3c280adc9c2c5cdb3f5bf0264c4be1fcf8f233c7618eac2e067080302047c435bb5006630640230079866ebffdb5c9e9fea36cc8617b5eaf689c7065e78fbf5640b0634189056f4750f572af5761462aff6c5891380eabd02306f566ea40c15079ed0a3c16f57da488e2a638bb3d232492a327b4a1086bedc7217b6da8ba41aa1bdc7c4ec0fa8b288000302047c435bb500683066023100add3045224b559177011fba396eaef3dbf07cc365b6a52ed55fae06db3fc7af2567c7a0af64252248d37d6161fcd83b1023100c5d4321a3dbab2f897cbf450373c26d74a8f7236bcf7c1271a32ca39f6e71c844e1318ff7d741816b55df1f8a0363eaf0302047c435bb500673065023007e50b922b891f7df57b89e85c00ef91c4f8b7ba184dee142ab081becc91c73ed702cde300ad41060706b5cf9cba30d5023100ea7904dfb9fc33abe8e682e1392a39584bb2d72c107fe93ce6687c9f6e0fc788ce7fbbb69afd7ad2e78c07bff7e4b2c50302047c435bb500673065023020f1338b3227faa053e2db426834151dd058d526f4eb94215c020909ab46e7f494f57ce9e2f9609ccee935c1e3e6eaa0023100b1eb0f6fb00c5e9109855d5fd01f8db67d6ecfd05ab5f31793e5bdf7080c19848d784432ce34fa536ce8e37abcbe118b0302047c435bb500683066023100f777e2cc467e7ba8bfef561147f89fa611fbf09dc31c5cfc47089573bda9738c275887d61f193ebe6ad5b88ae93e02be023100c02e4869c7dd7b751061d3e88ddc9f0677d85a0ed7a1385e4f1042fe4733a778e43e236ffb3cad9960d0dba9527cb75c0302047c435bb50067306502302233c66554c121d24942dbaa5e131e9814db1a5a33f035f222c550f69097bad60bf2014cd381e4fbbfde8bb2484e69be023100f0ca4f98d75e58d7505fd8e7bf04926548d41a5fa3959c4dcd3b6378f455fec98fb0569aa817ecb3f7c3658c40662c180302047c435bb50067306502305982d124678a1f9d699afdc1f5197768f96668cf4002b488c6fd0033183c3c1718e6b5f4a76afa7590d7ea3fc61084af023100f2257ab5d5ed986a4fd476cbd5b3f1c8a081da5fecd3c0e3d6fda2e623eb800bc50a5bdd48b52a3864d6d726f8c6689c0302047c435bb5006630640230282eca2374a3dc6d21ff30c194990bbe594e58a840f0de068a9357370f0b8261ccde7ee100a50a9fee51e3c477a50e87023078d4fcd7f40c5da86f2388f4bb1291819451e8db125607b756287f8382f4d586fcf2efdd716fcf7ea4e0cb3956e8f2270302047c435bb500673065023100b87266724f3887d5a0d10c7902bb5b360bae71cd9c4a12351751145590a1aa600d848034c000517b3ef31be34e1cd8e0023077f6dcba0942421ecef1efda5b12b4dedeccd4372c3f18b6eca66b57c587028d3f66937062b151191b4dd7a4d7ddfea70302047c435bb50067306502306c2b131856bfe8309dd2ca20113ecea1041ac67bb75f20c9712e2821aa65cc7681bead7c49cc08ee4cd9b5f62f755a1a02310089dca7072d132ffc965048d1942cab911100b1fe5c34edb3ce96fd00d9438a1a1f2d5639a50dce3a48003eb82196f6b20302047c435bb500673065023001702e17b89ad6ebc590edcd1b4fb35f874c088a03d8357842de9ac6d6b479a6dcb5476b6f03f3ef45621c9c965bbcf80231009f7b274061caf762aebe7a471658c33b7edb9eb1a9e6317d4775d6ac2dc10393f2b9d5ae44d12025fece06ffa5a47ce10302047c435bb50067306502306a286012f360eae9c1e7b27896e6fd1148a677f77ef0da40235d02f6cbf53501d07aa27facaa12bb2b977a2d47c94ecb023100e84018f98a4ea4c7ac52510e0d7ca677b7e8f69de7f9a1561d520f957a591ab764e3834c21af54b538dbd96cba523a320302047c435bb50066306402305cc91f4986afea0687bd9bb7204f02406954454c6f9c0e0ded937cb76a25f91edb6c035ab67e586fbd5cb8718d4ba9ce023041480abcaf86a3fe7e919ee7b91f5aae4ec90da3531cec1e49a6f73be24574de6660b81d6688e15569f25715a6af140c0302047c435bb500673065023100d19bc991ada8a1fb07af8e74d4f48a7cd0a20b6c02e4b99c1a3e92ad02ee6c327cc07a5613de4554c5b7f9c55f50d71402303efb2ce5489301851b833b9296e660bbe19535b0e49c1af82a0781e9187dafe32024bfecad47ace9684138e74e6531550302047c435bb500673065023100b48990bd2581d29a6f0c60ddb04864bc3bd11c1d51b37b7e7f01b116b3fda38f63a5bd3216e6cd210b5dd2fcb90ad1fb0230684cc415c3c69a8c83e882c99aa7073ea46bf318c6154752f76ed4e8fdd6a72fe38ffe427b1abeff0d52cc710bd172380302047c435bb50067306502304be53f96666868ad78ed3463e4fde896b5b03d118ae590173a63332faad1f151d75380173af7125a8b4f4d3f3e149b210231008d5aaf365cef3f0fb43c25852f9a36be0f8be6566cd510a1a5dfab7e29bb09fe02749cb68549ce1649cb93686dc9d01f0302047c435bb500673065023100afc8b226dfeaedce068f88d92bfb00a4da9764ca711d94eccbb8a352483ce1a6fa876d9b6ea34d2ee37d3d719ce7bec80230771b9ab718a88b12e5b309cbc9c0dff79c1bdce1f7ff15811c628e279eba94e120fe0caddf1dcca8447806240e35e8d60302047c435bb50067306502307aa6230b2525892148eb47233c889549caced4fcca7d466b567e0b191ffddf32ee26126545ba9cd6acd2ab8e8be994ee023100e94164e81c9c0e831b6f1adc39235856c86d6319690ae59c1239b2dd3e75b91d0cd3009fcac606b0b42cc6a239eba2720302047c435bb500683066023100a0ce7877badcd144d2b4b426f90c7981d2eb7b44e8e3b1a4214197fc2fe55ba5d462439c839bb8252fd1b863d5451cfe023100c92a34e3e956d21776bbfb571272bd0d2f6cbeb3185353a56b0461a2a9b684d4127a003f1bf0078e54ab54430b5dfe000302047c435bb50067306502310099bad95bf2c78f9932a8d4b40239a477b5acff9c8750aafe6164848a605f4bc27f830ea74283599c98eb1cf7cee98c0f0230276adbb8235b59a2effd1364dc81b250c1b11130a61d630bd911a9c9984e011312b3a772d4dc3b83fc41a90a7c03ff600302047c435bb500673065023024e5d1b9acc9487c1433148580200c59395d33d8b420698299975ad55c30d9129b5040079589d02bd1735227f778454f023100c58e72a38f8d0c4610f5f0719f57c8508dc52cfe3b136f7393b431da7b84c8fbe626dc942d75e0e66539b5fff931f5ba0302047c435bb5006630640230660a0daa7497a122c52e188bf8795f9899dcd2c4d3af95fe27707758572ff21a314ad5dad0c61e1e77a04e29b84e9da00230515ce11a4a82bd4a7298bb606db27c1f04398d47e475cc6b6037af397bb7c9d5c207d5deb10711877c4f1e064db5896c0302047c435bb500673065023100e6b86868e27000bd51ded213d25026877e1fb024c583b57bc9211c78105613a3a80fda92942de179da01ddf4a61e69ff0230555deabcf8fcb85c279f9cce666b566cea8a99cd967c1e9560bc9b5272dba1ac968776462276fbf9e9a515f7813bc1a10302047c435bb500673065023068bc2af5f1881d87688ddde3ccf9de99c4381e7e9939430d2b46d988b15508a56cda2f76f78baecbc9b2c6547b89714d023100ba6b89023228849877546ff9692778025d8e126396e749f040cfc2c8626f73e987176d386843a8b07ed4e8f8b2c077240302047c435bb500663064023074a21653c8700fa922fde4b30ae534b130f654a8cc69efd27381f61ebc743ff6d16766be12192db853d8154775a0c38502301357604c57efdaa60efdeb4d51b170ec8e1ac59b0b30934f58dee5e65f1c2068505b122ae4dc354fff9267aee513b0a50302047c435bb5006630640230614cfac4c7651f4154f47feb8929a1c0eeb84b2c460f80a82ff6880d14a472f706adc5dd66f4ed59522a0c0710885029023024c6810f2cd01caffc4f54bddf3e826ecf0a7f51ea01aa7ce5b82d0107c4d9f3a791316807d1a61b7967aefbdec74e680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023057c1c62bbbb97c04bbcc3b97343b6f6e3cc4342ebda2973fb89aba3371681f76d0ab0ca16b0c5e8867e72c49d9eae45b023066e28137103cc00c3ca04b8ff934d82709da46fcfa13623e6ea4e7b8055f423956df7dae8030695388352edf8dd2efcf0302047c435bb500673065023043031d1cd156f850411b7dce8f621ba70f77968bb8ac69333c171208b0bc6737580f5548c7e29ca9b664a3c3f0315e80023100c185733ae1566f88bf31161891acd786141e92c1604f0f7c615d93555b7d7e1e17dc296d0ca0ac7cdf94d3018f3595430302047c435bb5006630640230602ec05ac6dcdcf1a03be0d47d7999039ea0eb2a5d36293177fa3aa0bb7691b44beed90a1838c230d98a2a0b89efdf700230644faccda70094f0ab884970ec73c74af2558c079fe3396b719948fcfb5237714735155fd58122bdad88ca9ea53a2a4f0302047c435bb500673065023100aa74c8533379e90281531ac3de38c1ad322ff73f1d2a47324fb95223c5d5150e92ef0606f8694120973a8d09abdd13f802303da08b9c1e4a9e6989e9fbe807a3ae5afd2378b87d759115bf41203bbd56ea630d1c747770f52f66e64005c6dcd26b520302047c435bb500673065023100ad56a096368ebe5673a1b18bf4b4fdf18ece032bb07488342d4f5721619803206b2dc99d5a2a2113214dd25cfa0487ba02307f453e88be89bed60cb0f6e13274c3a94f7bf06623cecfb1e3831cdcdf3ea6c770fba73c48f604679b61d6219097ae6e0302047c435bb5006730650230247a11bfee56834a609f52a791d986cd3626530bf81f852928368f891c1676108c41eb75a687a664c24c5c66fe1b097d0231009f5b295e615d9fb3965bc65befecf5231e198e67e400a2b2d836c817be5fb609416c0140c4c37c8050aed1a25efc7e830302047c435bb50067306502305a212ccb3b4ff8d980ddd0352a9431dc35ba00d87f74646870186df3c9309ccf0e9490a33ac7cc23a37f9e50fc07d7c80231008dec82df825a0c48397c4a5d8c5f24aba3de5c9b93ef465a1452bc91604cadd69be2b8b5d8fdf8dc21b1ef605e6ba7580302047c435bb50066306402304edc962a049989c3ea615fa5d3d561a6cf6c654845a0bbe52e3ddd88b1e19d4e78d7ae60ed124f2ab2fc49ebd2c9db1c02304abd0785e73c0b35d5623f69bdc70f4d8e26d1f764d63196a8beeb6a87dc8dba63f41b5dff32d513152cb4fa7a8781400302047c435bb500673065023100967f003f9e5035c6063143a223de1b466ae07a3f77ccf7f98a9ba7e339d17eb5897ec64f7646d2ab258eb1de133b1e3602304d57450d943a9206d910ae830165ae68bf11066a33c1540d10af57fe7c5d0a0ab6bb57266e4f443dc8cf7ef1a40d89d80302047c435bb500683066023100c668ca00fce14318f1da949dd7b04ef79eefd98671a253b3de1b8aff5cd6d64cee2e225cbed1368004438075e9a0121b02310095efb45e278564ab0fe79c04d11afcf197766ed36a390f406889b3fe4c8c86a0a2c3d34460663a892d62f769b47653c80302047c435bb500673065023100e385334c6b7a59267848c8acea576f760bd72455f48035ae4bc9f4e9f8d9c75b13ed51d7c7298506ceadf73fb5c0e2ce0230127eeb349ffd2ce19df4607a1c0a5bdb67e62525526043b1899914a30506a3a68b6e081a7113d86c39add01c2b5b86a30302047c435bb500683066023100b5c30385bdcc75ef3912e5eddffedb3a91bc0efbcb3acc3331c3cfb9d0ccafd09ef3b41dc9ef7308e215ceba3143cb96023100adf1afcc768c7a324f26c68431a18a08416adc5accc8a7cb84b09669bdda2e810ef3d07d559eb2b15066425b45b7aadd0302047c435bb50066306402301a0005d8ac72896c934b3b79c940cc5139b3e990305141678861561ddead797c3e8d575900b9c8e3f88a67eaeeaaa94a02301ebf81ac29d86e8e7600616ea94f1d986a633035bb5015b2653f4c7674869ad37ae376a4c1112e43a7bd888bee3ad2310302047c435bb500683066023100b5eca38b0ed2794827f7dbaf46386ea3c0fc2481845f6aa5e0b08c8e77413851ca50ddc1dccd2bbb42ec036af1e8be9c0231008e91c912b26bffbdcc4d77341348f35fcfd0b49d2350661cab3f3812156e9a9d5c3f9e2e7ebc9c15ea1e44a6ee48f8b20302047c435bb500673065023100b435e5b93a007a9c982adb6c701943d20bf262fb52a195ba424f0687930bff39ecb87f4012f4e6446f1985d92d119f54023005871dc66867be23bd1ed23b577056aa4eb428b7acee522524a252bd20de1854b7132028d0924ec54aea243d2862ae570302047c435bb500673065023042caab7f14236a84e5f214bae278ac6a16ef17ac4bf849420db97611fdbffde9d2ef6110bfdf4f9edc10b2ddbe9b12a3023100a514fa7ec7200b6056e65f0858f7650555c5deefbb13ad01a2f2c97e19d5f1e8fd79dce76d4bccf7cd153a539d09027d0302047c435bb500673065023100aa834435cf7d9f740345884c6a2b9d2a800ebaa8ff7a31eb80b0bce6cea905e9fae85faf48c9827c991d29768eb5eaff02304e10d75ce1aebc7e6d579d20dd93fc029bc4b031f3d5f1382c5f73af19913e80d0efe3f0cb6582b71c362ebd20aab10f0302047c435bb500683066023100b0c734c8ffd271a22a73e30732745d2eb0e96e52c98c079c77405d21299b86930f32fb2339f59c79cd04872c7c7000e4023100b8da58ab2e5fe82c35dc76191c3ae55535356413b3de31604e7fe4d6bd8811be9a194ca1b9f7fecd3c2ef04274d10bc70302047c435bb50067306502307e686d05eec94cc43d3d7a521e60f794afdceba1f68846425044e8f16cd78fba51d09d1b224e8ca8fa0e25aa077c34c80231008179801e7a1172bb79eae015ccca14011144b5c915b0da1567e11d7d95719208242b1b84e415fb720a3523b4842e010d0302047c435bb500673065023100cd9b91c98988d34279db0546f1154ae564b16e90230db3fc94d14bde23f79ea120c8fc664e0bd95e27bc6278573ff79b02301728a6770d60ea90285037153eeff9467b0c32e50c0bbf5f3e1334756ce77d2fa187bb0edd3caffcc3fbfa058242b5820302047c435bb50068306602310086b67484fd85a9826504dfda6a1ba2574d3a4078d942f037459395ab69960d311f580bfd123f7008dfd385639c5b3ff0023100b65015d941ed6d458bfbfb6fa4ff06bf1d467c7ea95d1d7088e7d9fdfe072afb73d662cb476d817647899f3c3a590f7e0302047c435bb500683066023100d6c1eeea30e39dea683dfa7f4e43f094e75723315adb35d13629ed84ae1b0db05e7bd25b0b06ecbdefdab9edd3b6086e023100fceed9a9263f34f7d96e87d8a65dd40246da896daaacdf0c5654fcb8844eb810b74223530085b5bd6165b820c4dc5b4b0302047c435bb5006730650231009db671c540bc5c3fc9fc7f6c1854be3c202b8b1be0343344b1b888f442d224a78e289ddec8368fb341a158bf118cc9dc023078cf548105da3292a7187c0e1b9fcbd5b0f5da8e32c867cac1685bb077b47a129430dc534640e5b831abf514e1f076680302047c435bb500663064023014bca4387564b1a7c50ff9753d63b8d5e46bc73b663f24546eafa12ca99892dd6c446f3d5aa962bd4c410e518c6f8dea023055b59ae4c4d45e5d1b575e2437d8d0220a0f650cf2407b5018ca8f78c1c74c2fbac0e12b0708f28cff9b0cfc6f58d39f0302047c435bb50068306602310086a6a120f9f36c6bab99e3f881732dad4ad22539a60c081ba2805e929afed5970445650282baaa6815f30773b99d09d8023100bb5529306e047dc6aa08dcaddc45c4a7ab2838b9bb7c9016afed5103e8e68fccf3fb288da8d80a43bd1b2b61852e71230302047c435bb500673065023043deb6b693da9b20cf6ea35774406fdb7a59ce4eb6ec0148a2d00a7af3433ebbd594ffc6fd741efe21b3f663a5c7e51d0231008b7f3ae8821970b3190803ed26a3b7c38acf6aafcde977d1536d853550f212a670020b42f80958d99c016f5595df5a1d0302047c435bb500673065023056ebbc4075c6dfad6e8c3c03832bba8ccf03e38bc0d1a23ec933915a699841363b85a31a07571af458f9e5ffde5c995f0231008698b4e5c1231bda0637fedfa0f415d620fc33233561bfac8f232bbffff5a70c34eea098825438ba8c9eb93d6275ea310302047c435bb50067306502307f7148575163705d20b2a36e6fdd45756a087301cf1830a9b503794ff7905b74a37c4a2f044232aab531b8c2f87c94290231008c736291af6066ce8fee1273e09a2bf20666eae6a9daa46b20b2fb1fac7e631827b75617799788690517ac64a78d92da0302047c435bb5006730650231008cd46f375f816e8ef5825f10fe95069be60a86b53421a263fed6afdde010f6c33bd24c7379a42a38bb14b3fef3f3c59a02303785dc5be07afb739d32027584725433912cdfd98b3acee6bac9c46f25cc957cc21e64e88690c013875eec8ba44f5dbd0302047c435bb500663064023028efe51f885b099d32dccead6ce688aa916525e208636a00c3e530710661144a0e3531a52d0382d91418e039ea9136740230254328f7eca1c06b6f76717d8bf3afcf469a4e8f1701e53a2732785a0ded092e0e127f13dd212746247b5fae0cb100f40302047c435bb500683066023100fe8d9715b64a9f1042a9f93c4605de5871de423c3bbcd8b1caa1ead347163aef5451098d71833f5e8fcba9da608be19202310097674198c00cd5107cfb39f7df12f944e56425fa65b7675b23401bb000d72d72eb94c9265b54c106a99b7e08de4ac70c0302047c435bb500673065023100d98e3ed77ba4e8614090d7ff06367a708eda58f483dc278f4ea11e54420e2795993ddc7f7e0e3ea79a27d73a270dde7502307dee3faa1a09104278be8fee393e25b2dd08e1b489458733f0acfa2ddcbe469835b29234ae880d143be2b211376931c40302047c435bb5006730650230239458ddd87a5cf7881348d7bbabcddb49f9ad44c72ead80426b26c34dde5d80573aac7debf2b59006da082fe23ebe910231008d802261d1501a797c16dfcea61f3478476a68059697d9987e6aa39e85adaacaeadfa9b283f3af65676f1b0269f5c8890302047c435bb500683066023100e32a1195700debc95475b57f4ad55baf2be58fe872a2473871ae9660b283c9984e2ac7a63fce7083af9f58df4073d0220231008199b927cbacce5221a7accc6f8952d20e091769ad23c1acaf6a0d09c415d2a19e9922b73fcccb75069839642349c2980302047c435bb500673065023062c40b0b203250b7c6eb7f135f0198deebeea81c42df72f8d664e17c6a98a538127258f2deb604ef89abd0408b4cf8f002310091366110f682cb5d23459658a3cabbfb1a0e20a18590a477e80d2db480397aefe703877383f64fd2198c5d393a0042650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cc78bef5b1d451ec66edd3b119b00b30df1ce04ee891be90d2942192b01a4764ae4b5f9153745b2cf250803d2fa9b98502306319e357dfcb0df735209f028941b57a1da6b34e0ee169f2da98d9330196768dd715ff3371166374b4d19e74ce4520780302047c435bb500673065023100c6db2ee1159a266d5ce2a036728ec9b382ef7f7527082f2b9fee1495f45221a9d715ced1fa1617574471ed45fec29dfa023044b4896f86255cfbf2d78b827103a00a228f24196c5d02178fdb60c351947d54653611b254dd87fe268e5c6c993004440302047c435bb5006730650230161c6d2c7e676aaef440c197f6847ad6a7ebf84ad67d9df38a1e1b153fcaad5a428eca14fb91e3c20728ba928e16245d023100e4dfd3fdc5375bdf0574ebf620cc77372d6afc3db2af02d0383a40bcfc336ae6e736b925bbdd6809cb112b7ddc53b3ea0302047c435bb50067306502301056a741f4dd3068abec7e11ce2d320be63c6e3bc477007e9b22b243ccf7811056f4a127a15c486ebc8ffb43a93df24b023100b5c805d718f0da6695cb29429723412ab3d20e445bdc478a99c21e08ba5ce58114e34168b68c4ae9e82af2bc6bb66ee50302047c435bb500673065023100f7820595996da0035654251ce1839ea963abd7c0fa33c07ba6f77ac3025409460d7c339015f2cca5b8184b1ac36ca48a0230443645acac64e490cd139290db186e7f53f44b973e4a87e78bf3e5f2820778ecde72793991195296d2509d572df7681d0302047c435bb50067306502310088496359ae6179548213a1120f62b4a98a769dda7e994d0ae41d87aa3bd3e80d69825b6383e48b30d1f5e2100433f92f0230691f8e01e2ea673ad24d9bdd1d388179d2b5337969e9afa76edbbce7d2dd65c4a0b2f2716c1efc687e1dfb95caed7b100302047c435bb500673065023100ee1645bfe16b831eed56c2904ba1d5682f76ff886d1f3980ba98a906b6d284e410291782991cfb29e84115025dc84d350230532e79af2cf8e1669b76908c29d7f896306c1209cf93df3c1e9df854e432244faf43a33598c51fc0a979028dab9a6d090302047c435bb50067306502301da0b7fe9b59b85a937ce25e9d611eb3c6454ec81b1509a6117f6cdc3fdbdc407358fc118846226571fb44227fd4f882023100ffbf749fb22d7bd464dc90d7650a1ed9f8d6c57481b048c0a84171e121e1f5177bb78a30103453e295107ad845a702c70302047c435bb500673065023100b4dfab96c47b44bdc2be1733e8714274f3eb5260b5a688bfdd438d2f502ac7b1d97074a43eac3abd80de355648ebe60f02304ac671646ca88d598bc452cb05c21d84515cb8ceb69e4101320000e27f9161e28a767d6a767ce156feaf429b516d14610302047c435bb500683066023100b8ff8d35a2859afb2f555a390f6b2984624927db7afb2eba2d1efbe5232ec7fde391bd307c318e7c7f5b823ec2f53d84023100c90d64dd9e6c92941f1153071052f24e351e0030c5baccd54e11dc9c8536d9a711c1e01a9fe101fca3f5d98c0278dc060302047c435bb500683066023100eb2393949ae0fa8876307575c1213a64f4f7bfc339aab8f9fb6c663469fade54888fd8609015cfde5f3b1d0b8ea5506302310093afa4822ff5d5efaecf69334778946fc384ba66134cf09017b6dd7301841a6e051f8c61241c3812ee31970db954ea610302047c435bb50067306502300c9a7a6c64a0af259a0dcb3a1182d43a48ad2cdd09b696b21226cdf780cf55e0391fec4abb91846d3bd8d00ebb56d741023100c82ffa6f607aa3280484ae1b13a5efc06c19dda03dee1ccd2aef2df406e0f05ed8b95bb8ce91a00d3086a37b8656113f0302047c435bb50068306602310084fbcd535acb8a9c735b21c6b6e43597c4973b21dc7cfba7b424fc8cdec15dddb767ae8e8127259f8f8b60d25958824b023100e3c2d35af2e7fadb8b10d1364d7e4411c1d9b4b1cf1180fd86858bf5266acd5d512106041d58dd4b9a5c9a21d2ea157f0302047c435bb500673065023100b76ceeb7595b53cdfad8f6bbd8ad20a63d567e652206652a935f4e157b406d565cafad29569d89cfd36a0cdc25bc3e7302301ec3859317499c9cff387f73dd91e5dbd7cc1413acfe528eac686e394d14cee70362eba9da3367550a1421b71b65ae000302047c435bb500663064023038e4b9079dee52e731b8ca8df970b5d1d1d3f29bdb9278d21e3d9c61f4f08becd05639d0ca545f9ca057856a6cdfbe0502301351976fc1633be10b253037612cc62537c7e79f18fd513cbf2d407bfb2d0a19052bb131ed0c534041420e3da57bb06d0302047c435bb50066306402300376a477371377181d996c2c91fcde4342f1ba063dceccf0ed086a2c5dc32e09e01b951f31813db0d1c5da0216ace2aa02304b9a87876e1c81c9cda82c7e618340e2d79c89d8d9e1f8afd3e44ffdf8b33dc621ebb72ca86696506e1f011916138f7c0302047c435bb500673065023100e834573d8c3b54ef673aaf8f7173e5d2652d38c6275c15c298a31a7c3f74de334a1f43d59ec112638b782c3157f2f9e4023022a40ed5e652b39ebb9ee64679c3ef7623006d50bd96147ce608c7a5cceface27fe40e130d72e254f4acc0451e6177960302047c435bb500673065023079bb3440cdc4efdd4e406d287da22f6b3892862a1637874b89e1b20d11ddc30524ab654d63eeda114f56cb261acd9f5e023100a651dd140afb427a674a380bc430f009cf02c9ac460870ff02506ce3027b646225f4584f316c35f251c613e665a728b10302047c435bb500673065023100ae5632688339ee5fa1ce07d452b0853826e33da22b57fda43b3afd250ba20deda25241675fe9c7e25fce266cabc0d0c502307a6525cc9b533ed363f1a902417a23ff3a2c479e0ed3cc06f41426323f5d77bd303f4437da4b527d6be380177b745e1b0302047c435bb500683066023100edc3788993499229b3f528507719fecfc99554cfcdb7bae4be4568a337c68ab4c0229f4bd4a4dbed76ab7a89422c9663023100d8ec53132bf538e6a72da302892f9934b86555a3efdf875cc36ff1f58a746aaf85b250e8ba8931207774ba7fbeabaa780302047c435bb500663064023004fde13491884ee732c5286a252f3606ea0a8f8e60b021eaf33ef5b2f5fc09afc2415af5b377b1e32e743075dc6b516b023041c8bcf25a16ad333de9e82d25fe06f627ad160e7435195fbf0eb01d1dd72653bb520e99aaf19b71f214997a6cca3cdf0302047c435bb500673065023100a3ee57b76e94d59fee140c2e8a40268cfccdcd8d46d6cfeb501f7351c51ba1efc88ccc4597e04eeb5ccea4bc80c711ad0230239abb9de9d2ec33b45b402087e915060c9bce16aa253745e8486cee1a89826f70c774d1ff7d7c2f45bf3af23a802f390302047c435bb500673065023100ebf9853ce868e2b7468dc5521fe363370bd6f5bb0707be6276e69edc8e1577463fdaa024aab8d218a06aa4d4bc79bc2f0230046b5e77d5a79b9fb8f886b3f609319f7245417d8b9783cb5133c9baa1caf1f1f062285abded4f5966c0ceb7591fdbbe0302047c435bb50068306602310089c696e95a41cd603c769bd6cda3ef25d5ed0ad2f4b3e66e7767d46276d909cdf0a9d9baf2b8f2ccf9afbbd10084a21702310098082d556f31399ef03b242b838eda406489706943dc070e468be2bc4e5c2a8b95b59f1f2e7194eee634c0f87ca0106e0302047c435bb500683066023100fdfc21d29aa0069b5c2583b3b6376ed33ef26d2b04fd5bf39e98ff0c41cedd99e7548526b44dc2602a8ff962f62c4b83023100aa3f4a454b090d2c377be45b7a08bfcc085fbbacaed8ba1f62e26dea693ec38ea3b8dccdb705ae7bc97d9393fbc3a8bd0302047c435bb50066306402300918bce1d52ee312032e71c58d8774ff39f8d9b83adb8d56f36fe1d0ad8841dcd447cdedcb46ff3d7dc9063988120f1a023078b01cb9f8ff2b67bb788ab4ed2d8327972287d76feb7f0f0ce935c02837746781f9b4e8847c32feac28e1dab38399a50302047c435bb50066306402305e9dc62b20f11e403ffa1d70c09fb5cbfe5c56997a1d3e4519d6483e698c50b1d0b189bd5947d56f30f83b79cd207cca023037d323b0a204e930f1d940f89b0238db5fbbd4966ac283c4e6ee2ba15b2e2ea39d5edf3c01d63d4abbe6d2cc545f51d20302047c435bb500683066023100bbfdc7695102f903047c294addff0fe61c247dcc326f11d92c3f42042e66fc9075df8743d6681b45e95b72b4e6d03553023100864d63c8dc97d4f17da776cd6a6135e96ca390b262379764e2ab106d50669b4885b5e2c6d1783d123e6592892e7847780302047c435bb500683066023100e9ab8b53d2b98dfe9cb5649023b9a8d2ae10ccca277dd6d0996a9303b772480ad7efea366dd1d83311b9e5320eb04b3e02310094ad3f548fa46288926e9c0722f82d2b883e7544825a60b7cc7a3fcf39b91c6372bf2ef2bc50aa5392e651bd8f4462930302047c435bb50067306502300fb782293686600b1265732cd32b6394c60dc70ebbd29a177e0dedc7a8ee78cac8e87fd538566d8a40aae85469719e830231009751a7caa5161eb3e32db64faf8a14c779c09a900edbc45080dd90813d62dfc2e8760928f496941c241e30f8f6e5a4be0302047c435bb50067306502304cf9e16e9aa2bcfafefddc2440e4234e4bdf0a0da87f3a1011751aabddb653c1efde20a319f0a3158776b5f38121052f023100cca13783bb4addee29fef23101ec9c31b294b438f06098c4992935f936a022c05d18e77d6348d11e502aa96cd3b2120d0302047c435bb500663064023061de312efbbd830396b30e9c00c68b2780d7a45ae4eb9e5c75d702cfb77bbf7980348b16a103eea85d89c02d1f42c06a023045de4d4d805f8eca6fbc22d7a4822fb58d37018b5924923ec682d334b7cf9f776282d1c42256cef7ed9c8d7a8bf539850302047c435bb500663064023032fc46b0f5205f33acbda6be65796227924931642eaa87b3ca2d40b50bd2d48d6d8faf91e5af82adf376622c18fbfba102303bbe7bb384c7be23838e95fd873b1a1212a79e564e99b804e50163ff0530ef2f041f407dcb71225df766c91365e24d780302047c435bb500663064023078a6fb3a36b730a68f8c31545cf12c40326ed26836d3d0c63addeec0ca31afce89b914e8b93b65e41a9992d2f99ac5de0230498357054755814af2a364c7e72d293613f2f1e1adea83fa266321d599e5d3d3718159556dec76bbd705097499d700720302047c435bb50066306402302eb3b646bd5879ba48b3ca82f21737323650111d3b265bbf4f87f34554ef6f0eb61e821415d3a132f8671a3dfc18e36d023069e0f7ba2ec17f0540c0dfe83bedaa2d49a53b166bc00dce5f6eafdf93c7c0894209870479eefa563a880d0befb67dfe0302047c435bb50067306502301af2f189f42858a1cca44add761cee8ba7c92053cb1d5b76d48d5b169c704637154d9ee124f0f8f97fa8167b2d49029f0231009976df5a27fdbd10f7f7738f2757b134cccf3110c8bdf3d6c08c25b174298d1780e7a15e6b195b38467d2158ac40124a0302047c435bb50066306402300e1ac43de1d39d941f8b80695d40b93a5e63fe387dd53dbd249fda3842b2a61fcd459824183e21158cf262a088f443b20230544df7d5676884071d5ead4d68fe8a592670b5311a07d531f0b84a7ef1bfed8c95b69fd36ecebc5354fc5b91909168a10302047c435bb500683066023100a692d0bef0c7a8d1e3b9123d1717f484702b82f556e87557c7a7f8e6a53184448f64d4acf87937cc7ea6aa9e949a5495023100cbc443379077129f944e44ca66d19b957160daad20e98fe75301e25e5cea999a11cfcdad598aea92b45f1dd4823ab5990302047c435bb500683066023100d7483833a1f631b097a68023cc9339b6180811c76cc97eaf0e9e2015580ce256e474a4ac3413c2e96e6d5888e66e8cef0231008a76c7d578faeb2e85a272d2382b9ecb704957791d8a9007fd65d6671f1ec886de03c5fd794664d0c7528d508db45a530302047c435bb50067306502310084f367d86fea73a5b2a1c0067d6a95f2729baf15478ae7b06e204dd974375e82b9c945b2a95ae347b4bc3a52c29450ee02301039f981898eae9867bd233061ddad504e99b249c125072426ac12a20f853b44b0737d7dc53934e87167d0c9f501e5be0302047c435bb50067306502302cf6410a6a01f0649a5f38cdd86c199fd4549b07d8bc57089ad49ab839e19305931005bd46af9ee87a28f059821abd19023100f95978de0a3dc33653004866c235965e12464e2630e6aa3ddae09ce131438682d8665b481a7fbbf45f712e329326901d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f638c861298a66762cda100156ad1f4628c1131c225e733c91f6a1b616465ba09f62a622620b60e7f7c2748948567f14023100812804f27aceed073dd642887c6eedf2234a1ecc64a0a2194290ccdef40bce8228858340e0f139190903901985bd446b0302047c435bb50066306402303cbd23e01adaf848fd2f56087ef8785c95402c88f420828a75004317f9d02b2bc3026de200c09e361d5e2b484979232f02302af909ebf40e403e3f3d9b0878c58b46e86240a64f08fa64f52a748806964102af25ef034ef97354a0959faad280e8b40302047c435bb5006630640230065f90427735194a10848b59b218d3bef73b7d2e7582afe861f7a72c839b41a6d0693e64f7b11ec60e0c7f7d92954fe602307fa1890b43456058eb1707682ccc96f158ed45000e025880726c329c699a6970a7c998ef133fe0cb60194c41801732510302047c435bb500683066023100f78d913d9719c7cc5ef7fe64e1160f4a6887c1a0864b175f146a4c5b93c32712de8fea5f47ed4687e832ab1d8a11e3b6023100a5d870ab7cdfb972f1649b73940d4a42d22b0f9bd9575a8bff4a1d8b1cfd9f4da53bba2869b8b608aafcacea0ce6a52b0302047c435bb500673065023100c46a47e62792156480e109cf7879943d9d7116c7df547cd488fb33a24d1b46bc53039e3858c4bb274ab4e4c8299eb68002304dc2a8b297c256266df893c06d09cb7c5a42d1fdfc59a5e15778ecf20929b0f7df47d2061e16de7e119508e7cc955e630302047c435bb500663064023009a242f443d9fd88866ba8ffaa01c3bbe32ae3c45d1a55f707290ab3487dea13e42f6f14b1cb9fb7b2c1d3decf69f6ed02301a2a8b80babe1c1ccf9825aff772bcf164982ac2ed0ec93cfbf2b13e2d09609df0b4bce48f5815305e201b9425d2d2660302047c435bb5006830660231009902211f7f71248a53b8d59e43f9ab9fc4cc0a5ed0a0c168dadab6af0919cbaa033fd30798c10951284c07c826139590023100a04bf00f151d8d765a3839d305ff8aafdf45be5bcf93c14f7143a8f26a2117fa0a6d519320c7cc84661647f84a9bbcba0302047c435bb500673065023100a2afc0038945e22107b252a6b8bae8b932f4169bc571c95c46ccd23910e0ff1697eed43a53cb289e9efeddfcc490f8550230763752cd3c03030dc0e9ab5edfc72a09c4c8d26da181dc8fb24dfc4bd45af2565a93f035f86836959c8f8f62022241520302047c435bb50067306502300983a1067efac378a67db4a687a9b1aaa1d8633be26ed69b6d967511afca01f43f2780eee6f34bf842dc3cea29dbfdf7023100959726bcb93eb72d4ed98f6c44f8bb5e33a150a2ab4439ac6e65244f6d467947711993326935896e4f4772f3cc3ebbb60302047c435bb50067306502306202f38262bef37b81267363ed578763236560e69d08c5aa6656b4837f5ca6c963167aebecf93fc93213c313af4a024c023100bfbd914ff28ec07340090890c4a082a00fd7f94686aa80a922de89b855336fc6894231798dcfa76fed5834b8e21064f90302047c435bb500683066023100beb30b176434d1fb2448c2e9b2155e7e9fa323e7eabdc4c47e4de5a662d6eda909880a01c5f2391145ab596fd7d2eb9d023100a98ecfa3ebc29b1acc8c1e43e7f42e4cea15452485d9fd4c8cca6194fe843ad18311451f0a257a890fe80afe08e42be80302047c435bb500673065023100f5b891e9b06000555a7c8c676d58727805f2808f127fbc6e7d5d7b2263838b8614e26f3e48d0f7e475a25fa04fedb807023071e4314945d4b4451d2c0bba254f4f11f0668153612ef4257ded1fddeb5b50f92ff9faf04652827afc0c6720aae797b80302047c435bb50067306502306103218260caa130f131df5e27ae980550e625a4fd2dbd9b055556403dc8ec070f8499a7bb4d583b24bdf8a2d2ecb83c023100dfc918d815d02a8fbb6841ff78b4ed77dd13a6fcf6056e177ab969a87535d51fbd36cc4427f323facb394d90303003f10302047c435bb50067306502310090924bc2765a428a2e9f74765130a68ba586fe9d49c854f66691edbc527eb86ab9254302d08b947cb4b15f1f84781d53023075d10fc0a6b134506c8638972be465934025b3f1c4e720ffa8d8f0fc7edfb5a2ddd906e89e8c440b20b56404018b0a300302047c435bb50066306402304b4050743456374d89e75e31ebc83d13c67db466b90a6dca72858a16209f435733b25a0881316a6909b6ee8e493cba7102301628672017d83ff477dad4499e16004a4b1c605485d67c77ec187235ee0539976000f3831c9e5c5ca61384548832f3e20302047c435bb50068306602310092a7db03378deeb43d6e2cb36258762f80c5a98fc8c03f1844da63a6b70c2765327ecb3fc6fa4d18b18d5b535ed41bad023100a2bc0ba37f88105266e56ac6de27bc14a72032a07dcbc9ca43ad2be96a948b30795651ea3016d2612ab8386702fc56860302047c435bb5006730650231008359c2e13e7f9bce87f985b75b8a198a5f0d4d1f1a74f4ae1863e2251b20b7f8fb6848ba2ec51c03a088cbfc8efe509102302c37c3f283c2d51aceedc323f8e6bec8268c052db0546030df8fda1836cb656f53382a1f48c2013eaff8d52b358715ac0302047c435bb5006730650231009731526aa0a8ec69d0bcf55d6bd87b5f8a7c1984996d84cbf3eaa111a698d36210632d60c6e82a908304baef11d44e8d02300cc1ba798f6ad889ed061129b9aa004a41f5471dd7ab3318fbf1e953c81ce0f561e46a2379401270cc1dddb0c1f75ef50302047c435bb50067306502300b3f0b96a2dd868209f4c2f6267175440cde63aed9c94254b138d78331867e01002c6c26da9c9f27ed82cd94853261a9023100db54c91773fc48c8fa60612af084f2daf654064c6f6aec0b16de88a7457700b8beae85de36bcb9adb0fb36839c9d84540302047c435bb500673065023100e32b02455d1442b355bf4fdc1ed59b9a717b061527c4d2bfcede8ae6ff2dda110f325977140622a172878f942d7d263102302fb9354d0421fc4fa7ae26c7013d86d90eaa0cf72b1c1765ced4493ed4f098472d44756d35904927db6167d9ec65a1630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300613ffd5cf9154860299070007037e5508173c0a4b8d4cff96b0f87b3a0ab3c6ddbc34962d3019a966666344b2a36872023076200ac2f6f23024df2cc2be7595236829fd1393c554eb0f76050df98c52c8c3b9be8ec25a34c053499b76a2c7eaaf180302047c435bb500673065023044a5aa5971667b11d488ae58de692baddcc96af8fd00c7a49555776ca09a01d376ba6f7cbd5cadbc660892e493ccdc6c023100ee02901fb8d9a0851548313e8215321a3c45121f74b2b53d4d768cd644d0b5b3a375e49d2d6942ffad3b42dd72c14ec70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100855735ff9be5e4838bd0bb8d7d0fbf12ace51b19e659e5f4f948f20bdf021748acb9a39b194204304c0c8374fdb5ccb4023100d3591f6ea879f74f33c49bb3e966706c3eea357673b34f209b66c2d1fad1612a12e5d0042ea118eb85833d73eb887d630302047c435bb50066306402300564f89068e8462ac74da192cdfb76c14756d60f09f0a127f084b0813151cc57b0bdf867335def2a6bed616d295b4bfe02306b416969a4f76248c3eef6dc07cbc0547a436e5b0096be2c4767eaaf72402ec34596f5ccfa5f830494605d6defbc7c5b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b40236a773e6832626e9f93861d23c518abb989bd907240beeb95cd7c2a69cdb7f51987520d8f93cec6a6042356b0141023100a67013ef1896ba03d89f725a7e14a96e99595abdca80654e67c8cb0e934ec3f13898680fffe10dc35f33169fae1a83820302047c435bb50068306602310085c528aeed9b3b59801f2b55acba7fbbf6d84df0504511b924aee216d38d772ff022cd64533128b4590dcefe44c60d16023100e8b8404df033109e79bdf9f5c57f715311014ce8b9e059a26b756d51e3bf39aeaa341abce80c5ad69cd919ad168e49360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e961a8595c69ef04b4ed079f7a3abda9dbf8b7e768a47ee95de5296dcda2d1a688b22d47edb35aad65be77560bd8db1c023068ed654446de87f16b7f5f7faec535400510ef8921d3d2415ef778203db19c83e25513911af1f8a74104211600f4fd020302047c435bb500673065023012df195417e0e9b96033d3a23f947e1f5bd92a2db86c12291d633cf4f04664a432c840eedd3a491bbb33c22e76ab277e023100976a828e903571a3f4f4bf763408a163bf4e2d8c40698902ce0c9b2918fbb8149fb7a3db463b95835d7d516e7b57ad250302047c435bb50067306502303ab303b22d32581b0a7cad5c9bc22e0a80a47f5b3147c8c267664d8fbdf7bfbb9cb59b8b3d2484b9ff6b8ca8c1ff2853023100aab0f7287576641a58b20a59b6ab0d40ca60b1a1c54d46c96b3df048e69a6fe2bd04ce24556b1e5316ab5596175c8ad00302047c435bb50067306502304d8ee233515c6b77f34b973a4fa6bd79e97c5bdc089a63c3beb23382908148ae04e67cd6965e6e07b8f16bdcc95b209a023100d9f87a0c4eee46a26260a3a756bb13918045c24fa31cf17575b4b6f605715e3a55f0f7d8482f09afa74525c9cfafea320302047c435bb500663064023016432b1c444228c7b6e13d8773ed1f975dcce3ddf43ce3b4c6ce0ce053c82d88e524f201cb248720ef0116f0bba6581302307227adb0c773026d2db93b850909c6dc2b5a23308d0bf2b2c3651675fad5bb371293d33a5612f18363add3f687f3c7cc0302047c435bb500683066023100879c7f643fcc951537bc3e6f4f967f6da978578dba4b9067b57f6de45af5260bcac73de20c43991bcfa79364d53a7429023100e409525707863e0a774419c095804c62f5d329248ac9b7bdaf5b927b375e0c6b5aa7519c1f87200ecf3a9bf67d99b6d30302047c435bb500683066023100d03a252e23d3f78d0ab4cb8f6161ddc1f50b9efbf8367c129e76e68bee504a279e6f3ccde049890c6571d4c6b958fc45023100a08ac50d4171c840310098d6f2d4060c7657d8b021484372e1cd0a9a5bcbebebc18e27f4708cd62a786bbdf13505655d0302047c435bb500673065023058a7413654a5dffc66f128c9f0d4897cebd90c8186da92a34d54660fabb2e1ff21501d49199314b6310d081d92b83b44023100dfcee1ec9310536a2ffeecbf50b479a88582aef2a464eade1cc1651d26ef79fcc6da3f8aa534903109f66f83b2e479240302047c435bb50066306402300562b395e85b0773abaf208b609faa45c9e363667287e3f65ca629f29c82ea3c5015f8446215ca69f6e5eb92eafd051602307b7be470fae82a0cb4eecdbdf105848bc080fff4902e725ec711871ba0861d62e7f7093e73f71192a8e556a39ac20b690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dcdced6cceb0e7ea947f3407b85c93a99f780794abc846c06e653897e487a7dfe782f48beb7b05e1bfbd97e9f347ac3a02300140acd4c05a36d7f7b530133c489e5bafa49cfe7e839ae1c2938471e089744faf813bf9b0df77a7cecc980de6cc85f80302047c435bb5006730650230524ea6669b08b4ec7365cda7f467a26d49d28f5a2cda80e40c878238095fd753b05c84c352a36045290b5feee6a9603b023100fa444ee4cbc87158a0ff661d94eb82c6c02146369cbcb150233d0272d6c6bf3705ee75f31ad290c327240e9b8f5389060302047c435bb500663064023071469cc26cb86f25388f2398ebab0b5973092d7cadee1d2ac66dff410a1a968bdba7112a8fdd5e048564fd55f5a1761f02305511b8991f229edabf5393b6e1f4db86af2fdc54f7c07958a127a65bf0b709468e0fea5fef1b2d3398cee6ba6e2ee4720302047c435bb50066306402303952b5f5bda94ebe7f74cff94ce7ab0473cff268d177b0e05d048b8065f5ec920b06bafd7909abdac75f900ae0d9902802307fb076af8d0fd4e3adbff139f2d3fbd9cfb70b8b428a45f14b1da2bb03ea0b05a139f09d2455ef712532483f4a19596f0302047c435bb500673065023100fc7c6e48df9e659589e425226cd25d8f047889a194bd022495eb57a7ee7c9c45f1a30d75e288abeda544404d417a394902305d1def76511be9245ee99050c901129a64a663d6c23d0c02cf12b15671e9b4be56b775385d1d08661c5d72009ccaf4c80302047c435bb5006730650231009176a0d7241ec1b530a039ea31808c556f5a940a0824f1600c73da26b4528a37f04ef26a769cb98d137d7a00f9f13a600230703bd6dd76b972ea69aa224b02ece45c4e4589a802d6c885cdfa9c38ed762f99e13cbfba76d9e123887c585c8776909a0302047c435bb5006730650230289661fa5ca69ea4da2704cbaf2cefb6662b42e6e4ffb6204bb9fa0f06cf4416991b08cc89b45ce8377b127ac3dcebd8023100d11df932ec57c9deb1e77a32dec1fa505ff91c1aba355f69d15f55f1b42499b3d0e583c73e9508cc96a3b05370a9d09e0302047c435bb50067306502304809021700b09e77d67588da4a237e7fe0697a0c7950cb54d42c491feb54c16b21385d28ffaa17ae17964aa9b295f52b023100cdb3b83d7e642251413eb2bc537064e6c2828f24338d88f2878996b9c3fc9be98be650ae81abc390b3a37be2900fc12c0302047c435bb500683066023100d22cabfcaf185088e0470d8115639cde384785e7612f0395f9eb307c1de77cdac2f3024354832de84eda591fc72477a1023100d400ca35edbebab06225cbad687faa5230d9513eeb1d59909d52c3cdda7656c987f7a154dd85c0d6c49615e59be75e160302047c435bb50067306502301bc1b014fc04aee99f34415710dbad5964ae8e6b1f82685ea17d9b0b473170252b107df6c2897a100056fd4bbb9e38f2023100dbe97455a896600911dc99a2c69c703039e777395b509d8e2375a67e5c4ad3fe2d3d350c354919796eb7af8bf3cf9f9c0302047c435bb50067306502305a6ef08a3c564f6439cc26d1ff2a3506175e90d467401f2b73e62343e26f28fac5730b0bbc163bf918b35e9758329629023100ab6cdb8366ed24af0dc8657d6c88ebc6334d5ce9f753e02ee390978c42cc2aa9edacdd0924ef3baf5dc42c0a9e74d3760302047c435bb50067306502303bb7a40b93652bf9e8443b66133b62c2ce84b30bde8716a204e694802c0bf17817b5e56af484a25522dc3a5508202057023100aa08a2adecd484fd4c062b7f84c983b2cc883c5cb5066eef2bb80876d367ddda7a731de8781aca2a8326bead725f46330302047c435bb50066306402301e9674ff66e55822eba171d19764d61657958084002f71a1787d1d7a24c8c40a0fc3eefc60ca15a41a72e0fdc5089d1c02303bdb41ad938f79c6b25284a88f08ff6e0545880fe686ce75e5408f80288478f5b994ebec7dcada628eba6d3ca289c6f90302047c435bb50066306402307b6b487215cc6334f410c6e4e375f0cd184a5fcb05f6758b32b843278c6c5b435c80057539157a72de5067a10822dc6c02302df63172a445a31d1ef2d2cb5e7093075f26985c92d8859fc48ed7bf7ee5917593aa4f6df3545aa1d9a8625307c922c50302047c435bb50066306402300beb2504fff00f5c8be708682ae15a4aa99296f0e13e862c0f789a81fa7f9c9dae7f12446c2b2f213577a007b76d2e6c02302e0c7670a8030ce69bc74320c311b1395a323e5cefa52c30a97771e738bbeed78a46c5f2fb480d087010e0627a631d1a0302047c435bb500673065023100fb7282cb820807fc28cb8af5b7c2dd3bde9fb82989a3a2ac71abbdb0bfda77e631387e4a827e42ae7d1781e43f999d3f023026da76289e3db2aad1345473313d3b349470f315c2073e9b4cc042b91882b92c032713b96d74ea6bf233fb31b49edf120302047c435bb500673065023100e21b113d724f67fe6a023364ab4b72bab1b55bd0b0237dc85ee8c4f864435bb2f8fe914d432f50d6ff0734cf432890b802301693c5f14221427b67ddc193866cf058d26627107a0412a28e5dc09368129e7b3bf7cc53ffcde86bb4596a25494d40420302047c435bb5006730650231009cb6280a8898884f087438842b92475d44ae9cd508cc31ad7f8fce79297e67fbcaf311122f40e4aecc9bfd6e80abfffc02306ad62f5882e171c0cc5fa758566874d739484074cd5b31d65f52fa39f63538d2e4ffab4ef48a096647395b8a21c607ab0302047c435bb500673065023100daa2feee746a132d3c79fc7437c00f107fa6adcdce449906331c0bcb0030c13fecdfb3f63bbdcfc73c85fb927c2d2c8d0230112c4f40202f76d7c9a996bccf5d3b0ea6763420117c2dfd66fcc56cd49587e29cf19ddf51c5d72a4bde158f09f811fa0302047c435bb50066306402305207fe2ebf525e78b6161e696b913c0b14ec5de7a066bca69d919c475268298c415f012c60849b9992dfc71a296b6a1c0230333a72898674fe43437b664f934054a45f0aee7770cb951dac2c607c5f867d73487cf12bb43b6a5e663d4a3733128c570302047c435bb50066306402301c465719c8e05189836b8736f3aee841978d74828af16862c3560ce4a4bd9727dbfdb47a910c0a7fcb239d8fc542303502305cf8da35f23b443a906b2866c03922a5e800a850137cb7bc21a0ff74d0bf9742d04bcf56d28cea95c2857fcac8de18ff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307c5f164c9f4d696c75949c0bd11a749a2d20522c00ba3fc666097701f841f2375b736fe93ed0c4c90fcf94c5779270f802304ac9496fcac4aa9709986ccc64b91207715c8e83d4efa59744a335aec18d171c413de04c344678ac84035087f31426650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310087d9361f0d525effa1580fbfe1913d49561066459c88be3c2ad82b8350246bed2903d9f048bb2a0e0b7fcd508766cf6e023046c1bdcb1d451dae12788180fcbeb7e9400f68d06a8c6719c1c313be4002cee721bff143e392e25e4d0fd77be19c48a20302047c435bb5006730650230221a5944c4c318a06da54f5f4eb012f93a82b0be7ca28b9ea82c77bc2aeec9a6317d7b1a3cc496d890016f042ec73017023100e3bf3ec6e16cb9e8d4872cc46fe90cc566aa206058d444a7aa56f536bbaeb867a9127fbf395adbf4058c7bf5eb9b70600302047c435bb500673065023100ed63b8e81866b996b86ad5c0ec59a61d05f188cfa7b03106a3a572a1e7187f623460ce7b5dbf065193dd6588fbc2c32b0230720b3162c30e35db347498ce38dda979d83157d54d79d933ac62572cb53384f35542ed38b3d6ec15949b703164efc0180302047c435bb5006630640230223f27909c528ba6298b57040ccfedb90046c48c53b6f0f182cf432dcc65777c5b5bdca63006be91ca913022c6cff5e402306c997f745dd7739967afcfd3f64921dd3b650ffc35aafd6ddbc8e604e43c0702706a4097f6a091dc2d2344f6086c70600302047c435bb5006630640230220b69e6b2ebaecc62f1d7c89083fc540c6b1c16d6e94a46a215363a8864187dda12c1531984b38b6b2641a78fff2883023025736290b38946ed55afffaa16ee4e3999f420e1f8dc9108ded9f981321a7ad39b1ae6d55808b50346fd1867f39638930302047c435bb50066306402304ba0cc93895a6ff91c0a69bd63c9c901dc65dd2462aed2dee4d2ca94388a686b67c2807fed8afb6e18ae8c681650ff8402307868d581ad8cf37c0fb91e61389e62b4fa007eba8f5fc2bc852e8256b66066cd6e23102d3b1e8d0d090911c950f21df80302047c435bb500683066023100e32e9ec1a98603fc52ada82efe8d8b2537769208d4900b17965c5daf6fee3812e6ed229a0ceb18f357b940f2d7b04110023100ec8db91d5402f18140bb1183c4da61ce0eb3b08d7ac94a0af65916e7b8abdc4252f7cdc286416fc8f9bb04364329b70c0302047c435bb50067306502301f25514edf91c8d4d683f14e560626f536c905c3f5b8844a861fa6a11e7b6b6088c80bc204ad5dea85f63102078bf617023100e760ceca361f61fa18220b6868f61294f1a4f60d31134a158c65be13acb9cd9be09f989467fdcebb299870d37f1879010302047c435bb500673065023058c0099ca73408186ca4254e346d4329486ce75d81a3dd83a473e6944132da63853bdceb94a0aefce166895f081c41ba023100c49c7d68d5f00db49345811b2a8fafd211f734673ef61909abf79bd76decf443ab10d705d9b07c758155d2ddb19cb33f0302047c435bb5006630640230100aad0e479be5c14237cc3fb870cbb0fd0da9757c48c752d6ef4e52202db8c542ffedb1c8018696d8f65d555eab0754023041c2483fafdb60387e4b2b3efc48b282a4768960005c6910310453416b44578df3b76f351c9dd5e7870ababe7740e9160302047c435bb500683066023100e45325c62c9fd4271e6ca7a4f7d687759b6921ba222175b25862b692b138d35c4606de58b754abd02d7c05fc19cdeca5023100dd174f35645595da8a3b1a4c8c198ef4ceb7046d7a0c4c107eaea10bd01513c99566950a42283076e43f14b11cc3b9700302047c435bb500673065023100f5d43b23e80ce9f6b02b3a26557b29ea2973d411fad4c2fe786e174568267186f91e258e9a45d918dd1078174ba9f5ee023008870f4fafb244c3c2d85ece1cac4eac69e46be3a1a0c18c701be34632070ddfd92dc0b2f9d208106586dbe889a30e2f0302047c435bb500673065023100bb70090769faf4ddaf1d9a886a20102ca6722a16f068c5eb9d6e56068b42da42ebcca5b7ffebdcf6e3344c5907733db30230345672ceaa1d6810f169645ad27b11250421b0b4b3666a0094328231be68f167f8d0295e09556c390ea0bb8fb00adfe70302047c435bb5006630640230618a1934f3146b324224a629b51e1956aeae6ffa53107b17754c3c6804df7d96cac5684e974114bf528ec847d8a47ac802300ee891c5057c3804c0498177b4e22acd78e75861718024c886adc72047d27028ad83a0b80ae4cbe1f8cc6017c88eded30302047c435bb500673065023100c445cd28f92b890c1940e29e6b0747713863d24c61d435c41603bd0bcd156709d289a4e2f4bcd39cfdb5f5c207308ae902304006ea5f5a27b52e697249d86d34d9eaad1bc0b2beb08797063ffe171fd6ba7be6cfa07b3355ded7522fa92eab49da870302047c435bb50066306402305e85431e6a58bac549dcf470a24df264fb0b1d4c278a288d89e1db57006551091fcea57e692a526b3ceeb30a1fe5db02023077142e6f71577bdfd85609b176b939ba482fa40197b09518ba577b0cc1c8af0ad92f945d6322815db86641860f33b47a0302047c435bb50068306602310081e3aa442171e15d8f5a5e4d9983e32b4915e66198c14b23e21ceb90a19f7a6d4bd4d5c9b10c1dcf3eda8c256c119e630231008bc50fc07e498c53b1539c403755d886c855e463fb138eb874f3f0426ffb8dd8cbbfb68f4ee668e61617b478bff4bd840302047c435bb500673065023100fa248865749c65d2bc925e7c494badef21885c5e90010c1fdff6b93044972751f4303b5a2c0effc431860ba9387a10770230684fbe634a9186ce89a93b1bae1d3d40c7f108907f2d8466de48f4178acf1bd26305d27e36892f031608746ff5894b450302047c435bb500673065023100a384cb133a856cb562088ee6b20a0298c39d04c280a2f6479cc575a1ac4161ad46d2800697b6cdea90f74d58c1dde11a023004d45c8c5c86ccacb18d3a80c6ff7573e243ab8a70c014c8f4714f85f89d32090514c565a831965eb10caba13981c4ea0302047c435bb5006830660231009581738961804315f97b703ebf48ae18c71d8c9b5fe3d2a23d8ec2f635fd6763d3c8b47539dc64cdfa28b78f41625544023100edbab61529b93f1a9359ab30388ae4fd420fe688849e7723777802e06a013eb80b567c53d67f9f4f69bf4710a43335600302047c435bb50066306402307a9b4a017dadc868ea706a3b039fecab2f45f15580126484e037c94885573d512364d25a0e0bcf50a9cf187af7257b800230686945c547ea74fbb6e20e7fd9d17a0de8d1d144795006bf092269e18aa93fd7d2a21ffecf193881698b7f321fc14b0a0302047c435bb500683066023100cfdd5a87c32cead8e9e233b76a98f4d3188516569825a328d29549d87c49bce877a13610d909ac14c787bd742ef57f200231009a821699daaa66e9352173994db626197c6c4d9288138cb939586e3d34e7e7b525b8166114c32f2e20410b12e60e9d5b0302047c435bb50067306502300bdf75249e07daca0d13ddcb2f9585a95391791af2807a3e4ecc85b7fd7c675849d7662f75a3544895849358beaba788023100f14e9261a3a3a281995e9c0ed9f66cddae2ece4d1c692f4c5cbe69fbad7ef959e0c137fe9e192f119d9e4ebcc9a5ece10302047c435bb500683066023100f0745d8dfd2321f066df75e9edf84dd9cd3b594a9e95d3497b988aa68ec3cead5314daaf9bc33df44bbfa1e5f4096291023100f568f82229c1b48cbb24ef68cca4ffede48e24cdce174201bb5217f0c23fe46fde64bb390b57e8a7a85d137205e76e3a0302047c435bb500663064023042423f374282f1f19837118c7f16a52fde9fc8e74efde7cbc6634907d7e8370186b67ba5d502fc4bcdd0b5b1fa3cb29f02305c4a7282e2cce90b09b46785dc4431404bf006c80a0f5973353f9bc4fa82f1d485afba8b0da7c84a5d2917ae9d5e80db0302047c435bb5006830660231009e2f01ed3919932b3bd47d1a91d18b1418adeb4f0133fbfb19f0ebfcbe358f70e94602095d6e02c86b74a4808108ff80023100869207c9cb9e039d0d0c4355cb59cb66d665c88784d8645ba03aa3409ec45f651ca5e281128971f68cdf77945974183d0302047c435bb500673065023060fec2d3af9c9261e423c9a70c2836f964d2648ce6f07b924b2b85cc3099373b092508765d4db854055580a01a3ed370023100f83e9046928b815846fe968845e3416600fdc2073c1e7facb67e93c1ad87677e3bd103c2cae08eb4c9e5f920dbfb91be0302047c435bb500683066023100f26f3182eb814031fc3a90af8159e0db0eb1abdcbea7dda3f533de94d36b684c115b962adb478d7519380cb1293e6768023100f32fff909cee45753a5f5ff3f96375f6dd1b40e28e50289869a60ef3983f5d12ef947ce852356fa7b7d58193761be8a70302047c435bb500683066023100a9c15c7cfd3a6589cf5b9c92e0d08ae05fc58180508780d97bfc083cac0c8fd0cd0d737e6b54e96d6eaa3eb36747e217023100d3d57e31a717312eab3c9398bdc8082560b072cb4964956f46cb9452489870450bf1bd723b2b2ed001924cb89e6400f90302047c435bb5006730650231008de6c3d9a71b7e3b0c38a0c6bcabafaa90eca8b3d8709e227d33768dea95a8a360190095cf0ce2f61d534016caaf9a6102306113068e8366a0ad84c7c9414e2666514333467343dcef3332ee54561a97ca70a9274f9e066c5b8db099218ec2d63e090302047c435bb500673065023100ca5f1cd09f7b1df6ca9b4d40f43ec5f349ffe76b25bdd146a0d89d0ef3189a689b0928499b4e5a3d7e9f57dc2ab683b3023020558b0f1a6a9edb945918018e60833fe92ec315c84cee9f92c0e25e99f3f80f6f89b3c62e8e8264d2e62a73cd1f146d0302047c435bb50066306402303cb2657e62c0e848427fcbddab955234dc222642b37403f85d159a0530700c053f0a7e41cfd8d0733be4dc8cc32d6bf5023029df0e8f197cb5126250270d552574d555b7e7d1ad31c7ed8bfc07787880e59114c81072a7a68f52ff105f5d81ebb9010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230417eb3e4d9cf20ca75e31f74ea5e7a8e9e0686c50d15e1f0ec84024c51d0a4410d311bde73d72006c2ac1e010a359fdb023100bcd955893e33bf1960b52bc87d1620bf1c7a2931d1d5adb7c8796cfe90c0a619c7d5e9d2be0d913befa4bd1e77d9ccb00302047c435bb500673065023036dc6078309d5bdd78d4c393f4a70f8f40e2a0a619ff230b311431583de642096692860c500eff3c238de7e5a6ad8a82023100c19da11aaf905347462131b1e3cee79d116bb00ec25279dcf3e1c28c94ab6aebd914cb3e73c8caa13c765d7bcd1801100302047c435bb50067306502306b8655502a38e0174232a6a508bb5d0b2fde6858c83b706da8c9aa3dabdf140c0a1557a3bbae32a93ac829fc74678738023100a1ed61e7446951f95b1d37455f6441713683d769b2d986f071ef619e86e976f790833aadeab9d415be34acf58d4ff17b0302047c435bb500673065023100f0a61f82c823be61dbb2e86dfa601c0fe7b4a7a6bf0cdf9c4d142429027927ed3c64238ebce4f1f044c086215cd70a2402304e7645e0ebae544fa1939837ffe31d9acb553656570458dbfca0cdfa4ec33e6eb92a3cb7fc207fac2f43349f4664b0f00302047c435bb50066306402307d261e5f5e0b249037fc1b9421ac9ef23347237f2d2a32d546b21bb61a200f30183bc858d8564834cad9fcede27000c40230210b794242afec937046e6e3b01652d0ec0a6c9ed8921ae66ea19d6b1c387bcb7cb6260db22e235bc908ad10b5e0fe480302047c435bb500683066023100d0c87f81ca10277f32367547789b610d22de21da9c04f799dd904747fafd9e2786eb13317e9f16bea4879ef57f0783ab023100872e7d23156c44a664e55d6c956f92482ecf02b7ee78d4688b6f8581474668d1ecf17a00704a93ed722a211f119c26ec0302047c435bb5006730650230435674a2f50fcfeef1fc63516d9b978f0e181c71eb292a3a239a6a00a8859f3fbf2ed9709f0e5e8903823f2af380e12a023100db815ecdafda670bf06599a292e393406d3f22d35f6a1a0b00818814f45499bbba8eeff6217170590a8b149fda701d900302047c435bb500663064023066d2572ae89edf75bf4dd82ddf19eadea331deeff7c42290dcea4b0edf06f303bec517e10d468aefac7d19addc7bedd902305b68f222d3acdd704402f592be63bee82ab343da5f5ee0ace171e01002d92ca091689638532948478e07da1deee3c62a0302047c435bb50067306502302dd1f514e1cc0259bcbc6321417995a9743c77046039240e759a9234106f8a70217ad6743f30e4f38ab5ac8f3271d5b1023100faa8f3ccffb10640f1bf2a0d22d9203a2eaedb18720d06477cb5363e2cb468532acea0bbab26f82782218028e65b39c40302047c435bb50067306502307e653c48002aa64a9743eaf341b53f60e217b00138544509bc4407038d114d655e56db16807cdbbcd69b7fed9f4379b7023100d3dbc67a1eb7fae7a244a60484a8101eb579ca000623bbe8e78b89977b246bcbe3381bd7b48354cc71deda2cdea5f48d0302047c435bb500683066023100be518c00359784bb076ca616531d185154e043f7cbfa4cdb1ad7782a0ed837999c7d57882ff53750fc6bd2127255ba6a0231009d0f991c7d5404de73f8e7a9dcdc217ae6104f060bf254a6e2936e59eaa14f58b04d36b9b13e310b4c1e8beffabe1cad0302047c435bb500683066023100a3b9886d6deae9d8c4c0b8bfe9de03a0edc847a849b3bec37fb36921a970f0495e54ea868f4841be9c4af2ec3fb630b0023100f4e575658e33e08bafaac16d8e221a996c420eaf780c94850618d2730f3204d2ff911e9abcdcee18c863467300195dd50302047c435bb500673065023100ab9291a3889d9dcd149929a8e6099ece4ebe34ef880e140e02f4bcc7b1747e48e38ee5a2e6b661bbb565c0eeff69694a02304a93984b62f4da4942939377bf624605f2d93270e514faa3fc6c7dceb638b25f9db44d3367aaa1f22163189ae3c997380302047c435bb500673065023100f09e02f7154aab74a7a9ce2261ee0c97f3625912b6d477d60539751b82e2fc7eaa8868540dd6184554f47c45009557f9023043eb45c3a8adea032711d1a566c5c67d36119a33689390c93522775bc9bb0ecde7986ff2f5343386e90aae645f2c1bad0302047c435bb500673065023100bb96513a7f4b0e6d5eaa90637622d9db47d2e853e9a6a61057a23fb1b259e0878ad874dac8e8415e3fc0a4d83985b358023036a92699fbdd672fda14b69ae2e7237c294d651b3fa5816b37d1dc8d5a49e1b70d387b272725e577319d6c47866c2d040302047c435bb50066306402300129a6823eab805940704df8731f8325a4c8c627aad439a955cd598329b18b24cbd8f6c025b81733059bdd8f1c81d2ab02301fcbeecda0a67a76e01f6f161dcb7c740e84c7f996842fe54dea4fa50c69e550ba9106feb39d139a895135bec46a0c790302047c435bb500683066023100f4daf3472da37f7ddfc06e825ca314a23ac34a25d123f8d75e8f7be96e3180110cdd39b57481b8084c513225d8ca679a023100b3f5c898d3ead2b71e6ae42bdec4fb2a099d69433426b6c6ce85706004ba7d345ca1f9fac236807b29aced9a3ee48b070302047c435bb50067306502301ee014f6cd94012179398789d65fef8698df648a461cefe11944c72f874edb5a9819d51e614bee2fc1d1b660474d2011023100a4840646183d6a52ae5b11d2b87a6e3860b4ba1263e9ef2527087822f0a685a6503f862d925feea0e1263c3eea0559ad0302047c435bb500683066023100cdcec4fb27725394e3ae18b4b89383d25d0741e66c736e5dfb1b5b362a5509eb1ba4063340165a95ec07d637db3b5545023100a1f092b6d5db500c7e64736992da8474e084b6c9496d6e234185b1b6bfefee866b05d4cf91aee2af531d0139e415fcc00302047c435bb500663064023051b56f3c9a464481948823e3b1416b09ec8570193c5395008e726c907dfb65b2205ab76c1c92ce1bd3e260e3aca7d19a02305efeafa23e1a0ef1c68e7ffc40da81c168ed433ff4c05472603035d2f49f1d22149563dbe2267e2ac36b9917c9b2c9380302047c435bb50067306502302edef98879640e942ed7651b44e7c737ea2bd749d8f84719903dc169277ad02c9c7def9212903d1825cee88318ca8d6f023100d87165c99de63c71563b29713dfa68c8f48806843df743e718d1aeb50a45e2ed07239065bce74d2ce44e4499096bff770302047c435bb50066306402305e29a2b725ced47657965c689bf906ba895f46e7e797bc0e77f0afd8d2fe5a3b5067890a2fc98e95ef2699b9ca482604023079030a39574d32bd1866cea857ae190911bbb56ea8c519e9ebfea76a2a1782c955397a5ffd5959ee8433bfaf6e98744e0302047c435bb50066306402303ce1e8cc8fb39f5f8fd55b7c4dc0b4e8d9a9285d760b6a1ec520f9774c7868d64fb4a6355b63e3bc885a1f0a0effc08e0230122833a1d5514dd9b6d0fd9cfb1932e7f56f18b484d1a4cff05ba9a8062a7ed313633ef1a7210ce93121eae072b99dac0302047c435bb50067306502302712bed523b7103cb01ab446bbd4a37b5f36598678b1eefdb4fad28692ed09303b8dfe86a704c798ac0689e88c58f8e902310087b63a5c2aa66d178676e49b8601a7d0f93a700dc631aa88f099fd066dd4bc4045d42d86ea3d569501eb4ae2338f89a80302047c435bb500663064023000c80804774a4cdae0219ec3c8812f8dcdfacaba7b88b7d0937bf970f272cfb630752b79e2582537a9df8e27c31bce6702304f6bdcbd1a1c667a16de211fe2fc9ec66476dc1d1d1f070d2545d70f39f73a7c9fbfc15d5171c3c6ff216e78fb228cf60302047c435bb50066306402307769f85e1e679e0e7da2ade1ffd4afa80ad5116545c9b6bebdc587522913fc927ef2cd505bc742553316a730616730ac023002b762a7615450b8da819cff491a3ed654c7de96dfc630bb4ac694ef7538656513f5d55842549a43ba8b518fc2ad50220302047c435bb500663064023059d2ce7c8d6ef4bd2ca6d6af5fbdd4c7da02ed14018682918a304eaeb47e7814e4d5fa148132637360aa220380d72f53023075a91870c63dbde4a53662ea970708d423496389fb52322a7ba84923a910ad9511ac234c309a4f1a824dd00eadb337580302047c435bb50066306402300dfa90d68778323bfcdaa6ce7f57495fb5e0241160f1ed12387c172943feef01771954d1cd8822bbaf1c356cb5b8a70a02300c95586944ef0fa2130ebaa8b0183b79c0c066e90e7f2826b5d44ee66e3373e7a38084184e228d7cf263580da0f9d5d60302047c435bb50066306402303df7ca762065c5dd810e0ab49cf19ec85cb067772eac9aa0d8034638e5dfe318385606ac641bc5e28b3fb3958deffd940230294c6ebd02d4d8a18c6531d377fcd716f7fe7f748f8cf8400d824a89d654b56df341ffd95941de05b961f687685c83200302047c435bb500663064023015c160f98467bfb26996e6ccd86442d52f5d17298e08167a7ada80e3950cfcb06ff56008d19cf8348681c02e5131dda6023074a1e70a0ab0f617ef354bffa158d7d708dce886db1b6f70e632c91516f511ef5566a0d094b87743f9e560a6b66efe3e0302047c435bb5006730650230088aab169a6f331512006df0f759583a16d72afedac3d33b4bd14c667f340e5439e2a70eca96ab12421f318fb6c70e53023100e71dc5f038512c541625e4e473cd822203fb58a7460f11a5ff5905cb3d0904b271d673cf890b293a7993183544dacc830302047c435bb500683066023100975741838b7d21555be7536910e9cb4a3be2041dd599f869ac7e098171a754d70462b0a3635d2d5db029cd5bdfca4655023100c3f442bf9f3dc720ce13e7d07f2c8327a4b36f7ba8a954b0719e1771d579b0af1043dbda50405b4b9ca285ff815f193f0302047c435bb50067306502306dcac36bfaa1588002cadcfd2a53e2fcbb7835e597ba43fe7f24e9ff10cdeb8fd280769820df826d6664a5d4a1345776023100dd8e58941de094ceeb667d58cd4f81fa91dcc5d9a816e3ef65f497fa5b2e06abcfb7d9517c1ff91668dae57f57f54d090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f7f6644fba8b27bf6137f8e4a23e7e0200ae6aef6aa9038cf3e396b3edbf4975c1e35baeeefa1541835ccb3041b072f802307197721c96356e7302d5cb1661c8a6f87de2a7ee3d033849a860597773164f61f808b4c9db0da7f28aff24062103161f0302047c435bb500663064023034d2510ec1213da22b2d050aebb47c4488a04dbea70cc61d4c18f271f236a9dfe91d917b06d7aebcc2a2efdd71f5596d02306a217b15de2d3af540abaab37c36d84a74f4d9c82386639b3cef716df4e951eadb63cd778844e3a66b43a8e0df9a6f5b0302047c435bb500683066023100b416cfbeba032b8e763cf54311213df3331aea770f4f377baf7c82ae93a7aeac8e33616c181acfcf50d043fa8c2f9f10023100a8bd418f6b733543f100db2b4876abe321f7d4108d8ee4a3fc416e88877670e9cb9833b63913daff98200da17a3b02190302047c435bb5006630640230777af220875b8b68ad9f1a6c143df1ae02b9468a819b3ca992bb6d4ef53d42e240e57308312bd2948679a72dc6d93d1d02304554cfc7978d3f420febd4d878c57b2273a80b0852ed9c3178bfc459f64f84c1e4397aa703cceae55c72d97ad10fd39b0302047c435bb50066306402301a646d5d4eb8add9157d21ea712d10687d9b7ef1237aed27c7140f98c37c27b6e8d2ffab9df5859860c9ae3f1dd27cd1023070bb55cf2e7824f4abd195199b38fd2f0d82982135d1a011734be33e05d29096034c8893e865863dd72978e0ac635a640302047c435bb50066306402300b8fa1d41be81a8cdb6ae61ab72691dcee7ad2f72ba322a073e2efc956cc9a7497218ef866b7b0e967ea0928f655527d0230362ad729f3a40007faf1a120948532832418936e4eaa1b4c97b4da9cf45e92d3ec58dacfba5bd31601bc08b6babf54d70302047c435bb5006730650230021e188a03ba444089c9f4d7e2651fa3d413e46cdbf166eaec4780e3db00b4b818efb3e665bb39a256275ef114f22a98023100eeae3ed11d7ce83101aba8ef8ab6c6a0bca9f969118734d31d7089316f55fad98511c85011d2fc1a8892f003d82907c60302047c435bb50066306402303f860305467aca4cacf80ae90b55de598dbb256c5571eaead731cf9a01087a05910ba0067f74ca7663c317871ba856ac0230549af87e72f56383cc3cc28bb5c87b30f27f69ba8bfa507803ec70484d2a750acf9e2396dc75812a8a4aed7da4f98ce40302047c435bb5006830660231009faacf02779a616bc6823e1f00328814448a3c4571539094f05a836699cf916ce876dd19724797e7924efe663cb22dec0231009139e5d2a16b99f175ac0fcc52a049c06b4ccfe5af9926cf4f28d537a799e722dd2c96995dbb2737968872d8009fcca30302047c435bb50066306402304aa760c47f76896f43b408c31ff0b198e772521959efd945110cf2b593a60ef50518c34e7a5d820143d9ed527748b8ae023038794c7a6ac9b9b917d0fc4b3d3dc4c49d32e2a683e3e2e819d26156fe742a234d79c7c0ef93963ae7c0f39c985a5e530302047c435bb500663064023061774c9b490af91a843962d361e787a4a06fbb3a2968378114b801c5007bc38dbe35f646d03b674eabb779763ac0d4340230752b019399a42622eb8681d92f2668197fb699b9b0e8daea993637731b1f6b37f7b0fcc4821f48a4921c2db3216c9a1a0302047c435bb5006630640230698ac2b2eb797ca6331c28774e3c19d2309940227cd0232407d194d182d909d162874d63bf1664c6a8e51b34372052bb023007624daa370d4c102bfe453f9dfdd7e1fc8a3ceea3dcbea79e200131dc2882ebf34dfd125723dd30f5a2af0aade0f92f0302047c435bb500673065023100df168aca919cf0904441f52966ad4a0619c8f7555adfd10b1dda08659758ca342bb3e9d6a648bcf6ff70aed8dd03be7d02301acb61da13f0729e9b303095e424b4b6f2024b7d2beab80d09d7254bdb8f9b6a7de3b1fea3a3d0bf25a14d77b2c998fa0302047c435bb500683066023100d88fd63f65f40e6dbfa52c2d7cf435e99e8de98e1bd411fedc206fdefe24cecd7c05378f60d60ee69402c2d7e0d597c402310092f1cf51b3162cc86a618031f34ac125df179aea65e1e096ddd44086d3c86d181bdbcf80384fe0a163053e4cf34fa8d60302047c435bb50066306402305dbd6dad86e548ccd67d502fc9a487a0df4ed32700e0d039ea95ff9ee699b2f7a65d6da219e6be8f032f02168341a78f02306301c9b4d8e73a33017bdee3db70e57b87e190471100d0df151da0a40f626ff54933945110c325ef5d762ae11aa8d85c0302047c435bb500673065023100c741c97aeb0aaceb15b81348e2fa197ef5237f2da8bc25ed655525173a3ce68c2b9a972bb04e678574a21e08c7c817010230252fee0a28a16ac280cfb2e8a3f08892892056bd6a858513bb33e97e59623ef4eda6deae48c154630151896805a9629e0302047c435bb500683066023100cc587449da4c5e5988b4c267df296cd7afe3959cc31c87a4e6515f637d02e65e1f67c57e11f7617fbe8fb2fe714b60dc023100a9114a7646b801b5fa6006abd0debf5f0d7eb38f661d1671599a5d7906fa168e750cac35fcec1b4a46fe7d99051eeb2d0302047c435bb50068306602310096da54f3b0a5f90708fd4ffdc0bb448e5788b1bcd8d6b584c493d2c233f4d729dbe07413ada857dbaaabda6c1a9487b50231009502fc380d9865b7efa130967d2126a948f6d9300fcde8ba954b5f423f84aa5cb07285fabd52d3429423f377a45d7d4c0302047c435bb500683066023100ab40f729907b5c36b47e93e6c4260a28529779cdd7a4c139a2efa10bed467d93a4420428023248ca63cb6c810adde91c023100eb3feaa97dec916561a142095eee1267397a427afdd86d4c6b2e58fbc9e1307ccca9919e73397ebc8345515280eeabc60302047c435bb500673065023100da25b7e6921a469ab7e48027da518fbe1eba38eb982adad28bce2182493996e52adbc096550e694fc4c7505a275690fb02300e0883f6a07045f14189fab4814025a4209bead1abda98d4a9b8897fbe54849d2504d80e93175b6803635f9a63ff196b0302047c435bb5006630640230552eb5bf753c037c4a2f1e21e6cb38e22fb791066c3beea643545fedabd7296736d1ee3e3a244cde8c72c707dbc14d84023038a50ac2f08cd1a6deedf5180382e16ab0e5a60a328260d38228c33b7b34ef84f2631d01870090d5b73b37071e8b658d0302047c435bb500673065023025647e98af1249fe96f1737168f9d20a77420195d60e8bbadf4017c8639f8d3a39c51dfa78d0104b49d2dc38c535f5d10231008c2fa1e0f4f95edf8ae9f91bae17d606d05f9d26efa22e938f72a98c9a5ff09c58aca30750e5a068730371b00a7703e90302047c435bb500683066023100cc39b8b38fbfe988af46c5ac91b6d06193f15ee0fc272f6c6f9fe2def66ca38726eddb2a7b88f9aebe0561920f094f8502310094631654cf9a8c7010ccf01dd3079efa56cffc4717ba9d7d54ec62654198ba27d56818c73c7a619fa3597f9cb42a6a320302047c435bb50066306402304d81e80efcde8dff350ecbed124a26282b386e9559268704ac2f4456ce012e904cb9647b1f19566a888d383b360b37b602301994f1d6e339a88addcf39287418a7db027493a6007d2534248ba43890a29538207cd80ce3cef7b879cda0b4d15d6a840302047c435bb50066306402307f996cf527b8f2ccae4d1a289409912698bfc02e7cffca06995a605ff7fb2075e198da319588a91a44e49da92765a8aa0230256f636ba0553da0d82c51c043a5eddac7aff294c83c89f31c1334641e94d179d61fd12ae588e04607b05f09db27093e0302047c435bb500683066023100e1d59ac3a72d0288f95c66db932ac4a05b912c57d5dc662ef9bffa603b2bde5cf556a1f0cf1864558f53ee9af5e604ab023100c6ec99757133dc2856d33f575c3b9700a3d1963c0f62b046e91fb4b05b6c72caba25ba14ab9bffef275aecc51a767aa30302047c435bb5006630640230607631f1a1097145bbfd858ec2805b8f2767fb544bb0f59f8296482e753e2c4ac0a7c6a41cb9bb1d3601711a3c9d5f1902302e806c802a670983c9a617d38aa3806121059361b0421b9cb7e9fead388f5fbd76700bb03ee039ba1455f99adc0a61590302047c435bb5006730650231008082d41b4b386c434f987d9787037be0f6163a1e48639c9482002e4ed71bdca28d1d96ed39bb614b6870d12add902193023019af885e796604c83bac95b85526565b463daae7995eabb840ff97d110c24901ebfec444114ce6dc49529ffc9c6add890302047c435bb5006730650230478dbed7166912ea1f0eeb1bac494bb082eba35bdbc5f6c03398a2a86db0423a76a1e8427b769ea4356306b1314395c1023100a044c3a00f528773b994346178712a89129a9b629692a5f1899c16e49feaf83c472d4e8ea645a8dbe2675451cdca12c60302047c435bb50066306402302056ac9d81ecd5d88d140253b556611ca7c54ce1f213f958f657409d78c8beed6788d2339528889ce4ce6aa31485de67023030f8dd72e00a4bf3c801e371a959aaa9951e4188cb078a6871ef4e3b50071b7edb56eb3e08aa3b078522f798330bb1f40302047c435bb500673065023038b17498e848da278b1de604b7ae69bef8e077d2feb3f93f0d1c3003e6f4d14c68c4ed87e7a99e24f20c5e9368ecbe76023100f049f8ecd1e82b97dc530787fee197da7838c1575b2c373015c1205d74683e9d01edc986819a053fbc9794e3da289fe00302047c435bb50066306402303ada6f05cb80f79bcd5f7a95b15a9ac7dcc03cd95f6746ffa3731ff66326b48140b0b68dae0f9e2f2b2e43dfab1508bd023068b7c716e18afaf3d565373acde1fc203a3e8e25207d28194298722a5b14c97015c4c7f32cccf772ec0c43c54a12bb530302047c435bb500653063023042000e641fd77b24c2c10e2a04a00d4e22a738637004db9d5c71248aed8dc480bf9c216b63f21e1b1e3611e22b40e94b022f7ebad1cdb30cb53f9d50c4b8f777f6e0b0bed796e5a54d8dfdb8e26fd644cb1047aa77776d66be824f1cc1309869c10302047c435bb500663064023026c3b6e474669243639b52d7d36f8be047178081b50a3658c0969b84ebfddc1c0c2419cf989074692af0f199aa157f13023039c4ed9b8fc9939add66013ec1612381c478583139c47ade29db0bc8e846559cc4b968fe94f34ae6261bd05e050edc0f0302047c435bb50066306402307ebe855623c959b6b64ee889d673f34581d50c198a111fa1214fa8401e51a71c66137756ee56ee78cb2cc4bced2370c3023050e979edc610ace8d22288584c389a1ff61ef76b39a94653a6663b507f510bca14fcbef385d5601beb47e2000ad0d6a30302047c435bb500683066023100dd6c7c2a7302a6ccd5b3cdf05e7cabfc17d4dc37ce190fec9b36a174c0866e41f845961d47d040f8afada4ac7e2fabbd023100ba0399a6934ba842e96f13a222ff7986772342f7f49784324156e4b43877f61fb5e3f26d53c24770e56f9ad1d55c22860302047c435bb5006730650230689c9852223001d8dab84482daf9ebd5a550495dea67b175ef4a05096e358e8c9c89eacdf2162ec238dbd9e312e4c631023100d4a2710b5d65a5df3c908a9af450886fa52d0e0bee2cf6ed9bedbfa9321ec00166d25fb6e3932c8fb9966ab8dcaed8950302047c435bb500673065023031e087df60cd940de6692d2278543a22cf56214dd65591f19e11a182cd206c112e2056127bd021b53e07fe116b0bbe38023100a65b29ba9f5cff16d95e6533aa28d1af44e6291f834335875c1f4f5030248726f9733d6c12d2b74c61064c50d744d2960302047c435bb500683066023100a1c042ee9f89fd1b5d1a04e12f563627b3a830c271082dce222e86acdac2f063ddb9469c14af34def75078f6c03718de02310090cc43d142912dc3e950ad5bd81d596e0a1b43c58a715f7ba4abc3d6c4feb5ab953d37537a7ab498c470aa5a66cdef870302047c435bb5006730650230061ce4994956e1197e378ebe582bd17ef0ea7b4fe83e5f8589f65a170794d3e02e96ff58e65e11462234abd9e7b2fdc6023100ba73ec2c740778911f770fc4835f136501ccc6e5264fc442955a2727d030841bbc3c298fa5e30201758b3568e0a9710c0302047c435bb50066306402303c3a1e3561c94c3d8cbf7c47ca4afed5557b33c4ba3f42eafd42b27ca388f1d222fd41171a4a9c8740ec6f8a7993aa120230567a829ce2d3c64728fcb93e02f3e824b94254452574359fffe57847cc5d4e42b77457b9f860aa6a8505bfdce6808ca10302047c435bb500673065023100e43d871f2f531ef90316c94cb7f279b474b6a3ff806cfe309d6231ab1dee77dd05b98e634d7940dd40cddc43ea6a4c440230353837ef92b2b8cbf637b89b4e9b77f70d8c12d3df7f989c70cb2ab7365581ad9535532f1c9260fbd768580a25e287650302047c435bb500673065023100af548e4f0bf43741532e9b74f84f65c4c603320ca0fab9a3a03b12b24fbaa203c69f6ab054edf055d446ae56b5ded5c8023078f057c3087d066b25b951c27d78bdbf07b7e83819a161346b3f8aa95947f732a57e8323a8e37caea78c6158847a1c4e0302047c435bb50066306402305183aa433288ab5acfc1118078cb820b3d436492166ae785438f860c765088448fc9332c9593c39970b1ef3f97da5e2e02304024fddff6079e00a8e902c7ec760fde95e3be5d764fb0fe303a1cfcb5498dbcf9d5b9ea5641904be4f4b0cfd026ad960302047c435bb5006630640230173cae9b29f4bb13c7b4526480ca069845877c7ce4135288202212e13c2689db7d4e9d7c7ae6a86292698aeeeca9472d023066090c4752bb012f6aa2cc304246ea670e08fbf85f53586b6c5cbf15d41d9546f56bdb24f6dc39f17ac0d888163e19b40302047c435bb500673065023100a1f14326be975d468d04da242d462a4258811e97024cbde267ff9dc90b406b476d41ed8873d88900272778435068780d02305462009b41863ebda4c497b01331625d3d74df0f98dbb462697136e8e5f80bf5aea6e957a067d3706de752822b220ca10302047c435bb5006630640230731a58f7601dfbfcf529bb445b2d5f25d9b98a333ae45f6182bc8d4643ad15d0d94ac15b0342dd50535ce0da4bf579cc02304e7d49359d178ee61b75abdd0eb44e4c34ef041a00b14fc4d635216064ccb4c4783f2e19c6ffddfc1aeba9e6b5f3023d0302047c435bb50067306502301feb02a6a3837d0ff2a56d6d2ffee970a7d83d5c70692b3a210bf17c35eb9a5c0d04528ab394973f2f433761a0a5d8de02310085c4d78e8075792587f725be8d48ba9f1e44ca63c184baa327d07a2b696829950be9cf9fb02428481c48f0f4fe208fae0302047c435bb50068306602310092b70093a3a0c366a32a7c2d4c863abfe550e3de30bbe512935ceb25ac3be8229e61af2e9c158bd422b88e89949cbbfb02310099ec27c8cf9af30f057868eaafded9cf87cd61dd98e2ce0aec93a299bdfd66ed76759e5f74b376a91cace044fa8996f80302047c435bb500683066023100f7f71adace526cecdde01abe54a4d877954cd387f1b34ffbcffbc8144922668850fd2759d1b99bb4b571f6759381da16023100aba120facbb0c3d7f749a0296f2a204d84275c7b7e44ba82294c25e4893074a735f6ccba5eab6e82f9de52b96727c4090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304cc3f6fbe52cc9791140fa60fa43412964be18a49da2fae74200918f67fabeb9d29dff293e8150eddf7e23dd7bd43f8f0230049c13de9f6e5af5e9f65e2353fee8e4bbb1e45916558f4f9eed9ab6efa0e757763d5bceb46d33b3c99d3e44cdf811e00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ddaf66103ce79eb968f3b46920e8bddefe36f6922207ba78538db8485bd416e1d892ec382ac2e5d2e9f5e79ece6e83c70231008342a65c60a6053944eaf765af1fc0e2362400334f8694eb9b6291e87744a592266affa6e3172e4d23c98cf066ab56510302047c435bb500673065023100ef30aa270e2aa9564898d092d8b671ea15bb07db7cf83ded2b349b0bef446cb58f875c7aa8ab12b6674434d08e7b747802307a55721e3136129e85f5690d84a37169f67aa98eb46ac89192a5322586738e609b12d09a793f9035d40785e2bb5825fc0302047c435bb500673065023100f19e55d4fef4d9370adf40226b1bd7a245809e74f65da24070ad2c20eb2a3069f45a21c06f07bec982772174b54de13402301ddb9a667850526a5fc732c382c5e6c79ad7035fb9b05fc08a8999017120c2da133435a207458e88869ff26f35d63af80302047c435bb5006630640230395fb7fd172abae038b09f85288c94d52d6a989a58fb969824ec150b773e899a8647a0bbf636e299900fb925b1d0eff2023014910184cfdd2c87da2429985ed434f49ed7095baae5ac8b699d9dd5f88bf7ecea2ce12827897d02d091c4ef20a2da650302047c435bb500673065023100e46742e97494f4b476e77b6dd60a840e6c161e54a655484da38866ec9a88ccef26ef80489f0b366b616671423a12051f02300d63b99781424948f31a11f9154e85faa3ac4b7d8016fdc0d423acf94c15f3d8db24df1d284a606f3fcbf36e198c03180302047c435bb500673065023100c07d9e497509a467957dbb214c91665bcf5d52223ed407fd77a8f4fb408efa7467b184ac13ed7640ec31f96bf565ccbd023013881260bc752439696fd10fdc4513458251f1e0ec8ae3cdc5fb56f9ced173aa09e9446120ac270cc6268ff5caafb8e50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b1df95a126f5746b8218ff6daa1b43344894b4353874d191e77248954ac601b5ea580ceabae7f51d2613473b9be5ae7c02304c1df830d03ed874871d8cc3675f60fbce955d09e1766990d0349a747b7b65e8b99967ee35ed4bcc82e611b999655a0e0302047c435bb500673065023100d3633bd4ac90f0213641e97ea6f1406c466167cc6e55de17ce7ff98085cd3fb7c447d7ddc56e875716261acfcd5e6f3002304c19136e5b0b86ee79e00abb723c92c55eda3883aa951c7286c6530aafee07894ce1027adebb3db06d1781b1de7ea9780302047c435bb500673065023100fa7bf2d38cff54626e9419a8b8332d35223f5c7526be14232bb59d4e4d7f1ec8649749fbef089f3acf56fdce6157710b0230453f9001cd0548e18d9cd6b75e2e7b88b77ccbda5438c672ff3dc888653bbb33206ef6519f2458de5974e9aec7a8f26a0302047c435bb5006630640230151d5aeb717d2255fae6fd8f1bb14a301013c0366124acaa62a49b9f1baeaeb696f434a880dea0db107076b830d1ea3502307263c624a681caeb50588a80b99edf298d6fcce92c5b779e336fa585e61113f5492182388ddce04affe3965f9008e14c0302047c435bb500683066023100dc161a6555b0638e366c3c958f7fa74884b4b449245247d22939539d3cc4bcc4097affa67b5e18f4313fb5b0bfdf8479023100bfe3ebaffeed084f3f849b72441b8df8e689245a324bd45cdb773552b4fa57d014b1a9b632778c71cea9d422acd002f00302047c435bb50067306502303d626330aeedce11642c8f03d1c28974fb871cdad6a113f94429bf43b76cd77e153a94c06b93637b72918281ab7798de02310080cc466ead6d5878eb90a5f6dab7df9e78b99f2632f848bb4ba9e2335053d4da8db4470ff337d45ff3491b946134378a0302047c435bb50067306502300e63b8bad3ee1d0840c9dcb5ddb7c77b82eace61eadb369c6c5cdcfc3bbcd9ab0148c9a87e5e732770b0290c9ebb838c02310097a6c7e5e7faecef9e68c4a24903aad779a428c3c17074c1f8b6009fd39c51b1f28ed7ba449decbf99b355756f745e400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306e56df84cd99853c90a7429a616eb9b032ee0ecdb301ad3367f97b1a0c5baf536e1da9ced7e1b1d3055630c284305483023047fbe91ab69146bd5ccb7c28110e0b9f893e10831c6cadcfea0f4b2d23dd14c33af31f74199db388379aa0e2d713fac30302047c435bb50068306602310082c1e1aeb1e0fd7241374604ea1c7cfa0ea7b54756c55b2fc39e4ede0539a195eb6da8d03ddf184935f6a5a13a6d019902310082c8732ad4f5d06d4768d84c6e9bd79024c79196f69f1437f5648ada0c1ede5ac4b36b2fb81cb13a3e6e6631b7bca1eb0302047c435bb500663064023061fb65c8bd9971111a58e3e95e5c53c987aa284e50e7786ea910a2a9a3574b6840e38e1a5bdf27d4da370fcc2f6934ef02304d2661a159bd9f7d84c2883b28639b60ce91ac1c354527cf76a9b87fa73b78cceeca7464391ba27bf3af021b91123ca40302047c435bb500673065023100a44af9e5211c11f3ca94a10760e1236bd2b0937c736446d94f3924cbdae152e445ed98291b24423bc45ef08c5d085f2202303f1f933191b5b1474b5e976722d463b187f0672f321855f03269b855249467ea38eec1336c32c85cf2b354dad278b4da0302047c435bb500663064023019dbc104332257fff7329a74d8be2ed84d54e53ebbd9c81830a039f04355da6aa398ba22c784de78d448557324396d0a0230743b1243237f3af4b5f78d9710eb043c67a55b6384a30d9466012562cef6396740322a584119a04fcf5da341457163e30302047c435bb500673065023100fd808aa4b111c17408e350a17d000421eaef5b2b8e3f3d1daebf5fa06add15debb597363f8c24726a8cf091019b0495d023066286754978b2fb75e498ce2e283d2a7aac7ab4d77b2fafa46985c0df5b09db81eaa81d6517b220c728dddc73c2428c50302047c435bb500683066023100cc6f10bdadea7bc1279e554a5a2fda69adf278232390c5de18af475ae04180126f7c0cbbca95454b28ad2c63d5f272d40231008e90c8539d49dd991d259133255027824b37430eb6c718679c9f2f42b865f7d99dd6fb15be55cd67dcbb6e827c1efa990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a52214ab58c28c01d6e90489fa0ab0bcd1bd5b8ac09a373a80f50e52f309cc29d9d77ff1920b7edf99e3ed2904ab9716023060f731544ac823d6d14a6320962a3b0815023cfca475be8e24644bfeeaa7689c75f565ddae4cd3301135347e4ef0c2ed0302047c435bb5006630640230218f0da04cf8b212c0a89d3345fde61c55be94ad52b1da226230f179450c263074b8c346106afd0bd0f1ad3b436950470230447c6fa798e3078ad688714c5926ee4a5f8be44677c31d76e5ff1ac4a33a4f48eab79a7cddf1694a02b7a9e07a9eee700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b4b91d7d667666084f5713f4e9d0f0c806b3d6321cb07bae220238cbae1c2f7d7999cedb3a1ec653b085f9bfc16d2ac0023100d6b5a7e39878b5f80b160dd5e12c79c44bd215bfcb0656e3c1b6f83cbb7bb63c47e0fdef5053eed1436acb8162d4f1730302047c435bb5006830660231008c133d897379d5aeafb6829dfdef61d701f27b8b1b32e2db776a44d1251c7413f69a6baa49fae7882b382c070e23e094023100b44c49e9c310e3f0f12c297ba026d72f23ce2d35a755043ecff2ec4f92dba5ac0de2c1affa41cacc14cce614a7d169d10302047c435bb5006730650230416a80ea23cc42bee7bda577de8485c2f9c7c211f2598a8c3e3341e0ad17997a589b997d2a54d9a36a3dc32c30b8d82e023100c8d05ef8629a807b1d15046cb57de482ec17214c2f6177c82b9ab094a8456872bc8226707451c6f8eabf20fe9ce9517d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009a011da01d28693cff6770d4694c0386a29843070b0b0321776e6184e2fafebe0221f63c9bd9729497d4e42ac158d87e0230251d1eb635534d820f451545f7bf98f55a0041de1502793d984b6e4e44a6e666193dd8085739b9a51f8da9c64fd00e960302047c435bb500673065023100e746e48defbe3ab8cc8ff77b9b5a3065a259eb3283e2ffc244ed5f93a815f08e51485c42558ada3d95c806da54550e760230509443137ff7aaff98de73ce75613a2cb094babb3c508191ce39d0342f003576ba5bae79943013f1a464a809ade52c500302047c435bb500673065023050968bca5fa16fd3bff843819ed91160869d7220e88b7f7abd357f709e4aa9884573b2e529ad3ed8b0ccea19c17708fa023100f86e61542c05129474c4a306cf9db3315b2cd3d0d440e88aed788f8ba0a3038f7ee99f1f85ba20df670f61377462bc920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230421a94d68f74789aa2bbc8e41a8636e4360c09f5d535d7a5ce6b6e0761a9113e7b5561006a2774e8bbe59776b40c7526023100ae12674194f18e5c4a70373633ab6a866f8b1a62d3ec2880eafbf576a602fdf85ac1b4352f435c0aa6e685b50e3504ab0302047c435bb5006730650230491341c978adbf3d53966cbdf60fe7e58fd2f80bb3bbd6442acd1d38ca321dd7ea6768f32af3d75d7907e80aeb3d7715023100c3917779a3ae527ab7a1029293940f02980dca09798e664bd1b21b1f0fdbba08c0428a408c7388bf2a788cfaed3566cd0302047c435bb50067306502302eb905f4d646707b64c591bbac673bd0b6e808261ab4f2e51deedbce90960e600608c7456f42533d2ea736b1bee10bb8023100a97fa6cc8a1fcf0bf12c7de277c2680738abade7f02ff7e2960154b54aaa51e0eaab308d506b7601c1000c48bb1ccf330302047c435bb50066306402301de0deab96ba7557d5a15702454f654bc4f795d4549a4d12098f2b2a7029b72cbea583a33128c2a4535263a6515de0020230397f1b2c9b698febd1407d6e24c1db82f4f5329754f5aafcea768514ea174af1b906aba9a2446bd7f11cbeddd8d4eece0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008bb1b54cb2218023d45dd00decdd2b5b386469fa97acb1a908febf1c539046c4cba41f2f9bd98662d6de4d7f0ad964af023100bd0ae7770c58ac3cb7eb03397ec4a91f1a670f377b3056f3da95f5823e6c58c017a58a3dd739a13465fcb62fb91e8cb70302047c435bb50067306502302b16ac81b750498fa18ff63bbdefd40f3dde3eb69d028c905815010126eb704909f2076159acce9ee37f8c012cb05b77023100a16e49df5fa705741044b67a8f4c847478cbd28e3a344ed21a2bf3a069dcaffd4502c7769ab2f52aa7af71ba314f4f3f0302047c435bb50067306502306bd1f5811f2f2e62e9d8f78b094c09b6a224cff0e2da8f7c4ecba0dfd2de6b8b8497d7efb2ab9d62cce552764f6adaf4023100a65cb633a66d41dd6101565b7897293b0bf52f4ddc1f629bade79107b4db47a3c2e9cd425135bf5d78fc347a48d183250302047c435bb500663064023013b66fb7f1634c4db6d27f4f0eab41ad8306f430431fc03b904e2f05d10e4edb4d9e5898aebca59dc49b714f8943a53f02302d9ba2f7f315e2df9c81f42dd24b70654daefeae592e9f536149e33f55f6e08e246803f2d51ad589b00adef0e32f4a9e0302047c435bb500663064023025fbd0f968eab0120baccf0e7d83138077279f4889c133343329a0fcf1c84dd45f6244a800d9702b8587f8d0ecbe7e9102304a68aa35fc7e341b052aeb94c2079ee95bebe53bc0b57641e3469ec531325e1176d17b98e8ddd263329abe3bd109c2e00302047c435bb5006630640230123bd9b51bf2883945719c8cec3e6b58131a1ec31d7cf392f4fdd2df340aa9fd3152ba8e9b808aa34c6a25d1e12cf7f4023034c9eedbe76c69c0825aaa3b1495996da0271e9366eb502063864786a33a8a9bbd1ec5f4a3abea707c1e6ae084fa08a30302047c435bb50066306402305bd51a46f6863ee2ec239f6ecf1a68e6666f9a886493af284813a70822dc0520a02c07dee4746531269d8174ef3626ac023029c736125c22fc32e0dafb19c3721f8d86c3fcda75fae41e1e3994cb0101ecfc92afa6bb78087264fda72b1809297abb0302047c435bb500673065023100e39cf0d54668de63030ae2bfe6a9e9eb99da25c4a429d6401e82d7f9bf857b7eaa3652fc81862b3516ebbf98ece9acba02307912978dd3c82aa80fca1d8802aab26e9190d4271056093d995fc2287f2bfacca69202e7075779f5223450bc681bcbbb0302047c435bb500663064023032f36a6f4ad6d4058c9db1e6a1d5df477de4bc617aa8863792bdaa532912494551ba7a74bfe0c75d302876d15ff4c4cc023068a9712dcb78c0b21558b63c84de1b88db114da96cd52351037ccb8256089aa2b8af13f5142cb126b5c6fef89aa497190302047c435bb500663064023052f067764b5551c0b6fc76250d739fe81002c1956dce20be60d18a38eeb9e37de3046b4efd888a123602659f8a164d8102302c5a030d4f70d108ca2803daf4a915b5f4dcd613e05a0af7cb7f525a7a27d12bbcba5997d9ef41041c8b600cf5852a240302047c435bb50066306402303ced7b403f8ab0af67b858a276acfb830c1caf237b2a54775298b3ae2965244efac49be7574b7ad46c888587ecdd309802300439770d7cd686db0e4637d0a3c556b749fe60aea949d941bf9a2d6b297d7891b36954dc885b2d8dea0b28c0f0cdbea00302047c435bb5006630640230174cde2ccfae34b01e4e75023e0a67703b5ba9b859330bf99a38de86298b7cb326a416aaf09b1ae4abee0bfa1fa5dd7302303213cd073598becbba2187699872b30e481a4d9728cbf155e30129eac1902d7da09f282d2998c0cf32e428bb07cdd9db0302047c435bb500683066023100e937d85d87414c5348ccc0466154ca063c9937b89ca9d1259c1b7ddeb7373ab286fbdd6b50756d334899ea2aa73015a5023100d9278b692d7db73c5b874ee290500cb4d74d2e5bf3e333df747b5a25608d3c614f4bc095de6d407fa4699050c93f079b0302047c435bb500673065023100b99cb0ff72cdb2fc72c6445073fd66c63cc277ef0fdcd38791f2d75afd2c140c53aff75564b77a4d9b031b91c42a069602302b5020de1867f1b08336257f53bbf79179128f183abca51fcaea182597a34742b6f99007a68b10bb4883298caf38ecc20302047c435bb500673065023100b3542e14f7eb8b1755aa55310def8a4c58fd017b8ddee2a876c60d2ad60611b49e58f062a775d5d17bc446e9cbfc2385023012450ec03d3cffeaac653a901c97156438ac39161304a6cfc60f9886535bde5e1b5dd59847de254bd61307c883e40d920302047c435bb50066306402303d5b013d9b7c2d12b334e3c62efbab0f68c35198692529ea2a02a88f2324fa56b61a97b93de94bd205a1cda06d29c9d402302bded859cc54ff384e30bae4e0b74a0ae7c6bd5f34e5fe1eb5346d9cb2c90a6df44f0ca94d6600a1e23937d026fb584d0302047c435bb50067306502304bdab3e05f826c3356510b47030d93ee88966a4aecc4439bb93c104381eecefdba3757aff63e12536ecb04be1b27630e023100f9d1e19ca76ad179dab9b56c3d850d3c4da7f6931cf313d0632e18ac76ce038218be0aa8f0bc0e27147e7e0401a105920302047c435bb5006730650230710e6944a1b5e61fe2204ff29defc67add7bf8f5c652ebd71674758ab629280d4206cce280705971488118f9af30fe1a0231008ddaf2b166d5b00d64b852f0bde38dd72082ed036df67e61243694de7425989ce9b44415da1adc97ba03d28e909e16cc0302047c435bb500673065023100d7060f08257c6482fe24bde9fc113dac2740adaa5a45ae04c61fe44f1b4aa16f8006ce22294a6ee5e09675a39d1e4b510230263331517a648e06eca3373e92e3899e67be66bf1b4bb3762893e98bb01974ea4714368b246057dae666076e53a272780302047c435bb50066306402302c4ed63d3b473059737f411727cc1711bc369e6878e8f8b9645be58d820bf22b918d996ed8f7096c90322e9152f7beb802300c04a8e6b9f5c64409a58f303a836fea1cd6871688620d896beef1ae38cd10b487a21f9561b27dd0207ee281491d2aeb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310094a1cac6f99a3c7754ae98a24232e88c1fc5a467cb559fa943d9d5e15dc5d721e1892758c1406f66cffaae79e9b7248a0231009a22a11609da0f4e3ed0eeef0589790230959f20c5d5b107251e2b31b6508c51da0bde233707f7c957c7851159699eb50302047c435bb500673065023016f26d584c007ed21383df1b8aa2f1ac89d8f19fbd2da8117547b9178dd1071ec48b488c2ff281936ce927bd43b67b5c023100f84c9c11bd6a31d3028b8c4ce8bbf45081a31dad27d9749e288be615c2992f7e3d211792ed6a74eb7ba56f369d7465040302047c435bb500683066023100853ae1f2906f3753f7befcc9b33412dc69bc10c625cb782d7cd574e67b8144c222325502ba2ee28824a49b01d4e52d0c023100a926bb4a28a055c90f50912aefcc748f593e35f4d6c9e502a083b66e66f534ee33699113f75bc536d7921ed54919ac420302047c435bb50067306502302cc31d028ac294605ac758a55d9a5bf1b7a39ab3cd5fbd5e68deca1f3118a0471f3ce15987eceef454dfe2ea32027437023100b087e6ef4bc19949d1509602b5805a1d7b34dd753ef0a15b20186056843e1ba2bab6ca460b75ddac23b464343454dd5d0302047c435bb50066306402304ba4303bd25f2e3481f9e69f8a23e50db27ae7b72a3e8bb7d633857adbd8409194d5e5e6f6be0d995a49b80b0d72c3a302300eb21aaaa556f4e5548f00b55e15e529b59f9f81b7c9fe387099e4349b3abb61972c2160af00070818c233e6e1f0f8190302047c435bb50067306502306bd1acf3afa41b33cfd10e6122b1bf71f3751d6971301e15d87df3ee37ad43b68170af318d8a544ddfdd433acf1e3102023100f59d5f0bcfdd37295360560fa746af875157d12e15b445eb5e88c311a451707fa075f41d019fb3c036ead73559d8c6730302047c435bb50068306602310095f41191f1c4a129411c12ec25ad5a8ed384e0633ae8a6dee249abf38317a6351b9d6308b0602956121a78255b447a61023100f6f66341bb7d3b81678dac048858e4bfef3334ad09f8af8401a7e1016595c6ef8aa2af08e95387b0fef557f7aa1f770b0302047c435bb5006830660231008d8dc59430cc16bcf8a7cf4a24ad0bc31febd0e3f5505a638988ab21559142e7ee6e3049e02e74daf0f99ca36e5b8a11023100d85d9f054a467f7f0c46ae8b04e54edaea490f49e6eb54f90b69bb1a25e80eb31cebe1b8a5de48912b43fadbbc0741af0302047c435bb5006630640230122f6085920c5b3023b69ed5099e8fd0c693b661f995ff2584e03ab6382a41bd22eef59f0f3d5f6f3aac72a2074645270230420a38928fb6ef6d86a8ba871a5f5d03386346cc85d34471458b835fad759f19ac1e49b4218c159606785291387fe23a0302047c435bb50067306502305a6515c729a754f558dc75368fd19f2740c9b4010d3ec78bffa042938b826bfdf0781e55b158f2149a3988a1583d99200231008dd6e2dd4b744914637e3962e147cf22c0f2e8692ce1aa4ce739e470a574d9399a71725834632ef5104bfab23c68589d0302047c435bb500673065023027805189b53ef5e800c475d2f9bf52d249aea3dba0a804377774c9af3f341815bc71776fea4d2bacaf4e11b76e4fa298023100c94b0a2ad5d0422da7198fe87ae63149aac089357eef5e0d9160a8584390b7a9e06567c9020edaa4a1dc444feccf807e0302047c435bb50067306502304b898103220607dc88a631a3fbe147482867a3186d5166b3555606a10779b0d5b2ed4adc31ca2cc4554922a0ff837514023100d6de2058ed4ca937130247c5ef42de5fb8c8c1f0ff2faa65dac85d027b521f8a760466875e2d0cbae9c674ba7fe41ffd0302047c435bb500683066023100ff23fbed882f3d8e3679e50c7d5cc33085c548378eaae8f2901a44f9fff5370fb0d86b00d6721a879fc63fbbf9fd2b6e023100931d523b1d2c164a019ab8b1da746f68aab9d6f62c8c83e4f9f2839c50ad930c182f323e5abd660acd5f18f40767699f0302047c435bb500673065023100d3f2a94021b119e8ff52738db6853f12618ac35e66d1db548a7901716e7fc32168005252ca0ea44b7158c4bae31de27202303431fa378932edf14736e5283cf9baf8bf365b3b5f2cb2caebd8487d2f835c5e90af267b099da297faaec9a2da4d1c4f0302047c435bb50067306502303de069664e34b933819025aec4f680f0830a7e08c236ff103a9d16d022a36656483daa8bb1da676396861c8473d14de3023100f13743be95650f081aa2d97112733a8170a94501b9ed499e8d7bd8331670ea8e2887bd6b8483f2e4fbc53f5a1e7ddcab0302047c435bb50067306502301b1b8748f8fde74ec32c10b50e27048ddfd501be927640f71da3d8e242fa326854fbee28547e7b5ae4bfa7cd6079e166023100adc2b33670bec49b5bc520ba86d6d7cb98e1bcd7b726843ca256b46b4ab49160183a8a48a2d21c6b64d8cd0c890a4eac0302047c435bb500683066023100cfac87ff66140bfa17d96150870e59a251cfb9339411cdf1f738cfc60f1314967c4b8d4cb979fb8cfcb4e29e9ea3e52f023100fcf3e71845ec2edc8641b941ca076281bc8134280e20a49d4000f2fc96bd280f2f9f145f53ff447557a373759e9cc9dc0302047c435bb50066306402302385d9f1181f52d8629d6fb75ded789fa7c1e0ae55254c1e33fd1de6c5bd0d96280c906e942f7b6e5c6bf7df46bc976e02304380d7868608634936cf1678a17bb291d42f9ae0be0933a45e07ad8c55d6aef1bf7b849f91a60baea46d88626ce83b710302047c435bb500673065023100dd144b2cdc705cc632d499c15ab4760bb15fc5fe382e539fdfebda7e25bba1b0484802d4ec3652310b63986c150a9b850230038f4c253f0382fd362fd1ff23c87714ad2cb49b8a3599c36fa6e75963566121f3c9deb524314befa80265ec7dd84b1b0302047c435bb5006730650231008dc9f42a607f5dcbb25a63401b981b77cf45168fb8d1eec1d4515b674fcedc8f852293e0c1fd6fd4d26178c592df8ef402300218948b5d28557fa19743012b57666a193ed6343e6e0c313b487e74e3680000d8c98ae79e7b8bde7db5a56343f697120302047c435bb500673065023029a29ac65aa4a808b0f96c5dd47e17d589f06157dcbe76ecce724c3539b28f7f375f87a11f7e2741fb96a05bb4269287023100b5cfea143b7a0ada33cd0263be48ecf31f1a8d21c04be5fc9dd6121b7181dc1d6e99739a3e994d64975e3c394668c4690302047c435bb500663064023025f79bf4ea78f5cfd2f1c72530080d5db0884d934f242d46cde267c37d899f389f87968795dc6e7fc7428064824f618a023018157ea01a23cee4cacf1314c2978f6d7c0dcc318b6f8e5f607bea1761bc3ed919f201410335cf4df4e1bcfbb17f6b910302047c435bb500673065023100d45b78eafb50c6bb0b13f413a64c02d9a781389a992ae52db991edc9bd901c9c1b8646bea4ad648765bcf7d696a7947102304e1603edb614e2b836d54cd7caab9da8167edc241c38939397dcf371fd713f19cbe371634b35c3b9440a877ff935b05f0302047c435bb500683066023100b30dc08bed6484f6a0ea74b6330221a8208d8c0728429781645632549f7f6fe42afa4f68327f10ee311304f7902358fe0231009e2ae3b5ccba0e13c3cea85a247bcb6fbd590e95c9f954e29f8409f3ab831e733fc92023ba1ac87ec800e20b6448d7a30302047c435bb500663064023064278184b7a8793ed7034ad62745cb36dcb7bf193dab00cf534a29e9b221acc650b720ae4ba466845a5b623a544519240230213c625905100b374e7a0ebae1216540903e49d087bc0875b5d3f84723ca496973d5eaf4b418ea3aa30c677c31cc7cee0302047c435bb5006730650230615a10bb1980cbcc017703418c75ad0490f97303d4f97e40149aeef18f78082e13f3c96b4b4dfedd884d8ef36778d8050231009d63237eb1da584d8eca96080b1e76b48ade3c222e1202d75af556ca7754d2363e0eb6778c95978a64d4b9ef09c538930302047c435bb500683066023100b183b4076a8adf608a8cc1ed22a2bdedaa6d83c77b2ae0e516e94752c0146cfd8af759d3544fbcd7a0b1dddba033e3ae023100890081bf6428eefa10ee0a7e7f8cbd9713fb447249f7abef81d8d6834e8254a28c8ca4e8784b4589c55aba473c2459ec0302047c435bb50068306602310090be7442eb9dbe0518b68b85595782ec53f1f55f8aff35cbae5ff2b3bb2cdc62cadfafda46d7dc3994bb8173b9a92d49023100c3dbcca07cf79a24f9e045537687d15c8acbb5adcbedf9243b2d9abe1b2e61f47be73822ceb78153650bc354ecc2ee550302047c435bb500673065023100931e969e763a6c0ea4f34532e81d4b4c20b3a0ecb800e51e74b229426dc5311d734931df66881baa0c09306c3a5c2db302303a2a2d719859366473aa8e9658caea67c2952a99993ca9511e653aac24994adf2804a87f27358a754b1f78a24fa908550302047c435bb500673065023100a77f61e6fe2ea40f4c2df3662db929a2a43e1aa975bdf712ad6e759bfbe265543b223024f8d1d367598b0c6d66ccceea023022c5b2d5e0f13f98b0056f3d991ac114b2515042a20d9f807cf32b8073d424c387d1ea1687ec761ced9b24472e9a5e450302047c435bb500663064023064de87d51bbe1e937ab95c6dd8d1942051ef5218e4db05f69a43d4caea85266b88cf2d73632cf13d1d16a47498901e40023038ecb170e50ba92d76f3fdb0eacfc1344292bba0f095796b435633d27edb81da1b10f102bddba565fc0b1003d839f8690302047c435bb500683066023100c19a282c1523d0221038eacd9e2b42625cbd18e4e48c8fc5aea4699622cd33df3ca0dd249c946f2deed5175e7b55702c023100efc62093bd3c2aaf1c53dafb9714937af1f4351fb0138421d42852583a31e32ff7fb2cf8a35f1cd26127c01264f3818f0302047c435bb5006630640230435e6eff179798833c07d4895e89df4e8c091b34deb6cb32225861fce22a03f0fca52047a7840a89e8a936984085463802302f785a047703fd33aed9465da5e748d0a6fad063e8c0f4e233032c57c8ac0711ba14a451dbcf457b93eee0134a6535270302047c435bb500673065023100f1f20a821009ccecaa0fe9985608e0beb1ec0c23dabac9a6c1c916278fcb0202207392c4c0f4041705258790f50de8a102301cedeb996db294018a6a77548448ba689f07d6dcbe528c47292e14dc5641d6cf52b25bd78c04908bff715dd117c9d2b30302047c435bb500683066023100f7c50c648c98dda2d46a0e57b3e26458e71a2425befbc48aa6eced1ced374be98e44dfffc2f29114154a507a90160982023100f195c8ac7c2acdd39885732d37c95fe1bf0806557f8bc0b4b37969dc8d206e44103ea0ed4fc714d3fa929c6d9e7c35f60302047c435bb5006630640230635101027fc321e0363aa57bcf3e22d4e67941b55d51afed80e8fd002ab026dc966165d361427990f5930498781d139502306a97ec6c56ef735b5c65eed060636616f92efb37c79369244905e35744c0c2b79c029cd36308a5c948d0593dd09b64540302047c435bb5006730650230627fbfe0fd380e14107895389dc71ccc2636a331383113d1491f4bede515b6712a2e02b5f910fdc3ed3316c7e4b40070023100fb8e249f1445889051d3beba1eba5efb0d21dc589b96ce8346f4dd67e322d2a3d041fd5de40be2b531ce0f7dcb9c0e430302047c435bb5006730650231008987ad3131a58850384381a5a7a1d7703eaf5f445252b12af6e74c76e63ab1982cb6d438056f85c48980af62b8e389b4023040b197372646ce6b3dcf5dcfa83389021f2521d14a774e159cd2e73b2869e43b5d8cb4aa2aedfea74547c0db4f38fb9e0302047c435bb50067306502306a94f55a32c3d40dfd47a6ce85761a3209ad850832392d1236eef381e2a70d74821f233c23419696ed496cd0d81cdc440231009f30aa32367c569b242b809ae4c58fed8d3d06470af15f1f16691a924c1dc8242eea938463711e549a0993f0a2df33b10302047c435bb50066306402302cbce597d434072f950fac3525cde726f77fc571efb0c802afca3fdc8d967c94c50acbbc180f9b9122d4edcbb9d1b12f023018ae0f7ff6a4c4051f64df02575f8bbebb4eac2ae64f1ca87bb8d2dc5f84bc4ea5b1bc004f7275caf7312a6be25f05300302047c435bb5006630640230060ce827dc1682210dc87413d4f2c3f7304e421c79c24c1410d045e936bb71af2e0d819d00a69f5118ed5310078dcc5102303c4ec39dae20aabb288c1e694cd862061f3cdbc3b3932fc32d87b8079246a88467a9f3e63a2687da1549e70486166d530302047c435bb500663064023045c38ab9ae0a7c9f5b66f5c4b3467f02eaedd8bdffabbb50e29f3e403bb4a192acdf0c68958709ea2699a1adae83190c023053672c31cbf9df6cc40aa36ed8764cc7f3a138719dd619df007f39865d59d5ef64affff31abb3e0a32cc65bd72123ef20302047c435bb5006730650230609a0849cb1fc99cc9e477342da9653c562d143874fcd037c77d2fe2167bbc8fafad226c24b6dc1ce12a6f0b234fde1f023100feabf37bcd18b994e19ce2c459acf32f8f30a45b4ea52c504f0a9b13f0c27a33f3fa9d4841a95683f2423317ec2b87c20302047c435bb5006730650231009c8acb2a2b23d43506c59f551e4b0fb076609e041f82486ce29d856cd635ec60e80544e331f419828baa524e753bccf7023015995175950f67e098a9d68fe82e0a987a6c56cfe8c5375cc934e54b8a7fc8ab452691156bcf754a9a43811a5a1cab610302047c435bb50066306402307a0248705a81aefbed77d2f061d1811d7c46a4102c532fd248342f224afa7ab401e4c938bbf7bd511753d8a518bb9e0a023008b0495555852f83d9be40fe53d849f4eb07ed154a8a5648da99e50e134fb1c9431cfd2cc76bc69346534f1dc445be200302047c435bb5006830660231009fc1873ee44d9f83963290122b501938e66b79c5186872509c03c8a1c2f6560d7972f42236cf0c18a6b8e5a31c7f269b023100fa2f8b01ca24061a217fc43b6f6c5cb1a873caee1a2178057bf0d61672664151261455ba5b811ba873bf54572c5703fb0302047c435bb5006630640230554746395339a4e9e0489e5856983c915cc59083d8339f125d8484ee5d973890a4051923db647890dbfc706afb4ad7f702301fbce6ccd3a9d1aba4883561c88082249af11d79949c3983002c3e7f7defedaaa851af0157f3b26270ff5ae9f864122d0302047c435bb500673065023100bb9f00f79231baebbadb3b95f3f6a85747bdf73f7e4b76c810b7db289c23f7082cb1194b842e1030e57277965e8ff61c02300921f2a5c9b387f2d0336b17ef6b92bb08d8945b51f2fe6d67136114d82ea44ee707890e4646ced9d71430bf03e87f170302047c435bb500673065023100968146bc5662fd8953eafbac5758551b11fb5e4e10cfb79105fc00ca8ef58b266620c138bfdd8547b88682c81918ed0502303874a60d3e62774ec0d69907681fdf0121a9ebfa8afc082a86716f35b87dc06cb68eda02d68957d7cdde0a8bf640035e0302047c435bb500673065023100f976fe97b6834571d4b1a5163a85f4916045668712f22d86bcaec74a914588ac1e3777950a11ac207534729753568aad02305153db9e3e47ffde1f7c3fd486f760e3f64b2ed10ffb0d65d55ffcfe9f65ce2d06654aee0cab72aa632657ae5d7423a90302047c435bb500673065023100a761af24787e70d09b7024ee0c703fc92abd11b335100fb673ab19029ebde6a8b8d8243aee4b0357629780d673c52671023078ea84406b09712cade6b84f310e6d4528d71fc740ade2c5bb489b7fbbb009aeb2aff1aeeb8a722451a7819fd1dbeafe0302047c435bb500673065023003abade3be96a0c5b8fd85f1b87cace7c3fd4953b31e502584140ac4586ce379a03cbe0415ab797a6d2d41cd27bf8eb3023100cc7f99372c6313f3b8ea5ebf8f8c788ea9fb173efefabeeb6c018685772fd3ab43b6f1a0212205aa3cd6438759b116590302047c435bb500683066023100e2f572d3dcca8adbea57663f6a2aeaaf0c40170b1b1e14a7b9965faa8bf7d0bbf5952c3745e2c71d1ec7fb356f96e6d0023100dcdced2f4e66b76bb5dd4c25b609abfcd5f2d79933e5cb6e47e990b679e2b3c8f6ef1e10f8b165f50339af138752a2b50302047c435bb500683066023100a1a3a8123fb807842ed4df344d599f25a036c0466bb72c7c368359372322de2c78447ce4abebcb39e892cc0da01c5d96023100d6b1568a5ba783b2aaf9df02a3b77ece9f986249ea1ea81a8cac6047e988cc1ab2964512923d1c2f8b95b20ee0fb9f380302047c435bb500673065023100f742c540188d320f89acae3141299a6122d09b6ddd2a49516dccd266c92653fe34611b4005ffb56e6f26984e491c41ff023034caee09585a6c0783d921a9545c037571aa6935fc79aeddb8e120ed059424d8e5de5090e22a3ec82cde3fac966906e20302047c435bb500673065023100e731a949e5d773710835c58ea94d6d21820dccdfb20ae171ce39d458904caca344cf8050c3c6c7a128a83b30c10c04a80230286a32268096ddb8320fc483a3cd93b0bec55c1e3ab9a8b1ad023a5e1c9e975987f271fe49a88404204ad8ea1bb2d5d80302047c435bb500663064023019f70fc49120f10f3facd10d869520d6c707cd8dc15222f86b3de3fae8472e2d09429e3d53dfea30758edfb7496511710230351be7b503837f6360b1b2cfa9a000c95f34f955007124246a0bc6f0c5f54cf19d15185e4c83c9763cc9b0a619f46c110302047c435bb500673065023100b74491ece92621c4e927421ead81e13b9029d838ee2eca7de430124fe55a5d2bfad9db686934dcd437ab676caef3a3b10230624910fd171cd101f9c4d01d94de6edb8b720a35a3a2af1e6b8d91347204c644dbad364848569d98b3f56c15594a8c2e0302047c435bb5006730650231009708bc0c9650c56ee495e346041fb6554c4a8c6b1aac2249e30398160cc8a8e2a75a41eaf4e087cdede194598d061324023015421735ee81e5dc4a817323c16b053d4f99769ea7a714e080aef948336a42af87b05cf44d09aa693851c3c2097195e80302047c435bb5006730650231008c43c95905efb84c16e912e7e5e660f5e3394485224745cbf1292629d697aa87b8538f4734af8c1750d89ab9bde5f99802301f09621d6019fdf571436de1fb597b289b83c6589ea7b5cd7d4527d042a7c7815ab12358917be9e293c5465125be41120302047c435bb500673065023100fd4926099a520ddba8396c57b97a6dcc3e3d59edeb5c996434aabba996dbf3e5f20af4c561c5c4f6b8ccd7260925dc250230150ff6c3a85234ad6e7f7ed4df88b5f8dd21180455b4845021ffc4fcd5e06038786c9147c8d7eda2324e0961d4aef0480302047c435bb500683066023100d038cc23a64b0ffd6418dfafffe5dcd43b82f4a8dd8e10d4a77a587d3de85240ce122d7a9e4a128c68837095f9e46580023100ef175b518b9af604a805d2c2dcf42b65d77dd9c8901870ab41c338e0a2b9827d3ccff8806fc8f610cda96fa2dbdb4b970302047c435bb500673065023100a05fb57d38e0e31b276b23a32a739b84c87397b18783332bbad3def3f7568210a04957e2b156630ad981620be766ba0f02306f1c83c0acb16c3aae589472cb061ae993214a467d8b2274991a35c56a5f26dea0d7f37ba5fe9ce0056dc7ca58fcd3200302047c435bb50067306502302e032956fee845c3d939ab72b744d051733de78455bac9029853f270f3984d2aa6b28bdd2b302b407724fb5a66df73ce023100ebad8bd47507b7aff9fc9dce8bf95986f76a426954e53a447dd22373c4d82c9d4d9efa0039559f70e068c032443c0b320302047c435bb500683066023100a0ad050935c3be7ddc264973fde9402c47fa7b297126ed9e5eaa116d84ef7e215fdab90a8c53bf707cca41ee3c1d9ee00231008eff6fc6eb543a7371daf0ccff24477f8161be580f8230416d83e239e605a18a2060242e0b1f6ecfa63bef17f67f03850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b911e9340de3d92f58190e75c289c1256f72dbfb25ba14a9a23dfb25e3e73ca6d5ae59af1f03c41090473fa6e8cd2258023100cc3bffd47b2b381c87b11e5bf6ee9b8d14b192c1cc0f63c177eac21ea3a218d4412ba4292ed8614e3185e770861886ed0302047c435bb500673065023100f64fa9bf88e26b5e2eb4aa8633598031c4897661db5f6bd6f1deb46306eac3e63392dfc8e9d03f5af64790ae695a619302301d466f0ff353d66479145f0dfddeffebed3ae81e4339c52646320d2e8eca9290989befd59644c619ddf66b889f21c3d60302047c435bb500663064023041dbe05967e4eb56b692fa87f121917a3f22fcd17d14a10944b8ef49d8b59340bef53e859b85c5f599335fdd860d5fcd02304244ef9415daacf2ee3afc7556288ca4b79988f4fa1710b0e43e1c9cb9795a7ffe134d9a37b72ebb9b3d4f17e25b42760302047c435bb5006830660231009722ab83564a2f03c9796fe2e9acdad3ff9a00a4694ed22737880ed9bc7e5c9b485177a0a9b29a293e70398e1b65662d023100cce21bd9db0e655744e46bbacbff0629c027a8f539495a692d912acf8f56bc0b1a39b016083644def0ac3958400fa17e0302047c435bb500683066023100aa8d53cec2ee7ffb3ff8a209763b1bc4d483a67d947a33ad927934764fd7c142e9b8d65f61e53b1c9fe4cee387a45f90023100e467d921e80098b78049c95ca267ec576ce8698eb1182fc3db6dccdb0cd12565e00513485f7288b2be9b28ae0dd84a1a0302047c435bb500673065023100f474b4a34bd2a728f6d47e21f9678c088bc2dbd4f2c8165cb9ac1c08e825f7394cf2d90989dcc570a557fed6f9dd65cd02302edbde73ffcfda57d775f8e5409c1d34f5a19a5d9dfd7ba680b1eab2e0f2a9d5127db4cf799ef0f5636813c761d8556a0302047c435bb500683066023100e07dc05be3153c37876dcf793cd3fe9b0d1579dcaf81d6a09d5def4c03e06f66d7d50c03fb8ec48e7163355a6335876e023100dcbb503269384965abd8f6dc2d714a3fa32db99a684228748287b9dae28a0579dff97571ae245d65da67abf3801a36620302047c435bb500673065023100fd8d561d43d930805543bd38b0716859d841060d0fa6d9d93d3c83310c533aceb533aae15bf8d76977c984d96961e3bd023053e6125b59f6880286cc0f85e53f2fb92e350ebc6fc53925401277f22e7da40aeb1d7cfe1343368b5c1139508ff34d370302047c435bb500683066023100fc21e3c7faaf1ae8e1860a68f03def493e64658e505c9eb0c695b6eb8f39e280e41ca1b1f70c8156798b15a633cf6dc7023100b7a8886c8d08ea1c6ee7cdc373fbcb7f8d4bb2bb467726f31a066b5ba4e20969abb46dc860606d27733585a69042dc3d0302047c435bb50066306402302ad50a816a53f067d27fdf8273fb94506acd6879f5fd62df3dd485babe4155dfcef7908c5b72483270cb48014de3a6e4023003b758e3d0afbd34b100e8b236b77c951d6bd3ccc2b2733c1058159a5f9c5b653297328dc31337618a4380ec462dd7980302047c435bb50066306402301bced32c094c439151ea912ca9bf504444ee4992ef0598a8b60784728495232cebd7b44cf1f7aadbb3fdee6aca3de3b102300ade7ff7891b7f0779d86d38f621aa75273eda729f13891ebf48895117f07822383d73db252436dddbf8afc85101b9ac0302047c435bb5006830660231009db919d227fc8489099fccea0d7445df6dc81d7f3b328921ff9aecfb7adfedb2bdf15f046d9160f5c22805c97bef0d82023100fef3ac40c55b6a2a176c9efa268344e1a868b4dc49fcb544847e592873aa1347fbb3baa90121fa79e8e088f735818bb50302047c435bb5006830660231008e6a9a2a5f154de20ea2fa685eee075f9a510dd0e7da6fd80afb2e5bcc64a5d4e6e0003a766d4e07bd8f4b70f133f5d9023100de78d8babd19dcb2c87d4347104db29965f3e62d1ee580869d6ce7616fbe92ab4ea68e68de06d9dd28928e251c213b6f0302047c435bb50067306502305597cba137bfdb07002b86081e8d54a9c0ffcd1a228645118e63641b93539cd6a940dfd62e373ff2f415ae3ac1a3fe66023100b890f9c3ef88c0663eeae2c03577ec25e5ce2b12aee4304efb0bfca1b1e683c9294f81fa2648dfa6402d694d939053b10302047c435bb500683066023100cc284f11aa35042e376f0bbb7980e5bbd4f736348dab671043e7c8eb9042058b0b2b20fc5d2bcd3ed465175ac9095b1302310081155f21193d1d9a82eb8dce3799a6142ce41051825146bf19e861690e0a3ba387a900209a4f49bb61819e945c8f1d9a0302047c435bb500673065023100baf3b4411bea2a9808fad0a09db055f0d2362940f732032da64439d357cd19fc6924ca86edb3f0df36ffd07cc15af5d90230053f3c2f80f52efac714a84bced5c98d0405dec5382b4cfb097db6ef88b4a6470b2dc94030fdeda83968e017067b44ab0302047c435bb500663064023013e33d43a89f4e3244c9cd6bffd704aa1f152f4849a50a8909c86cd4988bc8dc0a020a5950222c6c1c6d4732b1c233b502300b3099468a0aedd69a9d81dcfad0263de726b44c3c776e316f6b7f5de91b6833da5781e4b8e74792df7d92475b4aa46d0302047c435bb500663064023019fbebf4a541f89cecd6580bfefb4175c21dc48aa1619f2b86f46aabcd25fb64eec48f66e064896e8c0bcd04b303eb2c02307b9e5f0aea639e23216a04c17a6262cae0a3fb82eca918f3d2a6e93747edad9b9ddcbec320593356b1a96e3357fd7f0d0302047c435bb500683066023100eb1913fe10bebc83c63fe8c33c8af1f22f3d539cf8470398883771c2cec0b95f2550a8141a72fc663948d9f3ee618f3d023100fa19045e466fbc40c032cdcc69e5f1ac3c6f16bf73411d354d16152e47b7a96cc05bb9cb8c93bb9ff3437ba877035c970302047c435bb500673065023100b59c2b479c21395d1080b58842886149533511b62716a11d96a7a53b067c1144042b319b529f25a145f1195e07ba2516023069535c5d4286b7d1a8065a0819484eaebd06d57af4b45284437a21b9f0a1e79fad89ad34056c785c40321ad2edab87790302047c435bb500673065023100f97cdad152978b9c5b44b2bc0a7a4add55e58c488c513de88a87ad91263ac452d24048e1ade561c20d5930c7b6e382620230352da6591b71d39f2effa0f6debad87701394c0559e95a6e8bef8460612a6e11b2bf3d15cf3e71ec7ace8da8b52d185e0302047c435bb5006830660231009482b6c5ac93544b9f44325a01defee5e3e0c6002a83e5f92a38aee0383d81b74197b4cbcce2f96a5a3cc1c390d2ffa0023100bba8c0955fb8a8191a9bcc232e37edab85e6c3e42836a1271ab866fde095240972d63c540777668c7f35e9a43aad54c70302047c435bb500673065023100fbcae1d1f3bac2a273a0cc7a4d1347eeff2501852a47f46be601490c6275906bbc0badabdfbb4b5530245224b2a891b202303a1a0a25153cdf500b06bf9d8834d746c17e142bd90f19fb5d7c4d6087a8d6f12ce8f61c758e2cdd675de74e0e4835500302047c435bb500673065023100e5305e7f996c0b743e5ba67713b699e6b5e5f21b180b648aca0fe60458c15d7f67b6c8cb030e66068e9fc5d6628b250502303b87256e8b9f73fda03b3e9b638ce9e41bf0847883fad30c3fca4fa8e53261240ecb50a23397178df622b503d2d5b5900302047c435bb500683066023100cea967545e5aba37d8f2beaf311dfc16f5880f0fa44028b0a3f5c39e87d7588e02081b26bc623afd66cf3ac89f3cda9802310091961a35c4bc1f0250115699308e9fde17dc1c284b726f4335028f4b33a074d6d683312ff655ca037172b55cb921e4530302047c435bb500673065023100f1cb80798e9224cadc34e4897a490603306201b6b8d397692bf5dfa52ebd9073c8c33f38019fe599561ec440b443faad02307337c89022b1f6a1b3b876058eee8d065651d6b93aa73b1e07c4789b96d316f90a02121b20f57722237960150a24814c0302047c435bb50066306402301190f192455613b3cfd0c12a891b8b8ef8b648c98b54acb820338d1f68a5b6cfa9f5fbe3e114bdf0db5b601c8d016e62023064016204845feaaca8d89a9f82ad46c29d9dc3df4af4ffdd376ed16de94d4b3bd4bb3dddef85a97f4a77b8aeebe6fd920302047c435bb5006630640230455f8af939be7035f44919b52344ca9461f0ef6325e51cbf4835c9d1fc82aca5fc127a12908a34e8a0dfadde4996b4dc023070e1c6a5861390f4ed5234d38f7ce14ef92951da1b70a346d854ed289352423b880d6f829b58f562480f9898c6df9fb30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300b139b26d6a20b2ce6d31fb7c9da7d82f55eb7394cde9a6e80b34499800c0ca09bdc5f7386d446c58322598455036aad02305886d949d0514b3885c289a4d035a128e205e4309c684525f564a06d09c3b83e707346396e1108dfe96c585aee190d630302047c435bb500683066023100d9c7fb97a47c5b4189568903d599fbb9caee2e59c63717b87282004d2e37dadf43c8ff43596268268af61fdbd70ef487023100d4c2bbdc38f135dd6effbad553b07e159a2f62f02367bd71363603c2a6085696621d73f0ca8112812ee798d03050e2770302047c435bb50067306502302ee730fe219e85466c162de2baa11f08cf1ea7ca5ad7b0cce350918e73c5fa0beaad14a8a6c852c598e2f5db042f3998023100fd4ab0187c55ec29e63f2c84bd50baeb3316fa7a4af2ca643153b63f3888f89464f837a4e818e89780d6b1f3d5a2482d0302047c435bb500683066023100f99acba27a83ce63ca350f110bbef2d29fc6c646155ec081bfa3c7e26d134a0f2d9833bd0fbc10c275f9d3b9a359dc1f023100daa5ccda1e732f82bd6ca4bd7753789f11af4e71d2d7cb11fa3ad24a01745663c66c756ecbb2cb2e0de1e96369a5d1f30302047c435bb500663064023062eb7712ab1500f8475e779afc244e0597922b3c684c05c365b6686bbd23df2c2fb211decd256a27e6f1009f0ae149fa023031b6024d25d3ddc54d524d1a8799ccf9dbd576139849efb330af73cd0df22bda60faa0a16b1f80d7a5a7583dbb72efbd0302047c435bb500673065023019b3092d9b5744e7979f47f0b4fae7ad68721cf5fee01ea25bb5fe2448f5c12b7e4f14fe6be08d631bb207a13616abe7023100872b6447396fe4e5d4c2e0254a157ed112bc3acaf9fd19571f1d4da2ac06092fbecbc285e78e2f4ac6849461a4e8234d0302047c435bb5006630640230342558469a779fa04688318b3f0fa0f40a46455ed23102861ecbfbf4066625c3cbcac0cb38449fc36a5cfb18cadb5b3e02300e25ad3fc49d02a12264ad0373e924bbf2bd4326bb0dc7d6ffaba8e8e36d7f75556b7970734da7858afc61d17761447f0302047c435bb500673065023100a3261dc4f0bf0ea24396809012e17a1dcd46cf186d8b71a62673aec78cbd5440c9acc970eafd5b1cf8f261d2e539dacd0230777a731dbb52d3f913a0f5d9dc363935511cdafef3bf907f7d9345eb0ea5ab9489c758ac9485f7d41c1cbac489966f390302047c435bb50066306402301aefebe771ce211f36f6cc6f7b03040743a94cea2754d744391c47aee014f3e6362115827a6c19c656c5a6b7ec382bb0023025ef7b27bca20c704e93543ff0311ca1874e87bb0f155a6c4f29cd9a1dd40a5f95b708354e50fd2ff7d18cc1c9f0824a0302047c435bb500663064023038c01f46555e77f5959859babe2b71aa0ee113219e1f1f5312339a490d6cb352e5434e3e764bfea24f325be9a3d85e2c023048f98b7167f9d896e4a27fa5a1b07aa0d689d63fc3c6382b5e0ecc299f8652de50c30c3d86111375b6c59beecfc3c7420302047c435bb50067306502300276bd9667b3314387f8438a14973404c96099cc3965fa85fd67f24bdfd360e78856f20a6316af280ad038a6d55381ba023100c3fd2ab42969d2910da17e62a3537597fa6abacf15f5a2310ea40fef27fea50bd92ea838d6026c11020137ee0f965dc80302047c435bb50066306402306157dd3b67c78be12484f89d79e6c73d8ca8be2203c384e37c811097dd0b3913844765171fffc3dfeb04f8b1dd55118c023059737600768ae5c4e8a615523312c634a81e166e3e72cf546bacc09e2a51941256729f6d421c0a8c6292e5976044c3790302047c435bb50067306502301f14cae9715a173b3c358de8c66fa4178b9e28bb6a6534b1fe962858a7a88893192c52221a5638a836a8a503a89d477d0231008be1693df9bc86d8a8f4f7c85be12c9efe3ba438cf271fcc428d5cd2ab3ed9f1a44e3d89c5fb3cee11d2a4e5578eefe60302047c435bb500663064023055ed590d61ea5e21c4c4c9812b5adb4e0c3c364fbc4691bbcf1710dde773341c17f09b76930fdfba9a9e9ade719010250230084ca1a2e04ace96b594a0abc574077336c8db173dd2326dd36a8d01e7994a0764f0296592898db04ab017517bda23c80302047c435bb5006730650230355b39134bd05f56c694b9bdcc2f10cdab56ce5717fede25eca160f2cf541f149d67cde143ed41f296a587f43597b9c3023100ecf2b8f09966c5096df3fa1b2359337314b0ee7716db45890785e1a599d6502644efc3240cfaaab9844b8012ee3a081e0302047c435bb500663064023021168e5af8dc040752194fd30da7f5abd26267357bca66f6eae0202b2c6641647712f04fea202c8cf316290089d6a2e002305211cd3950863c0f29f89e26ea462bda9dcc39b2870ce5d78a22b43cfd97bcbfd9833d4b0f8e287fa596c4c0097265080302047c435bb500673065023100fed6e88761406f3f81305a58e727b3df867198343bf36077591d087ba83e1949d4d2988217264e3cc014742803bf5c87023009ce656a938763cb721a72a1a7bd87d6523e66ebeee2948b73e2880122e0c491fbd0a80edbe166488870df77235d05680302047c435bb500673065023062170d7ee7d2cc20e0a7e92f3ee51be3fb653e6957f6b8b4db792f2983ae3dbc976c1c764ff2dff0fb71abfb187f3c600231008031b426aa6aafa186cc67f0143d56fd7ef3d31c2f56fce4a1c3e54af617191400fff497b3d2a9c84301827f722ec1240302047c435bb50066306402303390c12c665092e0c979cc3577e9257c7b22962de17d82928ebb9c726165d28b3ac9b04c799f0673f97f233d285eb28002307feb5c6ac507ad2232b7b306a5e99583cc95a989496e24a68530b54212aa5ef5d6678bd1c06ab5b43b77ab0fdcacf6c60302047c435bb500673065023100fe859ae98c4441005b3fd4b9e1713842d9edd043742548756902794b772f1c223b63e360e2c40d488a76d7287c05a8df02307009fd2ad65158e85d17b866410b2563b4527f3453cdcd4acbfb540bede54961b3e23f6b93fb3ec65c08ffaa6b19fb090302047c435bb5006730650230083e33f81bed37254363bd9af2a2d12f1c22e4f12bdeabcfc77b8a4dbe758951e1737d63afd7832f8ba2f38deb2cf0e2023100ec18694b7fa612b2656a961f6c9cf2eea732f7d25ddc2b05d7420c4fae5ab4b4ffdb1681e5584422516604e9265fbb730302047c435bb50067306502310083a4efa0361a64423f3f95a35df241789c60cf18537fbc924170b3e102cce71f654aa8facc793404857ad1b15f004859023066821245957729ed27ab990c3f8df018709ec6451bd3f343b9b73d08fbf8137de26ae5e817479af94c9c2970fb6991530302047c435bb500683066023100b5abdb0e8d817a5c035ef79d3ab646743baba9bd97f1081827ef67dff4cd6a0cd33ff8c8a44657b447094c8026d1ebb9023100fff95c081d309daad19942d78400e37abab828550bf3db01d5cd3d7bf720e6df5481e6bd2c16fed6fcbef19db31c9e8d0302047c435bb5006730650230510bc5c3c18ec63675e444cdaae18c57a49a48ca327a65a850b2d0deab408591798b3a0c93751feae96f447cba75c3f2023100c98031338d0606c4db6099773faec40ee3c6f001d4af8f4256ecb7caebceb87f48252f6c63ec2982f64c0a6a679caec20302047c435bb50067306502303afc0224e9ad61cc5c6503c6bf38031471c3529515ac203250d3e6c8b7b6164928735ff8927e3b88cb5b23005763c9b8023100b45efe139b7c22d821b64c9e1245ee6ac085362143269bcb50797b1bbbbf5f266362c85f4497791577fd22b37f91cb3f0302047c435bb50067306502310082007ba4ae7438d2eee957b115ce24bdece97601f985d7f76b013dbffde1466b8bb1e0c43da73bea20a8279dea3eb21002304808a6b11544f2db11c31e7193eb4ccd5ace412d83cc0cc0229a879f679839d5562f9d50db4d31957597900be7413a6f0302047c435bb5006630640230277815bc7687be6dcf1c174be59b625644f161639855a72f8a7f737476c8db526a55bec3cb18968f9c867a4268b73f8f02303e93734c2864f767495fd732f08fe4d06d5ad0188cd8bd1f8d4456b0ca705da6a786f801a1f96f7becc25f7f8a12f8960302047c435bb500663064023007074a075c001c69c96f74bd7fa3b146fd2f1ca45b23c4cff01267aa63bbbd2905caa6f31bbd3721345622e41d826d3a0230098de5588696b280472b206fb240654135e8a8c7ca64b9e33bd9aa56311b49731a7ae747056e7eacfacad77cce1703700302047c435bb500673065023100a4dec9137aa52469dda4e030a795af6d07f2e1e274015fdf091920094f660eb1b7845c17cc4957bf86aa7526ae772b8102301398defbd0d3ba816f168eb0fb6839c548aa7795d962cf7659ffa862ca6f2d2808c3b66b25f74b382fa25bbd4202ee6e0302047c435bb500683066023100ed32a471a0f12cb97c9265a393a307928da87860a4582d23212b0a18e0e1847376079a08dd489fcccb73810da4ad74f3023100d7709c16b6922c1dd32fafb83c1ddb10e2fa0fdbd3e8b863529566b5b7b600c1bb92bbbbb41ab388d706ecbadf0397380302047c435bb5006630640230175006df576a468a1ddd47de6b008f61bc424056a475c87cb7f1d9a47f8101b214b66ce4bc4627628beece3bedd22d5002302e936d855123f69fba22fb38f584c96c5a753f8ccd45b4d1995b0660ed0dec2b55f94aa6cbaa8ba9e38528f021af873d0302047c435bb500673065023100a501c419536ccbb65f9322d391b15b0ae9b8452432b9add1fddba783723a796f2afb6d2480368cc7daa5eccf7b46872b023048de47fcba82acd5a1148fa620d82b1dfa6f10206838eee17e595d8fabd31f4f3deb47464effcdfa4bf3d133a02428360302047c435bb50067306502305fd432cb56b510a238af3357a87d653e2e59a1f38ec22147d3e6920d382faa95e15674a1dda742267945653707bf3b11023100c7200c2ec4dde9a41eb859d8f6894756902399bb7e5538ce646a0e24ae3010d3f7a2ffee9ac8743a999e077125d3de080302047c435bb50067306502304d4832960369e627a74d04fbd8e017681b67af8dd55d16e10552183d02d829ca0c5bf52ac62726c61a54a113e794fe66023100db4d6f6a86a8e8bbd217b024202aca31b7c0834d6f2328b27e4904df5266fb3c300b974038a3e859d4e852bd5ce315500302047c435bb500673065023022497f8b1b695b745bed67e3a3727bb2d37909468fe6f232cb6c46de7c231b68c43415a304dacdcb08713490f0bdaf39023100ab8017ad12d658d8e02d74c116646f0216aa9b208bcf05cc7b8b9c6ab940fcc1d205aef9e51ae78259f01999f293031b0302047c435bb500673065023100b42fc2f08bfe1147a7bf9cde1f602ce8e1a84b93792a1fc6ac61aea5a2f20e04e621f2adad2f3cb6cdf83651e4459fbc0230250ba71e0f79098ca4a60f429bc3bfdf9b5ed478cf1c440aa6e3089aa2cfd5bfb4368551ef1702d25f0ae82fba875c9b0302047c435bb500673065023100c90f66c8daebcba8bcad79d7c6606b842c6dbeab40329cff8816cdc35ab9ecebf1005433abff4c838b95d474fe972da60230623984bcc03eac4fce9a60b59e93032622c7aadb4e832e02af34425fe553e6569c9d3e7a76e85482c012f58f3b08a4510302047c435bb500683066023100c8a11d6b9745f2790c8558e5291b9615ae6b07a4614f694333cbd243f20207938d85ac00db789376ffc464db0156d5ea0231009d3d09371a974e11c1ff367e913bc9b3136bf99ac1ac12919c1342a45b5b161714e402c91163d5355ea5b657f0e462df0302047c435bb500683066023100dd9948b77b5b4490d20fe0a4d240ae103ff733fe60b8caa15eed3840d049d772019560b1dee44c272f7669caf82d65270231008e8c14899d170f5cf9408dd0e493d50f2217e4c0699c5e81d524de053999af28870b67d51d15a5b50798924a48c227670302047c435bb500673065023100e10e605c2826eced67c046854900e3bc26b949fc2b71c70661b4e71724e2db3ec43e656475d6f7ea2abde7b72b84b55a02305aa7a318a12acde689facd32d25264a6964b54758973ae754242d165e19a79324e2d25d1905329392ace99729167a6f80302047c435bb5006630640230739dbcd4f1656affd1aa59b6e2d7747b6b1c1ce8c1c73faaec01d350a8b425a9e7e72c3b9dea27a02068540dec2fccdf02303cc30574b2b7e5ca42ee90db2387cf5b59b2315e839c2d167c2a537228e012e979b329728c2258dba79ab65a87b97d480302047c435bb5006730650230120fdc8ee1d8c3bfe45c29a15d931992b17e9176fd8562e959004c1207bf8a6681f493337feef72c6d27b6771fe8df630231008b3b9a65416e84accec656d1fcd0ed3b49ef9abbcee9754b7cae6becd9f700b0f9c5ce9c3492e1219afe8424afb737850302047c435bb50068306602310082024169554d2ea13876af1e6c962c24ab611b3e4d4ec235884c741dacc17cb8712e2f58afb32bc47a2d6540e6777d2d023100d28f4ee3ac15556557fb9ebcd4294c60c0123679d9b8015b6f12cb2593feb8cee098298704862bf2f309ad8d1f8dfe610302047c435bb5006830660231008865bf16f873aa81d226c7f146e8097d31bc15d2bd621fdf3a972bf14bfafe2287d282b7ff6e867bed9e74cb8ab7bd32023100b3cf834c3ee7ec1f5c936be6fbbbac07c6e9aca69fd92a8fac3047c0146c560dcfeed3cf2b2af077f0b7a5fdc3312d8c0302047c435bb500683066023100a09fb9e948de69f7909ba5bac8531a3378a9512ea735ae5939000d4f2bfbebce0e988bff3dc036235bf66ee687c8562b023100aa70e8aac95ac8dd9056a9fb40263bbb6ac641504db30f540302d39babb7c2db1f309d6ab969a0bc9ef8e7e910369ca40302047c435bb5006730650231009856a81ded190ee6280404ced70b7bdfac52cdf6618b79b5104d81aa9b0af357e15a2cacc8690665e520d76ea09d54e802301520f11635e6ce5df65c3e0af4da223a2016418f5c53bda46e2908fb454869db655b05461595f68b8e3732b0ccdf2ecb0302047c435bb500673065023100c3516ce37863c2820b9ee29abd319da36ddb0c8c7e967f6804aa2666a2d938fe93e5bdf191b1ab788474e2b65f47bba602303e8dff3a745a16206013b064d0ca6e2e5b6f7725a82225312dbc45e9e9145b513ed8aaa0a17090758d2f3172f4d365120302047c435bb50066306402300b96352d0e98bbc5ba053b2b298ecd1122833aeb44e855c1038cf3323dec6178954acd8d088940a64ecfd6ec662bd5f502307468547c2815b0e0d69fd58b7ef8f250e48f26d7d1e9e5063144b88114f514889057c6d5880af163594f6a35abea15ed0302047c435bb50067306502300c89d2718cf5f6d3f6d6caab0b55abab8241008e8a63dda4f4951c3ca37c777c2fb78c59d91289ba3ca3cf792afda2a1023100be46e724c317be2ce81fc61b1976b6a19d41f47c2620ba50e1b40a59598623d5cd9bf316303ae5f2ee01d8740fb3edb60302047c435bb5006730650231009a2fef5b0db50e0e12c0bfcdbed456c479b71e7a00810759d976d202a225f76c81daf290f1422729087f0e4e0f9d7fe60230333658f3ed4c31a8902d35060403c539b4da15d87c5ea762208be45c2abe0c16f4a4ea4e6dc4b2d4edff87f55b31d0490302047c435bb5006730650231008a567f3bb5581a50b07b6bab1b0a202fde661ff391e1ad9fd71125cc86a9d61c00f9e328678f66c81f70914fd2bae933023053219397e9b99b82a81c16d4849da8a53a2e59474a60507c6a51ea3df8ffc55d98fb7e62454f7374cee9a10aad64654d0302047c435bb500683066023100c13d4ce0a8afe0281b2ae10e88814bb5fbc7ac6b26f0f61c45391095292d419b7c67b4bfc69c3de389613c2fadabde450231009f90ce65cf867db8162637a4e99184ed4a38ff59ae2231d92b21e9541370269cd54fc0e28ee13c227ba57a65026f03ef0302047c435bb500673065023100ee891aa284c817327cf1c8abd3b03d1f64d1eac951742c475eabd89515fac455526ae9e0a0677f09af9378fe7a38c53702307afacd006f83c784e7da3b445f6020e337a531fa332c313ab2c119c99ad6e80230a1abada971c247cade501091f22a6b0302047c435bb500673065023031c802464a7543b3366043c4749c1054331e326e69fab9d2e7b096a7acb4a4a2b0af8e063091d27603826ed55066a896023100fd541f692e441b508848d56ad15f06339e644826c8b813bc967f50f556c7f54909a4d5245d5785595bc589f92a7786a30302047c435bb50067306502306b20f52401315311b7e0c75e0caf92afc7d7343e5ef924fefe5e58f25e921ce52b46f99e7d208a8b6047e4635a9f3ec2023100938a96304a8885009e260c42608251eb55d91707d95ced29a7c82609ce77835da92790498188b61d182aa7dd2e9171000302047c435bb50067306502307dacedb13a2a83b498c4614bad32adcf7221bcbbe43b0d2dcb321b18ad645d1976d90d1206797d416d785c505cc71a69023100e505553da7223475f3e9dc4ca27cff670bf0d5f55ad937d25000cda4be6bf316567f7e4867f8f063ee6096ddd21bc1be0302047c435bb500683066023100be01f46c742bb352fd744243824aef1c448cd6c90ec2a425a81e20c613c1ba03b6e308ad8cf112110a1f95aa196c0d0e02310080aa798687e1aef7b62d1208b49434efaf5abbc0bd4c3c81bbb2312e07f587113dad18910b67c63088296c962b5fded40302047c435bb5006730650230344bad99fb1546bffc1ecfc483e71ca4a8c2ae65f838fb46810c7b69e663c8f2312aa1ce2f0608e04403126306e3bfcf023100c89bc73101a045419af920f7caac9309f695544c150c762b1d90c53894df46c28713cbe6907adbf2fa0790123aa110160302047c435bb500683066023100d89f903948b1086c3175b198d36315738415ecb74fb34429dedc128badbe25ea11694855032ade3c90f066aa38a3ef330231009c46faf836fa54913e2903be840d0d3acd457a3620705f2de5fc2095513c6d2e8de888c39b2f2ce2acfe0762b75ebbdb0302047c435bb500673065023100c364b377fca2c696f40117e414bffa1b2f019bb8670a4101edd165648c416cd9424815f06f10b53ff304fdea4a31511d02306b685a7aed2d2801f224c629cfbca9b37ca130c7e490a7a2fa958be6b7540e89afaa09b1043b211b3925035832c5fb0d0302047c435bb5006630640230270c9dea16966377cd57eb260be08146d50ec000b0755522ba6408dbeb66c0dcb57c9048078357f3deaf8bb7c511b9ec02305d134d7d364881e25e095c65f4172d57416108b6bceb670889bd8cb580f6fe97931830eab2c17ba8d223050d087c399e0302047c435bb50066306402306025fe9c0782a666db97f37511ae9dc2d4e0f3085dd513bba73ed8748ccadf8942ec6e80a98af2c249942acc61c056a9023070284dfa2ab71fc8473f278b9f8dafe8bd5f037bb61f270659a71119ea04530bd137e8f5a58bac7dd4f23aa5fe59d1ca0302047c435bb500673065023100f11b225470f8fa868e3d9790ac569cf165f2f423e7a1f5a488648c6effd2a9afae4c875ffbe55cc57d54132040afad86023043f67cfede13b43dff84320ceaba86e030bb1a57079a40d789a968bd9e06193d963b4e2f4e0201b854184c3c5f6043010302047c435bb5006830660231008e2e313f157dc6a4148418dc8d35dc6a83eb443ef8180f35bd86a811a6d1bb7447f90f37c64a1605ea5979373ee24095023100a2f5a492ef92d62201554c5935a2772e8d8108e3d838f72c5ce332bc8c299ff4a4d79461b00584fa460f027ba59c29a30302047c435bb5006630640230433356b832782c8afdcfc04c2d54566cc8ec6b05df24855b904d28ddeb407e9491558815a1848fed94ff944d7f07d5ff0230370b5bc224fc89372cae4232999736c6099733008783cdfc9abd400c6cc3faa76f93d6350311b78d435cedbe88a7e4860302047c435bb500673065023100cd4d56ecaa9174f48986f794c9dd57be9402e496055e610174f9a972b3d20f6955cc74cfb6c8786bcb2ca7a2c8f3b8070230499fb7dabe948e070327a7cdf1c3f58e41904cc49ab2f2cf5b18a128faaefc464b9540cf3121ceeadce765249c32c5ae0302047c435bb50068306602310081501a9ea5c1253b1b915f3a568705d372a9f74b209b4de29a430f30243921a8cdbbc37b7a3cc5e5600ba727643cff640231008491238032b377c7dd74dbbd71309359b95e1603a35fb86ce1b5f67b3e0c28f8f6ed30565378ff99fcf19a7a2e336bd00302047c435bb500683066023100d7fef7a90fae49c81f9c21a12b64649dcfc489d6c60fe9bd5060ed32f89724fda912de0a49e679b8558e22861220eb9a023100ca86fb241e98716de99f281ef56fa53fc7b5357b5859c1fd5df374df56019abdc8c05c140eb9839a4acd4fb258f332800302047c435bb500683066023100b6ee6facb260979ffafa33e6ed8ad757b1d5fcabd444e44460827c436cf7801c6793f21a39669ecf34a19b518105b9800231008158b7a20bc6ea42ff543298cb3f48783af2832501e8fda0946526f41bd5a8e6b70ec887b90c35756319322cd060ef9b0302047c435bb500673065023100c327f16d6d4772687a3f692b922d91f1c5462b5b6e1e25d37e04d473ec8bd37abe9f1b7090dd74b937c72ba34b4b91d202307321f9e68fd108cca01f4e9499be7bbefbcf68a9fb5b5d423995f17e4fee85954e42200bce4440180309eef6e1b1eca30302047c435bb500683066023100cb3614d099c06fd90261b1f16882e080717b5d320165fda4e5babdb3342d14f7734f54aa490dd88a338347f197df9bf0023100bf2b022b5731ec303f731ac762376e446df21cffe07ce753ff18767461c0bf972c0ff794212202963fc863a0bff2f0f60302047c435bb500673065023100eb8c760d50c8bd4eb9ba25eb788382f2be56f9f357465116ae79363072d6d38cc0387e970d5e2f98c0ac23ff6dc89765023049be6bb0115469a790e4ef378be3b417dd52710106dca75750aad2ac8a4594e4c0050eb069b4e19bf0376cb198017f5b0302047c435bb5006730650230764695b7342a4bca1f4512d01eb4005d07f1d22322a0b529e920518c6e4ff8d5383daf9553ab4d201ebe0f8506a4a3ce023100f12f56e176e8d47304a71b7db046bd38093e6890ab554756fd71a8629c84eb1a20e10fc45ab315df6647e4c8e3ab35be0302047c435bb500663064023021fe9b51ca6b203ee7d0d79ad3a6ad32d528dfcd853e7208dc5cff23af3348dc2454b674d9bbd65ef82fa0280e2c0a39023047e58922d80fa214a88884b4eddf600680dbb6c8ef079ea1bb2e6c5d2fa6975b0ae0e4121f5c481ab493fc363c20ca4e0302047c435bb50067306502306f34d525816b6e7abf805360ff6eec7ae989fd529aa303fcfb7edd4f2121b98fad00bbf824b889471bbed8dc3ad65de7023100a93838f65c855ad464442c4963341e564b0a8947c26e06564d61a0c234f7e7c9b7c25cd1502057c5e84113df96a167510302047c435bb5006730650231009853cead631b6da59d7c57fd3f3e86d713d12668a9c3a7a12463fb67bac9f16f9bfc929974e2f56a7c2ac49e6182d26d02300f0b3aa8f8ee0d1d03a0eb2319721833f5148fc034a3a81b9b8e3cbe88569f05af9306544884a644aea359c4c8015e120302047c435bb50067306502304f80556590d405101903bd25b48b2e9488d62a6da07cd14140aa920bd9a4c128d3baf62b42eec292338d694ef0a31cdb023100a35b37f90e5d94281192f0aa7878d0feaa36ca0a8dd12d4f32fc8202c59dba50cf61986ad54de2aa7b86b5ad493ea5860302047c435bb500673065023100beb4f55ca7531faff3fa6e23a08107bb9adf6fc49a6ac175ac703ec86defac9617f26964d0b28650c0b9fea7433557a3023017f22fa1de1cf7ed946562f6565fff1d498be7928dd9858118c4218408f3b9301fb2c19854634625a6a05283aa60c8c60302047c435bb5006730650230461d8c23e92742e497b40fc324ed1fdc183d06cc4e93c0610707d0703464e67678c82acd2e450bd74611f666689df733023100ce8a373c643529417850366f9e96accdd52662acfcbc3f40d59bfdad7f7063ca0ab74b0caa954d244dd46f826876e1350302047c435bb500683066023100980bea2a3b869c4c8ed818c19a542e83e7a5e16c09380da31a3d67525e53d388d3b9fc3c46f1c895ef60ff655b0f661502310088b943ab8cf9b6aeb5d238c615e98ca45aefe5f5ff549d35746bc1078a0cfd7d417aa54aabc123e39b4d40a67bbda8cc0302047c435bb50066306402306cc0eb558bcbf75dc24f7a70b40db7d135349735cd3d7fe5c21a1c674d174c525cced504969e411a2fbedb13fc99065402305c47776ff81e422992c3bc94cfecefd82a9a3ed3d487cfad94d88c6936c3d3c3305c4ae2b5ba736747fdf9b9e4fb89360302047c435bb50068306602310091306df04ca5801bf743ce752095078128eedc78f6176e05733e44dda94ee1af373109fe201c7d5560f49e6b2e1f0fe1023100cb10d1f9c7893910ca8fb164b94df362da4a8b63568535805e1e7144e947d99ccfd650d9479aa0f7f5ab0ae163fdff690302047c435bb500673065023100b3667104c1b2bad6d1889ce11fe2c43041382fce7a08a98e3e31a6bd382949f4cd7e5f22847d16875514cc9e5d3224a802302524c99e841a86dfba84813c5a9c88e4c8f7c2fb82dd89d04119dbaee9ab84e45eb1b9227388808c6a91cc64abd166580302047c435bb500673065023100b6d37898b21e6b31a6ad67f10a26c37242cd6a11499e2f4ebf89801733629872d2bbd45936a6b562e5e16dc6116edbde0230377d7059f8ac4ce69e2b2303f64c27932bcb7e95a56b9aa06394df21dca43937bed0873751501f0c8ffe0bf01ea194830302047c435bb500683066023100d104bb4818cc9a86f2b154f1c8248e74c1895d87648af1c3c934be4158b54c9538a57dd1c306727af382144614ebb52b02310091f28fdfb360df85bcff8eff73733839b4497313a4d89ea1852ff7c5e0112b168772eee0423d30bab7623c5790f9dbb10302047c435bb50066306402307dbf0ca8882a618400b926b3eed97bc847629abd9b6e35d20f99ea21b3cdca0eb88c02161bf965a4f18f99bd8b4c728a023023657acbb3d86c72c331c06a77677e7ed03be4fda6205a860c9aca7a18afa8363db10205b700b1257c866b5e87981b710302047c435bb50067306502310097f2d76d3bfea0d9e2ec0aa60dd86ac2d73be854d858935ea5e6efe96b813473dcd5456c1926c640800cd6f167cf0a6e02305a14badab9d2fce952a13d7fa548e89edaa54b6bac877f2e6d026006f76a05db001af1f569ee990e5892657e1bbef90f0302047c435bb500673065023054dbcd886bd99a0ca55984b64bda38852c1baf4e48c91587b7dd0350cf044b60332a2a0fbe2d7e53d995a1e537fdd2e9023100a5dec038a0a88f0cea8a0d7e5303123fcfc743b15a571a766319cd0f26d183241511c9ab0284c422158a1978cf6538d80302047c435bb50067306502301127d07d5e7c5dc0985b35028f2dfc11521b4c14da7c771959b46c9998ae1a34b4fb7916b2fe70ab6c92598fe2f13d920231008cdab6258b36fd850670eb8b517aed8228c2412bda2fd63d4231c75974b4f6d6da9a894b4bac9d3787196eb23328cd480302047c435bb500673065023100e1a156d8ccf6c10868d2e6610b6e9f0103253e15e62d761b4e1750dda26d45fa44ad86e3dbe41f0f0d385f423845666a02300574d1da77d6f05d38a8130e654a26e5c0907c141294bc6370bb618ed2e9c32b83bdbdc3afea312d2d20a3384b6f9e320302047c435bb50066306402307f4f36c08d0503d8b6b369795826588d9f3488d60838306551c43be2f8bd13595498b22ce5aa4165fb23c48c6d35361d02304c649691e510eea0edf2cff98df2c62e0d3c06b932954801971761b59d7a5bf7b01cbed2c5f16bd53420c6fba2ca79670302047c435bb500663064023052f01461f3da0423e749b6bbd75e54495de89577375d73cea94d8956d18cc3c1ef4c3e61de49837598b0a56ab26f3eb10230540d1721831b9778669232fdada576ee90d686a20945ec5f3c484093a7ed2e5c2e71b2339ee4ce72ea4e888d46dba7f00302047c435bb50066306402303762e130a408b89179e4a17546eb90c31d6aa58e203afdab8113aa1d31cd53b7b029d2547eab6f65a12b730978e69ad302306d0ec37b0ba10393d30d4e672a4445b9c4c6dd5248bd0794650e0b4f1e94b293d69d89deaae3d3653d69e8fb5f9999350302047c435bb500673065023100d741035d6bac5a45a2df3314f06ba23fe7ecb772e406418c2859731090ba25060a281bfdd64feedf920cd6f99e98123302302bf482acfe04d60211182a069dfce72c245494c094a63a4b0bdb2802616fb9f3390c5cdd59c273efdbe444c7777f4d770302047c435bb500663064023045a9718a89809aa4a9d7231e617ed708ce02d022989a64ac3acb83b677b9754217e47bc18b07d1d00e2e45d671a7da8d023056412202fb66282148b09f0f0d5d2b5b01bf6e5343cd2573e412113379c78c643f8ba7d849d8ab3425f520e7925d609b0302047c435bb500673065023055d7b5dacf945ea510a842de506c45617e83ab93f521232ad01b7e3be147cb2f84815503194c6854e99738b625a62ac3023100d6a8e1ea5c9603c8d695e23a16c318fb94f53f134391ea15d81580ad365bf3bfc53f3316eb693124c90880559d214ae70302047c435bb500673065023100ed6b166e913fc38c9b2e5c3bd237f9298edb601af0c81c617f16bc49b84ac13e101f8dda1e74e8340f66e13cf716f18d023061b37d928823cf1d18beb9a450ca39978b32b1a5fdba9fe9930165cbf667ca5868f6e59af46a832336f13b6888f95db10302047c435bb5006830660231008fa8e62cdb29b15dcec1d7b7b9971ceb57785e19f2351b08653f37bfb8f863df5590c41111b1e56593292fc6084df6eb023100c6c1149574e8402599e36c28c073c55017d2c5ad8478dcf6c75e97ecbc0c995cc4ca8af1d6177394224e2a788fb7f9390302047c435bb500663064023043096e8af49f8eedca098bf0ece2d08e33947a46945cb9c5da78a5bc0183602cff5dc9c546ddbe5f4ef466de3053b61d02303b2fee0fd5be3d90572cc82eda7d1792cd80fda0436738a0aee511469989c9b9ef7213d2dde2ac10376cad19871800130302047c435bb500673065023100c36f8772fe04adbe4129ece84f94655799f1d35043481a2ff329d3fa2cbdd4db7ba53a28403b289bc2051f6a03dae5b30230246d20a6010cf73017da03cfb6d6af4e18be4f133cfd7062768712b654f7682e25768568351a585d90b22912c8c5bcda0302047c435bb500673065023067ebbb0d1be32b373e64e57bb1ade08678ef1cfc7e223b4686ecd4cfff49323753e7b8660a38107b4e0439455125825c0231008f8b73d4023b145f4ff49545de9730a08cd0fb39f87a98942ef66eaf88daede57cfc0061cea878f97839ce9894eb61710302047c435bb500673065023100bc7bfc0e558bb1059c9873eb2f576e53e69a58db76fc76fcda6eda00d921e656fa07766c4664436915c8da0ed87e53dc02304ceb08450fe3b033c61f56ea79ed737339081b5535e54d4cf74c71ff082c1504da6d22ae50b7b1bc3fe7adceafbfc4ff0302047c435bb500663064023018ea12f09ff94506a09e9ab37d034a30b21f674c57f72c9a74d94d5afee71ebfd9c4897c2e247dd6b40ba9f9c32a1f2702307e6e619081881114913b0d110a39eb7a230f2ca90b89d0b09e4f31848af186dec06ca7bd6b14cf620b1159a95d015cad0302047c435bb500673065023075cb3e4c92ef597813c90ca3d38d1b8d1039510d38cfcd92cee9c082836005b90570f91b8463fda1a594a87f3e2f8367023100858f932f62d2d80ac5d63999f351a15b481e2c6edacb75ded6a9d176f02730ee9bbb4b966caa51b6e98ba6df707bd09e0302047c435bb500683066023100f7271ced3e8a7ddbfb74d8a8bd5235f08a23f202e3824224d7095ffc47224c0e3fad5531dcf5b05204be4f52f137569e0231008bc3a85688786e45fbb6c4d7f7498de08ca94946ee10f21c4859f7a97c327bb96fd76d8471362e97b88b5341a7b771df0302047c435bb50067306502310099635ddaa71dbc748373f4ec765aed3f9945df414e960801d1d80cafc5cc99702b2744aec86cb13561a574738e58443a02300d70b81340f04288f4865956e505fca3bf3a873de9ca0d41299f028bbdbd6b195ddb232382aa6d267f096eb47ce876ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310090cd4b3efce12212247a13f5e0c7e684c79b9b9d6a312788583047676506df6e6683474b3dbcd6439aa9870c2901838102300896330a33938b94a58001765fa8c4097fb572af8211d4e6255058a49ac725d71098673134370a9f27555733dd7082de0302047c435bb500683066023100e64f2d31c6431eddd76a276aec0648b46a21814633d38d64c448a6b21461a53534d30ca398a17ab42b91c3eda1efca6302310087716c312070b3401dda9e9d863e9c7275bc0da5c6c98f6192830722fa792a4a948f50c018fc09d8ec977baf0d9c8c8b0302047c435bb5006630640230748539405e0fc6f569599156d494a6ba2154481d2a09c59b9219e41217ac800229a18a9a2b3c6d1c617550a940aa7ec402305f34342a841d26a9a6e6b3039b5420dded329600f41d07e24a4ae910f4d7c3473b59f9f3e3aff90e4c6d387a5ae8cfa00302047c435bb500673065023100cabd916a58370e7124cabd4fdfab34e6eff6397c949fae4ba2a6f0cbe0f1186542f7bc86b28ffa193d85cfe0a43e7cb402304d8df60869e94c6985da3fa016d26b1da711f7d5e1300e0401ccee9a092565d4399f958e85750ae9e7b6d3547bcb6e000302047c435bb500673065023100d4c2300d7732dbf519fa6e5acc812a2660663f9156e0f531cfe99490c2cb77e035cb9c2131bf1e6d6d618d8c1307a8c602301adbf73362e282a6486f7d4cccf3f28740511598bf1130a83f25f8a25ab6b00a71107166aabafa6bc34a2f295da1c6d20302047c435bb500673065023100f6b98f1adfccb977fbcf2985f8af93a9ac6341e7a1607c54a4c2ac98720ac417f849b2ff2c7d58020133d645142bd5a4023070e515a09604bbd3e8d09cef457c1b11fa600439d961c6e7d5c81b323350e836da9fe55f5273945fa5a279f072768c850302047c435bb50067306502302883c17ff396983960d1710831d5c9d049ca7f70558f97f9125a0bec20be6a69e7570c5d0cd3ab772fbb4dc6f86ac5ba023100c7ade30612bc69554982ddff06f0ea019624734ae2b69f7ebb22160c8ef15d9cbab67cf8e6e4a8256be5bcf2dec58d4e0302047c435bb5006830660231009a8e2734d50bdc40b93ab5ff3987156bf93a53dcd7650fe160a612624e8b188c0b7ce36db30000cc230f885a6b3951e50231009a46c2aa8c058e1efe628cb4d574edd9ac6ac2fb8df67a7cfd339cfdebcae9141809800384c3faee0413836ed194ee520302047c435bb500683066023100fa7fddf403be7810be79122cd21a66c55d0701cc3c490d5ab5d2fcc5715a0b3dcda0e9b1abad4d57e6a1707c4adb70b6023100f2a87e5bf4cdc7f60cc9d48dc6e85ea69a271dea6ea273deb90cbb3599f71739213894d09834c3851b69aed52549d79d0302047c435bb500673065023100d34d3989972171d4095ebdbb15413e518a75dbea06e5b823384f2ed7a38e5d74bc7cfe2a339b5ed8eeda63657fb380f6023022fea8171b3066a3f6692fc4d6c51895262537e03b79453b56d3126c890312f3296d198d3b5b3ebd8464a91bc1f267160302047c435bb500683066023100a4a237e72b0702fa5dc749b475bc4863b67c9aba73ef651b106a2a30ac269391cd7af131d60b34f8bce1cfceaf37aaeb023100b1f4cf391ef7981282f144e3a1f7f61c68a46c2247131da018676d3663201567d687915faf0d2d59ea7198eed77c89890302047c435bb500673065023100c17412b11514b2a228a038fc64ab6f22cdfb8fa6b7b0062806b269349d85bff0d92acee56ec9424625dd5ab89d325fe802307d1f4ef3f43b5dd62aa6858b9cb0e9c74d3b6e8bf42232a829fee333de42da58ff0185f2e3f33d96a91344659390f5c00302047c435bb500683066023100d79e060c5361f3a6a2853ebb9272d7cf2b1582ab90563052c3d4e931ee3a9ad7f5818e825cc306f57c427b3f8deb8583023100f9acebf1b809439f9dc201481b80951c4548446ac214409224f991286c4315a6d18a8dcd362a799601e687348716ce5f0302047c435bb50067306502300864bd23b3c925f84f370796a1199933523eea178e69df1898777e44c1fd1af8e5fa7bfd2aaabf5186f9c33200126428023100ebc052b5a92b4dcd7c2cdcec9dc5fc310afb958d136fd2507dc753d9e2b3231a4b3b4327733b2f45117a20629d3c03f60302047c435bb50067306502310083e27e831f24f2d334879aa1d9adc6351cee6b7f0f34809959a7f333dfb2bbd3ff02c7e18b730b949cd985bfe94693d5023033188b1f74aaf33bd0825faa00e1ef45037a908377e6a27e142a02d0d1e4129b2dea96f49689097b27662fd47e18f0b60302047c435bb50067306502305d00a944c2b4135daeb7ff2196c4ed50b810dd198ca0bafa2919668f16a381bf89d3f49fe471cf6200236bcb8f9f010c0231008369879bcea0bf9389f2e5e9b08088a51f1b765e97f25a64bab57a75ef3057aab2f322dd428627cb53da38c893b48c880302047c435bb500673065023100b7f71ee3d1dbaa37857e57b09ee92edb13e480b6ccd00f82f1cc78832289d86a226955e15e65d10a281caccca9301d0c023025de09903cbb96ba5d6821133b43a9cc45a5108b1a568b57ce7c6dba41bd7ac7cda0b5cd8c6d0d93636c3a8732290ef10302047c435bb500673065023100f5e7f912231b1d70f86c6164b17141cef5f62d74ee3e8dc492fe132f9e6f4fcb64b1273e83910c366726d0084983635c02307bbf24265ea06f325797eddb258f381a306b6fa81ad07a79feb5c66dab6b112b82734e1ba31cdd51981e1e5824745f050302047c435bb50067306502300e951044162f0cba8471f3c16ab2aa7e90a6b14d2354a4be0ad23c8ae94dbc945b6a94e8954de7898b8bfe95ba7e57a3023100ae72d95b47af85edc76d47410ca2beb1528195cfc59bed82d3c736ea2a18dfd244ed3e7a9f88b1bb46bf4b874ecf14d60302047c435bb500673065023100a420f93435f938861bd68be119fce4f2fc5714c17c8d6b6f9f45fe98ebca6809e239d7791ebd3a85264c2e9d66a647690230371e2df789bd5a4059a345913d4c9acc32c3b33b9a7b7549fb49b32c111d49befabbf9f04ec33ba2c52177db54cc87310302047c435bb500673065023100d7f0eaebb9ffc18c01f355a93de720b9c86e06fbe3af1836f0a35fa33547c99b6d0f73813f318a68f9167c2efb0f297e023072a44e8802aa7b59498c695fe0468b8b03245ba23b76c1d8e649b81da5e98f91ff2907ff02e73ea265c3b1afce6483f70302047c435bb50068306602310089178127290b78f2e2138173f86677db6f785ad784e0c901100414657edad6c7ea53cb45a6378044d8bbc78524082744023100fc3ea130f90892369d8862ee14c460adc9cb64b9ee35feb086828e6b15c42913e314004c3d67b010532a1df1552afb1a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100da93b35aea4927be7fea65b6e414b49b95f2c957754dac111e7860cf491dd0696c861a4d72513abdc6c88160589278bd023100a4804f89c8b72d4c36c8e0747cc9b39c15a7be631280f0728094185673a690e477df3fe49dd0b2e1ff2faab5c7495c750302047c435bb50067306502304621ab9de1b86033e545802148ef59ae1cc021063157cdb4fc10ee004b5be7f55a37d7974ea3e15646ed1dbc05501ae9023100e8b0203b8c0e775b40320c0c944fac458be6a6a05addc8cc2ee36b5ae9f7ca2e801211dc24ff3201583af3629012aadb0302047c435bb50068306602310085b6c7efeae0ce25b2c62a066ef0c6a082f54e783c1cfc98a5af7c1cada60fe6ded65924b8e430deb1149e5d3eaaf1fe023100e8a9783bf22e292bc4fa2f72b32e03a87204596e48d91c6063fbe8ff2f8e1a4ac142e7cfdc9afb0c8122b3bf49a4a95a0302047c435bb500673065023100ac0238d3d6083d368a3c1e33f67537c3f2c3e757e8844add60e1a812dbb92626f7a4d24b14f971fd548a65d1250c80a4023005082b3d3dfcc0eaa1faf10061c276169584dbc98cb8c41f38b7c97981c76b03bacd4048663ce3893d04ed33a8925bdf0302047c435bb500673065023100ed07bd2392f2e080cf385a31f8b90a74d48f115acde288cd7ffa6b893b7c464f3dd9d346e30ed02a6641f827e6ca3e3c02307cba1205989a6b2dba995fd3d84202bad262b10e84cce1b7029287e9c27e205190ed7f6dae92652dbb848b7551be1a2e0302047c435bb500673065023100d093d158cabf5268b0eb93300726a66c7d09c9c89af7e91476e25701369f85bf65b6229a7d63995521005650f7c83aab02306544d0608861da87f90cbdedd814c0879de6abc3232e9f1b14725c67057d4433d1ef1939d9cb2c5b574157bae073f3180302047c435bb500673065023100b6a26957c92707f4f40b51de097da4a3431549fbb20cc0e79183feb1f551f9379a2882fe9a7342e146ea533535d2b00c02305b9dacb0eeaa016d607728ec9d5ad483f00d75d2e7fab59bd691fb085597208b831d7848973765ae33232bdc2de66e1c0302047c435bb50066306402301a762311846c3990db8faba5d2ca47e256f1bdaeb0378c015bea72d4196ba5b8d46696d1d42c18007800de8916cadc6a0230725b9a293eb949147745bc7319723e6a269270faac98f97f6c0a10e2f8023e66e0190eb66fa293681a5529e47612c8430302047c435bb500673065023100c8f39a6299ed4e57e5dab96c2aef1aec06f4c5453a297847901ea04489676b1c6a013297783f1dbb520651b6fb0f5ada0230251f9f10f8249b554dd29f39ebac6bbf280396dd4efa791709e35916c384e5bfc762202df7e58da29ab84fac982aaedf0302047c435bb500683066023100bc2931bfe7a8592e3fc5e1ae8873dd21b50304d292d659ccc9ed1654c816a98b4a2de7f9e87e0c704fcb2a26ecfe6cd5023100c5712839b6b537a7ad1798cd86dce7fc45f9bb3a40381c8a544381308c2aba446ebd23f871995ba6876fde9da314a8d70302047c435bb500683066023100a0a886d2a3f19eaaf0a2677309227e219a962eb3d6ea580b462bdd6f22bf98188b014931f3ef6699b39f87a0009cb31c023100b49bae1a92c6ff95ee68c44ea279f1532a47aad3196ccf671dd72620d805c8d0806cf3e459204fa532ebd243ca2a261d0302047c435bb500673065023100f331dd64d53e12ea4048b12c8a63cebf142ba872059b293266e7924a1bab21381b60c8e80240b1dafd02e255a0560b2702301d0e29f1d045243b1ae53362053469e6b1c95e7715f07b212dc12c59771a657fde4844f99ba7285d24db392fe85cfd5e0302047c435bb50067306502304957216c6f913947f41a072fa1fcd4d34bce19eb89830e15b59cf74544beb82e2bb55b1f0850fbd9838b957a636a67a1023100e82564eb49d27a91f5223285855e973683a49c3333644251490cdbbca6c3651ab41c98a05de6db2f7856477e0901e0f70302047c435bb500673065023100f9d4b7ff3d428d74f433e2b1c1552d1862e1ff653d16b294c506fa1756d6a269f1215a3f87ab81f96240d27bca4b47fc02304c5a6c2d164d8c4a26b93b60c6ee40407225e5fa1f4721ba6b2446c7f499627859e0fe88803cd06ed4236011a74f21100302047c435bb500673065023037499a5187eaf853fee024c7e8bf0253bece70a654803d5835ba10161c1d0a2a36e5b9aa5e32df7f05312ae6f5e135800231008c9858894d0447c62a17185fe524c212647896d2e9ea42da85d1b9ec8b7b5ce6f684d389fb1e2a2326b22c1509a218120302047c435bb500673065023100d67695f10254479f9cfb12a0cf90e9947bc51b0f4bb3e99e2fbb79d713ce916a74d08aa687fcecf85cc79865441625200230081b37cabacd7829e03f298e8cd04eeacbe8f8d4bc29d97070e587494b7f26bfc8f05e38c7f4a610d135f50df7e96d2b0302047c435bb500683066023100f1f5bfc6e5289781c33775857f4b9ed7c5a23b6afb2af37c62c67a8af4fed0e2530b579577bf09075921939ec6653ceb0231008b81c14ca3784b9dde9d20cc8e1cd716fca3930ff18756a05441b8d60bfd920f362df6d9a01942ae1512bc73b3f9ce4b0302047c435bb500683066023100b8cddb1cc8bad8275e91197aa677eb73581f62b5177243e709242fa9bed80dc2541f3fee0d8ec5c1234dc8e26007b48c023100d41de602e765be10666139e60927ffdeb9ecc82ac6428769af9b5ea842a602085ba2892ee9ea7848b54540eaacf6c7660302047c435bb500683066023100bdd5c4e5b20939c33ece13af312448ca261d620b4018a9320a5a6cbcdacd956924d07986f3c8dd4540121495d036204f023100b199cd7ca5f21c9f76a841793071bfea782606f7e4ad296e95786e85d2339b224b74105f7a80eeb7483cb75f625691670302047c435bb50066306402300bb8518a0342e1c1db5efad18527be6b9df29e45a21c27600b514b1046d161a9b4a5645d688da4e6e7ef16ac6a7d4ee2023063a8b21149c763a5bf8e7e357f590c9bf6d7937dabc02c93adb2b1c391935c103c672bb489691e1c983ef3426d196df50302047c435bb500683066023100ed8851e3f516857f2b04f4b8e352a0ba66dfd116bb6caf34ed73279751174ed46828e9e0f3fa468b4f243c2de310f83d02310087789b17bdb0020eb7f7684249b859d299881fc7f48d468161fca5520c0af320e36417f01e838ad4dd098f9842a5c44f0302047c435bb50066306402305b70560db8a52d981fe8c4004c71a929268441cebbf8e0751c89ca3ddd612a635803ace1af769d7608888088eeede3b002307ed2bc8d69feae51b4c6b793caafb59acc82d8c5580b82f0abdc7279539e774836c53e1bca300faff684e30ca141bab80302047c435bb500673065023100a75ee11ebf1ad5ad5925fcfdcd0d1af36af14be3cd13d26b7cbd3a83e679d81d7e58bd75375b2e11761b45cf44fb031e0230690a3ad9117bb094b5a29a3029fc1ae2fdf224b6c9741af83d8abb9c407687bd105a5b51a94df1f886ea1423f0e8c0950302047c435bb5006730650230024775720e2578919c4a149cd49f14541e399ffa41f0754583daddf60e5b683f6fcfb717bac2b6477d39a1a0dbe18ed3023100ab1d1d75a40e873b56c3294c3bf819f613fb4a7fe412fa29220d6cdc7a0c6d00be173fc620e93c4f5af8a65bbf50d7340302047c435bb50067306502302c7b8723f5a330e6ed2327966f3ce79c0b8d20682311d8b5b6e01104de9d3fcd22ef1c695d696402c201c31d903f0eee023100d678f69fe1d405bddd17cd4ad72b7c55bb4779d295e84e3983d86c270d53cf0ccf3214b9b17f11e5d7aa3296e419c1110302047c435bb50067306502304a72888f5529d1fde6b1854017dc18620265ec50f8f387b55e4b40cac0e4a11a3875d76da92c6793afa380b64b0d340e023100d63d0c78bd6e1bb8b7f529d015c9e8b119c2355d9af1a79639b610cf2f16cbd4c9ef1d8ae14759e66ec58b1e115e2a020302047c435bb500673065023003534f0b8c641d76b842b5a7385b593aad2c12d812a2da77b201c8d2dd49baa1f7a2de29ec3f9a521ae15e89814e3b72023100a6168db1379a3af08fbd4f01158524da6d4f3a4361341c4dbbb4afd6655e2b68d71c7f32dca853c0ed431bcfeb68663b0302047c435bb500673065023039e2563ab82d482f75fde410c7ec6b85644412a7ec10efbdeb6104a0dcad3775756aae43175a4c39dc1f91650ce44744023100bf8e883a20b9c13976c79eeed0e584f82e97daf470468436047531f2d4de6646a72e9849e9ca198ef33744186eeb13040302047c435bb5006730650230244ac214e252861bf3a265a17cadc00b5d797a4a19200c8f827f8f3b4676e844c3869162c480e1d3ad2e887042ea0050023100e0e1473d44d99a22b2c9f8b936facb97d5d7c1e7f34901202a94d78c65e9d61c6ac1cfd1490bace039384d81a7de67450302047c435bb500683066023100ad332db53873d07b0646e672c78f78fa8c654093042d1dd7244900a9f86015156e3dfffd368ec624b29ff682c1de20f1023100f1a4d063f81290dc74eb2b9f4bc17ea0ab22996a73f18699821ed75ee24bcb2762708a1af4445c3f860f1de38215d5b20302047c435bb500673065023100d65ef7ba0c1fac0e92d2d4188571dc4ab8cd34886a46b802a2415357f4192ab288cc057e31342e50088951466f95305f02305becd4370f65dc5c8ea35a959ca72470c9a3974c5a6bfa9ee8732850a57f5b9e9f0f3ed4b2df196c69c08cef1a3421a70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310086ef35cb602b1705496b749e87c58d5bf1362b298090dd5146e1ef8cfa3de1205169c463aae998451aa66bae8f252e3b02304bf73e7e382fa1c8b0281ec27c7a3cee9e81860036fa5df2fb330facecf36ea6e6a63dd648b54d15101ee9c7f2a579080302047c435bb500673065023100e1cb1439933370f4df068476571e19320c3aa81f428e1a2d4943158bc6e1979fe8b7c446b15fedcc0a93962f9c31c17602303daf7d01d9f2cae796963c561526b1266a226603a501c30903d0d29fbe4bbb3eab0986d03d93915976afa34ad540d1550302047c435bb50068306602310090c75ea746068448a6b2612423effd6204c4428b9a8b8a6c7fa55a056c17eb8cfeedf9e05819da02a417736babdffd070231009f03642207e65acaf8f99635bba6770f05af0dc39801144be684d05e414fda9e5b22abb354111d5cc21669fd4c5714110302047c435bb500683066023100f022a0a4a55b24988dd77fdd220417368e294d47cba21d9b4bdd888874a34b963bfd7cc0e0634fbd208e378f20844ea2023100eebf664c0ce935570f5e92efa3e2c12c218cef7ec2c494469a54eba1a44cf6ecb5c471796cd09fba560d6e10e16dee820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230039a340d66b234bf2995d8027e8a3277b6853fe5ab397b2fdb3b1ac0294c883c36f52fb39e78dc37d5517d9006b7cbdf023100e89fabd4cd546760a4986f328f878504707176f4fedc2d404f7ef00f829bd91353fe612b7374eb798727a54eb65fedb50302047c435bb50067306502303883838da865c6f9c80b83b86d391594e5d95ed1bf2af9a71b723aa10b822f0723380d24346691cb388b210f8fed9fdd023100f1c57e2c9028055f1f35d41989edff0d63621d5a10de5c294ca70cbcca8d55b6156796e3a863287a1a5d91ac65af77ab0302047c435bb500683066023100fc8dbe6d5a264d7da59adf4caaca863e90ec84e67282d34040f016a1347fb5a367cd83875a0180b5536de5bde2a199d8023100c881bdf921a7e19913f0b56392e6c511d1b0e28f716f50dd2bc20df74a9d754f8825b07a104b30bb2cc0f9f71d8416b60302047c435bb500683066023100994b93473b9660b6015c67e240c022c5c054f2da759585102477a75580db9d80689f5733a28543cb596fbf3412c84ff2023100be9c4b95c2059a4391b749e17fc1c0cf54bfe743c9ca785291028ad22097de3f8f5251f20ec9f7717f0e8426b12d030f0302047c435bb500663064023046063db98370fffef3c7ae86f5753362801dbfb1cb695a728c2036b91f73bd228e1ea61ba3c6bdc2f0fe4c6797431cf6023062beae64cc337ed27d9f1d5cad265cf4efcff581d45874eb33430a6959dbe0c6f90100b1741f4fed1348ec82e7bcfb660302047c435bb500683066023100da0cb8a6c3351b6e04617ad53ec987d2509f8cf8275914ae97d24c9055c09960154f1c0196309e34ea06cf7c6f6de6de023100aa9cc72d4f6e7523c985f4bb235cf9a6b5a2e744f1800a823c6ea3038bd972151addbec2683c266faf3bc08be44c61fc0302047c435bb500673065023030799f5a04450a4bdb2b875a1ec8aea8a5edeefdcf48373d909450548d300a59c371436437005d69a2f38c3fe1cc4fef023100ac39a0b4768baf9bb3de68b77dc05ba115102feeb4e13220feab0d1f6bf4e38b9292c77e6b6c860d750c57ae5ee89b910302047c435bb500683066023100c9d0e03095ae42daa06e1f9e3efb431f60626d7efde27b80bedda9f0687cd4facdab3e9cc5c7fd3c361d04b9705b4441023100ad51d26b234132c06aa3686a564e89fbcbec338f5a8fea14b650e5261b64717f38eaa19ad2cc642411d11670e97c1dd40302047c435bb500673065023100e28d5fb00c522c07998109e912b968a18d56837b9a74ece6d617673a3f0f1642f1cdf647df474b3b64766df77ac5af9a02302b9dc6ceda3c813c15199476e08e571bbbfbcba922df5ab44c404bd0052252160112151d5857cde7c8d3e9f3342d48030302047c435bb50066306402306b83d167ae94a99e06fcd34ad3924ba683ef828775e81ce6d3b0e0f7e1e333de8d82af9a73560f0633594c92500cedcd02306e1acb500b49bb1675809b5a47658c22050d0d28ad2f9c1245171d4f3a306242be11e023239966e9d87857cc4f97015e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230631f632e5b579c8cd19b84433ddde9d83aca2c6b0d0bbc0bea72ab73bea6c82a1efb9d73a2c3db8643e306605db3198002310089756497aea56f323ca724dab18c4455f9840d889b8fbf3c7b0fbe5f53963cc6c12a58fe6e970131174028d0f1fa4c020302047c435bb50067306502302a5b7172a1ad197028c8ec799f16c01ba7ecffbb8facac7aa559c6417a7b48822e16c9dbe606b4a002f66170848e6572023100c0870486dae6218fac770dd560fa3d5b7606f00d36058a2a459b7a6a8a88c7faac3b3a2c1753fb677344e52b587ca5bf0302047c435bb50068306602310099de39dcac4751687028a10352d31905fc825dc50cb0a1a815b3284d4c88ff6186db30bf57d68c7410558eec29429c0a023100a49584aa1ef58282f141c66cb3be9902ebb422dd6933ec154655809dd2cfb4adad4c58c2c0f0ed74a376d8593a248bce0302047c435bb50067306502307a75f1b962c22229b268e599167b820b55560c472fc0cb166d928d946ba3232dbfc908865ccbb71758bd247bf1428214023100c3e76638fbfc4c8468266ef3bba0a31292b7adfd997375fcbc9167a207a189a7ec041c555f924158af1e16c50f6f027b0302047c435bb50067306502304b40894168a36191fed19c2c23d597bd553991404520cf4e4649d85d0bbee271fc788e65fb05d776afd85cbe0a02965a023100dc270cea03cc4d0c5fd8a143f45fb6153c3f8e4b46cd40eae28d8c2f9dd098671836ebc9d659fb826959a91603a92da20302047c435bb50067306502303bbe29b756f82b4cbd74c410435f38cf4eb9f16178abc60fede147b4917dc7b32b92639e5a1f2e945927b1b6b16dd549023100d706c95e4ec3c77f9aa5657a81695296980d0fb42533d4dc873a32137a45544a00e89adef44cb35dd11ea3bf093f1e4c0302047c435bb50067306502305e66d4459a8ed455e308c06fcc1afb292b047e5f2eb776c24e6391891de0b9c58015bf243974612a9c455aae1daa222f023100edff4267af18f38b58c46211c0fe36701f8721bed3f1d8ca5cd814b4ce3af74aaddb776a1b714917886c083c8aaddcf00302047c435bb50067306502310092666099ce6e2b2f09185f2da8008a54b296b332f69e1be368e4fcc539f6970bf9c12c53dfa07ce56c716f56f508d1e4023033f1950055731b2a31844c66b3719a0308c32af57facab7d8d15d69e355eda390e1308c77c70a6aa810eb0956dba3e070302047c435bb500683066023100fb55176d444c8b09fe8577c3180d51a6eeac4cf29f319ee3d2c4f667b48a343a0155421b205990721f9ba118d268d8b5023100d1fd7a9bd814349091ad52473da35a89f59b00e6abe521173543cc0ebce546e2caf39eb3ec45d10453f45bcffb8e68c90302047c435bb500673065023011faa381cd380b0d33afd20f290ddaf72a1451a9ec69084afc0fafb4199a571cd11474d1b134065026b362c7a36efb120231009a5c25f507e7485d712f5c30ebaf3cc3dfc5b518d65d0a6ff3f52c4c30fbcf79aad70b445a5ca2921832a5a6939e0bfc0302047c435bb5006630640230142d3d128b960ec52aca6d579d35a8603e81bb4edd21842590ec354fb3f02ceb67a80b023fe5ecb18a98a693e4c5e4cc023068cb347c86f4cfac2ae070f1524b3ad5b63fbb9efc7e0ea3fe5862c9c170987f0e3c0ecbe4438afbe48a56c4ed39f4340302047c435bb50066306402303f2d8c203d74b30ecc9117bee58c0e2b35953e0e09f5649bff8f11d20c104653e3f2b0b3d75d35aaf9265567a2ebcfe502306a63eedc5664125a44cb82d76f71f4d7fe8528e68e5b37297cf43ec7ebe9bdbb236a13f5738586a5a152773fc55084e90302047c435bb500683066023100db22c0cb382c4bc15e95b22728ea92e37907abcfc6c8a2da914e8f8f90a1b63929b96934cfde2c6b15746e95ac1af0b8023100ee9e1dc0c378525363c04d76d00ca93139ebbb045fafb53ea3ea001283660dde7e7d68a076ae6c3a2797a84ce6d6f12b0302047c435bb500683066023100c4bc2ebfa3f268a1c32553ea7e474c7f2197ab47d6a85c1cf3ed8055e461678ff00aeacf17744a8c09f9b87476c0a622023100b007b52a790521c1432fd4ae2ac42836b794d6900160e30d009be72cf53e30106df969ab14239533ac204ffecd1ff0fd0302047c435bb500673065023058db9ff895b34ee77e9f6ee10d4fff3b831597155512f7c47d895d4fb652ac3346e216b48fbd44cc2f179c7eb430f566023100e04179c4892d2d56ca1665b94b9ce6bab4f6f7ab260625a7a61e089b54184810f28d9389ed9a359c6f5bd0b43c79dfc70302047c435bb50068306602310088a3ce539146a5f8e4b6fa215375080e28fa09e4d2d7f428aa6b52da99880a3dcbdfaae898c74f300bf263419d8cfeef023100b1860f854c2c4a193a93fc362cb92c04888cad6701e89ae9bfdb2a680137be5f13df62110043bb9c54d2cb83ae3e07470302047c435bb50067306502307ef8d5729292bd24cbf6efb769f9ce0569257ccbdab221b90a272ece472ff2b0b883f8600fc2a8fcf2dc7f41e9d7d4ad023100ab47f03d6e8dfd1c3091736dfc385684c9e0521e10c9445c8cd56e880648dbbc97b37107476741cb885dd815b7d905c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300de3937a6b9b750e82d5737877a7cc5d48e2fecd5c2e53cc3ba241913d5850ff862e28dab43c499bdc8fbea05c96b422023100ee5aef77963a8552509de04619595f0381ffc421cb27dbc52da1c6351ba69ae94740f6a0c2db726a8fa0dad810bf3d2c0302047c435bb50066306402307092893d41364298c32a35c0c7a28396e8e9ac23738d5a7c0787e18b3bc1fdaeaaed60ac62af1c0379dfc8e5c27d2be202303ed3befb67cf97cbef9f1a6d4aab4320f25bcca9fb80f5c7c1833ad9676dc99c4812c9c2283cf4aad1e1c1de7be97d910302047c435bb50066306402303d760edac92ad3e1ac564bc913b8927b8a6a13efd3f97db2408c397ed3ba2ef9d2c4a11e4860f501c4e130526049ebd1023041e867a3a8b042f413b0e545b12ee612882c5687bd211b77f44b36f62fa127fe0739d2a2ddce26b6f949607f5f6c64210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307cc8c55edc2b6f7080f492aa49be882e36b0731e68e073df4853c59bf8117886f066ee8d4403347f0817f2bdc3108244023100f37898638874346008e95b892b0c0129315e11ee97076410ffc1546091de1a5ecfe5d4d97f960a24960db4d991c77b0c0302047c435bb5006730650230158fb3ea97514841518fd794542339ef273c804d876de55a97e30ae188b44586317a84905e9acc292523eea407b0f91d023100cdb67ee56323c1425abdbf1a2f7e2e744f25a09cd8caa9293c8ed25656459f5777affc8e2d46235ce4dcd1b1bed775f50302047c435bb500683066023100f051a06a20902ef676ad898d624708146df3bf8e9857c7b9e358f5572fac46f5ee389fa40b2c1e2582aba4d0bd0349430231008bca6a03032bcf651f3e3d36c63c1618de43cba8dc7998ab3fa0d5a8091cd739fecd86e2b4597e32e78bb163db9dbcb90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023054a9f8f611e8c6caf551b8fcba8a68925af27b63c20567ec1813f5bb1fdb920851a114397e9b5847fcdc7c07d13df92a023100a101da65962b53791ac95de31dda80b6d60dbc7dd5344a7ca9bb9602d2f2aa3502615b7638694c920b35b2d5bcc030950302047c435bb500683066023100dba2da5acd3544b0669f97079737ebbcd9849843f20a3b34f330b07d6306aa58466400d8f30eaceee20420f86d7a59d5023100d640903720006e346dc9cafa4aca552867f7851e5d34a077333054f7f6f3a9fc00af2dce8ab1de32c058532a63b75be10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304fe950edd3a1b3556f49418284a20965cce02ab67dd67b3325a568f90ea04d4fcf88f2901f2202aff1c59cef3c45ccb302302865d111e4d8c49331cd326d3f8c16b1cbe48c94da5ddad3bed4983d7ea54a525aa0ab47bd4bd5579d61f52f381935660302047c435bb500673065023023e6d8d8d3f216febbd51c8d875715dc55a193eefc474c867c503c5d841c06f208a0e1d126a041a758f7d2cfbf7c7fae023100e3cdb0fb9629a7e6cd19546cbceeb1ae51997bd82faf76ce33ad61cf0d3330c77cc18a5a69b8f2d6534a80aba3a918530302047c435bb500673065023100d155d5c1d4a1d1d378f61deeeea6ba46a681e8fc8d1856ebd5f3af21e83a22241c17f75c211d256448c43ffe725cf72502303e42f2718144e475808ea07c7ccc616053d78748ba9e089e8881dffef3a71580c9d26b09f64bb9f0e7be79889d1908510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cbe7332850ac30520bbb5fd1b20f0ccfb4568286c5aedd1ac10bebd91d889508ea3f1a92f39d665ad4437eebbc0cd463023100bb4ba4760601dfe6e0697a2ee34681ac36503405bed960dd08c1a22d5dd0015c2cb466aa587b94c1f056737edfae3e3c0302047c435bb5006730650230746b5783cc2bd60329220c21aba4cc001b75408351e4c7ab8b18fa8a648a101544a7e3fd1030fe10e6b30e7377aabf3b023100e4d414683674d2f02f1bb0584bf2ee7c98e2630c5e10779bce9b7ce8b7e593f7d64a02098a91981de963ecad9171bd130302047c435bb500663064023028b28b52be27f44cda08075e47f450099a0a81f8d489e9a78c933f0e46579709a276bfcbe37c682adef0169e1d47a2c2023072e420707310a2521729240bda8ece0a4cd0d89c838d40b89f53c76d9c23366299eae01b76d47b21d72d0db6efd0ee4b0302047c435bb500673065023100fb117f8f30ac7c469327b68e6ce91f875c63e1f3a10c19d133256d323a0d12fd6d42159a507a2002e0d9bf1211223adb02300116d9910dd669d0a230e9a4a35dc4e06cdcba09384bd7e4fe66dfef839954b54592bc5a280b77a66cf801ce541882fd0302047c435bb500683066023100d7361872ab937e1909c3b67bfb98dfc5afe8a979ef571bdc5550471c5c8f59ee1b65f27c202890643fadd96ddacb147a023100e54e9cb3f6c7675843ff8acdad146f64b781ea9aad78f41977a37a10f8be4a829741a42da8da97db27ec63807235af0b0302047c435bb500673065023100d74e7ffcacba84fb53975f3a6dfca2f5fb3733f2a73e38253e2a912b89925095bc71ef9266806d73e08f14c87921a2ea02301e7e35790d7e234cb614e4208b2ea0f8f353c81608cacc47911f93457460ca180920aa1e607b235bd94e72efd8cc30bc0302047c435bb500683066023100afc575b563ddd9863330578442bc9621ea6a646ba3b9ee7db75e4679d9d59d808c33c54eb4a679cdfe95c57dea28a6c7023100fe6a10d22652c46ebf97a5428f8e9ebd9dff8aac6c53e7c7b63c6493e2812b8339ac60cd45fb7657c9d51758df0f6b490302047c435bb500673065023100ec486a33da4b02a18c0014ac226dcc81c2a730a9721975ed670d0132bea0642daaafc4d014ad24b489fb7a5d12c5d606023007be299abc88733da4eb4f441daf2846757bc6ce8ef61ac7544ab87cd07731c52655677b4635bac7f6e4b2f38079920f0302047c435bb500663064023071e646dd0d094f2bda79a4209f7da1dd86cd7f030391a62a2086569f0e6ab97890461e027de6413762c6dc960885d25f023007a9028845c2de367fa3ff012b29972acde6099bc4686a8c75d1623f34a56db051b35ec3953ecc4543f08f21f154b8a80302047c435bb500683066023100b320b43469e8cbf306b05db85c9bcf666d51fe95fa06aa4175979ea9507489e61fc3aabb596a53a7e74b46be92410d64023100e463d29cc346e8bc1044b5a17ca52da0a50eb4581f271de51a3455363467df193e2879da5a8189787da5ee3a705bcf600302047c435bb5006730650230792b9f6b3d4ab1d24dbaa6b1726be2440916c1a55b7191a9a2d1798630d8be76f7831d6fc4dfd93bc2d78029541227c20231008c00576b1a7851015749dbcc4f5507d5fc7a21487ff2537562b775f27b845f33304a0551e74fc3b3cabbcfddf68ca2e80302047c435bb5006730650231009889d17697802d770b7ccad29c1654856c7945aeeb2762e96b5472bea660f7d06a48c21a2b0c57e05fe702a8be64408e023074ec50a20f531a63536f00895b83a5cef33f0784e8ed2aa63382ec072e5cb075efde7c6da496b11e097673100d5e2e240302047c435bb500663064023002a1490f0a8719a9952115195d92c6bbc4efc257c184a6c4a163f4851bf2d85a41009c7840a06e5fb4f3451eb208423a023010b16f8b7901007c33f39cd14834bc0d3995566d028c57c8beefe1951a925a680a108e7f90b779499957d991179921410302047c435bb50066306402300c24c53aa0d168c832b5ec0fd38a4e9726ae46a4fb99e8304397e67b94c62ee1624c58c2d4f4316270ced3111b4116c4023073d65fc204612ec86f395e3c4725954a84e502881c6274dba43daf96c0d46707dc111528c5442bad8916d62f28430b740302047c435bb500683066023100ee384d6b641e478404db91792442fc980ea98e5f48047450eb97d4a12c8b02e1b32e6abbcdebee9b592e222c49149b00023100aebbaf19859b08eb6bb53f8b1090df059505c0f1a4a99485b50617b170008ad929c88bcb8d00ea8fd11c018343c8fec50302047c435bb500683066023100b3058713080929f05af7f98098ce31fe06675356cbf01071864dad23f8a6bbc0682660809690475f73ec999c4093dd47023100db10da63f8437edca248ea530723bc4cd8a18e77630dd44de996dd06eb107a64022291fa643a3c396e9f8cedae7034be0302047c435bb500673065023100810aa1d740664e2c0716741f354c53f67d3192f926b7f0444210f19808c7a8d468c0b71ea3076fcb380f796161e88cb002303ff403eb51c6d47580dfc07d366bd1d65c808c54fab56325e226b2c6176938aacaeb7c57499f42aa534253d27ce07b5f0302047c435bb50068306602310094e0a532194d6363511052b56738d75ba26ac33f1899710eabf75029c810d9d3ff4707b0b6dfea29f7ea0a27ddde07ab023100d6550ae0e6cc02fc19614ba96c870b770f31b8356390c290d4d1ea13797720cdf4e9dbc091817bf38f4c00effc5407480302047c435bb50066306402306f1263196e3de1d75fde72c2b416909f822c1b3921cac0e2ecb020fe577fcd4fd3175ff98710900d1a1722eb6c4c770b02305cd9b6073ba2acec464e953affa7e3f9cdc4b99442be252ba9ad912b18f03d1b6eaf4595333868b55367ad57705a82550302047c435bb500663064023060a21dec097e90e29a1813e27d1123acd33994be1e95f1493bd1ee98171f5b107476262f6184f3df06268c1fea241e84023070e936dd69c49177c1cd4f81e964969607534f62c999037792167f060c5244bb759417ed390a71a832d0ac837857edc70302047c435bb5006630640230554d46f9793ccfdf8224b3a37006da81ba7a8a8814243e574df1dda14018e063a525ae5972a8b09e75acc10c17f6a5fa023043021c03da847848c287368516458c9c08c16deb3753db8b0be298d09d5b888daae4b6fd476533b94b16ae0c0e31858e0302047c435bb50067306502307d3dee11c08726b2b6e323d6cf208a949b17bab1b649ec4ef87daa572822fceeb24123bb9f856b309f291b49c04e6668023100c2545420880b6bac00438e871e46e1cf5644074734bc0b7f19cb54e5522d8b8bf9143af0ea0b366c29c8f81b23aab7d00302047c435bb5006730650230197b552939fdc0fdc32bd8ac78d91e4fa2f50ed842c509651d0fe7adbd4dd74f4a250d407829acf5efa597f6ee79f24e023100eaeac35ebbd91d6ddc480efabfeca4c6fa9cad1f5bae503eccc075c87d3e5cf2c53315616dcc005afee042f05ca043410302047c435bb5006830660231008df11098a7aff131942367b2303b011af5becf4a346b91cbcec37966fc1c012a923b609dc07ad4a4ce301d5405598a7d023100a77c8154da9adf2537b1894f1c7e5f56b6a3c0a1bd3f2a8954018c80c6a84e5269dda264e76d61b837c42f52e22cecab0302047c435bb500683066023100f57c6df18b70c165af8029a63dd0bbc6208ecb5d6ac17945f0a3aca47bd14625db5e4799e2ea7f913646ec86bbd52f3b023100d97ee12f435b867dc1efaf442b0c30f538b79ed331231268d18904b2f6820c8946ebf54a5f4641380d4d003b9af798c90302047c435bb5006630640230070b452ddcb4aa71e56899b75e124bf4cc862c0f2d9b809cd1eb7ce3337189683722697d6ff6d29c43d367fdb761f169023045de50cdbfa66f018a6c7214ebd7c85a1539034316d82a2b528dc90a21ffd38e8e6e54a294a5c8ae7ef8ad29247e0adf0302047c435bb50066306402306c077ae990a17a1628b875b7c9eb6d393a3f4581bdce89673855cee39c6775398fec94159d41c483d4dd4c25cf5a5ff90230619763c0d1725b6232375fa3f207e4fc9ff5376bcd44d9dca99f74dc1716fa4417cfcf61fd7daeaed20c294748e2350f0302047c435bb500683066023100e7ec62d497d9caaaaa081fffa08fad8c9148769da3e38472a927a1d4c7433ad99758e171f39e6f02b7c28b83cfd1fa9d023100bbf126b93df3e2fd9b24af00852e5ec5ff011ffc4566a33023a83a512ed2bc168c0db1c0ec225582248b74d9decc43790302047c435bb50066306402305e08206be2d4da7c9d38c26ce73785bc9ef0f4d57d4c246b669019e9e2c5b8e174eacdd187f03e1ed35526f01cc8a57102300633de9ce1350a8919369fdf08961822225610e1da29d94597f45bc8a9926d0bf0a4f8524f55f0ce932f7889e56d17b50302047c435bb500673065023100cf90423e629cd21098487f702db1f062903cb141462807d27bf48b8e6dfd772414925b1130e9a824cc9d9326b9217228023055fbc72c592c79a638c341e6da198d87c054263e83dfa5b4f2433cae2fcb236f6a859a669418f5d346a1d75976b92ef70302047c435bb500683066023100bdc26be316d9ca0bfb303f6aaa0b06ffd03049385e760b8290217e5da64e5ad4a9ffcb164d00b5d83fb53d70a45d8ac6023100f14916b528a8b402557b766579167e6cd304a32e7aa01131ebae643e2e012a36446324332a658de2616e321310ddd3ac0302047c435bb500683066023100d851a620e07478583d48acc545377a2e993271fde21e785bd113e98372a95dbda6da19d4123b5ee8f48fe4fc399bac6e023100fe3c1f9b80646e3ce04dc7cc24f760f889c98b1021f2461250f75b2c92fa07b759ea865651a32f40587c7aadd0d970780302047c435bb50067306502305c3b8961c443ff716ca0345a084e32058cec33bb577b85660e74d5c1a992425c700f708d59702b1c59da7381918a9c21023100e101c896679b9bb2ac224fb9269baacf4ee14d98664fda24602cc6890662edce9faf4067a182903250e4e31a5370b8440302047c435bb500673065023100a71f8fcebe0cb251fc1db60996490b4038ba65f76efadf91be516dc30803d7e6cc60e9662f074bdb0c46fc7477d3e93602304a6f1f92ca0b63bfa6e2a4fb1b8038c9954d51c7c3cd740898ca8577e387079aba527b7e499ab92de4c6cb36a91deb560302047c435bb50067306502304891e6222315bc8140dc4b5968e0be3f4475b1dbc90a9a34a83ead5c49694728fb2bddaa185bb07e219bd623b752033802310092dae6815c8479f7d848b4a9229e69426ad69454ee71e3f82ae7b5b1d16b549e482c922f4a49f78429a4f9695aae06710302047c435bb50066306402304e9cd5e923207a1b076c921f51042f34635bcca761794ceb340a20edce3c7d37d1b84a6e3e982e9316e1c4fe186e528b023002b978f3c47b53d639c0282e9fcf86fab91f882fdaa373b82253c7beb51bb3d7d126a013d1d43240805475c7089ab3600302047c435bb5006830660231009f5a4bd877a0521c8a49c8ebe698337a39e3a68ea2e49fb1ce1976d9b02100ca0282b1281d1a08e8a7a841e8f9a450b9023100e80bf342f006693af03e97c64cc4c13613bbd0346c0a2d4cba3b3887f636f81b0ceea1f29a3da1ec0f4eb73c22615c4e0302047c435bb50067306502310088c2de21ac1f1968ff1d09fcb600adce668ad0253f978f0b8b7b287c99d60b2c87bb8ea7e232d63c114d1d28febc513902303746da8781da253779df30a92c03dfd48479f4e218cb5b4860c2a527917724027d4150b8ef60661dc6184ebf017002230302047c435bb500683066023100b7091da6715492a1722ba5cd67bb457281073c68a3d89f0cc0f8d939c8140a8c25af0acc2d29f16c6a7ca49cfa26b3eb023100e6a6384e5ba95bbbea07eeb1d72d5471ab58a83d935b8ada81b68de1f0bf2431167cfce4eca3082b5cc7a285af56a0470302047c435bb50066306402306cc32ff1556ac0e45fcd70cedf0f0fe4f1feaa281917bbae1b4d7a530c69b87fdd52dafedf94902e610e706cfa6189a9023047120e4992d87298c9ebeb2dac653ac9b77699eae2154c90db6bb4e161cbca3b6df54ceb0b6e8ee2ffc0b962b8313df30302047c435bb500683066023100f7cfaa428667e7be2eea0df997afafb28643e7ce9354ade34b11a532bec57cf2ff1fd82320a275bf450c03cb6e4cbb2a023100ffc316a05aeed38ea09924f650b964cce5b99eed715347a788e4ae36a005a9c7696a30bb75dbc8c0ed05c2469cdbe4a10302047c435bb500683066023100efd16bdd96d5c016fd3acdb367cb2d9dd16b339cc23557209e4e9d8f71d03e8e03147f659283fabde8ad00424396a7d7023100e9ad47d6a18e5e392e031dc37abd23b4f383312de78c81c72775fb7a32f72e0849379c7c8d6d5bd0383f291fb2dbbc650302047c435bb5006630640230305ee7b21287eab5d18d20361433e13adc7f1881fc9c03a207e7eb53321b80d4b76099e35c6eba104de899c373ca209c02307cc3744c089b41871a89f150987e297f4f87347ef62106baa483640bafd54cca02ca658d4c7c7a07e235d81d21e13de00302047c435bb5006630640230156220e17f0b6b81bb2440e786353181ac52a14fc9be097eea6115a5538988a460aa65dd6da9136f9cf5c8bdd061a0a50230312be7afe068d49c6bb929f6722ffd4ed42c3bf28e5e9996ec943484ae66a1cae39e3f2f2672359cb8e406da558a5eec0302047c435bb50067306502305c6b15f3035399f47c05fd9d094255cd5d9c962b02d6dc549fd36646d00a50978043af1b5c7cd274275595d6b3ff10e3023100cf9ce91114a9bad2287d52fcbd9445169fb36695d6ef19de77866779bd3c81184a6e8f8553aea218223fa74e336c3f730302047c435bb500673065023100b710a49a08f00f0d1117b754bff9d869042374add3f335a21dde4be8a2ded75f6e1a2166202c5b5c3e818da00c2b52c002307123713ec7ddfa331eb121f7531a685a1813a08dd0d529923bb054c2a024af2807381ec3aed7c1ac7f0c63b94e52ef730302047c435bb50067306502310082da178d591b62350d75a74e0c2c374355c52a55bda471781fa5e49bcff7a17fd8fb45b2d019b529429415aee939e6ab02307c5dd8eeabcbc4364cc4345f00e5192db4155f71a7ef4e0a56a18c4b67e697faa49a063689cfbd39fe3ba355c8adad780302047c435bb500683066023100f0e7d54646ffbae04d193f9db8aa27d1f2a70dd507c8c44b0ccb288e2cebe1ecf94203382740e7d58dabfe7ad6a596b10231008b0196fe3ae91a3fe52f5eebefe44190e725dee7515fae2322b493063c6d06b9aa7441d4b17917de4c979394f241f17c0302047c435bb50066306402301068323a540880d0b0b1db1ef2b9f52e9257dbe9d680ddc82cef52ebf21258d228b811c4df21c8b96d951708d60910590230149bda88a8bb3d7823db284d1e3d7f34c4de703895fb9398772dc78801f7afdb187ae37a8cfb22f106621680a4a123060302047c435bb50066306402303aa229bbd5125e969783e85ce1a7e589eef2c48616171f131139781d267b67130dfa4cfb721e92ffa842772c26228bd802300d4d678a1efbfad618e35eb6f13e4496a51e60933012a8feedbd376770e645ceee2b9971cd4643c23f6c5eb80073f8ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023075811e9ad55d7af8c7fe0d8c360a6335359b715a6cd2e86e528b81e8d992b383d7ae9d7889add0f239233d3dacffea1702303bd0add8efe75bb77361265c0ad085e598f050f66322dc7fc480287a2ffe0e041c3dae3b8ccae7258a649f34f11eee660302047c435bb500673065023100aa62ea240f1bc0858cf5683d26ffbb8efd988156e58283e619de8e71a1013386d69b7576fb1e63cad56ce7222dbbaae502300a04be3adb2ae617b6d7818174a04f66f005031a1f5966a50d1f8c5f630679bf7050c7e9efe1f11ce798d8a9db7d446c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230561142f66d51156ef48c8aefcdc167b54273759e60314201383e099725b4845c646ee00662c8c67695267e7af7ccb5a1023100e5a5f6fc223789c1990a943103596806ac4c816c34452176984fdff4e755f7f04db148efb42703273578ea6b510b90ae0302047c435bb500683066023100be9d35627c3cd0010dcf5de431f914da4f74e085ee4e59a66ca25bdaade073076e2d044e7253b0a3a3d869205d931be102310081571f43984b865d859373ef53733436f38d0fcacfa21a3044e7fe0c19932546a74abb700c4cb8ce4cf61ed3efd0c84f0302047c435bb5006630640230778fdad778935b81bef053aa4ebc86eac721f45f301fce6435ff6dce2373682dc5b63b9fb25652d727fb574044bf6eb70230096b9d3a2d114f3cd590f43bfbb39cd1522a393d989964e800cd9f47586b45db129eb5b00d9e00628bce18a575ea00c80302047c435bb50067306502304d79567d284e04fe45840cfd50d1e4290c986b5b313f49e5229e9232d87afbfd78e7cae50374c688ecf9ba31dd0dac4a023100ce363db216cb8509c8e7ba6571b6e9d415ab2f5e10db710d4c8cee9bdb4f2e34e8fa8436a6cfb114235b864ae1d435fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301ddebe24546cacc80a18084a612addc2fd78efbbc76c0984aa4aa4b5452b0b506b8db796c344e091d535060b3aee30b6023100a7305215d638d11d1b6dc99471aad68ef4d09033c79a2c39352c33965eb6041244a697e144ef1470ed173ea35aaa08230302047c435bb5006730650231008c2bc73b3acf7edfed58e354c939c9a6305d3a041138fe2f7de871358f927bf761b77051f76bf134fda3411ffce6e784023037c1f0bfc3360353f1ce871ff3a97a3d3f502f4a60899f173bcaa03d2099916ae99ed27d8773abcf30f642dff27120820302047c435bb500683066023100aa4fdf8bd1906dd4c4cc6b1efbe40502290797e7cbdf3e91795748a04ffde7b701a81e424b68e862cda2afbd8213911b023100b8419fb2f826743d4c3aed9b2bc66253e8a76f71e43f8e73333c67b96bd6fa2848a4bfc313b77b6c2d378519a8aaaf3a0302047c435bb5006630640230522bf5f8dea93be16d05f84bb7d4c20b95ea814e354597f47e55f204622d96d2bc125f567316852d104eca16ace88d4102301a77c02af3507db5b34ef0ed1d9574d252ccd05f6c9fad27c1a6a606daf592a399aa0dda0c76c466c031fef2683bea4d0302047c435bb50067306502310088c1572ef047aec56d46c9c93d02ad7249147c6a119b77dfc24c85bcdece9f030a195c03b6ac8b2ab8a95dfb66c37ef9023043d104cdb493160fc88ec5cde601f692231d993c19cb37cba9738032c84dcde51af750f7aec95e1ffa6b25d26a0e7df10302047c435bb50066306402306042d376285e2adb0e0ce2ee3c6fd998a91f2f5d9bd9fdb851e82f473e607ac84c005c53271d0e7a677117d5cddac41902303620558d162b9a4a2f83a9db0191785c2d5d993a30fbf0991189f211fa4679aa538f5ec0a8ee93a9a68f5c6ed4db5fc70302047c435bb50066306402301ba9be80f1797dc20db3e78a09a2e37ddab8fc4222a1a6f31084917356c233350b8cfba2d302669076212a4cafd61aee023069308366e8bd88aac907b2a60f6d859470bad6b07bd11f3db01fd46c26e5614da0cd39fd49609a042c331fd6cc07fa030302047c435bb50066306402301c3f27c739e5c3adcd18492b47f35f029714e833a393dd2956ab0096d4536e247eaa463b7c523cf880ad8c4ddc34f6d802307c0e5d262aa89b6dcff14de672ef89a095de0b4591e209db20f43a289334efe5d7856a249e569a8ec2e7dcf6d147038d0302047c435bb500673065023061722f9ac491acdaec4e6f5e4a1f4615a722b3241ea92b720a7722a5d836188d5511ec777c3716112102c753887d2ec5023100934eb0ea79dbfdc3aae556c9b2c2a2ee9a1370a49211258ac2c43f1568acdb99f4d7a0b2b36770e7bd310c06f1bdff650302047c435bb500673065023100ee581ee25b6baa6381f9b080fa0385455dbf227105435026b3c5a01473179ffdf5a8cf2bf433dcd814fad93f95e666380230339af05a1f31333ab54e7a9de504b269a10aa4b2810bb2ad3db24ba750e972965a0d69ac9e38e59f1e0ca55fab4efb420302047c435bb5006730650230327d3ba756d7a9c07953cc93779fe6a82bee395f56243c5cc80a2dc216a6ab85740a8c5aa78000f04b7fc1ab74db1673023100b02f3e29eec3c578a9b7b3308b4c9ad33643bb0d26c56e09d6f96532974f7eb0753d139a1c2c3daaaceea49556a841710302047c435bb500663064023010ceca33336147f04394fadbc2fda3dfb8498e2fbc82ec560f19e3c676502e6622adc32da86cf22226f57de538dc1a05023061f7a5225956671fca2cde41a7c0ecde5da06feb9c51807699cab4718803ce8f74c81d4a0d7d1a020c61460e88fd77800302047c435bb5006630640230451a62800a75d81392d317f87e64254e460242c13a97854b30b0b706034b893483371b98ed7fd3e774d76cc501b08e99023044a27c273c964646894190c41a762e0a7da6ed1ae5ba197467286d559e0ed873dd40ac7406bc6b6fd646f8156ee6c35e0302047c435bb5006730650231008c8c3cb081d076ef8c5ac7068979e0cd8d0bcaf37eba548664b2c5aa1cef1cfea76b90182d637664dcb49d5885cde9a7023040546e24b140562e334145d570a5c23f0355c653c02ea651ec2d39498c4f389e2f8056e263784aa1bebbfa8534d292d90302047c435bb500683066023100b84cad2171e0b307f0aadc6129e8db431fa27f969652d9ff2a36ed10651de3c5e120a77f809b7c61df317c6696b98ce8023100fa175ef7eeab31cf439416b18541d3d8b5f856e8a505d470c2a8350d75e6a97a111bc391d33adff83d6a890ed53815180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bd8deed46a7b67f0c4f23e9157a41bd60d369b352eae44890b31be0d140d2e5dd9301745752a40b7d666b1707887c3e1023027145568c2346fd2cafdbe735a7f4d534dfa21b32e357728d9dee5ae5c3ac7f39d8900add3a14bc8e4ad3e8d6394de610302047c435bb5006830660231009dc2533bbcf131cfb3e8b16f8ebf119c5703ae4abee97f23948a4afbd2cd28ed4962627d2431587421b4641e16cdb8c5023100ec855e76140e41e026d1dc028593bdc2e00a6e98177ecabc39ed81e19cf588b0a253185ca3cc212fd2fe92c4b2de6b210302047c435bb5006630640230450c899de5e9db157dcb31b190b9a6835e4eb63fac2d8c9056818c99aef498bb68d2e4fff6497a533031f7c45773dc95023064b69245a544a09af326a268da5766361cd987577bf5f22f155a8cee788a47887ac76487fae455d7f189c6cebe32f4530302047c435bb500663064023035abe69fbdbd958cff80250d24da2b1be774225bdcaaef319aba2c0b1b3efad023b05f38f14e1b1575be890358d97491023054c19186aa16af0d8fea2bda64ee717e7b9ff1a52640311d89b8a801ff74c9d5c68a0fa4b12e89633d5ba7b7cf32c36d0302047c435bb50066306402304cf57bb6832b38dd7384b63cb1e6ceee0e2233cf7845acf3a5938846c87bfd08b9d36b5d7e8f38764044cc7909998cb9023000a6d9fb24026cbf75dc33d562ef333545417d9775e0e67b7f47973227c2962c3ebf72bb31efc348049a9e92012c38f60302047c435bb500673065023010a82a3872a7e77806394ed634b05472b556c779955c3ece8fba30d3cee7312763b0431978380f87070dd884c13044ba02310091441a42abf1cc8991e0a18f00b71b16b8db3895d2cfff3c453189e516ed65dfb1bd0b562a1b312604a19a970cbd81140302047c435bb500673065023100ddec84f86f796cdba7123b6562ea943b20b541f9db8a50f0e925ba59ad880dd5aaa21ce455896eb5bc169658241daf4702301ee234223da9156bc5b589706c4c60095e365dbf65338e69beb54a586e0f38bb724e4042e93977cb04aefcd42de458290302047c435bb500683066023100a59be9a7d11930bd2d23c9f54bdd7830b4cf3a6769b98ec3e1d11da5ce2ac0ed623a6f513f47adca0ddfd3704d9d225d023100aa9410ef8ad58c55426523123d73d59c6320856c7fed787ff26bcb6d3f83f063cdc65d66ac76750e67bd209aae9db57a0302047c435bb500673065023100b7560b8b5fcf67cc7028150194a15dceb3857d6899512b6e1413131e6da0cf02e9f3d9f2b54c0c87adebe528e4ccd699023024269684c3e5aa48a38a2b20833484ab2dbbb8208cec1df67fe1614a87496220970f24b13304150d99be1612dd84db630302047c435bb500673065023100b2d7886fb01e932c457a7ef283a721525ef6dde6b695720a6807a20f9eed516a84e1a63ecb214ec26f93d75d86dca45b023017e30a3decd2aa0aaed28846ccc959c0449372c754afc5bcfb283e33f8a1c96ff326be9a388d4c297e0f9526e75c3e080302047c435bb500683066023100d04d234e060158fbf03427e8a2fbe99e4b956edb933cd6a491d1460620d502cce5967af61289fa60ffa9f2a28e91f1c5023100d5991e5e718ea2f581e61c54ede095f7f24e98f0a9254a30342c54347b0a200c0f8cb0b4448bd6282e9ee8cd6a187cbe0302047c435bb500683066023100c106d3fa142d7651134327b8af4d4583e2b8459f27eb628266b6fe782c2011e6fdff3276758a9ae245d728f2a5043ddc023100c7bf4068bae6507e56c3daca2d1215a55f65c99fdbb7222ac1d6163d3d624075cf5183c81726b822b09922c32551b3a30302047c435bb500683066023100eb35cf18c2c5940ebe55c2870f8b1c547141cd3234b1c6a9b01e40e62acfbef2453ab7e6d711596eb0f4a1924996f011023100ea3b500e3092378986f76b5ee39aa84f38485b0c4950c1cec50af717a17fc38794b707ab2d9c840d74b5950da1b8a5040302047c435bb500673065023100da73f7f6c05e9ec56ebaf59b9fea8ec65ca8d79d109f48a3867332c7f3495b447b8e2915057a4bc3d019a05bb2337b490230509bf1b35d97812170dd928b3cb43a7a3330e9b02065603b03cb954a2d60efa1112211f0dab8b4dc906af9af76f35b6f0302047c435bb50067306502310095dfd0642bdb9b6807c313f91a279acb2ec0c9936ad70ca4886260ecb0e7587d9adc3ad79992b0d6a152bf00a9126392023021e4bc4d3685dba1b408912bf0d81d1dfae5d5b2f43f33f7cafadf50ed280d425020a8305afcb89aa749cd72c973fd1f0302047c435bb500673065023100c4129d4e8aa1c8db47fa89edf887925e3ffe730091f5461dcd3cb322d70e9493c364bb2c8ffedca5ed509efaf9d9a4e502301ecb2326ebbb731562e106276366ef7381deb5eb800d4d3fdd40916c4ddedb225407821214aabd97cfb0b130253280eb0302047c435bb500683066023100c8b307694d56424fa8485ca552d15d778e962306ac58c0611a9ca2a25501988f45fc53df14f51ae0fbc42f022b0541df023100cc5118fba1bd0a88bac9a346f9a7119919481c5ab2ee41d8ddd00e9211b3707fd7fd159e47ed05999f45c2133ad119a80302047c435bb500673065023100eb98936377a5a2b4b94417c680d6c93bd4b3adfc14ef983ace27db397e4a3420472e388107e354c5f4c0c6d469612aa40230279c43162dc6cc32b3e02513571b7208513866ea0b6370bda45f77f72232e653ee1fc77b4ced9d9257fe37c992d1f8d50302047c435bb500663064023012a3f41a9c25434f8eef6f10c58d070616c793f638946d1012e38286ef86b0ec46ad24958a3321763c6f7a260987dadd02304cdc6d14fe9c36a7f2ff28229a519a8cdd3d6fa99f893a1b2ae0f71c79c4c6a5c44d85cf905834b5577f56c19e1d27980302047c435bb500673065023018900ae786ecc5e30e5cfd33c81edcfe27e26c8a356bb409161d87a737a2650f55f5587a323530e3eaa0e78a8b7a7378023100cd568ffb176b40e44b9e01d90753319c25e9e696e696ad7820a0c313d2a86b67ee234a9125cf154b6866482e269f6a920302047c435bb50067306502304d09032157649bd69c9bd625c11ab80be5e4fcbdd8c809bf5379832dcfdc251ac75a5a8924a02bb3609926c2dbb6ae3f02310084d03ecd189fb67d844237a56ba7ee07db99405e1bd9534f6b163e0c2eb58b65e4f6337478ed59ccdc109f33b20537e30302047c435bb50067306502310087067b2f0fa81ba7659ae7435cf1a48ca5f20ce2f5be3bfedfdc49b87d903ddfa402e07f1ee3a97b2e0e6ad63f76a44d023005edc0c79b48b8b0e201a635c64f4b4ede8f5b9106136aea1e08a9a721dc7bed6dabb54f637ceb86aab7dda82879805c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310097b26dc82c465cb3e9f7256360acdedf79663f4c96db1218b277a3def0507b686c33bebd880d408359033e9f14de7fc1023100c33ae362e064a9f8384e6a8735b2d744af7902a061fd3f5cbb3c693a7199730987cd1a13c7f0f91122422279c14ee9540302047c435bb5006730650231008bf0e2716cfe82c92d9fdfb841b52b2cea093c96ae9d2457658d00e9d3f974beb009a2551dc60969fb9a0fda9520ff2902302154ae7d939d6c78f8116eb5b697c69f2c00a713ca8b0e6107255d7621f23415bc226e74c3670afb94b827102acc6a330302047c435bb5006630640230191fa7985372bccd32fe532284f803c0b3e4557c67fe21cb822ce8f93689efc7869a322bd2252f0d0fbac298bfd95560023020c964ced62833e45a7ff638161d4d1eddb951fd2b1ade40a97a1a7dbeb1ff16b00900b6a049369d87037b9f8720d2c80302047c435bb500663064022f02a70fc9322225a2528d2c52e28379264291526d13e0be730f1ca992cf1efc5de68e1fb33b5236ef90af917d897c37023100ff9ec741f301235be839727764065193127d822a661361c696697ff8775189995150d8bdcd3b3094e9a02a1d0ed4d5f90302047c435bb500673065023056aed094920bc6ca32792a73f6eb63e73e754e13919b6f58024f92fc836b60a4eacf5df75a444b28ad4b1707ca6a63d5023100b03aec1d48081c3f193147e635985bff8306f0378b209c4e7b1ce1789ea345caebe3fccf00cbacfdd886793dc51c93e80302047c435bb500663064023066bcb8d93234486fcf2d4a6a9afa763bf01e5eb4a0aef5ee2ec9901f8b41cb11de03e0102cd6bccd0f20b3e2bf22d2f202305112f15372b1cc8a5a052541a1aac192f3e078f43f56131e3d914067a807f7c8751b74e33d7e9d81dbdc9613570a3da50302047c435bb500683066023100a1d317d77cd9cc212d5a0c102e0a3f6e61cff8043dee60f6a5a30aa4da7dbefd222faa1a6344f2f18270f4e11b471eac023100e283c03f90ecd0b60cc952672ded311384b3d0b8371924989cf073eb3f9314d6d2abdeae2b6229a9927c4eb14ee1568e0302047c435bb5006630640230638704e8dc9c854618d255058c5e5c89ce0dac661b17f79ec22464c4398d260b406fca2a2c80da3d9488924ba4d8c7fb02301eb04eb8900be06416c213f2be05beaaec67b87496a4e91cbd3b101bcfb4089eca09d88625fd357eb36f6cd28db1544d0302047c435bb500663064023070ef8c70b1fff906658b37a2d07c923afeb6ca64fafb6ec998c3d664221173caa5f501f0ee0458eb8cd2ba7e676505d8023042c8132e84647a5a23630fb012b1a26b42babbe460d009923df8f794219d6f0e9504a657c4094838c2d1377a559762700302047c435bb500683066023100eae5226fc817bd6311d035fa1e2f61468c663d230c47259bb7b6c8d9c64f374a0cfda6dc1c35e8712a97da10260a448e023100a19cee9368163db9f9fca7cbfc3e1f568f01a7b8a27c3cfabe834cee930e263c556bb61a7346399565c95d60de1bf82e0302047c435bb5006830660231008d258139344b1b8b5a9a8938de90f8d9107e9546b77789c9d93919fd44d37b2478831a35e88d1d14cfaa100c36ec5a8c023100c8fdb7675a17b1a3cf7c96355cce5f3329dfa31d22f36070a294b0407165b8c532a4e45cae2119ac498da435556e7f080302047c435bb500683066023100b29cd21c43de791af11adf52d8ffce98654e3c6f5a70733b8d0b8829ea4b1e65c0eee70aa40ffb9ec78789f5698e4378023100e6a6379bc771f09f75364c7e0a247dc0bff057691f01e4b8f02162d35c069507a8f0eadb21d4dade214ac6b4d597bc6c0302047c435bb50067306502307b87dcc4b0bda495928fe9e30cfe1dafeb326e786690990e8398ddeaacb432cd08822e1b612c88b7a3f415f0b6e58725023100d1e89142f21adf7f4f98658ef4af3c86708bb386ef80299a563f1428cc9c1965733d16a9199a0f8596b945a2a3bc0d9e0302047c435bb500683066023100cacd5bf19247c7f5b07ec5178623213054c2fb81f8690c2f4ef2f9c229c55ed77c0cf158eeae9a64058cba62d0214fa4023100f4f784de068a705271b39c55ad8494cecbe37d279560f5d8059829c35ab77dbd765c1066d86cba644ec1e9eb65fcdbd50302047c435bb500673065023100ed606bfb674b1815ac99962ea257efd84e7b9c45e3e74c311b68605c52db4e0afe0e12685e37c63419f40c80766a21470230660e29e702e96effed966945553d0950aff942c9857032b98ca99ed7a1a979d723e4809f6f7f6c10eb53be54c01bb9810302047c435bb50067306502301245b0c124f04f069a0c5a52974272337a91a0692576f11e4b9c9d0c77465c1fdc18f4b2b7ba07f55b34fde7e1f7d3d40231009d2c4d9e5c5a563ddd37e60c0494b827fc646032870e4d7e15c31af041b58f4dbae7f30f202cc9db8f2cc51237406c320302047c435bb500683066023100d337e47d2f381ca134e0fbbee5185d83a8fa481850faacb1256e3bd78f332e671a1b63f4dc6b4fa886d33493bacc91ff0231009e9f13936e2965155712a7adf4d530bc17be40515de8af6150e5144022f3bd904e4aa68dbf22764dd5fb6f51157e6b1a0302047c435bb5006830660231009aa60e96c9e770d5bd0a2f0037609bf2ee7bc6980cd6fc2d308d31d4af8c7ce42dd039557a24bcb3fd0ff51da8906aa5023100a3c5bc9aa91a1227f28f827dd68c146a3844768b6ff889005e0ab5b84acc0844b7e053ce3937e597380cf24772f703340302047c435bb50067306502310089147e81d2cb3c111aed096d06b7d8fca3b635a3d8bf60878ae28546d429092493a6c7ac20f4979f6f4668907634ecc1023039e068dfce507b349728654ba7185c87626a51be1408e451a6d0fed5e40d18321a77debdc317ff1c8071f9dee5906e890302047c435bb500683066023100efb996fd447dce53cc9acdbf803cc70a18d474c51f1b78211da76cf4859aa13374e3e3cb0f069e7bba90ff3ea6e70f06023100bcd9d249a5b09517b4eb4575a49322e8d12701b44e3414e98972f09ea2423059edd3b74d9c4f6e6a7efdb6dce493463f0302047c435bb500673065023051dbdf43234de381c867d4919bc6aceb8128dd3a746d9925880cb250c1d44291c738cb2efed98d29daf71561a336105a023100a40c47a3806b41f7c29a5153b525e067d67686b174d6d78ac02b25ae2bf4be7ae4e07fc099cbeccfd58ae13b538fa9ca0302047c435bb50067306502300517990195c316cfb14bcec8bda93e432376599c3925e677111e0eae2db1a538e008479076a1a5194dabe936b7fc6b11023100ee17ba98a48fbb9b15bf46f30cdc3b72948e7cd5ddc23d20ae4ad826ee599e67b81836e49f57f37b9599c8d1753406a30302047c435bb50067306502304d57693c6a203445787c1570e04b8204614d4dfcf2f05da99d6cbd404fa26c2db4e75e67530baedbc7b56c99039a6c70023100c7d2b13412942af838a29e49d64861f88785ed26a2930ca307adc1e689d19ee95e2b2b8aec96a07c98755b0e6b63f0e70302047c435bb500683066023100f1dc278bdf96725fbf072c735983a3ec98ba8ccd23b99e08f25085ca236183c43a48ea5b50049b027757333294316f50023100a5ce6bc2c387e6a1cf1767e795a08e5e6a73c07467de533674d10162271c896cdf8a41b332656a5e851f4f664e2a41da0302047c435bb500673065023100a89dfbf31343ad3d5f19de0cd6f5f75abdff9627301d34b847c8345be46581f9923316a378d389fccf6a3597ca9cc55302304a148c31e604b02ceca0e4a24aaa28156fea75ea7f239339d11e1fecd1ea9f35a491b586218df455dfed658b78c5f32a0302047c435bb500673065023100d47f776efd85baa84dcfe2d1567462c29cf11dd9e31968524e821dfae1f0ce2961269ddd37aa731d312390e5eb775dd802302c4b4a1d1b591ad9999395f9433b3c38b09c3c6617a3c2cb39b9c33e479e7b0d29670c0a7fca3ec5dd36859399ecf66f0302047c435bb500683066023100fe27e95b72547957c3250c4bce51e0766e384b1c03063292dfd7071ae4592dae64e1c83258cb87a9df74f54a97c197ed023100f1d17b4c9d4f26a2026a3d5041b6874e5479eda598c5285213a7a8cac425920f3d6027fc1f25b140045c47ddd8f334910302047c435bb500673065023100f1db7e9b291035763e9074a8db6e7a60015aeeb962aa40b82e41564946ffdcbd4f916537fe623289fb7b58be231b86e4023070d16810e6d5700424e4f433ce4d6f7812771e1c509b5baaddfdce7377d122223e90f3e7428ee4802d2e8856fb5562b90302047c435bb500673065023100b894330ba92c09461b59372796e7113aed7873661d8aa3ec0be661bd001d07d9575f7043a96663337738a8760963b891023064f594f082b62dd5168ff52cf5773151715a36386a98fcfc0c980ea4daf544eb791a5d49e9d4cf496c4d744d4c0a41480302047c435bb500683066023100a5467db13f6c694fdc4dcf4bcbdd6dfc9d724979ec500add618abeece0663d6793db546859ab21053c53120c7cc3c124023100b3d814eb76bca9245e2319bf874163ae367057862c2af498ad941727bbc2e54a5944a11a36f1478de4c429ed731ae4290302047c435bb500673065023100d4bcb5e3b27f8b1c9fa260d6e595e297cbc128ed87496372fb5e758f53eb5df718b60a5a39db42cd6af2e2e13ab2dc49023026fabe992f729495c9988642c3b97678089032124b1e121e878c33b10729fde1d2392a1e98b3ca59d7de6dfdb7e9314e0302047c435bb500683066023100ea81b100108b56f893e4eca3a487a807027b4e91274b22d6b722699d8e8921126e63a3ac309ef216a6fe8691b216ca49023100fc0cface554d79862cc42d6e7d97f50a2e1fb628c49d86c687db3adff2faa18c5e648cd585519b6a180eae30a980d4e60302047c435bb50067306502301ae4145ccde3085d02bc88412aa79041b880fbb15ad7a57e8c5e20b7a81cf478dab4a85eda1f7649693b6e7ae5d7915d023100b2e1f02747cdf9b7a5b8c247f98c474972eb458201dc10095b93bbc4e8eb483ca09f23430fad74d29d2fb294944752b40302047c435bb50067306502301da5f2bcfc2468ff69d0ac3e4d0ec5a0e51b636ad9c3cfe03da42d4e952efcc124651a00344ea7b57ce6d5680263abb10231009f98efd91ae2b491c4cbf8fa63bb59c0cb786ff6e1809cd8b321b3a827148421b04af532dc567755105d30abdb67d5420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c27d6efd21331901881fceb3c48dce324c39cdc376bd0f63327860357385281906df0aa1c677044245f48a0703af357a02302f0799c2db0c5978f244e7eb365f7b522ec54ae36b24c361d4ace8269baa331d72dcb1c84af3637140155ee3372bb54b0302047c435bb500683066023100c7f5f48d21af70a206861a02d0e2700d8d8daf2538832c945460c5401f154cff33ae0d51fe39af5c328dd0b0552acb99023100eb348c669bc98e1087387466e88ff8def63b6e300b257f3ffcd1be8406467477418bf9b72e349add703b96f0115bafa80302047c435bb500663064023064f8e36a08ed872b728bd42b959c040f7105a20c073c5d7069dc8ed031bc6399f8478f5e0e3170d072f1648c7ee46b2b02300f31cca267d1ba8ca89ddf9ce02e4fa149b0f55cd10e71f5816dd6e01b9a0940314c76a34894307a8fbb44daf1c31bc00302047c435bb500683066023100a54cd871a507aef2edad9e4b2892bcd510d76779732711a644e1d1ccd769aa0ba9e58601015bce81fb47ef791a412606023100d6f0c866f04ecb072248056fd042c209aab967d6562122d94739496a8771ff6d0539689353c4c14169a60004dd728a450302047c435bb500663064023020e9465ae7cd59eb95eec24141626497af45b808b8df5b671ada98d11a2649223d565959d3cca4fa8974ff3867689ee1023004bc1d3bc78622081abb41eafa695830eafe2a64dc80b110973eccedd15e52e36cb80b728aace3cb9f6d0e3ec5a1d91f0302047c435bb500673065023100d2cca7c8a06ca194a975ea3f890cd58bef2ee9f18e2f36f27a689c599b9a1fd26184c9c076b5c1f28b47d70407bfa7650230530002125588a57f4dd350a967649fc68e84f0065867e8831b71785889cf13fa0091674adba58d8044949357e52ef6b10302047c435bb50066306402302593ba9430cc866729ed7313124733759effc67a7a4e0a55290d3c6d12cd6ec814c95fb94116b989f4f5b9acad8aabdb02305e08f2fd30044650417ca9df93d32a07cc6d12808012376d0ecfbf051de5b66cc026d1676796b9f8141248feedbe71eb0302047c435bb500663064023049332a4b8898a06105e7f496a5ebf7d74ade1e2ddf53fed1bb1dee25f0e3e306b8f156385648c15d980ce097cc2c64f002307f489b73c8a6aeab103218305ac70ed405cfe7b6d27c0fa771d44ffe2bbd0cc94d308a44337d6272fc05c70515a3526b0302047c435bb50066306402303fe2ca2d2575dd115e3df7274dffb17480fb14d323931495d61bac69d8982ec6f795d1e1dfb027625041175b34152ed1023038ee3c7c2d266d87f33a319121c6dd775c3b87d1b2cef7d607f9920a4a2ec7fcadd61d36dcb80ec80cb7244c7956e9110302047c435bb500673065023100bfa9df430f430b71006fa829ba31df303bc41f33254dfc7ffb80fa86cd389fb07f4cf7015d939a437ab145fa42e509230230546da0fe1ff612e1358e3d6cc4907f258a7e5d78f713669ac11a48918b1dd8195db2a3ebd11e2939b991cc633be3fa730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230537b2d1ee01ecaa537e87c844d4ae1e060387a5170f8ab69ffb4510e86f6bb8bca049d557bb518df525392ac4fe881fd02310083ed3a29cbafb396161f42e304d77aa4825a22ca9c73b9847d5fc1142f129af192dcd7f1c652fd2b36af0e704f974ce30302047c435bb500683066023100f9d7ba0bc692314da0e484c50d6bad8c751ceeee06652fc1d601e5e134dd8bd323e85c8045bcdcb84fcfefd2a93f1d7e023100d5edaf3f38f7fd4d0335fbf6bfbe06104ce49eb372df61a86b33c0b07961d8746fc5e64646e5b1cd27be0f3fc387f6060302047c435bb50067306502310093967c69f944d6eb7b95a8f475a97013a535485759f30f0130af4584bad45c02b768bee420cbd1d8dde383ca65464aa202305408fc337539270a937202f7f619045927860735a2d1dd6e77820671cb80fece523d3bc022615b9e18a98d9d288a0f1a0302047c435bb500673065023043ce183f8af56f5f236afb63db26b921671892fcc92c88df2157988efbb5f0ca068d8369abc2f031217677319553359e023100efb05a554314f313a4d44591a8d6cb6882fc38ef1a0a28d3afa657754018cc1711c1af29e07456eef7a29c7eab8ffbd70302047c435bb5006730650231008d11235aeddd704b8fc85d541ff247db241faa843ff410ed8975fd77a3951230861260433e1dfd4831d326c488d7f32702307ed19bfc8e32bb15323790dd0f2864ae8f19677377708b1220e20c487602cf6774be99153ea15d79aa31f1d364a95a750302047c435bb500683066023100ef6603415485cfdebee09828f73b16a12cfc624dec7b6dce7dceec8c6cbe7df033bd5195bac87f8e05275582c0098437023100cfa53d911b92b54983524e52b11b4eb7044f03a2f3d4784633f693c9cdfbe91fa6c5b92f45043fd39bff1c4b1afd09130302047c435bb500673065023010f0bc3eb02a87f684841eb7146d495213ab59f744fcfc2462e554d48e718e774ba11564b3105ef1f901557a9dcb907d02310089869afe7dd0f9e5b8de4204a01bac50f74d2b319b1f7796fa177cf0fc5a00e53044d4d94ccdf0332f0d99cf45280ab90302047c435bb500673065023014b82547407af21be7173b42ab405664b691d1647911a3cd9086bc8593948f5095a6625aeb11773a62654068a74dd50902310084960bb94c2187924b528bdcc00c30137b58a2ded754704020019cff92cecea0eba8424fc9e9ff21aca49c405882e3580302047c435bb500683066023100c79c5eda1880b264286554cf574955fb680aa706e25e2ec68d71a65f490436a7fb19d0c131bce68c727d76bd0a986b13023100877aac38df39a8f2938bbd1ba7deae1c9991b81466e7b279b6e12de466b5e5587a49ee2a9e47bcc9f7991c5dc075b9560302047c435bb50066306402302304316f6e46c1598e504a5c83c723b7935397fce431602927f34cef4c21349e79c458a288e0ac9e09388f8c120a609d02303009786a71dd2d8789df7aba2641efcfe61b9b540f5df58e4c1b6738747445a5d0ca8c7d899e20231f116a6fb7f169350302047c435bb500683066023100b1c25f073a099325c9230380b6c409a1c0037589319d791856100bbd6aa46df4e92f7a55b0c387ce77399436d52170d1023100bd4af36513780bc8f796933c4671c4283980566553d571676de4d8285c99aad600d88a5e7a52de39b8fa39a93e5d8f9c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301093c47784a9683c676ccdaa59b334a29dfaecdf254103048cfd38da50506fa81d1f54380991bc750fdab31a8bfc18ca023100a16b198bc563db347e39a874c3b1e58f8ff2d5f957835fc8029b0dcd8d54b06f78aaaa685c752ef01f0a2d1d2c1283a20302047c435bb5006630640230255829c80f34e6ecfe92e5a5b9ef9ca227425010de37366d2a32542f94e78d71fef4b1aa9022defb75bf49c58ce36adb0230673a6f7086b0e5498b73ac3d188ac9c924a4a9326b750c105569c6fbb5c21b68911d9ad92673ad87ac9bd271005fb4b30302047c435bb5006630640230652f43c3c2dc0cefbd0899051fe2bbc9f6e105484a82c8af9d4f7d73dfe5918518b0abb0fd048a9b3b1deb7cdac2c9bc02307f87b34507c3a8e67910d9e462eb9ba93f4a0426d02a071c6f35fff2e09ee20b39defb6b99099c32272684ab44c263250302047c435bb500673065023042df05cb7ed42e552043b2d5f240205c28177c21f0c1fb6c6531f539fe793485e7e95cadaf1817c0f46c158ed93e5ecf023100a69638159a1b384d05ed783cfb015e824d9a5110103af8ced8e0b002aaac6b856d31928ff5a27bcc2377015377ee7c2d0302047c435bb50067306502306d5d8ed7805b3c6c0e156af6180d4d4f737644b9ab27c2bebe5d92435e545162e14d11cb8f1aebb7f511211ceda77848023100e2fcad11a84fbde90c54c31a24e7c7ad8f2553a800d62200d030d43e436cf92f8a796c2c9391ca6993a74f50be4099e10302047c435bb50067306502300847525cf517fc2b945dc31ee647182b3b97267134d2baf6094a614186fb4e277c333d33fb976c2580af57d6065c0a63023100a44018df5461025f8ed458b78a2c67e2e7d199168f1e39ad086748d85fdeed05daa6479ff9b9cfc6b66db2c313a466020302047c435bb500683066023100e947872da150537822d181a5b2f8432873181002abe2ff1c4a495dc475123b13476a9ee57fa7ed3533fa8e2d777fe153023100ec6afdefbd6a27749055a516827a2f4fdf7b587d6fa1cf3b9b9673cf069b3bc553da8d2fb7da1c926790dae190c8fa9b0302047c435bb500683066023100916834c57dee5c6ba2beb9682377510b87de9df12a924470bc6fb77010c7dd581ca0e86242bbbd859febe1a88cf2a4f5023100fd31bd4164be4f8ebee14cb38716426bf4ca35e89d70888f891f631fd1f1ed2930d4c385cf58a468d4fe974798f2e5b10302047c435bb500683066023100ed3cfd41c0f069876bd9ba6fa31e4012aeacc41d9dd19d099fdf40a594a75eddaa5e65b31e6c3d3cc0b3241d4b0ec589023100be198e0c8a809f748f06d684a8e1645671d06a12a29ea3399524146800124cdc49154794ef8131006c374e1059e1c4880302047c435bb50067306502303cb7243b8e2c5cdf9e18003191d4c420c20a1916ddcd8de7855093c9f5e93ff084719c0e215c6b2f2b1c5b976a00261b023100ecaf99e7be92f8be384bb80cf1ba3c445616915b773e4cab8e0bd6803dc2e0009e612367a3f72c4b53063e2b2f149a080302047c435bb50066306402302147b81ad27e7ed9ecea0300027dbfde3e9c7631bb2b2e88ecebe0daab04fcc932b22c29a8489d58b0b3771a872e1e06023024320d15c72600ba3b5459d419c5c748288ae3ac76758639525876ff2ce557e22d41063532bccf48c0be672146d7191d0302047c435bb500663064023012806ce3cf3f328c5bfa8597516e6fcdb4f85cc0fc40cd92e1e285a59da138a0771526a0503da30b3e0610d4f97fd4ea02305cf8c1fb172f6d50182cace906db69515f38d96922ae9aabe6121bf05858825bbec0e5d5d20f506c931c474fb9efa5ac0302047c435bb500673065023100e438f400f9077c54d05e243afb89764a6651aee4c64ea3ccb0e1d37dc97f887036aa5213f5af58d0cead70b42cab77f9023036585d6f0fb4a4c597b2f61fe7fe889915be1bdb1f0a2b331991a2aaf00b463de7ee7c62767133b19d311c6f0504d0070302047c435bb50068306602310083c55dbcf97970df5f51ff0bf9ac4f37e1798fc36817d97b93fa891bbfbb2a9190f56e25802de020e6b2e607516ef476023100b785b43e87d95b7813857e9a44d0222cf18f10ad7f14b28dbb6ab721be95a2d1f271f1e466175de1d05844cec7e5dc3d0302047c435bb50067306502305808dfe351394cb6ea9cf8b59d2ebcc3a5c54c5e62989a2be06fe56c9fda863bbb2fc7aebb5a52597249acc37894f728023100b9d581ad9e488cc74a70cec33beef37c1c2c40c885bc6f5e173c197a4618227510f34c7159e85804c24db2ef3582bf590302047c435bb500683066023100e6b64e32f1425c0a46ac2f0c942fd410165ff77ebfc53250c3d09ea7686e7d1f787a3be1e5f93a5206ed82268e1d51040231008feb9b2bec319e5b2bc80f37fc5ae423e561408973c2a7d8a9a6ec33174271e2791172f46b9e5ef515f81c3b91bc64a80302047c435bb500673065023020372a5a79dcd3f1e783f840f0521b5b3483cf533af36070fc7da00c0a75487d632424d9f9a2710032640c1f3c280f0602310089cb79a5a4233c04aa833a9af4dfbfcba324a46d96bf3d525b05d6e5c5c61e3dee1480962e6af8717550ae9f8dcd6f8c0302047c435bb500683066023100daf0f9a3f661ec81923b1b96e0395a0fe9807972e2cdf6b0987624082f59c1fe0750b2bdfd940dbb3ad187873557159a023100d85ee79f77bd11c9102622d4ce09e0e0f41433102e5fb9ccaf1d1ea3cc441fc82cbb572752941b50300e28ab0e37ce590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230630d24344c472181c6c8c4338423e044df756611f6008c0398333fe53461b6462d8afc4c763b4159eb516dabec3ea70d0231008b71480258f47c5ba19fbb872d913f03388cda9b5ab3b4d2935131994d01d72f74b17487db42f18e0675d582bb8a18040302047c435bb500673065023003c6e8068f7804bc416eaebc264a11641e4ea9f1438083090d3ac1ec9bcf0dd4845a8a273ad5cbaf73e5ba8ae6a5174e0231008b89a5bf90127bf9f3aa8980e860165c969fa4c670f8b147e2810fa4b840062fc053de9df73ca74d9d7f667da280c2610302047c435bb5006730650231008a47b562403a18b6381255db8d1222926c00bfc4569a5de71e84ad69db78c7f94ff0b1af5685715f535beb80f5b4487402301626dd8239abab1aec3b4fe9f4103c301d997d37ca6b692e7417079a609bbba84d18b3a1efb70bf7218ac6cb48e4a3f60302047c435bb50066306402300146ac55587b6dbf6c63344edb6ab8c592a7b9b703085f282e4a29e345608e668d3ce960d6153c4a3d7d64a19897d29802306ce295a45bf99acb723631a9e460a2c751d08d2299c7d82118007213b7f2a8febeb7f57ea4ccf6a235fb51e033b16b9b0302047c435bb50066306402301c756838e343a6d39a12298bf795894498fa5ddd1661c796c3f8dad56d6b3db4a98e873835e7eaab5e79d5542239dfc802301d07fb88f9beb91112af3b914303fb479cd2c1f10a56a95b40adec0f9169fbe90144918b07903cdbe7bd671d442039930302047c435bb50067306502310090b6ea2d0ef11905964e9b5836c6be1e819c3a0c49406fb5924407d641ae477830df05ce2517f1f2b04bfb445d6ce2aa023013ff16e27c1ae5d37518bd7f98646519cdf95ba1d6b7aa1fd5668325f5d68a01fa64f4fa80a92aefc008eaba96a9f6ec0302047c435bb500673065023100cde62ec017f9a6611dd0a4cbb402c5faeee00a3057f5016f2bf1b325bf5af0cd843db6aabdcca495b44205cdb0f81dc502304dc4f11d2d7891da766760380385baff5cfb2dc0b6acfc1bd196f79ad4321857eaaaf6b73bb343f25e2e066cd97705990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100eb598cf232a1ef63d5526674698d14b598d1b32366de06caf28650f8e003ad67cbe2c933d6dc62e2993e778c07ea5e590231009f7523aa991cb3e9f460f8531082ead6a7cd435a2d712cca0fb7f3fde6f7a4b5aa44a09e2f018ab3bfbeb00d65b3e3880302047c435bb500673065023100d9bbe9e9ca1d87fa7673deda7c5242c45e76cde7338a74b381fa336734e046efa95b2d27eefaa8ea607f3eb3ef2c8e8f02306e95e50cb907bb1c6150b31774a945491218d1c8d86e156a11b9e471dc17a787d1573e878c26502aba91a92948c4a2ac0302047c435bb50066306402302acce468324abb94b1e3c8966c6d5be9a6b726ca5ca1600a50ebbabbb0fef6d1503e46c10dda971f96b0eb20f493f2f3023034aa13b8232e61c1e731e3151b4eb9b71619f69c1c6196815667eb258807b297df43a24ce1c8cd878ca52f84a976469e0302047c435bb500683066023100d5914dbbad3da224366c76448fd3d2f9423804f48352fd40f168a9860274c9c67aeecac06daa2ba88c0b7de91ba1f201023100ad8813556128d967a8f0d82080a80ea7a9c60494a65cb31421a7d06e2c60cba9d7dc791b3bfc9ef26079cefb22e787fa0302047c435bb500683066023100896a6c4ab337051145dca12bc0ea1fbee9f2a247674b463fd2cc7bfb4b83754db0782a9ec1dc2f56ea47cd5ae7e2ea450231009b18f7c73a3aaefc2225e625da0f091c08a444c2c849b1ba740e382305345c33ec7b272a898e5aa20e069af6537d4bf20302047c435bb500683066023100d858015337864c7c6b60b9e1bfb7f2a4dc13f820a18b58a8e24722451b13057f82c2b0da100bbf4135c62a20c39df546023100f846d24956c429591c4e6704d2ac4567e1f44eb8ab70738b5cd7643c495d3d873fc8ef25df063807056a50da25756f6b0302047c435bb500673065023053578baa7d2e441653df2cc07658076ea918864053b6104a9f9a390447f38ebcdb068e07dde1290db21b4d4582e655b70231008b4eb2bd59be707c7702b345bebce1d2005889f5d571b518eecb30c40ca0593058f2231bbb562b61362381a2c03e50af0302047c435bb500683066023100f6a5d466c06f409e30a841d282473c8d881a8d8f7280cefbce53c8b046aebf6b25208d726db603c30a0a46979fac6696023100b80288f247a17d6e7a8babe872554bf83e81658757559862c50a398f6570f81c32a0d007403abe886331af33909c3abf0302047c435bb500673065023077701190cb5216c8a01ac261623fa9e29cd11cccf112b413c5715ab665b77bd3c7e89968c5a17a5fe671068a4b3ee930023100bc14e7a0ea3e5ad4ae840087ec23cd92d1cca9a5f06689c61751ef6cf32b842a00cb342bb89775599b4b7ed3b7216e600302047c435bb500683066023100fc2b53c932f309f86ec4bb2e3c9ab97272820d188c79ebeddf86a6b89f5042060842f2e3683976c3733f66eca48999f2023100da4010dfeff3f8b1c276fbce10fc861bc80ff33d3efdebbd055930c0c71df24980b20be62b9af07cd877d5071867bfc00302047c435bb500683066023100ffa014f8ee642ed55364a3ed0d7c14d42e6b04a05d4e6288a342267bdbd7d64f659d1bb0757f169b44b6a1d9633f91cd023100805bbd23b3bdf18ef6af895d25912e663b82ee9dffa662f4c598830019da977df81609e82e48ec1c8690332d39d4490b0302047c435bb5006730650230077146835640ee1cd8abc54c975008164e76463e905951f5f258f8565577f222a249c1581f640fd5d3f0d57ca257cef2023100b40d3f15cc70e73e63b3552626991dc82635facc3977064225c118ad51c0e1fe583207982d1e3b1ce763ff851fc4407f0302047c435bb500663064023008adede89a5530ab3225ea97aad231ef5b3dc8afae56d00be51937ad89dd1005a73ccbb0cd2ca493c58baf411f961c35023005d477f4ad8eb7fdaab067c41de0f0fb7260c906fac5ec77268992c2a70ffed394aa6aa28f2a762b2033b7ec0217c6de0302047c435bb5006630640230567c5dd4168aa538c2984cbe0567186e5ee192252870c5d4310f2ec54039cbba11f3b25f6c2d1b16dd1a3705165e434202304a7e3b268ca2e3eabb193f3573b650a244ecb94115548dab2dd97776a97b6226ac72fba54409ec260324d7c834f436b50302047c435bb500673065023012cdfbc48a1cd443cd2836aba1b2d9e700fc3141fcf33a645fd515757155ff7ffc4922c5b13c599070199c2e31e7072c023100b9e168d5d4dd379ccef7d9c0fdb6ebf9a5e458b6cf553132f61fc93f8058eef6e7a7a21ad6aff76387cf96ae78ca8e170302047c435bb500673065023100a9f436ea7379cfd575010efaf77985c161bc2e948b0400a88c24767211484169f64421a3e1336e23f0f775b262fa3077023058572311a4679c694c80c5ac768c81aebedbdfce0ca3bbf4c0cb2125e7edd76f73775a67c35f599f18a830411294d2870302047c435bb50067306502302c8292e3371bb453b168bc2c7e4550bda2ebaf1fd8515b1dc93cbe1d084e9c739f72b132bedc02e3c4de952a7bb237d8023100badba9549e7e21ba6439ba9feb46ff21790a1ba60b21e1b19737e3afa1fe25cd8bb003c833c61a6c507ef0bbf13e55bf0302047c435bb5006630640230652391b3bb87a46b441f712e756ab9a4ad4407d76258445408250ce8951da7bc264d54f0ed13b8c706b4e818af43fe6b023055cd8bd4931cf9c746feba7ebeb3e656c4c5224bc0eda4a691201d2187487ca85f40f6f2756e28ae6bc287835e6062360302047c435bb50066306402305c6dbb107ad6810bdd7090ee7657add6f3b4c87f29c1a0041f65ce61b91c00cf321665e0725af4fa69f6bac623cff1b7023077ab496f66ac3afcfc405326b404716cb2f22b7157398e9489ceaf7bca461c4e99918588c92f9709a6b85845c059abec0302047c435bb500673065023100901f60483b9cf57ecda544eb8ac8913d00659872bf3b1258b82dceba701a6105e976f09538de57f7afdf1b59b1c3058302305ce2a88c67b19febc12c2774c2bc9f53859f0cae11c47b60842a3ef72681b4707548ef3f5047be1f76c35b2dd4cd0bd90302047c435bb500663064023017e9e5467542909803632d268fa5563c7028c31b4422e83141d1bc35609f7151156bd4273854b1252fbd39144483d28f02305cd8aeecd0f2b7b0ec4fc61a057ce28da26b224e7bf9b1915330c94c19c2f012e79ddd13e25c790db7539c588448184e0302047c435bb5006730650230233514191e6f605ec2c8b02941d6fea972189ee990f3e3807ec2abfe55973d560ca5a754c5243b6701562a1cedc53dff023100a79dc5ecfe3fb1ffaac3493bfee87415b5f2c1a0a4a395912747042ee5be53fdcd71721237e633e8792165a9fd7fe9b50302047c435bb500673065023100a03c7bd3c653a1257d7618f3681e60c4f23e641dfc680a37f3de057e05c62a64fa3f5170f6ccf7170ed1a4b7d0198b9802301ed9bcab412323ad2c0bf63864f634a6c4f1d7393f86096f1616172ee30d588d99371fd3136f73ebea957cb8edf758f80302047c435bb5006730650230185033b205aeb15eb1bbe4cac9ce37f2c141ad727502424e71339bd9f03274633f0b5516e3c821c336fa0c5119bdea47023100b3a4278e43d87692e54b2aee133abf15b4274a344d5d25727d5dad0b83706000d1016471eb5bccbd286e0e77b07a9cb50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230384bff667dba3291092824296d98c4da06a742b3c71c0608a065b50f46bc01b0f41ac3f5234f2f22d6ec6bde54bf1a7b02304aaad2d5d3890008456e623d4434c51f26cba5ebcc6e835742371c8fd9bd195df07da726d4e97ef220f589579c83bcc90302047c435bb500663064023071b92de66f1256dbd6a9fcecab29140bb2ae3fc8a6ce66337397120f48b6718d0fab948cfe3455a07fc253c4b5e1789902303353d42fd8024f1c559718adf52d6b1228d435835d74876304b7877891d9cab1e7b39ef6d2043d0bee2e1bab00d72f130302047c435bb500683066023100c84b6d3f98b2ccb45ef3704ceac550ebce4a5909000daedd2eeae726cd3b87edcf390eac442f8997b17f18cdad5c65d902310086183127cec30967b0fc9958349568d1d2060c7225029bf095e4e6efbdd97e698b0071a144475007e8ceb9116211a3a50302047c435bb500683066023100e5bdeb8859aa7eae64926a0e9c924b80007bc5930d34f56da5d59d5fe09c160f356a9089ac5ae815da2a4c7a8d2d5220023100f239f9ac9959c800ce6dafdf85cc7f3bbb9dbc2faa6a22e2b042dcb1b0a1b09dbdb2d16753329ff9e16cc3e625973ebb0302047c435bb500663064023012f51ccc7d00ff92ce0f6e0f8c955cf3463fb0a42a3269680b74e5742e9233ad25dec9776334c11baa205ae830ba947802305e085e2c69c4bf487b9be52daaf4863805c7b0c6ea6483ee39cc14bca0a92dbeed9646e3ce219d1cd74ff9cf7483df980302047c435bb500663064023053c172010ed87fe08cdfb5efa3772e9ef7ef9f8318a4c92cc207c298192244fbd9132070d390483a37fbd41bffca0b90023013e2c0ef093efffeac50d3ee274a8fc0d95f2b0226103a6e376b62b1ef883e6026f11e48a5eb260c737073f1bee344af0302047c435bb50066306402301b109efba43a5ca720d45ec1aa47542faf08ca17b276583b97c97ccae64968b1f5a6a540d83471ca79c07e1b1a66a8b402300396fab37cbc856bd9a2d43a5f9dd5e40324008a2fb81619e0fad8ea25bf5d8d1a19085799a73315e48b4a3cdf0a748c0302047c435bb5006730650230440996c5d5c9f1fa34dc22754d335a4da1d402a35b25a33d9b12f1e9b2c5829d27bf5d3d5fd48d7c154cc9b35a364356023100cbedef16c7ae508f100ae7a3ef763ce4e0291dacdbf5e05ebce5724000434f72d4355645ccb94c3a3ba9466b263272b00302047c435bb500683066023100a6d4fe94dcfeaa91e02a7301a433ea8a15c2fe437794be61384f70160b59db1d8718ba3efa1818d6e7a038b30e51e62e023100e8058f0e8e97b0bd5efe02d8324fc383817262299e5cba459fff633a0d2542885602712883f9bc94875a607eb3341da90302047c435bb50067306502306cbe8a43a168f5aa7170257e9bd8c53377ee7163ab842f9057f9bf73da767159aa29e20b220b3bda955f346d08094a95023100860f4c86956d269ccc6c1d58ee9ce62171a72149ee4428e78ce50cce5492bac9bfb679ecbbd748c566010d19427c58af0302047c435bb50066306402306420ef8d75f2271181d4673c08d3647d639e3eb2f0f0aead4635b738c29db77933983ee3385c99fb70a2b90ddd481ce20230360516cab26004e47ca19e4deaeb66262b1931e7c9516a16287260ba143c76d4f7dea378490f5d5e60d404d7a992270d0302047c435bb500673065023020e4881d494ec759ffe1696ec79fbbf8037fcf8b3791ee240e4dadcceded9deb1a97ae6534834444790677f7c45e0d44023100c8884287a724695e0d28ce114d4f0af7542119b2618d62d4c792daa9389fea3e1709c97c40ef865acc31f7de1832ea570302047c435bb50067306502306bbfc50f2ea1db02b8fb0d32e697831e18663e495abd3ba7f8dc3c73720eeea589c702637322a18b86f529232ad3ed21023100cfd3816e217d75917e8a627e7a94ccc216fe3c6275170b1c9ca6d2da52c76f0a7589e89cf30461df16bc587dc7d820520302047c435bb500673065023008ecd5808439d9313d355631c9aa593f7ef723e0b342671816b6301fa4d56cc6b6ceb320366c17ba7726f140048bf88502310092098eecdf3e4a69526679bebc8a7bd0373e4b6ff33da3355f91de556fe6107bccf7d96d8914d2c9136cacae76c7746c0302047c435bb5006630640230247b01516058c25336d3d4c34b46fbbd670d63982ca0edb005c275413cffdfbfbb20e454297e6a5d9720791cc018b8d302302cdd49b0d6abc07cdab8368ac228302a41b6734b4568d72d32c7b8a6afd771d2ddf53be835937a983415510de85955340302047c435bb500683066023100accf88376f7fc78e7652d8a14c24bdb3a93623284a8b95c2fc6a467f9eaa3e893aef9a94bdf90152a97a9b7e5fc1ae6d023100bf5b39354321c2ea67a728ed160e08e8e705a42302fbff20a709cc3a707f162a4a0f170a8bf66bcc1ef02041dc15f6780302047c435bb500673065023100b2e87faaefbc409d57b86260cd9220a99a2a57e0e43addb71b5d28975f3f4f1cb2dbae211939cceae8b743168a94424a0230138deeddf1b8c786f5bdc0bc8a1daf49589375b88104a700df51f47787fe76535ff41d58759b58b05609e1a9dfb5ca9f0302047c435bb500663064023007197c076132fbd06cadfc5f7db2359ef15037a9f6d188678118d33c010f266bff42ca9b328454855fbf13375bca57d30230385746293ad996813c0f7c31634e74dc780af39e450e83c96c9249821a78a6c3ca51972b215b93d2cdb10a373961cde30302047c435bb500663064023026eada1ec99aed32c1f0906e20c8ff9a7a1685d3378f50e2db5a37a656c1792dffbf2faf063a85a6abe473e3a0a438c702302271103f631071bec2c873f913326049589f3c5ba7de9f1f60bdb3e60e8f0957c6a8e987b084aff80e84cd2ea36298dd0302047c435bb500683066023100d9e29deed81ed47293c2b4f02ffc424dd3438fb80b2f3aa0e66f9174570028501827af63ff6178b97a4fa1bfe454adf7023100ec150a4f060b932eaad6c1f95780c1a23f2a80621b53da9eb9b6566029068e6184cd1d9c94e82ea467ce1dce540c27090302047c435bb500673065023100a344485cb704d78632368f519ad4d5ee81b7bcb8ebeff5a58da4c55b75c234c948a60a2929de4156e6ed3f0d2af2d58e02306a68c99a48c7a788593bb48b9ab28fe62f4bd062b6b3df9cb2ef71c27f9f7dc0bb2ff84670f2940139830110b0e04c800302047c435bb50066306402302dd6e6df09b22308124aec24a9bbe23451596d9c2372d8d520ad8e947bc5ea9f14426bf24cca42c107c7e1632b98c9e302302a8d8f899d9a17935cc80cea1920563832096c1154cfe028ee9141e6c2fbcb09f2677a11eb2b3caa5f2caea105af8d340302047c435bb500683066023100f008e04e9e176cfd2cdcfdc32e12ae6d5aa396cb4e14d732abe54c8bd5a4c4e4925c35ab2da6d64f68b45f9231d3c6a3023100c4ac092792c07d1e18319cd427da0a0728074d1a7806c4538d1adff0e402060125a90a7a2e65510f18e5e9161ed1266b0302047c435bb500683066023100808e452c16002bf5a229400b69c46a1bea2e49e8d2efa40751a7b66d3c7fbe5d93a2f508999ab453143f03f2a380cfe4023100bb48739a9e1a1f1abfc272464d8933e2e297431caa0917020e130cbd82eabc787dc16d80abde4c50dbd9c8cd7b079f200302047c435bb500673065023100b569d55db79da34f8acbb1bbc93fb927cef6b3c8b53bc23644e273eaea0ef44f06a843297403304fff265b451dff369b0230109ec58b132f27d1a0f7af90274e2e4f1cbeca925fa520d4a2b890d6f0ce5dd8401a6c83e22b3183b968fb4be5df14d90302047c435bb500673065023100f1b27de0ebc7eaa560fcb3ed6bbfbe0ae3e9e2c1ab4815f33fa6d53d0252a80edbf6658dab7e78fc9947c6cf445dd98902307f02f39603643ce3cb1a8e2ef5ce4b314edee5f828e19c0c17ec5c7dfa4c19ffce389be7d0b689415b28f7185f3ff1700302047c435bb500673065023100f5a910a3485feae7eaa4e759dcac5a99c71bf05d78637e909ca10f7085490ace237c523880bf4d81c45a11de18c9eee5023073c5d70ab7b87be3de55675191bab24b7e7e8e3bd9123e005c1f6de2fc4cadb0dc5db4a8a53dbd18e888b7b985c5636d0302047c435bb50067306502310096e43048562153ba72c3ed0b208d79f890fe08e9350e8d2fd3f05473800a83bf41a1fb330b912335316cc896caa0778702303087ffcd8d46e76e8252f2809c9f656652a8391c691656440f630434a4aaba047a902860d969965b59436226da3887480302047c435bb500683066023100914016abbe3d3498aedb0ca95f81a9e5c520d51d588fec4e588e00ba83b009ec206abd869f90ab3e3e5d1e66b612971b023100b38ac8843f000effed1d9164b7c87c5d709a2f30152adf7f3b758cbed6fa9a98f18d68091e5d63b97972bd83e4220e290302047c435bb50067306502300708c1e43bb15dca0448c7641edd758baf9870345ba8b33d2f4cc2fc67352942dec7b9231f394e347bd344869cb4bd89023100d82e508443c4a03192e00d785765f369e4e8e83aad3fc428992045900c90d094410ba0cefc89e4115c2defecdc2580fb0302047c435bb500663064023070ec84d162a4e54e2b2110301491d53a589a2af4be607fe6319dffb6c669667c07fde8c3d03b2282bbb282bb1c687b2202300c9860c85c141cb9f1b0e1879fd5454346fe772473e6d525e55a3b60583b0273b2e18b4040522a6b71293bf242f1c0210302047c435bb500673065023100bc76c7e00e3d30af9efb8400df443cb333c3c83b84ea18c78a8679d53bbaa135ec09b92bfd332e9e9f803da2cdc26d36023060f86caaa77008b2c16e493ae5551459820430410eba46beff9ef1a57efe7d01f736efe548ad1970e2411f84beecfdd30302047c435bb50066306402302c7bab4e86500976ba8b2faea4f27232d48355d8f589ba1dbad998b96af359cb813cdfef59f4a93855c67cb21a4372b4023035db67f2ab1f1d34dc46421dd88c237c14d529b7149d717ae788caa5e2ab12093d818d40e7e094952c194be3930921aa0302047c435bb500673065023041f64331618b7d4b596954186113e3850b1a42516f8a793200ae53c1122246d5570415648427f20f8824446676fa5ad2023100811d82861b364c721f6334d5202d9386289543de781c83439f7b9e382862584a2cf1e2167d5d0b8417e5180fb6e4c9aa0302047c435bb500683066023100c6c855bc487e73a1bd92b56ce88085403611ef989d295af9ff044d90b4c4b4e7f7d27c8b48a18c29d0a61c17cf6a46a8023100b158b2b34011b231b4af9314100fc9f7f7a20fb797b93eab61916a965f54d65d6d191732a34e4565c8205b25f5f35efe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304afe85c3f1c0e5a6075b15f518562c8a6089c4ac420375cc5011b5ca57ad0a3ce6e73fb848cd7cd33186d8d09cbda4fa023100af53146702b4961a4bfaacf2582c0dab1b57a59917e1a5908c96ac8220eeabeabdd60459672b923050cfce2e31ee54b40302047c435bb500683066023100c3ef59ab969458dcce3c647054c259e4d7b4f04165a91532244be68da09c14c09da2ccce017106fefac1d50b4a53c7e5023100870fb4f724472231b392059b45f3546c93b28dbdb96e1ce6900061919174289180287c1260545d4e34f1069c5f2e4ca70302047c435bb500683066023100871139206e2cb246445c4941d163d393e5f179ecdf43ed1a41f0849c50fe9951054f6922e8221f8b10bc16d0c9f09afb023100938a94ef230bc9d6cbee7e49c7cfe8a35cbc1362f0019671473b883ebb2525025de3225e8bb5947931630d4a0bf3461b0302047c435bb500673065023100b2b8e5c120761e2ae264aacd0eeac7e3faa7e9838ab27fbd61f352f64e0a9e1711443250e5e31ee8c9ca67711668bd5e02302c0c37b8ebfc5941c52f1b655429df27beee430b503f086384cdc2eb3bd492c68f89de3ed9e9ed2d54e94d11075d1c000302047c435bb500673065023037c204414bc6f4dd69e1867ecb6cc8f2f62fe3f73e2a33e3a187571d65530220671c46e40bdc1a673fd215ad499c4831023100b7a01347fde0d68a7c47604334396d76d1eaa0f5a6b74944ca28bb26fe88bbc4d878695c3cb84f39d94501952e234bb20302047c435bb500683066023100894c9fe6a429cb5bec3d45201163cd944005f6a4577263455b766d2cce7f20dfabbfd1ea3957dff9d98b477c3f4b524d023100c21fea6d2c2c8b4da163aaf4f8eb5fe58ca5c0ea134d35d3bf02618a8b0799e2b56830fc9629947a89b7d2171c4801d60302047c435bb500673065023100dd6e7ec3408afdee14d4fc98d250411ca4f4386905cde1b1682b44f0605ca2a33a8c4867b36a03c4cdacca609df8af6902302ba1148371d66eb17bfa10a5663ac5bea7fe999ae6f631af8b11698977e53c9d5d1fd02e3aa5be346c7e9c26724130fb0302047c435bb50066306402304a1a2a58b2034b6ae91ab50436c997fddeb94e4640495b9880559c5bdbb22d01dc42b7641292c567b8e406ad28379068023071de867dc0a9146225f9b8458d82b7ccd7246a2159d63ae204cc9aa90bfd70d5eaf269bee49e9390b11a867e5f4ed0100302047c435bb500673065023100d4205bac5380b179b7de140d18340c0586e771eab3159a47de3d286bb8fb5a43499e33c20e876c91d177410afe9297790230686d3256a412fec558f972f935acffc34bc5155c9a9e7f65aef46373cc73b08eb843ad30d85be46a1ae40d74e83f82120302047c435bb500673065023100da258997acf59d1649f629e53a43157aaa57cdf30a1143768c24cdf87d317f8439f343c317cd7c3753d3135f01d012d1023060207509db43458e525a0386c723e2d4bbf11dac25fe4dfa50b16bad8924e3b3bc37ba68bbe737a4214654176cf631870302047c435bb5006730650230710483d07ae854e84c4ed108d594a96c3c8356deb5fc701d395d2a32f475c2e52b8d5d9a8321f32d171ad8da6a3af471023100dfc1e52cbbc64cdf0fb62b932a7e7fe421504c96fed867bac68a2efcc199028c9b2da1fd06ac73d1cae0bc36b65270220302047c435bb500673065023062c7f69f6426fd2ffbb5a27ef77c8571ef86dd650bba89e2fe3c241609fb772532e113f14f71441dcb27af684cbfb9f9023100a571e7955ae469a37ca0058457d2f08713349ec0e8b32f7d1e9b072922699f7ec337b9526d5059cf0a976e4cf712eb190302047c435bb500673065023100db45d6f9ea09a9dc95b086f829d4f9048158769a4fbac9294ac8fae10e4cb85d3b7d1ae7cc28c0f49576ae330bf6937502300ba6eba882c2dc2e937f57f2ead8ddc58506f39a8b4669eda08a6f837cdd7d8c620e462e42731d6343102a4074fa9ff00302047c435bb500673065023024baf58f2939de1c1f4aa96ee1cf3444ec710d2f73293e71b6160ef780e21fb09cad9586a6cc29669e05bfc1c2c5408c023100bb0ba4e44a2af810f528a863c478a038195d94e6c3a82d68564eec4cb2f2cc4c9a18e5fbab55006e28047f2f6a718b6c0302047c435bb500673065023100d9f8dff59cea3d388fb51fe6271d5f054353ebc9f518caeb86c3e6042c2cee50ad17f95c9489cef37f759fdb40689b25023072b0324c7107242d9b0d48464ce176f5de3d03d40323f14f9781514fda8c1dd3a561e6804a48c6ab18dbd4741010306e0302047c435bb50067306502304f5422d8f640ade697efec5b1ab0f88a06de9dd0dc63bd77d0433c96abd60c9e886e88b51ab07df86f8f4c956cf787ce023100d38025ea69a3fe182279b0c5184d59a7dbd5a43f089cd8d586cefe9de9ef4e9f0b6c81add6611afe1f436d50e0b47c020302047c435bb500673065023019252bf9aad50f4b989f41ca971ed9833fe638af0f50dbd8e3a32b1b529f5ec600225ce3ba87654c0c9bf4f69b098425023100813185f2a15664d9f20a2338c30d2de2d36d1f4e581bf0cc0335970f675d5b4b29201ac4ebf106ec97518dc489ca4cf60302047c435bb500683066023100bec73efd2844827e5a027581f0adde228c97fed5b331b8fee63b47d3c1099f10104c2d18fc502bc2141e9f2ccdaae1ac023100b12e1f5b5fc8869e8b0c81acacf737f9ee7603ee7c21b4693c6b765a8bce96e8cca2764f704072daa6ae25fc46cae17f0302047c435bb500673065023100f8bca51e90f4f89de75d3d2ae828f3834159e646d6294f8f238e1bba9becfe02c77ea93426cb5ef9cb9758f88e0b500102301555dca733d62b71995a292d5cc6224b54946781e47216bf55139e5ebd607b051d2103d20f58b9b560d50b880edc48fc0302047c435bb500673065023008f3c17f2f89def46abb121ed4f3583296568971714ed92e638ce5b949202fb5a40f0f55132543c768d635d5f8d3246d023100fa047f4c4973efabdb970588a07a1c21f53dee5a0d7f427fe805a40248e8863f89b1d5de8a6b86220397e180358e5da90302047c435bb500683066023100a09833f4c99dcc707f0e697ff4e2793a3793e287c4683ff07ed9b9ec1854dca8f5ad9217d4909e69cd053d744814b7510231009e40dfd9f2f2796fe43db9d2cc76b3888692903f030346f24e2e27d6c7f45fba9393a845f6385fc4f848168a629f7a160302047c435bb500683066023100add1cbed68f184a394bf21b211b59fe4ecf2f33b1aed6236ad998f8ce40b0f353b4a090564b79e344532e9bea07cd6cc023100c19eb9cebb9229a97879a6a84d9867e3beac528dd1e842ddeb7631ba62b0066e12e64f4461b7b756c2f20eb3f4d24be40302047c435bb50067306502300a0535217f38e0fd0fa8227a17954b62a170bd3de5eff0e3bea8719eaf5b1d9cf34eaf3b562c1677b71d5b415ca0554d023100f88af7803ea552d5777739f35f5195afa13de27df7c065fa3fdca7037cb31bddf41d72862a94923eb3ac9066a84eb4cb0302047c435bb50066306402301abe9886ef06637d90ac1b5d2db1bfe066c7e7e7df933e3c87324385ecd5ddcd2b026181a1c314617b3196af3b687e8302302298b30c7371cef27586c075afac249db03963f3544fbaf991c3aa655727dd5b1251949ae278f41d499fad9b3eb35e3e0302047c435bb50068306602310087f1679890e12d55d3731e8b9f0d32863a3ca44acd7fb6cf10cf1b55fe43287e40e26a817b13cdb3d9f011bf59428ae4023100ef38176ef62ed18af2f4610a9234f5fc420f28d48f6eb3d32f4c73b07a282950362521d82467e1bd3f3f6c833a970fe40302047c435bb50067306502303553879dd1c636b91472a25343e2e89aeadaf157efa4ce7ad5c223fdb2f7837cc8f2c0f19c29a6ced4c5e309d3061ef4023100e91e90a5140cee2a6009c78bdccc303926b9b631781e92b94b95ea275eaa13bd61f8664a41491200f7db539ab4c2c8dc0302047c435bb50066306402305be4f61c3f3ff72adb452e988135911ae1c2d4d9dfd3a96c4229eaa209183186a7aee3e42aa5d4e97dcfb7dcdb0f831d023066e7f0fbd6e9bc5c6159d869983bc724883d2088be3bbad400599cbb642970771da9c6738ba1c3b288b9d2feab6cc1180302047c435bb50066306402307675add17f44acbcf9467a7661556b9c56db480bca4d73735a185ca3577bd61a7d9ab06a4820f60b45c0eea6cd613c59023038524b08e2580489fa57c16b33b04b882b7c1b3f2f608cb8bee64dd27c3f238c56ed88c139f0cec33381ac9c42a231c40302047c435bb500673065023054803ffa745c6983300ae959572f4fabbb574493f534a7c40c3a44af2b442e2a5007ce8d3067691337b933ebc33ee025023100c00b813b97200b204d585d6cc56189a5ffc37e66b98dd1a2f6dd383105e5fc93819455b2525315d072809078e276f8400302047c435bb500663064023004bf20f0d5aa1a1be1fefb4457834659ad1fea9d5f3f7a636e6ea9c5fa011bddd81f4220a82dae3890e91aed35e6510d02302e4127f8977b4716bdfb5a366c2744dea38eb6b74cb8fe939a7478b83f886d5f9e87dd5f1a73fbe0ddabe5d929ab8f9f0302047c435bb50066306402306845ec379bf4ebbd186c3fcea49feb3aa0f6652009e99600523ef6e69ea6e95d42b0a2f7cb5482d8dbd941645a8539f1023020441caeff91ea98146a1d9d0e97da90d4be3b77f689d4aebb65d6e2c008f294b22eda4f642bc2010a08b54746f8707d0302047c435bb50067306502305255b360fa764373fcd3813226d8b23b1ad4ae56bb02c917c72fe6e91a6a12602ac63ee73757becc9b1bc1943a996457023100972bf2f4f0e7701fb3b07e4ad26190ea650d16b69f805432d66eab8e03ebb6a7a5a9139545b3f8473c219ecdbe594e380302047c435bb50066306402301662bb2f962339ccbff1202c39708cb5db8d0a9d0d301318fc66b4866f9a5299f7d946ae43bb284bcb9d015564d28b0402300608db4a804a5c94c134ddaafe02da822e78d611d10d4894297500806d67a6975bd8ccb3f397f93c72ed4548f9502d790302047c435bb5006630640230577559f5597d145f737b48c3ae95482558bc022d79819ee16b628bf93b9964984bd6ece94dbd5692034f70777bb6fadf023046e468f9ff20f9798bc8b7e11d92c648bea1b5885a97c89f5068fd338153e0260dc049b0aefcd171164ce81a835efa270302047c435bb500683066023100aec5486f116c709a89aa880a46b8513e7caa1f8a496e52f3f291e6dadda99c5d66849d85334c0b2a1f2f1ea3ec8ca43a023100c1484d71dbe630ea3c99a7a1dd022d5051423e070c706766bc3b38d2181e7cdf8c8d48a568390dee3e05fa4c9356c8fd0302047c435bb50067306502306b3bed7d4470f659137f701b6dbf7d1ba394eee983f9324bedfd3a5278fff1a4ccef4ca69b0ca8d8fc7697a496aa293a023100f14fee0b6ca9bf2b06098e8e0de501dfa3ad1e64c7615118752555126d5f47adb04586194db1461e064d5770067c5f650302047c435bb500683066023100d6d777cd47e6b2a635a1c5e15af720094bd86521eef5473604310c706a76fc8602f11c4ba81c35f09c070c582dcec8a4023100927a281fd84a454a1055328697aaf9dc3919e7115053e607360f6f45485718c016da76ef32dd1fda13a6aaf47a34f30a0302047c435bb5006630640230521d60e61a97d86bad007d2711b7135d5f24938d14e34c4c60b5f221fba451da1ec42672f0bc40b285855b7e87a967190230742225718c051b67708af88c90ca7857986185bdb7e64652c641b7415b65b94a160e82a0cd05eaff4e8232ad76a7b7470302047c435bb500673065023065009708cdb86669b759a6b900fe4d7a8f1c29ad50bd4964bf4bd1965a8143a105c0624b386c46107f35a75a9aa72db1023100c5f2ead6ac38f321900524ff77aa84ba30b3014155873531ffdce0b6dd755993fbcad486abb65932dcd5561ed47d6f040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300eb5d1dbf63a17dcb53e1643cb5d0f56aaeef8a2808d2b87ecb90f56664b6fe1b900ae6dccc24bef16b80b5ae16a41d0023100d3dec1582542d799e05141e964852f2ed1803f84ce4a26333b9ff5dbe3eb4511e3c9a0bdd0ecb8b1cc797263496a8f390302047c435bb500673065023100835fe9a3a1f004df08eefa74310f28237b1deb3138e82d30e2f95a1c9247dc71e87200aee10816d0dfe5bf90fa00633f02307773e6956307c1b6c7fc74073ca1c39b00e575daab3feab0b4f2c12e0da5cfc03f4823f3929df0477b7922a7b156d4230302047c435bb50067306502303c177c6450b4f817c7d88f363bc90ea1d4ac43c4eece9740fca9941938672126e7abfa163b6df77b6f6adfedc67cbc03023100fa13210f88ae226ec8aabb3fddce6dcc9613521eaf86e79947a3d75e8f7fdbd55b05869fe61079eb5f7b9f84b1b283430302047c435bb500673065023068bb3a3a12a47f6c4df08b15037bbb7e1c98382c9f47c7efb300688d2abd9c1df1d6e0c93b56572e7558d9b16f2c7cfb023100a7c96a8d2adca2cdb2ab5afbb1e73dd0465d57b506510aa64898250bb9279cbe768640370ff7aca438e5352d8f3641ab0302047c435bb50066306402300a606eb96ba405fab9d23aa25892adaaa1d4e6943c39a82601ea25419090e92cb663939f3463508ab85c17650a59e3c702304a5c6011d03f2aae965e29b39723856a2739fb585e824e494fcf619f3d1d850eb0a04d670ecc7297d23d64da9dc5d72b0302047c435bb5006730650230262a325ba96235b5258ace4cb7661ce72514d5a62bbb0a2d79a8dd5359004b95ef4cda351b2e667972cb853e03d8b8d3023100bb553d941e1be335c74836d97f40d7f2383cc0ea17d79398b5fc9633c64e144df2f85dfd4f7a68b059c3a81044b630e10302047c435bb500683066023100a009af3987a5049ea9a4c7f722078153ec98f9a7d79c6344fb12088090667e4a0ccb02c75078eb951b0e8c363656ee41023100f34c25d8346568173a52de0cf988917eac504fc05365ccd75a358738e01664afa8a3b88c175d276ffddfb26ba758ddc10302047c435bb50067306502302df8cb868c5d8669c1a73bd9a8016035cf25abce6abca74acebe51f59139bf6f78606150c733516ddfd9b0aeed4e1204023100c1889235c95aed14acf68954c83af74c836ef68b2f5a17dc7316aec6d7f30fb55590ccd1fc04035fc7ac8b3d28690a590302047c435bb500673065023100fbcd182e91774025410bea82050c142d8431bed2c9dc4f997f82726a5c485cbba3d50fd3313f7d9880d31682fc18eb8f02300693daa1171a89ac6110006c2dc22c1ff3cce1e61743f2524e7ec5ee6c93762ed2b9f014f59bd8f26d3975bb8d40aabd0302047c435bb5006730650230727361962fb4b1edd1ba36b9047d52ea2a6e92b0b1166924f9c82fadb836db3cc7b6bdb7d5ee80c16daecde326f1314a023100ac78e477e522623e214e43484d9969f780c5320fdf6a34d55417965361fe7360e1c128f148191b81a6c0b736264296cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230651b1bea8084157667e88c41099b897b98c7aa2a95279925a5518dc051a229cc7cde674732c27b452841723fafba34ee023100b619ecf032a0a533838fc24059a89beba240303f95c9aefcb2c124537e752fc4102055f1800babf4c4f824341434c1f10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023029b17ae893398b620fe5b97ba24169a6dbbb3b988c2c6f8c2c230d856cdff1fbb78167900e78a454e1f62e25dade5247023100dcd9d56eff3ce6b05eea2f4da3a7107584e79639dae9b966f95dd8bb38d336471584aa14026d70d567f9b8708babc9710302047c435bb50068306602310081c0fb2bca4c55f14692f98c1c6779d7234796dfd9d7286219bbb9aa6b1d1d879af9cc0e28e97b4d5abc85c9c82f60a10231009fe9a789d4d3cd3fe539b78da61421a6c47ee17c0f4d07b9422ab065c6b815543d67695f33de0f4f586c32eb4de32fcc0302047c435bb5006830660231009d820f826e899304f8dd5cb64c77e1e007c58c5cf9ffa64c2d08089f231c5d6f86a6f380d1f265db17c05dd7dbd337a6023100dcb8b1278e50c4237808591113fc0a91b584594d12b5f70b8cb52d05e19f1389af6b235e01d9352c3845ca05b2721dc00302047c435bb50066306402306ececc7c978a206df17484b24ccd59dbbc16ff63cfe6e2e6f04bdf059b627914b2086a978ca7bb096023b8c97df739c902305b70bacab95db28654bcdb625689d8631ce435a6864a09697e239be1131b9c98ab88e31fb5c0c6f3204133e0d4b83f0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100933050b4a00560ad7c94ed9620cac99678f320e75465715b9852df8d82742816133b248c83c55179e7a961a4d81ceecf02304481e1a9518c0745d7cb93cd916917f5e0bfcc99f31acb7642b5fd8609212d9533c90f4dc7a798c85b4b90800203b7940302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301997f5d8a65aeceaa8244a9663cde93685edad59a9d03f215cfeb13215c346e41bba07a52437058efc1102919ca0c91002300e9006248637724a5d294d929057195c4837d7a285f492a1a6022e48230274566b2118c34d68f9f95b756a0d243b28b70302047c435bb500683066023100f8ccb75414bb68ad511c92934048e5c2678cec4711accc824ce7e6932125a301883ceb0579868e0398c2d1702c90f8ea023100c40904262035eeb39e97d00bcd9445c8cf230099afc9a5f5b964448cde8589bd031467157dbbd827baa5a6ae2b6c27170302047c435bb500673065023100d84bdeced6052befcb56da5f43d5c30c66083946d442e75c1ab84e2a825d2d1dd9d6d83d3bc0d4b291b5603b1d23f836023015a2a1de357b801cb6b5a5c237d06de8fbebd11355e606d57c7c9eb9d1edfcb728cabb4cbc34c5823a3a90de553cd1440302047c435bb500673065023011942b7fae4bbef3a47f0541bb250793cc00c120eab543e112b97026674a23d9a890c673bece6891f0dbca09e3153548023100d96ad8c7f3ec3eda2f23735cd3317ef897c62d6b09364d16fb4f132573e1d6c41ddacebe30a13aa22374f7189b43f9350302047c435bb50067306502304ebdac12221833e4c8830640474f8ac99af35ae3a320bf31edf31403f431c78bd78cb06294c4ecb2c9d5cb038cb628b3023100c78cb75e403f55b889356319516c6b76e76b11bf373527e8c725a279a5aad98b2a6cf0727db3badd9fc8b234b425adf80302047c435bb500663064023067beac57623908ab60c0e052da69cc355670c151da68718f8d1084ff0c4b82f5ee2ae9e1271b446d8c8ff2796f1a7e9802302b3ed6cda9be1e42aacb0c9245fbe2cc950beec3ae9e3c6c0bb835862b8ba802ef1beb7ae1b4f4d563d2f7474964e4490302047c435bb500673065023100d40975e11c99494b62e987d1900fbe575028e2817154f705f07245953b71882c54d6c65950b3819f394aa26a40f3e19e02305daac9f7feb69b0d1598ccf4e2998564fd16bde022ea8760a443970c9875d64a652fc5f13d9949e7030a27004bfdda3f0302047c435bb500673065023100b4301c77bd44860f2b572f241b6642607d08d7e12fa6353399e33da8288d76ca3d5e2fe53060e66b49cf2545d9d816a002307f377b299f298199ba0f3124a7750f27ccd1a49498496b6b552ae61d03b4c0aadf03c7f406b07cb1113c9dc9420060b10302047c435bb500683066023100b55e1ae7f3c8084a893d67ec1fe7b0a5c94d7099d5699678fc241b6f45fabe4088c102dd13b046f8cde2b76432ae68d00231008541495616bf1978350c882eafffa8a86ca80cadb71fb39817165f07e9039017431718a14cc324469b8edea8e29388b70302047c435bb500683066023100b4223d449f0f1f03c275d96f6378d719042d8a142e45b5db63790b6e4dd612a47ac9c45fa812d5c2ecc400a40009e15b023100f8abc4c85fb95e4ba0aa3f3eb3fd0d3d0767cd1a980ea4c5f2107c476c8736567e26bf1506111194efc8dea68e41d31c0302047c435bb50067306502306c03ed9c4945bb377ce19cbcdf737f4b1a5e94a165f4970441c76b656b0eb1a56fd2967621bf6db00c57881df7f945a6023100f1e7e98d756b9003be495e91d22eada92178ff319cff5a7d977b74d86efe42dbe75ea2badfb9fb0ad7e796fd9026028c0302047c435bb500683066023100d6169e3e456add3fe8a016b4cf6db962da05b860109e42e0da94e8e81e3f866fa431defe9b14a76b2522e8054ade966d023100ae1468e0ec30687148e4cbc021de590a7f5e96b93cdae79a459b39e1ea8e63b7a4502653d8920f2a20e1030b4bbb2fd50302047c435bb50066306402300e2b7d71dac7bfccda4a0d270f033deac6ab77f2809b6b1845b742488a7022e614240bf9a616f470b5a6368b1ee5183f0230454922c8030930da8033489f720e9dcf1b93f566fe6c692392a2adddbe75453bf97ec1eb3f171ba9803da9dc06f2fb720302047c435bb500673065023100a7ab49af5788b930f7e3f5d31c790b0fcb3ee4dc45db4fdcacdf92d7ed6b77772a886309e3c146ebfaa635cd4710060902302a33e5c8d660f77559b367ce7ff6add19adf127ed331c8103332b3a74a4fed666f35b738881722b6363cf55368c4f0ab0302047c435bb500673065023100f01c09c84877f149e51a199cb437b7eaf68b6638c512720a9e705a84675946dece411a73ba7f50c0a58251cb4b8070aa02304e58aa3afc32052e65d994cd6cd9c375111045ad12cc7ba567a46864aa5fed966fec8379e6c279117179d43344867bf50302047c435bb500673065023100f7a4c639e833fa9fe76e9d8ffc934814c1f3fed57f41aef03c3af54b35a24f87b8fba2b6a2e4ea6aeb5a14c6aaac8b8c02301208eccae341df3726565d89be16bfecac241cb79b77da47a925e59885dd64344065fc9ac98a9081e9113a93e11dc9050302047c435bb500683066023100f653c0b135fff63bfdd4b2515c5d67c31a8a2aa7c03d2b28c7e1c272c06fb9e64e5c67455aeb518d99b0e8458e706f11023100ed3d170c0958b3611b9dd3bb3d57a9fc795f65922e6da7223ab5e9795e9bbcd5135471348dbf664b2cc7584ebda770e70302047c435bb50066306402307f58b16f13606f18fdc7609dddb615b9ac811bb555cc3c7f7e9397658a504b703e264ed9a967d806978bc1d94ad74fe402300474250f6c25b3babdf86aaba443d03473855366f32f8856860ab8e229bee70a41273fa10b92f18d233680d8b857ad6e0302047c435bb5006730650231009a86d159973dbebffa3c52429640a95d8dce1c6ed6bc718f097211efc9235c95c785817d986fd5a6a6ba4e32502285d302301da3556a6096c5463f99b2ff2587950788e52267cf2ee11106583f26bea32a3c979304dcc5f57c83a68854a436cec8620302047c435bb500673065023100d67351958eac441e55158d1544130999abffe6a41ebf52fda63e2db46c0cfa2328718aa481e56fa020d33930f8daf84a023004c6ee7e2adfe259c9df1108425f34c0538406d4a9aaa590053b417f8c9c33fd3a2d39bc94f814f9da1dae2fa77308bd0302047c435bb5006730650231009f8010a278011d0259f01fb7f2448297b6d4ff0eeb8ef56fdf0c4d78d800f37d893ce22f0e4b251a01b0b6c71dac252602304076d6118103dfcdd68fd66365e5b24bb9bc054addf33d1d24ea85606dc78858fdce6a456504ae13a0607a9901093d660302047c435bb500683066023100b8d3590d943b822b1ab10c7392ba527a60d02c78c2d82eec7d7f24e4cd2bd779981bb04d298e5b78d1a8ea9b29d10da2023100fb9a198c1111b29fc9f6d5aca73473a7ea3a3e4a24021a804085974dfb02ce88d2a9d77d3c2ff4a953c29b86d5bee6250302047c435bb50066306402302c501eb6269ac79c5f652603ba40cf911b3adec4fbb1d4ff0d855b0a0c25dcf5e2681fc922560dea1b773236136322c4023050a131fdff1acdd10b320a32a87c96be8b626205a1c871f5e584bb51d076d3a031be97a95cdb8e4a7239f3b0616175610302047c435bb500673065023100fb9081bedfb33de0f33cf21c145106b95ea44bda19356b7141093c9186cfac7ddf0e54df9405e99441bfdc7b40b8341a02307c6d291280b7a9ad7f20416d2518599db07fced2a0d4a553b2ee1702ed803cd1199d77f220f36fad6c6b3fd9eb4223530302047c435bb500663064023014bb161c8761f98a869666b3f6b8f916a51b70189b12fc93e264a822fa8933aef9fdea10704f1fd8dd97975d021ee2fd02303932eb2b10cdc373eb83e4b09e7b223b4fd08ecfb2fcdcf003923c5d857165df145d237848a5d1536d42300e18149e2d0302047c435bb5006830660231008c3d8efa2c21533342243d35f3b15cf2c378fd0eb271c07cfaf6c07de66d69408b1a9352ad88676d085995384fff4c97023100adc0403b12a24e6ff1ce52a042b7f7dab67b6f06c34973b3278575e516bc8dc469464b4d274cd2b53771092f72c8d90b0302047c435bb500683066023100d05ee46b4f60729b21467901cd7e795c5519d16c3ab4636a8d2c451af9b3fa6ee1f198e7228f3b2a353c990771e22791023100e1999721b587fe50a06765e89f6317c8bed2fe5fd40ac5a0ca0bc650f778c339edba19d80a7cdacf5739c74a719f70ca0302047c435bb5006630640230154a1d22c2438b40d711106d9ed9ed84759bfff007da9ace7bee263cd97a2243650618109d1da79b78c6fb1a3d60e875023059f8b4237a4c041dde0faf6fe23afb43f9e0da186a3095339f1f0b8cab99a074e5a045aa684c5dccff944727e3c5d9490302047c435bb5006830660231008eace4cccaabd0dd9738b6484c8ea73ac28fff719e9431926043460119ca03b19c65fd4a9f47f43ccf6b22eff5001434023100b80486405715d0e8cbf4c552cc1476ff7caf7687ec6b3fd3c866ff903039d775d49b50339711eeb8e26df70b4263c2970302047c435bb50066306402301e2ef568856cac996bc9e67a65021c8cb2d05d0e5c1c7c515ecdc01c64710c1aab080bbe6ffd60eade50eb82da484c4e023063235427a41caa7fd7cf368f2ef29f6f893cf9e478e6817b7b0ae94344cd181f6016bfa03b3ef60869c3871232f207760302047c435bb50067306502304caadcaf96adca4ffbeba6f10a6f2c913b7d47e1f34082cdf5ccbe26c6f2111ef1cbe2380f4168ef88507d8e60d645ef023100989b75c2fc34f13f056460cbd447d4e70f4ced36e9810324699bf13078012951ba8d3bb08ba7d1d0e7770cfc0cbae0690302047c435bb5006730650230486c81694917a7290b3e238391d8e4392ac2bedc6bd87209fcba100bf44f9830a2c91b09ceee552e296bdc4835a5e025023100b65d0f601af8c5b33bda0255a2dbd2a8deb4ef5bfd3ad16e10e05cab1d977ebce1bd2d42e1b31115a64b764fda429b3a0302047c435bb50066306402300c0192d17162823f1e79936d9b872d5ca90ff4ff87556bc7e7a0e194a0864603efaa5b43b7199005453b919e29a41aca02301448da8476834d0bee812030f46ad5b1dc5ca900a6802832dfef98fbab7d644ccf7751e13294c4c056c8d5247bb245b80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100adcc7afdfa7be0b9a4633d25f43e4761644d2add9cc86a7900bf41bf6a12d729560593f09982271eb6bb396e13d34fe702310082af246dfe0bb00e98b7b8cb17b823359ebad21b07014a3d805cfa29a73d365b9cfae91c7e2f86c803dd53e1a34889ef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ecbf27564b8fdf616f74325f58fb462fe3e397d0118f4ea3a8c921c5b05977b8945b78ac10b988f49eb9a16705cbcbc02301471e4370c704f342a2cd834efb3018ed93b46d5ef329bda6311f2504f939386a684c63f19540724ef45c6990e3bc6730302047c435bb500673065023100cce7d28967ddb723d10ca0b4942616b3ac692b38c21e7d59c5552dd06e15854001a11a837389a1c4dbfafc3f25d511c402303862baa2e8b726aee7efa291b465439ed43192b977ab4e2a8542c234da3c04ec65dc18356e7c0325550ea65f75eda9e40302047c435bb500683066023100a8d60a1b7f376ca458c8d9b8290fb88f5fc72486565585c203f401466a0726ea5129ea2cb0e2b302fec3923921d5576e0231008a95ba5f07546f135b610a820060ffc7254838b5340c12e923e214e5eb5d091c7e10a53f85e62623d673dcd8c01e59610302047c435bb5006830660231009ed0a044b4aa26f811104b5a4c6dbe27844757e39bfbc6976599ccda66ea2bdcb744238271dd8319438c96086215625e023100be46487043b42212854f1dd9cd07482aa2ac58b1a3f8cd6e341504a399c5db68d694cac47a5f177c1b84d80aa3bb18800302047c435bb500673065023100caa6123f848e5a85ccbda3ba22197148dc948fe47d6e5ea8336c6cc2c6715e509249bd861d1d7810d232560bc9aac018023051d2af2de8c0958a5f3a65839fc8c057960bfefed1140a78ac1c88361d69d8a961807cc5770239e169e62709f058e04c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304d7b131d24509def4b3b0a0af216d1dc3c3cf9b38ca1b98ba43dc91a5ced5bac6cfbfb1e948dc39f46b4b74c3420aee90230293126affec9f007c441d97487deab006ee931a4414fd32f52f312d6f2de747891d29e29ca2b46f071cfdb530b1bb8310302047c435bb500673065023100aca7391184d588c552fa8d9fa0a8fc2b134bb1e8dac5350e6ef1dc073907261af46a2337a5cb96b5bf09cbb45150577d02303a9883ba9fc755e697f755541ef0323b271173fb5392b556ef34fa7851ef16fc028aa2c1073fcb28c2d748d877e569920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023069782f48eee4bfd7536e2393fa7eada531688bf57cc34dc1b888d63f868d1efbb4d0ae0428f825ea3bc668e30a6706b902310083bdb620e3bc6c43dc2b3dfdba892d37a5a8929b14f1b907c89ee908aab66158197f710bd6262679056df283c0bb90110302047c435bb5006630640230296b1f8128b434a7bfe2a4afbed48f2ee231749c5b794b58579091a4d1afee6ebbed8697c41c3688ba47a5aacd4d1008023010c5515a1cdf7108df6776d8c3da14ad3a13b907463985206941c45a38de59ae9662868a23956917e6c5112fadb3d90d0302047c435bb50068306602310082fb641f448454788cd1971f837a69e7c2cacd2ac5e052d53a8780eeafb47ec42814f4ac04845ab9eeb132598588c3be023100a00030c9f01d3188cbcc997354f115ce5310abdf3400822dac6fd93af9a2840e3530e0764fb83b72c8d6469515d3460d0302047c435bb500663064023016f55380004c4f43d1bf67deb8382be6503f86a9084bf6117beafe3134b18602b44371295dfe352ef5e1f7094e8e660a023007503b2bd3bad8c8d65a267771020254eea9c6ddb2e3e99eba52c4523ab2e3860a3ffb38201d0864012e1391ae198c7e0302047c435bb500673065023100f071f638405226b729e1f028bce69305e645b1f010fb629db446a3d4e6818ad5429bfcdb218c054db15c956f351c4219023009fd3a8995b7620fbb97d53af2125a44faf51cfbacc3b880d3998b8b3f16e2ad4755e7fef1b04bac960ccafc3575c8aa0302047c435bb5006730650230521d9ea3ddda0c47d2224936ab5f724a2039e236c76cac6751101ec7bd2678bf7dd4a882e00b8b837f78fd6c86dc2ae2023100f11cd9918097c50fdfe6b70d74707220d309a0d904df9f40df30768e71d92a184eacae7c46c877ad2d4bab96152d07a60302047c435bb500673065023056d2a46b40e3ddb6c5439497131fbd2e09edec70153e9495c2d0d9b54ddc5275c0810e1df28e7170ef2dec7acc2b9242023100be927fdcf94e1884b544de8152d7849ef2adc489c377f26aae4a549e1857585633c6cd3ca77c34656e74b2ada3a9aae50302047c435bb500673065023100e98f83b0824829a3d8a40687a2724474ef95b5cff47e52b36fd668850e2f06a98f367fd1907d4b7ca845e9bb5a1e809602303c4a9de11014935aa546d924f5a963b12b43c8b62b86434a9c27ccda4d9a9487e473bdba6a72f447d321d090e95ba4e10302047c435bb500663064023000cbf0928704ebde1d1d4a5a47366901a4569e383057fe54623ebf69707a50560e5cdc6356213ef5f2aff8e13e1e8c0502305e0bddf148f42a729403eb0a2821a5b8f34458a2a82244a710b2f60795c96bba5a00897e3a1b3cc4e540bb85e722537b0302047c435bb500683066023100849c82abe9f11930a73e4e12baad07bffc1ad8d7c949fe6e158a09289f86715a24964bf72dc7303247276918cb41c6e3023100c3d3a787300e43804e28877f4104c0bbfde50b20c02651708d1cbdbbea106edbeec9cfba79856d869b10a33a69030ab30302047c435bb5006730650230713dc26542545e09413a1618a446ffa10d49e44c1b7558a81d6a47be3fb770d3b5146bb081d2e6b6fee01400445eaef5023100c0ce50f6d9f021568d905a3cf38d9a28d5664f3d2523c5d365df859dd26a4c86097e1b7f9aeb0301da8bd1b0def93f470302047c435bb50068306602310089f27a3fe76970e52748ec4783ce4bf046ea5772a6d05e8c9a4e7e5ddd4c99f89fdd7746a40de68f602ef76968350ffc023100fdb689cc638ee0be7bcfd55a12f881f2a13db7278a6c37c4ebe7a9572304b95fb8c5f030f3b76484eb68ed6d60f590cc0302047c435bb500683066023100be73ab1566948040283b2519b318d102832be2e82663386a98e3bf7b63208f451062c4db38560fe4b84f2fe8915c0ff70231008b87772455f824c0faf26de11694e58d1f104356121cf047c51784def9c11acb35bbfca306e74c9cadcf00ed1ba5c3600302047c435bb500663064023067a57bef9532de61aaa05c197c22d4f342ca6227eeb1ee0752b7439f2812d5cb45ca4c737d3b3a2dc21e96cf138c08ff0230710d984f8ea683955b6c9451c958d202958df071c9d1ec6e92f35f5375f80b2c1c4c640ca7f0944dea0aeaaf0666843d0302047c435bb5006630640230624093a6d21dfa71ca48e97ff5c247d7794c07f95a54ac5e5fe7beeb5fbc8b76f2e641f379ebd5fa25f467af0739172f02307ef91c3b7e1ae854eec5854a57afc64fa095baf3a9d2ebbd291a60e1b539b269ec445b8a3e1a399b4bc9f620e85ab9160302047c435bb500683066023100b6d5fc8e4cd7db312ddb5c863750fef021632c9a1f8e566164c20048522b43533186606bdd6133dd8dd39f05d66bea29023100f11e48a3f9efca7459afea638869bef84a236d557ab4ebf8e19e709ad84de9984d5e3a0b02b867c2f8aaebcb01aa3fc70302047c435bb50066306402300548f312b69ff17ed32350880cde901d645b0fb222389a7918bfdc9b02d34a30a76322461fea14ebd1a07c09021cb8e302304d7914a914a1b7d3a5a1062ca3c6bfc6c4216175c589200bb8f48ba7b67fae771d1399c93ab6e6cd17069d5a1d88dec40302047c435bb50067306502305c8adc301aba66f5dc0dcf72057504de0d5de3c8c3ff41d61401d447336a3d43cf30acd87740a57282b04257759be8ab023100af49cf0a94a27804a2339a7139226a363c7696bd065df83a0474b832d8d80473bedc54eb2baf983aed1fd59be98277690302047c435bb500673065023067a5a5c1e1c521516beb6354b94288c3164d7ef971899a8659851d93dfcaa6007d210757f87472fa0ca6993b4fcfc122023100c10622f797986393c80ff13d295f9564937489f15e1ecc968755fe93ca4ae394a1f241802a6faeed97544451cf461a720302047c435bb500673065023100c4f3a54dc1857c294d9b2da4ef57e0b714f812c7046357fcb8e7081cbd6c84f0f506bafaebdd845c5c7c3b2205689558023041d58070168bb60143e7ec126e7de9c4cfe7bb5d53f6ec020b6606ed72b66cda42671d0b2aded9aa6cfa532aae40dd330302047c435bb500673065023100b3e1da041921d89be887ebe86342d9ed7389492b2e3eb7349d13407eb395f6db376b21bbc1ed24ccb19da9b4f6e60f0f02306cc0e4157bf3a488c392a8f002e5daf03a789747a6ea8e872a645685891a92d2e3d50d0da7b549b4c6b0144e95e91ce80302047c435bb500673065023100d17a1613d4fea0bb17e2749ce5c8220bf2844410f86df49a4027992d19f553b337cea7d7b0ada8909553287bdbf1a09102304e3d7343d6a1a36adb878e036312abdf1ed2dc18fdfda5141081e1a62a3fda8a39ab322111a9f1eb56409eb31819b59d0302047c435bb500673065023100da677176b82f3dbb796680b9fef7b548c30e4c7e2a98619fc57e2a6be3fe8887e691455382b2ec08aba0cd1986f3796002304722a0542571deba1c19e9321f233bb786d246e8ec72ce7a766af86f6899024a625096dca6acec71df2a388ed584c0be0302047c435bb5006730650230233a26c242e4400eed7c13cb660b4bd95e92c72fb737f95370780f114d171ac081fa55605bff3f986b56fac237876398023100a7bbcb6d0fac2d6db5fd67720c6108eb6d5971907e906b16687217b2f4441e5d5a1f59e25a047253594023b216b969e80302047c435bb50067306502303b9907d98483c8d5b9027dc8173fd3da8fae5b9bc79ef9ae72836a942070d17e128ab9475942c185febccc88993866d9023100bf4ea26a44c888f1045c76dbab2b1d2f7c15f8dee9e38b38ef22e1f5c3d4cc7f7dfcb1d138a39a9c10266f4a2c16ce630302047c435bb500673065023065ed9787637b9c50b6f198946dd4e3ebda61ca4879b56afb07bf8321bf1a0d1b4ffd4bfcc2f07ae3f9039dcee1a55f53023100f087add43fcba1dc584a15d0c7af0c7cc8e1fc915359f1871689cceaef8dcc436173c0c33fe8821c97d477c1a40fe91d0302047c435bb50067306502307591b24e574eda2eca667f53b2b88e36c75621a9c1b0f861f66a478d4840cff2c69d6155e7af81557eecb9ebc41e9298023100847191fde3ec0ebde6680126a86c49ad459d2c389d8e0a5d8288de59233e7f9c280732558a7f14355057a41cc5e376380302047c435bb500673065023100e3de4577aab3366e287b9db4b231ec5d868160a31bcd7031e411a355a15e2ad754f817cc0635b417c7b34abd07b9c7ed02303265d296b0f6e1d959973f7d938e4dce1803eb47b43cfa37a076585aea256689aaf0492d51bc33fa2b73e3150d86a4e20302047c435bb500663064023045be717c2640478c10c9cd70151d98b6ecc5694884028d1c8c923dfbaabfbc2c24eba54807dcd5fb4977bfa266bfd0c60230744520e2f67626f61f83001f501ab90e671300a5a1674ff5ab5987e6bb495bcd89c9989278b012060f248809ec1bcf440302047c435bb50066306402301c66f635ce4f6183ea31ff466dae1332bfcd49471ff29f9a34d7110fb036e8580253479b12ae7d81e52ef5bb4261e1d802306beb2fa58c314aa877ed8deb67a847e8850eae26cfd0802091551b7a5408db4110ca33133c60bf10b68264954c4319520302047c435bb500663064023037d13e8f043218117e074e8f721c8c95c7236a9a1c293cb6ff55176de67b4e784470948f7c6765b0d89ff8929db229cc0230532ff4a10110ac12e01d7f49e0f1909093b5681a809ddd683e4654170e0c7d4e52432edcccb88f7b04c65b13d37efee00302047c435bb500673065023079484500fb082402c93467001172898af3ede9daf9e80207e1b25e06ee4ee82000adfc68f82d9db3e0f1e9612343200b023100db3c26ebfe6efb11aa198daee01bdb148355dec97a58dcf3cd685b09a0df11824e24c811e072d83a859f070cf81154250302047c435bb500683066023100ae80d0dab14ef1c8e1af02d50bb5646d81b2bbddaae4e8cb0783c90316037d3d263520c2938792b7f5252c1cf14b9c20023100e39372f6e8db4b0915760799de31f943e504b5af820a9cd7f639bd7cf11b543d216c1198d3b70701be0a29504ea7118e0302047c435bb500673065023031ef8a19deeb2649b0554bf77941a84627a16267d57215efbbe7bce6bc2d90d045f9b64991d921cf0acabda204064a53023100ee5f913039f3033192704ef39b370b24ee5f7576f8d0291ee8ad8bc57f9143a879e400a012b5c369b2f13a5df0409cf00302047c435bb5006730650230619625cf249a4f7d84b8e11b8ee35a34b5d1e7615866d9ce55bbbc55dc0a5c16ca62243484792841721513e5825ada87023100fa39125a7e5bc4ca0895e1c22a77bbdab45ddc91022d1daa86684e9eb1a4f65def9bda9ee9be048bdbf8f021653fb4ae0302047c435bb500663064023048a212ddde9b2a9fbe14c11760f68788402f7a41d8d3852141530b6adebe8a8f268436cd134604c3b9ae269d9798294e02300c3045c30cd425d80c72e63b17c3f30aacbc1c4448ca3706f8f0fdf2776c756a29906b0c35d0ae46859e946e2a1941a10302047c435bb500683066023100e85b04a7e1d944e6963a078ffd32d9dd4d812359bae2ad8d75116ad4d8adde954a60fdcd632c8aaf64448f95a68dd3ac023100a1355606f67d6c3bac14940e3644c2d73fc5b279361f4a0091f6a876cbcd06d7590d558f2bceda71da688e3b92f4f7680302047c435bb500663064023078b1a8398322aab11fc7ff25f2dcb03159a35a7119a99a9dd726e585a721e736da230ccbb80ca3f941a52607a622294a02301f1649082743110925a93717c84c4d0ce6a1066aedfc35d7160472a17178ecda68413361ae36816b99dfbb79974d15980302047c435bb500683066023100faa86af0124f011d74bf68b783a01001b08d028860f48d81b53a5e85fca00078cbcc09fffbf2db433fae7ce116e84664023100e0a6547c5fb11850ab3173175fbeb87d91ffd658a2797d102ad9c13143e4aa9679704d5a573ade2898041155839746d20302047c435bb500683066023100eb695455f61a63571f5fe71d2b02bd53b26ee0418d9a8c0cbedab692efe9aa6ab2a4da3aa71154a50e9b9246cfdecef2023100b14db1b9938f4c6a5022b69a8d2169563b8271a00d05e972c80acaf37d084174a93d677c159177c8b9152bb7c78f2aba0302047c435bb50066306402303f95f32633a3e87b40eb98dc66df3b7eac64a3e876303f43795f065413ea12a5e5c222bf9912dca6f8355f7cf76f709d02304f53f3828ae3629a2c2ba10dd5e024f7c09aea964f4c791499a89a6c62478372372859e2e730bae3a8c5c94d82adefdd0302047c435bb5006830660231009294831059557beda60b91b3702c0bf5ff768ff045460c08724f168bb4f77469f1f8db0abe9a05c7238cf39e7341e0db023100f6a4d81c60419f4301a8f5a1cdaf0efce65a0cbf03b0ce4fd33062fa3d5bd661aa93f649a02f0127297640534590eb9f0302047c435bb500683066023100d5d9b38736e9647db9037ebfc1832c541c9f6d9326a1dc50309315adb32ccfd49f984923974fb08657d2171467ab910b023100a73ba1c0316099d0c9645a8de1844cc964c2cc0ffa0513bd09771c6b641c59909ecec818089360718767e59c8c899b110302047c435bb50067306502303b685eee9b3493395ece4cc36b33631c3b84219e919335bcb2f00c820006ffc92d412b503aeffff6e96f941d5fabbfe1023100e470c94391c6c8886ff4168fbf1c4fd4a42d580fa4d5d146eb6d9f822f789a8f765ac13c65df63d2f7984ea456dbea8a0302047c435bb50067306502306c5df46faa16b467b66b68c06f9264d45a84fc6fa4dcdc0c9dee7d5dfffce58807b46232fe2267582f5d51c313dc4f99023100822f39f4704cbe077197792ba11c68f9939b1bf9bfbf17b9ec66bb005be9785aea4366340fb7e76daf411fe03d7f18a60302047c435bb500683066023100d0bd021eaf31ca45cd25e695d4a489c8b9960254e99aab4e2654a96b39e9e1210e88cd71947a699cf22156b31a0ee65d023100aceae96110be56d228ed45255fdcffcd537ec3f6894aed272e7e1c6721fa285f598c04a660f08fe79acc8f93769a9d310302047c435bb500653063022f5072d49bfcbd4031d222b04974dd90a92729bb67d674ab95b4df3dcc425abf7684d86ae1f9a5bea55342f8533fbdb002304491efea2e91fa5ae56b7e4b38df98699fae3beee3d5d685828be3f448c9c25b8a60b9574091f5c08e805f0e20fbf8820302047c435bb500683066023100e580140e57e5f178ac430c5d3158ab418f6aa43dec94642bf2a6abb2e2414d59147d7a08394585fce116db81ab76572f023100b458daeb412417fad16a0349e17312d737f4361bea4c1c5100e83e02ad75808954f5779d15a48007d1284d52da3251660302047c435bb50067306502303dbd7b1e69d08686ae0c847e9d89be2a4c5bb76d4f566cf2f5c5be240ad465ab6adf9f65b10dc7c52acfc07366eb8b43023100f9055db78253f454289852f38adb07490828a014e643b2a4c834b3f645c8d97104ec01b3af5626b4d1c3353b77ac40700302047c435bb50067306502302625ee64df52fd9cbfd8da2d9c9aecd723e5a1bff6ef13c974e99cb3906e3808add7ec3ec6419a6fa206fbc06a4b53d8023100c8dd74c95b8716e26ba57ae9e29cc7f346ef20c2a85e786b6051b517217a7b20b37852fe74805f508637f55948d40fcb0302047c435bb50067306502307c5211976b51e4f95de8c2d29ea665387c69e75f7e4a087f32d3a7d7143dc83505ade581e9c3400b993641eb72d0c146023100fe379cdb9a5025ba26e5dd18aeffcfc218896f13c4aa7c95d84778b27507b5099d8e649ceffd125a2f88f9aa41329ede0302047c435bb500673065023100f9cc401def5ca28231f168806acd272a7014bee68a017b331da4e5c2409d42ada22ca28d8169c55c5023b3626c95819302306d5bec35036dd4967b2e9bf997e3a7b01a4e5aaf4dfe8c260c5fd7937a6d9c69ead695c7477826de79c237b0a5ccb22a0302047c435bb50068306602310080523817270dc9d72e49549e33eff993ec1fe5cbe92b7b5dfefffd01bd2c083f802edffc5764904ad406d4557b6b778e0231009ee9938baa2998528fd4d824b7f22ea71c4a6b896a8949ef17309f4437838af22389ac93e38203589ca7817ff6c6a1b30302047c435bb5006630640230760b77679ed89905e219fab5f1f5d3892fa3b0e6a5044ce1e288f2ff5bd716b1a3c19ffde56f8251bca68773b6fdbb5d0230377166ce01eaaa5869b05ee313b4fbce473baa54bf84aff15de99390e1b61e64c6f60c4a1c05ed5dd2a64a717c6b30070302047c435bb50067306502305774aa3851cf283a1a790808828818495864a7343d63e492de32a3e6b2fe9a1b483c9711931f8bbdbd9a2ce71d340df5023100e0a7ce3ed40ae3dc3b7100c7c6c186fd31ffe9cb00a9f4449781a304f9172a96282d6f9acacfcbc279fadb7e3ed404b10302047c435bb50067306502301816395e3d3479e431d94a1e0ce56b551474d3336cc7b50dff0b4857b6bb663cebab0b7dafa35181f15f36c6a0824d07023100cd3cfe45415d5e39cb940ae4c0abe69d0c16358808276c4d4ee155c46aabe6801f59e5d19e00b5c9ad40b2364343bbd40302047c435bb500673065023100f6dd8c1c692d895259a1fbcd268eeddc879437891b6456fda5e75e8ba20d816302c26678a979bf3bea7b504e1826b83802300a9f9a1b9f31c2c0043cdb86929404397a64adffe4c93d8ec78f02b3c544a4aac3d516559ea9e243e6f4d86bf121467b0302047c435bb500683066023100b1da43be9aeb18e373f4d2970c5c93112474333906d40f8c4432c05ffee6ab6e5b396fc52b3ea1aec907d4501f138b57023100cb7c516f614955280e6d30cc7d39a0c3f28b2f711d7b3c7d73a0a1f1cb2b93f87aadcb89a61b1cef805ad3fdde03ef440302047c435bb50067306502300931e4b486c7da8e1673e53fddf95607be20274de9cbf0a391a464c85b197abc6aef708f78951e66391669390fb1b949023100e4ab2709f46266855bef567341bff3540a22707965054ee60118f5eb5d0803f11500a7a1fab3fc80d1caba9cb161e98d0302047c435bb500673065023025bcaa27e6ca801884764f4c4bbb8da108ee96097b30b1366a4e3cf455db040eeff5abac267a3a322fec71046afa4e82023100f9d30a9021af8daad2a424c1d09d0c111f18b25a1c994094ab233093bac1e18bf2a9f661a6ab03f03d71e2f3554224450302047c435bb500683066023100924bb752a094ec622af0e24a58636e134eeb5091e7370776f5df888669bbc56cc9546d8b20878e5445b02665d1f7050102310093182b2da8c984e3fff3f6560b8a479ef1d6f34f5a0f57d864b0a70304578ac8eb28fe6a60c62ecde6873f20da6793460302047c435bb500673065023100e2fef89ec75a035f970e03928d648fe26f3f6241e1a197452675d87d81720a9e0476d8caacfa30e31ac40f9594eb67e102302caa1948bbc80b00c866a2877d8c29e508f87147c7d13305571814b12b0b22c2e2857336372fa37248e4a5c042103fd50302047c435bb500673065023100ca0bf33435c4eae3649b1e8f9814a4c13a961e046b15c8f0dd60e7f3e91a2453a3d14b5a7e5b13d922f7d42285d97393023011e2489929f75a1cea82444d3a6eb2a52204eab3ac54625d31dcb511edf41cfeaeb067377812196685519b59fcbbe0d40302047c435bb500663064023056a15453c2256b1bc10040f888d12e1233872b80645f8aa1ca791523f08f375d8852b11d73e0dbe08f987f97a17e587302303540deeb0f828004309a7875e818952708ef0d8f6295526aa433a5e182d404fa7acd9b3684228da20661e0de49779de80302047c435bb500673065023100ef87d442aa93e767600973ca955e171168cc778fb935965c97fba6e031d0bd060b8006da7f05019e5e0e2aad67602e7802303b67cbad0da74145d3f93ceb3f2eefac68477b925a3dcf6d01cb7b8272dc0d34e2f9ee703fedf3bd233d2d944ace24060302047c435bb500673065023100b2239b175c6c9c9561a0589bee5ecab24390ab89d52feafb67571bdad4d8363c37afd5053e02eab47322b72599f303cf02304da3687b1c8114a34a079569fe6ac76d92d50b08b8999c14a69f6e38f54b45f63ea9dedb44681a7f006e86daf8f3853a0302047c435bb500683066023100dca82342e599c3721f0efa9dcf402de1abacad69c19b156cb36b1b2761957fcc8dd0b357d064a3d1db19b44d37a0856d023100a435f32c5988d7d10e93768c51ec478cd5e6005e54b8c0f9e21b32c1588b6a226ff639eaac93ae81a0da22fc218b613c0302047c435bb500673065023100ae575de9d46398c012d51e350f3914ec74cb30c24407f3f9b52257308786780c2de9ad2d620e655fd5304e581e8656f5023062d3355ad2c9a78de822e570be3df4a663425224ac268c3cfc50a2198e7c3f3574bd0efb0d80c46695e8c9814c6e64a20302047c435bb500673065023100a4658dbc2ac64e909908089a6a51d0aee2138f2cd9528fa8de047618aa35f7432a7a543db6f38f61ce7ec72749cdb4bd02301fe6864a027906dae7db080105772a3bf9a0bb6ae04e6cf3d9ee1a6eccde351e5f2cd8d204a930da7d314be92eb48eef0302047c435bb500663064023036a8af923b716cac1945a48087eca3e51ce397ae41cd159d06449b84d2c19c0763245bb4c431d59f59ba5296418fc1ef0230320f6fe4db8fca649e05af4dcf98f7a6a29c4f008a8e120e936d5b8df77f66dd5849b6a3fe4e559f825ecb695378dfaf0302047c435bb50066306402306bc13103c387294d39913a3d1e2e00ee12f620553876b77a0f7d39d9fe895de506a229b56da3cf36b9d2b45d503a8ba30230128ac9a8d18ef8ff3ddb9c90534c2f743cb15ddb1aa7882e50cefd680b9a7c82fe458f7b80c535a72766db7c0332eae20302047c435bb500673065023100cc16795eba05cd1fc7c5b9a712b92e151b732a13aa14adf02012d2590e9fa71aee120080ae72a1f1d7410c572201bc1f02305dc80182cd513f1773fcf4d3509ad8d8750528eeae4be39054b8f38b5309a703d2d11f8586d2a9e7021e1521779fda300302047c435bb500673065023100eaabe4ae84890aa4ecbbd8b0d0908358b9dbfcdca1fe3ebc7fc89c848a73354bd9e2aecd995156187b45bd4b82d31e9002304f3d8b12b8ad41f373e8d6d2c75a5a2f5d88447d7eba20cdc6299fc540ae61145db5f384ff6362b323bb1ad595d5c3fb0302047c435bb500683066023100810e0be32378853adccd6bb93bfa54903e32cfc8afa5fce1c96da7bef02dabb7a1936d6fc7e80c8041d53d60b5bab4e00231008ef9f2fedc80ddbe19e0fa5d185ce75ce349972ec37e6ed1df6f354bd1c9cc008d701a9890e1362ee29632e2457769480302047c435bb50066306402304233fd373040573f4b7638a937f9958a40df9bc2395ca99a4764f1bc943f3bf7ae2f2295bd544270b42eab340e0aac8f023056103cace6c4cfe9dccbc2adc3a5c5181259b71dd7c1d41844fb7844bb41f55acf4e03416f8db4fa2a5cd557e127be3d0302047c435bb500673065023029db7eefadc7c190ef037ff8245a32431a934d22d16a433bf3907dee1fa3792f10978e791f8d06f737cfaeb1a9171b71023100cfd3a065f5905c897e97e036dfce357b6a42d1822213ba475d7147d951be2e7da93da5781ca5ccf47878ece1df76d0e90302047c435bb500673065023100fd6b201d22a1a9e8af665b9040bcbef4e1808469d82a28547e52352007dc39021d61d4e7b2edf0e684e07993f6b9e4d3023059376b8b63e5c26aaf42e1ea8452fe691cbdaaddf2e4d356cdfb5e8cf8291c385af2921772f95f2cb465e33863f001c10302047c435bb500673065023100a88816c4375212cb993eaeff7a3bbb03223393c771d21b7b28b2d329b9155d0ec5587d3f9e3bc29d950110dca914137702307e5ca9d32458f08d16e7d313e77056a27fcdca4e1020cd7744e4280847c671ca0f3b07dda32a16d95cfc88b1b182b4800302047c435bb500673065023100fe533f4c9420170f03089ef614943e7c03f86ed53cbe4e331e874b40e88fd53bddb32995db477507fed383f422d4a177023031ea1dfe3d249c619dace50a16d53c4da5bc09bf004832c0e2997deeb53b0b40a3cf3463906a2b11a188d768749e11490302047c435bb500673065023074b6894e634a190f1baa271a12f8f9725b7013d54c9f64a1586c875ee8052e07a80085b5dd3f1abfbf4345fe1ceeb28d023100efa96a11da2531416925b7fe683d11a09e1b71600d521f5f22ef7d0cddebf2457abf88481b00e77fb281043048d0b0960302047c435bb500683066023100e82e6849235d56883e016ee79dc5a94119d4e26eb4db39d33e247defa7ff0785ca6374d8c27d524316312224b261b25c023100faae45b35c0ec986eed98506332f50bd0ad99ac25b483524e5c94827c88782ebee50ce32d2f30ffc3e4ec8d6504080030302047c435bb5006630640230333d77a969b17df9f690ccf7ecce281f739fef267bfde8bcbe431334cb438e4377e528636b536c10e740c0308b1fb5ad023079de773561281a54ffdc584d06c0c1a14adf5aa4837db096debe18ed56c7a39e27fbb38c31c870a8567c5cdeb7509e200302047c435bb50066306402306ed1dd4c02b4e3d6bdda5bb8a43eeab5a794fed4f28879c54bd1c9d3e79349c967fd3ecd519b2183ce2ea0a90488aec7023043d6814e502437bd6eb35da9c5e3b516c7a50b0e40726066ff8f2c6fdd16b7ddff67ab82d1649ac75346108e3f75c6860302047c435bb500673065023100972dcfe8a3c9cc9b387de57620cfb1d4e8ad70d724938dcf0a7ede6072516a07055aa926b660e2c4490ab56c436089490230121d4b04f82d2e7ab054eae413cd9f19da7aec005eb233cf9fba81a3aa8f8ff4e126bccfeff4a2de45a6a2f1ef05f51c0302047c435bb500683066023100b26b686f2c486419681250ed941b1b0d95d1681c268aa52f96f104a358b1851528a61b3969ee55fa2ad897c8ba7d245b023100afd7e2ffca2901967352d58bff1693f8d139d9730781b81a571401ff92b722c6b812567387e0bdd3b7ba12f72fe754230302047c435bb50067306502301edc88160d31762fc9c2f95d56dcdf1a6f4e96c681ab47bde451c678f11277d8aaa25e6e6201d9ba2353aaf45c0a88cf023100fd8b1480ed013021c4e1f8cdb422d6b550fcb8302774ffee172d5db03d18619ec248edf3f14c18ef393c8eeab22c1b150302047c435bb500673065023049eb1e1fa44d3dfd3505c282b2748925b688a8d7558c3b703936951b224737408157af79bdeac6694d06def2e91388cb023100f679f2372f8b089a7350432918b39b190fb4dda49385a8d6fa5de3ec0153b33e02c7eb7fd0c97b116dd11ca3a387d2a10302047c435bb500673065023100b4fc0a85ba794872fd1a1ebbccca32f867837b3b8b9da65f7b2884c7d5f66229b2e47ab10654a876947085a21ec125ad023039c0d450b25ae5f682393c2ac7993e3444598a828af70de2333396a1673a2f3843dc3a708ef2bf939f57f5ed468170f60302047c435bb50067306502300e03d2d4ea7bbbcc805106ec32a3b6355ee77c9e676ebe5869db0059758a952a6a4b8c60e06b9ad8f32141462936d537023100bdbc577386a5fdd6582ecc544e9364c0c4798e8a8cf4e65e06888a227d229e8697b6fdc77970c2c7680272a78fbb43680302047c435bb500673065023100f02d316bc1cf09af27f087fbe15b84076b76b67831d530f41654653f922c58fb2a2b29df0d250c3e32f020773dfa0725023054a153b0fe6f0112d1adb026e8129e06e964dc92c15b0b79e7cc4027900b81562a20730f78b80db839190e59d17b02e10302047c435bb5006630640230182c23b9a63dd430f805c8e207da904b97acdbe4d6d431bd67052ab4cacd352d2eaf0a25ad071bdc14599b8d26f01e73023007501779c8ac7a843eb69010798d3c15254ad99297d66553ea2d3a2ed2380e2223bf0bac713993b77296f275ea2683f00302047c435bb500683066023100c3b318d1bf3f253f59456e99e99279083e8fa62ddfaf7a41c4b8831f71319a749e5883e4f2c50ffc9d537b13a3efdc8b023100fcc001b04dcc75752f3811d8dadea0f624160499cb8131d825e09196caf01459206a3e4f750f62101fca439ad61d4c740302047c435bb500673065023100decc50ce7645bb0c3b44015b7ec466dbaed66c4b32f8b5104f5ed6e580348c30e1ac619b2cd6f5661706d396ebe4cb2702300ffe5bc55e47f6bf62bf13aa49e926cdb34f5d34a09afd88383040aa6665f9e92b592f62acb462c58d7f3bce1bb55be90302047c435bb5006730650230715397309f3b3045b9044e10779110583ca66ce2006524c299c6fd1d7603d463158c968551b5e363540162c858066e2c023100d56e0d88992813f2ffafe13297469180a84884c31f62a955d1e2183f27a3c53235bc801bf585143c5ed06094fc5978e20302047c435bb500663064023058b54927e2999a9f2c2dfc8f397df644d647f0271c17a1e21daecd02ac2b7d4b4c30902c2f85e1f67d4852a1a9bd38de0230206c5fd3453eee3577cb17ac1cf9cb88b45f15dee02836241c934b25290133a72e4200b099d41d6e9735010a6ac71f8d0302047c435bb5006630640230581e132b5ae77d6530ccae71b965bbaef9e4b36eaeb345554818cbd7574e815db59c625b4b147ed8e50d38768c34a6610230374a95419b5d16d0c2e87f115c98105bd2552766e326dac7728da7f9ec2122c9cfbf68dddd6d2e509dda3d479dc509e30302047c435bb50067306502306969ca6c9dd092efa451e1b2f0721883c6f050076947bc0fbe96ab0361e82fa08a58d63b68d0b64f7567d73085df17de023100b0d8d8c4b105f9a9736cf12b763fdd5326e3f5416a3e1736bdf8072850a3531ff9c090099154fc087270adbd9df2eebe0302047c435bb5006730650230353c68380af156d33f8c58662ad31d19a305c09506cc2eaad2ff1764b76b77e045a834ed71a17c4ad9dabe4317759206023100f56a2f241d408e498e2ab7f601b362a34fe18b8a071622bba60c46d611d4e8be1fa1a4d705f3125d76f6e035c0f0d48a0302047c435bb500683066023100be153c1daf120ffd6e72ce22b67a594fa745e0e8df156939e2d2514417b083e1183823f51bc20043d3215e27c953579f023100ea3b43f15be5d5493fec259b0858002e14e11d9801423688ec68258d279a2f6ede07e1e4239d90f461d21804ac5809360302047c435bb5006730650230611cc3dcfa0ddb922cf4e0046fe9ce0d08633e4d85810f630a1abbe30dd2e418dd3fb697fede3c07b4dc86910943a70c023100b53325a9a6667b52c1cf255f2f5db9bc3de90f3d913b02d7408951d13c4b9b0731a0600ff25d75b237f5358fdf78ac000302047c435bb5006830660231009ac205961d82383e00d4303fcc0be52561d1cf6d06c3a407fb33cab87c9bbdd4a6f5141283bef222931cf416453cdf2702310082a7a83b91a61377b76030ab87fdf6e1a83153b5b7aaa4b7e149d42de3b014aa6f7c77ba895b5a86ebe5f9e120e839a70302047c435bb50066306402304b33cc032e7e19f7cbbf35a22c1f90336d8fd5203555d1cf13b23705958d3a301f4879f6aea3192c1668fbcc02048a4902301293c7bee630b1366e713b145c5137fca482e8a7dca463e9f08cedc506a570981236bd40e161ce014356ce710a557fe20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a468d42523a4bffc13053847745cc1bb8c9c04e187b1917ff902c9c348c9990e29ce9f1f7562a3f627288f0c0d2dc6f5023100cc9d1d814ac4a3bdb6f3012fdec267ed72cdb07f39865a5acc55c43b6598ce69d57485d6aaa55f357f006d41a70ae3240302047c435bb500663064023075cc50aa5920543f0a9a0ed4108eb6fc5bc781bc9e1162e82c513d23b06cfae537c3b4031deffff1f839dff55036707d02307d149a66abe441f04e17735329584d42fffe24ff3e5a2d334e6eab47a95c1220fb51d917304d21a7b438541edf480ebf0302047c435bb500673065023100a8210be86a88ec200b57efd1e70f17833bb7ab5075cc39f9a734987f49c719dd4847a50efaa05fd83ca353c933eacbb902304444f27c7eb9a55d7323924f3abb0b6abca4d0ec01d30d6ccfdf87bc383829609a8a3c01242c3f148797ae5904045a730302047c435bb50066306402305934d3f4a38c0f7b5e6b403a8b5df4e1fc3757d121d6d59546c999b3a9228c1f5139e1456488baafe14e1fbe5431470c02301faaf1ee576e57c50e26f9e6dbda36cbad97f060b418ef3822980d6c25692653105abdbb12357a6df5f0cea7436d3a330302047c435bb500673065023018f82c3e48abbbcf35f93ee3c939a5c6f8d81b6154855489467a5ee53d1bc4a9091af5c3c935911fc330f7d4c30c833d023100a3e7503e07dc6ae84308d97cad379f482dda463360b4d061dea7f3d34dc67a3d3791e7ec503c17e029f73694d814bd750302047c435bb50068306602310092fc7650c5ad7a9a81dbd31f6b2cbb220a9ef50d99242714a11c7f17af23f66739f616d6b4b20801e7c77bfd8a63a9f0023100d0a743a3c7554df4c2bd563819f6d500011f528c7df92279ef4a954039d4619552a7d4317755d38643d046885f90700f0302047c435bb50066306402307c52c35d4a45d59b1f65de41da4b4e835c41dab4edfbf0df8496440e7a6dc8d6756c4ab7197431cf582c956214e4457e0230581bc7b158dda9e4b1170c4a92723f01e9afebf592f630ab491288d47efd9f7ac5b38ded76ddd554ba8daafb973233400302047c435bb5006630640230705460c2f7e3bde2b2d3e5e2bb51d30262dc64e2dc032aa9fd3483e88eaee7ba49c4b402cb6c03a717a02e273f7e8bb302306bd08f8d81478aa591933245a5ebb6321ef5ced5cd05a2ad06bbd1e2955d91b1683fed14686274bcf87286ea49b4a9230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023011a1ceae95b537f94e36828b0f1d14f276cdd19b8ab1ae2d8139e5d89aed2fe7efa82d4dfe65199c87f674339fd7d02b02302550b3f9017e76fc5dd9776a11e7c31a25c2cb660d77158225f5d072a2db8720e0efe0aeb38ba65bfe74b484760bd78a0302047c435bb500673065023100a69721c7577a4146ad721ba4ec6a51624456e69cd29fd91e681ee326b87db894fe169ad937d20404c12b2806413e015602304817af5488bebcdcd6330bf3618ff561d3aab75e4395f1f8dd31c6c446d1a63cb16ee731ab3e05c81d2b8d005bf9e07c0302047c435bb50066306402307b4aaed75d2bd05364eef393164ae009f43be8080fec12675be68a5fc516b47d9a73eda8b086ff048b76542013e3d8f602300ffd5597ea6ba6c8b834ca5f87c788d93eac710d4b7d33af1da13e5bc9a2bac1b1179d97da3ae4b1c73e9600b1daeb820302047c435bb500673065023100efe134f9c0c127fbdad92ee72b99eb6c1b5c54be8dff4bc744327c8b6624485031f1fa97116610d7aeb6007457d48223023024baf7e43f233a306fb4036a6e7b53e672b50c30a4df467736119a684da3d908a34bb9f7e298cf29436c39ef3bb2a9b20302047c435bb500663064023023ebcbe5e9f3e62f9a0811208c6123a70a738a3fe12ecae97880f09eca8f5ddbda61e48b5ab829018ba2d5a26a3622d602305278403aff4906704633b09dd1c9b05c2656c9b4cc50722252eaf11c37580172752a94b889a003dc416a17633d32cbbf0302047c435bb50067306502301df0aa9fd8b2a0617daf82bfc00e9524797cb04c82dd55aff10963fc087b3481ea9639b6b6ed5e52d536fea4a59039a5023100a864904e019f5732a3421797d22d6a967763a20c02023541a1ff27c9332038007185b3a152f4a03793a4d250fdc587a60302047c435bb500673065023018568c47dd6ae57d8b6b3101625b5ec1c841b0d060e3af602c03d8bf50aeb712919b24fd25416a92d8ecd94c0fc47192023100cbd05ab3d713ee81bb9d722dad40b5de89626063544912034ec7ea2e511209bfea7aa35187e6d12bf965586998ee6c850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230394ac6b6c9ffbd4e7adf8c1700efa5ab9a63272d517938b0cbac01dc079d02ed2ed5f8e52979fe95539d095632d5f3d4023100ab189ca0507fdc0bb2cd0b85b8f401f0aa87b14272398eb5978b83a58a1ce8f34b16ff66beb33de9a013c71b964def4d0302047c435bb5006730650230412cd397d98f1efcad6cbeebd19b100f11f7ba14922d834730a93ac3fdd70c0d5b3d2c85ec50fd61480fb52ca62e9725023100d0b1ceebf9a8104163731cd07fa65f8f0fda6c705491a26d4d84f6f1e47e92653ea371721c3930b74238965354b5bc690302047c435bb500673065023100bca8d83564efd9b8f2f1fefa616b4bead34fb19f8b59e05b4b5d2dea66b1d6922fbc14113275dde454349361335be27e023023b46690dc4cfeec2e1afe8579081e42c48db3683a82e581da2a0ec35e27cfe11300320df1415ae8d2b90592a397f6fe0302047c435bb500673065023046e4dbf10ab4d89f5cfb91c3920c2a6d97c38370323c0c491cf8f0fe1293fa57e81f7dce1c412ff9fccfc17b7506ce22023100e78ca29420aef7d12746230475253ab4b8997d03597f20c86e3870816c231020db4886a9dcc01325291717ebe9b8632d0302047c435bb500673065023100b9b273bbd566af14de31f11c0409ed55d001d4d2faff3be2116e7e1212ff7a59711da212e07f8ba63d9ffe18c16aa2cd02300dc4bdec3fa925113d9f88b6aabaced922b5f1f3a309958ee5b37c281e333723c16850c3770aebd24f86ea4557073b360302047c435bb500683066023100c629dbe084f3098fa38b6460f8784ec30fab81145c2571916f839fc22cf69c862decb35bbfde14df51324ced50430dcd0231008aca4cd530a8d1399919ca5a5bb930f716df6497c7937165c0b823540b99f18bc1929b27e7b2d67e0752b55731767a910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f5fb6e2778889cccaa800a6a05479c83547c22cc60ee2630c18ce34e16a18a1964817dd4e1d381535afb57735a7ceb6c02305009ba99cb6d555edbb1ae70d5ada5c535719b8eaac41b8d822e32a87b1ba88d577cd82f1dd224f05dea5eb28d1c81b90302047c435bb50066306402306b429f801e4c4646474003e8de1a3f07eadfbd80b34f2eaac90eff1f50a2a0f4ed5579cd4970f6c7d27578a3a36211cf02302153fa6bb515baf5c906a7a925af9e590ae87024cb6015b8c7ecf4408a8336a9cac291efdae104dd784b775023accac40302047c435bb50066306402304380f622c0d3348f9bcecdff49c27e19bc8231ffc4aca1bd0ffb8aa95cf04da7bb51c9523f09d35e77658c128a256be902307e4688a86e90b634ee1cecae5dc181866e3147877b051c6a4c09ea4b25ebd1c6771b14823aa5cf14cae1e8e776ca57a50302047c435bb500683066023100d79f9768c3b1ab42b89fb570ea1f278b9d10ea8d3074f816fe247d70bca9281557ba1e0a3b3192ba5dd067180f718d3d023100b405d9572366e0102bd46d151ec5faaabc17377119a986cf73c50cf54645364b182ce83943bf2b3113ebd40e000ea1280302047c435bb50066306402307f38520ab2ec5c316c0754a8792a3e9f5661968c02d885f6bb2dd4456d75f094c2500df2c08ab4fd0054da728c51fc58023043c3b9d7810c241e82af79cc3323f88f9c8dbd48b5b22f142ca8f06533ec03a3a301602fc27f5a5d97122778080179340302047c435bb50066306402302387d2420be00193589d40931d132fd1b6e030b0331c2046cb444e81e708a418590f281d4ca72c457be3446876b4253002306183ac7fdb6b04b7d6574dba37edaee59ef72f2954984a5683df0bc5b262da69d29040704c1e04a81855d532974832dc0302047c435bb500673065023100e3b30c4eabd48e8b90223389927f3ff78b9b1f0b033eaea50c1d0b9c47b89a871734d9e429ecc5014f09f4e26f20c11202303ea2424c046b52dcb528b0833a3e382e927e575405584623c734d13f3c5fce7c37a3d5bfda6dc2dd268f2439874c7bed0302047c435bb500663064023022311d5585cb88d0fddbd86823d4201a850ae54dc0973e8caf20cc2cb7b05f4cd6a271ce409449ecb956a961388a7a01023036b4aefbbf18630ac40de50851ef9a2c80ef2acb661690438ca18eca0182fac7ac21f2e03ad5f0374ba43c2758bf4a5e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d0f74d2f254b1d80d7df57623e37296fe654e0eea60844bf3bb41e7dcde053e57e789b8deb53472b6afcfcffd0df6181023100eacb4fb5a9084ee71585c3498fa7926119dea3c90ab7fac9d121c28154bbfbbff4468a72c03169db777937e0e16e4d560302047c435bb500673065023100a0ebea1fa3d1cb017f68d79c2957cb81da62b50e640cbdebeb7d609fd6a0082102d83d3b9b05974a3a36c1613ddf969902305d260fdae646dc06747988ddfa2c227c77fe09438117585c61d7c4112c64b934e297ce59fca20d9f0ad091fec6cc13da0302047c435bb500683066023100c74719e0f50d244ef30af7bf404fe4bf40badf07c943ba48f0cd3851c82931727d443d3f43b65a388bcc255f313fe60502310091a1c42c765d2d264ed15801fef9ec1891b646626c6079576fdfbf1a3f7e9b03b6ca0dcef426688e8a65aebaf4b5c8960302047c435bb50067306502304314ece2fb44631e7d4643bcfdf2b5db123e5138eb96e197e98722f0ea34317004c98afddbcfeca58e19389a01bd4faa023100ad03f15065d4f0a6a08160d04c66fb1dc1695164fca86573dd36a0b7c1d8d0b019532006e3fffe17940bcfd4c06358380302047c435bb50067306502303f771edc7ebec3e6deda45a4297687a0c0f6c86151b524bef9792f64176dfcfbb18585f125da56a0af1cfc296dbf531e023100c50b3bfb020b71ff8afd6f68a5ad905db887139672324bf7f786508a5a79694a428e93cb107d3c9d36116b1d122e56f30302047c435bb500683066023100d148558b74f444187495e06a80a6945bc50eb452a7b8cd6154ec8679cb4c347045fa2ea8ffc3d8e641ed746e4a16947802310085d1efc6459e6a16cccae02d85ba1ca39ac6614f4d0dca198085d2790eb9176f16a9a039bfa21864fa43fce2981869df0302047c435bb500663064023026bc5156aa467e751ec35c79e0f806d61e0073203d118466189c1ba202990f43a5d541fe03c74253c8028041cf171fc202306892ae34fcbc50d99a486de698c7d1b5b5a4a0d49cbb78c26059bcbcd34c659afacff7b3d22cc9be9ac35bdcb6e5761e0302047c435bb500673065023100c9aa5b76f61af00931dc69b785d90f1b4404a4ea5f5ad5bd51131c0f895b1eaabcb75d4949a49f6cd5cf12bf9ad2de2602302abb3c2433db7654a6ef3e91c8db1e12a859e53c91693b2b03ee859e7eedfa53e8baacccc3ef51a5e1ba4cfcacf270320302047c435bb50068306602310095ca2d59a4f9111874f62beaeaf7ba1d932a1ea7fbefbb45fea1dcde0d77ed2742f56ba581c73d2db6efc39644059dfe023100af9a0dfe497a596cdbaedbaa17ecbf5961440ef2b3f55d19a024ae6ffced302cf70a00820077732a1eb390bff2c709f60302047c435bb50066306402306e85037f05ee7f61c075c6a5751e25735c32dc8fe3aa821484b2f85fc4deb0bbcd4d4b39a4b3a0781ba069d86ef1501302301dc2a3941ed83d2abaa7722d72e4e158d44f356d5759f494556a114b1b95e5b1f7cfb620619503a36843770612d7b1de0302047c435bb50068306602310088c0478b86625beb09eea17c1cc64ee047b627fea05fbd5d250c07784fe0b805e4b487f93467f2e0bf54cff5e5909c200231009a5dec78903c272ceb0efd5a58d98b477ffac7bf9cbba2fa650a3f118297ea062f1d1bc6e0de84d620d22ec320e08dd60302047c435bb5006730650230458564f29589439c22fcfe29921fb3f32e22a2533692fb1a2d617116b4521530d7fd04ec8bdac8344c7e787826a2bc2e023100c7cb2497e77c32b7469873e1fc13986744923cb943f8267b64fd79bef99a312f36d9e945c7f12f529f15f5e77268ad9d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023067f94487d5439763dea3ff51d0391fb3114b20b461bfccab073f72678724fd286ec2230c39de908b2131823c34a6f80e02304337103f3685baf3d9a3fd7c714de9641bdab2227a974b2f5b63cb1d214bf1b2e5040be2fe15aaa58a77a1a0138ab4980302047c435bb5006830660231009404989cff300642cc191d3df134080bc832408bd97c32f3aab29f3b7836925ead99c1938cd91fa4f2e2eb47f0749a02023100ba85c24d103cb898e44dbfbbf703bc3e4b2ce6c91cca150039544c23a31b93762d88501306f452a87c1ecef46dffe36e0302047c435bb5006830660231008c8c2bfaee78c0c8a270b27f42d9951a9e2fb2201f2cb19a01ccc35d95ec2bf91707ffabb0af60045a9ebc522811c732023100f450c1ebe61db1d86c119302d5de6b169e5fe348cbde5db00a52ef5ac3a54160e239bf9107ae5dfa64b8a5c661660a9f0302047c435bb50066306402305bd4bd6118ba766a98a0cd23b44cc156acce67f20333bef07305a7aefece7baf2e51451beecbf57d056de1d02d7dd69202303ee15969d5161223a0ab32c58293895d2e41bb17567964d6200ff2df00a5f1ea47dd3c22482570038b211a7386c9bfa70302047c435bb500683066023100c0e6f7e0d410642d41352c8383060eb379c876fdbdebbf48e4e44a48cf7638238e69f5f295d54b3bdab66e42cc290f58023100dc046a16388a5c8f84f19fd54ac0a6b505e33c95ab49a446d05c44b9328c3020eee7670644b4765063ff0dedc6d952eb0302047c435bb500673065023100d7f618e19a1f8b6fa53644bfeced542b61d9cc829330ec0dca2fe56643c97eec6d10e96689cfe4e3bea8bae319bc412402302bd8a0aa242669ac8dd5e226512af15cebfaa142c3dd60062ff2406c050d980ee593865d73cfd9a23f4e25f72d9afa240302047c435bb500683066023100fad1f02572adcb8c8ad8ea673f93f32e339e685f4aa5a590cd83ad26b436b56b2631c67f6519b8e7c4f3f8e1882aca560231009e545ed183dc90bd09adbd56a7dc99089eaed53afdfaff332ff38e834b94cb5f75d605e96e55819adcc0da987499de4d0302047c435bb500683066023100873057f620584ea5e71edd6ee10633e3319e3e8d6d66632bd93ef54f30f55329bc1aaad1d097d79b55a8355e12cf66a7023100f45307d2b2c713d7c8a934f4b2612ab5baa43084cf69197009bc74fbfae52d588bc27b3b92a7a4f222efbd11216d9d690302047c435bb50067306502307474d898eb50444f06ca556f4cdf66bfd40301662c2af46bfd0ab5bdf7590c9157b28dba59122af8dfd31efce3ee0946023100ed1a9cd87557efc68c8dfe405eb6f1ff308ce9b80f0bfd5110abd9468c6d40a1628d0dc3734b28574e1aba10421c42c50302047c435bb5006730650230780b72aa9e18a180c2d38b86d79134f815f10014531ff415a6eb774263807287597e693ca8ba1e9c536da4a5739f1577023100a0dfe0ecb7a9170921fe8d1bba7683e17245faf44d4d4879a8a9d4dd6ec3de22b46eaeaafb9d7274e6541978b7f5f03d0302047c435bb50067306502310098efe5a1dd4fc2de65da68b3204e4ff78ba920bd436424e587929671493c1311a19aadc025d4488f6d51e141154b16f202300142d5167b9ac2f3eb45d969e54bb985fecc44ad30211444ded63b2706e7bd78ee72bd930d4abb97756b55608e84d6830302047c435bb500673065023001ff73787f203b8a51504827414e1a31564ca3a446f579c61a1c9dd1e9fdad53d5b6fdcc99de1fde0f6ef9b783842a26023100f3f8e445a5ee27b0b552b1f6a50fc27ef43a9dd077207de7ddc7a7f01611ea6f74a98161a4eb3e1573b52f44d4851e930302047c435bb50067306502307ab7c4ae2a78c48a636faef2859bd0ecd78c914adc4c9f493fc4533e0a4c531a05d74b4828992a3267208b5382e8023e023100a71cbf560c45c841fb507504e1a172760fc682b3c852025e13291b3f5267bbd19304d7815ed126acb003ff23f7e67b540302047c435bb5006730650231008834408fa082672c0359563f460c86b169873c4c3ecdc47d4f85331fcd2d3fbe539450ac7229d5191efb0613e09ec32f02305105b35d6733cc2a625af14dd5c1e57299a2df3b9a495c77b6aa6870e303c5782fe8b2c5e9934ddbcb0f778ba84157230302047c435bb5006730650230009227836f11d4c4d7ba59d4614bc96318be4e81decdbef4c53cf723580d67ecb5c29052d6a0e6f63e72d159f110b46f023100a04ba872ae78e0f403691694882cf563190969aa68527e92ddcb5b860be9cb3d8d5b4fa3797bf1bd419178954862fede0302047c435bb5006630640230475d53d1cd4d3e524eada3e8c5d204dd7f88902a60ca282f01bcb45cfabbc24602072cdc717e3a03cb5840935133210a02302ebe8d40909fd79c085ea8489170056a43ac0af8329deaa542defe645eb6b2e395b8a055baee1f4186f0dcc0b8a9fce50302047c435bb500673065023079f2a595c9791486414f2765991033842be909d833807af683dd33ffe87bc26053cdd3bbf36a906296fde8c4000b9c780231009364319e68090cac998bf32cb592ee39f0e575d84e95cd246d6552d90e30575ce90acf873ec504609e5a6b7b0230571c0302047c435bb500673065023040244c5ccd8c60e2c874861bd7585045599ae1a96829ef92d469753bb33fdfbd9afca1f86ca56d511a7ce4792ace8fcb023100a86094e65e01434013a3fd68c3a6effdd671605e70e9a39e2aca5669f6db4dcb6750a9cfc120cb1ab0ef1babbfa767270302047c435bb500673065023100a169f938e0a383a81d0ceb7aac44a9ef193d2e012a55b89f5953047b0aedb6834f69414d3dffdb9e234f0e9a006f95fd02302dd32ff9121177fb9226577058d1bc2be76a21e7aa58af67c1f5401681a8def27ce7634bc49a8eba9a9fe5850fad898b0302047c435bb50067306502300413f315585070f7062787b9ba6b5b153b95787dc24c4e6ffb6242e189a2c1858995e738083051ce556cf139c98f378a023100f0c366c98925fabf8f9f53539d9e5cea492f9d15510e6840190376075d8d732eee2694b5bf3bea1274857391e7fb567c0302047c435bb50066306402307e80461d5e83703d433827215e7095cf0ac27843b6e0c6384a885d9618add4d05f5c3fe2cdfb6bf06208a1ee4bee6810023062aa549df528760fd5622b6062fcfe20ad9cc305030135abc85cb16082233a0895a8a09710e0cb7fb8c1fd026a1889a80302047c435bb500673065023100f200c0b39b74ccdfd1072dc8773421b5ae1caa02f8551ed6e3e97f93680426077a8062a6cd53b61235530f2a299413b902307d74e178fa962a31bd9bf764b85d787cb25cd2a0d1de38166d0545b4c0a47bda5c30434ffbe6d569490a656f9454ae700302047c435bb500683066023100fde754a29ff23c6bbe8c8a848f1f1e604a2f24c1301597f742379fbcd0fc2cdb79e09d730c0b3f4e137410b29b4e75e80231009a4cdca694bcd8e3618d81142a08cdd4ada8247cb331a9abf60a4772017527b3f79ebc0c3bca92f1febb82a7e62b41ee0302047c435bb50066306402307b0cc5d8c3c6dfd16480017eaffa8ff18fb970b186f30d2679811d65bcc0724c0f8b584113115970ff1d456a1a7c116602301bc25875a2770f70478d2aa463c10c1a2a347095a5092fe761fde4380675ce0ecc8df1d8697fdc780f110b66b08011750302047c435bb50068306602310085e0ee0d18b9e9e296f72635e04b6ea77b1bc0fbe164bc0db1bc978f1b5d2e79664b18205429f17eeb0aab3643676ffb023100d1cfb70cfcc83b572b1a236db55c20b6341a054f3ab5025232eddcd01c1d3ef30637f9aca39fde9c9323c9531da903530302047c435bb500673065023100b6ed0c6b26fe7e1cd5e97f11d77901153494eb7d832a2d68e6707eb5a1b91b283ce21dd46c7c095927a3f407c2feee6602302352ee7c539a1bf981cdee085b2acf3ebd17a8781bf891388033d24599aee2f1a1d11b4b47006309af257aa5f967ea8f0302047c435bb50066306402303a96d533744a9420aabb744b334def2b1adec22a50742607c4a5b20b8c8868ca91bbf45df3d0c9c51aad32178c24599302302253808cf8915023581cfcfd6147046c0db2a2cf3163b1005d693f4f3fb7708fbf8f64d49249a1e5ddcb9568bf5ac29a0302047c435bb500683066023100864b22bd972553f978156b19880748e4cdfed02e2dd15516083170155e79f876d7d178ccf797863abe0df9d410bd5974023100f83339176b98771d1a28f496741668acc172415622cd103452308b2c2f48a9cc85843a91986fd8c1957c54dfb438db060302047c435bb500683066023100af4dda02f1212bf65c619e3da727827a90d956b7ee3a158cbc820301e33298aa814c72555b510ff70079307713777751023100abfc186d0b6536bf0840ab61b422a32edf0a034cac893982a2dd79c86f57f7bf410a3976cf0955a046b55a6c9fd49dd60302047c435bb500683066023100f7760c50749fedd88061fb8ac5d886d61cd9f4063efbb2cc08cccc545a90f0b463f01aeec25fb52d7371b47797fde68a023100f82b473f17b67dadfd20289f0500d95a41e34b657e14fc8e9cd27972458d210609416214c983fe932bd937fbeecd1f880302047c435bb500673065023033c79a627517c506a9580545bc164bf5b83d7ed86a4361359e38846f821aaf1ba2e6504bf1ab588d02cb022547414cf80231008894d88841278ded2ef0a8ca0d3f4bc462a7bef2bf0f8a4d940901fea7ff45fb19c91640aedb18dd4db92eeb1ce2020d0302047c435bb500683066023100eb06c71f9d848bb65d8e39b8c84fa07ba56be66e8d131c9d4f612bc3838d4271a90bd0053463e8d57e245e5a80368b28023100d75a44458ab19f04f7875bfd251584c31250a4ac3307aa5ead04a580738d5ba3842b669f01ba06962a572a1268f061070302047c435bb50066306402303e3d3f3afb9e731a19e253eee58b73c33cee7f22fd2b5bf385f47a6b18c2e0939a4d3cbe18d1febe4de424f1f467042602305fa1afde0842894cbeba48d6cbf05ca2d0d94a6bdc9252055b15e0248b64374a53c7d58788a64d843a6b22be742030cb0302047c435bb50066306402307f61d1e9749e368e8b4c2843bea7603983592780a66a16b1180a5e9828ef01c903ab36b18e4275306b54f04451ac6f9402304ea9f92a54b87491bb23d3cbb6aca058979bd0f166a928f54c696b11d5ce012c248af7d1a43375205b887584c6802f160302047c435bb5006730650231008e52f3a74591e0a985d13c0ea5475c82edf2a7c31d550df5c647e8e4ba677c4ed467cf1e283362fd1726dcc3ca950f6d0230215d18bf47cdecbf4117d61c03c96cd1a6f1f499628bdf5689c6a661efb31b068b837e4c8a598ee82e352b4fba69a60a0302047c435bb500673065023100b56368b98695c6670b0f9e9493c4cc5cbdb6044d3ae6806754428493dbd78e818c29ed9eae46aaf4225c816f9588490f02303eb380be1d50fdb9bdb4d2d39b0ee5686c5cff966be10ac1f454e887caa5d289f0242637225835a065ec52500d4d33320302047c435bb500683066023100be17503728ad5b3f64006c6a532d6b3e8e6a258182a7557c34fee9a33cbb92ebf112c2aa7a2eb5efa6259cc135aa1b29023100fe1edae73d17e53355c47a15167355ba0194f33091c1519addc6463c6b6cd1264a4fa5690c0950440b378db10179d85d0302047c435bb500673065023100b06c6696bafbac7e103300983c4badc222429f496385d9a9d16630d9158bd6d4005499292279d5f2c3baee01b41d0f14023023b725c5a365b21699dcf48b1bb787c019d200ce0be8459eaf6e3a84c7af6e9b3850baf150cc5c7151d94c5c2195f7810302047c435bb500673065023100a3db52568387bdb336d0e315d86b336ce2a721adc0751227d528e47d9bca357595f129964ed5be291d222df345650f5002302cca9a45e71ee4acea87b713754ea8b70ff228ebddd9f077dce6184b524eb1cb19732d44d4270f78a09b6db1dde3d97e0302047c435bb500683066023100db4081e094282a83ddaa995ff66487e3a45e37a0981e0075b46547c99d983a5d7dbd848002e5044f3d0ec67e00fd2a79023100bbdf76debef322b9171edebd56842e7d9fe53fb6fe6b0adc87e69dcd1e791c05940ac219e81a58935a966daf494b2fc00302047c435bb50067306502304b8516bbb47aec9220af5024ac03ee33ad6809c3fcc2fd37e9d1eb5168f49808ba009290c6fa4aec77c25e76ef96751302310090eb1bb8dfc78dd7b9cc57b1b6653a841afabd6e2944b3ea9378bd0247051f7a34794d8998960eee554bfc71d25863ee0302047c435bb500673065023100c85e74988653b504465e26aeb7715342287c949aa838c086f83013c541ee899c48ae31e161194a1f7605c015d4c97f3402307ecf701ae087953f31e9436d02bae4f3d28844a4a57bd906b2cd8f048940cd8827bb30ede43f564ef1e7bba3c85c2fd30302047c435bb500683066023100ba02d51fd0e53d39d242919e39d431d3bc080f83d994dcd070d1243a354090500fa1dc134ccc0bc11e1845507f0c4a62023100b91243725983d79d2945b8aade473688dbadd4feca4f52a10c0f6187beece77d068cd2bf35d342fdd09b35425aac2c090302047c435bb500683066023100d823cabbcdeb780bf9562fb5ae205be6da28c732c755532e1866b00d95e4046030a4e62e561618b329389160cd46ba8a023100eada25cbbbf01a3700d0eaa31cd7ab631805d2a8edc10dffe94fd8baa7f8776aa1b3955510975e4af5dec9ec10df16050302047c435bb500683066023100aeaf2e6f5d51427a2f53d6ef77d81e2d67ea6451255517e847d803fb2c31579a49464a788b0e324ee57d6f4bc330c82d023100f4388c1aff99bb2f862c46c0980371bcdc0e0e8ed6798b1e71aab8536e5c00cd2602034b467558670c11375ae8454dc00302047c435bb500673065023100f3951673a8ec8c119f50dc14236fb850dcfb5c6818a02caafc7b1fae65125bf5d67c01a878d50f5d52bc0b48a2beb37c02307f1f51cc44a60413077320b951a65f46e96d844368259de079c4f21014fe6d8a1ef995b0f425d22154b46ade71d4b8810302047c435bb5006630640230167ed9d0f01111bfaea662f28a35fdddc54e7b69a3b2fd01a807c5c4cbf1f63d9a05b820b30832e802ccd1927309b2430230242a81082ad9b73dce4b07b0c6f6ada79a959dbb267f5583891034f6477a13482c094d722b34e9214ba2230a302fbabd0302047c435bb500683066023100983662b920f703cd335f7db961cf4e4ec582385ebd3f8259433e3651850a3b789db5863ccc08fc73eeb821fce47f6f53023100a40e9bea73b17fd763c3d65322ecb252ce3e751a216e9f835280dc96393ce2cf75f569dda0da058166b53e75e8754b720302047c435bb500683066023100a727f18cdacffaf43a02dcb13650775ec2581825f3239122eaeacde5315f8c3121e3a9f76ab97002437f4af30d0a344e023100c4674dd61fbdfa2bdecbd3134e016b9adebf073965286589f4bbaeca97599b40afa85e7db27cc71b98062ea2cb2114130302047c435bb500673065023100d84b7258e4fed95ec9b6f54741bb3b358aa0cee33add9ec6fe7c1bca1c15690d4f1c7894965959d4498f1f3e39ba347902306d66005355543eb9f302bb32ae36159a55192aeaf7a16b2a619f92ad09e41daeab0e11b890e6fda35e7bf6c7611a84d90302047c435bb500673065023100b265a45df773321bab9e12c731799bddec4531b88d6934206ceeed70faea438980c128ae6a342f497a3fd657c030229e023068657b2a73bd00b24058877e1e08c8530e0789a52d02c04e86896e0f48fdf54d62e411df578a51b062340a5f995d0b7c0302047c435bb500683066023100c0b9dd312e9d628c28297f4f2936742f8e86a5906e566b878b9c4c4bca471706068625f9bfb24c55a23da1add5fd37ef023100902c1f73453a8530699bcfaaae1c25f16c4f6708b10c25a5d8554fc4858bb3d27417dee234da35ecb690b77308e37a1a0302047c435bb5006630640230190e76e96057ebb33ad058a6efa34f269a97084b288b07ddae5339e89ce270866551e270f063dfc7e3e062feac74f34a02307c4e37e48ba1f8e19e044a30a686744be3d766de7cc0d34d24f00ae4ace1cf2cf35b984f8e97267174c222de454fc4e60302047c435bb50067306502310090339485ef4588fe87436fd3950994141a399a60b7022853c3aab477eb2360efe74ce652ee15982446e2693edfdad70a023053bb461fc2faa13348866a23ed4a8530f67a1c4244a1014f4ad260d92dddf332f655197c433e7cfb2024c032e09fbd0f0302047c435bb5006830660231009ed139c7d1d1fc808fc40c2eb297c9d685402383700abda883daade29e855a52db3150f57554f37e35f9c680536acab0023100fd0a0801442b79d4491e77e5f9ee39906ee654bec7c46383711daf4a5b837e78e585ae5b0b49b8bc0f73b6627012d8100302047c435bb500683066023100d20b9cfa8f3cf2da58b8689ff2b0841f976c62562f317c99401fe74addf9638f09bc0f17907ee837feb642e54a00d04302310087a54bd9e9f3d2512d87a477fab63d9d0833420619eebae7bd5eb290dc0611563ac20a2f3687490e5a5aff34b163cd730302047c435bb500673065023100c24328713bf2d9b8eb05e388ef71cf4acbdab93c791b86d02a17f4476ce0f76a17ff88cc8a8c3f1b52b311ba749d1d1d02306d2e0121e11a1b1eb4e32340ae2d739d1352314df0b47b2d69a3c32bd81df51f663293f5b75b75b9105542c9d8329f090302047c435bb50066306402302ba426a1e796a05d31d0626067c980268b5e7d9282054d1e0e0599cf59487da4b17127084383bc7f9d2d7b08d4bd061d02307caeb38815cc55b1cac6f15b15aee38a133b578fa5c0ab29cef1ac3f75801fb3ee2fbc4849a71f84c3e94af8b6022d340302047c435bb500683066023100a0622adc58d8b999c7aca9b13f0a7263b265525f4bb5aacb349568ec7c87215ced584bfcb70ecc80300eb3c2cd336d4802310090545f76fe73a139a35bbdde78825414b95e6edba230123a7ebc0136f68350bc040a8d380a63dacf6daf6554896d88040302047c435bb500683066023100833d83ed055ea7e801d6ac8cc80e672a576e56ed5869ebacb52e97320e78b782b7cb042e86fc4216e8610c7f44a1777202310092579f0b513fdd6e40aa871ebe5cd2afe73df0cb5566f02e2335f72f773f45c1182624207a7ce1a435bae8046643c5d10302047c435bb500683066023100c5c78e5faab799c93fcf6f4623bbea6adf4eef24891d8ab31193fe0b5b616944d8908e18104069683d7a27cf465c934d023100d4729820b1e02b6cbc13b1d89a7840cc16042a4af822eb3188198f9bccae788f6192313ac17f172e1f32066f9370df3c0302047c435bb5006630640230498288ac0619e843d122bf699be48922d31804ad45f3599d764f7ec80f29c5fe1c198a4558b4cbdac02260d61dcc83e502305e228c0bebb0f88edd5bb07a117b4cea00a936987f3a364015f444b56dd6b71ff1dc98fe70e465b8ce9d277d590465b20302047c435bb500683066023100962de9de81f44b89805a75b8cb8d95c1066e2933be169b95b89b04d3f993824f54affa59fe76808a75dd187a152ee20f023100a935cb53bd87cc189f5e3e6c226054a19c4e3c2b7bcd9174ca02e842933535e10d3896b170502b4dd55909bcf31c73730302047c435bb5006830660231008e87682b7582bfb270ddc3b683792cf5989ccc1f6c3b31ba6387bee857796a34be0dedb49bac58a540d530d8acb7f902023100c292af420dd2b281bb2ab84a50dd70e24fe63d1001f198a8654e49ad8776d3eea9222ec82bce71e6a3364b9782cd1c260302047c435bb500663064023018778136f0b1f553a5079ea1693adaa19b4fc5186721684680ba175e7594ce357f2bd5bf99e66ec852128dd3b7db3cea0230341763f9f3c42b1a023599c64567a19a77550475d787489262aff08c236daa42d19fb369016685ffd3bf172569ac3d290302047c435bb500673065023100a9c7cdef35028bb16f8cf9065070b8ba83019dd5b614396ed6b5dc710f90d04e95f2ce379f900f4959cd6c78e96686c30230224a0a5477e8b0ab3dd154dfa33e4c635e6f092a1be28141e400c807d94e1c63a2ddd95b5a88722d5737d7b695b469d30302047c435bb50067306502300a6b5a25fa3771b7c82fa2dacfcfb6bd48f7d65eded811ebc071391abcfbb40cc5fe023902485543b2128ba01edea846023100a11fd51cb548a7ae75d8c634c1b027243b0a85332bc13fba823560e2981bea399854b6de215fee0e5d83ec69ad6393560302047c435bb50066306402305f9af4721d2f3e98d70acd733c29dc31a123a514e40b9f7f575650c3e20bebac14fa82f3370aaebf2129ae868654874f02306e34f352ca06425bce0f4bba361610a9e99bd0142eb1e4d65772d94982ce362bd2d49a77d5cb0d985e85bdb3b52d4b170302047c435bb5006630640231008bf21a5008d4a0e76e94792ca3e1e1d525588f0e91df1e9247b7dd6f4ab1355891dc902f284bae4657cc534f438c3820022f6fdb398dbdf1a6df504a116b2dec75a0e092f1ceecba1eb0b712bc4c5652495088ebd986b863b554cc8a986e049d410302047c435bb500673065023100b24e996226b2fdf994fca8492925143f7990fdf2970fb79876c43612a95746e27148a1476b5425af9b4149b9c8699109023005f2d95788214c0b29be8d7d4340cf1b1cd9c8a9e15e2e2dbd220ba5ade177ab72efa7f117ba46274dcb8c81e3c26b490302047c435bb500683066023100c1c983688628315dd7699e3602bc50a975c5fd4a9349f3f3d3de042e8a431fbfeaf52bd1ed4babb2e38bd1304d7691fb023100e5546f8454592534e9b0eb0a75f6b6d101b0fc70a658b2ff4a587bd057ca4ec0159282cb914bb1ae8682c539ad317efb0302047c435bb50067306502301f010e01229cc506da5d3723a64a3acfd9bd4e414dc7b2e124517faccb99cd0e88bb519b643da26dfadc0b4ce6879e0b0231009bdf0cd6b941c90e0a6f96339306d6877f1835182d0790f265a718257a4ca175b9237eec993138e823e6ab7ee4b9c5130302047c435bb50068306602310089194b7c28e63796d442eaedacd3085eed290e8adf6901306a1a817e9d0ad69b4401d9d864c3b4d8ae9ebbe41ef1242b023100e5513a1a891c9d503094d5d8af430156d99de43c2db4bcd3242be532f742b2b163b4224026be307b1c3f31566ca1e33d0302047c435bb5006730650231009467231c0525661235d43f507b2bee107920c29a7ae3dacce7c1b4439d718171f24fd4e182a8f89532c57f69705d475802300de3ed257854d27b76496607ae92976918f514f80269aee0029a1c2fc0fb8e8c8cdf765ecb5952db2f1a53b36eb9b9360302047c435bb500683066023100df4e8b9ae2956055b710b0f5f345faf26c56ceb55b4efa3539a89fdca370f2670a2c0e65a1b7af0bc3a231f6856a35ec02310098029d16c478b509f18d089da6a4597ff0e5439c5a8cca2192b56d9783fe6c2dab8d35eff251608fff9822173f40d2d40302047c435bb500663064023003b4fac9d05051bd2c7a1e08e88b3ffc57ce7c16b686a1cc89b0d4fe5be59bbe08d4d19fe7f600170f227f42aa81ffc102307054dd763735d59a57e35813f2cf4a71c9ad20b7ac31bdf7b877f6ea66e5b5f6f42a6819617b888243367e6db5b0cb060302047c435bb5006730650230178e898cf48590b52d6c4e2e42a952ad38117150a0d1635f75b48467608e260966f360259902d579654928103db4aa0f023100f2bd89e4ed0ba8d59026c708422e730f02adb1dd8b8727fcbbccb777a13126d7d04ecd2569249e44ffefc422f501475e0302047c435bb500673065023100b5cd1cda8be278ec2cc78e6470afe61d518f93d5a8332c157bebf1e9e5f2d5d9bf7203f2da4c0e32ace49a2d13d59bc002303ebf181e2f398b6886ea4f09c958e1866c3d187de816fe7bcbe35f06a03707d81cc7df6cacd9d49d614af36931f322be0302047c435bb500673065023100e995b0808d958f5d7f6e5ec575085ae6756eb89b604f3e770f27c395b6f9924977b3a531f7edd4792f4f17abd2bbe98702307fb5fbd1a1a597b70e896f8ad72b1b359d0edb8f079e20c4c2f4e499cb54ee21200d819bb41bee2b7166015d29ba0cb20302047c435bb5006730650231008adb32cac7ba2998ceae82666825b9f7f9d69de6ec895921cac526f9f27cd94b24ed43ccc5d3a505632e84020dc04c2702303c503d85b23e54d8e76c4028919884915573e3199bb6f91cdd46099f41c72ffe3d432759267d592c8770a8d37c3ef8150302047c435bb50068306602310094f5117f3257b27125acb91f4fbb7718a07e4c13b721849093e75e21c872deca09779e150e9fa1723a627486165b3076023100bef71da0937a9c5884b375f61dc26b39fee5cf4c9d47887f27bcde8f73f71a194109c6a2a4ac475e22ec680964aee16b0302047c435bb5006730650230262c643fd7f1040e5a477ffa79085f3edbf5883d62c7e0326ef45cdcf32df5f8709725164257cb86f7c4803328ff9414023100ed2cc3abc04566002da11bc8f5c040771638a0523fddff1de76461ae574dc9c1a4c1d84f4e7a34581e362e8e538146950302047c435bb500683066023100d7ebc4349f1006a741f18072628f246f4e07a25cf49b3512f57ab67e7ae2dcf6733964b8666b7fd8eb25c75cefe6059702310087041c55aa0a039aabb515b167a81572b77636cfb251241548fe4102a79ffb2dad88d1ff2d6d779575fccd6c3d48404b0302047c435bb500673065023100bb5b089aa1067e8eee7865c49c55526df31257b761292a8f6385def7045dd67b2d181f09ebdf150abdd98a7e8bc6f962023047cc0daf3d1b5dc548fd4d9a8430d1d3a16f4e8b60acf3232c45402b6d3698d2306150562530176ad1819e08996b0a070302047c435bb500663064023037f3f1e98e2ea9776a95f15f6715a34f139ba245142d1cf56287c765c6a41e524301a97c0c77b47609b67e9e91c17ac002306fee9aff1ca54e20555ecd0c80a20ce8965ba64f37c8f1717629325d2b5f8a1b987d0376a39d8f1e64a7b94d5b05345e0302047c435bb50067306502304fe8778653369c408b8129bb7afa8bc80a8c4cbcc4fff9dd7f620f1639894f8c9ad5984389e2219d2a5f112c82922421023100dab9fc7af3ddf63dc2f1db6bd63c6e9112ba508c02e656d917800199bf6965cab2f44c74996d4e8e7349275e4857254c0302047c435bb50066306402306996acee0742a4cf5c5e7edbffd229eb85e6cdda5b7118ae0e7051e7a1ba92dde37010378d53b8eb57a8f73005688258023062bcef072c0e28c53f5dab5fd12df10ac6fe12f474081dd7e4c9817cca01cb273cb3cccbf59b397279a7057eafbffbf20302047c435bb500683066023100fdda96c74c886af26624794c9ed7ad6020d00b4a9ba4956bd5b56c66e68d1a97afe030df579f6ac5162bb4321f5eb173023100817d069c86af5bbc31b964f5a65a5efa7a4ebacdb83547bd1d31a140b26e9f4fdd6ccb0f05e3bf4e68888b1fbe66793f0302047c435bb500683066023100f294f6c7dcf9e9503021fc60d7434c2961d31e182d50c5c969e312d23a4b6ca2d69ff951e230e868f519b5393161910b023100c14f003decb0d99840945f3cc482d9b05ce21964731e7c22e158ac17c82506938c70365b9747708f07f6cff2b955a21d0302047c435bb500663064023042bbfd74f34bfc09abf12846bb441e8011879922c966db067467906f6aab80aec17bb9f3bd6484d4c501d2e2731a73b4023037b3b15d3978bb560d05889e91a39bb28489feba2562c55122fa125041e1ab71f6adbe918710c33badebda14557ece230302047c435bb500683066023100b21c336b6f48858ad41eee8825910132b21599a08f0e826d458e088f3f8f50ae3fe8df5013252a58dac403e369372f09023100e82d44b627c87c4dd4026e0f0d3837a5077cfcc19c2493c75e9f0fcb3fb807d772f3831a92c499c3150ac2b531d0bbb10302047c435bb50067306502307e80849cbc47f17b1d56ba5de62cb7472240eefa5db9e4bcc6307cc3c8eb8e095ea945d018e95b51a1a331c30462d6e5023100b8ced4e44a4f69866f5964cee4d8812993ad42311edeaf4ef2bc2c059642f992c13a2524d3e5900ca38984eefd8c6ab90302047c435bb5006630640230609a603a40d124213568a7da8f676eff15fadb848a9a51c68636dfec0e2c2366f94036c77c60dfa569b1a95da29db6e40230454ab7586a37285769afc5fefb0b8e5cea9ea29f482bd364107fb728a11a35e7eaf3c39f5f9da235dac3d898c10a10310302047c435bb50067306502307bd43a537566e475735dd546a25dcc58c7812d5267d29d64f9a935b78e030b009d8a87f36c1b1e752375af5127ccc409023100f44dd3a9f326d69c6040f5bf2f77ed00ad31292eddd4e74cc4daae5fc0cd9b82b190aca5e2f3be10a7f1eecf3911708a0302047c435bb500673065023100df5bf45f6f77d983846bbd9d7fdc43a078dad68d11f3584c6894a98c68108cce1b224f4cc6851612398a67a4c93ce2e00230730d9c7e797e1681ce90a258049bb7983ae0ecd453452628b0bd6111829ff501295386c2c73a73b7606578c14bceeb210302047c435bb5006730650230073b370595d04872087d56fc0bfb7bbcbf8a8ca99ac9f813d143f95520e63c772950ff5db44f707ed8a23bafd712194b023100e7a92ba39a86e31b300e4330b870ddfa32dc5201ff3868269bdae3514a38929f740d8ff36c8c51592532716a10e5ad850302047c435bb500673065023100abb0542388013b7017aa85e8bf9f48b13d89e07490171c8028fe99d32b4946b26318570ef1b930141297994a23b031a1023006e74c4266a7b9a4a98158d7cdf9c495ac85a6e62b5b23921dd11ec1c4ae57d33166c630350b25f8828e72871be2213d0302047c435bb500683066023100a7d91498f586461b2c34b6cb6fd06e5e777e0adf1dbc41b33fc4427514e38a3ff3b606bc7b01a192c519dd9212dbe9ae023100f5c1cf934871960d3eb5a297892fe03338c69adddadb1990c4e7f1cec46ad4b3120b8afd6319907b6e0d11c7900f3d0b0302047c435bb50066306402303f7a5b4eb369afa9c3364a42966740e74bd57fcfeaa988b915fba74e3fa65f74cd7728c1fbe6597cc392697738da5c1a023070c54e84467ce7508b9aed4f90f21026174a480c82f25130c931ec2ed9305b2e42e0be72bc72ebfb5db40af8cb221de50302047c435bb500683066023100b9ccb62175c49a4f57d229c926204e84a3953f31458f31257eaf1a38b6f8e2a2cac25327a335f067f2363b785977d879023100deaf7958761c78ccca3cfce1e7e51c5e56359ed0945ccdeca889cbbfd02bb7c92eb2600a4ac4061d23cdce99f7cda7b00302047c435bb50067306502302917a558897f843d4737f969910e8fa021baab784b5894bd25f952cddd88ef3cf28478d86362288b348bca7877c84135023100fa1291ecbb860c22f75bb4dd3194588015a35a4729d561f57b4f3f95178cb5d2ec14922f12792a2017291aba44e8b5200302047c435bb50066306402303d0b71a4d3d0beabd1e50d0dca2073809522fdc6ba1c3575c74f171854db9d250ef5b0fc9d61273f151142097e4cbb6402303dbaf769de3f00e12ae3bf4dbdf7b9685ca485875b662853122e8f8673e7689497331e8cd92e242bab59dc69d8b997440302047c435bb5006730650230221b2eaed376bb83e278f2da62299f90104ed81feeccdc60c179524619f53ea6cbcdc0523f8c522477561cbf14f64ed3023100f6ad7adb2e6efe98a2877ebf993d2a68ee426ff90164c199cdb576b37a7e1b94b40b3e2e53e4f1e2c74d319e365d57800302047c435bb500683066023100cecd329f355030eaf8de3c96b573e2d7c621dcdbccc0ec6c8e4c4e3fe25f94c004c606c0c27cf855198e4714be0a1e8b023100f7368e1bc17698d0453fcdcb06be4f4e86ddb2f5305ae9f0d646f4e336201a68037fd4daae6252d0f4247b53c3be033c0302047c435bb500683066023100f31822d0ddc4c9dbd4d6c28c92c371f027471eca805541ac01e6dc0d7d9f2b4bc82c8239bc9ef5e897c5e2f55bc008ff023100bc2cbffbe8c8804e3f1cd4ff18c5c5579cc53e7145e6b05824dc43653d8cd8742c415dc021289cfbef7006d97bcf2f160302047c435bb50066306402307eafec8f8e5baee83f91fb74856252d6208c04629e8918e082645014e7526daf03a9cc1994753ae9b666ae9cbcef088a02304fd475cf5a19518323233bc1a33f06d3858f827bc96be093a9ab16023abbccf21695bd3d1029d03317463d6f8b2813e90302047c435bb500673065023100c29588409d2c35939885cda29118698ddc23d58614a7684e45b2f66067cf815b72cdd8459b7903f8e7e9256b50fe901102304efec7c8b1f70e293de49d7bfe015f8ae1712d0b7a97e3f45661338fc1f237bf520bad71fb739b150590e2931eba85390302047c435bb500663064023064acad45744710ac0acc0f86e368425ea034a8975aa7b612e6c156d5a70f30164393bc2ef6eb4988ee7d5db6f60b3bc7023019b42559d73d49e3b0a4372d1b77dab71e0810531de37b888ac7b095eb9457d176ae6899443785c14c385b1c64cc4c110302047c435bb5006830660231008a53036ad24ed587d184e4e8adfda79eb4297185543714a74f1a833b1f288de07ea1eece4244cdc5273d358a1dcba021023100cfdc4fd6ec93014aa9600213bffc81bd42eff658392a28298c12e40a26d54917352b07b0592e81a8751f96155dbdf5940302047c435bb500673065023079cf729614b95db3e2cde3b00ab679e565ac4d35af7633d51d9f09bcb8f5d92b7b7521cf661a4aa3eaa272a2f1107906023100ebf7df224b5ff652a5d2ac42355dc5be5c8bfd2780dd0748545c286280af898994fa213f98c6481abe35b20c423904f10302047c435bb500683066023100a3d05f6be3a2d6251f57462e71ece6ef50384f955700df73ef6df89a457bdf8d87e3754bb635dbad7e83ba5070157aa302310092a572791113ad6c13ce3aa6cbd08b097172dbf8ba2ece176953fc04ef33f94f19064421dd65e64509d6d2adf01d37c50302047c435bb50067306502302e745e0ef6887d153418a819becab3fd384663558d0cbf5c8a765be02404ae3ac1398290b0be70e69536fb0756d39dff023100a84cf1d656c50b8051304974ff1e1cc5be53cf2a21bab1fccbf37f193e71352cac2e3fae52820b79a58ff1aaac6020310302047c435bb500683066023100d762fdbf3aacb38ff30c393915c83eb0f406a43fdd774f05698fa723b849a1bd2f627070a5ca6795cf130162b0ad4ed3023100b814e8fb39c2bdc7d3f203c77a3758ddda269c7b78a13827ec36f5e87b0d819d2e472c7b51253d43682473f1fdf15fdb0302047c435bb500673065023100cdd10ca38209d4f0c2089dfc9513135d1b3eab646e1b53d8f5bef6c8e2ef82b82a9080fbf24a0c8f9c0966e72cc51a170230353137aa112d6d43e0e9597eeea8ed5a31d19b086da08f9fdc9ccec910a39ce360698c9417d49cf383f0ccc67344702b0302047c435bb500673065023100e1f6cd95256e669c3b206309e3da288ae9d73de4329cc65bb57ff2f66f4ede8c28aa45a8d75cd5e9773bee823630de9202307379efaf99b6a7a882b94d7700754ceb30ce471a57a966ae29357267d74b27d3722d48311907b82953cee9ee2edc49700302047c435bb5006630640230781a1a13b9f27a6ca2b506d9c75ef9f9029616eb9656747b0ca5aae6a7e992818a20bf2ec5d908b43b84aed0ad74519e023007a8397d602c0d0edfe3a6e56ffdc17622e64e936df40a062dfe759abe36e35fc50eb7a9ccfd601a1686b028050373560302047c435bb5006630640230742819729085797f03023533c2d89ce5bd2a149ca7d9292fe16e9e3486c93b565db77fcc3d75d388cd39483a9ad2fb3602304479d8b01cb380f9d2187c345a5d4193fbe83edb5921a71c84b3df8a959bd62ebcf67db2656b2ea37ef6a6838409c24b0302047c435bb500673065023100a6d623a8404e5dcffc08aefa9dfcf6808987308942bcd73aacfa4049f1002f687226b59e7eecdd86a1a891bcd1a9824302306982393389a3b4fb532d8d89d611fab482a300b81dcc0e20951b78d7c37259557f065bd523a27f0dd1d1023afcb755eb0302047c435bb50066306402307036da84e0df038774dc87d5df3a4c8974ae2bb5bd6caf07f7594f4a2bbed3a6aeba0069674f49851a24f1e6d83ab4c602304f89b7fa78c12cfd8e15379c2b3a25ccc0b9e5da3b08158bdd834114270acc98a7b0ca71301a4e47195c5f92c60efe200302047c435bb500663064023056793a4c990e6d56547c0e5dc3fd1851e8207e530e936d8d6095e605c4cf89ecd3a5aad41591efea214f83bbba34a82002303de26cae410b71dcb4e5c1b32b18ef3ab3061765e1ac30a3bc9ae3e92e2ba3720441c6fbb83733823dd9e399d844aff70302047c435bb500683066023100e6106dd428feab91a8c80f5e64509d5385476513e562e4c9c948a190535062ab35bc9b8289f29daceec5f9f62623fb51023100c1cd22eabc24f8db512c198bd1a4532bc4d41b8d074f3e49d3cf7f0af8b2608e095f6e44c6f98ef619522fe3743841dc0302047c435bb50066306402303a080e8609a1533e969afdee6fa4e1020e3ce030aa877531483828f74ec39a720019039ccb0965fa047225d4927dc31a02304850765f07d6547b2407a37da892dcd861669f458eae5a24fa67169a0bf472924aa66d4acc6342a55d99fce10c6360f20302047c435bb500683066023100976542832b49dca238902899b0a266dc0e77f494c59f387cd1648bf482bbdaa1315e90deed96815f889aa1d74cb0e6ae023100af1e44982e3c95229fb84f69e0f7215a1754b8f30dd024e4105b44fe3e219ead5c5b2c1d7078c26488e28d9009e65bf20302047c435bb500683066023100966bc7497037a4bf0feec2beef64ff88e474916acc9739202c44a4f431ef72bc5cc622644e0ce5188ae4ee030d9db85f023100ed0263bf77fd0e7424109ed77ccd7de4661731a11494225ffce24d016b06e07faa0bd408a83bb8e6806e2801a6925d930302047c435bb5006730650231009b69abe8f9faf16a441eb3c7aa7c7e3884a2eea4db2ad7c0f62148271debcb34ed0cb8b92f17b152cf158ef39e6430b802301ea95c8b7d2e2e91ac64bd99834bb17a3bae46951a418871038cb31155b77e2930186d8b7f740d0b346e73c7dbbae6ae0302047c435bb50066306402305321a859a7ef36396b084c6237c37e7ed3df9ed382f43b4e98d9c9dae46a844f19e8f62bc3a8f3cb1cf720c7c962a29f02305cec171d677fbeeefab798c575a8266ceae56ae791474b40358abd92e2b12fc919d6e3600011b3b87c1563b634fcddf50302047c435bb50066306402300c0772a6e20726d8103ed5c00aaf5775e8390e0064cfa7e6ddd67ccb467a282e494412e82a8376aafba12c8606af0c7402303a9508447bee4a872dc6c4f1a025272ba9db385f13ff17a1a38715fc8809927e45ceb3bdea28bbb4e5fad59811983c560302047c435bb5006730650230399d1e47fdba4e203818430ce1f08ab2a2246f5a57fd64543d1b96ef82706bcbfbe7a1263688866c8677d57d146a710a023100879a26f33f3529e9c493ca83e2928c72a08775d7f2d4b90ca943b832118942808940053f7476e1add660bf3b0ede681b0302047c435bb5006730650231009eddcacb7b119fcda3f3393470623a1b51c30082cb9287939e462b0c0353e8820712ea1ca64308e907c4786177bbea85023047a01174e87edb5c24a58816891da2e982bf122eb571c3ca9e2ffee2fd7c372f7fa37944487c32c53cfbabc9973971c80302047c435bb50066306402300a6b6b060e75280799aa1a9457dff4d67bfca35d8387f9f77eedaf793dc9176947f85d4a27762ac8677d8c87bb7bd101023005fdab7d275b11e602de6ff8f306f2a56d0e5e4d91da0861373894520c8624c52d13b11a578a71d8eca19296f03535510302047c435bb500673065023062ac8c5770d3e1dfa5d40a65b4af8057aad00de711ae1d9b81540e88ef5671a1732e1375b73c5af5bd75de802b3f0067023100ee35650f018d6ba0c8b65727176201246df9c0eef723278f19c18adf233d047cc7eb2a5c5253cec93d67833c13a665570302047c435bb500673065023100b171748c20c06fc8d59eef0b5fdac078f91cc151a2ccc26874add63407fb0f8ab1b6b09127febd4607851eb33d36c435023070c71fd048c20fea0b974bb70d411503eaa1bc7e640d689f97de1bc8708551f2d8c39c9454d480875c5a6737ee6c73f20302047c435bb500673065023100e404d63f2ec5fb9240580ef0380fd28de09bebef06721048116001a9647e895969ebbfafac59ee2f6d7385d83c38b69c02305cc2bb46daa619d9919299859a510402200feb6e8491b8253b64a474c18a82b6c70d16a69a7ac5544477916939bcf1ae0302047c435bb50066306402304a936a5778c2e70a06ea8e29aa5133893d54368cdd4a5d174b29a4fca9efe2d01c15c8e3132fdfeddffd2bc8c4bdfb87023074b770041a89d9a611f3a61ea4148d443ddda5b7c652a03bc489e9b66ff4933e09a207c0e97b89bc455653f7bf8fb8270302047c435bb500683066023100ecf4e01f8ffc26bf3768321eac8852f0a3708d2675731f816d677d1454dfb94609bdd0581018fec9023eec015d74b88a023100ccd13f6eb174e2167d171ba8cefee13c81e3f03aca71f44fab38800af40b5376b2460c533cf8bd37bdbd5502cc836dde0302047c435bb5006730650230670aa3e7e707efa949ab53b4be02de0976cb8632d084ec204b8e462dce035183d023a182b1eb4986633ebda93f6da00f023100eb0d970e90aa198ffc588b2e8a298db966714c02d3abb389ae0fdad7b5c2a2d6e6b1a31b924fb5142b29bfc5ab638b2f0302047c435bb500673065023100ff81cf27cfc7b134f477c356d9652c08dd364191f80cf39bbb6ce787c370f962f380d509a855b76615496869b3a7806d02301b51a97ff3b70392f308a8aedc726de285067770633337738df1766fc3512938c44988c3b18ccf29d528b83aed051bce0302047c435bb5006730650230116890127a124a5d647349b7637275866af28fa27c019858e28fc574ded7f9af320529074ad4319de4f36f2560e5a368023100e92c7219224e88423d73c0e5f9ab5bb6f29c4be0552d9c05a4ce2586ab53bb91747af5b549ec933bd6a4c7e1ec565d9d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f8d8b0ffbc68b5f52a66c7d9a4d3b730642ab66e4611e415a1f5a9bae9b033e4523925535c112fee10b1aa3fdbcf1b2a02306b22e9ea82d34620d656b320661fea71e8ed01197589443fb7d6dc886c1c3dd1b47aafcad274f6fdde7747bbb5230e4f0302047c435bb50067306502303e301967e877f0e87d7aa4b5c347dd96b1ee7fa6ec3526a889710393698f816d58412051350d090736ad67fbe992d06e023100d2fff1799c2d55ba0b96fe8ad96b25991d43b8558aa40180f44a496c61899f78d1c840d5d350c12423a6994feaa16e960302047c435bb500673065023074708d59a6e8c65492742e9f6289d850c89a4760f5155298a399e62da00ee093f300c8669f778951b89052bcc17d7108023100bdc01ff3c5ab593fa0c86b87ac27773b2fa95844d68cd61225817f1c0a31745f7413eb62327c2300abb3ef34d1e668810302047c435bb500663064023051e35016caa6ff46fba905ad409c171d95e46b1c41d790f005fc013e7c221705db4ca0654b342c3d405b16f62a7570c3023035d4dbcbcd3c0ea453cd134c222b6e2e4b219a19e64236567a69c7b35ccc7f598752bdfec849ca1e3320c812ac70872f0302047c435bb50067306502306953d981f639a2dcd6f5eedd9500add1b2d7d199d3570761e28a93104c92d17ddb840d3e693c5fff7b18f3a68ca72130023100f6719895a759f132463b06e1d70199e59d901b5d7585aa2c1779d577bef98ff808a06c4bc51aa9184a8e2ba1a7e582a00302047c435bb500663064023007644d2fa55a917313b6def2bd7d1b25f93260830bdc4d01384ef4fd5912290be0f0651ae687faebbab80f97dfd53cbc02303c051e13a9f160a529514875c70eeed68a703e877759489edf2c84ebd4a932eacc995e28bbdd473dbacf4ee53e1b87480302047c435bb500663064023053208f807bde311aa97194c7c71265840b03c5b0e639ae9ca500640218694aba646b80bc963452cdaca204260217da0b02302d4e9816f56127b7e82999331d99a6eda69d2e2affaef30cb1bdf0c02c7e80d4cfbfc716f78e5a242815dec8f77f36cd0302047c435bb500673065023100c2595f1b0a655397784c005bb9f54bf210d4dce6f7fc9302b8990d3c8de3814ac8e44809f5ab13cef8aa021776a927e602301802acc98b486ab1361df0496a2632e8c8ed3c909612cf64ed6baefb10ff559384950d60055af3599e0965e97bbda5d20302047c435bb500683066023100d09c59224826e6d2fc2343197acdea4ec62736f99ce6a24e7f7da9be801c090a499167219edf07761d777b5654423426023100f9c0682de383b48edcafe8f150eaed4822160ec8ad8048b30ec2ba128dcd1251f313451b74731a4b5955b809d238f6650302047c435bb50067306502302ec3dac77e3c3db5419e2b3ac4236054613f7ec9654f63313369ec7a5b50df5d4df22537057b6b38798bdabf4f060db80231008a1ecdbcd46f913b06994b607aea0e45667c5ee750fd858af847094f19e480b98c5f6e7c177d95ce4cc1effcc72129370302047c435bb500673065023100ea28faa30f216a62db1394f75aad9bb1abcc17fa8dda3e6625666589b3c1703a9d77a982791311967c13cb2939091fc002300244dc0437483cd47cd07465ce4b902fa022c6730e3cb020f00bf2b7162f283ee10b69b5129f4549092eef6c8a7b42d70302047c435bb50067306502310083676d4643c177dcd28bbaaf08def1bccd1af19e0d470210aca6ec0409f108a464d8d79f99cead722d1713ef2c66351402302f977d936fee2ba84d7498dc26a40ed06300ca3686d7632db70d7e9b274c134f000cf70f052d5d59747e62167eb5adff0302047c435bb500663064023072af6b774693b5af491f69750949c2d26ef8eb4512db8303e90ec7f055fb4ae61992b96b25a0fcf05160c9012f70425e02300a0094b57ac83b6adb608331bf61283639512d5f966ad2c0d6c05a663e000524f814630255b5675bee65094a2e3b49940302047c435bb50066306402300b2eb0755c8a6819501a804c4cd40b857c712626e8666c2e7452ad4d8d46a0161f20817d063310e74f99fecdb51c7bf802307ef192a7ee004122ad9416ec8438427dc14b8b9a181ad3762fed8a171bfc30df8c8328de2491fac3d86501fd325799f50302047c435bb50067306502310094266fadf05f36d6eb945c92381e4817249ca37751c1da1e2962ad7120aae5f5b914043cc3d50d70043b25a4fc7cb69c023015d3e3d82369825bd4c82ae467b61541d00cc2ff633522a083553fc298751a82082c552161c08c1bd67b25c149e1cb0f0302047c435bb500673065023100b10ae2c73d5d2758cbc9f12e54d61c1142682f17b5d5f20a6613944f622591d9954db0df7cb92b3c54e275b2c127b76a02303fc3b24c62fa178f2fa4e3a0e3b97fd9b15f5a1de1a3c76e391527df6d795762626235e8d7e9a2758519152f9e4f05280302047c435bb500683066023100d989f284dbb5d420ff570a5b1c7e491304f62941e296227a4fbd76b3c4c748e5f01acedd44b6108f6d67a2243decc609023100e6aedf43874dff6d0be4eebca0af67bf9c70e1b0f2088b1850e0fbd26f7785d7c5d90e04968a034d3127c1cff90cdbac0302047c435bb500673065023100b60c65e279656373d22a371ee4438a431c0d799d5d23fdbe247dd0b71a03a331ebbefb6336922d78a05f93eecb37349e02307a5ef0d666ea0c353835f66d9c7a2820b843792659bd4c78c2ddc1aaf89716cd8ac95402d561fc74f6fef8a3443b86d30302047c435bb5006630640230209e9d541250479c6c10127b7a6e12b8375eab3d1f2f412741bef5c84664e2e929d319d98aa9d0c6539bf6b40ec9e0a0023010ff12301b2aa3137f67481513b4d8dd0636c0c4e4d9594098f8d69624ddf2262654344da17192a396116daab9eaead20302047c435bb500673065023100a32ea3f22ca5419fedbc16a721a62d876fc4b800f9c083f79691fb906eac40a072c1c8ccaa1850669b0ceb40ddd540e4023014459d3622bf12d6e055bf8972f74932e31532d8f442d8acb86c04b7ec765847ec6131f87e755388fbe73ee80d3a87c30302047c435bb500683066023100f0213754b723195f70388d11ccb5449513b00c2ae57b25dca76804bb37b208346b08d32767758ea26a037a94d7db9901023100df8d214a95e2a5a8773ad407ab0e5af28a262bcfbbd8abad81fa66bd20e1f1544189d1a06895690b968e56f8277bac560302047c435bb500673065023100966055a6d29c8f2ec98dfba3571ac167cc1e66aeb5ff2c34cfe0543d2840a63ac346868746bac8ee23747c2f0a8562060230185220a3ce9bdde568f454342a25b8311d931784bd4fb12bd210c369c69753b01843e24fd67ab8824b19723c51e2f6eb0302047c435bb500673065023100cc64332328a2261add7379cc2a6d87fac8d79f156c1323df6e94f444217a41acf65cffada03bf66abcd6fd1b79bea1770230311fa5d61e557d71c09b2d417c9ea374cbacb4a56ea78a9a5b95f479f603df2f632993482e0e3ffbf528160ed099f0e90302047c435bb5006830660231009808369f1d9594b93a3a2fa646068c52347d535071d6cafb17a29a6864d681dc7b918afe869bfa92c3ef66f2443b3f0c0231009a1326e3a79d7b79542aca1a1f49bf0e4cf51943a0acb03e03694857605ff83cca977ae786fa0e4c4ee0829fd8778e6d0302047c435bb500673065023100c593593eb24491d794def9b5da18baab0c25978b05e4764b9ba0905ab7f1c75a826bceecb36cb7a64b0b57692d466b5802304595c8cd748d0d6c68a2ec31d546d0e1e16a32c1140a33643ff3190c009aa4918a5d4dd4dd69adfc837e21f3ec58956f0302047c435bb500683066023100e3caa8ac10c6f217118ecfca947f4b7622517da95d48203a21b0a3acb1eaa3e76e804c477ed6608488d1473a4fc12e5b023100e1e2f77ad07dc9082038bdbe851e616610d44015181dda3016c94b2d988b518252ee826a8f816c5e2f0fe0b46c4520340302047c435bb500673065023068322c138af12dc9e55af12ad58d29f81068e79defc759412d78fde8d8fd3064d2e009f8497064464158d028b7b1dae8023100cb17dda71b3e6c1dfe501a0cabfc7151d12a5d0d0ff9e12151b44703bd684009c0429705bb037216b6a29adf9954514a0302047c435bb50066306402305ee72d1cebb22f8e0d3195c5029dba5b9c66b76c0843ad2e8b6e28b6b9742472d8ccd0b13750884dd5f62f8e14267e6c023063c97e90989ab55a858952ab6c10369ef6e8bf097cc058ca564ef62f4455765c13de84700aedf13ad744cf5d112f71660302047c435bb500673065023003d130a9353f9533a49cad21a55b5fc15c78de33f4237adc64a4ec3858d9a009656cf294c0ffc2b2ad50d71fced82e0c0231008cf5bdfbc905ae28854f9e4562df86e6f7ffbacfcc965aa12cbe4820558db357bf1a84da731fd3c4831b54af48899e990302047c435bb500673065023100ced6588cfadd4f711f9df803648736b4eedd8663e5dcb5d0f03301e13b9b520ac3cf0eac1178b075f0454f37b840104002303663ed0919be1e48fd8706ad75c8c9f23dc3294e2bcff6edfea1405d470b5017b10bb274ee6169c0a30f4575c9a3679c0302047c435bb50067306502302a193ce73649e9775cc88f067b22fb54546d478b2bc734699d93ab4b1948e6161a69dd08b47bbecbfdc110e053fc9270023100a479c7fe92f3dfdb799e3e8610c54518743454fb38394b77079b960f37766e0e85cf9efb6931f2467f876d1089c2af450302047c435bb500683066023100cbb93c76675073dec7890a13f63429d6ffd8b0a5e066126297059f2abd29d8e7ee97b2fadd2c483927c08b6a4fcea6a2023100e0d581b6712391092451f53607d98a6fa5e351173ae1fbdb987eabb8edbc2e699857fee44488d92400b9fa644cc6a7e40302047c435bb5006730650230555096953001fc156085060f548885ff4f1de1ac11554bc4d78e72ae828d46a2823d4a5298f6897bf7da6bdec1a6c9e1023100b4de855bf7d7bbbeef7a0e59dbadc62c539b695c56324c4d69f87b883d67143634fd54ee66e802692f698a6ba1da1f720302047c435bb50066306402303557c785197e1e98807412c61bcefdb4e5c454a2f60842d18a79d339fc6ad7a9b919c2ea74ed888776f22ec50690af850230420a6c2f4632c0ba465311295d0090d2d8424b3ed516296ecc09628f77970a3cda32bb69f09ac5da35f314843baad8170302047c435bb500663064023064a541392636bb8690a85e6c7fa4218ebd2630c6b031bce790a53cb8427aa9d93309b4cbb0ccb2c271b4481208b157a902301ed95e0b4b94e4573943b8a35b632aab8f092430b46069d5b12bbd8676a94d68d925a68177f88ab75c8369d9c4ccf62d0302047c435bb500673065023100d4379a333bb33af2ddc35065f05fb7346b1d26571c7167b018458d5bfb0d790a5ec96d40cde4a413a686f2e4272287a702302dcef7d092251e78066c7e18c7dd8193ff749d68a89877f8b48b4e7e2cbb5cb41014ef27948ffe30bd0d34d4e32ce3150302047c435bb500663064023061f74aa5f3a902984389b17f1e401dba1d22b2a0f30c85c9767f43e892aed6222605baac748d0a391fc7f00c1513f5f502305245229862fbe847dbb498a9a46d1b21d73b55153ee69aa517e0e19ea4a9c89aa38bc83b125ea2668a34154f597b78a20302047c435bb5006630640230546ed0b4c745c5668c58c5ca6874791c8cc4fb7ad1605a788b719d95cbf55e7c05373c2b65a538dd54c434d907b485f2023033f07a8f09f3f63c41c3576cfaf61221584cb81eaad46645c2cb5845fe75931640de2f2602f5528d1a460ba68060fc220302047c435bb500663064023031a7c89430b4dc4fc164607d1c883529475ad87ac41869843352bd3363d9f15f1ae7d4522edb1d7c41424bde9ef7a8b4023078a4b62a53a22ac5411a987eae40ad5fc42b50111f93138984efa646999ceb69d79efafe646971f66a441da6fbd4fcfb0302047c435bb500683066023100f892e2af0822167e14d4a2841eea5acbdb87b0a9ec68bee9bc37fb95d8cfbfcd8d17bb3832883a06cd0f219735333ff002310098fa56e0fc395bd982f11aa8c670ab06f3334f6fc6a57a999ea2e70bd5d04065579cf607fa6a5f61c98101c0a2690d250302047c435bb500663064023074fdb07e53c5fa33c3cc5a9a2eb419798122742bd8098ebb15dad9280c17242304dd74328cd4cc07e90cf00a0212916b023078ab06ec055b8c001b838fdcbb73376ee24e6fcc815122edd916ec366f3459411fd465474bc15835daa7d195a7b294810302047c435bb5006730650230549b4c92178d331d20f40e0892053d971f8442b33f8081308e76bac1c344f343a9873acfc3e8e447f9b742b2cc8a1aed023100ef5be1b99af5d20fc07ceae587a6e5d63671b7e33652a966fc5a8efeeebe59926316ef85e75d0898bb1a605ab420f5d60302047c435bb50066306402301134c4c0af2d19fd4cfbd5496995e2fe9d1f22335c4e25b85fb8b400162fd7333f249ed7157c6f1112be4dbab8638b5002305e487b1690e41f6f13996d82f0d590223f4a1549a350f9fb6b98e88411b70f599bb11c920f4370439fbfd5ecdb6f957f0302047c435bb500673065023003dffd6f3e18760b3df64e009d9ebefdf627f1ef438ed517dcde74f0c3d75652e8da8d781fcb6927ad9cda693913b7e1023100b15b2ed7b1d8914a97d5893771acda0fb47782b1631c7766f23d6df8c9da4c7e23a255ad5945a1252764b0057d6c722f0302047c435bb5006730650231009261bae537e2bdebb48e696b2f1ca7aacc8e934fcba368101cf47c004e4d5c747551d980fe3cdd1838f33d0e8bf2cbbb0230288f6a96a7292c3afe6d5f248b4c328d071273a225dbd190d8d1eb2ef6547c43c440a66ceaada04fd426f5fb87453bfa0302047c435bb500663064023011c90665d1dfe78fad16ff7b99ba270504c7db55c994bbbf0d8b48af223280c8ef2515984928b07a0221f750178e218902301d6856db1e1da3f165e5a54d54bdc6cdca9708ff50654ef53668d2bc3100a0f9a6198ddc999705bf45e548a7f3da03c90302047c435bb500673065023073d13e6db15529505e6bc976b5ee457ecde89cf6ba8e357a8a10701fcde76efe3507964920cf27126bd0700c3bf974ab0231008356e5a2460aef43192bea15e7bd7bc7136f1a1c25f41f99b42404cc5825f241c8f2837f0982dbfdd9fc29014f8a45fe0302047c435bb5006830660231009f238ba403a94f1602bab3df993360a4e803e3f786736f1e5961759fcb6ae7d5582f5a8b967ec3ecdd7f292f91561290023100f0e01b402b5ba0e921f1228e14fc75cedd7bb45749c93a43db48f7c248e43f2e63ae0140c8c518d9355089651e62b2a00302047c435bb5006730650230676bc59cd166ab0bb9e7f28db86a6ff145747fac08772bf59151610a3b7e1728d4f2a0cf72f3811d8859953bb7b0f0770231008bf0d283ef62073055325885d82bb0e693799962f4025998c552d11c2a1eefca0cceb3c78524121ee11defff3271f9b90302047c435bb500683066023100c09a932a12846c4723b917031aae5eb41022e7e03edcbfa3a6a065d1f75c4eaa42a101c8d04788bd0999ca6fa207a739023100a533206acaad2e90665e7a6ddd691bc0b0016e2b112e8c64657434232f69c1c396dcb9c8389f195210dc959beef00d920302047c435bb500683066023100add147fa29ef5a1704042dadb763e99c9b9eb7e880524c50fd74ca62846988815c79c2fc648419e8d7e7e81a0f4cbed7023100f15d3520eda15dd64d08768e345b5aca47a37e49717bbbb31c60b21d735867a16635cf080f764f05e80ab15de3f6242f0302047c435bb50067306502304396ab4cadf8cd8984448e2969b224c5b2f3c04c43e6c3ed39e1ca5f608d6c6bc633172009c4a8d66ee5d0f5e080bc96023100a1e1fb5f4d535c3a774b5a3e24e6bc93bf31d5476e2cc4d6e4a4257e13ebec0af7b57fa45c4ed94a1c14e840a96111370302047c435bb50066306402301e622690399e4738399e2603afabcbaaecea2515047d75dbe6d1a9cab4dfb87b3049d92ab757c7525c6bb453ce0409e602305c83bd566e8c63850a3aba0e254be19389b6dbf6bdce5087d14b1a93857f6817f76999064fbfd027ba630baacfe3c7f00302047c435bb500673065023100850ef941e645cd230b618ce69f037ff681ae39a02aafb2ed8dd237c1501df76cfa1c1d59042c019dc96a94a969203f32023070b251c31014081970f0058dfce978f653de71ef87441179e26f47eb6836dccb04fd1b1b7b76c0eb2c86abe9931a6bd80302047c435bb50066306402300f329afa8020b64b9fc29c8d520d0d00bdabec7ff405ffd2663616639825da4230adb2e7e362c9a80b1ff8e6cb0801aa02303d7031aab3de77c4d9952466435ea2fcfa03600e4c302b8da011a4e9ee7ea06097f83e9c5b496cb0351609f9b0d253920302047c435bb500663064023016f2b61da102747b2b4a15665ecd24f6bf315edfd3ca404746912c7779821161071f06a94756e655c6beb718d62ac7dd0230233167054e7469de0ac32fc8b6eb825362a09ea13f2691c04e3b269787ed69d8211dd194317f4b6ee87843ef0b50ecef0302047c435bb500673065023100dae70d0733c1dad7bc0d1f6ee1a55906856f4efd263c8ed5e8986d3ceee04de368b152e41c19da97f3d0df20bce02f5d0230179898e091db36ffe19439eed8f8c5375cba70b2604045def2a8dda92acd9ae962c2921c5b770fa00390ef43de89b4ab0302047c435bb50066306402307a5ba5d27cf146a91a5dff4d8571f8fa69293c9d880fde6eb9d3c4d90ff215bff5441029dbb1bc8c46e01bdca6ee7da802302b0b1bc20e4b7a6190eeb65971a8a0ce2d6b99556b4fb3cdf8fa1bd99b7f405ab109c376cbe0e40d56cc2755e33f90fd0302047c435bb50067306502300fa03f0b7458084fe600fe5f7904114da234c48d591588ac5d570cef341bce23760af69c9b18250939a2150df9a56e8c023100d8faa43d2c98d5ae30a97b83d8b361cfd4bbf4ff2bf449845ee0419fd7c70e16b708415cdf1994ed66f60639026a18290302047c435bb500673065023100f4b85ba9c0adf017e80a9c1581c1c7e2e8bd84aef9b4db93fd045a44b16a1865e2825c56365b05a136f7d8acd83d5f9d02302a08c16ad51aacf4fc73f3914edb44c7d29879623cf8b29e1b690f2be005799356ae09aabc1af9c8d0b74a6674927aef0302047c435bb500673065023100e0da975c1bdd21b19bd2b93039c612b566c9b70a9505712d1ede3dec0a616e5579b2be91c7c3937f8018bc6ea63507630230246c48519efb13808fe648119b39d7ef518af68fd5d58d23e4a02152213d8e3ac02195836d7543d6d9b4caa684be540c0302047c435bb500673065023100a0654bca8c749ad8c877cfcab9b25c75693b285878fa39958ba736713a9626acf7649016e1e58a5c5770f0a3e48d2b2f02300dd8b6654516a4a3c315e8bd8d238c51a2469cfe0562acec6daf6207597061260d16fe9d95692eca0be7379651b8fd2c0302047c435bb500673065023036a457214c1e1199226959afc1c9a0d4fd18f3778c88e45773285916cb40994490885bb4efe9f04829189566b7b59bbb023100f6a2721d4afeeb7bf846aa0264804578754200e72b3bc2d22f6402cbae94367bd2a068a2239a993ee75b022015a92e440302047c435bb5006730650230617bd0e3560a923b9465a90f331a21e979b2a435462cb088549052a3ea36854fc1260235e0462d6bd4dde2c24dc27f2d023100bc369dc1695c353b81d9f26741c54525fedce246ff37307702ff872c7ede33630a8f504e0a7e370c4a15481f475d988e0302047c435bb500673065023100dfa01cf14331a6b110ff59c341762e6ec4cd89636f0385e7672786ec1f287ea99c69f79cb6b8ac58cc1669f45c02f2a602301f49d1d6d42472928b03b6e749115b175ac66c30fad8b7413f08380da9918c68cf5f1584b6eb17012422309bf0af52020302047c435bb500673065023003231f8487138b578dfeaa198d42a3ec6407a7e54986859d2efa5d7ab7e85093baba63263f7d4a3c9309c9d5a63b8b4c02310094815d1984a6d6c9db87ec5e89aeda3850e4060271b36d2d15105a57424b0d27395af9b51a291b9a8149b780007fdf9c0302047c435bb5006730650231008402ff7ccf1462c20f4c88270a0546442520d86697f49198e2f06066c223ceba56e052967d5803cde865d20196ab26eb02305cace53a8ec08918ba66e7c1655c481e4f7d67a20d1597567ca8f667004d3a151693aef9c8feaf287b6904572d6d73710302047c435bb50067306502301f9f60845922a9a1b471e8f70ae1af21aec3650cac883678f547563aca177902a717c39215a75724e22ef8b21c9cb367023100cf28ffbb934bdf790e7fb70179371dcbf6e2f4779e69d7a6599e51d4203f1a658b67b2d2acc933743ecc5dfdb7f26b240302047c435bb500683066023100dfb34412cda71b7a0af0f635eb046087d82167fce2ca79d4a8df14f745020b905947cdb613746454d82bb80b79c64915023100d36b85407a50fd608efc915c93e89495283fc024dba77a6525c10c55a058ea08147edaf95b60527b947da32b2c1082bb0302047c435bb50066306402304f312657a51330cbb0d9cd05989698fb85abdd7122025134396cd7d401dfaa8701d2b5bf00023dd1d91cc6ced48f3f6d02304bfefa8bd537df448869b0f26a5c2919e101c856c7ef0326169da8eceba789220312784fc8f679922c7937e8eb4a2bad0302047c435bb5006630640230631846cac28945f15536c1c3cf5b9c14f6e350938c846c38b12e374962f5df16c8de5f1909246b0dd67200b71459e26202303a62016cb0f019a1dcb503877e4eb5a28a6043e7e47d683c59be30c53a3b0c7261e6850f417577cb043f52d6e4df160e0302047c435bb500663064023037727660f41655f663a97bee59943843b8654ad4eefe1ead0ca5c7322c3022d039d49665f859b152e197a9feaf260d2802302764a6f1ce437f06633caf8cb918b34a0f4af5049baa6cff705dc1f3090aed419de70ba2fd642f65225a30de89e1f2b20302047c435bb500663064023005fad0553588fd8ea8c9b5b09dddc947d28be8cedd1566ce91f7c501bd6c821e73c4b9581a9ee66779e60a52228c962f02302db5da0d19c22e847b80911a257a525954c415dd29139c7a1f1b554a28e39b717eb56a242bbc9da8b655d3a13d3a1cf50302047c435bb5006730650230468d2d6df438ad9738051eba3d8ff54782085a8f5e7ae815b0efed6df712ba2778e5da1439f24397100acf05f12b017e023100a2ba5e2bfb97ea1f479b157c577db618e6d204484871a442060b9edbf170387a36aa28b27a31426588896fb00f4539390302047c435bb500673065023100ec0aff56f9c75f2960ce3f5d246525903b372c1bdbfe19a51c7337d7ddc2b3187b5a7aedd9a9fe918dad17978c2ca43502305a99705c73504faf0f760ade6234efbfbe7f8166de1cec374f41e82888f4d2b0860d97bcff09861a0a711e12b83ccc3d0302047c435bb50066306402300360b21d71bb575b7f8bc2386218f853c7d182f430f55fdb7d0e7e5bf367e828c13ea57a44bd328a05d952ac1a479319023004e7b302e896bb60a7dd71133fbbf41df553294c4b64d6d6984ecd6c9ad457e0d20e62de886eb18e6917dcd7d40e61c60302047c435bb5006730650230127aa1a2d09b7e3cb1595b49edc303804b2931534843993915689e3c155547f9a921d9967b2d26e2b5991d8cf7dac6ee023100a8345d3ea00a563e3c12436e32639e37687d5734c5e62e87e1b901638c77c383a27c2a29dc985790e177d864db1c94b40302047c435bb500673065023100cd6542155e6d8431dd226d078fa22e640bcea6c09602d9eebed68ade59b33575f66cc94b176b6e54079801cb7eecdb9f02304f892316cd3ff212e3338f99db898493c1061a21674aa9120b922580261db49bfaa763f4af9f5200dd754704cf205e660302047c435bb5006730650231008d9a9e15f570bb074b05b21d2c7edb7ead5dccf5621cce1946da51760d71a8129c1d39cdc61c51d0e88656bbe7da25fa02301cee0bb7240ae145d1cee0c2d28172b97ef05b1cf944e98821318012880e2eec48c110ed1a90df1471689e27162217370302047c435bb5006830660231008783dd37fd7def16b0874ec35364ed5f6ab705a37751e127359dac947b9cee1845289b7fbb2e95c0ce850a3e03f7d790023100d9f4ff0ed1c8ef52789b595962e0dbdb40d2cf5a7bc01a98212867804537a27f5fe0e67da768f5ea2c9ab5e3535e6fbb0302047c435bb500683066023100e5d31a321f76d7111ecf6148400c41825d3f0476b37336b9d4882a0206c2d9c7ea54db8605fbe546a0c5d86493a135220231008e1486e7f50285030aac1feb020d1c22f1fba47dad80013aae72373def46b0c7c6063297d68f837461066f72be29d8db0302047c435bb500683066023100a9d28fdf69b91d5b18e26ecc117c2791849a62330876b6196c36f89b318e0d442cfbd676046d1ee6814cc6d2b021d8e2023100c62c8b2e156c6d17a4226a5a198c0d579892608a72a13a979ce1e59cfbaa5961b3e07c2cb1e26079a3d501a24f4540a80302047c435bb50067306502302ed73a08904b14ea4a4b399769d0e81961addf6feea912609a7ea41b7657bf3b6be8f6ef8ad686e2ddb515b72d6339980231008b6af0814abed9187e7ef76c3a7437889c106d5eee414742b3e29a507be0946f9e0c37ab805bb757584b3abfa9efb4fa0302047c435bb500673065023047d0a5e2299eea367add1e8bbfa422d0cea63cf18a4156641a878cf27dd27eef8b80b19989212014d7d63c789e781508023100a11ef036f6f808a8e0c6919c4e2d6bf5759d028e371db343034dac791890fc4443fb5fe4975385e52d371a0e6108f9a60302047c435bb500663064023003fb7ec100d385de3f71986d839655409a052fde02dba8250da69e53c2e45884ee592c64455ec43e9021e38b006e2ab4023020351b3e86f4a07e2cb117cf100501c48bf1f198168234ecaa77b0cf2260261565b1bf26607dae12d4cd712cc8b264190302047c435bb500673065023038b82e34f3f919cffa6545159d176dc01b32fe2b9416d52e04dd480bea0815f4afb07137700b268ae2e37c9506a09901023100feceec06f0d32c19cf97b6be544ea5490be816aa35c3359c000a9823dde67b701f82ae6c52c5152606e6dc6b27c3c8e80302047c435bb50067306502301eeedc61b04bfa6207424c99f392aafcef579547ffb1428baac998f0947f38ad1f9bc641bea1ed74feef28a6a42e2c23023100c9d2b2ec6cb123e4021341e86b1d295acc2254fcfa36398c27f0e52febce607f3240f53390fc4635a192200c2e3c58150302047c435bb500683066023100d52aa9f339e9bf37b3637a4b7a516942342908f2e55cd84a91082326aa493bcdeb541461d3ac2e35596583eb6f01396d023100b8b70be5d7417012c3900855f331160eb16f4df04b9259455a95239835584bfc80eb6465d08f5aec254ea3fb2bf99b950302047c435bb50066306402302611d2fc45dc32709c324844c5c6b0be71c75bb18b8f52456366bb059d9afc92c66c41ad5d984ff93d57bd2c34e8e163023058a96b4265e22606315f94302b3bdd816603b24d47f41a94caa3ef90cf471e65f2dbb221c7035d323c4e9155a48fb5830302047c435bb50067306502301a60da7dc0a35359c3db094206d420706a24110329fbb69e7cd5d8271b11f05dc54abb1c17e93ff9f2d0d5e15463ceff023100ada12c7fc608e07f4d95fb653f39f60857983b0d5fc29c565c1437a4e8f0f238f2cb50a03479efe61e88438697e389950302047c435bb500673065023044231f08706993e2d2d067237d637293d29b45657769bd853565d5fdc3cecd0c02b6dca8cf69576bad36e97d74d78292023100a8a5c8a01e81fe67d6bf8e051682fa28a384aa562038ef89426ea8d611b00983b71b5fd6c27d0ab82095c5c8ea3af7370302047c435bb500673065023014f6aa9c9402e816a5cb7f6a78cdbbf8968683f4f135bbee37c166ffdc6f575e17e9a9e1732de4b34e47d0ac4b2ac806023100915196d8739f700300ff9dedfe74de40a186b073ea87a94c1c6702efc99798b0831e2c81435d9eb88691b8588de13cfc0302047c435bb50066306402304b3e67ee813f776e5ec998a1708e68e1f39e6c698a8eb3e2939391f83122807976e89467653876ab22e89061da88576c02306f3e35667dad7755cbf9f6fc2d4762b17fe5ed598e0d9c88119c6b7ee79991a7a187da2688d77ac2c189ce8b43d68ed20302047c435bb500673065023100f02e0cf75f0840fdfa0e34ef42b7c5e3717a2f0eba41ef028828d34fc02c00e2afae9ff4c6d085d8c727f767eaaef3a80230519774de7f6216add40168529a12d053874dbd3b9406b59775323a1b88b1a02d5503a2d62e3299d33853b6bec82674d00302047c435bb500653063022f4946115e5459ff1aab7170e0be187a23ad0a224b252ed0ff58b8ea1efad5dec3d3c032c9aff9843e27f27e523af1e6023046c6da8b96f245294b1b28b610a1129c0320bd936b8bd209c3afcdc50ca14c114ab671083a2997793a6f005e421fa2bd0302047c435bb50067306502310084130edecffd9ff96d159331118a5d7729030faf3b1c570b37947da75e85f38898580d684e3f337fe0be26ecc05212dc02305c017d75d1a7f1ab15ce73210071514c1f7ba75bb52aed7defd18aa660d339e32d8fe5ba2088605f96faf357896e9d530302047c435bb50066306402301f10da8848c360991b6b6d369442c0a0e49afbf14d463edd8791ff1ed277e596239322157ea484b4d74add3496ee3112023025d2d99231476826ad24daa3cf4e662ea78ac94f7c69fcb6b0af4a753d6413fb29b93eb6993510056de1de4ca3dfe4970302047c435bb500673065023100cb4a2855d64b0fff5072d8f579d410dd2c6c6b2f1b2575f7c48e65ed0a2168daf3ce0c1e107dcd9969cdea36eff9a0a90230326e3f521dde4908fe791fe76ff3b8daf760e5d16825e20e218647e07da4c89e60f60752a351a132457d64e1620116aa0302047c435bb5006830660231008a2d6aa11f7ca946cf5beacb62f973543f3f55091adb5eab33949fb29f1cde356f16ebd9b3f722599028ae725a1c32fb023100ab4e75f0a319401ff105a7773e3c1ef557f6d45a22bffc97bed4547860f6e38b9e2096f721fd017af578b018c46cf32d0302047c435bb500663064023017b0528190c960dea2b997202f9a4dc2945707e0624d79c55e28ffadf774e08b03ea2d92e41674506cdbdc3ad2a42edc02301f8587a535404ebadfca371aee5ac3d5a212fc74b91a00de7984025f7045de124c664b8a3b26868f5c44c5e0587461da0302047c435bb500673065023100ea05da96b2869534a65823071f33ec09b9576f06b744c5003883ec13401296e1ee8cbab3363542d5fa4e5c04c422f15d02301e1fde9e646cb1d7154c96b0beb185442c86855beb0c574e429e3c166ffb13dd7526610c899c2c139a16f1849c3bc98e0302047c435bb50067306502306ee2be32bb408a458109b4bb9ca3d671e4ef28529d80246b4a1c95d92ad4a90f7a7800e05d729d5df87aed5cd0835eee023100ff792a275302ccb0e33625a843f761806e1b492cc7b99fbab5d53d93626883fb5c8a99bca5b098e69afc0b639b2eb56d0302047c435bb50067306502307521e3e64337a0c2928682115b85e0ca3ded118f777cd7d6e50eca0f6f9f1a57f587609289f39205a2414e0023699536023100b82a4ac6c9c691ca15f72f7cb998c1e0c2374bf331ad03bdefca9b128e99d4d08d77b2d4bfcd4d7defde55c003c974e60302047c435bb500663064023005f803da24596a5297ceb701eb86739ca2809d4273a9889d9b62f7339824e791381aca40c1b48b40071c4833f07dedd102302559f4ae67e25d4b5253173223035f1cebba0f9eef72d3f247ff2b749acd6b39fa550977f03d66ef51d266cdd323c0d40302047c435bb500683066023100c4533a4745b6bf83e15b8a8af892b8a05eeb780992c175c10c1bc9d169775c22e35ed703dd2dfea834629c0082a94b77023100e051bc223f3c689911ce0923c76ae6b691dc35efc5cd0c1093abc1e14e9de065f2be174f26cbfa000c77f07fc202c6460302047c435bb500673065023100c76b2b2fc3daf04e0824e876d57066c264b102f8f49b9fe71ec3228aaabef57ea55ac94590e84b62a2458cfa8a49651d02307b3169250006074b5bc460280ab53fa753b9e4c8b59fd7ee231132c763ed1ca27e6c6f177507b61fd1564e13b1a46eea0302047c435bb5006630640230321085af704c3722cf8242ba54c53e0dba073fd592ee1a54bc8b5749f4f76531ee52e618c61391515494b8afee8a0e22023033e47f922ba6666a8db012aa4a173176420910cea1da5425a6bda8dd44292025d27566e8c6040ae87185a66b25257a600302047c435bb500683066023100f340e0e3f7ab10f30623b81a54915fa20051fcb7e970f5e7525310f9d1dfc76e072767553a3993773ba4526b65e0a959023100d9bff17448515d64e51eccddf7da58c8a3951c906530b0f55f20632af3a7ef813d7eff0117dc5258321601f376b447220302047c435bb500663064023014f29582a0fad590409fe5c0ea915b601973fb5150405239b620d996b0946f78b1c3129979d316a09a7bb1c3e27d6cc902304c10e441ba40c819b3b88477fb389e77f30ad051c0f5365eff63315d74df4775387bf07a7765e3e1698bd1615c5f31120302047c435bb50067306502300658192686ba601b44839461012d5ccccba7b5ec6d56e38d868179348314700532fb79c083d2e60f25af6bf2f98ebd370231008fdd1352e014bd1c878067b26aff5d89be34daceea456ca417a97180250c5be9027a83ad485ea0e2ac8f05105f1401c30302047c435bb5006730650230248178cd6d745380cd24653e56f4dae9b13914d56d4f18acb56054cfa3e1075a9f6032f999d0bda5377cda6a9a4b4879023100ba50c7a8c3be443167c9dbaa065d40d878af918512f5d1bf4263f6fb867a395863d90525d71c2fbce2eec3faac71bc1b0302047c435bb500673065023100c41066cb0a3d977348feacd6cd92da998ca5ee3fb0ff9d6ac11bfc496495d60dfd2c69dcdec5826a211bf0f2e05cfd3302304c0ae1576e0c66e3cd33a1535b1bea810c20cb104fbffb0811de544473b8e51a76c3ecc5479c51e58e9e1f570b517b060302047c435bb500663064023012ff95a098ae3d96887ee0d511f49f9ec8499dc6e67e204b46dbc560a68b5fe78f76aaac35002ecdc1bf852aceba78c102306059d330cb55d5c7e9d42192141c6073f0253b64afef5a137e156f23805315794c76b84f951e42fa8d1115ef0fe44df60302047c435bb500673065023100cb6187ed95c963a742741c4d7f3e007c3f5375db7a3c414f0006acef029bff1b93e02c5c715d13dbb46a1819538633240230205b7f80b26b405e93d28fd2068cc661291cd10b2912b8c94788b9c675e9f038f0f64ee1ce891847d8b1266aa97956950302047c435bb500683066023100a2d535dfb69a37788d4cbacb7600be480a5aedd7e82b8695f12c0aa04232665778456ac3f9bd3c4cf861bd44af7249bc023100dfe7385dbc784351973fb79f59ef594c878e443521a531a09bd370043f623f1f94f6b271250ac957eb200c4c56082c0b0302047c435bb50067306502300cf96c97e06017f93e8bbf0aa3c30cab0aeb524ab72225f8f944e41524939ce7404fe8fadc9eb914130f8637efa117b30231008dc2bb07e13ae1f4ba4459eacfb801dcb37f4d2dd4fafe54acf45f2e71261d9d6559bcb9fe825206b71e7b40055b195b0302047c435bb5006730650230300dcdd07e96823d8770dac28db037a872e059517c43804b85d67fe1a9b03232a93bfb401edead5bb495a17d775f2c62023100995717414ae93d8997dc55f229207f1ac2a5b63d118dcec6a43d230b44c05d350e0d5830a611bebd5ca8a563b17976c90302047c435bb500683066023100f845e05bf53eb659d5d6dd6be450e4c82f1d0f071d6763b4b2d7e2cc5e181570eed46c69b1e5a45f5258f6369cf1650e023100d0a732350f12f32849776e6db05b25aaa22efbf5a692eb169de73827663bb977ad1c9190dcd045e97b9e43b452b7f54b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c95e616814275f6c0b09474651ae577ab051821fd6959d6b2834314698135e554264e0e08266cb402a697382687513940231009f11302b135c5c3a0fba59ac202c32521095567d0563881680d9edda068c018595dcb407085ee89a274ed168d72525410302047c435bb50067306502300d6bc72ea9c46eb7d5221b6bb591bc0664fbcb49c28f7cc4e342d799b5c3d7d77f9bc112fc175b43e393b243e5eda926023100a72e7677fe3695b16117922490219fe47787dc96086efc4b5fd06d1a94eeeb4eafc6edc69b061d41b65cf6012affc5ca0302047c435bb500663064023000bc7518a9ea59f98b541e10d5e0deecedf6e4f9e6f3451c5ec01f8177b56be1ba43e73334d45130344fafafe8026b6b02307df9bc0e262d7c31fd1bb55acf827a2cd15fc296b83bd2a7f5b3bcba38ce9831e13f14226b5df1dfa96a44789cbb04f40302047c435bb500673065023100bf0226fd5dd7adc89505f567139e202aa4b8593847fff45ab2c094a20494896bab7a1fa55b6659911ee6d3872b40292802307736940c9d715d595f7f876eeedc1dd9b0dc9d52320721f4a5b64088f1afbf4b297f5f216e76a413ea89d9203f1016b30302047c435bb500673065023031d04c788a2c71bf7146ca904e7f2b66f816d1fa6fe506ee6f7afd87859503f281330052e63e65ad0b1d1c6d4416f7f502310098a4224ca8b00849fe1ec028cc106b2e12af9a08372a90f33590703b411d69adc544e07c3e8efb2668a0decc148a3cdc0302047c435bb500673065023100824c409b4b532de718ce86eeecc1778cd2e34a93e433f1dc28c96dfe8a1404ecfcac1d7e37cece345b43f4bee78a9b3502301098eec2957b57c277ff5928a44c2e6cf88ed0e34d7f93367627c63d2084f6a2e195458b43e8613e6f3287ffcb4548b40302047c435bb500683066023100c844134fa936dac5828bd178f067d05a66102afe70c9f3be7386d89704525474b29d2cbb8cb3075338c93a1f9860a337023100abad8aa5c3dffb444f4b2db57236811588270dd5cbf7b8c5656b7eea579864ae8119b751da1530a337416257bbd64aee0302047c435bb500673065023100bc5649f3678eb053138681fdc9cbfd7e41f4db3a1f49c94a7099a9d713b57629d38812f65a022e6801297532c856c87502305b05107eb41238dbd694fdee0d1b19c3f5cdb62beb3b67e326da90063964d07ae45a54b284e24c4a83e1f2238e8930de0302047c435bb500673065023100a596902eecece1dd17c47227710a1035e3bc2d33adbc893515070c6eec385cf719f2a002b38300c0426d6abf1227ba2902307be875f913a43369c93160832780b3407c578042999308b6acdf4eb7ca8c9447dd2c0275f245e4145f52210ac0f8b1e30302047c435bb500673065023100c5c5349ee042b9e4437ee46f925122ca660389c4c319b4f95969ceb48e4add0d63386e000d39c0ca083ef0d3be88446502307f59757b2e3355a5567b3057a2e4477c833bd6bd4a1c4df1e5d09afbc6381fd0e1ba817dcae648dee0e0f5dcac162aee0302047c435bb500663064023007973c9db5376e342bd5eea6450db6096c303cde3ccd555317490d699966f1cc6afc9ddd4e549d69d453a512c1750486023024aa8fef41ada02f281b544187134e304d1bab3217fbcc1bf0754b845f8b33aa13534abeb20a8400aa1d9b09fa39814e0302047c435bb500683066023100b65a92d5c6128fd5a70ab02cd510a862cda904f45dbb7623159afe4168710c00d49b6d9cf1f1c92640e5023cdc19c65e023100f6159b970bd9500c195f72b6e923d546ec828d443d91cf2828dd982fa13087514b17aa42aabc837acecb72b02fd175960302047c435bb5006730650230517d67e0de8832273c5b052be3f1b80c1e3970ff52df0c7091d313886690138c2f41a8e5520afbd7b0d671cc208542c6023100a4de0f4beff751f66c78fe8b96a63fae999988ef37b93fad17f14d5223aa8486fb999047140989ce3785c3b5467a18cb0302047c435bb500673065023039b6dcff3fc9e981120e2cb27880d7b69861ddeb3a55dce55062b48e8e6f663ba3c6ba14e9f9353b706076374a1bed99023100e34e097d1a4fd4bb937f015f67457897c3ff555deaeb0607c0717c2672ff4e73660bb95bb1d1d55051be556960d11b2b0302047c435bb50066306402305bb6f0b6ec1203661101815389300e6597df8e2785cf4f0321b79cd93e928e6ace7d1691c0890a4bf18d06a6555c559602307ffd8fa268c2a641060874bd66c4489fab435fbb729ab7e30b73b346fb7f29d6ab1a5cfae76b69dab8fd6d6297d6122a0302047c435bb500673065023100d4a37d8f847e0e411a686ffbd5d1aa478dd27d89f72039c8df97ff7365044c806ae3950f48420400055a5e279340d2a102304becdc75f6f1e82ec5ad06d6635f209726c9c48f2f7a668828f9776b8f6ea7a62455dd412b711cd7a632fa70c1ea90b20302047c435bb50066306402300d0048c49714c60aa70e26c0f0ea6e1c2cfc4ffcb0334563cec0ab3fd763693ce6b5df7e03b63135db179f9c9584343502306cb6094062383a90605b42c740748b959559cd219171dad55935a0b8c8dbbc4951cb5d0fd55aced70ec896315806a16a0302047c435bb500683066023100b926f816513c3ca6c9b6cffa54ec8db63fd18f05c1f61b2f6528db76795539f65cf183c193f548c84772b3ae4d2791e1023100b0655e487ea55bb17e6de01ab22da70e83ff262ce9f96fab26572c939e2d6595dba9b994b32832586a18292831bbf77a0302047c435bb500673065023100ea40dbd010630712f635cddc93de93570c24f6efcec657f636bc3690582d4eefc042d1e75484925c51cdfadfb70e299e02305ac8e0e64fb505a3dbd13e6586b91a286f967161f0d80df6ced6efa0226c926a1206088e0bdad7bdcad45c1072dfa58c0302047c435bb500683066023100e8c6886394b13f8c3ca15e78cf4c0ecd464e40b04d1ee6f8790ac0551dc895157870f0cf1dc322c2429d4e1f82de296f023100fd2e5a2d6f8b655f3e53996f10fd3d49de88cdc7187ccab6b6911a4ded24bda72a8f8f4e54509a8d22d2f50e70f878830302047c435bb500683066023100e94dcecc2ba3cf6fcbc9f988c0a5ab3a817f0228a8553bb8d6b0e7a53c76473a98c5fb8fdd5d7f2b1b6baf23fa1d2a74023100fb1b7ae0e317f6e020b61e44b097bd0b706a1cdb488bd81caa0279a6352c794e5f969657f8f9491369d752e6193a84190302047c435bb50067306502305e60fc9eb99b6a11a3f956615a82b8052d3cc0095e5884253f4981c2778efa77cd1fb6bc1ff26e0c529c0e8a3130c526023100957f5f236bde4034f1e57d8c4b5d7f8231ee37f007dcba81e75c4d837da7a2fcd2abea540e461644c3cc0e63e2b61ee80302047c435bb50068306602310096854af5d38b3eaa547ec0ac24254fc33bad8e03e35d630fb9bb4a069a41d32e3c4db47ecd675eb40dd1a57a92ab357e023100cf438724404b0df99489d9c94f74b7cb5b2689be52b65cabe6a2197175c769baa0ab9c085440039c95ce8942b22590160302047c435bb500683066023100b30a9f3fb597ff5fb14c398fee12308fef1523693d29123720cfd935c339977611f27f4dab7c52ef5ff7592801619994023100b70dadbb6c19e702eb17f9e09955ae86c681ea1be351bd38c90bcd0cd15bd4987135d7791ac97238db516d9b84c604550302047c435bb500673065023100c865ec35ec863fb312837cec5793a5f01cb0b9d57dbbda7af421ac40610c44c7c98251d57be8b657d9d65be7ada6cf7c0230110ce710431b45a19b1ccc11527abb866a6ee77b85e20aac2594ba0265b06eb6aa64d8617864dcbe019aae4ed15609630302047c435bb50067306502310084d1e2f84e018fde0ca73e5e3befaf1299f52e7ee1afb40a0c6d370d54ccba930882f592ad4ca9b171a6e142c1443938023007b1c3c8ca8544df973671f831f071c9005819bec7f4182f2f25b79e2f7cccd65a5f095bbdbc7a7d356c539f76a2a6fd0302047c435bb50067306502307fbe9effeb72ed5d4e44fbee4c8894f3960ac2eaa996868c59075c5f6894dd3c863d7451a418eda773476e11fbe420e3023100a899c9082673f6c2d982aeb331fa20abd12a5b0a0953c183b0a2d61c49710a6f8e47c2cb34e86d88dd84aa4a2ae42c840302047c435bb50066306402306664d4d7349824cbdbe6ac60297aa02f6a289114a570645d485ba128fbc41e055cf11cb1a8156f69cf61e4e5df7600f40230432d751fd40c8fb8d26d5813c7fbf70aa11936812a00cdaa40c415226367be31e8e046b02c72103d73bdd02e6f114be10302047c435bb500673065023100ec53d57b2a88db5124fcfe5e8ad9cd8adce00875258d950c35dcbe88ac10b0ed04668f54d8d3fd13050d43d629b561bb023038cd482fc92d81b8184d476cdde55bdc85babf2bdb88a632dba8a7a9deef04fa8ea3f3ece6aec5b888866e7c5e3c86ca0302047c435bb5006830660231008e93b053884ea6698e72c9f7f60c509b501b9a2ae733127b8f9cc20a3ffa4488e7f3f0d6b7b3f2ce1a283dff248f1f0c023100a600c52b20aef699532932e58f8e0f271be433aef7f17f97f1f2b593d3c27741a6448c97d62dd98972c3fdd815d466620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dad00253b4ebabf2ba2fa369e1a0f622bee1e6e958be6463e4f48299cfc8ae719a714afbb42256b31a8673b752352875023100ff59275a1c4afb3444fcc8ea75bca15eed62dfecb39e161bf22e02c72274067acb67b52bfa0852f663c2c3fd47e62f410302047c435bb5006730650230660fcbcb9f47817eea88f73172bd9715d4feea605232fa3aa814d37ae1686ca38c9bee983046017d17546fac2235a1d8023100cf32da602b283014cca1bd3df25c4fd291d1fd2be4a015b50f6cf33e152736ee861d9160608fc947f74a095ae889c99a0302047c435bb500673065023100ece5df8f5a1fefc2425f7fa8deaa493cc419e5b6c8ca73bb5dea78b785e4940702419d834ce2aa4a2128b696ec6f19c202301425c54ec62beccc348683de7be8063dfa5e809e6da0b706f216851801324063211edc6a674825a02a3b2e4c7c3d04600302047c435bb500683066023100e7f656c4fbd59e6b6a2aca22e4489fb0c4e71ccd9997cffad62c4042fa1dbb33e36be9969532d3d9c58fc657f8e05913023100d823a2637c7ac4199d0cfc249119a1c7d264b81597a87acc5debd26f0cd35182f11b3c7b6171a273b9d4cf677fb6c24a0302047c435bb50066306402305543d0b7219313af2d039ec6d1612d42ce80949d81cf18794c8ee53b61066d0c64a9432084d4376e30dd6073be18bb36023023e833df8966c477807ab902f39393a049f196650af0d36cb5965de284dfa34c91b672b33c9f444d30c19f889d68982e0302047c435bb5006730650231008aa64d4cba5dd7e729e3de77563ff4d991c7902be391be0cc5ac7c75c8ae87f0fcad07cea1e32f5a562d1c64067648cb0230374d18737395718836257110d25d8b37b4ec477867c04c7a0a89254c355d96d9546041b420c65b8ad12fc5e6d9fea8b40302047c435bb50067306502306c30837f38f371a103262fb6068e3473d3f2f1eed58bb6da2a3c9ffc7ac04e3e72274c654ec040c7100b685e7a376494023100ad9dc6e2646c5c6b195201e2290a5afb3987abec212c83e7599ca802d40fae6b2f2fb0a96c63ac0680e06f2c3ed54db90302047c435bb500673065023100c234bcdd5b079183dea90c69e01ca6cd2c0f6da6255732701be71f656b803bdbcc9f0c70c63bc7f45e3f370270a1c7f5023030ae80a4e1c0933b8aa20fea4566e16c95c99ce65946b4131f28ba67beec29abaa27029268cdb5541494e1ea4aa8cd570302047c435bb5006730650230344c2fcbebb63c9f38e282fa9c6870db1081c22d296178c36785a0368cfd306cb624414efa9b4f25d8540a3686d3c24f023100e8ffcc984ebbc2613bef59f518a823e23ce374cc99e78600d34c16338b0b8df484360c5c3cbbb4ddc663f3d97b284ec70302047c435bb500673065023064649f8d99a108805d385782fd14df476ab7a45108725153602eb1d21c1d591843b763511a3eef4cbda8c2a7133ca938023100af9cb566a11c5aca68562389bbafbf2e36764907f0f699a9be40750a33e8eca428ddfb3aeeec582a09b10bd03e478b230302047c435bb500683066023100e54f198bf9d1e07698b0906f386976990289708eae047a1346c07902754cde3cc791f26d6b74ee54c8c3bc58af96c9750231008f2ea6f816e590edc6ddc21d4abb93588f7bea2de298a1b9e266521cba9e41b41e26222fc96025d550e44a1865d1ca620302047c435bb500683066023100e95c5bc8f2faaa50273837125be5d3d93f7f59bce6f582fa52d2902cd6b42beb98bf1e83e858b0f7301b0d64ace3b875023100e01cc6a172a7cb78d53e41b2789a92c87d4607e12de0daad79646d2e9b8b37942d134b967e04f6e608562928a5a022540302047c435bb500663064023040600aae788b67336db2fa1fe24175e188e49e3528c737597c1a5a84a726f17f35a82b2591399d8db765d5503dc3415802306ff6ba10aec8ee17a9d2c0ed8b435a2bf178235ff59ad1e783bd86aa63053244c6ea765024a66869f869d206a52bebf70302047c435bb500683066023100a59f49fee46e569050df29c21ef8d06765d22c783ab30017e8ef59f7b3775af3793f0f6d373b91949a629d56cd11574f023100b4472e574519e82b00c5d7cd6d92ed1375b36b2af77a2667de7c4d0ce36326cdfc5d9ffef744a4c4aca459f46ea3589a0302047c435bb500673065023100bb522889badb44480c569dada0dc0404b9661cfd00114888db77553cb7dfc74b65695260aad5220fba055643c38fd8270230207172f199f7bc2e1e868882ee817f5355f94ece128ddf01a2f6c46310c7760a74bdb85ae2044ef8e6a11bc3a10c9b880302047c435bb5006630640230546e60af7acbca7c2900eddb9cec155966158ba29373490aa047b04f8883c5964dfb560e790f50c3ea79571ebc4931a0023046bf7c5a6c8ec8e47128eef7b85b46ade137e415e66d757d27477bd66524fb5baa9a72c01d20a2e64ec705b171748d4c0302047c435bb5006730650231008f88b37dd2a98ddc12e53b7b8670297411200a902f8a90bb0ddd2bc2990b0281e91892e667921ca7bb25f1ae8d717a6702300228982aafcd0dff384fd9b80ff0053e54af518567e300eb051719ef4f2f34cf32e8e684cf037d4f3c35fb4dccadc7390302047c435bb500683066023100970619b35b99de35c19c4292e04d66f3d9512ba5df0390f6b7df0f3de4db8ba4bb5d0e39851184e34abe1aeaa2b93493023100f3032a420f6b37e0a67eb4255a04cdcf46ba7050b1863d9ff887cae3e994521caa78c6f104d3d85278e25ae5a276d0e00302047c435bb500673065023100a026ded860187a912865357c98b3ed3388ad2ce1950c64fdef8a7fecec2f5ddbb590d693afc5cf6eeeaff5423d67f13002301e66c4c402b974076e4771d71001b67cbe5852cd645c9edbcbc5f38423899fe22e65a90728afb3087cdc0f4f67d6accb0302047c435bb5006730650230744fd0b77dc0fa1eb31ec423356548c29ed0d2e8b606f66bad1408be20cc6123cb9455b4d84eb39e40ba146e857aefe8023100f40dc3e888bfe88e169eb53966787c9506c04052412eeed1bc4be21dbbc1c297157591628764eaad549aa9349bd7614d0302047c435bb500673065023100d42ab96b3abca90834edd20278975e8959ed5d6af4384505a430e5bbd30ad2e4b2899813b00655f051bcb13b20237ede0230696a2efd2d0b8ad38f6e747619fb410f8bd034100d149f232e2f82ad1240015efb2ce82f74ce093221d323821d276e5e0302047c435bb500683066023100acc1855b5d057fefeb0bb5960309b0172bb27bea3b4b8da5ae349cb705fdf9c1648e7f7b68b2700b3f230c33b6d90dd5023100ab3490221c8c7c08fb491871534eaed6625ad08b434d3da2e469406ffea7a7676ce23d77d5e05b61e67fa391cc9f370b0302047c435bb500673065023020642fdf18b3207376b34b1de888891dcff4efeb302f86afed02d46dd944ba95b2e7b63732db4f4b5d374be41904809b023100ed68fcf7e258e5259ffbf95795cdabdbede52424c0ed2631a70875a84906fe3b8359e90ae227f5bf2c69454a7747dc450302047c435bb500683066023100a0575540d2c1f8e204e90a2a45a9dd6ac8dc4e725911cac33610034cfee78719aba6475c6eb6788421fed23b28de0ec9023100efa53de5cf9f0d2ff5a7e056dfc39c6db527dbdec7e0f7a537bc11c5647caff4d69a72e6a7cb1845a3ded13f3b749db20302047c435bb50067306502303f95df9736e4bf813f3afca72e7469a962fad8905cef1f05ae113f1331eff7b728e3b1a049690c5d8b8a8a0dcd395955023100c5cb9a1876b3effbfd5fff6b30ecddba0274b1e1d0ce37e091331fe2761f343e9a16f77dc974850f89b189895cef590e0302047c435bb500683066023100cc5df3f4edd8975a9160ec76cbdb2f88957c33ed6d68126097aa3130190f2b8ea0f3de33220431acf3f8301354776371023100aa9ae1059c83f9e9c590b66ada02fa668142101dac948a324db1bcdf39d9ee305c44ca780f4e79c223aff0523529fb440302047c435bb500683066023100bfdc060a652fc9b877d06cc9dea907bee5641989a1b363432cb30728629e5acdba76e7272e7214c472c3524cbae1cde40231009d56c9dc579691c34a3978f417049cec3b0c7dd643ba2426d6ab903f33ab86dea86065494acba35bbd9d04e2b590e3360302047c435bb500673065023100eb23cff74d22c812f9eb6b02bc5930f0f36f57dbb631a44c4af7fc2f0798974fdf58a482783566939f3ebe35c510a9e002301918c3c533a2e9ddea5a318b0e4694b91cc1de4d6b1f9eff11d7f2364844409969fedddbc8c6d26cb8780bb015ba4bd60302047c435bb500663064022f5feafaf40087b4044b6315ebfe72245d6c0b58e6e539d7c01c71cfeed04804ba49191263585ef5d916d2b0a9b0bb5d023100d4035b522b9af902e15942b93e265ccbdfce3af58e1e82a545ca3cd9461deb5961d03265d2ee9fe089b2ade4f0dccdc90302047c435bb500683066023100a72eed207bb2480ddede5c9edc8c25369a24742ebc8830cfe510672f69964516d30167a22c9474522d91e6510df55b65023100f48dbf4646932017759bdecf5c123a206ec047809523c63ef5a0c9243ac66aabc4c50daac809518e0bda8948bb143c5c0302047c435bb500673065023020387336a79700d173af1c00268ab4a78caf4b339a226460e6234dd0daa63c26f761d947c1064ac2ba6f4766c436883a023100ad0a34589749bb134da726a0e42b70af1b8a2dd662d0d20ff7d45e59b5cfdf22ac51bc830c6fb358f54f96757e638f850302047c435bb5006730650231009ed4136f198bcb43fc562722c7e0512a5cb8df6d579b6dfd8aa13993acc45b921259356a79d9b75f48b6af94deeee26b02306911eb4b507f15357da70ddb08c8f6a412cb0b44778b8b582c96cf5fa9ca16658ffbc7fccbc5d2416c8378ad287cba2a0302047c435bb5006730650230123b9b9c64421aae09902f2a489f9abec621a5ab72b3de3e8a409746784b068d27a7269a4a3c46186ced023e49ab435d023100dbd6c482c2621f28d2942904786e17eb8e6d1e4d55579867dda5058322dddad82fa6f3219350930ea948039667e232470302047c435bb50066306402301898b6f954009b41ac77fd24d7ecd9227089173c334c81306f736ab931a9c8907f35486a3294b9ec3822655637ff9f5a023024d7785dd210bb87dc0947b3f070561b3e1c5a0a8cecec557fd249698f8162d6b7139b1fb00d1f494ffaa23e214ad3c20302047c435bb50066306402306a2600d5d7255fc4549d310f5bdb107f04167b10f83d4269f4c54584b83988f7164cce7adf372a7d44ca51fbbd220971023014044567865524fce3bccae226a52bcabe209b2d5ff919523c95391ead61fdf31fd0cc6950d3558714b104aaf60395300302047c435bb50066306402303a6f50c46db3a6c52948ba062f71ceee4069ed53f122d2c6cca47796eede026905f30a43b5d893df5da28e915fb1d59302300cc624d6f6bad564e4636379d055ef2cea3c7b607b94f295a9f6f5979d99b6144d228b7fa025dfb11dee5b548e22ac080302047c435bb500663064023064ae8728ebbfa7558aa6c4c8042de69c0bcbb6f661376bad2526d6988dbd3f8a2f751dbea6d4dc12774576fdbdf16d3402301241dbd04213f2a5dbe04a8cd104c28f4161228978d22740833d3355aded1ca87a0c7a845937122c29ed81807e3a78ad0302047c435bb500673065023014ec74f007a21ae17d5477b10dd39e73b4dc8bb2de2e556998ca284e6a616f742d7e84e7a884da03452fe877d1685c96023100cb6055bace10b876504e2de025b475a01663b2868b7d519524dcaf9e64ee4745f349c04171561cb9a288872c7be431870302047c435bb50066306402302bd13369f181fbc3e6e4d6f37c81136f7a5e98c456baf368debc53a891bc560d3d67d2b95dd55131b6fecd8ccb0d636802301f9bcdbeb187304decae1e4502586286bcafc9db453e90d95d932152130dcab3b919d74499275f97920a2e63a4759f400302047c435bb5006830660231009ee8f59f04fa608ef285560243e5e85736130dfc465157aede349d0439c85a089132155db17a6eb8f386101ad9948bcc0231009ad369d0ed221013493c2eff5701e9ba221be0a350ec3a273f94eb187d48122f0e4990183a4738061cfd07e52c6cde1c0302047c435bb5006730650230767de14d0706f0d1f909feb6e26dfcae13c6e9d808142b0b6d3d7b308c19a341a27c76996d3744ba26a0c05a03494e45023100a91882c149917b48e8efb5bf8518ba51c9c5798a21cc7782b16587c0f883dcade8174aba2cd4153f539547ac14fa764d0302047c435bb500663064023029883ce19f06a6cfa0370e6ed787295142022a5213aa21094002abd2f1421cff285d26c7b5ebb7f5e42a0058c74de82a0230012b1a1690af7b494a7adccaedbacc73067bafa31c492f11819dba583e000aa802eb31670f84cdb178e0d83f9188a8ce0302047c435bb500663064023018e00380115289a5d1dcf2583de40c2ad434bd65a38404d3fb5daa694ee0e97e749294bc42f6c2004c8e3c3e63cefecd023026466e4e0f5291fcdeea35b8ae8a5a3ca81962e3c7ab86b31dd323f6f778fd2cfba207095cf3194dd22551324b853e9a0302047c435bb500683066023100ddecfc8c2d34946ae24921fcc0ed1ccfde6e86adfee752d3ac8196387585c3c8d9aaa3152787a888c2f7e0ddcc52e9a8023100d129a462e3e5fe8a640ab9e2428850a2e49a8295193d3f2d864fbe876785ed9472ab5b98ba8cbed7490ca01b089749fa0302047c435bb500683066023100823ed1bfd5733e67d694b49d7d0a4d79cb87ce89e7990a3321af805953d37868d110d2f0d9847c4117c5ca049d5607a4023100a3c02f0f2ca3b71baac6a36cecca1aebc588c8718fae571e5722634a68503cb2d3e63f8a87f53991fdce48be84c7b8d50302047c435bb500673065023076cbd2d228c6951f52182a2945b4f1e49be5fb475786a77b322d786c63d02f5fd080432b83a4a22281ae0720d1475d860231009698372f06f12aec0690609f9b61f01a8272ed12d47922f5c4d501186b76b1bc86de911cd1bf5f1811c5ac570e2964a80302047c435bb50067306502310081ef742a3bc2e9c9031d6b5236db56f4b5a7511c0458ac3526fef0bb02f4dcf5cd481d479caec1dd62e7df0fb6d801a1023054e844d939729e80b0fe2e7ad44fa1421a79cf88e1d56c616c2e6170a1aaa98f7e32610019fe12f170353a77a83a11220302047c435bb500673065023100a178f5fd346b091db963c29e7d940c0ed9aea903fc6f083c39bb575c82d399f5a9c918453e737c3978c39f130e4662d5023029d5b272e5727ef7035b4a82b30939e4fd55262b4bea639607ab87d916f1187515bbd37f00d58e67f11c862c9c18adcc0302047c435bb500683066023100dc1cea6e7e5e55abfb76817ff384a3900de70f13363a5c4f3ef08141aacff07aee1b3c666a17a4b5d5e59c7dcc5cd7bf023100898c41b77beb9271240816f0b3f7b471c8b07e9c20572c64fdf9bcb82ca7b4bfe3f09c1a0a747fe35b3cfd267a9401150302047c435bb500673065023100d797a0f6958203cd19ea22c5067711916aeb72ccea323a48f2bb961f96767f1fbace4f67bb00863bf31fbe109bdbb8ba02302a62201618aef7e15df21707675d15839455a3c206559da607efcda2bbbe40d4b8646d1d3bc8bac7bc0dcea267910e280302047c435bb50067306502310081ef732be8a1943a0193856433616c71447e6c827c465a9af2126ad2f229d1e757ce4579827b97b78c53f928c06d913f02304f6648367f132d0b2de95f0c4a3462f43a897eba7c3bc1ccf8d0308a098e909082e7db925a3cb4b94226ebbbf7c6fb280302047c435bb50066306402303dc15f25113fe36da39e7a374fe4940df4764b2f4b11cb53384233eb742684098c4890e95abcd95ffb8acfc3b9c411d8023053f6475c7ef8fd287105563ea4f31b5fee891e09a27ec76c8c2b3e8b46408f9f5aeccc8597d3c5dafc457a583fc210c20302047c435bb50066306402307405d9625009177a4dce5980c7f12925a6d889771f75a94b890550ecc47ccc07bec509ab9c3d2c5ea6c5ebfcb46daa9202302669b4db7b1c23e97b6688128163339d8aa7f12e8c75e0568bd9a4202eb4af5232b695079e29c797b1ca16eed38f36290302047c435bb500673065023100d4c0a32019642ab0361d841f0a2b60ed03a594c2a741cc10249baaa509a65ac4d6cc9cef121341332c71c794b2903bfd02303eb8dbacaa3a0802230b581cf5975bec5a5eea356c3fbb47253b44d56274894c051d7634f52c8e83bad2b767dcaa67800302047c435bb50068306602310084d18593883f260f9cc76b6fb7dccf6057b86464e588b1585368a03476696f82f0fd04c560c58fe67a42afc31b1423f8023100a311c1b1a5f472401edd6d399fd298c6e844f213b62378c7eac2e8e8d362193154ce09257b9656c3d713fcf8c38e3ece0302047c435bb500683066023100ed8bf4509f60bfe542a5ee0f8a2019e7051ab691820f3188365015688fb0ca5155c6935862c8d7463d791ae52c309f6502310084a66b7fb5f18a48499a7ed6e3942dc11f58e6df868aa0a89f118e77b2937992308a32c193a0eb21ff41bb26b08841450302047c435bb500673065023100fde0ccdc6e43bd5e629f2257474c2fd4f4d4520fbaa0030b3296f3dfde73d58271fec56d9c673320d28641440bee2f39023025b2635f8b8a02f894e8d467fc27ddedc0083e3a743011bb2875d6f0110a1b7ee9da6ad0f65ec723ede6e677e182c74e0302047c435bb5006730650230536381c27f8eb507ce03b8ca30c9ea40249fe667d4bb38878ed3462f7e4cd1c1160eb3a340062bd4a011e097aa983396023100b4111a15d8a908df5b1461f6684e2fd9dbe2b978bbbaad8a749b32b7a7f33c87e4749862a9a3749a476514b4b5568c2c0302047c435bb500683066023100b11a4087a7e867d9cdf30d8c34b329d86fe6c86959db325a2d24c9566c774b0bb9f6239661299993ba385271c66af6d00231008461e719c7f58d4c358e0eeedc9977080b87fc5627eabe674f223bc5c011eae2dd7a76ee32eacf405f726b7b0582a0dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301b2bf5315e4d7ed89212c7ac9f9a924554fe5798b4c82a5e4543457cb0a4579dcaec1e5fd146de28c34b7c290cc62ac6023037e291a66388b003dd0edfc416be453ca5b6bb3f52a2dfb94158323be167a3028ba61772fb48d9621c8f554c244104050302047c435bb50066306402303296aa6de6ba26e80d7a89e74bab8a0a752eb66d50d465805ffbdabb49c2bb50bfd35d270da8da793e1bf78007adef2902305b6a56d4bdd3cd5010893438fa7a86291e9527a5fa165b1a27eab51d5a80eabe0200e99dc32def60dd3fc92a1b3806f60302047c435bb500683066023100aaf4243c47628ede171e23ad5d65f575c52cc5c260fb66ae63e3f26655f97390db3091485f1e67d1102772eeca43e6b00231008e2150af2509bba9194de861b63d01806895699f6877271d2edd7ff8a2c28c52e125d4161d8cf02595944fce139978a50302047c435bb500673065023100c73624781db32a371feb827f9362f71c607e2f417a45fc3e26f098495bcf8c5b658db12a4398cd1f5ca32613251491410230502f7d5b6862eddecfc5405516e3117e9f216c848474bfbf04d14ea369845eaae674f46d57db734beac330ad8ed56ca90302047c435bb50067306502310085964829c8a3a0b0aec9aaaf6bb83896bce867e97821322c1006b7c22390190f0f166657679b18d2efc50e5f3fa66ee102304b89bb58fe7b4fa389ee29cff7f4ad3fd3c22a483203face848ae7bbdae653c8c0cf4f9456990cf34b21786da3fd61990302047c435bb50066306402303c2c7399a82ab1c0c2f9662b1c65f6eb2662c56b6df533b6e32f3117c2d074140f8bcb8f563e261ce47b90c467cf913c023008c9f0329452cac71c34394d40e8cf2d12eb5119bca3d773695a39cdb9a81f4bb2beb7ba3d07df06c2439f290dc0e2780302047c435bb50067306502303f14a29faecf13b83477acd4225659e8ecf37463f0779c9cdf5c03ca50d3dfb9c4a1def0786304a1c325dd7f4db94644023100db47af8558e77bd251960d9d1ca7359598b3216e46de877dc5c8e2737a13f3fc59f3d75a1bdaabd4d6785d7472289cd40302047c435bb500673065023100ecbbc30f82161a113532068afc854e6fdd9138eed937f6404effe97d796d908303050b56ccf163849befea4f3fdd7b660230636fdd451db10426a034d9947af04a7513153df07b52f4406da0b68e236f6e619c84b64a82e9ca20bc16d2b2a2f62cf10302047c435bb50068306602310094aca7c01894ce03c41be0244a7eee8b4ad2269816e36da6e7475a658d0103dda483a69166ca6ed295dbcd9ec5303197023100d294317db2ccec6d2d5dd489a8a59f452bc40159ff6dc2c09bada9126c9e99f60b6fbb3ff3d8a4d63f55c9c00d5c02ec0302047c435bb500673065023100a2a86ab973c2958c42d9608ce8c14515bf334bbeee1b27a4d22ccfc8e5f6e7e2fe827f239947db102d18b0532c6bd63902306788a51832fb33e8e72d116d88ef8d6e3d6f92f88ebf7217a2848e12d7640cf052670a7fd638e4333af73a9e5887b6da0302047c435bb500673065023100c5e05b3e3c907993731973716181a567a7c07bcb5b64349bc4eccbbd9ddcda656121103fba59633526dbfbfd419161c502303fcdadf47e30cb6ff1de990ba2dae04426109ecdb549351faf1e881bde0376d868fd8e07497a1c370c6e9c9101adf1770302047c435bb500663064023035e4715ad61225014162ac66f09dd1347c8aeca2df9d8b860349248dee22a1ce1141a0503fb974ce6a27c552690b8e1e02305da55ded5195e293e36f3400b857b201298592640049b89ee22b94a7715e6da50c12da1865a6a5c8a67db6915832b7bb0302047c435bb50066306402306a60139e07aa7914f44b4d3e6ca05ebfcc29101eb7fc1116a998e4c2696fa85302c8130766808c81b02b81e0528b798b0230786bbcde7e7ff8491d692ef198fc478104af2f574c08f0d0e6a28d913093b5df85c4fde9f082ff016a6fa9bbf8f7d5080302047c435bb500683066023100fd2861b39f4c14e729d18226695115deada645c7f6c0639b2aafa9bb23c458ff7484e93b37ec1261dd46a144c6a01ebf023100d6b920d6874986e494e2c7a16d10ecd40a89474895228e39c22a253d8a6dd7711b9bc7b7412af7c97e9099ac7325ea4a0302047c435bb500683066023100d8cdb87428b01fa02c62029d8a9ab5efc130368d3fd920131d598520c2df4cbbe7289bd772b7799acf58c862a6b9b599023100b4943184f1f38e014f0e17466f50d4f7b66407cc7db5910cd91ee618c6bf881599c4a70a3eb15b63219586288a8726760302047c435bb500673065023100fda3eea64ebc62ea20dc816b2c4450e7d4d561aa28d5f8cbbbc3275b6a81280719126d14bbab22e3d347416fb40ee3820230690f95af525a9af5282a40a39e3bbaec929034a60d445bbc58c99de9ad77cdd2df667f40a5c8656ccd27ca8773db8b250302047c435bb5006730650231008deca6bf607abb45fba681f42718e86cd341c7f901334480914f4071d70aeb57e9eecaf66e668c795aa2e7b68a6aa227023076d2413f3ef3084a4fef5c8accdcf5ae7775d1e02f983135a4a30b9102cc5416067269dc6670d1487886fcbe769960710302047c435bb50066306402307e736a4be78acab0afc4c746142e70501c7d49ab5eaf692465e1ab2d9401e1ffa09f0e2e52f59f4a4c635f589c7c048002301acd39ef33f9601dfcaa0151e46c45d0bc00b09373a155d4953f0f54dcb31d93b8acc0cd040145c85e25c33fc4fab44c0302047c435bb500663064023036478637909f535a87fdad9a20e5ce30df3fde6fdc7128f44094d1aac23859e17dd36c4bafd0a7222789a61f6f0a7d830230458e9851067ba47cb605fe2e859abf96ef06e47391643670d8abda87f17a478fa79b8dbfa70c89f1b243399024f23a220302047c435bb5006730650230340bcb41ca4ced0221f6c8ef3e0d70259d332942ed3b7005763190d6d9626731721c6fb6dd799d7afc4503d68ab8a1de023100ef33da4d2e387d0529fcfbc230612dea5fe7b1bf39da243706b755ceb0185ce97ccba8191e1cc3286dc60d0efe1639070302047c435bb50067306502302e47cd244015fe0cd05241727536cab1d9c35c5e6e227c2f242ae1137628ef89cb908bd501568f94b9fdc8c324272184023100e4ef4a7aa2206e86d85bda39e38560fe4c461ba1c1b40b30b7e2a9922c57fea613ad64284b5cd2019c33b7f562507c100302047c435bb50067306502301460545c2359dd1ebfb7b65db16fb61c767b79b5e1ec9760506bfdc7453940abcd0cae5f42a82a739cd0d9a09722451e02310093d55316aa5181e6663497d043ecd8ae6553bf2bf53bed9f4ae1ca002e9b81716e0cbc6302b943d82103d396279d0d690302047c435bb50066306402300898bfa75369cf1ef6c7b0567ce19d0e8ff25250ec0b1fbdd093a6e4d4b5423c958a67662ed3384e4f9fd080ca8e075b02301033df7e5c490214a1a1735e3c7b9d78c9f03c6a954897da7fdbc5fb2e7954b29e9a9f4fc178eac1c69313fdb6b1e2870302047c435bb500683066023100b1a44add8a16f8fb3b2682da23158398a81331f9d753c0f509f7f2389138e73281484fee4faf50747a1034eb7d86947c023100f28f01520a74eebe19376bc39b2096dac55c20ee0269d88e2326cc603efb5f0a9b4a842b8e952080a4c62c679f63d0340302047c435bb500663064023032e394f836321877fc7e8a02eb2b428bedfd5dac8922f003d6dcb7a1722cd1b26e260566c3b6c1492f95aa9a848d5bb10230183829899b63760a82cb01957df8f2c67883fae5bd3187f0153594bc9ae86e15babe92f9d3e62e33bd7f8e2a9bbc39e30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303570d9db8632d6bc33d5af0acaf83cbf788403a6b61494914715a94c4496b7790f55df02f98703dca0b50615236cc7e3023019d34344571afc09667bdd58d15ab200dfecbdeb7095622f8c3d18d62d8bb3d41e8a63ab92009efe57b7023c4c9d35580302047c435bb50068306602310084dc7aa3ce7ef935743eb31b9aecf23fcd8a924e2c6a526009630f9bd22427a4b65fc67e47ea49044f748d198cf6b368023100b6dbe839fd1bd97b96240219506cd6ccde260d45f90d6f0e2f28ae1db05b9fab8446312663000de0365953d3f0868a2d0302047c435bb500673065023100f11d04caf69a4d8653142c0c84b7f4e84e4b1f98538b0ab98f0bf61888758e2ced8c3bbfe52c1579a726e49acb8bf5a302302952aa17361fef84b968e922cd46c443973a85913f248a6fc52dbec0ad45b4c85e4b3c73aebe87326714bd553f0e98d40302047c435bb50067306502301c130e99ff80d0ee65703149891798f7c8c6d7093546a2c16635e7b894be5a314bf3fa8630de1a74b35bb1ceab9592f7023100bde7f9c5fa59c8ef24c7de1b1bcffbede308076d86f4bc7181a245bbfdbd58c39bd635529cc56b202a3a0d37850bac160302047c435bb500683066023100e01e92a452127cf19350b5d35bc9b9623880a0d08c063058ce848c6a52a2280f159877c46872766c0fe0bde009a7c62a023100ade52a734461511bd16fa08422a103a74c2ad0f22db64e7150adc0bcf9b1126f77b94888bf58d0792d48966a755668d70302047c435bb5006630640230271aaada73960acf3f333cc554e0ad76620d93ff2533778123b9a7449a91606cf2b653bd10080240c47b76cb898d67f902305afba8bf1edc7e71dc9cf6907f870789f724c08c175886f7973a5c106f819e41f9be2dd41e0de9931bf0820f12d55bc40302047c435bb50066306402307e04bd66dcb130ebff0f9433247615065bc3d6181a05b00d8c74d957d5722115991270bfa1b28feb90b0260f65b5066702303e59e9a3fcf1ebb7e63067fdca6a395d275655c059f14d738250a412f0c3db63962348fe8afd7668e5dbc42e46b10d380302047c435bb500683066023100cf988472a638099a37f13f52abd864ffbff40e899ba3b3f678bcf0f82f49375a44efecb08f1eef3074c289cd29d2e1b9023100809ac269723a52c53845afa4e6dc924aecab3f91146fa6c24ea1bcebf3a80e1b3a844b54e05235b8aa59263f45a90a490302047c435bb50067306502307c2332d76e620cf063b535409d84eec80b4747bc42204172a80dac8aa8db3b0d52c4c7eadd8d0ae4df8a558165fd134a023100bcc6fe2525f48829a1d8603427b5f460a9acf75063ea681e0735da5ec322c834c7c113703600eaa8f9d356fda90fa31f0302047c435bb500673065023100d323d821ede78e1f0c848b26c84943a3c8f32a8eb35e97e917c8e3d333858f05527e0aa411d9fcc69a3f56649e4061cc02300e678fba77dbfd379108ab0ebb5de6abf07066d834083da1e3b263f6f81d695ac2fb561ce88cc3e11100940067acbbd40302047c435bb50066306402306b0989faa362b9f62d5b7f92ed52bff0cb1fea32cb2bc3d6cd85bd5c9d51cb71ae64ddc4edd8fc6bf1de2bd9c240a83f02301b67345826259562735ad8c9393b6285cbab14b2bfbc2af7e99b7142f7829085870587a8ef1bb6956a2fd88f5b35bf9b0302047c435bb50067306502302d734f71abaf204a688bfe8b6e50644163c5d098a75a492132a64dc13cbe7756e18652e3a3a485e4a504c22d31859ce90231009e7d96b0a42e36a4ce452fed9e19a36ec4ea5c0c1841827228120d2ceba3741f037a7f7bfa721f835e8cba015d0014aa0302047c435bb500683066023100d4a1791c5f64ffc02c3c7ad6d1bbb5d07e9f0a1d5b5cfe8d7d4a04603b5766b69ade73bc7088bcaf147ecd91fb929df5023100b84a045a0973a6e8b20df78c164fc61e6968038661339b23e03efea38bb4a0a2aea2bd554856e04c1382367a39b898f70302047c435bb500673065023035de564c3fbe787b5cc1a79b641cab2e6eec61c962a0b4b760325554b41f243457bea2dcaa29b0d0199cbc2e68e0b146023100f99b0bd34366ea2ad87c9add701baf7c43a5e1fec89945dcb10e9356517e515d6cf010abd2ff56bf6c85c50d3e29bcb30302047c435bb500673065023100d7bb5ccc2d8cdcd31596a1b919929fb26a6398acd5a3da7224ded0e876127e4c5db8bf0807a2f7a6a68e8f9df4d1d6e902306ca9baa5209f63c79d5e53aeabbf147b1ec7c8ddd8ac28a099a6aab32a69933d52f841e264b04df89bd8bb5250af35030302047c435bb5006830660231008bca5a6a5aa4bd8f167c52f112c91a5d5f2fe863b1801091c1c5695496a00f0e4409c2e128aac2d63fbaf9b93687e509023100b9068fcc18b5a401c3b417106193ea9140a0bdb65b66ceba330671e97d8b32892f48d401f480c10cb46bbd887d04e6290302047c435bb500683066023100d83df853a89dfe55b2dbfd80d3c19999dd708ded00b2569732bf5ca6e4197b817e19f194e31aa550717698c9c5573a79023100e8c93993d83b03af4331df041ec424d05b01ab15ce9c75b081b8c4c02b3ef8339847b86d96621b4ba3580d9de299cecb0302047c435bb500673065023100b7e36e68b43d339a53c5e970193606d9b4bf59ce9c43d19c53abb9929b328c22848d1c050b4f2054ade4587164901b6f02300623e712efa3aac642f179756ec31f03c252c0bbe7d367fbfe9d8fd32b4328131dcbee7d352cdc0631df3deaa35c5b1a0302047c435bb500673065023100cbcf58bdabbfbdd206fd6eee81162f19514d340e0321459eebfd5d7c9963ee8d5ecf93316041704f91c8eea466c572fd023007455ced2b5ad3948be9c879785bd132af9a2712a3ad7804e5c423bd465f34567550547f5f6e2c9f9888a7a4da26d4350302047c435bb50068306602310083969ab568c55e20a1712842272ff42c8e1f4ca78df8f8dc8b70027408870618b3c5bb0041a69073a375d555fdfac560023100dffb3bfa00566e8f646bc852939fefafa69ea1429bff8b608646bbe153548f70a30b8b51a780e9b4634bab3c6176b04f0302047c435bb5006730650230240f7fc9c9f51413cd92fd6eeba82ef5b7f7a8415bff22cbf88181cc2cc67808c849a20b25a37fa26fdc0660541d732602310099078bb0c9205a5a04aeb3804370fdafecf7647fef2b9ac99dcaf62feba50267cce76a03b34bb1322cb6f4e8648e7c2d0302047c435bb5006730650230381a33959f8ea0bdd92484be82dfcf47fb5b62bdae4718f4c5da4385a46068b4d4fb1b84187e49315613cf10b4419332023100c58a1b2e506ec8e5fd79fa4f69156b5c1e23966668d5435d19e1804739e3cf75fc94e5dcaefcd0056a7a9713d2754a8d0302047c435bb500673065023100f0b72e46e82eb7efb3eb032a913a436ab04cc60a309d8a388d603fe17c03a4e27a2ded1341bb7ec822f81554caff4d2402302d09e0b5e016c38177b7eb06a6265ebe171b993d373de32a5bab52f5f8ced7c596b056169b09657668c3efba4628791a0302047c435bb50068306602310097b452c48c8ad9ce674ebda3516fa1446209070eb9bd12e90ef420a8ff7aa253073a16930cdcb94202534188d5727c33023100b0d508d12532e76b37c64bc519c82ecec8159706fb6cc5e33092315ffd6f354414a3d41b8f1d8491feb40a36fd69f7170302047c435bb50067306502307120bf40e5fbb6abbaf01a98f6e484eae4b6ff16917d5ab7c7e0c24297e456a7d361537a441962f1df160d821e626ce3023100acce7bed2c3e2f21b9a1e1136068ccd1367e58c0747a82d85ec5dd3effce3c1a245d5b23471b2a09e841beaf9f1631480302047c435bb500663064023009876464e4e74b512b59df0aa67c0f9618f939ee4e4f6025237faf4397d8fe928a19846dfaa870e01e9ecf6d1a08887e0230199f1e55f5f65eed4d4dd3c288cda23d99fcaa3dd2dca5aadafedea816bcb7a0736af5c9152eb3e1784f0f6b499d3ff20302047c435bb50067306502300c271781bd6954a9835aa63a148da72c89aae992d14c966ab4bcb7fe21d96349ae309d92b3f1cadf56f858af7356b263023100af257ddd226417caa7265ed8dc3b31523439e41700be51b264de9faeae16cdcde61f1406a98cb67b2dd792444b494afb0302047c435bb50067306502304cf42cd71bbacaf13d84afb56b358581b01457c3724b2c8f3869ee7117679649021a56f59d9cbaf1a14c169a14490dda023100bc0091630cfa0958d07d4c2f8006457b9e644df75d1af71a0daca0ca4b4d166dfabb5f3d51d206c9be4db62db4e980640302047c435bb50067306502302e33e2b04ae8f42e96dbcdaa185aae738b754c5b52036ec853da9e69fa7d8992ac51a1bc29a9e1b936417c17d1661633023100c82dd562350e1b3b0b6b19ea400132eb5559a5f43476b37201510ede627c1080e2781d5c59140b1523c59b46006ec7930302047c435bb50066306402305b860a94d02a6e7e47c933aa7818f646f689824a5254d59d581a6fc77f097d2c8cf7b20b3abe04a606da8e03fcda16b702304e63b26b9bd0a599918a3618db1cfeb831c6c5952e9d7821e611e19fb37da42173f84a5257875953eaed1c688b49e65b0302047c435bb500683066023100d27222f746526c055596f1e222311b429559a94151f5808e2c1435ba7d8e33ada92ae9e0daecde87b03d2d20d840e6e4023100bf01c2dd6701eacbcf7a18ca271a59e459e05e048589d1a44209fb7946cfeef2f16734cc228c332aae6aad8e5c095f190302047c435bb500683066023100a7862e9552fde92175263fa39aa8e7d2fe03c08515694cf4d869ebcd6683dc8d38374a46439b515e4f005739cbf501a9023100d52600b354e5c7d590abbac07f70a888ecc675c9f14d8aba213b1033d1a6dcc21396266c9c7db04aa496461e6cf405fb0302047c435bb50066306402307e6f363cfa81a5514e3ee1156624a9de6c7f7f4c79f31a9cee2bbfdbf00f733a7c3dcd8d4b35978dbc396bd8dfd9bbdb02302d91dbb2ef28d80055fb7df1835bf4dd9043d301de887ea928321b9ea6a1444ef1c43439a68aab5ccf300a52875a08120302047c435bb50067306502300fa5e2eed984b753fc7e3ecef57ec71e78475aa97039f89f7ae4cb27acf0e74f15ac15f92b9e472c3f721ebde98bcd79023100a0a0fe629461f6704174dc22b87abff7e97bb335dbd016bc637773e194dd5fdf4b58040f3d1782f7128139d7dca2504b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023007a3cde583e49775389170fce39a7077ddfb2828d1188335c8f175358def2e437fcf322a5f73c578d42a04599c23695c023100f88265cd3e04dca7b364403f8ddc37c51e37423f648e052c311a0c70fc1fb553872aed5804167b4071a54a5bfdf11c900302047c435bb500683066023100ea9aaa4c0506e2b3462ae1ca5ee8162c6d6483bdfa602064bb59debecac0161165a5b60de8afb9bb8cb7359ecf5b70c5023100a01c94d3a2bf3334ef239969f392b8d39b2dae20a77a47bb6366dcaa596703cbdfed1c4ac9be539fd1208f58c104e0570302047c435bb500673065023050c805e5f053084a61163e0da48521203acd56694512de1cefded4f8178e841c0ef05e1bdb4084f729ad330119556205023100f5382eece6d8f89aa0b78962c4d1c87b02ded98109332baf06b273edf381101a3b43995d858b522a08da89e4fc4823d10302047c435bb500673065023100c0c7068c640d0aa65f30cbcf333429e42e58ddca4c6fb8421daf798ee9bfb2109093b2436ab44e00ec0576f9d3fd65c902300b6dc14d6ce546620b9bc43a63b90cf2cf95df3e95741b9dfbd1a281d6902b5e145341cedb795809a189dc869610a2de0302047c435bb500683066023100ee30ef027b6a6436d98d5c3dce84c70d19440681bcd847fc34bb920e17acf6f5a7b8f5b660f4ae310b84264293eeb57d023100f8e3aaea9b1c89fae34e9d8be36bca790c21818458f28bdf76102f3df954670d6d4f3be9033d5ed09c7def7f738e456b0302047c435bb5006730650231008c4203e28fed1af61c5871a6ae58b1c91a6c4e8a3d1f5f91b037bbabe4c2138af14e6e18c636555c4db3dd2fda158d02023075b3ae69c7091f09f57d621e672b800fe01995f0582d3b2eebf7c416784e1858f89f99c569993419ef71c955f547af150302047c435bb500683066023100b3963737a6400def2cd5c8ced9d56cc95ebd0d643eebfc677ba7ee54d7866d2a6005c81781168b2af5bb520d1cb8ccc0023100b2fd55ad51d02199bb6275ed128f994ec6d2fc63ceba08ae79e2d773ac98e7ec00c75ce7f2512cd61a5e5da38271e3d60302047c435bb5006630640230227c204746ea5c342152e545a5f0ccbfc5ee4a836803768e073db4f4a8d788ec808269669a387c1d739c58e997d44fc50230274de33b6329045a26f8785533cc5b926383ab5a440415292218e528fdb0048c33efda51d046f18510c82840228fd37e0302047c435bb500683066023100e71bd5c8dc8308604466c07cad0b27e97970f9614cbce6aa17cf90c03b2b9ca47d0a27c054c8205cd013c553dad9ad07023100c08c21fd06c92ff7f6a01f7f1af52101ca30313af9b0bc4c321a2293f3aea68611945f917c6568cc79cfe50404d22caf0302047c435bb50066306402304ec41096463792702921d14d31c6b78ea5f6d1edbbde4788f26945aedc18be8b95033212fb7eb4c4a5d5a24daf263ade02303874ff78571969b7f8f0a61d0aa9edb599819f63f128e5380d3e401317c0e41a7ffc1960bcd21b942a8c632b45690dfb0302047c435bb5006730650230506e310ee22135af29c3acf468637561db48d3a9c8f1ea2fd65945a15ea1ab152bbc49bf370f26c97a90f455f9ebea45023100a6b33b4c1c424728b7d317294534e0a1f475807bcce95d1e4465f10550212cef0c08b4c8e8801396784660c9b4d38ebc0302047c435bb5006730650230231816b0550aaae8990ced77f7ca0f8bddd364fb701016523a6cdbb0e4c3583b7fe3f5f14959f6eba1a6f501c261f9f3023100cc3a4a73510042d6612a6bdf8296264bcba665c626a0173d91521a3a437b32d3f90abefa76216bc8fa3aa871d5aab5350302047c435bb500683066023100a5a2f849fcc9137dfeaff8d92ffa943eb727a9f778ff962c099fa7c6144cdb4f4651a223005a1219baf2afcd74eff5ea023100d1537bc30713d636f1f24a540174172c1292ff48cffdb40d130afb513b1fad32ffbd58ffb921bd02e9e7e5c909ad70540302047c435bb500673065023100f309ea8bc9c385b5347b870f810f58ac94b695e7830808d9588da08686b79ed9c1d7aa9684334cad60dc06b14741aa6202300a1089d78dc3afcf49b7c619fce51cca2a34e7267e4f13f28c7d24e6a51e76723213b5a05501ffdb0d0bb8440b934ecf0302047c435bb500663064023047e65c91c3026198d2e5399ab3a3596b928a30d9f17bae343a3019204f02902c52204f244e791b9d1ee525d0fd4c1d430230723cf18f0ba67c42683a0f55aa907ffa2fdac256322749e239ddb37fab85363d3ccda8be4a0d3321946385cd4b0412d60302047c435bb500683066023100c7380d13bcd44d725e711c6fa926abb779c9fd6d42becb032228255a8b179d292b9bff591f63af5c309dfb4d61c53634023100a44f4fbc66ea1dc45db30b4fa5c27d0a1e515769e12d434f2ee4992b6690b6552028c5aaae6310c4ae463c11832351b30302047c435bb50066306402306d8dce47f9fa68c24a539897bf679930dca41a2279a351cad15f4ca528447d9c6f16e766c065369756cb43903de6c895023036d1f4e74e9e196af688348e58a7bdda58d5712e8f89bf70991785bb9504151c36cfe206bad659a668d2a3b18d1f61fa0302047c435bb500683066023100c296520ea935f7c5eed9a02ed35ce1481cdf37f3771c048278524aaae33a60a6f3fdda07dca274f448c86155df4980b702310099d634bb2a8ede4dde72216a987226a7453fc64b3b603d1a4268f15f7187ddeeb840991d37df91c03fb8e40892174de60302047c435bb50067306502305f00fbc07b365619a0fa1ccf78d3956dc8afd9545551bd08c218357a85e41b8e295de2e3e80d40fc30d061cd6c370a310231008ef58713225f58e616627075adba6bd891a2c09239c55fab2911d59aaad1c86202b835c9357f8672a8eebe0582a690c40302047c435bb50067306502304d42ecbf2ef002907b88973742ffdaad8968edf305a0f1b9162767c66eefbc6b133f1fd64fa6e046940a8c4911fd86c3023100a1f9de8f5d5019635c6daa26783e982d215f85395d521064ed1494d065044f34df025610b37f4b9e1ca5ae308c8894b20302047c435bb50066306402301b07c28f923589e5fd2d6bd720f63399879f55aa2b91cfd898c837cdeda8d88352db0cff1879b892fa67d10226aca780023023c6ff6f02c2b59e537f033d8d04bd7f62f938a4387d5efca8aea1ce02c1d164a342fe7795231218cae7b33c5c22c0ac0302047c435bb500663064023015bf666000e379f9f4fcb67791f5c8677a8fb8728122c84caf59ae967f7148dee7ed9a25b2dff082207eb59bb83c87fb0230575f35d9fea1458c59a1efd15c5d0eb56c58e7203839f493736511ae75bb14dedc34f9331630af872ec0149d103b48230302047c435bb500683066023100b49132c3f5970e0042d8e78ea30f7c5af9f36e71e65b9358dedf1ad404d0d727c811c64a1c3d3b3121cef77b83592d10023100aa93553c1fef0816d4c34bbaaf931e4c3296bdeb9976b3d1960546c351d35d97610bce057484e16e429742155840aafa0302047c435bb500683066023100f915bdfe5518a500d946b17fcf2673247081885dae86ebf69bacb0917def0b8f89be8d58f6926ee53f1b04b897a58b68023100d2d95dffad21b016e8664eb8695b549cb336743e50f15698bd297e51150f7d73f2f4ed6bff940a27c7c5ff836c523b930302047c435bb50067306502303ada71760593b1dc63c45418a69392e10d38ac2c239e107862e174aeca03d1cb17d6dad44647b8180c5dc259dd3b87ba023100c7ece25bf7aeea601a3243dca9e7446d6e21a259f49de691a953e12fe8c83e25f50a0534c64f984c719b0719a87149310302047c435bb5006730650230553e5427f1e3048529e0a603ffce69c3d78bc656fe91ecdbfc1dcea4b5a1db71818d3d13342109bc0f3e735721085907023100bd39107538acbc2cf47cca0229925178ba23dff0e54d3490ab3e605f82c0d86560beaaa1ee8ee8e49f351aa5691b86ce0302047c435bb5006730650230082216d86aad936dfc540c76561078917b6723f02974a5bcbe80ab586531795c39da1ea21a472f39d4c9e3c2de9fd2c7023100958e5577d44731f65fc455d790d2aa14f8b61ce2b591c4c3b18fba162904b7e9e9d3703aeafa11e11e23a724a51d2caf0302047c435bb500683066023100b98c2669547e5e816fe963cbfeb42be215cf0736abdfffaa319c7c384c7c9fda8de63c34eccd4bb449e8c3f796e66a95023100a484b76648de3223ea0616a809d0e436fba1187f1fcf9bfdee4419d506c0357f38dead743ef7b9ec6c2175ed5689144d0302047c435bb50066306402303cdba114a7bdac0256a06e8a65d73f0cc8f4e5035febf5f6f717ac566d43d991675d4addd65f876acbfde166878f3b1402300778122c1a96ef7f2598c09c47493964c8169647b6894606eb66dd195a153a74a578a2b635385ccea2dda2c9eb5f90880302047c435bb500673065023100bc8d622111d3b1aaf3d29738c64b27a0c3493da46e9f78ae6114551212770c2b3ac50f15ffb482c7b0f357292abc127202302d3dfe1128d9a1f74622cd8a88d2995a4f38649fd96885305d77f7816d9cabff276f0b2e19aa3b18e1f7c44f7ee5ed490302047c435bb50067306502310084e3efe3fb493ef65bdf3683c1ed5e63b27805cdd3aa80e74b18874945f3c8d4957497116a9b31487f7dc4a82027c6ca023001926d3d8bb233f1aa306d038498c5f091d706f0f6119c27a1a35cbc192c1eafaeb4d0813c007a20b911c8721b74d1390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230598dbaa5ac2c558d7a4faa0e641a6f8afef46e116e0c93b6e456c3ae9c5817278ac29fe25da4675f26868481b237d7fa02305eb05bda86527e21f4ed9338409b9bce9b97679912152f009263ca75dd9ef0013e078beb122eb894ca75eac133f3fe9b0302047c435bb500683066023100ff20fc5996e6cb4395cf1fed717b78277bb66f471622e36bba5123b5a9ee906f7a808b05856f6d5fcc3442ba45260ae7023100fe14ee133ffc8522839d0cf380e7d92ffff7afb4f8176b261b28415ecc343988d482b13e9dcc229802e08b58fe4dfcbc0302047c435bb5006630640230251b4c2ab30bac9801aad0c993fb99bda3d3b5894490dd5cca6b89511180fcea8494a452bccdf80bd4e6b738b6469f1b02305cb745ce4429bcb449f650b3954fa9d27d1b9c3978c295d5a75de9d2733d6914d1c64983ca4b257ff3f45245564521340302047c435bb5006630640230249978576ea85de57b2c98bd712534107fd6b5ba708aebe815a28f9db44579f573d79c46168d7014c1f4344dd6c55d8d023016fd0fb73ca58429d62d0a2c025b818647c76d618ba3864cb96172a26d92da94d677d95a233ab4cde0d42bdf3ce74e200302047c435bb500673065023019f45a4c777f2de9ca61c496fd0381110dfeddbfe4d048db1aea679e279fddcc3c19cead999ed8bb309e400cabeed87c023100a4f739bb532e54747dd15e70028ee50fea12d779c073e3ae9bd8744bb96c06b14d50891253b9efea522c0040ecac62250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008b4e4ce3c2c55782f8e1a2c529ad7dbd33b7a96a829a0bc8de4d0bc11fe24cb25179d0518940ac5f1f629ffe1d4b57c302304db6623913f442c50b54c3d027bc0dcd0c88d6755c04cadd181c722759b0e58676a8e29eb99efbf66fbd2e8fd507e66c0302047c435bb500673065023100e0bdc01b2e40efcadbd9f2692f20c99d0150aafff653178ed4c7d559f82a6ea0876dea1b7745c786be8d27862afcf4cd02305e64e897ff5f19fb02d6a7d2329c6ac098f0abf42883f320be9ced3a9341c2d56452ae9ea6599cc811cb997ffebc35440302047c435bb500673065023100dada4755a1b781c57b8ff0af8f0273b5152cd92f45b1a3ee6e5259201937c7be3ef8c13f8b989870eac8ea79ec327bd40230750aa6477ff98dcb36605a8bc482e1be7de985471f82b7c6a1cea9c6f3a216fc1036b4e10162a473725b2fc3c887da250302047c435bb500683066023100b0eb6dbfb25fbb14209b36adb07a9a2112d1580e72bc2fe46407a5eda90db567c5c886e5451c80053725487dad3a70a8023100f63d8005c8bf78b7ef8fa263e7cb345f335d654d51adf3fe34b873aa8ef37f7ecb4a24be0993167490c25358174b60ae0302047c435bb5006730650231009abe7cce938bfbb6871d977bb52f086c6a35efbe18caefd9aa3d12fa696cb92755e2446d5f42c6b5e3739e92d999de770230630a3892dd896acd3fbdd407c2fea5ed63f3c21f8d0b3006c0c58038a6cb9c815bfb84529e94bc153335acba1f9135950302047c435bb500673065023100e184152f2d32d382cc61dcf500a2d6e69259ec4785d151ab2abce583a72193f17815bf2946d185a25c70cef8c1e677bd023068aa49e90a7d201d3336b452f889a8dde11d208d45488b8dbc44a9ef236514dea0a85a27d958e9dfeb11677243de99120302047c435bb500683066023100a6b0e198315c7d1e54c5fe9bd1713d6c71eec76da625858267052388fead9069bb5741efdd781ba3d57418e20e8b716b023100e710d3dc825f959e3780ce9b85510de0948b42f8aff8023a2d3f0b086e169b0d82582a8de6d9d1e3ff1bb2ed4e3fce550302047c435bb50066306402307b8edab4813493c9a1170efae20641863aabc8d3034cd4c4976f153ca4673d064fef4999ba75b9a6bab4436729d5951c023057eb23a46b778b486a99160f396d394f74f1d58ed048bfa582feabf8d3b720ed096fac9428bead5e12646779caef85bb0302047c435bb50067306502302a792282f3b52caf8f79abb40ba0fd83a36981ff7ac563ffb03be777991aaba989bab73e5098eda71ee6986b448395e0023100d6b67097c94daad0763a6245fa497f2ee61ca6f78c55708967211a695e006935bbe55538450d913aae0f0207e8dfa01a0302047c435bb500673065023100d7f2ec43a94b1df1f89da044a596bae06c190203449f132775b0e423a3d5c78b92f52546027defccef73e35d5a4055890230466840e181777692b555257be7efdac11f67f634f49000ea44d921cd40168b619b14a50c3e727947c0e9b40c5dfbaaf40302047c435bb5006830660231008b66c33efa54b297c341925bcad6cc32c4ee436c96480ad101f80a66b1c407f7f9eab17f86ae1916fbbf84e0f0b7257e023100854ce0533ab8a64fe60514908f6ec43221d75c32bdbed9342ff96e9ad334089503e13375d5edf55f82a4924860fd871f0302047c435bb50067306502310082fd9d503b58bba3f37fcc73ca00cc123efb67eea2978a554f3f502c87f79a0cbb32d4b9f5a4a81dba70d57fa63cb8bb02302819d851ce3842ac44f6d46deaeb5e992d04df77609cdecc214d49e2537d5dfb53fbea10058f2040eac8134d7910a0480302047c435bb50068306602310083c8eadf248a1113076fbba7bc76cf2ff7ea2921fc9f628096b2f3b3a8ada1feb5ef7aac72ff4edb522abcf0d8da59aa023100f9f7631b6c6b9b4f109b03a281b0be00796daa2d317c74803d846bd1f5cb0422e8095c79aed99291297571a602fcff170302047c435bb500673065023100b028e4635de047614ae2c3bb194af49fa4761abdc708560d5c58a39df4c21c16e460426552f0c52a77f5dfa7acf5bf30023078b26114680f9787227f0480d3794afdc3e5ef9dd8dcc73edd83073886765f59a9d23570197c93c6a2339f22736d0b460302047c435bb50067306502305da008eb1697008e1b4588ffb85eae2962648a32943f8b08e707f1a90e9625f3eda9a34a0d36d45a405354916f15acf2023100c6ac56b1018011f1f556baf9a6be2189ef29a2031eb0696af24a2538d6f20a75ffc971fd0552c8765edaada5ea71b9900302047c435bb500683066023100b3fc7b3cdcfaf7c61f4eb3b4166e8cd9547862aac0d8c7272f47081b9e13722abfcf71ba83b2daeccf21a5c5a5a2ffeb023100998cabcaf6976f87582ae41b96b646f0d65b06a73fd4eaab280759765f6eb4bcb0c2c099985a1b0ddb0c6eff80cb0fc90302047c435bb500673065023013b02b688e892c87791eab5d6e8c8e4b4eac496687e551c538e947208db8ff697bc9570108222796b7c3a5e07972644c0231008824d567281c88cc92f6a34449be7776004c7ec7a08926f77d746b65e025b0fc89caa643f5ced20411bca911132aede30302047c435bb500673065023077d9dd4a4d91a33e8c4d0f23b77dd79ae5469ec720c2b0f91f084aa03cf7fef569d531c9cced7b12309eb9524db9e62902310093ea6d00cba081b25349c3af673d1837cd236bf70eb54c1787b439b25bfe1d964a6f0e82596f069bf77ae40956705cf90302047c435bb500673065023019bdd7b6705268b28f5077e82e5f36888550e378b6172af60011aef9559efe35528736edcbcb79077d190bd5c2e9388e023100dec37735022032b0a8340a87d4adf1e16488e7a95ec52c45802545fd27ab333908b2bc5e56b3f7726fc6b8a51c65cfb40302047c435bb500683066023100a60ac96084d19cf7ae1707d4ea6218afd266223fa8a51a8729d741e7db9f51cd3def63ce136823a09ae84a4ded436342023100f87562fb0b68bd350f6b62a186e0e60f6198037ecf99d79342a3b50a45b4ee6de190d3ae9a879d85d5ee8f789ef85dfc0302047c435bb50067306502304f2ee90abdc6583673e55c423bfcdefefb423e1ca1d62b91e52625876ac8bfaa897d58be04833d2f43c978b2d07eb601023100fa5dccd640411fee59bd3de4010f4b035f2671635bb80d91775dcceb3d2a5516f22ee7c6003aa187c1022f42d5acd84b0302047c435bb500663064023073e9a14ca7f33c17608c9c772920e45a86c25131afbf1eb21f307c5ecd0f2a18c352c933747969316761d32fb608a91002305a39ecde5d15bacbf0018a613d44d6d6445415d53bf864d76ee5e78ca4f20025829aab18c4e04def90eeeb716e0f21230302047c435bb5006730650230182e05d49c738a91c0026154dad776276d27dd138b49d1730e46d5418b0e7470160a1c52a08693f5f6730eb1dc91a622023100d7c5e955699fa95b60970bddc8ca21e4a9f4c8b70055f1b0078db8e27540da05488102f8d6fc6d764969eae5ccf1d46c0302047c435bb500673065023100eab77b74cb0891f43ed758b059d7fc305457c60fd5c530e95f68f90aaf160b6752f044ee69ba20c6a6d041e163977f5202306a5f99dc8da894b126c0694ec5c9004155d55ec9657263f9f07a47452f50ca170ca554461536f2e427814fc3ddb7ca8f0302047c435bb500673065023100da8491d47378e0e341cedcb97fc63a00765a19062e08d65ab15cc18512d5958b630811655dcf2f8ca7fb22fd6a738018023018f7aca60f6a94590b28bf29b25a9d964436fdfbd3f5a69e22f78308707155833cbb48ffc60b3fff92477170a2cd00a30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023039a31afc8a4120dc2a4ca5314711440dd3a878c8ad4bc232a04c1b06c9304acae72c30ebc93a8314251a26e89dcee5c60230781b5b25ccf1588e0d4fe1dc5641643731409044570ccdd93252a471846b631987e97ae8e9a21652bcce1226f8d2a50d0302047c435bb5006730650231009ddef35baa367815de2e4d832243cbd783f9f6dbf8afc9049f099f56764ce726cbc52408ec7c9245584df3c29387349802300d29313de5689d4d2219112c72930c95b4b2580a4ea0b871a5554d4cc3d1e2e3a42200d993f416e71f8dbcb726a402ae0302047c435bb500673065023100d78587f60947610f48c3034f62ab5c50243253d0831682c4469862218784ae79bcd17563a20601dd729f3c0f5cb45a7f02300b1ec5dc912fb51e93c8754f7028959a6b6d166806c586856fcd89ea8036a851c2600530cbbf5484862002b867402bf70302047c435bb50068306602310087939952796e418d086ecfc0c2f1707d870554d044333df2877434eec24282fb4e2bb694d50628250d860cf5b694045b023100fc6f3e26b9b4bd0f78333e40dc496106e19e92b7b951d78bb8f3a2c5f0439b953a6c4aed735c024b1ff9278d7d47ea0e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cbb3dbd08733d3e286984b9e9b3bef20a59fca184fde5be33dc1942ecbd68d441eddaa0c7a077d6e59322879f1e27548023100eeee72a6ed115f0853c80ccd526f1340acd3cc6ed2a8e357ff4bd71d2d15e9428dd7c3bdfaa1c7ed45b864852f35bdcb0302047c435bb500673065023100cbb5b7e8b1ec30d510143b3ea1b9fa243dd26c9ccd7eb4228e35f01702b25668b38928eb80b8f9e7339d1eb4ace765da02304fe00dd1ea8ae4ded5a3839c2b0994fc392348a944bcb025ce799922cd3cab57ff8b6007315b4bb6ee18e3ffedfbfc4d0302047c435bb50067306502303fe670198395a62177f27cc6756cdc3f59bbdcc695fc8540e2bc38dcc04ea6ee6b99b56b422ca186b92c1d49101e5832023100c2cbd58036006bab2ab7f66ecf90f2f8f4267cd5fa7468488a9dd991cbed32c4ea03155faf485f1309f2d58a8b8c0a770302047c435bb500673065023100fa0c85769d84bad1d65dc8964cc737d73a23f7482ca4185365586c5eef4dd274206213afabbaee6b07cdb408ad2b8ae702307902075a864b9c394625b7527178d58da86c2b6c1372c1f7a1643173315809ed449658d202c5fa52c8b8b61917a0f45c0302047c435bb5006830660231009ef7e16bc05c43a8540eab2e1a6d5b2b1567d2d9f656521051ff2e5e9f0764c0c064a0a8b0d2608f966500c9319a6583023100836bb82aa95fcea982c67cf18dd575acb77d27b538f723bbd3110085d6f13c949746a6effc4c47fe010096c136aca2e30302047c435bb5006730650230574a5d7a8972740a9817ea01287db4435eb4477cfb261c9b49678e04b34e5ef4cbbbbe26064ec5ef9871562f06fc27b702310087d2e7d4b632dee3d36922e81e6d5455a2996c6d95c4f978289ad8ba03de240905842d7362fa5855547d32d6f59b1fcf0302047c435bb500683066023100b8a1e867e4d7bfa37b195aabd6733f645b9866d641e1e942ca3c45b2b7edd4e62a798c110deee3183e86a9d1cf1166fd023100e4a2af41bc0fe00a8a4ea002288efbaafa8226f5c6bb8116d391484fe952ab43626e7a67257cd3fa11101f4d2414ecf70302047c435bb50067306502305d51e590b04ff66e20aa89740996bf4bb82dfa17eae580bb3db1549febb5d50dd1daa5d02806d09d0ebe48ae6f9374bc023100b895a4092135a0f27bf76ad5e2155ac247e2234ad712f8d81dd84be7be23b65c01d7e7d6a08eaea05ea995d5f68e97140302047c435bb50067306502306ccb70da30f96d0b7fd11d502ff4f58f45207e2e020c2bdb8f0a84b8c600d6577733cdf1fb3f00190f082a087b8c73a2023100c9228e44c90ea0bc80f383f5f8717dc5dcca85f95f0eb90938dbc05d717163fd08a72e68845ebcbd55856ae2944be0a50302047c435bb500673065023100a396b1b1c2a2d24d2ea54adb8497a8703ddcf93b1d2e560712e6639aa3b49b8b20227a65ec9d1da30cb794d8b130790702307aaddd8987276847058d608d0bbbb4537f9acc034f45d676eb94b5df8870cf84b4c0b89acdc236575daaae24ce81332f0302047c435bb500673065023100fe589ee716bb85471cae6bdf1f2efbd80d2e0ee518d9f85b72475f373b58e4cd4c1beb47a1b468686fcd982cf4bfa0320230675ffe0fd0cb605de69e390dbd7f77eaadf248d9357603449beba5bd9302a70c56260a95088e1326c1f32874a15a65ed0302047c435bb500673065023100802b04cf1ae65c266dccfdfba8771e0009aab31dc94038dfb16c485769faab980982e1dbd4eba9be6d44dd5a3ee7bb1a0230114e7e873cf999cf9cc3fb19c250fc5af98757f767d5907cb7894582e2f3d9ea3746a7c04bc89fd7b422d6984d3a56f80302047c435bb500683066023100a723171ecd1aa3a0cd6ec53df078dd699090f21b2d178252fb55463f7ef1ee13db6822bb4219c19c99d5abcea00c10cb023100cfa87245cd9a60b4ad0d4abebe22e60cf3b43d330c3de9fccbb5bcf7e1013873a0738104a4c83c8edfb323f70d98d5a70302047c435bb500683066023100f7d1e1d4b6444620be28873c43bd61c064afa779dbb5992c57f28e64bc63afe529c6403ef4e731e479988b9a1170cb0002310094b18146e14cc5255356bf8009f23ed250fd495ab4dbf4fe88fb0a902356892f05290dfbdcdfae81c2dd3b0932784e550302047c435bb50066306402304b6fb31380d0e41e08481db874e58614b226700d9e1c14c9c26c9fa4397dfba696e8030bb17a3fa9a07dba4dfb79d91702301c9a4ec2c18e58ecf8267cbb6aadcce8ff9a9768312d698191a085bfac44fc665d3246fb816e618d1b2257b96a011a730302047c435bb500683066023100f9fa396acb9e689a393ce05f0236f94097b1d7c4f6c65f2cbde95cf5d60889dee8c4f70090b75134e4932c1145849783023100ffcc8b35a4c3b6108a8469691c714203c4b192b5199740239cadde34d683a9fd30c0fffbc6104786c78e60343a9f54c90302047c435bb500673065023100c310b92ab5addef240dd65ec996a55cea98fae0bb8098a4c46b681a2a892a06dbb1fe583b9493c181f924f7c3d34cc9c02302a65b77280abf69e72e1465b1e93210564fa0695879d5f7f29c7241459865a69492c2ad75bbc98c9d29834be240058830302047c435bb500673065023100e7469cf49b54bcde68967e7886d6065caf020cff613a64085320aaa1e37415949cb7e58c62d668f1634c79593f1d4d0102303c3d169e08236ac8b713ecd1400ee733d9d3f7abaaaa0722d3ff428f398007b3093b6c018d423792c2f267ecb82656140302047c435bb50067306502300887762b5c7a8451f3cb387b416f55ee61f408c528e39ea2ffae24756a0ea402740ffb90912aecb2066d3623c97dbcc90231008a66772a2cd543742b83da83f9426a061901e0cf1d327601835fec275866df35efe9f98599759440709fd77a851bb85b0302047c435bb50066306402306942775b3493e6489a75d4fe887a3bb94485fe18de21d6d849a8a1622b3b0ffbf46a92a1fa13c4bc974e258e223d7eb90230684e96d7f9147461711cfbd2b2df8ca2cce271e9431a1af22a012dfe6d50e9bafb230459a0ed524d90925e01a27513630302047c435bb500683066023100d5d28d8f2ef093878e960f7b47ebbf29d3e89125b1bd02687c9eff4c0da49d3e056a0e44bce9e3edf0995285f5970b7f0231009a55014ac964ede9756b7a5f32da5c85ff195cf09a8473c6b7e062597539817bc9209ffd74329cfce3ec485aee518c7b0302047c435bb50066306402300905400667b8eb6e0500d7f25ba30b0e338029c306e40e33933d69361d164aba8a0128aae424d324a242147ca4f374ba02301e17e6a743b627fbbd1fc0d63842c999a9e6d2d9b18ba4da069b87facd934a32e94936d050f55e023b47f270566961e80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e6a127a8c0a687c7b5592cec77276b5ea0e41365bc58f55298f161cd707c6d8e787415f19c3eee013d13efd366d0d26f02301599f3d3ed832b4de95ce6eba82fd8a0a91341278bbfed0c837090d1d90d6614a3e59cf8f85be44fc41adf3bbf6c2b3d0302047c435bb500663064023014963d1a9b6666f57c6cc192e8b1ccd28028d6c338ff6959d9f14e45e80907757dff9f3fdd4fda2b1f959a1609684a560230567f24e7c13f5634f7b659242990fcdcd715a28e3aeb90f3e9e0808027dc0bd3abbf21289e9fab53437d167e5fd54ce50302047c435bb5006630640230109b7aff09121bb64d174f53e4ac6afd23e09106306610571414a1818782a8ecbc402adc7525d1b94dd038fb5f86fc080230570494cdab4080a4b60aedbe2d6370469b9343592dfe567ad37dda37a6de06bad3c3ae85e13abc76ad30da1d3e3bb6920302047c435bb500673065023100eb5ce0f6cfcee94929ae2f252e31d11f7397e2b568b37a96a6c378e23f944b676becbc7631b3a9bb971b2b881a3c1f7502306ab2e877a503f1f62fa4a8287d9f17c8a5682f02c301fc8a43b52e3519a38c03fcf330d790462e1dbe92181941b0e31b0302047c435bb50067306502301997c1caad9bd743d14d0d54aef6bc457b1bf5b6867996b86baa582ae6d76d103af6b5915d4b4f64c0c5d1b945a86c6a023100f7cc696a364b6a425a438d096f306aced33c97340df981e464d77e9b205faa8012e32d76e7de72050608afa48c46ae340302047c435bb500683066023100ab98c60dfd61f7880a7f1813872d16d41258807d406e8f1d6744ed5bd939c29fd311d3786781f699d509b6bbb0c9a3b00231009fee98c2b58af2c02b4ad2b4cfb9b3455e6c0b949401cd6f3112d8146967e3a2e3516d7026fb8cbad98f9fd561a9448f0302047c435bb50066306402305ee413a1a7563436a3b77203d62978f076b64112e59929a418d6892934e89d5b7d4970497c70f4be3cc9c28bc0e118dd023034a72d14d920a68c857906c80a340c22a79696df88ddeff9540ef602c5c0921e01c093ff6aa723505fe2495df5f51b920302047c435bb50067306502300197dde5c77b7a7c99f514b4b183268238183eefeb617c8d9bcd8eb202f81e5ae4c59d80b84525e7ae4ea87ec2c5d68c023100bcf1ae6bcc40b920457c9921d91ce0e63389d3a113866efad2551f5460bd01eed81b3f2b3a2a15a36cd2e2c5f7c0a8cb0302047c435bb50067306502301392d3f85fe945161e851a5c34c3d03da52b2c90234b1cfb4d64ec1c8dd5569edd1ceed26cf8a2f7a46ccd4016bec6400231009e21b3d761aec87487654ffa2dc9429d2921075da6a8ea8c888e78cf68a21345c77ed317b88e772102463583cc21f2e00302047c435bb50066306402303fb3c9f5fed58d0ff950cb42ee0420c89b973fdeed22529b6292203942f41a6c042ecd8a323c2de35d0fff162aa648c602306129eeb49647d2fee65d223ba878b535f1ab06ddfbc54d09f4bb300004c6f442575f7828bc4807c359bbd595e8d35f7a0302047c435bb500683066023100c7150889ff2501da45b26e0a3710f76d6a2afa0f9544d2ea6d2628006201d70f82f203500689f56d3f7e0b26d07bd5020231008d014f700d7bdc625e5de0297642aeb1f44ee0ff7e7cb713632ec1690b94460aaeb996f922aca90c93df42aa94de40890302047c435bb500663064023067574ec70df34e34309d88f2af8a755b27a28e09f3ff256c6f772f78242410f6ee16ad3f3313eb39cbdb18ef6d9459390230126b973dffadf533ac361fdec06a1e5a0ccc5d255fbc32cdc9b3ab1b4ac19c06571ccb09f55115833310da1b5f8bba630302047c435bb500673065023100a9c5e2023c9bc701cef38f694588eb22ea42b74bcea1548d5e3fa448c5cf43b47e9a9550a032a7246c6825f13b9df62002307a56e7ea3c6c2abb888993e1895b58abac5166945b34bc34da4751e72a8dd6617d15efc85bff4e5f31482cfd44b15df80302047c435bb500673065023074e78c2ca3ccb4400dacdda7dc9efb6d9160c8c9770324a0b2c4197522af479c6640e38f410be5f8e2cee771e8abb10c023100a2366bf26aa1a6c67c62d75e6b580cf12d3af70ff2736d7924f8052c6de643aec3d69e823e5b4d4c8508640f00643ca50302047c435bb500673065023100f8bfb5645df93eeb6899cef98c2d67e27aa7b86116d911e2fb0c1e22fc23e81f13f45e419ad317f3b718c09aaedeac3f02303dc17a5400ed7832c6006010d140c88a351d64d9e7708c8715e8210ba5aed95f35fb61762e834d6849d4aace55fb5dc20302047c435bb50067306502307f013989cf425b82d599232423fcbd5ea2dad6a93b55f0e17ee538d6f095ec73a97224db143b8f419442c4835d4065e9023100a4fa2db97773afc0f8ac17295a228c786673fc8994b8cd66400e34c88ed5c5e19757a6f10f94f9ce957c6a80fa89101d0302047c435bb500683066023100df55a1a630b3885dc8f8650e75cf8a6c4234db1f63a8e3ccfc0176a5df631c191df2563d6aabb50a2d8ddbd849dd4d3c023100fba37140b719079a67edfaddab9028901c74db2f876b729adb366cfd152d40f42f04b79d47eb7882caca77cac42a75280302047c435bb50066306402305bf1c932328e59084a93104842242b1f3fd733235e9c42de5a0913bbb3d1f90eb0d805048bcda37fb002f0e8c00cb9a10230556ddd95390ffcd76dc9edcad7ec080d3d56140bb834dd024aa948edd900fb7f1caef0fb8de1b1c7105d52a3d6bf5c1e0302047c435bb50066306402300e88b643d11559f6a8c3db6e9ced09525f7c10411682acb35ead6932988472f8e2e571c0af473c8ccd40a5749da4ad3b02301da699fabd0ffe292dfe37403e04d0335c29d99be6677b8ebb99bc70cfbfc49333e37833373a18033938b8389dcc010c0302047c435bb500673065023100981e592b8d817fe2fb863f6b5fe199fa8ad61f109246ff7950e8bd99f77287c585db7fc00950111db5e9818b79c36e6b0230016d119d8f78c1296f6e508567cfe91c3f229baef6103c757dd02910ac6b1979d8026a8f27aafdc9135db8fc6fe05b550302047c435bb50067306502306754336fa17c5ac6d65c74618834ba68d5114708c863aa495e1a02a6cdf767603db9baccf49c24697880e0fad90ac9c50231009ec47353fbbc434c7eb8d838019f22f8a2a34ea109ca1f1daf02bbe975d6cf003519979d45b5a71565c2c7ef194fba9c0302047c435bb500663064023068b7e21b0eef3b91f1b97719367d89e853cb6766728bc1a85451b57a8cf2070f407ac057a06db22d76262331a44b29350230267bed56a0737a6ab73747c3947440bc975b9d376e316274b73eba93dd7a3e219e407a08ab02487ea8163527cbb77d060302047c435bb5006830660231009f0ff2801551f90075e866c710d77e030245e213c9480825293eb0af6425e2af657e06101aa799a4038907f2485dfd61023100939b7d82e6a14e15a56ccfcb98565e45fd48fb8e2aa02cd201a9b4cbea4e2440b6d57bfc5087846c742c3086339bfe090302047c435bb50066306402307296739671f9bfc6a19b282eeda97291cff89eecca230571869b983928a8e479daa650a6a1012fc2a8d7fda4bd49b7f002304e9c5e596dfc850dd34799c2bfa1ee1b90c65ceba4d5b1eacb291e8e3fdf62a63317f246c019ebcc962de98a23c8ddc00302047c435bb500673065023100c9c06d91c0fe8f73892e9b177f7ac0646b79b506f2b15fcef4a2767aba9434c1fa371d2442635af8284905d944b9c665023019b738ddc6e4727e471e97c150952d49b420344cab7ebfd6ce2035aae49efae2ecc957a33007d5f46d27878befa8af090302047c435bb50067306502302ce861117580023a226261ed7ea1b27aeaebf350f97c3259ac3a86f6db96bf39a6ad65aa956232d58f14e9f00f0c79c00231008dbc703ed2d5b3886a3b2cbde6f1755c44c7afca674292e97daaec7ce88a2048305c2b8f81a76f3b1fd0e08528d799100302047c435bb5006630640230660b8179e13fd9c22bb13d51442602c8ac31c7afefb94fdc981e9c669daa76954946bbf1c690db55ce4c685a72e78d03023004dcefaf30ed84307db35e25206f4134350e7a46527d054137ef828a67583d2e7ae8d0587691ca8c36eff19b17b58b570302047c435bb500683066023100a1935b09782e4c31296dddc0abce6d0006419eb505b8432a29865d433e22d07e0d2a7e1bccb6ed6ce3fdc2c33332c668023100ca10b30a5793fd73119657336be3abfc50d2f6ac3e3b3b13d9244aaf925f6698fd261ebf69d534457174155e56a3b1b30302047c435bb500683066023100fe7915ffdceb905e6012d7b4abc34642ab7fa543d2fd254f13822c104e7bebca4cb97672db51fc4c18c642e10265797c02310099b8f74991c526bf07bcf2a966b21f3c215c5b6ea0305f4ef3843ebe1f1f734db285afe0a5b8686156846cfc2e7e5ce10302047c435bb500683066023100d85f1480969a04cc4afe621ed0077f597717209f48e9a3e7d5909f049a975f475e1700ec536567dc00f6795352545990023100aeb139789e264b7877a048d70d0a01cb2afea335baa41c44dcf9a657473dfc817fb3715176439e98d701733357d3a3eb0302047c435bb500663064023075d0778248cc36c268fef5fa90ba832169af9c3812fa8859716c0651260b74fa554d4073d2f03e84a47145925ddca48902304ff8d6ca81be0ebe11b826f24831aed2790ecf2f54d40963451d401739f7d8eb364ede252aca5aa80e5720001b0120f00302047c435bb500683066023100eb8cfda232a0db7c0a30555b09666d6191ec24fcbe682e4818ecbc279c8a1270a7b0b834e0655ed3af2048cfe2dcc1eb02310093dc4d45f8a42b34b49f210bc530bd6ba98948bfd54f25b50c1e444db78a573d2cc7e365b27f70adfde500ffd3d1f4e30302047c435bb50067306502304c90ceadbac99a9df32082524ba493d7625e0550b2ab70fb1e3f243286aeaaf39c681a56c36aa9635a36b7595cca2cea02310097b5a7a84660a2f33f035cae7e8277afc5e1cf35d343ee310e138eafd253ae2b5be882d234d10f2f2f0bfb6cc6d251080302047c435bb50066306402307fd4591f5eb3b47f30e6b5db721aacea1712228cda96e945587dcd854bb306c16cec876fd97fd2a79b6829056595e4f00230681e00688457818c702cf03d052982c293942c8e8cb9e593e31ec60d0ae0047d881c9437e4d7bc6830fac4eb9137bcb30302047c435bb500673065023057c3fcb5dff3f0360d44232e2d7afbb044313de31f4f573ae727b447744f5d05bc4c2fddfd85f4c92c619d43452c5856023100dcadc122468fe34ac8c372f18684576c305a2714edc278a7125134b5ad4578288edba1e840f992282503ed1e647a4af80302047c435bb500673065023100c65a2c90151d8bbe1ff325e46e8a85639df831aecd4bd685f0a6d10daccb8141eeda5ce425277d51a9233ec88615ebd30230285eca164fa2c7fe84bbe9d3e38c4088faf3ad8a8a94fd37907e9a8831c4bdb85b3d1bf0d7090b6a2b955f90b3d544a70302047c435bb500683066023100c9d7cb3e69a662e60e29dbb2b3d998a43963a40fde2d86d623a6ab32ed375d168a955d86465c599e713fb06bc81fe935023100edfe65d8aef1d48325b9ac5a769c75f2d56acd35b94cd65aee8a705f67ce9c05e5627f364b8a01fa3ae1a5f8cf66a4fe0302047c435bb50066306402304b34389bfe9bd6678a455f67373348b407588e2efce0c52359c19d8c9e963eec0a43eda379e2315e86b94d2e2e15aec102301bfc833fc65cc3f2d8cfe86e38f570aece95eca46477b63c519e640af77e3c6b3251a3f2629ebc3a220530354df997ee0302047c435bb500673065023100e63716b09d61a11a836b1efb30cad99ccb24ae4cdac78f6af82c9d8f8a15422df7901671ddff763522af61ffc2f22fa8023054305825ab545ca40bb62c7a422ec25b1658d9e0b0108088b2047b7688d6a5270e30eb7f156c66ace43fff03953d75ae0302047c435bb5006730650230511d0437c67864e4015dd44ef53733e5f5d2b859a348e68511e51afd8be1d8f2b2b9cbae15905e8d7b66d566ae66819a0231009db207f436c72127399e1f4f272b4c335b53ed7e5670400553a66baac865878df3207d11d93e7613d9b8196155297e4d0302047c435bb500663064023063371c5aab37ac961e2be313b0e217a292698783df846f728d83772eaaad2c6098f87ab2fb3268eb2f024164957c1752023071a621dce3275285299525761dd1d8c4ab9e8eeb09d36f6b3ddba8f8d537d4144ed6f97c0628b5516a0ede0450be89e20302047c435bb500663064023046966a552f4ec0152dd9737b5c601614c324a4db76a878fadfd76eccb50903c424365e7e01f38912da6cad2baba2318e0230075512f6593e1e1645619e0e85606bdbb79b210dd3ce7d2a1d9162bad145062e4fb5c300c64d6d92c074dbf9791b5ee90302047c435bb5006830660231009c3ced39cb6de5f108cd391ee51ef42088f6c3c0c289e0739d660f0add4fd41da60cf9c6c4cc59b3b070530fcb6eb8b9023100b712d001d036ba24ec66e2c1b1a1b9cbb1402eb3205241fe2c2008124e1983202789fa1ebaf6f3675ebaa6127dd46f3a0302047c435bb500663064023063b03e229b8072e44f98bf05efe96e300682a65c5acbbd23d91c1619ca1234a94f0af8ae9c4a32bc57615eb7e82d46940230757fdf3ae08e83d5794643ff114704bfd5f27f5d0834514868c8e16842e03cb627366d586a684db5ce0c8995d4333c170302047c435bb500673065023100fb4369ee1283ef2b199ea67f794dd89f44a6da93de1eb08085ad8468287ab0ad04383d4054f1b52df5479606805be80e02301f7f522b8442c2e3413b75698f80b352e79c7f8b5ec26a74cf617eb6ce09a28723b661ac3c53925ee777bd938beba13d0302047c435bb500673065023100e0b392d4c6c5d88ded739acefe3936ef1fa412860b6262a8163556df6f512dc40b0c93ad7a5f1bd8c8b370444683613702302cb7a3820afe4df32fb51d00d6f0a8a6d09f9b848752c05e6e6f7089a27d6b35673382f4940c799288dfd471b548747b0302047c435bb5006730650230308554432861891054783bef514630b3f3c99a8c0f69cba5789cb2243c62b8a09c8290057053118eb7dfaf099d8aadc3023100e0c6e6d16e9362315649b5eabe6f041e94e655cbce8a80cedeb3026e7141eb55a2cf5a179bdda3b0f71aac9c91230c9c0302047c435bb500683066023100e75c6953db78d0b575b1ba99c095df84a05b1c155214fee8deb08e0b2c7dc17deeec90e3928d9acc6f876710b64ccaed0231009caac7d38b0048a9a4918bb3f6701ed851b5dd3feb1b49792fef0f45408c20935e1618c9d35401b031e7fe59de99f8250302047c435bb5006630640230334bb14775770c506facf5435eeb01c9b51f8a37e2a9c633e89c10d7a8c4c0cef98791b21ad0d0b97bc26cba029a3fad02302597619ab6b0aa61a5657255d82a2e654f8c4514f9255be896ff3364c01fec3b1b3f28a7de4916e37fdf241024c8257d0302047c435bb50066306402307101fe5cab41e3fea282966eba164516a1943393d37e0d511c17d18e3ab49cbc297085233fe4da337077eae48a15a38a02302a0599e281599e290e8150b045ba5253ea0445e24da9606b84dca8d3f51aa59e69cbb1beafe03eb8eac53029f001e2810302047c435bb500673065023100f98e9cca094d16cbbe7e8d08bd758984e1deba3736a2a19fdb88f6c88edd739c57db32e6841ac658bd494be0bf98735f0230550452b77c968e74ea2817f37d6fb0b958ce47864fcc143e9779d0e9fc9e418ac32519606d67d258373a395ad8bd67500302047c435bb500673065023100b1e103fa7f87829b7be68415ec0576b8a2e340179230e4f5497f3cbff446d24b9069275be3043c843b7ce5033141613802300bc841b7f91a736ded041212a4b8a505a1da913ee7c0bd2d6c1baa1b8278465afb907eda2814c456e3d7a4ad1ab37ce70302047c435bb500683066023100a5c9a0d1ad16bd9a7a86a11d3c2bf063ba459fc90e8279ba95de19096398f29bd1f872cff6953882383d706b27d19be2023100bffb20a0bc2f042e69b6ca9942752e18ab35d4c662fddca449f2db791f59ef03f23b6ffbc473a220a5c6f24122bf5e020302047c435bb500663064023070aba2922adbf0996192fcbd90cc7722ceff7feab8d170a6906ad99380ec5ab4fe3527a0f36a8ac16017121fc253f1520230714f0deaabfdf39ceb117b6b5a5b9746866f1ee482fa1bd490fac5b894210766f6a6efb9d80fe3799dba108b3d59eaa50302047c435bb50066306402300986d99193dc1c815cca053d5ca400f935e850887c44a680d5b880dd69d8c751320c7db686a4a0de7692b1bee2c44a9b02302fe115f7868c090185719b8514cf8080daf8ee0865d55551cb431b662b10086383b16f84f973ab051bd85e95fe8af3d50302047c435bb5006630640230675e0a127d00fa5f2c80d94b07f02fa955f53be81ddfa5acd6a1cb27a81f38e513245002547fa89774ac55aa5dc0bc9902301879c766fc0590ea69f1174d3925c882dfbe95a54e0c541df1461af5c865a6935bb13f40a87d20cb4409541d001ff9c40302047c435bb5006730650231008010622ae102a38d04e931d1013ef78caf733afd7208fc4d1db95f8e986c464ce2bedb29d8ff4fe8deebd352420192b902300bee377dd2393a70b84b8da6392ae23a961a22bfce84469e1926f389a63bb24a1c1e2bdbe2d21a9a87e3811c5a2ef8200302047c435bb500673065023100fea94012a1bf811ff0f3c2f8f3263055551ce63993b887da08cfe83e886c4c313c7ee75e54b4c4de2c97bca0e723c47902300edf807d7710f9f9615abe470d30181b4f153b5927f5554a65931d32430355bb1e76a9cee473e2ecd4fc500ce512ce7e0302047c435bb50067306502306fa595f18ec24d7f303a8515909413130327520bcee46c1c5d1eb4295caf081f1ddce7c02d4dcd09e487fcad76aadc31023100f36b47f0711304ff11398ac3ae77c466236684b7347e23138def0f145174fab9f66161a4af368bc5200124f1e70736c90302047c435bb5006830660231009de8e693f99941e5b0bd515a6cb555320bbf250af4c510e348ff807153aa2ffe6591f70771174a043702fcf50d0f3980023100c9e18c325055dc7f489ae14e7829ee028cd53949e7baa963e64e8c48301c31968095d38c9259996fe104b9f3a6f2c4ae0302047c435bb50066306402300e335bc62f36670185ed58db7dd645e88c1b2a67179421b3f96a25331b33cdfe2ad7af84ec5c67b085f16c69f424c8be02302241f01d18e282c482e024915981416ca84d741c8df62378c565989244a97c62ea100b06d1e9c10d221269d7ff9538440302047c435bb5006830660231009ff898844e882e0a3f822a2524c93940f665ed11123508bef2532c081445365059a41635b2650af354de44a8abb9fc8902310088b5e7febdf4ec544aea2e168b17b3c1d0af235d4359d2e4078b172fb281155e2c5e95a262554adb4054e80a41d5efef0302047c435bb500673065023100d8d9493e04279794733578f2132161805eb7cf8bc6ade7b39d21e97767a2eeaaf48c36739f41e212f16eeb23521d19da02306a400d7d62a3ad713f443369be3ecb7afa12353cede8be5499789a834d84a59eb6c8e38a39124940b49971e2a249afc10302047c435bb500683066023100d734f7630ae75bc305bb11420cea4b78caac97f31deddb1ce4e4f1e6ba2edb62a6e274d6a8761ad9f3672f53d106948a023100c13e3730a566324fafc6a0726bc37fd7c3052ca2d1108ad5ae418b557a482a89e8c6262b8232dd99fb1bc2cc999748480302047c435bb500673065023100a49b7bac95f1583b9bdac918c0f186da19ae95ceeb9219b8805b55cb755343a7d426f1ca6f8c3eca3bb74c9c4009800a02301a4fcfe27f3685619e579122516f13beace6f4b085a0d583b3b1df9d66a8f0e8d5127736c8d0017b7b58075ce2319d170302047c435bb50067306502306b5fae1aa335f484fe4ecbeb66401fcc7977d90ad77804d8c52f0152a8a3fa9f6bcbf14b5b13f87bea7e98392c40d0d5023100b3405775c56bf418a1eb3b8161afb95bbf91614d1d5a212e9c5aa1c8a19b2fa5e1d18dbf013274ee7cdea6791ec25d830302047c435bb500683066023100ada9bd1c3cc7b4ce5b64433990e64c536ca81c4e6f41f7c8f6868b226df6d45fe4269e80efead81762c53976cabeb9e3023100f905ce6a60f3550452eeb9f26b978342a4b9b07a7a03f2ea6d51f58ff6bc519829a90bec0f7590224a4b568c22b6a5140302047c435bb500683066023100fb0a88afa74cf74ba02eb8301e1c966741399f9f277e048f849a268c6bb1d505c3b811839427ffa4c11c94588d304d1a023100e8997f6d81c2b5ea900f0af055eea9802dbf2e3549e134982cc554a7f1a8470cec773ac2901098c6d66ad43a4d29e11c0302047c435bb500663064023003cdd86db865167f4b548ce92a18b88860985672bc9390732b732a9db8faf4f8d669e0b51c8e4fff368fe1f0dbbefefb02305e60166134636cc90f13054c5eae2922b4be814e4200c136066505ee463a35e4aa9108f3315055e1ee1aab0187fc1d1b0302047c435bb5006730650230303b998134f5774b2f53ec9724360da57afa8945ddf802948b862f76957c7dac728a17557d384ea608b7e7e4c6230d9e023100b21bf0e7f05ca786cc3971ece03652b42458268f05bc43628e998bdfc43bb25342baa2764d480dd1f539c55e08219b260302047c435bb500673065023004f9f6a8bdba5394f8df766c4d1a4ac40e99ddab77e8a562e1bb4d8a5156dd32257d083070084c66dc8f2e8d68353d1402310099c21470d251e01875756dc0575911faeeddf0623261ca40a7595a086b5e35a82e504998836b5c6c3f498b01c41885bb0302047c435bb5006830660231008807dead6c06e4c69cfe24f93830f4e8b7d8c6b42f2f3a30aa08f0525bef4707438fbf275ac819ae3661b0b52c4e82dd023100ced68f07fb02461196a33eaf85f2cceb765bc39dbabd2fc957e87b22bde57bcac3954b94475e495079d38381b9664b360302047c435bb5006730650230647bb03e437ae433155f4348daab1e871e2a619bb617c7fa6af5a92804b8a008a9217b61146b08b509fc8918a15fa350023100e8a58a6d98409b4fc19a9f96018b7168e1891ece6ea59b786a4a739f708a43b7d7cbce6e93a2f8f55d52ecf0f5b892a90302047c435bb500683066023100ae5f0b6ed0c118ce8c67efa3fad2e6d6a353c32c132f37512cce87558e31bb2b802658839ad2f0723d03a698f73c6c05023100ab00632127a6ef8716b557f9d1ce5f621efe6597648860815fa098c7e7dff0a5d2379a2e05215c9448cbb9f6579d767e0302047c435bb500673065023100c012c1fea0226926be883f18ab531f43c8dd215e141b85725ad544e6b1698baf4d91f7f8571aea54d6bdf308c40ee1840230291210f2f20f0c7fb9bcfbcbbdfa22aabd8a2be9e50bc5025e481158e5df1215de804223c7f98f6d3e199cb6b99854d00302047c435bb50066306402302e8e0998e632d576e4e6e0acd619c3545a6a1c3db0bb852ce960753f2d99e686bec2f8d56b19fe39f765c3e6e1262a7702303c69910b23019a6911505719cca48cfdc1e6dbc199e1d809674366ee2ef9658477e758e05b31f1bd51f5cc4570153eec0302047c435bb50066306402300c8b06860951fbd090a13d29b0be6696ef5ca8ca98afa392ffcaddaa45bf661dffe7d878e41cbd200dc0d82adbdd9fb702306abd7de542545327c73fbd7cb2f4e56f409d25bce9076e1c040fa6d20fb1be35aada342a2b4a1fadc9db554c6af23ba20302047c435bb50067306502300c1d384ee61329827d640ffa8c83935de5d2fd4519f5c5bdb5a085ddda9cdb8842eef0cef52e5a64f6632e38fc2bbfd8023100d77e9ef2bd18718bdf8ee0bd9eb6c07484e936d05f759f6b2f9da01ffc049297dd7a203f4c4b4a487eaa3807e203654a0302047c435bb500683066023100a533baad4c9eaa9c47f709e4ee5c62734dd180027aa771151475c21d889baded60e1e879d6a786f42490ee6a03ab48d1023100ecdb97405f97ad0d79f87cc6c365b023483f6c540e6055552a62c474c901f1804cf6d6a8631b3e23a78d4668a89a27330302047c435bb5006630640230419482626095dc30d4ad750125de533dfc4d98b3412f92ec52e8ec4cbb156244d981ebcff82a26a7185cb7c2461e6e10023054668124a8ccf076c41ed3db39a65e4afd49ee3663fd33529e4fcae742aa3d97e2ba2adffd19f4932d842a7e5ec6ba310302047c435bb50067306502310093192d86eb2787b69c121e18abcbcb6c3921cdcc20c440d9ab8533217fd08c6d34e2fa8ed22b55d666c08d4882f300530230730628b2b9ed53c985212c879e1ef0a4e22580a9ff74e565f855024b487030e7ec38ece25d8a4fa0f024fa6100e0d7440302047c435bb50067306502301d04fb273837e3cc844a79fd991506b62626bd18139586ddedc08fe90de54d1e88d0eb8fe86ec295b99a8021a583aad5023100abaf5e6179f82131f9c4a6e04194fbb11781a0f66b2e0e47755efaa289a56f1d4d9df642b84af1559599b97dbed765ad0302047c435bb500673065023031ea020d119c444591453dba09eeba9042eb33774d0b8de7393b783614b076a934630aaf13fc63e85534cec2ebea04df023100f7150bb2cedb2887f02f65eea0a8360a8abab687db000619b368b953b1278362833dbf8da3a3038693fa11a5bebc201d0302047c435bb500673065023008fc6132c446cf738a4947f4abc36a9a2ef8c947d599fc0f48f06f762137608682d636b87f6c6f45ea9d69a97337f403023100e241d54a785b0b23217d78b0c22ddd9227de5e27d1499b5c388476be08df31f74db4ee0fe70c186bcda0c3069c434cbb0302047c435bb500673065023055c946070402ece0ef86c1d5bd17ee989ad1ebd3a28cf206286abba941c9e942a18e1d9f725506f3dc4bcb035b4a56f1023100ee1c9539a057bacb6480f314e7464084e8f3bcbd2a22b85746b7729cf4ef281367e46eb4c6ea77b5510e7e2c814d37d20302047c435bb500673065023100d5400dbaf20e516008a7c586bd304ab76105c9670e2cf9fe01b816651e555e02e23e37a6cf1128ffc444914790b3210c02305110c982c5bd3fa1cbcbb91b901756978cd83dbf7c7f60fc682b986475e5590b78880e3bc8f897a2cb2804161325745b0302047c435bb5006830660231008de7094b52a0e0a9c27c1722e4baf03a2ccf49b81103c85c9d234fed284b30cf8d757b749b65261de64854238ba68721023100b966ca25d447938784239c3c39f701972fe8efbc582cae2aec8be5d3dc5c41d802ec7661dce42b7cd676cabdacfd76110302047c435bb500663064023064d5d01dfb1ba1a298812749acbbb60af04da41cd3d80426b23678493d228165ce9b83738fd71fe2148071be1b0578ac02301a5f5a13b389f966856e1fec7ef45c74514f3236d136f57224cfd6b294019541e849bcc1cf8064f359738ecfd67633380302047c435bb500683066023100bede5d2a65f4a6378e75181b4868405f78815e3c178f6e76edfe8af25a89f83f020e8831874af03a5cf6a0cd1caaf797023100bab04b234519ff23d7013bd0e1f8d4bcda5ae690dd59c0e876ed8115271e11161c2ed3bd0338ca099f84f1c59529b2c10302047c435bb500683066023100cc7dff51d0a66556fb4d3cc00724d22472efd14913f2944c361173cb18cd4223a1231fdfa51e9cdfb0b3eb7a1efbb55f023100e3f69a9f6de36839d6652c9fa8931c58d7b6b74fe8396e742609c59531f0273a100f95ba47dc0bf96596b3d7245884b50302047c435bb5006730650231009fedaa7201e53e105b87754f541355b0af81eb931fda5892e7e8f251fd6005b5c1a5c542c800f1ef9586c7211ddef653023071151937c87e8dd6055548a26003a314bcc11b2b1c943ac04ba52d74d0662705ed6aa799856ded6c420befc62e5bd9ea0302047c435bb500663064023005d72134b30d66ac6b258a7a84640e44bbe093dfa62375b55d78177617bbf2864073f7bee7b9c2025b8403d174787eab0230453d79a3107d22f62e3fd09e59ae5b3ebf2b3e2f43ca3d291a68f1538b83f6626aa6bdb87a12e72e2e445e57d7145bfc0302047c435bb500673065023100ab6a75a8b33490f8720433fd6f18bb651b52b831797935f03fa36851739fbfc235956e7037499b56c6be4831cce5db5c023042eef36e58440211bd02d3d544285cd85161f5f73f7924e5b96b82efce97f6b936fc85540ba6938ff3bc18d97d6757f20302047c435bb50066306402306f5e1cdf66a403512c7a21436fb097a6efd91e15e39d2ad01bd01ab416d66632141d315c810fe72017097fea478a936e023061f06b7396758e10cd5cbb40031eb15f03d5276422a9c495ffc57b86cfbbb4871af4616085f89b30fce675e0397720dc0302047c435bb50067306502310083ec2a2a3f9a6cb9082b155228274114fc590e9eef153a385677a6db3a2b8d7cc6eb4509f5f98cbe0471d36fcb51b2600230480ab544f9963beb12fd63e77cf177b4194936dac9d7e613c3e0332dda02c5b362a2987f8d71a310df1a0bf78787c91e0302047c435bb500663064023059819f185dba2c4fc3e5bbabec46fa71b4314dceb2b0225675cdc96bee8755b9df7fc6c474b01fc371b040419fa14c1602304b31c06ccab3b08597c03d9d0ec5a52a84e443857265e016c555191bf2fb5ed99c27eaf0749e462cfcfb93d806596ee10302047c435bb5006730650230575fa624a12c1d26aa0716e806e7ace9b9a73dd3641c149cfeb608ee5a9e09ed9a644a46fdb4fe24e5a3fb1b25dd911a023100e507b468d1a1da06a3d4209c7317d42ebeac8443a9cdeafe539ac08675aa410fe02c2df4dbd2e78a00776af8d8d515030302047c435bb50067306502307636f6d90c99883e9f295e79a5a75f664d8b7e84e170ce77a5630dac780673251b1ece44e126cf8f644efed50c71a717023100c1d7a9144725d0826dbbab1beb7abf81e7674469b75c63d30eed72cfaa2d7abd6adf2c9f7b43c1497fb4f2e52d21a5c50302047c435bb50067306502303c5676bc1e0bd2a41cd61416daa1a919cc17d68cf724c1ac9e2f6113ea2ed8b56702377b03938ba4f6995b69e4dd7b2d023100d304c52ab0adc386e5e1e0d741829fea8b7ec98b64cdc4266aba18237fe774d3736a8497fd0a0f0b822c3db718960fa10302047c435bb500663064023061168cb1e1e11a907da1ddbc62010791ccdb11398e8ddfa5400f0956ddda33025a90a3a9f348107b1bc187b6998a193602304ed76dbec11dd2366f39a3e2dad1598835bbd8bb571aaec1c793dbdc9b4488e98f92b29065c9cd912afa4e31501ec5030302047c435bb50066306402305ba30858465ece3c175c280b9d1adf6abed1e8e57165ca9b076e776f707fbe05b04791c86717d05da116010ac587c937023033c529a07a86c8829eeefb1c6cda1c3e2f40a93ca45419adf5aa59b86614819f97aca63f6c93dc926aa26a2683267e690302047c435bb50067306502303d6b9360eea10832120df6fd79e82c3e699c9a98e77fa8c2b54d05f2f7dbe75991853384dc1aeb16042c3d2658af1125023100ac3446e67971edf293bad4da0e7dc07ea42817c15b7fbcb088473f25c9fbee4b48b3d2e14a29048951c1170a367a7ef70302047c435bb5006730650230749f07f80e592a035acaa33a6e1b3bec827a9cb2aef032a9dc88b945f9b0ec32d3858f8483a8abe84fde0a3b7a9b4e43023100a632343ce01df3c1d2691565f9e521e1d9ad7f3b6c902018133ba09e6df7a727fccd07bd0f922e17294db361982637f70302047c435bb50067306502306170fe4cc30b1fa982a699a9eecafb572402bfeb67ac7ab12f42e690aaef769966726a853c349ef69a87d5f6b024256402310081ac9782cb642ea27cc966615a92dfe44ea385a66bca8cdd7cb38a607911645b014dad065e3dfebcb123feee323577a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c0e29264953a2e2f2dd02981d229125b987568bd4cac303dd490638318a6449f237e5d0a3e1c5552f04d6e2095b7feb2023100af5f230d5f6139b2f75c425f994c557aae0de0170ce1b528a8ac8a3a23973f0960aff94c0fc6acbf8673cc6259a1df770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a7ac987acb838708e0c1434267213711ab408da87f25c07a1827a4d508123b224532b5c877ba7269708b76397b980a450230226e8058aa23dfb024552b3c28163bf3a6bab7520fc8aca3d469b1716fbb66b8fec18df5b59de23db203fd5748f33d830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230129ca247990d5cb5799eee5cc7f3894d89aa71b162d7afbdb46b30d306fe233acb0e04f3acdaeb64d56277dca84609cd023100f440380fc2cba60bcb55f9fc1063edc5ee7b534c1fa2d107cf8adaa410e678ba48fc4bc8842cd857c6b668ad2c3385c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b64e14c673c9497ab3b0d64a645dba0697da419c19084fb8d0d1d484ea130491f72f4a9dc22e1749be05777ecf189052023100b0979902295df9feb7fbbf3f0dd87adebff2bc816ff1f4d64f07a5d4106b4bc4ace8b9acd00ca4eec50805287b6dfa530302047c435bb500673065023039a8010231dc75df7a0738715268a92748242d1aeecb5ba776cc5f31327741b2fe2593f26951575dfd40156191cce552023100d3d16af47d331feb3f6fab5ecdf5a5837707c1bcccb39faf8cf91cfa2568d14e2322b045fc0868675b45c4a06aeb51360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f479b8c5968b5074d6788b172287f35083d32c0eed509a9a811fa4b2de65703a2ef3eb2015c65075e4993c17cf5c679002310098d626aecc9e2b389645d5d1f96c599320444dec0b279f63f6e4c52c7f5272ff3dd1c8be30499b3fa54376619778dec40302047c435bb50067306502304e4cbbb76438088b81960230fe01e7ae1043f8596419349ec2b48b30a7681cf3b802171846e63df5cba986cabcd94097023100849ad89e3355be7bb13cc549bb8ee5b9f4ac018f93e6c901871074acaf29c02325a2c1e14089d9279e6244dfea75ba430302047c435bb50067306502306f6bfe992a95dfcf8c7ac80b571e0dcbcdf1a00d9ed021367251d864528db3e666244e41bf56af17af4f79ed7523d461023100b0ac62a4079c3222a06f13297605813760246ed3e93226c127293d51096d0b2bea39821d638ba23d1dc5da36700be9ed0302047c435bb500663064023010b53341881c14c7bc212319d38731deca3e50b8a87cbfbc3b0b783ef8580cd3bfef640a29513cb78db57607efa93b1f023060a3662f05cbfd5481504de2612994c7bca94368447bc8977a9486d8529dd51b8b8dd5c1b16ce77344d4b71cded03e510302047c435bb50066306402305916a0bf3b4b1b18eaf01bf0624b2cdfb2a814214de24c9120d7d2ead7be3352229337b96e798b9f7d782cc184194ec402307a0ac6c4c670e58f9a5bc221a660fc6240e2bd485309279245bd0e5eb9da7307157ef3283c45d69c37761745669642200302047c435bb5006730650230786854b9e619825e1ac8c77908ec06ea48a987ff830f38edc6860ba5576b8e6b1eeaa3fc9bc0a728ab91b3c75e02f415023100e435532ae38d1f13b6fb033d4c75093d859f179963eb91795f6fecd26510b4fa120791e0f93da5c052ad39c8d0b5baee0302047c435bb500673065023100934c4c098d5a557171ff8b9eb994cdf1691e68cf24b6669dadb77d9d0b4c6eec4fb6bdece7ceb1435eb337eab0e499c6023059a02300fa557b7c9a716a3e34572d1e5bc11befcf2e72da453ce530fff825a26984adf678b4e84d7448ad757bcd37980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d011deb5318bdf7420b95c62bfa42d5893e588d82b52881ca248cc67e7e01f5ec591712fe11729e159528eb7f62e23b3023100f700f2692f37de295783a2403e834812c4fd3ca1ace8ba0ea1d9b452f492269e02e99e708bf9f16deef65a0df16e379b0302047c435bb500673065023013dce362bccbc050549edaa7e030123bba70bbcff513f3b49dcc9c438c57f630ff4441b15d1cc36ffaff0b6529f858a302310082111868cc2f30a8545c0343e641b88d1a478cf1413e5934486814dd8df4dd63c54f321122a472611a3cdb6d32dce0680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230021d9990c1c099628576beb1cf3687209585376bc6c2a337e269a9b55868a4a9cdf661016e1438d55497d1f9e83b15a8023100adbd2863ad28ab8ffd545faf94bd39e2a53979bd2eaebd08c3763dfe46c62ed8afdb746ca0f395e499d81def0a7717300302047c435bb50066306402303384120fa4e577b5198e7644992ed166c6f3dcadf63eeb531fd1be771269a9bbd5f7b99a9b57edc9f282f643817a402d02302677dda51c4db32cc8e4cf8f738e938a90976ce61ed657473f67f38767271eba22fb9f3d1f082bae10436c99714477080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008c6395febf2248a8bc57ab2206012509c59fb8b1ed652712dd7f46585a5aa85289e3cd81772196a022b10d2472842197023100dbbdfcc7674614eaba845f2025177362c151a1b595aa716decbe934bafefe15cbca5580566c6fada8ca4167f5cf1d4b90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e87b107c722ad2662e62ca5f5fd4123c2c8d3537a3761d43c2210059d23312c2add57ab7b9e1b53d053af12e7ef5b27502304de91df67fc2d2daaa835866efb63745b81fd2c8c0b6678e5ed0deecdaafaa96d1c89e0f871b1f4c15d936d33562295d0302047c435bb500683066023100946f0a6998119b8a14e09c286d26f2dbb7e6d069e372f6b74e45f051f54ed64e15305b8fef16c26eb62f23258f717a8e023100822e85f25266d762b68e7b5e459d192c21389a5f977396a5d1c55c47b3540270f65afb19cee2f3c21fe5a289da3b89560302047c435bb50067306502310098197b6feb2c1d7d79b4babb339b4ec59deb9dfbe74f3ed8afa36b7315d14ad68822bd28ca86fcd8bbca259a3fb65ac30230420f17c33f1c938bb011b75d8f85f7c3470e6fbeb2301daa8424007b8af84e54ef532d827ac0fee29b0b0cfddc07a5900302047c435bb50067306502310098494591d194e8c6f37dca6d793eb5b82b1dd91beb6ec923f1631eec42f0255c442ab47912d46f0f1fcfd6f79a37f06e02302d597bbec64d3a203361114244503ec0880cb376c45e6b666b5c816ecb7410ffd4f63ef9ed65c1148d6c9c48283e73cb0302047c435bb500663064023043bca414e4310008cb0bb13a73ee981642ee46ea98fc2a98fceb53781669dd7dd9ebf2828949c75f52b76f3bee42138402304b60e597e374adbc96ea251a9069d25370a440168dd9d27272a2a71f1567114c0dccdd5d5a5406c27439ff6d9c4554110302047c435bb500683066023100e5a62dda013e418cc1fb36383543fe40d10b20df400b1efb5990d4efd207f6b720d7cf431ed6fd14c430c6fcdecd4477023100cfd4fc39650ac7189cbb563abd30cdfe21245e38d5eb187ed47eefdf9ebe63b923f06bc95956d1286977e265f246c0620302047c435bb50066306402302dcd622449c6061c1fdb4054fe1097beaee22a54d98d45898f17de291d8216c90fd937fef6e72f55ad241949a8eda9450230242e648cf2b4f2612929fdfe59f891cc1eb8827a50584b9c45fe28a80fc2a95a75b2d01a25c73d5602f2bd39e963f5d70302047c435bb500673065023100f77fb28e49ab47d247ef6fd45329ca3f4dd89d1a83e0337a4f469089ba8374576c505755c61da92cc60a6c988a14a4c80230353b60041b2c32bf0788784d4c7631d433c339109453619c633d2777c863211af719e1d607152139c6d17d725eec37840302047c435bb5006630640230282a2bc2c40588668a7a33cd21e741bc1f52412594884c5d5e131aab1ad4af55066f7be6d225a3305751506b168141ae02305e32cea2aa99457e34ce0a39de2582f82d5b92572b375da6634068743e79335ed1a111136a47d5dc24f386e1b9ab173c0302047c435bb500663064023043a97df6259ecdd9b0a3a7e6f4786d9913e6034b7731cd55e2c1c305948a9c6da06b47e3fadae71e29ea4dd48f30dda7023066b5f8fdca23cc4db83c42540ddc012c49892ab891c6e4dfb0f5dba6b928eae0c63309a1d5add5027caf0dfc56d69ac70302047c435bb500673065023100808d16ff540e111b9376f95d874de84fef90ed4b1d78b386d52f6fb2091e9d609776e1eb1f5d5319236c0bbd8db95caa02305d523818df414f99304dc4f70d27464512ce9a1b80eddeb12bd067c8870a9b1f8ee093ce4a284559cf8ee56876cad6a30302047c435bb500683066023100810e1198f56181d1238b7ea2a545e5750954e40c3a04761e06a49174fb01365e1dded8d152ba5b17ef29ba1c57f81a6d023100c2186481bbcd8ef51611d46785a8a09b71ed6ef69dec70e8b67a06d94e24b34e5e1b18007caf389b8022b2636d43ba6a0302047c435bb500673065023038ed61458d60222ffbd24b12826f1fb802f6de8b1c455cdb56dcaac11e860db5676df3c3fb76d97bfbd6a9b4759289ec023100eb3148b5c67326281e046a69fed3d72128796be652c4fbad02104b48023f1a9d3bdf9021c665b3ac5308b46a088ccb8e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230096194c3caaaa269869fb24669a4faedcd3316ae007193a074b2d4c3aad48725c9e4578c3d3a6391f36105f59305cd6d023100fea51dc8c511cd25973332ddd1b2fd72a8dc6080ba561eaae0fc9712350bcdf5fb292665d68211fb003115859a9a0b370302047c435bb5006730650230306e11d8585bb054e8657cac736c4a96c7707b5c264b929d0200f52847cc4796b231ef5dd34e0d7dd974ff3c4fc896f8023100c85293eb23a6f710914205d64dfb41b90fce7bd6bbab7772863fcdeeb04b429376e9927e7c911052da1150229de02a420302047c435bb5006730650231008625ded1899b52df9350dba6970dd74a28f88e56eefb224cb5f2913e85f31f492edf3157c4bc07e9a34bf28b5119581702306b1bd2a8067d15f96c6c846cf2a4b0539297ab3b9aa67e19d71bfeaf1f9254ca6ed9092b33acbe0ec1154471dd4593260302047c435bb500683066023100c081c15d295b9e828f4349bbf50c8c7ebeaf4bec0ba4a47932bef2e4640db48ac3699833e2976696af669297295edfd20231009f992897d5e73a309dbc103d7cec66f262f65faefe46e41606b7a3de609ba51c606605a8dd133fbfcb4abaf35e608e1b0302047c435bb50066306402301bdbbb03ff595ebaefc4587a1ec71585690b12e6c541c47830d751752b861946feb098d42f07ce934d86120fca58c1150230659d898181a768da52abebe5b7c437797c6c9d5d7b8bd2e62e2bfd42ac86597dc278bdb72bba78aae2d3505569912d980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d3c531c944f48720956233544b94cbfd7db8ec43867a9d4647baf07fad690cc714986e9c1735f434b96b4e1d2b383518023058991ef22e7d4508dc9f6d1c245bde01db0d970e3e714c02df3c5af78c6d51f82350265c377a8b7fb7bb276bf41a94400302047c435bb5006730650230610a9cb1acce63ac81f1df7a934945279e102ffbdb5ed54be3c2b69e20a13f8f207a29ca4dde04a5d8f2f1650e131bff023100ecebdd6971fc4b11ac5c5b6607edce65ec992f41e5bba5d41eda994b667864e6b3ecba470b6c2377101e944e316812e30302047c435bb500673065023035e7922fe5c035965ddac84cbf5433ef0ed5ee5e1561083fcc5e70f238be903a13af97c29246b0e24e9e5fb0d3edde93023100dd61f059c190ee01e382994b593b73db96f2e77f75dd3fe4e88170820103ba2562475559d493885fa04ae037b93f6ead0302047c435bb500673065023100cd0c6c41dd99132a9ae6f97074d890aaf78e4a6f447477ecd7301f6a40b8a8bd05aa91abf9906737c0e4341498ec34f302300b1eaf6e2a682075e62e4d7c92729bde08267f3ee14e4bb9110c49aca563258787233c8fc60777fd0fbbadc8471cb5110302047c435bb500683066023100ffecbc0a78434768a8c26b360798aff371bb5bb4d07f831aa797d9f8137d476dc1a7989956597f8508bb8b50cd025405023100fb6ff30e15ff6add181e1d313a3f7a675bc136cfad4e0898755f3b87a64c520edf81e62065425cd347886aa0b4bc705a0302047c435bb500663064023006fa7598a2e45e00b194fc0ff28d01a4a820ac2b5eb2df0d0c1122070e7f721e417fad4ccb596870801fc1da8140f72a023045982a8ee64ddd0c626837955907419a368a9c90ac3dc0f2614a6753c156a75aa7a707492e191a125d37a98281df36230302047c435bb50067306502306731cb1e93c6bf2453a6b8f737afd3e1f67f9253a08d17f8de85aab814b63dc794b0477f649f0cff365dda0a44683538023100a34d797b89637540bf3ae226d7ccee882c93f93134fac3b6edf2ce7e2c6fd802ef5ba1c4ace93584fb9378433a7996a10302047c435bb500663064023000973484cbf3f9062004b075c2eb0f0da60d719e139248ba799a6b979ab152bcad5d61e089cb1f6989dce031ef875990023049f709b3f0123d92df051022d9e7577ff5946602c525aaae7ac5742f46057f2d47f2e71bcaabcf3458bcf602c665943e0302047c435bb5006730650231008b0edca71f582c12978c70af93d5ff0ffed056fd57b78c8ad3dad76a79e36747e5a754bd8240620c0976a4d125022e1802302a0e6d6c25be48df65ecbfde992ac9c24036f62d79020305ae3dad32b04c7d376e2aeab1b45605fdda2cf4dae30eb6740302047c435bb5006630640230280659890e655e962887a05a3a6d05fafd743668b163eba30b1b0abc8d4c6044d5429f932b3e9fcb85ac1348bdd23b2b0230330d4ef6c1d00240f2da38b4b8f5e36e8002128efe4ad94d5609428c8d84de5177d4380400d96216b1f776d39bc944bc0302047c435bb500673065023050ca9adb7a342e902de80df80dbdcd9f44fbf8ce1548627614b206ede8788b9bb8d2f46243d38f52caffb5a32dbbdd9a023100b0c1eaae8ef373f43f504bfc826ec3cae1f4f4a9d4d1e3c319c1c8fba3c28c5c1a2afbc511efd759699f8207872157660302047c435bb50066306402307c6069ee5b560e75ce6b029b2348259801dac99607c4b00f2f6116906970c8948d703b8c4dd3dff9c10c1355a40e858e02300be98e5f34f5450805c288844bdf9d78616c46cefa47096f6c32a20b13ab67511ab3f31877f6dd6f565a951e504af6890302047c435bb500673065023100c8db6f034bab32207eea344fd3c3567fdaf787b28a54a24905b6e481bf6facda594ad16dafc99030d172394fe61bc3dd02305b9fadea8bfc4449e33f56f854e7316c8334fda00011b9f196343ce7d133b17b199e9f07257037c6d370e1a71dd833ad0302047c435bb500683066023100a8b5519fa89f868ef5d8f5b2638365c473bf49ccb61935310fb5137de52763dd0c9c471e8e56aa77d17149ba1db1ab290231009f0cdc49f325a1b0573ce0726a6236bc9ac0215315c86b004a79fe5d4125105a7175beb867b1d52813f607db12f7e67f0302047c435bb5006730650230709aa794e72ca5585ef0332ff56409b329f48fb8c4c1444cfc000f76ec51b07c7a1c943310aff5831fcd399d113a644f023100aaec38078c625ed1812394937571e15120a31d505beeb1d2b3c610f71c378fe14ef471996f5a73e9ccee3c780ee8df620302047c435bb50066306402305fe67e23bbc2ecd61bbb2ef00ffb5ccf9459fc50edd0f54dba30ec14c8ddea0306f22796652367c437f90046827e254402304bf2b1d8f241a7d103b22f73b2b4a8dab4eafa666aad1a77ba7a0fc88f83ed3e2a7e44517c1e3ac8d55cfccbf220aa7f0302047c435bb500673065023100833fcd6da848658b5f891fbfbbd8cfd2c106996afb436401e44478dcb28951662717835ef314f67b0a7be706e0afd20f02302eb6486f1daf12e31e9b02e6d479a071eca99f42f381bce87ab4d1d9a8d79ce1b89879d7c4a08fc6ae14072f25b85a940302047c435bb500673065023072753c3b2e14a71e8be93fe4f545bc71d76fff17be4fd91e1084b47cdcfdbacc2d00e7fd3037cc36b008f75894ee3bbe023100cffba320a0cf0d68b3d1a769ff82112c533446f6385d23c976b540d231b5bc074bf926aad70d7e8d8b6864e1e3fa781a0302047c435bb5006730650230090340284298d7ee48dae6a14be9e5e65af8274c32484e2c63adaecc351c61d57bed137402c625e03dbab98f4c35330b023100c696751eb5f4a1e053ef3c4af75238c96782bb09ce220b4e1c4ff435643536b818deb7c87017ea29461b60ea3317bae00302047c435bb5006830660231008f6bab953670f73837839d67d83f0640637688fdffe8662bfdadf44806bae2987b6740173a780ac5cda834fd66654aa2023100859c85b0ef96fb2bb14a855e7f132993002358e8aa5cd743fa3e94e166a35fd20775d2a534a37d8d9b51ee8f08fb5dd90302047c435bb500683066023100d24bc5e0839caf7bb6872941aec4a71479cd9b9a60ce06f3a22c4fcbe7c0f5eb85ff7fedaec0e960226696f05c46365a023100aee1367e9a5fecb12d5ccdec6d012f65640a4bfa736d536ea31bf82af2c6049b4d410370c90c154d04e4e4706222701b0302047c435bb5006730650230091bc1ee7b895ae8f6ecf4de40761114ef8da44f56cb97a07eab6fbb19d85252db3003ab41f2cba84b7110650b1e066e023100805e62610e5217a9441d2806764ebb093a6c3a4e1dc127a7bdef1978ba4b1c0b1defef49d777546169416fab522df4420302047c435bb50066306402304b836af8cac622e180ab968542cce10288525de1f8b4e1311ecb182d23f3e3c7b82b9f5db352954bb42e84b378e5afa202304568cced4c874b4c0c2fef45985f9da4990292cf084ddfe4cbfb5c49b1d678dcad57b0b845db5a0aaf3a25f50dd301d20302047c435bb500663064023019210f0430fd68d4ba8d5d92b408133621943c4a4d7dc5b8cec9629fa0c5d7bfbd5b87c2837c0ec285185a81a4e56a3c02300eb7fd83994cf0d67cea7bc11a4d30fdf5438052761e0e6f0b2d14036eca7691c98b8a695102f25ffe59ded8c7cc8fa80302047c435bb500673065023029f127eb6a2920c2bc52cd2e8308b67a91b9871af1dd418a2263d681823c0f8c74e74a83ebda504ed8bfe2033f228d3e023100c8a7517f356d64892ca6d855cd3bde1539da4067908ec08c1fea26eda30f4b37e11b63aa55838d38151a3d99abc4f7df0302047c435bb500673065023028a8f6153c765f0b7bb60140c9538e59db264e447dcc8e6267fcc82f7fbf4de5c82e86130b74a04c99449f18da2832dc023100aa4b42923cf5f070173bc9d8cc1c115ac44a588f76f8002916f4574a1e0c0a039ad742e929e05d290574391d8cf5fde50302047c435bb50066306402304a7fe05c302420c4abaf7e3581c370c98dc4d0510bca3d029d5711808db1179f0e7584d1c6ce08645598f9d9060cd8ea023002f6de0c426c31e0af9c5dc1bb28c5b281976069a2fa97cfac33174e3fc93dede956dd1c1d8b4bd9e364ced70a69cc330302047c435bb5006630640230531187d3912ae26c4b6033ceff83819546b2482ed2e9eda58f52bc5c831024afbfaa040b511b7a977467d2ab86a96d5202304161d46fa1068035c4862bce8dd1b28c3a6f686ffae98e00dc94300961c860592ab8e9af13efac0cbc71a4822e801e760302047c435bb50066306402305714e50fee516af0dafa9d8400e9b9ed08523ec9f12dc0e5052e3676afc510589f382ceec232db434499fd4a9a145895023010745deb7216c9837f5463693fd003e50ae1a5fdfb62a9d765d82835a02c005ff8654fd5893976e856f7ebfdb1a0628b0302047c435bb500663064023040b56b93bd6aabdc5f610dbaa6e35f86670421b50cd9fd04c4bef13a0bb06c4f36b2a3c5add69a84aa67b2fa65517da50230360eeda11fd8b7007c6ddc6c98aea5422254327667fd71f9318c6a2d0c5512c5f515eeb6a4e1b246a38ea1d732a542400302047c435bb5006730650230016c0cbf5d71f99a482ff87f593f0751a017cf0045427c3411a73cb668058b651769feba118e0becbdbf5ff9c26a984a023100d1f6e18766d8ed6c46e40459910d0c6ce0ae18a57b65411305e36befdff50ed559a104397706d8ba5e94bd3ccbd0df330302047c435bb500673065023100b8020fe630314aaf67845dad4bdce369b3d363404df79cea20ca848e319e5bbc96c7a948bdf47ebe81ad018593025fc10230628e67658bdd7e19dd20c000663008fce4b94deb8fb9da0c58a06ea8a35479e4bae75692c6d02f0ef5820f2e04c4b7b10302047c435bb500673065023020da89aa75e300367a2cb8a85195b4bb532a01abcb1bf0a1fedb669d3fb913a3eead6ede60943f37d85a100da9b8abd3023100a393d18b0a0051f8ea05258d875c565f16b208b418d7405f22a1ac0599489ea0fa6443e0f7cca5bacb401fc3aadcd26e0302047c435bb50067306502304e22a664b9cfbaa8dc646d376f722137ff33da47dca2e7b8ddb3c351a2a7a35966a1620289f4897ef4eb5811774c5cb302310087224532429d4e056d6558b97fb519b31a53eb077eb52805d06f0dbfb77d23940700207b997f6f5c54e1518b393905570302047c435bb500683066023100bbc1f25dc363a796e5a04394140b78af8b3978e985fe25bbb25ba0cff09aff999413e70c6424d3b947b5ad316e2bdcf8023100fae4f2f4a6ab977bb6613ffb101fb7c5111cfdc73ae04c590c13c02763a589ba48d3114b71a271cb8212bae6531736d50302047c435bb500673065023100e241db2072d704460f290526a5a60ee01e82394ef3cee63d230c74245c64895b59131506085a608d9fb35aeec38624c1023040321abc9ee347e332cc853486334425c69e77d68ced383a40de1fe7fac4ba3b4670ee8e332c7ca249e65924ce7c43200302047c435bb50066306402305113ab3f66ebc2dd7fc92f962fe4bed4f0f3e9b2c10cb10ad1549b4b2c5446cda7eada9489c6a4a108f35153644524cd02306697ec1bd9245101419d82b668528472333880024400f1c849de84b302f04dc04504a10a7e3653356769ed268f5c6ff50302047c435bb500683066023100e9c2f1978dc6e092675115277248e90b511f1683da54b2ea869e9d95411e5fbb8bc8163566ba896b5e68a93f766b40ae023100f53527071e9a1c12a8e44dedd30e19501f224238197a84d126f99b2abf17df2750a5a56b27ba745bed218dfbf0ce7a340302047c435bb500683066023100c71acd79974c433465042a1de06fe45a0cf9c33b4b9b692373fef192ac83972712e601c32039b7b522f159d3d51cb5dc023100a502858ef77964f9ca260601b8bdfe9bf99eb5eacad0c28e031eb89d54b47e7803d1f09cae3b6c92cc067578c2d008640302047c435bb500683066023100c6dbb3fb8633394a86410e83cf79527889582bcbc8146cd365fe50875ec7e11252b55d4693b085a8fc83d3d58d51fa87023100f48b7fa4fd64208143f260421455f09550afa4a847d3688dbe5c2d7fa7770ebf6541b576f5c7b3bd02e5197d7ea670cd0302047c435bb500673065023100d584786bae01f76e6ae981f1b8f745a39ea6b0dfc20c65a02c518f315bd34f73761d3737c50b8f09a1d3d3c6b5843507023018aba7ef650515d4cf9fe130cc94f1acc0c9c2796aeccb545fa34f8d51431bb2fa6a5fe8735a0abdc90239475f2c10b20302047c435bb50067306502301821b7205833c67c718120ceb6df7e80884d934a3e17a0af2229ac456141add5a426c22889be0c45907f62f4357ce591023100f503dc2ad53a2264b058e1e2c52b8c185bd7a569a1d3699b830c79da9aa4c5419f8ac64c43136f8c8093d276bfe9001d0302047c435bb5006730650230399fcbf6d422d85f5d81b3ed970d73f72801417bd9fb2a2e0eefa9911eff351bf875ceb2e6638ee049ff21e5ec76e164023100ffdcaa933f0c51c5739e578464712ce411caa67632b71af7ba87551881c0707ac145a86a17cf966e458ae574141989560302047c435bb500673065023100e0cdbef0200e57c35811f7320519558320dbfdf2019353ff492eb7cddc089c2a3e395fe210ac30e346a7693552ea44a7023003b591315e65a3b6056ce8d47d72c32329eea673a79f12cbf6b4465279791ddcb83f274cc909f1ea4094133aa9c621370302047c435bb500673065023000f0d1a6b80f8470835e76a16d20297e6e8f19c59c9b3f9e8737101fcdd4925c6e754e68c5d7a6ec53e2e60ac2730007023100a105dff27260ecf2b7a9f15418d6e282ca14c43fa963dd05beaaff2deb275a10fad275209d01d4af850d468e97eda7990302047c435bb500663064023071d5bb2434622ca8f10a394c2e58c3e9fe1d804b679eab70be494e2dce325f59f8a5da0de534bbf11d47ae8977c05ad702307a87b6f987b2afc89a7d4cb2b9f77b8fe23eee87b78e7fba9293d28b7bb286edde51c9fd11d1a9129c277874d99e30c80302047c435bb50067306502306fb883249ba3bdc829a85d4ceb9613a543ab50c5bb3c11898a283ac12c250c797205cd9905999955a6a511a623e4642d023100ba3c09759438d0c5f15fa36a0b1293c54cce53b813b37099f3e5792eeb5f6db85f9cf836c5c0195a7f77fd188f499d6b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230347f12889eba32691248dea5cca1339f24dbbfee21c44aace5fdc54a7535807af83230bb8882dca2ff735cad6b10b3cf023039a9e0620f8151960aee4b2c439e6e280fa87bca8f0930ca81a221d72e4498a444312d3c47329d2d36328d3786eb525f0302047c435bb50066306402301295346aed8d0757b3f2e090ccf8a6416bece1b0bb64b9eb60405995e564a692331c3611c6a4503ebbed3f74bf27a30a023031123c3ea34158388d0aa6ae991b947dd14cb5e04e1172c723cddbf572c1a1d151d1ed19271fadc868b094dc168a265e0302047c435bb500683066023100a8d419b24f757eca628153cda125393dd39197fa3372381654c96f16bb76a9be8922f1d11c3e71efcdf52d381f88cacc023100c77f5cecdf567c4970c78babf1de139efac6042dd69dcd67f31064aae29b0ddd7b15a32290b1c84fb73522efa73e8f440302047c435bb500683066023100e073e658d5c6f9b58d229ae2c8f5e9b35173179012facf396d8c1c1270405e5011ab60b0af6efdddc4d68b8010308db302310097c45b942a2f02ddb4c810146ce7490a6dd6778c2ebf4c5f9e31f5aa6d0d67fca272ad542752e2fe859355fbd5a813e10302047c435bb500673065023100acbb7355f7c16ccf53b0ba979f5932e1f554fa4f6f54b2883b6cedbb5c3c5d54ae75c74a715a2be54351a72870f747f6023002ce205e0788c512e01ca68f64dd149425d76ae4b2a3ee083d8c3054b2e27ae29e68b75d43e8d8897d288a6656e60f5f0302047c435bb500683066023100dab5329c7113ce890832b72622a755f7331fe5f0876ee67b9579362b0afba5b973bc37682878e3fd91c98663431a0f37023100d7cccf2ee23d788d2f06c435086167ca1b23c6d08f29c6de0bc6399ff832b1c348e9b0b3125de2f837a98bcef0e49df20302047c435bb500663064023004605cc786a657b686f8abdd2bde44a4fdbf0132e602710d39c4a5e465346cfb27cddd636e1198ea0acdb908beb086fd02306a49c9765b045126dd82aa52d56fa4b5dcf282af20b2e22ef8b60b541a7760954dcf890feb4fe4f26b7caa2147f68bc10302047c435bb50066306402307c831c50c7bace79e0074ed366f040ba17cae31d0835d84b6478cbedd84eeb0033c65ba5533e1dd3c72c9061498907ad023002e3964feae30c195ff55c01d0f3c1a1f58b11c7d850dc56ff86926c4de2b654598dcc0e453982677dad591f5a654d400302047c435bb500663064023070492d411dd443ef876d6d976f29090d864a0e0506d6e28f3f7ed271f3f6f5c431c734bb2241d8f89a064e5ed154c3f2023013dc0a8e354f77f0a0d52b6ccfea639c62961f7bebc2248c401648732d8328c26ff78ce4027bada1ae60fb9e79accb5a0302047c435bb500683066023100d172792ba8bd887529ec9da903cea481d561ffff79869e87aa1097dc991eca149fbcc7e22ea0c598eedb38ed629255620231008b94b5c630eeee4ae847db4b0b4c888812ea6026540494669efecaf40bd37212a7d9a77814c5c44349ffcc526ec2de200302047c435bb500673065023100f1320802bef3951342ba390cf048f1e9469609b42a4cdd44e746d8f41c829b6d1db741f6ba0569b49e91c03dcb8e464002304241c41e788820b1c778052f02f88839211dee0282b7639ec57fc5ce4774336416203889582df3bc977b834ea1dfba830302047c435bb5006730650231009ffea942449a8cc695543d9610a77f537642ca65837bbfd4498c5b72e347707a5c2a7b00920c5a01996f9949582cdd940230538dfcf7b61a2b67fb18c4f0a8bd4f850a8c87165533aa7526cbbc21edb8d1bd258a01a616b0f94c7fffc9fa1c662f250302047c435bb500673065023100d7146d21bcb0fc286b0aa94efe629a96d54fac8d6631057d3640a53a4d5a36eec4802f6488347d2eb0c797d1d94d760e0230534ee061e0debec8a16cdd3faaec8689631cc4132fce5b5c32b3267af154b4ea186ef87494158135a3fff3d90b1d62c20302047c435bb50067306502310084bcf880c53d52db3dee8046dc1b3435a12575f82f3f427b42f3d0536a96d5346c15e7c515a54eb046aadba502d84c93023038422ad4586c4be6c4d50178298beafe3d8706bfc5c1e1311f7bd4cdd3079c75d537268c3e3d476d5d4f4c24e64e7dda0302047c435bb50066306402303a2bd58183c524dd96e7cd1a6e13d0d616044719b99d14f1c3673d2582d0b2e1b727d026ab88212a633ec9e56905f1d202307cf2c7000120919b0bfe4a34ec9cd213976f656326e90be3a22815746dd6e824ea9ea7275964aae2684a26b6bd8422380302047c435bb500683066023100919fa5d406f9dcd7c021300bd599dddf847b97f7053f655217045a420c18a0238bcbfd49bc21873f2346cb7bb613b89d023100e01ec0a7344970084817ad1e596fa9ecea29685497e96b8025c604f8651eb8d9886c64aa2724090e77c9f4ad5d7d46030302047c435bb500683066023100b050f5c2ea8660b6478f0fc57cc3424da04730fd7f0918379a847ae646cae77448422d7ddfed132084966b7ed9da781e023100881b418d2a1d39ad8127991ed4c20157ecad5c770b4b436ee5b99a12c9994c997777feb027613a36b3a7622454c0359f0302047c435bb5006730650231008821de0f385972909e809fa7497b4d7a3ec94f03655702919fd90fb1e4662eb2413e38f99de570fe60a18f3cdba36c6202302a72ac37ddad32d031760b435ce9cb1ba6c931f4c2b61a80a4cbcfcbd863a79f2ea7b3131a25036f24051b092af855220302047c435bb500683066023100886189bf6ba463874937f6e9828d5bbfac61086b1139f6f2c563cc5450eece5b0cdf059b6e687785a82e23c3a4bf6772023100978d86c95e32c73da76b1dcf4569d830df5cb866d2b7f7c60b6cc880dd128dada1cc6e21607ceb845fbdc2ffce61518e0302047c435bb500673065023100bc29cdcb82f0819c6f1bf41c036ddb6acb44af243981b9138ac52c4f0af7af6aaaf1db3afd2ba03850da43c62cc308a3023038f39f87cccff8163cbbe0d91f81cab3f03eadc0b50e5c5b5e5222a872f493200c21e95fa91c6e146bc81049b4b4b9c10302047c435bb500663064023012387d9cb1dd1f6cc39d86eca8f497d60b1b27c3dec530c6a14bd63a1444e5d8eb08471ae58b8c577c426d7bb130f71d02307a77d99627c1963312b888b438095cc6c795e72e189dcaede2616cd845036e56129f90fffb343625db54e3bfb13854630302047c435bb5006630640230742a0d4b09d2fcc015e3b045af889cf7078e17f7b118f7dd0b50ba66a5c81161a1a4662365f6dfc8d25fa0e2f4c86ac70230798cb72320e817ad7c207dce596adf8e0ef98193cf24ea513f20089037b3c8a9a35cbb2a61dea555e76b9f2b7694fe510302047c435bb50066306402303e206c2fa24874fdf306f6fcde0f066eb09a022e20728f6e17dd7c4c4122327dea824020be0fcd8fd1fe16ae755e77d002305a0e7332db94b4b70b04f47a69a92f816d0c5f420df812cd5ea160685e5766943da8b976585c0e1eed6add3f5e09324b0302047c435bb500683066023100fb9d91697d12599281b6ceaf6c02f58949b6b1a62bc2a15838f1c4480c5307a0cb1a34c1c326a1c952578c03e139621b023100b5c11c159c3881052c622069c4cdc016f00b02cd93bb95908284bafc4809572b978f884488b6bc6e92d19eec149a79120302047c435bb500683066023100a174f8e3e2f692652abc91b366626edb5ede37ffc768932708cff76fd1771e1efe7ecbeae3a097bf470ae503ab2954b5023100a9dd4ec8307d8eb9fe1c05ba9c1dc8d0e995bdab90416bd619a9e4a4b7f4bee007bf435fa5f77b257cd579122bbba2200302047c435bb500673065023100d6c925303780c462c4792706ba21020b6200a2493d9990e1634410f03d987c57d63147d9463bcda0e018ae2ed4e3502102307c4cf0eabdb35d158b2c1489b98150f56d7a5aad308552146349be2ca4b0276c6ac48d79343ee0eb1e6079122977c87e0302047c435bb500663064023047ee64c103eedb7fe6a42d9d1072ed947fc480ddb321d6c1272967851464639715bcdc655a9ad0238e74857b3b4f5f23023069535d3ff67b437f8c86ffb764cc4598b3ea2cdcbd01d320e85344936459f942a7a4720c9f2e6127874d3e6c089a07a30302047c435bb5006730650230156e6fef2f754dc72bf85bfac82e96f377d5ea69dc788809d62e8183fc09e6e0ddad640538ee105606031e7124e57fcb023100dae3be9062d6c708f9f29027b5b2fcee0de332ae6adf549dc7cb847251f14accf3ee6334872bb2c29966dc9cce68987b0302047c435bb50067306502310088ce976921e379535a33699eaea867c637477f6085a3b32dc7a80d745657ef7fe730052cf1ead23ae27eeec893bb5a3c02307ac23f334447935edc3445daa8675a5d125cbb4017fffc2d1447db56c9d83c1ffebf9bb80681782eeb38a7e4866373100302047c435bb5006830660231008f09abfad9a79241f4976b1e563d8453427e57d6d746d0e7b2dbfb5b37546069e4d3d96da0a89a727c69630eea61031e023100e540cbc60a899ff03cb2b12c0895fa0ec310d7fb08f113c9abc74a874ef98a0ea6f30b9f08cf0f584333959904e0f1ff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e6843720614dbbb647a423456a3a6e7e834673eceb3787296147a3255e04c6188c58d0eac428d1d080ed792f20581105023100966cc249240a78de8e80f1d33fa796f89592b65430b4ee219e34a41a43945c110b3aa33daa7e283172295d6eb541f50c0302047c435bb500673065023047a3ee2fb720f9fafe24c449aba4bbbd3ac7eb18918e37a7166dff68397813dbae0efc84209e0501e01b842a13455d1a023100dd59650d521fd40077a0eac19a7d94102a8b6baf9f4b035ce794fd760e0d6cd377abc45c35e87acafded5663c3b0f3c20302047c435bb500673065023100fbc038de08456ad459ae2532ed1ec6b8fedf8feb57c482c3d60dbdfb9d1639e6aa5ad30c79d7f7a52eb8882e30783f6302303c8d9cf59fa33831f35f5f4b041846a61e320d651d0534bb106cdf1bcc7fc33e6f6d1b5152897da6799e08806d1f97790302047c435bb500683066023100ed9f2ad4dd51592b62a62b1cc17d2798f0c25ebd42066e1a14e9d98a1f994951b4bf180554068ecac0edea67d4d161410231008c45848ea310bdefcfa385f05e5de92bc30ddd273cab969e2c5f671b713cbcc41912b8618316da80ed03ca8f70c9e5140302047c435bb50066306402301cf7f4850fb7019a25a81d3fbf7ea54d75db4b4f1d2a1d09e3bd57955b80df7712b729afe2b86bd58ce61d4e7e60c80902300a9e85e419a5def942113c35226e630390cdec1b23292243ab0a31c19899695dcb5aec1d881cf02ce2b259552561bdaf0302047c435bb500673065023008543b0db0d19b061f11ba0266158031b56534d022ea8a180a18c0ae3b8c672c95dcb42b7b2615f5942edc12613ad472023100a1d7a1fa8ea8441eb194e544b36a0fb3d26e0656020735e9d7b5c450e74b37781efe164c669f6e5803a6ce99a659e9970302047c435bb5006830660231008735cb64d1ea27ec8587b75cfebbeaac76689a99e0542a10fc059ac25fcb81f4e726ac959cc01a4b06160f974cb203620231009de1590c6fa82da0633590d33c134cfe17633f06fc1f0aa640986a1d612763d273170909723920a1850e603d5c848be30302047c435bb500663064023048aa6106c1c7c63ae4ee7542f5d84c1e35e8e190f31134f6f3a06583f67ba7b4261320218d86374b6b85f9e5dd37f3f7023074eb02858a111f2aaa30b7653b4e1ae1244fabc7e7a254b47d6dc6c1f3a728626aaf826e2ea935c862b50d0d716a43e70302047c435bb5006730650230669e21cfb087a059da59913dc8b76f27f6ee40762949e1ed05b2b26bdc9e6f20a66e9d6079c40b6fda845f97b39a0d87023100be495f388cf4299818a73de7e9f5fa645f4c3a1cfd3a19f99df99d39391a176bcd10886386fd9d93a18c4e06d1d9e0740302047c435bb500673065023100f1a1ad6511dd2c6217f329095804d976b111e094aa00f23585c22fc83a54a2ede71ff43ad1fb6bef56f7ef30bc03140302305c189d7246aac116f2dda652e4102a6e7d16e9efc839cf8b20bd2dad68e912f2e8a36e79f225b3d007e76dfded70b5a80302047c435bb500673065023100af60ba4a2d7c32c9d919a6a3da2c254f2d9baae4e2d81d5da2f950103afa1b1105052088ad2e506c5c2108deb8598de7023010a3e1c347784143857780789a0e6fd2a8cf8f305f2b7f71d38d6d17e5842c9b69986168c9b12532b92afd03d54a25cc0302047c435bb500683066023100f1e93007db6e1327ca04d8fd5a1c0a37d1408e2cb1ae93b49e7681654bfd7a7ede53bd4f3a9cc86b1319364819f3d0cf0231008a04a54201cad4675318936aa7f6bdc20ebc23fc1be5a55b6a2523c7e9072152db5ac8fe81d3db7c4af69fda3a4acabb0302047c435bb500673065023064d34a9be606872afd2f5049080ad2525f192b46719cc148283666688ae66a5f45c25a73c1b5f2eaa3e29e7c27956872023100f42ce099207e59d532dfa9f1af5b4a8bb2a8c1409864a4204c3b2503dbe85f61ef2b22c081cfb1a0abe3f139bef2be290302047c435bb500673065023070c9374b60ea1c9877a26063123ce8f7fc0da0a7b8b3c8265f91f5dc3d9350a6d3f884edbcd78bc5f80dabd9bdf3b140023100e9161432b17f15bfc762bf709c2680eff87cdc20e05da7d4dfe96877f44cfdacc9681dbff4e1239c7b2c32681da9bc450302047c435bb500673065023100e1d7450af781ab64a4012d19154c90acfd68a4da7a860011d7af63252784ecac6c07b9ae6bba1ce22c304240b7d9de0002304f7fca89956745b6f6d1b2f0a2d521fe03e5f2e7d4a0ee429d92cd52eb14e2625bea464d5442ec58cf6fc80432206bdb0302047c435bb50068306602310099c4f11398f59e4f15e9f1dd5fe8a3f24103180dd16ec93dc5ef85c5427df8c61be7f123bc7ff24e686c27299b9aa74c023100e58feaa075a28cf048c4ff7f9385738e3b40e8f38cb32f5b0f44c71ed505db6f665eed0e8f0a55d5193fbc03da5626c90302047c435bb500683066023100baef58231590b226dc95c50efeb33b027dbcea66906f13bf3d4c74ce1d52046c744ad3826011d86af73f557a778b9a58023100977a130583baa19b285ff5ac97411f0872229cd1560dd05e06d43a7b82290050df75708be21b36bb255cce7771b890c20302047c435bb500683066023100e53abc5f44d672121bcffe4106615487888529c73dd9d5033ac2cedc824760209caf6188609629fefa4c10f6cc44887e023100e6a8af1abace434fbb13290c78b4e087be3e24c4168668a6388925b2dd1490d72a476147eb9c7c5d9cce5ab5d7d033240302047c435bb500673065023100db31812b9b9618f03aa5da14f395c5a30005a1e0a1140d7201eb2b2bde7ac00efab74776275bbf01df304e20b206a97602300952cbb382dbf5ca954c442b79ea0bde8567da4679c780aa02f577d9e721a1b7e1eac2b7a9a6b803176a6a486a54e87b0302047c435bb50066306402301396694a86f0f12fa78d162e6486748be454322b2eee1191b6f03ec41f6dce5c55c7bf5eec25f53a4b1c2ce9aa02b97502306bd6d87c4ef87b390acf0f06ad88c3fdc0a0e2c64c70a7cc70c344577d0c81af22772312797eb067f6ad9d6e427488460302047c435bb50066306402301b057dc1039196025b7f5ce287ff235911f152df8e5534621a28c99e42ff4a04c19ef25525f0cef9a2fddf74351e83e002306f6c9b5be2356e623e6583631c41c26b11d0b3a110cf5c033c15d20bbd2cd6c7ae45a0466646aba9c9319c48c51484880302047c435bb50067306502300ae953b98f5345e9787ce49e9850250c5fa424b81b5b7f1ef1c320218e8afb1348d1fdaadc505e745c451d5ab083a0aa023100cce1ac9826d4fde2ef2953e605a07b0714f5fa7c9daa6506b3f9e55d96a418f2d64146dd901623da66cb4b37b9ddb5ca0302047c435bb50066306402304c6103fc18bf48bdb07c76e7b6de07a7d7d8c701d855abdd92fa10bf99a9ac0ca653fe18b2fb3aa4d6df8b443388dce602300552d0592a277a0c903a2a95cae90c7b439a641fe2829c147627f739d83be46467919275e31bfc58f8750d533f0044e60302047c435bb500673065023100906604ca5f1a79c4a51235155cd5dd12b1df33a4f57749558a423227e04cc442823329e76aededad4b30d56f620324cc023022e75f63eba8441b957de545262d0aa59a307310ded589b91138fa97a70ffc3799736680f43433e37d40770ae8ac6b8c0302047c435bb500663064023053b02681e5808986f4e04792dec9ecccd2dc9bab0650479adcad9045fbc7eaf4cda1b1ef48a58e8787fe707e5dd93bbb02303352c53cbb5b2e04a364873b6b03b5489aef6db0b5dcc76cd9c1006baa9bbe0811db8cb2b419119071e342fb6f45ee0a0302047c435bb5006730650230693cb7e465d5a247ba3acb8028ec5da3e0a7b19068bcb92491f738456bc7c755834c2627d501a640e820dc8cf3331127023100bea6863955f9ce62dc0852147da6d72764d3afa89f5d7d3c1b879a4270a14d3f6549eec90a862a54603eff52811c2af50302047c435bb50066306402303d0ded8990f88d1dfd92e10c011187fc60570e6f4fca3736dc2dd5c26fdabbe6448febba3cbe2cfa7b81fcf1ea34b62202300ac27980720ac1ce898eac288fb797ed84c52138625dea1e46be270fca812a13e7dc07c73dd5b32632fbbfade07c9c880302047c435bb500673065023100a2df02a5b473dd316831f1d653e570d7b19365aa1f990ef33da9a57c7c4eba81e62bc16b412eb2f2dc5b20132d0e0b8302307bcdc7e86b50d26bcbd8f9c6d4b35ea5f4982af2f4f54552026223b1748255df205b0195b8edcc447b8f136c2bc123a60302047c435bb5006630640230370cc9769e8d31b6880d5eb88d5f8840836f7676f86d8d9605bda735cce934a0814d55137006cb831c71fdb62e5f136f0230622bc08cab9a2a59e1bb5857e5883f283f21e267eb500817345a2f02bdfc9d4c00cca936089a1be367defe1603281da00302047c435bb500673065023100d12db39787905fffffd6725d01c0d7eaaeb70bdc5115587d66ba0d9402763aef2cdf36d0ed9ebabe669cd86a4a6fed3e02307c603d202778db872a2a7ed318b5ee3c26a2bae9eb62645840a9d66e5cf681519834f87bae8edae3252ce9dc988ee8970302047c435bb500683066023100f225050735b6f96cb3f17684a39484a70d9d1a45f342b40dd80b2091852f4a0d5e87a9a018eff6470bb47fb8de103cf4023100f3e113ff67854798d8faf3e3109293d36f7e5e766b6d41dbbf66101e2a83bdb0683681f3cc1b5f16584d1628019c6b900302047c435bb500673065023100df9ffadac5686ca9a7be959c7e64635fe26c5081ae4ee34610fc44406cf73a6f19247087ee6c43e4af6d053e219171300230051374549bebc2b4a3a51803dde2983fff0cee1542179f912a226a6b16c40b919d063ce250c272a92353cfe9916b65f60302047c435bb50066306402301dd26e455c656a2744903d0a1cd37041fe5a59f57b824f0018bd21fcaefdc13e0f02adab907d04a371ac91a53205ddb5023044cc095e0e1d18aff0eef41bfefd2b71867bd7ea28458bbd93e9178e8412c7b8707e24a5fb9c55a84779bffbca8ff1320302047c435bb500683066023100df7b75be3d34f99a5d9651e6f037675558fc462408d3addc1fe1522e9f9280853cef666474d917b753d02f927a1faeba0231008423a7c82b53be52d77fcf0d97f3a6eff9bdd4449a8ed82a181e3b057a86122c7ced27cbd4b295791918df78078f12650302047c435bb500673065023100b4b78101691beb15202f7c5f7c8b8067338d473271a7eb691b845ee92dd1b9a1720d8d0f00cc3a5de65b256f3f56ae1402303c85cf033f78d8cce7829767ed08bc92abe9d1ec828943433f41a02accd1aeaa1d693f8ebb2c8b510c17c8822f57bfd60302047c435bb50066306402303353213ba90e59772f11baa4bcfaf7b3cfbfa95b221dcd6de13ff74779f5f7ce8ceffffb3d6b17a5c5a3ff3e95ea88420230088a7a08b4ef74e928837d2f7e519a2db44086fedf83053e4ad747709c424eac3e47df294952544beadf3f0ff245064b0302047c435bb500683066023100f133e1b72663767d75ba5236b8e96ca4b664e8c3951a7563071ad46693df6f36e5112240b92f9c10abe6a035a403465a023100f06e022a7e4a851049872c739643e9a7e7d64382f0c44a7e9e9caafff9ca6686e5ce3fda5325c9d9b5fdef459eda5bc00302047c435bb500663064023008e29f1bf737ddd2ee7e462df33e23f34afd03a9a5a011028744def447ccdb1bffd6ae4e3d770c7fd9a4f123100e73ba02302906303dcbcbcd4cde3554543b39d03e164d77d62e006cec8231e964fb18ef8fadf0e00ecabdea7288852d9e2e9060cb0302047c435bb500683066023100ab5a705fa4a891db77160ab2998bddaf440ed5571d5b9d4f330a0568aa5e702d794d1dea95d03e673c378f2eeff9238d023100bbc6df592031a80ff39315856128da14c7c2e0578736442989215a56a10d5f00f55bee789453cd39eb47540a48d88ba50302047c435bb50067306502302742a5627946fb41440115e2b787495c9dac9cec58bc5319b0c0cb2010ffe0cab7a3509977b0074269fefc6c43f735450231008ccf2b230a6839592c52b74839a49d45bfc567de16a297d6177f7b02cedd8e67e4cef5fe524c7e3af9f397914df552960302047c435bb50067306502302576960cd57d7ca887f2b5f38e4a55a682d695ac1fe35b58b6d08c847bf5eda3c93ecf48a5424c55277f89d01ebdbc2a023100a0fe669ef0e40fbaa0611069f133a96dd53607e3e714ab107c5794cc6136dedb4ff6ee08e09d8f5a9ebe9ac36d3066ff0302047c435bb500673065023100bfb74a99643d1c23761fdc73b41f3aa1ee5989b2ee92eae9982649a88c35a3e19a08dd1e3b766a1df254412e4f4ec40502304a0b6f1447f83182db0f0386cc92569ac0eb7723d5b337fb4a1cae037890da469ea393175a8cbd062a1d1a42c37604040302047c435bb50066306402303f77ecf76864c92a444c99b6a953085a11275007c43009adda164fd0b93227ace48caf188d304cbf29d64455d600f8df023021786c41f8ed5696d9177585fe4501b869532f1146f030e7fa3883212da62cae744bf19f13240c6b7827160c91d6f61a0302047c435bb500673065023100ef85f4c712fa71b178cd6edc0a197e3026afa252fd41bcbd822a40de3e3099c798682b805c1ca1ff16fcaf0aa238a4c102300cc7f1a5a30aeaa61e9c41f5fa2dbbe4d9b498d5ee524e92608c6b291d06f74d76102e152f024be58d1214e0bc6a41cd0302047c435bb500663064023034bc1d666166590f34992573f0ca5ae42fc67bb00eba1169e38cc7d341ef03094e412246fb5a5f4d6fce7ad9a492850702306ca9b194f410e51da71f7da00329136b6c9c9dc14b5f89f7e4cdf17bffcae0e030adfb2f9b2a2fa0d3ff1feef2b710900302047c435bb5006630640230259bda48aba03fec7e0043e4aea6057f885e5a9c7085a468f052b2f7545eb256490bf450184258e00534b13fc1a246c802307838287065ef805b7c80fd96cc4e892cdc86220b5c22e4e493e78a53d9e7b00df805d635b9f110adc41737a0920a12ff0302047c435bb500673065023008268b87e67980bf825afa2dc7bbcadcd6ec496cf6bba5953c1f2bdbb2a4c44fb2d7c99b3143b95e93161fd7bc45b3f5023100b736e73c9725bd953d1965301955113221c4647248a5ead87107849dac8472a7015215dd8ed1d0554bd61954364b01a90302047c435bb500673065023077ff4403592b1c536c85452993bf67f4b33f09b3459f06acfc20e4e6f08b19ab33f57aa064be27d52496408dc502d521023100bf7a0cd87586845784976753d1f8d5b9dae890c59053820015c7c48bd0f25b40200bba80cf4f1337559d548a04b9feb80302047c435bb5006630640230681fb9fc3cfa60ef5c9ba07f6b63123fa56f536ca0fd9f88796d2795a550c7d17efa377b8341405d8357459013cbd8dc023015d1dbf6fbb15cd1425c6ca7ddd5b3a8a981390639302a461a57121b92215fb63dee6b94889d729fe9c1f0c553b4fd550302047c435bb5006830660231009835fe9606e1d9e200a1d249e705c6063765d9890bec18d99ab546c7b44ffcf7fccc5dc6b7cc6fa40a59a663d3ee44fc023100ebb51cc3a2bbc1e33723c5c306c467eaaf47b8b1637f0a92179db3d9574471039a0cceb6ddbf9b6144a46753a2f74c480302047c435bb50066306402304afd94df1307859b77a38fe747cc478239f6bf20e0fee1dfb12ab7b71942b56ad206d8ef45873ed8ae5bcc8c6aeb50a90230586488e602432276faef58e49eff6ff96477b13239fef9c920cbf4d4623492b4762f36db2289c7eaa5f9c6edbaa3c0b30302047c435bb50066306402306afc13a3c20ac0f63decf75cbf8977760d8b2d24812243c456b66a302f1b4bd31ed164ccc13dc5d954800cf6d69644a6023028a463aebb584f6189d29e9179d3247d7c665f351d38db620cce7a4ff0ae74f0a6082796cb7aa307edd73ac351a46d1a0302047c435bb50067306502302107c97e93946fb61427e929bb64e22e55abe467017134c20bca1384320a69e832b496fcbe0eb128358702e32b69064c023100ec20983b2f728f16cca2f4dcf6445b6c6596c34185338d63556a7e1c30694e6b889677599e9a1093fc0bf1f89c7936850302047c435bb500683066023100b47b86ca29de05c2a35e7577d92d9887eb93c0fc1542d973b34088c094d34155aa7d993649c03148cccc96d05641daff023100c55af3c6b61b29c2ca83fb12ca17ef22219c0012114d6f7a63ad84fe52166ca6df2c04e651097205773af4f2f7f042ee0302047c435bb50066306402301ccb19c7e98a216db4fce72aeb5fd6ef7d718bfe3db63a6ca0104af58a090aa9f70f0ec0786fb727eb623d681f49311f02305683fe6720186626636821f31c15ce515e6499166210d9bd6ccd638c6f0d680d982f7b2b7ecb4550ac79a77f3cba4c230302047c435bb500673065023100bf4202c558ab0655c73071194100c56858851b1b97a21390a3203dcc20d4985d0f943c4b55a30c689688db2b0c7d600402305669ed8d52fdd9b5813125623260cf92cd229f460ae04d25b1fab337b2eb7ff7042e2036f8ddb4417f38d58ef3afbd3b0302047c435bb500673065023100d6008e8f1ceb3a3d0cec980d3630a89cdc65a0dedd2f4fdfe8c3ff5046bd30303cfa357ba4445de4bd45c533c696954c02304959dc961cacf03f6566ce55c20dd791422fc9379aef0cf4fd0baf337a196f18903885ef1bb1e9bbb8e9561c902150bf0302047c435bb50067306502302208825ab674061f2fc6e6c9eb72c1d4137b7705157ed75301248cccc2576653151b1dfd1101703c90153e146b8b6a6e023100ab41bd4300108f6048b8c9a721c4fec458b25820cd5d78f3c7f29b46e18d542112762f7cdacf1331cbe6971f0a6e09140302047c435bb500683066023100fca39e7b0257c8e5730e3b13e2197c3784077f94e4b36ba9276c5b1722b4a0b7bf6640b19438e17f11c5a25048d6c9f4023100deede40d6a38d1165cfafd66d6b5a4e5039d75efe65ac3a339ad18630f7e78f906dd828318485da3434eff81b98dbbc40302047c435bb500673065023100e4a8542e4524b5820f83a27729e38b315fcf91e114c987018d9e7df328ef800c21704821b934e4ff54a5d57e837d5ef402301c7e62f2790aa8f2e2733c864c59ae7051084b61df6efb61b4ba2f17b9cf2b46e4cf981894effd239f59931fac945e260302047c435bb50067306502302162a03d0018e9e88c08ef68837f1d558c65db51cc436b01b71be05031c414c01185cbea1fc62b5ee945357d6a111c82023100b4ba8ab49ad2890e91ee7905829b8dd66d44727bdc34b8bf3ee5934940759ee403b5fd1e49e6f1f58f0b7ffeff8f6cac0302047c435bb500683066023100b3f89081ec6739a2a88e5a76c38e7868759080e3e7e570a12dee48b5c8e5c2b2e3a0cf0e20d2749a0c06cfaad5560384023100e1862a8b8c73496ab6174b669e3559ae9af7652cc933064c1dc5b1a1aeeaa33732bd643c5678eddf51674e767658433f0302047c435bb50067306502300488c325fc7f996afb7962cd4b4799c089bdc6d92554963b85799c70c3ab558ca3717dc86fc5124a5c38d3bcfa735c75023100aeb2b75795d86c2adf63de5f2771492296cffbdb1502119971b0a19f76b6b0a5626fc8776f1f3246e9b0e28524cc415c0302047c435bb500673065023100d3a58da315605a48b86783e895192330cebb5b937feadeb62dfc413e4c4e200a9ecb048cd42eb35dfd61c0768564e86c02303f60bbfc16a951270d4726d245c104dc642556c9b0b16e174cbaed64b28d283a697ce5e61108fc2250f0402a6f0be07b0302047c435bb500683066023100d97410c42b1e61f632dc7e5d194822846d8c0ae1a255992a6bac9a192231eae7547c55a270414bcfeb61950d2c76dd1b023100c07bd146f9b2949a6b18e4e8503a6732f064c0745cf542f7fb0dedd860cef15705f83d2282470c1a815853ab18c6e2b40302047c435bb500683066023100982c36fd76ad53572d240837522819ca4ba8d6e8d4a274861731c6a3d06a9da4f5efcd4b8b3b378ca7b751e818ffc4aa023100e4dfc1a8dd14d209ba38426d9ed77a4b980bf4d91cbeb96baa51611343230f8a4e58da5d588f31f24640f58c46d14a030302047c435bb500673065023051a1efb3a0f6e5e79a1a39106781cac43cb3b3ce366ff2cf0c2e72f08d0d7e2cfc5330a9a19da63f5f1e2979cd83be81023100f228f0489d36a27423b98b80035e2e315c147c0317342603c17940aa8496ca8ccb79c929629823c347670010d81bbfb40302047c435bb500673065023015e2bed82d9b0ff8536cf31e86368ce77023ab8ca7785ef4634e674d28df7b537d3bdec2126271d6aab6db7b8001c1280231008972ec661e7de5edf5f1dd6129964867ba4e917bdc9909d69b62dc773067713b8ec8b7be8a2e1642ca6fa628f19c36490302047c435bb500683066023100e6e10920139e619fcec1b7892d054be7e4fc903879c17aceac871895da26080815de29f6d8aba6b025834871d40bacc5023100bea089ab0cf2217a641cd74ca215dd3f4f104a02148f889172b091547bde08fb7be214628b805cbc6e671261fdde86930302047c435bb5006630640230716eca53a1122735fad7b0ff7dfc69085fe56d72808b433ae8214cef42115329503574a12f09d394a958783c20ddb87902304468020dc5eac56b7a6aa2bf5d45e4c2f43636101bb6c7891c24d213f70d6bbd9a7ca99868bea4551edaf655c9d4c1800302047c435bb500663064023065074581edc9271e8cf7f14d2f3f48cc1d7263127cd12f24af0b100d5bd2a33aecb4fb6c452e3bed27fcc45d9264577902302270e18f5ce8c705f9b5fc047db2d2634fc3eb5955e0fa1a97ce0e94e17dde1f8082c81a3cf82e1c58df3bc1ea9bee360302047c435bb500673065023012593fd18c92d8e08219b7aaeb44fcf440ed701335cacf9eb9c1475b6032585aebcb80adc1684471b2d0e13e7c0bec0b023100befb1205823695e334cb750c38a264ba950ed9616deede290afcd2cc3d65092708d1cf34d022597566b01556d5a27dcc0302047c435bb50066306402300e8bad2db386ce4406414a5c220699f7d3ae1dcb5a4f94765aa634936214039782565fa45ee9e1f1866a5bb69adf73900230703572dba474009fe36bc29da2c31e5ef627202ba36ef055a8a77b1a7dfc78213e6f98477640b2b8f62eccf07a8974910302047c435bb5006830660231008c08082d19aed554cf9f2541af744fb08a6ed7ebf8acd02ad1b6883ffe54f5f49198c9e187cd509a3052ace20eda34dd0231009d151cbb385e8fe558edb39971c2bcdc6fe32735bad122691e4c78ba51ef7e018f6dab24363efba4a07c46c74cb4099a0302047c435bb500673065023100e58a2c98982756ce771d41dc784992d9df722620d683b64b3e2c473debdfdc356242067cc0ca5a35be157d893c5e8aa00230039a15c7a683f594e58e437feb6aaa0723a590ae0b77e677f58f03dd84169abe89101995a83537094e075c521b0c6ff60302047c435bb500683066023100de111b6e233659b39cb8405ab6d376031d940207c32ba8b870e4a6d2320f786cdd5aa01828aa559b76e709aea52c1220023100ff2266fb70d55400da29e222395f492fe02cad3458a4f8258178b076a3b4a08a389dfcc60333ec9b6f1726e74a31ddeb0302047c435bb50066306402301b2bae902ce7ba74edec6c8238cc1c9c1742ba75c47d668ece86ee804aabff1a2380e2110c5460a6e8b155a4a07a3cab023020531c20dbde9588723781045268748a5a4f5f955ab55eb3c78dfbf6e578905f7a0e9fa0b63e2c03307f3e46d6f1cfd60302047c435bb500683066023100aa8478ac0253b6a31506e29b1b42e47b494f887828227b1d566caa81d7da61a26e954f23ae20dbc3399e4401dcda0f01023100e9eba32fdfd72d52189ac4a4d3b70a6dd85d73e5f0cd3eaa3d45da51be3a242783a9157b3d1d90f96f768e8840dc9aba0302047c435bb500673065023100deacb3b974755a17bfb1ee4d68ba1c032f9398764e0ccf72749a6744bb802bfe1417c3ea812245f18b470f6a78cfd17b023035078719f1705a8b24ef9c10bbccba6defac23b3ed8cc525cf1ae7aa811de9661c702245952b5e6244cf812ef72f8e9a0302047c435bb50066306402306c6185b796054a19d7f744e8520e1187d39724c87990d22dd83618a7c32a7d62a6293431bf33ba8d51b1dc713c907e4002304ce61fcb19fd607a5045a69408df038a2397c20cbf3115cbb9fe42c937f7d94f81c29b31cc6605f3d97c23addfe210550302047c435bb500663064023040dfd68a3b02f1de4bc5e3671e2371ea365da38170194b5d848b690e2d05005f2b00a137339d9ccf70a511e4a8fead9602302812eb00f3a7f9817266e29bd2fd1be30b4f407b10a6b0415ff97fad42854550a68a39878f73686ca8c1b4d9f2e927630302047c435bb500673065023100ebb40f76f92d73cb7deb76e35074cb82b29120c310f1789fb660d9b52373aed1e460154b4476a575e0d625edc9d8776802307853be1740f67e06f7daa48c8c1e54c2cd9a845233a4b9f07262a1981d9613fd0d9df9549ffc9eb47195bdd2f3d782d60302047c435bb500673065023100bb0bfb9a0fe9046461d067603ee9c1636a6714d5194c93a65b2e270b7bc63aba3ea3856b60b4a14eb3939742788e0dce02306aa1126ffb03cad8f3a54c132080142ad466a0df8fd5861158f157aed5c8daffbbc0ff6f1f2c7e372b2cea5fa0eed66a0302047c435bb50067306502303f23554cdf27fa4359e6acea51f9df9c0093d6e4473270d24eaf59540e890f2f34b726e77df3c890691510c7e6ce0cf5023100f9337bc90ae28754bc20d3e071ad3205311860b1fd546e3e52d865de4ce33ae2888ea79c2e3686af07d2acd2f95829560302047c435bb500683066023100dbf39822bdbb4083017e506eae6866f67fd22cf6785729ba662bcdd805181775ea538bd205213426204a436cd871cbef023100e1fe0efbebd6c89db4f45cb8ff7ae709ba88063e5ec9a46da0fbf2cdfc4e31dedbbe971f0f9fd686d058ea3fcc7ae9b80302047c435bb500673065023100e637f1da914545356633557f721145595e5e7ae2192d3d57918997b8498eb9bd05141af602bae62f380c107f0d635163023022746df8964bab76e6341708a5695a9376204226623061d0c3babafae70dff3aefc6690eb46c6d438df4c4b4dfbf5a5f0302047c435bb5006830660231009337e2fd7551d6854bd5222e4461c8aba739f2bcd3adbf3612cae3ff7c4646f90b4c260aa2bf5fe07215219f9c9c83a3023100a9c9dc6ef2e922e46214f969957035469dff9cf9fde14572685f5951b4cf31a5ff4eef635c12482ff67536f5bbb6d0ff0302047c435bb500673065023100cf6d5b62e86379d738fb927fa603245cbac22d940cce32155282286130779ea61bbda27741caf246742bc2d939ea8fa802300307676f8b4a33b87d8c6c23e51835e74cbadd6142d763493c76751429ebf6e0e395445f00e85dd3bb503c9b532b68af0302047c435bb500673065023100b39ff380b6ab51b1a92d50589c5103f2a07cc12651cd530f225f91d77294724301cbf82b1539e9f80d556d0b2f67c2a0023055c590309e68ecc7a74c462fc30f1027129fe55f4b8af8e393a8a1b209a8d98307cd658e90bafd0f1ebd534f0a6015550302047c435bb500683066023100babc7889444ddc507d52dd5222077051bb068ed6a1e9a9fce023bd924c3adf7cec28d3c6b03e72eb2a1823dc81f7ba7e0231009c6eeb06906796f7512626749c4dfebc7fc7002c73f7e007147c4792e95978072e31b1034301937994587f46e9c5f7930302047c435bb5006730650230359b5fa475183828b6ba8f490bdcf03649771d630fda7733695a1073774c823e42c432093c56dcb41720455ef5dcd740023100f28d07e33809b6c24678f8589db0fed119d62109febcc92f4b8cc9616a029b9fc74a637b9346606e0ad9a9646306eb3b0302047c435bb500683066023100ac51ccc518ae70298dcd2749b780f48f4eccd1bc9c1503b5aa4b596985bea57d3c66edd6ca9425c5c3e6c6353f1a6e37023100ccda36847ddb52546c5dfd3a204854ac7110a328632f2ea6bb765cfc571c7c2173d5be9c892a481f62efe4eac59204e40302047c435bb50066306402301ff2b1b2fe1c0a6c28ae755d9506ca57d555e019d650cb99896c21f239947efb429db630648d1e53f3d0455f197dcc5e02302b5815eded6dc4266a57814f8a368cce9049b435d2877248ad37f2e844d594a646bb5e270d55b32a508eeb6f744dd0260302047c435bb50066306402305579d4934904e42e9b0ea85bf4eea3ee56dc0db1ef6e1ce19af68691a6ca4a7d3264574ff27c828ea769262e4c02503602302e9f36ca695d4ca74aad21c4c2d13766faed391a879d5b4d96197cf898aefd778d3635385af41ac8703bcc86b8ebbf0e0302047c435bb500663064023044aedde1be11379ce79d017be8693c64cfc294bf00627de36b2e32dafdc220afb0025224261ef2d64491c6bc9ec12a500230576172269e723e4934407aeccc6a99c1b8a9700828ddf69958ae033d0f37b2b5cd5c0395450a3f1d72abc5f801e24e480302047c435bb500683066023100d5d5fe6748d8c92e16c71dee3a6efdcdb443e4d5fe68a6bd97b60cd753f402139f451c2b7b1b53eb53578398a3d1e794023100a94ebb5431bd8d7bc4106e874ffa6c696a15c738bbbf66b2518a08f7ef769b2e7fe1e94c52359783ce5808d27a1a68b40302047c435bb500683066023100d302d7abba7ac36b87179e91ed23269ef4c7a7d515dafef53be63bbabc15ead0b929154d920100b111b845ecf32e744b023100c25e7540985a6baa9f25eea9c6faceb4152f3ab5ae33c0c0eaa868af836f5b8c13c53876af113a8e613b00a491173ea50302047c435bb500673065023100c91b60d42bd800d5deafc0a2bb852b5c480f467759cd9817494bfe4db95b25fd21e750e04290eb5e74af2f98802e4a6e0230115717f5df3f0c705be72d850d43763003cac21b31d92409c760b01e0bb09767a62cc7da53de1e52dc5c09b3f1fd3c280302047c435bb500673065023100e47b3127d756d4c5391d418890d47e12b238a4f833da120b1de1d5ca1e6ed41a93f53cc10094ce503299c64057f3a35b023048a02ac527742c591af76e90b9284c2e27c5f47eef3de2105e9afc81f2c3271bbd6b1b0fbf2dfddc0d7fcf96d210b04f0302047c435bb50067306502310089515759c60b8e927c64dcc8b18512fda80b903785b3ca72faf312e1e08e30ab3c564aff68c0d771c8f2a1afdcd06b6e02305a484b0ab4daa483c2a1c63cc00fcd3ef574fb401e2a8cfaa346f0fbd27362ec1f3ecc339f029b245ff9c005440d4c900302047c435bb500673065023100de2f9268223578103f6d23daacfdf00b126683259e3ba35783029eb2955100047490bab86dcfa2f06447dd7fd340b09502303886513156d8925d20bf1acbf177242378b11c14ba06a34a5a2b54c8ca1fd7a6f350abcc5b017114308d6b3e6e51b9ff0302047c435bb500673065023100ff61a85c0e08f12a127c1176f4acbd07120d14a92cff37df246cad74e9c0a1e509d80a9463814e74be113e29f2e25c2d023048fa74622f691c0726a9d2256c9507a5842fcce0694735d4159e96d1e21dce376d69732106ef9ecc9dd86447f27081bd0302047c435bb50067306502305159d26f3bcd06dfebfb6c4ad03dab0cad80b57bb9749b3347720661a0b50836133a11e7e5986abd00606619de772678023100f00fb935e3468c99b5f3711ab9fbf8cd1093d38e9246c9f8225749608522f14f67d8a263372d09046630e4db8daf9ece0302047c435bb50067306502306e439214ea088d4b9aa5f5d93fcdd6d62a4ca32b57fef752833c0bf9b400f7ac68f9591ebcb8082ee7b0bd875bba6916023100cca65d4c7f71dbd7f7ac8e3aac94810ec30a7a38502444f5efe673305d0b38d4462d688862e850991eb212014c6688700302047c435bb500673065023100e90d5e051d426dc36a49d89e2f5f5136ca403fd65bc362bce950f6487b0fed0eb2434332468f6c894fb12607864d2a5002304961981023fe7510d819f93b5a1f2fe7dbe1b4fdecf34cd07b16b5084139db518b6ccfd879ec853bc615b7aa3ee8ddfc0302047c435bb50067306502307274cd32f2ff8fac6c073ad880a16d6510dc59f12d52bfcea0c5654dacb24fe4d9492d42f49b5b5711f34ca927141a07023100dd267a6ea42b6b0d301479d2cd4f910efd071100aa64640eef042866447542d3ee4d51550c8abcb025d54880c96196e00302047c435bb5006730650231008ce3a549e81150ec9c7943fa92703d3888a581ad9a87c0c8ece24b85d11dcee6a2d63161abc3850aa1a7a9dcc3771a86023067734d4ca907f7fa0248da0bf94fa6dc0c9f4a73ca1f62bd92fa587b60b82a52b48341089b1d12e9679ca890856e986f0302047c435bb500673065023100fd53f73360b8c3e93ae8df1ec5b91cf972e58d1dd9fda46a9d5f0e790e06a64752de07f8a34f700703d4da5306af9e720230238e79ea3900f6bff2e7df01243e0f5cff94417a68698d1060099b5dc9692dc804aac27ffde3522fc20916eea3f1b8df0302047c435bb500673065023100de0815a02ebf565685a2854d07c96740f4d7001c251aeb224e2f01ac8b88eeb903f34d60206d67a53bcaf7ff170f591c023015321d35b646b383194e78b4dc6caf4953d3f72af20f749c0f0c8eab6f71d62e3ba96e62fd1205ace46e9361d4dea38c0302047c435bb500673065023100da6de7e1e664bf00cedc30af457974c5ebb5c88fe5a594384872eadfdf9031c36a73d75d4d581a077ab07b36638c9c4b023028d21685a0cdc5a7a7892257e91926f92a007618038d5acefa103e5cc304527049303c61bd2e4f64f9cc88faeef0a6b10302047c435bb500663064023029b8587be514e8dfa1ee315af628584ff78c9e57b6539d4bb35f3af16b7946ca646fe21a29315b54e2e034d5076973ed023040fa606a6bdc85f905e12a79b5c072371a9bdfe29a9a495584fbf4227c678b08a18bb0c66630331ca841cc42e20e81e00302047c435bb50067306502310096d76b00c400b5318e96e80c393750dcc72f0720f5d4299270017d0deaa8c1d1eb8017d115614094f927161c94ecca44023003256d4e9e09720d9b5c9634ef26d491e4a0a9f59aff49ff918c435a26c3c3f1ca3c5297215dcc2b9aeac0e1ebcb615d0302047c435bb500663064023036fcd8501253126422a4b69a027fefa9a2de2ae1f6383e8abce6f8dda0ff1acbca926d4f8bb8cb2339a53005dfe14203023045da4fa5cbf4e9c6ad0687e3e0816cdabe094afe43e59df640220296c0aa583276f99b8ffd2e8d85a5a537bcc803a95a0302047c435bb500663064023009490cb9ac242343a92a4470332eb9d790576491915cd0d51cb1c62a51e3fccf3f1381739e689128cfbd3f9989a493e9023049c1fb1a3b941d38c4b90e4dca776961fe13caeedc5833f62a84cc065944aad6d316e8cc7a3f204be7eff6f5e823423a0302047c435bb50067306502300ed8d5adabe58172e00cf9283972f8fd7224a2f46c618e52f35f782e82648fef29f9df8da4039997f6cc8e517bea5d57023100aef8c8be46e516d4f4002a0ff28ee2d8bdee4f81a881ff1782534aa99867cf0cc04b49a5cc5f23338a17a21f0f9526090302047c435bb500673065023100f561aaf9615996f54cbdd35a6f67815e554dce541a67b64641640020eb5ec8069b4ebe485a85d1d7ca357cae2d8e0a0602304e6b3d04e6df330499849e1a06d9c02bea07fa5f965538ec5246e1c76c5c9cad884f09af717cb1d261f91174808ed56c0302047c435bb5006730650230032daabb8f91874d46acb5d29a6af92cac099253757d6e6d03f0c8969d916948046618c4d20c414008fb14a1a6cde685023100d58526ac151b11e09e6f04ff9a9ae803dcc39bde2d72a85f64c8b6fcea1b62c199ef3eb888f0888968765461460a87d70302047c435bb500683066023100805be87137188e123cf6f05fb994c50dd39bca0b57e652d77fbd4468abf19ea976548190630d2c523b33ff6094e87f96023100a26e6dbdf438c8567d974769f2000f7d77ec1b59df14c20f297a2f2c5f33f09d1cbca4427060a9c34c3f35eadbcd1a250302047c435bb500673065023100fc3669b0b984321e01d2189bead9abc284852e61fcf20fae45d09014d9f43e1cc49eb026c7f0162af666f7f1e94fb12902306cd3e5d6c9c07d7c3f4b333e2c65ef83092123ec0be2563be66f9513272146520a801d9c5d218df0fa8734de018680f70302047c435bb50067306502310092ee5d605038c0f2a4ff703dc31243ddf9168571e9fe6ec6d797b468d2abe7ada0417525364d35cc9f120ab722201a460230477eaf1c56fac66b3e3c6c4744e07ee169ad600fe5ce1c80f067d773e3e5ed3208934afbbadc938ce869bd28fb81b73b0302047c435bb500673065023057841e4333a0abd5d487cd44541da41ce93b37ac2d5d4a1e2821e61055108e67a96cfd694388a7241697d24b1d0468a3023100b36cd4625719726e36b6ff720138e2669d282c896f588d6064bd4e438c2617ce3301b303026cffa85698c1c09996eee30302047c435bb500663064023017eb0f20f6eed094c123671d810fae839a1767a5ec9a581dc989286c86c4d8dcab83585ef58973761688ea1b36c7138202303a6e257eaa9a4bb25d34d4ca6aa3b1c578c88762ea150dd7279597cf40d778b192db931994a42f18b033a27611d2afe40302047c435bb500673065023028de276ff887c9f7a8205c867973117fca1cba1a294a63dcd6760374b51e76e3d284c1a06ae73dd2d3f2236fc93dccf6023100f7d94124c270a75f449e5bdabbb41f9879d9cc8f6ce1c8c34f2097a3c48a8cd26e3210932390021e2f1c9e5a6e7109a20302047c435bb5006830660231008a0ad92fa272f86db2f682cded10cf49b74a56d0de483bee4042fe6d456e9ae16a61924d740f331279a91b8ad150578b023100d7f11abf601bfa5da309026d895ae6a493c438be3fa135e6c275a045880e0b2aef1910e8e508534e354a43d7c0f26c190302047c435bb50067306502304b15087c82b9e6f47ef499ae86c4bd19b92cf28f7278d583b8531384e2338b9cdac1bdd62fbb59491ddfca93026cf4bd023100f36fcb1d7f6b009fdf8fe76925694c3d442b9d5df3160e287cacc6902af4fd63fcc5186bdebd7acc2edf969f83e6fe520302047c435bb50066306402302b6fdce9b406131f53bade2ab0da9c9a72e14cb4558b338cfc606c51d1671daee8249fd7c02e180c7212c62c94f465fb02307e1bb497e2c1ac7771c9c124b8c739ca35d48584b6cfeb00994cced0697304af789f4ef09cf69da78e91058a6467ffb40302047c435bb500673065023100b774cb6b5ed96734649679c4ef2fedf494874cacb59a18fd482619ba43764e6528e829b2ad5911226a62c8aee9681bef0230090b4446ceca58ded1bfc1a6931714d224eaa48469420473c41b3a002433bac83d2a5469dcb068a6cf6b646de4c1dd660302047c435bb500673065023100f9c41422021fe203601a7f2dad54187f375beadd209a0960c93217772c2debc619dacd9656029040ac7506f8192cdf2702304055da73438586de887769b96452871db75d0104accbff5a7f36dd83937700262e633b5e032e1682964140faab1751f30302047c435bb500683066023100d793d35c376c48083e3c91be8fd79681ee3498168292cff9cdb96adeba6bb3aec61620bba09d665a01f4b7d812ef1210023100842350cd65ec0c9b3fc1810dfdf917ee6e2626b2e0e04aeeadb63329009e94b5a5508f9b82ae186577a3926ea3fe4cc50302047c435bb50066306402300292a0d63c8911f7f7779e4befe847d3c44f4924bd4b4d309c41ff9effe3da63d67accf168c1b58aec6a4f28661f0dae02306da9cf9d3519d3e52a35db986dc15032f0bfe6a20f363fc5a881a093655e1e575cda711ab2dd01383a31b16b20dbd5a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304269bc404097564a52416a6fd318565f0ab3bb12dbee9c7d723230a71962d659aface76400eac590b5fd9bf40f52321a023100fc91407ce2e31f3bedc60307751f71eb644e4cdaf7484763ab02e5b03c2957ce57bdfd47c5322b2394930f96a39035020302047c435bb50067306502302300126568f38312f68ce8ad6cf08a52720d4fca0d4918f9d96caa1a7e2aed3424c493d970e6b77eab87340be118a449023100e666190336447fe36b7771e0da94bf43fef7ce907cbdbeef272e239ecc13750f7184c9a8109f1ff0c12f0db69f20724c0302047c435bb50066306402304941516836fc6ec0c3ab41e1834230164e359792aef07cf3c59c81acdabf08f8d22ff3d39cc4768613378f0d4b68d67b023051c88891f261c4c7d335ba97a5c0bab36f974b756a6916863c7a9a6fbf2fbb66402202d5fc7e9111245764fdf759ccb70302047c435bb5006830660231008dbd1d6048c64232c0b10efdd7b54d421deec73f3816eaa3a82212ae4134edeae4de755c48abbc2df6169cb0990c222702310095a77a0c6363cc19b612beb1977b475ab94501ce02e6aa60ef45a3a19201835aa52bf101107cbd8eab2a8ddeb76289230302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009f58df923fc980a6de55706a97adf67687a45adb3e4b9771a5677c62bc0b2bf970f282361a5d7f7d15c0130d123a683b02302edc46a5de287361158b27e934fb7ad8aa677c99cac58948b5af9e0cbbbce38d400389bd2dc65c791b236d9f197ae5500302047c435bb50066306402304dc95d69e475fe698a1ed9887558db60121f8b1641106a4209b3d5e554fc5140a0bd9ef2226005e0936acd24be4369f0023032f9a75ab8464eb8da64502b29aa956e0b815b19e2f871593de26d97f8753499b7513abcd8e0433d4bad1998d38b72070302047c435bb500673065023100b3ca4cc419b2e849fc4861ab58a4c647d80b82aeacc54516b862edef6ea9be40be0804b6bcbedaba6c92c9885eddcc690230495c726a66534888d980db4469f82babc5835613a9aeafda4627a446255ee222c80000cd0ebed8cc96c5474d50e65a7b0302047c435bb500683066023100833b1020b5024862ef1aa1bd85bad410d02ae4758615cec2c84a987f70da805da45632b902d2af4e61d9a3bde8ddcdbd023100dd8ff5ae5c1ccfc715f121992b11ea7c845dde57c075c6f04bf3debbc8e8b61fb2158b788de1281bbb9bfe2b63a9dc750302047c435bb5006630640230570ebe6d491a8106e1a54fca3eea3f750c5aa99bfbcba08020168b8ad85875647c6b77c1740a68e26131394523e4efe302304dab36602a705b78ca83c5bae1a405249a234064359769f8db963c502c42c554e1f68d28c496bf678fc2abf725cebf0a0302047c435bb500683066023100af9583e98c8fc87a6e9f48b4cbd781d3f3409e8b8ee1f641279e4ef89447d84929c975b6835fbfb6f41565c04376a5b9023100c1ea270076a7ad07d26df2266bbf1dde023fcc15a1d30ed65ae9e786c2b686a53f36165f13c5af5fee6b0a475a0bb9b70302047c435bb500673065023100cf51f1fe090ae0974f6e7b2b559b258af9a34ec0bd9e8884fa7202e98e3ef9519fa984d783f9f9f9a30eb2d64164184202300295b83fd7e79aebabc36f7e9ba2a56ce2d2da0180bbe91ba45f721f9b2fbb61883481518a204ef18cd61d6cf067c3840302047c435bb500673065023100e21ed5b1660d1e750ed17113a424e93c921a4bc0248bda9f79e27d750f2b51d5fddf4421015126bebc7aaf35f16f670f023031e04a961f160837e769da39e3c087b1a98044815c74abe03deafafa692b9fcbf1e26eb235bb4a5112ffa01a656482fd0302047c435bb500673065023076ea9e297a88a34aba979e19cd872a672fa61207cf96d91ef0b6428219125739271f7c581ce03c5068456cef6ecabf72023100dc98419d0929fef31509108579125ca6d40cd571cf3ef5c29e1f21886c9a1d826999aee7ab8e5e49b54bc195d6fcd1440302047c435bb500683066023100a3d0fd40aad06c150736d57289bd0430a78cf95848d72d583f2874a5f3e379f1d1a88e054b9bcd7d2b50001b2a599fe8023100ee08ff5bbfe96ca1f4f550fbed0f1d6fadd97b3ec3f04de0af0cd5e3cf76144a7232ef0d28abe5601eff73c2e130e6120302047c435bb50066306402300316efaeda0b7935014c8b397f0117a18e4d4907834ec1fb72d777c5ec4ad3d94103bbe0a86ee3685314fb247585009b02302f493575a6fddc59f9592a7faea660a40c7153474772f973c5e8d87070a5c25950f1fece94792ddb17c237b940bd48350302047c435bb50067306502306b2f972a01ca468d3f3d8c042f6a8da4d7858daaccb5cb50a05066c9e8bb80e88f7ed5b6709208f3a3448240e2175607023100effb08643d1bf309c6b0067c5f747bc069c1a10407f2a2d61e99aaaceaa1e69eafe053a1c40ee3e4cafee5e33d44d1670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b0b9a26be40aefb90b9938ab7b208a8b53e388e90badd8d7e4273b3e163fcdea76637e6046e1420928575c01674f8052023100b09b179ab2fa68883784f0da95be0fdf4d2c3f96de2b3cf99e349c9448ad8e795dab22b9e17a892b5df88ae36e225ada0302047c435bb50067306502305ed93347e9b7a35a3d9be04b5b0a0687b849671190d4a1b08ec216a65af0e63bb151f19e34c867a261f0935598a7bb57023100a023b259e14e1feb4247def7821d81aab5c8224386833ff2a031c3f45db623407d5d4e992e27ffeceebb0dff43d9bb4c0302047c435bb500663064023036846d5ae341f9543c9a4b9c4347b48abda0f2a7a2f09048eb1ee2b6263c315f99e5cc8313b155bedcb284877aa6cd5d02302b4eb7cc7746639194363df1eba435757a4d9d42f887fdd5681eddd60d931e083242e7eaaedf210e35b1391942fc9ffd0302047c435bb500683066023100f673a51a3ccf21bb75b9cff6f2e372d9844977bcddd0b1ba409420321684213338934d2c8ba6ccce26643aa3e000d047023100cd24a95b9ec3c6d4b5b325d01c8a5ece4983c5daf1bdd0bf98e9ea336f7afc748388100dbb89e0b8e06a4bbc07b42cb60302047c435bb5006630640230311c4a2f4918cdc2e2ee10a8e93f66637b16ab20a0420476117c2c527581e4ce23d2a748dda3a7c31da6be69909dbc2002307c00311d8bb79aea3dd4b47c6216d71965ad6c6184f93f651904cb14a7626e7ecd607ca47b2026b466871570d5f864900302047c435bb50066306402300771e07abbf777189cc6046119a0878c255b6ebcc2155be473931759d1dba613d121a0682e787a5aff0249a9f1d0ddea02307ddfb65a23c51df292c8ddcda08f554d86b4686a034b5f54eb3e0a241f1e314b21150865b5e66362121e3c81dc3781d40302047c435bb500673065023100a99e4f231ea3e7f2f0d98fab91887d4b586ded0b703366be716578bee860528316377cde7881f921e76695dc980d98df0230395175809efbee27a5829de457ead752974bf6d1114ac7bd1c79b15f5a81435ba7b29281b33821c022aae740e1fb748a0302047c435bb500673065023100850b05ecb103a91a95efc7576bf964000efba60e19bd810375415bdf8d304fcdbe8d0bec68a020a2d4378f13c946666d0230296db2e49ecf97f04d48f75316f6cb8723d10ca377dab68cc82d4da421b409e5c2494acd3ac4cb1803908d4f12b9ae2c0302047c435bb500673065023016c0aacb6352db05e3870fe621ac792456fa4bd40efc14c0d8a26ce25d4cbb9862170bf78a7cc4f240aff95415f3ebb4023100c67d7da863987979b147adb09b7f81fb36d3c7c745c6ba2096f40710298e09aefdca91213a3856007d01f1f8c8851d8e0302047c435bb5006630640230227b4ec877ebe81684d8806eba747cccbc3aff9f0af2246f18738c32904a10f5d7e05f96d6be8a89cfbd5e6e3456241e02307a03d43a3299b02d513ffa6144bdab43c240ed167b59aace745570c8f0628aab4522e810aad063b9590417d9c1644d6c0302047c435bb500673065023012e35e594081a6fd6077e4f7d2f9647f5f126ac4086e0d2548f32e2592cabb577bf1b9266c252a38449d2da754e7b8de023100c6bd1959e96a20b3379b1dc667ab4b7f83251b46e0aa2d0a34d2a6b57f62b37d5357b1f001a6b983accf7271a090140e0302047c435bb50066306402302c4a29863c31d15ff9f6a66fbedb78fd21582ce8c853e658ce178d6df029557c55c0d9e18b3375400a04c08cbeae8bbb0230498fe49d1eaedb91923380d19233e01602e511650a4ea90dab19b9121c32bac2449e95238fc62fb8460097d932e7f0370302047c435bb500673065023100d821fb16f0b92d7314b20ae32baece58c4304fb42420b23fa45c92bfc0c0a459c3f502565eeeaccaf5c74706332a99090230450e93b672036b0b5da2b0640b0c74a8c0913eb1d5fc2de94c58ab91e9730f032334ebd47428422659650d4d81e03eef0302047c435bb5006730650231008378872076cf6255a1bf853cc11b3dbf9a913cbe19a3e8999677c294fc3c47c92b3a5bca78b93dd04bcb9478f4213f39023046b4f2abcb12cd0d7a89ed51470c2e5ddf9702706602ba342223277cea9326c96a8cf35dfa3cb5f3b2b9856a2670564c0302047c435bb5006630640230633f747064280068cea8df87f884761e9bafb520259702199625131f19d78905484836ab1cb353bc36b0bd57243cd60302306180e64f305f3d084cedbb7fbe9abe3dea02b3d6163a5380001384029aa497820c074707d6abdf3638a6da2762f6a35b0302047c435bb5006730650230486bfd07078faa8c6b449de3eed2d2e3562ce424565ec06fbca1952b62ce6a996f9731aed2cadd0e3577e2ad8808eb92023100bcbe2f340f91a4ad2dc87aa4154f73040996f89e3e4f2f441801c25614bf49949b99c58d10ec8d65df8be71f67b5466d0302047c435bb50066306402303eab6fae6afbf8fee4edd8116dc1397eb57afa257825eb3f40f40c64495c93cabc3422628ba80d758dcc900a4a466e69023079758083e342090a89d7d6f17b068fa0b648fe509cc2160b8863177379739c3edcbc3c63fb5900f0d3b4777359d43ae70302047c435bb5006730650231008f0488315a543a839b6d74e36e4a7ea9786c910a682304122f7984bb0e3605bf1cfcea2a66462361726d928dde92141e02303a07b72585359fe2399f30328d7dc116caf62e5919632a40a41cc86bfb6f2d26968a630e429c29946a07b75e2b9d4d510302047c435bb500683066023100ebaf56b405b89c3799d41a3a9f532de7d6955124226bdd415307a424105a1460497ab03c0a50db1d8c8bbcb4b2a53d1d023100985f0315fae5cfc087b3d4bf83e544a253893f80030c934b2d94abca0462a4b5a50f67b8dc764fbebc2490ec84210c4f0302047c435bb500673065023100ff9990b4f36c2176a93b614feeb296874de107dd126ee5b73ef3c224238f78c07e2b8312da47619ab86b58543768ebb402306c1e1f56121dae7469d17563739e531f789398d2bbf34b9ca173be13a04c035724aed99a13c692af02b862545fcd150b0302047c435bb500663064023046262b616e1cf34425223c65daa14adc3c531a3bdc5bec41012e33716a2aa54f74bcd5b675b0b316cd2aec995d1b9ccd023009c37a160e41284d58961f0ffe30737c7840a77fa81274954471223e3429e7783b6d2dcda3648afc18d954732a9ed8550302047c435bb50066306402304f8ad6182de9a673c50c3223e91058b2ac458080c9160773290c3d94dc49634ecc43d7ff705371f6acf47b3c4b36bfef02306c39679e237e6787b69fc63317ccf2f4c4edff6073a0523ad14e0c1dfd3dba762feaa0b4da718423f70722544f3aea450302047c435bb50066306402304b920741c29612ad31485796fcf75a2c6777b854ba4d623541b8f5c6004cc5160b2c082d9e4001c9d131c438e44a8c380230138d877016ca973bcea66ac3cbc8a0d9020480c2b81f498d04fef9ddc4cf2f9916087fc89d374da7c6b47b0a81da738c0302047c435bb500673065023100eb12914c7add321b164ae43eeda8da12a44b3fc5f52a3f27c8d64ec0e9cb177905ddd0f7d6c41ad3311998365dbd278c023076037342bfaf439894f7734fa19b9a42044a16cd91d4e88b217dfe05cd0df7ed6afc929e9286c9afc7a82f72f8febaf40302047c435bb5006730650231008cca5a63d5ee6aa3de4a2900e24d845e77bb4830598473d6967f96405557738bebb6f1e50ca45e3920903eef16f729af02302f6385fd54dc846ebb514b443a3a68f55b3b0d981777e0757c5c1731acb0449b5d57cbeb8005a58d54e5f731e2f396ae0302047c435bb500673065023039b33dfe7b65a887e1c94822fe360a29cff98eff48a6aeb33ea2b94d09e5df85293c90ad6e0ec07512f826e4a02e6b10023100eb12354b384d5ff7b8198620d1acb64cd51717fe7c18bf873d3da6034dac4effedecb7b67372b46ede8905872e618c840302047c435bb500673065023100b2d51d86bc152cc734ea9791e54aec8968f6d29ea2a69ba1006fa31026bd0331d2358f22aa35261aa9e062504d15b74502300110ce6f57e1cdf5dfe5b1a9972a4cb781b05061518a569a7a21fbc01fbcf7182adbde8806d55d1ef0d7dc6b3e3ed96a0302047c435bb500683066023100ce1d6187a5f34f42e1b4ec573d8aa776bcfc51107296b8b51cb7b556594b566ebed53646efee7fe9e6dff2c6a94378f7023100930887cf2291511b0674c209520777beb945be8f8748a0bcd6d26ee2fe10c9ca0a5f313d2e083c3a947b8fc54c8995f70302047c435bb500673065023100f97371b1a64e66569e43c5c808b0657064b1b7c67efea75f0bb3980916759cfc600ee7a43e5412b001112e6f1a7c4633023079550305237c998f805158064604b62c8efdcd4e58178ebdc2d05c60615e77b106c1b862938cf3f6a12d1a5d167382760302047c435bb500673065023100b41e365f2da3dbdd1e94e16429bc15cdd2b545e2ab2758abab89b3e6e589b3d9acacc3185ee0ecbf163d7e813061e60e02304a896e86078ec8c7d5a2dc9f3bc82c7c2edf06e6f20d6779f8e3397a9c90b2fbe78ddf8f1600246567918014bf5c31e10302047c435bb500683066023100b574e1bba69e6c21b07ddc85eb97f4a5dac0dfe7738739c2f8e3147bb78889bc7a8493bc731ee1d4f0581215df952f81023100dc567d417a17e38c888d95df862278bfbaa6841259cfe9e99d26d3c68a996389ce22ea9693be5c3cd5c5ed9ba6c0f6780302047c435bb50068306602310096fcd94c74da6239f100088a8e265cd522c470c9fb3fb8dd41873aa82a67d7654f25997a2499c2eb8055553fe947fb8e023100cca3ceb6cc67669b9039101331ea0e38d27c88fc74fcc986a825d7ba85aff94862409db032e0081e506c24ae6dc33b940302047c435bb5006730650231008b41969beadf1e6b80061713e6f1ee220dce694e7a41b504a02a6490b8ee32cf8968594e5dca19d31aa576da76a4d62102306e2d8d8b04640f6482e1d640f751d37376915e20114cd7dae933a44b27aaf25bb5f7e94f472201973b1c0b48e47967630302047c435bb50066306402307bbf1a328b5fecf5e0faca9eb89579d847e387c41b5e7dcc9266450eaadd2228153a255dc450564562c3df74cb412c4a02306465147fa4d9140373a789842ad8e591cdf6e258136daa6556ac2a692e2a0fe4f7faa16765d4c5dd2dfa092b0ee96f6d0302047c435bb500683066023100d6010f807eb0a0eb5c99fa89a563d1ef292c121c553bb0c4b70580197328ba5bc19fa50ab3595357ce90208187e7d088023100b9be2164e7cd224ab4890d1c7db02a50b280a1c44dc344767d84314d2182e1b81385e09232b08e6e11a8aa402e9ddc9f0302047c435bb500673065023100f643e8e531ba19b8f4266b1213edda7cd98d453e261de51c7a5974d7c627afd20c028f31257320bd62ff77e6a13b7484023060a34dec8bfbfae8672563864df802743777ae3c8c1c19b026767ec7b78941331ea9828172e846c4a7088b94e3a37b9e0302047c435bb500663064023041784065fd5dc816f23d4504412b8376b9515887d06c2630c502f3e28a8b9b294d556b436d91c6e94f27b93a0d3ca3b5023044e03dddf0c21028794374d6597147135f7e89f2c1028486123bfdc099b9b46c68a5edc10b1daf51ddb6fae6b356abb10302047c435bb500663064023002f560afeee398dd8a2fd9dfafa5715ba2c1f3f9af924e7489c9895600ca5763db732d5f7cf7d77690502e6fe5ff81ab023028be3d4ebc40524e38d0f27a41dda773f66da1dd1077ed6a57447b51353502b81c0c9f1f85e76123990f54aa4af463eb0302047c435bb500673065023100e88b33abada46bc8a3bd110b8b0e21fdaa5d3d5d404b2c4fcb27e255bd4d4f7320728556b2ecfe40d6a39836ac4ef15f02305377c69ac35e2d4d32e43b3efda991e4fdc5d573c74aa49617e3b293c13fbdcc2e8db6492d5141a94752c506a1fdc55d0302047c435bb5006730650230412b9f43796b55245b1c4f71969c37d8ea06d8deaf97ae9df6120f678abef8e440ca247358533a472d44d0335198de210231009afe42dd8c108141b3de8c573d66bbdd92efe20a8494fb26d5092fe59805b2ba092019f39a842fde903fb98b238c2de70302047c435bb50067306502304abc460a0aa9c8cdf695989300ffaf8719b5cc9417675b3b104b4ceb4109525bc1876b58b6cb549d26bccb7cb58065c8023100e4aa8d2b054d3794dad4763f87f0380c3b1ab83bba4fd941ae02c8d2be5d706bb23be2a6060520e01a219628dc1d67280302047c435bb50067306502310090fad37344a04781ed71c350a4e69bf3412ac1858e38446db18d4f121d7d0215b28fe87ef40c681f6e9b907df0b86a11023047fea94e89f2187e3c977019edeaacdde2910c910dc10d3e218be24af12417ae3734cf3f2f1a00f1f42038994bbabc4e0302047c435bb500673065023100f833a463d88149c31322cda403adea605590ab869804845dbda5fd28e37fb095abed471e6c598b4ae9fb81ff34db358402307100ae6bb50e08ad0329cc85d8a19c9d1fc27e18fc39817cc293fabd141f078c3cabc87378169943ee7af125ca7c8a120302047c435bb500663064023006634b5a83750f6cfd745eadc7811d84b34e477dae21151c8d61418fad4ffed65953fe4f77c56028baad4cd69686b455023038fda8be24898ba4d66ad42d7eac6b1399dc1331976dbfc5f4c17e9c2f88f46354e83587864481e8270477eb915c595f0302047c435bb50067306502305f1673c6890b1241eba18cc921dbe0e580cc5d49cdffb27f3f7bc0e45978f30d22611ff3c6cf0c1364f02988a58ca119023100e834d3b883bac3d707e03b81848c88f7e9c043afeb7a5a34aef9b9e582d9e7321cc7983c2eb7dc124c2c879c6d1314a70302047c435bb500673065023100cc40a32d24ef5d89cedd639174d111040107a98b4769c6bf327a7b7d1a4b94f7b1dc210e27d4ccb57351c7fba18b3a42023054e7d115c7a5dcb9a2c498e07b77483c5f7bf6bdb8003cfce8f42ae5562a2f0ee58abc1dea4d09d075272b10732411730302047c435bb5006630640230418693474a56ed5d5a133e7f9ce76e0621af9c8e03db33c0b2170a88efb79811422f92d635d57f982fab6de4d7a36688023012c667b8eb4aac633825a5f7614532011d07bdc81b9181fa72f6e265e87c67e9d68c03cfee5878043c4aa19ca61f19c90302047c435bb500673065023100fd31a79f2275c17d43a1ddb2227f8031e614b6b4b4ac02e01b19cac5b8c45cd764468a00e14e7efc9342bf72ed0afd6402304deab9579685b3b18dd21b13a70bc0eac051da91ea16eba53e3eb8b80851a2170761f9ceea26127c5a9e066ae4c3dc9e0302047c435bb50066306402300b323decff159c42faaab75e76063ab9b1e7167a03cb9e89fdce3a8adef4c1e9a22a5859ef2e69c7b08094e5ec50d7ce02305af52e794e773bef933e4c4035027eb07fe2a2b2983164c19c9fd29ce6c8ce3f78a139d38c164842503c95825cc5978b0302047c435bb500683066023100921ae22bf44843877de8ffe3f72491f742969dd4f18e0647187e1651a6f07c3761bd9399e564900350f855726f88c9ff023100d49b8d70f743d7136cd70513099a9543180d75dd7b091b2bdb06538b29ef547e3bac5ca81c26be7be90fd954117bee4f0302047c435bb500673065023006e0113387d6360676f6694e80dc52a91a13c24382f4ed97850d3f8bc500af409a9c30d4120f8a975833053918de0b08023100b5e180fcefb78c0c99c5434d6d8d2fd68eb309a56bbb986d932001ee9083ae32e6fa448e10fc64e7bd7e112286de83640302047c435bb50067306502306b0f9e1ba282731db86c899b462705868ad618dbe0bcf68b3b9202da0a7ef5cb663299dc180a3af1db58697d7fffc63b023100b0592ea362dda4ed576675d74ad7b94929202a67f9b36df821b0b0acbf92f0da2d9fd0b284e11470a1aa064b1dbc5c150302047c435bb50066306402305f87fdd44c262e461f251acc46000e873af1c49f06e0ab825c985122abe05780408e876675f9288af91a170094d8df0c023010de158bf0d4121c09489568c4f69eac362ff1f1de514717e33eb1157e21998eabf7d6fcb3a275437d91a64937ca66970302047c435bb500663064022f10e54406cc2729f2ea7d4f5d02abaa339442103f2432d1777fe4854cf593c127c3941929f0dc2b4f72119168203d8702310083af5a720817487e821e2656e2ee8ee30f37721eb35df44e5d3024474e439869a251b7e1954df06343b3fc50af96e7c20302047c435bb5006830660231009e4e6d656d5720f07df1107315313b720d0b399671c589e690df85a9daa94a2aed9f95565429039ebe64871ab318ae7a023100d79b0324d0d3199e3f92b1e061cf23782e4a7bfe1ba9f1d0dba821c88249ed7b7eefcfb490a25c0c263dfb49350c4d8a0302047c435bb500673065023100f46f3763df33c45b42fe975180b3af10c5734ed4eb57f362f1406bc6119115f3552646c5e7b302e9b1ab2cd43a9457620230609f622475fce807abe3ffc851e09502b69ac11a8a97b5bca5b3f929e7f0ae1a45d7d8e819a640be15bb3534f43929760302047c435bb50067306502300829491b1e77e62c0505c0794efdebd2810de3d20fef20ffc62bb68e6a73dfac39d7e1c740fb497fe2c401fc0ff82913023100d05eed347d5ff05b14b0fe8b96765ae66fdd154f61cf4c01fc8ac01ee62c6c774684c153d89226866ce2f30770844b4b0302047c435bb500673065023100d714de827193aa9a93ccc4f434ab383d2f98744e5df678c674ff1d00f252d155839c7a0145982052a451fdd1680d7f11023058017bfb59fe856a790110c7abe16aad28f29df2e9cae073c299eea244b1b9897bd7be779c76a5b448f136fa72e86a3a0302047c435bb500683066023100dba33ae1e338452b96d40d12d663eaac8d1eed5009acce51dc63eec8dca361cc727f7e270a8f2520966ccd8e6a14f5a00231008019d4386992d553649d97a16c29c1d8141b25756a3e5426b1edc3697010ac713c47a47bf019968b7e6d8be2f5ef16a80302047c435bb50066306402307d2aafdb37a3ebabbccb8be5c518f417f3ab835245fcb8474ee1f66a0274f583f6786649d0b08088ca374a2919c7888602301ea556e1c77a0699c0ca6ae6b18950fa325d90957d4edadfbe7de8fe3fc3234a00fe513dbcbd9626d380145f36750ab70302047c435bb500673065023067ecbc48f0cc9f187b4770e371a8cde7d043d4a7b0efbacf6ecbb3da7eea13f86e73f648ca59d8022bd4a4b236ea4db5023100ca7672b8a783f7bce485bdfc4bebdb002101a060446b4ad79d38a22a1ccdd4e72d004d5e1468000416014818b1a1b57a0302047c435bb5006630640230199abec96918fad161202416594c03c373697143fecc5dbd389aa12b0c12523239729b03ebc8b1e8695cabfedad2661902301e36e624761590fde22b0209462c63d3be52daba4a17128d3219e2a63bea99672af6700c8f08d5ba6c00bc170e7baed70302047c435bb5006730650231008c5f5882b90653c74bd853287d2ebb80876457e8f3adad6a9f2d6e40f52bb121378302fefa5bd771e926ea0bf3aac56d023058d6e912202db48399b9d11a6bc11d1f70b81f71219419d417f183821963c86a2817e55e8685c1ab418b2690942dd65a0302047c435bb500683066023100ed45a989babb045b32b489f225fd3ea874cfeef7fd535491fee81ea37160e7aea3b746a37c74cf448e9fdbc7cc66275b02310089774f88373bb5d625c56bf0b2d6af00f15e2c0792bfa090b09f77816a14892e3f45c58cb984603c9c3145d762d2d2210302047c435bb500683066023100fc3ccba2a3d724a50fd07231c81cb57274ae792e454ea48bc7dd4b34c4c9586d077a79d95fff5b5f31452e6f053e5f2d0231008c39e7f54364ebe952db6972da99b5b82545240baf0c21b3db4ead7073abf0062b229729d64613e83bd86b8fdbc01a2c0302047c435bb500673065023100fed2c9742e0cb2ce33d23633826758b56a8c506df15ac9f6cdc218eccca919f61623150294a2e1b4c8ae6c2344a8cb9f023028698172e7f1da2f5ea44d6af7f2caea090cf0b0629a4b07fa363b2ee45294c7cb5696ad11ba46dcc92de1909e48459f0302047c435bb5006630640230671844fdc262d72ccd145eeca71aa69fc15e230d6078c3dda93f8524b5cc6fd8e71350b7bfeb906a7422f25f7656906402303d44d0e34fd6a5e6d4bae126e11741d2943c0356a6ef54e6e195fb6b4c3426645b6130571c4db0e51939ae7b665ff8a00302047c435bb500673065023038eeabeb1c58dba35963cce73a47a8b4874b1007ed33b9fac2d3bc3476f0c7a8cbfb2256e71fd0a332c746dc07738cef023100c6bc0b3442e47648a54ef5a090802cff2c6ec62163fbc691ce8cf7fce33099b133c1e241bbedb711e98b5414139001530302047c435bb500683066023100f3b7dbb3869a5e710fe486236c3b14b91e01c25f261a6a25b2f53b401b035b12fe66e93abb5a7a98f26cc66748c96a28023100863005096759eba26990e0915366d3da60f1b35d9df34b62770c3287598a4411bf63c65b5ea521e41dc293b28b0998450302047c435bb5006730650230057565a6cabb10b2f5ed454ce0f39a12eab05a26787164dbf9c7637e026a6fae0bd315825544030bfacb530bd27a7fff023100896a2a592a1220ca648d1cf295540480dc3cd1cf50def440413d04cec789e56886ffc8cb7a835c46985f7db7c1d5f9c40302047c435bb50067306502302c3fa9010634ef4bbd6f7be253c869604cc7745db9fba55e601c0943e1d6d3f3248c2d1a10c882b921893f6b7d4265a6023100cde844e669a3e079e93d914ddbafd295918558de0d74c87fb1a6bb4d33770b3882a622912cbfa392e7cbc710434d7e560302047c435bb50066306402302109d9c96f3effa1f8b02e373407ae5f6bee88aba973a9f8fae1eca4aa2328a8f2334ed310cc06b1b782149029c02b9c023007c9fa5ea79c12bf919c433351d8efff54386967a3e30fa8ef2cf4a258ce95f57288eb06fda5bfb693b3cc10bcb086660302047c435bb50067306502305a2f262f267e3772e07ab99a5877aa72536ac0682b827028afd6ab617903b204c11c3918e489644312250d3a986c491602310085976d8cc0e7e85fdd5b246787e9bca11843e93551a644e8958e5482e706ec605756ba0f06a7e37a2a95ba56ba5a6a960302047c435bb5006830660231009c1b522f5749edae4d9016f7a645ab0031375ac0616cfb94530f79e01a18763d2a1f40b6724c9b1e1462083f75ddfbb4023100dc17bee469e7fd936555c8564ff757562a234ce13173a3988c7e612a22cca81a424c6044c999f6e21f8691dcd9dc70360302047c435bb500683066023100ab1e6bd477092c208ef3fcfb7c269ff4de30000b15732c0a76fdc5db37635393f50faa924931d9eb7c1793fd250497bc023100a5cd3f4f7a15f54184b6099c921daee82d0a453ba3c5b755e1648a0421f882f9e33ec605b54eba79b25fe9c22b98a91f0302047c435bb500683066023100d3d6a3b7f01085ead217a2638a4715a69ab82760af71ee2b4bc8182a78b79bb0dc4a1da8c988e74046060b0ca716c4e5023100916382c4f3761c36ee4f53bf65db85edc789137515c5946fc95e6a6aa2e9d46ea905b03d54c9663f92ee35c5e481c2b50302047c435bb500683066023100fa93eeca36f9b71388c695e31f843c408c495b379a7de8734dcacfeba54b65db7b3239e3011a5b1880e0193b52300700023100e1f5e7b98f3a31b20bcddbb9e7bf633e588af5c3a73803c80d281aac54314ce69ddf3d815d0cfc89d197290bbe8b701b0302047c435bb50067306502307c57f0f4eadb4bec80af8e7839f0e26b1c5f79e8e12d488a969013923ffce43e9f6d5e386d8899c17da6133a522fe14c023100e2b39d5bc8822b2e8ad5820ecaf0d4fda85b07b1a143adc4d76dd2ea2a7ad06411c30b6e1e81089ee2204d344d682f690302047c435bb500673065023038a6c5107a74f3b0bface3e356d37082b308be114775c2763e1f4fa12cd6fca5b8c085dbdd06bf5d77f1084e4b880e73023100eed02eb5c553cb25c1e5351147efce8dde56bd000493c4e1920ed788f47c95d43dddcbd077300f0ea63087d04fba87d10302047c435bb5006730650230643687a337bae30f8ab5dcfa356e6935361306b3740c864630f0119bb6252402cd4914f3bba3dae50e042e1fb785fe070231008bbd3ab80f092da3af7ac45210ae15e46ea10c97223b6788218de1f6918d29f259dac707935b4292f0f48fe4a696d92f0302047c435bb50067306502303ff959185ffc41a726a5ab69d22c5d4f61ab5c736131f67843430d6184f881ebc786261dec947b4dacb6ff378ddb1354023100c8848f0b98bac13ebb6f13dabb74495d1daa8e977170b0f2b7e571f1aa11ff70f444725fae5b9c76bb15347d74fee8190302047c435bb500673065023100afa00185a04e7fce9c9ff9674293a02aebaa91e18c56ac59243ed79af9555d36b394523220086ad750bbe909b67567a6023015d79640a4cfa3b4359f8cee6363f35710bb7bbfe574947e9b201de25a4074a3fdce3f3a7a6d2e619361a55ae081cdb40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230739845ac3d87ea1f469388aa3f390f61defc96878a9e35a2c2a29e9590c997f91a161bf2d5176ad63c4d619b924dfd5f02307bbfa4a204afa4466f59a4d1cfab3a79c5b5cb313d99fbcb848fd01d0e45207ad53e8f2aee28069336a96087c1edc0590302047c435bb500683066023100fefe14f8fbe7c56f6e08b734902ab36f9e25c407bbb587f24634cc9709de5b4914035b235db5dee069cc8d709126e669023100b094092976c05f31936fb23e379d7595972e3364da07362804a38706ccee5d771d5187db4ba8383f87ca73fcbfdddfc80302047c435bb500683066023100931be76fbcfa3afbe9d12554b89c12de8712898a6c698f5b4a3efba6155d40b241bc989033526fd88dcec2d50a5b1d9c023100eb59085aca823fa21e3d9a4b0e52663ecd572a473fa7afe262d946494ff9e32f965d1370f2712435024914ad844a10720302047c435bb5006630640230250c6e5bd6f8716682da8e1b21d4e4e1819168c5cddbc83773b36d2bf482b2bf49e8bdd56e94f21f66225c6d9431609602301eed44f807677761e5a335cfe17f1d174be308d19c3537ef5783056a1aa7926053422d8cb68c7b07ffd0be753f8485450302047c435bb500663064023006c250de2874ff204e0d183d6123732b508974be167d7fc0b6a55150ed6407ca4f4c75f7fa3c4ef5d2dc5cfd355f700d0230038aa9a7f0a955fcf1a9b7599f119fb140e0b7369809b03a4d1ef072e6e29474c7df90474ae7243e7310f4df957b155a0302047c435bb5006830660231008e0a28fa7133bc3021b465de7884922d758e5505251c20044db4b66a4f5c7974574baf8b2be6a0f8c754e75ebd5d2df30231008c63450cfd87d7a8d623a954db835ae3ed6a405c5e26ab146c1cc6554e0dc75a2f0d2a1c9dbab3386074464be4423aac0302047c435bb500663064023049a239a10948781ef0b13ae1007d7ec15b3a34a68831c52abb7d8a594e067e5c27fa58f6417936d3f99e8af148ab84bd023047c297c22f36a074534b5679298ce912f8b11cdcd3ffd2188e2d562baa9a4be42912dcda1a7f57ee060a58c66d7a729c0302047c435bb500673065023100f3f90a2c8e5feaa329c0a0111384e2a43a5d0786c5edabb7bbab8b6f86eda722877913e408eefa1dd44a0a52dc783264023025812341624d5f3ebeb6689342528271b13242e0c0003beb62a1988d795ff4caa1232401ba53328f0e5b081fc93368a80302047c435bb50066306402300513d9a5c69807cb935bf3f4c9b91bae39b517a8aacd8dfe6303b84c219a550e3822c25c2ef05efb5ccafd1d0fcd233a02301e2e30cf9a87ea8d42a625cc8e678be47d1349b7b386360d43f21edf9297bafefd80b3b6bd6e0e2d40a78b11fe4139610302047c435bb500673065023100c13f833637f7008f10fb8b5cf77303ee01bd4923ae92c2e2cdb29e6621588891f3f09ace57b64c35120ef13bc21b0b4302300d509ca2176034cc66109c02f9b88e807e3ee6632e50c254ca0a619d361c05292b74c0b834e397b8860717db033e0a290302047c435bb500683066023100fc44fc390c38c8abf0e3a1d88eb4fd3ddc9697083f6df2203105d27d52b4544ca20503dc1abd04d6cb8df7d85b70848b023100e21a24e4297e95b575ec256609c6bd5d9fc63527253fe6ec63895333b8842b02213c6a4df584e96c0e58d9d6d326330d0302047c435bb5006730650230068dc88e16850bdedc1b35940581cbcae7a6bab8e762236c652add2ac7a08c33a1419aabba2d97b25405a9b33831da26023100f7b369e035fe65947475860bed1e1c147ebd42d7bca9b6edc78d107007d01d802a873783d4de426744cae02bf881d9570302047c435bb500663064023076562793f5b5d1a4b4e1b2f8b3a8690904709652b067ca3f4eea3a795b63a36bde5b7bb03b898653da79624e3784b27602306396ab86eae5e40480b289f6d8aee1ac8d2dee5f2f64026852587cd06ec286d1c41b32f14b42d7cd85e38a3b965e713f0302047c435bb500673065023100e035095b50c870fa878f0f8c21a8f2d12d9337852323f348ef23b1d3b64b08efee096459a588636ed850dec915eed18102300401f41f2facaed032f8d274c4d691b4e3b327744ec978b2280eaea02c40b4e0c5387b95f79af8225fe5e40ce897f7540302047c435bb50067306502307a21168a3c0ab4fc650e80ed57bed5efbe984830969224841cd6306f74747ec5820564f804d8f786f9fa40e281c63f0b023100d2330500a4f135879681e6d991f89c943d0b2ca35a7ce7a525aa0c16452c782892aa0eea9e8c27e1817b9d11335572b80302047c435bb50067306502305142fe1b4b4c5dff3950719c9496df3c1f648a421b941b4c62e7ec8cc8e3e15cee1c98302d4ccce14a96db72e9a834ab023100aad45e0bb80e72cbe80fd43c9f2806d534b656f25a5f3e6dd4148cdaa9210c8c0c7ca0c3936809318508da8f434f33ed0302047c435bb50067306502300d8cff2a21fb1702e5d93fadba3f347d069a092cc595efe76044d8c56e30a6329267b5147defa33c1618acd93ed2a811023100c053514b11ad9ea3b0b6061b682117f27ef93a68e1018b26fc2f428f2c989bc519ddb6b733cf7c004d3280456c936d680302047c435bb50067306502303fd81b252530e6b344058f77877bbdd93ac2bc7be13f6da7dc710ed2a66d698a52a41ba321500ef8751040b4bcc5b57f0231008b1e9da41d988314a99d3f484a026f0f085d28d9635a4809cc8761d8dd0e5e5e246eb5839da1b436bee53ab26999b11a0302047c435bb500673065023020c4dc22f52e4afcfa11b9012195167d6ddf43cd35557323a45a9e5c0d69cd2ba35a4a220f6a328fa3d23c6f083a8686023100dc22cb9b2dfa801679d21a595c127823dfac87d07fe2a17705e40b5f592caa8014c9f897b1b3d006a3b91a3eae5337b10302047c435bb500673065023073ab021c29e3ff14478c99f628f0b4cfbf6134276e02366a405b36bfee5b1a75ea821bad7d82857bbd41aab0ad289f860231009feff899e4e35753a57e1f378c54d979aad83fd3af73a0fbfd74570ec919954d7aa98c15f254d3a1db363e27b455c1670302047c435bb50066306402306b913606361bf0d2bb04e00d706c994855e27c566b33777c1be271cec9fabc6e3fa49164f2add8fd843d94304fc2c9b10230670b7979469374ca8d905b825955ee4132a12b1626fd252787457e7a5ec143827ad8f7ef4877a68313bfdecc4535b1590302047c435bb50067306502306e27c44cef6626446480666abd735cbffc2e593d8e353b667de36265198b87c24559041a6cdffac2af19bf7a6308da62023100a82975becb67a9113d3af62d652eec09c39268b60bfe475e20c0852847624f47c358e18ae2eb0d9037c60c574cd15c5e0302047c435bb50066306402300e34b6c65ae596526c37a61b5ee765c67379d95c385030313e92c83ad79fa837b5f3bc15af889c4014da40abf9cd467702307e43f5e4455cdb67f84937daafaa6cd961584a902e31fe830c9ac4f6cf2ffe5bee2d3a18bb2ee3462fed885deb417c170302047c435bb5006630640230728abb9cd5e411494b5d2f325b979c306e6da2ecb63624f33a312b9bc6a3d1b97583f8351d2a0300c250e74852a6329d023040f06ee53c53d7baa4893c539bf75b8d10d569543bf2623cde5cdf5950707ee3736da140cedb374a21adf48b02d6d5e10302047c435bb50067306502307947d55ce66a329c969d39942181587575dc186bdc2d66458e842dcd3848b0969860b83582d00ad733191de34a72f0b0023100922ebf6359fc53f273b5914f06e53aa9b4436ad7494a3ec48f2376c27ac6f0d405c1dea04db788a10a5490b52525bed60302047c435bb500683066023100f2bb09e54642ba02e0e35e50293181722f14f64efcbc97a547d7e194ad54880a9a5c294887bbeb4ffbb9958b64330a4802310096b32d371c9f7f5fa7b9e09dd44170d04efca136f9c5690c01db361a2f4a97345242be42f4a6c2726310c87ad8b4b2cf0302047c435bb500663064023020b01d627902db4dd91e29f2dc298da6d5c29d0e9102ee9840b8bd3a07035822a95d143f0d43eb329b3efbc0f1b2b3e502304e76566f73ec30db2f5e631ea1b835e82f2e2936a52a0bc35513d7371b0434ee751ea4cf3ab599ba35ba32de881d5e7e0302047c435bb500683066023100a22641566f1b9f6518467f8d7e4e4dc2e595d2f02c92540119b18cfb0172ae0d2cc6a5110cdb34df73081326f2f5d546023100d4470a2640602c265bacadb8e6480815370ea746cf4e13b0b801371acc3f1a9588edb0bc6e91653ba20ce8b38369002a0302047c435bb50067306502301d8c836f00ef042279bbf7c11494d65898455e5cdcad94409fd86b84dffe868cc8963fbac85d1db316346a81b34faa450231008dc990d172ac8b5c414ae4da59460b1cc2f272a4f6e94b861b2bc86d30ec615750782849936738be0bbe64e5d3a9d7d40302047c435bb50067306502301788ae955989cf8267f776043e20ccc6c5f58b370a0c3a6571ce7b91ba529e9e4f0042522533432655b05a5db861c717023100d3a585a56ec43510206126cc550a94f8b87047e43c00135b215a084109f30e11816288ae1fcbd6819421f33a2550333a0302047c435bb50067306502304979c9409d1bfa734d4c58681dd2bc7d997ce91db974d837cb55182bf8a425a91ab352aa2bc16753783a244ee6d8e7140231008865fc7c2aa78a99b9317590d40210bab9bbd776e85e9881f413a93ac8549f7bb62c96c5718636c4c97e4a6c0910ebcf0302047c435bb500683066023100b9b3e65dfc80efdbee7e33f0ce8b8422d26afad859ab088d4885c9d47a51dc056068fab53d35fc2a2903925aaddcc9de023100b5b6a5acd8c924d0754777b19250018795f53a4c792761d5a6807f8c5bc4eb01c55e1c3ebe76a2316182454a611d7f230302047c435bb500683066023100db431776d6f8feafa17d11a8f1e43092a3ae2ff08cba3fac3da1c401073ebbb2477366b4b297cf3735d32f4847350d8c0231008ee27cb03bdf8d6f51da2458a5d341148192f7993c86bd925a23b518f0244056fc84453da804b796056f4f23f52e8b6f0302047c435bb50068306602310082dcb674e4e12330c2d51ac38f6b3788d0648aea6d6c14135c8a4d8cda3a6b8e9778428bf9450c4b515dce4e33b76a00023100d1857639e4f1a7c5c49b72c0e3f6b1fcb1c5e378e82ae90f1d96f67844ccb8c9ebef485f09c368537ce9eb34842995f80302047c435bb50067306502306ccaefafe09d11661588c661d8671335a17a18401e0721bd967ff6ad520e1f88ab082e742f709b1f43c97e4fbafbbd8d0231008ebbf6ba6a50d30967f932c1474d4ca43a9378658ebc5f19eb8acacc20c01251008cdd5144e58e795c2f594f800034ea0302047c435bb50066306402305f80fc42d97e883790bbb822325c84293d7547a531cebfc9c4d55a63d664eee34c60fc80ea64b16d5b76ee9ada1478bc02301d4ca329acc4149b208b045132ab1a1386c56cc4d159219976341b29b01843d3e6aa674e30f2ee94f903a60aa85ee5c10302047c435bb500673065023100db0cf1bbe65f558231a929598f56a4a3a2ef71491bc0a28d5cb176d1492c1e1da0d6688afab86d10e695e5429e7fea2d0230562e86094fcc649082c1395030ced3e81c135af6cb09e0479f02698bf686def50eb18739e0de000fb718ab91e54ce6de0302047c435bb5006630640230491827f73e0a60227742dbd177b9f0ef774441e5998d5c4214240cad71d2f2eb617744a8845c10adaf1a374dbdce2e0602300d89a91671255a8b8cf46161149f1435282edeb5349ba2b2b61be364432ed983dfcb7c79d40a1dc7d43cb67cd1e54eff0302047c435bb500683066023100c6a7b819546f6d779a9dc06c379175abf0a82db9e3784c0169e1c700509ce3d806e54424c91bf03a413e921ed21d7d59023100d185bba376501bf825581ceab56aa64553f82bb1333794096aca99ac42e138fa8d44681211d493a097bd3ad3a2f8246a0302047c435bb500663064023039829e043720af28b44f6405a1008e553a633c0b0612644e3357fa957e43e3978c75c43222615543ff17c57b46c708e0023034010050d77ad8bb0b561937ed56a30fa175cf48e95a6da4d721f52357645d41a502878521bbc1f5e0389d83611efce80302047c435bb500673065023073d250d34abb7dac3420e590f63e5b69aa6bcf5636a996c87639b8f10a8c595604f444e52c4bb2e9f3fd1a673beb1517023100fb5640ae213bd69d5bba084b7710631853688090171ca41283a74939c34e90b0d874d3f6ed8c7329d0eee2986a3b5cde0302047c435bb500683066023100cad37a9220dc462d38ebda033bb33453b1c457cbac5e6a303d290eac0d69665bdeb060734f6dcec9c386e2f61a219f61023100d68ebe4c36efc0fe64ece1290fa3808e0e9fdf534d41e8ff7dedb973bb2ed27ea86aaa22611f3e95cf8387ad8c772ad30302047c435bb50067306502301498c0cca4327fd9a83420a5c94b0c2f25adabb4469080f1ff05f08ff2b7a312b45f88da4c55c92b9a32db0ce67cff63023100fddaa62765010139b74c25ef8483e510c14e748e6716b6c06daf6da5dd88927be29adc9f7df5f4bdfc993ff92662d29d0302047c435bb50066306402305f5b3385e9a5e153459183f9150ad0fb191d73a225f104ecb426d941bd627a72e66eb7630260b5b7b2731ecb4db7547d02303118a1bee23501f5d3f534c64e8405f5f1a079dbd84acc17e24155dff012b2657693e6b729a38aa7aa46c633ff99332e0302047c435bb50067306502310081adf6bfcb0ee26ab155f7282469a13d52bac0ccc40b416ea712e4cf70ce4a867ccd73015f5fb57d39a9e332e90b924b02300e3e7de92a5a666d1aa165b2f4c90032c27edef9a376249b55ceed8ef2c9d75fa5a03c5d9394dfa24886353e92d5903a0302047c435bb50066306402305734d238376451577d9c1bad1ec78a2c06f3779d0f08e6d818541b683bcc864abf2b17d59893f6e5a0a26459037c6850023013ec38ad5d5cb549b5ca2f87d3cbe8c235f518f29765ac6e934c0d832e2f8ad245d85353edb693b9f1c439bc4178fa030302047c435bb500683066023100b7798b73d764ce7b29948b3392a735ceb9e3180ba74d9eb8133b0d9c26cbdc2ee000966d065bff64db177e3158221580023100f1000930f9c30d8b4254a0b450cfa7291cb11487fe6d89451ff8d6e6efab96d89e5686cde920fdd8ff23ac39547d8bfe0302047c435bb500683066023100babd88378e4bfdd873f911beadd374e4abb00a7e59ec7f93a8f7db912e52fbf7dbc7ef8ebb7b3f5a760f0ccb6ee549a8023100b3351734d7181993f527e209acc78c0bed504ea2522dff9dc1554725ee27b798a107064177efeec1505be9ac3632ee0a0302047c435bb50068306602310083c9ad9532171090728d8372dd9264696816b6b679a262d5a25209cd3c8d723ddbcf809dd369f9d855933461b432fce3023100a3e645371a635cb38a982ae957d950d223f7f019c3af4d74c4902d15eb975a65a23b306dd0380557ec849ff7a72176540302047c435bb5006830660231008e01c93db005ff5bd6f6b882936a8e21923d6964d9076e78ac0b81d76714f0ca2e112ffe540e23eb94ee0513205f6697023100a8f24b56df505c29e57d27a275a1c1053da1f5fb9a62b952e0168ba5782a9305efa6447936ba1b730f8920ef120f95c40302047c435bb500673065023100cce33fcf4de564593337ecdd01402d9e603288731fae391df80036d7f7c18983ae80d93468b3042c02128b722f6e874f02304c5c50f3e9dda0969d9943dcb1d26a1cfb7c4c5c0e22dd6dce113ef8343c51c83de913038cc7ce9979e1121c1297d49e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305971a9ed983430dc5113f64fd0fe3aa5c205357c8c43f4aed3503b9c46b96eb0594838b0f629e32403278cc11a9aa2fe02310097ea1135cf0632050afb88d66bf671d17ca911c55c87c37b9632095846e8ea9c2d466464599bcaf5dabbc64f0d77153f0302047c435bb500663064023031f8d97ac5e1c2cb7ea23d53ca63b0a05cd7d5f286d1471afac0d74b3d689c7ce8aeb7991285c4c38ad7b9c450edaf4e02302bb35c0d8ec2e0801e4c11a8eb5afe3a8826ca4fbf9ab1fbd2f72640ef38ef42cd87567f57d31ce374a7948f6c2797cc0302047c435bb500673065023100c20f5a6e40d08a3eb50993f5663a6c84c7bb52f4f23df4b12df5b501baddf037ce5b9b7ed7ca4812f80e9381ba26599b02301332a716b0eadd0ddee463d82679b7b987bdb6f5ddc74ee72a153ca324ef20ba8b4cdd2586b7f5f422c2c3fca5ee00b60302047c435bb500683066023100aa470eea594de53dd80022b0b1a419bfcac9708fdb0be007ea662c3b9abc55f50cd64855a58cccb6adb3e8d2b33784bc023100fe4d310366c7ae41a9e5c72f6b171adaaea82e5987599fe2d764751e9beb32142af4dde4102f217681e0b8ebbccdeb2a0302047c435bb50066306402305ebc383f44dc93e52b78c33e6357352e232d63c5ef08c4910477b4757712aba6ac364c3e432a5b5d22a364df1c2a54e002301a7924dc30395b339f7a57328d7701ef36f76b3e55419f1c745a9dcb0bf42a9ea4b35c63c497ac681bb4c823d0c1442a0302047c435bb5006730650230649e5143ccc3ca738035e934b337530c0a7d7fd7cd54f876dc238fca3cefec7e56f0f86867f37ef492e3349d9b11d7f5023100c946bfcd7606b1c88dd3de72f67af5c20bc66eb11f87cb974f3fb86a875e7419ac80cf4979835ea534edeac5aad313ed0302047c435bb50067306502307a7b184d06c05b5a28d87bd881a783faeb3318b7b2e795e4d178fe9546e73f35e39b523426bcfb1842236aab60cbe0c10231009dd75db6052181fcf90ca902a595c73677b4aa1d6801f1b3cf520ee711b7b32a35867a8e70508ffbcd4d07b4499d4a0b0302047c435bb500663064023076f8c9d915e3706cf02a2b5aabdf4ac090b9a442f767fc1867ba83dd68a3e18be5e7cf40b4b533972ed3f2b22f65f594023043506b54eae29d18d0157126395b5c388c5e31ce5899fafacfddfa20b468a8abe8c70aff4a52560321df3cce1b35c4640302047c435bb5006730650230572bbe5b1773b993efc9c15b785c27133682737768987a4171866d4e5cc7a08ec52b1a8efdd461f278a5178120c7898e02310085dbde7a75c83b741fed8548f56a88bfa7a5b7eb5298b490503a4e01d0bf5df26f8ad245353ff41254c2f0feae0f13790302047c435bb500683066023100af9ef294b45de6614584f033a27dd15b1eaeae5a67151c2b25bd8db50ad75ffc3b105cebcd27fc9a5dd4b0029ee20ac1023100cadd1c0c9ca3529c47a5b5132203625d4de4a52928535ba5b7aa25f1352fc665f70807a0c21dbe6542708c87a93619310302047c435bb500683066023100baad0c4b76ac94d8e0f4d3d93334d638a4a9843bf1eb03583d2eb0b785f784ceac45098e93d018961421addb7c3dfed9023100e41dfeb9093242f3d6294adb1ea396c72d6f30ffa11218d959dcecd171446febd25b25c751cbc4b2e97092dff8af6b4e0302047c435bb500673065023100b4ae1923a78d8c96094eeef969ece961076d68d9b9cc8a9e12a70069afff11ee8b82c88a0608f3758df2fdfbdbe550aa023024eee3dfa955a31ab639cef1aca64a048bfbedcf503912c5ce45e97ad2082d1e366039866ee08f37227bcb415ed3fd1f0302047c435bb500683066023100d9586b7c15756144c1c8566b27c0948a3f3efe2795a349c9a6ade59250cb4f1860c096c616c54eb3e14fb66fdb28e7c1023100ca4dcecaac91f39b8cabd18e3a03248ff7b963e3830d589028eebe76549ef4104a189af094731b6bf8e92b096c1b93d20302047c435bb500683066023100a67e0bb348359f62fe342b7f896cd763e24274c3c8b4bb566222f5ddc4bb6c59b7df2301a974ad9ecfbb674077f386dc023100b1bd6a9d1b2fdeec0100aa954fb94ab800ffcb5f879b4f628857137adf5c4ef60daec9b826565b8bf65d58b34bc3a13f0302047c435bb500673065023100b50d379b8bfee86d1b344f1aa4c5553652560b0ebd3b16ed47f67aca1c1b227fadcf8b03cb2cb74c3e6a6b9bf3e25eff02305a4f4f7d9d4e24d89ef366149365b4738abdbec077d03ef7f8423d9a5de65b1e23d24c62c1a0500349971f0c22161ef80302047c435bb500663064023025e93271de7dfb7e1f60f0389048914b4954da58bf225e17680936eabf94e552a6ba519c89caec040233e05dfbe8ce94023049c5b6c2796f76ce1dc8fd6d94d6f9bd41b1ce707a46a253338881919f3a8d7cc8fd74411cb532b25b2f9008620e59fa0302047c435bb50066306402306d49d136258b6d104b2ac7a7f2f6a500865527e8fa768c04ef3a1258ed7600307540e4338b94445d2511b13b461148af0230177ac49040c6b6a4556b1baee64ac7664c216a579042b882ac6d446b089ff43a5bba813f1f797a6578b602fdc466dcf60302047c435bb500663064023053e44a1772b33ef359c65fcbc86a50722bd0c6572c958a056be09d5aa709a71f638377e2147d158ea4eed4f4f3f3daef023001248ea1e63d005fa25a7aa2b2f086e0bdee13b3bddefba6661b3ffc39bd92fb3ee775abf42735a6ab981c328cd943fb0302047c435bb50068306602310089418fcbf82398f83e9a1e0cdda90993cd44e7042322beb0840bb9cc2649cd10da97eff3d6feecd5c493590cc2ffdf3a023100eb2054149ef7e3187e6a2c16b2381506cd5d3f8c26abac8b7e07bad95f7c7871cb18c1288da82514e4b05a85d64744140302047c435bb500673065023100d922248de439a292cc30b6c1ea67ee349c2c0cb7d75fa26d749ccde97637a4f0ef64abb0915658e93de481f04498bbd7023049e2a2518fb228bfad9ab13196de0f2433e7f1c58949732297084f9a1091f2de1811b53f58b68f893bc9a557ae1ba74c0302047c435bb5006730650230064e564b8401ebd2c0fcfbe2263366a10ca913ef3b9bbb00199423c3584c2e17ce2f413fa0dbd5bfcb696ec37f135e5e023100e273a97f195b80110d0ad6c93c4a0823e9f117dfe2e91ddd5130d7aa69ab33080536655ca2c3c59b1acfffc8cdfce0a30302047c435bb500673065023024d0a57ff14e233d7f2c6379d34d4a2e855108b9091b46f0373f107131dfd28edd7936900bcd121f64b407388ba902e2023100e2cdaca08a2e8d2f0aaa996b8b0f02e6308f690584c75cd500d77351601419a0b8259ca7d2fe7dbd665aea681b43c3510302047c435bb5006630640230182668bc944125c6f43bbe332e7aa626a4f213b30d0fa999d3bbcd0f108b4f76941a7a799c5da2feadfdd5ae408916c1023045c7f5fc51653bb18caeb0129e81fb26fb7854ee74e682a834c1539c7e2d4def0eb58d380dd9fef332135264b66b31590302047c435bb500683066023100cd1fb6632dae147273e60854b67bc1790e7357a00500c4a86ace47840a8ce505a8b6dff84d74ae380a3e764c5f7cdb7d0231009519db45efb89493f691a7e2206cd370f68ca7aaf13615efc7e1d4697e904ef53800d5e570bb4bfbf92d6b81171358db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fac3aad7606236fd46e7b4213e35077a8d8a757427492bc25d6774037071a7b7d6ec2d65f134c7d90a8a4b5e10584b6e02302f171126e4d0bd278626eeb9defbaf1b725de7f2c021bd5f0a5cb59d92c846deb9e1ee54c553c5cc6bcc1274fb8e1a860302047c435bb5006730650230584afa2b1e576f1b8814d2e45c1f501cbc21763120f204b9ff955cffb63ad36d10d797f210b1741107c33a7aac320aae023100d02289d23ddbaf5cc5a81b9ec4d06254b8469d3c5810af1545accb30a7879851b3cbd8b6866e1708810146b91247346a0302047c435bb50067306502300469b25e4756f05ca9af3b3e3ed0336b2c58ed4787b0944e3ebd4f370c778595a7f947a13562a88ac89140255c5452a1023100d6bbd3003d2a1c85fa251a22678ac2010ed560bbd46a22df796c6cf049564a0498df78fab9925deef72f42bb26edbfc40302047c435bb500673065023051618293519035883784cd865039ca5c1c74ae6dc8cce43963e3245bf91dfe322d20fdbdfd5567035bb15360bfcc05d4023100b97e0cbfd6348336bbd779706f9c01e94e447da5e5549a71ed47de2fb1248856a56cd18f3154afcecccbee042d08a9770302047c435bb500673065023007731548efcb3300b71144a7b7ef595f4d50150b86c83becfd67c9342a7ffd60455970bb82c9c11526755c4cf51567c5023100d5842dd2e4da94ee2b67317459354f24c9b1546e49a7f68caff70f0129a01061de5b018c3c7474607bcaca094d4f57440302047c435bb500683066023100ee45d2e77224479c4cb24509a3b5df6fc975ad7ae3547be3a6beaf181c9d87f2e27d83a69db8fc0d7cf0e3168e11f193023100decec5c03adc01523d68de444e64ffc8832a845b0bc524462fa76195dedc03dc81d764b9db1445acb65998f6417402040302047c435bb50066306402305d6522c1da633bf1f22ecb14988a3fe8631fcca35c487aaf76353fbb69f518e578edb3805562ca6ffde18f46f60311f9023042c31899c0e066bdbdd6fbea5a1e6a7b700f41551f6ff7ed713b7790cfb1204bf03bec94d52daae8f01c4423634e7dc60302047c435bb50067306502303e6b69e4eb5fac3a82f55a72b65c5cdbbf9b80c62abeade4f6c01f1d9c28185af142c47ea1710b1df18b25352058e07a023100ce8715d590379a41a836ae891392f5f41274a9e3904b1a75100114172e69ef03b5f6bdaf0fe1cebd33713fd093f7f6d60302047c435bb500673065023100af7054c9d1a6242a57150a7ab0d3da655db46d1acbda3b9aa41439676051791d5366c1532b15a021b41bab3abf130c3802303d4db68c8b2e8050e26a01aa18ae3371b9e269b465a37de4002d0c3fd9ef341667fa3fba2535db18316bc56e4d8c37a20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305a4c7f1cce5adc6cbf6c30215ff9d4f63f7a234c707363d989628e03016bb2a2cd786414af318123bbf0c45b5d480b58023100bf230759f2b0ad1932cf0a12c2f1711a78ff3d69d79614c5562a2c4ae2638f3b93c448aec8dfbe9851a623fffe31a9ad0302047c435bb50067306502300aa6cb20ba7a2f9021df1af34ed8a4ed4c207333453a29e814568c77876fc2d034dfd4a4d8bd90aa1d7d5436cc2d7eec023100e3d71295f020aadcd33ed86d59f971d8462f4cce6377631170cee117d55e5b84c963f5e87980150235ec9669d145a8bd0302047c435bb500673065023021db1794f26d2e037cf439f51afad291899cd1520605daccf3c2c53606bbb9f3c6558ca41da2851e2a233175f2948c120231008d687d4f4790de32a5b34f5f84c66bec3c13005b79b7ee4942650075964df07154da0921f321f239842060fa16b236060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cb0a739e0c0a04dc0e8296cca8941d80eb4a76007de2722bfa3ed1d06fd2f8e93867bb22dbbf028ff5f9def15e8e9311023100dae17ace4cfce03f41fdbab9622809b9b03dc1764c61e59e9d38c504473f877f7e26794033c5ebc7edb0f668e07b55770302047c435bb500663064023021609bef10fef6dec60ec7b7735b608bee2e930ca5b81ee4876cf13251027008ec8aac63a188b0120eb2e2f6a2af28cf023060509a747bc5ead3424cafd3f8b33695725e0abd41983ea748cd2d1a956e6bf7bf0ded7453344ecb3253f89a28cf5b070302047c435bb50068306602310098f061d3513cb1805eef4e045faf45c65be42fa848b1466f3951c493760affeffdd35717a7596c717e8a2f8d2eccb28502310090e00bb7b8a62ddf0aa2d8359ed6938910604f7e36508968690dbd84566ff9ab94e255e6fc1939cabdd17b4071a7aa480302047c435bb500683066023100cf0e0669b0abd2405a8ff25742a8e6a67ae1cca2d4c1eff694b251c56a73f141bf2cf0f3354ba3ab7457b277453af70d023100d1f1c9ac43bc72acb5df1d095dfb841f353c2f98c0cbe0811b24c56746752fb10a41c0a020e939b89646ba1fa4b985ef0302047c435bb500683066023100f43de69ce69828a9fe403418f8ff73d5d2b75fe9b59282c482aa8dfece14a0ff895f47452d5a35b9218d630af307fc81023100eda3753e74020eecc57af90df3ca94d1ee73e5e0f7da2fb77a883dc5ddda037d6d9254b9e85758e620e03326b4a085df0302047c435bb500673065023100ab818a8d204177dd57dc6ba78579281628a1ba78211e221773ef28f53c8ab53d4d0809c661de595039c3e77f81e4830d02307a2aa7bff2bb8def949ceca5f6b439a9a7744a1cb14488082dbcacdb5bfaaa83a526630aab3728175af4343fa2a6c7eb0302047c435bb50067306502300c172cd3c2cdaa0e71c173a67cd32c79c18e9e8ed51588e6e49f56b6168ed3c68810811042670511edfa1e5e816b5124023100ea93d1b693d83633d8c1bb7b65ebb86cc8055b70699e518003d6d10f528750c29ef1ef9215d81a7130bb7ae39480d45f0302047c435bb500683066023100895759cd5207a61d2fa568702c63a920d279e3af01b56f16467aac3d20da988da4114699b46bf4731663eeed16d99062023100e4456840b43a4bd5453776cb3ca37090b88d17fdd3e35df906848a1cf1b9ebdbaa24f462a8a3e863341b2e7a0f44b5620302047c435bb5006730650231008ba5135526aeb03c5034fca2e368a87cf1822f7f36c4979c08d3c84d0ef2fa41445c1e4bc751005d3f820a7884230927023071d5b2c768c74a22d5a183beed417dd8cfae6957a411f94d09d13baf3755ff88eb19db609a9f52ba46a01a2a5f62baf50302047c435bb500673065023027d939ac3217e61c9d8173eace373d2ebfedd72e09d67d9e44c0b7f775936a3f17ccba3d33cbc16e6a46fb82b8bcd57d0231009846d4dfc5911bb3e5951f7a0017af133215e05f972af5f323e761985b9d8cfc806c3bdbe526929cc937588f766833cc0302047c435bb500663064023007f18de2e9e417e197637faf6024c35af0cac3af159c7f8b8346c22157c539287e247262666f15bc87f337b33186220e02302bbddefa6b8613fcb6eee00fa0006a888c687123644b4feb2bd7ba34226568410b713012f34b794e98c0da50d1c6e11f0302047c435bb500673065023100bd12afa19d07d63385e0fcbb5de75ae4827bcc61fccf7e624141905ecae9a113e673f84f3c45c0211658d79b54474b2b023069ab9e7dbe009873a95df97426d42ba34b76d02235700d3c5cb5404bc11a0b98e836267db1f7700a736793298be26bc50302047c435bb50066306402301d69bc268b778ec0004c74bf8a1d49320d527bc4c6209d12e41444bc951af71c6c604f4bb9abd795905d6cc7fa59f83d023019df5ad3add005de545510ce42c51fa95d27eba6b55b1979ca24f6ece96bcf08cf8cdb2aaa419ff4f10056e786fa9fe40302047c435bb5006730650230289c7a52758367981e84808e885da307a43926de68358f30fa4845db0a460dd83fd2eb3095855bb47c5faca114e42ef5023100d18fac3ca5a210e1f834d78b02f7e6c283fb03ec0d4e716666e1ae7fe2295ec48407cc648e8ad4e47ead46f846d640540302047c435bb500683066023100894ab72c43ca529a1f86e6921367235590bbd6df3302c838df53dfc8fc0163947ce72be836c4a5ff1555ba180bf3fca902310097c1eeb8ed7bcada148f551b7eb615c8a6a4d99fd09e360d1dd6e2e02a8cd6690333567b11545dfcfe393cb6042183b90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a157f06a95ff386801abc032f55077885ecaea36e592612292cc8bd51ff8b22ebbacbae30bc070b3c8225fa8600759cf02310088d09658903f7b637e712dd372ff23d8e30efe1a1e120b2706c868e6072eade951c2a823f80917e17273b4ff8f3208300302047c435bb500683066023100f2d41291f8f1103fc8c5879bd0933182ccd98e00c9712da150b35ca6ff255c7b82ee6781e228add1b7f98165c9c4aa06023100b1bf45c660c1d7a74a7c7574d5d38c98cefb52cbf5c78346699e26beacf9ee6b2e75e59d1b373ced14dbff3c2e1dc0270302047c435bb500683066023100cd787d903b979a2d845d5e09853dc9a2642c567f54cad2b26d8cbb365d451ffe7cf6b420acd133b530dd7974c5f14ab6023100a40f741fce9c965f407f14a8cc06c44c4111745f9cb8831d71c05d217df72c9f1f40e68be697c5c3a27e1bec2be5f5650302047c435bb50066306402300d21e8e87036e3a0e39da781a761c7b950a5ca3faf8ac74fc15910899b9406dd569ab5318f15ee91c5bc78137cde2789023027bb4331997764e62eb2224eb771662755f70973d09d9e6d1ee0883d40cf190f1bda254388e82bfed767a7dd505b24510302047c435bb500683066023100f13c8fcd28ca1644ac4f1e21202df8b39c1a45514c8d511ecf4324283ae3feeef9487d70cec38b441010b5d49d7aaf900231008d2cb0e571795583a1ae75590358bcad03cb70adb9cb175d8fa00d0b4ae53d388ce832881f6479d5ff65af922fb341500302047c435bb5006630640230039911c586d529ad992178edc188dde8ad7341f934a6ab52d9e530049ca37fff1b666c8c8e8ed374dc53948c3985c0b90230735bfd3d41271d79634d7c303211775c688c66701827d75c45b5abbb11dd6e19eaac466b0961d66f3d24c6170f8cd5300302047c435bb50068306602310087c31ae57129f31df6a9031cba25c4233fb079e926575e728a7fd31440e80d2944c12c02ed670e706f59cfffc585263e023100f41aa378ff873b2c79b8c0c98a7f965c647db23419511889ad720518f801b65194264d62240ed3d81bce6f5d85048cc90302047c435bb500673065023100d7d5820d0cff457eb1692b9467d3a45278914273435526f80770dbf1e0ae8822f9d269bad8575022e38523f222fdc64d02300134d8ddfbad39aba9b34676b0471ea34659b7d6b9eb0e8a483e6d0a2169576ff68c749392dd27e8d66c3dbc1c63a58c0302047c435bb500673065023100c7f2f5066780c780c42177cbdcc3f502b220bac0df13d13eb909eb93db866b84123f575dc9afa1378565c5aa14aa8b4a0230553bd03df5fe0604be2f99d4c23a8525729ffd095dffe18a1a314870298e126103bb9c2eea0514e635d9cdfbba3b1ab00302047c435bb500683066023100fb9e9cfce1b8ea1e86731fcc6dc2a5a58d42786b040e9a93c5fcc159fcc12af725bcd24525d73e22c64f3c5e702756f6023100cf8ae27d52ca678b8f1a788aaef18ac5ce7e3e3e4aae4351a112afa5570cffb363f0ec1cfca1796f2722e38ce6e60ee50302047c435bb50066306402307d5c3356822f727d6865aaef39866b771c308d5b5ac86088025e84c3ce786fead20679d4bb1e9c4c1f983f993fce716602302959b9810c6c1d4f5f39a33880411942bea0ef0e9eb5d070cef2de85a471ccb6e844ac4ea90cbbd536e43951b4fe48ec0302047c435bb50067306502306dd88cb00b9d22e1626cbe996136cc40041b44e7bd975d3cb54a6521bddb96c09dec25d2c9b9ccabdd8a6384eca56d2f023100a6e1cea57912cfeb8a5630a1d8e62425e992e94ef1cc9490987f5b83b6b6a403ac24e681cf1a028fce73b6d0145d3e5c0302047c435bb500683066023100914bb306162a7d28d0e695e63e6805c451b274bed3658c1845d39bebe68c3a370d148bd0371e98faa79c7c69a87fd9cf023100c41ee537059a422105c66cd74c45889f8d39d0da8392f47e9f1ff40b4bcb901e83729620fcf6fc309d8ec0a0c88ee93a0302047c435bb5006630640230356b2cc6fef442d2ef2af5c8a53e9218d643fb034c44cdc7f47a1886b04aa02c9dffbf182960da300fe3fc54eb8669bd02303ddf1c6f8be2bcd8804060268ffe460c983378625f184187e672ad4dab26bfd3f9f25a098bd4660df4ccffc6c534b64e0302047c435bb500683066023100d5ce9b3d4dabee7b20e03351f189a3ab0fc550b12bde86ecc96754ff05b3e29cb06a7faed5246702099a85fc8e6f3570023100f1e6dac805757e94b3eff69baa0c3f93e6dc68f2b40569887329c93863bd787729667b37ca5d5bc2083f96de187375590302047c435bb500683066023100b8d2d8a6ca6b97f0f3c531e06f1e050b385bd02a99c41726db78957fa201ce660dce24581a8dff74affcc253773ab544023100ca7d9d371d95c3fec8988a70d48cf6fb9520a82ca127e02c5406f3d8ec42ac12fe83aac6570b70c0d47060fd0eac61040302047c435bb50067306502301a25263d0599eaf19087b8128fad64b3ee604e9ec51d1fa3264acc84b8366f28d03792461e15784d4121a0ff2a92ed830231008979f063810f208e6a1ead7503876bdd8f7ce12d12df17ee1d6913fcfc8d8e919adb03193369f331bef73bc14b4c46a90302047c435bb5006630640230479496f58b84f36e32bcc5ab7e2e89dd0686a7c97049c539ba53d8c5cd8dd9377c9de5a57216344cd5f1ac2c1e88c91a02306ddc352713fdacc52e85326500b69344dab64965406005d5f5915892d2e7c27cb97cde10c16e3745e48be4c0f071f6bf0302047c435bb500673065023022aefa665e5c2e6917b129247e2f81aa27037a227cfc6211fb40d080b3c2b6d887f13b5ddc4130e8a7aa5aaf589dfb79023100f8a3dee0094b66f8aaa411f23c1d4c4524bf67a27e7667c855658f2d2036d40a6f8bb86e41ac993e5424b453b6bc95e00302047c435bb50067306502302e0b7439667e81ef616fd4a1da5201291ba2384647d2def26867a79a9596dfe4a020b35a3a1ae1558083348404635748023100b158a031d544641e8e262ac610bbc62dc2658fc54c2ad7a96371681f91445b57f8bd10d11ea6119c69651bdf662cdafc0302047c435bb500673065023100b68b4b1bda4a4aae39254ada318607d58f1698ebe17abcba6132a46ab9e6313a6a69b0b1d0845ae26e4eb6da81f4d0370230317fdb6f92a8d4ba51f6588c449148235c40008786ff33388579c4f10e8e75425f8e00dceeff0099d839199899acb0f70302047c435bb50067306502302fb1dd6eeabd7b35874ceb5d776d1615d45ef72cff8fb3127346952c05a21cdb6b4f875bda7c270639d2cdae3f572fe9023100a13ba926bcd7b7eb2fa577fc1d7e49d22b854e8486848cb4b2ff3a65b68c2a788a0d41406f1c3176cf62186dc87c77e00302047c435bb500683066023100a9709fa18015e772c30eea8a1a0925b39a3d42da128b7772fa12d251a90d427484e54c21f31a8bf15215f968bdf522ac023100cc810684d538f8901f8dea40c2a2f118a9281247ec226bf0acf41489d8ab5530ae6af53327450158588b322ed21d6eca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023002f4c950c8fe0312dfe898947450a8754c5775d6f98168d2f0559a43fc68bcc611c5aaabf3340a762381a145bdeda141023038d409d0348b4f6563026c67992778ff03769f61894e5883f891947f9df984c3a91141b2465cac729d22df9011539feb0302047c435bb5006730650230056af9264155655a15a253b84e5242e0f8df6725b44baad5081a6bbfa1886e76bd000810d719c5f3f8e11592fd7a556c0231008792122586eb8e0fec50000b92afb4d8738a1c2d3ad27d83de2f3a09f2dd3403cd6a3ad4543cb397c07b39d499e8ed7e0302047c435bb50067306502310085c7b2b1cef11f99e6fe4f41f6fb7ba5eb9c062ed9a68d252e7c9a18a1fbf3eb89ff1d8a57911f521f1f0e018ca6fcaf023031d47339454a7acfafa47044212f6a9ec28743e9ccef1262ff2884d3b3b610149b0124764266f95f47e09c77284407ae0302047c435bb50066306402300d1825251032a009fad9ba3232f1f6a5b659d151c070c2160991ffa3282537fac0df546aea7125853e51e23ef29302b1023040333f26bec39b0e808222d0cae7eb321bd818a77311638f7159a519117305bc419ba5f09e592bab19fae43d9e28b2000302047c435bb500663064023061708f11932d53599ce2d03f7161eda701c1a620aa937ba73b1c0fc48819a0b8c684804402cc73dba3a8d1e66dfb6b4102302db6ffc631b6f32a86253cf25f5accd92e76f7ea93f0be3a6a376be2cc052beb814e1518dc9e0fe984ceae68bdcdbfab0302047c435bb50067306502303499b05d705567f37f0ebb35d285152af1bfa418ccd90637e16f6cde0bc47c83af54b0c81bc9023f258bf0bfc3c5cdf9023100e4dfa852cdb380fe2837ef6bc7642284aea11d76205734505245c43223b4143e5139b084c3daf47ad2fed1f63e8cf14a0302047c435bb500683066023100b02b40c95a6da45b5bd321297236649304da5a7d35db1026fbcd587eed48ee92de2e40b83de97fa991ace0cd6d47958b0231008365e15f6417f464333419289bb33f01fb4b6e2cd5f564063623e38e174985b4a39093a93e995de6dde12e63588642380302047c435bb50067306502306d5bbfd805910b27c8c1fbfba9836ad5049de41f1263892507f32c80b30911f91523c69e661539e976d06bff161a6171023100a4bf4c2ed0e2b4ae963b910d205b5ace3b4b392764b34dc38fa3a7dd23dd11a38a0fe0c10903e6918d34d3c06fc12b2e0302047c435bb5006730650231009e9297af539c7e4dac551a7f1760e6fac1cc12def5a15d0f820f71e1d726522beec16ad7534f380654b9a5501f647a8b0230032b8f5edc46ee80a56f7668da30dd9ae3bae09c28f2e0a431c49bc7634b13693f3bd661280da40fdd3399170008dae70302047c435bb50066306402301fc972c7c9315829eb8afe5181bce8e4894943f22576f66c2b596156f5347f2e465b9b04f3364b103b076404dbbdb928023040d07e436aaeb4fb7694668f4ddb7c0ac6e2da3dbe884846b70302cd6ba85fb106854dc8e47bb6af9953bb643a8a56bd0302047c435bb50066306402307dba4247216f798059835655edb81a84746e8c627ca666d8095e361d1d513f61b9ebe35dc92ac9773af72f67b289a7a40230384005f72623f622e3ca685e199946de38284606e9c0904a4bcc27eb96e1c958a118ba653f916a68ba0151711a3b99580302047c435bb50067306502307a9b46954d0a01a022e7cbafad5758f36d383e42dc84b04cce18f8baa288ca1281cecfe828a121b5d6c994f2fe4dbcd4023100c744d04adb18175c850403cb3affdcfbca3dad3832418d85f09c50745205fcdd9344c35215d85a0b71e593cafc29b81c0302047c435bb5006730650231008098e52a463d0cde340fe361e142933ad4ca18aee92d8a416d3edd7ccbd3ba12a6420a1c0b6e1723c1f15d48e9ff2319023018e477d669d8155c1cd6b5cb345db9d2f0dde3f3fb3874ee943617bbb5c604d8d59a12435a12d30925202e1df46f5f8a0302047c435bb50067306502306c9d3a428af08612a5b71e999ff193e2085e30cd12b5166f357672efbe6c898b40e1338bca7518df42318e5a02b91289023100ce46b3cb5c32c8e0a62ff079f5b13ad616273dbcd891543ba3b3ca046bf9ba37c196d12ebd3617659b98052164ff54d90302047c435bb500673065023100be5b3490b88b595c329b55ff4ad12d642a38bb04d2cd5d12b1ed8c3636627eeabc34cb79ca75619332bbb09a5af55f1e02302b36895c0780c944979e92261a3dace9c8c22b3a298b94f48c9264f86ee4ce65299bf4b08b944e8af88fd1e4fb6a67a70302047c435bb500673065023100f005f8835c2a7dc4334414d1e6ef4b9588a3755d6594a8e44e735eea46e5e58799ef2080e080f523fb309418fdbc68ac023077b91bbc2fe4057e55714a9684c2c2ca3f869b97208a34770bfa94b81a32e4d32766bda18075042a72351302528eb84f0302047c435bb50067306502307e73ba0a792bc9781e426f33f25f57964094579f4d963269a8a648e71a6c6edd2f44183f0171278695a32b3901ab2d13023100d7593a5587099603c8aa38fbd594f87d4f5f6782db25ba4e723d61089d79df6ce669b59dc058acddbd5f273dd2fafb990302047c435bb500683066023100fc5f0ee9bbe2af5e814fb0a78aec60bd637692a519f308f530876e6f28b548ec91f97e624f9f9acf3805fb2c673eddbc023100825eb96d8c88930f0772ca8eb60bf258558ccb7508b1884da9efcce7c7c799eb09dfdf9a9a23d0b78909b434438fe8c80302047c435bb5006730650231008bbb1e56765ddfa4f6b0694a2d88d3bb033ef3b46a254a984c36adb0a5b602150129df3af4e136713db189320e44b45302303e6faafb3981d6e06208d040d4e4c7d9992bd6437e44106e3c2bf0f31d594bc26d0c7200c682300df71d02046173a1150302047c435bb50067306502301a5a15153639abe11b43a18b35b8dc706b1744e5b392c633b04bb0f6fc1c71c3b36fb8e93553e3f969c2668e6c06e9f7023100cd339267dac9e67929d775d7e0f21bd397930e7f046be90fe553c0fe6d2003db3e76acc763435b8201f00ddc1c2945090302047c435bb50067306502301df7942739d312d37f558966d49569eeb7bcd1b452865a29a9b78308d03dbea4bd1cdd95ccd2580f47a5df1899c5be76023100e784a317eb8c1b552fa21c2146eea2a04671164fd25d1f82d29d518ad0b06a9dc6a779bde12f913dc6843ad211f7876a0302047c435bb500673065023100f756c9ec9b1f7504d619c5de055e92961cda0b78728248657b8e56ff65e98dd1c8b53ab9bc53359be55271b7f3cb547e02303947094d02d298fb01bca0872e5ddb3b0c67a67b0ddd3f48d0c808b7d3d4385969011d355c5d15c456b93fd6e5662e020302047c435bb500683066023100f00808d945243f703e4df1345dab1147faca7f8d09c9b2489388a16a64b1683699205f5cdb3599702950a4fd1e39a5aa0231009b3e285b9a1cf988de1d7e34f1b59e6cce2fe4d951d5386687f7cf8fac0ff18cf9756087aa767c90afa28ba0fd6859eb0302047c435bb5006830660231009197855ed332febaee91af4d2fcb1f325c28bf6010e748e019ce662e5d1f4c266a7304790370d98bf7336c0d03a00de5023100fcc7d8982c35785ed288116bb93d2e317ee4f97483dfc38fd4b4eb6255f004e9da3526f97c682015771773f68338bf590302047c435bb500673065023100832fc2106cd4651adec1489f8f2365115a4dcf16c9873ff0d4af15f6dbfe562cf331cf261889e466919e0dfb0081cd0b02301819f2d8ef62f7b0296354749b481380c009c3cc258aa3f0cdc2fa7c8da4d31ccb69a7d11fdefbc7e37fc8f6101f162c0302047c435bb50067306502304784cbe790c37f9b001ecb05552d1d5fa2a274eaa03f076e77f55bf16944da7e5b0e98aa097ba7f191948e77365ad2f90231009abb4a85e82256209a2b34ed0ca21bc5abc6edbe0819c372df051ca6b7a7ce6e931c5a56fc50fef50da002571949fa610302047c435bb500683066023100e13ee38e31d6b5ec1ec67d7d4a51343e5803f57fb263ddac477def40940673be1fd4b01f8597f1674c8f3926dfe5bef10231008371c58ef5b2b2760feb197ee1888020b28a741d2187ea4b9424dd3eff16804ce7d1a829324982dfa095d498426d29680302047c435bb50066306402304bcc815e1189320a5a672ff25afac3704f14041369e77b3df232528502ddab603575e180d60fb7e566ebc27ce7d5e02e0230520139397fd3e0bb962bd7b0810a9fb3fc2b766d9dc6fb8ba49efc11540d72463ecd1aa90d41613727271877e49616d20302047c435bb5006730650230487f04c1b6ef5e3f21eb4943d42ed2f2c9b1e0323039ed3d0c495b7e37c8142a5adad96a32424accb8f281316111f419023100f9a8b2bbeb0c70b800e9e28bd8119880a92ee09d67842315ae139b38f34641ddec69dbcae3f61ab4e9ab1b1b707f6e300302047c435bb50066306402305dcc6e14a4cd844161fe8f748d537b05043a72812ac9a5093dd2c756a811611094ac132e06e0dbaf4348083c881bcc440230509cdbcfb00d0e431b3c516b5007bd09cedecace532883bec1f1c3c93687ca8fe07dfebd7574a5d1c968ca4c2e7f76fe0302047c435bb50066306402307c576c5871e490ea2e8e8768080d18bea3ffae9fcc78cec52b256c45f8c317971690c140b388b72718ba14da8a91b36002307b20bfb4e461944eac938a74231f133a9b2cdad56ce1d6afd40e6801a815e0a8ecef90231d3060680be02925caae20300302047c435bb500683066023100ee4e2c739ce4f1e4bfce0bbcbfbe142e0bf63188f24a25b3bc115000a09e6e5939688330a419790f412c9441cc0e48a0023100e71cddc2ea5c1ac875e26ba48ab5baeeacd945cc8ecf9052fdbc34c6c9649f117f0b406707921260d3263ddc52aa736e0302047c435bb50067306502305ac417ac84df9987b4c1ccaa10ced61c69cba981f4de0af7faa258fee0ecb8d7717ade51dcea7ada9f2c463724ba94ee0231008bf6d4ebffd485f6ac310f44e774b26a00335bbd2d3b0507f15f78bae4a1c9170434f79eda4d1ec8fea171a6cd80fc300302047c435bb5006830660231008d7d4814bfb160252780b0684ca48e24435adea03b387f6e6e59eee8c4ee9f6fbf4841d04e318591caf5a06a505f2dcc023100cb8fdc57283895c9cf3dcdad085bc72410a41137ef3340b2305f28857d94b44b041edeaa8968983cb37a0830708a96bb0302047c435bb500683066023100f5ff1be0669998b9fa3dfe721715c03d4cd618ac1b434472fdb87a05a94073f1f10e21c7f31304414baec7916c627078023100cc41b930ae944a8c7f525e1ec778809b85a7624e4add8fc78bc003e9f51d8b14dcc62caeac5c3c2ae558e6713491db270302047c435bb500673065023100ab607a68172c421398f34659026c04c783af6db2c59ed13364efe0680e904559bac1ba053ae2739abc7cffea4a60d9ee02303a37a1a72dab80a874fe0f558bf0fff0ec78622ecfb3427ad9685c61d51dfff17d97ed17eb2a839a93090138757e38c60302047c435bb500663064023001c89435e2a82ba80b848e6921021bb6ea1ea638c8172982cba9a652e69892590bc3259c6e41b4eee3367a369cf00c2e02306eb27b4faca4909ee0b2e120241b234c50f47802278aa582f63c8705ad05bc398751542ad508960fbea9eedd5fd60f690302047c435bb5006630640230553f159a43826191b3155da09dfc74991fc802ad87b4f8ef8d083d981b0d4d4d9a918b9994400e030b70b5d438ff6d0e02300bdf9726af5a4dffb1b87299890a6d6ae131b796f663ce97ee3da358bbc80acb92bb58ffd751b97c62bd68117b3657330302047c435bb500673065023100a1146e92479866635c42643dd744d681941af40200ad72f9c23888e8e32582bfbc665f76f3c166ed2459bd68eff944b50230485bd5fe040dba777a9b7df8c3e23912ca49e4fc24cfd75d9bb125eb020199726fe8da7d2b999f790a9e5dd5ed59c4a30302047c435bb50066306402307cd02f568f1acb931495f6b206e4f45f83e4181e95bb1cbd47987e02597e598c1f5ce6d39303759c8f5e4a2c09c68205023045ad764b2c83e737d69078447b0838ab873c871ee06a8fc1984a2836d6036f8456cb97b801589c5010636d4dbd2927d00302047c435bb500683066023100fa4dd0640abe5e45474f12d09594e712b5c7936270e9063b182829db52809851891f5128f50b84865ca613d20934adb8023100f253fe630041b7f67fef034a05900d2e55727265609592bced9bc0e4a7bb94a1c32ff33b13ab33d5f7a00f00a14cd43b0302047c435bb500673065023100e130c1d6398aa9a2080b8436c55ab03dbb5ca3c8ec4cf0191b139e9c89451cf250b415a0e7a505f857903c456d6dac8c02300e101a1023f0fbb4176dfe8dfd7f46023e65a604d116bf83a5436b09a4ff955a346035881350c0afb92c13c6dab8c5b20302047c435bb5006730650230679735a30c76db873ba88e75ba43f8d1731cb4415b9a7f51d5dc3cec0eb1383f9784b3ffacbb9e66dcd4b33d02db03f0023100978a8972f142b8c586578b57605bb4329966683cbe1ad75be1c8de290826745c039d02a99078999f90ca328befab4d790302047c435bb500663064023026122a47794df393fe3e379ee5129970e2f7cd4ab4be922df137465d97fe7af7923f913bdbd46b94fdc8067142a9e30502304267fe87b77cee715f2c25f8157c7c4317335cc3500094d5db41c984f473a823c2ad2cbf12188d2b424b681e2e4778210302047c435bb500673065023100b2703fc476268694af1ae96ebaf40e347d69fcaf9c1a74f12b199586c05bf9bb6c8d50a47867b4b0470a1ee9296c5eb702302c06fff33e17ae8d3c3ad7f79f5ec8625ffc0896def0f8a00b1a2095acc0a60091b458c20de8d1eb49bcbb2d8a7402890302047c435bb50067306502310087773d865bf62c11202975c74989d184d78a7896bbebfb22d6c3387f43b5a7bdb38dc31678a3c2b1bda74a7234fed19102307ac0ec6a0628d9cb77209c44573896db48c304b3c1ab5af5728cd3f10398075fdbe907fe5086574857c12c6600aabcde0302047c435bb500673065023018699b9a9979edeff383323513af6a5843949c58b6829cc4e029aeb8f3ee9baecea3f01f317b2374d7a2dfd9ba78941d023100fc91dba54301c45efc8c313ad631c36448f1ce9f20763d31c58514dc34d1045f52eeec72bce83bd080204f67d32bc9330302047c435bb500663064023053499e38176dff5b190ff263d0eaca78ea21b96c541e51b2588fe7c4e725e5e90c51ecf95fc9355396953dd56735bacc02307ab55ad82f41a0b9c87773f2bea9ac35bd034012f008f8e7b44e498ef47b89a91584de536db1a5de5c4827276e58e9c50302047c435bb500683066023100a363e1bb6a9c23c0a73b153c3dd0407c600826c03b3502a630cf3a4471aad4aa85e796ca37349b6083e810066733fce1023100ac2b7663803e8976a48a313ba980a2e55978fe27a91b88e417cee7e8f124cf363be0fc8675fc51b1e29f5b2c17383d390302047c435bb500683066023100f642e1e793fc7c2a4f5d70b24f6b9749f1a67d158831b712aae35776929f6249a5c69b478de0126556537720284e30d2023100ce4af5c3fbc4aa0b9e38059ed478ae4bd84c57dccff7377f38417e38179cb2882ab9cc8d690e7259995c4387316473080302047c435bb500683066023100c6d99c214f3694ee87b80a696e1d53017337a6a622a59c576dc328d31472d3e666a0524ecd7e68c745cc06b1eee17043023100dc5387ff775c93447b24fe0eddc587cab69cf61a59b7cf5415e60e8bff28107f03244a3b274bbf89237da05301a02ce60302047c435bb50066306402306c399287814867028451edbd4f49286f9ff688b11e46a9abe91b0be2b3b3de2dc4a8a7b73184b637bc93b4357b4375a6023064d81306ade4227750ecfa5e6ab1396de75b5571a8b50436b62eec9b242d27bbbe36a3d77ce64221a251744f83af2f2d0302047c435bb500673065023100833026bb3bb4d2013ed254534f041a7a001ed6f1eef8338445339ddcf6a90f03a2874d10ae83bd724035aa9f33a29c01023043bfa181d1896949c7bbed5e8da7e5c166256982d15c959f33ca63e26efbcc8728f1ac26721395badc6c9e6b9036f5250302047c435bb500683066023100c46af8da5f6c9c50a64535fe7154c3aae6fc4fe9524cbd41c1423fc8fc09f51479c324b8d34c47f31e759133452195a102310084462810dfbd065cc5e5a2532797e5459d82457ca459f99d8e03e5913d7efb74d5534b4c5eaad2e9119c25ffef3cb1540302047c435bb5006730650231009ed906fb6b9d5499b481140c25616e936fb27ba66fc07c252697cf5a7b61c503a975cf146b25603a915d5c83d1825eac023058fa82b804cfe9c1438d3058c66d2bc02105d2711241e3fb19d43c124df294080803bf4082df6ce4a1cd56db835274ae0302047c435bb5006630640230614c7e19a290a73daeebcc28ce9eb737eefe5a13850afcbb33bbf45b8dc95369959d90c641260454d0f1a7dc8ae93ffd023056a8c2f047375e9c00dd786b90534f03c390b691bc1d7fdf6e066175a3542e85eb65580f76297fa9e1eabd64abe2927b0302047c435bb50067306502303aeb04c8b6d5d538008a39fdc2dbed862b1b6a8c0b32c58872d1676143233deeb41bd564c90c2e2bd4bcd8acbd10850e023100b9bef3e183ff4dd95a73149ce61b778351b9b62062cba6b2489340a85f642a6c84d26dd6c39f1bc4bbbcc4f5b30435d50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f28415636aff23a92c227b725ac4bd3c2a090becda64c516384d0c8c5e8dfd006e9b2006b9c72a08f526acf3636ebb1202303bab68ca72312f04c6735e7c235bac4f97fb8080f81165c16846ee9e19ce759de92a4f3d2a927850072d5038f68f62ee0302047c435bb500673065023100b9a400618e0c4710a0bb72307b06f85640d72e31a1778d5e6d01e680232c67e0c137a70da42487ae2e0314a37d6a5cb10230528db825c934b941ccd44694d8050c6bdc584a5fff69f17f8e40a6a2103c34fb22bad9bdb485a6b894dc40fb5bc1a6cb0302047c435bb5006730650231009132691bd578afb62c08d0718a769e66b9152e244f9a02349c432d6494c046751ca035e2d60e918b904ded27895254c702305bf927c73ec01fe05ddf26bb05a75d88109b279a49ee051b9bb8c9f99f32964e454dca32076988906a3efb20b0d9403e0302047c435bb500673065023100ccbc86d428d545c25b793e0f4a7814dd8cbf2a689495d31757e523a6bf7897d126807133144681d41f1fc1f033130196023026155e8cb5790e6ceb8a7878caa38d370c10ddad7576dd8c44ef406166612314c4cd7b42044ae20f9906f9b6a67b671b0302047c435bb5006730650231009b05b427a207e2c5dac6df20352a5948ae59122ba44d622d0e954107b861a7292a263cb0c224c6ca98c4ac8f64fd43a8023057d747e3035906bc1f942908483a7fda16c6932f28211c15248f30a119c8ddf4d79da5ecda3a9076713c488268178ede0302047c435bb5006630640230343854b8d4edffc6e40a05e3272d37fa465934c7171b49734fb208fb3168724f6b81db1f8e479d21af3c934344afef5a023059eaaa60bff07720da399aa7b19a92e7cbb4f1600e5d88ecfb49f44986501497d2b6f165e8a3713e6a9dc6aa175e84900302047c435bb500673065023028456d9e7e8bd52e16577ccf4a79b73a77d40f84235ce17d3bd007da9213a5bbe83b17c70fd04e2c779b8a0adf9c8f35023100b47990bbd3313012ed3fc6159ab659fc1bbcb7944188755deda09ae4b41ffa11a9dabc257ab0b45c8ef6110b63709aed0302047c435bb500673065023100af0b62e52dae503c05d2a230b5223f8841a5ee8b7b6c04d8f3f3a20850970186056bab42a1a721fccd5028dd3cf1435b02303093ba96a6dba021662d6f77c72627b7e92fbf721e5c629035b46441f39861b601ca77da849e3148976755cee52464450302047c435bb500673065023100871d75e7c94f062d1b8ccb95d1067af0845ec1c8e12de27a7bed0d662f29ee1fad863ebbeffcdebec1aed18006d4c2eb023065378c4b493d960df08f4511aa2f52880257bc9809e17b0d5460a979c7a1573b926a9e831af4fc32d84d821997e01eb00302047c435bb5006730650231008add42f4261240d5cb259a844917bb7dae3e687b8aa8a83d7a868287578a7cdc1cd058375af13de63aec55496146e69802305150cec246a5740a65531ad7d578c02ad24a04f1618573d4334a2b7a3b36d67c66c114b74d36020317f207dd1dda37d10302047c435bb500663064023001284cc57ef6d3a1896b750f8f4abfedc4217be92f7f938c217117a1887df65b6f4df6d0e34c7ff8c3d171a52d7559d902301916726e55868aec4d40970c0d72ed7b49ba7ccdfa3d5a8dd8ae83159b2c7049356afed3597bc8f0f08f56b6556b2dd00302047c435bb5006730650231008f45ab8ef79eb0fcfe780ef5cd668eeee0367123108e3c386f228b8031cc1e96d36eaa619a569639df0401ba832ab196023019b8dc1d53dbadf4e155f8cecf5bdc1088a1dbcfc67198bf5cf3c5efca6d8076b2d2ab3829a1ed5de5f1415de107277a0302047c435bb50067306502306fb1adb5b859b85fb8102a1c1309213a34a7afae76f9322b26b4751221986a270edbd135cffb2e6343c4799ce65ea19e023100a29b66a53cc043ca8fe338b21cda3b67bed25c54cc7c97f5d61721fe9d1066af96fcf7856ca0c806cd1ffaa81206243d0302047c435bb5006730650230378fcca6ee1478b39f0e6c5cd500a7cd2d2a12674dbfa2a241068ecbebf67dfa6c96f48abd3b59c136091b0dc7e7bf490231008abceddbc03864a37f75c59a50b35fb2d2eecaabec085e1c5d2066d0b4190fc60a546a8cfc2a6050b40ceb358b65d5260302047c435bb500683066023100d6029459a45570a9f4e024d8b79dfa16ddd7c45e36c894c26072c416ecbaa9fe03da3ab7d41cfc31d4f6cf9a425aea22023100f980ea5e67777368b5e0ebb83093303a72cad0eabc0d76d6a8dfb588333f50152b1c21e90ac9620081beb19fbbd4a6c30302047c435bb500683066023100819e82cdfb1a0330a42fd5428d51c096f62f2f5ddacab90563019a28abe7cb470cc596117301114b7242419138dcbf0d023100c0ccee7f9aa80d453f2fdae5e1d17033485e875a28118201603011141e680a796ddbc35bc9ff64de139b6e43467fbaa10302047c435bb500683066023100ec3a4ab7a5af61ea07d56594d6ecdbf60c05cd371d60756c7d87d62377fd83c9e4c46f4a4778f4092a5e3a56f4de85b1023100b70e1558732bd9473ac468fb5de5ec4a8f124ebc959b3bc0a730db1ad616c1f74bb9de68d95cddcbc0293579e89e40230302047c435bb500683066023100cfac2b3c93c060ef8c042a68a09d856d329ec85a8733732514b118a34008afedca5d3d34c0809fcf6aef624142e7c4d60231008e8e01b27a2f3fc4fa5828c1343261c82df2fce8adf3434edeca09a37cec476d1a45195de38d9964b29746888f692c4c0302047c435bb500673065023100c60233b1afb94c20898de952e0d34112bbb5055550e31b542f90ce3055ca58aecd8baf58b1b14b7b2a18fae8006340a602301cb10d771f7b3324e1835ad5109daf42d4e69afd844ccd202b136158b275f3fa452f63da969aa6d1149dd2db741871ae0302047c435bb500673065023100c4f74a56c7bc2eeccb2378ecfb73f60fed35dc95dc95ba42fe48b0a910e56b8b91b5c08f2ae65f553de99f35456d73250230376d5310e3a72892a1e0a26881ca94684734467912fdb74d8f8ffd2e0280c2a76049f95fca0a226ff207936c3ac9f0d50302047c435bb50066306402304d3b7777acdb5dbeee73d8612b7c0496bbf081648505be0251fef6bc65ffcb3745c4f838a55c40fa9160910fa322362602304346dc2d92df9edf9d55bc5af4e0406da8fb7bfa691a95e0e38813f50914fb2bdde326ea5fd507b43104b740c525d19a0302047c435bb5006730650231009c4780b81c4a00ef71679994a8327a0d3d5dfb2a842794e531cae4af3041664c055571d2b3ec699274852c6062f36cab023009b99c25da6895d9f89008c6fdb94f25d47ad679e41e9da832a446577b1752bd6139d22f10a8eb0f920fc5021fb8a7670302047c435bb500673065023100d3325ccb91b4b718769fd3a77bf4b1e36e2e8a6dc89a578dbe4b89219b30db92a6051482a8ef626b3e6e1d7e1754508a02303146149f3b153e630589977fced545aa85c4969f2dc26f7f1be1a12a63104b2ed1df52f4e45910755eaef5a76ef3ab300302047c435bb500663064023043049216e0ef4ee32ce73a6087f9fd7aa43959894241cf4dfee7e27c7718ed8ab854039828bcffaa53f56cc7af1e7e4b02304e17163f16558a98070a875ccbca3e11d6a89f446f2e5843b9de87bbc37972a5b46cf46e5e29b03d10e97345c4aec4660302047c435bb5006730650231008ecc3a436540f4ba543a6e0e2bd14cebd6d924849b9c220ae9726d886a04c251ea00e451c19fc8932bfbf1133be391da02300d371597a71b0610507bf8494a832bdc41c090a3c4a5ec490e3a5f04efd2830bba67f5182f3c9b06859929f82e2af40a0302047c435bb50066306402305485c99101b97f5f6d38c3a03d64d1123669a7c3dbf8571b627003c0ef10be039ea5f44f1c349fb3daf661949457c9af023012a31ac7cce3d709933c95c925ca34a62ee5767f53eed167c64bb4e7cdf4c8540e31049dce4ca6a8b9b42cba546264400302047c435bb500683066023100d4f50891ded068d34f48e207e708c216f39fc1c16a284624f5852ca058074a8383a06b0343d4843d53b67b1267df9a66023100c85094bae64bb96b14ea3063e602613d1d35195cc05f6b09389ad4d91d2b8fd8ebc942358be7683e6d7063b40d339f120302047c435bb50067306502310089021674da3d2c4e32c4e63fb831f73ecb2f65c29b1d55ea88398a5cf699b4609a5edbdd2746dcfc00b98e8595314a3802305ab48a08ba5ad71818fd72531640b2941d22ddb7da1575af75ebfec4bf11b11338808eb8a8cde7e175b7150408bd4e9c0302047c435bb5006730650231008cbcbff14b7285d0a8612a150cac0ce91a2872c6aa485c833fc7f8706fe2e2fad1b02a1a07235ef0054a0b90b9bf421c0230342e5b36eebd67c10f1e498008cbeec7e47b07054dc17d3d8ee101864d15524ed93fa22c0926dacfaf8c5e66067857a10302047c435bb5006630640230682ab4b1c43b7d9d805a757307fd3c16bad7dbdd524e212cc32aa71978a178e67f009108338a14cbb60f3272052a65a602302b92abac00cb32236c087c48a9754e77779e478a75d042f6f5c6ec150ccbfc3f775ac22912af4e8d71e4d410561e0a100302047c435bb500683066023100aa0314d98e2ee766e6f4b7dd9682b80815c64d8de097d99f2fb1a81584e68dea6d6c786323a29f66782087ec950d5b22023100f0e9b2f88d205a1b82635f9f6a1f1ced63222f29197cd4bf81c961519974f1e14339f2241d3e684d290f23ba5481526c0302047c435bb50067306502307974ee90bd0a5b67d836b42355981c27b313a97b9850204a87b6de3192c58437a6c82acf178b242ba6d7d63ec6ecd27f023100ed4a548832d6d0bacbc66cfcd6bf57db6506fe695c835a243237704aae973b3892421773a65d64f8f27b9b1c324988ce0302047c435bb5006730650230614d70c785bce188a380c6b4acf05e26dd9960ba2cd75038137d03ecbbe6261cf893937db97e2de04b06ad9897acdd06023100f11d4184e8720a21198dfa16e5d91381ea47cd9cce0f6d5117b5a7cd80032120d7ad793731d4c8c6a49dc22df720b9820302047c435bb50067306502300f41ed4e950ce31ac7d6677f810a89edf81cf75e55a460108cf7c925e7be7e8423b3d3e41222d5584e8cd57b09cde22c023100f621135c36353c2c75920eeac618fbb8c1843a871dd28970fe935337b1d084179f6270ebd85040e297358571513f38ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023041450751126023371e3e98fa9d042ae82924bd736dc0301780870038dfc80c422686202670083f504704208461407497023044a8c29808a00e207d391db3f6450d85d3d126770d66ef1b3cebb500eda9dc4d79da22f2a998ea89f747535775d198370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023066c512dfb579a3c42b38e6f3ed643b1ceef1d985fef77c4b2c89bd4b23a019be67fd203865d4d8acf128eef57d4d29d802305b48a89e7ab74049c0e3e410a7bf0b92a3fa3b868965b26f803214fd3dbe16ff571dff31c467ba67c1135066edb9495a0302047c435bb5006830660231008eb226bfeb3e710d685d68475074cafc31c45c4a4f59c96dad04103e2da10fbae6a4fc8d5ca897e697320021cf40fc460231009037e665d55bfe3c44d5a2adbf1a2202c13658cf60a3a72bed72fdf7bce32d9f40c62d10a778ed97ff5e1988afb32b6e0302047c435bb5006630640230178f225c21b16e1cc1c47ac931e0350867e344a725c9a57cb1638c749e576c18d4f5233c891d6fa3d810f65840d8904f02300d789336f208f7c2947e6849da480a92543fb80e13b597a3f6a961c3ef6813b0fd817099420f6392a0fd9fffb8728ec50302047c435bb500673065023071eba09631c9722ee7789e217d2ee928e6fc8dd3dfe086efbfec51b3d3e664e77c04ad4aed736b91880b46263a48a5ae023100f46d945d31eaa37a493e34a6077bf3aa8db2f609b3dc2f80af8353ff92cdf7b7d9d6596541c89d294d5dfe224089e37a0302047c435bb500683066023100e031468b541d6338ebf3e5aa905710f47a5666e1453d04d9324c0f9c66600961c6946cade0b2d10c02cf0801fdd4165a023100be754d5bd1b46043393797f665aedc8ea6549ae7547b319cb47945201880020c872af3a7a42ad9a06123faa30a33b8cd0302047c435bb50066306402303c2f9db6defaa7bdd0d2c4ce697ebf4f154508d86129b55b64b0ad68448f5609a02d606b27f2c1846d67aadbf7919b0d023065f3c8cdaa9c5e889850bcafa87b9b50526089d9d8a60458cb506adf9ec18673407d6b875bfe105783203a3500d07c6e0302047c435bb50067306502303c25204c0a08ce14f62c6faf027f45fa6278d3a307c237a1867244aa45fad701d91f4010882ec63dd46ec452ba108e7f02310087b327b121f852b9c2776ca48e1985ab2932f169de123e2acd66e0150a9c3bd67f387c6e30c90ef1eef3f1d256d2dc800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310098ca6e57d2e33652c52f5a65b3c5b1d428d0648b49043f346ac9fb75678d83a7df7ec6447dfe79c5dc7c94c9e81042860230609ce1dc57ecb5b219725455b5270fb49e43c2b4ca8429a0da295e9a274bfa7609e0e311f6f5b17ec78b9b015a93e1550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100803ff3b15ad7e0a374b579ccbeb28e360a885e3f9508ce4c88ebef1880462ae37f4a8e68be25e9a6bdc2e78a340e459b023041b97276ca6deb905ec302a4c5b7c923fbc5044f4846da3b982bd48a110b2404293d9dcae7b570b8cee1f1c4c6a1238d0302047c435bb5006630640230201d1b80c1dde03fa607ef9bf1e86f9cd54dc142aaf5b7508fc39c5e5948dfb5423cf7f141dbd62356ae6d95ae0823d802300f2d82918864ba586a83b09136911ea703f71f3d42727d73d1c7869725448e1972d6dcace810bffb984ed4e5ca61d58c0302047c435bb50066306402307503f01fc071af5164cbf6a10e66e4c148f8de06443f37001cbd1278bdabc9da229c861c93ead1cde16d8eaafa56237402302c087ee65003150ae2ef2bd420c9a0ff8745c525bfa3af30be5fa179cb7bf3ec70a1a452d8078a84a20710aca97aa8eb0302047c435bb500673065023100a4b67414f46c9f72d1e8a3d1ab8550af3843bc11ac925c7c15277d978839e533d057c1a1656f5927dbb16f1d0238f6ad02303cac894a1188d0b11f9d618fd1a9b3095db04a961f0ce24ed9751b757fcdcef6928abcc68c0f20038cdea65378c4f0250302047c435bb500673065023100b21345ec1847b881c3329ba8abbe56996a9f1fdc876912bab9df21160f0acaae3e8d3ae062a02848842e63bbb81801e902300081226df52363d2f653b3d44deb9662920efd91db5398c9dd7bda336e6b802623d0303043276f0691c118d500dd93d20302047c435bb50067306502310089ff30a56c2165924c4b657f1c1df8407763c35886404d619cb0e8ae5e6b346f3f9dd0a63f6abb93d5865261468d2de502300707def9133a7f191971111df78ff2357dcd51d408e6aa4592cb1ef95ee8dec7e0a789feb04106a9fcb88d236a4c4cfe0302047c435bb50067306502306d363c2aa2171ce5c3e6164e128cb4bd89238353cb751592a197b2266196ef0025cecd86275efd672405564ab28b61c2023100ee55d0f83a78a2025de0c9ed3fd1a204a56582616867161de2f74ce13b40396ac3fc04a5428999782001b21bcd68e16a0302047c435bb50066306402305d7f8071e4673bd3f40c166bb0cb9a423c58c6d55c17d2528159e4212894a41a405cea16e3e21a07c72e8786cd18d87b02300a5319f1f26dacc20478c95ed98d607c706546680124133be9511dfdedab28e53b883fff0dab0fc7c2db17266611486e0302047c435bb500673065023000c9610ec3ba2357122f5e602ffcb9af96eb523ea6fdbeab0c4fb4ec7072f8ac6cfc8dfd0aba6724b9136536ba61c1c9023100b4dbac5c53729e2002d6e1413c791e62ce4fcfcf7c3f1d3c58a6ddb90c12fd03df548ffb6f47561454d36c7c80dd7e810302047c435bb500683066023100bf02afa9a924c5e34614888b2973465fdb287183ff2a510e2063d0355bb19bb5139450b94e2c1f67a330922ced971b60023100ddbaa915ee965887074dd402eef3f7c939bf35a079526371109686b619c27686bbf858bd873097e279d88ec4f055b9c70302047c435bb500683066023100f20959c38e2ead8efa0116c3ccfe3c5c071cd3028e423904844686a786d320a821b0b35800bcb58276834b98ba035a57023100b37e6bc242098623809cd6b48f028c61d63fb6939bd27179507325fd044985d0637b3581fd49b8add115eee15a74c6e40302047c435bb50066306402307b7de1a557629b70be74e7305e765f6ae1e3d48753f4899b4dc40953f19ad90347695ff95340846cf4f8704877c2662202304649ceff39094886cfe2c4ea16b808f94526b8ff1dbaaad58da5bea32e4ddd66a238ea14aca92b8544633fb546ef8de40302047c435bb500673065023100b3174b0b51f28da3521626b25f9a1afc760ee096e9062b9dd971a7a51d24df8907cb03fab4f665fbc4334a771d72ca51023049481583928467689b19ea09246d67a93a29c221fafc04d39f7dcbc4d7da2eeaaf11eaaa5d24924bcb7d0f26e5061d2b0302047c435bb5006730650231009e5e4498d4747facc2a49186697cb4d83fd4d9ede2c05f844c1be91e2765ce1ae8b6410a957c88049d6cbcf244a45ddf02306b591fed69ffa0cee0894758c9587174c35f3d643ff0cdef15ef901dd74247e8428a4bd1172e5173af6f7761071622d60302047c435bb5006730650231008b5a20167781f9789edaf086f1175d01ba2fd9370afc75b74698d9b49b2d2570c42f50917ee0b7b3e146da97f0f872a002303d0fd20dff6bb5ebb43351dd634403a37bc8d4e859ed0ad0c3c71efcf91f0e0956f0b09d36f0bf772c1257a14e6aabba0302047c435bb50066306402301bade032214f09a6de0d28523551417349079a747122b09c884842d50d790602c279574a0d4f20001453f8e137f36f6702306270fdb84bfcc12f765e19578ae3f88b3572c4ee549314be86bd2fbdb836eb480827856f691a2434e8979abb41efc7620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230455668e56cbe3098a77813c204ca97666d981edee152c244e7a64ab13d37d9bb1dc46a0dacb5ba3b3292e19dd9a1d34d023076e8abc5cb771a81e5c0fdd64c98a4fc1887399e8ef839d29fdcc15d199aca5ae8a09672a5026b3dc8f9ece41345dce80302047c435bb500673065023100eaf0b26a9a60e8fdad0cfe46937849d59e8ad590a29e0508c31252ba2016687d2c7da281be60f65e3fe3eb8e5665f8cf02301baaf27ba5810f3c5310a05a035a8e0b223756575744aca2a163a0ae80eac1cd0305cfd6a0006c3c3e9b9e84e409ec470302047c435bb50067306502302fb184d19a16cf435ee6f2fa520418bf61d275ba5f11c96c454c9ff917a2c8a7642708075dee292888063e01f61324f0023100dda2ddeeb31bc845d3248365ff87cc4a5c45439d747e6a35a54a06ef5f6a2099c78c7a70567fc6eb2201779b1a03818c0302047c435bb50066306402302b3662975d4c412ff07a44644fcd575d03a10aeaf1e25c4b88ded001730c049164b33ab8150f37e47bcff44f7d28a85d02303df1e2e4d9295eac2a2770c7b25d15b3ea4f640696de2676b79e75d71755d095ba87cdb2764c1fc00545cb19b696803e0302047c435bb5006730650230027bb7253ad3d1095e06253075ed7e80caa21bb51be6ba86c1aa1498aa4777d793e099e0fe320d6b52bdee12db6f90d7023100e29b4927f9af933e093315a3b654ad65e1a5a479f9311769b4dc7e710f2bbc2acdf1e0c4b6d3804a06be4a858603a5e70302047c435bb50066306402306fdbafce8ce7147c82b6a14bd14b4cb630eb59435e917ee6e75144c23ebb876e4d0f5f6f18399b95eaa3aab223a79eeb02305b677fe6b841f26c8eeb6ab4c78ec1a890a7be82c1caceec4732e1c02ace125b40a01023dce5536058cdcaee8ddb14370302047c435bb500673065023100b8e935d7f7758f8819fd3928e8fe9f5571978997511ee566fcbfee14786516c38e3a72d5434d7133a61a3f449d9c8b5802303ae135cc8d7c91c80dff39b7116539bb061019be9ca6cae60eaad72ad8ebcf578c4884bcb5c0453be52251f005337b640302047c435bb500673065023026065a6d75e8b39b75125070810dbe0cf4ac61553cbc3a54b9c241d2920ce03dd9cae35a79a400c222fb2d3a1be8e412023100e0ed6b06bc4889dae6ae051c1af57afa8a694292b07d4338738a1be0095885671463ac14e3a0dcd9791745bf4a69f5d40302047c435bb500683066023100ee18e29e6ad62a83396761964e09a47e318e828f5e7d4700fcc0260a797d358e8e79dda06958a3eff8b733d7b876da1f023100dff5f1ed47867f6027c3f6c9292c85b5731a6e086191d3f785fc937c5dfb26848a77fb341b0b8a13ea3742a64a3e8efb0302047c435bb5006730650230624011553801bbf3b0102e46325bc43f18c902d9c32349cf19f7a5433c6adbf514585d2d070c8cc20ee91d252f61bfb1023100acfaee5510b88258b015978880a52b1a736b6a22dcabcf1ba7e2b34551ef60168d83950f8bb1a8878a8e0512242879590302047c435bb500663064023034d2c0959e681dfed65143574295644ca593eea9805fdc00be32e92c3c4213ba440b73f96347d13fbd302d8731ef10b2023075af2b8263d079bdb01e3cb8ad6d59b9e5dac3749bde06668274f470cb6ae9ab42dee21cab5d14211dbaf9aefe916b820302047c435bb5006630640230184d4bc2d0c83dba592a1513859890eb3d8d1c92ae2896deb2ff73946b819e4e80a7695d46115ece43623a982c8f7ae00230078ce5b805a6464fcbbb1d34ac2e8830b34fb74c839f2a583278f5947776d4a33deb279a5f91211fce09c2b1812d4e0a0302047c435bb5006830660231008500bc21633e9bfe703f950377819e801ca448c3dc0f33bce8e9d2c3d13f835d0389ef70702b039ff54d44c230b9ddb8023100e6a47fe55d6ad692e68db035b6aa712d40347d25bc8d7b076080b641876041f0cde98cd21a2740545f1af9e759ae46600302047c435bb500673065023100bc765f754261f07015458a71feb60f9780a52eeb5156073dceb2523be42e3049ec64844ba93b6122ad4135b383b4c3fc02304e504af920342d4ec12fa84aa30d15c3a4e18b1147c57d9ec5a0b69158286de475855ca8add9e86d5d46eaec16cd4f610302047c435bb50067306502310097b5e28f2115265a7ddd997ecf4a1ac5428050168b0ca49ce989766bbe6569c38c2143739894af2047ac4959639f9c4602305c0a250c792c9e44a92169285dacb11b4a3c312bc076117abfaa69d42ae896fcb8a3f8fa9b35769f1f0d085ff27806d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cb56563176562fdf47197162875770b68dc0ae16c43b1cb46ad65ca0191bcd4afc9800723c51b54b584912beb9d24095023100e18556baf14615ac4bb1c7ec9016cf811c4ffc8879dfa52467202756f6b8d2ed0a9ed90e7906f8bae50d76b5becdac6e0302047c435bb5006730650230749e2d1f57132daa1972a9679ac41e2482f0cdf8cc0ed8f9dc2382a2644c4c34860d72e8a44bf9b75d7146fd3487ca4d023100f37d0611a180c51e83a8a1329c11f7bd9730a63929a487ffbd787bcd3b7b99aa812355130f1acada05afcec0cddf29c60302047c435bb500673065023100abb1fedd307f37b8c8fe7afbac6ba29efe18b3fc902cfd6cf64e5c13648f7339ba24e1d03eadb1a59f62e9c65671a669023030239599bad44b1f8e7c48323f87b0607008e616b968da0d0c10f0f3fc745c168e73eb816f19182146523a080c7d6e4f0302047c435bb500683066023100ce97c3192b9b8254df481f30f36f84a1ea788d75d18ccf399061cb2fd5e0f98eca21aedfcebe811f8cee52b03fd81a99023100afbaa05d2f52236f6cce37ffe56e5d39bd8c5ca5577877ee614330e47156578c972e25104216c1b5a80b3af09aeb0e2d0302047c435bb50066306402301481fa7a97a06dbe492e01ee5b1ed001c058118afa804981b174e914936fa4c137a175e457ab44e455e87de7cefde5f9023024be98967b9f0ad16faba0374507acdc40327d293a2aebb878c6be0ea1d254135487bb68adf461c7c7eca6977092c0350302047c435bb50066306402303b1aef3180888a2d0bb881222605292486cac252fc497f5270b463f72fb4fee26ec35c6ee642816135c485c88936dae702300fb16490906024a96a2c8688d1604509c6024c42cee4a44f6c7bd043bfd499059e922a5863ebaf419a203ffe677c5aea0302047c435bb500663064023022780e6789535f863a6ce03d291cea7db2152975cca4f3bb11f6cc1cb7ce1a97c723e2475141c3d3cf1af4ae641e62290230538877087bd58a77f2939ed9f641c8e8728ddaac11ff2db5c82318f2786485f749ae01419209b84fd46b6af7dc2d4b210302047c435bb500683066023100fa9f4a926c3e1e9734ce0ad4be57beb6ed2e93fc04dbbdfc9844474838818a22f0b74903a51e9ad319e6b15d62a18b63023100e8e48fd0a4559b594fb305b23c0f68ee1304680b0e27d1e09e0fd61cc3d1d76178bd71fad2d20675ff204fa45d90222b0302047c435bb500683066023100b09e7414b1ed189bd8abb3630be898c4a1ee35ba2bbf6d58ed4a9f385f6bfff20cf0e2d4241f89bd9fc028d0c7bb28ce023100cbd0f22ad2fa3275cca27a93f675ebc3572cf37d024f2ec072ca6223de24665b1afe5611eef8cfc201258f4b3e669cb60302047c435bb500663064023010ce41f5ddb66e06abea57ec339d6a8e379bb51d2081bda6fbab518bc47cc09145ee9d59deed176fa1ffb52e1a1692c102300433ac27397e7206756702415dab0d4bb5967f1941a9ddd7b0d5db8c47a6ca0917eb9b162e8b1931d799bfef57d3e13f0302047c435bb5006630640230361687dfc7ff56557a5d7360bb4cb80b3106d094c9a6b5f386571fdd70c2ac9d93f26b7d04539b7080607dcc3d6b73c402303a45f9211b25c1c54c6401835b5189d473e524301a47e70cc2920bcbbdaf515cfa305735ef435a1c4360bf99bd19ee240302047c435bb500683066023100b88eb6d95b60ee928682138771471f720ad421c244fcdc23256ac04329db215e46aaf8b8a08ca1e4e961ed6683ffb302023100ea014fb541d6a580a85e841d274fd114e6cee06b20dde22ddde76d3fc21b3f236d4249e9665cf5e49fec2cc24ae588580302047c435bb50067306502303a3c374030dd24e7e3835c6a99ddd43d9af19186891f6d89a51185f047af22b82d43c12a4dd27aa1829238149360e3f5023100a47c2fd09e3f03a37fbe7d3ab9217d154b97bfa152f09f37c36237f1747e97c0bb2168f8928f3954dbe5c6d90f9174040302047c435bb50065306302301402188654fb564df53d40de1805081ac3d6b58a2301650b27a74b2219467042187a4df91cc1f60cf57d94350e17ea99022f253467ecc97808fa74166a64b1d88ba110c57fbb54c60d1b2406b075890c24ef0d6e5dba751129b1239f28492c8fed0302047c435bb50067306502306e3c8e092ec33b3e2051fb6f107bdd7161b25c69b9474a9f7910c4fb25eaf7d09bd7aedc61e0238c67b280d50b2b2836023100a3d91d46c62ef776ee4c66adddf9dd635b28a5b87bdd0c7f56b52d27e302dc31063c7d320b6f1ea6ea792af120a591e80302047c435bb500683066023100dd160ce03ef4c8cb9441573928453f62d74c5468f930b17a21818a4ab12e03a9ce6ff33800309d764c3390e8e6d80a59023100a3ca3042502ac79d1f70b044a7db8e2dc55a046cc873fa929e3960d44c97ed617c655a1f67abf69890c4462d5fc5ef400302047c435bb50066306402307bec05820bd814d025c5d55d85ff6192f7ead5016c89a6446d624c9244ef12f4f29f192cf346d6efdfb09b8624f70eb802307c2e67c5d88aed65d7e533b1bfae2c0a47ce0e0592d975f196062bf5a0f64519bea3d384e786d6977cc0fdbf93bdc91c0302047c435bb5006630640230671f0e96edb41b1c1d76617840ea0d3bc7ceb897de42372b9fc37e6b92d911dd6490c22d69a9ca71f8a7d96ccec4db06023027031377652091584579090ec7d92bb199c2e858c2d2abeb77a801dbcebc74c50c79141eda9810ebd81a01cdcdeff59e0302047c435bb5006830660231008e2513aeb91d87cff97825879c59f751bfcbe5f5e2fef116ef40896e4c87069cabae804dc563091b59143058138360b9023100d4e2e937995e880ca99c27125704055fdbe560987b14da5b0ffd5eb1838550d8934d430a7c072706b8243cc057a3ae780302047c435bb500673065023023961ae3d2bc9c35179876e329cc9ed660f7615bbb909ffbd2008df771d0ead2b51bb433e67e974ee2e8a3576ad98733023100c9691b5c780f255988c5f9cc15a768d5958b55a21e3dc08f2f1a7f4675a7cc281b6cb0d7087f1c2fb3805d52f692efbd0302047c435bb500673065023100af066dea08fbee93bba602c1581cba3ee7865984a9dfe68bf6c5458e02587c439a2742933f1c39d81c16370f55f973ef0230468fd7652c0c9af2282abe0f0ba5e9a20c134a9c3466e82b771ca92917220b15aec8c5b1ca21f0a93d952eeb59b6520f0302047c435bb500673065023100b0a4ccd2b95c8192e856300719c143c58a8f4da7efbf338d8e3b1ff30dfa902a9fe7a62c97c1b5c192feba3ed0ec7c4202300f2670584cd7fc74278662e3fdd99f269ac4cfdab9adac3d7951de4e74ccd17184545b46364d5682b1a1f94baa3703450302047c435bb500673065023100802da868f58b7cbf3501d31aae6aa3d13e7abdfd5c75c7c97b049293aabff212617261b7100764cf1f45dd5da892738b0230706412b5f79613c78606d37f751fae71180cfd654d4d5d2a73dfb0134158ef72a9401be133ff7f222df90501b4ecc3af0302047c435bb500683066023100f2bd21744b928a9695f4602c1fe3f61aa30e3dc6c83735374f1bb447bb6b9f7b7ec1916e24b07883cb22f1387a0abe7a023100d36ba1b47e6cf30640180641847a7b5cb44f5b1d2e2269b8b697ae3687b1346785ecc13aa486b38a6ec7f5d993b0568f0302047c435bb500683066023100a9c1ce9533b81c99eae58651af645059fbd776ed733df90c3a9b914794d419a375e85b298da271edadc1dc6391ba1d8e0231009b056935637264dcd01f49a8d8fc72691f72bfd0482e77876c2554506fd24a33c87c2938944aacdcbfd4769a95b3f0460302047c435bb500673065023100edf1bac12a748a8c8e40228068930361243537886c68539f31f9723cb72fe05afaa5c13258bf7f9484ff8220c7056f1e023055a996e47c6b59dcf789e02aca8ead2869aa8498ba62daa96dad70c1d66be88d42585b083a98d0e06d90aade0b79e9930302047c435bb500683066023100ddb4e6ecaa969a86ef27191b13b2f1c48058b67d4b4c945ceab8a369c8e1b458fdf53694c6186a33220ce62fb06f711b02310088191e70759ceb0f69985a14e70d25977ef064f832e0add29677bfa68b7ead36603fcee0d2971635922947f5d8b270250302047c435bb500683066023100b3e1e7b455f1186f8655731b34346e7430541d3d2613437356ea6f5bbc11da9883d7d7b557b29a02026e777f997c1a4d023100b348deb7015bfdc9681aeaa5a9828cf9e23c16c66d8b35c49dd0d21286c6c873f708886ce6b0ea825c6359a4f387d9240302047c435bb5006830660231008d9a5ebbf91c41e542b9d529fb8e16fc5b54a394dd5f89836e6c923d101a63d15899677ec9ee0f8ccf870ae0e86573d6023100c5dd01e7b0c1225243c9c51cdbaee99d0f8798bcd00eb9721cbc33c14d90fc7fe16abd894f76bf0519618e7eb5627b560302047c435bb5006730650230654408d060fb5b260db3ffd829773265ca577dce729283ae821fcc0bb07effd96ab089063646803c19b4f74ed8f5c6cc023100cbc275c4924c51b7f36c5d45af60277f81008f5840240ce2bb29b70aa5b6e5c53f9cce7fa6524f72f6a590cf11e4e01c0302047c435bb500663064023045454e1b563af17ad94d0182d334ce03d0085cd383fd77376ff2db151b118bfac43ef3b7c9ea24dee94cb674768d7faf02303bf87c036102705e9756a667b170a4c13fbe62672312a5337875ef863f82fbec2b2f8ae30368716f1953d808d342ae4b0302047c435bb50066306402300796252ad8f0442c3c19806be3db6bfe3b25aa6444e9eebe5690ddb91772d0d396656c6d2525aa9311c17793f027016402306368c3eac2c429e2b64c5612c9047e160ffa9df705d0fbb4c6818fd99fe6a61ece96b317ef0b2362cbe8074dcbf4cb310302047c435bb500673065023100fd88aa7ec9ea5b3f03895ded8fed58782ba07086905225f612ad69473f3607892607d7338ef6a0fa968e667390d17ae302300e4e111707c9e0fc1ad4a138ea2a305db4dec447e34d5132a4e8aba8e74d9934acf309533af98726d5da85998fc1e1200302047c435bb500673065023100d6508c749970b2db787314818100d0dd54bc91b9a38dd34fa096a985a3501dd18594a076a8fa30676172888b253ea153023060ce5df45ea81d2f5911e8e20519bcdd03820957e22343c7e968552bde35c5ac7c4f4625a18e7f8ae86cb0bf94ae9ca90302047c435bb5006830660231009b919f1c916f0f41067606cacddd2391cf45aae15de11e19def87f9bd7c10ac0ca73b696c950b2b88beb4259027f174b02310091c1546564637ff1bece610afd9f5cd21e9d315c2d39aff210ac668a89549674d14dbbdcf98c51979b838e99a626936b0302047c435bb500673065023023c604dfcdd24cde080ad1586a0a28e6b35fac31843bdad9f98fb5eabb73331dfba7dd22b433dac4aa1d5464475cb81f023100f9706b557d3d45796d1428f94b8bd1de5d8e662693987ed25c73e63ee8706f4a7b0f14e55d252f3c2b05a268e56514f00302047c435bb500683066023100ae7d03863e53b23968219a0e6d7c3cfbf99804d9ecf7ebc2cfbbacebc4f09c60d80a07cc5bfe3b5dd4f8392ffc98c09e023100d74fc7c943be06326e06e4f0903145fa60d0a41f78fc7b0564543365a0dacbef6e32a6148d4f736f3c189707e829175b0302047c435bb500673065023100b3daa970df5079d83c549326f909d4dc15c4667ebe8087a6cbf4b095d5cb9dd378fab88f735d9398a37b93607778004f023070148482b8ab715a544a46dd02773bcd1f9ff067dbf4ded8c6511879a005090f110c0badc15da3c6c2820690e8098cdd0302047c435bb500673065023027d248b021db655c5f32f6dfabf8e6fd2662ceb376cbc1ab277b0f11b16000681d35d9d219be47dca6907f494583b7610231008b2c3f0b5d4be95815b9b4aa2b589eb7fff636c2c4167cc1a0e8f62bb61dc8c2bd4c575142af9e4ecfdd0a8cc2d9f3950302047c435bb50066306402303e5b1467d1256046c1445b59d7d1766b7f72d5bbaaf68453b2f292d817dfb8afd9d06f2e567b9727618b6aecb4d8460c02303dd91c47a3cd2b01812ceb2f5deec38653bf956f1a9bf4b4c4b0b1be4e141176da611d0b75331a5dc829d9efc857678a0302047c435bb500663064023068cf6eb2378cd63f8cf2434da982ea3645b920d7cf44e912a8b95ef0d99d9d372ce3d2939d44cb549a28e5c4a65c6e5c02304e52a85d1e4c70ef45e00e32354f5374bf36d5d8b49d5d9d5b653bbbec834c318ef48a9c93676448550ef7ea2423ccb40302047c435bb500673065023100c86c6fe6b78c211f990f562e8271ce329aeb27b17a78db4f5f7afaca6e9fcfdc230e029c5e3514fdedc9502d466af02f02304ee001788558fcd53d57c151f66fe861dd9b78ed544a07f9c013754956cb723437c414d6e77cce38dd71772edc32a9990302047c435bb5006630640230019f358ea5ee8ad6882a029f86ab51307f9f534958c69160ca24ebac7b76af7e4f58c365db1d487ebed681344f15bc3a02302da7385e0281b5aaad8ab7f607ab09d8e7f22a92639c0e781ad59beeee580858054fe01febcb8328d70777e7d43a9d990302047c435bb50067306502307e001c293158b04591c985b1abdba40284237025e2b0f2f5b3a1a354a3f1552447f7994d3529d87b370ada9dc082219402310085e23fdc08c5f210d1bb476be470be08de7b3c8128eee0b1c25673822f403b11fa45686467eea832014763c9b63301460302047c435bb50067306502305ff498d1833675df156ba125d5fd6724aa6c854510cd97f751d7704e328a07955fe97084d61d64e8b24ed650baa8ed91023100ef00210d30dd2e4761f20d5dcabe2cac4dc258e3ab91970bc0646d75e1acab96c6a0c9846fe9958d8ef439c1a1699e890302047c435bb500663064023007f0dce7a8d72249eba5467ce0a20468b161f06476c8bfae03b06ff96b701eaadd277149fbf98fd953fb6144381f88a802301a51c6007953b86b6f1fff0eafd217f0204ef9b876c79c5b741971552fb0792c2cd94d03898fd7462c629df60ea8e9d90302047c435bb50068306602310094a15e807adfefd66a9abd3b3ae82984c10d5af087466851267eacf168f7c1910c6efeffc93be93c0cafddb193a36815023100cb11bad60496488027b26f2b65c76865ef24af7acc27b659da0a84599dacdf251e0c2cc59958273f494ba76bec28d19e0302047c435bb50067306502301646ee5561c5f601e689a5e91f8d65aa86e7480b5cfe3f4298c440465b1f83befb6d39523d0cb1b85b673bb9abf32e22023100a0b3480920a87378c9175856483722b1b3e01961d0ef9ea452b52add8bc157bf5b39abe46fd5c8eb6c13c891a5c2f9a10302047c435bb50067306502303c457f273b31787ac3c37ca99b62fd1f9ae728658482b024f8db824c98a2ca0ce1eeacf4da51d338516653f021575b5b023100fd3f278833c5f12a7e497f3dd05dd86a199ed1a3665186c6ffe1c4cee8e8d8052c4999930f9ccea1727d76498a8e42f00302047c435bb50066306402305ea5980ee85d7b574afa14a4931925b7dd587c9aa97837c04282984ca175dd6fe57f81e612a592d530b3ba6ce4f87a2602303344d5854d3b5b5a3ad87dd51296061ba1f98300aa782ebd167183cf71bc6968f5f5c3c86c6ec436ed09c01d4a9cfdff0302047c435bb50067306502307387b186e41fe1f8d06535adcb6b19e6a08b65fa83cb3eb8e039c479f3b7af4d713f1dc0a80f53c76e02f39517af3064023100aba2fb4d6e33961e5aa85c8ad4694197e5fd66a210d1a2a2eac130fd065203f70dcde9d9b91c90b02e30be1136dddb960302047c435bb500673065023068bec794f455a907cc2b7f5f9c6cab741210e4ecf2849d571ee3e9bf5a2e36aaf193c8caf74291df19b8c4de79daa2e3023100997f608222d0574524b60ce2eab38871508520cc509ecc6ffc3aac6f4d697ecf842d6b8b79700f7a171f95130e8956f80302047c435bb500683066023100b9f7f64498b1fcad388c446a568349d565bc76b33feee59a8df8c0e733cefed3cb00ddb05c72c7ac743dfe3449ef13b9023100a79b08d8e3625a45c6ce54b2a88acc7f41b7e4ca00e162b6cc99f6eb6a7da21fdaf543d588d8fad18efe10af407384f20302047c435bb500663064023026756700a5726682a27a64ef47baff728577f089b72e086e51c3497cbda1d6d0a9f0394740fe4ef8b8ff8dc6f3a20a4f0230698a3464edc30fa1e95c16672f28151ff1bba32b3af362b128e99ee8229907ae60827d91190f9e3b5b5f454e1596a4650302047c435bb5006630640230401fe549f46489d3f167f3f16bbde1c5af3c2607e4be747e18178ed5ed88fcba90e3ff0a9b17aa6425436ca0eb186c870230550a6dc3b2dbf173aea80615b9f53d73ecb355b58e29819339bdf08be6a88fe2b1de7762112cac0ecbf75b1c0ad1a9bf0302047c435bb5006730650231008023259447a93689103ebc78f87c6ed2c0a957aa72353d5fc665cad9a4ac3251ad08a25f8ba2c6985d9863c9700a88db023000b5041bc3997d56285f9bbbbb387e98e947fa6af0225a931c07babd723f0dc58242929fe32da690926a89254885d9450302047c435bb500683066023100acb5f8d56b5d1262508673df065b3c5c3bd907fa750af256d8f717e8090e35d649c32cbc9a510ca517a6473d01dcbe0f023100c7c2d0ad1abf89573ec12bd73bfd4e9b7d4f8007ba110c7b026a71ef71ffc32d085de8ecf39fecbbe8a8c53f506f0c670302047c435bb5006730650230598eb1d3b194ccf9faf530f46910432d688b212f7fbfd350eddbfbe8f181128bfec531f7e096a006ccb2c0b0b12da3cc023100d9eeccf686a56312d8a8f86dae4ab115385ba62ab731dc2454eabcf7d7925c167a39a0cff5f4cda6d68e2a9973d859e80302047c435bb50066306402305e6a21c7a65c4d5d3313b16b144a0964befcc52bc354a9380baae4efc0c73898bccd3cc50f1514e303efd72fe0634ab202302e1b5df4a5a2c49371d9c7e5cd612c7b95f69c398f45d12b2745723f74fca35de6da16183687d3dc35835b9daaff35d00302047c435bb50066306402303d3cbe392620ebc4d09df658819e588fb6ac8330dab40be5d2ce87b97caf0ce2a9e34d0d5a4c34a8648ed4a24958d7a4023035eda29e9833c108bca8a8a38b4937427464ef8567db6e05f7f6e054fbbfeaf74a7b7749016422af03b82141760a62ad0302047c435bb5006630640230364f7ccdbd539b7e5a3ff8c418d1b0b052b14872660765ec0abf05db7482e49af2ed9505716603d3e5617121b5061fda023060f31fb79f795925a0b3c91c3827fd64a478566a2c6d3eb7ce932b8b2cd4ec5e4214cfc2783d6d8d6f727bb18f39a72a0302047c435bb500663064023050fc476404f2d92fb1b269e92ee7b48504c7ad0b9ce26ab01bd9e1a4dee93ca8ec735e08a21d850488e8be7155b6dab302305472aacc1d593da5f1114db9c4695aabf73c12d06a1161e36858b948a196f349d91909c1009d8f44b33f387693be63ee0302047c435bb500663064023016037d8c1655eade149e3581d3a88e9b05e699e60f8dc88e93dce809e232bc98900884700268f17d53c267b06ad4518202304573cb6e0bc7aec649a5731e1ce4c0a2de2fc859518034cbc298eeccdfce7c8b47554cc8c89c2afa043100deeb4b63490302047c435bb500673065023100d07555cf0f5b49cfb3b490ac6909b29ded2e377f407f14535ab915f107ef54b053b9f4eeba41b71b24bd2fb683afb99402302a7593242c37ae8f7fbbe098e0de27473508c91511d96854f6fcca50e7af3fc7bfb2b28844e357f79f99a5b57fda7d5c0302047c435bb500663064023028bc5a50e31caf69807c89a2226c6ae314f5ee15e020c7d6eb12c1f404ea238c7763be481607ef2fffb28d70b10a75ed023049cdeb5c636df11e312608fb7ac256c3826028dadbfbadab2e9ff61fd512fec91840d9a3216d08eac00e74ecbc2228c50302047c435bb500683066023100e576c8cc5a1585a7d49d63d6c66bd6f6aa3167410828b679d546c5cbff1df61d06c833c38e6cb49bb7dda6b9ec7e5a5a023100e5e75125ee62ae1648842593b5cb028c6c72aae9f31717751f6c65d6a01a808140d567b57170a5c8741ad9f2d8fbaba50302047c435bb500683066023100c4b5ad444f1b87371cb44d55be0eb239384bb3cc4ac70e9364c62467994707574f85caba2e7aa59f74e692c2c7867d5f02310097590ab0387dd087507482d4befb40faa93d57d059a97d6c7de02098d246b8846309c3d80db4ed946a50b3f1e6ef10f60302047c435bb5006630640230734512628d59e04ef7bc336b498fdb978379d887886f30c514f6edb610013ad797316f95d4b30c8992c0cd5fbf95c406023045f8be9f36b37bf0f3b220de51466abeb02d5da61b093966f4d26d3b07aa35ec49486da314caf33cfaa33737df3996070302047c435bb500663064023067283ab66c32bb42a34c454cfd9d32cb463fe71c4ae0760b6c9d17ba15a3d48a451790442c40fb2a9d132dea691019cc023072b7449df46079c10a031991642a0367e7f3f38affc4d8bb186450242ef6180175b462de194944d5f2ee4c8a140e547f0302047c435bb50067306502302a4cb7c0fb7ff224a73530e47abd3cf936ee9224050cca89d1c0ffe715506f93e9967eb8b93e434fdfc7b3afbce0607b023100c97375237d6dbbac2aaea64d68e78e57cc6a63cbca147afd885948530f93e0dc9547cdc428324e0c32812939427382d00302047c435bb500673065023100b9175bdb2e1d2d800c9d2ccbd5c33ee99a17f5379c18126de43177c19132eff5a6caee776d23e2e704fdeb0411346c91023009cdd4eba07b2acbd1ed1831ba126c2d344e1ef3483080a50fafa9b6c6ea956dca05209f5760a691a91aba4ce773d5ab0302047c435bb50066306402305695a61170e59731038cdc459222f4f2f9ae737f6104394a2f9e174b6ce4913bffc81fcd5ee46e9310207eb3b725e4c3023069b1b12683773a82b1d1509cab3c0856e128787cd9905302ddcbad3f3be75573b6327470be85bad799c44c9ecedb2de60302047c435bb500673065023100e0e78aa3b15c1076bfe6874728711b7a34ec2fcf87e2e62446324a39d343ec09db2bb3ebd43efa907233f45cdc342e5302305af39658cc129c85e3a07dc61053cc2992f221b99aca5c02fd15f2e1a8c24d668db8badf36a68b25a5fa4e02cd1b31f10302047c435bb50067306502310092ae75e42c6d4df26f7db2ca1f6b62e69fc160f13aa1814fdd41ec31c0e63e8623da6098417805ebb8ba347b5c02de7c02303b05ef83b91469a9ba0e1e510eb0c6c7096e83c1eb1e4ee715766d0f983d35c82cb63ecd1ef5f579e9307e8536c687b50302047c435bb500673065023054ca3ee8f9faed9f381dd50b8c23f84f347eb10f769f146a4d0020d98090bbf4b7fe61e053f4e1ea498cd9446a592072023100dd1729683965eba70ac54714d3115358035031e9d8c9713cf786edbd10cedbd37bdd90d8637618e53c6a02641094987d0302047c435bb500673065023027495ae43efed450eaddfb3d028c695bcd1e3cbc31d10e7019bf03efb0e7fdbbd913463d11358270b153b8e44a81c5ae023100ad54e3c362c4acdfc1a9ced113f91c72aa36e8b82d4118cc6602692c09fc8a6c5c2dc57e687de2cf3dd500384e60ec710302047c435bb500683066023100f9a205152ebc7e7b9c97730063739b2dcde9a33024bf10173838f2f214616226a722df10aef08bff62daf5277e0e5e6f023100d817b05a8e5f76aeb078b151d8993126ef6b456213ae7bd09f95a0b820e338e6ace2110cb995d0b0833da1aa7d7f82d80302047c435bb500683066023100912daa9bf9930d0a0e37ae85795b4deac57bc8225854a4973c3e6a34341dabae1dcf655bfd66c4c5b1804586eb31c7f4023100ecf8070a624f5a980491139e18b824088d1f1644b494925d8d2799381d91769e345165664bc609bde74ba9b5c95352a80302047c435bb5006730650230174fbd6bb85a8b2e1ef355cd9b950ea396cae73f784883dd043564f2ef717e44092fe2a6476ccbcf3b622e2f47f8309302310082a0629043519edda8b713b5e24781cbb59d588b3f2748d9a30196ef3d8a4cf6f2a477e4199f6ddbe361096430accc010302047c435bb5006730650230233cb761fee6a3f5fc5577939ef6fd7b3850bee85360d00b198eb9e074f537d3a6cd3f92959e0cf8cfa9fa78b32572c2023100f71a3f610b411e2e8b4c86b6b19f51344a8c84e046e33752d64d8c0a58ae2778e4608762fbd7b84d9e071bcb342003920302047c435bb500683066023100a519fe8bfd7debc412884ea83082f717b7eb75034dfb167970ab6fef0e21fae5665fd8a15b813b443c82618000dc12b6023100af639050cf6f9bcbcc28cea0fecf572b31bd2a945b9fdd839d0892b9c7a0a7abb035bf869787877904637c854dfc6d010302047c435bb50066306402301e95f79495e7ecbe823662b5859884ce736aea88000f42685dc5c8dbf5f190ff6baed7688439f57640eaf54653c7006202303ee19060dab88334d4e037f76778e95155113597b5efac79393eb3f9a6ff8d79b7fb67bf3086fa182dff62e766299a4a0302047c435bb5006630640230461275c5bf99078ce3437ef865cc34b97f1712340f37104e18d58fd58a0b03bf03c99f7e1d9ff134f9866204b827595802301f6e4a770069e006b0fbf37eeaff7d4a1969f74ed357d12ddae1524f5eea4b164f252ab54740cd1ef2985042d11996cb0302047c435bb500673065023100e9158b775ef33ffe63a3b0bb9d7d3512073f98747756060b6eef79f8df43a46343a9552f08e723e5a4e10dc506d639fa023014f10746013de1773b161a21501edd9c2873e26e254a11b29d47163b41bb005f82a34848eec64920935fc3ccb3ea8c2e0302047c435bb50066306402306d19ca2ff0367cb8f4be34d1dae269aec99ffcbddcf98f2dee3c7122c0d35142f71494dce07bedef316db0bfabec43f902306a9a175e217b0e1e1a7097ed55503b42128f643021cfabaa69b0ae73ff28df415584dd838f013f3b064c8f9607973b260302047c435bb500673065023010aba47f36c787c1f3dd0bbf8e5fb8037b56c8a2b58820708d5b4e20b81cebbc17a12f8e635638138a9529fca36c751d023100b329e30b3fa17c2a599f031c66e6875cf3176001017b4220a99b2980731477fe311dd8b50496389533346e10ae258b640302047c435bb5006730650231008b179e449fd6418d380a80ad282e65ea655b27fa1089121130ab7962d031518241fc1cbfd9e8cb3be3f8bc6f25e926e902304bac61fc0486c06d0f1df8245e1e740eb704752a84d8b92c0d15840bff6735b1c1dc925f55b7a90e6d8fa217020421610302047c435bb50067306502302d07dee027b6d9969669962a0fdad33d2d430575cc391822afe7b6f6ab6191298393e4ab5f40cc922073afbab176bcbb0231008b55db1c26f7bfbd91edb1a8201ef7b105d078b62a2243b34d2d75411a6c0c7988d3371abbca69c413399ec93c22240a0302047c435bb50067306502300c428c80369764f4514e831ab7cb689642392eaf7f0c4ab128341bb6a4ac6f80bee5bbbd6a571ca970006f4c05062733023100a4edc5660e762b38ba7b1ae41f3eacc63c28f1a80918726388abac515cf154891ae9cc3524cfb5315835caeaf67f8b5e0302047c435bb500673065023100eb1e08f92483a6508ee4e1a027b237b2b9d2b0631fc04d90dbd50b338a77133d0d6be6d2110ae7080e538d652ec2d57e023073afdc37d1587349507d937718cf9db1b701c7b5c722801d8a5e20331136d1096f0b58bc678663089d0f2199dc883db70302047c435bb50066306402301abfac3a45f214e19681a3ab2ed82a68a1ec2b59459c7188e0289f851d042aee1c41eae675a563c16d1a9fdebdae62a20230463524b72d394a0eabbb7e3f7e72746c12fdced602059e8c7a7f21e6a711385d4e6ba2dd9d5f00440c71551465f7730d0302047c435bb50066306402301fbeb4a5f0c33812a6ca224a3bc52a89b01c6b5798ea2c2be49c2fad89a401ab21f5d730f85ec4d548ba14458154656f023050ec5ec180c7f8a9b04d05cb273ae272eadd0a4e477c6d5036f3814e40b3dffe3c8d812a36bc6745956b9d432f7d711e0302047c435bb50067306502301f164c51fe155e22f14aa77d720fbc0f8efbe29d3e0406fcdfc1f2b20034484dd322d5192dfb62f124f4083405184a150231009b73451891b5578eaa296616f8776e58f35ab45db33b8f7e22d78962ed23fd454dd4ba449de7ee8218cffa69ffa99c880302047c435bb500663064023014a600f28457de0524549731ffce6accbe94166379213b82cca722d29b47749dad38637eedbeb5e7182c85e9cf7b01d902305f6bd11958cd5582590442d5b1ab14df99faeb682f7928bc89d7855ebe64fe2ac8b565a4b1133c3181dc36ebb19d8bb50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304a91b10f30d4fd73999fc9ebe58feb0804f4e1839cff60f5c512070c06efa9922cb931e9129e661cc054ab5335f1c52f023100e527d1df4966e2f3a4bb7b757667bceec2352852250c671ed1a7f5562940841789b3fd83cbbb32765e1d632a97b19a990302047c435bb500673065023039ecfd56758e46fba6a3f3062c797fd791bac127111d6f580af1dd95fce666da6433003c671106b58b57287326841a0c023100b31c907cc3366dccf3a8cc4416708bd6178a7b53317ae82ebbf8b673d0c334fe2a868b64ab9bb03a45668e15779f86a60302047c435bb500683066023100b04859bb3f2733ab21d0cb0d4d08050c95a9998a8ddb2562049c1d3f216137fc0ada76da6d9b60089f41360e0d5a87270231008f3066a3d2bcbc05f0ad31df20b1d2a6a2dc9dbd4c91d95bdf856007e020be688305d9c99e23feb8cfa53fe76ef410270302047c435bb500673065023035ccb8213c9cf5156178936224ecbb4fbc189f5d7dafa30473acf73946dd5bb08f65a38ee482e786633b8b8bc3192656023100a50e2d3cc50ed0955ce1db668bbd9da823051475e913c7765d670c45eadf9e57a9bbbd208fccf7b0efc7bd0be67bbf560302047c435bb50067306502310087a85193b9011b924c07ff4d90e4d93df20b0c4dca38fa558a9b44c1dae1fe5d3fb4e53703e5348501eca0e880e72f67023039e54e5c6a23b42530964089085a948823e21917a9d87f550fef467df0eb4d5deb1324e95535f443f5b1717fce2516ce0302047c435bb500673065023040293779f108f330364d726efb22fb26081d8c06cf161daff4ba376a8fec39b78bedc09341415457beee110e7c1529d7023100876ac9d8c2de6f817dbda477520e45a15e07f5573d69f75cb0708fbf1c51e5ca3d63b1b2c38729e9a6cbd5aa1545ecdf0302047c435bb50066306402301a7bd6d7296e8e70ada09e48b65f4b133b120de97595e8cbb8968d7fe4a663048ecd168169f49e28f751164274e21d7c023075fb0736e5f0359420d4cb78986eca51acfae9fe44e961e127d71c9c5be8f262f87d08bff51adb8e8e32ad349f6488a00302047c435bb50066306402307fa8c4c60ad2f40f92befa364ec0e800a3c6b464da168c32fdd3fe92458517f406dccb63fd1b073d213f253b7c843c9802301518762b3a038cda3ad5768c8666341340395227656f7157197250b89c17cf1aa1c6685264af25202d34974273d3e6030302047c435bb500673065023100c293467adbe025895839d48007432372b5e2f194bd48fa29f4a59671bcc1b32f3c9b4360984e81217ab54c07170f2f88023030825df5e8d70896c9b10f6fcef3f9729e42ea85f56a9625e9d0f139c0fc12c3c0af6367ea966d27142e35109bcc71b60302047c435bb5006730650231009b30743d00c5f7951d79fd746945c2f0fe9662adaf4961e9a2fcb51f263d0ad78f9053f354bae27862e8c0d735e0a13002303c2bcb3f25c2487288cc2403ef621ff2bf76bc5cf94df02f9e9dcb6a3d56f514d9543e7ed84f4165d8dba7c48c26dc620302047c435bb500673065023100f7b483e1f330da25d4185ef56effbecc05ca26c59f32106e7ee5686ee731732f1891d4a5fd74154db50c1a3fc624b80102300f3cb74ec2803aaf107aa580c91cabfdec060c5b25a29aa45c6f8c3c4eb22bbef8877c2046d840748a1f325f0cc010d20302047c435bb500673065023100803a70c2eb689c51403097a4f1103cba8181028f0a61a4d1945f2c6627b538c0179ef1842e32dc214557e7f207d88e9a02303c68358eb1afcc098653f2d528f56a55247bdef2f640b60c0008bc6ca5f5dedfb3d6876e638e2af85f70ca852bc16cab0302047c435bb5006630640230751af4ede5de13cca71b155f981018775c672888e98f42d561da8ac4776289617d0b152dcb60fca697f3753ff3b01c230230450b9877960d6ee15ba1bf1179dc6c6b47f0f6d76178d8c63fd6a40f865d085a718b1b7b77dd9f01a9ce23262900f6f20302047c435bb500663064023014a85b50eba1aabfc721747864d18e27ef6febdca9c35e0bead542ad7fc73811c72cb0b7021bdc647000f783ffd4b4d602306245ae31047da05b2fe655c11aa3ba22dd696b502f0552e5e5e2cc411de2e9ba7a83220a95441da51b292ad0b62caa860302047c435bb500683066023100cd34d752bbb0f0f82710d2b67d03b3a0e2f9021ca762ae7350923fe5f1a1192bb850da807b6fa20755f77ed5a9b060cd023100dd348cc50b7b819429bfd474b27b9fc93c7ba78e2bc9babb0877e959f4357a280b8ad8cb9dc33820a022c374c43ddac70302047c435bb500663064023037ae4e666790d392b4ad014fec05123e782b66ae854eaf8fcc4bd885a59e7c915bfb62f7d9a37c2e7225bb50abcd4f5902301248f3e698d866101cdaa476d13e4e576da2122944b45a536710798b833754601c4988f840ec5ab4ed343d2f582f27e90302047c435bb500673065023043c816b0f02c0955a30dc07b0bd8ca9cf6d910dcb6c085b2d18909cf819253ca5ec0ca8226b1bd05d5405a5e8c20e356023100fad9d11cb21c47d621ab037f756354b94206835c38441ff3b98db02cd75825c7ae7d5c930f5b31a800007f2aea8150370302047c435bb500683066023100c5d633e2fe5f82ccc5a0420f0957efa7cd0fb3ce37fed35a3e7f8237abe9365ca43211bc6d5994b240907aae98ac0ab3023100ad96860f9a3b59ccffb4f77e397b050261cebcb3cdc3f1a3fe4862f409a627ade9cd7864b21162b6930aff90aec8c07f0302047c435bb50066306402306af9ab5665c719f0c906afee5c6285da48417a09e30ef99e8ecc59b0d508143ed3019d06aeb87813d81e6296a2983cb20230545e98f838f8c11cf3247806d7e149e2d52e552263e7ca4a8bcc05c088bcb12d11806bf38d29c925d1551c649046b79c0302047c435bb50067306502301123fa8c904d252abd431c63a3f6d1734554246c09d9cf49c0e5e4df8e34aef39d935c9262094a09512e6b094d3eef07023100ac8740dc41332cd3b64db616c3e3b291273db6e279e82b517d102cffb28c36bbe4c5b4c494fb5fb4ca7d05ec474efcf70302047c435bb50067306502310086a8d656ea0ff5e038394d8f5bfe74f877c4bdaf085f58f048e809f37ccf021b7cadfd51c137564aaec06201cf2b4db10230704cf7daac4754c35b1ec3fcea8c1e774ffcd20dba0aeda787516b38fbc092406e349b3afa35b423177091f6a0a718420302047c435bb50067306502301d7b74033614b728a2b403dcc73bf6ff823f8c6a1d999b8b556d1daac85e3c85a4b6ea3b4ddeb36d57c0b15a8712fc25023100d5e19b2806f391d487fc794593fd144c5c43ba0d64046085014009b84830ce61a2ea31e32df6921721bfbc6fe58ce7ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023044f5e15a2d1a9db3da3749fa141c315b9af0cae2246903f3020a4fb40645572929f4b878b40bf6c907cf16968e8351ac02301415d15b7b7b00d32daba78d561a75894207e79fc12ec4ff422fe3f05a74b4fd9cdae2e7df27e577a42f6e60a74873940302047c435bb500663064023050876a6470226f81325ea257d9e6069aa206f4d5113dc02558f4845c2280048a24c36384f49fabae98566158c0434c6e0230324ab6efb48472512aad1293a388edcd698e24bafd9723229698582a747f908976738e6c261476a16938def55c8d25400302047c435bb500673065023100e6badcae2c562adde7f3a351623b589c1064682792ee8e6e81517140539d18df848a5f54dd0f9eb1d5f4dceb96b0c16102304e935a1da1722784172f20f0d8f587135f0010b8d4fc5d11414e47c83d978321f8b274e4088c6ca873e793265ec8dcf30302047c435bb500673065023100d1ef2f12735b5999b3cf0524256e0dd957e3d2719ee21c725b62842e1e937409e24b700f7c5ee3dd1f550db5b7d9cc5d023052453f49a49bfb39662eaf58d8f91fb07e8af7667f4e6ac18b659aa6b82e4d4451817f60276b7da1eaf736199bf8d6460302047c435bb500673065023054d1d874ee0ebf1c827bfa4ecb5ac85dd8784941b3319f52829789efa07bcc998647e11081ba0fa5d72b9b98d9d9a6d2023100de1f04e82be1f79a59b729ca67bc14a4e063400e9022e0ab2a9ab7cac2d3b6bccffdfbaa19aec5816489da93eeec4d550302047c435bb500673065023048875d5e19e6b4e53ae185cab0a417c56681fb9177dd1ae45f7bb146af29b216efbe34c5d912096c50ba4c32d33b7978023100bfa2cbb0dd139e0816747e00ff79f37b8ed89a678da0c1e15cd85f568b265864c32eb8959a12d369d00f162c4dbd6bc80302047c435bb500683066023100dc648c639a1d5a0529e6783465bec81dd173ac18bbbf33ed7ef7b3f114f126991028d81e71c834e459b05f3516a2e56b023100ed735beddf7ae389c1c48866a0dac6f50fc3898c3269798fb1a316c91bbdb8c983457cd0d9d569af78b1547c73b8d4510302047c435bb500683066023100aebb5681039af3c89b9320a430a076ef3597fd5133f6ab9740974dfef0c8889281b511878ec94d0be1b5c9ce53f2b3ee023100b1c76628178302e3a4d904b3c6a23f3668d53fa7430a7e8cc5adb5d564e621ac4add23410fe8704b6d0051f9cfe9eeee0302047c435bb500683066023100ed04c83899df34f4519db1190f5d6b2e4d878f89b17b73eb6bb3a960e0c0cb3c5eb4470c1bb70efcbdc1c78c554fb8c5023100f09df0d5bd8b35a13a8359f4bc33be3e43577e068014d4de13065e06a8c1f6f4b902ec4f2ab327d32709df3bb54dde630302047c435bb500663064023037810c5463442ba19d8d1f63a223ea8c7c8c92491d25cb250a52f010cc141c10b681b087175b9632031f7ec927c7f87e02307c3083552909c2f5e37e9818b4f5dca7758306d852f0e1c16df2723196f9ec041a84b5afe8a6302c1c6021d98fb87c070302047c435bb500683066023100b6f4def28fc4cff67b79e50a6f2ee4faa00007a01aefcde80c18821bd834d3bd5c68debf667b754c185d8eae858cc09602310096c5a6149ac8a67549e2e419beec8bc42eee13922383cbd4629c3c853cf015c34b2b094992c85998cf862af61dfd2d2d0302047c435bb500683066023100a114d95321cf85d60b74e5457d6ffec16fb916f47a006c6068b9c3e90c28fd867c6b4dce3f6c25954de8d5e685456a3002310086fef6bbbce701e630ad5e9b1a200df2b55c87b8cfc0531d121105ec6bf30670f42248a08b36917aba0e4ef0f1b380aa0302047c435bb500683066023100fe8aa5c0380e0f996fda2fc33d078b8847f27d899a8906fc4249c2d5eba93e89d43ae02dac8529353c39a8c58b4e1cc9023100e0306faec6df63f57ef23b7ab8274bf7b3aa6f1a88f1154f268869c58c00ec71a61915b5ec674c815a8fc77642aa12d60302047c435bb500683066023100b0a8669d8f0f167e13bc9a459f4be3c52bc146e60726b1e7007e35133bc97691caf403cc148d4350a4a1e1268c017b5f023100f8e26811da8c992d9575f8b1d5aed608c6ef2ea27b6cb7ca8a55bb886009dae9a3bb963a7d85d0b94de942d49dbc2f2e0302047c435bb50066306402302cd2102fa7532121e86c023a4a3bb887c6ca1083f99eeec10b10ecbcb56b5732d65a9f3be822bf29990d24bfb3b15cbf02301bac1d2c2c74c4b45de64fe424519c18fd8b2ba32cedb00031607f344ebdf86eb05b63cf65af66b3d3345910735a99380302047c435bb5006730650230230bb294789a4b438cfd164141d673a47e37d2a1b918f4ec14eb68b6b302edfb82abdd9059c400224dbae987be4dffb2023100c8c34a9865eb23a1eb59784663c5e107a82ae4952cd79cc481db1c9cb74b12dac26257753402b398b3703e02bf15514e0302047c435bb50067306502305db82117e95a5690f000814c51684b1fa913a68696f7ae2b85db8633d1044b4d1609feb4d34ea147a7b9e3ce6e1807bf023100ef13abe5ff8e4e72767feda503a4c30f4c782812ec68018c77af4153c8c05574a89c70cb074507b8bd407924c246bf940302047c435bb5006630640230048ebd4fb31f1917246ec7b6ee742bf53669ee1aed144f37c8798fb7b638bb12597b67982332e5ed7bc0c4509adc1415023013360bf84dd7ccb8849c1116ab994f596fb18e9bbcc98b061ba0c06b34f4b9b5df0b987c6bd31e185594bd0b4cbf952e0302047c435bb500683066023100ccb8389b4ea6d14307ce42f8352143002d5c1b962bc6ad01743241fb7d33e75c90f8f1c59bad5a69fa46a086ad5301f00231009f037e8af90f47db67d8a2507206effa5b74fa4e010e6799c85a1063fc15bb21ab06cd5e6114142e66de33b175bf20de0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fdd56a8fe38ca2f39f1a9c95830452e242ff3f6474a1767d69fa0f6574a33be217deb8397b73b90e72a4201d1987380702310086ad37070b465764caea71c5fc5e3ce067267da9c7152c4106f1104b9a5e5076ac9ddff51bb81b42de49b28bf018cb640302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023022db36ae9568c8ac1f9f77028b58700e1f5c286a747201c47dfb1925382433ea7e277a1b061eaef9a3617b59cd8af9f4023100da8772c79cba9fcd69539123847287eb0afe53369e84d15526837e51c65b396a5e7e3bdd305090a2ad36637cfb2cfdde0302047c435bb5006630640230025f55177001ce8456082138959cd6fee1659e39cf8ba5742dafa57a8b093892dca578b3dfb680240d7aaba7048f735902302cb294e7ff3be3aab693d18dd1d60d1c5540b84c388249d90d0f0af859fc1a8eefd4ff4fbaa62813728a99b071cf08c90302047c435bb500673065023100e1bc599bfbc48b015b31bd7e39c86082518d69885203e224989e93015340ce9d77dc56052b27d52e44f077e5c1302c240230014eed1ba8835c7fd3fb9fe21318ed58eccfce0b44dd14154c57a4fb2f0ba9e75963b2e46f71e5d0e2951d9d7492ae030302047c435bb5006730650230051d6f8cb61939d7cca11051f4a9a7acaf170d266103cafe044f49676006f0d3a4db08f0e6458743e65899c8330d9ccd0231008dc5c8735cfe01c88ccabc7fec3ffe13dbc87a79a19e2c53ea1c1622b7ca9762ebd6ab730287f627bf6f5572fc32280b0302047c435bb500683066023100e95a1a8c3c525fc453dd2f496357105c2d5dac0738b9cc34018eb9728326486f1a14c4dd26af5f7a1339cff034423059023100adba834a1a3b557f7cf1b2a59f9b53a71683fce097f4cc579f8f90b531cf243fbd0cf14bac95ce15b7fb1c88ec4f85f10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c36447c16a837e0a4a84bc7635b1e2fa7901fa7e0898a7fc419badafed2c129ea5991d587d7af1a86f582a8d51d983da023100856c9bc18dc1392dc4cffdf6c21934761c5e5f9c9c168b3e27faa8301691b58ad8154e7d176be503ea78c74fdd97ecd40302047c435bb50067306502302976bad35a8d6ff8210e889403b39cb5de22230324ee80672f327b7cf1da9841bc7694f470f8a5f1896d42855ff29524023100f19b1fe46c25d87e2465bbe93700a0b582a462f914e7b62b3fa1f01f6d455cd201711072b74fb9a44fb4e62f61faa2ff0302047c435bb5006730650230184df9819c8e7b3d45519bc40f728c1418a2d09643083030e3241f12e0c47ffd7ebf4c098fe2b9566bf8c56af0199ccd023100ac2d3c7b317948e56e6c691563e019b34f263f3130646d0824fc5a53a1d900a4154a405d4f8289fa0fc39b737bce9b190302047c435bb50066306402306c808cb383fa36b5cefe760a867a0b7f7a40a58e180ddd1f786ef635f2733d3af65d9582ddae84a607f28919f958e1e402300ed305a95a5ce5d76dd5ecd6f1be0dddf6c00bd76216713edb0b1d7dfd81975ee620f575ec55385cd98a7c1e4f620a190302047c435bb500673065023100a7b03b5d3f8ad804f858b9f6d600c410767ad05299ac20c4706fa9788c4e9394cb9cb4aef9cdc062f0fa7e51eb6b5a8b02303a75036534bdffbce8e3bc2118c6010a8298cd5cb7c8f52766dee785de988f4ea3d803c11ddf3663d8f8d5919e0b80400302047c435bb5006830660231009237f7bbcdb335af4ee4f2e1aa8b34089ee9d0278beec21b14add402f712e8bbf9478fa873e577692baf41c0a1970a0a023100fa13283399490e484dbaa297c7d7c22c45dd5ce8efc0590c482d5571af0b0fa431c77a9f385e903817fb691b7df038a20302047c435bb50067306502310091e06366992390710035ccab7ed74f71b2e92de5251fe53538290cc2f6624bd69ced92d2ed8bbd3b746ca58ee42d6c00023037237606324002d69363e66b38d9785db8bfe8d16705a3bb5d16bd7fd90c24f10bd99d9be1b1c6e8d11d529df6f4a7ad0302047c435bb500673065023100e04b197a403bfca7fd56cca05439394a49365b788d1df2aa58383fc1abbe44bc835100cc9c167728d5575042aa0b6790023041137fd5baa29d172f9ebea2d0e65fd78517ba384899ae77eda49552ddf6d75f7b11cb44827c6ca41c2f002effb626130302047c435bb500683066023100a241fd7a0b4a8e28b12d5df6080b44f3c97b8fe723a1678330c6b07c1dcf6b598cc32f60f9f876f7df44050dbe51cc78023100da3dae0f1d0ef6b07c8c5ac8313a108cc186865784f23bc23ee724a8ccdd82740349c98da0f1b01c5c4a86aa7617a2650302047c435bb500683066023100bcea161b3f52729e9fb91eba4cec4d9c90e6e5c8ca10e0663da1364f50a0fefbbfb3cfff38f729596f720f04eb196ae3023100b930ed70c4f5e3f780dbbbdd69893f5e06d5e61b6fd2c9041675233df3b1b477ddc70fc13891219c6df0f4651647577c0302047c435bb500663064023042297baca81b4391b48e367beb22196a8bb15e18d57b6bd2bd2de453368f3d12a26053b0febfe800031e287ee1222964023037b88ca55c32fd699c23d3acfd326d7f9c0bdf43414da8f632c34ebde9492a5bc3a3dc74e075fedef9077aaeb2f0ce580302047c435bb500673065023100fbba1cfce97948c443dfedd442c0e81bbf8bb686c71df015142c702f0cb2016e479f680945f74a8f59d3a17c278f338002300c4308e964902bd2f63754a78940a0e0d4f675964ee2a36d5062e6d5c3763b52e3008297b3a359955322cea6b409dda60302047c435bb50067306502301ac798d7385118a88120b3b60d40514eb79dc26a31e3e39fb83e066f952e0ebb32aa182af1bf902fa2836ae9c5c78d12023100989d08964a98b056c6d991c8055f4953d5a60f7b6d61ce8c840c1d62df06163787021ed56e6766c2b00b4f64af09e1b30302047c435bb50067306502310082736dfa0f9d0de662d5907ff310d568214d2b42699fb123c277dc58ed10a4d708bf179acc77c269d08e77e0766a077d023032c4ba48a0da687682dfa08c1815870b7595090135d49ad7040ec00cb12d913990f67455cc6884844739862fa5c282870302047c435bb500683066023100856c1152fe1b2d187db318020b84bc807d946baa6025fa888eddab695e71a88fa0641df39695dc209cd6c23fa969a1ff0231009efde5edebe409aadb74c60f8b9040f7a61d6b8cd9881ff55addaa311af206541ad4cc627effa87b46dd501c866927c40302047c435bb500673065023100fe1b34f1160ef054f48f35cbee746531858d6df8bef9acce09d5f4b1eeac5818e4ccb5a62eff08d5c8271ee760f8be3902307214bfce93b40a359520a6d0552abb0eef3b639358cf90a8ceab455979541ec58ff929625c1d33c030344e688514197c0302047c435bb500683066023100dc0546fb36b9fb6b4740a2882f483d72bf94e34f084e8640250d8bae6c0911da2910899d016d46aad54eab941bf39237023100abd94ec91a02a86a63e61a06cee3522b6e9f8b77fbb79e14c68a287019ef4df267ba91edefca3634521781c2c12894b60302047c435bb500663064023047c6b094b26e08b6820a3620d3f61392ea92e271ced96444754ed967693d851b0079440c36ba8e90c3caebfe1f735e5d02305ca1e0c4c2b110a7ef4d59657b4f0f8965d84de0b1aeac55df17aae825f49f87eadcfabb72dcab5512d38de8035c45840302047c435bb500683066023100bf8c97795319f08047a426885688e136d78fe917c6eafe0eb2f680a55e9ece0f5c3c09352635aba16d98f029e1dab012023100fb478fca1f6cb7ba6e9703c02d53432f20251a21a6cbd5e096e6bd4a1eea82bf50d26aac4ac244f76ba710e780a75b340302047c435bb500673065023100af142d32034c68b9b077ac373e7fd1ca1c06b8415be0ae978adedc36d5a3527e2d428d5170b0f39436c9ef9195080f9702302fffd56552e692b2c15140bae5deb2965993dc5299b482d8aeec582fc91e246b1958fa540b9a3a19abd825f046dea9260302047c435bb50066306402302c21eb22ea811a5b8511a13c87aa3a88f83dba32d3a62a4766add9195497dc073834dab30468e37b1af67ebf661539fa02300e9a2a13fde13c2a91c080e667dbfaf4b9a7cb54e91f12f00ca3ed358d3b44f1d2c07d361cdce097d7c0c0c752da72d10302047c435bb50066306402303ea4c5bf9359074e4094bf7d1e15190a580701ebcaae1cff8c924d71af48ceb08abeaa6ee011936fd1e763f6cc8989b1023019d697e6d912e0e553b7f23c491fe55a1d51aa48c507562bbe9a90c3466cc8f23851e6dd3c715cf319ddc8f4721d59060302047c435bb500673065023026a1b8e6d85d295688d54f8c3e2caf45984751de3cc00df4bf10b04260264d971f0e082820b613b2cec1799a8c060d30023100d2dd0678fd6b721c331a49e1d6252d205678ec63a8d972b66cab4c5a4a8c361d8695384172e18ee2c3d0446e5e3977330302047c435bb50067306502300cf7e24954fbe52ba1249a6f23b93fb2bec41a320e213ef4f16569511cbe049a43973e7953c2b8326489ada599e7af920231009e3c664ce018c27a2aaa69e27ea879929e3d7e9c35de415b818874d28cf9240f376c6eeb5152a078e16fa7a8f87a74c30302047c435bb500673065023100cd4c92e1a05b10838c56dfa0d59a0ffb6969539f5ace1767e73344a690bb8385fa3e07f2c056338db8849b627335878a0230197f83257eae0aaa800c21d8b3ea131653164d30a9a636d4d3429c4404344a91a826815418f3c77de280ca25670b4eaf0302047c435bb500673065023100e1db60ccb42babfd36873ccc146d026c5f3476b878f279c0ce87a96abee5b7c362dedb20031decf417df253b0d6ed66b02302164eb38395b0138678e7ec6261b16e868d9bba62d832f26f082c526ede8b2c09acfe330b456d0e2eee373ebeb6208020302047c435bb500673065023016a4a4144d1a62b48ca3070bee44e1a61dd429914e4981b2668dc43266cd9d3455901018ea9b27d3fa4a7fdec52c8b95023100ec7892e81d2f9c28eb212b3654757c259333c6add481197b7e9b09aeefe90904ecbe091c349ef76dad51432ef23077790302047c435bb500673065023056d391b0d5800f8de949e386ab3a546b9aeb9920bde956d1cea82bd9d82c27a3e00a6518e4232a00b46d48f2b2bdae4a023100b3fc411432ce71b2caacd804cbe1b960f52c5cefb32443aa6ac19a476eb68a7fbd48d5148b527f08c99e8d7d9ea532880302047c435bb500663064023029cb15e24a85bd5aee3627aadcfc5cc1d6e0833785e6877080f0150c33d5ab55854d0983f707c9afc2f5d989fdc9533102300b457b4926c14944fd0240e230b8d218e368dae10d7f24367d21517269df123e0000180140e5f28d577041d9b828475a0302047c435bb500683066023100cfd8469e3c5934c031abdde1a485e29df2447b067ba26e8bead019941e1b9a43f88f33028034a844b5bb980e07c3910b0231008ddf58ebebd90755e9be9ee86d9e14acb9b10d664bda4cf132492530fa31ac5c00a490e6a580919fa7093b87dbfef4d20302047c435bb500673065023047044d4276ec853fe0a58229b6b744354c7283b9924aacd8af83e2783e1045f9f0b99e2f11625930945550c8297c5d1b02310082856b2889835b1ad816c1f42915829d1001df0b7aa9a6ee8f949a8c6d6408cc227928703d35f21c1ba43638ced63e2b0302047c435bb50066306402305c0fadb0c2498519c8f82bbed25c3f9ffab89a4929af699de9b36dbdc7f2d5ad8fe121dda9c9edaa2990350c1ea1fbed023071a58d82de1bba63883f8a92c161826cc6dae173e0e7059fc5e2dde63025c8debaf5c0cb1487f88e864a198cb869b00d0302047c435bb500683066023100cbfb222d2b334338a47ad54b8afd3237148e04d8ea5ab49bffa7126ce5fe103bd063d14b10962710696018e63eca934c023100cfac78e9aa583a3226cd636dc0271a857bc5e1104ed8f25610203edfe1e80389d9b77a76b41374f651eda296b3ea0b510302047c435bb500683066023100a54268087338707f893a01a4edb1df2d56b1eef0955b8f6b2e0dc95566be128765e534606e38985fad4d2f270d19a18e023100a314d33966268b7091fa40235c772cc7e3634c45f7153cef3cb921bcfc6c31fd3c4bf2493587e4635ecd3b952c8e9df10302047c435bb500673065023100f7e9cae941a47aab7c7739cf28ccb2e144d8b170de395592feac3c2825caa54449d9dda753603aeb1f82cb995a90125202307d4749dee30207bf94dc5830e37478c001114d1e195ff6043ce72f75a54cea2e3d1924808ea28646209f5f4fa645f4790302047c435bb500663064023078f33bb5b442fed1d860ed4383217524e6f606f32bc216d209d0e1c82548d2f458c2b61d8adc9b04c8e021442225220e0230306d4bf46b847bf17d16aa23b08ae6c892cd0f720580cef69f63e1b072348b1180e0c6bd60b031300f2c3219e9ced43a0302047c435bb500663064023040de2114908d04269959a8b5eedf0e063a0ca7721049a9c3f1f7f88887b9135d82171a034d3653b303b38d6e8462e3e3023046b1d8893ab0365e5fc54faf979f0e8116c2da3d803a8e0e45a10c5d5bacb02c27f54382c67fe7158cc19b0c49ad66920302047c435bb50067306502307cadd61341c74b595fb611b0945b3226e4fe2e248dca45bac33a249e885ddc887961fd5aeb1a8879b5e4aa91cb50dda602310084eab6859621c617fee376377c38f99ea8a158a2995ed43b1b12def282890498ba8c2859493e313770a572163503ad790302047c435bb500673065023100e6bc3199220f882432bc049e010511e24baa91844e0dac385569ea967074893b8aacc6f5903a37954c81790877553461023043c6da35e2880468f382eeb38fdbe9ebed23f0f6e82c9e58df0d9f8afa41bc9b12320ff5c93b0afd873c5bdcec645a570302047c435bb50067306502304435673a444cc13ca9e7fe350db131b2f5e0d8ab413ea0b002f9cc4d1f4740e1315b00ae09c36b7f6b0e3810067c11d80231009028b004eb611110d4aea57c0e673de2cb91dd5415523d4c2ded14d9186e9beb12717ac752ab105d4e9fb8bb923c5d740302047c435bb500683066023100980843b59da4c7bf207a46a7f158508fdee644bc3bea5cad8fde0c3e55495c2c58d384897474d3750ec31417fc4734c10231008a955284d05681c377a609b4aaafaa7b64fbba4d8a5593123f0ea3155811f0c32452712c26bc6e2ea560622994d4fe730302047c435bb500683066023100cfbf4ebeeb18df4358f6725846e8d2f0c387c2b91e348580e7f553486d52a0f59aa59a76eb11cb4955ce5d6039d37b9f0231009638916b717f3e88d4fd40797d07c6da4bec88a6180216afeecfaf2044229025721ce0cf012ca8dca877e0d2a3de7a8b0302047c435bb500673065023100dab2163b194900e910ad0ba3d3f2cbf61831875ce4499e8a376fb5824256abac2a8ac141679fe475976b3afdb276164402305b8a015a6310f5a1269c0cf75085065cb32cfcc81b9870ac180998bffae38080eae04f1439785eb706346cf778bcd2b30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305c6104cb74b0967b985a07b4793384d3c9f01f101e891acff132c55b2beaf6a0cb44483ad4cda548c994fe07ca38c59a023058b510e734633db44ba198e5d01b64afdf1b7310a1bd1721a115df1276a416f237bbefb9b1fb817a53085153350329600302047c435bb5006630640230457d25e58b938a5a9023d9e2609c13c252630ea63b944d31e9eeaa5d4258ae125706a12d3eb8118209fc6aaa75f7f3b102301ca375884db6afdb4a1ed25932531046acf933e4ba93ca2443ed17a75af5543f6d63faa0a13fd0bd28726fb0fd56855f0302047c435bb500663064023037d99e687318654499c5e42e16617f25f4be036c3f18dd63275c5dd0f44c17b0468c98f899b828390a87ed657227e9300230662eb70135901d0ff04e543c5aa8a7d421d8897cd8b8bd706c7830eeeb0746c2880da0864e5db5897efd9f6a924a83c20302047c435bb500673065023100f872c43b22ff092d2a6c946594cd735621d4f649b0151b3a6212fd3d65a433969fda28dd88a3a89350ec002cef649af602302cefa07aa373c451f480129a5235740dbc906edb0eb1f22e71f7828b3bcce9da5184261991a846cafaa4caeb14f61c2a0302047c435bb500673065023100f0525004fb9da651877fde371eaef6600d81a4906e9857371bae32e775de803d75cf391349354e23a1e17266ad75e06e02307c0002080e1a587c1867777f699d923194ca354726139de070b92d6ca04b45abdd54aa7d36e4720b8b9dd43b38c3a47e0302047c435bb50067306502306227f3dc522464756219740383f1a353bbb23a64af9f9b86012acb20f22234190277e412f46c38e56c2bfc606bfdf157023100929200b44eb756651ee815b80363f98f43dda2a329075e6135037a0ce021cafdb8af44ee70e76445fff7d1b036ee09e10302047c435bb5006630640230630415eab2d2f600aeccd458f478b14979d035fcb4be2c092dc179185d877ce753c69d66b3d8fd709ac1479950f85a4d023069c5e04164622af6f3f99803a6cad0b2420ab580556f6d5181b83bf09db61bea9c7f01e43fbf22f6587fc6f620563b790302047c435bb50066306402306f8313a4b9e0f018a713fc2b59dcc2a3fda2200bf4f8fbb09c6b1ccf6a23f57f19cd800d1b2068fec7297ffa52bf51e702307c82b7074e0e6ea35606d4994e534fa84c1debe8cd447f00aacc687bb48aa0c4407059112cca364bc83006cff1a808c60302047c435bb500663064023015f0416a0408cba5f14496611abb91658c8324493f03676c92db7cd4456b0f24523f30dd7174d5e77bec6cfe2d33632002302fe2a99f5d4ffa5b5ef1c8e1a8a39e5e648e8a77f1ea65f2b20b897e999a8c027fbdbcd374ea7d04344c9103fda64ded0302047c435bb50067306502301b7d39ac30ce6164b24b2067b08d8b3495cd834c007e304cf12e9d16655c87d61346b0744ed69aa9feb2032dc785ccfb023100a1a8b0a1ac63c0659afa48270c2b4d9e7a2239ad55d0c064e756b27b435434f42d51f940ee34bed458e560898d132c660302047c435bb500683066023100ceffe022262390755af12c1a6f5e49f0ea0a5ccc34b35bc3baf8129edac77c02a883ab61b5d912942626ac4ee0813de0023100c5b17ffefb39e3169d3ed964c7c1ca92cb808fb8d1de0d3c1c95f1f01b3c35fb6459fc08fa5ea27f1735eae94e88f8560302047c435bb500683066023100e4daac5e6a0e02f556f48d948301f595792547776257fbb2a13f0d09e112dc3ac31f2698d2d199875afd4fe97b6a7a4f023100b2e4fe28a470dedb22f16ae95a3a69e42cf5db2b1d9aa9f15cc18e15cd232bc4f68235ff91000ad456b2b38c5a2fad280302047c435bb500663064023043fab13e681f0871a72dc1ee5c31cbb8ec47a96705a12af3086678d1a91413a66e073a28d421b78672581b871b3e3f2d02305638ef834588953355264f72d9d749b91eac4b616b26e4380ba3063e7edc889678289009cadbcee02a60be0220f11f0f0302047c435bb5006730650230294557aca42e4e85d880a6d2245ea77766525c63ff7d5a4a5981c5adea3aa3e887d7faba152bb13320d14f1693f5435d023100c41eb48c659923417984d0a04479bba09399d58de75989a6feb5859e449dba318eb7843c3a9f29378df081de93a9c79a0302047c435bb500673065023100d9e3436e3c2f3b9a540196bd984b2147fb4f98dc27a730dce718fc101632fec3fc52d653130b492b0158b2f32712ed6002301ec0d8185bec4a53e2d852c5fa66690d3ecd7f9c0b15e78522192226ffd7fe33207e948064197bd113b2df1935aaa4340302047c435bb500673065023100a076c56c37910c0d5df80a9a171f8c144ca66f48e40eddcbaed9af8c6a8e2d4aac333937e63c0a0b4725c0fa8d130ca9023031de3fbac3a7c833d77536758670841cfb6702e5813f4d9e981ee2fa4401c393ef38aac7048fabfa37d992defaa9976f0302047c435bb500683066023100f882acf612d3aee5c564dc316c8d42a81a36ea2b551da45f77a1cef3be7487696a03e5396849cd4c5d624fc2c4eb16b1023100f06aa1ffbefe39050807967449c2773c959ccfb150a460eb17ea23e38b4ec6fa6119729344a1fbf447ae8a43f9c701630302047c435bb500673065023100b21355dea4a1957e279112ba7b2bec83996ae276f43028154df3149db91924a98694eb2e65b1b120ee2e2d63bf61cd5202304004638ba83be6d0da3650eb581fc2a3045fb4d982ceeb7281ba5511ebe54e14bada11f4271050f94d459055cd20c23c0302047c435bb500673065023069059bc5765ecb650b00bfa3aab58f900daceade0846ff0c41780f481cd490c71dde9354805ee924adea86fa77a1c3a502310092443e4166f39dc480105d669bd8e0c341cee2672c6aa6071b272cd209c49bd51cc0823d50278ddbe171b5a03a5c7a0f0302047c435bb50067306502305259d754748a27edebef1ce3847389a557fa672acec9258693dd5f9478ac469719e17e23a163c8aaed52982b48a44286023100c1be7c927db345ed9690b0d5e7a7f0a3989d141269cc3099b149b47bf248e710bb9eb89ac7de9061352962a7d08b92990302047c435bb500673065023100a0e2e3bd9bf66b04f33a386ddd3530b94c7ab44e9e93096722433c98e4c188d84204cb5a4d7f139afd459a1cfacf81b50230296c582a9808c84ee1e6da5e650b67c0074a72d47d46b92135b1e10efa95f0699c93b5ed4cb2951b9a2849b5d37d44670302047c435bb500673065023100eb907f3562ff2246f9e7b2d4878b3ad464a6c1e5854c8d15e1c73f104e6ce377ad96a93bb66adec9cacd6de973cb38f3023069348287abdf12791e8598906c07240ed9f7b69935645de68df18794d2927e1599c4e915170cf6d4d8e7ec6e0d9d7c2e0302047c435bb500683066023100fd634e799b33136ff498e8c857df24f8305b2ebf79e54ae9ed7a153f7a817264374904b91eb487572a194179e886b4ec023100e831307db554808e9cd55cbba3e7e36b22e80e98df781cada3345ad51f887c5d3d560649ac135908c6224f9280e30b4c0302047c435bb50067306502305e77cf66a21dee87e9b6edcdf11a91a1870ed8f6cb1e1d8ebde1c78d3c8d01e353bdb2fbc64f6bc9c0bc94266b0d749a02310089291273484721a32413012378fd392bea3b04dceb80e27599d2c6260edc99e403ee92ec117a437bf27e1a97178aa7540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301ef32b8d5d45e1e336d417e0ffaf834d359d8840daacf160b7e51df1efbab52ebfaea40bf313f2067f2fceb6d64cf7c8023100c8be86f0a325bc957c83766d423ef8b4f205142eab3d580db49deaaee04ee5e8f1c1e58014e5fa7632195c656c8d8e520302047c435bb500683066023100c3b9b652f5811b4d55b82c759fe93de305a9aea0bd2e1b6cc2c5e7d07e9250997b8da2113d915053285cde6f7662fe2e023100a1e72bb5bab78b76b742a559dad297da8fcc4c09c46b6fe893905117bc2319ec788c459cbfe93fdcb8cbef100ae58cc80302047c435bb500683066023100fb0acfb17925b32102f990710b7d17eff2b528265df130505a1d8c6131cf53b4c4bab77a4316b68470c59f193375db9f023100f0a17e9e5e197ed5220e8a337db6cbea0cf84cb73dad3d0f5a24ce2bbd0b7af85892ffac85c936b6e81b58c5d4cb7b9b0302047c435bb500683066023100ad05f4ece577285948c4f06616ee77135a9e2a3c42d64f0029b562733226b4521e118e39cc4653d66e022e3c55a42aa3023100a3814833cd0cd3010f0c3e5c221c39a89fe9f181fc9080fcbfd3fa3821eb8da2181dc6ffff0a32c32fa11934aa0913e50302047c435bb500673065023100f61bb03107cd90721fb7bef2eb34e4ebdefac5c5bdf9f3af4ad3b26c158c9bedeeebffd9c1c68fc4566460bf7f1cbcca023071b80fa4dd9df15227fb2ab12e2719443da7b8d9ba85c9b7575f2d7d027a496b6bb5040f7ec209a2181dbfe43786e4f10302047c435bb500683066023100c4dd200f388835ca280528cf77114da5b04b023464e79091ecb4b486bc7326c9ec81d3bb13bbc171d511c879673a59dc023100f6a482044fd6463dabf98d86e7858b893b5b0e540c874dfdce671574a9f24fe854e9412e7ecd11e23e3a6111fe7dfea50302047c435bb500673065023100b99653bf1a4fda9dba19c8bb50cdd3b3021ea36145fa413db0debb205b59a3545530c024171410f968cf78cbc6d5b76d0230546177691954cb5cb69cca6c6881fccd9c24b1bb9a8a0cca2fde2a6335a1edbbeb8c38bf394cd8e8237f8dc1594252420302047c435bb5006630640230551bfc7015a242f88c9992dced86911f94b94a32c5dd7fd4f610052ede5dd67e83703209ed74fd6266dbd3f1d94be83502301cf49c32a8a40232eb25d2c1699143c743ac11152ec923af1bab1aa4fc4c3420acd2c08faeba892e7c66bc015125a7270302047c435bb50067306502303f2bb685043e5d08369888212c499a56dca190b7c59b437f63fb74103676f91f382c970c2850bf793dbfdd326840f1fe023100d25dc91f795a49a566a4c6f85865585635d039118b4961e8495e32b17d4d042ca1ecd71e158d50d6c32da0d3c9000e0f0302047c435bb5006730650230036c49fa1026b51d2fda05f06c64c42c73927ede5e5aae7eace972383af784d96571693d2254c21000e7b37bb3ec28da023100d980bbbc506f64d311d44465b47f81f2e06a00064d76fd40ef779fd01d3f1a2fd13d0c73e8da9f5c5adc4e5dc8db59da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307dab6f8375a95ab256ee06e371936249a1920718c68c60dcaa444708d29b3f6f50c798714a45e1748f98fd34b6c44dfd02300737d7662c69218e0335fc687626bd9f13335e9be68dd4a2b07b387c314a77dd388ca2ca06c9f43b4d2716e2afecf88d0302047c435bb500673065023100b88b4a97be31feeabc0abb6a529655b8a417aa4caddb61df6df66152d13bb89eacc0b1df4feae8013694ccc5d0a8b7c00230128befc8cb032778d92d6386f74f8ee552c8bdbaed2fad691fbbc992917f9510008b4f3f8676f29060a3834fa35a95780302047c435bb50067306502302ec6a11f7786dd89635be813144f166d214e4b75009543ceac552866026ca7acf258f4248a1d2560f5c260037300444502310094f306f7c2f08361665a8ca3ad7321a6b52f67dbfbf78cee17f8132e59963e51feec78d010f3b04df5b373d02e4b735b0302047c435bb5006830660231009f1bdb1b91974fe32e5f9df721baa0add5368a40d464348f9097d9145fd2bffc84a4ff8a2d9f0176cff2a162c6e56755023100c64b15bc5e975f2c3326ce4019eb9326412bf84c1521c8afac83824b5cd6626f7e8d84c1fab3dd9b15d6853bcaa3bb520302047c435bb500683066023100e13d268406174ee6bc2d05777c98be9ad821f0776963319ed7bc885f8656daad1f188741d2391107ec798f0048e90aaa023100e09fb92c7ab58011b42c6f8dc54fbb004786994aaab1428357695606dea0fb9f7aa19cd88c8fee81e5986dd78060824a0302047c435bb50067306502300fcb3e8191bd0dbc508181a4910cb7ed10fae8f060f839303f36b658369053d781d40b7797f3d500fb4d14c9239a8a1f02310087b7e7699295208217051a07cbeafa30589d640ab85e3bbf04bd9de95048f72831503f1ed431f87b10437667d75a35280302047c435bb500663064023047ffa900ece8cfcc3a87d70c3b093d1c93b9a8bf3def1d189e53b6cbc6ab17f4d3832875b9ce81fe21423e57bb3e2c6402307c5544b06af59aed0da2e907c50f9f44b15e328970fdbe60119b5a5605265c3aa9330ba40d9d5a0f1deffc5ae43810130302047c435bb50067306502300b193650f67fadf45b567f9a496c107acb9589d8f658ab2dce00dda433da9d8bc4581b96f8993909ae2152c85bf501ed02310093211a5a3ffeb652b17f96a949b1e810b2c1aea8c2cb8dc180d1e5c75df3192042f406732892237d6851141a6860f4510302047c435bb50066306402306223ecbd5720910108baf8c278a5835c302ebc2b007e110b64447c3c0235181e2184818e0688c75dc664cd5fe5acd0aa023061d4575393ed93d124fafb6979a9152cad90832b0ef3d9d0db6b296cd6b54c57fd19efdc0ceccbce77163bf470ff47f10302047c435bb5006830660231008c94c0bd8d82f47de93a2ee93182e87695d8de97d0060d42ad0c71484b9f2316a4290ad4a2736ccf64c64646f7820cc80231009bf6d85ec0e2a00154129038fb86486b609b0c7dea5d41bca191ff13067e4d3cef23ad887e05a22f7066714d98bdd8eb0302047c435bb500673065023100a38e0ce3e2a40fd81c61461d76a426ecf0dc92fb7a9ab488fe6ec635042a0edf5b74f5321b0da40bac4911aa1ab979e2023017563eb005c957416bfbb5448d28d75aeede76f9671064feca99dc19e233e44a9dfad7f3e6dfad314780843e96d6cf490302047c435bb500683066023100e7257e041a8176392a82ec4ca636dced8a7e0eb5b53d3dea64e2718dea6be8bcb2f7f7855557045087dde48d9448d18a023100a29d45b1185ed3351c5952df96f2871e892b402d556e1c5dcbbe1236582ec90ea86e49c05fb20c6548230d4c5f3efae30302047c435bb50067306502310099591a0525c9c167a111aa81555d0f1c91e59e2de0f09af4ce7b2e09f8e4346def2924c4eea164de5a8a82cb7442daff02306a2fcc1d28792ee853100081f0ba7c01e5f5783c585b9beda05efe90b93c328962fe7b18bfa7178c2b0eb55ca0462ee80302047c435bb500683066023100c2284f38a8f2f7608d79931ba1c7cd3f053905b505da690aaca6611772278f700f67381242d90e2e25f909e283be21fb023100ba7b5d6c3c262d23e5eb8270bbff49f5ba06c1713d3ccd5e73c281c88800534a6c5b067c400ac15709b8f1bd00a1c60c0302047c435bb500673065023026f379b3ebe2a4823faa9779831519a7d52af01cec582cfa8e3538520997d11018e6820d0c0a5f8673e446fa10881c0d023100e9fd76e7e748f41eaf1be2c8e9b82dbb34880b99adddf73fe435a81611adc188e9935bb952248888a102d822e1cd1ab40302047c435bb500673065023100fc9ff7cdfb52ae87105b6132aadcb1ad75e9fb513f941484d66799952d80966e8cc2e3e493bb83a4089c098fdd48e06502307c7ea624ba464d6b67ded3b1835db09fa74ef8cbf264133c445cafbff0ef40acc14541c5fcd3582b4421b02371effe5b0302047c435bb50067306502302f822aa754de9db3fa9a15b0c83a51ad1bb696247f9b456ca099cd167b92f3887d8f88c47c3374aad27c5c9beec4affd023100996e42a6fee2af54d9fe7ba0a0891ec0ed686546959ecd8489584825d7b0171014cd4d585bf25d2b81ad52aff6095d120302047c435bb50066306402305d36bb9490ad3e5a192dd3da3850de6becb48b7085668a49e6c815ae7c1cb16b77d4cd0ad6539add100d8b639112efdc02303030a4cf8ae1f77cb598409a90f234005d8077b57d82fd0b55ceba72e6dc446c3deefc67b41abe9b33a5eef1b6c94fd90302047c435bb500663064023015b88bfae26d3da9b4c5133c378db2c4644eeb3a792168f89fa72a82bd462b64fcda8551dcfab08595219067799f6808023022a9c687d8627c614f643275d9b175bd5cbd171ff9df547b2802aa7d174539814ec417a7dc8df85b2704579f336094c60302047c435bb500683066023100d6e57a9d153258a5e3a66eecb3fa28d0ed21aa074bfc897616e7b4cc9722b070182e503d7670570c52dd6820c7d606cb023100de5878bc568dfd019955930221be695b933b065d04228171f48f878fb869689f59d96ba998ca824e0dfdf0acd9ba398a0302047c435bb500673065023100b9055449b22a6cab137fa9cd35e15e4f6f8b0ed611151399d55c3967ac738d310573cda088e0e4ef03866e2959b75c1702306edf0bf419988dfef350b3b2442ea7d8d97d46e1078f5281774832cbbfad2e7f2b5c5cabdb4708c987a5c2e097e8f0020302047c435bb50067306502305d3c1a3ed4c4f64be14255cbe896fed1b74400cb7e978343a737bd871c0a4a068452d6291305f2a94762a62707e2968b023100e3ab02c71bdf22b55a9e88d33acb430c9d5a04889c4aea3adba4fe9e5b089bdc5b5c7e94cfd5d9b486bbad21c080422f0302047c435bb500673065023071bd95a5f0648ec7450badc87cc4b20ee99c56567a369fb5640a21a11600c42d6cb3bb2adfb14ecb6cef8f8a63f7e91b023100f58ab729592047bf9d9c901016a4cd4d77a2cd506ad13e818205aea64dc25ce28b5af606f6571447d936fa9ed236eb110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100eab607badc9062c7578941eef27fea0d84d3eca4ff49494a2e9a4a84b35b08e785f53a72a652d4eb65d586487f5733f2023100981e81f8efeff6072d1bb4f914ef7711fcf346d03a08d94ca9bbc9d37e4756fd4e3e8e3584d1de9293338b00b820bf2b0302047c435bb50066306402305c9d7889ebeba2c28771842782ca45af84470e8916a6fe508a6783ad859f11bcc7795acc4b715c3174549631826cd4e402305219942f7a2ad118bdcc7ff4c38a4af4435e059a293fbaff91e1c8a9d11ae8507dbfc2759ff0e02440b7946c9e151c760302047c435bb500683066023100a894a820dc8bb57234afb512937ec43598c3ce2092bae13e26ed1f37bbed65278897f07ea16d8d51bd0d4384cdc53325023100c8897f19c64a96d5e9bc46fe471c301381e670332c7c67dba36a9545660efb33d1aaeb0f106c0d1c6b0a8d10035298160302047c435bb500673065023100bf1a394b58e2d43ba67bbe1eff211c09b70e4bd653339d908a9f46cd7032c862049fc750ab38b7902c0410c6a9ff4d7f02303413bb7ed34489b1615776a1826ecf950a0fe47ab0a985a34dfb02975218eadcd75a5490112b1c4d2d17e6f82fd64df10302047c435bb500673065023100e9012fb4af2da64456c246d74407c3c754f86ed9226fed0d04ef63e47b5883b3576c9fdcf25f920dd94e52a29ed636340230087cf08879a32b1dd4b918f3ae0e6dcb90669d423fedbcadef9390eed1e0d22cd58b8b52b43e235d58b0bc2d36ebe7ae0302047c435bb5006730650230300044f97b444d5091b5b9181250f8cbc621e6becad7bc5c27dce7ed91c3a2277be7f8d926c0664c75fd21c5016dfdd8023100f10ee8c525830a053c4e92502802fd833948f2aca2975805c61d76d7d4aa63a2fe30ef6828e1070a8d2e06bf57a0bb3b0302047c435bb500673065023100bb408f6bd17d33e5ebcc4854429f6cbca06ad8841a30e3a385bca61a50f3cde3ecd8fab3daeaa91d3ae3de65af0dce1c0230346be9dda5e09f39b4b1596eb1373ddc06fa4c5f0ea8c9b34af9657e0d630961b1c8d613af78479b62a04e753882fe190302047c435bb500683066023100c076d69dae69f812c3372f11cf6cd20e6b2c3b70a97699644c0ba377175c39ad9a97bc0a09e7bd79ffcc9ad4705833450231009f5dfa6688949e0bac1f73418d696e0321722e0e39131666647ab21a8879757001ed19acd0affc800dd2d9a9d72b49ab0302047c435bb5006730650231009c965743108d9ea004659b0fc46afff2f0da6d2aaefc4b17045af5214928d69aeeaf13450f21ee7d30c1bb8ebb0b733c023004f0843f67348b5c177841708d9b0d878c1d382acafccf20706f3ced9de6b6826ba488b63da23a926537ee347da1de480302047c435bb500673065023100d400728d25d0caa7082065625636917acfa216878b6285ddea843d175452a0a39d18f71dd6d600e08ebbc01a797d7b2702303f5bbb89052a584d14a0908616f87bd7ccf58da7cb00c0a6fc52e31208d661ff88d81427274f4abeea0f095702232be10302047c435bb50067306502306595dcdc62e011172ee128f76d2630c48f05a1f1618b1fb658b759e183818c709c8401fd4f739d54e22c41ae307aa2e2023100dc44e73ca9005c3ce8204c297e9fc6738ff539e67bbc7d657dd032e40d31a560f91708de11a27314fa534ac954f1ae7f0302047c435bb50067306502310097a8205261258132eb461a97828b66fdb61085f31fe0d30bc3097dda364a3bef93d3270465b029506e15cbaef4bfaa920230553164895f9b35c59afee048f5bb9900e06fdf0e4c385b43442938061ce604d524553bb987c7129fa4e8422db77f2b600302047c435bb500683066023100a5bcbe9e213161d6b0b48d3df577b631f921d4f9f64375b9ec1e7703f1ad5b475cab38dcd0442f7ed072931371cb8788023100896edb8d2db453c77bb7467483f8da3ab8463ce99847c07ef3459442f1b618a8dce61dcefe9598167e7e8abb2ab9852e0302047c435bb50066306402300506f3c54940d6d400a6c661bf20e23e12176435dd0ae0c645e1e6bfd51872adfc18f9b6bfb0764c11c817c085bb2a6a023056c873368c18a85e9c305c8da42d887f6f231774f7e46a5961e64fc942ea2367404af84ca34923ee7c30e770627929410302047c435bb50067306502300093c9d30ef68e13e7038327222fcf8a17f15c4b28d9607b6e12568dafe3aa7f795440831f18358eb4125d6ca1f8f4630231008404a8fa7622e839e2bfe46fec823300d5b96e4a44c131368c7ae7b9b69ae62f4650fb25d63ae1976c3c072d5cfd28960302047c435bb500673065023074eb87a9d94cfc1fd750a4c1e36f19b6e4293ff8cf0e3d3a51f4838eb0a903e97d2bd562ab90dfde4f2ad9a6fd962d35023100fa7ac93939d55d7302aaf8541c86b27d331997ce245b5bdf4d4593edf1288307af7e0e78903899b65d7dffe788b73e4e0302047c435bb50067306502307d6f028a1f0a4547ea78da88fedbe2438f9173bcdab85812414e358c2d57d5d1f6692dd2f6e8a940ae4b9ed15b80133f023100cd9186606751ef7609efdc9d77dd574d156207e3775d98ca47e2c3e34802ba5f6173624beef1377065e2b4b669318e630302047c435bb500673065023100e09dfdeb56b5075340d40bf2d3eedeee409833b416d72d256bec456d76e01a5184c16862f56042d9c7c92d058e69bbbf0230403b53f5ad1dc0801d6e7de8324285a701115a86d0f1c29ab05369a4ee708e2418029e5a4ead88d8ed81064bf4caa4640302047c435bb50067306502306073bf3b29559d7a5e87a0147daba62c2a3a665df836b95dd3b2adec78fb6bc5409f40616fb2d95792661e24679f0b8c023100998252f0dea43d8a8b2860c1d57a6a0dc361ee5333df9aa1b675e179a1a1cfc5845cf35aff0318c85ec2434dbea421080302047c435bb5006630640230474213cfd9837ceb0fe6b50bc63ca88b1f169eadc72e28b1ceb1a7710e339b485a1e5c58299442387a319b9327bd066b02304cd455c8b60e961f32aa132b4602a60fa09b11a33470accf74218841474416bec19bf9fb792f0d714abec1952886b9810302047c435bb50066306402307ab04f1ffe18a3bfa6cc67941843e43941f7df9a652bf9c2c0fe5ea25584c84d7480a9345388c39de8ca1ed3dd87c0b602304b6c48370b90db3fa163cbc67a008e7381e18954eb3933663576322f5d0255b0924e4e9103bb9ef2d5938c4ea6c76bc50302047c435bb50066306402305e4faf789505a738dc4f25edbf10440b53f54cfba78c57ab50c79c488945f15492292d73dbd53926a4b7b16af70b702c0230163f3554fcd8d823e07279efc5d00dcbd72194f98feb42bd2ed2e779b7b998c8ea222138c04957d84b759c5d402b83ac0302047c435bb500673065023078148f24e572ede3d9ddef7cbd8d550c0473874ea17655ae470f85a55b1e4ba30f0177fb53c5ca6faa1be5a951b6c52d023100c2cd12527f8dc8e5e88df89bdc5b736a19ab09112e6a6b38c21cecb359ccdc3b14be5da1c868bf39802be0cb9ddeb6c40302047c435bb50067306502304a2859a03b5c545d2cade48b06f38cb3cf7ca8a6458dd6f0c121a1536d00fc9a532adcfca94894568c6af8fbe4a293d6023100e367682fcc68ceb0e67614fdec768f7768b19158a3862aa6b98d450c5a982440fd777f620f36fd59eebf5580d045272a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230345206dfef39854432b62085a767c07ec577eeea6413edc3935312a2eb301441a7c7097bf2291cfb5969ef527738b6ea02307d477d6d4a00b333ae578dd9a3773ad2b4f8584a2b6d3fa71edc53e48046a7abd84e6c5ebd4f68efd7e2fd4bd7fafc100302047c435bb500673065023100883f0085946c5c954bee6016a046b6da351206812dcd606517a161b8d65ea3bd40afeeabfc47648e050bf1b3a7c095c6023078fd3c55c815acd10836c2c893abd3c47a421639fc7845897b8f912368a8c4e8d874bd95e12d49f85a06796aa449e93f0302047c435bb500683066023100d0b98031f2b9e227f97669240c3ff684e380606630c20305938622b209a56bc018fee900309db67eb1c6a5f3739a299c0231008ded6a4c4bf19b3bd96828d82c229767d1d2e7b60465167f9069f691f0a59874a46baae77aa73b7aab765efe8d2890fe0302047c435bb5006830660231009c4beb7b7b4d3c7610065d120a1bbdd44e0301853de49d5dc9c9f2a8df4dd1f938ee1adf5e3415aaa4727f2ff605510c023100fad0617faa2947969260f9092cc4b7cc167546bd0e67680644c72d75430477c24133f46026850b45598c8ecb278fc9050302047c435bb5006730650231008d222687629c55ef92a139bf2095b7b185994f60467fc0cfd7de0d35a31ed431925c5872da67dbf4bbdf6447fc50544f02306330754fa69160fe0fda47e9ffad2f032c40e4a4737ade2e502be49d4b110a16c0cdc9e6c5d5dea0dd7df126d908598f0302047c435bb50067306502306ce30ebfd6af91ccb75dd771c98e3e839ce5ab65e6d09a701cf1e15a1abdd0ff9e0a1bde30554cf5e68137b0f3347941023100910ce52e83ae9bbf753536e913fb9a2371d2e9ea44b2823c5f70a409852c66402687eb1327e99b54a3479040cf39d3c90302047c435bb500683066023100da49b030f798411f24eb1aa976725f6eef0c3e76b79915f74bd9193686cdade51e11b35a0ad1969a8b01d208d7039ec2023100a9c225ada3fd7e140f8f0d95b8ccc706ab88fb9bdf5d360e9c94dd2df37f329e8db518381f07807538431b77fa9ea8d60302047c435bb500673065023100e96dedee8adf792e9ca9144bb05a0aaa3b03ff40b7c6f4ed7f97979c1ddcad34f8513a683069d8f78a2553a845a7ef5402300d6e54b9ff49f89acb882d8e7c20c80e0bb5c0dc482d87f3958695b4a09e33a287fb67149008f708aa503afb2402ae650302047c435bb500683066023100971be0977dda573014c5917b05c65655db804af77e42f4a0ea53068510970b7e434e554fbac5900fd363d3b9abfd3871023100d7d2f0031117b682f4ec6f6e3fd9f8cc493515253b61ab898510d85c3b0b449fec5499c9f081e6c9a588bf9c8d3fca5b0302047c435bb50066306402303135baba973b27035d66d3e7b4fd39887d377b387e205e38bc3f160f4ad8a9c61e93eb7523131b8af2d588bef8a8fdfe02306f99f6d358564ac5382b4cc4bc600ac276fdc2165cbb48159a3025df5b658a366502be70c0e2cde573991772c86bc4720302047c435bb50067306502306b81d64e95442557918467b742c11e806099d8e9797987ef05873f8d863e984602e1d3b4ce7287a9f412a1020280aa26023100bbe9ef68cd1a955e858c70d33731c75c3bba1beea079a5d0f83fb682a8d851c03a0279b598907f8fd3784501911af9a30302047c435bb500673065023100ab9e74a0d7e28b1a2446d87154bcea4378ef19b72d5e237225c2bb1904151f20c0556e86ec693be4436ea42144e19fa1023043fd047d87061f6a931d04e63e124e63ef09a56db6ea901202bfa3369850061687f63bb4f3972272d6147cfd0cd128fc0302047c435bb500673065023100d19c0308d277ff7049548fc6eb2f04f95fd7a1dd11ce4a0aa846c9b9836a94d11f9d9bd30f6c910241ff6c3488aeba6f023033021706cc3a10369ae391163e22a321748c82daf3a8ba3b630d9db38ca5b158192c05a7cbe11b7d1f8fac90829bb38b0302047c435bb50066306402307595ab8eeb79856467b3b2a70fa46a5bd357ba4ebe7ec000375b413e84764f9d05b65f83afbac2ecdc4781a4f682dfa70230356068c8d981e8ea4e3573ce933b79404a0f875c233122b749aaea14c128675cb85e97b968366d63bc659dbfa88acf320302047c435bb500663064023019538fb9ac867b19131259fd8182e9245c5f2cd0da2bbe75d11ceca6e2ba466005932851843b43bd0ca581a7fac80af80230210cd26b6151e8b29f0ef94751170e0a2de849a2abf5f0b0a9d299dbbfd5096245a5fc2f67cb623834981b367557b44d0302047c435bb50067306502305459ca90f0d0e30a23ab7ec87c851be6210025fd8a21cb4f296926463a23455b020475e209aa0f2f182e78e5b3404692023100b86a4779f8ff0943f63b3b88d6bea19f599492e2d81e58053d020ae0a8cc4778e5a335918853e47e40aa6be3d216af360302047c435bb500673065023100eb78d854de597335a6f37d1da1eb0158102ba98ff2bcf36db9a7de9074f407c47777e4643c2ce9269c01f409b816b7ac023005e066f67584a83344e3d901515259d0e6c904b3aa497477abc2b1f2a2413651a9738316f1f9e1fdc34daf9ed9b69be60302047c435bb50067306502305e3d8ca7e91623bfcd9e8c583cfada43fdc9eecf7f8d84ff4c299b5f6d498caf41f96fc06bb6a46aca7f1d97d42b1aab023100ecc13da4809d94660faca79f196e35448eae12c7af2488aeb1d1e740a20396154d01e357e7e655c59aceb162b26c6d920302047c435bb5006630640230287f7e21a6f25a9711d98497e976ab65427de3a3a9d44d84f4ead7cb5d5d83c57d0a5b8174d04180932ba18d2db8773202304a9f04d9a3cc21aa3257fc2af9cbf42470b9aa87d8f5eaafa869e8f878cc7f79820909d12b5757182a88ab76f91c480b0302047c435bb50067306502300c14c9e84012beeef5a0d6011917b250e2352871ac3ff49716e010bf4cc94613ed9424fc88e89796a82f11efc96cc82a023100ecb92192b4d1ed1a7b520b926773d5c5fb9a46ee4ebb5b6af772ca010c5a888a41e0a4ae1fa45f66602c0bf452758bd70302047c435bb500683066023100af01da7934cf8daeec5885e074d4c8f741abc505fcc236559f015ef7d22862ef0e871f9be552b16e61fd19f367f02528023100da49b885fdc822ed0984a3fdd809378b119564116d5bcb38b50020739c2f3a42fa464a088ef356f99e3821fd1a8e68670302047c435bb500673065023100e8620b1fd3f8e4d39b5f81bc8a7ebce82484ee352f879ad7d5bdefa886761f8e0c01ecd18ec5b819ff999e6882910d410230123e21dc9e83b65d93c314c22269c8d6b08543464cb712d0eda223e775a7ba3c0b0d4574aa6124a96ed4195cd90e6f460302047c435bb500683066023100b36e017899251a17a890a84698fdc6489283a29c682ee72ab59614b8b40c6715d6adb57106a24c21dc74f7d3801874b70231009dfb190d91fb51448c11af9cb697c13b6c4a74066f0683e89af5e4b4ec16dd33b1188c00a85552b9f51ffd4eac5c558b0302047c435bb5006730650231009f3a7ed1b634287068be621be751afe62f85c8ed583408ead614c6b1eb8062ef4aab4be44c7114fe94bd43c8f3b768320230010f0cf8f0a251051ca5a6fc8667854e8b76cb8560e604824315d13fd636b4f3b6357efe23f5c89cf8ef3f83ce950f7c0302047c435bb500683066023100a9e0c4c05605e79c2fe81b356ea360ecd8b2105fcd18be854126ba8fa508d3149e5d4b56d3a929cbf02be53e8c49d503023100cf68ae4cfdc41766375e33a9120c337ca82a311ae716c028c9c4f77dc6b3242400bb16fed1b35953d49b8d1696cc1d660302047c435bb500683066023100cba52a41bb3090590de432d709235afcbc2b17825e2ca6bcf070e175f47ecf3a06ed50a0e4fc32df0d47488679afb8ea023100a2b8b0ae4e763316cddde1dd52c88523640c22fe334a58647b0271300683fb1d174caf54de6a880b3bfbee7861e627a90302047c435bb50066306402307283a77df3e8cab44ea018edc2712a01ed24b715d038fbd1f76b228475964ccf5bcdfdc569da8627da982ad3ba94fb2302302892121b2e54cc4048ab63d44935424a2b5009abb99a7b30459730a0603e933bb49853ca6ea7ff039885a1a913b866390302047c435bb500673065023100821e64e40cbf055eb8015e47145765126c115d4437ec14ca8bb6d6cbf92dabdb159530471cd4923d3d6715be41d96af7023038ec01db2e792b641601e5239e360a8684cf1f1b8f7abc823a5c18666f81ec64c0e93cd574ddf2eba763cfecbd93c4a80302047c435bb500683066023100c651d6698a717d8ee644c99ee46485a0e97234c9c0bb88955f1956f80506d6fde3e83dc5dbc83b57465583fe8c1ebc23023100ba3cf69032d1d34139f6b4108e4e3ac1323df2174cf3e3d5f39ec7fdb9f1d1ca130c29851b9103beb8169ed969321e880302047c435bb500673065023054875af4b8e6c3de5d49a5ed2cf7e7af22544ab7cf2aacdf2b649bafd06e77337dd281eeb2b03e4e74d60d880e7c0625023100a0fc929d2d6d6b0cf84d91f131f363f82ef5587238f5ef9d20a239a0ea092692653eec9057c20cfebdf2be5f9fa9e33e0302047c435bb500683066023100dc73483efed33da87d073750fc111e50cdb376ed05f777e88fe8c536c005d99c1cec6b8548d36fc89514b79d40593f4e0231008e8f8b88cdbd322c7117e34fe0fa3f7e3b565bf2996f91e7ff7cdc5a9303a39e3ddd61d9e4ed93e5cc013de04dee87b80302047c435bb500663064023004b7d63454bfb0af7b6810b4420f541036d947e523243fd9659846685bce80da4ffacba20fb03b4ab2381c94036613ce02302fe017f580fefe25b5c3f60bae26e34507032fb0c09b7cc5768d5c0bfed4c3060e2b518366b5961556c333729ca5d2210302047c435bb500673065023058b53fcdb8dc800d01f5d01312472ef0ce25d28a529e07946fe6756bfff8176987eb5323c3c3c4b29965a8ac8d2c8f85023100848965220aad899cea9e042c6755f10812eebd6afb5c1a731d38bc669233842e8e569e465c10dc9880035b6503613cd40302047c435bb5006830660231008ce15f0db6bc26f2cea0143d8e1744b29aab247a955c5eb128d4e41c482701aa5925ce32b614c2d85529751e47dc6332023100886208cfbfca226a8b413235ae851ef0c51e8a79ffe54f50d9b2e418c9957d2645e7fdb0ed0e6b67dbdf7b89ce6cd8b90302047c435bb50067306502301a9de228d2c42f87313471117620220a96bc6c93cf23b55f1942067edcb70b45f39971474c184f67a928cce61ab27aea023100fbfad992ccb8fbb17bbe2934cf8aa41e6db44b14969a9608c2ec8c848d2f88d8d4fa8cf22bdf841548d7c3dd62d629b60302047c435bb500673065023100b114b8d33909b40ae542ed190b246de505d1d7e714d37ffdb3bf45dffc01fd255a929718387867d97922a1ae1225359b02307146d5683a4f2e3904575caf2d4e5eaf4b47d100e6bb9713c565a1a8457412af692bba177f1574e6e2eaf13d67c7b5d30302047c435bb500683066023100ca42af499b5f4413716fdf92c67a757ade12d18cac627888eace07404614e6cfb8ad1b0605f4bd7cd24a6dc06f9797d8023100b3eafd800c014318553a56a529527ab2aeb2ab9b0f2c4566ecf0a0a819b60c3e51bf968e542385e2c87eacde9def5cfa0302047c435bb5006730650230218e1a163e42651677e5e16be60fceb1248aeacca6f18e5886e4fdd518f296bc868f95ea621d10bf5b36b0871aef9c8e02310084da08df059073ae404f99f0225c7689873242d0e3eaa47627748dfbce293dafa95a720d79b3d76a7e3d8c57b09f7e090302047c435bb500673065023100fe1ccaf8d6a9dff84073ec51a2c8c72e81713a676b6b552d91d4abb5718177665cbaa99a6af049cc0a0b5c5c2dfc454e023000ee57ce9bf7e33438f1b91115a5919d4c41d3b9f220639a120d52590eda2333f22d648a77fa4b1cec6ec4ac2c9209380302047c435bb5006830660231009c5cfdd188340efc0f776d98655d6fdb1afad4f169479275cb9e08e9daa5c6fd0163ba4573150dd24eacc85cae1b052a023100bc683ed688ff367d882fa9143d2ed887e7e415fc3daafae35830bd8ed19e71d00cf05fd8e114ba94c83e331d94f4804c0302047c435bb500673065023100904467f76b78cde485820667bbd3ad098ef9bacff3ab86676ca645ec046b110430318856f9c0c72ee934187a2f3997b702307ece0329c4094858b956e575955d83a9ea43ba2b87cfbee07df66f3551af51ded2b1b90834acc31bec9e5e2f0d250cb70302047c435bb500673065023100ce566c8e703b8bd5875347c506d97f24b1969436ac8d96a731326ba618b710106cb82f39260b4479d6578561eefa6d0b023076026d5aacb753bdea8c82b1cd443fb30de8196e9c5f5c7df5bf23778686bc584cb844f3d9310ce1d3cda3c02d8b4f2e0302047c435bb500673065023100ebca3a4ba2d02f25fce628d0e96c3df5171a95f57d400cee5cfd4ea09e81e3d2140f01208b943d2214ecdc86d36fbad90230433815e5aea8ad9cfb9e39ff06b85a598f6fbf4ee0dea85eb01341a240ed8d9dfa0c871fa05faaf5985819868835e4660302047c435bb5006830660231008e3533ac359d186e69166cf8e4ac2ebdf0d43350f5106bdda5a63e2dad4309726c0e02abd3306f25c9abfd79be6356ff023100c45f2dee581306ecd475b298883459d5e8f6b9dc02c2145dab2bedf2361ea2edea2392046a5ae3250e800f307fe120e50302047c435bb50066306402302425820cabd9c57ab0a1bf9641f6a913c090d38263abbdd9b9dd5c7717cd7b2bb798e3b19e2f8a2a4aea21e3e7e5b2de02306c823d0ac329469ba6dfeebd5a7132568f5c463f630a32461217a45a24204dc1c0cc0469be075fdfe1abe0ff9305c9600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310098d2673abdb45c5a46c34a40c1ce6724eacb9878009ca45789a94c48fa13f3dc60cafe71248dcdf8d05a4dbfb8808a570231009abc42e2151a98380430171e5d6db24782434d4d079de7a55d370cb4386dda95a91b0c357601d868b88cfa29af8f54c20302047c435bb50067306502304597678f9f174aba93e8d971c6b23014d1bfc120256850a9131a0ab2d8aaa5ee50b4326ff878bcaa9e779f4048c51cf7023100cc3053b04dcd34224c4ff9078f9c7aee4fa2a25c7d79d9cb3249c82db731bf4c74e884aa2e9cc85389efe60fe8bb72420302047c435bb5006630640230261ebea7a60c30fdeee9d536829a941cfbdce9687c27daf4dccd50498baaa0d76c64923a6e1b2f42e1513701942e768c02301ad52a51f55595b959ab12d97b2f8162b0ddd0b3974bcfdf6c6d54c7d04cc99d1f73cc8e745b6a5f0402a77dd3943d140302047c435bb500683066023100bc501ed2f4c9e2100e78bc7e82f80f0d82d297ff3336fab72221971a6e015ac55da6ca5bcdd77cd9757f8b741e0079fb023100fa23a85a6e528260050f7585b498a1016de21f2bfc650cdb37b1a5258b36d80cb998227839e47f1fc74a1864f744f8150302047c435bb5006630640230538ba73dcd783c593a8faaf163934008ede4c0b25b778ae790fab3ca2f7791f126011c6351c82072042f190605b3a919023003fd5d12a9fb87a281e38ef591ef0eab8749bb0a88734143a98a861e27a830823ea87788012583a550ac20cde41e3ba60302047c435bb50066306402307f609c28613cee8591d78f5e56c6ea9c1c06440919e84a81df9719c590d0f65ed9cc62ad43fb0abc20c8cbcf7e893b4b023049c036f260e89a3f3673fe916bf3b91d1e38a4fefd531557f9fb4a23380f3b29a78ec42e16b2d23be01acd5168460e520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304e14168e1aaf662b28ed36673f01f6071ec02fd97b7636db71cb892c9720b8660a01493aa21283cb82c59758f98d1240023100eea0fa14696743223f03331a46eb3fc94e09a90c2aea201f182886fed6662059a77dfec0cd95e417fb1127fc07479aef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310092296ac19470d29bd5c613757ba615aaf16c2a1c64b9279a89a724b010f16c4db47565b07badc2fe2fdd0f35c9fa766e0230765c1e5f9b9accb3552adadc54c8b0f03cdfd46bb0c87091bdde4d9c2d3a9318105bbe07ba6be2f941659c804abad2200302047c435bb5006730650230124d567dca5efb965f80cd1be8250701bdc17499a0494184fa233a4ddfa89b2c285770bada6e5b205fb607746bd178f70231008a77359a91984943f07974e96151b200a3a9d86dfccbc1208260150c68fec6613749bf54c7c5921af40e210114fcd3df0302047c435bb5006730650231008106a5c6f7863c97023111e0f7b7a022717767512c53a04f64660df3636d81f03f098292651246dc8362d58bc0017fad02304b6aaf5cc1eabfcfdbe48bf579a4bdf8ad8b501b1b0679239ddb6d899b3643e4e93ccd13348fe23cc8644e2c1731f3530302047c435bb500663064023061196923fc3088172851e12ac34df6d6d01a5a4108b3077eae7a4a02b617365316eaaf5e80226a921b65d849f675f4bc02304302e7f7c09f84d61d0a0854b1ba768e6d8ff13eba5ff4040cab1a16f6925623c4a13630cd3e3af83670a12d102ec0720302047c435bb500673065023100c2e39f5f2d60de8121ec5005aca726d9a3f737caca8a2b6b659d4529ab8fdf14a4311e4577149b707953ae3ea645f41d023053c6e238ad6b447466620ee928e97dc57160d28b791803dd1156e9d7340181cb95e1c8b91358dd9fd0de41424af6eda00302047c435bb500673065023072acceb0587cb50d4f1ea01be46aa5661a52bb2166271070583ed5977fd1fcb532dc04f9df90dab101a41f1d8f7abd6a023100da172e9d92f4920e1b4df6dc2c787308e5eff74ec8a5c81a83381e39b108cd5e8815afb21c4f2bda8a8e63f24d7a34530302047c435bb500673065023100be821d05fef388322bba009b5108d1f8e17c3827024c1c4236a59caf09f639c1250c86ec2cadf3dc6394536be7243cb4023078dd992357c4b31026b916e84fe1803329032135ce42cfb247acf6e87b49159b3bf1c1ede3d435843594891cfe42b8ff0302047c435bb50067306502302944727c815dfb1dea3b2475653b6723409144cc2b43d436c5bbc8dbba0fa8d5df12d4cb8dcd15984464b9acea3083c6023100a4ffac31f3a9602e059af440a90322cee1702a2c5f0dcd6f519342627c506191dc351949b168fff537f4df734f5ea2140302047c435bb500673065023032f8b48b6ed2839398a0dc23a8715bf00f40383e23786b8936410e6096bbbbc9abd5370de28acd814e888c09a00bcbde0231008680951ff01af0cf7f791ba6ec2e57bddef33e34f043b558980524d3c07af95b881926d64d3702ca1310e985e5f6de090302047c435bb500673065023001798851db874c8e6b40973c34d81ccfebb28384454452acc0bb80456f1824a61181717711a2048d0e0c7256930ba4f70231008e83e40bacc8e17ba873c5bc53ec3782f0e01c08ac30fc48ba2c9f897f3a935a8302a854b8830756bf9d5c0d985e29c70302047c435bb500683066023100ab6ce268e8760053870ad140aa8e58418384c23a2c9ea811370996074d7bbe286b27787110f61db99813997d19c02b91023100f46abcf6834f3a983c2d6f338f0df92a698cda581dbf0551b2b1cb6a7692478cce2ef6db9a48d42830cd0bef9738fcc60302047c435bb500673065023100fe990781460f6edd48acab4f10412bd53f53d8b635b635fe221bcec11c57bfae86d13b5403b3392e2de6ca9b4c1a335d02300490115491eeb1d6158c5e10609aeb8e589c5c58e31e03e4f39621cc76f5e31634fc20278300d1fc6eb616433bd18a740302047c435bb500673065023076ad49f4ae988c030d0cc951269ad20591175d86112ae1c4dc1c87758aa476202dc19d683b5d84cfe636f211ce43f22e023100fc33b0dab5aa4c4e211d9f4acca9998446f4893118fc9416d4bfba434e9d0e87bee0972116a6e83db6d92915a63560940302047c435bb50067306502305cae96a25b74341dc3b0f66e4c8c384d8cd76abd34f468748782d7760db6788fbb7988b44ba117956a9d04e472f3686e0231009f970ebf00c5f71d4168ab2dfd2a16f08cbd2c1e553a376bbe314fa58126be86acb5380c7986e4d305ad3720661eb1270302047c435bb50066306402304715179e276b8907061daed1c89e97453b2f5d6e7fb9d7c82350e94f9a57d5670e894b480a1d92d0f5f87077a87e3e1602303a067026ef96204cbb4ca64d87733a06fd4d8138ef050379cb49b209c2b9ad9981a1f547b4f389e594e78581599207b40302047c435bb500683066023100d2b784174b3142301644e536f9744fc4f2785bbdea8effe8161255fd89b4c102ef735e36f7e70530e1d9369a19c7570f023100b5db21f21182ea394654b6c382fc1b04b7676100188bbe3318120c00a9c3bed74033a6b46fb36c04504bd2a9c7f50e1c0302047c435bb5006630640230129e2294241c05d90c9fe995456ac21efc794d81c95b3dcec9fbc2617a6abd428116f4d108f83de950764a32207da0ba023062526008dae6310f8c4783b0fd852ec3bbe4c118ef8f0baf108c215272661573b00aac13565c8342ac0990877a13a59d0302047c435bb500673065023100fd66691fc3d667ca6e58368d19728f9350f3dbb421300599a6e595cdfc894aad92ed2b1fbe9e3de0d3b08ddc2bd7379802305c6839d16631b9552a93037cf4401aec0883e4cacfb714e77516b54117ed2a6b77226082e0b3b1d9fd5f515db0a61da60302047c435bb500673065023100db88c94b61cf37bc2529379b8bcaf71fcb16ff6ab5816a5549faf62a6e640e4177e82dde946ce74868155a57bb157c8d0230793e4fa4af00e32d5d08bde20ffdd63b18192cc33c623854ffcc406d71dbe0d9a73c5748d6359c80f74f264bdd1899770302047c435bb50067306502305e49b4b0bf4c3a5493692415b24e5dfacf1763a9d7b4875e2cfe56cb8d8bfc3f9918d0848d9d7af9c013000eb93a657a023100eda0926dcedb08043b99c0b6673a6b83a8e76b50aea3d7b8d2c119f0a2bfaebb103a6c0e98efd58e4eb5f333948256970302047c435bb50067306502306b2eddaeaff58c39daed928a13ed5549e2ea362b81a5e95c8f76f8937b1f8cdc1b76b26c740529e9c7f91be1497a2786023100c3dacd3aafe75127dba487581550fb1fabae26b453a9f1ce4982b3e1740787930a5cacbd956f3dafbad66318c6c5bdea0302047c435bb500663064023004ec6ee044a9b00d62cadc7b3cc393f06bb3a26f2abfaefc2c3e5a03a865f13db69d0045a046b3c363fc6231688bd3d4023039d6d9711a1fcfdf2af696d88815bf3a99775ffc8e9fee2c7b5609ddbe0dc5352bded2b55a8efe5034405c53c4ac31190302047c435bb5006730650230797157ddf3fafe8740bf9b9e7515ae465d1a1050a482e572fcc31d36b3a9b2171cab9e95490e1ef906d9433455090852023100daa3462ad6e756fd0fdc16b202af27eb075f4f0576f27cdf14155316b94392b630691d0e60ebf0e68af1d831177d4cc80302047c435bb5006730650230364cf8e88838e2819de05a0a247ee94a29c80b3bc24c5596aef06ec46880c504e64644b4af43ad5f4e07e1b664c1be1b023100dcd1fda9bc2052d421922b4b1459aedc4b885c5e1660365aef6de3422ad0602de47a08ad0e7b09b6403b657e8f91d9ec0302047c435bb500683066023100fef31335f0197ba5dd7ef0a854f954952477d05038114efde8b92e899487ab6b7f8f88f266615d8c7ee14f9b07b95d5e023100b856e2dfdcfda509438ab3f5f3e0169a5b0bd35a9f56e3436a296d27ffcfc8c8b8e5d96601b9417396d74e593a366df10302047c435bb500673065023100dc18b32acb9e4a0a4ea8640a0b73afb01d246fbb5384d0df04705c36a2933327c7687dc0053310769d9dcab4d92311c902300bf3b930dffe36c8329dc2ea034b69c93a61f8476dbc7c5db3b957da521a48437871ac58ed76b2700dc6c605507364e20302047c435bb500663064023028846c5de190fb6621042714aeb39a3438a560ced4ffec0b8761477705fb29e8147ece252acbd3a1b9ef731b20b0e19602304547f0f5c1fbe8d5e6e0ff733822922c390a8754e47fef2be5ace8a77a58f9f3e6a9f6a01faec789de16b17fd68a56ee0302047c435bb500673065023100c0a6223b268247be75491e042bc2265c8eb0fdfa43914b1670e74bfbe900c1f1b4808234d37c3cdc7767f353cad31ec502302625456e5d056301700ae88576184705aed0cfabeecd79643db369c1d11e1b12572a0f03b0b4a8abd58d90eac2bd2e600302047c435bb50068306602310083c8505684378911cc02866c1d576254992ca6de698c842f26706de6ce3b16134f38e8c56e4870616578919f3c7ac313023100cf913aa3e50983e651ed7c10858f50bd11ce4253b7b89b318aa53d7439f13e92b3936d82849cdc9d07a609ba2c2617b00302047c435bb500663064022f7bfee23958d82666a9d26a5286fb0017873d25fd6db701c8d92fcde3f04d87ec4cde68401bba72433fb7619ea04896023100fb84f27512507e05f47d7389a779ed6c792268f1db1a161500242d0121dd6bdab6b7ecba1629d7c746ba6e38a426cee60302047c435bb50066306402304f8da8388b461d30a5c7af4bdc10f7438af5f3c4fa19a21a810528af1f23b59ad5a0137e233001910f7d081f038623330230071a812ab292eb56983e2f60489a742b775c01a171d5ac466af98a443597c49476302fa5494b91b2c78a5e7752041a410302047c435bb5006730650231008752394ecea7c10c0a4646daf901701253f153fb3ec152b5009f846740b7b46de568ddf31898987468dcfa31e9953c7702304f6b7a62152d18def4783d446567c6269659957add40698e4e2484596e2894a5d4ddf0e19729bc67b100b241f0ccc6f20302047c435bb500673065023100bb50d188bc18aa51754f4150d9a31fb8f57858530376c8e6f9b0eb321e8c9c69673eedad48fd87d8ab6006deab42dcdf0230539c36a79ecdc10ce1c602ffa2d18e482fa4316f5c4fa987cb400375c52edff2b27bfa2ac22844bdd045e7c4b95e55fe0302047c435bb500683066023100aecb09b93c191ab7209c696ac85a7ae83529219bd71fcc4a1446eb04ccd374c03a329e2c6c7b35f1be30073cee19c4ff023100a2dc39d5fdfda40cd2236eae73909f1f1da55ad8ec9ca306a6583e76c5331035b1c0d21f9a2ebb8f8682fdb2636a2b1e0302047c435bb5006630640230682ac00d2c31f0c683c43eae4ce7e545c6bf0b661a2243eb068cc60a8d24dae3269e274bbfc8a533ea4d7debbe3d34450230567d9af09c925e546189a898a65b3542836ee6119c073e2939a1782c2755de1418574b8ce06fc1bc3cde96efcac4728f0302047c435bb50066306402307e70ec0fc54e92a12277db03ce97db52833d4fa4f2346b3a3c5364224b4a9a0b5845414ed28de9ed42bb9179b2e6d92302301e6e59c7ef8d4c223f20c95633df315153f179eb2a169a30ca84f1b4ff5e390da67adac0a2e2a4d7c2b0541a2a4bfc260302047c435bb500663064023038f96ac2d4250745b5fd510e024a24088f91fd7c72752dd184c325dc0d2aec24bd45bd50b8c67ac3468be1f7ff5f259202300ee7afad52f5dae6255d1df43b60f56e52eb5750f914cb80411e7fda1928982a81de20a7862316fbd2fc296078d7683c0302047c435bb500673065023100919e232faa23dba907130cbc07484a7c79e8643c211e22697342c703d74e690639630e22c86ba31983a5e96ed54b3213023021d7564875d8c6f9bbaf0fd679ccb8edf1a16fe094a27b7600e4a29198db61250dd0391e35548b3313bbb8fda76ea16f0302047c435bb500683066023100ece733e8d94592ca17ab1073e0f5d66816dc74755f81de211dd07eb0d84066129475a5f93ae1e830e9d19f8427224124023100adb07bc3a7fca54013507c4293d92aa1646c192d456901d22af1aacf752226b4c253840dd6c8442688ac7763454c69900302047c435bb5006730650230224026c56a5d5737beaad90704425595e6abb499397f07ea004e1f65564f5e9c057bef8d6c2b537fc392d502332104ef0231009c4f7005b18372c335bf7f11387e4f6ee47d6a3ca7baf9fcb1ae2928c401ea3db2a9628e7f701a06b608ecd7796ba0640302047c435bb50066306402303088db43ff77ce8575e578e93958158e0b959032860deb7663d26ddbc2c2790c41b060f540f8998c669fd8f64dd0fc700230644e5f86eabd53646a295e637eff6259d2f6d23cd668be057d88cfcc7cfe1971999ed78ff05cf76459b672c2b2ee893e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230501d46a1eb795744f205f5c60bc07cde90ce0de14ff5a7ff6fb66f1a4ba2b7f9b374b5e044f11815eebe2d3fb218ff2b02305d1f7e19b69f41d5e1747ff5a5264b5b607a85ef8e715bf422eef8764c78f1686e10c6e466cff17a86aabaa10a4ee4b70302047c435bb500663064023007cd0e5a18a3f0c856833538de2463ecb4bf90f81ef0cd52907cf42a905898c942ec427669d8614ba8932a4bd036d7970230225d5390536155303ed0cedb1487f307a40409da55c4983be24e1dedfde56db22b86d5a14e431c81f9e0a137d233d6ac0302047c435bb500663064023002c1dad7d0352d5c9afe79d72cf1dacb482d6ce4da816558ede630afcc5ec6422de8b08b1dadd0ed72ea7340c26170a30230089a1e2a11dc2fd26b3ad261722e48df6ae74a03aa74a11d52fda11e29416f1e686e54161d118f2849a72d4db556efc60302047c435bb500673065023100bf7e2ef5b22198f8d21bed0aa81862ba5a6675a952432c40cce400b556f12f861e8625c42d62978f24c6e679821231a3023028daea20aa10098dc3dc64504a1948660283d95a52781afc238fce75262e1a545dc9381a938c91be3cecf34541ebebed0302047c435bb500683066023100ffcc9b779b726f6affadf835c4607991932056a3114a1e0f164e35fdb11ed64f73a20fd7fe1de30fbc892b3f3b9328050231008834602e90a5cacfb8d20cfbd2e55f7aa64be57c276984a2d8fbeb5810c406835f95e2cb337c4a31db9e15e47eba63930302047c435bb500673065023032e7dfedf1b5e5fb9c143268db75168ba6e7576f9f3f96c0538325f260e5741741484cd483883fd4fae3bdaf331eae5f023100b816d771a631bb5e1804f5b7aecd1812208d9fdde1de1c3be53170beb0eff0a1040903ce1db3d309714f4faccbe6a2210302047c435bb500673065023100d017b52d80292d6c0f5a30c4df1cabfbe651db73b96f4f03fc08ad5cb32b1c5809598383f898fe776507d2366048c421023079366fb325a84140f26b17305529ec616d2dcb189ff8d956b051204d5ccdba9ae176edfc16f8ee87087d022dec131d470302047c435bb500673065023100ef9a906ee11777c444924fbc021ac7723fcf42baa28dcf3b8f0ad65e8d14c60fe7941adb687c733c9e6c23ff77cb05150230455537a32a79453569ba19a59e6f9f9146fa6bef4280156414b74fcc403ce1fed73eadd8cf7af2ea6321d46350ca2e390302047c435bb500663064023028f420ab9b066548e6e46fcb7f9d18ada039b32df9c7849f11c59ed2a56d2da81f2db896f73a89acd65906e9fa4f998f023000d137ffd22a4b773b6299427ab72fb2c0c7c63062b2e53e2f9a64f9c7198c7916bbb145f22412439d62d21f79607e550302047c435bb5006630640230475aeb5e8bff51aff38dfb4c79a6d333150c1b52bbd6b1da5c98f50c7808afc4cea52d7b7b950998d35c5a64cb06c38d02302cdd8994099d680c8517d0d39ead0c97d85fa8d7e5ed0feb3662a54ace7e17ab6141f367cddd365ea97b0f12dc0787980302047c435bb500683066023100c9b0ed7b393b1d39ace07f98ba9b68ca89a3a9116bf07ce65545dbcc507eed1629323d232f86a1871dda18095282df42023100e53be899dbc33088764f40845c84dd867d7ef649391913afe6b74f7136362e9cf8ec98b588d9c2e0ddd9e44bdbe8b4190302047c435bb5006630640230255d99a5a08afd101d296c18b1e27668f998db15c7f80c5de31d20d7225bd818d6924f85a752052b605daf804a24841b023010981b128247a44278e033c36c889f0ca57c5d6cfc87dccead3d7a712fff3b7ca304756a8d599f0778af0a4bd883fb040302047c435bb500683066023100fa46b17d43b1fc4b3ec1ef695d97ff30c5d850d87ff3c8908f8bff9557d43bd2f73bbe062b412baccfdecde6dde377a8023100fdb5461bd9eef7a58429b9c163b7b8983be83ea45d12e28465e0543ada3cacff0ff05013cdd8946843b4794553863f4d0302047c435bb500673065023100cfa11ec518e158ac75033ffb17de823955802a3f7eeb887ad15820f6eeb35818b3c3b5437c2e9d3c64c4711adf88dee702305250ce03c1d4e17cc2b406d99c6b65dec8a78f1ea2d2b3e3886f2c55c5115e9525b3f5acce4321419ce4adcb3a6bf50e0302047c435bb50066306402305011527721b0cfba1c13361bf28270cad778572c6f0883d77ab9278e0d1a994f24f56a5f15739a62ac1e7f94de23610802303ec6399bfc2756d454748922a6ca3ad98a9d55e1e39d2e830efb5231005f79c75def00721e5808b30a45a6ebdbcb15750302047c435bb500673065023100f1133c3a256013c4bb7e15ab847b433745a30fc77007e953768ee34d7d1a678f5325d71d5cb8dc678eba4be5593913c90230262a425e17aa669cfad72c0318b50b9f093f50b4af3de4baddccfc5f2fca311064fdbbd52f5ef8c537d8ffaadccaf3eb0302047c435bb500683066023100a45a6a4a74d05da1835aa706495f9a0d9e231440e8b6873b9fac243b9a5c5a5230495657d09a6c3d0b0903f5f3f74627023100cf7dff116222d22694073950863686f4d5a3f73500fc7c8515230c7c6f66c313e18f59eaddcaa5e9cfa90e054ca236610302047c435bb500673065023100b3fb542521e49cc2c15a3fea5e61fe4b93d57cc420ed8b941cc81f400ccf5f58513a3de196e0cd00df6b0542cf5472d302301b67e7729b33c57ff07b05d6cf59a498097ee823f91daab1b7cfcdf917470181b968bb5f2127776cbb9032bf655c69e20302047c435bb500663064023023ae7bdfd1bf731acd49bd55fc6e6e5c506f7d381aecc5ff27ac3d588090265faefd525fe1b91da41d60fa9908b6b2cf02300d4113c8625c42bd6addcc49aafba1bf7a3c71ce7b54d3bd66fa1edc5534f3843123884fd7dcf7114efcd77a1c2001bf0302047c435bb500663064023076cf691a31d8d0a2b97519169a4f222fb579862090a21cf9472ef353404c96a0f77fb5faf450d15d3ba76f199a3ddcd00230637c1221c9907be30eb45fcbd55c451f9962559a75c0c3979c5dd8ade036ec252535cd8a8afc29b4078faa34dcdfe0920302047c435bb50068306602310084854e647b64f2310440b959348582a05049431247ce57865d12808c2320df53350c910af9f204dc2849e2fe96b535cd023100ebeaafcfc10ce2bc1763817b0fe79087f2b0b498434f9edee080f68e747acd04250ca62e3bac3f3e04e61485b4aef9b40302047c435bb500663064023007c9a33d0b33703dc105b9b423c83435ecad95bac48ee1352d7956c0977886bc3a8d706e4d5e5502d82007e597232f9902302af06c7dfeb3eb83c567b61ed88be25352b9392fd0c7bf305e5db82c18026fe83581d18c01ec14c83e7ca0ac27d84e220302047c435bb500673065023100fe5f2d4e99dca6ebdec45b8aa460583e0a2310083bb77c578b6458bf36a6b1cdbc2abeacb34cf110445d61b3ed7dd286023078ca3049b84046cbda5f423fbf1ee2d4b09aeab6a5be76320302e201b99baf5789369b619f7ba4809dbc4b75305192ed0302047c435bb500663064023057eec1bc5cdd09e1497663f927182cf46cd0a67164a065e1e65ffb31af9cf1bd43d2af0a2815e2e7149f57f616f3d69d0230350f4a357c0ae63d1be4ac33ca1017f0113c15ec085eec8437922cb20d226093070d281d7b4b101aa956dc04c1fb98760302047c435bb500683066023100e90092792b51619ef304f7aba5365dc531ce47ca0f3b5907a6c3d79104d8b69be248871a741e9ab38993d26a86437068023100982dc266cd55def9bc24ac7fc112176eb72bd3b4a74e740acccb01a083b29a5a4404e1040b5583ec23679beec6432b920302047c435bb500683066023100ec3c15950eb81bef697ee16327a84a8ca70267223508423dce2f58440bd1a2629cd4934ceec938bfc8ac41848c9acd6f023100e1b7669b6d8d5071934b6a218c1e08903341d909afdbb744c13feb56c63558d8666be3e15fb6073927222cf3f8a629540302047c435bb500663064023063a755a3484bca2c3bff02d0c80d666a1a1be7e7cd125dd4ca8186a6c112ac7c58f5dcbbde7e0cb00fcc3a69bb5016100230607db3bcab8ecd4133bfea6afbcef1b8607b52f46391ee0cbb24285c12138de7ccf2f2b0260c12114cd7009145ee6db80302047c435bb5006630640230362b0baecdc44a63b0721cd682219c63a67c589d19873ef506ac0cab2d5d3050923d8dad9ca25f64f12a7729ebaa0926023045e24e1fdc498ab60dd5574dfd7ec165b6e73fcff70bde17c75e8f4a6e03226d1d3a7e0fd429de62b2e8e0b4b41294e20302047c435bb500683066023100d2ffb36a140a04941dddd82aaffe41fc4af31b302f7328cdfa8dfae855d9cc895085ef35b085feb6be9508b9aff89a0002310099a23248c14ff119837a0d17ea9f7cad1d3c08c270d45adff2a0185cfe198000dd6c558d6c889666979f5459ca1824c30302047c435bb50066306402304a8a3b1ec169709fb6b8752d5681e3a84f61a706a7526707a814f468b8ad472321f756c98674269eeaed5c374889ca6402304347d1636dd23ca9a4dacd10ca313879916c39cadbd3aaa49b24869631afcb69e161dbf34dde1931b1e9fff8ef5dfa290302047c435bb5006730650231009260079e3b88f1cd51e38b1fdaf07d39ca8d5473e2a0665e69eba3b11dea8305944848c2e5e46eee3e45e887bc3210a4023012278374a683fe3b2b21804f754d33ad09ea02f49b69cbd1dc16a3678b452e123f07a7e709625e7ad92d793abe7cd7970302047c435bb500663064023051d2278d979677b2347d1f6aea4bdfd461db3d33fd152da271f913dd73a32fc694d8755e01fc0dde8513ae8a64a5cf1c02306f7dd4438a39a118420610d12643a6cb8b5dbe72029f04c10bb7917b6c51d2c965d23928487bc2e8507f81aabb5e82020302047c435bb500663064023069a99d0635e260c9f940d7d2974658558b6c39ef15db1598d24ddb727f95ebdcc95399791e986c8aa08cda914ea5868402305b7741ae78bd8ed00e488d2f8201139700c37d252583bce40f5c01b568c72ee341879335a8b59e1d22aa4833e3fc1d720302047c435bb50067306502304cd64a73b2588e038ccb3d7c5af9293be7a71d7177fd50d5de15aa52036d13369f933badffad08ccc28dd05f096e7a79023100f0f3428aa21ba13a6b12f4dafa5f07c0d1bef9c0b0ec0e6ab623a32f2226385bf9043780d22e8afd2bd0c36df4f6ef110302047c435bb50066306402301588cb1845ec331f1e47ac60ac1848e2ef7342ab5e0941ea4c4009561971cba069d5ab2fafe3f6cf8c989d8b48ee520602301d6eb46413bc0a9cf1af016923f8a48d5a7f615b537888fb609cb4bd035a47dad16c9a7cc7350e7454d366091f8b5dd00302047c435bb500673065023100ad965e8c8df43ecca562f4e1c8c89e5be48fa2ca7f56709852459429d4878343276782d82939cedf2c6a1ff9f7a43ef802307bbfa2e7669b307883722260974ee3f9ea746ae454d0bd99b7db95b3b652bb8f604815e91e146175d601a2c95371fe3d0302047c435bb50067306502302dc57752174b09f4618c4a832eaae943c7a9606a49988efa5677259d9bc492219832a13a7246d2c793b4a769dbc45aa2023100f6f04bcf1f1c482daa1d68d3ac86b0e9af5847194ef62a393d66a0c8b9a2712efe037148c11ffe029fcf4348004285bc0302047c435bb500673065023100cc6dbd22cd5191dff5e48deba2d729683c040435c80463b01df2f59bf03142a3ae58a06b969f528f6e0b7ff1929e7a1d023036ab0d90d23da641b7de2087985afe8d2e2a4331d069d32fc7445cccc72a7a65ee93a568fed92b9ce3bcb703a026fc1f0302047c435bb50067306502300d2640217eb80e84f837a329e4f451017284ffe5e7e8871f9de4bba33b904c635c72557b94587bb902c88f1ab82957e4023100dcafc709ff04419d75c75e14378b1aa7044a119af5fe889f2a9fd546c5384a06a7797f6e42e27910dcf5b218a7ac8b1d0302047c435bb50067306502304ddf26341ba4093c7058a4a73ec739711090f0e82d41f6058b4972e240656251871d4e3e41860196329e05c147ac9c9b023100c57450698a1b86e6739b0f9286960a684927ac6c4677c095cf81318d0475193e3bc06e5525a3fc1bd66af91f150f80210302047c435bb500683066023100a3ddfb26d1638b4d239ccd0fcebf232633975266e7ff2ddbfb45b5e12433a90ed0458ea9e1d4c1855e97ce6f3a4ee429023100bd3b51f4e41a9f35db542a24f06a5a16eeb1413de3e4ea9d524bc6c2784472da7543a2e6d28c6e579884db251919c8390302047c435bb500673065023043b8cfc9596a3295c204ac17ee7f09de27c85f7dc7db5943e359a2e62ee4d3b270a4926685eeb2757bb17aeb52837add023100921afaf83545a6d21283b58e9adcd86c1e3fc362238070c21da5bb65704235f5d0c9b07e4a6f822e5c06b4d6919ddde80302047c435bb50067306502306166e289e4c0a3866f4987fc89a4c864cf08173c0e44fdcce23f6ce9b721231ea33dc2aa26da3ebaa2fb89877680b427023100917fb6975e99cb8e82a0839cfa4048a23b18849d6a0521c50529f90a4a36da2b9a858344fc0fe6d725b3d6a21783a9c30302047c435bb5006630640230025e1dbd1065d1c195e45c374758eecbc5712cd70f16b791431bfc9949efb0d07203e3db294788b6a91114d2991b20d702304cdb158f7bcf9d465123300e8ea962cea1e0b60b08c6adf5af3d4820e163e3328977430da1ad92e0b3e20548f58b823e0302047c435bb500673065023100c96fd16de60b0975455d0532b6f99990d0b9bfe0e5ea8ff221f48c8d7f7a4c48b4e891f2279819361245169a2566994b023058148f932031beb53420fd1fb0c62c7fa0dd53d3a5d1029a77c001184b67ba6cfef3afbcef16f008774a434609a9d9480302047c435bb5006730650231008f4704e0e38cb7d5335c6249103f788fa3a83921779f65cc89465756e9edc824d1598ac92f8deac2c5998092ef9a163202303fb76b21a58f5adf2516441267f5ff711cdadc340930fae34182e13c5606022511e37f82e48a260eabc68a711cd15e880302047c435bb500673065023100b5bc5873142b39cf7f992a2809e9181e1fdef8f51d65d983faa2040f24e6cd6d832ff4d3f4a7dc22be2aad30d9815100023028517539d78b2402abbf12b066911c7769455bd674882faa8f477809872c6b2ece59153f81aece41edd61c2ee35895230302047c435bb50067306502304eea2005165cd79993546394ee2d4462cfbb3a4431545c936b43752d0571c54991196021b19f1ceda43cf8f64f2303a0023100959d76dce43f24f39aa5fd78aed13793b1f04883f879c4ff51ddecb0ad2bc413229925891db5736db303e294e6293a4a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230265e299d984638097f3bee958c460210592ddbbaeafe86f729ebcf5fdc406dac35ca8ae399488e6c2e8ef8f156a9fe9e0230468d2bc27f39f009c1a426182f07aefa501111d64b3d3e7325b40ad92a57ab5b3f7cee8f9d6acb1fd85430f1dec433d30302047c435bb500673065023100ce16c70d712b637dcfa3641d8aa50215c67f30010f76a7fc703780d1f425ef4283f7c4fa6105ce11092470362867f037023023117abd802be9246a39700ae6ef2c47fb6c90f951363bb8bf69143bea44d19d4be2955bc7cf6589869922551b9998d10302047c435bb500683066023100866895f372a1355a59c684cae32a56dbfcd063d36f59554ecb9b90e758ea109755a0ec1e8467801f42f10b4dba55858f0231009ae7c91a6b909a7c65e96b062967f851922ff85b32e29c4e8795d15d9eed32d3a2cb3d7e6457d3ccf8fb2db7f6922dd00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023050a7e34b686d149dc9528580bd7322da5fdb12208e6ebd4ecfd5708ccf51e4f5b100456112494c565b6a89996ace8791023044f1294f398f86ccc266ad68df5805430d9a44f20b176547a8fd489a8e3edd9dc8eb1196e8f5ac62c75b904f0aca8f8c0302047c435bb5006630640230432bb25b06064f3ab5b90bc8e4efde6e7f1c5888c7a03757dc64d03f65ee3aea11d6688a165302ccae0e3d5e79ad8e910230465c8b8e5c11e4385dc8fe3d892cb0746a1cd32056071916978621ffeaa37871e2766634aad3c1586d675301b985269e0302047c435bb500683066023100e9907574aa46154bd65431908193b1692d67fdc5a62d8b17d6805f863ebb86b6af65dfad6489ebec46d19703089d744a023100ecfb7ec64acda704646a728feb389eadc33a29c6a1e3804f9403f6a27f0d77d210ad1538ef4af541ccde0eefb4627a830302047c435bb50066306402300308ffffebdfad90d03dbe900993a09877582a0f8aebddb4474b3f44ae38aed4ba24386a2d43623aff3959abf6ecac2f02300ccb73444203086927c0100b34b8eef0cafc0d5e6dd735cbb4fc3dc9c214ad6089597188cb6a00943147bdd381de69c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cd93f4997d2830027c864f5f37b16cfd8b9340430308e03dae97a63897ceab33d7b0fc1cc8b35fb379dcfab4e6d06059023100f9ebcfaba936e065b021dd367d6d5dcc0174d828349c1bcb8ba6c5656b1d0e41b38cf9892b3821f73463a7222d87342a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310098c5b49b334a79a16aec5c5719840abfecb3e7711064a57123caa76f43c5bcc20f3d5acafd3905e479cc0f5d6169e8d102302201a218ee43a629baf2e98e4797c911694128661aa496228112d2f007f0cc15b42097c98abc8727f8df3ee87e5f40dc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a19c94e783037f6059cfdcc8408f46270997d81f7a89a83fad303c9621a24eac4811c8b1c2079396981656db6579018c023018fdb674a84af98b1ef88dea09157d4a012de69c099e108236e441a127221c0aa586732dc80b3136183a599030aef9370302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230101160915577720ff9575881497a764614ce4cf0e4779fb73b1b5d57c29a9f2cea3142cc69f7e7bc6680b09632ae7e5f023039042eda87a1199c3290a78469a2c59cac6164c3d3b8d5aff97bc8f3dd35c8c3a3ddbfe5795353c37d5a030b19b9551f0302047c435bb50067306502300f62045ce08772017cf34a31c4934233721ebbf33654e58f11291da5ca00645795b43a5bb06043b36706b425bd4b720a023100f0abbd668cd7e7b9eb3cc113e4ac5527f0ee960526150753cb91307576e835311effe949d06b98fc5fa3d9adf97060c50302047c435bb5006730650231008b743691b2dcbeff272caa8ec6e69b801be7e067ddb3d1e51c7fde3fae80c50387a3beef4f9e35edaec5deeaf3cb86da02302eac21f6226c1f10fe01a1d818de8be16bfdc03af5637352c50025bc95325f01822eaf3a4554036611f322d93f9977950302047c435bb50066306402305bf100de80e3fc61a6fc1ba4f66ed58cef61e0545edfc353c4d82fb795b7ffdb91ef290fff8ba4cfe466b55154c2729102301003e846bbb23790cec2e81154279ed53b05e2e4e177e73be580a1ed5b3eb2c9c875f253bd0781c131086bfec484f1440302047c435bb500673065023100e84d89ca16f849e848b02d374bc2b68f4480b7ae8c5d1e87e5d76b2bc2f04b3806a5b29f9dab7ff3532b05f7fc5d4d6b02302452f696d3809b9df1643f0c99f7a4a7e223436941a47b30f688d733b9a092cb5662ec088e0b40e20f394ff3c4371a6b0302047c435bb500673065023100ea702e6b95bfcc5579352008628e328b76f7425f0b2e55cff039ea54c9c095d3275310a33b721a6e584b627114e678c602306aa1ae11e7a519e2b8ac70383b90dcd8df33abc8c8d2c37fa87ecd89753fd255550eaf0f348868a4d4329294be674bc90302047c435bb500673065023100ed36f105e0b9bc5de97965507585c3b8336cf9cd01e346f4d1ebaac7837ec3833bc3ae9a62ec6b5a2c0088ed052b9c9802305e6d81c886488dc270447a80e5fbf8b382786e6c1271dbdff29f15b0e2b6d2dcfd9a5a58eb96752b951969f365b772640302047c435bb500673065023015564bcae55ac79be26fc9a1e0f2d616ce75ccc7ba8a243c167d247ba28130f5c4737bc9c62a12d8cba1f1a1f34baab3023100c64322552429252433e62f5c226617461e9c376d4fdadeba5429406e1679614cdb149ce5b9e8f79f67297c911256f0550302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306adbeb653f26a3816e4b09a61cb98b10270e00fb6f0c3d83c96e83e7983140880251ad3e4b0adebb567c2e6a429aee93023100d302071029fae3bc6ca18c0518c005cfd0c236081908eb5499b21d2c842f874bea3885912a6b337dc2f9887c3b39779b0302047c435bb500663064023014a42ab073198c8e3558e0d129a3ee8f44d0af9e056421ac1e6219b04a5d6dc9708a359b412d6efc74ffe9a47d4e8ecc02301adc59cad9d2f7e2ebc42dc528388945381b1610d3a8f7d61f61a81da5823a9a8b37efb97a724d6268a5d1c4821b491b0302047c435bb500683066023100819012bed735f05ee33cd2d4e89e827b6f98e2d47a58adc8f02e62277c98fecf96b08343df815b202f80d78f2815a8ac023100fa58c661c07502fb6c102d9139659b76d3bd75823197d40fb12b559f8fe67b9479dffa7909f72965e55e070c676c70060302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306a54695d341fce799de09a7d6eb45a8ee06c5920e55cb42b82906198e0b84204737aeb930a1d2ee344240f53fe2f038e0230581b4128af74f90730a3aa0a477a1bb90e2e5950b8e82b36831b858da173cd143a4ce7723c8c1e8c347f988395d05d580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023022448d3524f91a5bca3b6c2b86dbc771ce79d0753c96f4424234fcf56b8afeb7ae1aa9b868c05b4df5bc18b7cb71ee77023100a9b444b3cdb38c02c7058bddf8719d4c05376946ef1a22aa10794263c6101f10020f3bac9a8b9ad9e2ae17ab970068630302047c435bb500683066023100f4b535fa80137290debac9bf7cc9f14d60753cd1a61aaf255e993a2ef89ac716e585d86cd4dd369774ee06fac098a92f023100e386bac6424cbcf3c9b32322001be2000746aca6da586d1b271acd77d0d1a4543cc0b7f9373b072e33620d1caa3cb8b30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023067ccc8d28cfc2996859123e868e444752a6a61460805eb4ffef338bc942646baf81b44e29896a3dfd44d92357a7210a1023100b2e085dc604b7d1fe8e1b6c4cb98e2f6fb290e03217f409a2ef99a83c1bcec1f41730d568a2830fdeb1e05084f25073f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307f2ea22b378abe7466d4611b934eb419e3ae78b6abb2a9f0589453489cdf190643766549c753afc3694027e72bd421b3023100c89cd7889d66888a401ff4b89e00b998e7a88b0f5838c4575b2bd1a3df411de50b6a08c464ce74200da19395c5bbfdf80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009e97ff4af06d1d18cca255088cc77c664dd73daf0bbfb22e62ccc2051840e63cdde0d6fdf7fcb04dfe38c6ceb85dde1d02307dac91583c88ba9a871b329851d857c85ee9104ff56545a63a862440489054748a0f414c36ae2ff9a74686d3cd0465d20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ed421f2b026d7752ee632e67875f7ba230b33363cde05a0c3d0ef7d29377975469aa84790164e827b8f1b4d3bc78908a023100a4e9756708f6e01971a514abf14b30baf91e48e1e5ac8c32f5a817f282a2f9f36eb860d5508217410d2bf8da4844daa90302047c435bb5006830660231009c7752da23ed3eabc7bd34b5aa2ff1576e3aee3bdc3cf5d46a86d9a3cd1f5bf2caa6a4382203288e7ba4e61bc62cea20023100e09cb91ac5638bcb3745ae9a1694570aa432ecb23d7466cb897b9c059fda23441a3b887eae13d9345ad47e1f1dc21d8b0302047c435bb500673065023100b23d81662a7e31abce9b38bfcfb447f25c4b9e9acdf05c55ec487da4297bb825c63fdbbcbce34932da246f8a5345bc7f0230555d12ccd36efb4094ef1e72a43ac9dc47abdd1882a4d98462fdff604b1d4c8f91d202b270edbd4b6e1e09d8fc7f94b60302047c435bb500673065023019e17764a335a39ef4691922ae4b7d89eff1512c1d6fcc39282bf94e7c9b55d13a8517708373cb048a3d43aa43bdb711023100a8cafe337b32065e6db3969dac33d09d9aa58e8120a07d15ef34d05f7a779fc25f13449b731504483230f93e982ac1ee0302047c435bb500663064023061e5bc773c66c844b6577f059f67d0d035622ebd51bc2a1d69162a46e91652a34ff2d338caeff56195711e67a82d585e02307e4f33865843ca6e7b73186741c96163e362a0a5bcd790e0d7f004e48a16490daca52ef600e0287669dba6639e21dfe90302047c435bb50068306602310082a360bae1f4d27e46c72b939bb766bb2df6c7c9c54079194f7cb99b4b8c50f06585287756b5fefe5a5b8c37d48bb0d0023100adf38e258e8feaf9799a3423bfee5e9041952085213e6541c733fde0c74114230454e8a855f28f6c4870dda40469e82d0302047c435bb50066306402307fb8ad966546f0bf0e98cc02647a78123848635ec823b0b5113f67aaf00e0f265fa1cddbcdf00b4025163efe8f298019023058c914d1403b92f699a23adff3afde90784c11dc8e4217a13e5152bb5b13ba587fce219518ddec08db931a5152b987ee0302047c435bb500683066023100caf836d3d1bc434bbf6ed3ffdc641d36c79d6b32177cc99d509911bae2b9d160be272f101764dfb885bb1b51f0438e5a023100e210cb62c47282918de577ce604bebbcfe2b0cc322314d47e362da93a5aed3f5b83a9c2fa24379b1aed2209c76945e670302047c435bb50067306502306ae0f1a24d21fff631ce8ae2ed9b767250f56d370c0c85ac541a8d5760b0c8b0902ab626c4f3eca123e3336a42cbc94002310091909d536a502cc611a5b3dfbf5957a6a067613ecb3bd95eef4517486d0deeb7beb41114dcba4d76941c157bc5c4b58d0302047c435bb500673065023100eff46cafdaa8da7bdb17c4221417c2ec1cbf817c5eba6e79362d1998f19e65413a4db9adaf0e911dd739ad646c5edb9802300ea8127af5c7225be8417a70ee93b7bf5034bb1031f0d8e1dcee63380f2f02d4b7c0d057e6307646483175a3a631a2d90302047c435bb500663064023026d60f6931877b732bd024fda04a2b09725d806336862de5b5f6e3448311ef36acae8a3dbf7cbc4c08b421785229cdb202303e85c2f147e535ce5e2c5582bd067beaa29698e1c14d7106c2223e78a3baceabe9f1329172641160faaf6ba8ecc3b4670302047c435bb50067306502306767617fba0056f8c24f9b52fb3f48c6a0c837c25fb3168cf8690e0ae71ba4d6616d33eceb3db36ab7b5b0fa07a79e7a023100fe03acb2e70e3d2b399ab3c3e85ef23b76390aef6b10bb5326abc33f3b9c4310fd419c3f0982b174a77fa4aae39d205f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023034a49e68f368b646f3770ea74c4d58248a9ec571c915e87f36e6d5f360b2c6ac730e2ae7510adf877285c77ff351fe12023100d0a59426695bc1cc3b31cfb9c5f2e9e5f903bfd54b7c02a0be38fbe11b2559fb18c8758f2754258e9ae2d2baaa0830f70302047c435bb50066306402301916040544e6ac2a8d9363a24a3998dcb009c6d45b02693180ca4f716b2920d6c6dce980b4e350e91fba23e7e689b53202301ff8715a075878f0e84cdcce952e167fca01f070c7ccfdb16b9559262ca67233a4dcfebb5f668c6acae0cb904c7d17ae0302047c435bb500683066023100f1a3fcf8f6aca7609dceb798187f6b6cee63f3d33ce9de402153e7bffa2ffbaf9a49438d75c585c9b0972e83e0d60739023100bf822c4c625467cc5a8e5011de50d333ab60572d4e0d1315d82d1c621f0286b4ab643bbb98c8eee45fa444c79d6dd44f0302047c435bb50066306402307d3169e2016804c55e8b184e6eff21eff542f9cf0aef49548abc7f4dd03ea46ba5d504c0aafcd20fe5c0b899be89ed9602304c5d5eaa5422927c6c5815d1689c39152af9a9df732b3a1c66826c6ef7ac14774ff285b33735a125499f1f24ec4354c70302047c435bb500683066023100bee84790340bcd0dc8ae4bfb59e0161668b8d317ff1f5dc8a5160edb33529ecb6bb8846ea3172c56e0f475c1e08bad59023100edbf2844953e732965f1832e138744bcfa9dc033a5022ba2860830674cffa4af03493edae196f82dc52cb1f25900b8e70302047c435bb500663064023054748bd606b8a5b19f04ad8d42b8fe01e0040f358d5878325987b58723ffe8418df22170289d8d172cab954219ce19600230747002cce1d95d64eaa9b81a32753f7736e20632e70f1048f6b4262f9c6b43e3ea90651dc565e97f5f84840620ba81b20302047c435bb50068306602310095243d81e5367cd6eb11ce4de35c52dc961af8e059453010d54555c2df0507ac7647734f61024c10b505e8fefaa5574f023100fe3324a3a78f9bb48e6a5f64c2c200567b3621de9f5c8ef3605d5ae934dc2dd12bc16d92f774977b062140fe59654e020302047c435bb500683066023100ff876b033ccb74aa8b232c20d99ee11978e0aac6d8b035b8e2d979a5bd9a5f39e2eb96a638fab81f2a1767c2b60986e202310091f96d7e670d74a04825eeed13281ff85faf222501e094cc7b833b60e8ca0ac5c367d9310e031292f1f91328dca3cd450302047c435bb500663064023001a636c434577521a23f0cb7d1e28d38ee175b6a8d16649b946175a53ccf871df2bf138c9e24ce6e9c05db064709eb8502302a72b4308936f45a4a8153658d8041834bb28bea69130cb361b4d5ddc515cd79ae47992e788b38ff89bfcab1c46951c30302047c435bb500673065023032c47e87af2ced017bfb7e4b796d7989489aeb267f99d25012d9537acf626cef491fd32fc8212699a3464fddc42642e4023100ff5a281cb7e9dce516272d8d560a05da7ab852808e3b0115a42aaeea77f63325e7bef83267ba627b3c68338c2c367da10302047c435bb50067306502301839801143c5b721fb075b01231898252c2916c8fa15276ee379a90920883e287975b61ca057af7f944d05c6403c6e3a023100ede48cc7bb07b6fa1d359fd4a32c8f64572765a5a9b2247a82310018f1f93da4b48640e45ce317b910fb39394ea2042b0302047c435bb5006730650231008173fd31b12f0e51e07d3c95d92719dafb4c1cc2f10f59620e54bd1f41ce2c07237514c3cfbed8784d07eecf7f7af84b02304f0ac450ec6af1652de6a47d3404a0ff397987ee4514c7ee34b8d76603bcfc36e4b48bd8af9b3cc39ddcfab3400ce93a0302047c435bb500673065023015a86b3e9a0831078b0e1250a6f9690f5eb87d546b10e9404890a3299362f354bc327412cc5390d61c8ce82e3f08c1bf023100a407e09b3de8858ef952d232ee91817f8a68b6fe01a268bc33fece1734e687af478c59c06175036a4c737074315090d10302047c435bb500683066023100996f6c289fc272d0117ae60d285e185739892ae90307f75a9dc7143a05b85d9180e764761cb64d49bc8833840799b52a023100f10410131c67933b622c9ee355c81680e6af3516b0e88b8a31d35ff0cf831d0a6486644f889f0f756270ba5e21b9260f0302047c435bb500673065023100905d2c2f717a601bb980d8cf077e145aee7a97d1dff6f579466ebfb669a531faa7aefd893888351dbd0a4317c6cba73102303e28a3e22b377bcaef62cc5af7b123b5180fb3968e352d747fc125920e20bf87561fe0dc6ea79979204190c45756fcca0302047c435bb500673065023029681d7755e4d9bdf1e211bd17c49091f2c38a362f39f26caee537f2de395b6b3160a5a3a53753589d34c893bcad5ffe02310088ffd87974ada5d9cb9063f5ed743a4b5ec3fe812ab062fa0c368e63600c1299dd34ac20102992c211db284d77e52eee0302047c435bb500673065023066280f63116d5bedf1b1910952207ee3eb598f0aa72d5938b2b41275b7903cad2305f31bb57316347e22b95103d5c2b8023100e6d932ce116a3ba5f0c1396f8de72e107591f89f55e2e9c649bdb39abe465e5f1c4f5f3f30867a8afbb92c4509fd79fc0302047c435bb50067306502304507779c0896986307208314461ebc1158c0aa85a52de0f6671733e8193405c30f1fcacd1d19d6b43c316f538b69a16d023100abf87a7027afe772c33c130d0854bad979667efbb839d5dfd78d599729eb49c6263d6c80fa74667a1499e83727ebcdab0302047c435bb500673065023100cac163c27741d92869ed71711bcdb4629ed6371adc1b639fced892534323be0f9d2756a77cf9999b79b565f9a9ebca5802301c44dfce962ab5274c19b10ae836d44c5da5c1308a60a5f40032e43add3202e1a759dc863ade67a1c0bf195aecdfbac70302047c435bb500673065023100bc18bd5999d2f7345885ebedfe431a060438dae406ffaef1716fbc7854da57100942b374ac5382379387029ffb67a78602305fafa2db07aa46d89a26e8b9923bfd76689245e08e36f05a77ed70628f71c9ea1e84cb1a4561ce8c4b375ad15e40f8870302047c435bb500663064023006b5727ee6533fa0d1144cc6cb94b2b60d3e5ff43e35a333c44466edf86d74d97eea04a9ebfc4371610113759b3b923a02306651e3b4793d85590495cd5780df43e2fe0dc035e0535d9a7b92bae1384af10946f4c72b67c69b9a97e799191f92e18f0302047c435bb500683066023100c8f5936ad53cf646eeb62a659f4adda02ae55569dec6b2cd1f4d8fd8fa1a3b81bf2eff0e56c69d4a3300c1e97be47c4d023100d2b4552963f77c360aa0a97418eb7950b20575deb353630992bfe46d1c490cee0dfa7bfc796a54ce89943986581bba480302047c435bb50066306402301a8333a23568653d105a72d012cc73ab6f894eac0d91c83cedb4c2d8105cb8ea6893bd1f862ba9747c72cb16733b293b02300516b4a9beb988947706a9295eccd95d7cad6cc4eaa8a55533bf1a6ce5714361af1fb1952fd9d1698b1eb9c311c3b92a0302047c435bb50067306502310080dabc7c7603f7a24c584e8ff9629258e40ad246f589e358c766dcc161d75116db1dfb0f4f26d4b679264da252965fb4023055926e544b14cda21368ffef6c619010ed3909157e0033cb76cc04092170d74b7230b598192107ba9db3dbb56673968e0302047c435bb50066306402301f62d9b3ef815558090d86c69fd1a918c5e34a3d1e2138f0fd2fc1f371f2f346ce518ae3d5c9b9f5f6bf4013b508289902302aecaddda7975d2765dfefc1603253f22e586ebfb6b99e259453ff418402ccfac604d3fce9d76995752f0240c29ec6540302047c435bb500683066023100e0c0522ed2bc43d197771a60fff775eb60c2596b55cd32434bc75b5249405f46a7103270384d6da54df476903f492ba0023100fa7c3f859c910740a97f5d4d6dd69b31959b1e7661e1564ee5297d8a92a24289e1925a239ac870a7aa50892178d7e3210302047c435bb500683066023100dc74c0d6007030f44e6e82167c7b2af303f5bf7da26974852159077c952b0d74759f96a3eda8577a0b7fedeb85f09ec8023100889dadb94991c5cc9288b6c93662d7fd8bab09485c37bd7ea3c050eaff2f02c7866ab829b56325f658fca2df286c4f7e0302047c435bb50066306402305796057f77d54651279a6b2f3ce53d823051882021e164d7c72b4d0d04af58f8540a4f2f57fb2b66596425725954875b02302a56461f136eabfdf18d88ae375e083510c4c3ac828601caff4c268bea7331554cf5f1e31ed395e083afb59279a909920302047c435bb50066306402303c6745ce685b18626a7b2b198b9ee5c1512a41ed560d44003ddcff88aeafc2ff49553e68c838f182cec5f45466e5d7c002302024caeae316cdb069bee2b02a5c8ee1e255e435adca5527757300bfcbf9b73339fee4c00cb0dcb1a5bb5bb51e289f940302047c435bb50067306502305945ec28eae2a00e8e8ada260fa323f2d30492ad8edea3f8b3c98db92c2c5e7833c581eebda5a6af2b18a293deac9a38023100e6f15a1032c4936dac5be1f83b7b91bc018d598fa7a033e27e6f67287e06a19a3156f3e4f10ee68feb6f32dca660aa580302047c435bb500683066023100f64893c27c427d731219ca7bd1dea40097c3ec45d6b392cc05f6a9c8a8700555dc8714b04eedb7f0a730eb740ed1075e023100a39d3a7ece599f6b82c7bc2fcc3d8e1f05f324f0c8bb76a137ab64bb402c2ab3b4b3e7e3544018af25a2d52276a9b2820302047c435bb500673065023100bce46a6de77bddb6e66b3a5a6a59ae9ae8e7d2a38272503914208453b5b3068bc57ee91663513ff922cb7887443fec2b02300f95a750881e338d7f405a6178338f6ec3dab79064a07224dad5e395c27a9db5edd8e99e1788f696940d6a1b3ee22cb90302047c435bb50066306402300e1a349180fc63d6c23464bfaa286f3d3075d9c20730b4024d71f9e925d35f9687b43563424121739d8c2fabae7c725d023072949713232a20de51259178607c8af22218cd8bf5733d6fa8c4b84652f499e64ce407af95797cb7b16d239aa5e88c680302047c435bb500673065023100b2ef82a5d9710cd0cd076829e9af53f60a85db6ad7435285598edd215a913df7104d17a328d54b5c77b4e27e7420523302307415ddd2235d1b80fa6f30bb526d34c7eeecf755db15b7aea9c950b7a56da10d30845c54d535728fa9805553ece699780302047c435bb5006630640230328a1ac8676934951ed3239e859153c1c701ef9d5d138c98485440bbcb8da4555f48eb6ffcbc5075ff63a273d9c6000a023035bcdaf60222162756bb936b2f5dc4985bd84e7174460b12b3aa957ab1879523b6a52210693d59bcacab13d82fd9f1770302047c435bb50068306602310090314947c3a329077593ed26b45c5bf537603346514b05d164b1fa2ab5040eef4dc93bbe7432b263746e45155a6b34cd023100c4b65d8dc7a9c6a6cf3ef83aea5e7abb61927b6b5c4b22c3253086000f128de79559a04b88d70fd62e14a730bb769b360302047c435bb50066306402300ec62dda6b92ac09100ffd2b7e5e03a82fc1d46c156205d2b365d676dc3ce51d312693deffc983dc24a7e5742c2c4b8a023017326a67ab351474d0accb9f97d2cd8b7bc0ff15d17f5e9ef2ffc107928d8a49dee733b6b5a86ea0e7b4f8c43d18fbc00302047c435bb500673065023069973e667867ed3194aa33cd99eaa739a18a3161006ec3c3e7abfac168367e88d21b6c6349c0542417785ebe2b773aab023100cbe880188f23948fbae7eb97768ae13907ae3cbf583b99b96c8a90306ce084139631710457805b026570470193eb48560302047c435bb50066306402307ba11777d7bec7dd052b19b026dadf4eb76d32358ef877df5f05c9958fbb46f4150d802b8919189b7b24366aabcc84e5023076691ff4f0a828c82f6698448a118083025d16adf1c55b2749f61f4b75b4b94013bccc0180033593cdde617cd2c6f1670302047c435bb50067306502302dabbac774daf3ee1a98b93e3313e55b06a93a95c8ce1a7cb2d87619a14fc4e2f25a165a0aa1f5dde243523649f85b9e0231008764c7cdcd1c9474e8f10ec2985935e8801efef409ba8a2c950530ae6f40ac45af135adc8e0c8a6cbd32c81aa66321540302047c435bb5006730650230609d683f4023e0524327454d562cbd8602a37eba8ed063b463a72f5e9d5e29db87c73fb78c8c4e4f202c09fcb025701302310097581c49634aa72abcf439164622526e04c20663d0210ebd10dcccc94b7bbb43384012d7164fca279494914692cd127f0302047c435bb50066306402305681f6ba2953f0f0f9aad064b8df8d5f0367fd40574cafe730cb1ae435c87a02b0fb7f85c5dc0ab9b353c9614e9919a802302b3889a3e3937cab652c424a311e7cf8f1b5c8beb13cf76d4c4e6a080b2e6f3c37566af14391e629cb04f99e0da98c540302047c435bb500673065023062e17b5d3a164e7bed2fc4206b32a35e214b2f0233b9a924e60070b637208b25fb6609c0d1eae6944f1a16e04235eb13023100a2cce844a0a651854e547f63c8e857ef84cefb4091b96a6501b49d7f8616a62eaabdf431061e207f72a5d6bebe303c660302047c435bb500673065023076cec087a45d09170b4e852aa9a032cd8de73503c5a651f07c20e5a131c1f617a5a1f23286fb655c7ba1b6fbcc8bdf2a0231008ac1f55f5b59ffb1acb6661b5b913a2c47dd0af9f8b86a7cfeffaea2b77571a63d1dd4a859dfa67b718b6f26187c020d0302047c435bb5006830660231009603cfb33e93b042f4ab11f106412a88cc33a8f5e1e96fc2e92758679df9cb058fd772bc116186be8827bb5d4014dd9a023100f6d1c2732942ff7f7cfabcb971a86062329c5d6b1fc23317258fd5015dc6b4ca4280ce2ad4cdc202951a1bcc1f5928720302047c435bb50068306602310085cd1497294f7c6787b4be0c7db3dca92be3393fcf591da658501c126edb2bbc36f3b31d196c13fff648f18c881cca0f023100e71b1dccdc7fc4902601477c6046c9b0b516e211e693201d6083a7a04f07b2d7293e07907e092216dfbc7bb4c1599a8a0302047c435bb500683066023100d29a1273a32649f55790a4e8833e8275c1da838ed3d9ad5ca5b3bf9bf0b72e1dbc17991e99441afaab77d1b9e5f158a2023100ebc8aecd7579350073c4574777f58df46822563f4ec4cf60d14b229445b8e19ee58bbc58180bb85b8cc0ad4734b5cfba0302047c435bb50067306502304fc0c6319ac47d114572c894bf92fffcfbf2a94161c084ac04ee1ec6322842c116157df106d8352846ba174af3b0eff2023100aa849b617b71eba33f0b86dcc45fdffad4a8e2085bd33d284e705bc99806287b2530b0bace1e582add6c629628b577f90302047c435bb500673065023100cf49a2bdb19ac5a878af7c9ae14ba878b23d22ae3b71adf6f4c3a216cd3e99d75db461a228b6a22858717301a5aad6840230242a793dbddb09e65115e750de3a8b93824d6ae658fc64f5ea1b665e9b8104f892171ae92713f024f81c3d746ff193f10302047c435bb500683066023100f26cadc981b311d97311c65b52decc4b014f561068044d1bd210e669079af2eb1990d88f8659a51d9a372c9d84e69a7d023100d54792742532f49e9fcaba990dcfb30744c428d822dfeade1ef24734bf520e917d20e51f01e59b0183350502d827f75f0302047c435bb50067306502306137a3f6de68df0824f74a64425d5b524c58e9bdff4c2367fdea8cc059708fee4166fb8e9cfd3bbd9548916362ba9783023100dff365fc0cd93861ace957d52c03e4efe4aaad31c59a6e71e1b11ffe55db933f62ca14ac641fa8b58adab46b5ee531660302047c435bb500683066023100fbee0d727036296da2400b79e448670c459e800247e29d219c99ede59f33b934a4474f404e0cd23a667908194838ab390231008bc881e29b45e01b400faead3bfba1c45e44ec4bf1657faab3b2dba2a7a8aa21260b2fb182dc24a15cbe695f07616e5b0302047c435bb500673065023025b15215b2c50eb021eb2d109fa5c8ba010a7bbd84cc40ac6f222ff7b7ebe63e18d215d9152d91fa4be0147c99af2681023100dd8a31ff0a4f0d346c76af2de436434f14dd6fd5cb772835ea5d3a00766f05b91afdf3352fa1cdee5e412750c0d04b140302047c435bb50066306402303200c7753505a58952d010a81c8446ec5d563cabbed1e612dc7d74a0f8d84b0249cf00bd2b02c9afa9053e597b2d718102305cf6dcdb60c306133435a894ef10826fccd00f345c763837e1779208917a97baafbedd4c4003366b86c13d5434f144480302047c435bb50067306502301bbeaeb04ecf43189552843b2b7e1865f8747bc8e30b8b2192c7726fad9a5ab5400dc74024bb604d8cf566b74405974802310085accfcbba333e9b02e8fd416eb3775a50443188042661a2e5473e99f3558efb95bbacbfcbdc4909d909fef71aeace0a0302047c435bb50067306502305e93908f61259a066d701af2ccc9be435ce3edf9995df12fd3fe9b789c8e543862326ed86147ea29647fb3179715c81d0231008fd92fd0270915351cab0f9e57d520a38bf07170adea8dcec01c2641684bbc17728c8cd83a8ea6d60128584ce99183c90302047c435bb500673065023100c9f13f0fa0f6f24c0b8c36b8bfdc1c7a9c47328a81820b88b5b28ef181cc27c5ab5f29dbb4fa524ba593d67d01622d9402300dba9b21b1fc869093b7de92f7cdd88a69883a383e7ebb1a84c82743be39e9f1d8cef9fb231920347b05c23996f4e7f70302047c435bb500673065023079b9708acf5254a895d457e96a62ea6f913bfa264e7a65457ec682781ac5fe991bbd258c98d9e0ef85bb420a019a4abf023100b9fc666e2fc0367189a468ee18b57f4c009a4367a1b0360680305aa52e5a498c39e4599e5487d7759a23f365e4afee640302047c435bb500673065023100b574686d7aef1b80bd4bbb7d2e10e6e46c624ca1b7d17c8ce4979bcfe8b0d37f690fe355180bffb8bd35b63f472338b602301387e7623fd2db732231db2dc019a0b767de179093b3cffe9a08a40ea2f1a69dd15fd31f8a00a82db3544cd5b415d8310302047c435bb5006730650231009727e5ddc117e5cfc65b9df86507467063e473ceb9ddc0a5d06bf1fb4f61cbef75a2a576a695fd114d2c29329caed1d602300bb3ef56ef40cc5d4783841d05e956e03d93433b0117b7d42b889bce654d7d368cb1fc6845a2089335021ebc78312dc10302047c435bb5006730650231009ddd46e3eabc8d8fd299772e474995de1465e7c040fc6be80f1bde591cd8bcdae57181de9caafe019700aafef60de60a02303f17ccf2638880ab6368b837c8e5538e05072fbea31b61ee6958688b8956e24cbed335a774dd675abd1f7c0c12ab3d080302047c435bb5006730650230437414bd026eac864eceef00876a0c81fb611ba0751672f01ef8c57464efec0db8bd8c2f1f4ca21cf7b97822caa19494023100d16612a6d07a88c03b11f2d82b663da461e53a129b8d974863e86ccece575333287fe0f4dfc694059075241a5707f9000302047c435bb500673065023012303ee58c566d5cdf25db4c849b349dbfcb10c01911196490ea3a5a6241b7403c2f57fc535628ae495fe0b744b523a0023100868620375397bf2f54c002a3c64cc216f45caa0498ced5a38b7909768e1eb1517dd13f1488cd0b51e72d66d6970317d40302047c435bb500673065023100c6b65cb639b84da9c1563053f9055fce3fa57dda1c0cdda838dc24789c202a58913812da30c3b6537a4c6e35b8168fa7023017d74fd8f3db06e0109d8759cc3f8883d43715d6f8e793ae6383ca103abd59b1824504af3ab9bb94104ee2c2af3ffb2e0302047c435bb5006730650230028272a300a47ef201c52d99393285dbc689ab7bca8e2b556797a41ed02f96d391fbfe4650feec35b735392dc5e4d9bf023100bf62f8d2aeeb8c0be502aefa42c82409eae5ee2bc06bc746f26f32fa0ff9ece25cabf50ec98b25c3a4bfb491375327460302047c435bb5006630640230723aaf998c1ddfe2ec007b5a08968df903b21400d13071d14c8eb2d3a4bc820f8ff28230137e8880a280e74a3507d5f702301c1a6d1f525389b8076a22f0eabf08206fe07c8fa27a7de3cb5bf9ea6b3f4ded95819a4538bd7f05995716bc70169abc0302047c435bb50067306502307c1c4343a8f9627ab2fe5313de65f42da15d570e397419c872009213e1f0a1b06ed0c9e56cf58a35663ddcb45abb27c8023100fab86db6de6924c89004968e17ed95f95450f385204f2af53ff237c9deaa2c130b3a542cfd391bd9c9844356890d7a7d0302047c435bb5006630640230273996aa6b652bfdaec5ed129e7ea519858409cc13e727088eb137abb09d389bb7735d83777ca614f8a712ef4a69a4ba0230741d780e3b1f029fee151311edda70298bdbf4b6982f6d88b828da56e249f0901779cf25ac1d1d55cb0d58e8e0ef626f0302047c435bb50067306502303b11a6ed1c642ea5d58a99a07e80fce37726c790624f7e0e358d29e7cdbef55dd61962f8f789a62cf04f3415aeb5ef2902310099fcf6ef55f496b2c16b15da0ab8b3154de805e1580edbd457fa6708611796e2b94f3630631a6feb9db01294b7927d110302047c435bb500673065023100a7f0b073c35297fce7ac55e4ab6c657044577fe2dcb6766bd813644709e75f338434239ac233d14f11456374a6e28faa023040dad14d6176d4ac6ef12a153ef5312e0995bebe0cc0cf1f3ea2cb0d1bc9878cedf6541b5dc468209c7e08494bb1a7e20302047c435bb50067306502304a0089f07bcd3483a77c858cd2fa83fb807a97b0353d07396888107c9692d89db4f3bcfca7dfca96c0b59cd80d6c5546023100f5f3e503a82c4892ec6bc7909dc634575c2397defbda2431a006b48b1de91467bf0e95ef67c52182178b5ebc9891858f0302047c435bb5006630640230094880e7cffd6b7ba49b8eb92fa5ec9990f854dd8dee6c3226b0ba5925f6e68589888d687e8cd4e52012e0b1ceab7dad02305c1a79e2cc137a15e5c3986f2a2c70747792f9390f3695505b8550e9bdd45c5f9fd9e64c142c4ebe49ed2c040f8b541f0302047c435bb500663064023050836300353a07efff901ea3a8488a960b84d14c550f1c76652569d4ea02558591f320839b20a801178329baed31b3800230057b48bcd5e1dde2d06678f37c83fac77532b0d6f4c202b86d41342cb88403231b44e7992590b6804b1ba0e97831d7a10302047c435bb500673065023100b02450dbe324307f5eb00a73cfdedcd8f307bfd5f8a633520b1f0a8de0d1fc764b1d78015cbd099409cdb11293b5608c02303b8d6b2cadfb902fe7efcc7c34a34a81139a37a3769fe0a4f13346a8457a081da213b0c8be376be34ac6740eb0b9d5400302047c435bb500683066023100c32b1d329f0dc790b359cfb333f86c98d0ad745ec884d6b17e4b9ee328e21f68c9e8045a698a22b7d59c319000ae6f65023100e7500453332864215f29cd51a18d3fe3872c02c652c8595f1586b20179a7fc5b0d531834b3e6f17545e037b6a95e63c00302047c435bb5006730650230599a8e2afc58b07b84c8f45a8090e20c204183bfa68535d84a396b7f00c9c71791d63d58cc13318878921984eab09718023100c6e917dbc6242279cd4661ed45d2870087a004e02206300ee9a12c493adb6045f2baf2681dbc2f4305a6b832034260cd0302047c435bb500683066023100fc07789514c4e79cbc7f3a510184789a86a6d75e634f823ebd32f2dd8898edd8cb4b05ba7f2beb648ff02a38464213c9023100a98f017693a2d47e1cd63c34427c907724a44349524c22a5fb0d8e53c15ffd724e9d364acea1a2b826a111224adf0e210302047c435bb5006830660231008ed8001eee0974a72fde18f85583796d58ed205599085d103c38fbd795e2a724de950f5f705d425977b33ff8843360d1023100e0d64cd23992619416e4b36a5738bacc99971eac044bd372b7b97df23e101379bae34f0d4793aaadf1de181922cb6e2f0302047c435bb5006730650230151a8e29fbb52ec7fa3ffa27e30c63938257ec90c9d0d3ea2998eb193f8335813d0045ed18f8255947f2892ec96a6c8b023100bd0af9c83e509a9b6d4b03dee7a3bf2c73386131d7bff5a3932aa086b28db57f76f69420714aad68c1e770c575f905520302047c435bb500673065023047cbcb35c6a02c1331db3ab971b2d5692cdabf94e5f9a4173957c30ce59575e44da00ecfc2de77164b65b78069f9a7cc023100866d9cfb4c5da8d22e60818bbd737d9e8793b2d163a0c0640b2b60c03043346ef13deda4f16e681420134ab7677dd7a70302047c435bb500683066023100eeb51fc754fee80bb565e1abff423d5a530a8416ead0aeb06a7003adda9f9500f73abd61f4c7ce777cc67e4d5c04603a023100a34137da7a303ff52b161255b1fde8cc94acc5d0c67a2f24318005aaeca532c2e1ec6ade0a89ee28a869b33431c2fbf60302047c435bb500683066023100c749113d095e41fcb083fb28fe3a088be4f07192e88b43878ec4712a6661d5bb543b9fbeae249cb6f46b74f39e1d9eb2023100aa5fbf3d2356194d6270c76f0fa72b5fd5c00e8f6a862ad0c86c8713053cfee1eb2407bd83e0e4d23c0cdfac02eed7d10302047c435bb50066306402307843a310f2c06271326068fba043083bf3a9066623a7c8ac6913455f87f27eb0d840cb2307311a505c0b6e39a364ee4502305c2ab969671a637efca4274ab7e639ac3e2110507d23163b9bfd82ed74f8bd9b97e84b663edaa3c22a06ff1fc22747900302047c435bb50068306602310089ea23beb46900db17ed5f472d1816f11e722691257cb0ad063a872293a2823fb8ab7634b5cf0ad8cc35ecca5baee2af02310092a8ff1c8bd98f410a2cd8b5eaf12af7648383597ae3d8d96b58fed8bfee75b7a449d26e5dcd6e28bf1524711a12a0a70302047c435bb50067306502307b163f896d288b47f0d4690128fff8bc80ff08465ea59d2858e7dc1f55bd44715d09c91cc46dda99122935390c90d2760231008c08207109ff5a1a03acc433d4583ba8d812773af7d614eed13b6dbb284c995be665f813e1530d75c2927be0498dbe8e0302047c435bb500673065023100e93b00af2c5bccddcfd92f8d0a694175515f7f1aaa0be6bb65bf0567f27d2aacb9a596dc5c1d0d3424d69d1995802ac30230221989a4e0a64fb72f839e6d464da1763f67227f7ec77f2b64c016252fbd9d1a6625c61b8603e52667fc2a43497bad580302047c435bb5006630640230436eefd51abf3e624503b7a9822a5b78609c81e15ceb11113060a3d0fe45ac7e4093e887b20500cd664f202d91f5da6f02300d239163b95e2e7b769f585789cf9ab3fb1693eb9a342c65db5d3d8837fb1a2fccbbb11371b578ce571e0137b855cee10302047c435bb500673065023100f00664cd417364f546d9cc5fcaf4df52d7b74fa550dfaa402a8b433fab7d798009cb93fdb053aa2d5751cb186d9fe92702306ce845da0b7f16db8513ea0d4343cf334bf6038eac74b20c377f53ee4f0d2d7cdeab811aa9e89eccdfe90c80a63a7daa0302047c435bb500663064023029edd3cb42bd91a89a68bc536871e4ee2146feb8f1d57d46acccd39386dbd8b7c9a265a26e247841e6a0953418cf201602301cca235b76d91bf96ea43fc093a561809b4f03e74c18b179dccc222b8310944f41ada8df0b51d731dbe677bd651ee1510302047c435bb500673065023100c6583e9dfab707637a5780652b47cf8f661897b06927ab8b28eac1c241d6c265670fac715db2c1a3ce936c23c65c045d023013964f1d12447042bc9f0a92a41faac332c686fc4045ccb7e4fa1aa1cc42287c8f52764f1b5213653226157304c4f36e0302047c435bb50068306602310085864bcfd46f6bbc626a6a794b748d82a9daef6c83ddaa7d24020ae49a4f64d72ac25b866db90e6ad1055ddca727107c023100cddbff3206eece09884cf38fde37e027ec9c048e0828e54569910cbf040a8ba333fdef003aa22afa87d574acd23448010302047c435bb5006730650231009288ce765efa33a336a5e84584f4a45e28af0840d76eaccd0ee5537937e3b72427e99bd0b5f4cd086f9cfa572f6e9f7202306abe37a7d59f734b973034adb44bcdde4ece61ba9128ea7f0e553f95c392f1b94e8495609fa146a3558a75c357ce4f9c0302047c435bb500673065023100912577f7784566eb8c9bc276b9e9205bce2b5a67c2f75d57128b2c206b1ede1f9c7aafac902542e0ce3b9c28a4e01c4402306acbfe3bcc5531487a83b01938dfa5f5f7c7d65dff0c517c0fdcea3f3a7bf8956ca9c195539aada59fa397adf84f97590302047c435bb50067306502300c57422b291d6f343d8e8d18f4fc393d7db3437c02b69955d09cb393322f6102f58df4df0291d16a13bc0dbdc85d38d2023100c10aa25319b3fb0fa207d29d42dc5a5eca965d8e69025e7d069026c04d0fdbbdfe6d2150de48d2f6f4fe5bc78c598a570302047c435bb50066306402304d23e45eccb2de0bb3d627ce5b32d9c56cd8d94a95762d2492149d0e32b3d0b670d78144936c22c1eae087f80e8d8228023038d8664008c67bcda029e75c2a2b4bfaa433017d57fb854d56ba1eda2d1cda83ed5f40077349f173eea08079f9cbb7f70302047c435bb500673065023052948ce27b73b5100bcd94ab4c41ac960644b641f4d4a69236b3bde6a9a9053a8fbc7c67031ae06c95a91dd12ebda2c0023100c2d889f69f1671d3f8ef7c14b665c1badeb166462c0df53ece4b37106f51af4e5e5931cd83052033ba420db6d864ab750302047c435bb500673065023100e8909588f44af55f77403e0f6c844083812e1cedfd692a38ca93136575f77df384fb021a8eef0e50834f2958656b235602302d8d24e210006285b342788b1d6d847e12539c449ce2865c430d425654fb36699b485fa195f4fb9ea9920287058725c30302047c435bb500683066023100ed3bc60c0f7461bf3c030d1afb4c35fff32d21ad9a4597b02529f26b80eed9a2085fa66d01a5f12f89c1ddbcccc95cbc0231008bdc4e8e449463d5e24268c8baea5376b99e5924d950ea187f5b634b9814121ef5619f32e1db663a01d157136a659b8f0302047c435bb5006830660231008d63a1d8f257ab4248a9cd22466342a812edcaba4ef4344f2ca00e37b108fd9822c20728c15749fb10655eb46a4b521a023100de75c3471de58b29d1e351d9709f3f64f1349069ed74ab8777b6b2e74bb66a1e856a9d648af664909a2808c741d0ee0c0302047c435bb500673065023100a4aa41fcc3cb8725336e18317676fe4eb648438d7a48cbdce3aeaeaaf31e47c1015ca5dbbff9cd835bac7eab651260fa02301610fb0c5e955013364b77199fd8d8b0560aaaf547fedbb5ea5fd76b3e2944f96e58c78bf243b335dd58c2cfd98943290302047c435bb5006630640230046f3b0c4159c3b0a7d95f8623543bc38d4aa12a36d90cb888402421d9f37fd4153882868683abcfc50840f319e0682f02302d135143cf1d64c27e1ae50da5ccc2bf881824fcc5d2e8ae09f36125143ee171dba2f8e7107801021a8fbc4bb2531c060302047c435bb5006730650231009f6c05b0b1d70c8b600715ba6a146ca8476e4f61e0a70b421251109fc021573d9bd6ffa4f5f68e00a7b82116cd1844d8023046ebafcff891b8d089aaba320ff37e3a7b062a10bda26b62b3669a9150fb91076d282b51688ce67507211f47ad0c18060302047c435bb500683066023100ed25af17e8afe3569a81c66bf6cce4269860d05a8524d0b3e5b87205988f5fa9d856204942b3b7a06f33ef8ab96908bf023100f27d38a0ba677ec3e6624441a53f05958c70e8bd1a20da2f6366bd32620529f1c050b1be7d9a372670456955252d2f7e0302047c435bb50067306502310087a62ba86e2b0ee74c932a018d2d6fa27771925f5b45b64109ed8a01ea13b6ad6eb29de82f85985155acdb14cb123ca902303c750a8e5011173fa1cdf30caacd16fd86ae078aeaf24c5b92bbe1467ca99ef284ca4315177291324212dea18637d8910302047c435bb5006830660231009ceeeead2f124f2355ac0ad4f281fa51f14f54cc753485e6195d25877679312cb0b7591f603fdebf91e51c416287ae6b023100c83130047caaec226ee6193f8daa37bff4b34a494a0653d4f071c3e474bdfaaefd2f3e18e3f7679d587e0581524d1f3c0302047c435bb500673065023011ff3844edae6762937f47e493f24dfef3bdd595173950a4063c37f2b6caf4be1cd860e58dbc358c7ef9872bc0689ab0023100bb443c9be8a97be195ddfae11b2af43dba936e14459c984d5363e7b0f90d374af31384ae3a9b3ec17babf22a6d7c5a310302047c435bb50067306502300f19af7239c173574d7b1a923892a37f9cbd13f57fa22f5bb6e7235f277864fe1b49bed6819b225ac4f1eaaf69208350023100f432553d8402fdfd4755b30eb234dcfed40319610d3a403bb5b789370587cd5088ae76487f464a623e760cf959b15b9f0302047c435bb5006830660231008371fcff646a2c67d659262fe185a63cab865c1b2dbf8adfd87504940adb8aaeb5d17ec9412267441336800af8dd8a94023100e0f0e60a4b37664de5579b6473fe99a35a8adf596d98874e43f25a290bd006a23af65440161f1397fdaf506f41ad052b0302047c435bb50067306502301b427fc932cca4d08970e97af7d248bbf0e75fa7a4a32552dc526e7540b207e48379316ae8c2141494b19b1bdae3e785023100a67edea824371e68f7f9eccd916376e2f7413e15803d4c211845669267846fbe4bf29c6782ccd72c8cc0c1b20c362daf0302047c435bb500683066023100c253b3c940ecd7593972d07ee54125d169f88f797fcee90d569265e50e0cf7f44b511197603f1e16bf33a8949f5a3837023100c876a0d574edaa115cc00391f52bd213ab69a4dcb96d78cf1a798ea078563dc26188da3f25ca2c699942e626f69b8e8f0302047c435bb5006730650230777323c87d47967f8a029bb726188a8d34e31e57f19b3058ebe1dd89ae0257cf2b4cebf12a790094f64d5d1aca99bbea023100f4a99ee05611545f6a6ef8d6a8896f53d4947e3188c1bbab4db9f40b87c2b1ffea95f712d07326bbd0959516bac2d4f00302047c435bb500673065023007e465ebb5fdd2803377442471c9cf3e7ac3b6316dc2a0b36bd479c38e132e12ba3299879c9e2af6c959a97a1cae7664023100cad53cee524e7a74380f6e6b2fc57a341ed3f20e5a01db0ae257b641127d2f2d03d68c77eb2057d606abdd9bd6aa50a60302047c435bb50067306502305e250774f866ed5b4a649650902f33450c5d13685d130702b85f72e6f8a59ed32d9bfb386c5b8fe0bb99eeab7ca10d08023100d956d6c76cf63ce013e872a772b283b16d72ca337c9363585177696ac451bd499640fb11cd129543cfc2a064eb25f3980302047c435bb5006730650231009654a8e0058a66d12bc1ab5204c543c580fe89cfd3cc5c352c7a7820a15549d079d4cbe0118780871b113c61c79d513202305fe9232892ad2001ae9245dc3140ef6601ed65a921182c07ebe8accf8540ebf70b30c98ef6585b7f80c4c379d25ddafa0302047c435bb5006730650231008a413d4d785bfa062d686bf69c50dd79506346d5e4659462df09f8c5d306da6ba49078468f37f9b371c64cac5cb3c5cc023065e90cbcf21264dd42ee874759f332565e087d44dd90dec7d1adbd5034f55e66afb3197a0e93431a54697d2c6b08e4740302047c435bb500683066023100ba368fb6de316c34b2bbf6be92bda79d27a61bd606ac6b42673e6de1e3df4a23a9faa53ea9057b1213928c3e4ba90bde023100f4d043d655cc6f30388bd64024daf2429d5395caf83f1524ad02391c33bd9a10a18a9783f1242e165e0dfcadb5425f380302047c435bb50067306502306a0a5b116ca94a6cb355a2db2931a8dd5369c810bd35477a8826eeabd363d8c78c425f7f56d836ef82ef1d85dd06ee35023100fec2caddc1530e7361b2efd6e6809b6be24cc7941e498a804865ea50edf9002a3e1e4875c52dddf7d6c9dbf117a3320e0302047c435bb50067306502304cbfb9b19aa79ddd7cb305b8f8a5410c9e7734a22f5d7d73d74ec909d55b6570c36645e1031ed16b3f09e3532ee8523002310083d210466aae3c0bbc70b7c3bd7b377d6bafe3d53f0eb4b20bebad6db340b376687f5a204d93f4f311f912e49721bba70302047c435bb500673065023004847c5689663cd4f793022e2af8197cdd3e8848eac33b9f1b4983a8c3b23b5c9333a455b3b1b8ef3183d6fed2ae2ea9023100db66d1659a47c880be2dfd03d467b291754f0313e99518408c34d97522927269396951262103ef89358297c72070d6490302047c435bb5006630640230377909e2ed6ddac3f602bb03dd2e207c0a65f7e06776c85b46a5a4326a9bfef86e31eaf4c5bc10958e81f1a6dc2ec29a023030e1a3b7b2767d728f3ba96caa1b10d51a1f1e73924d338032f9538b5133ae5f67db23895bf795b4a351874c698a4da30302047c435bb50067306502302c2e4c35ef0ee69007534e733b334d9d244fd3c1be37b2f121f62db2a0edbe107e90b6a65219340b84919ce381afb8ea0231009b1d4e4c4e9d97e57de5dd01271e419261ab0434136331f5b0ef724f882524d3a5709ff3830f7dd0052d7d3967b11b4f0302047c435bb50067306502303d293ab13332792f1eb1ea9ef4106c2e4c2c4ee3d7b0e4554baa554bbd94c270517591bee42efff0a493355a99add48e02310084600abea8d0429050c281fbd028f4ef23ccaa6a004764de4567cc4de88b1889b46555bbf97585bf6621adcd8122fbb70302047c435bb5006630640230391afff225994a18bfff92401a06118592ed7146d078b81d2281ca68d2ceddd9bf6e6cb6c1360e175938150f12268b1f0230334b36f4f23c294801f9b8c987d114f879cb26a680c4750d942c1902f077c6b076a04ebb3943e0516fc4d230529b25b80302047c435bb50067306502307f21304dcb021079bc14fc649253fc64984d0597d28cdea5ea5e3010297f3983ef216d7dbc0374e1e612903e3fe1bc0e0231008c9e50d625fb2f83250fc119d644c9aff765913df2da015451cda2d6dae3c8ed8a53dc4920c4606250c2676f3fd7ba280302047c435bb500673065023100f2158043fee6ac3e9185c605f083b97ce36786ad96d21bfae6b4d43eef9c9e9791a935c85a9c9773080978c1f5676d1002301c23c7a0e82c324bea4d5c4e12af02cfaf116207164efc9b537fb1dc0b86b7004f3f05e312d14c7c9e538e1e95b8590f0302047c435bb50067306502305e7bd2d34fec939e4034562accf51dad27f80cb75c94599f32919f5a8716d923b5097475f26ac0dfb8b3003ec7fc70a9023100e24c53ac33f67d9a4532dd28d657ca66ff33df474815550761f56378420d5f900d7f2c6319d8b75c8b3b38c6050012620302047c435bb500663064023072d8aad6e5620468a3561485b0c60b4891b5a16e76b60b95d6bc1d83da5406a55d35cea0f739a9409d176872e28025a00230122076bb7617b1709e1e0d22f868a751ab88b09d5b002446cf7f52f19504ad42f095c18db38a3de11bcf9fb5b1ebcc3a0302047c435bb500683066023100c2c3989fa428f9b0ba74fe5e08fa1d514845c6ff94596b03371e63e25c6751f7f09ce7f332227e83fa524338b8b508be023100b66543e3e679072df0a97f4d3ec927e650e32ca60505e92c20809f27f517c52c20b72ef46bcba41f1b2e39d398e9e4060302047c435bb5006730650231009e8f609f88c4f93ef45d50aa1d7fc0c5e699b0bbece09004bc35e1a60ab1c8d9cd0a259d2a48a80311488c3943da244b0230482d6784fb1558e07d4fad1262aff604fcf501ed327b98dd6d4ce9365e2b019ba11c626954a383d42f36b2b746b9fb350302047c435bb500683066023100dd8bd572179425b8316f657bcbfb6d715572c6a15d575d44e81123b170c754d95d3fa67142c76964a69aa942db1be68f0231008caf73ae9c8c9ebe3cb433827b4a07a442873c5f8c5757262f64af2308ebdd401f799a6650422536f3a2bea161303b550302047c435bb5006830660231008b30736de9ae2e25233225107a1605ebe33860b788dfd396cba047491ca09f9e5935692c70985b6c4ae12b1da9644056023100b0315a080d8df1f336b9037f32e68ad3d1cc51a2101d66487f35669e732a1ccb51e5f013c59b61ac594c104e4dc18c3b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023053580fa05c919dabde13d08bee6ad56a4d06ea366876c7e0a3dae123c5f5ad19f46577f5a29cb1b21ac227e2170ee08102303c543d79afbcc6977954dc2c2c6b4a2e4224172983c5dffe78fdf90dbfdeff76234626d8d4cb0bdc15bf681541b967470302047c435bb500673065023040ab8af8d78fa7ef05683dc187d0b528e5d34e90a0aedd543ce8b638628cd05c9de1901708c8ba83a9282ac1edd30548023100cd46c9ca39e37ed3456f11a40332f1f3743a2c4cae8c23343810b3c0b2724c1a76491746d2b8793118b8cb3c4979fb0e0302047c435bb500683066023100c545539b8d2458005e3e84a4e409c1f7d599e6038a13b1927447c8908dbc49e9a131753e7a4b6e5882ab8fff458e1441023100b16e2f6b8d37becdfb93331a2d71aaefc3c20c0353b741b266eba9c8de6f57f3b3f90c655fe6ad8fa467ae1ddc5e847a0302047c435bb500673065023100d021a858e83dbfca1e797fca7bb1f25e542d5f673f55e0c004776d96a9d8be0f906bc746ca23ce5241ad72fcd63832b002304154628a7f75b6cc29c706747e891a215091e23a9751cef3b1229099baa1879ca362c31bb34179ae495aed825b3c77c70302047c435bb50066306402301eade533fee2bac5e2ddd131e163836fcb1d1c92e870083896f3bc34296a3bdb604b2063a4a47da75774949d03eef60e02303d322785afb97e7eab1e512ff3ca6adb43ad6d8cd849703ac67c28a2043cef90a74c8bf6f64081ecb3e88984667fb78f0302047c435bb500673065023100eb1764b6827a8778795035576fe77b15353efb83675f0366fc09ce8dfe63d245fcdbad3bff713683636a12656f1b7c3802307b83cf535a3c0b6d0180e35ca27ecd1182e82ec6cd365c8bfbf1de0bf0927f79da3358fc53b62867bc7a5b4fa24c75e50302047c435bb50067306502307299525cee419aab247ff7c426ddc9e909fa3afa3f18e4b1e6e83360a660f5a3ea5c7ab940e2bacbcc3129e5f04ab2e2023100fe56972146994cae449f641d2f120538c75a585edf77dcf1dde5733e760b904cab0b04b3709774d48362b7e946b143ce0302047c435bb500673065023100cff6d2d66d42cc962f311c02e758975b812f4d35bca7d2db9e232f25bed4d0f9e66e1a082976ab53b3f0958561686dd00230556e5ad49d963866d56a1192b6f94984b051f060f66cf6a467b6a726d1727dc74144247ea2aeb975d4e4a2ab6ecc70540302047c435bb500673065023100b6aada462a36d0e923b15be58264407694803882f38ac59b584e519f80fa0f69c78a6e2a525656043f64d04ae198a58e02304c19a06737a6dde7a0bacb08772c61476522603ec4ce801672cc9db62d618cb3ae413727d8763bd977e230312bb98b450302047c435bb5006830660231008598c84eddf0236c3d08aef2fa616997d212b7cdec651fadecd13f0522836363ca4c3edff6f2b01f17684b798c67d3d30231009a9139c63a758d2de18983dfe010ea8a9104dd915047d65bb259d29677d5ba2ef77de76a168681c8b2e047836d6570a30302047c435bb500673065023100e7b78e9d211aaa36ecb14a3cafac6fbf7e8f340d33ffcf02490b9e4b1defdcae8dc0e32288d78acb174c865071b3e39702306930f843aa28846b2f28261a53388bb0ce17df0b690d9e58b03408a8d0ac12dd1958e6d1b27acd750ee5fa7b281d73670302047c435bb5006630640230524e8d3ab4fc82f15f24b9e6b4516ead9bebcf61110d396626bbbd58094734370d87b0f9148576c99ff6b25974a2b231023048d2da45994e3249bfc4d21555ed1f2f9c648c05b08c2832fca6c57ca326a24da78f4ede33faa3870173cff0c8ff90ac0302047c435bb500663064023022c5e56d4caabc2c1112e23f2592079b225c96196c47c0e19a1a3357762e505c34288914ee8157e0a4e80f2afa3bb91202307a76603c521b93283dc55cddaf81b29aa77910991a17a589e3ba8377fcc292abf5beeb3fad1014561201e6fc321d191d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301cdf7797d76547f3ba146e5c27ecf1976b36a9c1d01430e20fae08a369609307077b92ad60fb67a83ecc4e87f3c39cb4023100eae7300be8587b3a0d6b4d8bdeadca3c4d8aa6acbbe421dab2ea2b774776dfc66d767f32031efeb2aec79c203ad094fb0302047c435bb500673065023100ca7dccb00398edb3a2f0cf9f4462759fe63724e63816aa1dc5427ea77035ad19a80336c30df5423aca4c5600a21e22bc023070569c8baadbb2e1d71661a0a2487b7f78ccb13a56f6f6ab9ba46815acd43fd9dbf1f9e0a8113d4fa2c22cb623064b090302047c435bb500673065023028531b574a51190114811cb2f75fa4956ee463ee85cf89d26b0b1764c324362ca41528bc2995c0971cb342a48abaac80023100d17c928efaec73a5bb190f9fb09ab2449b70fe26381eefdfdf39e6fd5fe2f93626a35eac0db4fe65ba7847c55a031c290302047c435bb50066306402302935abec7ce3cd01debf71575a34eeb6de0277659e8a2d32861b684866f00bdad66c9a3228607e37f90b624a50e4263d0230174987da561a79837fe3ad6efc28e6775ef60e2bc7328cdc4d5ba4ad8bf16ea9a97363893da951a8d9fbf25974892c3a0302047c435bb500683066023100ffdbc085e8ec7401bdaadad57b8b3a497b25b1ee0df9d4628d9e33c03104c941e060123e68fd1953f19bdd3af502a4f30231009bc8185249f04a2a7a8ad92350216e825b5a38946ce19686cb4ff235c0044639f8fa71450974bedf04721249c9a766f60302047c435bb500683066023100e5eb0374eba82ee8cae11a03829972139d178057c8d6729d7c792d55c85dcbfd58c753c96153537fffe0e31729bdd9c3023100c1958cb00e80c70598e05ceb935fc0e9898dbbc5bbb806dd75781232f60696ff5ae6ea98207281b15497ab2f458c057b0302047c435bb50067306502302f8708df82bd297f64563e4918d7ed7e518da88b5587c31052dcab41ddf77fc2674cc24da82407ad123b1bafccd3f9b3023100f352cd6539de1c196007c8d7d2f03092e3a1bb9423ff253db4fb6e1a6ea9fc244fd916def421192a9d4c360b436831660302047c435bb500683066023100a3eaa4d53fafcec43877f65e64880f0ecd1009a1fdfab6e8c5534c8517499fe9d65695f6dbbef78b7e7b77c2fbe94b33023100864d6ed6e6e06ef864059f112108233a589386fafc3b2845deb0ddcc21d903144ec6667f49a65139b01cf18b8a8179470302047c435bb500673065023100d66fdab9695fe2537d0e03bdef88fec4592b1e835759e217f471989128bf62b8680ee0fe4e63ae4e7743d2dbebba9ada02306709820375a4e873e831704e62454f1cebbaf029477b43765fffcde73fef600b810b4fa8a4322e80ce0d03fceb899bdd0302047c435bb500683066023100f039547cfe71daa6e9486aadd1113dc9dede8e091bb46b73b759e03423e87a7fad1e61b339eddcd14dd603f200b70b21023100ed3cbc9ecb3297b1233171e826e30021ec0850df2af712942cb2f3aa815bbbe876726c4a4399641023653316d51db4510302047c435bb5006730650230456dfce1b934e45937987d1b297f401255c6c7e658defac2cf7564dfb70cdc05cda1d728e46f94a13016cde2686d5abe023100e54b0fff3e22018733fd1616408bee8b8d9050a62ed0daf5f087061d00516c6145a569583b68931a0e724d4590abfbf60302047c435bb50067306502302a00e45403ee4e05984aa865e33167af206ac52f5a2ed985317bfcbd0a8bb4bdcc323fa47c7705653cad197ebcddb504023100e98c0dfa75a17ee0d3794491612343d38af2151aabad794c48f5a94c8dec62c7698b359ddba40d394543d36ade3c47f60302047c435bb50067306502307a90ee27005173c4804a20fafcc7ac6771226b39854caf56a92ae38ada2fd08f30170bec7a7840b1be013676347ee47c0231009811979dc4827ef1df1cc4a9b4d4e800602033dcd18425efa9fdf1865b0db77cb241d74331b86927b398ba034d136b6b0302047c435bb50066306402301bc9d1b7fa202b652b2d29edaa0220ac43a45d5b3f20aa6b670cff10571d23b0bb535e8436b8c3d658a44eefc20fd71b02301e23249dbcc91ac5072b01942d3e52e1a51a7bff8c0effae2f2861c466ba5e0acffb741a439ed70e4f5af4f5f25b21c80302047c435bb500683066023100a5c6a30e37dd93626dd81533c6a0dbe78de94abcb350f2e8bab139a8fcc279d1cabcddee41854d2f3e092f5ae3ac164d023100ac2f25d99222c463063accca75f68a920b8bb454276e2f52c758bd83dc2f6c3d94028f1e003da75445e4b9f230852c380302047c435bb5006730650231008db86165b4a4bebe27eaf8ff8742f81d1582b5ce55b01a833dc3e80d94fbf0d62f3c5b2e17a4f2e4c62c8ab5cb75ee89023065c127a51364e32efc3d815eeca69d944c8084414ac08854b3339be2b84bdcb246d6cabbe421d1785faca443af0906040302047c435bb500673065023047a7d7fedefbcb93a11cc286f1367eea9911d29efae809081c0b4c6d6a50063136f9f6582c16a2aa3e33a69a9cc5d89b023100a3903d5c48b259f0d8d8f43d595502d9dc9b292879dad2594a87d2befbc6db7a7386b25560b9906e2d4489b9789725e70302047c435bb500673065023100c11ea1dfe31b08e40edf905d29a9426d84063fadeb13031e435bf842dacea3c0049aa77a409419ac9457c49fba778b9f0230247a2cb450e21d04b2e1d48652be6bf5582adf9b9c8f24261d2a8f086979df73619b8ca4522ac918adc9b6881b0bd04d0302047c435bb5006830660231008b6e9e733d85fdfc12ce694f59b714d612ead078545436d9ca19707982a1b9404a767ff43dcc6dccbb29c5b6e2f6b50c023100956171f85966e4fc71454910f6a30fd39ae22179d58679a26fb2eca98156e72f8c0f5702ade3ed38859d30592187a0f50302047c435bb5006830660231008726bdbcb338115f7543c91630b3ff8d34f54e76aab900c6870aab79563c46646f7059bf676bde7f6858ae98a92439b3023100e0a73f2f8e2feb4686941c489f740a84bbcf7a4b916734353277b7f14417124b79b845758015959703428de8ccc8e5e00302047c435bb500683066023100c09dcf3121ee1a589c07d0c58df2523a8dbfc00429d34003fb8db76cb916e204929d2ed7adfe028d284c90438a8e3bf0023100fd125d4268c9d21ce632e78394e5420d4dd6d3f581885211278cf30f0f8cb8e9c29ec1729d6a2c64424205b818f34ba10302047c435bb50066306402304b482dbc65eb26927cea7a17e3a62289f93ca6bdbe83f7f8220481311aecc0378253d4842dde39c28ee3f1d9585256fe02302854d2807c117488a978976ba8591f4fbfcf2701625e3d6266a5d7ad7c08659d80c8a88f75197553f25faff8439a9a6d0302047c435bb5006830660231009fb5f023f8f8d7774ed468d8d17cb41b5943da567e5ca3a23204500c61a8dc68edc547847ed217d151af0e3922fb3c05023100e0e1805ee879d857b9af75f64512ac272ebeb522afc49d15bcb16f346a23bbba7958d091e54edeb17148ce7a242a43b40302047c435bb50066306402305e14dab9c2799eaa5f2e3882181cae880145f6f7bc2e9d5eac99e6276b79f245b88294b0b53b814019f4aafed29e8f7f02306336d0c27fe1d3d9e02030c3568a6c206c94bd2ef3e075a7fd79bb746cf204fb226069254836db5e12206940fb63b23b0302047c435bb500683066023100b14a1119765a0719e6a9707e7b90acd458f3ea987eaff953812cfe15e121b85062d41bf741cd9d5bee98ebd28fd05aa202310082e8ed8ddd39d97b843ea1d1997bd03c411d9c4383b6211b428d758fb9b401c5a58f4226ad165646474e67952e3182d60302047c435bb500663064023070a46c1acca033276fd9d684bd40dcbccb21f6cd6a4ed071d2bc1148a51ad2e030b443c64fa5cd4103cb6657f311b757023009a87fda7bcbc00deea13ec057a3eb5cb98107825006532aa379e8adc7a387e57ebc83a0349fb6e36d82e14bcc131d730302047c435bb5006630640230158a1214bba3d13d2d9b2fbd2e118728be7eb4738c9289f7941c52c4462564fa90e3f31c0b81908b9bc52143deac837902301ac2e71bbbaed69edd0ca72df9852ea954b9fac551168539a9b14fb72e4c465f5132b4aea9f6703be5f4b622a85e7aa50302047c435bb50068306602310097c9c747f2f93afcbae0582f10c0966dbd3c90ab098b977b1cbf8473f82b2600338ec3a47033484de6f1218c83f8c9b7023100b4c63b254f4fe10460d9eef3b9dff33ffdf033643c42685df33386dcfd55a3dbdea4629d4d0c73042c5e26f6ef55dfcb0302047c435bb500673065023100bf72fc7d3e282e555ab9fc9233c5461e18e0c488b7acd2d3e8bf8a8cc6bbafe25d04b564ceb235320b378579e8a7511a023049edbf15da5c77b8a2cb68dd29b40fb7eaddb1e53a7b29bde8c1b4f95bd118dc44226d286c5cf4e6b218cc6b2536da3e0302047c435bb500673065023034b2fa515ea5b30ce929556caad6d07a3824446b7b8ef9250b85c58e8083e31ca6ef2f64eefbb9688e243763cf7a281f023100da7b33348e7952998da62a531d5cf2933d96c81538795d6600ecbff10e7f1a0b913805cfa9a6963ca1222fbee940d19a0302047c435bb50067306502304a84017f184e8f44a6e86987e0aeaf04780b33248a12b6c8001a38342dcc3cbc542d9832ff179674aab1b2cbf297ab78023100da65349305d101938d7725074f4c17b49dd5849c58a79031331df7645328dcc266b0f22f6241605906d8386f5f74494a0302047c435bb500683066023100e97202999a48e95b79cbf073dd5521e4b3a7fb792b61a7432529666406a9bf6c4ac52f47d12afa09c201b8aa9e9361c5023100c56ef34aa4723ab1570e06b4a6a7177ae69e5ebe23e0a983bc040dff404b08240c5385a9c5fa248d659ae540c63f91ff0302047c435bb500683066023100fa340142dbc38a36d8c6fcbb1897e374718d80e116b361903f1ea28db1ba74617d73635363a51c1ced3b22a8b2c163e1023100d1d5a3f88df19efb14c9c109032c76e797cc0d36dd054ee8977f06524415f3f3d3ce95b7646914c643fe4cc53503efd80302047c435bb500683066023100df9179208ad547e152145fa5a55a27c14afa1627d5d5e5f23ebb1c2159c0557f5ed86d01cfc06ddb3b3ba7f4470ad767023100e7aa2f95f3985ba9abdeedf2ea2c14973f5de6bf0ef96344406fd310cc416dcf92f34899b1de5cc9505aab36c8f738530302047c435bb500683066023100c5911a13d57ff266722bad05fa350a806b9e6b08b67f5c197b09c32d0cfd616955680d8bbdcc47bcd9c1bb9e981bba75023100a5aecfbb607810d419a795d9bf417f5fc2eb0bcc9e825a66f00fd354268fbe19b7869c99b31c4b884739f446ac13b8810302047c435bb50067306502304152f97683ac333cfcd293f88c41c8ba5ad62a1e16ee5bf1647ff1ffeb2b98b18fc080b596307c7e3e0bac2afb7f6e33023100dc6654a4f9143006ab88612ef3c8cce0b41e9360768c03841de78592283df58d0424852359bbeb67d501ec8ba2e3450d0302047c435bb500683066023100926da25c6ac809de73fb7b1cd74818ff284f1dce1a34a469b3801aa5ac655b137f97668829d6c78ba19f12f7f8322a5702310086522b2b7b57cd54648919b232b351f671fc7497446ee1709ec12ad7d3a4a27a90d2a657fb2ba1082bc9fa3e975484250302047c435bb50068306602310082946dfceee3dd7f5989fbe1da45ec5bc32db5fc397b4d6ed17bcb1ba592748741385e28755fdb59f8ae5fd5679ef2c8023100b2697bf980f2dabd6058323ddcb245ccf764c04cbe9a4eceaeba23a49b2263ef6d1d82eafab129b4d80c9f46e25994980302047c435bb500673065023100c9f76e5099421f6b4137e86e97f40614deb5d6bfd9224d7ab459dba341f57f5f43ff9870132134f9d0f6038cef9b81fb02305989245bb5a9b399792b13d7802aa433fd808e4d17ddceceb132e07f61e51bfb17c374e3a6ea937de467366440dff05c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cef2ee40fbca7d42693fa47ea28559e2b48c24a5509ba4bcec587f55cc4fe0734bc7f5129ab2138350add786bf2acb37023100e01e6732359fa142edf7d6a9d540f9ae88142b729648a7ceee0efdfc90d2cf475f99671bb534e5ae8fd813c0709f07930302047c435bb50067306502310096f60c2d1330e9258d2e9051d1fea695bc33c64c404c2318ba201b63edb220de650be77f7b699daf9df03e03635f441602305bd861aafb063487e6d2f569e5ed39894db51135bbf29c6fd95cc2ecbc9b674f195c593b266b14e60bb21865e654ca480302047c435bb500663064023076f6f8769e5a81246914fb307c1be0f02fb85db770c93e4a2328b2fb1f9cc6814d9385535beb841c42c718d3a887bfd2023012117136d2fd49f3a40bf7d4fbca990535ff1b85d7dc964fd2e3ec346b5559deb2f83e71b74c38dd103a116a1d41c0cf0302047c435bb500673065023100a638be0600fd8d0e87dc5659324982a98b54bcdc43a55f8839a81c12f84db73dd61a8ee85f4df46af43e3aebffbc1d8902302dc7d1c89717556d21e6ed68a7112d66087fe495b8b528f955d8b54fb1450c215ea16523abff4a1892d11e4e001923aa0302047c435bb50068306602310097302c77a1f32d7103e71bba5d2b5b9d9856cb7d96484c6978d7931dc98cf4c9230082e9a2315df783d0f5b7b5bac350023100e7fb2b2af694a305fa3de2b1df8351cf2907ba1cff6025560e0ae988d70f4bb37b5134452726943a2458042cbba5a27c0302047c435bb50067306502305a44427675d359f58c4a7d17ffa8ef0e8841e555473f59915b28cb931c10f7ea7773edd73ddb1d2e35705e57cae10ce20231008cfff12410a4f1e5b96d2047017d8a29f66396a31a80420e2eb8244021e698f31b0f9b5cfb985e7e4de2c234c8620d580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023058f145e07873595ac86193fb6a34f3b399d06b10653d544d80c52c5e691f33029daaf5b08deaaf5ea3c41dfdae3dea3d023100ed87432d478679b665b125be9ddca8d06d80669f0904de5d93daad0188c27eefb24210247c6a5648a8c0f5db64b1a7520302047c435bb50067306502306b847e7f03100abf2d6d15734fa59284c98f524dd78524d43c54357aa601f8bc2d8d255364700ae075f752c9e9dd8e5c023100ce3743ec9aa65cfd2b22dea139a15474d704aaf190a9f673d594812a789689f3d29efb16f4b2027b69dffce5341cbbb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305f2847e53a9f50d359dc71c484270243bbfbc315ff7692da1899ccfd17c55a7db585baeaf45a80d40a547a6e6145ce73023005906af2a68d0c2c0d946298adcf1fe831db4b836a92ced8c2477501470bbe571c7c2be6625e9312254c2ee32542fb060302047c435bb5006630640230414f7b0389336a54a3d1fd784e8f8bb21b46e424da8a1943ddfb15b96cdeabcc2438ced6b42f9902c2ed1d46ecaff612023069b746bc8411dc21c2c1b6cd338ae4c83e50be89d09b48127b8687f980a59fa53ced980587705f91a38e5b62da0b581b0302047c435bb50067306502304c96cbd9b3394992bc352dafc00837226f78d63e734d51bb1d07a0b28893b5e95cda0e09c02aa71d583ddf01b03b8161023100ebbfca3cc3bd3fe4e5ca7492d99ad7cb33b0c3f83c6e4d6b460f3dca367ac04ba2d6fb61a5c4c7826c05dbdaa463e1990302047c435bb500683066023100d892b46e48421f03a720e550c276887e76e41baee0272e6008f57eb10bb6e25f89be7d31ed34dca4b75cf91e2939742b023100c7a4ab06ba0952387eba9e3716946346403a5accc5af1693deb4a8c5548ca1d1ba2cdded49624c651c8c68b495baa0350302047c435bb500673065023100d2121c0310e31e245cdcc860208379b1976da9d28c7ed405aa3bf767dd10da5d45e8d383902ae1206f87db656f04a84002301481a8192e94054e1b95445ebb141d0de6d8e10be963e72ef8ec3dd3e220c4f2db0580683bc5b76e9910ac9b402ae76f0302047c435bb500683066023100b3c3d2fedbb400a7d21f395c099440d14b7518347189e1c17446f35af1ba0df6d44a0febc0c3e5b488dede260f6e473c023100bfc0f6f571d99d08f4faaf7243c01c5af53697f1dc1e2027adf41aca28745f41c2f50241650071965865f65801510e180302047c435bb500673065023031e829eb6b7f9a55040aa1653fdd378a00dc5cfaff19aa95afbc694830a9014cd3adea0814cc9eb3642e093fc1ed7bbf023100cb2700549474827ed8edc4fcd2cc874fe14cb8f24050df655f8fe44b9cd043b534d5f37c6c9c7c1934d9ee59d8231ff00302047c435bb500683066023100d6e6b7fb08ea133a7d1375c964ddada3af069c9809028296dde62763f68e475feb555e82b89a46f93b56e2aea2544457023100875f4d76c72f82960e9b84fb69ed7a23b70bc685dc9c7adc9761316006bac52dd738ee14bf56e446eb3b873d830efa180302047c435bb500683066023100931e0c91c32a585568bf02914ad3692b24d6ed7f96a957c5bcc887cb379bbaa6fcd5a89424fc7049fa948607905dd948023100f3ddf918086f05c771ac8e4197ebe49d276576220cef4acfc74436b0929387ebd433fbe434117fec4b2be2344cf0a28f0302047c435bb500683066023100e71f8e61b2997f977f19867b4ba4efaf2f20c96c57266f8f991a1000e57c948075cab454cfaa6c9396996ac1383b7dea023100a2ca2b28edbd40ebab1535f9950906bb5946e7bd7bd38c57252ed27a84bc527978883dfa55ee7b485fc59d25fb9d422c0302047c435bb50066306402301378692fd0fc6624d91a181bb13bcc04219a7610b79cf2af87f0f547a591ff228523ab6d87a0b14f625c0052703d479c02300088e3fc2afd48eb8a45a5c41f01994fbb6e14da9ee1a8917b3208edc2e8da67bd5102bd00b7da1a8dc1f90594d1cf5d0302047c435bb50066306402306f8351ca90da38447b30a6201bc5ce196f5d0a4537280f990dcc4aec0eb62d7d0e21db832fe0a5aa4f9ac657c85bba71023067356adc76759e8ab765d37fa62fc99d015fd6de5424f1de9f09a005eb03931793efedde3a09422c05e42c9fa532f9540302047c435bb50066306402300f9b44d050d72d3b5b9c2e449a5e8a68e552cff829fdfa1a56c0098404a65045355cf05d10c16e7bcd56ee0eccc31c3e0230055daccc5d8ca66266fbef0e64718a4405b780e130ea280a52fb275211231190f6baf894cb4234d48db7bcdcf63ec9e30302047c435bb5006830660231008e3d89d71a425f239d739669102d8387ca4d7b9b05eebc0dbc096ad34dbbcce7aa6da35d35a23749eafff181295b1569023100c6b2d1a9865d673287d8864c2c238fecf65d5e9403dbce2869861a6f887c7131c48fd4f9af20f843e094cbb9391470640302047c435bb50066306402301b5d18f7467acbe32fc5598c0d57be7acb1cf448ad91f0565152bd850644ac44f6b46ec590e0e1b19d4c0549789d96df02300904b6753f46a7b756449f43aef75b5650902796c01b3124d73c9aff76be281115954e4fba8212e5da9953f2cbb327690302047c435bb50066306402300f7f881949a5a24ee2bd8ed1f3752f80641c2e6baf506054fc7ba952855a086d17064a670979c519c72d89c803d4f066023024807686d34b15e97b1069924b7624ffd67ae6338f1fcdcafeb7844b054fcceb6faf1c45ec2646527a74b100fa9f98220302047c435bb50067306502310081ee12970726367e2b3237f0ab53807ca9c0b733b8bcb4ea16931329e264da2f4971d329b903d74cb6e4f30590ad0e6402304c2a61f371654c3f98f329afde3a0bfe8352af09a09768f052ce0e1d5caa148d5b8e410c740f7a40c938850eaebe3b690302047c435bb500673065023100aac649b8d2c6734e03787d9d81e9d688cbfc04056eba9d01e94f4d70973a7ae415f2b1cbb52991d2ee1b8439155e14f6023054374be6e77e491eea88ab077347c4025b483112a475e8415685c54d6832ada7b32138060acf7c56c3377b37df6770040302047c435bb500683066023100a1f7835392ad56cd2ea5f854ef3785648ddc308aab49a9b411eaf88d29322ced76607560b0189a2933170016350c9371023100b56e09b79e143698c2c2c34f50e7bf55a49561c97f5f36a53349cde3c96780a080a561d83216eab256e8fd0b1107cc100302047c435bb50067306502304e6a3582176d8b60946907b10f2fe5997fd54c7545676bfc9898b6c945c99ed9b4b21db3e82938294cfa1188b942186d023100b7c2b97fcfe5860fe51dffe346dc4c49d30c5ed4625a801dabffead31f9822d7d4c5811a449a048cd295a99dd171de5b0302047c435bb500673065023100b465874fa6d2587f0ea235598d66914f0f9694769d81692ba20c591e140d00094ded71dba830e670ac6627c7690e068802303d168bad6192ec54f5dc701d4e44795bcafb61998194b9856d34bcfff8183eb15695f5250b96e0558e726e8b10c715c40302047c435bb500673065023100ac47081a956e15352461de230e2af1f51056e91f84a494a331be3d68f3cf2453fa81ecb4dd46cff410540f323787a73d023065aaa404a826f430fa2cc3c622d7fde4494fb9dde5ca99acbceeaf58c02766d63d8885d0a4e1c94e97eccd8cc497c0bf0302047c435bb50066306402301c9b776ebe53cedfb9590656d7917bcf21818cb5d7ba32aa7aec3a17ca46d7714f9cd7454887fdb3cfd74d6795eaecbb023042a3eda36b9a7e368aadced5f666d674167a339a896f8b1f62f08c1c4ff3885b57f72d2d0211275e17f971c4055779f00302047c435bb500673065023100ebca6ceaa1a03f0ce96d4fd9ada9a9c294e33a3a24ca02e49a8ca192ba034ac145b6fa5165bb85928dcf21d24ddbf8d00230452acefb68e2a052103cbe2e752e214d084b9d3837a813cc1080598b8a94ec740e76063930274d4d7cb3802cf7addf440302047c435bb500663064023070c52cc9da49e0469eb7d5483753e5cb3f75d521af5bdf932182e278de736734c157532fca5baebe89af24de7ebd6cb6023009b1053b86bbd40583dd828da991d03d4479364b537ffd2acd82b6a78b3b458dd19c72a88b5ecef413c466ae895abeb90302047c435bb500683066023100d01b45af322e840beaebfbacc29f8c8698e88af7000059d2b29ae122e0f4c4dab4ed0b9082c0cc30c572ea911c2e49fe023100bc6b9e7a8a64fac025ef91fc88dd39e03ff547d546a7fc7ef169b9876b76c80a82d9547269d91523612555fe64cd1e970302047c435bb5006730650231009a3f8423091b8ec9b38112f51e57cb4582995af3e05fa0dda0a30fb849336783256f0082b954e7e60519a9e504b8ee92023073abfe4e1d0079cbc481db9154edfd9c73a518473489ac65e8cd1044ac1d7180a36766766fe803c836aa642f5a7e21c70302047c435bb500673065023100c53696405684e22e627934da21e569c784e63386d292c276477fc439ef33368eee71309c4d86b278cc2cfcce586f7cd002302e2b46455da3c294470a4b05b63085cb8b57653a28c4b39859b12b99aa349b41aa70bb30c35229d6b79570d0e921784d0302047c435bb500673065023100d2f67591812154a526141af7b1adad4c3e41d6a867c873d50beeefdc0821b205c0b465d02901d4061483d1266be8a843023012f512b527e62afb206ba1b63902c4e448134ff87c6a4cf67e892235902e9d016a7c023e825374cc6b5adef5f01640a50302047c435bb50067306502304f2e39961c1e15b7127be34a0d074d74c60685b19832bc73fad3dcf9c543bb265624f56459c8e7853e1ed44c7daf206f023100e20bc9eaf55f39913ddb4b3e695bbfaf11a78f76e3fcf6f69c65a1d3811e44ff4f88f6768c7e37b2e8e5994b6ab95ff50302047c435bb50066306402304e892e74670f68b421edb3b11157f9883fbfbd1eb298bff0ca28d9ab5c16b956759fc6cb812cd4725991518110b377070230597e16cae05a8b3881a7b45e3d116fd97c3f69bbda8fa21f129d4dfc84bb27c88a2cebab720279537a04904657994ddc0302047c435bb500673065023100846365339d64ed16a9f6237944091fe4044886debb1b633dff9deff932e2c0f75e1d7eafb624022a24f23c4d0eac777002300ea4eda1c130b087a2fc279ca71ebc05f4eddf70d99c81a5dd03646ee4abf606fb072244a43b6b7447cd7161eeb353540302047c435bb500673065023100c8e885f10ad2abb30e1ba4789e2ed10d9860c8c73c503c51bf4f5b1d909d740e6775a4fd8aba7bd2e2cf95af6913394c02304bd966ecdeec2ae479cc3690b0188ec62918eb1f65df3e430b153c8b6c6d2c9db4da454a1895cb796e4e673c2f4c5afe0302047c435bb500663064023050b90b3062219db5a7bfbb5b9930d3bb4e65eaf1b30416e46f31de62e7c5edc1c0e4250940c16f6807f1079458705808023004399bd352518bcf8322050fc4e6e626d6111ada5dde04a716c944c1dcb0a2b4ef28986e23eb46414fd6a1eea72819be0302047c435bb5006830660231009b54e361bc6ef317fda90806c3590d3cd06b6f1a131c5caa141beb020db63b878fe0fbfb880aaa559b4d332dc5cda0a70231008d571ec91dfe7a91cfa95f172e655e3885cae0569f72e75f2df85b1683162172f549b2adb5fb38f5ddb2f45f3a9e50ad0302047c435bb50067306502306772f8113653081573ed7daf9f525ac7f5b2802e0a51aa3771fd98ba5cd3541287833283e536d8fcb90362898d35638d0231009821918dd081964e1bbbfdd941c2f6a588120d9fde72893fe84827010cf3051501b3a0aa7ce9287a9b6208fdffd7c9850302047c435bb500673065023100fe0653c97e1e205cbb25225625f5b8d73756f5f8a17fc60ad5cee1aee4908029adca4544ed06793c0638eaa8d9db287e02306854b8de57c92cdbe2a3005143057d81b744b5042e8ad895138ad6a800ec0553098ccdbfa42f28e8496adc77315ceed30302047c435bb5006830660231009f60ea266f884a3c8b1c2d1967a8fa8897ee8d67cfc232434646880753276856adebe64e98656a4fcb4e407e8f4a8048023100834b9654ed0d5cac3f9cd30e024265c5b8a2627ffca7577f7a6b12a76452369dd0167ee16ddd5d8f42a3d039595ac4620302047c435bb500673065023100902d3e8686c5eb6d5fe5e010ca4cf8f3273b2830f4ebdde0fad101f862ac9f1eeaf1d2c6093c70aa1ebe1f40fc20b95d023002cc5b3a9e98d554be3232dfdf822bb2b022182d0bd63dd08d9fb589eea9e24ad4d36c00bb8ecf612512ecb48d1b75ba0302047c435bb50066306402302ad4215c8ae10a802a658f6ecc567012989d70b7d37a5ce2af9327d219812d9273eeade75758df6eec8f4d78d1ec77bd023031f8b7177d12d86de1981434e6344c747ffa53168c94f1348dc8baeb44eeeceda4398dcbbe6d591bbcce0559f46353820302047c435bb5006730650230413e106d8e3287663ca7b1f2be7d4a8e24c1bb5f7329bc0d75e1c9b940a03dabc9c8be5006573049fb1f1646c814e3c2023100d0ca6c0f1ad6e861c7397d32648db2fb9344e79e6b0df1240268622885885ced7bac62a511cbc3fbd61345b302dfc79c0302047c435bb500663064023020f4fb33607b46b4bf4801d20ff72c7214144cccd953e8d4b19e41a70dab5d19d9cf3f8a2c73ca48a39d3fe17b690cff023002fe3ba0a9e660f124404ff256afbeb91238d2a7f5d44fff29bff539a52f32033de64e0267a7ab50123510063e1f98220302047c435bb50066306402302440017d9e9f5607a79077b40be73926b9699502f68c11cf7424c5787f0a5fd932a548d209b01fe5bf22a309320cd51f0230668f07fb66d5c37e9505ce9beec1a44253beff0b645f4fe7c42637202e352d481da6089c7b189b1d3b2852e8e52d83cf0302047c435bb5006730650230061ffae368deed4ff6f163f9e0bc381b29e1f021c9cd1e5f7f8c0ea9b4ad06a0caa7b4f4e48db21358ce163dacbf3eaf023100822469c96b6961f25d5a7ea0b5a11f3a2d3e70f8146d6c6893f2c7c47895739aac7e6e2c7564e54b9a6adb0f73f751f10302047c435bb50066306402305ee50f1c2022c40226cd33158b547d586119e28ab2842b936c32a8a243d1a693dbeb9058eb021aeb7ce11ba390cb4da902307f903d0513f2c60047d43f43794a1955bef4edaeba5f0f6fc57983e2a504d15ac74e0eee15d13aa1844f48464f5f6f2b0302047c435bb500673065023100db98e3d785ef56d18ec48344c6583aa509240ae65d3ee8c2cbae9ccbca4ae1c7dc5d33da9f71de5a1f935d22209bc4960230357f2bee0930a8d29cbd9ee415b95d78d244104f6f94ed0cda3232f80a9b1d71b889d951eece9d37ed377885708bbdaa0302047c435bb50067306502310098ddcd40b6c261d675cfdc897164a2416dac681b2f21dd8650e14edc17b4b360974cb802bd8002c777d52938470b02b502303ec690ae2fd3260c7d4d40054326dddfe48ecf73f4ce37434a8b8508b0aa8f20b92b53e958a347dd6fcf3d61dbbc5b1e0302047c435bb500673065023100e5c76a9299344102aa7d6daddc02920eb0c628cace1bb09c95cd36bd031176fdc8d9f2aee7d6d0ceacdea45bef05b5f50230381dcf18b4dc3587f68f885cb61b1391b75649774449bc002416514cb6d5e47683ee21e4d6d83be3fe5d625315d4a1e00302047c435bb50068306602310090dee2d9b32ab892adebb020f0d8341219045d281cc7afeee9adc587c85a87a2cc4cfa2e7828494df61fa13040c2f91a023100d2796ac3970a7662dd5dd5c4fb01c287e2bd5e155d002be915de099373f54a1a602d7f9171bf244c921bc4d0aac323300302047c435bb500673065023100a7a488917a53121ad10da2128ebf606e69249e9b0abb9dab4d33991857527bff2610d953448384c9d0d11447685bef9502307c29f94b61db54e25fa7c5e438575e5bf2e3405ad7e541d33854d14ef65678e82e220ba1be1ea86a3077fcfe780ef6af0302047c435bb5006730650230559bcc4d72d412e7a313067afe8ed53c02735a1da43f0eaaff8c9f574e5323c0bedc7e69c5187e33eafeb087fc73f1a402310091c87aa92ab28fab2fd24446a189bf162ea6f94d6e3a857c9adf3b4b972ed466296aa0248d59e6e398752a95aae6fc8a0302047c435bb50067306502310081d2d5a920fb4bb02b91f98e8d4065d2c965b50bd499387a0e43c3b0ab0de87499fa9a7a45518581726cd2abfdc44b5502307a48553c09369837f36a4d362e36128044ecccf5ea2d6d5828dfd08c3035fcf2f5ac1c0c1228ce04726f390635d045370302047c435bb500683066023100b873b9adb970a9de9f2f7f01bc8a1905fdeed2916ac2ac0ded6c742def3c608e38477e55e9f53f60c9dcf86c2cfa1da2023100b23c00857f98780a262e5f52ad241a34dfb2d6df107ad615448967328c2062077bf11102e6e943a241ca9e007ea4d8d70302047c435bb50066306402307a00d162931cc6ba36e942999101fd4cc2cd52216cfce6b4dcbcdb0a9100997071c1298073fc336744668a908b14c6ac02300b8ad8f43f985af2057acb56ced6ac8eae40110953081f6d478ea23d114ad07465c6b994005ea33035334dc06179f4120302047c435bb500673065023061ef49249587a8218fa52638e950ddef2027599c1f97d13c6b107c965991b2aefc0701fc7280fb4a594e14ce58c104f0023100f90b76070bd800e83cc484d5e206ead42462974350ec30e6f505d061265e727976f0869ecfde275fab65a4d063e53b610302047c435bb500673065023100c50706bc04da8e988ce08e162e663d84e6ed840aa32215b7ba2c0be361459e5dd93b37ca98daa4951c3928cdc3c3a1d202305a796474986929f07b5bb2e4054eac129d2a353bd0ec930ab28b41841a7431d4cd903a4a72103ccc3b58968e80d0e4690302047c435bb50067306502300122748209ed6eaf9e3abbf5c1cd1c3ab20212069a31c1cd97178d21e5d251b30273578217458045d41056627091a04a023100b3df229fbad795b9b656b9f875686837cfe90b23516ba42f162fb4ddc3553f037abcfb15079326446aef2d86ddab595a0302047c435bb500673065023044b6ca9cd3f475ddd0cd98a7e5a38942d6dee726a93625625524064a4fb722ce3012527e19b2cb990427672d1b0f6628023100ea1d48a166d48f38c9f4950d8f02c048cdcdf4acb08a45d70d0e4aa0ff39a9d6ffcc6cd064b1aa944dd2cbd96c59afdf0302047c435bb50066306402304cdf8b75a4f72db31f76b18b0c0b109ca8cdee644ee62d2bbad573ae90eb026cb441c5ec9837653990215b87a837211c02304bc6341e84eaf366c75e0b04f5846cfc5f0bb52c8726e1abf1d57a474979b4e18d3163b70cc29ec5f51f93f863c50da90302047c435bb500673065023100b67ed17f73b9b6f01b4b4649baa28d8daf48b0df4c16b58624e8645a9b8e5efea3f97b532e09048429787d2329b2dd8d02304398357d7144425a19d23528b5569118d1094ffe08c1460b6be8030c3f72fc08966d316f51f0ca89e6ab172c246904e20302047c435bb5006630640230119d6fc99d0ae472e8b0265032fd83bf44f6ed903083c6e5fbbf19a17620e74f0eaa9e3a32206e49fb207ece4c1f349102303e3a5ca7a3519123afa323f73d4568ebe24835047bf1f141b1146dd54a4df886b222b2719cc8a741f432551a0f80a89d0302047c435bb500683066023100dd5f3e70f36115c84d67742b50304d8375f4567ad96d7b429e2a620ce8dfdc7cf623be4a59f050cbcd03ce4360e1b39202310095eff5be97207a56063f12b2bb09d89a2b58646164405ee313a93f2b0759617f61a14be1cc038c1ca53e264534c139190302047c435bb500673065023025fef381efd5d1c876eec481a7a696075abd72fd16a50007566bc726a9f6a2dd208d7bb74310805ed701b6c5d4fd5414023100cbbfaae607e00920ff90f8a8357e1d0d5566f55822dc1851b716b4730c4fb88457366b7dec1f32a627cf187b85d487760302047c435bb50067306502303315065595d4c56ba0bf8dafd9b5c9effe8d6e8082ee0725590f4a62bc5406987267222e6ac529ec26c95046b5d8d643023100b88ad6620fff97adcb76757a10f10056da129d4580f9a8be010582dd47b39533742783d42a7daa1c410ae321927da8ae0302047c435bb50067306502305739d9f68081f7d848dc481036866989fdb4265c45bfebfe1f210a3a6b228cf440fca5ce03626a69fc1bc56b9bca0091023100d6820f8220074979621284e82a51e30d828b89a8abf02413bf33262083c5b0268ef49ef09f987328657806389d3ad97a0302047c435bb5006630640230697f1e2b08a2866c6d8abeca875f72d1a51b283216eb54dff5955aa47aadf005e853026a18bae2d85c9067387488ed0302307426f7f11d8274c8f4be503b183d032847e6abcbaaeb5cd932c5fc8b44e53b5f7759ead14b82f492fb2ed87dffc59c6d0302047c435bb50067306502306dce784031cd4e75e5b860f2f7cf99c6c8c908f1f1abc846fd7d6d780c55ea8c35e873440baa7bfd11640ab4e8e4ad5d023100d7d1b171f7bb8af492288d98f3618790c2d544117d6ed41b25cef9a2a57bdcdee1ab87b13b7551eff65cdb260fb1b96d0302047c435bb50067306502301a23c1fa994e394ed7aa2360df131810691e954679c3f736096b49cc228acba4502623d349d2c43cac4cc6cf9495de83023100f5fccf810690dc202304eddbb56ba301ece3b1ae7b1491019a8b03918e22695253cf9e5c4d60c533ebc65f2f1fc37e0c0302047c435bb50066306402300e98475586127ce211ef9b1cdbf2f849e5f399c6ee26adbe559bea5d14625a3d37c68186f71e651ab5ee88f6bb65ae2202301943f7212d654fd64d0d5f3c5e1b2193a88da9b639792e331dd32048ec9a72d4e5bedcd42fea7561994e2491608b920a0302047c435bb500673065023100e73ba597b9c6835c0de09921f0b80c30ac72d2188b06baed375be68f1742d24f12d87dab4428038ea3504c4e22c11ffd02305a18e14124fb5550e32727472d6ee5d70153026f8ecb2434fd7b245f66644f8f2dc1366f2c8537f1386a88862a46a0500302047c435bb50066306402301f2e869c56037528db4a02da9e8d90ba6b159e18a12a657f6e0bb88ff8c724c4e89c84b73baf9c341f0677e99eaf51f302300d7d7707a3e4babf0dd33f222b34cb631f64694f84d432bf4c84111fbb45b0baa6e3ffd9a8135f4cba18253a2a4631670302047c435bb500683066023100c238a6b8241bf6cbceecd4b8a3504a7ec385683ab25bb011301631c695d6ebea573617225d940ddc88d60e3eb81f2292023100cc6ffcf26b8b92bcb869c6a31c480ba2199abd248a4bc8ea207637d0807e8c63a6216cdf8054adb5fb8c15e1e6303d1d0302047c435bb50067306502304132d5452df855e775306a362934bfac0be6d713a7b8d2e0a6cb0905d59ddb42ef9ee895869aa40e384368c9ca400668023100a2b1fc16f5345fba4b2321bbb678769a1ac1a37cf7663b22603e7da6bfe63ca58f1be9582beea7a5d10e5195f6e155fd0302047c435bb5006530630230324bab4f4f3e85ee7214310c640ddae97c4554e7f53939214c195217aa5cf71a70b8bfc11fa25408413dbf8044f447ac022f4958fe1e8b120574f8dd4173e6cbd7a52d9eb6ce1ab242bd2b5ebb4e1b0566d4e8be7dda0ad7373c995cf51b7ac8200302047c435bb50066306402302f42965838d266d80ea0bc99c1445c38fa62634a2180dc3b543104341b75c5d91586af8fbaddfae3c6efb439044acc86023019add9dfbef1212cb6932db7aef812436c2d3acde891ff43d18947ef7782449eee1f2565f2f4c69944cfd53c157a81350302047c435bb50067306502307d1d7e96b033e82be8c21aa294ee85ee264bc75250554f7cf789a16fb51c8a62d7fdf18bc261df6fe72e2714892900d6023100c78e45454f6e5d61a23742399df31740a137d5aa928c4941ab15b8059b125519d8f68424422a9fccb28046ce42dfb15d0302047c435bb500673065023014c8ebe011860949aa0c5560257b3d1cd391ddf8f7d524c4b2b9bfe21ef35579db22b6946b57358864c33358ee5e6e190231009be9b2367ce0b17867f78c39a8be755ac86d7ba15de9e81f0a5cbc02b9e1f7b7e1a4369420763d5877b46b213a4aa5440302047c435bb50068306602310093a951e925093ff0843a6b8b8bc9abedb33d42692acc2fd98b88dc929656f1da41fd3de18c496e8572860aab1d248625023100df4a462819e32c5376dec0298c4a14ca49598aee6cef1c4035a4d0cb59a9af68124509e2f21c9b3b8e1f10b80fef956c0302047c435bb50067306502307a9a78ca6f88be13cbd79f431fe758006a1097eabeabeebaa2a9a5aeffd7d37fd2c5ff4cc1ba6a011e1c9a1f9916d9f4023100b40432263dbb0c5a7bb1082cafb000fb0d66da7c9e3a07e972bdbaae178e76b49f6ad7676efe593dc1580e4a53fa68250302047c435bb500673065023037e1d9046df777453509cb125e60f7595d898278a3fb7bfb3232033a71b8469c73af462233f9a1c714416d00c283da0e0231008923d7342140ef305c13d0b4ec37a3045c39e7f91d959a07f2c8ca9690d41a8e9ec921b4268b364f3ea776ad2d5f3b0e0302047c435bb500663064023020ba46c0503cc96bcdfb007cf889868a3f790f2fb71d6a93dfcd4b05537d898db09277ec82fcc4ff4503317dcea44ec102300aa42d77c35b6fd842f5469a57e80ad5257506ee09cd009b5167af0b872f3ccad583052cc60cb53ec498326298832cbf0302047c435bb50066306402301dbf1420920d58f0bf4182bf36a07230127f8a02c25f02c5acf1878019db635edbfd4d4278250d8324d66693364702810230235978e285747717d3f98a8ab6a60b74de981b38a3545d79a8e15e69838d478f9ff6d8853a68d7be0572c67a6da06b000302047c435bb500683066023100ef13f826a108bd27150b86a944a2d29f5ffd0308c09ef8380b363832ad4bdbd85d9a9a15a1b4d98901f1f0052b0489e9023100b21f330e78475561dff41b742296d8e53414dba74e478848544371d25ba8102d4bfb805350b6cd4f4b207b49375050e60302047c435bb50066306402306eb81ad77457a28b432c2c99d31b737c0fe15505f8abb10cad3ad69046ba90e61bb7662811b8b0a883dc2528dfbf3ce9023032eb2cc8bbd5b5a87a974ded59caac18baaa44b24d04c45614847d03d9c13f353ae221450ad717f16090f13a08c30c980302047c435bb50066306402300c902108e9ff42587a9d2e04156b9e1722a048527d827d5f7e3b25da291eb28c79afbb97b82d678d11eeb8f779c0f21b023010aa318386194d3031541848aebec68c327a50ad3937ea76cbae4da9128f14b3c916c533948a39271d200be9ebedc7f90302047c435bb500673065023100aca63eec47482c033e76b23267dc30d9318405811ca511d13f718ca5a27b5267f70465a2a79adff3d4678d4cc1371a0202301128de5e71e8b4f79f42bb535cf8154e37a752036de1fef0c3278dde6d562877839059214098769ebda31092873810570302047c435bb500683066023100dcf7cf304dccc06a2db73f335fb7748d979dfb4aa13b4968104ea525b2d713d28c3ffade8d49d0a11d549be2937a31a3023100887f575e840da58586794f0ea93491d19c3a1274de1daed3286e32dae2f52128253e098abbc1865d3624bbd3d0a149d50302047c435bb50067306502303412e148662544faadca0ebb9189756913bb3a4780848dd27f83b57d6fb001c45a98568b6072ed4511c3bc6061b7d9fc023100c55c9d6bc8906e236661e8fbe354f8b5a3b18c0d5e36464bfe3833b64fb212eea9b73fb45fe0e10c50c8a1db902d26e90302047c435bb500673065023100bd1ff10cac84c26872128cfd7103d3a1775b243077c2b33b888fdbdf7a49bc5f9c508c1c9faf8bcff860c8961dce329402307485d6ed864897331ef548e2c081f2ab357c7637ce284b6fa9dd4b80f9718196cb03d35409e854563b3bc4e3721a6a780302047c435bb500683066023100cbaf3e0966ed254474664e8963327e86282c6ab0678e3d1e40e4a83a1836be8be72d903483db0878c274dc070bee788c023100b5be181de66a66df04d7f0fcc6bc299c0049669b32262188d9f5b57b03a1a912197af57a185e2bf5431ef19761010f760302047c435bb500683066023100e0d740f01de2f6e076575cd5aefacf67e43ebd9a8dd36ece73c2e3612270f58498f1048138211d122bf41e676691c507023100ee8d1646ec1608b635e76ddcc44412c0042de0b4a757cd77e07d9c0ec40fcc882f0847f7f01e691bf2d749a1d9ae5b3c0302047c435bb50067306502302eae5ffede23a20de5bda4dc08884bc32e9a8b96892c6c03c89485070c6b6e658fc960543252326c1ea96d619106340902310090954bfbfc391b5fade20fef40725eaa142ee48ea2e9e25a8e8f828597a3fb0fba7fa17f33d65ce1f25224e089d48e1b0302047c435bb5006630640230025be96e76006928f0a9b3e796df818bb1d96d87af59208c70fa375229c600d921f04177c7199cb755c417d07236acaa02300d030ca64a58ca7dba52f7483bc3fcf2ad3f34914d2aeccf3c0664a777efa9dfbbe0dda3bca7e5b28b1efda85f1393e50302047c435bb50068306602310089a24cd823e16b4543e60cfda153f7f99610f8924f686d17830bb615b1dd3d20d33f9570143170992612d2eada43c4cd023100b5dc76a4cea38a955451b06da751500bbdda4dac334b6a5d637ea1ac883c83422beed33fcea45c26c76bd97de08aedf10302047c435bb50066306402306a48e3bc6e09c34b59dc6dd2d2b69c3333eed5d8c49f4b2aef5c2c9d526c58c38d10873164abb6ee4c067377f972a0c8023078abe58a998f5b37b8282db391093e2dffadca7426d5124afb71b95316d6e2d89b3718ee0c2bc3fbdaef4f53bd9e87f80302047c435bb500673065023100866f3089b2c5a7b38fb1bd82157ad92adc601534dc17d4f104ac89b400d7085499cfcb34b5d71a76a7dd35d76c3bb33f02307d2265fb7b30d34d22186db75b700fa1a1c5815f29d561e655ea379b5d044ec1942e911582b817f8d927c00f7816126c0302047c435bb50066306402307fea7faa07caf0ce7bb553ea9cf103b03c0a3d765c392f77cda4cf06729dc2f6adce849176e166f351dfffe88b4958d0023047fc73645390200244d658ae6d2750a486737e7f1e09cda93b95e834b216c9f2fcccfc6e65fa7a987044b0bbd5b491960302047c435bb50067306502307dc0c8eff5b439c587e2c3ec677ff897ff34748337d4fce3f9cc6c3575d64ea2c26d1cd75168160523ada6514b727077023100ced4727346749c6a751f32bf386057c76c106a0d546774e67b6aaaadeebacf81d174d2effa93217e05c6cd2604dd04000302047c435bb500673065023016a6450d849da7f0880ed98ceba9e97c0910696f5f7c7149fedef14a97206110b27a088d5882efc0aa8307d15f42a64d023100aba7ec29eb03ed5b8adee2738bf469f1eb3335ac86a249ff8a534f8278660aeea6b99b7a14ff1cea646b20770e4684b90302047c435bb5006730650231008dd886b84825bf2557e6c1be31d341487890e975d2b581f6bb47a4fca4c86a67056fc841137f7586057c0d527e0710a10230794f0ac92db51652b1998d39051e79ff3474682d553aba5d2c06973eeb341e12ba8d186fcaeb414e987b4824024577590302047c435bb500683066023100c0a2d6f5f529eee77b4bef667a3b59c6fc90d9f082f2f035b204d7add5ee40c3212f8417a97feb2f47984cc906ef0214023100ef980ce59c67c3f2fe6015ab530d9aa2a510711d0d4adf00069b672b577d986028b9d12dcf4363ab2c19316c26d9f7120302047c435bb500673065023100a11deb007b84beb492ce8495e3194f09ad90dfb9997fa54edd67be10b70e73724c0abf1bf9dc24cf18132b9e7a729c21023047962e8bea0a34747aba9b70d71e733b32211bcb1a008f24047b33f9d81bd015b57ad6bd23ec9527190c8141482b8b4b0302047c435bb50067306502306b3f12de9de142c72bc953da8a9fc0c03d0970e7d318131d500dfc3da5e3715e9c8e5109c4f401262d68fba64fde47b50231008392fbc434c72695396a0a6c2a487bf936fdd8381b10c6665314d8ce0a6de986efb5dcdb718ffc0cb1eb5a173b3490050302047c435bb500673065023100b77bc0666644f4125951ea5071dbcc77498e356dfc8335a4f322ea7bd735ebfb98844fdb3301cc4f92fe6e1d6450bc67023024158c41448d9d0625d9eabed42afa84cfad0ae02c6ca9d296ec5f67eef25fb1ced455407fe0cfe58c461adaa9cc0e260302047c435bb50067306502307eaf5814390d36e1ed21d1180b2b761cd9bdc0c97065bc93e0be0cc7eff37b0a3b4e804c5403dc40c2ecf6a28ef3f311023100d6004418ce8f6ec9305bf7923e26ba8df2893665e8707b544bffeafbc20858e8e71e427b35f8c755cc0aa40683fe53220302047c435bb500683066023100f82fa82649e718cd2870f0490e0ea131b8b74fc4aa5ca5bd656ce96e63ec940e0fdaa9586e23fb115a096ff4b42452d8023100c18c1929611fd9dd9f46d5d589c2481bc233bca1e3f14aaa3d7245904a04e939ad9c050c5d6827756b6e2a197aa9c6f10302047c435bb500683066023100e526aab9e03a9cafe61d8c6fbfaa7777864be64186e4910f4667fe1ab0277a99e4e78953d830a3abe35d9fbb65dee7d4023100fdc5501e83b0cf2c71f1251913201707a075caa4051322855099a9fd4ddbd979b332437840b7b78efc79fcae940e8e770302047c435bb50067306502306adbf71fe57c5b1d2dcd31630f942597f22a701f306a201f64000704b20291c91846d1535110b1142fd396d4086b05b4023100f728b65b142061f04c00571b8a1f0fa0168be363aa9582355c8ad0e8d606b601f213596fc93e873067d77e9f8292c3020302047c435bb5006730650231008a637a1780d19cdffa8e91830112a76b5cebe1858fef7a95fbc52755ef5388160d285282d8e25e4931fc2619bbc3116b023021870dcedbfd5c1f58bc92b93e8cb605c776d7341cf66965e00c184d825f32a49addb52894ce8f2636f285eb903a098e0302047c435bb500683066023100e576e951e08fe7495c10efaf12e14a54efdb1172f45977cab9afc02ed28fed211b3163f4d77f2a01e2e0155760698b8f023100a8ff235dab23e89018078d9d08024b1129ff72b0b430e9b87010a9da7e92d87832c41866372778dda6dabeec8d85d0020302047c435bb50066306402301eb4334665188840d7e6573148801df5f322e5990775e2e53e09fd9ec268eedb577dd97b7aa28ad526c427ed778b99d402300e1ca045e83e89157cc32e668ced548e18d92c1994f826037eb452f85799f9724555cb818667995419d212d911b5a5420302047c435bb50067306502303719d555abf335762eb3c6db789016c47b19e73a747b0d6885c0225b3c6f6341a2509f74eecb4876eed3268acfa226a6023100b8c8ee599642ef593720a861698c01fcd57ee48f48fdd0cd236b5ef99e69c77267ba3f5117b1862e59dba304bdd231100302047c435bb500673065023100e5f2be5ea6e32aa0ccedcd1e69e04934ecde1ef7db6c5b64ffae6ef2827ca241e1503cc8c796489152298205bed3600d02303446ddb897fc5a99d6326a8f2c2752690be0413b37a886ef12a4b60817356cd92f8886aa9d1d99815a6afc18a9d1d9670302047c435bb500683066023100d6437b2db478040f542e3cfeea676a3de25bdd6b53d3189f9704de494068aebe090e19b82cddd35851852804ff1be38e023100b9e9bcbba669cc2d4f973a401289f2837eb510575db45b8b8d36c41b60a294d3d144e313ebfb101400ca732674d973ff0302047c435bb5006730650231009a581ba9ca1aa3421464b19ba7ba202fbdf5fc3591a8ad09f4d351f0dab2297fb5cf88894fe86f416c6afca7990a75bd02304fe6291340ec3daa186e5414c0540c5e036e2e14202c4d02cfa9bceff2911488ffb8edccc8100b4ea727a5b14645671f0302047c435bb500683066023100e4f96ca65b73affcf4bba63db07dfef3f9de399ac50ffaee67fa296becdca70abf7b81f15434279619cea6a9fbc0f8b8023100e0caea865e189996c797db1eac74d4b60267a40a81708f02df3f061308f1072ef53adbf135428865ef924bbbb10586080302047c435bb50067306502304cdb5ab6a25e42497cce5943f8e1fb5ffdcff42acb74cb8f4f43d49cf80407e12d3af8443473f732ed8e5a318c00611202310081fbefe7b8989ffc548cd5fc4938298efae97ab1d298519aaee5de5fd1ede59c4459c01ccb4c91e22856795311e32ba30302047c435bb500683066023100cf98092981e7c5197a3052e203a25cfb13e1c306a15ec147630aceb21bdc22ff3592762be485e45c4d59d9afdf1c7963023100e26fd1bebb7e8304d3207651af79c406e464593da5eed7e89343c7a2779f2fb6d5e9007c9456d250d543d2c55c9fca0c0302047c435bb500673065023100fc663db15b115112458b9c8b87a8c6fb541dd679500e9978b3110f4fb7cd0747c3242459f55269615da664b0d9f1843202305316b9cffc340a0a3b1a3dba77ec0a85d6adc6bbdb84a0b017f711f26a0a7991993ccee5566091bfa5b3f23f6b4c4d050302047c435bb50068306602310097a623b28a659bb91af0365b386ae5b582c6089843b84e0273a113658ea75a31abd10aed576bafb296c737d37ad7f83c023100f476da358d9a202414c04aa737d22388fe55a242e364f96d46c9b1957d8eb252cf1e15fba043ba28ea2e12e29d9fc5640302047c435bb5006730650231008c680903617ef9da7abe4ae6f6e93d3dc56af08a29bdfb403ba57406f90b0dc31cb0198a90090351ef8dcdc5f7083cf60230095e9afa42b63666cabad477353523ca081bc02ed6fd709ad4e3e58eff462f330d28898e373c3758177f53a5ae7dd6240302047c435bb500683066023100e2ab822711b3c67675f0ba882d4bc9ffcf83c10db6d1c9a4c066d3f6f87f68d79b45aff131d0970e9d66d6aaa3c6c32f023100ba03ace2a90d60db6a8e7cbb948d0faa09a2e3e336b9ca2a9bf79d7de43f8aef4f94f95f005a932fe3e21b0356deec590302047c435bb50066306402300eb0642475c7adada21b512873571b089f98069c84b8e124ac01b74de7d4d4ce82726485986e4713040f955085394bed02303530f9bb702a965100665460ccf8d401ff60b2ef25478eac2e996641340f443ec6e5e4335efdf0983209dd42ff90ccee0302047c435bb500683066023100eff1d93420d64d6572719f046125e21ffee13ef9470e5ac8a25b66b4ea2c104b5438bfc9f1bc38edb2ed9b7487dfa3a7023100b36af8a1f96aad6a3eece2104bc717b161d42467e225936fc582500cebcf2b6033af34539ba5298ea1f4774b3b9010f90302047c435bb500683066023100b55a20be8aa6b583226cb224af15e07a90174ffe2581769fb88b04c121c3edb1d88a2138869b39fdf8035bdec3643af2023100bd0d0cf203fa5b3e95b5f67578e2ba1fd6726f888016c1e1146c7ac04aa35b814caa00d77cd85e4180b395f5e5d5776a0302047c435bb50067306502300905db568fed40024504154e4af8398f2bf9b7dc9ea3c1e9299439eef84cbb81a801d2b305231eda79aa3dcb0f280529023100a9d3a6a3c7b3a02747ea795e773942581e223b2e010d9b603f0c2e13d1aa6108ad682c5a1b937a316f84cb196ce031fb0302047c435bb500673065023100c60b3bc38a9f63c439b47ce77dfad86ffa150138d797fcefc12806c0c77b85790e7d9e286aadb327875e867e9d17c00002307ffe58e5dbe5c794f24f620e21e99556412f9e68649cb4d56d141f206a04a898cd6a8373e39c932f3fcfdb95e9f5acd80302047c435bb500673065023100e22f43b544b4924f9ac4db93e18d4956f25d3afe1bd2dd71be2abfe5b0a68a9d2340549c039c0c0d40faa545c37780b902304f83cc97d3853c6f766a442c1fd434ae32774ee9ca0049c0cece857c1e40ec7537e10417a60c17b7580cd119c624c5780302047c435bb500673065023100d7e4f6a801554c4bf6a803760a7f2efb09876bb658b43594ad71213fa54849ac98712a265d6f692faee5f280d930a993023073f439c4bb3509519e02d791e315ad2e8ad645e271aa866899deb1d25856db9b9a641ae33c91a9dd39af93b52d3d6fb20302047c435bb500683066023100b5b18ad319d0fe2c0146e42d45b2b8967752868403614693567e2712539f592b1278b625b8394cb44244a394a214a0e40231008a6c407924f51c2f15c042cfce60d13cddc873fdd635f62e7e0c37b74ffac4883f2e29334772b054f6574c417452f0ee0302047c435bb500673065023100ee62290fff6c6fc0bea02398a742678908f06bd46c3cf51ac86cdcfeebab0bcb09831048d4b42e2116a97773ef3035dd023057350ea28e5288791cb596dbd1fb4444937f80e1583d563e0f4e9ada377b00e53a796dbc62416011a7d4fd37e5a447cb0302047c435bb500673065023100aae8b7acee654aeaa2c683b528d3f0f8f0186527fbf488e5c165002094ef982c0f5ad666c7b28db8aea7bab6181aff9802300688c9d011dab521fdab880d7495ab95b30f1599a91a3372207fbc8746fc8be65d9f62a3c331bd5e3acfc441fc68cb060302047c435bb500683066023100f72a44e9ed8c9ee71cf8bbd2379a0cacf9e9d8ceca4e9e32db728ce29a9c8f9930142f3f905c7f149b6c673379b7b0e70231009851bd9225f968aa5873363ff7d838f062401991266c41d81758857d25277a5436300aad51523372dd02fbb4769250fa0302047c435bb50067306502310092abdbaf637fd6d1fbc132286ddb22d6465e528d3b72cbe60f1caeaaf5fed008f123d89fe019cef79e4fb5910ff18a070230046a8d36e6be2d2e83f7a4c4cef479a577bd0e3563a1d4daf4f442b71ccb54244179518d3916aec3aee86bc424d89f7f0302047c435bb5006730650231008960ddd5a5a372f2c55d45e004fafb0666be0b78fb97f033bf1cf485b771f38d065b225bfd767aa497b4cb2fdb380d15023051a381a627c377e374dca92a1ed74aaa67fc78ed25534cce2b577f71d5dca537b2cdfb93c9669888966e2a5cc6be65410302047c435bb500683066023100875d5977c668026531f38c21dcaad2c53e86f295f88f8eb92ef0c91ccce51ebd10b7139e02abcce1c08e287df1429845023100941faf9792b013d52207c4f5c213288e94d6b26b5578a9889479373c4e03a9ef0396ce33954d9b3df216b21dc0729b450302047c435bb500673065023065ed434384c7766535066945e5dc815a9ea748d2617334debac2d0a53895a3afd8c28833853539232d4335222606c189023100dc3d8d048b70d62ca3f2037e9c4b907bc7daa8eac97d435fe560385e332a7001994ac288ab6b373a8301f2c70f040b4a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230380ad15a9f80f4f10d85b0389d4b0c84ab2fb2199eb6a0334c73e42b815f7061dd60d6204d15b6eda28fa3adbda594e702304d23876b6e7134fa7907823327e2061ab4b9e35e0d3c09289b0d6000d57c815cd4f11bb3cbe16d0ebf115a71a9ab92d00302047c435bb50067306502303c4dc40a2412235ffa9bbab66ab6cf74a2a18369ec42fab9c5766be3e6c61396f421d0bb9d31d9463523cd0772a3c20f023100e819fccc7fcd866a5b39bc4578fab9a91043f1126e94db1c1199ba8fde306c5eda314e955121356f3cbff7b650dd26bb0302047c435bb500673065023100b5d481fdc50fc76ed0814d08b316d9a7d7b27d314369e8b3ee3ac48cae0b5a1f0679731ff836884b692f5847d6abd51d0230424257dfda6bbdad7519431f1b027f5a81356cf4e6417e0552aaee47f5e0ac048ab0e70738340bcdd98fcc6d15d9378a0302047c435bb500683066023100858938b9c6e3a08616c0d5f75dfb40ce376a0fcc51a8d6a253e7b72cde7851074ea464d940f6fd15db8675056b08d4d0023100ce127b04c676cdcf837cc75ca8a96acc2bddd6bb723e58efdfb1bb5b3c60dc6f5687d4fa53dd9e463680b9cfc9e09d3d0302047c435bb500673065023100af50cfd569c69e83fd9942e5c290062487ae51edd67faa1d9d877e30fbac9826a499add75205461fc7b7e5ded39063b9023008d731b60f71070526915006586fd9b4ee088c8f8c1a30303ce6b99539b439b44c6ec1b10323766fe32097c3b0f515cb0302047c435bb50066306402302f890df8b206bad2b839a4680d024b9ca2589c990e22adccb308256719b174e4eac65db01f139bd33dcd6196c29cfced023067e3583a0eb00191782cf0726d00983131aef44c665b7134a636b45d0afd7f1a10c727854dee4ccb28e2df5a2ee1e4630302047c435bb500673065023100ea65ed7900f03df2eb33deddc33105361f43a8f8aa4c31e7be0d580e907316b563200dc8a78e5c42561882dc19191d6102303507fbf0ff3423b6e522c11c5b49a2809592042adc9fad24ba36de71f7cf1fd18e40b9c1884654566033a0eacb1bc8b50302047c435bb5006730650230085149809aa51a7cef4a8b498a01325b4ef88643e969e81f6eed5cdd46ade1f96e6b99e3b3c0ddb83558a2444b59e81d023100e2cb6b43eac4186e6198a30dea0b07c33dcc73918e86aee11467e15a946d87325edc79aab8880eacad9f214a2ce37e130302047c435bb50067306502300d18361f956dccdb413f05dcc249bb76b496ebb04ce572fd1facea6e1807e558ad0f895a598dab70da83d9b62545f45b023100dd02c4710252fdd992ade3243c13016c2a5abd9fd77d8c797ec4a2d04a3232bc3a83b67d9eb0213fb13462df770bab3d0302047c435bb500673065023014978475e6ed1dbd9d0a063dd18654900d65839ecc639acfd49cd799a7613a2029854809b7973c3298ef9dbecd362d8b023100f4cc1ed1a4250c1fbdd7dfe0861fc85b1f5e0e998368fc5a178f999d341834a3bb399b781a12c7e6150afb9b2ef14b740302047c435bb500673065023054eac9470e69372c2854b971381812090307aaa2a73eea2afb381735a1b599797933f4b2e2878ba22d28982446fdd82d023100c472e2bfc21405b826c9bbd3fe1445a4270c8d265a00c726ef9a81f2e682547a453abb791b381dc3668ccc3f4619c0060302047c435bb500683066023100ec86d45a7cc7c276703671513fe48963803fde84c0c332ec2204d358fbb326d82e4c68a88c601ead3325df396b40a7f3023100a228ed68a71527b352002b6e4d33e66eac16eeed390591172a7e4dcb40117789892c14419070186d0df89aafd3ad21560302047c435bb500683066023100af2df0417bcd36c1db3adbff0f1337e68ee7b8d24274e44873902d9d23719ed882c3e6228d1273ea29dddbecdbe04de7023100feb8cbd639032e2286375d80555aa5704b8e0d793448e99b1001c49925819bbd27a259178bff4349e7dad5850af9c62b0302047c435bb500673065023066a8dbcef1a0966e92cca6235ca19ea332ca05c4a04a3e42f880c7631fd1274025ec0b8a84b4e2a1c95a66f0e4c75c72023100d51d6f87a3f1b08c849fdcc2a270db55aa5e2e0ba8bc2015a96c990b446688e2c16d250e2fa42158454df1715c22f4c70302047c435bb500673065023100eb2d707fdbaa7869e569a7387b7e0a6aa07928f9157cffd6662620169abb45745a7d6a756a8a2761619b508fe13f4f2c023040c1ecd3ea28cd205c756925618790c0d8a90a5cc3eb028534c4db50bfddea38478575fc069d7105c3650adf216632590302047c435bb50067306502304fcad8c8730cc7f750dba1255f55240fc2718ce485f068f0d3339abc6e24e2d46901ceedc72339dff18933ba79e6cca00231008618620343bd2c8be855735733324728404c40265537091e8e264238875e5c3e503e052c6465479b53b3443879518c790302047c435bb500683066023100c9a3b03cfbb8e10ae2e4c0a3b2b5d7ac302ebc08c7fa90d56c479b7a14620994fb7c5f8a8b0146205080c06e9ffab28d0231009ee6afae97eb6409cda559eca9adc1815f5baa1ff35531052d24d9a470a0b02004b1c8ed0dc5e97a3c77c309e66f41680302047c435bb500673065023100f41c80e5ef0c5583dc5739f9ad06217ed2b2c3578230f6bfe4763f61d3ea9d1b610cdf8368a671ca256be510bbdfe11002303172abb425fa8bbae561294a240ae452b4756adb60655e087dc9625152644f633c31122701b14e8630093daf213bceef0302047c435bb500663064023010035d32cbd79b1f5fba6cc933fd65fd84b7435759772aef0869b0c7e377b62fe5a01ee53fd977e6afb728bfee5d0503023006ff53ac49fd8b76dc60c52a8a70113faee273949efe635d51c67ad4ea127791317873be61b6f0d6c8baaf0dcbe579c50302047c435bb500673065023100d79b45272a590f385fe153c5c64034416f12851861cd9decc12f52ebdc331a8c1ce47016785ac4b47a725553cb5eb511023011de9322b44fc00b0a6408ec91f8c08c2f6b311e826951da61f941deca977e8f3497c8c96de800c34dd225c6976ce3ca0302047c435bb50066306402302d44d14f0d4526fe29f51e9042376c3f39e6934e4c8d625cd3da4f85e16d817272a1c49886677acef30955ca4820a3ce02307a848f158348b72acc3724ffc7fc08543e3096a1ffb3958fae6b3e043fae50f5b28a8c71f68ab6b097fa8d2fad91576a0302047c435bb50066306402303c99e5e301205e5013d5b20d2ff7671b9a5171f5d3df5781275f05f2fc8c6b3159a45d8e0d703fac2211c34a90d498ad0230043aebf2a16b920f490ce0ba85fd8d9302466f78d35cbde2cfbf4626fa23626d353189185dc89de6cbbf5b5eb75dcc080302047c435bb50066306402304189071ec8501476a6a9448c2241f909233d3ed7a2b0dc976804dd22d848b50cbb0d3785ed01df06d5a46529fb21119602301a305bc3ecc4e2d0929c86280cdd65d98cddceb551b2c5c133ddec8583fbbe8b254f4608ea09e6f2cd768ee738a5f1150302047c435bb500673065023100852977a0c0ca1bd2a180c0b2a798fd2bed9dbea3794c5dfd0f230998227d29e6c58ed155c83976022b25c84bce1ae03e02304e2bad958f8fb2fef2d7320c041f4c77df6d03fb591266d21d172975519b5de7c9f5e9c1072d022931dc40a72d5e71190302047c435bb500683066023100bed344c8794fc858bd96ce2f0fc16224026c66cafcfcdce400eb2aa9dda2400f27b2983bb6ca579b3e07e2d588afc4bf023100a8f034fef642903ba6455de43474f50aecf2a47722e212ba1eb5f9b67df9f47b26058fc3f229dc12f8a47729466c11a70302047c435bb50066306402305b34e90c2e25c2e7ce4707eb4925f64a48c1c019e025fe582d139db08162ba2d17bb48c5c3a791ec5817f575d0256e5502300ec9d911e23640d1e419cb6c8259a87fb3c92e1129b96bdcb69a7719217e4aab3f1a4e6258a7fc14c6ae32de1dd9f1990302047c435bb50067306502300b71ce58ae76d5f34980298d82b3513a420eac4492d55ebe55151f2e462e855f3875125d5d76739807037d1d940a40cc023100b4180b32e4efadedf43f88eb9ef25dc4c66ac5e2434298c7180d8c3f4354d3c70460b4493bb0eec45ffe62798f40f78d0302047c435bb50067306502301ae3b895b3e3410711bf8801163e32edb8effca28d30cc867517fcf9cd31a913cd5d00ce103d242b68f20a85df469355023100af41d33319bbe26e0d0ba5ab23a48d6e6fcd6da3b0cbfaeb11da30e9966fb28ac06e2d65f773bcb4433ffa3026a27b160302047c435bb50067306502307dea87b5c679bde09ae3676e2c693a42b25ad267f56716404d85935acd4887940b41483402d3080e26f176aeacd113ce023100ecebbc1b84891ccf5d388ae8880375111df55da9f4cc24080056c77c6e64da1c3c7e24a8dd69e882b839d710e2b8d8f60302047c435bb500663064023065cc80eb3aa72f6d51ca2bad89e8e5c16077c42ba9d26f9b1a04b09f89a67c0872c0e6aba96f58e12ffd58291eed45c102304ae092e025c6f1f8afed20825e04a7793515c10388149b42890a2a26e8ce9e91c29c8d20f722c06d5c68aaea95a023620302047c435bb500673065023079023af07ada50958f6154e8c1d52b12e7e88cf0401d42f7e93c9eab0e419be75538c6fd924cb7efdb24805a1841a829023100bfe207bafbc2bbcaf89b522d1b02704da32a7b7a73350ccdd1570e605f1e92cf0d943dd8d4ed38d75419e69b4d4451fc0302047c435bb500683066023100878e6bd6887915a37fe97d417d3c0544fa802c1ae7a387061ee1c0e78713ab38971439981c6bbb86d8dc456709d9b0100231008b7c9efcdd9eaf20d469b63c1d794a336639beccef04a65b2519f9f12101d9d375f2bfcbb4bd714359fa66d7635ddc8e0302047c435bb50067306502304077d5dc221648c11529684d9fe5334d7561337206057ec1fa67204dc73e7232b2bdd12b41e0cc9dc0033619a323aab9023100e636fdd4ff165d25a8923ded3d8938c370bc50b9899525bae4a914a007bae72ba45cc6a2f54c26991d092e756138d5010302047c435bb500673065023079c8c216e330a14292b41e26b3cbabf8c8349b8bfdd6dc23075442e627c60f89ff21fd4128367e6b90880fd7f6eedf60023100a3736635f883220a81b23dec222010df57341d988ff7d9259ce063da48ef9740930f9448a19664f937116326812a56550302047c435bb50067306502310092fe7a49c82b89716405e0fb1be082ad36c601e42b655c97e81614fc3dafda796c7301781fd589fda54c218f412b572802303f2801e4a2fd562b263d8dca71e23815a0a38d4953795ed449534580c5ba9cf5820020cc90522275f6315a4198eaec170302047c435bb5006730650230621167e10615f3f9333cbfd72e13d13b4222fed65c9da9ff6ef92999325e172d8446ffc9467b9d11cb44654636942f52023100c71f45c3c71cb5fe58f677e1c53733311f270b2ee77ba46fa97d0440a1cccf45c946c253dcfddb77505f6d23c400594a0302047c435bb500673065023100b82fdfd3f81957788ccb2e553adb41aeac928053cc094434be7337e2eeda9961bc746f832fabe0ad70d473770c852f580230478dd89019b2fae078d8a2362fddf494a74e9cda3bb4efcb2fc27c1743ee0aadd2368f53dd497ec692c7e19bae73ba240302047c435bb500673065023100f3506ea572ac5a08688817e03450cd1365c343a4b74fb6ff06618c17d5678a37c04edc83e1c85d7ca575d3ff29a8abe402305bd382bd06c549f1c8fbd2296618f7baa55103b58a627f0ce4087ae7f83ddd32521feebd5e77f2fcb8afa9b82e2238130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310088184a17e7838d4862b7ab71d9123c61352634294581eff40e246d0c50d95bd57b6fb72f25476eda8701f1bfa74ff5d80231009bfff313c4e817476d919946061b3fc39befd08a17d34c4322ac7dc3ee9ae6fed00388256690c98cc7df1bb35efe05f20302047c435bb500673065023100d9d61f2e77ce1205ba0bd7f133af691d818217af960b4d56ceee7d077dd342419de7d5c9ce6cb6e982f0e159bdbd99f302301e381c66c9f5a06113c4863d6e59c5488755b1c394d425d0d8c3027d57e5463b9142d3c2ab4075767a4c6380e4c677ca0302047c435bb5006730650230707544f3cdd5f82c2aebd0b5acf10e8c6173bb7386023c7c1be46a029a92ba8f828aa815319e8728700100ca342358960231009a76da73cf7c65586c3ae6650f3f3a78d5695fb6a80541742218aa1a24fb08bec17d1c6ebfc830f24d6ec42811c8a5e90302047c435bb50067306502306b98ac095fba55210be03a651728f0680c942a0550e0e783d0832e7262df6129f24409ae4d886fb9c3f7511a198653f5023100b8bf5cbf65cf1a267baf023b8c4e2553a33dd5651857b21c49e8e7babe863c2f82de957c8993a5508e469115cc0ef7210302047c435bb50066306402302dda462db273f17c28f2c0863eadf01bc23814892df5e6b31391113170314f769591853c021c06eed32a7db7c785f29402304989aab19f42ecd8bdcb4b82face47588f6704955f94dda2723473e0641c478d9241b4e53cc815e255aec5594d4989cc0302047c435bb50066306402303b75e14a7b62681f055ddee799dc9131b70ba6b9b6e4a4cd159dbfa78d6bb4ca23ff6b7f22d5827a36a5ebbd7189715902307063c2858112678d6991d1cb0dea681f7df83d9a6e410667b229eabb306293c0ef1e722ef25ea426b4a017984f3794c10302047c435bb500663064023012c306e68c29e6849f8e19e0ed4e47934fee202165385bc2292c7a330c80959ba01639bcd5b9c610f40ae38ae7807ba4023039d92491bbb5e34577905acf76ad4a27966c1ce61c220c2a8855b0263ba91faf2843020372aa897810b80ad83dd487440302047c435bb500673065023100a6800b6ad2fe7cca98a7c0978b01e8f363c6588f10af03fef5a06295f244ce147f1154f976c27628eb6edc8a736fe12902305c8f3c685acea7825b064b7d6bcefee359c3afe27e75e35afeea3b8f8b5f8736b669962f72a8a0c7fd647a7651dd79a00302047c435bb50067306502307aebeb526fefed9bcafc6b076eb7f83e4c6fb362424072c82151bf456b4658c6d529d633fb4a44e114f6fc3a60067468023100968e64229773321d6fdfc5fd296f2aacaf2efa5d886c210cb5f65be96f8386d60fd59a78aad255ba741d4443da579b190302047c435bb500673065023073a99b91c98f459d333ebd5b79447fa8454e077d55de289bd550c697e23edda83006a5f01ad77d97b8aaaa6f07add192023100ec84bfcc5d6e9450974827d31048588797191bd5053ae1aae447241f50e4db3eba3f8a513fe0721075995af1144789280302047c435bb500683066023100821661789b29bc2e98087e696a2b28b7985345699cc8c9463e764cf8fbe313fc1c0bf43c0099eaab67a1d23960e9a9d7023100d720cae86d5c7ec00281d224dd95324d6fc9862883eddc092de13679b8faf888697307b44995f6647e1ffd24f03bf6650302047c435bb5006630640230077eb7f6a1121920eb1a028ab388192108da1d780fd8310d09118238c32358fb5e56e92e26543454bb2efb41fe75c31802301aaa52d485837461bebd5dcb972f4104187c4be1b7f5b1cb208c47ced2a8470555cd269bcdba13e1f93f2ce76e413a440302047c435bb500683066023100a377c0e2a60baaa76f8e5ef7190060ad3d2c121116d59f6f55445b6afb29ebe915ef0b70f79c794baa3956b363a27a5e023100c3e195d06e1b761375cb498c23b5737da976b142436063335af9f89486a120f342d4cde3df75c866fc45edf290df0bd40302047c435bb500673065023100d38a6930f6b747bb392305d4b5124945135622504ae0114fe9d058085024c7734fea694c54bb1e7cab4d4375bf8a632d023078906972bc1ba7fbce38ac9e738759d79fba3af22d0d84e7646ee593693778dbe4a320b9e51776e09555cc905e8bc68e0302047c435bb500663064023025c7aef6c5be04584cefb0fd78921ca1d466c378950ba58c2460e8ce7b344ec837a55ea263e2762dfdc582f261464bc80230391368e66dd3a2bdb6ed7c98e02fca017d94a6a034ed5b070b25e39f7aa4527a728cb4345333dac9edc3e1265189ae8c0302047c435bb5006730650231008f7a29042d794e89f4cee64842facd7acfd33f0c14786d7f3d499b86ce6bc6097a550dc372e9ab3c4f61a546d3daa67702307caf9a1662e70ca6016a441f5910a542ace06318ba28e343e7223fad0cc69d4a479dae4cd409fe83bd2567082113eb720302047c435bb500673065023100bb562a39ec5dee3f5af6dcc60a44b1c7711f825f3ceef024e5f67a4f68854133df23fef56888cfc1889f77183015323a02303d416eceaee7e13d08c45343e024029f534b943843f068f735514ded7fe390bbedf0a67728806ff7701d2856fbbb94030302047c435bb500673065023100b2c9e36d2aa92dc43956cb1a86d59c2de9f618cceee29b3aa02ce79c9ac58dabe0f90b753483f4f44fbe9e3701215c1c02301eb3c13ef070c53e347b3c140a83dcd9a3d366e9db77406a9063cd283fc5cbf798d3667e98815cc2f0f531e96c9045720302047c435bb50067306502306cb1e7d0d89c6f7d47d50e8fe3d35feb9d121d809c30d58bb36b1831fbb1d898b34d52f035b4ac8a821584a268b8a462023100b48467bbe83b252ccf00e59add2593f57503f24ca81bfb748fdb1aa9be06e8d3fc5bacca2d470ba156de438b5e255c9c0302047c435bb5006830660231008b3798ad2b1a3ffb8b147ebc196b1c9e1a5895819d6e6f2680b205065cee769c0eb44a32d3857022c25beaa5a8db0a31023100d506a0da02346068beb7e7b44ac735e677bf48f5e3b1664e378e192cabe5a08d6e3a23bbf7cf6581fbe52ebf6ee68cee0302047c435bb500673065023100ba523539e4a4e58fa8534742ccd2fa123bb408e444c94b4c0251875e7658793498be2f13aaab0cc42654483ef12012bd023052fa2bf7bfb69afb52c54589de6d6e52d6ff74aa1b3664e9ac0bce3a28ba13584aaf2d12fb7807ee142278f7dd27fc1d0302047c435bb5006730650231009dfc230f00c4c08762cac54f24b198e63976df9b2dab8a671af7f81332522380ba93c662647b99c9562d17e8e593a84e023064d0880594849fb4b22fb0b7da2599aab264a13e3daaa79e5d235707d344f44b3483017513c74a90751be8bac33932ff0302047c435bb500673065023100d5b0574a85c2b74a94a6f892592a298a08541275cb81f6b6806cb2353cd864d0275d62f5d3e2c593564d24eac2c691eb023002f70c78508116bc5e1422252b57973910893a2c63ac0c023bc5bff632a5169b94528b06baf2a92be91a0aaf971027bf0302047c435bb500683066023100b63fedec1b511ed6e3b1ba52a08456d493bdb18d92027030cf18fc6676520b5089a426a0f51b8a70cbba540fbfa876ac023100ce07642ddbb6944292e2b3d493a7247329a2a380d56b43e1b2141af60ca78ab813d753b79fbf87a0c6d317fd0a3c17680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303d47e5162239ff7237d88aa332300906106a5b04da143a8819b9083be2e80a6fdd038ef76560f6b50bfcf4bb346dd1bb023100c73d003b2914d4380223b29ac1d2c93555b3f105fed819dd58e886ed62749a34670f2027f20045185e536eef6f2087340302047c435bb500673065023100eb10731f5c84d0fce39841f093f99312f75534b0105b24019e27044ccd308e16e24f7bfea0cd92af59b19187a37b007002306062f04eefc4cacecd0ba6e212ebf86e0b0e154730f251eb363ff1779356e346ba439b671d2bbfefdef3a9537b6841370302047c435bb500673065023100b9af2a8d50c7f65e77e0e897af1273569bda98ca5ed531cf557f7bb85fcf57dfef45ee3c3f15e2e5f9050aa397051c0002301110fd9cfd17394ae27670dd882c073cb34ff13fd83d8347cee6bf0d4137310fbf35f7b07df171e0e9a3b972618192830302047c435bb500673065023042f1856962f00d8955bbeab64391e4fa5fc273257ea8429734c83d33e4642e91fadff9c802fda43214d25a6052c36db30231009cd5f2091b5267372f0a9b0e3616ab7f48214de7578e19309073a5c9d44401e2e223d3df2c16804033a3298620b2ed430302047c435bb500673065023100b7f53d0245ed7da67a735402cd8c2b5f628887a35adf25d38098fbfeb6ff2e507813bc36956192007418f809571fa402023076cd6b29b2037735851b043c2972087ead1aed5cb2f61755aec63c6f23743d502c1f7f854583a16f2c0bb87e81221eac0302047c435bb500673065023100d8e4961c96d03e3356b2ec849adaada3354b3703cfbb7aaff1d431d5fbdb6edc14006e28545b9ffff7068d0017b2978a02301509bcc699f763629185ec51bbd7f7b97f17a823ea179dda9bc68c0cbdbe58342352f9b4b67e698b4b6c5d974e82e57e0302047c435bb500673065023100a301b5e59595ba0372897e57139301be8988db8e68ae5a840f50f99012937b7afaf957c66a5ed51542660dc497161a60023047fe719e436142439baf7d7d2bd9867ec60e735e1c225e11b3dc4d86a4f6db84153a5f2b7ebe23c616fdea23dc60016b0302047c435bb5006730650231008ce3d47b5b0bf06b9b49d6df175b3cc8c1308ef1701fe9bd4a79a69ab2acd8e030a50e47984e2629e718aeda50c5480002302d65c7da8809c107cf2eab2d23dc6f01911faa0b9f57e044679723b1bca676beceda4fb68dd7b52c751c8d1ee368d9380302047c435bb500683066023100fe1b2d0aa4bde09027f05d4fe04fdf4953398920137113e277de925d49052e8b7b40c5012adb4a8a4ba80f128d3a5c49023100c1a5ea1d1b2a3d4fdf6f8bbb1e9a37cb4b4f495156e304f4228c2c1d4868996173de789900e75b924bee1bb2e7279bbc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023050b92e25109d5fddc5d3661187d6474d5f617ddded562fc0d4b5c6df7aaa110fdafcc5c60b65c0335526536cb43fb24302300da4b79da76f55fc671d27ce3d7e63f60c6bbdb8af58213b41b49e6ddfca43a2c9513b995b655b0132912bb7fd9459b30302047c435bb50067306502300a29688158ca4c531dad324319192c4a49ae38ca400ed3bf315d6e59579a44add947290c9514c42ba425d678ec161583023100e94634e6e6b665ffebb1472331b093b270e43ded379be26df0d7e7eb3f01ef2d051c1dd3efff65d614b845ee4699ad8a0302047c435bb500673065023100a1667297f9d61b25d3473467000463870a2f21fd0ce7d2dddc3d17c7c4aae5a11bc359e7ad692c6b5c799935d7bfad0f023059162f96f862cd3054e0fd022b7aeca8ffcdca24353aecea3c6526b5753d5807b9e73a02218539ee399393fb3f6a77c90302047c435bb500673065023100c8c4d83308c0792c508987c0169f12bb66d4b87c0c9398b2f6be265e494be09d32366f3e9df956bc76ce1e9486909e30023047b4dcdd49cbd5e9f292cdf73e9f6ca011ed59a558f701aa5abb04d29d08de60a81d1c797109073b68b99af2c7a0abe20302047c435bb500683066023100bc340f8e135822bed67744ecc5a5b4d0803c56475b44450b0a92b833a095b779febd46bf9aae22e5a6959f08e4a10d84023100fe40b026c1988cb3f1c3c413d58908ba9e95bc3395858fa0ac579d35578aa5002e8d80d5f6202284883355753a25d5040302047c435bb50067306502302ef8a38eea6e4b5eadb1739f150c79557b3252e9411825f8d924ee9087e58c350c42f79ce1e6d54548d1e6471d416538023100de6d3c4676deb4317902086742c0f74007f0c856c8653c3d68f940612813e932b0a1279c510644691b447530375fa38d0302047c435bb5006730650231008dca3bb5352742dbbd05d43875f3290efd20bf5291c348d5971c44acba12bb79a1907ac1ee9c3f6490634f55d631e6da023031dc3624aab852c23dd6ed1155237a20f82f97ff4e78a0e3f4f15cf0e25bf95bebff0b01cdd5acf42a95ede2e8afb3d20302047c435bb500683066023100c2b386294780f6b060f5333e2e9b9c06549abc618f0baa3716eb34d3228f39774cc6b51b68da2bd7afd0ce4daab3e61f023100d06b96cdfe38b46b26cf6ebbe70aeeb1fc4163424f3f5c0a96b5a022f0b4e6a116ff64d9052f3cd75af1eaf8f6aa96820302047c435bb5006730650230571cd111da17b3d36b1d03f859d4e359b8998dc4e0738b48abfebb850740ac81680f8861d85b549e43877d23ed579788023100fa9c1450fe0eb345617063f603a320e23c5dfd4c991b7edc2d9cc68fffc02cc1fd4f649226aea2ec7286d2a17db932510302047c435bb500683066023100844ab2cfc0732d05ffd7b3e5be914ea8f765919e2814ac4ac280e2c376c26a7efcb6bfcd4c5a597e0e2f181c6e845cdc0231009cd9f7f5a19392d43457d922c0be980b0843a8b289bec172dac1dd21e190b76d43fe81d654a14553513674ab62fc62940302047c435bb500683066023100ac5360b1371adcd7e24f27000ac341ec764a3ac8f2ba338f0c8685c5032e19cbd6c5132dafd74a201c4a0cdccd1c36fe023100bcc6040267608f60158b26a625c8072d9d8dcdf36512deb0667982f7c972e579716431842d5a6688145f3ad260e860410302047c435bb500673065023100a81993ac970c57567f814c3237397f8bf62bc7dc3da75b842628deddba70bb038cfcbe00c0dbcd0cf37970be73e2a4d602303080bb217337eafc4f0bc713c67a5b6849074fbc5df24dfd88b9bf01ecb91772e1ac451bbaa8413d886b6aa27169f2380302047c435bb50067306502304bb2305d2098f5228d7ad6e5f620646d6165b51a1fddb0397d651e10cbd2b4b394d4556aef7b375e95bc3ecef376a231023100a667e701f8f1c9044f1e309399c86eee66e3a657230b6eba9e5403075b25ebb1db0cff591d4f106b9c2329c5becbf2130302047c435bb50066306402307ea4c1118bda9fae692df53c6f73a76dc0ae0344067600af20c3daf7dbf823ebc9ceb7ce5d6a6dfead55e5f410dc49290230582abc85d16b8591833b9e4cdd88c7ec6b693e597ce8daa69084f28d0035d9b36db064ec057221df6e8536e0752896560302047c435bb5006530630230369ccf1bd7a6a9c1ef1174f3470e0d15e0e31b32bac830a416f7a0cb906fae74d112746c08c62829a7ec54c9e139627c022f3c4c2e20cf5bb6fdce73954434dcb83b054c30587bea41811713020834be2e980e8b83fd3cc4e184a016d39c8b5b410302047c435bb500673065023100acb9f7037287fb6ea5650b7faa794c3af64ca694bb63757a9e28ec9f5e3fd31e571612911eebdb4d8db41981a2cb40c9023005c4cbe306919394cd6e2144f1cc0a9bd2b289769d5bd2f1beab0acdb096db33c94cd546abe54dceff91065e454bdf710302047c435bb5006730650230193aa4abde84d9ea4a7faf1168cb5b0cfa7d6e8568fe13675384fcac11ddbb906f2d721282405df5a42d7e545bffc76e0231009b25367876a74b7b06419f9a85be0d1d5ccf3f1a22bca3fbace2df1916581c481e2cf5d570585be54fe7aa5c2a90fc0a0302047c435bb5006630640230230576dc9839fdbf17e948204f5bc8e835c64f4b20ed2e55d04e4b1235b5558dd2afb3a519ea6fc0c284bfd32930991102302089d0aee6f716e35f489ccee321d4a73c970591bca619c486345cae40ff682e9b4d6a7d105b8afa74b7859da0fdb15f0302047c435bb500673065023100a83d77f1c365ebb4ba1ea7e8827d9ec630636140de67b9cbab75dc55c13a5574f34a2393323a2df075c1180eddb77cf202301d7f1cd09c0ed4a34edafdcc966b56cdf6379b3b40590a6435b6d117d573b4e6c4abc564b76021ca57a2557ef02120e60302047c435bb5006630640230646bad6998fc75b08914582d68fa6a4f76a95403b2fff4d0a73621d15806b32f1758714633daa93f329cb22efc04b05d02303232c654511079be2fe84fbd2d752552f158308b0d6ffd9e19a3725e4f1630967126db5a234af2bbbfeb8f0a4c5ac4050302047c435bb50068306602310092312839ddce1be4f58beae9ecdbc7397f8165814c0ad32f366df6ec1abf6464d4027ec45fff432c7130509bb63106e90231009e07269eeacfffc7c03fb270289a4a5654c9b871087d240d2318de3f386aeccd3332d88420a69a6241475ad037ad14bd0302047c435bb50066306402301d1f306c0c75d54f225b210708f9d50d7d12de1e60bbc50f8f5936c241ff4f96c3588b72796553461d20c9ab5edc1f42023037a9290793dd8904cd06f397cab29abc7b460c2a70ab13ad529d1e37b20b64c98a3f7051ec71ca3fc3a81bab9ac717a50302047c435bb5006630640230496a2c42473e13d13a3d29bfa2bce9c402ed179f877ba6d4ace3ea3a8fe21f888cf2ea4afe018c08da1f7bc052fed52b023073b695f1b48a9ef84bcd455a9e2b1e1604f69bae57a046776548de747a7ac805f6315dceadf379cd82eea39f106269830302047c435bb500663064023035e065f293e6010fb6e3b51533032064c8d3fee481ab05b56fef0bad2c348e3ed375af068c77f283f11f24290e235349023014dd0e402a20f752482eaf65430c0809a93b95c861186d2fe336b83e21f7d216748b62659130f4ffc4fb34e8c95ee3130302047c435bb500683066023100c0b212048684cf2631122b39af2856e94048835eec14780fd3ee6f800fbc1a69e739ef43953237c7d5361cc619a960970231009346d7dd38f6fcebc4fd7eaaabb82cd55f9161dcff48d569f61698baf5eab22836f2583159deac941c232891b476f8b10302047c435bb500673065023100bdad1cd32c2de849b04ae8179481838ea110d9c6c574cb689abf85fdfa5148343af4e09a13d858ca925a3794d3113356023046527731122670bbfa8df0b05ae27de551ceb17a6a6de02e843fc3912b118850626dd0719501d93ceea96417040597210302047c435bb500673065023100de71f5062358b48539ba2aa1e7c44e3a2addbd8fc1b3dad31987d3f2283f8397343b4f8997ad53851b43e9c0035cca550230316e8b10039e8ddc5f0f2d1bfa6993aed9e621508d0b3db4e48f533e7b99efacfd4642a86b3c911f02df55b97e19720e0302047c435bb50068306602310090a172ea9f83507bd5de31b4b13a42ee7ad8fc6748cc38bbbe487f39220c591abea0ea6d0ed7ae64857e93e53d3997a3023100803434aad4b390a268d9b237ff970abeec7772907bc1691cec89d08b3c0d134288d9795d0b5c07774f517fbf666cd3820302047c435bb50066306402305bfedc7e6ffb0bb5163a9ccb5fdcdbb2d4f1b2c97b01b20b16f83b804e194837219a4a55acc7737b78a9ab80a345700b023010b36a62e25bc7eb4fa4a53ddfcd51a5ed799b5a509e4b921bcb7543cbf355c350993e367e1e0c1a63aac064c22363540302047c435bb500673065023078961edcc0436ee2ce2cee1139ad78a9c3444afef0fbc175131f2f932422ed8c5963cef64d30817ec5fa45c0d4ce87d20231009bd348b257b3694fec9e25a2b1dea08e403b6cfac22bb4908647e92ec54d65c560c72b18b19b2fa114f8f8651394151a0302047c435bb5006830660231009b62e4f0c927d7b44d558f59c494fda3a9d408bdf32fb24fb10fcfffa0a51d669c164e38c1232daad336f90f33548a93023100d87f24e5f30735e95cd375254750ffa5e4bfda05f42b1aad16e7c8631ec1660e0c9aacbf16edc55bef290c43a10d959b0302047c435bb500673065023100930b23f1010b7fa13921567c56f5e97fc18435b39e401160295519a65816bff2039ea9f7719bcd2e2c0e62d79b58e0da02302974aab55fbf4077b449a58cda5ba484c9295fa435e40e619502bae6e7accf86d4fce9b2f4ee0c9a73e29001ed8259eb0302047c435bb500673065023100f6b749187793670f563017dc338f90ba996fb1f29feb95e34869d981b4fe1062c3ce130c262923154a107b1be514ab520230714f1cd48ffd05cebc97a98b66cb8a45f9b7668de7a01f2b03cac97b0fe167e93fd27d00c8dd63b60737e58583513f750302047c435bb50066306402302c93cd251a7bd39928210ff7cc36b1c71ef22a280fe3b1aa531af527f2a14cf2f3954181d411cfe158b9dd0e94c82c00023018a91dccd7079de7bcfb46559410ed5fe850fee7227abcfb3e016003d5e4487bade803949e3bec01140cd15a926d695f0302047c435bb500683066023100df566d8d08003e703647c76ba88bc2b40e02dd206f9b7666914876263d383575c1446666cad78d1f14d5405307a201b5023100d5cbf319ce5cc810d149f607a6432f77da76dba4128c0de38cab3a9e726b14f7ed0217ec69b97513e65011a3a050fa5e0302047c435bb500673065023067ca068fa022cf96c55ab59147b5ffa8ea9b1a2b7e488f8099d9ac13fed30ce35c9544dd95aee28778500dc8af19290f023100c689a73b664c9f27eaece02ce84864baa6a8e9edf9f2b1c55b70f105a9ca170801133499a365763a87cd188fa55b0bc20302047c435bb500663064023010cccd91901afc78d766c1fa31906875a56a25000b50a6adf8df8f56b1cc1bd44b56191af7ac278829c1777953dc532502302b6524a2268fe3b17d2062a3455e53b8b5ae4592608f241a7aaebd5f993d9877aa0185d4899ef5efdfbecb3f0468eaac0302047c435bb500683066023100abef1ab26805f581e308d820b5f8cb6e8a3aac2230a00e9a10f70d4bf43cf27683aee4790da05e71b48ad2bd4b500c88023100944f6c58bf15511449c9ae2d711ce6c3c49362033b8d64cd354977c2d008adee1f929e9c9b7f3b5c257fc8c2243f02410302047c435bb50066306402302cd4ee06febc1af947f5b3bdeb77f4b4105c09d95de3a5954bd5d825128d8fcd1d822ca1e30eba0a5ceefcf6dd0605c1023020bf97a8756e9ab9d71e62b37616bee1700339aade4c8cefd2b5856accdbeca7f1bc95cd57e1bfe05f91541841362f950302047c435bb500663064023033b7d8c81ea8257ace76f0d8a896cc00800da8459c7538f87a7cd2c17cfdd270bb4d7d0784b5426571063d35011b511b02300723aeafbc872d3d1ac7eb95186774eb807d3d542e2ef1aeb680da55dfeca9f5294bf1ef3569ed3df67add8c17f0712b0302047c435bb500673065023100cdffa8631a31207e0c74944a98e505b053a3617262245e6570916cb5f02b169bab4e34b99f673892d8d3d7bc1655b83d023053d4dd71ae620198c1404b770e580bfc464b0ee988b65292b0fcab0baee0ce7e1142ac7383168ecf8cad97733a2a3c590302047c435bb500673065023055c5ed3324246a04b4cda8adcc8157de61d388b0b22fdb2684b7310134dbe9b8a8b549444f6715279599a845810d348c023100a4a43f1466fc0265152c6b0646fd97629a921c8d1ec775f9caf0748db5b049d9d13abe783273e8e0fe2e769b2e1d97660302047c435bb500683066023100a3947b2ea091f3808d677ad11be7704f9a9767f3c4af0e0983ee213d2240d42f52c6eba84f700c2ce1e14afb39f4324c023100bcfb73789c6e2bb5598473fc0bca6a57e5ce0b8188b0703b3b0b111b2f690033ef34d387c71b48d6fd60811eae4f4ca90302047c435bb500673065023100bc4db9c5611548112fcd3d34498a4b25a412b166b25a112a91f1edd9eb30c4217c0f44d157f96582091d482d31b9b96102301ce925bb680d28a72444413a89835e0db4c3a13808d75bdf0a862fcf236d2901bf8de12821895de46ac6bfc8d2bb27ee0302047c435bb50066306402301caac50ff160a7485a6f3528801ffb04a129348951f0dcc1aaae3d727ebade645310a1206b1a299b85f649111e414632023074a73385dc441391da6323af2f00da620b0c3f63d4745472b25d30a8893edb15f5a0d2194ddba34169c1e313c32770d20302047c435bb500683066023100ac2fa6749ebfcfd86dc43c17d9dc90c137eb3a584fdbe5166106c957570a2e9f5c956bc0b945480ab41d7fc65c6f283d023100d4540cf3640c29d4e66a992b2fc41b8aba74593a99fa7df47c82fe833b54b2f325188977feee1835af3b8c4ef7a6d7df0302047c435bb500663064023066b663cfec314704cf21cd8f024a656c919c49315ab7c011ae133510a4b261a24674b91be6688c5f143d5a00fd9d5f8702307b77a0f6c02c84cd5578fbfaad4ce99681bc25a939f52c7b73642dd735e8c4ab658e9683a52aafdc91297d6e1d1fb2d80302047c435bb5006830660231009bb0ad561636517ffed6436a24db4901b9d0c860c94b188ebab128e5a731e7d986aaeec9f8d2073092a96efc3d3b5588023100c4f46b6a1b60c76bbd3d4ba0cba99438e27cbd1968246a302a974f70078d147d739580ef9eb51bed61f2186a075d06170302047c435bb5006630640230557316332bfb9a5aad367d1a33e23904125624a6885f5efd56d6df6299e141c71a2ff0fad0d9aeb6ad1f52eca145004f023078e77522abe58d3b6491e011c1bca11e401dc5e875524291aaf691c7d5f3c109d3b66b09ea9d91f381b422f8892f81240302047c435bb50066306402304d753cd36800dd9e18fb8c0a51719ea22afe2e6cd6c551dac452b8aab209a64b263d999dfcc7816a4504612d74b133b8023060d3ddf4790230ec77f4af0e58b01bb76dfa95e2de2dc0993ef743ef2059c61f0d41ed058506302d1ab8d4d94450ff930302047c435bb500673065023100ea394491d4d24d7bed2fd2c37bfd34024edc2bac55a514e4e23cde913bbfb22e0a05ab018c752f0f9646dd866f8aa6370230687aa807c781cdb7f462f10a30569cbbe65e0a3f80ed3461fb3ad16383d6b3d212ddca0d5e22516c3af9cb184cee6fb90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b22319beb5b1af94818ffc44ba15e71b98f136d883a3149ff6ab8ddd98231ee8624acc48e237f62c7b1d760c03873b6c023100be0649eff15819c2cae43e2641d1c924108b2bba47b9c30052d956fc553bbc822b087d30cfadf93bb3526d3b59e3d6030302047c435bb50067306502310094036c41f62741a9adf75124fc9689d928774a0034eb64d7c776db860e7bf6e68a022e623381e1a5749ae91f7bac52d10230732200fb0dede4ad4b66e7d3e94a8559862f7ca2703d456d9582c49d7dd6a86306c1ec51433a7b00fee90a0367af00df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a0050cf8f09a0441b38146d9951a1816c7443ee40d9e618677b8ee910ea9451d1a0a080a491992aeb2982500394d1fcd0230701fa671015369f77ca90896cda872d9326d575239626bf91f4ec2baebadb0020e0f269f263a97213f367ae5773544fb0302047c435bb50066306402305305ac25752011acc0018019a31936fdb71639ae43846275d24b3c89b772061ce0dcb7782b0835cee20620fee3bb099402305437b62e07347620281e061dabf6b372d16eb775ad52e45ad7b933e604d73db300f539173c6627262bf9ad27d20a30d70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310085bd5564f15dfd94111b6bd74faa9fb12e5fdf1060343cdb1c74924e29c3bc15cefaa97e9d015f3758ec62e59dd8fc38023100fdcc5d31048f58855aa851954c07d804cbcc4d742ae4c595eb9c1a63e1a9e3b86d9ffc65f05ffeb771d480ec82f9fffd0302047c435bb50067306502303390b58cf570802529339b514d77c3ea6ca3da12e209fc9096c6709145ea0c0c291e70ce989c13ecf848ad774ec49c0d023100f4ef3fb80a11914722cb3d2a070200b72d283bea81c9591f631f4ea4135a6faf0a7c2152f7098aa103102f07e483b6e70302047c435bb500663064023061bfcd0da12607002dfdaaf24392738c0f0fbdbb05bcdf1b62a40e9736a94c35d6eaeffd9ff987f4bec801407d7930c1023033145a2b7a470b1c5010e9274a32a25cebf54750496f803fc54a459a101930f127852994a0d9d83b6ee790f2d8cc232f0302047c435bb500663064023057455933557cbc1889a491c8ec5ee611d0c79385347b4db81f6dfc948d640359d8e264dd88876fc655137aac215efa5a02303d1679d7bf9fb71484ac2337992ab8fd361794001c62cba122c4cae4f21faa867b22c34ce6c45b068de7e88ac93d3f970302047c435bb500683066023100f4698611a0aa02f48ab3fad79e16d1cf57b694b6ccb226127323e68e397a2612e63ab9cfba8883efe922fe7fe5c59b29023100f19e47cde07dfce64e371d47d6bcc873b4f2eff0ad95a12f66debfa02ac19db42a938baad4f351a3819912b6fa8347150302047c435bb50067306502302ea7cba588fcd1ee7d522271d49fc074d37bb68495148eb420d071641ef4536ae2c250a6809a2afdc17509b968da46a6023100e5fecad2f11d2c0d82d73ab713c6daca6e7ac4df71fda591bdd1e7d4ef9561344dbb8d68b4904e35d5fa77534b2dedcd0302047c435bb50067306502306e2247e7580e2b54762b290c523ca63f2133eb8249f163a133b9423be2123fe1d158f4b6bdcfe4e35a7352a08afa1ca3023100f65721b3f10d21a9d0e473ed1aa285fcf39352894a62787c6f9421a21c744b637a72badeaebd5d9156ad3f8335f78ac40302047c435bb5006830660231008cd565359a32c609091bf1c186bf7d72a1fa83c13429cf5e38976ab15e3f06ea448d880b83262437f990a79f8ef09e09023100aaad702e6515f1a268765503db3446a60f5fe514888cbd3172b5c353f293dece44a3ba171a664484af9200b55cb0d21c0302047c435bb5006730650231009a0e92da637592c7b5ed006e08271548ee1e1757c421ad7282a9482299ae3593835ceca8f0d4ed9efa54207e946640aa02304df821a094174e4317d537dcc7dc1f905489cad9278ccabcb643e6f0e0b4ce3f621ef6bfa83a685dd95d5e1c5065297e0302047c435bb500683066023100e177a9e5e8540825ee8afa69e00ccb754df0439355e248554c50d4b81725bba60f913af574c16e8cacaa4f5eab2984af023100a4a102f41e461b5279d9e5d6a5792a43bd389a03787da5327e7544b5c64ddf0e0b403cf380df54053bee5919c79c02810302047c435bb50066306402301e82413ece62b03451aa3d6f286d17df0255b6093a9aa7832cb1489a04d93f70b26dc1c1e1dede93f22f4b5e112c439a023057ad2aaf0696ada91fd7d2fb6a2d5c3902f7c2ac8012f7b64d368a92a1998db477c4dec24b04471c07a19c33b5011cf40302047c435bb500683066023100ad673d6abf50a7a4c93aad9656a350de1c5a10ec96747414ae4f5f2fc200b3074029d1788a91fb062c9e5facde018dff023100820b8cf811ea69d175dbd29e22ce35843bc4c931c41d548241599c6a548be7fc4c8b3dacd42289f5049741a9eb4077af0302047c435bb5006730650231009c2d01c0647c37dbf8cf1ee2e3bb069be8e5879904cd5baf33b5be809b808041d59ed8bbb20ce979141973a27be7984802301f5f75d928144b4a6b9ab8daea21924a6a22703367113057c50d430af50c1d1f202909a66193846e4508577babac4fd70302047c435bb50066306402302256f04884a5ca914b8574e11f8771e628a77459f8fef9f1d73a9647631a06eb97b1e019794572a789c43f1a1492a9ef02304398cd0a90f2bb3181d2b80ef5062f16a9524d201e75437e6f715b9b654322e7857ecc9179e1ced8992b57721c5e145f0302047c435bb50067306502304d615703039f899c5a5719b985f2bfaa88d2c57112769425a3bb56a5c8066b2160c66dc4f3d03076b068b24e9067dc0c02310089f6c702c9d2da02abcaa7f9d68b56ab4446762ba6b68f8c9fc9bbbf04adf9f3c348baf2ae91649759f7828e91325eb20302047c435bb500673065023019583b57f654dd70058d39224f4319c9d01bb924581604eb015e4e3ec2766329e00e0f33b8c45c2e666563365cbebd5d023100ef13120dd0ec32fd7432826d1c513763856039961140e826fb2c853406cf60f5ccedacea64fc6f5d8c9760872c0930550302047c435bb500683066023100a395e6f963b8384e76a9ba4908f0e97655a33c728f129669d64f3863a694e32ab41740992370bf5d331b56e2ff3a39400231009560b5d15410e0bb0c68afd9cfd9bdac6bc1911bfb6feefa95390ac8a323cbb6b2afff092c536e2cdb43404d62e404fa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bdcad1a86d7f2b36dd9dbd55014c0701817f9ea4c76c653918c9b7b37c938741e3e20ab080af629d4df72ffda472d7520230069152a61f34d0c236068cb7c8a396c8177b14f23440a5def23fcbc5d694199ad047c1b7a00468689c58814476eedf4d0302047c435bb50066306402306a0f8340bc6f3ed130306a1831c8a80f2efadf31663ac22e03c1260a5bae2fc6e5409f56d8eadd0ab5e629694fa870f30230193a0b432d8cbf536a74883c466e2882a3da93c05b788b9869a47de807b3da6ffe3662fa5921357c8386d6f417603b0f0302047c435bb50066306402307dd0b169e937329c2bac80a83cc8259a7f8ee48ba4a1948aac8cff5719e9753c570408878d221de3d29905e5ba270fb702306a61a54d2639ed8a2ed4cb74e485d8d04b428fbcc73117f3904f58af76a2416839636290b23f1aacf02e9ec5de038ac30302047c435bb50066306402305d8b25a7413c0d24bc4104dfa674b4677d8da914cab60d9b5239834bee257f2a8384221e437505ff1496eeaa0aeac88002301d023da43ceb9d643432770cfccf5cc4bcab41d5f24226bdae9b8038eac3969634db02556fdc61a40b5ff96a67bd95f50302047c435bb500673065023100ca6ad48356e050b2db72bc6baaee72d8662c299e679c6e5151c1a576cd0f2fa4bfa00e1e94c77d44074e03c04d91393b02301f0705f51514162d2ee95873b1ddd350055b89c9c26e344afebbc9c99ca60bc92989274ea0342c4f2ca3c7d638db7cda0302047c435bb500673065023100ba6835f052f9cc33e8aa51fc9a446428e8da0ae710ea2601cd011fad45ce5e24722cec2065fb9607cbc750672c50897502306b079abe2ab2ddd6408d6bde96b5eb3757bda88a8be1937cf30bc36e98b23d59850d7cad3d0a2e0774189f24ffabebe30302047c435bb50067306502305f5be59f8ccfa3a8ef8afe643ad3b1e50ec6cbe0ade066b048917288202801c81c34687abc8356243fd09d894bb9b249023100a8f9a7d1a3b7982f411b6be2f2689dc5b96e0a875030bf73dbec4f14ce9ef5a6dc74a93634c77a84a8496aacee193f070302047c435bb500683066023100a70084280107fcfd019e7aca931aded101400d7741aa0745e7c5fac1b34015686344bb3064fd1589eb9482694480c963023100d92206df47660f5c9ebfc76b1451ad6b079f229506638b8e2385b8dc3c8aba48656760bca7d6e1eafe87c06f7db7e0f90302047c435bb500683066023100ff60840015676afa1d61748b3973cb47aa451fc27e13bbccef9ed19da48ae73a2f5bfcbff0cc8f81874dec0fc4bccdb7023100be404878973bcc7757b75d0f1d12ab91822b1b08e404b50a54678e04f225b89d7f076c6790bfd46878e0f3696a49a0b80302047c435bb50068306602310092aa034a35a83577f98a8f5b1c41c22bb29bc8c4857711c12a4cfc2f4339c61710d7bf47bf3d10ed258eb2848473bf03023100d27383a29f86af434fd2f8a5e80d13f247859b415725ac83294c8d0be8b86f3abe4c335b6d75f179c99efa6424d4e9760302047c435bb500683066023100ad873ee27a59adc913f0ac91d2cf819eb110529ce2ead34d3d6a1e8a4e7ab312ff742694e7f468b1d94a3a13172053fa023100bfb5f2285d8914bb9984ff0a39af59292d3d3ca282b859b1297e727083567bd17ebef82b97a366e02bd21a6673a8171b0302047c435bb500673065023100a29d20417cf9a902a9be8a4ad53331827c78833b052dbba27069db17e6445d37ccbed4bc2d52e00ea146223f9ec7e28102303bd4597524e4f5c0a391bb3fc0600c1213cc7f8e02a22cc9e3dbfc0ac00241c56ba05d37b5757f880f82935b573316820302047c435bb500683066023100d81bef88670f8bdbe9fc218703c3a39f3177d2e8fc066377412e2ba9cc5be7888167ddd61ee35c635e172edbd6850ac7023100e976e50c1d6e4dc75278e2df1cbda9ce63dc6d55e9322f3dbba4774e206eec105eeffdb4c190dbdf65a5007b1c27f4390302047c435bb500673065023100efd8e977b23a6db6b8d62cfe0af4ebfb0522886928efe891e154e90b64771d933aad80ab56b24afd63f7289cd87ef08402303c6ac39536edd3105a6e240918a99f406c0f9c70e3dafb4ae2eb82d060e9c4e08f769eef3775292e16a853c2c32ee8bd0302047c435bb50066306402303e5cf7e862fd056109bbbb67310ac29f3d7e1c0c9c971791b252afe11b8e43ed86d0e35ecdf50eacf88dddd25113f76c02301f8b9a13d84c436694345c4f780b9f81229d498355b0c32ff8134e426e1a1c33b93493928cf59e2fd63f55998ddb66560302047c435bb50066306402301acd5ce4cf878557f5ace6adf67769ff9adc3b2f0b01185eccae76aae9e4ba6dc4ed79d3b9a48a6e401c01f9fe4ed48a023051f54795d92c9514575407f5a078c50136c8f4fc682e60f448d8b6b7c711900c874d274ab7a356ca4322953994ed61db0302047c435bb50067306502303bf10ff488bdbbd86420219e9d3eeac6a42a71a90686aa91e10422524c933f843e731a7638ae054fd6f4bd72bb811007023100b278db262962cf11a669297e443b37acc536ebb6500b31be244ac24abb6baadae201ec8bc6eb0afdbebde2633ff0c9f30302047c435bb50066306402307e8557904e3b4f8b442da3f03723ed9ab355381932e358dec3d1de659d73eb885cb8e2ec2584c5803d36df19a0a37b1802300ff5fbc220d9be611ed7f5f0d45cda21befc15ba7ff50a350eb9bed5c234a5e21af422329fcde45276cb1f28d55ed83e0302047c435bb500683066023100c60fe90dbe1e478ad4dcfbfdbe848b61eef1dd9f74d74091beb210c3ac233d7746e0d9fdac45c842349259edf2c3f2e30231009977684ebaaf199b2df6ef8956e10ef8994ff2a7755ffe67f93e04c39a3cebd2f8f8c280531f003c4a31bd69e35aa9110302047c435bb500663064023046c4c0508dec9f52120d686818f62f93ad3a2c8589ce79745d754af828c77115913eb8714f8ef32dcec9075448b3959f023068697d58778da3435aaafee939c5b03d5fca97f4b56b98bf2ddd36bb3c5b0808f4f6d63a75b87428be7acfd0c5d221640302047c435bb500673065023100847dab8050fc41145fb7cece04134f35e2d1b11c0162baa84f9b997908c5e08d0d506a700abf34b132c9014299aceb6702301cd60b100884296208baf9b604b110f2432ac8018a26a452c73673ebe7050dd16f3b9495e46427439fab388bd5daa3cc0302047c435bb50068306602310086706753aae992fee7623c864ea0611120721eb8043f32a77b735f65e937118457e10f436a0566a490151b80df1e75d9023100fff11e23ed29efe7b2ccb65c82284a40a496d3bba11b38ab514ad4bc959d9ced03070f8e17824eb244573bfa5dde71d00302047c435bb500673065023100dfcd48e201e04334719f2634b2d5642e51a1b1b75ff21544e8b2e839c17b94d0c8c2c4188e57f60b16d6a232b261e2c7023033208a5d5288ff9f0b405f09df7fd7a934b26fc0a4446b70e23caaef1fde82847af0d714e1f265f6c8afaa9cc14868970302047c435bb500673065023100e8d74d459ae1908f8ad0cad1a94c621184a04562d01c340e69482e67e06812ec591e2221d69c211221ca1f87693d58190230390eb8853f1c281a2230f7fc1be649fc376442f65eebdf9877bfd8b97b3c81fe5b82576572f6549b04678c573645f1030302047c435bb500683066023100af5f696aeb085c7b7a3c16c4ddf1da9725d42e5ee9b712a7c82cfb50b2f260801a47f7bfc5d189ab6b3b7cf6c1437612023100eea9d15ce90401e5394eebc328ebcfdc803b2b9b81db7199421bb9118888d97b8c52efeb30b1a903da7e76822315d46b0302047c435bb500683066023100bec767d07a3f5ed1cae7edf3e6206c9b54695fbeac4f00075062ee9511c14c1617a0d4ab772181501da8d35f4a8c7ec0023100885b9aed5766c0b2b57ca46f9392ef919ce0300f8a8f240cb0cdfc21cf80070a2a20d95dc0fca2b1814941a262a1c5a50302047c435bb500673065023033af76ca1559e149c7912ae65eefdf528e4966f904473a93c12a6c3f762da73d2a995b8d2cb64d0a765471f74ad62e5e023100a8754a9b456f9cc7716a2772b924495a0ee7255833b1c9d7776389fb63feca37e64a045384fd6bc365b2b73c430b1f860302047c435bb50066306402300e964c7df2b15e4484f931e05140253cf1fc8fc18955eadc6b2cfcce51ac0f7730efaa27301fa5be45c2f310b3e7d9e8023055a068b1b6352cc990140195aaacb366aa123747f77c05642a931cad02b1a9f583b9edb50f2882fc64441f131507997c0302047c435bb500663064023073298f168c1ca2a33b9d8158bb90fcffd939185700daf4a984912705a382f7f03983c2158f1ce5e93229e6a28dddcfd1023043c2f02b4af50a85e533570ed72be118391589c94596438be6ebe2f9a7ba8d43c475af72f3fae7b220e1b5113f01d0380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c860eb8f3785c4845bc8108d571c060d864ff6a91f8fecf4d7c48cd423d2e9f58cf93e5c837632932ea144d84b8a69b10231008766c000e5d7425990e93d7e201b301d6ea56a2b1b5b8a360e0d074a033b0615fb3316cd2aaff3dd5fca20d3be8013850302047c435bb50067306502305566e6a8214510348ff6c18ecf09272b5f5dfcd0b60c8e53812051c2ef53c89946163314765590180f95696d6b4aefdb023100f24c0cd1b80d17222629839a1dd56c19afd9301880016ade82318b517e3f90a7a63349c42e2ff335de6e97dbb96017d40302047c435bb50067306502303875a2b2c416d3934fda0df60e1062763942173e216d57336769f9139fbe09de60ace4fd4eeda5e62906f524da2ee4b3023100eb43c7e3064ae2fcaade6c892efca3c687c75c41aa39176de370fe689e9c3b522c6711318a0092a65f9bf0e97384b40a0302047c435bb500663064023068cec031c56e516f991a8c8ffd75185745ab1c0694584150ff529cec711d7cd5aa60db5ca73df1024a088da4f021a6a6023054a9fda048621ca754405badabe17f1773e51966e0d5ce53e2ddb9744878a7e63758c97501794a01c488e82fd60098870302047c435bb500673065023100c60024ad53cc5c089267370ea5735109c22e46e6f1c11d6e4abdeaa2468700a937b968b1013a03a7cb9320637f269822023062b8ff511d5a951b33f8bf2caaef7ac40b59d40f5fc77197d2608d313c43e472a6346617819b5a16fe21a4aa25e72a850302047c435bb5006730650230035ac7ce1e058d174269ddd6d4574a4617a2b444849817a33b449700da884a53c2b9465d62e34db20d4755a01c89af6f0231009108f574494f64c514d33e4a82619fe1f3e5ad366afea37aa56f8825aa2137e0e5fc5b690d7e30f85380b8f18e7c07b90302047c435bb500663064023036714c6f299462a3ccd1ceb78fcff540b9253c8c684090b089f7dffd18bb507e199ec1ceed53175c9e7ddf6f19fd4309023038b3d3efc228c3c1cf80e7bc976018cc3e40fd962ad935af2988a71b52237584aa1992dd3e6545364eded647a557939f0302047c435bb500683066023100effce400fd284af521e9b285931ae968008a550a60e2d1ff4f7a65741744bd27c0f0c6f478769639fe169911bbe5011e023100d63438e84ab9088952cc9c56eef6d87f9884916aeef556bad13f010ca657080d6e088cc419f31aa67328bc8cf79c51440302047c435bb500683066023100d0851563d900f572354924f033a53262b28575e4302ea6b6c6ae3b7032c5fc6044e9f5e5276a3a1e0786ad78bf442870023100e237ac0ff6edd2bf643c17868191c30a4ab4c71d0f3182dad9c2bfe43fc00fe115dc7edc59214d084c386100efd86de80302047c435bb500673065023100ecdb36bf0c4c727126bd40b1c777d19c03bc02b91eaf21912b84985cef693d7962ab46ac58e3807b3b8e0a2acb7a33f402307a09b209f485124de6c0a4adc393a571061abb3c4fc09421992d33fbe0bcbde2fee4dec3c3fdb91437a5efb16b9d337c0302047c435bb50067306502310085f57d2ccf1d7e5a27c26d2bdd54496bda45d3a3eeb2fb43616493d169b0b6e3b7edd7dff8f48749e7fad5f504e6a6d0023040be611ae0703bb943cde49da00ab86779eb9735b455be3f6c34335f82b3ad97395e3b4702cac225f157501846c9e1c90302047c435bb50066306402306be981c0bd7fdc305b73ad06015e456a9e1cbb1774f52aa11cee61550eeba5365be987dab4dbbff413ab6814e213423802301698eb8766fb0a3869118d9c6f48cdf3827e17ff17f5b2026d2b2624091f06962a2154a7ed93b9d595f2fc214b5012b60302047c435bb500673065023100a8e59828169b16120e7dcf6b3636bb192b69192982de0e9db6aff192e043d24062d570c32436b66aa64d58c20bd0b15c023002ecd0c6e61700c657f5711a7de568cfe011d18df15be83c0b0f4dc4d649b5ee140f8fa99c8f95bf6063fe0b936e645e0302047c435bb5006830660231008f1dbbe558257a14db441890c252d6641df259e77e8b728fe57f171ce5be5f9573179f5176357f686f3e3b7919a25e76023100b62e0785330ce2d76b249ba5a6c48c7814aa086b5b281c9892dad05b57794e39e239f8bf4335a365e547247a198532fa0302047c435bb50067306502305a6cadbb0d200f60b6b8b7a9f3146eed29680653c9cf75bb26b127b97da0aea7772484d8e9ecd5633648fed38b0c692c0231009e14895147a780aae829d649adb30aa362d5bcf9cbb85406f8942ae3e5988362e89bca0d67fe38a87e0703b6ea2c55630302047c435bb500673065023020dc446ba8a258823aa27d1d5bd9df815a2b072719ddc543e16f3b4f479d9f197d935a7aa57b6213385d2ebc71bb481202310097d3ef7e66e66b2761e775dbc73fb91002223e44f78b275cc154b23c54085bfd8c8a3ae860f988946def790c235f3d910302047c435bb500683066023100964f256a4057b3c535a1dab926872ae3a61123270c085f22e9c1d3c25905fd3755620dec2d2f61372dc4557b75231145023100e7f09400434d1c9d0baf0654171c4af374d985e03196ed942eed7640df497dd5575d3e734f4f49c28022109fe2fc57f00302047c435bb500683066023100e0208db9e6b3c5f87dcd03c7b11df0dee177f9bdcbfb054a079ed6f796764cc57f6184a7903ed689b39fee23d9821fc1023100cf12fca30cf94d8f7ad9fd382ba712bd6c4b7a827aa8932a24920e879ec70f74247e6709900dd7f163a65cf3f7a946940302047c435bb5006730650231008dc8b7fbef212a7001e297e40fcb031cdd10b35366343e377bd376333c13a4f8f3df5bcd94aaa73db4779d9c2ff9c60102303b2c199707c5685532b4c356d2f65b993c34aed407c08bccbf3f0ac85500eda4d05d17596e5ccc709679a6deba59eb7b0302047c435bb50066306402306683a7a69bd0640759a5d1713c6950a183518b5631bb902099b288c121a474d1e8d8c71e2b9dd1006084be3604a806670230061865d092f1ee21f9fc56e8d965f57ed5886880993be9e7de756cbfcb640cd2f20de77b6fc4307fb0879f43cc2a0aca0302047c435bb500673065023100ed72ea3adb78899576ffec4e7f50003e841545ac8d6e4e8d3984e357b5b5a321730e24de1c99a62ee84f7b0cf93ca575023034dca257e1fcad7c064da01adfef6502e46797e8342caad96a5eb0b85f34056984b75c0f865e79358902dd20ecea79b30302047c435bb50067306502307dbc4c652ce306754d7a064e1fb464a488b651a9f84ee21d30ba5f220d845929b5c1b9114d4d17a07c002ed12c67d034023100bb9a0e7a5369eb0e72cbccc8f48502769b37348010d233655495a9113cd47487e216037a120c4f1339b56c2fa5aafecb0302047c435bb50067306502310083389c27c91030b3fdaf0e2fe647de8d72509e8c6088e3d8f50ed49ef93632624ef014110c3afc4582929ea9258bc2df02300706a5f54fd095b329f0bf9c0002105f73a2266e15154ee1057ed1095d3459b0d1357f8fef583950797486424e88ece60302047c435bb500673065023100a1ab50ca7ccb043162b038b4440b10debbb06c5d4c015682cbe50343fa4e041a9f201c4a0d961b9d13f0a8ced44da569023025e49adfdfde7870cb743654dbfb618c0efe14c49f0383eb0cd136552f715d9fe462bc33c770e7a9f7a4b3e612c7b3510302047c435bb500683066023100e09c1fbf5b91f6a876933a178176021e903689aad6faa20ce41df5b8a5d470b288c37f94ff9687cb805b61662487973e023100cc13f232c1f41bc51eb3149279ba14ea201577feb5294878e3617317a58e6036bc25118753b8d21ada41f9400fa379020302047c435bb500683066023100ad62a9c71bef6d2ef272ab8f36df698a3dcd49bd500a915b0103e797e92e8c35ec5adc1714913037b2b24a2d60a3f1b1023100dcf3760c269cd0cd135b4cacaba985f63a9e423519912b712f2b80c018085e6ff12990c6ea8199e13f4037adab15329a0302047c435bb50066306402302339341a0ee43d41c806f51cf8376a39ca1ad00c9b94ca2e506b52d47c837d1a54090fe047d00d52bbf168c4d97d6c1f0230369c11dbd3419e9f4a992e6c5b4a62be299c227205710a67c5b222bef92ce1536db9890a7c5309b45093e67a1e3bc8e70302047c435bb5006730650230756fbd5a65fcbb28c459a7dbb80917cdb30b64233cb7f3f5728f4e5237dfe468720016735733ab5ea74ef323f72feeb102310089f7b8d63be9f19e32447d6e5fb47d8e06e2a66b20fb11780b32ca7166c420fdeaa0456bbbdcc8b7c823506ba917e6470302047c435bb500683066023100d5f5ca62c2c5d283fbe2372554710a7499c5dc4e428f875ab08e43f8e493de39b57732d4ad6c1c69a091fa661c3ab8bc0231009b7d0e259eb7b25f93ae143dbc8eb4695acea7748ead311d0933a661c09b14499fba991ff1ab8a249caa6f820cf71fe10302047c435bb50067306502305b9b62bfdf7663a7be8385b4871b3dde57bded113aff5cc0dde7ca9b6ea2dc7bdab95122fed84e89d015f02a8f4759c2023100a62123a1aa957f203ca82be239be1195ccae2ce0d78ac446639545481878e9ed639f7725ed55895637666db56832c2f40302047c435bb500683066023100bd9e2eb318cb875493f20d4307c097ad64a3fcf3f2d1b2c384bc43388562c9969508388ff14b9d0da121e0af5d483944023100d92097c04c2f453b0063d0a7ec51dac11e14b962a20aa8fb7a4bba3a7935f3ba3e7da9312d679753a745af90f39c17840302047c435bb500683066023100d568115b365e33cda3cde1f1314fa72ff753e6a31ab76a781c3fa177d4499355aa3b13ef5467e60ec069f8dcd68aaa88023100c72fdc731ee8c6f20a2132878d5742d17c9049e9f81a9311193323a06f908e108f39e7524b4aa836bb9feb2d005d0bf50302047c435bb500683066023100c25491e33b662cf4a458bbaa7eb687dec5c1e030be913b92eac71017a360182c2a5b9a03d27def9d2ff2dbc603a6c0f4023100a9b3ab5054dc4085bd083b909dab4313d523bca2560ff64cb2a1e90365a0147b3298d44a61655b837d1d412a410416b70302047c435bb50067306502310086489733c27996ddb9f1f180512dd497fd0b1380c36e19fde72fd552047d853217f65de4feb6a4031eef7dd788fdb486023054e94dd69ba7faecf4faaa5c8e62b7ceba0b2f61622d02f5f224d52aca6a489495fb1fcc733f026a841e1bc5b2cbdad60302047c435bb500663064023043b7ef49fc9a87bad592a02f699b05d9cbdda6dc2a5befeb1ea4952fa44dafa29d7b9095fc449ec5537f240e05642ead023048973ee18cb73f8792cb789c71fb52d5d59d8853944be0eb6a3562acd215591cce787d525a3777028740dfb2314ad7cf0302047c435bb500683066023100d07913d9fe82467fb1902d4d692fddb751ed62aad81061e8f82b301db3b75f60b4aa3fe184bb7729ce8db4229ea758e9023100bb3c6f176e49718ad8b8ca43a0542b8cc14b94f8c60fcc0cefa0351690b0d52ca4aa33950820a6ee46d5ad949e85fb9d0302047c435bb500673065023100fad2b24a21cb227bdd4b0bed421fbc2d4fc9bfbbd5a3b4b2ca6b0ae715f079234a7b5739c0852b75d251e620bf93c0b002303a76ec9e39f47b0067ab67dcef15d3f0a6100c03240a53427388e61e490505940d595fc4e5ef7d71d32943377e05bd110302047c435bb500683066023100ca4988fdf9c514be44e6a99c14b1d129a83363924b471c62fb043fe21da4a21eeee719ae3d6af789156e2ff7ae8d680d023100d0d908b2f0947910605db5c2de20075cea7c842650e44df60a6be2044edff5d6b9f1eaae94a9cdc38d4eb98ba64d123c0302047c435bb500663064023067e031f1d7c9d0be61a1571503cb77e36bf3d9f645fa35e2b92498de69a731581061c6a27d94e2f1457e4b8f2201aba602300af9277f185e13c7d31196e1b713cc441e06196966683a1ea6fb3f3b235103b80475e063ca3d23c3388ee1e3472c7b480302047c435bb500683066023100fd3978ced259d4bafa4e5e78872ce0554b1a2c14ebaa32933ffc680ed8a53bcd037f762613c53097c840aa234cf37e90023100f8b9cb838a88caacfded0b0ad309ee7b4ef22f59a0e01310ef7178e9084d463ae841e433209f8fdc8bc0f9ed81f5bb8f0302047c435bb50066306402300efcef1f616a9ab5d6e6e9b6e75e5d3ac5286378d0b0af21a5d157908800781d0bc37bfe689242e84ad6514a39384d5e02304dbd8f55e5082ad902ec6e1586f9f72d5f43c8f81529974eae17e8b61d693bcc3ab1973419fb62477a991e7c0d7fc69f0302047c435bb5006830660231008e586f46b63a9b51846f484b13ac13990bae723ca6b201f43c639e02a78564bf4c5832b88cb9369cdc49153795c30280023100fca689ab550f054e1ddd1bcf70c85ce2f7a399d8e3a0c18c6a32389f75f74df6cca97c303fecfa50b2332c73f7b5573b0302047c435bb500683066023100d5f4a9cdfd29c96c185712fc213a36b297536e801f3688557067829e19d038b4c10727a02b4363370c1d055be69efc71023100ec5fd2ebd403bb6acc05afc7540345e0710b108f130453480451c31398855cfa16eda36e4fab5f55fc2c4f726d34f03b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230689258154d6fcdb333d7f4d929b370abb6006489b6d8f21a97227add004f2e7146955e8c35acad597fdf5ba109ec27c4023100f19bd52af3b1becd77cfda1c07f15d82986d225ab9502b1ab85c3759daa54e29ddd67651af94e51290e2e43078357f190302047c435bb500673065023100f094c78d80ba8dacc52ae89d0e56f2db86317bcbc3f9f9990ad1a9175f62e2ba057fd6a03769582ecef313c16b1b6b0e023052b85eac231f0984a5b12478636b7402694db57e22f0af24b9a95fddd72687e90f5c08af6090fc809a41b8895ffdd34e0302047c435bb500683066023100d6652d4dadd0c8b3ce892f0dd8fa39f3541bfb68587445cd0322cb53f620984702be8140dba5abe2cbfce31a33e5b940023100899a8b7fe21bfbfa6a10fd83f75031e97abf30f9cd998b447a9a7961338efe333d9fab1b4b46d4425e8fcc8606f6a5870302047c435bb500683066023100c961766d10540b9392754440f073ba1663d00839de6a47061cf6d92cc38738279e73474c5824014b39acac9dac7c0e77023100f2547015117dba2c5b4e985117130dfb2c33c6069ed27f6aedcd459129944e5bb3c271338a6af7d8716f3909f99f80bf0302047c435bb50066306402304e68699fb4edae526591729a60b51a77148afb8d157dfc94bf8eb7dc4e1485f795289e5a447e73a55ca317c435e9c47e02306aa019a79d279d79e56d90dd8f90c6df9bbb3b34e0a2e41d1dec4efb46086001e7b271a617ea58b51fabcb0e4bb2f6e70302047c435bb50067306502307336989c9cfab88b720982ab5f96434a1d955f116053adc6cac207943a4a1ce7975fa486aeed8d0ed57f6ebe717473c8023100f987d2a7be6fb003bc943146eae9ff452ffebaca37fccb978083617ebf76559b5d4b5759dc04fb4f7a0c22bcacf03d0b0302047c435bb500683066023100ff0dd422771f123ac6dc97fbd611db518ff90f3a86f07893342f9b07a33a68bb77f4f9be9c5c28f898a9b3de98a55603023100979dbfc359b775e773b26f8472c724b62655581a9fc627ced0a95fad8f5eaae5a3a510c98cf1d579349c2694912ba1430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100847a2869af0084bfdf97a03b8df054609f7ff23ebd9c9a951b2ce8cd13efe805e11e8f20b50478a662c4021586efc684023100f13c14f8e48bfda37a485a8a29d192cdd9b5c78ad666c6b116bc3ca27048a1a82c5149d5e7950186887dd22b3f89a3cd0302047c435bb500663064023021f9f9f853cb5af2a7de01ea15e2fb0b940edca84fdb4c96dbc351165b00b48bcd99460ea9bd12bf5265eb5b3163449c02300b501983ffbb1e791061e44fba00ea2120a60d0185fbbe04d5b99ea6deb10d315c061b4371a8a1fd9d7d394226d1a18c0302047c435bb500663064023066d3262ec157003026511e2434362b0957d625ac5f89206925b8bd55a81349342188a7e69be67e263b9cc47537943617023015118914734dcdd28c975b87b3b719acaa021daa25f3d692c3afa208cffde1ecdf9e2628206d6967114900a5523726930302047c435bb50068306602310097e71c4b2b2fd78a9625cded64270c4d5df86741c344df2151123b4c6759110142c27ba9d9d6488e05c55acdc532b914023100e4e9ee896ed95ba604ecc4e41b81ba2d4061af8eafe0768eb62cc8ee5e59b3d325799347945ece647b799c5b87f8b8af0302047c435bb50067306502306be17061edc8d69942b4141b0a9a160e3281829cd345a548ec138a710f84e4a679513978cf7de599e01ba68c2e0a1484023100893a00431ba715f7780ba33e5d4abf0dccacefb1313d6bddd36fac6d168f03d6541b115f7257aa2715947f8fdb4bd1460302047c435bb500673065023047f25f0f9d9c598f8341cd7b1b379cb463932da963650b47632621ea1d138f98b87363a5b2af6e37ce34cf3c63ef135d0231008c056ee333be4707d6b0c664f90d7012b6195ce2576cdb48a43d5cdfeb51a033b6f3a01a35d429b85a2ad1b97e388d060302047c435bb500673065023050f307d502bb0f07dc0ddb0c01d4465f4349eb1cc9b3f1ede66f796cfe98ede21b3281ab61b181a7d8a557a01e48db09023100ece66ed28289bff5d820419be9ef0694cb5e381676ec8aaeadad4ad13d12a27b3397e2635c5c2c3eb7286659541ebfa90302047c435bb5006730650230545b02a103b90f7e0c45d7fb3fb453bf604fd40ca286d4e2e95588aa656444aaaebdc1f875f8a352e19187272a5276a9023100f6bc9dddb5aba93bbe154151ac6a2fdea9b73d53fb66c8e59a58941f4c78fd614891cb864b574f716477f89d3fe25cf40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cfa69c2df09dafb37d723d8c7346aa7eebcf4c4bcb7ded4be423e5e02f0d5e827cb00b9e8e5e8d3448dcdc332483c496023100ca41b1d398fc84864d26eac5bbe22945e8be7f5ff4192d94cae16914c217dc4a15f4d7e349ba6b9ac6d2626eb4b43b650302047c435bb5006830660231009c118df0a9ff342e1c108ad5907f8da7cef7024952c53275b5c7e3f14421f81565310b9632dc005a52cc2e606807c6d50231009bfdbf2916d9b42bb9d1414271089d6f730a1da2aa332f3a4c8ba13b76f53d237d8ba623ec9a1cb002a3e936f595bc3e0302047c435bb500683066023100a435ec3ba0bf0b139464cabd3ae7cbf7b8b72b2b29f909ac43bd39db8f8f1433316c737bd3b27734b1522a471aa62d0d023100c854adfd2626096ea1a6422c0bdb2ddc84901a8cd3accb35fcda61289c641a46a4a7976988f8c098e34ac5726901a6430302047c435bb50067306502302b738af8165854a0e82cf613995c5febdda9e72eaf7af97ea7d2fd8781b5d06cddbe0d1ef2da1350c6dcf6db84a4c999023100fd5be6ad79be6292d633c838bb26d4db72bf5e2a6e2f41de5ad1a91666210572998edcb1aa4a525e5f95efc89404eb210302047c435bb50067306502302279248c755aeb44b16734c541f6ff8836a249e3ec38d96e8396e7070c89edc5c697ae1954c38c63be9bdaec1b68209f023100bca7d270c30917a8753d91dfb26f66b0c8779b7978c3846241ac55afb3bafaad21265c4075a42898a545faa41844bc8a0302047c435bb500683066023100fb7bb7696959ab324f8e1c358bf81adc05499e554542a0d01059d99daa6f0ca817a90e66cdbad6de2937128844c46435023100851144af961ab482a41f9c70d1fac769e0e0afbab3531d95d60c64a2f27015291d36af4af4be195bdb2a1ccf0ea515ab0302047c435bb5006730650230115a92213c1f6c34e3d03c5b9c3289e2b1db7b2683be6cdaddc69651d0c895c538e99c19787e65577f22ac728b9d4968023100af485aded1185cbf7f73e59f785ecf62c2be0063e918604bbb247f3df01a183da31eb86bfaf4b763261124cca7401e830302047c435bb50067306502310083487754173831fb9eff990d5910365e8180de1468c3a330dd2e358c7a2f3de0ac5c034b96b8286510829bef53ac5c79023055ba5e01e1ccb87549bd8ea0ebe6b5967f698ed5cd582828b452fb23dda31c528a39e258366e6b5f87e0147de2dbdf850302047c435bb500673065023100bc757843cb8d38a8c8e0c0e4c85ba471fec69ec920305ae79c76d525d452893cba195b27f9e3f8ac668300509b455e54023003960c62961a49f73be5c80ed26526251d69834af348ed98c0192d04bfa42c46fbc749aeb7bb299706e81eb1d89684160302047c435bb500663064023013202b3d9b50bf1c5e2a2e3e873956cab6e811e530079ba2a0d71d6419011ee191b796f8113eb37c99ac263145c8567202307785dbeb40a7946f646c383095e3949d20706b3a51ad0ee9b4dc4e016dc514ebf096c0893272bb8eaecdaed33522f6e40302047c435bb50066306402301bf82f34e1d298bade40b2ffd0ace26d1b78505a2b6b5506a79685b632e8a10804e06fad30f55e0866a769d4f2a036c902306c19ee2cf149b03a22e7e7d7b53d8320dd18b3fe6bf01451e3c4fe67acecba1830c2a116f8cfd5b8216152accb13be890302047c435bb50067306502303a8b4fdffea6f9d1cbabbfbb4c866f42200a6aafea1a06a7cea4bf4686bf6b363aafa29a70cbb6247b62d230a10967fd023100cf1250c321c4999d69f42d2c568eb58be3a34d838db07891af19a4c628017a83181f72095b4ece18a7de15b23bce3a980302047c435bb50066306402307e5d9c2dcbff6cece8ff29e3c9a59b1993b1e4aab2f616aab2074c0c991669c2274067e21f07773ed587f6320d31cfb80230719971925d7ab20f24186292fb7163d8de61dbaef0cf59b87a989ee148b1d6fa35ce247a2775fc9600ebd3bde9bd3cc80302047c435bb500683066023100b00fa2e1969537de4e2f152d674f837e925a164541d6a4e81453a3bc81f1dc7ce913513b18908ad59577e7b0414d2db6023100d154bd11347a8b44355aeba970413f9cdcfa5c2aac7435becc006bcf74b61e89dfb51c0dafc153296037c5e6b37e56200302047c435bb5006730650230467457f73439bcff0961b8d23110766102c99bb13e129ce38dda696bdb79e8e9111b26f7f6d36fa11ed2c6aed23b7ca10231009b083ebe7769359c0e457ae2b55dcaad7f2ef4e37bf5e8d5d97cadc7ee5171b672a87fc891f60c9a5c526b0b55460e9d0302047c435bb500673065023100de475740acbd5b2045f8dae37554b312f792cbb51a853511f08f8724309af662b8435f7de37b867d1a2402998f3b045402304dc422976d82c027d3ae0cbe8dd88f37f9a8c5e71cf116dd5761358a5e39595cf2dcf98fe7898e67aedb3b9746973bfc0302047c435bb500673065023100898b942aaf9ee5fa8acb252fd62a274bb317901c0b7fbc320c00a774c818cb91e8482ce190babca39ad645f147bbcd3f02305684ab43b402b4762808afae6a3d76185bb3d446dbe45e7be9429cacfc3fed898e64713231886d6839475f470bb36be90302047c435bb500663064023048213114da67cb1955f2ad5fa53b4dafbf43c52225cf2550508680ab8160e675ed92e2f3fb3b819a0c722895cc178d3702301b9af34668a5ae9b7fee86fca6daf41936946f8b020e26ebb90f075d3f851ffe4876cf13ed92479485d5a7d0474ced8b0302047c435bb500663064023059b41417323118515ade577b200b5fe27c2a918a7fda9b07d166cb5248b737225164455c9c65c3bf7f4a970c49343d8502306eee5e355148b43362e0928ae89bd152473f8ec670284b7278e31edc91c9f1d450e2078adf87a8de8ce09379fe1046dc0302047c435bb50066306402300c8d24f98a9011e20f06ab6d0ef2aa8d724cae9d2b35fd172d03058ab61f9732dc474ca839e05e871870f0f86337a2c502304148eb1d34b5151f03baf3360cea1fee61b0d542335658592f7d6ce47700da87ef40683b14da24d525b33a76619d3b650302047c435bb5006830660231009527596121a608f4cca6cffd78b27564f0581776d2025645453f860432102ac16d7dba26c6817292cd790e44024bcd360231008c4d1adfa4f95f183c00670fbf984a529b576109039d53ee7a70d45ed51bc75dbe9a8b1c02188c18f914079632ad428b0302047c435bb50066306402303accdd93bba9bc72ec345ea64cebc2a3592c8d14d4877d26ccceb09f1cd2dcc376872290a831f8a97a32914b7ee19886023003a6f86c55d537f09e3270753d672f4f0c7d6b56807fe4bd9b775dbc85615f2f1ba0d67efecc481afc7c0f975af1c2020302047c435bb500673065023100d7eb100aa70d8763d149465b28606ded0618661f08a332db67587b6f6d9ad044fad6a5f94f16d797477d5bc1eafd885002302daf34ceb942b182a139e71655c5355d2ad01ee5ad5c93f0615bc750d1ecab00fc33508e9b2594111e53e78a4eb59f980302047c435bb50067306502305f48f4f891f691a163f2819c80fbd49c02e09d8dbef91ec84b8b598d2b7f20231b2bcbe405d6f7c9fca4173178e11d92023100f51dac05d48661d5cb9e7baf8047047f9b8ce29e1415ba9da9448b513a83718e679302cd74cbffdf09793199c5dc2bb20302047c435bb5006730650231009ecb8ac6c1fbe2867b44535aeda59757a1efe4f2a71a4542f7f742c4f760c4797a87827430e9488c61a0d398ab3659cd0230719b76e007437ac09ad494221a6e4ab7250b4ada1e8120cd760c66f896191661143059624c7df6345a6749a30d3acb560302047c435bb500663064023072ff6ba7b04036f97b18db044da81ae18ca756ba64fcc570b59e1d6043fee36f81ed25ea66f456ebef11dfaae0babafa02300aef09efbb5eaea88e1eb4190f634bee9aa11417f550aa7b6eb4d6c1c885d92fe96a2f1f3bfdff6c31d9dfd89d7eac4b0302047c435bb500683066023100a74c8ba5893ad291260a87e956f48db2f3b93f2e6deb7364c7e41042157e6f51d2f851c80d46e01c2ed81a92a3636d34023100ada8185787893390e1aae3f8378bfd7650811a458a832665892caf12520112e8aaedb681b9fe817bc2e72d6cf9cdd9420302047c435bb500673065023100fa5057659a4e6baa1ff92e50cbf0620fbe0e4f767fc38c774a3e79d2728f5f62147ec1d6dc9907db767f267d1d32ea20023066ae14ad6cdd4a491a78c9eb4fc25f49a1d80be0219e5df186b458e077cbe5fd29aad240a7fcb1d2105eec1e34e5ac190302047c435bb50066306402302fff07e73cac495d011a3249edc2776d3cccd27153026eadd002f08236c8efb52e55db54ccf4c82a919821006aa9402102301149f492f236bbe4f24471f240c2d04b68d4a2494dd1acc3965d1094105067f9d4260d5507587ee48113c5bf86060c340302047c435bb5006830660231009fc3580f644533971e9a513c86a8a9ce647542860997bb0dcdf5774cabf31c04e4431d6898ac42b3ab42ffc027a5609e023100e9b3277747f1038a3d9bd6a706a44bb8b5439109b55ae239d6e3cc8cee799951d804c4158ee78ed4710f89efb80776210302047c435bb50067306502304cad2d41a22583a6ac84cb933bdc40a51e8768012776699f4b1a0939f4a1f7ef67d7dae4ea6ac0879350000b57bf3bf0023100a5b23ae64dafb34bb1cf2064c4aa2594f2fbd5553e72153212be166d1588f349c9d76bde6a3dc10ce7a9ebd8adb112d30302047c435bb50066306402302b6b1606bcc4df20af57c2e5aa2f3129464e791b81b782504db6e6bc979352ab73ef0c1f1e2cf180917926f4e17a93d002303a8d45d062293063b066d4406eb663834d42f97bf25ea8b5c3db29b806269fc15a441025547f260c887b066bd1d216fc0302047c435bb500673065023100cb504ef0d77dfe41b07d3f17dba5521705d72952783182d7dbc513b38859a4ddb9f3efcbc9fb9f76c9f010cc2bbfc9e0023062a4b1ce351e1bf6bec8037569c3204e8b6ca407d2e4412a30c42dcc00a8e27199d845b22238d5ddaf8fc7267dff217a0302047c435bb500673065023100b3767da0a49dae8bc55585c25b1a155a3937615e3361c1794089f5ae8b1b709635680b23be51256ec60f37fa08f26a44023018ff2002e6545a1d1f653345851f8788f1ad2312132192c5ec63442180877d40aaab9e5e7bc98af98215081fb10f58140302047c435bb500683066023100fdbb6553d075866f9fd59d9fc6fe2689f27bfc9caf33f28bfd1a858599b650d10ceb8ffbd3855df60ec93e36b83c3359023100a2bc14278f4ced99f8c929470f8a14676c3f496a61250c458567871df88860a1499e159f2b52d34febbc5ad173ea40f00302047c435bb5006730650231008f2b70a8810ff627e6a8dfc582a2f5801d2764ca4d6a78afe2300a78ab934285043351bd5b99eae624c078ea4d126c93023056288137be23db9c53b2882fb1527ca0141bb49db653ea6a1635e005281892723d4cb56182f28b8148ca2acd595b96280302047c435bb500683066023100e00cf869a290ef04d88ca23efef5316840aadaadc0ed23ad0b82579046e2423e44f487f18164aa86d4285f5bc2372a95023100fb6c38125541586345ec2d2b80a751edccff38307048fb2ad3095ddc7c877c5d0d55ba1cfe276844645b773c259ea0be0302047c435bb500673065023100847ad776844ec2dde81b3aa67fb7e4692a03df9cc6082fc6e61a593f3545fcf08d4661d2adc10d4a8099c5efa67c90f7023052259d36eed44861d83067fcccb1fbc8ca9119a3903def4c71cba7f3db056223336c1c204f70ada73d7f00423ee6e2960302047c435bb500663064023060a7005afda3727b41576cdafd82cc99a0e0d7828a489747968c9b05af0d7a4b462d9c8bee1519cad501b2c6bd11011d023027805d8e27bd20b51922f3be01c3131e0aa5fb8c2458b2767cb79f074339d5af17a96929866ab1e21cf72ea31b486cc90302047c435bb500673065023100f8fa0f137f3155c1b6266dfec72e1de3aac22174df9f1149ac74af9f198ead89e8e28716214d5484a76153d48bbc13910230270007ffc68342e9be01a8ddbde8dd295465554b8d50409a3fb6c03f608466fefeebc5e3375584e6a22a25782d43f0e20302047c435bb500663064023029eb1058f7600e9ea79c6f57879bae8941cb03c2cdb49cadc9dc9ff37da5932ccd79263a501a4a8bbf2480000dbd2b58023040842d527585c5940297c3a598ee63bf6b8357e1e6b6e38ee92f21246194e8cc4b4ee1403a33ac3b5f7afa8de1883af20302047c435bb500673065023100cff8b0689cd637721c4f31c152be16b8935c1f5648e08760e83a2863ef8010614f1ea05b1cf2a9c1b763f1d462dfe2bf02303cac8670c63f90478335c6c181ee3c6797db8c1390f100c17b1c6cc21037cc397a6d6b0f0f2c7998064cdd7ed853d78a0302047c435bb5006630640230429a27cc999c2e59ced6f494b1e807cc763cb8d8d10be15f89aa1e4272a53fac4016774147c22d302f4ab3088b32b21202305f0ca798b6f7590e02697582f101093e01468bd17e06cee15d8c9ed63dbd0a460b48b0abdddbb74ba56c5d2e9e8275290302047c435bb50066306402306b6ca82cbd23eeeb7232398e6f6dc4fa2bc5b09ecda5e115eac8dde7c52c9d49224af5512705cbba98d7f6785a10a64d0230039ef9d44a5497f0defcde1b1de030db923a705151d243ab7172cc96b6bf46aa04f0d71a643466ced5d74be47736508f0302047c435bb500673065023100db33eee99efc56cd5d9140d2315ac34acd36409f7c13681e82503a61a37e4116d7ccfafd4a9411efb886cf8e50e36c09023025b86ec183b4a5d89a1041f4791860917f0c66f433b5712b9a84e878433488337f51af6ff725c81e5c8232db3a8051a80302047c435bb5006630640230091e744863c70edabf43c2a38657891cbbd5dba0aa14d0017fcad4960a9c3df7ed3300f1d86798856328aba352b9602c02301438f4643766312b9dace33dfb0903428a9745e589091fc9f10d943d127bec5beb99f13e0d87b7f610fd10b40a97ff510302047c435bb500673065023100a9136096c7f610e3c04ff7a39dccbd40f55ee60ccaba8df28e454d78d0d1bd764ce960e8900573955233e88e83f0cffe02303edc697fe227dba3255d2a12bc66c69b257eb01a7b7f58ed481d8f7551a5f14ae3472682257aa1249dcb76c461b447790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c8470dd52841ba0094ef89ba9d1bfa38e27b10df8dbc3beb07260ce7d53d3b4360905a3b173ce275183d6b92ad18aacd023008da4567e188d64124526e7f5f6a8c40c8ac266247ee0ab6c76cd9b5d2cc745dde1285c7f92c07057108c6907b11ae7a0302047c435bb500673065023100e45042d5b917a6383ac95431d6f310765ded92de853727a066e491d39c034c8e9b0b8e54b6a166f157486ff4662d3a3302302546c1157586a433a3314783ae04f1974abc95e4a45293a81034096bb14597b6294d9815d46d519142f1c863e3e7ded50302047c435bb500673065023100c0bf5f2d68cb45a9fd80d8b2ed91d7efd69d82415ff234f3220a0382717244c7e658c1b8217f8ad943dfc57eecd166e3023077ab3d72a260575cfe8376cdf075f1005be8b42d924e26bb809b8f1a1c87f6e316c345b1fbdd7e0ca72a56c0a0b7395a0302047c435bb5006730650230739194d2baab10c1dfc66c9b3e34b9bb5765dbdb3a611aa45a67db6a591379890703d97708d823dae780a470320d5f0d023100944baf471e6ee3abf15a789c279046262c92c310081d9e8f9da833db13e7526a667ea42baccca653a5e9ab9ab2ad5e9d0302047c435bb500673065023100cec72d533b4c5b69c57f719b2a99e53aac789c1e9644844c7584fc0c96635f737eb2ed4b1066c10ab6f8785b67d872b702301306bee70f7284548077a84ea6d73e00376553443e21a5b94bd134a90b71c379bf69032409b0a190c132a502eb6f5ab00302047c435bb5006830660231008b35510f64dee65a40a9c958a4018973ca9c05b813386dc2a68c9c287b3dc7a50bdd92f9b38a60173e60a5d73cd019e00231008c548fa768fd91a6703d29269b0bf6057840146277b6628eb13228a4e09fdab30d963b143bdfaf22fc0a0f42720e08b70302047c435bb5006730650231009e8ee4298a2dcd945df1519d0759bebdccfe70e163051041367e96630ff38bafac827eb500006f86d2380731b2523466023042c8f3a4772dc0431709c15c77637d327de7d29e93e864f6bc08ad537c8d165e2e86c52e3d56815eb6b56e91c9e6661b0302047c435bb500673065023100fc20013549e036038c199930fa692ff4446c4ebed5389e9ae3a0eb1c421fe05ecca0e410636472fcf08ed5d5d15c1f960230453cff7ba4fa71c6dfd919bf0e97d769945bdb20e467199903f08704a40ce327967ca49c66abec1202331fb3bcdff7650302047c435bb500683066023100e41dc025094a1644c023e4bd7304de1d77a182c4e1740858dc73edc83a5c65fef42d8a78892a2db25cfd094119ff4928023100bfeba8209a9abd9bf2a567b3016cf27a1b4654401ee43b7f00906cbc9284f80e9fe5f507945219018e04173e7dec4d890302047c435bb500683066023100b8f93269032600213ee25e8e108224ed96055344987c770e87f8f54a15f7cf5a301ceee3605f2976507f6dd8b95665250231008236278af3be36343686d03e5b3a4321553f4e47fe88d4471548a8801e4e1299f0e623e009761c19685b3a41a9db514b0302047c435bb50066306402301c5e75147773ef61d06d45774a6c857810d6d9d36fb65856e2f2ff6a669859a7c520ca640369990092f302e2a9d7f48902302c8a39127383585946d0ce80f0b5c7eac0198834b390d01d9fe12bb10b1519bd5913341c3b9912ce6811859f32c2ad620302047c435bb500683066023100c71a062feca474254386a0266c6c6c9ba44a914b72a2e12ee3b4be6a1b158cbe0e7125d27370c29d34582d9363020b7002310080cd019ea8b3e5a2e1b34b0fbabd39b88b1df59c695a77d84380c6fce6be2aac00a9bde36490570161e3e21a51d9dcaf0302047c435bb5006630640230561dc9deeeb27365807bfb0a7b8684640a515d156c5fa49b58e2dda75bd6e8d43552d6dae7b8269dbff198a428f4bcaf02305796845ee893518b3b34827ccf0a38dd0fbaedb63c3e46d616b53f7d5009151e1afeedce5f6fc281b3b6ef67aefbddcc0302047c435bb500683066023100f2def668cda8433569aeb87c363826bf34ce7f7d4c88de3129c1517f62cea1a70617b50571a344d12e075b93740b10c802310085502eacac0f70ad884999cf3f0d9fdd3b14d60ff4bd11d4e03262aa16fc57fba48d070ffdddc426bb4702d535a040c80302047c435bb500663064023002914782a46221d39de398a0baac13208da3522fcf5e2ee0c25ad70aea8cc1995fceb74fda00c5322a2cfc2b8348c97702304360497683bb60e004b389b8946f0047d0e0c8a286aa2be01ba9d4ebe8c1f1d301d85130dc5ad3e05c0b95c7a88c2a160302047c435bb500683066023100e7418b0b6e2736416b78e1d851a75eb67f858e43db4f2cf29fed39ed9af5b1e88e1e41e4ca2c9c65e1f8b4a9df47cdea023100df1d7e934d0a9cc119648f3ae7ccaa207c4a8e1da992a9cf96733fdd53ad7eb28f9b57b77cf538102aa364d93bdb04ba0302047c435bb50066306402305805ebebca128d64a6645fa668613981389ee74cc095121456d3006f76169548d0dc99dfe4783cefb00fbc95d7c22fdf02304af855bdd059178b92b9960c7f72d564159726e4151ff205a1e7739f9ff2346a0142b2d6daedd81520e67683fd7f90a30302047c435bb50066306402302b4195d9dde41e2c386e7aa2992ab3e623e4ea47ea9232ffa56a37e771fcf5b42468681401f02cfc2f62c6d0c386b9c602301e24d11b402794efe4ccefb4296d45133b829b4d4299bfb1c15a85badd4e7819ad76f2a030fb6dd73d99dbaeae6151eb0302047c435bb500673065023100f8b265bbbc71f0168d73c74110a84371f3e8b7d8afc9ed6b7baa361e2c5d8f1f5da1136c26c8c7a827b27fa64cf310db02301ca43f2c752c0c8ee1014f561e92cd12cbf02da6bb8d3a87343bdebf2ed5b44f8fe0b784d8ec4e0d779c03a96d2f53c60302047c435bb50067306502306f97820547c4b091ea6d145578a78e537d81e844a76be095a9626121eda06c90d1763af787afdc941ff012e65cae03f4023100f69d0c81349d28dda220a08358767e696c8e7c6ec4fed0d0fd9b987e8e40e750e9695c0c5f7c6f410dc4820abfbcf0360302047c435bb5006830660231009818fea37ea657d39243e65e9c8a0f03bfda8ecdf584edb8d4f6d4486f213123ed69b74a2a39754f00214b49b8e18fdf023100cdac41b00630a0deed178e28cac08ff7a8a082505a4c91f1e5cddae93f63eac1736df143ec67d8a2a5a421ca1b1947d40302047c435bb500683066023100e5226c2a6bc5c7d7125fca0ec7c193bab98629b5105e3c814bafda5f076ef412231d6111abca3a0b28bdc4d7521c17c9023100d9e6f82d4a1bac2ea10b69e9b4a9336d1b2a2b687115a339939f65d7d92f21a93fc6ea28e897e76fbe688db1e58ff8ab0302047c435bb500673065023100d71d001d4c348744f8d48a32a1c025ac4416b588b4c0073ca8738e9130d0f551bc30579d12196a227a860f17534ca1c002307d44d7bf47c1ad58c6db337c8b5d0c3a41caea1fa8aa2b3ca5b0fcfbb2f75256b9ea8c981bcad1e11f58d7b81dd7cb0d0302047c435bb500673065023100f4f12c885c247ba2d2ccda67c9cf94bc3b9e89e7022cd7c8e484184c915c46bea3a534ceba4f4feed08fbd6776238d3b023037541271777fe1e253f6ccc287b08c3e8bc9f50fd8c11e46868c7e5059a01c04fbbe86317f97faee2fc8dd95fc8ebb3f0302047c435bb500673065023051db3c2e9411d6c282ccda08950ff033db1e884ab73c97baa553fbcdb075b6ea9e3388d5c602a1f37e1ce7e0356419be023100826a4cc515018eae14dca1b9da553768094a3c2315ba1b0d01ddd03fc9369c8ac4c36e9e412497a35be46866eef739010302047c435bb5006730650230019cae7ba9d69a7dd8c388577dc4942189ec30863370e9c4f4ca4740f8030fe0f36d03e53e887e03bab316abd7ff239002310089156fa52a99135877c9a8cb8eb6eb2e8efd149d06efc3871eb14b39130e215b3ad7fd29a05487da3ca6e7be7b5ec0540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ea58d393f39d354187aa552020a84f781789a35b4e3b13d0025b5c47b588792d7c6c86acc2224e4159df4080be278d450230095c176da1dd8de38e0f22efdfc0ecf7c12f431145ccccbb55abcf03ce81e3281b034f23ec77351b16b5004e3055817c0302047c435bb50066306402302362b6c5b6245c54fc830d102e7eae62bfb05b39c80d495ecb88d4eced536e20d65e133a8266945545e819f0c3e40eae023006ef34208e5a5f362b867190bd49f4500693bc4fce4b1bc9a7396333f49774a6c24d1ee3866edcf8bd1cdf3f7c054f160302047c435bb50066306402305addcbad7824e38bcaa1186827ff9d8895f6fc3fdfde24721618a87b2f7280cfdd93328a00aea4a450f906781d7abd1902301f9f2ee984f0c490705b446eed6a99c87118b0c09a12da2a22099acac16365f84b06fccd37619e472b83ec47c85372410302047c435bb500683066023100a350b977d7d0a0f4b57d46cfc2284c60e49746a2c3e13b7b08b39c884dfb4d6afe294d611954fe871dee6a38f80088c8023100e481dbd8c788c859c930419adc43864e162195615989a93124a0b914586f70f9cbb53ef45a9d86600223f46c3c125e5a0302047c435bb5006630640230680e0f07808f4ff33d2fe614e556447473667869aae692258ecc5c23540a70c7b0860923fdc71d9ad43cd80008ccce640230061b68aba901d7b1e6fcb04fbcefa2782fcec54c45633418b44c8f1b55ebf7cd9a518dca653347b9b631cadec951c4690302047c435bb500673065023062821576a2b57f2b09e7fdad7d0291a95234fb3a0d9692afabf011a3896002541f4ec0cc4cf267b1f773bc1d3c8372e8023100f8d47bc358bb8ea808cf2c806e6c5e5c13f16267af83850fa4b78dcf341b2fd1306f3d38c0cfb795d61c89cc90a134e90302047c435bb50067306502303c8a43a5a08e14ed7345e8855f477b777b1c0a35e62cd3cf73cd78055fe96cbac22ff99dae3db0b157f21808d65f118a023100cd34b9054c2ac01b173a2a04bc9c1b10819443848c5bebe694e2ce84df04498194d9374db33348e658541f6e83b31d0a0302047c435bb50067306502300c6cc8deafe33459a0ecb9b5be2e0d3aee214e7b6146b079a154a88ac2ea5eade4d1204872c2701424843f548e1f2835023100e737fd4cc4c41b16b699c81ea1ae8d629c11344c3856a2396d9cf93c56f9c37fa3c1292925e42067f49dd731014b99e30302047c435bb500673065023100897dd422d0f25d01ada4abbefd0e09530416019b977ca7a7241fad3a6f8100fc6de4bab0ea76f690d73bc4d74a894e80023064eec9f9b2b5d492abe4c62ca1b6c51b9e85983bf387fbd382adaa59dacb84c06bd54e4e429ec9079df2fb72f60a43c60302047c435bb5006630640230228b62856fba8381a384bef4bf82ab1f3cbe95828f9c2025c795b7ca56b86157909a1d284aa017058d06d5358b608bd4023071429c4db3b2bcae083f7738b038f5eefa7f02c0dd172aacf7a696502eba1fcef1f18e1e65663d53db12d45916191e630302047c435bb500683066023100d3cfdfe3b58524ebb542351e4a877ef1a14e88e8d0a0f64045ea9d8d0f0b30c8457c3c720e5217fbfd8eba769e7d695802310085d8eaae637d54ba497010c3be3f0f76e1e0f5487d796d852a74becaacf2f4dfc786045f125559946d873a0fd025c5db0302047c435bb500683066023100a29a734e304ed8036344ed54bac1546191fdf2c3a9a276557a30bac708f442c7ecce9e3ea900ad57356bc8ea7436c001023100adb4bf1e1aa4aa73fa4d216cf3e18bf3f1f5d25c845228ecec0a10bcd6c1d8e016e848b04c270450edd576b832efd9170302047c435bb500663064023023fa2146f48104ad01ab7495d7843873ab0244a6fc5eca117ea9f0713f3b46c8277f75b9abc119cfa6e95d446da8aeb802302454562731f2d91c44d261d87e9cdc477b53fc12352bf74127e34bab4ddb966f18182c9a16cda4371f26404bc4ee69b00302047c435bb500673065023100dd4a6899a2c0d93c9eb3dc480dc71e539767f8f8d57fa79258babaf73f4b79affc7b5d0b514c9897130ba2066804738202305a2a529d2bbcd5683888426c3b789d7d8ad88ba16d7f3eb8c8d2d160acf7574dda5eb148aed3dfce9289b1c435d709d30302047c435bb500673065023100f9e8407ea49261d7c6dda71e9ad6c502d1436d7b1490e3b9bba2056be95932cfd1379a8c6656c79b20c984cf281dbd4c02307a13c6a827d2f5eba9dcbe7e6532e84badc876351845376844f724dfcf7ca5f0c0ffb5105511db08e2bfda0c881244490302047c435bb500663064023067e7af3bca3163b9ed4912f830a2cdd238f1ee7c098221080327984a4db2319eb283d24d328e4b704f65baf4f2350bdd023048907e74233992e8c30390a767a6e30cb53703a1dc4c6850832670441796ecc3b4ec12511a690c7d88f14f0ff5f7c22f0302047c435bb500683066023100f68074222fc8a6660daa412c34432f2a750f71246578dd60a31b66a9faef458f38ab98f5c0dc7370280f5f05aca9fbfd023100bc6c92252971f77a521dd611042060d1340ec81dedec2a9f7e0e79965a42908aa739dba5fc151d78d7475bd4595835ed0302047c435bb500663064023077dc6f18a74e605e46b182bddcb3cfa09597b110d4051cc6bfee92a89fc14af31bd1af980d70b0d21ece1fae2f15dc3d0230051930bcce5306937dee2d35cbbd873fbd785b2d37f182f651bc581a7fcec3ebc4f6eab2ba120d44899caa80f69aa9b30302047c435bb500663064023035fbedeb5a79ba6614e67d0378f3ac3b9645a2574a520adfc2ee833deb3e2f7014df5b5c7d1d3727f30a889fde43af940230459031e0466067cbe7e5d10a0e5d961bb88c2de5875e5eacb40a4f7c3ffd227d03b3b1ec12e4269b5cff5e83dcd4e94f0302047c435bb5006630640230112c3b5560ffeea4b1b4324c4ad25dbec3359be57a59ee3f70652520f9c8c1c1dd4e9cdaddfa9616c586534b4bb3cbf602307cf99f5b59bfd6f99bf9d752fc4c65437ae26204ca276ec223d86546d517dc70ec98162cc6b756b0b6fb9150e20089230302047c435bb500673065023100efb235faf973bbae342e7604d8b89b640b372d671049435793b4eaf97e4c739f458d6b3b3f344b00022e7c2fb257a25d0230444d05435b13b9e7961d75ee054053de723479b05d4c26dcd1843a343eb45453c5533ceae24b8905b5b461d669beb85d0302047c435bb500673065023100a153f1bb1d6f8e31a4584c1ab43d79cb8ae0dff76f48b6acf0e86f56db2be2633078024a466cbda8e3bc33b3c47e857302300fcf49f2363b2cde033404b1c805b082da133bd1b0eef3b08214cd742488a3c33956e3286b6c78f232c57648c33654670302047c435bb500673065023100fc9ab530336f0370adfedb7d821c9eb3a2a8b22aa944dce02d4fce0a216d23a6d96cfa7bb4d667dc8cb8f510309cfae202300c539a908b2cf9142da6a3b4cf1012ba15d18c121939473bf1ad5ba1a18338236d7c38bbf7ab1cd80328000a8f0020590302047c435bb500663064023031fcd5b747784454912cb548371f06617f657e3ab396c9897e4e2997843e61bddaa0960959288854070c933a773e1c3d023009e0f1e2d7502187bd84457ea5368cec8c548bc699f332b2c8c207de32776b831ccfc72334811cd4046d1b2b20c9f4570302047c435bb500663064023020c2cdbb70e95892bb4a00666b2346530bd9eb7b515e7ec0a2f060593fdee5eb5bcf94a573dbdbb0ee73e972d0149f6702303de106aa6d8b2f1c8dddd20b1ca38ee4790a32cb33167e05294ebc092b944922b7b1b7ade99fbd5742c509081722c55e0302047c435bb50067306502301d4f095784de2c6f29d1631eec0698009a69d76120fde2852babb83e883f0189c7bd2b4062aedc1270222d10a0c8c6e9023100d7bc6416891664759f7c138a3d15e91b9ccb85c0a6d4b88a9d66e3cad52e48bd77b82cbf7ab174e6a64bdde6bb9862240302047c435bb500673065023011072e1b3c338121ffb21cd5335b473715515c3f44ad28adc9b67fa3c17025b6ffb391e2287900a69aa3bdd9aca1f208023100ac1598d15a677d3832de5672ce87a569015e5e8e34db4f495869972848f25443b73301521a1aab4f9b984716f1b0ef790302047c435bb50066306402304518efa7f37bfb0b8fa3c856a256b7ad9bbacf2f6fb0cbacc7cd4bfa7087d49fa5a55173764ecedff43210c88377b43502301e84d2cd6f2f17f2d419dab10777ccd60a3409d163c1a24729221389b9b4a510d0ec7a9a168668c644c16ca22ee2e2c10302047c435bb500673065023100b4d8296d96412913162deee9ed7c2d1d8aed19846a68f8b85326ead86256e6edd00f653605c5c4a1d9504c38ebf59796023068293ebb06452173b98e7222c9c10190f140902a05fcf7d67cc36c4844c422eade62a21d4531571ddbaa0ddc0bac27a00302047c435bb500673065023003f61b04b370e2da56e6b1ce4b28469cb60f949a4a5f18afc2aa373edb0640adfe5c4052369d7bab8551eaf97405ff97023100fc9b94c933bed442319ce19673536bc9ecc1dd01cb396e8b673fe38fbc6d07e364e64bb5181b9d6e632973af97b01e050302047c435bb50067306502306d89124591436dd8cac478a2d877bfcef3753961b3e57e2693ea669c62503e615999fbf28ae9e268f579d71a33d65f6e023100916618b8085a1e3fc3b542ac76139def1184064f1a85eaec2462f36524892112ad89eb8f48a14ebd9d05e6004ecc3fef0302047c435bb500673065023100f03e948a468bc5170401c00993e50769d24ef653321c25cc016799b1951be8a9bb6f5312b8f6dfdc1007e46c96df6ad60230531ce56aad7b6404a00b203ccca4ec03c3304f8d11298a1d186b95c3f36cbd5af97cbb249eb362b503be48ed562e72320302047c435bb50067306502300284fc5abace6b31b029c9103a69643fdc93afdeb6556b2a2bebff55c38dd0e8b2e222b841e526fe22ea47049a4b534f023100874c202fb306436d5766ad037be0dfdf9ef1d4738dbf351760d44f462d174672a95dbe7fc48d9be8db3b406e0d7395ae0302047c435bb500673065023100e681a1f6dde4d1610620810309e8116876ffb78ed079aadc4e4c8ffdcc47a02452eb560d6708352a2d99d4dc20a58dfe0230206c857bd005f50a4f6170f18ea6568b5360c00f90fbeb3f64921e467f3ffbf11be657084c7813470572b8c0189d6e4b0302047c435bb50066306402301426fdd846ce38eb9a5a550f665f777161e89866f04f8a44e1365c07afb68696ac5f641c453b93532cfe49fe342ef51f02307b1edf0db0481c5227c6200568233a6646ca925d5f0ce94ffef420e5ff73b7b1eeb09f083a105be031818d842d345b300302047c435bb50067306502305128cbb36226851c0e0496b8238a8d130401d4f5e7fbbb6e800db8311d01e3f5db0c00f8ba2476645614926bc6b55fe9023100c8ebebf9cc450ccb605ea1eb05fedec34030d0df6136c32e767b0e0318065a5ca8001929e6bd2088fc63a4876029476d0302047c435bb500683066023100a472283353080502364444544cd8030d99b4e9060a5cbbff4267639346d4a9d47a185468cb48cec53589fbf3d71fa692023100f98c6eaa14d54d5f7c65834cc9a991eae6ea0cf577c6e8be0f9c785a8702260d22a777a36e811738fc73af89051442090302047c435bb500673065023100e202da4a0571533acc1d98a4bfc616392572231ab74bfb070f827a5352e02eebad1c15ddc7d43b9c96cfc22694cd53d402305bea7b2ad532f7c7a3fdc6541a9c7391aaa6e953c09f9d2c47c08fbdcc2387b6bfd933bde0f26c25757d3ddc1f2c69140302047c435bb50067306502303623f7774b9a3b0be0ca75d8afb6410573f0f6d9ba1001c8806108874cca8ddadfe6165d6e4e00acc42285de38d628c4023100ffd409b8d5efeca00451a8fd2e0833210dbb528c8a845935de3f993cf98e786e7ab423f350fd790683314733f28efeca0302047c435bb500663064023100c2dacdec5e43f88027c132da9251426f5b28befeae0b4b5755615a2f186b61c0a7f3c509e8ac82a946bddd3e7d5d8bb1022f5ad3bd1b133c337999034bd6df553796dfcfd4187e165666b8b1a937f44b0a6690d860fa75246fa8bc176c4f8530fd0302047c435bb500673065023100d94f3563ac77d9a5a53496f2dbb8fd25a0e8bda20a436ff0043f601dc5702d9154e33a4937543f9b756c6bf303d8fabf023020fa01a24db7a3c6b92b652a5f9eebcb026ec2ca810ca1fbaeee3a577e64bd0053ab5d0a08854b06895341b7bbe678cf0302047c435bb500673065023100df007a47ccbb9722f3e2e67cd97353c53e60633b0fad0c1f5fc9217a900ecdb3e0cf6d7b92da60fb29611e8737f9879302301a20fb4f58548504943b2bc9a67140c5e15509c1b0932666f13560792704750302c28f7a5e7c59b9fa1f379b39a92b450302047c435bb50066306402306857eec80b5e0eca11f04de5f96bee16ecc0bdef7efd8ffc5359c9132524e1b1cd733573c627ddff3db30e4154f048a40230460bd4a2fcef9ee0224c8ee82c0927e74eab3f8e8d239289ba32a7e2d95a86356c1bbd39b2067fb8ee4e70a39bad4eca0302047c435bb500673065023100ec46a424cb44fa927f1cf91b5b13589f78e92bc4546cd5cba179a8093c6df75322d51e90012cbe20ff85f841d230818b023037ed6ae16f2b343a8e133c848d02cd111e819ebb0af13637f9b8907c7ba065b84fe424ec71cb03180cee7dda2cc5ba2a0302047c435bb500663064023047405a8141b99522a4d62f149c9730e0b3c2e62b51a33787d79b0db3e72a740aaf6ad94c196de8a4d21d85549b8ba9f60230524db8da5b55c348a78c427eaf3ef49fb252240d2565d26257fe3626ca7f4e34a6bdbe046090a5eede8cc6789d05da4c0302047c435bb50068306602310090ab8d3a0d40ec4475ca610a3dc96d37762bd56f62e77d65a70a194bb6dea94aaf82a84819ed3b82a7fb8eff3ad3239902310080d4b3255b95274a3f5f0aed47a15a00b1d0150afd9a675cb61b951d20928da3816306af30ea216cc027b6ef58fdf95e0302047c435bb50066306402306a2d2284b45fdb8f4d8e4cef7904fcc6389115b638b797bf9a916dec5c1fe6ee51aa47450424034f30088a9051e4fa4902303e49c7bef85b8bd1ddfb190f4baf2e14c28daecf5a1db318fc1339210041695086007ad9e3414126b2933995273c14700302047c435bb500673065023013b1b011f6be78a06787d307eb9a9a8e29a99464921b45ed9e4e5b6db8fdeeba9c049b82c8cac26c4bd6022dacdd4bed02310087845c6104d0f5fb226be777c2327778fd5e0170983ee6fa9b398ecb9258e5036f2c44c7b8ef43af4c458e654873b2670302047c435bb500673065023100c17a710b7cacee4d74ed0127b1a42f2b8c6b24a87dad58accdb13b47dd3edbf88e7122389b8b455c8debe798d4b8bb8a023060ed4b79c34bd8a3713af51352165c6030f61634495d9f54ffac5a8ac314fa152ba9d7793c41fe31711551ce6523ec610302047c435bb500683066023100b5c111ea5cc4a33592cab6873eff418a0f566703a8211ce65c32ecf19731caf0c591f89d841114193a94fd8319deea270231009a0f2375afd12be3bd758524e555d70e1eb1ea54b331439ac61f1285830655b6ba2dfc2090faaf5c56e2d83fe408fece0302047c435bb50066306402303350dd4dd62492c4c943649c3ab9638bdb6396ae791ca104a68b005770e93d38ab74aa6f056e767193fb528f943ef34302303b82dca246900b170d8c282d68c2c45603afded023a9f1fe288745cecf127602d6bb7699441ac35140d860872bb529700302047c435bb5006730650230550fe9b3083852b9035fedec976f9d77848d566603411c1c3597c347a467fea0bcf2cfd7d2b452b718f14ea39c1ac030023100bfeae5bd55881ede691559047f9e50c7773e3339441c8ef4bca645fcdf279e5167413c4faf36413d81f517ae53e648ad0302047c435bb500673065023054f3b2a9fca63ef851da9d21eafdd687859e8411244efaaa851dce77f600c071bbe7cd28d102a14d65e7d309c0e114e1023100894deb04cec4abead3789244fc18bf39a8302b72a6c4ad5078ae0d6df86b93f6793869401d63a62d8930e1b898b3d2fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e3751502ccfc48d15bcc3617d3470da7593d3ccf5a84bdacf35e5a192a52607ae45f8cabd34e52514fca8560e96394cb02310081da9e9d0d2156ddb321b2f6c78b9e365c658a83354b02a5c034d4fa172d14a14530124f65e39f98ef4c4a371d38a3970302047c435bb500673065023100f64f3fee676f523fb1f30ac7eb7585029680180a46200a01b10a7ac6608b021b040323ac70464c277f43ad8823bc6f7602304f9c448ebee10e2fb80c442821f2c33fbdfbb0d75cd0e3e79e8fcf9ec37b7f12c6acc2d87a074b3bff905b4399aaa28f0302047c435bb500673065023100b7c9a99e649ed83e9c6df9892d4dc12593d08b3e118c501a562fdfe7f783dffc09cb9023bdfd5c63b5e75b077a0dfe7902300a2689faa67795d4d1796a239b21d647101ef733012e18dc08e8bc97ba8590b049549e12cd26e555c9e42bf15a37a93b0302047c435bb500663064023011f685b5bdbd9e76ca5457d4bf5fb3a8d83032d983e2b55579363cf90908fd2078a37fd17cac9e36f3e0257373fc8f3202302f32b58fd779cb9078fe10d130f60b2142e049cca3dfa85c3aea50313f3a21543a274827b56e612cf6ee1376680f89a20302047c435bb50066306402305f40ca3438e594cb505167d7bf7e3b4e085733c109100e1a18bb90d727e674044c7a1bea407e60b19204236c9f71a1d8023032e58f8ef29089d5e743f8114e0b6d22148fce195e56c0cf7820b121cdfd6c9c60f031280668975326077345dabfd0070302047c435bb500683066023100f4394e2db8bd9b45d05a158e9d47639d0d34a6238e75e73bc93ccebb188e1ce63e266070e2e85265c8364251a0daa7d10231008cafeda849ff955a50d062ca0175472c5ff1c8d8a4bf0b2ac3d8e9b660d74453236ebd480a393669125d51a0430d1c6d0302047c435bb50067306502301bedb76c747d7ce821405db9a6a21de92900011e3db588573eb7828e0b1fda80c28433db7c88ae7eb5e709752e12d8bc023100ed33b05da7706a215db0368aba396f4fcfe879b02fc3a022fbef38e65a3ed86d80159b685502c20d04d913238260e3b40302047c435bb500673065023100bac0d00855d9d975955e1920c3a25f2509925c54d02140a5498eb06f8d77db111f53ba2fc8f5c2c40d4bf832bf566fce02304f9ae2e5e2912cab0555472c57c3a95b3970557925ccaa328c6219819092edefb7cdc6f56ad99f4c06d5ef186c5821830302047c435bb500663064023076771f9cf6f8d75da568c99e21ded29440955ac8544cd57d682dfe94bdfe3d80f2b33fadc0c4beab5442593097843446023079dedbd2928becdb29518710696253f2f0f521ba46ee19b7391ff0753b687711d4007c570b83776a8a882f51c6783e550302047c435bb50067306502300f7b6cbefcb9f6cdc4398246b0e563cca475b00a648225da10dc1ce1bb928a285c86ec3707d20c9a77a216f900f135ac023100d3d58d6fd7d7b0f38fbee4e7b7c5642299d7adfcaed008652b7ce2aed7847527295659fd5c1402ffe87bf77c6052ced40302047c435bb500683066023100facb5b479dffd5a9dc13782b9bc153259d8c059c90bead0e2fa16581f0351ca7b9b321412b4fa18f8d5284093c371b04023100c627b8b6b5470e9c588a6abccb27381b106965df3295f242a6cb26d3098de16efc83b7ce66db86c6f2d5ab9c174d75980302047c435bb50066306402302682d8c9128e4bde4aa67f6efdb4c141aa677a75f398392cfde51a3d5701c16a5754aa1f2f8e5db827f8ddf4d8f972850230128607dbd4bee1e6bb653ad43eb7d1095c3b2047405b74d0f0e3a24247bfa37a1826c5d19428a2f857a557215b3be6280302047c435bb500683066023100d7c9be4d76d6df665c67384f4ccb9cd4b3b07668ce983941025411b317e5c83925d64e5dd7ac69792840c898cae305a0023100d6560a3731efd5c8bf4557c6224242bedc7fdbc235f46ce4e5a4897077ab10d567659f055824c89c0812571d7ba2497c0302047c435bb50067306502306da00d0ac230257d7a6b1e2311be7a9d005180e05f22a087e06373d70f6bbfc31b6d0dafe3acddf33dacab2a65a0cf54023100c3bba01544a0fd0e6956754874943032239bde241e2b91613566e1e6b899882b81658be1f9736a1ff94f22c95593d6cc0302047c435bb5006730650230186bd969744eab7c4675938d5aaf09579259ab00a88302261b9402c83db89ccb2c812f22d482697eeb2d4f846be765ff023100a591e3bd4fec7962396f8a7209f8733af8108156af6feb2c612c4066046d358bd2ec79c710b4dc027da42e93e37b04750302047c435bb500663064023047862668e8fb67e27369308b3dbbd0e25631081257650255c3ddc87d3454f5ac45c6a2cec6c5e446e6d85de0344265e002301fc1cc70dc2bbee840bb80a3ff071371e2e6ad8027b43faf19c5dcf25c34669ee972deb5496504b890b301c122d3266c0302047c435bb500683066023100c554832a57993205681acf7433486b27c35a6da7bee357c171a2c1d73a2c248be7d4e9967e4fe07df31aa510738c38da023100d150542bd31a821fd5c94390ccedbc00db90f7955169ee7271f476b2a4c4535a34059a3cf4915d800a9a61277c4ed52e0302047c435bb50067306502305f261d9868e368d98d7341d9bc73f32912d10de226fb981ec32d2cc572b2d6890ccf583baa5500eb1bb1320d8aded0ec023100fc42add3aa1554342cac24dcfd80479b7045eeb44493937dc52478c2f5b3adadeb63af6afe2daf611cf1a729cdbc2c140302047c435bb500673065023100991b793e66d8f6123b0603b1a0227f9a5644f67150a45314a2a2f18157895749b0ea05e9569127fb093fc9e934410f3002302927cd24fa3be59e135d482310274951f7e2acf97b577b2c4a76f245f1d92121cd02abd6be53175968dd16d8389eec2d0302047c435bb500673065023066aa6bac1cbeab1feeb08a550706c3341b685dd4cfed89510ed15d65da89d70c08594d3eebdaaf263d91b4ebd638616d023100f5e250503ddef65dc45fc215d81d2acee7ae7a10ece7758462c9a0f4b66ec2d30e35118d96b5cb2e261731cff64e52ef0302047c435bb500673065023100d11d1f484838f0b0a8139a14450d3af9ee040431e43d64561ac361fe083760dc9cc6c381f69805408feae569026bd04c023008f5ee734b9f79107bb58f6b3aabcc71cef2211ef6cd8d25648da34e474760b00c933b2a990251d6526bde439851bfa00302047c435bb500673065023100aa6c51b1ef53293f6c9a741e9c0583a8232b04c35bad5ce851c680d1a91357bda6df29026f840019a04d3061ef8eb06502301e6d19ad3c423d9c59e3cc87c259ac83d81cdd287c913aac980f201ba7015bf8cc51b9321196ab71d59cb9bc1b56f7f80302047c435bb500683066023100819b019628b0694cb3d4ae8406439f8c38b96001766499fe6c647340ad1247877fc1624505adcf534869418a62f50ede023100cfc1d53bdfc3740adad6106106ce6003c23ac625b224623db4a34d153075c8c87efb2495aa8d60ae05f8fc7c42e93f940302047c435bb500673065023100e6f1b402517be24065138abb251294994a1923812511e85c2678db4278f4e06c676574b4a54d4685217a8504e2a4e139023062e5c5d1761d723f7054ee91142e118bfc151df31dbb44b610a45032ec77ef974878da127aff1e04b9e9c2e96a29e7300302047c435bb500663064023035298c9cef68621dbc687b4a41e3bbc9f4ed4c35953971cf3f8fe96bd0278f99cd186ecc02567c4053fa8a49520f970002300462423e8bb9943e0d330bde42339555a0425cbe3558e66d97a66dde9be444fe52660e4ea9605d95ec0768eb03f09d770302047c435bb500663064023044a6516e34efd7c06990fc779e1c3965217ec20e7c7e75e2831621e218d45c5531ce687afd5bca9247ffdc95cec132b102306e487a55f351d7d0f66f997e22c4ba0b74bc1024b297da57a93f407838d47fa7cf2bbdf00d9c57864db3d9b782cf58040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100daeb5a4cb6fe73303bf7c8ceb3fc7076e52db158d05f7032694d3964c3b76a285b1ca703dcf4d279fee4bc7f66a70af0023100bd92f2363604a73979c4beca0ce17e4814a52c979896c90dd448f8d4994b4e97e9beef34b8618341d380e4b75b513ad10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fc03303825541cb795c657ec19974a83630330357d9176d3226435fc8e6bec67614eccecab5a2681f2a0ce4ca33bda6002307a44f42b3bf0bb2a631d1a0e5d1cd692972c0a4ace8b038f0c84dc5196a0616b1ae4b2f6aa6ad3a0f449284f3a5c75190302047c435bb5006830660231009663f7abfebfcbffa3082257ca2251c1fb6cebea1c5aed58520db502e2e382244ee8f5d4c2816fc01faffec5471ac42d023100c7f3a53ffbb330eb7553bf62a94a8626b32d989688d57f0f133e06b6573e8ecd7c33680ccb766fb19fcc00150c7b16250302047c435bb5006730650231009048e6b79fa6c18e109cc06ea72e4788e55b96bdb33d2349a8af1dab72481e05b194c349448ffa77f46cdf1d2a59151b02304bade83440b9fbdc1e54a4aab888455bcd62156f08065b66acc6e380b8532c3f3ce020c452a7e3ead7374dcb87e616180302047c435bb500673065023100c423b58bc49a65970a44a3328ed0bd12a83aaf51b0e6372e8f1b6f12b6fd1002e988f123272d26fc2a385c469a01bce002300bd7a4f0003723bacd196bec131d30efd780fdd83e58c6a4aaeae89c5572e934eef187bc8be58828b4ebaac97cc200190302047c435bb50066306402304b970b60b35ca623777ddb2c1677272ecced41833e628b22558ed984ae9dd4985bcbe03bba84949328b548f5bb816d5302300435f663e5a4921b7e7c9eef3a510048953b15f4302ad8d9650e07b926f3a6230c0b0684ce81519403ca23f9d6fb6a9c0302047c435bb50066306402306fd814447d02b4adc4f92940ff38be53190f08092dcedb2bd7fb4de2fb3eb9b51051df11673cbc1e34bb4bee131dc46002306152d843e712ef40fa33c4e2bf2f6e474a8738ffc0402710a3499b6b0f1298b22212b3304910ba29b99f78b8bf728c7e0302047c435bb500683066023100d25396bb48b448a10f30fd9696faae2fe5577f30d514fbbc73da97e6f56da47920fd41c63a911f4a2b1d0f8995cbddd20231009ef656e67a89255a79a2171e0527fac087bce7ab5cb3901805ec325f2ccd268abf5f5e14d6dcb64235568ea790e233de0302047c435bb5006630640230641e67ea8d968d2a64dd74c6fec470de7381aac6930e9210be6b02635bc37972b3842c300106afd21f69d445df5c345902301ba810476c15d25481ecc6ec145fcc908caea1bfa3b52cfe4affa90eceb5fda1f4ae4489afa346a92ae63137dd9c0e4c0302047c435bb50067306502307c5e79febec024b889572ce79b0c750f96853167928c7052275cc29c3c3994e254845a822d923613e3b374fdf644d281023100d1f8106ee9e45c7461cb9a1c0251d50593048f94584859b97cd1f5c8340ba716bdb73c163cc89bb67ed6dcfda6be477e0302047c435bb500663064023012d91b3ea8ebed184a911f32c94d2d77a79403c548dc345904f36d7cdb54d2a4c99110f7692852d53ff04fb1d19747430230310e6ad1cdf45541efe1abbfe984e8c8212e330f7a25c38eede04ef120b83e6be9e689b7547997419414f59fd299d1c20302047c435bb500663064023066e5319cd8d2517846512bf98abd14f9b5c3ed292f6120dfb284ca461267710e1713a20ed556952ec31caf35886d5d8a023005af121cbeb261932000e2d1d8028bd1d63127e100eda0be55a4c78d5bf29203baee733d4d713c54ec35480c711109830302047c435bb5006830660231008dcb0a1759ce821c3cca2d904eb81f7d447b2eb2971943fe93db519efadf161fada2f9a9ca696e76f8dca76f9435e416023100fb4f65f9cb117a3300334a5baa62f6ba66338d5eb73e2434b351cba1af6d6ba5cd16cb2555ba717b90ccccfa3137bb240302047c435bb50066306402300a993a813e5309ac124d2118c0a64b5b55ede49a5bb35c3ac5812448c0476a8fc821c58c0b53168ab31077dd66d82e0b0230232ce55a71c737c4a50f0459c528a0d834ee2096ec5683741446995c40f47d85db8dcd7df32d45bdb8d6db0829fc7b2e0302047c435bb50067306502306c02a146a6b5826018ce0c053330ca8064c33008ffca3279b5b500bbfa335e92acfb9b6d31dde9a764f8aadeedcbc95d023100a2b698e795b43b47ab4342ef4f443aac473ad0de7134af42d0a9be18c7207506915d4d481dd0d9b450b231f7a45a17070302047c435bb500683066023100a25937c4442379a11b3affa88708c31b191ed9b158e964ecef64f1fdf3ececdf9cb6b5d083a0aabbdaade03a1d31fdb8023100db005aa6b3755adf63a1f7db41fdc1390bce21363c1a8facec948b2bf5969c6050836740c257b58fe47e073777fd247d0302047c435bb50067306502307ce5ec8a1ab98baea51a988c04cab616ea4abadc5b8bba4fe34ed0045cc53d3c46253bd9c3e64f1c2fda1d51ff2e511a0231008b31b3b519a61b262474ba50649f6c46998e5446e0ef038c4af5bc2f2f8748c8a6e6efcb21ad3772d5f3104eb9cea1140302047c435bb5006830660231008deda2a58943f1dc22b8e9c82c55de3e63d3f96283336f23a817a9e1eb735ce5924e9742680e31f7b59097bf0aa348de023100f4cf1072f94fda402a2e6dfdc855ae2f36cdd578e19e4b27ad2b83f8ef012c2d183fcf300869353ec82834483da08df10302047c435bb500673065023100c109684eaf83d684d45cb330e8459680c694b7da193f9c046832db2449c7e1db5d23d8f1a0bd97002aa852a44080c0e302300f81cf30fa26e4adb4c9948cbc39eca494aa62e0de10205562f00a5f12145bb77d4671503b07e612f44e38b2129167590302047c435bb500683066023100e844b17706426d1153170b06af9e2cc65073c29cebdc1e5975f66a81626df91254313d9b0989f95e423a1eab9cbf1987023100c44c40770b1ddb1fb7de956757888c8063c524c2b9fef78972119dcb5da086cd22071a119c242358986c59eee1bf23fb0302047c435bb5006730650231009b137f3c9377f07e028e4ac93361a9377ef9b3f52e36ef6b051650b13b69bb8718e4854345b73a3e1250f406aa85df3802305757202f42327089b70c0e115e596b2338c2d10c6187d8a380d6d254c0b7c058f5825241b314b7a4984f9d15749625a70302047c435bb500673065023100cdd19ab362948f0925193aeac4ca1d080e1178eb80922b17d6bde6955395a34c4d6f2189b4a4997d623e2b00e0ca15e9023011443a4bc3c12aa02b10cf0de95a96fe9b650cd56801a369b7f66e332747ee8afadba4a3656f99b845d260768e0139560302047c435bb50067306502306f154060a2c28bdcfbe4a1f44c6da7cfb1981e214b2b81faed80973d1e56aa0d0fde927fc4f6b135e3bff18b69998ca70231009b7a781b964a93351f153e3acf08cf59a6f672d674efa78a220c8b3e17c81acd587d4f4d04268dbaec4fadebae245b1b0302047c435bb500673065023034b51607f56922133aec12a39586a18ef3f1b21153b719a22ae1d83c88b0cf2b5ab26195c03dcc3d552045e98367cf1f023100d91d34b53b97ca8ba46f18f7a9886218784ca3a0d75b18a7e80e0d1b23bdd7bfde62a14fc1d966600e263a205c6e8c000302047c435bb500673065023060f4b504d91b860b12661d7274a2a69fe87f5171ed6138d4016c19a1a7253159771b9d0235ca6373d6d0383e1794df5b023100945cae25084128d270ef1673286b37d271ea4864b974885b5d597f38d105eb34652805101aa14124ab167a182d4810a70302047c435bb500683066023100d99d04f2094f7afb3f3c6f9cd7c4a79c15557f9a3a461c7a6a58cfedca4c709c5340ff0842838e682c0e6cd910c5940b0231009f392bdf6e59cba547d2defd006560776af722be094b9d56db588863f41a7fc49d0b9194388299b86b0651940c904ef60302047c435bb50067306502304af8625ac2cc47dda15dbb3b3ffd5856ccfd6ae6f0cc46a124bd72987c0ff2357d9fd4dce80bd49cabd6b08bee4354ad023100e23ab6d18341d9b7b456ab14baf1f35fe5ff919c144659078171c81cc801720480dd2e29df7f5536a2ed6b2d3ce8ec150302047c435bb500683066023100e13c8c8f1f696806bca3fbbee7606573ba54915f327e5fb1eadb79dbb1d9e09f89d1b0671a815c94a17e66530f719945023100b18264fa7659044c500e7bfa8a47fd710882128856b90aea6256bc43cfb202b69544cd5b35896bc4d5a252e7672c19970302047c435bb50067306502305ce60dfd75bac49c279601bc60a917813da9fa405d5ffdf48583f53e5959d190a7e57ac4c18fca47807fd0a1e3b9f59b023100ed565708bd384912068bdef0ac01e0550e887a2fbf7b9fb6d9170456df4fee73fee45c226805a47baed7198f2e4d1d850302047c435bb50067306502302aa6f8a320a281cb97ef7dfc93dc0f0620d344d0b1e5c2ec085f8e543ff4ba298e78857c392112316268f3126b611b9f023100f4a675e1440e1db79738f949374061f47c6533e0b6c1450d0a7b3d9e6bd3abd8228f58ceea413c0a38a6986c2c518e660302047c435bb500673065023100bb149193d4dbd0aa6f0227a4fc73d2edf49f8d2288d27cd6c5fc7c25601b92cd0db703fd0ea4477449bfa427d874016e02302ef0ec76c08a24597888a2c75d29b49fef4c9ec1f595133c54aa7b902dca4c5a739a108beb1088ca696ba4775a8a01800302047c435bb5006730650231009b16237919f13ce91246bdf250f60156caad716c9b66643255513d3dda0b98471a3f0e52c3563ff25277f48ed0691a340230232db6b97ef9cb8e37415e51a33140c9bd258a9fd4d914e45dbc7b3a07a32062cd2b5b6dc1c1e5eeb968036cf3cdf42c0302047c435bb500673065023100b85e84c2659eb8a75156f94fdfdd859aebc4ab87c521282898baa45c4d619eb9cd081c88aa6d63bbd9c328ff964271bf02300faa9341abfc4715f5ce47c950f589eb964cf9bb582923a0fd2e3dd5bee37a4ad3eaec31d60afd5a64116af0d5afccc40302047c435bb500683066023100e9850dd0a8767566b6c1b7247bd1a8eedf275c383947a96aebfa04a4499e1f66950e55db8bac1e4247f8cb69352dd1c1023100974d20abe6b160b85701742981fe7c09ba134f1bcea016240e4d526a7a8b927a4681d40bb618e14ee6702701ca7036410302047c435bb500673065023056a1692d8d685dc6a775479fe4eed89fa43d1d54a64e1b52ff419ec1ab430c3927819abe35b49281b04dd5ed6b80a797023100d6e13108aef321bdb1dd55a70d07bf962d354e3b98e569ee2b016458467010c35addb5bd862f0c0e30797c512b2e74da0302047c435bb500673065023100f9365f9eee34052e90d5d0c534fbfe4d17edd35fbee801c2a42a71b1219ef5d5a0dca407c280c6ff0f6d043368b9cc8502305b91adcd443a6640c7124c2123208e36ebb9b0e83a13c1117dce001e252662360b9b35d42d9356f2ad49164a74fe67590302047c435bb500683066023100c0b24029df881714db9963a2e97ba206f7281b7f75f0a632ec2befd0df5abdbeec722f7a3c6bc56fa7bc4f48ade6f03e023100a3c9514027370c3a2cb852a8c4fadc7bcc8d8478a17add0354193e15ec4e2ae0718f286de6591edb282b28c33bc957a60302047c435bb50067306502305a5182239eaecf4add012f262baec60ca196060be6ba13f7bb3686134ab23cb8e92ca63965012991ad691a51507465ed023100f9ccc5e846cb9ae0485211a333a7971f89e3d620a1bc3a28d229ef67ce619be1738fc74537dfcf72b8c9caa59135d6550302047c435bb5006630640230744b93872a88e3d4ec3babf2c168d9094e5a79a0949b48c278d524c6e77eb13e25b960f1da1094a8c6daa2674631501a0230693380ba9a4289fa2cc3f451850699647dcdb2df603645a75ce6ef1c5feb2f7bd7c19dd40636088970d9e71e3c1625250302047c435bb500683066023100f53770dd161afda94d9a6382877c52f57ee0d2683f71a3d5801389c112a9d6e6aaed19b6a8fd6a64e2d62dc6afe99a2c0231009e12b510ade68e1c910814bcbf5845228c16d2d50b1c8d22d8c03122faaf880cba49149629416d1757658c1658b664a30302047c435bb500683066023100ab6eaa308a4ca97a49c276cd025472e2a999800866dfd99dc45c787bdf7baead4cad169a18f9bcbe4652406e7d6e62ec023100b9c624c3c5c742feb8a3282f43abbf9b016d9f5d3aace1cf4b4046d31e71a6819339c72fe3a454071275ff17e8faad850302047c435bb500673065023100c52d548733e4756f25e4480c4164567e7fe0e993a02e2e95989db05446e492cdc5a0edb5a28860becb3a3a8b9ff335b4023039c6678dbe984056cc22e5608eef93aa5ce51a1d3133f7408c5118d8c1284bc0e54549921e535a7ab773819a388f2ff60302047c435bb500673065023053d9aa80793ff332fce81b11df1b0f04a703ed04e976d4865a92de86d0a967dea33a5a2c613b9db505f6723ba0b052ae023100e413dc7b52a25b0f42875a919f3d1418a684c2ec03639666e6576e548fe53c6304e1933322ff44b285603d32b8180b4f0302047c435bb50066306402303021161379031815b1ffb379c9895b7b5514e9fa5a6c76e24d34bee7d97c3cba3fafe41bbb57ff25d0137f9d658e97fb02301f5ffafcf69226ad5c6cb73283d91ee1c7b2f4d5c1e7949e9b2f6d1753bee422bd2589575078c8ef8aca7af1fe79b51d0302047c435bb50066306402303977051705147921e7b6e4dc1d3b2a509810b44c553d1e0b2e37b6c8e4a7749c898695e141e7817062c66bafce9dd02902300bf66bd1f55350cd5e67eb04a274df7cf9611c5ed9f177e56fd8a9e89b978993a1d9485329d456180f98be9a95b865a80302047c435bb50067306502301b6f8e4dd7044031474405c83695a9fc8591b06206d9288e1705212f755f08601ec122faa9620ff8a4338c616e78ff7e023100a2bf64107f63befd72d86ee346b69ffbf85242d963e98fc31f67528b38bbf53102ca4e9d36d0404229889e3d389b59910302047c435bb50067306502300d11be699dc25d1a026af9a4fbf2bd5cd4fd37922480dd65d4c27285ceeb365ce22debfbf8440e48bfa60c552ff458ad023100efe299dc3094d6e299242422f9515c39cecfb17cdce95c1afbc086561a70f7461395c4214133e3c832fe8a0546c1957e0302047c435bb500673065023100d0ae31cf941efdb642c0cc4d62bcb37ca1de8d647bfdf7edd18adc5b6211e124bd819ca697b93316c595d1bd3e73587502300d3a38d003bcf471702e0895ba09e5d431a6605c793c1b5549061e257f8d06aef8492579b94596406f877804badfd3bc0302047c435bb500683066023100f9a12e34e6b147b8d2e421bfca48ccab54b5b74117f5b21de1d7db7acfe576272e6a6bf8c60e6f6b5c5eef0ce2292382023100d6234f516705de70ffa5419ca529469dfcc4bd3b3032afd03036ea2ab73658f351fc49edee7e15b639a7334fc2c4c2390302047c435bb5006730650231008bdd0a80b9b7cc8d5733b082fa44a043ff282e0c49b0992433956a2ce9cc10e289d9e0f7a39d3191104b98b38fae90990230587606d41781ff210062a5a2cda9e2c6c952a7eaf2d55d4a026ea8734ccd16f7b8d6aaf395616fca6944468720f3f29d0302047c435bb50067306502310083c38bf52f362f47f9c1e26c35ac5c76abf6264a489be5db86264be7e37b3e71ce1db35ccec335ada09a0486885457740230538baad193598e205cbcb95f6d799d112d9a69b3aa69fb8dc685024fe695a3576a20901791f0c2d2288789a868e06ea50302047c435bb500663064023048926d42835a29e961d42c1f0cd04a74a96a01693874e62592a2fbcd90c4bba0fbd85b51223e250731f4d768011549c502303aa53bf6badb240b96553ef8149b763f2ffb434392f915d61452967008d530d8bf3279e057996fc9898e5c00c99f86ed0302047c435bb50066306402305990aad2fc497015f5889f30b87ee0d98aa7ed4e4bb0787103856eb482a0d333a0701e01339c84730480007cc13008aa02302c96c6a56f850af295a227eba582604cc50aee75054a5db2163f25a4da9431a608a7ab5f994c6cf83e707215e5a60ee30302047c435bb500673065023027fc5bafab41b11a31e658c284e3673c120fdf15799b933323389a40fe74d8edf360e45d3e28f7caf2c13c44c0661e36023100f0f5d39e727284bc9261430e9a8c91dd6e9e6f214f283b45d16067fad47d0c403deae3ad6f1d19f0ab732432bfdc928f0302047c435bb500673065023100b9a17ec07da7557618edbc40da21af89623216198c660c99364febfd78de867c90229ded16981c1060ca05eec65f1a130230324438d25150c2e54db6d2204c9536a835bf1ecb893b583f9b6f8bcc29d3203c974ec99fa8760b68093b3a6c9112228a0302047c435bb50066306402304b726d1953faf43d7ac799ce1b78fc3f91275c783eb7da47213ece5e440141112158badee1a99e61eb24b2851d1fdd1102307d744644c4186dfbf1004901fcdfb2e4ad724407ef0c313b3e2337baf9f864ecdbc92dbda64a8b54c5b6452a2d326c830302047c435bb500663064023064695b98722f7fd0dbac43625af49aa27722c092e014384f06ddf146e8ecaacc04be62d61662a5302f69da37175b899502301ec2c021053359513dfb592e3cc338e012b52f2733d26f053f54744b78612417fa42f700c299a201cee3e5163214c2200302047c435bb50066306402300eed79d743a7041d409853aaad9c5e8b1988dfcea94de6c263f7bf85f6af0f5226dffa6c8b59549ac9e31f408aa9b6c10230547e64edd5ed59fb8f1aad5c69b03d473b0ad32352c152e03373124d14beb51ceea838fae62aabbeb0af595dc4b893c10302047c435bb500673065023100ae0b0eead95ab3542bc00fd2944b56d6ac425505bb3761532ec7a3a4e1434d4ebfbbc380fc9770071fe14aebde099a5b02300727616f1be21fe19a6f8a68196e8e415b879cd42488ea14bf38b5b2e867911cf64c8c71eb5a2e98a08fe8a086bd16300302047c435bb50066306402300a7a65b0d36d38d3c9f28cd42c6316af929a2df24b1248bc7fa333125246b914718784504d5bc4ccfb842ea75cc71ca0023035c568a980f096fd5b49dc13465b06534d244cc9e303b8c643583011076593b1105cb838ee49c807ad5c19b5d1a2c73d0302047c435bb5006730650231009f255f85e460a5dd3ba3a03146275581ac401845f4e6ca5194474fec989d072a79bc8e57418544012fb27bf52ff960ab02307859a0c347474f4160e49887a010049fa8dfd8f18970f19fdb04b50a0ffb26f0ded8d1b953b18542d6550a13e7a50bf40302047c435bb500683066023100d27bd15762af845307ed229d9355b6419d60ba8f27202864ddcb6861928e1e622c8ed30fa01b2bbfa412778e6e40fdcf023100ff72ca5f5682b7b958d6d836d3f15922d843b17a1fb0566465fb7357333432ab30d610525d6b58dda78b2fbafb855e020302047c435bb500673065023071b1a159486ddd72e04ca14d63a5612078f8e24a94173a68dd5d0bddfaf87adf553e3fd75ca210a7f1fe193e563a1a5f02310096e8db6a821b1d95efab3d008df76d3fbc65c51838c3e07bdb6caf805dac4507f3af991888db2d9f049637775bf979ca0302047c435bb500673065023100ac403fb1143b52eecc84e7b4426b5eb1a6e14bbf29abb707dd5af5d7acc8a40894749f7aafa352d183f16875043a5b9d02300dc65cdc0cc2752a461e79ffe60b0af2abdeb54cda88f59da300bc3a851347a593b65316d0e42837458ce06e437133620302047c435bb50068306602310083899ea01c02ff03f019dadf391b7f37958be1fb4b497ad1a0366b68026d570b4d53ce2d2f88ad0e7ad7c0b9ff97b556023100cc4601ea8b75c26e70ecd532eb67b3837ceb153b9362aad055e500e854a4d27f4faf8e34aad24b0f9ced05099e4ed7a10302047c435bb500683066023100ea3823497ec6c5d900cb3f55a6665e227204cd7b2debd58b3f736abda8df777d2c2b1dde00f3b9c77b250f8d187afd7e023100fd98f11e10c745fabb9607ea900827258cb96ac3e462e91405f8d217e4d9964126cd71e74a3b59bd801f155829ce74d00302047c435bb500683066023100d9cb75f7fbfb6068cb7958ce9d9bd9a8c862fbc8c822f6bd9d6d31127e4fcfab06725b07901a968d70b9ad44f71a341b023100fefbaa93bb1a209cf5e766165540e397a4bbbbf52a6c92dd390efca0ddc6a51954d816d2d3d13218b7500f646078b7300302047c435bb50066306402304813ea107b6c88673693560f23e2ebb5b8fd20e36213752df63f59c209646253e277ac2039e693bfae80b47f14916dd10230538073aa74d0113cc50cbe35b6b595e6b968640cee2486a22903e425b49b6235bd0b5dca87d42d90bbbcc69db2210fab0302047c435bb500673065023003a82cabb1649ee158da2d14e740f4605b7d8295609a6b8ab8ba36fe5eb0b6cb1fa88eff0277d94ec764e668985c86e7023100cc3b72e0700e5edbf2d300dcf19cfc4f62dcc274ce7df74ce66c637e30282ecf6c7cc2066e39af7021aa020d0f90e3ad0302047c435bb500673065023100bc3fef26c5eb16b2a51aa2113e573ff7f53caa9743e10df6cbd615fee0015e9f0598a2fa0a89505d19465c3ed6f8bfd40230034f98b137ceae09f090b05899b2b99922e84c30a459f8ff9006504732d24336f77a83478a4f53ef1a37da4d8a3e051d0302047c435bb50067306502304b49ae541d5ee2940f903bb95b4bd09a77b07d61fefb11d37b4cc1bd35a45f0a60b7002148ffceaedb41642cbc0bb94c023100eb925ec150e3e799653a80dfef936b14e636bdb289a5938f107d82aa41ab67ddbc2430362cf51382536937b20f1b007d0302047c435bb50066306402305a9a28b0d3aaa0f7729b161c0249f4012bbde335e71bb1400ce5e38ecc462ec7a2b90738862779d26ddebea5b22db101023028d7b64e9628a47fa98aef7cb1033571473b6c3b7d50b0b5271cbd3b55fd1181d89746ae224ba6e278f24e3de49173290302047c435bb5006830660231008915771345a8296d326d7c5a2532ff1af8c7e55cb88bece2c532d83b04a4d94791471e9cfe3e1315d63a8fafc0103996023100afe0544fa70519e99e797aae570acc3583f41effd3e48b29474f91b7f88c704c2f9d546401a74ed23e4e0157cf285a0f0302047c435bb500663064022f1f78d67f8c3a6dfc3bfeea4f8126271c676519ffe86d873f9bdb763f55a6068722b73aeb08caec1782e24311b9c3ae02310095c1e3b32d7f2814d391db58b712818d3f09e443d0d5348e454bf3261c6eb92113580cf8f1898ad6e31bce2038d032280302047c435bb500683066023100cb8e3edf94f784508f78278041d9f9cea83f9899bf0e606eab1c464290bbd9d732e622bb53a3b1b6d765a9eab5904c7302310093fc83de1671c6fb2374b80a5d84cf1cb53e5feb1bc24a503840680e0167d8db49d3d4723bee8baee996d57b240b56cf0302047c435bb500683066023100ba4211ad09b84fbeec29b92742516ec9a5453c862558877ff235b5ac8e9fcb06976d7a2fd91891e66f166600005d24ef023100d87c9ce11f13c41a2cddcea125af979b900af08319cd86c53260e8392090596bf6c38fd4b466b55b7572d65d28261f280302047c435bb50066306402304bad6722b10916775a96e3726c6542bc2a2c2c48114a012ce8281bdff31d2f6e1c6c2c53a1d9bd062c2e02ee5d6c10f9023055363eb6a2aeee1cfcd53e496bcdadcab4c1be66f0b65e20ada83608aec2cd639d444e0e24b793e997b0c643043df6a90302047c435bb500673065023100f6fbf45e30408ca664c1f4ae596d26a1c18478712a2bf32dbbfd97fbd07c62c1d03388de4e4065b4056f085f413abbb10230257ac0a031794cd1168ac79ff62748ff24825f0d6dba68b77e42e042678b88599c4b0098f1203d853bb0afb19720168d0302047c435bb500673065023077698de48de5fb57df24cb5a7a0ed6e4f2f365624fb17607d9cc29c0996b0cac8e75eaed7217b67a17612ffcedac67c0023100a6106909ef2370640343484f1220f8d689d542b3a6bcec0a29fc97c064e7d53ef51a0c4f8464ef5a8bdb61a7d8a95fa10302047c435bb500683066023100e5e94edb2fc76f39562a43167fd0f3ce4de9b35ab207e08a8c392180013cf7589f0a733062a45e6ada718025822518a5023100c21de80b4822ce08bf1e5889ccded78278c42f8cf3a450e8619f0dbccbc206975286a3ee6b4c2832148e51ade16975280302047c435bb500673065023100bc9cbcf91462471584e7b1278f67ca1f0564b28b083a9469afa1d60a293a699c8242c4abc57baa4fd51e7a087b2e5c3e02306da13ab20fc26f40f8cc5e0449d771dc734608c2fcf35cd39c97e3b9f6686b09cfcb1bb1fc53db58a5c32408730458f20302047c435bb50067306502301224b6aad368f2617cd446a92bc95eaa4a51536f040065bb72605346e8f037f7c551f5fb3b7f8ce51fddd11cc6dd12dd023100c1d6655172ac8d8e696d04f26fcae6366dd43cdb65cb73dc6d09dbc116b1312e35dd5942131c3d72b863a083380a27570302047c435bb5006830660231009af8dfa71cceb2b35e56aa5744c3ddcf3f3cdd26eb6e7df0c1c323c0ea58077e7b40e96888a94137b3aeffe9c30781ab023100dca78bc46913c8b3789e01ecbcbd98f41a7badae32b69d68c4d9b945c9b737f177bdee57293d4efabe253a03a7e41aed0302047c435bb500683066023100d22cb547f11ef610bdff07fd8b8939d676d57ca2da890ff372f99ef13f5a94737e6806200f600322821610164125151802310084177c59acbf06c46e06946605bbee9a2ae51b33252420ebdd9c3d96277c5fd7b23dc138902f78611d50319695f40fc50302047c435bb500673065023100bd9c91b98c1f58b635098db117f07446c7fc0280a9ab9db37cb6572702662be9f0e9e12a53da0d2060c3d662f5a8ca010230331b12b9656dcb57ae93e77ec0e9652bcabd8e6939a77780577d5abc575ab2e3b18539efc9857f34e776ec856cba38920302047c435bb500683066023100c3d4bb002ea00cb4e6e57b0d035d3b3bec1fb7984dd1fd09a81d36a92a615d0dbcdee26991d0e8f5fbffc6ad07d47816023100ae289880e340251ff9a34a425d7c9aa8da1fa0abbe68919a7e0ba24583bdfa2bc4d77b739e50cda39831b5fcda55fff10302047c435bb500673065023004d8a1bd0e4279dd7fcee8465a621ddbf493783c369b61b4e99f65ac0b3ad4a2f3269fc4d4539345a2f918712ede4ea9023100e9148b9ca91a041817933a2f3767b281c50c93260da6ca10c6f935deb5ce5e2f9c6ba598f01b7c9a2774f1e24cdcd5230302047c435bb5006630640230075e110135fee532c5c90e113bf736d1d769a41f8a0d513e615a949d44bb658df9bd78133a5db23b839018bb735d1c5d0230556444ed6250caefa1febb9ee5d055265ee830955ebe17e72a281bfba6df30e5e4d2d85633823b16f53bf599607d5afe0302047c435bb50066306402303302c3c767176607205d84401761625be1ef9fa5c97619adccc28ac7babcb0d39cd531303d630d4b846454f97407f5e002306df478ae28fdae5ea885fa9b1d7c337302b8c3485a9939f3c2798186aeed097dcf4dd575c2525dd3960f8a5a9053bb5f0302047c435bb500673065023100e2bbddd5fb49e7ddb57a3f0fca6a4d87f662d2bf8e17414758c35997e99ea4c83b97a6094819f02a560932f9868cc983023013603d046050c17fc1c47693512bce42e476d86b2965b9016c6832a049b9708d70401ef7c0fd44fdb1ecaf3c7a6a23380302047c435bb5006730650231009c2d9aee554262794f2a9b67d9a357e52436f1025714784936f8aa2c76fc88d58cee3eea83bcef576e6382c03dc758a902305c51debc9e03af11ae6a7baca5a9256ed6d1f1b808156fe2f7a4ea053eaa9c31ce867c0ca5692e43368c2f967985370c0302047c435bb500683066023100e9586d061301ae8427e48d862e02ec61b73a574e28269045940a8bd93e739312bff67b6cd068646cae165f357f403240023100fe4dba9990806e3ab1483597b9810eb44713b9ac4f746369d81c244269a7dceb060e7ecdc8abd05db6b7be7b9fe926050302047c435bb500673065023100c65ce714b3a8699a700b42309f0930b0ad345d5a58c8ab7169fd0d16e42b7fa0065e5008591271bbff9e0b6b954fb25002306cd242169da6d661a791a280481352b18bd6711c508285fa4360703580285c7e69925c7d21df8357151c821ac549698e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100acd5b3d2ae45869e2bd42a83b0e9ad3012c3635a6e8e8481e05221fa5805ff2e45d7ddc5868bf6534dcce805d708adb0023100fc3ebb5e21eb19da1aabb0e0b3350832afdeb49bdd0a0b2293c0efc6a52fe25da66a69801e6b6d51eb62f930d495aacc0302047c435bb500683066023100930b52780a078be32c0ef03ff9a039e5bbc7d66b280299fd9ce03264a3fbec7da2fbf5e3aac672b9084a03075243237e023100d754ee810c2535471e224d21ea121fe4bd32bb23ae75f0afbfde0f1ecd74cf9999678dc0b42451fc702de7852bae616b0302047c435bb5006730650230169793adfb83153fd6f4071bfce48e2968e1e74734d01eadc7077498eafc3a68123136d7910060e235c19bd6874b9d8402310098ea5298a6fb968a62bfb543c8c49d32e3f5ae3ef3a52f2377952794596e56d42390bf736bf022108aa43ffde23e1ec50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ae69e2d4599eee0ba9713921c8460bbe5abf11ad004dbe28d1e03e3163043693492eaacb840d69157522df81cf8f242e023010fc4e4b5b1690a326e2953f1fb81aade1ba8408d288d764a03e9bc5b562e374126c597c2647cbdafdb429a18ba21aa70302047c435bb500673065023100a20690b34941f077739bd8c760e243615e73f45114046add24b276ced52b3e2b381a717484eacb2ff382aa4e8d5e79f7023040e70250e0bdd9da809afbe373e5c2d7f6b5de76a1b5d72a35f458a3204b702ea846665da21fe0fb7c68eb289ccde5ad0302047c435bb500673065023100a1322996259e36e88a92ad5dc51d9e325ea7fcc2a65ec659f7696b6fc1148d75a628aadf7a50dadf1c5533505d6954660230403b1dd3477d2681738bc072f610f9cd2d498d80bda47c4a5be64097c9dfcb4cb8b2624b3ca43977635d5652aeee6f940302047c435bb500673065023100bebf695a583e6c4941a56f8a31fcb4e1d69798eb0ae746954a73dd584a7500be00c2a3b4355e4ba125e08c896b0cfd8d023038aaefa7b55720d7ae3384ee008d5509fb61a40ee565f42d2de70b1f46bde99349660e0709daa9c6ed753fa4ed102c460302047c435bb500683066023100db82f0ea90d61849adeeece836f2cbfe30b7dc4f48be7a83518416975d3e4b02e46be0c5b4bacbbd53377cf0fcfc3ac6023100b1a14094f4a6b21542418b32107263533e93666ab3c6eae6dab00b2624611ab7240a16609de8a38cb6a644755d2aaaf10302047c435bb500663064023023cf0ab6f87262070ca1bc73e0f3c2b1bd72776bea48d831b47b5cf0a104c5ef9d959a59894e89fef9ca490e816f732e02306daee16745f18eb36078790a9dd174e343dfbfbf1e9c77992e5301fa9d09452c640d20a7657a5df0db90fec3a1f59b940302047c435bb50066306402302650e2ca8088b787d39c6b10da317aef3515c8e8502762101c3be3161bcd56e4cc244d25076ae9bdba508b401322a55c02300ab98ef59c806ef57f9e0c705497e438df27f51e27697c738b7b3ae14d6c4eb30d6248d8dd1c96d54c2e7f2d8fd324d50302047c435bb50066306402301f00013dc1db42676ddb10fcd5a9a90eb347a19ef8a7fc51a59516ba078708fff8686400c036396a51e893236110aba602304746f9c6687039586bcb264a6b62cdb088a0562fe085e36af053820101f80d820a70b5bd8ef08328581c184d17884e120302047c435bb50067306502307d33a1af84262b18bd28389b22318ada0cd7b1207c884f17fedf3dd68309a0a7ee1e6bf0733953973c5b58983d0606ce0231008e1c0adebe6c5749f743c9ab360179a0dab8c38390299837c4ead1f9c944426777c152bbf393dffa5996553c6d9cdb780302047c435bb500683066023100ef4fb4de5cd41a4b7415319f24e16a4bc6dc83212ec877bc6a8da7a68cb1873085ec5680170e9416c74c8f73952975d6023100ca33ec24accfced4981d84400f73277b04ed7ba40ad814d384be606f71b33736f43c3bc6ff988e408537833dec99ba5f0302047c435bb500663064023068bd875316617fcc74193bbceaca10d37ceb10f75d9d2bab67e4927256264f9cfca13f816fcc5edc0bea5986e2199730023018d113afe78b73c2a006b309c2e7c67c162eae408a8e116b0cc7fc9bfc343c427a79a5fbe635ab30646a8caf1a2f9cde0302047c435bb500663064023046fb913ce9ba3de3bf4bd203b21de3790fe2f22b81e976d700b9743bae713e4b9382218f307db34221192991f2ed341102301bd26b22e9311cd9810bbd987cdd92664d82402dfc97042960d122c4a100e776d57af7313feca79bbc068550ece34c440302047c435bb50067306502305d97c962a5721233b5ca709fbac72157b99d3b62aa48a99180a7bba22f57fcda6225d529d3c6f63982d73e665e83eda60231009a5dd43d486cfd8f6ab88935a0b1e76d3eb7762460b818ecbba2d9d941fe18071f0a93433800d25fab1a17e35c9299610302047c435bb500683066023100df27aae203ad0814f0455a35c71b2eb19fce46f05840ddd9f81664df2b5183bf5c49fd547c48a4ec86fe0754b2d70c2a023100e580f0afc4ee21208921cf6e8992dc139b50691bceb5173d8be349c7b5db7783efaa4880bbba9a7a74d3ed2f34ceee2a0302047c435bb500673065023100bf2af2641e9f6c6bbae7f80380f77a2543ba9ceb821ebc401b2f925ab087092e825208fa41c67dc097d3fac59f9ef0e302303efab85605713f4c8cdbec019501f7fff38df80d3a28b744c9c14151ac8038c88f487ed8852b9f6fed5c9e81c6fe2ad40302047c435bb5006830660231009de25d7d4a6a658870befe762c435d77c94abe4d237970b48d98d480140ef5239ea79e32c115d6af284f8324ab1d309c023100f3bf454b81dab687329970e64293fe3c6065a230d91399b2c36e7e8e7747735d135c36e60d01bc65511d00a5c8e560170302047c435bb50067306502305f5f8489f21bff2c3448c8e650c196ac4705a0dbcc7beff51a5687c3e00447c18f4890cea38d3cf658e4490aa1b015f3023100e66a2702e49e9485cfe42a143d47d09b1d6a45ea81ac20e83acf15ebaec70c5608b88f6e29f6b8cb34e40ed27b7a8e1a0302047c435bb50067306502303bb97b5d27fb2f613ebdb14a5613bf71f705ccbfc38f438ae4e82704f1e6eaf3632da998678a16f06a7fe0ddab30c666023100baaf75dec3fb49d31b7a48ebc4a379ee07ff0eada8b27fa1b8e098b3355976e77905dccf767abff1722d91fafc5388c90302047c435bb500683066023100d10a8e122f35f214056df4f3b0c2502dfbb415357a683951055091fb629119025e7bf9784fde4be8f4f7aa3012fb34db023100cb2ce97d98e7fb78a3ca54d7ff1c0d06718c92812835e9a1ef6343f8014614ef66b2de242e95609f8a55939c421cfb900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023074ef8e01ca2bfc509a7d6a8b8566c6d29a36a4d70f12cd72047f55fcf398522430f2f5bddc727207a4c35c76433c8180023100a38f02d62d65dbe598647bcb2c97b8b32ee43f677241f61e5ddad20f3e6453b29a7b8136e80866a3d5337257e438b90a0302047c435bb50067306502301d5189a58348c7b8b4a316a0c349994710f2e94f47790f510cd95b2ede8250bc360e4034467a48de91c1cc1546fc10c1023100aa32c8eb4254913c146369b12b5e2484ef55fcb082b86a923549617c44bc2cc8eb32a16937cad3edb1e02eeb9270e9fa0302047c435bb5006630640230318252e3d97e4e74af6c7a3b78c4e0fa9dcf29e80a66e400ab1b32883c255cfcb36430f25ec8b5fe542736a3a578c3b802302f8d349d9633ef258f73dd67c916fbf781652d677a9372fef002b4c8c42869139fad34f8f36433cc97d5b10f2a41adf40302047c435bb500673065023041fdb58b46e0ae38a4e9ae81a887ad4325983b36956cd1f804f5043439cebf10f55aebfbf682a63bb5accb1be4f527b5023100cb3142728880cbbd0bb2940aab652e87a141853fa47eeb3647284875ed4cd5e025762ee1605bb6ab3919cd30782e23cb0302047c435bb50066306402302516c6afb68626ab518a1995d8adc9248ea10be1c5581dd2b468b117e8f52d171bb51318d5478d9a3fbec21e005f361a0230735f8a36597986b303a5094b953628dc3e4874aedf5d3e80cb484a5c9170ef9d429641410a0cd61b786813e5a94483cc0302047c435bb500673065023100bdfc00d368834e4b8d5a907e049175153b4fc6ae86e3c9893baa8312efd96584a9f641d914fdbf48eeba81bfdfcc1ebb0230048646bc733360f01f76e852b08649fc29b9682c2224b4e12030a367fc3645c501ce0785ce7cb048b02e479ac554d9f50302047c435bb50066306402302157058e4d29d011399caefa397a3bdffdd7c804c4bffc38becbd555b03deaef708b4321d89f5c2587b5edf5bd6068ff0230506827ab3e97982ccbdff257f8942b120af40490189b16146a01a9a0b1a32a51d7b94c1a1066f8967ce839cee3ec76cb0302047c435bb5006830660231008e3685bc246a250efcd031ea8e39b579002e0b58f7bab0974c64649e32b19cb66391d904ed78297a617af92316cc255b0231008f84e4c81b1b4127d71079e5400013e2ae0d0acb328d5df7b451da9df59a77ff4c55e1f8a53d6f98de84b002061057260302047c435bb500663064023024395e157daf8db90e6b6925c37ca722015a7bc9aaf242568faed2c5a79ff716c317ba5e83e260d3b03ad4b86042956f023060bd86a7d53138dfc3a9eee2213d8dae3387eed019a4097968939978d19cc4ef49a7b5c64243d16a74b8c7c7d581b9eb0302047c435bb500673065023100d4207823a2aafdbc7544a3f022ac7838c1fd475a961eae187baa980509e32a9dd53cf22e49d96747d0841f12a964b2e302306ec3125da4bf46ebdf9da19140bc81a50adc20425424d7c4153403149646f9d023c3b555d69f234d9d8991ef6b1591680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f7772f1918c32d08225b450411f017fd7da52aef172e7f593637fc9aa3291858ebcec4a21a71a6f3920d91a8e230fecf023100d786ad2566dc790d09c91d7af5fc6bde3527d8f5485d69e5b5870f38d97c5d993deca34c5b780c417cdb572d239eddf90302047c435bb5006730650231009a31516799d7ed267f89c5982c87fe1474765cbaaed97df67618ffd6bd96a88634735d91a3fefa1a4ae9c159bbedcf45023024ea8e7564069dab0d1b1757735f015f1738a1e0a89280d8ed3515979ff10173edf2d8cbeb0d0c0e61955993186d1c130302047c435bb5006830660231008814b83c9667a5e416da7f4ed4965b8591fa4035590eebe44748c9d1be0b1fce5abe20a5131ed97c83c9852382cd0254023100d3f6de4a464ddd9faeacba251f7ec1d21f4f0c5e41f15e911a1c5aa2032c7bd4bf1f9a2a97fa172e978fb704018fdc2f0302047c435bb500673065023100af001dcdcaf3ba2eb988c1760a04205ca901bcb5c93ad065533dfd387fc21408118a59532540970e612729ab3e49edac0230570587d9a993caaa099e8e8644e58a8e21f63bf1df01e4435d31a98846c853a07a9642c7a1eca6bb0440e7b4c1b9a40e0302047c435bb50067306502305848a3296bfe529ad40cc083553a6772493e1cf134ad109c365b59845d6a4d83c2984982690d1bfc0ac1f14f3ec5ee64023100c38831b298b9d8422f9f1104cc3090481727bf4fbbd57f0a398695f3bfc34cbcd91534a597745f0f51de0ac643af29460302047c435bb5006830660231009540ad100bbf57fe21d07015b35d3d774ea52c25286fee627b62e565d5d32659af02878ac8b279735a2f7cc4c7d0353e0231009bea9e863874bbff26e3430811f5e4d919765c70b749c1ddbff51fd43f4ea3323c12df45906572cbb92f6dc806d7fc7a0302047c435bb500683066023100a410760df80ead35d285de155191b3b1bf60c71d1c4dee8d9f6b7e0172f2b283eaf19a53e5a23248df18a43f5e3b1a8f02310092b790f84e86f5c7585bdd67a3d2c8750ae0e308c422f969f7a4779f9d1bb62d50d86a1de23f5244c1ada8ed89b2dc590302047c435bb50067306502307dbe1ada397782c34507206868d2fe311d2597e901db83b512baadfcedc4e456d8f9908ff8cb1f09e9c3d99b560187b60231008a44b445ad0bd2a7d93356280883364753f4c278d9223bce15bf76ca77a8f5f861d5115f490eae1bef232c722dc6f26b0302047c435bb50066306402303be5e69e44d9617703037313d18298a794195c81f0f0b51cf538e6faf5f38cbf7fb4011b514f8fb3ae54e3f95a03a0e1023056756cb35098a6aa41d555169f969e333a19829c757167a6f10225848591ba084c5024a1494540dd4ef77a1bf17f64eb0302047c435bb500673065023100920718961c57cc200b73cb5458fd5a046973e2e0d1e7e61a63a049112a86198182290ecf9e5f1dab4d3e3f3fbec8f6ab023006993019074f347a0df46df2b2a3abd2efecd50327199162e583f0f487297b25a3b4d247142b5b4043af6ec5d51282bc0302047c435bb500683066023100857ec5701626e0af95882ff8aef86b93b4dea6c0dbc21a9fc0a7a51d4aea39a09cada91487554a775601edc5a602aad9023100c9fcf128d11199d18d1ccce995a145baf26f7e66806ae1d37424429e6cb89dc9d6c4d2753d40ba3e548ed1ac56ca35b50302047c435bb5006630640230195efd21c23caa81516426542556969a4f86426aa199fb8dd745381dab6959c4a457252d3e1120d32dc6bf048e965a84023028c56ad73841e11a771afd6d2c43e596683ce5bfa20970261e47a306409487d07bd8ea7280fab0a301da4f6cbdef07090302047c435bb5006630640230608357b6b01996bacb7e992dee4f74a16df491d81ce80a105d70b97639457706a29b25bdb4956624510c58bfb4a722ea02300454d6dcfcff8e230fa95db7548136b88d3245f5ac5d3cd125aa046f6b76b7ef26bb3edcacad03ad4e59edc38a4ec7ba0302047c435bb500673065023007324fcaceab49731f75755e171f3658e98db2b91b6e33d182c0d417adc24af12cea6c1fbe5d0c11fdee8f0e55170204023100ab222a6405176ffb6b7dd4325ec35c893b428437991d1ea24467549706081e24afc10bf460d35c8ed7dd975e8dd465c10302047c435bb50067306502301589751d986d74897a7812f1ef359ea3f9eb2e8606449e905783ab0574c329f5c3bab25f1038c074b974299a67d7bf65023100bc21024dd7bf7bea63d4419509476eafc0a20c0db6c3cdc8a7b526c17c229e9a7f9b7b2afdbd1c4fd018c321bc0755f10302047c435bb50066306402302b95d9d6bcb868593551c03e33dbae643122b126e3f0a1e310120a60127b7e7c50f75e5c22096920d45ec3e9902e2da1023047b49355d53269f803738f4e0270585d80ab73d61a6e812383202d1003bf7b8e5765e3e51a8082de421dae6ca1689b660302047c435bb500663064023035c7eac8f0b379334fb0aee2572205a1c2cc591357d10dd618dfd7504f2eee170b01501da59ffc9c8de6baba1586f51e02305816926fdacfed2eb42d8eb9ca953ab3d17735426eec4bd0852a69d848d6606e86eebc351ea2f1c0e927882bc90389e60302047c435bb500673065023100d12bd23fb0ff397117c8f7944bf9c591eec0e5a1d8dbf6b66cda2449dfdc9499ace381e1d9d2abc07c04973a87104aa002302b32a1b802477cf261e6bf6541c16de069a299b2e2c961b114ca9d5b8c3c818ad1b541b3a0d8b7715b9f1ae60f1809720302047c435bb500673065023100b996641232782358590f817b2c6ca6786735061d3cf829e48b23f317a1a750f016a87539792cb54ff40f0a5ecff7f10f023072ff27fbbbedd0e237e42801e5c6f2527776a12e7b22abe5c4432360fdd95f444d3fa6d3fbc3cf4f0a64475a34042de90302047c435bb50067306502310080ebf3101c95366f88c8afadffb60b28ef03ac091ec126e673ebcd33cfa45a05493a7006b3583e88667aa0810b1b803d023013c2b8dd389ed07c561ed4dfc8e81786abef4b7bc9edba5ad4cb472026cf4c728b8d44f098c266f4813ab11729872c560302047c435bb50066306402304bebb0b55fa00834171a0ef8c09a9ed65358851b866f0a5c2685ae739fbe6ef398dd6fc2fd0105b56301eecf6220e2ef023050b08e7f928561c1286c903d77d0e9c8394140f7a33528a596afc3f3b40d7253e39df776778394e4d409ea0e2367ee7c0302047c435bb50068306602310094626205c3add11c105143e9ad11ded5bb36a5182a53bd0f99590e2a0304e172852206b3fb8ef036d9d8d0d28bc2670e023100d3aef9a8005d9ae0ea7bb32c49000ae4f000ccffff203bdd6b16bf86c363922fb8ac3798ed2e7f31543e1eedcd7acd0b0302047c435bb500673065023100c78936526ff82c248cb3487e609b4669f21548e2c35ab3ef6fca76e0a542a8172c1238b9902e69a7a08dee5a01a88e7402307150b6a05f70f7377717bb9701a6062943651b05427032cc189b92ad71b7eb95032460e59a699a40455aaa71c0988ef50302047c435bb500663064023019598f63bb47a99e4508cdf421c7dac1d3ba73449c435984f6c9c15ff590f972c2dc373c0829cb3c7925f2a3f7fa737c023009be1ba0b8cadbf12c8bfef14fbeaff94e7d3ac4e91db56456492953deb435da0140916541415d93a8af5f1ced5b5b0a0302047c435bb50067306502301dfc109c2fc8b52d229b8808beca9f21dfd33aa9a16b07187bcde00afb28e4365a13dcf92e3388cd9b5cf61d3aac56c3023100f889c921ae9173eb0296926c35af0dfc7f30e62254a778e0976a36641484807ed01809b7092524587213b5c72647f3270302047c435bb50066306402303a4366486ce8c33d14a118a8ffee8f509408e71ff3e6e9eda2e9f69b2add2cae394c0b61a3a0dfd15ebfae090f6edb76023065f5717387a945134bbd06bceba34c2a24d7020a9de5f878dacdce336b15bcb3ab7be2e1b2689c4ebe5e25cb9a2fd65d0302047c435bb500683066023100ddbd1601bb4e1f7d6302fc06fdb76440679c2e74f78c7458c7d42de83f1b7228a85dd527e5e371b1b3bb050500dba84e0231009fcc38654baa6fa4736aaa2e779d8daa601628042d3c20331de9fd272247ea0e144ba530256bf71e34698109a158f3e20302047c435bb50067306502310094e4c0c04ee05c4dd8192ef4aca93f54365a3a6012ed4ffa28753ad16ce8016fca446d6d731d346b3263d5288306632502302b2385b452493ee94bba0bfa17fe42524fa62ff3e4bcb012e2979c7455b4f51b70ad9168f24d1bcba7e1daa3f2d987750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301ae0f23d58ea9a577bfcf938ac5a479845d974ea2a99e117c63942d6c08576f6cad0a8a7ff3b4a8d877c9bb9eaead248023029d5c715ea4388d15216bce59ccb0d7eb3008797abfd63c4d7d80b3dda4b4775c4a53ddd207078df9bf6d361788a01c50302047c435bb50067306502307b443e7cc56b0cafe0044bb65d9a54b7b2ee3965984c7a971138e26c2c2ad782e025b0ec7696f33d3393b23ba058e788023100d8cd10897bcc00db3a810b913d9db03080cf348d1311bc68be41fdb4868ed111d3e9a3201f5e4601f6a6d35c918dfe930302047c435bb500663064023007525aeccbc12302e5e3c95b8197e2ad49c30144dfd6667fce9e068e25c8acbcd904793d38194031f13ac5166dddb0ab0230434c450fcb70d34e99b644213a26daefa85237e40bd88118462283af6757eb7e70561001a350c996df2e51be9b107bcd0302047c435bb50067306502310089412be51637daaba0fe86f28703456ee3235332652b4c59ce124cbdc51778c1f534b0804a98485f466acc76c379bc2e023052f1734f6f97b319929613bb0c3f40b2eba272ebe39a5e818464816bbfd4dd0d38d37d62477123878c4a74d9c45229cb0302047c435bb500673065023053ea18a13386aa6118374d256900048ba608499a4880116d76422052dfe8f6ddd1c00dd14c9b57c69b7d6fddeba90446023100faf7620099dabdfd253b50ca2fc5c895565c472b59e94bea561f1acd83a246ac054efd4bb78a3802610cc64303d2ec510302047c435bb500673065023016922e0c7750a437541c588fef17bc95365e42585b31693426d13716ba99b3dbd01c625289ade0c8fb4cd885cf85421c023100e0433165b8768a70f7a37e0df121058f5905a7202dd8c13939207bc6c3b413b4a45e1bcb892ddb7179abbef5051ead7d0302047c435bb500683066023100fce15c00f4689e607bb23aacc32c01864c2ed1b679a18179189f87360e99492ddd8af895fff7263e96c07325a5bc7678023100bd6a528f296bfe12a5d6938ecedaa05b7a9c4420a4de3d060865a7e2770a2e95bf20ae649bd1f98a7025b9c6cd705c4c0302047c435bb50067306502300c4256be226ed281b4eddeec4e651977d8d6d87cc9fbfc7377dc13809ba0ea8ff88fbd0d5fbdbffcb322eef5fa467206023100edd73ed0d55671b2efb5e4aa84ca6c1d10733477599e594f74fbad4463c652449d7d5efcf2e9777bd9993c9626b8724d0302047c435bb500683066023100edd8f4b4761abdcde3dda6175e72eaa0f056261f9659221c3170c856e43f4c851fe6c6554437c08cfc70df39c6ecf7eb023100fb4a5ad9b82eda0476e9d20da2452c6d8407ae5a89c2a3bb45e5473c366f325290b98fb48292dadaeb000a45f9aadaeb0302047c435bb500683066023100a8b4fdec2711db0546762a6dcce70a5146842f1b597743d29fad36b748b9f5e782ffa2fc7f291921f813978940937f56023100f89b08f2bda7b67f113dcb1075c4857378d1f265c2dcffc5300aa1d072f87e5a502b1996235d82c9b80a04c96c7ded7f0302047c435bb50066306402303b64eff6f78463144628ca40ce0a3a5b1612f1ad5269f3d27d9eb6ea927be24160932649be1c6ae599c6bf28c58649c3023059f088400a198c3a982fd6c681d47fe52a9bf7d5481f5d62cef11bf45a52e1469bd71bf49493d99b3a6143202b6685080302047c435bb500673065023100a3831c5511c6a6ffef1e09c7eff2d67d4aa12fa2db929548d119f01333ef6354358de58866731481185611c723e4e7fd02303088a0f00ff8f26fc83853573f05e575cc0bbd7a14c11c1a5945e69e5f078c7f067acadc608a6cee57762cbff98d429a0302047c435bb500683066023100cf3953c3df6e4cc9be209c6c5c8b85da412642ebaa9755f3047d86eddbc3301c1194cf95edca460932f9b9667f460a5f023100cfd49ca084979781ba0d021de3a24f408bf9d593c73c7359eaa7984b3a3a5f1f5a51ca3d9e6c07bce6951df0d00cda170302047c435bb50067306502304136c95812bac762031bc48b2360ba7507b5328945f70f143f77a02df20f4cf3ac8769e7deae82f3fc15dc39043272d8023100f2b711a244fe74e281ceb5c8324d2649e01f2f9c61e74caf6b8c59189306d10154b49031d7356beadffba4120321baac0302047c435bb500673065023100fe9998413d6860031fc50458aff2eb9a41cfc04fcb8677e2b8baeaa8a1040ce2832b10b97fb11be9b7c17990a0acf55f023047469712180628f4bcad684c74af8515d5b72c37aa5c9f4db194f170a96e84e1fe6f29764f1883b0308d1a1bb522bbfa0302047c435bb5006630640230417ece620cf6b3150476cf3750881ffef0c8ce677922ab6972fc6728d47376f7c24a942103eb003efc6adb25cb1e210b02303136c92ed9dfb9a7e7577736a6e7612d6dd861f128ae52b1c7a6d006648db0d696a45d552c96ec2fd4e1dabe21bbf1440302047c435bb5006730650230346a1c935504efaabbcf8ec7724d216372c284a40bb53d657f8d132ff26814f0aa21240623a9778fa9c9bca669d59045023100fd5c54e11529efc8f192ca57ab7de811389b02ddeb20ff3a9e19d24fcc05d9f68e60b32bde3b18ac36db3ffe99c89cf00302047c435bb5006830660231008d7ba76d5deda7d83f0b80cb2781cfd13d54887eb83a076185a3f87a7a0f9fe7bc9dd36e9f9e0d99e2b6f6f8b9767d46023100c3ee2bf73c76399866b6c55c45ad707314abff93200972b6cac49d72ccae13d74a29cb3611acad32de6fa810185b60100302047c435bb5006730650231009caa25535c0dc2508d91a852391fbcbe7ad81d498d32181a64a2d939b13ca0c8dffbe3aba9e47636482df98fec8dcd65023066100507aaabe609f18525cbe34dc3fb6031903110b7f428297777c4d85b5eea6d03e70aecb27738cfcd6ca0f3fc4d250302047c435bb500663064023038425d5a9a773ebb8a7042f76d294a4e004ef94e33190e7004d43510f54c21473993edabff0768f4fb6375da42b58fe002303049731848090746bfa694c01c1b0b84d7b32b088378dc73621a7fa2121dc6caec76a9d3fad8117595f22d8b609222160302047c435bb5006630640230163235c990265e2c9b33697a05e4676139fba39861abdf08428046d04dc020cadc2fd2f006a397f9b487d55df57447f7023006554b0c2a25c6fbb6486fb66907d7c180bec42c5bf966f94a4760ca6991672818c54452099f6a343b6b6abb9efdd7890302047c435bb500673065023100c59170ebafb60c298b34541174c0c0b8131e64a8e7c7f91a6fd2e0c638e59313fb8cca9602493b3e95c4bea9c55d65df02307f1d67e0746de0841b2bc34e05ff2139bda0c7a69dc3055eac964aeab6cf6fa0e99b0b704608cd0751a9f437d3f6abc20302047c435bb500673065023100f8ac05cb2a3cb79f085d086da8583dfcf297958399c03cc787b863ce75c15bdf9bcd55d565d66bf9fe312d29c01ab8c00230729e43928a126708cf7444685c4ce5976ce567f05977ecdf30cbdd60422d31ba638cad138d72d8bb4bed2f49339036ad0302047c435bb500663064023004b3dee062339d43024544c0a06d2328f974aef314cd554c97fb48c259c8fc80246683fa0ecdd7bee30562162d981b9d02305c5cd955f57c22be4e5ea800f118478f583a515ecb0efdbb2a2cf651a81478a994736c0e888cdde8f13109a9404660680302047c435bb500683066023100dccc25efff3c25d7d92b2e9945bdddd8fe073e8cba1397445bef7b2ba8beedb9bf329efc00f169ae827cbe1d0b122cf00231009f1ae501da3928cd602c1d5e8502020f9413e04e5234fc1cb2c8589965b6ab1df66a6791c0df3826038f479e899160a40302047c435bb500673065023022b261f2d651957eb8f62f09cdb33b5c95f435323cb7c0cf113c64ba6b65b75a6185b220c998f78b0428b8d1710109d10231009d0c96af3ac602a23162344e55914f9808684f2de6f91d625feffc036c5a47b1c240d5429bdb8178afcad5bea0dafc210302047c435bb50067306502301a97b133312f84195806f55f24105c228d50abd296a6507230879e771bd1e71524eee7fbddce9a9d93efda21ace10aca023100d3e59e32d911bd06a18b7713918272ba92c15068de1a3efaac94f5a4839b2f4acad4d3202d37a33c2832125a054cfa950302047c435bb500673065023100e1449eae0ce3446ee45e9a41da07fe94dcb0fd86f5b869615eb19fcb7e569b118952820b8ca4a4f3cc66f24e308036c8023016fe5650811d982a8ca2a6ea6c027bddecaa643c6f443b40dc20bf1340949233cff6bb28c87be05f487679f10f22d0890302047c435bb50067306502303e088f2e2e20ddf52d14e4fde13594bf40bf657ebb3e46347eb6ab90f55ef0b499d27e480b92314b877c5c72dd4f7409023100ae38aff35ead977f46c283265b4c2e573f67f7f58ef177ab10e5b38bf672f60a97c7af9ddb3d3998cb4a44fb489a7aef0302047c435bb5006630640230613a6e114db405213cde5b409e8f0044eb2e16ef0a1ab461259dc4a5b684638a47821f8955ccdf682be7e41802a69ede023061a23823c44670967943d6e5ae76400b10d94bf183ff704f672f9c350b4d7ce901d52c7183f997bdde3db39698372e420302047c435bb500663064023017ca6fd1ac5fde145f3ca9296e715ba8eee9538d6546d616b4ba33b77382bd9271d04fdafe543a5fd768ca2a39ff6e3a0230656b68b48111cded06594639cdaba55930a8cb99d9ef6d043622165a58c7218cba82a7bab96205c1c1832893988bf1a00302047c435bb5006730650230775a4c66bf90f23b4f6d8f04a8919c68130649a0ea75387debcc9d3eb2ae8f5f0f31cb62c3b1ea5fb27cc6b575f97841023100b32f5917943409d5131bb19dae66397a873beb0857ff2c78c1a500be1d27460035eed96a95f26289404d8541fab1b0820302047c435bb50067306502303f8eb10eea1ff7c057b66c4db006e1618e47bb74e79478224b1c5f312146f1b2a5e251b884e6ba853888b802f05b2aeb0231008776b218a59409ae37dd4dcc162ecb0687f973f4fc357019f0e7fa59b2157dcc35f94b078e7660d679ff9f49de9d471b0302047c435bb500683066023100ff2acc493170fdcf9fee02ed19ab69e9f0547676f6434f8338d88f1a893a0b600b3162839848aa8a061403822a2c601b023100af13b2bd1ca6bb0c695650a480de8aa3ae2c87b117a63db12dddce4ef44be331c2d9dd10bf72300a84651b472f2175780302047c435bb50067306502304aad95e0468643259e8704a0fa82aac48fece1b81c061edf8db8109e68710887d1bd92fe1ff22361dea74b5d1b458420023100ea129ae425e2e4b9b3dea8e9cbc4bb0b3d532dac23837cdb0c0ac1da94524d0272e1b94fcd450f178cfded1db49651090302047c435bb500663064023004b1f50293c23a55da95abbf5d6cb60907912b7a5fb1a1560333cbbc8107c293f1b75ab20b5bb9acdf2f396d3167b476023058b82d7ea344b52ccd3d4cd7a0958b39b843ed88e24d220fa1b42a482de88c1128ab63b2c0eb44f45fc02285c13929c80302047c435bb500663064023036b0c28d3e33a58de56ace45a66a2b5e88f5b9811174ff77cd66dc01271d73114452b9d59d2d86f3f612e8954d489836023022f6a3c0bb1b37a10e93ffeef1235da545e895f263e3263de28587c9ca330f3adadb86fc8f97065d114968d53e587ae90302047c435bb5006730650230612c29586dcc234925857fc1743dfeed51a5dcfb7038374d619dc7e42a3f4ad8503724b2ec4a5a2edcad56ba114cc5a3023100cc0fd084afc643fe4e933c7ac3ace266809e3f2303a9d166b84e14350a33f3869f88d035db0b333ad437ce6ca504a1d30302047c435bb50066306402301b135c42ddc682cf7cfebff9b6ec7ca0729214903dee952071e7c1fa13a7c25769606dda7064b955168112289daff7f902303390569ea16fb5d5141451ffb02e2f0e9440627816ddca2a81bf89d99835580b874f743f73d84e37e70917ecf0aba0330302047c435bb500683066023100e1f1d476810209c198113e9e8fb7ed1fad0417fbaea10f3d15f27c44743ffca3a5b1e8c51782c75f18adf87181195ac5023100b176775d46ebe1e3e69e9b6078fccf91e0b9f3337da7ae34d31a81395bbe7b52a773395b4a56a83875965dfc3f26d0510302047c435bb50067306502305d413003dac6ca578dbdc82f134aa015927773d9dd51f3f9230eb25d478f8c432f5a1483ff5363c5705ff14d375e2348023100c6e97a97dabccbdfeaa1071588f83f9fc538df4dcc442e32b824b108578b9279fe395d77f8ff6cff5199a9716706dd810302047c435bb500683066023100d2f49d97ff84773607aa59aa5309529cc021e642eb01c261768466a4edc0dbbb9f4fa261f3c4adfc1d01606c2be7ae47023100f3cf141a4c88e3813f6b662bd265a55760c3f392316339a1bd44e73bb9265dd4811a9d41477dd8e60b7a67f9af7cf4a50302047c435bb500673065023100de0ef99832f360193b42e2b621ded6c00afa3c46e7e200bb20c854eea95f167e67eaae3efa37091a4c9a19e3bde0d05102307f428676b9ee04b19a1736a72c1b0428c756f2b43a657e34cf4628f3b1344e7a77e8807f111c9b1529632f9090cfcf610302047c435bb500673065023100d41110345617165960593dc97711110e3b55fe2963e3d6c64afa54c5861bf87ece529f144def7e45128c672700ea5eb602303e70c95a631f085b633a1f7f0c221a0f591491f1e8dcc52664b822e4e9fdb75512fde08018362b2138f1638f3218c1870302047c435bb500673065023037e9841157a2405e31c85c8755ae952346283718ba342ec850410448371923f6e411dd52cfc2274211172d7a324a3868023100909e5c81fcabc6e5d67bbc7466abe8b9aff7ab1212602d9c7c228be2b3b847b0455db816be81fac1bd2a45a453b677440302047c435bb500683066023100fa756f51ed1340c67939223e24c98c6e1e5ecdd9eb74b4b92fafd13134b801240aac1cf578e09d6f644a21176640b7910231009a1a190072d1e9f520f430172d0dd5d93ddbfe2f125143c1df8d025c2399ae3ee4f7b68b04ef6e6f1a8c23061b5eaa150302047c435bb5006630640230493ed01edcfb7a256f89125b8931bf9b5bb6aa9fe6881f92ef8da4149eb53abc877a4d0cce85f0f75434d6165a59681a02304b7acaac4e626614ec0dae19de6a0774902e803d253917ebf597bab32ee22fd077960fe31b9cc07f9a8c1e53d54e33520302047c435bb500683066023100e9c16ff47bf9481915fd3ef749e8912c3a2f61df9e8854397bc7b05759433125df3a38f31082550e4376fb73aed9bbd7023100ffd0f9cabd3d1f333cdf23262e57b5f22e97d234a182cd27e18cd1ad7ffbb0816456e044cc31a56a02506922512f66d80302047c435bb500673065023100f93681e00d61a4dd7380ef42dac70d1d2740e6e2cfd334e5daaf6b31c97ab45a52409cc5b0e4b7ddca828c0241b6598602302557556fce37c35fb02fc34678608331ceef219bbb7bc67e408ba3071002795963e8cd54ea0dcb71f4d1bed9e31075360302047c435bb500673065023024ea58349277e3afa92e08212826d0cc66e372b77ca0866d5cc6597d7907839135779ea4acdf79db9652330963f01336023100d0377260163173ff8fb8e1635fc6f55f201891598cc90472f321f357dcf377ea40f672a8121a67e9a56df8683defab550302047c435bb500683066023100a923507bf6390625742c8ce95603960290989c828da84816cad3e73927e1eaa52c2add553b2d91d2a31139425bec12df023100a133bd968923c4ae9b570c8702dd6f4bf05cba8c5c3e6e831225fac2104ba815d22a83e958fc4b269e582d04251d8a5f0302047c435bb50066306402305635178ad52b8dbe1a7d43ba2a73ccdeec439ec629fde90a654a9fe3a44a245850b53a816cabaedcce458bd0eef12e3b0230599bc210d8a75abf03f2da72d8e20747d3cbd2be99d5e65e26ff1e166dd5e06520fd668eebe0c72e26e4a4553f20643b0302047c435bb500673065023100f215dc3627fecd797f40ee31a2157d8827a384433e316470d5c94cd7ce96c055eed86f2c2a49e3914c2f2395d72edf7802305d20e44c30dbea0b05e18c809b31c7ea8bb803e9d2b72ef7c0568f2f8816060559c028b9dc70eefce3d4384cfa6623770302047c435bb500683066023100b4812d64562d40fa841fecaa5862a9fe7753773b04b20f1e50affc9edb713652f2a859c8d0a351bb8cf3b1681c0097f1023100edac2978c72cf4ce7f1cc00f4574555a0a8c6b3ac3f04d2a9b0b779d298c2d62056477534f7d8268db63ac6dcb757bdd0302047c435bb500683066023100aede09c3a7036bfc89366872deceda357f30b9e8e4a34db3069a8dcf3e95b2ac0786f49a3670eb57232efa5bb164c59a023100828b3f96e42d4c1dcdbd638067bb96039db027bc3fff105f6dbf294c2e07b567d7c21f8892eba3a9e0d2f1a4d671c5890302047c435bb50067306502310087a468adf57b44ea3d0bbdcd348f5b4f33fe8928f377a45c4053dac2ce0c5ad70a100e5fc836bca4e0ab6b3e9012dbe702306d68b5aaab13e545a83fc04e6c8c4aefaa74fae99db3c4680e11aebbb1904cf167f11a34de1639dc39c7f1131cb228bd0302047c435bb500673065023100e806d87e8e4872c6d770a192609a2ba40fc1dfe1079f4322a420d46089e52bf56e9ad89b5dbaca360868d82d1758e7c502302b0ac57c90f0e13f6b221205c2cf5b76b4d0e149ef96ed511e25db2f21402ff3b990311360d1e5c08ca14e220d4a73790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500653063023051bff825c9d3f6f92c167d27e28de77aaf1e8b63c46a73200edbf2f47470a725f33d56dc88ac11be0add1958e4f3ae50022f6fd974cb72676526325390f0ea9067fc544e53014f94b1eea3be9b1960fcff4b44e3c8c0cb3702f7d9ef19ded1cbdf0302047c435bb500673065023008ff7c8d261b430cb38d9ec6a0837507574bee3448fddec9aafe0eaf8c6d7c6f845da32a6a93c55eccab6a344b8d879a023100923a04019694657fb94b346d008b858fb0e6ed6e70557dec830654139a82a5426f13263a3eab1460a3ed7ee7699a4f0d0302047c435bb50066306402302f85174758d2e9acd4bbaf99f849477a80ec5772fd3bde25ba4fb9b08ec652f95bd68911c6f0481147a2a0d9528854e702303047b85d9c0320060bd2ade086c2bb733766c82e2f54a70830a7343125848a5471ce937d696f6a69617b1e39e17278570302047c435bb50066306402300c371c7981d92bdb2e21fed00a2fad60657abe10e2153e1cf23ba59608e9a92a59af897f24dc3772f2f4f13e22efbc6f023065f08e06a0b37e2b5ecf07fa87740eac50c91a447c4dfeb3312dbd93a236eaadbc63a2047db7725eecd805d38404d1df0302047c435bb50066306402304da50d55d24575b223f295c9918b210386621bca238089b0ed38a2031922bba0799360cd6dd5598b1c0ab15f410e9ffd02302754f6ceeef1dfa89dff7f86555500369bfacfb0bfb8a48d6eec6f3a797970fbef449e980904797af5a30b9733db37140302047c435bb500673065023100b4affbea1c4992cc69e8ec66778c75aacaa20f45fcbf134a591a4614ac170e584dd1f86397aed2d838b480e06e8eba3902304c28c8126cda12013b2fd658787e3ad01c5cba6445e17265834e149b0ce74a1da3c69735f996feb2867d00083c591ce30302047c435bb50066306402302f7c08149faecd5d49b4d7880facd11ecb10a629a7189a9a98821e4fb708ba43223d103cfcd49b79b52243510c262327023079bb8a3a43a6c00293a9335b5457f6835d01e515ec60c118d83af06aa63f31a169f08d7c74015672a7426dcc7410fcf00302047c435bb500683066023100fe733ba8248cc0f5fa1a69a9754495c1843e420da487cc7e08d93fb436cf688eead4f7e62649b6a508d7858cecf2c8d5023100eff01ae00049cbba23e432f695d9d73598ec37153136c9f607502e48789b78e59c4a082c4c66b4bbbcd539f43c97e1890302047c435bb5006730650231008010db219f27ed3abb20826320e1dc4e3d1a8fd26d82f0d358ba94f298e3e6dddaa313ccc72ca9dc758acf68a7ca7be70230688419ce5302ce01ada9a6234c166a7f73242f851b2c72013ad43cfc90d1e7028eb1a221337737e7d4240601563961430302047c435bb5006730650230401461af8c6ed3ded07c6db8089de6f763253d991769d4a1f7a3dee0d42e980ebdbc601d1160ac470f7215da7601d6de023100baa5b0093b26759d6b7dcaf8d0694f77df2045fd63b81662bc89bfa1c83fd21d98e98547aafe8eaead6715a52a67aa5e0302047c435bb500683066023100f748c8519a473bf86de3b3cec1215ae4fb4422803749dbdf97a7db957364fc2c7bb60d566fffc2029a5ab8d9690b0f6e023100b2b7a01116c291bf4437bdf0336e5242e9fe33b59280cd6000f624e2131164b128988358f7de9ea0d1bdde166d37db960302047c435bb50066306402306bd7e68d15b7bda71f63dc504fbd0f94ca8ffbeb752d21284344f780afdaed37813d1ea48ff741f699fe94204c77d4db023019b1f4608f427e82ab14148ae8bebc1ac27737220b19fd60c1fcbaa8061e046c1a2b6e8743c5e7b0004a3fd5f92aea590302047c435bb5006730650231009799216fa97d8e296da2039fe0c924c9a1f642193dc0f675e763b5721efc83b6a1be3730af5477ff9b02e08c126c2c9e0230156b72c54c4c2c5e78c43ad4909fc130359b7779832fca88eb0022740192c9d207c2acff73ba343b5f81394406b1f68d0302047c435bb5006630640230278467a0489d5646b737ea5fb94dc6fd3001c54f66edb4e3cb1c26f22d20579034a3792b609dc0824f8ea7eff0caefb802303405ee6acb05b35b87b708b5ae640a6141abbf9c2239bf5c772801607748f15374c3af853be0d05782b9bf6d2ceba8650302047c435bb500673065023100aa9bd56338bc78bc839f15a29a93207b1d52eff8b492cb515dca49bd16b2ebec97ecc59127ae870bd718ca21cad596ae02307a2d7e816d36ed6dac086a0d3b5e30ca147fc2140a46ba139e189fc966e51b3c44036b5c5709543f3bc3a478076142f80302047c435bb500663064023067c36fc8cda456e67d3b9d602f22effc30e86650bb267ea2d7a0845436c71aee82760f9b9582da20d8f361a082fc0840023078dcfd030b093bb3fc121a4d4626f04c3fcc956044ec7c266fa21b307ae9a4045310e45a8bf8714f3851e08ea57818d30302047c435bb500673065023073286ba8ede766c283c788015011c667d3bbb1a0242ed1c3116c3522fd51c4353107b07a0b70362a3966611ccecd0a0c023100ba980040a085b1cee4f78656d5c3ff45c1b7b5f1ca81f16e4065388e93a674835827151b83a36ffa439458d47bd3a6ff0302047c435bb5006730650230338065bf4071c43b62f090c7702bc1c2ec8873746cc0e86d5f9fffe487920799462ac2a639b2d3859a4cfc9ea9a6e0dc02310098903e0dcaac6b4e92f043c487dec14a7aaeb5e27598c625373938604fb88b3a421c6076ae573658fcca9d45d7a8df2c0302047c435bb50066306402306a0c09f579c51c149a3bf41850318f35ca3000ea1b0925c69459e80ea6399011d3d842134572691e1dfe6c7e0c8032f40230239765a2b83783e258e0369d17b381eb0617bce883b19e18a88835dff445c83b6f94b79429b7dd54ccf99ec0f1b843fd0302047c435bb500673065023100e7c196d7a893c4f3aca56d4635f65843db04e274baf98b0b15bee940dd5f999f86d04ff41cb64d5848a57f4b7e77608c02300d221f5e5a380395f015f6ab496cf4d0d259cde55ec0bd7c298a5a3a5a7a4847ff9c40b86fa1f0a10d1a4650c975f1c00302047c435bb50067306502302f87e79e23b5a1f1b9c58699a6462a32d420cdb5f65222eed32641573d72585752d2313cef9420c425a2647f74eb4d6e023100a120d4b1be740131d71c2ccfcfd25ffcd5abf661ed3f6963a91a093640227e2fd7bbf0b31f2c6348bfb2884b4ac9805c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230099d01241208096e0713c29bc1b3b8123cbf021d107632b0e9abee2c8b70e4392039a269317e52e0ff32716cfccb11f20230708e4405eb80795e47e221826ff4aa56da9c6fe4431c60f8388a665840bc094cd13cc529cf0d33735182e814b95e3ad80302047c435bb500683066023100fbf935d4eebc4f6f92161606b2bcc22023f795578a587851f3de8706ab4dc28ee0975db6cf585547fcfcf68b2228f504023100a42a00434cd0ef7503f68577c505f0dd4e4540a07f7148e6ef35d6ccd314d8ebe260db92b577b1eb6870839de2c520470302047c435bb500673065023100d3c93daa0bf3c15afb7bdcf85ab0a047c7945e50637c4473d09cead7fe9a5b70d9a2e6974fce19bc01d47dd195b1952202307a2b01b254bcd8a24dece925ab8105b6d9ab7630c0323fdbd68f07ba420803943378b3c6f924419899fb6c810adf91c10302047c435bb50066306402301c6451daaa863e74b8ff35dffe8743332961b2bca5bc4ff960176829fe6d0b93ec0c82cb51c3d8a22972b716ae4604b202305db1b79ecc721ea91cf25107342d1082ac43607bdce9f131a05d39092508571cba094c9691e27a6c3d74b12cedbe52760302047c435bb500673065023100fcea3657eededff93ee04eeae70c73da59112d0cc81999687b706774e916d34a962dfa2658eb4e348adc48e5bee47e5b0230404d04d5598992b408c6809ec822c6d871b9db7b6ff11897c7ea77fb51ddeb0e04364056005abfb46848d8017cd77d900302047c435bb500683066023100fbbc38df00c1a0254f5ae25136752b239a09cf3abdf61fe116b0f6fa51d35142c6fd128fa5ca149058825ca0f931f5e4023100c31dfcb56472612ddd85b2539fa1aad81cdcb980862be6cca9ba1edebf3f7fa26ddedd6849b67732ebf1ab6cfe8dc6f60302047c435bb500673065023100aaad642e1abd1185576b51eee827f94bbf92b1183aba76aac5e5987b5df4cd0f6d47a2798b4f79fdb1c12b6a1279e1360230364c3e274eb4229934aeba4a7e758bff19d7a2686d2d422d508a76047ebfd61a7033282dc5094da824aae3e3bf8bd17b0302047c435bb500683066023100bbd11affc2bcc83cb566c603825116a8be17fbf9674fd0f62e8edb35e7e01a89077272921368fca48ff4a6dba33e59c1023100801826e896586933c851f3843bc529e51a8a2b2037fff79c31687c029271bb2880552ba3ee67aea101d8f5e37737b9520302047c435bb500673065023071db573815b1e31d9aa792e3d3c7bc92ffc7c11ff87bb2a45e1b4ffd5be510795d87b11d78c42ed61efe6704de07deb4023100bbda0a55e2c557b7defad902f9ac3286c6b5a89ac343c35bf82c57659d031ad860c2053787fe7490dbc371d7fb3f82f90302047c435bb50066306402306e4cf158a83780bb36e94e116c009f01e9872a92362e508c84003c3b3803499e3dce0b3b00983b959568ad48ab18cb12023019f3643baf2412e7dc330bb60c1778a3243c28e0617b1c949ae40cc321480f018ef09adeb900ca903bee8fad695af3600302047c435bb500683066023100ca330f82305ef60b6539c519f49651abf4e4ef75ec74a5e671e156a517f886104a01652a299c89f767ca126b6fc988d7023100fb7fd62ceee0094bbdb3c975cdaadc9985df315d31e9a95c1f07e5dd164ba2f1b8dfe9efde3661228f3140b18b3ac58e0302047c435bb500683066023100852591434649148ba540796be0d1748e2bf992d026ed7fa351413952fece64bab32cf71efa607e11fcbafc2fbd07524e023100cb9f429337f2cbbd5e116b0bdff70ef68c5e18a7f9c5cfcfda0e6ce450366b856c927c0ae0e436b0da0e70192a1af7540302047c435bb500663064023031211aa4500bca3a7d075c64d9c73f9a59281065cf70094ee3dd47eff476e2fe6c4e67ac8dc5ca62d9a9b66c3badb72002307482a6d63470bab748746eef3e302c987d13c70c9bf3e0a64d946b0f2583d4c7736ce021d55a9f871152ed49148bc7ce0302047c435bb5006730650231008882c1c0b2801a2bb9b0db187df22aaabd6a558c255762113ce3b44944193fb7ffa80c94c710f32212604c64946415fa0230700c8ac2179ed7abdd8229f99f281d4504a71eb827a2d7cc539aa1660ac80e965d850e9b184a80f2a68515d8f9974a6c0302047c435bb5006830660231009afe3d8733691ef5bca3410a0d7ae570e5744918833059e1918ce7dfb49e6cf6bc33dc3a99921d2aad3e56b7d215c964023100c22443241c460883a054e02efa726b5b41a7dff1e8e23bfd21384bb88b1968c6d7f090ba2218fba3e678c2968c9b0e500302047c435bb500673065023100eb56c767de8c9f28e91a5aa8ff2926de4bdcd331d245a8a8eaafb0e7a2f38cab1085947ad3b8cb806498908b7037547602301cd5f6d1110832be85a7285dbb94094c74d6720cb32f3f86da3f1f3680245894ab50115c7370d32b578afad82a5012bf0302047c435bb500683066023100fb1965535f0fbfb56fd27dcd655fd34acfa0aab1b7e9570532b43fb0a1282c8115100bf8a4c7cd2205c990e331bc6406023100b263738f1ec983b294fb56226143648b22f006377fa9e7e01cc55430bc89001a37774a4923ad0be4dd0976e04291e90c0302047c435bb500673065023024c1a8a995146ae4ea4de46c7d991c32e3f67f1915450c93475c9d15a8a38e2d15c6fa5b4920bb1b83fb8e5bd038e628023100b8c88afb0e7c6cc6aef4d21b50870fa6a4d8b0f959c31d7574fd102faa397259bc5175546f13f6f92dbeedbd672a603f0302047c435bb500683066023100fd45ec6449a3b9d698d42d17e0a0957759515b30ddfda6fe791fc87de114cc9b4669c2ffafe21b2cbdaeb7dae8d8aa850231008df4194bbe76c289217a51bf52ebbfe1a559f59272cea3d36165e160dafa45ba0dcb69771943ab8ec3f8191204a0bb160302047c435bb500683066023100dafcaacdf29e017a2ca9f03a26476021a8ac82be776e2ce891df45e4b166b71b60fd6bd9729ecc7a663ee72f8bd6e131023100d2e2638f9e7f8b881315060d44230675889c5af4ab98404b97bfddd983d5d48db7e3607406de89bd63e459d63c7b25500302047c435bb500683066023100e9e8fe62e0b93be1bd5394f74f10fa18d963c537295031051944c43e058764c61245dabac663d7a5c1e1733b27fedaff023100b68e6bf35a81071bf666975daf9700149a48213e33d12e758aa62c9a95eef76a23b536442844ad1d85e5fdc40cb4a9240302047c435bb5006630640230753ac1f0ae9fd9e427948042a90198e83c3220b249364c8239549117745b615036dd71ea0509339a03b2a627005a35c002307e43daad5f67c17ff0842b4275c25dee0ca5fd021367e147cb46153eaec07a7a43a457558280e3747a024bfc3d6cc2780302047c435bb500683066023100ae0882e1a69963519cca95423e71de9a3bbe454e791be123384219cd60d3e3249ec86ef5d31fce2babfb35f7d4d602da023100ae69847a8c7c32f423c0ad561ccdb02b1e046c01dbc00e4ca21038a183a5d77e7778d8fb4839c4bc1949c79bcdf9dd8a0302047c435bb500673065023100f649404c86b41df6470289b27ed1986e5ff29746be8108f8851b4c4907554cf31249accd6b14ea1f354f7db3994ea79402307dfe318333979d428e610ec661f8a4bb8e2b03faa9217ab25fe4f6f58f9a8e14388dc06b1d0cde708b33ce6efdc8dda40302047c435bb50067306502304d6ebb290a9255425115fde91ca7e11957c915980af117bc02889bc1246193bf718393e6d6e870e01e4b380f0d12203b023100b6b78c8490f8a41b78e2f962f39b6c509561902d21ea48c136b828b15c7b37968600ee2fb0275183a0c4f0bf7ff7bcca0302047c435bb500673065023100cf6ec7e68295d55d42e0da553f104e686bebe6ae3fc4a93b4eb7dfe6c51638ce710b3476479768f236bdb2efe76cb30202307fc745d56203052c5d572ad83eea39a64991aecf14c167d7650115f7e1e0b7e8a94693b26166c6078de0d477436f3a770302047c435bb5006830660231008b9a1ebc89879eba35e1fcbcc935eb4a0cb789957338a884c3b157e6eda382eed734330df5377960b1870e5199b20c81023100edabbc33cc2d8bb5d1ab53d695f8f6e6892e8d965892364090f2ba3af2c8c71b27f07d4bb7ff037b62ca27114aab41210302047c435bb50066306402300a540d96b64e3d8d0a2b56c573bcac1d8db6fd4967fac1c4d7879887b660e99494def5cbe267697e3bf05f26601f489e02300ccd6010f8d4c902eddba8de956d104bc000bb0d0e0d5b0dae4234d123afed057cfdbab3bf4d0ae0655181135072c2820302047c435bb500683066023100c00dca78a8c2f20f4b8a71f031b36433585da265f42b613ce5b329614b0ace1074f58dac92e87ef1991d40504ad52ba3023100f669845f2c552a5a94d42714ff065154835052fc242cffbeb79c735e6d5e188f30a5aea4300d9213f52238c45c14bac30302047c435bb500683066023100b95fb3f5e01e49ff40ed2e9d365e9ea65476662ef5460a3fa718a6f33237edff776beada7de3cd5a588d12a835ce7cb002310089c77865f7e572cf5a1c9c09a4236c0440a4c8eda826696083f907c25971d0bad6dafa97dd17698bc0d47327e2bad58a0302047c435bb500683066023100a0ec125e7e0130f926fbf1135521e1d6badd3bfc798a99c7fec30ce5a76ca08832667711d767062647430dbce9a5e333023100884d49f9d3823dcc2b038cccdb54e0be95182f9d5daf78da2aac898c9a34cbff8c2ef80a33ac0102971b321b44be1dd80302047c435bb5006730650230310b73df6f9fab9f86e03168c429e1d4c1ffc6f818406ee69bf4ff301992c1a615c3a1e2eb1efbcf92cac73a5f1edad002310082741298f8444f0d83c72de1d39b190b8dd764a92e6869b777e02dfa5943c7d72ce59555e894a24b7356023b9248693e0302047c435bb50068306602310087d394575c261b6f17958b65e880929e033b01b0b8f0d052e1bf0ca52d52ee573041310910619e183e58ffa09d75b489023100b6ed818d83a713b5969f5ee31f95716263fb56a70183650a6ce125e0687ff21d8581dcf9e83ab14d4a594332f0df06ed0302047c435bb5006730650230602af8bb7b1e29b0ed4cc797134847d7f3b5670d7ba61b6018b8f985efb8ad1358d51b95c1842df4b52f53244bc080bd0231009a630d4b970421e33ba55bfe8941205089571be540a825f6af88b8b4ec5e36d482c6d90ad1b5a1d6612290c61f959aa60302047c435bb50067306502306d32ed5d0a7d18e161e10a47de63b298eea543779d9418bb31f001f19901506626c8af5b4bd08a06ed38f980beb131fe023100a78cb78ba08d98fdc06c581eb6b558b14c442a2bd3da1123b6ea773284ebc5f2de25c6679292f65a1cfc2b851662b1ff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023079bb63a052f47eda60a6a978758a62703c2192fd81706695b75b2af1a5dbfae94ab646597ed7ae750debe0505711b8c7023035d51c88a9425560dd05292d83c428ea4963c6904ee210a75071d5931d4d88892df71cf0e2266196c8c8cd4c7781f1f50302047c435bb500673065023033053218555c0821313594b78d3b53c664114c68bd1bf3b2439a497a1b6381006c5eb84fc83888cf0b4536cda80315f70231009c91273992e42aa7d7f450e3db5cec5f4914fd0253dd27e3632bec62f7a8599bcb634cc5fc0500363c6838c3edb88b3d0302047c435bb500683066023100d4fc0e30f19390ffbfdfc1a5b2a4cca949095d1278144854395aac64a19fe29d6852e2d7184f11b6cf0cafd70bbd5abb02310098195be6733947818f8e1ee01e42d9ac19860f819bbaea592cfd6608bf1f94bcba9f52666fd4b558b63967b0bd2e784d0302047c435bb500673065023100c902f2287319646cde0afe148703118be597eae4b0146ca602663941e6e319c2cc97c47cf023df72fb61f6013c7447b60230363054ed6bc0baacaea3578d10458f8df0ff69db104fdf188023db818f4b00165e59c833b8062556eb369495ba603f8b0302047c435bb500673065023100b6eaa407da7faa9ddf737b5bdb0663d02c59fb7c85fe682ddbdeb5691e5f37e6e6393aa8a708d8527ac3328b9a37a0d502307fdea343b6ab1bc64b3c87712ab4b59c1aacbf3b1a680fe969ac66cd000cdd625c7b20764be37470e4d9342b73cb6f4f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023027b2a542957b963ac6d072390918171f85f058d9399b9cee891d68cffda97b00bcdf95a5bb6743d1384794935e35df8b02307754ab2e34eaac056e5b1bb7f091d469306679c4fd23f95acd14f54249a7c4e263347f33b761070ae2f22e2d4f54ff0b0302047c435bb500673065023100cf47ee57c72343d41fa0bc58a729bcf0459f575761d2a7b78d24181d6c54c4cdf459c8c7985ab80f331438393b86ff9b02301a716adbe8d26ed5af2cad9d23dba31f3b2d00e0faf63239776e82b45d401f54bdc081724f178173ac6e2521d64e55a80302047c435bb5006630640230660ae829d32bc3412fa3bdc433bde52b087ccf91f3453ed694f1cee04c948aa34113b359df3f55e1de9b36ce9340718e0230104bc26b4973bda4c4ab8ec8da4e523f9bdea9628a2bc7b95edfb39f16eafaf069f08606b45b43198602b75b8c7474580302047c435bb50067306502300362a64e034c67a291e7da0abcfec8329851d1a5b9e04485b17277c23cb740900746b113a083234bed6a49f68ff8ac99023100e827b96ec1ff5ca2d2dae84cc727514dbc784f2ea08413697e2a6626e32063ce2f2e3707f196f94ae5424ee5e4764da30302047c435bb500663064023078fa691b006c3899b2dbe009b39eed4e7ca786c7d4b065e92fd3b0b252da66fa4ca16f9851eecd8304ab0c8585e9e9f6023052275ca3454a0b2dcc6ba81776c9eafd2501f6feb0229ddac3a0af1a26d6bedda8fc39881d0f5c921079876c0c4651fa0302047c435bb50066306402306a923f697c00ee7a73d0c875ab98839077fb4e2a6b61c06e8c154f17969558e389b913fcde55796674e8a0ad11aa581b023014bd7cf466d84c9cbf114cb6364c438b1bc2afe3bb4b937699033c3bc626a0ddab509ce9a2fc1c05722c4628c990fb5d0302047c435bb500683066023100d6318681aef4653341c1628f86c2bb3b3972a159212178d67fa575b59caa33f9a5bbdfab1cbdeb87c5f81f1bb1f1c5c8023100b3bd946c536164e36d1b2b3821ff6cc17072f570448eb00dcd1b93f279c7e22c016f1a591ad042c2ff0deb12b91c45dd0302047c435bb500673065023061c186cb9f47deecd8308195bfc2d761a68038b6103f86cf477d16fdfa2dfdb745809946819c595df63cbfbeb1bb8213023100c22fd99c9c933f7cc477889934a3d90958fc2238ee74def1995e827cabb4b74bfee1eebfc6f09ef826edab41009935e10302047c435bb500683066023100a6d6df9b245915e9ca32f44203377416560181cdd39504a46fa82ecc0e90ba0eb00b536bbeadbae9d66fa12cd6781796023100ab65e15a2e8451d0f716d51a39ab8c0f639724f266b0061c90629b02b301fa4faf9fe3669d16be4310ee65aa9ea8fdcb0302047c435bb50066306402302e42665c2f604dc0ff9a914c31a17ea9a269938c5dc129ed2f734aab341e2b56ebeaa74b295b7a5d5de9e3b57c446563023004cb5d62ad657fea9da83a625cea727f4b4af8f31cde22a704eabf2d17d324f3b55ac32a06b0c59fbac0c58f7ece69cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fe9c2a2c97a558239c87f11dcc31918a48c433e298cd6a045d45aa94d50f8e16d1b5a2e56e0368c1cf7ea0b62039e7440230149a8627a7ceff593fe68dc90950597deeaf786ac78cd3a38dfe40f67e5410f8d538bea6f836d94d4d3cb64fc3cc1adb0302047c435bb50068306602310091d20c6941967c6114ea61703ebe9142d12804c6346e25eb89b65e26b7bae34305b5e14b1e6aecebaa2492f7f31263fd023100d94cb4a0ad7b0264a4693b22c1df5cfdd31e0d80675b98e01cd36718fd0db514fd5e0717de497811f1b093e83ea10b980302047c435bb500673065023017b5c082e9755d94e0f592233d7c938492c96be42737abcc9154542f7d9d56f40f60960f5db51b84f1fc00148737763402310086121077bbded38c46036ad90326f04c029ea858e0de6615a984eca13a157e9e659cb85d13fad47995d0a57315c429560302047c435bb50066306402301566324936056b8091481a4f96de0cf76e5084080d679e72fe43bb6556bce8d1e35735680422ba3ebac496fb04a30147023004dd42af98b05e19fd8d9bfdd8b5df5d729adfb596758890dfbd1c756f9adce654076615445884ed66a246836032cc280302047c435bb50066306402302b7492343c0951c1c16a8e2d187e4867805728488b48bae18403b8f4691abdc2160476c89e0ff0487b537fa26e26cbf402300e1cda341e5cce33a16c215aeb5193f6fb35906ffaf8ff2207337ff72ab5990fdffc3decc71600dd2557c9ec77c264cf0302047c435bb50067306502305eb0ba10e4903461d7a7c9ae054395f9d35047048c2d5b951b1700083aa781dc21e770c55356845aa2d12d9dcb6fd5d4023100b73edfee9e497f8ef2379ee26c79b4f438d59d3e00c3847b3a09d198c52fb3a108f2b58e241cf2ab0873c158c0aa80c50302047c435bb5006730650231009781217b06fdef61135bdb4e182c77571e3e0f14dbb84d561626c987804db25a979976e6b649a974b26fc7332b659c91023020abd74d00e0ecfe138c7c9db4f1d7f2edd76876559f41d92cc0f36342e16f0539af2fff9e12795538871a87c1e6a6bd0302047c435bb50066306402303a56d8c463113de9cb3e703eedbef0e51be356ce4931b66dfed6403a06f59ae5c4574cab8383e0eb3b0a5ce299a01c440230568ba8859397543d5a47b374fcbfd07df003ddcd93703433a6510818c5982a82eb4b65a4c22f4a01f27839fdb32fdab20302047c435bb500683066023100d086a63c45c706fc7d25f314f8f5860f515d0f6f24facae2c9f88cf882c908890d6a546589e90eaadd9aec3a53202f7d02310097f78b302617e7c2f3ef224888ac9dc470789325d4e5ade464fe536e0cd6a4d155166fc9c6dfb6a5bb63138566a060920302047c435bb50067306502301b8cf1f79b97eb36914bac041ee146f6d77849ab08d7e9f958f4f4494a21cbd963ccc79a847bd0e6b35e92bdba7b98cb0231008a0713d2e6eb09553a44a3f883a67ecf6f8c6cc6a96d5ccac5d70c627d7a8b868c5da6009ecc3a915f5989007749ecdc0302047c435bb500683066023100dbef5088af18c8e927f0fd95be96232247509f81c688711a220daed5d64c3d1bea3ef9618b7b0b6c3d111c5ac8fbb27f023100ee3204a9f43472bf43531845bf54e5727c1ad7e4b4741b658be840b77f0f8e9034f1ed363395cec25db47405e933eb990302047c435bb50067306502310094d974f60476983e37b0de40facf68de674c0ee950a01e2cf965b2482602ab1f545fa583c219ba251773a0acbd5c3911023057ee563c2452c6405ba4664cd43a97109b48a1cee27a1274ee11216c2027fa7e8b1d449b13cdb5f546709d2cf1e7f6000302047c435bb5006630640230062e6bb393fc5f5372501d770b521529ed7fd09cf0e9ae4c7ea24cace8014d3ef6f63443bf15b53bb15c7146b36ab038023068c66bd94d080e8f9bbba8db0e41e7e96bd469f169248c07386427b8981ce0e3bc50618e0a63fc2a3fa08954e169f2df0302047c435bb500673065023100bc3f9d58ae5b0b39053be5017c1d33d30789194b91d9a3d5d454212f563937424fbe16a5441dee5f58fa9d3753d758ea02307bb89d03e76c534cb95c30bc4cb1e9ae8235e99d61feb2aae340af34985c9caafbb50e91e85abf481657fc943c40d6910302047c435bb5006730650230461b320c209ccb37acee86a9e0bbbe39ea758ce295590bcd8b9137e6ff5770abd6ef993194216df8ef3caf868e3b950002310093c6cac4f53312b1848b41e9ee385903dcc5c5887ac4286cb0858a0a5c6a600137eb2dfefeae04b84ee991ed116f03990302047c435bb500683066023100898a7cb0fba30b1ce34848a427c69a406b6c10775313f9c5ce96fe77e3e14dcef15bee428a5824a7c0e8671b9ead3ed20231009037e837fa553e51eff6b0a0c0a251ae8e6558ad47faf82363ca6cb4d5b013a5b3ccaa0dfae512af4e9eed9cdd6761340302047c435bb5006730650231009521adcd9de816c5793de42f1ab187d6030f139abf6ee04b2b83d3a92dbd928b73000eb7797a5528d2fd7bd2787bbf57023041c5ec40fdf7eff63b6a51dd59ab06e174b965ca1b01b07deee9ecab74fed179ebda1f2d37b1926ae25556ebb59f51a60302047c435bb500673065023050bd19f594a3e28af21a336277090257ebb34647e770a7ec166866cfede3908ffaf8b62d504cb71e43bd6c0e15e7f78e023100da1eda784a39920bf1b3a72c6958f1b9ba6d5a7f797b5eb907033f042a75624752e4badc72a4430a11f118bee6e5ef5a0302047c435bb500673065023100f5d4d5bb412bd9c08ca3a7af5f5be7a643ad87e21d7f632e74f1311adfa5bd24757328345aa9f2556656560f2b4a1a4e02307e0a74b872f9ad6139ffe3e9bec4f5a9ecf2a77ba03748d23836ed71ff9fda0622f306715b85371ecf09f901911f16930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023070cf840dcd43d70249d62adf1b6267a4d907b5920ee6de6529883b0ef38e8eae573d85299927bf1f5ddad699977bb39e02306ea1ceaf36415fcffbb2de83d8fb7beeecadd8b52f57b90e03295ffaa398e41be245338eaf82af9857ac18b9189e63b70302047c435bb500673065023100f5416deb4227048fa7f20c3bf9da995e2447e794d8956b14ca612b2816965e2fcc66a954d23b7d94ded38b75cf5ef05502300d59431977fbd13cf61200d6d2bb018d94f44eaa729d4263284dfdc70a8821831b8b7ef2cf2181b82ef3423aaa3c99600302047c435bb50066306402302c26725df7a0bc6459e4c72d1499e3c39be4878096f8d94e3a080024c897380cc0c4340629fd38297ab071a51643b18602300b5f2ab3f939942e2cddd56a9c556158186242ff15eda4ee8c4a064741c1e2c5390293f6aa16a082c3ca8c1ff1a5456d0302047c435bb500673065023016902deb8fbaac7385b36f4fc0be4ff19d1ec229b31e03da8891337e3acdcddbee14c0eac37dd1bc4ca0d5fb6b2a32cc023100baeaaec184b98df2be561bd4ada5f1c7faf46c1e3ea39e15877cb42f34d5e75f28a13539d67246ed7331ffbf48446f0d0302047c435bb500673065023051203ae7443ca292955e514d6b59b45d4f24b8a3a04a0cc49f4600f8512bda2cff044224dac607249c13080117de3e9e023100808f4cd0a360f2deb1022bbec1f0ed6c2bcd41968727b057bd8ede955ec6846ea86fe9ed73bea355f67a2bb65c0c81560302047c435bb50066306402304486234b1244a6b2806ad16442e7c7079e619f28c06c1b87a6e2289aacfab2fb367f18c3b50ceee40cb71b4a96f5fe7302305263e026df75ce4424b36a78dacf72103f121e92cbddb866b992b8705b28f0eb5df8e199a99d20dba127566cd2396cfe0302047c435bb500673065023019a5515727f29fa32fee786406464e82cc595f2894ad39b5e5b89044caddaf4da1661e8dc3e80e9e15debf7a65c09bf6023100ce1956b81119159b96de6fcf7251d0d544127af3c1253555ca50e471c4911851331c031d5757641067c414d10c78af4a0302047c435bb50066306402302c51bf62bddc8ef83ea133521de1173fbb26d4d7341e993e163deff23ffa9eef7d1f813e0bcd4d2cf32310ef719502130230014c6f2ab88a1cea865799ea7ccef650d9972f2ed4a3ad02477697ffa764de28d864a445836bb31e58bf8a768006b3bf0302047c435bb5006630640230313dd0dde70e8e3a3e0460e32711db2c43851e4099df626d7e3456259744bed84415ccabbd55aed5eb21d1224f3d76cb023041c61e7ce67d538a48afc9359454ce90a76492a7dee2ebfed315fdd6c3ff256c49703ae1427b5b103e611481bc033f000302047c435bb50068306602310082b162c6fac04c8ad83f76b067eebc1dfc698e6fe8750ace9331e498e6c3c81c0b41c1d813439b47f5bb427abe9d60d1023100fce8113ddd85123d866dd6ec7683b75c4e6b6468b9b9f40d1d1c534095727a07a3266fcd8165e4ffee8394a858c721ff0302047c435bb50067306502300469ebe5655abda56cbd510d67dc230cdcde1d9cf735def9b618e7b7a6a017947a92988a449ef904e4df27604cdf666c023100b7fb5dab2c4d599fa233ce950c3298667d3a2156a1ccbd7be1860344f4245eb830df68c1bc63548a9b59b2a0f6b58edd0302047c435bb5006830660231008586b82b810a089412ab45a27f02225e51bf71e770a57c614257feece50df90559255424c18c28769857d74e142287e3023100fde25ca650036e4dbdb8806c1ed130a534d0fc8fedbbf0f9ac59ab3e209597b2359e2e5a940fd92e9749effd3e1d73200302047c435bb500663064023069b569ef40f6cfc15a908d316b269d8fdf7772eb4412800e3b1dc8f2f68be23425b5acef1b52e83a7ebfc0b28ef739d302305e02b2b30c670a8c1a0767a7c4831e76806cc242e387e84c88759d7aec0a5cd8f3d4388e5d7dd3b696a64bedfb0192910302047c435bb500673065023100fd7716a65734d4c16a4f07eae6aa691c8e60e5f3e1efcbec1d48a883059a82712dfc10840ad97c90f921bb4238cd820602302e8f1e4df326f8a4d55e9106edb3062d5710e214e085daaf167da0fc77e18a244d665b16fbdb00f78ebb33924ae450ca0302047c435bb50066306402302fd1a848f479d73d7173516ccc0b6cfcf308d6459187a4dc94aacec4aea0eba7257446f5d9fbd991845b2698af0cd8ab02303994048f4eb358c0da42f9d375233eee53bc91eb11ee2849fce2a30d4363abff951f9362ee55b8ed84ba75c4d8441afe0302047c435bb500683066023100a30b30372dbf2801c59113b714b374982de825064fc9528b189a583cde9d6efec422614b9a137b07d3805121979bd99f0231008476d2ea4ba4b32f24e9c1601c34aaea3ee76aafde9efef7568c1dfbb4b04cb85709b8e048f03ef5d41ab46dfb414f3f0302047c435bb5006730650230480e2993172c5f1f3299ce11c8244aeebb6c3ee5312ca43895903b758b14eae8fd82025d1c88fc7e00675023794499110231009c516c336f269554264c9884c298bdcd02be2ad91a25913b39d0ac8e4c5d502c5dfc432601c99a4ad3fea5d47b63b58c0302047c435bb500663064023068e7ad3f150b2d370ce0ac11ac382eaafc335ecc41dceab8ff339943996496ea65fab1068dc37ce7f5741c4a4ca43263023038c62377739ab09bf1d127d51097e57026e232c17f715176b5c5f308e2f39e3c9b7725e6294f9db3ccc9e90e5a5c77380302047c435bb500673065023058caa8c0d4ea6bd1b77a0ce549dd55bdd940d5ac2cae8b8d4f905349dabc4073cd6fe16c6123d2bf28b391b7189efe42023100a2cef40946d2f7111e6b25e0132213ab95aa5893fe8e12cf6b4f68d08f7b952614faccb16bd7557b72a52f68b16af9130302047c435bb50067306502301aac3a43c49cf44fb4dfaf09d2a3a1e4bbe0e7db429e861fe71624bc464d4451bc9048987b559ef7b4f09215b4ca6bb2023100b86408c9c1c01b3d3fec82ff82eed7701fc853291a47eb311eebbfa649b1c7260686a0cae4c1993f232ed05514c873d60302047c435bb500683066023100a0e496d0ba6312e020248ff7eeca57d99a4863c5eacc8041bcef8650b726f385e8f8082ce9a0341e79814c46a9805fff023100fa4801b2d44e998f53a5f18da1c0738e67849a8bd85a6c8e2f81b1cce1e3b936f7fb7b3711cca67c9631277e9d379bdf0302047c435bb500683066023100cbc7257c5148d5689a36f319586a037715f6146bbe2422588b182dded06187a5c29ce4cce1ceac535911463155a86ec1023100c671b4be115e498ce3e4e59735cc82a8bc5fcbe7e9fdedcb9c23cc0aba3fa695917a77129925f82fc987012eb25fcbb40302047c435bb500673065023100f1c4eaa77de4ee3bdb0155d9e6582f8367f32504dd3ca168b685a7713dcd4ba520d9f11d98b2ad29bb4db602f78d3747023020c148d990b71f14c0e77ab6f0b461fd576ebdb4b60b9cff8abb52d2fadcaff70a14a4f50e562d194af2aa19f07c856b0302047c435bb5006730650230565f650e5a7490f6422a6621c9cbcfe10bf2e50761991f104e9c45a758c6d473860791668f39f9e108d10583aaee467f023100b52bd1ed31587e84b235f9d86083f64e741f342bbfbc36c14670bb4bd0fa9f5b3de376b8525374384d5b6a5e70969e160302047c435bb5006630640230303d224f2b71b0a87e1def94a5cbda62db45c63ac45b8e179ef9e7d2053e274b21a24ff0ea7ab328d578e402123c3678023059b688d35ee031c34c56463c6bc2c07c5dc8df7fbddf53ef245ae8417b85ba914bba9663022a7ed3971f1bcf64e71b3d0302047c435bb500683066023100c6c8d7369fd81af0836c39465c368531122fe9c8ef36ccf3373a628e4b5bca331f4d0d9ed4316c066239d62a19eea8cd023100af476df813c54d8b07bbe40dc0d81c39f8b68032eecfb3e7383f3d3f950d4d6a29165afcff34ff4a11a5ef171006e6e90302047c435bb500673065023100e006ab7ca18f291ccd8b51387845c4e16fa29bdbbab7d9db32b1e529b3ee14f6452332d511fe4d87564154dda9b8bf8e023046973a1de7362e329ea0b1290c92326e876f45a7af49675fc85497dd0bc08d76fff76110307b178fd113783ce5ca48130302047c435bb50066306402300120d9edec94210a69c5a855e75afd6c5fd7c140f2a48094dc60226ae2d4d09e652401401812a589f335cb17a846f71602302537dc7a6d5fb0b04046bca006db5cceb6d1b191a7672308cc31cbb8d7b72f5f4909cc2df132f9cab134886e8eb9f9760302047c435bb5006730650231009005f1db630c1951848d67bba77074ef97d9e91847f534692286f14f39c5d87f69890293ffbc8b4159e3c1e9b4ef69f8023076d8ea00e4e4b903611e50fc98c07bc958d487c17e1784fa7d325529cce86eab1d5bc165783dddfe33d86f73b25495480302047c435bb5006830660231008a1f588bf82f912c647eb7eadc813e7ed44c954b2468b1a787261c0753e079607b58b923dded1ba6384c2f04130c9c63023100df90d2cdf4c1966ab737b14c4c9c2bcfadfc0188a20aad7b3ca7e1ee6b8ab5312ca29ef756b795d9d72d48989c5715360302047c435bb50067306502306d4de5a4de4cf060e0483e4d142021f21759e8e7edd79325a2a60a606eeee64f16f3b5c1e02d75675e2258b0ae35f3b5023100901932a987b324fb6a3333af9183ecd979d80d200cca343f11ee7b082b4f035cd0cb7e24d98b46092c8c38d27ff7bd990302047c435bb5006730650230373aa2c03d8126a8e637c737a2ef638f7ac202818a042c5fdd1504252ea2dd80d0990c1c29cc7f744599d856bc39049d023100b29d32b665ee2d8bb81dcda5caf8e6dcc0ba31221df473e04678a65c1cfd2f04a5bd80656ed62e6883e725b21a765ced0302047c435bb5006730650231008851606b48f82f51eabc8854b4bd36fffa355cfb3c7161a6de7f842c7d4641e101e9ccb7be684bab5df6d7195d5e30ed02300b6c77d6520605763e392b68846c3e56600e68c6a6572224d2f49075c29271253a1ab4ca98f1363039be58fcd87beff20302047c435bb500683066023100e19a59b44f82609363f81a3501841d93c335c9565108382b0f6a6529b1485faa81020fd94edced7e47a645a64c90cc7a0231008cb33922f6b93de4e2728a12777cf1ef679a50c683c884a45086e1513d8de6092b5ecec37ad2cd4792887d79940b40320302047c435bb500673065023077dc1be0fc0ef9f9cf453ca32f522941edb2dad0fb37ec9b9316ea222e9920bc3b1f1e2e032cbbfd716090c5ff0c4f36023100f8b557ae9dc55b3e76dde30cbce0630369ead92f1f255b3b9ef403a58cafcbf523717a45ef19b8ba211cc14c8d741aae0302047c435bb50066306402303f958bf3e9eaffd574b0decf43798d1023615327a4806f0fb533dbca62f628c221bb83235c7d0041b5477462fbf8053102306db8b47f04f811f4bfc77e0f2ab58fbb47bb250379f42ede7b762c05ec48b0855eb67afa529f1c02f45e1447fdcc25db0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305aa66015a0e5e5b026aef6f16af9d209de2f470308dc889adb31f3ff5b32d3dbbf0806b239014ce74c790611a5e8564502306a92dcf4041a50d4338e03877308673c6ab8e40d64a9db8bb668ed49047090f43ea83c2071ec68dd559256d973528fd00302047c435bb50066306402307c6777709ae3665b75c75a1d003c41af50701d174b2ef284c06920ea698a08db2edc7b6811daa78095a8dfee82bc36610230647ff146fec4980996e0b48ade50a520291e27caa24ec792e5567285528d7ae7fcbb150aba1e99809323b0ab0aceeaff0302047c435bb5006730650230036dfeb4548ce3eebccb1038d89d566e5bea5c54b12212c471b0db88f7b911a2ca2a69f51d5210465b6ce7607aee376e023100e82e0ee45dafdfbfa557fe952853ea4489358150290ef6d52c244fd0e651ea8f0c956a7c0aea027f7ed4373c0d8dffc40302047c435bb500673065023045dc732899cc67d8ff600ed319f6d4f4a6aba1867b14a46fa3c3a48fce6c197eb071b487a75b1fdce8843bd8fa6b0095023100b3a444255b179d88f43e2c4bd11f02335dca66ec8c68cdfcb2f7c87c081e2b2eb6c30714a015b79477bff23ca10a0dc50302047c435bb500683066023100a489fae35f091f90db5c08d7dd5201e4f708b97c14f6d50551fbd03de7e5d4834c052b1b7bccb15b56e22679f64bd4b8023100cb6c0a5024703c293922d3e9fcf674e8a779fe2d66f3e9528073d1922d759141859abf6c68a74de71abd25a79966648c0302047c435bb50067306502304bffba15e75eee5d0d7cbf65a63611542e473c06a67e97c813a90f2ae4e02ee0b5fdb390fdbb08bb05ced22666f652a3023100ebe3b9fce293e4c6fc15693b5b276b499adf3acf0c02ea4ec95d1cbc21faeb4b5fc6b2fbd1f0a55a4b0f140846281e030302047c435bb500673065023100f69cabab80dbb75770a3c0154ee12af51be16d601ef653f93d08a53ef8062f089321b1059795100119e7c8c579f1bbb602304f5ab8525aa900de731dd0c47fe812899c21b74c5eed8bbb2ea40ca5cda8ac50ef545e2904f404808bfec82f29b005230302047c435bb500673065023100a42435907b8636f3705ce257cc91408ae85c16f1b579715ed129214546902d12c919f5b5e6a86b7a400d5f3f21d455cf0230728d944bb94e80e0f5e34161742d2d8b217c5e0c51aa3c78c582a93b5291f421ef477f3d0e820e5bdd12ca6b327341de0302047c435bb500673065023100f43df1894ae01171992497e5eb42d6c0bb163ed882dc4a4532d7d82b4f5c82bcf05a8cc2adc8fb56118bba19929132470230308230d6580d59d95e209fdd57a1995ad41610192c5f064b93852e57fb136ed414cc67b5011c808107e1c5148188b66c0302047c435bb50066306402304622883ce810bfca38a917945cabfb5e37515eca2e39e2211d31f66d7cca7e87cc8fc0f27e54aa3c63c77d5eab6e39ea0230251ec8ed285bba8faf5841a26afa38dfa11d0a933db746c8d82b0917b29fb6c89dc4cd383a534e946ff42e14ee14b9d60302047c435bb500673065023100daf59c8091cd13405871dda90a81866ece001065f3381ecdcd2aa9050ebe8d6f6dacb9c15f38df693cdd0ca216be41a40230458868fd5e6858a6fbb3ba7a251d01718ff21d39d5b71b7f50f5bd1da780d62a1e96925cae3943571191d169d090a5120302047c435bb50067306502301fb30bd6a8b43b8cafd977d120a472c3a1954071e4291646fc7174c48bd42d0b1f7f5befe8e1f4579b24261fca739144023100e564b24d4228c8140e1af42b6e9bc051c7987b7dca6ee56132a323da977cea186e9ffc6372d2283b78e1d3381add5c1e0302047c435bb50067306502303ba37450669c5e764a295999b02f06fcace8b5315bb00ce1f8d49b47be2a5f1da6193917cd24a49e2e937b23f6ecb18a02310088ee735479e4420704808216783bc3f8328f3b2f93c8fe9463154653adf6522140eda5f2b7a82166764fad1baa1474970302047c435bb500673065023038ace940493c6c9e587235320b4d148f2ee5cefdfd34d67a6b5ed9422dec2c53534e847e2b3ea1f8cd0626a4f80f9b17023100dcc4f88edbff37e77801dc1d54532c9ea8a6df8ecb24d34970f3a148efbde49590a94b834204e0cca78912fcfbbb154b0302047c435bb50068306602310089d58c2065cdae52c34cbd279fa96ce73d3b1aebc1a31a31eb594ebd89bae9707ddc3181ca035b8e9661a8954f374cf7023100a01a793f9ed62aae21e4dae6c4ea30b007b339da2ad9f1866a2d42435877fa287f1d50905aa897dffd03df2834b220f30302047c435bb50068306602310085c72f5fd6d5a6be9bf1dc31f87cbe7c003b07e1f457428bca384a75f8ae787275a38b72879f9a87140de9ddbfcea1cf023100b8840ae6ee46ca7671f6fd441e13baefd3be39a4bc1db33bbdbe23088bd78da11ad15cb55befbaff39a857d54c6738f40302047c435bb500683066023100d6af7d4d6abd51e15743b1ae23f80c661b5f3f81d4ffaee877ea6f88d18b7293e05aacdc8af1c7b07ee8deefa9918060023100bb079e1020bbb26830e8cc6da6b1c5d6fa6b19dacc7bb3813000e4f63d5ef59922b2b4d70267bdf36246a1480b144d930302047c435bb500673065023008871e24c8d9544119ec0084bb979394b108a2350b6a866033b1435bbe6afd350a33698b885891d63be595848af5639e023100a0ac4930f38738d31ba02d96801125f192bd7430c5c9d17784ff45ea637adbc61a90dd09af399b204cfcd7ab9a825ebf0302047c435bb500683066023100fed2c0c520283b1d5725367c5428ad8d2fd45b42104f10f15c86e7988df3b68fd6aca889d86df66ab2540735c7ed817e023100e3ee8a318a04a34a52fa626fea5a830537914a0a793de27ddc717fb77b654712567b0969c9a6816efd23847c06be6e8a0302047c435bb5006630640230221ca3fdee3b15cf260ee66c7dfc9df7675d00b633ff1416583d1c8059980dbcc9697ec9cd68e31e2f1ff11521e50b1b02300b4ffc5d771a0716e395cd3e9da8198442669ef25e00c83b523ac2ff1248e534a81e894d9e0003cb053fd14f73d4ef350302047c435bb50067306502302fe57fddef1f0d489f67fc945f7fdd057c02de9a05d877e51e748ea8626baf213c62c16bb7a70e47b2ce2490a03db132023100ff507e033951399dddc8dd218ecf29bac8fef7ae2af57fdfc62e67ee4c262eeab4d0c4b0fa181812715c8d12630fc3cf0302047c435bb5006830660231009c7af66ef4f350410dbe7ef25437e7c2cd449aa51691adc62520a91e8b7d315bc9350731ff2324802ab66582b74dbfac02310089b92d7f1bb91ed55993ed52f0a844f8ca8c426a411af9febd0f7a7fc569c6d3396e02cb69120fcfb97f8cee22586f2b0302047c435bb500683066023100ccc274eb96cfe1c027d5cb32c148b3a8bad8207f80d8e23292631472389045e5c3606d1522567de6159538da2e7d5b6f023100c8f2e48f660412a0389a8c002d67104df37495c2ec624c7e5ade91002146de885071397ad0ac1f9bf3ed9e9964e96b3d0302047c435bb500683066023100f7a744e324e9372c53e087b00e5bf47bd05211adc8c3027c83cad2b8c5b2e3a00626af46a073e6084919ae8c2c7e5679023100e4b866b31e17f20fb8f91265866e15efa0bc40746a828f493bdda36e12f2e3c6699bcdef233cccd9368c9edb6dcc756f0302047c435bb5006830660231009bdb17b3bff895913c2571f6fdd8a7ceed91f1907cd5ecc85f2b075230d4c8154978d38bb0c074d402911c800f74e4b50231008ce05f47dc78bf46bf11656e77bfa26c66c8af614276923292400954da39f3943d7b22a2ff63ff7328ab01bf40bcc5fd0302047c435bb500683066023100fff6b7548227f6a2c4c63af39f432551f2d2501d105e54c0f322f609c55737706151550dcf792e924c5351d81fda6f64023100b82f1cef23b0c62cd6ac31dc5bc496a5c8db33b538de9cb2d7b816491d7253564f0df634e4a1aa98c4343d1b93b998b40302047c435bb500673065023100c6cb344296ce351c8e71a4571e16073513d46638bfbd9a02a91b74c7f7598c3646c78530557b0ce0767ee212543bd26c023002483ea2fa89827bcce0047f22ebc12bcf670e888498539d8c6b85f1735feca2cd4569d39d472cb37e9b0810c14c83ed0302047c435bb500673065023070615329e2846d83576760f87734762fa19dd43547e1e017a4c6d34a38cf504adbe86573c247c1aa051b7c14f8ee6eb7023100eb47caaf835ecac1114624aa70d75a3fc9702f97247556d06668258445b94c83e6f1826ba29a7846fde91c84d1e7eb850302047c435bb5006730650231009a9943929eeb3a8be3e24bfe5e74c85b45f2c57490e541fe91618c24ce261c32b3d32273124bb5233a907f2f1c7d470d023015be36e3488d91fd9f2729062605e46d4f70e51282fe20a442d27577648df7fe6c6feee3d1e20788ba057f24fdb8acbb0302047c435bb500673065023100e151ad161cd349b465df07b8a85eaf1ed7c1f2b2daca341f08e0c8159aa98e043ec128b389513f66dd88b46fd401d3da023006a072ed0e9f57e67e4a7282edb409d16b170ea8f3d5f9d2d62bc843f0a27210f143bffd172e528742341445e442d88e0302047c435bb50067306502305dfed5f1a5584f4cdf9220420e7ed8aa065672a48f86e00e3165acfc79a3a90f82b53118ce1a087aa617eb17b5f5d3d3023100a3e6b18416dd7247686fe7003f6ae576d1d444256b9bce814e067373c0274b3e8bb33fb5bcda12113e0dc5a425afa6820302047c435bb50067306502301e37573374244b2c69ccf28e745037575bbda225c6df46a9b59b625cb073107ba8cb3fa8eccd7bc0330d6a737557d100023100e670d07a0df182a6f79211045177684ebe7d11e94ab6b199b5b25d7a91a8cbea28454ffbb52b1fa9cf9eefb7d819c8450302047c435bb500683066023100d5f54fec4757c544bbfeb94da8073bcd297903ba04620af9a19fead123c4e0fadf2c6ced403e124fc0844c0b27ee70320231008d77c974299eb456d5362eb9bf5e42268ed31462385369979479a1a6a2bbfa9a53bd9e6ee74460a517caed137306aec00302047c435bb50067306502300bc5054becf0550fc3bf7c04da8fb37eefae6a80ef3ba25a5160968a2f6e388eab2a69522143b44fb4794f7a555d3da4023100ddfa59c2cdfda4174b9330debef32f4dc282352a2508fd69c5c95adc08b6d04080290eab1767614088411dac07ed779b0302047c435bb500663064023047c8b853993e7d7c40e55149e449fba0954a68e3d7e8cf0df493de3e3db27d6eecd5d83baae3e9e4ff430920f74b0934023058089fd242073670dca19f4b719468d8d731147a763cee584983ac97b84c822bbf9ea8732c6804a660be4131928f10480302047c435bb500673065023100f92eef40afd66c81ec041f56b3a32e30bcb8a1bb97423d1c2007cbe283af7cab534c48cc84b53616437200217091994a02302577bebd6d52a595d03c21f8762af6003067f98169120f84ee304704e4b49cb386be04edf084d8af4e368ed207ca8c730302047c435bb500673065023100b089a8080ce4c662c43f2433f0fa1f01c371d2187361ea4fdb80248d27de1d41043bc7657115cbdef21fbfe53befee4502303d99648a999f64fc4f11ef20b5df4eb27875fb17302767a5a14f2d46cd6e9003f1d28032e064aee16d0c4aa9791800ee0302047c435bb50066306402304a98f61cedf3b27d1b9aba2aff41b807409b7199363b19d0a7a29f1a8a0abcc305e64cc0bf0ac992d031d666cc5d755302306b9afa93de2b7c36aa91120634b3ef08edb6ce08626a1dba53ee6dc664e89472fb8b80e592f908ec3c1789722d0dadbd0302047c435bb500683066023100e1c04b3b949dc647c351a6999a8501f54828fc0965b0abd5a93166a02ce7ceb5978cb94268cab2227f163a205c0edf20023100f6179bd1b0d780424446625bc7f9a4f11903bb49da566dc6d8eb33eb9616b77d0a59ae7ac506ba224ebc40df30ccca310302047c435bb500683066023100b91c09437a6201382931ca51ac1857c4be99ba97acc92e9ac9ebc71fc7d72b6929a3eddc25be22ba9ea2332f31ce40db0231008c95058b5fb1ea2a0716785665c371d8d5403868d4c680f44245225d6101d19f9c8b9486f64db5e51cee3f611a320c790302047c435bb500673065023100ccd89d0938035967f10fff19c28c52b8a64587e151231f9578cbd3548b3a6c328da1d87784acb7fc8bc27d8d27406edd023028169a5f3e936c10b02c887eac2d52fe60b47e98308bf9b14a13644c8e6c2d7d7d030ebc1f58d01fb37a79b1c90d18c20302047c435bb50066306402305f182f3c9a17254268937e895b2d616c7f79ab5cf3ab5bf21b026e801465febd0bc591b548e1e2f51c3f4571a1b2f78b023038bc6638fc0e16c06906b719256daddcd6f05956210208ab727b994fc7c298800fa89b783354627c32c076ad4d9b1fd60302047c435bb500673065023100a4a0bb9b02e2fa9b223d99211e3b835ca35256bfa0a1a95bc21300d0ca6029e21eb3e24570a6a847f98d1031fba5ebed023064dd83e3358cce290d871654e7d4e6e13b225d4cc6d5ed72b10085842ed392beea54c4926626f527340cee57fd3049550302047c435bb500663064023064b316ede582db7d2e1c918a94a8b461bd3654bb62f057085ad998d78418eec9bf95a28f631924b10e79d0453f1c58b30230502267124a620908b7613e38b80816fa369f8eafd1e67c30fe71dbb0c09eaaed519e973eca7ff1e808ffadc196017acb0302047c435bb500673065023100e9264696b08e3e15ab2e650e3e34fb45cc611aba0d31124c6fb85a9e0d3dea09ac4878cac504c6c686331b8670bb90fc0230232239b11ae084dfae7c81c292220302fdfdf8de548ed786b78800c1686e24ca74d21f86bd4991b9a83155a2c424791a0302047c435bb50066306402303f2f9cc7384fa58f1b1c9848b94dfe837c788ae9a705d38157bc9550cd84eaa84eb67e9b0fe5b6be54ac37743c359a0a02300c4ef9d33c18659aac47cb8d95ea14e3ee94c2c3476a15609f8718dda5aba805446c984aa3f54b4fea389e90c8fb634f0302047c435bb50066306402304326d77d05bdabe339e60c0c8c6e85058d141c075595feeeaf73bc6cdd362610cf38fd0121c2b8a55f2b2ec5613087dd02300729bdd25e4d3b46911b9435aa583e3186972a20c0a3943b0a4050fefb2a68eff55404d4aa171780515a8f91316a2fd10302047c435bb500663064023049e98b04d1151f3bb67ec095156e2a34237da8a64e3f73d9660d70ec130204c12e7c89dd1c080a8b4a0e5c7dae8591a802306854be46e1b0e1104b4b848bc2378239ce8ba0afbe3efd6126d3075249315427fa1cecc8a23bb79223d5bfd46e7ef3720302047c435bb5006530630230048a39a42b5c2ad102ab2e0c69923736c3b8e60aa072eb35177419d7ff3f906d98fc819e617860bbf57a2373526eecf7022f5424771a7df8de609c1f93cad65011acc15a66a29f0d3eb5d2d942dac1f709bc533cbeb9e8c8f65ba5b1c296e544a40302047c435bb50067306502303703d4a61ffa99881e1c95e5b94a81af54afc4f723ecf540072898671b88debdca4db28bbe4f258c0e4aca7ccd7acbd6023100fa38f831b4f26d29981c1bb130efee6d49cddd561486104b46abf25c8a62ab98676562c8a27cd658da07e727636335e20302047c435bb50067306502304f6fcdfb0d83ac56b20237792710b152dbf8562bc2452969d26382ea408675c66ffba3ca346a55552124777464a4728e023100a9e41c42c45ab4ce2f3fe6ccf1e21aba88ba37f252883f341be0473292234a0321d4cd2bcecec6e8210c725b054444830302047c435bb50068306602310081262470b851f4e4e35cd8dd08bef9f3b86364d8479042a30b967554e45c7ab94cc42f51de9a457719bbfa1965e6577d023100ea972dc3ef3da50696407e583456ba226df193e88a71cae0f1d76598e1cb09b8e18b891e064ca415618bd779cf9ad07a0302047c435bb50066306402300e88cb122b2dd75acba3bc3ee3f70b9ad3779a8ab003c1e6268ea6a63badd78c51839f2060a2bee313cfc5c9c7186e6b02304cc00b20c4fa68324ad097c008fe2087d5972633edee77812a8cb090b9411c4b016bcf1203dff3bb1c14ba4e4405509e0302047c435bb500673065023100a6474273556782f5a09dc50d47f67944d3991b5cf75c620830692d7d4b0400d01d803e0641a27ad9707102f747be6aa10230454ea059e858a05aa8a2c9a08282f97f56eaacd57e09df6dc02bae12db1eae01419fb148fc9dbb0123c23a04d75cbac60302047c435bb500673065023100b91f3a4fff33f4a525b1afaef18be823c39d0c94c8988144e87740896c468f90e302ff68797599f3bcfb4ef4264732130230316af34d204cd4a146f98bc899d3ddb57010b2d6c17ad697616f811393c4d4ac1046b9924dc32cd229cc22374e5e96cd0302047c435bb50066306402302d9bbaefe058e8bdbeb7f961e48122da8b5b02ece218e7e2695574a58da75a81d3bfee5d5ef70fd532a4f01bf5ef92bc023017b69bd3b26ec094c623ec3c01297150b9e0615306e1677bfc3794000054257b032a9b6d9199e2c0f7cf8f44fc6820ac0302047c435bb50066306402302cf7bcae3b82f6a15dac951ea594b09d5702643a3bbbaa5dae8b1e6b073ebb09203917c9b229d5748dc34308bd7a6ba4023021c7d4c17da3cd55f6c80f55c48f38c8cc34e21b5b429c70490d26453a0697066fd87aa415b2ff25f1ff942dbab9d4c10302047c435bb5006830660231008f745f9022f6871428e1c533a3b7859cecf99c9ef3851aa8cd6c0e1fc02f9894d8977bc360934a15f1a5688a00165290023100f89841849e0ef7b8b70de4117ff07504cbae9e5132a3d5f7adc44e498251dae6a377c65e03c9e333b419ef800190e1940302047c435bb500663064023039f786e2e91da0c68298ffb95cce34ad280a0a657eb572f59b9c68bea0ff924a4f77c55ca1a216b0085657a21af4f8b20230300dd340bb14011b90b1c9348b9ae3d541fabdbbbf25f18619bf73d0502c9335ee89a9e67f2536ab3c72158221568b0b0302047c435bb500663064023007b8e9162f27d858ca513b223fcddba6636399ac1a9d5c8017cc2973d8fecf25a736b3fef50bcf0ab3246f821952c620023042a44699f1a37578ae1f13ea76ace442f174ed4e91bfcba8ab5ba13b855f9e08e0f0d99aaf0f66fd211477bb2f5aa63f0302047c435bb500673065023100e93d77d95552d50b4a92e857c463f452c4f2b344d232d607c15b2b8caa7a97b648fa6409c54aae933908f1d6c6ca0e72023079ac552a866b0af474aeabc4c55f6fcc9f51147effd153bf99a37f50221c4acaa7f5bfc5e97db5550080569c0ca99cac0302047c435bb5006630640230274a656637d0213141d97ce92d0c9efac6145d1fd732b1e919026c994ddb7ba3aac76c79efc92aa4298816c07365a2ca02304b3a4a58ff2a0dec65873b69232d3004c900cadb0fbb1f5201895a7e1586f27f5d4cd35c98ae2e88a2990d706f4646c30302047c435bb50068306602310083fc97d6a5e5c7fbf1497ff4caacf7db1999e2b69508f97ec10ffbb6264b936c7cd1b773e87e734c9f1976e318e8d28c023100f743f9c0960198a5948069249af76976c0357a3a87d3662d4cf4a8382dc569746b1126126088bc8e7891d247c6c123810302047c435bb5006830660231008f6c47d88beebe537921b4f502384140708f3ee897d60e2e6b6c6dd42a9e8b492575bcbed32afdbd7514c9c6432d3065023100b70384cd6d4b4a469fe39f93d044a5bce879d59aa1ca4561791b8893dd0945333c9e196558174623ceef49ec3fcf05ac0302047c435bb5006730650230790407a5ddeb4b329c17bddc0c1728b94eb03859f4d646231bc01f40233b7c43e657ec7c224d2d115722989631929241023100d2d8ac655522bdf884860e866e80d04e8e61fa8347446a510d57090cfd4d30ba5352ca5c423a0652e898330aeb3e398e0302047c435bb500673065023100941fac8c3b0d81bc579e511007174c31fcb39d07e9ab63baa14ffe1d5dc8829cd1b87aebfd1eafd9a4cbd4b6fd8b955c023068b88a94ba4cd0effdef0520985777d02f7beb387cbcd8928bb6c1f82dc55db7f5ab6d56c7193edb9137d4720f836d2b0302047c435bb500673065023100a5d541dbf9191bcec9ff4c152cc1f053b51cfed3acd709a9593cb7d466acce71f7d42b7b095d419e26dd5a1c678f7670023075fe17e192fe9b389806c21effa5994935b5ad6202ea3e262e3fa70bf77a0ceba457062d5562cb0e414230c574c50d720302047c435bb500673065023100d0d366788719d4f35c93a9b30d73223af7ab0e32d922558f40c13c957ed2af62b896a92c9ee937f3349e42b749f9ad77023027e3001285520f9acd135efdd022a7238385fb19a8302b5a0cf4ce48ed0b794ed80a972ffca40f3f589152b33a82ee110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302a869313fef6061ca26b2f9f8c4f3c99a8383f7c8816d1eba726b9f1a491ba33b2a2ce7d65757235068c56da1aeb43ad0230217efe30aed4e363072c23258494794847b58a511a74035f58d36af8f12c9e2dbd8e071b310debca2dc79cbb0d38d9a60302047c435bb5006730650230626c55135d9ae2c56b6051bf1a1462df166b196c883eedfb86d372db0b9031bdea1f8b5fabe97cc367d18428d4dd7e62023100807709183de3cfb89e5cf02d0904c24a9e4fca7615be2720b52085112e16a5b3b8077d7519a9d545bcc45de9ab8ada040302047c435bb50066306402307b413257edc49f5f3f2f3f78a8443d1cd335df9f22303f505b3ed3356487474981619fe9e31f49e0d0c62236431162d7023029476590b1470d80f8cb6c29c8341801d504d443d69696468c914029d46db7d5cedd935ff62c38fdc860069de172e19e0302047c435bb500683066023100d6854e66bf35b82572ba27dd1f17fe798a0e8a953e74f037f67c7c1918fa54740215b9d1c450deccf2c8bb374069ec540231008b81a67d0548e8abae25c6c79a85165b2ba97b6d2e79978fdfcf12a46a699623fdf1c23d4f8bffcb7bd4be633f9e76a70302047c435bb500673065023100dc5e40b03378f7caa5f4fbf1623010301c1c4208a5cfbfae0b62a6f9037faf4132ac33252e300d27adf42725c4af9d83023033edf46f6b6e65589bf914f129753908bb4d66c644f1d0403884cad4ee2bafa52b63347aa8942c3aab094e204225bf910302047c435bb500683066023100fc349b82004f3ca4465bc43b7895719817a5c2cf96fc6ef159cf9eb5e313ca8905380208b1b74dfd6d3a21742d459a22023100caba257c62c48d0eb4a062080d97c5dd872a5ad679a82e68ca19c26317be494e1bdb9eb9f818bbcc4eb416fbbaac05970302047c435bb50067306502303ec8c82c6c6a781f023fdc9be56c5e5861f86f46b3959cab8c83526ff05e9fc663882d538a19369dc707c2ab572663c402310093f75926ca631a18133fc3c32c39948c0a7926972ad7dca81f17143ce21d7f102f6d9418b79f0793bd93c9bf79a1f2560302047c435bb50066306402304f83a53f9a99231c6a8aff3088c9a32f56b727aa536cec9628ea9c0c312e3029f04d01a545dc0b6c1166379b88d7797f023061abbd7df96f079f79bcbd7fb440db8b64c18740df32bbf25607a25b62c8f0bba8ed66112eac1559f4d2f6e7eed5f0ac0302047c435bb5006830660231009a7d1d0115ff9300774a1e08fd1ec5c697561f0bdbafb4722615638325256432f71ef252cd2972650c486f2f599e47f00231008efc115ef4aa8dda56dbbe35e34a79aedebcb81126a328007a82a5c3e19f0631a4fc7597b3f88666aaf10320b05386c80302047c435bb50066306402303eb18c616b6578f47369da98c3bb2e8b95de6f7b6f2e869941cd3450aae90a3d838de5548c7e43191e094f2f191070be02300d13944327d6643a3ff7c8e211fa02f647cc10d611995a7fdd60ba5f41cd70882d0e09fdfac1002251281166f9553ac60302047c435bb50067306502307e97bed019b9294cdb64b77185485e7c890d47846581cc56a29c8370b0ee8003e7f5ab3fe630b702dec08830a2c5f85e023100a5483fc2e293dff8760123ad0205fa17995ddd3e5ba307acacfcfad88892ee745bdc352a0400ce3ba66548fffd044f3a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009fe9ad288999b9d1a70136daae5342ea584fdb5d931e6e940a2678a82e8bf3fdd52ec596f04c5c5bb56c9bfd97b497b402303d3ba37c1f586fc793e3b9c91697eca45512d2efbe3742da854e9b89f56afc9e1a29d63032b2a3412719c350f7c873ce0302047c435bb50067306502304c04f2e951a52007495fee7c745a942620029861ffb33263c3332cda2672d7fa29e4c5da4ccc97b760887e90e1da84a5023100c43b7cb17e692c3214faa2b436bb9938ecbba771760f9f2c2a8eaaba214435d578ce382c4c5386211fb9b2b7b3add8650302047c435bb500683066023100bd8e2989966f9ba878b3191deadb643759def05b58784d832b43fa04c09dfd6d1a7f3f53d998e4b192da054bfb96a7e1023100ceb672af69392e6be452b67e601b7dae5069b19e2ab96803ddaf92f17c59f730b3f9d07762abc4ca04c434e57ae78f2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023066afe55883183ad51cec36c629845fd2fbfba3245155ba749cbc54f5922d4bf922b1eb9d81dd36ea901d6ae345ae765702303b674a1ce88edb22ce1be6712753a6ac1301dd0254470585d4c5cc84849f2027e7368c8f23b519362020d33d501b7c110302047c435bb50067306502306ea660c0a01bf421977d5bd177b746ee35ad0ed9240503753b4fce7f6ff8029d4b368ea2a27b81237f73667bd1275e1a023100ff3f60b8b4721e8765f320fe55b5b0e707aca079297ccc1ba2d34e2ef69cb2e501c958d7ec614d9561b335a1019d4b6c0302047c435bb50067306502304e64920fb3be978c545724f38fc1c47c4dfdc057ba52b7592a1390e5e2a11e9b1592956502faefc952d5b2e1b5efe3bc023100b83bd3ca8f16620de8f8a14aa70a404dbabf732f46627873697043f69f3b42deebea0f5f81617275f91be38e201196330302047c435bb5006730650231009b76e01d4be37407f7f455dfcb67f643c9e3357bb5a12c9f5523a330148d342f80cef26dcd3120cc65197a702a86919402304860b68522b6b6d4c6550c4405173bca2a5861b37dcb1db1f0fbc496636c17a0f590d9f8569f6a7bb53e7010ed7e4d120302047c435bb50067306502301e788cdce3bc6e7a24cced0fde221c759501a56f6392c688fa5eaea11df1e50aa6ea44aff72958d3f1f50594291c8d31023100fa020bfd1c24e03c1f8cecb1b2a9a50bc1908b5b63912b58ccced6c0e49bc6ef7d6694e48f31871c6762b8a30deaf4c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ffdd7ca53822a266fd8e63b54725716106a4a25a76a2eb7ce23da9d6558d53b0bfbe27b3e922efe62ca2c8765f40bed6023100c99738b88349b1bcc2b7a96c5a18a036d301571354ef921c6603e7eaed882071b77a2d5074e7d63c65bb9809678518e90302047c435bb500673065023049d0f9d466a6806527f25c14a9d24f81a1307d745d3b85146d92652954e490dafdfd494fab5bd4e76f4f364d26cf0ead0231009ff8bf783a9b818cce0def9fd8b0aa9c364473a2acb68238c0bd681bbbce263c5b2cfdced2f4ef00c168466e1c8a47370302047c435bb5006730650230538f7c8f03836813af67f70cc358f57cc76c0b474a698e83cd7dc8b71f514272ddee3813268dce5a6a91f1e4b0e99413023100c3e2863788427edfb99a7931ac995149fc5ea97acb2e5e28fcaab94330535bef56d9d2d26336597d096a8be826a68ece0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cb0472265364503e114b769a5798c05ec9d79a2a33ae6f57bb6f132ea6d81cc5b246cef0cfd189681c13dbebfc03f7a1023100acd80a35be675fc05d6be90894295e4a808b37122af72dc57e511f6ccf76fccd3ecc6f047538e9d87c470000711e0e110302047c435bb50066306402307a81c1c8f86f23f1f23a52f25c617affa932781491594be9c47b770ad4e2e48aef287fb8f61115f5d5e1073df89d0b7b0230270cf161a10de35c32778b7f35d7b181a3e2489f75e7ac4f7c9640cf53b49146988ec2fc27eca248f0bbb0bf3c098d7b0302047c435bb500673065023100e42c3a9eb1a6c055617d1529620f4d2b99aaac06e7e6ffbc1d8b23a711d1bb091ab140ade9e9629219bed3999da689f6023007fc3a548afff64c19ee8f8270420851729443721830687be620ff5837c1c699abd67b205cebc0bd07b08e7108e8e9910302047c435bb500683066023100da114677b9bbfc95ab4e4f5547d8dc7f5b164f20c0138ac873b12967833d9b665ed5388195912a0714a4cb77600c518f0231008a45d82c46c73ff4bf0c1c7249813045c4a1a0e153881b98aaa521b1f946d2b44028f26bc6641e3af4761c06802ab9d40302047c435bb50067306502306cb84947b196ef5680f42b188682b00253d2a0a9f8084be113a86592f15378aea4cb182b91974d41cc32a363f7008247023100b578571d73bec2e8058f05c30713aad3d2c86ef4a605137fcb255a26b629184701c1c3b9e38643919a8e1bc46b8cc3d40302047c435bb500683066023100a7b3e734631a4aaa1b306f0e25aaddfeefc5e13c4a1cf48d31e94f0232c8454e3ac3d109677931ee0408b26454873f71023100937e1c78a2b45d14a275156dbf6f769618b3a508295d4b892c4084fd7281fd69bc0823a345ae49eae0a9207c11fadbb70302047c435bb5006730650230291b63865041350945fccde25fb226e4387140e4f4707cce40789601591a5895304f790296ae02006d3e84e06467e481023100ab00e6b583cedd01829343aeea152a45dcb90bd23a783bcb4a6d53515fcea2433ae55a66a36639375aed1f1d7f263ca30302047c435bb500673065023017072885d3296b8cf4b83c581aa8126463bbfbaee1702c3f2c549a52ba8e217a9bb29e29838c27454c13752ba6ede363023100e01fd8e401958f301e3a510b1d73d10963a351d0f846d82f0f1a60f704be0769f810e9294572272dce6bca758f4f0f250302047c435bb5006730650230594dcfed07d147ce1c380ad512ceb5d720a67ee4896a2f9a0e8948cd482a47b3df97411f899f53a9baade0a42d6c823e023100b659dcdfb4436e875e4e0650e662617d43e0fada968167d10bea3343acd5fa262f90f8f175d905dae6c585fca2c309790302047c435bb500663064023020552b4275568d90eff3fbf30ccc8d9675d1af0d74876b2d25278567f9bc4e85b7c8cdbf99d15818459d6e4fb5582df4023068f1c146f619b605d44db2e327e25c7680b4491a53d02aa20434ad911cb06ee3d05e865b93817df7dc16fba59b9a11aa0302047c435bb500673065023100a3e55dbea42f34b4476f8ca375656cfd43c1bdefd6dc776b22188731e74c3112ce9be905e3117bcd77c141370931698502307973fcdccc6bc42a9d9b9bcc41b131e89ad51f1ea4838c7d11a43f83ceef94138b7b035633512a70d6d85b4a589df5d10302047c435bb5006630640230622750ed6a8437e20fb9adaea44c8cd362231937b7c929281d992785fe96ae371fe97e6fd8a48d2faac907a5ce934f1d0230789d10034aa633d8015e8682b7f38b93dc7172e8c2b2dda5a774284373bc4f0af454c46bf2d1145f272d7ef06089cd1f0302047c435bb5006730650230255981e534fcd4577cfeb512b3bfe208291c47cc4f3e502bf3d11a304ab411cc4fd9dc4a828943e8f9a1fe0252cfda4f023100b42d459d95b5ea73714e60cdca05cfe87ae2c4c8728295f48f854c4f74c42dc29c2331470fae6e1150f480704e200c460302047c435bb500683066023100898672c7ec5320ba9edc3a6f236c1d41c5e414d02f56eb02c42d65427d27cd4148561efa1be8ecfe8bf136f3ebe29dd0023100fd004604361e6be760f5b0acbe38ce251d3a48b5b7849cc501ad3fb908b36d6d3d350533cddf10e3eaef621e6fda7c4f0302047c435bb5006730650230171866e63217ec1d65376d1aef71b53977b8d35b3c07b1baba510495453fdf3dbf29e3d09c5c1b2650e91cb59e89465a023100a7f04497541329849d961e30c4ba83ab57559f6f6cce2d2209ebd94224bb78122f6beadf7608ab0dce661f44b5e230990302047c435bb500683066023100a5959c5230182d541eeacc8e4b041a58ac7dc17f781c01ff576051fbfccb562a693fd7251a67ecf1ec9a18c5713951cf023100a1d3e9bcae558d428719a1be9b570009664eccd87d55c9a97b9bf0cf47277a6ddecc2c59c07504466b02519c456ae62e0302047c435bb50067306502303a3196ffd4799ad0324b149b611d6fe02b4a2d3983cd3f08f090f86930d022c4fecc4bfcfaa7de2d62686a34350e1682023100c39ae779f3817ebb39490240ed296e8dbe95301eeedbc8db49501d0cc576c60918f8b2b7358b1b07eafc766fb7f7f8180302047c435bb500673065023100961b270a785c1bf93e50b0e371bc0f25499dbd225b2133283785542ada36353d1f5dc150c2ed5436041d35250609f36b02302108b41cb3530147a4adc3128b4f4d9c8a885b6e2afcc1efe0041e20a553339a9ac1414ee548f268317f6e0321c99d880302047c435bb500683066023100cad2ac4f8d48b84198926d0b05152ae7892fd1fef3826d2c2bad2ad21267681a339af4356c82b2248b5e02f0164b961f02310086b1db2aa2a96451e8d988e8e132978211d46db663eee157f9e6e62b52027bc7cdd78f45749d6b844678dd04fada52360302047c435bb500663064023010a68bcef550dfb0944269775e8634979c9fbf014486c83f04553754beb5fa3a96edd76583a6ade6e1503431a89db52002302792ff8ed698125d6870171f927101f1ad4603612b5d885acc0bbb56547bdc4c4de26b24ef38ef4c2ebde0e5db83a73a0302047c435bb500663064023041e21ff36919e37033fa4942efa60243a3615b9c8e0be7311f2c6606ea160a07c5cd5278c48839fc1de85e83211ad544023011435c4b1cd33d036ab456102dbff5ddc36cafdbf6443f73cf817462ec0f335e962763c1d7c2f8436c6690acaa68611c0302047c435bb500673065023100e2bb59542778538b98e590639227b482723f0b0b9ded81e1006970179d52020a7741e61645cb1d407babbd3a11aa3afe023070b128bfc75a40b2baa9cad26cc3852755b31126839eea8ce74079d4a7a16715131a5adeb767adc03c1ea19a8a9315fd0302047c435bb50066306402307e5d0258e55181fe1026498d24809cd61fe0ff40c6ba40363937228cd1c8e84ae1dab677bff90d9337636fa444efc66a02303c1180dfb16cf5c5ff9a003b9d52ed7e6e0cdd075fd3631cc1d525e20dae0214ee94f500682f7dba548a96c94246ef050302047c435bb500683066023100fcb33464fdfba67af2fc8c90959bf09afc93868409f11f85eaf29d796d8af036b032bf163d19a92d98091350d0e8471f02310097735ab32e6e5d5d046d75719ff52f40f4f6664a54356cc095ce63ce8a787b553e485fa7f75a3dfca8701669678309c70302047c435bb50067306502307665ada5d3e2b17ed3f5dd9d825b437b1663898ea46ad20b45c7e7f49b3e3e319eef944606bdbf23aa172bbf795dc8fb023100a1d84ea55d9c504c5aab55e36d1bda265d92e077733968b15ba5e081254a567e411dd3c9b017b0853b42a543effa1b5e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023025408d79291b761e763f593658ff6d735f9d69bcca1948fe64d2ed6965d2c6779a6935457b49d394b8c1600842a0cbe502307cb4204873d2d12502d7e03b67b7c4d11916adca3ef6d2da3da0307207423d46326138645f3cc272985500c9f97bfe760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230554c81a39f02ff075bf7d4f077405ad7918d256b04ac955d8db37b7d0653a049ca5d71ba6f871d46a24ea50ce6c35639023033110adabbd9db4a9f868eb446426665d3ba1c03a1c448b8b5ebe969ec259091c1d383fe643cec868cb174d2d389f2f90302047c435bb500663064023071011bec9d2bfd637ee29881a5baac00dbc214b4c30d5f9eb5a0bc5e5b4bf5ead25455d1d444b6c0a6725b9039f2a482023077d6a0c7f44c1c314fbd587d4d09c47d1b63640ff34cc0c45e8fe8307ab52e34ccc45224cce03c6ad7e23994e59ceeb80302047c435bb5006730650231008f4c383cafee5361bca38d1a58f506637ecd0a6a6f2f49b616a63c2b874c0813cd093da1d5f664c35bdce2fa2c4894ea023043d57360df93d4c10fa785a05f1b3a9bc972e48595e8649d4c9916e4806b6561fb203010f13dcff99c88577de221d3340302047c435bb50066306402301be36ccc61e840fa8f5861c15f3037925382c1d08371f4d89cbd16798acc1d7b39cd30b3e581ca496ec48441964908b302301a7052c78e7d8ad82ba2e758f567a65e338814b53de1e972897724eab5ef561bf05db330ce4ceaf8cbe95a1ae95ca5690302047c435bb500673065023100b9848d4996ebd55f7dd26b80573e2af01cf84c073fbdf29046435e26d7296f9e7b55cf02db4ce3f7ea05d9ec42427e1502307f476aea22cf8cd64f6735dbd7f90718c4789fa25f57828d0deafafb498f161d180fcf5ef5d08e53330cdf629a4338840302047c435bb500673065023100eadc567a442042d752d7bd51801f9b2e1b8fb8589547b06d403a89c7d18a7c2a20a3bff314dbd83c24a44962cf46a54d02305ffa83c59a2ed8b55047dc0e49303887418b9b9bf5338921f9ddcec99cbf622d36389e3f20569a551af9ca281c2e35900302047c435bb5006630640230360779b108bd7a0d205fc533794e9dfa260197871b66aba0644d82e687c7c499a0e234cb9c5bb16e075fc2492db06453023021cb721c63ea6cf9c76eda403bd0d4d66c7a65628ecea2f8174116fc9e1c53089c6973220af9e642f199c55d235f073c0302047c435bb50067306502310087ae4ed1a31f6db19e0f72c50044b238b12c02c602ee94bec28b085e92468f82fb57242284dd6867b30d1ead18661f84023008ff60d953501264b6e45fce471b0b02578542229ef5258d68155ca850ee1e6e773532523f692f61f90291a70fea42400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307a1ac56152afee24a61e9ba6502e67124deec1de436feca30769402bdcfc2debc830d60ec0defcd1ceaba7e8dc980831023100b5ccda6aeddadc6465168a616fbf423988fd84ca97186095ae2bc4ae71683d7293f52c730287a4bf66ecf223cff304a00302047c435bb500663064023059e104bb9d1fa0ab7fdd80fab420383b77a43dd40d26529e103dd700056e9117a063086a8ad322dbe072030f7e42ff2d023024ca927f27711e69e313d6ece98d5aac460ddf353f6e8c847f244f52a36a7ffab25f7798cac66011a0b69ab8770fabde0302047c435bb500663064023013e2bacd8dd2fcd7743b0866fb7ff1fd943907163997b6e48e68bdac1707bc1ce9b5527dab761696662fe915e7544141023068005a96a28d504767076267f66ef5b37cea969606c4384c497a5000f38fc28f13ac1deb186a04636266589d8baf717c0302047c435bb500673065023100cbb520065857a3cc66eb1eb3f48f9cc09e4745cfc6806489af1cbcbfa6b6f31b837f4b93676f7f9fa74274ca458eda73023001f72fcada9c9ab0d095edab442f9a88064db4ce3ae249283b20cdc8909a81678377f64e02cef6d4aa40c9db147130870302047c435bb500683066023100d582465d68ace8f331a000e1425a9dc35b4c96324fefae6bfb5b01f662b05d706878c4123878914b7d3de9f29d799334023100ee184885308672a7fc1d675fc07fc2f2bccc5ee42fb480d1393527ea6fc6c6b3485180cb07add90d95c84c5a8c7906a70302047c435bb50066306402304ab100aedcdd7bd1b436713cb9b970fe8af0d5750dcd8e8012a6c54f01bfb5dbf15ae962424d914c35f2bd00505f42ea023049ab4b453209d70c36fdc81f73e720c2d1069b798bf21e1b66016862e4b35eab55802851ab4b272d754fd5b4bac94d340302047c435bb500663064023042da169e7b3ed2731b0986322352e306ef533e049b1bc15d43bc155296617012899839f3ed70efb1b2eca3b22d38e64b02306449447c17a2eaa5fe94529c85b805f53412b77caa1bda7606b36982357652f4dbf638aa10e64fd094fdf1f053d436670302047c435bb500663064023012e26c369f1de4db7f6eb2edface817396de2ea2c079759724e9172ef45732aa8c0fa463d91cc76a91f3da3bb20b112d023025a46b20ae934e38a1081b2671d717e529e56c29c60fea07b7a50a4610618844d287dbce62b1fdec0b7a012c5ef647f00302047c435bb50067306502310091c862d53c8a01507134b7363b78ea6cb2261242d4c226e9c4fa1233522d670dfd7337f3437f7dc30c806526849bfa1c02304b6a4a2bdfa854ac36998640c223832d91c785e842cc8d596f8f10c313e5044e85a39949bfec7d5a687d8a1d150d4e460302047c435bb50066306402307e4e78bb66734469bc3c1efd5f60a21576dfcad0e31cd21f9bdc52bda44fe7a51734bf619ec838728d5a257eca2e07b102304fa99e7eb748f003811ded250364024a4c06ffbea0e4e7b6c1da7bbea0898f1c7a108a003618dc8b7f7cb57c39afefe10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230691906307722272c33010224767f48ecee4890ffb48fd582326fb06004b9cae51087f2fe03a501f953b4cbf324e33553023068603e5acf21820b238d16e3db946060a3678e48579de9ce99ed242ab4ee59b04dfaeb93bcbb444986ff3d691145174c0302047c435bb5006730650231008c6db321d68e588bd42f9b207c302892be693d20cea1fdcc37b25c45e95d24c5b4f51a1595f148257d471097e834e34d0230560394f13446f1b491f2728ea6c0de46f16127cef36b742334e56021ae0872dc40879b4629bb522c0c6dee138271aa290302047c435bb500673065023100cf6ffde8e36c5d7fa462fbb8a276495d8dff76177708e650ce207c3e57bdcfc8525251137fb47bb060554d1a1e52277e02303ad297cc56376e730c0336cced26f670f489c305be78893386bce0af07a2bc23872df0da505c5d9ac62f62b46e17bfd90302047c435bb50066306402304ef21479c6ca6c74337f88ba59c5628e60d63f59eb071cede4ee3d57fd9d27c67f89e9c0cfaecfadd6d94813e2ed7f9e0230740ed9f946cf5cfec48aa5d3e77468c49b4bb3959e5098090cf55c321c4ab04bb1a7b0c695b0e32361f4f6e1002329450302047c435bb500673065023060dcd41012ec40c4b9eb3de6979f06189375bc36381110fb702e417a071812e1e8098960cad669f14a297acb388a9fb7023100a4ed3f67efd68c9288e5d5274f0503fb750aaa103e6b2a7ac30f115266b7f514a4b3e56a51302a59a49bdd3358e986070302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a1e21d14397a463594cd62c05dc50cc0458ae3ee0d54811448ddb040449c2908363367516890e09b03a0bf80961e8d3f0230694ba5a9af3585e6dc15f4f7818462aa79db34fc5c6e16693d30cad235fb26d184d315fac42632f6f2031cc87ec268e70302047c435bb500683066023100bb481f3b9b6183f415a88c4f1e1dc65ddd2d8a573653680ae8f2ec9efa8ac4d73b5097ac61c18a2ebbe093a20db50a1d023100ed72dbb1e0fc1df7498f058cde4681bf63044b66ebee5b06c8f7761900c72e865554fa7504066bb620853205023de0000302047c435bb500673065023065c4c1d09989217af0253a37c41bbb68d084669484423a110604b9da28add67a866d93e82011d0a0634b475d24cc5c95023100fcde3b4f4f14bb61dee6d26a894b924fe187e6646d13434a6e193640fa84ad7e30fa2acc5d4eb945d1406da5878c5af60302047c435bb50067306502310097a06ca9c8ea6c0258b7aa378b1668a1dcb43dde1a6ef193ce8412865ca7efca45a92920fa18b9256ffc57ff5981a2fe02300869ec250da4edb8818aa9d6bcc296fb87165f12a0a3022a201733ddac0a74fba6703c62bb019021fbe33b969892ecdd0302047c435bb5006630640230504852864bdf71656ff6aeba99a19313b7f5b0cf11356a5cc3f61e7b807947d6de48d48eb57e42499f36339757521a800230180fd14926943e123d061bd4dab62cad7f49d7890851547263effd431648868b2f95a395b717a1fe56b00b6ba7ca9a750302047c435bb500683066023100f12d66e1eb3c68faf0647a056d994a94174fb7573c245e8cd5157480f4ae5c78334ac115088808b92c7f0ce464f1ee69023100e6c090a21eb411fc3c37156f32c3508bc783133476e658c32f280cef61e1eee76030d054068ac56a135e3cb3ea05eb780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306551ea2ff493754783a189fb069957586daefc90b79f0b411836f8e82c9cf6c0a4cb37acf9ae9aece0d776662ebcab100230328d9eb09c8b36be8fb3e39d97379138c8a43927bad99a7754db64772d9950fa69b7a8a1b1ca689d236faaaa8856ad120302047c435bb50066306402304b142c9530a1114a3b271445a37e281b775958cedd37f379ac67e72d0db99d5770a6e299d628afe8121e9bb0422f092002303abb56a1b6bd68d46d640fa0fca46029c3dabee3633aae765a9cbf84933b585e8cda7262a966f1ece61c4f6488ae40620302047c435bb5006630640230724929a750526781c180e1da52055fbc63862145b160139a16ddef5ad4a4ba143b93ed8bb480be07b216b918af17b71f0230786ab7792674b1a8ed6114c02b9447b08a23cadaf4ed45eb56f6fd085341ef65047b03d05bcc6c620f8a7b4e3b3dab270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302e7551269639b5ed75a8fc789509f1a8da9732703de9c09deb4a2387a074cd39c19c727b91a81ed495b519d6eea9599002300ec294b6921381b0f0871f4db86b1322a4425b07f2dc8416e20eeda14b2c006f932fdbeae4b24833f85b24623a0c1e910302047c435bb500683066023100f26744dd1eda270d6a3c055f5e4f7205bd5188aaa3b2f493575e5464ddc8150a8ff3dbd5f4749608b97c2572b368e35c023100859fcbb3f751c63c5f00a13495adc6ed7e2f8245c96c3d2166909242b628b4916059a579172f25130a184e97a0ecbd920302047c435bb50067306502306200570defc88e1fc12ea4f3baf31c5059be6c920481be84da5fa54a795c85d58ffbfe22d27f85669efd856dc951e388023100cefaf8bb8113f81d25e1620f4064c407fa81f032de721dd95c1b0536c6951fec0aba0bb84ebab7ba941faf4ee437d1750302047c435bb500673065023033dc8a57ace815752a2d06354212647b17f85a6aa0727fa756c4684656e87cff504b15944438aa50a4dbff3c3cf602720231009e83036e69164fbc34c21107b8ce8e5aaa4550a45cb1c7e19805e110887ad6d497feeffd4851c074b30c9156e8d4f07b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300de7adbc400f557aa2f6e2bb149fd755d5451f50874c2219f0cec42b4591c289c8f61b77516bcd8789a635371811903b023100fd040796122bf75d3c51d8a1bf241332f446a7909541108521685a3411ce5c56582018a775d1421753a394b2667350290302047c435bb5006730650231009880d96cc35cdd417f1abed85f10fcd1b197f6fad106586d33a21ad44b517a49caa7665e6d3e6308d01ae47ec648708f02300e9bd44cc102987b42e26d02de78aac1aca76681c5003ee1d7eeaa8a7b227a045577cb842b526bf785d887e81ca8436e0302047c435bb5006830660231009602b15183430b8b2b8398953a1000e477943effdf93be07c8cdbf8229ad42d4b1333f3abfd5b45707d1cdf5f2f4d299023100a1b8942ac2b866f0e0a9c862645158e9118e4fbd0bca286af8cd797659f41a50272b754cffe538138606247bd2c0f0cd0302047c435bb5006630640230683e46e215747b4a9d8ba7fd42a192c5815acaa1e45336a0f9d548ad01c30ba2f17518e6c932af3345300962b20eeabd02305d4dbca439a9e7f7ab40abfc054c60e8ba97bf26383bf26ad4de1f78776f0f0345e0279f848fd5cbb4ce3d6c920c4ecb0302047c435bb500673065023003805bef64bbce7327b74bb98ea9827224ad3dd985601a825b73bb15c2fb5e3a80ed8b8db1502bb79873569b78cc4960023100c2e35df2360ac46c3c480aad740426d2d9b04c998fb8bc0491cf40f60839c667f7eb9f789eca83d0feefa956ff4d86e80302047c435bb500683066023100bad8bd8f5757c1492062bf29f5d4c097782234fd59cec3bd379372e853a16513fcd0c5cede556ae7a453d5a7af50a0ad0231008ba9847216bffe9741b8fe9a112c9cf10293380ba874d816f647924a1db8139d41db86fdf5c4d723310822ecaaa415ef0302047c435bb5006630640230238780866f70a2054b2ce48d4b8bbe8b0767c91858d5b3c7640eec4d8e276dd4475da8ddc0b2a6a8e93ad6e8ad456a1c0230488acbbe3cc5c65efb9da7bfc20dac3443df7124dc063ebd90aabb040ebda0d16e5ec1af47a1d6b2524455533237f7fc0302047c435bb500683066023100de27b749d959c21005dc40c9be3c2dc64f4a214067ed7d7fbf26cde1edefebbf509c50a5d196fd0991859639f9793725023100ecb5299956c5586d4c46fc7e87d4998c8dbbc96d293ca5ee226faf452fd551e013fec4f8d289e9524a4ac7812b0284820302047c435bb500673065023100b361dd594b1008c4228b130a1d38cc4072c85519eebce52403a9b6700fa3297dac7af016527a6bea00e095d28902d1760230077219d5ce53edb698379081b3044c4683929928ec4d11c3068746df977334cbfa9e0e745c874c002dbe7bf61fc7160e0302047c435bb500673065023100bda5883ccb97c06b5cc7557a209107a59c42604137b33e9640aea4832ea93344fdd86e174f20b30569e740994c0ac59302307961b6332fc0de762d7074644832940e58b686c13950c49cb9d6175098d499c2e118a948875c247545b1568410a18cc60302047c435bb500683066023100e2d019cf84d2d62239f73f4af3a80f6dc3e4775af55d3f51a1b7f639388a18ba5a567ed989923d12e6f1ff67019dccfe023100945368958698c1b94ab99f6ce17ea76b1f84b2a3bc499988a8e4a5a534373d0503e2efb05980c4ea05833e365d5b231c0302047c435bb500663064023067491267ce072e6e9ffac03466464e6903f22662c07d9148d1899fb980c83700439202bad269fe1b88c49a09f2e89f6f0230108f6145f34b7c40cbbc4e86b7ac99370f68cb2172d05df99eb884c76179361812d824b547daba4fbabfd6d8ec07870c0302047c435bb50067306502301bf85df231a4e1e9702c862658a0e9b11ce1a7570184d9fec89d64199bbf9ff16374a9d27ca578be840dad14c49c7a26023100e20f71acd6b7954aebbcddd94790fb60babd328731062b122735c8240e45c54c56234c50c9fd235b175c981ceaaa29ef0302047c435bb5006730650230727cbd5c77bc317a6cf920464712420490796e06c2e5ee5ef6f0fa628004c947b041a56c5b53a7d8382f760d6a0cfadc02310087dc0d96fc14445b3661ebe7926052e4d642d01925a628a7c8650a265c69f1eaf7702f1af210b88ee3c3867fd96a49630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009b37ac07fb534576243c1ec2f780c563a53bfb779f20ac739e9639a55042a666be80a15b435ae12539e141c454792c49023100b46daffba161095701ebf8dc4c41ea86739428075ce1cbfa443c2d8ecf4db3e31db68d71d4e2c6c56b3bd44b61c6b4260302047c435bb5006630640230496c2756753ff389efdb25f70d3946e0aeb245a7e6e3f7cf8b48bbb2eb7e83079f9b33a474e5d3be489e13c43dcf9c3602305832af92f8995937ae18c53ec659a3d443700b17b3a51fe184491e490217e7fc2275a178245a547b6e1ead09d00be9d50302047c435bb500673065023100a1127bdcccd71bc1ad4ae0a533d9f424192659f0066a88ee2e0ebc1f936b1d158350e343bd1f03747137c77e26f8cc6f02304f55d3d800a2447de65a086e21f2f09fc4555eefde937876622e1194c1d960362cdd0883badbf2b557b3b82575cdf7920302047c435bb5006730650230114ebf678b95f6fb5b46250e559960134e690c9b7a78c3d2d4b50565042adfc98aaee232d1e02af49bd7796156d710ea023100bca115dbdb944d722d236321ab0457802a19e89e3c1c4edb9efb5059147a2457c39309930d0cdff3bb5e06019c16f9e80302047c435bb500683066023100a54fe0265651287f2e553d0e508074d7e9539c17637e68fd832d6e7fbc2a15611ed153666a551c1a486c8cde9eb003d80231008377e393d846a904b594d9bc1777882aee37be09e5aebe8a65952a71d0863bfa2fa865722fb62eb3d5ea1fb4e25aed0d0302047c435bb5006730650231008681e913a319a7c79e5c3adf1a05958e1fbf37a80946a8dd9dc92c9c64b803f2379c6662cb1aa358970c376d298c92d902306c5cefaefd7f7e51b652f6d7a72c335cefeb0f55bc2d2765c2c40a1236e595d80f1b9fa717d2f62eb183776e2b2726210302047c435bb50066306402307190b1a0f2ad96f5b59f7de332dacdc36e72d72e50d57d94b90a66fe8012a0a40a775d6386a9bb4c18e774030efb962c02300da921bb2b3d9cc05334bbc97f99aad67b0eb99af5631064845912ec95454300228febaa3ec631a1d5d5b06468b13bb90302047c435bb500673065023100a1238b2a386b7741b1bd44f8d8f3c26c92fa680ba8261dad2d320bfa43b5ee2d4cfe4ef01c793e663b8ba0e0d03ee6940230048bd86c0e9eed5d2c19f532c3b09bcec6ad273240eaa1879421efc7220b159f9b5a1d7bec815f84f3411263a9dc9e780302047c435bb500683066023100c24f4fcc744b8fef86ec73d1e103d2bbae6532278f669276f5b069a01ea385e45df3440e5ea114702127e25426c909fb023100e30b71b5c6ffecc39f7a910884be3b8650b49b0fd04cb5fe1b62961eca37be1a2a28acea31581d95ad5874f4f5d3ead40302047c435bb500673065023100cda6b0776dbcca221bd6f620a990fb0d999c53cbe3c86a7a3fed9fd05444fa8b4b5e208ad1ce081837881c978de99e73023050363ebdea3b1306e07c3a48eddc2bb020a63d86d57c4a033624fa55796305a559e407e3816f5fe85c3d1250894de8660302047c435bb5006730650231008778744cf3d3cb5305f714f0e5c3646a5ecb044c1354c58665c36b057ab72ee8a6a1eaf5d1443b692731efdd47bc25c9023008d850080072ca197225d9dc9db78183432803b0c068fcaf3b81c63d396d02a0c69113cfb2fdedaacbd6d88615856ca70302047c435bb50066306402305679aa2da3bbda0f68af8ad070018c9643a9df8f2e0d46fc9b93bb767f1be0a995fe4926e1ff27235e4c18ffc9e99f52023007c28e14949209f4b12b894ef24f80845ac0fa5b3704763a0d364e4981036387f7a344d292ddc1b02f7f24e7090306640302047c435bb500673065023100acd234b45983339870f7e7cda66f27e5bbb3d6153d656869ed319f505c02e1a75377763da2ee99070d920e73d6b2641a02306105fb6555d959610277b16984c6ad617ff3bb70e8db6a377b02905dcb857b63f43641b646f046c799cee04d752659300302047c435bb500673065023100c104ef9035d020128f051e651692da17f90ee0d22ae79841b56226068ef255f19e4bbc8ee223e9325c9a9ee620bd528c0230565204de6d0256704bf0e48bf2e3ed6fa5d677fdc2910fd1ae4a556bfc2ffb78a932106fb54537422e454624b60fb55f0302047c435bb5006730650230185a63b1a1a1f7ea48f156823476fead605b79815af12dfb67c956b88f86c4a4f3065f225dbe8390c473cc1316ac2ba6023100e0d11cf70858250f2ed62529f8962501763d8d3e42c70a238de3866b468d5ccfa74ce963194522be1b0adefb44ab506f0302047c435bb500673065023100e4f864437594dab99ba5dd2ca6ef9c3ef5a72a0a3197cba37934a64a888ba38aa22278dca714b888be58f95f5bb7f229023042a452c6b650d57b6ca50da03dda1814e9dbeb5c1134c6f3dd503af5c9bfda985f0b4e4e97c86fd7bc3f4d975dee43ee0302047c435bb50067306502304dfbac47c7b94c9d263a955aaa593d2056a172b763b3ffbfe5e7b422d3215e766d5406b42eb92780bfb4ed4ee8bf44dc023100e6a680a07a653728849be7fa3b59cbbc6be734f0046a15d704a4ed727b156a74a4f48e2c6ca62e2e5ea75b4284954ae20302047c435bb500663064023051196493c0d5e9b4d4dcbc6de4af56f262f96b942e3d21bd798e113a86cc6bbbc3f6398d244959aeb7ae36884201cd8c02301e739952c73d3cfa0de3dc91e69e57f0d443d81906302077c735af5f1080ba9c9c8617f0a2614208c7f7a4e720851ccb0302047c435bb500673065023024f9ba6f482b940f5f7ee51765ddcfe976dbebae7e37b6b09c7ca739dbd2c9879a460673add69f6b946f07f879a98679023100b8f98c828e58044ead92ace641583d8f03486b32bcad3566637e16af5e6079b1c3a88a3122557667e35e3a20ca74d09d0302047c435bb500673065023076d7ae5f0b768a52f526933f3f5c2af528f4bd164585b06cc83067548013e84b86493fd40cdbb7a4620ba9b758ad2798023100890bc8ed6ea1ac85ee6563118357fa599e146c274a018af0a95b9048c09803814e15d46ebd1d7af07a88666967bb1b5e0302047c435bb500683066023100e242d1fb9c107155a803883474767f1bff1d2b99665755e38d4e8ee45e344ed7f4c2ac8e602da96ffc2e2ad119dfd95e023100d2e4f53face5becd317d5d4125813e2dcfbed4071957ef1c4b41c5c224239c73709a02c4ee281dec6d9aefa4da8d8ab10302047c435bb50066306402306e09e7f80364d381f0c870b7d9204d75406da4f7275dae64829c1ecbcb78fd7749bf628061cccf42db92367266580c2602306556ac9e97a88869bbb84864d153564e44a27e2db12fbf5f5ffb1b2cca0e45890bb800ab24c0fcbd1f3d5021bb31ec5b0302047c435bb500683066023100f64dbac2cdbea6242e952169be0d618ad4007a914aafc6801dfe4faf6b34b37b365193d1ef1643e48769c77135e353cc0231009b858fa72f92bef0ac5890326b8b87b722c8526f7ae15561345b8e52ead9ca5c6ca997e07903243901c47f2e4f4836530302047c435bb500683066023100f52b971b133cd4921cdec45544936f1eca6de748afe680d48e4648ee96ee9cf891351f3881d048f95ebacb87513fbaba02310096fb2839805502c9812187bd31eb1b5c8b75ea027e189d429d10e483ea5388f395210de8bd3c1dd1e91ecce59d494b7f0302047c435bb500683066023100de6a7ef168b3bf732add06f1a779517598a06a095d7729b670aa9ae6a04cce6a60c7c85e76db6a004663ffb598fb27b6023100dc5780a0ad9a496938435b256146c7b116436d8d53f2cfc7f5a9d7adf5f4ed77717782a84e268acaa143d948a8fec54d0302047c435bb500683066023100ecb27a1e62d4c0ccf70e9bb862672020462c9ff5fe8bf91178b6e39cd92de3b3d9294a972ca08deb216016ef167fe1560231008541b451b1b7785c2cf851f645c39a0be2ff5a033c5dfee680aeaf0aa0a24cac4c2878b1f11731ce16e42967a6a27bf30302047c435bb500683066023100fe65483d6621a8b79af1abf35bc3f4f8d006fb43c218e91d34d5e955b2ec3ddaae3d416103f7f80d1ba997addae4a0f7023100f4938880d7feec2e0ef6c3fb2b276f97369b18c3e3c40d235a159b107c7390c283e8aed05f63ae821d0ed21fc105735d0302047c435bb500683066023100acaa08157f065337c77e5e211d59f47d52de209595d4fc9f699666858ac9025da4dc4f37e2c633ce3b498ef65f959368023100e0f43679f046d054d3f58fef2bc7e1552393907b1d048e9ada38ed08bfa66497aa22c4cdb57183d8e86c504d795d87330302047c435bb500683066023100d98aca3931809cb4267dbe7e3dff4f9a08ebdebf46d7ed172d1f7a33fb5a92a0a229e678ed9fc7b5d6f307f31ea64b310231009e4adf8e2448a8d706e892a3a03eafcbbb6b6d99099f00ebf688fd35bad3f11d22a7bff9f490c8305e020d39107fa6800302047c435bb5006730650230732b6e6593bd808526c2d52a12f919d650e71d1e4fc7d869e1c91e366ceac0c497653cc0ac16f486400ee2ba1e1a6c59023100c2339808fcefdbd1d962535d6792e5aaee0d1dbeaefedc56a2c3985a5c05881033403f19ed2dfa2ee4afedb5af35db250302047c435bb5006730650231009306113410511509e0276d20e07936c286df66ed5a7d1196c4051c8b05ef8d67038d92d411e0d2fa104a7159d41862a5023074b571aa0aee8322292bf59e2efe89d4080fd56f1363b33b210396bd7f17d2a2ce645ba100b95710233ac3ffcfeeb8de0302047c435bb50067306502301adefb00fbcb45a547e3addb5058233cb9af2e93df39695105ad045708de464d8eac9fe0d06ccbdb2e2ab8f87bf106b7023100bf437f7b60a51fe36c34c4152c8a6bd42168af7988a93b10f1e070a1c44b243cbeab529de278b115c4f63aae86c918230302047c435bb500663064023058f4d826622fd0c48fb2d2dcb5b0f09d4d87cf5180821363db82efccadcb066c51487ff94e53deaab9efe030d8ad4d9402302343d563d7e1e2b017ea99930b82aa14cd556a5e242f7cecf5a66dc102b9ae32a4891d0a4fe22d89148072cb3465d5050302047c435bb500673065023014eafd1b9e760857e3956ad2d669490881e47c44422c6dfef8b949226a2e59578f6e421f5a820776e58f2695501bce3a023100e2f4ea44239acae8432bb6d56276f3b09ec766649ccffcc661ebee60d08a922d1e7f260812f9f27c144c99dc2b78ac9c0302047c435bb5006730650230547e38fe81733552f97d770f48d12f71901791a9df1065d479f1d94bc69d5480f684cde4ebeac909c744988439e7a7ce023100b27173873bfbe15c1ef4a74c2690075ec84ac46393bfbe4520d74606ae4faf8bcff4216570d77a282dd05accde1e4e300302047c435bb500673065023100e22eda66782403c8f42c44fdd26000e689c9007f3e33a87e54d196750bd0cc4a35b503c20d85a755ab794848b82f874302303732057e0ac5835669db934ef86d9737884debc271fdbb33d9a2896385c297e289e9074d6f86f72240d98875f620bc540302047c435bb5006730650230622777935f7517f00c7c9873f4748e760907af9381c48367cd37522ae605875e602984b22446b697e7cdbfcf46041604023100a7a8dfa579eafd45a03e5194b4f2d343e6709200a3c5ee4feea8042f47b29e360d36b33931efbe8b5537a33f2cd330150302047c435bb50066306402303687631fe2edb1e68be9cfc0c3bd996967b29ae429c773d037fdd62c33b2415859181502c65023502acaf747d5f3fd9702301d442ec588a04608f0d94f4aa9a79cda902f0bd53ed55f345980fdf876a2b619aedb9fe4a8823edaa82902c2be610dca0302047c435bb5006730650230688ceda113d9abb754729621a9cc680636c08341f7b57f237aa4a4e7653ecff109b2c6e01e1927d421484dcb0dcaa326023100a3b0b29d2973b9f5700bf2f96744804426b8595d0bcac3fdb13c71329938365b48491343728002bd1093f49064c204f10302047c435bb500663064023001cd6b4613c5eba6966de3bd0b87022612e23f6add3446a76603dc96ec1c39de6a92c0f14c006022e47525ceb5335e9e02303ca3c2561d2d06a7b7c63d961f5300fd12a47db42abfbfbdfcf3fe7fd0879c56d6abbe35f73d8e762bb42e6ec5b4baa00302047c435bb50067306502310096001a469d0d8d06a9aefc9e0d4e87008c8d592867daa97e19467dace478685a24a5dfe0adc2402e2ccc614b35a6738e0230514f6a920d0aaa5f06248677c72e94d6575e2c6c6af96861ae0e32c5de70bacbcb36c7a7fb9a98c5fda920232d4efd220302047c435bb500683066023100dc0dcdccabedc2ca20eb77303fbdb295f1df42c8bc7ebef37d4a00fbe89859342cb74b5e16f618e81d5bf66c54b2d1cc023100e609d9930c03f74e7ddd9cbd402be50206a997a10a91fac8c29e859b584ce84f369f2b09557c9a0faa956d15d08339da0302047c435bb500673065023100a4a2bd545c03039e3b61466e6c0e3d2f8e5b39dd144fa7d83c34322f7f05c2777a588844fb5a4802f6740d68b2a2eb08023011deffae7d7d676a234e78ca8a03607cdc00d8ec5ed01a53ff8f9f278ab150c180f7544be11ae6260993a8c783ca72c40302047c435bb500653063022f480f9f49746e80e387ec054cb7e20974fc43fa6cc560176df670a9b73ce4fd478d9dc0273439fbeb5d3885e4deb49b0230466e7aab7f43310f447b5dc83bb5a5bbb023ba620c5167fccc4f7e21402a29320ea2dce9fdd77eafeaa6fc3a212c8f180302047c435bb50066306402300baa6d4ac02fd5f768ebb58c2fc5e77e24cd377f14a1d0a336578ea946b33854190abd9f300fe4373842f57594f973d1023066a7831b0a102d5a57631cd303deb34ab124206842451c8cb04e2ef2d0346d6c76a0eab4b7515e7516a12a5c4e0748d10302047c435bb5006730650231008c9ec70d1abb4cd6500633f9f5072987d0c137f10a2ccae9be2c1e6d8ec282610ab33022b58a4d1a35b22c8c8e3a4e8d02304b1a4f629597bfe1f4e758b7484674e023888a1fa62c940f84e53ede28ab8f2fd10b82b0ed321f6b0bd45fe5079cba420302047c435bb500683066023100f90ba627e01e5df531543ae324aae2184fc06c7dab904de41b6d57195a6d10b2d90dc788e79a5f15b810c93b0dc45153023100eca6ebc372e1833d16f4cb761612a029ac817cf2c4fd3e2ddb824cc93c4bb6d207c8c0b18f0532a57a46a6b9d48fff0f0302047c435bb500683066023100aa891947dbe6070d67794fb0d4969857361556dbb5de9dcbefb48eed41113246a333eaa517a202d04104e46815c1df74023100de1ab1eda7c8e6979dadcbe10b905d14880465b9b8cb0fdb183615805a779e4af69a1c19601eb13cb781584e936c67490302047c435bb500683066023100bd7a2ed7d4775b1fb0d20fcbf02de9a3e8c96e96db2827aacf0f5a3ac17ebabeb6a3dad1954c7fb825937c1778932b430231009c2d40696d1c9adfb1941c11bcfe21fc3bacdc23b3635c01a03035a86e370565de2b3f2142fa7a3075f31a6b8ef1191e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023049ab78c635b21c78e70140b52e32839f9b7fedf7c0de2e994b645cb9b9f830d5348e5984b1441e2281381651b190fffb023100ff207aa25ca926f683646971d242945ddd5352a8aafd5ea62244278914ab342ecbe74a748080c770e2e1caf240d31e430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230630b206096f30bdb885db4f3bce5a6b2d24cf6db4ce7a4d12a6d92a6c59ea1b8f731bc1a7de2b1505597ba248a009ef602310089910353ac31c985a2f5158ccd4a145e2ef42853277cc7c25aab20c590a20c1b83d890527c414a775a9cb8a961b506a70302047c435bb500663064023076964019471b24e33f9bb5d50383307ae06adc0b53b25221b12b09ada0923c4cee0750d69355706b2461580b7738e3da02307201303fa1f8a0dacca44e52822fd120cd87a528a9a946d60280fc676ffb7af8515fd358a54f3c4788791e79c58d18fa0302047c435bb500673065023100ef02f059f0011c35efa8dd13bc4460a47060ff9e8d6f4f918d62c5e70fd5c41c3c7a20ca2bb5909f87c13477af945b190230469ddd8049a5fde4dd8f4fb5835f5a67f53036c2311ee63297f17b1b71c743076c24c856616d60e797db095c222cc6bd0302047c435bb50066306402307b4574402f3fd9748054424e92e947d78598871da3371d6132a81cc548ca971ef629e9f06a5787983c904ad57afc155902307f8fe587d7e9ef03206a40480854a0c9f4f84c832951ea407cfb949dba5373c0a9d67af8ef116374f103ae7c778f11b70302047c435bb500673065023100b012b44354607047c89c507b5df05d562988c0ae87185d7757d80db75f906e7a618aafa6ad934174da7921408c74864102305be69ac8fcfa0b464e23ddd41996372fc944c6c85fe26bf380bcaf0fff2ccc3a790a49fa47f57069fdd9d0f9dd5259f50302047c435bb500683066023100da6806c88d3dac0868eba2024e4e1c91460bd37d571f6d4109151561414f0dcef1d232ee7cbb2b578db2dcfec1358114023100c913aa2a0d6a41b2cf7c8b63a10f73b7a41d597f24904b4302c8e74a7a8aff18394695f210c08f99032f773764ab5b280302047c435bb50066306402303ef1b986d45cb4c9143b1e61baf04bd894d1a376b364098d682082b72e482a967f53fd56563fa8a6ca9898be0a22bfc002300c68926d4bfd2bb7fffd85cca5fbb7c053eb1ff8dade250f970350140d8ef9cf240a3a395a908d4e84b1ed5361f89b770302047c435bb500663064023062078e7fe520f8ea3c5a1f487fe1164bc21f0cf70deb605c701f34768639dfb295a5c0fe6eb4e7e0ae63eda0b46ecf1302303d4837426376aea8ae7df317f13b4b6e297461390709d1e1992bc887318386290457d6ee35bc17c9777ca830f9b862750302047c435bb500683066023100f4ab94c5bbe2014dd6988033d31ba8d640f79236382649aaa702530fc6d7068387366d720a46893032bbed8704a8107b023100a88abb0f32de021efde20f61f2707e6f1f6720d97651782a55fe1689b14ccb89ec0b0820dd3a555662c4e55401cc03b20302047c435bb50067306502307acbadbc02482c5302a7c256f74c545ec3de7021186e94f154203e403facd3c200c77c9a58dabfa543427c983b1a580b023100d048b20bf873bce0d98d76c1274d916c961bda2852de9cc6c4366d6d7218bb32a00ca2d7372b0887666e6ba0af901d4e0302047c435bb500683066023100d4f310a3af206158a2c77ad5f39794d9a85f577159119fd2781beb8136864209a6f7b068cbc66ec00a5cc50c01c2dc2f0231009da5938f950dbe67630190a4e1ebefe4d3c9b0571a246a57eb8c558158c01c0299e4b29c51bb048f92f24e12f7099b4e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d6bda1c74e839b64974170a0b7e8c41e31f6868260fba72cbb7e5ba6c5a6f28efdce326046911a015ff26f71ac53c0bb023100d8719f2df145c994320b2dc7cf162558c5517a4599ed51e45638fd2ff5e4236b9d2221f631cd701200f042b35449dad10302047c435bb500663064023026f183fe2680983a8101051a57c0e0c0906848c171110a9076e347bffdb3098b907231e4fe1a7c255fba160741cce1e902300ca36fa65d704239cac73fbd476f063d004e24187c40888a66d3a9cf470c35b09042bfaed017f7dc77428d773a4228aa0302047c435bb50066306402302e0e52d9ef8a766c8f67581136b2e4fc4800b46b3f2c17cbef385f23c1c954707a46875cacc0d576564fc2663f9c23ae02301d24f07050c8d306bbb66a056ad493ea31d04754ead10906a84e063e80bb4f430c526df666ac66458f0c56fd84d68ab90302047c435bb50067306502305e25fdad7532f45b6c5cc107937dcac4b0ae6842cc00249633195e9c1dd10769cf821ce263d363a806e9561f72bec146023100909edc6efa44c476833d607537f11f00ef988c208f47ccaa053089470d856fdebe99fe97b58d162fa2458e019b3ef37f0302047c435bb5006730650230324c2b2bf0e7cd3d7532531948c3a9b92d688d460e37f8dcafa21a116096a45dc673468542cab6257cd2c63cc4a27ce6023100f40fed0eb373e6d5fa8f29595d7134ca3c10c0eaa4b8a76ad8292e830d0f4c98e48a9910e9ac3f6616bee08461f248bf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023043946975bb1ea9ae1761ec83d3b90e20f24b52cfdf267eae37ae26e79c1ea88de13118cb1b1075fa3f654c2628adc8040231009fdb05356ecdf31b998151c0035d01e621aeef836f0698f3460bf24d69cb3dfc0acc295ca81578c29772beeb6cc04bb70302047c435bb500673065023100b051d78ae193e506d803ef99d4d0daca2791fc3699ab185f5256a223f8bc4738149d6c2b9a97aab10787ad8329dc4ca9023035b71aadd2b749f1cf602ed18dd5386927c1c958e408f72543134f9492d1f285c6931a45a074493cd65937e924babe890302047c435bb500683066023100dcb94de228abbc25d5827dbd407b210278c1d7efbc3f97967eaa86826f2f4396f65f8587d268133d65c606cf790b0635023100a5ae894f4429b2f1a76c836bb8a2a3b0faaee410296820dd4cebb90905cbbf3208b44226cc0b43da98d9c6161498a5fe0302047c435bb50066306402306decad5e2b14d97612904460919f6b20e398846eef93c8397479bb1bc8ea28286283311930fb6c2c6f8064e427031c7f02300940d9e49531b01cae82baf5333f7f52e463b954e1bdc6e08bc77daad78f8f167f1e87911b8c44cfe1f5e9975054a6c50302047c435bb50067306502300c60ef41dee9919d0b8f98b500722cb003d5cee1652aea55beb817733b5ed28c681b7f77b79733c3e2fccb7f2aee8073023100ee3b7b069ec21e588dfd8d9bf1936e08f56fc0b8575c6f38ea7daab04a38837e4ca783f83dfe9533377b7bc3bc5e5a180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303ffb410f2c74e06c32d8d93b9ad4e2c041a1152ee95d70c700af4a6fa863849a6441f9fb745ed3c3d19d8beac60507f3023100a80753ddea01c469c148fa1c7651a54883e438e22fa48f597bf2ef75afd115ae0e510e02510c685c427bb822a45584130302047c435bb500673065023100e914a5edb026539bfb6f688eeb57568abf9db71ea404ddd14757934f950e5240d34bb7c378172d5aa37a664da4d84c2702307c98e69f1131bdb9f6c01f9b3c824d2ccef722f3eee7b6634ca6711605850a3909b9465fcdad945f4f365959f9b2e9290302047c435bb50068306602310095cd5f17c978eaa62e39b2fec6e3cc7630a327f31956018b75f86c097b59323d2d7e6d20fb43ed356823c80453726943023100ff4bb47fd22ae8772d5fb3eb06c29802731652a50566051807589a2c61e6432bc393327e624f6c2dcdec4ced2d6c226e0302047c435bb5006830660231009899c3c5f41b4629ee79c7ba71a5fa508995023e1bf87535a9390a34ee73b35fb833c28772f1b6470d552939ce6e8baa0231008b4dc06c6b0bbde99b4e3c0d4c7801030a6fb30aedb202e29932685523945ea4bedb48acfbb5e3f9c3fb7620595b41ff0302047c435bb500663064023006e5917a56b85e5eb3742c02b13e079fe3c5a5bd6b8baae86bce67e6765dc7bc451dba3d7e7be37cad4b40ddd6e7066d023045b7f74a98c9b9a8e5899d9f1d9516d8565d36d10b1cab4055e55da5be17d69012f79431c5e87938f8956e63b26dfdff0302047c435bb50067306502306538bf35e6c1e1682bc94bd73f24a90f07a5cac0b5a81e95ea9d79dd2f074d0f93e9814841f0753818fb626e11be1ac7023100fcbd81296f3e94604318a57faba083bc2aa648fde9b1c2114772c490296090383aa7c8776b1743e8c64faf5f02aa9eca0302047c435bb500683066023100a4f14dbf692578028e16effa87c028b0fc37ebd25a593a487132c7c6f9f443d63770167362a68e5c48b957b530ed1d85023100b10c222ff2f56bb0552a89b35d545f0a4d5aaaa84264af507e0be4268e61327bd3c0caed0e7be436a3954d7d423035fb0302047c435bb500673065023100950f25d9edec1fbc6140a0d1331ea58933f5ca992988c1b4603a4cdc3f8302889bdb68520f6b0985a7cb1a8ed9e785e80230401b253046724abf9ff17f6292ede5f7a82bc0d0ce88dea814cc32755040b8f3ab975ff6784ce3ee9573abfff246e28e0302047c435bb50067306502303d2e4fe5f4404b3d21fa4f46d712b50eea00a37fa16d111462f9cc72c066ba43017068d79215211654526b1e27770c6c023100927eb20c91208bcee23ca8b6027ea64d2234a7511e569b345d486bd319a760de917c47c135c1fb52938e4ea9cf33eb590302047c435bb500673065023002b3f902c7e6d32c1cb99b23d15df7cbe17473eb03bb038961ea9d9ef7e1d95feb957b81d4b389fb68a734f93c9d0ad0023100ca6ba9b79fe555c35b88746773024aa29fe17ec256714e22ca005af6543204314c5c6c83c2e1b4ccddfbb05987c91bcd0302047c435bb500683066023100da1a234b740582268ed5627edcf18358521a916160305c6362d4aeabf4314d0a84db592b72bac6e9ef179b169be483dc0231008547865263f126e3900e1d603abec143d3197ecf0e6642c9b58ff1750039f9c6acc18b9e1931ea41bebe0d566900e46d0302047c435bb500683066023100d7ebe24562156f7d4203677afdea0d16d5f2e471a862944e2df49e575efc415f24310ef876dcd5e1aee39597fe4528f0023100e5bf8f23a68fd645e86e09bc0b8340516a0eb45bda08d4f0b94366f07141141c7d9ec7ff096465f7043e3c8df2a337650302047c435bb500683066023100aa6fe4df46b577fe49ecc3118f2e1f457a003bf859a06fe902fc9ecb8f634411031a9b6cd52f68676894f278b1ebbb85023100e2db38853b46efd3b369bbcbbf306372b47785db5aa90026af7d2aee43163f7be13b88f7fb5ca73f9fef0d7907299d640302047c435bb5006830660231009215b2e815556fe8c2378b8652cc23cfa2af993db6d59b671ecee5e51e3c173fc409fcd2ab6cf4d8138c2c12d0e16700023100d2b24703606c2ba12a300ecd17800da6e32e4da5b4ac6b0c92cecb942531cf0d1e970ae1ab690ce1a303b9f7219d4ccc0302047c435bb50067306502301a4ebf7c9349e5af2619803b0e0feb4f0dd8dfade5f8ba5065621d7ac4f4700f8ce7f3759835f7e3283b758bf1d2dba7023100b9c4c8368cc5434329f12ba7dcdf45c03ecb69c474e4fdcf67fdd0ee3ec327019e895e0d6e346daf0f17dc493e9091a60302047c435bb500673065023100ad1d889a984802be0f9a96d2400c0462cd6b60c2028bb2551bd550d6ad42ea448aed7e89dac0f8894264a2781888d566023078f62d158a6b2d180b6410621b70fac4694c08342a0f2ae06e74a29ef17e106f966ec15d87d7b276c5644c0fe391341b0302047c435bb5006730650231008b822add7feb4102d4e02984b60d510172075e0780690fcc292d47a6732a99b0e5d0eec096b5d9e38991e148a33ff914023076f429cf5b6e603280f220de98769bd25f46cde3bf5d9abe5e0dc70b0535cee7f8260e822107680c0de8ea52475cda600302047c435bb50067306502304b2d9d2e291abc26a220607948bf5c9466f46f4ff954436279685c1cefd829a5800eb62262a3b14c0e64af3e0e14eede023100941dce9baaf029d9bfd210196ec9cfe4527955f281d9ec5deef34b98849c6c737ee45183849d35bf94783eb8e127c8330302047c435bb500673065023100bab18802962608fc6713899a09e4bed30a7c9a1938bd29454f1f9f11ee208a2c25b984eefce540757b610c6d2f9960d2023031d75559cb2e780c01eea0431d12362907d04367badc6eaa8de36497f602c674fceb01b71d1109c8f890ebb75eaf31960302047c435bb500673065023100bb574fb6cfa51b686e1446b8b1e5897af493520696207aa3af3bcf9642a4bde66b4e60bae89bd4f6bb60ed20d858669402301bf27617557458f6a895dba7ea50b1c36ae61486ee19e799483dfb902ba665657092652626cc433828b93c37bc2cfefc0302047c435bb500683066023100f2c91618db01dbe2e78df4a86ba3397a1eebc945545c47e31edd6acc8da301d6aaac55d0a18f5fd17a5c0a0e83446efb023100d14455d491ec720c7921e76e2489347483d2627375df282bd3e813d88d3c709ff953d9a72cc310430b8b90e6f327c6e20302047c435bb50066306402300e15787a2dc6fac4e61c217fbb160c9ea2ae4145386ac74d6b0e3dda8914707ae553454099f2ebeb8e1dad9aff0d061e02301b498c3d84a914edd031070228a66a2c11e1ef9288f03add8c779f6c247f586c459973125ead15c7bdbb5c7a0e53e4e40302047c435bb5006630640230178b1f0b1b12e1554d1bc5877a01abe74aef79774615dff5651835f3196a1923e7f42af8af5a1533874968290555282d0230157d2a029275511535b0c457b41c8b4ac291b8286bc2c36d4b1c8323738f0fa4f823c21fa506a57f65b2c460ff8fa7ba0302047c435bb500683066023100efa14a838775a77f7534ea959080b52f05729e6efbf6adbf4d8524a554932eec1c14b3ba19b42ddc63ae23400882f5f4023100c1a0c3de6672eac9de053560602ad5c2c211b98bea9d4b4c3ad0d38541c5f32d5f2773e0ab764e0297247049e444a2200302047c435bb500673065023100a357c1fd4764daa46fb4b3c8acba74d27bf195c38ec11673c8da69c71efe91768be87b218ae5f933c5c5730b4176e9fa023043eb5cee52164ac8ae6fa445834fbb81f4df8a52cf1e6f18dfaf0983512a88a4558dac4203d94b614ac80f5e2af851b90302047c435bb500663064023063a339f4c9295507c82f4da41feff835a0a6ed45a2fe39a8587f1101f4957ad65ac93990385fa1890db2450537bceb8902300d2d45bf2aa6eb920368834b1adfdd9e51bf62f03ec1387fbe69ef4342506b7cef3b3811de5fb144b01ff5409ddff1600302047c435bb500683066023100928e31d58b6772462fbc0d7b57a42e050f7c968a020d1b3f5f59b20ad9e3515b2da588ee7ceadb1e97744ea7d6a1b6c0023100df5650c9ea0a247f37d78db9d5f4a8b0769031d73483876dd229096bf48100a13049eee510c301c2839a80cbba30c3c70302047c435bb500663064023022afcc798da4d49c699ec4b8cc9f8e9f9959a077dbcb5f8284ea7215ec7a9e971c8dcfab798bccb8b1fd9d98d58ee5f50230317d913e174592910748b30bb30dabab198ddfdd29923e704b688ed6c9ce39457c13b7f042cbb7aa48996637e259fbaf0302047c435bb500673065023016c6ed822f522465873961928beeab9245010ce4bcb9710b98a9b4b9514e486d44a7740f27029746b15602e5090be38a023100f8080cfc19be820e20b443c3dafee49e0382f99360072593ec1d4f0f93ef8515eca61a9f3d260f979262234afdae19950302047c435bb50066306402305e2b346535c47978eb83ae9f9b82167c15596fdf73ae369d131014f9261671583670c92bc6d71be3b71ac2ad99b2bc3502305e26571255e73fc259e074a0ed3e61acc71b17453b241ce77de29abd25b9646328e3afd69fc279e7a359c2f37bc4f0d00302047c435bb500673065023100c0ae1de897bb751181a6900239a67ee2f9e7fcf88b21ea35186f238cbd5323d833e240eff373a773f06a002bca85d66b02303f4c382a631ee69813ebd88251df7b9f756dea5e32282a9bbc1dda6137867316522e17e3b4b460e90d6b3674669f9e5b0302047c435bb500663064023060095958d9352cdc8aee6103ea656add94f05968bfd77abcda467d16c595b39966a4bfdd1e3e6de41c3c44cb59c4134d0230743c19939ecc51d6e39bd84cd52173b38970c6a8e233f1838af1f040a734585a614101808b2e8cdda5f4862e10d116a00302047c435bb5006730650230018c651823c9428c049715a2e8dc0e108893af8ef23f32f21f6267db73772c7f9a7c8e67cd46c95317a609f1254f142b023100a2c2b7913eab2e3dc72f7a89f7fbb961fcc7cd4ff34d442798cfbd915c7a26327917c294df03b6268715f6d76e61a0bc0302047c435bb500683066023100a6bc337cccaa7803e2a4536d919b3d76033440a92a3ec7e7bd6df9d9698742a66b98f47a58961bb0438a316db21736e4023100935859c924154d5e1e748ed582ee38f04126efb3d2dacb4f6146eff8342b2016ea56dd06912cecaf46ae191aad6d35a20302047c435bb500663064023024de5e34609bee8c904834d4c205e789df3e04a95914c3dcbbf6849eb735301abbb35185a6efb8a2017355e5087760a402303c4f221d91aa7110eacdcc83e7e805ee22f5ad05f1fcb4e46bc8afd8804ff47939403547d0987a06e8e71d9e35f8f4fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bbcd61494c00035ae36ac76c2b07200d99ad8e5c4a960cdd7fcc60b67313201a08308bcb8f15a20741acfb11f2c4a2f10230491fa72630b376533555c14e422146c0076cb9463c8415a28d28db610785550d2a854f47bd3916c1641247185cf97e8c0302047c435bb500673065023100b61700678d455bd909f3dcc9b5a50d86092fba17d27c1380796aadc418d701fec6a76e08e455856fd0e0853b1e9da6cd023078ec3495b30ef9915d62f2814da636f919bcff290c2a9e7ca57802a9698d24c0edf6b1d155bb93b895d2ace35669e72c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302c0071928c20ca5d74dfd9c1d9ac6acbd5c8dfb6640eca552c7b95b5d4cf348ca107d3d269e9a1a1cce7bccd7d6f671d0231009ff8da729cddb4efa55f627308cb28a34ebeac679bab7d35080eb0367b16e716792b3c3f3615e33c178c2d5754865bc60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023034375401f17039ffb35d35c659bdbc8a4ead498634a112f7f02c3ef8eb50263727168c2384e656155eb682a6920a02d3023100fabccfdb42b78c5441deab57fdbe32b1abf793bcb8d5616aab992b975aa1a37cfa38e504abe2ffbd964518a47c665bf00302047c435bb5006630640230067b15fdded77f56c80de39e35b3e7f89f2e703a3aa95c1613ee5bfe16ae9a7f9138321614b357d3426211cfd68a164002302ad64bb6fe4646639e541676580a315874d4fa87d941350b273b4133855fd00e9e58a48fd78dec8d47717aa25488f99f0302047c435bb500663064023023a5468d682013c9f023398e4c438c1a74277fe5b6ef9c7455490a69ab23e6095d3002ea2a37f4e3809fdf79f7cde1d502304287cb79d3a1e15adc635c71d5f35242abe8284576256a0c95f1862f7a2b1d50e60d251c12cffb58207dbc70448bcdfc0302047c435bb500663064023000b3a0da359ddb614eacd7c5a296694a85fc7a4d2e3e71d8618ba8d4601ce126cc276bcbf485ac8082602220f7530d5302301192363a4cb8f454fbab21ecaa4f0bc57bd44c82da65e17a9e2a504c62b70aefeac7aba7d16e0d14321ab9153d021fa20302047c435bb50068306602310084999310ad72347d53d7a54157f82b0a755be6f3f263fe2216c30166078fb14fe0e3f01e48a7427b9f043271b57561f1023100d12a0f80c0f1538df2b75e5ea2c0418a90dd1984034a65b27adf833f15c1ff3dc83215c7eced90dd8172af56001a8dbe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023025df1d6a5fc398fefa38ccdde424a87fb872a76e5d72b443bbe7d0329b5a3347c90399f7b8aeb053c8e4529c6cc459d2023100c88a0b833b3d2c8e5960f6357c358cf3104c0dde6c52e47c9df30468651c0a058225a85c6cfe7f611fa7502e86e5e76c0302047c435bb500683066023100d91b1f369a59a4f11f43ff3f3e7d3b32c5963254165f36db6b926ad0cc49f6ea78366f3710c5e00153f462bc8a54fce9023100999f2e4a379231edb72cbd454b6cc0e670f9030148e21d2602f61e5aae70dbeba270da1d3224ac0c33af56a8db17be9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100856dba80defa25ee8c07c90730773b8ddeb567099d089ebd712a0528ef9d4e878ed46f6b3300919c4a2d7f51fe7cc74c023006f2a4abd1e5c2258544bec60f9719a595200238e9fe5c4c10b8c4a65b4651f26f6b87bbc4f23697286bb3a28753425e0302047c435bb5006630640230670d10b72b6f26896768966e87ca13332de3238be5dac1598ed6a051b912033a9c908ddf29038f14a6b48c874d7e7fed0230097811d05a006cd932ed8288953755a2f7d559e693c2ec8e583a3628cf6aaeada344a0fa3dfaeec4f4b52745296f56520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023031d533c8d3933b576e21d9fc97aad1d97a6462db7d085db5e861e7aa07b6dff3378032ac314da9c8502597f6a900cb1f023100ae9f91dfa9d127dfe31e7a83922a64eaa4672948290a78a1d97151dfe8338035a3a327e0556c15bcbddd22f7decabf1e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023003765c76bd27e3b4f67931aad915a1dedf5c350cec95472757d397ea62fc7571615bc2d68eaaf11ceacefde64caddeed02300fde27e9f863b536974147baef037e04d1b1e054d7fb728025f83ad93e5f13b6619d023c101f934d8b44c4a0be4b6a730302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023073210b2f653cabef592fcc27f267d4b1ed650f9788134e21081b00d5be789e5055855aa76addc72e5ac749510864fe6b02303ac23e7f23e5974b690613a971aaa70e78632b370fe41fa24639f98b04216b4170d5225016b1eebb52ae282071aa3d780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023003929ec522e7f90b047fa8c28474d7c194ede856c4d54255bde11ba9cc68a4e7bca544eb707c2e216e148df25bc586ef02306088b7199f492f4b84d540cfe8cb44e6410111a56630514bdc896745d18ab303987b8c7bf03671880390adab1460ce180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023017ee2fff12714b067f245f8048b59673678cd24b7bbbcdd9aff814e564b1f93dbe9c348b76f574e96a41ed18d06da7c9023100c9e6ba956f684e592777e8d3edad7609d16f499056a459ac8dcf60c20327f85afe7ecba88afef1f75335612793df9c0e0302047c435bb50067306502306d1666b84ffa4807dbbde565fe22dad8382cb03700be8422c7150f363d8faa5ee2ac7f59bdda3286f9c8c40027181f2e02310086fe853d921c20aad0e4f7db261279d07c9236a2fe4146da7d6dffe191dbfa254e2bc52f5fe1ddb46fb9b9ee2b127cab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310095d4046dd93d80e5746ed2d46232f367846af69225575a55076fad43496ad2f7c9a8f9710d3db7d86853fc04772567ab0231009b351e3648abfec6d56fc8b6d897823b49a7dc231ae902548733978210382e7288c47de549dacecd1e8031e1c503a3190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306380f985ae364924467624f4bd6552f5f1e0e2a991d95461bb4eaad29adafb943de22ff4aff5e572ca19c275ba1385e102301d885ef23391908389b88b90ad172ece23450f26da1dc7a2be61531bba37eb3aa87c4dfd3e98b7c4ba742a474c13e8520302047c435bb50067306502306cbee1edf418dcb5b42310f5c800d25162e5d55eaf1672f791a90590b5e0ab379c67a5a0a1e28f646ce7f3c0c5427209023100c6cb8f13adc9f9a8ef7c89f9e2e416df7ba3e549736f7a8e5becf669149e5ddc8eab749a7a8e4c77ad50cb298f9c05e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023044e16324f3db3326f0566e1d6641f6dea806ed4f773628a25b3a131b93e102f638c11a85909dd41164af8d2e57e9112a023100950f687c96799c90c1114f0d609ed1b5db2feef18fc5afb2481500a92a97e94d985b819e4c0e5af75aa9b402e3003ff00302047c435bb500683066023100caae57d697b2a4d6b2fe2defae81f85bf7f1f406a8a4ffcd8bae340c9362934622cbbd833e792541752ee6aa0a2eb11a023100cc47290e2e9f8d28548fa9cdf132b8b8f21fea34cad6f5835acfce8925e94586fb4ffb1f61116474c2cf334c1661f00a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305901e626a3bad46f2ec9d130da02e4715d166e5d5fe051b07e67a8cb99331c17ce3bc6027c1bcee1637a5ce36b9e42b2023031cf5d48f2081f584e6ac0886643b618b7bb31a3c151ad71a48ba76a0bf52970b8fb112b669fa383616a12185215810e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304dd8a0c2b0b3e2d12dfb1287e13e00f43c23d06611e940bf0361d16337f4ddc469040d85ffd65ca236bec4248258f266023100ae1f83b316666b46dd265574ab6b5d7fd0c6af264c9cf0cad1e186c7af7b2d05b68dd04df30808bd4eccf1bcd8f574bb0302047c435bb50066306402307714c8516fe5fecc2253c3ea2aa2cbb3f57afe7fb07ca4a05261f871bc3b70660b6f85b7ca2108ead6202dc9405ede9102302add98ea8c985f22be1a9221a5d160b8caa7b390b94e7f6dbabe779395c139e2118bc7bbb1ef092c9fa370cc840898620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100db450c1596f19677350c1031f4088e284fdab9195b0587f76f7496f9473505e754829b850b2efa872dcaaaf401bdc3e802307bee676dc8cf94da966f18f0e09adb3456e78c86caf055ffc9a27caf6d8d8f590b986b2720dfcbadbffbfed73278855f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100edf03f9c7248760c50ae1a5eced0a690c7218434f1c7b7dd93dd6713240359373c5820572e5e21625645c6b654216bfa023048c89612e7edfa1a055622328e5bbec5ee5c9b7c26808a9559f08d082a20f495f2903392ca6036940a8d6756f6b81cfd0302047c435bb50067306502305933b1fe6e29eca23771f034fac964037783bc867b4132c262539badc9cfd56be67d054e8370e2d469b4962a1bd7730c0231009aae089fc72cc94a0e7a2c7bd855c6a9522e80ea9f6807978a45bff7e39582cad21718605b2f4af3a4f251db077b172d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100868e4820f32df6db3112a3bc9db58520d46f9e41e227b4dba8485eabdb0c39605e19ae5d753fd9acc1dcf18c7a6e85ab02301bf615e073450863529c5b1b78ef4798eb3915ae84fe59bb7cb6a8c70226713586587b0f08e8455241999c5da4af26540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310094b0c99900865a106df007e7067aba93428ca5529e5a6ceefaec79b2dfbe00d4d82015e883839173f915a52fb631040e023100b43cf8bff9252bb6b9394ddc3cd3cedf1ce91dd63769f827e27c8aa1ad8bd22b3d23561ac8dc648623d57b2ffe3833370302047c435bb500663064023063eeca0e6bfcc7955f8888988c3d1291998c665dea185174b50ec86d51d7aeb08c2bae637024fab3ece84489f15932aa0230370e295448ad9e37f664e8e413773324dc9ead14c1434b3cb93dc72fd5900e1c718a740aaf437ef8442a5fbc406344ff0302047c435bb5006730650231008ed85ae760d1cdfb928f4f7ec0fb2c3f04749d7f85df009d04d3379bd7754bf14ac9e6ac2cb02a78afe18a05bdc7eb48023002ec4a5f5f8886f35c474112ee1379927ab6c0728287fb79e1bec1643524e0f045bf3704108ce58cfafc053634d328320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a25e10c6119d8ad9fae795e74cdddd0c635949724256a7c44a9f8df62d5750ac062661ec353eee0338b2dd118c424795023044fc1bed9c1ec663276cff285dd50b3d26749d85a9940f8821946e8294b2170ddece53f550f77cff664b75e605d98a630302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f0415ff2df952fbd669b9813eba333f01f1b5bbd69f4594ff438a99bf04899131c826faf98e0f50ed0818ab7e8af832302310089af67c21496af0bd12d350c13407a9fcc3383756a3406085555ad62cda22197e8635bd15b644a06a075f573cbb47ae70302047c435bb50066306402305ff4d4e3e7907c220692d3abe2d12be0787dc2b8aa5ba2464d30c60b24fefd47119e3579b1fe647e6c9a9ed1569da33702303588f2656e26170fd328082f43390666e02f816fc5c17deeda4e898161d7c6e0493b0a59f7bb70ed5eabb59ed66921530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023031308e3abaeb326eacd69ed27607bea96c305a6b22e957ea1f3a311bc6079260f0d09ce751a8dbed71e6072fbed5a30f02306097514affab0bf91d2b001ef2baac294757046368174d60bfd63b21d342e8bb6d06557cf6c0e12597110db527b485250302047c435bb50066306402307ce8f4bdd338c0b7852342f2d32614ac49b19334173183c138e57ceeb799cbc53c44c2c46ee421c4edb6941cf3b326380230782bc68c3314f41b259ff9c9d42bd1bebd28308fcfdf9ddaba4d021f09db3d7547543b4705f5c050dd727b0aadc069680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303d50ce7c70dd0b196dc5dba7ad88bca9ec9f26b4b78222a7984afaf2461f7bc772172b57792a7e70fd0917f4e940e51a02300520a1db25f7cbe126af3b217341934836d2bc98320eb349451762efb5c1e31835920f94b1d5794002ddb47d11bfcd460302047c435bb50066306402302a24b13ea959f9738a540535c9f4667bd2c1733118dd46b1e8d8c383b80133d34a76b05dbdb9ba0b6bd9ed815e70f05c02300d31c7c49833e2a5907fb5353778df1fb49ac3dbd658343aea1db39aafb269b207ff5699f34cbc78905dd825988095950302047c435bb500663064023020960085850a7727dd489d0e5c5710b24031fe26747764a8104b872adcad7e5e8f43baac965e58b5f1da6567c991758402301081d9a10bd27f323a4753995cc4fa7fb77c74596d63987a3292c5d64e04d7f20244e8a97955e49991536b5c77fd32120302047c435bb500663064023064e982d95359bb541218b468681f2ca5cc1e99cc8d6c789eaff2f0c5d9d9063223d3ce8dd152e17a27213cf5578f740e02302e53854984483eaddeb7b2bf7ae52b9f031ea4caa661504118b624a2145c5f7df1bd72661c3b50e759b549073ab5fc9b0302047c435bb5006730650230058bbe506db747e76bbd988a439397e1f783882f3f7a25c44d184d91c79fd18637975ec8844e6e4f024eba4d7d6a2ef7023100b5a424720eaadf801713fd3d130cf1e5310ee8b2a5e4c0b5fa620402aba3cee44a0eedf7a6480e4c14294177c5c58ae50302047c435bb500683066023100ab8a3a024159db200c2d8d902e518c735c713c56874ebfd4e94785f8c0a3ffb7ec5787773f966dc4cc3ad1627e70359b023100e307df2956f5a8d66be5529584fc2313a8a0715471a45f3c3ea1c501091332badc8ec308238971883df9561485992e070302047c435bb50067306502302f769654d7d731fe69c21dc74f40c209797848b4c93b2b930210779df632412cc75f803a9b2ac7a5bfe44d21047258b7023100fddccf8733ba95dcce67bba6f6ccae1fe8ca1b9a54517ee00b94629d034b40007291de5caacf4a855bc026585eced9a80302047c435bb500673065023100ea1b1353cac02e2d74b8ecc8a4b69d8e8c42f9381076e2c1895c35f40ecb983be0104899beced2dacd6c3c5fe7f6cf3b023078a5bc183f16ce510ecbf057b46f136c84c13afaaf888fe15ea2b0cd56ce8f5c2ad025cf11fef41e711fb0a936b1776f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303efced3659c6df25779e73f51223eb933134a215ca550598d738223de4544563f4d3f3dff6ae35df5e383d0886df1fb8023002c20405fd2432b06410e78f1d63acceae2b9f6e147897df83baca6ca6c2e9ca236f6df15cdce1c6b317449c82ef9f050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ec7b8a9d85a0eb4d33c5aec92b56152dc7ba3a879875b6d42bad4f30a6efb056b4deff84c85d85fbcab180d4142d4b05023100d12d04631c102222316d9591665c6152d844de851f9b33de66841d83d7d902e78cab593d4c34f8041c391b672edc8c9e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305aa6aaa4c1f7925351be0b47e053861d6d3fddc52d39fe455b1f14f7212ef013cd742ec4e60324d94090bf081ed96a16023100f19eaea501928a8ec2538be0d35c6e4d3187b76354ae2cbb501eb7db90d27f4a3e6cdc44c0f1b719fb505772f8eeed540302047c435bb5006830660231008050c2b167e138dba4882f268b80e745919f90a589db75c3ea81784af318421948b94c31037eac581678c29c03a9b704023100d9d32ecd02fa70c75a2f4a591bba03f5fb77eaee5fbdad0607ade0000cdb582f82310b4a160e34db702539c58b9d99850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e29b90f73222a27a67e16dc3ca735bc0f8be17a647c401e02d869ff1b9cede3862a2a37bc0089ea688d198d3d90de105023100dc1ac4b946393b2e93d0c6da94acfa1d2ac52bb1af3b7cfe9cc9a78184f08de22ee6f81d5ea4e6395578d6bb7534eedd0302047c435bb50067306502307d02c56c8ca27737ed716eac49af8913bd8a594288303efba429c4b1fa4cf470bad00fcf2d893d5f6bb56453d87d048c023100ee0a4789da229eb2f4123b643d55ff043eb97aa960c904585734c9b2911e7c3b54dba0d07a8cf4a2d252f5f72ef2f77d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f2b753ed9268b2473659a92daf897288552b08c1d3a6cea2deaebd454d97b54d951657359caea4ba2bb39cb96536bb800231009b4580b979992e5cd72f302675355dc9e295270eb5b9638c5753a3ec1322c4a8a5a9a36c02ad9cab31a6ee822e6c4ee40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023001c0bdaf38e1b43e465c614bd430d2ea611fe365b9e7ed68b0cd961fcafc6b058c03250e1461c6a7327b436b01be535102304cb4006d9995daeaa14bcb46d05d1b1cdcc4b55d968830d8f6a1a8b608077a089817e8f724cd61e04b8ff27aee73417d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023015f531e0b9fe8e7727a7b88a72615632484ed103a30b0e153b49222068c10e1c734e084d70a432200d658046784cb187023057c699026b336f6dfa96023e89c48c6938e653fc32a59dad9d5d506da4f0f725aeae07a4f67fe3a5abb10d999dec9a940302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cc535b86666e2091d32b0cad12870fa2d5df17bf02031502b4dca8f058b4066f2118b8d3d49d72dc136bd40a277bb0fa023100df22465ee293f837fe5fd508d1b1a9bba88b339ba9e3f1ab4f32ed4f075f9622a380087187b501f31cbe90d7c662474a0302047c435bb500673065023100e4599a2bbc7ca484fbcdd93b1d80143fca1b1ede39e697d1aa1a99568a0e7e9eafe1a1f954b828800fd041fdc577175a02302c14e6e011524232c81c5b2ed595d1907fab06f7eaf329659656991bad337a36f33c0506967ac191e45a561c127d9bef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306cb44434366bf6c38c95bab5fc7b9019224ded4bd60540a2cacbb2ca7ddc799b58735b4934635f93d6c61920acab9de7023100f7d8dd8b838c4fd291657ff6bae69e411674a2664c5cd38e39a5213bba740e7c5db400ca91ea63cdd16c821c4cfdba890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100daa35f01ee697fef7ebb0c2091e429991f6b5b49aa562335b3e9404731f313c7be2db65a5d06e860aee73664a4118d4c02306edaed65dae221a3f1af7491d87d5aa62edddd682793ffc04749f3667b384a190526667d8061361f075a475ccbc9b9dc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b8ce1adc7f3809f0b3126bc668bb71bdd9973c31ac4620a74b6ab61ee7cae9571b7c081f7d84b5e65e075a6acf9f133702303a0766b9da845c6b9fcc767c68250ff360260045b98b2d4bc8dca1e83c81b8a7a221256f170ec8f9bce1cbb34e21a84a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d0bfb916cc3044ed8fd70c3b46f66b4bfb76a787ee48ad71c715a10e7f5ad505fedebdf5aebc63a7a333a990b877ae19023100e14bd8956666ca7642f075466e34a4e6a1d3a5a73009da3ef5868593353a43f2241adc63dd231043b4748ccf84a55c5f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009ab282aa38d44cb4a1f6af427999ff317f9d0ac9db656a39d32a17e6647093203d0b6edb51b27c80bbb6a9f469987abf023003f1997a5a64ce36cd94bf16617b8b07d1ca9d6689b2817070feba48707b57d50b95a01266de7acfacd2818b484032310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230252ec4215e44c6f8bc67f9b82f92eee0a8083a32679d45d72542bf00f3692f6e832c8965821764ae84ebb255e1f2df0f023100804591e89d0914f459dec360edaa978026f3a428dc4d60717ff5e40ab98a1489bfce435f2965acb85da20d24b18e634d0302047c435bb500683066023100a78bcba67af11b18e6ae152b787e86fe4d3438494aaf7051569724b438a46916ffcded4c5736309a0082fea022980f8602310083c2468d5bc5651fdc632c259b82e8825e36fa8a261c61eadb30555183c2888d4ef27687a9862d0dad79d290b0b9a5520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f8a13592d10a06103d1679021f98a6d1a2cd0f654dc344592340d4120bb5e7cb196cb8118d848e8860121b93ef4f842b0231008cb2ad4e2f165273602909259ce70ea15d812ebae2d237fe2e5832dadf86462ce703a832721ecca52d0a1e0d8c6afeb60302047c435bb500663064023000f109f5c165a579543bf5f7fd47d0e9ea6dbbacd7ba811adaf5d33035025b0f090261c2514c66117c8c7c74d8528cd002303f5fd08e027a1d990c0c2e5c5f55641977285b0cf70aefad6f280173ca22aea565bc2dd951e3ad5e5034d6434754635c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009b03bb91cb16b95df2af3f2c21f46d047750daa447499159ddc0d6c6a8aa714027ac35287aea29f55fb6c63f22e49e2a023100a872c879a6b34f5feed595ff1aa15e88fb77d7d40c5d35dae90f20b67643de3454b4ae7009ab6d9399d70d4301c8ab940302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023069c4403dba77351cbe74fa2ce88a6f55dc876c633219442651900858da16c935767771ca73e8f0919f482f3667dd6e36023057bb7e549464111910629e494503363c4139de39c43645fc8f1d3375966c75373faf0668d396c697023db69463f5028d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a16dfd20d00d64b98e9bee564d45516c0a751717f62a8d1145a4971920675082c648cefbce6f9b8bbe16d0dd23c4a2ae0231008eeb8a354d7be4df7f4e01da233c5e3ed92e3528170ada17fb40c79c51ef42a94c8c556b6ab1ff53fc3d062e483b46e80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230486e3b223cc8fbde300af008b163f80cb4a898e67cbfb84a2f54c14edf62e549832654ef49e257de5f65fa23a6e4cec90230482cd6260c1d86b86f37f2ff5ed444aafb3f955bbc69306e57ab071c8df7dce9788e4411fdb3f92f3ae1fbb62ea9eac00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c8348db83662e61c970ea4bdd8fa830746ea6a8ddf5e641dc97061a7e1d66657be55a99377f11a9787544037db2cc1a302307aac332820250ca12ba3404d558d4d26b0e9336da8eda1d08d0df512bbd7cc05e21383c314631ce4fd0b400de5965b8d0302047c435bb500673065023031cdb405a77f47303a894b7254eeb7de723848781fc002c43a010e6af0becd165174cdda4a470c7db7da38f0a4ff00e4023100b674ac93ab269aebb265dacf986ebacef87bbeb46464ce925e10aec5d6616baba0bd9586c273175567b9e2738ad42c460302047c435bb50067306502301238d92cebbfdf25344db8e1af0d3b8f9eb7fbbd146b5953f74ae5ca582d3d073b60de388401c6f4f11ab20214a1b7f3023100a34ce5d0efce03f33275df6bfb040ea6672f9089d5d9135e9a69c4ffcbe701293a66fa73ea0a89fd8901ac19dc22aff00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302d1be0f8ae291c2cc8383bea141a18faee3b6a9d0ac4ddc9e12b1cd055632255c31ee88711513473375f1953e78297e802303a4760c579cc5df49e9595767c6365e4243cde252e83b0da6eabddd291ea2eb2beffe722e787c4f2f351ca486223c8ea0302047c435bb500673065023100caf51ff1d9ade588f8c14b5d18dd1d88042996ed2240178bcdabb234e8a79630969b9672e9228c54757135ec9ec17a56023001ca025f1a63a493c8d2ed52dc75802bcfec614653127d6f4a1bfd9f216f85223935f9b4ebcf88c74b773170b2a754df0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b928f7956963a2b9a6cc6e7bcac582aed248101187b003e4ce26af6d6ee6e09a071fe78917bd47822c09284b4d9fe288023100b4605913fd455eba489fb17638cd2194e28addd930ab660da37fcef29f1aa7ebcee2a6720e8c16168150aa03118db8d40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fd9847a2ddaf5c964bd238429ddc5a4568f14cc26efe9d6b884f48a48aa4b540b00f69cb14891c63c1e7bedf34feb83a023100fccd189e1e6668e2ad4da0ecee1b040021867502fa881e702c130b182eba377ca3cdd7b69404e661ccbbcf1a906c71eb0302047c435bb500683066023100ed82a1f999c90a70e5d09a9d8b4bac068896b7fb753dc2fec634cffb0fa690b456b19d46059b67cd4ea1bb2d7e434e5d0231009d8cccd347fa36015e4d84fe0c8b60163e918cc9a73f53756986114e847242bad5452a75fee032e41c0cb3a196d643f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023072c15fc83b9391c5e9d8245dde64ad60976a22c929a80141d855b1c482bf76282c20361fff45e60ac5f1624e37ecc0260230660f02084bc7206ba581ec992948a9e60b1c86d9c96aa6c5b537308d8bc691eef4ae43591a87a2afa25c24bf2615a4080302047c435bb500683066023100cdab5feeccb5eace72a0fcc9356e330fd4fd704af292eaa961d417231737b6bab29bebcc39afe906ede45912982b9219023100eb64b8f07c71d3e83458aa22415f31f15e4a031268217038cd419685324d9975eb52fb9edaa082a0eb53d5520631f1860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303e238bfd804aae7b90f1b0b256a16d75e9ba1893beacac645e9871c7ad4992ce95eb5c8a3de7586272041754b403e15e023100c7c9489c216739423383a13ccf758f05f45d28ccf586bd73ee31c2523c77260d10e7019d7219ab550ed4f1627f37d72f0302047c435bb500683066023100a3fd28c910ae3a5ca0e5c513049e8239632c05fe3658931469748a2eb2534a3c8904bd219d1c1e3f52cace159bdd26f6023100804d907498a363ffc78aebd1fc3582afb219d8290064d43b8cd90b058f3ebec17dff171a19b3c6a76a39865cd111dbfc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305a14b52ad7183cee1627a0959862ad29b5ca6ed2833768f6c01755266ba3ae3d06dbeee2da65ad9f95708a094aada4ee02310089d12c1c8e21cc2e864c189946f975eec92946a4e5771a1f106734c9070a6a794ef02df73de87fd1db0f58e151f9a39c0302047c435bb50066306402302a0b80f74d4c5e062e5708c7e0b5e23002923b3f153ffaf1a39a3120aa6c8b35eb12c2c48c7869980ca8969a56a23b170230216943958c245333f53d32be6bb49134b416a28d5a64dce82a19023342d75a3dd3afb33f51bcfb620528b01bcb7afc2f0302047c435bb500673065023009925a841c670d43ecb25096e00c5bc9932982377c2896ba3ca320706df3da37840c1821828935b9b0f872616073e590023100fe7369a51d3c48b9ae21e13e991717b85ebb86ce961d6e0bfa1ae10acaf3be5ba0fa0dad7f1ffdaca04f0a858de1a8c10302047c435bb500683066023100d4b940d669b0a8c6412158b5de73d89948988d12fd866f8fd0f8fbec02087b2577d3d11220fc8805bf10ba338bec9356023100dafbde540c0a20b7756c030b45f1e72de62ce5a07aca515c349e3d9f430ff9d33984f45cb5c89f4b0f43703ac7bda9d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f201d781c25ef0b4847080872eab227df6f14fa70f2df96d314a90e0863e19a1934c63be764d4b156e041ad56d97dc0e023100b0429010986e4eaff84d96dbe1233c883e65c6f8bb2f95bb22568b9a538d3240c489158b78510ce94672023405ec23190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100beebe3ca054cc010959549463e04f7e4abb09dbeb87e9017763a7fc3d801c0d5beaf38fde76838e29b9f758df97c5dcd02303ded81c270e2d5ab170d8961223acd1f356cb30313a97a97a5495524a3bd8abbd36e1546de6a92136a6a9747b9edc5140302047c435bb50067306502305879cdf3aa969731948faeb73bc54ad21e635071c08f3fbd9818bb6ed201bfad3b11b66fb8fe47f8ecf598f8a90dc2a0023100b8a85d4ed85a917ec234f8019a410feb6ecd965ee317cbf30d940fd43d667756fae860392958c7c8cd41029979fc57380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009423ed6e7f274a5bf075d3a2773787d18d3ad9144051ca55e535e1d222f30b20aa6fc3c58751fd9daeb7b8fd0211b229023100ac9a86e4520eb335fd367181ae96455692ffad8d076b135d69b6f9efc61f75445bc89d3a0b5c6b3993f9b4d9ff7f4b330302047c435bb5006630640230738ea60b1ca7d24e267459863e294e252cef6f8735ee9963606da17b8f49bef6b273110a0d46a4e3641f1a8dbecf54960230594efd5cfd0dea9b4d15467c300a588a85ea84cb9030779d8efb70c58ad3b58c691708ac01c409fd9b47a19ffb7b90fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307c89364594aa38cb079bcad632a3c9c330bd8f74ac7e8919fa813466c9a332a80c274afba4703c0a753fbee066f86c2f02300932f458239ddb25a585edfe31976802972b5785eb582e23c2494efee5e890181308549e13164be5e4053a6dac236d1e0302047c435bb50068306602310091bc3f59bc237871b69edf2ea4e8334264c94a52dbde97796dc088c1e8170ad73dc9c9d2c287368b666eb57d2d7217fc023100f5a6d6ceebdc4aec7f06aec41e4fe7156cfdb3f9539ce4f6a5773c3663115a52f11598ce9353c0c6bc4e43f66fd1d4d70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f9fd4b7be02ee8e2dbf548eca1795c0bc224cfcc4321a20d17a34d2cd379476c1d6f47c34e988ae3e004d148286cafca02303f25b4a270b59aa29d6cdb83de3ae9ae948a4fbb00c54d2e78b4dc91b302b53d6685c8d6ac9d307c8c5440bb3ae374410302047c435bb50067306502306a57185c89ac4b1a0c254483068e8d6fb76a008bd05229d8dce4a5b0e471d7036411101e51b9d2c695d190825bca7afe023100a49330b42579b7e72dacdf3106194398961a92466624a05bdfc4ff7e3e4f7c7bec0b958967428b08b7336fce611fb6690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a1ac04f6ac0d10df1dbc13145b8457e93b64d884f83d9d1556e0891d861251ec55b424a67d63ce8413dbefd2c9352b9b023100b7f4d120e5c741a7c962dd4d2c9ec92e31d83636775c1253ef3c826a1cbf627c2e2f77ed3a6dc7496290898d0fc35aa40302047c435bb50067306502310081ec8894e27af4bdbb1e324a3fef8513b16b269176d727cd71de796aef96a5ad6319f8bd5e8bed0af479ff51ebaafc09023021080551947f8a5c11edb1294c0d9d97f35175b917f2eb9b2b9a176b9b3104fa675c8401a89851a306202ddd83f099420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023021510effa1713a210aec3e67bbdf0c1b7c0431ac504571a0fe40a5aa37ef93a1cf069c3df7909f32a78ba22dc6e5eaa602304d5604619b8f2d6f6f68e08fa6a3bc3c094285a1565d69abe942013d09cee8a3adcbb1163c45929f882b5a9829a29a4c0302047c435bb500673065023038ff54e65616dacb8c17fbd92f39ac02de39aafa657a55a65ba23165fa3d0160d96b609beea2a87902401789b50c38a9023100bba29fc9294c8466b4da6156c7268e96f6d87859d0ca31793e5fd607cb26182d286d8b4ddfe39e9d7b6e0a6b407c34ea0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009ff65bfb9d13ff681dd7543385060ddc1cec1475ef92866a3d7b3790ea57627c74bb2280c28a05b1886a2b5de51d14df023100cc0902e9d25b0a1084ecf5d0cd6477dea5264a06a1226db1f299bdd20d6968ba4a282887bfa0db536520747bd86dc3270302047c435bb500683066023100c64c963b862289e93b87edf367183271bb1a1ee465f9737c98c93db1b18bab89b254f9c5775cc440d8317187c1df4da4023100acc1eca2cce18fde12b02de057fa8fb2b3c61771346d81461b5e8813cf16f84484c2940f3d927e36192ac1b49e63b6a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d3887141b51908a555e10fbf17dca2fed222acfd329468859c3685e9a99994ee8d59f85ad989896827761538ba6dea6b023100e80fd8c42ae18e5d3316bdf2ec9efa5990c2387ed9b5d0c6af0328d89f0b5e50cde54261d647885d438f198f1430b3360302047c435bb500673065023059b5b1d7362ce115a6068a61b87ffbe0a7133acd6b196610724ad3a0f02b2c0feeffa325c23107d7767a27307d4a2762023100be6ce6a827b681c0b75e2de569c898e4a85be7e0e1bb6101c6616c991158b6b5466a1ee5b3a4939871e0fe186126c1fb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306a8b10a3316d6005f5971d0d3f9e298f5fafbcd12b35c5ae987175966d81c28e30ecb99d260e939fb691a3dd8d4a115a023100c80686026e89219b5d767a8e2d3c3b7757c5c0edafff0714f700d8b2ee4f49f83ff646cdac499c4e8278ddf2390f50e20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023061e6c6d33a0e1208f0b7897ccd9e7287c3285994b218e2314d8c208e8c6e2312c87f14f67751064b7b607c1b2e243fb4023100f15ba5a375ed40aaeba5aa7096e4f8f7927a385595d366dd8dd53bf38f431d191ca70b16f5dafdfc36c23fc35b693ef20302047c435bb500673065023100f674e20f7586abb8da9274539b16454c6d072fb0478d4d763ff00bd89257728a2df9e580692d547003a5d22e7e4a327502304bc4d5b0137c4c6eb0996e019ff92727617b939e04003ce14faaad8952aab5717a5721e239d2d18b3525e8c23f48e7fc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009f2a23e3487ea4c8204d959fd94dba6a05678fc09fbda0cd8eb18cfbc1fe3470544314468c778321c8f6a737e2a24c380230797609cd85de6a3fee747d2e1d21b795fd979598176b94d2e6b7506af4ceb78de1352e556b03bcb2a3c8a874f88e766e0302047c435bb500683066023100f1e7c1e43215211e8ada57eb9d89b04995cc411a6821af7838791a96fdb4d9de208e16d442dffcda165d82999a07fa70023100b1ef4436d121707ef686597ed18195cef99970ba80bf2c27344c39d40558d0c2b205615a13f7513a1bc1ae7ea33ba0200302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306472479e90a767ede5daac1ffe66fdd487c88c5dda79198512f0a851b91fa0f71a8bc9e9df2a863ca901e9210f4046ed023100fc08736a4286fc530827c2766b8027d418bc1a45c2f8cf9e2fb39d388c075694a76239cd8a51e2920ebaeaf2930352070302047c435bb50066306402303b59d0d9bae73ae2693415a7580cb143ecd6bf251b7e0b1f66124c543e9d050ceec0512e0c654ed66074219ef5c83e300230430641a54110e635da3bf4c631e447039dba3f077d676581d83f48a7a10f7896777cce842afe8b5036890fa8541c445e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307282928bf40d485d90565803eef269e9b80b17ac32c52e8092eae59e0f127beecf00d3d23cd312cb593699eed0fb2532023062d8b5b26f9699fb8cb5e0757a65476669f0433d59c8bb06a06ce1d0b5edad5569f818710d943c74b89c3ec3e23ba0de0302047c435bb50067306502300911f95be07e3508e14f2251bcd554a91f22a29cd518ae2888fe55b7804b2c6a0315185fc46245e129726be9537cdd89023100d6febac303eb9610f65f34247b982c22de68a4d800d9c16c9289238d50b66a1bd49701d68ffaafc5000a6c2a0efd76440302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304f312c6999b2cee4b9d7a6556cbc302b27ad561e28ea5ece40b78421d6fe567d16aad0127daec7caba518fab3ecbaa8f023100805479a94d9063db5fb0e5d7f313acd4cbfe6caa77152b85526e7cb338b3a5c26db7843b529c83ca665d6e07c74775430302047c435bb500683066023100df176a694bac91783b68f97c0939b3610ea2d9b709f93511eb75444f975c76a3697c8d55138f527bde3fbef9084acb6d023100c2898f4e231561f71422c5aed1af585e286073036bed471294c8248fc2455e2593bea51e9e1ba572c50a7007528b8e0e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023060aaa70e17348ee187955f52509d4b2e48e30ccbbf138e0763fdb4c271835c2ba1c84f7d275cc4c6ccaa5d4e493d0f3b023100e32ada3353c65b7a16fbcdbc8fa21051bfd640cb94bf75eca6d4b1be59689c29eee71488dfba0a6bea17c9bd3c0832a20302047c435bb500673065023100f9bb2d41df9ee5c713b6ecae37ba576137bd0abbaa0acab6165edb9b1b027173b6ca710f023ede61597c6ad0e496f6f3023066d3161467d61ea05c45034952a82984f3f4110e5178b0bce327ede9a56a3ad31c8a2b90b0062664e18586f3aac3a0bb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230604937240d24251c7c195a66137731a17124eff7b82ebe90a07cdc3c2166ed9c6b3bc6b47b4f59b7b282b176915895f4023100f074004efe9462bad1ffe0521e54349d36573bcd8b296e34a6e76aedcdaf692c4f3842b7eea665aed6824db9fd647d0f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302a1cb64e00c343827bafcf4127e38390cdba8f7a88b33047707a3b4922dba54b926bf3dcfd27c7ac9bf4abd379564600023100a7841e15774340cc74cf5f05909c4e8e9d9e0a5101e0c5f7f662b18762fc158463f539ccac26d3057089002f8caef9240302047c435bb500683066023100cf745e92b99ed9e3afee88671523c85a4a4f3e338e06d56fca724cd6198f11f435a805177787eaef075162ccac461fc30231008b8652919f326154be4df0494ffe03647d8d16f1850d26805acdfe69ef9d7b22ff2824a9a1ab2419b892e5e13ada2c4d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230101ebfdc4d0e4bba61203c6113306f8d7267a02b4d4bf4354f98cd21dd8d3f655f8036563f0812ac11411d8dfc1fac0b02307c85b470db1d389fc4b7044566690ff17ae098790ac5a180b9015454417119630987400fc971cabcd570d8d28b8cff0f0302047c435bb50067306502304a9bd695a7b20559c2c26930c8d4dd00395d8568dfb67ccd65e89596432ed4a728dad2020d33d28a5824daae0fa38e1c023100a7cb5e9547cc7fd61bf945ae43c67b78ef9a19a8ab2dc95339cf95bc9aefb719b4e9ef7d39f0667e50553255a9b3aeb10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009141d507b9d468b3a3e45d564ab3e3ef9fc2c05d54610ed33c2853166627a2b54f3b23fdfeac2759b6bd356d89d1f92e023000f24682b31bbb4a74ec66f78efce4797127394e9815d2ecf0f6063831b8ce38292222ba117701b9f45a07e678af8d440302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023040c33176b49114b64d3953a85d6d0524b733c61a23dcfda2ef64ee74a4dd0c3771ff6ff06146c985b899f321937abb32023055912952fbcc68a14b60d6cbf0852f813ab3251a68c6fe8a795c3b8f0e11f2eccd6533428cdf8735620e54d5359f4fff0302047c435bb500673065023100e9f971ac3191dde651ea13e192d4190d50c2d24d2efa58084a5c87d3443944568def1fe68bcc6c1a126d1257b873f0ec02302aee293f16afd9781c5ab9c2e288056ad7e568ce4364ae8cde89d12d9123b41ffa37eeca5838da559fefff0f299ba3ce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100fa6a5dd401036313b4f15910de213ee6c57f6fea7b056c7304e2b807c40704ffb608b3b9570e0461b12f0bebea719cb2023100a655e4cc62889f2a41d52ee43ce8013a2632a4ccbc14efb761ea6209bbf46cd90b275b2332dca4a52858e783a0d63bd40302047c435bb500673065023100925abb8f10a2ca4a8924f51c780a957f96b34a685f64bf4f44aeba4c45099895b801297e80feb0dcdcd88987bfbb7b2002303f4bc9fc02013fa39d7e9b2093ec58275edf8419f43038888a5ceaef2a55d2b007e12862be2715c30adb48aa2dd157740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023040c618d46b4b1b46215943c2e7ebc569022acb05a1372f5136083deaca5d5ba8e5e75b96f5b86a571bb5e90529ffb6aa023100a97661b0c5efa636ad0e889749c17639f0fd5b717aa61327b85e880fac56ae46c8b3d3461616cc0f71cd1f00a1c9b8ff0302047c435bb500673065023013081616bae208241b921387e11e81166f0519b409246aedd12920e8882ca0680151e4bb13714a6ede8a3ebabd0b85ea023100f0bf747ff90347c4d43e1b58fdaa12af43eb3cea0bb5f6d7be3a8d6ced1c9b5d8023a90b69e9886372ffe9d5621f1e900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300cf1e4ef64f0d518ac70123ab07a77f6347fd059ffb151df37216fcc3eb4ef7b93afe106be9d1d5428f80cba527d4f67023100ef69af30d8a53d9bb266b8f04707fe337b6f0bf76ae4e3b02698d557f0672124a31b74882210904f7b3cbf47fc5c67c60302047c435bb500673065023100e1f2be2a217d11e72f81c9bda10c4d92dab0779c82d76ae0e08920abf9e10420eb0d171a832123ce3f13f3550a4e3d4902303f462346369672e790a158cee381f59d48f5d9c9c675a075912cf2bbc2de447daf2a54b94c3236b429bcdcfff67bbd450302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e69728edf17560c67ca7442f4f9080c48bdd1cf77c9efa7082b7f6d1eca98183aec37e6ef709df1430ff313ed3e2ca9c023100b1b6b54258f81bdb2da9b4f2a5478ff9f311b6a1820a24191df9d0220e713e260dc80164ba217070841908de1c3bf28c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e123c6850753cec2f48e29290245330f5032fb9a0f708c45d561014aa82e8a11159165d487f2e5a7487545d9bace0075023100877a9d7641b63f7566edac55721daecb86f137c2bda3133a4a0cf4cb23a758f5e6424397075e33c5b7593d64fcd165190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301802f81fbb967ab3c10cfe12bf66956c062b2a705e7329d438288b5ac995643b3aba5f04b788ff984d5c94cee10621b302306eeddef3bb914b333fcb20de25bbcf68c982e1a28dd5d0fda05108107ea2702806d9695b8da723c6b97ab6331bbe5fee0302047c435bb500673065023100d69dc529eb669658b679a346e850bb01544c1ce8d54789e40eb24a2b586e9ccb4245669bacc9029527af94f7d7b58ba5023051870336105e10522ae398e87a5e3369f0d0c3b26d036e830b9f03b2ef1b680b63ae2ae8598efc7a499e05ecd82151c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100963204762876e68701909f6de8364d19d85f76f1f6de3c92be78c9833fcd862b6d5aedcc3195407fa608723061e8a88b023100a1875748ac836e2a13018bb25f5a00b6f335766dc5e01376b0e4d99d406d60ad1858b04dbc9ef7fc31c22c4f64143ea40302047c435bb500673065023100fbbb251cf85ebf01421752ef00ded26909db50a6d97e11beaf85a057d00e183d5a2616aff0c11ebe5d3ab562f873262b023051f5ed5bd19766a1a7d35d57badae68f5c2d1400cbdf2f4fbeedd532298238419181821850d4484cb9cf3a04045e3e190302047c435bb5006630640230632833942d0b35969f51600368e8b02dbd51e097e20d06326730cb55e10ad2d71153835a45c888b738ad9496eecee2dd02306dd98524c345784d6ab99019e92ab77a21d2c92502d9c927d53c36d13db5a460ca78a659762247ca4e3ef99658b5b9630302047c435bb500673065023100c10fa0fc44bd1c3d6bea1b014fceba83b94580592f88b4646a419288e2d212e2b83bcf7502166fd10cda2e14c53c99e2023018759b03510665dca97f7f2322d5320a0c4736bf01ee3415b5c1a2b29d49f902ac1b2ceded7af324e74caa30434a95b60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ffdf5bfbf7739cc07156ced226e08302b577c142288bdfc7086e9b0d5a227f05b8dc307ced5c1842e5e53186c04c1e9c023100d253ae26816894f30dc9329b90f436606d943f7bc096bc5103541b0afea6cb22f4ad7737f0289d6eabf2a0bc2678e0e60302047c435bb500663064023050e89c10b56ec3938b4a3200366414aa9ef13f59e65e0b073140fded16639a2f08948f8600a827f2a3ff0984b5eb430a023005819a9031952f3d71cfeb9fb97be1437d45b6282328fef0bdb0e436dbcfb959abc1b7df4b5c04cbb8ce41623a90fdba0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303505424da7d6b98205e6d7ed8f09ea247162553427b28a81b4d36e53a8773d7ac65450b0ce7ce0fe9508d1fe4f9b9f51023062b7c51be11facc761cdd8278f2ffd4ae72e5634cab7f6061df5687eac92b6ebb32a58245b7c4d42bd480e23ae91819b0302047c435bb500663064023009eba375a01454776c07b268f6cc06716966a29427564f9f68b9c0ef4fd5edfab8bcf7eb3d7d88ad9ef49ac69af6cb1102300debd7f9c827eab228887779086fda9efb75820d82e27f3ecb988ab9b180cf7fe8946258978a71601c5415fd5fd8396f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b668b60902420b4d5b4fdfc8b36e364e383905e21bf8800db3edf5b4e5cc68650a48015e739782d143577d4bbf04675c023009e1ad38648a7fcd58a1f5e458bbb71f9500e09dc613de641ab11a72c06790d8c0a5307577cf103e447d9bce8bbbf2b00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d65e6bf438a633608684bb5fa72d33a9a94ef16d0da50cf37b90fbd4f65ba2053e860632ad46dc5bfd327963742d7973023100f398669259c307a12d675db0737d98657b032513e32a8554eaa19bedaee5ed579f38e9a78fc3512c9124cd121d4a6daa0302047c435bb50067306502303b55661e60b28bc4230a3512ae8687e4f132a146e6a1a3ad648d35724ae91b9091f1ce693d1e54a319be805298d775ef023100a33c08a6bf0c07ff746cdd15e2fdd260e6b0941f1f7dff0b9390eb1ae1028f5583c3b715774984f73bf6b25c554b4ca10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307434b47b64eba8f28e11d8a38e2aa0d22630f2cf6314d08bd62c9e2f8618ce0dbd5376792c4e5b97e9bacf7e840e9537023034a1a05c61c690385cb8a404200a97cfb33cc0a9026431f7bb25fb2ba0418bdf32751b6c14e5ab8be695243819e7b8d10302047c435bb500673065023010f7a2a82491e897bb50755a2569df693d1c3f5ff354f3c167ed60c2fee596497ccf3bdde3820356ab1b4fbe98a974f2023100cfdfc3251823428674c9cd287978c4942ae25ab35d1ce7f2b326ef29095780560e8ac0ccdc30d9f71b8ed353ed8235390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301fc44c601b72c82bc4f3cfe8cc87c31c3b47671f04345f05a2c143833f0b137845e29eb35887d5359d2777441d1da3be0231008f32ba3fce06d270617b9023c0dd6105cad6fd451d93b5aedb9d082f5637b5d96117796eef887298ed8fdb0f186287ac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008f674948966289f7e3f3a09099b5de812bcd99ce13a9ff82105241e74028361689716463e1f5895e47aade5bff5032e2023100b97d30e100ca79b130052373dd767309f0e58d2dbce82d2e711ebff69af04f4ce542f77d65adce6dc97c6d5fbfe8c27b0302047c435bb500663064023039aa4d8cadaf3d82f42bfbbd058afa4e2c39ad4ef9fea93a0882f614206ab3eace5a842d554f6c35ad4f4dab7ae055ac02300c8c5be4e425c4907a6ca8144dc0bc1565832b8bcdcbc0ebeef7d92fb84c7b29ead9182e40f3e50e54f2452719872be70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b39667f28260cbd00e76f4da931f4f1d99a995b9672f9f2433ed006e9352d2c63e1fe60dc4486a9e6b183fe4f69ac5d8023100d31f2176141877cc8508610d347c4758db714add50a3f39683e80c77529895984350fd8cabae293f5d384dde702b42cf0302047c435bb500683066023100a05b11481e7d0192ec22f5b8126b13c44d2b2ea1ca9fdb27b00e0eb10ceb196eadc3cfb52d6d848bca1ccc40ca713548023100cbdf9e3cb01f28533f1c19d0fad3495c8ad9cf2a7b749e3db8d58b32806da3a9dbe535ffa1f92050ea6113d7ae15c4820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c264a84ae340dbfc7e8fcae933cbadc8b91da17f3389679284106bdd78a4bc6ca2135c3d54f60c7df9bc4cfeb44f5dd1023058e8e51299de092793fe921e205bef95fb7842cc0db2d012155b73df5497ffa3f3f4b7a443f49795ca355e80c06be9630302047c435bb5006630640230431fdd70f4eb0ae511f55de842cb29234742a3e0d2ea3b752719ff7dd414f67182fd1e2143b7e30939cd411a67f1ce300230739aadfeecb11363b1376482c230b68f8c5ceffdc163f4d1e04f34778300836b1cb34a490514819150704b8f2862f2190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b427d570f82defc409e044d33a3575460c2dbc3fed23d778cceed4eaa18843600efc57b69072ed0079ec95539fbafd6c023100853596c2877ed83cd366bea41c3d00c68064ecde57fff5cb3ef21a91ab7da30efcc0c0f3633a9c733869a74dfc62246e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303a437700a0e3e35e2626602a8928ab35ff5dbf63c86b2dad19ce45a1ba13fe4600248b584a3a15c37fd1488893a5cb3002303282c12a9d6885fe500e866f9084320d6c967a9a51ce63f41eb116b720ef49c9562687da1cec77afb9b7ecd288c1197b0302047c435bb500683066023100c128b2446e3dc35f184fb0901c40abf308435718bc6e8628b595c9d4e31c9ecb8dd7be552e925ccd2147e5da2e892c500231009758850cc5611911463eb6063b7fa4d1f3acce1ebcd4b2666edfd1929d9bd1ba2147ec8c60f9ebd06a8cb1c2c23971960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c82f7e1e5f49bab9ab5b14e7f68371b66c45653a36496be9ad8faea05c7d10453a8a594ec4ef5751c649e9fb29c1b4090230480e604ab8bda39319cc7ca2d6910fbd56a9495e871b49c5d6615c15ac83f72ea7bb801bf9a4c24d77fad793d28e9d5d0302047c435bb5006730650231009c8d9bc0ac4a2eccc05842cd53db8f4f189967f70142743fb692d6c2ea57756ac5655425c4d72fb406994345edbcd19502301ba669929e29083edcd2f7ddca31870400ddcb785b0e6a1c7d57495ae083b465ad1996bdbe32f87eedc043c42ea2f8c50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009f1a47451991e2e42642b0c757365508caa8e23f6b0a5dd981bb42684fa30afa6ba675c031e1ba337338f9f3f291ce3b023023fde0f33a265b0e8060ed45cae200ca8738a5ed9166e81fb31fd07b7b6561479c70658fdf2578a40d5ed609e0e838780302047c435bb50067306502302f99e0b6491b6fbf565e64173958c9a8a7eb614be85ee43655936460e8d2cc8df47988f9eb9f6e67b62ca58aff1b8f37023100de5ae80d2c5c03c1eb3ec6f2a24bbbd603edd6d4d913254492cb54a1d92db421d75056f4ac71394ee9b69caeb44804d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230285587441e7506839d6b0f0c3f88ade70131c9494b00a6ec4e0e9866cfe4cff55f512dd157b88869a5d7cdacfb68bb20023100aa6c894b6a289b1bb01ba31cb9f947d96bcce4261095add89aec539e8d2217deb29e34c21d1ff43167cfe582ef1341be0302047c435bb500683066023100878a2571d45864f527afca395c061e40878ed4edd96488bd41ebcd188a377a9e5e6978d10782ed3e8f37b703197ce1e6023100dcd617de7cbb815013101d016cbaa8992ed9b3a0678876d6eea3d529b613cb1f99904ca1162b89d392499a1252d576260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100af94b46cf065729b36364aa6af8b90b499314413f8457ab53651f3aec6d3fbf284bd446598a14f9579e1b38c58eadc3c02301b18024ead91f65a15d0cb624dd7b70ff2d7f595c7969e77f6247b2ccf0076fd96e6bb5146607305a6a3c4d6aebf142b0302047c435bb500673065023100f7dd9a7cef47b48fa458e1909dee45fb679e92c9b3ae4f205ee554bab76aabfd3b6b66260ffd46bd1a7a2c4ed105cca202301c2e2410f397d0e46e96c67f3fbead9b435d3e189dc1db1aa41bb371ab519b15385d9bef0825001827e60424daf831700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303048931549d3c0e8c2ca650871ed8aa4dab93f3980852d45d26455de17c79f48d9db95fa36d64bb129538846272643ab023100bfcb7dd31629d8cad5dd41e7a213a4977a740cca7168b3bc0b138b06f05228d28e655486ee8a4eacff79edfd07e2ec690302047c435bb5006730650231008a9e096ef8701809a7621ef9bf44f579f17755adc43aa397e15157992b25851cada836a6ffff782d22a3e9b3423030b802304f8c05b16baa3f38ea4150a4600557686af02b05bd0a3cbe42be0a5a17537bdd7ad2a0aeabb371d34d4a5b8cfdb585a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100de5ae3a686ede5cce5c6377a8d263ed6515b841826434148699977370e5a8d23bcbed43720b671100315e91dbedeeb3802301d27ceef464316e37fd4d75735057644c3a91772a794f7c69cb0f0ccdac2158327431ea38d1e51761400b59ef0a4b3d10302047c435bb50066306402300949a6e6ca41751f10d575f90d930d8530dc9209bbe2bad05b97e2650176465734bee8d44670e56188c8aa4137afd75c02306414efb210096bcc26d24686949253f123be8235b8ee726f020348714afe8a367fa18e04a49069a0b5913248e70f87580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302c437b25e438f43527d4e8d32d69affe95f7c26f4849407a382182c6df592bb663ae2a6167e22e0b989fe2ac26aeb1f2023065aa7108b9a140173cb5eab1ce7c320e4ccb9d036448b39b7a72914433bdee1422585b198ccd4f7e3ff00c0023df38bd0302047c435bb500673065023030ac6302fae8f368f40dc1591f360aebf6b9ff937a10b22d218fd4c31a24dcd010a25629e1d616b965e079d63d5dd576023100b051932f5a94e88867369aa7d884d21798a06db1c78d4f30fd1db01d086b0c1ebb23132096d95c40f5dc3498719bfcc80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300bac421a3f48d7601c73201e89b5324d2b82f733a65feb04822da543aaa4dfb54a70e28855d83c275a1e7eb4c309c97402306052fb025082fd9684dc78a63689c5d07453547da700fc51738a64bd1f394d39ec857d43388a09bf2cc2102ab1a3a3e00302047c435bb50067306502310096164b2514a9f0854ada7a58d61b5f177a6df1ead3fb3eebbb850333137d1c58cf12f6ca84f3bd939f49c8dd6b7b67dc023065b26aa1caec32ea571b7a2c4719037d19cfec09fbe70487a682945b5a2f0832fd4a640c5ee9ea8a7c3482925953a1150302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304ad1f885fa900b74a0a948f9b2c2bebe6a58ed6ec699be2e3defd408a5544ee2ab588af22eb4400dae0b77c88a4d715802302b425cb777a9179d37f66b2b9ffe7313e5bd5441978cc2094750523223ea6d5f408c38417983af59bd3277d94984050a0302047c435bb5006830660231008d65aef6af7244f1738c16a7f2abbdf051eed305d3a5ac1413e2d768528b7f139f0d47b0775b05a9276984acd5582285023100c527d930c7adc9f0ae776fd745bc8986bcac0cd1af3c8c3dc8b6e9629e90ef7465f4670ade05573243375311ca741dfd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307f7c2917e602bfc6e82765b0f98059bb9c3b1a8f54f98889b3e19a10c999e711c33687cc1ba7a821987182caa6ba3969023100a4fa4fae7a048595b22b5a19d35c27eb083030c938435a4984bc9d643e817bc9e1b5e52f0d268b5b0726f5a757f27a810302047c435bb500673065023100d24b209bceff8b6dd1e7adae095f1822044070bf3df154d287e0ed5cf6ab0a01ceb73436be56cb3c817078949a676c680230339b98faa9ce1fb4dfef7865fc2b208b454cfbd826e7b97c65c2f68be69458626dc387d40cf58723dc143c691c38082c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304d5ba9b0783f12da4c7714b1fbe70d5656c66008d85f60d68bfc6f302e978ef6223c2f0164cd135b753eff71802eb75e02306cbfb74a0d7bc1194130c1ae56e8a89a636f7f4e293630357ef555df3923f305be9a702f1c8fc504573b467188dac0080302047c435bb500683066023100c5a4475f99e521d72d488e14c1873c7c492ed25f238da45256f243a6dc75f827795b5271287453054a719cbbd2b408b6023100c3893df35f4bc2d5f1178a25fd23bee48cc99f664c55f9a76f1fc474ab27588be713653491e72dfd531d5551627831700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009816354850d1a029ae534a28d429344dd01451af3b73a601d782bd70246479fef54613d580ce3594ca8febe7148da2540230067cdf36147b98b199e40e0fd8ab9f79bc279a888b3c8518927c3bef638d640b3f75983dc9f84dda9eaefaf9637ea4ae0302047c435bb50068306602310097801f60e472188162df4cde6aec0f0e8ec1c7f73faf89b52baf97380284a13c5d9e4751a676ffe74f7abe6db701e994023100db94787765b7f3252a769d7cbc34c0cde4c3c0907e55ccb0e9e01070dc0cdc6a30e511b8612efc0e2cf4be23c1ad22850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310085758d171971885ceac4d667a20d02192870f405253c207ed0dbcc5e17d8c878e78cc97b8611b9df97fb531c866e53b502306af6e68bc0d04192de24b9867d1c66299228151eacf7e70ffaddfb409793518853aef11c13dcd3e3972f19e8c4c655ca0302047c435bb50066306402305137acbcb8da1fcf3f1bf5259e33296ebaa58bd26ba40f6b60acbf60adb0c6853c069acc66653bf60d35210b9ced350c02301c867358c07be72755fccf532d5d1ae9990a4201550083ebef6596be5baab5900b344c519e98af4b2cfe0ab46237700f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c0ce4fd75d43bfe560f887fd41f2f7055fe14fc88e73b87cb2cffd39d074bd115b54cd6bd060ea938107b9a9c3c627f702300d665adfc8954c3e198fcec4cf2e2dc2d795096589bb6b93b4a781d82338b869908c0d263ebc472f7684ab29758637080302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a7cb2bd422449508fe7ba332083a9ec279958dadb4c858533061b087a7b8c674b374157aaf1ad26112aeee54b3b04b5a02301b81e7c2193401c1fb82216a0ba0160fa19fbb1b1a5a726df7b33ac70f72682ea70a463cb361c2d765e479b999773f310302047c435bb500683066023100d586bf396c38df36f6739e602eec7d0f2422d5d0b97191e03cc5f507647b77db0997f96449518d5d075bbf27828a3fee023100a022467cd5470530704dc6d190d317ba98f7958f3c08dbe3973682e855d19ded9b92c6980fa6b3494baea31d98bbdd6e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302d575464470a859e17052bd4d8680fb2250de9046f5c34b5f78bfa109b3982fb66210afdc0abe6ee6e23253cddf582e6023100f6dcaa21b88e481902a003ff64d25b2d2c336d61c635832ff81555db9c6a22f311fa0509eaa15908a3451f3530cbaabc0302047c435bb500673065023062283f65dfcae05781fbb0e6b4cad69c1b46001a8048bce103aab49b0942b234497212e601d65d2ef44a5c0236aaa1a6023100dd37282baff0c863fffa47eb9c1fa67ec0aa85c120c2f608c973de07c8f011c78f2c7b6027d4a9d5a7c2975e30885bd10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008e21f1563d793b183cff5eb894e2b29faf5f041e48ad25def1f6e4b22e6b9336177690a7a0ffaa4578fdfcd8f2b33756023100e4afc364ed6336d526752fe8f0097022bccee7e99c6afc2e2ce413907b20969178a11aff2856a615837aab9b060159180302047c435bb500683066023100a193b4a90beb384e1abe3a33af73f7d5acf4fa7489ea5f2b82e1d78d826408caaaf4bf0a3a6ccdbe932d04f65dc474df023100dca2ba9816bc228d1cefca4b77475dcab9e16617e78a63d101a0a8e91e2b0017875d6e1d5d6a40a163fc3c444baf1a890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303b5c3d9bff6a48e7184505f0b17aa928f726f937961f2366f97bcb698db42479e6a0d1e9c2b96ead418019b210c90835023100acce9036e72752edfc97bc9d359992d6210b01e18038d1d46ef0a805913e0186f248284bff3489ef8f99964dd4b39c2b0302047c435bb500683066023100a24a7eab59e5dc37d1a2a462d856376552f2a613f5a8fc45f2f94d5fa4a31e5f75f681dd8ab66b98b3521d50a3d2d66102310084ecb4dcb6a2752f33c2b21f4cfb3d83fe2401f214def94a230d7034167c2333f7d61d4b8a5f8c99d36ad0cbea92fbf30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023030e67c2690fc29c59ff23edd70be61e9440e785da54dea3451d79aa1e28e150a1f06e78427e1aa2e8e21faa349da5f3e023100920987cb8f7c1179a9a6ba97b826780df7058d44d55a4719b4daab3551c0684ac28de63ef34bed4c27facdbf2c5c92670302047c435bb500673065023100d684074057a6281d59024ce694a240ff0c18c7c1c8efd20c8328cd26d8014f90b573709eca37a081e194d5d3fcddaafe02305894f53f3453d020ed738075a1bb0bff1103c2b8fad597f661ddced3a22b9b9ed673bcc2ef5d17bfe25b0586c70bb5f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304e7cda58301793bbad8505c1503b2e57ca2c195c3f5b1b948afe915b79761e51a67a571dcce6b392f580074db9e841be023031acaf9b757c15666924a58c754b7f066dec8ee264d81f2b315417e5007e2bdea4f500a5758fbb8d47b7b104009e6b0b0302047c435bb50066306402304346fd7c6ded92e4033bdeb2af23cbd2f358ceeda347d749ef2ff2f57dc01658dc79c6c03a46b489c341efed85b39f090230275e9a6381f3e9d493a755c748764a4bec623f62febe9aaa756c9dfe89c7a02877461d39e698c46b3fa75cedd88e1a860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100afc84721453eda3c3b4861fa7b1d4ed74a06a917fb8d8a09fd96394747fe646dfe8d45648057e1422a8703ed53e3f5fc0231009983e2b530a5300b1b6029921b8c25294cc85bd745463744dfbd1cabe1054f91781e728934d0a1b59b1708dd43d30d750302047c435bb500673065023100ba0781ec91f590357a3a5dbc52d4d9115c935f408eb7a390b6c99709c0987296d07f77938811add78e3a9ba09dda2c5602301b7839f3e4d8979364c0a022118c2f600c5b7964515dfcda4527e3d9b26945f9a3c69bcae5f3d089f26a4a2aee5e78ee0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306c9d75dd5b9a8581c7d69ede6a81f14a496cd0ffc3af9a9baaf16697814ee054eeab5a13820a8eb0e802613fe6cb8405023100da956ae47a58f9d23c3547c2683b5e06fe8ad823c3bcb1078c1ba2f2a421e9294d8ead3ad32c2595d323188b7c5a62e70302047c435bb500673065023100bc886cdcc24ea1439a0c962a5123e9bb6696f64c4075b91cb3a62e46903bb816a2f22cc1e1e9e54bbfc9ae7c8c98d36102300a097f532f3406b448d0cd43f7b09923f52fd62081c1cef2dbe1e9fdc0df55f5c2a67aea630bc89ee4cc2448a28a55900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d42022f6d5319af5ac5c6faa39035083ccfeca77bf78f76a423f58340b31543706e92a17d3500e3b83a0da60e770ea72023100d37c5fc2d011846401ee92511cec980b8c41d1bfbe6819b4bb83b1dc430af15a8f287ea06b38224a3337ed43235ea1e50302047c435bb500673065023079dff904bbd7c49262fd51e8d8140d5f16e7ab15328a258668a2313c99ee08fc4acf59ba2599497e402f872c810449cf023100b13b4847a86d48902088bcaeb4cafa74d046f06434b66842a545bfef2c9757dc4d851f598d247446b1b8011a9f8051b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230301f8bcc44c5ff89311f000153266be080ceb028cfc769f6f0eb65c7f5caacf899dbf0fb7d190cb3add1a4736caacbb402301f9757126aeca2558d51472360e0e8a9485b9b98db06690925bc1437f437118f2202c4357b0e914372990c269cc93dbb0302047c435bb5006630640230747a766bc4dd56c7d4f1a7c8c59ec2419eae30410def199a8cc16123baf3ac10860f18f8d3b303f84437cda5b9fd908a02307a11b99a62007dbe418b4b9825113024101d40ce9e6643e82c268c3af6f0b1e2d3aad786b92c91808ec86ff1cab25b200302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307a065b429f200d440834799d20a5b7dc61bfa8089395808f4c211a6824328d43ae22582bff46d76f8278b220b930c61d023035372d55e841ef4063bc3020ab208289573167e43fb2bf35af5ca27f3630f41e9e73c868a014b74eb6a216434acca0680302047c435bb500683066023100f8b6d4daecc31a5f14b2284018e3c592e5c2aefc7fbc8eaf9e0f74ac9c7a116b6b48c4488cbccfc19668f3aaa99b99c6023100cde68f9bfd9b2bba39a55e6a5f50195ba8ddf6ca036da0f5876e9009a8b048b78437c9fdfea74df9138474c22841634a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c6a0361a551b9e7a56d620133244593da38ef47ea153b94a10e0c9dec2909e803ac2ece9505157510dad5d280c657d4b023001860782d975000fb6bc24b44b14d4561d62be15bb03bd2bb1b44f8dd4efd9a5361124146faeeef9c9bfb370c08e98000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023070a60dcf82e5d1b7024ef5e84ee4b4becc5de8cd7d7fff002ff75ee8510381a9d0300827b1233fd41c7347f6897a886702307eeea9127efbb7bbd520ab68ea6885ea0e3f28d42a604c7b0f27b746114714f5ba43c298c92ee290cda10b5853e83b760302047c435bb50067306502306e0fa43acdedc60dbff2478b216c1ed21bca7016ec56ce2197278af0c71a908dcc809e7a8448fb4bed4f2033940f2581023100bb36604c2297960dc1dacdcc7be6935973c6940c0ebef4457ac4f81ed80c06482ea9d059a9e3dc9434071ed706f2bcdd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300b198cd2bc4cb2fe3e71670ac08dbc3451e3b515d81edbfd669a41ca2abed7703ce9114f7b86c3f00fd19e9c1e83ed4e023100ddfaa5e8c6bb82c8e30d381d024c3271d8d6fe8988bd917968186b9d7610f5e9595408943db6893bfa289672e73e74450302047c435bb500683066023100e6e36460a639a72be212b819666219a38ed6b5eb08438e6147d0fd325616fbd4c2285b432c71f70db4479a2e4d15612a023100ba47b93e8e1cef3dca045a2b5c32e44e58b3421b2d24342765fdb08356c7e1009a0b25439afff9669a163034ac98ee8c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301fb8f68d5f35e78dc8a21eeec4595683ae370517be54433b9e68aeb0313ae1792d470dcf8eb88e1347cd44d2a6e75cda023067cd4961cf31173d64e5c98dc842af2252a0035078ff04eee1e58a73e1a8e45be291a56b24391e9ff66fd3c23983b59c0302047c435bb500683066023100a522643b0f81b9e53c007da3d77824f0a1c31902f9679f85ef4fd813a009c693bd0985dcb57e67a59a82cfe7c8fadf0b023100e3d9b42dc2ac0721eb0e64ae15fce9d9ce8ecf611c81cd7bd1149be1d04e1401347a50017c1c6d9633c5b1a615ef94880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a2d4230ce237de543bd4543fa927eb49ef65c62d50c9df3d3ae1d6cd92e88a15b3c260cde4212d352f10f1105f634f02023052fa84827c09437e0d22e248dfbfacf0610a2157c460da2d7c836d57bf809a10924fbeec76b831e79e0d9f47600a16cf0302047c435bb5006730650231009b6a7bd2523212ea2fa6a301766c54d2d20a193fe063b481745eb379e3941f791ff815e4ee414637921a5238bf75f5f4023040a7f3ad4f88b43f502313e0bda2bef72f3c6274983a361307e24419c7d5ac8c41f19cf3ea10e2028829a0a0e8de706d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023002ceb9cbd5d79f531c516d4e2828fcac76354d92827c8bf25dda548c1c80684133932c5b20bfbedc4bfcb6c8449996bf0231008fffa0121bbac9ed7490823a9b9b26c7b524ff03606ad1fb414991316c1d9c3129f24249be8da570af4be3f0b8af20080302047c435bb5006830660231008cd6620ff854ba8726547bddb8e62c9beb183de2e95650730d1481b7aa2f8ed0ba96f48d66445f8b34fc544facb8f9d9023100fd9e6c0982508fe4a631c50010706c54294f9920883f9433c94575029532406bb391f2dcbbc82f8bcc79dc424acaf0520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310083d17c1f4d29025d98102e5995dc8e940be32479fb93ec7c367bcff858493e7aa13009f51b2d83a381dd06893db7704902303d6d971747a9fb6dfe5a7f513011ef62a7d51792b7e9dff05b30f317d7059efdaeea299266200a6a1f38d8ef0798705e0302047c435bb5006730650230215c345f0c36091d0d8f0352283a3d1f2d595bbd10d29f075baede9d92999e6d76bbd7080e731b45c973f59285bbcd5a023100b8be879049d82ff4c97826367350cc8252dffdb593bef5b8302441914332530f7a009664235eb808cbf17f4a946e2fd70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230038b81639bed6562194caaf13ada60bc9b6496e78fe19fd00577e2f56bb7f53c019d1f1180ea2f5034814df78ef635520231008bffbf0285d45b897a8d70d6574d3001e1ec16073f483e7b6f017f9364b8271badf50bc63f800de2d2eddab4da426fe10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b07e43239134c406726584f9af5e4923cded390765a4a55eeddbb70dc6d948f543312a8e47022ffc73b69acb8a343c58023100e32db36edd4f5e93b1d7ef0af78e8ce66bb23ff9740ba35c622f8f185e0b7565e042cc8368b035516d80ea16a9e12bfa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ccbe00f7ebba0fd8f78880f9d2e6e8bfe87e64014eb1b4a03bcae86956e269a79c00b3b186b3a843b055161a2f0ae74902302914a44b3eefb5c99ee326afaf842ec5cc1d09ec33af3e9c8f495fb82f7f8894b48fe1240cbff3d7785adc575d511de90302047c435bb500683066023100edaed2f7492a34e088754021e86c2de5b4338075451924077a44d036e0ee5939d8a02faa0f8d49671cf64dfab6d28972023100f374dbaa177fad2169402097732c72bc47dfe657f3a31308995f114fca83291b13cbb93aa210673c1b409696d86555610302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307ecb11acedbc236af266bd49b28a93fb2ce1dacf9a41a4326d66f82d5a1aaaec4a0f0f6ef2db160d7ede79cd6bd2d830023100936f3c25b9180ee26cace494fd683866e9673a886437944632e1bae81dd15e3b3c2195c5f1d37a9c46dcf49532fcde0b0302047c435bb500683066023100f0500d48b1b9985b1c9868fb91b107173f8ba965a9989b5d9b2915beeea9e109ef68092f265408495df8034b14e0d598023100d1de7fbb3b683d154d2c6349c11ca42a7b07ec3410e78d948ffe466553286278848979685456255cd45ae1dabc7b17930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e0193a10aaf2b7492107ea7776554911b3fff540b7127a0e0e32eb5fbc27aeccf2cca94d3859e39284b9f51a65c30b920230614e0ff895f6773fe487e8af8c3e48e1d617383188a4d3e8b5b3a91f7f9baa5c982ebb5f7f00da586b523e8b4818205c0302047c435bb500673065023100b3a8e5ecdf710c1c1f3764c360caf9138e88c41467f038b6c3ed8372de3588d9d338dd520ad3352362d7b35577ac6d32023063a469b248ef34ab50a72cb11b8387455423d4c70c5050c9bb89f73742a20fff350999950c8ae977a857c258802b430d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302be823da533e2c78620ebf6e55be76fa777ce3018768c4a8cb9cfcdf0d08af7629a33df02e99307c5654e8935c04c23a023100f01387afcd67e9334dbe695a6bee5d0737e40fce0da843bace8f8514e789e6e5ce91abd335d1d1ef02845700df56ffd30302047c435bb500673065023100c00bca5b067b2ba80ab96b83f1e2800f2d2506e053393621496a1f9676cee5c862bbef6cbea662c5eb95d78f6511503b02306d0f8e3f52b5d287ab0bda7f12ceb99b3e0ca6a0668934b0566f31efcc4538d7819c64335d645d7248ae7ca1706683c20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cc782053a2920d813062a1d418f586710aedf31f818df3c73cfac6bd2d793f3f521df86454199ef9dd7daad67f5190bd02304de8f36856ce28ad5ceb0cc1bb6ee34b5d03b6feac31c1fd5a6a4b29c5f6b6bdeb3f660b11e891afe9beae7ee1fc0fc80302047c435bb500673065023100ebf78ad232639162e2dcc9d02c15787260cd70996059b6c4a043b373c2898b5687f41c5a3f02b1265dbdefc4413cd951023035a633cbcd2e48db07b0a0e1951bb1522999f1d21e78ac9cb90e2cfb8f67619cc2f1ee3981dad3c2b9a46c26eeb07d640302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305a86905d796f785c65d08970528f3e6e8eb478d171a7825b4f0017d339ec3a0183f015711ff71b553298decd11e63a1002310080813cd9bbd2595fdf0aec923015c0e895fca6ba3f888c37a296229a8b4247a3d10a85ab543f39ba62d961b2eae576080302047c435bb500683066023100ddf82dfa6d7b93284732b9502ba8a13dfed56e218ebe85dfe53609e2203a45a635a712499c225189518015b229442b1b023100c89e1ee8d2b0ea9e2b938b29118098c2351780402b6da88ce83f2b7d7cab4428cb2efddf8925bcfb924dbff7a90b98fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023002961c4d2604a801398feb23fa2e12384b920dcc661bdf38fbfb2fa5465da8bba684c1ad86cbcdec22d8e11460c6665a023100be04e548fc231e286ec036c5eec68a059ff25c2301e1962880a7ef2ef7ca448b49cbc6074a099cb86df75916d18dde2f0302047c435bb500673065023069886d65066a2572dcfd3474bbebd53a69d6587777cacd719df36eb538a99faa2d0ecf60fb8ed87d09b4ba7708d1edd2023100e3f7d1571c399c90c58d8ed6abc790f21406746473c41d0a76c091e19d75a289e19bef14fad923ca858203d4ca209c910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f3cbcbd32f8e902f8128bc57c73b4939d45811a8aadb7331fce3ca8d0f902c2e4ab4fc7561cfc0eace078df441ead96f02302fb7111fe7a339804a42535940982ba5c6eed0e99ab7fdd30adf607efd47a5bcf11611c04cf2c35d7d1b5344ac66f73f0302047c435bb500673065023100d1300360a64245ec163c954191859ab1424f30c88c2991ced229f4014e1e4c0ba689541a63075b3943dcea87c3a5d3d802303955ac8601a0c2d88e6088733d9a7a374f552aab7fb778e4ebaed2b8d0ff52395d41ae83f5bc55fc11089221e34b58ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bb043ed7e6e94e3297ee19086e19f07723b847c4830e6f08395d63ddf273d252f0cc27841b503a4e0168bd53675f025802310082269edd0f55acd810718390f6ec0b33a882dfb99ceca2f57edaf0a844cc6e0addf606fdd83fd5c3d777e207e4552ad70302047c435bb500673065023100ac8d1d269e8e4544bfcd16f6b94663f16c1dc76dffc5577709dc9b52187e6a5beb11bee0e24cd62a84c980e367a504eb023005c5e6d7f058f645ae84a916069d5b85a436b934d1023ad433c34039ecd327e7d8821026f27bf214a31ea013647b92510302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305c8e81b98d53160e569e97eb2b8233d72a5d31864d824b2ac15dc807897f4af278481b9e8f469076f400171dce1b741c023020c566671fcf111d247f422d956d3902c07abd664f02ed39457d179a24118a9dcbf454aa576a8843eefb4beccfc5c6f90302047c435bb50067306502301a67393ddb6a5a6aae871976e430f63b2c79e0e1d6b0ac8b039541a7716a2684f8574e8f3ac798e23b28a10f16ed9d50023100b3a628c2facd287b0cb1e65b1892c1088e6cb0f687eaa46a6d951afdcd1ef224c02eb275199578cf935c75023d71d1720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f8df54836371cf05d5e9783a041da5579362f19ae168fa1197ea91b49fc08c31a2c533413cbf0c12645b552a3715ff6e023100ab9db0510ab3bbe1c726fb262918afb2e828f79e3a7ff81ac96b7e62d425c437df6e48295aa67b8914209de6bacf0a4e0302047c435bb500683066023100b5cbc485c6757c31fc543842337a81036e2189655bcbd1922f04cf7a66d31e285688ec4a582a4c71ebd5874c7ae5f580023100c109f8e3f319ff9d8dd528683f48ff50c60a16d8d29c518c3e3e01876d17dfec9b5c1d014c39883418ce8b3dc88037890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b8def8ef56b8c9991c125187eeb6a64b09d7fd067cb0dc8c690a0831fbd1246c0bb4ab7615c8a2f9aef7fed4b076aca02301a4b26a9d5da83d83c021b8749d333e9cc5379f0bc479f21477dd491d1cbc6315d751441fa3f8d3957f7f399f3fa3d560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008b7167f60293bbd68f4fdeda74e6d5a82b84c14cfb67edabc2e4f9a148bbc28802d13fd0521d485e3c59ad20ba7a3e7a023100d3a193aa28e7cc6305f2a773e9856a0aa7eb2e3bb2c479993c91da34e63cc23b0ae41899a5cd5ee8c2093637b10c6a2c0302047c435bb50066306402305c0efeb48d3955f134f5085919570c5e085f7ebe4a2b6b6485c3e98e0ae504388e9c5a3256d974da196585d14c3fcaf9023050fab5a40aba332d1ede61fb7467794fa575e6c28de2828307c8537c4e320e25f1b142c706348725d29bf040592c33e10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c7c502f9fb0f10181b3697e86df7f984d7459be09ef2f979e91550050fcfd550aac0b6f52d61d4e585d7d92aad111d8602306f9d0bf8c16deef3d32a6bbd695242ba4900781feb888fa9200d4ceb1b018f21697db712e4994b3cc8bd1e2a8e22ecc70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230290fb22340f035799e8f38091e35ef56d2e52157109badcfee546ea76f2b5cc9938c3c1fc83f2eaa4854301118a97db702307cf6274cf51d7d9867650318a5d57b755fe0f9644363fdea4ba099dafd05d78e08c66c919ee70fd7b4211281d55f56dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310096c850095c8e0a3a330c071cc55050aaffe1eda1bcc77396423331d646c53d20a9bec6466f982c018814b95bdb5a1aa1023055b2cf0c4d5380972e708d75c2d4b672cbb1bf4c6e6128f892d11b8f09e728babce633e9dd8f2f801b52b6754ca442720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306d4889211e25b37c65716a028a86952f64428c10ed225d02eed499cf6e990f152a0b8dced2dfddc22113f865486eab790231008bdf6c2d48e01342adb8aa3bc01e25899d963754e288345c84f108b994887f02a973e29066aa0162798996010d1bcaac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307ebb9dd76af832bf6b36fa60d04435c89b2f308935e3154da07c2560030ed83a1ceae8c72fb11658edc813b027f86ea0023100bb2132c2bff219fc33e76dc77aa62c99182ab6565aed2521a73a9f4a44becee9239187a3b80a193c2f3f21569e0fdf870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ab3f7c521c55bc228a7195587b2ffd05f09f63c42cf496801ea69f82e34cfa3b114f545d6727853627dbc296fd106843023100e0082026269c0059dab46841118d0fcca539aebcb1b8f36aefea7c1df78bb14fb99a52299399818787786d7a0a78977a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bdc0e86d959800c9ac16401e1eccae6e76ec8b692839a5bc4d4c93383e97b3488216c499d3c2c979a22f151fd0bb08de02310094851e9cd03a9b4baa0f5602f3fd73f8a6dd28189bb549bbd2c1ef19e4dfd34f461f02199e81778b34d638a983039b3c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023071a829aba0369c8ff21dd547335e0037833631f84371a0be6cff8f4a975829f334682559169f36cc7ed91864b1e1432d023100c9aba3192a1647f1aa819f75a377882bdfaeb024a14227ab574ffb377f0a1ca76959b5822f16521fa94fe289a7356c400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230610366b571bd09a9edb91e42ff52e0054236892c68e8970187718cc376b77c049099c4e2572f823bf2cf380359dce180023100cd0bc3493abc5bc3652ccc72a8b712a789bddc834d0cb8fc2081d1c40ea1232b020fe2724c2aed77df755887d0cec28f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307934612e77b7cc430c02109fb64a803f8c731239d5f43efa746704e28e67185e69aefe8de55064f1d9ff3c5d80ca5fb0023100aca2e634e9d93ceb274d69feb5171dec336afcecd1ca1f09ecc78d79c9f90244ceeb19f611af880ed7a47db8e238cbce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301fba461712d847f0ff5b0b10e7ab8f51de80fbea3c5daedced917f635e4cd9d2a60b3a02ee805f3f836455de97a0c5d202310091c3b6a0da87d8d657f6c621803ab7453e006bb9eb1440794d9d1fb875a1b7188ddac2f887bbc5d268ed1b69377f44680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b1d2248d60bd6e5ce88c060ee270dc2697affb62bc13e6f3fe51df10650fa75892250152ec82f014cff4e8d2ac82d28402304946aa8d06ad597306f9ab5fc54d560dc41bcefb39044cafe83f52fc3e45aa3c552e072b2e8c85435c611ae79a2f383c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b170b00f3ea6a45ed60afdc6d5edfffc6e502f875fc062e2fd0d60ad5c63f25e6e5cd2b2f2dbc22aea9660b534b7a4aa023010d2597d4526831a8a1e7ab3223fe160e0236d2c642dc3b6d03fa5cbec15d6a727ccacc8692897d8c253b080d31ac1c40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301fd460683b4ef2b76e2d7734e46f1a6867cce20e1744ba469a4ef8db16cf33ab23f1122c97dd0ac81bbe3311700988c8023100e0e801c56eb620d97f612e81a6290b6de395d5097363d8eb854a88e18f1b1750db25365e1fee2dc162f3605ecdac68b80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023078c320c2f8b62ebbc368be42f579ab62517dcd85fb421c7b85968ad793a2d8a8cc0c03787f034a6cf399fd33d529e7ee023100f138abf92ea1163b93dff70800fc50e60cb3295067f72c39be87a828cacd5d40a6baa3571fac34e05ac2c3a45fb5f1c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009b8ef5648dda746a221aa719bfbaa3db0ee4c25b478a83c9c42748b1208c7809e27f430ceee64543872712f878828bee023100e963a017709d1517c876d71b14024ab9966409d35a10fb7a842177d0bf131a7fb2e45b3a6e3acdfafac838baca85ce4b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023009fd0ca358f6238b5603423a7c3bf6dcc9db8b5ed8122b793aef9fe6059017d746aac91f17f6fde412995821d4f146a8023100c48b47a03c7d6b867c9f6e3728d24833c2a179be7d276398090a7ce9fba3cc5ad08f0feb02f17038c870124d1001b4f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cf3cc78600b4889782e6f125df8e7f6b551efa18c9e3fbe91bf1c1442e19df8a45886f68a177c756b3f883cc41ac8504023038d80501c35a1c75d899909134ba3f5dc231778158ff3afb916cc8b85058a9e7a35303722002c188dec55cf4b0d2096a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303dbbc46e2b08c6b9bd04c73fbc9f037de918293818454e62d9fc04d372d58516b84b5cce629a8f1a45fde185cf2f85c3023067c80be2a77a2ec1ebb6af8b99e0b1237d8e948418f78410579c7639e460d6cafa7f690d42fd32fc002612047db333340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304f62c0cbcdcc2e831d8b4d9bd33f205764c76437304b639e59f7e818d3515d1d0b28326ee383b222c6e6dbd45bb4b6f1023055c9d3d86c7941627e6fcefe92d8b3eb3f5429712d62828880e3b17e7779f02e414724f10c3c93f6704357c9053712000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230553024192b2fdfaa4dc95a703536c99f6cb67833356729ec06600dd624b65acba2216f4a1c3d8366e174ace7978ead3a023100d14cf8086f547c50985c98aad551992d3505b0c3f9de1fac2c1d6b51051f80aef6fb83670751dd82f2eee2a0a095eee00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230446ff939a730d966850ebf1baba0b68283634b79ae9d5194ee984550ec962f5be1d8bc472a5289193ae9c9df1063cd0a0230485630ca61c5974e8ef689bc396ef22870890cc35c14ba61a2e463d2b48f0e6bf270a411d255fbd4d6a625422a2e5bf80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230293c87d546bddaa39db24feb67ef61a7ec37d1923ff6b2c468c92560a4a351123da72d6ffa84c8a3ac5a90b2beca06da0231009bad37ab5d879a9d1dc12f44fa407d21c399dfd46aab17c4af7c4bd537e31905a0f2f0ae33a061695c8906c244acb3d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008f6f6a7058ba2eaa80cc8c53eaa710e6efc1b1d1f8f29a95fbc938b4de0ce7f97bc4141f9e2fb211e2a5b6fd5b065cab023100c501a09913df1506e84f1a50434617f1ba1467261b485980e983b842dacb13b0b865f6077f652302dc3ca223759fd31f0302047c435bb500683066023100d45bccc50c588ef7343c5e8e0a2ce61a2be7473a6328137f3826ef55cc4bc5b76867ddb1a8eb6cb9431cd7b7ceeb992a023100807a0987d58a0856cf32b8838bb0b5c31dc428219c0d2ba5e5834ee058b72ea12db5a5a9d64a02ccadefa49fe9f3c14e0302047c435bb500683066023100e95a8a69cc7e18f8bbb7b81a74e1604ac7aca058e90717314bbb23535c488af7fbbf09ba31d8094b3659aa2711768a400231008122813c090244a072830bcbfbd2ac3d2be58f5b670ca15480d78ac85665dfde4f08de4e442d6f3351b6f90992ce132e0302047c435bb500673065023100fe011ce32e0399a9f328dceea62254ee5a4f40020ebc424a1319483abecd28dd214cbfa381a1085fabb640ff1c6fa47f02303ab3880e02c2457f3606c435db23c981fdf10fbffda550a84dc7e20cbb98b9178e74e0284f2e837cdfb1fc718057c17f0302047c435bb5006830660231008b97396e5696db1582e2fd419c7d84ada2c367a85dbb54b70be76b732c3ad8cbfc20dff0e60c57a17c99459acbaaeaac023100d06d0c9a3cf4738c47e1e20235bdd841e7f9645cb349b98a8a117b1c56b1aba24a084c5ffb21938272fc64c72e654f900302047c435bb5006830660231009bfbefd4b408e0119395de82e1dd4fe9c201200498c0fef0230175c9ca4882a5059045df320fc5cc80fe70feab014bde023100a2c78f02b1799b5bdd9dc64c4ec4cdeb403e85233c615084832f53f69e59332ff24541ac233e34381b8c551063e860ff0302047c435bb500663064023027b6d12917021c91375972548c8cdae83bc72aaaa162e5d217bab287c78bea5a1dadc1b84a74fc3b7cd57f055be5f2cc023050c5eacf12a754b7903d1ac41b4fc0295e23e4f7c9c8009adcdfd4976ce5d4cf121dc24bc6dd52cf0ae4896b18439f740302047c435bb50066306402302d21ea6ccc838034a1a1eff6be24b83bd5c3d14ff9cdccdef41ff27456e8015245ab249eb4f5d348209529ee2eded44f02304bb01826392f4457cac81ca748c34a7349f2b375f49ce1361e4e582280a209e217ddfbbd65afe4a7051b9efe691291e70302047c435bb500673065023100db47237dc08e3fcdb6e3a8b7496cb27351c6bcefed1cdf4067e21276df7f3dbda15b8f0281a6a51b714045fccb599c97023024b1346ebfc54e26ba2f105049d05e7b5890c856102d3b1a508a7d77153ada8195ec093ab4990c121bcea06800dd5cff0302047c435bb500673065023100905fe72a2403b66ae894cef0dec52d4cc846df72f0a100a636ab0b2aaeafd3b035466176785581ec80d8968f4904ee3a02302c88bb1ad43cf19ed82cdccf86494ad561b3acb692a2e5498a012faeaa918c115e4ac4b7b6a61d12a92f521f87884ce40302047c435bb500683066023100f0127eacd51ec42a02afb1f3ae19cff55772032e7b29df384a54d70e2ede128153adaa222eafc55f807e36b900c86657023100ba247c38b3e1db219f2fada3b837da0c9c1fbddb1ba5b2fd7849749d8a348d5afff6c7529672e86681c76d5daeec82f30302047c435bb5006630640230307e62e77cc45a33c1edd664ba232ef485fbfe69797638a9b24a1de83403718dea110420ea016c8d90f8b706c7327a500230432af82c60bfd63d1907c7af13fe3db0a81277fa2f8d31f6d1439d7adbd020411b2974d627b6c344ed86b1b06cba5b530302047c435bb50066306402304ab8d0b56920f96eeaf02b65d46be7273e57fc12dbfe8c3000e19c58de31ae63da3680de66ef9dc807b4c61ce7db8ae602307c820ce73fc5c26e6716541b6be785650e4e0480821be675d5856bc9259700d5752ea317b4fa1b80240f5b32bbcedb9b0302047c435bb5006730650230535c36300544bd9161e165581da4e7249323a292a0949ffe411b82102e3ea64776fa9bce90d6e856d4b362b202238bb5023100e88681793fc1495cf494d39b39294cfad681d4930831099a2b14ae5eeb397529997b27511782e49858ddc742617ccdfe0302047c435bb50066306402304725783dcd953babcf3cf779e49d6e29a5fd59851394c6d5983d00dad4ca68226e4be08a1e5a274be92758192b414c6902302df05894c4774e6f8d7299264cb4cd1d6a50d6fe61ee2c6cded8a3726d580dc61bc1898a82ececba8f77d627d522a4620302047c435bb50066306402307e7a3df46ef27c8b7d1e84d8a00a2221d3d776ecb46fd48227aa2359ead93a83d14510d4d29a6ea84d089aaeac9d451202306f210160332082ae6ca9f0e0a19a2b6db2535435d91cc6d2289fbe2e699adce6e18f5e423ea90cf9cd0d2ede1ee9ea950302047c435bb50066306402303adfd9001607cfa343e9991a2b18ec20063db706a87ecdda8a08028ca5e81c9dc995e5ffe6976ad34910a252d30f1a9e023065f86bbc17950730467985ad6bad012b49f392c3cca167f80af204ca0cd5902622a0695aa61e8b3bee1ed4a47b4557320302047c435bb50066306402307d1d594691f7c880537d35f371d0f682c680b40acf80405b5677a3ac01387bd0b6c9aed830af244d32dfcc95c0ace78602303516d16f4b2169cff4e23d85336ca926c7195862f0e7aa6beba3380d713c5e7b221a95c83c8ab1f393aa5add29ca5b7d0302047c435bb500673065023029e67882dbf252469b15c7ce306ba8e1d474d805ad60ea384b8b9ae423015e04008eb0c8edef7e3c50c6ea54e08a7bbd023100a65f39d2c5056b6485e17f25d0aedf79be6d60937aca90c7cbd496770189d04da9f888319482d22712457ca2307c2fdd0302047c435bb5006630640230331d43c1392f4c19fb4ce59a56f95be6b8e549548f8abcf03a104a7cb3053e7590c86f0265250f2e2df5dc2f72f3bed702303d8c805d9b92a0cd7b1df2706bab6277771ecbefa552586405ce16655d53de4196bbc15a2028d4c69bdc81e70fc89fe10302047c435bb500683066023100a727e3887f90d9da77258f89dff27f80e5c01f2c6527f47dfdd45574f100022d6143378a0461dbe367975a79be30969c023100fe3170a00c14c6faf72ee5dc1e3321224bab0dbdbebe4d7c21138acd2002d1783348cec1d314cd2f77401843a8ea75450302047c435bb5006730650230530845b0a8ff8b71728c73c0298811b11e5a5999821ff0729bd640f357532a4086a9e3c4944759bb5fd329d0e0c79032023100fd299982badda3a088cb24452de93a7514b9f87144f84d3df51e3bf4b7982f6a71f5fe11b58384bbf7010b0982baa7130302047c435bb50067306502306f8af778aebcef062c409f73117600823a8a0347ad6f83aeb7da1e3893ae7e762140ed804098a9eaf4b9af27bdfa67e002310080433255f89f10355310b2dd1ec7c3e8a782ae4e8132e96106516ded3c0322a48d1d609e15384546fc8c33c62b021ab50302047c435bb500683066023100df69b9d36093648b20d641bc95b31a454bae2cd4b6fba5dea7ea83ca340e122ee15ac56235ae664d7d97d91f2bb011a0023100c92f19958c684ad84da607abb13bab45514745206ab5759add5094a36e7a18e5b22a2f87cd0469d494cb7b89e218178c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307ea6a0752f869dbb2b5f61513af1ab7c0d91dbddf0921a7d58a0969c6bed130b9d10b61e76ba15723de4c8cd2615968f0230650b0da0c9b0a3252bd63b08534443f1caa1bff9719ae64b36b108da3c8092ac84d62bbe42840a7cdbb7731cffcb1b3a0302047c435bb50066306402304892be6d9802ba205919b8a4955b7b536d9cb6ff7774d2a6764ecc6d5fa11f396e903189148b4b07865a902471ae7e8e023034fc198bdddbd2ccedc9d1474219d7e2d2a5b124aab700e3e9c96326bd2e8c9ad8f7f45a8eb6e436ff5aa06a6d06d35b0302047c435bb50067306502301e3e2cf323c92cd0e4c93fd404901e53c138c1beff6308f18d463a6829ed6ca635bfa436f85c070c46015f37da754e11023100aebbc26df54ef4e2a2a8c896dfe524e2fba09ec9866aa644f964bc417688358e649affdede9af325b418b3d8c5f13f1b0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500673065023100dd7570e287262e96fa5e53a828b2c12a6f045c16403370bdd1fef6e6d09251f2062c014d2be882e2510c623b1e451d8002302d63de472b5ae916da9da1c79fdaa4b5e0bf02680801e33adb9ab343841591a3e8a42a039e1f3c1139bacde3b783c2f90302047c435bb5006730650230339e4695d471f44cb77eaae28f1b24e6adeb1563207b3309a0e34f0d43fa034a05a41659cd8dd704a44a20074df646aa023100be1782c851ea6986d8077f3fb8aaf9029934d2813e01402ab60ff846ab2249ade9c517dad1629e864ddc2c0f33714f6e0302047c435bb500663064023066a09abcd19796b0bd6a1b6b0bac8bc640ccfcc892ca2ddbd20081970311f3acf0b6356ea934b7b553a410f7c84cb120023008c5ef6669f3a44f218437b4bd09898d53c5bd7621bc88a52265cdc1c59b7698b840c61f214d9aa70958b27707b1c9c40302047c435bb50067306502300d35c1571a0a1f878e4d880427077c5069436df1b086c4c0b9d4c376837d546d0937e95111ff56d0c9ad608be3db07bb023100d2c881c223af64392cd43d3b9784c6c60998bf6cccd82c08c17f82ec1be42e2f5ac7db9866ae738e12e3b801a8d2fe5e0302047c435bb500673065023100ccbaba5f9b7d9907522f1431adb8251cee00b6e6283558909c844880927697afb46aada8f7837ca1c5451d3329a67e93023078477ac6f4919c89bd1396f13ff8e3fdf08215f993018de73af845a486ae7acd29d71c2aab941ecddd4d95e76f2eb11f0302047c435bb500683066023100e6d36ecb1a5f0689937f9f79ecc79f8417c3b32e1edb48f2ecf1ddd24f3652cd2b3b1b1ae6ef035820bb54a2dda84ad9023100cc44bc2f8406b1d4d1945cec62c1d1e003e23df88bfdd801b29a2300af3b2f2861c1706b56d76fd5381181b4572fe3e80302047c435bb5006730650230098c81527c67dd75ade6e917e3b22092c5d810587afd11a04c5c4c47602e6750d45792f0d1933864ba4bc48ffa80410a0231009ba182860d0f1194e2635017ca954d32659eae2913ca49063c2d1291bfcb1e2adf5ab878d8f9d72cc2d672427b3432140302047c435bb5006630640230416fadc2e5177740f003e11458d6d7d0d5a83a5165ed3c14920e932311d6ccbdbfe0e22218d30846de929477b876ac3602304c291895b0a55ccb50344b652e2ae7367853421d98138a5b65d73a32194f9e17a3dd9cb4131a7db0021e8ca3abd4bce50302047c435bb500673065023100e2412f3bfb2337be1388ecb000492d33229d102696612ea08a7f802cb8e93eb30e93fb7efbc13fdaf758dc51c1ee67f502302e6a8c3ff292db0f9dfb3841c0ba0711000613b3c8ca436654366966e63afa9902d2be9bcbf45c721ed7af2fba6755c50302047c435bb50066306402300541bcd29c587b27a8f8fb2bc9fc996ec5a0b690d250bcd607b58fd88d8537b009f154d78d9ac6a5a03096807da4bbc70230574cfee8ab7caf5179fc3e26dc78b72ecd87b5f1cd9bb3e3fe078c3e24ac476d00223c167216efc0c91ac4082dac05d90302047c435bb50067306502306b2267b6f6f4560ceb36536e4e600bb004d0fb1f8959377c26c42afd778acb5f944135b3a30b83f260098f1aeaa4646f023100a012e2062d9550277e95fce7ecdab3c542e21f278a79493981c6b8232019bec919d0e9c8a41ac966f475c73aa97e06440302047c435bb500673065023100f6642eea110bceb0bb769cdeba7c91337b3dc749ccd42f03793e820df9cd1c0f8255a39707dc6686f217ce94e78a57240230478c4af6aa0bb740ed782502ae1c02f3342a6221b3f225ba7d6ec3d0a3bfda1068750dd33bb945d6b3b2195738d334cc0302047c435bb50066306402300cbe50729883b92975ab64cc020b5116c057e8e0bb543b58127ac1d1a9c25837c135042ac677a6c43d9baadfa0b1d5a002300d12e8f19e0bac7d67cfff1b764dcc245184eee5e2abef9ce6ab6cebf9d40af187dc471c84f8515e33cac825795fdef10302047c435bb50066306402306f592a02cc2af05ac05ef4c65a2ff61ec2fbd8f0b5a7964a8c374ba470d855eab4d437ccf0cf69b119e9133217a00ae602306a7902a36e957ad1c1726a6c6e27e36f7fedd56ef78e269b1ba30e4390d2add16662eb62a84f985fc2b461b1222df1c90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bb89a02062596c6ddc7d86bdab003bc8b085a2fa9789ed29cbe47e02240008d34cfe25598a0ffb836c740e9a35f4fa1402303314af0d7acc3012b36fa6188b9511ec6563978b78c248938073ee870b171b59df9988918447f5943f33c1a51553446f0302047c435bb50066306402304c78cb91391c736f3aa655b3bcd19c0b01cb4d7d1c19f308a6d47700474660cffce5a3d10943b6d9160b19fa822cce75023024124e61af2894ee3b4e76240f7bf2b836663efd064463ed0647b4cef87cb4f448605bad1e56bc5cb65a8490a6201b3c0302047c435bb5006630640230362b025a338bcd21aa6574f0911b33f7c50eb9c2eb6bbcaf5dbb540ce5dfbf881bc68af2357e3b879f4680716f5a037d023029c3d899e7d4a8cc1390a42367a76d87b719cbca8eeddacdb31b21a3242743d1ab168673bb34045128f8bc8f7395ce0a0302047c435bb500683066023100e250fbe831f5d1e149213238ec301e03181d2e1926d16450046ea06e5136d50dac8f336b2e3c4c6a2e1ab6278a8f003602310088a1200acc180d0adf719c4b722b3bcae3671e9caf090247b59fba2c6f6d3cd2eb925342592ed1956daf057adce894de0302047c435bb5006630640230566b69bebe63e54d23a578f5a6525cf13adfc662d57790432646e129ad25121aa96dc7964dd3783ff71333fe60afb0a0023028532b858f3fd02d3c09f75ed549feddbd3ac3caf3315a782a11ef969a4bf8789f24f1f8ed41993f20804d9ee9fad8290302047c435bb500673065023100fb163fe4d6d6b4caa86c10ad98260f715bfe647f5a82d55794d38849e5b4597c9a7b1248a246a3ded57baed4451bc62502303c43db1af37d9d694230cce5c848bdde0a6c8c45d272b798a77d33a450d78820068923559a34efc6f0bca6aa5ff8daff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230172f186e9440fe14fcf7688b3543c5404604ae633e98c5c3927fc49e5131a19e73a2b12147d010b200ae7d2ec712a160023071fb6b86cfb60e23377406c212ad17ba0fb50ad49aa5c888b50d205e9b2a7a5c168a97f6a4db377d367d79aa36beeb7b0302047c435bb5006630640230739e3d65c3c8175dde671340837fd06d6902100f81440466940f091ee752a7f6c6f1c6218559061b412af69d675de99c02301877efa63edc2169a219d585f966d41b3107de3c848ee6470e21482b6dcdb810c75a7bd150788cbeb77cfa312f4c64520302047c435bb50067306502301182f8b4d77f90805c25601b8844b4020d539226f44d9d3bfd6ad1be6289b2849fa61fee22db4582a8293304c4f30c5c023100c48b348bf8279ad337edf57ead7941e1c45b8a79c909b419f3c806dbd2c62049b329b7510e7a1091eeacbd0964f08da10302047c435bb50066306402305a4347e6f38ea6d39e7921135e9fbacb915c3ba74ba361f50c238c62efe859396fc301b6553f9fb298441d2ce993c0d6023048e407c4ffcfa3ac9d15547ec4141a007dab11347c3626012b44573d3cd3d9942be1b2080cf5fb89547844a037714ab70302047c435bb5006730650230128ad46140cf6dc70b31f1e8a4d0653784681d9a3a674d4d79899f230e012a08a5eef2f531ff36b15e9c7b8e2f527442023100c4553e953a03be9c81cb999ea7701b3af73ba16d2ca0a682f280ed1d7a09f68843bfebbf9fc21eb94206b034b1e3cc740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023079a6aed30225eb5616015ebcf68d3e736c46ecac3ffbf539b2fb058636d10ad512fe9e5aaf7c7ca08bd1a9ee80b365e6023075f9cf87afb655ba1fcdc7fd8e90fa868852e16d7017317c10b60f3b07b98219a43298272a0becfdc8fd2b864a2d54750302047c435bb500673065023063f4e21f3220c1f90a7e6f620fe990fa195b492c782c064bba09debc11818b273445363bb3fe7fe4bf82be37bceb0300023100d32554ddbe94d45db2b7f9dcab2a1c410c0d2b9cc2dec62ff8156ff3b0a8b8630d74edad494e6f608f70c5a01120e2a00302047c435bb500663064023033445ad71588b02515f691f85fe7340f67de84afd3e989a6954d4135ffc2d4cb00a8bacb5b6fb67a1a310fa40965f071023006a633c406f2f22dafb3c78b1e14c0ab46cadd879afcf510c0ea5ee37a4e2cc895822f4206155fac4468b2b23132e1c30302047c435bb500673065023007cd60e63c8ba8bd3accc4bd6986a1d11365a0a01a509faed3bd301a442a0aba3b74090c351e26d17b3255b538b3c8a902310091b25df78c780a39efa618dd69c2e9833c4810d387465a6d1d8b8bde323dd1f3bdb8e4a4f981547e147bcef267a33e020302047c435bb500683066023100b33cde3d66edd715ae87cef2b601eca627e6e8846290fe71f18c38a13cd141c51f2e73cc02de53b268186db3a239cba7023100fc6fad10ed124d53051afbbac11aa7e84a6551b9464c4bbb8eb6c54fd50704bdac1770693772cb50842fdd387026dcd10302047c435bb500663064023034697bb4212990c01ea83de4de48547c379f0cd418774c90addc70221be2dd5b929d0f54c6ccf517d30e2aad47d400b702301fa448049dedfd6104f2d84d71146ec10d02500462b9206d7c1725b469e8882d7b6d1e08100ed6c9933952f706954fef0302047c435bb500673065023100f9673d1db8f2d66942d6fe1bccaa90b54ce522aae68a7d2e263e36976afd87b283976e1a1c622a9144475f8bcc3078c4023036f7d400a220164b250e647747a2eb543f4f5f12fa0b2d4d8f72a317c0efbd3215242bfbab85ddb12bd9e84a1d5e0a2a0302047c435bb500673065023100f4f08df750b66faab54db7ec53e70ca867ff6f9b12722f504fd978eb5718937a182e6b2a9802ace7168c5b6a5b276a28023062f95397611f3124c411047abb8b632a91bf8fa107234ca7316d0366fa64a16c5a44aca3a9167925bfc6789aa73c13880302047c435bb500673065023100ba754bf3f9b89022121f5d4f590ba5169c3c9e80fda240b958d4a3a7cf21351fd2e2f5ec9db1c7e5cdd2c9f6ff484322023003788e69fbfab0d03491de042d9b6387f203340c68882c7c946eb61c745273aa6a14cbc91928899d5a8032ea9991f0150302047c435bb50067306502304a560331820f8c99354805b770e9fa03e02287d3de5430af39372f5728ea81c977ae70db7c42c8af44ea5729eae1e379023100bffcf055370fb9c81e64c5497b318fc63dd7ebd20c6486d5cb296269f34dbe662b10b08766d9b42f3da1000393800a270302047c435bb500673065023100b38c5f01eea7fe230cf37ce790cf4b6e7db9d24ffcd0ca614db3b0883c7a9cc09bfdd0a3d3e0a60971c63f26d423e463023078ee09b4f93968cbb06c137dc66a0eaf5c25bf483b6d1ba24bd7a39c4574ce7a7d6a7f678516972e114e95e435137a4f0302047c435bb5006730650230547402464e769023ec774471be8c9fdfa419e9556afbe85493173cb619ba3f3b7682e80ebe87f27e207580b2587dff29023100842c03f2e0322798731a59d667acef82d551ff00d1f8ed216fccd8c6daaf69e013348f447654fd3c5b0be64d974055200302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d8d561bcb52fa344e7a1cebe6d428f91141b116718402e94166b81e2203452754d8849b76fe4d5ab4d9c838a12083a5a023039a8c94d75b2241d7c9af41a3c9659d5d65d34be1ac3a86762c8007e0ced2e71ba40e3aa1647d32656d76fb724c3f48c0302047c435bb50066306402302ce60c90e998be95d44af8a663b0f49e8ab4accaa2111cb61c521294276f6310ff228ad918828a8d440900db97d714eb02307715416366bd20ff5a5928b5676a06aa688de0b649fc59b87020201d0f504b6077fc74ee5a9e6a97dc5f3db568bf72190302047c435bb5006730650230020b5fba734b91141dfcca425b006a4f3127db5d72e13767924f6ae46bd53f3510cf1048339d0d1b2bde09cc2c269d8f023100dfd155d1c28ba2d31df3bb9a5c8b32b544fb5adcdc2927bc9240ba482ebb3aec685843a892a379f59e960d934ac116a30302047c435bb500673065023100cb57120e0181dca7675d6816ac8cc6b80f2b9484ec3004aa86068654225adc10b9accc30676c7ddcf18ee396311e48780230595eae8bff996f1bee02b34ee8eb9a358e84dcaef6181014b8f5d7c3096e3cc18a1f5039a4a50182ed983aabbcc279ff0302047c435bb5006630640230094c7d879637c2fe8a8c7874bf5b953fb143375f1de2f491b30c9bcaa7e2162bf729658167e6c011121532ee66536d3602302d2995b8c4fe0494cefb8190b4d669cad758ae96f17d976d21b5c0275328f9c9e76333583b468641693a2841f0ef80440302047c435bb500683066023100a914c540eb7da79fdc561d3fcae0a5001ddde62ded04c7ee2901e9dd498e6427bb3de68590ec9d0fddb76644f0f34b92023100c3fd8be6bb4ceacfe59e1f8ed4c543b91590e9b2f07346a1ec9810aa996eb2e19e3341191a047be16e06154d30c3ad9d0302047c435bb500683066023100a9f1df233d2ce7ff46752b3f58512a0cc744a65f4604e2cac37aac7c710649156e5d881bd608271afaa56b7e2efd9ac9023100c38c8ab647d273498aac51bba821704c1b2d579e5435f60934c6a1bde022a6830504b92738fb1328cdbc87a8a96dc7670302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300dd8248247d59d9324b670c724a452338e8b76692436c920404e4bf8e16b4872b8c24af7f5f14e42e8cf9e26f1ca47d102304ca693bdf2b67fd82cfde3700832e176ffd5a3bff1321cde477723cc5e7bd5d357d4ea170d1560f4ed2e2c83e19c0dc20302047c435bb500673065023020ab84bb422d79b18ac9c6a79da7b1709ce5534b800afde123654f915d36973055c3f1a0893ce59b5d1a4b53dac95bf9023100dfdaf55f0996e4c0e968b7cfbbcf981a6d17fea5452bc9822150037dc5afee7c5062e653e928d7272d1bb67a97ee17300302047c435bb50066306402307fcd0b29bcaeb9f0e88dd9dff878503e75b40f53449ec611cd992d54983699a0824ec2e3468b83dfcdd27e378bd030ee02301137401c9d3c7f3fb4050ff214bf2694426ca2a18908a7d7c10e744e421b35f9756253cfd22288e186c2c4bad0a10cf40302047c435bb50066306402306d044b7c1212f128d4d2aa8773fc1f315b85927546bbf9bdc88ced2fb8b20b0a5a6fe56b7c5417d69da76edd32353261023069ee00b4a44b7739dda3eae3e95601295860b9c435b0093e9d906ffe2567e346a057218216fb0605fe70a1a3a375a3530302047c435bb50066306402302f10fdea3dbe0318f06af7b3356f0c946fb9461a00e648ca964d3f3d06a380e5e0f668f634d5dbf650537753b5670e5d02306c0a8e8fcaba948d16875cd43595d80c36419e066f62929e77d7426aaca26013887c3c01ff96ed4a2d90c0a90e3b42960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e3e42b509ce213eeb090d1097c79f309b7ca4e561317396c528c2e086169b6e04abc87080a302401544acf0a29a1c32f023037fb3430d2ff11435162afa4f4ab100d7c93702633dfe6e767828483f05cafb334d66d810ba5dec61f892dfb4b9c5a5d0302047c435bb500683066023100aca30d72454ba5aeafd0516c58cede1d0445d9ac2b5f72cb7eb4a8c102bfc5f892dab40c6291c6a56a8cd2d085085da4023100ce6f90cb864397899dec187a855c00c3b524a1dc9f4ad112ccf8733a79f239e3d01f7c701c4441f43af69d7c65e1ab530302047c435bb50067306502302c28b8cee72aed33f22d43f11ff77bdd53f3c026818d0da4b6c71e9a82fb9814a5c05d92f5422d0921e635c0db11c1e1023100d9ff16d491e332099de48743a51e1de2b715a026d4fcde85bf39543c930a1ef2617e99c324c68bc13cc8a7ee7445f81c0302047c435bb500683066023100cbd84994d90686911f455f9cfa0d6ec6f4e7b47ddcb71bac3e2f6d276fe60f42f52005018e9b41815cdb50bf3ac3dd69023100afa120e0dafe7615a9a95a979fef1a7f9f5d2fba322516434f06554f4bdc6fe9e5e81f4f7c138d39060580879a55da270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310096a2f1d472ba37d9f734ac80f5cf44e7eab46216d692c0b1f2ba9b8a7fce4ba195cd7a5d9e5c4c1b3ab763b15bf0dffe023053e4a1e1ee4ab17fe5652a798ce8706f5c5f70cede3712dd4db500b1699822779ad2cc4ac9e4839b4f0a8b8b67ea59bb0302047c435bb500663064023048eb6948bdb1bfdbbe33e95bcf2ee2eaa671af85e2d9b6383bfa26be9b8fa23b943b271058f8cfe4f48b6a870508f436023060a6dca7700faf1d880c53f5ec6a32f85762ed0c6e27ec6034cfc21406fab385c37629371ef8fc436bc91a27b608f4980302047c435bb5006630640230697c66c35e3c22da83aead3c111f2ae618d38e557e36b40285be58a3bf8e892931338552374dc1b6e1b14ed5a377e594023014f23307bbcec6011b7b5875ef61f32ab6a6aa6e2d9d01191122b08a3d28c8716c22beba694c98aa35d5303b6418c0ad0302047c435bb50067306502301448888b98f54aa2db83b8ad2cb9e17feafdd95bb96f9b95bf1f026abcc7b69a79be81e3b7d0ababc223c319f7deb7d8023100f0a0761be9f8cdb1171dc03108f9fc8c0ad40d093539f823f9c5ffbae384fd91cb309609dd30b47bb50e8fa1f9134cc00302047c435bb500683066023100c10fab00fec8f181184b5b4580580c79e5ea024f71a7918447401d4693a52b7c15a9d022af0e3b3080891980f1e565c00231009707a9cbfce9bbb3bef451d64d8ef86337a5d2930452f7a27b25ff8975ec39627f3d01c52305d17d9efb923d5f3937b70302047c435bb500673065023075d73f86041c8af0162c3fdf7d2f211882d70a3131115bfbe62295cbed8006538b14e38fa14f1f2e832330365b2c4dba0231009148bb1afbb8de1823d9b120e4940bda765ae14eebdbf8d190b70c352ea722f465abeeec0b961ea35d63af009fc1bad90302047c435bb500673065023059a5b33566c40c4e17b0defa6b72d0fddf54e9ee60fd06e8c71d653bae6efff0362ba6a0eca73842ed855d76f73bf492023100dbd2388f18c9334e1c8338085ae5176457f2d2a3e8d9622faa20e9ab160bcf1616ba5b3816db7425595c6920bb5c83740302047c435bb50066306402301d319a3bc55dc0c0ec6d4318dfd056e65df451897114f506cf25567a4d75c020c11d0cd580d6052016e5dee5e0ac202702302d27740dd65cd289cb14de9f4e68cc1d7642d4ccf1cfcbcc1adcc26e516f11afb7057f67f1b792aed88c3d934ea1dce50302047c435bb5006730650230679e58cc52a39fbb7d6a0dddf5705053b345192553ce28dd144ce313fe44bb119bcb076bd22f24fda672602244770c9b023100d32629cdfb60ba52fed39a071237fe61a2c5c060ac7557e511903ce92bff4bb5c330f28ffcd48afe838326bc086d9f8d0302047c435bb50066306402304174740bd8f470107cf55e0374e95ccc2da67fdab9581fb7d4da2ede74eba5fc10624c68e13ccdff679a2ab56a16982302302c389dd72c0cc2bffcf9b4ce4dfa66006d3dbada85aa8e7368e4da45e82c7ad92d2360e054d628205503d2427e3c3f5d0302047c435bb500683066023100c34c5b5de39bab9a50b3a8c13fa9139bd7296ad761dd4fd2d408e07b327d15d5f035475efe3b6a16d888742a2dd886960231008358e87073d2c50ff0203b04c6ab2fa18ddbb7acac47111dd0b73b42e03030fb40fd126d49da4ab0d81516f7fa7ffc3b0302047c435bb500663064023056a947f79c18b27f554f5e53306e04c289119190f9c580a808d53b3c2c8ada1519b2287cc17ded59d4fbfa010336f9b2023062506d79bd6ddd0605e5a615d579217225894660544c9c60cc78f209c37214fdbfd9cb6cc384d35c0f70831223c0091b0302047c435bb500673065023008ec8ac95c1e075faaffbbf81544ae9176ea4666216d519bf1db2a918bdba3da8dac68627750b7c1f32255fb6d52143a02310085589c6a8797e36791f38e21a3ab2cad6aac124c4660d41489460e6ffdbeddc4238069ea17a500a33b564c42ee7e7fff0302047c435bb500683066023100f6d3c9d71f869ea03ebda5efa35104be455c0e5cd3e9c91c74426dd26d19e5a63c82d90334f022ea99fc355b040e0def023100b14bef6c865fcc82c8585e2921458a401c8370bb79e6abfde29e5360c5335aeb33b84e2c9aa9052d13a9d54bb9841df80302047c435bb500663064023079170b0a021a0742ef335caefb494721478628e506ac640c228e92c919c4da01808378362bc9696b1661dd3ac6ce139702304075021447020704bf644a662660887de35360bc7d6fce602b62f7d882cc4550107148a49cf5c4f2905d8702f75743660302047c435bb50066306402302fa11c60c95145c8fd353fb32de6158dbaa1a2c8dd57ed2b72d14c830c506a143ba5b648edd72bd411eafaea6927a66a023028ee53adb19728ae8018e89ad653d874ef2a3018161dcc242a0da8002a9316d4d021fbfc6e118f214948866bf82a27730302047c435bb500683066023100e5653e6dcd84aaf0d9c07ce5cb58da8b1a94272cd978bf93753c230bd3dafcf446d2c58e87d37003fac90521d7157058023100e22958c3481a2d1d317f076d28b8b3a2bed297efee40871a52b1288898b34d45bbbf82272b8121bd23c280cb7a1f579b0302047c435bb5006730650231009c8094deb0246078c79a4b3e0209c53ffe1b4c50760ca32e3c0aab8110631a4aa647cdbdb2c7d92069cce34b83e6b2e30230138ff10f0f845d926d031a98c3b08a7bbb41d029e7abfafb80922a366819fbca26b7afb0ebb6898fdc3d7cc85449b2540302047c435bb50068306602310087e7e72f32317fe8b399ca33abfe7892a2d0f4a5b20b99eda9c8a7142f46afc969fa4b3cc115cd75ad781b7a4374d449023100acba5b3e66524e23953624b8c475df82e69db21531322ebc6f754a531ecd45c50ba9070e645c14a93210932c602c142f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023009896527bf5bcdb4d4e509c7efce9e3aaf60744246fdb2cdce1439504684f4720eca9c1ee76f5f5928cc44ba0f8a5f98023047a9fc149bc38328e58faaa30102027d72d3b47f90d23ee70b0778a1fd4c6190d3ea37635b210b80a32f92f721ecb9050302047c435bb500673065023100f184f0b3cc84d2c0044f4846bd0d8193b0de821ad36a7dc209b9d824ddd7df5baa23b1608bcba85b73cad9361a3d1214023038eec3b7e74ab296881cb7ad50e2b13bf222f363801c2697d0a41f395867b0d5102e8bcf78f993b3ef5c3cc7d7e5c45a0302047c435bb500683066023100b650ec8d33361b3f76ecb81e84a81093b2ef91e824572edcc6d3ce0e27d2bb8a24b40466d19100c52403033c6b894dc7023100cecbd7971c3e028b931264ea663b4a96e8815c310e6b022881906e3c449de4588860c1199bb4f05415cf94f68876c3270302047c435bb500683066023100bd7e2f119cf9da36e66a2783b7c5831d71497ac88e2cab47575055ccde586f00bfad5e8a051e7d18d0f8373d9d36fc1002310098e8651a523c62e2d7ea9637671e010971e275572ce21257b9f66fab4eedb07d670a1f1a6668c38695b6d0d4825308290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230322d934f775fbe5e5be38ae2ff4c17eb661b2653c049962256d31dc348156609fb14c6f64f519245ee66e14b4cab54d40231008cc79b65435f32616a27ac6e3be0954b8d1c5d4e39a3726f8551ceed0d390b7175b0c0649a4cf849cb90258c6fc8356c0302047c435bb50066306402300bade5b9653623cb62fe6c1da513c0f18648ae2a0e77a174d0c93a92460564da028dc14a328109e9800892bf781e6174023074c9e38841ae4c02e5af24a917c6e7213e5a49c61a74dd6cea09b2c36de0039be1f1d979a64ac44df322f8adc91ed2180302047c435bb500663064023062748e1344024eadfb7fe97ddc64b511eeb09edd760a624d41e397cc0d46263120bf3fbc1223fedbd0ab7c01e0cf41c702303605e58642f53c33c8a1177104486c6c761d02304045c9d23bb529c383b09947fe4b5de564bd9085af2f0e4f0f84b6aa0302047c435bb500673065023100bbcc41477e87ddf77078cc1adc28a3d63c47d7db7b3cfd843d756e4306752ea67f4a91f1fcd5872ab2e9dc96631da55c02306154d7e267b09175493a187846de26b3dda94dc5636113804344355405a15782ee19cbb25d615303cf3cb429632ad8630302047c435bb500683066023100ec88f9ce6d0e156310774c8ac41fe9975835b83ac024663982aa335ea7d88faf5929b891141f9b00b05a9f8714c01f74023100f39f043b83f287e165dca2aac752950aab49f84703714cd2cbee7f3e69d2645b8f8ca99e172b939500c3d1838015bc7a0302047c435bb500683066023100ab2a8bfb6489ab393ad1ce8776ad1e08fb70030fbc06509087ee1ac73c860b48e5a9530160228b83c5c201c3fce8e7c3023100a04378679fd1e041e40f6f684d3d256d13dc352474f649fce1866fe5a6799d50dace338559cd4d5c34e328cb193be17a0302047c435bb50067306502303dcc71148935c23b6b524fe571a4881478dbdf12e6b57d85905b4aa3e883b2d81affe0042a5b1b635871e2129daded39023100c2d44a08df52bc0fc2882afb4b362d27b98935f2fb90acb1686fac6bc3eb1722d28d4befc575e56baada069d3d87c6090302047c435bb500663064023063bd3a9e263bc4d7eb186f30fc775ce7a544507be2c5d80b793d07438d9147568848f3c01bed34584bc55135127842ae023074fd8aa0adcfaf468f7abc5f5cf83ae9c7c3f4adcd7ef9e009191a6a334195880cd824e877bbac979c70d6a2c1669c1d0302047c435bb500683066023100de74a506aeaee339ee1a620ba52c3461ca1ce996023cc87afa7badcba0ad8ee0065398e3e2ff5fd3eb3a029ccedd37f302310099c19f83f544728141dce3ec50d957c936c173bc058a9d345e60399346d31dae647a26c78ab0bb2d1b28cd9e1eded1c50302047c435bb50067306502302682d45bca36be119a3d386efe061e296e172244e4e20b2f6213be4b3bf0328dcc87d007581e9225fd9e479576cdbf06023100ef3d24efffc6fa6392856dc981902db43cf5c0c2e275dfd5052d5eca88d7cd54313f6ff3fa9bfc2a908b7e5a9bfb40080302047c435bb500683066023100c5f8f4d19e662728e7cb9fce4e55ccf37552b82118d318a077e26ef14752bfd78eeab2bc2bff28364147fce886874535023100f6bc8fbbc26e5b455007346c8c41824f4a5c13a8fdf9098feb5757d12ba189579eb2a251cd7abaf550d3a61dd5d4b3f80302047c435bb500673065023100cd34c5bfc64d4811c95bcb9937d5495a2e6148d71270c415ff92836888e244c69e9b3472ef910ae129560bd8e822e78202302c1751a3c304d56b4ae3de7e1bf34ce7c44cd28c7f0b524b0dbaa4793d0128f9b228ec7f7eea95b2160da988169a770b0302047c435bb500673065023032ac5d8b558740bbba2e229739e0504df0a68c2d475d565b0d466bda88a20b237b655c2632d37b7b0d8cb305b7b91cb0023100ec75f939d9d6fff047801baddca3112705981da1c930f73fd238894254335c924100ee095e8af182c5ca0a7eb68d6e450302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b2dad19f257124eabd0daa5834c79ca9dfd959820bb0596934bb6ee3cc4f7717497dc2228b29afbae3530271b1f9807a02306b7e3e7f143458819c7df10e4dd0c7ec2bb581f5177b13b80c50f96b066555c4bd21d70ca5029d4141b1c24f2682043b0302047c435bb5006630640230258a295d6362791a8b427dff3e05cd3020fe6374362f88fe6e1cffbf802bcf8450862371d4d54d6c6f65ee618422332e023070f0e4f3bc4200c02781c96a3331225943cf94a2283f830af95327065092ba413ad12c08069f77c41aaf11b07d4c89400302047c435bb500673065023073de4e4ce495c57195d3dc26c2219b92c351c0caa7022c25aaaeb0104eca530576d0a5340548ce6ada1af5ff1bbed0fd023100ab0b613bc3ce43e693674afe20874a62f5d64ad3d6688243bdb34e76e09068df135112e6fa79cd064b3e8d1c94ec3d470302047c435bb500673065023100b091d3c84eab9db751aa417c8f0b4c2b2d395bc7b5a79225587279c80bff298614d99994e1c6bf6d81e5b18ca4c05107023069b55301f5fb1a35158dbd41da4109f3357b49032e47f9cdc4fba60c3e4d39415884a3e3f2982882664d3302805ec07c0302047c435bb50067306502307c789081df505a6347cb8e30d66c5f7533b359ee3e5ce90beea019d42503ca0a9b73aae0ad9b8f9d09bf08733bf2cb7d02310083e8a95170331bc107ad6e751454dd0aa26db9f011fb411df2d0dc296e35da3d7c839e1e47d2abc3a04a81c5bb8156890302047c435bb500673065023100eded45ea788f19ec94945b2deebca6641d0ac7d9a4cd1915171a03b2c69c28f9984c45cbe3fa251075404f33a0494ce602305f68916e6640a7e44e454b894ad0bf486b6b0338d460ff0e3c543e5b0a2b627afdfbb84c4a37b2c19e3f9c9f436a7e2d0302047c435bb500673065023100e33befe698537090838c8923f845490c17d3e73f0adf3f2c24c590682204560de653001736a39ad32a40e6f3b02d949402305c4b0503f7fc288a5dc037bd0157d3ad78a0d0353aed34b7d6734536504f122b4020128b4e6d51a3de85299aeaa01a1d0302047c435bb500663064023021b226e8eb60cd973179a24f28e50ab4e1c5424a154f51058faa9529c67e505bba884fc235fbe0cc0ceb7a02fe8bd98802305f05f8143d1183c2ef83ae4cb2deb94882f7924ccff69d201c05a88fd582debce24257423c11f44a80a531ee68833d760302047c435bb500683066023100f36f700b57b3cde0d51f6b9ad536493d66c18c9652899bde40202aaa59601a071ad76cedead54ecaa49358ad9bac8bb5023100c1bd7b6ff369be55af5d969f52448444f8ddc5c7031f84c45bb8b8a3e5373903aff6171aae36bc78064986f718196fc50302047c435bb500673065023100c86023ed4e97b4e94a35e3da544cc411a240c0ed51436a2c1dd99ef39fba03034142675e141de53f61d487ccd8da129802304ef2938a764e7c7ef3c7c4060244623bb93146235aaf016713c097e3e3ce895c64fb81e2fd7f1b90d4da8e32afd169320302047c435bb500683066023100b37fa66bb3e7386cd48f3acc7ae886f00be7e9ea399b6dfab49659e556c54531acdb152711ac5f42bfa0a37cd2a0ea0f023100cf49aa9adb5bec2cb3c779cf298894c59d47eecb6cb221d4861b393bdaa58c60be1423e25f74b0e868a5138a409680370302047c435bb5006730650230343b5edb0d582a919408e9a15c5a29e028426add1f1524e4dc399466b299d63d8b6eb019addcf5c9869f5f7684f35365023100dcc6d6c21f699152f303a490bb0b77a61da4e4142ae53d0bc1a83496c1b3d35edc6b78b87a03a15c3dcb3a0fcc01ff3a0302047c435bb500673065023100a60cea94e1a0aa5e03df6ca8a1fbc257354b487fd6a25ba7b154c2dce22f504217509d91ab06881540f71a8da2a9812302301b79bf3633078b8004526c84e5728c10314297733cca2a94e39c3143b54567a8c9511e0c68ad98a2a957d388e7005f4e0302047c435bb500663064023028b9e2b8564ea2e785be3e24c8f6e4e8c77e6956e106dcb12368ebdc96f0b1b96fc86422096702709ce614fe8f32b3ac02305edd0e170299f251a92054d1c2f2116e36ec0a80a8f788612e5a0240c07ae83efa4754b4dd4bdb27457afeba23924d870302047c435bb500683066023100dcd724c837d0c6609bb5ae0e9990a5e25ab4c67ab611bcc80a1750ff22fcee9b4ff91439c98b3c5f3c84b3fb0e044dac023100c7c90a39185128b3c1afada2daa0c8419dc2d50943ee0aa46bb05fd4a4f112dd757b16132b15d663376c2c8f064c60ca0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c37607151213aa263150936d9d71e73f91f56a232188bde2a6dfd3f43403d97555c0e24347bb0e03a9ecaf378b9c19f202306e0940f9d2751420e6781505a7fd4833785e5c094bc566455bb1262d9d3cb5712661cf3daef17e4e67e758942dc345490302047c435bb500683066023100a2f0270b76618c4811e48cca99cf7c05040a9a3e2e302de661f5a49648730236616ce9fad851f9ddddf06e69667b6bbe023100ce9061d5a9bee466419898abf70d5c1f3cedf8bd60dbd0700c3bf1de0570b49d242e770c690cd0c7e6cf52583be7a6090302047c435bb500673065023100f27ddadb458ebc94ca257a47812c860b477d71030edb64e7c01f94a2dbd74228fa2059651cc725552355562ce7c77ce502301e241d42671518a7bcbb88db77bab5847d61bdeac22ec68f6faa2ae51f8796710bff8ce24d3e221ccc719835a0ee3dd90302047c435bb500673065023038c6c770133a626706a89aa414dfe10b76bcb14a78a7d14b4f56771b4b5d75f94c32ff3881f932f2a3ff5a0658f09aff02310094dc4bf53cf514852aca3166ad827804de6bfc4a6907a72c5cb9fb0963337e4ed8e614dd8cc0e92d59feb61d67db85900302047c435bb500663064023024a5b4f2e8b454321a12f12bb80a3ee9db74e99db0a6fe69e188e5f49cb56077a3ec9adaf483f306a4141d812191d2ac023041cf7a8dcfebcb4288327a1bb6994598e423b89cd3fff3c57fb709e4876c11368e1ecb2bfa91cfa4304e99f132d003b10302047c435bb500673065023100edf877a8637dfe18c12ec145096918fa6c06e71e7f971ffb340478117eba5197138e3c257dd232d3cf7d5f09f12a375b023015d28053db968325bc141bdac9846f8a11ab132ad0c059f31e616808233e4d69109af0e70574fb906f800b8b20a622040302047c435bb50067306502300f0f3b09dc2bac2fa6854e6507fa9cd9d0798584d495cf399b33aad64f56d12cbf42b58ac2d9642fa3e3138f03d3af5b023100e871376bef7eee8713839e4faa379435eb39f7952f491f938a097148d157aa2f03fd9c1317b46ad36fe854ca950fab050302047c435bb500673065023100ac347455cf528e02eed182f1b0c208584842b260bdc10e7a271d0b2afbf1f6739d4ad84c878ff2cdbd307819abdbfb3b0230408b62f33c3e70e62a271be6f92f12f26472c513a8a3d09cc95836c8c01051407a7210c842b8a17c766510402e9bda4f0302047c435bb50067306502301d3971381e6338c39e3331ee33741bed626b22cf5e4d6bbce302c251c8122a555add8be1f68052721a44ee7a691f22e1023100f1cfced59ff196a52ac70d196091dcf2bf277450b4039eb07e4bf608bbbdcb9bf47aeb4e83820ab7e450ba0d02b501140302047c435bb500683066023100fc9b8d7c34d93ed383be5cff4b7850662c9b8ecf50a4e6028632a331326b9f4711f80c92a31e2ac36b76d66107d52461023100975fd2c01419585fbf7fe91c02fa8d261864c290192004f35f252cd1004733d0af5ec33b7a409dffa3edc9ff9d5cd2510302047c435bb500683066023100e5c523c66748d7a6b836fb124358c1773e27c5d726f3e1142c027f9a540d0a45e24d57c696bf1f9a39874cb8deac0d04023100b43b8df17c81482d05b9582ca0c9399dea915f8a37efb8bcb24f5c3895c46b16f73ba3e50659e82e0c4ea2bf4aa0f0390302047c435bb50067306502310096be67e5cc3a222546f08d9baaa91a5e456f0d262354b16a2a4088ee1aab33db9ddfbbefabc7e100f4f76d87c649eba60230487c75c94cb0ffcb6444c6d8e60e6f647fbacc6a04a2a2da85c5ec216512fc7bc9aa7ab44670408f14c5a69fdeafb6420302047c435bb500673065023025616c5cb5d166923061201e487376438736e849f4907d59c33f92dd880e6513fe1414b9d57900b01a56643b1ac89e3302310081157bf3373bcafddad56f92b1ad5a7071dafcdd92b01d0952158725380861aaa5ee825bb0650ab9b662830a565781d50302047c435bb500673065023100f2fda17bf655c58001126261737767d67d7f33c99961b3710851866007d464e5adcb3096489577d92c7d660cd5bb5ec402300264cb04caece9c3edd5efe96fe6f487c50f7c80a7906149cc382a94fca6b7186b501c6e853c8a9755322dbd7e28216a0302047c435bb50066306402304eb9f65aef7726658826bc9a97c4167d6e65e29ec9483f242c7bc5ea52e1086e1571b1dde2cf74744c68426b5dabb55a0230497dbc42095ce8c9b60bb732422092be256c2c3e1ce30634a119aa48d1362bba4c9dcc4d9962b16e0262c1d0d7a02ab00302047c435bb500673065023100ee24b93bb9948983b5ed80af349608d3c32c81ca5094ba5061a8a17fc1da6a587e883c0c8a8342c076a8c22a6675e865023055fc7fa9f884d12a315ed990b5a2abea420a17ebbd9b58e9acc5524b18a355a960a542498fb9d2d95fc9ac3e93c58c7e0302047c435bb500673065023057af69d28c820f69f369241defb6f036d4799fe03c2523d5419e643f9668e948ea8fae82ece69ec04757300744806c79023100e4e0654f95e72ee41f9637e869f52e61d9408f22ba6bf9c6c7543f5ccde4aa0e17dbe490f3f668c22c90b6dbc836582e0302047c435bb500683066023100edf8cf9413b476c8e151ac8a9556154bde956c4630dbb01d3174da45c142f31636aa1b2b891f975d9a7a468a55750db60231009311a90dfc949736af53c26d7eddf35f7270daf47827e74a72d62e8c7f46f6b9f8205e653bfa2f863e459cbd57a9e29b0302047c435bb500673065023012c66ab0b3cba97d43b737a0062bd9d60e45246a3cd1f778e53600764f5abd8013137c5fd7f2919bedca7cb1765bb3be023100bf282ff25075f02fcfb76efe366be7e523773e242f3b718a69c7284f7e2f0967919de2279a1e7bfe5fe6beb5c1df3cbc0302047c435bb500673065023012bf311382a935768460ed2d38a478af1a7b53e99edf6a47c13638bfa60be861d7ded95b8fb3b0df82e12a786b2dfdc5023100fffc14d93c2368b67cefdac7348eb732293df2d46c939c543aec496f830194be795f5ddbe8b8a2996eabfd24883bb6ee0302047c435bb5006630640230724b3a64775754f98a768e063e7aac1e1ad7b8a33e353c5e0c961e2c6c0ba81bbf36198a08ccfc49afb0b43efd9ef909023041033452e79631fea08ec474389503b939ddaf54afb319af0f16e7b41520401b92dda8883cec671ad31ae454928cc4130302047c435bb500673065023100ca5b8eb1d30f0d5c724d79d0e3c040b06cb5ae32190d041010f57d2511bcb7f776890e568e336b9671325d035f2454c902304826a9de43bf20eed95dba96e9df1d32620daeb28e77e542bde07f9081a8077cf52bbc250d50344352095de11e8051380302047c435bb5006730650230485c78472ffa357ab908bae6c13dee0e8c2e6b2ed087a0a826941ae2ab84f2fd1a9544fc3acea6181a03d92dc3fe4594023100df11729287c2d4d1ba85e9dbd4f73c7cb3c9118a1c101a6094be791a291a0560451029717ae483f48b1891947a345e620302047c435bb5006830660231008fb5e32473a5f1133377e0935d3a4b909fe6eacda9be004d488b7b79cdf4ed690152049770a8c4e9a41723a43944e4c3023100e2b315f71bf5f5f365f9eee084e671812b49e09a1671aceaf06636347d362e79ca26877cdbe516ae1adfd0b6a174cd860302047c435bb500653063022f09509190a61650718046b0c8c6e6d9a3ad9d9d1af468d0b56f8d15e478501432e08175e5b7120e1e7383b1b0566a4f02300ff4c74bb7f0b3dfd333e59ca9f723d99b658c3b0c79f020923719c297b13b64e6252868d4e5f3a034c09723f811a3340302047c435bb50066306402302849fba51b08be62b881e8f66d6723f8e36a3a69e3c11c60d068a306d150d6b5313b81f447722fdea27a56ed967ade38023069a011676b9297d1f500b35ee1133865e87b74612d26db5172f60ed46a0b0daa4fccbe30d43d7ee0cbb80996430941210302047c435bb5006730650231008cb840a879c7900b76eab0b4838385084e58ea0ef1836eb1aebf831803c5ad1825ecf3942d8e1f528369be64810aa80c02303d44f3037b35c6c668a240bea05f6381e05f4ce53db401a8e26a225d7214421b9d8dcc3ddd86d181f89362561a32e1090302047c435bb50066306402301a24916b325e218c76384e4536f4d482beffc2c91d09992107c482a824677c0b578befe5da49bfb7490841af3848d164023042e3d5781803d68ccf01b0e334970227c572c26cb89a2707470b7841961838cea04617d8530f6e4e686e9bd88e15fa9c0302047c435bb50066306402303c6be6e2108115fd9a3ee0de68f3d22cd1f97d20f0bc2dba762ab8d2d2a3d0931dc1aca5263a4142ea9bc541c0c8212002303e44bca35bcc5f7f841bedb593b0460037597bde650da22fde5e0ae4873d2d0d316de1bc8d0cabcb1f19e460b22619320302047c435bb500673065023075f7a1a4c25ad3988c0299b268af3ae0019987ddf7ae473426feb8c237dd9e1833ea99a70adda1bece86c3fcf169f18a02310096ced5725b8c2e480e311b3d5f0ef3fdec0816d34b20d7cc55b1ec9e63575de837cf101ebd097450bd36d20e3e1f33600302047c435bb500673065023100fcd919aca0998995b4408e570eac91874288f9e6bfb6ed2cc6827596e8414bfb745a2c2e96510190a33bd1048f5b611202303c2ba9e48cca9760321c9d43774c98fcbae1bcf1857440719bcfecaaeb0682dbd2869c342810816e0df3d3e74c101e4e0302047c435bb500673065023100bd254b88d67fd2086ecaa3523b6fc3c664d29f316d015c941cbfae54cc529dd41b94c7d034bb094b25122ef335b4d4ed02300b6c3e64d58d192a03e24107a5a3e4b3dd1bf9bbe9a5d1faee9719c243395df0db8e0f828ed979e2dca0af956d86ff1e0302047c435bb500663064023100f120ca3f47cc78ff25fe5a12ebb05ff975d3b30ff0d273b55c06410a7442f32fe225fa0d4b9a0e622815d0dfcfec8809022f07021bfaa289ae5f9fc77bf26fa407dd7e2e74fce0a5f715cb86edc2a38aad9e0b0766b7b9e7b31f9f4c2ae65b1cc10302047c435bb500683066023100fb824621b04a86cf74496cb5dcf2e19b31095d805be1af77e7d9fecf6b6cb1dada11a2a48dc7055fa121fdce40b97633023100ccabf9a6c5a605c54639689ba01e3115697cecbdbf52c2eee6fd16544ef067a32e35356fb9e6a7c51a7d2f9ed128f2700302047c435bb5006830660231009c15e05ebe0f29e91ecbd68f7acbcfb93fe51331ee464de22c016d2894e4c2257cb0e1875fde67e7942be4ce614b9c90023100ffe058abfcdc75fa52dc2cfe1c0746c4efd448932b7980af1dfeb194dce6dbdfbf00979d6734ac843675ef58d34a6bb80302047c435bb500673065023100b6f4fbed15b9237bc8df9d21315c00297cd636819aeef579b53d45b3de5e0afcfb605352a89cc9707be6e2dc7795b91602304e2b9d93c2e59091810ba433378198be6e7ef5fd51c42c81d2b7589fc86d548e86e452398a1bc8db0cab4a18b40bce540302047c435bb500683066023100bd235cc0d9b7d792d5608d44bec1ab25a141aee3cb2101b029d0d9af6712361693b3a772a93968736492a6847d667f7e023100b9f2cd9eaefc7b3fa23fce18136312bdf7ea0436176d75c14461ab6703961e5ddefc0ada2df7708cfd77a8d02da631910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e09247f9bb9f61cc73813a481424aaf1f040cb60318ddad0b74dcb2201cd8588aaa9dea0954a0fa0868c691bf6b882160230456c402e6f03edee2e7dfaa0bca660f8a49f9090962c674b2bcccdb9b7aff4c887c97d46d5928028b738e17a39cad5600302047c435bb50066306402306f7fb74ae4f7a0277a66de9570c0859acc2883efe28ed5d10ec30f9f36b8edcd0294493ace0a5075eca5706383bee0ff02303e54a10d829aeb7bcb0d30c800f42cf637c1ea08d9b4e871e81bbda37db2b70a3ea08c0e8a6f14148c0511ae79d45efe0302047c435bb50066306402300b7f722b86a9cf148a4636793e1999d32df3f7b007cd75f9b944d38e32c739fe98b9d397d473f8b21b4d1fd59e4831aa023061c5d2a349fd04e4079f9372c6842a206655cd00cfe0e24c9411d9fcea773464c8ba863d75fe68ff1ac4030e752453260302047c435bb500673065023100908affa9e1b21c817d71bacbedfe3a7184ed4757d4cfc343a1fe3d652ce336ea8c5dd76c9ccab79d6af7a0c2dccbf5df02305a41eb21f7d114fa96779c86bc4d15ce552d3d18777f2d395f7f092747f0776e86e5789a0c0337731bcfaaf15f44fdca0302047c435bb50067306502302d0251adac7770f77e718058a04856d0e8e0c2f13d76c345c758cd9a05a42aed16cd34a682758cce74b97e4deac6b1d4023100f7d74cd587d2683fe9381fc5aa26d9c5b60a11b9f3558976186f139f3dc104312906b6efb14b704328f46393b5ca26e10302047c435bb500663064023047c8c499bedbd578acb88626b57cb45fa09a9361c88ea62b2f53dab4249828fa31196483d0e3c83357f8b315c555071b023067f9ed9534765b4c69d38f00250b7f87c08b733b37cd93f3bbbd08a0c5ab94c6be93e1104d5c77e68ee975d46fa987310302047c435bb500683066023100e4e1e36f44c657968aebbacac3c6a1218e1b7b949502be05cbd717d82cbcf4fdab1dec9bc962707ad57d65f3da21f5e30231009e54dcc3b0df8f9f97b0f12da1091acd0ecf15c320d0f2748c3d6caf0e0bcd1d7d8a3d45e36df7ebfff3d7b3876862650302047c435bb500683066023100b73d6d05317adeeaaf64eb67473ea0bfc02306734332ce60d95dc56aabbb1289472c492557c6df115231426af0714f640231008df08eb242dcdf2122f6de66caf4d75f70ddb45cf4f4344f01d5980424fdea169b30d355a1b6fc2511af3fe3fcb01f260302047c435bb500673065023004932b3db3918c7a9933cb26d27afcccf05cfa7facf5f8f4570500f950106875a45e43d59a14c4c6f5693db857b64f1e023100f8d6366de93f61912fa9936534cba193aa942391195a0871de6ed3c738f804a55e7cd3555e97fe6d667a5db109b8f5bf0302047c435bb500673065023036d9ffae67b6f40253d0b3bd2ebfa5807dc303f995e429206933c47dfdbe59135028e5c2757c7f5caa0655c8088e0fa00231009ef7c3650227375dfe7a8189e6e35c8aa65ddece10ef39c41df22945b1386756500de7029f595226fbdda38cc965b00c0302047c435bb500683066023100b69eb871427aeb2cb4accae6b2023281f61921198502ec6ecaf6acb43b0b832d6839a43003cdb6bd4f38c956ea06bc26023100c7dfc5ab48ff3e122168c530814edeecd495f1b3ea535757c434e9caad93d33dbc681159d2e8e3498de653b9be2d6d5e0302047c435bb50067306502302e9f013cae38244157950460a6aaa25f11c1049147e03438c25837f4a92f3b1d03ee65e2987c61bdd432c595bcf33dc40231009c216e1e29233fca8b5ab20d5af81119d37b0f9b181185fdb6e37ce0ca76feb44d1b6f715a04a18629ae3c445f3c37e90302047c435bb500673065023011f7050eb9727385b4cc97f85c772947cbd64b7e3b6936df2e107475536b19397ab99641131b378d4ac409f2be63ab7e023100e6fbc16ffe9d6c27e37a3e6d824b19039baf586d72a0bad997e1aeffff1589a16e003f8502a2d0bd4e0c9de6054302a60302047c435bb500673065023100a0b1140503d62c81494aa8dedd35181d4358ba9625b9685a2aaf6e3daf8d6f69dbba60218f401a2bb290ef7e001c2a410230486bef78ba40c69a6f8a384077e09078e3f984dbf2838a6e164e072415ff5542642a4f7537036c807a429d42451029aa0302047c435bb500683066023100f7c065cfbafa1e3175403d312372f4b5bcfa666fdc388d82a6b9840cb10a421e601082d8d2184677f904839c3f804ba2023100dbcda68ae3f02cecdef11b910e2c63001361025bb8082e78a34f54737ea102a2194b973d216a516f66c206f8f54a600f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303efc4a375aa958659d9aff20a7231ea2d6f828482358f11169485725fc918d3905093cc22b7cbfb1b7911d757866c4a0023100d1d1b15875b3fbad5e64511511bd8a21be5fff2c721ceb18cc550348e62afe77a15524c5f4680cd7f3b21edb4c6fff390302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023026cc54fb3adaa1672a9018ad0261aca961791afaf60cd108dce544fc11875170207c271adfefbc27010bcecb339d3c35023100b2ef6573d97889c487cd5a9434e2b198651210ddb7458804885a5bb3438f426e032cd4438cf99e64d650e62f548e01220302047c435bb50067306502307d251e8a099a4c4c4b2e741f41ea07e75b093e2621338e86ad249ba5120aace64ec0ce36a5f10a80ce731c2503d8a85f023100bc6930452e22eb551cd354a03e58e1fe80d26574b92cff72bc6c805d2f4f750878eb1f671dbcc65480a05ed5adfa7c130302047c435bb500673065023100d8f5b08c1e9e7ef87bde2369d2b0bcf19f195a7b2b0f96ed60bd72ffe00a08519c792a1afb9831ab812bef3e5f8b42bd02303548d6ded2bb348dfca06988983876ad4fe7f8559d651046d08a0fd2c751861cf4a862914c03d951e3db3b970949e3f50302047c435bb5006730650231008dca1aee10fa2d78e7018f6ffdaba2ff4dc3c574f730d3118ae975e22d7735379e5318754b6e4a0541c78c7091be6cd902302a30932ba8c69f11dda4fc59e28d90bece67ab2c8356c8ffb32dc6e29d3c7dcaaa500016025451edbae913ca41854c120302047c435bb500683066023100fdf284a2c1f33b26fed99e98e5112f9c306d12ab64d4ae57ac147f275599237184ace216c6911e5686da1b125a07e172023100db51e3c55d25fc8c06f7124f8fcef0ab3979e1eff9a9939896974ddd6d01bd474a771316e97ad8e9112b8ffcf6ccb9040302047c435bb500683066023100c8b0741c66582cbd687d6f5a0424cd564a04a19a9d38c8c23b3cbf5be5dbd963e6084d1c571d9a0823831bcee5bf066e023100ef3c42f6c6d1a9d196bbfd5356effdb24e1f277587764842de6d31f185e4b943a7749a72574fd553c006a361833333710302047c435bb500663064023020e450f9fea0c0d397c5c40d3bfb0503ecc9cf74e09cb92847ab720b73c56d08f29577803edaedeff1c22e27629d1f06023066ab9ce2144ac710f13f223dcec6e9f25bbbb29227de44fccdf564a6419ff93610b925e88fe8f9d37a53de717d11dedf0302047c435bb500673065023100dbe5baa8313a3389b59da2d3e9c8f50e95782f9919ac31197696b3c9fc9e4c395af56fbc2999e356f1133c8c685701e002301d13dc3b1a697b37f27b3f732a6a6792b9d3c89f038841b336f3bbd8bbedf934dff1ba36b3622fc13e1a1fe65e61be040302047c435bb500663064023019453fbee1b3d87844e9c3b22b29b1a14a0019766fc2f675326dd6f59516efe6a536260650c56cc31f0875ba22b96d04023070e2de92e28aa6c95350c3527301714741883d564e2d3181f63838426de397063529aea1ed4c6d806dc585807eaadfca0302047c435bb500663064023026f293da53e3614634226fd607aca17942f04c50b2637b3f761fa7e42cfb24a3a8dcac7926888c90b3573e6871ccfeea02307d9e100668db69c7cc637e87ec2d8f523a31be7c4c0a24e321249d705fa65167d0ef0b3e6ad947f6e4ffac565c2ea0220302047c435bb50067306502301159a3fc843a3ac5ffab66251b656cc471679bd880295bb9e64471341be1411aa89cdfcddfafcb2bfa3bbe111fc4af150231009f5e547c77fba643a1f17ba695033d019a700ca49478a39cac4ec5b1a5d4c1d2e90f9e91109d7f2d937f9baffd7118370302047c435bb500673065023018a78fe4c8a47645ca0f0f0356482a930a3be71bdcebe7142b4bd057863be5eb5e22019c24a2a62d6d67504e919a5eca0231008839b2b90c2bbd1c95585b76ce34691019027683ce6483577582af923469110731c37184a82b66b6b3778c486a2199b00302047c435bb5006730650230045a502844b3bc6aa8d9728bebfde3c166deda9ea1f390aa8d4c8e1d2138beedca673edf8849a53c959905a08c032aef023100a39685615143cff1e0ad09b1372a0f03fed7330c9849a06c3b42b5ad116423d8798555bb27ffd4ba40acddffc475ea770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305c309c593bfcba05eccdffc84d9326f2beeaafb4f687e200c2f869b2c3ceeb40030f029671b05f7985be062c8c31da2d023100f6edb8217ae4cf31315506e2051f1e9ae1a70454ca7e2379b3407ddccfdbc191c7ca7917b0e664e34f5e45c263dcaf820302047c435bb5006730650230081b2d2a61c393355a6c3170096edffdd64935c66b56779e4ec6cb9988ca0ea341619a2785e47ecf94525c82cbf8a967023100e038354632fe5853d4ca5d608bc2bf69741f0c178ae653690cda658e055c718fa3603d20be421c2ed7b8f9f1f53d62510302047c435bb500683066023100b49b181b3fef33310d86593ea0b52e4e5c0cf981fd30cd774e880815438772c6784ec023fadfd4135625ff3987bfd1cd0231009f34d6473c5acfd4578ef8db3257c66ed68b7f003828e800d7e50fd502e20989aca43967a99abb374d65f535d6db11ec0302047c435bb50067306502301680a6555ddd781ef24edf31b7b395f1b577d88d8c6d5a5ff8f8effc28d085f83ff35d633bf8f48c4de5e2d06bacf0d4023100bc9908829031a64a8fada7fc7c455106891b6522e029826762e110f84d7083768fbd61cd6e9d2f563c316a13d647c5640302047c435bb500683066023100f1859cfbccd74e0795b28cc16199d492de92f5c1c11f92e36b1a227da671a27d26813fa790a5b5406a6a150c8d053576023100ea9d80ab8fc6d2a6b24d1f3ac559ccafa0139fbfa1c772243f13de9420e25240689d47f05224a5a513001773b5c8c3e90302047c435bb50067306502310094ce7fba86c7900aa259df93d7d42612881708d11f05af7dd768cbd14d1f04a63b29a5c4fba81bf65ef33b6a81b172280230752cbab409cda3bc5385c590b423730c9ce71dae30d534632b8cc136421b328ea819c558d216f53d7fcc90b920222c1c0302047c435bb500673065023100b8fa0cd55ac0798e44a0a0f277a7f14bed4070f5de9597788c2910b4117df23f9a3880bad88648c844be8b6e54d7011402300174a9be94b8acae271238bbd90c4b9c4b012e3d54dd21e3647ffebd41f7ea663be90915015775f8922c83e19ddd94e50302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502310081a93eff312ba565b8c0dabd07517728949fa016e5b20ae932682a35017b1a9d3e917c1d4abb8e3a76cd3656ad29c409023051ae7816bc3f46d5e52b45a1a90186229299debfedb85301381bfa6909898d24edc7ed67e72877ba6359a32e96ed49c70302047c435bb500683066023100a37af92e9fd4e47302073961706c27f90b255192c96a01aa35c5868eaa9b9cc82d5e90b3a1e68874917fe416d82cdeca023100e9ab65710f3bca99b881cce660e8f8aa9ee0e9ee430a7252553eae5397ed2adb7ba17df71c73f5687ca956dc8d1280290302047c435bb500683066023100868105ccd1fed65cb717d99ba61429a39bec14b3cad710e295efaf6a5472ae9dda0a1075fd94119853ce6de5f7f13662023100bd14f7e0610495f07a0c6e491212547e336a01b210ceda8e60368e8d3c5b0b8f826da993040cd45b66b75b180ce480f20302047c435bb500673065023100cc97bd1942e5db5a4e88010a92dac85ded10193392679973a023660b42f1c43a772c72e7120f24e5ba13e41cd230adb902301ce3286549e90fb0116dd20e3d252d30ba1aaa465715d3894edc64664960d5ed88f1a2f81196eb5effa0a0ea671bb25b0302047c435bb50066306402301a65ef3a3a650403e7a5811983cf0a409b677fb6d8c0464b0b0787329fb5768044b002992a68aa1d3c298faf50ed6cb702306336c572b7831c1aacc28257761db1cc527a3d9dc4cfd3388837898da3e80a390585eaff923ea47c091050d5095594270302047c435bb50066306402302e3f3df5b2470cfafe5115d84b74112d92b4bcbec66a0f56ad3eaa19701be631db214079092c24db150dca9d6a03992602306f33dc8261085512a89fd99beaba068457d884e1b6f810bcdac6a014ba93925f466c8dee04fd539803183ec97e3cc9120302047c435bb500683066023100b063835841609c8d7328ef1b483f4fbcbca2373395452372901907e7f0cf4ba8fd1838a383b34c54ed3aaf403a7b7df1023100c2586bc0335d5499066111814e007fdee55480a65932fa69b265c5c96181079a3cc6107364311e27c6043efe71cf06fc0302047c435bb50066306402302da1bdf92d09a4ae8c7113b5a073b05db8911e46b3343d7b749482c67e715c87ec896f41e5c0522d5e207f66cb070c7802307484a5b1568b6e31541852d260194946fba79f5ad45940b137b616ec9b41ba98067415598ffc2aee62b8d7d9d283d4570302047c435bb500673065023063252e82442f806f7b480038ff754c87f20b2bb4b24b7842a784750ac5571406d55b5ccf44ffb9f250e177abf052b2e202310081e393a0e8cbea68c639bb281de983ad62b3c3b6745d574611e8dfba9071f1d94319a4be18b7f10b99908af79e74a57c0302047c435bb50066306402305c2133eef00fbc87ddbc01142ad8f8d055ea736b3b484957f54161375a3545a63e637265603767c22b6fe8d8079c2c7902300f702523ca49ed3aff50221672c2c9a178a7466632e38ed9149f2c6324ec81abf285e27710b6ebc69f23a30b772e829d0302047c435bb500673065023100c2d7b1e21f9b7bd8e61bda7b7515c87699e932dc1d672feb580f570f689a1b0fc9bf41b06c0f13c09c8dadb5decab5d70230491ba9549de909d8effbd2b385306e665602b34c865f837dbc9e68dd16a568628ca84df5e0908895d9d9f735a7c94d600302047c435bb50067306502305c21eefcb0308cf325838a693e1670f919fbf2e4ee8ec0ff172698cfa52e377f40b0e21bf62ee0476e73a4597f4b039d0231009fd6d32d64c7058949ed200f3a3a8120ef240a6074585aaf1b1f5c91cafdb633a36ceab157e83c027b4d23361d1f43750302047c435bb50067306502304fddf30915144b936ec4b517d7207f9dc05c5c0c28bbf86863a1f7a9095ba54d843d181982df4096f1b3cf865ae0040602310093c324b0839a0eeaf5f8c83779ed11658998cdae420b5327cc1fa147e8274a0eac20451f5a1927f35743c028fb13f5de0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300c350007b243b35e39176d10e7a4b2926871dda86223f8d9e9dc5dbc2a897455b45ee7110ea21545177772304a0d84b90230088d108db302f5c9db26c5aee892b31254c937158dd71442fd983d1d3fd83cee8e724a580fbc0da3a6a82528976371430302047c435bb50066306402305ab8d4bd72627d61b7fbcd67463b9ae4ffedefdd1181b711d22d9f27ee5c6f79bc3b9df665ec1cb5ffb7b47afb08d325023001b9df16db0d494784b4cacd8155a0e9a34a9898e801c8d55977e54c0866ecfb2caa5aa489094253b64f7a18213fea8c0302047c435bb500683066023100c51ba044142cf3a62aff477a4d2ccfcf1303fbf109c27c2b375d659ed6eb017e9808e16fe405d5ca65fd00a653d3eef1023100e875b6d5df508d2737c4119ac8ca94c8dfc7224cac1b13120cba9abe19fe9ed722ff15b36c7fe05cd69fc6801aebcf600302047c435bb500683066023100ececbbfec64457cbe2d808343a09dfafdd97edd3e0342256a6721b3a4948f141051743ff009a4ebd669684b5bc72193e023100a1a836d1e4aa57447668783039a91d97ce87eb9db079e6e369e39e796c5786842be844f605ad0eb341e6e5cc27c4f89b0302047c435bb500673065023073544d8955f31e0dbababb26aa7cbec8847ba3ca1013def22b7d7053a6544104e7ea01bd70927d8fb5dce45e7a1b211e023100f0aeecd350a85147a4e355a9bf356987c23f5fa96ab28a6a9dba828416c8f918cac266cb561d0019c1c501dbafad9e4d0302047c435bb5006630640230275b4ff9e3bb20f4b8c1d163ff8e79b6dd9a4c86a7571329b587be20ed2acf250d0c2d7a30f7803c4405038d1b4821af023058bdc529672fbce215d5fe79cf94d4af6d04bda00578cdf86fdcc8eff966ad3a65c3f53a9005ddf76bd8650bd06139ff0302047c435bb500673065023025b422e796510e4c5e188aa03b81d2e0741d9d07527db09aeed773b13b60d04805a5ad8d015943e9b391b114356de5cb02310094194fa4196ced6532b354fbfc2b80e005ddf888910ad7dfe7671cf3a08d117e8e80389a59b159400fc07c4396557afb0302047c435bb500683066023100efea5c61d0f66a8eee5b4c79073b47b234ff07632779446a9e0abeea7726bec52ae991934a72e3c1c9ff216f1b1e1315023100cc9098498b5c2f394d53c02249d30d43c041157d8c2e39e8b6ae4270d7a6ee96073bbe5d422717d86bc9a0e64cb2deb90302047c435bb500673065023100c7eae28ce4f27b1195209cd90f0f864b3d2e328649af48cdc90f79f9973939195daea7630fd4bd2c8a37feb3051527a6023060da123e7f6cfc1023888a728de55c136ea295d3d32947d8b70e60de4651e619398e0787bbe17e4fa20bd63a2f94bd740302047c435bb500683066023100f9797545902b87807f19c2a9ec2a0a63a3728408bea0e2226c0f713b5ea561fa7ca1a80ce961b9da9a0881a5a953e6d7023100c0f372e4593d90f83f59082dae2ddf946b3eff6ca13f7d63af1af0698a60edcd095ba69627fd76f088204663cb0b7e9e0302047c435bb500683066023100dc704a12fb5a4b25595c000437b7c412064b02168d3816a06617290b0c6fa33f7b6e0ae15cb28250a639ac08c823501a023100feaf5e9379c9f13dda662a29761bcfd7b2645054b047ed1d5ed6da90f3efdb78ec156daa4f07ff6aeb9ab260b61967c20302047c435bb5006730650231008e7b27c44e51e2a4bbc6c60e08c396e3b3ae74b423d3fcb991d0dd263b175ee882404776a24a9d468ce266d1634eb58f0230789f2df32f74753d8183afaf12980da0b8323409fe09b48c89d3157d796fda35e45c962ac196d737b56ecea0f60abbc50302047c435bb500683066023100e734f5cbf5d8cf04ecf9a65fa119daf44fe56ecdb99f103624f2efca800af6f06c1a083fdb0c34c405dd862fa7b528e0023100a89d23ac361aeccdace711b324c871557e93eb1e1f3c9f8a0f8804f9f7e3bece3a5ea6a20a3db7b9e5e219aff928f38a0302047c435bb5006630640230449edf43206e00c6e48e8f3f46ebd2df70786abb80097c81bfe9d034d2a7969a892a5172e5d0afdb346fc9b95841032d0230135492c2f8f2893103ce98fd9f834d469a2084cb136dcbd9630874040e030795d77d3156823b95eabc6fa7f1a2992f4a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d3a13e2ff42856a3004bc408e3f63fbc150f87ac3da99744431002d262f34a34e27adde6ba435681e10fd4a14f7e5106023100a06252ff685670e47a3c93a51a7928b202423c2c85bf3123235264834add1483aca3470c13df4a6417eb2228c85eb47b0302047c435bb500663064023007bd75c52a6197b1f21ac3e986a1b4df1a587e7bb1d7431457b71938c0ad184b743c6f456e08547f2ebe89b7021156c2023018aaf28f0bc52e634ff6db4d4256b61bb747a44c8c38f155c877a1659e74284089972aeb1b70bb9ea64e58e23287e4a50302047c435bb50066306402302a7f1fe92f322c90aedb55a16a8b30353bfd5e6d2058bb5bc374b3d81b89537c756b1a03814c017c4595293c80f66f8d02304fcafa9497e6330c34447dd93688c632308fe6d57790e76e3d73d04ac49c46f1a647527440277ca58e6307a4ae58f13f0302047c435bb500683066023100c05a7c7878350d303807a87b53d1bd437fdfe2174514728e6bce8a4d2450bbec8b71daaf0ee3ec30b080c8f840f611de02310098d82ffc25c226a83cfb62f5dda4d789173a8a2e7b789a9cc2b67154ce002cac59567269fb0984df8b1645e721036c4e0302047c435bb500673065023100b6f1d8fd0f6a3eef10db4474edbe92dd9007f1577032c35d31ea4731be28cd2f7b0be487fe42ef481272fc93fc2dc47302307682955bdddd4457413caa83d508a4d76e4f33729f88c55a1d737db1879c8fb0fbb32c5af461a0a12b464cee49074c040302047c435bb50066306402304c5cdc6d3e1296732b0c84ff15350187cc0405d88c9cca9f5d7628c1d40e26be7597966d0e441eae4da9f80464f109ac02305323668405fbbf63f9366686458fb7776a057661235e60723e8df0e48f24617b8ccf8e8fcd697a7196308d3b6441b5d30302047c435bb500683066023100e15f873f03ccc8a923e746e2fd5683df9c5f436cfbf684c1d0ae2af5b23b522756bb905d87e0dfcfa8ebec67f51bcaa3023100a2d0e6f4f28ed6c734607a1a0ad7b85ea1e74761262730357c27229200a4e3ac2cd1d8b1286fe71484f64720e4bfb6a30302047c435bb500683066023100b97ff28d3a44e1e056981e2270f0baa79d389fdfc16fd4084b8735d8ce77d57342a2513d186c423e38abf92880b921a2023100aa5b472a53b881526d0a8f02b499fff3b5d582532ce40e4a9e2aecf11347a4dde8fe15c39c87591117c0dd91669ef0ff0302047c435bb500673065023047a91d3532ea129bd8495ec732190c3e1a29e8a5143f40a4ed5732f8b2f61bc16a675c4beb7f9d3902cd34c2064efdec023100a70b3c466ededd6d235ca044e2430714c34f7c2a1521d36116b34ca5f9c7cb26fa2599a500f949e244ef66252619c68a0302047c435bb50067306502302716a0a4cc8cbb24191f1893863a682d90da31c70c05694609a14fbe85655cad52aee897b0d72f9aeb29affead9f5ede0231008aabd328e799b7644f6485390c82e177af0dffea1589139f9a00d3b005c1775b4446ce9abac1863ea081d25eef7eec4e0302047c435bb5006730650230188cbb1b45e21834b0fa18ffc943ae27f8f081a060de43c75c030b6b08ea13a9000789d7b03055fc9ac8083f65a60790023100c03f6ab35c37037ad3dbf9508d18179ec102dbec110f6209e0ba63d9adb2a23608a669e1767f66587e4e0d68c29dedec0302047c435bb500673065023100e1d57b94e2221849117ee78741ffce9143f59c78607b75bf07616ab1cd523b2c838d19315dab8649d000110e62117c4c02301b6a0e688d4aeb3c3d64bf74615d381e55d87c6b920fceb66b73c31c8aad8e1218976e56e53532b77311a1571cff82690302047c435bb500683066023100985d7baa48f0e55d2c5f220a54c5b04f374abf7957881f27786ecc04a50a61766847672024c937e940704c399b3b24ef0231009da1f23ac74cec809452e59d7be7f1df18c563c690a39c5d6a0a4f7f5014dffe75c64ab310ec72e0f0dd32a0b96ca9280302047c435bb500683066023100c448436d4bde0f1916b41d815b14e8da22b94fb4cd72cb448b05a6338271b513a2cb227ab59a1321079deb879209cc2f02310094a249f68cbc6bd8d1caabbd4bb68a26053a6b76c90bf3ff30c6cebc55f69859c2851130d33b61f3bdb363ee8975825d0302047c435bb50067306502305e44c993501dcaab43a2231b6310dfc009c7c2dcf879f91a0c7afe610bb14ad5666e10718e23e18d920ca61aa15f85990231009febe96a5e93af0477357a7ff92b4436fd8fa65e7dd285f4f3434da10554543579cc321801e2d9154fd1c1b3adf95cca0302047c435bb5006630640230722bc8dbfa2b45c97cfd4c0929aaba29f8019f10a67f14ca436cd96bd1f641da258c510d3bf61e88f9d76ac74363e6310230376fcfcc42a63587fceae0bb4a6f0c37414adbfaed521a2737f73aaa81cdf5ca81ab41e2d0110956006a38564e16e9e80302047c435bb50067306502306bebc4929cc6ab92fd8e9d73becce6ef196a29078526ccd01534f5feed22dc072c997044f1f9c6c17b45353bb4dbd071023100a525d29a91a87c24c0a5f2f1d04296d6869b0a0d533d2419acfb60104f2d6c65927825047caf645c65bff8bbef7cf2a90302047c435bb50067306502306266aeff9ef741c3b4e5be0608fa954b3b68667b7d7c7d62bb6a92bf905631aa9cef792e8fc03d2968668036f310aa99023100a5b5b90bfef44d3d951fbba3f378c1ddd49cc40187598e0b8961f42fdcd3fc0472462ee883c8bd3e6d676b7592bb54fb0302047c435bb500673065023051c379d20d178f7270a4b9f52512969c1c4e98eb5e76bcc52b1c2c345a8458a8b0a60c74ec4b05adbd32935a1660a45c023100d9642112815e33bbe855172e390340dfbaa3c131beb079c25891357c1c1751ea6e4d29f895eb7170654fa377a92171720302047c435bb500663064023044bbee9475708b320bc56732cdd34fc23488fe6557251e61ee6341277f38db28e4e38725e02b7d189c36c2c1a1ce074c023046a7c7498e004585597e4df361d82ea9a10e93a03cd5f1de3685bcc019c222c91c1dacc5acad10d67333ad1a290c95790302047c435bb500683066023100e2cfac7d825a59648e1d485df7d9d8967c1e9013e0507117e9e279fca55ea95560233a60936427e68d601c8ef35dac84023100cfd074b924f449d908dc426c4f9134cb70f4c96d8a62dfe6b802e3ac6320c702a6e951134386856b89ae7fa188f3db400302047c435bb5006730650230620df535fc75956012cce42c1a6730aee8313c92378eb75f419b42809e7864a228bb5adaa8cace06260c29d3d8de1347023100d7ba509f86a8776963abcb75c8d41fcb1dd4e8296ebaf9cb402020300beae6ab1cae3bfc6e33767254fef8625f7ee6480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b5f65d0711e7bcebe35deb389686c04272123179fca0610905fc92ecb774600e3757d0365353c8ec3d44357c5f31f8c8023077accdb563eadfc1eaa4dd61cc555c981133c7c846f3db8483463a0e1e24c067b3f4c880eb72aaa8d60319d4b79a02860302047c435bb5006730650230549de891beab0bd6f44e64b5bac2a81e990d631145793248dc54aec5cff23fd2ffcdbddd45db99e4fdc82007832cd62a023100817007bab5e3c389e785f22a26ce0ddf1903a90c404483475f68a3e8910ad1e854c0421406fa6b3f7c933c25ef9bc37a0302047c435bb50066306402300b8c104e95434590447b50fb693dcc00591dffd48d17467cc2fc29e906a8517e449397ae42353e2b374b1a06326809a8023033ab08d93e04d8da711c7d659f0d090e8971ea18825e3f91c7b08266676a6665f7c3168d81fb9613f56046e8912364270302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e15971bc6ae0b397ae9a57890bf15eb0f270f4650ae025477f63f180c599892c485252d5b10498a9655cc2fa9919a2c702307589a4edf3f74a40252babdcc910908acc5f1c070edeb4a31764f89b24f55706a94fffd28eded6abdbd40946d97534670302047c435bb50067306502301c7e9d0e8d4eaa9537b0149d727116de04b5ff89c05b3d904caf1afcb03f964378b5bd3e00fe7e0295fa9f059191ae07023100ab0ba5ec5c1180f5a7db4c66ef2a3c644dff133a472adf6330a6f769d52d3d2a6934691368dfa833102e331fcf0430280302047c435bb500663064023061a6b9a2b37286f644aa4412634c519b6e65b57bdffe90a6acc0773ae0257f656e2e1db91805493d924f617301ccc88a02307eecb12ac65adf5d153d26d6546f0f2de938fb76eebe323e90bbbce259f2dbbed0810c5aaa3ed4a33c9f2ff0d1d6cb2a0302047c435bb500683066023100a12182c54171e6f1f30e0449a774220c88463cc7dbfd75c7b2a96eeac64c09a79959a7e6c1cd0368fbda62cc3c730d34023100c52171a8939b1806bef0b338302c9cafb40d0a3579acc620dfe8b1da3a3112bdbf7ed0595b896641b73289077f770d080302047c435bb500673065023100a48f52731788158aa1f231c8fede71c1e6d52a606e4d69ed8bb87c4b8b974d39bdd83857ec1008380689c80fe9e0d06b0230158cbefbf45f6ddcd8987745f3b4fa29557a6f56260127478e4174753dbed97814f0c5d812d93a4f91a3bc097cb62d490302047c435bb500683066023100da8bbf1153b0eb191dba88a4b58cd502f2515768146ce50f69b4bcfef9dbfe640c12f0bd0c7e73f37c70e6f729ea9aa1023100d4b658f541aa6446d415cb340dca7f74eff106cdce658a708359fba4db7716b871f82e98e7a5b526de3fe03cc035c5120302047c435bb5006630640230457717ffa64cfa89c2d8fae7b04b4d5827a389d8a0db34dbdfc50dd2fbffa116d73f2f3106cb262f520811fc2347ce580230491b983e8e4d4c3434f4f6608c0830c57871127f83dfeb207fe61c46a89d33ffa8cc6326799ae61ded955821c96467420302047c435bb500663064023028893c3b76a5daedf7cfd251e21340b595da2590b107d43900b7f40a2259486291cb6a8fc4d272363540ff4ae173d83302304e330a7c0644a5bed432127f4a469370c201610a9366affc3924a6201aa03474fe65389794d8104471e8cc7cdd831e120302047c435bb500673065023100a42f6763fd40e17de25bd6f6ea22d19e33aa081d6812eba04e14ce25897283241499388f77462dcb30ec7360aea6c99202306209ac208611d685ff0c94ed6770e6b28190193159d0c3911cb81a80b8cc2f122a44ab871050cf5536cdbf28fcadc2650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023000ae814d6c76557746ec1a23246d890d7d888d65e93ce30be82f397b6c79f80b122ee6f17a4a3b97203bf2389d2db38c0230105c417df62319404892ab4b207d5b3799bce2f6b789324b2951851dbc0441877ce70101f31f3ff697dc1961e1cf26740302047c435bb500683066023100a48418f97cdc886c7349f65497694ddf61367c5da0d1cc34491e048141a5934a9de83ee15c100cce256241b98c8b9f42023100840c915ca214c52e683514e9ca2df274fe5e7deee15f31023b02fab39aa2b2f1cbf2133775d8705c3939988e82bf31120302047c435bb500673065023100db0f20ce2b8b6a14fcee8a916737a8dbd544cb592e87d53a9177362e7ef7a8c5253d1ed9e5116e38d051934f0ab8e2620230726b9e619eea4cd0b4d1253b232c28da59af1d08a50b79e81367f817a14df9c2dc13f0e4c34667eb3f5577155d4107950302047c435bb50066306402304d9e3629af781d51fcbd5dde03288e8653f986099ca80a7396e2ac1f9c24ac8c477505c8dbe155ba4cf9de4c724af866023048a7ce3c9529d1e250a571df4e016698c34812764fce54798670c5da60e1b11ae7bd19ca9fe522506fcb713b874e97b60302047c435bb5006630640230684b1da4002b8477cfe0ff29a50019b0a2bf8ef2892b6a71c831aceee29229c49bf673447ffa290fd392c654985e13aa02301e07c02aad1e99afa9545d684606efe4083ca5fc8bb674aacfce0cc3eb312375ace019b0b28906553b4c8365753e8b490302047c435bb5006730650230439ee90d23dfa543696909992ae66beed5e5f6022a594902e85239660cc7c6db1e4ab1d78180ee4df23f0863c83e2008023100e67822e727ab754f30c059173fe262910ffb98b93e32466e53b658c2ff55c6de8ea9a4956129fa5e55a5af517aeacb950302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305b3dc931eac25904e33127643c03cb113b999a89e38a67fe5d12f263a4a54900faef5a5a361ff0e984b147f08c2f4c36023100c43629e957dab7e818141a0fcc5a2383a4ed2c220d1928d86b5b6f0d239b20c655528b5fdeb248d5f45ed36be0b7170b0302047c435bb5006630640230560fdbdc153b51f4ca0a28a508fdbee26392ca72c9384462512e446edc5805a2853e8ce80fabfd22001b0ecd594871e902301dd3becb8985c659e9a634aa18c3ebb35de0b11a4aa35e16cfdb94796faadfd49aeb59c79bafda4f2279a58be9efd2d40302047c435bb5006630640230068447a1873ad4a28821c3b93fb51814e66666a1fd09201d4b4b14aebe0197dbf52e09962be931e347e544871677f12f0230087d93a6ec2762caafc7336ee96c5447f543c4a522188bfcb2c07be03844c7e0418bf0e025c5627de2341493d6e8e5290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100897d02726c6fd52cb433b32a4ef3b608d3a0843ea851246dfb3f884d4b12bfca0e9c3abad8876e5bc9e2ea846935b38c02301dacde5414b968f8705085a6792925329d36a5960232d81ef28ec8ad09d31b9663b92c4fc3fb5243b364e024951003790302047c435bb50067306502304c40efae2d22309da62a060af83488a0838374faa075b3a6ace3903dbf04161700de1a39a58ff4174e6ad7d219880683023100aca977720d7f3a57453f3aa50396cc6b8f081d060b68465ae0bc6b6f9f79e62642b632c41304ba9584808b9e4cd573ee0302047c435bb50066306402300fe82583b80ed052210c53da6f325205ba620dfde8e691efa52092a75bd182e5521fc6abfb1682b896f805d8053e986a0230026a8ab09d62528fc7decb0cb7c0037ac4064e3be4b74cd8d9c134d79ac2de1841893a9bad7d6ed18da64229209cd0740302047c435bb500673065023100897d02726c6fd52cb433b32a4ef3b608d3a0843ea851246dfb3f884d4b12bfca0e9c3abad8876e5bc9e2ea846935b38c02301dacde5414b968f8705085a6792925329d36a5960232d81ef28ec8ad09d31b9663b92c4fc3fb5243b364e024951003790302047c435bb500673065023069524ec38de127d83c5dcae5f1fa514f742b5158321a24fbfced5a3c212a24b197e8fe7bbfe4b4e054f9f40455c1c2d3023100b47102abfc76cef23d16fc31bee9ef2f2f6caa44770317e7d3543f9f44934e331e804a1ee24456926859a81e9fc8b2a60302047c435bb500673065023100b915205b12f3ff3b45c1e70fc627e4bebaebed1c5c290da03fc844a46fcc46a77ed18d900a93696fc4f5542e9f8e1e9a02305a6ff455ac56ebd26387c8e1cb3d5e425eee2a7a596047b6f3f75c1efa5148f98c98ab3be60de63cc1e7d8cd3f0c48e30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008a84f2df554e3b7a79bcf3ce8776eeede4633888ea55522fe80a98c1211711668bd5c0df94fa5dc84b0d1d438e8d9c1302310095b4891350b0a37c6e704689d2c818f3c7dbd19a2fcaa7e37fdf089f5856740b4dc93c26aef1728e186833740a7ec17c0302047c435bb50066306402307fda52af8b56b318ab23bbc9ad1652c14811fc816a08cdca58d31505015ee5b8e3e9de0ad2a9596bf594e5f813622b29023058198d4fab1def222fe5141d4c891cab98caac4e5421e15f034ffef4758c7813ea4adc26472d6adb81f219bf45fd608f0302047c435bb5006630640230347ab0e8487bf634b235c1df7bac61b1ea97ff81abcf1eb2df969251ca581b630c672d73cdd597a7d4254e08e4afa6840230651e1b4a1e66a2ff74c305fce67a58edaab29e9228c1de0e4ea4c71cbb958aa8fca6eacd044f190ba0aa55bead7140dd0302047c435bb50067306502310090646f9d87515e8b9c3d4847a85e46f7a168508ce2d17fa54926221edf58fe6c0b772effe5707583ce720f10b1e463b702302d8c0a77280a63b7361d3fea12bd763ac7ba7126ec83ed92a0c8464a59a193b4d1ed5dc9c7ad693dda6b18a387b812c80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c0a63841f748544cd1fd1b28799d84d96083677e6673b89e4e2df00c9b7d09bf20017003622adda81f8064bacc95bb4c023031bcd7f13be4ff4bd145fde8f18a0a54981632e37e95ec734e9c6be6f2ec43df327378d773b52d651ad0b1bd238c27e50302047c435bb50066306402302b1f83fd119d83577ec05ba88f0999d7473ac1735f576cb0ecb381fc8d9f1f2a535b695d5e1e4fe2c2e9d28b94b5695e02303752352837b7e3f546f93f6f2c34692a734949e2541b544c350cb0e4575da74c60967665b155315945c3c85f247ddc590302047c435bb500673065023003c4e2d2b0b7fb172c94f710ebf34565cbb39dbf5aaaee8da4bd5cc20358f780892661d2a13ced42f428dc0a04d02fcb023100e4ec4b9278fa9cb71138f49b5c55426b7c794d5381491ddd362b5f9f0f1c97257265edb6afc18141330761a87891297f0302047c435bb500683066023100bcad5522743098b1cd38ed193aea0fb438992dfcd0d194445cdda89b35958ceb822e71e23c55923b0f08385a700a2c7d023100ca898e042902f09a6132b5ee3bd45d10eb35e542170e4fb5453af5a113cb34d7a428530b3a539c06911cd3287c7c3bff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c8ee6918cea91326555805ccf9a67575ce1e73b12dc7b261e821777fd9c1bf0913c30f5be1f7020702d37e0ae793b26602302f34d86fbe55eacf45578d8582c5ec75910e2d424bec3d8865685fe334aeec0ec7bf8bd8af6433240b460e57be0d28740302047c435bb500673065023054f951821b9287e0d974dfc666a14e990d147a87660f25756c357ef98592b132a808aea6ee375e96514bfe057a302f6a023100cb36a9c05a800f3b907f3f8de2a98cc0dd9ccba0ab94a33072e126d76a8c0fc753c0ba976011e098e34d480433b65c540302047c435bb50067306502310085bfdc281799da76021d3b9add638d6f19ee450a95e05a437cd2ce5b915e8396bcfe002f3549ed6607a3445c62f6908a02304c8e7ba8266d227d554daf7040c49ed92d7afcb411c0c4a210ef60c1a963ac76002c993d873c5e81ccb36457cca91fc90302047c435bb50067306502301b54e0746a95aaa6b5c679ccd977dda7ec8aee1b11f3e44007f21aac5860016a2d3c87171c9734e6e805f51f33503851023100baf6ca1558272ad28f544c216ec2ed0d70784aafbcfe82b1bb390b302f12f25d489a61dd064db4114b8fa55d90a77c830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bd771ca9ee1e7e526d5738be931c79028a87b8a6e2a713b2d6d04f17413ced0b977cdb452b002070f49315126b2caed4023079e943b0123a282d63604fc788cfb1cc50ff156c457114030e0376f9e93215be0398f15dfa9881ab26be517e6fba0f8c0302047c435bb500673065023100a7fd91a766246864acb8378129bf5008ba670bb2cf30aa21ec5a1d15aa4437056508492ea23f69ef651698fe6c6b429a02302ad38ab5b5eb268269dcf750869d559ef86676176d8d97b4aa0dc916a207d4d4b6575e9c771e425d27bf3808c4796c2e0302047c435bb50067306502302ad3ac17b5a307d9e54c8d4a68bbae28456c5bd86e2fac775bbbff469fc6ed9b757ab7d1b17cc577ca522878190365f3023100f22c82344707f13f1fcb39181529a9e6403233464c4404abec710475a5aa0ac30bd76995c8b55a27436f6e868c6dc8210302047c435bb50067306502301eb386b9a13d91d24673b3d8ea13cebd99e88cc2a088ac5ea7d11a02f6d419a3d5864314523ee27be3ad6630c0a333fd023100b3a214e2c02a67633a737a07c9d6dd1e059e7dc67ef407c5e0b447a79183ddf4fb2506ec07021288a42a1e1d68b5120e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310090353b55d84aeb0e0cf932a4a48bd9513559d88e0599c766f968464977a30b667c59bb48d92a1feaf9a3b68ace095471023100b4d605afcc3708e96e20d3a98d7481964736e9c52c078097334d49122be7e347d7aff32aa7566f9f27c59d26eca0d6cf0302047c435bb500673065023100b9d3234d3961a9ef5b92a56ec218b4cbf9fc344669b13a52d8b5f1278648dfa6c0a719ee4d74f1e27f02ace0a2b04c1502301e0eb0095ee5515cede4a003afb2a75ca7f34b9cc637292b5c503e3681322e7589ac513bfe2f34f427f30f745c628a610302047c435bb500683066023100ae32835e63d13892b98df02209a64b33716fdc5247e7ee286ac82a9433ac21ccc885393988b46eca7c81243339575826023100c058e3be11719e8d3bc84c2a8b5791c58068ad8ef37aa63022e68d2509cc46b39e21614bf07e1ef97532f2e958ee16dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023043cfaf76a05700480907487fcc92625ca801902d3400b03a3a82076e72ad86ff87824d714fc3478d23b82fe483f39b160231008292b33e1d47da4333cd525ea1ca76e30a4de8356ce2b37112def187ff10c9921004517ea465a274d9284a2faa194ee20302047c435bb5006630640230411e9a45813f952107cc606ef90dbf23994242be21e8e4c9f708634ba13022f48f2298fd09d1a7dd2aec3b8c40033fdd02306dbb8edbb7c9fc03e96540f56906e05b6118a6eae22fbc46b13405705c9749f1fa0207c51976cbc1c4fc836a120c52f00302047c435bb50067306502303ebcd34b2875a521f79e17b52645f2032a15c9cf45ce1ce3889269c6d9faecb02280820d235961051ec70b05e245c914023100b9e7336aac6ca40d3875567019cac3f9ec1aeb54e4109643c5e063962b6701954f09817f6a500c805bc7f4b43f5ae6c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303ad7dff4b90306a4f98d2bdd9be85ad4e15a0cd106b2109ad2fe68545a5e86d35f022cd1931877b98325ee1f8ae857f90230118e952fab66409f42e07732855954f0bcecb9719508a607b66075a43210902a28e668bfe83a85a4a51709347614deb30302047c435bb50067306502302fff3b583209c6516b5a74168a378086d295d689e3362e8d8cfc2a1c9ad9e512fadd686dc57ad8b5312932922b5b1f55023100b96806ff946a17e6462ff414a245d813f6eb6eca04443fb1e6b9d3d03b1f0363e11607f7ff8536ffc1975824380f5f780302047c435bb50067306502300757de2c48a9bb7aa4e141599bab95126fd2fb8b52b9be08d67243aede9b74d8ed8fad49f41ff8b409b716164b9fbf8d023100ee6c5d664057dfc44455f37d609066befad61b7613704ed5f4482bc98d369b8632328cb686019c4ed359486c9173cc6c0302047c435bb5006630640230413774961eb0f019d569ea0980893a7982eb45680787511fa397aa637035e96804bf2d7754d942f74f951f2f66f39bb00230043597ba733e19e311478912c56f09cd1ce5197f9c42980b1acf57f949c8e201d090861a6018457b2bff9da246b1d2ba0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306051497d5e3056a1550e2a9de4b6931097e70d88051824bde6205a8c1d96e52d962bae84d238be3ddd5a48460d34dcfc02302a0d454714e08b3fa586a0ab50e92e5440b9ce2324f692ab30f18f5a91cf0368da47a03f9d5ef6627cabff26880ffd8f0302047c435bb5006830660231009429153628c90536e82f38cce6c7a1985a1b60632cf153499d7da45df3e276b5312693a06a5cdcb769e6ff1884f6bd79023100a759d1af80eaab0fe71fed1526e4b5847828fbdf16132f2b3e08ae0b45402d6ae0e5b6a84f669a2e78c983d3ffc844c30302047c435bb500683066023100b04c41e7f0d55a6f4344fd24fd1c35e2ea51ee33752618d07c0db792e891482195967713d549050d13e4cfdde6701de7023100848ba9f00e48b155e0ff8842b48ccce66e73d173386aa16bfde6cb8356467d5535088920d93b9f78e1b73b9633b8de350302047c435bb50066306402306f79065745b5390965fae3ec872b02b8a543c42f929a4caa58945a39cbcb975c7167f019562364f79af45df8d4e395d1023042d561337818b117524487e2bc50ebcb3f936eb2bbabc587729f40060461fdd377edf32c22ccfc410b44654240d646630302047c435bb50066306402302e1c0b8aee517ccdb46cf0aa2bce903a155e1519c841c7b1eb1f3df1c339d4d67d98a50ed67970d46ac60897df95748c023047054049ef75760d08013ff611afa2d3884e18b6b2dd3910800bfcce98b1ece3fbc3ac64371dd503b0323863098228550302047c435bb50067306502300cb40218a46bf550e048588710bdd3dd092c02c832f8dc3cfc1149c20c7fa9368baeb05c02375b3ccc4004427dda0266023100f5667d27867e51aab651ccf7027c689c897c25398083fcc810b6a656ade7abe328f5463c19d29aa892b4cda527e2229e0302047c435bb50067306502303350d0524caed68a2d0b49a8eeb49b6d1d6254a7c6d0053fa451ab2d7dc811972b2274c8bc6982029e60d9edd65937b3023100d7257636c7167fc17328176b51634e46c269985d23a6f38e092e614a04ed9dd5a7d04b84d1a358b3b440c0835f19c3280302047c435bb500663064023030750c336633f446b3546826f12ebb8a2a77aa788b719aa2ace93dd892b05654eed0a81ac3048cac037d117af3075e9a0230618bfd73150128e6445052a86cfa08e8c45de5031d46bfee293b9e2537edb9b7eae5cc25c4f9a17c202a648f542d96f60302047c435bb500673065023026db88f864254779c1fa20d6213b8b80c6e103b9ce7fd1a1bdefb585ef9d09b8c6fc7b95670ce234ed58a99c950415e8023100d57bfa68a86f703b46f320a24426ed68303c738a0d511bd7e259d07d5cea94cbdeace17c1efa870634a225a0fe1aebd50302047c435bb50067306502307282914aae8f6898c3cc60194b21f473455a8755d9f4636223e61010165372abcbd30d6393105919d3bb8be3ed82db5c02310083e0ff865925207820b8c9319d875646adccf1a84698a200678d8d5faa6801d7c58d56bbd762642917e8359bab89f78a0302047c435bb5006730650231008ddbd76dcec46b0234379c6dd63f4e602f35f53a7a3574b2f6ac6da9494a1d75cef19143a4d44cf82af361f606c4af16023036b11c0a94a4e7ad5133ae0ed15c2bfad7b15e12048062d42f91057d949752ce115886a92a889d5a39248eab14400c480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fa7946506cf35db37f9cf565dd649d840a6ccc65925a1db843b8baed653eb5a6f50a6ad288df45aa5808fdd00a1dfced02307c5869a8ad5d82cd69aecaa744d53219781afc00e86aed1637a3b89c0bd0ce4d2095849c94ca3717baac267ff40948d20302047c435bb500673065023039e916d90dcc7ed5c17c06675a20ccfe59860e2681d11dcab5200390f2c48c5eff1787c7b6a8ee38c5a55c6126ff6a0b023100d829d6f25e05536382f50fb442eec91d49bd3d24bb5e0bcb3738a2860fbff84caefeca9d2aad4fa1c57a9574bee914780302047c435bb500683066023100a586baa12e218a8cb838ed63f9c40bb34f6d4cd08a4e5dd3e5d5f6d07375dcc6e3f34642fc7d2e296b75833b884b1bc9023100b3912befa802861fa688ca89684162fa7ad5d4dc76506ae334daf3af8ee9b7afe01ea4663219e2d38c5b49404d293c640302047c435bb500683066023100ce67d87951453fb3f534a81db1287f127b2288bc7de20b6cdc59d5c328f08e4b9f651e3408a42c80c067c3eed5fd2528023100b8deef2905047434074c346c4d133dc7982854b5ae4928751c454b14bfe556459364d3af1bb20bfb7310e9c5f23962010302047c435bb500683066023100b9f68db2bbf1fe2284cd0998d3fdd23036c2bf1852bcafa9c9ac6e598dd884a2185e434f9761ef1daa571bc00e42ea9e023100fa4456976db5a2a28a5aeb73e3c8620ff89a98908216a650ef28ece9531eefcab9fa87f619524d60717273342df3c4fd0302047c435bb50066306402304bbdfca494b61dfff8e06dffdcbbdf4f2bf820831a7de158f14f295cc983bd15a6f3a3229c7039cbe6d4832399ae40af0230327b90e048e8798730dc10b30c4e59dfb6d46aa8060b4e6e5d8915234b26b119aec89ec3c31ffedf49beac15b6a70f1c0302047c435bb50067306502310083a3c2cd4a2e53c554628292e1744d0cf998d9480b057628f4e4dbda7e526c1d2e663985a20ebd847ffa1f86825476840230386a9ea017d3c2e9869022668e607aa1ba9578a5d408f7cca3a0fec49856b6bd8951d7430d3289dd0f9effd62fb44bf00302047c435bb500683066023100b3c8e439d5541d1cff2022c133aa1ad6357709b3d67df5e544939a12a1afb5d19e6ef21b68e67404da7e6276cd5766e50231008e85b87a83d1fe12623093ed9f1ea0ab56106fbe2f49254339136079fc96023b670624e94d9044a36d553e0ebf8c8ec50302047c435bb5006730650230356034ff4ba7497fb1d1560d9fe1c721ee4dec8e88090afabeee4a4beebdbe2990a5d98f10594b4932450e3caca9ee33023100b90e1fa7d4a8ebca778c23ad04ca2baa6a952211b01b7afffbddfab0ce6215e2e9da5da8c924b75cae0e284c5d5578270302047c435bb5006730650231008a3703c46b1f7917eb6b5db1b80c64c6f24a22c3869e2392967d8368e3cb81ab9ee380d781dd8a4ac6e78300447cee97023049371227ce122356155de2023e4ffb90c452c27946a9013e751344c96517ff9eec02409b3c22b3d009f36bd4623352220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d19ce5750a14ca0432864f8ee549265930ba2b974adaa97b91ac75c4c1d6652a9b698e031f707ae3e3ac79655e55af12023100cb470f25fe3255380e52a4c156e574c09f67ae2fc54dae43c9c374616964a1fe00b9808e762c5847cfbb5b009751fd770302047c435bb500663064023038f4858430826c8c0aa50b235cfcc598598a08e828dc87d380c3b255547266073a09c7999bbd9d7c37513823f6c71fc70230617a20c809be99d999d8d6ff81de8dc8a8030db2de63f89dbff791b4b3efccb9dac73971be468bb9598aa3ab27ed7f810302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb5006730650230545917b297f5ef313ad3c2b0692870806e1045642de2da5d6d990ea2c1cbddec9accbb0aaa786981d7811597f125b8ab0231008766efeea56e42f9da644c007ab98852d508019d81df4d02a8d348823b75f79db18cc865c7889d21b0ed810e314014790302047c435bb500673065023100e155fd6f88b9f1fcf8cef3c064cd2e2fc85ff7e0a3416616bd57c08b10aa2745ced35202ef2083fe59648d3a0aab3f32023009d4b0a312050e91eb420245c07998bd4d9403c097bd1ea9935010f6e0dfe43692e634b5358ecc127753d8f52f2d415b0302047c435bb500673065023100e61b43ae9496546f5b80897d3ffd0665b72a898c8c35b417c4bca5e28e35238fc08f9fdefb7e6f4adc8bdbddbcaeaa7402301aeb20bcbef7fce335883ffc971fd6fd95b1c0bc52f0696cdaffccd7de2861609046f689e50f5a63419ec7a5a9b966ad0302047c435bb500673065023061c2fe091b26958defb54c5b843994a3d1296e376e1ff87ad391cd0c871ba9715a4c9e8211ce43d897f0c49a48fd185a023100e150a59cac97e566611930cf65619e2cf468db921dfd8a36ee03b4be19fffff52bfde4372dd8dc67e558f713975c99550302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500683066023100e13f27259778b88130264fc51d03f1f25c275c44fe16c644bf6bc5264fd879a7bf534563b378b04eee7a29df2b30de75023100ccdd15561bc944e4292f26fe61b80866623e8aa346964784f4f9bd5377abb35f23930ba5e1a07f8507c66210c6fa9baa0302047c435bb50067306502302d2d5611b70556033365bd713963f54808f614ebef8db5b9dcc284278f67e45acf28eb2b7627431074ec3cd75cf471e0023100eeb0c50e38eb019cc476a3727e5f745b0a7d0ede7c5bb71ee9dc9e7349c12a553ad444efc2a5a2fd9392559aaa50d3080302047c435bb500673065023020fc92bdd3bdaa7899bf8efe548cf044c908976f5f2b11fd0f1039b9e07d9891d7f87cfef7fe90fe9654f2737f3768b3023100f1ad46d2afbdf9d727739693aae8e6150b693d15cd1d55570136dbd8ccf933f1f6a87e7db71e15cd41b9539707d312640302047c435bb5006630640230052bda3a0734ad0a7a479ae612cd359e7e11d02cb42ac227e5d029340294319c8d87d16d701a2cf7b8f9c64e68cf7c060230020c468daf50da12dc0127c7d68500e866e16e78118671054b2ec7f8790bbb8142766675cadaabda91018706441d95330302047c435bb50067306502310083892d5d024231d17102dc537c5b7b852996dba26b5e79085ba0ef872ffffe6a69c07c4e127b5a498009f5ab291a96f502303d199b512a6366887a487b2ef0b5199db2b06b7340a1ad84e1175cb4a1764d057c88d05c7adc01f4ecc69cb88cf3ff6c0302047c435bb500673065023100c9379fbdc56b8025b7ee573d2d56013d61035ee112a756fcb30f2c23b0aeb980701c86201550df70ef3de1472c2cb9f1023056fde9388461e79a7da3045a79e673aa923e504f50438ef84d9e5969a2668fa14ac4b7f0903de919a19a97c9516dfd120302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500683066023100abd6aaea6b9b126a48a6468b5a0461f0ebc698bdb04ac92f394d98932b1b242e63945c6e2c7070c64c8237809d23b062023100b53badf3ec882a7a6a02a784f743e045d7b34553c92602410fb1f13eae41a67e74d22820dc88ed5fd1c67d932b68628f0302047c435bb500683066023100a0e2d637760cca79a4188064b88a566611514f1d906802b725e7674a05cafed30606fa42922cd57136ba5e5a309d9ccc023100a7f6725a6fa8e4bc680d96e70860f8a39e3093010c811afcbfaa4213d4b7bd18d923e6fe8db78a5e64f25ddb8bad05650302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500673065023072fae15b0ae86b1def1665e42984015db196a54939e9392bd40431be7ca8e180d7b05237a58913b4deb3ea4ebb75f8120231008b81fd1471de81ec419fc75cf9130ce3a543eccf1b5ecf818f2f2c4585e59ac0a87724186617d1ac2aec8f895cc6529b0302047c435bb500673065023100b0fe53124ece0ffaaa3f315e6c58ae6b81aa975361b66b9ed329ce1140a43ca4abcdbb102a0c7742a13a75b3e01e2dab023050ea8d490732d34904a026c00f01d6d83d4122a3f6e1aac1bf69fed07d089cbfb49aa77a8abf13b691b22fb1b6cb08960302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304ec33df0b7c99e8088b6b279e8d8e8ef21f52279acb2fc9103da57fbde98224d042c6e15d15113b68be7742c2d1770fc0231009e030939dfd3b361cf5b6f4ef8fb01c3fe04fdec846ba76508a17564e8b522e36c9413e2e22b71e10c8f1aca7bc2c53d0302047c435bb500683066023100bac1423dfa134e1cf8e9448375fe5dfa21f628001f93f4cbf5879582a695a5833be2be0ea43537bb4cb55a548557ae9c023100924d276bea29a61fb2428e39532f52ea12efbba473cf076d698727710003ae9587236dafce528578da6de699c71229810302047c435bb500663064023020e05f28820959420678a486fe1a5c95ce0aeb17eb21797257a1094419a5bc1e0e65a0790133d8e6921d54926f24512202304167e3a67aa59110f6c303312a543b4d8b1b2fef63995d5561643372a5e66d1d266551272c12b7c9cacb7e88398677f70302047c435bb500673065023100a820da71a1afb4f86b407da38f7217c64a7f2451d65d01a7441ce2f5418924975339267da97c9a9d77183a92747ca86b023034ebe5fb5e876d5770b3d29a2663aeb3d554f85616b09abf63a9b208438b9f436e731f1870acd164c3d682359bd044b90302047c435bb500663064023066249feb604ccb67bd2cd4f8fbd95429ce3d83b19a944eafa4b9ce1983466915c7d995c8c5952cb1f80e26b11e9d6213023053c268ecdc1500a538a67dc4e9071b5821c64df05621c0c7e08749d3e7ecdfe9d8a278fc6ebebfe02577009191b4d7c20302047c435bb500673065023100f954f24cb0974c6e6b2a5d584ff719af2b38114a976739ea818adc3dd41da46d935dfcf6d90746e520cf045413a184f502303d08f013ed06c8f538a24ad7d8cf6313b83911b0e8f9c101537d129fc624738b8efbf079584440468389c0759a2bb7b70302047c435bb50067306502303fb258181d93b67020f843e92a636052dc2d455fbc1473c2861e62c21b62ddf8a3a07020dc10542eb08f7be9aa747d94023100c8c674f9dcc5838aa221fc88ad70aa45732c945896bd1e3edfa0be48798b5c6b5742d4dfc4957192d7ecb9d9834bbd4a0302047c435bb500673065023100fe51aecbb4e53cda1e87af94b042e07b44ca2d6103ed08efd80efeae7686c5fa059d78fdddc3e7094307380c93fc3a31023029bc8a87e7b82011331f272357d84826f397c6e47dca0e833210de5d4fcf5f8003be88bd898c8e5d976e5e21138990ef0302047c435bb50067306502300f6f206ded0838ca5b2eeef749969972f231c27fcee24dda821e8dfa076bc95b80d35acd31b548c040b7324e123096d9023100f2c1ee27dfdace0739578bb1bff6e74c3f3441262c915f472d95ce099591a526f1a8e2ecc8c0e6b053243f69f58943370302047c435bb50068306602310088afe2a28e5020d812f46a163fe4b025690a97022970898c766629822b38003ebb9d30b493665d88343604d03a53305a023100bee71c9ad5b118f2c3e93cf491579b50c317d815515e383a27bd26474c96ef74ce2dd14c9139dd2b1d6637c5d914a39d0302047c435bb500683066023100af8affff4fd3b9f8b6ce574da5b07f557993132216f1524991ddf9cb0734d08cf8383e1da4619c87f4fb2323bd0a1cc002310099023a6dbd2849f562ed1d80650ae4ad83e910af531fc49f65934e9e5cd5e6ea9e2601653bc30cacd0f48a80ae4f98840302047c435bb50066306402302ea4cddcc8ea1afe481d403d842e5cd2afa26f53be56b855f139974ad54d1584b90c313d97a2d25bfd54e896cb9e16bd023018137422b3c52ce85ad722839e803ffc2e0bf688c264f94b9f9809a5f9684ba7812ed75e347f69d392633c0c928582260302047c435bb5006630640230764a2026789d61a416f46a11e8bce75251868bd9d12b759d1d279717677e3ed09a5e8c9a9a4ca179b1ebf2e02e07fba0023069b182f3a386cff74744b2def89c5f774006507771031415a4b13b78c610a605dd683286de3673eb386344fa33250d7d0302047c435bb5006730650230754994478757c3a961af7b47325035949aef10383f2b7218ffbc4681101eb8362c19b97fa4624a6082de66beac35d7e702310098bbaae89f7cdb29ffa221bb9360da954cae2cc0d738143b646f053a87879496865e7b8e3446e828c6e99bfdc2e9ca4b0302047c435bb5006730650230555e9ca87e6b52bdb9da48ba589fd51c589e85b528b57a0800a9683734caf4e7f8d66c63f1235bdba56ab447fdbb36df0231009101ec97879dbd632ca3e89e40ad0e7d06c7bdb50c83e6511d334a0f7bf3689311024459ebb6355444074665656de61a0302047c435bb50067306502307c968dc14576af53176ae72dbcd68df8bdef88c1d0c9133a255a8c114971a34cc2443bb22965fc39a0b57495f3b5c3e5023100f3b9dfc6e77e1847ff928ef083635992cda3fee88bcc2c02c62e2b2ffc355992bcefd03fb4f310b1d43395b08eb26a840302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a29854882ee24cbd152d84407e4f6b8df03c06e4ad37015faa13edcfe9848a4877e10e7c14813c0e197fd07da3648edd0231009617ee86c69b2505106aa7e1bbb70718aeae7a7a0a4811d7f74d64ba9891e4da09e57a8beb342b5382c7c8599a34eefa0302047c435bb500683066023100eb1ad1545bc5a8f216cb45f7246e59f42ac64a9b65702d75d6d9c547fcb788a4205786f9000a9f8b31b88939f2e43309023100ae2fafd4708a33f1dcf4bfcf06bac3607f9c9265b32d87bc7d886b9331305ba428a2cbf28b5457e686ea3095380937850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ec39d76bb1fe5d0ad5973d6e8b990e6bc6948125f8d623c17be3d2d697676c02925781498fa1b01c3f4fefe9cbb73cab02305503dff13516905605298e87a192d221fb2ef97314130e2dde0ff9e75c4c54301c50dd7238b1fcf04dd36e090c3f6b380302047c435bb50067306502302c89e37af7e640524142936152395e914ab7e5f69a95746f0dd19707a6f2777755daa8105ef33c8c4b59ad2218925279023100d5576d474d4bc43ef68d74ae3978fa9024d010723d402f78840e724f3884a6b5f7eef9801fc69f8ef4f9b6a8f42eb1000302047c435bb50066306402306581b0e4044f3f160109e14ce497c5820547e132c66149ee6f896848e37509c1bc27a4cac335e478a658d8ac1275deec0230226bf814a4526f60e4a308cd1c9631a9964408d1275b5c81a1ca05bc092881247ba134a98b72cdadd811bcd5158c69d10302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500683066023100b8aab1c8963d7a3b7d99d91eeadbb33f08ca391c4afed452467429ab4ba76301f9911b5ff8656da57a5fcfea54254863023100cf7ac474bed25aa21115c0e86a0773d3a446fb533e4b39c7f1a02bfca6c5002be36b43c633ae516f4931ac01f13aac760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305844b998d5f27deaebc7aab2303f64399d727450faf5253899eadd27a22fc313dfa5e9d4b0809b96a4e788603b5e48a1023100d528d8032550e8d2188de2aafdda39efdb9c8b310d4a356d76ed3159b456bc7ee2598a35586a1963772fa0c4de4c3cf20302047c435bb50068306602310095db3364c48f46577cedb93d75ffc758569c288cb164d74bf04676a47308c44f232bb337c355e0a732962781c1702525023100f2027a081365ff60da703fd894a70cefc747a1308591e627d1149046d3618ab2df96d19ca9782c8c21acd28171e59b950302047c435bb500673065023079f92dbb9ffe2fb5813e38b1c96290c2b2b14ec8372434f9a6707c0e97e8ef2981c994fa3563d1e42e94061f038837e8023100d8be0f5eba1a8fe7b5e125139b02fe1d76a67c8ca8c577015645a922697ab2fd0b1a57fdc1e2248ad426870e3d0453760302047c435bb50067306502300d6783d9995767f66f19975cdaf43f8f948659df0da95c293c1915cdca909ca64a0189cd2513812a3e2e4f2fe0f3d481023100f610191d86b025c0c352e8310c07951e82eb6931a5365ff22a7024dada3d4d798f8a1bc22ca79b4211b5f77be1ebaf6f0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb50067306502305dd0dca7dea494d82a2549a187faad7bf4dc80d0482e7724e33bc716096849ec275ebe475e39e47961f48bfcc53cccf0023100d31e485eae7dc95716800ac41a9a2775bda27aa2b699f783f06496cd1087c558e31889bc245f608402f0ac5ac02d077c0302047c435bb500673065023100fa1726f99d8989503bf5aac2ee52ce163e33c8fb53ecbbe8429500a9de5d2553f76e4d0a4abc9b64e1a13e6c6e1a97fa023043873b8e2acaeeaa47eba45f0e61ff77c7255fe647f6e9eb57a145d80c0a7930eb1308c57968e68c03ae61fceefc77e10302047c435bb500683066023100847c8eba36f691775ec5f5bd0b509ad0f7dbdb6eb2100285cd120c779527544ef7a9be16da438dce7bc34ec45d9204fe023100daf0e5449abd2472ece52bf0ff81a88d614c3528f1c66bf871c29213f1f4e509af68d0bcc992b96835c690cb8a667d240302047c435bb500683066023100f2fe48713e240782381a80706ef122c87878d080cb7f8bec2eb1e5cdd5473eedd3824b043de25f2841b8c4a1aff4d44e023100e5135e813613ac85a5a3ab5b55d439cf3092e00906375206e090dd7ae8f82263c7671434c62c8af8e40194c2817c5baf0302047c435bb5006730650230157de1e4ed4278074ef4af221026b5e98ed101b3ab8f97a1abc7c936e785074e777ec2e2f56c4ed1883ab9175f1b804c023100d187f08021bcfda092dda0d4c5626ba2a84ee5e15ec7235613c7726d1fa4b863ffe4da9805a0ab3a134e8697f6a6c94a0302047c435bb500673065023044f6d0fc09adebba0eb04f2154b8e3bcfcac943527dbd51b8f38c30360e9636b6026a0d2dc5628580fca51178ac312f4023100c9d1c00ab4e1982317459ece4316ee20a415e626c18e4085f10105b5a452d9b27da15d654912d379bc112a0c940182820302047c435bb50067306502306d5b4c358c33de802a8f74c0beacffc1614e235c4fbb57cc9906fe74540d4090e4366485ab1acc7dae79fa9b66884c5f0231009a89f6156c101ac77412cf4da2b6fc1fcce59159831d30622e8e572a5c584f0f135d7aa3467740e0c8cca4769443970c0302047c435bb5006630640230014a5a5cfebc8702acbc4d84ea52ca014984751942400c1e02cfba4a9b1c5997014b09e290b43f979ee24305bd9aecee023012315f9bdc7deb770c9bee946f7d65a3f1b3ac2043ef13a3ad67a00a8b222e9b29f29683b6bb7fe867b15108d97eea940302047c435bb500683066023100df7925137ae06ceece2a4be44abbed4c1dfdd06e9c7bb996930cecdd6b4eabd0439f6d094b644a4ef1bb2add87c0c6cf023100c7279b2faa8003097b7d3ec3c07b28b7bb2554c24a476380a1b40764b70603a9ff7cec6c961b9a23e4baf48d3bc4da4e0302047c435bb500673065023100a05ae53930edb7a66fe54511f3790cc1f421eb9b25a2f5b6fae9db0f750e950af8775ecd56c32954d7faecc747262f720230623c9602dff0d2cfd43f5bd3e98a6bc60ce878f0ba957f08ae51892e0f20953d1b9c81b1d52b4a5648272f0ddda216160302047c435bb500683066023100ba21ba31dbb52a5dcbf412fed971652e6cb259df7a21c759cd9eb78e709445f608de9700c700b3a96667a757f30185e8023100e4292cba4835eb15f49e9a16187a774e60641e6743a59d018483539e6e435a126620b6f2566ec6f8f470e10c9a9d4d650302047c435bb50067306502310086a15167cb2375dbfa8c8e56a344b242f605eba8edf358cc1184e3504f15aeb3cfac80e51a24ea110e874ebbb3f42177023019f5f14e9318806e984db966cc710686fb3939b2d6bc882a55c34f4ff7f4915b5906268ca053dcb9f4e98b88374bcf830302047c435bb500673065023100ece79d060f07e3d3c18a15ae6d5ad603f92b7faf5d780844a1913888538a4aa96359db817799ff73d82f1a3bbff8d1190230213b89dcd57825eaceaedbf290bdd7fca287d9d55372e4ba2c5ed6b7eeef8df0a05420a326563a21d06960372ef197520302047c435bb50067306502304e38aeaa0b023da78545763fbc07b9b1c8a374d75ebdd0d062345c6a82b403da09ed17307c1e25fa7eb03aaa220ae61e023100f3b1bf4f66c667c759c0ffea443a3b137db771a1edf05389ea5fd9429ee2177d8ab0d602b694b3222c3288291ebb5b8f0302047c435bb5006730650231008584423806c84f6a171f8a069aee888dc8401bbc755fe2a0cb87709f26eeeb7cc595da92ac328e56427cd9241a4fa5bf0230300af028bce0ec45a6077ca2567d6ad80548753077f9d211f3dc62af43138f513b59afdc506bd89e04988fb014f8108e0302047c435bb500673065023100d4a01cdeb9ec1d927ae98dbd819814dec4215f87723dd5d3d3591270807e2caa2910f6c8eaaecae5f3307cb08f16a3e0023009e514dccf7a284ae6d4783eacf7425ebecdacec05e6e07b67d7ba55fff11f29a29bf4bf25c74e721f1f2786a65a88d70302047c435bb500673065023100bfa39bc52ef052005fde1ffd55c6f84f4da16bffa03feb41774382a26f8d235e7da692412eaf778c7ce176a332a5ace102305a9a17aa7e6619a00a37879956eb077cdd9a03cb38559aa7c6ae47ac859ff9aff82d0d792f1c02ccc6dd9a1d2b9878a30302047c435bb50068306602310092b6399ceb2148040da9cbb4345b20c43f304e00f93365c60e684ad166e5050c74e9f176f4e2d4c4f91d82528b170add02310083127b6bc32c5b3aa2afcd9fceefc37e3cf7520f6f9dcb7b7463a024b276e34aa58d7ee016b8b6ee6930b094207724620302047c435bb5006630640230452306a4ba9d993c75010f55d14c8aad2f07824af3415ee4438338e6cba20305f0c554815510633b1379438661f1b88b023052a916a87c27f19a961b356b299b886fb832ea168a2f2a51750760f3d29b59205f032c9c42b9d82d337b3bb29e49c2890302047c435bb500673065023100ac9ffa3a292df9079a1104127476060aaf2a90c11ace5682edc04b29224924d581066e83acc70f96bc3419d0982c2695023034b99d07a5c5fdb9e9d7ac9afc1cfc312b7b6b96d2df73c59ae421d24721487091d06ff4e5f9d9ce05770e3a4395353c0302047c435bb500673065023100ba321a05563a32e158d8fd858e80a95463df5138dd85e23a144f256c3afa826a9001e52f6c516198b618d688e86076cb0230451fb9876f5cd77bdb5c65ff30ea8a39548ca9131d5285f853548af9713be84c187fd8ca35e390f21f676aca42dc1f3a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230338decb0085b0f78223aacdd311ef6009bcfdf0c1320b27255f6430ca58e30bd83810d94d1891734c661271b627f5752023100c1aafadd7b6b8884e752132d1d857d0564b376ca5723f8b6a0bcf1602ead26d9f8118bd9c9800ba3eddf870a395d2aac0302047c435bb500663064023044983a76d89183f03b6e2e1c78e1e274c5196658719370bc4d6704e45cc5e2a64acde35d03bc0c845e5ffd924c63face0230056b1f10c185071f2f08557cd9397c6689580b1312c0abb80f41cbf82572a31e5438eae4da7929749e870998d081f1590302047c435bb50066306402302779586200c55a8c6495e817c410386f932666bb97273bb39e945e93c69668eb01025b3cf6487bcb18917a3e48f156f302304967b949d5f2dda820da498b013a17d775e32651401bebe875c1279ed80d020b9f51be7a8d464e06fefbb870da63b08b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023063179af5a09ae49d7245d2040fa7d6687a5d4ed9419bd79727b43bca4d03ae0e2f479e42def2baff1cfa8de618b518c3023100eb260a74865f5068f7218d3472ae34b2450a5e1b5c4fa5a472e8087517ac2c2920aed42e2a5cbdfa3799d5c367d7483b0302047c435bb500673065023100b55a8579be66b850aaf38de907f3b4e8db713da54c0a674822bb31e4a0180ffc634a0d406a422dc35b58b6e44890708a023033e089b8e0ff3b2313ebb85647bcbecdecb9ab01ce4d0cc46aa89b03cf7a689b1e69edb22f54ddf9386772bd79e473f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100df0a3beee0dafd27bd02316ed7a0a1499582f453c391a02be4fa8b5c78920d57216e1dbbd3680553ca23581fff2b9b9302307d372a28fcbf0d786580c09fb8bf8bec7c4710286a3412024c4a473207c1f5d1a5155696b20e583d4eb3bf2f8156c6800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023050e1534590b86378bfa5db650b0b7a6db0d296bf03c5305f2e33c28268c5f896c60deade594b6435be8aa1ef3956d353023100e3575d6294101534881f406442c086206b6d27f28667c8b48dac4e228a49c0e33e93b3283d5e5339eae04ee7ff54fd3b0302047c435bb50067306502305540e9cca651a6f8ec36f3fba06aa31634b94c11f1db38ca4c19b27abdd878cf911f83439a1d6ae4cc9679b926eeedaf023100b35c1ec805c11d6f002e87b4355950e2f2f5f2c0b83c52e1fae872ecd362302c65a7fd63a2c8251cf3bdc030316d6e250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023027d46042866619f5014dc9ffe398cdea9da2604bc7f6c3ebded14c6103225011269cb20061a75b4a7a2c38dca046f178023100993f063caa09a3d8cf9226b2005aeab2c00f4d342a92d191ff23fbc641e5584144a792002e1d970997651e5caea565410302047c435bb500663064023001663027a4a1293369a7836969b1339fedd7650f792350d024f014a8591fad4d0150aa5666f3266e28b6d8fe558ba8cd023075851b3259850fe5c827298b71103820bff56891a8f7d092ba5d7c9fdfe8fcd9753a22e40dcd44d9dbd30a7912ba12c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ad8b5a1efb74b7fac4afc6cdf6d4d8e971b42a1cf10d601f42e8e32b8a26f3ab10e3d7f3a56e4364b46c16f2535fdd7502301ed502be5802b219ec51067b5f7fe26a5a2d89a9b3b240f93e57084126ecff6ccba7c51d6d131e6d6b5d69d9d3447f670302047c435bb50066306402305a1f0337ff8efc63f494a11062698f696b4e20d1ce40683e315e421dcccf010b0fd9879444254dd122a0aae312a629960230262320c5c1baf637f32c535cf939e7fe510045d52f6acb410ae270d142ae5d45866d873dab5cd1e5b1125932cac8d6cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a372a0f6034a02ea82a0a04de548d1f1bfecd53f37f0ae3ad76725435ace73b6def308bccb66ac8f3a73a37ec1db46cb0231008e0caf4bb65275131b924c893660c18ce76b0a5c6033b2bb7a3407ec68b3ccc484c9869f47b86a3480f2366fc3371c9e0302047c435bb500673065023000d18b8d3bcdd6896b4e90e360bd170c20494acfa07beca631cbb6c5ec9183c678bf63ec3d2f96f226520bd288db0269023100e52c524adb0c26e389db51b2272544141b450bd33a8be572512dd83248965927ccdac557ab233fd638a54b24adf47a7c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307ee6e2a8f17316596d5e5151aaf5988c0d3b66efa0c92c0166e94353ebcd383b6745de4bfa66a3d90dc02fa84b51d1fa02305f98d0610a44fd43c373883b76951bb60ef78426a118732069db4ba400f7fcf52b2de9c41bad420219cd94cd3be78c1d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305c944aa241ea01d7b0313fd787811a5ce9d86683ef86771578a424ca3ca8793b66f149c4b82e9656bf8da585956d62a502310090faaf8d873083620898d57153afe88833a2ed1b4040fafeb94291a3bf0aadf2a7914f4065ffc00f449a05eb6e4ec2f00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230188d699e1fcd38e686566f1cb03108de0e6592f2f7aefd2fe8ca8565f0b514326739d9f6c0cdaf86d9ffc9bb849ff39a023100c64e8428fe414105a7311c57db21f35c52ca2de0646514dcc91afceeba9d451251e2ca6e7c63002aafb4564b940e73b40302047c435bb500673065023005cbd4e45c8578584ce47572f9aef0203303f162debaaf90c38fc94b6d1e040bf5732badcfd7a9a329a2e512eb0f1a4b023100d6f5e389e343649299125e1dda67309ee810b72fa780d9d0698962e0db5a8f8135ea0f3b4a10aa58cc10851cb19fc9e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302ea062ff34e969bf94ae07f69e1423fc7f0b7eda8d8097784e9c055a2b31e835f73d387975361971cdc930a2c2262127023100d7ff738b24ce59c0f60b35997e6d9a73c4b25de649a4c3d85f6c70c2a8c3d2b2b947711b912061f54dfb54eff62772ec0302047c435bb50067306502305fd6e8acf3fa7d8fa1c69092b316bb3e1616f5784b24caad57c1e2ca9ec0969378f1d0e9808dd3eb439a37db36d33ece023100a170cd911f43a99814ca2ae1d9379eefaf19741a48b8876ebd9ac0029e97199b92c6a37c8323227bc3b4f106124f033d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310095e24a07ff533c2a4bad92fdc7f4778a8078e4a2beb2cefd8f624460bd93c28c7044ed6a633483cb8e2d62bc2bd91279023100ec25632473a04bbd82aa9530252d51165fb84f7c3da231fc10e9dc6d198b4e8f27ba25e9cd26f08116f31c1c140b017b0302047c435bb500673065023100ef17ab5974d7fde9925f3deb80a287b46df074ad7d9db22154d5e4962e270342ab462f6b42cba5e02558fc05e844eb02023047991f557f8b7a3d0383c57e1dffd48c895dac81198f9b2cf8a65547a6ef07fc97153b6c3891cb7772b634f9378fe1090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305137338f41f2717463a58f0e01d817d99a58b7700d1fc46c6b0f297a6aae677dd8dd186a91c214482e8196e9bce3114a023100aecf0057bb62b8bdf995387806894c855f4767dd774b06d1e5e5ba3d3da560f17b2c8e0b6c0e09223d36c7266ec0f3780302047c435bb500673065023100f2020f64cbe02b8ed88bc9c3e4e82c96106824601edd0a4a149a7f4929db51b9adbfc573570b0550b2fc36c8f8821f54023045126f86ba66446c177b617ddb899cb4783b10fed4f4dbfa9aa3ecbcf553ca924894daa3582db002c303379c308f6f0c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300d461c3de65816c9a2679704892edc21a7a1482856f80e775cfb6a5f901f7e825c44303d3adec7827e70869b032b4160023100a70126fdcd3e65dd203fb8be0074b16226151327920d85a3f58eb9a4e9e318ed96d5e2250442b93ccbe76bc209d24ca70302047c435bb500683066023100b9027182f4e8420949e240812ffc2aae0f28e87760ae153cb64efb45964b89aba820f3b7ae9f82d966b956629d3f942c023100ff6835bc15a551bac1c30149129fd082135c675f2a856f4087b32ec62b125b0b9e8e81896061e0fca7a12a62b3ed95220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310085edaf77f0d644a9d12faf94307fc0898e96f085beb5b2802ccb8999b7062dbcea1e353ddc038926a15b1de7a79f7ec4023100a3699bfa60332103cb7a63470619d44cc5df69a79445ce5f1347d550cbe230105ac7ba2378a1922899e29c76075372000302047c435bb500683066023100e0620da42f8458ecbad5a66d2f7adcfd86cb1ae0226acb11f576c9998dd98e87fc82db84031cdf5684fa2f28067e3e17023100f5ceb6584990e47ecb60c6929a32866bd9de6dd8bb9cc52979b5f483387a7827033023f3edfd9c513b2af476270eace00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100875bee534df3bbcda8883a450cb331bb0c152bc3eea474b1dd44092dc3673fd6f7feb56c37a1c00931ed8dfaa473b76302304a5ef26cf0bb972102b1aafce691ad08b7577c08f6ec2efb99cf092f697d004539f3f97c477939cb49cab7d867012a0e0302047c435bb500683066023100ba2de7f59054cb062c2422d71d40de2f615936529e4d501ef87db8453db5a941912cfaa8166b7f21bf07db3e39de9bfa023100a324f59e1ce6c2fff4318e4141cf474bf32d25a3881352c00060c64a27464e7a53d2e5ffd064b48bab0d6a7472b8cbf20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310081df146246f76fc25e81a6e9ec5ed8a28601fccb46b70c12cbdb96dbf5faee82a44ec984754d9b3ad65931a2abf826ad023100da5dbd9ab4c083623e521b033dc31d9126075bfd4e46353e028d145e55f72cb9546e66c3cf664b9f55eb74acd094c4140302047c435bb500683066023100ec3a146e0faafcb9dfba06823ed32f070371d499696ab3c53575e1cdea42352dff6f6e382101c73d04cc37ea8f689085023100dc328ef134935e20e88848928308c40441dfd4ec1db4214b852b22e30c059f48ded472cf71f41d758dbde4a233c511b20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230345eabab73dba479cdcaf61bda9e063b464f5d112e80e2c027ec8b2ce7b71ef14db252721abc58305dd82d6edc8918bf023100d6b41b737e8e28d14d4c1049e4740fd3ed5ee9b867eabda97d474bf26169e79188a1b2defaf82b4f13a0757bd0da23e20302047c435bb50067306502310097c1c0ca7ae06198d0c4ccdf5beeb9f0f782b083db9b591bda8591c894c72b7cb3b26a0bbd7e687610c2b24f9163baed023061f85266435a07805df46ea10037408a8ee039931d6d13f07275f9482f5ad23e6508532e38aa95bf51f50f10b2b924d20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310097aafa5bbb7e93fb1f65dabb4e66b74c83cb57b7e654bb260c862a09cd935e2e84f9be99dbd4ff0ea50aa1d50b38fb9802300c82810b453c80b6c5b0ab86e2943e9416ca35e6d8c795fe40007d2822a9fefdadca33f95865d6d851bf4ab6067746950302047c435bb500673065023100869d65a2472cb298e66ab9a1052e83c729ec8c3fd1d55d2a5ca5eef00195d010300126937429006e27397f013503695102304d9aca1ca5119e7025501d003e6a5518700eed6c3ab11fec52f4aa5ffdf5fcaa61a4fa69e1483d1e92cab43c1b653ea90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b3178170a97921d50b2cf8b207cd6dc3abf1cf4b30d07476f72bb4ddc7ae8726aeb2c445cd393536ff0e32987843102e0230144bc51a61ee2ed93a2257ad97ef75dc9938d3c1ae45d50d255b65ab3d37bd91530f29ba676b3612213a23877839be110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e5f7c64ce30666a9d926353b5213a0add0a4bede2a3c917cdfa00bc525a989afaae682d1f6d276f535689f0f8728a0fb023100f37771571bf62f16b87e0d22eb1f88c262be7978b32332e5830ebbc5876a321ffcea98b86647aafa45ff0f2686410d6c0302047c435bb500683066023100fdf0e98989520c7d4975da5ba7a548618d9e7077938365cda69cbf34a9f4523c0cbae012e665e52b22a0a8f7448d241a023100ecc3179c85fc07053a8d323f44e672386710aa1ede685fc16e5c348ee6589759316e0a83137dbd4563a7a05857fd3cf10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300d96dddc08ce78a7f6e93a091e1dd723618aaf88f21fb2aa3bac2e50156fa36a2d43f80b59734789671ebe19e1dbfe170231009f6fa352ccc4889d119f32619dccf537d340b026040f8d520e60d99aed9065bf32f20bd545aff60c48e51797df2147d30302047c435bb500683066023100bf376e77ffc577b2dca3396dd44cf1769c6a17c1c4524115861f847bebd64aaac126c47e05f33890daab871c74a66e5202310092b22762981b4e5479456c2445ec86dd8535a87f6ecaf3ced6d3ffc1fcfa525f789d6600469110907e20458d6630e5cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bc19ed756a9c25bbe55520003e77571b65c906ecc23d2f12a64384e9682c932e444073eeeed407435f8077c5e03459fc02301922550ae38c78d88c5cf0e91b8e2cc648e7ff5b909488aac6f72ecaf285c441ff2fcd9d81a962c7ec793d2374ccd29c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100858f7352d9d86599bd05c0d8c502a8793e2dfe90a108820e872bd37314e9582e897397086661f07d0ed0c1ec93dc49cf02306a08c92226da5828ffb8974a08db5caaba86eae21301dfdd80b82f436a1401defb632c44aca37ed4284da529c59349780302047c435bb500683066023100a08f257040cc4d24cf6f9783c7a39b4765babb9e77910dde0ec9a6aad7b7d14156098d3a6c2f5902c8b4760c41e29a21023100d52741fbc09b9305c41cf32fd6bae1c1ade880a69a3ca9769c1ee4096df683330234a85714a4e7ab53df53c67f8a26f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306492709229f408614f7b68122a42a79530a770adb7cf5e95b54e38da2e295e2a16f2e8c9223100283069d361c1b3050702302eb5ea44db4b8ea4d93904cab09794e2b8a42e71b179cd2bac28b89b5359a43f3c0407de5107542ac43c61c04d4ac79a0302047c435bb50066306402301435182a34036e6e13422802f22ecc67b1635e93e898bd90ebb723333b277a4ed7411dff8fce3c230ad2838ae7a1f9c902303f81635c101e03cdb06655f159f9327a6089b5beb94bcff91c0319c7fef674604aead96e1da64037931b032acc2027cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f710a9ff01128eea69275ee636efbe7d5456898733e7f0cfd37dde5b113eb7f26c10030499a182078794475cb6bf0a5b023100b59e9a95243438830e66d73ef05e02828cda41ef41db17ba8302d8df69c9e398209c90d6b82465ae0212bd9211c44fcb0302047c435bb50067306502306f4334e798d9565d5f4843677d87da4a9c4536a5bb6aba2ecda4ea4ecb317cd5d9a3b9e9df0bcbfdeab7d2de5eeae5fa023100ca726a7e4ff0ba4066a931f2ea0105316d9630c76626cb43ce81e0de675857c277d35a950808deb7abb0470f87cc4c860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307341ac44e3594168e4debc2f81208bc424b69d1471bbb7abb3f7f4d2da020c750e83f32b9cb417f27ab9da5914f55b7d023100b128c860ec84029fabe598ced6c0f21c40ae219b04bae39b6e76c2114751b3d74ab081a3ba89fb9ebfc2969cba2653f70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ed8dbd7c2325e9be2ce91c33b120ec3753931d34248c4aec9b71d5a79e79282586f17d1b2e31dec19a1629ffc3622ab8023100dca935a0c9a21c5b78b13493447a4a9bd4f7f87f6f563447039a25e94803f775f9a788ef6f7e1ae39f6429462ca65b270302047c435bb500673065023010a5a5fef18accf87114f4c31727e8e482789d1ba6feb52bc29e407030f013c426cb49ccac6a8310474d7ad55af0ed8802310083d24126ae3f1fa35914bfdbd5b9b482c684c38bdce980ac8079a225a37998ef5c99a8e159eb5a897907f50c89184b800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e27d1db7751f65b4de5ff1fe70b2c1c4e076bd5ce5b64673dfe32ffa3797e74963e4ccc5b49631945f9d15afbfdbe3d80231009a1243309a4c96561ecded163e78315e5f220292e346447f31e28d1de2575fc5282ca66240ea07ca13a098a5b35e45f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023064cff5c7977fce723fbd0e693754a7f05f7ebfea1ce7e654378a4d35c212394e64a480ee10f4158875ccce75fc4a31c1023100c869b60b3ff20683606aeb7661f4b3a4ba954366c297404ea2e89aa28593a9fbb22ed99f93c403edc45024bd73a6daad0302047c435bb5006730650231009a2f3e6400b9dec5a3441e509babe2224fa3caad8ec214fba3445b9e29280ec4643e1fa0da655fcc724a956d5655b63402303d2b378d89fecdc807803b0698b73d2c772795136370d0cd116032c5407c2eab567cdb1e468773368c50d30bf3d2a0d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100839b20273438a331f8d1fbaf84b348e01a511921d0362cc2dd4c3e789862b0af4723ab702b13a139b5a07aae51a5577a023015a35223b797145f3039a0cdd072a28c0cd54c4553254d1e6fcfe9b87646b7f8123487356c83459d338d2bf2ad0008f90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307a351488092afbb7bad0504cb97895403dc6e5c9bb9918162cd45f15e6f6937ad25e77505f1f780a01b9226d1d87ad7d023100c921f7e7cd69e6b0e593fda014c2749504f68279f85ce6e80e9c981bf2d3fdd68f738ad3a61a6a8769a086cf01f4ae4d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ee79aac6a3bb9029d9b58416612e446460c16081349aa2556dfd7444525a4ed54225dc86edf254cd4531c2012e0352e9023100c9b64a433f43d54c51e5156b6410494e6ff97f4ff7b54f3eeaed1893d92a2553c5c81ec174866d758aa1974ed0ee4d2d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023006bd3a0f197b3310cc195e10499c7a213cc05087bf1c8f1d81872d699ff771d126b16c16322f23266dafb06fdc9c1628023040883eca50254dc5467351b5f9b562585d3aed9c2aca3d66a6b4e3d65b877c201fc0f78ba84b3c219b638a6f94d128ed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009742d5f729e712ef75a627187a6094f3d6534d68d8fe488539d447ab51f8496196cdf16785054b39884293d1e15f89b9023057c4a6765c572873132b7f10d9c238ce97714e07581e2bbed2ae2f440f0ace32e3919c63f365b7ece80edafa62b1e2490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f05e96e92971d4f29286ade106d2a7cf6925b01d2f41a358c312c0210d647d89c433b043f199298d41fccfb7254ec0c0023058b53a84fd736f2e2254098d92cee6c41afa46988384a83939e7205f6a0c8d4391e694890a2d50a03ab5823c2e8c46390302047c435bb500663064023037cdc42f61b8126860aa5baa033efbb0d621aa153c9c2768d817bb4790d032f555b7c4ea0c3a2040701923d5fcde6913023012ae2bc2ec5ef3b313a00d39840fef7c8990b76fb9b9d7be2a3eb6c3f82995c013417b3df3949cfa8d88029f5b1dd7260302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023009a6ea2151d9b79aaede68ada6589e013967d8c6fd1d4e74bffd33369ec9b1674db70b8bdaaed81cc934618aacd22da302301e255f2e24177cc7e6f4bd982c749c691dbf810891b51ee1da3750ef8da9fcd471a1429c57acdb304c43aa2cada9a2c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a7045997ff7fd2340a25bfae8c2af431fa28e799b9a8e704c801e248fa1fd792303cbc52f6d691ecb9ba2fc73b5d9b3e023000c72876b90657b94a692226bceb93e858f54ba50d307564e95681cc254b95338265f649670d39f84fc4ed5abead062d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f90200e5a3be515656f39a16b147a906306e916b35f669c6705919252bc2f9bb4ca5429d75feae077a906ed28a1bb11b02303ac44e0f54e697e14e473fb4099b1c947f7e1d917ea160af61d68588fa8ed6574498151c84e5bb48c67a205f3b114e6a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230149257b91689d0f821c514670b23df499efe5071175f635bd2dd2b4ce64451c5b58e7ae6f674651b1483bf00c702c96e0231009ee98863b6d71a5aeec88e9b31025292b6654b98c8efadd2fa994c2221e1bf195651f144e94e951270215153d7f36eb90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023064a31622614d7e3dde86c52e2fc3bec79fa9f856b9c005e646f314ede984c793405fbc516ad32e34c49cbeff2242ba31023004f8cec64a8d72b64d88d4c4e30a72e804d7b2e7925c7e44a14e9c58c3a0c587dd38a94a69ef79129a9ac4cd107544580302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230273236933bd581f3b56dd22cad249e031d7b17ae8b5f2cc2d30c2ffc2b897697408be58c718772d3bfa9c055ff451de8023100c4c609f6d1a0c6f23d87201f6e47026482e5edadc4cdab83aaa30129c7c8340bc9933bc1fdaf633bddb12bb6d382667b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023052f38d8db8ab1c947fdd13fbdbe3eabb81048f1cf9b8ff2d73137cde69a2e963bf8e7d3baf565403b9b381f3c1d7794702305967b28b888928deca3b5178f2f8a3f1de2199295413cd94978f60119c4c27c4d82bf2c55e725940663e5be74b709fe40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305c8936c5f34578aae1bff3fbda67d4ea23e99623bb746a4eb783cc914fe378fc7d0e5cf0869664ee3a818975f441a2dd02306f8a3ea2cbbefc600b885d7740d5da67344030386441a742e2d13916aa3dcf72ffd4781703d3569f7b2ac5be9a634a8b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306d2967be261f02a027639ba45510d2afce18120f970b1b6c9784e24a23f8ef0d82af7569a938139098fbccbe0b55069c023100822df3a4f754037147f0200e8c294bd21d09d027fa253e738835502d7e2fcb64d3508b40584c8434d57ccd43c04aace80302047c435bb50067306502301156a6269602d6fb62eb8a496fd4fe0fe0cbdbbdbaad3acc0a83369babe341702094fd591bc1e3439736b1f357e0b063023100acaf674a043028e56f3c850c434df809d2298d5cdbac8002a498dccfc5faef82c226645274c09f207a61af71a4db80d90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301e9368c6352dc8b55ed8b5f65fdf6ab606ba40ae9961d26f482284f6e2c7435d28f9f7dd6bf7d5c97a413d8e90b651df023100c66b5fe043192f7fb32191ab8f8461edf2250708391750b448753a1b74175939857746de9ca07c4b9d6f5672bebe3a0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023054ae885bbd2d7f29fd93e44841890f5dc48aaac9d9b297181942ff5ecd841d363c0b01ca82ef9797a2de268bf775246b023039846a6b818cc2eab7783810497010b3014b3d07c2e505c47a7b01bea74a2695d736a1cc55efc11f6e46190d1fa9d7b50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a7ea2611ee6d2c5312494a476352277b4435bb8b748bc70d3658b08826f54ba2938312f47065bf13a1117a111037f3e6023100c261ac0b6b52553619277abb0bb69db60d2459c801c19e7ddfea1bd9b449e040ead0291ec4a76f853b62ffceff0f31de0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305a225da6c681bfc37f1f3728810055780329b3d220f5474c5c03533473dc6a9077c5708961fa60991306bb24fe2159dc023100f716d27f3c3befe86941b13c820ab8829a97960178f4e7a98f5c5ecb1d57bf81681151ed08c7144ef67d9885dd10169c0302047c435bb5006830660231009416877f7fd661736d973aa89af8e96ea708678229effe3ab11755be3bb02f1a5f2c7aa76c45468cfb514f78091e6121023100cebc5ee34fc3f775bf08e9c1e7b42183c69a0e2b3b006b9129c131924151a78c61b9698d982b9c9d7ce8bf72bbffd1010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100dceb4ba8ba806a59c8873b5b65f7c8a8a2dbff8118d9b4295954e4371d09304a40f1e13cb811a5e52409e496992dcf210230233d887b1936355795484bebeb26fcb9e52eaa18dd4758bc3e34874573df43b62dfeeb8ce302e7c81655cd0267f93f790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cdb766d3615df2ba802d6dd7779f0c802613c4601f2414c7ae0a7ff3712023ca165e99f70d5a7104ec8585d8fd5657a00231009f22a481119716ae5aa75774d955f50440ef811533943048a18dc9a9e26005450d5a69342776847de135efad7edebdfa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023066176f689db41b5fee702922177b5d13288ab813236c24a79cc149b61df4ec26c69bc59d515901199501e0672f568bca02302210c8a86c79151cbe0252a7a4dc63cc86b88a8cd310e9c086f7b37e520b89d09abf06893734e736d036ad992a4281600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306acd598bc6f104ff65f8ecdefc947f8afd271b59a6baa3be22061434a6427b0724918678d498af676d839a1cd198d314023100d768c6cf8864c5528468ff93f07f663e8b712f8b3490f3261ff970231ef38388823f0a24e52ff35fda04ac4625f594f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307aa40260d16018cc7345c99bf35d886fb879e84c4d531244949df6dba8aa97543222bcc5770c2b976fc0f9bed0ceaa09023100d976c0693538d7ed5e9ce32c44262d19e6f143dcdf715df52a8efb8444eb30acd522821d3b2e252d15f939346558c63c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e30b83bcbaf26e693280a0942cbf1e99f88308def4560130857fb3aef72710e5aed9556abd440246c7f6a319538bf5af023100de7fad9572ed4aae1f24dd3191ddba9e25d9b6afa4e49ed0d3c9e9ad17f6d5f5767175c3cdbdc0cd8b301bf1b27933bf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aa747d9f12da0233058d83788a4d64d0ac45ccbdf767ce2a9fcb4fec67c1a339f9613f9b824ab736113002cba3bb522102302b6f93809d0ec2381e7d9656d83384888bf87a8df1ba205533e825ad055c4880e8ce9b735b6d9ac1fd024d0c678d704e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f2bd50e806672d8ee8a9678df9f9f548372e1d2b6fbce6c8a6c0167e56544ef1664f086103f368cc9260a697461d0b0d023063506e7db03b3a10724309ee868a058e87b15fbc50a09145ac1402ea6177e409d949795636a568c21544d2accd4af9ae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bdfa3e13687c9e08338b11243d0ce9c3146884b71f2dbcc9b5fe916755c61d743ff5451c0165cbaa4f6a4871d34f51fe023100ff7a0d26deb91294977ae6334b587c437222f4d334b1d9f914f8e2256caa73284155156840010db2f35317b3f70c423f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230627fecb5e20f404164c9dbf67e4dec915a62055222dabe11ade7ae51f77f4e1ae23ed9e8f7007c6511621e7e9a378a6d02303caa33f67bfaf9a892600e8586eaaa4035add07398769d39eb2db841af3c4e1e597ca793ac245496f9247b9546fe9fa20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023069f3647df35568b0d601f328c1aee93a51ee01024f4ef581247ba7001775ac1101e6baeccc58bc6e92f24035adb123ba023040c505da1e05453c278a169924e33c15a411ce847da784cfb7d006945ec6e91151371edbc14b7fb3214f1a4d6dbcdec70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f7a5cce3e6ee8543efeb5e7ef6091b5c3f44d57a3f09f2a5d610561e8f342c2898341f201ec723fd920256e1306ba6ee023100eec092c03b5b9f34d8351b332336dc6f4b2b4710b52c6fca1e1581a1221ca99194cd174a7323175d4ac7edeadf22f50c0302047c435bb50067306502301e7a0bbbc43f0b17e8b97cc4046391d9f9b432124bcaabf9cb0888b562e86603836e08b087dd46221c42f5467b3e8cd0023100f243624c1d12897ebe442ee250a2c8a082500b3123d82ece2eafe187137d8362f8b5e84aa04794a72a72fa92e693dc120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c2c19d15b01c64a3cf2e83ab78a800e386a59db9b52b0af2e98123843534011c209bdc09c0a4eea0ce633255ad89dd9a023100cabbbb85882ac3ae850347e6f8d0bd0d079f38ba5317c3f2e58dc5489dae3d8935798784b4f90762b7409267e1dbacdd0302047c435bb50066306402301f4754c18604c1168cabcb059caea212040f61e70e33f0fc8e83fd6731089820ccb298e9e45b8c1609c6bc4be3bfe18002304ac1f596eae00d6c7950d0168283cc7f4b7774dbc666b5a864083064f030bd387277f80cb846491176a1848b17fbe6410302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c096d3eeec7fed1fcc5d065a4fca8840ea17f31887657ec11ee95424a918dc8213b3ba98ac01d09afff5b782dd955f660230599aa62a4f40eb140cabd9bdb4cf52ce571e527d2156bea4080d35435ebd65dba65ab43d034fdeada7cbd295038d0ea30302047c435bb5006830660231008cc72a0576ee493d19432a50d46481a749248aa485f8e64b3b0a2fd69c65501931be9921aca595219b29aaaa8142e438023100e2c41b81c9bac31dc2ab118c49adb325de1e873ed8711b03e2df45f379d9478ef706b3a73cc096099d407bb9a1912eb00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023044f576003735d9b2606e9204dd0c37e6ac2ab90a9e24ceb2e2b35c434bb5ba53bd38fda37d28c750dacdb8d469ec158502310089c9d181883b01abadf7dc21fb162260551d7d6654831e1566dae808b33dbfcc2250f45e8cf6b396b63a054789e437850302047c435bb50067306502307b6444d612b1357d9f64b6daf8a3e84caf99902f240b2baa09bfdc826538b0cec2576544500187a50cf633817ad80dea02310091ab7192ae9baa0733d3cd58405023f506c7ebd4c3e9deef424e9c5f41e033edeb694395be0d1a06957e22c8259e87030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023071e68da244cc58b7f15bc62c85d34a3c17cab1c07d545fda0239289be1c3eb4f092c3f98e9d84828429af50830bca9930230794f8719490c6cee748299bc590798b890146553b70bfd95d8feb5fe73a7b0ae77c1d6b46231c4f1f072e27c367ff3380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305c1b14f220c7da637e9a5c22616c36a89dcbbd8feb209cf8424d25b038173fec272d04569427f02bfc514a7a4427481e02302654b9a51bc7ee90539e55843c45c5c9578a4c930e75bb3ad66758aa98a6cc7501df34391994e7a19fa919084b9cbe620302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301054bf73b15a86262e60ff47fd7511809758dfecc16a4d8cdc941654cbc5e065e5672d1f96a2c15e9385e45e374d622d0230617a26c8d657d8613e8d8b550a48836bdd3634fa11773e953a3afc0634bde1539eed42a2ce1df149b46a002d14d545940302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100baf10bb8aae86b034a3aef5783d44737c484a00bf9bc3a02caeb3cb62f683310dde244f39d553d0685bb43ab6b935f2c023009a299482890ec724c7370eea460ee3da3f19e7d9218a1c2bbfc2dfb30c0f44a8aa64541f0540e9d351f9f79f84accaa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e49faad8828a25a929ee4c39f6b066a7196de898e05876e767524c2e30d0cef50f130bc085c13cf4b01fe9d75202f74f02307bae42e568e2394b078e1438ccd1a4d651f9976a14cfa771acba4585a0fe05eae8adaaf63b8c63309ae6f75d47ba50dd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d51a83cd856259ada7ce247d7d3a694e38544a091ab52969cd7e1dd0dc40a99ffbc51332a01a87d0f48308b7e1cd125602303c533ff4c76edafae20421e2f53c00b5728e788cf8b429b1113d334dd2e049b0c40ceb6a0861148caa52ce063ae1f5bc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230587e817250c99c48296a5cc3e42dba6ae4aa4acad4ffe52a514b5ff90013adbaac50c19436f2f3ea8d9e9f049856cf8e023100a108e6879fcaaabf6e2bb044f7528211b2115c4f53c9f6bb49c68138b576bc85c912d1c39a1dbaac4221ba2e647c741a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307e27e4a5809e598d633acd9231b1f6ca25e088ab20bbcd325a8d1bf5b7d885a8c12d94f6440d1c46751af6574f3f813b02303c70fd06bc88e24c657cd1734bf81cc1a1daaa889fe8fbebcc70cf8f461492bd4043581d82af4ec539a23e5becf80c9e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230088bc508cbe29a510665a78dfd2dffa4ffd0e5ed0b1b1ae45722aec11858b89eeff39ad896a6951e07753ca65205845f0230791672195ecdac74b543b9bd7991b9b784f646d61703adff1d654e42505493da3eeae76e426f3cf5a486644410bc3cff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f3d6ea828b7e1c7056ced9a361f81b72b85cfe545c321261387ff066e6ca5e476498c67460d130073c8d075af0dd4f66023100d938e752b7dafccda916123e53893e553ba08eb8c949df6bcd85620eeb89c449f8a5290b3e7d2e134b41936c130bf6860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ec93eaf4ad94c91d6b852669c189bca9e829bc81aeb0356f217455a794c43a6dae3ee1d4951118d634951d31dc866555023100f42d8280ba0333f6a62605e358eaaf71775cabd3536ddb54568dfbebd6fe2a7952a9792a872a20d861c6a68a5847427b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100eb6c7e4acd70f55334163e82f2d2ccc154dcaf39cab61bc445596a577c681415754d34b44aec7ed4b88687451af8b65c023100921b3498efd72c25062910426147bcfdeea297f399163b1147ec7d8efe5a692f544397c935858639cb2b602bd3b6eea10302047c435bb50067306502303930d177be439b771b7498f922235dc38d4524dcede5ed401830bc97520dc59a16f4180aed2f31d21354dc64fcfd432b023100fabd31f2ce8726547931a9b1fe4b76f21b236394fc0861b44f2ed15ae3ad76b602ac614f4af40e5ce6d5198b6c9d4d4b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e409718587346f6d4daf439513ad9ab0f4460ec8a4ad55a536d11aeb38c19c3e5b100aa85867c5a289f63bc068e520f1023100f608fe80841cc99a507baecd7637935042a58d5d2aaee49a798f8b53e96b62ef0a94f89c07f98ef57dfb8050a470e5fa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307129cef6e8e63249dff9142fe1e6736701783cfab0648f9901e3ccd5bc1e97e0ddea532602ef95d4ef45ecfa58ab0881023100daa804cf448f6a745b9142a1e28dccf9dce99bf628811032b13e35bfffc5db98a9e6a10ec614997ac12b0a91ab1f94110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cb287dba345899e7f5c7b811a3171126553a440b42ffe3d597f12e245c6a8630a3c72dbc2db55b127ac474e22d95cfd7023100b2770747f1e936fe9df9e56f3cab33dff0df0b514de61c1853b404e374038ba02ac6f796f7b47beb099a29722e32cb790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230415e23125cee9fa63948b0b6ab2908165282fc0bf8d23fb61439592bdc190661c70e934ca40097879fab4587feccbdd0023018087cd110c517ec4825ee41fea40f3ee8e538eaf5dccae028bdac0d23c0c669583382ac71ea7f32d752ee3c2f746b3f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301d51ee7b30b1dc15c405ececca7d3cee73a166fdc73593825f0b45085afd67b8a791307c5b2683fb18a0259a818456bd02300b4671932e2f50248c48f71c3749aa05e923cbcc342f64575287d1acfa1d914bc53747a4488ec1f5a22577a730fd6be50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307cec1c1996faac5af9636951f80ee725629434a501dfb26d858b32392a8bb53b9b1573f32942f216c12253d4f8d3147302303113bb455a8adc616efa32c2bafa12bb1e295a4f198aa0aba7f1df4d9e5bdac9adc1837ba1862f67ccdb6dfd4958cfb80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023048d3838e61cc8ba1bb9ad3f0f9f8829e72edd481ac03814faa2c3b84b6d98697838413d1eb1bbc0ee11735317ccad0ed0230026f9fdef7267688473ba6ab13df16bd3a4b06280c5eab8d2b7b97e74a6e3df1f71e1e4fa40f366cde6704757260e2930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301fb263e13472c7b7f320781354cb89a5a8fad82f66807f92476150fdd37b49d5fe874d6d3940d26e47f8a83d66746a2302302bf443b7be90e8d38be30c83f90d0183bd8697881664bd846711aaac02916d0f3c98237dd6cf30071c76b6bb91f4fe320302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c84c6cc4dafa72869ccd58c999e364eb6312c7ff24aa440d662c3d0c8c85ba698f4ab8a49f0fb3dbaa9933f6a576bc6a023100fbb3ce4158b8033633c93f02512713cc2e0754e3b1347006907cc91692228d4ae62e4f1c493ab8b9acec13cf6b3abfa70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a035c2bdbb67729b962da35ebacae3aaf20fb0a890b0499f375d83b17ef8fab13f31852c2e676d7845dfb4966e2739ec023000a11c315ae790003cc9513209e6192fffbb60bf8623a64fd8df11a860bb380534f0e682f900976121df697d7816889e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100efa98b785ce09011257b0da5757d77b3b31f8abcca0da61874e6edb62fe0692996bd82e0c98859704c575fb0a0c0e840023100bf8283d3c5772b1c2b4cc31fc44e7303bdd33a75c2ea33744b8614ddd2b063e73a1b64508268abf87bba0dda12050f540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301b935ca90be9e57497775c7719f68166f65419194224e4bf51a84257ded6d07fa6c938eac9ac6cb47a10d9d28833a8cc023100c65c9e63a63be77ed84a62b781219ad7ce66e531489036f484c6263849f3e83427d9fc5b92511769e865f2bb4eba909f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d2708257fb0eda38a74efbe67f0aa0b647fa9956fad43ca4f9a8341cf06bb38b9e6ce5d24cc9de3568885bbb5a6f0ef4023100f41e01dd501babcf4627e5e14e0e8304cecce11cae70288249fe7b40fecf6138db539f7e68375f3c1ebb6d1f5bcc56b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302f67c5efe22b05d4da3c09a404d981b869b2da09964c670c03228e8941a3b260ab653c1efe53c716bfef171846bf358b023100b278f9b9d3fa7fb128ad3ab97263db882a440d47331d632e463e74205cb997f97bd44cf91ec0d90920d9daf4d8cdacc00302047c435bb500663064023066b717cd1a531338885d042a81db55212fe75c593439085c3d42d77bf3ba4f28e77c5e443d93c8b9ef598f37c01e393302301947f9f007b705da53cae272fad25b7ec137f139dadc0d450447020aadda5884f1065f86470546660533df6419cf52c00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008bb3b2eef54f722b5e70aec3cfb17f26383872924af229b4e7ae5123e5fbf8a908c3d34e8cd5fd351c480cd349dfef57023100ae7489c551c8c9b7d344b536ea175fd9b498e9569300b24362473096ae72c36ca107c5d7e95dfb01646ae3c536ed97220302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fad68dee511a57d36466068a3a8f4ede7aa00c86d5df30abec83331d95dbf6711d1964b0eee25c69cb078c2f4cb57b5d02307e5495ec7f55afb2e49cdc07dcabbe02ad6e30d3f23a3449dc2508efc968defe6645445cb00f10e7f609dbc52242e9c60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023041a9551615875d25c489a7ff78eaa627f0f87ba38c47549d2ba7a87767e44c0d3057b0adc30aa240ccacb6764bb3ddde023066ea8718ccb8844b20cdfd34a2f95d3008cff959177bcfdd6895f61afe248f92521c362397f944dcba630d9607c82e0d0302047c435bb5006730650230114e3ad0f68a835325baa12631ba2df183e32766ebb48b35c069d807a81bfb1800dfe1a3c8d02b5a54b88d6a5b56334a0231008eb0d7912f05816e1e5698cd2367c8ec5e92ab74abfe477b4719ff4dabff0df53b6acbe401ca5d1b96f436a74dae69f50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ef47c4f60f10e5e9281f6c97f3e91968a96b63fd9f9d9b5a9c9ec44d1503813b9298c416f1e0592cfc199fd9ee5e566602302e655469f18e5af836eab6ea94bdb37e74695a63b8e0d81de62e084aea48e60f79ff0add3e6c22f317a85ed2638971830302047c435bb500663064023004ebdd47443b52cf2796fdeb76a94dca38bbdb85a1601650262647cfc86311a4e624173d95746989e764c209f9cc816e0230346d0fb6f93c4903d816c4986de41d335973614b39f8bcbf054bec0159955b805764889d2bfbc610a6611ed2fbd7aa850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303c29b09217d6779f3d3121f45b5c40ddbdfb2e6f1e13006833cc67054cb8d8d79294e2d3c63304699a0fa668d56d53f7023100a6baab34a803d3cf2117d77f0b1826e742bf317c7aa0325166ad4e6f881f92f314648a925a01d0b042c8916cf62eb3fb0302047c435bb5006630640230656c285263e20587751a6ccfd81b609ca59780c7d211e9a4facb7d316f17424da59b74d063f5bdcafdf4beb169db9c9602307dc51881d4e27f83ce9cd69e3564549d52cdc1ec86cad010d8df0c8dec8ba8dc47f34a87fe84e73aecebcd46cc237c020302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230038f9ac83fdf341b4cd73df19bbb64e8dfefbb9de6e45b0c59940afac4b8e2917aa28e8aacf013792141845e9049a7130230439fd3a1dd9f8841599549bb53909e057f1819fbf622211295f53c92e6dbccd6adc4266e80eeee25e7c6ab56f3d017c40302047c435bb500663064023051a23a3060bddddf59dd1c88976592a5e6fbe5639f8e1afb09f9f7724496dc7086536a3411055c212861ae3bcfb84738023070cd5f120124c05d746da2d975f7187d2c8482baac2367996f601b21c1b277bbd62f23a4d40173d9027a4e0f1baddb2f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023017479056b41b24cc2b378227891c790f50c8db28176f71cce9efea2b813ae0ec4d3b79f679f4ceff9c4a3dcd8293b5f30231009e0d58b3a15d117fc4fdd17799a80992ac791214fc3757b429163b8eb0cc6e7b57a52ed89e872760f074a32400320f760302047c435bb500683066023100bbeb819c506bad9fe537516f7d75afdb4e1ba06cbd5b6173684ab761d6fd8d53f6a73857e0ed0109d0328b487c016f6b02310084480bfe0a59fd3b59f62cd3a7b4cf50a0dc417b0bb146399a0b545ff608e2d143dd4393d8116f9475df54e626fe1dba0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bbbd7ae5a7d4ecb12535df221665b56612b743fd00297b4b1bbf219535e39fca94d991d701b219264fdcfad969029837023100a94705dd239c985ac474f41764a7659c424c0c9d95c6ccc84b84d40a9455f212c59ab4d64de3cd13ea9d4befc766b4040302047c435bb50066306402307802d6ca265854a8b2f556f73c0b0de52552eafff4eb2a0f7be8f9b1a88da323fea1ba7b93d3af777647ec9f7c493b6c02307d37ed9e7d5838177ae554862676ad255fe79b8a8845799df4353b0b6f2904bc6018e27c7633563914575e7c6378b1030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100df66c79ca7398fbeecb8e4a94404e6452256f3b01191c15a13676aa3a73b9e9e12bd45940c06e78561a6f1887bed541702303c6d3b6f1df0225fea0543596bcb568ce34b96ab4b2ae1179203e5efb59e1fdf0792b79d2a99c356858151609ce84d3f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301ecae772abd6961a7bd5a3c832d47916bdeff53c68c9ac3dac536154c398985e3ab6644ec6b81ce3a887e3cbbb7265df023100c425ce3c6161bde7bbc1061171cb4daefb3eecc7abe746dc504c5bdf9d1bd58999929923eb4d4a7c8d81cdd9d301e5110302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b5c4db91124a6bc6d7511ff5977a34b8a802a536c7d4bfb2695b86d30478adec5745ca74aac256aae454040cdd8656980231008c656187958c9657a8e22315108bec3657d641f563ea979a1120cea14b52920bfd998554da80099f5eae2fd974eee2190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c93a31c5069bea35871bc54aab890b2aa78b6591b35f5755904128a508e825e063ef22ce94f7a209db5888f5e8fdb1aa023100b1e3a28aa90634e6f33907f8f6b5d0759a30b77e78ea125ed29a72b326b2c0bd1d976643d5b4db290674a397d259f3920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023041c96bc776dd252a125d273a3958e9a7be9ea100544ca635f3dca384b4406a6120048d2a21be3886aa018e8ee1ccf1e1023100ac299e50449816d2cdaa8c3f0351590240a2e77059fb19ad4324c2a37c66b926c885e578ce6ef5fdc179f1dfcb57c3eb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c679065e99bd6aa7593ae444ef144457c28add9787e0bfd95d59ee3213c514395e3c574f4233fe42f0333d7fe911f1ab02304233ce8f630b1d5ac3943afd8aac3c2c47cde94aad84cb7201bdd39ea19dee68b6bbea34c008844c9c0cdf5ee7e32c050302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a61e78f154367ec9d2cb8c5d7263c7bef3cb604367598802be5c8bac0331ab06c657ddc5b4eaa8c2df8bf33a1ff98f6602301eb086df6340c4ec41c08985cdb35dc1c0e1e35939156eacd518e81167c22de7414d1333ec3ef87fa971caefd22396ad0302047c435bb500673065023100ab380610875d602bf58d7f4960a087ff30c4472a572cf1948d3f8f510d45e1eb6de14bac12e4ef4358878f28632eec0c0230134d352f4e6ff33459e020b62245082c2b4d13255da94b4f177974aa6fdf9c50fe587b55e60e9774c4f90210572fd1e20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304835dcedc6c63941236d84a2208b2f59fe43a22b6fca1803e282edede0b7f5aa298fb224cc6adb4fbfa8340652c2d223023018f1f36b13238fa45c63176dedd52d3e2329d9cc8ed1ceba771c67227810c5c694272577e6c5828e2707af28afdd506e0302047c435bb500673065023100a7ff3bca12060e76e7182d5dba27785d10b4e33b3e8e5937a4637b2b10a836f6f58d34e234b261e60c9f5ef4e7e5cf46023076a290f931bbde196ea9727f3df49cd57441e3b7106e65ec30ff1ceb5c8ec828065e236e43448f764a173a01672adf7d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e45811a58b8233e6e56a48e3579ac64da1a305ed00d3829dc4bfdeb1de32463a6bc38eece06501b86f19a5520b7cc25702310092ac172ed85f731eeaa66e3e841a880987e0ce51c2a0e33f47c3b4b9646883912dbc2ea6d9a9bbe0c75380e88a4cad0c0302047c435bb50066306402301b95912a7e5332763b286e3f9ac156d564ddf177e8f5debe3f6d9e2bec379aa5af9c75a45bb47ee4bf8276e2fcedac29023028e223b58b40c042fb3f1d24469d8c31aa7564c86f7c88def7a47c5319c1c7bc8bedaca02ce508f9fa63e3fa66772fb00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300e773c44a8f4f7be2774a568f2ae1187c77e862619876a248734f64d68ff0513f813e0534393ebf62459bc50c42c067e02302944e5edf92a24f4e9b462e096eb6d5cf9a7fdde1499c409a69da931454947bb0585296e67c1ff150952b23071b92d8d0302047c435bb500683066023100d635c995b4438a276cb0a2618cc439a136ab29e0b73334102d9c6c88962c552ab3c56277c42740e2652b5d98754b94b6023100d1e3557bd2d1a9ae91775f06ace1665fb63c56a4d34988c0d1aa6f15dce700b1f80a50cc09777d2d5a0ef5afabc6286f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c70da7bf7683fb912988b198e5a48c1dfc0c954548a37b704fb1afc816b576cbb09b7f594c4b8ab3647fedb9fc780c8b023100d3af48bf14a8f4e0d65e311a02c55360580d21197ec986eb4ee992674e6c935640cc6053d9c60e03aa97d7262458f7060302047c435bb500673065023100bb8a86181ac9a0da47fb4aa2ccfc539c3c78a84ce3e8b3484595bbbf2094625d358f62295ea5b1730267563d9295d188023069f5963f1cddfeb1b3d9943e70a5e89188a169d23d192712e5092b8b7c37737f664c74e94ea42d0691fdaf15af7ffe7e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230564dbba020bb21d4a0ed80114a792649dac78ca5e46e033fb623b201f97b69364dccc9f558c278c38b36641f0e63ba1d02304c6f07b1e8605adb44fc8769354c768b951623397565909e9d7d1a356624ed44dbc671fc977a31c450f9efe9ebbdb0a40302047c435bb50066306402300ec6ca7ee37ae2af46c3d524743960de1131ff8b2bf1af4b10724ba46c65dab5687a948615590a32a17e5842e3f439ec0230595860512127700393d302ecbd1284361ae354dd06bb6e25e3c5afd89216adfeaea3bc0f47d1d52f148d729707c52d680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b153b2b7740b25653bf6906ae7ca833ec642a7fb5c508885640e65a3488cc94680265df157771873df4c5bd45c317c56023041b500bd19cbe1ec03e55717015514282516503cd7ba3e78973e3ad8c3a2170f16998bdf077e7272d26178064e007d270302047c435bb500683066023100b8fc8f25710c576e9032455970702e89dae1ce0b7822f23e9de62f84c4292dce4c1192d36b0ffbfa9a6115e676e84b72023100b8404ab0323c53ff783dfacd0c54d0d03a7188989bde259437dd5b20e7997881a01273a6efbffd460e5fddcc6ad938760302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e1da7d29ea6ed8f46b93ac4d97cf2c2dd8cd82335c375634c2f9354a84a072c26072bb3cce4f5d04bacae54838945aa4023100a679abac9bd30bf7f44051356d2588c35ddc57b1177b591f51679eca48c9c096561991b8cb974b4179031b55b980d58d0302047c435bb500673065023058134a5b5a5d101617edf7140bfead0217f23dfadf197efeadf6bc0aebd0c3c2bc64bcde98c3775792a4d24c0e2d29df023100de04f8d70b93828f2598b72815a781b2f3870c515d142375883d22c2a2227d248fa69abfc39a65d1569ec22a956db3680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304d886e6fabfc6d5853c5a497bbd5da17bd92ac19c6d704b2e7cae4c6501e82e03f67a77e5f3db389c65f05cccc63bde602310088c20bb7b5897e63c74a7e938cb039582f6095729d010f5eb1d714a427295f71cba1654050a9b3889aeef9c33a04ce0a0302047c435bb50066306402307f5f545ae96bff629a169daf50852481a90189f73cee2862058c31b30ec58ec5a592b9ae8738578624932dc2c4a4c40f02306064636e80be16a49d999254ac285813968339a94cd551e2e07e7532c75ff53a063cdb4f992de58dfbcb06705d2eb1210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c7351ef8cd528cb24b29d59ec87190d6569794f3da9e2672e0bf93c2bd67e200c83a57596c4a6fe216eaae7d181613f7023063b3f46949f1e4c335eff47ce6a96d3ee2810868d875a8bba195d109f2632bb3b1ab4033d229e9353acdb2e840a37c750302047c435bb500673065023051cdd64e41ffaaf78fc1a0f908976e6d5afdf9b8ad0f215342ec4fbc2d78d3d1224f4f5939bdd3db249b60059e4e843e02310093fec70fad02b0d1e03346ae189eb4080f3e85efab559123bddf1c57848cbdbc9031532426847aa01eb88d5d6cac0ba10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230759f26ff5255585059f4d6f5250e82cdc865e7fe13cccdd44c6d0ae3b29ec433bb127b6acd20c23d129724cb2f5c4886023037fe72269860368d8f4ef3e42be02c121ec52c18c2c6e1689166aa84eda3fca47be2ff6de782200c5a5cebf5b61fbbff0302047c435bb500673065023044e46c4cedac1fe013972db38f30dfd47c7e8b02199fd5e3a982cddfe809a32c700c712fc82e498a2468f4aa2abe6939023100b114990808d0eac359fc2a162efcf2d077cb6c52f9252047643b816d01d863d8402b3f161c122b75f1ace9d76a0d3cad0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310088080bca93c21bc2ff9a90d9b33d17485dac62703e376b497f80aeb57702913c6656cc5ab9a10fd1e39f45fefdcc328402306152b408b5a239bf097585294c2f9e28bdcb3eec95b7b3c2fb8d7816e1dfe83e498071c33bc5211ee15e5867e24f2ca60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303bd3a2b01553eb216f1c4c7d4c567e7ae5cb459c40336ce36d8796b911c5e0b1f6eb2ce3b82a9790c076454a05a99586023024de2fdfb50e9b9430272637c7784deab588eec45780783f667bd44df63f5ba7aa4f828c616b84c1ec7ae8079bf1b5f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023033a99287ae9645b891e0bf748288edd40dad15c48df730c79ffc630e09fa35a6d96171cb0ef42c8db71cce8de9b0affb0230280b32d48e9f1c7f41969502979c09ffe9f4b376034b409b16723eb8dec7272a216cdf6bcb7f948645f7fc8b657c752c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304801ebf229bfd4a763aac14e23d694861da0b337253cb24ad797106886ea1658e20dd14eccb00fd231f20d510a5a843e023100e7f86a997526ad2c64484d3459beca5ed58fd955e394e6c0767d0fe3649e5fcd3ceaee4167fb65cb137f7bc3694f53f50302047c435bb50067306502307450c0666eed8996f6f8b7a01d600f5c04b4a11288df769714ba8528b0bb872cdd84cf9506eac9c02a769be1a661a325023100f5824b6b85b6c63b21490d3bee911c10b8baa05cd3c6f86480219d47682c69368fdaa1746651df5ab74c60f7eefaa2860302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a2c9450ee4b710b0b87deb136e3710507cb8cfe1d3296921bc4fa9b8e6f3a3975b71707e03817f8defaec3353465d1ec02305bf10f6fd5f16050b3f5f1612f4eec41248dd2f97974fb226143137c4c3c58515b1bcd1e3f2acc489c186e8c3fe651970302047c435bb500683066023100fb6f19d2101641c8b022306363d1701132b331ff3e4a621892b30cddbf647e88ac81f2577ef5504fcf39f701e40ecf72023100a3f980128791c3ef39538bb27c4b618adde06e7c87809074e318277c318c2f40c83d4b1349cd73609062641ec47c31430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f2618fd108eafaa4808341cf39a573cde704e2ed6f6b967c291c0988f4c6a689e3b540aee3e9a448d8bd276f4d743ef0023100eba992700453f4b26a0ab9db2450936b0a827ea8033717059e6e2fa4bfe1f4e730100afeee988738f8687b3329b928710302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023024bef484a2966f6505111e629f8de6032c03b0cfcfd76a10e6b127cc7b142784a5eae3ad15efee59988e4b572d568a9602310093ad83dd29247d01e129943e991bc5d59f6e933a5ec0c63eebbec79bdb42c257706f464ff6dd44d9aa5ce400f933c1970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a246c0bf24a0f7f4065a23c5f64f8820254ef5a17ef49939d81d916dbb6b325add83a3bb88d60fac48491beef9fb7ad002303e60f2b0d1657e624ab085c3e378c52b72919beec69e888630915771c05352ab73b0afe4b415fb0a78315d5f8f2370680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ea64a94f1c78032ebfb07f3e358b74eecea8944f260170296863b3ac768f27618d2df37c3dfd8e2fd5c3dce8fc47d4d0023027981a9fba8f91f808bf3fdd3aa840b41209c4a36c00cb65e6939979a1ef85849ecd4a95a3548d54bdbe2d73297b23130302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402306795b3b16f4dc918916620d903fd12102ee68e4b93c0d6db174821611f39ea86ff5b2720f92c00d770af7944cc9d8211023026d9442b8bb9c0985c9fb11e81adb2e8504dbade942b9cf7406f8997a8161fba1603a8b241b110cf71e6117e1abdd7540302047c435bb500683066023100e849622cb45279e86bd3723b22da44f46045bf69a1e4224762f7e10eb84f505329aae42d6ab2d15f24ae3a85df4fbebf023100f1539ede70166bbe27692939cca54ec13a040486aaf4cc2c98aff0dc8ded685d975173af45055354bac2cd9d3c89d87a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f0496d2e3ec51c98680a45e1d5369f3faee57ccde5d6485003cfbc3b3b42d980a4e260492c18d1be20ef6d498eb63c8002307f607156e4a32f26d5485814245a0910e42233000be91f22a66e38ffcfe30170ccb333465028c4c5deba5eda49160b2d0302047c435bb50067306502304ad7f3a62525e02582f7349268b3b08ec1efb0052ac259ca4eec14c609eac9ce8164b305764bcfb1ac67241967ac2084023100b3b6ea1da7f59a0161ddf912e68edfa0674322e4d6a05c5c1075d30a5e0cea2aa69acf04cd82d5e3c4b30d35b9f691d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aea29595ac615e33aa83d27d1067355462a3a00402d1ec0f81c8f7d3eefdd617169554e0d23b1a63bc143300ce2766ca023100fc3d14c87718f72b26a53b8e6306d31fb23ecfaaaffb14d8dc446af09c775a357d5be73366db3ace18c2f2f90e310b260302047c435bb50067306502303c0d245d69438b529e5162d4cdcd5d665b21739e45d9f49596d2fd603f548c2a2650d0e2894f20a52c0704bf280fa857023100df331af20e31103c383487e59c1e3afabd2e1d1abce684218e8230b4aab2b36baa2c9b69444df65a093ba53a1d0d0e6b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a4f8ddf3f58ddc87cb16edc2f8adba76523bb9290faca227c8cd0ad359bea77b79875835114bc6bc5ef18891796315c5023100f29655746965ac345fb10086877611d39050934ffb182036a19427ef4c9f84c9cdc8adc8e42fd6f60ec5e04e024dadc80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310085f782fea0053933b63140cf68b32ba6725a01f83a7f664cfe9c5e3deb4cb702b7dc4643151f6602f3aee96335d96c1f023100921886163c1e441cb08d8880020528df21bdcd9211a0141f35897bd0e4357cdfff51ea704b7518b7769d4fe7fd0051bd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e2fae88785685fc90434f7c78fb0ecf5a15acf41a4af1c3e3d38db1b57974fa14fcf990d9eb093022cdaff1257c374b8023100fa9a3cdf2dc37c7d18227b321d0f22eab8377ef22a59296d8446b02b2a2583fda77f363f7d57ade3861ef4407cd7f1700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305b5956cb6db2842ef00804dffca97ba159ccb2eccf4d796fde6cde38b3426b5b3ca1b1334f1f0c2755d8719eb0f4403b0230305d82f0211dddda76dd0773a82cb891201d73d54c38ccaa0975bac1286d1e9e8a52572dfa8eb9de6dc8cdc35e4f6ed60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306e4da30edd4106851c8f1655c721befb15995a6634128431d285b9a4b7bcc6be97d6dee8c6a7565d7bc236528811e842023100daf140c89e20155454295f35a60bfb3253eabe3bc8eca01b3ac654e4a53d651f433bd2989399c9e35d48a4664ea46f0d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b21c7add8d90b3cc997b856e1c5e43551d6311db5fe43a2af6e095b25b5abcd38da4178d72c48cc7c9f530a0052d56bd0230674ed54f2143c0c2d7279c64cdc8782febf1e4b7c8a6845aeafb12a392e50e155f2410880f63202d9865599c9077d1cf0302047c435bb50066306402306c4b58f341aa5cf24d4e348f0b43545db4dcc416faa53f83180ebf54dda48e20d008644e0fcbed6032fa8710b4bbb3b80230365e2545d9e87e87bf9596bb881d6c296b5f2a8408e987c2e2dcb2155a0648c609e24b77511b4e176dee04808dabf6de0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230219371cff84978c23f37b128652040391fe110972c54737aa5d5ff305fb83fa139626703b52c0dc03a377a40d98ecad40230213e7e84b9ca862502ac1d190fdfe8d4c7924eb7cbdd13f25380ae61f8bb46841df0c4ac27c49fdb6623e51f6f78e6de0302047c435bb500683066023100f80dd17227d83d986a0116d0cec228a279f385eec72701dda86b5babc05b9cc4bc0fe811fd2d60d812aeff2c30a131d2023100cb16c2bed2909a0db34206f319d137506cae1cd6351b3388734693d3d2b68f2b075e06588e935ae28979d08eed60da030302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303f32916cd8465637a9661530c7f1cd2275f3cd9e3c4a83f4e30d2e52e33886745b0eb2ef7f8772339935dc6344b4e7d902305bb255198ee5a09ebe30a22ea85cc29ef5084e32451d9b5b85de17c3d324b839fff532051f6a519ee38a784d6f6e0c850302047c435bb500673065023100c48c4920a434b9af8c50a92fb38ca5dd22989621a27a8daa355cc68b80e224918ea8ae610fc2c20fff1b06b94813fa9c0230536e7071e9522f19ae80152e60283ee1abf18d382ef17d9c5f7a853a37371141be78840c22d53f99a724c741c08eecf00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b2c3e4b825666915102d54022a0615b751accc7c917d5022974cc9e82fbb460a84d51f50f78e209c3fd57384d6bdb937023100ebf60e41c2776f26aa54517354d3400cecef11ac22b37fe2a7746c0fc0d766b5aca4bcf499a4b8b5773b8d3be93e7c460302047c435bb5006730650230364286178d3bce86e8f541c217c3e27dbbb06a2fec8be1edcd25349aa383631a923ffe38089791ce63139028a14c3205023100dfc32bf6fcda1ac426231c73139beefac28a5c7195441b7b0b024780df3e786093e41cd613b082970e552b4f9cabbb380302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300735f959b75837a9302185653a2247c5e94a84a404991a677db22b9223757e8a0c916f415ece5c4a6bf795399821abbe0230247b6fac0662be9462c7dc7af9763445a17680f470435bd3983860f620e94e1248c744755d54a283a005ee714aafc8c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e9162ff6c1d95e544f2ce3730248f16d7b75d2df9eb6ea2069fa51a1205ff0d44aa7402a2001e4a5599da85470d61650023100a20b3cc024c908c56b5f3cf68fbfea6739260110bc4d993f62f744f74ab195d0490339f57268925b2cfb25e1696bb8b30302047c435bb5006730650231008d438b7b1a52b693ddc3919182fdd5328ea260c36a73d04044676681423991478644d3eb24db24ecc424d338b3bd5ce402304ea7066189241ce3db8088b34eecb9f2dca05a2fabce4ee0dff3ff48855217b738de47e8004c9bf4da9e14971d96dcdf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023056d1119ae07e99169de2fe184a1175e012122b940395c1938c20adddbcf1b2005a275a4f3c59076d961f29407ec98613023100860f61a2670318e6140e3ab965417f3ffc28c13b7f4539bcc5c56a2f0104155f2649588b4d97de635c6a91ff6eb6a2230302047c435bb500683066023100da6d034bd4557c4169c2f4788eee6136762d6b445d53787f36338e5567cf3bb0fac47ce9f65bd1cc2465dcd7079fd9ea023100ca610318ae2bfd9c73beb715aebcad379cd5f15881448f7e797242b5823dd54bf2a1c29391ae05393a44290e789217170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ce681e184187134a35e7f02b02e79b242c15b083d2d68923db2a97fed8ea4aea6e7123b500c56231c1aca1f1b9f4e69a0231009d31add7b7bfcf8ee5ea971d9f458bff493e1d13fd5b43978f2ab2af816bc5e188846d40db2056f7ebaaf37e77fb483e0302047c435bb500683066023100b4472a291c261b5965bdf895f5144bbe43870e9fb43a84c272ed5328041b99543810efee6d4d2746a375b0d1a695c7e3023100cdd4f743713cb68f4ed71f189a2353005d240f75068f367bcd4405280e86e0bcc06c8ffb39a71c1d713e1747219949a70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023013689b31f95a69394648bd12c6e5241d157f9053cbe5909f480913688fc67c62e956eaf739f47abb742fffbad4d48b9d023100fb415e0de708847b38d49ea6331b16f44a3d3b50085f8695009ac1d66d4f7ae2b2bc12587da9bbce3325085f7f4aaeec0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302c2781b223067c35c586a9a7f3e72f14aa3b0d37d51b6d93a90621514debddd14f6026d0b14640f0a78aab09512c2963023045ae679dc35fb3a9d9e1d8ffb54452a6b2d9497a809ff80e990681ad9597cf712602e4fa23135bf71b3d7034d4a43d5e0302047c435bb500683066023100f16fee05651f4060ca32fadd15ad8ace9c28b138ccd4b5c4e8f6592f1170872ab59ae5886c7b7c96602fac9a0825a9e0023100c9cd45d17faed2aa140df8e0ee3951440f98452995467b4ba0ad3f09b7ebe7afdf09e08fec94b5043cc1aadd8af1483f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310093791e6d8fe4c5e3f5bb6beda9b1adca1793bafcb348f86a85fa9e5941d59109c117d1508293d4c008f4ade6fd5ad8f5023100e18a540c35d854dcf027043d3bce27d9495c3398f9dd1d1ba33b75997e808460f0cab3b8b1dc17fb398de5b8bfd9ea7a0302047c435bb5006730650231008c0d76f4be5e367c803d151c7d2e5f977c49cc7be6c938b4a86969d472a97a12e461f1a1c9cd51dfff0cef3724c5f9250230441497b345c2a96889a0a9d2be5a5a2ee60c5cfc41e512c1dd5daa6f0f3d33dd63536dfdcf5673f2fde10fec7f9415a50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304908818d0d131046f8e94c11cee0d023b45a950c5bfa356e6c43e8c329e39417a3865694baa177e6c14c9882cdd10b370230303402f12883830bff8593161cb2f6a7b04314ca5dcdc77048bcc15b264e1116f98cb4a28ac76b8b59b96b4269b947a00302047c435bb50067306502306cbfa2c3b3dba832e9ff211983a77875b2594355ec5cd4d252e8c1022dbbe13cf7168e2ff87d30fc7345c3c4a36fdc2702310096fec00071d6e92a1842fe72b38fb23454564d5e6186db51e055c3b44852d11358fa5f9f76ec331c8f465698146096c10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008e87f1bc03699896d35d4e308f4c03682a8467eec7ee98d4d6a78c5a6b19a67df10cb978c3ad8133839e888b63495ddf023000ed622420aa9ff71d27c521d8a22c29c20db786470cdea1e14ae8ffd131ab7d9059711fb56f10384b60742e394cc4920302047c435bb500683066023100ef69cefdd4f41034c8836aa47b8d687c21830cc1eebb79113ec960ea1eba11d390da27215c7ecb4b5072480c5fab66a8023100ad8a71023a2c2e23530866bb27226d20371710f5af5bdac542f0745a57f2c03f727518fc5e17c9cb1e7e4518a89093910302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023017c06e704db4bd0c082c78601267ba14f54eed99d53025e8755557ee6226e85b3a589cec536f015a97d4b5c74d7616e6023100cf47fd12c003cd8b1d349660e1a240bf0939e341f9c7d75d6d72250470e6f2fed981108a31c069805e3da1f386c7a2500302047c435bb500673065023100a19e8f79b1bae38dc642297cba4cb4044a7c4b01cf1eff7fdba48af016056b0d7c34eabfa8a9086b2a30f460f5487a0002303f20680588ba24c16732b93e6674127734908070ee2792cac53847649d7dd593bc31282eed2d0e58bff4212ce3d8d91f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008077ffa358fe43eb35c85842ec9946da3c92705b131aa644455cec46c1d8b36ca6a47d86f0c5d622ee46539d2fff62c7023100cb425b314e54a1cb741c7dbf53cadfd5742be1081e7ed50dbcea5d2f6197e83dd2bf79e284ce30ed681fb0d2a612ec5a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023027d14a7ff1dff2decc216093b6aae438601a7e467327358049bb60071d50359584186276534cf6f5bef348f51aa63885023028bd0d5c5bc927eb4bab0b8706412d2f4ac9cf5d47482f6bc1c7121e98f044d7ceae8a2fb4dfd045d5f9e423e01152ea0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e287a0ed6e690730998bafbc25deb9343dc1df70f3c3362cb91e7fdf2bb53fc533cb6e6fb477b669ccd6a758f1007fe0023100bdf4b2d3d8dbc7fb12ed95d1ded9beadab99ab5e4ba92b1cc4d5ec0ba2bd1894bc76d1c63d21e1224b7129b97b742b8f0302047c435bb500673065023030458a6526d2694c9f5276a2bbf1544b81e7a0132f4e8d3e3f27f7207b1b9df4d58e785ff7af0cbb8d7945f12118f7d4023100b65a219c9895313289c4bbc9b3a23b8fb3fee508c738a4b0ac8d13b8853c7257410136ba19096a0873aabd55291e615c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303b3f13b57c0e3c81a46cd33892724b9791013eb3f988245f81e50c6aba75dcc9c7d911e5fb1c8dfa62c80b660abbe8690230599f859e3f3eb7a19aaad71472e732232fda6767d433f92d1cebd228ac7287114aa76ee4bf81c96e7b6556177e9b4e2d0302047c435bb500673065023100c841777ff4b6ed81826bfde4de385e929300d64721b454ee196df92824f54b5174330ec9a4337bc532b6b61f3499d7950230034fd511e21ae38c25457411d1f36509e0a4bacba3e9cc44d817f9dce93e606c8ff024fd1306fcaee59e396e437492100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023012b3bf7020b759aa722b47ecf826fa8d0bb1ae373e3e9261a859f24ab429e25cf6e504d35b274603a9d1e325bd3db12d0230345e6c7172e08ad5508f0ac00b1aaebdea916f9e4135b4a3595fdb024200b32795b615db1a6d6adb0c80aad99eaf9f4c0302047c435bb500673065023100c00c8a2d69692ee2645f0c0406649d7b0fdd3097c8df3c97fe95c5c032f89242702125e6d8336180eb62fc26dbed1d49023076679df18c3bae47bb8141c1033bb9d971db96ef3211a464aa0bd145300bbf1722d53bc74cde26eafc57fb6e4796eb1c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230325aba3f57397e93b9409ab1bedb149811e93553c6979f1611e5c9285e9a49c7470b133f0d068bd2cf0a3e13c867108c02302ad26175e47a8063e14c6b060288bd01a7680c61841f078b2648f1ee7a726fe05abe64ed0a418f3a67320d6730120da50302047c435bb5006730650231009f7f48602b8cbe013c784e887e2a495b3334728e6586e1a2ae7f08237fea9fe56701fd3fc69bda0f723377e122cc8edd02306399fcebf84e88797577cb88d260dc9f427cc9ee1d44666437f07ce1c51dc1ad51b82049ce09d5c4e80c82eeb72e7b2d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300d13f3b3677f0d22a221df9eaf116c900b599572be586b010411848a9fe84009a842b0a73bb6f66039a7adfe69380e6f023100c4c71f2e40ce6345a075b5aaafb4bfd8a0280c4c824c0e74ae5f4cfe86bdd6a924439b2b14190f38e73eb10607e250a10302047c435bb50067306502310088008ff7a4405155351c77aaced0287741d9080c83d99d52423431a725153940aa445836ecdb41bb1937dc47e5624e2002306bc3d3138b282fbdbeaf0bc33bf9b246da2955d7bd9d48c7f6260c4aedf0c9cd20aaf5840e710a5a55e7f8a2783e51400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100855e9b0159fdfab0f1b86faaae96c5a9b81599648bcb58d6848a5a2f48d4600d4c3fb24e1f0579098f1271d10ee7f31c0231008ca007846a1348bc96cd74617461205868a6f8709e8753c0290b68fc6aac02e5641ff6e631c92e298e16f436c74aee510302047c435bb50066306402303cea055cbb5f35cd2b00b5b2c4577893cd4710fa555aba46d13d9359e6eebf57c270fb13c4274fb6120f5598cb3484e10230319840bf2d1fd02c61ec15ef223a321c1d910b7aca602d31c15c367ed9544748e43c84f2aa0b2e53549f2b13b454e8f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100dfba94900b7fe1b3f631d55d1126850b4f4b876ce36fa266de569c5c7495a3b1608a8e6c5bf2466106881eb6288de12f0231009973d0bf73584b113fc88b33d57547f5a0681252b130d29e0510b1c3c05f8b8b3caceceb3f8031dec5e49a36a6d07a650302047c435bb500683066023100ad62068ab54dcf003698b4e9fae42ef12022e83c26a2b94c5ba4f4884b8e1e5cc5095f8d9b56b4ce08d80f0c979133c6023100ea58a3b33a3be42a7ee8aec931ee3c36644be8668ae6e6575259b3fff0ec109e5c654d6dabbb3798721782b4e3fc47780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305d4db6bd7a27fef4dee97887ab668cd5d1ab7e3d0ce1e1d2b0f9021c455fc9f35cf43206a3a5516d8b9c5abffe9764f9023100f22e258b8888ac94e173a464071a536f87cd4b4cc940e82e2753b5c2b42eaf045c8733c8f31b843d981ffb966ebab2d00302047c435bb50067306502307667916476f9e1e79b51c617d2b8cf77e114471dcba390a4d645c5a7df84d5cd5f14d3a918306f90c221e53950589440023100897ee5f7563a3368388619ad21f47a1bf2662a1e4287f726f4717abdbcef50cd2687b447f91cf668fd5338e884719a3c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023066ea44cf8da40ab154967248b67c7c15890b5f34e5c266d4823db225bedf43d7c44c2f09dbd48bdbad1ab1319127cfb3023100cdc9ef0ab56e9f6fc8585476294687dc37c110108f8047faa2cdf507a8513cdb4b174975ead3fcaa76a3e3794a7265b40302047c435bb500673065023020ba1e0d5219a7a5e702a6e977008f0db49a3440b5685d440cd50e16d08f1396086808e774217592b981b1ab73dc81a702310097a659075947123910abd08de640fa010819df141cddd71a5cb7a756ce689bc097ee99153e36898cb3141a7bef42d54e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cd17a63bc1929c2f4baa044e8f364664debfec7c3e6dedaa3f81c1cfa4b085b5359eb433470a625510098504d7eb6f820231009266972e749c6f59c134e1a9624824e8f8f2d5822e1ba462934ccf6903e9f921c902fe90cc5c7cd3e4d5c150716f68ed0302047c435bb50067306502306174239e2c2d0d644c8f92fc6805630df3c695dc927e731999979834a6c9b9e0923c451383465ef3a086c9a396ae2646023100e2fc9707203acafa171180d1fd38acd1764e7c5e1881c4d414073ae3d3ef644546465bf14fb0859595227e1232e5be530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cdfb505bb298ba4b4f86e4fdb2011cf72506791854fe1b08c600881e3e2978335941d586656b8112d169a6e4567e991b0230039b16a78afe0120c2c17d7308be7c33324bfbee92ef2410ed45f84caa20bd623f3829740f0b64df7ab040e5de92c66d0302047c435bb500673065023007913766013809e91a4633f39709e8762132898bde3acfc019c022eafc44eb41891b95aac99d3fdd7479c67509231260023100bc4c954c78f7c63ed2878f5c4e80062e722ad103630a1dbcae64f14bcc3862446fe78f9cf0bb640ff99394e9fe2889500302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f93b818f4682a74b0ce659d58e52827de81e5d3e065e59ecc35c7e1275616c0a85f759bdc7ccb1b00e457cd7a56bcdf0023100a3f47470403797893b517c49c2a647cf2a932255b7bd2f9caee1a1aef5718ca2334eaad4bea46755b969b0ef7acb52980302047c435bb500683066023100f3130e98b151626f9e1883548e1e6b666da9d8a923432a18ef508611e065122d9b2b5031788da0a179ef12157219bc900231008db249757a4103d1a66147253d2b6dfd60c2a8904577e1af6afb624ebc3971c3d7b1d69ff4da3cb77eab37484df0d8460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008268f355c1ce236579c851c02949a3d2ec98d7eb179048031b5a4286fe856fb68bd867824e12fac48cd0cc12e254c97d0231008326664208b22044d97fdbaf78c2c58b660261f4e4d35c005c2e69e30e7ad9f7f883ad89229eb677fa569f1b20aa3dce0302047c435bb500673065023100c43121c74520eb25743e1b9e2ab43a30b75119f5155c4ecf6cb53213b5c43ffef97050b9cef80c59d7708e7aa785550102300b300e110ffc5945452839c8c05a842f17b8777a961120a1dc6a513a50c67d04437ad56dd72ab88c1595b2fa69b446480302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023060f128a0c8837cd2ad25d87b71557ecd566dad522be0bca99dff0744ac1ea49651c28c090d4902a8867a99ae58736571023012b92a6d19292c323e07a058d5bc3c2fca5a0b282ce186b4eb11ff06c77d6553f7aa5f2afe245aadc41b67de2a6e04d60302047c435bb50067306502301e12ae750d391c275055cc790a5e278db0a752adda44e2e91c18aa61ed7ce3d10a09ec604cedd6ad2f8e04c99d47c493023100f30256483d2722a881272ef38868272e45ebd1e3559cafe2b7839490a610616a8e38ae0618ca5cce99e2669cf3fc36ce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303acce7cabd94b550112d0c917e6f6559c8754f6359b36b83ffddb724d2fa687c846c72c670656cdf13f3b8cacc5aec130230548441f9c3702256c2f1f26eb77fb46b4a8ef54d11eb827c67dfb767a83f3f45def744791854ad62fade87a4ef9f30e40302047c435bb500673065023100d23f3d641a0d2a8fcd496150694f6998ebb3769651981698af605ef2df711df8762514c4aa3cb1e80e639ca82b601d1602304f7744a124a787584d70193e770d83248b7c30d7c9711c8a5d26281b273f3ebe575d0042d5b5a97427a31c8c533a3fb40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231009ec431f9c69335b739e105cc099117cca2360de3eb4031e721c3feddd1750d5b03c3f02fd1de161e2d8693230effc665023100deaa7487a314ebe4129af85008c84bf1924fd87473ba820f232740720c99ff1768c8eec036154fd89f42f162388e02a10302047c435bb50067306502306d01c5dad2a8320415888db12d799f7fa630c745aa509701d1d16424021abbe90685f552c967da1833d6dc061948acf7023100e5e0fdca0baffffbfbebc17739a134270914bdac5c3353cfc8e82040bc57e1672fe55cbb0c4a01a97a24f42027d00eb40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009c18b8ed8c02133dd0ebe3c8eb822374edf2a86b765f93cb3da389627db32d7ae4281b351721748e1be3e39f98df51a3023041617fc92b723b3f025fd2aa59a4261ab1dc23dbcc770400cbcaa8db631183a94aeb351e95562cb121faf0db9730cad20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a3cde9a76c39c6486141d1a81707c61dcae45019e91ba1c7b3f436d6d14f7c5752c9963729ba1161cf4238144911885d023100a2b3547873810259df4f96a0a269157e732d36de9a178a18eee375a939595b68901633e48d7113d339407368a8a2e4690302047c435bb500683066023100863d24355286ffdb8f1abab3d9a10c9eeecf8b00175ef8cd3e3b0a4d1622b3129d21fce259b101c983031c3a0dfa3817023100818642a7b5e3e298fb594784cd4e656ad5140cc5c92a25ce8b0114925e38df1b8f43768b1c9cbcb23e56a7acf185b9000302047c435bb5006630640230179e70d6c7cff371835182b5e0c5166d35d58307d56737c153f2ad77b2385f460a49bf4efbc43236f56d751dcc2778a602307ed1a73a3824ae873d86337f1c3bcc51264b8c066ab3ff4f402b04788cc144db4a8c12dc996b068cab8483967e5f32450302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023051aff457c7e45e4940df22793bd3fc347953525704c3460b38e36f73b98d42dddbd5cb4faac1c5e9f366b840f5712def02303e99fa467a4ed197fbddb89fe4d33d4e6ca72676904493411ad38e598d9714ff379a1257d45a2e63c318b541a32264ad0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100afc541dea86841424264f8af63591b31714c722e8a37714a860d5f68e729463ca081a9eb82918ed64d169c8c163b9943023100cf5bd275b6aed917432b6bae35b37795c58917d7376a0ffaba0032eacaab2eafdfaa0581a0f46ff5ed09418d2fe3ccc10302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100aeeb1d739dca36b5e43d891a8fb2edb90928d16a304040c621868236512df96af56c08cc3c027fa44912eb47c6fed250023005ef4696e038ab6cbc8aed65d2bd217d9e39279cc2fccf95c239c3ad3fcc91c25059470978d0711efc1b658e0c4a050f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cda429bc56a6d0ab1612a942000a320008e9e423273159d83a76d9bbffadf1ed4a9cd681714fa4d9328a89339e8fba1b023100823cb5d00be4908b1b7c12f374528b1234cd539a14988b2cd910a9c3488c3542158a4834351f2c3469e66c34e71b90e60302047c435bb50066306402300ce081671cd268d1c6b7998fe37a0e4dd3137f04c819eb0564c4a97912204d0ab1dac051f743593b28d88b3825a390e602301fc150e2d0b230243d92c4c74cdcefe409ceef6aea8c01450ba8fe30f65bdfacdf05f0e0c4218f225328c34cefd9e9920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bd8503fe0277c28d1fde562f74f69a25d08293f80cb9af205170e155633affd507a17b1eb4b52d7a92aaf9e4343ec3fd02304b7d77bf8a644da8526f7fe6e7fa966db793fa61ad772b8c70b15bb503bac1028f5887a94ac8eebd9e0dafe1f5db42340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301309a9116aa5596e2f0e118461e255297bf7001e5ed5eb3e53e1d7281e40b978847c047dfaa1a59a76651f207e9ca95e023100ef5163c53ef3276ff0c2b43f26ed6217e7c7014fc36463c1609ebd8af67af87ef5a44cc864d0da83216568464f9b26d20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310080f271464c039e941e322ab1e66c6fc486e8139fe22cbe0eb15504caf28a8d41f67e8fdfa9e5a9cacddbc0f31324ff6d023100d05a5d86409bcc9aca3a315a7081ab5688eb9683973425079fc14aa4d6bf0721506831e83fe82dc604cdfca31b60c2a90302047c435bb5006830660231008af99e4a9e4f893f46d1d6e0c451f0c90a5fd244d1d1ce9e68de951b5113a3855c726f8fa40afcab2fe4dd0b858b00f8023100d1e2fc5d4cc2cb9cf1aeaca371d08b773c8cded8f68a7c1c41db8171ab6a6c30ffdb8ca40657f35e813ba1edb48b14c70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bec74bf4ed90ee73ddf57e3a8a1295be5ade6dfb22db91fe175a963bd249ff24f3888a031020648b6b4617d3ba5a7b4202307257ac0b50f52b05df3ef8ff3e83a57406981acf2ef29f4624d0e5336940dd4367f86c39e62e83809ec0902301272ed20302047c435bb50067306502305e18a57e1ddf6517d30ca9a300bf82d3a38c914e2c876b69523a208a867931d06c2f7886d851a621e5c9f5eb20fa49f0023100802684141cde762d063874e6d7ab61d355217478753b9002299f681c02b20ffbef7fc0999522e31398b68eceab1da31c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301a20445e1f176039c362e119d0ecf82fae812adfcf4ebf4b65e27045989a79ec0c336c79a6ac7f225f34eaa0abb5b7bd02307fe6fa6208f9882adb46182243e879ed4cf9a1c57b7b641c24ff69596bcf3293e934227a9b54c9b245a1b051b477b06b0302047c435bb5006630640230191fc773b5a76a5052d732bb45c9f0db388cc4b908e208e591028d3b18b3333ea56145b5a3ebaa8e1c480a790c38a5af02305b8301f77ca735e9513b258330dc969e29afbccf4b5310ae6f5b4bb920f22a177e7ff6fafdebd80ef8238a35125564750302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b3f5f9d66b2f00623a4de223967f1463048e596a9e93b89041f872cc1ff5bf6501ca850b6cbd8f140ccb23a7a39ca846023070a806c8caec9547f0fe21b536589dfe0e23487d88cfab46d080ddfdf5d0480d349dd816f236bbc0b3b74d3cb52788d30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b6473b69100859e615100a6c1c53a518f9beaddcb053ead1067cf3a54dada95b3c3450fff5d0a50d6253f99d33d891fa02307d4dd799e76562c00a93d7900c0917a3da3c5bf3391b2b9ba4f743e0a81f315dca1f720a5a2d02b4256fcea21681b0dc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023005ae0b77ef20f59c4c4e62167cb21fb68ce85f4a7051f8e21a8614400cc4aa28900e2a5f3668cfbfec2497da2c0c4e8d023100ba9e8b9960189310e2c15c46398d6984a89aeb148dd414d43875ccaa7e9605e765fd6f9dcc85a83b5a002267285c5cfa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d4704d42a0573bc30c5ed712656c68b567f3344175b16af06540b7aae7a725bf95894acfd5cf30e87b7ff677e06063be023100c0af97075a718ef806878b871f92a8696e3edd0c4ea82cf803bd9e0ede5d31daa192a2aad50a9360c8642468a54283cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009761686450842158e3ffdf3fd73edc9c6019a0068ba2c92696ce004aa815e6d34e8cfc3852cbb5b1bf94f8c9ca96316102304cea0d10fe928062565b60b373e456d74c0ac309501420c387af87a5e7a9425a52eb16a2b2ca230c763e11ee306442840302047c435bb500673065023100c77d9559ae08ba23f1de9d92902422494c7767ae2d219c5cb695f6fa42b1959b93a79e461520c0c37385013ada9fbd0902301b35598436bfcfb28792f4c95cafbc87b5f531a507759b387f570192fd1fa4d7ec8187f35ff090d1328c8cf6c49aa6e60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230208fdb43567edcb024fdb73c058dd774145bd9232f244fdd713249c04cb955d5866d51abff51b31689a9bc728d7c9564023100d3ef6b1a6f06035ffcf8cd7a8e2d3a937eec46db0736b2b459fee5eb066a164926be4c66b52a41ec90031df63d2b8f120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307515d6d5538edb5671d8de00447dbf8a8894a96b643565fbc27e3c882a5cabceea11be7966460c1169ec943d498d44a302303675bee3f6a67ce9637e3bd533933bbb4976f8a190295033f0a99836a04ae41d22b386ade3384013da5719adcca13e600302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230511ffe44d9467189ed970c1a0f23f4793c78b6c59d0489fa839d0d120aba10312a391f491129b64bbd1fd00a2a090afd0231009a7e402c10ef0e31e11bdced5ed1d40c925e8e15d89fc2fe9b6ac3eb475d083062fd5f35975acdc1f953f7df35178cb00302047c435bb500683066023100d8649229ba7674d2e73bc539531da7dc00e503e2d0bec3bcdd627f8617004605c3c3636ef2a49cc97a33f77291d39696023100cda646935595f743967bb81e87f51f812dfb3967b0833b5947ba1c2e2dcae6d23b7cdb81cba562796a6a5d5b97d9a0050302047c435bb50067306502304ef00fae258ff93c64b4f0a415edb8a666058632009fd3d7168db55a014a94244e1563735867ea6c039af1e3ba676194023100fbfdeb08df13df0d936c5a8b0a4b6f59ddf2eff49e22b3a517afbd755cf99084707c0f608ff5b4398e04b5014cd148410302047c435bb50066306402305866dc9860e93863c353efc49cc09e8e52f781259c53b855c835dc956cd7b20e0d51c9bed7079887d91121a36f8c618302300b174340e32657c4f328d0f805464e6f5f73ca5c987fdb1e4d5d1110e0fecdb1f69fe9cab25831269d82a5316bf223690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a79f7819be831aa40a9feaeed1b2ce1ce1ac546decc64b25c3e6f963ac007ca34449814a854b9bb51a3b72912d03ebf702305ddf5b93c88cded6855ebabcd84f76bb298bff86e2626d484a3026ea768439683a8925bca3df79322763910fac15fc560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304d56d6bab601ed38cd84b6cca34dfdeac867ac9a9de3a36fe3ffd549224257d617a32dfc392197c922baa514d62c559f02310087c8ce68020947500c5e8f620fa2f12fbb8f40d96b6f0ddb762906fde73825ea1817d514fee5ac73d833d21a3148fd680302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fdbd705cfcf341657afcb9b29d7df74637b09c7bd328e187d34b21f3e7b6f2171bb27f214e2df453b01f0e1bbad708c0023042edb32984f0d5db70fb8cf865b4119abf1308a1b8523331e543c20581d39a1b5866efcd25305d02718cb389def568650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a4b44b3147776fab759cde89ff8c571f40724b9aef8b647787fa389b3dcf696215b4418a7ac3f99b4386da8e06214b27023100c0ed41d7af7599dd782a7ce43c529a923aacdcea218df7d1cde8be7d3493911b655ee10c3a123aa5f87c254957be5d9c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303301db09c507e382738c6b405ae48578053a40961ad4e9713231dd2e20784dfb0d742d3df4bf161011689336707a20a4023035da7b098beb93a3ba430e4861c8a5f6f888bf30b184c3e9258fd302a653d3606d8bce6fd7e54e45b7c22be4c5c6abae0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230307e84accd3cd879caec8e9a499e8019e494072a90946e512da8249178256266ae878e78bd348417d9b3922d7f020b6002301194fc3b36847dd99494fbb4e68571ee1e74cc51ec1bb0ecc98445557047ab2fd6c67538c4e2b43213d2ca2a4a39a81e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303fdb062dac5c37d8e6215e1bcdb5d7cdd257c2099686fa80e9c10a7ceb5c35d3918d409c1eca418979290533f62cd7ac023100b744f38759e21370a8a0c56b3ae0b3391ca98a1c8aece15cebcdf4a14537e96dcf7f4b11beb8d17e27ee5b188601b06c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023017a87095cd2ff9a39dc67e4b24a702f6fb37fe8d1dc8b3c315a1b167ea2d69bbd1fca414ff7e529b7efceb6c38b5f6ef023074963a2458506c956ae3256f625a2998982e7854b92f6ec078f85f27062938c10d189bd7d388aa914679526d19da7cd60302047c435bb50066306402305dbd7d66c8937902159e6c25003d120ea42219c3594da33e8bc6cb237e13b39f8fb0cda6294de6ee4a7418b4b74c8ff502303bce32dcf475647da50443d558e28e97ce615e2be8f70e779f5c7eb85bea56ec6d741de77c9b4e3409dd1863979317cf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f50bc21601af09fcd82e8d6259754a2b75a6474777dfaa6e23be4a73a14e4a2b1f6e0d9dded812e3658d3ddd30bea7660231009b8cecd1f553d59e71a3c04d55d50f481401a79ffa4eab5fbf2e5fd126d2bd13706816b2ef067bf4479e0c1c9d7142bb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b4c477f044870826665b289046b337b935d573572def86ea905ce48bb24bfa3b5ccabf949fc8569ddb28a3a38b12a8d302301d81fa703ef77f4c8966d99ac2859c9836314960126c518b4d65a0c05ac2819debeece0185cd874313b4edd6094f4a770302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d0b9264165a360b787a9e0a2499f39134f1cb8c388f1fe1976df2823f27e0064f786a7c3bd642cc8885d5ca62e1baf1a023100c19478c9790dc0be25409ab4ad84b1a29217796c2a338425c355f11a246ba20e0d646a3e96d351c2a1db385c59c244360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230622d3af13ba8ab7dde24aca093fb5ebba91f9c2323c7dc6cf76afede5f92fdbc51c2339e7f3029947b6e202cebcb5367023100b7eeb53ed2a3d0c5d4c61c51ec5df042d619e1faa5464c5ede94ce3e023e9d01568cc7dbda3b557a1ae0777d615096700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023062c27b228ad2c83f8f392b61f95f26c824fd8c6a9e3d16aaf0995a542e16148aeb40f30846207891ce42756fa3ee60170230704ffa080415b0d50ac325f9bed1e76967052e4eb515151ed6e448cc467dc61d3017d02c9a6741e896bb206c7e17b6700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e9e7cec0b1f68492599feb0c7b0a6b8ca2a2b65462c4769a3e7d7cc235ff04681439164c90ba52032d57e7edaf62102702302b100d84da95f6710acf1d7ff25622ae8a41029b68800581a094314f14d52854e1d8c8a4f3e9536406cdf4fdf5f7fadc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023073819773a7e7a98c5c189becd4d49614d67bd563d9838e396fe81f785488e16921954feb049fb0fad1b8264abe16fba5023100dc9ce492917475deab842de0e87b9089c91219dd27073683bae22bda9039de32f2173b856509257ee27cd856018b51460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b09786fe75ae4bdce70138cbbb13d1ed259a176076f1d9d2998eac900fa1b6d9de9577106ab18ac85ee2d89339130c5c023032b3e5181327c298677d7710f91bbab5392a5084ad37860136c28396abc63b89f8c1b46c68d56686d616b6a70d3598490302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303368632ce03750bfec735bab8bd20a342ed6a069d6f0b950a3918b70a72328f0e10315bb6b97ef1a6d9fe987ed29f00102300d210c7cceac92c8b80a0b30bf90aa761a48280ce5054f2fe0af7b293315b9b38fda55e9e94d8846734aaa164b0cf9d20302047c435bb500673065023100e58b4d1ab06650d2cfe0a2e36f5f616d859179a1fd1c342f03d031ee5859f47fdb6c6c20d192f8cc58f6039706821e8c02303d041fd69b68680e343c80a43a6058990e9619c1ff9a74151fdbda31a69599586d67d7c2a858388f7c624dc9e74e4fbe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302ef71bab2858f728c9d43841818dc5cd1c16a6c71627e04957444ad72dcd02986aa72c9fb28424ab3fcbb2dc350a265d023056f659d095cf3b77c859cb5a6662635318299f6e2ef283f4465f710c1e163ae368c2dd52cbd5b6ed67ca361b6ffc2c590302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009b8320f4fff90e39d9df6d322de81f222c2483b981486c3446ddaa251486bdfd43c140a5a21fedad41b973af3fc0a088023000e98d663a8083f9fdf5e1f7eb0afa81b61dd8e302057cbe49d44c581c2219ebcc83f28d1ccb381c7642b5cca9ac49ba0302047c435bb5006830660231008a81f3c0d404608664abe2788e1df99c129312f34f1f290bfb0c55798bfe7435c44ecee8ad480cc904b8d68ef99bc361023100e91e726c43cb9ba4ed0a008035d0cc6cbc57d0578b67e8a10c93f45fd3ec292738a6d58699a24fef27c72ed9e5e23f930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301961662fc7ed9cd1665353602ff2c51bc66eaed7c4c6c2c9a48649982bd174f81852857d6859b34c33ea0d0dd7390a0e023100feda8e9a64f31d63eb261b808dc1c347ffc3bd7f43cfaafa0468f94efc91f0d498e3a9bcf8a176bb19c623b37095d6460302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023037c464c5f2c1d18ef0b16640120dba34d8a200088ae34c0df35b1cedd030b089ce8b5e3e5e3f1b18b1564a70cd35bda6023100a06c3599496dd0aaf525a6e148b0a294279902fa8079a5104c3757293a5a4d9393711039f7ba5ebbe7a510e7c56af1570302047c435bb5006830660231009fa0b53dd5a8d42bc3518cf379bc90ad57381d1a95d5cefe87b65bfd540b0aa2531c39a5174994883592a291c0201e74023100b0528c90e8bc48672ef7d4055d27bf3a2daf8b9047e0e980e77d4554db66973b44efef3d034d10d6fd95fecc6ea121b00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302d2971e9d47db1bb7c0d9cbc008717008ad55fe626fbce363e9fed07d87a44bf02cc83f6ac910c9fbbf0e0ab9f088c84023100bbfc004773e8962a9b212bf48a0f79261bde042a52d2ad724ca671a987c3204a34be0920661b75513cd81e4bc0df39210302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100886bdb0905ea94b93b408cc7586ec71050970b2b83a7a75e63195923163cb2c31cc43cc3dd9174ac1a05bfc7849389730231009f87d9e3c4be0dd33686094e0d9998859254f15b1d3111ca9301f7e85aa0df53e7638ec836d7cd55019f6c784e6268560302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230306e1c1e3a50ae1a7a793f93586342d671fb5a0d83209bc1cfb82ebe7ebe4b400a18d60da3634068a8e92c05c795ac310230123ee3c9e49546c527c7fa200097d78db2ac0f086e2e52f1667bdbf508fdc36721d6b6b3ba33d5bb4773ca9d15b16e630302047c435bb500673065023100cd5f0268ee751d965bcdf22760e8f807b96b2d79806b182426428fcca4f3739acce5cced566663179a3168fc3f037e3b02306db4c08cfabe547263a1e960c09227380e33a3b982f512321525780d9f378f22ae4c432ff08b66f8a1f3a349340840010302047c435bb50068306602310086c45095262b2c792f8d77b257930370709b8edbd676d4fa069acb97b3703d9d84cdb07d859ee714a70c7aca9f89f374023100925326a4f7b6a9b64e88712e6c9c71ce98a328aa8baa72cb8c5dcd708845ffc7309249504301cf3b7aa6d11df5fd6cb40302047c435bb500673065023013dacc285b3475b1ed99d805230d3f7fca15be459923060cd60077aaa183653fd8c59b9630ab9a0f374798bb2548e3c20231009f855db8b694478bf49fa610746b7b8d0530d1de7546a400d067788bb97d20a939c74ce166c61078b54b97197e4f43120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100880e25967faa8b2fa1e2c3ca000655ba6f5ef39143687362061a7956871babb3e714b95aaebe64bf4c1fc516f944937d0231009061f2f3d3d9041caebc61026b7df797aff079f8291c2ba47fd905bda82ec224194f30760d239025d475e50ff06b740e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230037f1b98d9d3bc2f910f85d50ed035a3c48160f92fa1275aef3424f554e72eb8405581f484ce41620b309e005876052602304c41bd0af9627d6cd990bbd1212365e5199c7846cd59dc95289207db034dd35cd6e4be4b1d42051308bb918da8997f920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023073383a3df3b9caee77f2680d3db91fb722d2c8415f1061fce855cf928137e972bcf53f4539633d4d98d1150dc05613760231008af3498b667d3b3b3056debbcff8de6b846fc31501d2e7125e8f546bda71ccdfc79ec274beb1a6257bd7251e5ce493d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300d986076beaf346febaaa9cc7692a3cec293a16b9ed8b6cf3e34ad00c30a6c61b50c9693dfd8ab338149fdc8f2d6e354023100a70ac021414de20962c064409bfdf6ecdd95eca1424d16b4f8dba7ca9110eda6a75d8d776c93cfb6a28cca4a9e3efd3c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023044fb2e9d1efeaa6f5e6f3b29c85db3b225c595a7eb41ed25e20b5fce1357e761218a335c0f97b5468fe88a4e26c6158b02301c7e90b7834940361f110056640c48b2287e1e2f2bd0c816ae5a32f8dd274d601477191a0efba284828163e4ce691bef0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b2d05978254a237ef8cdba2aea24ab5470d8fc456250657cd2b9d2d7625a8756b87dfec3a75019e1f44eb781f2caaf0102302d1de779aa52ab2517dc2520dc792512a8d03c0516fba6dcc17d8286f7e5c60014894d4b0b70a735b2bb6f351b0a38b60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023073383a3df3b9caee77f2680d3db91fb722d2c8415f1061fce855cf928137e972bcf53f4539633d4d98d1150dc05613760231008af3498b667d3b3b3056debbcff8de6b846fc31501d2e7125e8f546bda71ccdfc79ec274beb1a6257bd7251e5ce493d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023039f0b7d7f5f1628f4c7eda9c150db0da5322164021281a319d2bb42cb212c73417102b81fd5c4f0db22ea19b228828e9023100a1f7c33fa22c2b0728864c6aa567ca32d082275b86d1be2a551f0b09fd3b9e84b181708de75aaf934d16483c6c7f187d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f06213c2c3412a78c8636d128e44c30fecaae0eab1d776c26c28ee26cea8f6d3544a7717f0d298ae16e3c769f79a04f5023100afe7f2d7035e1812f74dec9dd22e005dfcecc4f212ed951db2ef0cd4874c94a9074b2c7ff42196327fe4d8671117bd350302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023073383a3df3b9caee77f2680d3db91fb722d2c8415f1061fce855cf928137e972bcf53f4539633d4d98d1150dc05613760231008af3498b667d3b3b3056debbcff8de6b846fc31501d2e7125e8f546bda71ccdfc79ec274beb1a6257bd7251e5ce493d60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100bf6610543d2c127ebfe01965df11d92892f6f3cab2079206584c90f2474ec2cf213293c811c39cb8c79af078f8213f46023072d40c619d98fbb35d32726b418999603b99a51ec49a8ded58caee1d4734b2b68dd9e978f0d759874e8122d4e9d156ff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fc373aa2d2d7c1373615a78e0d30b13816a422b74c12109f49905e68a14f6d744238632f71a6118998bd65981c178c4e0230064b6be5f2055cc2a7363af0b7bd0c1a72a11a6bef9b4b624d9373d84b51bc3640d688ebf658833d078676c8661d85b60302047c435bb5006830660231009f6d5acf6f420ea693a5ec787db4304420b15571bf8d5bd9fb62454edc3c804332440d0e8ba70f36d9fa5755e8591fb1023100c9303c8a9da7a9b49df5aa069963b087e39a0d6b5f37aee77602b8dafab0095b72248fbdfa73928edb9eee939a7dee2e0302047c435bb500673065023100f859b5a57766c5b7550a51c67d9ddd302ea41523f11d92e30dc09b0fdd57b1c1931efc9e7eee4bf13f0212f71d60b70e02300986a455f695a9b5de454c4e402eaa4eaa089815a82c1c95ee88d03cc10b826a49ea2dd405ae6470ab16e95b04256d720302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f8d669358213e0f445012d8125fdf861f2b310bb855c261bfca3839a74bccc3fbd19fa5d685242d9d61bc4f03168b0fa023019593ef602eed12bbcd218d16feccd0f6c7530efcc2dd8937ef3e8ffd621a468de4fd556a3fb2ae045e4477e7164b9020302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f5853910abf7329a471fb3c7c63ca79a0b676ff114026418b7ed9125b17ed0e8b5d94828482c41d5b31250ad57bd1aae0230593e2aab031cc4f56f19fc70ed56d005c4847d253b9985b4f02ffc44cdb69ba9eb89aed70563398d2e332e3021be4e240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023050fe16ec90db543f9aaff7c02f7d7a902fe926051a9af0c6578500c282c1d534b36ac3a34fcee23d8bf4edada951e95e0230759a761ee0ec73b3584a5f7d2c1f08040c882dd89c25cd61ca65c3404b9c139f125048046a5ec0f8abed1e88c628c5000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301a94a6db0cdd71d7ab15f46ae3489dfdd4e87a429a64d2a8fd66dc01b7dc4207bd7ab8baa34f4e6f01494f00de9263290230211b0ff121b704c5a01f09f98509f5f308c2f103b7306472bf86944089a6fbd8f1ae9e079c1a1eb76ad85b783313ba810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023072769736558911d08d8f76a2c5e966b171c7766ae3b39a6ba00b0c3d473a7535665e7f6b52be5326032e12d2de20e005023015e08ef38e377cc264b2d5e3e5008041bca8c8e0a26fec6bd828fcb5615ece83988e0a3e2b728931bf9ae1b9d58a744a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fa3a1a604e277bcacad41aff524eb27f6375820e685d518138790c70e9de174ebdb5164fd621dbbc6ec3f1f01155535402305adccdd6b354cbad7a4e7bc81ab36a31e2e0d8289fea9095552db2967a65860ef3ab554bc09083fd4aed89a03328b2000302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302e05831f09fa1a5adfbe1212be425252263d09ec3e9bf908416a44e770fb241458cad07a99b7dea39e7d6bca1bde420a023068c50fc70dcba94e572b32c162f9542ac294ed974152cfd9179132c87d322d886d95af5432e6eddf5e05c6ec907200170302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023046d7c51b51d256344f7d77f302333b1648e3f556ebd6e402647508de6df6fff4142e3e1fa3fc8b1084ed17ab28ad23c1023100e650cf034b777b7e0631f24d4a0821e47291f768d8d60b18221650a051fb710458e55cd6b23510b533c34986ddcef9650302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023017465ff31583b193c4cfe1f525e4978ee9a130a6401b89e0bf238914a2ddb910d853d1f2c02b9b930fb33e861055173402305fc7d7ac7af33d2942298ca7ea197831c10c47d64de7cf8ae6b2b62e3cce1f67c50342a827ed5436ecaec9689837cf3c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310095c0e0b4852825c47dc2307a3119214cd7bfa4210cf1b9e42837b7091a3d54ab13bfa752835f6bfd244a38e0caef349e02300e96a7e27fe0f12c902dd68fd096dd9b3e0a8a6783f94fe1130662cbc73ac59c14b6f12d6d0f7b96049ebabe354c95800302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b0ff02d3508b1c4646118378ebc522ad14570e5caf8f2dc5575968ee148d80f5a0b15d531795f46dc9cfa370d9cda9fd02300c3edbfde71fe50874d87fe7ca31b0fbd6f7429b3dce296ca152b3788a878d3e056064be209ba7dc8039090704d306990302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302e4fb862fbf9617120aee6d86a8ca00a78cfb7938adcf81573861560e18a906f8def5d8efc631b372472725902f66ac102307bcb5df264220c8587545b8bf0de012c85196bbbeb25577b368ce6e2331738d9716dc83f5c6e24ee7bd903b2b4528ba80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d5852e47306935205b663a19638e94c36bbd70037f683764d4f651ea01f1ba7aa81f57ed3095799713b6b17e2f4c864802305b0a4efbe2fa00b9322be7f66e2cfa769f7b171820691721a779931d9145364051e947b31cf1fb95603d5bcaf4da629a0302047c435bb50066306402301e40203c37f25db49ae494d21f8fb2f6460b240c1e61cb12f7a1218ab797dbcc4559f15ae8b76aa23d264549f2acccd002304bf338eda1e19515348e1ce1ea0e040af55ed85e1b18b111021294903296903dc50f535d7d7bc12eab0bbc92ed44966e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f0b3eef634ef60c8b3430fe5cc7d50ac6f50f217f7eb9df1e91e2f8888cae3a5f5a01ee37134ba87c8214ba47e99149b02305859de081e8619ad45477bd2a915ef0ef5745f2ed835588da9907317bda81fa922af408b2d384737816cc5d3270edb7a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301d81f0f7a8d8b87b48e46ab285076d8f9ce9a4e521ef99ebf19c233fb3029c3881469027b836e87f17e309069fa86e2202302244464a41e22f2894c071883f390b02598ac7d368957d56cbb6fbee7babf864a0de7820f5fa502508a23c9c4ffa416e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402302b6b907d3f1a65bfb704c39bcd18784e1dad437dd353b382b7b6d9a4a7e482b022cf21baac2caedbb66a588fe0375fa102301bfa03047d24788f089073955080d437dc7359d22e8c7907d243e26c74feb05109436da96ddea7850ab1c93d8bc34aa00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fa0132f95a9fb1958380a4ee021fbd5794a69b9321f07787260a7c74016159c84d87839cdddcb1af71096f3218cd007002300cae8751afdf044d911de0d4e4726cdce077de2021ce37a72687e5d2759d56da14240c5ea209125fc12276268d07b57a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f6960ebacdebd3170d1805b1f401d0cfcbdd568b7bddb67368d96ed773d3bd44087cd3d4b507d8304e438d1c71e9734a02306fb977db4b10c524436013387b76ddebd9208991747cc28a503bb822085140a196fac142e55f47725d92e6e76ab643cc0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231009a1446bd0a8c798ac9386a3b7149a11b130ead31971d6db6a03adfbc2e549cd36f45228a5b5030df444ac4987ba589ef0230721de1779b1b387515283f35deedf30e3b4eb47c2511d763128d1bd1eb7bd23cc41097a8b2cf2f3ec8f50273b2fabe5d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e8bb50e2c6a534a3b48c7ec6cb72cbb986016617f116ac76a99df879b64202cb26133de10631f4e18137c599109cba3b023100862c92b58bfbfbe8c85107af4fea25e338b474c78f99cfb5c44b8be5e94d21ae61fb59dc2bced8ec5a800637761ca4da0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f1a9015954bc7cb50d64fd2223de2920e79b092f6d0edecd9e03f97c993cbd3d336c167fd183e03072c89235232b8801023047b9ec63f7faa38c95e73a618242cb794f6be06545a080450f1a8f8c60883c36d49a854bc5761dddc5647d6d1561142b0302047c435bb50067306502304e34aae632c42d8fc8443992447da9109c912340b88cbc6b7b272dfed4106ed873f767c770b5af4ea06a640d2c8ad3ed023100a5afe6228570bdde51c83b928283ceb8accc4963b78000ae118b4987c391578adc1296600c14c64eda65812d3ce722700302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100c7661531ed94646952309d061540641611fbe1886b497fb77c98439a4be6b5934fae93326ac1c43a63111077507e358b023100b4559c287be53d88d01d4b29f550a73288f04e650d8985c8c54ed0fb84f05ea04b3210b5c946a013e6e7b2febb8c1f8b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100df8b2f6a3d4e56ed0c965ce3ba7750430e2e98c0ea24e1477b21bb53dca93a4fd4cbe9754750747a5bbcd0a0dfeb775c0231009fd0a7e270aeee8c226db37d790f588df8b98da4bd6a3eaa4fa9a60a2e2eb91b3a33e5f54679c03498c867447a66c66c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d0ca765e05b23ac1d1cc9f6f30f73c82c7fdc2e3a2cf75c241823ced9816c875d13d502d213b23cdc3ea5514bae1dec90230190ac8eaea09df84e5f3e2acb7c5d60a73ad49d096a1f3581a7c59df3b8bb89db038863a4bbcdde000df59fd967099a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b22d02ca19f6252737c46b89a789eef012b4f57b8ab3524d16229a4aafaf6661a3dcaf5c5a2460bbfba262b4b63e5446023028366fea3898a08170d37d4536fda35743a8c4cdb3b5a30034ef04821c37b7bffac0435d7d01fe297ae877f44c588d790302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230144370b66cf18505adc4c37dd67fab45c7f9614a9461de840dc9404de54e55e4fb538635db21b7d60c5c8619821b906402303d9aa6003f5c1561550df08167a0ea26f2c80ca955f21106a77e1adb6f8d192fd6c8a979184c7408def6a1e93df43c1f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023079466e643d607f08f80499a78c24ab8a0b308b0fbc27595afcf430e3c1f440261456a78e4b226f4e551b4cf2f90b19ce023100e332d198c335d932557226c51ac8ee6ce9ab0753e8515e311d61cf2951e25036ba384917aab77bb78703cec57ecc24d50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402303d0d0927e393a9d0ddac0f04e1fdde94df86e9ce22d7169f6ba2fdfdbdbaca12a267497805dbf39b764c5192a13d59bd023020f0f11034ba923d3b9e4d45ddcb5b43c05c079e2db8be05455d2e8c308a18c49ca2e71903e22efc4558a489ab7a548e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402300a5b6f2cbad577c9e54e22956da59b3746f6eeb59a0c67f8db270291a3b8286b323f70bf472e069622ee911420a4e3cd023002f4cdbbef595f73e4040d0602dfced319415ae35e325371e111ffc73738235287bd81417f2be9af1f9906f3567988fa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100abd2c11e62b31a6b4feae13c6f8383ac5ea53ded01e2ba85f97e67e440fc1146749685842f5623bbb35e11c7e8fe87c60230715972f6c0cf04647a9e0a6ec72b6fc63fe6d225c0bb8879bfd4836e378abec20cf08f48206ce082a213ab668fec4d1d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b725f46e02f4af6bfcc3e19a4d128931bb264d016dcd69e2a1af6bcff8d2bd0652290b10c5cd80e8c030e744b571981d023100b9d5ca7260ea49c670e973764bb0f9eb54aabf242f18a8c7fa8a2667d10d70b0464770392ec8d7262e9356cf873d9d4d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502300edf57ad9a67a37e11d001c948daab34ea4a680c96e20dc0a95e6f7adf4a13936887dc77994707f1076e63759390efc9023100e25aa47fc3f565e3d463c4292c4e88a448d87aeecb9e5ec57a166d64cb4d0db5abc245e6614ab798886016793610577f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100eab43959bd4595b530b83b9928c07f248175596fcb727a2767a04223c7c43f9e462e38daf7e6bdebc211321f6f2d5ebc02305ca0451053b9a2488efc755e96ad4e18f8e4ec96985fa0fd97c10abca1eaa02112c592cdef787acb36867c0d782745430302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e6cb6ebbe073f60c97b56b5e80b1d9b2a4a405a0866b93feb8a61e2e5b92ce7cbc195f779c96e68945629c31c08f04b4023058e74713ce30dd4affb20bcfa8b557d26808c8d614526246c30439f4c3f3451fb62e2bd33a23626850aa1461741581c40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b56e4a3f7e2abf8265ca8f12a686601f173e04afde39a5eb1abaa0b03f5d97ee1321b79099c577934482df3abf74b5a70231009d1e0ff4624a5016b295b95348f69619affa9b2a82914b6de72cb33903a5f50c01d2f4af90a41151e55515340d4f4f9a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304b5ac103a58781be5cb3e5f2ddb041be1fd8eb5596c7b32e4395815dd9dde0f720cecb0ac83df12ec3e9fd5ba53884450230351f7eb74cc686dfde5fce41236049c4fbd7f21538f107ece14727eeec53ade7e23f93ba8460748b269fd46ab529c34c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d5202d6e8cd210d2e81c398193cb73baecbef2056ee03b8f5d8ace884196fb968a38c986aebf87369da329e0fe82c04802302747aa5261e57d74865fdabfb6e5a9258195233c8b48a47a6cc61d1bd6577dcb5f080faab42e756ebcdc5c234b96cb830302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100898466c97a52601e0755406513ba89e278f2775eeb1dc8b41ae2ace5720aa9ccee0b0e8573fe554e57e2de8aae8f020802310083321f4659bba0692093f6f42e234add148c2bac9bae960a7cfc9e8de91c83f92618720b6aa860695f1cc4e3b027b5a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023039bed5f8e2fa391f4909f5c1062f485026137d98727657faabc7d28ff7eafddd4d9c3cd9d2aac540dfe621d803f2e4a802304c49199975ffdd5efcfd53c347ab96e181a95d00d5a70f385f19039d72ace4001719f06f5d18950cbba4ebbcf0b2cded0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e028250b3bf87b6a725146d1ab735991ec72a4042451e1a8253a9ad0e9baff58d743c664e110fb85a1def27cb71f9fa9023077b47a988e51f216142f91e184b74bde15aba6304afb25c340465172463a454f0ba584a8b5c4db44787e084e3cdf17540302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301e87eff4d28ce72bc5c619b769738898212e140c0dc778b6b48861e6a7bd7362002646baa750bc7073a648638bda629d0231009990fde089ac9c003dc74b31f990bd454fefcb6c9c3ae40776fcf83ed9b9e7cbf598dd5d542fb6abd5c35136486dec1c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100bbd24ededa92272a9dd8f00983637e17cee5b0b6d47243972676bd0e9cbeb80d13c4cc107ab20493a1ecc4cfc09eb6de023100f22792db46ed334aa418eb13c11e1f4a803dd7d54eb0a77795146095de720a9350e9bb1606f9dde6b89fd4b7d63f6b780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023004b83dcf6e01675cde9fadfae86216c46960092f799fea039e1e92de37ba67fe6ccaf1c55e690118d01b55f795c222b202305d1fb48a8b694cf59e196e196c8dc4de5980fed6ef77d8a4e685526f996fa425f39341f2bba24739deb40818c9d55f9b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023069790dd642253118a696828818a771b9b4de49668816d33d434508ef76594ba32610fa87c930d025da2682d3110c6f1702302486f13a24a6f218bac151da01c2be3a7347ea68c030b878cfff55f01b13b56491312ba644574d44124ac5524e3f087e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502303dd962200afb9f2a103e7a85895ea82e70262d1a66282dbf55b2c74028cdde2e8db28f39ece6158f248f66d515ceb937023100ebe4f38d3e3e5f0d244a2889c8c1d87be6a48eeb2c5b9bbd839ad2a6a1fd1c49d1b4dceec8b3a5054a3dba9b0fe6f5010302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023066a4754cb200512e6094dce332dfe2f9542897cc9c0a6932bbcb2fad12a070d7186df85829fb74c8d3fa170dc70bcf78023034d2575a40934d5fceb4dc1b866d1bb1b3180e2133c1cd07f9507ff2b2584e7da2f0031bb44abcd609581bf4dfd050090302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304bb37deb791e1d69a84d9e3be49b56148db33648b51f0ffd6203fe16cfee2835dbb51c8a5f483015a9f8b174082c7401023100a148b356a2030ed3aeb6350108d4a0524990a85d70d55d23562c4f67189eca1aa79399c8887f2965d6a511fc9b898ba80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ecd254cad0b0a783a0b64256ac21781c4c58a2ad4028b21062d524b94130a4d638d148c90f22b832f96537f116606590023037e261cbe3c419efbf28f55f94e2deb2b435161374eaa2dbe3d046c235def0fc5cfc67df7ab17d707c5ea44dbfc0244b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023003ee469ef0db7ae89aa5cb33d20c82b899b4e6ed53f779711aeb40ade6e9f53f1d8e918cc2369334cabf107024825e93023050bdbae52b917d6288228d1ede381940378f6b805fea6bc12dda8d871329c5537fc72c5ee8a85e38bc76c877d527ede20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f0b10f1251c77d23d42ccd9d40db41d9a0f1824cb83b69ca522c196ad38a857cabc23c152ab099d36bc894636a3131c0023100d8ca8591e21342399e104bcf9cb9ff18246953c5a7186024db0ac7ec5539e230a997f0fce2d3292081865639eebfd0870302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502304475a1091ff83a4d453ddb21f8d024e84f8bb7246a52fdad72d3dc93f653e9efd74f9cd44c96fa8e35d069fa8940fa1a023100a42a2298b2a2559e113b5947838b90bcc90fd6593aa52c93a7e312f234e0ffd15411ba701b17751edbfe5d84e824c1bb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302464d75e727ddeacd5f5efe3467a1acacd3be2aaa0ca85601653e3c4015ebcca9e28fd7b895e2c4e7558e476b30534ec023100dc7312f3784c400e354d7311d43f503a594db93206a4eefc2f19d1ce970678f5158a09180c2041c0e1c388276b7604980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100a0b257a4efc5ea3e9fe7e27d4227648e2cb2d7b40c2edd539b73558e62ddfe2fcdd8eeff15a2dccd772bae88f1b338c1023013c27e74c49a6a293151fd06c8afa41594e188f75c08816922d375e5e766e314e70b10ce58cacf1da7b5e11dac6729820302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230725c9e96457d96bd35f920f8a1d3a92dadf04f085ad56aee247b2bd575ece5dbb5bf305bedd5eb7cddbff68e60fde06e0231009233b18e7154ddfb1ca9bb01e72aa11c6653e7757584623cf3932ba71ce6da701bbbb85d3cb57f9fda615fb6a72022fe0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ed0d43fb9797d29ac110da99a3c08d02ead5e4e17c8a8283d8e92337125d47bba2ddc5f311878b3f64dbbfe722e4f2cc023100d60191ba93e569bc58c3988d6847c7b354f7c274439814a613f447e623fcc45800d81ccb7c1924cf1362039bba3c45160302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100982d8f13d0df45914e03bbd290e163d99a94f0c19bfbd22edf36436c6f6027297aecb7f5dea90054b3ec934792d5d6230230506b3e9158f9cd7f1ac5e8d0f094385589891a61b6b73af2d39339cb472ccb6f7dd5053ba45ce159a7c8d1361384d9b60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230603182ff9609015a8d8a26816d874d4fa893a181a4f1280765ee255a2a3b49e4a00cb28f17569d2f564ffdab0e16bf21023100d4dab02fa9956c816ac3af2268d36e50d939d1426811469ceca2bb0de441a1a040cf0c613e57a2c270641c1a7175bd2b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100fc0e8abe388db9c24addd56a6242c2f616b8233ab157f7816d32758709576d1fa129e5773f47c5d43ce9d20835464630023071d88bfe9258bc9e32535899456793907c2e5b24041a5b51bbc16fcd8f80964a2e24325782b8db4e326cf27044702a980302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100b4cd0955acc82f84f5eb29fe58c6f04cd9b023164104e3e8a3bd18bfa343a26098f934d48635cfe87836484cd4cfaa0f02310095bcdf9af6467da978f13c60991e978121cc1c409031518f62ceb820a944c3b421388c181cbf9b3be5570614ce37a2530302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650231008462f0e015e92bee57e0bffd0857112270f629c820799890a3dc0a1be53e500e8581455bbc86328028a4664ab978ecb102305382e9a1a78a88c4238b4c91ad16bd6d13bf126c50771cfe735a7d6d1172c8c882427e997abc92027e2bcd4cba598f280302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023034ae26a547aac0ceb01bf7fecfeecffe8425056aec8d44672b8abcd028c0e0093bf9e9bba43684d9ffc9186f0cfa0fa1023100896203b8a5d40748d07069b632613e57c894833fa58e17af753938960ad9f7001ab8db541306d3373172b2bdf6ba8fb60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306306343b907e8045fb7d11aa6de7e4c57dd12533f60ce0e9faec0e47c3491521b6c01b219f376c174be3d0606ada71c80231009b79a6831762f206d61b86105b5815195847fb1ed36da659c4b61e499b81436fc3899f32128466f6ebbf16440b9232c90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cd86b3c60e9de553dc42fe9b657fa4d0523473098454bc5a5f3ae7d163027f7de3cf0c52db8d7262edc5c99d0a7db244023032964211a3fd5d52b34b3a2f98aeec6581731cfdfcef08bd58f1e41b240027416572d15d64bf8e5e3fd12907f26804a90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502305ff80f424c5400a2e61cdb0089620442c7452b6859a3aec8f1cf027b764fd60748093111c8b9fab24c1c2ae32191e72b023100fe851280da789f7939e0c966c875e5c791bcc5ac66e24a7fd8e3081dde2a88b01700b330f898a72d72fba13bdc25e2120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e67ea793552a07b9cb6ccdd2ebcd683618ceac510740e5c285c74fb32472d2892f9174c8753894be1abd6396989b60da023026da52117857d0bb75a271b004663fc2d4a7e2ee350538043212df1c16e77151003e7901e9325b3a1a49e5058ceb45f40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230761e106974b9d4f5e4fa1f3692a7f2031dd5775dde3cb922352a5ef8ac82bf636f8946b0e0df9b1849131581f7492031023100fc07cae2a17419901ab96306f8a31489832380c97a3385ef25ef8c6cca783c9e57c0c15cb9ed8b740bc3d05dd4f981cd0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301e1c86ab519e3df9ec61b829f3f8389a406656b847a1c450623b022490e4366383d782c3eab5b494947a7b2d8f8cda0e02304c2ffa5b0c5c51ff9d6bfc008ab148e2f606f695fde39a1257b64077e9e700c7eb0a412cbb1e1de748e0fc990fa826b40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100cdbfa52343dc861f21032249015e8c8d94a910143f405f0bedd01d5d5303320659e166d46feb9e603af3c9d80a41644402306be0b35fee774e0bc8b6955c0bb9bbdc5e1e897e3a74fb0ad05dffe30aaa1d60b100a54710eb24c9fba848564c4a40880302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e11e222de9e996802059e84e0676da8df7a44643d3ddf483153d83957ec2b40363f71a672ed22104619598cc9b4fbb020230209a2ef5785a70141142f5ac787c3a4db12fe15f2b4f6c6837b20a029c43873fbc61fa0dff06d148361bfdf75650f5cb0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502302cbb3626a5d603aec9fe3850925616aca440e490bcf8a3d907f6b3301d7209705158bbc4d151359dcc51fd0fcec0c41e023100983c09793ddb4aa28f0397aeee322f571d04f01404db4cbd578ae2e50531a1923a91be4f9a5865d82259d77dfdcacc3f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100890286890ee14d5c13ed499dfb9d0914776fb2e84d949f7c23450eb7f09d8b9258bac4b1015593fbd9ac372052526c44023100ccb96ffc137fa7432583f6c4017744f116b0360b26356f787f112afc65bf45c9679e74c0c57c5b606798f95fbca90dac0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230522de9db696a30cabf75695d6e227a166b370b61d333f7ea9a192c95fc5ef85ead51112522625fc95c6c5d08a0e5473c02305da5ce5b08dd451ce604f3ef8eceb1d2ed0664456cb706424fb74a1db4a1e856438e3b15c709c429c9033c7af3aaa1250302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023069ba48b151329c59fc8358a7ba4ae9eeb60f38bba4653d9ebac1f975b2d96e78f00d365cf47894964b88ba1c4fdacab7023100b9d2da52cfe74840ab5ef1062ff399feb4745ffb893958f17d8c9aa7a0cfc5830690fdfa325f9a9ae5c2087ad70a34400302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023057239e9be3a7a0098188e01321440e24bbda2b78542d955c62f0be0b403d18b8eb86c058f9ff02333345052abace6b52023100943550d214bb85d0aae9d0e1a1ad8253a8dfadd4a1c2f56cafa90cd1b746504530dd4ca863b44f1c0eb81cf97d63cc920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e090b14c7eeec63d4e5a06b27996de281b422c05aca9fe882b5a4ce457b26a9e1b27de40adecfffabf172329b6ed01ec02305bf731a613495f08d64d1b374943d7f812fe00c80e5d97e7a4b9716b6f516b12f5652684b5be00b6a04a6ae42943750a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230641e68f6623cf1fa43af0742e044dc8a653baca45178749541e8a794ce2545c061b69e3ba169b2030bd3aad6fd1a2b9a02303694a3e56efe13a278f704e4febc9b9b80724023852b15dfeebec0acb96abd44d6f36040f1021ae0d8762d5aeb4a1b2d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100d2c0d71064b85d4541f1dfeea9c9e5414bd7d71c82e4930a28b8f97265ba934da2f46594b725c0f4345921cc21d02531023036a5f9246ebf9779201f7305ad6aefeeda5551115bbc837e03c6957bc93db745f1d8988435ee0901644ac467132f3c2c0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c0ddf9213e5c9f80c7dfff699c166c270bcc242b2ad171dca8ea972abd360412b1e27033720329d7186c63635bcdc74f02307e5817eabc55adebab304856690e8ac4ff7f19869243db10948b517ef1ff4695055d0642ba1c5f02be838f086f7f9d360302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023073cabc2757884e4774f997d511c4164a525f62cedfa63c21fbe9cc9056700b25fd4bd4c24ffc8fd2e98a344f46dff893023017e09c8801d682cadfeced31d0c22f8f002bda9ad28eee60bdce7de7856958cfdf5958463c8d04840ed38a21bb3686b00302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023026623fd76c9989d383389b1126f7287b20e11ea7712817bddea90210391194cf7a231d586c40d90da04209a3283f825202310091483584003a80101f233b2684799e7be95a68febdb8e6d18c31ba7c02b761c1c947b08cd47bfb95724546b60fcfef890302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f85d5d8aa31a04d4d0e090aae48efea8656af74b2d4d918b8138f44a6d93037ad08fc341c35d9c649e0136a9d8e5cc27023052b2f56f63528f6a667f0abf34cf8f47f462124e44368ed9287d6b26724011d747ef70ac672ae5ce89d0ec1c9fc3e1240302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023075b0375dc13625e65109fab779d82975215856f01a9b5f8e16e0fdda128851bb51d6d980e093ff2ea2aae28e2846a2de0230235e67d777876204dcd96e3f4a06ffb0789e7a88269418cfd9b9024b86ecea4055b3f1a2baa436cea9d1df66854f1df60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e2a8791dbd917dbe0ed946eb72ad90c1479ed38dfa016b24083d7d9d12579d3bb984c7c3092c0ba93022257fbfa75168023031a9f19da7085b3f28eb1048945752d7d9ff0f0c7b43057ed7fd4d417c17a13fd113f1dde086a9bdda0a35ff8de122f20302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023028b278e5cc387ff26f19a4296c619160f999d7982881bd0b6da6c38005574ad96f7fea4b1308d1383022e15cb476485e023048daee22f3cc428e9667b96c3c57e657f278e16ea0a8611d45f3d1426ea1b86eb88335ce6f61bcf04714820179e70cc70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f22f15805dac5f78b27123f9d975306b0835c8fff310f0145973d1e1f657e2f617b2299b4f77a38765cc75758219f91202305ff16d0503e9ac80cb93da6fb26295000051837078fbb15b28f51e7ee3560aa6787b28034b6aa3463630c2081597eb2a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100a593d8b9dcb4884a3f648ab38634184dec4b8a01cedcd09884f750168f58541285786c8f38dba8d13d24ab481394ae0a02310097d36cc396014229f4ae9874ad8cdd6eeac021ee92d15ab9382b20619975d3f45cfd9e425438e24e79a303084414c2040302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100e1db64cc1c651a8a3ddaa6f8c3870467b64653eb14a093fdeb6b29cb5b8a0920c2af25e6ec6911934021c478d43200d3023100ae90fd2e35e70ca4bc5c8e9e1f698604593cafc1a1a7a4ac0159bce7b9f6acb2c8c657c160661fd424a36876b747d9a60302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50068306602310092bd951f9c64bda1db4c03c94303e70cd9b5aee9b459b21302eab7f72320f28d6b1cc3f28014b7a833e3f41cbbbbbd4102310089b33e852e5fbf6c9ed9440872afca9c75213de8170491269d9b62a350d2a85e35ef2ea398c4711021466a81afa8656d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230188ae197c3284f76fa4db42aab57272cc3a14cbca85cb48c3a58a88296c780c029e3c69e3b9acdc617bb1ea0220652e8023001afb1c19bf7bb73612e149d2151bf80d9325eddf52ffc8a731cbb877b007187676103184e19ed65591df42b7c25c1410302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ea2c8569bbbd6495b7c25ab2b3b7777a9b55f47cacd005c6ead46c993b0c9dde0a064e1f3a85bbd956d13b16ae884060023100c7a61e73c1488a6151d1e69edb72644dbc0f7292ac900df8f3b37155344e5514a9524d3dc32a4a8cc63846efb28484c30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230059f886e332919c93bbe927e204a8820763ed1a08de3135abd0678f6b0fd8e0da3bb47df3e27978a3230a6b38cfe9f06023100ba4a0f9ed944f7005efb917c10d73d54ed2e86eb72f30aaf67d2233be627f088d73ebd1d787c8d23e71fdc3cb1671eed0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502301c7ae7997a0f8c04403cd85c4d7df95f617ac3dda44979aaec16a6203b25f399de7e6bcfb60e61891d0ce2a43b455ed30231009399273113e0b52cf72038acf3beb29f5d36f96a12f06891007578e3aebfa037968bcdaa8fb25f13a6e4ca7a4f36bc970302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023008f494be97d1eb4a22cca4e91472025ada618100792ac2bd3ab87b5b64cd0388bf37c12159ad1c85996b521ab073a30b023100e83735065882d68a2c785ec07088c40237a221b18d034120da21dbda3f4a57a85046ff3fba09ee246be50c752e79f8180302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310089e677826acf125008413c9700bd0d169b676ee0becaacd99c3044d2b7caaa4778ac6b5879af0a076c3be669a73b580f023021c1eeb8ca9b1ae2bba9de7f25bfac327b6d556e1f12faba7567f3a39985aa1a30bc795ed3735ad7c934ebbe5c5b8bb90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006730650230127c4b7cc7bc0d21902c436995c1849ad68695c1f7266b851d50c80b3ba7c5fe8a67f68d603928e7620645f12fda999a0231008f2c2d49f42b424febf22ce4b0b3fede996831ed5776822b5324418ae2836f460f85da6f695037eae2b5009bdd6ef68a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307d2bd558ac7252c5f8a557dcd8e34f61a5ecb14177e81955b53c4619a808da622be7acfd77eba74797d071a8a9be100002310091e5f2bbde2e1bda3181ff3ceff9d6d46ac54bf5073dc3d56b6f068336e685f0786c664bea9bffa5d92f42e9fd2e0f340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100adda049bef852c325264afd02c6b734c1c3c57abd57a64d7b1424049de277e9ea493c73381be7842047640332f207256023100f5eebb8236f913f34c44400c295565084c2743887e226f9a4d82b81468062e93c6432b3e97de5477cec3cd0efa6877a30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230265a6187453430b29f012ebd3754c89a2be2b2c3bcdc4518e861b12db2941872703fbdce41f3b5d17a1438c929e7de1a023061dc824b229dc5899db624fde8824c04652b182979a5132ce7537dfa98c4c4c5d7256249036911d90485775adb172a900302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100aa17c3dd8d25e9807e1b8cb9d08c47c4fe4ba4a343a1160df07021ad52007032f1b971aa69d133e7906db6b7ccba94b0023100eb7132ced2613d4ee20eae252aee549526a3b2ea078676ab801f5e5214857225e62c4d899e68ec71814c74a4da4b1d780302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d234dcfd665616ca09f771609567c531633ded2b5c3b9dd22b3a731cde2a9466d03bc90a81fc938a19e86d714f61ae75023100b76ce24c912bd61db0bf2a6e23ecef6f1a04b7a09ac53317099a5f4b8ef21e12b2b416ab1ac9eb65094db3d1b0a184920302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230539e785d218ec949e1c83a409850e906ffe317022892bcb520dc5a2702b249baf9ebf09dd22db008ad07a61808b5f5be023002ddbc44e276d7923349557923ccb53adf8f08e6dd376acb26d7f1520be0b6ee19aab820db88e199a690bc67e2c6f53f0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402305dec115dbc6a6e45b62661162f3964229f2c789f85e13d6bdd85899572025cfc39229ea7955a041099001459fe10478d02300fc52c7be539720bafed9e1fa5f3c7feb69270e18659ae397031989be7e18818d7ee71cddfa17797c5bcf34dcf3eef0a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023067272bcf3324c10b7e449d15f9cd3adf81882b15ed02fa6692146c4ccc017db21639f668728650915f158733c13ed6e402304fd5d41692ed447ba3f0b65af8a085003e11d9010462c7fb256bb8400a31cdb7eb44d4a37f6f478220c5ca2fdd7afe520302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100f4781d8f19d3360bb6d1bc9c5871a61dd99fa4d06265f6f8ac8e1f784b5830386983f5685fed9b2f02c66d625a0f322202310086b286a5fe66327068f5329873ba86edfe78693b510eca92a03b5fe2e5e76cd3cc80ea1ba45671fae6a372a688e857d90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b4b22fde54cdce94a91bc17c8dd831c4d86817d9848b608faea769eec1e0b76f946c329e784adca513a45bd7078f05af023067bd47f1232ce760c458c7ef9384bfc46ff50f710331ab3798e3c4c334657b75ab5c6803960a5419f1069df8d5ef2f100302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310092e79522377cfb993acbc82454194893b14c11172090e1f0d9ea6d17ac788f855e9a63c3c1b001451792a07fc102db6e023008ea8c07d2d8eefe9ff6a418a11c7aa6aeeb3c084fe849cf64fd3aace56fdc25bbd1334cb5eecc434efe9745ab20d1ce0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502307a925e8a6824d43d25d6b3fd93baf39ca51d8c860ba087c54b04e5d6456d1a8a291703505150bc822f32c7504404b00f0231009939d7f54facf65abf2c7ffaa1d51865fed7ebc2731123dad8aa89b18f42f5482dc0e10105d52408d2035de51a72131b0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402304d173602d9bbfd94e2863f2546ea3637d40e1322584d8d56d073202d3f5204491fb8b1153b4c6c025450b4f1887d7a7102307dfc51ac2c79859fd26d7af46c67a91375f0df352d6d89566c528637b21e70149021eb94c72e6b84d1db79cf1aaa54810302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100cb92a84fa77d87f976792394c9af04fcdd5e2f8f43e23274faabecd4702566a8e4f2f23ff3d63895b508397a5ce38ca0023100d9b5c2dd17b5494f3202144f2bb91eaccd248234c3c7e26d451ff93fc035221e82277b8f70f8ff0721924549aa7923120302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023007726de979290c188e7de4c2bfd595339f130d67b524ee4ce8cb5bcc21000ac3dff79b684bf15a269137aab56b2891ea023100832a7668f8a65af2ce9ed30495c6c8d6811104d1a00a1b826a788cb686310ee1d2ef666490e04d8f88a5684f1b0091930302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402307546e0f22acc107150a60f26623c5bb8748b279e3098140c5722fb650c8a4c8e2b82f4fd4766a4206b88071dc4a0aed3023030b96ff1e91d0d8dd14dba0c8508d77e13dbc7c66389837eaed907b7e6fc4c2818250ad3a38d61e8d084805b16715dd50302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100d8e1bd4c7d7c4ed1b50f2a63d62e9e2624bf2223216dfc8e753d29050a63a8c45571e74b7807b2b0a3ef9df2e407aae5023100eaad557cfc17cd0345554399ce2382c5128ee4b1600e0f58c6af5482b89f7cae36b6960a709b5f7b72a9eaf88108e5fa0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100ac60af3700ecf77e59a9f3c7f0238c8ee3670f798b30bc46aa7499f64b446a7cee7a7b26c631a6c4efc460fb9320d9f7023066801fba91dcf728b97ec94bd0d31f593158e54325d66531864db31723180d9dfae7bc604a6ba0a92e6faec75b8d4daf0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502310093912341d4948c7c5c8b9d5e28de5343bfb7a19af890ac7b4e41da109cf9a3d6fa09ff17c7f5967a7bba293d09e4e42602306a130289008fddc27a1407bae488b08aa9e00a1e43cb9f278ef42b1125f0baf958219034b22edadbc9e88acd2ae7ee740302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008fd3c6a9f93e05c41cd9e2c9c88c22b7d2f6a442488638e9e72314a955ec16a68f06da95daa4907e56f72720152a67d3023100d868d1cc435e04b0fb0726d24df2632d670b9bbc6fbd3a9e7f6fc9b0dfc8ccdb1ab241b8f8055ac721dbfb0b95cd8e290302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023050a8e1276f353da237ee78bc5206acebcfe3bb26e72dd54b1abd671cf8aec78919dab21fbd7f494e675819165dba6952023011fee2746fe195239148e3a5efa299115b986cd5c25cd7e28fea1e694f9dec48505b2819bfd68b688da13f2c6c382e1e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100c3953c8477dfc12a763da6ee19d9ace83545fe5f10ff888b023aa4b6068cb3632ff944cc16db2e0d3419fb15a3f158d2023061b0c22ef02f1be7e9111d965301b001a4461b4f20d407deb732c71951d7f1007510b777bae4be4c5a91fc5b373d3d690302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100ea85a9350500d316ca3d995f2f841746127d465aeeba636148a22e0bb6fc798ba99bb5ce6d02ecf18cc66c6f766e78ef0231008a3d39fe5f6cf7771a68fd9f8e608e96c7c9d0be71ef334cc84b5f7fcf7ef044e31518c1609403b286806851d512e5190302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301bb232a2a412459cee72f8bf97a02db5f0f8c83959dc728e2dce3eef4dd8b65a7356ef61a67958a0befbda6d53ee5f3802300b43aa397dcf789a866f55dff0f3cdba485f9c45827186b53e315c9e30b00b4f575a74927fb4af492a0e0c33861003ab0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023051146361e0ac1e5a73df4264797dee7d458f25981c87071b319332bae64b5606ae956ea3559ae688a9a755a7fe0c86d3023100f6aded7dc65d5fe6cd23b0e995beffc3d462c74d56972242acf382b197e48008469df03c808576bace7e212054af52310302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006630640230647cf2de9f8c8846ef44dfb7eda1d1b552aa8b11e33e7b216927494b3e3ca33beab39f892afe7ed0ac9cab70b207bafb0230321eca837a21c725e128a825b9a410833b9030fa0e445c40a0540c9c9664d0bcfc42bb3d0a49a2b8c4249286e5245c850302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100b36f40a033b1016e7d7368bbc79f9a16670343d34606e177083412cf888c09fc2c1821dae73e01fb8960e1be834de9c502303b66b9eea93a5d42f5f38baf36820ff5160c9ae86934453643c1b4a034348a1d213106f0f48db6b34aadd4f5778b22450302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb5006830660231008436b53bcdce3f76ec1590e46f004dead265a9fb1a12cd5477bf2715b98c37a129fa33aef29d9050ec863dc20b61800b023100d8ad30bf1c41b94c39f7284ae999e7892ff714d28a5f43492a47acadd7b490f83a5fb819af4b4642d86570503a1337340302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100f9d18748426a874f27f83c93c3ff57f9d9a85a5d637919c0924c19e55a4599f7337b27be43a8be38b531453812b02eb7023037fe671131aee026f8771d36eca836095e1b95b8f193f643dccb8f38f65506402767ad43ab9129c2619801ccc155ff1d0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023050afe59ae97183429f32d7e9bac6653d522af80ab542c58fddc640d320d3970c5c4dbdae30ff772feb4e6fd9ff5f83b9023100b598a11af3f5578d3dd0d4998f89a428ec1075e7805763d20206d5dc2386073ea40a0eb2c87a44241ef634b5873b3ed40302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301085000302c43a4bc94afea9968f32a6818fb18a9b75ad8a9208614d8fb165f4a373fef9a99b7fd26938bebd88ebd8c3023077368ed88b8fa6ac85054e08d438f9454d03cceb1f44aab4ae0615845b2360befea3c4544acc7c09dfb7eb8e79ce404a0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500683066023100882d5fdda1e12892ff9e61e1bcab808b7f8ae26faddbef9e171808220ff82af612e8da829fe94780ae760145c947f844023100cf36c07ca7763d02f726e9102731e031715fb71dae80ac6342285010d6b47352055630e840ec7cfb162159f1fe3938f30302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50066306402301b535b87bf4a7f74bee4b69c44664433c7962d56becdeacc02521e1b3ed88efa1f86529baed45076109ecf178c4b936e02304b49093c8902531c28f8fa3ccf40543273934483b53fd6599abaa821160e598f47a78e80903e68a77da38c872238d5b80302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023072790de49b4e3e242e81adce30453b1741bf902fc8935981defe5d65b018d59bd2450a65d6128c609252b0bcc88271e0023100c1345be8a517dc71af9f5117514f9c7c22eeacc88fc5125f7cb22131d3f48a1ad9fc372dd143019687f47ea278bf1ff70302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500663064023023dd3d0be5eaaa5b3866f74d62f4c88c693b63e0a3cbafb4dd9392a4beddd896b2c0a8b44522c666c17ab69ff162c7d502301993fc27f729e8d4e03f62c206f2488a7266f227e5dab1933dbf68bab919f2ef5ec77ea21fad1b5e8fdbe648461466b90302047c435bb50066306402306c173c969871e5568f8d0d6d7f9ebfb64e16464a12b208e449afc982ce8da1e4b4a0350d4823c494c4356fcd67bc05b5023066f546d4729038bbe3650fe573fb40c8db50c277468f2c3509468e3699a137eeb6955a8ee741ccf076a9da200468edff0302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100e74c5d9c333def9e221b73d98bfdc167db049477a34c784acdef664fcb49b7b372c7df6907ecd1901ac22fee2ff342dc02300f526b3089a5fb3fc7873c1d4b64dd329e32b4bb4cc56cdb432cb427ac189098d4758a30670a22cdda248f3191c6e2e90302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb500673065023100df6bc440f5cee757c1afa1bd3f490faf1223a3b43f1b3bd32feea92c1e98374def05861a7c4ed27d27d462dc9ebf67d10230778096fc60ba57e54228f4bb522f6f100c3ffc52fd1f87165db689ce5be2f6c4ec2f822003c6c0f91e34f3dd0662d5aa0302047c435bb5006630640230568b4b70301a17e7be63d22d7bf63a85a72e42f701e5a35aa5d4d7383ce34f70046224a11753b2c48f8e87fc1fb533170230188b868abc46caaa3d7b7826efdd8c75a61febbce72062a28dbce3a8a3593e8efa4c8d8e25a65516a9ae5b3820a106420302047c435bb50067306502306bab932872a984de7cac7de47a5335bbb5d433bcb1f9f4ceb5fa8b60597e7319c024fa8dfea1e6d995060101b4379c8b023100d4a882e089e7114769736d922f1eec5fc503ead7a1523c5ab0337c6b8b58d3c0f9ad6c7774c2d4ec022a895c6ee2d07e0302047c435bb50067306502306c2032080e3f0152921ae86b033963357620e47dc2def05c3612c98697eacd4743ad08b2208e0de7876bc57cafe15372023100b3544d9c057156e4ed2a4bb264c1cd5c50ffa04cb3008c46757b7608c6ed78a19ab68a707d5addc6e7aded116e5e9a110302047c435bb500673065023100c9c055fccc389a89a16274a4665b101c3bcc1d4978d337f6b9266f7bd58fec20d262b9f41c0707f919a73b3290e0dcd20230171dd1e5864698233693521220059717bc13201918bc1b36cd35dd69c0fad09e17615332149ca9f1a0343f67314ab4020302047c435bb500673065023100c7ab07ddd6dbc4f12c90c2608f75a47b651ff8dc6dabace831a4b4235fb05809abe9f36da318445bf423152db4e89b070230748e10b51ac1f388807ca44a90ec9f15143b13a96e08378932bab397ad0a46d073429c3db572055b926bef9ebeefb2a50302047c435bb500683066023100b00f5d6c9b38ac49719998102c107d22b3b072023ba6ca17971bf3949ca508cb70fdea7caa761b2a896c0faf949ef6e40231008966bcc3b036705059d40f1f04ac516f26b67e32aa3487c751d6734378337570c5a9fe8790240bf7f88b3f39a5eeb9c3ykde(# U]MgYEӗX7gH˂FL&u's,nwD­B$80[齬LHK-'[7(:xdB m' z4Ft_JүJ6wyX`25!*|"!ߣp˲MuU e0k˟|_M6EJObPj҂ּۏYtiWŢ b6ZAFB( pvS)=tE*_H~K#iѼGf6k}& 1Sl1f}@m*,eܔ0ɮ XW CP w"͗;^VVkWA`vH>A '\LYVÈV1]y|ƝJ * r,]ܔ"q6aehПH@ EJ:]뷱4fPa[g~wE2lJaŷE8X뫌a >p>H?Hd ) mC VpN>$N N yN N 3N NN+N3^3NnoTotp(p$8p,[9y[:[>)cG)lNHdNI$NXY\tN]*N^bſd_edfgljtNuNv7<*HHHPHXHpHvHCkernel-rt-devel4.18.0517.rt7.306.el8Development package for building kernel modules to match the kernelThis package provides kernel headers and makefiles sufficient to build modules against the kernel package.e&x86-04.stream.rdu2.redhat.comM#/CentOSCentOSGPLv2 and Redistributable, no modification permittedbuilder@centos.orgSystem Environment/Kernelhttp://www.kernel.org/linuxx86_64if [ -f /etc/sysconfig/kernel ] then . /etc/sysconfig/kernel || exit $? fi if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] then (cd /usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64 && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.el8.*/$f $f done) figXM ChBUcn<y92%# (j4 8!Lxj w 3pM/& pWXb=}7tf ,TZU6GL U<; 9 PWTTL`9 lT50C> C v> i3w(+YW&rR9A9 ZqU4 +#+ NQ}yB tou&TE6gvDFMZB/ DZ Mh/<)zTX +w\8N$ixV B 6 YDHL\g8g6 4$,l 4:]<e M% _^XRJaCx 11xXWU3^5KxVPVVcX e7\s>FNBa|}S > 92WM_o#3sXj3{j_w:Xe cqknH~ "ER|3.u@@dzK~;yb ap{ m8?6]]R<<q yK< aX=cZ y jz'^}$m kjr&.<KJ Y7 R 6#|t5 M[%+TJ=K =qk  815-xn#,Gj]nk C hccso$G+gT E d )2bcNZ_|qEXLUmaaa"af; l9G&b&[$!a h;r 6[pi #FQ;" ;i3leS=14j QiCJ<^n?u$|f?<i.,l 9E-- #- ) [E2 Byd. ( /B$y,>  S/ DH  &c,  90}%x\}7Y  zJ K@P99Px MQJ : /D.` 9 1 A  :_u F^U!6 . / $ ;v'Q0 5k,<2 h % A` X: O+D^hk c"C WI2 B B cXo^# &t _ F+qM1, # Iw ;p` ;.9P Bqd4 ( 8$KK1OLE $ $R 9IY l f]Udx h{C $,E<C4 9%T#) 9('#&' 3( +{$d@#jARK  <E e-i{aEj^" & ! ;%L"!E =/x[X[52u,5'%`%T'%<!gqYws h42 *C Im9>/#Lk}Y&nCC (aR9M %SFe5l B.IXo$8[? %UZ+I 7B3 Gr3VW;2 fKvaMH6q:O "2? ,.z:i1yYtX/; aXh-[A?tA8d6?qXk`%}!(\%m jA[65d<\pL/kg= ']'6 eE6>PN AP{ a\AKGOTt:K ~2 fD*`OJLi' Ac%z*bpX.!x,b7F G  ~ \r*tVf=l   v fVt\"uQ 8&F!b[^]xk WiW\uk0J?&imcB S F  ag \ W"}Q|gt(I  1a\Z"*hRlm>'YJf e  Y#tUUKwxq  0or=xh, [ -Fn ~ o  b|H*'b4s/ 2(M-5=%{y kGpR %u N=(kx,RYb2(ZV wR{UoS hT-S LX~ gcex21 $ i5TC yv)*p Piv ~1 9;H[J5& : M /H3_<GSB8 _4^f0sqtVihO3YTcU< G1 24L;Qu'B- c4q*#!AR^ ^p;+pVcI TtZ% Rk ew-pF? b^QF^ /a2x\R>}j9:Op ' #"Z  05 W*b7/X,/Z)[KU?=[]%PfSG`Z"V$oN.ayIL &~!Etf[$'AQ)ymK6Jpm  w rl.  U6[q UE zk`c"YG 5BR?S8a[[ ~vXsntTIh; )we`WTz[4X({czmX_S%i*=Ud;E(4 FSJS=W+ )-k_.FJ|"J=uQNiMy$NX7| AM[$eQo5,)RMPBT]'+.#HD/Epho( # H H U^ 5eh@J\^(nSiiiii0e^8$F\mOzW . ZKcHS@vu[|zN|Y[_h_ `;vX t`' jzYNdXb v59!N\y]k<\R oTL5I&]R#`B5;"w-Gc &9# IO>" z 5B- s`GaOkA]!hzw $DP<6i  S,=]gFz 1KaoN}S$Q7W&&&f2Thf#  h_) 3m:9d!~od7|jQ }oN` ;7:/1-w J cq% Y &Z(xj@-\ 5i La9~~f#^ 'I9p<]O}f@nzSYnkQhLH18 hD{WMhga-/zӫ +jqF D% ! _Z % R6Njo<V0Z PT!  &-ha$d|R% ;<)T39QQ'`b|#]?J@x|M9M<a Rqy)gb-5a[JJa|!{ ,-eA^a%W Ota_ (GG' <\ wcsli>i}-=~D-3/'  2aao]]e8]e3xb^U2 6/o^*;E4)y@|U +QMJ&WgRC 2UZS*E,)a6@vSD8 {E+0=!x3/gE j A?EBg[AVf ^g&GpV+[_UY Sz -QuFt M5 mKew$ADK!\8Vd nOcOBQlH9|4YL|! *_ n0;d ",t#zA;uEz#s~Wyzz ;R ITWp`3y Mb}I9*`}m r;$T6u@  hJdhf3= = v2,{b= q#CAvSYD/-c{?L3IbW XR^s_$GU /S J#57p'$_ +:{XE \ P@ < ")" X 8.N0_^gd%q/Vq^!  o\2V3O L0Yj4NIt =L6>Kp4 6 2/P1Hg I)"./M N| ~ { # j%}j?=f& |'UlN Eo [UA Mi%, {h}4?K!A i'?_ g 1.,=>  P $UM O+O?8,]2  'p)5N&&!6 %)4FOL&x[ WBK  / R&g R$' K.!G] ; 7!Z =2]>T AtX ? cd* {19u \q|#{$:%u M )0* q " o ,%E$ ?q+B Vva &exv ~60! $P2H!~1=%M.$~041!PZ g$N, [?o/c k,#$&@%$NJ"?%t4)85B st c  IRx Hk  . R T!,(4*#mS. M$   ,uf$%[\e*F K' 3h=I ]M "f  4x~  # . .@9g+!gPP<)% :  P 2   J g= 5L   (ar # N { ? * = 1 V  hGM N{)PV?(r?QL^4b    [.0n t^q-"b [ (>6 D_S{ t ".&S'  >   T?(&-P Ol/ 0 (W/4Y/ dX+ e<Ci5Z8bCP 8S X %>Q;*MjGS6 F6 W8: Yte46} DI M#^A"nj'(!H9K+> $:K/.ipN`bE-GLh ,;:#bk m|@ /%$) 1# k+*K6s$ xS@'m*1AWN d:tNS ?nc=.]}^T];fO`  UF23#z + zI0!8 7Aj0 i=hv5 I72\  's)=+%U.lL yP ?  (RA(5H@[itZn& `| + e f .!&2J:`-< Z 42}.@ b?Y f!29~  6Ez1d ;-#feJn-q+$CR7?ea=a+)Q [oa!PjXv8Y[ 8 PM  41~^= < 31[| { "6KS J*3]cW- r C!3 !' _ I/  K %= K&v.m$s }i)3#$Ug.Jn nqTQ 1 Ni|!;5-~ AG `}5dRAm* f&'5V+.7J 1-Cd{!3 /%t ?)cU M2BVF *WS 5 i V9Y! ?11l? ZX< "!}?p +~4 G=1:9 V1@1w/TE 7X0%'HO2_ZcpF( &S< iJ ~" " T1    a z]' N[fM"%H !00lQ 6.'/" Sd3qk*(/ 2s@i&  ?E 17 0'seC N 0[u% m#tJ0  h &+XNcB {( K 2o.#W[ bO3|  0w=1; $)&! M ?5xMmJR8Bt f{*21 K;A)S q љ!6;j0u ?)16G&<[R("  B\9 @ c:uI5 lr# )yLH4(1  MfD  - tѻ4*p& f + 1\4k w c~P*G  X f** mL w { 9B \ O vGa9u<  iMPh>dH+-4 zB dDvK*R\ R +% %G{ (,i l@ J|S!y+v/! E  I w1  w<tV:F NCg# $ "l7-99/|JN7* \KWv("=pN u8K  $ ,1 0TP!S KE!je !2 t \  ;,L?`? @5@%.;7P"h N3-)(YU X%= [ 4 _Ut-n&:2Y d J, 86.7h?u Qa DcI T 0A;jM$C"(08a TGeB!$!WG  K)9F:K1e&=(t, o . B lX2  <dGO c!!"5 Bf_vj]"Nn{"$ 5S Z+ TL:%M+0Cu/kR\$"7ZU f?l8 v<IFS Y b042 Rx , VQx$D R$^<G  Lyd;Wx M c'uvF n"PK ?Xpq  %514aZ "/&Dq< $8 %\*>ao );&_ B8[ j_ +-CSH9(,W{I,"- [EF{ZFh$" 2 OFyA-M@S8D%8L UOB Y,QOR7FS pd> pE5K&_T#-) )d$ J<Y57TK/D & 8d&3 [ n^^ \^8"w @+@  cC CF [a ' Ic)F) %rW+$ duK6=t"|YN <{ 3 0 9 9 x%c#N$C,B;@G*lU$4>2 , H>pp Ž $N\>hZ9 6DA9h(> G5tb !Z& K(F+Nb Gg+t !L:Ks#  5h6JjWgj.|:kt 6Z D/3po?]32>3;[+#c *`@>F"7h` ZN*k& '6bGM) w?2 d7z(@5$ gF%57 ~:M/O;<`k7$%kLN mYV"h rRM l+ p!4 k pN.%@s6 $ 3!O`|,E%  v 97j 1y Y$! 6-6&dV ,R 5x$76+ o"DSWp%A*;97T~%=E:;M-Q 6<;b :?6SN*& *1 Wy ^J jQ y@Z  z']RNU jj Is'\KXa#F"x> 5y(0a1: J (d }fB-;_qX-P*z,?,W $9SB !  WRfPj5JE\I v_D Dw Cyp eSs @a4@2O%$. $ 9&%0ZBLa N0i 3~ 5 4~8p z 4B  Sfe># ]{5}8.Jg<3FE'4 #-%pTY4 o-' 2paD{|0:D4 z4u=+m[=!<#ypF:l9' "  oo ) m1`> v(&-!^   N@2':? xi Pi& _i/ &'$ k.N dG$%M/C[E - )u  d 2M'A.U"&:upB)64u 2eLhK"pH ?OWRy\B̞  4B]! ?^Y[(>#OW:HVIi<x4 z k$rp 'rbD' +A c #;O h w -!;h @(1 \,// 1 (, .$i z!= #*6 S  Z  m/Ys ,a" 9x Z ;1F J G# $# ;  9 Y(Qx#:1 C [-'B:) I,cW/CL/o ` Rp~ H_-1Ea  I>lpen&m .+)^ >W!#T:38g`/K Ya5wr e @n Mj=O2L P.s rel|f  Kqb R /5 U pf E0# @B b/TC  ',;W"$_(ruO:"s4 2GY9 5J@]-, n s"'4![E9n a kY|Hg9+f l-~ ! *xLIT G { h 76q _ }'O o>?75?K< f +hv QU j y6K e1 p p0 k m iS C . ; c %'JxE BB = y w (%4 ju`#Qp-O   r 3-Uq, M?<vAwY  E-)8[" #K^ !F h? V$B5w -*'+ x^ 2PFQ3o O#S4"Ks@)I3 iv HOvX [J ~@W i pnh?im$UN : $r X*7O   - W   lt<!P "5_$ Z# (j R#(e8 ,BrfXPK D& (3t ,"e9Z$@/$< -K4#)e(i1  jC O[ JQA{JY h" cg O62K, i)Df $Xx mg  . >:3 ;. u ol%DD 2 3$R$!R q%6-) : +D HK'0O Ou"q<RRWʜ5&@MI+s bv-\jE ;{*4 65y) t*.4; sqJ.ob^ #M? ` 'C3,*E ! h6c 5 ! h1$a)  QD 83K4^N )KF"(+F @.G!2*Y{ $.] B] w6i4  LYEz: ` Jp+)m$]sfk 6^;}>MAb 0as Io<ez%/Tf/~ e bZ`4  X 0yUv( ITS(Jnt1_!AaQpKRe )$*")y#[8X&<Be)R]",Vt̟"$b39n%v2*sS: *z f`!+ |Ig L/$ ]$2 , 4]8(dA%O7;A-/8 5!{ :s%F $I F ZC O.PH Xdr$(;orV&} MgFs-` _ j*$!"3"M!bU!VI,# h Q3"D  !*.-` aVB^mSBe1BicYW72J/ %!  ypZ ]&;Z 6-%d) u#|NHV(=rdxh&C d*>= e+#G xmU8;S+>x@u/J\6"/O(KNUA- SC A !BM Q! _B`z 3h#( Q DOl}96x=d/4. e_&'=h/]BAIkAA =' =`(d 8*X[&=`5 2.vB c@h "( .wg , I k*< +5k'.s#}6wW[i>/7m%42|1C I]e)u0:L' lrYHE WS>QW^-]Z8t) | Y~z7zYGRDvA 0:y k8;@ <4  %&Q%)pLh1U^r'mz-ap=gH^o}mW | u!% G~y$ wt [>Kp( YG0HI0H0 X)Y)T ]r"Q)lAHhpS2T!S|<J_P&wd  zW}Ed8a er<VeV WX;@$6SJB$0">)A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AAA큤AA큤A큤AA큤AAA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤AAA큤A큤A큤AA큤A큤AA큤A큤AAA큤A큤A큤AA큤A큤AAA큤A큤AAA큤AAA큤A큤AAA큤AA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤A큤AAAA큤AAA큤AA큤A큤AA큤AA큤AAA큤A큤AAA큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤AAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AAA큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤AAAA큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AA큤AAA큤AA큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤AA큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤AA큤AA큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤AA큤AAAA큤A큤AAAA큤A큤AA큤AAA큤A큤A큤AA큤AA큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤AA큤AA큤AA큤AAAA큤AA큤A큤A큤A큤A큤AA큤AAA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAAA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AAA큤A큤A큤A큤A큤A큤AA큤A큤A큤AAA큤A큤A큤A큤A큤AA큤AAA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤AAA큤A큤AA큤AA큤AA큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤A큤A큤AAA큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AAA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤AAA큤A큤AAA큤A큤A큤A큤AA큤A큤AAAA큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤AA큤AA큤A큤AA큤A큤AA큤A큤A큤AA큤AA큤A큤AAA큤AA큤A큤A큤A큤A큤AA큤AAA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AAA큤AAA큤AA큤A큤A큤A큤A큤AA큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AAA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤AA큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤AAAA큤A큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤큤큤AAAA큤A큤A큤A큤A큤A큤A큤A큤큤A큤큤큤AA큤큤큤A큤A큤A큤A큤큤큤큤A큤큤큤A큤큤큤큤큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤큤큤A큤큤큤큤A큤A큤큤A큤큤큤큤큤큤큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤e&Ce&:e&:e&:e&:e&:e&:e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&:e&)e&:e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&:e&:e&:e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&:e&:e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&*e&:e&:e&:e&:e&:e&:e&*e&:e&)e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&*e&:e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&De&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&De&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&*e&:e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&*e&:e&:e&:e&:e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&*e&*e&:e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&:e&:e&)e&:e&:e&:e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&)e&:e&:e&)e&:e&:e&:e&:e&)e&:e&:e&)e&)e&:e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&:e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&)e&:e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&*e&:e&:e&*e&:e&:e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&)e&:e&:e&)e&)e&:e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&)e&:e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&)e&:e&*e&:e&*e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&*e&:e&*e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&*e&:e&:e&)e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&)e&:e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&)e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&)e&:e&:e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&*e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&e&e&:e&e&e&:e&e&:e&:e&e&e&:e&e&e&e&:e&e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&e&e&:e&:e&e&:e&e&:e&:e&e&e&:e&:e&e&:e&e&e&:e&e&:e&e&e&e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&e&e&e&:e&e&:e&:e&e&e&e&:e&e&e&e&:e&e&:e&:e&e&e&e&:e&:e&:e&e&e&:e&:e&:e&e&:e&e&e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&e&e&e&:e&e&:e&e&e&e&e&:e&e&e&e&:e&e&e&:e&e&:e&e&e&:e&e&e&:e&e&e&e&:e&e&:e&e&e&e&:e&:e&e&:e&e&:e&e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&e&:e&e&e&e&:e&:e&e&:e&e&e&e&:e&e&e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&e&:e&e&:e&e&e&:e&:e&e&:e&e&:e&:e&e&e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&e&e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&e&:e&:e&e&e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&e&e&:e&:e&e&e&:e&:e&e&:e&e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&e&e&:e&:e&:e&e&e&:e&:e&e&:e&:e&e&e&e&e&:e&:e&e&:e&:e&e&e&:e&e&e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&e&e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&e&e&:e&e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&e&:e&e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&e&e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&:e&e&e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&e&:e&:e&:e&e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&e&:e&e&e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&e&e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&e&e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&e&:e&e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&e&:e&:e&e&:e&e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&e&e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&e&:e&:e&e&:e&e&:e&e&:e&:e&e&e&:e&e&e&:e&e&:e&e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&:e&e&e&e&:e&:e&e&e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&e&e&:e&e&:e&e&:e&e&e&:e&:e&e&e&:e&:e&e&:e&e&:e&e&e&:e&e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&:e&e&:e&e&:e&e&e&:e&e&e&:e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&e&e&:e&e&e&e&e&:e&e&:e&e&e&e&e&:e&e&:e&:e&e&e&:e&e&e&e&:e&e&:e&:e&e&:e&:e&e&e&:e&e&e&:e&e&e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&e&:e&e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&e&:e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&:e&:e&e&:e&e&e&:e&e&:e&e&e&e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&e&:e&e&e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&e&e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&e&e&:e&e&:e&e&:e&:e&:e&e&e&:e&:e&:e&e&e&:e&:e&e&e&:e&e&e&e&e&:e&:e&e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&e&:e&:e&:e&e&e&e&:e&:e&e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&e&e&:e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&e&e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&:e&e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&e&:e&e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&e&e&:e&:e&e&e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&e&e&:e&e&:e&e&e&e&e&:e&e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&e&:e&:e&e&e&:e&:e&:e&:e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&e&:e&e&e&:e&:e&:e&e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&e&e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&e&:e&e&:e&:e&:e&e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&e&e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&e&e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&:e&e&e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&e&:e&:e&:e&e&e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&e&:e&e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&e&:e&e&e&e&:e&e&e&e&:e&:e&e&:e&:e&e&e&:e&:e&:e&e&e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&e&e&:e&:e&e&e&e&:e&e&:e&e&:e&:e&e&e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&e&:e&e&e&:e&e&:e&:e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&e&e&e&:e&e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&:e&e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&e&e&e&:e&:e&e&:e&e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&:e&e&e&e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&e&e&:e&e&e&:e&e&:e&e&e&:e&e&e&:e&e&:e&e&e&:e&e&:e&e&e&:e&e&:e&e&:e&e&e&:e&e&e&:e&:e&e&:e&e&e&e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&e&e&e&:e&e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&e&e&:e&e&:e&:e&e&e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&:e&e&e&e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&e&:e&e&:e&e&e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&e&e&:e&e&e&e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&e&e&e&:e&e&:e&e&:e&:e&e&:e&:e&e&e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&e&:e&e&e&:e&:e&:e&e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&e&e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&e&e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&e&:e&:e&:e&e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&e&e&:e&:e&e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&e&:e&e&:e&e&e&:e&:e&e&e&:e&:e&e&e&:e&e&:e&e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&e&e&:e&:e&:e&e&:e&e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&e&e&:e&:e&e&:e&e&e&e&e&:e&e&:e&:e&:e&e&:e&e&e&:e&e&:e&:e&:e&e&e&:e&e&:e&:e&e&:e&e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&+e&:e&:e&:e&:e&:e&e&+e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&e&:e&:e&e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&:e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&)e&:e&:e&:e&:e&:e&:e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&*e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&:e&*e&*e&:e&:e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&*e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&e&e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&e&:e&:e&:e&*e&:e&:e&e&:e&e&:e&:e&:e&e&:e&:e&e&:e&:e&:e&:e&:e&e&:e&e&:e&:e&:e&:e&:e&:e&:e&:e&:e&:e&e&:e&:e&:e&:e&)e&:e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&*e&:e&:e&*e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&)e&:e&)e&)e&:e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&:e&)e&:e&:e&*e&:e&)e&:e&)e&)e&)e&:e&)e&:e&)e&)e&:e&:e&)e&:e&)e&:e&)e&:e&:e&:e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&*e&*e&:e&:e&)e&:e&)e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&)e&:e&:e&)e&:e&)e&)e&:e&:e&)e&:e&e&:e&e&)e&:e&)e&:e&)e&)e&:e&:e&:e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&)e&:e&)e&)e&:e&:e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&)e&:e&)e&:e&)e&)e&)e&:e&)e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&)e&:e&:e&)e&:e&)e&:e&:e&)e&:e&:e&Ce&:e3a06dee24810cc8832580da17f5781cffeb1b9dc8afb984538fd085d31419dc43aeea3120e4f6a7f729af20f13c584a79d9c7df4eb14b2ca01854624d20f5fa440327ef5d61924ff03b7680bea8fe805fc4420ce5e103deaf56db9a9601079d72a880b9007473a054bcf2f21db4b69784444439a24fb54057830058291caed79ede3177df6496ff60c4b26a7caf4274e89a03d56e2101d6f202d604863956fa4874d3c0e0389d6e02b6c9e3217b008cc61e0e4a886312a6818ce047e445f75ca0ea7bbe2ab0cc7aa83786eb89ce06bdca36047f01450df5c67fe262eca2f1d161d7f202d0948b1913a86b3590358a83f2b9d0be5732bc5e558a4c9ebaa928fe0a876bf3835fe06ed1dba1e8de3aa12fe18ea0d6ae505090357985cb29230933516f885d0b46bad87679dc9b36905731d6834d728f306848947033175dc228cf2319519ccb40a770088dd9fff78496466e7b3814766ba6f901037d098f8c1ccc20baa302107fe87d46fb7401d91aacdab82e2491c7c8613b0c95031da4e84471df89619cb26525622db08b81f27e7275f1c1dd64e57174c06e7bd79febdd6aec31592a0294c9e276b3d65987f470eaaa2dc024c33977f409a6026185bed4f55b571c2738b88cc09f74b4b84ff494f71bb93b3df25675a48178dfa7ce98244c6024dfbb4f382a643d538fda5df16cd9639085cd64f5877f63e4ef41c9a4c3b7b1392226f3c8f9b858f0cb601c14e0dc88a73e24caa743776fa424aeeb27bc37402e7ec7972924a4ecb50dbb7469221d706b958c2f2318dfe3d4adf23c6da0f2251ca2ac85309fe8a4bcfa4a53896c9eed83fe15e44638a9fd8c2d3c64de92bd5fb773d87e25758e5a2622e2fc0890c2ef7ed4ad61ee8c6524bf9e51fcda7ddafd6c4457adc2cbfb72505ffb25318a4507900b186542bbc07c8b2cdda872829d48a3c9737252cac2c3d060376051bd400edbfa60ba7ce9df19101937ecd26d11cbc0b8ba07e762b5c8653db0e025e5588b1b1c57d4473d4926dde2a151c147968ba5d0d31912cd6ed3f7ae6acee3066a462fde5d1142b8a16ea0b59510c3d9137f5afafc70fe18ceb5f7c8ae27de7088029263c037548ed3e920d61995c6c033915edb772d77604f69b09f9478711f2b058d925bf859200a3eb539894de28ce6ce536b6ef4881d480596d4a60bf3e28c53d0535c1b8a92aec6f1035569e8d5d99533bea624614503b1765259766e469cf6c5e53296d8d45f3bde15d579000aa27234c69e7dcce7ece7b2f76a0683969d5f19ebc4b6f52cca5bb792126483b3b8b75e27417e08e9473eced1c817088495033ff5afce8d9852229d398a081a4baa52cc7c6faec669260c6b454edf07c7ab2c7d9f020505323dcb34c975b96f5833e2353fb9e7776c9fcc028ab726c753aaaf95af857c9ea520784a1c863cd2c04be93d5b3b7a7e72c2b71ce79f44d8698d0392141704a8d40220b1dc14cbb8afc4c5fc8b24f119802bc77ba324e5e287d6d8056192e5272aac5c3cf236d563b9bfd5414a249f99b06d79604cc514de3981f988464c6a856402fa2b6869fbb4a37803f595d70fe2e7583ae1226ccb345db07a5a68cabecc7088d65d1bea25b3d75e7cf1ee8a70ec6f0698cc54b613f13a5b7dee8d5a8185fe2e847b626a96047bd046b1bf05714a925ff4e91a279e30cf4c855898d599c316f557bf7eaf8834e40bcae517059524ef2b4a1c05f86d32dee7c51b6c407532a77a61e6e6a9ac8d9ae9a71c183955a31a181ae2f3661446e7cf0d3c5d121b9e17fc2d4ba5049549331a94a5cdb297c4e17f08e8fb39f3869602d91d6ba45c56f0d6266846d7d73649e4f90b9bb55ea9055cb7fb989a27fbf11870934740228a94633042b9debf4d116cb93daa31b9e9804a50dc36b5d1b9a98d1afc924ef79089514bb9419a40ddbf9e59f91dc0bb81af273017a3ba6c59c894c17829b95edc22f0d5af05d2d5923f6b4ddfc7a97a56d5c2b52289c123b7fb629a993aba08362063e884fad36cca56625fb735388e8f242ecb3efa6b5e3457999e16499191985106db2ba5ed0607edadc1dc3ca059d67394db68a931c6b373598bdc9293fc55440f0ca9aa37f793f9652cc9cdb4a78abca35e1c2a5aba26d472dd5df12dd0ca97dc87df98e81e0cf070489f7683a8fc4af41d9ba7d0fd7fee699b1b1f5b287a4f0b46441e38bbc276584a543a5870f22c21bffa0ac6a23664905c3427f777c49a6a0ce66f8c8e94d64062a0c9d9b959c59560cfa011c6b031e4247f05e473bd1d421ef2ac855a7758d50e315177e68bcea86b2d2394fcf98b899afaa3614af301ca85900bd5e94921a0c32da3ab29d1f9aa277c91fc76f4a7075a6258d40d13e2e1fbefe346394ded3fca8cc2ae7eed4e0ab7c8a9965f6996fca2827a01426483e6bfb5910e695a97dcaab71b04facd18ecd60cc0e749c91db7638b5a841eb65b95336d4b0d2d34217b18147e344e6b1ffc7abc35e99fb24de9dbe2e734bb3086ff14bf0ee87813d92b32f982f893c09c86066854e5a39398576db00c2eaf8da38150c8b1008664c4e7362396af63ed0fee3633e2131bbc1bd9b1ed865fd62fa5c279edf8c7a8c4548b39a28a54a9992210ff570c5e3fefae68e089ae0ccd207d5203503f9d132d56ebd60aa6fc89bcbcbe529b292d59da0514367c2fa7410b7852108846ae3386b317a38ed57b1afae8fe80e1a6eab67b7a27ffde519956a732160aa3f96e43d5da9db72c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b091b6160357012089ff9d49d4e5b65c6481e030e3e44a7aa9fa2137db8c923cfd0e401af1daeb836ff1832b140f73842686c83a36541351db6db77f36b1d451cd52dd61eaeea7b8c4d953b52eac27c0b16ed7d18ff1ab1f0e9e0cb0c531b4a667f8753506a3a7ffe6910c4a9458fac0732336224d3a768e12c61752dd751870480295e6cbdf822209e231a9a9dcc330e1f3f9d31a85ba6ea1778a617e51c382bfd34699a2efc86726c058135bb47780c596e4bba2e7e36150cdf5c3c8f44ad58a2fb702168a0fa3b30211e339f672d83ecb8ed6ac170d7fdb892ce24b7ae0e6be8819850f8e3086ea13cc411c4292e2372c6c4d78153be10d4b49a3a6d54817aa7db17cba4c54f2c4ac6f0cedfd66a5efb0eb9aa936159352d58c66509cfaa4ec479d2bde838a70ad275f3cba7362a07bb342542ebb197b9a7cb91612d8fed369e773434837d1072f36511cf3169d149b1a56685ba0928c79fc19aa1369af071edcc1e42d288676dbb9a76c2091382d941d81a4390534173a01bab15a3b20a7a74b1c495fa94ceea35a1c22cb817e1648b3cb23cd5a43ce3fe4dbfa482fd1801f89897f6c0721944ab6d15cc810f26e03062cd35dbaf8e66208676e5ef7140dfcb53ba35a66d328915d012af2186ca2970283f9eab6d0058db4227b20260b681288ac87dd7fc264ddbba75cc8b907a68d3903faeb73f0c6285ae2714ca501a5a9338009203d0a85ede5cc2dbfe62e7170dcc7bb41c158140f0f8bc49bc30c85657a6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cf5f61ead437cf74b68e2824fd1546847b4980a12f41086c8383533c3b820a12db422a78aeef7982157b3673603ec0ca9fee565867fbe916936d001e157d297a9dd3c33355e54fa815fed023ff1e795de6e5bcd7cc01554a557a1c7aeae31b4a732c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09581e2ffce95d8e6d4d63f0c2bdf8ed670285d75852c56e6e5640bbcb4dc21e97d8f655df6468490d2fbd7c4c35832d36afa6d53523acdabe7703787b5b14f3a2001c45c6d08eb13141915e9f74d533b6ba68193ed998c6c35cba2443593b3fef881ba17e679f9bc0778508ae05304a2d9781a4065d02fcf30131045c61fa46066b573674703a97a2f3a2253bcf0e6157e08111f4c4f8110ab6987d918eb2dfcab649198bc7b084b6cf39d0ee1fbf9e7b6b32c80cf962bf4c02e6978d3dae99686ebe0eeb6da7ba61ce85fdc4e1c06d175bd2eac225d98f84cac909f15f3b947701a6b64719c1ac7795e29366d0d96bba4b873f936c2ebd7ea55ad3ebb80242af71b96e77ccabc19c609772c574c0505ad472c304776fb62d0c053def0d5a9c31e7fbf48ff91eaa348395b22d842f570cf2e65a3d2c1f23e1a4ade7b4897593063139819a78a2fded30dc26f27c9473aa0b190dab7d0ebcf4d07c8119d18b3b4e3a42ed1cd4ba7ecaee5208d419db9344311079fc4ce88ee02a582b1ee3ee0aaa27ca9bb2d0621b7929156064307b02efb0960ca3d503a534463180e355997d189e801c53cb769d73bd2204e36c4515a693312238f7a87f9111dbe3446ab73d9bd3de558f03b0dc75985154377932f556e0e3e521b4145431f84888c8ff1e487a58adfd4746975d39f40d3cf61ca576be689b68b057fa60ddb116a7484e6427c3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551248c3d28ce2b064dbc323a20fc7db527dd233e6598ed8b9d205aadf12cbf34e867a98ee769795a7c30f3acea9fa4bda3b846bcfacc461c3b0075c7cf548671cbfd0bb41c01004857246a003071747353b9c3c3ff4e59959980944f82e9da4e116f44af2fc552f49ba861e27e2f6aff9a7188098a3262dc1b34f031016a57713e606092c52e52d561e42d22661ab41ebaf1a23bf9f52059f6d52fe9827e0f6522489c5e00f9b2ca77a29bd8a07df20768160b06d3c501fa520ae2350db83abbc246c101ad69232414ab4567eb4c7fac81dbea0aa19f40c5b13999ae43519e9d457fff263f1e0f8856c379e63b0d34f3b45a6baa36a250ada6590961f48d77def3951f9f20027111aadd7d5258e57d2764e72a513612b73b29f8d1b43148548aedea9a36526ce61165286190d31ec5cd9dffdba092f902589bd0895c7402277b35bc9d5a2416e1923574d12225cd85a8f4e517bc05f360b00baffb74cda0ecb24c4b58917adfe5461569674cd4bd3e5fb1c3b789785157af8a9dfabcf645261f4a6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cf5cb8135535be27c3f3bf63df0907d2971abae439f0203b6051affb90e2847c8a5f9e96a0f7838a5298837a89223271c28dc33ee74b953a11425beed7fbce5bb988d5de817fd1f2b6214d389581f02a18087946adebcd792d5e130c24e1c375f5628cb77864808d120e180bcddedf1b24ba7bdbe366a29f1e7e269469108d748db77eebf4792c6b106897628cbd5c63fc287921572a5d343b67d02b9d9e30793a9b40e1c0de092cf1200a2716642029620a154e98fb763ed63356debf7768652caff4bc1e665391aabb7d32b8f0e6ce0dfdbd2e4d6525d77f213f3122d825ca8701e97942c6e62becba36045bb5ef1c10ce86c80e16eebb471672f840a6046e5226330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b092e1ec58feca23fad7159e41bcd36821549f8609e629b9822b7dd541c59f4b8c01bae3ff7d3f08121bd65e5a3e3a00028120fa38e17134194b228ba5f61a5d7e331c4877c641ffada00285181b3b67ad333e991cb1952a2ac0ba99452e22c48e70b5f1ee1bcbb28de35df4aa47377151c65cf75578b0cec72637604776a2d437eff105271ec8b74e1b382003e3117d2ad0becc687985c4c1c0c9c04ba0df73b9266f1251f2a62ab07095b5dcfd9f3871b6f075230a2a6e1c60edeb9cd10bb481853a6bdc2130822aa3d396849a82497c41682a2eea75152c6921d7fb936b9effedfa0765570c3138541e5435716e2ca77cd4032daf8d3903beca1305fca8021e372eff3fb4e6c5d271e792814483138256291bd04975f3bd5ae8bf5d01711d525bd83d3f21c4d36ec7014322624071cc5f50cd5246efc667dfd2aab85fea7213dbe1d2bc57b1f3736c6b7c8da5e63120a73db731e286ee61c8d691cda27a0086197bf2efa9fa8dfff63386b64aadd66819187c7f3f0e97992ef3e261b2806ee2db4710166ec3643f3bfc34da54c91237cfcf44cb1b9c5449d3dcb6d3c505b046d0c2287411f0b0b5af1b9fd23d866f77929e4ca6f487e0fb3f3dafa83afe17fa7e7fd8ca88056dc90b9be5840ebbf6b39ad1798f7340297d2bcd5e71583db489aa88e976d94e8fb011f3148f76c9596b3f4dfbd739ae6ada37505f773f693f8cd8fa394122d4f85ce337ca5f5b9667a38b2a633037913ddeeb65b4d0fecee83f9b4cc85b05770692b3d0f7ac24026a15ed5969ffec02816265107bd712aea8c4375d00aee5734ebf3faaa5df71a223a4215b0f9f33aaff5b6c38df60f33c3330f343423bc0a8dee4927aa1b2805931c1b4db3e6610e7ca9864f4b1b9196a1d97fc363558e36459552c683c46bf7496b93ccefab5300a805f92f4d75bfa9cbbf5a923bb4dfa37cd8c3aaa083d8e6f46cb47dfe5b273581f5f5ec48ba801389bfb7a3d28c8f6bf88c7027e7c2f5c0d63926ca604a860dc18d1c0da47a6fc5cc86605d41c88f9788f5b4e968b535cdd90084c88dbee598b460ecc86512d5176fe94d53924259af4a1bd8054ead7d8fa99256d7f1169ffacf8b089f185a72c2f8882abe4818b7140152df9e12ebf0eb329ff66c8e54409568570024c42cef9478287e3a19b78fc29bb30df5f752545834eea94b617a8b98963455a691ee196837de67c17e0fb2a509ab14e34cf88b269145fd4620109dc791c0d9060ba71ff06392bce8024509f91bf221b8f946ef96ad09120e03cf9f1e5b5c74643a8a0c0cbe9ad9d6f9f1d8d0503ea3dcbcb4fb6419b9538f3cf3b39e8427d9579194d439b82bc09ee6fd7426f77483be57887b1f717545cb956ae95d153c25db1cf898e7f84d71163764903ab8986107e42732c347d362656b28b170c1b6e796b35be1805c2cb59791971cafcbff1f957f1aff446f4bb55b093221e0f9f811feb539a9c48b53d7eadcfed98e1fd7518017da97a061318ffea1eed1efba137b719c02d8eb107f2949c586bd1950dff037375b65e69ed337639a0d62a6a45db7a0fda179c0ab317e6a8f51c750319c8a42cf956b23915f3b4b9ca3a5cd6a7d1583118ee1ee183996589d054b8dd1c2cc75ddf60c2308ef31e0ddbee3e4547afd079550f6ba1930cb028ef90b8ac36e9caf17f0b8fffceca64f1bdaea1c59ad595dcb52d5a4118c99f25450f5f2f0e05460cbafdf479ee3f93341f797c5b2203eb225e86065a99a675c912b1c24deb8c6ae5b88518a66530cfd999dfef7bcd4566296d23fc141dff1da5478c4475ebc25a64d912a265925573ae54cc3891900b62ed86e7f4aaf5a7e8373179980f1595775385a8d02b64cf7dc4b4faf56bfb45c647c046716c40c19614be9f4f63490b9bfd5a9fd913249782759d59aea99f9c47efbe235f7bc07d25f6db17ccd2324d78a983317d4a2ae4ce513827d803991498dd6ad3f897caea1fa7aa24161afcd9bb6687ce8f86ce457ff16a7b8bd0b9ce411f8dda285ec39734e320cce4388430c3df5b9a56ad96a6494a4e53c350585dedb10ef7a87f8bb911bd2c50841ccda7024f0f0c9e0d507c2010abf7b65a20f7f4c2c0487e1276029ee6a9dc29698d26cc8293b059ea89998e4b4936e799a934602b9f8f016f044abd4a5cf6b3a3952f65ebd0a7394bb649587fc1c78e3447e29c328e9c06fb9e9dbb5199f9ffeab97cc48f03ff348baf86dd745ac6a333e7f92715d8baf9c8a9f39e50e4fa7a186e790e82bb296dca7064be1392ae323f1b3a9b300ec0d1c816f8214d1b41695feef5478294870c8fd7c5633b34a567a514ababfcf2fcfcdf231c6783b46cb6328d9bf210076094050ed8ecde8bf92f5f51ec92f807ed2fd61e1a0ed330de8d7ca7936b179b24a5525ba3d61f82091f172ecde5c9d04cdb1961164c5fe0bcc6d8e00dceef4ba3edc4818fa3a6d708287f6ff0105401fab83f2f4dbabcd800629ee21a5b30d934656b77a707ceb0b523883a6013928a91901a70d98c4344c78f255ed2bbd8c9488d4ecfedc42c50ecf96e5d7cf8df8bc25bcc90d4922654a404924c104bdace338ab8d1c122bb16c6dd942eb85db2c9e4c34c3c88fcc83fa92d2a6e124c991a76817468cda0502c3b55192c16e52361981f88d88ef3225450939615177d3b6eeb078b96aacae7abd3c71c8458adbebd12aee94df2f3724aa11faf4bf7ff36fe49bd73d38d97356aabf0f7ad992dbf45c64a01f56d4232062f94707af8c87ffca19e5bfc9f621d25181504538cb0a6306b5dce26af6b81d71433d04da5b3b04130b23cc28051938f6fc0e1cbb45845fabf52755a1462f6df60628a1287cea5568528843b886bccf93429dfda810142fa3a17d7e02d71a2b0140b82e2ae62f6d1a4eaa716178d50d1b0f3194c47f0510f270cd18ca785e11e3b54e585661678faf98af52dfc43254b37bd566a994e307fc09bb9338125b8ae1cc55fad8a546e6832c4bfa93204665a9cf4673386f10c02f0f6f0e7532f8a772153057480f8eebd4aa0c3c818b13b389b4187131d792680322f742d89726330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09cf1dd922b1aa15f94bff94dd558b3d90f19aa827bf78c88ea5a47e234993c7f0238c644183bf69d26c5d020117b7493123b45451800bb02f2e4ec37491f32be3a26c9070e6159fd1b9984b9c5c923be9a81c00a101c7843ee1cc41ca4bdd691538a4eb01107d885d44c4ae527ee558a68dc7535cdc7b5b9b63496d8b85943ca05b3bf0d7be0f9bff118cf424dca0a685458a11b21b0699f91b1563410db1ab16d1ce453a059b15d1b9174dd8e585f7bdad036f50b898336b86eafd2cba0fe3c1aed6861809d72131f7a3ec83495157a54d3ccc7bbcb079cf94201083e4a42463ac71355848bbf51536f4cd9efa05d7fcd5bb1f55163bcdb7a3293cd201facbf597c772e91f106286ded2ca7eb704a32951d96d9322915ec15a7904a059007bc8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555c1ba96f8c127aab4bd1253c4992b27bc04a62c8f1f48c1644f8c9fe3cf010ca02e27bb8323440c05ff9ca7c12eef1c4befd7411490159690180d8dff8d7cd2b302886c44dccbac2bb65fcde830856fce571ac2246ceb0baea8460cbdb8262d5375bd286f47ed4b45faea85fa65bb2c99cc42e9cef50ca76ddaa022bb16b43483f2cbfcfd47566d54aad520e57d21bf89e7d4531340c9a2d7d4be0955505e42903071bfb5f0ab959a57db7f09e7bc88a02d84fc58ef0a07fc8691dbc8321935c2c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09e651c6033c299a7f88c63620ad219b0da31b3d49240aaad819627ed446633708c460fd69a428f81ad0e00688b59bd8ec10edc2ab7847ca2254d3ad8bc71f6facfbe001eb9ff8a51ce65b0ee3b22ded44f8731a41efc0bc150804163f91673837603fb8d2a3a795605c1cdc4f7a3c03ee4548af9af70ec7b13cfb350693965f5afd7a48671c7db4b91d1babf5d30000e17b2361edfb3fd822d438aa2eeb79c551deafca7e71909b401ba47a4449ed2feb366912e6cd009f48d490115113f07b85bca9a15450b1d8368c4f2adfef540749fe232c0f6051df747c32d261b1d9b375e98a6a7a08a4f740f2930538a43efd3d7aa580737f94fc7ece1fd070f22fa75ab9736c72dd808f71721f8a0e8877b681e872f4e12ddbd37412af635722a583d091d0de0eb049e78789d75f488c41bd322b785c02c587504f4de99a7baefb621e9575c8a19a23a88d8de30100895ef78e526e150ef3e3f6632941c503aaa19e6cd5e9cd08e65ede30636c756e8b18a74087362fb0cf8afdc0ec2b1834b0d72a8c0b855309b00451fd1d4981988acb87eb2903ab091f4e7ba266b57f6fddd65d0628a420c46befff6e4b6d1a69745b018121c77827059895dba459abc0bb6640639765d809fb87c1b3914459fd78eb0b7eef53f312003aadb10cd1273db20c9c2a337f37c06373c6ecee8af65f2511192f049a9fda6983460a30cbf066527a95c5569af018b4434e9e0c2674722e2cc1a9bcc8accaf07e575ac7359569082efe2825fcc2e6705a0f747ac1afc89825ef355de382f75f4016f379fa1706336621dc976558869a3776361143f5720277c0b4cc4e92cf02d1b124e9c85958ad5508f501bb6bdc496382ddf07bde75a542e601fad63e78a0c550592ca5e60725112b3d766e03b2e26c8dd072d218a8d0d3081a63c65883546cde70bd14a8cc40d372fb9bd9170e1d9ba59bb5ca07f3e63c351882ea29229cde8ec29c43900d4d6a98138da57ba826cbbaed808a412d6a74032fe25cd326aa1996a84214e59e7ebe384dda3f6ead3973d63778ee11b5413b5574ef2a8031a695ab82aa6cd6097c1b255259cde54050dc49f32095c348864e9b65e66f55f961ac3c5c884ab1f136a770c9d5a8284d81477ff6a54bf6e5fec9d3d2f4043b59ccd67f04dd856787f685d44b0fac7914b195a60cfbd42d867c48abc88ffa07e426e0c295e5511d31fba4f76e076d418cd5df1321d227fac514244d41268ca89b5417a2e0b9f3431040fb4b8640432c10695dd0d2b367dc8abfbdfe3d8166816e749c5c7877c86b4f3f55911825bdf8e82a090097e85ab00aaaee4db448d2196a3efdda1497ccbfc4cd4b4c36250ff7f411721f118d1d260c771fb5dc1b588b43aab0e55a633bef5dbb9a5a068c097b61bb48d37f608d175503161a747b1d82ff60b381bcc0abe11e7797e320632e52ffb9402cee403e23e94ab045f16495fee63b72e6feabe3cfd4b042acc22a1daf7c2eda49865ad3539254bbd74c86789035d194eef7866cb236531c8c060c7eb0b45e6ea33765f1433e2417a425bbc4df24e0d594ddfbb495d4e14491f8ba717072d647c5db5343d17f8023a3fe182576bdb3b5b6573871ebe0717c709a807591555a4ea2fa0beedb19fac4455224d867b5e2e20b861c37327c289f3fdc3757742882578abe56131d7f25ce3fa16b27f24b092e8524da179bb47dfe2ed6c0adfa7b8ca122af945102098c5a133ec6269a2a7f2dc3b184ad86b562ea8d8cf5b17013f2fe97b2093f59b5b5ebe27abeb40f259470453213b7f29c947ed443c39a1de1742a33e28338e6bc8bfcdfe09d6db76e94175d3bca4f4a8b6a518f4ddf3fbe5b6bb49e3b90f030df2e65b31052e551e938870f55c20d29dcc97c7bc9c38388a87ec386d130d1989150910363d31ad1287df84b8c2d08c3ee24cbbaa710ef7cadab974cbaaef2a0bbd824fcce29aa9b36092668aeb897c87dd8c2f824e4b3a02f6cf17896939607580cc0011fb4987a7a4fd0cbfcc1a3a229a3a418eee5a42030061e6f76e3b9cb4f05ec0130ff1d61fc23e80738ee3b1e872fc48ed386c16d5a80983d1182607faa7c9923a498ae0660b87ae104a313ec1607890bacba69a4b1bce31c2d62287565a2689a23fb70681d4298d6636adc59f4c8b5ed256a5d9483d25de128c8f195182ff998fa34c2fc761694bbad0dea7be854c1832049d45f1215d893bd98b6d228cea06b024bd6fda56dc83c6b5e8c8eac38bed306176a3f26b090f6f12e03f405b242953e552ab635213c071b4a3bf99593913c8116455bcb266f3840c65985a2d3b572571531eac253e1122f0b76baca907ff86d1b8d8881b8e78c19aaa4be7a3d83a5e30b3bbb288cda1805486798e78915487018d9018e28374334ddf5dae3f9a14c598dd131386bbcd808df7fd33de5b3e1726952335aa109114922c10f8a002a5358f0b0ff7c396be2fbad937611ab8de36a982dd1279ac45ff15aaa88d208687c91ea6ba9e1c6656e90de25d6030e07be0ea529a2f7ed1b3749030b67d4441abf7beb95e8752961851ccec4fad4827b0ef13e30c7a8d21f07f4ad8203435eb568a1379c58d26bb20e401f4da4351cc693ce7bedc9163df0beafdd4b39aad83e10917ace0089aebedebbb33c6b4fdc8fb5f5d617a6945887bfdefc307fd11dc37665f4825726ca4b6d591a87a26cca945ec4e78959fb5f29f638f146b7602df23f832895f9f9b6012f669a25a93ac0489cb047d512f522d56177d5c84d82b53e8676778dffbb6d9925589417c4f9f08400e946b021fa8682665486a39ff590b9bc35d968c85f772449421c1282b4bb734c468da9c9bbab1c7e115f452050d706facc841a8ce8ebc8f26871268ec058f461d0138f635b7842936bb0d1de5245267f2fe6fd714a0e75d0c946465e18db23b6a4c25f6db2e3ff8a9ddbfe42546fa95b40dbee2c7bac277aad4a0a708fa83e7a14a82f473e7821a91023746e8521eca386cc35270722a39ad7b71921cd46d3f1dde0f04245bb85d25c885272d1b2b9fd88d517c975f5b49b0d6cb395c0069e9a85620f03d868bc8ab8335fd79ec5791e75336eb4338d2a41c140997f2a4f6940732ba092ed4a8ba8e0467ac8e1174630f15379c693beaf25a8822ebb09293c8991a1a7f055827b1d985b55dcd52410485a8be805bbb7527f488dada3bbff9815e75218e0f23e93697b8aa9ada7236cb94a141ab1124d7da580a225ef7177810c047f9669227d5a06e5b305874a9de120b489cd814455f12e89d621391c216b2b76fd8652beb87e47fc9f49392988354bb9f3774710540cfd05f5e8d84b303c4c4bec6bca7df581d6ca13c9c8517e6d68963ca37ed7b3d8bc6f864df20e4240167ac25ee5fef5a6f56241d64b9d83bc732bc802a07c8bf87bf12acbf4e7f3ad1f1d328ba8708118940392d18d8d1a09a55596987c5458b8cd8e9a0f3e60d5e6172a93a2755ccfc059af8c8d89ea214cfc7da41848eae845d928fe80fabc91ac697df8da6eb6471779af28b21d8c39f4c5d12f082f79b404365e3f5be7396b97ae3dbb7bc36decc4802765fc0047eebee325c027067a853062317a965262e10aedafa2bee299baeaac43a434f79e96f4e7afdef0ac4b1cf76ce28dbe8ac8504fd87a8e63d4d03a9b253e2f1ef346b84750218b9fe63d6c0b1e3730b5be278fcf48d95c4c47e26d1767921acc0d05acfae4ff9e86ed22cbccdd54d1ae034e8c92d897f4b3d80ffeca765e1ddcde8e375db099156fed7aa123a1e67294a19c8c5933cfc6a477fb81b3a83a9d079bf6f931612427ca5070cd7f7130a3fddf07a123d99968fa33b4c1750f7c45232366d5527f4ce927b6e49df4eab57719d846daf2d0a782f9ff47f5d01769da487050b9fbdabfd7f1899d63ec86862d682c6b0ead14babb7f66192bf54c7f7d3219dbee88c163b73977663abc50e6b9ee95464070051d89cb465f13f1ae553bec7e8aa42b77c9282996dd009d0aee562f5a86af90980a628f88ee27f62b4564cbca385f9a7b339c2dd33ac699486a98c5bcf1613ec3e1ee9d44ac3c09438f905be8aef9a7b69624ddebfe1379f0b518ea82bde8ec7d9f42d0562c48579c3ecca8d29ee96b6c08987a6d6e5c19add316e15ec0687356e11313f447de5c92422b899b2a1f0565bffc4dd44b679a9c12ef5cc5483b436d970b7eb815a0b3f9246e206f365eaf6696ea710ec3d74c2d3918af886b4fdd410b589a24dc4d7397b319801039100a50c7435419d91321e9e39518a3b78f0acc3a313135ede1614d35f94fd9954b70371afb85ec079b2791d1207fb2612469f2858552f9f4e40fd630c8a32e85521200a85384bd1717a04f89552fc6cb3490d76c5e9c8a763b9739d464d1b4ec21ad8f5bf95a476c17b56b6bd2a3c20003c77430d0c2dee210418f9ff17bd9fb603290b237a8a68934ea3d9926a49effc7b5ecfb537e1dbf826b6146171d436e0c850bf0dad45c75075f6b8a4440c4bfead86a4491f6397df872c828bb4ee34749ac7d022b55505f4a29073fcf4be8b5e8af7be8f2670dc08b600c8664b6a6d1b81cd7fac4e1b426be179d03311318b9803180bbcfae4d9a6ebd4009b17ed3657a0a0fae1bbcc0243608db5dac04e28dcdd536f15b405a37e40f72891c13e37c0a703b1f883679c016bf7d01f8b122b47079862f968781d468da4b97cce7eeeefab41bab84db682c7bb0325adf4148e6328243a8a828e20c7ad770c52b6fae702e4826b6d96b1ec5deecb60b6d653190ccfeb18881f707b83e2bcc7c07f2eed1e914aa17c15c472e2b131b2a2aaa6a492b25add68594ac600a39bc76cea98d502acd1d75d627942c56633ed17ab067ab3e3d37c7e6d649b523ead364cf56f4944a25a0e10213aed24bf71d697941b5f741f53b73bc27ee4a55ed18f39d52cfe5d1fbe5ccf8140d07cda5417dcd6f207d9bfa0a654d55196b268d5eef0136c12a374d95fd911fc66048ae082e5bef8fdad3949d9054c9861bb3d89bdfe7647a1571aa8046e4f6f571e2d8b383f8370b3b610c48b65187c394d1502c0c9b33f819eba2a5ff6e2b9577b1712cc7a480d32497d1b78647cd1bdc312719579d3198356400a5be4f9164ba71efc9a447b44c9394b6714823eabcb4e928eab097318e6e108392f27ae25200cc84bca28772688ed2bddfa9615b628f26677f93964a9105169c6d589ae6fc63ddc1b9bb66adab468e4ef3fd9b5957cc19f95e0bfb56b4498aabf948170a1dad4105afc66b9319137366e6f4250d71223ae89693b9e863d4fe20419d6b2d66ff53c98742876a2aeaf0163feb039b43a9756867f92a9c5ec4e1b85a64fc66907239f6887264f70ea5dd790fb297104e2eb152c6815fbdd20764cabe1673b0338ce0de95aea872ce91c152a5e8500b23e4cd0acee608a039e922c761126dbdaad3769153589bd1c860219eadbb2319ae604547acf477a4a62ef5fd8fc9c2fa6826f7d765cc2ff5b899e05c4e675b83c00a7f20a0c522089a1d8dbe17ceaeb4af7cf28a96c01c8e17bd6c081e391edbe70b3d03f59089c5b6d32282f3c0c3816a2708d3a68a4615a1d6490d4623d2f68cb4bc89d220622cc53217022b0cb3657fc216e25b9a81c4574e9dde87aa0b388d6e908fd4aedad6a15e4a5f1a84c6308d96668e547a5f5536914a2976828387004c1bfaf9bf84a2256b071f7a0821b4bbce2a5c222ace880aa940e24b5fd44b1fe742ab04d85eb6e643700e7c911ea44534f7542fcf1c9f3fa79a119cca922b92fe8c5286a2112bf13efea9c026adbe3716f21673498cf0f7bd75c215097892cd07cc1e257a10e0b339c81edcb229375adca68360d9f2bdeb767fced212878bdca91c3c5b7b3f20e80d0b1b7f18993e2af99349160863fc25d0637e5bc6b7c9bb80a15175c7d4c5c88e9742c56d02fb09f142567772eada9e2f91aaffbc949b2577b99442859fc89061ffeac0ff6e46baccd045d587607ba32b6ce0330a4e966f15e8a8092aca8b07a7eaee0399d6563c3b7814ce0690b038d0e435b0898d149b43121ee778e73222174cbdaa9caf573eec276fbb0edd7aca4a6128093754f2f1b7fa151aeea7670323da4decd135774a9993ed3bc3fc57a267f48c0ce5efa8a0fd4b2fd50eba14a904f49974917bb3f1713e3c8260655a9e2529ca1c554b8fbf217ed74a4fa8b1d5562c15ffb86052d4892947909c512b6a5ec49d2ce3fdae12737db98210841ad16f323126772d18b7d5d23ab73de120f26b5c8a9665e76482383e3187e4fd2cb1562ba8052f7fc1b40ba47923edf565824fe59e468d6440cecf21a9fb590b0afd4b1a07d7c7c708e3f9fb0b45a7dd26514ba1e872f1ae4b60931853f436fdbe2aa0624e915af7de5472915fba6b7d5e201b8c81bfb5afbc3356baa7072c491737b2057740cc5e2e6acabab82ea20958d5e86ad815e597f4ac8d12c386851e34505a71d7c31cb1f67a13640bc31e59c300a78eedcff9607a77789b59d08084fe79d5b951994ef312dfb27040aceba9e0c1072368384442dd51296edbc5dbf62edca092db9c8e66d077cb88de49fe1f28d8a6f988891c9a4262ff669cc589b3e42242eccb032ecae08e4d230e827a18ee8cdc1a980b7dc19c6f50c06d0d2c543ae95b35c4bb5014d3e7f3ca6830fe3f84ddf8dee74a249d19f05c6623dad3853b9ba791c99093c878478b166beb8c6baf6e3d357af10bb7d5629de6ad49cd85ff4a4de02715d8d53a6448cc90da28c2b23cd151a5684532f79bce9035d0073b7d4d3516062918ee16243bae42016f010c31f80346b8268fbbe45ebec0e69b876622923796aabb90d1dce1af2a68ca7f80ee484f419438c64a044888b4d23521533abd1f58287909cadcf5daa72de6c1cd9b218e08c01372547ab2725a41322f2c95ed42cbfcb0816429f474c87b4d71080360269d7d185fc5b06e016819dbe0d760b39d5b7e2679e707955ec20889dccba3c3d9ba73de08355e6511f6590523bfb7f0c8edf60e7a31753a392f9a941d93c5f9c836ae2e1b8b1367af4cb8904747b58450d4f249436095ce561c2f3a5adf61270f592f4d8ad807237a85148c14c7f1b445ab6e1e4447aaee164e3aa842570b900165416f0a63651f4c11dc6cbc01dc1c38b6205576af6646e532dd4cf8f62e3255dc76a02222a86976398a31cd779e2d9d97c201290e8c9759b58f7618735b805543c24c5608c49ef6d8cfc0406566fc92355015cf9277abd3027c13edd0006387337d9cd5538921dac51dfcba5ec95df4dc2eba974565404d7ef8a60a4ed5505fb2f7c0fd019f0e7512f25525baf701e521fec1b1f9a8485c4f7d395f453976842d151a3723d0d66ca3a62b2ccf946385c7b5b3885be4238e1b5ff65e7c8728df020c5c1b97bb59dd547fa8c98ed6ea3612ce99da4ba90c20a56330c2bbfcd6716b78b09aec2f25ec151ef5e49dbd3936862217aad990aca9ae80d51d909aa65ad50dc6b834f8870b1e04d3e797704e4c39253652656d934d223acec95c8328d516dedc760cc6b9b310359be96e7387b4a0347e745ad4908aca5d8761e8809782b8923e7f05d255c44e86eacfc3ce8732aabb9216a1509d3f9cb5ee497ecdd64069ddc50d6e5173955a347bfd36359b1be231e6b53d6422692a351b00945deb11a7023ee7013bcd14c1d7822441f9663ab0f77cfac42bcba458d33c4bb9b197120eea402693946bc87f54e8187edc7a98a15ea58f5e95b1f4fcaabf1251d0193eade82a6786881e65dcf57ed54b801307e1c0aac61f7828779489326463922ce22ab832b3b26a532e9a9d8b9c594b71bf7367940da384dc7c972e0746e790b1ba66e6e7cef5fb7b3b9efeb312854aece4ce0a89c3a01efc6d89629c3c81a29fd1c6efc58fa2fb09c12f3447ce821a90b3529998268b32f1b15afde3b42ea2e0a85c63c021d3b682ccfdce025318488adc94175fe0a04f373322712ce3832e7ce267dfe9870927283ad7219a3a693422f648aac2db72ccba6f4fb1ca46905ae2490e1cbafc79c4f6a663519fd5f1ad51f95a9d04ac0efa3f44963596f890032994b71fc703e18e844a9b33534b7a18061d00057e8e4e0c458625a9e033b9865d60331ea04805d5002d8d564871724afbddfbd1a2624c7a0cf69099ba23d1dc784d224c5fc5cc2cb6b9262e590da5381d4faaec49ad7c0c3921be3f580c94b112147addecab9b4b41f3cb70d61226aa97b09a7f109f80d8cfd74b9d2a0e98d3165f1dac82f283a5803422c4b617075d803ab772f736fd29bf39ad61b392ac9ce9bdede3c7f546274a717a77aa0dac4bc150531c2a8eef5bcc53b3788d7d71b09bc220de90df85be46292008aa9aabd5c92ebcf7d7fbf5e44374ec6516d687e8c045acf3f7bf1297ac00ba2e47ffe054a5040cafe03a27dc8b7f0b29ad85ceeb9cf09d0b92bb9e7a2ebeb6e55ce27d527281ba37bc3446c39339cc73b6a309f1910aa635486fecc3befbf6e1fdcd7cc5ebae0f47a635f4008254ebd04688d17f537cbbcb08b26a8e47c18582a324b3f90229472b7053b9a6371f675d37b14492683675668d986a84c4b9097139e3f9411c1a0a424004e30a09d002772f17335de5369ac612ecae9da6042dd6c155a2fc19cbbbd651bea0876c2ef72aa4c135fddb4f7226f9aa86a3f597d2254d2fb5d3a5b372b98344bbda390cd60ef3d6553653608c1a7372e044212ef78a659d2c2ab73eea8cb5c115ca2160e6b6dff6d3ea27dcbb797cd64f5ec4b393d3fe064e9f360f237267f267b9f8db2f0cb2e436628758132f96a53e0629e30acf94557dbd1c8e649c1a0092241136e4dff3df7720ebc5dd7798b101049112604a98781737b98741cc1de4ad1fd9b7e282b7da41b5b02bdf815654cb4a29979d187b0e67bd029887a929d87de350597b4579ea2dbecf490d6936c504d3c55ec9e32b93b5c580929efc4bee329ae5303e93d020b1fa627c6db0ba3a8fb3d9ff71c494ed9e8b2ae7d739fb194f2dba40c9a973a525d7952cd8bfd6f50888f12ecb6f6da70d3a6b3bca03885ca9b5c7be2c02da7a32df1360c33e64c8f82d5a181d7de918389a115b6162e0ea2505f76c1f1a1286d57ddf4b89a9dcfc0245aef94d7842198dbd2bba5e52ce92b743a0ec0c5f09168e4d81c34cb342147a492c87cef529de0bfe781408e13aaa2a043ea4b53f3e545d7027e1fee0af57b77ed043e76fe7783c51049487f1b19c1448dadb3b42eb7b212dd2eddf3823681043327fb3220b57044c0edaf2fac6673678ccdeb99cc10c58f4ad3f56100ba84f68c3d8d8deab5a1c08721814999367d4e6f57c005ce3e64f33877e20e720670cd0ab56c9b4173544eb7183f74d946f6fc4386e62a078cedbcb42b3777c95a4ef6b7ddc35be381159d985657f21ab235233614ca6c1145464213a77b491e89f86cd3e26454c1b92937c914b83a8db322488ffddc662cc395900239d7fe05c4829dfe5311813e1e2e0a12b68303b50334f29230e1c6b148780bb45d7f2ae88f615ebe300e508235544294f7dda571413b1bf97efc3c2977430db2bbf33b4e6fdc8484a7087b7f220f538f46ad5f01216a39aaeb00fff64e47ec3283dc748d9dd57532b767486eb052d80a2a6cfc485d6b9dbec5e9dd9c311d187ca74bdd52899b4c3c9b21654cd435765eb29663615affa725de66f80359072d31545dabb2a7a97e264413235508a04cb313fc6f88c2394041a6cb1b4868a9d4664362206997cc06b697eb5c82b2ff6a3e9baecb455d91376dd4e317735784507a83a0a873d2f0f71d3cc4e499a5960891d0f8fb7cccb89f99854e51ea8ab302cb60de94c18ecad5aa1a88e3c52aa374c9d97bffe2b4f0357ac46579b49ab6d1f6d9ba6fd5dc07b7572c9369cfccfc39a8e159faf5d2004ca2e46788185317508d4c5a0fa617ea638d83d71df8838e266c089cd0b2b4a71094521f9f56b7aed87773ddbc99b9a3310965b0f282ceb1bf95b0d69eeb786e9b0ea8eefaed9855f8e48cc1274c168301aadfeebccf0af3dedb8aaf087f97755f9aab5ca192b3f7c9ba5888025b538fc77121610f7df259a06c0f903a80628c75544734c90253cf9eef0333ea20b9923a84238a8d010f5707aaab4822a53efe9edd7d79dcfe4126a8d3fc3da532a9b52c078b65d2921019177ae7e7566261371f99ffc5398b1c5a1326a3f6b96db2ccb4640251f0637940e1f751e81de226d94445100efb51228fc7da579ca586a2abee315bc6dc298434ad679373a356ab97f0ec4da656ee3aced46c84a9eb3ae0fb0d1395466db857db9f489f03ce969099e18f58cebf36fb054ac4cc448093c9b169351ea7445127b73d43bf5980e3bb0ef9a46194b81a7b15255ae3e5975219b4ed8a74cd22fcbcb38b23a893db4c18c7dbfbbc38662b8a8bb40173816e73c24cdeb4e14347d43173b0d34dbd557fcd5bd96882d5344e5e22dc26229b5b86a848dab20e45c35ff88f68fbc5b2aee00bf34d83cbf355e6b5c3d928168e2920fdf3fd87b32be62f4cf5c6e1fbbfff7f52f78eb36f3abc323f7e8f833472e69576b4607fff22f76cdfb791f06c66cd5bb89f345319b382de6ef974b7321f3b870fea452a9cece026ba76a46255548c6e05309b18e5190025430233eda9c4d0f72ba0cc3540b240c07f07b3413b99730512e69202d925c5087c543fa6de7a782c634f13a09425a16d7bd1e32583a02c62b7997d969b3a627c3c424e5fa6bffee448fc07bea817ec72c34941c030da6783ac7f3dc48074216beafc00a740d965c61e0fb15f60463537b6375cf798233b3bbebfcf8f034cba8e189778de6e2c7ecdbaacab145ecac4e5e4c7c04092f4d302a1379c65c28f28a4a100a268603a4a7780036f324330e86bffd157257fbc3e89c4836555d52ea9c6fd667631702eb57ac55ba3d5636a978791813b04070370e7222c6d892bdf4e89c0ed73adeb0e749aa47db0e9322e633f8902dce2da566986c66de4f28e29284514911280f7f62774cf401f4e2c41da6840672ec80db2efe101e91db5765f61f692114dfbff29b4251022fbb2ef7865bbb573bcc8bf977ec8b43ef4a0e3128e58ba9d8b35e7b1329a48a84517196559674739baab09c25f9d98cb4ad982998209593a22f9095e80b54bcf8d7b3ccb3c33ee59f33292bd6bf2e9dc4f5e7127a102c632c06d821111f5235a3f785d1d4111c6e05b65af34db54ce7e825b2853ce49d4247b27302dbec1579588b6cdc7177e1c393866e747ce3a38a8ff89fc8fd4f66ed14de4a3cc0ecddc3f631621f3c9d23f76d4fcdcd6144a7b0f7590cac04789ca54793d0e231a79bc8f1c034896a887ead08653b9e8ce53909886115bc8233d8e0138dda5e85c4b2454f112ee02b801a72d8b292e3da980e25afe6e47c2d7047f692e7c8d7cb2aa78f68436c82954a492f741ffc4e123577a26bc5ef60b3b83a6b7ab20ef4b21a296774cba1c5ef435c578062dcaaafd1548240770aebfbb54271f51ca06945be507989f7bbf8b31a7d2b80711cb1eef2817fee8070ad2e7ed27c3794854ffa46cb30e57534253bc351fe67ea797b7e1f889a70fc57ca25a6848f3fdcd3a2860a95583bd7df007b891ef7738fb1d1071659bf6885a725bf39db5ab218a14fb9f518a788a63fac9c7547800cfa8f0e6d4a7d64fe9642797433116ea8693c780429373f2d8a68a5b28a7a4ecaa597bac181dfd0a0cf098f9360df2e3f993c0e0fd92560446d97311199f595fa0737b7e6105488dfb485d54f8828e1f105bf4270974c200923b988d2848a18876a8ea2e4d951cfe8a0f244329398dc6baec0452dbbf4e328a238fb499f716ec150f8ee06daee231cd474c97bb51d3469fcfeeebce121a6c48f76571005206690199f92be5ef4ca3e7c123de5485ec5d968227d1ce822770ff6a1278b879f0a2df9d407174e406c85b8ff06a51a894514a719096130cead008a0a7200b30b9d5deb2866f39ebd942aaa5b4bda1e1615f032b663395d82816800f21ca8265f0661d1974f480b1bda242e5f4f85cfbb56e83a327ce020d32890d5d868f3b1dd9e8e94def3a37df91b703e6a5c2e928cdbf36751be24c4105d7523413c6f3836ae26f84795332487161e773abd775b07af6f94c3e82f30800f119daf8bb642c5b4c7392299e870fcd44e5e25fe913447c3ae3d7cc6fb259d9e9e55605ccefe726e3e7aaabe3df170fab5f4a57db832ccb19c705d3e3fa6c994d2a717bcc862e756b15ad5343178f9c152362e758e97ae24c5bc9cc1a7bd17aee4030102141a66ea9c9cdabe8dc78ec1dc3dc041b48fa8e505728f261519e7d79648bfcf1ef21dcfd009d15fdb9b5633f3caba2f216979020102161a3c4b47496ee4c441d2f1cdc0de411b63635ae3bcf9f220a9c824e1ddf90c5241bee9116405f6cf74ccb42f0bca656adae015248f114c4be87482723c8c8bd04b39d85471165843a12338196e4ef33b9e1d63b4d780baadd0010c309cf3689112cac2445f548440a94638a6859a4f78d5add81946b4ec840c80f67000079d77cb1678e815b8e61ac3699c04c929b352faac2a76b784022855e56fddf86f6de6bad81edb05a062c845085890483d959587b1bb6890debf869a44b2e0aac295274b6bb2ec5fe123bc5cee4b31fd734d7dfc21151365888f8ae21169c61edd419873b6cff916f3c8485e721a943f74d2b747f3e44256df498a8031868dcc81b8639279eb962b6a66ab89902cb31542e3d517dc1fb9b720e6b3a3b252cb5a29f37388e7cf4cf7a2829c80ad77bd39da3c3f5fcf25c9eeb0963ffd803d1c732e4b9ad0023e238702c908b6d6fa38134f06b4d123f8b9a612622116fc8a3125df8a05c6fb0ef365e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc1a3961136f5b072a7f127af6fc80865f599ce721fa53207eed8f868f53c7090ef65e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc1f7d272fcf770f1bc5a6adca9b42a41a58a4b444f2f7620fb76a047e1f2d0dc04d6e4a2f14a7745296e96e75273f9dd5216e6030310a5506b41bb1d4fd6f09a2fcca3bdee93104513a9e153272df35e0fabdbce7812782c4a531beb883f7d563dfd5957d5f2f807ca519bffea2e47c19c39c40cc43a6164ce2a7d10d04f3e0bdbcb584fcaeb966b18acf1470d69fb46551e75f67def1435b140d50587ed98933e411e00e7118d0eb1a4b5d3581169e76b988197e383238e7f8738ffc78d3aa310d486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2fd486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2fb74d7809c6c9f24c7ae89c9647b42a07894b89acbe510d1657cd0f49888516666ed018acf76703ce37fdd60e554720394a67f85ee17fa976f87ccd6f90a85fef755650106a8ef815d0e5c231df595b678f9d302a5e4a6c15b38750548ed8e51bb16af762aa022ea39f4776ecea22e8bac14deeb4cc9c1bc9ce45a77568502c5c2a090e9239328c44e297571b39e2928bdc5583dc88e76f4d47cd93d224b24a4061c861fc80eae7c95fb1caf75496358f0b0f174f8dd8fc8fe4ea619b8f88ce0f77cf8c2e90f69af4bf3d84b6eb29805e04d83a30cefb5fdcf044611941347fe4bc4cb146abf2fee0ea7d74ccf071929f83b0ddb6151657aa7d46a3ddd05038db7be367fb4955982d559b55835281056822bf814c02f3470835fd3ccb19a8ee16be85ee6290e7ad84ca97f7ccd05bea29e0ec90c26eb506ae15a5e95863b871172d1d6d1637730063f2d87b8e198b5617433d3259c7c3ae325b3e35b71a51e956b7cbef9712ed67afc2c356248c18244539fc5337535a562e5447fbec0e6697bba77d901272613d4cd165ddeec2f6b5cd29c730c5d85522cc9d97b91a86f4ede6c2a01b3d20372d5e70563c0fc36d2b630745f1ff96040b3f8fae7d78cc95d53c20a32d4af84080d355b2c6dca17a5a793c9032d9d3b401a917b07f72aae68a34fbc1fe26a578f27859bacb39e0784b9214942224af6229f11e07fd7d9cfccb4e4b08928929f2ab49b1ae381c088ee8783be29c717b5bdd353d615e7db652ae7b8a258812d2774113757be757d59435d726178d48c6b6988d4ff1f7b68d4c7bd824d74632b306e9b8c9e0c14df58a2b7c3ea445606b17fe5a9305b8007fa656a50dd0e921e0381dc01a1cf69366b4d38c3e552d86900cdaba1c9de8c5b69162e4c3810b7c30fd04710e0ff6ec53c0f0faed747bfefe21e102e0e8b3974a6c082ef5fa835e9f25b02344924cb6a6bec4975e319ebb147abc75611c92b6ee726697570b55cc21ea445d0275e03a50d697a2ebc03a6e4cbdc13f26698b02aa77a581c531a2ebf1e95e634b38e774d548fd04ce24d49bb407029a6fd04cb97ba5ae28da99043e3e33ff73e2577a222beb9d1ecfe94dafd108a35f87d8157fac9ddaadfce7361081470a89f0ee810a78d94e179976cfcbdc0e266a61f4a9798e60183508eb116e676a544b00de2fa949d33bfb66530c1c42a4dc9729a19011e398b81aacf3b3015bae64a55d63f4cbb7e77cc3f868d562f39a896d78e1ad36473afb6c9f95a8ac590b10cb82b36b3d28b34ddac52b68203321d2288479a4220baba748900d6f9e273b063d7eda052bd76aec671b34036f64c3be125b426d88465eb77681cc3f2cd386bc5f6a636973619802704d0fdf6a957d298b3c248117bd1266275019864e053d042369daed54a35ef46ffda4815b4e2f8a2966c13bfd4085b043e7ac5d4f94619deaad90ccee28cd7343c1e114c17e5a812c2cd216af36c9f8f57d767341d750a5c2714a09bb85eb40dcdd694fdb7b6c95dbdc5cadeec01d93482bf21c0c200fb0d681e5cec7cf649ca85c57f93eee220eeff6356165ac12583eb4c8947da45b26ce1c05aaac989c1cf965134c3a52ef5169e69ee8715c58095155efde37c4ed163bf3e0e44bd6b52be6ece68f4cd66e991a4fd72f6818604ee363ae448569b05f834130ff2e18b26d9b7730e44ecf85755200dd18ed2a58426a42c38278d7da2b002b87a2afc97eba5379bd76e03d50048d2be46ba912be53754e61c44e31f66a89b71f11109498b31bb803a8bffc3d9fada6d77432ad52d2397935c76820c76a21341f2228bf7ecc16374817986c3eba9fa495ce3b8b9b605b08d3cd1f78eb82055f5ff9d55396b1a8a53fd7e5ce0ab6a80ca4256c1df7eed2b45f72a12e84884d2ce0c6f7c2dd43ff58798e5731a003630be4f0c224a9e584791bfa487f469d880420d73c4bccf0cae600b3462689b0b8189f4191dfb8dffa655facb35e14c1f0dbce2af97e4c02db85b8822cb743269b8c31c23025d889d07641eecc7a5b90f19c21926b0efde7a0b53bd7fba871a750ef6eaeeb9cd5b53ad8d18d19a226b5abd22752de09b4f03a7582b36544e4f69310c8e0ad18c656f7bb7466be6509d7bf7f0440bedf08dd5c852e67cf1d531e877ad26eecd7fc46f29961cffddc074ac99097954299ef6883ecc2f9b0f2fbf3ddc33bc736dfb7dec1f6fd6f6fedc3d16fdf9967e1ad9bb640d307251200d9348285daff1d7b9810c323c26b9c67f1329e6decee251bb50650b7b9ff6c92fb0fde8f96893beacf91f5c55ef1b714134f904e27c06c030ec8a221e37e508507dc3ecaea2f86cb905b16851cdb8decd71151cb2a39a2c0ca0c0e9b7c807735f29f365f4ff8112a83d56048faf487bd6bcf1f921a6d119f15d5bd3dda21108967f6e3b1279f5e81b6dcac6bdb7d9fd8f5af4cf8e3f6f07099aef7d4e020f82bdbd6891005440cb6eb2c0c09679b78c2bceacde707070828b95dd915a3e315d963797bfba550d409a6e1d0ee7f34bd35d27a520b0e21b72e03e2bd056c42b754f17d75b1203d27a94abf103ac492442f8c288958dcde2e6d6ffc387fe3829eec9408a67a6ae8a92042d42f10a762999603ed270ba31f7db42c886b6147c0a530d37039ab3fac517efe5282a6f29a95038b8475d9e4afc6ec6ae5c6ace6954ff4cd42d50ed69f6e36c3723069e41b4a2184adc03d6f1915b08f20630dfc15b7f6481fcc01c6c722fb90e439c180b444db6ad6b20df44907a2bb9f03bab04ab7ce9e3ece7bf245514dce9f96040a81340e47cdd44775dcf5ee227df0c0748109dced80749228992f01af59bc8c7726d71ebd706709aaf50ee080b0bac909cd449646a4f550e47aa1009fc7900d308a821b809d8c2d0335670aad712b2c47b53353a5427f85ce934965909f44353f9e1ec78c4d6f2d09163f45055091edc6267687bc04a665d6654b891cbba3db4756900b338e86628416c7e4c13cfd9b0f652707414a754a855074be080fe188b3f1abf95cadde7456770d0316853160ca99285ca8550e9bfb5613143a5f1a24f10eadf1f611ce50df0df23a72e814f738e60560ef0dabc5f7f8ab3ad8e5e2f5843dac6f9c0c9eb5a16097751f6eee40f460089816f0cbfeb9c32f8bbd0b8e5d31ec482e85a9d1e840b6e1162042561074e0439e48d2e15678db7ee619cfb3caacfa4ddabc7d5442dbf20493e0a748868bd60e8fc8190a38aa81c1e2e2b43303f05c03b92ff153761076adaaefcf0004f75d9f21eb2b1c8abe4f0f29073247ae83a6044d2854b858860c99c72019aee538240dad6d3febdf1a03609d755b4c5e6bcf3563785d0bd92a6aff7583c18c1b2c56864a3023d3d3e9a9c947d2471942781d6766c8906f5781a9ba589cfeb72aa6e2cd8d59824f6869d70d082c3015396b30af597b7f12c68f3944251873519193c160684fd2085d326944cb70efa3873606da4cf00ef8d9eb85f080da2f5b97286a2f64caa74fa9776fdddff28ef6b7b47d4b9388049cedc5ee4248253c02bcfb2d1ee03fd660a73a098d884b90024aa1c9df5cb68c9143efe7b120eaceb7bac9911debb56a3ce009e353af53b3fb6fb4d5297c68cf86f0d079e9472100c6a072f5b200ede7429bc8977b544ff631dd1e0f3882e98d4594ae0ba3f31e763b093f76e1f6a3d5455c09b2cc1d4a6804256cc021d22bdfa9207b92562b571f7ec723d08404cd6959e1a662a66bc766dd379ba1bd8ec07e29b8aa45b53096fd5ab166c7a4cce0cbf8a4132e7a30446f94953b60e231b4c357f2c8d3968b8d928eb3303de2b3551af33f2e4d74d11419450283c3e12d1534bdfa1cb0e1a6a8854b338b2d29e25b8653982743046232b23574c0c4331e0bac59f1581eb70b9271ffc4b156fb25f6d3ca70f42b02159fd6edfd58c468807ff8dccbba548eb85ad7b27cdc5d9fd42d41fe50123ee71852469695eb25502eddf8149018feab234bb1a355f7d52f2434270408bfb602a56a0490a6cf7384d2f85c8b4a34dd92aff7202fd0ed6388f1b10f8661323faeabcd29a7ac114500695a5ea97ecfc19e11f776778bebe5119b633bfddfe7976b44e189c07491fdb43da05c140f99eac6169f357160a113f23bb2904ac26ef4d3e9c8b0894e45c0a0fd3910d5d8c9dd7a0f9f3f368c39027bfb2dfb89082795a4e07a10b5ae3aaadcbe3fadc7e701562c64f9c5f60e03247a4ef69b9cc56d40bea2bdcb7942d015485f7b7515c374cf5b86e634803d36295fab13c6a7eed44863143a106c9a6aba1c2873240335ea394b1623c858227325e07c74ada6604aba5a0800cffc902b89aa37096be6e66789230938c43307d14f2d10ca94a16d661fab3d3ec45afecef1fd39e73c23ff600e299947cf4f65cde6e39ef55a61ede94523b2ac545452ec7bef3e3fb6b7a0449aaafe051122037389d29881f61ff47595a506cdebe652c06d9772b9eeed8a45780baaece2d060c7ae97993411f65c51f5b1c0654cddd0b649a75aa6ab64497a25129226f72c6248836840f7022b215bc1d4807ce5c44fd16675dfcaa616ba0987dc40fcb8fdd81a7a2c2316c7eed8f30c019f437f8f7e9507e882fcdab408bfe17f588e054ca87082ee5952078bddf3726a74e09c9e490400e88a1a4299a443b94389a16f0a2710d55ec713befead2de0950a051b1c170022e22b96fd88d40db443e5c47904d1c963ef2cb12773ae2cf659ceb3b46cba4d9b00ac4d585123eeb99b0c8d7778c2c365380f1f84ed905283bc882e9e27953b7b0b5b489171a1ead9033b3be674c8131c9f26c6f2ed99f454cabb3dfd1ada43f22ca6f5843d571fd8f318907b632da1ab13a90e48bd19e6d5640e4a418cb6ba988578d928c0d5d481d030d47f86f6b416811af7b4df484105f4692e55b523cd4c596b1ac091b2ac0bfd4e63c8544fe2e815a159841167bb05244f32fb6f26b9490530a62cb759b43c30c1b59b66d1e550d7927271e40d9fc9ecf4d06df5c3543b865235836c834513e5cb449b8eda2a425aa5e5a9813a5bbda1790a2864cc16e41848513f5f93c427f85ea3b9aa7f65c1a9987cf04f8323c8b524baef2d99087f56a9240651f8c28e13a47acdc0992ee7cd38920c8647413c6942b9a6d99d1f7fed486c97b39d0f6171339559d85b5f527d983856bcdd6a1cce2abe81aad222f09e2328b006b4bef944bf540c3dc3d03866b697bd672ae330d0d1f7efd68ea2013cfc58a55faee4472bde1c73f04c7ec740c4e107002dddf942571b59a85c89f2740e824729c5ef8451fbebd05c5e95f06843486dd4ff01c49af433ae4c8ec378c3295930c066f07276e3422d150b7c74989a759134cf0ebb26ab7e76570caabe0e110f46bfcd9b4a15f60483032ffe7350f3cff417ccbd166634800230ee20a3bf74372774e27ece29da045627b27df1987a493034f9cb039a8f91a5600c2217419454ee50250cda276198a315e72214e193bf65f27b8f564fb80979befb4eb0870866f9e958e0ef442c65486e0ebb38635b6203a485078cce3fafa6980789f6232ed3de4d88e2d96bd648c4482e1069ec34575bf6739c270d74bbf1d8742d016de19c11716784f8aaab9a763d6b3e6d5837bdce28e77c4e5d772dd3adbc19ab23691c7a0973178304ae77271b9b6302f97cb8d88b92d1ca5c5517582daabc93fe7e5306fdfeb13e100666d2a360d620bbea6927ed3154b68ee2fe4be139059fafa501d03719be5bf950337d8213bd6b95a698ebd0dadfa8f1467dd72d9a26d0e2985ba04f08b82efe38685f688e336a1e3caf521fdfbe61219ceb7511c0ec8e5169c51d8a8e36ffe00fca66f557a0316d11cec60315e94cf1763907928b079b8f4c74c9539d7a42bb652d4f6f7d263f436d7391609bacdb27433565f5b89bc5cbc0d8ed97771e53f45fe29a029586d9675b182a06b102aceab804604d2ad407ee0619a176c744035c9bc33decc180f9d0d87fb4b90df7a08c1895add7eb04e728bf0b7528a635c1b6edf0dd423e00542ace09e739894d02300cc237c350769cb20a714357716457cd95762b9c8b9454a1fd9e9d4179fb3efc3e3f795f7bb7dc0dee9801a2cf0d471efa6697b02469da6ab1ee66fe985cc277553199266273b1e63314bd7fb7dfb2f3fa36a612b7e9865cccbc7d1f616775f54d6880c1be23a48799f2d331285a8890dd1ae01838b65d220aad3c622e3d3e483d8957d44ea54bb4768f298beb5a505f314284e2e8c8424d94563ae6ac3446a8c54ba9b13b6a2c8c28ea00e4cb990485cedc0f7b6bcc8b88cac51ab1f39b12e56d2ce2cafa1e74df206c2050c57dcd7a0f87a0bb00a662524d136f7b8e6e05c8e4f5e0d95c5febc1bbd9eff3ed2d8b41edf7ea9e841b27ecd147e89ca95eaba255ebb31f10d3cbcd24edabf77dd6a5513d9194c7f6555c40cb1a3c981ba6f0a1853e2ee8967bba8fcb6835548bf9a582dde5502ac05db64948ad098b159bfd8fada31254c530396aec4e87c1a4dbeedae1bc17b702f73d94a0a45a3b4088510958734d89aeb522b746eb51f6c5e8a5f25994e3906b94e8e801d34201df93f2beea12c40715892d46a285246ac59bd7c295bd2fffd919b4490001b04ea8cd67db8ccb66823729f87db8b86d25ff54b459904fc26ebcfb0b71ee6a83c010c3566275fe920434d4792d055a5282832eee0dea27eb757f00b29410f5879c572a279113fc1c4a2c75fddbb0b3efc22f8383098bafb694a3efceb1f1561683726b046aadf4f4c065b870207ef084d38dfb83cb5ac19adfdfac8ebf9cf741402d60c37fb2dff682919f6d449732ac799c38f6bc78241a356f860328b06f4b6fe82630fb40a45cdb491919e2a6822c011ba0da307850626453b1ce798297e501993906b649c5fe536cb0ab89c56c04c4668ce0d8e1ae1de21b28d73e1debe07e2c18938b57fe94bba4613ef1844c44f90f8510e47e41d40da5a55c669c93f7d6fa902760a52d4934579b631ccc9c6cf08e08efad36ca23330bb96412953e2a2ff544f06b2bfd4e58ef561fa20d8442142d00fabedc7191a26f57ce0c4379399aafa4425288243d6053ad62dcdda6f7d2abe8fca57b69d09075f61d4c852b36e26547ed0c9fad313db91b78ed5b893cd4ffc08fb5001bcb114d30a61842270c7afaa9602903e8ae9a78ff8572feb604810d40378540918cbbf8fdedabc73a9636daddbe619dff43ae3ccd4a1a5062a6ad276f6d057b0e2397cd1182dbcda9977c29eb330120077701465f2c257ceb7227ffaf23c648aef1e294156b5b56b9c0d2062729fb2e37de1a9ab243fb7dd7c408d855e41573d763fcfccd5278eb5457ef995b203912ac1afb916cb45cdccf25ed7df4dcc0cb82bcd5f2e5a020d5c1787897208fed394e0c1c18cf07f1570dce729f7b3cbe61fc531ba29faf4e1b88e8b818497106e90bb7f142be76862e5051c1990c929e849eaa42555eaa2d60a54c468e7ddde73489691b62299d329abe9ad319781b6cd521c32c370670ca3acf71680788683c258aec9d564c1af0046b6ae18bc120b2f4ae20922229b85f86821100c6c8d0e0fcd2fbb07b64102a7afe37fef28c1c3bd8284d8eb58ac76c29611894952b64f445ab782dfab90a54968d42e0efd870ceca7762b21fea12f8ea5c81695870ab685108c03859f67360efd1ace95fc060013d1f496674f04936abf3d5503b739cde1aac6bead572542934160e2ab3b9026f7beae7de82bb485cba9cf19bb6451b2e86ea54a8bd72f8ad91d3dcd031173718fa0b7fb5a86ccd9f2191fe6d59e5ec4487d60bbb3c330cfa66699ab47741d4c1bd21e7775861740495a72817b35d9ccba3c37ec6fb8f8fa88e30817638b7935840e8993ba837b3a1e4856612e3fbe0d7aeb85f5eb4cb872849a2c220228543a6eb2b69641fbcc5b2c3cb5ada14ee76afd2ce40d58acc70d2bd25fc574881a5b201ef6ee6ac8d993682a11a5c2600e4df6ab59e3d14d617b4282052177f433fb7ffafea0c77341832c39ad9b527307649fc33daa75858335c864dda533db9a707f2f376278463b6a42cd8c69ea4a53af0bd13e04a370556f3c8d7a38d3b43f59c4f11fc406af33538dd257357eb5cc5003b6ee91b0ab95063915acfdaa3636717ea4c29ba17a8fa71c54a40c72c582ff90b07e480fc2a5a9924bb5e071a21f370f0e9039e6dc18f9de0fb827b244a37a2224da0ca2df6b0f586a69dbc7c32d8204016f3d8beac7231427860c7ee366f42a353d00cdafd425908a33841df7493eaa3c24b3f4cd07c4739ce1092dc13d70cdcc7603963c071ebf94c6c6e63331de9741a87bfd900022821a0f57735c2372a7bc17d4cb837cc0c12c75a82173f01db422e0690c9111797841b1dd9dfb8dde4fc9bd507d6db1dcdf6b0e9022a7b9709d964647cac340d6524c76e27224a3055f13c2948010a1d301fd4bcc79e629e2c7b2712e500cb51697bd2e9f2c7f8991212e96c9b37cc292ec83a27e3d5d5b2521666b995ff30985fb722862fcd950f52cfae2f17169b74a3ab8ce9e294be6e37ff56c78fa70aa48cbf52344697892ffc3ef12858b469d2a70b5dda8bdb38dbf65d78c30b2548d1bf4475839b3399ad973a50ee286e44c260382f9d872aaa5ad9848648af0f327cdcd38cc3e9df6d20578bc694432f8943bcfca7c52b1b5c87d527e2ac3bdaef0a7c9b3eebcb333cc0d88f4dddab206c00f132ecd9fe8144f9efcd8d9a4f2b8aa12afe30599fbccb6dd0c2d619b8be6813f91ebfe63d7053ea886875efa24b152cb244e8a9134c718268c5f32f88949ee588339806a3b2d613a7d9316290f2cbc0724287f2920c28bed47179f1ba159e16b8fe083a8f635306b19803e52862c71ec4c96354986c58a2e8efb012f37fc3ba8c463fb73fc0cc9370f10a06f3caaab26bfd1c2424c139bfcf9dc2621a036f1c3a5b1afdf22f43c7b7106d5c556b94d5708f0251f495f2a5a5c57355d026b8ca27fbd5d32d3a9b79112c4919fe24dc691e4fbbde56c58661d0dc2c3ec3aed8504de6db24fd07c95a5f7eb30b85cfa554b32817a7d5c8915d4d9f04744495cfe576de600d0d1734d0ee46234d536ecebc50fb6d42177606a57f5911be2e4afae08ee08ae130de0a412bbb926d5ebb770ddc0b4adda14f63941f93ceb3c091262e7bc2690b29865818d82e8296812671301d23d9d2bc42a703a400b383b8c0c3085fa2894f392455b4feaa161495e55bd0b1d5733fdef62f3a55906ee30835762518c21a7c6c7fe0559ef59f10f191ea1c4aba43d7b6f57421006c3767f8dbea18dfd7faf1cfa41c83727a4294dbce735d20503bb25dc64cebf48de93b1e878739ede2a066d08ebd567d138ae66e647c8d880b8d71cb02d9c82433e8a89cdadafd8a750e397c124ccca598c4734e3c9bf372c92d76530e69d80fbd17db07da496ff1cba99cc71fbb5b35ce2382bc18b4e009e1f014168c598d99bfb5c9b87f9e84d83c61f247e84d4936c440422ca0507c9e3b17f5f5eddb242b9f7e72d4c3fe06dc8a6449a20edf566196239b827f54bbca889aef1f9e0ce35452ad99dfecc710e806badfe6abc9a160c962368e82e59367dee065e8491fca43c33336d612196a34d93bbd6f1bfd298b7589022d38195a49a2aee2e9d9ef8e831f59bea19a6351ce68b1e7e090b46802ee6e61c843c75b53d6ba57b4c3d5a5bf482959a4e161003604e752a0fc18f0923f53b74c4c4046730fa6c3180ba6fb5e3d7b0bc3b9ad1841f3fd3bae114db71bcbd055bad0c8d5fcb293cec2a0a7da75ed515c1fdbd76d2e8c9b4881fa775066a5f229f68c7a082c5d1db4c8a4607f04c2641413632856649b6c559a6114f6f24fe28bc8b8babfef15297248bbf9260bb49bd04f1dece0f612d544495fb0bda63218f62b561515f11d839b677445516823ba5a88eaf828f637515d2aaaf52f97303f43d3ff5c0522bd73c03587c2f75f563ceb4a1a26800912f05d4fe00ec531281b64d07fe20f8df716d7dca7dce1ac293d2b5af0d14003ad3f93485027a39ce2ccb138d89fbbb6227037209a8405bb57717875efa2aa14bc17f83e959a692e6df374f56b2a7ed0c92e7e23733ba13982b57d4512f52a92dad3801d23438e6a426228c3ad3691d9b141e39aead5684a7a4e7a17ee2cdff9d81f8103421c8a650c961a9f5f56adc511bc65402a7156e3406a21bf3ada4b867941e8b13f8f8687c0b0db629b76e93ff1fa57ef6d20c269543000e32d12f852e4b924d0fe078d794c485e92a68c9522196ddd925aa2daa1718a08db0c2046f4fc1f8cad6e78e49406107d956ff255e4a485b2186f26f37dd0740083d9b1c047d4edaeada215bccc0f8196e29777ef4b42fffc0ac17fd8edcbba7ecd385d18ec551917a82b64da47a9a3daefaf5f5e1d65ce592c106eb1b7e0889b48829c3f99a1bc089578a3260a0f49d63d0d81a13f650c5ed088d4cde90aa0f51111be153ea41249cf85ecaad8a3ccae8848e9655e569ddc6653a897a763d40529c54ddecb099730bcfd54ae51d053c8327d1176f548f07bfe0fd028f26f6f6903106a892f0f8a1f7348c9bcfb99280f14d7913d238a3f5bacbd07d443e69e4d8da8ec881c14728c82b64ead6f21b3400db58c8c3a749ab436e852aadb8a896793f59b08ed59c386d7867cc26878e9443ff85c18bc87e0841d6946b4c673de7c838496ee1147d813885e150a2277d9d7db1e1ddf21ba061f6fa018fb2582e6122d1dc4b5ac7ef1d50ac54fa9961f1445f85be92dada9bcd239c1e4bc4d7a201711e3c9292853986cbc78c356e200e66d33423c799179ebd378aa69a8193814c96de389f741ed020c3c14f005bdc12d4de549bb4cb57e322aa1043e0cec6d4235d49a2b2a835682cb2862d41fdd8bacc03da95512b086ee09b2533947561b078760011e3d232feb7061993689893ce0c52933110ac23a7f5f917f326df590928eea6e1cab3e34099b3e553dc2f8ae012b64423b51827002f014b20b54de562375834d5434834be500abd23d83cf8b070b69a1da6303877a66b353e31833fdaf9286903bf2436252ffd39b065c64e459b5dfa733f6cffeae666c30a7d0c36716a5847762e13dc89cf555a648208a7670e2dac95c7dd6d6f1cecd9c6ab600ad92ca6354893669556aff53dfa9c6d69b37f6cdd2c5e564e66fb61ff19b0315c93873d2bf1f49b2566cc085efa4d839b46268e0edd15aeb664a2bb8d061288e58805675142bdfba4fe41118b68e09334d1763b2a4fd985f83f0dec4c3830691c8e1f7cc5d9d204d6380b980679488cdeac5250718f7faa9e3bcc3fd1ecaaa2cb450f563d52fef98930b28ae4fe881134b0e753b3517928d09f13bc3bc7b10be354f499c96c7f4bd2b219cb9aae81c31c3805ba252d692e172511b0387b7e2b2eae62c42156254aff481471ff75b7421b49de344e829ab367f0518fadfeaeed3f224884e29380f69d35e1cec316c8c753707cfc938c71fb52966533e410fe3028d6c32a1d2b99f823146e7f55073d410dba896dda0581866eb737f553937ad3d00dd2c3b5bff4cd8e6ffc6831489a4167095f3d9147b59b6d268c59113075eb2ee413c118e067ed3fd754f03a1498b1c6093181d245f62df6847a6821c1bd2f6c6517d0870b0af69b26ff365284413d4e8c152c32c343d2560f6e212a1ea2eed90d4d132ba3afa6bc903619c009d12ea2ff4c8dcd5bf34870bb97fbb01dcca8cf1087ec2d19e3f1e2e48289d746d6035a00cd11f2fdb3d0d33a45a3365cc697a379d5093291437e78269fa16df5b668b653972bc690e67f2b31836d1b181b8785f5a95e543c055330bc622e8cd3ed40657691d5ee314d00e9c625fa2274786f33d133c49aaf0194c7fbb783b25a17d2bb5fdfa8ebcb817ce4242eccde15e14f6a2ead5b731811a1a822e8b1a266c21a38bc29c70a4b5096daa884bc60d1ab3ea76e37f5e46daa30383c0370d1621af8de9f4ef969d2e29a6304e76805b19c4de0b23cddfa89afe5606cd16fb841dae5b83c357ec47f85f9abc84ffacb63affeb0d90d94d2b632175ccd85d9a952d3d17a41c6189375e5e672b8620dd4b81bc0dbe95bb355ba19993966103991811c07ad608b2c222b1a848959420df5f4301dc32e1f5c8ca71b7fd3fa4002ec8fe9ab2c6e398cb43aead43a48dfc045aa1eb3aa7787f9bf7857161e29f29f19449b479cc751bb5636849805d79fc9c12230fef2351a6a007cde8ebbea98b3122cd1d3ff43bbcdbb55131f5769185a63ef66045c6d6c9ee174dc569725506584b797445d7c61effd040c55d62b03bc8f3b2de41eb5eee11286cea4202bdc67fcf77fec051e444dce29a9e23fd34c267c780a4552f50b7c3656b666dd0e1683dc772eae1cf29df5d1c3a06c8ffbce51faf4e7dc83fe366f1d2c83c056adebe95e2d5ab1346acb7657cb164cc06b6e2662e2a6c9d728d67dcd51c5ba7cffa04fca96aa7d55b3bbf41246486707bb3d2c219109c9993bd9d7f586560ae6365d15dcfb5338b10a1fb06ab99e84512605c8d5a506b09048efb0b5403829ebd58add331db0a41fe578860cd3d48c48f499c076327a370eb5f315d02d08f0c22885de97f673a14207b951254dfd38e6a08f97541b70d002958d12eeb31b52fa0fdc4734d642e86af14bbd34a11444f0fb073ddcb58b16381f766972136470307176bc8f8c13b46f7cac6b117c5d2ba3ae5cdd944d7aac5ece7de7a3d4e3073559313db24194775dae829a35e65d94aede43901da43b52f8a50b0ef85bfc7cabcdb82753f3c796197f4a54fd7cc1b11af90b7abdd771ef7632b4dafba24f8fc00edddaf55ada60dfdda17e34da8b355d2d5351523d0ee6ff23c46b548d63b3f829897b66ca32cee54dcfea94a043369ebab4cf9309629ed3aceb0b4a487f44fb8e42e229fbce62336f641746c7647b591dc401e000b83f8d641e3fa31cb21bada1afce9aea71d61196022bf263575d1ea41074360924c1620afdc0f876a723d7aff7652b5fbb1c69075610f251e98f9e862b0734a66e7b77b00fb36231440f694c76ca6d7fcf9dec9b0162e41a16d67464bd351e386583bb9a093968873a1bcd09209c3c2c3d754b68492c8a02c5ecfe449b9842cba2159d5cc7dd7558ce74ae77b9265ff825ed2c5d4c3a982888343e6cf7e7939481be40ca9619a270129b0558cef3a1c558b47da022392cc06d3564d1dcbc86bcb2d5bd725f4eb9043a427c09fcdbcc00792e2b92bea676940e6cd410e7cf52343497c2d2b42b623b44ed8ed5066158d89aabfbe48b9e6d4380df4fdebcb4a383f69e1776481c4f8f3f5845848a04a95a1c6c7c4dc344de63d91afada0f55f3ecb7e931c28527054bce4b9191592450b6f0c4b2c4f8c5bd0e9ee67136e070789f3a783833244d672ddb5efbb6abe052e9f86de9e46da08bca110cba75b084d7243abd462eac27677448ecdac6fa26e1fd4999368a08c0165cb725824b932f80847bf8a37349409234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4da6d3f77cdabebb35aa82a8fa0cb0b4c48fa7eac287735b60735ddc9537fd213fec13e1ac3b2d4d9ec2889979758902d8394261aad42f2d572479ea4cbb3039c81e3aaa9781ea5680c1f3a56ce2101512e6e98864042e0741143730a6935b4988059cef1583e4bca560ef2c6306a245f36d8e28f2aff8b2f83b1f8b2cfd6218c637880785e133fc146ac8919d8cb900ab5cd05cdbe04ca13b9e6b1be5d22eaa5e12af1dcec0a42bf7d221213a14cbf7544fcf29156adcfa6d31ad5456d8dc1ce36c50cd103ab630f08e275c2a2c16ee7731c564a33e9df36d60b7624d34c5db440772ce8d25823580425aa9641fe7fcb9492f3d88d60b6e80a66d5ca20f7551fc92502938ae2af6af68b9278efc4ebffb4c2ab466ad077ef7105a1cc8c22db9271ff8ce0b240c7c748b8a29fcc9a35eef2f3502a360e477995a304b256047b384ae9b6726360f3ce2a25a529e201ae7997ccc5a1c6e4b03ccedcade543ffd1ad159d6718ccaf4bb74251ffb879a61d150e5d9d294923e95dfe5331f7af75f07ba0f451e8d20c3e7f26ba250115fcc0d773e3b9276c1c2fa9f41a40f4a824529989bc86e5a222c49ad5b491abcf90503aaf182ba7a0f1468d8650f669758e34d74445297d7486e43fef64e2e771df99f46037b16af34f84b62d5d9bc2629e088156ac0de1ccec72c8617212e415b36314cab9c498380eaec9bf058d90ccf46ae31bf313a8cf2b4d9f7aacb7e3dee0f66f9fae50ecbf0db1c6b6992a64a21f20621c882c3060a462ca97a1ec3bc37c98842ff5231fcaa8651ca81f14f5db164fe1e20740c54b1d46729f622e1ef14918dd679e639f9b7216a0b8c6a84f796f63ddfd564ef9c5b33bba3f736569bf8ad9559350b17e204508e3ddaccf03a549e79afd0b945a97a5b2d01f98b2220e826040bb59fa5114bbe73ee62b1499b68e657d5261bc7735aab0262c83a14caed2f8e3bb4b58887edb40ea947d79e49cc787fc1dca75eeae1c7d2ac13a5c2868f79c6f9506fccb67bc19242adf4b469ad40b30d1abccda0002ee98fc2c111b66ae27a9caf05eca4b31c2a129206bbe45848f6e37f4f41e4e3f3123e3f0a0c01c3dbb96e759f1f4e5298271d45aaf51232059942cce319ea5012b957dacaef8ac4aad37d13a540180b39845c9f14762b2de71bc8c59a905fe4af9a88b8e95369494d6415d90431f6e5ce123c9266432803d6dc2e240a88b86b21aaf7fc09dfab3e428546c6025bddd1534c335bb3e7803a2b094fd2a2d80d3026c4447805ecc4fc9e7ad0b7bfe16a03914b1fb40a6d23bc82bb6ace998e8836df210af28fead64f1c42a9c6d07a2cbdcb6cc855ddd85665575a07b4a15663b1012500c64ed34b1e6a1d56b78d03be9e6d3eb4dffb8eaf2cbd50fe628609769c9d4f5d3309096c26065960edae6c6d72eb22876db27efbca6669a5a85d0f5e87e36cc11d60ba763d520f69d71fa499a47909a2aec39cf6a6725fbbe5e735ede86a597fda49377f8212820454e6e152443ebfba5b4dc2fe227ea5819ab0bd538767db0d40e6da6b1bdbef5be614e5d504f232f6001a9a8567dd1728c9cf2dcbe42d836afbabd7b4f79a964e418130a52442366d766ee44145d293befdfd897d46ccdb42a79dde32383258c1ffa1230763c5f5ffd7413caca5ffceb18143d9a831ba9d600a91114d459c0eeb97f1f1b1da191998d656013f4e8c6d438dad69717e8ca0e48405848fd6e87b74ecc91fa474be2a5731b363e0aacf8096e2e0268963b645f2afedc5501bfabb71108aa1544bf3c3ca73efe476df3d20a742bb82d9f5fa5b7033b19d4197b958f6d853be13530c2bced20329af46adc1906da1b1c43323b59d153b001ae3f647d3028634d9ee086f38aee0eab7ef210eb7968af61adb7d3091ed206efbca5ca4810a3222637faae3b54d757f8777ecda7f70097607468ec855cda3cc254d97b0b4f74a99bad64519984d3f2f3919094377552f93e1b77a0c2e5f6bd697a0de1523df4c1aa5234d469137e7e90c6b769f9c9f331d057a892a5196087efe850adf84d978a79c1f5d320e48384440d1a5b946490dfe6591256c2417c791271d2b755872731887f77a7778e16be8a564fcf41122b45058714342bce4c1f1118c42923b50b0c1237da27fae7177f3b6682a955c9dced93f9f310a481dfc04471e557a29b2812f68cbf79cfb67ca5f555181997b95cedf55368fc034d8b7af761c63666e247bfb84849cfaad3ae70cf243efad2676a48e2ed4b4a46ca4d6fd4698621249d7a7663652612bbc24ae471bfc36176d55a7e47ce84af196cf2bda867dc1ae8da41391265f6b77fccab696736da4f0f7b30d358dbe49e4d5c29c0b0d0d7d317ae43013b749f7faac15291fb80d91f345d852856b87922f3930b4f885c68efd2be618fa99a104080871949d208db04bc32297abae2e3647ac395790e9e032ff3cd3015aefdfd3bcf8a3d8674215da59302ef97c0fa32ff124446f27d0461c9704a858e3edfd2c00bed9d52bd08a80bc2393ed4ad5ebdd366550453d35a3cbce531b46394686bc531db56353626cea2e2f0b1b4b6acdd505ab42bfa3ba031853dcbfe048c8d023c1833039554688f83c0879ef336f643d7c72c520c80efe80197eb506e8faacd9bbf39185802c9e59bacce64590e968072f0d9a028d0175b57813f8825949f391b3c3e89148f2bd43c8faf6eeaec3ab5c292363830bd00d8a861492f4c92d9f6a134c7720ccbe97e978652406889ae86172522b12c07f8bbb9257697579cb38b926237b765ba3a6e14a5798ab3d2f47cb7949c9f647fd0b2e702e0e3783bfba609bda5731916f936d6bd7df71727ddc35b5cfb904b22a1f94bfa7d9b784dea39c7a48da184d94274d2a948777bda57e4fad4031e31943f3645330cd38add75282f1843083c6b860de0448e65656582dd6fc38bdce8c828d38a55da2d40aac04237c5075322f39a6aeaeb1693a64465459087efb74347944ae420488c0d92e141e0cf36d5c75c5b6aefe4b05da61daea25387894552ec6f256e8dde345b3d8ad68f1aafd848f62f5ebefb094209fd034c8407bc28dd04e8219f792eb3cc132c9fc4a0e0d7cea1ce29a668d2d4d5413d61326cce97b5ef8713cd709c5935f2e39d69d25b93a47fecf2f4671cb7af4c152d5f172b5bc2c544bacad778fc6fe1e6b8e6832999cdc453fe67d7da9bd340a1f8b6806a79b76cfef24337e35be3a1e9a0add786f50e86a813f09aee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855f94cb9e7a46077d83f96b74e21127a95a0c254a128b87ce3cd152a1a4a45105df651fee436e45726bd9a413f6f36262517c7a9e10ca75a5d1fb2258108c6976ade161399697fe762aad7a7c21f062c6ee1db2aea2007f38d38c8e9214c8078d0423525d388150b0dc086c1cae9a98966d7cb56b6aff3d79746ef8acccd7c4b59742cdf9af8c07531f400bfd679aef16e63988716708557b550e8423989cf7885b3fdf6085941b6325e44084dc85ebadda8ebff742c060f66667471930ff520b4269ede2286cf585d46567d0ffe7ff67422f95432d72af6204fd9e41a8e0d5efdf32445e1e4be72a3c086bae2806d8d7018cacb0408f42e89f822590807e50be5f97879475c8679c5787c21bd6628b062964d78c48a32a7d8631d839ca84cdff1cc5c829e9d104b577d091a9d77b3749742aafc4b071091a68cc5fc08dcb7ac9d76459ff35162dfbf3eb6fe11a089d0661ad1f6e084000395aa37b715986c1aee4d755d0fd4dbcdfde5c732df23adde96c10750b868134e40c1ff5cf820ccc705a655103fff1497c84b99450db54ab3cf285f8c832910629ecb97e8f9ef9dcfb859f73340065b4cca494334ce5c6044182ad3ec30b639fc15c54fc30358559efa817aaf6a2d6eba19b3632b0a333e8a23515261a2e927ed26e175a52abd437d9517d2bdc1f66f3de2190fc5bc4472cb097db7325cdd85e7f436af653b1c08f8fa554da24893614eae65dc3c95f8873e2c991f0878c653510b9e77eccc324bba37a8edc55b71ca7fabf01a4a9b4750f67831b3302e17fa1388992a58c3fea6720cc501af46daf974b71522080209cdccd0e3dcac662c748d7826f442d0e4c3574a606bee74126e38f8dceceb014b5d7ab34045d3ac426f37aa459b12f91b7afda18f101ace5fe025897ff28e296bb83363bf0230a0ca5833d4bf5a3b809413abd627a0cd1b918b4b8f93166a98f96306867a6539abc816ee06db90c50b0460baf869803bab8c68219eb93d366a063158cce6a1cc56f46c5c2dd4b973ed5e0d981978aaae513f35ce5c622aec9ea6393a81ec72bb25feccfeefd290e36a865acc9fe2943c29c026f4e29fc543128cf1571a8e3834f0c94d0047eb8be5364906436652ab4c5fde70e08ed0a67feb27ea29b2419224d640aa918d075bf6e70c30d665ce5bbf303543d74c7eb2c40364e3c3f03fad3698f6dadd673c25cc6dc07b4a7ee1346fed302e5fb73a10545f4efc3de551e999189e2a49fbf6e9f701e1ae69d0dd980ad2f8f3b0d17b7b51cfb1bd06fea5b1e17ca9ad8ed048c5d3d66c19a2f7fb7e169454173417df306b925d19f023cdbaefa608989d528b4cec8416fe31784429b1e3e346daf7bcd6119fb29ce7ae1043d022444be3fdd1a007d191313c575ed31e8b01f998508388c2127825b7fb152450e8763fc69996c1d3d6edf10bfae33c5dc02d631a8cfd0ecb0766c3d0aa722b778df3c0d9f47b020f14f983756f44deef307ff7990b12a9d0303ad46b9032537392d430ee7d54c93459908ac481e08ccc6dd61ee60c61fcb089b65351c64328e0fc6b15dba38056a078d9c740b089f2beb89d11ada801578a17f0278b6f77c9cf5004fc19723381da1d48bb001367fefce7d171d85267c081e194636c9a53aaf1ea52fcd42a0706a114181fcb01273be766154a36d6ae31fa665c9511b2651bcaa78252b2c842ac0fab37d57cb3174b86ae1d1b12c39d0fddb1fa9b4de2d18d4ebfd7d38f839206243673b15be2df63ce38656dd2eab951cd02238e1815763fe6d0bcc0890f71ee930f7e91d9c29e5fc8ae0b29964c93ccfc6a8b33934f4a9d758c02b93254893b88eec97cdd3f105ba9a8bf8233ad6a5e4d57c3a8bcbd43eb1ee7daad8500587d60b756748682afa7d5080264f9d778677f04548f0ebed7ca92de1d745912c3a7170836b8ffe9f7f3c7b31c05ca039aae8a80e8ad8270cc99dca264f0292d4ff4dbc9c905837fb1b497dc7e86dca745dd40be76c204b011d4261957dd85f17032431aacd7182fc629603a318700618a009c95022f838aa21659648cad8e2fb4edcf16772abec90473d75fe45373251d0b012ce4c1cf06b5ed3d8ff865ec08a076ddbdd8da4aba7aa725836ea953c74eb5552908f0fb0960b9a0b96480d0489e08568625b75583a18a278e72b05fc2b1da1788c408cf9d4a4ed6febb9c1f5ceeab1e81075c7b4db208dea06f2ed1df3cc8a3fa27adfff32b1eb4b9c7f9c6e173fc4f6e2cf80ac7c8b1a276fa724dc6716cca89ce7e46dc29df9135b43fb059203c29fb5445457cf1a1ca5beeb305909dfeae22dccc2561005b68e207c0dab94c376086995674e535cc603f2a4b638ea4831dc58affa03be410d2d21b97118ccfa7572fdd982103f858fba7ffb9292310410b8005a23f0ec9b9804316cdd53fe8a306a9a5aaeab7f917c0a4232d3aab1635891e9a7029dae5b60465b7d8f0070274757a2e145e65d3b9c64632cb5f2e642bb34f3f89d94195f7ea30e995237aafa8be2453cd5e5ec3be172b453f21f51e05cd052d388fe22467a6c46c8a14b8527256ad6d1eff0365142f5a359bbf8cbdf04932a2f9a1adb7eac5b1f3d1e0fc698d296625630efad368eda5f7a90c51901b3438d5deb59a52467bd0380821055967e3d935026b62fdd340850d2a84c6ee394d3e48648149929dd1f3a9691a334b2052e443fa645a137642d1e6bb4f4fb25160f68ba90e8395cb8eccf6f988db92b9196e10ccef16feac6f2e4f94484ee437d50076fd155a044a099ccf42a0d53f55458dd81bb7563ac81b2580b9412103b27bee9bf069971b9fb23857aa1f3878ee7fb21a8e7fc373922cd0c00b925b12d4f6b59414cc54420a6610419a1e280b55e18c90132aedb2c0a6ff9b5db9ba7c60a27e954fbb2423c4b2a8580226a5f739fc934e5fa285872397cbdb033ef0083fc58fcd86fa50f5fca0c1d5bad7f669abee0cc86041ed1e9f11df7a5f1cafe7d7de1593727ed56f89e7e706a2333f58cd34c9aa80594cb93d906d7420b66ed867ff8725df71cb0d3099bcbe39947ecc96798e89e73f13a35c80fef4b1af51d45ca86530565c26ef721eceab2a6ea7481b4f2527e2202049443c959a91cd092b67319995e949fe00f167e17ea6b02e291df82ff15f1ddbd8e593563a18034bd0dac53ab1b93bd31d0453fa17d92656f9a94ddd7d45ba8c000dc3d6905d2a96fc52ec72b601a83758e590ba45340daaa095a2ac19e9183da15bbe914cb35b3ff4cb301c39a0705c8b784ec3226ed6e1a5a50ec953ee2fa296c4ab893c01549f73337d78bb7efe694462dbe7d9bf5c0031902dd081694215453f5766ec1c8700ec2f9c6658dc40d63d2609fb1ccd05bd8ba35aa83458740b750bd9169914ea23883864d076368d062fbebf156c74bb8932712bc67b84c71760fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5ed6a08f90008fe6345857bd4ce723cb7a0bba229506c5dc7e923c8fc4f23a01d8b3a4be0981cc17527f3b7004b5b2f1b7717d2aea8b084cbb2c5fb1ee815dd4312fd986c79f8541bcb34ce4c710ce30795216be25ce86d90acdd53f2bb37eceb60411b117f70414fb93af757c50d3ecc74719f69c684e7fa11c60605da1b81faaacddd7f7611605747e65de92929d5651abba664e1b21dbd32becd56f2f3b27f12bab57c0f2f5e9f9a61c81e5b6cf1ff65008fa4a9f0cdbf6f63dacca23a7236ccebee4cb80d45ae9c616b0d2a2db7a7fac37e1524e3b65331a0037156aaa03f032c9222f9151ab0d67d4333d50ab38a5f0cbee480f12af63d4f02f324ce704369262d7b0b06549c3dd4c7677b0ad19ad1e289db22ba86fbe642cc3cfd6f1b3163e7c03011ff68bf9bb84e40e24480d0ece951a0e18c16b78b7e81dab659efbb9b746d49bcade621297535781e6807960df36b220917f4e81cc74e75cc9a66ce0c6da602860c40905c959a0e0ae3c19d84df76c6b752e5f14daf474f91548959e32bf89bbea6918c9bb4499b638c2e29fc4ef9faf973bf183ad2dc700dd70549186c961e7bb6ac5e68a5dd1d1f1beaed7fb7140a64f68e0841d1085e7b6632ade7289e0d706540cb39e46c3c28b7b4cbaeb70d1d46a228ba33b8efe2c3bd9b192cd3ad8bc67f1d9f656212e401ec4343f679a93913acdf5e9cf66a2479937c6fb85cb69513cdb02f849e3bd5f047c5e8faef19c1af6d1dfa30f615a52f387e3c3fa9ae1ee1f90d6283129ea84d1671671d6c90640860a213b0c50579dec037b45e5ce37baa5114f99f2166ce02a334092fa47256deb3e38375352461b158d27a3fcfba85d0a8f85c69fb1e3c3c8a29c1670666684d64c1d56658848179c65e998dab51bcbad5468842d554b4aeef07f725b541b67d0c3f0d6a433c7d4bbb2c9123da13ee0cd47e029be9405171b60075a730e84916817dc881c8c8f90cfd4a6ea4fdb9f95f3b1f73643284eee09271f7983a04069537ad0ef49f81caa4f4196c111060ce6a3076998fa555986bf441712a612667f771cb41c6f6c2160f43cbb8d4281dddd3fb13b5770ae100e32fb7dfa4e17746cb41162b6bad12bf828e2850d530bef9fdc0409bf3ffa62f289dec0228053fedc6bfc21db7296f4bc925e4efa416de25e3864164f2378945eeea8a4106c448ab87411313e58f81a0749dbd9df3913b362db3a0b4eee2bd31b88f4a1111240b6fa6f6b48d9bb5d109e93eaa925e702ae3d8f6feaa069ac10e52c556f5dac4be4c7b631fca5fe932411bdc70020c9e311a1cc9747dfdb409bd0527b257d0a5b41c3574e40c4958265c98ecf4cd7ea8b0e23a940aaa515667681612a86a8b27f5408c86061147ac42add7bbf281b2d1a96be2c45ddb04c01c4db677c890d6b0d1e978550e9b7fb19bc7020048951e022bb9ba2f07fb74523c3d5bcdd26cff48587f883e87b66b09039bf678bc9a69c9486edfd7dfcf0899bd456b6cbb926f1da39376896122b85cbe2ad82af9ce9182713dd77d5d3570be3fd8674e316f5f0ff2d92fbfccde2ef14ee67854217fa2b59ee4dbcd22a37d70243818b82ca373fb93ea322945b4881dce3e2c5e3beb9b5dc6e3db8056d41da92244b7249bceb40abf9f35ebb2146f4cfb61c84eea976188394f6764a11381d72bc0e052dbeae330c4db04bb0ee984a3e751c561094ddeb6d0596840d08d5d04f0c20ea333ffc7ef973b2a9eb5888c5e38c32fe593a42b2e04a1400d7dc77c6255c2c70a131cfe8c5c618fb3e29bcd1e111a9990585d83e474338d34d842c0bb121d1ad36a129c649c64c2fb57cfcd41d953f1028dc59997ed610ba7c0d907a60907cbc460fa2d78317c30ee0bf2d5809f88ca0b0d5b778fc9d1d8dcdae9e62bd85962ea721a718ba755ad0bb961eb796d8c34bf98285381f550c53d4c3607acd4c806de0bc016eba9afe6748d34a887bdd32ab18f2777ad3ebc2169a3c7b33cfb770fe9a5db33b4d1f9ffa0ceb0f0c1a5a3bbda94d5b43cfaf9edce5eb87f0b27094aab1337336192568e16b110f43424061b166238cdc6c911ad5b022462a456330ea527a9d360e7d7a24fdc057fadc84e9331b73a0d9d5feb019fa092f423d44f763e3fed7d7c85b9c39327ba5ec653dfabcba2386c388f8cdec4d87a672d49078c840dcad1e938aa61bd68da6cdf0ab45033c1f6ff27e8ceee8003d17f81a137eb947e769be31f1a6d5e7fdaa1ded63f3160cd59bd03c77ea5835b96dd3b44b115dcd4c5fda0ea9cc34eafb9955248e7bb4897e7ffab6ea9590e20a5f58abfc933a32ed7a877a7000e6b8948e7f5a9e0b2d3703e45ba8036166a48d0c409536d9c58f623f3c53087f6714ab2f2140368af5cd15d8ee3dfd7802b16c9838c207bfb3d002f8304a5970a4cc2f11c4b45e3330c9e9df554e3fa7cba85135ee579db7825db2304d8f91a2201fcfc570606c506aa27dea6a6a2ff056e28cf946cab8db96c48745653c20f64bc8f84ade9f31aa0955e23208031c08e0082678fc43febd319892ea5f2526244f15368749c1e5b694e101b48d58e7f2579950773c11e06ebd1dd7e536c4941395d5a353a6d7d3881debc8072dbdcd1030deaed2d7f173bec6a4ec8d44b503f361154ec4d836961e4d450990e9ab8339d86df38bfa4fe70e9709474e230551c751c5a711047ed1b17483a037e17bc9eb8da3259cc984b18fa9f2e9d8d86c4c06b7ee186733608b96bdfb3223f0066e65b2d2f219e9e23e7657d6028ca7e48ed672a2eafb80d633797b18bd5782ba93de36f5f1ac929b657baebbc3e1ff67ceca96d07bfd721536a9702c9ab1207c0066b522014384179af17d648019b424ac2d01d7923fbfc265de2f7d118b5f4c177b8ac825e92031844e963796782c472670c51c2ed3a04dd02706bc54f16f1a58fdac06331da3e337c054ea268ad1f7589fb5cfef82435df1652eca9df79081f2ac578268631a841ab33e77a67e91f5cb969ca1bfe5f0798229c66b0c4edde18e71909340c6966adb641cc1c43424edd490721bde9dbbeb6b17a2a690e43716d50d1d304a01f7bd20109d8f399525aae25748d15482e4d856addad2d92866158f1c0649205b733d29f14572adcaac7d866af17214d65b40168a8fccb43897134671fbd7bce1b9e80e3656b65e1b0cb2eac0a5e1b333ebfafdcc991d62e53e4cd7c1821df7e1bff6f310f70f610aef1b325e6860ba203f6907bf7a3bf23c30d231f3f355e4a1405f06d845aeb8c0c11adde447690c72e80ecf518ac95d365c70e243d5db31d3e2310b22d3cfd5d507cd9ccc243703d918c9b2768fa8580835863125b1c2c4cd848d166fb83f91b0be522bb2f9625fc7163487e8ea21bb53164faac20bfb4165f3c2267c199b75ad78a39f249597e2db015e9a564d7609a1c07e0ee8d24159b28cc398f87ff2ea5d9d1ba7e3b669d8d7d7551ac93620cf1f3a5b493a62a5cfda579a3602dbb0891fed8e46534cf4c7e7eed8b7360b79b4990de24555382bd4a22fc2ea4aac72ed4c2aedb89f195fee0243ffe6db71a19cbb626fb267fe104af843eb742f2b2998689b12c71f29ded714970570c1d28552efa5d3e812e017d22def9c2c36c2be334a545deb2aabc3193053bec5105768ff45adc14af27e2d2ae86aa11bd27c5870a3488565dcad8acca171beb340b104d0d3eaf7ebecc69280304155877e020dfd75bee40bc0360960507cb0c0360b608290654a53d55302f995f205685b587e99af8b5d3b78a8a5ccabeb8b50c3bd91842e2f6f1f0694fed9ad91f62684a8df434c12f2c65ba5c9c148dfc352af41e6ccec7ecbf0cd5ba55922075b8e61650602b53c09a04e45205184df8c35faa886b6d551fef82919dd981eaaaca747597c4b44a3ce1138d264ecec9ce1f5bc2f388e8e7447a59883cd4a3095ff616bec658ce286e0ab165279843cbe9942d43732fc97a6302a5d60a2235646d725e186be8c6df407edcacfbfbf4d06545dd1ce13478afd230a223bd71d7f4b520f97d2c9f55b345d0957a3dcd07d62de9789ce31106ad37e646ac3c8eb185e10ad99de4112857d142ef6ee019b365c6338a6466cc241fb68a91080e6d5db2f84dc25cbb61d418948844f03d77c46bdad49a5d069e5f6de17871e9b754d959f4e0421c9538d5b3f1142fd2f30256213a7d8769a0df7be537a716450d3154ba2fec5e76af71707f23d636f5dcb7d21689b9a44017c59fa5a23b3357d9540a8943e675ef1e879bea225e0785aba75f4367213e6d10f868d3bf4d583ddb2abfa330d9737ca027e08516573c72ff41e7318d2480cb22820666f2ff26f9071bc1df8d28fd6c6e494c81403a85bcd935e618af9dc148bd271915fabfd1247f3e37b3da8ffa1fb829f72b66cf723db4af71540c4caf23ba4b15f68895ba60f9f7bec920ab92f3c8a25a84eaa8ed5e085c8996a8ea5c42ec325a60765d2c5ce113917e1ed91b7a16d9c36fadfc0c4521b6b636fa574aee8f470e77123cf271e77f307b6891e5ad66a940c8d09cee478a6c9952a51472b3e581697a352406036c4a4c5b3eb419e7ac8439e09fb28f0ad919069adf15452467d73d90cecef6c93ae466a624d16573bfc07350ba5c8f3565b609098e10a9f031194b4c922afecc867793a64d8b8a588cf45e75c88fd19de63a199a89b20763c24d1043ceb259233246417d69b4c538b4a259a8d9c28790801d09baf24c1e14b40126b7f1a45551cb136814dfd820655ed430021f10ae5a85ade06ed3aacf644d8a7ff52f88f21173503a3724690fe46afaba1eef901e6e0e81e7b56210bf81b18f85878826da7f2d3c23510ff0538bcb25217c4b2188f62025dbfe2db72b3afa8ceabf401877e7a2302bc3169a83c7ff14023a98bed7b00b0181a929d5cf57a4a79d0986c1f3aca8355495b3221e2598a26be67a9273d159c1d79c9daa6df100b6b711c59905e3796d7ae977b5ebc34828b1fdddbee77ece804139cf71fd7a5a3e8f5a70e8403ca4b3d4ef2d768ad26d2cd25cc91884b8498cc3c760248b7ca8ea92f217ca536c7a9c7aad2982b0da2edb05b00e986dc25b46d646e1f3ca84e482002219a44bb9d1915ab7ad8d7eb6869a75b83b7127f0adc8ce2c0aebfdddafc2ad1a5dc6cbc93be6c9eabda74a4c1f916294bf3c450449d508ae15ab7fce96a0543b3220bfa7a5bba5f6d90e2413bf06d2438c49f6b46b6631690fcd8d5c73e3226407c7f72d7fefba608a58c764184a1b01732a27cddf124c5592ff508183fc04ec95311aa5f327e8cd42b67161de49127b292cb5adf23df025190acc6f205c227059c1c39936c281cf1d7819c3bb1c57e3c745869a8907e5b7a2cd0f9f78cf6cd2a5d6c5bd1cd6f66e5221231b5a0755e55858972df74a552a80acb69be613fb07a52a462fd50ddd57384ec0af9da56ac4bdcc7e465c066bb037a06fd2744b71fb5039095756b1245a6469c780e9f1ef44e218540b9ea50f1b95d880a89866398d945d4b9fe798b004b26258912457bfd69bc54b44553cd9c7f05f8e2afc9ebe6e7288956807db9612943c060e3e073d2f7e439f54b3fa282cd3221917745c08cc39f4ca4caf37cd00f0d564daac9554970140d9fafc2086e70d74e65f57d603c839a3bc3bedf1db9c079f4bed420d5828546ad9d17b03070c01063f94f8a4b61c08505f73a7d43eaba65fcc22101211ed1de3839fc999869246de291f4d7c40f1fb9e561df407b9a84ac2c17b953fddf28b6b0754b93626b29297cba5acd20949ad590bfbc1c4eb039f48f84d613da6426c2b229eb1a9426aec24d1221c6b1c52cfab38c1d05ca58774cfaaa530bb3c5e7ae0c91717f1a579da2f36648d41794f11bb509ecfba7194e3f1c2e2f4caf21f548eec2f0838f8a93d8fa966ded380ee3b4471235ef136d04395ec6815400c65f911c693eda76667495f0a7f1a972dd44172df506055c87882fe981cfe56314b23c626fe218aaff1917ca80e6ff8f8455c9100feed559867701cb8e74c9014e7bc960b17120c5fe9dbddb00e31a476c05b1da3a62baecfebf328fc4cb32d587052d384e597ca02c36798d74d46290e63c21efde241b555e74e07867db8fb7624489a66ff531f3a1ce458fd501ea05f2db053c81837c50843118cd4c02038687fd7d8573d0ef973abedbc7c3ca6e69209e31a73a87d6f480f69a075f062201e43b0965c00b9fb081b8df19518c3a0b7b799204615f675cd52ddd4c4f9710545cb0b1166f3beb8cd7746cb12e3b7dc29848d81a056f42f626c7ec5e2c1fd1ae1d8ab092153dd7119861cef13c8ca772b39f05411583cbdca49c355d8a082ffa9a17369d5ffd0c04b1de7f1989ff2a96675c88582e0a4c8313f9c0e770c4be609008393ab2cc107885adbd15c6be53b8a7edf5ca22cfbdfd27170b817434ffb6b7df9a0b36101667d38c711dc08d565e98f80eae436ba3ec7cb0fe9ffc9879402249c49c0df40981751fd46817aa2f01f7d90fc2427ec2edc2b4c511182ec22e489370046a0d9c876e4e8535975ffb32b836f3510c7b5df451c2149489740e093d79d945be2ced7686541cabe5fd9e0cd18b934c6407a4607f9233d7d1b6516e9be0b1b9c6aba02444ba12b06a299e337d0242d17c8443c8d211cce41483cb77caad7da0691eaf4e4c1d6916e45bb23dced4b13e75b6d14f4aa3384fcfada45c98de27b74b819df63df2367fdab1957dc659ee59870b3ee54e23467facab14d281547dc7ce75507577b0c4bbc4c2edea4f0084d38b1a696c2a4365a258b773b9d3b964c8efff29f68a3236fc52c1b9469ea855f4edbdec3b994e72ab81a153911439d9055367f4a304ccff0f9b879e788b817aa7d64aa18fd5edec4bf943fd8050eb3f56b2d60cb49bb8dbc0e4df922ccbfb93a9f91a09b473a8beca7ee763675903a22fc74383dbc2084256da490f7e9c48c340c9715b0dac11802a8fda058998fadcc47ffb2f4c0e2f8507f42729cda56ced9741da8d32c11756984503ec683f77e1154d03fadce304a081431541843e64de6135470bed9b4dba38699309db890b6c660af2886b4c086bba8a8140810960aacf2ded971a471d8456416567ec813b7b3e46652a7ddb5e71903e152c9e88f36fc46aefbfa8de0e8ad0b5808f1b61c454d3bf5b06836617d0ff3b67ccc22696be836d451e4b1d2c7539667a0102ccae8e1f2b00fa9cb96249f2c9e9b67b425bf0e26430dc09c72caa68f5236d766a942e6c0f82f427ddeb1920a93ffb30c9a260b3f0aa0e6a5b4f6f6ee97b9f0edc412503c1df01bb21baef23f720e10e44ac5c48be9fc23a0370105dc1ffacf2435be178b6eee4e4359de9b5a9ddbe859f39b3598f159cddd2887d3030514e28cd311bf8a7f2480ea852ed9f040c303001b80ea3892fc6e1db16fd9ab5f54e446699f40079ce33e890a944271d818ab5a7b56d0c4b3d22d534267dd78c660b64c90fac480e3602bf320cc2dee19d5c50f83e1e8b7355682c9eb4cc87fd754a701cdcbb3a51956fd243efff5b25ffe77109efe470a6b4a0e899a9beaf14cc5338709bcfca37fbc617cd24eb397f50d7ddfed83ae5d48cf6bf7e93c37e57761853b8d501b7713422830b097a86e872593e0aad8a5bee4fce0376231c4ceddc30afb2cb7a21d35cab751f0d6561d1620b8373a028f14c67d76b9596f9ad286fd75a011d7e10bd66d3483368483990715094b6bc7139d441bb808dff052552c22b22f8ac81aa9736e4d54f79dd6ccb59166abe4c162411d10b06122293ca702074d27ef43cc7603cbe17504efaa8a755910521f955536051463017f0d484797a3d7ed00af355b44b1dbfa44a702ec359744da2cc58e10aec81cf75a69c3584b8383d7e797a862c0acb32c852db993ac17e6bc649af1b65e29d6846059111c6ef652a3e343884bcade4c786976329c2796d21a7ccb1af90ea7560137c548ce7e37766dbf0e747e2d8e25efcf98c1b341b9d0edf3d9d5e389ad0f6f39ae8c3cf63c741a8f4ae57533ddd536c5c8136b3d1e970137ba6c1687ce6c74834362ce4613511ae38ba0859e3756e1ccd5a669c719a4d766f324e0cd4de9ce66f1fc09ef15532555f1dccf7ede91a06150e0288dec9f7cdee731be25eb2edaf43c13a005685e2af419b532e6ea3e07e930b557d2caf9e449c61d5861396d158d9674be5b8ac93e24d83f55747f84d8e6660e944ed97f9d1b05d61986a480e22f5abd271b4b144e37fc61c60893d1c0553a068a56bf4ba3f226db3de5e1b4dc31f60332e465fead778cbe3664f7a17db8f9ae2c11e59fc9479de4718e9abd9ef668c56e95aa83e34e3e02f9d75a34d2cc5baa1ced604a5096bb54ee7e0e045ee1973b92f090583f3b6f8f13de6ed04a1d9e85422c373e53b32b0982304b93728bfd2b9a49c4a23dc7a1a95bb73f8d07502cf1a6f66c630ffe37938b39c88576a9b1bf7c96416c3cd32d4c0ae2ac2646eb0e3f23a82969d87220f543156f50627f780738bba74dc2c2467ea8619ec908029de3783cd5423d2ee084608b36f04ecf65cadb4397a079a63801599c447c36de542c639faa76c052ec1d7196e7b42dacb7f06b6c5eb5a9d1e576cfb979ed5e8d83367cd132b39901a272952520ea2a625cda47c0f74fa30f11879924b5dc8fd9490b157b7ecfc8d6a3141bc88e458f7c8fdb81f1fe21a6d47a6ecb9059b999fdcc436a76ba5f32e96f9267eb0658e5fac2392e0f311fcf3a2754c9931e0b82ae86048c55d4e450ce4dc3fc43ae80e1f7c6b2b9bb835b0c503f31327d17b4371dcf3dd0144bad623347f07f4970e41c421774755c89e523fd41f611c7b077d1992b0eb2a4fbae602c917a6390b5835a5a745abe4df9ee51f2fca9e950fc41259fe9043e9772b2ed1abce0a979b46bcf3eab43464c25492659c8c2e5d67982660c67eccc9313807e16e7eda03199eba65e0c179c28026a6c4e4a2cdeedd67a7e92608a7458d6948e0054c4521d913ba8983ca5404acbc0b877b93285c52e54d8f49123588444b7d94ad1dc4dfe8065a4cff014c7e0d2f9450437ce19c4f2520e37759451551fa49f4f4bf8a664a84cd6f0dab8976786f78ea34510127b692edb224ad1f2c41c6a464318068f7959875355364e320abd70208196c7581f5f32acd8b48490a6212420f7ad4853e6184a4730e4cfd18a1ba68b0464ffbab9ac4458076a3c2eb38fb82e5f811d147771a12e40b132cd2961109b81ed591d17f8503fd184a1cadd2f0dace6c8c8509d5162dfc96150928f48bd573b55b1b8f46d24120e87e4347d2644fc68fe61f53baae4e833d065fbaf832a4b7dafe3ae407921a9e12353494226832e7bb184ea508a98f8f9d06966ddb1ab05f5626e3641af9e2e533abef564f02fb7ef6be703595c1f47da9a9e84683439ccfecac21d748f46d1e1f940aeab95238de89e49ea64614bb8d5a7447692d4bc132dd9525a708ffa9616363b8d5f840d1ebcc75da44a4a484ce38cccd3224c68b5ddd478481b78bdbef5a280fc1af09ecc5eec7db19247ce2672932007988fae0a70d60c0f43b05959c9f1cd7eb93fd1081a1eab98f766175197fcca9585742b0ffdaf596f0d939a033121442ec525e24e944ecabcc48168410d54b4f6895acaf763dca32a13c08afbcb6c5d67d61cab8f3382a38ed9ab5db0996ed5017f1baf1d20fe83067079a56d48f2dd811dcbeb7904b3f4e581880695ae3774ca34276158f5814fadb0e529920647f0eb35dc82e490d96461abd23bbf2da522822948455413a345f9ef8ac7a7f81c6126584b3c964b1a54c24a12ce2c0f283661121974436cdb09ae91822497458072f5f97447c5d7245ee3b42b2e5df950a01ce7c2374db7b971a5a4304646d5a4e9ccfa76395eedd864107295503e102ea339e0fd4496204c697bdd5c1b1a35864dfefe504a990782ce66804d000472b3c601978fa9bd98dcf3b2750d608c684dc52dd1aa0eb7e562185c822e79d362de4f9f76a1a7016e1529a01d88a7da9552140f666c6a94772459b97034550179063bb5d020d3211a2547a14bb7a20e47f753d3cad416b6746928388cd2fdaded61933655a00df5386de39856a98bb68854f8e47888091ec7c661b060f00f5cb1c92cfe832faf91da739e447745937b543eb5b504a61877aca5223fbf8f03613a6b000e20eb275d9b8081c8059bc540481a303ce722d42f3bfb40dfccf983dce09e3ee0f570f3bcc969d4bab8c1f3d4572ecf3b5da7f936d0b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea48e0940e8a6e8861eaaaf90853a685fa803c4e039166060a3c921c8d79001e3ce58256300b4972317a540dfde857553323ac54b01af491a20b7745debc9624e513d8e60ff8a83f42bba7c1cfb2825e4dda8092c764f5dc6c42ace857d512c86205c765ff735641e7eede7f06ed9b7358e945774926614dc42712071def1fcd6c510d64c70323025dfde469539ca3b925c5707e72d0d1ce2fe020bd18184009934bf845389fc4ea3871dc8007e7b0fdbc0b8fc539564d884222d1e5bd1323c592936e5519f8b8a417005b3f1d9e4ad326c4e20164f63c6d4ddd80740d132e14c9e8a38c2afdda6dd245653ed2876c5c142cb78a402ae1a225c88cd6785c40c52b8ef5efeb3f25ae47ce03ba892f5caf77631b1257715fc12de72c21e61db17e4399dea777f6bac2a71aeb642ad0e6e7f3538dd74827269287339369eeb92a5f00f03b08d1faa1cf3d1a37ffc87924e8007431040bee05caba1f5c39d7a5ee4a4a0d8878c49953810b178449937e995710cd85e3be17089ef45a6c5331657a2c24f6bb1e8ce1d1c9e0f5dac9cbee55e72ccaf796a4710f33bb525e7406c87b44aad21d83498c3a7c87735049490ba02f2daaa6c9d80cc8c9c9b9b6164656397a704ee384515a4325315992e61dd957f0fa91f3858fe7c079de59f56edded51de86716ef40c102b1701970c7b0c34e6633d8a0ea1c89e7527252fcb07e63074221d7a5a95272343633b138abb330736b59ed95690c05ebec8aa80e6b9c293a4e3decd5f2ca4aec1cf71a49c5754c716dae18f9f02aa8e7c74f726f5f87c587e24139c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a857d11a8415a18e7a6ccf23640cf9bddf245a5f90c43b3014d08d3ae19faf9527d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66471e4defa1966d41eff6295259cd5212293d921af029329a5a3d15f4fe15db8ef98c260c8865603a742eae2e2a07336a2adba6380f582f2b3ecb1e70afb20cf42aecbc2617e2da3450034bf5c04e5b48d767ba7ad12498f7440c885afbcd58fd114a3e888c88970515d73484f51551fc664d163f156d7279186ecbf6b18bf870fe0335d9a95e12a332cd257a65d6d3435aaba4dc51bb698aeabef06bc7db0bd99cc27ce3a2873b39493bb7073642828b86af0aec0cf2706952a394d3da37fe8f57538678630bc09544e71e07777ae97831dbfd42a6b84035bf719f80cd3f625b7c30c0f72fef406b449596e61b95b58677d4f606f86b28aa4b3a52bd8fbf3f94710dfc6f122a6fb9e57005567bfb3490094fd57e49774d2c3f484820d3b8de50e075a8efe067cb8280ac5226624a0fd334bbb36c5353b53ee5ef4a9aa699d8d76bf1865f0ddba5c80877463ad6650d7fee66931486956a07884f53deaa13e2b88f848ed2cb9d4d9691684ce27333f4632fd897469b5ef12622fb48b243d80810c7273fd75b14e5e029619af15bf176f5c676bf3ac0cf71ec7de9e1b3586acd196b4651b81b4b3becf80f762bbf3d34a8a2d48c10b0987af13dafcdedebc22afd5cdabc01dac0a3e9731ac16353210a615ca44e85b6ec9eafd2e79206e0b26c768814d01cabe26b9b2c8ee27feb00b21af889aef6e66098033fd1ea388da642aa7386347afe4eae6830df7e33e700a3e78e26825535c87a86ce4c3cac6a98ed48b0376234b056fde83883d0e9730951be202c3644e4d5075b83b2fec4b8517a6f761b6f5075ea4a9b8d487ae0819a0850b858687ba242ae7f74afe0731eb76a55f6cd9410cbf61fd6c5103e8685f65afa20270cdf9cd067c908036ee722e77aae6d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d97f337bb07156b16607394e8caa771764ca5cbd2ce06e0fffe9622c0ee7d16b81cccc5e8a9a7ad608a04f242530345694bd7150bd73315513284142b6a39ba4b789cbb406d7438e4c8e90e1e0f03d4c9a199faaa1a0939a7c9b59b2674d892d57ff4f1e1fae2bd5c63f32b23cd028bca626a869479163db363a4cd7a1aebe88fb7651cd173c294dacf2ab7fd1e8937c098d34cbd08d3d6adb3f654b4255f289c086a1e0d967fd7c4963a25b81975857d7fca812c24c6cd0f49f9dcc839e842aa09bdbf34cba5d10fd6fed612d6d7d8096f38e2e1d2993af5f25ee4423c1db1ea69a53e8edded83a6934f34882f0461f05b96f2bef663db1f3a355cbc181c9bac1ac496b3bcc37452f0caa104b2205a8a19dde0196a7791988b3b74e23c2174c1e5cca0ba1e1a55cfa1e853e326eaf4a69f48c1d0caf2d3724ee41917fff042ca6c4e7415dc58cd4e35581fcf3874ae0f50b0f9dbbbb2f7ea3044ce2e1bca741a6601257db0dbcf5623e2aa7fc4e0ea81ae7608bd43b56d98b444be203205cda4a88df04139500a43e68fe9c469af5f6c672e50531951bba2a5952ee2d833b80b2cba6faa5749f84248b3e73894fb6731dc558af01f8f5a626d8f44ba6fad469770c0899ba44a3545c5e137ead0f121480c1d6d3851c8d481f1d6822e39a4cc60d515267e0d66e7e1bf222dd2f6316d93cecb7161a58e89b821fa0e88d027d2b66a1dd18c4e5c39422b86ffe6b588960921c2b166bd80e9f629f282f1e3e384be07c068e57721f18ef78dd4bbaacceb0ed18cf4f44ba873d4e262b741316b1e98b5e9860dad1bc2406b372de5c6bbc56b110eee9089581a19d01b884adb0d166991fa849426c181037576ff149e88ec0d710ce34beb7f3c53393244fede07fbfce816a4246c742f43898720cd9a1c2827450770fb4820558148b77d4a184367667a5aea0b72f8782e2f0548e0ee73eda13fea8ed57567f7237a872719493ac7481006999ad81df54ce2f8973d784ae6e2a1552ea6c042e16e9c0b9a60ba18fa9fae96474cc9c4ecf7fe722b34ddc4dbcf0dea7b4b2ed7a212f8cacc94a09cbf95a903a6f5c020de628d0a32e33cd307000dd09c8edb50eedab9f96127986e4be3323ca879b3d4aa50507352a39bc1678b5b931768271a7442c74d60073255e15920830a38872dd133848ff42759dd30a2024fde61517073a21834704b5b89ed0a328c93bb55fd41a5f13919aaaca0bd7ec949d9efc2bb2d8d90305ae5d364caa7320ecdbdb46f80c188fe3dbbb5b38fb464b4e6d9db5790db4385b9f84f86116b006fb153f7e9672dffb89e7227ac3354293a4b0792f1566717fcbe98436873bac1c976a3c699fabc5c0d7b477aa9f133128af324a95a09ac798f3132cfa5a16d1d7551f5a1a8d34d86bcde5b04aac2fca5205b58a5a4802671f29d4fd4508b81842ce88cd04cc55a2b73dae089634bd2b2ce43f792e0d2f72cc3810b9c8e2707f3fe0bf80bd45130f6007ce7c3ecec96a4285adb340317ee0ac037c58a7f76d9045ecda1931c125dbda11a03a3b954447da11a7d163e4f56dcd8b99879483e7fb69f1d336c40461066922d2868b91acdcb52ad523a7a68aba40e9205b22812496f31fa17dc923423a66a389d9eb91cb878662722eba30162b148354c3a3e66b24c0cf9586adea6621025faae129c4b9a58484caf37abc49aa5f29971daac89ee00c87d1b945c902a44f24d239a3ea1df6a2e05a176af36f2476ea995313c2729bc4c88d136666b79085ac3db00e48e9735900e98dee905a4fb1e162f4055327b5c87660136bfe42fb789f7dbebce796ec6630bdd5bd55c990c4318bad90742c2e548f02104088eb8f4db0d55bf982b18d29806a90c72f50c0b361ed6fa665b6526fd94ce2b0826e230115aa5d73279f74f7213a9fa3fdd5cc3b915b4ef5b60be46a505be3394bed11d6ededd76bd4b830ef7b09ccd4382b9b3d07ae50c2e407509ca6a1859d2194c7006696662f014ee5a71514f5d9d3690ba0d54f5ab5dae33682d786284961d7de79c4edffe28a1c01a3490ceb20811df1cfe5954b13d9aae5496cf022cd8bebf128f578caea3851cec11203f7a8ae6fab747d0e31aba4d58707428fd27c618a3630266b5fd94d4b8068c8b372f1703cb54e62c87b5e605acdb8edae624b831f825e09051b1de1edfcbc4946af4780401e1d023239bb456c78416b04a42d2a7e12b468040416c85624e7f99c742c785010a0df5f1ece5ac7f73f7867c90e7d72026c6500dcd948eea5bea83988add5ab266e4c682713d393787ae83cfe6ba699d87ae7c59e139d37c40474febcf1f2990e087d4ba35fdc2849ae172543023eb240e3fb7fff84c42ab276dbb0355f1cfd6bdd1f0401b34e33f9b405fe0c13552ebcc55bc40802529cfe9a3b1808088283096c4e6d70d57754e2a9d03c2e862bd9b3845a09bbd5bf0caf33eed8c2df58157aea57792b65159f4696943ae98dde48630a55ac6118863c7f93157124f147234906f43caeb64d19636ce9453eae6b2ca47230f87ef5e3da7bdc72b9e7a0dffb12c6b2323693f25069acaf1a869086550cc0712f88e6d210cd144681031b1b1ef442ad258c7fe242e5dd9ceb7c48cf303cdbdbf9544a07341c729e362cb3d276343a4865c914618c1f667e110d199ef9ad638599e61570f03d237fa741fc3cdfa60ab451d4f0bdf8fafc22ef66cd909942225b5b5a726d42515a8b147db902d522cd8eae37375f806d7284152c5d3991d6810ff44dc8110d5914386cd087f53f79d2b9f38e71eb382d1e4c96bda2aae72db4c84de67cccece3b757e3b6855a1cc533412db184f19ab5103c4dbce7d5cbb9228eb635926f39ce15929b93808e57e35427fda15fdceeb46b8387d08f0102556b01a2754ae28b19d5a0d6720c71755cd674c780831f3cbf345c9bb7b68b2fa841cf9ed1d8204ac05ebefb5ad1983deaead2cd5c71a960b4837d22946dc9d3b60f0750f3d8a53f443439d78b47a43e6c33415e75bf0ec1dcdc729a828215896a1d88d0353de8c4689c54f12f4cc92baadea19c1010f21fcb382ae7f736726620c0f4969ba9476488f65951492ff08050254dbe4ee4149112ae8b4ffcfe0367bb457a73b9a9534bf2ec495e2f7d99e23b1257b0009d69368088e45459755585c934a9e24ebb9f6b71fd27f8d10c2fa9cc4a4d51fe3719166ba49f30d39b362c29bdd27f19cadffdcfefefe5ad35511dd4b8f00d002a1cf08f116bc66dfefb2827a827b8f415e9dec139af8cd48937339af8d4a914a236fce4ab3cf616108851890ca158ab0e8a8ceb89c28cc2d7bbfd7ec377cbdcf51e82c3502a8fd2fb869366b9d7ef8f45f1064d076c9589ea909019de686265ea92369b1e4c8aaab055353ce98a4485167eeb27738d89c83386affd93c2fb0a70046fa60ea0899e3b5e51f80081a44e95b22b4527542a8c7ebfa7df96ebf11a98f1e1f98f2b4a56efede17dd6ca0a8f5992178a899e35d02af5f704b0a5d7790535af471b5e80aaad49dd11cc8ffda61c4882fc48399345011702818437e16306dffb98ec16b62b2aee70551e48d7aaf0f4858182fb584af2a60df13dd117444d5dcf2586bd96a399a98af3e4ab4e1c7cc39324ec6a4e82055cafc705b068d6f877e362b8cf38521862edcfb7e7725821ee55aabda7684d2c5fa6d313ca6dea0a1ea54614c2cd20a756c923a12c056eade4fa898c81677958cdb13dbe80c3d57773cdd9a3b093a4c0f670b023aea301a1e664559ee1ba88ff1ee58557fee5ce27d69784a9ff7aac9daf810226065317dad81887104bc5647daf1b315d7e23133cd3ef1e14b026cb4a0b3d9030c5060baa8a6fa86b16b8816281f68ad0517f1299af5387cdea3518ebe8eb402b62160ba6386d05f5f6e1559beedc540167307473a1fc88f1dd0863b6bc3be1c814c3512e77ad9eb1c8b7a0df03553a679304c53cb767af8ffeef26e3c7f34dd132a67a04c9985187e7392b0a657bb0167f900bbd00e403d313b098683a9114cd7b8cdb9941fe1e1360e8718a8e635ebe6a06978a5ec5d988a82bd9629f52b66d53774f5ef387b2dbf535cf3099ed3bbcfc3bc9b1a62d4e07093960a216eb823704e12e9a6738da157189200ec6c66bb4d36d189104c2ee6e3da1cd82cf09a3f7a61c11fe8d9acb53be3b2f13190467c7653fcfea4611ef3b5fe8b929151afd13d7b84a483d45954cf44b0cb899c994e01ac5672856cb92f1295b7b72744d482e2480dfac1c2c7ca67424702a2e10305073f2e258405ba22e3c69c7416cc3484bc6cda50b73644b78c2769c5a91122a078d822045f872a98d8cf6d0fa0be4dfa530f21d31bc82a742186dc0e1e71ed3943b1e73169ebe91c030bdbded3842eca6734d7dcba1862cf43fefef4918935f80d8be1ce534537439385a0bc072b095fce1d7ceb81ba4c727bca08bca20b71fdb13642af122a7d4b3c76d8e5291c668ed687719ddc54443ba31e287cd1e269cd2e680ff09ed9593a1fe42592f852127079c181f0e54d42eae0ca0c7e4c19b3878cf9b1b70c65c81e3052a62a5923033703d8237e53a0640826fcc7c97f309078b39ce04802310d87a7abd4f3d2eff93162865e9298aa9761ff5d708af47bd8c2a9217d7f5d57b63847ed792e3b2da51186331bb022e32f9908783a7cb8c8c4f0be769140fedb72865093f98689e36ed0a2959777626a70eeb988d1722199fc7e92e6a8dfb7787826bbda017cbbabfa833b9e3925531a4afc45e9b1970a861d6369d2ed71482db72ad082092c11165dc3f8294a8c71d38f790ca511bc898ff643ffcda3e875f8a0b3b7c0d49497cc2d842135b17f4dbc1a4ec8c55bb67647b17210b4194583e046df9b02a53a7ecfc6b195229eead65e4fb6dbd461bef4f51b79476cdb544ea5ceeea7b4d906d907450d2abdb5f06443fa8e1db3944bbe0f5089ca20a649789e59adf477d17806131b682b7912c3c4e2de22a56fd817e12b16992f3c5f2f963cc64c24f958c55a9b3f719114e559446fa316e0fb83e5f547666a6b73e95c6706f3dda17f6c533c90144066c8cdb029e9bb5074d40eda1d1c36bf63277fb217b781585d9e418765f5177dc2924931e55ca65f4978229bb19961222644e62c888f8b4781c238c4aa4c6354ac975603567f56fa0029e51e7f4d18bddc1dd584857aedff51ef3cfb6ad400fed58c0c4a0671d66d0df6319c0e2b4ba11fdb803cb2b9a6246ed159c2a23b3206ed897206b8902eb796c142ac724db8319da5db61aa69465a9b252ea1096b59ad7653f14f2b2fc684c259889bd8fceed9b63f792fea5859a41cea51335ff677181dbecc9f4b4153167999e469070e242a4847265c7d13399335381c9c71fec3722fc62724963d3d1543b6ba0d2ea885e6990447fb8c72061b98d7202cec8a5601a87d9d9186598e771e73efde416d809ce71d90e3a4304671c3bd70de1de6781e3bda32caf3754408887d5202be0bbaf365498d69366284807b90abc934a8227e2328f5db131566494571aef8c99d3b084e82cec4c86f75d1e67eb15f5ee60ede4821ce3956898c5e1185ec592da7a68ebaadc1f6fb9c0f5615f02591acb0bdf32384b067f893a3090cfbd3e656765858a64644e0f62d465e9529185ddafd841c7335eade2dcb8e510a6f66a531f9c123bb7a65ad11e3279db3cfda65a0df2d52fa1ff170e2e63dca68be5ec79b84a94def6368304d38b44b13d198aa0816aee4b7bbd2a47121d7b47d514ed03cd7b5d1f879ff4a4eff3cee1c0e15d7fb1d0647ed5e70a06cf93c27b8be76efcdd288eacbfdd4a25553dab91be84393d4b69f78dc43d81d3653151b54e574c2e705ff2995411a524f92c02f883a3a949ae852ab8a26b3db87e588ddf24c3b2a071a52e9a642cca8a304d80b5ba4c839bbbf2eda48369d8bd9db5090b8df6bf9f69d7be90a75cd7fd012b18319381f8faac79f2eafa693e9211a91a0794e68d7fdb36fd68758f9d821ad1d6abdb97cd3bd396188de2435fdf4c675477e063ba8bc340702bf99be0999dcb86736a9b3564215317ff4bfac3e99881221d64249c156341751bd63643309bfd9b6b63361233dfd8dc472dbda83ce3114d1bb814b7d591d90d564b97a70e187d59d532aafb8259c7acb0a87c70f997e151e7f4d69ee776b6fab66fbcf88e08b065225162edbee234976e2c063d7d9854571f7374f35218ffa1becae5b7b4809e21b074e569f8d68d143242a3c5535f87791261c7bdd195d98b84498392e1ed1c3307399d9c37ae122df7445ee435c92a0f00a85a90cd182748cabb9c061f5c976182c4537c081a9d33b1ded532be29ce7d1ab6f21ce82a8726e2bc2e391d5dd4245b5791abcce02fb10fb24fae6abee0a3ce8a08cea70ee45daa141fdace6d12a670c59c9598c5c1737e2e056e275976e1c4635f13a6f5a1749fcc7bcf76408d41ccea099f586f33723840f2e06479f5e649c29543f2bbe54cc51402a94d5fa8aa32e8fef57d241fc5c69374b534d4b7e49921d871e9a809f4b740e9d3e53c313ab3d0d7afe022287901f7822d1964527cec5380d5e78b5b5294c253cee5432359f651e1c836029c961139094248a1258d4fe38f4d2221b4968179bf7ad1466de93bc4ab9dbcf1991c648402dd9d3006258c65f13409b52b029fef9b2ff6cbe141845cb29d27de79e23a28994fd8c2f08200b7de8f7d16303a80b46eaa1483c46a533541d468e0182d4566ccb812e7b94a5154560fc1b1a558ce8a7eb24d8eb1407f4f3c1ed4ce2cf18b6a365d5034a7cf9bfb1efc9b8a18bfffc8b248c5e8ff537718f736998e1d5dcd1a7ffb8fc1f570726593fd71114f0e2de1bf1ed8eaeeb1903c22fcfadcbfb9d4f7bff3bd08ef2c6fcdcbe238d463fc9178d943f728e8284130b0c9c5f4d5f5e09e35e6a803ab002e68c8bba40ef851a4690017bfac94b9d578cf91d2615f6412360794bc4c17628a1bef13351145544e7c2aae73ab61f7be0d1fe41a564a90bead0ccfa266258f24ab61997f45e88839375c0541d9a81152d57681044b5a4229829971e59950afabbc28788ccb05f4dea72ae3a4900a4c918353342e807c3208d21db1fcd6ebd2228fbc5d6d564190f7da2138de1015c08c160f59e90a50df72baa5e4a17eca40692ccd540702dd4ac88ef3701da609f07d6d5115dfdb473f51f57b061fa50a2c6fbab608e268ee278e4d0c3b4102f1aa27fc740c5b601f3db8245419189826daab749ed01a92f2999c63a37379609439196983304d67ad1e9aaa9b694e63af60fd5b5edc3aa2823eec9d0e5a491f608b7267d9e11e2f82966445f17aafbd0ba6f44c763d292637447ade0e8d666d65425d40389efa1cf091bea481e286f6cc1da8368d4314525adf6f7ae27b5df2c3efb4c9da8f3311a5812a15c9140e8b14315d7f7695c13a9a2df05af053d3a247e6dc0a61267e6173655b101f53b1688c5aa9354c8490875acc3bb47ce72b63eb5ec7adfbf66380f2550c418432fe47df1ecc0544187831e044d0d5729aba90537d2f390167b4ef46eab949de09eecc1e0295c76de707de9892ed2bc5678e5aaa5ff7bbff86b2cbf5f49874ce9162748b2a43851398f43f1cfcd95a40d0f4a59c72ca82e740606bd10bfaf61866821b163c536e755954275b39de82092db790eab5f89d37bb522268212d75cc9c798f643a95b18cb146802267338d37e8843e9c95093d51971e275a742ef8db39dfdaef0b896c4287507166344f2b51edcccd5f3bb5d0caf0e459135dfff83faee382d3e41031cc7d0316d4bcf466c927974acc0aec849905c510f5054c98056bb2fd026d28463f4317713bb36c073acd5dac662d45b5a9798a42b1d70f8920bf353051fec5c6a83d152e88dd2ca3c6c50a99d89c10c4c2a270ab292755563206ee13e2df9a4bef61397c230087f01fb05b4b6dc6c8f55c4dcea745069b0f5392dcd5fc3f450acf319e2c5b00d66a726aabee5436f4a2c67d357d013e161531384b23027f520c20d1fffcf2a7202b88c51a7c44b6bf2f63149ab71a0b58ae4dc72231c8fcd60d2ca4c48fbff243249be2c40361454bdfd58534855a90d9f8d9629ccaae1c466afba74db4fba324f439c97406979f0521abf30ff19c0833cedef2dbdf095f74df68042755a34986224753caee65d76f0c126eadcb71bace44f21ea701f19869492a06f2851af0dc7cee287f0cc5ae54f0553aad8edba40190c4fbf4a1180a9609324c28085ed718716fe1b903f21deb30e9d2a1ec1d94cddce0ea644f9d333fe4f212e315fe0f3d1d4121095fcd71838c224377a2aedfada43ce0ff1ba720f89d82bc28000c3994a56777e7f39a995f4c6d0ede44eb446096850eb341cd0c4d8504404d259beca37d35fb9d12075551370e388fe8ffbf704430dbc00a8a48e389bca82dfa66511f232c18d338da503790782db18cb358129155507eaee2a6bdcb2d5014a311aca75319f71aa7db3c8e85d331e3ff39f88cf9144a08baf3fd4e93efdf08ea46ef913691544cec56006633a08cacc399d2d355f6022afd735b5c32b5e50acb2ca7a4feb5f3d80fe72fe5ab0ea9cbb26f3efb52068d1924134856247269613e21ae4bcbe74d4637db036ce42b06df7d1bbba292e62132b57dc0b41dc6be3e01b3a5cca26ea4505c318ae6b9ae3b5c05e8bdb575460685bda6d682bda5a1337a930807411216b758b32542ddb76fe0421056fa2911cc7bf375cc745659a8a64fe03a9e2805bb9eb49860f483d9a0abaa75761402a37c66a70d6cce4924d0355c323eab95a3fd1eeaa209813982fc459b1493f32e8e8588cd81ccd146823e2728ea20af131699fceaffc0b0fefde0e5f30a7bcf87a712cdeb5b895660aa3320bc2be9bb77a40dbfe1277be1e7bf472e00a472f2880cbf7441d95ba87ee976015451d8e68dc7188748d022f5adf8195b22bb148c91af3a5a7e43f76ef8e7c8ea7cff557decbf412d55374663177a4427ae03ec7cc9fdede4f102d1b93106957756ff035553d25d7b80588b77e83812f566c31f6c3413864c158d270905190dc1798b86c958bf4edbcc516f999f16a531e3f76fe2333f353a6f5dc37a75a09f746c3636f46418bed291e6334d1b701dc6fc3ae907860adf00a15f5b66184c7441eb7b584fd196af089bfa9eae055a93b8d3aa9f07064514d4108b3bb39e3d3fa2a6129f9e6d776d1dfce884c3d4f836c7cb66be33c3d054fbe568a1fc0e65d97bcfe9513f38ca7f7b1e4873f1cb6e71b62c9cb3688b687a841e1e6d33ea3d23d1e700ba201883886628d3c42bbe9f82279851df86ddba256d0c00e07634b0f0af884a113fe2854fb61bced9b4775681a5f9b378e7075763bfd71968f5193cdbfa2dc967ed4fe10e2a2abb63ddb8b39a8025a5d68e1fadb6909d02de70ef0733569b10ce689800e71bfb270f42ffb6016810ada2f50ca9a887c07557455d729a3e2e59d5182fe1ac08c997d4a6d8714fc791a65664cd031c1490266d680bd4379f71b93836339e216975831ba1c153ac9adaf8230a6659989bd2e664d996b5e70b9720e1a0e89a2681873aaabedd1fb43c3f9046086de12d7fb49c2c62ca3e87c847948fdcb3104ea557ee969dd29a1aa49c6757c666dcd23c9474aa28a6a8ee4216b9cd9bdd49ab9be34f744b7ed164a180912dbfda7a0be51a0ab0a8ccf1548e36c8ff0a8ebc55d8f2c3cda5c522cca47625d310bc4ae2e378fa2b7fc435090c9aaf0e861efaa91ff71d51838a6288559722ade02f511f563664cff3a0ffb01855fda85687affc93eb0656faea47795f4f2f3bfdc8b3c565f52c58b20c6f470c46f9d1633df11683de880d8b9a6e5a3cd762a814103819e8a3d5196e84f1d46e50fddc84515e5e049ab429e9e7d816674b36dd46ec4717ab161824599a66a6e2f42613d556f822d4780b913f0a87cabe96d030c12da5b4876699201cc6abfbfe201e905eaffa65c4c3792cb297937620cbb9b9ffeb4122a3e85073d67a6e680d0a4d2261bffe845e98b0eaf2a3da1936096ecf46d5d521faa6009e0cc6a97baef88ad5d693ceb107fe45c6f31fc5f982444c75fba94d820179d3ecf8e4841da27c90b1f659561f8814d2f47118f650fe54128921e9c1c00498118a83592bc8e5ca2e1f218b9f02974a670a593d8ec985eb544f07fd193820c1d86932dd6232adb706f0c177baaee20687600c2b82a1ab35aa2b0f9c3313982fa6e634ec72396923b1c1bb72ee8d13f27dbccab09b11860af0a73f81af55cf43294ea9f81f7761108c61f9a14731936e88e4d4c2138db35691bd273ffbee4014115e40f06c6bb53663a5ff9f7e989a8a7b023295a3109a75a77154a9cf430bf67dbeb99fa79d5f4a01ae69bd7dafc9803fe41830d26ad564e9db25d64a33ee593db5be67e8dc352549ac9863081e118ad1393d6aa5ca069d14dadfc43cd8c5b9da7b9834bef98e4bd706d2e6fb9d768ed12daf0b5cc90222a82139ed20804b612b15e94da968f9dbbac5c3d1db9d09afa539a19f4e923bfe5235bf3846cad469e7764d1205d6882cbbf548f232214f7daac78135dfb4063b26bd28b5a9bfe89a9a6dbcd1e38d313e045e619374df1ce27e37f521a87b8570c628cd8e2cc5b2eb14599927c9c745d873ee641cf9e20986f39da2a98dd8bd6caad6d699c207cac1251f22c4ccb053860c424a520df639cde3e4e1d0a927d949e9b121b387adaa017943996db18278942bbf56e2cf5ac509df39892d830b015f952a3bab58a5bf40c7783b4a457af722d5e73ed67b27e2de5751fce4132c271623ccbe7ebd40531fbd24ac041f06eb6b124711eeef5b06e300fd88f67cd2335bc4abe2ebcd881163568c35aedb02f05af89144956677699a0c937242ecc1c4e0e862eb34999f32981cb63b0b42ff851b3e45c0aeed01018f67e9d78896d7b1e71b8056d6c8ee7f64938981994cc24d3c7691f08b6912d631a0e8a399d264fd0afd59769071fc8cdabf6f4a27bfd78e3f0e8768385187389f70621ce7a6e69f472ee342ff3e01ef7046d7a51babd5351efa1e43656506abadf699869e4764b11bb249886a86ad4ae00d90c51297f756ea910ebf485d3aef6cf3d98436c2e4d1dba5532d32f049d13be2037b5da9bf5f29d4565ce8c807db3cc90630029da9061c76d50a47bef8fdd4c8c022c0aebd9e4a9aa9c2adfbad60b957b34a2b34074197a24eb5db0a702e9bf565a8c4cf8a6c0f90bb72f3847a5a85f61963e40ab6a39cc283b3bc5ba3d355f77917df709c30c8d97086b8bfe66caef606d176e149114619e6ef84490576b6de2d7f05ec3861fce262d9a6f776ea4c2b07a9d32fa736b15c0637e38d6e32908b041c97807a61f599326336e855b25b6af6a39d0a74bdbd002eb4be30af1f6e6577072ae4c06b7f4b65901f78bc13bb051edce2cf30819cc642dc03c3935914ccbedf171723254fe0b64b958c3fcf9a0910a57034ba577874c365d99c545a622b5dee0bde2e3965b7d0c24cbbaaa29050efde94b660f671592e7cf7623580d89a952e28d45a9da4525d6f98844814d56d29029e92d19f7997717689a5ca574e48d8f49567e0da9b842f2f2cc0957f0d53d011a22a86497de0de7041b763698614af49809c17e82efb08d7c742ce4fbe04d5920c54193175020bf956b4829313481b546755f6c814823be19a0c017cdf01783762d12a79bd77ae08d3c39ab87e144be4439fbaa08fd0af76aa9b6f38a8adee7e25f772fb2eac5af76a351f7b9dcaf7e9671947374766b561703c754ef345b815ab8a7ddf3381032adfdf1724ba12b389bb84f52c364314971db358938b7215f595498c71b0829e2ef0f0d6b439111e87162411a9ff40f1a686dbcb84e6ea08864027e4b11948ca234f4353c291a90cbd38e6e4dc97e6c745ed4d539ed39aa83685204dc41904214a43b7b5f314c4210e85573f8e44c299cb50f70cf1b72df8779ead235f142cb477e31f0e44e5b677ab7a6913de2ae9b0857cee31b62ac3679fe9d823198aae94d63fb096424f2cdf09229be839e7a2a8c1b3c39f6a15e31211b339e8d4762825ba7300222a5320fa1acc45e18aa607b3415c18f9a425da694708d5534de7fd83786080e7c969fc7449d5ab024fd556327bd211a521d85299251cd1d14fc528bb024e89b31aa135fb545b7f5ecfc0f1c3b86af791d7d6bf26e4afdea2faf6d94cc358ce5c50f24409cbc1ff9ca469f152f41c399a99eb5b339efa4386de7d1af357fdf8eebcf07dd62219b6d508decdf36e72064228b4a1844e0d20f67043b12a53fbd7db1b9d4403554e5ae8fb7b534988ed770751ab0d6f6414ddb494ec5e4a1f2f619dab2a4bfacf9b021041f0a2f0df6937960f5f8b64708c03869e674bd0ea3749a547b1a4c0bc644c98f521aadd392eaba111612709407675c2ddbe09738d6af3ebc9e79800e48a42dee07d05afbc5fa239b1b9d640f68659bda3cbc488e722995c2ffb70f2f4901e12d564bcb2920bb6145c81c29a277e22ceb4375288227a9985f97dfb7b4fd6be35032a4f0de6e77e5edb676483d4467fd38299ab866cee9f3b7cc1835db4a7a2abe56da517c1af9ce0aee5e2c8b63153d41acdc18da0fda763444982abb55134948c0dca29b761a601c5bd598a4c972614edb6c2543038c008bfd81e1db9c53009b5e661719f03c025461a4ecce280545e974b12ce565d6a1126275777f8de8c224f325d67821dde414b3cf020e85051a7723fa437662a591a39d278e65489cd4c90da2ce45e79deff6de213e0984d39fb7d3be7d66d6b39cda24dfb582cd0fef0b784efe0e31def20a9c7ce8f53761c9de7fbc9cbb5e9b9eaaae1e382377ab3321bbc7fadf5ee6f41b6d676743c3f610dd7beedd02a1420240e57a4deebc635304fdaf5a0716e5c5200e8a62e37a62b51c10a67d0eee7caa953df17bbbacd76f3be8939447b205520988746fd1bef45905c9cf1efb2dbc866b4ead37982fcc3bece0fe1c9723052059b1cf739d39394cb306db8387a0d990131c06c42f2e172f67cea28e469c8911336b09fe2cf580613754ab565fd41a973038720424e04a72f92f8dc82a43a8fd185244fad5aa9d937df8433ddcc15924878d2d6c319a5df3822b5e879df02b7896ca9bc4877dc8d2b5adec82fbaf6780ab36f8bc7b71cafaf9b5d59cef86750bcb276eca53a35472b4fb06ee1cdcf3a363e3f5b6ed07c2dbd757021ac2a7e6235f1207c0badf723fc89e27c478afe5ce8982c5d334f14fe1b49c076ab3a68a99140b27f285acceb01734eb708aec69d26962538549825a0d3175de875e86b93e29a46cf2c17afdb9ee6334c9d9ae57b60bb27a734412ff16e399ccaab07f81b58553a6e5b0709c12953393f48f78c1270c7c13c2d42f0c98d7049259fad463162ec551c0de89cbc4b76a25be8c0443e0b140518b3f2f4a087bd6baeb6294b10ea07e168c3d95154ef26631a0afd0af0a21ef61dd3cbd501cb14dfaaf76e0b3cd1e0e97f180d9beec1e648395869f0f44c5fa16b6d95c0f8f849b7f99d15eb3b06aab7050e56f058896f0914e13fb3956e693909f967df365f2c1d16f85d93c491dbb5b1dfdf5eb412ad15679cf3eefb0c2cf028728fcad67667bd983013afbf958c00c8f29450a6e28890251ad7328369da357723a070d1f5a2430efad1a4c524daac22a705d98f7dbdd1a8a54c5d9385f9bd189c12f6f5d79c146e3bcd290fa6c7791e76f886898af5a3a9cdad0fb78d6de6bc2f8a723b16a4579e122e3a3db2ebbd1f9516d6a0a9b22366f8d912793a3a093d345966e3958f447456324a9227921b0bd6c71b3e7b859ec5cb9c59f65c1eab41852e605a6be8fbec66b293eba39662dc664c094962a730d661c0db9e00d003ed9dedca1f324ebfb3d286d57b0f581d88e81b13a86fca000f290913bf707ebaa00371541d9ec012efa05d94969d5a25b0fb47d1578695818facf7288a8731053dc4602fa2b4d0bd4e43d976e15f731a61d482e9bd43ec2f4ab24e137878bf7d57db09b5f96109d8b5979dd31779d4018dd25fb2b655333cd32f417d7979a4950964853040d4e5960a480b54411e7ed43508887591f286a6daff86064c8241a346b3bbfaee2ad41593875b15f702866ce16d3b973e9b337fcc45585bdad670dde851aafbd4c0323a8c6bb1faf95d9f652252d280d676b02a34f41d055bce2f7c39bd2607f9991d04ae448f4e7f2316cd27dcb8625be811cb2e96b7ae9b478186469ee1167b415aa13b142bb93c23f02ff6387a056c39a9908f2cef4cafaa469ea964ee9aba8ca96e8587dfe90745d80f68ff56418a7f7c63166d0c0909c61b333cdf70aaab60ee6c2a3999318b655b2b61a07bbc28ab614506a2be83c4ea281b9b8879aae3125f121eb17dbf9540681180faefa2691312dcf8cb0c02433a7dc58b2b3cee379e05a713003ecb63d3b1ee767194689f196efc43c9a4365030ebe992d035e0ce23fc87f5766f0c6756845b17b71a378fd73ddc9d16c2cee7b4e497e1f29aaceef840e8f17e5bb79a75d96cd74c49f606c0e0aa192bfa7959b95b9dc55d136b46e30c2babdafc5d8a156f0965447860d6b753718dfc3728d592e858b3789a8f6a3421f98973246e36316b539b5ce3557f69ada699b6997f51a32c5280691ecfe59ae4dbe0a2c29695e21cc5fa974aa6c5b9748180a99c192177ee344d17310071714edcec7360d68c9f50720d0c1ced43b2e4274bbf360db1a7d4f54633464f89b02fa970ce1c141ae06859f355652fe50f1a5efb51125c4c234cd797571f51c5a7093682e0a24f9a43fca95f6fc8936a0e50f1a400a3adb1bcdb25d336646e3529afd66238d1acc298dbf9a624778ff517bb8e0554574e25bbffe4356376d8a072ec629f4b29801459107b2e5589310aa9337eb3fd5da8d531099e66dcb749630ddf11e5073a2d92f94af51d340f9e2d7c63fbc10f6a5802d84f548132754590615ec1d12ce6cfe0730f5f4591125e4ffed0e941b291d6a8741e34f4f72adf8012f6e2f1d967864acaa44308af1cfdad311e6009c1edc3520658361c9e9e0bfac0bd66c9e1f38dc0a19259d8d451ce50c773ce3de997f17e7f5a41e84bb56a1b4b7f0931a7bbb515eb5292dde549d7303e546c7cf6a0c448c6008b84151a10a4ae427a57052742dc9bda6a84b6eca4bb2b7ccf6827902b9cf98805ecebd48312d0df35fe4417258f8b4302785564fb04e2be6a173b5183b0e0b641f939c8885010af0d64a289444baa70e33d530d415cdd7f688af92171b93cd0177ae41cc0db1b1e5373930870d4458071c9c2c22070367bf4b31d27210c3b87c56bf3c49ff91086f6f7f202df292d0a103f02234208b4e1cf400c6ea930891d8433666c96cc18dfb00456d8508aad617c6374bf2a9f1abeedee8b2a8e67297003592305e3c4757e3dfa374f6428d7e51300d4165fa1cfc8ee3640304b7c6797f2bb86bcdb9fbcb51824b4b0a9df5ca74e164b5106f8d42b70e09da9779631ea8317dcf42db9142447df18e3d2b6b179687235aa6ddd021f99152dbc731af6ce2cd000e8fa722dbd04a0fb28975ca262ab5a111564b09af10b50c66b788bd70192d45908537617ba10a9af693d6b00014ba84bdb55674067108508e7b3452d75c4e0b1be52eeb4fe800e531986bf24032c6b8b148c667c51b9a70714ed74591281ac916951f1b28d94dc336aa640f2710fc038fdb5ed1931257259f174108d6095456f528b7f872442166a95369feade1abcf309fd891bd05c57164e39ab1674f3ab0299ea31668865d40235c75916d7697b941e039624e69f25e4cc325fb4aae8b9abcb998f0b6a0700e547dfbdc901827024cbedcafcda27eeb97a5f69d2dca741f2cf6d4e2963b0ea50f5995ce0fe6a1faa46b3badf45f8807b47248b35fd346e958d18d58e230e2ecde554030e4d409176a71eaa3e03bcb472f86cd20f246c07ca9347db3efa903c311debc5a0ba9f044c71c86b5c0a87e29de6b6ebcf14a9df4cf38fe27c713c7a63f214f8b75d2399b058ee2af7a9e84fb9edeb5b4c095d382da350e3a55e4e9695c001a24a4ba9cb8f2977d41af0f71a19e0d327b3790d43f0bde1b385c7a3bb9c40b40e6f75c724cc898c15c47a3d445eb61d135f7618dc03cde610f08b95d2010af76c3b3609c6e30c693b8856027229c3b0148e96a9e8901081f5276fd0346b36bcddbcb7fdeffcd84db5f6e7834028758560b88308cf232152d514766449b0816a4b918ee6434d950e184ccadee592a680d0398e50a4ff8a9f891225493fd423962d6b199b825df3ada8c51fbe8229f324954aeec9c37a73e269676a0fdec071201f1668f5f12a758fd641a921d802d0c4bff3efe22617f2386947709db78fe0e44e8df4d095169ed432d1d0054e2c0b4302c0cecb480968577e11bfaf0fb11b542b3ade33601830cd10e103583e2e0b9d1116c1bb20d14909824d4af0e66746575beff87acce6badaa643a97dd7ffb4cf760133f0b9a046c45df7b726881a35a6d4ceb4ed16324d6d78c4c9139e9626e25f39887db0f5469b9b27141d98b8da7184f689cf924b7a954c278e39fc9e7ee1757248522fabfb0675c2c04de99ada6e42868647bf77468def0f420efdf62a029df18a95c17c618518253052b4e230514fbf002863c2ae7ec9299dae40ec79047275f8d90c37449539a56df8def159ff32345a44d470e9784a9b01c0564d4421f8384dcc2d997ad4c1b2c500b53b1096866f602823aa619211e2aa87c2f18b2671e8fe2f4525d58463db70d9c502ea503388ff3f61df95f0fa1995822f7e577233f4780726fd4034c06992b73e38c6b0e936a7cc82164b39a87fb9f9b6719daef964e29f23aba514d5566eadb995d6507f7008d77285df51556544f116afc7dd855b50a5288e4faaef73681be8d6e10adf43e3926f097f56b58402b7d67fe6b974ec32ef1e5541fd141a4612cf0ecfc403cf1a4063d2af20f1830ce2ecf50ef309df5add3db85eb8558fbd0f6b0ce9788de56f5c6c21b973d97b2d2b72bf44059f1a5326d3d8864c0c5b2d09a1b748132b9eb4ad98a73219fe2296feaf34d2377a413d0acf2253b306ddc95af9162cff12d38651a444bf7501b1678eb2b3925d9dd80d2aee92a75faa8cc834bf14ea1459ff5aa944b4c1206cac2d989e4b0be61b2f7d1669f7458303392bcebfd745348fb7a448d2f20af607d631387b916da766e02641e43a0d8d24288fec636ac70a8e113faf3919f7593d8562378cbd16e3117211c8cbbd3e0543f7a0d1f61086dad200c6e188880a8ce034dfb8eaeb9b05f2181f5d3007e643b9bcb4f8fc0b51d59375c07fe4674e91d32eeaadf7ca8143e500ef92cd9ef2928d4bc3245ba5e23f59814452c936a56eb38656c8c787e46437a1e0506ca35a1cca34e2f1c85c7537605fa05cf613b06f12e676bd0dbf3b87ec2c51a9f150d352866890576523069911f7921abb478b37f3cc18e4c17462867a7ad02b21c21111e893ebdb6e7d0311766487f208e7e80596c583e9fdac2a2d29ccf3a048ed1e1f51bfafe935530b1cf2ab6821dfd6cb1aa6b787d8997ece53e3094766b82725628460c9aa1c615ba41e17c2508245bb2fbdbced5b311001cfde794f9e6400a226bca22c19cc2ef93c23279531f4c2099260e10dd2b9222621e33ae8df3ff22f0a862a6b57dfbddd025e1d14a9312e1f97c02e204872ed667bb3322b5f1767045727ce5acc1e30216cb1c39804f44b88842a4c29bd9c78e647be78a6eb3a2e42478376c82d589448a6bfc5f24a53c0ecf79ce154a75e6404d91e88a5ec0162114e02587ea7a63195d738ee1bda1142453f890624293cf711efe45e310a9094c75480227a041fa5a821d5ab477eaedf411ad930e3a44a32ea5df2febbebc750260a5571885679f1e440df22532eb6f7c3c1a521e6e15dbb729b612568d1996561c85bc8696cd9a71d02e838711ee47380697005ee3d1947b1f009e3fc89a871a6a32331a908dc483852a7206085eddc0a00e53582af4c899667c775fa6e94e0a7881373760c66f32e5c90154748e97e5644f32ca1ed51d36a98b34b9a72b1d94dbe431eb3a2dd2c351bc5411ffd9a9fa6d7c747b0864e217af664604eb7215f25d27e3b7a9f6af3bdedfacf36330f56ca008227b6380f5e73be4afa339ea11f06d1eaa2a69ca86d78cb586fcc075235db00682dfdff0bbf89a2007078eb532e825b62925071b2180f4943ec2c3ba47a2365d71d1f3fdfcbc78c7a01fb5f18635f3ad46b0d07dd57d73964c12a637cf871f9ed06068e60cd53cbb56049f9bd2623bf83a47c62a637f5f3731814a6dbe8eee660d1d3c61b98489cc00b1684c071e565cd3b7188feaf06b902dd360836b77709bc8d4c528417a2a612f24b810c0eb060e88aaf2a0d8431551578c11fe9d7fbcba11994f68e0ffb109b04187e8ed7ce94a19813b013347b96b861ecf50c75dbbcac39b6e1ffe006942468b4a3c931b5a07a6e5bb9d492dc563f81f49aa7bcb03a9051b6aec5f65228a8acc39b7e473b4ceebe2bf37f5df064a42621fc9c4095fce203c8bf2d31c21501512be847d5758a48e54ba179b91803a2508ae8c034b9271773914322637fe80d60318543aa403704914c3a4113ef96996208571381806f83c8fba5a7e199b7896727403cd32dfd582444a07e287bab52ccf29963c2628f3541dd43e54853f6a0bbdef6773c4f5ec8cf2e4ea5cb8596e61da21f4d58c57a4ca055e521361a5f832b1c2315161860fcdf8be218b1519ebc96dd702f5e37c5ce66540484614c39c6b401780a493ee10ce5745312ec667998fb69fbf8a3ffed95a5458e926a7fb62ad5e58925ed5f6d6cbc800cb083a1f4a3365e91a1830d2ed8dd3e4f196eb76898457dcaff48f339da510196ffabe3689233fcb3849d150b36a6843b295a0dd5030fdd4078c942c596f4e27c47765e500ada061d99690e6603c0b5627e39aa24c0c3c2f2b787e69643e65536549729b6bce5a69ec9a0115e7b39472d1132d7b3e035294ef0b9d0e63e5eae4ab8eb8ff64fdfa734f70c0d02b87f104171db033ec9dc1d0b220b1a8886af87c9110522efd72eda7da300add731c1744725f1863af9fd391de70e731c67123bd486ebe7a3155519c4894f94ec96f310eb93cdc475eb1de36c3ffc2b9664e74e5ea7103040b2708b91f2d5c604c242592fd27671ee254680b4869cbd45f52cfca80a43d49172850b5d9b56f0779c984c1ece4ccbbdeabe88e544dbf5348900991d18477f223f5c70d602712c382a1254600769c255f4cd76bf83048780c6b837cd19ca7d3850a5f0454ca634eaf63ff06da9539c10ed49da532f1f7ded73eda753d9c4084c0a3e38e072a60f109e0292d7e970df787cbe7fad64ef41ea1a994c1b548f26399531ddbf35836e1fdae5412362bb70c17a8c716ec6823a4bdc09ae6cbff511c3d027bd860d2d01d83c28db8584309c0aaf7d0aa3c764552f27d9a1f2a4678c81a39eb40eac418254bb5064f1903634a7855c987a42315cf6547803fc6bab11d195bbd57d474f4738becbc13c65e049f1239da9edb54a9b984fdda737f2060114acc32b20ff495958edddff884ad4dac1c88730ee35b4747f9a5f72e2bce22ddf465da4b382f122a03e6a05643f718394bcc621a9e90154ee121c7f8e916deb52a6da142d42ac525db8b9c8a4d5c3cff78687eb70595b8a83f9425ea7d4d1fdd23ff4f6262990805d79d79cb9e9cff56a7e78ea0d90488a2567786ca8a44222d1bd09724e6c69c9d1a8a48fa6fe66ea2851d066c5af28d7427b2f3dede0074f51cd554db3e5d5f06b2f961361950a68e463bfee18fc13eb90df6e679459a6bc8951273c15a1d24f796cb3654011ea20886acf2d232d3e6d15a27f0df9bb04889b695402d0c45b7ab196f2ec556d6a7e993567f113a627d89604f1155a17c9dce7baf578bc78bcb4cd66883f3b2a15e485a3574a07724762cb94c7d4c1ce7fba4a3984c38e9e2287c8c53dac4fadb73024f17d529b67c428f68ba23f09b8cae213a4fa83db6d26d0adc1878d827a3f1d31f879b4bb162ba1c38005c71eea8a55e69391ba6d447b732cc458d0d3bf54a54029579edd9214460acb5788839fbedd87056d73334af1383ea44521b7a80192018f8fd20ed1e68287871e556a70309d9fb42389e576eda674bb566795e2ce0805fd0ada4f4d3f4d4ad83ecec28cce97b44688bfc7f3ca3a014b913de95e220174fbe253ec1a8a0f67cc62cc83efa577ff72cf6ad23b95fa3ba26b461d55219b6886afd49632ca854238688ba0081b3061c4bc4e587b6746bf759be78b8e5074020366cbfb45c0d9a9f12c0879df948350ac8b6fd1fd6d99421b54a6920423c0ee1101947c29bdce545f63d48e69a0d756619920ccb6564a58821a93c3148d5c0bb85f30f137d4e131c5c7f27604966d4ab84e6eab99b9cdd63fa6f81f0373d220a7589eb6b096530532f87cc7f2762641bd68495ef991d118564b0d6e054b3e6b7958f543e1c0248e9409ba01f41ac0d25911f70bfe6705d611d35131466fac50156e4ffc12a9d2a51a20daa8043853439d02648b2088c71feecd3b2194904d05cc13d5866fd62a806936fc510c1924a65df64f66f361996b5a497fc2aa42cd05aab7cb8cd03ca33905bc4f77ad9b277a9a1df964284f9cb85477c451c9ffccf4f32965d4df653ff4fd0ae32e652aad3ccb3504b8d9bc3f86215d50db77dd769bd80a8ae7d97344c74ba70c2a839cff7ae942be2b149925e217e42ed331a6e4f15912c5e114ae8bfa1633bd1a6583bd70c5f49df0d7098116e9d9be1026cd3e15f33fdbad00f4ecebe245c36ac33b57d5c2d56e22d17dccfd841cc28c993092f8bac95e6936c99d506c8fc605c0cf223023fa32de1bd9cebc08d7a9a57054e2b3c1152f7af6ea2a7d060161129a0971be74a8a8decc68d3da4cb2b8beaabc47c63b1ba7edfbe5e557ba4444c6541b056f898cd8676ae65496b9a2f13d83f81fac67befb13ee293f8a94170be7b5551ad95715510913ae2178c2cf55ed12b7348770b4fb1f87a184f6c28c415518b92acda27d75d66e1cafd67381e0ffa955210cef2509b51e54226488d7adb54a47dcf20eee51dca39e74fa0f3222dd2d5e8132ae51b25b38e7f766408b8198552ff79e25f0c22c872088be03c8a0140ccb5aa64f3391244574c8f9ecb67013029b62ed23822989e2f9f9ea2c9f4647c0cec6ab1edebac09437a46ea8ed7cc701f845b69af352a07191b5b2c5311c83c414d56f50e473a0b4f874ca83d8cbac2095ab9f50dcb7406c61504bc5c53601d7df69c2680fc08d14e30c163f06af5d85690e08e58e2886178ea9612729cc025d2fb030c8d8ae8089a5dd4bbdd49318079b406c87c29a0de9211341506615f2f5a10a9c04f3145b3c5fc303f34ac35dea5b16b725403ab52e864fabcba324dc8d67abbdf8a55b349a763e6e87531cf882c77d978adac4749a81e8be281d38d87ef7f002861fdba55d9af8eefe2bd0f2c2e17851ab4fa48268a1194c770304c7cb28fbe8e28e27c84b9512079a8796256ffdcb7c536f598234f215d06d3fe4b63c8836676bf35e0edfcef966f02b9c8c3d7f1ae9df85a4440a059bb01d6832a6516a7c78b5d971c0fb580ae4e1cf2105e261c30bc4f94b68f7dbc92990433ae2bb630ed2d45c25dcd7c73bda4cc241dae7cf55cee7259e43e0795cc8158fce789cbe511550f9ebeef0e3cd96b8f74eacca1bbf9dd0c02ed38786e6622b884cd96aa152e0c06fb108f7aaf24704dc7d8a129ed494ed9461dd0cf9a5fab8607f8775a9629277b1bec5f08959949f03116f5fc343303af1161e00d5b0bbf5398d649502cdf3d7842d2f1606adf6028d735ffb509d018d58d4f520f8a1324910650f2fecd0f05257b124b8172a5f5d4c99459cd340ed6a4e8c23ccc83fdee005c0dfbff6875e074f51c81c52108b568f0f5fee1787ff852bd1b0952a3845b2583115b1a5414a4dbe13469be58cb33af07d30b5ab69b74fb77d177d4b0b321a9ffc3bf7d2f746938276b58eb00e19954c4c81b5231a6d5038d377f27bf212a4aebb8d9f27f4481aeb8b2b0d280e5de38780f56fd7577116cc91f53d34f5166439ae1903d053b72b9e6ccbcfbec4906b5b233ed5b50d68055d5d679cbc1181759df3d9390d64b8647b4601b5ad3065318de37708cb7655bb4b0a307043f483331aabd63cb97ece323e9bd9c3f8cb3b198a73ce66777dfdcb415b9ed8baef405b3a99b966e2ce03f57eb87c7238ad3242c6290d02845bfdb10f6f67895e7e4724bafae599d2eef5b632ad399fba01a4726fcedecd8ed898ccc51ba1e123761e24cc68b306ca8338b7f3b524ee528e4f907ee272732dfa1ba83b048bc7903b5a0d2799cb03b29bba2cce7ddac30357a84e1153fe10ada25e2d74248dfec7aa9d89d814dcb87030a4ffaf46ad197281f5e11a4205f344854c1b7c48fa2c97f34d37726f042850900f7072c658a42f87c14feac681463a6ccd341db95459b735947d619c6084790260446c95f9844f122a53f80a8ba9bd211edabb4bcdef4922efcecb47498d328284bccd58e5ae39a673631eb1f8af1e5219bd42b0fc6e4bead99cffe8d1a29d5043a1fe0fd18d5816e0725907defdcd4011071709aa9ba548928cdcb40398f48852143ef9700a702c9f6b5d39369df559bc08f92aa1b6d16637d9da4323c82f9958044163ff8516d1c03a6364c1eb30a10140d4760c4ca378691b19043e69bee546ad434a23712afbd91839546f7c51d21129b1a8b307e17ac8f17f8a2c2d1fbf7de5fd08f818607b5ec8ba11939ad155c9b71d8de0332f764961c1a7f1d588253942fd59c3ee8bc168a74a04b11edda1ad103ab30cb41f107f19217e66c2e5d966399cc4add1a93a086421b16d8f3f9deeb97877e3cc093a5defa0418bb4301d07a2b71a17a653585adb958da35a9b221eeb537e901bf1f8d4ea148142116092e6fe5ea2b717565f5a6ca31533b998a340e75b59f41648f59d8c5aa20440403454008c91aae2ff70f295b4f54f4088ddeaf1ab0af0a81c3c6e398b99be7e338e8b6dc1bb492597d770f990eadd4aad6b0296a45da4d2edccd3be3d17178a0fbab50fb4a275abc947d0df1ffa7f6b40c204a6be77053e2af810962b8caeda417f21662ce95a71dd0b3d5dc7ec865e098dbad7978bd13d3d49581d3904150097193ca108db28a28ce3e4e29792007343b46c8ee4db0d71440438aa2355a54e5243b5cdb1ecbb1fb781e7ad84428022ed4737e62ccda2d16fd8db845663895f340219e982ef0c83e6005b57ecf78d5ba1d1fd901f2d7c22c407dd15e6bcc9e6213cbc41032bad6158cf792bc88eccbd481024a3eeeafd64bce9965b664ba573feefbce034da1b00e6053d32994ba87ea4d72fffacc5f2e4e986029447cdb31bccb6bc7acc121c4198569e3a943b4fcf4ceaf7b028bd012499dc670e65d894e1152765f29bf40140216dd58065852fffc183640584e0fa182853324f205da6e1d688ce8dc82c90acd5427d6959dbce8f05a9bdbb22e7d349291e65cf58df566740a65a01c861b2f85ad3c9c3738b0e31e53e02db4040590fbc59657e67d45353bd2af702ecafed24b8f62a91e4eb5f7a2fd26385f66b678f307508af514a6211274e984678bd3f19aef9660a2390eaf8f08c68cb2a0bc923adb6783ffb351e2ec3795b6112428816346ef9d243e8b940bae90e2983f12789539897bc3b8cb35467ff50575bfd609effbeb236013b7ef6b92343622113879d7e189d684f0c55e3d51877f29f9e29c7ae04d9bdecc9bb0bcafd12e38b866b23ad8d5b537e62268d153aee365e81fbeeb788850ebcdbe192eb4457c89dace75408f0c95174f594557d1a2778b584fb9f456cf784fd9d5a24555cf05d1858cf376a65763632615da9e3226819deeaffdbeafebd1caa5058eb4f2b81113db378fd63af4d13d975a5001462f353e48511b0d67916a248fcb1d6e076bde1e29e4d50c80d14950e8b8969e8dd5bcec32ab94269ac95e2910382813d2f9532891855a7513635f1c2a0bca330c4f955e85318024e4712aae2a0c84c65a925f987b1b9c2c18ed236c9761853b0799ff5953d5c87967d43e1b3fbb077018ea4f6e21260db6a0423e7d605e794555604ddf104a24ff9c0ed031b1d90159996d0aa68c986b80ede79844fa3a9630d1b28c8883f8e17e2222e0f60d33f9dc9fdefeae5a59f92629fcc8166a90fb62aba3ced6395441791596a1b2f06973aef5b3f533fe25f389ae9776808cf61b6e9991f5190e1b1ec29730af46e489a2250c07b50dd09fc73c33601ac9572c110f6dc8e6198e02cbb5c509a0ba4fbcf8bc687940b69d3078c1f2540c98dab7a019aac2ca841fd334181faddf619894f3aca055db653b11f23dd12d49ac28875896daf48e19e5dac46bb43b87ee66f4f45bab0b38116f4c26e6b117141ff08b7a60e6884763ea23922a201947b064f2fbd4b1696797b2fbe7ae8923e2eb1d91607f152aa8370f449fe8d9204893551692039632555a5c4afe98d30b65b87ab94852b0f3c4a63c7a2573b90be2cd6bf110a41239693ab7a117a130ae8d75e50277152d0fb9bca33d1d7e04b37bfe6416213097caf1ca3e8341ff7487f2377cc00becce1d5496fa3266fa2e537826e2297cb146638be4d9960a8be75b26447926e8034d70c9f9ea487dea031568df37334ebb6cc611130e2cbb2f14d90ba87925c09f8aeb61ef01c9af0f6b0a9511dade66bb4eb2cc95716e99755e2c1879191c6d0c67dfcdbb389c05944e43e926c20a2a93448f6ef423a63dd9652ebd08b206cdf96240e250f6df22f53203f7cdc92837ddfdb6de9ed3c1cb0a38908c19a45a381a917c834ec1e3eba2ec80931e964280b3339f406b6bb1bf878140c3aa803b72bcd75f3c0bb6feb16ec7a81c22699966d92fa79d33131fcd62603ca0676a52546c4d635cd89f76a7d57509c5d0dcfe052d9d4087770d35dd4bb953a196d9f50318a41683d1debeaee723f10fc220cb2d4c6636e957ee5771a82f7b7eb7cb8f093d596df1be24abd24c6a30841202457d95ea3e48225292095ab19c052d8f93144cbe3f36f1d46ff4243fd55701decd799dda358fe0fa58bf22da59e3af65e93f3b7303f1c225f6fd1e39b68ad9de826893024fd978f71dd2db4cb226a660926ff6206f8b04cba25e0da7532097cf1b0b777d71b8cc0b0cd729daea43fc489fa7dcadb43195c7a38fac32e02508149781e949c98ad1c8b79dc6cf39632e6d5a0552cac66e8e7cc61176c9456910d23172c0f646ba8a394d4025c67302c9cc71bbba8ba1fcde886854c8e9644584c572a3657fed47dab18eeee34ba859ed808b0a646c2fb83c05b21db3c0fec91016cd34d84ebe97173aff395781c7ff7343e57429b73bc7c7d0fe0af857509500a5843b341155b92a8e7881764c1bbe40fc4fabc037dfce5ecc8eebf21a828f5a80f3f3fc2b0a81eb75cdc91243ec02f427de5486a7c6554f5f3e3cb4e12b60076416388ece6910bac1fdbe4e50b02618d62954194e773dc52874fc55191272feb3d96303b04615bde0fb89c064e97c8dd8752b003af16dc92e92dfd2054d4eaead81d6e01eb085acc30b947b85c8b7a9416d3f88d5fd7125b2335e430cd36eb445ed5c16aaf381eb3a2ee5d00826179e978ebb3f39bcaaee1ba6d22ca4cd20ff38786f4e50e374aefb5a84eafdea645a1cbeac6aaa1ff2a029f1ce4193458b3390034d929573eda600c4882cf34bec3eb30ca622b77852f7d12e18b8d15cf1e109da0027baa951780d51a3c6f6a1d429fa49cfbfebc93779590bbd3bf80865c86db43454b9edb294f9fb5e302af6c47a49d839685f2781f00dba7cd66209f60483b1218d9dba88654aa39c3269c25fd6c7d0133530f4f8f266484c49917326f762ff9fab2e6b9174ed91f0b77097e3b3696e848f12b567a0436214b4f9d908819b90b81b8c919eb098dfbc90d4089a431a65387a61d8c302e808f6b9579db6128c5531eddd7085b99a9b937927afbb315baca204ca0720f78ca1b5e4594be67b2409cd78334b647c3fa3fcee0571517fb530282b5b9ef80918cf08ecef5283008bbe7f5c47a4ef587936cd3f1dd9607b1fb0031f3c8bee7f70c9da8d753ffd60278dbf48bdc24e3422187358128382b65cfc73b56bc6c154a3193a05cb7d0e19edba468d5079095405f76faed719d0d0049503226ac663825a7ad255d7c1556a3ff457cb5d521a2e964c5dabbc043cd14ae81b5324645db5bf30c1dd8933d22ad271e97690d683113ead0febd1bd6e9235d65ac10eeab7919e7158ff44cec24ad63492fc11471ff18a4efc88f117989d5ac3a217550089821a9bf694ae3fa2ce289d85aa17629f63dc2d953be0ec213469b727792ef7dfedfb5eea2464f7f5f3210427c3723919277f5af7c3b6a74b2000b4f2f1b4c9d6c05d33c9694424867a23a8e5a833772b39eb5537ed1108392575ee2355a679b50a75c4afb6ee064e150723e1d1b7481991ec7d6a5e9c69ad6f8e48731975514b98cf3b0a8925e97a084eaecb0e74a8e9ee86925331ef544408c5d0bcfe7c274365f4205a3f50aa92470fe8500ce3e8cca7ec3b9cb874c4d86997ce02e8176e833445ce4338c4e692ac9446888bcedcd3a8beb1c5d57abc50f987dbff91987bf866b1be5e033c46165dfbef4895065893789c425bbd2c13a35b4b24017d213a195e546110356f7ef81ddda8400dbf1402fb16209143891b1aa0164cddb0c12480d0f21b733ba26c1e27f6309cd7798e72f7e034acea76dc4a99df7123a07a057d423956f8913b193bfe3cd60fffd2678b7c14d7e5b54cd67d8b438f75e090662bb58e11b00d3b05a3ead869c6a113ad3b986c9f0b9bd4528eff32634da91ea1b00d64f8398ce4e162de344f98cf588bc6408fccc1c37b847cad235e5347ac449970146309edd0bc2cfcdf50b2845456062b37712904d8be8ce0279063041362a2cbb15c528652efc2bdccf3631d5419f11220fbc5fabc15ed1b11db3c8e14e5bf1b9781cd884a996bf850892528bcc0ce827fedb40d983f589eb452e73b17f9d7f354b6ad5665085533c91efe4ed606f63498dde3a06f1da601a1042b1d1c608a76ea7f78917b5f8de783ff131340550fc838075190bc037d944aa9ff619993d2527e123e4179bb2c3827e6e4acc7f17a84e27eb73360cb119cd652b518f94c38d9129db7e52c2f9468ff0486ec0380cedb9378e6d934e0c99ae52e2ef9fc6489e50ba170528c958dbaf0352cc2f7cef08352a3adcb4367d455e52bd83f349e8759826f24c3dc0ed6ac7f8404bb0af5da140de87f74c4c859f218c305eacaa78f8c9fdd14ede23083ea294659d942586eae0905370ceda9a9cb4d1666a0dbbd8c0ad79bf4a735432a5eff1b5d5a7610eb7f4cc624d9f843cd0263456b18ab714f10593c935d5bbedc6489a8d8a0339b4bafff0f49d9440359dc28dd8612de0948ffb847ed91154c4dcd848a32d58077774c3aad2ecf3c222d83421f91356a1cbc441dff3e141e0bc90f404340ea881e4ea123993cdfee22eae9cb3b6ffbcee9097bea444cf0b85a7080597aed33c68a84f7ad691f6484a0344bc7e745381356b4bfa537e2da0852d8508cd687cb8f094ec884ea408ac5e47ce0cd2926027244b01176e9fa1812481a014b713e109fcc9573682c7250ac0d8fabc8dd55ce5ef4326b39a87c8c32cd837b833a1aa36268a931f809ab1a2113dac0595bc99c0e1b01e43ab5e7d1de72497d6b91d36cfd491fbcaf752c18083ab16a907bd7dab9eb5d13d738c0da34cdd8bffb1d4c98414951b0991986d35829d2053279db0a74ba87ac748040df2e82777305f7e42fe148b8daae9ce1bfcba47f073ddeb31c6f8f9ac53ac7e5bb7f0baab3df90a3dd239ff06c6b7da13afae97bb504892e6963396d6c49eff81054f826310455a8ce43cb5e402b3289f2d4cfe8ac6f26e16db50d26cbf5555180c4f4922f3934b25a4499029dab44c1c2e7703b6ddc075c05c8bd823c08fd7619458aa7041e350f4937636ad5bf3699759978bb98d61465c19ce99ecc1cc37a3f239ece8f8442eef66aa9ab107beb59f2edc414106fe9c7f3dededc1157725dd4453b85a6c8ec499a44b3bc2cfa1ff43ba71e794877d366bd8d7821671157e3774a179885883f6fa07c0558637d60c51dbd8310e1b3dd0d1c86a5f38574eab3d172e591a8476e2f5d29b0652ddc51a82673a498b20142ccbe417db9d507180a83dcd0ebd4695ef001a159429a491071e1c19c07cf3f3dc5957237b4fc8724772c2a61985ec32ab73c1fe4ee07c76db0e034b843e13ae19b7299962d7c33cee8a12ba8e50c57328f787ef1cdca8f2939e06ece8ee421e46d750582149f0d9e2eebfbcea928ab4ccc35216d78ea8e997cac95b63df1a395152655414ddccb5ccadff7bfba36944705f2b1c8d984613c2baca1ec42c9549e9da30171849caf6a2e4ebb56378e2896a4e90cb6e2fec04ea05e31c871011ef44cb50b3be928e7c2405036243a6f4c265090c44d9b22c3586b9fc84b776f98aad6144a36a8525f971cb19859a7e5538575429fc0b49ccd6b2473db23469f5ea61c320c2929f572badf415f28b1cd70b45b00dcc2c224eb3699ae1c3d88837a0151eede1610e24e8c315a74d848957ba035fbdbc7ae7df0858fbd68cb3fd5b8a0c7cb89cbd7823a805875590711f86206ea6b2d6f7d0f3bae0b5bdedf3a24dd0fe673e92abf97e877d57f6cd0083926a581fe24d67cc63ec5bf76103a9d2bc98cc5754d47539e26054b74c0a0d837332be99c3eec2ba889bf407815c992ef1d8f2965c76733173a3d68a047fe0d3b31b1718259ffd52613a87f6d9cb901b3e2e88cbedb0c952b6c857e643315c735d178dc6a20f596e84325129f116df2d285fa72600ff00c8f44b775cad186d8b7fc1dce5f0ad9576acae3a85ffe6fcc5424e908030f931b4ca44c1d4cb6989cf8e8a818cade7ec9590f9714d15b1a4884d70c5251e14413d4a1cedff9f71f7e056bdcef47218490cdd19928a691f0decfb1cc7854c56173a863a6b88920942d4b73259ea0c73f8fa4e0571de0a419bfd86945124753379d9826b8bcab6cc183da2c3b895ec584be9adac15e011ed6cb9a0e736b02f8d432cbd89a99d067721191b80c2a003545bb25f81432d66569e3d0e6cfc279c4a978b989bf610c2fafc71257d64b5ce2ad5632cc16de62a7be79c5c9091ae43238c75d97ded29521431d5e2ca63bc480f29205eca539a58459063648015b213a84005553c73a9ed94485115daabefbe456e840e9bc7dd62d4f0bd49fc63d0b8ed3f2e34e2948c1e8261cc755d90a9e80c305d8f9d1475d0a1e2bbb1d44cf004bdd754268bd697ad54f10e1cdf088155c55b97578f591a734fd6a262f2436c7463a32765aaa74da9854d6debd44abd41430c79187a9d4c7150dd3d1d65450adff282c2c56577d19950988a789b864017e9d0d949116fe7a7dd0529eee318c0e2daec9aa89613ce9791c680ff8b7a34ba4e20d603f01f81c484f4030e1225b0264281e05b63894bce76a278c4d7ab92c1f304599b8775fc0c9be0a8eca72ae14280d539e9cce22aad667320b27b5c37b74381bb6703a3f55d6192f7f436a288a28b1e63502a0e6d461a7862079ec64af8bb50c44aa23878d6539db38e40d88240dc6aec75119357e22c09117e9cb828bd90898559635a5a92ea3e6fc2342200aded2de23a047b9d1e0c7da67c015b26cf772df6527485c27a1031820fc771fc4d6ba983e090ba1c0b84c1db6d8f46087f70d0c1e41c02c45e8a38fcc2943ada8b096a4aa8ee00512469aef426055207983898aaa6874a15558aef318d7b82194001c0ea80f43b924483bbf60fd7841e467d9a2632298dee2085bbb95af00593386ea94f8b8c98351708eea0d52bd83e197a1e6c5ac15699b39f8463ad5c2846594563e444bd5d60b2d46274054e0f04ded0ec9645faa84f7b072a948dfdb26f6937c5fe174bc85dfe833592483dd173b4bb3f8613c1b8f5f4e6565043612ee18b338d4709f3d528e43f4ba65cd0bf2ef4f2fecae6d88df4bd8de9ca0e76dcba71b71cfdfd7f8296825d6696d214b95eab0ca162eb0913516e249b1a83874e7d52532ff1a3180463cb94d8efb41262ba49c795ae659a8faa4592a4499dc55dbe18f446f7bcee152597d27727f23f697a3deb4ef0b701bf01f3a249fbe3b8f8714893dc217235531b2aa4aa73c520daf3ec07486346bff51ebf61a8b61e80e8b72b5f35f438abc3b1698913c5e7d1f0ccd5f1a1dbc2a3c8f000a6bf039927dcdf5586ed9d217a6392805eebe6237202abe30b424e6a985f429b851c44dca16740133cd175b1f5da5dfe008a05fac833fcb63d6a5008ed3d6d53f32032eb76f85b21c5f5f6596e9ae3b69f5b2930a1c14771227551f5d9cc748ceaaae703bdf8cfdb3fe7316e001cc5e0bde335546aa567504a23bb4710d47f446243c5bb5251a78330cd53ff64df170909156ef94f327ab24d70726b1ba291e2a1dd78c61a95e529e32bb7be88ec7bef36c9a4193f57f7a87bc0f8b9b17b63263d1628595436a851163065e1dc8cb625810a8229d22d1d1f0804f50f4134c764585d2a0def12520a1525cb7a8eac34c05cc705170980a6c69eaf08e9a2789ac7dcd673dbea677b36ddfee9634011d7a0597a335fba7fb19c9e961bedd88f9e96f7425b3ff6a31df24fe168561538959d1e7e8a33ea0cf42aa6d713b0d1c7b3f4e969bc3fee47561766fc504c72ad80ea8688fecdc4be7f6317bb2265a4d1edaf0e961a87317860fd5685901bc45770be458bc323f6aa689742e131ecc0061d25703738d1af8dd6a2560c702718f72ca83f6b6da134274d0d95b26f144f7e83ebf761ddf50b7588196e88a77ff9dc45437c739a496fa0fd9169c55154a8314a1a33c585ad75d65660802c8b0c36603b9b487d7241650de56471984f092a551d367a83be043247b350ea90893d065aa52a46b5f69136304820a062cce658b64cdf0c8c8b62dc9095c5994712557c215707523a54b325e05aab64ce7c0d21dc448fcb056bff7f673b7f49dd95e280fbedfb9cae65704d3e4b48d03bf7632bfb1e9131785e1e7c9ff310b85cc54701a7ef06b36a590e703b01752d5d0b5396984323954e1ed8c9efe73e36c05081f43b79cabc210b3f8411d296f5f30e0a2590b8b0e848ef34fe81adaa17908c5f9c238d786d980cd872dff3a2c5260d2b96b5960600f6cc244847e8f62b86f9999099d1a6583eeaf177be4100d9123398e591124a8308db34c225cce6448da1bcf109fd53b8eecac35f85c6967e53adefd7ba012e06c4bd48a9766b25c066d445302c5f0336fe6301e1c73077bf0f605a95ee1ef7b5b0f6aaf9a7779b96484bf19bd6cc475f5d10b3f475c02c466a966a1c064a0b629c99465844876c8acfa6b29f6f60ac6d4f9cd0ee8b3b0b61850460edf83b840387d2cee7eb7a8bed72c8b99265e547f57b7845fa8d60eac7b49db758558bb5e24cd836bcf0b5f817a774645e6299a80c7316a2517b4045eabb51ac35fab5fffcda76ed1aa79b4fb49ce33be8dc351ae734833cca8525786b422dd4d2cec59b0fe49fdbf944b4f1e4a606aa9a23aec84102370df81f5564c7878dd9cb0a4c8dce6ebfe86f72010af2fde32606ae100525ac6e3b6c7f987d8a34a02ec32826f09d91fd02599e561feaac1c348e65ae520a77ce03d8ff33980492115e15d44571e53dbd186c219bd2c0503c471e618a9603972552c3e323f083c2b36520ee830f83febc66d41cba678238f1e3fb9f5b73639bdba20a8e128c8de28da6b3daaae0bffc6a7a5da6259cdac66ebf2a4ce3c5f0e591a1796dc1473266c6c9439095bbdf33b4c2ec6ff386216b6b1531e0f2f2c66fc41de049188a8de5ea8dac9fb214fa41b2943780db444e1c38700a7b43c6543f444fc97ae7105e0301b32f8a9d0672bbe066183d730ca7b6dce15ca875f7cf1f345d01c9d9b10a79f1edf028ebe30251c1d1fbd2eef24ee2971baa75bb585c0df5cf3bb3b87f8fd2682d160dacbdf3efbd1719bce199e539be071ea7a31316b9cf4dddd717a17834150979e5a641aec901fc49833d7ac5211a181cd50145f8b555cc01b27dc5b8d7cf272d6a20249523fc1e06242be9dac35efef082d7217b5fa54808626e1d3b8b97e3506c01b90c6fbdda832241df6fc0d0e0240da9659d4695cd1c6b5e16f141334e2957a02e8dd090d5841ad90f3bccce2d594536fce5ace7db6c73f46e610e9d09336a10dfdaab3ea8686acec6d0617a276249e58bfa510fed39f1e748d1e83cbf020c6f01dd7a8316d3c9ab264baae4b78407ad0ef3b4d81fb0d921352478d17718212b046628a95b9d35cb81abe605bc76d2d1e3f7adac5962ae5eb1ab44fa7787cb2504c865c1855392d9bb7b35fa004e4e886a02abb18b4cf01d7f311b0d3213d01bfc8ccc4880ab661f50b0950fca1c0dd9cb8d2fc27973b6774e6c7a8f2c117fb1924ae2450a90000befd9eded5825af6fec44f3e415cae58695ed9f187c7308be52aafcef9b96de0b08c78167f3c4beb441497c7f8fd5c1f72070901a699e26a71b46a0a5b2f22951d19727ce56303fa12773856405bdc756b57f190747d033e18d97e9e0cd3677e0668f77cc8b3f67c43e84459c74ae38e900288c7e2eae2b03a7432038659aed6dd61a2912e94a9f0b08ad7b360052be679153ed3e0219d7af747e9d72d4d4f1c5a869232e74dc0d9b4997dba3a6d3c5eca2698e99e0243eee69faa703fed45f1e6938e363573456d72cfc4782d838fdabc6a73dae338e416778e7d17dbea9d61a5ac483803c2f12de68769d4ddc136cec15c97854c4c7379fd0dca8a748af4a065dd88fa421ce35f04c91d4ee04a651ea9dbfabde7970190ac6c50b843909fa46fbe0c0673daf2de7247e8af20c756c55036f6fc8f62f8334838ba290ed021f8a6055a7164567cc8b9b6aed18da6d6085e9e55a4c7a9c654779a91de80b5186ffec8f663e9a42bea1ca80a47ac6361e166c860b481b6779ec29a08cc7f99671df63d8c65f2c38fb51a9fff86410d25c31ad2a5697965631ca449b7f5707701fd4126f23c8929d0bb4cf7f0ddb00c18dc4567f22f402b1565a1c8b99b527fff544c244efc8c08f9e36bf86b6c61c65118c70b7a12ffa8514b3fb2eef3edd59d226f3242308ae61b59bdd858d36d8d18a71fb103f908e4b6b65f55692c86d91afbb0747d3cfdef576409d86b888464bdbe3524305f8def6706222ccb7d63cdc234dd88ebcdf9bc6f4cbbbc488b60f44706c89942754e7f6b4ef68b68048ba28e2bce1befaef5b732e0e44ddade8efb0a44bed4e1dcfc9a99ccf8dbad358086b309ef8345b7229e9f7600f60d79d1172a759327aaa15e32f18238c0dc59062267d17da837251d8942892a2b045ef3429a986ce4527942b8823f6a258bca389f0723621cf0447cc4d30306beca7ab6089d9e29d687c36f0800b434da309989821bcc14f2abf63969d57f74ee57680e9b1f285bdbdcfa8da2d9f700e5d5303f9c7749d8c9cf075a390e4825fcbec7e8d9b12324c8e072ae593242c5da3836b8bd3aad76c4abd4dcb85cc7c4396323fb4b305c8b00792b6284907d0f63bf99e1750ff82d67318f23222de8eff713a8cca205e0a0299696b40d0fd5420d72fdfb5674207a4f5e7f08e0ce822505867019a608a870f88487aca4ebbf73cdb575407941e33178b31a3d46df6f6f455680675254f4399c5acc05c1edccc56223abff81f8b60e9ddf5947ee4cb375574e3f41c9c7c90c4d7534e82560245b59a3815f8466840a966afd6d4090f04831a6ed168b72092dc23ed8ae8313133412c27e086a1186a6daf5e760a665827c3e441be808672dd9206d4e6fc9c662603d266045a3d2c2178a1f87c4d7b94d3287be3d51899bdf5300ee1c3985eb2de398dac7f870ba0e2aa96bdebe8b03b779b0d46f5702743ea0422e94e6b445934262066aeb0b7b1ce823509f89136bc6e139b0ff6f95a9a5b28e939f2e2625d6e4caeeb88c20f7519b9c634cc8c389ae6e5617307114e39263695eb620a3c513173ad5c9c32c6befd33bc82122676cb9f07c8429e1d0fa76e370903f91bf543bdb2c1943bb73d9a21be68dcf898c13c0483e7810f16d7683794e6946dae8152daf3577b22b45b4561c9e4bbb89e94a4ab0789c508cb04215394326b7d62cd61d09f3c84afb216b4dfa7b4ac77f6ac76073312c2a19e9dc249aff8cc34b7d0ded362f2574c92d020a47d1028d89e0890e50fc1c6bdd76daa6c400f4d75e201887509476f304c31b5ead2887a465b2bbe852679b3adf11c52937c06fc82fe1a3c63bf8e6a9f3f5141a865340cc315636e4adb7ae9d5d87654dab0e2bbf3b61c57f689ddf6617667a64729c674a5b2aea2e3eb1e907d02f4f3cab22224e7b369e108a18ac29ce3ee5c35514fcf1b37443c12ac361b84053c701d0bd46be17c32c133cfaee5ebd821e77012fb85cdf6b13df3bfb6fa4ea1d74719725cee400005357ad23718a541a0cf902d5571b2980692fb3bd1fd24bdf098ce1158c104e9fc85841582091cfd1784088421ae22052e5cb8028b9c679a2c98a5fe7ba1282e43613bb5513f358006ca5b3f8698cfc9f61fd96de75b2f6de9d3b5bfa0c5d6ce37bb971e7c96a3e9a9e39ed084a48c000308dca090b722266f04415495bf01678aeeb8f1256f9c2bc1713b420ffe2d8cd41e4d62a934ce003512b307c23738340a67d884997f3454ee1c5f9b97d5c97a43c0b41dd676a384a8ce1cec8a7e5ba81b193785a5d3c6b725de6896c7eccfe4b6f8e0fca5937c28921015d3368441b3df001413943c867e7315a7f73ac4442a8eec92732a8e338de75c1f0658ab2919c1dbe736757ec0c0117e80ef6b7cd7f103815cef1524c47a455aeb7326c13f3f8347a0bd80920b10a48a979f3b0357aeb9e877bb9b159e83f475fc1cce17fb0ac27f1e9a6902daaf0eb413a3ec401e2f45a798df4eda3ad9a2b431c9c9430b99f8e1c24b5b78567cea8acb1789491d40fc6f25ca33a5fb243fa221f4a650dcadb761169d6bd0419b9ee4e871943e84f609c3b5f17c1f877d9b70e53a7ff1a31669e73b21c0a1fd8de5368b15ad910a81edaf743ef68495feba0df84b523ba77b632f8702b0414e6a4f897e3e0d5e56b575d064a3ce429d501602df249193b200af63780785091eebfe161abc537d4536692013e98ee0590c2dfb399c19d6fc1c3daf5c4f6b93303e75c4af605b004c0f0ee278d866fd2fc28a8edd860cc0c8be957a7b9e13b6d92fae89d45ecc94beef5d19f0945a657f2ad82328b829699328ff66c184d45da84dc0be1e42a7a4130ddc175a1f9cd592a573047975425c7e80fb0ac02bc7fec6a2fb04b4fb2f3d6e574bd613c82a50bb9404a50b96dc820a6384aacfcba7e664accc944335e5e8fa09929dee307db63fd16da945153a9427a690fc66bb7b84fe83f948320ab3a7104661eeb071206ecc31ee494330c41f6a2b6fd1e1ed952ecda197d4cc2e90ef65cce9cecc4bb0257575bf458db7b65c7bb589f853e5b9cbd3ab6eb1a289e72e481669f983a6c7144a1259eea418b521280a299e39f2cf8464a1172ee5c6f471590992574b57cc07ab58bafc866ca21ddd231244a72d9218ee5de68994c81fdebc6dd3f62c088803f54564f61a8cff7e574b474a4da03b394acb89f1a03a97ad160e9bfd10c9e26e4faa7ee9c2d1f63d21d69e1a1ea8f5f2ea02f4c13399514fd4be091897d36821b5ac9865c1a1b8c7839690339ee521d568979aaba5783ede9294f05c1be3e2f42923f3b5fb2b63a4480a086ff7e7bc8d3681d2d431bdb88094133afc27caeef4be06f874052768592096d30b4588f8d6a6f2f61c369b9180ee8f5591b3491c03f60bc4ec7734c43ba0cd727c28579bf189f99aa58ba0816927b2b6d7beb22c38dba9e5ef8238f7d0339fd3b8783c5dc974f7e44a8e6266ea8d14d5dc75ccb4d37ce3cc312d35230b53a6e9bbe5891dfac7972a13f50b2d91f539a2722576d86b98419c9df68dfe6aaf255eaefd07193f9a2096d457f3bfd9c728f9e1783bfc3de37535befbe4e4104f5c2fff65a6b477f791dc8f7fe773d49f5197de8fd93a1c8910d05318cfa3c278a341696cb707b97dfa5454ff98dca7a379d16e9dfaf042938cef24c3e8c24d730b8d2d1326c416823136212d4144a66471278270a02f883109fed1802604c4118c10d7d3412eef17cd47b727036838be68811636e08091ea11a9402fc5868edbdd52b8187eefea7fdc480ecc4a9da2e1ad4d541247acc3ee1cb80c59524ea49d3c79b99d44847d882f6a2282a2088d3e22aa4ca3d333bbe1371152d368f62deeaa73efa65267404c1e0f359189dc2929c4d1ee06c3e191f0f8f21ab48d65b4cca3eca5e464f42411f3b76deec91024a80b949202d5823d93ef1e7d0ff518a77b0d668a8d194d54d2fab2d4551ac4d9c61edca8bd5e19e4aaf4e2bee1e68a8065e750537345f5bb5564d9be3adb7c7f380534bf69aa524e8dec5d6da203c72c78204f1a8614ae4e41349886503c0e0b493c649776f475752d7458271e5fedeeb42b28ac82252121f66746ca6cf1bb4b927ee532b014ec3cc7ea70f586852008b6044b3236ecce7606dfa7a45a87dcbe215b3fdae68038629eb67ebaf4dcd0e14306bd706a8615197f9e48c9c70d96060544d787023b0b47e2d70f778f1812eef4b254b5d906f8bfce5bdfb75bc706261fa10049cebbca56bc36d4b1e198e0c5b6f76a930a4808e0fd24b5e7779c9c5ae7592b2b9ec457bb94c5c0baa398ceb8ea1fc37724eb0196d53f228561eaed2ef82a00e74ed97c3af0f0a44909f8da995f8c185649f4f11453b11283b4f3891452c0c19203164c121e6e86623df35c255e6499e96e747d1315e840a9c8efc01ce3de5826b19540256526263ba0570fb0348b1291eb02683b669867bfda56ba9b46bb4c973d6eeeeab32c974a25bed457fc3363967ce3bd87ed4af974f977f24b11b69640e4c8e00b17ce61a2d571772ad4b032c00bd977930af1bc987d1bd4107845c40d562d5e8969981afa971b56a78745f5391bb10422c8856ec11756d6181eaff436adb632fe16556a89e0198d2093dc7564b700caf6325227ca46c32613a40c3d6da0d5da95068160e1ff9de159600617dd3f461fab4b58c73192031b332b64036ce01b7a7f4f2c816a64068da2c11ef0b1fc191e8e7dd34dae7daef03efd97fde41026203ff5b19462f0e2184ea99a09a100806ed4aaa44774e907e4269e24fa24dd7e3aba04c6c7d0bd23f24845bb60155680099d82cd9fd8e8f1381af06ea20e90358d098d84808222486b705539eafb8ad6a186c2875c8c8ffc2919e8b64b32bfe0494cc1017507dedf6a8ed3e7de6f03c2626095507486b6dcb76e96ca757e66de632c52c82ec9a7f3571502263d1bfae55d6d64d948c8d273c41bb237faf7083d5efcc2a1ded7074857e792de438c0d812e331754998c7cabe66151d67168736545d191ca7b023e185f18beb700ae4e0ac0645f4ac5b622d412046bbdcbb5b7a32677ffc08e7ecd31a3549f2cdcb59b97b146c65efa65103b5c0b8753440961fdaeffb518c26c875e8ad66c406b9166f9f2d74e103e0a77c5ba234275672144a4ee0a2be1f4cf8a94d7f9f6689543ef18b12765b97f1c76d02dbd5c9bfd9fef239c64536e2d01681bc1dca1e5055e93e286a4090bd8f23771205fbf9b02482591795cc0be840fae2a713506fade5e192829f313d3c6c0fed217e8b431b9770b22eb4c673f9005e77e9f02cd83930ffdcc6e0356e2c19d1282458d2b0e264e58b86f19fe9166c3bb97508f3ce7c819bf195b6f4f3cffcf201545f96881a7c6ba51831de8e62045f08466fb74e360abbcbb6a1e795a1ed0665dee1078aee4d374af6d2f639b91f0ed643354201b0f3197d58d6134fdd193594564c31aa545400c2dd4b484555a6c4e0d118da65611e70550f878eb2847b9806fbd80326d57676a2e51985c999048628712949f4c39965cd262da3cfefd8345ed605c27bececa44e1db8ae12d4aabfa4b18204efed3e2d0f83f2f0a92312188085ce3019db98ba2d4df72d058adb0e1d152798a71b5d941b5afcef04b80297258f4e3f773fff9664b0f136876633811e1256d5ef884f4c971859e7027df546beb003d2833c6b2a1f23ad80b633cd31e2031d3d3306a0cb67fe0b05b3ea02421c4deef96a6f911034d014c0028c3cd35e4332fbd29381d6526514b2a96a8a6ef3b967d23b16fb8d362884955a6d56a99d0c472b65eebf45888aeb03ff1d004fd99b9524a6390079d2b11fc88eac83bc48be8e64ad06f5c2e9070c7cd02b39101c2d3cf07848f5b8bae4085adb4620e703f810c85504f67d3bbdd414b10188bee457b7f13b479f9c066f27d2dd11dccccd0ad430ca7c2bf2bf52dd8c405a6e2fcb7024eec63699a0ff0192ff376b9afaca53cfdb5afbb9f62110447942a554e8ff4a844d9c98bda0286a7d54c86bcd62d641ef07ba9b2c158e9fe02d50925d46c03dcd12371e4eefa13b75e0981d59ee59dafff018bba288214140002a8a1b5c935d627233b1e72a22d80c892fe23fc2f91a8f4f104a0b970c0ff68ef0b5a6841fd31b72375d767e9805f27fd2419342b76b5b73c497b5d669a0dff536107fd5cf723e13a0897df95bc8db13ab3b2c854afb0ed8fd73ff31ec719c8bea97bec0b672f5115e18dd5fbc23015f0313c20e4b1a8981cdc39968ecd499d6c8e4dfa114dc081bab0ee0bcd56bda0030a1cc4256080120b0a8abe2b7be1566116795d0fdccfcf1226275cc9c1aa494c65901934aac13fce6e8b16c4c6faedce34897de5a17fe2af702268e2a8407db5801078be52ec7cf9e4e773fb89acfaaf5ab4afefbf297293acecd4a498d55e12a8830414ff45a95c38478c2d20d40c3ac1ee7ed3e80f72c85a6701a57673242d34692dcbae708a8eb057cb326b8adde7a7dfe867e873027d2ba226ff0878d5224f61dac26ae13d93a25adb0bdceaff24c308914d1c4975d0439ebc4998e0dcd9c8fb91c44e7cce21f40e8409e0ccdf3a85bde6afcf01358fa84990892a2dff5b9c3911493c288c7f436b575a1112ac56dbd0a186d0a9f4f51ece9b7996ff16b42e45f843cbce57cb4aa4634cc827a62337482b593f868556eb4031bf149849666a8e5809a0a7885ce8d5ffc61ff347a25471d9fb68c0805bb3de0ad0a6edac5e73011096c65192b55784158a27a225a6aa17253406d360f7aa5a90b93dadcfc9fac82f2a1caf9fc30b147de1fd53d12ac9a0ed221a5edea2407c8648cf08d792ec23ae11026068569da796fb7cd72b8be33c687f072b4c0364cd973d2d591c67c7217fffc1d5f1187bc7a8fd59c8448a7244f0a4660032f8b3fa3adc45d7390e57cb5f3e2db52257ee7085d28900a3bfd12cc930d17948b107f877772670d8e5208e86505e6110bc7dd4166b765eb89c7c86a44ff1a1f0419e1e395f24076cdc5c0aed681101df817de8a894e21ad03e96a5b0e3c45ad027054543be60d7a0a6744fa5ac6d1a34b28ce7da6274204569bfcab30ea453a2f99d7678668b9dbff385dd0b386bb7b163dda7afd39bd6b3838b4fa24eb5988b88be016737c2d6f4b19a7643c4f5cf7f4f7008c219c71ca590eb6e85229c2ba7ed9ef1dccaaa365e9badabd0ca7b1ac07c3a187000fbe39a18901d2368d0250035d9d8169e4b823329c619fd18dab5a7ab806452cf63a6dd155901e4645dcc3c463d41b9d62d902af4cf7dd621dea02588d73f184417a970c5e87583cf020919cd425f0c6c66a135e08de31b5268a5611dd22400aef517de0cb0e711ac0b22f9b770918e35e2cf754c904b2dc45f2b1bbbadefd36ddd17deb4b7be56f20ecc8c0ba120ee36168fd433d217fed578e5d9a84104c5aea37a513ca66d3b3b50a70ba285d92a7f1ee894210b680203a9912bb3c70ffbdfca26300c755776698f42413b089cbb220070b854cf18787c7094ca81526468a441e2560f6c2c8c212c075b51aad14821070e641d9dee88403e7c5845c578c322bbc7fde54301cab43318205090087ffecc901ec020fce86d083bb3a736e9333c630e050ba8ab8c6be5ba054d87b1f6676c34f8573aa589427438e8b896c2c44ab2a33cdf8c02fb618c0e1ba692a7fbfcf600b28d3419e8515717e97bf09214d9348ad81ba345f9ec32802cfb24371887cdf606c0f3254a65fbf6a41f7651f86c98c1989a525e724c17a323feef6c64b79c576c7475ddc6538ce3edfcd6ac82a9851458a51e9601c8786f31a3e781309148d2347e453ac3d0a01e388d9fde710bef74483318eaeee75b7a01476a75bba0c21ebfb71618b68bbda5ea6c76ababa79e985b0c5272f6c1e8b7cd64c4c7eafcaabd9d7fa80c356df1a24cdf6a364eac472ebe55719f11d23ecae7243491b0a130541e43d5855e0d308ba93968752385fb5549247bf3801f76f4d115dc7bbd2f2dd6bd5e3d4e68ed2f2926a4108136526da212bf9e51b2c73a9747e70df01e6113f46b2554dc310a4782107bc4596aa96ab59b4d9a0af0ad8c740d9373f1ad79b65c1a3b0e1b6c5dd18fa5449037c88462700274bc005e01f6c7b9209153c2ff6956c934bea65b53e299433e7a38ca9e09b0a9b50aaa96110a25fd1705bc3e9824f8e3870932512eed58a68965a0c0aa3099bddf6ebacc2f71061617f0f461bae952fe5e9eb5c9edd404653d59ea485cf46fafbf5b4a282ec069c90631b55ec4f8f383b5cdabf75ded7e4bc92752acfd2f2e40cdb72965e73560fa5316f6439e1791c89bebb810650f0f4598e56d1a3888c2e023a8c41e3c2e13a57b98b579259dfb012efa808f24033f5a45e26a07e3ebd2aedee300b525cf4a5f50042547c0ec15e396e056d77a50a7ad4e8bb4c45649ac4b1c098afe4d991623f747f9c01dc1c29752bccef5618c12b2c582bcb35beec39bfbdb2220e7cc86ede403e9d700fd8df15ff4ce823e829eaeb0e7398c32ffcff0f8bcdd2290e3b3304d459e67bcc51e3267b38b2403311fdf79f51ec41f73927ead9595c73e4ab779f3c3fa6a90ea8cfa3da4abc0d7b641deb52ddce8f4620282fb7346d9b8218a6aeabb05b0ec8e56f4e543d31a112fec804ed4909ee8b31f5af09c3d1f10e40b5a0bd74e44e0e86af4c80fbeab8bfa197e9913faa55201048b8fc82e45582c9ae311707657910eb2cb2fd1df9b5eda0842287a22678ef9c6d0b34258eb83cebdc693b718e2ad055ee8c27710a113d3df35c6f2d8e757cf0d6c2b987ccd1abc160ce53803813bc06e5b12a57472295b7fa9a9555989c909b68134244857513bbc93bb760b55efcde4e92b9f86eb361e4ca4a2fb4eb3504ac6ea17279821e8e945b2efd7340bcc24795df7164f2405eb753433de8ce1648df056afa629b80482e3b05c8125f0345b189fc1b7e7715faf735331dc51113f7b5392b738a50d6c45fd2077290cb58244e52e1a1126810e039cddc64815a4716bb6433bbf2fb784f0fb887964031cf851258adf8a317fcf52198ae73b59e5c5d70e30b421b7da96a79f5be177085d21d390f5ceb5ffd559a22c31257e6a03c0265c9304aa59a2da3599cd7c9c4b5e69416f93b310622d0f582908d5af725aa26a7e37aeaa90c1d110471ca32e4faf45c3fb2ab75fddb959954ac50e2dee875edb6790c68660a5c41d5a03926552b03867206ce3340426d95ce1126bd564e3391038ee6fbc1b6ab1ac9264c81033b267a232ecbba8d8b0de3655d22a5896bf3545ebe6f161979be66ed3a5d2ed3d497bb6bd3cb4bbf53ef1cc838d3897d37ab187e63a239e9190c6801de2534e6f48fdb49848927a47b90e0e3aa0dc639da1125d5d90fa7669bd8a4114b6738d9181df1faf4732ef79a85009782ff45fcd15b0496c4b02d88b4435a1bdec41e6313f900e490087235eb1ea2045a12ff9803d6709dbf97872c080751c1180bad87f87f72ecd72f74f3f04c60cca2fc615f8d2d5ccdebc423b942bf42682fc67ed295fb021085d5004eb85864c262abd7b664686f50623c93c4c1874132567e1eba40e630e27f6f581ddcad38c92d56a411ee075dcae35db80fa8a8d19c3ad702d2c0c802063931e5852d561f8e0080c047395289adf620b9791b52b6734d57250934ed326997f966ab2c4bb4d65ad7e88a2d0f483026a2929e6f61becb80bc89e1ddee6d2968ae28b9a8eb59c0508ba38a8bfbcd2267826bf90587bbdca090b7b041224693f6d0166b4c02834681b7bb1b58b8b146b005ca50b8231b07fea37a49ccb1da9ebfd6874cad262359b764097a4fa47f4981eb082ff3cf5e9e78dc17977a9e444b9f232107d07fbfe2ff2cc1a3e369c7e76a5ff0841dbff2ab1e69084a47474922049198389dcf591c0c8ff982e89479a40e4e918af9e92523a39d8cac4376298372c4429ce15604b48c2f222b071b4e16f85c9763c8b15425458ddaf940f02494bda77d0596ae076e5cceb149cddc84f7a5a95fc6cffd59f2a30b77f56917c5d93d3a911ff8552f4f4f7093304fb03d2d9e0c2d8ed5a5963614756c8c95e5ea0e29da8011c44d359571c22506558e746ef081a2c5dd30b751e01fea027df566fd5712468c4ca55599d521d538e1f3d1dd5095797306ee993fc4c3c784a34b73195fb0c0f615f1c4334016490ec2773aa8db9c0cd49e0bc60553296f919142799b3c2b2d2d2ce24891e0f643326b1dc71d7f44e794e61ae500445ec2fba5eea515fea20a8d1845424475e94c40a6c390c8dc05e9fc273d29d5398be4c52d741bee911bbe56f016776697d1012ba6bb4cf0f573c8f5510d31e7ad80aa02eccad95c07acbd11ac139a0007eba1daf0d88a008b614125a2df4083aae16c66e8da11da5b93680abbb59688b37902def63369a56c783b0cf64a6774235e8a71f243eb6a203fef08db2c53ca154867d83053f8254d9c3de11a511b643b0b60e0fc86b136000db158a0092f1bdb460c14619f13ce2ebaf20e67566ab19cfaf1e6c60646387e72bc58dcac7115ba86e25f586f722ded694465f18016021c8081b81322902bab4f3266883c09e606a9778c8b266cafca67f32a1155126b4b7e01b95e4cdd580eae64e23dbaa56d924267584b251daedf72c7a7464c710c88ed4b3ed6889ad3285fcf731a4bc033fbe4c45b9cf03ae396e5d5e6c82124864b6dc49557656946d324973f2048ef496c8028792b629cc7ee0d589f3d12dbe4e77076bc8135065e9a203f58e74a1e30d782995e7bfcffb052dd4ae26d1840fa109ab0166b4c6c52a7101179204aa3da238fa9dd64ae5c8072061df93573f9a24ed1282de21c81cf0baeab10387be4239527b5c16f2c3d94f06257839110d75b06d660b2d76e5ff3032d85fdfd9681b00b1a95abfa16393056cb4b2d94c19ecadec0667b87dc097be57c47039b0e509167278bd432236fe3e6d84ab3bb83b0c28b3caa761944a9c4bc172a029e5b110d4f29818be1ab2c3c1bd951beb6a1cb9ca6f4d7ada70a102ca502eadf6c61b6f3d7609f9da494cd29f489dadfd3e21b76d2dc56bfeb0db76dfded4dea92387275e4a5443ab5c78cddb50320fd999f81fb88b074b55f467495dd412c212d57ab77439e8e208f45b9d26e89ae09d0b91ebf1e994d7c0cafa6539a4379b02bab0131364b38e3f06bf49673cccec26a3a878eb919cc17ee125ef6a98856385fca6b19b7f403b86958ac1256a945f1547b175c76dd081e78d98f3be8f966e96b6a252ac5fcb4224f676b0e2b2a66a1423d00af3152ba500a16135a9739b89824ceec90de82270dc084a5ea041d07a0fe9787221ee64816943379a3f7373a4a97915fb6d2db242a7928607323f3b6639cf8a42e0367b7acd0a44b874f46c0836ff8456a0c923bed7e1cda3ca8fc74c4b6d755b0ddccb8cb0977d453e6ca64fd87fc48a081e79d28db8d8883e120847ecbbc6fcddcd6cb998a8c7d8d96b0fc201d17d507cb23f11f7ee0d05ae26ecd988c2a4ac850e6909a45edd086eb88e57f16effb585fe85f76b15c3308f796f3031973adbf2faee6312b880de7b5d9f723f2bf32e06a1960d68cce846308c4286833d305a6c7e02cb1fef824cfaca2980e30bce10a4ebca4ce525efc6fa7cce86ea89284243b2bb468b626f2ebadc7e25694498e1004490614c38ae03b1a29144974a67d1374e6dc05ec2a8e2306a67c5f0e469753d39854d903fc72ef66af489b485a49a9600464e0dce7d8251cddae59baa8570146a4bd1d37c921ee9643fa16ebf5eac1ac9179cdfef0cd532d325965b67258811117ab2fb1b9b91b6f1cba54b12ddff22f7bf3713dca424b0ea01e87d6c421fb000da18193108e76bbb82883532efffba3bdf6c993032b42bfa7e63f39de9b86f695baa047dd0278afe7e7aba54530ee934ee4b90544b1b346ce5585502c7838aa07e3202536fdc468c8b1ffb319b64290b94c64164aa850fe0afa513ffb42fa1561f08526ec571a6786ab30a463745ac45e811a5630e479dcdef169b423ebe62b59f78fc6817901864f6bd632fc057053f4e1d2b789e15f66f4505bf37e31adf9ecfe9c5566036aacad9209953ba3ba0232655a84f0da62b82969db6c872ec8d47d77c09729e6955b0f29a0a80dedbd3e393b6b750631443a79661f1a08ee3a3442bdec4c2175d5009eb20d7e5afafa8149fb6ea5f7c2cbcddc37e17bcb8af5c0da549fb64c12ee85f16670f517e9aa259219b67ace769ea7a00c3793af4bc42923bf2978aa5d8cc35d370fa55d07b1d14709628fdf6981396408fca1f2974b07629009c2fd04e400e2c9a84bc68cdc00456776c9bde1a816bc8ccd1d48c2915c7845f294239195f6d4467493ef0cb6106a29a1c519f43da4abbec66ea00851a02317473d7d8797badc0959493291dbd9e0e10c9c2efadd99367aa7e542cb8a65dfca24afbb1bcb922a8e7b2a99d35301bf73f34d5c70114bf353dbbc6fcf0f2d0e0c1c9a7b77fe270134a5be19a996f19afa8776a2699b3244c648a364b5c2b22989f0319fbe79d64a307d9ddda67592e7e7074bc38cf1bc1a5b439cfad8dce977a7c9fe4857696008cbbadc291012f2b0bb55c4bd233b014cc983f847cf29f0a671180efbb5a363ca96518b4c464e0162af875edef74943434c9d4743463bfd78c327a4dbe22e71c25f3670543642ea7d0770534b691eccd9ea75ada1f12c5990dddc5fdd8ef7beefcb275507bdab23584ce8bfaca1dd485695a29a75f3a7035febb5a913768ff1d2530071f2456abad554d1da39ece586000d81e1aa5899ffb63f52da6906c3a6e7d2bf54b8e2f44178d2ee3c9493e1087d210eb90777264dfd55042a2b0644aa6685d03e424e9b12903606a29faa3619e4e2975a7fa1c2acd6f2789db9c322d252bf2e70ebc74c14a633c8ce204355b1e02368d825b40a4a61fd64c5fd83adde404beb2185d1da4ee836031fc2d28ffc5ee05384796235aa0ac25c27868cb9df44fde0af06a00d526ea0cebaa41f6bc0c00b165b70ffa1a7ae31bab842f1ad783a6cdfb59b5f677be1e64bd26c70084fdd6c34cd2eba40244f24f41fd07aeabd3af28acef46b4a7b3fcd8d1e1b8194d3f67b94df8f58318f9a9bc3be6322fc68c24e47cb0054f24f3c9d75be92867a83aa518ef1fa7057211c4cdcb675efac8d9d7daf3d33d985ee29601406a0b4aea44963ef4b9c5aad5ad1e050f9fc731220f376702e533a698c95f81dbf64a44e52f846b179a875cc02197018c43d47d7ed18716951108e71798c278642325bb209e27178e143d2c5fc7e6f9e54663cba353ccff49ac3adbf3aa0eda74cec6a3e135f7d44bf507c1b10fdbafa208d047cf3057f72705574479fcbf19d9638dfdf2d70addce64e15b0b705a4d3053b41fea8c3183e9fa892b557d5f2bc0d2d21f60df7537ed92bd8c2f83941176fbd55834df63d10d42b14db9dc535383e92f9f8fa59860f2cea87224e3abd715ffb96bb91d78ab60c6ee8b52442e1be28dfc181c44dfbf6a37085e00822204829a11a871b59a611547a898fd9ae0e8e7e1e6ee5325f55712ea9ef0b665e7a309f83cb88bdd8023680a60c1122d414206d1be9b194275905dbea59adc4b5beeb0e129649aadccc0f40d05f78da1df457aaa76bc6279595646f1078ca1a9eee8649f1d0383209d8d545d823c2ac02111a76cd729a9c8f4f9af61bb1606dc6de4c6c84b69481904636cb4e0b6103b00f2f44081297fe173582e9ffca407a11f4926eedef7cdea57be30a9a659db9dd22033de4b1a7d94131e5f9b1868cbbf0678a116cd4b9fcf9d6333a42eceb10090df9f3f0fdd1c9f27e18c066d441a1c3ade2d6c1b16690cba2d5a05b95c5829daf07463dafa9f9c72aa1a2ec4ba66eedfd8d8a4af153273a6edd612cd0ff80dd39b8ac8cd09a5ad3dd0256853651fc962c51df410977ea06c4df7ebcb4368a02145d78b9de315c06d8a821f708eda0a05fd5b2b6d199ce3491afe298b5672db63882c3b1ee85374b48a57b234f07b932cdfca55ef66632df41cdac80b8b7a891feae533fce9b9f080da248018a884bad6128dc8e558f796e1be8dab7f65e5944a20d3489329ca5508d328d9d9d1affa60c2fe81e08bc006efac3733b6202be06e5475e713a647506086354e10f6c70a8b131e1675a55110172f35ff036db1407b930d6fd895fc37b734c55a3e5e8720ff8e116e21aec7744814b3cc8578537c34bce38d24291977750706e4af35ec65e522e85b7ab63a5e85f04684ecb4770f69acd788d04be24297731668ca052ba3719711609bed9768a98cda10a01139b0d4e97711478a7f4acdc50eee491267412f302ba4a19285736003934ebd72b21e48d1ca7688d5a06ffcc00c3bdcef96eedcce8c626355b1f1e524cf60fefc727917e6b58cf9ed39311e830384ad10ecd87e93058752bc284bed5d0e2e0c5d1a0ec3ee2f7f72d0ba404fdb88960d685f10e884b308ec5d93f52916fefe3b5871ba3d5a81462d389067f112460b21e5c86a80135c95e56a026b8e33c6deceffb0870f75c9d5f90a97c74a05fa7ffb28c0136f261415aebe06ddf99f0c2af4ce1b33605afa945a96b06b07bc6cd0bfac8e18768cfbfef1fa978304ea5f422ed68d676500d043174e3a8bb07849c604367649e4a97464fb8a3061b0177a7bee64ae523c028f5b6212455b248a41bae6aad936e966656e9acd13eb99165097a7ebb5baee4ba15169766fc3a5ab156ccb8b547e9d03f616a4ec0f6329d687f602cb67a33ce10a646468d0350d5379f4467ea0eab863db2a9a8acfdf96e0f6e452559a00848305b0e3a6c9cbbf6ae0263dbfe33e6d54e6e4df587a6c87d7b272515b09572e8a88ca061b7df1e5f56e20482991c0747a68804f422b33ca2630ebbcfacc6ca1a09c9e5a96c5ade0833b5ee4df857c314a9ec49b8fb2fc35b528bd4fe17a98d672a32cb3e0d20b8725d348c7e1f8792c2ca939c2ec44b8e6fcacf78b5a32e4534b31fb3fb9df43d64c2fe1dd0574ec7a4b0ea954ffea7b569def7df865fb69f8a28c13b5856e3a54792cd5ba32d19cecd62e034ceed9c54544a07c28725ad075af65f93c75a8462a30ae5aa609d1840856bb0f11a866d99785949218a2e5ec706ee1f8b173a71acfd97493d4a7406be04b3095e16a0838122d0cc8733eb6e785840af250453589d1082841dbb14650cc597da0cfe78a5d3db18134f0b4cedbc75467abc62960d01b2b8d3e9441ffa9361fe28ca9ec209021fd3f5e2bad4ed7d1d67ea711fa0e8256e65713af3290ddbe8588604fba14c69c06f6a8819dcb87bf1546470baa82accafc1977df6c0f25503023e53d4238608db2950574b9c8c2726d8f3a16236a2c78761fc4599d35768064e954de6ba25fc88f19460e390c0f3f1007a73e0831295d8ed48841d68ccd3f0657e9fdfe400260f80b4492782620ad512559141107a0ef1c14bfa67e432340a32e09430f0b71e2dcaac1d6c2677e8ab09249b8a1502848d50cd2ec90b5b5b6772897ca2186c7ae7abbe3b089e04fb0167b6f2cb3e02ced5d8594c7b120c432194532facf1149b46020ccf002f31b41a3dfcbc6bb0445d8dede0387895224d7412f7dc9446981b9312402f10a7e63e6103d75b3d79edc2e525d0d4a7565fdbd3a2dec339463dce2d43e5ef0f1f07286ddbcfbab12fe8b690e1738256ab945b7b1bc25490aaa5d4abc0e5e67ad452ca3d20fcb4f1ddc03796b727ddbe06c90f02cbc22029f84682409d405e0f3aa788b304f6f2a6f8d5e2a3bae8ea692544e1bca0260ef2b5cdac7c1338b51ed399ee8ecc46da0625c282bc339037869eeb5086065983480a577b4a0b1bcad08052a7542f8331169ed9d523693ed32ebe99ea6eb53793ef328d2c152050d73b6543c641b437909ac0377f75ad095134c336623aae89729ba2a3e32018cb270c68d24e6021809db6aeee0189278151edcf9f158b40e2402e61fc02456ff6355afd8280cb2346228042e3ed34b1f8642d8d45d786f00552b6ccc8ac1aed3899e4a675da8e126245a6f4c871f67b9430319fa38c6fb895e1844e0f8399185f00bbe534d8ef64cc11069b447c016cd43948cd7ec962c8da04208823339479cc27900979c837433eb411d56100a74501710733be8868c77fd507fcd10e6d2ddd6a24f1080ce610ae07b49b2b3886e3a48c1ed7ef93db51fd59abab788137be959d530d349073bc1d22f76590146b625868e0636be2810fafdfd6065d92bec6eb4992485f8d4673ef1ed95f2ae33e89a326abbd3e8ef6ef2050bb5f629cef6886a96ccaf74cfb1e726664580d1636c513e8cd83eb83ca28414aa46150d385b415f17b698a378fc0c8fae9c2134fba3a4c50efd52d6128295ed0a1fdf927f0af7978a75673ee958bbc4f9c2f7bb9c26e05a8aec90393888e05e898e847e6adc067ab76f696e426c34c72f3cba0afcb49da45f4a195eb27f5271a74bb98e4dc4d19cd1bfbd05f5bc7bdb864bc061a2d2ed9934e134e755d3b8cc17d5fb17549f9332c6594e2d770210722cebe65a040c59cacb1920b18f5f91f82a0addb43ef6721c5556d1931f8a63cfcfbcdbd0a69805f91736f1d01e10d5643ed9e61cd4794caec14c2fef8fe6eb460ecff965d162e132bace38aebb451a54b1e3c3128f370432197e14369f694bf56f5a04e43aba98c627f7d85398a4d2900e10745f54dc7cdbd0e5db9762630b06a6addbc0089b908098e1dd7036d56be62f9b1fa1e4112eed5cb28e0bc5b6804484cefe0a0c3e55ffdd6350031ca2a92be3feb030cd7a5128cce4ca85dfaf6f7a951b53dcbd8d61ad050ec9724d3cded3b25f8800e41308e4f853f74accc82266981975d711c646d722cdf986d85d6dbc8e8916e77c0fd8219c90c512064e792ccc9eee5a69ffaebec1a837c86afc3d285ed9dbc5c7f9ff0af7a79079493f9f232e8eee2245a7455e7e6edfbe64763c3276fe5010ed5d06947a1d3c7f8d59144b6ed4db749b2fc92828b33d273a1e00cc1d999ee2be485676f6ea814f37536e5a3dbbf69446aba119c26c5a58bb343a8345265c55d07c9d78ead5b15724af86d9e933f55cc88e9cc3d85dd0934cbea191dbd18f21e5760223366472c71332387b843178f8a4e5aa05be7025f976dd477261ae368fdbe8cc8290769d5011d59e3f31b32616766c4c3d66e820a3157acaa5bbc8ecbf6810a28640fff0db6229105659389e2b82aee8d3441dd2d50796b2766d3e7b717bc3491d73b06df34180311261bf37c456b6887135c8da2123c61a46b836980bb1e306d72d5b171fe8bb9b6460d0e867f4b92289e833b6092ef273e0ec9292f9731f7819c0144d4ae6fe5a19f3ab00da2777266f03bb6154401445a1ad682e95be137a6ea13a987da1a6108438d83796cc92c14430569c288faf2b46b4b2e3fbcd33a1424d6a24342fe42f1ffd9660dfcc0a4df48548baf312732de75eaf8e90e442daa44c11bae0ed367dad99ad3a4a8874b7c1828ea84052a77b9f436dc31c1a89e5cfc2ddb2413f5929f7cf168bec6714521b7dad9abeef92096b017e88ef241ed4cf6468a85f631115cf9bfdccfb3be173a4242e61822e2f8703b8dc2a83399e0a136a81d7d1e46e2a997be193f68ec2531693b20296934994e61f0208d746c829863b80ab8c80503048491cc9dae02094911fa1f27617569325fde79a428c0c5fb71aaafebea65836c951d27555be8966b98e2cd3d3bcdf7c0ffc75f21dd0fd7588adb17f288f6b98b308307895e9ec3c06e13f86324d3532a298b5b873a8379047f2bf05997bc12a00d2c28f7a8054bf1b1d961a7f4f90b9a1095cc7597e509e5bb1bfad3018057363b343bbf0269f4e56214df761d967fb21bed43b0bffdee94dc26a907e3d7f89aa32b8156893055d50e7863f3e689fc44fac892b89ffd12115cda79dfe9e3b4cbd336dc99b9174b3b90892447a11ce28948f7d53e86afe698746b1580f4c1a11420f3d8f5f331a64634017e6db9812b8d6a4be560cb5314da88f394709d260ff15ef5ca512a4bbc1cb38befb4a5fde1c5bb498cd83e0b5d7d180e4c8ad1378a795d26452626b0f6fc1b50d5eabf9bebd7a96553d70ee600126acccedecc4076931130a674c296697cbba89c4d9f485d65cb361bc71680f3e1d9a31e587a75f01b3b781c6fc97a77ca29e6cfce2baf0e9d013facd5ebe6fa4880fa51cc5e2f9e88ea8dcc7a86860a9aaab53fde5d195d1a167a2d442d538f675ef4098a574e6de46523ee10ac280b14afee395264a5e820bbf1bbab158489f52a8203c2dd7c12f24d7580acac6c9984b0d45a4ab9f4bc8a210a26ed8339ab9757f2cdbdaa36381722005a021e58b2af6297658c17050411a520bb1d61d641b142ed6d758eba978d1c40ca2d7b058848af7a12de45fb1cf233c8762e20a0b1ab0db0e7117207cccc73e047d70404359340b73fd767bb87acf89cfc2784e3b2995955786605695c976e0dbed74109547179af70bd4c49fed00feb5858bcfdd47aa92822a61cc1a7d12c5448205deeec2b94c73a82f3493c614a4ee4efe4b15a97910a18bdf58a8782e85e51ca146675a25cd394ae243e2a620f4d52ee451d1169895764594df2af6b0e132372760c3dd869bdfd54e558eef930694a5a29c513518c0a7ccd2164e6d5403750e28ca01fe16be70fd9c65efcc9ae0fe952c79650ecf9aa7b86a9813ffb3f7938cd731e48e2b6bec570349b1239055d776840a7c80b8b20030cac4359eae65f1e3ece2875896852e63e6bf0272859a80e4019dfe0a1445126a62355ce955a88a02940cf8d9bc6e6325e0ba16b60886cb250e2221c6a66d2d07765798dcc17cbe64a350bb8b4f859a1604cd6d5b8e2ae69914f77ea6e024524fa8c9232f9891dc4473b0bd6bb028a568d4bd82b4259b0684c08b4939f97a983958bbc1e8f57ec6145338825ad99f3057be321fb8679481df57c0051332b37222b7c90271340ab1ccf8668d8ff62357f84669442147e3f42fa8f3dc4f10ac2ecef7cd56d657d3379671fe416c7cbfd7e4af3b5645a56e470f480063306839d8924717141c53a07a1706c567030aad002e4f35bfdecf69d41734affe15f63e2d2333113c3307002dddae233d6ea7514e838a4df98730481aeadae7d6d648f59c12e3299bfc04670c076f88ddc45e4fba7856db90c35308b13b3fc4cc309a8ee115f0d2b4bb2928de4f2938ad72e1421340db8d21b6a93664c0c36a8ef8b5f0fdb20c92921c520947f876c0a0cab24bbee74913952ea5e923c0f7afdc54ad9dbeef60caf27c53c38c45343a2b68e690924568aba4f0b084727461bf7a5f171b69d4f7c5210f6d2bbc9b7a964a740aceb3259f2977fa32da3243eb5b22966d1a8d0dccbbd502739e99ba974c5ed56689a39e93336eeac1ed7694053eb56c4d1d41ffbc8ad75daa14b781c98548a4741160b996f293299bce1add6ab6b342e56b24df39091800c8a1e40848bc3a640aaf349aa7703ef00235d6b5ad319c98e8aa1a69c3d729c210d920e09bc3aa07554c22b2853bcddc454546e119135d33af2c31618cabd0da44c345587bd3c388a50de79d6204db8fc2b6788f3d5c30950cbd2e1f5e0fde55e70dd6042c856487299b74cc9260768d7da0baee80390c2ba045ff899c6fd0adc16058723666a3e344486b26548db78889a89bd46065cc1583203caefb655c0e3dc7bc3665b6d1af20ae26707fad61a934304786cc765d117693bd921801acf2228a7407289f3d732f29713f8545d80173229dfc4e5b1d49469bdfa99db9e56a72068515f2fe421c4acf18e885f7b924b0ff5cede5d428339f0edd96cfc845e703ee513afdfc5e78e9b69ef7953dea5f89a8264535dc8698771e306a1647abd0d3b5bf0ee0219c8364522d753dbf30af3020738572b9c5aa0fea2d44509379fb6f97e1693bd92d0172169f6071c7707eaecbdf5f10ba5606dda90fd36fe06a629e321fc8ffab4552a9aadfcaba83a7426b1b9e9ae633bdf77b651fbdc0c7deae26426a773835a33b07b5e6e3b41264c0024eb2b2eaff17c85a1cf2c3b673a0528aef374e854c5bf66c3c171c5b221f6ca17c0f00049638db6992181af4fc63910a2dedb3211d9a1c2ca7444a7ba30ce7797585a416160fcdd777024ab65cf6dc76d23e6391fb5cb6436f1ba3946622a6a80d0f3722e7b67e1a3db97a08d7781687683ef1b01aca52a152f59b052c5c6de14361dd8e00736428c906b14e9c678fba965cac4e2067f6ec49149f52543e9f03eadf20f01f5bdd298a904bf6b5a490ba9583b7907a0e3dfae1281a9e259b2f299536ed561aac6ef161cfcda3b0c6e8771e203b13e709a06dfd00012863084184e7654a2ccd6f7269b250778a835ce936ddcd6da001778a0487cfd83d3b4b3ca8a97208f92863dcba5ade82a166f8f9cd38dac8e2f797d752c54665153e0675cfce796fdea1e314a3cf3c0590b933325936208ef82791287b13a9c1325b10163dfebcd43a537d2c503c7cf0046bb45888ff923119f57bb60d87bb7924c624dca9a6a007ad56e140716f4bac207d9a86a3637001783d3f427e04d81895acf0a6e5af287e03c87f6cc564a3f6f62058d746b5173c7a74c41e7bf4ca3e909db504e7e0297ed95273ea737930a9d374b1c8848721132e6214a145774c272f4978cb8313412a074008bd662763a9728292e4de947782d2fa07416a048789a3b0ba69307262f9cb7cb35a98a7aaab28fcb813075fb3c28e90d499bf9b4f6f59d639526842fb05e471da8964331b1ecd248ae78c17270e8c89514207b3dfc5d65a98efe3c7d74418b0c15de64e32bdbdfc588591fbba3e9cd7fdee3546e568739e1cf4fc2f79d07f733bb0f32d26535f81b9e53782500c29e4b323d32086f9fe7076ead66014c1916b0b7ed115d58cd1928f414c4e935790134db022f7cb75f8996fd9a937e1853ac90e997cbda500902a8f281ea622a2770707f95471f0a7c34c8ab706652ba5b7c9f8facd1d82ecb42e29649cbcb364b4621527715f0e30914d0b63cbdd2e0da7b54b2ea3eb48efa51888e7a00d3d32b6462f110cdfcc252e1f37285165a82a1916245d2c2320480e76baa28188cd2c80574a1259e57f06843683e94fb76bc6c1765e96bb642679aa634b12b1c8b30fb282d6f4d0410643dbf2d298573b918e59a244244208f67258ae8611873b7d61f8c3c8df5b66db9a389aee92fe2f90d00025e638aad0b8eb119e25524ca2b218e022e3f59d3ec9acaa6e0354cbc343d054fe8fbca1506f4c2ab2320d350eec61ef78fcffa2c0769300023fc509cdd200d74733e8dd1566866aff3bd6ccba49b6bd8546a9d88f7ef948d61f72c4b54bbb07e1886e920ced2b17e902877579f8d8e863cc6df0686ed81688e8ff077cfaa43c41b06eabed0e92630119441a291c52df9fbeca379df4ac8966db2ce14a9c17bd3ea2b729120b098478aa90f5906b141d309623996228bbe490fea2dd3bf0f2b5ad88212725f5689011093b0fd5c8db3febfa88b8ba5d67cb500aa01ad718f6ecd2f1ba51e0316a731b9f36a9428aa90a9380da5fa0054aca7b559bba20d98cd153892cf93154b60211fcb95825afc4a5e3aa77af9915ef57b5c4d83f28405bbe58857d244f847fd3ac3417f352798f8e541dbd0107b298a2a214a9467754b4dff18d879fc8620741200a85b58860c71ee67f589c7949cb32236f6a7b8ae47031ad2aab245b3bf772c03d9deb6bed7aa808dd6f46b6215bf4fb8c4ab966f7c39598ca310cd0e4c2282b2131782e91be346c2b1cf3aa511f015a63ebeef2104c5752b46061c9c8f3a670d0f4af64b4f96718eae65c3bf056d8e65f8cf78779dc2e36972a96e46320f614afc8b684740e99882167f12387f50fe5e3f659dcb7d2987a2e059968d7a4957292ba7862e865f235b3b06669a091f18bb9faf1813d150ee685c36c354addb028f94ae5a38a947b7dda52c10837805eeac1bda0439ce79bf126a458a3f7f77f39cc58f2838ba3862c0c1455d8564ac593bf7f4c2cfcda2ce0b76dbf21c322e69deff36757d16545018023f2cb3f55fd6c16be14d5e3998efcebe7728b2a35f645d388259c5ebb71a583284316f6864103a589451ba6477c801aead688190a7d23063f02de1fdb61ab2a92fe4313de1b1964bf06772a4be424e71fc39ecb0d21d3f968940742b3c0c398f36880f59567fccbeb6d2c5b5c30b6a0cc48c5efd24f7866009b509320bec00efcb0a4bfcf34b1a34d060866db5a8d37a9d7f0bf0fe3e01bfc98be4660a4c20b40feb3e8ed22256f435eb70b62c68a316bbd770c5dff3a9ff7543da36f1ae04d01eccd9d4b42a53943d82a2ce03280946ff6eb3cae247f0bfbc4be83bcf8e40a31adb111f7df7f477f298025450c26aea88dfd57de541847b81f2f2239f778755b8bc8e7c5a455d07d8483218be04b48b10d825dc5d748dc1a7f9aef84e63aace5ae54a42e4f930447c5f43357d1b4e78cad2c8a21ac5f55bba85af3fd17ada5ef04eb4d7140d1230b7850c57b16cac7d624b927dbefda3c23e1108b533a5cfe5fa06c94d311c5f9baada2cbdc5601ef698f703c07a0c0af70c3795d1c879af2cdcfb71960be577eab0f6db22b923a36c0bd3e93fdfc59aeb6c1ed778b9f5c94e672186669d9101d38beade37d8622e6a346bb4fb72a59e6ea582b74cd8f42a919309760066c533182a92d221368c6bf141cba5ba04d7db240cc823a40653569c9454e70cd542ff40a848c054aab679492ae6416417fc7028f57989f782946e9be3efad63a63f34b0eff4646c136cb5a1eaf06524ff33efe9a855ffc456b46bbb55f20b080397dec05b13aa138430f09bbc1355109d49eb3080001927177991ea5a752178097fcacc6ed378bf9d118f6b8bf0d09e82bd56ea5110be57db7b50ffc4d4330efbf9238a6854de4f7317cc35acb65efe8d87656f43c0a488b0d81a37fc7e723acf24c0a7229fd9d252715294fd77f2756e72d67d083541092298ce9d86241dbee484570139b0f27f25ea995649457ef695e478de0db3e1a7b3f0855e0ef696feffff2f1f52810264da3412e520354ddd908035cc4abdeb76865a31cfceb5e28cdf52919f6295fd7b90af86a0c64e053010dea9d088c21dc4725e7b74428340bfa1159f8db90a1b2c6e0000959c5f3b9654f61cd8560f9cc625b9cdf31b9e457f70867b607c65b32d742dcf5bcaf9e838f11f454313dd45153779cfd85ab2b2694bc0ee56fef69188cb88c0a7b17ff35ca90345c632bc7f6412a5d4c5788e3aa55b0e9041a370b8beb489082b8be7fa2102bd65d1cc6f8d5dc4dd3fa02432a60dbe32be6a8261a39ee30d26669b7745c5ba297bb1bbfa3127d34b30b12fea8c98aa3d8e6b0dafd82af5ab3696d60a8e079d3936072ce437e784ff40c1bb3153632e854ef0cb4029a63192061a9597cb53dc17b567c3cfde20f1060805fdbb6180e5942dab6cc9dee2fed43848c4b2589ca42faee4022f54d77244ec98c487f91a09d9defc706e655fb026ff64cbc65ce6c2ef88699e8070526c1f878da508b3f75b7479f8d396e12ccdedf6491162d8a783983eb138e2cc5defce7e09ee81428dcee6200e9a6efbdd5f069854135a07bc98064cbc6e1eb10f3823464a44f406b785cde22e7006962dab34f20160637028570c55e9dfc28384ed83824605027298c8bc0a7bea57d7c596d20094d93bbab09a4daf35fa19f1d7d0f8f2052723b558f818d49376645df4e36941e2ab2271a0cd4563a710437ccfd8d0ff365b3c8ef9ae1e30c7dcb9f4eeb3f63a0c89efc8ad2262014541f4b5d0c9dd09d7ba6267ad78c306099ddddedb65769f9d2a5f5652845841b756fee290a28d510eebb2765d3fb7b55cc9240f6858e51bf084acedcdd8fb3a6e23cf3860b1b3b2422a720511380dde8e56d8bc41119b92ab765ea7f45e98e938b2af712497b22fe0c77f44a1d4805ea5e58d0f3fb5a11f0fae2d30b7be79ce20c640f0bc35402f065887177860be467c0c7cac59a011047c32ef2fddb5adfd67f6941469342bbc472138090612f90913b618e96d5f313ef7bee418c46a3eec48c1440db091d1efa320e2a8dbc9abe30ba4997d45695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e199d355cdcb33428c4d4f76d8f2d93c7ad6358d3bf1c9e10162dd890d6ebf13880add6b43067b443f8b3050a1b8a3b32955c907b46f4b52b2600051a4e8c977c6d2cc48f8fc73169df5bdd980bee258deffb2fb8ecd6693186d400baf128e60256188b6eb783240232d5c524ce56a801ba7d6c43de979f2c147e8d9faf67b187c4d787f3d6814569556cc879f6004390252914a92248672824bdac1579c67892f24d88863722a774e92f996e63bcd8d4be2bfe29ab7440d1016a37f26aef0f1151f6f7d6d6b4e5caa79805e177ab2558d7157e394a56feb4c35ee783f05e74e0882b5b054e621c8d80c268b751e0e935f84540a38a6e337cb88b4333d315b92459b85604315c9eb55fe177e3eff713ddc561f0b824e0a7dc21bfb37bfaf42647e2365bacf7ebaf8a73d337e163b57549d73537f7c5e7cd3cb16c32bf2d3a76ca9d16f85390e239468cc46625034b8a17ee577280b87c995a3fb2475b5a2e77d7b3c183b7ce4f053abcb96d4c18549f4f0b34b3279e62a460540523c2577a78bdbee96d4eabf5a20d7d1c860ec37529b6fee9130c6d261845a633bb5e5e54c8f4c5f5d138fad613a04b1c424b66015c55cbf227b6339adca97127eaf2bd81fdc835f3db730be42c2d14b738ca0e577863dfc9304ee0b8317dbb17bcfe4be4f28b41781a52c5d4f258a25af1fdf3b1aaadf4588f663762417bad5b5ff6d60e3281990a625ffcea68098c83c0143bad5267b58c618deb67834a666241e7d16ba258f1f669504096a34328c9c9cea4291731d9f1fce99cd0947e47d766912553f80a238d1c78305ae21dd2f8eb588c6eeebecac0e8a1c7fd696adc53c53db51d291aa989b64696a5934ebf044a4a0fdb0cce7dc2868fd42b198f3853955a6f078b73a77c26360d4132acd0315920722ceecffd1113af91a98b25ced9f16ac9ae81e59aea71b3aad8a70dcb0bb2c902e4c81afeef99edad2b149d2e9377f487d73171e25d4ed853b633f91ad35e5d85cdf8e0b6800919043c1cf4f67f9a15eb77b0e3118ba1cba206188a6ec3a21eaee922a90df882b15d31e2dcb94311be6e60db4aea17ab775d0e4f633f9f3ea41877c38af1809d338f4974f66a17034d18ccdd3f22471d6d27f9208e57bb9b8d10c8be29adb8cee5f98efac3bfe8f1c3c61afb4fc6393777223f71ecedaf4cbf420e97ede115ad13ee6a1192dc2d06a6f78f50d0907e351196fe820729d7ecaa7bd8ed50fb64c4125880be0ce8db85da7d97f68af33d79d599588954a0b1cf91f618d9ab4e390b2f5b5f2d9e9e17992b547b41f0704f61b424db994f59db8aae825942d50abcb79b0deb44897218061a2c2a8e0879611e7236547c81785fe0e57c1bfc9b009f31d432847243c6b828aadff579ffa5ad8f86e9875e2086bfa8c9431484fb00439a57cef8226145870db99fd08ba6bb9425ee0f59b7b8a76a54364484c6de2bc95ad81ec8b236f7339132dd78f020ac2091dd914466dd5f47c24e36a7d60d14b8a36bb67181e91533ce6105c8f0dff7f8143fc57a132bd5dd307c30ef906e7438e4478a8cd24a807c761567a7e9e4c81df2c073ca96b3621253d1c89230fe4b89ddfb66427259959f439368cda8805c512292b3da83e92814f79f777e4325b252cd0b70867522148de086d2e460b8d568fc68e3070f36ba9d915b96697f7d4ad5dd8a8fc67e1d8b998f9b914a1e58cab0cb69beee8f05617b200e2fce06723390e70076a825016c51572d6711c2c1a7511f16b685e6b35d4ec2c4f4491dcd2f1d0545c33e9ed87e5c74bc1a9b6490cea8fe327118f2a9b2b6333b948685bdb98f0b823b9bfefcc15e16f93aa6f09f2c5fd9ffbec89d4dd140d354d869218eea0239dd986f9edcd262ab914851a07a7a3952f316a0515feac364be4af1a88cc41a9178794d07984da887d831ea497b6905c8cb6ff82149466971f10b229d81678a2d63c4bb201e97c4b62f575408be233716ad6e98452708c57eb17b167a117f29779f6133a3985ab5062cd61c7f608d9befc048dd26dc49ceea4945d5ccc39403a66afad8dd047bdd1eda97dc3fb7d4dde763a7bbb5747d24b3d6f3063fb7e7200516efe8be63695973284a08de78e48c931ae4d934d1dda841a43411ebf1a4ff1ff0d3a37d16fb69d3507819a51802bcb19f3030967c02cf920d8bb1f5976f3bdd07c97ec9934ad5955e7b6a513e7c446ef2dc0cf1865852f69115e6dc08f3b05e1b91bb1ee3c9aa5d2254fef28bd5e93a4bc49bede96e388dd5c5eda67d5712de2bb8fa8ba0d14bf2572a079521ece7d82d11a5a03ffb05a1d400089602ed4914c7235e2173ab5af5b59546a04dc5741bb2b579684974040e39fd685e19814ddf5067a2befe825b9b17d53606ffc922ab853e4315712f840930e67230fd664e24bc93ac6dbe980ced53e823bcd879e963b4148af9adb1caa8c771eb56d31607dba1ff9579ead15eb2da130c87972efb3abde42bbf359897b5085b9a74008b7fb80eb3798943503ccd8d50c761e168825299c28df6527d1063d1afdf5016ac6d5854a977172a589981f584f31bdf69eb6e90000ff98dd71eab5c67f153cbbefee91e33fc892dfa8f94a99cf09f4962997684aae4d007ff7d3c7f357816f2343d6b460bcdaec21644246ee6813fbbed9fc4b3fd07723a914d6c2ed441821d4ab061a04a2c918475da9473872a60e166c7a649b9d6b5bde8bcd3b919bebbee63d8605fb8a97416d84e2657bd61127e5f64c63c554481c726cc5dcff339b0edb3bb75c6c5c2195d71209207b56ad1d10f8c2b6ffbdbff4de11c57ca201e2ecb869c04f773aa69fbc3f4f5b3b29b383b153e37d6023d7e1de6efb7cf28207fd2df5ef642d6984238a8ad702554acea384b13502bb86ed757ea47890d0f283eb7fde958cbc8ffa3a8ca21db17d3f2b9fdf18195db7547cc287d4c1fa19babb9959ebd8abf95e94ba5d45c2f0aa2f94b2bf335db010110f77fe276e8417511babdc61499b84375da33a8ad6997cf861947ca85aa1b12bcfc91fbdf5931dbe2496bd1702a2bbe25fe1468bf574594d5d10ef02cc29111e48cfecf27fddd90196da247c4c1d6f5a6cee476926b6b35a2a93cc3182de35b81a36b17c50031b900575a0164ce19c77d1329b3e73d7e48fcf79d47c49da5a3f0cdcfb7614234b1cb3a9ecb047ea7e1a8b0282b5a313715593900bace431936c0a096f28de150b94d0911dc3df5c8e15370c72d909a258de700abf0bb728efdf58c23b08094f0aa7ddbb182c69ec2da4b516e0c1be59670089b461d5fd5538148bc51a2e1f606709ac325cb97037f57ac7a460243c06c3a0054e0a2e4bc4e001c8e5e0ea8ac4e435260c2f11155f2bea33885ad1270f3bdfa4b655306b1d0808652b63186b851442bd496fbddefca6bbf4fa00cff65a9d1b3f2aebf761c66e05e3131105aac38987a224f561002903f209b4ca4974267c46554cdb61e7c84da842da74a7eced622fa24026e300e518964a94820a8fc82aa7d86f07467fbd41711521498f217e583f5b10a2f48484f3358ef7687ada5dcf3b23ba24af3026a22412538121d15e2169992315d356add041924aa96f9e332cf467b8d03d0c2c7ab381e9c2134a855cccd5fd3c0c7d126cbbc3ba1651506c983b9669829e971faad64af9060bf077e6f6a4282ce53c1428f78582fbe65abba74b46ae1700f63865202012e1be3660cf86b16cc70870ed5a3afab5314e516b1b596996e0831a89e606185eab183710a96ec07425701683ef6a1ecce00c1e4cc1c1a9925d7844ce00c10d7385f0b5af7f13836f80663e3359ca49231053be046bc45b06977dc1467e923c17cb37af63aa00b5d2bd76deb71518f21418a430b633de9119c686f5178c12a6e4b591a5b84c8f13239e661852429abc2837d039b68fd4b5d6266806a0227941b67c16cb70e3ccf8150e21229f027b76e0c9a3606974ed18842362e98511585e4a66f6a948fa6d9e8a835a16681bc60c6f11eece4a208f680fbb71b803c447e47574aaeb197e7cce826e3d4e92d1a81f8053b85053c8017607aaaa5d5f9aee03b93887f5c54f036d6b7eb61ff215e6250eda5bb7a16f8264fe1f693cb86c52d1bf1a68557cba1c0176bbaff614b8e8cc39e71f04b8085d55a337ec56a41d497d70aade25ffd1230700df485db2ebcaf9148e6f597a6797c2d80e7284fcd4c7346720b3b88af8acd115d096ec2a571f36f63f2a8acd17f660787849595bf75a28909f2bbdb4b45a22a3b05f7c2ad86944e73b2fe5355a2b440c4a82b77eb3e0e5216fb04c4e509bc4f5ac0742cca4824b2704794df4ae0592294e45fc41dcd079c003cedf99086d14160ef1131285cde3340f23616a64a74a5bbcedfdeb2923c68b56e08f586e043053a15374f6059d4750440720a220b044f9f3ad42cb6b25af4fb036fb040554b7486da3023e0f33e2a9499335d11518be40572a30c539b3c94bb7792a5dd0afaddf9e254b1d2534ca96e2d85e193ae49ab33c557d67f681912662d98896a01587a0eadc43c8d13df168bd4785967cb083f16c78c88b9fd55ed0ca3fbe0bcdb072cf635826fc8a66a395d845358392dd8e5a8d82f0fb62c039d2b492ffb37bbb0e659bd9ac899cda4866bc36ca8b788cfd751b293c45da4944fc51bb777ae7911e8fa117f20e4ba434a3f843f53bdd484e5dc5d71dc211c759d26a7915a482a698419812c6a07d9aef45decfca8cefa727ea4b322a4c5fed58ea05cc30bcdb641fd1b43851eb049d615c806b0d946ae29c560f54c5dbfd70fa90f8b0c04771d23a110e3e462a34e6a55a1619acac071afbe1f9aec2e86eabc12842db04637ce3e11e0d8dbb1be1accfdf45633a70faec505f368feaf41513185f1f30719107348e5e5cb1dcc8d20fe2b8d2e735c4e60876457543dae339e42f4f25f1753e758b88a75b32b9c3cadb33df26ea21e896c1124670c263fb0c8d0293f44c06259ad29abeecca630b68a736f749bac630deb9fbb1d71ed7be7f56d0674bbfb7ade817b034f1733e853227ebfe091228f850a71f249f738c08ab40bd6acd1f69ee2322ea7e9131f4808f9080407ea1dcf4c70d94e55d1a27b5e4979d89f14fcabf10d6591ff431dfe8a17cb767fa43b264cb5d6fb151b720bb384705b4cad1265d400a3d6d534843aabf6480a201ff414f05191f87739cf2f23bafbd07374870bc871c5d437a27fff3214922f92ff74438dec3c560f6f8251dcddabea30479eb51431ae1632abe9f28bd613008d37f939c8705c78104ff872e7e08e8b7f38660a0ae68593960d6d363ebac5fbdcc2f8098acbd7762346591013a5eb5360bc5f3dcd9b4ecfad62bd3d7c17b53ae7e9606a4b56aabaafa3f844385c364ed85f5beda8a1fdde5f7290a1c2060d8d6bba77f75dcf7568e359d4894a377e057f31ba8d1a038351a6d45fb2df9eda89cd0b37cb232293f3b9987ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d474dc8b43b03876a2a82897e15fb8477c956e4b18b9fe8453cfa4094837bb5517ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d98934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41a7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d7ccee8cb674cb475e881fa09e9ab94ef729fcb373a998d26850f1883a6f9fe0d98934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41ab1156a1c0d0f93c52b3e3e492720dc6682ffb32b275d534428a4f74ce1e2a0d5ff227ddea4b041a8a992d7b8dd0e2a529028418714ac4758e9c7203a96c14abe6e24c9031dd66ff9f13c047c3da673bb27acc341f5b63f557dd7fd78f4402898f77760056e559cec407344e118a2036a4ca3b5f78db0768a3e05afec60367bc986b6794fdaa3da9bdaa60bc8d1f8cb3e8f7ad8e05f86a41338a6bad769199f2cf4a19151429b1899b994833665d81e9b785f770459bdcafb15303ea9edcfae23fe21b3363d3598afe0fd23826999d0af2b0652fbbd1ed82280ccc4e5a6ffbfd440d8b729630d296c9e925184c6b24ed7f2ecc8b32b1941c6b8390dd3f16f471406ecdc7cd6744d8c96ad453d67aece0941ff5ad7fa1aa5d9bf0c144dfeca41e93fece0204248fa2e57a4fe09e0ee1149e4fe66d0edfd1b454127f1c6f310636196ff1826224be70a72a6d0cb922a2726d630372f7f5ca5e2fcb5a790a89f81a372b440b4ed2729f6b038ec457f1d43884aef74b06f129d324f6186514543e269cfeca56802f6fcfe22aff0647c756cde42dcd800eda4aa858c178f6cae8207a1a6ee0d0ef161fc284d75affbe273c9584eb7398cd37e611d7ffb44533684b4768410fc2b1fe9846d9a6cfbbfd2e2b51120387fce92ba1d0816f6bc09eb4a0a13a622b46ab87f917512f3cd25bc34be54b366f605dcf6b9d4545619297ed967a453b06f8177908399d9d6b06c8428574e13806a746ab21c4a75c2bd6d3510d5a7ba149f662557a0e850255de23f785d94e9617f76e21af96a1c8aa7d5b30f613a41f2cbeef9cd06e0ddd61fa8b9620dd37602e26a5614089d4826d6f739e0e43b05ab6e50e8da310596c5db02f727119d0289665d7e4303cae9b8aa7e8cd89e4cc49fca0dc8ed672f2cd9db291672426fe320ddf79ad971e43ee97b51367062810b49ddf0aeca9f297061e37a04714f3a4e27b93444e0e4168faa4b6bfe1a952e7def724a5e803c0f16126c8663fe14b8bf76bd3172839bd1c0afd1163fedf91534bcdbaa43d6d04efe4a8c9baa6acffda4966e72563d6549ae1c12177a0112a6263e800cb1e350691229a77754bcc56e04d5dd064b2770961d426e56f4e269d30cd5ef0a8049d17f81f0817013e55e54efaa044f98168d4e79b4bd2f940379868db80dcda181c7cd855b99a13beaa8aac280bc0dc04d3841a196e2abe55373da28a31735f2d7be51881f1f5763e9c93b1563e0430223df301ec31288437e48f05695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e195695dcd3c9b7951c0a859041dd5dcb31ca3c08c8308d2a8d157b903fb9327e190a8e093d58ad78199ec654abb363e1196f63118e4218b25e0d085e21d3701d394b8c5cd859bc7fab45107f2411c4d73bbb0045ff4735a0fe4e3cba8427ab58bd4967c9ba9d7327235b9a8ea6f67b6cd32470f11c3ba4e993d4d78be1962a27e0e71be3a051a58fd939c867febbb647773a0306b7767999ad35f4a845e5278d0395e32cb80ce43625650c04adfe72a99511b1debb362fb6860e3d28e40891590e6b0eb2a547ea62daf0b6f55eaa90e0f0493a72f90c995403adea20f06eaed5933b8981e0d759f390a2f076bebbf7e036ad680cd9497bef1b2a6703165ef4cb33e4dc84a602c00695598e6503cda22bca252db0199c5181adc73831c068933578bab672ade25f6f946540676a62b67f591070b80d2626f5406cda46e68ccfaa2a8061dbfb4ad652bbd55d70dcbf877f1c36e866beaa49057c9b21cf463f20871e42149dfa831c8895b0f68e24e8d09138ca82a27583554bf6aad960b801e990d30ae34484c5cf435cbc5c415811094973d17a4331be426f6b653d5cdaca28bddcbb15ac47a9b31970eafaa0e0bc53e2a6362f852a55a880137844f187ff6ede90061eb6d1d2990ddcb4e454d163277f834e6b94f4a028cf725d32dc56dc0920e3d90ead0bf88185be8301d5f664d1c18d740fe2d52c1e2f3dd5b9d784253488caf932ffcbcec4462466853ac900a172b95382b813f3516ada81e691abcff670c0e22c4816f6647fc66627192a60e77eb8f77170eb330ada6de06defa914faa80d5050cc0c4be7f27e5bd76ed09701ec5bd6f26d5df7ae7e18b02d347907b0d3b8895fbb5de7b416f55275e7449f7c781b0ae8e4cb3a61172ca7f84aec1647882621c9212d92692ee00590fe904f5d23da2470773f53df224e881654d3961d647ea79a68a397798466e774f586afbbb0583b5480ca49b141184fdfd2a7f0f98e04b319412890078eac8ff4276e4c11c6b3d1e921a76245a9f1a1fc0d474edb1d270b8a88747065de6e569dc3949835eea547ab23ae5fd2b42b71514d1aadee5019fa170e1ae8459425e005793ad92c956765c2e7cd27d31dab38a3927f6e498ff10983514e2ef9315420a90285e288f23753b396fc4304f199b4d976724c5217d655c67e01d33a9f58399aeb4e78c3444e660442808ad92aa06003606d08da918d80069a373dffdb5e775bebc8a953edebc427590cdbded1fe647150c7386f3b8cde7ec672a73e2e27a04bbf790066aae409799ff68f2b9fd4c78dc9348f83fe35734c484bfe05321960293d2176cb6065ce60be940513efafc819824f7c2a7320d7e20340c21db77028979b07388fdb668d85301149aabe2b96c303e04eb67ae8c314fb50562dae5fb0f9b0cfc68c9e242ef7c543ad10afee8061454ebf76567eedc380ac232fb2112c5e8242b1db581b09784acaea2515bdc6454ffa732fa427e9dd81f7b741bb02a3cdd224163258ff595dc1602b37f87ec978c74dbff498d3082a77bf9189bf2d27c37e10d49d8f3f1fd63711ab64e66e29164051d4b03ceeeae4bf85f86d9b18035f64107cf7a18adb3dca0deda3e3fe88a7540ef674b859e3e7842223a92b2ad723062c9d9393385c6fb4f55cab93ad71e25f8eed60fd384ccd2a26a544f0e84664cb862e1676fe89424ad6f5126569123ec78eaf1a8cede47b08916a60e7599e1b07df6027b9fd7c7c7d50ad176784b9d1c361039c7722358e94b9c9d3f7b9d57571b8b1899c5340d963742ff97c27ce376accd95ffce64dcf9b04a3a28ff7c0259709c395594a8b745a3b8807bea0da30c2b29a69f35c697fb47791be10bad3750fc899a74913292682a59a565a792ea9656e60039edf33bc3a5a17702b8a08549fc05cc2d611da811cac6f6ec1d6c0395a12cbac897e84d91e646cdd591fae7998d40b28de895a141e56f9a4a5c0e1f4ed411379d5bcec9856b83f72b3ecbe992872a130869ff3d568a36528ebee13b22c8977b7a24b450e5936bc627061e6ede3defb0cab2f1bf220c53fd75d50ed23eef79ca17f90d7aee9e5ef9bd906905c0a6553ac149148218e278579681e02e4f50decc5159a56da173783e03c218b05e6cae87fe73f578124db651ec7f4b275da1857493d9c6477e6b6cdc6f93ad75f5187e5a7c07a973a86b25635b7b46733659c562e1a95ea5e2d88021d3ce20f3ee178264a46cc22ad702a7e314804f9be97ecaa0079072021debe60e4016957159137c0ac9fdf2fe1ddc9fd33fc323421167771648a555bc79b18b889a74789732079fa44e04d91dd835b56c5a4b6aeec395923a44c20c81eb62869faff0ced335cbe32b493717af9d80a779f5fc0aaf7dfdaff11c2399ee62d78602c44b15cc96f837fdd896452af2f9262df5936d80dd2910e06bb3d119f285ad4bfdab902ecc9613ed82a680365e98f93f8a8880ff2656dfc98d2122722be875796ade64b574904ad78e422130727ecb5003606fae5787126236d3e153fa9f1622fcbc82a834b9a9aff1db79fe47b73b90eb0a450f752c1e1823bed3611de7c968f4a972c1494de707c9e11ec010adb07ffebf3c3455a7ee3b3df69862fc795d77d916417e4a15d7a5c3f9806afa37373443aa1b5fa0aa8649de283d0427caa00f92116d71afc6354786126556a50a5a9081cae1a47b458ed632bbe190121d625f80ff0a4d87e81a6bb4d0fa4409f30974c325ace8f27c3bfb6b455dadc4a741bc2101c06487e1553455c769068da9f705fad5e6e1a74cc1ede149d53240d936372abc91609ac44b692c3933e47d896f2e35ce23fb46c11b18472caa4f11e23f231be2cac9f60284f823c468633e91a4271c5105e728807ad16144d5cb3490ba4d850010d82c6cde6ab389d8d6ad5a5ecc79f4c8946b7f33f09694a868a7d600a83fc44865ae76de8c5f6eae10f9e29d41fbe75ce967d9e2594411ff1840301427632d4472f104876d8628553b299b43e26a2b49c30a00ebefa8ad7ad9879873f00041288fd4cc67cab2c86557eb86795d12581325cc6327cb60682855e6e7a06dda53909c0b58447f44fc80e1bfeed9b101c02846df956c0198222a8e5dad513fd49e82da7e717dc9be146b448a1c141e83cefbccfea15ad586cb9f15460ef13c41d70b1e3151bdb854436b763c860f87626209c62ccea946fb6dffe0a79a10c37aac09a571ed6a16ab6f25dbf280bd247e366e35fb143b75ab482f35d627631b671eaedebfcdec5944a327bdc99c65df8a750232f6a84cb313de49ede6abcf0f580b04b7e07466c8a2797d572897139b331aa3c283a5a9ce27066d78b52a5d3bbfe31d6f81529e3809c4bf1444320981c6e6c7940296c1ff92fdff759fa8d49442f4758f29d915eb409c5d53f1f3791ec4cb805d7d6e43322ee934c692b3d38f6ef6933f6ab67eb704f6345bec33ee632c5bed545fd7ff8610ffa9caa062c01eaa2b8a2950608259847e5e26f62758606073be9cfc65227af09b51880c8f1b72f5302fbd7b7b8d3fb772b4f5890dda8c80856b8e11862aa0f61997d7830ce851472e34094f7c6a1438fffe91ddfbe1c613464fed7a98e692c4dd4c58281a7a920c6191a37b98fcddc06147a6d8907b2911fe7c37133539e15d1500e82c41b9c8c4646a7ad967226a5507f0efbe956b03e0c39d8eec274af263ba22bb03f5de4b150681ccb30075c90743549588c78ca5b94dbe25d1d0650132114beb58381249b3389b6dc6f73e6ed1058829e500827715545ee2fee937877a5b00fc834cd1921cfa88b0d680c29f72fc0c839045f36166030d920ba610e8f3e112430cea74e061a7299dd929b70e702a4df82434ef6740f28475f25bf97415b5228d82eeaad8f0e889a7a8123287b111937507457d90615cc404e03f9aa6492a9f1a853637c7bd09136a351afd2095ea5c533d7a79e5a1c1075cdd55cb21e941f9d412b6499ec300d79275dcfe0338d231e5f3a0efeeea8a31168ed49e0db463dcaba806996ca78a7e0e1a4fa83249619c63ed1fe9be096c0c234d44146b475dea01cf557d5f4548db7329d00bbdc03fd2f52a34534c0f08e2d9caec0d7886fddc2d84a5682f48a4f252057bc1fc43abf04f73da8e1bff77cc5d0145355bdd81bff82ae193fceef126580b8b871271eb4cdea8d0a8ea333bfce7f3135180d65f33980ee2103d98872841b56ad5ee1f10aa30de0ed70009471f500a5bff81224a9af22cc2d3882be6525e3f013dcd73cb6168f2e54af4dd3e3d21ef96fa0935383947f9689b062d2f4fca6e9fc87d4df55d1b7755d78bea4c38bc5bfefa827cecc5b18b951d932f855791dc3a07078a093e9c109641cda8d5a7952ae7fe54b95adf46d2d3e8322efc6072d057fc5967841deb6746b5eb3dbb78944f652be4d6da704d832b356f1bafcd920b59393668ab50499de9cf4deb2bdb1aab0fd04b253aa6f0ab2817ebaec1b98db9d4e50f555d9249942cf53acd1605e5568394b29f519378fb92fb9cdbbb8b755f0ebb6af8e5757884b568f1bb1ef1a175f89ee9e87d9403c8bc9c42d0c4b9877a843b69d99adba28cee668c99c4ea6cab0774cd76a91e0b80d561dc426f628f94a60a582e17a8d0c53e6fe0367715471efe5bff963edfbff9d23874dc069750a1675ae861ef08e2ebb4dcc27ac79d093c1d5182a8b3f62badde575cdc1caa6931964643e27ac1528ed6663f34640816aee740b758aad8ef98a35e19b526b1fbf8e9ee6473db961a9b9ff7a8743cfda752cbda86df5bcedecab95c2075efbcd1fe15309af34ca0f9029297e131082d0de8147b9d7f2502385498b2c7e58778c1f929a7764066c6800d07ee778e3a13b2ab0239134c311d7e78a8b0ba93b61c72ed20533c4e035fa262c5c8f2693d7c25ed38dae42adb0d3756153c48b523a9d6510d3a42abb8801e612dc6b621b206b362bd0993122634012f480f48ca541a7e5f124bbfee669e71440bfe910859a93ed869a498c54abf4d0249d3c7d011fa273ae93f5c3e21f2ddbf477370a6bfcf9a42aeabfb4834c893483963d698a913e6aebcad26ee643a939e72949f29c692f2a6c102a51085bcb3131a7afb510e3bd8d4d754101c9811b56600c51c51a0dffe12671dab36af5024edbee2d9c9e65f0132d97b701e907fedff9200d1890d4b6809b314827f8a4a9525d2db1fcb00a59f7b5d3651bc6b58db9ac83b9b154410b7544d1e1488e1a9a744be224d66229e4257f917983b936340e3c78cde5c32eab0d9664a36ea649023fb1656a586eca32cc6c7e5f9470db7346451890b524c19c2886b3b220ec7e6bc582b0427554723bad48d53ec0f70acde980a6977b46bb9acd42d96d604ee7358d484ef6fa6dbd9fd37b32ef917db500753c4abd6c42f645c5e70a9627b7b0d8da7134691ab738f2dd098e384414e742cb9728634f5bd44a09b671a2d95459860aae7732064d5de3ccf2eddf725ca4739924d3495a4f603cdc4f8d10193c010e26640b1b3bddfaa81eeb5694d3e3aef600f04c37c1232c31ea82c75fb0eb29b0b7cdf81e1110c6478e347aa5bc689092edc088317409306d96e039c581926ab7d950e1b165e14d5082a12ee480040304f00ae0a711fff0f6cd59698e718d5b5845079192e65a5964825e8a5e889ad621e21f4677115b61c6951fe0107bb39815bf93d35686f930a91985ad75dbf64ee08652844654383755283e8c017f1102e85cf57565ff63b3237dd68d622a84e03e08e0c2aeb40cba0a371b078d93ea5bbe30c3ab193182c72dbdbef4e703282ecef133bd7adc1bd50cba1469ccbb175bbfb817a1a7a6b9e54989361d49a29e0410ac09deac582d8e8d451a5cbf457f1fb190b9b3a9c45d60f7b9824d42cb1a9f92d6185dffa63eec180a42fd5723cae2a61484237afe94025d75dbecf67e7de3cb6ef60a21c138a2885919aecc058d4381f9f2dd853b126ed9df5ca46cc9e9ac4ccca32a7d9b817fbab863b2eb407331f9a058bc2e8bcbd4a23179436ed7f96d6df4e438dacac64f81564fb3805fd8cbf6134d37e2e60375afcf3ba09d276c5f044045f32afff6d86c136ef86d37cee17a68d87c60179b2bad3b4d103c5cda0e1a066d30290cc74b76318233e0a93eb45ae80999ab92a3ea916d87d07e7b25a3fd11efa1237cb723e00d9c3684a6bff2d1a253f7f019f77e198826a19f0d7704108d837c89bfa4f3ba9996a39cbaba1a58e2ec054d8d0c01800f359a62a0475cde3acfd937bbaff9e7b529b1422650675aa78a530e46cff28c6149a8e001431d22a7039c557f9b1dd419aba43aca15609cc69ed349d2f091a9e198c1ef9d4108b244a5750eedd77a93f55eb82e78b4ac2e6dabaae3139eb65be0064f0f057e8944f4091e4bcffb61909b224c1b0c220592d7c429f6c795d8d93c10f0369e1ad18dcfb7668a5fdcf0057d6df2646436306f5a808d795994e58a507387bbd46cfb36bec4e720b2eb9480d9578b0ff0b9dd761de9bc941362a64c919bb4ed6da1408b3b28d9c9f2ce8dba847c60140cae5c7b5cef33eabee5c8edc6f00a88398b352e09cecf54ade881416499a22b8eeca336a7edfa7a9a08f2a7d59cab6c716dccc7a142f5d980fd3b14d12183ac8af79f68905dea2b245e23eb868bc7fc4a32a7618d75bd7ce2a950559f0b00d0265dd55fe58c22daf19a47bba29b5b468c7daafe7659eb4677b2e36ff7e98b8d9bf0ad2553bfca9edd0839b8b3831def12c635e550d179f487f1d79f075f44eb10196214d7a2860affad72e433b9554def64d8080742b4e6d802067c2f02d58cf052691189ab41f8557cec308fab9fe3fc22b0a9308a5b44a6437f467372238254bae169479543daf1902f71436b1d9ed887fece1d6aea35fe1510089052ddbc4773646f9b00a21e89862e80644346ebb44863de1406c61838612ffd78260dcb8fd8cc2f79f9d24c425338d4593dc8ab68d9d4865e61ed3289b9b31f72cea5862073bc7315b733a9a13e2a65ba9f47a93121d6491d18e9bb5882894b6f05b7262471bfe712cc08d04071c24280d7d1607f7bf3f1b6e108fb02e14d84c5743562678ca1045d5e137a8378cf6fe88fe145e3e7ee95359ee31da02506ab15825c8c66e8da5f6208486a55d847735e0d351e374a9f94646916fd132e72e4f994cbd57fa6bd0a3e3ef841cac5fa74ea264b290e6edaac22c7124936feff8752a4dedfa9701c8a5ff43aee9f1d230a30a54634f294b6678932a1b3581ba97241dc2062a7f2f2bcf68063fb3d3d3659bf7c166dfe1da7bf54353247c925578e961b3446175648bfefaa28a715d30be373c8771391c6d82d1ea3030ab5664f0335570478ef801090b14ffaef775198fa006ebef01b5f96097bc95f4f01d74cd69a195ea87f56d0dd6f232c7e00a91dcf0b39b29fe20f74e71613bd37a3696f5fa087e251d9ca590040e42286fd28bf62e7203ac087c9c0bb57e8f5d61320d5a9928b2ec4d5a254e39e5a456ec5c848f564f74ede28c7a3ad285329915a023486569be7f5de6b2bfb470db8505662e2e1c44c46ea81b37ec49bec570271045bbc306ab18e1274939bbe2bbcd2c3b5d5548637cf74aa692cb0f40701297caeab58acdd899a831e3b4f118aacedd22e2c2b498ae910fd8164ba2b8011ced0cc9c9727e7a3b42980aab4ab0c9a6b88d3244668db140e150193f8650c9259b87f0e10c8a1557a72671a3bdfb380ee2a64dcba12e7cd6943cda7b872b94389cfd625561d2702eb64265623690d11916b46c3b00034e0119e71de253402ba95952338243b848d24e04884744d6b24b667ce8e43a944cda1b0f1cdc02c89f2fcb2a60b43c18f7adf3f7b90dc80eec7b8977c0995a4be970d5e08eda7545fd8faee6a601d0ee7b6d3771d04fce7471975ac8049b4ce00c6ceb616cee6713d3d4a321e5532f7d554f5c60746a85f75e786d62aab7dbfce5bdda5925a17c5607f5967eabc23b483f3cf4c721876184e347e21358814c02a1dcf3b0d47a001d4011b22f6feb3362dfe50bd6518cfc10290ba4cd6e907958dfb36a323503e4eb872e913c3e5063a764217365c862a5a77c4663fae4873319523f9882bc437c9c67a15d7c19f0fb45dbf3e216e05d3741193c084a256aec795a680001737546d0b212256e8f89345f96be79179288c56e2b85456489afe2e3228c5b78f60935fc324fe11a1d49e16fbf436c3ba745d001c2c5e8819b64d220bb04192ade9fe0d47989ec78821e084a935c8b49128bb569eb218d207ed7d5e5ce68a17364bd54d793d29db620eb8819d57acfcf17ebc8d7bcb0e4568b9b3249f241de9029849095d7971c74a84d8446969baa9708b1b40af316fd8cd29127b8197ac91ceab6143f3267133f075780864a4f68371793646b526014f1daa8432bc5e937e4ee340625e9ae7640115614189588a04f6f9fdc19ab3a051ef62836b69d0586ea1188c71e42b901d59b1bfc4b30d5fd75cc5b7d8c62f79717b8be58b6daaa876e8fb098a20b26f19cd55e0ce7b90b26886c61e2555ca00379aeb7878dffc49fcac716d65b02f762d0f674f47ddebaccbe5165e2116eba1557825298f8be6e6744435c535912cdc99b17e8c421e8a34519af9e450b8cdf0ce9623501a8b0ead68c381f93d0c3c6cfcfe714f094c061dea84c8c4afe984866055cfcae7ef530fef01a138224a7a52c626889b4961878be12537df05c3145784939531562c1b1977daa8e663126bb2ec2fa87557d14e3fb4100347f80535f9f447db9118f0b7f0e982c718f97dbc604f2ddd3a9f9bd30308f554ac81aaf6f547ebca9cb910ab8dea81019debd497df72f6f4bec5e593be7f7634416937e7fb779f32b857bd5fb66b04c2be1111b2c6fa66c0fc8130fb4372d5972c06ac60d2d878c38043802335a1f77d2319ecbcd902af846e961c13fe8b581ab904a9fd90a470af8c38efe594415f4d7cb4afc772fb04a39f39fe093746355ca9fba436c50a09443142901b7389f37ea048e511a2375233e31b40f41b35d0197637f36bf9f374dde6df785e3caab3a1750b488f9dff841e0578b8c49a4682fd7947470d6cf0724dcf1da9b45e3fbc4a78470f5b85a4de21ff1872ac66d1be26ccab478f95d910f6217fdb5d7d9fe2b7546bb1fa01cf795cf4b0002c91321395c86fa97e3e8912cf45548020eb50a558ae8452c0d02c6ca4a073952d2ef266a14318cf20aed35c5bdcf974f51cf5084bd5e6107318934829f70aeaf8af4d8daed1503e231c787bb0040b75ae8da8a8f61578986fd07dd040db4aace4ea946c441c7e0e53c290996252fdd570de7faaffb767b63a867f026f61c45135f3845b49cac8a7a74c70c455b225b1d7966dc4938579d941e98db6468da91e2c09a41c08afe97ec3f90fdbe0bf8415063dc2102f01ec549daaf80f91e133846d4685e13028308e2074e9711b3adfd51f5752884144c100dad9b76ae43eb362e7326ab333ca296d504cc7cb59e3bf563f670bf793358bab6df78e1484815c85e91bac27c4d21d7b1b2fa478483dc01edbd6fce53eccc1a7f643e3d91b5bc0ec1bc0f2c7a504c20df01b50d3581530c3fca3c989f20ffbdb1ddf500c9092690d5261b706f2c02d4dd9663bc36be25395ab0fa7b9a7ff52034928d71c6a53118febe137e416143b67e6eba111c265420697796d5e15dec5ad0b334bfb4601257546f0a5fa8f3f8818f4eb85afa8ee1c9e912bbe04b95ab8fd4a1d89dcc3fdb4a1da5945641457ad4ce8c38c7a479d7924c59d1adb4b32e7dea0db4e900d02f1301e8e8965fb56c4423dba40c79347b644666020962beb28f35ff23cd9ea3668459ffafc3789626ffbf9293d76574110bc954bcc3ced0c9e998f8f1df4cfa1649e8579e3ce6915330cbb8f2b43627bcba62c1917c45235c815a5385bdbd91fd90a1b17d1fc47649388708c8a2af4b9ae7c69f2874593aeb89495117eb48566e439f11abd2048946f77ae09438dc95cb2d16cd8a0a017c815b708a20d71af486b6493019948b60e298499a3c17913b5353d5a8fc26f5acd488a7d0edf7ce841eada9b038a27ad2368eba0b804a7a020e14b858ca439cb740d9a322274e76102959aacfc5f0ca373d0a233645ec07809976a1295818ea5a01740b67fdd890f8e4ecc06c940d10433b8cf4f1ba210ac55f7156564e5461fb82b10f4508c0ee603d34b55ac671755d1291b94bba529d00124d48d54a9d273ae0da6277a0fbc5e78b6e0ca019d4ae6722abdc06903dda3a9f9b8f3ee706f2a3746c42d2715a8b7581092841dc1c58de9af7cc2de222a140ba958d18cdf778112ba2d2d5d79af162854c1aef2c5c1a39ac47639d734101f0af6c4cfb1592a555acf76b9ed422901cc6cd0df8f1f8a3ef754ab0855d145bbfdc376f6c7084a935b6e191244856b7bec5b316ad06b5d01c63f07c973b75785c74b977836a9d8e9d7176ad5c69953f55dc945dc7820bdeea69f47cb22fc46c684c161d3d36ea0c6942dbc93faf0a64086dc54340005242eaf027015543d54bc13abbbec51f5b47e9f16db40332bd39fb0f4dc2b079b8dd17a687993a37fe5e8f15fa81bdc714a9af80ddef99f65577c629c07f5887febfee652b991457e4dc0036fb195d2e53b6ba4cd503bd282384820731e28feaa93ee534bd4039ec32a26f15a974613b7fd70137f80d4a7e56b8bdfa5992a003a1c7ab0bf45a44dbaff9a1a61e99e9f0f65954ac38f840f4233a0baa4243f167d9bac54b6889132576ff2ab9fa39f2cecb68be571c363b6d46842b1920e59add1c740d0563bfc0c0744a6f2095f6d24d95e5ce447a460866524a8ab807505e8aaf95db01875a2291577137a0f594c9dda584af765016336e254c3560d854c80b7410adf120b34389aaeda9a504c7654786724cb1b2cc27677ab93c7f59ac649af1834cceb60ea81033ab43c11dae692d9631b5ccee4de86a35f8b9a9fcbc5ee4448c86e5b4a8935ffd19ea61243c2b48a61cdb1072d05603bde44788ae2200811131800edaa55e749f24f13ecb3a3962b429fcb8ae9fdb60adc0cb3c4ecb746ec6479c1ba99d616a0ddeedac876dead2c584101353f312b0d8ea10f0b6b37d07f1090cc30d4bdf5e2e36679923e6df087db05a7964ae7b21a55774933148003e799460fd70caab324a61f3b674ee43a55a9b9077f193d8e2b688f6ea938230c4d9ca3470f6a87351dd422005d76e72800dbbde607e4ccfdec5947546b8cf1310c8553980ba74924d6f87750299dd56c6785ec8da8f326a28ede3265523892488830aeb390d66f50b1d15f59000505ce9d30c36f2ab15a11314c3a9a9efc6b267ccd44075e7862037b09b2acbc6650fa4a815f34413544bd9789faaae0ee5eb80ed9ed6bc8f35d70ef85461262217352bded33ead7bad622762ef040058e2160c425c705eb1e97c9b6b048a3805ddb06987abe5fc7a5f5ad2272063d3db696012578a5916ef8380ea9350c5da7b61e340a65ada32524fcd9d684b7215cf8636106adca8114900b89254c8ac0b1745b3a144bee4e85157a6174129f6cf96c1bfcd4078826517010488738a7073b789a8a8d5e11c0aabe659f62f727d4a5d306f4a4172f45ad2791c09e50954da9eb9a01017e5b6c849d6035ec15607c84d38d66cc959c48b6b95992018fd2e1301fd076b17018c8f0daea4eefad1f3ebdbb2cee73667162316f62f4db2d00191b148fb81689616975e4085e37dff7dda2563f126620a60bcf0bbff00cfb9246763b322305966d948ca47bc8d2e2e81dea91d6d15af9550fbb972490c4dae700114314b4dfd7bba4eaaaa45031cc51b64c85997b07d5210f060b36b10e57ff97e37d63a439405bc0075498f78599da012a97de8a4d1c73d694d77c28c0f8751e7d223eec86ed50f50ad17a979192074d69e2f994b187d8c9853db0b8ee7416f98e45fe88d2303b354a656bedbc8646273357e7b33f199b62ac57899d565442046c255b596912a6686b21d242aaaa858bdbb197b8d176ec60694465b23994423fb29f94af331a5623c3c444d15643706e3bd0085cb8811cb5dca79434a17022b1a61aca2b27da0d20a64a1daeefe121e6c001e7b3bb388c73a5bc82e5f931aa89529d620ad3573b264e07dfb733cc7dd6a09c239cdf49d1120a3de1ca570fa9bfb8760f266e992a8211e27cdf3b32e1afbe6c4090d5913fe71ad51230104ee096f5080dec112a32287459c23f3b5257885488b3300d051a4640db217c08d8665f1b4adeaf3e11b82563a2257c6cfa694e96c71d6e70abe3b2b08cd886377760f24ec4b8c0daeb4c5905e14fdfa9ad37a9a46742029065bbd260ee23d37901269e13f80f1e5f390fb4bee6bb458af6d9761b9e6da0f8f66fb0364ab55791618faab639de2b09ef4d13420b0f7037f778f33e3d49b94a91883eb1c73bee6518e155f2343a902ac0c7b3d927bc461356ea383d35a835bba7779eee70b6ec977c7de5b48f974c655c85193ebd70e0ab69c033e5d100687f7334dd2ce2513a7c6a3b58b1d4e0a1a7a2714ef8b586337fe7a72f111b41d861487fe9fb14e1b418514b2a85d293c4ae8f36f75b22d7747b6130933d7b26db09753150803e3fb2613f58174127ff1a3c01bb5755c408c1f1405bf98a20969c0b185048c5487dc6a8a509e3481a5322e2c064a74b823044be76914033ca575e38d903417f39a500fe272c4566445b1cf72d8349e1a02764d4d1a0967ec5b00f38f03275762a3f1b93709876c0e4c597c173524f570582d1f6bfb9cca359aa95126594006992b0ca8ff02ab618db5437574299e91f2b002ed249753db1b0dd7bc6f23a3f6211f88b882bf7a938f322a444b91935eb6e957ee7f3aaad5bc6cab0e8deefd9410f6ecdaaf4385ac03325a4366406948143b459eb8d54f9f645b3b7b39a5ce677bd31032f1e02dfc71fef6d5d4bbb3701b8792114c5dfececa0c4844cda76bf06dabbc85509c37447799015851eac70edc3585682e635c0d0ad1f04ae79f6ab0202da6bf09dff99bf9c19af6bad7edc18d6ebcb30a880b7c22b7280e0a0e12727d267292b7f7d04448ca206aa64d4718bb873536d8f3636c9ed9003082ea1241446874be145b7e9dee50f015ae5f9acc76eaa34c7887b67e7e83b4f780663748daec46284980deb84afcd18199105b55cb9eb71c038c79f4eb27b71d880c0e73e07601d836947338667ed1fd2760fb12b5dc41acca3313a9b4aed4e404f118fd29f804fdffb7710f33bbee90b32179be5ded98d11e827c9f267c1ffe04759c98e13145ed3eaaa7408be4340dedb9bc18d06e3e779f24e5cf1f26fbb6c73ea582c8833f582ec82d3c38789f79a9604e966d31d6eca67e87845d142ec8c4ee2cc480c5a20a003f0c8290d6ea232ae06e9cd732b4522614071ae1e6c694591a1c21b2ecc3e1e45c443d3372818600cb11602ab47587c7682536e7e83ae3291cd34eaafca854f1c62cb71176d0a9bcc66df4e465a0be2b513ba958fa175de48441cb625ead171c2262e5ea8d32b36f1bb1e5b5b208bd08a4bead1dd14aeaf3f4b049837394418a1da41033df0547ecdaad1715482e02fff7c75aaa8d6ce2a3866ef2087ecf9abf8255d20a362b1905f624a3e2ef7a5a2b9810f7fb8e427720673a6fad7ce92e83a5a33fd31b8d8766ef06a974218fb6ba3938a226f858d786e79b767ee419f90d1d9f70d154d4b8717fbfa0494eef53c1a616ab64b9921ff4f2c0658b5498cbe703ac6262fcd05a08fd9c07f1919f714dcecde213e4ae2e7df2fee6dd0cf673f2c97e75e160627231ff8b0c415fc05d91246b6f39a82f9eb508e1683e6167a6c58fd65716f77d29f6c01ad85bb9a692f1ef4af6848e585118f673fa1de6544af3b4821dc74cb2dfa164253e28f98b1b763517fab6306a9fa614aafd30281a117a7a73fa47b95ef381bd5180db2805daecb297524128eb15cc66fe1d18a1a7c6edb14d4da6c81f91c040d3a6457d83a10f820d7f844b6f4a2eee69f3fcb24712d768e5b2ed4602f8d3fb6cc6383bfc8e87edc0d70c6598a0ba1aa7060608dbab4c5aecf83e2a4de57489dd98e6bf1feef7811c81dc166dbdf061b4b690fd32a9df3885b93fa5ce8cb7b8a6614fc22ab2de78564da55ae904eeecfb0a13beae680cd89f42b0c08a39b31f383efbf8138b2ced0276249c9ec38d45d211b88d9fbacd95a1f0af9b9fa1b4c11051889956e1e7ffddc98e280eff553e2d4ec813375dcbe7eb7c19ca03676c2d02dd86e0774fbfe4c01bdd29da9034e422dc0761c91215bf4793d98d76e8bc027d2d9e13c31e0b129fc06dcdd6d49ef659397fed958616bfcfe224c559df84568a92a80ec163a59e1108ec1b3dd03224d9857de955e42dca534d551311f8ff106c48a7eea9e165fadba7295509c83ee1487b52ebaa2fef89047da55e923e13abdf34a48859e2309881ed16ebdc093fc39a7985dea922b915929b5492135be978394c307a7615432a0afd9eb6639f9a300917964f0308c01d311ba39ab380c308ce0b141153221398440bcfcd2aa040dd76aae7cd630b11636b92ce51ed346c84533375b41bbc6a762947cf162353972a8a9254eb12eb23b45e939839f62b3f4980d9061ee2f80bfb9edc897d4575f9863245b459ca28a3caf07a2b165865a17c8f4bfd55053e68733bcce7a3369dcc0093dd3cafd329d99dd4e945c55f094a7034998600de2aaff26d12cc1452004696bb2b2f259fad1794c13dcda6c9dd311df018a69eb85bdc6e278543564da3952ce86a3e8905fecefc33ca5494957b7cdcacd7f220f80dea30c07ed01442ffbb809230ec17c591064f7847f44ad38c8c80a2facf18e3928324771a153572b35ba689aa5ebd7a0c24190310938130e76d29f4ec338679a7f115a9310081f3b648e965df3239704c639d030c6f3dbe17465d50a43786a492eb3f7d6bc8a5578d0fd5346bfa1423fe06c6b68c8c70197be1d06557e4eecca20576878031b5b15df716fa02bae3e9f46905d7a0eb05b000cb3a87a4de8f4df8d636db5a100e5e36d303b78dabcadeeca9fd70124237caa0d5389dd61edf03122a993808aff817c0b91b827b4b6086ac012597b64b37c4f76688fe977db2e494721df9e6eba765ca4d0c11edea74490cf12e81b68688d0ac2a0e9ef03e2a336c33f1e8873dfd73635e4c4a3c88a249b003e7b28251858dc2e61db414ba708419818ab18ab64085805e9886accf8f973e65786c9846f4df49d23b7fabfc144ab6b755083af52ae77e10ee31f806df82ffd86b064bc6ec7c6bf835c4d50092d45a7779660691a2e76c8015fe2aa1813162c8661f48c7e68ceb92d51855cf82ee401ac01d2317280baf3b2d392d9689de6c7b0f04f4685fedf27ad3e2c387f63022653080fbcf686898865f588291c132cdc284232d4b0c63a434260f7d873291d33fcdcd5ab29c200739843c287bfa263172235292aca28e7c9a880235de8ae30084a1cf82199bf7918acf23bb7c6bd432d9ec2155fe65c30cb03e5e5270ba2c7fc9c1cd4ee42cf030946c47065eb3a6dca9fd00b8b2ab3272b76b9c584b03d5cee245317a524d90209914986d56bcfab3e261093353da07e733a5dda58bd2478c1e3a28f33cb769c2c8073efc7d7fc0ad8a24a615fbc57d50c0e30d969976e9d527498f18bd248bb6049ad52f6cb8b69d4e505422c0f774c8b724188b61dda98d1cfbb0852f053049b9ed6d17d808771905161c7e5033c40dd7e3f8f93e6cffa33435ce358f9e8c7a314f638320021bf6317f602ed833ff58730c03b6c9c4ef22c342a82ad8ccf5a6d75377ba68c7c77e20c4f1fe54a90ddc1b4d3a49dcdfb7696979e831078157aae2d7b6224150cbcf954087569ecf5e81a1c739c3ba8be12864dd1eda3328a1877186c115f62376d980078a28b1dc2bb2d88f93da03045a70352769f55d9b003962fc7078677fe25aa60f744a728d05d51c954dfd77dba1d387bec0097cff365754fe20f1cfdbfd928a4fbf01caac06679585fc3a425f0ee9390a9009efe99a77ccbb35580f2a347459fe72f0a9baf5aa5549a2fb2758f1fe4b59ae4e563c7f67227500099148773187d14dd060e5cd912ed37dddc845cbe63eeda1c81cd2a8d50044ede5fff7a1164fd6fc6b93c4835321c24bdaab2eaa49fd836d84dddb8121cb3b10dd517d8aa02dcc9604bbd425c82146453064e9e1df75dff117ae7c4f16eff82b19653e52ccfe82419a785d53f509d38031bc58bbae39a232fc998dac1960ee5a60385009f0e9dec77e2d5a7d4c81435b73df6ffd89313f94846b7e2ff2fa0aee70e4cc489fd6a100b556903ae4e11e02d78f3c9d31f84e041d06435360404c956e91c55920454c87193959c2542d92b3053fb62fe0cc486deffd96c5d86e69940fc75f7bbe67324d149050bda7383b3a71b9e730496f2d80752f6c6fdd3d23df49173a6aea85f9502adab70b92b8d65de1c3d65f9483063ba519263a4a94a24b2d801208644a19edabd3c0810981a94b16822726496f13af129b9a6db27ce9daab5281786bc91f12547d1ccd4c2d99c80e4363bd692c4a1a527c0604e25d4ab5d1333b70be7879ed4daa89199cd059bfe386c9d518640090d343a657ba54ca6e8060eabcc3ed226d01d1367f81537ff3408175c2f6a95a69dd6b6a918300100b86992d0c87cd09ad270e4daca95b337b6134d3984b966b289125550da9e66c5790055f0e2e61e049a60ae1da1087a199d9e90c04dd7848136b4c97d9cb2e3fa473837ca555f34b128b452ad7e19a7dff3080489ffe466cc0be474d9cc6f4573af5d734f722831a4b061b5f30a3ea72be95beb50a3a455843d94d5bc80ee358a140b450d0229579dafa33674d6904618a67e0f8ec49836e70bd45d0ee332f61105b43991d0ead63a3da570feaa79e71bd69b9f53bcc87fe31351a6a7eb7986c0a72b03d72bc0ee22bf1c7d55c056379055951b58684ca87fd6ba7e2133d24ec6839cfa86a139ebb42f5aa52de1b4be78e7410112e5a378052c76a84ace8a0ba40fcbe90f06fe0d081bb83883ddf6f45d48b8811c2fb8e7aeb6d7dffb36f2fd85389e6e195bf5c5858561e53832d3aa7e46f5d041c9ef843ba48f3f76367c0ea6d1aa37a92f7bb968a53eeb6cb9f28d8195012c878fa7a7eb4a1f0d1e9d53bc65bc26fc35447f53469be541333dd6fc611b26e1f7dcf1ac9711060abfded12f1fdc4901577576472e48fc244f2f2c1f25bdf00e92cd80df18e01627996e6b23b1b776b50a1b4f1b2dd4e4124377c34385269fa2f3082711f8b0c8dbf60f95165c6ecaa63318adeb30acc00e20c7fd889f70fef093ad288db7f59201779d415146710bd19589a5838c4cbe6bd535c01e03115957208932a472428b5e5944503ef8e416b4112c93154d85a2958935af3578cf953db67cb582df73a6940547afb9b693b810555bc7d38629ba941252fb8217086a94e28cf55fcdfdc8351c22ba71bfbba18da3a9f20cdde148a8fef358848bde19b383c8ca6ebf1e4061186a48333035d880b53da40fc2f3eae96a599ec0681376dbcd1efd7307d85ce218b1108f0f531c86d1d62b28f4bc0561dd3ebc8654d5b28ad56192a59d5550e0f29ee95ad6dae6987d0276c242fd0aa2c144b84240d3e40e8170db3dd458dab022f89c06a57e90073061946ca3e659696ce1066ef46613b550a5a9300f4085647c8e97f99f53f635a866ad0025c3dcb4edb9a9f51d15e454c57243df3c55478ff3b3e464ad31bcd693ac72845063c8701f7ec4bd528219f93d2db15d883d12a06c237722840bf630b88d82139e2a3765749baa91231d199f95c78a60927992170dab48575dc3fffaaf4e7d191dacd421cb34b84d264a5cf0182790fcf5c5f531252b6cd8d341a0373dd016db058e893d452fd3552d55e22569108e83cf3aafae1975736f3d1f938566d80f3d4089ce655aaa87ceabd5574259668d39a0bf71a238675c5b3884d57929c3e932f8f4e21e3a52aacdffc32740ef2ad0a332b0dbb7196cdbc4b807899ca1b52249451ac5f419199f0401dff4d31ae214820a352a5c9e0e42f1b83bd71c09cf6b05d7d19e28900cc656dc720f85437e9e429c83b8ba05824e5dca22d37f4e263fe0d44f603f61af56ce746e4f8fac80c9119608152ce74bb38580b893ffdc7b2bb45a6f455091fb401e9229fae4acc1f0ce8b910262f088e7d6320aa7e4334705feddb22f01069bcc20918020f6b67b6d59beddd2a4edcefba908afb616ef90b4bd9f211e4722e0623d09e5136fe33c570a8f127b41fd814cca4dc05ec643d84365dac3688bb5556c303604816fcc956ffd2813cf7f19088726cdf396f5d68abc7d9bf4b4556bcb3eae268bd4617cbdeb26c2eaa426836614706f112308174931ed7b26eb68678064a0167472c4bc653a21cc38bbc4ec295110c19441fce6b5578e0865da9d0abbdc8819b81d364e1a165cef69aa1adc20dc0dcbe32aab559c1da3dffe433028fc2847945ada39d7e37bf4d8ae61d55352235d239881fb257457e0968c018e7d72be80d874911d4075a0bfe94ed9dcba4d99ae1331a4d101c3b44cb778e075223e42682a84f577d4039dd82227f9d7f1aa71bb1982205a5c0c0ab904d8c3e2eed1d4b5e850f3b632ea35eb2dfd8fdfa92727123f5df8e3e11ac557243997d9713fe060ac4ab4f1c91e10698c514d1b3a56e8e7c6fd5c8d47bf0026125ddf2127f216832badd4a0f0fbb3af166e64cee37bff51ea712702ef9db844d6aacc6f939c68db58b5e16fc4aee193a7886f2a5a994634ea0b409ee05974be4be5dda5ecc74f8541ff46d3c9763028c0617b6def6dec9e5bfcf75c7610dab9cac20c7c012d5907b049babb090a6e81d5c9690c71d3a4e8cbadb98cf8d1e32701f23bd256b1ef8e3d5b976da74faee4c0b47698b56e5689cffa430b94b89989c37fd9366dc9375d69962fd6824d88b3c3e556d54eef2a0ca3f4c8e7846c940c7500a624d7264ee6612f08bb2b2fef2fbc41b6d8f68c151ed03809335fc0182840b454f97f310f2d87a01ebc76adf181aaf0957700270d02ac4876836cbcb4fa062ed4b863dcc8d1ae5d6788b30af2a1d92b75fdd2e3c421594826fe5071e3c6e782d0bd8d11e5280170c5af26f6fa3401514533fc671d41faec85801a54b9e97e974d0691aeafc52348744c12e98cba849959b640561be19a1d695406442fda8e2fde7ae8cacc67280e7ee104b50eab01cabe16fd4c5d6bcd3271c5852d6ccac6e6043c66cf42d00a5b38bb44101b6de6702827f89d98ec55a419e3ffb936f8aa8be5cda143363497557c77d76144af157a5b074a3e67278eb8449418fdd78eee622b2a52fe006d47b07583f9f7c04355cd28b23b609728f977c80b0ff1503dff4e6416f3fd206704f3463a899f2e8a439948102760083fa0521c842a8591e3fc275e1a04d4d959b0060052128a39c9852bfe7e38baa4e8c778d1e0683c78aeb3f3efbc1640be6739d999faeceff70f545bdfa3920542085c55aff88ad7e92eb74fa63980023b40df7ae77dbc47ed712a7d18790240c81e153d214b78cf799a9d76ec67c43eb8e2fcf6598995c76de15a9d97f87eb510a552d03bf51476a2164c51fa9a7532c92aea11415de6dc4a126b2a362cf9f16ef60ce60e31088c3bd2efe48ae94c9f04b697c9c7e193368f354ac7f6b326bae08d85e8d3bcb9c125071a6a096b5cf159997f930d53dabc49ac5b189835499128cfacd9ad0bb89bcd33ebf6f6b6519bf9c2cc5d0511b6ef72ac35bd0959a5ca0143a250f3efc87ddd3e975c2d190b2f9ba194679f14eb9c16d5fa1070dd3b39e85a7bfb1125c41d834e9b276dda74e972951cc7d73312c6b32597d582729de020aafdc134dd4b153612a8848a19b4a759c56d798f5d60d4528cc12b6b6ce1799623b0e9cc51a34e4c79633af718b77fb037ae54b14d20959d7e4f7109b8c63e2d6278b39aae8d57353b3518522537a7e6ce2e5ce929dd7970441c37d8eaec739fbbc187b948feb2e0769cfc34644cf8f5602b17750ddbdd49236b0daf9b241623c246dba15ab9add8408e4c39df5d7acecdacb73bbcc777cf0dbe0140d94bc2becc1dee18281003cc6ce48ae8f4f66e64d2159ca58ca429d206449e53c76466f29f62cf16d119821df45ea0ac2f8d3c40af67cb1c8ca86786b2fc0e28a5b9f5d679762195121e536f4cddc2d7fe5e11223c5125787a92a24cfc7162f94f25b2f5f82bee90f17eadbc30e1d33b55644e4792342cd6eaf0ab5596dbe2f52c7ea7daba68af3ddd7abba1ae34c8ba83b166c201960d90f4fef9bea865d2ccf6452f95aaa3fc857726eef948093c90fcdd77626d6a4d84f0390ad7f57efe2b8578fdb4a543177abc985def1417f9a5a39cbfb2b33c97409ff2abbdbae153daf767f53c66aae2d85c0adbb21cb1752ba73395743e9dbeee99f68aaf601435997e4aaef20a29693d942a1ef0dfb709c685a4993b2b0335a52ec81af2855da49e0c6e639ce5b8801526fcffd800926c08029fc0fab8a0dc501e673c6f11d58b4e47c3eb79c4e4196881866674b66c8c5bc98fd21b2629db6334c25d55d716c532ce61c9f6bc7c87a2c70fe70bdeb49d8446ca02b28f5a381e6ce1c9aae3c2d8f994fc3613c83a5e9a6414705782dd3b5fa58c39f774649436713c4fdb938dfd03ddc541c00bdeb460a0c7d15afbfa61297f37d5b60cb13da92f778d177344e34151293cbea26ae4b589a8e549382359eeaad44cb1f817b8e2c659d1fb2be40179a417d923568b63f6d41c3459db592e99b29a2c825ed4cb395d7e81388dd2eb14b8f2afb9d2889655ab4b9b1fc4625be4c17403699039f475fd5326665dd6fa5dd438cd3cce8ee6b128a4add69d0563b8d8f4af0b0a0ec34294a2a9b47915cd21b04e2229fa1f3f0c72168370ddfeb1a7c817c7762598ecf02b3a4745bdfa02c2e278ea63df9766f0547ced7615cb321b54875ebab601235a285bbcef55ba634f7aab4e0b71dcc60d8281680b85b5d19871b064267308f1121df62c57e995967851db78fae3adf806ff65ab9b3e372420d7f18bd310278cc79610272edfedb68bfdd6ffb54b3db1ec06996a2c70408225bf59a455e6c33feb24664957b20be8641a6ee420eb9e2a1a5a6e3cb0eb9d9e7180cedd67740a081523367930d48b902a0624395328476178475475b78b78355cc25b4aec2cd49be14420eacdbabc5a38795fee1cc95d2529e167dc256cf6fb488d7139547487c58ebe08c2bae2e0dbcd7558c4b062b45c1251e30fe437eba1a0848634f62f1c2bd905e517ff05f9e13a9076c7d128030f42d638fc379f0f222f7804b2871a3b7d223ea3436859551e8b0f96087602d1991909cecbb60ac1466a0938f9b328f0e2944d9964ed93bfb592d081844f1fe997d82c45b7df9827895f8baa8183333cdcf9676deb7bd7dc7909d65e8cb8b5cc996d443cffb7190f1ede8f61889764ee03e3ccd9a3f56c509f11eb715f0108b468f258fc6a8a4ef27c845b11dcd3ba039787e52801148f8186afb2c10d9b1e79a5a19ff902b613492759507acd89fa7fae88f751b17cc3bebbb5a42fdb59d2fda5480e2443a3a708179995c50720685ee97af41ab010016dc0ed4e03172261b314461fdd376f526519ba8131bea6f65e797938ffed504a6e79a079adfb6e89cdf7d9d353277c5809b45bed1d1df725dac8b490c65ce7269f121d6b1e5bac67fa8adb84f21cda2832e66ba19bf7a012034e6d83046c6b86f59b8765e45aeaefb45645152cf23e041988e9e60204a49db59586f4b0406e0747cbbfa7aea09a100ff7654908f5f7979a0a7e1625a078eb04397cbfe68b070d79c336c0771e429c929c7108ed96f213e86915bcc97aeccb8bf55e630ee9b0272ad9c6ac8b3616c528cbffeb3162bc8ecbcfe9f1c351856a3a344b748da9234ee78021c7792926895be6de8324723229b7e40bf658461424731af01faead15d8b1e466e43ff7844e2fd9037d675e670c0129f4159c62c774e0c2800edac8135e1c28f9856db3912d63d3d42f57ad532024418016d74ae092103a6875d26b91d1ca257f830d2232eab60ee565896cdcf0842db46ffb417746cecae3a22180c9978527d8d5b5883f718b9ecfa54ccac05e599e1336dbe04efb2d5d35c4e0973a11aa9932f13f5cefe01ed1570025d3227a1f22052e5aeb5dc3232c8ced20e7a41cadd879aec81bbc014d9f669ae12f6ca0adac5ff7a4b2b4643f2c58b4975dc8f8acdbdcc655e3bc98137f4f1650a8294bc5a587beebc5c52617e90a106a43195398ee26fdcb9d88b5d3614e77c9a03f0c1b4db0c2389759a8591482be43dc840d01aec2fb269e5fc40ffb19fc4ffca68a0c4516c8972078324cb73a0884c5a8df3f8d1818181bc9404eaeb437047119b5f57c7b998c50ace56593321871fdf780e39af4b9baad9b0dec012f1c8c029b668f7c1ce6b5bfe738f31ab0b7c42cb10bf8ffe262309ba664cab887b34f44817ab13fcc81245ea753670c4f74d40448a75a5ebded131c9c6d2302f4c506d3428851b5ab9bdab8a6f9ba0bbb51090eba3f5f43873a64f1d210fe7a8e86342b2c4e0ec4747ece636ecf1ba11f8b2b9a7633aebb52a3f7fe45d33d1bd36defd6b72923561774f0505ca8aa455f8fdd4f5b0d29e654d8244800fe0fd4db1636b066ff23254c7b5b4768671eaef6d8d4858b1ea4fd2c8fd6a78cc6e642662a2ecad3c5d159b0652ee70d19ba583b658521944726c88155b92b5f5b96d6810875bafad0d509cc1bf2a1dc8512ab1eb36399e85df48e7332ec5a6b177e239e0f9de635f55f982b9c875fa36e89539aceeb817b7aa221b04d995e3126665a9cb0de387b316c2d39696cfd8c56b6abbd8a545f35e745a8405b0445335713b5f9423e0cb0056226c5b76b2e49c2af4ab800e54d14bacd84e9e56111ff110d834664a99bf62f85248bc02cf9015f6c3d1a2bb2e1cc0921333ab22561fe314943ba3d7e3b7ae1ed326a991500c33857c3cd1bd4aa0105a46c0104002664a3dae6a35b817dc5c073c6aefc9067a06f22971d54248af5ce9c36066a24df476577ad33704fc31422d9b311f472edae7b843e421c9c479fb6519183c918cf7443dce06e91899df8799c9a1c08d4da3cf98f69e43b34b031e516a69832b99e3bd5e53f779d83c1334ec66aec50e6fdf5e23d53091aa88fd646fd3a5c270f1b5fa61e18634b48cd0a85cee44c2292d8b912253adb590c32458cc2bf3d74e4a23b4d6ac0832a094ad443c7efc37d0ea9cad14574b3ae1810b5c0a8466cdf8629107bb4ec2cd7327900b513b02d872ba0daea3554d494c87d6978f77ace6c4892a87428a0c739c0a27d2c4a316ca49e43c05d2c2775b7d869f7ebb91463adea5fdb406a021bd2623e2aef462da757cdcaf2a625acc2e0c28bfd2f1cc02d93c298d9055df761250b179c1b751a79ae49da175beadb1ab1565d2e5596444b97ebc7d6a86e382816683d7e86b2e594f1a66f743687181898795a652015577526242902ae44f134857e71bf23a06338f4f9f7418c0c3d4fea6c6a3ee802b247ffbcc9cfcf572ba3a1edcfbfe30a4ae761a0ab938c797c12012756f492a5cf7e106803827f9e6135eecfcd4ff0796fbef3b8c44a0553b996a99de212ca48f26e529631ebb93f005cc688d4345b608313fd4056654874578a0092715e11f40f91890f0057cae569f102f266f71bdb86d9887ae8ebf8105a1cea012c842edf3834104e0238c7f2fd8b785cb7dabb78ef2bf02a8a20ff6d938db47afc1e7ae7bc5729121bf1c51d9f99f7472553a45838a15027b8f22d22cb28182054aade6fad2417ae44c035163b16a63f5ac25bb99415125f388905e07f905164005d850816033b1efbef171153301ecd6e6eb787d01135584b91847c3700f7aa6750ff0e64bac66918a722b6b09f3f39727db722ce4d7099b56438eeba5449462d0e25f725c18a7c9b495c8f4f9b93270a352210bb626f165d556493856e0ab6e5e57e176bf8bd23f69ce2fce1cddc32efd0bcb85301e25e67e5c61470f7f117a5523479755f22b8f024d61caa49278087c71a94a4eb6658f242534146a87151e156e846a2dc51adb38c746bd565ba7a26a297c0a71f517853184623a8d4dbae18dcefae3731e23c8c55e1e12c74ca4f1251862775a6a65d442ce68640f04ec474e15bd2fa00ff6b7012a1f4b77f310df394819290831f1c36a5795179f4cbd74515fd24469a0949cecdff26cff51d77759b81c0d64531841dda7b17a44a914c8bb2b134efb1a21b7e2a75ba6df7a0337015d789e69ba976ac0b94408c7d1485b518261df84c744d7bf60f02174b570c739c21e892b21ada4a7bbec47f52c68c23e3a9323e54bce4a68e1340e2dea1f528cc4e8cdfb790242f927b267d816c1c1b4537878bb42c899511fa023a88a1392532dea7442990af1c92d29ad6a0930bc130d81f31eb98c911b40985c36f5688ee6a4beeb8ea7b366398f12195aac9bb9719defd9809699650c244e517ac851785852b05fe77f7d33b21cfeb4749f1cd0c37fb2f584dc16d06220f879dbbd4fce477ed57f4ad10035f86a47fcd91b5868cc320b9748a38d34635a1d90cafff3d34fc628207b2bc9e193184806abfb4b2458b87bb39b2629770f3c4ce776fc1d441db331f45eba49297a29d0c973dec21381b1017ac9e6d612c3a7d2f0fd076258fdfd6c8f3527257a557654f9aa6143ae6e7b19635ffd1e11a1a98c8577c02efcd7bf5ace9ec03d53329724d0aaedc84351ea9edd1615f6af9608d3b94171e900054e1ec9eb18fa9f0e7ce1c4a13bd59191ebde70229f7f0516c1474aa92c3452cd52137fbd0688db23c69cc9316713ed1cc5005e1c4f263bb2b34d34f7d72b18fdaf3b5208536cdda23b4bc2791ff7863b46ca9e4a74f01bb1fa8ebd2da5fab3ffd9bbbfa60d5150f0b1327147566835d8847baed978b5a74ca3231857610823bc85681946a41a16b981c9225552f83a20150576e085c8ba7a57fc29a363c70f78c68ad7368e1c57e87b1b8b1be7b28d7c114bd4fa8136365eb2b2b77c48f352e7a52e70249ce364433f046035284572963327f143626145a05876cc3e6356c87eb9ef5c82f87bd4d21fecf62a1af835da681a126d1f04e9fa19cd1358341c897d2ec078a052604f35383ef3a46862e9523fbdd8503989ba4a3c940678ab674d4d0a5ed4aacf7b89f715cdd4dab39bbc13911b5e1d96e3495a95ae0d0d8124b16181d325d054ba4e34baf483d95bd34a02cf4cd83dd0baa779385e7eb6f921db3d731c18b5269efd46aaea8587ce73f0d4986fc6a2e0e484936d43fb35477cb63bef232b44ae7dfd627ad9cdef27d5a615c01d6116641bc51d8be416af9ecc6c8664eba15babc578ea9823f42bbe150992d9d304a3a98214b994912d6b0a873b6365e268d0446601e09fff82fa7e8be7fa4fa6104cf9f1ef9234611bc9ddbc4813adbe0a6420683aec0e09a0b27bac0adb22fdd30a4925659ccce463a595c1fc5f20172628a6e33a2d8f9fd0be6471ca8a4ccd98e06fe34c74b6eb9ec453159abaf8d441105acde99219acb322167a3d7951db4b439fcb90298f01868ac58410aff835ac3ad6ae7c43a77a63fc80da374008944d84559a72edddcfe7f34a89a92e17cf7c5657e84110c664c52dec76d62c0508e039a31ae3f29647e443fcbbacf0c8862030d0d104c167b095064a0854f513cfa53e7dcb2749fe7ecea3d29b42e927727d2b6b819b52cd1a78f0cb1e86b7743a7c4aa8b25bd3019596269d50e52a18c609a7c494bc2d7fe8bdea6d5aa046db4da5e9a8d6086467e3f99b84f664ed4890e26880a726c382d0f0df9e46d6f6c12d056c6f865c92f3f08ffba15e65c21e88e2859ebe0d7f11ce2cbfe8a55a1a389b05acc178be2c189650ad25a9ffce53f65dcfbe4653e5561959aa1ca0b96879d92ac2183f4cfc499c8e6b0e6587d5a9193e6d4a16dc113b7c31d5977dc31a025ee15c1f5916060b9f612e30de7e268c28e7a03502ff5bdb97002b3f04871841e251564527494b3dce8e146df0b644f006304fd74959cecd02fed17c39e0bcff41f35ab45b9ebfb1065d662bbb96f42542d019e97074e573aef524a1d23d825c089c0baf9858a06040d8a5cc8383e8078efae75f2da4bb5ca996282ee1517f5764818e376bd8a1ec00d9d4e3ac3563a1b813f5d9524f5b1843645acac874898fe3566c41378f819cfd6284604367503363750a82201c5d588843fef83901ca17b8169ded832c6d077a2f9ff7588d219c939efa47261ff6208c1bd3dd089f9c04dff2ccb7f50f53cc60b5f953fc7fb39c921770a52f8bdbb34e436c3dc0a50d257dd5d9a617bfa7219792e93592c5c4141f04b69213b3da41577a97915f5d53b0541ac701b2dbe8320e4d8aef6593fccae1dc417c7f83d4422660f1b0481c8fa78844907c9d0f786be8c3a7c5c4a330b91bc69d05d12e69fc37fbca59fa422da3b2325fcea04143f27900ccadeb311912b57a281e199fada5d8c6ff62fa5700649cb0bbe0495e50e375755c417571c9f4770f102e615cba91cf61ef5f9b9d55652c78c68568d8bfa93456272327542db4af05f9b8c4b393ca071d1677292c43478f67e988d7cd050aa0086f235da90d7ff69efeeb3c9f984d6ad3824cc3b13d6df683a51a1014be8cfa3302e978982993d3cde2be143d850b6b73cd12bcd9ee297ab49448cda8e2b67f8c40515f44a831d20d93807067f563bc523d5f81399dd5dbba603a1d44a0abc1a54f5ad20a190a41a3963e2a7bf5f3d35ece9caff1896fb079d7cfd23f4cddf262a1029717fade81daa78395e8571508b842b4c9af1cbeaaf9b5623daf19ea58c0a0920597126c57ff9aed9fa4f03377d8c9d449c6d36f4b903e6a52cb396730758d7b6be279a2bd80a3bf80f3220a52d321e24f0508723dbb5c9d66d9859d5794d84a9d544b53b9f0bab9f2ab046186eb04018df2e60a6df45d55fefc92714d3aeeef5b85de229b1ac535be8e7329cd566ff67bd8d7cd733ffe318588498cdd1d73a1fed1523f72e6c8dcce0239ba6f87002e06acf9b2ec96966f0534cd2ed71945e4b4d6804d69c2177f732ef9a6413ea874cf559cd404f997af1a2b4a47caaf5df1a927cf9ca3c73c58b96016c9cc2827dd8c023600688c6facbef38ea68541964201068183966b7fa4966ad74e52c09f955dabc800599979a04dfafbc58a9b0a6945df33abb44683974f5d4150713387778f7baf50cf53141f710815dc2df271679ff58cb1d8c1023a50bec40def6bd32e5feaffa4d16051483c6983c90930b9d60905bf5ce382ad6fc3731ac513e3681be4181c9e5f02deb14cec0a59a6205295751f6a42146c56d6594713134e158ea3895716a6d194249e3842ecfba590eb111c271c56bab1eedc3f07f1c413df91c63086d0cffecc62fec696132dfab4ac312730f8dd8307d2d5264290db32a691e22ec2dfcf1a268d03cf9c370d1dc2e7881a902e78f80d1a3139f07ef98d5c845161b3b6f9c73930b8fce65e4ebafdecd284955070fa945bf128baa25a4fae51a5b265220a06f60306bfe0f6ded008333ad5f9612031712655b3beadbf8305f3b5fb04387fe95b9b3b9869e500d597186e53f671a8b0ed0bdfb35a82fb4ed434dda91d77106398e1ca9ac060c4b17838ad01aafacc457312404b18b997c9bb7803747f881b3b83e230755333a76befd5ac7e16a9ebc2172d9c7b331cf06932430d60e1ba0fc2567d059d49e7f83643481bbc67f7592a1600d42ee1c55795e34b069350decec7a9bf2dd76708584f56bd85345065692904cf0cf280f9c716b27c45ed8c44dee8baf57839622dc9d7de26cf214aa5b3889ac3e113bc3357ce27fb7f30f9d1bb50fb85f188dbe47ae9fd8536f98d227b31e39481a29e5af162933b831219a3603d5d48a085c1b197c1b6a2ba03cd8df8494b60a7967712942378f5f3408710e6c8ca3fd5ad91cda3402126931d534e8ec8662b24035cd5c3a47deba380e25e05c1b5c2bbe1826a976e24625c722d6aa7b7487679b34cf60b5acfe443b18c6a58644c1f7a01225c4c98de88d6be84b4af4c6f86cdbfffb9249219508478a23607fd5e917779de64fc3f75a1aeaf31f01cc256762664f01cd066c93c66e2e08bb59669f1212057a49f9e324d6763de7ab81d0d684d41a45a60e02c2d711be7c66f8d712c9c3f4080391db67361d4d474c09e4cfb59a1936a9a877e66534acc1db9c08634dd295693e039e97a6c32a5fa0c4f52cfe53c7309f726699d73c6c553d1ee20da07b5dc0403dc38a26e08936c56254375f606c01bcd482620da55549ebd8bef8aaed43a7e79164643f4730bebdcdcbbf609d01f6d14c885936eab541c5a4a8ada7089a3f294afbf67d00e4a55dd513eea1f52205f2564b22b226af77cd5b2a8f14bf3e9c7215c1064434ed3b3e686d1ec629265282ac2e927c3ed4ca3c6dd63b2220a42489a3347a010b4a72cc7a39a9c9da640d465a2db04521888be35787d69fb59ecf3b5fbf563acf755ac9fabad93d5cd7bb23e0004cf855a900d878160df672001c8305a378b15a6c9a7ecfc7035e0dd78a16b3750463f862497b750f9bb8ed0d6e31f95866b8ce6435af30b998568da72a1145d2573d308cc47dccb743eb744c9a199e8814c0ffc1a7aed932aec96ea8007cf887fd4248bf69ba9991eb8f71f24decfd6a062be8028a6999b0d40789de01e2c39074e4ef052d3de99da76b0f94bcb81509a4a34fb4e9df435f892916930645dba35e8ca3022fa36a0c54da782c72b9ded1b31712abe62a2228ed8d395e71bf23b26e156df960d1d092f16cdcb54f9eca7cffb564a995fe045c671b4f235b1b87f1677b57556170184ec0641b862e8278bd2f6c978334fe7a88b9f3e8c19c8f60d9c1e6de61e1532d3ad0a4df386efb52911fdd32abd2dc946e4e523a4d1f9864614ea569455d3583b43cbd449e7c71b36e906fbf0fb78c42f392b0bcd41d615b598d966e277188fba43049064192e6b899fa383ae8d83cf3e9c9e387bac75b6cc261dc4e30d876d91b4eaed7e60dc5237527321d69518890ba8e7a32515a33acf390088171ccc14b001fd778df453978e0ecd12850050a6d3581df76f7adc0eb9101f892dd59b66ede0eb45b8301946bf97b175789466e4030fa92f132669a059aee20530f4ea98195e15d37fcdadb6ccd3c03202758b8c2b677f7e3ca444652d18c2fa2a4e4fbd269c79d7dc927fd83967a1ea18feecdeffce20d6342f45db525b4acbc752fb96190e3c7a8c178084dac1df90ae0b985871197ddc9e5cf0d1c465aac088b0b64d8b03c8239b92f749b52a359fa6a4217fc664cf6cbd020a52fa98b2f2af627b97c24b73ced25176defdb8ed4e47ab5d2f1c86853a23234efd0e9f68ac3612d95a73bc154e387b2710b8bf36542bf15001d4630ff0a7c1ba3177de17bc8c138ff067f8013832878e776715b9790e8e6819edccb2816001e311118408b813ca8c0f92785afee9f74e8a451579c65eff44baefe1c09189fce78e3e8d6b6fdd2de18d3c0553bbcd543842d9fbc6a7803b2b2d50b0eda8a8281cbd62a008ea577bcc6490029e81ab3a9eed69cbfd700687523db7fbf840b2c41f8452e99a5bfd70b610d76b07375518a8264026f9d1b48edaf7bc2de78095c19f4f2b9e2e35c90367ecb9605d7735fe62c220e6f685ca1f9e71d845cc47aaa4efd613117fbd124364cb7a13e3483d455142e2fc3b4f59bd09a500deaf9b945978cb4eefafef2adf36a52a43f690b87de1438df485779b4e8ec636974261bb7bf3a56c3f3b84a79ac2e76665f58751581df8fd7dfca3a7dec6380fe14e068ba1cbe4cd6fee1441fdc8328ceaf22603e0e90b79141236117e5e5abfaf601c5597468f5e36c9c31ac1169024c250c612bb35e4667c8c2da12ed2f9381b1c26db8ca171caf12fba7b9946b4cab98e919bf01781df594220adf3252d5be0435b7d426967bfed25cc32789cd97c63d387d0ef3d891deebb9028f5de14b994fd94004bbe27030a50b7f504e00cb61b34e70f976ac4d0e1079ddfa33dd02db731044cd8ddfc833a838e8165d8e4af6b790b4e288689dc2a5503be5889ee3ea21c0c2f4208498f89f12ca9ba82808bef77c4a8cb34f6b7840b2f5dd12bfecf878c49e0fee1d8e02192d0ced39c578447955a2e431f6c2b53332c8f0f7deec71d568e9d9ad92975e1a8c263cd33dcfce55d922cf4ad71034532a88ecd5116d53cd65ccbdabb1af0ac74dcb4cf7f4e49077e27daf7e864d6082a856ddcc50844b832ec30db348babf9bb3d937db025547b0d3dcf46b0d5af48f7c946e267b4a0a58083d5bf3184c012d5d9243aa1516efb00ca5128fde618ad6db0c732ad28c78faa202315a825d67bc6ff95a3874b8051e2a48c8d7cb3b54bce2a04705c8d36b45cb870f38f64876ffd718ffe80d9b2d0c8197acc023aa3460e56fd14c11a04bd8bf64de312d693ab7445e8abf137eaf5308608f1f6c8484de1afa9252c76f3fd00ee0d583115444edc6e9df0500d43cc35c541ecf6f16a6925a74b596215f52a841586ee6fe11f46e34d7f399f14bbe41a855262646bc317c48cca42388f997be123dab1d33a2899d032a07d0b42eb6e9dc6a6901f2ce1b061957977fd87d8195515bae24807cad9d5e6c64b52a1ac25fa98fa10cc701fbe0f0f50ba061ccd46ca0c0358a4811195dc292a9d434b2b5b3098ef7a9fbe121c6ff96702ced5d2da61a0e55374666a13723ce5bbd58033b0607053f9cf29ee39233f95ff8189996bb385ad8c6bd2121827cf51b312e0ff602a9868b989c7abcc4eee0492a2458e737a4bfbd924a39f862dd027484afef35d33ec55ddf0fc2eb73f562edd6d61ad9be58780fbc9e72ed330235da8dcffcff8f0831157cbfc89d814f1930224509e431b4533576fd080c44fc577e6281e24b18a19a646a1cab716e0b187bb67a7395261c6c5fd50897f32e044736722c2e065b4366466fac85b861ce4d4bf03b05266716c34200ae559f34152a1be47f85c878284978b1befa97249ea99e8c8fa4a1318a4614cfbf7ee68ea38020a0a4ab6def7d2fa1182a8abe8690a6c2634a7f90d99a399daba212c695fa43c5d9cc7b77bfed82425d8b1e8817dfe791efc15a2b306c9fd4fcef20c0c691189815cb55116f32f180ecdf8811b4915ea82fe4bdd14b1b2838d2fa0f2d7f2271b01478007b247a50b81cce37b6666dd7da7a4ac95cf20d685eab4dbdb80b34445de16ac288d97ce35241c8691aab6398e2743e9534f8a7a104fb88f2c34a0de8b7ff76e6c1d9000981ec4d8e5dbc6f90050e20c960879e1aeeb7a737e5a549025dc2160db39b2b68f654f6cd1a4c128eb55ade49adcbeeb733e28bc278ae0011b52cadad34c175c58e16119d2c54483c2c95fbe3a20c864892cf4723acc35e2be5fd358fd38cd3c8111a9956ed62c7a9cc1bd08c6b473b300d10b174db052b6258807b295cbc2af802a31c55cc20b1cd21517eaf6cace35b9000e5181628522192cf0ac3f9f3bcbb0d1371701e9e5a5df4331d952d312951843c3bb5ea3bff7fde960e3c36971f51ac9eca188755d9217e6b0a039d1f530cfb6a851cfe6c3212c8dd841cdc790d38bc6656fadb65363359de6200005cc53e9300eb0a607971b778a44a337968b90058452e42f60b95e36d7041585b8cbf46b4f3ab660db6701453387456dabc441dfe28c3d2a9e08b4c338927011f882e0207fc7840be4b04ae75adc777cc52060c0921cf30dcdba0995c0324c3f2c69907c6d01ef102f9d9ce49d762233def1fe5f022b9e1271c25036dfcbb189cd728b61b29824c1e53d7ed4f4b30b7ad19c7788148066e4883854cdee94594e830b8ccde5c9da105bbd38e056d070561483fcabc420fcbac31f32552d0b804f2314e964926e5c3c776f5b53290dc78d2b6dddcb8cd986481f5e9390e287f5b7d379de6b721109eab4cd822aca533876538369f325ec2b2ca36accdc69a3803eb3b47bb54e3b7a94ecd7b289e4a4e1d6a393436fe164068e134b3e1fb785d4b781433a73661b3e9e14629c738c6059c0ca337b4182d208b10ba28c9dbf79aa3bed84fa0703d0b0c9b074b598590ad533b11762e3ae886ad1506ef5a2e50c18e906081718e5f24ec0ce17b20388b56a10026726de0f904288ab3dbe4837e26013e9a03368f90767bf95c2624a011aae52aae4d06e08173e791a95c4b4ae0cba5fc33ec081e5fb2056310b49e6b74535e8cf9f8fa36b1eb47a806eb06d16a589246ed7214ab5e8d9140513a27f95890dabae551fb8ccdf1500e227c09c6fab61dbb51325eec3e26bc903a02b009f03fe6200814983521485918d8aea551ab1cc2123dc120d5607dbb783e7c4eaeb0987a32a39c5ba9c7626e637f1964f0b2faf490b0b33020573bf16197ae15ab6df148e0910d8010a57c1297087ed5ff8c21c7d999ae4152653051f1604912953b0143d66b8c4d24bdb7279292a11744075e9b39256b71cf4c6c148caf70f1f2a3c6eb1b7bbe340d2222dbe3e5d0e875cf41db907e1eb3d47e9b92ef8535f5873693046365d7a56c148823bd79835070ffccf2e8e4c5ba58562469275b2850b0133cdf614d501775c5afb9e0692bc16bca5cf7cb6e5686d88a636a10c3aaeb76899cc7d569dadff4161b2b44b205d968b3f5438bdfbc3e8877976d1eee672dac199d339cb227768e6c34fb0740e4e7ddd9052e5241bc9075066e5355ce524721e0d2e77aa5a2f64a839db2e9fd947bd289d6adb1631bc9581053fefccc165d47ebb965bfe2838768134315e99e46f0a80ff7851907832de26cb544e1b338df6d831f9bb5a6ca9c86d264ac57d338fa18063b92d91aecbdc537b02593a0053e770188c1175dadf67a3e9721c881bc60ca4b80868d409e4674e8fdf56495174346e2f7fb91c850981e0516b41ced3f40185728d03b35e591e3adad4173f653822946d34c292d20f5e692ff4bdc166cb577970270b60ccfb19bec7a8e682f46dc8d2b0fdb3991f6b532c95cf5d68f860012fc16d5e1644150e058eedf3bff85b2df98cbe7adb360c82f81a3b5cf33aa272946aa1e9f529bbae53d385791baab3e3a507b783fd77bea7bda68d9828e47daa2c70c0d3acf9a6fe882b76a197a69f3036994e37628509e2a3a435780b034fc052d6e8aed99599e05e8ca8a3d59e7edc38ee878c1f5f6caa2a0d2b049f704770062db304b75e7385abf8f5269d710c928d559ad4a559e2b4a1b056f1076c28f6614cdb4f577daa691cf1256f027d2a7fc21ce90fbc6cf33ab02c644a808b1b965107c7c13d8d8f77adc4faa9740dc95eb8dada0c66c067a9921bba997bd6c9301818a4e2672dbec8e00e6109eb4620bf396aa8061cd1f8520064a66f20549f591318ba8549811c4cdd1c7fe7b87a6ef5fd5d5c19165d4d924afffb189fd66fa7803ed1d4b15b808b42452a1e5ce275f654c0821cd4d3a446c2f8cfd9e64ca90226c1472570a11541cbe380d7894d4d94a2e469c0d4c99cbd8d1029a0fb62e2ace66d8cb17b2278a88ea8a544eaa94e3236050366bcaef5cd49c778b2e6f3b58d4c02d97dcef41a3f8e294b48ea4cdea9319b94a5b87116f1a9432347c5273bb45a4335c392f9f037aa89b50cbcddc9d607b1397c10e336d09e22c424afd38f6daf69f1b3699228480547fc63719410c27859d07d933491d4146dd2640aa981535a09bfd3e245dceb799bd7a62b5908054f6684b1c24e0e05f1e0e31b0737ddbbd4e36526b3c88de092980730ae114b7ba5492a6ffef2169b9cd6a5890d3a9551c10ba5d4fdf7aee184097a09c63f4dd62370c7393ac7bd722b85418c111b4284c3879380e6a660d23943810f534a0e5eb62785918d9fb317ed1536178a9e4d49ed5d2ac919a84a7b157de23abfe437b44440f3098389434317a5134320c2e7a487d8013c2ca3b811fd09bc7efd9580bdf71744499850e93ad2564a1e691fd7f2e5ddab3c766478fd6a423d3d2ebc45535e14de1fe6fe5d3d56fe589df83a8633e326b08728cbef93a03f30f7e82277f84eeed8ca15693ba42ab438cdba1a508f21b1abfa12d15c9c7385e0677358693909b7f430f988c179531a6e7e7e677bdad1fea8035529c8c638de7cf7f0a428c6a3e986a657a0f974691f36f6572327de134cadd2cda7c86e56f52890573dfef2077ff54af573a95abef6e7c52e4a9d735e7be7c0d418cee0d760c900026dbd44fa891d2e85dc69578c290266f63c68313b584f4751d0f7c4cbaf0b9a0d254f1c36b6f0129dbb2ac1003f4d4f4f80b4740f936e176d5affb129e9217017b13afc5f1befce48d3d83f66628556eab93af9d2e1317e904441d03b8b746e5a1c2dfb8f4e89cac369394cce8e1cf2631c76ea11561dd1d3be04af5da49f418e53d262bc097bc7c8919eeb6e0d475100f593ddcb2cb2d99c7dba58ec863f99e9b6e31e19ef2b4aa0716149f0c0a295ba739ff0124d1e702bed6bdf94aa3632e1da1730ec8213693218523ada1693a49bfeffa7608368efcfe34280226297f64c78ebf606d3e005647905c60be625ff2d880647aca6130169847fb3678b747246dd404417d26332c94f2b1aec3236ff1fb2566cd47c12317d5edbbe13b73d34148678dd0ceb711037d398cb9abe0c3805f67503c9cc3e8e6e5d731a74bc3397b78237d6f955dc81a192b826b93a1bbd4589fd96128edbc3aa19f0f2279192e2d0893fc1663649fe5a4c282328cbc86ebb2fe03ed2a481894292782eafc83eb6011b101e0a9cd76b01cee931b0e9efa9cf58c7c8f2c0906527df1e7fc4c970937d5e43d4db6333e8ff3427f10df4453bb170caa39c26b4b1acbc92f07976138a5e741bf7e138fba4750e521acee639e4c78540a93589d8d53f2d98d8f0ff88e5874d1c3e52dac9c09eadc12378c857d735ba769e664f5597dfc85c3b8b4810e9851491ad3c8684d5b699846c51a92caeba61fa2a70dce284b0bf6cb0785f74b1cf12ddfb4464e6613073e8841b7142042850b8605a2f3e4ef3a4454889f99ce6e754d245fdec4041742fa34ff3ba1012e90ee5809b70f97caa977ed077911d3112ab6d56b84eec701adf074e1b6576d852bea25b6a817eb6c3ad3863d15cf72963470df5f544a5534febd462f443d714e8d30e9b47485a391a4702d12191631644042220c232af875e059c7da6c14b0d073b01562e763b83f2441eb05405e3159899494a6ba6992b4de0b563a8446cfdf4eabe905b992ed772f0c3af087cc4b2a850a35fc027972fd95647a7cd6c5198e351cd1fed8c10bb7f03e0af98804a109f40bdeaa86604a9114c7bc6a1ec8f079caa6d3296f3329aab19a84e6af1fdc2d2fd967801c5b41a78eeb45ed75c5137a563e8039c832db8c1c19b465d1ef06fba294b5c3ea290268db63feeab02e85339627b9f250b469584e4ffaafd7bb5b249b4f076e0f99ed52c8578d37f0449abf1afdb2bc663cc177e8c9ab1b7a1adf522a8602093d577915cabdf6edd05050497a3637f7042da7a9aeef44cbe1566950defcd256cf9b84995abe7a161eb32c2db9e033d33729e490ba86703afaeb38e3ed14c0de7de2b87403aac8c583448a36e356cd0e028ce0f23ee28cf935d03e58e150536df36c7eea4d0a7191cd500e9aa4c3e7d21aa01573131414629ace92f153b5ce6ea4dd7bd83f949a755992799c054104c864501272ccdfd636ecb6170f2109c59fa523fcced8485d55f392c20e8c3af8b500c86a78a82cd6c0a800c9bd582032dbc23f54ed9ef5916cac3f5778bb8c57d523f3164188a78aa78ff038414d91e7b69b8107910915733290c99b6fcef561b3466dc748dd0f3d1e9417d49675db62d190948c5d578a3f980d2c1f868d94c1a52346aa23b976dbf0e79717b203b3090b4699f6a76eb12db20adc0fd498058aff74e4f35a81f28457cb48e59d950a750f04278b2db19327b19294431eddc3bbed3bff235705b10b3948811f07d03badee543e789e9516a41d773356915cc6fdf348e355f0561a1a8222cd00cd623ba6868607f6473dcbc7c0c1a94dc58829edba05728a5aaf5ceb2c3f11dd4df98a402dfd54864ce0ccb835be3472140feb06c600688d4d213ebdea2358baa22b74a280a19a5782ea72241fbe5cf3d2338809920a48bb3896494ec1c6b5f9eb071454609e6936a5887bcc5e2c90830a70611deb889fc0e4e84b78e649de3b066112480823c8be1462713283f4208fe61ffc4f99a2ade0a0d96a2866e8b2138fb4f086c0a01c555a97f7c69cbae6e6aeb499dbaf0b7c09328d47ae12973737c801e1e3538159492cf83344e0f1aa2179de3c3d73529744f1a4a91c1a0230b2b01c2b692aa4272b96be075eb71fec81188ea919ed08779608b340e5527599da483fcbaf13b466cb2e4b92ae1583fb02b3c11eb95e18ae421f5708182865a9b01c49e922aa7183bb0b2a9950b76dc170a8388f79130414195eafbe0fc698fd8221c9329fc6dcf2f529f19eeb0bbb87ac371a07f99fa7700ead7d8589b67c51aa10632ec1d0106e1117568222899d31deb11ef6c32fdc74cea2cdf546756ac4f3780c2c7ba4eead42c4fa80612c42cf8acdc4ffcf2f15c5970635feea7c7d7b5638ff094d2e7153f2edb5a4991cd8164dd18a4cc60d097709e885fae7b7c511c30749d5abd882f9f97e7e237323e1761427ab5d28d7512fd05ede83a7182269fe2879784b1c3080bc85b03764098002beac529c98b4abba9dbc8ec98b20821a6774f2ba27b9453e85ca87b813dc2ebdc4aacc74a3bddcad623a85cfd097494782a3b2e90c2523f230a0cba5c58119f80a2f06c96496d42ea6eb6545cabed8ef78d9c232aedb29ca05c7b132112b73e16bd5157bf7d3be1b618a33279c7a6c9ab8ee4e3be08c9e74caf724cf2092eadc3f78e893fd015b70e54814f57bd3cd738420dc0a7db3ae4174c703d131e2300cd68bb9910fe56040fc3ec8398583c66b475d9f13887c1fe3aed4f44c3837b7b6e6ef1ed4d36e7ec26b0a5d977140aaff19ac6e869f8e9965b0b029046f29876918843fd820bab2e7fad7640e1d17fb2db0fbc9e66b830fc5471a4e270dd0b9191a4fc60800a0a49d0d7914d5df1890570c0feca19e47d65b5e9ea1e2d05185d215c15f0071cf933527cac574c6cf5b89050d6d8949b511a94442bffff0ac2fdda29cdf63dbfed58a17df72555cacd5b67197e7807cca4782bf16b925d9761e198cbb3d1a5f37241cdb2414bf379210529a0b0a4e37babdb60413c1e57a490da8f1cf676b950b4d6389f9455b1acbc12fdc1b0766f7936c47288b3a6c80e5b2be8a9a3e1471fbe8f2c137b51c29c381c70b3a82e7aba488851baebac8568b5e8e309acddbd4c33b83f97525929dc1f31095e024e98003f55b422ac06da9f4d55758cad35272b36d5a3fd6fa251ce114874147194cad7a1fb9a41ce45b35f8a16918fe07d2e67d651cc5ef538f08f571b892f16442544f36c710ee19dff5f6c9f2dce3b1303fa85e49d4786a040c6a589d9dca1db3e0ea7c0d7a075697aacbd551d65fe9adb87b26e8df37695baf4339f5db083ed420b929dfc5d2c6a7182263995e5da5e9e9028b46f82afc478a17dab2abcc2efae1d343877abc63ab396d2487a2017e7c25bdd936f15cbc97447af8468fc6b7527f2a63de97c151f0ecc6db5712765303180f9355b7a5c43ebba1f9d3f8812f28a80ed8c7af2636b025ccbb63f78044aa816c6852621f13ba8dcd23cee6ce9a44a8fd7c05be74a3cc5980ab799d13ea3ddb47c253660d97020801ad84e13252559db710141cf34928567ff66e0e5d49274447552fde79c7b06b0ee4ec81a9b8fcd3ac3c1577b1ceb1fe97678be314983fd723c400aea84f5e4ead92dd4f29787dcd3533d9ab98c3d66f04f36b40200a20e6983c35bb23a77eee6e04c098e98a14b84a285e2217d9696d7300f3aaffd196468116a11a5cd2af99040d9adf709c97db0fad08b99666f38a92cf0a2e7e11a36a1340810afff60a4cb8b360be372c2f6b7725f864e22371183783ea4d7193eb92c9a72ed64da7923ddbdc99d4211fcf877d324555c0205d46e6b9490b1356fc7231d1f0344f1108c79c52ff287b9db41d8f23e662ebf2ac4ca312d097a1150eeb4d641a40469f3f7ca131d43a254233aa5d5d256d8ff871f191e4ec55ac74fa8ba26205a25c3af616e138c788435959382f9d184f731d2c975512e9e9e251686bb9a1c6384f8870fd2c6234440a88ac846e85c3d8fafa8fc54c37c7acca8d25d7e878c9ddd5607170c9243ab5f27a7c3d4d035b27ba5a66c9e09dc6e3931bc5ae16f02c27ec415c586cf554bde71399c8b8dc7f2b8fee1b257b14fe156a35c2865e8387ab55bb4d679cc7558b67fbd259d2225dff0042034679dd74d8561e8777cc38ff0fafd45c05ea35444468a60d3f352ef2c53bfd7899c2aad729977a972c4e4bb2dc6ad57bc6e260e6c898ffb0d7abd6059d4e904146e6e73000a4e91301c0ce9ab7fc24a7236ceac7112a339da2df1352fd299e72fba2a46c0ae76fc6af7d446ea3c06dd4174e9289d80db4fb0b79fe5ab254c18cf232f0ca1f6aefb110b1bd089cfe9c25ce2c99f0c9ac5dc0cbceaa99c2dfcca80f60a7c464e8599d377aeeb7345efdf40d31407fea6a2f50419e3fc792da40cdffeef3cc8692ab01cacbee165ffed4cf233333ba94df43da81c01cf7089d67bc2963674b1b012b9dfbf4254a272fa9469ed69a1478a190fd7cc082064e3e0870cd7a5983a8fd677fc70e9abd9ec25352e8e266f56c1e3b118d8eb49834092063f17320d3d51cd3166d9e0206c52e9d3b1517db49ba67a6f946dd8cf2d30b5be000f43b3f9b11e983c1b9fd18e4fc8ec8befe1a402bf512f37da20ccd85b74f0757f3589148f3981a13a7800c16bad0cdb839ca96e3e20d7a81a6527d71add535595f13f120ee8712fb4d0ec58c58e68b3bcaa6f8f03ae2c2fe1c4e0e758498d884670ad7823e995425e544cac4dd495dd7543623e03596315664ee83a29023b4d8a023b95eb6558bbe0bfc06b8bf46978adc1fe046a4486461c9fa70b74e632e4a59bf42de3b7f56af8e9322f7aa462bca93887b78d86bd46a0babd8ed4b8801e647e1bfb2d129a817d57f6a2ce0ce960dfd721cef1e725b02da17d0d7a9c750501191a3fa2991fbcdc91bdcf0fc8c912820be7820d8fb60f2b9f5dee464b1c84e1204b603f505c564913bc723c4e09e311da5b2e5f99a31a2412e53658eaac796b1a2fd8499c454ebcaffa1de1b79963bfcb141f7da53a3c5402279a486d84d27668d591aa0bec1d42fac9463b14da872e57abd4845c1f1df08f5a8f1dba141f1c6e00073a3aa3dcd2383eb0d82efac5e21b6cc7d3da175cb6e1b96880775fdc2e7e44ea33ad535836462a2f7ea57be2f0befec8e381783136339f475a83d9a07532f5128b70746e1bc4106cfa60884976093f071df3ccdd79794ec61612386b5997eb236454bef75be15712a3b3296adeed62c136fde525c0ce6b90db11a7fc9e6fc1ab6f23ee49b2d3cb39fa58df38e730e4b93fe5ddebee22863d50a6a3f5695a44de35fe10257a096cff01ca6d6a06c65e97c26361b520d7fe37d3c77caa4d2820864f12182221e055727708eaedc97f743a48f7295786a46f366b7ce1b793ff350f91859f5406962e5bc38392be8ec16e861fe41b907c74830f6fac5cb5c827fc6bf3608efa370c3245a0130d8ee1d3e3bc147b4a605ca278f3878cafc7627079c4026c9b5ef340ab4f4994a78d09ef66d4b0af463bff21c6b4eed5c6dd93bc8a72ee6697410f01fb96365994bcc00062361f5a7fba090e6bb2a02838abfe3a3c5a67b326ef38103441f8b9f7e53ae5275b7304876f220a3a7c2cb3e7cd51b82e2a4f5500847e3866bd144521d458ec6b69650f0971942e42191d61ab9b15564b7c4617687148556463ab2456ca353a2f65a19ff995be355b53eb056761debd48cf257eb3a86ab18270d370298039b75d624fb852e659d50a6b7fb9634d90e1095286bec31609126631d0b84833d74aac85a5637d7e1bee4d8ae9486bbe78676227d760384922abd3fb9b0b95d8fedeea082fad833c2fe85803b8e6850f3e6588e1f918f3d8ee6eaa064075fd9b34947ce71676796a8c132eabc83752e58d25994559f8a7b3263e5f0dcd6f74aa877bd13932616ee4acff7fbbebdd7138ce31ca8a1775d926f9a57f97f5e1ed891d35ec4cb4f43a4b2b23205451cba3874bcbc82978243e52489962a63104da6a14d85cf3f75584e75e74e75457d6409437bc8bc64f768d87393d606691f3f269385b0b2e3a50bd56fb8fc1743d29ec8f548e0ef9b2638112162e716e18a6e6278e7f22549d3620477af0903972bab48ede3bdb481301e9d2bb9ee930b3e57bd47daa6e24adbc0bf15147c857caeeaad7f4b32df9dc807d3cb371fa41f9e0fce575e63292483f0cbb48f2e6f23df41da76520a3e6a10fa689a9618062216c2b5f52647226efa345d37b5635652311b0c9bf340cdeb92a96d97a053dfa38791d641220775bdd8421a7bce53eec8ea9377cc436a39ca51ad5d719ffd74b3551b35152ee769713df8ce17530962dcf98132036519361d2b6aeef2f27c084a7ad49f0951108e6dd3e461d4f5e29553af4d063c0dda54589bba671a45cfb1d21eb5401b79ad9bada0cf355ba519a3655643399900f0e5fcb31f0e965ad7a1f72d8ea9aba50047f019332287f33f7958f1b45e274cebe97b3e1e89379b356f582d28855d281774bf21e7d74f71c2204b673fca924d38d2c6f92a96bc53f69e98caf392b24a27175b32431894c604427ab4ce37505e03bbc249e3ae0b62411816a956deaddfe6b2e1054b3d8d10b78b4879bf6fcb2704a80beee2857cefdd24692e998d49a007159a6ed94a74c4d53eb2b6c50e5c557e47230e082874195098f2f2100e62f22c40178d745cb75db7c42003ae7edb2f1970087345b544834fce602bb3b1a0032aa6a904f346bdd110b72a9e451f448cc91dc9dc5ae0733f25d5b1065270bb4f401bc321ae38dad78b6d260e524ef6d868e3cac20fef058ec810bd5324947225ffc6aa648479cc8c4f8c0505d36c65e3c997237c5924dbbb1ffe64fb316810d05813141f4ba6950ee614254110a938f5bb0e963a34ead652b2431b45da1631fa77b14dccbcfab442d0af96665746ad4b640713fae1b4c1cf290e67183545f3e15aa41956d7135054b04be3c0a71e1ebad6dcd0732d6c1118eb0c719334d93890e6d2538fddca93fbe938da85ab1c50028bacb9ef23783be162c9714643c1e60950920a507166c7ca285913717d40763431a9c8c7eeae0b6773820b1a7618ad42dd1a011aec789a73cb84b7c6aebc521a5c5569fa191b24b04303fc8ec4b91add984916616a8e148819965c0ba9454b44cc924b291b2b21b322d7e9d9d06ae4d6bb6e7719382ecde8a86c0efd8ca1c3baeec80d55c981857a7d18ed6607f2c1c2f19e358a07fa71784c76dccf6ac13ba01beeb6644fd9153a808c8d13ffc562d7780eaecc506a46b4ea777f9a3d15f363d14b834912051ca3b1043553c27d2bbdd901a947623a311a33a1ac7c70fafd395a921fe0c1762a720d8d0db710594050512114e51e5d7ea21c98049e50cff1eda479ad46eb8bb9fd1ed414b08b5f96c7a1ad95d02011a100b0acac6cdba7e36a9774747a812bcf1b988590ed46446530579d39148eebdd2a500794e1c5e74a91c7ad0b54587b7caa41fa7d7a021dd6663acd62ce11f6e26e44053e0b8b82b05b7860a4b04677e864a349e60d77ce7fcd657b116a7403be236a182271c47ce168a9e3563ef201189e8575b06756a4b7af9b9bbc1238b468d9b8341026e0e3f5afe8f6b34bdef815f595b9a3afdb0f21e48f2fc0a363c6ee8fd43594d22ffefabe43b7fbd28d997b0d364a56a13b11d456f8f460e69e94ee725092bab8caf0d8efd8d576b7a81b0d1f4e5df5820f43f3e29da675965b154fce31abf32c49723b63e0c8104d4c7d2a943cddb62c682a4262731a759808756b295ce97e802f3971775ceb4718338d543e072b73457f596971a486cad91a50bd58fc10506481d7fcc29557803e29f814a2a1ed1cce7e9622e3b21047690fb69f9da8becf5d5b3a6422cc41980983dac03cd13f5ad40938bdde37fa035d810bd2187ba9c68bd56a48c105950f8bc6cdca1aa91dda5a797386df7f8fea8823dd55d233263e5eb25f62f4d8f9f96d09cdc32023db4bc7ca656c990b0bc3b81eac461abdb3a057193f4b7808342a5f5f3855d9769cdb5bbc221a2d32fbd7c65ad014787fce1196c88d8b9d570d496ac109931a8c9378a24af0e6d316d9b661e3f7470cf3019716138e3f751d0d7853e59398cc1db1a0324ea7777562926218bd8e0db97756fedc5531a9a1c4b08c528e82ff7596e0a2c9ee89e4d71eb6452421617499b2e42c3fda6a05c78eadc76d756f1fcf56e3c00bea6137ab50cc98dbf222704e32956d3d09f98b67be0d01d2d9fe113bd08b162188bfad989adf4c5a70d683c6e7864603e1038a586c7bc4dab374ea36b57746df5674c49cecdb2bd6f3a8d3089280e2a4567136628f3e15b5b7fbd87672d25a046aadad186f3c6f80ee33e2b69c7a7452711f47347e7ddb769dfc5f11dea9a10c673834abd31112954e5814b92fa090e4942f1cae0fd9a78ce05d748937a7b27692c24f3c7e79d40b61e364e8ec2b8a3c06ed1d2b863f25e8f0740b46322af76247b6bd31337d7632b9e2971d4ebf9a3326f86886d87dbcc7bf545c9c71d95d4cf62e516511f2213b7a77eacebeb1a69ce642321769a15bf8bd8c95223be738ebd462d0983b58ca687ee1e610a16321ae7550cd68cf4faee4f0a4f8f89e0087df9cab0b821e5b428579a2c1845560e8a5f201e49041937b6779efa3795f6312ac6b9ae686b6324899404194cd974c16b90768451fb65323d39c7efde5ca9a000baed1e9148298e7c0186b4424515a4798dece69a76c4d86b93f52aa0ef17cc7a32fb42615626ce06604c1b95138a28e125d9cefe8a65d0b82b4e52892029eec3f5e9eb9e8030278ddad126799b329d430c8fd338856ce0afc0e3e5033df174c921ee60f39f78a84547811f50304224fd53657ff1e6353da9edeb4b67ff299e14e7de5a6dde8ba33d0e51abeed435defdc8f759052c1b48cb91e4a8165661da506bfe0ac8479142529d50107d81e2d5b54a20f6fa00b49b67ecb0d5c5f53f69e6ecbcf95c1c06e2bf380d06c9653fa0e4cbff55e4f7556f90cdc1d8889271da556be1c18dee73aa7cf3b86feb78c626551d7b4441cae174f5fb841ff04f9cef12361af37c54fce44fed8db69a5b7563d3e4261a285d4f820eefacef46bdc0950a29c28424d151a1a7322788342d3ed6659338037ef690d4669744c3b37a07517f6b76866ec78a164dc150a109b1243a5e6dd3c2d9c1f8a65ee58c1b15e1bed59e74a03e7b1af4ac5faed311ce198739a48a43bbbbad1c19fd2fe381801672c64c6a01a1010e6e48bc696a4379da0e77a17ee594f88604a5c6acf45e4bb308a0311d843037c5e5e38dfc086f2bb312ae2a2b219e5fce883086fccb4d42b42fb5bf358e2acdebe80314308274660395af2536ff767a942ca4f2b2340dba15df344e211d8ce3d372dff8233c02ae9ab677c3e5238f1f278d8913d42e441c4a527982b51d2874f7051e304ddcf90ddcc4959431859c4a084f22f3b1d0f6aa1e3ccaa38c499df6bec1b26c8c31100da4dd82020fed1acf612a8d8159175452eabba10ec9b8c665d8d62ae51d5b143946f8e227df4ab17bebc39adddb99f614fcfc2b14c592299d462eabb2df6e127c4c7d81da91e5aae01bd39a9e1e2362b006866155bd89c381c6b9db6b5beec77bbe37c3d3f70e923221fce0b5052170852a62255fa32f884f4f05d11c8ecdac4d015c286d47e0b0ed5047d9a9c3f477ea61b58b9795a7c02a22abd138c6f2be3fe1b248929768726ed778d656bfc0d5211d9527ada660c57a8421adc58486617e7dd22178e86c6fbee83c05171dce950b5e4b5d5900bd85b2aa0446403db76b13ef896638433c22df4478cf0155f2967eca1eff19abaafff2ce146b44edf66f24246c4b13c3892fee46757aae077f9b932e0cc492e5373635075acbe01139c98d825899bbe7e96786fe66750cb8462639c8bddc8ca445f41ab29a214f5d0ff379dcb8e1b44cae1f6e9540b389211a52cc2cbfbda37bfeb88020f605de4561a9f3e582c8dc72fef971d2b72560ab37c0e182c213c7e3f861e77609ec02b35664b710e1169dce107bcfc9dbe09042a62c481cef1a193d59f20f81fb7efa110a9eae1d13b6464082784a770ee8ea7f20b6bbbf20c122a6a2bc1c6a37be959fc88ef0fe8c4daacd6459b2ff7947b5af6caee3372e528b0c85b9f8f92447fb477a14740d8008d54a1237064ad32b4f83097f49aba14a2cf6f8377cd359dbbbcbbfcbe7ed225fd2a5569a80e4670dc48f17d56624971550e5e8e8d7109156107a5c77b50ab485ca3a266f895e8ad74a8bc111612140e5a2d0496f9dfe4d38bc1935c218da243cfb00e7306b2144a6aa35c1c0b61e8f2fed2b948461672b9de6ca78efea46b4a6a1b26caf8a74c4a49949e7b6554a3c27fdc5482fb78f54a9b222a56de4af6c4c70f90eccafc05c92bbf84b19fd86a0aa251d2363671ee043b20dc3ac19784291d73b274fc51c3ad2cd0da2ef63453dab5c6f4ebb8dc5b17a40c68408ca2079238e39fbd7e7166942d4eec6e5a234cfbc991191df8ed65cb298bf4189e373e5e1950d9040b63557100991076e887b94b7acdc0d1a545db391e0d352bbf335122e4bab47be39a496423e01e4bb2372d4c00c79cb6d7da2bdf6439e8d83d265b5a27f2b0a6021bfa35f660faa30277e156468e7ae38685b12bd6cead572a403c995f6b6daf16d674e149556fc6a743ddba79f3b878b9ac6dcda9b040b7ddf5fb71ca7e0e56898cd65451b054a575c7b872952729213cbc8bd3f603716cbe5abcf1d173b4e2f60c3dda30d2955acf3549c9709c0b4739e5b29bea58c52a8e18c3ac664a90c712f996e3bbb7ec71a38412b1d0529c0ba85e53acb52fc11b190d031ae72f16a25e6d1f1a6ce86a2a000958ad10b415ada246c55af1f6b0d8e01b8be160145878ca8501f64ef481e3720a3402c8eef148adeda87e4498c529f6972bb9a0a28833125414dafa0ad1f4e61b43910e67e9d8508e28560257dd922756d9dbf37799cde725000edc3d5700a60da73a763af12c772103ac7be6750283b26b4a94d63af35c72f6b8094b77d073232a0ba55b9477c789785b7c6b8a9f8136399edfc80fb605c51e76bc172c31738c0365dc9a9363174e005b2e31c71b76279a57589d29fba55bf7cd069514e440f1f0aefe6ffa31de03c4577ef125214d506ca3557433c1c349263bd1ea0d3e4a4a6a5d4e41a4bba5635c8b2a7401c90b2ff5db3e4169efb8ba10bb4bb34a048383af032744cd0d9db59923bbe3e18dae0683ec752897a48a7402d7ceb0c347dca5444e69f6262ea0afbb8a64a85faf2d1cd5be6e5090f437f247307b708c00bfeba1f9c8e31f1dd92769613c9b77460a5b2e4645fe2fd437e2693d905c8be8215c2d1b1c669d3a4351d848e2f7ebaaac364e1e352d2662d36c5ba9a75d3c14287bd77b4698ca5def840872c0c3a903e5d3db1ae326de60dea17129d200220a4746a4f7ccd4f7e536cf0428f3c2d34e4cc50175ce338e26bec9b11b4fb6ce75be01f3f7680ce1c17efc3246298958871118cdcd8577f38f22e87a3637dc5adafa5cf16e76f6b32a0ca30c111f58f600c551bcfeb9377b3345a4dca246ddcc1614883fa76d31496778dd69d4c087c8fd1c8ef65e5501fd2034f9fc1537bc10397296304ed03fdfee8eb09babde968956e0d5052f36613168166a55dc2bfedf7261f5aa32e04868ea8916758f407066fbcdcbebf072fb02447df06c80899f166c7e76897763ee01ef5340c403dcc4b76bcc29cb01c565350538b1a83b78786522d9391d531fe51c49f573a03a787f1df7f42412b02613b0baf87e190c23ab9a325bb06169cae16a8bc1b0462ed232c164e1822a83dbddd14d0504eadcda579114513e388500771d8700ea2c6b6234d54eeecfde94bd0c4922f1957b43e24b4da85be52a09b39567ff841aa3cfd3cacf51e46c89cf536a9f2e8e7d99d4e19453ed6890876ac3f3c4c8cbc19ee08336e9d31fb5f6694958dec09d2621ba89f435d1bd960be34e729238bffd8def7555140dec6889d67141bc7739e91b2715d35759b165e53e34d504cc209072cb76a0143b3bad135d59efeecf8e349623971160387b5e876c64d247027d354bbbf0b2054fde808a4f4d5c103ab0a010e9bd5185d51c311c2e4322b34aa5a06460738885950b5b569c6b99a1218acbed8eb893f217b5501c9679f02701349bc2dac58109f77b58c75fdebbe301af579a7844581ea76509c4277bbab4d011ea9fe4a57e1dca22d1fd92acd01d8e301281995d76b3aebf2145915df8c2822e00b21443944d27c41b243c694be0b88f703b9569bac26c5c20ace4217610ae1d9397d3accd5743659fbebd2d40c43e8485e31dc9e4d17a883091aa291457bbebca8770dbd4516b39faf9525418ba6c9fde383f9adadf46fc2dfcf3f13a809053e886a49fbc020380b7698692c0f87f5a7a024030eaf5a0dedca8e9ae8af43c55f3e6ffb891dd5f8d8a57fdca2706c5d04104a6830f3b3ad9ea2a8d70b1f276aab85659cc3e885fdaf67bcb96609014f259e0a7e47d806e85d9bc92215c57e2bb7379c8ad07515c910fa684bbb23bd3c4f852e40868bc4f29f97c5369512b9b282208996e1b185612f0d50588cca3a441775c6670af35ec340281f0195e51b284d818e27633e5488ac81e6275ab84dc7d4bbd864f6c5e68fa74377bf34d08f91c44230f1d9da04589d382341520cf2d9257cb267183c02363dd9fbce396f654671c8704286d395736ec9358021f0ef2ec9c81a23527b406890193ff3bac6184f6eff5620bccac0499ce883f5660d529de6323dd9a5741047da9a456ed3fd990080a035c786582645147a6ad3b0dc36f26dba0f3dc347751d889e2f02b00f91fd867ec6cd2e0eeca7a916cb8f8012836fbb3213d059533522e9cfdc3940df7cb58e658cf38d0bb52d6a8764c37c7219a055ba73bb44fff8647af375b428698adbcd725c90e4e75a37164680dcda19011f4ad24d0e039d5aec7bc06bb498bf234b5ec222b255831f63896d165eca4ff71a31395c36c816f45deabf124c2c3ea770300d8daca474fb932a357a213f11507df4ba67a52b226adc48858fbe6e81f3116572a5ec6e6cb4e3d7f9e5fd03b1ff8d82d1b1fe43120a3aec573459f90f78c3bc6bffc05afbe781ebe1fbfec06d76964bd5c3d66b99df5b97a4de6ba18f1d67750c6c60be63183e02abb822f3cb89a75b2b23a7216025b2a83d532a76331d5c195be06bdbf6382f5803ad5bd8839e2c8e99ffb3b314ec0bc9a2ac94a1911210d411b5e1eb677f163834961f8741914f522d8dfdf1f178a076325abd1acdb40419a58ba384568c9db64496b3c7bfd869413bf90111a6fd5197c46f420a1c50e975f17d53c601d8bc389eafa5ed496f6730374dcaa00f23f1397c4b9998dc261095653827dfa017efdf7e12cc6e5a835d700acf43947676927539033e994427e72a414a291070801942dd02f309a477c83f2d5035b5f3fef2e7beeb1b7a80a0336352187d8d96f3433b78dea80827b952b73ce3d36ba041316f4d62f24efc1f450129a3fd5fb4daba46fe843d839cb23f3573d2e8e505ddb3fb9b27513fb84fb72a8115440735763ce2ca728a61bb0ed798371031ffa7b1d6bd2f1d282955ae2d7a117b470bb646357a7d18153cbce5ba460b3865b71bf1665ca1f4611a60cb1383988deb57d3b106ded4a15a977d82e2788ac22aafff80d791982fb16892398d4c3f0bae1276705be6aa3f6077836847e1f33387e1125d86c0aa39c9c49729baefe94224b6f3747ff2d453f830d91d32de9bee044184e7f8e934d7abd7fe8fcd82c956fe33fa797cbc4815717ef5fd13c05fe2e49803acaf5620125dc07e5d00c85526acdac31d83d02afa895b166fb7f8d13f55bf3aaf87665a174fcc90c6e38e5c4bb5b1526ab92204b356726c66cb164997e5a029dabc87f2424ac323f483fa112ff5c03363f50f3477f031dd646b4148ce9b188217fb7ccd904e03ab70ee733f8452e5a2090dae8bf4a4eaac68fa7bcef238d07362f6a4c642eb7ac6dca3396d567e40c4c9489cfb74df51f808998bc53c38aa15096ef1058fa7708c4839b0a38fb21364f56d61674c33f336bc561f31de7b99ac365bd992f0f6400985eedcbd10b7221ca9f4af2da0eccf74920e751f9182921e2f4d08fd73e5b3edae87f1b4fee5bf661d0cb63e42021816bf23cd9632345949a5ed9f8842640d4801a6a8cc1bd4531cd3d047245d23bed24a8f107f749ab1e74984734bd29c7a7ad47cb3c15a6bd4ab4f8a43b791bb1b1ffdc789d986b4f732faadeec8b9e50c238dfb8696d3ab3e3d20c8a533a0c424474e00a72bfff5194aaf98c34dcf08fab8653fa72ecc82ad910478f1ec981200189426d5ed4cf0695fe01c09e125b32465b5997eb05cfc5eb27c1660d14e6fc08b5d6b40b93a98cc35b5759bcc5eaa141b99f62063a9e4cfdd7b6a2eea1dfac89619d719bdbd306be576f8f4358d885d7dfe965e11f6c9e5a0a4b406599f48f322994d42baf339f86e4261ab252163e9e0ad3f21656269669dea89c1a156633bc3983147d2f284ec0853b19f6735cc1960926c44740183635fba8c32ed51e1a456a8130d5b617f193899512a687f75c720f871173a6ccd0faa3e8fe53217df3b503f5d66d915ef047d412d3e1396ad58cfd8f76aeedd1bf3204428a471c156b6dfcc8c7ecdc5e4a0bc254622b149ea46ec205408aaaf5c7a81bd853c92d7603b7bc0751d8d1d315031bf66de4c1393bbd0a7b46129bcf67b7c225d97d14f622283f75fcd1bb3900f27c79bafa9d6e3d66f659744a080827f9d4cd666be03289a86b19ea49f7ccaaad9e550afdd67f5207aa6e59f2a8fc32cca13916803d1c836e55669e6c4baba7dcaed04e04baf0013fa348f9f4a823f3488a970b52814f49cffa97c77cf6d6725af6db703e83d6b9ce0a58344fa8a33efd90473f201d3b0732ee05bbbf8feeee8d7ea40c72836d3909f49b840479cadb73b675cc6a09caa72bb715e947829b1c086d62f579d800d7e1d23368cfc29f34231f9f757d4b5cc55f15c1e95426246cf4e48e713e753e8a7c6461c10b62036b7e524e60ec93e3e3a2f2313f218350c63b5512ee6c7d6526ee8f9cf3d63fc548ba8992cf40c67d017d52c3d73e1fd6e949d2cf22274724eb5da5cec6e1a36cb5807f37469f0a2f6213c5359ff55d91eaeb2c7bbbd5cfbd7b7a8f5c791683c2841e1ab8ac34ad2de776e068738d541108b08327e1b113b8bb900e3a705e2bf15c098425536d2b7cd64f300c8e53e0796474e6aa471ff180e5e7a07318cdeacf674095a0d1c09857faa0714a4bcef791a9955f6b916fc8d9eef605c0e18e3b16cbc0305bc91b466f3282b109b3512b31aa09766b670cd441e153ee2546ec2e3cd159c30fe1206fb3d901b88feeed3f23cfd838d86e6886a45c8da2fa2ce7a0f27574adc397d8252be58d3e42e874b7acda7e3c3f375259e55106f8e1cac746355fcb613295e7d63e643631048d7ed7ba11d4b4393d4ae46f26e442ef36edc2bde6dc1e33ee202eead81f29ceb7a73d883a68c7df55fb5fa20f31726fb14b8fa82a61075f27ec0d7eb4a25055a74321a3ad8bd0deacf112d438d0b4514d561bd290c37260ede515ff2076efed7d474aa2921c355a9eaceda3bf08cd18ae058d69690f1ba29d7c728e16df665c34524c3eb0437f32910c11894805d8645e8671a0478adacac8f15991a7f9108aafc1d8fd6f8830c4fb709b7ecf08037aa4ec65ec2112fd279bf2c03b10d37b9d3200fff6aed823f05b6150009ab2a55b65cc789061c4be5a8453ec9eb26796af555a1735c61c01afa672166ed28a6019c91ee5556fd2108e02e63ee89fcfc5edc0b26078fc71a4351b32567140d72836835ffee0b1ce7ab16c4587c1df99a8c6281671badaf2cd67d0847996fd4a93ac56feb83dd82002730c59bd4bf1484e77b265a6870ce9e67024da5de6d996f9abe19fb6f54ad1ec5aabe43f7a36d7f32a567daefb969a7234a0e9787f79188094a6794a3d78682b51ee57291213efc7ea295e6143d45e8444603d36a0ea98c5d959cbe3d8cf80d161ef341bc6a11265989696b8bcd96d140cfa87ebe007222f3bd2c2b1011f014abec17dd7714af677f151bfbcf742103e73a7d5278af5d2866717776ec27b318ca76547f4f5454672897eb6a620c46d13a5679d7c9a69549a14a465ebae9c84c5587c4548b897e3db9b224a11c1928189302c55c7df28943a2ea8627d35fd0153132f10b7c314e77451faea5bbf60db3c57c834a7b5f696a1ae46ff252451896ad7927b5595d52559fdb6b4e89b797262e1fbf5a8e1952a47d7f1aaf2c83a8528c0edeeca9f1431139b1863b915815aece4026c85058caaa3394e4c86f98c13f29d1bf514d73806f77e2101806489c281f838e418e17f86ca8ed99711afdfd75e25b5d9b9d748a8190881553b9d819482ae0115deb865c2f76dbdb260692b663adea3dea997f07f5213c2025838828d36d4f6bafaa6d27827213e8516616595643677fbbc68d853a6c5ec520e05a7efc68141e54a0c07b82947a9f20fbff7db66247662570625a2312065a82e7651da9993688eb3cadfeab775f5934ffc666c8ea3a8865f1dfb5e4897efed55c4bd96d8e1434bf1140554dd8aa919baf10b182511859974297123d84937843c96340ffd2f620f6823d55c8524d4238823cb6d952c7cd9445e89719ba4d4a29fa15ab28893b2f5923e67a93817b9d41b9aab6bae8c1f7c7e7df4d8ae73d506079791f56063b788f73cfbaf33208090bd9e63ee6fab8000c6ad2056769edf58d8f75a4b3dced7e9d80a7105c77e24a120c91683bae341471754f10e2dca1a279bd20289b0ff4863626a66e36f0a398382939e2648af8e41bdfead022561e37a6486aab0ed327e41d5bf5779976ad9081f012eba090a5d4c7637e31ca347156aa2da211c6fee450b1218384ed52751b7ec3af704b978afd60635c84122ad209f0d270d08abd8a177eddab4eae91dbd4256ab50e122514c4a6ef04f6d236b9269a49e4e475764ea22e71cdb246d7a03ef7c1ab4975a317515ffd20720fcc0fc4bef4dfadbd7f2c08deb1da807eb1d4118e71f9ccbada26319ba16517ebd77b7100199142a5adfcabc100bcdb4450708bade23f5ed0f07b84ff31b6e41ebde249391a2955d151acf41d24957321d3c89c22060390935ebc7721cc7519c675b6d13bcc9f4356370d73933005fab222306b2742d7afa06941febcf596e650e3324987d720aa7c34fc732a13e927a5bf38e3d1a19be59bbf7c4b57bcac43f4c2d29042d9a59d7506ef59725362b1f5529f416f973df6bac2c202727ef1295a518acad2a213f20400c610e8b91990ca1a86fd9ed8b2e69b71453e26d7d16cc6238937d19e918a206a517a7a1d7bf13071761f85d0aa837884fc9918864fb3ffb9aa122e22b49af61afd4f797f02ac22091be42e669bcf3805775f3451ed6a6056328947e8a4c72ff5cf017e934a632be0e397ea4cdd94f5a63d35a19972303b434f30d230518e187eeea35dad663251c94f02b16beaea73c5ae6b4b184d81a9239799d33edc7f6da46c08f844151fbf6225d24787bc80442c588ec70138af45da58f899eb3051f74d2947d4985aa5bd5b9ac27e721deaa41498b203e0e26b4485d83246cfb073e63952c0dc8ad9d7966287a44f98183b6f262cfb0ba48e0c71909dfe776d0a83372abe04efb927110af7a552f172b73ab8523bba2053beaa9363ae572e7ebbf47921813a21a40143e965a2922d75fec8b75052118d4780beaa9d3c3119fd870cd0cf1726dfa83e447913180dcf3764f93781b503db4f6b85aaf6e4b7d107e2c83598eabf4bab82c86ebe734de43f1dde30884eaa152d2f8ea3001c0163b5b153d392dc47d80953a94df4cc2d6eb96373a12ee5ac70ccb695820013381f4b398c7335fb094c37235b088c1f50465be4ba1cb4f99c267456597bffc7b24073227f9dcfee73a0900a8a8d8b8c583257538fe141a5ebf08002679936070337d27f6c44b13432796923feb4dbffe6009daf4df13db4c6118df5ed865abfbc7c9d9e49e8abb6fe5ffecdaa9576ac18bde81e2d31bf83438536049a6549db7f7bbc9e7ec5f05f7148dfc113d75d36c6fc0ae50ffb38edd6ac9b6bf611984690312d7c8253fddb0526ae4c922f46472211a8df084371bd8b853a624e5781af907b9045495fdce2da4a3c736eabb6eea97c771d2c4669fd62efbd5304f65ba3bf0d908693c4e216e9db76c784426e9c53db6e065828e176e6acfcee2f68fbf2598d49ab23ed3a917a8f705ffd64663f5ce84405f06936189f0e77a4d02aca499546e071136d5dda26eb40fa349ea4ff60f14a7cf4d827369d7f5a10007b58eea55760f46e71e2b3485d759d42db08f1922e54da0b4982904e3b1c94115b14572c2fc9488e55e7732b62b1b706f584ae089871c9dbf7470150d4a8db894afe937bd247dd13dbe18f0c21bcb18088639f1389328646b46a4f27656d4686ae834badcee5f42a9222d32e343433195d65c78f750f680de4fdfba8d3ccc9ff92a40123201eca1c9a216fb81a96475b53fb09568bf1abc2d6b4b391ead3bf4f3d0121f31bf955e41afdbeadfe702036ebbba788c5c71aa77cd6249b6a7257b13850eeac9d5a3632d6137a56aa4c5e20a1566155ac5711c263cdf15fa8a31aec83bbabf3b2e470cf457c287199e2345664e524946ae011e1363921dfe501f4125260d82044dc9f399c2f191c825ff3df7bef9db180a682e5a05fd7398eaac74925e9dd5f90158d2838d5a37f30f112c5d9b6a7c7d21aad64b171cde1050ba3b16c690a41df161cc340fbe8ec194ea8a5fde64a711274e87d7e5a6212b70f7f90906c6367d56e59fbe8b2a27a2100f4ea6e04cf88a2cffb545a8acfd0cb05a39f92edc9505e54e22a33020c4cf6b355f93d502cb37b6459b7099ff6e9f627592b938d90c5c6f8e29f859dc2e05c3faed394cd005b70d1f99229c49e7891eeb0482c7ab66f208bc767eb8b717e2a7323a615a1c4817b3f94ce11a8aa798b8fa8c96dfa73d915bb2410d462ba8f9e3cd864af7d6892a213555c5a73b6cb0023d3b7d59d859bf9528e708e9dddbf6c58ae8a848a7d7fcc896a4052a0147a81d5aa54894a9d4d6851c7253a2c64d800d1941889c88f4eb7b06712c00ae3d76416abdea39da64a713b8d49ae024fb953fce42f2cc69103ae325dbc8e79b395a6d787873be416cb72bd976a6389b70337cdc75c209cf0d62c10b69907d65de919889d844b07c6a2d298f68ee97b5510ca2f94772915ec11ab5a643bc4677b1e00183c461016f942deb8b3c6e3f087eec96c192af17b644c7769170cba3ac0867586cd47d2b2a0f86df0130fc50720af6f88707304bbc7804270ea977bc476d6a0f2f7c9fca4876a7ce03150dff0e0aa117de6a8e509668cb3cfda08a38d802b862af7ab9595afa37a67470fcfb0dd3b16e4c9cc526963d21a7fcb5f794069da26e1cb0463bf05846a8d2c392ca6778c8e9b462ffca1a2708714f8977da0ade74ebbeb01a738d214aed3a8497ff23704a63dc05d4e562a632ff3df8d9059a1ebb1e5be926ee0fc6b874c66bbdc347ddcf10280bed2a7cee28031643f0fe26e0aa0d6fec187d76027d70b9cf61fcaab62c532d656aaaec091f3b716ec332fe01cebf2721d8f64512ab3ffe1323f4185e1b9ab8a2f4cfcf96d0387d121561149ba9447541120783064945549bb9967c095fc0aff758284ce74de68021f22d4df5a97c98ceb85492fb924aa9137d5b8e490ecf5932c581506a458ddd479b17fc0de8cda6c4be46bb4cca9075eaf8c070002120b249d535ca6c81371c02a4dc3cd637c6995a622370a688b5f49914c7d2e92da16824ce0d06dc413e8b373703c180d72a406a2207ece53a8cbc152857bb6272fad4d1e35e560f03fcf957ffc060ccd93e94089575520bed9ecb170f6b1eb0cc82055b70a8e012495f644e3c0454fcd8262225ee1252e8f3f9756eb5de4c6a220f6d244855583a798f28ece02f14c08a2501fab4604f1f7ecfb8ae111f3c9d1e0762aaa2afb4be9f40ba511ca6d3b1db9a14f348f2c4e5882515096e940fb529c269e66b4e0771b6a08ffc1314f1421df562e83f88f569904efa92218a3ba352e213b8df67a374c013322c696fd4a8a029dd8d0604766acc64fbb75e79d80672029f869e07984194c2e0144a07dbfbf0e2f1224dd68d0b22c68cee0491c5e993d946c85dd0670dffcb04ad33e678cb19b80a3b3d6c8f3a6f267d428f486333fd84e61345f03cc80cb1f69dd8cac4ba3469c4ce03e9eebba116bd80700428f4beebd015b3b93dad366494982a48a84d926974a624367c6f07036322fe965709298de069a589ac94fb917e0032c8b88d626d02584b8afd93fe538f44d0d154148a1e9741993835b04ceb8cda5e2b3a9c548499464d76b2892501d398f3a2b2c219e81c5e9adf99504739e5856eb5dac4eed43895767254c132f47adf66b558b08a9e08a19cfcba97e8d8f16567eb28b39704cd5c7d7545b6591fdf9bd04e18480953846d423bb5a5c11253a37ce3f4e5cf70246a88a524484fa87344fe4cea47e57cc67954369577f5d6513639858c67b1d004c1ab32ba930ffe74f17cc5ff9ceee0146c4f7f51e67742c0b6dde2eb76c6d8dccecc26daeb3d57b076955841dc4671d4a9d97bb1cbf25a77e423640d579398bd580f06e8e7c2308231531c30cd334818af3bf692fd17b852d01c0f05ca999805b038c340b48d5aa236b40b7f85b1ae6534689d416a651636e6669dc3766caad8ec6c1d2eb59dfc0dc3365e7179b68f2725864cbfbe8b8b3d4b292ae8802b4730b0bb89c510ce11cff99f7e1c490b839d6a99fdc4da85e27e83e2abc9d003c4461fe8ad4953d7e1ddd0f95109dc53029f3f78605c38ed53155c583eef2eb632c0c732a04429c120839356cf3af7783217b74caac0618a53751013b04f02591618278d81f9ba39e01639a8d43b9932152fa6383a3091d7e2318c82c46214fcc6a813eb773b72e6712d50cf3f14a67ea0b6d784af67a7dd585d9becb04d5f0f23bc04c8dc1d3275cbf1ac7385a054762a3cf4a326f89c975315974f4465f770031453cbe412d19f24cb308eb7d3aa34a83b5d2e6dd5a0ff0a8f27f36bfe2a8edaa9776ab3bc3a1ae7c98177a8dd1f3c4ceb8aade8f8eefa42b18011265696a22beef499112686a3c17f43b7e3798320d20004b1cd3f1dce620ff008a1f950fa8a8aaa9145f12296b1178052bbdc888836411f3cbf6d9a898ddc2219051e2038a1ca39447f5b396a8988413e156a234a01c041a6402699577633a39d07025fd4e566a9218575fc0eb9be781dc19ceb068f1a023408459c13da17386fe003796354bd6d7d5a2ee3996f08369db935de9961d0a6be9630c3699a6a8d95c2f8baaf32421e9ec48bd044ae683530802f63bbc61f801bf8b571ec714d957bbbdfaafc4bfbbc7df61a5790867cd1a60f4fc1e8f9784932b7c5cc9e36774c66843f8ef99c0529152879cf69eaa1d6959ec0c1800e28813ef807fc9b53c0a819dc45d886de428bbdb81a58f26a2bbf528adf495202e9273d542f866c11f33dbb64f057eeba2ade4a235a812c8f007dd25c6471ce42382e84e41214d4c2638f59ae91766376c39526b2a8f39af1192be1c835878000442336befcfc6a39b2845a9a00ecde88ff11426a29e89f94a2ef4986603a0743c16c69d1ea92a196271165eede650ce2201f8c4e3adafa8e7fbd46fc784f1cd99aeaaf213f8e73082f20d39f803a065d81b65cc9caff8ed7d73914544a361f1e90faaf42dc35e9c6ab6fd3afba1c22b0755eed8b6ece0f7ec5dda1fc9251532d59180022cd02f179cd15b0f1739d215f9cccc0209d3e38f0794c91e08d9bb11ba335f5e8dfa0bde1a3fb2e89b0514515d11fa879976d9865bae118ea775892f4d28aa19fc213a311bd127ae6ec29c24609182a8d53d23bd53d875cb78e13ab1259d8efb23f1b692d9cbbdb2b4a5cd64ef75d8022e5133fdba5e0e31e9894f3a45f6edc3523b6b3e4da7acb536a0948c7f6ded097589ba3d29b1f9512f8b0e81d9ddfe72fc46ca37b31f1a741912eea6bb2dbcf8085eb20a6a1fe5198779aca3da54bf5cc3cec1445d1cd288e9525ab87d61cfc7c4878ec8729767dc45a6ee44cff689fa05093db4b67c465c2bdc49b69032f6f9828f6877ad4048c2963c9c309a01ee4debaab75d78cd0af21b15ae8cde6c11e662588dbb430926203be14450aeaecb33a99be86c8fb6fbab99f7429774451d066dbd911bf392efb33562b1141969a18f57a9e2fc56df4b9cb481e8b83ab55df3d6dc9b6a2b961f78e8fd3892f3d291a73c2e7fbdb43aac5218c3cb5ad40ba1a656a1fe8e40369131ecc4262e9016e466ae3a620099396cc2756d5e688034ea1321eeff59f4a2511f3270d96a98b815feb5115758cc9d75fafd200b4b0de6b8a5e06bacab72584e6adc79d85ea76b998b0e9f4f25d30af8cad29bb2ec948a7c538947c5a66f5848b2a21f465297307f098e44952257ce1e937e55c2e24137cf857a471eccf580892b7b354c762c93e2a34df168320c30511d680924c4387ea99c07c171a10affdc3b5ef491d91cc9c36d0cb94a9ffd9507da22f46c1ec4229eb7ba5ef456c7609daed00442ff50de8e648b7408f347b525b3a009010e60581c917d508a77eb2f8c98f793f9796530be68106ba7491fd44e4b2129528573f19fcd8e7c3174590a0a2760696987619d7c75cc24d84b800888f90a4d946ddf79d300ed89b554a298f024120658a7b7777a6a4c92ee271311a0809a675137b0fc6355a51810646276af410f406f1db38ba9657ac4b9b707f3a74bbab3486de9cad9cbf4fdcca19009bf7ff9ff83586f6123916f004b97bfe007ed5df7174f071ad9f7f31e0bcbcda865c86079841f991b9dba4f56263a36f0a2bd6dcf54a2cb6372ae6b8c42a11e270020ff70a684164d0661d5b247688952f435d29a7f69a219e85a9ab99db1a4a1665631d6f66d218679b42ef0febd6086479e16ff06840a7f09d091e71da83caa1df83be721411aca8575ac74934b29c7eac8540f7c67c156bfea8114131131d908317b74a43466545a0a81c1120db2b21b929bb2d996ab2d475675e7e0f843e22b8234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d23e047d01c0afa8f190742b6f071c6e2012e9cfd0ca1ed13a26f7dfc4f26d2f9cb0da5b1faa3f5f8c19956c26c42c826952db7b2a874dc876fb0a5b4fde117ad298aacd136dcbec13c7058f0e7fc6a495108f3e9db4c9505cd02beb95b7ac99e10028b3d6f86f28be25181a272067e3cedf0928348e3fed00c7229f80bd803aa00477e800485a04fe133178453d56fa778e36b2556d3b89e9a6cad1e7842157fa5e8361d0445f71d405e759649850accf3a057be210014907da109d1c26dcebb38b2dbacfacbbe359c02832550d1d9da0d683aa5e86caf9fff0c5b9e8e6ce3bdc536539260d1727a5130417275ce1a92fb732a77e1d3ae695b944f4dbd4bf0ab4c25383b29decdd26c56426fddb8b98a5dc068c602c339b4f7561e2bdca654904106e4fe9723b2d76c8e6d86efa422ff6cbcb85bb44f216841651862a22a16c2116269e1a50ca3bc5cc05f009b03c9e3170197c4ad2d65bad1ab25b9ccd049fff4996ed0fe2ebef225f12c67e66e78bc80f61726c76fc33cc0aee3a4c7f252b7afa6f68bf11026864bcfed6f4b45b6f79b378f525a00e9e7ec91510061aff864ff647f80918d719be4c3c42e15d8968d56d4177b449dd9f05000ed5cdfa73a1a1d9cbe4ea0f9188d7816e59acbfb4b382183510c20765913970cc03f0a258466409a1e3a13097682ec788a0d708394a9fcdada6ac5fb264ff5c2eb0ec4d13be5ad677ef36640243dd9fcd6ea536a60cc584e31d319ae2b9d2ecbd5f5da66669f0f048c6e95ac8ac198b137dd938e55e1dd7e05072d2586c2623b633df4dfdc6892e8d1c5be2a6880afaf3fae99101a28ffba2d7d495da39bde0f1d457225ed163cea16916a2e67a253ca48216fa1e6e260324d3377946463e29a6f1aad7e16c4fbfb0693986f0c10454c7b44c3db72626796a0808befa5d07a77d38f2bdedc419bbc94bc89ae521e00be3fea4c2bc1e33fc7b4bf9b8cfd87df2c46236efe84c43813ee4bf04de8c65e95e9100329a7620abb09423029c544808e384a126691c8452f2fd7e94f2acdb0e8c7d9d90bf882db4ff2b1a4a377256c93508317c2d8216b8f63dccdbbe6270976a953d3c0b62ac6725e760c7cf8f68fec8fd73f60583d2670e993fa25298639d89f63921d0ae7e8bcb1094a4e2ffb7460187f648cc839b7c101c4960f679e43984c67394313693fa2834820ce9c2ac261b9e4e3f2d8fb5ba2e19225e6d36d54375ee566999840787147360b6e99c77b98cc09b5db2670333420e1f072ce18c79dbc1adecaae3a9937c53bf328e1c8ac6ff1cd427a0aa668be7f56214439269a08215058fa7d718c5b6a5a4ba3ad3b97589f7e8c397e3327675b64a895abb21fa805ded56655cdb39856f6459db453d3ba818736b852ec090278e1e6ad9814f69bab000367e33e6aa0997f353e9ace4069f08ee5f125f72fe8842930cb42c8ee450dea8f983675c7ae4c03c3f9bda7708cbb3e0b40e7639ca18afe9cb77896c5a7ab7905cef16e224c12ab2238606ec9ad07f90c6a9ceac0734214b8b17b2baef16d62abb66fbbce337d7b7eed07d10674eec30369bda3d0d70bd51a85384dc84b1b9d1007ae2cdda8bcb3b03d4338479f016e639e3524b5ee4cfdce529665fc9b6eabc7f7b63227d9dc61a681bc916558a8a9ca088d4ff23cf8092022529b8c70277be17e64db50e77f0e8e563b7c678e2655245b3eb5c09469de8ffbdf014802ead7aa8e5edf4a84d568b390dcf6b5bba20d086338928889d6c28748004988290fe531987f19df0d807bdd41616198c73614e7158ab000ad594975bb01e7a0d2636c16e77d44f1ef98ef36f839ac000b3e212da2a5b89f0d91d5e74db5642805abc31696a4faab24e12f2de171cf94ddba3d5712f7d92ea728e278e60b2872ba99647b2466e7240e76a75081e608a206971aed280d27d4741686b9bf04b2d02f8141692d75e6d31a940153f3b956eb66752285d24b8190aa4e83a1627cb5d4aac7ae022d2c4ffa1759cf0eff67ff5d60df492eeeefa1ec6378286021ed7ae90c1a649ab8a5b08f0bb49fec014a98caabd5a6f2b5af8e1ae29908d23d66d3c7450ecbeeeefd6f44a2dff4820c1d328e7e1848dd56405f6ff0a68c00f387e3728bf39b2474548e107dde4fad781cb0df1ee6f17f4484490086c5010a63a2aed750d2110a949021ea8a0ef7bc36a29f07591823eaecf80202558533a96c988f1a2cfcc02706e8f48295e039576679e083def245362b75a937613c55c31b59ef8a2667e2b67fb93d691cd0838cf2a646dea6f50fc9f37e89fb674e46cca0962b550437e590a4a2ef1b8980c80f28de0f4cd5f0863f73784299ec6f7da0cfd34f318f0d64bfccf60d9cd3836943dd3fd5da5a2aeaafac2888a855cf01f112f8f650548cf7850659033a6bcee34a38fdfd74fca77b3273a29df97ec289a5512e00b0b89dde036d6a2b7aabb267f68a5e920612b9475011eb8a590561bfe1421840f13bfa0462558bc01372705d338786c006c68847050ca7883efddf9ab9e2cff55f23a4be90e903bdac1d275dfe8df8c11e9777fbdc966c4055df17c460cf1241e4a1d8c8555322d9f5c01234471932d522cd67af3431555440b0c12c17f2ca8b4054cd93bf6cfa3e7dbacf0153d3399184fc30902d2da0d4c4b2077f674c2482e75e19ef9778d780f8d71b94ea58317988667fb84be360a6ae45018db41888dc4f3ade3edeb30565bdfef9e54751f5f2ce040a8ca92f7b8f2d03ea40b44bc0db074e910ed57705e92dfaccfc2a7cd3d62a098bbb2762e79c006af4250299fc92ebbf4b5105c4fb53f9284750dc45106b28e5d9a81bd30c64b9e037a9ee976d08424143f169957d09ea4f1fe7384e31e38260ad5e2632c6d543d0cf3cf13a5607348b20fad7762b3642e3ab6fbf1b403532bc601f82703f08ec271229f326bc72e07b50104601c233e73454798e9b4575689525a2dde846ab37cf4a4e7dee23dfe74b5b77da419e706f3c53b3b7a7cde31e8544e7c105f91d6adf196af7b0af7c4175e8c749f2acfcda2ffb59b926bb6b665182b0d6d6720afd28e0766ac1202b3be14f983545dbc9230aad0bb70625520a474a8c54615ff3f5c298423cf337ec430e1a26272bada9fa2f1bd4681847e407ebcad1550977e9f3cad65748956ba0935cb73a86172806afbda84ac4b9eb2b59e23f4d9629ab314dd110b005ace5528671c97dcbfbb5cc667524fab71c3010d368aff4f6380c9d04b0f0e8ab3356d206e8748dc1f48649ee4747aa21c00613b317869c05ff14a570effd9d331f4dec93af4f0141ab2dba9883175f74c1222ec46f5280468af5b1fef0fbaa50dccf3e9a717724e399c8c0edb41bc06c0314139c0fe469a84f3a3e74c314875121a36ef377617616df57e0cc4cb6d08fd428b9d509a1a0f2976ff6a598fac6d8e12108d3aac7a028fa35e2d546e67e0df381ef0893910f749587f1d9bb0b8093712e0ac123ec65607b82a83caa8ca2a11322caa77c49fb8ef005188ee8f6848e505709ee5a89f22ceb8c99dc8fe41a6480ae9e7ad6570f398d218c3309d8eb283b7127f4c82cc8d92df267ac8fd356a2aa574b8eeca40c867509c8649ba4d076a1ebac17503819c230859e0a0e624793256a86b0488f94648167007fa1f6da99eba1a0fcf224246e8d03a2b3bea3a8fa1574724ffa7831d18e32139f823a9dfe4acd77fb3201b95f5ff7763d2d3e7136344ded18e32a365b849ad43e1b74ae3a62955f000de80484ce0f45ed54d20f37202ee108909b28cc84ccd6a789dc8435d98e7dfabe4c11ba30d266ede5f0e0e388ed13a984690c333568ae87d0d333756394c19179e6b000b2fd4aefc0821e7378390314f0f6ae381e89b4e9603ee951deca34dedcda97c2eebd6f3facb169998360468d0b555de2562d9bb61626e825cfa6b8171509bdeedd72ed802dd0ff33fd18693268bea1b5f7888d185e7cacdd599acd804ce757c32c9a0937f9816d4e921686730ae5bf4b58bff02632ffd68854f731e4cd20ba831e7cd6794e47c61cbcf94121a2f93fba097f97e2b24822074a53798fde11e2997459d372f46ca69e555231281416ce3a362fd2583b5ea0cff584fa524af5b59f59d921407406112dcd90d44afea026b58b1a343999cbe0e5ee17058f6cc28049d52bd5533063210940e5b7f7a6eddb1cd7538ae364576ab1d58ed79a9d861b183f0f11ca2ba886ca3bbbf9f6c5f70927806220deadfee5d9600b25be613062d9e5650303a7f8a0c4ea9b298ef1175c1011daa1b3acdbeb2e9fa79714f981854e36ae9673dcb33ff4b58b0bcc42dfe76cace7556f0790b383b38bea4739b9814a351d6829c8d88da26e2d6f1949f60eeee6510fe524c350d6431bea93aab3373719202eb1dee8fe2a6ede3a08d591f8d436e0d6f2f96c546575ce9edf8c3714840ccf6abac12be49e743b7d28ac11b7faafde2853f65b6873965d039f3421d6b73db81bbb22e112cf08c03cbdfcdf4096f6861e5f8f6b176ce6e8ee11c8af28a36b56c709f8ffd15c73889edb67dbb6a76c9641e6b7740f6956829b95f96e071da97fe5ef7021ffd50031739ec4e42d1a70505eddf12d257515b8192081ae4488c169fed989bb96176226605f57eb0e861297d7c172e3d814a2f967bd8edb860f0ecd780f1b489f6530e48563ba595b118986f16ae92d43ed51671be540f9b44c735574930fe7f7d08fe0a97e5a99f8fa9bf1b49bf8bfa510e8067d4ca68cae06dff23a09745745a75c3f4fab2d202a8fab0f6965e016e9533ccd32650c39ccf80e080167aa2ae9b655018c2e7653f438f4877be5733018640ad9ac848a9717dad98c2ffc8a78eae910ac55dcbfed2ec210a0652e7bfdf84f269103490a494d7dbc80c252593a9eef79d58d9349f4f7967893e225aae5d905dcda3db9cbba5b4358438d5e21d116112f52ee5acb12557ca55665059438341e45ae01d14a3bdabdac877b0527e3e5d0b552376c2b438d4f0b5bf98a7f8214df6b47f40979da50d4ff280272c403652c23ca4aaa4aec5ce911501c2d4fb724b06358b0bbaf9c078d350be4da8bee6abad656916b342c991d1d6c298d433a0c9bc6bef6c44301cbf23caaa8df098b4a95bcf76cac3334d10379cecf460e855d3182ec31290c986b705a87ec2ba9848d7a9bffa3f314b6b61cc2b783e2429aea138683405647a01f0149b35c54a90462dab9e4d1acfdc0ad0350d5eff4cd272eff38690e76f53d80f69b0c3869479a3345b6ab71a4863488e655ce4850a950302efc422e799868470997f5b40e87d08fdf4c0c7a5d41176d95699652d963cc736bfe46ebc3fe7dbc4929dc4418db4ffbe84adc39ff51c6cfb8f3bde8bf52d192a1d561ac43e380f16c5cd3ae88f5d349dc31b96b99c4c18b3e6e1fc870372c93f1e0d416bcacc314abb1f1334084773a7347e74ba65834da47cdef7abe70926818ed1d066e3f2c4e13d9f192651ffc17abb99bab1f551308156e0820ff5c875fedd4e10ca91062bca623c50f8bb314f569f5987a4c11ac123d6027910d6cf276ccfc2e6c46f44a572e166067059a3e8966bb869e246f6842832ef4285356d0080c732e955bf8a535c438dc379ecbe59e457b972c010ccf72cc64e524ce3dbe054de985a48665953b223e0625b9ec7dcb742502754a1dadcc2d55fbf08528d2f53a5ff59e30724f0ae785a31d4b54d1d57fc26e0fb08723241fdd735ba6ba20b3e58069fdd857fac1ff9b42f82b30efe7b4164fb13ccecf857d4836cd97cc4e0dbce6c310a4b394eaef5016e6fd99302c91ad55f6e392dd86be40af2418803632a436b2edeaa29a3d0a9db1ee3180cdacce8033367d760e0c2b19be175dd23323524fc21a1c5526cb088ba79f5bca18d151e834974d5fd7c9364f0728cdfde1b6711a9cb40993e63a272acd8c0e9180d89e1efe40f0f6c8905257e4bdbb379f9e28f6de8ca362f7af9ead902b6daefe574ef4fa92f7b1e7cee614ff9164fae93cf621fa3459877f8e8aa52449cb0b7b071d50495625be5eee77e11c937d6f5ce349d2a9e207c9a9672d76c12655edc28657e3a1ab0abf02b9e87d14d132503b096af95fd15ccbbb0993cef2758864543efd3b5622fc59fa0b3dbf7df0b3a570423b577a56d5ce225a4fcd8b1ccbf9a032c3630811796b6d082e363ff72edd40aa4af552a47b180ac9aba7e780a384cfc89c3fc5c059eef4033847734d40f92a5bbda6177463e913729bc6f0dc5cfe6048251bc41f8ee6d10fc09c453acdfd3415280231c1e889c42260120ed7058d964e8c9fc1640e2788afdd5254901632c1d6270f433c09f72a34d3516ef56480b6d10c33bc288c19f08ae273fdbeeb5dad2faffcf09d2c451d7e8d748b0e29cd7807fb65fa772517c81f6e5f161327dea102cf3208984e5c6cb615b46d28bc0cb66e10d530c88efe1f9d3c1566b4f51981c372dab90d02e53fbf353360c7473bcbd3d8189f20abf7a76caad487be012acddf30297fb11119308ffed8702ec4036f5524d7073274cd69d745842070ce76047fd1a378810ecf118764f22d7204e51f803086b65f68ebeaefff9dde82c2184acbf66e3aa899f9f8829e2cdcaace21d58d58662036b8a5423de3f7e61853461100c6ff4f0a01affbabb478ae82c7fb55c02d563a74c2fc12c6b8b44e98dbe0ce25ea2423a8f2277a707f03b2dd4cffc5a2e28adaa9ad909e2329b982297ade08671d73c58a566ea1d5f2289a3c52a9156a919b49fcf192676067ed0062b6a99d43feb4b97dc4962c71e1764dc46720d06d8939e1f1067bc45673ad65b7f1bda2ed3c5fe06eb9e701eb09a7f5adbb33e4feb647d04a1d45bfceb00255f6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3a06dee24810cc8832580da17f5781cffeb1b9dc8afb984538fd085d31419dc77c46e67f8a3a92f7375350b44ae8065f6cfb6ebec3b916df02dbe046638cfa6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85526baa2f2b94476a9f62424b17be862f93a307b769576252b1859089bdbda4f4ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d2413078f1085f164f0ac71dc4a49ef8256db95267a1a44ca64558197fc1306de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557a10fe943f1b136b9cfd3f24da219918ce107045cc2e0610dc7dbc115a3deba80572895e4a53ce17dbec7b4843081f31308676108eea4f41b4d27365aa890a247475b628d7821a1a45f672fab34d8a52df053ffb41e254721f7c8b2dda1cb3d4df84057a2ba980fa9b14aa7d71b85fe58c66956c026727dbee687d956cbebffb07448eb82fa8e6945899ce99cc2292c79f47daf73f6cf4f7e1d3114dc5389f0ee43e7020d67065497c17a6fa4a7973394dbd2124c88ddb184aa01b10cd5e2748483334808ab40b21729a0c1aaec92bcaa37449d498c9964c648cbff9f1c439a2225682eea10edd7bcefbf09bed85a7061f51b63f00bbd4a2595798b1805f77bfcd152b9bf1ed0f58984c45a9c8d38fd38e5389f1a6e3316b0ae03871327068a20fafd35ea1bfd146a78e5136d88dca7e17115e1fb4c10ba98bc82a9bbec2c0156497d60327a667f7f59952b5d1e135ce12fb11e274a9ea2d21fbe2aee80f679814f5052476c9e7ca67c3768388a8a0dbb9222e72d7ed2e5f42166382920d9b46d012bc472cb04df4a81aee68df7084c95f069ee437d1238b532671a8f5d6165b2dbd4042705136e4e297f3bb7f93e1e5aa6eb36594b0e63c8a605ffe523fd4989793c6f26619ca013deaca58743db0bedda694db068c35688cbf9016dc2df7a9c3bb24fd758e95f4d8cd3e86fa5dc11e8e989c4e13f2611c595d03ca7aee1f9620687ab212af2298d41acd657cca3fc4d3d469658fad39f5dbe457d887139130b6096b0491a18e3104c298245905d7edd813e4e378045ddb9fc92767338c2309ad831db68a64a30b71cdc33b5396caabf41b6b27c350b388813891ba6482ffa1315d956bdab5518411663cbce65aee2828c784b0684f81a094c5667c0b5384ae979f37ddb3943a385661164212c59527d178e6dfb6c92065c51c1aa8121c1b115b0752f542b34146aa1333da4ee0ec11c232b60fad7617fcaa8c4488317c1202af4bd471b72243e062ed0d807bd6099fb66b1042f8b437a1990440c37aa467ee266ab0907864c4a93d38f1d447a3619a2442641955847283d71ee5e4dd9378b64477f2e7a21fa6b2b73bf19e325049d186bfde786f1182ffe5894fbbae65fd410d1b760c54bcf36fc45178be00366e766cf24b855e9806ff746350cb0c9daa329cfc0e8fb6b1b61e49aa8169bf84c85224623732d75328a9c59f5a2a5e46aef5a443de971df651e434ab3864023c85ab08727f71f5cd7056dfdac01713b20b68f88883cd8d32a326ffbe3e9f8d9ff5ef0d7177e6bc2cd09ef4274f8fa7acb637884c4acaccee534cdeed820cc2755689a309a11256387ae5618010524ffa14e011d9885cccd54036e752684417f485eae51c53bdc670f075494e7dc8852a5ce67d79f0f221863804e69ca18a6ce3dca5a1157518f9deae6c89869eb8ab95cc08837cb649327e7cd3ff60b1533a07f9f1f7a2fb2ea9034045b0f9ad411c76ab97a8754daaaf47db447230c53a21aea2f2f87d46fc32f9124d07e52119bcee05188da2a20b572fad4919ebfa5e5db0e9923bf80859fc52e8cc019de731e253708854f2b39c37fe7020232fc0f07529a6b4c7b51eb6cf336fbf274c38c4e67be1f7a21cfac14baf69abae798dddc863cb9fd50e0d3d451d6a3b6ff687347b0846586e4bcb1b488b31a918ad05f57a1f71e26082a97e8502f49657f5cd0907172c1b766353f9e7db2d8c1df377977ac25ce264d58c80d9a83d728d0ce8a5229b1078f01ac7256977bff8c5fe5141a5aa1b070186885cae8ed4b79b8d4d22df809713500a6c98166e50d10d8fc112e1eb6c332fe9a3d9e4a92c43616a6da1983ae159540fa4895265fd9546e9fccb5f656b32118f50a1a086ead61e05eba5e863d4af642c10a8ef6c9e3eb9362e0f9c97892e5df399c49b8602df2e62ed56cba728f1ce3f550bd5e244237cd0f30a90eda57b8b00cbc24101632221d8c50e4c3f8be1366409dc0163c7ec0656e0621b55bffe57a205351d545076fdfd64b3b22640fe4c7d6f582fbb88419d1277c954c103c7f1b52194661aecb7799a7e020170338a7cd2566b947928a845595e87edbff0487d98cf2471b55e84404d8c75e946fb1afa65f12b251bc1f6f7912177976a4f01f1190b623672509e313b3215dac2e4a7c5129350161ff642782faa42d762361be70d22df0d4b12dfa6cbc5d4e9ae1d7e13e0b70e5424b6f6e401ed86076c97f83370d50b6729098402bd620ef53960def5e9f19213b908550af0da5f8581518b8889c5e66f9726adbce574e80f27078b383321c7356e87024785143c723d1d86ebf69e1f93da88af750304b01278d15d2e1bc855fe99fdedb3db9dd429e6f7c42bfaa82a76a0cf1673e8ebc7d4c3093b7742c11857eb0ff5a83f9affaa7cfe6f60d46c066f2dc42a7b7c26571cf162a81f1d8e3738e645370650dd7a62f75f6ad661a4ee930383a58d4a0ac9dea8e6c412ebc112520127a5f74e6229133efd94bbe007eb47cd18958c8d6874857763a73fc8ba7cd54a003b00d42abd3dd6984a10a588ae9e060424b9afdd47feb0879ca5270e208fc63c958e4b3cb2ce123c86431d936c1d8358d8db3ed955af7fcf1387a6bbeb3e6bc3a0759d08870b6661d5358018d500bb793a738d8b784bdb7eab8d9a2200aca0fb74225f609885001de21b1889019661f0a9c1bfc2e9d6403216a922813b805d377d669b443531b851c7458aa5076be331b83fc372bd7a1511c839258ecfc5f0a282f025e9f30b480cc70ba6d939db0b8bcdaff42dc1132cc77c9caded97d798d72c5456676fbd769c95c5470cc99fac694168f3a308930f66347d4023af10ea57dc501d1a7a2882ea9dd7ae2209eeee5ceaf792d20f31328e5c0edd96eda4b1be30cf307db518c8392ff0d5fc6c94a733941ae15bb72be8415adb56c281170002c80cfa9a72799604ed7e3ce9e3c449cc2cb5147b8d32d8a5ce402983c34913ec72a61995fc92076d4a4230f94037cd6871cad263cda9cfd7b83bdd4630422d3f58897878a0d926ab0858df5ec1bcfbd73de19a0712518d2967e84c4073b07b41f8529b6170e12c8ccc7cfb5a820c7d96e9fe5d81f5e61cfab56be52d3981e19dcb59e47b59ea46d04a9b9c0a65b63bf734800ca055488638868a22db4e5e767fbdb6806f8fdc27567ca8d0d33a7aecf1a6f4440929a75cb63b3766db8e573ca524b6194b141e19aa2dd0b588444a90ff7a25849a21cd0e1b6627eaa236645a281124f8e50275afeefe91234370f33f10dba1171d2afa56d8cbe7574c18cafaf74457172a81ea69a39454e40444504477a6318d3a967c1f2c777163f435e468d11d59026c289a7d0481419fd54f47601271c9e2ed3d22d4d694769a6e44b7066caf1e9a9c65dc1d9b0939d721d228f84326095d723289c2287f5409161cfbd0fc2bac2c1f523f232cc8fb9576a0e1fed75fe08a6050ddaff17d9127794bf2d2ab9874d84872a4ff723c19b57974c9c875a014a2e8deaaa2c8367e9eb48fc73bb619186f31267406d16684c8f1c0ce5e834db237465c21b9e0b9ced60612fa9dcad8be1afddae5b598d5f2f4233c17951c4198ed18b940bb93566ebb918d46801eb106236ebd951539f77ccc46485fe93b8abc8f2210f62af517d865ee282171ac2888d90dff2b3232558b03fd66286268dba399b34821080943858d8c34bc50af8dfa978c38341d818844e7989701be588f8ad464af638f4f1525daf1f71ca38f67b42b4a8035b7d5384d93a02cd9e09efeb895ada40dfd9236e94fd10ddc89309ac635005b707f7e2ec4bad6914032dcfd307dd0e1a52b2d13e64bbaa7105c30e5611ac59a0050bb1bacc56b8653c1a08e12f45009319633e60eb1ca8cd9d060a50e9b54c35b8527cd67f905c6fb41eebd7136c86481827157110f041792516b47dff2861a0bcd9bb56caa0de6b4a55b49f342cc87f70e95e48e04c217b1f258a6c30685aec7324880cce7de2ce07d954172f1a49042a9db6c58e065302ded387164725348e3ad045870c30cef7a78fc3190b5547ec489551b165ed56511b0b1c45640aea35ee60b4728335a7c264526deeca7967d90cea45c0fabc1d74c02a65b37b3d9ac505ec85362cbcb427e297227e3f3e059bec361fe6d59e60cbb84b118da265c0250d0f52b5ded63f2c7ff87de61a6023c228b30d69a1649de63ab1fa5d91dfb28bc71eaa19311b6beb6e91c47b7298158080133f746a47b37fcb9dbb1da3f98d58db0075d21b1a0cde21290c5d627d4ace05f044f937da3c78c0c526b18f82a97aebc74eb7e44e943704c63fd30aecc3c3b748cff4fe107999bf2de46f34f1d52a085c911177317b204aa3af0964d62d54febdb6e8eed10534392bfcf7a78e28d3ac4c218fd13238ee70d796cb77b0bc0079a47ea2626120d1dd4222c14779b71a352e239aa80536aeebc1e742cf552abb77598ed8ad65ba53c93fd6564c6ea38546ee7851e120864ef8d67b210fc29e5e82424d649e8b8274e3e4f1513ff8d1c8122b5a496969aa68be0e41d80ac368b2c77cc44fb71edf1685ce2d6e030dd81bce11ecce4ceefcb9a6eb0d4d8c50fee3e82c0b42ba5c4981ad6d05c61968c2354d1c8b492bf9fd03cd79f1e950676d3b417ded0c81f00db30ddb11af48f7f6497141ef9e2513b00ac51731880d0cbe606dcf46dd38715934ff674a7f4c620e3b1ed987a5076e9c6437637b3b58a8b0b4c5ea7a601b336653ed28f97b701d19433f315827343cee14d1214080fb2684e1e911db180ef500de4319ce509d9102112b1fe6eca13289ef149c9fb7824b42789e3653a0f89c7e89810657ebd24e07b2b53b4c5e80a68479c7a75e6a46aae11ca5ba4633efaf00b7555a97f122ded97d4b01054d98d071e0e9b665c8f31b43682f3c12a02ff0d93eedb31c9762911ce51ec49a09a5dbb1e4efc101c9c594b76d09186f84d73efaa40c3e7ea30228b0e6fa2f6803f3def27702a0c61807ea425acea87330291244a82f399815a3a2488219a4cdffadecaa47a6f574687c8109ed74c60a47d6f66af35a3f3c49050cc9a4b78bea8ccbe592c345baaf647975b8a1657350d6bcf9b4a671fde2736651a84102cc892a662637d410f9400f509726e08d15de0ddad2ba79cadec8326c79c6c46fc76cc4153f18614f5894562a6e387a2459df5098b941725b0ec30d04e39b47fe95a07bc1409d1fc7a5c3ffdd10b8f2726e167a99954ef879f46f3aff78a6f60e61ec0dde1c7142eff25b5fcecff8dd21cc901a2ea145af12d649e2d77207740117d237ea33a8fbd386dde2a64d1c815b51ea9149a98d923beaf421f19f7bcad856e975b6a82bc3a33102901c78873ee134b806c0c1ff06aefb6a08f0d719117acef4fac6071d852c5f2d60b4d0cac96d4184cbfe2065b406566a8b3cc11839da4a99ce7eb73c525ff9a8a688c5b308606f05d6c43fd66147c10f8e35234a064e3190641238537c2347b45c32fe6f08e65598943235ccb62f3e668c3ed4284361d4f0ef5c69f72ed5ce78bfe86b49e8b7245c2a6e7405bab3d5588048f8b1d2d37b1c3bd2da91fc2eb04231d90315febcb3ff632eaa979f2fe3f613c53a2cf88d1c2b1d2c9d5869c8cefdf35956f04048b4ec092d533fbb8eac741a64dd2f24532998a092c90571e726b7501aa3c5c2dd9bd7385e954077bc75e1f527bce9b0a13bf8730884aa70e92968d99be3e29a2643415402dca017a9517eeda6a2ddcc71d96fc0aa1d66aed5e4273f19b2f330226e2f93526c48ee0cfd5ee48a18567d03fa4c7ab69eba8f8d9d88805311ead826f75346f9a1dcfa1ba4a75524acee1fd48aeebe9668e2be3dd84e39884cc3aa79c3617e52422fd5c4d611089a87244e30674f13a4d4bd94fc6216bf96da8b423f10a439e72865ddc9b616320703180504b8bf4fa25bd5629bcf079a07ccef2677b81bfa5e3e5013ba5c908aa6e277e3beb011fb24e0b639f42656cd49ec19c277496bc56117502c0246426b9781509fbc19055ea5ca41c84400f23e0ed9ebfd50be64100d87b489d3d851023bd61c1eb32a65fbca145ab4edba844dbfa71e529de25d2af0488bb126d361e7042bae17a9cfe668eafeefb9191aa4dda107ff961a353bd9a8ca9f4431408067f711a82187d97287f9ca5c2c66fbd735607a56bc2277b65ed0e4e37efb036dae58ad725ac156de6623a4d325bd70e68c3c0422f3d64a511afee5ed05465c7f7e13605bf171373aa60ea7ec8b287f26bcbe32ec24c20d5b4e4449e0bec73a29dd5486feac38cf90e3e810958b09c675b6181ce203b1ce7ebe4dac917f063ad6120ebf9025997914138a8aa30035bf6001ae97d7a566e4790812dfd07aa26853d6cb95da455155ca77465c8749229c37bd0736f93b5899da9c41c21cd102a3a5a42ffa2be8599308fdb962bc7fc5ea15fbda7cbc1e2958244dc6892ad6b8dc42b1500134f318561fe8543cb89f28693fdd8ca54a28b8062070001f300430c7aeb0f8bf737fb8502d425a7bc0f568cc5718ab990bc67057d6bf399e27ac75574cd6b5a515eaf9492be5b03667949aae1123ba6e8b6efa42efdba5fec67c26231cee37716519d6ef5f240881ea12b7005094dbb0f4cf14d9f3f754957d05952499365c720229807ac67466877fde8a8939bffaaae7ea379cd40540fa88b180f106661f4b462963baec8c10d905a50d96697a3f74fcafa60298d9fd97ad7180297515291bfd25f571292fd7aadbf77225c2ea43b2082c499bf01d54bce407b01bd758fc29f788428c04b8ccb556af17456ed6dc0666220f1c30343f310e92522933f889e2f65ee2cd18a2e4dcf30b9e078a9d549e6d36289f5210f9d08b01050cfc867a5691f6667b25a548f9e50516404ba18ce060e89fb767141bf104768bc24bb34e3aa207d8a1ae267f0a3679f1dae7b189a36b41082a36fa339a645a14f4ddd7c6d5704bb1afa1b2a558580d727f64f113a657d0c1258f8cc4c2524f99c2379ed109d569aa0eeb4a592b2990b0e350158060929de4d884a4678588f51717ecd27aae61d9ffe390717204b1ef45417ea4ee90e096073d1be3c21220a5da75301faa25b4cd4d72036a25c6278c131b046b2afe54ce099f9edc57d04007663706aa6c8ded8921e4b0b596f04cc667a0d18f360c2e0e363e863c5e589338ceea567453b7a1a8d0edfbbb52c6f7b387710c14d64f8077a0289a8795b42a9150416e9c9188f844f6e237c43a1e05f4bae1ac856055bea24c0ffa021fb821e715183662f1f07405cd5b0e5094022646787ff5da4ece2caf4cd7282070c2464bb9ea4cec8c506a1494f7bec5e85af8f0143632c15c4852791eace4438dd6265f90b7ffb7cdfe613360b9bc5f7eb496073ddad8545b2d9aaf4567eca85d89013a2246989aa13e099da3540320a6252e7e8dada0c0b5c43361b0823cc76497508aeee275b309dd61c2480adf6086dab998fd52e5f30ecb735923418d83326b112a80ff5fb4b7dfe3afb662e83f41d2836e9bbacc527efc4bb05ac113e421cc3d829c86ae47d8825a7ab9b656c7cdde9d13c9e01068bca5e74b6c450bc2be7c4f83d580600e9e11d215db08a5e6690552adbe2dbfcd37d00cb908fc7357ea644a846dd6a3c6427ed45877a8b5d1e87da0ca558ece8c82d3a5d044f549ae001ab419f499b383d5235bea5ae491d00432139637163077006d751b63ac5668933b43841b419a544919ed5f203677fa9f80813a57f850c31429f428ebe3a8b36cf67b9e93e9cf760a15fd195014280329d14354e68131e1cb3a7bcfe49651ea3b57ccd87956b12ab935b59e9cd3bdc6bfd22f3291f7e97d3af937afb21425c5841afcac1186f52221da2d85efd29dc59591a7ccef98041ec600c0ff97dea5d06874d6293a5855c98ab4cd28b37babd810b5da50bba48430eb14b1a20fcc5f2e96689cbf7b193738ed6a02953674a73043f9b6e0d8ab8812bba8432be057e8bc7a54d9084a4f09b07c331e25bb9f3addf836d0f43bf13fbe0eb4d8fe401a5d895444a943e4dff4fae1f905ba39f3fedb9283b0a0066cf91e4cb1f5b8638e2e1ee9f9de050c59f025f2893e072320f088eb0c922985cd22efa95bc774d725e86f4a4eee1a1b969bbd28a7e4da101280a8da9d2ccece82db559822c0d153cb84ffbdeaa3e13bcf02cf2350cbf84b805c035c40ce21385d6d21c3b83c55c82d0bcae7a6c561658a41906511f58dbad56d8ebadebde1564a39e85162c2061fed7d4892d870ab376e2343b8f65c7388ef27e3131363948bd4f68618c28d7376d59a19e63d4faa318271ec7b0ff323fd5319400aaa397f97670ffb649e812cce7b293f59706ad3717d606622de0fa4be3f06d4a990c2a7222077ca10bdafc0e0ad4a7817eb270a9ff01b0e279609af5d2979d4445c1b78fdf2c12b8cb259ee428f55f88aee7c9edf2fabbd92ec02257e8ca28da825014fbafb6fbbc684f5e9686c301103ac687219ac9dfbf74bea102eb96d6a212a8470cd30bf85e6ccf16a2306453d90df16986805e8249569ee5e2da3dfb1fef2be1ed8bf798b913417ad7ae4f4a22e5371204e05160dd094d3be9137a9583f1fd1c73546a43b3d7496dfb1f7b0c8a1c96f6a105447941a14af7ce6ebbc05464723f7ebc620c82e034e33d9edca868ff3890a96a3683f388a025740ea68ae2465dee385fc2ea1684256b7eb318c74ca76575aa3c38b9700c919d168ff7731b161c3c26c3920607c99fff367454775f2819f2a4c82e27a45ee4c6d713f88ae3d7491fa4325df3a1128e01fdbfd37fe16b5fd180a9fe265ac50e3825308b7db758685a4204773d6f4f02f1f0353347f6f95c3d370d0c61f43a350341ce3825c2622a2ed50c8f47849a7c5f2c84daf9c1476fa350dbaa5e58e00083dc0000cf0567f431de47f94bddf8b7d606ef9ddb9aaf1302712f6b11611aa3dca09e906781a05f4ee09571359b86891fe023a06d3e25e82c58b8fa563084db5806352751550b7b447ea166badb501750987bfb2fb586499b70d26546f64437b5bbc859eff479f1faa314b9a17c82f8c7055e69b1f8b70ff01a264dafb179304f04c0a756e962768a9a912e6d60b978e159c16b193b661b57334d773e51f8aab7c8512798aecebe492fecdf1aaa884231e8fcc53df0d0e18947314e1c69fa02692c49b81752a1652e523d9f639e6a20f310097caf96ff24eff2b36b43497c61701526c0700576b66ca16d86c0e5f4bda98fabac972a5268409c76c04ccefc0e681f2aa4dabe5855dde3bb84c610b7219bc7057eec954b0104a72a5183af1458ad94ed1526d1d60664bd60379918d8503e2e88dd25b2888812edfaba145c4a3c1ca32fe2aa23bef3b3321033a4c5a36de2d6fbea98be63b66c4f65cd2ffd0e9f1d56f74d4310ef15464aa89a30b9119fe21c270abf856bc0174b84d66c7a9690623da73af6f469372ec91a41f311f4d1d8bc566d18a7f636c6c335ed7f60169f2b761e994653da79badd317ef43d80d6932e81bc48351f09199723ee2ab328055e59265b42f1c3b18c2e168d407304994f9146da4df348a3817210f08fda70c2f0699a998436e8a24b03d2bc240558c7f093cb081cf3b737b7c1a4d63bc21537f7441e3360d301d23beb3b64cd595a2a98ffd8883287dcab92a917a450c32f0457615619a345e4c1a0d1a0f2784a6e65db8ac8c935a10f9bed247428a3a1461f4fffc75fb2fba86913cba1c8888f5b677fac56f0f29b4a434db51daa922c8a83692d0e3c8aeda639d012d1a073efbeed5a50120833c77497067c97b93a3b38aa7b2c69d5488f8ce6cdc9dc7a509f2d86fd48ef44f35caf0601ff828ce79a9bae85ed0cb0d51f950f6896a7042613446e8bf86810de79d92e1b43e58515e46e8e08789aa0677661bcd3a21dcda24548ac9c1e4d937a64b7242fc1a1f5e33aca7c54aab4e3cc77a8025562999a02f1e256a322708ff6f618e4b26bc1d7982cc5b4834b93e7c0ce434c517b9b4ccbc46971e4a7b98ed72c25c8f85b7c59de4ebee48e6b717d5f302e16ab2a1bd923e585736a5600218bb8784d76ef309e97ef243fcf4dbacc4ace6ac104a4c91e9437f4fe160518fd13e7a03aa4378cbe0837935e95809aa220e1c7013c5f64d2218b1df89655793173bea38acffffa8a66a0739dc2755845633d6b3262d92b7575207de37b70b57941375907bee669a2080e59fb4dbbf0ec30f087a2b84e9b42806933bc87ddbd88fae7580f7714c34554fa10a2bcbbc20d4ba43f1943d9b1f6d9c3eca7d536996b6c288e4dd39459c793f112298f356712f4a43ad8ea7f4d99263508f0ece5a4fef123a7925021a10b75d9c9be673fb004c1e1e9013d88cbd84929cce5b6309f470e6b8c83e323b2da54b932d11eaf5606eb52a1132b5f8cd2731bf7bd8cc9f7d148317a4c2129f4ea02d26d01c15c4f0e3ce45af3388fea4d7e649653bc07aff0e55da3da59a3096098ac0b7e740efe62d143bd3d4cbd3c90034f7736caf62aea28260cfed210e8927050bdeefc6df82b66e03a01a2af0502eb48a440e773535bf8b432553462e784508dc69b44c4cdfad8e590839b1c4c5762f1e9e6ef614d72dbb0c21f90ba49d421804a7cdf07926be2dbf796dfda873e6b156d1d30dd2bdbd555fc41e19e0695a7e65ffcac9ef5d916aeb5e0f61c9830fe45142b7acf6048e1982f8c17f3b353a1877e4a3b76f73cc4db9dea32e98cac422e1e895d6bdcf8eba97ca5be49bc412713ae77dde8a212dbaddc6ede3e5c7b34f49ba806e1765dc0aaf07f2635d85206dc3765eb547db455dfb6ca5b32685926e5da9e01d5ae339a179185cb2fd09a517374ee479e0c3efd52409b95bd57b40fc0ddce221060eb47f65db44d5aeb5d10bc65192c216fe566f5a0fecae15b6f59e3388ef76b47a6ada2df5aa16bd855a2109b643424ff6581d7ca065aa4f1fc2a0305fd0ac6e5efaee3e26cb5fbac13bbebce9fcfef242e8aedd191bae65adbabe19570e818dfd94285e23ddd6cd32c170794b6f2e87760745234c6297518d617f0d84ccbb40e579f6ce289232bb6e324d0cba46fdef0af14db7d35de1890f445068321b58322304bfe3f9d30f6ab4e4307f75ac19a21933032ad748768efce39da6c1efb4dcf04cc7838aecad9811b04362b6d3eff40a0bdcd4b1c249159c4a69c0b81aa25e3d420f3f9cf4bc03474df109637295c6ad9a5a5159395cd1784531216de9b5792fc0992374c2cda24c962294cfd739640ad578145bdc3355285df3303bfc4d62e9477b2a85228242f3fa513a2db176e08445d2be2d096fe2687d8e02185d7549598bbdcf3ba250ed81ca9a047f8308fc215294510e890b2e2314f0d1020ca10ce972ffbca778ff0ac8fb8343bde947e7ed9d7348a603d0d0f3ee31d5126867b970e676a3d8566b1c0b9ce50f95d5f8d0fe6840be71e791672265a21888c918bfbbcf1ed08b07c07cc65c7a147a858251ec4b3bf1333a97533ff2554dcf88fbf8c6af103e88e252dfd8420190b3c87ee45d5b3fc11c8282fc975fa57788999dee31b429f502cda7a0e0ae90b460ee3ce8bb96389e96d226aed22204781ef351591ece4ab6f6fb6c21dcfa099b0f18895182446aa66773f8a1c401aae487a03b74e1eaaafc2e8df1707f974fd6d33a8289f5a5520f5e6fc05fea717401995d9b3816490e2d3282e269bdb00c0cb43af5e82bddc5bcabe1df6955dff7b37fa4c261bc0a5667381ad2274d034af99e5a39b2484add9706608824baf17c3046b0b4e65cd9e209b85e02125e398b390d54ad34c2a84647c0fa403a0e3a383cbcafab264b482e5ac25ede2696dcb146edb1a0766ce2563f8b81b6cc76fce68c3ad571f7cd98c92914fad89587b02967c41a933e7bb8683eeda23f8faa8bb9f99b2095df701b7a2fd219e8c6354511c174b167b90bc1584418f6af0a1695ccaa11f15ceb6080109515b0fc82fb26a330da4fb9bbb1b2b089ab5459639020c8eb05296e52904ab1faa1bb37dd08db1fe3e76d3cb1b7fbc2ee5970be4ca6de78f703e93a618ebfa78b9da1361e16a7189920b9d779f6492ba49a79a10011e82d7ac456b09671f857aa328b3431b5931bfb28c087dab837ad82b276df187af680f8741c5cdb323f66cf6e0a4a0390f8d7f9df0868850a09a10b89304a7336dc8af94d446314a7831c7603e334d098ffc8dda6bc7cc7054a530f3fe2e4bb961481b70a5574f62f6e936657c28c1dc17a9afafed5b2e17b2dcdae0378c29422a9a4e6745f35f645db3fd915833cd54904063bc31c2586310ed4f04393083948e2068d6dff6f8b71d281848abdf3753eb4e7ef9f940f6f33fea58429408b3e2372b609975050d53b8147e4bbe9f9552263f3c255ef771b846b0844af834f4026526261eacfb46b4e8ce7393937d778c6ee060e3d54705110951b728d4374d89f324ddb34fdde7651ac6f1cf2eb5e4548e18b5a53284063cf625a0f457dcbe598d3b27b5da775cf914f3f26f0b61431398cd5bfef19debecf7ed28b0dd68f40369c53ea550fe8be274e16c1a8c1c67d63ed3d2405bcc243f9c0e19aadc134d5fa1bd887f3487bce598e423395ffa2201631cf019c3bf43c29da073997f3efcf1178b561df9b89d1cd8ffc3d60938c1fde882932c056b4fcedfbceac8798adcf952fddfcf5ed059f7f3e6ee3bff747ec55110d10ebfe63fdcded7519321dd4f6b093cae29d732541aece8ad379921daa1b7fa75e58a8b3bc761f68128ce827d77d571f4f54dfcb95c941a1460f5f753235ecd0507bba475ac4ee0b709d513fb73eebb0f8dbcede7497255faec9f2194f2ca2aed4589d7812c4faa3fb1882bab94a7db8857fee13425084d544874f62156573f1b60e7665e3e6221c669ac1c928bcac58e947f646d7d2f5550b57813cdc4fc27e6fca23c91fd50d85ef437acb96883d2e3964f99745139aebc2e23dc536f55fad1badfcb9c37a5338709d210c92fbceac185834c884a0e27a410ac47edd8379309afd8cc1276e1b5bbaaf356e08a28e0fcdd6be6cc4d20e5a7ec75044f63487a1e28371f65d539059aef9c03e974431d2deb6058c38057fe86fc7668a693b61e03cc22bcff6a9b32a1f3b0e5dd40bdc3ec6e8c15bf469bc888011fce8bcbe19fea8b69b3c832d2eeee7890ff800116aebbb6824449c95744d9d631268fe4ed044d3d36bc90b55d64061a2d9783bf373daa4bce1d43325db9be6039d1fda2ae9b72b763baf06b39b316f53fa1226325a262c8635a2490ed21dbc8406e363e52386893175340250d8d74fbfff5743916caa60c05c46a2bb011d027869377411e6dae324d2443a1cef6e018988ed14485241f0d761c7bd557b0a8de8b6ee49fc16434d5fceb35deb6ac1ad811b01c90f84954070d3c20cef176578a49c4ae57baa02eb5d93b134745bb7f1374fc85ba515a3db27f44246ea86b47038333278dbe67eb95659d1430ea68ad0f49d98f98300d5d30454df14b3e982e7eb89e7f23fc9113b03043ece7087650d60641dc7c2d239ef0954b763bd21eace188c56ba6b3c65ea0157ca32728219b507ff16e24397dc4d427a199fe80d34ce4d41ecb48efd5ed26b30375cfd1eb95eb1d61d86a13027f33bc00f7b4e7d702e1be367dfffa112331b326c413ab70a98f528d687ce049ad37b3632c37e15c68d25c7ff21850e3a8dbc623e1f10a8072a88d6e24dc6d1f352477d72f5b9e79918f63edd8f65bbd205d6298e429b9c380beaa9692e474b2f7e3be00380d0d371b4f005036e5837fe460ca6212257ae9bb2f9abadac26ca422d4bae6419dddbc6919722f1c134d642e17595c00e2a01af1e254148d48a39150909c6ba9b6405c5f6b50c69b5dda6c2a97e7cf14bcaeddcc762d52e2f7cc995df2de759ef4b48a9b97c5a52973d24304a1d5e6cb00c7ad51376fe5986c9bfc9e8a1c295749dcb395db565b572c8bb7d0d1a4dfd0916e5d963f9856698ac14022a2d5d3f8581aaac0a5ec19a5bc2587918e84e0407f5752af3fea43b673ac6db3bd947bf9d0c920002f12da69b5b2987a7d516fe964647fd1afe002653f7fb1b4f123cc9255886663c7bc46cf337160659bf95c8ad8868dd99caf6ce8010b1eb23a577c5c63123e02da884fb31db65399bffce1ee9f0ed6b1ece0465f07903b4f05a35f19cf33bcee6fa590b75ab3f1bafd268cf900b9777d76119a5f5bf678fdc1b69171403d74b15e972141d3eb3459f378846e0776f42c075174ba7cc2ed42354bb077b0f7e2b82228233007c5119651d14035a1f3546d958d44944d879af16c95869f0a9710fc394f4b02c0b4add1be095aa73fed9a85e1e404212db214e325fffd0f3914e60b64e9b9aa3e4393ca1512ba9577b47beb329cf653b3fff7c55aa566eb74d61749f31456452dd1e41f4b3de6330decbf6567ba45b29f766861fb541f5cef1d0b89766f1c91daddaf72a53d107ab06578349bdeecfd2f975b5b26e6f86c2a4b4dc46a686d66a572c995365200364b183e91714978d4e6612802873f0f9c793327d9517361b7be2d89c113899dff995f9f63990b9a34e045a088cd625ba3ae82f86c5b28008673cdd79230d025a2569d08c87e47a4074b9b8d9e7f8a7c6c4561a8adc0be4fa9f522795adb6b5fe9fddea52bb311b7f6fd296f655c137b24790e3d821f18ffaf86bd146c69990a5f6c16a6b966231809a7f0cc270d4fdb6c0d3b045f0c8c2e0218302e40c1eb30cee871a9f1079a196350f958e8b585f0efb5102cee6e2f10ca9882db743516105b80d612f7028f3473017fd81e5f76bba08b2ba08430733503b55df6c9d8b86644040f84526f399d105f525d511da96143b7c0ac07b351e012f227b59bcec889d38d76ac50b0a55c5977761a07a6c112a1ad06da5f44c45a36cc0ebc78079c39445fc9f5e52bf45c797c9242e28a4ffe70df5c0f96228a1d5d21c648185d3d2c49ce3b03d2095d19e17f3e3bdaad34039c52154121000d675ca85c04f827960f377b3eb85b1fc5ac7ff08c9796811940ed82499efb62e6969dc12e3dbfd29889458ef788593b1719c842f6ae2d08af2ab4c5f0aea08e1a1c90291d82b0dcc49ed29b9b7426bbb5d2e4652f614db3c5a117f054ab243e6c8df2ea514b1f8914740aa341f74bb7f03c5410fc3e86ec19f519120993e02253f8f873f84e9bbd8906881ab5e2b5817f2733ca47c46e45330eacd12e4cee6310874f198fd1a4b457bb6095e526c18d6e15215f6a603c72a19190cb59cf1d36fc8a3eda4ecca859ff70eac58176ac25084e639a9f8ecb1609a70e9c5846e34f8d5e171488001c70499acf3a1bb89614cded3402fce87d4e4dc671856591c986fe7efb18178160aab8a99c14d753176cebbeda18d21cc445f5fab789780dd0ce4c33131b856e018974ad485dde7b15833a509bacece5def520b0bff1b0f8707dfe80598f6e379b679a12b6313b7d2851b413e14bb8c5d72ab17c0ab75805f6380ef92745849af25a3c3328d29ef64be84d1a6c6fca9faddad3d95a8281d6e5fe0b7b4306d3f595632b164ff50576596dd54bab0dd20958c18e6b7c7bc0b46e594ac1c079504de8dd24c776dc9b5afc9a6472998222940b6621d7d813d291c41a0c74d9167137cd83848bc7bf7b3cb06f5b3748f4c4a547de41d4fb9d280a0b76c001254ab650de66f8c3a2a3de01d1b5589abde26111cdf66e11e266d31946ae9e64afff2117d9380e9bb42d041e500a2566443d72cdec67b0396c6d2b2e6efdecb446d39d4631778c3bef479586879e59d7c62a30591e7dd232b0ae402e0e8c57e07fc068fa72e260cda07606a1652ce503424861cc192274d156f2adf9610e664e79032eaea2f8ed288cfc1dfb1086dcb8083774d4583a2e7010b577fad338781ea8d0376dc8327d82348d6e92a97e13f4c4aa1e8d4b290690c6539ba20401079adfa5213c1c754305bf3191675238681e52ced6b15268e23d579fbba4dc512be3ed6a0aa53e43d4194133a6c208ab40679913887866a1470acb594207965ec277545e3f932f2af2ca63e00e1d0c65b524a107b19821d32415ff77b460563cf189283a67a3b8dd1925c19b3ce643d0914da2f7101d8ac495886365cbafe7e04328d2c3276d4426b9605547b7ec663177f5f1971bffb7b39a26830bf122cb6e5f241fc10967fcdf274864db6509ca70017302c97096fce1c122b07a95887c40e94ff61f9b5ddd1ee971f63498788fa95a8cffc9e739529b1f02ab1e892e5cd7f2476c45707df4b40f4ed07568175bcc3c155c7305da0b883a7b3d7d1b1648c10ab28524992e5272e21afe545ca830b83fa85716dca5ad1fb901b9c65115419ece8e6391d8b76e2ddc77e6750a181b3b0ff2523f4a18511cd140779475746e2cde39b0cd6f4914445cd11becc5e0f5347234705567480e89a68e347f9d15391a8d1abd00a9c979abd3dc948630be301bbb682ad780d5063cec9e77cb80d7c5681526a26922f9317a09e5b69ec44670a62d672939eca633205223afca602b98d44e494a747b4892d57ff6ed99442a97bacb9dec6794ae5de234448047eb684f2aec2134775f208d259f016d4a13a318a7be6b87f12f996652f7b52ac4b9afd889191f639c0d935abf27e32797d6857b7c91bf2c2bb9d5f221c0456967337011f069038cf6a6bbf9281dcaa20c63aa053006e89d8b93fada3a584894b9f9ec3bee83d919f32d1dc7f73e62d69c683ed9d43df54210257413149c11da7e3c088ea263526a0fb979e4ddcb7e539733ffdcc073c845f7ea5004943307a75885583a64de9df355eb98f2a2845ae260ad169ff0e2a054a30bbea4d867fbde15bf5454b437a1aa6307fb3920d2c7b6d122fb8bfdcda312a3d17a4666dc341a3cb042201ee513f0c5e5017a76281a8a468d1818e478a778a0191a5f331bc5532b01f4535d656e1bba190014093c22e7334893e00cb12815439e5f79d68eb2c0b9f7fe5edc8678471e97bbbb1ab0887e15f42fd5f59a82c2a5ddc9931dcebf635e09a5494a892668f9e8620f27ae4e435dda01b0e8bfd35ecc2b9182083ea01c86bb3a6df7756ab7225ccefbd6a49c5eee1c8f27cf820bfa2fcdbb73f921fa8d583a93c0f8fe7a1c1f0f6e9c72c07b302c274667b1ede4d769adba1406eaada12a6083e19fd78bf8aa5516a7f6723f5cb100912161be1af95aa3c720ea248e3dfa98f2eb6d1a3cd3b3dc890c5d334f12070ec1405cacfcc1b5700ddcf62ae74abe163b2ce1666f364454d3ede61ec5ac186aec7872fcbda2ee44c8d4421ee41e622a85644f196182a2f931084baa97dfab60e5a93672d705c63f6d28c87e695c1307de9e14109015b836bf90dcb0b93270b8107d6de313e44b6bcf51830c25dfd82c41344080dc53d67ef1d0341dfe92d0e70bf8de045291a27982ee11bcd0b974c4343eba891fd4452ebfd1fa2287b68c322c3f0bda680ab5024da11839e55e1424c789b41a9a5fc50139bd811d2bc6980e91cbffdfcb4ed0c776477f1d64bbf945641469197bbf6ec108e964d1221bab423826a1e01ca2da7cd60a992b37bc206a63e9927903fb0aff6c73ea0379624374a4394830ef6db837e985868eb7199b7681621b0c33ccdacee8ba43a65094a37c77c50c066a550ec659cce77a451c7aa1f1a976d41627e9baa6ff48c6fcdf4d249bd39b32a266adbfbe5ec861d71b6da0082f7cd06c99abe94b2405f6694e6d1e41f83a31a065ea1d5d341f2ef5a94e4198957780848c98dedad97e2a50737ca7e0ad0cd85af1f427f973cfba2b4f0b51a69223d133ff88e059f564e45a4b1855327e6f1a0d746b44af49d87c65b47ab72f8e2df3a6e3d4e4bb101f5839c2e4b713610232d52fcf1d1a942c504787d7348fb252e8e541331dc81cb1c1efbd6e4a61fc295b9e98ab23dbe34f8bce40e0d78b1ab4eab4751c627bf0c82176ac0496523a46636d5cd4c0c793eb08f2063f0a07f29bc8d4ab9d8c0d1a32c4b660c5e215962146a1b3a93a25c000130e21606a2e0ef5281e9ea11685cc4717505e602a4bb4be1a537538f7df0f85beb989d70df8ed21e4fb5e7636e954a17a38f906e935c3c9d3396cf9f40b05d5f6e2e7539898c7019df2acca50b16f1d21e314426f1bfada4aeff695d1776511b68ab016ceb71ac4157156347bbab4722377adc451501e66f475b5f3931c6d2a1ce01c6b10d46bc5c43ab1e1e036ddb37cc9d5ba2280d5745614e5a9487475fba1d374514b952a5fa2dab4a7abaf87cda1e30c10235e348378cb58d667428cbd1be9720c20ef36953d83b09b52964a89b1f54c5a880d5897653b3a21bb47ae6618302af98cbb536b3cff6a9512c3ba927627a2cd1274abc76c03ffddcc0bcbe5e6f09380dde718998def4aaa83dd61547e0d4e89c44f5a1e1b9490157224204a5745096c19478a86b094c2a7ac4dbb73d742722490c3b45d5f3965381beb42e62e57fc2d9376a803f8d6ed1ebfacfeb9a8997fbf1005af50086e18cfed783d1f59cdf409e954d7f4b2d90f8eef198e4ca459a9fd45601eed8a849b6a80cf3b855ee2e0941c912a7c5b8c4246b3bfd0bdc7debc757ff75e4d1105ccbc8a14b1a3eb452040229b2f7ae2ec64f1b033e9c3d34d9128c0851f86cfffa010a890b46ac49aae4f17ead58832245c95b4288e949cdc9f65bbd81e0d0f322b5f25a365c0f354d3ed522a0343e3fe31d7e6b694c0b25a2da29dc51dc1715d69fef4bd66df33f832f20910066417dc9cba1faa4aab90aed5d37e139033c4d048a48f8ae4a71d911bc5e39a41209dee029601b0151a03734122e62e07bbd3a694e2549af1742347776969fec1c3140621b6c7e50652aa2d47b8c279d6ce959a332a70c8f8ff24465172a49289348a9fbbd72b817a3f4adb29a6e4221153d52c0e422a13197e2ef29e8f2b6fd418aa60f4167f467fb89ce91ea912877d659b7943af98a8b05c37635f17716da36596daa61bdca015e34a1d5af5856e1ae44516402a3c53a7a08c60c287eb43fd8dccdf22636529c2d424e3ad6510f7a00464ea3b5d46c404e084c59ae75c24feeae7b782c2d57298ff2f6604d0cb3d3f6e3a8a8ea60ef6e5c2a5fa69226f8cb9916fe4f354f213d9074824bc52043a9406a312e44d3b9a7dde6fde737c60b2bf89f5885237d4d62857bc6690c3e6110ffce8d20c8924979621ba36f93436d91caa0bcc32ba825289cfebf50f39944074b237b6e7b74d85d666919b7788feb8f74a006e812d851c5266d0d79e5971aeec5d7831309cee953c2e704e8a75e0e7b5c8d33534c32472b93406686b60ac1814312c6048efb8397622a96a69cae3029085bf62db044eb0ab4a1d0b21b79540a026dc736cd7840663de68757eb1e4cd381e8a51004f734c5386273ec9fa387155abff2e32402b582dc7c30ec9f4ccd6135d355c009e11aaaab6f10fbc0fd785593727c755af4b34bddb5786c6cdc790bf58b3c1a82e784a8940d6355631dbe9696b42b6da6c0ee2d914cd193a006c74c91a6acd8ae35a114174ea5d5be7aef0d6421de823b649855961cf643ca4078ef0ee28f67e0c518702238685f745b705729bd4ecd72acb4b3de198a59274592de761c9e87f2301c1c9576d3fdf027f103a1df5193d85c2149ec0bb0c7812ddab1c5b926b627c6c616213100bad18a2debac618525740e8ba194b38a279135fa30f16fd82631079446bc576dd95833d6d0df49c3520486c284d07237aae4288f6613c9fcd60e3be0bfc6265c207a6f3ab72962e91fdade2b845b565bc420943031cf93366c3c8bfd492c1dc4c506f54d3efae01b023291266b80ae3fd090aad052385be34a7b6a0785dd1a0657b14362503c7601a528de7bd90cf91726f4ca80fa180294a37fa919d415c8968c7ff898a9d0be11af79b3e0f3ddd681d1f580305a4c70b1ba4423790ac62e29aa202aefd1f2037db433958181974671b15044e6fd3d611cda00bb44ee6cab4f694b97caa077e940ea97528cef2ff540dbfa67f89ceab3b8c638aae182a1911102dc4ea984093cccbf62a08c0b76f1fcba45db2c26ca71acdf60ce69ab609315e70c9fcc6de2290781580aeb03e8b94d9a29881b7f3de61dc8342140f4c54794400360c0f7fbb81e5730f943d0736543fdd5e07cc6a0c0aef729b668551efeea5e28dd52cd9d8dfad4fda5e7655e3fe50899269c926613a4fc1de9a1072126b07d3e1f2896d8c7b09c977cf914bac26f1a9bd282261270cb36f982407d84a905883e632db36e4c841e8a1a289335925095d2479f057a53000ec45367214cf711cfd71b96f1472f19e438c4cb06050160801cb8b9bfdd8cfd41008cfa9134314b4ecf191b41f5195ac033fb97f73614048194f31bc7a10194d138383ca360f85f07de633e5fba5d0ae505aca8ac5c16c2cbb3cd47d65b95cf69f13e703ac0715e00eee90757b2c24ad7991e0816903f726c419edf523e09fd463176990df1f479904c14f6448f53f37407f80ee6f9bae35db6bbb52c17b73f940cd866fddca730be6d2953e21040fa8cd6dbefa2fc20201a2b1999bc67309d30226e766129d0505875f1796872748b67ac79dba7dfdfa16420388b94242a8865183fa295ffc80874618a5e3abf2ccfefc46f2efa6e678ef19164be7cc3479acd0297ab1014064320d3cf3ae8314c996e73a066bf1ec75fe6766e320ac06c917a98f47efc0aeaeea4de1bcd5f83e96175222af236f35292906a65c6798c8809139e0d33854a5194cc2c98c3104ba24cdd6f340678bb1ac4af2eab3832944570c2a8b814ceee04951fdb0303adcaf418c578cb0d8cc3742f3ee24493af22e7596e55235381cd7bb044c0e0704b1140f624617c9ac56ac8159a76b0ca97237e581b8f30ae877bd33eec1bab23fd93278b8f75fa1dc59221aa96c6a32b503b1eb74c7092e19693ff39e8951bc0ff516b0d5adba19df6e2428639787960879e7ae5a7ff2f2e29792a214bae4107f36f3e2f612a0188ffb36659da7a10709964913edfbd75630a5c860b038a716e9b86fdc8799176707f457125fe5b85485955a3501f089637a38a6cc5934d012d31bb48e2cb28a54d6012abf35f3793d7236c1a2d2554a63c3349c43e1c912d42b2cf9e8bcd48e682e3824735bffde9e9e27b44b25e470a75cac4f7aa9368a3d2163ce6e5209d2caf6ecde6490330f92b74762c50d0509720c452ae08bbd23dd16146018d516825bf06f4cf2c5c0c42322915d061ded973dc688cc36867a67d593d0a6b93117363742da3ada3554b8b143f430d309fe8560d862df63e3a8e6e9ff8aec3c21367b3f11aee987852a32ebde56af77779f14d306726d8d1ebf70cfda2ed59284f56f3e5bf7930510b3c9ed2869acf8bdaf45042ac8c8ad1c3df184ac4823024351649014b7be4428ffdcf0ebce3fabe0af1acc8ee771aae9dba6e740bf5ccafbb46fa935b6de57ca4336cf7971e18a03849fbba076d3dc743b493514440875a803a764af246bda98ea2be6cfd3337692d5f6c6d4c41c9e9303b4189b6548e716a4b62e25361af376841ac791a9617fdad67d9b43fcdf7c6b37e1369d5253a2a9e3dbea19dc7ee40736379af9c33a1df7846ab92899f63d6cf056964c44579081a18d68ef07779d4d295bd128077252886a9c23ba8a7a0e9b99ab4b6ac023e1b99837c9eb327c36cc066b3d32f4677497583658f2476ef7ce65a34c63b0c671249d52626627076db0dc6d857795a8b23634f3273528b61dd26bdf18b146afd05fbd1bb056956040d7d0f38dc9f638c03132a0ec4af320dfa2b612baef877be166827a58b920bd0cf1c1aef035e30ff3301c73e20f5fd3a969aeab3b9d9b52d1ce42f55cccb8e7882eb25d4fccfb3d8ad864b60016ce886c95a0c754dfac37b369bdeb24f11224a076b0559610306aa062e755578563765bb93cddb71a54280dd4b0f1a7c83ce235b680d59c19ebc5ea2406639b5c47826e8d082aa4f8d2bb86e92fdb7bda3761a4d69f2110b770ad6a70b7f6f4d1656a65e2aaadcb907ff1ebe1ecc80bbed028c326d9681bf478e0ccd91dc6f8fcde73d6a6eb557cd35284cad5c47da2be7bfcc11c9718a2f66b89b0355c86dc289090b20f8ebb2cf74f40ededefaef157d6cec14c40a34617a6749bf2af438d355c3663852ddf66ad99ec9c26cbcf58d5e2b4569f24035c832607e1da82e41c34972ccf0bda0701955bff117e2afa07627f63d25c2c7d4efe040cc3cec05bc32b900556d55df406fb283fc5fda12a8dbc9b4a6ea1839a7a839bb9005746dfa5835585b2762f4f3ddeaf8fe7cfdebc3d4a97d5e8fce4f44f9b312ac0e1b13ea38e3c46001972bedc7e6a2a79f63880a272e26874da55bf3a63556f726fb37aad072873fae1926a70fcc7b090cd8748d9540ffca5e83d57fe3d660cad7b5a68be761945506702a0473ba3e9888fb194966882021dbda63db70680e6c227fd0bcfdb31b2a89eaf59239d6dcdec642145de8227b4eb3e59893833f9ca8de354b8c16ad15d61208f4dc98caa4723223368e9c54d221654a7ea9bd3dd267f8d0652752ea1ef482d1884fdd1253260aa65282b03d5d275a6a4344c84b324d278712e4bded9f898a9212444e06d38a8dae53dab2fc4dfd3b525b6cb4b5dd84639b5a463c22eac4eded0128ef6a8aed3bb01d4dccf2633dce03b8e45535608252b7a833a0b1cb227e30584059353ca690b107d71cec8a6df5b049e3a84783d48b20fa8af7f42b04ff4bce392549d0eb1bf4986b64a7003e9939ea0a9680f8cb62087424850b1dbd2964e3de596a7391d0baf960eb904976665787fd0161aea1f010cadca6f696c3480a4ba12c768bd37c62593a398f1bd6b7a46fefb5f7e19a854b4bc63b7f0bc5bfdfe472671c69d18931d625a0a51a0f16e77c941de56248cf26cfe1ef8b6b2ee37438682909306fafcc73c8f3494a6ce9f04f3c772071013cd6c6316666efb9f2859c6e05c223464503bfa30cd077dfe342ddc1550ef8682a7b9951bd2ff291d4611c19a46b2096e6423d2e0fa78bad0ba7c07400203a01855ed595ad48b305521624bb3ec320dc96dbd0d3175fc8881dd2aa0327e682dffb9739b65ad3343b0a9415d956ef2a11e1fbc1eab5e827d8d1778d53ea39ff51e1fc6d4d6ec22081924b8e0a1afaa9305475ebd1897fed8ae60227721751f938280ad31b2f0083c1a3f6e7c1fc70a3e30c023e9c9c109a7b8ab9f6b9032a4f409d7aa610bf2566feba243e3ac0ea971f92ff5e2079cd73f6f9f3204a75343e1600c2083e2c91157c16908327c92356acbf6e89af46db37018ac62924f6f65b5857b9a6142bf233e83f469af1bb36681554e2c0e95f59ee459dadf475509e223b361ece9bfb9118a56fcb55a8d84bec9d1d5a22d655e0f442ff5d334d57ffa1390d0bfd1f57de07c2521d6b3b6eb40b2c192565ca49c582163dc7b6785707f76b7b4f29c24cc87710f60cff99e0ac571ed7b6fa69dc127ae370dabd8546a339b220435866ad054262848550f454cb0709c5e8b92baf559d186206efacbb7013b56401217c9d60c713e3ac8e129548476c7932924b753a44a240175066b53d9a992086dca13a1ff0d88093a803ff5e823b899df7b8ce2190d483941b0953f2cbc06300fa5e053da8ed49bed061b93c5e84c08f4e75096a87a825c611a91ad32218cfd998c2e3a9f97d7c9289624cee0c69f87643ab697fec9cfa7ba645252cf1c1619fc639743327abe4967c3a3b6ccda156834edaa18e2245f89d9b6339915311761fae3809f5f895985b0a82aa7f68f1aca20683b27735abf0a5b8bf7eff7a8daf70380d95be734199b7791efacd7f0afd95f5aa6dcf6c5c17c09e4256d4f7dd782364d6365c9fb2eaf6d4d1ee42cbefe7f664efa662781f330e6f10b637b9d9930293d7ea06718667ae6e3b25517f7911a58be87e8f70578031d03a12f0923d1bd49b45cb51520c64798fefcb9ad858a239e7fd2f71939df7026eb03c7bda41df097f3ea132aed48e546f003410ffd7349229a3374f41f3aef861c435d8fb73dae97fe06b875c49743940cdf8f581b9da4344222453af5290f09d31dcc541c36b486d573f4bca642d6bde7d9e08de9a3a085a72a685b7dadd4f2f5504dfb79ab5366449b6b89a704bfcee20ffbb953d0420cd1e1ac35b8bf31f48645fb56c5a344a380ce8d7e590aab562ccfe0d92399ad1afe266a21426b9511e0f123d322b3fd2c8e4b9ee63c7b94f53d8f2a4dffa1dd285783fd0a6c5d06275afc1bd513e47488211fb31447975fa98d2fd6ef201542ec9ba374bb2a7119ad3dfbffc4728e032a6e4c8081e3b5a5d37f44d474dfbd2f4e1efaaf3625a83e0d1a907dca535ec753d3b8d5095958c167c3e6cb8178c77e4cdee7e4d298cca716c08bb4f6459da2755e83491782230f839ab60bc7e775fea9916ae2a00a4ea9f8f7b4166dd8b5b17cee20880fe0d6023622060fc62dc32da1c98e01cdd4f2c5aef6d49a60d84df65aff718dbf7ced2e19274736073007709ecf6dbe1b1f02a1dcfee83fc7e93c3bf266aff5d775c5c4e7b105426c6ce15142ad0662143c5248ee47ab8b13aef4c76e37aed5db3290f7ad7f64c70aa4722466118503e8043a76060c87eae05a7a461e041ccd5991257a640ed29ddcd3cc4acf701295945b62b146ac0214cb6605f57434a71f753148d52ea5db2702a755760a9376a1ff6157577efc7f8d6bcaf700ea6b23da0c385395aedba13bf031919e253110eec084ee6946a6610a8c906ac0dc626c381dc22a79d4f74480b902e8bc97945d871155c1743c5acae57ae4ae688904633ee6aac79c926232e9cbadc19c22815ba012231955f1cf1978d385755292b0f245f78ca8314a8d87790ae2fee198b845926f7ad99de8f4a06903374ab928ae405217a29425df9c56fa3041d76d9c8c6b53d7edd1fd1298e0ab0b0d9a7f832c503b52e38734e6ccd7041484b843fa2114bd35d9c1797b47c0139accf08ce792e2a2ee37c4ba4fedd784ecb53d36123c08b47d32e2f63185f427e53b9595f686d23e8b76fb99f156c4433f9565cb2f81948c639b505d92315875a28d3ba3005be9ab3e458ce606ed5bfbc6d662272710d897cda68ddcd96a4098661c7bf586d4b49e938a8da3c35f0dea61a15645841a6b753f212517bf67f3157856fed92df1b90b877b9951942714414534975b5cce9cf8d654a6fdbf22672756ebc5f7045a51413b487850a7166afb201dc0cdcc977687922cc613d899620ddebf33c952e766842baa0cb60c61fcbacec41178d210ac76bc49c405336efcde0b3d0304ca586d8c0455b8c8b1256f8f6676db78f93c3eea1ed97c43e390fa824b44e48df88b8e87e9587e10dd552e55710de1312164b4e576035c94dc846621bfbc6785df409f6c9bc9c5605f802171f2a31ce553accb7727211f730e32b9b3c8d3fa4c49ef944832975645a1ed336ba689ea1d2c4f3b0bcc3e8815bcabfb1cb17c7ebafe0b60b537a6935c127f1338570aa506917735047b28a2c3e06518e6cc6c2b8e836e7b2136cfeebfb4136758a2805694a5893f1fefb6aa19bceaba588b377a9d270da05b09b8e36277418c8a6f073d925b47314ee2da8d01d0ffe9753f9314a47e4da42af2e03ce2eeb925758d077334012269b3294d190b387b1d095e8f8c1d5715ff0688f293f0cf7c6340306aa8517d6ae1ef27231a5d1ba49ff341255cece51cef0b0afca40f2356fc96e488a714341e7fcbd2f3f4fadd331c1e2214dbbaa55ac7434ea16b600abe3a44afd2a53a93b9d8c7b586c39ddab2f6ea6817b4d836019e744bc90382661647544ed3a81d60db560e5cff0b3b2fae307ff581c7c5fee60e23892c2569ba605edeb1e32d83da6216a311853822f68e3b4b6e8f06755a833c5161bf3570211ef047e9a9eacda7bc53cf31bb1e128c3a2951363837728d73d3d565f6abbe0311ddb07dce53a69c165becd9bda78aaae5b9f76a6dc8ad4c4f5c58cd9489fc291fe74f9c18d18339f1b1646e37f6be9088b4b4fa7c7fac2ef3e28ba1f32c4ad5bda0768f6f9c61b6c89ecccb5c130960ab03104dc994d399a17fb2f52067f7487d9d857c83880d67486da4dd8abd01a59c0c1a166e39796b0dbe8c3ff2fe30f85c74b0b81206a3d84988f73a7952978861d4813cc069e22bfb455e8810cebf046984e21e4ae60bd7d9ae697bbade46117c4eeff1afcb1d88133c7d0e82758b8e52d8a8480a18257e7feb5ddc08245a69c5a4b8517d0b39dd05b088d83e2eccf5feb0442e7f809f95f044db36839ecfd36cb231efe6061e4bbb95ec8aeb3d75ae77728d605c2fa5a52e15a50e179181f444dae3c996d78dddcb6749ab9a27501b3e64bd0c7fd218a4c50bbbe56797bdbb3f117328a35532144d036fb1217f1a7f733dd65330b21a7576944902f7de145027ea9c645f6ea434681eeb008af780c12679644854dc6dbd727f2399c25fbdaece4ba09f9c3fa46218ab970d5f2b59dc95ca738cabc95104c21c251321377bd88b768ffdf74050bcfdd33569e14c99e2a74d9e909e843b65b87e4145eefa4cc29b278aa408632b2898ea6a242c0d61925f35c13c840003e6513b269efc5b1fe8dd06e5783a5fc91ce0ae11748708df64d1cf9cec8c59a5f4792da7212dec0223b706980bb85af6cf22bcd14f7f5f65dfed298af7d08e25971117f6360d896dcef53c3f19a83a7a62311627ea594089ccb49ca04642200f9fc56cc74cd6a3f9015b680157d6586dbb565a199407d864dd2efb1714933e4e18731217f40211235940f583ba321ef3692e8e6b8ce10cf3d08e677b1df9a253d7e6dea88d52233d546431e85f819221ac3ab337d433a0d9275d9fa5c2c6aea91c647cc557338cbdfcc83a1bbd787718b71d4e86ddef0eb85aef4cfb090e768e61768f144aac294a3962590d51c3e9a098ce15e3baf6ff8d955a19ba0c361914503e0c5ac4f806299eaa50d885423168425ac35b9b6d860b612aa7f8308c62a1557488cda6ac225266e0e5ae7cd432448a1f877e1e001d558ac1bbcf1ad1504f0da8c8701e7b703ff99cdd8a9a4f823163ef3aa47a5d7c39a1adbf3286770a3048e5bddaa776342434f12fb304b003479b5fb3380f054c40c48515340f7b2550bedce50a066c3bfd25501c7a7eb26920938a4e51cb206b11311b86dde0433e959b2745bff404113362a0a37e9719168fb4550ed2ec9d9d9245a3acd3b034349a5cb4c6a5636371167fd573cecb7baa72cc1d7f28733a2e221448bbb3bfbd70f7eb83454b86bab8d184951d82082417f4aed27709f76d58af4a3d1c6ec74c24249cfc2f45d17dae67a74fbaceda0ba6765f2969482bf8eaf21249552557fe4d6831749d9cfe4c25f4661f8726cb8fb89ff1432f0cb80964db6be81697a92dae6c71319991482bf44ed8f29fd73f67e3d39ca238f41f4be5d9d86ede1dbb1880dbc8377955febe9d44ea20842c5bdb6d789616f0aed42379dbc9a994bc8a8e7f3dbaaf3256bbe19db2f0838ae5be607ca906051f99484dd5f5bfa1b2856e3c70eebf3fe7ae604119701cef2bc3a0ab4ebb98c90d6a03c8b892c90d2e3c79b0a65be57d996d8d6af69915dcfc62711253987512fce952f129361a736cbef4d21247afbd02e64d15a5e89202217a8c87743ed573aba66423c497a9df0454da771b8ab537d95c9f346e21a28904c7265f7dcf3b1597391bc1b824c2a94456dc4e7c95c931a757203d20a0113bfa6cf2bd9726c030df4cf8cbb48cf99e0f988121feb8120cb8e5952b12b57b9056bab9d0c13c0c670aa2a17f9faff53729e88c7d077c3075f35cd704e4c673dc7615a941a6a65c79f8dc6432cde77ebebda3807545cefdc9382349f88bb74046329e5643177472c29bef04dac20717f2c4f8363f6b72be75f07eba50f0b7909b85c5385e7411cf95f7b5d4c192ff470b2288a466037e34c89c073a5927880d273269943f1ee070a518df4058217d93f2d01078e08235ed99975102dcb1195a5cf07cf8d8af1496bd0d30bdaf1725d7954d22a4a8bc87beaed7d6223e09370b98f5c8dcf9f18f65ad44089354233370a05e1eef4b982ec2d2a929dabf5413646fff0cf0c5fa8249a5c39dec71bfa492c4450ee5fe0af935a776ad4ff3f31ae8bc457adebc3d6bfc4f8fe37ad0cc330a300d5ab9d3698f3ebe1c3b03b7bd24524bd5e3badf58e0532ae9453f37bf7cae746303bf1e9eb8359477b7d138a763157d4f44ac4141e6f1eabd3fb1600845c1ec850c758852bd69f3948fa6c6011906e248ea1ec32e2a02969620d96e1c66b506c87ff95eb716f745abc9af165fa1a081a35a968f15db10836de023506a40ce4bb297fd67d9d5b2c1fdefeb9cca43bb8278f87bd483e1f7002030bec3cda9e1a8a17f0d6213beaa47124b5f01b47f428c948f5f9dcabdaaccfb97890b168ec0451ab22e2c9a39a6cbef64f3d5489fb94987cbb8697788b57b99eff9d5ac3b90779317711d30df022c59e3f116e43166a55f4c44fac41ed3fa4ff69e424ceabb7cea54c387d28291ff5d47998ec2a620d38670189a17caa9b2fb5702f782a6047ae39789a90cb4534ee91a22304593c3a24109d9b654e2176d9a454a69a8ada6ade9d200e93c4c1ce70113cf710daeadbb18746447be6f0e939de68b43bb88a04d17e1d31a569848a2d56a21c4b29b383002e3544fed4fd03a6009c1eb898feea6f7d730463f4aeeb3d80249d5867aa31bab936451f46527abc6ac3cec7b93feab3f0fbcfdab6bbeb1da228651b2a602424bd58b0154ba38b3b50569adbe4fa534f3c2348324b0d3f560dd95f7b90a6e85d3ae0ed85f6433db1c42ed5011f29beb8b01142830a840a1add22660e2bfc8aaef3533e19738d0697aeecf383b6e3b481b77e2798164931f54533144ecd3f615225bf6a21be527e16b233d98b3667990811fb914c99604f477787dd95f350daeb752dd38455b9876620ee17b2dde8881e594925a348c71607ab772a91d5ee351693a9283536ace84f5cebf1d719bb8d082f6d2633d2118095cc57c8e73f3ab5b11a53d214acc1421a3d92a8e305f8f8ff28d644433ef36a9d89b6be58489ff03e370e5a43435678ca5d6642751fe4e2e31f9d98a858d0d33f51cf9f3bac70d37c5076176fd2dcabc7bd6ae684bd41593dc0f60dfdd89628fe7d677b2635d2f84718a432ce564eee7c1235022604d98351491c653c68941328ecf56c9819f6da66c91f629e5a049933d2dc1bfbaf2632ce9f7c3172ef371aa8d2b4db3b8ba14e989b3c32c1308295353c9d0a2763ed12848dfcf80dc77bbec8ab14f8b4dc668d6ddd565890b285d9365d0f2ace847b2a579de643d77a7be97fc1165bb90a45fa59a6236c16f5ac520332ee409051b41ef9b78c820fecdf49fe556497d0d70f8d05033b90dbd83e4634e2e62ba48fa796fbe271cc2eae22ae088cf9b1672df74b367a8a94ba23201e2d8b33f48f993d6104512e45ff6377fb139a669725fc7d4e1eb79f04d15d2266f163228f83c2aa984c078d2894cf2d6c337054267d29dcf225a79afba37ef9edc213821490c036d2a016d460efbfd6d5f2b313d630813e442a9e57520b954820bfc38c00a342175ab9a4cfb97ff8869c52257fdf275873343297b08d1251dba70ee16d820a87a3abca44076b90e2387d5e05e04d48b3840b11c70fef162bd63b049447efc5609fc2b06633944af42937dda3a6de0de918f11eb3f7c8855e5787a77dac64a6803c112584df59a2e72f52b22256e858f37b3334e9817185dd33357a4af357fb131f9036760df609d57bba75688399d299a152140e64795b2ec05b89cfd69c37a1708b301c621cb1b4364a2140069b328cfb49acfd494e2014320447677907f7192bd71ee90f736f9dce0c601744a4d153fab532baa4e7c9804a825685c550ad85b94f57357605d077af5e05e831cf25162ba5fb7e4908d1f0857f112eeb37351480b7a82197aed877036c2f53bd768cd20e56099ee24f8e5c78d525d366c091a392f7dfa36d94611d0e94a657d87bae915d5a57cd7c3ddfd837d7d12abe8691dd4347c911269902426aa29bba13c55e44babacdd0c04967ada9f88020a102ca81628cf7ed035b860bec9e0b168ff1fca88803c9da1c6a5a9d025b2d1aaeb474dbef7fe9257f6a1505f60b02afaf007a3ae034c9d351673b9aee6a715d663bdefc5ae4191ed9a4bdb7d448df8b07ffa4d43fec7ba459dcd281a615a383fc7d86a79aea5806f8cf215f92fefb04a6f458d5c3d3504eea9cb64d22aff399daaaae752431fb7f63e8a6f170af1dd0d6f6c83126bea88d6fe9859355dd6de466d257dc2834571105fcf13be08e0284999af226f0d1a7e431d78b7d7bc99a5515add373d698dd0dcea01150312fce48d4701e793d6d943dc9c70e615889f8a4b46ddb6db1932512ef132e71dfe77c26be37dc67e1b981149b55db866e43b569009c79a717e80e15b9149b502cf173b8c1e449038d8ce9dd369320c42f07e33914d8cd757c657e5aa8ece8ad3f9dd830dc36a2c2722972c8e5281e918d3aad52c5dd3f65e1f7ad1a5c8cf1f0427658a046e1db6d5e1ab68a7cdaa46466936420c0b82bc7ab4859a66b99211437a10774e6d865c3528fef7f050a801dd3c1178e64b3849bfbecb013dde8847bd4840e3fcd7237089824c80e08d5280ea9a091536e1930bbf300ad4d33a0798e82e2e0f4d635feee8ee8400a9915b16355220134f95f9eca2c3f2e49acc8c299a4a8194db97beb9dde95178e9ca418d8887e0bbff4639838872018214e342d87f4d6a36c0da944642e30b6befff5635bf5bee70b2b89bf66f5d14db9e49a87c26eb12a434260c938a191f5c3ce175538d7ffc2b9f725e39ee10de75e92edddfa09d7d13c83dbe9b5351d45a85fae5722f66be218e8406636c799b03737274d76d5a6aefb32b3a87804a17922ecdfb714bfc75ddec81a5aa8254142eb6cb590044c06618b7ded48ab2efb1d67dd1ff434e57983a6dd9abbb6d651b49333ce84c7d7eae0267522d111ac8c3b67bed46a637d47c49e9b3603afbc92d6f4bbe837235b40d2434e1ceb773e74c1f905e62d7a1b3d925fac7ade285244b76c931203d92776c46a868d2a9159382e4ad1a7dbafa6ae3edc36e7cc0821dbe4cc118c905206bc92a1935454c0d0c08a027237c87c0d3ea136f2757c9d667035cb93ce99c3b64f68bd2316ea15028c2759b563097efcd9da2c358284a534e1a10ee4d24d5cfebe35fa2bbb9740085b3f02dcd8062ed7cfd8e2c3103b23746e1a53e2001177d0c4b286567ecda6dd0b088fd4ffed35a9cef862c71a3915355cb3d6ec49df2a51eb7275da9e9cca942e0cc1fd32343e3661fa206c3ce7404e8541ff7329aff818d47047eca368bb68822043f03088a2dfe81382e26042513aa8acff9c52c62545f84f87766607ddddc81c78318ee569df4590db051ac87356acab2a0f57b8a7ae3701b9be10999714db4cece00b0db68cd632b9f40342250813a4b6623ecb3e2f305e5bd8968e0b835f6a9f662dc2aa690b61fb6cd355f2e4a9d682f93e5423723cb1d36c662417e4734276f83ff8928a7b6fc5c1a0fbe235f9c29b05cd1035fe980b9fb364386a15ed53a963283d859e8894fa7613c349b61c9c316c3a4e1b181b462c09a8c939548609065d09058e439d1c790917b501f89545b590a35ea0a8a8ed58bcafecea86e6bce197ef37b0d5afa943c4ec4d30b54b5e4551d194292ba2b32117f58b6f474b3e68c9d7bbdd687905faaac3ff6d3badeee8db04adb6ee0718b44d4d9a43e5d8ef667cb41ba9491a58b6ad13d9c63d181d772a60cd56ac690075b432ad4e96e8e40a25a2629fb7669de93cbf4a01f94ee59748c539848a75d0f50babca2300823841ec8efab8d0ff6eef3aac82aae8419020d8a250415a269ceebe513e5499593da06c73678cb5b0dab841fb473ed90102ca2d7e57ac299aef53e159ce5bdab402fad84352b87f39bb7072cc695fb54375762ef29e6cae368ff03bd617ab10c0bb2eb8e04c10bd49ea1c10893691b825557948d5db2abb44b0272c37e8ea0735b40c13bcd889132fe66d6a87956a4e456ebb36ca65b570e5dc4b4368ab298e9de6c4ebfdb5c1c11b1dcafe46202f4c55aee356b424964bcc2673c5531c6d38b6eea845c72d4e614edbb4a5738621666fee74ecaa5c0030403cf9e958aafa2a8b2330a69db8a3343dbef5de49eabeae054a37fdc72bfe38ed8cf771960a73d72683a608ba99198ad8536cfea4d51262a1c328c37ef8fbfae0e1705182e2ffe4912767c055c5430f21997c726bb77920df39913b492638d90612f0309a8f5f36492cef85f74a1852b0f255c385cf1f361c7229a9d105f95c5adcd35e2087b9158b88f31a793bcb5ec55760e6018d456f81d58690c9dff33c33cbc89a1a59759b490a0583278707adf3e93ebdd1cb970495375d59b42a7a22bb4cd701ccb396e2597e83d0819d0e4781d9a79deb97145a1890a32d4696faf297d9fe486526faf7420cf4f348c45cd33105ef83c577704fa3403d7398980977eee4c55e4a9491542b321f7bb6049ec70562e89cd4a652d62b5953eb0166f62d6fd4b94b1955a18150f7821ee2df0fc7b1fa04ce475d6dcca6cbacd49df39f4071a3d71188121946cc8b5aa5738adb64c2ca9396cabc197e4525667016747aa4a3beed3037f2e954f8c702376b40d484d8ee7deb1c191c97ff46253cf4faa2b1946131a9fb8613ffa42ab8c2ee5bcc991340974db9ae2352cf0134837e66d7059467404635dff24828d063f19d6a1bd69d8130cc8af09e8ba2ed67bf5a37fd40598b5fa9496f995c916a00d4bc7493092cbf1834d04454200192055c438290032252c5d2e4fe7b01464333b1963fd569b2c166ca21b4a2949adb4e8c6e212816b24fe5bcfea80c1f259b9644099a9d50c5203257cf9d7daecef955e61a565fcb5b176fac194b7ac9b93cbc72e7d2ddbce50a23f2b8fcc0f295ac18f6e9ccdd27b26764244735979c56830764433fc411a7702c44874e81ec260888dcf613858cc4e2c2e7acac17310fe247f3708b24a6b67e5d8b0dddcdc479c6c920a6cbb757c8dfd757157899910b44b29b377ba7181fb61c0b341f67790dac8521341d65f516d1ac0572873b5c4c0b26c47d522927ce924d91e32551f224eae5377903734552272fd971346e76aefdf8cf1084534e709e677b2d46dbd4cfeaafdfe75f53b3e60b67041dec483b4fb1bc8d079c43223fe3bfd8eb2fc3a5b3a2a9efd9e2610436621558ee5cad7454af9e1b78e69f75e6b766f8c31b549f7f80a284b27a5750b4fa38034f9e14d1144662c5d8a7d182e7686d4f9eac7ac4ad2e188770ee8c2d5df80b6a51ca0660399b3ccddbafa70ab0168f51e11bf7349e15f9907effc042a2d7a7fd643cd178fe487f341683549204737dd1bcba23088288bf20f24ba21c631861a5613c9486259ad682cf30f4e7bc318f4bf2e02e365010fe3c457f7abbc6ba2c2fdf6eed6613cf19b023d6c7e663ee8167b74b89b3868b936daa0f0f1590e9cdce64676ce3a43975f21b202eceea74961f22bdeccf5f6454f842119b8ab08238c0b5d27a61ece8a5b5a6597e0f37700d495f62d056e89b2727ba36bc9ae4a2535795d40cfd25cc46f25997469d734216ba882440d0ccb61ece35999a18e087f3c0afd7f4616cd4b38a04a0f909fe740c3a6e050e853a7d779d1c09ccd4d3a32797e89e88af67ff086555713e08c98a78af3a7738003ac8938de341ae22b6c122042c48852a1f990550c9bcd5715c816c5e566c7384ee7ea3f6ddcdf17ebc430a4945a08f6bc9190bca30b471237dbf8e699f81e7e8139ac03663acef9f96df88c46651ab5ef3827acd5bbfc0560c186ccd2a36792a959eb6477d589e0e2e80ead9870097a94dd1785fd57d2b694d313229f10b5b1d281a6cc27403e3479289f97d8710c2d5b906d615ab99145c7b423c670020be1efb2cb85351fbcfaf23f177d4c40ca8c4bc8837390f286af79f9ad2931afa7c0f93f2b349d0c14ad6295ab7dd5253e5ae301a8bdb91421e6bce846713330a519d13c50fb2a9c2c858dcb1f53ac0fd710e9cd81f07964ce5a480c22814362ba25b3f8966413bb33fb5f121a3b5a8aa6fa99cb979d0e6849b8c42a986ff3fdc610b720b1a4ebb703539c8e127cacb64c1b6c56eaa2f1f7fc5d0b8dcef0c9cedbd3bed4809bf88847fe620f5c7284a2edb929ec63e406292f79480bc2683e428a0a18fd92cec4600c9768567e40b368db3c4d0ac77414938eaa067a6e267352c62fb2caebafa86f8e01c4c475ad2d43f1d877370ba0be570ac229a905ad4346b9e9e149f519d0cdb8bc3b22246e2be7e4bab8039bf95dbbfe64908f9862bfdbebcfcc3bacff81e5fb406afe5f50641930827db629a26595a4dd31ddca841d124e147b5783df8000c473ee3f6036a387edc95fa0eae5b14cbb499ce44a853252a462f051c829c8f81e82c58d73ecf7709743da815e47efada6feab1646304b51d052852cf2357c072ae7355493d68c6a9bed3d48a46ef43c4877a49ca3bb8177a3119ea7af17c2e385e7f4ef5caee084fa6bd3bea17b48d675b2fcbdee80617f0582769d2af3f1e2be598b364777aef106b76caa0ca5204cbfd06e4ad2f47a311a1d9532a081bd3ec899e95f50112889857fadecc09ee359a38fdb3c1abc14924a3480828dee90b3907feb8bca38da84a10d42268c957e1bb281707aceca0c2c481d96c713f89eb26c17b6e984b8680ac407e7b89e22c409bf37c5937ed8bad3132b7907084fc3001e51ac88519d89b94dbe0cd9e71e9c9d5cc6035daabd100ab7f0272d64f80350e63feef4835f8edcd3fd8f5680c2510d9e9a439f5f7275858b5aeeccc1b398063660ab30c1719cc1081faeb44673db55ce926da91d032a03542543feb38d29567d9045aefc2617e7488c41a2da007a212870a285445786fa8e4f6e0c7dcf5061b6ee00019c1bd4ce4c3e7bbf4e05916e1a249311c45ffe936c2e96300f4597e2d4f6417981f86b9f1f55a159966ba73445aa4721fd24bebcf45835344ffe3e1163fb56bec03f3b26afdfbd771e15bd8ea940f7e7f36b8998e539a3a493e100739f91b85e499c946bcee3f7a55eb355c69e3216e58b27fec5d06bfaf1c1569f39e1a966d881333732e8d05189fc4707edd8dd530513aa2778d657c294be7eb2ab0fb688eead542565d3de002cf1aeb31b9ab02e7f9de2c835702e154cb42540abde0e33421c5d7d35b79c3c9a79cae1cfa132a119441431436f83501fd0c70739309be21acef074908ee5647b69f5b53fb2aab82303b73a8be0ed3bcbf86813c7e01976aebcb21e816525f91412e2b383c74c95f152460b7ae986338bd1fec3c74e1fc9ef292db45391d2a0984a40650effb77c72ade8090c984c7b1f5b57929dfa3e11cef9fc871b86ea487cfe68bda93335c14c48e5c9dd14ee3d0f2a040f7af5424fb4789b32a5de0a8d57dddd8087b9ae3c67d29ad2b3c18bd94c5e18e62439860e5db11704edb94e8a6001c8bf65e751c15738ce727a1fcd95430d00859706041f08d1a88ca7070e3987c5157773e187e878850243b4fb04b4a760d1c6bf8319d0e4dac0167292198b085d4aebc9522816068e157b5afcc4b91bf99132982fb7c637d6760ab0a5cc8d7cb7c42b4e58b385ea609fa98108c19cd561f98501a8aa1860ce72c927f32c69e87e38cd807a082623d54035e2d5587e86b4dc6a7037262cdaff9b0e3be87c5b63e73d1f693eefb2f757524c490e77507da0bd0f374977d1d380d42ea0a82760ef26a506feaf5ee77d401d1ed1d1728529eec13f610bbcd3521674ed8b61c570216cb55e0e9245883cccf79f4e6c88bd31f2e69e6bb91c313fdc2e788daeac36e63036de0cf858f2d6ff4dcd5432bbbfb463c9d3ae088427adf173afcf66e9a3fcd8c29313dee800ee7362bbab1b544f0ab09b6aecd75a8e18d3f4eea9469f30229faa74bfcdf447164f53bb9490b88731bd4e69a44ed70495a8a41271c63519499c931ff76f5291a5dff381bac2be1a76b2e13dd58cc79067554186a574a3df62d2150e65b9037b5fe3c006662b72a4bcba9a0533cfb25b81867f5346b87c6d26cdcdc6b2b3b966b8112ba15c224551d40166bed139dc0fc2f94ec591046928ad6dfe65022ca69fa015a3e88b4a1fdfe76c74b6318496117c87f0b03179c75465a0bf992f6deaf3f63547c4fc8f08e6dfc485af8834a16e08df8dad5cb5da14ef27005b822e27bc6c3fd108aabdf379ed99e32428d9df75b07a979dcacf1e4f6b8cc72b37d103d64df8ed7dab88b6a3f19caf5376205cc643caf723d137e55a56ea8990067bc5b13f3fee86311c1a2ca286d301e5b9f1a1fb3a55d7c8eab1471e980ce83d3f6901c554424ac77de04e45d3210d9992e6e124bdc520ae0acf8b9f59a1876d2d9a33de60d60f56c754e3477a3fa31a324438d9c22e4e9b7b6000d3d13f0e238e896a4b36f7ab6c859a1f0a55da9e58acf130c11d7f0a13f74b98449d1191726c4a4c42486be144aabb1c36889401ddfb4a639e07242dfaa9b366f4a8746715afeb1f7107041d7ad44c6e1a175760809b70f64ed0b839dd8139aef457df6939dcdf5972d4dcbdaf8fd4aa05334f4123212d341ccf87b6160027d867fd7ffc88b26577fd969b465a6525d5236225def86b0c7d0e1ef2d6d34fbf8978605cc13c422abdebcbc7131b9a8db23d0070afc9b4ab1af8da70c263490e4318fd48b29145e21f6af5efceb049d9cc89d359ed66fdc581b20a004179bce9439f6ae4890f6eb7df4baf4156bb27fbe3bb5e3496023f088298c9710c4030bf80d1edfc4b875511d0028a5b97410a66872e41459ff4feb96909f1b4cca2aac05bbfdca78fb01ce527f039a798026783a262e21c1527467986e5096145eb5158762e523e01c93d08c5b1fa07072499116897fd8eebb09dd766c368e14012b9f57ba38544a8519c6917b154f36b8cec0b619c34aa141731404ebaceb20fac32c88e658a858a400759b3c9b1613fcf7ff0ed5f6c1d93f15f767cd877e1a19df026e2ec83ab6c6a4a4b640bc34b85962491fe3b84b13e474d87df194cce4541302921b809206bfb6da107b4f67e8bfc86002ac8066c3c41141dc9e3804c1ee9cabdbfdd2c9cea561057123dc1c300014d8181ac40dde7b85cb479314ebac3101a2a6f4e5cbf75bcff622d59c56100972b195e74d1bd42ca50a6aa902355629bd3c56f69c0e8f7f0d1a95f5c273e74ac2dcc741dd10bfbefe43eab29cd7732bdd2241dcbdeaa4ac9be3a0ef4b90e776998fcd6048d856bc03f9c6d8f211f9c129f51274fe8536458969dc7f335e03ceb71af792b69bbaea8558d4df657fcca3b7e21c8ac7fa6a6b936d72fc7cf8e6466057b5335bbcce433fe376108742d863669ef918d8fb11b1a8d7166920774aea76505f9cae3c086f7bdf194b264e9d79ec15faf1f24a8b43b2e06e7ea5f00d14950ce40fb21dd2131343e5abd191b073f3269e52a5c421fb84dbc53a94ddbfd0ad524cac9a7682159ea66c576d521feaab7e715355ad5e398348eb24e46cdb7a13a9128a555d249ee6e7607511a41abbb6694e98eb842397ec6b89e05fa3bb631c78afea89a712fef221f4265b5b924ced8e1b5b887d1f149d603db402968e105b9e9ef65e07a856f1d3042f5cb50cae63343203d6a5323669f44155980d54f08f1848338f6d0e6318e7a34ca916e02f841bfa19d55f97fc9cc97253706d9097ceec2ea29d100ded65baafc807d04e278d29390c06aead845bdc1f4399e0b978eec93db437e9ab48bc9ab2145f2bf64fbd7a65f9434c9bb4bc56a5af0ddcf4469985fc2aeaaba9327e525ea3346b386ddc4b0c488aca3327b999c4c783a3b1cc113f74957d82839bc21e762ae84a2371dacdede965138dff18c13756894f8e653193cd4e30abde0e245177f99d5ad18480d7573f7c38de87038cfa95e3103cab8a5242dc14cc709a947d71fb7f6e2ac94004a5312e677d6de8801e505faa479268e8b39409cda6b22af22062899f1be31f7a85987d87534e97e38e481b9e6d31a6ea1cb812465b7790fd4a3a54921423e0db454862422ed7e0b9e9c555e7e68d69d5f5a6081d02dc15e3f21ff367e3a28a2105b921a56014c460392c3756f46e68269d421c8999eefdc561dd55fc6c5e9e8590319a68d5f7cf55b49c1f652dc17b583f6eebb4961cf9ab224a8329363291bd6cca9d9450dc53d06a350068b63b7f8110cdc2fa53f967e0c335a295dd394c7c3c40d1b9d0c6259ddb3a12a899289ad24bfb1f387f382898db96fd6d9008a8a35b69dd9e2b46412d7c40c18490c85d0d5999fcc6595deb133b2ca5bf2f1ca515fea11214b93a6d5135394b814de5eb4f7de36aa9e03265b3a1c49336303ad921678735a1ab946b4166f331ae83c1643a050325af63954ce1265042e7f659cac0b4b6d9697b81ad1c35a51e3901a660ce9d4c2172292b5328cc46a199af536ff2b5c5f5b162ba8c3159745011cf6dad1ee02c1731abd93798fde9d015e2c202ed0cd8b297d927be4c3435e86e071cb0fb3eff363b41c78c26f0c9b9c8c2e338a4b705319ec021b7fb78b71d6653120892ebc9a259df69143d09f2661403774f1059d692643d94cdedeade2cf278820ed516242fe8d6752ba06451cf48ff4c2d77adaa133a901f7b3991d1789358d81483a637fa626b14d3ed20f15683eecd854b2340d0f7c9fd1b5e13044b5f244ed8b768848b8c94bf6a8f19e3ee4a7aa8301cca20e6693c3682269720ee00bdf10b8ebe2ca6eaf5a4467b77ac57da0d26a8e4fa1457e9dff641b13eeebea2a10ba2e45163bd10cfccab00f922e537da013504a6c6b36aba2920152c166f2c35faa07acc4700ad002c80aeff49e0e59d1d94a48aaf1edcd046004ab25d54550344b03f39344cc13d448216e45d95119adb78415ef988a926dd339ec61ccb251b3f4f401306fbb92347fb9a3a4790302fff30a054a8308bc564599ba701fd1edaa032a83b38ab3e7ef0aae8f95d272f09bd1c0db8b0a969817aaf8663019f1988881952a031fa12aefa9127af9ea1d546202af632b2f0adf8eb4b71d6b805a69724229c235561a2f077261c569950a84325b93d943419d4ee74e026854d05b4c83f3251119368fdbd9cf4e4e58e664e6565b2684588a3479599ad192ffb88376264fe87cae0e709e24419890140397492169e08d13c18f56e253855308ae45511895a51ae8ecb25b827e421f1786b993f056f7b6395ba315fc5a26a63d46117b68842025a5c0baab6adbc690d6df7bb1b8b11fccae924a1ca47bd85ed1d4016c86f59cd5e9d419511c558b13c5a869dad6b2a7977b0d971da07fd78be9270af41021772040247dd453ee0d0b70f49ef64597d57838edb1d5694fb79a5ff860124c8cbc27a6f0bfd502bfefd0fc1af2385de8000d536cf5d17b112c5312a1c9389071adc05cffc88c3d728df77492858b5941c293acd6b51158e828bcd86745996a8595065c9effc07d0f6f6dcd352bbd4c02bfa155742abe0a8a9246c99aecc26cdc98656be51ffbd36488274dbf804211670149715e5a6f160ea2f59cdef407c0c40407970f192e43ebc3ffc4ca366410883ffd4d255d80bd7ffd6173909ea609a2fe069fe01b68d992eaa06f8b1421e1bc91ce0f7ac8fda94c13574271c6ce6796dedea845e07837dc980938767e9fe9a4101a3eaef638cc7bb81e1058190ecc65b7e8fe63d97b84b6e64630b0366522c0abfdf7d65793a27f9c1741963f191f288baa5b99c576d3c7914c57e26a2f278acbae79366f4713ef5f5fb47b91e91f6c11fd7b78c6890650b7df0a0dee1023f648e3c59f441aa388cd389049b752ded701779252e48cc1bb54fe753b55576d75d2160808a3b7a8e95a5ef1ff0c8d4623c3f2b7a3dbff6c581095aaf764dfe5ee3322fedf8383917ef8c606069a568a0c6db9639dd95a20686433403b5a22172030548fe872813bc7c65a117201f8039c7f1bb78874628f31d9f49ab0b7a3cdc77308771ab20b284c97a88fe3bf5070fc07d74ef8e6ea41f821ef4d112721c1bb7e8c2ddb24c786c9b50c4f7bcd881a8eb06d3cad4d25816538df3fed52f489b436c273fac759bf23d19e03c989e0a750344669e4fadf6de31515c8b8caba42ac8098498a2bf8c2ceae6a8344eaafd2685950c092d5f8f409a9de3dc8e3d1e240cfd5d93db48fe444bb3ab21923aac67e280ad19610000bcafa66bb234899292aa383f369b368f9c46c862aa00de581cd1a005c5ba50b782a329d3b3bfe0dc0a8cebf54267a614c5ddb278dfccd5b863900d0df7eaf7c5ffa2a4c01271d81460b5b082b711139b5912f7caa5c921e0e51a8961cda8b7d4827ec904b73eef713ca1a412a3aabc0d98339444832ba3250415d76f05f232bdd913725b691027d8e1b6afc9cf85de94c5564e6499325ff061c5052cd411dd24088c838d0ded31fd528afab8896106efe09421b2e2338833676be3e4b38f90c6a0a0ad386d3942166d9724dffb634134e833d8d9fa6f3521046d2b06b86e382460307335fae537994df8e9097e8a6fd9540461bfcfb7d38e04e6ad89150dfda645e38e85c56f1a77bf324b5d4d1e6e4c1c88040086e8a27835c5516d673b5ea21d594152268b6be7ea17b0321732b8426d14d14136c45189c71659aae40f17e53eff9831043c36ab351fc725e7b76c86f8af04b45a3cd30e140c307d7e6a5170be8818e7f3bf4438b51ecb4ea131b9211fa24cde3502892d01bbe1b80afc1f3220545f1221cf8e63489dc1090d9cc267d5f0b40620afbcf52bcc72986981056619813e70a0e01ce69d1d5dfe33109384a3f0b7eadec70f5d0ef1410080874dd3bb1d3039cb53ac4fe4fcf3b3400f0a826a7cac6c29c2ea0cc55b3faaab89b2fe659658afb0324b5fa88413f5e3c9e88d95b3aff551e0501270f3276d4255ee4ec61dc4e168da379b8595e82b3090746a526c44f3939c4e99a0dd1168e220c9a4b7f211d99be5238b795fc537e6603c12239f61adf2eebd206792bce3f640de36931a8346dfdf4ed0cb8e1b9121f0bbf54f855457c29b2be6533a4a3d2d55ca4e8e6db7cd0a99acb665cc226619f28f3fcf0802dc9d25fe08adf3f334ca00a60179b42866be9fde78cbaa2f9813a77177b43cbcf389b9dab04964902acb9c772223ed5fa44758161f0f3c4cf981cbd5ff2bd08697aad7f88d513bc704def6ee42808ff59746a549f7ea2eb9111e04e95dbe1e5ed8d9d0cceff04a510e171c2d14b6d9afb47095007f1fb54dae50145917977f9d3ce644ff82eea395b126ae061a9827f09ce78468879d966792ec076bf26647b3a9269d4bf6317c4762c345a8c64af5aec80ceada90ac3caf0867b497cf39b6043e88d239bcfaa98f7921e4fa7918344c72504346b3ffa4e11d21e583ebeafab7333f3e8ba47084f626ac0706af3ba2291f263c4f5255efefb193e35f2ed52ce9c1bfd59eeeebe8a8c43c282efb67adaab8f3da4fe51f0de49861bb9132e080b12de069c2926294f7d406227c27e021af46c9dbcef9751327b532eb40089afe67013b2ff07e0753d4c3d8501371d003ba39a7f1fa5071c17433632246cef52c4cb9a0b03278d00cbd276660a299711f87568623d6fb922d8b88df08e6067856ce08512c1674a9799dc8989f531f701c3df3cc5bd92010f94755d356a127ec09a8ad678fb78bb20142c1b5345f49160d4d6dad6023adf0720579895011359e4c6367d384d21cd66c9133f007638ee9a61c5f8a24033988d7704062f3312cd7a62295733e7d1d566439bc080dd22b5c3142ff94e0aa3e2da5a93e67456915c581716b15a19d9799781ce5c4c6e7b4e0b37441043f121861630ab2e212bfb68803b3167917e8f43a37bb1b0d36976b15110e6b68a6af3da5c57da624066534b067e3c66d027dbb01212eb2ac8d27dbbcae07963152910e3701ceadc59bdf1fa214bb6adddb6cc1b35c678cc5c33954521cb2da8818695c466dedab90d1dba50467bf57193a5be443e54de8ccdab19d49cff935bbb243c6bb937ea3c022b760b041d1a28aa78960af9a25695d705c69e79ca32d7851894cabc222f87414a211ece9065af25dc310872de08c461330999d20c66fd8db34be7f1379f4138e6b9c139dd95fcefa1d9ff38ab3c8ab232da992295e98d7d7404842003b2f1df18fcb9e54af7bf452cadc81d6676c0fdccf5691e4917a142d1a53aca4352192c932fd22caab5241dae9a35a09a2a235a579b4793a111f86a3c14bbb20f30676988a4b941875cc8a77d808c32a3137cc078ff8dc4512eea20a486ff1c12e70108cb91e33aae52c63f70ee74227e36af85519724df0c07f85f8b49540be234f65eacff3eaf8a8c7c2c01653445351a3c2136c85a4aed8b282171a2388d2990e0257a2eec2edf8fefe381ca28b1887bc9d718174191927a1b8b8fbad14c181665781a5fdbf14377cc39d351fe23dcf0bc934305003759e47437cee53b5d07b79b2144e4684441511e4b4217051c4481c946dbbab4fa11f6f8dd6cadd2458e75631ded482497e9f6acf06cd40505800cb5228c058bc3d4631e5376f3d6d5a8a40bbf0861e8bf7fe83ea240fe27c0f92cf77d09238d2075f342e811dee163d11d4d448d6ce39205231866935810076e9452426ef4cf0ba61c99580fac6d07f080beb2da5246d99a98cd04c81223321a327e26537b75a05af5511ab8ad86ab97d040ca85e8e6f52747e7c4d0cb2fcc67467d9735d1fae1ddda2dfc055e5199e27741d4c8cdae0074caf8f3fe550dc16f6fd438631cb4f19192e780e8783ee51bcf31d82e8fb27523f9246b62a612160dced38d113c04c58cee76b74ed3cf35306845e46f1582771dfb6a8d54f654797e594629eb908cc0913b05f3d828328fbd60d4c7b5459e34323249e9955dfb3f347fea9c64b8c14c0a85f3c93b55b6a810b9f673e1f2d23d6612d42d19cf3d06db8ae46845a438ae0a00debdabe5c06ec53f169c253a8ec0e826fed4aa96781ccdd7a32e5dd49f64e926c7fcc3ce39bdd50c05ebb77f1348713d19d6c8a1ab5351fa02a8869efe7cb19c837452c61819b321ced91862f715c79345ee116c477ded16d0332ee3ad28a96fd25a736631681c61bcfe5dd6980e24fd4ab99d67bd0fc1229336deb66c0c56d74a25bdff4dad698e06e04249c13192678228eb4f621471b9dd2c9c928edbda8d2b9ef362c8c2f264ecd14937fae56c81d932397693c3400f9c6a4c996c31a5ddf8390c093581bb3416ec1b4af285aa4954964752601c7a70c394083ac900f6dd5858ac3bdc716f4e0da045756866892fc73e0d81493d31309f2be8f6c3c3511987d7d0370f1f4c65b7c405a372a8aa889dc17dac3f58e7c674fbf9bdaa8d45b9f7d2f9e4b09795f22749b899eae5e68ab4a5c47115d7ed750fe52eca03c7a7026db6c791fefe28914219bfcddc387ba6b13c07bcafaf532e150e13c6946bc7c1b6b792743e00a7216449636a178aa5ec460deefb3634437b1c42ab7e73ff2cb8acccf3c43cc26506915d9e6d361bd4c89b3edb9549f20b1e27f20cb0d5510448cfc8add207b8f484a333d6bfcf0153fea48968f576e67ff203145c01b568bfd1a312f39b94ecbb17c2a0983457027446f65b8f5541df1b4685f58c1fa4be22b7138778339464ae9854e3d9c6ce903b340f3722a6aa5728dd6cf84ee839835e846edaa514a258829edc3e5ed213d0219ef85fcde5601bb7e4555a8e079cdfb4789f50c7dc20fb75875100e464e41857c63a072342c362a3bc42c2915fa5d749ebdacd11537819edcc7acadbec0b2c1127f0d178ae624d2151e02bafaf4808cb79a09fcf6242fefe1c290d7be846b3b5718d9c65263ca3d227406242c3113e928d985dc87cf3529e127968b22995666a91eaa2e13b0b847b3fc414fe029e09512101b5594b6f35adb65c0c2a0ccc2f4de718fe362fda72cb9b09d47948369651dd33e0650bab284a8e90a3ed8be238b3adeabfb70da0f298ad3fad9191c55806a8cba113a828a1d00f9819da3e6b79aac5081c5cac0fc43b4cc58b70a95bc29808836b7bd43117374aee0c0505b8c29d9f3881b88c92bb9c8075a5a9e372705ac790c1fb2b4872f846bc22a1e953acbf6fce12365c4cf0205741ca697126542114ccdc63762edd0b3baa81d7ac3e0da96e793d62d64ed90331449bf2981378c41134aef26d5317dbea4c43ce31170a248a453ed061d63ca0ff480148bc942b9949ca048985275515d7746bb5d451f920f8ede2c5c4dc8a97006acebc76557007135e258b40ea9d6a9e5b65f70bafda2181a91e36f2c6f9756254573ee5ba88eedab856bebf6a8db5b516abd8bc0bf9af41c497de0b055b8e13be4d559ee4985de48642b70c0a90351ff8c4ebf5aed225aad706e1a3ea228a362c111cebe76a5b7b6769299b3f085607e1fc5ac4ec0dcf5c821ac39532c79dc92e887841739e6a157983cc94faeeb89b9e9e06ded239362ccec9716023a0eae23aaf34e7d5dd7261fe8076cb862faea0e3c79e77dd846e5d131f1f60f650a789de05dc7e55a127c0779c6c113bcb03a0d35cd41d2d39e664e550f41c9364ff91fd711f77864e8a68edbe4b130ab5742ea278f803e4c764e6a26278142144af79f36d975a66e8ef7ffa4a402a83485b25e50251f9ee11a9ef78a9404ab0c7da29884e23996d34915404e317297a81fa9678ba77361778a69116bb00a1934e84913de2f4229d6a141fec94bdc1c2d741f19d4ac74e335ad723e5c3baa6e6c9b1343876bdedc9c5903108ca6cb7c159a6f491d9324261cdcaf23268c8b214383c1df4ce66cd23708c362789221258841414ff4021187b8c55e1ec4abc65eee32a39b143f63822843c736b92eeaf6121c77d1f342359011283a0048d8ecbf43a51f4b038ee2bc05095668cf305dd2902c1ee8d90d25285b69c14f76034ddcfd8eed0f7c4847ff280362a9b1c52fa903c069f77b54264f92de78cf5356866eeb704c3ea04ee3026454314b4313be067a522841ef6c118465c71a3bdcd8679cbf0a063f1228ae65ef6010ff81cf3103e99eaf712376399523e237df3f5bd0178bcf32b62b7c060db0b39873328ba8a613272bbb70db924a97967d4eb31e6548f085cc93b7220c6aba323869f2cd959e80f48c641b48f16dddd67b39c99020df962b40ac46733134cb8b1f8a423c68a36c8c7396ccb451a8f5b86853fa3db10f8ab2513f37a77d1afbe1108923790191f78451562187e8aa902ef17d95d6276d3624590787837cd1eb1eb27ba7b333a3db70e4bee2ef2b24f5781f89c2fc2878ba224eb603b803911ce6a52a0b64e31330899f6dc33e3ea703c55a9f59759ebfdfe693083e1df7863d5f4c947e89c70956db5f288b7e945db1a9344d17eec312687691263e5fbc84e06e6dd40ea708abf94c30a5e966a5288cb38e599c6f05f0454c1eae114b101b5a8f4788dde8d86b63c1cb63e1a768c15b6f177173c1e090cce15d4ce19bd347968202593ce2aad921c6ed4c597760b2d46cacc385d6152fb772ec7b623f82861fd4a58cd4b2ca7166cfcfd9e8b0697523d8afd76a830a0f8dd444e10c3d1b079013ac2efe75af9aed936bc231aa7b70db348cc165bd04813d905753bc938b5a8207dbe5236d9fbc16e03ea99a19a3c7abb40d9c827dd7c42397ec1f3c05a35248ae885c35e2ce7a1987e6aa3bf419f2575794f2d9652a536e32cb9a1fb267c07d8d1acdaef56a0b96d2e03f2805fce1e7bdbc3cf8bf8fc58496f2179652d2b93d683115518ce2287b54230b6d832a8b146ec6e0556f03bbc1277fadf80d6cfef7f09bc5bbd9affe721e37241f81430073a753b7e40ca030afae8031d76bcc314dd48857c4b5193eb9e46113ffedbb21d96949a3d168c01d57d434c236d80d632bc79f52ed621c650416098a1d07692eaea697160bdfe002ba6b7b7b46a20a44a7afd6b2dd6faf587fa1122848d5eb62e427a1cc938fcb369157a781e4986249d9244fb288b83178aba47bc6862a919cebc6fc4fe762ecd1cd8e7aaed6609efc1d3d07165774ed364f9cfaf18263c780d278dc5bcd749549a8991d645d96dda1e1a340759cc9c84b4b7563c2e0e1b3be371a010ba4e51702553bc1f80163a385b623fa23a4f69bdcad868184b79ceddc22d636d1eb4f5812ab7150751869979b34f073475e5a78a42dbee3e75e99a17d76a846f9ec3f59bfd6ae2b64ac19df522c55f4410b3a7d9434e5e62ed65452e158cc4a78ebe000ae5962aacd6e7c62abda2f88124d8ad4da0003bb923f7fbfda491411388596d5f045aa0f59bce7a7987e01991774268d059b1bcfada3f1549a6f256331dab5d16b53993499b36fc49039629211ec63b9373e7436ffd06b9eec12ce0d651a4043138d45a51db09ff2add684091dd3aaa93e2a86aa9127cb9f025f50c5ea69c42f5d4876660e06643a6b3672294c7debef16c2b72152cf3a8e9ee9135f71403392da8f50570f243ff849d547e1f673b61e6b55ce2387de17a44aa5b9379789702d946cb3186fd3fcd9bcc6715a0838a28b65da52250c3abb4e30802bec3efacc9f74eacb96aaef9e3374e3e38daff078c0cd9dd255ba0e529332b76aa89f38774fffbef4ab8181194921b066bb422634d30196f3ab670dd54a751816b6f2e7511ed904ee6d3c26c43e3712c906e82bc26456f1b2ad50358c0843e34e24d825af836c839f1923025686ac78b55cd21f1c1b310c3e289a328aa6462c3b168a84f0d520debc2bf1b928e057900b7dd265cc88d6ab770044c8d8ccc71e2aff732a1f0633abc0a854c71a821f9f601df43bbe0f32fd8c881d240aedfd51ebc5f2ad756511f424c9d0bec4a2acf8c565ce0cf7dcc9db824cbc533ccff2bee39cdb8dcb349559fc96f339c6b45120c6d769f040817e3a1996be3394d1da88eec9d361f7857d097a91de5a1334b6fec4267fb0911ffbcca9cc97659d87124f3db495feeacca677839dff1037c4e49a39cdeab74c0e0b2b70d202fb600e50bb849b72084d041dc6b5152a3c085e83b7a6901fd5dde3bfb34adf4fb25c419ed2bd6fe5257e2d0554dbfe1ee149fbfcc0e6505c2748bb6a9363c20eb6592430b513a1a11a5f625053295605ccf3da99ba3cce57778ce9ffd9547e9fa7fbf060f62e9c1e72073940dd91dac606c1749b52fa160e37872480dc68503186c3443cb84a0d2082c7ba74bd36d2ef8b37810f5287ae515003124bdac38ff463a8b15534138a28bef1ffc98d7f84f19b1891525ed222d58559453f94210f5f64bd52a64bd48cfc78f9463ce5a9dd513e9b78202c136125440f0d48ec661d5430dc5eb4290ef8821249bd386e81149630b9033192efd29fc9c7cecbcdae35b7a51319263f60fbfd6633333029f7915cba2d0672a0e6ce39df05a640008406f2d44ac75bcf50381e67ac8cd5eaf3d74a15b3892909f655143f3c5e249066c00ddbf38bb030c536a6d25e58313669bb26b42d3184f3ef7d7b5da90b863f9e606b52525ed0a7dd0e8882f7c8199da704bf84f0e4e10f93816f236c769290f4f998e2f494b1351b95e65a530245b9fba458864d657be6ee049ab7393afeca328b40ffeb05cbf109294525ea1e0ca6f2581a27eb64625a6c76769afb380121f10a5867e95879defc847958112ceccaf510d430b223b49f3e669c1486bdc55b6a5582e990ec1f84ca5aca9f96d52ffecfba5ebf90011b62a006304a9a954599f3c9207620a5842aa9c21b4c472114f21d88b7cb8110c40cb96a8a34ad68cc7e5baca15f4c8c36bce0ae69fe0a55e634a12c8af12b3d18716ebb0d615dc842a723972b777b3ad31f10a3d5717a9599ac13ac9708a3130070d24b20d6eaad36be5e54ad68db1881eb9ea5ca5d59229497fa867f71f3c01620061e3befab486634d8b8503e00ebac2650ab0b84b346368c7693f2c4a6fa3d3ef866fe5547ff6f0c698614d1f2aad7565720a5622d81d43e5883e68d794192d8472fb13e0775dab45cd691ce41ae5e13191320f9445626e0be338d185bd9e11a8b5768e0b1cbe590273a5c18d8ebcf7fa57022b4862c255708308344ab578507d623212413b9c8b61923370fab0bf964e3e69fbc96f041acd551da28dfb397965ea6b8a841a65fe72fac4368c9a7a64492e6655e009eecec9c65c0f9ff59cc21d2855d52a71b0887914e4f14ae31accfb167d2af392e216df38ff5e994661a5214ffd584828af845572d4b458fef1a2dc8df0f940b22cf9f45816838cd864a67c7f9a6f77bcc4162af8b62e0d21d788b403cd8e0b17583c66747eff81dc48eb0ff75e76368358b67f47c393081efbd4c7089400487e5279c1d0ee8911cb8d4224e25e74cb195027240b814d4483c6804502d41f2b22b490a55c5fe853174a4164499108a0d94ceb298dfcb0c07700a3c6117571a4bfd01f55fca68bc2dc7da871b0217cbabd2777e778bfd4e51e3364b8ad5be21d6bbd9167db0652bae929e4cc643ec464ede4c1bfc56f14090df8992b734eb15d9e32dba7cd0292d751bc0d20ee3aca3db7bd71dd28c85635fda57e02b60559bb0484207df1227cc0bdbd3f8b8a61a1ad6655e97608c3806dfe6b0411e22f167605935471805c56cd68a9fcabaf5ea2a45957dc09a77126066f5c0e4bc9b2fdd8825de169038243a773a0a3baed7541cdf1376cc9bcf62ea178b6cf7d1fd19277150f11b968317f6c84b86a6b3016ec39a1278ee1b110026bbda87733fc1b84b9f34cd28961b4f5687dc82f2ed3c0d91415ffb3dada8750bbaf0addf28c7e217e65054c8cdd865f0bc4f4299f112cf80c569cd98e1dfe8dd37401b04936bb97cec33e68d0b8e90230b264a236a6413ab9253568149b7a6e1d12b06dced3ca7cb6deb0aa3ba89578d91b60b14f7a929d0c439fd235b7f9ddca7e39300e1e42f1a128ec67c1746be8afcd02c2a8053a33f4a62b13e17437f9c528d1e4a79d7c833a31dd7d6dc0fccad47839d9356119edf7c63c2069beb248b8f6ef2af7d8fee38b923a6dae3e6ad911037d0df263e311443120b7b15beaac1f4787c5235043a0a857bb1feb2eac8ff7b2c4829dd386e77a5a88a854ecfeafe3945495a0374c24db61aa213796f81469e46fab7f1cf94e6abb73cf1f4fafed0f4b204530c3ed34d5aa9567c1377c425ee7f87fd4e354322efaf7a4e7c9fad746a959cc9f660153f8c60ec1e584e49ae0c79c1f568d47eaacee586f6d0460c9a1c9e5d74456920dbc38d5ad0971553953abc647752b472f3d9e810c020f1188e2491712b27e67b7c011264003d3a6bc5556be0aabb7e67a4f9884e4d4c3d6df4875680a249e7afa7c17920a78a0e0ff017794d9c74224e0a4085c439f1ad189c3f7b9a4d18d6ca0670bb7a8b950e6dc5598dc39a34edf9315dba14ab5698fc4403cee7f0497395decabf4b51e9c2dca54854119f49c55316d20f8070798c79fa5237422615f08f9ea2b50e38eb769e7967d47cf3f99c69b598c755dcfe5b0313168b253565350049b24889be68eb1ed5d1504c21cf7e5153285deb13fd3392c49f46b7e97a65a4b137194cd502b3738550b36a7b5b07255ada1c0969ae88075d7c843071418e801cb997dadf5f8a0ba800dcf9531c8816eaee273b80ef72ce41ab298fbcdd30b4fe79fc168eaaf645eb63e67c91ff6bd245e116c242e451ed7f50b5ecc856c8957effbdcbd997cc07af4c4f7a18db59ca172b986bc3239982664ab49b047c9d44349c5099b4a7164490672eb043bc3d7e0af80cdc48d993b77f37c6d5fd9a80fbb41b5b9949f31eff801676a1f167115dff2baf99dfb151b0ac75905dc7f047471a26dc45de5c7c0fcc766f8a08f5b562bae0faadf1b2c3fe50bf92317b7517615fe726a2d01da47dfeb6ed0143029b6304a465bbfde21a22e904446e2e7fb0a4b553a6111365b0c8034710542ade02b872dda57505c83d593adcbe4db5fdd8d1157cb2daf4927476a30e9d399ecc40ac8fb2240bc52f3f037829be9191e3a9e6b995b1b94db390eac70462f08c11601d9e8d7431661048c1bfa865d0130c5f85dd2f87a174d7cb2f5fd5e00b26e2266280a74f045578496ce81909886d23cba0d53fdeff99c4f973815d1f708c9579e2868d9d5d06a1c4ff81abf826eb89b9478ba681aed2cba99a1d081cfd80078fe4d6b19cb1caca3118ad997d97de1b495ed255eb4faa7abbacfc1b0e4fa1d4e54bdadc3783b3176dc2be639c1e79dc76a43ded9700778b5e39893db1da029b4d1479f7442fe691be47e39bf73bc36ac0b921f4af85049debd04b2586dae013fb46a30c191356e02aa12ebf821038fab463b42d7b8b556a685c97e9a825ab06ec4a8b5685b055802924b2cb11293cf36c597c355846b1232302ea1cc257b2abe5d6d338af9cc315ef7530065bfdf524c3fdf6a69af7fe562569a8c27a5d807a207e26a576833841eb31e2901e234b8b81fc89feef789c94ec2e51223486e7fb6a28e52fa88dd66d43cff93b2fdd2d24962a960a2c9c333e21af17f9ae3235b9e5abbf94c8bb06b7f2d1046552f6277891ac06f4ea63bfcee17313c5edf9d162de50a227fd13ac3d943c6aa56b74a3cf5023ee99c30d82b1643c02e1a02ae325ce9e55aea3d01e5354057f4444cdc145edf2d7df4f96080335a56c65f63cd7e15af6ccd1e7174d05021321ac9abe18d3cf18c5159cf679ca87faa37da69fb085403c8a00946b816e678d1f0556d09a05bf12bb2db838dbda3749424cc8ac525798cfb45b4384546cbb4e392be596039dd225a61bfbbceb59dfe8f156da4974514305d5f320a5ca00162dd9a13d8d8ee9d8da9c68e5a66765a7a5ce60d80564d2620f1884ba1bf78f925fda425e1b86597a5446db9a7541f4e14ded3ecb20378673cca8efe8aea7f557dd0d69ba47fdabd230ff48384a3759336b634fc54f00213daeb397492aaf1235cb8fb65e3a1641dcfb2d5fefb31d1e7e54b6ca5c82b726fb45d909db71ecd9f3f0da5647c6a0274169a372a6168c86fef32f283b19a402ca4f54ae876af82422d166163ac3619d01cd90fdaa882cccd85e1dfefe200de0578f7e2f5ccccb8cda9add4629c3869be801e269f6e0b0cc47f6f81a09a4fa05b21683df9d63b3ad482bc48604d0420fa596b1b4bc8e55ca31963982c71e9992f7264c0d65627ab76d9ca8af9a03b9440d81b197b0f213229bc9908610626e14965e5b30b1d194c296cf97f38ad54f062bdad2f5f4321ca83e119c9e87f74b656b7fb593442a7f6bc330c930affb2b971feeaca313688c104ae22bdbb2dc74e2240d0587247f72eddeaaee0948548354228627bcca3407a302403415d862a868e8765e985a3374c8b6431ff33f10162c6ebf0b0ac2dcfe7399bb647ca81ae62607060ef7bf8e7a3b37f1717c04ddac09fa5e9ee04582d684b3b63eba26f6488ff71cac7938f53b8802676eec6060c97231ccf8bd391de9352888d618a4de1a6003c15270c7ee3e5a0f2ff65acfddd8bce214c8f6f6d8646d091ccdccbfcd2f8d7667eab5fae56009365bf1b89be34cdb0c2f559f005dcc717bd52103fd2914397eaf648cedb9f22f47034ea07c94127d7ba69b26176c88af82ce022af7a71153f9fc83e7c8a35afb54b78e6b569c0251168d2a0a49fc4e07bb40cefaa6acdc8b5a690e30303447bd7fe4a70ad748af7cccb03fc3acf9b02d570c9152132ed09b38a81dd9b41e73737fede3eb293cf83180733c5f9283367c990224ffef7de7526f132d23061337e8e04534aa7e52877a7c4ff32589a404b51f450e6c9b9474cfaca613ec34667ec9ebc65d43ec68347a00f2bd0fe5b29ef66eaad8e9d1b50aca1262dc299944ea6360ec1f50b61fe9b4df0ffa58388dc0a36931756652a1b6afd78410e2e41227fa57c34d5d8015b953d5a08c4e76ad72944789c5e11e1b1c90ab681b344e16d69d7d3d0f490269c48ae0ddf4699aba179f36a331893be2bfba5160776db0167c22965c2b0f528fbb6b2be4e56718aba1d5a9c29684d1a30103850c18788a1fc59638af6d01d9b2484571e82955e5628b40aaa9a609ba26ebfa042c74d8b468dcbf310f9ec42ca6ca861ec91aff427b99815bd57c5695c72d010a203cd467cb1ec39a2407e84d313d8197769322b4590710e27e00a60f4d96466a03096aa7a2c3079a9a922683c2d72764e51b072d49a08d0b785d4511716fccef58256b83a2a4e5640178b328bb7aa33e6961b8e5ee69e9028aa0539c0375e861d557202f47978badd77df735c93099ab70b8f381a29a649875b5b2dd1ee0574f7730aee8c72ead41f058248f222dccc2b7e4547a7ba7fd850398cdd230cc8d64a01d05fecc27d4f8b07d0aef5f9d677c9a1c86f7b9fdad9db10821b48f26b09b23985aec87163d45a0d1165c194659c0ee511a44fdca270a9aa711229299169e0cb6db2cdea0c490116954defb87f7a524bb55a7fa0dfb63249c45d868679da0d9cb8f621b06694ac95f74a52ab641b830ad229ee970086234d223d0b4fe690b425510fde7ea97e0cc36d0b6227545c75642e0422ad90bd19ba9c2b13f09c6b118551be38a091dd75008585ef370c02c88c3b6b4bd6b9070b85e9e553b90eb384a1ccdbe650bd6b16d0fde20660e946611fd38852cdebe049608cab71b90c512564ad834852188a9e23500f91c95bebe6fbee3bfd998aaed24a7a6ca400ac896c9bde71e4ce00e2253c6939fc59c8c72774cc5125901ebc7e1cf34e36e1b81ec56bdad1f9c1a79d7aff3823f5809f655236fa9514ec92a25b2fea105ebb8575c2cb9ba70fe96a6174eb9d950ce986db080b23749629ec9fdea0911e2ea12f46b5e996f1a260f97a6b70bc6a6fd484f3bf3551391dae6eabca25e9c062b1923e20cba937f23cff91e2b25d72d0efb895b19369c85714b96a79057a507003080891e77a3f6362c613f80c9273252875b8a1ebd71f21beef40d973cf4db59fe592e12dd115f3c34a7cc5f03eeedd38fc8181ee00bda17f7b6caade76e90f669d1e115fcabdf00b6cd1ac6d235a142e6a7a0219e599dc0167710b547ac0e7a88cf6050952deef7bc581293c64d713ce23d9ab6250dc82145512a2ef155c70a49a351e968f090af0b2781fd466314dbcbc6280272da143d765bc1cd39def761f61514959c2786d1ba273c791052e3646926326a447b386cf71fa15651c81d0a84ac7ff3439b1b3398f171d4ba9a8059855b72cca37e025a73ebced5dcb81aff2785b5e966668d9c719873fa2b75ff51816e4f8ac09d0f679a65cc8298d48e98133eb9871810347f0b3a53650ceef599bab40afc715e303a71ae96a2d38d4d1cd3d8c6a97e1f18016635004ae1ef5208ecd3a0d93b5309b7aaee24f3d0b2661d978877c054053b9ecbab2a3540885e621e73bfb82aefe8d588e5fefa0d3550a52dffcf24b5bfa2a75d04a7b1910a3057863d447abc9b496b111e341371a14b9fdd27df9602a574dbdd294a879624014223c33dc85dca3e80f20559ed1b765ace8aa9f0980a798fa947083fdc31c51c22f32b2fbedb63c9d31df492886ce0ecf004f38e1a867ed9ecb3eaee0801f93d7c0f557232a58fcfde42debd5f64e7b2eafe4d767190b6bfb02dffb0187e9c1641fc37056bd257887b9cdc9c1dc388eaf10198b55b50877cc256bb22cdbd467c68f4e1ca3af20d641b6a8f56f371cde353592369f850fe45909415225d7ac29ee9050969395696ec017ed69bc8610e9eb064a3f08db0276abb99af2562c9945ab6aa4efea0b637ea2437057ad7921eab57433dac2cdfa773fbb02b1b760704d895c119a0b1b52f86ce71a216674fe91cd1f44055c64670839c3574964d08f7317dcaa25803f15447a5f9b50796c50ebda82a174b9b67a2061df56b3564aac2256b0c9bc678db6d3dc63b8d89311690307b03711d1a56ce2085437a997adf18529b027393eb8040d98fa6971b1f9eb018f187dee72bcff52f51c2863204e5f977ba5706c48517d524c522bfa0ca020c8e8a8cd68d5026e12fc91d00b8ee5f7d8dfbe65a4bc4c41e2071ffae10d51818a859b49dcb4f6a1a5463788efa34f4dc68e6c8ff21a7e8ad94d9455e99134c3d317e76e0aa6e81c8e66f66b1ba86c72f299fa1ce7c922a6ab03cb9c1c244e043ebc976fb1f00bd12e9c2c135450b48b2d2b082ce51c0a79a37962b1945807eb0654e96bab40ff3cf2e5bc57bd47bc2387242d4ff4e5aa3a9c8aca9cf4f0d53733ea185e92c9045ee5376ce8c51057d73811a3c02ec23721f2fcec9ff514ba98b77444f722dee4679c44c68bed3c8f963fc7cabf18414b791657565936a0b2960311fdcd79c6e8818d733bdc13e6b783cf9248eedb1a3ffccd334bb2f43b4c9e3160f129fc52e6d424a2f1d07ecd7c32aa033079e749bc3f4da3fb97f6cdcfdd2694deb506eea00e2468f0759972ebb65f6ae9bd56fc4caa3873b8d861663a335e8f9edf3cbd1feaea3c759fd2c6346603668f1a65e47b24716bf9241a8665ce68fa6be8641f821e047d63ec9a18965d405054cc19b96e97574580a4bf5b6783681808b6302533ec324d2b1c83c5bd393eb1057c106dc284e6ccbd191db9411b8775eae4c17c681007d50d04ec9da319e12f13e4c41457591774413d8d000b948ee250e05c0a1fefa03640556e1cc4cced62b81e1838d1ebcb3c7c30e27d7809f7a9566c307d5bb91ce7835d495731953b1d37fe7e0aba3014ef8d4539a3a03b57e81bf0025e8e80e10dd5b3b7ff66e88d6f7f21baad947820256a5a7342f68862f614d4a12ea0f29d99b91c8f6eb030b43cadfabc9e75600e1a13a5a0b27db80718f750a5a7bb0cd46875a27d42248c7c62854792e3e763d9bce0457e8221f6066c5db5ab960608698c431f4da949ed8b458920cc43ec279a5816141cee6557f9b3cce7b0a7e22263ec22352113f3d72a5e53fce2189eddd31323d08d778f61c103dab060e207789f47eee1b30a922b417323820df6a0ef7887b7ac002dcfdc6b6c3637ab48324dc2625200faccbff6353951c6264f7958640042fe0fff76b907626588a160acaef947aee750a8db7771d2b9cae904fc0b1db627cc42167c50073917ffc83e296842afc72095722fb327c63dbc2ff5c379155d2a7b2c274b8bb47d0353f8f5cbfe616e5f06a0a1a83a6bb6259c66f464c2e475d4f81616c21739c67b765bf3490eeb8465c48bc34f9dfa5334901976d81204b1db3c0e106ae272049661974c1352d12965fd598a0b2784db95ccd6f55a2350e68687146602bf19d87d650a151a8c37937b457d098e4e0764e4a2d2ba8c3715af35a43ebe01226fa49250a21711467fe9a5ee0141e3731def0fd3505873b3003ce1862ae88877c6a6fcb3edf85d24014a3df94946103148e1884f2300e5cb226ad7dcf0274d90086a65eb7fab94e6f3d8efca0170ba6d02fdafd210dc39b013d478969b5d0a6453933c4751fbb314366baccba71d1c0b9afe747d65b4efca28cdc3d19ad24b682e1c5d72d07651169ee8835914f916af911aad0338dea093542407851c385ef0b4034cd0f19ca0fa65225c0865c6b18fe627dc8676583f6a458c24bd7ce0b7f47a70fccf6a34d018e471200becefadd17e3e674e7bf9ebdf2b37e8c4a459505ed9161b97cbe0355fcb9b87967964317221942d804e132b2c024ddf407d10925847a8afe4e75c75a9eec58e46b845ab836717343c1db527373e34ec985dd12b7cc6d06a83752c26927d82976ad7440198e5f92cf4f1fa41c79a736d05d3b8fe552557c2fc177ba9c61259eca43f2f747fad25a0a4e82f57e5f75ac37864bdc19b658d3827934d021938a3a4d229a7d2dbf55260736c068af1d82af3745619a612c13a666bf5282dc317e4bf66c4579ebf84160fcb01e720dbbc6528aa4e1106239b4c45b5cec01b784d22499b4f43b6670212f021988c346e6f16a26051be26605212321682e4cb3694e5c013f45847b3eb529db91fe5b39e2e8da51abce5be9e98417f83328a77d84cbdf6024eaf24629f31c7af6643f4b7b8164f28f291b52e34616d3633ff28a3c8cfcc1266a1ea090033ef563f845a79938f5189802b0633068a15c097a9179ce4da0fa04d7f85ee02cafa37b1b4ebb2cd44e4aaf2a15dfd58cbd227b72c99a7b23c7192ede15664f66531cbc00ea1e81ef3cb182b9c92fe8ffaa8d7dd74ca7aadb1456fe0eb7c24fc437c5e43179910bfa0ffff08c4e402e999e9dc1b2e0aeb6bbaf40d5ef63e3b76f4c2a82fa1cf35eeb3b721ef9000f3ca4a912c8ccb5a22c7e660930d4593466f63339a4111208734e743b233cf53ac85044a896dbe351945f17523af7afe3c235be06a87e93a4fc58ea38000aee322bf1aa796dbdb29136ba9b6e8ae9c4071553e30bc70c42f5e51c2e06e67322016ae3eb44d2515fb8ed359f82a6f536e0a8a66fe1a5defb0218c9ced547fc5d2f079a7316564e5a36b528ad6504676554cc9a17f4a8ffde37015f1c464b55b8ea450f93a17969e6ebc30608dc679bb53f488dc357a25454556a8607bcc97c9b428818e8ab22363def4427875dcfcccf306766209eca1ec47712bc4cdf1ea2106332e843dedb79931155b0b7c9a201ebdbe42153dc30706004e8b414408b852f37fda5be990e58ad139afd2b1155201d0d03bb91300abc88ca37175d80334a831c322c2b8d8b27275712110163a007c4defce9de19227e95b84a5d6157982b1efabc7e2619471d667b89638986d8ba0253aa81b797d46a4f96b37d224410dba001b93d0df97c442b3369ddf50d8853dfca522d7c6813cc1a1e7d6bca558091551fefff8ac5d849f3a5a3fdc7cb9ef9b0dd5348918de3d75d797f5ff1407be89cd17212b9cd2678996bb99325fbbd50a79e44cb8325fe6fb1e805827f46c5484cf6f2da388604fdc760fb64eb390fc2c1e32429c41a1a9d78d3023e9d46527adaf15fae56125b640bf6794a530947edf54848587a7e8d9e4553d1da42644594bb503e4d563e0d768837ef1513190359fa9c24d1c21727df58b7d8fdabc328a26e77b2575b4fcdfda7b806b352cadfca5ced4a6c9894b297bb3dc8f7818ba07717e053176274eda866ec8533dc2c853ef0bee01da9b8cc74a309ab08f240a3a251655750b689739d31f4ef787294fc1391182aff7708ffb6776da1d3b35e3c62f266c2496a1e1fa0183d1313791f145d74f452f2debd67eeba1a8ce85b79086e7f97aeb7f5fbee6cec64c2f442d8f93188f5e4498a6ecefc82069e8906f9c283a4568c91418ba7563d306bdf9782095deb36765b9cddb25d839903cca5728c4be6adc26f5c4048598fda24dd0bff5f8eea5f86d883c28e333f6bc848cdd0963f25e61e7083dfb3050bd853fcded0ea8b375fae150475bcdb59bcbc8239a6add26eb208cf2ee8345df39f7500c3d5b8e9ebb9fe49ffc615c02da3f13972e2d82fd02c388b597372408be395ef03729991e8f3c1f9703b90d7b034970e8653f9b30770bd01cebb875091ef37ddacc5050588d8ad530d05324ecbf52d16bf32eba40c2290381f490bfa59e543593a35857dd8f1f67456adfb0b2b0ca4403ea5b21ead8f797e9a4d8e7f5d5a04fd3ffca5f0cb645de482a34f191d530f7684813e6c23948303217f115b6c23c8f55d47bafc8919f10a3860ea428acbe6fd7115f45eb0b6deecbda42e1b285b3dc8e32099e532b135c132ac48a2e2bb71256772a73dddfe640175d005f7f6a8a95aba81d6c57aac59e88ba05687312cc0e7a5bb632fb099d2d87b6c3ed1b1c2bb133250558d74744f3670f40b6e3106b07e7d6ccdf1923dd522b317537ca7c82b00e65f10534e9ff370341b6227b536e7490cb580315fb81231178887f9d680d4631842a6d466bafd56867f36a4e6143eea5bcd0d7bbbde970832628ecf53e9ba0f59e2d21047a87eb138ef11942aa9a6bfa3016166849a09513993c88e36e26e5c92009e33c5f95ca028410ae4e463d62ab5277da992c2041962261677574f68d888c16eaea717d5201ea5e5603b0f88121052ce71ce18674736bac18be7ef8c4f1b5f492602fab925d9e26f4ccdc07aa225f310ade94cafb2fab27c95411674378fa4ebaf83bd24dcf29f89315b60514cf2611f501569d85d233a2d62222e14a76817c610aa8d7767816f40648d500c88ac0a8bb4eedb63b7035243d4a66165b51ae9f640c74853271b6ed63c0627b09a8e3129603b033d46ab7a7dc17af44590fc306759caab8fe5395c058cbb882881dab308f35372ddf0b755ec659ee8dd2e86cf1172e0e2a65079246bc8bcb6c921e7dd185da03655dee021e5eb1d8b82879e07b1a012310756f4e7784e56aa90f0be9cf3b843996646d9100bdf2bc6ff79033eff2ca68ac753fa64d30baf07f4827ac4e0d7785f00ad65c52dddd0c4972917342af2fc98fcfdcea004f80f781d32456135732533f736ac3499d1f469b216684c56770ea2f109912f07033be20829b597f561375b830961c4375778edc7a79804838fb7c12fe58ef96cb39bf6e0e9dc3cdb1092a544ad1c8e72f6887451d6ac68c9a137e8e227a32315c0e46677ffda45547c805d2413d726e80191c8b0e3fe0bf681ee37c9dcef4d0608b92c374f9aa1003bfe215dca37908a60db85908232865f2dd474d4e7c65caa073c7b2b733330811434f38f806e5bdbc0cc4c7f844f7f35797967c45f3287395d03f31a96eff2d1ab5aca5f69182688fede6a78c987d7866aab465b0c749f2e1ca9e424d13e8e54bbf9bfe3daf74840098ab54674b8747787b50adc2b778b8f537cf3a9a745e8ffb2a86d7b6bfcde68a9e436dcaa1821b7198f9396417287d4c43009cbca5edbc3921bc94d167c219c1bdfe489c22e21576f9d30efa327ea5f6cb5829b11a39b0338aeffcab8c93a0c04c0b4d947320178f29d65dec7a5aa884f9d46efba2543188a98aee9826ae9b5d315c8b694c35c1a697d8ef42c31edc4fbba6f4fc5b671f327bd8e22415f36f9fca74b562306bcc258a1466d565767a8a9a855273a6836155eb4a45d59efe218b3cdc679642f54113d00a8fc27981f04fce97840cea05dda593c484fb5b50857f7455fa2e92f8ac3c3afe264a96b24af952180595dd0d22fe98d8c92ff532871fc75f06c38cff852a52046e12fffa26b1f0c52da4d654b7fb38dbcf15634f2831cb92b5ab8690c31c57b39d2791df450bd9b2e374ec64066edc69b1ef2375d406f9bd12ef06337a65dd46f5dfd79cccdd25fa0c33a3f35b1e26547ad90f03397fabb75e1e475ea8ec01afc1ec23c2ede59193a64373be4007edac572e9c81ff89043d13e149a54e997de4a4b76c0c4e5f50a4d3f31c4e156516408680d1ce1f040ff876a49edca17ec02bde27e62902d30339d23390f583fdee2cbe101d1c52c039196244178dbc984705acaab293f22f17b5b9976caaa73bcc8f8ba9a508365b30f16b87c7124110f0e462ab5be558de7f65e3de16796aa8af2779934423c2d4b2c5e855e7d1d8a4016a5a8c1c760a5a75066e3c8379f470cccb2ce722583d0aff8eba131f5aae10e27e248f1309e66d0b35f05fd87a95f8496ef88efc9d2fd13b6c985e22a7019f50e613dd2b52f851fd1652989516f80280728631d9697db2c788b97f6722760ad94631fe496eff4556d1ccacf76cd2e7cc0d317e2269753d914f44ff1ddbc392f1ca00d987b93697f52fe967b7e446a4e364ac4cc14587dde55c981d46ffddf999775a1a8f80d973d4eb72ba1c3e9a322047c1b7654d76055583616a3fb9a1a92b99cfb8f6449a77e587981363d3fd48e23c4186bb5cbae1792369dcbe1a054b5abd94bae27a6c86266e669321776837e808c606d8cafd75264e88ff637e192958de68ade74dc294dc02af9ff3ceeb0b17016d6b08e10c1023a1c597cc13f1b0190340c6fac22ef11399472ed2421d924a3ac27c021006e65c30381dacf1843b5c0bee82fbb23f3b37709ecb5ff3cdd98e966d73b45105c2c9cb24a77488b2f2c0434dc8d081c562dbcf84afa7b02485418fa3c6c3ee0119d3cfe4f5e3f96c3f0ac5546415cf9d58f4d1bf51e6527065a423feb584fede6bab34c0628051d206a0e5f48d506c51c62e36d5f680b6a626f1ae9e0d997b49b652693aff9203f0aa9f2104418a26538fb4d0a018541e2f66ad37a6671d4d3cdd45a58f1128a7a49e29c089bf6d25f7eb8f5f4af0074506cbbbb9a7e20e2d2e1ab59c6cb41dcc2f6df7cbfc2237c808f6e904ef0a03ec1048f445f9202d175e018f77c3618a7a9d9a6ca33454da0e4d074e7954b60d0e19a230e0782a05aa8682a7322d302a377650d56f5e0994273b0e6fe2438450b88b51d7d8fd844d514bf573319add272ada911707ee1fb1e9e8bd85506dc999494ec21946903388ab544e408e98506ac971a2d96860dd30fee5696a65354b727866baa4cd514719bf40679c05bf753da6465a33bbc691cd59331bef2482ee6d332b3b6cb1784002791391b510a299bc2f188645385f26e7d87635c852b5fbb9cca87102a5cbdb41bc6762d746ea891b75502e3929287b5fd52048658d4fabdb0950b5c729abfa0fcffb040676e7abb6144a1de76566b0c6e53b7902ed8583902d199a84800492d9d86007c97fbadc63300326cf6e91449e5c746ba9372184b6681818020cbd0d30a283f35927d33d99a2cd392c7290e26f2ff33fd6a5198d161d9cc8ae90d0c5829e97a5421d0cb976a8764f9687d820b144481c7b4228937fc1e9deb523016a8cca8634516498118070100caefcd94645b3de198fa3e89cba433d8f4a3293ce17dd8276f0357c6b51542fc7e69b2412650816343d759790cdd1ec8213186f46e86835ba84659ca09f89ebdd4ca4b7cae7bdfd04b67137050009c6233c97feb7960b1f3646bff1ec4ae1082593f3646f0ea830e236669c4c3bcc33313e9e3777b025373f53d361025218b07a0446e24fd13de7ee80851caca2419418dd95817b7beac6d638e3b5edbd95fb065732785adbb0d68c299d951c12455e5c4ca95f21d120e3347e7c003f8d0b8e40bbb62c341b5aad0abf2e4f0a920d98922b94d2f3a00bacfbe6f5473c8b665f99219ad92c418572460587ddb45bd51453b855a0286eb2430a7006972cb9f0efc0be0098728fa906ef9a971a776cc50a758d110f1ae50af513f12d0b99f7b7c5192d0b17d0aefd5bed9c00524be078778a4074ee77def0749c992c41e4a02b6c1f2b881ea682a3ea565e5ac0e0661a8b9c2393d1ffa42103e3f34d3e5c42f5add80eb1318158aa00822a63e29f3d9503d5b9f7ee9f3f53f02e9ca3ee9c92e2e99e7e701922a2a7b4cff970d34045ab56bed489a9589493ebed42bcb571f98b5bf7b099f8bd2ed0b00101926534794019af4b59dce55ba1d0e2f248ff6003550a7b65e476799db3f5a0271b6e436197023e886982b12fb92f3e84b69cc7d5869c57818c66e095e2f2b90f9fbc9cf7eb1fe356038fbc71e1137d4b359fed1b15abd87f23c67067a9c1e9b3a1d8a5d59dbdd437fc38dc076ee3771c53ea395222b65f83e31cfdcacbf35f0c1fab085f811f67a4c75281701fe107f1dfbd286f67942c72a24b92fa5fc4e796cf23efea9b35e5cc5a2159ff79cd43117043a3651b1824887102a63c53b7573cd78924df7248d8a9ffce02e9357ee951e8214553cbc54ff9ea084e86c478d30ed69d800e7bd364419ddb593707dd202efd389b787e3a2ed1faef1008077ff9170fded58925844f0b7b704f919e9e81576eba85eeaa05f7a553b682bf4f03d05346cdeb66c36ef4933490d8c704b9567f15e1af923790b79d21aca758e3c105ec74cb74f8e953864df35d5b42b002ce9c3fe31d78207c5e9777f73a9d0b679aaee232217b6738a1fc40cb1a99d177244dd06547ee330f8ac40b85899bf5cd5a3846b8e018a97d9a0611ecf92bc81eb28c7df280717a415bd14caa3044d6fb283c5ffeea532e1b778fe1bc8d44ea8547b25101068f84f277000a1e391b2ebee45ac25370c8c9e7e08bf0cfc8866402c8adaf1658b72208ea638cdf4deb864a93c33011cfee45b141fbecd2b15445ede672c0f91e943c2a4d4ffce902ffd0c0e9dbe42f1fb535d452804b636efc4c42fa5af33ba9508aa47f63c2b52d25a54a367e1316f26d7db2ea6d80eaea9e380e2fe0398c50e36a84ffd4c2c49ac774156ad6a09b721a8bfbb390e9a702260f9d41ff7c7aafb2b6cbe3279da7e3b7126d1afc0f1f39d445a7b818aeecc3bcee27b305123fae5a71341103880eeb326eeaa812e76f63edf3f716073d5766a9a5a311fb6b6dd24fac58a9d19464aafc27499ba3e6e371af0fbb212faa375b4d45612ec1741797b9b3bded0840fae1e77acd367f71ae320b45e58b7f07d19c831c2926143d135ded2ac9fd2a5e1513e042f26fcf4d35049d2d95503987525051c7133fc5215a6f571de34e4a9979ae94b4e27793299eda77d2e227fbb0abfeddc83309296774bde114fed31f8d424b59e8250611047d771dd1562482df35c2b6ca4e5d99c773be19cf13d4b1865a7f03335dbe3d399e5c055bf7d3decb962fab05992781e5722b766ad0d021519c19aed66fc92c26133c3736dbc90233897d18a847c942e13d41519810563991aa4df5a07d90a09dfb789953f86dfacf672edb2552694515ca9d60c4e76378230ca4ed9d6fb8f50b4a2a13efd372cb9d0b1834a19e4de2e4dd515d4b5fed016d89a1cecf0eef59edf1bc34a083dd40355f01a152dcadafc9e0610ba931d13963c6bed3c5d4bb31680e244ff9001847483ef372e6005709af9885c154e15b788592cce0a75e87b137a376a330a86a1fe42bf9ad699da163c616b7eb06d15e4afe3b9a57f72fb2baeeddaff118c2f64fda141cd94c81a64fb4416eadc32e55e54a5e391fd9203ae1f2d349d584ece9f5a845b74396213165f4c9c484216769d4ee1d5c92a9deec02f8235e58d68aad0608674272cefb11f898a8c8aa5015a4857fb8884c212ccfb970ee7aefbc48dffbf1cb2c2ce2dcdddd9f5fecf59101331db8d2a83c55b81d18fd0baaa139858f350d02216c689f6846e5332730874e11ba5dd252aed2abdf88e19858fc894f027db9d0611fc60d25035a7c35f0bf529208b6b6ce3bad3112d9d00188c8bd8061ee58192c9e3ee72a8fe675553e3c1da0be69b1b4b33aaf6e86717c44a406cff142b8b02ad62a8447b73ba85e6015e71aa5630a7ac0032d0a2aab314f78b280e98bab483fcf138451a288587c9b2b170eb5bed26ff04354eced0a7fc963e1f72a07c3b02a5f45f65d30ab0a1b8a7592c33a37dab3471324a72a7f9465d7be1f87e3c50b56fdad2a15701b808237bc83ba3221b86c562c07a226f395b7f6d6c5063bc141015bdd2685c4825a8043594c173796c2bc7e4c39cec6a50431dd0781e126172a7f23055f270ceb078fb2d91ba335e965f91059e90f43c1fffc8c27542cae579a923111d81cfdfae10b92a1b0ed14353573e9741e9be0a201e55cb944ff27fd09d6b7b84c141acd1ea3b121fc9f8dbcc7ab3b89178602168d9598001ca83ff4b92801f4c2cfdd841da52a855125695b819305e4a97abacdc78d8d4199e1512a8c5fdc505fd816d8eb1bd5471b6edf6d1ffeaf7efa77bfa7c9ec785fb4461e046e98325e6578c750d9c739e38ffe8b11ce37e5c112c9545de2b0bda7b2839a3988f02c9d45453509d5934714e65b040b6d3804c9e71441f82fe08b053703d84f38dde5c2a4c932af84c6000d7d2ebea80aaf7a90700735056e6e3179756ac71f437625bd3b902b58d158613a787e56e93e674872c6867944dd32d1a870b6e7b34c46725f526d0129a0f116dd670e7f8b4dd144ffddf07a201234b83651adb8e4dc7e17d57d52d574d71bdfb435a1f22bca095beae2e6ebfcf48b20c52d16c55dc580d3544928ebc8bbfe02c324166b7c30cdfa37a4599940031e6bd7720c0a84605033fa00f02665554555f47b213fdf99955ca054ff5a6a890d5ab6fa8136ca1cb7e25a1f6de2ac21b9736460767cafa578fa76999fc3421bf2641c90d77aa7e4039ceae62322273d404d330dfa7af8b1f041e22dfd4b7aa89472a2ed1accd9e7fd8d704eba9418643610f6d71cf408813134d411f0c4c88076ec1704e602614aab391caf43c6325904fbcb5d4263823ea038eb7df6e45cbb037e1378157be35693a0db37ecbb63a9409eb6841892479f3aa02b7469396e4974cec51d5610490d7f140394713803e253cb0e34cd41de09152728fdc924017ba93184cac351ee25440ea56768d01c8c1982a57b233dbd3e24e2fb411a4e48a586178fca807eca94a9a5b66633c0a4dcc64768d780c964acb10a4a581bb5587fab45a74bc6ae0b6f68b6ee75c716abf4ccee81269934838497f28515774853f7f3e61e7bad8e382d683a17a5dd0cf4c1a633db177625ec04acc60dbe39217449ef7653247f19fd4cf6d39bf84712c69d5ef428f93778fc81ead2845d750a302d0ec35d2aad92e6005fa93c0815dfd7b2e5642379a2b4b883a39f06ce5f7c6c33bf295044a5cd4aec844af77914d79709f521b760ce0b15c0fd9aface715e0dc7d5c9815126e88f2693c32258c88caf4218314d7b23d51a7cee117dca4ce0cc3daa0a68c74d7465773e0499210da9f1366a555873f76dd7c72416454fff5cc01c14ba38e956cd1daf34417dd6d5d3392fbc9816ba0e1111bda87c7e1cf862d1bcae0de93e6b48c8e47325398d056e16f7e3bfc0d608c15bf582d8d1f017da69fd7fbc951c70c333eb12be53937f86ab011469c13b0ba92b8f2d505dd2a36651612e7b516c15a1afc44da94427d47e60d25cda65be9da750f066ca7c13cf61749d737c17d499aa1a817a364141a853ba57a053fbfdb1d47a37c3899cd1fcc8ec0f339a72c03ce486a3105eccd0813679472c05aa4652f4e530760ad67b8c0cffc6953604f1c14c210d289fd20fb4548ef5da575ddf0e461b7f80c1faffcfc23c99cd49db8943dfaed2335d38ff9cc991255251c95658ae0c8027f22437eb69a8dea1bffe677c3aa3d8fe949f68c45c2f31b4ca3d78f4716e9bc6459337fc0d0e6c5ee3e8de06ed9d40fbdc7bdcc1fdb97d15e82f8306f250bad088d81375ff7beb5fb5b9e42ff5ff03c7f63f41d75b090b7e543e92dd32dbde38fd9673bf505e1c4c02cde778ef0ddae7d4d8566129153f9a45660ce526aa33e67dd040fd83e82a6f1bfde47321cfa49dadcfcf497d9e19c75a1c81c5f3834ef0c3bfcf2e9114f1e6eebf045c449e3f8cc433fb8fc3fd3a59f5fceac6429b76b0520903954552d83d43c8b07b298be5d4f0ddfeafe201f6796d60f37ef549ce691fd06bf34ebbd8524c284a70d4085e179c610ec7a29adbdbfb72281145b813097d3d0b371235421b297c7fbd25c73281b7b8bde53b21ceed8ac51441fc0c491ee041efcf2268066221e832a09ef9b0df0e62c16ac94bb91f2131adde5b868227adccd08571522a78e6b65000922a47d9b12e565de2da312e2b8e8387ea284b7ba28acc75f3908a69676a865dc6474258a926bf03da7ec0bcc5436b6fcb527ec5f083730994337ccafa033fa2ab5b6ba6aac733c0b4a747c2e4a4123292b539a09f989d7b939cb8be50866c78a757d3a6c5ae72b59a2b8759630569e741cff5e96a304c60bece2ccdc19c19e8528983463f12590916b2615f73287d4eaa7571122510a75e6afbec8949e9a8abdf89501641d14b3ea5bfd71289e8c0cef759c8bd21cc16094834f0f5305d1104363e5e1d524aafc53cca1fba0aa994a6c2fb04c4d22985a9b9467124f36dea843021fcd084e5e7207f326ba7e5c690b47186b2f9b6d502291f4d9f70f7ec923f3c252b4d3269ef9ed816f249bbf8b23a4b34920533fce39d158e323e7702c3a90558345f359bf1431f5054ca70b56c6756de4a07e40b9dc3ce58ac67b6884018688ba766a3080664cdb0fcb3894de98608ab86e4e61e1b59f5ad3017eaf6118d83a623f883575582709b5a099c8bc2152a03cf6450e30a0c7bbb61d4d9f1fe98035763a258c22e744771e49399c057c595cfe64606c50dcd9612cd519bea9d60c6ca6795c65021bb6695baebeeb47601ff2186a88e8eafb0b9c8e918af07c670a6b2337395b96c1fa23b94a57b49644e479469f1548d9ce6435b1db5b8cb95371ebd02b428b205c8b598aadd984f781c6478d5d53cd2affb6a6997ee8238b3d85fa1f2fb65c741f70a9cb904be31969d34a56a0fc26f9411e4652f942557e8e388dd53b22c5b7877260ce9584a9d8a5310ff90bc8f272f0240cfc1225dce15f6dffc6496da7bdb26f48d4a33898cdd4fa802ad4bff4ef2f9c1574cf4c8414f3c48dfebd78f7d5e5f5786dc02f153968b8c51a0dc6e4a140d768e205c06decdf0ceb8c00628feb9f025033db7c2e30f2b837086a41d58dbf0bd6783073161782cd982dc153e6ab0329555ab0b80c13329fa7e4922cd297dfddc59d183412c8a412cd1d6345f5690f5667db99156ee301daa050ed4fecb1f13668bdb5bade7edc4f8ac2c8f37a414cbf808b1474f441fb171a30ce5ba7256a39f9ce0c2cbd5d516fffa3d0ab04316ef3ce0bc7caf5ac93c9abe2c6c85238918dbf8ee941cd35f6dc782218b62504a7b22d0aab45f15796d0e310c97f5f9d058fc8c6fa961fa3b936dd3262ec6c492eea2a350b9a211599c993c399aea194bc21c68289d21975506d754973a804a745254aaec6baaa2d426f4d6a62e6e560e4a28abfbe1c1c3c30de5533d9f4943dca6cb200178312352c96004f4e9cc6c5230612622f54c2221a8368491e50314f03f2447305795d8c6d3e508fdcd337fb18386ebdb8b18f9723dfd920d1f4f7eb5236b7df3e1a48f252c5f1af72042f793e089f2fd543e3bde9be714af4b944fb7964eba3900ab5c5a734004f27f1294821d4b1606e890fa822687c80fec16c41406caf45f4a44bbac9c4daf859afe0bcee26b0c4973ff12444d8b3b8fdd245d54be1267bec5764a666e18d90f3aab7f7312a9aac81a9d7eb1c7d3e8b4b8c9fac4304de6d051c8188b5906266ddeeabee18c9cdac2fac5439f2cc1317520ba35f31f97ff1dc3a2f545c7fde4c788b7c66cfd27264bd2d36f5bb469ca8271b43164b48cb1b0817113cf8ce3a5ca86be74b0230c797bef81798c4ffcd741bea150deb49b16de639a6d92fcdb6ce0567bbd95fede8bce17ea8dc2c91a8461907beee210f943e2131aa0b2cbcda0679496d1ee751dc8fc2eaf3d46903a4eb80e18743dc61f0a679a292b3965825ecde6c255a694fb0a5fb933d96e037dfba57c3ee0d2fdf521b19da275ceb4f0fd8f254c8cefae875d2b009994274a9f62b6662a5eac443030e2d5d97becbfac8da6dbea399dfca254f0e004afe4db4a7ad18006dbb734051955e6a95a284b0bfd77d5284fac200fdbb54f570025c9165cfb6337db1e0bbaa44d6070c204d8f39ee4bb14b0b6d5dbd122a29cfccfecfc707bcd5ab1baa8d2fab88a87467178d273e8d9e0be26642ac549daa0b9b421d7a6b5729dd20242d5109fd63cd3119125ec8fc4e8f5eb2d8eca30fa44560018ca58471edc8b93415420037e489ba1f31a362b2982c8f7f0c76edc3f85fe7f401b8d111c5ead6f43b688941cc8c5dd7710761a904af1a6041df96676356e88c090f53c9f66c683f9d73a9498464eb666d441f28e41ccd3469818ab9bc4a0798e380c85b2ddd6e4a5c59bf3cf0b62833c996b76883fc3a1b59621e81bf48878e417a7b23d579be209fac464f2279ce76da41d3ccd38b8883c32cd617939c4c76f4bf120a9cfddaa2bd4fbe8e716dc48ac2dc53330a107e1b70f84499e2eb07fcf54b48ab17cd2e12517d55198e462c1bb7ad68bbdc6a968949ef6cf83fe73d2862e518a81fe258f7c0d18ea7b70bde46b4e4ef519017cd4644cf04ed57021f99900d8064d2a94d63b9463718fbcad9deba377a7d1463096759e99d088bc69c823ba2b6e72142c076e9b8f12cacf3829a196e74068deabea7998d8bf44013fe409177822e25bc11241ee52d7568f05ac1b9041db7a89535a053f56ceb202e0dceeb539838674e29777aeec5a3612435179d1a6a2ac33677441d46e2daaaae1c9081b254e43e3be36213d693c6935bc90cde88e46245a166d9268c052cfb7ec6cf3bf3a06a41374479fb60fd3005aa3fc1ef4bdf0202643268d31cb5fc74d21d0aa841123b5738e78187204442f0dd659aa88c90f0bdc19b2681b732b085ce2e7af2fa0a18f9edc1c84744b894393599e3ac53ecf7f8db5811c99e510613ae47579c05463734ba860a221e3a18542ab907892764f143cfe6fde995c749e9924483735dd77d807a823d2df1da91e42dca6eb2ed866aeec52b440662c56a5830bc6bbb0e4a13960322901c3ea1247ac8cde8124d58403302c22068587595af356a43cafe664146e797570f91e82d763ed1830e902289e14253c9623cbbc420f334bf343fc172fb2d32e5c3db3372a939eac4e3b68b69ede43e56efd9fdf42749ab5bb4d27aaa079143ecc34c8ba623123e9e509a8ddbd23f55df55200152304120a7978a9da9ff5d9ac75799c3fcf0d85ec34427e976a4c54d31854dc318ab23bd02422a591908d990eadd8211b7cecfa7610aab920d8ba16082938f9794fd051249fe190511901407fd3bca173643073785cf01ddbd181b30b49b19efb39c05859a1a1912a228c19338d71d428aeb9815ec70b481ccef58a35b2c7d1b7daeae1ddf3b1a1a4b5fd5c3934396fb262bad106b7bf83a36d422d8efedbe45a901cc7e2784d84bd19f98fd41a07552e85c400d6c69aaaeca2b530b395e093f97262bb68c7ffdf07abddaf1c3ea890f58a7e1b902d0efce3ec3f8363ba3e0be71e14c4d7acc3eb9d5c322d6713cb037aef4302c0854696e5ba31568381d68afb28a870725b41d8617fdbf3bc025c931250f25e4573c06e3e2289dd0b02f2aa93e696ae25965b458f520731d52fe23879f724657f026dec25737cc1e4907fae3519433cbce28f1112bd81d2b08fea92f099f744d8f31db730f93c23f7513a533d8e45f0a684231ff4f0ce4c73a77b6c709112624d6da3d94a615f4127240cf3785e5f936e91ceca0c511b90487cfb91db2869fd26f1df589bc6eeab028190c2ddd00be48b46708b154124f0d004b56f205e640255c2c7b66636e2245990d5a7e1ad166454ef1564a49d83c0671d070c8a50b667ae9ebefcbb08a4f9d977ac74a7d9f93276d91261947fd318adfa715a7e411fb43e427012cffd93bca7e556af749e157f95e46bc86ddafaac2671930903da800c9296994792d392d4974969a36b2dd4b31c189bfcad6986115bb02714b078ef947888f712fc4972b4bbf558a61920c65616e60f91e0d3cbf09cf6932807bcf67d8440da32706cca29e4cb119b2c02d7c6ea8b7702ab512a464748a18356238b13aa3900f8435c385f2f553a66d21a61cbc0e7b59c93439d908bf5674e8c3375e5a51e3c28d323968b3ba6231771c6a1ba48fbe8d183bc6fbb84ec272e555eeac7f1485c57d9d249563ef346880bd1b838d95271a79d5091f241ed38f09f929bf218a88c8b622cd3f9bd483808b0a7d9ef5fcdca9aecf770d7e263c97c0550ad2fa42f46e5451f60413cebd6495d70fcd5589ef5f3e510a1b21d60c4c06a30b6d3b63f5079f6c56a1f69152e471099a212f6288358ea40c9e9d2bc00319507727d617baa6ab41e5e151ee1a9f801d00f201272abb73cde9a41e1a8d22cecdf4c08082e61282e1922553f5c3aa929f35cba2c70265bc9e44e828206fbcd7a89b155e36aaf8e585e691b0adba3a822005ad433bcfc73100c018a7836885719778bee38edf2eeaca939a8599e502bee34f454f02ab6e72b9a7a7e1244191a24b8931237a74e6d9b5a854b6c110378ff0d1e6569459fa27ee31977a650810d2935baaad8022a9d072995c8f621921177c977a122a75ae8d5e03f745235a698015eab44bb8db7b9b3746453e58e115c3dd255c3e0c099eaf396b5a2b2982f8b3cc8cc2b1192cbf98cb6f0809d068b82891c41ec814254bcfe1256b6de83ff2727e542b39e18e15d944d8e13d05c70a8fda0a3c765980ffd1fcc621a84d6e74a0dfbf4838de11b551f83608a01450741ea5e3e33c2c1e2e3ea470288cc55e74457bea50cc41c41cf3d5b72caa88854d2c3b727a871a013cf7ef610d2f6b2466a81f0519bae6e9c1ddbda6478685c0aab5f2321c730d07b342c41eb58ea50e7f90227b9ed1a9a7945514ca1496f34ce9ed74a74c28c9e496ace730a15322a32eaa14b076810589c8175fa45721b08511e1f4ef28c37bbb659971adef8e08101216a1cc0917044b396bbd77673dfdb55f89770d2b17ad4cef1d8414fc5d81e1e219e61a0a9633e842d2453d750142529298f5a2d2c05c71d997acdbc55563cb844477a4ca5c89e5a0b823cdb4fb01c3f95115d1b5ff5ab9e3f0dc0ddf467af81cce13549fb33be4c6e77e733ec93f72b1c8cea2b1c85ce6f42901a646904cf8ffb155d9464dbb33804b0e4da6ff954c42f69b1517f2308aec7a0dc4cff300764449a074f9b92064388babfcccf050ad968f6d7d5722d071d1a2227025d5a963ecf2cd63ef6de6f9d4518bcbfcff92878cfd702cd51c57ad81b7f94c65764834c03bb591ef12f485c409627ebeae99a7d26576a91e85636ddeb08cd6e4f6110ea116f3e852824346add3479a233f548464502cdd16684ed6d3e0a0b0b7f968138d072ad255e8407fcb839e4d145b6842fefddc0925027edf7b20b04661e82f4d5bd36ef9a7abeb2aea9b6dd50ca66bbbe386d8f1694ad69a2997084f9b73fe4226882c05d3c974847c6b05c0ba58967a23cc34f0ec1aa2cd8dd996c843914c602206bd04c38b41b57065d786574b585e55c35f4f16c72feed07744a9a2407450ae463805f233aa75090d1fb4a67628ed627e36159cf24a19684712b3a61d3dce154ea4905d5d070dc828db248abe3b936f8dc78ce9402ecfa44cb0b27355a964c8c19864a713ea10cd58041eec3dbd3f9f750bc4a4f440d4d0a47639b2b7b487058e47dce491082730958ebb8f77a61708bc13b854e01a85ec9ed3b2d9504c1423bdb3ff97814765084168d0cff90374103f808b6b9f70b4b37b99caa8a0b3cd9a33a28202ae1f02f87c3a64c19ec4ff1939293c7aa338dc9481963d76f22eee0069901c502019a2a9f83b9da5d3625a3c2d6f309a6ee076bcdaee2903f5114b8ad62aa7de92ca20d07388831285b9c33d2802bd068fab5957b86cd43200ca0540527ea149e558f1aa0df609b5d778ebfd39b1e4eef8affff3adf9617e4aee6ff7d0a3ed0eba65568b00e122a86df76cf28178940df4b39ef7621e14968ef0fec881903cd21760bf72075011980aa7d0a9fc724efba403608ea7ae6594acaac7bb2003cf6005a7ac68f952e5af146164497ba7566b7dc618ab70e8841cc6d470fd4190a18ca9559bc38a5e2de530c3ff9af75f8a39c80f09d950df42281aeaef699a7ba9ab22db6e97b04a9e5492122757d9c0ea47ee3484477ae1b072ad6fb811428ae9d323b81a71eba617534735e845d875326e9ed47f4688be494a2d750e39239290c50fa6b196c85cfcc9efb3cce39e86922ef2743648d59342b2839847f7cf897f380ec363ab1b7e2960e5435e30316b86d92254210c0dcdbcdcc472135d5dd06ce66c10e8536f9c0b53fada4fbd63eaf6dc176b762b34ce37f91dd084b8714d2c027badfc6656d942f280661449eb7abac819d9715e8165f6b459fb68755658464c86b47019d3262fe7c0cea5688e9ccb4f289b3c1133201113e86c485a085fd6ed5282cdb5e3e7753b8d311fa88c0013b1593ce2b986afd5ea451dc6b24a1e739c2d8213bdd59a05527d856a507799404cdb98214a41c6bce172e349e4190287f58aa5ef8a42d98f026030cdb6b504f49acba366a43001ec086c532f89754570c6db9c7a9b6c5291cf3c5dcee65331d29692c1dec1a4f7473b18cb6ba18507572ebb78197e182df20bfe07a0c4a70b3b6d4f1599a0d784e30bf2ca0e9a921beccc83939a64c1d1a1b59a72f9cf7e9f2d6ee2e9f92510081b068aaa6de8624932bff530c1088e4e5a5d7175f0eead1ae609e563f773eab27f24a7c502414ea012c08d9960a27263d3fee573420eeefff40e572859001eb0595ee318c1da1613cd1a71847db3c6d9d88841f43124b596450f0397a68e35045805410327a89cccd2c17b244c6db1d21b45a9c98d7c4fc74f739118596982edd2a57b96d3abcfb5abea04d47839632fff878cc542dd9ed10e9f61a804bd5c3f4c5ca7a5ab89026850325affa8d6d9c6eea5f71af6ea0354cca22a07edf990e9132fa3d90f8d605ece487f78f0f10515513ffa28ca7bb9e777a7e926ed44317644d1420c00576aa1b23649e9f45d5b09310ce1bc712648551749941991b3a40519d6df85553ac9ec15274d808aa0577513e168e9cfbd4bc834344ea2eba9a413a9c33ee931e44e140057806b4d3355c55bb6f4c21b9f6a2ed51c16449c735c87bb9326b1363635f78d9b0d0ea5a272a34728bf274829a14896c9c05fdb201fbb91251866ce5668cb9240f50200351788e56d6ceba5e2e39dd1e2f593af156006f9cb37fa6c37e81a9e8c358d9c9be1dcc5bdb48814c0a135cbbfb19f5f1862e17a3748212b982cd3015bdba4ad0e1e0ca69239709e42469b20db6598b71411e60d0d7f54dd254172e254a37532010590c719c574045f854d59759f43f99e7d83b1c5011569b570bda43f2d9917a764f8deaafbf671dfd6fa57a389ffe37ddb377fd6b7c833415f127d6c56a142bcdfe5649d4f8e72c67a3b42a6619d7300a1156c69446f0231908be5217aadbc092344884cd2d4bed7840728af3478ef5da77877a72daa2901ca1ce28be50a5818b1a8bc03f3771f1b4a63f3af85c409148d8338c8a266692a593a35f7c0357c0ea8ff5c2dd802619dbb0ebfd85069bc27327d054ac9f5f74c11b8e4b313796da686a1a0bd32164424a7fcae8b77cb5fdea8e35c4d965e415ea2f7db91035478a3311cdd5947f7b2339afe91b69a06ef8280659b022f6215d27e330dd653741d7eeabd65e005670bb8f5e252e78de9ce0230ae318112a1a6140d071db3bfa91c9fa56c259cf120945c82244aa6ff8805be9d4b73eac548149f50890b00c14930b28e7da63fdf33fb73196f77a6f818fcdd466e2f6393be8d4a4d85a4176a868964ce64942391bcd146dfdc5d73e6993cc6d6c6e304d4255f83151968db423bc43aa695b1e1bc17b0363a5e9ce388bf8e33494ad4e3ed4850faa4a0b399602be5f49a026227637a9d290499672eb37bbab16dad8c418d882badbc4c6d549ae7971b2ed503160fc115dc8ab268bd59016ca49d38debe077777c493ef561faf92db30f9dc576ec26ef5fe41639cf9dae06afaa1fa6dccce0bc4a0951d89abd152ad4542d57678fff0927e2718cdefcab2535cce49135407a532181f10d86fe119dfde3fd80cba4b9b0112545193fc8676957c6315111c5be95ce4ac6367f63fc05f6d092be4027376936e1b965fe710e7937738b9aff70b68192b521af8ca763b1e5ed28a648f06b5b5dcfdae63490c5581b226b89b4c5c00fef94e9e34d31854d7de54971657c545f10aca2f111c4b0f8c6306b63cd8b05ccab2b351489c7269c3b01ef1340c698a05fd276824c91feed2f3130d6e69a228e97e99555ba68183f469d0be9c0213b39335753fa4ec52596c37009abfe82f42ba8cd96b7eaf3b662dc866b79d94982ca99d53821a50e2a8c9d209a857868cb2a23d40de9fc9c8d12772a2fc67d4d287c3572e410d782af54ee8fd4512cea9da3d0a1a35f9deff9ffb65efeb7e38432d7ba495eeb047ee0d300f5104ab922bcef2d77091f2bc1e4b16bcd9be5f14db6205b87a25d3326afa280404c1c1b47ff04a246cd6f50343fee99b9a77837ebc809d25dec72cc832f9c23765e1cc6b7cb7588d17df03a7159d0092e47b1f5e5b925106b0b64d20f38a99d11a4c98bffd2b8793bc3085b95220dd33c50340967d62ab28e1480a8c61ad8cd6d49a8b5a1cc65f26bebdf59ebe16f0bbff64a708f4faa015df93a905de062adc6ba65d5ab880a7c095211e2e089647db0233a8b0206054554a52b04252fba4aae7f3ce43f60958911dcd23f3c4b201723c2df47d60586884c565214acd6a7c69da8d207ab88882aeec4db414b8807f775a9e8365489fb3918837f510c524a3c0215fc2b364a750dfb005868789b0fb08be307fbb57e397a3f48d911f1ef6c2c73a263751a3a8a9b27cf014df408eef93d139dea7b2faac4491b22c8d3003da2852f2ed54d1f44f5031fe567e627be21d58d38f16f151ca9aed5540ec830f116343f263d6c900bc04edc9f2af40a264c464d7bfb5b252a422e5b10cafcb551126243bb15d7dd09d94f279431a2d5f4bdc33ebe8422852ab01d2d3131b4c67628d46d4aaa3a5f007e913e41fae5236ca89d059cba1f4a4954d44fefd5bc7e7088a270f9fe73c3e19c2fb582438a5b39bff8b96051ef46e4ebf88820217d97597c57e1b5c91aee3316fb59cbccbe2dcdd22d90e4a2a516baadc52f9e1ce90d2a3c9f0e9567919cb6a086fe2282a404708c8d77f6543a790d190c0bc879762ae6e67350a5537f1e3f5629ba9c2f680cdb93387204fb98d3d4f7ce42fe2dbb6f36f3ddb55b634d3f01579219e615b138e3811800ec5ec8f2a99ef6caf3d43d098de4b88105b6c2e9201d770c7a24c33b86d807bef55aae2ed42223eaab6b71f8a63f60c59cabdb7865c513923704d1e40699d8cec41ab9d41e2258c52d0c3ec906c4e058249434f1c263179b5a530f0a297d2f8515039f94fd2c43ea1d039e573ae650df50a45f9b2448e54a8201ea4e158a25f383308619e2787d6fe76bd178a065d81b566150f156a550becb2c4da66492faebc81c19ceab932a28a59e7a77b16661849c08790d84cff978862a18d505ba4b627caaf1a53b1a843d256ec04ff103baeced84a6aae795d78a8110f6a7a0c85df0a4c232b49b5f9f8dc4419df35cf78f1cf8e69d83257673c95d668664153db700b2c0e434f39eb7b8aef321f8d1cd6dcefeaa01adb87b06733700c499185dba1533c61ff829829ffa5c25a41381b7b79f0cd6938a560f0e3aab8c120d3bc480d35c5b8459d34064ffeb05ac3098fd8c959312342170e7437c1d7b11e496486351821f2086678fa2c341062c0db4a9885213619527431e4604c6babc603270441ea5103732bc6241deef50af8d98fe25abaa29e24992656056730e45ece608863d950321fef9b66a84f006b85751678e749adb04e067d413c2a595e2990af208a48e25977f5419723c502451b27461f2e5854bd6b6788496981d2a7e86bd8516ab73dfffeed689dcd42f36f1740c6d811a479fb7d77c7b2d1200681b9784642827c154fdd9f5d7d152600fc4fa9684334249b2de377e0ffe5df86019b156f16d169395671d63b5061591cb5a0fa570e61edb82db8d51db4c5d18d0987a19c280089d8959f3767d8f29c8b45511dd400ef1c3ee6f35c89f404a7a2fcbf7b653157deb4ee1bbb123fa7a22f812bb062cab70232a458c1a94c02799299d8d47cfc469592cf0131ed79202821bcdb1c6b5f34172ae85ba0ff71aacfb937a7500ea5957593a8768cdc6a222b623d616d78369d1ad659837807f38771ee6aa5bad6be80f88ec5e356ad3a947794ff9d1acee838e23190b90edd143476afa7a61470c29536790b9659c51e568f466aa447cbb5899065af02432a868654ed020d319315badd3d56e3c3a3b287a71f45d2a1e22b27839ec5699cd0dace5bbc86829c7de11cf8a74f25fa58363dbec913960b0aada090ed1437fae3591f585b05579502d87997b2166b761b52ca09fee7d75cdf3a9fae233de4779f44b56c4fbd4f045e1a23be00c5f2b97a8900020e0da370732da2c9e1f5fd0b745992600c43d9a4174d0c56fd625d99dc382d8c22605f41d099eb412ac2a548566cf605f018be516961fc4a6f40d732f71032ff205e42882441d1f62d2df67997376c76b2ae8397a27d3f39af4b6c8850e9d9e8a64dc81f11715dcb59c2e7302b15768ffad2b0f707fec199b75225a3ee6b5b16cd1237e314bc1e983f72b7720226c3a8589a1f28e1e0774b3faaa6fefcabd83a5094037a775b399487e32dad7836ca74528a6566c81ee57ea2c8abb6f5f44f59bbc7be688058c42d721da693428dd9f59c6d004095fd5188cd5bb6d6d3303d33dd5f9f2278b0097408025406809be92726481064306d811e2da93a4a2a0229af7ade5e13e92b0de400a97db4198073e749e49488a751ccf57916ab2911f00278e28fa9bb41bb187ec40b9dd65ee10c3dbfbfeea5af7d7ae165f4c7788a7894b104c625bef071eb6640044ec72833ca3f8ea25a2b1f7dd5f59d96b6200eaa5bbc75c81e8a0f915b33e74a0b50e2d0858eea432390ec3d5a262a73d1e6297e12967aae488b563ed319c56bb3719991661b52f1080298456a70359b760aeeba93c66bfcbfcc44cd5ace084616d21c13e0de5250ef9048523dca9768bf660863b46e0dece62d38da4c24f79d74428f86ca9d975e6c8512c8d8a0ac6025c2ee351d5fdef79a935a72d1c3ff549d6d8e2c4a4375a70b846c60d42782d6f2b67002620ea2af905e5d54a05515331c597550fbc3a38c161edeecefb543167e0851f453b0aef0e3ba863a8f9781007a3c38e7f40c06ac7591d0e1508622151ac339c980b6b738aa8eb842f870986c59bac77fce2254cfe1327ea187bbd9544444cacd86bc6e6f92a69e53b62233ddd98cfa5eaa4aed0394ee016274444fda9440329ca91a87cba215c3b87a6d453f02f6963e5f49555cc378da123928f3727a03626c6c3891ec204121f5b698f5623a7e73f72d5aaa5e97e13b3080e0180e69a0efafc2f8cea1df840fb9ebe06bfa59045531cce9b6c6d5e455008cc7dc7b9b788d58cdec61dccac6cfd039372ffeed0cdd8eb223977690d015e56053cf9e848b657cc01344decded0e330b1c1363ae339f96db3a5c525765a959747688127be039dab8ee2f3d0ac0da28a37d9c22cfd407ac9c50847c86f32e9897788b1603231112045c0902461e3cb988a3f8ea30fecf88a8602fc55c0f5b60b89fec9af2a9568b7f361d6b09a6bea04cbc3835244fb9c1d58ea832735891592e54a592e73d1d6e3ca94c785ad94896dd983784dfb711fd8c592346925251a05a1d9c3c358230e24bd581bee33f71f6d8a2985df3a805474689ec05191aac3b58a36e122b1a020cd4b52106f929c84ae5baf0897ec5617ad712d519acac4216efdb89f80c0eea9f0df10232a609660ec1684008e9044a2e3f6fde42cd95a62fcda280f3d5945043342f6838e35c1647dd6422e29c8c775e945bf4081a4267552eb1c0aa6d066a4b349e58d82f3cea19082a0aeb6731c51a190e1a0ede8e2013eadd939d0b26b1546b03e0eec527161d4e7eb9f89e9fc62147ba6fd42ccab2b72232a124a7fb34581db82579470a5b14048d9bb71a947d5d3c4835fa9f2e2c39f991551f282606b2334872d326bb0408b799f408f946c62f414a9fc1818c31eb43df24fee3ba5b74405675ded0646c5315b2d8bbf96e6edcee96182c8a1d1e05f6bf6c94519caeffc4601dfaa3b56b787792c141b249082ff49ebd6afaf22c092f30d0bccdc8bb9d2c185d7baabf76733c688cd60d0a389c65e1e2c7feea1443f26796b4202f38ff7a81c80eca26f23215474c4836749592d4ea6cd72403c6d9792b7a093941ded539e232103fd232158a0b7522191f8d8b2004903f15940660cf3f881b91e7aaa7d860054938114d43cabd662d61fb6775daabdc9bef9446e6322512cd4816defeb2c4ec580f07d9c319feb8193321d713c3dca62a7609c0394807fc434a175bb22207a004339ed367f57ee37c9a91b10854c24ebf58c9c399c842604c50953db62d06bb8421eed8d092a45212993c2d4d345a5ae6c06306fb9412044288522483493a2748e2e4cc4d5e6b01e8b4f015a68df5bbd8e2692152c3925a7bbdc323d5113f3a39d202a7897f56c24d470a17f03bd7831bb504f5ac8b0d42c7e05181bea5e483a0ce1c08dd504b0762c9c72938f54f1fd6d2497b801e0e2354f8e10b3a6bb6ba5048d2d21c571089529fe3d686a6f6409832e62ad83b0b37d89c3eda92f47935153477dbf8a540cb566d538ba9968475f30a481dbd22aa94c7250282fdd0e39c9587756d10df0926816d4b955b6d6fcd42c67da98fcfe43df7b8a0bc03abc6e40374841c5bd4e6118702082d94673b8a85aefc7daa944213541608f7dc31971629d37f33977a295d676d4cc723ef0ce88d5c8976fcec0cd2c7971258d1b4ed6f8a7e20f0575bedc6ca497c1588d0d2ec376fb9a0675e840d1c0a80a9cfbe4714e600a1d178b56398e071e4101923df24f68564885de8df51416040892acafd2214a596673a8c677041af4197fc7a1dc10dd1f05adb5ea446ddb7c73e7693f911e3404b42a1237bdc07c0c9c03856260db12fe3496b400cf1d8d362979c8fcdfd16e7c01ff599d4b8cacddf44d096eb6902db15d6665ce1c9443e6f7bfb07792e4971517819e41164152aa91053694aad4dfe8f3dd244ead799687b89cee347ade4cb7ddd86bf5b13461d48295cd5cdf568ce42f24258ee15a290c3d7b5641d58fcbc004923241816bfcd99cda30d6a3616532f8ce3be6eec89f27c315f18c7a9073a21b8c3214f005e385c6a9d62e3b44495e9c7bb5f5c0fd5ddde781df0db4dd96ad5e046b5d588fdbe57be6fc085a31454dcf92f54f85f1c747bbc7b089d608a6912e831d240d7d715d49a8facd055a7eaba49c806eb9dc36180b279e553e59b73e7d6f15bb7a0ad8a241ebc278d01005c98425c1a36e8e9ec47feca5602c7bbc4249be8ba69c4fc3bbb784146e195f07ccafb4ea1809f912f2261cf35bacd358325b0be0d0cb2f2565bd6426ad9a854956e5cfeb7f768116f5723ca4bd8a5c88b2fa97569f15433683873861d95a1f74bc754dcb238a61109d7574ca6695dcf0fc6822cf5f0ce3179993ec3304f262f84e4fe1983a59536600f4c2e2ce5ef4c22ea90fda12a47a428fe0f655ef3f76baa1b2cf452e044984ecf49c30644fdc2f9d7686d9ca67e1ef2195cdd6b26535fefaf2ea0969619d50d3ed0d56f99c33dd65975a09b13fc798dc33b0d6799acd8bd28efe972680271b302652fffebd16cef077aaa6b0a85bb5a00a1b235e32995a62f528fa93c765ad351476b73ddc4ecbd54b496ef85738246bdc050fab22a8d73b4b671f687bb5ad302631fabc00d8f676382a45726fe656d93145a270361e1e7d6c76c7c8302e8d87015cff582aa173e3fa898a22fb6013905df0610f4997586c71ef69e0bdec6f1d8a454ada86f15cd33c0210896e69b60914fb381355273ea59e3a10a9b426f47fc68c1328cc3c2f4b14151e29468b7bee9da8a5680b8744a6560813a43408b4b9d4a409e752684d855e6d2779d97a0880d6ee72c8b27d14ccb9c5609172d8bbdb8b948dedb6c71a6d822f7c080840da2828bef00d3b1b90fa0b7d5a76eb2cf1d0ba71325f35791fd270e3c9683d457b820b8d0018097b2a592f299e77bf2160b81e963360683ab6ad08a24f3aa90ea1a682f7f0f1eadf34a4e4c708ce9e48d75304bac409cd84acf14ffbd5c8ca031a8f9199aca4b84f9975dafb03456fecfaee8be96a6ca5001e21bcf13d1aefaa5f78e52bfe42b28b3e3ee741ca68742bc6e1a0d76987676c9407411dea96e9d4ad1be17e4476d243f8a6a6f60268c43f30cc39362124d2fa2413adad7a95a9d97bee2e5927b549217175990518c5878e19c532e4e959cd16e8ebc6cf8499b6ea59be96266f84e0b0b1f0d8a102bcdda58937e21537c92f7b989a1cdb1d2fae324428392e8de2fc4bc5988d1b9125140d6889ff46729ae5fd1392ec991d9fe35ea615de786bbe04c7a32b4f3cb1ae243890a26f1161c9d9a9df66e7390fd1b754f313f7f543a400a7115941b0a925db44f0faa42478d9b3da31846d06a245dc9386e70f6cf2dd33308c356ee4356facc438b532a579566970b390bcb49bb7f62ba9029b92d2299d2f4861bf156903ef1696e45786bd96e4e9eb277a391ba21f0adb44b14c6ebe6bf60d48b0edc8127fabaea8d94f9865152f7f512ea4f556f78598cf975dbe00f65c60f478954594235a4b3ed66ab5ed355673eb2ecdb49b8995a2d8aa7840ebed9d420d8a16af9547b5cc44d89579922b96b166deb244b2d9210b1273f43ef180bfd7669502d1a84eab25ddf8bbe73cf5b38cd593ce10412fb86dc9a56c6b910da40ae0305d80c6f7871a87096f838c02821b3ddbfb5ee99ba3b21582ac31d6f5bfa1c55201a9899aa5a8befed154427aeebc9c4c9bd63006b4b827d6141213d677dc6c135c59aa3201b4e084eeee904626dd4fd4c83bee5cd90c756992f406e0015c5bdfb99d9b24a0336b9be0f4a2d1112bd385eb50a76370a2ec9ddbf1eb78cb3f7f39c416f31faa60c265a0ec52bc3b2feea52ebc7d0e62774f652c77097c2d4eab2842eed8d57314e267312f48bc777bf647f7ff920f89945e71e2f792954714ce11b12f13789fc1e4be07a10f6cd1ce82624dcedb6775ed18bf15b179c1df728ee1c0cbdf4defc7d24effbe166cfaeea8965885355453f3af59b6c35ce08a21f2b0c3e3289bee0ee6b6199c54e171a560bd4d96c76c230cb73e9ed7afb639c5825cdaa2f7e9318ffbf2e395ae1b83b37ca9c43065437213eb33ce39bb90f06303854d3dc48c8960c550a235a7164eb427246b2688cb32d2300b7e8f5d955004c1b391111bce5bdd9ddffdfbcb6532da9de6153dc617a341cb75f661f621eb5400c77703ad37652f2df0a30230bfcd0f166fe7c66895425acefbcd65ea80f540e2a8300aa52d57601db4a7efd3c32067018a72875f47e4ab07767e51c7ae2dbadd7c6c7d564301fc20b4c09b69095d36edc719ab9bd8cfa37748d0b73f044fb39f98073f029ef31da014d97f2ad4fce273a99abf235c357b6c834f26f2124565148d3e6105cf311f75b116dce6f4b02df84b856c23a2f729e9849fc3424141c0f4053b783b862594869f39a91cc32f1f3e1cd4f448c8c14b3ff86de9f28d9776e27077ff0b08c2193827ae30c5a1b50738b4638001302cf23e9b3a2a49c88f6916fca3eae61d2673a37b3df4c98671af195239086bb5b7de568d37f47e104b4d025340f54e8ff8feca0a5b24a1ba4044b97fae995ed3ba52e88e709d382e1ade18a07bad7205c3d318bc379c8b049bcae28f38851b5fafd5591430e8fef31f313e59bb1d2fc7d93aac1f44d4c0fd5b8364e8109aef5e26048e6b8373175fab8e1988ffccb8da64a9fd2f7e9dfd16c35a9c04a843b59ca8971ae609c651f6107d8c951afc282ee5cabee8ebad0fd3db1aa7ac1ccb42fbceba65b072f6a3d5ca75f1cb546d5eed3fa1e6d5ec54893b958edd03fc3636b6e5c0ce425ac161f83627ff4da9a3a7b2149108b426dc0bb4dba19f7a06dd93e4732787ad336da265ea50f61b04382ac25aba6aa0005b23ff70004963c8251909b623c05730a6915ad90fee3f38c53b846a2ef58379e7e5a6e3dae9c3ba3389b0d7b708e86878fbb471c40211fa465261fb2a0886487033daaa4b483ea5bfec632761ca9257ca8e84e9af725f6ef34e44e8cc3318910788ba3ef746eedb65e46d9755f7dca2c22b481f5358aa65ba5f5d7fe1792b07d179d43b58d3dd25212ccffe4accee7dcb9bbbac7791d998ae7600056d32dd36b76c302628dae073be12e40cd3a05d4abf71363b72c8cebb3865c7d63ae829e4a6ea3014e95870f1e7e3048117f9b926a449f2610683bafe5e3d65702e38d583289f51432b6a18058dd5308df386320239761c00f260b5db1e6500e6c3ab358c396ae4f672ef61ac43792bcedd5200cff348b0b9f468fdcf59447da1bd3084a07947debbaea407aa1b741ff6b64a217e215c36e6390eec970ae3e83c7c6f1a5b7733d0357ee26c17f7b060989fd01bc054fae5dfe6f7347ff315862e7ad4daaea6a8cf4cca094600995ad868f3a0137cde12fa8ecf33e2cd1fd1ab2bf3e246b67f36458a72b74182a832968ceb7d5cafa1b69c8852dfb1440245c6ab6fa2b7da1cc46e0a5ae59dd106e9ebdf606d9c2b50468588afd6c5610746554f8a03ae5f17e30dd089c1c91190ea290ef212940a20758cf2ddff6763b8fe50e292cf1ee77a2b237eddb5d53889edf7090195262631c8683e83b4003477ba3ce8ed6539d09abfd2eb0401ef3fbddf13ed8249c6b9273d57ee9020b3bceb26b25404e0492c9ebf2f5dfb535ae7b39b64192aa0b76ef4fa8fa275cd85e37c83d9aee5fd3b2cb0d3637fb4c4546995fe01c127e557a3261a55b45c6bfd7c1564a0d66f6a9084da8052c2cca589c808dcb6497cc0b820473532de5d9f614a19f7506cee70ded1ed863b148b5a9453f8f422d4b874915095670b8cab7761732f987ea35610afbc06e5ad714e00e8d5c7a4da49d3e99b93d6c79cbea28e25456545886efe74c9ddb530c35631e661628339277a75bb2d69bd23c697299e25eb702a6587f498bd55acfeaa5961705836b27bff9dc9a937f84276520520afd6f8fa1ad00ffa0f36b30d16c74a7639ab7b849c8e87503bcf504343f319af063ccc8e42519d8783335e53149dbe415a4f55c7b2d015a1a62d0025dfbb81eb87e7958d6b0f06e49cf514d03298cdaa86c6dea568fd131f7e79e00b12d7223f5d4d3eb364d5df3c5fc018a1934388bc8837a79da5feda28c910099ade0aa214b15fe38c3ec0492ded3c4091a93eb2498bafc92b0712f3683b519db15d9bf1ebb1012214e6d83f4ffe8f94ae4468fb1092ed432688fbe42425b5ce9a53d5b4eda89adf4bf7b33927bd748ea9c802640eb8df314e7ebb6d8dc5ae8bafc1eb464c7afdb65268c28a7ca2f5cb73dbd6a3aa938e123b57575ab4fc7b58590b3372a3f825bdadcccb83b9bce2868c552a62c61f3e4cb1b7dc3a528830a110ece8b50e4de80f720dec903b8e828d32ff1701701a62f93633d64eb948f90eb1f16b6ce74a62330565b78691feb6a911426089318d6eec3b6ce41d3cfe43604ba37a8aa40d8bd3c5d55cc10c5595a110bce18da636099e31ae6117c013d7a1a6e179d59934b9addec8bc75cec98c0c836ea04f93a820df79f6602f077ec38d84bd449c46bc323d605f83b48cc7f2158901cf74d4cb64d108f31ba647fc43726b4a7c7ed09e2bd322e605aa3a2bb72a7d9908f2b9767101081bcc617f2b756f9315f2eadce8ca6c9ca20bed855073270f1643a3fc12488f607dfba4d1a3bbd5bb4ca2f0201eb8003462761fcea7a0125343804128a5a44fe2902773fb677a601bf135cf31e83e83afe083313a1942cbf604b155b0ebbe7ff34d5c35bf5dd91d6f97e95f96ebeb82d5621d5e17b2989a879235b8499fd07fd6180fa41002107b988baebc0455ea1c39d1c737c9558f676e3e827b39dce47bfb75aeb636016c7851ac68a5adde68357daacab47007ac9ef965f47b93ab198d1d074df92617550aa8e81312d44bfee5563011232a640c570445b207bb73a9d65ebb0d20dab1d0a18389afb33f636922cb5525e4ca1b6030476c00898a8773e296e0030da71bbd2d53bb579a4e848aa3f5aa8c95af3cf3e61c1fc8a09d1124a36be5ac4f6f69d45ca760807a91627e5c155df2c305a9e4aac38f56d78030a7ed48e83e7248c4105760535c24b0f91fb43ab993ee955de08e988bf5e5b3bf954f897aa9a0d02f8c3dca80be37f54fd41696e77e69e7507c7f10c1dee9bdc9d33cdde390eb18717cc55dfdd8267f2f5b4966e48b299b299d462adc1339f8aa5064cb760ed87d858b50d93730747816c459e9ec5cd8a608a894f98db9ece38e6a623dac7dcd96a5bf59e9d62090087f9af24af22d8b5a247cd470b1a4e74706dae6b4cb6d467c812c13dc64db400ae8744baa5dff6c3803ae38a4be4f9181e9deaca98b67d7dd751bcf44022bcded0f32081c38c7579291f95b7727521570845fb539338585a03da0ea79ec3d0c77a68bd6e71e53cd316dd0cf6bc95a00c7fa8cd7e6822af1ec3555e4e9910bf1f1a19510982442ce93d74510032e8bf347f63bb7883c43301e9b497973d6cb2482dc8ae2d82b1ef2be812d7e7992b5faab3aa0a245046a8ce5d99421be48dc46d8ee8baf0881683bdb170aa6c7f5c7fd26d65b56cd7b2dc24a2b125a86aebd39146a7501db30861df6302bbb05207d0461fb454d3004b3fa520d71b508896b14350bbba5e430c2adc044b7fdb2b121c8d9e61c27384c769b6804159c06e47a43232d00b74993b3a7df3a676bcc90262bcd13720f6666195a42d8d1b8758ca57de115772f7bc0eca5c76f5416d69d131c84ca36f77561af69352faee5952d13d909f1e988bd1a432ab063e69100ced51528d89b9fdff2b0a458fb69a07dd17bee0d969da480d87a7b5d66651cea063e736d7fc347b8ebae3693511a7c0d63fd99e799148aee669fbf957b5437b03ccb5d0e26cb074a7347663da1981dc6d4d161af102e990de9fde03a625c8bfe8aaee47487d0be11fcdcde016c8ace6a6050fc9d4080ab71bb5ba16ad251b9e1b78d956bb3b070256b0a7e1e2c4ead05717381f8a1136cf0acd1516d351d9974038419c8d23a5966c4eff0133ea2d07d98110ad120174d8df2dbff90cafa9155b7f8b71a02dc287096bb2848ace0b0acd36156c2557488d20850a2d93c75ecd7f14c7deaf7554707662e9c1d7d9a1ef9041f50734f8d5fe14d5472f4067577271c2232c63fb6303ac33db8d5c52fda9bee7858b7566eab3f24e8bf3b89071cbd470990d14bda6808c9b1a47805ed558a0ff92fb963925929a8810c404c42287a394367c799030100ab030e51bd6ac36ef2886fb4de57f1cb9d08fff1a47ba926446cb00e74ac2c197af29423366d0c04e594d4fe2aed32f0380f1a97206f13fb1bd82c8028ff6d102a34c1a960e7b41b9d8220f034c50869cbd7eb1a5a8c2e24d40cc5957243d5e8211f5573765dbd7478fb857ef5ea1dd764b232bb5eac9beafeff477b0ddfe154d8974df5aefbee5e9eb7e5d0da5c3f280634b0acef6c14a628c5bf87ef69534324174d6a6bbc1855de1e2bcb157d7e95560eb0b6317d78701d6a6de982b75b05c469115b59f6a535d32557136a5128f8b9e2aed165a760839e379d46869bdcce8c10a19e0bcdae7e79507485c29cfbbfeba413a8af53372a8ccbf83616d289b3da4312e3d8f50cb745e13a739f128c2af817c330a7f9304137eb6633f1de8f80e6c3325534ac25d0568f1db18e08c1f7ff2db138d8d78556cddf17f6db4ae70aaa3e42ddfce4c65fbc77697ba4c04c32d436be8db30320ee3796f067ee2541237f2caaed525c54c0bff4cc03b62833b90b9b9f0cd12e798a6aa9dee8058075bb97765f311a4d2deebb566dad1bd701dfb09610830c8ca9a0891d92931a13e1404e24bca2c5440dab1721708a38a743e668c83d1dcc9f0c272481b62314590d7f1d90cf45afa406e64b14e293655940862281cb60971e8e0d95522644288b1e60cb50347103ac50f51079745e02135c2e5dac9a3abd8931bdba53f8432080b5f2a023e18052afb750f95b443be2e04b9aef3004e25c76482353150d5e1e4016668c8da3bdd668fc8516aac37a946934ddd88f0494a8edc3004ea4bc53b0010f3d354ebf15ff24f39af3fba6b7c85cb4265092107f90bec2129f6bdb92fed69a8807efdc73027703e91f599916d0e23a826dbd573ca90443e7b3858d3720802b3918124d5ef50e284a23d10ceb133c6cd8ba9ee426c8830be62ed6625ec3f8f2372cec7704ed44bff55bbb1e0e31866f38c96c067fab62bc4e983e280a0580131ccee55432c44f23719faf18fda8498de62792c29846fa61c852e2254552c58c480641ef322d2b2f2159005a0d1147a856880be2763bec6a0bc25c42a4b0da8443ca676f41c21d362c80f86a93ff4af2aaeec71b575ef0c22c5449ce701f9b0d190e227965783cb9efbbfa2f9e39976c9cb8baf7aaf01a97e2fda679560cc48c2505dbf4c61c1aa009d819dcf3d3ebb854e274aa48adc3f47f2e4a2cd282faa86ca4721493c477af10d92760a39ec894d2fc90760d7ae11983db0764761afd4ae683172c313131fc7888540fc8e3d5272a3f3e02e8850f5e6868c87d4f49c77139d313345936a103eff0d48fbebaa1c118a6f699942d6f2d5880cb4994751f106a59828a94a2839fb7e222d6a3645c1a6fed33f8727f3d7135731a4294349bd81ff9864ad266f616f4b9cd3e5be280472d226c920262e5eea15c479affdba72b72a1e59f4aa9b8d149746cec4156559afbdd063a0f1756d9a25c5ecf520af3aa3ef0f305de92e3417e2c4d4c64784ec14801991f6ebd3f1b030b23ad198bc9beb2560e754778819c2c14f01b92e1f99f90cd353f38f7c2cccd514dbcf7deadd705c936e5a831903a9956c96a0641e312f65b0a0de45d82e73a96d3caae81d6cc11b7ff6c3fff44b04bf0ee086a652c5edb494e153e173739815d278216f4309550114c4a37ebc4915fe65de1befc2932186a9241d632dd783469357eb4ca16b9815813e14fe99e84498e623dcd5e421675afcfdb478428b9907a08a176d1c306365ea88a3557018a85205b8aca5b6332bab5bf06536f89bb79729c63276ceb4c6ef1e0c6cf3e0bb7998fbb84c543ead75ad9a4a00543d3123e3cd5a53dc3413ae855af450bc58963ca4cd1e93d6fd3f6fe1902fe7d902d27963e8654e1cd028bf55724fc8dabc6d5209b22bacac3bf103d8435fa37f34a3880899a26c157179d72cae98fc0ba23d3d82fc6bd944fc5b5c0f1fe1012231d330077fecc5d32a72936b9da82f2315543a2560aa332595f9b1e888e4879966e9d86a5f582e4e38c07dd1b4b9314e7443623ff35cfea919ff1eddf2701d00d044d9b2c0dbb701d45f6eccf911bb7e96c1c14acb9c558704e7cea2e4d3dacba6e6bc3520981b9aab78b495d451589942ecff6e1a421ab8a25c8372be39e4ac87772392906081acce512b17e9bd956e38f53a9ce2cb1733cb000b78718965a004dee9643b3e6483ecb2e7f84ceb969e3130693d3da125e146c49f78c25b9194c6df201c1f1cc41887cc5a77da22d6b731920e9509873890616dd0c867dd9ae9d91387c64d7edba67cccf43c046786d71630c6a4ad67bebec77e120ebf1d928741e75f07c62a8ae93073fa5f1098d16c09a360b7902a500381ff6b3e9c809528b557e93888259d3189af536df3de662ec70360d19234169b40a02e523e90ed41cdcf1cad11ff6086d88ac77033348dfd3f2f5e377adf323ff6391634ff6621ea196b4f213e2e05204aa7b019fb1706a6ebc3ced031d9f24692ba104fb9fcaf117542f79e3fb5fc11ba16341e4a890997619d4c7291b80c9416754c5e9901bb337c42e5c7068c6184d0f3620d7d7b77fa301a68ab214d8198e4d773dc5acef9344addc7e6e297956059261bcd4d19249997c4cb3e862441e67fd032bb194ece04cc301f0f8b08b8171e2d5ce3389129dc03410bcf97ba0b0c4622d6bd0197e5e4be63216be4d6070f7e5f5343e5691b33c320486c3981a87b1973c0a719ddbf82354df1950b088351bcb6b42c8fd1e9faa9034961af027b10241c627d51be9d7e2cbfcc9c6dcea956be5e0931b6a41a5108583f9413c14e2e4ec7ef8f8bbf11b025fe8624189a3b36a5ea3bdc50081bf89e15d253f6283dd259208f2102452bb08008663a3e5875b9571aa63ad65380de5534cc017c1454f2a69c0a43a41dcfe9b87ddd9093b3fdd41665fc7e3be1734d5f8266d4adc6c2d9ae778315c621bcd4ab4399c312c155d9aa4fb332979b17c20d74ebbde24238d2783416b295202a2661ef30af34510881fd254c84972bfeae5dd6d579ffe7c174ae3c1f3cfcd100d852c4ee87b5cc98f66ad453eeb3a87037a48f09c7fe87daec9f51a43e8ea3096ed1582f6c821f9e4cdfd59da15ad713c07a80c6f288329023fa05271cc3a0d506b1414f04e10c36791db8d8b59e31203ec15cbc769ece794bc3bbfede35692b763116dfc2d24c019c0d943482748d810b1911993adf25e1e979c50fe5a7e5fc0c980d5c0358f9fa3c2b89ad808ff6c2f7fadca37499c963a4c073c9c5f50a8cf01098a7dd0c28810323a9e0a28597006fba47a6856e950aed162f874dec1e55a1935781226f352e1e079a6a1edb49416228599ef2d6330922a34680adfd7bf8dde8c81d8a56cd3bb981e9f480ffd2cbe67a87a298bde4200621245afe5bced4c0ac4ad9dafefed841c1bf0639ac3a2cf13a6ff7969c699b23408c7df62349e7e65534edd531cbb73096a38609ecb3c5f2e83a6086a53de7e0785883e6e6b1fbec9172ed6a9525fa01c1c83056d49b5158d705eadba441a60731c4c534c2e2c7cd74733adb89a1e310388b3c59ea6706d72f1ebaa5d731ee7bf54f4b1ccd779777d7ccae1bffba95d162ff0ad62594dffdd78045d24ce53f411411b2ea8a2cb0c390bbbbb59e42abd2fd89df6659cf44ad148b2efd8cd2e3850e2652627026901eba6bb9713d49ea4deb40382f79e2e253aa44b1ed541c5eac2c0b8a1c70ba1b1a2b72aefdc7d587ba29ece2bbe2868afd67f091b37607cdf03619c8622d44d93c265d4941e87d6226d2c94d786c9ffa8f485d708992c4691980387f7baf4134cf7e0ef660c4a86151e4ad1168bf22f9c6f53caaf604ddac891fb2ed8dd1f635935cf3332e591edf7b971c68db909eac20966e971483e6f9a43db236af2c87b43d74ae7b28ddf577372d34674c0758d34fcc1a63dc5cb2eb92bfd4de7c4d910102365f080b0ce3669c82e0b86cac4ffdbbd13f6135297be4aa7d6847468b7e6ccf7ccaa0396e12c70c2af7d8904583663d6648abcf439861c5dc9a42247b7b1d54010448835d08573c79a3e8d9f16e3eaed012db3d57ba79314129d1dd68d4b6249ad311b6e5e327180a7169f39d4506841e1616778ff4ebfb92e8c6b20ab93181965c564416e266e85ca6f1fb3de8731bbb219d7092fa48d3b9debb65d69da95c50bab0061b4ba45a9e7772000cfaf75683998bf8c40cb94b2cdc6c809fedaa02b8d5b54b0732bc064ab649c1ad99cd67496308352f74fa2268ddb73a1359291b7d8ca069472a07d951f2d9f35a584a885b7dcbdfd2e2cd02105d42e2358f6b85316f0373dd6937e1683e40ce41647cf443e4c6c34ac1971b072dec7e4293719669bd3fa67d28b2caaf99fb1330f7712d00588de38f900adf085a8ce3ad5fde12cb0634ccf9a5baf4f07d0012c37ff6814be130dd69f99940f624615814d421a031357a97d043dced33a7d6690dacb1e5bc61e04829843a4298c672854ff5ec578a21893af75c8261dadd5d37f6de7ea5354138859f58668fc14c81f96d0c9ad0120e9de65b96203264d2e54ec794c69c0ce444bbb60fa4a49f49e13549e434ea2574c0ee3322ebec715da5ab5c6bc2ab63df1d15759551a42989e346d6fc1be14169acb8fb1f23c459b8a196281be0fb661ae8122d5486754bc1de01eb9eff643b0fd3856b4bafa791f817637dfa45c00a5943049e37457d99930e6744cdbf3db936570ea298a921dabfdc260da5279366f1315eb7378016b36755d1589d4d97e77b778f8ce7e323dde6fdde361141fbe8acc3c5551e9468a736cd14299fd8cb7ce35192b0297d36c8abe2a1201a7d067671f833c296013bfc201dfc9f9a84334fea11aae09fce1f5e55cf94d7b9d6353b464871b988bed24ede5b05b13e1a37eebeea102357cb764666a1d8019219ac3b93ac3b3a3e3d78e78dde6dc5e6725a6286865b8727bb6049680185daaa297f3569b5a659b49c1ed96457f107e84ba5c806aa642ebdbf37e9166f8f98432396500e56df3157f562bca584ecb53f666cd3e7ab1cf950ab69cd91028ef1e8b99f22c29546b057b3ef0b617b63f75e7019f12b41a17c6db362a4c8cb46b5091325b9c055f2fd39fce49bd299185e2e773d5ec08d44c5912ac49b92f9ee359a47cf4e05f03d78640cff27907039080f4e4686fc2ece31bd6f48e62058b4b297ef746af13b1ec650909d3f57ac8b51fda25d81df5dffe11c3f7afbe10b1ab3266c9650eb94889bf90715ca566a57cf53944deeb18730461caf2cbe653abf251f9351e0fdb8655e40682cd515a3bfdce1c2d62683ace0075253afcdd2dff5c8813d45b0a5ad18225922bdd873251316016e9c3ec1e0bb6722968c4bd158ff69c7a8f1aa65d4066e4fe1da2167006522a312f1cb1f7be62012c1298d8ca9aef0714a0dd777f24fab037a847a20feaa7cd430222b0c348437074330fc673fb91e16dc762e7bf70a8cb81bbb45ee67bf7bc996d2b63cbcefbd1730a6769e4e8cc1431c27b9779fce33d9cd5c5a68e480b488c12f449d3fa13e5fbc936a6c204e54403863ae3d0dd3c75e4579d0979fa6db9e76a6979edd8120082d80c5a40e4ce76248709db89732e4930ce617822ffa513e0b9d872fbd46c0f621d3b1bbb0b809e2ea890a2de14b5b39a0209cf892322d52ca3ea88195617f1d049e1e1dc98e9bf2e4152a74d9ea89614c6f37faecda2b9b057d720911ba3f335d0053fe3598ca3843761dc25130f4074d016805c23e7a5e53fd3cabd114537d1b74282148a7e9327edf93f9238115a498ac49c1b862fd52035f4e267015f8abff3abf7fcc740eceeb5dcbd01e1cac83d17aa3ad1d37f7ee70a484dc2297a192a8a6caded7a1229726a000fb7ca97209a09c95b03f695dfea94b395c86c1f9f9d269c0421995a372abfde103bcf91320b29ab3f1b2938210d47e848f0ce3767b98781b3f22ab8b6c6b94863bbe4ba2b23ee076b8864352c416b5ce662dcef86d5790865dcd1e04ad57e7a3c7ff5a9d81462ea59737740a039320e596f2b1fa6660254c00bcda055e7d62f77c606443bc35d6c5378729ceddc94e2e0c4923b50fb06682986169a76fb2058dc986890f5e184535a80f8582f811c3f594c6e547d5917927753a9359c50bb4a07ce10444a8601842b6d686cfad6a43bd82e9dddcc8539c0b37b2a4c3013877c68f2a6ca052a5fb41d544eb47e510d2cb60f82723ba39daa5dd84ddbdf55760e075b650b66ae2088a7215b8e7ae780f7134af72d87381eebf729007b4e716ffd3c43b9f313495cab071f55cebe989830e41357eef7496136f474fe5ea36ce7850cff348967ca139a13087f3b34f9e839f4fb61d380075b346111ba861baf10ab2d4f19cc241be9c20b070f37fbb8c06399695e8a434fcc386e1759a77944709cdc297bb528ffd361f246a4ff0a8a0f1314af5df58ef0c8b6c8a6a30fa7eee8769e0fad8147cdc69809ca25d02468ebe1a7d888df3a995cef23cfa80d25f72ef274136ea03655d4ef66ed703bb159426d4cf968a0d615db6228d9a92e9e2b102c9a48202d7978638bb68b76effa37a33b6e3492a722b07f18281abc76c10e64879e82df8a2445e47492a5b6d3f0fc1c7ce58bf38abe0ffffd99d48c987f3ebfc5ee5eabc8925ab510bdf56c5ac49d20b0476d51ee0e281168079b7389052480cd4d97ac133018bd86f03a525af887417415bacb5520403271722acb32c1cac20b09a90d3ec44c34ee71c7302235afc1f11f2d86078e436dc86e0bf577dde54452732fe5906aafe79ce749d6478f464ad12e6f7286a47c56a9c27b24854431d26ac8aaef8ea3c7b78e51be9ca5651fcf543d418b37556a795565c852921e2e2eae9f2fcd0690fdd01c224de78c41702cc9117f586000700b6b8c4314f20b911cf5113b1fbd569318bd311707349c1b9b07d33a3c9fa96a63c06d7c1e509af9253538f314fe533a3ae74dd04507bb921c7068b74972d7a662a3edf8b1a974c380727e4717b385a5ce59a3b59b60e6faac713ee1dda79d31c089d63d6f24c0a4b591fe77272cc8d6aeb44e887ea322a3d8a72d4e6e8751e5c95c17145e460069fbe47b1d80f82f11b85e032fcd8b02a3ff5e53dbf72bb2b385449d2ebb0f3879b04709ef9753d45d06e43703a5b117ef025059ffc1b43030e3336f7129b746def4645cc637589c0d1c861438701a33c13b880c30a2cdffbd338c0a67c7bef672cdef1a1fb8916519b49945dbdca0772ada2a16cda0da2c4c2d2a22835a83f36e00022b5bc1a22e72d9457351bc8180b02ea6c489d2ffc77fdf7249569816f14fb6ad25ea101b72433327a56011fbe1777d0fdca83af44c06ebb85d882e376dac53051b58b101a578bbd1d0e5a3df358c54d8f8b2c5be9cc4ad1980cbe9ca5a466c4fe9151e7224af43edb9c98db3bbbb8f5930a1a0fde0e89ac00c6e1d8d67f05a8f42211bb0f3a4dc835196e4aa85e90844bc6d75b9acd815b6e737fa0183b4f1c54d42e054e4dcbecfe62e688c3e913864fac7899ecbd6a9d5cbcac384b23c467c57a8f685b222b91e2dbe07fbe6b74502843187e76fff5177b392a24b5d4ae5f76c961b595f719eaaf626ee51fa76914e04262e32891c152be978b158a9ca22cf9313b307cd3715187b04bae7174ada5d37c745451c7b116a601046b7638b062dddcc9f071bfed6bcf6b328fff7693651bbceb71e1134534ee694c61f19d62d7b190dc11d197a8c88134c14e041377df8b94831ca1c460fe9568ccf55d72e27cf270b64c6a422eb77d1e437090aeaa1dd537dfd105e927ad6857370bcc6f07bce7c77765b36231afc96786e5b3330b28ec414c7b139493b694bb0d050c289d2ea65a6ac03787fbe0db1d7951929323367d9142492e8b7675da57212bf7f32c2899014b91e3da95cfebc6438cc2b9dda2fac0b33a6d6b94f753c36105ad85164077bea33db614ccdae123797855a1d7174d704216afa1f17e4bc6dc57c598ff8090e3e0dabfb02a28f5cd62065cddb1fed1cb0e1fd0bd45f5b0dfcba897a9b9a826728094d5bc95eff7923aa874e10593d1aff65f68d4fc08efab9f1f8f6bd59af51b20374d5e4b67f111aad5ad6780883434aa045da636c80dc324be5db04059828ad19cf43eee137a73b1ba2e011248dae89890083b5b4011354e8b9ad7cacb19903600f39defc696e0c9c172a69b887a969c3d8ea33de72eea1259df83dc928eb266094515f3701617784bc15ff232af883d7579a858541a8bbd257abb26de1b136c6aa75301acddd1ad1f861ba620d4d5cdb8a4dde0817d156f6e2a0945849d63dd108551555600193d211eea6499116d3255fb1844eb0964cd0bc641d428e51c3fdaaaa60e73c4d284db3f1b5a938c6bddfd90b0b9689d0174d88ff77a329fc8636eff2abd8e7dc4406333d2999da3b92f92c6fefb60ad3230dd100acc837b117352f0cc3d71504d1e6c7d6c170d107fcae8d94fbebf007b213cd1bb92dc96946b24e9c7fbf986d528893e522afe2619c2fe55681caa4633a23acaf4a16be13e02142887a02ca77e4be2960bd176baa49c897a4f21565f5b25801726295bc69a74471880e66f52181b9e0c46ec426fa0642e3d295b99fbec1d66c964acaf9c193cf2ef582cee56a46f81d1ec1aa4a070a9857595cad6a2b1872f423343ddc4a273c35c838690fa8973681624481e13968eaf4251dd48cf569986a6360c305dd15472f30820f96f08e9aa63e9fdcf038b620a8a65d196f15f10e732a8b2693c9a857641b66e5636ab121d1a3c2f488e9a140db71f39cefe9aff7b6a117cbb88da764d96aa35e0b7e38c0d647f49405deab41db95fcb17fcaf0ab1b7c739f994e524d7a53905302b2afb155917bd3feaba2169b8d7ab29a78710f7764190373669423c10c5197ac01efbc69dea797899412751045018c270916a8e3771b5964af8abd20077fd4da11c0cb749fbdd9964c9d9dc3b69d6c4818d3ea93141b6c0bd53d41a38b81e7b155de0c7d1f10d2ee258735d12602f36de7286c8d22c1f8af5896dde3fc444d1eeac41aa09325ccfa4694f07c0aab1de06de6ea1d5254688753e582c96b766bd9f175fcc84239d52765c67635e5c0e05d6105dcac17457a0b609320329939457e19cc1f24e0fa6e92ee3b86c7922d69aabffffc52923bb29135cc6e9307cdba6c5f31fb1c7fc88a19db6ec730074214ce92cb7245a6f6a9fdc32224e01f672a04bd5776798a4bcb388345127d53b5d6e47abf044b937e7cbd89dad9a45d76040eb7bd647226fd07105df114df421646b62d0ba19479677b08fe4b75da745156429c7b95491e755ebdbaaa997cd7cbbc69db48c2bf47454b70e04ca67365ec3282e7ff3a2bc3c56ac2f518e9538e89cfe8ebed9a2491d597a309e033c5e502c3454a067900ac29f9c465c577825ce91ee5a4ac145ac42867eac7d36a7dd4f622a60d47387547209c715af1c0b20335e2f77c992469654dd43d3e06eedd169a4e3ea1543022aae78a05891ea747dd0faeb2cca38d1026be513650c8aced8e7270609428b22e484c10d8caf16a2e1e54a9a452219f37a5c223e3e227bd49fdd25929e07f04acdbc8a22544542a1699f99dee8867b1c1ec8940126a77ee07ee141f691b0905ba0cb53839d0e4181dcfab64e147b7d0ffd3c0c6ee9588738225101e2688687596b8e2db9e6fa12d5822dfc1895d7928882bd194a6d05753bc8fd0c4966267631bb82c56859e3ab1ce726803f5ed38a2d8ffc54831504abadb429887e73a838e0bdd922fef6a351b337d4b1821d0ac198fd59f1790e771c9d2ddb46bbfd8cc39e3589538e2c90db1ef6ab2f29ccd622a859503604bf5e94106b8f47b3f6db88e68c30b501e3347a6d8b81dcc06883b1a51788d437514e45fe619665a6cc9b6352add5251ecdfb90e36253b5572b81e21ccb85d4f042fda17e34eed1244e1f1f6957d17e5a01c5d8a82a722557856dc4287e8825edc3af2308170103622c8dc1f8e6a7c729de4a18ebdfa34f73487c6af014823778a34322dcd6607ee2af309f4f8da2d161a92cc9de1d07b603ab636749237875974e0f62e20183f7c77ad15f54460340c0f9de744db07f79df85aa3511a892ed8d2b40c24d86c9469f5062c6e000178c6afd5962941de3ffd7576e42bba046af0b9fb585a9edfea28587b429e514fa62889092e07a8d389f11304ae16ef797faa1ac43f88c2fbecd6a3f8fc8090e5e34e1b8ed59a7948181d69609630c45581481db9eee543adf050169a19cc2da4e8a066c32c7f02f617d85edeb80a60fd0ed065d52dddfe9d3ec944ff0b553678b57ca25613174f14361a8305af1de72286e9576188697d96edf6f22b3720661455f12f382db32bb037975ba768471bfa522c6da09658972afbe2f37d3cea51e252ce86577b6c060c2c54c41cdfe7514dd0aa214ec69c9e0f750912cc7ff10cc57c917eabafeb18e4c217b4de98a2c3c583de093454da30ed3e8e812d3bec123a24f66b04101f29a921d1b82562ef079ea2d2849f4aa19f1d40774c63e767597dc5c1bc906ee55d57277e45dd519983a25687c1223ad50b058b642134d2c725b6e70a4098dfdb17751114d59c99e3e96031f4d67d19b877ac2b0b9e363887a03f69b5e2506145a7daf423fc71fb9319f1e5f7902fde6e0a10c94f5f6ccf5ab4ac210368da8354f14648a1471b89712923684ac9a5cec78bd0e7de0a03157335a17049d74bb0e3480902bcce373c06b7e225cdb5352329543b01b1f7a04b30df7fc84089e86ce704df2b3fa22b6cc30a27bb51eaf4ab613fee13ac02d054364822cd44b637a5de72c337f9ee4944ce601d94d0f82ac6345457062ff9a1aa8eecf1310122f307214712656d44100a16341f1fb3c2181a02c47f9819f9af778782a2d030ade3d8adc78fc0b32d7fed9df11c5111060405f2114aa31ce29e1cc0a4a919dd7b0f2deb363f4b5525b2abf9b8803bb0cfd18ae5a2c8dc1dd42178531efa392c66d93504e0c1372f3ce7e742ce4469b839ea1f64e4a4e8020b6799c3bb803b7b7257b17f2b224c980c4d03b571720ac175533396dc0b5270475fdb74db6da807ff7d0f3206eec984269ca904421dbcc101f1cbbbff22e847da3b934e51ea5b62999cd666fe56bba4c994387ced454bd043d8537e09ab79987ef378283d8e50e7bdaf640e1c9a08fbf9f1a2bd193c723753ae7ecb7bfe697f5417145766820770f498699e8569dd499a7e736bed9f10205ab71fb353bc9150039b27c610290c06d15ec4387131a8cb5ed5c45a6d2f7cd59c516027a6214d9503ee4501d5f2d94615d9d56d430d62e163fa09dffd94e59bc7ba67d89cf864bce7dd2f3d982a930fef383efb7ef1e6cf09c365281e0a9e4d204167d984afa682b6c45c4789254be1227f1c4c542db3be449b8c59dbf4d3511aed8cfb29963a55e16150ae766c70e2be6c352c419f5678c3a0ecb2cfeea641c4f9557f204af72080a3c83fdd1a9098fdae142417da8fa97911c9c8d9b3a4cdac6eb19c7ba562824018833ae0700744b391f0d4819da46309c363b3b72bda35cbd9329548550481fc00d8700207e6bbb1117a81397c05a9f4d1beeb2398dc7ea4624c0acafc5b5c85690201a97a72dce5e7e5724e602e47ed6a5925ad9613162e4b19b4a4331c415295c4b829c473712edba63689e258905ec0963db4fdb3ff398ec70a9afed6646ee2656137e2c4afc3e1064b9e2e0e9fe658613a53c4de0b004d8545567c09f0be98208773daf22548e5140ae4eeffdad1729ac6e323f4c6281caaea49d66b8890853e6267149819762de7deb11ce335cb8de2b66e18f5cb0461d8eba281ac134ffe11a0b76caf634259d1bd9cd4734acbc9c4344187aa2c5853dd2e5c0a1a428ecdef9e7b158bcd8445bf4147e95964fd28ce34715c67423a1bdc145691f913d94a6dec13b6b4463fa874d10abfb47ce2a31b64db450df6e9fdc996263dffb94b102e707d36110bccef34494dcbc4159f5909e17d66bb34513c54f01a9f9f04f6742d27b03704dd86100021315601e3668491a80b8ff4a2277ad5106c38cdbfcfd6bbec28ec3842e89970b4db3009b30f3177a2fac5adfb22cc439207f36111c59703215f7bbced8254f3b2989f152f4c3c2783041440fb3241b0b2936191cd9d22f20e0208113c458fce394ed0fad505bfc065351f02603875abed7c9983e6cc1c4410999417512ec30c7560094825a1074c063e910eb2c3ce14b562313501576de90443547e281a9cd40e2c5d766f225426d038480bd841d5826b96b059bb8729a0d480557107fd0b8060a7841686e89d870cfdceb8c764117fe4d4ef0e2103330335f0ab7dc4d97f363c74d97bfbd125a1779fec2eefbe8a6860a6019b8284420e70aad60caefbb3c458c0ef023a48d897452f18d3b98bb85eb91f7469b5dbe78a0f5181e04b54d0bc937d9124f86560e86b366d1166d50dd887fdaca1225b23cd108b509c7d56ce8686a50087ba64837f54c1efdb9c0b6d4b838eaf5dd503054be439cff63a9fa8377b7019174f4e0cb5450725cc933e4c159c868843e164b7428e3c97a1d5c5acfea901980b59ae97af2bec14d487d131f6f8b9601e12149835af9117b13c4b5d93bd1ed947e677b40444fd6a09c09bb2ec24a9509cf47c9c01ecf3b85d7bfc3c18fe39beb9863be1d38ca99c2f0319834d6b1c5f5aba3982db6f986f2f00b632f43ab395802a516efbc19002cd2780830336864f1dd003b698ddfaec533890d50f429be2c1aa2168d6ea41f4ab3417906b6d1578d062a70ffb710b68eeb7ab01452afe3f82d2f0ecaaa79cc6a3709bb3528edbf536cabfaae3597cf5cd477ff2f0b394420a92b5379fc48bb65a227b1819e85748ef17af7bccedc79522073fa389cf90c060af5fa02d703644d034c8fed8fd1777faed86921614f79e513b1bc06745b9b06cfe8a3e34127c23979ac21e4f1c3f51a91e120797d7f326dd98c8589a8d5b27fa1f81d762253cf455706617cd12faf676e4eed26653f3d62302467cb60f772a9df99532ccd69a57c024f988c5bfc9c18216036ce94f5bc8d5227a4ecc2a0cfc2c0ae03b730eb3460d7d22cf6214fb5e0d23932361bd9e904f8c85cbc210855293cc0bb4ac9ca50d4e9f68a769b23261f9a41cbe6f44f6649916ad74e1c52e37a0ca10b41d229853a938814065ae5ae8681b6bc5d06dae6f928b4270efd0b525b96258643f06627f92f3c91f29b1837dc651a0e9ca99b3bd12b682b72ff43c9245346cc6edb05a3106946a7015c651fae435c7c8d2520e2b77b624a99038d205ccad44bb2bedd10b99c611dee16f1150072862f2a23168217e2d0fb42833a3e9f9e61d9cf4ba9373c3b3593241e1bbd39bdf7013330ebf650ee49d836bcba07296cfc7aaf2b2bf71ffef58a7afeca7c1b70eccba144cc19887efc2113d60e3727025ccfc8c21b2ac0c13426271e2df8adf28ead293cac2d9c6eea917afe2152897ae65617f93bb67997153bb904b8f25f79a81cde91120f2b42b22d3aae95f6fa88b47180346b79ff6813d543f34f7260225b2c7865e48bea5bfba9d2fc8fff3a54c427836b13b16922f05eb46e99d15a52695c5265f563800607e7148bdb2edf330a910765d00492fe5f043c659847eee347c8a4c22b70d60d6a3fc74a36aabf8b35d434c9409ecf1fbc68ad1ff306df3befb6745d73a23e4c807744a9a2897ea36d3fa4fc1b18801df75d914c19d45550101728d48cbdff6a3ec7ce9468b0d3d122cdff941d235ae45f44ab93940a9c5d4e5bbea2636d9554cb20006d980277789ba7d055764e8e1e714051831eb30eb242a2aaad3da3ac8f9b6d05a4eb279b42a70cbb895174bcba04be49d721ee91b91223a5f1c55becbea79bc056fad078861d639420935cd670fe93199cfe7afba7718b584598a4ac30a2f075a5baa2796ee7928276e754d690546330d560a84f7a135d649b17e4181dbfc79ae85383fb2e352c63b3c3a97cac328b0250769c14f8f750de4c9f96714b307e60e02a4304db22640306e29ca393febc7e3ff06a59820aaeddae236d9dfb5c1bc78a48a6a5e159ded66588d6119c15337048c8cddd7d082127ee15ecc60c365b433989ca9839eab7846fd55a2a35f3f02d965e728c7598ad502d970a973cfa92260ffba89e4e2cf2ccac520b0b6b2927ede624b97278ab0dbb693fe89a4b52d77e92cd775068619365bb9f4d71ecd0a5f0f1fb9eaa0ece7dc1c4dff22362a685c86f7a04e6913517b48ae086d43f4923bd9f5473f7f5259acbafe6c625e6886e04ef8fd77f9673975442f5edc6ec53130ef720f22873f73c7c58616954189b8c6a7610310592b22b85b6747b1cb8d8cad71f9e17a30c3b6b4f6265789e9101e4cc0a5a83a234547827440651d9b235eaab4e8c05760f02081a1d0d28d70127f5cad33fe7eeccd2833e423175c40c6841e1be9c24e0f41da276d3df5b4c5589afa898e50bba141fbd0c8db9082fa5966f79075f91811b6314a957e5b9022627a7a82e56ab02726bcaf8d238b3947694aa8bc87cc8beda44a1abbcb5404aede4f13a503ce237ef981abf34bcea488e045443e7fbf6e0932e60a56392b23be92722ba2299fcb6e2ae1c4a58d2d38374d6f838c2efc96e46302064015b77343daa64e485d632806407111a71fba8da1b5d55102c44c06f2e8220749805a9a3e033627cb9034dbc48197456a8224a904b7a55057dabdf7cc6d36d31ab04bce933d1f012dc4cbf409dcf538bc36f7092f839d24a4e1aaf117a4a6bd70f450c04cad7d871d095daf9bccb98b1ef22d75fb7feca921d258c6c2d5227e4916b08b76ebab07006b5885ad886c9fd75a4d600fdcd35644807dd85983b0026a78180de56eac61f176acd446e14b3712be974c2860ece460805510488f2e5c91e7d5064e79d009c1649a6f3b4621a8074d51e827f46d532ea125fcad79713fca8db429aa784d711d2562b3c45f3bc1b8808618de25cd97ea1c2639cab974f63c444057dc466e78f11b586c6a0e7e51074181a84dd2caa6ca83c722a61e8de84d5432ad039c61af44355974dcb7cf75e46d5b19c42513086b21e2a77355106caa51bc3a31b6648b19552c2be2cb518a1ce8fc8d1925c6712589ebc4bc44ee72d85d036c294827e2d2dea21aea5410b823ecd341d2bd0d79f53a7fd48e21b6e4871fa67568c1743a82103376a6f734de548bfdb7c494f81a68da10d54314d503fd894dc1d8d8d7889049a7b5a84de9396bc15e6422209e3e1adf022a94da9ba80017e422ed5fa04e4337ad1d597d1938db2300e6119b5bb78e84efe38a380ff626476fefab3d5714ac2f42ba7dbdf541a73be4918a391b69397b7b59a0d201dc4a92d7e4485f20ff3e86577bdff0c74567b7056fc965c04b43f356bf72fe2bcec1efa387648d254fe6ec7842dce5f8d6d030033110a9173192118035d934329c34a84a566fe2ef5230bb08ff0102af8a478a1df668e1143babed0e8d1b5b471a6f52062f15f67b3151eed7740d498489703fd04464dd82377c09682e47e8e202691798e9abd73c4d8415ec122ebe50d8967ef876d5fc48a1f2c07ef5e47b44c14f57c1b9dea9655394feff51c70ce0a0e4af6477af5276c751208c7cfba07f93bf89f9924ffc64c2aff773ae25de54d4dc54b90114d66542d01dddd1c0e6c0da99ea5c84b799bcc89247e77a26399187094dbfd6c11a7cebdddd0e2aeb8e3549cf28104cbc7591c63d196889c1a9a60cb7fa6ebaaa7a4769486eadcd053714623b5adbc7f721d101cbd74a0fbc3c5c29c6b294a49a55abf71ca9c2a690ffe1ecb6e791318801700e9596de466eea5e7790ca55fab034e7769b1f037593768b894f4418f96ee77d4458a33c4f78799d8db498f8f05aa70efd714cfea3a7b68e8af94380d599586768a0bacb3e4daff6fba84153636617381acecb345d27a1eeff9c74b7917aab406ba34db8933f74e2f8f32ab6c0c49752fecd33e69d49f67b6567d315bdaa5699bfd767c5dbf092c20f95813b5b317a7e091fb701eb765e78dc278258539e36401cef0c63d00fc44cf97d66bc9ea17d418f9cf3dcbe1b0f0ed0718dd331f37eeebf483397f82ba95c13dde8d52d0d80808805d7ebf4c4b76a9f3e1dfa55b26cd42b701ca5b1e20e067b6f1df0b6e50e829ba7b18331e7a86f044219144c66149dfd4fd8809273c2915fbb8c7c2dcf739a10201cbc9c76fff1c8bbfbe4714f8ed5272829a348031fbd8c9ae0afdb6030e44a7faef551484e9080a6e0797058918487a090f650ea59fa7b9e372fd270274f4139036f1e5cef37b84db3c6a276e3ea059ef3b172820f70a91b11c64eecadf55d051ce1676640c97fe403695e95104e2ddee05bbdbc0d282ffec44eefcd0b67d0e9f731f9c8c5020d9154bc81a3816a6ea052336593face08adb41a8354f9f57e50ef32c74fb394903d48dea4689b6cfb5c910ed9e6cd3387497cbaf2dd1aee55b9d6fe8bd4f33438bd283913bef3c083a68bae00bc2e2710641e6e01db487021e66767a76b628b5172efcdf40ecc7d8c3b5794cc0f10268cd1c2d830aeba6916033ec5a23c2e551e4b492d58548f6b22a600374682542044e15e3a62ae0e4ff5cb844ec2d103efd85101ad28770b7bf483ff4c6187bc446a5f0707a9e096d7934d709ccbe0150d41e272519be49fd7b2e536f1ca483c35a7a6522981764113d5e538ea7d1277c83da6f55c33c37c5eef4ab6f345c7f1e559b01301ddd091af30b9e228e9f2efe4d00477ec240cee8fbd9449ade4848b1d49c96086d448f7453951be82b6a8f02c0339ca0da70cdcb9f4c1860b3463cdc4709524ee9435ff8756bb9e659e13e098f2d75125f7234efff2169d5345a6e2a0d0424c5d3b87a648822510ab1289b872f4ba9ff54055e757838ce6e5b6f20d06b9b3d1680800ca771b0bf170d689432cb38759b10031f3a57f9af87a95d81baba4b3c9d6ca88578a2972bb66a99ff8bb8e8b8385d911d9da95218e901baf1c53fff1d83d954b8ba135e1d63241cad94147b2c0dd864138ce05231bde81bb13ac75012600109bdbe9740a3758170891f93e90ce74ad2d538428c221c124b381d67c81b61c015bacc7388227fe47a6dba0c53b22f7b501667ab62f6a3c574873c8fae9173e2f8e1c37fd58c57062f8777dff135002af86a33a6e3be2d3e103a1eb71673637efd29cb47844f6691e73ac12158d2320717da169d791453c8051a1aa31133ad606b109e544d891f1d4bb38020f7c5c469895b09f7fdced728b9e3a073cf3ac322e2c6e4c66c6dee207471308b89fb740011500cfce384c3d16ebf349bde321bf7d063f2f48587ae5b9123351c9a4a083580a0be6941a808b539008fc5a1639e791a38ec15a828f5788a4630f58e16c358e593fc3b1ef50977916264e83016b90598f5d8563466a5512e8576738a10a0fad255821af27d0e98c7540d6d750e3a99610df6d1cafcc8962d3af8e58c4dfeb9e7b1532599c2100a0b5dbc11e0cda8bd40c3a0dc86a3d278ca3c3203905296b83ff05d31373cdc05b99702aed2f8092ee16b21fd3d192e523ef734fcae717d263b8b1eee0725f800e14d464c076b04904d49b19e3bb8ddb0aa81b3dffcc71d4db9508e04410acf2238c15246651a927905ef7e53994781c23c655c72ecae5d6d9b728516c68fcca35b160783c5130a0942f0d6436bc0ebbba973354a08762ed3f58a626e49543eff6365deb3d02115f20be24496f37d58614ed83333f2b818ccad3f8879a2c863e510cb38e7c9bf5ac6b48eb48e19cf06b00b1bb9d01b77f3aab8563e09ae9604395615ecfb0023e2efd356b8154a408dec22a25ecb087bdabf9ead07983b143f037527969584ae34162f011dd84361718e8e33fbd87567c90e62eeb340e243d205287fb7ee23fad77aa3ae8af46461cc40c411aa9ed4b36e117e351b307e6aaf46b1b9894cc6998160a18793f3fe6878f4e0a7953203c2325f8f2a779bb06122a3ec1b41a9316c82d54f2addad073c3858c431bd807def7a1be0572265da5addd41d03511f129c65808190f1b582d3ba3755d57db4d3c7b1a00877db0a0c78dc0602ed62d0daebe6bcd3854caf64aabf295b2266fee275dda4acd470e955a8547d1ffaf60eb5dd69f83a556837af6e5df39a40e40bb142cdd2ebc3607547f03809f85569df106b165a17f804f029498820a8d1e580915090b3fb7a098da7841a9bb3ce9168ec760fe560506c197d5e439641407a1d673c03084bfb483bed033159e84681765df29a5f35a352228640a82e065fc1b3196062b980f33a1d0f2379bd3431b95fda42469ceca06488c9146dfe3f9d8ee57d86ba09e1d5f623191a6990adff8a009de8136920918de110075f065eb8d474fdf75892ebb85d0c99b64b7a901a2aff77ddec4abf91b0dd7147c75d476d0f888f3db1d975b09bb306ea01fec737475396b0932ae1f4ec2f69edeae29533d5b193b70ec2a27dd50804e6626a284f6172913f540d1e22350881fdffe5822d089554c9268afbb438df34c508547255f48af48bb7a4345911cceb7a3e2e4987722cbd5a0548f85f18d30091209cc3e2d5c625ad9b4dcc79cd7e1960d442ba3197408d9df9cba6598a9e850e4b9d3a4f926643f7ab313533c10a1e867f6563524dcc43b498195a2bd8126dd533212623daf19f7c47297a5f00881d4baf0cba053590c8305e451c0e2d2b098bc632cb9a674c4243898b235cf687809fb8fbe53a563ea4ab5db0dfe2019d8bf9c54c57d63a02409c87999651d04c03afb8aa34975d3a4510759f5de9f358dcac49796e13ebb535fa1b9be8fccd8479df104d654f446b375d6d28d86a2538c105bbab8b233f39d8a0a91a50b743281548c136349ef6a0a588e63ca4b775d6e2e5a81805380b1dd276cf1afc7fb67010fdd52c4f6dedc86ec14cc54b807e5dfda0654a372f10a979fd52efb26f1b84da311cbf8986003994b500156defa9e6d9f2f500513ae6abac61832d8b0eaf8c21fcf49ab873286f05c9aa1d3cd1b920e20167c6fb95f713ffdf414b44e70c58c8a24519ec6351749ba136941b48754429d0e2715a401bddb03834d0840c98b153d894cf7eec0430c1f268c75e6eefbb34117337ba609726dd0de84ead58923f7939f658673100bf6ea85c59ac7aee5d9bab662bdb594342538b8ee021b4ae9e67b8a1560e7f694f944c50df4dd3446b8b15b4e245cb747680aae9e3ba7da7a2154ff52583acbf3a4b625d38670818bbfee7946756a83557083557165b9d46f1ea9ae355a02e93ddd72686f48c381cce3d6e22803d16214fe76697264419e1ae43f4e92e06f994cde36acdc4fbf614cce843c9aea433e34f62e4ebc3ca45ef0b657cc3b0d67bf9440a9ab73e6409be9d8a9662a638b668b15883af2308cf06965483aef0d0ea704d54c5cd858bb80cea27aa218a60344e9e88854b8d62ff3179f42a7fed8e5484f46b40c14e57d10b62581816bffb56139d542951af5f0c9b1daefb573928b95239c2e914ad09d6f588e3642b74e4a982c53020cf31ddf95997a32f523e8ad9ddf073bf874c4d19b26645b2e87b5a229b32d758bc113ed285f9eb823d433685ae5dcbc3215901bf9ccc0f381034a173d2ebe2c435373428fe0f5c5732ea05a873322ac95cdac5a369a8a44c9d2dcaa22fb6bfc3a50f744400387a3488316c430cd1a1d277674fb904cb560cbea31c6e58c4f5c977122a79098cafbef40acd7e68e96df8f7983b58b221c7e0e81b7f4192ab66e2d691c550809a82d937c6e2d752ca4396aec3039ae325e1f963281178e52a9c175298b850aededcab708c795e66e793b9ac8e46aeee03f73441329a2b5a957d31d3aa575f9a34343aee85b918b58fe8e094acc01e1932d8f3a3a510b0bc208578e1121c1e6c17565c10a8e5500c0eecb30c2c0bc15ac88196892560c141aca3a4384a8ed0957936652891466c4ac0d9200c648e8d9d85f46dbc64200705b4911a40864e6271ea09ccfc01b4bc78086e664e3d242418799b2bc8396eeba07972d37873aa0ec45d339379c92403599db2136d5831323531b38438fa44a8bf3922974a0802b0cc8cca7f7bd2a620939ef7c265f50470c9d3fa6a9317687f2cdf52096099e496e8073cdef48d80f7fedcd4e31d6f5ac0d360adf60612f6ff4c53622cbab3062ef0382cb418c1ea4d8bff3c5f224df0f2a1a3e243fe70561ee0acd3c407d373eeed16708edd5de914ce595efdb77465faeb0662b2fdd5126eb23b5cfffbcef1d4d492e7a001d5b03bac04bca99041eec4d085dbbd3b95d6f1f0935d46c1bef6df855143fc82d5043966a82d1415317ad38783dc0841f2aeba4fccd41c7ac5d26826854b176a0d5c97647cc5668d38130da51d1f518276871638b37e4a4b7a86f7ca471f272225eda1bfb3428033dbaecd7013cf6e21fed7b5d5e64994f542d3ef1a216578b86256c3eab53a05c5044c1de0ff3f23aea4aa0fc77b40218fd74be3275557411c98ff8bf93425a74d2115ff21590966ad3d9d76f5b6a6b5db15917fc90ae7a80f5173386b61f7157b8f2ff856bf720701b91de99d42a350acfbbd56e2f6fa4efdb0787753852db9d5ee6130645b62009c31f6fdf8616e50fe14f7e127deeabc3b806c704926c566ff1e4a2f91839a58712b1bb1d1f907c4fe2f3e5a50ea5d368fcdc1121561da4baa35dc7d9110cf6fa6ff0d8d349e81cc08945cf431f03dbd294819f22d9f12ff02128a27c37b5459dda302a18f02ddccd425522c4792955b165347e7615b9fac0cac7e330f34e070ed3ed889bf3eaa6bafa5e6b4f50fdb42e495733e02c3985449ab2d3f4a3dc486f2ac892572bbf338dfb09b5cacb60bf001a760937595868923680faa24b5f538550a6f89baee80500bab66c9e10fff8b18af6f6a597883b39381783309fb4935ba41402092309a38f5b514572ec82cae23e50fbcc93727204e3b5a2234c7147bc6f38de0fe72bdb59a4388f3cb83b521464a4c423a4b408e948f6f3373bf2f8097d2a323330caf8f67c1e77a7b924434955fda33b908057c78b8fd251b890c1291aa19b469f059017e3059657c944b574036b63da2d7916de5ecee348ed577d89868a8b4cf725e3047efb111c383724b9667021b9b9041df7420b886c0f4e983659aa426e69dc260adc1c526f184c618e907058883aebe1ca3e19b86f7004d5fb9a463e0c183d7a7e4dd758ceaae4aaccbf3e03b9020688871664913d7944952c648d2aa262729037f54f4950a9067c1e8cb02f3173945b5db9e1d6c546976f43ba5e7b486ab82a9ffab1493491c6a6fa2e81f6bdca31e69c1388e7f149abcd107408a86e43417337c57276f408d7dc2af04a5ea9d4074a2e4992b380655de0658fdd021451ac28957f4af4e90f80471ed0196603171fae09d5383558ef1e0dcce3c8d66525edd6fccf59cc380f444e22f7d05cadd4b256437eecccf2d64505c78f11e0a0a1e395872b9c7cbfdc8719eb833e2f6282fa91cd733ce49f3fbcf934a91bf73d9cf92ef6749184696d00db0bb0e14f641fd69be1a89d0e1bc7ccb8ba214c3477fd2d641b626746519d00c227bd210e015ad272a9873d5329ac721be801e13a5632187d7a3e168f00735d9967254e2596d5c36f07ad49dfad78e16fa67728d9df911215b8ea1a7bc58e2d5f2c69d329408522577eeb63f2c1d264fd7b2cf7ebaea4cb3d83d09045380ef1c5c831318e5b499cc6777ea9297741dc67ee03e3d4c7d080bb65437850b1a907c09f930430cf6365f9d0b30a6803801db6b9c9c17e5eed72be2fee2dadcd10b6fdd02730abc6890635fda9446c37f8b4ac2c40a000914ecfe67b28804c910b1eb4b7dabb5dcc9eb3fc2560ca7a653fe478fef9d08958fce48a6aec87bd4ff43a261e7ed562bdd63e28d98b027190d6d6390aa655c0cefd5b0dfd8192952fe5bda19d1275d289f97ce5c4d79bb9fbb77f273ef5bd62e3a7fc5c10a1011cff5ef8608259fd46c25833dac33df98a3584cb0f7713b5983e81cbf5d13ba3a604b3552f91b946aa4fede18724452f68bad286bce67b81447528d602084712f9a17772fde0952b23d12cf423e188d83ae9b3b101ec6bfcec4fdda304c5ecf025fcf74ca896684e18507f99ec21329833376009e8a1f3891e6f2d3da70b5a82dfcd15439da9abcd6ab06e45ffaccc855de2ca09dd4aa2425650f6aa3a2966565a43ee3690f3fe66068c755ae03b1a6184d4974c05da15ff85518e001901426bf203a8e311f00c9ca1568f419379f9843727aed64242d077451eb7d542ab4d3616f0e1b1c48a7b4d62c5dc5bf0374c655bbce9680225a7dddb80eb3fa617e966852fc5f34c980750dd0daad2ff46728b58c34834f2411b0be980d51b20a43bde9b9529955fe7b6442efa2351522f5b22547d56fc9d980c0b274f352ea2fd79600644514e37a3b617236b956f22967f1b45499f4b3716252a02799721bc1bf225284670a00adfb0050450361a64dffecc00da12f426f5bdab2d7173ddad1687919c31c8a32ef3db270f0ca1318e72d1c56d757459d89be56d894a5136d946e5b877f0cf6103cee72fd7786af1414b11ab7d4252b2a754763cd87e24502bcb581a10025480f122c6b6ce014ca51a2e0c665645c11330f5243118c5da1d00a15523fbe836493870f692641fcb38b52e42b20b9996953424d8ac372065fd7517278aaaa299121dcff3b751c163be3165d3e89fc58a090819965ba86b11c2640444130553c5b42e26fc40f00f5261018cf7be4efa6fb777fc0598320ce7984e815dc0eaf77408260bac984a08c335a0df93f32399b352de4721218129f62f72817509b0ced193afe523321fbdce3d05c5252da468b0ded16ea24a0cdb4eeb1a302caec80471c4a1165a3cff471dece96d9fd1a435ebeb05c61a4a0d2d617ed76f5950b215db92fc084935ca6a9cc3f137f9f5167d8fcaa55c403d3b0fb59c07bce89c2c048cd0dfe5502b7936d41f00b98354243d2e20ca1fb1638fabe70c857b6f33437b673f2e09b96924f34a798ed3b838c92b6e0da967ca805d4061a14528ac4a69116d6b170a21e0e47c81a03a3ec992280a7e340822e3299a3b66486636b7eb92f62638dfd1c9f8752efa521d4c3a9b7c74ac9bcd1bcf85aabb62defaa28d1c8731cc7548d41a75ebbad3ae3d816ddfbd3a8c02b0581d76571a996fa14df164d81c93d0fd31e62344cd22e6540fb9ba492826a3fab8c6e6df3f074d3b31d58d031001586470473d80585124790000efa9a41d3265fabfaf917df8ada5a25266b8b1f297082fe13dac21b008951dc2a69fa008ca3284d16e6e201b341594be35ef88f763671a0f156a9e712e58cc52a4755e5b5de7e177654082bdeb3f3d63bc1ddc1c9a9c30ecdce4b667f835bfe114bdbbdce9587dde615f49446ede895fc30efecdb4a22363a7d90609c596bcf36c65e2078483a0999c13ba12ee1986970230a2a7c80f56dddc4ee7776fe19cf473ff23e209ad76e757453fdb806444a1abb1e3bbaf0bb5dd33c857a08caa1cf19e9c5ae053b31e2925090f16138d2fa5722a974d8cfe1fbf00839de6c97a4601c34089bd90993c58c988d76c3b35405a909caf9fb935eb35b57fb7b7be7f3413d349dc9c7169ba0712a44f5492a196ef0705f52c1a13b704222c06b26ba2c4c7c9bbfdae6104f1643cc60eb3e14a249334fc4bbb71676673abca591df04c67c525b20484ac490d0375559dab0d7cc10e0804e191bc892caad40a6ebf8ab7d9523e7b7a058d0cfc5d441970ae92904df4de81500545dd5b0817be6e0265e2ec1a146ebb78534d4212776381b3b849ad6ce1009b9d3fdfb87e19f51e5e9449e7f03e22d6f7ff787f7497e5d76b97a0fd816c3c2a63bd10fdd1ef5209af3acabe3ea3cfc4c95953ee033f00b1ae0458ccafdf78b2438730410a4c64fee1a72eae39ccada8183a262f1a1874fd101ec116781cacb897abc3dea8601562a18cb78877b5a562fc4c619be17983619e4a87759bc5af51943a4d201a1b9c2a93049a001ac30d4f86cb6c51c5553a1fb91b04a3348315ebcda2e239582d425d61e7cc38c7d2a343ee274fd67b086b5cec232c59ea663704e5381e966302d233edc75d5f8fc3c827f3acb57f9800ad3a3b2e035ce4852e34840263b7c3b9ef5d647ba94a6284b175e2c4688e485b84f44147c7743494645287fb4dfc57b50c55f9d8dc613452536e8d97f9292510293de0decd6c9acd03502a82405ca311fd14bd34c3766aee13b6b33025b562609859300c105cef133b9774cafe0b1a9111c915207149b172a5fac2c86378410edc166ec2f768d02232da50bae8f65663160a1eb23259c078ea35e03e00e4f81de77bad8094dc55d5d46694a4906e45c729d86f67df06501b5570802cf00ff3db8f7ad75991e2027fef3ba21fd84e739a423642207e761eaaa5846f10a615d007ab1621bdd40585845bb3df420e33532dfeab974690343f0075617d09a170e68e5d427da8ae30860cd9f2f2504ab5265ac5050bea7f61aa69612df4b5eef1d133bdf20e8a2c6ff60c6ed49583251c5515e9fbd3f025c008533d0c52987f84db01681622a5d8ec6fc174ad262c757c9e48f0040c15d91abaaba2cf4b65dd06ec80128232bf22756dcbb745576d3e78a997e02ef19929681d7dbfde15de5bddfd8e91101c50516dc3fa89ea8b64e85b8b5d9de322d969a7f71105a58278e23776a85defbefd78d1b0eb9bb09680c709ec3b702485b74a48dd28afd84d72168e148c5f91f3b617c61eab5f201fbcb81991620019dd3daa550acaeda26536e20e3ee2992fc2b207d5ccbd06511fbcf19e63e61d591c9eb35276418c60ac6275db709cac40673eb7ea3c4d2d342f0c27d8aec6029ddc00f606e55f86631384fe412c61ef97024046ac34564483c17a3f63a4e96176dece5dbbc6938044c673d0910eb7c6d7204f3e59c4a5b027cd5f646968577b514e2ad4f1da0bcb88b1c0fbbb630697d28c45a64e9b807aa977a7e082ba114293e092ec717985deccef42c8acd170a70488cdcf077bc663c196d4c7d1cd5e35adc66fa514e6a4e20a0fedd81cd3d2cc7f0bfa76020ef6528c7da2b3adfac6de0e25094b528c2f1307a873a3449257fe9bb1463da009c2aa65e3b23c1dfc0edb07c57d1ca97fb4e6625b73b26fb6bfcbbe9b9cddbf13286fd8e58babae5318bf68725b154218f8c1a26a97b4b9b45afb70d943bb75a55648b0fb6831fab130427fbca458517e551516ce746d50bbb4e6800e85d8dd050ea43df5f06698314b7ef45028041f711fba438c0760bef443345f53aac4fb89a31707bfa38d88c8e6805207eac098f6abc14c86dcce0289d018da8ad4a47add1cf90742dc48ee9053f31b9dc2a23aa4c0ebf09d0b8b2abfd5b111f1411ca0a5d50ab078bf813f090aa93b0575a0c784fbcb77faafa95428ddb9e02a904a5e3810a899e4d75a66fc43ee30e6003e1fc987fa1ab91dcad63a5e9b9779e6f6b1d0cefeda79531e80386cfbb42027c27e6103387045ecd5ae7c64677973b2dc4ac57d715ed780894f8a4af4be3d7691bc4af4c32ff3dfde2b6ddc61144a8ed9a4794b6cf30ee4e49c83b605ba6bb7106ca95d55fab945b7595642d816f912e64b64f8763879b0e6207506e0a4b652be2698bf9ab16e5a8731b5798f7487ad09a5a5b55dc56267d38049a8e99fa052e300761cc011984f9d24c214f381cf731a606dcddf8a1286b9f845ea3f17a0ef9eb77a2f96953ac4e1073248da8ce6e62e605a92bce28ef3a19fe7f67a8b1486fa1277d5440409782c27e9ae63593491aca13dd7705eff380ca1448b3a2b6dcd25f6a0fa24576107ecbc99a8f21182d970f4e2357a3549d636447ab871e8c286138111bc84797a9a949be106ef725bfe09ae1e2e84b5af43c0849ceb3b829b0d5c66d6696fe81b9955289927e356e449669282983e18629bdd64f8e0e6b0aaf76951e218823ce5a28ac486c16e1f43f51b43d60dde2137976253f29d67221b33b961a6f4b72bb323b8b0ef7775a8edd14f240220ded036f4bea5a2f0c4be5d5d211a17a355fa84c09790199995f53ad90f7efe350c2b9559d8a9e98ae6d3131bfdef266bbf1240b987f054607918ed6042bb4c2c6c5b0b402157dc5b5f97899ecef54c3cc587a8b711c4fbd9255284a738705f520b28399c6b8d953e706ca224621ab146defff0aaa365f7c1d027afdfe3ae67d45ef4a571080152dbaaa9686fe1daad92751ecb3fae17b9abd35940fb948a538034afc85e2a52130a6be89735382d8881b29b5598231047103a6f4b72f17420a9889311bd005ce7546d0396a05bdce9d363cd270aeb39909286663b68e3821081d39a5743bc3273ee5670120b23ed695cb0a37c0c1db5dbd73faafe30ebf1d71773c39c79f955b71288a0694195373e5f80c4e3472527e0df29ec3659d721a51a39b53faabb482332d50485db8b4d33535c138a2402f681b7537b92e7cfaeff88e85255e583ea19ff525d0ba4f36dc402b5ad923fae2000038c1c38f9becdf0bfd5b1565bf8e178ccb6fa0370c8d342d3569248ad766235cf8de1439b303741ee9f5b1f41451c182bac28ad749702f35fb1acb7628cc7094079d4cce39dbd35898502f8714d53d24b65ed2b7cb3ec88ea4dc33f4e9855aa2d2e676376f7d4153c817f0343758d21a120cce4361075f6d69bc40cfe2b019ee8738d5ea67b4f094cef4ea22fe34bc692bd633ae06d48b95749547f4cb5778c4998153f442dfee95b4807f31c67bdf693bdbf9086736cb6597ea6650dd040c8dbcaa277909d2facdd6b84b25f3d529d21d58790a6acfb777f9fbe1cc30fef41cef1eea2ebcb3169a5bf45f09ab778e591221ba46a89ea13f9854559b0d54bde88db8f741350dd33d0f399f5cda85447b832449895b0363a36fe341078246315ca6edbaaa99fd2ae8949a704e33c0bd79801be18899113d76e53bc6c4f7249538a8cd27dc9023493254dec20b05594527a09c320cf86e556bb673b0482676a5600e3f86d811dee7f841384c291ea3accec6bd27357f60ab8f1f0ddeaf2a8d5d529cf593ac8443f48f486ea3ee5802ea95e12cc509d7c31451546bd92415306a831295560aab9d034c7e38513620251a1a9f14d3dcac06dad4f13f18dc1cb3d40d17ccc63f597cdab3009a6554454cab9772e58392b5c8b58230d21d6a0be643a4d8afdeca8161d433391408f0ad3f67ead64fdff482aee402e2c10cb60795aede7c32852dfb9884caf75d8cb4a3135abe96c43978272adbaf9c084f50c1afb0276f7c228addecc52768e69aef7d81275a0c49288e72eca20064b02a3d2a5b068f5f5dae2495dd9b44353288445b102de65cb31a77ed8e6758a82c3d3dc6892e12357c90b690a60752d35147fabbf0ae77d7d19853a37ff3ca84946d5d013724b37265448b0886f86eccab3ba3d107f01362b3d142c7a34aafab90a7bfb609b66fcc8690449282b670e6c15269e7637db6f33e55d088b0c0230328481e10b47fe136d1c25422d8c5abef94eb3d99772ab131a5e70fecde4f5f72db6e56c0003e3e874a3232ad965645b0f1d1807438518ea38c348f95f88cdb80b9c0a221250e52a1675f837795a0c3108e43cd3193cb52a8bc2b075928628871757179d193c9b82b8cdb476e6058a39e78fcd4d73ee7e064c1ed3c9697fb9fefe3a3640c350fd8a9f17775a8cb21f419b1936c3d22a9c5240aa10e89ec31c77a4356344eb293e0eb02070f04d39eeb0e3bbb6a61b41707f9cf2f2d1ac45001c013113d08461f0655940e3737270f4be86f8bd3bc1196d1ead3e43d524d2830f135de09e04f3d3ffa94979d964272a8943434f421b1cd9bf1e063c62edec65d19debb217370ee54d0f57a47431b22071ce2c43ffa0e52ed113cb2c68c8d38aef758d2de986943f4c744f4e382ee7e84cd0893818b6469c4f9fe68489d1b737e229bac175f5a0ac271742da08322cf8795817f4c24531a231327faf3ce50a28152f4d8ada7e55ca0b3531f1df675efc99206cbe4589d649d296c76502f1fef4c2704e2fec9a2a08cdea78cddbb1fa6b9c38d387ecba0abea03af4e23e01ea317fa775ec3a9e2e85c27cdd425faf51cb3190fb72c8ae1e9a3b4e2500dda79ad90a9d2c03d747b8b3d29376dba317eda6cf58ad23c20faf5e41da24392eea4c2618b40df96cce2435501f30a18d3cb228ffd7ea009954323bd54cbb27c479331a48c556425571ea6382efc2a055aeba13502d4cb7b6891635c216ab4338d70094b6586a2732d4a34602cfb0a51d7022d04cd40d89d94157b7fff6882a371ba5b9cfc934569d8d7386f10973281c77e1d0c9cfdf43c6b3a79cb79b514a825e6b85b6da787daab2b3a439efb8ea409ba6bde288e4d49f95c9c4cbf103018891359ea5983b85d66614ebe1eb43f1f32865ac5d3b76c377fd441f2eb3435c7999f09ecc02209a7121c1db4ba87711a5968fa04f45053bb7f765ca604a97bc8a3475178aa03f606fdd32fc38c4947e6e4e0112324308a049a45ca62467feecf378dd868b31f449dca03ceca2b52b66ff67fdeff83de26aa8efda5bc16789b24f81c0e67d5ba95e9ee762767c2129e4bd2c94eee3144c67c6a69885ff1b58850e5ef749e66e3b91984fb96c01c2549f507950acb80feb96d5978d6dfdb3e0c2ab8d76959204bdfaff32a84b67c66e5520c891f871096c927a0f2a10a88980b3a81307c822b1747c52c05c4b410ed78db85d02a020bdb2f36e914180eb5ae2c0770369b777403be61035f6e2f002190f5e674a96e0658959f82a4c5e704d17fe0b7a0abb86dd4a8cc044fec1512ba1da37c58d8306f8575a6c291e6968efb0e8c6570885564668116e524092787720d3f87e4bfa993cc66e69f19c7150e9a91d28972e37724e1174da60dbfafb841b2eda96dba2671bd282d6cf066c395c3fc8ecebcbfd154b9bf8324cbb334a97f29bf873cd65aa1bd3c3a649cc1bd9e33ceb3fe35b83d3cbc5c2e730535083c3da20cbb3932bb93c108387f9b8225ddcc5df97e04afa134e10ad88ce6d232f2e3f753ef9c5b52457924055631ceae26b6e9f225c2929898a061f3b1b66bce38735a4531d9ae74a5907f15732648ff1224d22a9173db96b4b05d2cfcb0863f4eff4fa631c34429bf4828d9da45b810489558849dcc91ffdd870bb912e5fca1e250c7f7ad7961be8f4bec28e338cfa7bed3140e03e8d0a97de4c8c9d4ea9ab6a6816a3eb68be965bc62a81b97ae97a37ea1514fc11cf16d0ac3afb189e15e876290ed2b9ae17d85a53023a6bd5448f4870a3c61c4f903f479901bc83feb0851471fb55d6981fd4e15b5fb0016f9b60e9639afd185674dc9493561f2b27bd4c248bee0f1518399b3b47976d89d748ec35879fc137fa53ffbb8174313291047a2cdc9a9e2da9975be6b37a636d46289aa45ef8a20a72776edb3da711af0df8ef7e2c1a1da2df55affd6065cf84fe6a835109ef887b1372bbb86965d22d1c1f97e153fd8c695d108a5a3993aab13332e8f38a391127e102106244cbf26bccac727a0bab5e6402c547a0e8cd350a920288d68f462feb75ce5465456e13247e459d2d964cc231013cbd2e89df8ef1368c30c1a9e50d6bbbf45bf94ccf4b66f3d0a3597c9e7db76e665c5e7c90f70e00698703f6bb5874de993def2c6bef26c830a779541bbf7e761567bbdb3b5e1bc9290c7daa76c2e2874793835fcb2627976689ef088740bcfadd6e70b6848f1bc4c73b29e4c16a0c448dd8a60c42597f1ae9cb28c409082440be1abd65fba9943c46065287aad5d17a7d3bc9662521029d0457bb4940ce92809c15e5b7f4cb857a924ddc8f6a9c4f8d6257209889a70262831142b497d3a3bcd84226ce4cd52ae6d6f54ffeec2fc656f7ff57685011d633d477449fe51bb648cec5d2c311b978ac45df664d6798a1789b470232bba113b294fbc87ee224e4b2955fc270bc3d080b9e1fd77cbebbdae29fc24904525c6058a5a2c6c4f6f5d5680d886f63e4536e4e98db8935701ee1c013cefce4de4c40c10b6caf0c83f06e86816e79bdbed7e32e0b4ea24fd899cec43f1e7bbfe2277377b0fe8fb81db03b1d2720342ca082178c0736c379e55913f79ac523180d2004b93ad8ac227eb73cf509d777c3f37fb110b60cd4581e39f22c122f9ab2576a460cf48cf46229c3b294072ee8455556b14cb2807d65a8509d5172bdc18126aebd763a5ffa63dbcdb52b7dca3d7f974cbcd0cc899e8e3d7f4365fbad818058d37c8d3f3514dc29b7a7e0085f9d392d4b388df5fd63d274e53ef02dcb8bcd5b7b5f15d4ede208da0768a8ba93ac6b731cbefc25673c4f95850ce3de65fa59d0f973b966444f4083935add7d4a028df621fd122df1b7091b568ee0ee474983e41fc249089f6562601af25e8751fa4348a9b5409642342db3424e31ae3006cd7f9031001934895e3c49549efc0a4e406b8292fba21476e2ac4b6b77d17ea63c907d7d9f639d5eac9340408e8edcb83fb8ac06775094f6d5c60b444d7fab5bc3cddb0a8d0b9fa993c9983834c8fcc845b8544e1883c38e1a061418f56c530918d64db49b2c389555557cfc2368d11db1e392727a3e0ff6245a34227ba83103d87473c251bfb74b2f6a0a436fd931056cef5473e811b7c53af90e76c7b425abc3aaf5f16eea2c1175b940476c4c261ea253e09ae270d1757c6cc415251d1b960281d9867d561b27c1570886b515ac19f109b8676a110a5b06bf62579311921cd06be7250c05f33dc86655450c9ce1ae44af0297d15c8372be08caa2b96c8be346f25edac85a2ca5e8d7efacaaea8bcee88e199c8f94fff9a8a31fa51672ddf944b3e7396047a843192496b857adacc43422a92ccb50668f13abf506217eb6308c832e8d0bcd59977b39dce38158e5243ba3eb8e9ea972aceaed8965b43847e51593aed88bd5c3cdcf7280d72ef4202acdcb42d8244ff8bf07f9c8a9083549bf120e65dbca429521007cec762f24b4fdf69e09983d89702a072a8b0f83fb66f6ce467ae3c4163a8e30014d9248cdfae2c3c884622b6ac4c669799700e4ece5099ac7f8c8845205caa9624184562166f72ae2a8e91c49d26c6922d074dfdc57fb3359432618fc9cb7eaf41182ad9a075e51af580a96aa7def8c527498cccfb2baf3d51ab62119f2f76bcabbd4b9685056fd61f613918030321de2b209223eb9e80cbaa18987a7206f606d981920bef01a489052064e9fbf03f9a67fd61caa04fb114db313cee70d19bf2308ddb15e9bbdcfdd74d2568eae5cb50c2e340275ed8deb3e8b3ddd289d541c1e5db9ea52d9a26963dffc244ecba45a0015d770b484d9aeabb8419e644ae4c510e65c6fd9a6622266cec5ddd02aac9ec2030f2572d3c753e165b01b1999ba4dc64679a60a0891cecc1361d80a30c7fd14302adf0d20847bbbe044af2aa9df810b3d0e3a5d20f48b8f2c250662a486be133cb504967a0b33ae72fc7fe3f66582debf6a06b22bb5ba7b7019e0a7f862ebe9e89c47320ddecc4c78f4f08c84807e5183ea9c9e2392efbac82b13716cb9f4c0b2a2ef4210237a00901c860f4d14ee8cf7191edc0236ed387f8e9c68d38a713a824811169bdd418a460cdd491c2c7ab771280cd6d620c324bc9bd2c20abbc1b953eb40204a1c283a6f17ed8d089fbc62066fff08cd3812cd9a46b6c9890cff03e91a697e1ef932a178adac8794374c7cce204460085e870e5b44b61231dd76391e3886f468d2e86ce3f27ff9bc93ae76b25cca07b04a5b689337ef76cfd4f4c793003fee8d09fdf1fd777017c4880111d3d5524787bcc656ec378b4637116ed283550938346f62c3f9cf2b0296a9115d858b5c0ea2bc0fc055c45fa4c00d25024217071b7fa4fb3790692b205175d1bad0dcaa67a0c00b27660b8c7234ccf3dfe87e9e843755969c157f50c66740897207b987b05b71055ef170ae72c22c5c1cb49d043325322c78de184d62a9e12acbd44184e42336d991d07c975e53e769670d9b9b04b07b4bd818f53246afc5ee88a73918445c9b79c1dc964aa47bb050d1f36b17c99525b9f79a4bd5b4299a2df9e009126dba0c56d075cbf615e1ebb1fab4e44b285fb1d4e171e53ab6cf10da0b6fab0d93823eb5018458245917be8646f5ed6d70cc62b365d107d3019ee7728f31c1aacb639caf86ca6dc91935076f375faf409e62050a379c54be04d9d9cb13defd92c5778215141042234327227e806d85ab5846eb2d741930e7be45eff19143c3ebae8908d426ea0842615d078810cf38afa516907d25effe9a1a30e61da0b8e1ec6cb3f376c069dd4ffeb0764825e5ee63e28044740fbc2752b2e4fa55bf25b675613dc49f577371073c70ba32249419b8f012ab90b9409df383ca323c9f9ec4d492f145ff94574a3113436c21ce8b218c06aa59006ba6c2b4bddd4338f6a702301d149a094d1e9e96818fd2422b9e905e01db6b52b219600200e3f8cbd2af3ee97378c7ecb3a74f013881c59cffea05040c0873ccbb85503f020db5a41b50732c12c7015b70029ba57482b8ffdb75f89f3e08dcc9062bfeabbe369ca1ef9b9e4bde5c3000d4d3fdd6fe23b21a9b18c8b6420e47dff13670535ad6cc41b5cca3502c5fa41a900c1c4d511ac24e52c0624fd416b80131a46281e9cbf63657f68aabe8ed72474401c54c5034ba79c44c5b8069c65a39b3f8af551cf2d527bb51715044663f20798fef310447ba5a53b899af2ff073acf5fa44eaff835224f3b8b1fff83cd840e5fd912ee64c10452c27f37d61b9e2479d88e6946ae0d708ca59f58b185d779a3745319e0a88e5c71486ed1bc9e45482a99fef135613c0144a99b9a8f6380a35ec42b49c953bd9980878af48bdb4ae7a51b7980631810bf4da42bc79b8d59bac7a5d9337236cc2165066322cdcfa52c8a5310e6abade379cef91f3930b9ff18cae3e8019fb863fd391a6e3d296cec169176d95d057ea92df456b91cbbe44614b6306569104c847f649945f71b368560781643bd285dfbb3cda52d56f63f328188b117d9a1cc669702876fc4f04c9725ba530e3dc193e9f50a19ef1a0fdc124f4d35cba880be886e2ad0e49ed0153026d699af5156cbb360af420ace09b7283b3b57995a9c57432ae4016dbc461a5d79087ecfb264bc81c17ae5c7f3644302fbd3a0972052ee800201cd8f5b27e3d38a91ec5c0ea100a58b8ca2636b3a0c0bc42a7d35d88863ef0af10f8349cc4556ee18ca284ee97a4e467366c124ee493ffe07486097ce3a51d205c7c850f4b143d6eb21059c8674a9896ca62420315d381e78d76d4b9cced8228b2b7571fe0a875975a7d8d9617de9e8286f6dedbfa48cb88c2ecf28ef8e1a9dc02f737b59c690c1782b5b3790cdb0493445ebb51d2052842e4f629ec235869a8bc93e5e3c419e5f6a6550b60d232205a1964e2a73e2ee19a90e7983a3f51f99711c7e4ce22e1030ed1144b3ddf263eeddb2c36a9d99b286c2a58ca057c02e56aa81e3da4cfdb972d30122cdbc5012feb1895d22e173b353c4faf3a3da785351d0e4564c6021f4ed95a0d99cf13c971ea7861b6f88b968c21f0db1879f296cef9771566f6b09fd478ecf50b2dc31d5c32d190258b34901587b1dd8e4735dffc94dc42a155abe35a055a3afb6f933354e9d8228462c2b8bb536bf9c57aadb286aa7b8229d72ac275f4771dc38216ed963f1abaa40100d1d1376538149822dd814fbd52cb42a544cb86e80acd8a7188b7bab3f50180f1a6660572fef1db7a43a7b17e4bd6cc416fa9b3d414c3241483987b36f7393f6bd66f6c2712e294ad0c16291f2be3056e185a929e51728de555d3d10b5add690e45c50b86e6e010363bf7bb8a018d132bfe2b6420f11e2054310fc308c2368dff6aa29ed2f1daa613d887a4923a7eff3a83516441c5c5b88c5a3b00dad34c654c0c2afc858647a4a3eb6221cc8d0914e2a1b9b8e8e0da92b322fe52841beb7034af7cc25162cbcf97258c01c57adc5991afaf01695974367ca25ce555165dba1ce5aad0f662173f0d4f4077693acb4d1bd7da5b084dbbebbb088b2ce4b367aae640fde9eb9287be6e419fcbf9e6c3b1da545024e618836e04487e9c13e88251e0e73e6e47b7a67d4471fe975b5a0bf8c0d34b0a037e12dba954c0a9ff48a4577df227883d86bf7e081d6df302d43acd5a1998b8ed643e575bcfa8354ad15402dbe98098ffb84bffb26b95725216fceed2767e43d3460b878b209f0822c3d82cc2fcfae0e501c921a7ded543175259b7bab7cc292359f2e6589037f78887564cb549ae4d33e9747a63cfffd4f0dc261c53a19f200a28056ab219c18250297cc425ea3895fb41609055f2509d326d52f072c8f8c76d3db14a24f21a6dc6de01abc1e4fa6d01baef6bef274567b5f2e1c026c054c4d0d1f027d3e7bfd9a08a55a746bb5f78a2e76053864904a0db5ded254956622fe7ff7d236d201f5750d446a0dd234d46b61d77187328bcf727efa86ae6485ba563ac32e52ad2a36485e6b05f33115f8c47f8c9bc13a69ba0e5a1b0d6caf5049a83c28f51227e4ea8718a37d5fc0a395eddb9aeeacd01335d5bae69b257138ba810bf6dc4c466e28dc05d54fe1ff1bfec6063402f81656893e3bab26c8892f2de6b6b776258834818b1a973e75b7077884ee5d32b435eb67fe8638abb687a28ba8a6709d9553d4ede382de6ea00908455bd3f97c4440887c472448f30d605e22c7796537539016266ebbc35b7915f65bac3a6cd12ac767aacc13a02c4276e1b3a247abe409a5a3f937d1bbab6d4c187da72c40fcfbc8c13c38527c884e9e4815d90edb3b9c32462e3018a127e826c8ab0dfbb49a7518990f1762c46d3c7e86ea125bf80eed5e157c2b816a1e67f3e1d040ddaaf15e8705a640bf24f3f41e7a5061d41ab9cbd121cc0f915d53958b6ca8309a4db8d0b00ee3d5ea9334de27eabae16cef2f82e9f4cbbbe8b2147284b70dc640f3026eefae2a002290608b2005528040461195f3f848affb61d2e4bcc1d4f29ca7cd4a17a91bdbd7c20cd962f651660399f82a75243767524cb6f11fd26fb2294eec51859389712e318abc8f3d345059343872f3ff1e2f81d72f24a0d115d06d4b23d7216aec203941a3d90a16fc89b4afd909f0503e017182b9526156a749c0c25879e2cdb1edd9899373a903c455b2dd278c0967960c7fc179b3b3e565dcfc756d16843b7152c66babfe29b63b520cafff0d002077f5bef91c676aede7d9c93cd74cf06768a32485cedef2d79fa2b3686b67f04bb1ef48b9dfff0187f91aaf583953a59e8491c7d6906401ae75b55d635f3e03163372d6544f4c2fb6cd679ae87b150cf28cdc13a1dacb1aa3de0882026cf674887dfa00e8c8af7ab5da884ff7ff118129687d05910d32801a57b566e6b8b28b05c89373eab0697dc5b1a40e886b5974ea02676f11c4d5998911eced432cd57bab39b600b2595a5b7875e2a0a35da41651957d720a02694b122cf999c015ae195202c6dd37239f0f04d12635c6c1ed04c9167013942dffd8ae073a7eac11533863484e6a741cf5f17f8c6302325763f191fc6020afd2a8214ca866024a3c0792c7ac1a00b14ab7d5b515b369c3fb0ecf6db370df1198eb3a7aa92416a57ef030edc2d407845f23e966696f1dc8a61f06e00348150ffe442c489e8115cbbc3db5ad39c1f15bae780bace454bd5f53d8824c5c484474f37a3e8d3b495c8250899e2c6aafa836edc2faab30d161550ef01b26920ffab1df9e71075e0b0d8bea738027885f5b6defaf1ddc3dcd55559e6ac2089cc7524017ab86bdc280d03e36d5e2496e91372cc0aa2b95a73e06011005903f5d238e2afc4aa00b58f30f8e946d171224eb698f694f576be58082830de9eb70980d234ee6db6278ef64686af2b280c4809f38310ea66a73fcbf04d87be49807d1746e6cc4591a9da8f2b8cc046a12e624d57a89fdc7e7c95ab0a4af989805ba20fa758707afcae250be707ee2a6171e359c3c6c3e21247362e8a11f6987ca3de97f04911d62c3b1028a4d925ba456974249d8d8ec2f3ee18a22f9907c1175fe109cc8ba9b4570128d37888f32a1e2df0d4c9c12970ccd459257bb96aafc36c3ffe42666adbd48125b3ec173cff5e75788a8b4fd40b2acafa1ffd49a5f57bbe4f02affee404849b7a8dfbcf4b3d2b0576ddf5e49ac913a7f38fb7920e43a4a593f99217de2a72f4ce4466df6d2eceb3fea57bdd595aeddca0e76a779b62ab70555dc31bb0e39638153cfe8d52cc57d5d1c2873effd8f6b57a7aa2333d8c7ba844c08036099453911b4c203ebf32fc47f0f4cbd7359217051d6fa510ed32fadf795121ff3cf0a6f2b60fcef9f83cfbf9afc3c67f679edafae7258e237658a134670dcbbd8ff23634b99b6c8fd8efacea2500c8b99e9b392ffeb40500c2e1fa971aaa348efc7792205099492161b94a3cfa95604a3ceb11b262413f3dbe2708db31ab2a05eee9d159b1af5a224c5670836bd588f30e3824c6eabbc9e58c24f1248d7c8e63b4554718d90f7902577850f337ae011bf873d13d2e44c15704e27536c96b7fb017f7774e1a66ac3a04935e8ccd0e5a76669cc7c792bbfb5b0f0681834ace6583dc7a2b0020d2f9e52e04297deffd6d4f0e38813135c9fe94d97dc226a8b467e2187f0b05218c58eddbe3b45bd1e04db2582ae2d3f5712ca9f0c4c14254c39210baa0a6d7fb97738f78d2401091c62646b6b96ea3b9038f0301cabe1ec3896ebc6bdf0221c8040f2695da35483c7f4283719e0a382f01d87e0c1847a5b0f8c916353e46a45ac8afb4322683220c46f1dd6eeae0573725f97a26678b22b3fb0ce77b10f87b6696b8309c86c60a3ecaaa3aec7288eca76f94fdfb3debbb849445d53ed77375e6b83447e12ab9bae27a2ccd8eb96918a5a395ad1e7c6495130af02ef691cef801387cc633015d8df90574882b203dd857d83d50461b11839f95bbe905d691e1cd09226870be250b228205ec4293dadeee61ec9dd83599004658f444ce6f2a8c76b46b5481c71adf73cc5cc7ca39f09334df3bf261ca5e772fd131b0615f1a90984566e16cf9ca61a1d0837b6225bdd75268669d00a2b94c3d6fe992de1a6a2df12df5c8f4f8f585b541d2cd3d8ed4a231160989be973827da17dd042a902f70fa71c8a32c474e79fb613e27884692393af389c015404a1bc997d071d12b6623b5442552069e0ecbc3febc563fdc7a5191879d5a44203c65eecf0404f0dbc915033cb1ae647b2468c341cd24bca6fac2a3d51416b71e872189540182f5440a282ef20dae88c2296d4fcbf7e0b4664b5f3ab00b11a7f3b4011ce0635408868f634e44feb5a8fcfe231f8f5d2f9785e416187137f408b47e3ab2894d7e3955386df3caf8ad11cc7fbc2134c5c41a40178d4e69860f6f01cb9220ef246cdb7478db8261ab89fd3e07ed7de08dc37b0b58606cab13ed37f7d0e5aeb8a228a6a44404a0ceaab7d81eccd4e2e907295d939b1ecbc6adcf04883154f7e3bb05f37b183061a2be8992297333d4262d0fd6b34d09ceaed16ca36d36a781f1d6a1034639737fe0585a47e842bc52b71b7e2b829d3dafe967152e0c333b3a5b60f1e1508971e4b411f2fa65069095c24cdb7ae51838c1084a843fcf16a026d8943e5461613f1d3449023dcf8037f68f22a0e2e0f1cf7122526efb7935be4927f724f8ef8520db4a3491d5414d8d784817fc096a6bafaa38d24983dc2aca49e799aab9503cdb51e7304f1660452c3e2786323b7bbcecd1d4a83017ef71f45339e4b0b2614ce9df6303552eda5f2d42e8cbb5c53d21991b3e7823e439ce63b32e2005be62c771b27526087f1ce6f25bc2a87a03f8fff593397972f70fcb0d6c0b2ff8feee62db0e1944a862a25175d1d3738f17b384727b8e321d3efab2a1d3ef50caecd01a714730d7ed94b31e661f421d2f027225c1c2da9a500513d5f0817283b061e48b6e74cf30b5919e5036d15bf6318d3bcea9b2e0c346d1f598828585f277f58d1fe4de6bba3a2c22b5dd7d7641736126d43ac0627a9815216703b7730888fb5eab87124ecc1602ece83c9973e34c2fe91f460608e69dc1d431a54ebd56c9ea74180c67a88d0143109f96dcc133a2fc7c159f10428c6af5ea052ebadf2c21ee732d643877d5516b7211c9c44dbec9aa3aff42515eefaaa24afb7a130496c483262cc1891f9d9338c8b13be2cc1da4e0343afb52345ba4370b3403f0a8584a1df065f3f159faa47cacc8892132d816b8189e30f51dd67fe5600f9fa66254c54c25e2da4531271372a8b560c530686b7158cbe513b3df9d177f9b3afd16eae9ba2aeed100a8ff76104808286e8ec79d53374a90f75ae3a30504a2a8921c8dd831ecd0f29c994045cf070852fbba53e29f97a7e3e3299a6789880e3b9860ab9a482fa734f2ac11e9c4cbb1b8138a2df50a17fcc897a98779967262612a9b3e0da7324a0d5ca7c798d3c3ed4e776651de8800d8a5c41796d94081f5a3e8f0456776bf2054fd71e2e60eadc0380c6c5aa636dd460d274e816c1a5ae75999ba9be2683baed64474b3b73407c5b21d63893caae9d610a009a071993864be790f70803fdf0cba79773602999457078ab2b70619c9cf7fa7804d60f3f9ce994f739ea6c99cb3391b5716df0f116706f807a58eb974e04f4c870c885edbad69bd889ef47c8e597ba113b49c4683e13d8c254d2ee413365278d1fb5227b07dd3b49ba36a8eddd9c0d4925726814b38aa67e3479b2a460013513e57345e08ceca431b82033f9fa826b9ca62ce3ede9187df3a46d245bb4bc108d7bcb381f1a73fbd4003dd682b320eabc711267903aa36b2cfa04880f9025da5870fa6338da0e7e46e2982438d29a64df037d91debdc4657ff54e89748d8683386af29a53adc5af506ed8d7abfefc131fa1deb879d4da864caa19a29fa7767d5624e0c291618c8ea2d5b684c5ab55eda174f063cd26e6ff026c894f60f3e089085be923a9532f0809620d0abfb488799c21a559d908a42bbc3bd89068a6a4d5bafaea17325d4281a476dc1c4f2ea3f3bb12bc4d7a4145c028fa88d0aace0e7a092f229f453e3f608d7ab8368a35e8a9ff6ad24648941ffd54ae6d9412d97fba25b5c5d2674989b1cc47b5faff659dd0747b28487825ba9105b11e04a7488062303bf203327b9dd5250dce7315b14cd77ff23f924bd88cde1669564ce91c85dbe30691a4b817c4bf4b25f3046c3fb172e0ecde933e48fd678cff79227a5a33df7612ef75a7da949c1cf1ff0be24718ca122bbc97b582d1a41026774b105219f0a8288e938879bda390324b7937e3882008b077af7a44baff99bd917865728ab99a718c757275f75ba0fc6392a232a5a5333211bf62ee243197f7ebab7b6859c814c02d26a021ab3276015c074a5902f9559d39cfa7539c45cf2c331f1d605ac160386ade3d729f77904e18192696f8a57588798fc182144e767a04a0cab98e5f0e10b5a1e57690e25d6bd876f356da83203cbf30463cf1b8e54fee5aef25038b17cd47083a0ffd7f70319faf1c077a9bbaa966470654ce96f78b2ae08b2bb1cbb3f7e7ff37760132d8d7fbab561b828fc88d640f86417195ac35852422242e6ba602b4861c258932064769d265f80dc74fa92af912661b6c97149fd65cdc161d6f5be0fca947cba7205493877dfc2cc4d7eb1f0d9d44f6b49fc9cdba13b743d61c0bb8bc04335a4747ed2b3088a639b8555fdc4755f74c381bd4d7b7711660435e61a1a83fb1e229fbd00455a754e55e3f8d13861ac45ad95104c155297de7ec26b41d83aab457bbaa503ee71b6010c1f0340618680b8d56cf22167c4d4d23c8c55900f0144461521862f42fa8bcd7449c993f44c60ecb9f1c785c237388c8a74bae054d2672189f53b1c2ec068bc933059e12ed8d28df321e8c32a7a2e9efa36b34d98f9836acd4092d4f5227fe6b5bd98cc8b969859af97b541a8feb251c6448a9abd0a9163a52193a4e14c13176106d6d37f291f2f9a00198ea1a2a3aa04b8fd0bbc6e1968e0d49fd4d819a9755bcca4a2c8228e0e743a9e0645a7ecca837061392cd67e6ee84a28dd56ab142870705b5242f673762793c2c4aba6007d6cb96671fe28bff4f79b8459f7ff7e777897fead201dd3be4eb22809893b28c1dcda9c45208ab5b58ceaa03f5c28963a4a885a469a41cbb2ecd656e5d2a7b32504bfe7c971caf4df4ba176244bb7b08bb4aa4065fe443985c6efb1da5c20bad84cbfe1db6c1082f16ce62e8f2f25bc2c0698f2e004226a9df2ee16086c023b15957a7679bda06db87eedef2ee29ed4a99a1a8dc8b0a48c933e58ade855b2633c47e00ae1f92a1ad9a0058b6d83387ac33d72c79d2833db8e620c4ebf87e82553368b5b9a147b7bb23f0606ea357d327d61a78a28b7a12c92ef400b1aeda82e428e32b248c79821a5d413f5068711797fa5d77c6b0d45fa0cda0447ad36ebdda11f7d46224a11cd77ba0c15391111999cf5775b0ec15384115ac9a9dd5a89d2175dec2073b3a80b7ab19b55fb5740fa5b819289a19883347c199c313dd32cd94b3c27bd6ee017652a399871db6c2b0b5fa23bac56ecd6fe4dc56a20b9a328394875adf41c15a8a5b6dbb69d2d9864b23ba0ddc590efa27e4b8ca5bc80fca29ea11f4b2dc39bbf9d7178fd81a4afef73fba036d6352490460653363b2a341b178b3022c879926e22aa1645de52c619201564795fe902751a3ba49ec692ee0d2fd02d5de71c773f66c0eadbf7d99b2e0546e594a85a53b9204593b2f5f0972e4dae43b28fe14b20e6a1828ee4514a3ed6be11b75cfd27ef5c90fa8ca1b3dd7a77e4178b623be801f3254ba8eda6c94dec5ede7d8a70d58032cb1dde1f30c97a2db1e168864c47c17e9e54a762883c6dc2cb0d8714a487d5152305fe2854816d968efd2c03917f9ad5064f2ec0a5779bfc564ccc26e972d8ba3e66162c4578e3c83c6bccd21a026e8067d734c85b9fa7940a580e4323b6ad45892e7ec2460f695aba985ff3f75aaf481175e74e552b8ed623dc527ebf42803d26fef14827f9d319d5f13e1bcedf4db58fd47787378064712365934bc44ead224b40f9b06093aada4ac5528163e9dff5ad0ea338b89d31f7f14de0a5b7b280bb0a4b6d0373820ac155b104929711238ca6854e844108dd781c03585974b323a2c49899d7c1a50355909cb1178671a53854272f72ed9641ec77464f012e135614629759560bcce0910f9bc9adb8a0be7ad7b43c8f6c4cdcff227c99e8a2a56364bd532bfd16585026b6b3430708c3d4e25e224faf28b332554c563a5e41719986125fc3feb891dcb3dde51cd9a11a1d1515b82ae0a64109f488db8c249b08639d2df4135eff384104d874e7955448af94c93cc5df9c1b3a4a770d33e778954cd97a1f3876dd33ecbcaa432a12fd7cfe8a840b69b73bf500c0299e49073fc1386d6797f52ec646da8f2db8c66e6a2aef8da62de0a46a0fd34691bf140e990117a637589d84ac3e23b0c1ec37feba116564858732e8fe06edd6e55b1a4aac2f1a341bdf38c749641c52832bb8468c92fd4419470abea2af022095d86ca8c9d580250fee44abd55a38bfeea4f17844579dccf0240678f716a9ec4db222444a48e18a942e0afda4bf9ee40a98f32ac310141134dcf8f6f3cf89258ee7084edecbf63c26f8d6a675fdb4990da716cd21146dad8c0850417d69645eaa8ddfcf959912b67da4f2075c87a546b7f31a32de7dda8fe7be28e8b8986b66ce056c7626c1687da9cd389c6d38c0220c8b5ab9d711479d76ae6887c2ef44f7863f157ed8f8b86817a00c7f52586d3dbe786adfb3c749417be42173331604cf4be96fc01d4e1a8b7f1b481ebb7807239a21d1f51e4cc9224a014ef3adc48b07ea273b5ab345bfc44e83c7466541d1addb3197a34b4a145f863b59afaa7ceb89b88b0c2b3eff741e108e5550763d6149993d0b2af7829626d95176e9dcbbbf55fe1bca538923738dfe50a3ed5b24e5f8abba9bba41d895e6e409bc037227dbed1bee9246869c7787f59c55c13456f881e4b8215a0ba52b3486162dba576b440979eceb6ba7133fdbd8e23c490d83992a1c7053591bc5af6d6eae58bb589c87ec37a80979826e47d93d5e163fcfc3802856ed75a489bdde565e36b6d494a2c8a999f5463828549aef98cc5400389e76a902eb8ec89a7d5e213c2fb05310ffba152d18fb5d8fc86164cd320541372fc15109eabad3587f2a208bbafcbf7ed78158b0e6a4300aaa680cead222ef8ed397c2a49f821b25afc2166b2468459a1a95db7d77f63912fc39b3a14b91e9c0a289b0b8ba3e091c97256eddd52028414ed6afcdf4ebac15d498bf4a05968427e81aa02e2bd437b474f52818d47b9708d9600c0b6a72dcf67b66e9d1a53f042ba48c207a7d4bd640d0589557787bea3b5a17ed13c434c2299da8609f713472eab1a7fea4313dfb25614bc45b21ab58a6371ea822fcc07155fd03aba118fd8eb09253ed0cd400fb8558eb62db55a296f74c7aff07ea8a25acb0dd1016ae2ab821ea0267921e959016cd9ef4bf1484af2387c7b75637dca9ef8f43d0d3587fbab1896b11bd30b53560bbdfa9975812a57fe575abcf07d91baf7221fe05485e75710275a7156f0155448b6bac742a1d09c04deb041d77c13dce8ecdbb23e9b4c0da7670b19a2ad4a34910383079042fbab4d789f025f6a7065e63af6c1f0682b7adbbbb5906c241eb8502177c8ebdb083665c2757a2e8fa789e74d964713e2ba40698bc1b6ed02ef4bcb5af4c769ba7de0a8b966a3d3a9eedff180e041ec04ee37e9629b928e9b4ee0db6440480a22af892e588a4d543dc15b321d506828d3f9a436c1196d2efb5893dc2d01d93c7a0790979ec24ac220c70d74d47176fbf7149ad1b6dc3f055d5fa445c6dbae5a8a716ad002455d673c5a02969179966f5c9edffed27001191e80bd1034268a1eed8e77697fa11e312c5d537acf3f6f960ee6fd0bdf8d319e74144f892c7023a7250064fb5bfe0e3de3fc4e4ad2c91a7006d12a0cc032b4b62b91d36aee451932620df7871d4dd9e4cff52f37d8687f29ba5068c4ba07b97c57f7fe0405cb6a888b4a01ec30f583c4c2d10061587b1de8a3e681b6d6d4c983cd0e5e00859413c9755a938d6a604a935a1fdffe79609a87d54b62ab3fc421a102780e655debee7df234543df6f334ae8d45f43823cf08b2b70ce128f0b3ea28ff4f643e715e6786cecdc8dd7f4b658648d92bc130e8b6cebec4b22f26b9a4c664a21ff3810f437078ff6db018ace1b84e42596cb0716fdb0cf358f0682a6565aacbfd2cda6fa27c5606f315a52ba34500699242e3aca5d1b9a11288ad0a19bf04b6a469a7c43dc0fa274b72e098141586e53398434b3e78a4bc87c4ef17cd0dfb259841e175f14db5ce08a7dde8928a8b7d164a8c62ba9dcccaee07398378ff14f68c97248b821f51e543922d32c9b21b9162a5c8c723282e63d6e853709e53642c780fc3267e84712a4faa82e11f179ee4e1196c1a8f9fa52c13cff5b304471233d5dd44d5e9b2ea7c16f0b890aaeac3e45dafbc9e2a271876d2aa1966753ea952d72a90de2e93a5b0ea5f44d7e97d42fa97971e3f4711125744f2d5fc7322df85f20e254d1321469e14844e30d9e034ffdf5c942034c44312b446b7325b16af56876f9523a62eff2fa5da7fe1cc9d92db5b0021730b722f84bce70b643e9e19770f381f243d4fe81adadaa4ce90cb3286d3d12eb2b973cf4271c997db492ba480299b15cea3e97f7991b819eff4c659a723adbfa4902d6e8d28b0f207ed10eb582694e70e90e82db9e7bedc11138a59c36f781381484d7b3ba22e23011653d4f3ebe684cbcc4ad0db966338b4f23a9d55802573f0995cf30212e47720c17a1acb03b7927ca8aaf621ce9053809bddc0451034420cdfb7fd5e12db11479094390b6c40a3f0608f44702ed5d1406a7641f366ceb469d805496ba83a987404d2ab7a3d00e515f6b4f9acc53705edfc6fc4442e6a7b8041be3d7e3e314cc9ecfd35172f0c1cec9a1d42c6d7a364c92f04f40eb5a922ddc32fea7cb5b24bf2f6d35d4679412e47ea08247c9dbce5fa1917941ca4accb1578a5e16396a20bd7416f01cdfc07f7f774d5dea25a76b77b532f9744ddc03c40e10e839e3a57d4aa227a3a89c034de838aba4c29fdf1359f3f489b8a8ba3da7299b7303debb78234252f93431ac29c470292515b787b2def68e75d46cf799d954c625461f0e272594830768b09aff27d09ec8aefa85ddaf7150515258c0c71a971ab86328b49224acaaf9eb09d3467ea05489e02fb68a38e733a40ea5a852887c5a7664518bb32c7347936282668025198a117839a45a4f6f0b566b2699779f521e4a28c266a278c0e20892c48598ceb7e74948d4ebc3fa71dae842903322801d95d11d6f2f4f363a392c2d2466fd3931709e513264ed319f4b7f4899bf1fd9ab4fdd503c939db4302d4a5c4a176592de1541c7f89026026c4453b35b19fbed0f74f25f0c94f4225ea408bedc8a821b07fefa267871c746db0bf69465e1ed292b88ad46f298b8921344b30d25637a162864779d71defdd6bd24be690135c7e45c8310e6e9a50e692be3dc45a8a34f41f933475d380c72ac00872e11941f00fe671f37e56abbfdf9fb7b6f01e3688b108c21ee400c304865d5c0a643528477b3235e11df2ffc43e367fa5ddecb02982a3717ffaf52b50ab79ad46f2a36aeb5164168d89d6d2a330a363acf9c8d59ae245d1ede55ecec6b44c2d0af856c611174961998105731e2e2fb1543b6f918b2f58b454d81477f248881ad52cf06f6bc66ce7b39ced2b4262ef95d0f9cbabebaaba4fa680f23ea5aa8c60c5fe3bf45462e70172304c6eb453ea3ef4c6290312c714ca50aad719134c62c33e897680b533fe1c7774e5011b3a77b1bdf4a18e3212cd94b07badd0c3a6149edd4be59e73b309110a3d46e3f3f409c6bdf193610da1b5e5a8928365fa57e026524083516300b6300999b544e7e5291b3417b0330efea01835bb0b109c40316bb2f8a66ca4967a7d8ad7494fbe9d5237c445018dba1194ac057ad451585799bbb521b95c87cd03af9f41ea4f8d06c452bb16a27970b50d675cebcdd6dbe37fe3a8fadb8ca6e08c3ad08cdc65431dbc210297a0be224d415f5e3b1285a65185503415d36508d684cc3f3940a342c4966ecd90f8339f883cef6666ea0b125a5b8a91293a3193e234c388d30dc320c0f36f9ccb1e8535979fef775b6891055aefa3dcb86eaed460371a8de23384bfed4ef862229aca3cd26de5a31ba7ac96137a22eb893d4065135feacdf11ebc171cb62073912cd4f71fa17d7ab2e3d5dbb53ac17ba722d11bed2fbff7a7aa3ba8675fb6c911289c8e1e0190dab7acec03e1f6cac4569d0de9ef23439e37db5ef1fa34eb5dd863d08f8dd23cf040792b44b0586d90cde31921ef3d6d7e81117d0d2f511d2bb9dafd3efaea5e277cafe5753158bbe2e018c1dcf1a6765c8c762a6aac1a4e75c3282d7f86a796beb1a6a0d8e85f8b4bd94600de0f3d57f9d6b6025916525c55588a18203d75153ad43e823132168ad208833ee39060f1baacf944e5dd2c4006014bb5f62a895ab1d1a4cc84e65005026485a01b2dce1034d4dbe7dfa2c9143cb77e8632a05bb0efa3200c07e8d061db4e1eb45a48235879d74725d47244e330ee4bc3cbb4210ad18abf470a34e20c9d717f2230df84867d98cf63cc6ee48b7b5e5e87e28448a13793116bedfde7510727fe8069bbb412255e6f66f95523e92f71afe93163fe358e5ddddecbca815350c7453cf231491e4c1ac270f19cab2520660249b55375ccc5c1d7a85ac7811eaae0782649462c8d28f4f307b5bd4e77bbd5e378bb249f7dac0515d0ed58bb74e3a1c722df1398f1d6ce15f9d3f1305444ff6eef3eca6268047aafea5f4b22c338442751619f7936d3e5f1a01ad220bbc1f73d1290452a25c09172759ed7a653ad773d3929d25578a8ed47118cfd86cc11ab0759678696b330902a9a77ee080c10a632283bd2cd465c90f2c323314bae8522c42f38ca1ed74c850f359e876dd9662ac1c612a5e6d28badacdd3e7ccab27d467ced702eed9a209a4aa8d2ccbdd7ad1a097bde401d22c7c980ddb5244f0df446661f703dc91750899a2544bda3be5da578b90c89edf8bca4a9275401be08477a99ccdd1bf60b85d65ac0e3399dc9031c125862d260b46663715e9e469a3fa5799223d38a8392014b7e8f38f65ac23a6606485dac9352b1c3a967ecfcfafa24f4294eab78fb61f3912b205e6423d8dbc30fda0919d6d1b961c6a21d15f67e126851a023ef3b02d2269b53e6742574e0dd28911c4270eee32351c3053727762a4c35bdef3eb366d3d5d986e7ad5b5ad35b9eff7ab899e649e6c57df7bce37ec7a43826f64565192d542316714404faafb3e19038a96e1c76e1fcd8769a6e8e64fb265490ea3a8f678769b6f4f86e944f81c5cd0c825b1524504e4f40eac56d0f6358f3ec6e35a242f395b97d0a0d69f26e5125e271753d6efde1a3466a38a24d067a5e48d38cbb71d3fe6cb018c43011f47174e9efcac21b4fa25a6f9bf6504cdf44b63d7e99c914ffed35db59ca36e6ceb4a68eb261ccf196058530d4fb79d2db4eea65c2ab57eae564b76760bb84291ed5a64bc72e57b905254f57d69c7073a3ce08be92785f3d939e907ef76e1ba84baa2507cfe5ba8cd44347eb00870cdfde7cbca6778c946fc7971aff1dba093f7cf22d420b9ac0434fbf89c0520d09945b2695cb55ecc6447870a645945175a22d1313c6a1531f44953384043c4d2feee8496a63c40f45b6e8f8d812d171d7d5fcfa53b5afd4e6fb3bb24e1fa872624c757dd9b91aafcd70bcbd4d0a628153c1bb589d3869ca2b70efe75896387108f46591af4cb39a4d91b79101368b90f330a9f3faf94bd8f67291c335cfbe15383fcbd25dad4877807304e90b93c99d5ae1706815bd2897f1b5e695ad95920fbfd7d97392803efc9422bb08c4ac5edf4bd9d5db6d21121e18250f37b8901b1b6e074b176c9cb7e21b03f51b13401f83c963092a8a0ba8a467c2bf15fa6629836f8d212cac8b20db73b555d43ec3ee2747fa00df15f0bf2e52a65da347caec155484aa14cbd5a5d669fd6eaa2811f1a866ffe30d24a3f71f530f28b041db37053e902f731c36b81ee33e61114656c7eb8bae784eee54d12fe5d1cf325dc958dbccd619e335986c8038dfd10fd58b2fda5e5f2b9f0353a294081395eb9feb93e46464b2714cde5c6a44a1e52ffe64df2b070ec5e2b8b784f3541a12de1c033358cd61bab073e46566ab2fded31c5247bcf76b501918bef6b0d9ffc8b7b20f86f71a251f8bb9d1e106f96ace505700c27d1218c0ae0145173f94ed3fce3d83e0e7edf3ee2096ae0de096f091d820184d955f86d1b007854e360375168e2d2d43215f058e366637bae70ccf26f5c24f5d1285bde5d9d875be64f4331677ef11c3c47b2deddf0d7342b737181ade90924cff4bda01929bcd0effef126b16eede9ddbac57ae2e52030003fef6632b6b33ef3aab4e3cba52a2bdde22214d3038845b875a4d1ab337a365235d1e9d8e869f2a06d0ffcc0d1fe05442a21677bf321a0311f8575239bacf25bd526c28db7f7f9890f4176104fd9a04c470d715d3fe4ea3ebd954b307d40334282d5f1ff69f755da0b72a6727449d4fc782b107874052143027fc487bc20e9eb5dc60d82b9dddbd8e99b9dd1d7e1e13fcf3ba87694416246e5f7685030c537d689349bb3767926bcbfddee2c77cbc91be71707cce31831402a711cd1bca3621f20c08d21ed33968d9be7f8f1dcea83e85cabb3e782147445226f9f034cc7a4632dcf43e600518f436cfce631c5d17325a346e6be4e1afc412e04cba7ee57c20ed3cbda3084a111fad7c2f79519ee2cf76dbedc43ba6409c6fa753c360034de6803141fef592cc294bb603af276304388562621a854d5a4023eb5bcf9243dd71b557e50dedb9b256b12a3db21ffe042fd9f085372e75a00734d96960b4b68339f16712f18df874046d416d634fd40b5a5e3800b39075560ce0f9f349fd370d0d4b57e64fadefddf84565078525a6318f0c0e03479d6987114c48f65eb803461e871f78ad2462cba3a83c323f8c64a4cc36989e5c5dc41f38cf852b1b1a11465ce65f6f4bc494f8bd05bdebda919f990f50aa38c6e9b39eb4e15936261558fba8850b08f5b33dc8c9540ab6e06d325ea321ef82b8973b8c15e126e06dda702cb3f458a99f48c4ffd4c463c797487c7bdbfa4d83f3f929197d34b9453ecd2f1ab2641dc76c787e9ed7f56b2a83d6909c357887c91a8da0fc115d496027833ac3caf506e3c66c2e8da8b517ae1a797fa94f3a1735d2bc08787449dd2200205af31d174deb0f19eceee9d6c870608cc3852c442b292884d959482d4529800a640c52173c5963e534844cb08879dc44e62ee954391defdaf771aa2521ae781d1fed20f1a9c580078795cb328b84cca0e5fbb0533f720033929778ad6213f75c46e6dd73ae3e41d5d9be962db3b5bedd116cae35fe41a34a1607aeaf1683d72c897d7d6adfbfdebf2ab3311e2e01f2618795ba6b4bb186ba022cb8915fa294a578167bd45fea4d4206b4a1c9278c82891fea8928df850c0a371cc806e1b616c57caa06905c6f1e0a5ec3d70d4d289515d0454b816c589bc9fe177a7221d7ef4ed5fb400961f52848aee0c553c8a35ad9053930aaf86a7eb75c16376e31995f840390789df1e70bcd0a43c168220ea38c2e96043481f0ddcc0747def9dacba656084c6bf119254b0a4ae8ff36d1aa87539a105ac00541affdabdcd63e9352c4632c6952af2375666bb682f101e7329d890268fc300dad2eef2e59e4e5c5bf4743aecc8a584cb82f632aabb50a6710d4e428320fbaa78a99734dbe01ecbebdb87f91ce8a8dcd2bd2406254751be3e10d2b061f37f7ce7742896e59d878740894a2717cca66e1434a9facbfe3e79d8c360d0b30024229de6a0787d5a603ad4efd20e809e250dc65e093f1a30ef67cf9fd70e33e7f970a6da06847c401da15f013f68fb6eccb9c8c84c4c05233dca6685b8a86818435c00694cda137b1e038a4e82029737b422e6154a9aa1a6029c39b998ba51f6d3b8df055e7c2afdba1a4c264a9f66cd25f770f56c5a9ce9eccaf86a4400cc543cc887b147746c09545a23ff9f66d3f1567054592a395cc09a5533a7d47e521726ed7900deff9b98ddd339774b08950a0d16a426efbb4328b8396fa992abe1582c3e37a1158bb6c31f055aa624be5b2ed508a6165a63a7a0a9bae96b27ae2e073103c89d990861fce61cd3cef7410631b325bf9b0879aedbaf8a6c43769235d28237205d72e6be59e9f049fb9337440471e22891c56a94b8f6322f74c0f099e37d665b4dd35a61d14a5771d735164127ba749129dec3e015afc2f1315154788a4a5841c297bf379d121e26c6df7d5e423ce24b75f6594b0c02674e5fa8f5ba6667a494f67e98b06c07e547cbb4b73d7c6a1ec8b5e7af147619dde9a72191985eb2e72ce24ea172ec57614d0548712d508c96b9a180c346c927749e98349cbf8de42b9330dcc3a9219f196eb90b4aacea99448d966e4e19f144d22c9bbfdf64e944daf86a4dfd862e9a46ee2d55bcce25ece2dd1e64fd0732835a6411991046beafe09ac8f675382c832496efdf5d9a1263dff87cc4e3d7c1ac0d6b62fe119aa83f0da07d9cf7e5253c51add35eacac85dec814e0c0404d2e440c2147f84611f635f643f1d5c4eb16ea29fd1b159111b6dcc627a7841bf98da30b4575b5a2572d11ea4bb0b54a7b4e8c7b342e28fbc4db11a00552e9c6482a3d4466c91ea3213648005e501ed11bd79e78ceeff46f50a64cf2cd15108b940abba926ee985c767ff8b775238d01bec31b27266b204f110946fd6a479155837ab720da4a9f569f7ce02f56950b4dffc0f0ed6d4698bd0c13f42b4cd9006213fd5b8de7c258c86543149b3d4defae2eb46890eef8ea036ee1794913339546e72ee735b5006cf1b6dc727687e5a589e51857a7b905862973be9f05dade55baa3538d34ee56462b7875816c078f6f6310d5df35b383d0ea52b4f591d9257ab09be9c85815516dea2ab9a57cb3f20c43b4b011b406c2abd9316d9f2085297441257d7921c4c0937678b94883861dc4637f6353976e1d21b74a9ed5c316128466d4ac63effb43b48206da1753951dd4c24a5f7e86b89935e0b06b4d06a3c3fd467d8f7b0e17ffa3cdd2044aa9d9f48f4964c77ecdd8f37cc8393a3e3a235c32f87fff263e5fccf83314774d38ffafb59bf1dc267d9f1aab266b1cf36710ce248dd906085522ab290570ce5a62101173bab15d24bc2c15146b05e592aaab41b2a28fc49f4b8c6db8de1f075fdf51fdcee20b0b69db7a5542ca76c88a4a38073be3ad8b11173b479d0c6d07d1a5f4335e7f0402c31409b603057fb46e2216580c807a5aeca136bfdf902d6297d7d855cad8a4f3edb872fb5c9124fc38836d090b48575de4aec7b85ed4c8368b43064d1038e141dbebb3bff65af02c128cc273da28f08e4270e01ebcf2000eaa408f054d0d3fce367d793a6799da9af4f776570cff384a1bf9586f811713182c26b518371f213517ce0584de13d79519ef95436c3b77054ce630020dee86847aea32999196600e378cf4da030952650f193001933145e7c66ef6c771dca3c530b115e97cc6576dda887fedd10d813c9dab8d3434e1dd97a714cd27ad3a3824df66f3c853dc04fa346c6156bfec381d2ba99d3eae151c858b3af76757a5adf9375f238ed0f72287e129020c04b080137959ffd221ea6632f96df7ca4bd5658460c0df652ae65fd57d3ddaae9e2e75d1e1fce47dbd59bd094002953b44e23c62daf241bfd4bb6e07ca8eed9f8f2b62a79ade1fc0afbfebc8b49ccea753b4deef538ecd6a56ed99345497b254b1c480f45b1a5b0cb3e30a37bd4a9420db31de7cabc318b468f55f6c277b96000daa9eec1c9d2e9c2e02148beb35e5cf9a44c974cdf4cb1b9235fa61577ba16bdd7015bb650b83eb51c995775fed310922f56f6161ae076ae79bd1d38164ad36d4c5e3e0b638b66740f9353411d05111b202beea7c1def3abd02d4c353c03399edf31b834630bf14f906a6426f06a1df0816751381fc70db657d8f266051d5fddf36af2af1c3782808de527a283861b10ad5b711193ff5114278967e6d30df04f43b72608adc20a54729ae72a3065e02b2e2bdac717e2c8d945843f8c5d7e3f04f60d3433773163de0e0c0e45f5c6f91ad19f21bc9a0d9a9e887e00bdcacd9b7b465f04b95b99a4b441ad9363ec7b01b55ff9de4c0fcf65fabc4458f663d787d3fecde8d306bc69ef0d074ed6b7c11f48eaac3802d8800ac1eb77149a6c0c01ec4e5aa6e70321568e3b7a3f5a842b6358bb1b0b5efc9c14283eb6396affdc86e3c6b62c255bc1a8cb6fe7c27ca59e52f62973115e1b817cb10711abfe4c42c168922cfca281a32ba21032763adc74c9d1b27a3ac08c8c0114513d24f82d0b015f75cf1456871f5d6ba6a1e29a27dc6c8c427db42f1b5939271f9055b57e946d28fac2de338db3a6664d82289b80106ce9925af966bef12e910c94527bbc8f3c35f39f4d4ded4110641e7f69816c2d3a4d37d96b4ce7aea8e296bf237d81140652a7e4db65a4a1e0f84c2f9d45bb72f042e165f162689bfff9b07533f7bb5abe5342bd95c42905803da41cc1f366f0c90d38f825ba7a6092fdb26da7f14a21e3d4b773e120ba478e78525433e33eb57937c7b8c390268be01f7c5e6b95dce006cf6fa9a57d3ecc4fa40b4f51d7fed4b029464ce6b07fb61ee6b661b0b7d8dda3af460ed2730b48f3e97dba0e64d4286c2da4e25c96c341af979a56b45deb70eaeee6f433a1fb6af864c7622412f9bfa5d4f38abd2699dc70a2ac45038eaf6f88d42353926c3b5015950f457c211582e95c7c1d787532feb0595f9068a006fd30f1d2288307de8799ab0731a91e369dcf8979e4733d6be0a8db030a5213db71a11231f8424bfd3656dd36012f144a91fb1d8d8f713c5e8c35714e7d289754c82295d053358a4d03cce7eab4289ff3f1975143b6e7186dcd06ec7c1bce4e199b64e6524f6fbf0235324e902f37dc923d57a773ee25747c567fa2cef2f8f5cd9ebf721289c27d6ff22310d58cb7a25851b9ec34ea30c53e4d2d0b86615530bd3482bd4d2fdcbf4f934daaf64feb1d2bfb961c5886aadf9e86fea020f1fbc1e74d47ee95b302c0cf8329a70d51f21ecadc6562fe498b35179648b59e728c5a414b902a5b2823fe73c4650606cf07349bae4a5e56dcb14f1544b5dcfd63e088d100204c526c48222c84289c5841d6ee48799bfef216672306233a7a322120ffffbc4d751f694346c31b7dcb97de3c131cd66075c3737f5744975abfebe1540882fdd057cb78b52b9e4cb61963918b7832e2755667439a4f06619328e5fb1056f62b7305e3b9c7d422a2665164ecaea9d8807db02f41f6cf8a11dc70df1f2c2c0853607f1be7c4f954a49e3de37a440184d9c170079ecafce3d84731246ce381c566bbd8018ce1a79b16f89868ec95e3e077ba6a248585ed53a56a4fe2b977fb4ea57f2d555c45602aaa53d9247381a9ccffb87b5754ff6c04a744784018162daee121cfa69d7febcbc0707635aea4e64363ce69a1fff87e1fda9d54b5d173832485aed4ce8c7283ca9f830cbb1da608ab8e257c161852c3cd58a33d32d59fcb075c76c8d08a900c4905c99743655645e4e47dea5501bb5575b6fa59a2f539f89fdaffe030bc5e4cdbd78d91fbad7ef1e8c6fe311db331e7718d20087040031ff8dceb7cbed113ea66e90e6eba55e8a31bd19f61ab7515a7153a637304af88888339a5d5ca11228a733928657a496bc08c0b9b17dff924363d658fca4d61415a417703d191d0ba69d0a0fb74b8a517cad46a882d6e4db649bdaa61b1da5dc15825e6a3a04045236c6e024ca590d23e8e6f10ebf2c8caa944320d01a086247384966391e54650d3d001430106b2d205e4acc36e74d5b4cf89f980a92c9e0e8a272a60a7345de1a75a2b7dc260dbecbcea964374b3d0196ad47801ea6fc86b589c0e19e5cde02b1b7eecd68b1283c801f6085b815d585adca242f95aa583e1fb157a7e616b32a9ea79ec5aa17cbdfeca18f40c5867b1f0311553b0345ab88c5b8c2140a57178297136f85c01d711b881f57c25afba114731e9cff01f6b21e8ac2b00ba379f3cd7fa2dbadea9a418dbae39c0d20e1b2ebe0964090422b67066f60f7dc390b764dace45bee00a2eeec750961d05a6e5b8571cbd5b113325201ed8839f6b863ae37063a917da46ac88094df85f01c1f8de67c032226e214cdbd41a71ab698775a37b9f2b3f1bff74f14207b551fedc634316901858d13153d53bdb6fb7d78f24fde604c604d478101d2c493ee6e23d1bd2b77c644f59bde8c98d81e56f1a4e993e5119a12665676203236c7f874d45df7ea56efddbd30547e3d4b4c3cdbe194ed3f14afa208baa0de408d06f8aa1790280afdbe832c5687597419ea83261c59a580a5743f7fd66fed6cac03b76bfe7a3ca0ce0a212a3cb287df5261c0c9d8365911d88b78a3e4454ee4fbc8fa22ac5f1cd7f70b9afd86a560e34594707f7a2495efbc2941bcaea1ff5faee8d9a1afe38886c00c740058c0fadca4aaad11eb038e611630618cf6e7ff4c47bb5ab4457fee035d3260c759e6c0adfe0b887c33976120514f5480bdcc31acbd993bc069b7bd126138aaa82925620dd20746af1a895301494dbf7c06b3101c6b3cc38d2dbabed12f9cfce1574ca573c5d1d335b24635e746113493ee98ef2d9842b424bc72007cd13a553ca47da7a07e5a19c43f1c19590b8f8eac81ec7e3aa5ce99aaa7fb5276b2247de0f112aeb8d4a4b279ae7c8de4ce4e87a882ff963b5dbb5ac87286306bfd73537b7547f8b0cd37c06a98912fa54197a8d73bd9216ab40c92dd24839e2f505bc43ea4b462814253e4a65a7a60adca0a8a8d55072ea10a67f89a405e6a41c6307fb461c16281a8f7830568085f043c6c06b0103a189d782095dfb01f865273d8c26e4b7943160096ee7e1579e187592f753f7bdd7f19a4641c8ce15ea988e4ccb761143492f3a57015faa34498583fee431872011890e3f2c5556fb81a81f9dc62fda39b0eb0ca25ddd2440e8e146ff14474e14b035bfe632e2cb0ee71914666b4bb5ad250b844bc40085f9908acfab4f83d7e40030e7838a288a2eaf66bb577dc9b66914335c182fcb15cf2439ab5ca27fdf579c58df5da462bf3bdcede7eeced9f6d3ab1dcfac4d66359bd5e3e4ec917ea01ddbf186ed89bce0e79b007c0d4e344cef7b169890036743e2e6aa1e861d7feb5b1add70b9be9bc06784134065f43e56e47e050cd32a35d1bbc728725d7378cc9a9e032ee69fc32f5820e0e913e50605c36f75ea24b497d5a6017290b1abb488fe3e7a5050c0e88e1605de9a5abb20160092944ae0afa03e8c0ffa52259fae8e4dce7b17b0c4227cdcf008e047b68431517dc8fa7678604fe31ad56a486685374f00266c57bddda84aa8c43a25d30872b80f9e95af2a768c1e60453bae6240016b21a869248909da9f0924ffd87fd832bb764912d4f43d181705de8ca1a2a481792d2291507d0e01c8f7f84dc11a50244706d80e9db7a41358f59a99e1dde5fad2927577ee2ca38f5a4b87f83e53074ed75108a64a2b36bcbfe691ff344b6aa842e2d51c34fbc681037d43eea5524eb137cc4b1760128f62595518ade781d8c66c3883a1695957181c938333432ab3addf2bc436a1ddc2349a691303f369ba3277bd779b69fcf2f6db9bf08fba450fee27ac12e800dc21b57e3b681767bc05af63e3b2903f8df4f6cd2973253b84377e924df7477b7d3e89ea771f8422407c6193a7e819faf6e66188049757ac3a97659e1278ee4549ca724eee55e28bb5a027f749dd4311b9e6da889c94181e1c3431f4ad43c088f5d01cf55cad087c58fd6cd69b52140a47bc48775bdf5f0abd664751a9f468140a8f17c88c87bf9cdfc1086d5f5454c9c5b4715c34c6f70d6cdd966c96793d79e4046dabb17fde85ba580ca714daceded003b80f3572936d429991a21d4aacfc0c87f12de11aa686ce93603fff754be4b09a9c6d14635b05abee7f5da033b5f7e8319a952c5cec3ada312f4fa9de7ed93cbb8d1065fe56cc60ab015afad3231e8fa36ed37e3cb8652a2d93c0ebd9bb36968b52d151c637f66e786c83189d35ee22f7c9e2ba93fbb7cd96c93204b2def838c562966fbd74b2c55cc709e0a701bfe67dd13e00ac20dd62b296b114d33b3a75daa8ec924eb0a2e6248be7888749d9051741b788d4555d762fc3e89e78f101041884f5c8da31cb815c26120e9cc6a4158e1b7152d7962e31bf216d2345d733ba038ba4694d64b206b5ba97dfe3dfeaeec8aea758c0e9d6f40284d97bed04e90b573c7f47a39bb0b36d440bb4f50709f066593a4dd6fab150233feb24f0474ea980b6257280b10375a33ab73859e48662b6ff33435ea459b3490079f4613404724d821168dbce25f73c1724e868ea72d3539045540b29d96f4dde499fcacd6aa72038b2de70c54a4f85accd48e45c2f9c103420584df5cce6985ac51894cd6aeb1ef6afc000fab4a421efb44b5ab104801ff62d2b10c45333ab6e5e676688330075341e1667b2ae19cbe1ab249b717c33b5018c0f3fb3b829e13a25355a0445b22e52096947d2f4aab7fddddbc3d549dcb427f9815fdf5b7ca35a423f4a7838b82cb395d9c1edbbec9aafc370477de6fe288c797f1e0a3f61d947c28f1a32365367b94370a559373ad3f8163b9d2ae665279ecd52b044ef2fbbb9a4eb5f6c501497e6a353fe9ccf79c09c54170343b7df7203d957ea54d3313c057a71b952ca13cc0544eb4dcbe9353d4aa5e8371a12183c96877187cf77f5fa074534ef70d2a8b9100c544814f2e1f7147d0e9c745a8484748e44d0351c4ecf7ee7d52a5f49a30a69a7f8a779ea3b4ff2ed27f11afbae8cafec7297daa3e5e9702f42c86b147cdab0eed289207f5bd6604e12edefbcbb4b7ef231e241519ce5d6d7e394bb7508d22b15b86262f79aaa9229d866fd87ef2b37e9dd9278929c975df8e3d761012a12a4fe700b3c0ef462f4df24e4d82e8b2c6b812f2cf5798b37abf63bd1e8509e3e4362139489e85ee0a41c1efede1951bf67c1e831e9b31bc339af2ef9c493a74f0864275b3686cbdd402bc07cee192ab63d3a0bbe47891a62c3c17c3be31b80041d38962fbc888d25f556bb1724f4d9a88d1290ffefb7516664b4f265ad97536a55a7b7a388e7a91f887bb568f6420ccafa45a43e2e04cc98e1a57335991e4c022594f547f09ac6ffd69de5d7e3c4a69af4bb04c88a330bba684ac27608d1214ddcd2304ddff297291cc18a55ea0fa7f752a8846a7057900ca06b36a941250dbf7332354e2ce7e67418c475c61cf784ff96bd76e32479d4d4a2db2e9afec09c88a93cd6d7a49fdb30fd68fbcaf7d5c5261e40fc0ab87556b877292d47743b504f150e98319ac1accf52ce1a45f8129e08ef555139c237f0bff5e4a214062b1c23793fc5043a53bf931150fefad07848466efbe5bee8010980d8d2f5e88eed546aae5f3e2f29dcb6e7133138bbb8850328fd2830bdbddc0c3a53fb347aa9be88600e4c2f4fb882729a49ec1bf18ce09cb5b70d56ab8ca4577153b5406815a13524e0853cafcc17b27b5fdc025f033ba7f5792c5e3b355cb64ba6246d795bb79dd6465ac64a42f82fae44f7199cbfcbf635fb0e70a0202400b98b8d29108a7d76eb7cec79b7df2e0be5acdbddbb171f021bdd2f569c763a65a218ebcdd84143ad2f2f34559b654e3130e50c2dacbd9c6ec8c07be3d8b553c587d5298bcf3331ad7af2983593e03542f5071e76d6965936ef7a179cf6e923506fe25c1d2daa7efd71ea4de648adb0a55d88ad02323f2713c3256076a283e0668a54af4186b2f775e1e2093e9bc49a089cec797a91123aee8972c3940cd56f3dbf6fce90c18aa654883339835cd1c82068f89556122871ddadb2f815f88e1e3564ed5a06bcd2af954000bdd8a1cb140ffdc78659e01f8a00ab4c3c0b1b3e873fda9f70ca1dad4075ea5462499c68e7fa807dcfbfe24b39740ffe78548bbb93861841f9d0b33b6745a7b34ea663c4a36ffa904800042c98f5243f699e73d384511c7251bc3852f848874356e23661585cbb874550ca2419eee13544669423fbb0db1889dd614b08f962226ea9d8fba066e99bb5a617871c4522ac39fb2b30d1439428f87e36d16f2d52da560daba788b5358918f538370f70bf92b2bc0633b342b52a0e7315f1be14c810b3e31ba2f9743f79e0345635ffb1cfba729e61de17cae434d6e2cd73a8fd5498fa70ec33037f6c3dc3f7d67037195156eda952428a21119e79c55dc18f933fec600696cfed1500d39515ca567b79c828dc29c5550df4ee9957e9c79a0d1a4c9e11c1d71f339ea85df6f0b68018d272a62de597c69b61bd67094f06e5999b5bbb513abc69a2c5a8d3e5f4ca3a418741f0b5c6fb98d6a8689921bebcfc0e5dd925c1e2df1e0bc4adbe44ddb86ad1ab9fdc26afc63dcf58329549db3ebef064b812b003334ea2ad72482d6b57f235bd803a76f1e1385fb605b57b5a93629246c235be934aafd4cdf842ac0c904ab2c745af957d52f8937357612ae0e0b641c1aa9906e5c1a03915d704ea84d288b518358299f7933fca454879ab022f708f3b0a85a7abc6fb2c09d0cd8fe8e7efe473cbdc5179b99b0a27dc97d84b94c8f4155591e663de7639cdf5252f4fcd4e05492468dcc0ba736e006ef05d22413adf73f6af8e114169941a1c17caf91f3b339679aa69caf61a44b948d7d07e4db1cef5c0fadcafa430dbe417a12e85e60fbc06cb96a3732e708475506c0b22d46b70b87d3f6c4787b22ab2fe6b135681ec9a7ded21dda83f143471557700df8d88afc47e0300966c82864ba49dd077d5212ec78c62a6488c63779c107276cd3d6f0b20a783c51c5b27b55adbd2801ac6756f981eb1902fdc9eb6fc73683a950a5f9df282fb3b395ca2917080aa9c75b05896f4935e3d4cfe682c1f5c251a056fb77e83db149c0923d040f1043934a6a7594383e5bb3e0a8eb7942cd1ccf39bebc88b1143421def4ab3950d2796209cf79e39b7a390690fd008ad8479dcba7b4f7f1259bb6bb6b9f4d8ca3908da70c9ef7a2ba3f4270bedc5d17da97e11e3988416fdaa46eb0e49d2e2a8d3d4d55a9261b0c689a728fe1f1f5c4a5526a4aecb6fe746d45c10d0b0806e0f7cc3cd6f11c1371faaa861da03358f66d286e79980e6a31a527c7c388722be4fcff058ae239af0b48df4dbe2513291d0602be4ce0e78b4b6a78a35d00ff5fd60a6668503188a2e66c6667ea504734f38a8958022ad8fc34be2bac8239a33239f9750ff6980e08795f8352be708f9a532764ab019f6de4a102d1a86ac1552a16c1616a5500d84b6aff9070311a8df127f7657fb09b4d286e872d002c5f71bc58b39936f6a61ab7154756ce429d1cae3ec60fd576b22cefa7ed0a8f2c6f4a89d7547572de3baaa9a705312d794d0af79f7faf14439cecfd4528b66e651633dd27cd05953b6fe5c4578a5ad1343c46fadb4a1dae5b698a49d37d8506509f5f42c04db7ba4b8b58d3acbf368edd563e6c14ca7dc68307bfbef1ceee9d3183c1f02202ac8c9feba3437333c0ec5d73ef298c0245cbce2ccdbc5e63f3150bdb1f6acfdbf8b4fa570ab5ecf3224c1291ca1f74f8a4e2795779a17941dab1b2b61190ef87bde7e25dc5f0bfc261ac6dc10b4ad610fa86655fb75bfb43c788495b845b28413622d47344aa469d44212ab303909aac13f2e46f5583e694941bef375bd6c2143aab81b70952b97d8abf6eb8312502af1f9d3849c2b9ef95f62ff60c32145d6313b36478743974b7210b9813a4a2a157383963f55d26e72036b3f23130a84915bc57e3de9579f48b4474d5d1cc05520b9764549f5ecd936df574df9d67edc37bcbf46903d01ff7e630822d6532ab2fb1d53a7c0d16f85c999a59a023c156d24b5ed7d907a4c25f86779b81282ad734cc1a3fa1955bd4c629cfea6517c2389e086c4e8b71dc4ea0dbb031f47839b38a02c09c45ed83957664dfeb1e3e990292c8b648153d371181be5df1245c13f968b3ed4829e2cb56b8e2ba350eed642c0172da3c1e1fcfce24dd21457d06336827b98a6eb2534369a0425503c516b850a83fe92de255798117abcac62f30602ec3c1c80181a513e16e39817c302b3d7d6677f91aa10eaf7f317807f501f62562d96d0b1fe115e227093fc5be70340c32ea8afa89c2ac8be35f61f603f332396a003d3f6de791614fd82b22f3deb9359590829a5efc45afbef6636ca75e8cb1335bb8af72258a70760e672476529b5b0ea1afdf0276fdec5c715e44d7ef3699fc6d0b4ed00271409b08daea9f99d2cc6660a336f0e1cc7ee57baa5a1f8b92d5a05701fe1c51d8b5676c4d506add7f3098b850cf836e3f6fbbbdc009c3f759118d2efb61dac30e2fb671a9327a908a535eb39f17d581f0f2cc4cb66accbb2bbadf2da453e6c0102950d588ef99642154c34ea1a5f8b38ddcaf78f75be155af8bd8928f55e18d7b18dfe1cb468075cc81433d2e7219ee7a73c82d9768578ac6833eaf4e6b25a13f58e3f8ae4bf4e3a02c47f305845c786cf52f8b493bf63718360c20841e15e26930450a912b6eb64bcf25f9d2f2b4ddd6b38070128aede392cf916485f7fc6d87e07155695b0628e0b853792edaa9d39731bd48a120bb96e762c2b4416dced484aee3986d9c7c8202c32bf49cbf4f42eb9275c5f470e1de2ce6e1df55598509ab255737f5e4b2ba1546d58647fcf5dfe2a4df5ceb12c136d2ebdc89e3f2974ccb816cfaf0804ca1bdcb6a23067d4fa0a538dffa30d9f9007d368fcea692ce1d2cc1ffb0bff141df2ce90faf54a500e35f5aad731a74b3b4628c39a686d65534a9e103755f50c264fa275d68db14a369b25d3604669978fcc0923b36cc2ca807442aaa93657639a67a96c583c2604ebc9dadd88f5f9d22a58c4c8cf47a0dc468566776356b746229f50ade1535fcf9fbf99cf7d22c935b31300bd673b9919dca8b94909d61b69886004956b252afe97c2ac4f4c6e4256fd6b2f160849502960aec0d96a441d8cce57669fa434d3fe5105eaf7a7abe67a1f729d77d6d05a665af6e4c4a5404076675bf4db9d5c7dd4fe227f286b0756eec7a1a0985b548f9158c0ab3ea5a8cc2aa6634b00cb668da2cb6b0beb809c6888b2f82f3b36ea9e1db24ab8f91587df40a5ae10fa0205c048e0df39601b9a9d8446f1266c20a060b137b4c0e97e2e814e9cb780774b7fbfeaf84b2ff0c96dd3b79c1844e6aaa973c001e36f6fa9d60cc00319a9483dc09bc456e37ab71ac73864494b1f892734499bf0f86c44e4153e758f1ebf1ee54eac022e010ac6c1d1d08f1f4201d1be83b3a27e82b776222db4c27f63986eead3067eeb2433d8c8bc16c41418cdc1d7b7e488cd1fc5e43ab0e79611cc81b196d76e12e8ea7b6384cd14b63504ea516cb08e8f2c663bd8f90b693449495722fc62aa0f90f58ac3fa97dba1bf8655d3e56d963499cff29672cd6dff01499698f3f477eeb75c469741c2557276e2afa4144b490c44da53375dba0a6394bbf5bd0fe24e380bd77749b6b22ae7b06b79dd8584ab419c49a3109f8d29172630d99f482fa488cd28e0694f3fc13efe781eb9d8bcb87efad016a14cee987086eaa6c42a38d0becffa8baab3326dd58c81a73f110202498e333391dfd4990aa6055c46e47a1cb484565416af2a64dfe87f81270155e7fdbcf3dd693422161afcf6f77eb01ff0ba7a048f8db3b8f3afb772af5adeabc06aceee430bd520b6cd20b27e3f5d12f9302b25ccaf88dae804936ba9c099bcfa5c1c979402da67bf7e672a3c23813d23d506eb2e668e622f50b22918f12acb9fbe627e6c271add31e57d3380563b4e80754970c054cc61611c2d59ec9ec44a4ac9e4ca168233b14040369f2f065ef2d452517b2cec49cd221930c3d32b68b0de51110f02032a0fbe9dfd23ad4adef9f48f3364b6cfc35d648ce609a8e478b4dac4121b9b9af275a8c5366cf97e0e04311946f72f0f28e50fbb2e1a0e2bc9e3895f74b16db0801c571def33409bcb9a324baa7deb8ce4276625ad80de2d1f5a82b96468b5874fcc60c958464c598f3c0232dff76c5b680f1fca7de8c47a381cc65615d403e591acf3611eb419f762368c6fba52d3f3111fe2bb8021bd2808abbbde887ccb98fc6d7d2673de4fbbc3f20900c48fe2e7489afd57b2bc756802add7c7b5be7040ed72b630af2a3d9bdfb553b3f5645c0edde8963bbc34c77d0861063ff0e663aa43672d794e67dbcf85212db5e0563201d0f1af8c3e32f0d1f97beb23dfcda64d5d2a77d77adc09f67e0c9777e75673266e829177f9b27a6a9b28dfa07a23d5bf0b2753c2eb448ae822d069ff7d8ccc799b9a036cf14023307385f293eff2981eb3303d98ef8bbb376384c451e86bce955c3562dd29afd8a3333d71dcad7dce87fd53dc43e76c95dccbbf7efb977add9625442c2a5a628449882b3cddff72a677ccb368d0703d54f5eff8f6c96b1260ff5c492082e86aff8fc67c0228d309381c36e77506179db07d9f5a99f3815120292abfca42d034e188cfea9c67702f91541cc91190b4d43e7e4afd003ddccc389e5a9ba14abf680de876c53f7216bee2e421de3f05fe48c8a0100fe66934026624227c639eadcd7f4b1ca402a9fb4dc5c0623d608d55bf38179977a7dcb4d54f7154b51ebf5d3a2b84fc6c360ce4f22249ff933376de2d7d9a0e50465ba863603f140dde55f4cbca49ce6bf4f96270c921163e2e29f8aaeda40918264c2eaa72a787be431d927be1c1adbbac2afd815fff5691127e6a28d1b13942f9a3005f3319f273a6c72c07efdba405aa0d0cb59eb2c672ca4d60bbd190a7c6757c54afbbe04f866879531be7d35f141f95b677e001c05c56de6b567730f2db76c8c3b1c5d05672d8b375ca4f5b15110d106a9d9f07fc7607a0e910af17a1a17e80a74d51a3000a0358f9bc479a9cf7ca12f14d9f0b31c49b646fe69c8991ef83be6d63f21d6ea5826684123f2482fcd7fbf2dd0fc70942e3d91d23ae3d2f7d5d12a3d37e7135e1d388054ba631f75e89069bd9c13a3b2c1c190841fa136f0ead3ade96f6c09eda5bb9cb9ade411799ee969f91e3047bca475ba29cc0aa3a9b36f9c8cd23886ef5288a102bfeb15097ae2a7fc6d787999e31620a238db15ec9127f0deca557070195ec0fa7952fa2808b51ceb412779978fdb81e97f5e82d72b49116c070ea4656e45f38c11197a5038443b96eb52dbab23e9140c5ec3b777b94348ddc34bb5f6cd6af6da760b8a8397f4128e0104953bba06f0a2d9436f59767d1c2f74f718e79758cf49076f2f8a31815788cfb98821c00716b8ddbd4ecd0211ef6bfb93756a04d8b3a57ded863ef61470c2a74e6aa7230fffc0c450c207832420d4911676c9b28a3b7c3f7ab03f28f7adf91ca9a0be21b47e6d7f6140b111406b83606b5921974658a95f0e6dc8d2956e5fa3a7d448579c810c8a8f96ef63e3dd1d96c6c2a85ccd02ed48ab381e4a77f822212f96864a4890b49ce81d74cf116470b08615f869cee5125adbc2643ac065afa635fad23444ace6e5ab425fefcb956b2df75029bd911bd868ea8a071ae9b46696d8939d6a7d39419b85ec74608466a1a06c4fff70a9f73b43a73bd1240c344dd055b9597deed950f6c4ae476061825313b59d737c510557ad1df2d84b00eecf205c150478d5cbf560247902a03a3a571834aa58f6ee3fff488150f660f37df91e91f05f24ba14df3d6eac59a9f244dc9790a9acd386e7998fbbe3434abe183ceefb8b9fb3c44ed047bf8ee6c02b3107ae709f3c56003d314e873694461f7fdf267309a795f423532d54cc4bbd7ef7d713fafbcf1395db2ad6afa90ffcfb0ffdfe3024267db0ae18cfa8c54b350960a63f5340bb174f9196f3814af04490f0443139e95827bbc9d034e793f852a0eb1d24c32ff6e34ef3832957bbab65ee3fd65d58314c137f2579198dc1909fdb103e72ef8f7bc5597515aa4e8351c1f1e74a0697dbd50d45146cd62ff4ea5d0db27bc3c504ba3b699717f8d68f7a0283192db9dd05e4da21a53500d8b88a3caa160195651f7063266c214a44a1473aebdf9f4691a29ef47885c0160984163861b3e0b340f002d321e5731ae6f9b38df40eef94e0a8c432f1fb8e2f97619b70b9025d7a1f8fa67cb7b46ea42461d2c083f4c2b9ff8da719387e7cf9a61242b7d5b39f3e56d94bd2fecbcaff7be19feedd4bc6763b01cdfc3f6abbd01d329ec307b94dc692650e6accf5342c2cc93365b71d65386b78327423d431bef3e1f1302a305aa4d256fcd00b16aaf48aa23917643d2dea04aafb7b5547b673ac2ae66b86b0f0d066a14588cfffb80894c2a467bcf86125c5bdaa3eb45ea171909fcb821ad4a4ff73b0927db5bd39a744c9c0254b9bd09459ce4a4e1454d7ecd58f3e720835f46baae184e8675df5d131774985f765cf6478e9dd300c8a4300de0deeaa77023b3e7022182a65c5408f42e3ddec32c59e4d8df663c960a3ffad22cfde47878a3ca74aad31836e12a68ffce8b5dff6f897c1a6ec1e103b887c0e0ee82e8e2e92aa14b84f92320634d4bc6ddc2e48f111f633119ca3bf789731d1cab23f890ba4c7eaf6a38fcc126b0e00874ff4054b1f17cfb838fe0d1d9b031a69f006291d1f0fff3d9de79f31aece0c799eb1e2daef67f5a6c0bee037569c4a5ecb29a1966bfd92856440537c96f146666bf4a3b145aa64d0e55fc95165f00e4f3b452157e474c5846a23b21f4c581967f4521a85efcdfb6327e8e7b265185be6368ccb2482024da43bcfb52f80fadd52b757f3d98054e4d788a106abce52912669662f9dad99cbcda0cf80e35a489a32021ae3221ed20a0cd68030408a0054815d735c3543fedbc2db3722408f465751aef5273098f35ec7e16586efbcff3edd3bf2c4fb420396ceb04900394e4a592d26bec90ee320c43c3fb98fc219c7712efa0f3e547ca9313c0fb8d746b08c189a224acd16e51cf5d84ca2c41945c5039b1a6799af0f42847bd0b135fde7269fbed3d701cc3908bb04e64cf691299608e72ec733b1ae656a65239d8dfaf8557a30eea67deb5e86e8d14a04899fd6c5a430e732b1282e2aa9ead83ca5dfcd4d9d5335daad5778cef3466bf005fd86118db030111c5443483be65e34c3f559b6c0c75caed2424779b13d5de67a7f60b2320b4f30ca7c8be6a0665ba2f6e997ccf10b690d58237ed6c1b5126c2d37a0dde9be1cecd83c1e670218445fec1195b423daf4b05c2d9def35fec872d79a5a08a391a87efc0ed27e04feeca2d878d4163ab50c245dc5da16a8f537bd563b748f8b780c477f75f14b8006946d5be1fd187d3c34174fd8ce394eb203e6174a443df3a7690770e81b54ff9568d79492e02b6e4ef201c510c7f54a8b9010f578ca646b7e389a4390fbfd9c52c388ded10e9084299b4e710a378ef333061be2d2aa5fb264b1e358a1adf8f32f5da00518d115f0045b8bbb07283c82ff356e87b38c66055fa821fb8eaf1ec2a2a1e51a830f8ae4e6b4561bb7c77d7db3f7442afd7823a8a2e9e9dc00b068ed1b78546e390af17a67735f984a7f326bbb03006095a041d87fd70e02407db58a41e6fbecbfced7ba1d9cca0e980cc52b32065a854d9985e355ed484aaf75a44557ae5cfb155a2029339edd7fd85cd7b0db63481277f6e21fab4dd66ed95f9dd37788d8296d7fd3efadeacdb7dbf5e4d5997732c11e4292584147c7fc2030a8de044cce533122a6893fb4313e04d829a83f5200d80077df0197b3633bbf14dc4e6f2945cafa49fda21d3a360b0c3453fc00c45f9e66f74e381a69e73b8d64cf7061cea621331f17c48775609bb41b8efebdb5cc1762b4df252264683268f00686c8e5df2d05ff3e1171c966b8e165f5dfe2757c8774cef3cbd8e1da4bf71af472c151eedb1be4bee739ffbd8f9f7335f5401e5ed10129ad7f8ed79cc44a9b79a0cbef2bed7922cd6db63a4b59d703e4666c563e0aaa1ebfca9874722aadae9b801fdbeec5eb8a9f1ad9743aeaeb02151af4a0fffe7c5549b44c3afd17eff93e81b1965ae2c86f731fede33d2bb762d4f1042629960d049574eb3025be230acdf28ed2d99de6ace0bb136dd16622aaeb93d94a519cec50ad7897326aa0e542a838d26ac6e5f998239be6ef62cf9b7736b6c2703869791089ec759efbd02e5ffc91f19d738e256bd471d55d88cd7c15a8555a62b5d78debdeea227ed75e3829ae8686419ac369feba2276ebe7113cd5dc3f40fb0fd0bc1d96249bc1a67234d483ea03775fe8db7fc88344cc9528fc9953ac9ee0da2506ed5a5f1b062b66ddcc98b791f918dde26515fa7f15f752f02e0c5ae01ee23fad12f7e3febbf00cbacdd0f586fbfab72153209c471e90bfc5999a9d0e344a81670c2186b00b0b4c775487470c923a9437aef006d0f1cce55ce4a6127bbfdfc6754285ce987e79c3dda8cbf4aa69cb8696c507d07e0798f919122c92fd9da270d118d2617029b9d764ac5fe04d9bd1a547994060682952b9bd906f03087dd36d473e9c31903cca4dd43dff28fb820dd1fc1f696d9fe09bcf7d9bfa8cee81a85616dfd9a77c297c5862a19884bbe0abdba78b3d1d5c5d845ae9660993abb38d0fe3ed7633d0631831f42a89cb91bf34914b736092c2176b35536dc74cc10db825ffc0cce4935061a99c16f8ef83baba672ce36d7f532fca14fc12486ebc26c2b29153a8c7f12640ff8376a31f8201afcd723f73389dfcf016cd1ebeaafdf4fc3f59222b276d5cc385e4336c137950c135c4ac0666918b7cedd64e6046b2dc7d751837d5190cee2f729fa48c8c203832cf56277d0e6820985590ae6af6b557c53d6ba7527348539787c01e188daa0ce05c7e2ac787f9499fe29e7048b503a6f7809c87232c01852e3e1625d56bdb49e5bab69bda395d8e3ce9a31375fe24423391227b531a91d1c05e90c2485d6443a4f1ef000d84cac4f60cbeee90cec382ea6ba57673338fb25c1062a0caff594165bc9c1564d7dcb4fec9f24072191aba67a93b6f1e62da13e77f8ccc5d1d1db37e86f35af955522a6f84c0f9ed6c88a4173140bc484cba822b7aecadf0068369cf63a8f303d1cd58e18f9fefbc410da210ae5923975619f7bedd9b4b821223fa7878d9620786dcab8addab09eddd7c39667eb824f8551922a87e86315c46ec9f4a76c54693b5a982ca70e366ff3a844d994c2a0344c4e41571bd26e0feedc0116af52b0e6488954cbbf0cb625787a84dec996a1d3a8fef289b39de5a7a51790c80a5ebe852f70d1e3b78b0cea812c9102fb4538fbb36d4b28c1caf0c898ba223cac7c90152cf51cac5495352e9dfe48423169d0c90776a3bad8e58c6d057469798fbedc3ac8d552ec302920e5667ab402e874d32a07f0f9c4b19a61a478de5134ca60b5d9413125b4d55e30f95d522dae4374a926f85be0a91936e2ba94d4a69fabe1e454f8e5e34c3a1b2f9fc184dce4cc32d39b0a4ccd913bb19fb7ac4c352fbb0ea69797eb86df738900838bfb98c23e21af57f86abecded5eecf382b0dda9b2086f5034c067ac26ceef79591385e97b0feedd0fe25b7d433808fcd79edc3ea017b6d6a2cf1ac850709832d27cb50dc6eb78ea26f5d83e39f6ae21abad411bc5b0d38af81b4b7d8f638f8a5f8a4f387c758965a07511cb528a68cdedc748b521dba44c5cfae0c5e1f8ed2cb62ed1a0425f48de2127cae9fe0aecc46463f8341ea8775d187fc14a10dacc443a142edeb928754b0c04abaf595451798a9850d947f323bf3bbf56120b10d63d2c422d26ae8ba5ec570582cf441a9e5f67c4227e2b7b49004d696f6238a18706bdb28f96f4e35146ed27fa73b3be55d2ee327e24fdb52f2f055ccb4340ec041ebc9eba9d3c567cdb302269f18f319edf36a035ed6e1c63c10462168b513e142669a29cdc8b0635c6c245dcd11c52cc8a63028a1d4545410b50afbb1c34a6a704f06bf9b4ce23a1dd209909ec6f71ad82c253eb6f0fe2eeda6339b6c0f76ad21928448266bc1acb74b1f9891640c6153a09cd352adec8827e30f256fcf831ba856cd1e82bd5aa0f58bda94f4102529f8d5dcdb19eb96d607e18a83b9da202d61c67c05d1c685e70791c1ff1b4a9b0891d3d5a8aa0f405deadfb94daf576365015c89ef5fe7d499995e440274efbe02c31948fbfc2273aae575b9ef2e002a514d36a265e24dbcab51f844c1c8a8468313b85fa4c224e983fc85fd2f5adf83a5c6854fd3a8318ba1e94a85ccc86739e7af9c001c6dfb23248dc723898715e130f407dd264fd4064aff099cda030eeb3e51327de868816c4779c50b726903d4ef35a9fe7fc78bc0bf5f04ead1fbc080ace304598c08da4cc96ce7844d391258399381a9b380b99498550b98eb9d86a3738966f35ae796ff8d348a0a7eb6e91ed5d6f6abc4d3d162ebf3223284f60c0d86589ce75640c1646abb5bec4b28396fecddda9cc7b596037138fd027c6bffd7d0a01f1efe20bdcc7e9663164d69952da12c52cf677b9fcfcaef30d85ce2b03bcf5f67d90b42defbb11174cc09359c9cca362fbcf9b91d797235f3829fac9224f5c7a6dd0293ca5094f466876a7f84b3ada47936745db5af32594e4f9065110aacc640c812e62388f0435dac54712ab83f462060d03445f951bbec3ea07a695e35a27fc5cbfeb04720b92c96b57859ab8f309dc0bdcdad6a8472c9b6b319f89fbd986063352401db972b788763109558c4a2da43960f4ee3cf1fd675da16d83fc81be192546c1b873818cd7387e1ac7e17df7cfcee38e01e127c95f9de6b26493158e44b18ad226774a7374259927daa733d3a81e33af6655c9ce826a11b90ab3630162315d95d6fca704aa46a670288647bdbe81fad5f066e78a92737ab56ca7a4d8b12796d644fe4a4f574f3f0b2b869de8f5100976db62a0eebabd407867da9ab32c545c76cfc549de472de5541c2a3f96a8ce7cc09a665a970731d2e8e13fa8ac739bab0e1d844831abf2fcdcf89db3618b121da1c313bc55e95d6ea514b03ec7f97ab91eb528b660a80c12dde57d9dddc8639574f527d484be6d31cce2e9f45b2019d4250a6c1db17ceece5db960a5c776f3e8552f95cd176f2de186d82a7bc2d8ee5878eb511990795a8ec85482f0ddfdb469e550e6266b838c35aa39c02aab5df1e35a4ca388384b13c69a5e0d038b5e3f0f21fd63444c3661b1990d707eaa2d93b21656701d2c7b53da01a0902d7186d284052595166563914b1f580324315b58262b891e221d228e7c66d7ae53703d5a8ac680324ddd706fabd6e6be0db15d9ac130983995c5d4a3a04fa0c5a931a71d87abebdf3b681810bf05373992e5fb2fe5cb1d8ce9f5c1f563c793a6289f167c5dd20dbd22b2381e6c545679016c908aaa4a6b87dfd92f52716fcb1adb6595bf1391ea738afa1e194ffc2b532cb00f9f601b5f75224c70be964c727d57a42e3fb6076a4f03375e136a75d7d11b3f1db3610beb21ed61dea38b2fe942477c1538921ddf7b28fcda6486e6738017df0afe2adb49363aa4017461883e95435c62dfff96a3170910ae35819bc71d6b31073292f6afaeae00d4bb2921e7c7d14b8f6d94dc6cb77ce5edb1ad1ba500481d58425ae99a8550d3fd774a2920d96a2ceceda0b005b16c8bd90dcd42b3c13e2287ec1cfaae429a93717c0195b1a7fe62b40a4906abf2b3ef0259a01639aabd8443ff723948edbbd4b1548d293dc4ee5faa2f8b67fecf55421ea0436342fd1a80c87db276cacfb3f3868832c68f6989ea502ebf16cf97090b62fc7fecd3779994d40b93f049671ea0be90d6540f385a9146069b6c6b077d0ff912e0acf0f7c1d0aa5a5e98bbf285becdf94521a85875016c503c69d5fb2650547262e57464df5c47f33e1200628306e355908dd84d953db8f690b69f6fb69c88c39d87a233a07e5e968a436da07a5851e7ef30e1bbdeb1e2ef4008348e9d421a1433cd4a0714d6b0ea842c0adde75a3e2094d97a05a44cac292488bfe6e0742feceda9bfd3a6bde69fccec824b911cc6a064ee3a12fd7c3eb7bcba33d98aa547bf523a4853cefeefb2b95476b55c9e4cb10086b4fb4cea5dafab23078b50244aa0f7009800332ffb89799ee11625b03661cd6465f590c35ddd9147dff53c9c420b20f7bd29672e0c2ba704eb2e6e5aa35150b9265312b5ab664b1b16bfcc23e3f61bbc2092ea5200509008804ebe8510f8df70d3354df988a0b09d6492ec4d17adf4914fcbe866159cf23c84bbdf069ba6c0e20c47d8ece9736dafb9ca45ce8aedfb444865c7e47c1f4f69c3b5bcb03bea78055b29af6f0580771018ab5f0631f6ea19018dbd0b6ebfb50965297145e3294cd0f005170c0ec5069ba4e6e02c512315934f8e8988ad63fa359a16b8c0bd247f463201c2c4a467091b0810a083c00fd3dbb2f008e835e16d1eb682b8de8b06b7cb05e10b5e360d95590e9e4a721b99ca7920a7280793d88882da08884d2add16c000a4c2524653aa0ab52f67d291dc6d852253488147a4076d8a2b5fc8538f1ba364b3f9db6d8a1794d6e1e3cb1ddbbe890fb1876df494d22c42661c5fc590f169070e30a8c57a521cb08d8037cb8c435194c61e0482acbe6214407265762226f76aa5cdaa554076c7bda41f31aa85b0ae4da81a9c9b46b5900675c8128754ffde33699c498e851aa144b4c2d1e53f5acf14d6931f8918fbb0c2cf2345647227aac2d4297dd05a3033a00e814b0f9eedf7c954641160a56176a8bf11cd8e7483df582c0fdadf69893d32da41591d5b0615f724857bfa0cf00c47a72d983ea770c32ec1eb51d7bcbfc6b7d3ff714e3e5c51a9d07c706f930cdcca3ffd169e67e7f37466127f324df7424742e1257da8b4f0d4d4fa470e9e310189c7d84409cf64316a39497e794aa21783285ec3691ceefbda5c7b781915ac6e9e7e2e8fb07a450b16bbedcf055edcdba3923aa7f47c350a3dfd69c25b6fba4cd248e0fa3331306740cd16450331e950770f7358f6b47e4320394bb15b4f33bf7331d654e51d9da408fa89c79f62abde5d67d7c5a3b606be951b45ef6a21afeaa4db3491975a61f9f8b74017ef9b22d436bac07b304db715ed4dd1dfb6444273c137f1ae9a7a5a81ec4dbacc280b7e3d9c6bf15586b46077945f373eb77f512b8aa68e9207af9dd0971d0468e3cbae66f06ec86714111b9a4a6874d81067e36c62bfe90fd365d9774976b84b9359e539c9d44fc7b2034ab39e84bafad4d508e76bd648e0913dbc29606e93f50bd05df8175ffeef6d76e6dc031b15ac229db558447ac96c999234f626ae92a452898488c0dd4b7697059d74dbe2a7055148fd8152de73724df325c27a013d6ec51ea785e89f79fb2d90156e5f7fee774a9d7eab082e392700196554268cef4abd3966b6e42ba00966e20f16153365476dbbfe5910b411d894b1ee529989db83447b95956e6dfea4509e57f6322a400f6186686fe0363a3e59cc12784760aff77ae16427b12bddaa8cb2f94bc382a334543c69b17bc9b0ea0acf51cde6fb162bf412d93c34470f6c32986ad29247e1e197a37635ad0963d24716bd6bad7576653e115b8a1813a592424b31132cda7edda7106b4f2f9338042e4024635f32b16ac3e18cf33c5a9a0c42a2ff4e54819cca4250d9b2b1fdb9a00c65f816e5ad20d0c4bb23b3d75a95c20f5252e55167e6c842ab640bc79596d8f9c38146cc07b011108a9f10eb985ca0389fa5db52b3bdd69f7b9b53f1dfdc2b2ba43abbe87c3474d90fa8bb94a15902a9c803d7e16106a12b7a018fb4b206f3c9681be65d2628c2cb4a44cbd631ad0f9c25f84c1f291692028ac00be89770dfbe630f375640cbdd82dbb25ac1bc556ea61120584b7d5f49d04c44724ecd18f031fb1627864a1d8a73cbdfbdd0fc89bc73e34f5284e1d996dce338a823541d401f00c67325dd84c30e8a43b847390b5dec231f066143222ac0de15c05a0b845a2084c8c5e5e561993f9491f639a0a3ace2dea21b80db4974f0c67dca6d4d38102b73aeaf28f5796584d628a7fa9eff266bc35ed213b2d544132e8179f2d1f4094aef429b053bd621c8c8fee4d5185ba3af91feec82a5588056b02ab4883722a815de309b073c05d281e33fdcecde25d66934081ba238b70a6a0988a065594a9deffbc8131366276a971d33c6007e6e06ef2a2e3af1165e944e9f1da0f55ad2dd4848324684cdd9908490a36b06b2dccf37bc017f1b5668d7c836fa0a62050e8fce7a2b86e4cd6dba017b7dc9de456ddbadff5f9c4f2b3baa9f25268cea3a0961bec2594fac912349dfa602fa4aa46bf5c38c3110769bbde0550ff477d30e85d79f6fde6f3c4d480e49faf9e0661b92f5d22a30a114f2c94f18e4ae75007fdbdc917f98931d866812d0c98e0f1a429fe32d84c38a6404cdd5835b3bb8c659238927c7994971144a4742f9f766ad78bce31966b5d96aa929d595fc94e0c2fac36cd8173cde096f86205826f178d35d97aa42da7e8d00f111392f5d88b763d0db4f1d733d3996023c94128edae4178d9c38da21384f3af39db8b9e1f585387e633f58a366484bba60394cd1b53180adfd427f4edf5a770a9f0f1504d10d141ad6e021161a0562be7090695051fbe7b30f8b1000afa9f9a6947a2499cf19f00d1240ec0076e3395de9c0d86bd13e9cfeaae506ca8d8a8052ff8f89ff952bee2777c873fa7bdad9d0b1835f04138bf6a6cccb3ac61dc6e1873d2176a4e1f4e2588716756568a3767eb8737b49516fb45c01419a21c1b329df3172d62dae2a5a991c8dbd4bd7dc1d639f1cd00c31d4aa65abbe9db0f4daf43a7876fbba005ed38cf2b29e87c4f288a6b1043d91a73e17008a0e4e969e2820a6c99c37ad2224210b381a5cdc5d1d4703380c118480a65569fc7d6d000265531256543aa4b2180b604d358ccbf30b5a66ec4a3ed09afa4b2c5b2791f22063cbde1ff2760f5eb7477555c1de3e4f4a4f79135866af9f5a1c4384faadd067f49c9e569ebbde6f4e9c56ce82c5c1cb4e5731a8e934b1fb926a9ac728a6468f2f645414eb066e6234d9a4a0d5dc5cd6c01abc4aeadfde3afb01bf63f5f320ed61f0c6834a94236480e1beabc7d29f4fadbd4813d06f33059adbcdca2c8fee5ecc93d37a2d91f89e00497042a286b7a7c77fd86254b9674a2108da236c32fa0674055f8cc7467f10be6dd3d32361b855021fadb28ae21667c51137ef3c3d718832ec61d92a16ee226531364d11407bc4f1aec106ade92ee2732ed85ffdddb2e16ed5e0fac5ad0374f43680136162677ce66299c1fd13f430b5b2158532c14b98c2fa3845794dd7153a1385fd9cc422e94f4a5c788cc064035470df0a9ba4ca4ffe273367386a9a0d53b189ff020fa4b397affb30ebcae2adb321927b2eed604da3f8c6942375518baffd38665759b0bbc767340a301a1811d30ccb4009f6e0aa4c5bb794441f2cf90ad917047f7567f4b383f387f78667b01cbddf427d2e7692babc2f8d68610bb2622cf5fa0f49f3d75a65977fc48f08c9655ce6b11289aa3147e2cbb70e08cd7972e125688bf639c7237f4b850e365e899291c6f9927cfa673a76ae111e11e0050806688d0f238b99fe6f33f7e08d5237b04662fd4c62e1b5cc8141689cb332b31ffb7f27d349e172354490197b3b286e61250dcdf8da72d635cb6dc7c756ac357c98b4db34b8733f6269b881736e5565ae0c983d0b8434f20fcd84bc6d21bf9692f949b457e000179f93bc2d8b5f89217885c3c987caaf337d2dabef38ce3d24f6566f5a516d81d2932524faf30015a61850270ef41ac63eb7f65ecd7182cb2f6619bd2a5e8c704da1ab18111146505bfc0a90ae08eaa22c234b9194a9373dc809276b6fa959fb729078231a0a0565e6b26997dcb968e65f0c82c4675d1eca8ca3bd9f6e60f4229d58b452f4601fcfee2fad705cb54f49571df8a6cb512fba86b59b5c7aa6661bd1992fc91af4f87d1216d72ec21f8197aa6eddf2b3de8adf48fc7b01d35ea120ca35b3cab4b1a71fd4976e664e8c234c5420ff7e152cfe6e8670b7bd0ded6d0c6fb63ce1ca38223c7ee66aa2789dc326b15a354446613d949561beee340983c96df2a63f1a97e21a543f6b62000c3ad1a1cc39034bafec193f7e4bcf6183089582598832f46ebcc272cf1a3f82ea816a3f587c8b08a0d7be2cf15c17acadbe4cdfef5eb08fbddff5e3945cec410f97e9c6d046de10e37947dd55c0ef1c6208760aad8fdfd4d553d525e011399f0b665967d47cf878d64320f63fb98d9a997a72d153096a0cbb59a7a14d531392dd4e185ecb5e55cdb058dd7502943aafcedab84b336cbd3f58ffed6136dcffa45208f9c6c6024393b8aac4bb7aee8887e7190ee4a0ea83fbc7fd68de93977e4da7a223293c23a2ce222bd977319bc074ebdbbd62da4e39a79ff5789253285482b3c7a865214a040d1af720d58955c1bd68556f876df994ef067f4a17fedbba0cd7b841ab6d9cee6df36d1fe686afe17939285d561151d6903385be4442b656d3e55f18674214d74c449773ba30890b23ea5b34e0205ca43107bfa0422f3768129f7886b165dab1a6c82ffa1f9b76f79711af2cd7aff608f4cdf978a1a20eb39a817ed149344b9792862d05cdfa3c099d726f2b92e8b6868743412259d4ba107113f46811acbee28bcb8dced3ba187f25484d16e486983dacb7386736f411218d069f01a0b2c720fb939c296617cb5e2222fb86a79ec6b2be225b632eb441b3d86971c656f74af339eb36906dbd92085183e16c8743bbce80a2702e3298af8b4cd5e695c0e0ea1ced172ff4ee9c30d69684f746d40992b1b60b51df8af79aba111f965e102769d49012758be5f4864844bea97d190cff0905d78393f989c57643fd6ccad488ef311772d0b1905f33ad020d557d4e5dbaaf7c21bfe1b819d54fa7819b0d532938a03ca09c48b071367646621867160b1efc81017f7e926a4be2d290c32d9e60af047020fbc52a11203e471f55effe251193d6a2dc336e46e771b301f479a901588d81ca64a176bf03db50e3b3ef711b1814a5fa28d45758da5550e707e9f1433d632f1bce9e90055ea4b0a3fc90999cdce4d7dc517e47c8280146aa268006b0522b73be21ddd4b1d702ee882115d843bf73fe3432868e8ffe11be02f7d2b2771b36147ea644d0b5da75e3601502898408d97e3dfb75fc35e6f6d403d0434e924634f462aa16b811bccd24bf6dce1aed87767c7545c51f8048060ab335ad34f35aad21cffd8669937ad5431799efca307840cc7c6998f71ea452475927b574a995455ac77b2c3885e7671083c95fdc22d4756225a5e306b0664993e14651ac4cdf97d8dfd3ac27a64a0463bbfeaf5bb4e4bc0e82f447b50e70956f7f75b5fdd28ac5fbf3565943c927eced29ce890389be21c0b7e85ec5478eac64b689e60e2cfae54c0ae24df65ae5df594e54176be49e9e7b1c50bc738b19c4b3a5ac303a89fc253a13f8806b84369a6cd418a74440213dea6089c4d7b309da7c20e02e04f28fdd90164c6027b20d239cf847d8161a542b778063e6a75215344c83b127f8a5c45d1120bea6fbc3cf85903b3b07ccbaeba6d0b27b9554316fcb9925b0e45a6be3cb43cd1a5be365cfd75fc968ae7b47397c862e32a8d4db054f405f93f9787b363d9502c0ce397bccdfd4ad08f7a897c53273d00122d551173111cebae7b5cfb921a524ae27fec1f39e228d118274d36800aaf16e5945495310c6cd72ab442df19b36466530f67db9bfd8d5395914e12a63a33d51f7bd839fef0700a3734982a7ff3f9bf3ebd49c5374fb6181cabc3c1928691c5b5406bb30b4e5a4902b3933fe30ca4ed02e207d3012656fbc6d46cd3daeb3415c4a4a999ae6fcaaff2c8ce65275dd5f52a9ec6710e8ec1fd066eceddbedf276e5c7c83ddd9db170897cda4a3f65a82cbd9caa6c1e06cbec3fe53ddb71ff82017ed86f7efded20bfef2bf017d47fe25d16a97fb1dc4224a8dafab4bc199f6503ea12302a8c3b51e440c2b20e194827adae1f20766f1b6d49d8e664eebb53dfd79815ca5b97e801276addb99316ace0dbb61e17498215b87baf31853eea78ef0a3de37e272e6fdb4e8589e7be9ab6e6df2808ced61a66ec0a977577b531615767caa0b6464e65ac8395d74829a9364aca222ca12f812ba926065890632ea72b4cbac44ed0328d7f01d193b3f75c2ea4784ffaac2331cdfffdb0fb24134dcff6d32dbb7f5af5abd1c3bd0f1c22e8aaa06a3b3ceaed6010482cc10441f59b1374ad6dc8c47a609dfeec6b569d8ce138decc28baf7a52f85504fa13a3495600cd62f6b29ad0ed57cfb2e98c159ef0408d3742ccf441fffa00430fe0279cd5a49fdd9c552bbfde8c0dbe1dd5db487d6c8061332e17f735bfc3bb378ebd30cf0f4f9467446fdaf6a1e4e28dc3353406ce645d59f4b363c676799ae6ca110ead8558ea91a144980ae3baee5ba8ac6349d0cb3018c49d5c518a2368fb8eadc7282c009f1429d5f9babbc2b578cce1616c3eba1f7db14f6ca3ebd0de73c6b42af9f476cf535b6a84d54b2f7c16793e94b1f84abb72384808f364d404613d8d8dd5b87a1dad39594fba46c3dd482248f5df9711257325a60a2cb7e1d3475214d5462d4c9eb59fcc74719de1f627899977538a39ccb2bfadcfde36052b700ae10554729a69a6dde49ffd59397b0d8245bde67581e481e3233b35d228a1603cd00aaf1e3141eb965a41061d634b914369d826d692135069b04d30e2e778d7bcf34511cfc6bc6cce748ae27410caff53692f0d501e80ec5d3d4ce3e5304f2e273894ecfa7a13e9fe6e340b0200a35d6d22a51ff88a15b76860b6c852004e9e385d24f002e34f1f5529ed2ed8added18824975d87d758d1b10ad35f5d7dd667dc117f9b44e30c3cfe42c977281e300a0ce7f68eaeb867980113e0f1994ffe02dd19467a969f9d5d4bab5673783e0670f02964e5efb1e96d95977d9e417dea3fccc2241f7ce2c4f76b8b2ada3bc76de73f7f4f0133176ec55ded3e7de8e065d7d6b037c736d8d1020ef6cdfd294fad21dc024f0da62e8280cc2f9d46a038956f4576cb2af04b34e080f94beb4c2999a68301dfb2efb05f178a3cb45edfa8962c7c643098cebbcd51c80066d7fd6342b12a6840047173d8ab12d3f302843504189cc70f5d51ae234c3d6f6f9f19ec634bf14154161710eace9b102deb57b91f6a0d77d7aaeeb49b7d3848c8fe2df8bbfe8cad06aecad20ec3bc28a394b1a740cb4ba9c74eb40423eddb8cdeb823a915502f77b076dffdb1f824c4ab014f4ab7ecb9179a4c591f7efa24c74af21b9748eecfabfc00b42bd1da297f4607ae9186bdab1eb9c2298e48c735662b1fb601e0606fe598d93dc173fd53d43716369863aab58697b0dbd74e3e3ba5c4ccf0d3850236537f839a96c1027cb871ce72808e2592dd132c22b4ec7af153b1384a589bec8038cc1087cb2f5e65f5618c1240eaaa56d53e161f62def392572274c5dd2bb8e45f47e3a5837ae4a7431c09213fd2e131efb77d979eb44b39bc27daee37f5021d51c33f1bc8bef6a1f3ea4f6955ed3fd4576b6d87517e61eb67c8baeb0e6eec9df825aea765c9ab9e00a29d917e6a9a33e7e92e1c18d1ad5f249a77f32e573077c3b614cdb8ebad94c828f0b757ee3eb2ec80978fbd95f10dcee8950f557dcb283fb0880b27a7d5ce1c26f9fa0501118b7a7430afc015276284e4e742aafce1a274f0e55df190bc640c4ff69a5675d9e85df5afc25ffbf2ac7da79707f85bb92ee21429dd566c61f324e7ef26c9b1b92d8beafd975fa25d2bca704ea7f927c12acd896ff0aa2b5578bf30e898e6e68ab6b661a1a5178eee104621d31916b50bbc8d206908c0d8d9d2aa7b413c4dfc66c04c58b06f04876eecb4d983d33b5a9cf10a657fd8c3d7ba2a4277002424f0a5ca8a0cac331a1ce1aa7a53c25d0bf5f08bebf77159320d73841638dfe1a39ead2cde6f8dd20bb1f6c321dc1390eb0c86afca092e81857abf5bfd3544d58a4180b09d8fdbbabe66fe63db76207d06b35543702f29fe2eb5ca358e6f4e295de76a89e93e88f9259ede7dcdd1a9f8e942e2c0c9642f2c09d8249384a8139c5837d5aac23d9b0ebf3f76acbdd4d6f24177aa8d1a9feace8f7044e8c2a8b15635a4d4c10fdf5139f6da28e9b4c8b1977a2ea14c5357fe98bcc690bb5e2fcf0acbd6e3866b2b238aa6144b9f575eb42ef2f20af3256080ed4251d5d172a6df176e408d6c41679325a9761e63e001276e243fd2f737827b5b814f09864817a46978f0b91d5b137da1e0d1f44721a66e14c1f3170eaeb874f976cb3993d5f69da27371ec87b29c475c664d489e802e087fa5e5e628406c7476d667f2c927341354d2f7de2929ccb7e0e095d4671f8ab3f951aae0267efff60fc0394d6aea071b1ec7e1538560d9800b43fa9cc60782384034e629c527859f7cdb36f7e70a33c025d17d21b8c94f75014c06007e01cb8df5029bc738c7b62bfd6be066ec18d4a279460100ea68eb860a71f5597ffacf3dd239cc7bfcd15af4eed6b2c06e8406e9dff6c4e1bb6b40a84d63d67268b077458c0678dbdc3c47f5fd5748fb09938a42aaec7dc2518b0bbf8b46aca162295f3eed5c5149727c61c1e2bb4d39735e9e857b1f86c2b1478f02b37f029ed825e6b7cdfa490fbd9c4495456d3f4130a1b05d302d57a1ef906455f7e5d699e14ac2a89b1170f6d0d331ee9cce69014d08d80ead5c44c317f4812ffb30ab638f1462337b2902b2fbb6d2a632cd0b08358317664fd4983aaf534abcc6f1e1e5ae54c7145f0106cffc8b7bbf887e7e4f5fd43d66198e5662ba8aebd06b1d452ca4a822a708776474a06547e6cd3f985c52f6a313dbd1deb0f39949825c1d0d29c0572e0563740f27b2482be718ba060373aa49785ec732bed3f8afbb4a7ae87c3f053678dda69806698f250b9a1811ae4a9fad01aed3734a51d5307cf3dd4d749bcc9e189fd94ef48705f28c62a70d0086d8d679791f8568035b36574ad4e62d796c7d7fb171278251caec37e7c7ad6f8c2ed21d0ca198fa126e02b000c44adc99e5667d21ec2376aac46b0092be19d5b32049b70530531a77e3271f8b22ab7370f5db9f4d17943273a27eb4be306ddd4189757cb9b3dac3c93bde1d692616f5b479445c4465cd3263c5ef5d311665ab3e6b234264a2a4c0c7820e54208225ca1671f2550c8301698b1f7c8fd4bb0e8a7e9ef6cf1819bd233e4935bec429c49fef26751440f7faa8ab48925ace206d650628e0d0f456af3041afe6e587e0288b745c4084b59e2998b6232fd4e51e47342072e751befc04b76c340810c2d17bf270fa8efe085afc64c9d29aef2fbcf8ffb7fb534925ca9d62b470dc6b422fa82d242da32e82e49da69c6a137fe146818872de5fabd62090a3d14cca37da7d1fd6f51b8e10bafd7d36835881795211e19d6d229ac9276fd3f7de087370178d1074dfb95497d63b635456f73b7cfce63fc3ed353fc6e01b5739a0cae35721ce25f4ee1be7421ec81b3d6d61626e45229e0f60ec84fab9881960640abd0ee5e3ba1ce2859c74e9e715dbdedd22b1906fc7f2230253308cf5a77ab192e411a9f5d92744984c2aae5186de78b5720f73ed61a04bad409de3c875141c11a4c48d92aa36bab181be6b0fcfc5eb3eb2c7b302ab1f03792b41b9c4c4efee825e6da4c1c17d469e024180f3ecf0c008f908c8d5b3eea62168f0b4069d9b06d8f32a726d136e4b72de74c3c8c944c174f1a024e06fbed70a4dd977fe58095683275cc9a049d4f728eb6291e0b4b376a1a0fc41e41fde1f4ea3fe96b5cb76f893a4849c46a977c983218fbfc1bdae560a755dba4848f88fdd0b9a2a5eb1dd244af26e716697b06ae2de5675a459acf33560cde4148f047860fc7032154ec0af01a3987e195404077c3be6e9f0e89c82b5398ee63b59ad0d13999e34ef8c12b755974302bfd62328d6630928dec77ff0362737dc10704a71a2838f74888915df825927a547b1b0d213ff6bd35b69c3a6f9dbcc656644de77d53ceafec3df55e36388d78de57008b3c5455853f367b61448bf3e991618fb8d34c34482444e3db31ec7e6851b43db88fb05f9c729893960d2736e6ece9f64ccd5d370bc6622777e094dbc7edcaa8e6e1f7616227074d856ba40aa764132be9b91b77b837187e40effbe57d58a5e7c197b4944260e1b6c71f0fa208ed9650f7c1ce802b9a52c65f1762b05845bc8873370ace1fb1bf487d3e1a548d4193602a9b4a7b585a7986fd679670c33810cd0580e1ea846710905046e9a26eb8f369e3c203dc1f62ad62d39d0877a13614902d11269950233d94ecc8abbf8aa970afd043ce0c4e1e4348193c0f8550283ba99df19c3ff371fa338a3f6c73f5568c098733786cadfa4cc4db226ae7b887b3a922d4ba1af049f9fc771cf911adaa4df1bc3f71b89eedca9fa542fa4a1e03702f412266382e1dc6015646ce1b5e4e9e34405be3c66cf5880b69b0feb748d9dbfeed833a54cae1ab0dffd60ea9ca405d257194d5cda121cb80902c725d2abcd01f04fea20cd7db9ccf36451a022d03a5d9160a6484b7113ce5f0d93ee9c32a4eebe431c98af9694457a6bd6cb5f905312330a62f922f3f312baf86ea479fdc0f6780a51bceddc4d5ef6dfec0b45b60b539d86cf63c451ec48157aff7e3d7167322a169909e16323c5a4e0306f6e318ba2431f75f79d02a91d28635bdf7ccfdca4975e6f45cf02a0b4964d823f2f295876965df25e9dbbbaea43f9ace80a4174121b60a908de2d644fd9277d00acda0ad8a1426eed9c8ae59399d4dc351f2cf1eb3dae4be11795f6e23d0387ede66aa85208e0bff3802538a16afdfd0b63f643dad1734fee58e0e0221f5bd0b0481f60becf980b3b247cf3a877d56f0a4b34d37ec19a76d0206e9da973024b5a4c8177f4ee13987841b3eca701a7a0c7eb756bd7f99d85738204860b5ee44495a867ea3b077408621ae10f9c0b17fe99e3f5c9aa582faf886ef372f16d8d3d15c77221a347cd11bd5472df48bc70ff0a8179b10026629c5112730e5c4737aaf0fadb6dcb6f08cae688d73ff103ce4dc0a73f17c0bdb665e0cd1f44d642b3dafb37cc7c1689cdc34bdc7653349f4f86595e0641a104edbda8e855ce86116b3627d5822ac65587a6fb6ae01c7a952bb54911449d3fdb0c0468fa689ebe64e3382561b22d28f5ed05099fb3ee0d623269482006c337387535d507cb0fa0659fc28b81c70d791e0ecc8084eec8e922af72aa546e98ad67170f7ff1bed811615242ef920b1783108e347a30f45dd57cfc5ead74d624821107b8dcf4c37fc30844da3a7636e0b76cfaf0e0483661bd52323555e8952292d15617f30090d5a6ea40719f63a56b56d44e43efb0d3811ebebe27f1feabcca731c43f20422835a62d3965ceac1364a665d1f5a92e626fc22a987e2c7024b1a95c098921b9cdc7b2a9449d8656f08ae3ff1c6e19075f68a4bbd8ac808ac5c68074b41c71c1c7c1e5b63c31e1162d40a75da25314016e73cc19950b906133d73d7edf131020d5c4648bf56085af395b4cbf6771a9922e5d7c25005ef014136a472555bf851e46c7f949006adb05a5779e92a7067e6a817c55af37edfce3646bed046eda4480bc3cc9fb8c5e7c5d79092993efd22959e6cea9b458b76683887a02ae40cb1b96a5f113712b9b98ece44695cbb7405092887f231f92aac93540f0e47174ef73038a3005f36ed65fbdcafd53b766a6eeb1d147a134de426a8da6c498315f85fd46ca95986d1ae83d972115063959a20894d4083fcc47942cf21e509e04d681b936619d2926264391bdc1cec126706483984b75f3afcdd95662bc8bc2f6b98057211e93431a7afbd643b5440647929bfef4faea610cb366a7b30e4cb842ad6cd7249165c3f5453ee12630c4085afd7978fe6e8b9c6a0c68f3118eb983e5127106541cd11d8c03cfb0879d22855e05150116c576390c70510a24000d0d0801a23209cb267b14d2a58749743c49bb12adde3cebb69e1f67832cff6a3721ccb5244aa45d752afc2b87b39c5d1e4b418537aaf2903b5bbe8014ed1f40e24ad459217075f78cf661c4157c95e464d0009e82e073a3b121761dece82c85b58c210f98ea3fe192f25f964483913ef0cbf856cecba3ac1639b90b05b3bc67d1d3d984ac506793ab2c989c1bd957eb0378b5556b5e19575ab390f5a0216201ee47f0232fe357d9c99aa25b33ed9ebc2c4f634eb4617312c6bde136bbf10cf3e22467d5b555a1d8c7f54dee43c343f9ba54aa640012b4271535e36b012e4c4aef54cb85d43126761172a6b89b9735ddce90fcab19d2238b49fb14a32aab750889fbcd8031a0fea3f47105020e295b055cf8ad788633998daef381a49adf1e5f8dc498fbd629a69c5ab87bf42a06a36c8942848100fe847bbcfc31f0f691d22e289996d2bde115ea8acfe9ceaaff34e1111c2f702be699f4ef744c415389c641807e28eea864fec79423d7e075a8a132253c5edfb924e073dbe9a302e0a68d070fa35846dfcc49c7889cc083eaf8838d864f9b5f4398e6a4d70d3a61dd6ee588d44d8d024b8ff3a68b0cbdd946c2d3d239cdc56f5977fb461084fc0a7a096e89a400f835369ae2279d4db45af33341863a68d9cfec62f1f2990412a0506bab338ed7921659f5c48e96e363d9b8301c4ccf7d6d6b122311a092d4d528d8dada5e2b47873459e0d5653292293835b4ebb10eb3c5b98a47e8526c6a0de49264abfff68d68cb5128dc69f54ebb2ea2f8cd42e43d73cef029ecf17c3fdf64327ddf88a7b4073a05467f3bf4420ac53a6bc5ffe35d9a448fc3d21cafc07e68bd708e05e13d52a71469016bf9d0e259bcd2f8c55dfba71c0fcd774d7aa88f888b7c0d5374a785a1a0243f63e32bb77fa3378b63fbc8dbcbcf72388084dbe64653bdb37aee48f493cb3ecd5093d62173fc8177df4694b0d0c496b8988aed6fda5a2c9ffb5dce85220b874af09c8b670b777e2fc8614c226daae576c0baf629504bf9ae842a7c613de6388054651dba4136043eb52b72a8cbdd33428dfc276506aa531173920ca755c19734f06d8ebe3801d0e777f04d172f91752542cf9816de7b571547729e16bfb5b11af19b692ee3612e16cb46beeb6669eb4682e781b8dc5bca4dcd648911f38788bd85c6cecd3953a7ef73245e5721411c690bc65a0888ca5793aa7b570810cf6ea6a946bfc865a8b65ca81727b320169e1b62aa3ac24f03e67687554fe95dc668890089865ec474659a02ef132bd88eb92dbe627d6920aca8f8f536fe8b7e815e4cf07988dc3ad6668f498cc3f597fe91c8460e0353c818ad97df6669d35161882651fe57aab7067095529c8165c406c8c4a8a664b8fc8f81abc245f8139f6f23dd32c7915de53ad190ef31f48ad033b98e1104af663e50850f49106d62777399b3ba29c893a3511bdf24bcfa62150f5d13ed239baa656d60fb1cd002775b51837e8dd413dd4f54684a7dbd20d9b2dc47a44a268c9d93a656807525f75c6331f02760c4276e4f0564ba409a65da742d89a7f96f7d5273fc258f067eab6617d4ce39a3684967753818e65f54d42fc40cb838b479a41c309b590ad8772e41d61bec2ce71be9e620e57897a3acc7e37ad423122a4cc676855ce0fc39606c03d284613b474c4ece6927329e03539dff9c5d721a02d630d441ff98bf5054bf3f81e9ce27b81263d54fbf59331b5d896664e97ad65fb0de38d1e57b8c6eff57ac1fae1f073d0341da894075a0bf24e5e49e911190bcfc8490abfa4744e6362d33ea416abdd053ecfafeeadc6a01f461cd15f2ac1f7a2733d9bf212ca0240345c4f81f0bbaa8d5cbdb250d443f812ccde34528b7ce74e75ad830b5fba5541574f91ff46a41438b13bc31bd829110592b65aabb257cad271e3b93b51028d1bc65b0a8b5d00b1f0600dc8debdd2326241bbf5e4823960e9226833e36550da075447f21236ad89c3c85a4e4bd810c7f4a84c2aa7ed81a159a8eb4fcb498b490d50673ba761ae597166d5f6b051b2861166b3f2a9defcb66744661043b851bf17c29f7c12cfe9e6c8ce8c14f4aa57493c218975a74a2fdfe3b60106189b4ca39d2dc85c21d3788a5dde309d98c2ad2ed8941fca7c795b97b52f7ed9f46948d6e96e975cf946c193cf769d59f1fc9020070fbeb9c29859b04050059bc4eb0fdab74320967a67eade87fe8df635bed7fab801ea01b48ec474142bc7fbb5ebf3e38b33cc217d71ebbd63a1f2e00e961f126b3c433a83b433c48accbe4832ad51c14954703325037afbcba43ad71a45a1197cc5214e4e01bfe22fabed5a9cc9b3bbafc36e120ccb433b5113a83b6d34080cc71639df0cb2b82cba481a68fb9b90c8620477eb99431ec0bbf7cf5a4f07810d9fbd3ad021106efaad52ab26f577ab8a18d8267f6aefe636eb228ab030911d5552a96fffb68f13036582ab18026e617f3a626d95941756a4616d7480d7cc3975c5af6f41b2abb54d44864a0a0911778128e5c0679d8ca130a0985531f16b00d72141e8868ba0bfa16647b923846887008b4cb08e62398b97aa62e6321a83b3b23fb2290ec4d8521df56e12eb10c962e2f508e620fee83501e6bbe304992caac1403d05112d35cdda7e666efbd909230e9a14671a262a42a03a20c372ecc0fae79c8adebe6b00a21840d19e0a85f9797137a2caa556fbabd6f6066e28c519cea3e36b6dd4d6d25334040ee1e84fb9481aa209f086ec096e686491b9e16f5dee017036a83a6bc80616c1fb43133d7ab1f0e1f96ef6d64bc3204ef65b7831c17e2c3f98da154733ae41c0b9915e15311555cdba1468b255640337e1d9d9cadc7c4a9304348f11e1ce6ca54a98b697ddc42d7386028df2c9274f56c3f4ca61cc11db75ffcdec879f8dc18cc30e5e9778096f75edece0a845fc71efe2a0a2dc1518dc1f2b02ff13d45d84a5aecaa92019844eeab84ea5e4eaae17fb39f56b4e333de06d2b68b4461666ed430560a0b7270a0d5662a46529888d31e582ee7ec50c9f7406c2ecb4cd9e570577786c4395c31dfc6fca2609793585c738379770006eaf0a28773f431ed4a573f902be6e4ca543405d038bc09ca468b0e2ee4888bdfeabbf3dfa94923662adce8f6326944b3533f0af8040d6aa1cbaf70e8c242c1ffbfef180785d9c092343445ef977264fd0cf7f47987364d8f4264768fbc0949ab772b943d55065b8ecc1c8a6ba0602acd24b36e58c128f509fc1737232fb5df552c0a3dbc2acad08c9b9ef6f2758b09ae21becc381565f6baeea53a24be31c9b9600a49fb0767b24c9c58accb348918aeda537a4290fbd5bc7ff2ce0af252bbce31e74d5bee9702db8324204832b7b10b5af671d3b6bbd1c0ab9ecc19099ee39249e5a69120f61d125c796a5bb02af64d338bb373298cc6392d5f55c510d7118fc6f3730947c3dd898ac4b1fe3cd18b1944330325df93f8a2d83c952588c2561df96d4810a8e21e3099702719fc8f7292da4f4f70418b31c2c65b5706f94d3491994f4334a3e58abea1d4e6ee153caf48449f320fbdb446ea4f67e6f2ac149df1633aa7b5e519005a5e5c2dc3af899284c89bd7d714cf1a7d7f1287ccd2530af9a593673545ecb5fec459db7840936d2b421db560fdadba51036e649a6872d5ce865441c86f6b4a052c4b00bd09a690142aa9b6aca8efbba86ba5ea79d0ff9c77df65234ab8417ea8d574e522236d02486ca95f4e55e061079997ef2b3772d394d2f46d5ccd438c795d49af0d507391b53191fdfb5c245775f4fedeece00affc690d10eb9c86d568e2366fe328b6bd1e83dbc49fe5c0752bbb3522d3924dfcebb3b8c0291bb8dd249c98b636bb4da424d0566b143c5d7588e64fc9f2815923533ff496933f8e4ad9c6e18091dc689122629f2009672454fed849f7f1ed648ffc6ea88cd80dccdb9585905eb34fe37ad2dc739f029745c3048ced77aa5b93fe8c9f9a791201b9f09a735b9f6eae119a88f8ffff24b99095594649a5d3e1a25fc4cabb631a95afc389269b72fc9571bb069ae1428adeaf3cd4885227a3129e2e5a0b949eae71306ef15e3c1e2cd4a35154bb4a241dbb8008a9a475880f08df03fb6dafce7795e3309ee37a3280101c45239894280418ebfb4e6bbadcd4fc3bc26237e2eda47a80a90c1699b7c11c263967bf60cd860014b9e0e2ce023b8b93e528e7774cdb1ebb21f0a769c9eee72874b39d46daf9bacae8bf7a0eb85e877c5a19538f1dc37d2390f4618e371d32921f09f53326089dbd0c7e5c41af0dd45fb9cf465e6b8d3e9fba381163fdc6878b5ac307042f7256dacb18cae224474900fdf8ad1cbdb2e03eaaa68cf7df12ef02559910d4059f9706599c832c06446cbf484cecd9c396033becd059aa2bf8b98a6d6b9fb4acdd0981b1ed2018236e0cd209229fa70e9bdbae5b3a69168f362e620cbc42fabb711fd9ed1479043cf46d5acb3ea97c22420e2055bc894f500a89d1a73ecb75fe5ae98599fd31dc38f462ab9870ff82571147383404383e44f61ee241f7c04ad24be5523fc2bca04ad4571241f2df97b41b4039889d06f5f9b4c0bd82a95e4544f03b69c4f14bc5a774d7dfd55d44cec2db1f3941a4f98ed493ac7347bbcdde07ad94421aa84237a180e9c45f90a77cbd974028ce294a00a1d688c3fd76054326ffa794d96000271ff314a9ac57b6e25be327fef5945748a0ba4e4567ca936cb4b56935379a8523377dbf0d758a0c4b34b38f9d502dbdc4efee805b3993ebcf062f25c15e3d49e8e381538b16b095b3cdc5ac12ed4d91588031b93a8111a4da82078a03ea569197ae7157c00a0462660a99068557206cf00796afd25b57ac9c031b2904486fd2cabfbdf6310b409815e48e17bff96a0ed2e87ea1d2d549f7b9557d98e2e812d460e9e75c3675d1ee00c70cf902e23d2819f8df6bb480f445a61397031e3a781041ab7c4daa55ea2723358a91a33091a44c760346e8d49404c9e719bc3d04f22e7fa7cde4c0f0f0e5bfa01c40043ba5134a1db52b7266403c9fad0fbdd91e421b6b4ed9a3abf5d456aaa99b1441c3f0843bd211b6e62fbe57ecebc7c69d9d34c4478a6fe588cc8fbbca6aef8d997e183785e2fa735b3c61e944818d8c9fc52a28d35a992334bdf25ee3a35d01d32e6bbde7a9606a62d10ced56574103e6cf8b044e19d541c197ec9eedc2f85c7bc77d2d78a099a250d6bfddbd232fbfc24c011e2af655ea7616308be3e49e4ad7e22710d55d2320a1b50417f8326be1ea4177bfaa7e836d144f7379fc243dce85c541367c27d283da57b906c101f0a7f8e75f4b14577fb1214eb46e4ed4ded92f5683ca8b410817c1fb4e98901813f4933c4e7991297c6195d687762fe46b835fd5b477a0238a972e3d1cfe882847896713d6cd9834e1011c98d34cb60d793d77588093e4fd714aad1d485c145b01d3e28052d558c413d943b402eded983f45fca92cda877de1fd782277809f634bb8eb52a83dd3d35995096688f1ea6d8653c98b997f55c6ea2539c1f63779de49087be29bc6071cc1aba954b41a050d29f804f028a1f98ad9ae81b7d6d33bd990ba822991458fd77291da7a34abc9a3651d090558e31c375fd209aae2de668706026a3f581d8947f9863ff7abbe873df577a58792673736aadf1d21a95c04cc82a15656815f56cbb072a509b304b728273fad10ed71efa6466057d282caa7fe2de12e14e24f71e13160ae93c7a3d8c78ab32c5fd02c6991f89d7e7a9e665bcf7a4e38c2c8bc6d17a84e859c76ff13d073a2676e528a9970f8f8a73b2cd74bc978033c7e7f0d622fe2c1cfab9af1b027ae21626426eeed40923d73bb0562126f5e22339a537a700065f06275b4afb60ce673bbe2769ad129c7fbcb4f0d304ac15175348707b40a5fc6ab11b5cc5ee23aee919193e4746a6279f61c7dad42c18519b5ad8e68683eab01849541577e7b2cc27de4d522977267288b8abbbd2b5702bfcd69a148bf67693bbbf0719db10776580e82ee22f2f9a92fb183db12d531aba4e5f50370fd2a68bd128acf653e86ee602238fe1b2c98f0709cf9cba289fb928ce9bb1599edc72b2ffb4236ab0b5479d44f51fb2394347a1f95efae4f88e251c7b2a31d04a137e8ca937a8c0642f3a4db764a34dd1c048d3a3f8ac456ce763e3f5c14b639b8760026c1857bf754fede004da67a8445ee21ece4bb0fc0ae8d8d297e1218d479db1990832db19d72a8a58374753548682be7be40639664685ce2801bc9c9a1bf13f631208c826fcb9cb4965067c602f9cedb1dbeeec8bfec2d69534e922121d5104c5f7561d31aa9dd0e86dfa7d9dbbb5003a3faf406add8a68a81c5a75d1f730a03d2cc28be778f763c4b77e683603f025fb7d554198ce2453577a2f4553d888af784f262e4e170c3adc996e4e1fd7ae6f3cb0b6b936eb1d74b3cc53b33912600c7d34b4d50343b7561644e521882042e68ece1f4d3e42bed4989c09572222eb47abf049e81ffe0789d5cbe728b09477f5662591e632651f52fb1ca18383ec1c23547b2251452674f27a01bf5edc54cba765acd55c03d8f5893f52cd139600da248ff95257d1a5c1b384688b071eecbbf070c2b940acb2c60d5e7a3e7ac03253a5ef19d7f3fadf8d5d608533f3dfd8ce57f13f2681d162e2be4302269a873bfe648316bfaf306aa813a5805ef773cf5de97b48d99049dc78525fbc3f72c0082e7e03cd900d68002f1c87add89e153d4dc7c7e42bc405927b1b219323df36bc8b346fccd71bcd154bcad7fe4f2623c5a5f360d073a730cbc9319663771fb89aab7d6cc2921957d5cc850142f0644ec830ae1e503881c6061c499acb326c5bec829ff92979d8fc3515e074559ff2cd3e0a8190b0d1e71a31db035d18bdab4bb55a9da99c074a3dcb66f417de12455bb57a2c83f2e3092016a9ff0e7e9d098171f667f40f23c08da7b52eb00c5d4e2ff15f42e93d282ef02df10cfb0c624efde9555e282e85a145ffbe602b80d5872c958b567f2e705f58e0a3e5a17b6208f80fceab287ef42f79ca61a3b122b339388016c6500ef5bfaf379c5d49b45a9a10ad1916f47f692fc79365b84e76396f018d2dbb8d583803d077f1aa95a8c95f8ad6ce9c133fad4fc50d1b7744390014dfbded0625511f86da15a1da40ff39fa662c60cbf49b6ca8a482fb65b5dc0e378c72470dab58952b559e73400002b36d0f5b499eba92bb4cd7807b4c2ff4fee1ad038191b9b777580f53d26775a7460ef17b40a527b4b280d91f0cd38f4924f174ba9503c628a6430ec4b7ac0ef553468009dfcd7a30807f7cbb6f6ea8d9a9a3581d54cfcb45b8fd1e96ebc11e040796d4e8f77e1b05a74326129f675f95dc7e3d59f47004fbc27fb15c84fbe2bcc66945b5ca1761ec86c3c72a61aced7c93346c7745a4032a363f5d56fcbe3596392a024819bd94a2b9629d67606d1e17dcd0fb72e0e998413a5a5ca0202aa9cd50ce8fd6e9ec4059cc37e3bd48cc43aefd3d7afd24b861922b3c892fdfb2832b581c09b3c65619351988287d036145338d08a2aebe9a72c2c719ecff65f105ea3886966c040b42e030373174c26db0dab1599bdc22f6f83acdbf82a7b81c27f126cd02423cde2af62378789a1968afefbef94dbea830aaaa46cce4a296fc9ddf68ca5e497197d4606f02953da4b905a84965044eb778ee9ea543a2131a6a6b1f4d64b7ec738da27b9ecbc44fd02b1b49e284ced4f5225eb1eb77c85b38a67d8f1eb77185e5e6017c13557f3655a2dbfa998cf0f74836a33bf4124db2b2ccf38b244ba228915026dd737da86c0be3615a860035d5dab6b39dbfeae2c2c8ea8ce9ca844368a12a759f19476fbdbb02b573c977c0338900d47ea2a54d5393537401d9735bd207db55a6f360cb7aebfcdcc075dc49b11cfa256cb28d887b3aaeef770f1e3bc17e01c2112fa662ed1f9b7f84fa4e244118d0da19215285c6272fcae58324c39d43c20cd84f789dd86705ba8ba44c574c3162293683efc1cfe883d93a6ff6579d130822b199ce574513573012dbc0071549997db7dc6ca836bd9238970ffb91afba19727ff0634767d9a32b57802ceeab2887d8f692473d7a43f21c9dd03cd0f22226ce420b22b62f79c93188fe9ee46e1c1ff0f5821d93f062ea2a0da0588115d0530ccb306cc66f4aa63786a68b9e2b45d3297ed932f4d3eec3592e5256274403fff40ec31f766a99fdfd396f92bc080bfc659d2b91bef0a9de6b1f804281f4ba9d941c9445e0a3a282dfd6ba04cb94f827f581b456528a0616a300730433418023bbdee84a0b5a57540c8b54ce2be0f668727425382a4774b45e411b5bf1316f5c76f526e6150b5f96c03fe29378ddd8d1b303a5073689d4efb7ab221027b26684b38909368afd845e88753cc5ac7d3ece40dedad91537e1fc51bdccc5bc4042c11ec04ccbc4f3625388c4dae6e9f51214ef24807d45d75e1c0d0fb5c4c25102a9f84487527b02b7f2c1106f8a804066f284b5a01e4b2b516fa1b19c1300036b15e0ac130be1e1a6c2fab469e10f315eca45cac1b8c83194d4a9a2ba06af754e28ec0298a2004727aaf1a34c5cc60203de6d1dd9c900a654ebcd14099da02003058313a526fcfc1afb26e3a08e146611df1c0ac40c6a2bb8200c81d5b8d6f562ffe894009fc996bedbd176f1c14f9df333cff89bda05404f97055a17abe81f0b952a05aa2aefe0c3de7e8eb728c34ca1b75b7389d390199c17a7acbe1ea59f643ee302eea3cb8e4c3ffa43d7ab15ade5d09c22303e03f498e8f0f41f0bd70450824bc6ed247858ef61a026f2110a45a65a9d7fb76be06ee5082f9c68781ca546a8c150f95f11137d4d4a2bb73815733dbd1fa2c24991c6555229378056ceea0fef6cbb6ce66e4bc8897975d82234af184664bd6ea4d286d5bd35270e2dd5ad59d0edbe9cba6958563ee449e3208bd57db6eb5810556a1f6c150cbca901b42066dab6ff86b56927d263cb6d16d0d6b7c25618f4420ead04fb315ba740c091df2a05537d8a6d8b50ad8faf755b21dd1813059e3493a87bd4ab97a55eb11b28ad5ae3aeb4285121405dbf64527eae6dbaa8bbe669ca84a0e464c3549397480db3ad98ed6cea4d6d21372b898c9432823324667aaa8800feb6d4440efa255bb3dc57af875698aec023e35d37fd23721bfb747ba19dc8a9d31bfdbb7bd8d4a248027db4b65a0d32ac888e847bca00fc81289f6f59d52e3781da4fea4808e092e532a8f54666f75f860d4525004f8d9c7cbc16e3bd217db07000f765f0aeea74cc6f48a0e679ca881fd944875501f5638be3d3b2422f94e9cea1cf739e564662cef50417be9e7a7307959c1f5410a6715fb295b082efd42032e55c8f2eb673931743f780276a76be0757b5964d9bbfd8ee1f735456bf0659b2f3704a59fd8130f3b0b369681acb5d88dd47591b3b5759327f19e8f569f8704288b952f8642f4f36befa9879b972f11c24b61261b20b59ec3ed2a5e2a485ba0ecbf0957255bc8a84600a936edf36bbc175eea676eb49abc19d5f61c800add42cf59ffb12c2170e05f436415ee491532d54fc33fdcf4513313c185ed783a0efae66c549fd4092c150ce38f00be81714d958473faaf92bded6198401669f063edb5914f44ae3bd6c804f6e579bb80a373f18f9223c6816e9f8e7f63ff6074335d12b518140972c2f2296b486b72d3234bed79274eb9287844dc72a34eae3273a8f8d71414fac229226d90860a8b3a935622944137f54526bd58c1ca48c2c0ea4188147f961988b2bed27b56538899e789deeabb57fde59b0feba647c20f73bed9589491a040e5c34befe6d00c7639c6fe2ec6d481a6cec95ddfec23cceb71a02e2eafedecdd8cc452d788ae35016884089b5274526c1d77d90abb523df4ddcbecfd25a332734ddd8a4f46c695c256749712b98ac5a718f2b03dbc59b0a23bb6439d65ec60e5c253a0594b93cd63c39d51eef3f2082f61a4b856e84a0a88566db893b885bc0bf191df8fbbaf9561d777eaa41a7e4da5cc09898aa6907f4e01ce36c7086e344b62ea6f450a16f650780359196d29c5e4ff8a63920e6b08d0d34c9c53a45c436bc23cd895f8b105df71096af0c6cc2bc55ac13c84727006e2770f1e323f955d90ee9988f67bf212d1641ca7e4ce7710e7096aa3d75ca1714c14bca1aa3297f768be85c8114021635d8d80b0063d8559ae4be39e267e627cd75a315254259da8482226f0167c8e86bafbbc235d7d2d59a8e768d947bec90afceefc1208973e60aa499dea806aa991431cfee21783b7e764e83fbe9751eac42039fb16a495f0abcc03843e791c58ce0638c3364384583acffda4eb2530ccdfdcd908b097064b9e5c9c14956d30a117f10a2f08de1ae75cf45e8b34ed5b6c4cfc35bec452bba5c7ff6171d94bb8bbabc556cea318cf9b2b473e285b573ebbd9b9a14af70b767860e0005c5dc933012ca401a07bae6bf3d0990c3defaa9edf4ecac5e542f2a08d7bf80d916af068686f8027a1a5b34faee7cf1b7a17e8517e9f53127500c402df7b9a0600ba1d37c67bca14e51f1a6c872616b6d5f68b6c2f764505f084d76bb310d0c7f4ee85f7514bf9153d51e8a2b27f4aa4d9b9659dbf7dde11e8bf72250ace9438b1fdf6f095e85e2fa37f122ed99801a16eb93b7cf5fae3b306ef8a0ee8cebc8334cf852d6541eaf19e03a529947c13f47b903e61c57090899f62ecc7fbff88dfd5a87e66c0598535f7da2c6d2f30e232a61d79e8dab79361463174de8556e0af49aa4807d4ae29ce0891daaa9a9f75675581b6d32e794b790a22d59a5427a4bed281c49c7eb739db3934ca602f14401b89ab0ec4bdfa2e21d2e86b1af9b5e4da8e76e1f968094586e0b58d9a67c9cb2f2be10bdf5b1932f5fc7bb94dd26624a1b226edf80fbe8a5ab9de2a47a896a2044943a402420116997f74fb56747a1403bbd8a942ceb12b12fc05a2d5d5c752f6a38b50000787b06df8664e79cbf70be8056f4ac3b0e017661da1ab06b502c53acf7cf59780c483e2b23fa121b33769cfb5d245816a406db7a192b51b97976774b2733c12a4a503790e7f32756c7692f4976b9a276921841e83549d27745fb983fb102542997133ca79ab2df3b4dbfed02eaab6aa5bfdbcaba031bfce81e276049fec0385698000ce765e1b36fe4e946be24d4effe3130823d9a356700f63929be3cfb18199d7ea9c2bebf610912f38ed75dbdad60efd9006aae3fb408fcebb17f6000f4f53fcd0273dd63d48badd56730a726ec5a95657449af2e5d4aa7f7d1860300661000a61eab5691669abe99b5435b1930fa0ba526812fd8af75481fe6d48f7c8cb64e7dc95e450ffabc317bd253b12c80d5fb682d046fbf4803a5c78ca8050d3131292b4792ae125e464ab6e3f67534f7c18b358b6e46e52dc001bd7cd902b79370e0348d1c45a02896b66decf194fcfaa1d8c239408bd7035ac98b0cde669c51c0e76db3ca153a00f889fb92332b39dd4ae71504022f6c60b3464e1bd20919a8c912315ec4ecea812f4ebcd5afa754757c6f5d3366548fbbfc0cca95ca270deba6405180c0a14890510196c281bfcbf5f11da8f4ea3875c5b6ece015397ee325bdd4e14230cdab8df90f517b0d4d1d3e1b1a46aa31e1417cbb97fdaf18ca7b532bf674f9da509edf93b824b74a853e11c84ee1ce8bbbad5f660b27f12cde400c005a1b5a85077b854d3927dff4665cd0145bac591d9ba93aa3424d61229fd83b333d1d2d6eeb904c2a3c2c612160de9f8d76539679c21eef5c13a6d756158fb3ea43743a98e2b4ad40152bd2b3aa6f48aefabcca46c9ba07d7c37930ca71ef59487a5b44ced40cdbea49b49c633b77a63f0cd2449adbdfad89b012c236dd975551b50976df1ef2d6d38861c768e5c73850fa508e9362aacff6cd69432c33b925fb2b260c8f9a6982fed661730d531d11783db3339d8bcc8fdecea9c9db22c9edbcc3002866218722a69d58a16e421b31284ae70e3cc23839607b97bba9df229e30584f6e82c97caf97b2a72745ffe7a57dd496758790651f22ee1c5262ff70d9abb923b08959c2bdeed34b5ee87151f684181ffd5abd9ecd393f5f3dbd660f2a6d3095a684a0cce149212f2de9528c589976b72062e0da2ae8716ac6cebc183abe011618538c0b912409eeea7bf2ea9aa6c2f9360a8ec55a6c0b6fe2f241b547b4fec247e2659501366dab5039b98a066558287bedaf084774220c584a3e17640f10c03941949699cd6b63b809818859a55320630d6f4ba9a0233c8994e6bf1bc7e317e18c1a54c78a2f9c4629d02761c6f8dabce3bfd7420d4bafa2fd98b087a587307e3a327fe0afefbb8ee2d876440d8ad0f297e020444311e7b832f1bcf4d24c875a173d5dff7fc94bde203e552b48ea93e7616b1a23d87df7d069fd624bc1bc2f5f69ffc12fc93d434606d58d0aa1ab8adaf746d846fcf205d53e2d6ae251ebd3b9db2280e565a78941a943a341550d12793f9d00aece68607db607a47ed64378373f10581cdd2123e75a2f17e1a25f0ca321e5e905d8be435144d889f8ac2e06763d4acde3611168d40c329a634184d0d5441f730142297ddaa12fb4ec04f09cb31824ca6e9cd81b73129ea37f698615400182c5486bf63552da89310bcaace41504954edf0cd5808e808a6857e401754dc73bd458a189353ded55b75078fc24cc6969e95672a47bc3f921cd7cec0348e10ac3dc9e9b68b68f9f8cf268a411173b6131bd6acbe7d37458d12670161f200674ed1219564e0743e8a619edf3329735160ec06901ac7504d9ca97127368667f2881275f9ef9253eb8d8228c92c2fd594bb97f7fdf4c8f215d7b165f971e3d0d1f425d14415288ff84259d5573307150333db967e3a54f34657c883920592a4aa57708a5181c33d107d8def125ba6a97515381ba8ea7bedecec44d71771a7b7975dd9ce4d5ce6a8662926d16be7128913e5e5d5d8830e3883134b6a0711a9bdf6ef6cd7c7bb1e3a3e2425bafc8d3b88fb7947514218878069fd65fb34eef1439d49111990928d0c5214e34ad1a2f1b940f108c6344fd11751ad33cf73679de1701c4cad24c32c3c272517fa902900db0fc75d968b008acd1c83ac339396addeda54e534e7f9504936522962895a9ba9139ddf22de9c45b15bf5a97a8bcd9bbc42bc17961e587bb7c5d9afc811e8a775a8f3c7d4be5a0e7bae370e559b8a50b24678cc9fdf3f2b905ea7dbac6fd71f59341cae949c5a89db95272312ca72c007afc5efeace2d4d21503bf85257821665fb7ba2a59e8fcf28927c966809887e7d5d72c239b245d45a84ea4524f4ebfb695233a54f6f6c5dae003345b8c6035a87762e98b9a37f8782b149d6b0658f763a96c7a8cfdb64831012bbeaceb822f6413fa2c940f63e1319ca2e66384a7de0c513ea3385be854201a74b67088b5ebe2d6a62c27aeb2fe0aa8b3056f1b81670691d49adb3ae39b092953db330a692da9cb3edddf1710b956d34f208a68a69784c553f4715385c7c72508d276c3c3d5b5516694cdf3e5307239a6942b7d2c93bffdcac84cde3bdc1c0ed455922ddf56db5e8507807109d4ec5142c715659bd7fa9e528c129d640dadd906092e5894475c49a3a1c170c103766972cdab59b8dd218f36c018fd8feae01c59e979af5a21ca015a947ee17a2b97f1c6194734cfbe132c98ad04c39e225ec12eda77838b800b12f67ad56f266e767942b6f621eab75e12da3e521f8c0193834f289b2156af7ccc473c820e276075c268adaa541fbe6b1470503966aa74f519a911c78bc592f04994ce313d72f4516010c88aa70c1d51d7d0b4f2e2d47c2cc802e21044b9546324ec160ef2595cb37d9f62fff24b2cf57dbd5d319e5c42e2880d5b70d8b17e1288dbc11a3050fae4a5e586574c7a8a02e75d322a4266693941414101d18c9c2d8262209d1b82e2d30f35384e40eb34fe76913358289a2f304c6fdc671a4a504b4448f1fd29942c148e92b8318deeb767fabd60822113e575ee664ff09a1873aed8f7a495793cfb7b5a504015f3a9074c641e7371b250d867d751d90e4a22a8ac17fced3d50affc4998b97bb644acb07c55a4dade3bdcb89f6f82d6c24c305d68858b3dce88e1c5e6fbbaa4b78e68571619e67254f32655dad584b5a8ea5ffaaf8321e09292366e8fadfeb16e310bfffe0a06c31ab1c80f1a99d8945811fb2c426289e16dd053faca16150492e943a43c83e6b3069531dd498ef15dc612fb2051b88f7da83afc5764a3378f017c826ab55382386c5e477c8c8d34ff026cc9e02cff10f2a23bdbb41b2ea8367ec4c6794df0c934fad90c07bdd399b9be68225e9e18765b6a18f8c4de0767e791f4b0ec314a4e7db00ac64588f1350c2fed0a794fe8d988277d5ef8d4c35abae00f459017d39a7b0c3467752717f3d090f771492d139ac83743c5d8ace951e06511667472b6f2ab2b49d549684ff3724ee08c6d83c221330bf3050de85a124712e8d11e80e59e7a2ba4d60c213ef7fb6b97416915a8b8c3aea48c6aae3ada79a380fa4505b1a58e9547222402b88c7c8dd09f2837e889308c5c4b2a683eeba8cdb9c0b6a2c45bc0159cd41370156c538db4935d8e1a00c4293839381baa681b9b6b5d5a452b811ea05879df0db296216587451eaf162e9e16a8fa8d273280f282bf9e810f00ad9905977161dec3f103ef789892ceec8c453e1398ff487485f1e1b56fa1f4199272288f9984956b9f6b33e56a88544bf87093284d9f7be8ebdfbc054e736da7f0770d3b1a3ac5647cf5e39246ca6b8421f6a0868fbb3949fbeb7daa963d8d329aea4a1a92b3ffa437d8561007321f68d161f6dfe0d19c46b783e6c367dde74554ef3466be58678c85a59de5f59a8b6153d75ad994a1a24c4f5159937807e516d34ea81fe5ceb642bf258ebb872bf3092b655add9262d1950e9a445396367f41bbe919ac90a6d5f1c84aaefef8301e1e3e5277b78ec155bb9a4ede6e995e1cad2842fee4a01f91827dd875e37c5d37a3990d15cd64e2fa78e063917dd0ce48e7875fc4271c15cc90a85d8956d95ee511ed3329b16535b6df9e89c7df515e26be18233fa863091752014b93de171f920840fc7964ed4455c37bc5982303b58c96b9ea7d446f76387856b9fb468c0d2d3c95dd96bc688c8b66ab62a09ed42e8793c82edbf4a18ba4362891f1ed91026933e1a6c8cedf1ea2ff2d3576a20f87dadca8b45de4b29c812d39caca1a2498e207bcd39ebe0be91b8a175cabbe3b9b1ca9cc2eab3588d122c15eeb2b8680b21cea785052f59742d3212491166ef8657026f2bb2db3331cb397a6d16e696620137c008471ce23ced65a437336762b4e795389f5bcb26461e5c940624567f0f880eaa53082ff6309b4477d655ddd2c5657e83a0761700d6706f012c7365f310a6b0a6696936a106d69ae18801e22b5642bdc9ed3ec44ba4f8e858fd298fdaa07693c58e5d49cbfe4b4950f42906d3f5d7be263ff12e68abd5ac9e98fec24d75cc8d570b09d5fbfd59e11c1ed5a65c98b7dc8a70bc0658eb8bc0d34bbbd55a9f53ed801140d47f6ab4c08e41f8ec3bab0428999e00f5c5f967fcc00bb4f7531d512d8bffb92112b0c0cdd010647597ad419ce1321a1a7a9f6844018121b455029cfc01b9c226d38b7f10a83ea984c7f2af92d7b6198e82e97f29b163d2a4fd0b453ec26e4277932f7c6609fa2c579ee11b6c2be5a24309033334d26c59ac23cb3f566cb04e7ec933d7813647d95ee1a82d241dab60a47141ac84bd8d694f07ff0398404921988d663226644e8c128a5738b53629a7d33382423c9a759018acfe04c0828c411e8606a494fe23706fe92516f1dc3810fb393d02d88274d6184b82813c5ea1d1838e519b3bc6e9850492f8f3baed52a4d0c29e3da5d1affcf3696bb09f8f93803c95af588e73d415a4cc427d2b00ea94cbf2c419ab0620d3b183d42fc6d0a9a5b82ca7a4728dcba372c281214a101a65b542b3f8355bf4cdb32782010cdd8a4d610c8118eafe604a7811402ab4d254a23038beac454e97d3ea03a7f96bc2382becf4eee1fe79e88d3a410a09f1a33271b36aad0e8008a40c1adfa18d12ef4db0a691f96e5abec059cc47f71b3bb44b820b4b6504af2688038e19dc8644c985993046a66ddd07d4ec4f83151659e7b97dba15809283a853a42ec0f7e0dd6b4bf6c47238cff59724122fc05346702ace84b08d47cde83a27e410f7ed5c72820b5c5d875548e963e52309e741c413a2d1918e6f8e31399a350f98b5fd46c38155546ba6e4d1d189cab7ab4cf256d011f62ec43985fadcc16a995e0acb84e70b3ac8ff52f84969d7efe2d983090d0b4b0f47f0dcf0f5853b830808677005b1af9d1f954c92771a812de1aaeaab05e495f51bce83bf43fda6868be33ad1ba508f05f137c84753ab260b706d1840e4b1c2887bdababbe7341de2e3460c9ace4ace4a161f88991e71d11375134aff8b981eea11bf7d3eca9d7f528fbdbd351ec5fb9cac076e3db0c7c8f1604a2cbdf9a319c9fe2b03259811603e2d56027f2bec5310653844e6a4f10ca349c2024ea7ef12b4f500b7c4a5cdc8997b5a843caf992fb3b4704bb4d8fde974c06a5972a01b35c006499068667e0e0f10770ec9cc2bf22057c95090f93c597496306be62468a0d0d6f6cd22f23a4bbe915ff6f5a24ac7f8c33533554d04fbdff9be02bdd5420cd4224299523698bf5047335f045bedbc9d7286a0c5947d68947b763677cffbe7a0febe347b0ebd01727220e80381cf7dc8826e6780f6577f60680027c511fe2e563a1568b1fedd9b91171b707a99a000e4a930291d6e24e9782d5a3e04c365fbd472525b345e9840fa1b44a6fe1a603f404953164376235773004b20d2f58f2587bc958069d2f7141a1cf08e86206a1349de24aec899739cf66723e1a6a3bc7f59cd636b066c3a1be540fa02047d0d3aa5b7d6fd372804b2c3eb11072397925d672b1261084d8b33fcf118f9531211b9f91297f625983d6d268450fee3f80459f8b5e5e09114fb9a924baca04e27e0f59b6a98c531d0c3e0860a0ccd69bb9f31d5678c9ef182232d08ad0bdaa11150ef23eb2f8a828b3ebc0ce8c04f23453a63e0f9a0149e4c2222e9e7aa6f53e96d27d733209c1304fdfaf173f4fdefafd81082a0317ce8757ce10fdc2010125345ba28ab03f5fba8c1a041ec86a3ee82841d03cc5e1a6bc568ba020a1de85a841657624c940f7faccbc13933eabb2fc964ab6414a69c4fe465061fbfbd775d02091b525152c0c8e200074642613b02b520341722d8e233795b4c6008bb066531832d6f5764dc479a4c6365a1339386b5da9683d3babf4d34a7a71d33e6ed2f483ba1fa205adbbbf994dfeebfc08d466da93a80e84c1b170fc702de95f4ed845db09cd4e912bc90c7a44be5363e2103887f5de8430c789eccd4a9010dd4c9fe96592c85ef54065bfa9f203356d2589d8ef16ca196680336dcc13b90663f00348e2605b158c9c8dd8b72ed98f9c7e93239be52155e9f0d16da88854de18542cedd6db86698d50ade7f25d4338b56a441b50eb73753226ed8a640bab453ba85122b9c439c93cbe6a24e90f1c312728079d1b35f2e743dafc92b518005755e2be5751f69cb8073f36a6e3cc6c8072fd3438a72c6d1ad034f8744d8236a9353d23aae273c7b1aa776ab3fd0d18bad7f0ef750a9d865f71d25df46f91156f3883988377086fd5861dfff69cd67365b46485721608569679008d4b901db02c7fbe495c576f61da51cc09a711a41de5a819f36e06c5c9362460c4e7a30f389e1e0903678158525685e2e850af4c2a44a66ba1087a1b27d330d7e371f77d2cd10b4078257f681adcf4c8570eb2246e5ec8631831045fb220f85ae9d75fc4a5a0e6ea5efa9f21cee47cc3124fcecfd897def3360dcad8c13508a13af28e314275d487a95797cc69ea152d6f537a59f9b3b5d6a7e42dc6c629a0e272715462761a4394f5b091d3657e964b708f197fbf656d0b8e75afb41968792009efe0e565d61d9db6ca3bb1f5c77a55d47955024174792ed45293ade6c5682985d85457b9fccc1dc4328a19cd7365265e4e14e1097fa10cfb02656b34c449fed37ed49ac26a8d091d43e5cb10e99703c570e560d4c6ea33f774c1b9d9658e8bb443bd5d0a33c1a83d77aefb5d199cc76b1a6f81ff5874d7de57515bb6e5c27eff02bd1bacda0917325d4cbc0736f96d079e9581561c5366a351e88b79e0fadcdfbbc437fd3351b89bc824b9d72a8022fca78c0973cbc98d330f4c3a26259050b878750cce33e795f79255ea332bd8f80368f68d73372c5bb56d462d5b66fc646c5263a34fbc56e2613e048248ae03daacf7504a4f3d934522dacaf5f59853a5f9aec82ff4606a3743234f7582cd59c2ab84ae0c58dbea03700c144c38d3535159d6a6f416f9f067334782da91077d02020eeb1472556f90646605d4e34a341fccd81148c3a0d2186bf043bbb6063748c5550baee66987cd796e7a6801daebccf6bbb3b673b7259add2f3e83898541179077f631858241b7ff815337f417dbc7ec41fb5b9410a9505f417fed1b5781dcc1f59aed0f29317e88356de6f04c4e0ff4d6a3286f8cc4648ef86ba46be8247a19b80fc9d2c0b9e5ba5d2ef806626abeeca2b7c5746fe93fde3e47db58cb01ab4bc155a4a750324ac1151ec9b2f1c67734e2d0dfde2f5ede84ac1cfe3ffc6eb0d37b64545484246a66ff7e723e74e5b7672844b9243ac4e3e887d0bb45fc57a5b03b21d35c4b4072837097d565a26d074b25572831ec214924535de7204433d56359019b055672dd4de1e428a8e3c7368072114cc82909e30a29ee489db388feddda4975b7a5adbac50c4bcbce0fb0afc69121634a7bc0f91a8d241e5ebf53ea6dadc9e87d1a335379ffe3658547635904cae6ccb8b7d1e578d0c25b50aa44db04acd02391f4eb712839f817b6f146ba87267d3b8d8bd6da7057dd62f22e769153efc40e0104023505484c320e149700aa4514aef93b7edd57801209696d097c77c952de28280b18d2dd98ea511a8df7a1de0247a7e28fc708244cd6f2b79c9ca1dad5f65aa931fa76541fd89d29c292a92c96807b65ebf733503229285213412a631f4031ba79c3429a1d68c1b5174a89c1637efada83142f9d9642386b1e8c83d28c75b186ab74d4966c8cca4181f4736b04b757bb4f7547ad91e149d0cb3b870542733e2b7daa66ef6a885eef9be1c9a8a9bf529eb8f28138ef8136b70cacdf712a2e2a0e10628bbfe603c69e753bdd1eb622212b0ceac53a0315458b1b0b557f9f3f7defddfb82e9446a0bd437bcf6d70fc53caab1b44296b5dd24067549ed8e2eb10c9870565adc112d7d3bee4f895ac117702fa05f6f11eb233ede0e917baf5cc1a8ea720b118c11033c769a3ac327f9db316773b236910bcfacb53dc1b526e05faef4c9618de6218c0f3c64840053f2ef07d10b6d4549235111baf778a704102f16b1a8eb6a6a4df6f10245eddd7a2e758a55916a52f38c64d722ff1edfaef65191ae27abfd0da57e99a0f463f09750271f16f581a266fb66b8426b4c76a38e31da223fcbb0a39bfadd50af42edf5aa9a98636992eb55fa1f78ce05a5b4c6e22891d0177be0dfc5a46f95462e6e45838f28ca671b844caa7a28ab6404610543542be0410680efc7f3e5587c79b19c1a58138d6d6f871b8ffdfe05d39f05e915bd9d4a617ad27c14c51122a964c9c668ed57122b2773bcad261ca3cc3ff95b85dcde20a9ce2dc389c92c147e937acab45f642029c033e7bfd7b469fc1574c469b036cf2b7e19aba47dc9911516a99d51301e234ca3498047f7f71cd75566362bec2b70e26b0beaf4a36c525482c5db9becd4c7bf9263e29e59b4dcd5e47ab1e8154cc4e0ecc2e444bbff1699cee779282ff148fb21a33a45723bc721a6002989000fdc4ae1646a8783af70e6edd5565c307da68678fb17e9794ff69102da173bd3d4d12cde83fddb05a65942f38e1d6929f8545635cda330c06f088fc1e73e5c0d220204acbd0de33f8cb9dd4ca73716cc14036f22279a0f77f4f45e9d4aff4cbc47d7efd8a3b096240f14813caea157a5f6e939699a578e4dcde4674229d94422f6b6c22a90adf4e335530fc451bd79b650cdae4db5534cc946efae97ac2954bef1e22385dd0a3883c3d68df8f4734d7b077b70ce59d1128db9cb5c87148122a7aa543fcf39eed340183c3d38ad2e59d0d42e4a80f6d83c5431ad94d99144a0a6f8c793b5a66cb1eaad2c9e5911d17d2f2ea092103a9027bc47b06c8ea2756421fde5131977388fb0c66d7016885eab1bc85768c8c16d8b6e6c2d580d219023c537d58ae2fc6d71ca2db19e1e1e07c9529deafc19abad575c125a7586034685f7d975e70abc5bdc197cbb2d678ccab9fac7ac4f4f4b2c087ce80241a10e511a30a371917d6d4590f6295c476cb6ca7db07e3d5e3ca7ef3bfae2e31b089849db7cbe13fb33bc4f14f2f70f1335c13203f1f3005b035d81771dd8ccd65742e56546dd5d49e34fd2a512b0a433c3f399b42b6f6e94b4f4faf178a1ae1dfe5c2c7dd9978324199587ccf8668093cf7be546ee2cd503aa19bf4353ba3cbeed2bddf1d7de896f0e4cbba00f699a752b2a85877350626a35d98a27132b57a913364d65134ae6172e35aec7fcc134295c5e6ff64df6a57927ed87c88abcc6bd7a293d259db41f6a97f526dbd8ec971b5eaf8f64129110087850ab882f4fc009a909e82899f9370a23ee4abafb60bb6c3c14d8892761752579d1db586dcede95bc1e637629efa9c173846f67901dd6f9b58cf4590e0aa085e4069617eb1586e80fd1ee7bb7813058ca909150f0e8535b4d70a34ebecabdf40e8c9e3b44819443ab43f1868ce7818edc58183161c844dddf323048fec4bb9836d2ffe58d376b2c38b7fbe072d0c07d26321d524056e3ae1e75046dec771f20bbf87c2ad6d8b58de46d71276bb8b0088a180a58bc18daa015ee7eb21a2b456cad3c52a9cdb03c43ec1cba6277319af0b882d3fe3f82fe2339617544e24dddfbc44f87f02881c6b7441c75eb7d42868683b4d395007c997786989467a78212337e9b0c89d9d81aa7c92713f6eb19e6d6c63782f5a34d503b5fe998e72e2c0d8d063e897e9836e09036f604d1ca7708dbda7654169c499257fc344853cf567e11545cc49ca38a0d3368a3ba02e8b66046616391ad65700dc6d266db6042a22a2f0ca9288015cb89222668164262bd0743f48b1602236beec40a8aee313e3009e376d9b29a3b39193a4e584cd938b8773fda7efbfba1c3716effc9c8336bcc195d307fdd29b40d3a5b25166fa205a7fdd3225babd7882597479b419af6999b07b90ea6f28b5475b65f647ba7aee530a00620b59cfd328dc8967c48011293c14740fee641ed7a507f5974ad447c59d859598feaf11fa439dc050cbc97debc548220856711a7340c9cb24ca40c18c09c44f8e006a785ea9ab3b4dfeb84d92a583b1272111ffeb8350c1decb331d05cbc2774f339c244052582f3337f4c01566fbe42e818476342ea13eaf33d280fd2bbb80a214d1d77644967c247ad7d8a01651fc265a1b8837ee2fd51421786717007713bd58c5468999f12d78b66dc24edb93b717e11fd58088aee3a88e94b7310a97c243b50a36586282a0995118dbd043ef1d1c41ea7a7085a29529875b081bf557a37160a224af00a99b33b4dd987ce5cd06a2104d1f67270abd0318212630cbec1527e656fdf3cf85d0ece5f57abfd41477c4f1e65a9b9906eb89299bfe7d4f2a716edd7509eab7bdb56ab3a6790da66ca9ed5f89728887c1b38b14516f6b98c30e6437bdc06b2faab220d461e59c43743b19f98a890905f98570c91711b6fcec92233260582a1ca04b402d2dc31efd6745ba0d12ec37edc8a37390df2dca3a78a905a3c80ba254f46b26e3cebc30e2e5682c518c4fe2dcb38389d23e722c8ae351e88fdbe9e3ba099e51cd21732356a4bd5ff3f7348ff8f24efe5e440536a7cd53c913278cf767f1830c16fa2b06a8fd13ef194ffa07ec6e4d0fdb0009188e963fc2fbe686f02a5f63780af982b3b561cb63aa92243961d5ad9ff3715fa1d6fb3ee26b5a5624cee10038a5484ac56d79320b3888bb86a8a30d0f18a845c0f4850459b032c4ff29279fc440d77486e682cf7faa541c313e8a36f6846a47fb2f49bce0546a1e88805cec954338abb1b2ac87de042166e8e3a74b23261ec204f93d9f142358feb5dca0268b8375aef0335d51aeb697abac8e2fd8e4e19147db0f42e713ff8b771b1aced0f8c11866b90e895aee53ca63e387bec78d55d3231dfc251bf509f0684e073a65d6bc3ad6719f086ae26e9411ca671a1a1419d0f8269eaff3228a54fe04c6f337005fd0889b83afefa1c46c1beb97b9caad8171c9a9603500587931f045c1d1be735c6eea0f24c82d966360f9ae5ead49ebffb222f9d0ce45ce75c51926b56259258d78254b17d5e6a87b6dddf082f228651000ddd2e4dfd9a1a8fc7d7d1724ae49f7b38d7a0661bd414f833bedb803420e95f60cbd6825edc05d08588568862fb68a7dcbfb59dba6402d3d28b0e76cc57a52808c6789499b7a8ed37a0d2807a2a4e0c02757bf25c58f7c43393181cf508fcb028b4bd7b09eb41d478ff360f4411aeff332388318c03203cb6804d5249e73ade11fa1097f3979dd1e99422bb5cb02a050a775651de7b28f97a724938ef9fbfbba71c58df80d04c48cbad49ade4755fc668411c82e323ba9eb1c6fb720e0a9f530466b97d9d657f59c9766f6ce24bc0970ce0474fb0a86fe9600b6bf9739e1497b3d4827aa153b9e0db38f979fc2e80ace4c756825f38d0b66a1bfc0d03eb30bc8b07bc3c8bcaa4b43318c43e588e36258bdc6a80848efce51158a274b664be7bca5c16508676538a80002c6345f6c24cae044c0fa254bfdf68d7be177842407ade32f4184c7c43912062f1a3c6782f93f88c15a70a67bdb17e3d6f04fd092444816f88a098454776d89633e555c3cd091689a57f0ca20a51cdf8eec09012fda02dcbbe62908811581073a2eb8045ab1262fb66d4196eb906822fd284cda00e335b87cb4f37dc58b591c9f7eef2e2e04451440460e34630aee2b3e194a4754a9ec39cf41532afdd99d925cc92a7605fd3c9ec9209ae5a117c6bd3005f164fb91677ecc364bfca86732b898dedc26c582bbf77901e80924efea989f0eb6786b3dba8830eb7ff597c29882a406b49bc0588abfd16122d226d8349dfcdab931b8583890497af1166d431e5178dafb3d58d3f62839ce3a462ffb313a1713195010cd1cd91db86e8e17f20eee1a02ef07f49304e1dc90e1821f424a8810db89e94c9ab560bf48c1f7963f5a84b90389d9fdaebe3c68a2c59ff093b06eecf3ce20c3f212b67b60297ac3521213e95f1e2f9d1e8987aae007a3c35eb5c9589757bb25e3b1889f6093e973e173dc7702a754336eb14a38d0d4d840eb225b3dac1d4986ad3b4d409f23d7d29324f831845c8c54402330db4b1d4116fc0faa7dc2054b8af6a94b3afcbf9e85e3fc45a71da2c57d769d0baf102fb19d2ea5731c05a0f3ed8c1bf8f9169cb57fed532107448491a8b8bb9817fb55b1d534b579b74027f80ce611a3dd20a3cf9d3f32c9ea042479b45befe51615fa77d13bdb7e6f59d06add14baaa9fefe3e95b44af9c9f424cf57dc5a1916ae721c299d9073fd960d6590c3ccdf224759e991407d14b54ee0b0cb11b309a9c4b8afa0cdbe2d01ae2922e7f9e1e938465356cbe4fb790e05d36b43259ff5a33b9539f913092e3b48e59dca7aa4abcc369915c3ae8f74188ddd1fae4225359fafaaadf1c653f0d07541b02e4428a7c9fd5d68cca2f4f16373c0da9eeb042f43e31ce9eae23e44750879da63fd867b4bf0ba93c60cebfb40ab732ee8345337f4d1810b95554c930fecbf971029c065b870b7085d097651c572011dab46f98bdeeba205d50a4ee8093124a3a39937681d2240f124dd8b4b7f96e8c77836a26a1176a3beb6e6af94766a7035b98268476cabaaada97acd03444b9d0ae28f975c9d0312f884529020c7cc1acdb56e4d253be814ee7b2e7cdf8407f059f5f4de11027a9f41399cbafaa4211bb2c4a42ad17a5092115ca177f810fc3971297fd003e85dab4090b105872d1a0d3300c4df95e6c8a019008e5c5c054ab16a84441999f630a200af454414d4a8555fe5ba8fe5d5fddf26adb39db359ce311bd5644aa18ac0bbe6eabe10f8f94728df0c2bebea46c47a9558575c8a0dca2ba34c2edf01a42a22acdd9d0b555e5d54079d1cee60af3f54fd1f79a58926eaccce2a957692efe156e7e504f0e26acd150b88ec52901f7e9ad9e65049f475e0086a9c21ab4a34de06c39b7a1844ca3eb133081899fd2e0b6d89e0f3d1f8207ad820f39070bd63aef8996917bcad5016206d9ee2ebf9eee94cbe9be15fa80ff7a53c116bc4273eae33e53f2ba531e7a8f80a66e33e0993fd10a0d9ff06934b4753e37790fc7a4450ddae7578c5004e3a40481c1913e3c212d725cd052bfa6bb9362a78cf071ba74c620478ad73fdcbefbde584c57db1ba940da75faf5d9435bc5413ae50c4a8e2c8109b0b992ef13b6a62e931dd4495332d4e5ab5f80717cead324bde332dd5363c7c584571ddc2b3b1e1704d74f34ab1b7b2d2c8d958202dba38165a943483626289129586fbcb43eb88fd9b38b7981acb22a9892975918535ef8768af53ddb786f489f786b5ccaff7f8f9c85c0ddac234835c91b2abd1a97582e8c2e4bd6b35873dc1f2ce26fdff7fad555aaeeca819341157b7d465d1e7023a8f404ccafd6ecc2296c8270a03b04519febbf9689f2fbd8faa1dbd83334d54acef5bcd7dc884306ec601525e3053c5820b110c6e9a89ede73b894356de29d4ca3835fd6d904e9618937b0e4a1427edfe784b04364c6a5a09bd678b88e0cedd435bc622519a7008c841db3389876962cc37dd43a8d2b940cb4e0a1251b48a49aee75a589942a8acb93be7587a5f3f95b41fa3f21d8adefa8601fa9c872227c6b61e77029b577569a99de842d9d74416613e4667519ce86d10ccbaaff15c6fd7e3075eddd8e41852dbd486b34c345183c9374511e1c80066cfceab0c6bdb72725acc726dc10fb90cbdf5751043f6552ab13dfba5a850bc7c0899d728a04b719d1d9115a09fec22560bbe47caa7b366edb80b5082ad4ee9b33f9f4f8eb67a1cfef3bc31107ab62d92071873a7a7e06b6412f313af45624e88372f4d516913213ab52f22375b714f17bffe5c5048f9fba88d85ab957f8d1bf0770caa729c8e117bcae41a38343f3a14a415b8ec55ac4d041c6774c3937bc462fbaa72dc8e30e3488cef2f074dd1c584617237a0dfdc9f8ea91082030b41991913d84f53e2961d183ddfaa82b4e2ff8f932eb8e98dfb571b2308c7b90d94ae24489543c5914d67582bc30294c01eb2efd7376fef65a8a3b418efbdc4737e304b002d16a9d34b1c7646161dda08cafb775e8168a72519424df26955b18923953032564666dad3f81c8a43cb8fd103cfb90d8dabd00135fd0782044eabb3922d3f756c6d27f9f2adcab1e2b289348c74568c4f6bee6864f1ac97ca56aef2a22bbe4423a0021694d3595736999a3cda88911a8443bfbaba976697d14732b89535182054d85e96ff9ad4105465577c10d4100f9a5d81ba5915d45a6591812a21c7d5eed3acc42c33f6e47240e530f05c4d4d6f09f044c70d3764832b34966a28b8a18cc917e23ddf4826b543e76752e718cd7eeefbef5593fb7598009e8887e2ba09ca6ea1065452a4c7d7585da673b7c840394d50131c28dc1b95260aa0efaa3da6f6a3f1bc67b2507afde489106f895c07553723f04cda3dfbb10ec03b1ea68bd1a2905e1d4a946404c213dcf8419236935b428f7d84fde30a5b992a28c30f1cf56d3b41ad9b7f5007bb5dccc3387c04fd39e4387d478904264f75dcf2c97061450d715767d0d594bf0cd46c48c28473e2ad0a280b33a496bb94880cf5ef5c6317a43fd77e57fab3c416a5636d019fdeae62b437e0c07d8cca614ca134cac9999204efe10b1455ee3d77d6e1557f20163b447cc55ad9e28d7affc9c70bba8105a987a1682b95ae37c77c63959b00f04a6b05fcf7203c74808202edebbf9d78b1705f266f986a2c895d283528a00e865a8fd0a8d0ac5a25d412965350523564f64c777c6dcf961bf3d3fc9be609b44a6a2441f283625aef09a27ed2c1cf4daea12449c3a2948e104961c6b67f99abaed8c22e7e6817813b92f30098e44add1ac8217d0d0888bf1c67f9aa69493145ec55ad5b84aed344879791c82e39f065f39b1c8ff47fd03e86cba2c918b52fd0a23eeb8e79b527bd6ced12d09a1fd1b21490f17bac2aad45d494d573dd9d02c9d1616328ca5645dda4c07835b58e3b1a538a0731d21e845d660f26cbab2688d0689efd52da2ec6a49c6ee1907448990efa98c9e3cda53cfeac9550dd66602431e9a865ef9d50bdcb10f8e1155df8d75ba4e7f2d159617b865fdd3f280772e29204f9f37a05fd0ff0aa2d3d5b0b16545d16c34aaa3ead7d07048b81b1880ec89ffa044ddef20556da8cc92aa897808d1f692ea2fe02a58d523e9daefdcd84418a52a60f239479f47e28436a53747490d5ff592911bc75c499bf994d3280f53d130133e5ac6c36566c7106e317172f9b3cad701d1365dfab20f275f8a0147630e510ac9384cd82b4ff3912c99371a2ea23f091a8ebbe6ebe71f86fa8d65e89e2e618f1bd43063017d64fe8d524519176bcba73b5892de6605e6c40b151820e367dfcb98cbdb3f8f468c5ef2bd8437df873bc281094226ed130e2ab26229609092450222aa4b7b33b8867802d4632989458ffc7985efe9a423a8eb31da11351ba6bd7fde0f024a01a7bd41d1fd2fc6529ebe8dec4d84ffc451e6306cd21973ade0f7da028b3a0ab8251f354172764c512882b6401512bfbad3fb8f265f6d2502e226c4e203f97a330f33ec35b6169da728e1ec1a9091e5fb18d759d469552b21413adaf353aec4cfc3f5982f67e3c63d392d1ac817a8c80015cd79e773586741c40056c5c18e792f65749d2fb79a6c548d619e4d0c936efb875b41a6845ef2b03960cd641c159e376a71dd5aed9ecea88f4aa12b4d7c43241eff4d7eb62665dbdace8258ac00ce98a494e32ff2aaa28c7ae2ca926514ef4f9044897df8c1fc7f8fc09c000b8c077cbe171c6b58a62b77e71a0a15fc1b254f307a3acd63f45d9b154e04f90bf320d1150562eaff652879297726440ac125a43ed217a487fd70a252ecb9d9d48ac893b4cec767cdd07d8bdde99c6a6699a60879445f20a6037f0db734deb9ffb968f4d78f36f9658d01be9638b127c5dacadd85144c931c0756d63815cf4a9a954c928bf0f07c398d7f7d0fce202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf0d1003d3f53c659c0cdfcdf5e0b872a2d843d37404463d2e5ab79eb2d3016f2ef7e9c1d52f673e28f777125359af48bb76d064be8e6c64383071c9d258774fb4d4a6a3f1015f09d0427c99ffc42e4141ac52d63db544406c93c7d6741c36665053360adc0b6075e7ea8eee98bd8520b2d3a1f02cfb483bfdb2d053a7e1dfb8c0f55ad6e29ceea2e32cacf32ed254c87734ad17899e64c83682e3d3e8a050b14c36fcce25c443bcf5828720b15b9cc65f5fc68e8764aade42497c1a7911ad83e80d665d926d1e4a320b8f98add36ab049ad5efb116eb57a8bfa4926d0de25ae0d51c50670aec154eb4c858ef1f0cb6fbed18ab801ab343868e24cc6a3d4260ce2c19a86c498e97c0a637902d25031f72ed6b5b4931b2b9a46911738e8938579947be4017c02b6e863ffd921ca1a56b111ddd91468dde81011ffc870de180c84e9e2e0173c796da0d7537115afae6901e80f5aad6726921afd5a3d2fcdd6ae70a398a16ec6a2c5fb80e4f52d7362e30efc5c45e7c6c6d67e20d2da2e614d9a947e20e74ad59aefc2329d6d5f9bb5136efa9ee00022aa5b991c68e80e2cce8dc148aa3fdd8fdd6a1ee0562aa0ec8bd036364c44bed0cea29733f2474bde6150fc742a9caa47c16353b58221c9fd7663f90cdf8e155ad1a990887b71e295a660273b6232a7c06c56de7bf1c3ba1def81834fda292c3e1771c36d01c7d2085106ca80ade1639b8bb9acb49d84da72152c35dc207d6d2be98bcc2d807727b46a162ba7973a767d7294ec4c10f4cbe605e1152322ccc5732f65f9c24eca25035c2f363a78c96e5d8413073d13d0af8a286a318a73e2d17c651eaf189c81e10f0cf0701eaa7e558422a0ae93481acf76e3e696cfd64f5a2aa6d0f980d3199882d0eea72c6e075d63bc01aa9507cce3c35dc8236c3521599bfb1bff6913709236495870ef86c03e884dbabb6d0bc16907fa0c67bca6b8aa5dba75c3e364cfeeb7722a28ae52f2e31823cae5321d82b584f7cac6f06aaaff055bdd2d06b33ea9bf423c7b929d0b894b35cb9f92b1b8e013511ac304e672352dc178ddf8786f1ebc941f1c7794b175538096547484608c5f898a0afa0c5f86dd5e75f4a6792b15e23d0cb48e05c57f28c3ebde8f76d0b816accb36daf6b4b59ca28aea74a2c3a8e4c93f3f4080dc0e3f527d6c7ae2eb018c4665542d12276d7788667ea3f6ff8aec0ff7affdb6fe31571a24580aaff1a79f266cf7c25a784922e46e1c9195c518b3e574f48e67ff957f385ddea8ea91dfd7080a02f37272429934a8538922fa2e64e6137374d5c047eb319a61e211442af30493b420eb9e721a1eceee552258dce0d5a26dede43103fa00553679aa045c81b6a1d7749b2b135b3d12e1fea85781e41ad258823a9f69849456e65da5791443bda8a1752657a33eb2914eabcc5d0dacaf58b65757a1afc2177820c1cd419f076b310cd68397492c61c2a615b0bf23c8f0f93bcd3ccb4020df7b92aba40af66235e05e924b80a98eff275b1e18b3bb07a49f558325435d59ed1a8e6c3372f3e1e838af0a9cb7484c4524c496b7917f5239f767c6f73e7deb5a826a04a653ab27a2901bef21d181cf2a88b08f1990144cf77fff2e0f623e2dce4279e8d1b626e9e36adc75d5945fbfefd9513daf88bbc4fd421b96f758a5e8116b7bfe86cc8348827b3f3af68586dde8e6fea721abf699782f48023b0e4cf25019db8a1f06bd69d80fb7e321f4b5a7c6ceb222080b8f80dc4293759079ab3734ce4b529e2a22914764618c811de4fee589213650495596e1b21e6ef65d1ebdf8d2e31485b745ebcf2280ecb404a6beb90d594aa4870ce801db6630c58a50485fae2b83c981d506a3911439462d5e97e01b09bf19a5fceeb420c2688e3a8a276c925a6d5ed230f7c00be5555eb8531e2d04da15e96b2a906a47d42c855e790ca0bde553ccb7e6874085f1b53d09589ed148430557cf5befcc5463fea5d73bcf48df840b7068deb932acf951d1fe5c08ff798c165f7dea8dd6ad36904baa6cb6e31dce03c843d1b0c9d341a5ca55911e94751239a1b3801b5edf908bd1faf0613a71a00b5fe8417c401d5a0b65bd49be49c1179525f22ef86135edad81640ab3ee7781d5f755e4629d4d2750b76751c8a3862806221155f76aa75e29425ae409cace3ca35c9438d7b2179648b7aaa84f9fe883cc4136e3d8ab8d84674cd3d3463f7df8d6bb341a7a9e6b0c896ffee8637570cdb8c8808130e02061b37181c6d7ca9a75a12682ebac65102c601a67530f282732bf6bd939f0071a4bd076626ab091db3bb46caa22bd4ffb357974ad41f8d7006b02937b748fcc6a4d16a3e996e7f7754ee3985a93194104a9d59be631406d8bd0351ca17baf8656775b5e7779c46aa680019e62ef3a36b738c8986378fb9358682ebca1b869fa5b3df2e54409be151b047c2281040a26b3b7ecbe5890fffdb1b3aaf16345f2a4e3516cd13500ae558198b40d1e1c921436946e5840886d8e4077528d63e2435cc0a377b3671055b59c66ed78429d4ab5ca413263445d6547e1e12f9501eccb81617c0e76a9941327efa2dbba65147cefbdadf02906bb2927ddf59fd8e87a52412fc586bf494586cbb2019db275a46bbbedecbc65cab717ead9760247681ca33d03246d81a7bffbcee5b98831b44385ed4d89f916f0021788286f42a5befa4212c57cef660187352813e3ed08ddb03748dca2288d3f3fbc1c95e584507eeff24aacc58baebd5fee9f1c9b0b933406b718c10ac687d4b2fdd91a9dfa29cff37683f46b1da170c35fd4b31bc6471f57f480fd53271a5b3e87e8627f4b6d739bebc0244ea591f13c57ccec8bcfbca8ec03b9569905fd151bc379caa70e138972e9a0bd1c6ac14e5a36076a42ae9b5c75811723c60531c4e8ea3c06eafc3789806308d3685adff6735d3c13313c20e66d3d2621268678094dc94e81bceb008b22c19c53b7df41151fca2012943ee40d5faf36a0acb4156a04382c604dd501cedbdfc20c0b992f6d6e5305570c69aa2470f12aafe27d0e20e0e0c4c6f1be9512d4bf22898271abe097f66f3f750e5f6dd7ced066698956ce8c67a7a3b35cae53a1c557c17a6e3b4ebb204aca47b63188798f0069cc56d1c309d90f1197f66040970bbd7cc663cd8c1606cc87a5e5e652fe013180e1f9db4d700fbd811a42d158eecd26efd4010c24d5cf874b41884f19c87a8c77c3c0f9a62b1142c9aad818c8a7fec68596f02c354e47dbab2b1ae0bbea6018d1be9981d77828e12c048e69e0c8ac0c2f19afd7a3044c1910301b969d43b181208e702d6c6174f2aa07fbc0789020078fcd3de11d88b8cdf12ea807d2a426633e938d01201b026074c796c7b5b4241bd8eedb97020aadc053dbf9d038eb17a2c34fbd655f5d3a6ccc3bc0cd73c6e0852e3c74b803c480536eca88a153113ac056510a9f8b4bb3485567ddd3a605185c488b0fdadebe5a6b7a7a5f6bbfccb7f14f4ec1615d9112620d1da37a65087bb338f9077e8d91465a7eb29b4f9e5f3d9ff4f9257ec2f4e8787dd0d923c99fe9816b9204370d5342a4f58da44db821988da3870b0de600bce5e91b46ca97fe6ad28151c3af1f7d3dffd89f9eef2d71952e44c9cc02f294ca4bd16b1b91ebbf59378b9a13a14644df12ee167e2b3a47303e3004798952e9c3228f046438ac272f6d2f58c1b3e3231492a1ea94c5012b978cf6335a65306d5a92e0a8ad62318783df61313c4dbad2b1206af6aeaec51b5a1e77cf93ef266c970116ec84536fb865e2ffc5afe33ff5bdc7c22d7f4127a55f3b1b9a716164f5539299305c8c2d44f9991bc673fc956be344af212f99ce2a0b1ce8eb32994c97fd235da62f43fc10e49a33e1c44a4ec25e53063398871146368460189dc5c35feba901bd0ff12b26f58ddff8e76c8347e943cec920f47cc2214a3e219b1c48efd3c108c520f6ca8b56795933fc41fd95ed79fbe1db8bf06c5e53544dd824618b46ea1045a3b2930ab9ccc6e986e4f30d93f982b9bc9049d802ed72996df6ced4204b2334104f6ccd4a7f17ddd13c61bf279b15f7342bec0b8a56b3636448aaefd6289b052fa728f8fd9ef6e9703fff7d026441419615778c791b178a6b6f0c4c1a2da7bd2345ebd4e235cffcdc0db409c55ab862dba2651c5b8d03b7f932c50b9217e771b01edb24b84fcd2c144c4e1fe95d2b4000de1b967cb98a8d78d826c7dfe1e75ce074b1c687d802efaee3c84bb42076f288b79fc4518a9e025b1ed9d33b129672cf9c2cb98f9a979aee516486e62cce614418464f988419f192abb47dce5b5a40ba9cd729dd354c5c8ad3a91e6f994cb1b8e76433898bc7f7276200f64c8aca3ed18475f78b19cfdeb5f4e1446c5d1d1cf77e6463b9ce7146ab3c9de5e5e8e975f045eeaed37e1a2b38f7a835b41d73ce764160bdd003ed5d5abec19748395099373717527495fbb8ad9d8fdedd95d4b0f11341c64ef5def9c0016481c7cba6119914d27ac0380b8bb4fcee7a22eaa562cc63e7bf7bbe02af8a154dd465f0b71a00c6e86f3f619bb15ebb3022d174bedf1dfd3644e96c45fa762513ea0900bf4506df793d5c4f4ea88136b3c0b7edb1781d66ba8b0b34e735677a0f302b713b0d8e0dd7416c4592faaf2e3d560bf2a90a3a790306c3d3ad09603a3992790e7a723c23b7ca86d70ecd0c34d861cf65a7bad40deadc0e3be19dfe5485fe70b4e94cf5c90f22fda418c4324f8935b2fd059b7ed60b244790845492505e5f0a08e5837da4b547244b0893a56e15d96fe80c7dbe980e0620920161e667af83993399e7cbb74f30957088ea20462de7ae637a028fcb9253bd8aca16fdd3f84779efcefb69abc2debe66ce2b94ac365339c9408c149550c3ecf83c94f8b14c0b87f7bbb276f6efcf5747048661dd6fab82c38205addd40f4515d4c1081b51eefbe549c69047da7f38b1dfc6ceb51b3dd68181467e3db2d311c283aa9082c1db56c8e25d62787c2534003844820d86f8f1256371bf855b2bfbe6db3cacc6ce3f61785cfe0d3dfd3204ff34fb22fa0d231d812bebff0e6e54d08859f2ffd6cb159744caa917a1da9a94e71c6dddda9e63c1342d04a4f9803fd60e9c1d9f6f00b16a0a1c0bd8d345544bf2feb15c5ee0662377a6c673e8f2e6f3c7539417924902950a2e4a753a73940cc871789bdc91b919d0db08c6150f086780773ba9543cb98b9d0ce79c9a5be1f68ce602434160c5f347d8fe92ee1ec9464474963c791cc7d815bd131e76745202e5f74e204135e2457f0cd20c1ed924da4c8c1b6ecbde34c15175426ff7a7cc24f251689ad2f19f29698faa4cdcf1e02388744ba720395882bfd63a060645284e27d4b2df79094216430dbde118af9b32d7ecf41055258e59982e801690b724c3ed2dd5a3aadb3bcf49d2a9f71386faee27be40b021cc0d3703c5d435c3e46dce5ec60595c415fac025f2ef87cef7387e2a8c4abf4ed23ca59868256e38de5095f857de3cc34cff587d7da1bf45b7dce9d08427059ee5dc87818c6a22f8d0ce7262c48a6dca42d2528ed8bb1d1873d7dbee79186e9c391dd8f81f3547001e6b77fc68720b7c88dc29c096a52d93a47338d4439afdba0b96135d4a90541b9feab29b06b694c4fb5348edc3b3baf72a56b1198f836ae1d3b45679143b6a5ae411627440d34e3864dc4eb214d2ec799478e1e169e183ce1b6e37f18877026d43600e4530cd2473dc1cab166da00afcb7a0bcbfffa2ac876c8e2fe591a47703420bff4d863ad6d8d77fa0bf278a976bda1a8d93f65586e07be36beedbac67633b4e5d6cf56facf09af6d72a64c58a8ffa8737d79be68067f5903468ac22476f029c4cfb65449b89f5d31ea9aa080b76e8f0602328d5073247ae57a620a04026205ad914202cc0103397938e6db2834bff73d45175418d42b12cf8ebf117f56180e7d933dfdc118f6187776230ec618204bd40b9d244402f06023af1ea58c7136576c5e1405c73e01b7cb4e1e164198605b4067837c0dc723b80ef956f7303a6a65f303df133d245eb4a2bc68cf946c08f37c1435cfc934d855cb484d12f2ee3215ebfd6adf7673be124c450283023b76627d9032985fa7a19608a7c03129b52de42431cb2735bb057a7b31fa0e194c85909fcd9547fd7ed051031f2e5f1588c15d9b5ada7841cf673ece7f43c6adfe0a55351d2d795ca656be6aa98f3b09d99c8819fff2b5ef591d9b3446aa0182a5a5e89063e4a260d65e2d752d6227ddf34a8dc8b8b99dc74bf3b49b301e8eee8287f29e080175cea5aeb91fb266034eab27cfd7c4d6f5776946c789c0febeaa73846e211eba7289f3e28baa114aef7dcd7782b2e5bab72f7d5f38165855ea138258996a53f67aff8f68d419643dfaedc72a571a84fbb995236bc13940f3056261695f0a6e60c36254709b50b66b197f7aed4265564e6082e0daea982d601ec644744e92d99e6200765d6e13a2efbcde58421a2cbf0d01bd6d0e9416fbf5727efe8e7999673e3e210f53a7aad15412cfa57fa4fcbc3b8923ba0504f4d5a1bb9f570f2ce4a55465bfca66009764825a8179c5b1d3ffd654b83d2177ab31a4ae591abda690c52d31c6ad08ed131fcacad409d5fe155cd82aaaff1f8790c668f066ae00b543979790ac1b820435b91e5a6d7575c5141280b0b873483c5e086f295bc8739c697c2a3e4fb2b080570aacd3378ad73e8f277804a933beaac1d30d0f595a9cc160a8555d7b8ec7c9d3dc376eb8e6d29ecc3271ac029a2d53077457224805c1925daa9fb12135455e8633609b1fe95f15e3d11b3f0e65265035c3741d5d989262ebc63ca66d30ac348a0208c9b4a6bb26fe6d7ad47f4c59447c14c25f1b220a49fd1cc595f38b75320e2735c9b69410184718a5e921667f9438838ab42c0bc76926ac770145119044a3f97ad2e968ca05bf010601ce28d6422f32ff3dd5912d887d12a3bfab09a58e444a1c63d6f59d714ba6623e2c4016894a6a892d2b8e2ac8150870827b3ae45ec5784466a9c90dffe67cb2f8d6dab731621a2b8c0113c5961a2dbdde4ddde9e22444bf2697f4176b914f9842be5a7e555a837af670fd17a7ce40d42cede463ae455333f24969fe32e4208325a6210278f7a6d6f22e392ef8965b017e1523903d14236c18c5a84136c5389cafcfd581e874bde99334a1bf72617b783048266db6bbe0ad90773dacd6b9bc5ce51086c059f6c5980fa1df3ffce34026dc3017452ff4d39f502d56d183d063e530af95f1497cf94d6008cc35136a68669295300c91d61d864596bbd9405a93e3a3900a4166e4ca40928ae7705b56e5424c92a14220df71f22dae23dd25bcc403287db624465021663a5fa8aea1a5adfc6c3c68be2fbfc8e75ca3ab37e42d89f3c818703a372bd49adef297531f667ef5c278fb99af279147f1b11d2ab5a5cd921720eff9dd2ab01edab6c9ddcda148812bc43b94dd7925fe6ac31b8da17383aff0dc730711f04f94e7f01d54826521d68d7ef61b150380f967d46d14f6d8f80363ce810bbe7fc2db49c5e0722c8882301b2d1b8570ebf5e74c089fa03917fcded89446389038386cb5271e68a462237f4bff84fff467327795588de35a0d4d1d5aa7df2419648f64f462d1523387d425e4fc8c98081f8692a1547548929551fa06a21c0cb6654311c28b9e0ddec01666c35d9e0a73f02dd7044415604240d4e57c52423bb39f580f608417c82dcd9b370b7f33b2dc2c4e74f8e74ea7416a9d1bf5c1b443e4c23fcb18cf020958864832f9ef6a0c7bc10218e1343dfe60f007deae54160b8a63c20b5f112345033f924071eb73481362faf158713d6537edcba5fa8a6ca9d0f25d446fd20b24b8a23649ac683c246839c2a91fed8325d2d93562fadf4d6d47455e6766c6dd24a3b480b0d632dc19da9c6943c61e6f5c605deae72c1ccd9d651592d45363f9247db62b1f10ea94d7b96db47a657beb6c2de72e5ad21b50299592d6b055ebb9c1d71c38acf8010e1586c3a1fe49d120ea4f3292f30d20d04ea35bf47656a9b73f209535c04336e672dd6125cc24a9c8156ed40a28329289f8dea2d271175efe2c3b9b96ab7b94722e03dfcb5583840bbb11e91febbb87b052899a1e489dfcd9ed1caaa07ae47cd7d70e0c1b55562a79ffc82f9055cf7f664d5dee0b11f7e71ee8cb9a2a844c8ba0e519b67205caddfd332386ae0e587a4660818e589b5502db93b62251192407f9897379757c32b4469090d241a4345ea9f69e3e1c19d4a11bedb01aad74533d47b97c824058573041adeda4ec92621e8b87ee2ab182cb9a9a5428f84d13c88b0f4b2ca3889a00bad432528a21008bd6ea2e01cb8028548ae7c6e89c745970f6d03c07eca9990d8cbdd80716f134a0b2eed7e81ea7a79b9ef9bd13bd53b80e40d99c47a940b48515f821aa80a7440d4b6c4704d05af61e230410a86efe547308cdb0f85eb739d301b90d8304c45ee96f9e23bde927917aafc387857a599c53100577be8e04229c96fc140e9e608324e5c6d3f53f5c7520838bdfdd151232a2ad7eaadb084bff4d8940a8bb659b31a938610fe1ddf8a6017fe4ca07a465ac8e8f075051b002b022fa9bdb67a6b07174f821622376ae58470fc2beddbe97be56a4101153323ff1904d7dfba5063aa5c490adbd8722c752808e4d032406762a9d0e61dc2aa65d2efa6d1665a264c563fb1edeac1d6cd268e40cc146931e035240afa8f8ff7d51f0d7a693fb5bc18227996b252ed54de95f3091c48367162a83e25209177ea2536b9b8e46d73458deeb700ffa1a9022480b439ac4d00bd6677445b32783963f0892dcf86b1c61fa7ab5d89fbd9db3618082815c68a4997d1321e136fb9f06e3e9b390971fbfcae62e2e518f78c0be3d696de201a826d7c7042754bb5a702cf9c38f960a04902b95b1be075013914beeb337219bfda32fd233cea39703ebf03f03cbc454f2c0be95837dafe386299dc3268b850f24ddfd1a9265170cf101e08f22ad8375b8f9d4c64aac809f5c9e73ff75cc058bca61495d0eb34253c5cdd67908b94b06bedae485c1129d6917a03c58d00d3a54c9a7708e87dbe4d284cbc4420c03eb6f104b57f7aff1cb7ce1e45bc9787ce575fc4b7ed4b980f3c6e304f255d706ac18ad4fcd77b32a575e3234a65de567a2b659c32538b0b07da545caf2b30e2cf026c20680c006bd951df722fcfe1bb39261c8d2c6a2344edf64f85ca932d76f815b9be52962a39fc8648ee1f60a15a6a4cee0950b346ae210536ea1b390f1345e898b042bda023e670e9156a87f3bd765a1d5e73de80c92897872adde8baad2953d6e9339fe6aa30e72f0771a6c10c1b2e72bf868bbd5ae4c20ca5d773cbd6a3a4aea166a1795ce7a095690e70522f23cbfaf60e8464ea0c31561e0bf69c3e0faf97fd532ff739b48b1d1801aa85c80235fb5d05ddbca047743e17123c6e2ab2fdf38c410db05bb49bf6ec5ff3e714bf365d4625b82065340aae436d3eef4e34d47e910e27591b13fb3dae06147c5232846f778b4a3cf9eab52e09116db1243afc31f386afe425599c440cf6d1d4e3c03dff041eb00baa7fe48bdb5da14bd1b0e7201a7dde41eee4a4429034e14e94943e6bda87b682d92e4275bed90fab1113d025e6016d25f80df41586f65fa4f1e0b61ee7a79cbd1251550750002a357a990be25a1e2f1ea782d2863ea23f2bdcb91679eedaf5c0b0d8ea93b3ef0720c88ceba91b52d666a98e04bd8b688484a44caef7cf70ac862e8dca6b7d1834f1602849d98418f99ab805bc064a51f909d47d40a7e7715d5b163d6aaf97bcc62cdbc579f522fe2a34005e00f16294ad59668901a61ee7f3b2f5aa7deeaad688330cdb71b87d17acbb41a3f961c957a21d2e9e55d7c8f9407dc061482837e3f7af633f18da1c2ce4485dc85f1cb96be579fd180dc918b4f8a26883ba79e985b866aaf1b6b35a01329454dab469c10cae001e9f9e1a9077cda9eca940728e932720696d5a1c378bdac27ccd019367eeb8614822cb103d08987f28e7864ebc292dab88b8b31235290f5646103d68c3300fc88804a5af37e164d7934df079a532ad86796ea0a5a87e2b4f866c1725e55471285c68007ca2698bcceb4c1873cf8f86359659c6941c2f5a8dc591f70decea408d8b6c1caf83cb26c5f0f20487e2f645036f07b94fcd328b4e0eb8a22bc31b76fa240a5ec8d6a9d049e741ab2ac228abe62a952aee3bf140ac0ed53bc01aed77a75283e25dc99292b11b32c6e918c882dda5a6cfde8e8a1139ed3a74c92035f18ccc20f263ffb458149939b8d53855788e8dd331f3eab7fdd6f469901f42d99976c26fc597400303da9734d3cf605fbc8791eeccb11396d2628a9b05900cc596a75d051e356748272326873369c98e2e71b3f576fee46d4f0ae2c72cdad68dcebe07f0253944052f0538926bb3a614a8ca521e7354687bb5dbb01a46445bc529c85bc278d423766828a513a5c01f2e04078ad243eb09aa4db58519851240d735c5075f1b4457e37438ea17d4458365e6f082f5320f4deeda587a71964ec322876c701fd2c85a58e7642e683c941e0da66c890998ae9b06678e5f8edaa28c047bf0c6168b25a23c1159c2448abc9fe18a5722700f64179865958c76d16ca9ed33c15a13d3dde01e1399871540b503547355796340fb6e744d10b9594efd33eec7dbaa15f4d7f857013144d5ee6a7eb66f3c033e3d7d6b3f75789bb4c1de8276c1ff794fe8fb36280e70f94839058014d950c22341ed78b95f718886d7bd67ce7b92dc23957eceb09c17ff79f6b2da951f6938a5505a8863407120ab070a64aa22375d5ee83d406c20891f7fe6a5baeeab4cd965548df6320f1c8f9b1c49ca1b6c992a67997877d09aa5f7dcffb876e185b9e699efd423419d3de7e026923d55d3cb4fcecf80160167e736db8c956f61a4362cb3f61fd8f62ca6e6849e2a2a9ba703b1dc99346c096ece96940ea222d9b90a76bc8efd6fe4c190f1e8ea0d111ac826b631f48eade2a85e889cc10c7497d1ef1a01eb7f539e7d771cf22ef07d2abe8a3d59be8819a32d1b3dca65d0a1233765247e431f11c0f66eb5a87c9b126b00b4d0648bcdc9d6be7ea8a33b8e6b842c063e7b2b71bdabd757de773896ae688d3ee1baa421326e2f8f57f00b8cd2bfba983f7c6956e3757fe4389bd7eafa45ded50098d64d4d89bd901716905f6f1194dab34b1c0aa789b77b040df1095a1038018d91a332a3fded6da52d5cf18bd7cd9cf624b0b90a848803a7d9ae90a975c3c810ab5732ae2bca3d5947821db5e61d203ba3b00f658472232295d6684900168fe700607831a5456360a2d50199d372e4ce4365095d44873efae88d6220fb02a867b9a7da5fc5172fcc17928242f60b8c53bde74d5bf74924f975a2947767460035758063ac16dc158590322a1a67a95a53eddba6a93d106e052c6370f798f1d2a9fc88265d0c4632617a50f598af4d3a87d37d05a87f5d6ba45c1139cddd18269756ba7b6618b82ff36e99ffdaf127aade81186ecaa3134c30168c7c7431ca3eb078d28d95052326b9c38adb3b83a99013149987df619650f0e2f4cc675171b16b3b1aed8db98af650868ec69d5347accc9eb7f562fb3492a67554dbb11fc8e1f9583ba5bb99b20c13826375eafb0ffe4f3a2b1b0e945b98f97c09546f068f8ec701142fdcbbb57b4d111cc0b4d2ae852838fa0bcdcbde0c683f4fe0437c02ca64e95215f0f283e9f0588af614a8a5c5f56fbb29a27c82a8300ba5c17dc2dc9b6e170749b22305d052f106495006a7f94be862295286c473dbd7d0bebdce4826859cb1ce07314404ac8c7d576ddfe606753579821a5fe68ddd5ee0951054c7bf26654ed288925ff0ce79494803b3129c576006a18f426bd5e22d9843d293a7b1e7440ab96524ee8e46420fe66cf82a548161c4e198528211a19f1a6ad60098fbb912d89c2c85092ad287038fa17b386b5599baa040e8dc60965fb582218f7dec561f474882676050db315f37e1e4d9576bfd15a38fb6c8c6d5bb5c0a7d87ba188970e3cae1a7d6376c739a18e98d3cea1f7dba1bebdc046310f1671dc66d8268f585f020db01fa3ff8172cde7e75e65ae56adbd9a664971be9692f55b379a2903236a9ffd32702e6879e48e219556b860486119145561f64c591f87e96bc68636a383418f235d3457e4b21cf27cefc7c7f3edea4c1f6706f1018db196f25524157d3c1ce1626a2f7ea752cd16f80e7d55a0b2f47f8d5565f5df609ec125887429daff633c01d25c1e5325534b29e7131c6b01e3babaa2867dce0e861d00dc5a8d7f0d8874e81d423bb4390c09e74eb2913a475b2c04b35aebefa5bf3d6950d2e512f0f080f1653440e20b61ebf287927457d740228015e31c838651b4dbc64f9efa17294bdd42847764d6cce26a425a18effcd822a4f641749df62f93d1c3025869a611307d51e6a14517e5aeebc4b81886ec7fdafcd78b8c9e631ca57ce90ce25521a946129656de751f10a04ee81a72e3bd648663b59808fcf0a540b5521d498a12472085ef18674b8ef67688e7a365e2a73bd4858338a1a76b84d73dfdf7eafdef53463b2fcdd785cf54571b8809d83ba9d4a09e5dfc01e2a11897dba77fc50966eb84659006d2a010673bd5a5340a62179f496c6b203e1b6a627617635b179f1a354df2f60412bd0d9c5e5001f7b2bdf6d972e382cb95f49143a8075c717318392b571e19d0320ce468c6fce59497ba9c4968fbf062c830952d5579f4fee4a2ecec21ae7464753de4f6b41bd3ad8766139bc05a395740c3ed6c655b472926cc3e3cae3092be72fb1c84c9e6c3ed3dcdd7e476f845cd467eaf40ff62f6b2d7acf31cebb340bec7c994d8a861c337500defedda36a86b286afdb800cb3f919d3f58984e4895dab7e753aaed2d4069c030b81b8e8bd743d603ade395751e02a6f0ec05a3688362e7cfabf20c032709e6dbb43580e488c0dff8d5a4e801e860b80b5fb8ab19374585c470c9410b9bfd2b2cff9572d5d674e2468b6760aed99bfb489bf55e229b35f454230abcf820b66ed6ed459c43c5eb3ac9f6eba9ca729419a27c89528bc529c1716e24062185c5a469e0fbeadfecef4ebf90e81f244eba638c0de310d3af99c3c3a7171b04117a18a226e24e6ce011a4860c5e4522bc81ec5905a1d9a963cd8cdb2fb5e6d4d5c3a4588dcac410fa6097dcbb52da06441435f97893f156a72bcbfbaa13b9882bd1306baa76ec11145912de2a85b7324a1a120fe399f45d5278a4fdbea7c26fb22023daef1fed5ea5c9c1e6c8fb223d19744fda6154fcab8dfcd268f36275d417dc61863001ccc50028511db84e4b8d497abb987bb8b2e61aab9de94d407ab660d6fe1ee0e5c1cbdbabeb2a4c19f1eb246fa405673a6c0383817f071dcf30c7d85392ed67e6956fbc4100a648745a18b9dbe7e0b160a8329768b62fd822e990435b929833bf08841f4db2d18f0fc1d6c861c34be50105ee1053d6d504d30e19363d48cb327a06e3f93cd3aacf329fc867b8c1304b324888f6004b43e640479887f86561f79e4e49c820b5552f581dc1c81e25f9dcf8b962a448e81b5917fceb62dc297590132f25276f335f37a3157ee7c437af7805024a6f8d091bf94c470a0292591726c8cd0b65c2940b7cab32126101b575b648585c1a6f34e20eca000e6ae4c869e632b987e9e3f9345b13eab2da2c2a8a1943ac2840c4bea84b87ec0343262502a135cdd02cb85bd3b0e1c70d87e91fa37d172fc09b51cfe34e60ae6a05326fff92ef3e0e0f72bc5e8c7aab0e1ba36f7b72b4926513b1169f0d6e5f96f8405d4f0288c0d76f96883a1afe0c41d1f17b1ee988f7b97d4272bf3f548a58994bbbec3577df82f9a30a07431cb08228ccb35d009fc2b5393fcc54b4292d0b5448febfdcb5f2dbc2719c8e4c659edd76d5e2ff3db0ae8c74b7f3ed4e5fbc72c2e079a9a36317d71f0c0ddac42effe688e1b53211e829aa63b59fda04ff8a5b64f0a7181447658bcb46f3ec9d6ead3e5134343b17354087a1a632b8c75d0c9f484f015b5ebbd056789f6a2c5056a2ba674fc71a2cf6b25626efc1cce865b215c3b03ee44e395b9c163ad5a4aac5e215d5b98dd17d3423afaaaa76f25da65af4dd076fcadee487f82a6d2d9f0631857ff9cde376d48257722f4a0e2a1b1208a535abb736480bdc8c1e173e9d569ee6f5059903fba367ce951c6c7c037aba69ea1b2aa8aabdefdc3da3ec0def813300a6513e8999f17255ccdf77f5df1b00bd3dc064307a834fcab055fcd1cc074123025a7f7acb44f17118787fd0ed33d0ffb6371853a6ab745f5852db8d770acef00a33f44e60fdb8e6fd3c4ada9714153fb0d1a761ceeeb920a4ef4bee9161f4c7361cf1086d7b5237560c6981e19e60bf46cc6b17dc8f7ebcd5a22606c2de0718c91ea46f614a761942a91b3e9a4696469702b18d4e4a09db3b9e5a3020af82bfb9199808d3c0b10f7b0c46e025fed027118cbe130e6c25ab7b1918348e301491afe10834dbc2e92c571cca520feea29488621e840aba1aaa70f7e366a21396044d1ed0e1f038f26dff7a95cc56801a6781cc0869d984918c2f8f09bfe1af2c9cb9bdbecba439b3609e2ed1c6f19e9db9c99d8ba6ed80257cd25dfdf429019e1fabf4f72490c5d32a5bd46cfc2019a5b79866e1f53571090a7de455852ea7003bb2f214f4499ed839bfa951ab2ca77d7b0666c50a0a2f7e5b3a034533d473dda666d0b29091325612a066b29aba77b7180d1c2456e2002ed16194a09a53282410fe5b0811a8c74d6a8864432e29944db242b032a9777c7b34a882e8e022ff6b97ccaaa502f73157e368315adfadf7e9f3234c556bf3f81cdc19660742383bbd85b9d74add4bb87384d6ed3e0d42f454e397788198f43703477d47f38708c4b1922a1d55cf89e06bd07ddb3dbb6b24fed4e5271e09498324429bb371f4bd6d03d854744021d82b90e0dd5bbad5283c98361aad73510127d19c2bd4103c7d21234d80b911f9a27e35321262a20d8d81cb116dd0e2d012ff8f78166693e28470af972a6582bea82740bf28c921da8eb7c6effe9e5cc953f9e3288304bcab395a312ae4e97801e344a4ec10164921edd6ce047ab3fddb4628f38fcbb299647ca412141ed603b4a7b091ad96a6e40142601b49ce0419d12694ded66de88b759f1e1f5c06ef112bc02b972954a8faaa55370be1ec4e1e5a13236ae3da30be6f8d833c3d80b74a982ae8abefef6c23553cc597a72dc87692d123eac7f46e96c4647bdd52775e406a57931c4d8bd79e7125d1a7a0a21cba3439c4d18d54f02a0ff5f6e1dcfabecdcad09ede67f972ac49550a9f9a85df7775ca76d387d78bd9759005c1db19d757cd078e3b12a11d031ae626761ab66dbd97a64b11cddf9722cbed50982cf8bc242b4809109a6075108db4a95055f28a1b4ebec89c49c537411d76f3c53574afb534377015c3be5d329af5d2b51e7b025e5f47cef369aa03817a63e153dca5888ae8bb9ab22760c37b0cf14fea9cdb94de936247e1ba1c22f927573f897dfe63b948476497ecef07d3466a8a3f05cddb52f491663f30a154365b78c89275268ed928023e4c7decb2e2b6ce43bb4cc6083307ad90193db83745946da1461391d038053c5a04008a8a266c522757ab0ab472cdc10a927df0ec6ee756e184850f947d0ed19214e2253aa3c3f74c23afdbedea49ef14b5fa8502ba8e6a78f2d390ad5788ad9b356a76e9388d0bbff9f7c8e3dbc1dd7ca54bf47c99f5e78f41f7a55dec39d053b7f016adeaf64d7e8ac131d3afa0b57743e99d6929585a0d192c535cb8d5be7bc8e9017895f68ae02829dd0fbbe99972264a8e3cbcab748c0e323ff7dca343940dff8bf8f15b90454abb4953450adb50548e29353c61cefe0f4f4ce1aab25beb0d070756675f40e39d01c19baa4c37e339cbe9202fe7e9f73576115118b2a7128a53d76318b232cb749fa6c6bac3b8330cab2c7e5f4f6871c48a4f4a405accc403ba2b836db7803f45b5556316f5f0f485255a767ce95d278f74051eb17d3ea8ea1d76df4f108bfba59dc094f651f95096f5655d9b04b82f2567db803e9e4c4d3cb43b265d9d046fcce6b731af8bf04e78b5c0708e926a6d8f9e2db721a47feb3408af3fc2e90bc4ed1225de14130f138ffe614dec43b5bef0becc05f13413a97c0e46d689ed6a07c93704227adb6c31293c81e5989a9bbd7375f3159b19a753ee93f2a5a1beec945af51e13373be2188700e20937cffd2a717985adc6f644ed2d70d6a2156d903f1ade14ab1cfc3bffba19db67ba4d8073aee7023a067329faae0b1f5bd552c8e2f71a47cf1ed4d577b9425ab822ba9d679ae0dcbae2bc580236ffee55c3806080bf2d76e147aa3217b169487fc3a33d25401f768eb5eab17d03d4d3201fa6e2095287e7bf632f9664a654225f736892a73b6a54f860b65a62fd93a0b709cd2dd36a9a3f8a9bf429194f1f0e986efbfcd3585ff1cf32204a74202d5627be09b9cf3409ab11d5482db01bcd94477ac2d92abf3d12aa75b223f06a2762f8b7c22a737591ec6d679274e7dbb402ed6eecdac6a0a6c77010d3c487c4ed548dce89704254c6cbc117ee0725be13983206034cfe491419e04a25903d5909aeb1cfbcca1c4b08be0f22f4faf1b30a70bbcaf161bf45e4233294dba860fd394c45ad0ac73728c836b6c1927d1b26aa7a0e1aadc5127c66d994c5446dd58ea507175cfc40b339c515c91dd69dbb01c1bf6815310d00478a4c91d211f0f834139c37acdc1f0fae21e140e4f8319e0246bc4eb053478a9d79287df21f7f7a296da2305680f5c8226ccbb6d704236086d3c7b260e054a41feaf1caf33a72c4c688dee365c5f7e01ecbf923b0cb71468dc22f1b4ede290438db001e4e83df01b150766a10fa4e759a2623ebf4e3955f7def38a1cbe8223211238241a5d87c781294a449af5d319a7daa8166c54ef4ec03b5f68e3532f496f4797146ed4ca73267aeea9ed03a0903a04336cdc99f31b1e6b9eb6a311c1ffd13fcaabf66a3db3a755084ef88e7cb716fad54c521e181b02ba51e0189644e143b74323a4c8504191b593cbaab6099334cd40116049e758d40196d678a6a5df0010ca075a4cc8bdd415e2328990457e2e93657e72377574b6cd2df41e93d195bdd3a5e6e8d8f1b65459dff7d38d2d2bff9ddbfb3883ae54f7876e252da0313929f6a64c5a9e48851171fe286218605af7e0d2f8fc2482d7be34a7a2d0d18d362b111c5a16bbe894d9eea96ba3248788ed7c332c7f19f0040767eb10da0b812a3489b40adf22c7ee7a3c4f5e6db2945ec0bc3c5f5b1a3018ae428235feb339e7483f4c2e219ba961e347d9b457f9bd1298b42d386c43f797442b227f8c747bdb02e8da8f4857e5e8873b56c86884f781d04cf9bac0e9947e2d784f78dde1ab9b87f9431f1da69c03b3033e9abd24e3da6b5e04697cc616a5bc50284928267fdaac5c805cbd7ea64fd77447c65880b74555e38ba2a300da97d0f6a7fa5474a27569791ea762f8a7244aa024f9e0c7e14fbedd3b7707ce9786069cce2ec8d8e3dd557ba96034b996a60223f1756c92aee7b364d63994e7a344b9b8fb73b4e024d5a3ecd804e97f7b8b629061ca9ddaa38aec564c4a90ae3cb78b13d6bee175746e423ced7dc4b847628092e26e41f616a201f45d777b7099722d5569d96d0551cbcdaba8515f93bf266325f24361c4fdd54efdb139052c8c64445c16fa8158b295f84875fa671e0720d0207fe7a3e6f4b7fb92e985ec4b924d85495bff85a239406b9fcf6c581f035b39804f4c357333a772a275a2a70596f1c4566b0352966baef9052af8fd17f8b5bc9bec7cb282a23ab070c3df1a49d48a303997aeb7a38c9bbec99b66a8af4066cfd16dd76a115e4d85732166de4f28573c0e457a87e606d345e09a05df376de5f3318d187df8f40cadb29ae2b92ea03804d2fa05583c43605315f16cb3d61aca67389086810677321ea148b18aa7c01423ed0b10ffc1d045cd182240375d0b2c1bb13ff974fc0a931c202895f511a2695ebfbba29db16cd86f4a1e382a5cfcab59d38540147884264f1c62f6438fe6275791ebd0ed5034ab0241f67f4d4f15f36fb41019ccbe707ea24cb3b0133db0667c2c65789eb77e9fc74b3d0fc4d3561e7695b28ca111e78a620f591ebb2b94b4fe3e9d03530cd332d22d1e99bc956a07673882db4f0018ff77ec1ffa2af6129727d4afd3d1eee74ab00ec5792f7f10110e85b8c691cd409f0fcf890a62b484b4ff5917afefce66f082642724fbbb3ec13da268d4fef584b34c0133eb58bf4854652b970816169cce6b2b4cd64892f9ed550f37cd3027aaf180879d1f3c4813eda34bc6d9558b2905891ca29123b078f13047c34797332c4f835e5f1e418387e9a950024920faa5a11869749a48c83bafcbbe8d69e1d08bd50f7f1628afdc8062c819e89fdaefb1ec2484be0ca0581450f6f14e5d7b059c193b40eafd08efca82047d5e5baf44f1bd682d07ada56d94772cd9daf7befc4b410bba12679cd266f7e98aac90a6ec1a2f4849a4368c182fde315a03c1de2054a950ac314daacf6118f26bba4c0da36344b8cf5701a6f7628ed6f3511eade5891e631c05679e141d031e689a6d028e840032e3943eeffa2a1d2a2fc59fb20d66bd06599d4bab76d0414821471e1432d1aca0dfa6248d393e82d295c20a8584eeb823da9e5a0f24f661eda8e55f51f13009e42c0ba471882a8688472e29ff79bb34db9e8eb9e295e99a76bcc78080ba94bb848ed8633c31a63d4101f1d77c1b7437a96bd2b5fa8f55bfe6676c1bef83f66233041dd5d16bded7a490a1aba196bab365f3944a4cfeddadb6203b8230094706e84cc4d91a4b285a98cf9b554d4e469907079a1e327ff9326555d64f4e423e70d13c944ff5f8b3483a91483683bae8adb06cdb55323e3d952eb5eec0ea9a06ce75fd3b96b75cc95dfb13e93d4dbb4cabc0f7a4006559e2b12f0bc4a57cf013af3172ea775dfaffab4eb69042a0542cdb4b0cf9158d9259d734e7ccaa717665301b698a69bf9df0406c9e22b6094230076075ed7aa572cec6b45e89fcf6717f021c90ca42b48edc462289ba9cb76f742a9bfc4a9fdb8219cee0bc3755d4d75f0ebfe9eb297f99383448888072b5dc72e9fbc411a5737a6b7a4869b1c6bfaffed90f6d6dd1d67709c02a8764e1819d620052341f5990363a3976e4d2ab134d0ed6317ebc1b1e950d0438949d6995330b5207eaf7c38310db18ed810def18bf7b3dcf97e559751fbd84627466d8dbfeb11f808ff623fcf1b33c79a6a07c31394cefc857361a4af609a6a53bafa5d932d2baf85f389ce9b910a18606054cd1467bab31528f7080d3bd0f1dd0380e8937aa344cfe433ebf416f43dc7e966c1b04416352f1f1a39b61437603f9bf82dfe4d0e6ed1147f3df08ca3ce0a7566315401e17c26da4c48bc5c50cd0436d61f9bcbd12ba4645df2f8795129422b04f7550719a52b149e6a7aeffebf22a2d74b5e671ab5ff8bb99b0655cefb544bfca0acc22aa396c2a65ea196f68974827b574e4146e4dc9ff41df3104d2d6e9215ba16e996794858d16e0ba73f24c226890d838b97c884be3c5407a980c84d71a38736be4de2a189cd09cf06801a0ea1e4b388ca7fe730176876b7f71326cdab950a08f929c89464738aad0befe9bd85c9cb7ef7cb0061a602fcad801d6533b2bfab0d4d615f1e71488ed5d5db6ac44d2d0314ed4864b7dc0d4cbded5530b6453820eb7e442d8c8594a2c4b41675b1e68b8459a8bb24cca58eb1e0e97da1339942456d37e6032208db712c7411c2089d4961ea71f7749e367624e4ae5d7313ae802cfa03edb2ebc84e0fcd15ba92787e5ac9b388dcdffde0915705726a3430851d60c2d39610edcf4a0ebd9a900d3e075111f6f60e5780c5f8aeec42c4f096c1a29ac3226e77cc97a4c46c8f29da98ac13159a16a5f3d4347a961a0242383f65f10f141cc06c821c3dd435d14b388caf0e0c454723d930fbb8a0987f4b930aac1af46b8f12509de88ce185c9ad6bfae75895ced4fb442102f0a59008deff4d0bf18f2b10159df4a5f7ae6cd882315dfd236c4afc65193c111c9f29a56c9a2e9a8a8e5d59bf80d3f4b96160030cbc72fe29cfa19cc73370294bb9d0e32321c95c76fb527f9501753b286b0f66df4959718fc271c1eed5b812db3eb9116bb408ae164b24504a4231768f99ca1673899254ed9a8b667d0e6a3acc6f7121bc09a5a5fc0174e74c0a1a3043535697ce35e7d618e50c7834a6d4708d7e72be7329d04479f2eb6bdd9005b7c019b37cbe5eea3bbc8aef49290f638c623d779a1e4f7dd26de32056cd6c431034432d4a12e748bcc856008e9b42d13ca829cd90cfdfcbb609d59a206aa08e413724e5a54f6427979b2192df168c3f1ebd02f5a4d3dd8740f01098c2fda0380f2e21b6e7672d3425b320d38b04c64bbaba2573313785f0ae3a4379043f789dc929eeca8a90f80951ce02a6c9d8b9867201effbf7d6306f479008bb3cf1b2737cc2abf67f2832ba2b1fc0cd0c21ef0517de0a5a984afbd0791a81bd357991366b86b1eab58a2f01efedc17aeedb8ba9d0137f095a8e8fbdcb1a55594da6119aaf2146f065788ca831699e27be841eeee7eaddf37acb83730b848f500b7204e47ced5c83893cbee81166f291377473cb001d9d6bd81b56b088e559206976bf0d6ee599f19f9d60915aafd5310832187b3b3a347fd195a491dd121e89f031a3c36cdabab688e0329b36db3fa4e2e8a8cc55fcce6b4d9e82c7697ea8eb042c28ddbb546f121d8377633322b24b46f441f39547b89167972e781053f143156120f640586b36ef099a83c6256e84251d1f842dcf0016ae2b6e2ccf614e1f346898ad6dbf2b384fe61236c372b560a80444021d05913c292fdbe5adb14eef76527d2ec25562812983bfea61bf5e1b29d8368f6bec5c398aec2a1a79489266ff73905fd9151119302268214d5b4978d2f307972efd599facad235935db758a468843bab0141a13306fe5066dd197a6cd52b2dc67b5ac98379fc6225a8e95e50596ea45ad29d8ef9f45de5193a9f2e5805eb8d1efb3cc084186f306a30bc7ff83750ec9b0e4f65ef0109f5236a73d653d145b9757285facce03cfa057800df405d9c11365b6fd82cc63011afb1d97fa62faabc6e9a42d9b58f59c502ee71a563c4875d8b18c082e66efe730f3d61c848c03fd485648291b3a5c59857e1dd0b1ff62ef40c033a6bf6debdb7873b234ca57693a61a77b6b43c68b90d60bfc14ae5fcce5d6d0949df3b90dd38f2b436b3a70b71b193446a52f3683a28df0e4f58f73756c53f343df49b0708b8fdac29b6e4b4ca3b2369fd04eb239c45fbbbb070be838981846011d5d9cb41035ea0b6acdc7a04732873f9f0a8bdb9c2c56bc6489f0bc80c03f336c0b3b6389757d6660fa0cf891d7bbf9ecd7d321a7b32c79d570062797b443d0e138c1644c44d6aa1b817330f323ec351143943048896b14cccbd063e4372d53a0629b67ca24af1c58808095036b5b84756ed4632bf13d4a68d819142a0ad5bdce09e074ad73d3a0801e818965fd7203c0c3862e56c762794eadd5e7c60faa15aef6849976f461a6a202d92c4f37de8d0550b66699efc398ada9e906047fdc3e69ccaae0c5fe913a000763f759451f5c55c4db715502a90a9205a93864246e7d3351c0e7f25dfbd2f7ac1c03ca65f2539f538a61e424fe3c6b587795432b252d43985124e15b59e5b25502a26e84caf11d24cbb2e88bad80cf1e888242928d9766a2ba8f4a598056da248c8fccf0e2813caf3acfcff2f90f27a17babb95588f533ce0d92a87b0a03a54b8859f9243a3bce8cddf4fa1ba11ec2f1977d96bc70c6202a7d89186dd6e380c969de3e4a716c6425161f0b229e50ca6bda74e7b56c98994646c0aeadacb39d6b0c37c62d7faa55a61fdeb90bb7743149f07b722f44e47d1afddd52133fec01a4e9c76691a8bf588cfeed1351c8b08db710d7dc6f551462b0e0a767063a76233a508fad271bcfd6800d2c06834e7122c364f9a891f41f9b66caeb43ca819c36ee8bfe3193238efd3359329c14b2285c2b3bfc3030d7eba991a613c7a9d8316e93e9bff6e4f9abbde361c73de671137852def9709384129a2d11db95be39b3d23714115eec5c589cb8b778ea61cb7338c60223c91fc70b390d4d8a341e420b5cb6019aa0e9b4b6d90e8577eea2315e019bcf89e67cf79754baf1911696455b0137f3e53c1048040a3ac69ee6cec286b2368468762888dab973021d23761170adda6e15a4d713e2f83ffe564fd953163823a045669e9f3f8a674b28053c0b463f887ad7d0901b576714653033ca729b0fb4c9b1aee9e264b77a0e22aafa18b0935f6a46c518e430c34f6b034c1fc773cd82ecc0dc33da8f1ff6a29e215af31ccda7322b2e2a71bdc45246d00392f8df9d875fbbbc374404624833727f0b6604aac2ac844eb9b28c310d620f0d62f2741a117d9355956affb31268f045d1099024d8ed60379e4dc533d945456a608a0aad7206ad3cc7d92ca02b11e5e1665cbdd1d0607ee4cbfb1003d640beee0897daa3f117af82890c3aa6d33b555971d6e6dab58f8d73e33e895b6cd3cf36402994e02ad71a46de52ebe0aaa5c3ad06e1f5ad9a0fef1b48e963922ca532882569ef3b724b9c80832c63b87e73fb1429febafe2aca0d482f0caeb4494ca9d5c36f0ed7d589dd19ec3c2479f9b58412de214b165b3cd636139ab702d070b257c3fc2aa6ceb39bb5923adad8cac9f6f30ea1496d09e592c309a76b4ca9ebc686e807c67045d6cd67b485698c54816bbe4f2a50297431f7efcabddfd59355d08ef40be51e1169442ccf6f3d620543dbf1a89be1090e18acb131b21acd81b84cc2d1bbd3e20b7a1614e6098e252cd2cc7e37371a8f2e8b00872cb228911f93c3ef2e21b0cbac7a28e32d523f97b63202ac4f4f34a00ce843f807ba8cdf8daa64119f682dea2e610c27a6f42c9c568dcd436cfc13e35fec0e4598abd654c17b7580c96d1e85f46b36414191b7e32869c330291f4ccda8073c57fab2b7df898546eaba16062ee555ee964f861cfb3594d38b6a95cb33320ca5a9448d9423302975758d57d157b15617b8e8f9f6a6b56327a1d8af8c3b2edbcee960b05aa949ee36639c0968303bc6897aa2d69805805cb12adcec4075e1efbc3077529443197a8713b719f140bb82cb4c1706f702207ef8debae5ef98a7a2e0150625cb00678a092686aea297d65ccd983babe3b08ee82ec743a314b1d5eba5537ba41ee8658fc840e292b10ce40488e51a467981029daa3829d13c72809def343d878d3178e9b1762075f926f8397a62561863c26b6617a6107599faa3c1b35eeda04d108233249d9bdc6070f0d2089284d59ce386be004c73032746d2a56867f3533f74b1c56b9e03c19a39c0c7a04681b4af675f2460f445d9ee03e93e68f3cd0faadb3d469613a1fab51e57be5c047cb2bda9ae45b656826d6adf795bd83eed8b832f6dd261bd74612ce11db74f66565bc84adaa142d364db8386954b1c4a3ddd4c676101a553f4abefd097a1c00940ebf612d3491dc13b73b1324fc98845b4fa514a2e9c4cf35284e9be66f2fc10165f053ec3cb0dace2adad36fd1647006b113246a901425d448273e5056f89140070bdd79e7bff647cccd60b9ce447891d71d3abf69ca75cb8de28ed2ca119cdb642fdae75b055dc663307e25ac25b16a936b9933922f898c74254e058d745df3edd448be0ec8047c9782698072c78758887dd814a72ee9bdc1701a83b89ef45881d0ce29e9623d0adbc5c933120e1eeec9a2fb54f4794d79afc353a877e58f9fa016c0989661cc294a20c6a4aefa8e0fcb58dbbc86c36724e33bc4b8cc0eb9b42f53e55d08bc14c45fca6062c5d4f9deed006fe04743437db62906bcdd7b22dfff8a573eb661b025b08aa16d0d9f91264f535c2a25759424de89310e38649ddfec5f64877e3d16636693d2921ef8ff6f21217857efddd2dbd5256dded71cdc459fe192fe35d02c1de5acd1c710743fc6cddf104ca5efd7e1a6f8d814aef92a797c2cdb3baef57bd0ee52ed2b42db28b47b43c19e19513220e079726c32a5fb9e7e7c349268df38decbe37499893d2c04ba74c65b86cdbad9a253c61159d5450e93c7dc68a8a61f84874b153d53d58af7553ae8a41d0e47d59ee07b4bbb0ce337b5f250dafef0be46196616f0de867821bb004ea3b85645500ef1a610b1de645f7c1eae5f6c6f80489122321045ce4f31a40f2e2eb4600551d74a1ac508c887b301fdc8571d22f71d74450d780c0e55eab82c0aaaf5177e7682310c0d24279b837c51003ea1065fe69611c6753e5134d059e5f2a486aed95265c672c9abe595369e63cc76a46fe6d8fee43d2cc282ade9e985dcd1bf11ec9a6c83312f1ee957f6c57547cd41e2dfe3b73ffadc576a92f707e9b7556d1372436b41e55ba18f4f264ff059f52969c04f44ba29af61113a019a6ee2313cec646b228f475198457a5d1b899bdaefaf31f7a6e5db659535ad564586b9fd687e5cd1bf098d344f517443f5dcb6fe98fa20b80d0cc713fddba95c25b7e1d75ed467d5527bfe35648356bc0fb8104155e22b51e4a9db1d5210ffdf54cc0c956ad0971fa6c330822fa7e527643a7cb2458fad7fff49bac6ca231aca07b99461a173e61677fb8df6e718db3e08d3a13a2513ecd887e340668d4e11131455f2ed8ca9a7f1d65feb8e472ac7a78e254a7bd7097453aff0eef5f6b15e5061e992fddc6b50a7ed6e2abb127321790e4f284e2abcbcbe52d171791b22e37bca64267aa6eb4fcc0c8fd2374ceaee9d2d9ad5186f9a3316a3f76c51d2a20265d16056db54a319253e28fec6452518ba806fd77cb062765ead84394f799975156068bb75d3b40cc910bb128ceafc23a5eb6c2b5ad612ff92caabde7f53de32bf14eb1b3eb7ab819b8bef589dd23543dce79ecdd1a9ab1c6bb1ab9032d4d7eb1fd9e342109e20bd4bdd898500658107c56b8029dbb19df0fa0b835bdcb9382647c4da08628fd4e7fa7342fd9efa989fba98bec0d359680b55c414b1a4b424cf25f72a0eb44817e0891a025c775188aabeebb6cf7dffa99cf38f1459aff4b741e27b298c31f864d3e4bb30b07ce55a33213584b850b009524ec96be3c9ef253e602b7345654cc9482574396a172b7f0175b394a4a6e15528fa990bd0bbf04f563bb61654b833b18d8a58f9e359f4c5f42317aef046346e9cd802da21f3209dc77375acd0ce88d3a2e2f7a4d2dacbe1ee6773cbcfd7adc7a869a362fa9dfb82f6ca680fbb56ff10de162e6d4530b02511bb413155fe913e1e02677da0b6295c817f419962317194e05c7c68c1f999b116443ccce1b17994207164b4c06c66ff22981deff82a1556b50d5b2c164689553c539e7e1275197541b8ec59c2e161ee43ad944a3e8e70f6b0d535b56f34f68c56d60e7b7f78eac632f935d5cc5df5391b94c16105e8cf20e5c5915fb14859420c71ef8fbdbb0adbe2893d0cfeaf50dda429e957c8f23a8b557e6a7abbb780cb6f2614cda1a27950295d26ba91befd38ef642bbe40f8fc4bd251e3684238111b88bd8ef1063bec23979bceeb3207d1778776bd86eb44d0f5dd6e30b2b4c39cedc2e32490cbc536325f50c9a6b8f895748f10871f72516eb0097aa5ad244803af8ea49cb62e9b11569cd27eeee04c37ef400a557cd646e9c4758d0f7f58dee7a603f60d0a534df3bf0bda6b55ec0a81a194dc44a3ec2bc5123001d89125a88020af8f387dc416fe9f93d429fb83288e6f28c13506fd7e2053f0e26bde1d2e9410aaa45740653708a73389bd7a9ef4dd85acf45f19227ac60f2dc133d6285af29cff774544913eb6ae15c7986b94d55bfe7e41bc92652068b699c783efdcdac361c7bd0769f8b3fa03ef614991f73173163aa5960fe61d6dcf6f575e715221b0a7404655efd40b62cfecc09799273dc366662d994698eb00e09170579777941b3ed7ab13f95c14ab2a84e4cef3704d3917e8ee8530012074b7900b4e132f980413a486ba92104eea9bdc191af8cc8f0e755a246a0a5c3021c7e0561dfea15490d71e90d42b375ca69ddc4bc45dad4153430b33a7efdd9099f51e857bfff14cb89bca61fe1247af964c5f6a0a41d46381e013a6a0e06f66a3c40e9d78a16e465b0ca2589e980d23406a033230e3f7e05357c4f29d2dfcc5839776f87519d5d2b8a5548a8083c6d2148b87850dbd6d9f43b4985797ce3712fa7ddad5d917170425f4e06f9e7f3f5553b9c17ced7c1ba7d54cd365ec915d6f4214361509831034c91c00e3a78529cd9b51d4678c1c48198ad0d7ad618c0f3fd8a15741e8eaec96b809dc26e5f0d0634d1468088497bbb36d9fdaa5d4bb7f129fd0fc3abcfda336fb2ab1155b5e7d8c56cbdf26a193c6681d35d7c1e4db2ee8bab4a2bb28ffebfa02aafae842ea10a80add98760ff0f96c231d9eba5a7b04e8ff43647ee4666ac841bad7ea12dd6c9dc6f1b6fbb05a5f2addbd8305580b59daee15d99b16aae3a92c28a732e262a9aaa57922fd55b5f72919ee45d5ad4684562772747d8d37f9c72c36a4d24da119b0eed5c41e26c50160c47dbc9f95779b8654de2209fedf9e1fa8985f8312bf35f1fd12861f9d6de2ddfd7c6536764fea050726615c020f5b05ae05135d4f0e77769e9e8b7d5b488930fdc6677e8e2b0fc5bed1e0a82c094950f907ba7091af465e179c6bc184e4d661d5f6131af323f225d54ce534c63f52b73caf6d6fbcd4b08488939ad14db1d1916cb8ad31d79eb19f45e251a053b5ed350a27eacf36bced8f8a8f190cc8860402c69bc1787eb0c72464ac64b5c7af5cac66e7bd893e1468a0e161b33720c3abdd4b74eb2a52d0a5dc59e33c7c1e9d59ed25420d232c81bf1f13a8cd1fafc1f5878c5998a9257e0737c6eef28076c37badd6f3fc30dea136fc5778eda7503f25df5d75dcd8dd70e9bf7df20b387b3adcd05185391f23abd38d2b6ca932414b5f36374e17868e598692506f264927b346f0329c15f281b9bf36d6cc9a99c3521db76ceb5746b477d99ad529846f34ce660a206b21c9c9f7c3c05300831f09944f68706376966b28c3d7b6e4562d1c9a113d5dc805e99a0aea778093d9851de955c6280f2edda634873ca0e11fe9598bdfb1a79a3def6076efb565fdf6d813438e1e5b727d4b4d2a2f99f59bdc6608f4d576c8e9b0906e92797245f8637b65ddeedc90e62c50670e6f58aff4514fa3f5145904e9e134cb534043fee6b7fbc454cbb64b4c2ae870da148f5b330e7e59383883469f3c2c8ab236dd0da3d176f0dc4ab66c2ca325f14ac6ba9198d5a4a493462d6c222e2faf3e1bc14f6d4f83fd4926169bfe9bc10ad419f9b804299d7eeed45354d7a4f2a32de8dec5ddb2071d5f9a9c4f6f2781935f2543928cb84ef4cc15427fbde98401cc724ac0608b1a2d6fee1e4d5276c3f11efd775c469f1a3273f3c468da6646564fe39471f1cb700ad8f807fcbda8c47026edad69e8331d39107e35907910f12fd91c70d24c7e7e72335dc89e08472d6579610623f36cae7869174bfdf53429c2b7d1a03bb5d716b847b7e680634f6ab6adb03a261472f09d90d702ec40861ba2010343552c3677738088b0197c56d6a0dadbbe9220858f9290efedf2d1d6f3e04f40cf2d601d1da0a20340ce88a9c8bae187dd3d48890af4da11233f6558a2d52e011934345494cc3b44f7b14dcda0e73f47dc4af340207b3859b3e8c307835698ac20f08542fa686b49bf440b34ed3780137918a78ee5d515972208a7554290a48b5efe5cbe6417c9174dfb3acda22f9491f933d6cc93ecf06dc0379482ce88891a0baeda1b304b538c82ade9a5835b3dcca0b116311420f5d6bed45a35c693d09bc4d3c05c7d36bca5c34aa2babf96c712bf171501565f46cb2ba2f08064eae9d44a95749379d97e2b8b388be9675c0e270bf3fb93dc6fee14eb5d802334dd803a0b6a924ba333a42053f3be4882e72b832d80c39adac3fa779ba38b8800b994b4c89d5d35749e41a120862ee2e6fe29cf55c7d3055f45b5436e1d60d1a53627671b9b4e6a330d9785309b62b192f46b9af13d9381272da7fe69f78ae477ded20c0f0e73f7ec1c5769a1fd4d680987c546b18546c2676d7d42c5583a572f4a94ff0b80bb552c1c2d9adffe444f4aab70d5a543223164775662d73c36e9e7c1d2fcc0995c1784da793a445b324483737c86def533e771cdb8b9547632fb1a7fa4e08d26f79e863c8d1f8e9f55eb2f3eb230310b8e293ba2b4cd48d574df7e860ce911a28f3a8798921d27d11ea8b484cadde2dd83d0211d486171c6beab26eed3059533a706683e363448ef023c13713e20585c4f3d109d46addbf474be1c48d3f71d0236094e7c343074668f5dc84f0654de675fcab4f246df8f76fea41a7f2873079b4e37ea2130070cc5a379622283f190fefdfbd66df7d5c95d80ca5a11395e10b690abd84e26eda6b7dde912aa9f0c90866faea4e64a830a6d4459f9a007ad7e47a2d793fbf861f8685cf21211ac513850c5d2fe26f05afabdbb9ad8d64b70d55bf4d95dbad87b236a5e1db05f5a5edd5b27042d4e9e784f54bf6966c70be1e2f2a74cd227256a3475d4cbd43288fef7590008e0d5981396e637305ad0309242b4c5cf4aeae037bef0f52050161e9d85beaf1d94b5c3298fbcb1f66ffce7f3a35b22e01f4422b613764170f01623885de923e68bf2c2bd6e5e5d9963217a2c7d0b79a460f53f2a774360ca8c69b6f85c0affce152a14a298fc4f9a7622c6d03a9cd4574376127092a0a5938770191a1a8b983ea4031762f70e342006a03c4011b99ea41fd20b0d25ce9a178072a9b1dd38657a8a09d3f2e4227a3c5f4bbf555a97041bdf7cb90f624b2977dd8e63b1ae3b32de0cf6e94dfe714cfcb968d569d49150cc023d9d2bf6152eacedd5538e0e59cc5db8f2e0665f87da28e53212d0e90eade0a72e747edf4d516011c7309046e5509f7d711992904d0c64fad23f70df638cc7068c1e47840dee896f33113c365cc7e492bc01aacf7fa752e9f3c02e2d1035035f4386aba1cfeb03c609df1add61d02f1ad6668dee60f303f44c529b832f7b36cf526585046feca377bf36a2536129deda276725a23b62cfa6778b4de8f8163daafe15a3d815489732fa3a414a6e2ad80213629f92d67cfb7b792034ff13c9cbf1cfecf445b09065a48a27783120683750cb88986f51bd713bbf2cbafdd8914262238a85ec5c93070d84ba82b1325dedd513cddf26b78b415bbf8b4d79613c52e0b92ccc2bb5f31eb6452c6780ab7cb001aaba0d1b5df245d13db043df7ac3b8750eb20bae8c2150dd677a9c72762b68845968488dd67f13163a8112261e1d158023fb3e74896b12b6595c7d969a8b2a0cd96ebd1ee5a600ec53ee530043f92353b3f6c83611cf8f626769a7b246223b80300567de5ababe17ad7fb1e62dfc09d40b27abb3e2290bba9824381f999a5ac3be7e022333eb3eba7087ea144b7d149b8dd2325a638e8c003ceeb239de3d8866ea84ed99be4f55aef2e97780cb41bb69fa8a0576bb032af1a6926d8389db97f37ce2cd1044dacaccbc46b316222e2323f625f36a31b41920c799f919efd9421188eb64546116a6d44008ff629ff189485efc299bd107a51d49e5279c29bbdba41a0d5b25554a9806b362ee6fb10a0b775b6b02a8490c40e978597ca69158e5e559b1bdf8b30c3b0a75f0398504f66b7c6845ac704c9fbb3fd13c01a9b64d063bc3349ad1a480e727463c48e65254aed2217baf565f64b666353dc5c2cb06e4e88aec79ba14e76088903e7d43b7e493121983d6ce84cf6a8ed2ea91653a732ffb704d62817b30477ca447e1abc0652fd830881c224826cf5a985cf0f21d82992f269c29f741cf0898c4a36aca363cf60e1c5ec610d78fdeed7355cc340855410fca3f555df41f1b1dd9bbbe5f5a5bc183365900842db3eeedf28baaabe7c411d9b900325142fc0a332fc018b7d1d1c37e6cb81202295620e1fccb9ca0ff0810aaf164739d4808851d3ab14a44872193a524cb20323eff47768c5f9c0c316c5a6ab39bd16758f223f163c271bb9ae3e5e58152dc5cb78e1a59af72f755694b16ac291495fe6ecd7f726e40ab92b1e0472d685ffc2c7003e1ade7721311debce50259e810cddece87c59c0bd980ad668b6c688d49493f49bc652c34dc0f4246131703426331222fa8c16ad9f08035609fdc375aa9d4f932c3d6351d495818a93870c6d763cd4d63eee8f0384ca3ac7c8516dc763d6a5efbdb76eed8e94ee98eef794dfb8645dc3d01e1dfcb99db8aa03eeb7ff951056be1c8b34279f257769a0cfc847a94d641f318fd63b51064901468fa2a782856038b2291d1f7d5dff36485981809a8c23b3af003f63dd787d5d5b1c3b2070eea2fc0662483b36ccd1c2b0310419db49e1857c7e3e4a36c793ecd8e04f22b71dcdd44f0c0a22714c4d940221612fd9804b7a96aeba886e1ad49c437b92b68f5d13b727d54e40a7624d454e7f5b7faa25feb6d70ab73c9031a080765389f7fa924dc98275c07ab64ba726c4219aa4998e019e87fbf9cb622a133827beb4ccdf0543103d3a3cd5acb3a2e21637fc019eda9ff805e76b7cd7e0b53476fb111dacfa98e7f61945d90cd40dfff5d799cd3f2aac8e463495b4323c50932bcb9a0e9294b56f0f9e51fbc17d4ff73e3b4ca01c6da2646a2e9cb853b2c59533fec261785b3d6aa038b0c25232b5e760607b837caa1e5371e8b6ee4ba9eae7ea0293059b0a505a2f6712d0afb8f7797f7ed1536d343a131bbcf15885a3b1ef2a663c2ada8ee343672e9dc6037bc27a0726e6a9d827226b0d079ef6c61bcbdcd153e3765aac92b49f29bf1cf93bdd83ca82977b7306cbb2eb3a84340a4c61aa65772b7a9e43b30777a62f53dc2f6400a315cae85169276ec4b618f67333647e119e9eb58931110f53c2f1d6cba105356205f0bf3bd354a0aaeb3d22290addad9f42eafc5f475a54631006c7317ebe60c6546ce1278a594674e2d4612cf7b305badf209b6624f9d072521218536b7e53981a56d21766fa247474580f52fb3d2b7220a91ba33593ba4a06146b5175463b8cf826db2eb8659de6951010c193e6e706326898a878ce70f32dd6854e3cdfa39bbc1bf483f23d416e1b7f1b98a13c5707902bf2ed4d3ae4ddd634ad0f93f4b5cdb45d3a59b0c15654b9b757da00afe525d36d2bbca6342731ebff8c26cd4a79ef4762483c83762e243edfcf19f5857cdc3828fb62fb9bfa7de7ad02b8dbeb373b5cde774f8d0dab19a4b13a212655574a217ae07d600820f9262f749001e86d079926bdda9d914076de0e1765db9ad779c899573804eddb90ec1f514772e065f183819646a1c5f09df20bec7169a2b2ea32b10dc7aefa72eea3dca735a4e0ba50fa98b2d70c63e5452179d386c7925934314b34b779209dcc430012f8783de5354bd78e855271a55d3768de95a48b43575dd61081ff2d38eb39b08dcfe5a41dc81d05c11e65c096cc6eb1c1059193b9946e9b8f83dba3f03678cada7b636f0357dce519c4c4008260f87f4ce760d0a99029910030caf5f3566f11067b328e90803f9985ab5141f2108189405f0b65bb33e943266e80a3535890dc5992fae91abec5749b1e3a8fcde88cdf43cf439f74cb876a99e45a0c8b5721a0cb9209413604fa6957a7384dc76d9f359c866d8091319d0c16f348fdbc2d4d59af34247e96183bd4a226dfdaf6b0388e0edfa6df5627c6915f7da39c6554644a5a417a41c169eef7eebbc4753bd9781b2e4352daa95d086c39587442f02436f2c98e88355f37c7ed529d47ac0d284d0e8a0c1c7652f3d65653cff24c5b5f7be5ecededd4678c48b29ad3c8ab6352862d9419d5d89b84523baa20fa63debc561bf4ad851e4395feaf4ef6e237ef267defcd4df7d0ab188a068ef4ed5311395dadd9a02e50a928aa97af17cc61d3a249c6347c7bb021300cc8c0a0f6f6c98732cc2fe47b1b5e1b67ec0dd7d4cb5471b41444af768c172cd17c79784c2181eeeac79311397db6db659e0d32e49fdefa45b6ba2d32d669ac1238861318a1a71e59aafba45aad4747b7de6dc1a90137615df2999f1bc410bd388a5312ac9f4f26b4e0767936993a7f422b757be2f3ae5ba3da6c642c4a390a6ddac7bdba60c386daf118ed02d62d081f3c4d77957f0a093e190464039206c8a511fad9db282599bcc362823807b24d2b211914b2440f939ea53c1401680ce35127bfb68386009763adbf3ded960b98a73a7cb341355adb642de4dbd5599ee900addbb152fc27ebbe0e9e5ebd8b8110e869f9b1274a6ef4909a1edb3ef5cf5f71e6e0c4a2768e754eb5e514d908e7e89a6c82cc60ddaf9464d9f16903d6beaec3fdcd7c82bb54f510710a5152d3f5da0179c503b84c04e0a532b9dad162b1ab9c15fca64ccd50918a10749c3e41ac2c6e4c04c5096ec359b6b7c9bd9e0077560fb89b15499dab3fe151733bc6ee48752192df3deb7132642172f709cf145b77faedc30cb122c7ad9b055aae729ba4b0788310d55a7889ddf4ddbeb43f42e365a4ae3a90a2141d890c32c922fc4d8b3fa99e5d7cf986dd6ed0ecc29b557c0d1c6150ea8bd9b885ff643b9f4a7e74617bdca1b61e08811986fa0e49180d62b39ae08903ffae8ce361474d67131c95f5bb8133443f1fb1699c8914b691bf4978214e709f99d22c184253e2f360ef4e1a497dc0c1e1c1ea585f07431a26eb8fe47c6e74fc190a64740ce573f81731a3c59db6d2a8bb5ff16787af3f3037bbe1d379071113df3f3f7c53cf572268af3ceac3b5879d175cff8f2be277a98cd42a264499767ba91e97c751712fe4ecff7f31e81b591ec3f1b0cd2d51ca160501dce358f0bea0ad1065644adc6dc21dbb648693325687708706e4e254d1dfd5e77656481a69d6c9f29edf8e9243c92080e38ca1b702a94a1da43fe82c234454149de83a0e28f3f782e70e0f8173f9d8f90e73fb59da8722da7e3ba76576c14728c5de4cdc49c33034de7e7edf68bb2003c85f226db463ac5c58db6e0027e3cf52688ff468f15d1179111451574d246fa66e7f35528e45d67467862b07c68e7a071fa0b2e059a8334ce1927a5a230d2637948bee69d4f355c9ea57479a9b810b4d7f9295f752d40fd3711e8c6c33a5589712fbad5691ebaae48ee99cacd26044f3302d581a024b15627eadec09fae01770913423aac432a68fa20c6cf84f779fbec7b47066f2f02162d78bbec550a37debb7943fb2d6d687feab436561cbea0e855a1e141a5ddceaee3799ef87a46e46fe1b5c45a084f6ea65e82da5e6df678d685877b826b6c1e2f7e1a2eb2f7e8db5a69ccf1d65741e32827914da9b00b0a0bd2599ca068a9130dc4df52b59f08221702303d33f43eda6f9b228fe9a59da8f1280b8b50cd49a5fc953639d0eec64229f03e4539a61c3414c2e0405b4014aad4792a9614b8b696651afaaf36d987c5ca555b14915e176d08a51dbe1b7e10e05e8be57b66054efa5a186cbad9472e686bb91c01fbb185dec12feeabf47a81691c8f1b8e623eb243adc77519bca9afb97d3088c1c44523e48902796102c9d52196ba22d8ab49d451b0824bc2a2c78d9dc83fe18e58c80065a20111e0556d6d4a1b7ffb46386bfc42dc3ea03a5e9a2d2aeb36362b3ca13141881151b8cc4fc10d668ae7d381b0bcefa9cdec14874ebd35103584559eb91d58edf45bfbe25a77078cce9f75bcd436b3f536c09cdd153e874197e198dcedfac07639a9aa100d76ea92c7fef45c854043533353b081c91c98fe83bef0247951858c18a775727e1259ffaf4130e345a675322bf51fafba5afa1183d4a935c92c8ffb24038c8295100818cc86d1ecb14723debcaf97b6089ac383cea2c4dfc239c555a4495601241f46f417fefa19380cd9060cecf85f8410e125bc8f5a8551bb928271457bae9d6f008fb70019811ea8da34ef6e8503e87c41ff2fda98328780b743ea8852ddaff880e0cc33151da36d0c1a09a28e51d7c919b6f558876783b020dc8ca412b6a5ec079d506df4c3a2a92a68ee994883acbbfcb3dadce04a197d2ade826509e11a9c9cad470794018ff95076b0b1d44a1769d2560ce9ee4951fdff1c0bc0359e18b8014b27822b2700153087ca16ac04c82b7377005d8289ef23797632a7ff8a57e4a996762a7dcf5f0cd4a3c24cbc519a45ba7f3030690060af5a954fa082f38b756f7296c9ef14daa632375a152da67dc3ad96ce39dabf17526330b2eece337baee2fc35027953e30ea4bac6a38f2594ccb06cc94e5783c0dac5231e08fda6e1a663893a54cd6bbd91e0c301f3e4a936de4add89eed4757944b9732f8bcf57c4c305174b4efe7eda0cad44f71a10bfa196cb604d65a0b6b131de90e3f7f331f09c7812ce8d61874158cd0e72ee13c7d755e32c4409d068ce5addbf1e9e064cb492aa7ec532b61f93d2e2be8ffc2ee31e514f671703b5bda2cc6b1852c521cb9e45f8c7ff8060f9d4fbf04e988b4b3a6bff5f3da81a72886b86b9633759bcc86019c8e0c760634b32e8667ec647723a1bf493785ab16ecb5edef958c07f4cfc766b25f082965143e7a8322a90c37b21f5be719f9f25308ae266e461245afee70531dcd4b46745a001342cfae71a30a8f4e36cfbbd963db12ffe2d2a202351010e5f54f3d1298287a47dba2ad8e94d0a1238185f394f244a9f1c139b77c41899b691e0ec2c83acf658e172b4c1c7347eb271da31972a98d0d9ac03a3e4c5fe20a795d15b0d27efc4a5f961b7ed1fa10d200fad88315dc88b0547699bf265cb9ab7d69e2b9be97c11b10475912c3ae088131ef4fa518f17d4ff38f0b2a3c10427c61022f050e98f22f61708f1425ee22f3a65ef05ed25b4b8790cd2051675afdb4c50eb0f94de7a934e533e3e51e5c200a6a0c715e88bcb0e8a0023cf4c3640dd6688d74617a4329838e6ec2ce0cb9281b3783c44e72e0d0f2930fe203b3405f9f9c69d2027e08d59d2f0e409eb08fd8a79f13e54b5a2af39c1dc511bfbca53bffc214a7c0b30737b611206d12d475d4faeaf36e49359eb7af2fdba9d17fb694b40e79b6dcefbee5426cffbbd6c0d702e1d08e485a103e086aebe1b2f9c13694c3dd3da613613aa0010b2afe1c6b86dac7f3fcd8e4a9da31afd84e30fa2751da85d229f74fead3e82d923f3cabaefcd170837e42fda9c3c0339a93585ff3236cc14740595ca8e634e0df9acec95f0f06d410985954268b618074337beb17aab57bea57b6748c1a8dec1945feb5b7ae855cf72884bebac30cfe2b0c1139b39936879cfa116b5753e519e243f4634d3357dcce109a83d3011c104f8c8ff14c6f7d2fb934d8d122e4f90d87162dff3422717dc6e36fa054fadf3105c333d2b4c4e8bdb3ab72d4fc8b1e0d8c6622d7b8c40db641442ea73dcad5642817ee63a715ed6026f274aa3e9dbbc438fe4f0429bea56178db401d5845eb996ae4daf08d8c4d6ced3a0ce778d408ec0a8ea055e67558858650f6ff7405f90e8e1bc92ea69c95a51893aec6d19408fcd5402eb9554bd9076751b40c6a758f28af417e0667b423357524a6300db084ca8f45cb6344cfd713ea83fd13b05d16905802f2d06a4e3187800d8cbe5bc00aae2f21512d1778a74521bb3b59e36a65a9fb3e9b62dc0e1819c869abd32bb3df0f9d66f64235ddfb5bd9111060b95cccf5f985324e3daf36c5050fb2b10bdfd663ffc24d266d8691b01a321d15bf3ae8f05a4a1b55a69c74a576de593418dfda8f151804614bbc3f4acc4a9fadd9a9b9f44e3bbdfbdb2805c1f78124b18f3bee509393e9d8ee68a72b8a844395a1317a6301a38d22c5183a4036aeb32d1a438ac1e19ebe64733dcc43ef7e4843a9b5d2690150edc6f1dbf3aad179e282bdb1138a58b57c3a2d451617391d5f11b39dc528d40b9e0e14b7734265793b3edc718b086833df1344cd6d8097afcf94e9673bfbb104b1e387d4153e7391b0ec071303a3c408e658f70f572bd5372bf702b8005c3dab5b3dfa54ff2c6080c614d2fc7d5c4ebe26697040f4a3efb1073a7ab2e65c2525a5700755c177bd40bbc9d4af48beb8175ae7ecfd650d37b8155f514223d9ae5ca707f80b2bbfeb9a8ccf83cef87c9234c7d0bde894f7a077ca5172792468e97d745dee6ef64fc86cceb62d0ff8489456540420d1843a7926ed3d75946097809433377b93f8028d6e11756a5946de269e819e965b4cd0a15ff2c3de6a2287fe226951c343b705c3e29db5780d07acec95a1a6630762d67e7be9197536cddb457d711c1ac3f09ab16af356bbe0060dc75c8ed8df7971bf60b2fd73093420fa9d691d84e4ad79d139abf15ab2b9bc627ea17a1c1f267d1350e03dd7d54b0d0a238cb798fad74e4105a3b6df4f237a20ee5bde67ea66ac471d8ab3cb0ae97dabcd4e3563722742c81d64dd59e4a4be2d49d707b622082ff46715a1812e144797907cc67b6772b6664bb6c63b16e3918b0d15e68d026f48b6449f957214b6d3a423ca6eeb0388f8d9483b688efdddb0e21e54715280f3d9df4441b8f7cc12c8d430720fdc37f3841ac6b991a8785276b7fe7f8333abcd75a8ffe955ecda37c3c321ff3dd941b7055d00d8562035fa158c7e11746aa1332f36cc9100ac2ee14fc722ba3d38cb87dd45cd5553803f48e65d8ffd8b88ea5c6e9f0393b3404f5518a14c630e6374189f50ffe2efb0ded5212d7197fdcf5d6b1258a38074a8fa484d150219742569a0a23f73ae6813070baebb8c31413b460388fff67956d63649da8d7af1fafacd3678d06056ac87d6c63b0457d22f74b06521c91287f117ab3a68e15261aff6944d4c7f1417aebe1a60509f4523d56afd573cf3a28348aa97db498e8fea3383ff2e25abdf5bc8126e01a9f9d4d744aebaf59452fc97408d4e520a624f9ac60b5d7b57e4bbef46101cafa610bc8572f84941f8e46dab0a70d2040111497fdb93c4a14f8413fa808d6591994926d5f16287f3cdc7d6c7e90f9c54258f1be11d5d15b6fb783033bd0c1baac21fefc00f9b28e5bf1642cf88d913f9f9e477c9b206184c353c15b0f25e998f25008c8270ae88c1a7c7df91182709cfa0866164bf2dcaa0a8373dfc286e2baf78baeae83812e3b97e122808a21a3fe96ec240ea030b07496e8f096b55cdbeed3ab4b288f9063507ab15bc988ffed5a2f197c85ac24e0a8cbec9f770f74848f064618df2a70ecca4a377aa0b6e78eb30efb91afca0e768c3fb23f5f3cb53495c25b561d16bc8416b2a588be068eb63cdd6b520442409429ae29235ee9ad93a11b36cc0ae354908c18ff7e9b984dfd79e3f0e03f065f672923f4e0220a99587802e92182d5f9e262d18d6a8fc1a978d7473d00772a701f35365221208c5b623fe807715041fcb073f803e0c41c668035442229ef947f60d2207de89f568205e8b93e96337efebd16db28de25ee6f3119e50bc83b8a601df2f3484e8b9d6326fc3be5a2503fead58ba03a8a6ae1337c2889e9c4ec2041e113c5a2f465c835fedc5c420946d48e13eacdf43776673dffaec1435a48055811cd91715b2874e74362a578bfff1a929fcd9b23509ceb4124e24d2b9d0417e07773fb779863e73a0cdf80acaa00975262bdce7a3bc471ae9b19fd9777f74ff09658582020bec6b1ed76beb9b70af23bb95aae885c4de529645a1fb4ea7aeab3a3639f664e2a8ab2aea6018372d3b8a45196623f198ff93291c17d6cf84c33732b06f8932a90d11cf82b4145266207805af1d143e36d6d5286383a648ffd491f4a78a51bde6b612e513a55a8119d40bde2a1fd587fafd8433bb989fc2b046ee0bb38ab992836a4a70bcf923baaec222a4d3d3c2996f17539c99512948244beedef70db1b92cf9de2c970e679060153051e28487d0d28b0405ce7de6be970887d46dbc4899b3fa3caaeecdd38d0917baf8f0d6166e495d105c801ab8666e5d2decdb8b3ed6efc6209cd61937edfb1f4769d5bd6df1bb02a47e13c3cad212d56fd9fdb2c03399eaa1787a51d7229118348e0cdf529cd249914a1cfb28eafdf11a31373078932c520e60f400970490897a4bac99f5966d7c9deaa2bfb8d5b8a4b4eff93f237bc0558bc32a33ed1a121cf22cfcf75d3517014890cc071fba566baf0a30227ba6f6f05593549c0d1e8411c9f22e716e5f52d12f7e668960f8922943ea38d341d0c34f2b366bd72435be4127df1a2af714be16686df58af57d403183be5a856a31fb19da57a80e00dd89160222d93b710b067bd81e579c71d7c40d48e537394a2e9069f10bd5b38f4cefe7beb41d60d53ddd3fe270e7ca2ac658761a01d6fe958b24460eede5f6c859dd36e3cc1b54dd86207a69e8bea3a5e7ae5de4df56f962e2788f7a443361a00a70f59d771ee2f597778a763ffddce0ae0229ddd6ec99f0a38d86b72b8fff214488cafc09022ec7e24e32772bb8d3f6513068a4b7c77042e0849a56a00b8c2eeaa28fb57f65c83f194584336a0b076888917a6d3d782b152772ba9b08c7e3fe7692646a0f972c39c4ee40211391a90ed8df12f42e2c5db927f3248f1004bd3b894a8b0acecaa6ef58ef9801c4cae866ced1f8db7c640367514469d9f783640f936bc328f68715e02b9a0e8708c450fb28e03e5268f30d14d775e1c4eb9fff9a2eb8704ea41545ef5169196a52a0419e6e3b98c5f100561a98ced1001d2381b6cfaedf5ebde681aa947b4ec82bc62762eaf9a254cbf545dcdbf8b6c43759461edb3fd8eb0f1327514540afdceda672cdffc1ee5a9180c9ce1f3c83bccfcb45a9da5a7d4e00a194d56284b3266ea5e230ba04231ab47de6be51549397b5180746e1d02bdc2f67732c9177ba81513a46e034761ad3674df650d40710849d8774508ae74702e32aa341270aedd860916abf3cfe8f42a7129e6886ff0abe805d8ca89710705e634f62ab03d2aceb2e1ffe13272cbee1e89ba861c5ed03584acd0aa0e7218d956d86a58816b95a65e6f5715c3acde0584fc499f1278062404b86ad07c8d17e59f8bfb4bef8c143cef2a49e27ae4864a3ab39cca0d081673dd0cf2d3d3c2e8dd98f675165a6b7cc1c248618c3f57eec1e419a9b89cd9391993ef6833b4329beec2bb9708bbf19e71c1c87885ba03fc50cdb3a1d4ef9232e5681ca5f0f0cb6853215465f3b0d4a2e7591d7f843ba6361918a34ee988a5974e3bcf6f56e43815bc2165fe3665fac7e5b6ed40dac4139c2f4be85f1eb8656c6bde9a67a84bb21f516fe6cbdea8c10b30840be9f2632e85f205ad940e477609da37aa92fbfc3216136a0603c8464c7aa4f001914e64da30ff4331d8486a6df46b4b54bf0ae31f6628dc54afd8fcb2adb2652acd96f55c625b4de141d50187d7f34a402ffdbccab22ab8335f15ae08428709c3b88f51e6bfff31df744f2e85ca858bbdeb93a0d3f7fc2174e54371c5b9199c4bf955910597af027c80c4b01efc8f381f50b4c9562a2de2fbc27c18e3546791bd0978955776c799c7f6e988ac08f194490843145477ce45dc67fe1d26f15213da00567525af295843f96c2e7e25456383a738bc3fe46245577894ba953d907dff55e825e5534c602e6e63ee6421ca8efac5e2f8a913e5ece10bcf32ff5e3aef34ae4cd10f10686c3e1bc1bca62e7dea37a5a7c6084d034f1802eddb6464126a7a2ad6004bcf629b8dffb666d461bef777686b311248b8d369de209c239b3ab492dfd178bed4012a94463c8627ebe518461a6346ea057250a046fbacbb6c9235da7b44f05045abfba16903940bb24fbe9886fc770763d3b645357ff4260ba5017f1fe5618e292ccd6ddd646314322c86d51a1b62cc1de9c7c37a1ff1669ebef0164c84b1abb135a5359c5d426fa577880c5d7a513b15360db810d132c37b83c7397ab4aed4471650c2a9026e1d6f9a6cbec017bbe1b41503e459a13d98f4b2d2aff2a93041fecda43983409d1d3e1859700ea3b5202b781428431d09b37f470abde0393c10bb0da57d3863e104baaa50f8dd50feaf65e7fb221bb2c82658861b8fdac35b053c09c49d929ff4348f7d0d69c600027c3cc80dbb069e694007b52b553ca76d4e49c71e63a04da27f49ec69860c257c26d267008bdfc939d4a1ede36070b28b5908b98f1c23033b5a02979ebf02b18387ff04fa706c915022140296a7fdaf69c107213e6509ce0a83df433050594763943e5e10042c698132f1d38915cd0f33bec2b5f6634ceaaad836fe88ac2fd956f9cfe0c125a99400cfdad31fb3c8c2e7117e3ab53d3c7003cf2852c8c0ffb5eabcca9c7b5e89aa8211b7f0ed21872039023600b0ddcf6a7767b20154b15ef3be592e6bb12dbf01f91d95bf9f468fda023cfae4c54078bd887325ca043e567725f66a812b6bb656da8e374e48bc64651395c5c20b2ff57dabaff0f6f28724d321a3bbfcf5ac232abd6bafe19fe372e4d1fd732bcf80e74946f2640231e392e7bfae1c1eec8e85d840bb61e1fb2666199cc17ddcb5fed2b39aecfa670c7500f109962cb8f1f4491fb81a92a7275384b903fcde93870175357e40f60da9d9fceb1366b4426d4f8a13618512a09aded424bc035c43ec663951dfae1cc836c75e08a0676ce77ce4bbf52705cadf3428c9d8c8710d0081b532f1012572f0a625a7789202e21fec5da12081c0993f69d8ccdf618ec8f33dac120bd8762a2611c7280a9fe1dad18b0159a7f026a87b6ce2e17882048205715c0e069c6fec794fa0a803f08ce915d0650af0666d00a76ac4748673d3fca5465ded8f101b59d35e22c377a8e90a97b5212a99fa73f80198851c4cd7ec543d979cfdafa28406c633f5a2cc85678d898e92cd61cf0cccc722ea1f5c118f5f58c70c01bf01f6f0db6c779cb75851f4d0f17c799b8a6de033cce4c4292521adcbe6f1d5f4857f48450dbb9c440f5e14962c34fb09f57467313ad9b4865777329798d2fb4a10e5fa680d3c7de77d18bdf762b3ad4b72bd74baaf43f9dbf3cf19260f3d4d7542fd02076b33d068bbacc8a7072c128f68ac513c3c1a1a23231b7a3ad5a95a10eea267a1d1270285eeb441590e7bc98071744e089e805502019677567d8f632edea759bf78632118a24dca2bef6fd963a6fc84420c537c5850ed6cc2cfac61c39b6071fcacd8fe64cc02afbd381241cc809c9b4dfadf5030ff5926d6508ecad482f316bb36b72bfed167f9183d6963b98946389508bb9d2a0881413dc6220fb18eb5dc86be90b49a6b9ac94f6e7230e69f147d6a19eb91db994aaf455136c87cd9d70425abc4bc526eab8b346793a748355878010957477b3bc03ace5a4206086131440a9f8a96208e5a43a375b497e99c6b421c5adbf95f86b186c6d9caed8741264b504501ff871034e1f147d1cfa428627d04aaab65cb6c685d0f80962ad23698b3dbeb884b45a1e2a65c7d6894c6a128efb5da73c22394ef36cbc4c5373d719fe555bce9ed1ff47bb5b36e9f4deb92b9f3981df2ad3786876f2e90806d791f5ce0336b9cf4690bac87f87db44d4346b1e59984d752eccfa3213e3c266fba3bc2a00d2cfec543f8e380ab61d3e9d4ce06b9cfc1e5c74b0ad26c70afe76ae04a53fb06ea999bfbaa9c2f6feb75fe3e4c7004f60f6c22d924b3d2744adbf7a7a8fdea278a12977f87101f858239dd0bed2f09b61dc89045ae1a017ab83fc2897c65badd60c790ed35fdeadd433def1eefb399bcd4cca3e8f3442ab6c814749c19afede61cb362f88bd5a9a41f6d83245b55e58335ce0723383f37ab1bb06391f46fd71b80bc7bda9557f913ccfa97c77cff09ae283e2a5ae4dc4d258356368c3ec1637055430eb117137cca1d9e9c999020d9a18342b65a539e595ca98b6c95cb86f421e4b10bee9d410ae8c7b45f7ed6fdbbbbf25813700f55ca696223d5592838473bf37df15911c4cc8c5af0d398a9c1f070bb9e862f19e90843969eff999fafe0a22f226eb0bb99ddb7ca4bf7e1a0f79ed37cd10dca9b4ac983f1bb074303043d98da413cc77e5560fd9c3df1292ac68e0b822fa14d331b5b23ac42c6a78c0b5562908f0e2098f24716ea24d063e6832982ef7dc990c0dd52340193e3fe6b44107a9e8fbc8805faa51d6b54b9e90bb6557acddf198bc8d9db4665d4fdd134341b016740288ceefd473a46e487f87bea163db118fcd4c3d59915f9cf5df8f2dc693076d473ce3615580ed685da3a82ea7a7540f3544039119d97b3fcf9faab26526cae54ccd8888c070b61c8d259e3b8553eb26eb57fbb37834595720c067832e96759445ccbddc7dd2170b6ce9d3774c8687e04bbe311505c4124ffb63ae094c758cd96526198cff9031967175f3ff8e00d65f127f5ef2acc41c9ddde5978f5b7d4c79d6746b5511ba1a830fc73a4034961a964c0fc0e56e33f7be196cb43726e271f01994265df093f090b1ee217cae0acbda22692fde7aee6571e6c371920efc28cfe7e1b5241637bfdce38872465730c020d848840026206f371270697b3f3c69fdf0ac8af4f8f2eaaf958cd63bad84d6fae80d93172c46af52b13c1e02b3aaa423a021581f4adc81be0b01455138c83a8cba3924d323c242bd4dbf9eca3d047e4531a94a8bc9d23910c03bbb487f3dc7fe58a282691504698e980ff26d75a6c171c8ba3e829ab707d33fe1ad8f5b3e86a112d5d98cb6c2558591df6a944d5f52836335c7d2e619ef82853f5ed27c8614538a20fa61020d0657098641034ba9fb2d7c010d8f5ab300582dcf32d9559641df8209a425c74a6a2ad58749246c120d1ec76060403d5059476b10b30765a7eaea1b2a7751f895f7f219b1796e6c717e77ed25e0ca3c8cf7da0da46dd43dfd273130733abac3ad97d46ed294e277fc548b30bafd51229b27e7c53d998b030ae0c94a36782a1fa3bb431946083ea5426d974e4289bdb7b9a2dc67c51546234d9f6edb86b79c0c3ae0fd8c6a817b08b2a7bfd5307c8dc953f5555ed8e601d43618d76fdcda0b1e3b486b51b0cf733ae3cbb6dc0c23e66a3bfeaf89339d7f27d5fa5dc4ea6986578d4867b429568a33478cab5df495639602367e615918de5d1e586f7cc89e27f878f8277b087f23e6bf88cf0af82d177c3cfb09ccb42a688fb5b5f8c6632533a2fdc1c9f7d19978d954d9a7f3c2598955343ad3162403d4f62b7b937f10cbdb3b5e5e7cd2390f158428e73ecbe0a13ad329b3131a4d541a13d7cec131deece19ff287b308b4a1d2fbd3220ae2efcaf1d7983929bceac06f466bd9da33fbf880fd37a736f4b358b2456daa22e21678c09068dfeaab112f2c4a44c8816ff4a60e63ceab7a053ed433cb96a9be1944adae03f7c63e640642d2a9cfe8645e3e783db8eb2ac7ba83e2fd3fc76b4df9f9717b77d0d0e1fe423326d96381e5987fc15079a30c0b7b2284f27f3f0774e8b69c8e04281b4216bf55a42d45ca88b062c9fbee3e04a07d6a15c3c7cb1698b4738facb27f1ab5495990da5a3adffd97507110ce1f64c4b69488dde5509e245f1f37036820c5adea88ce05f771b555a948032c74b64a3574fc7ad38896995cc4820f499c0378831b9cc7f15aceb4475b40f5f22a02273c0e971e12d500de3ec0d2c869de2b7472710e7c736c57436bffc5954be451779df7ac356e03b534cfff440ac30e26e36d541842ba238b90050c0e381ed4d7ae7bccf9d6405443c62bfc31b49d01c5208a5d1867368ded47b42f584ddf059645265dabd527207ccc8f2f7314ac6e894a2c06eae82017d2ed8177513203983fb4793b022379ce604aa22e70fde2973173ac73dcc1bf9c803f36d3089f26f915f8fcbe1898f1b8e12069676c96d8b4ec3672c72f52f53b715e06e258e34d2b14f0393671d31b0a7ff16d27ba11553dcb9a2443101ac87f134d35529cc0a6d2d775c3e680b6efc6eb1059999768afe2bd0f43695aea7f29d8bac3556f516010d99fd3003630a31c88a9c96e0b5d29c2d7847e83fdf6d2238e2f924b1ab3e4efe4dfd66637502bff57f859d752ce93d1d6756aa946f2bad7b30eb4cf0955218eccd44d27ed468dd9367e4bcdaad31c6e40d847480a912456e4d98e17e5a41a38a7bf74db7c73d631060284c159113c771bcf42913c31a3240f50e49b58d1a87a7aa055f3ed2fcb73dba8df9e86f88acc3fd8fb3ad3042a5e1474d1305f07bdb8bceaa5848ef3c836fdec97f36fc37050ae0e76a722d20d0b8797e9d5c7f0940137a71d8d6cf94538b3f005633e2f3d527dd56bf41da3d9e35b722e795d58e8c3d362e5a180ba45f03ede3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d09c592f75adf294378109d68688dc2fec65860256da9519d300b03c1d63f9f00d1ecbe84d59ba7201705582092c7a3608cf5986e3fffb30e872518cfdd19675b829f4b1f44ac99a56637d15af6291d19bc9a35945459adc0633bbc9627649f9f45b3d5d81b3bed5656a8254d45b884e202df174cec786c6d520d66128e2c6d9d4214e79c2fbc6e9d12e547100bfdc707a17ed2bcdb3dfe41d5a689cc6334c2af7adbb3ca747604e365f268ec5acddf877d2e599193f03f6d8ebb550f7d0330d8a0cf999c533eea6dd991f3e58bf36d5503a4a00fd3027fb8fd13cd1044f530914c47041aa06a7497f1e7ad5e19ac2aeb6bf5d1d4006f92ddbda07569069949d7e3725622365519d162a4fe028bb8933e218b0f40bb6c26093d5df421b810ef23febfdab2ea687e0d76d6324e3fa69cbfa36f06ebd7f1052782dcc2264100c1d4109ad1f00c741af1b89d40440869c94d0af41fa91ae5c0da8cbd2ce97761724829473e8b64c634b837bfcf5fbf3776b58d7709e1548912fb7931e554e7b588829c8df272a156e1b732bc36730a634cfbf5794aa17a16139722353b5e7975986a66f4e5ac2ba23284407e248cd18136bf50b7862be97b3b946ac2b606fb19b2995e00850c15f844eea4d4314735c3180714d21f199c0a1296600f30ec757e9f2693a32296f27956b56caa8adfa7c100b1f39ab3f3f06da972f71acf43b5d9ea9820828145d8f74ff2e02caa8b2ce190a2766f431e6d39711f8d0dd7000d269e667024acff4135bb8e9748fe900eea481ee41a9818ba41d632bbeaeff38f79ffba4c04992f54aedb14e98b30e6dc61f7d5ed43be238ba2926eaf41c4f3e5f82c971dc79289e1398a4d5b17ea3e69a68558a48a162ef737d61257120aa2dbc2f0719ee568f124ae82358950b7a6e2c9b8547f94932df99be9d01c78e0964ff7a939cd710294d0e3be23ea73f280a528ce8367167ddde4d75be7d3e7aebd7656d0798900cf83457b27ec4bbbf70800363dfd1cb68c5c9a7116628b2748fa787fc778bd6b07aa177a6233b35b4a98be3ce3c883fdfe7e479d162c85c5cbf3f362eae892dd0d9555b28122b9316f454b8321537bf8d90c06282cab86b7d223c1da1b2b418ee99843dc0d6e9ce96c7b2b249a1d9c1f22e8e3109d70ed557f0b2c865723ca8120f452646cbc7162185cddd9572d756f075b55526b721d3c1cf8057ebfe7a689d1d0985c2d17a1007648c01b33a5025162b610ced3204d0dc7f90434208faff5e68c52caed76cfed0f0c7ca6576dca38ee2f47ab71d21634ff77d72ba94e55cf51d35159e42c44a02183af5a08b42d2cea5ebc6c24d11c96ad0bc5a767ebe73386a1927ce69b5e6b76b1f869ae33112da2e45f563c290966956ef1d484eb003818e56c081af24c1262f92bee5bf710604d33781017b603322009db4e2bb0f16fd3eda32e1b1e27e998119d23a7ba9a1426c141febbc1d42ae35ca4b00578517967db9d8b58cc97a2224d93803afab85cc487dde026617601c598d446643605f150a69fa27d5264c4ff43787009f832ed42a52c0a4d1aa622a2177cfc79e5ceb63238c7b6a04f5fa4fd31cf7e83829102675b4ddd4070c2df12e96d3e227d72e4af14ddac05574f9c172c7bc676d4f3f3b0fcbbaa192a1fe05ece5f0e96af9d1ad935e0e99ffa134914622484536c59bae27a6ed70a85e05126c66d8e8b8e73aa5833b07ceb34281b2e678a4ca7d5b1ad10eb477c460f395374cde3d96e89baebe0b40de3bd623b271eeb682e214d7fc5d10d7d87d3f458d34652225d8a88ff28f721ee0e765e6a6bc2b5ac8ca910c3d17965b13e42a1fcf23a154d519fe99e2418ad7b19bbbd38fd59c7f4af28dc04f564617f0089cd0b391f8ecff74adea7abe865d77284eaa25c40a1075a00852f2196f27f8f31001b902ddf8b3c053359779a18031665f1ae01f0d42bcfce9f486ff0e975c64437a550e0d1f84721cda826d417a5a2b2cc6e05e8f50a5d112105b9d4dcbf4112ee97e453d9a7a45f37a0aeebc47c8b975aa59e142aa473c41f5734b92d1a030ffbe337e0a5fd931b2e4a8f2a00c5a371109f824670df1affd6f17395ebdfc16a84d8681102d893420a8cbe577e9ee4464085c75e07f38fc124e833ddaeb156a00371769326557fba4af3e434f3a4959505cccd7be034bb1e66bbb671ac579e2d29f12ee4d42c4949196a29daa11273363996c205991b53408890fe55fbef126d5477a899855ba623ebbbce00111322397a54e3a26c7ddef5553861c532b2db4ecf30942fd4dc2a7c80e430d014ac2f53e5be2fabef3d190c47a6f585802216677305686df632f6b2242b021fad1322310910a28991d0584795a304f03c7b7d22d0648e80587092f469fb144b0853de3c6f34dffb3f2845bcfb38bb5850965adacb419b2fc31df37a4781605b327ae1cafffc800f29167b310df771fdaaa995f0b765e966a07ff586c3b5c13e9bad92b615e4aa3fb3dcf4b4589c7604dec237df5fb030eaf066b17e275b0986fe4d3ce3971f0cceb384c1a823a57d7108e247f851936faba58332eec2ca74f39e8afec1b5548b8b2f25c577037b873839c73434884144223d5518dc6f505165dd08ef46cde5e16d73db3c98f99d98105151b487ed28b486f8e5423c0f743fd068cc1f42adaa14b693e0245c146c78792f08ad4bf9deae005cb888bdc25b172e70cdc374521cf165c32dcdedac704c854a3f0d319b7f39473002ef6c8a23c9dcad1cc0b423bf6898a616cac37957d0b38ab9c2e1dab603ca33c5fcf1c8ca5b17c2de6ffbdb7e9844680aa22e2d7d706d244dab708e8ff9cd986ae922d968e84cb06de6d07422771bcdc1b423f27bd3b3254323249aea22527047a34b5c711349e407e1820a033e1118f2a72732247a38a115391bc9030b41195c563a9d282570d969f73496eec08161ec71fa53f86a6359a53c3e3d7711a3a42d8eefa985577c5ccbde1704d67b24b5f1b3c7a7505958c1ac6f844f1e800e298968685416a5d431d572846554fd84641757e6a9b04a5611b922dd0b26da9d91e3663786df7459dcf7f13bea949d7d6c54c13a4e9b3f9fa2cabdc0c932d4dac8be8d32ada39782651f450ec028eb2a99d4b1191959365ddf90f5f58f818d783659b4ceff23dfedc29bb44e92cce9fb034a0befdb15f0f06077a9b5a68fcaa30a19dc302eef84bee37b44a3a0543110b103faa2d3f9d5d369037f1ee6164cab81974b54a750d93e3ebbd8b5185ccf0468fcffa6c1d29a9876c21ff5cd52f49750ad69a8da103c6336b379d52fbc718b927668b8c8ec1afe86365d2335ceeb6a8a2be55ee5d3743cf885abcfe6e25977317f862c1ea55467db1b2abb7d15ebc60c9000910c764acce5295c399d846a1822a87563638e0aecbffde86ca85a7f5429da24630ec7a47602b92a2282f5352984645930978afedb4b1959dff623b0d2f817a577156ffd2b7494f162c895cdf750b3d300c83c2a02f403dd4b4f7aa9e4ffe527925b1b968dfadd00f825bb53ff986d5b2fae9ca0ae16bab6a63d24aa47eb5e300ca068577ecd5750212676da69802eaf827725e5ca20a7c5564f96a733fe563dc61e53b2ba95e2139463cf5c332338c1b405506c2d71a6d337ed0da1409fe9f5d2e84e24b34affc64f7251f4d5520f86f19aef28effc5c3dd6e231b00819189d1653ae6e1a2ddc0f66fd2b1b85b7214e4bc5718918493f95f06e21f4eab83c5ee0d7fdbab58e4d9409999aed433ae81e2a2fba5df27cd3707bd73c34f46f01415e7d785165e8ed99152b668532062df4de60d84ca9929cc7a6f9379918d15bc9aac5061136ed88ebc083e454e96bb81b065477da06a55d0b4e7bb431154df79ad6e3a5ba5294e47733f347899067a673251cacd294406300ffb3cea793123960bcf97ddc99c846ceb54bd95fb08fb0bf52f0fb86f9a9eb6bb20ab9bd006516aa3ace3255323d5dec1ca7ec34ae2673052a202cfcbf10b72ebbdabe16a6e199262048fbf50df92fffa4efbf9aff3d56b78dfb9d616641d5d9723c01a63ce970e7d9fab8ed5d7f688414747a099fd2f3c88c3b4edb6fa3654721a021918f7d746b6460de575d7a951d8f44c32b92f907936e53f7969f6075f8e4f21f52036d6bdfd16eec7217270528eaa78277d792461db054225714d877d06262e629597b1530904943aadc2bb72bb4ad042b095e09edd9c0f2a79208f3494a43f7054249cd4a06e44fecc25f2ca5daf25dc9eaed8fc84da1521a9f6cc8548dc82a5ca873338a788138ce8f4de6be91d15f4aa6a601cfb2feaaac23cd2a463ad162144caf6ea39eb536616a6cdd7aee192182f44c79074cfaf98bdaf628806c027737170e28d8765dafac29f4ea6b663c8ee7c34b5c560b964bb57921f5fb0087b87a00879b5656749e87edfa1bca6909aa4e804392bde1e7e57d1024b7d171a4950525549628c09fec7b9e81631860a09bd69405d3dbcc03713cdca7d1e4f5efd260ea9c91b598ce677d9f44250feffaa25130695fa72c4340e70f8218e21caa1d1b9eb080fef62d091a3f78456582e3badbbe9c824601b4133e86865470a437f49839821a339fe450e05322dd39e97d80b2c865a9bb6a7df82388e14f57715fe41a029baca221181e1e41f499713d92d6b5b38b88753c10ade4900a3e136cae2ae1aae2e930eb7b21e12c86379d957426f1339f8d72b414b8a5f081354be08f1a517e20391f8e0eb62185efb4e87032baa224fe9717226e7c3b5c387284e1fd863623945d13fd20841a268996ad929ee062303409b9f1bd536c1dfce8516fc121bed3331e41f4e8c9c754345ce105bf55f2597173d55a69a557c3854e0eb7ac6b3a87991d4fd93f3cdbfa1bcc86cc841544fee5a16c2f66a4da86b1065eaadab9700addb858369271fe56ef98918dd2f85d38a1bdf0c11439242e49a7ea1901243a0e541f0796c053fb457455f3d638020564e5dc1392e150ef4f0f87146ee7499ebe728c04ae7a178389c0880cc22131f441f8c41c856ea001fa1db6b0e862fd8a48cdebe33d8472e208eb9615dfb8304623589a96d83cd7c429a9f3c84bb91f68bc5c6be0571be9daa20a2c110017fd103b569fe33aa39fc694819205963ce975d8f9f89df111c127e16c3e3e8e13842d616ac1b54000bf38c1c72ba1ed8d6cfc6efdb9fece84b334fecf76f0c5eb7fca1e7e51d80d376b3468c2a747bf34b905f84707e009e273bb264cacd60bb005cfa558bee084558469b9107eaf40d7e1362571ed1bc94baba2f6e510cca6040eb3fc779f23f100d3929888bda13ca48e76cbbd0e328e95537b323536ddf9aefa33e642b5007ce2bb03086aaa8572b859646fdc6d9a73e774454e3a1e3e0294c445444a26fc519ec1e418db89b88a6a8a8ea0e2f32242940af803b1e02f1945cd215f54fc1d826f81d0471f9723230ae8c7d0f598d32e823f28939848aaa1a9011c279e2f2313ce00965da290aa0990125c7a13d6905a5d5fcdc72e355f55e423b90c3a3a670ce6b87ad02a82e9b07f15ae1a3d82c0ebc075533ab3440dec3250f14db21e841f154e5b27fc8bd30aae1185120c7459922efe1f121f083b7e579487bdf9af524a0301c100f694b03c5f80b2b76d3004357dc8df3ae6a879134cfdd87dcf7ab2c6251e9010bdba1a936ac5a8334ed72b8cbf94e671e2a68c28fd4a6ca75a687d376404678b0aaa4ed061702a9bf7467513bcdc4aa3586b32030ce760d4d69c4296e4ef8bb513c1fc9d8f4876f2d0bf04c5570b76ad51207ce8e74d1d172c587b11aa91282662fe4613eae25ab0ce2065a91c323ef908105a57b48ae2395fd6509b6c74caa8296e4ae23dc6478abd0da9612473ffa2fa199f6d450b19221e816e7ced5aed6b84eb0ab20b96e4ce148c33a1d29b5a945679a69080283a3c9667d465e49926c46d496c4b71b8470437bebb6a02739148e350e63ff8063179c3197008b1d32acc752def8e604926b6598702a26d4379a267bd228454a902a01703607b0224a51edf2c321c47e857335c85786b66161d587f52cfc1539cccbe8da36beb7be926501118587d137f975c120fbaeccdc57ec63363598dcc0f144ab7dcd9dba7ac4a280dd62e5b7d854cf06b9e2820e78df01ba026fc532dd8a45be4b7d0f7887da824dffdc9a08b4bdd243ae847f9148c30d881e28c9df857979ec00fb9b24e1d9084861a7a5c2c26be61ccbd4405fbfee52ee71a6a8e4f8f513b364a6e3d675a1f4522fa18aab229381329b977dd03ce57d2824e4182d145db4138a233b270d677f3117f45f3b96e8d2e0161bb915c0906d99af9f9518c2fd34446c20e8db44601c6c958185c60676428c2e78d7146399350005bc89c09119fb3e7e7eae46c28e9ac887b24717b63b43fa2fc37485d86852dcc8ba6b088fadf3c771f880fdb7b189a16d866a771ae1b6bd4e57e99e495038cba1b3ae3f954a035573c6eed31305c7a1c63345273cec172559f78c0a53c307971e383831f0a99b82663f82273ca6274aaf5cb5bfbd8ed9c6099899bc1b0d0909e800412802acfebc2d4a6af0be3d052582099d6757e7aa73a35dfe06c275c0438359d04c5dba677374dae784b11e3af4d1192b804d9a263e84439d23042c53f806905b8c796086fa2156edf1549b495c91db4061819cb51612026fbe6f1d6baa9903a4d980746b26c25c923e9395ff115ebea06db33b8e4b079d8882eb888f88ac9ca01af9280c335af48cf14f750c7c10ca96e6d68800c46a4e31e460c4dfda8f8a8f6d84cccc3d4542e62fb03e7eca7c870001229a3a99bed1658dc5b08160be927d81ef4d20da216ad1ad53f21a9820d641d83e2c8e2e97bbc07c3a38f65d75d5bbe03b4499748f8d34ce8cf720b4ebf471d77abd6e54a27aee6efc552db5bae8ee2f1ff32ddc2338687b50879318c83ac2dfbe0794cb5abdaf669a7d0c28a3489ec4904513313ff936ab394df025248b3d78b3d6067d55b7364f58b1f965a140048ae60ffeedb3243a94b5762dfa75f9b6a2f5bedeef4090a461bc963f46964f7d5c2ef40ab552136457a997ab41ed648758b075d2b034c65f7a21a339ce6e3f0131e026e79ff6d9c4e59d52868f93a65c70d3bee294defe1980322b73fc6d48f588436dc53be49f8c830ed091219638733d3679d8cf9049a1bb9e932b18be91014cd1442a890d4363788a78d99813e44b05708082400e03d441330d758121c0db4488262e1c3688273a1625fe8702dab299ce7f3a9ad664319851bd945ce4d0e20620187743e0c133d4f0f7a479efee6ceefc08a0acd1cb7db44e4f676501861260ea3d27e13d66fb99c70647abb597d25604b5f7efac0f4712ba9c8eb898a3bf2f2ccc58ad5221f5057cb33006d497d9fd4195c21fc4b28b8592637e2b0bfa21630d0c74a153305b142a2b7c0ba4bb8fa9c2d9d7fd40cad6c13fc9e4c4817fe23e988e4de0302e5e373c095a1be65d44cd08a4e0b69b6b5814cd5edb6041a03eaa2c872e9dcd03f76cbfabe5bf172e98290a14d8812beb9df77364d3d3ac7392c66e02ba131db05071a474c445121201e4f3b17da727a26abdfeb2ecc0ea7b5326fb3220726f30f9c87d810c8a50294d5cfa7ca5c24cc1793b14cdf5ec49cc9f185538e7ee63037bf91b3cd474b155960aa82cb4b0b4031736906c60950ac3c1534bbda0a59f20d2c8a64bc8f175e00833bc9b5b81b4dc36b9ae6b7fb67d925878b2c07cca3f6775031760089b45d3ff483b7808817ac3c01838a855b2f2e76dd1044fc950d3cc360767ea1d0dfd783a386b0eeb78d5c185991029d5d0ea2015973cd58b75e678685a9826a9b412ef186d944328b1364b2cafd5a583c0375a1ffbdd9658a1d24dadccaec7b67226c8274f74f6636744017252e3f15be4fb4b6d503bc0bf87a209f556c3bf4a548abe9ccef3562f35a10bb6ca0f98dfd54cc0398e68ea4c13480fd1e0732e4ae03624e3b15ba6ce94f8095f2ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557c8f7b1f0146209e38b8ded1c7d0dfb0d4934746aedc5b68ecaec4dcc64183deab2bc08375f87c7aac90c3516fb98f2ee866ad58de8ad170995e1afdd3c3ef4b56bf108e1c58480049ea91f2686a8fff87a9bc9dcac5efa391892a8cc5359c2455f1e61aeb4bd4122146627cf6c88c669a256faac042fbf0c4e3b0b7be149bc33e9b36ba4f8c334c3b1dd6394e4db14d854c7a144dd14b0e87884b4a405a81a7892288b03b082746b2f607f5636aab328b23695d1d2f65b59e7b5f0cb8343133954f69822a79be70fd3dbf13b1fe64a6a6477f388a52f2e98df6a4539f1f82ee99bbafe061ee96e90443682b569b90d60b3efe25b7c5db73254965206648a14b4ae37c2608b594ff9943a149bec1366e1a4cf8b9cc97be2666129bb56bf9b39fb511a90a7a8f3ef91c12298f2b300864d650ef1924aeb1ab26c8798c161115bfac195d7e901557dc7a5f0888eaf342770c24a0df0bf44e252de7ce6a58602fa7124a89acc2f04ce97d613f2a4d7f77aeb065b58518c68b3454759d2da1a57ed7e83d284735c71a91db832d0595f945d0950fc6ef24671b5732d516d24ccde1a2238ade5d00899b4d9b7811e83deb3444a3312e69b2d9b525bd40c11517bdd3f2d6a149062a963f86f8755158dc2755c79cead7c914a04125bdf205d602454ab0e37c204dd682dca32dd518fbf9c2b9e1560c90de00597bc6cc51917f827f2d8d3587a23a6d30fd44130973c2a6ca91f13344ef8aa29e301a12aa16b3f8d6d7f720e2589713ebc6d0aa6fc2ba7844df9fe6ad491ce209d744faac156075948ca16e0a981510d732cee2dd0cf0a496d1cf9bf1be1d725ffb74ba953082a48cd2b69321241f5f3624f399a89572515c21ce817d5cf37693b83bffb3c7c4aadc127d25994a28d5dc546d5b3322228b843b7854725a6cab3ac1013681f18ff33137775aa850de64a62752440c8de119d33e5824ebb66b82a205a102b5f906d156e6cee4cd230d7d5d48a18ac2380c6d250e121cd80c2ca447eddc1e2976038a0a9931a8fbd8e3855c7c81f69b35e278ade8df12c8a80cde9c8941b6e7ab0ec0914f0afc686618be614e481ef6bfdce9d33f97dde4e94682ec57af1138122c48a2df3bea95d03c9f86efa5c138fb3133f27ac48dc896c4d65188d9c2c65dbfabe99665e45fbe7566bd70a7c79426160d2756012d94548f5a74e364e0e4369b3ded377ffafb1692d3d4f88b12fc38a4ddfd818927b0c094f34eb5fdf05000694306de75c7ef84cb4b8fa47bd70aa2e89f7b96b2487c7716e1b5b2f1cb1ba79217d70724026a00fb501f44746f56af7a56ddead4ea6eee6bcd3dc2f2390caa11f0beba538ef095a6b57a082d89d029c8da3fbdaa16e83a231ac0598623f67e07dc0895f45e9ff7e9200872abc7390c5d297e274043d86885477a10f8844e968e78dad3598a665a7950e260d3e3207f0b792e6b99e8db28ecd3c0849653703c83ce995ab81412c8d13ec9ef79f4acf9e35ea467ef3c383f1950bcf16e231e5263334df5ff5f1ca4233702a3badd507f56679c634cf4fb054ba662bd729712b2a68a70570192947c05414af2790bdfe23c6fec8ff3a74a329f225f868aec6375108337a9f3a4ab765acdbdb04205be39e5b6c07700e1d2967480c1ac1b62eff2e960db908501475c7cced3ab876b5cba64ef56112e326393f64717368d3ad951295a470ac71e1a365c35e66267a092ffd89a8d9ccb6cc097a585b7f65cf366dea85cfc2f9e84504eac3c5bd8c90510f4c52a5bb4754486c4160b6503d3ae2e3e461643808c6c37aa3cf57671b1b074f84853f9dbd0fdb6764bb04af8200ffc256ae3ab3fd8c9e48ce9fd0967106c3959eac85a97744a9c3aa122a04e14a74b47d51976520de445671ee0b76c5595fd984bfe2c11090b7d1cf7a03334094cd107cd5917f3a883b39497c37efcb399622be3dc4493c09071fb502c04684164120ab01479025fcb4ee457514145f7a3ad2539491941857cc337c53b481875d041d1da85463073268c20c13e4f239c2fbdb060afe31b9910df5010ed88ac3bf3fe747818a74d03977f3dc402e6f20cd2515e86a26175da10b34c631ac513854ea3122743a5374795e50156b772602037571c7b184b66d10a5fb753be4d1c0c777ca21f188eba90c3862d5ba0b7411502a0c68538b7f2dcd53f273947d754f172c773f9bf63f8d7e4b9fb92a79c2e45c6465add1cfbaeed83521921ebdc503101e1d0f3445f583790b9945b3ee4b05fd8f96c92ea633a8a883d455f66a12535129f517f7fbbe09af0bc9d70498648ffc80d01c73e0648058be142cbeaa69cc9741e686da4099aea8c5dd7dd1f44f19529eff77b1cf52dc8483d2d30b7888236eb6d0038d523df83eac98ac27d43294942b0b52341f13b9d70fe245ba50ede36b9ddae855b32a0abf8b93e26d0643501a1775caf96c697673c8bbe30c4764d8cc6d2177babd741ab02ab325c0117e44a400c6db6343c76ceb279134166f81595e7fbf92d79e36e7cee85453d6c488fd2373b5f68dc4d9b3e7ae7003a4041540642ccfec001fe0e0db12b458031c157e1e85af58423ae4b2c17cf40321009ca6f4c5df6db975e000ae6ecedcd214434a16f0d2ca40a93ff55d6c155aba46f2cf8b25d58c97469dc16817770684a0e2f0d2106aa3473fdbb9755926a878088ff414374f84d68e0b899f94c11a2508dc4a01709dd6dae50c992f239b127acc0165bb93de109e4da9cde1367734d7c5462d61f1cf0b00b3738cb22e3b4d97ebc841e4d8d2f91b1886d8f3f951f80bcabe545e670a88997ddfa9f7bc89cc0b4465f39547e70f89ca5a20aaa37591b9e61950cb7fdcc7cc8a9f4622e8ca79028425c654f9b33e3bfdb23e03a470d602c92a5d58dc0123970fd2597dfd18d5ea2b7b20ad7cc2b2b2aa7bb5c003e3118b3d28b4d73daba0046f19c0c6e9a60ed94c0edb6b4d415a653d8d90d6d48ac0391fba77029fe248586ddd383d1367dc7813a93aae1ea0b6e236e78d306a9932e4db68d4c8622be71788c57a657349adc08faac2f6ce6e77846776a4775acbfd8de2f50820bf7e35c8e836a424cf3cde0f6ddd62f5110486d46399e19187260d32b65256b2e93c7cbb54c687e8aa5cb654aa7580cc617f9faf80a86cb73007768e92af3ca943491274afb83265f02073be4491674c4c16795fcc81779d0639aba859c1338d31b531ae01cab769f5468ae4b3ac1bdde2716a85d8a4b0b6b84e6b1ef3f2a36e0f7a9cae7d33d2c17ab1646565f358765c74b2115dcf37673007768e92af3ca943491274afb83265f02073be4491674c4c16795fcc817795ba0ebc9709af1a672f674a4bb873cca7387990de378974661feb0b80cc293d6fddf8918cf7c974aca0addbc10e3c7066a48ddcdce94cbf9ee65b3422cbc7a8ab40a27ac37ef7745f882a55e4bc289f9e0ce96bfb1d88361ad458f639d61bd199734f4d3dc3b7b11a2580dd408895f66b5297badde7c387716f460b98ec7ff6265d3f5dddf79c4ea63bdcde8238ef12bdb41783969b0b80acefde242e68ba3d875499dfcb860186d854ecae6ae87086dcb1bce5bcacf2c532690c4576a36ae2a781bf6b4d39f308d08046e8c63c59907807da8717c3d45ff8e5111ac422d660abf9fbf2d0e92495d2cdafd50323cebbeb63a3c08a6bb7015ad22db6e7643cecb612a7be062682a0fac215c336007573978e6e8a12839d9d48b364a4465550cd9ffe3a3173334f7c7f74055c41e540a474d413040221a858c0091241bbf28e63eeb4619a8b740e3068b30d0fd91072fc2f0a7d193f28a543d863309f235f8f4ec68b21fa95958198e79240e3b5d19da9f2ee22f53470458135c6dc4595ea023a8e7e1b2c0a9031fbc9e999438d6d65847f80ddd76244dfc5a1efac71731d40f85c7eb0b68d5856593c34078d220bd92bb699060bf2540f9fc34c0d4fbae1a0cae94c2343923ac620a19ead21d3c1777070bca5ff90e0d228015def3184c5ed66e33362634ad837d9708bb0898f5609a1409d57215272813b9bdd7b6c02dc275a47e0938a4c5c83e53e533a0913ce3da53f54c873bb1f418af314c1be7e00a751b8bfa9a398e97152beaaf385847808ad2d828c1c7251f1a45bc7697723827e7e7b864c621c47c1be06cbcd26dba4833eaaf9c049628eeaab29e4621135204da61df1c78e4547494b866cd0278474a45e84327f580bb4d3edd6881f69d4c31e2f04786bfaf15f3c6de00946743dfe02a8dd7a5ecd595233a11c8146b3574276162796408a082526cd575413addb6ca97d48f141fa62e188690ca5222aa8845fbb606f8517f8828faaed54f2dd6f1c593af3beaf7b0e1340f0d1d0b39b47a2cbc3746c82944a5beeeeeb7e67577d7f68ff6371e6104827d0e670cd184c722b1daa39934523d603111be24805e70cde7f19b959e43845db7c8af2733471896dc8d88e4b4398694261203ee1a23125d0d546f0358c3a4bc1e9a2d42c6e16ab4a58376f95415cb700afe71be30c0f76713d87873dfb327b171d0781a9132da653190dd428cc805fb534b547e3e211b00899e6f2625913666e4e9d45674bdf87fbadfc571d8648ff82726c4587fbbbb5dca57f592dd2228a970255404f22c61865bd004cb9267b971b6300094d3a99a1eabdf139d13da86d8177e9f06cf74a2fb65051ec01348fa84bf2377838a55a513eb7d6185ffa6b0bff2af8d1c5678b531ec842de7551757bb2eeb606a4d3a41138036c07204e85fcf9c3b4ca53a0a232ccecffb9555e76d451d049eab675173c8ba5ed709e9749ab25f4846e69f83d54af147e46a19159142c5174614930130dc5b0f7485c91e6aba70339ef5b367844d102a4562413ba0b6b5a0972993a277c6b7045bc5764dc0b7b3dbaf3849fcb1dc842e0d61454ca8d58805929d815dccae00e12ea3d1ecccb209a461b0ab7f726bc390c2b84b89607743213a8fc2aa0e83d0ab72604da50e9164a2ffadf8d6de0c3ff66bb2760f1450273a6cd569cee83129c6e45aa9dea7b5b08251c168a1c816e3c228f9dc105e826eaa9901cfaf6198e79119ab91cae0ddc6a9657b946fb69a9451371036096e54ab2d897396a4d87741957f83cd92b82772b0ca7e15de36c4f59c28f5a4cf3ce45c01417ac82d5d3c5d93d521e7ababcd8e2e1145f967466eb77bd688420c57d32e4022f3899be94ba2fe56acf3be46b344c559e41659b2e9d1b1c566da59f2812882f752ed8ef81b3e61321102a2a763393f1d9f76c53bb7056dacc8441e76ee7953ab89f815130ce540aae9f40011121a7b499bb297d28060e6698a15a722622be79f24da3a25ac9a822235ca54817882cb664414dade30e476fb6ddfa7b39d162dddce71744c00f93eadac695f23437227db36cacbc8e7b0889faabcb109da1d058a654dea43ade8f36bc3f87d9cc27be2a38593bba1624c0eb7a34150482adfd90801876cf399253f9107a43d23c136df75a5e2cbc7c5710b2e89994e6d99bde5f653a74b9f48a4b0a6cdc604a8e4f050890ec96d5e89aa9a3295e1fba220c06e06b5cfeab8dda643966e568c5348b959695a22842f7c3ae8907b5e9e4b1ce5ba743e6180d5219f8238efd8e5dfbfa0c71a9f0b2062f2a1927ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855610d34dce8017841ec5882a147c263bfb794db7695c73335d8be59a0c77529fa65690fd779a8b3f07b3fbe92b63c48129cea6ecc7de7f8aad9d90951c432a962fd0b754d69fb78b16716c9345ad4ed8b80bf6693672eea8324dfcae5100212089a2fad63f50d07687241e8cecbfcce91deea91d9ae908410c363347731f5c6e1e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85531488bd2c1674a6dfed2315e0cede0628fad895dc689a7431b8a81ade29f4c13e5119dfba50627b2d85050f7e2865b78cb91e41aa536f9f8e4717823bb9eb825aad47046d392789ea7eabe8b96b0ee23fc15149c808b79596eca524824444d3e645a61f0639ffa1fe4760fc47eae505c3a3de27fab408f65c48145764f9cca616cb472ed499d17b53f7e6ba62ae9598d7372e06f35cd095d3b08e9375d3774f9375764be8f8e651259c038d273c4c94f0ef37a61811ca45005240f32ad41de10e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558755d777a827deaf32df19a72f81f5d7eb9ed54fd5914e1e5eeeb84c0eb5d5afb0842afec1a7948546fe6d0dac813b5b9e045a2f3b326a1df946f7045ab1a77fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85558b867b7b7c0076e744e973dbd2c51efcef8f880361d8f24f0b529fd22c9a43e0b97aa1c6c9fce15bca4fed7e6811fa0be4b7d2e330938c9baadd5f0312138345344df1def7ed0c3d9ac82fd86bfbcc36d92b65154973de95eaff6ec91af20c0d9dbc740ba9dae3fc02eeda599dffdffdcee19d3a052069705855a2770916b31796fb3c1f825c0c624d79c7b5299f593cb885b9587e550848dc37d747d6653009178ddbc4dd16ddc6bc3d9ec1dabf5ab721dfede42e1fbdadd747e7b0c9fef5c8ee70431c65f96ece6092131cea9e3a62fc186adc8a972041ed6f10f1cee89d00689f6d3f29b7c73f81dee162e2fbe8510e21a898f5e770306ac6f96c70b7968f17ca3099bf5cd36b7f62104c5c6a0e9b5fc96f583c4679132c0469c096cc50d20d2e1cd39366f175b4dc6a094263433475d527ba65bc97de62c6e27ab90c35c55edf40d2c7f54967f94ddd244d80fba398818d61356b0b23245c387f412637e2a483d0390521060634e9cacc92422f6b42d5499b6a05e88a3f9fed181b3ed41893f889dbeafc55a2256fe0bbb968acfc18db8720e023ee1872c047ee08d8473dc075981ffa3c1461912a701bf4b9c9861c428097290a382feed3ef585b9cac54a2a3f3ceb2c534e7ba9abca627e58f232e6d72a4987dfd990422bba469cdb5768e90709d234314f6bdcbb8820b4b96673e0d2f343ebbcba58d5372c1edf4be77db525e801c760ce6aa154a22ce2942c69809779ff7620286930a580cd1f5c9ec0ed34862dd86700d6d7e6bcea14113089ce092635e92ef99e3a0905f3a15d15e8e6a3b88913196ae24bd80d140d6def5cf7cee75fffa8e90bdf62b82ae454a7460f890ed6997dca16d7389040a3c1119cf7d745e60a27b20ea0608c5dfc7019d2f61ac88e6afdda55b4785c7617688f54be83629ab76fbc2cc248195593dde74bc63fb5913ea9c9602b6e5bd2247153b814f579caa356b9f1eec81c313166470373d6d61480f2a70ae82e4b391428e59269532b175fd1c894092061ee5424ebe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85585e41ec0fde536f82233a63855e43ac15d73f257b8baa7ff7f2e6adc428fa87e182052352978ea62fcb9e21dcb388990c9a4f0cef9058457a441fe0225f0ad5233115c8ae83b6d571d45099e1758b571209e2808eed26389ffc50c1d5409cb37eb8a49a6599b756850a5680c66170920039941168aa959bae1b484b8cdb73abd2d625cf8a0f60bb971248f72ca505103338967450d78f4089273448b82d82f3ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d2af67b02c4de7379e30b1d753eb65b5720324ed73baed5a56c417027d63fe3790be9e0b7f5bc296d21b1d4d638213338af07c194c8d9094339b2a96924a2cf2744c940146529b70aa3b06cff02e165505b341060b0ab54883d2853d2e2f6b6a17203c1aa9f6feb3bd89f7232ee08970993eda5b32d244ebdd580ba14d4a33435c5f41cde465943f8a76d6e960dd01182e48bcc770b71c860a59743394b9fd5b1741bfd255a09a7f2ec938f90fd0680d755507732781debb3b97716244a5aa0b975b8272f9b577b7edbcd9ceb1b65a9e1ca2404d6a1b45b2e1548efb83bb4c1e3dcfc58ec3b5a00af85317130c52ed783cafdd2a0bff56d83c0f57d13d790bf9fcb1ad17a335a866930c47863c888e9115d24a9c037a99192a3b25038d751cab496c680238bb5093ec1a6f521c3390f671396ab081a2679a55f9a92979f87e9d759a3218afa5c1b3691fe1acb11535a4ed738e5e6db6523b8428200b8995a77557cf5143d459b7f9724e42a6db4b2a422ace98c8469a8f2cabdd3b3e537302d04750344b16e8795e2752b3c41f8e35aff7f16368238ee1114018fc91c6b294f69728f60de1a2d75e52b111ba06a3d2a518ca0e84a9ce7bad8325561e2d09e128696d95a4acf34e5332c6a904fd04ec4524fb7165fc85a81633725c529558bef4eb5c1a0ecff872e6a67645591083edbaaaa4265d72c398b0243998dd373eeb941b86c9f64ff2c3333016dbc54345df88f0dd902bf099ab727983d36bd94a1981eec0a5e0fab930c8183ce0d19918ea36e4b4f5a93e0d75c512729eb0d7ee2b59e1d6771300a4bbc56f132586a8e2825d881896dd73de698eecfbb5d6b06113e47ef400f4b5856a35e95e747f14f8bfb36917beba21ed8987ddf08b3d0fe18bf690b65e4f3fd352acc9207b139f9fea324fc236abfa454388591e2ffb264726d3385c11a00849abd2afcd46e3841ad67ff546769ab21bdf16b7d7ed706b89aac847499b41a4b5ca1174669f718b40afb98753870e613e7548dc42476aeef23409639155706ccdf57f047566374acd40629e1876c9a3278ed2298216ffb91832b02bffad9577d181002bca117b9ed98089fa756b1567d646504b0be80ca10b2edeef1e112647319c33457e1e10275edac62d3e702c530d95a3f274111bffaddaca532af8f49bdbb703ddc79d4e928609c5bc01b6b0b806f38c124a09a3ca4ead74ff528001aebd8ee1a76619f7294df23f02ac9225c4e4ed8695ec8cb551e439c917f152a23c92297d10cc8af8dde85c05debadf78a2ce3a94a746e6355691b2841440fa423c60620b9724b004a99abaf2f56f7ddea7976e20ba7c409605dc7010258f884726e2f7a7a1f3bda50390777c99f1dc7ed915f8761f298c2b5b6072fac855fe5c9f985aa29a098eee0a6ccffae2c44157a6dc39eca974bef35997440b1b9054bfb1c95fda3355c51276c279984573c895709f9f4f4987f063ebb68a8075671e44bc7e7cb148aa0e36278f4f161dd48d41247dd8e52e19e69f55a1d92176d345fd548680177139838385e6c5c372598eed44f1caf751b33a7fa847a2287a2ee7405ad06b4f850a95cfcc9091722bcc04aee11fbc0fd44953ef666af8752a396325a98d944d86451f8b4ecc85f1fc38773a0d56aae1d553b343fb0c8acfcef65cba1c2f785ccbf9156db35ff83217a6913dface465366381a8b727dbaae537b44f3b1b646d78ff490d8feff1dff01a7dffc42d06e71148fbea6d68cb5e84e5689e47e5145bceef3d49e16f7a257a9d6bc2778cefa6eabd3ff0e90888913a857c3fa6c25e8a52b00e76a96eb9a387c3e0b97d46562373fb2220ed60900a15ad7f04da1991ca9fa677b7fe548825f7e45465ec9f7089e2fac2d7a9f6c02ab84d84c0ab5939dac61ce089d494d36167d87053771abeb548018d4de8a5780ead0621f0278f1b6dc78087cb6e43351894955d77cba575ed15b3aaf96ef00a4e6b4e5e9dc6b10ae761d945b290c060929d1c8996f758f4bbaf32fa7a0e4228d569db1cd4f2cfa92b3e94586b5e6ca49dcc52c16a8613fde5b1f0e068a34043985e172eb73ae9addab96a9eeae921ee35eebf4184e685429147a18b973cab210d49d7c5965ee14b24af69d968a33cbf8846c15da31538cba421a65fd8dc7cbcb237efe1c36f59ab040fc2459097fa49644d6761b2ccadfeb8ea4836500b971fcd64f9b51fff1a1c82f68405614590868ef1a147118ab6b5dc61abcf93ccc0495351c6d8efc9f3fe71c21bdff004d52f87fc2bdfebe58ec76f5ce90ecd697b3f7e945d5c4c252c7f489c5e50a79a553d3cb711073679a0954c4936aab3d39c3b4b22bcada4f4a70e3d1569dcc4d4593634431f90152f157b72aaa8516c73b4eac36f022b25cccdacac275b3e52d2d7d036fd22254f1aa2934ff03915c99534249bbb4121d75f320682f46b2f6506e053e812880339cdf0fe516bc1a9cee6a6ef068ffd22f1c1991110ef029f266f7d4f5c96adc41e575f4d72cc23faf64591b79924cb2f7d418561464945ab14ccc9cc6aa2c7ca56023116f5f07bd18a233e02efa252d258fdfb717c4b1f67f7beeab25ba2efbb8aa70b53f41c8fe686552d487d3328c78fa0498c49e872957f77c41b483c1b4e7cb27ac2801d75233335d38ef904acda8de90e4bbc152cb37e119ddf974af645a828f7f9945987208d49915302443c330824b6d3ed2c0858ae6aff2cecbc5f6f5b0447f3205abe13793be4686b9378dfed558bfa90eda824dee2f8eea3bb881f66e543606b819b7c334bb3ab8f132355932ff0aeb853ae27471aca7a80b4470653b1c3a082dc018505b73d74b0af1c05783c9efae1cfe1bf7f53462e5d96958bcf5927f4af1fb42fb0d0be7aa9fb6bf007edbe59a5157eae8acfb6851bb87560036e2335cc56c2272c6ac47b332767809dcea1ac90ec256c3edb65c6591269af008d413ae362df1494f8465999e7a108ef8c49535efedd075470dcab7b8006c27a3b51869d05f1e8b4a6264cfa41198c1931ee7991ef1d57480d4213950241c4f01e9494557b12621e96cad2698ec684d3707214fa2ebb113b6ed9bbec705e1bea95878fd6088f9c9ed3c3a840def37014a3f6752f2c2057ea5b50924bac303e02b417adcfe22daf170cdf58fcc719c6b6a472380111238e06c160c6bec4991adc34964b089ffb7b72dc8bdbcd598692312d890029fe1688556fe629d66e2eb61c9509303f269ae9f83b4002dabe90659f57884d2f9748275cdc686933bdef4e42975c1a79ac1993115a65473b66a3a5834275eccf2d31400f80192b73477e2ae2a3e38c1e0f49164b66c4e800b02a67667d828faf21e3ef3463932d7d97826f20cb6736de59bae5cc6c8e00d058540b7a7f93d7f00709590e4f3211a7bcb27f6598a26e036eb628b7ce0735e0a89eaae4854ced5f6e15ab5c75c9dc66f54066983c9c8ec92e2d68c863c3e249d23b32626bcc00f0407c941142c9e08ff48a49881f8faa5aa064c3aeb0d16ff85fd3cdc70c0ba1d68058ec525f4089d3a0511f595552cc8e5ac18028fe8f3dbf9cb30ae4ac3e6bcbce2447dd3c9789c36cc386b5ca7c86a7b4c2aaaa8ff93ccf16d0c8eb1076f40ee0dc120f24487929003c7f5e5c02d647e0ad2fdde76b964d8ef85ab33566ccc58eeed9f1e4ee443422fbbf6add3295353fd7aa135a8dbeb42b2b057a093e43c85e81d6803cbaf1028779f8384ce7376b102eb7c78815c41ea1cafed1d9837c8f9d7df304aa7cc669f22027be5958389e8ae79921bba5943a7edd814179ad32cb721442f065a97b7caefff9e4db9e6b2011679f23911a4255ec72ff407884e51468ea833cb00c81a4ed0294115d21374a148510c657bef477c2c420cbba44d3fc07988bfbd9a11dc8370ce697fdba7963735d6291922809c9b7adf4cd762bbef6e50eaa6799408579368461599ac0721f1b6202b1da03884466482446e30bbed44d550e837d54aded17f841e55e24523ccdaddef4b851abfc77e2ba70e9e046f682a14c95622c785ce2009b4551ca4f18450b984c7a657b443a77cac7955ef1fa67a87c90d8431011b1f74a7623bf46e994b69a4365069f021dc90a84cb5a899625f4703de4c236bd8c2a96a1314e06846288ba81a428088c76f2cd1c7b14e396accc5dceabca9ae7b854c5f7aa5196deaa667791195263370f7afdde39e80582c5620299a176a461638db5bd2e1caf8da1b70f03315b0eb33af1e353f4f60f45b737f6d02d6815fbdf26be3db4f96368b05ea769a39b527957f05d4e3c55aa37c376857f01c32af7a49baa01f2d671342614d9742d632d4060757783b5e62924d14320f46238eb720fd97233c59f334018ab2db5d3d0537031fc2f0ba974adb8e1ebbb92aa9422ccdf7cf7e8332e919fa43e7073f1f2c6e1a6e580bc06f898f2269b0607d9ab5208945e525154653d6fe2f8191a2bbecc0ceacd8ec38aaf9741317c753f27a47fbef709a2497ba0d3571f54c3f589320b0fbcc1ab842adfd7ee0fc209be2f986371f8cdcb3b6a10b8e325cb27d3682509ea99d2ca793c895053485693c0761587b2f2d29a2d771d4d8c2df6c3977ff24c988859f1b94d979a945b01f9138a43c7ad6664f6402bff2e1afeffa9a2d5bee9fa08b7031772d179d1032501754f629aca86bc1afb8570f9b8d4a5a7d6eb28bf7642361da0daede4bc3b4d51074b082a975f37c5a463639ba597b2fe2cb0379e961a91d320ccef8a344ad64b1950733abd16049b1f4d9dfdf4ed4f2150370feac9a0b2ee37d06f8e5421ff50c443146cecb5ff0332100c959e25758c84386a7509b8b9e9ae97938c3a569da6a075f10fc652bb46f5f94ed479034c1be965295f8f16d9cf15920efd005095dd2e2229a0b0cab34728cf27eb16d331ac87a8f495589e3a890b1846dcff5dd14afe3908beef9738b9ede70ae8d031f577d8dae6529d4abf3c0846ecc134385a4b0fa18ce7e3781399fa9c0091df974ffc81771597aa398f0ffa3cf347995a83376ce482bcbd16e44f87f2c947356c3399b18cefb7767f3ba50bc4c40af1a436ed55bfd5c36df629057eaccbc9df887b3f87c3249defbbafc33d3fedce1950c6ca8fbfc92cc66a079c27bff39cde2fa084df701dc7dc0e2952c893730e2a4f2928dcd361eb903c75ae9c4365751c67db308c2ec9f13d24c1185887938ac502a0383f58d592bd766f351751bb83ac4a240188d334335431af74dcb8d3834d1322ef69eb0604482ff1310697a1f504b9f1de35f83b4ab6a3080b3eb481e378c2e26f91a045831e3d61ed2543e1e60c208e64fec31c3da5a62326b3722caf13e9fe4202a555bbb7448b7979f802938c9f7e490078e96beb507219c6162a7750a45cd134d877ee0cf2aa176eb36c66238176408b2b67c7ca44483ca0d20b440e25c49ca188d981310e646f5415fbeb4b63111f0ad65d38f1dd30615370ee70f5c0b17dc63ac3580e4df87cbb64d3d4b8f62cc83ab3444f55e3219803815f5e4c5e88768c4410d10275aa9426550378c04b31bea6eb0797ba480265528fef7c9730c60e465413c8f12b63a7dbf179b310b0263c3a5bef5364db0844e6721c6c28dc9c509ed1f5de189dfb6e3708464c7d44b4d58cbfcf9d0f1768eae05e72d6dffd5129942e5e399e727b6360305e63c0ffee2084ccdf801b39ea7017d0379edfc9560c983fa092662a02120574f5ab1654e8d1dc5b093233b13a98fa0edfd64bc8be4b8537f8d4e83ec1e6f9ed4d1c3e7bdc63dd2bc11c39bee8312fcd988d783727380f7fcc11e69b26671890b55cbdff8656f93602835e7d83ef1856f22880d38b7851f846f6e9e577f587115c564a0e06ab2d7689230b6901f036dc24dc2ebfbf066bc38e5ffc673dda02a3330d9ce8ed379efa5cebe70cfda880526837c0d8f3b535fea9c6487ba336cbcb8b889dadcd0568e7328e0d9c25eb6e2c6144c5ffc5e60b74bdb610beb4dd438c7a882e779fdc8d3ec7262ece0e19c4c461baa9e6d591ca1dbfaefd8dd48f580d74331b9f5eccd8a2d6b0a818016d88528dc066eb50e0b2cb06061227a765dac2b42bc7d38b2204296a0b9d6fbc001bc9e987675086a776fc6028c2f8e3fc4ef284ac44977725124096d2426bf416e83bcdc45433657861619e280f7092e58acec50907d8da489ec4bc866119d1b2572d6fc7856fd762c8f6e03ea33ed277fb55a8f254714ab3790aff29124ed2d8277edea5a4eda13282e0b6c71180ddc9b0b408a86ba7d0cb7d3e255099163b9377d5dc130182998898a0aaa521c4ee626028755084097568d88797fde2be030379a3ced21584efd3f727bef895a3ef97f25cf6ecc9e7cc4a3bc1d2b8acefc2a949c41462d6f148ab7cb37e5992585338e55c37d6e3ddb03c1cfac2c986b26f899bb949119924eee94c5408579f1057ccd3a05919dc8637bc171a7973e20661448eb4ec468dfcf33ffdc0b5e36dfc6e277f888c9d593de160cd11d75cc1f4994dcf0c6c101c5d022b2ba32f9f55531bdab85f18b9c048a6f4a8f13a87913dfe25eb33c661d35b600d31f3a20806b53e5ab44953c3a2a3a25be73e47ba0a53543005272528b690c9307b136b41c12ce24dd1cd73ae82c099d0bb52cf1e015deb4e4ee2276d9ac5aa1f86cff73ead9ff5e04cbd0d18a3f5bce78cb1c54d6a1a32866ffc8b757a62e8fd401b620cecdfa2404e3f4d301de09aea98b637b5298651f74d5c1ecbaae61bfa16b0385239243adceabc78d70e91849d4b8f3977c1358c40833280acb36d397a02a2af3338e212f7164e623e37b91b0bd0af8e70b890270a15d32718b4bf1412c29a4c8555bd5e064bf0cefdf2faf66d0cb21d02f18cb3d30ad717a11b99a0180344c4bda5d41ec33595e411049f98bb717069c1294e0d546e661ab4201fb5697bd350402abb455f8a9468b5045385269088b7c4c9b44fe11ce71ee4acbbe9d210a5fbe04c2a3b22e25eaa474ca16599f96e14c5b4331ddc231307302729bc42eef14127720411a4c405068b8de0a7321879129d370b8f82dcb5bac72d7ca5ff9cef2f3163781ca05ddb24b6467d0ecd0e0699ea90ad85b5d451f4d698522cf9ffcd9ad70be03e58ff7a4525b11fe79f2b6a183ab41f423dac54e2b00b5207dbc8af684723dc6cc19a875e95a0c8b52be2f60f8ec8acd348cd9f90bb672121183d9516a07735c93e0f2ec783c272e478bee2445a9698e59214d6af238ad6e19a7c8ecf64e6437d4ba28a99af918f58a91564cd2400659964d154c5cb19943189034c76d47dda3f0fda30763b748fbb612682f9b6642bc4e335539cd3e8cb3f3e034e832360f6e8c3f6a9316ccc38ac34b61a58a1d63f640a0f6c5c976b5fb117a590e9a62a3a2f121335125b8463fcac29ab58fca59e5fe91ae18080de741ac2094437f71c268d424bfe0be7411ed853586291b7da4616c01edb42ffd54d9134450e570d1f5004b03d428dd2404869189b7f0d462a6877b0ea3615717a6b2ebd2fd95f02313f10870d0ba2c2a99c56c4eb225fdf6e4917826b54c131c4de7a3537f13076438fd0d7ef56af7e86df7ee6c0a5e827e69f06e158a56afb124b37efec0c75a1ec1a4b7db141c04ae9c60e64495fb74d8fffec6267ca150fb4adafa5dbe4e72b155a9df3b50a0fbda9b66ff8761af294614188d3b3c56aef6f54f85d0dfc5765302d8b8ce77c5765f5141b449b12cebd3d1eead2af810fd23967527905afd2d999276317717f6c4e7ac9c5f821f6fc8b43f53d3755eb44eb0e2eba9f7b8385ec5b859b7977e7b0df43eb096a46c9b3c87aa37b50d1b8661d94dee84a639f7dd220a8e530f4f45f3721c74937f01231ce0c0ddd827713e9579d72c60d4403fd3772abd05709a2855e63f2f612c95b33684afbf688bb37631542dd4cbfd7adedff606cda64205312f13d791c1dca6d5f1b35eb87e71d80284343a2f834b3ef1fdd57df8f240775346340369186b371417b1b22a3a6850a35e1e70e423879e6b6d68faa86b1036a74551d3fba019ae0144ebb5d07f8d90c3b2e96024dfc7be23c87c9f31f8e0e7437a9e60e6bf5172f1912e1475097c1cd32f57efccc487aa2c5e9f9864b83c53860ce02a74f5799b2ee9a1fca9c03d956d6131569f5c4d588753ba2cf3ff072b848be361509f0414ab97bb2bf760f3272ce4b093a0e586ce16b0641109f7bf5dad5fc2e075f3a54f31a6ca13581545d5d3c229449164ac0135629435fe67b5ff1481bf1f262a22eb866dea77dca64048d048d458633134c4e932b0c7cb0177bcc967eaab803a02e5e6c1969162b0e80a2623d28894cceda254399cd039cb34c55fb271da522dc3ee43f3d1e02d53d3597d8905d811be8716cd9508887fb7e886acf6e1eeaac346c0d52ed82a8034113f218236587d791f204516536f8d7670f4340f692a3cd34b60efdadec004700a5f2582164369edaacb08c5617f30ad59386981e1013e7bb49504dc1d890d180a53e78f9121c37a393dd713355c757a05e0de2c827ef397ce00d8dbf8c8250691ab980a1662d0317ff20240d81d31f95fc4b4f9877e894a6f093b90e4a1822a535b6df4c5f7cc12657028de1e8d57f2cfb29bef4e20501dc4ca882924aeb801847a976872452da0f7c397005bb2b86d16eb734024309e369e7cd63ddeb5583288048af6665e279a97f115a69abdd5f5dfaf9baf075e2d872b495b945aa35b9f2a710e2d0d7cbf641cae7efb81e7327e10a4e303970eec2b84c3e475ef5885ec7676c81d7e646bb3a88238289729f4e8e1dee7d8223a5dfc217c35391411a298d9405ae6dc26ac10b980f3e0483fe6e53927128568a32ed5f7eaa4615a5568164c13a72462029d3f4c3d63fd2fee11cc9440ed9aedb024016b1dc77f276bbeb4488bf5035b2a78603b85fa266d9a534ebbd2a8c0b4992209d6d8e43fd4a64b213da28d79db5b394fc45ca8f713d3d3681a503a36f480695ba267f8d53bd0c129a275e99ca83b857ab91e444dfc648ebfe0082a4e00533952832a056b00c5d402c1b9697f4d17fbb7b764a271a46c7b61041d8ab023b5c44b39198944dfb7b9a20c0df42eff401a82635ce4270b6dde90402052b2a0c159f280e73713e02fa5b7244e3b9b66f9df73eb52af63871772808efb2346832888783c63e6b0bbf936a0aa9e141a0120a2324e9383e769f50699da78ec1bdb7572627e7580acbf3cad72b1c9cdeaf711e922ca04e1ca4684c66211798eb26c35ec37aa71854a33f449e6f7456ad6bd2bff5b5d4df65929b6e9f7857f72262e991389eed9008ba093efe1ac7f36249ee530b2984924fcceb784e874690ab2f84bea903bc904c07f58f23cc8d54e6ac9ed83ab4da9c140f3ea897aaa2c24d05eaac4c796eed0c041b8db357e29bf824e1797bce9e1f6b0926a8560d59b7dc7cfd24b93db2170997c094d79e03c684933ad53e91a17023d3116c9eca1348bbd2b5e0d80c7c80a29ac4973ac83803eeddfaba4a7f430dfa87035e4c3f39bee14bcbb696a3f40bbb189dde1543adeab0b4d4ee625861da503c2fb5c748f351df4916bceb5a493be38ad4fb17e0273fbbfe06ae2ffb295269dd930a9823c33ef37c5470f49b1a0013594ad53e9173f5498e8a25b44e4fc01ed3b321a5269f11b7672192f196a098aac67dbcdcb925617385e02be54485efb1114ee2a69a77a4ec60a126815a29593b6eaccf9695ac6a28b13e8ba88bde3bf95b6121e5ef11a5b236fa7c00b47050de6a1db9b6326521f632c87690bbdb2db6f9628054e384f3d8bc3bb60255c097c95671f1ec7ea722366b992af7df8276b673a040b94058f5047ee53640eea910f171411a9cfa261cbc5bfa4b79f64c1c8eeaa3e2e2fa9fe861705c82985ed01d5a3bde50b523de10faca25c44c4eb78b3b9da9d4e563abd4867db7e4bc664677c8196f021f3a514394becb59f51a30858fc76defef4b104e2874e7a8a4562f61d7ddbbacdb5591d96d0ec14b332c23f76057e31e02510d462c69143c6e24b92018dfb79f06711aacc3f1fd9e01628f0c03e89466eb39195e6f99b5b273dd49b0a37d997e069282ba510b9b34075fb3a511bf4c34dcd3b50d2a439b4e0c920902628737f2b98c18b6c5df620422363214646c28534a15f67ee4ba7e2db6fff077731db7d49027c99549a119dbaa22e416a62d6626521b0572168d90dfedd4b64fd382b861b08201cc98225c0ee6e899bd2cc4de68b3bf83db779b1dcb433572397507bc9bfdea81d34eb1f8be64fae8f544ac985cbde2025c57e5f03bcc3fc6d951f7610e000439f61dff7407d7b4287ccc01d2f41f7165895e74106b337a446088b056fa1dee30fdb73007a57708706ad6c0607f93e0abb272c624cb50bdf528b7d3d92dab18cfd4447f61eafc2ec4e7d3f39c618274f24263a5d72627bc1b1478937c569df39f8b4a21aa982165590a7cca76466ba8cb47e373f4362880c55e34f80ce08d03d1ce9f152a4fc0e893bb4e8c4d90af3249c06894e063b0aa5a84d240b02778cf27df8a68a74d8ae74ab495fd73aabd70a203581559ee88a05d6feed165c2bcea3d89605c18cf53eeec13d15f7a0d0e0beafcbb59372af7128e3060040835c1316cd30f67a0f0c8ebb3cf511c501dde1dcfbbfde8619290020f13d0057f5e55c8e402747058c931e1b218a9fe723cfe5cca5fae7c1441edb9d61f7c6703d5811e6ec3492e8cae1d4b9029b7a333b953e28e029d1827cc6404749597fbbb573fce800e958ed506bc8a470ca7b3a6ab3781c16b68a6ff5dec810b68a1fe1cbccf26b3625c099bb2b3b580d3c22a410cca903425f8a722d630f76df507571affd9a19b78bf5702e00ae3763f5e90561666a9b817a01ac993cc739531771bfa761bf74deea8875868a48fef8d333075e0d2bb7a4d3c1d765a188b30043aac02c19a4370ce54be3b588877b17fa929e58925b52d36aae8e8eda135053438a43a9fb2cf6fd98b118c4232724278f4f5d31ad0c6c5a66506059edc9bab62ab479b84dbcaa8d93a4b919396abe36a8757b4080dd9ea45f8c7f921b390ee35c3f572c1dc01b432cc00c16a1a9b5940870b139d76991df7e8e985182365ef0b27f91b744bd4e0608bf1d12e54ea28c3615f1fe4d1873cbf1126170586577b5bcef33357e12e10d02b69a9f82984ab1a22badbb28927a263e0cf1fe75f58318cd41f9f00e836dab8392ec04de71244d52c313ee1121d24b10ea574e030c782f7be1d063eba42f535681a25d2e45c6077553fc9b798c250f31dcccc8443f0d5f27c824f965732a9bfb9d7bff64330af9bc78c831d655178599ffa187a2a096074ce03b26dce052cad9a37384290aa6356976a37c69813f1af2bbdcf17996edb7d2c1b7bd34d3e9d50ad749ff818e8c92615189128b759f71025a0030a4ee9468b2fcba9a6568cae0a65ae18c53fd2e6d557c821841a2c9cd72c74fd13dcb56d2a76eeee0942617aee16520c8637b7c3bfd825c146bac46e7191c75699bfe653640a902bb8691252d5474828ae2468e04e1fedbed9a499aea3e5c5ad09745671b69c00e2d23f5da6935f0232531ca3683b00eaa32bb3d258c6ca21e1a369c02905ed1472a97be35e81c19c469c8539545d5dda9d72656088492a65aa19b0fb9c29a69e7a00f89d7afcae67bff9501672dbc77067806a6a26ab7a467f9dc3e14e1749ca08fff250520bffc003e18edfa306db773264f8ae2a2e6c5417146dd82641b5f2a2c6855ba0767585f0a396e67f8d286140f02571b3adcba8b2faa66af0a65b9e5eb3163485eb8600d25553d0a2270b417f4d1b85cead0734ccf4c2e707671c99807a24eec3cb1a0befbf1dd6ea3b7e1d9a328e54da7162d36ca411e217d9591bba1a3aa9f48ac094577b551837e4e381399c93b430fe8c03b8e9925cd6cf19d22b04996090d1cd44af93381d5d1c0e953493d8248a5d9a860b825dcb7bead72e8e4934f09ca0007cb0e42746d166789ce8d67bb8e34019dfb6c8b2c318f16faa899c134d3824325986c8d9c95f4ea32078bce6b3071dcf82d1eef8ac13044777d21fc1d1d8d19f5bc4b042cd767b75bda31a7a73a0beba02b6944eed2690863b3465d522650da9b5e9085f9585cad250aadd7208c618496b0f4d3fb4bbc13c6bd31327e614e1b3ca09a6e55b772dc8ab66fcd5b40deac0267a8c58fec13f39ef98733f1086e0f726fb2b7fecbe6273c69ae9b3392c40f070e186217cd7055abddd4b475da23199da751b2a7484a0e0f74e40ae6bcb551a1717743368f78f7ee5b48f180dc5517a74c34642498be4b4f4adc055a39a8f1e38c22f39bf9ed8d14e7fdcf43144e971d065d29f7d22d893c2a1a996a0995d9e6b9269b059ffe7fc719988d8714740ec1d52cdc1ab1ad730b17eb5e137730d57556216e4b669622e745f3c833c69c13eb014f91c4bffd5912b03d1b41e960c4bdfc6afe31b1cbfe126d1c752bd9b2d92fcb9b81ef98cb99e245f661fdde5490bbfe6209d834b5dd619e30c819b411c2d2b49eed9c6a3f88a43b4b9fe3bf44bb49ea1b9b79374a09e4312e60c804a5f24ad282bda45684b3c3d246eeb0d57829f7e35730b12b4a2b6fd8274af98d17f922bade1e40bf440b3c03c5465bde4cb0a56363b92f2085ce9b5c2a091a5826f213c8b297e83068c785712a0f288d2f1a6fbdda89f0213abca256ad04a9cea3f692387760c83cfdae697f11ad88b8a41a07cc63aa331e8ea2b15cb084d8e6e07d17eb15314e0d14dcd038d35a5355b3c0b7c67ef23ed6e6776e5484ec8d659ed7cd12845a5934c5fe83344eaf05f266fbefaa8af090e2ad3868f18aac7f3c10c4eed20a6b3bc4efed27ab202d661e8d010722a77e419d5115bb7e24f6aa128c06303f401f3f2decd4ae2ae71921f9af8632a5f53e0838790b38f5e59338ebbd22994d929243c431803b81fe62ba6881d11819e62c2cee4a9d10156c62a595e58620a51f65d188b6fb5e821db4e2b050e6dfb8dfc9e55d967bedd8a147c7a40851a51650f35e123e90ca94add46e87f5e0b62e333ad1255567e7cc1e2da389353765794567af97d10702f5407d79313685a7b23f4460cebb3771d8c0f25710d990691442ab37e7652c361a305e22b00e5f6bc00832e0d1c11e79c775bb1576703a707057c92fa7646ba119e425f9beb73528b9c0bdcd09942ec59d5f2325403651f6aba49ed9dc969066557d48c2041d8c3a4cc69d5ab81a26c8ecaa3021b7aea72bd16ec95d16b4542eec65dfa65d1b811da6d8071b1e5737805e7d7be183215ad227e1ce3f97f5a0a1888207c06c6bf8903a33812ffb68415b442bad34cd44b44ea85b6e37f1cf1586825ca99e632076130d668945fe5753fd834663430aa046c3e407dbffdd51234a907476439d5097a8e31a32ad06c169b9350eb80c19a099a4c6e96491e2bdbfdee291bfbadc9c94117af45b9f75b445f9558a613984654e6624182936c35aff8b67a30447629e533bb76ebaf64693e671b2118c5687ca6dd5fad6958c3f01d0e9d6f5cfd5e3dd8531194a13bb3c553d54c85905d42dad4c70cf7ed8e5ba4762b0e5d2a012f65815a8c4a585fabfebd20f961aaef4ea7c96158e8fdfe5d6a3e02ee594af68011007df8e817408f819c71d1e6ff6b9a7f2d05e6d79e8db2639f648241fae5e265eb150da98c628646244cc62109eebca57fda0a718e69fcc12ca01fe182388950dc1f529e054a0b3c2a89866de87b40e54fed5b27a9acd784e41521d8bbf95922448d07bea17be6b4bb5fa792521227495384d7e90aee5ca0b2acae497bf1be5b3ac53e30be5c3d1204ccabadd0a04bd4953ecd8a14655949f85a04b6f6d48c20d7e46c2e51e1bfcecacb61f95ab9b2bc1541d9cd768421698f50a4a450a909656b667efdfb806b1d2531a98d86f0136928930e4d581bb2dd224bca16d13480abf62aee5ba9ddce2bfee470096cf7cad79d83be6f5f808acd2326d417e2dec4ff7d5990a10347d0caed407e50922937c3f479e99dce0740f1d1c164143efaedb393666976f096ab456b2c08e3d125ed7790acff62b3171f1820f4379f4d2143159509e0270b1fd10a7f6e4df08da1fcabead53645db54f2357b26b9118d2460b39e1ac4f5d5c59acbda8f418b78f4c6233652890b3c67f6ff18a8ff51010e24d70bae11eda2feee291eeb43c7cb647c1c2c09b3fa5561fea63a38106d11a2a273c814867677ac2c0aec94a0385a0c3507328b27ed2f60d4ac4cc0425edc744894edd364f9d2f4161dddeba0131e8237121003a35c198ab3184c943232547617915875904288e247821b06b9eb55ca43014db23cde8c0524f20e29da959343fbc7591b8f313a70493c29263f989da020d66649f9c496090b2abbbf0c6ff0d97307c5f6bd8042e857bbf929a7d9d00b0b519814a984555ba6c9724a627723d442d4c068b7be56936d801f18345c595577d8a817ccee69641e619cc4c1e37c8e7a794656815bc291557bde43589863ff7db4ccfe2f53f3d4e32f62849e38013089bd164f1ad5d9dbeeaa3b683ecc030635a50787e25f7c0ef0b1d93a42e119e08e7d5373e89286552ac919c7783ccbe2b36d899189829b0ba66fc9e407f8ce29b1cab361769cbbb2a38fe4f7a4d6a2fd185433006f957afb26ca625f593242992edc3c0699b01a3421b2e1a9b87d4a575c929e858eb2a2c90cf829982e6e54d85e5febdb2bbc2347b2bceedbdc9a5ccf62af91b96b6b5ec4c958bf322549eaff57b79941c11c5907267bc29938c64984acba0ef8fbacc9f7114e2e63472f69ce4ed9ff55f96849e93c1619a78d248303edc295102fef5994fb315e8c2c4865e149127738e3f7c4f36f97a00c9c0329ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c061535781bd2333a5c5cbc961a0c230ae8ed049f3cb26cce0afaa965675cae2a97dcf8c87d2916405cee52a5709225bf2dfb5452277e091b6f36ee251fc9f31532db44bb177a465208cf3b50212cf53d3c4b38df55d0051646b5fad13df3a0b6e09ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c063fc5b25de544ed98d8c6a1ec548c47a5523e939e8bf07326efdc133352c92b758035c841e4360799f0135deaa0a3c176479cc9d356fb8b3001ee624ba3b4c7c39ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c062d8144189140bb7c3ac457c80db5c4e44a8d4e443e2773311c9fad69917dce60c97f4cceb9c2dd63df80675554f335640cc46875185af539e2b2f3d6b9e9d7ed57d1ba78e19dd46a4dc3be448ab14e7f5fa8019b3bcf94fc58c2d31d1268465410e277ae39e189a5405eb84d31408cff0e4e1bb4698a4778a86a3b78ba53b9a754a40c9f144e80fd40afc82eb5b85fa7da166804f41641cbdfd1b47c17ae4249962e3a7f7bfcc5742144c3f1e81ee7154b9c3f037e2616226eaef100e203094f8b399c1baadbe4d98eb1c5ec0c61d66af08f61c9280d8be84212bb3aba564f9a4e18b109b19b6aa79663d9635ddced8c8975dbea92e2f2c280e194449d261233fa3e1f3a9bc83ec3e56fdf4d164020792ccf9cc7ff62544e6b499095e5e984cca627a0af554b97ca19127b8fd4a395feea57a22e3a481bb74132c30f7a4c4cb3d891b1c7782cb72c1a45673de45b15d7d97442c83f4f89a63561eea9e5b2db1474967cc79b07f116dfb5f0df30993258310ae8c87b698d164248c81428906c12b38a8b4abc38531ee4da2c4d3a33a9f150147711254bb01e7a36fcc94d01be17fa566cb893fdf9409da62c4ebfe439f5d03dbf215f1cb604acb01b9e42e1c0d83b6e1ca0f0f11649c4b689b7a563f6cf82ac0d608708175515b1a568c4c52346285841d56c54638db511bff0f0bbc2958b1b0866674b54b99729f756887332ab18dbad97a02b74466fc3cd460fdf2a2eaaeedc51cfaf784305da8f01f2d21b1054ae1aade69c0378e2d3a612ed0ffc24fcbd781f7f93cbff1ce93e7933b08922648e164d616509dfba870cde711f63cd7105415ed680d5603977f7c4aa92b24ed869b213d8fa004b93da70314ba02e2a40a635326de3f88b4f854c2946ff25ec150c4c32ad3fdc8682baeb8c28e76f067abc27af406e95b53c22cefda75fbf996bf46b60603a24209d0b1b2dc656bcbed0b7df5a8d76079daa4e1552d5540b12f23a8eed09cc9e87bbd876ea155787e6d8025fc03fbb5eb35273091fbd1211e7f2e18f940087c85f2a9a7286b61a792c76e33387d6033f6fe1329f56d4c4a8e7c2ea4d0efbcfaedf4466fc28f1cadc2b5297529deb3d231839c08652bc8f61070951005e5851b4624eea7adc326ce0f2bd71009b05b50cf91697e983620684e7366f5e07480e9fc5015cbde9996770a2f0da5aa061fca258a31a647323a35d7e764e4c6d0f76c9cae5aaabf071bde7b5a006414914d01c8c33a0b9df6b699bb963f2019985f34d30d8577db06f1cab3bebdb327ed63d1abe28b78fafebc63bf30bb56c4759f57160674ea01f66be094e296a7465cdaba02f6b2a83acaca8f8bc1388faf3dc1db1dbb2deb29bc89f347745225101779b4b419ca58b87bd619683f51151bb45c6a786c5fad5a856b5e5de636d1c9492c06e7b9cc77144dc7f94f1b14abfce2e77d18f0143fe3d8c5275257b429efb6da34fd654cfcca98fb477909cce87c3e55abb2fdbd80d9eb1059a13c4d29f5e0c35b9522b7341e5132d6be1f2c11269d1a5703af7c9f902b3d107e898af939dcb8adac11cd39304a705d79551eba38cfcd045e26ac140d22eafd6448813e6ae8b2fa9d597d42d51ab3f23e702d92c0a306857004026ee6d9d805f705cb15131cd6a85f4fe6c562ee543b0fbb8c06e5e825630c9c36e41dc3939cc7fcc12c97f0d26ffa71f74847cbae4f6a51590b276e5220fcdd216b9ca348c2275d50b1005ed566e571ba36efcaad31830021608c2f422fde6e3851a9606b5a438743fa1fdb54e7df672bc0300249c0b7140f5c6e2c822b43f3069ce74b126e03cc976567552671473970ed5fe3b94bc5bcd3c8f45f47b93194eb3147fabc02c6c0b1337f388e33905c00ffadf99fc1486083750c78b8de368c512e36b6b501df190cdd0009017798e6e09873138fecb58922e9039d1234f122f365a49c5c4d2dee37d11b5267d4f46737e0c6549be0b2df663972fb108264bb8902560007582322de80dbaaf2d2b4977881fee569ccccc12140caf1087f869810eca7befec11accedac05229c0571e4e4113221ce8a09f6cd9c7d3061ec0c0b9ec2b8a0d4771a80974a24b347d30f44fc7fcd5e2055466efd07beb2bb6e0e0aa355ac4cb77e4edd15cdb6e7f4c1a6732ef9962cc741b8cdb7ad0450f6c3d31c21a80817c8c2088c29a5daadd9d66aaac828097afbf56c2780c25db0e66071c8db09103c2d97d9da01551d360382f57a94bcc84d2c827a8a0c5c3d172b1fcd13d63e9901e4ae8ecb1207d1fe8c223bc221da7643f28b836e21674212691329d478a71c4fdd6d383c401a6bb9e93f09819be6d0babfda599a23db562253f2d2b495ae6da82c66a8f63010ffd6e1989e927c176ed5c88b49f19cdeeaa97c4dd63c6e4a36246c3eaa40f4ca6d395cb9f707e059bf98baa2dde96f2086f8c709bf56f3c710768d6cffa617a26ff5a381cdc6b4d74c9078b9a756f1f4bcedb8cd6c177614c09eae8b455de22cafc2541ec7a0f9ac1977c732fd45956b255d96a5d8c855de47b57166054c46978bc728475fe96b0219c598dc71924534b76d68641356d9275dbe1148ad175713f3951f6ad5ba6a525d98db04a253e4fa22a0b7d13a2930bf74210921de659e331a1c1647fe0102ee547f83028d05ba76434ccfa8a7ecf3eecde2302276b9ba13192932fd60614b6d36e0ffaa005162523089d9981a70ad9d5a0233e08ac400ef0d6c2559de5ab375a3d3c4c1835527e65d2c6248d4069355ae8de32032168e5c8bbc68070d338e008c504ff434158adc395be0378e6680609ab937947a2062aba2b90935d6c96d75db61f843e10d6407265642042f448ab87af3173b1e21ce14cc51a181a19251874215cf79e9691f5d3edb271983e00d652ad037965f8b1c1c5a37b7dd8ce45d69e62ce0139112e4a962e8981d8aa6910608b99738eca62a5832e025b52d2849bf3d7a78a2021d5df221a241139f57f9edd464099b1d10679c7058e754c7230c37983c667b2fb2ae06eb37a688a8ab1ddbcd06f5353bab30b5f92a23c8db5ff307c5c7cfd3a9aae2b9191847bb6438398dec3db9a1519ca72d7160939894c093c18791c9a9a83f3a652e6d5d3225a6b9c09269b9f157f95ebf8e96b0bd8743f569e4930639f3ea985959307a4cbba12006bf14ad1140497976060f387bc75c338ccc7da15f3c222737e817af45561ba76f0519319fdc442d942ff7405462d58ae06af2e1ad2ea7fff86b2d3f1af0d649898a35e42dda4f26a3a7e920c86b85f90f5a40ac4936033049e6b02f5b4b13eff5acbf5c28f949dce714d44a5517fb92dbea952f933b0c86818315c01d0e39026fafe23dc2c564806bdd986cf849700533d0fa02aafc42b508432e94e837f2310a94595da24b6b6f11ff60df52ca17542a90af712971b98cc25b7c3857ed0315a848ebfbe20e4bb7dae8ea515673d25fe4c84eac5804818d67bf80e99a7a2c57dfbc3e105be913ed7d6117eff83c57eb11ee6994826003e7419ae200805b220b7d854b0ba02d793315637ffa6f2068866bf550eab83524f31459b31586d7abc0b7b7d8a74242eb2950b8fa66093340cf907fe9e6df5591840e65833f3dcd2ba5db2f11d4ca3d6a1b31f03ecdfda0fafafb6574cbc867b1bbf704392e366f0eb5d1a7f1b865f46978da6019015ab8dacf0e3c33641ce834f9f3f657aad65334c2b059cd7c4e64a390021f4ea250e40ab6456bc84c211b61f2b5568d37ff82ff11814ee6af76cf5d68cb8ef55adfe742649241c52d08b79eaa1721e99fc3378ddf5ea037c37311096dab4e278d4ec1e12eebbedf1d2c5dfd4c69e675f2751492c50b48ab04d2620601285185ae2858d4931ca6fdfdf2a8a88249ae7d0a538e3241c200a64518507a64b1bcec478e108d863a7f625171ed42582b7b9a9389eb3b665421f3d68f59425ba512f80434033bfc50e597def94fbe011380b4aff784295d72261fa2322ba0a24f56eb49e22957a47596452f0269bce077365ec09d1a5a45696fdab3bddcce23ae42a00d3927d03b8f214566ac4c1f5d7a1c872771da5176d41195b5d2b6c9645e0f21ee32ce61432062862068d262ce600cc128407eca99a7da780fcb3e53d215274512e58c7dac233906b856ba279b7156f1ab2c311f47814618f7ac0689733ca19ce9dc1b95d9a0d6e884ff2c1efc0e1ca6e4caf47b9a72f0c7560684e5205c1f2811707e5450d1abd20bcdd39bc37f3fd5374965f243d104d9eab3f752764ce8464ffe5e25e89d0a04fae437b42fa22a65bdbfc99b8ab0c2d8e5c2ff72329420f51369613ab2c92d8d20deaa106732cfa66b3fff2de56ab5d25b45ba37042612ad4833660a3d2a908157b199a150f00fa47e500e83f950f2e98a632b002396636f396153e0975f42e0f48be6be06a655be35612c6d7f8d64dbcd3e0b306313602f99c35a75d6169d6a3fdd8241d3f2e4b67aaa5bb77f40b696fdddc14a7357564c3924fdddcc43837610a2310e5936d9fe55877f5de2977dd85aad8ee1edf3a571e7483c0dbd54d05b7a3ef1af8559a8cea6625cc8d0891f4642d5529955a1a3adbb84dce88635dd8763aeeaae3ccb1ff30954f1a1e97aa47dd384458c5080f8c7a53c534b3e379a6c0e884cb35954c877685917d9dbc52e6bca78046ef4103be357b6e44946ecb8c4d5399b56efa85381be5d79fbeaf94027afeede3b623b17090bc0e6cd5dcf3a94c46066449def8531ccd1c18d8f3043500c532e0b0451e9c4682255c1853c44a58ea9adc47d55ca8a23e276dbfeec3f315eedfebc8271fe656ca0d43949abe60ac555d86d5c29d092df0229bd1986b40dd990356d5f23656fc05f48aab0705e9cf0ba24ac5e1fcb4d339cf2fec2d6942ee2ddd4c76a8740ebf60b3ff9be2fff6a5eee01eeeed802177fef4705de5efc45ef2c1a22fd745a802cd9b0f8ae9025218d78e0fa2408f63575b2c563c0dfbe778937e67ff4b6aa6b53e21fe0c6e922747e644f23d204ee01cbe63e6c0abbca916c47078f0cce8af94e3830d15e5df49cc716be8770c51914ff0e3f311d32a820bd0f7138f4bfc6e7865143b7e9b89eb2de9c498468155fe29326eace2b0049466086d14dbfc9b0a6f2e18f6b3fcccb6fef8f4f8eff919e726717544612fe567a3782225d52a381e06cd77c0b123e13344e8696ea2a3b3852ba129808299b42b9a96a8032d91005a4384eb16309e593850c80e4c237fd7eb2c008a7ad9673b898cd061ac82281aac3072752d4ffd0b3e5dd88c43bee0327c14aebe4839fa3685c2da9227a4b56770c8ee5f936fcb11d8dbc61cf6fd04746421de0539591fbd0c83f19a4b03d2eebffc7279faa45ad3a057844753d8d744bcd79b327fffb478924af20b870e365f3e1348710d7552d4ca61490744f587fd88674ac330d034a9c4ec63c198549226d745eddd979e3696e085489dafad0ff1796090e96e442af5db25e8ed864d5bba91dbe1e1dd679760ab4e3a7e1fc4e4f106544dd7d611171f64b0dfd2435352b5d61000694492de4a590bbf0b7997228dc7bc3d708c72cdd2ce24443963600dd975e553c22158239ae7e76935e3cb1749ec972e60ae84ddc46dadefe6c69f2a158ca9afa6ced8a715b86ad3c1da4afbc4eef16abd8a522bb946d841bd389ba7415ddc54b6ded71d237d28534e64dc638a5eba0c3b8a6cb1cfc202bafc7088497d4754af710ce3792994b395743f0dfdb096a39487a7f7b6e2d13b19a29f14cafbb51c194e98513e9d54c2fffee70d6008271dc535daa1bb9abd5c0594fa46bf17d309c11368f5d80fa5c62d3683546e4833b4e02ca11bf26e7085cc0482dbcda62ed68178cbece361394a7454c94444da72f600cf6c3dcc1029e0e5c8cf54e1bf92ec7a4f58d776063be0671f956a55ed4ba0355de686608143cc4868ca68ea8846ac0022d002ec43c2c75e5e35a92d4a4217c385cadf93f7a35867267f449b058438f08f013293c6ce274f749aa502f8042fcf9a1610ecd11edfd7ac365efec04ac27a5c2dd14acc307ad195c01e4972df13a1cc3d17aebc91d3e9fece1e414632fedd297bc892c862b55a5ed7aaeeaa4793eebaf6eb68c2a41339126c4204de48f6c529f0f1b98e616899b59ffd61b618f993c54dc1e9e0f82f7f9798708683b601e2ab06c3c0d3c3dd84a1b5a65fab2e5bfd405802a826d13709e8ff4fd48536ad925ab68ba5a99cd580ecb6c5c250bc0449cb803df98903ff23519813b3959a52c9be2f0a5f86846d6956166cfa1783f7a825c3728aea244fba31f2b6d979e3bce11b689ac14b29358cb90864cb3420bffca281cb92aa0b08bb54c74687eeb4259c7d372fcc97c9bc4e0b1464881c1809ddca66b696341ff1596e2cd2c60b4310ef4dc9942b7aee279838ab8bafe9f5c8d0e891b73d859e6f265a695322a30354f9e3e7c1ae4fcbec6ba8a07b17ec0f189bb3624051a33a05147b5496babd6a9a0b06fc2e29042539d16075../../uapi/linux/input-event-codes.h../../../arch/arc/boot/dts../../../arch/arm/boot/dts../../../arch/arm64/boot/dts../../../arch/c6x/boot/dts../../../include/dt-bindings../../../arch/h8300/boot/dts../../../arch/microblaze/boot/dts../../../arch/mips/boot/dts../../../arch/nios2/boot/dts../../../arch/openrisc/boot/dts../../../arch/powerpc/boot/dts../../../arch/sh/boot/dts../../../arch/xtensa/boot/dtsrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootkernel-rt-4.18.0-517.rt7.306.el8.src.rpminstallonlypkg(kernel)kernel-rt-develkernel-rt-devel(x86-64)kernel-rt-devel-uname-rkernel-rt-devel-x86_64    /bin/shfindutilsfindutilsperl-interpreterrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3e&@eev@e ddddܺ@d@dϋ@d˖díd ds@d~d@d[@dr@d@dC@dddqdldf@d\dX@dJcdFo@d>@d9@@d3@d.@d.@d-bd-bd-bd%yd%yddxdcU@cU@cc`cl@c@c@c@c@cwc&@c&@c@c@c@ccc=@cc@cۥcT@cױ@ccvc0cƍc@ccFcR@ccc@c@c|cwscr-cn9@ck@ch@cb[c_cV~@cMCc@c:c2c*c!@c*c@ccd@cb{@b{@b5@bbbb@bz@bޅb@bVbby@bb>bb@bUblbb2@b@bb@b@bbw@bb@b~H@bzSbu bk@bjbgbf@b_bX bT@bP#bMbMbF@bEbA@b; b8hb3"b1@b/.@b(b@b!b~b @b@ba@a aa7aaaa@a@aa5a@aza@a@aaW@aayav@amaaf@a]aQ@aLl@aC1a@a;Ha0a(a'@a&0a$@a#a@a@aS@a @aa a /a`@`` @``@`@`ݮ@`ٹ`@`"@`@`9@`D``r`r```@```Z`f@``@` @`@``@`@`e@`}p`x*`t6@`n@`m`e`c`a@`[)`X`P`KW`J@`Gc@`B@`?z@`<@`7@`2K@`0`-@`*b@`%@`#`"y@`!'``>`@``@` `@```2@___I@_@_@__1@__ܙ_H@__@__@_м@_v@_ǁ_ǁ__@__G@_@_ _i_#_@_/@__@_:_@___@_ _@_"_@__~@_}_w@_s!_k8_e_cO_`_X_P_>e_;_16_*@_&_"@__@__ L_X@_c^z^^@@^^K^@^W@^@^n@^y^^@^א^?@^ϧ^V@^^˳@^@^Ǿ^^@^'@^@^^@^^U@^^^&@^^@^1^^H^^^@^k@^@^@^0^^|@^{G^{G^wS@^v^t@^s^^r @^p^n^l@^j$@^g@^f/^c^Y^U @^Ri@^O@^Nt^M#@^F^C^AE^9\^4^2@^*@^&^!^@^g@^r]]]+]@]]]B]]Y]@]߶]e@]]]]@]Γ@]A]ʞ]@]@]{@])]]@]W]]]z@]]@]]@]V]@]m]z3@]v>]rJ@]i]g@]e@]c]^][]V]UI@]S]R@]QT]L]J@]D%]B@]A]@1@]>]9]8H@]6]1]0_@]/ ]-@](v@]'$]%@]$];]]@]^@]@]@]:]@\\@\Q\@\@\\\t@\@\\@\9\\ޢ@\P\@\ڭ\\@\g\@\\s@\-@\8\@\\O\@\\f\@\\r@\,@\\@\7\C@\\@\N\\@\@\6\B@\\\@\@\@\@\M\M\M\~d\k\eX@\d\^\\\Z@\HW@\C@\@n@\?\8@\73\3?@\@\\>@\@\I\@\ `\\l@\&@[[@[1[[@[H[@[_[@[[v[[@[@[ٙ@[S@[ @[ @[[@[[[@[;@[@[R@[[@[][ @[@[t[#@[[[:@[[@[Q@[[@[\[[[@[v[qrDenys Vlasenko [4.18.0-517.rt7.306.el8]Denys Vlasenko [4.18.0-516.rt7.305.el8]Denys Vlasenko [4.18.0-515.rt7.304.el8]Denys Vlasenko [4.18.0-514.rt7.303.el8]Denys Vlasenko [4.18.0-513.rt7.302.el8]Denys Vlasenko [4.18.0-512.rt7.301.el8]Denys Vlasenko [4.18.0-511.rt7.300.el8]Denys Vlasenko [4.18.0-510.rt7.299.el8]Denys Vlasenko [4.18.0-509.rt7.298.el8]Denys Vlasenko [4.18.0-508.rt7.297.el8]Denys Vlasenko [4.18.0-507.rt7.296.el8]Denys Vlasenko [4.18.0-506.rt7.295.el8]Denys Vlasenko [4.18.0-505.rt7.294.el8]Denys Vlasenko [4.18.0-504.rt7.293.el8]Denys Vlasenko [4.18.0-503.rt7.292.el8]Denys Vlasenko [4.18.0-502.rt7.291.el8]Denys Vlasenko [4.18.0-501.rt7.290.el8]Denys Vlasenko [4.18.0-500.rt7.289.el8]Denys Vlasenko [4.18.0-499.rt7.288.el8]Denys Vlasenko [4.18.0-498.rt7.287.el8]Denys Vlasenko [4.18.0-497.rt7.286.el8]Denys Vlasenko [4.18.0-496.rt7.285.el8]Denys Vlasenko [4.18.0-495.rt7.284.el8]Denys Vlasenko [4.18.0-494.rt7.283.el8]Denys Vlasenko [4.18.0-493.rt7.282.el8]Denys Vlasenko [4.18.0-492.rt7.281.el8]Denys Vlasenko [4.18.0-491.rt7.280.el8]Derek Barbosa [4.18.0-489.rt7.278.el8]Derek Barbosa [4.18.0-488.rt7.277.el8]John B. Wyatt IV [4.18.0-487.rt7.276.el8]Derek Barbosa [4.18.0-486.rt7.275.el8]John B. Wyatt IV [4.18.0-485.rt7.274.el8]John B. Wyatt IV [4.18.0-484.rt7.273.el8]John B. Wyatt IV [4.18.0-483.rt7.272.el8]John B. Wyatt IV [4.18.0-482.rt7.271.el8]John B. Wyatt IV [4.18.0-481.rt7.270.el8]Luis Claudio R. Goncalves [4.18.0-480.rt7.269.el8]Luis Claudio R. Goncalves [4.18.0-479.rt7.268.el8]Luis Claudio R. Goncalves [4.18.0-478.rt7.267.el8]Denys Vlasenko [4.18.0-478.el8]Lucas Zampieri [4.18.0-477.2.1.el8]Lucas Zampieri [4.18.0-477.1.1.el8]Lucas Zampieri [4.18.0-477.el8]Lucas Zampieri [4.18.0-476.el8]Lucas Zampieri [4.18.0-475.el8]Lucas Zampieri [4.18.0-474.el8]Lucas Zampieri [4.18.0-473.el8]Lucas Zampieri [4.18.0-472.el8]Lucas Zampieri [4.18.0-471.el8]Lucas Zampieri [4.18.0-470.el8]Lucas Zampieri [4.18.0-469.el8]Lucas Zampieri [4.18.0-468.el8]Lucas Zampieri [4.18.0-467.el8]Lucas Zampieri [4.18.0-466.el8]Lucas Zampieri [4.18.0-465.el8]Lucas Zampieri [4.18.0-464.el8]Lucas Zampieri [4.18.0-463.el8]Lucas Zampieri [4.18.0-462.el8]Lucas Zampieri [4.18.0-461.el8]Lucas Zampieri [4.18.0-459.el8]Lucas Zampieri [4.18.0-458.el8]Lucas Zampieri [4.18.0-457.el8]Lucas Zampieri [4.18.0-456.el8]Lucas Zampieri [4.18.0-455.el8]Lucas Zampieri [4.18.0-454.el8]Lucas Zampieri [4.18.0-453.el8]Lucas Zampieri [4.18.0-452.el8]Lucas Zampieri [4.18.0-451.el8]Lucas Zampieri [4.18.0-450.el8]Lucas Zampieri [4.18.0-449.el8]Lucas Zampieri [4.18.0-448.el8]Lucas Zampieri [4.18.0-447.el8]Lucas Zampieri [4.18.0-446.el8]Lucas Zampieri [4.18.0-445.el8]Lucas Zampieri [4.18.0-444.el8]Lucas Zampieri [4.18.0-442.el8.v2.g6f5f]Lucas Zampieri [4.18.0-441.el8]Lucas Zampieri [4.18.0-440.el8]Lucas Zampieri [4.18.0-439.el8]Lucas Zampieri [4.18.0-438.el8]Lucas Zampieri [4.18.0-437.el8]Lucas Zampieri [4.18.0-436.el8]Lucas Zampieri [4.18.0-435.el8]Lucas Zampieri [4.18.0-434.el8]Lucas Zampieri [4.18.0-433.el8]Lucas Zampieri [4.18.0-432.el8]Lucas Zampieri [4.18.0-431.el8]Lucas Zampieri [4.18.0-430.el8]Lucas Zampieri [4.18.0-429.el8]Lucas Zampieri [4.18.0-428.el8]Lucas Zampieri [4.18.0-427.el8]Lucas Zampieri [4.18.0-426.el8]Jarod Wilson [4.18.0-425.el8]Jarod Wilson [4.18.0-424.el8]Jarod Wilson [4.18.0-423.el8]Jarod Wilson [4.18.0-422.el8]Jarod Wilson [4.18.0-421.el8]Jarod Wilson [4.18.0-420.el8]Jarod Wilson [4.18.0-419.el8]Jarod Wilson [4.18.0-418.el8]Jarod Wilson [4.18.0-417.el8]Jarod Wilson [4.18.0-416.el8]Jarod Wilson [4.18.0-415.el8]Jarod Wilson [4.18.0-414.el8]Jarod Wilson [4.18.0-413.el8]Jarod Wilson [4.18.0-412.el8]Jarod Wilson [4.18.0-411.el8]Jarod Wilson [4.18.0-410.el8]Jarod Wilson [4.18.0-409.el8]Jarod Wilson [4.18.0-408.el8]Jarod Wilson [4.18.0-407.el8]Jarod Wilson [4.18.0-406.el8]Jarod Wilson [4.18.0-405.el8]Jarod Wilson [4.18.0-404.el8]Jarod Wilson [4.18.0-403.el8]Jarod Wilson [4.18.0-402.el8]Jarod Wilson [4.18.0-401.el8]Jarod Wilson [4.18.0-400.el8]Jarod Wilson [4.18.0-399.el8]Jarod Wilson [4.18.0-398.el8]Jarod Wilson [4.18.0-397.el8]Jarod Wilson [4.18.0-396.el8]Jarod Wilson [4.18.0-395.el8]Jarod Wilson [4.18.0-394.el8]Jarod Wilson [4.18.0-393.el8]Jarod Wilson [4.18.0-392.el8]Jarod Wilson [4.18.0-391.el8]Jarod Wilson [4.18.0-390.el8]Jarod Wilson [4.18.0-389.el8]Jarod Wilson [4.18.0-388.el8]Jarod Wilson [4.18.0-387.el8]Jarod Wilson [4.18.0-386.el8]Jarod Wilson [4.18.0-385.el8]Bruno Meneguele [4.18.0-384.el8]Jarod Wilson [4.18.0-383.el8]Jarod Wilson [4.18.0-382.el8]Jarod Wilson [4.18.0-381.el8]Jarod Wilson [4.18.0-380.el8]Jarod Wilson [4.18.0-379.el8]Jarod Wilson [4.18.0-378.el8]Jarod Wilson [4.18.0-377.el8]Jarod Wilson [4.18.0-376.el8]Jarod Wilson [4.18.0-375.el8]Jarod Wilson [4.18.0-374.el8]Jarod Wilson [4.18.0-373.el8]Augusto Caringi [4.18.0-372.2.1.el8]Augusto Caringi [4.18.0-372.1.1.el8]Augusto Caringi [4.18.0-372.el8]Augusto Caringi [4.18.0-371.el8]Augusto Caringi [4.18.0-370.el8]Augusto Caringi [4.18.0-369.el8]Augusto Caringi [4.18.0-368.el8]Augusto Caringi [4.18.0-367.el8]Augusto Caringi [4.18.0-366.el8]Augusto Caringi [4.18.0-365.el8]Augusto Caringi [4.18.0-364.el8]Augusto Caringi [4.18.0-363.el8]Augusto Caringi [4.18.0-362.el8]Augusto Caringi [4.18.0-361.el8]Augusto Caringi [4.18.0-360.el8]Augusto Caringi [4.18.0-359.el8]Augusto Caringi [4.18.0-358.el8]Augusto Caringi [4.18.0-357.el8]Augusto Caringi [4.18.0-356.el8]Augusto Caringi [4.18.0-355.el8]Augusto Caringi [4.18.0-354.el8]Jan Stancek [4.18.0-353.el8]Jan Stancek [4.18.0-352.el8]Bruno Meneguele [4.18.0-351.el8]Bruno Meneguele [4.18.0-350.el8]Augusto Caringi [4.18.0-349.el8]Augusto Caringi [4.18.0-348.6.el8]Augusto Caringi [4.18.0-348.5.el8]Augusto Caringi [4.18.0-348.4.el8]Augusto Caringi [4.18.0-348.3.el8]Augusto Caringi [4.18.0-348.2.el8]Augusto Caringi [4.18.0-348.1.el8]Augusto Caringi [4.18.0-345.1.el8]Augusto Caringi [4.18.0-343.1.el8]Bruno Meneguele [4.18.0-343.el8]Bruno Meneguele [4.18.0-342.el8]Bruno Meneguele [4.18.0-341.el8]Bruno Meneguele [4.18.0-340.el8]Bruno Meneguele [4.18.0-339.el8]Bruno Meneguele [4.18.0-338.el8]Bruno Meneguele [4.18.0-337.el8]Bruno Meneguele [4.18.0-336.el8]Bruno Meneguele [4.18.0-335.el8]Bruno Meneguele [4.18.0-334.el8]Bruno Meneguele [4.18.0-333.el8]Bruno Meneguele [4.18.0-332.el8]Bruno Meneguele [4.18.0-331.el8]Bruno Meneguele [4.18.0-330.el8]Bruno Meneguele [4.18.0-329.el8]Bruno Meneguele [4.18.0-328.el8]Augusto Caringi [4.18.0-327.el8]Augusto Caringi [4.18.0-326.el8]Augusto Caringi [4.18.0-325.el8]Augusto Caringi [4.18.0-324.el8]Augusto Caringi [4.18.0-323.el8]Bruno Meneguele [4.18.0-322.el8]Bruno Meneguele [4.18.0-321.el8]Bruno Meneguele [4.18.0-320.el8]Bruno Meneguele [4.18.0-319.el8]Bruno Meneguele [4.18.0-318.el8]Bruno Meneguele [4.18.0-317.el8]Bruno Meneguele [4.18.0-316.el8]Bruno Meneguele [4.18.0-315.el8]Bruno Meneguele [4.18.0-314.el8]Bruno Meneguele [4.18.0-313.el8]Bruno Meneguele [4.18.0-312.el8]Bruno Meneguele [4.18.0-311.el8]Bruno Meneguele [4.18.0-310.el8]Bruno Meneguele [4.18.0-309.el8]Bruno Meneguele [4.18.0-308.el8]Bruno Meneguele [4.18.0-307.el8]Bruno Meneguele [4.18.0-306.el8]Bruno Meneguele [4.18.0-305.8.el8]Bruno Meneguele [4.18.0-305.7.el8]Bruno Meneguele [4.18.0-305.6.el8]Bruno Meneguele [4.18.0-305.5.el8]Bruno Meneguele [4.18.0-305.4.el8]Bruno Meneguele [4.18.0-305.3.el8]Bruno Meneguele [4.18.0-305.2.el8]Bruno Meneguele [4.18.0-305.1.el8]Bruno Meneguele [4.18.0-304.7.el8]Bruno Meneguele [4.18.0-304.6.el8]Bruno Meneguele [4.18.0-304.5.el8]Bruno Meneguele [4.18.0-304.4.el8]Bruno Meneguele [4.18.0-304.3.el8]Bruno Meneguele [4.18.0-304.2.el8]Bruno Meneguele [4.18.0-304.1.el8]Bruno Meneguele [4.18.0-303.1.el8]Bruno Meneguele [4.18.0-302.1.el8]Bruno Meneguele [4.18.0-301.1.el8]Bruno Meneguele [4.18.0-300.1.el8]Bruno Meneguele [4.18.0-299.1.el8]Bruno Meneguele [4.18.0-298.1.el8]Bruno Meneguele [4.18.0-297.1.el8]Jan Stancek [4.18.0-297.el8]Jan Stancek [4.18.0-296.el8]Jan Stancek [4.18.0-295.el8]Jan Stancek [4.18.0-294.el8]Jan Stancek [4.18.0-293.el8]Jan Stancek [4.18.0-292.el8]Jan Stancek [4.18.0-291.el8]Jan Stancek [4.18.0-290.el8]Jan Stancek [4.18.0-289.el8]Jan Stancek [4.18.0-288.el8]Jan Stancek [4.18.0-287.el8]Jan Stancek [4.18.0-286.el8]Jan Stancek [4.18.0-285.el8]Jan Stancek [4.18.0-284.el8]Jan Stancek [4.18.0-283.el8]Jan Stancek [4.18.0-282.el8]Jan Stancek [4.18.0-281.el8]Jan Stancek [4.18.0-280.el8]Jan Stancek [4.18.0-279.el8]Jan Stancek [4.18.0-278.el8]Jan Stancek [4.18.0-277.el8]Jan Stancek [4.18.0-276.el8]Jan Stancek [4.18.0-275.el8]Jan Stancek [4.18.0-274.el8]Jan Stancek [4.18.0-273.el8]Jan Stancek [4.18.0-272.el8]Jan Stancek [4.18.0-271.el8]Jan Stancek [4.18.0-270.el8]Jan Stancek [4.18.0-269.el8]Jan Stancek [4.18.0-268.el8]Jan Stancek [4.18.0-267.el8]Jan Stancek [4.18.0-266.el8]Jan Stancek [4.18.0-265.el8]Jan Stancek [4.18.0-264.el8]Jan Stancek [4.18.0-263.el8]Jan Stancek [4.18.0-262.el8]Jan Stancek [4.18.0-261.el8]Jan Stancek [4.18.0-260.el8]Jan Stancek [4.18.0-259.el8]Jan Stancek [4.18.0-258.el8]Jan Stancek [4.18.0-257.el8]Jan Stancek [4.18.0-256.el8]Jan Stancek [4.18.0-255.el8]Jan Stancek [4.18.0-254.el8]Jan Stancek [4.18.0-253.el8]Jan Stancek [4.18.0-252.el8]Jan Stancek [4.18.0-251.el8]Jan Stancek [4.18.0-250.el8]Jan Stancek [4.18.0-249.el8]Jan Stancek [4.18.0-248.el8]Jan Stancek [4.18.0-247.el8]Jan Stancek [4.18.0-246.el8]Jan Stancek [4.18.0-245.el8]Jan Stancek [4.18.0-244.el8]Jan Stancek [4.18.0-243.el8]Jan Stancek [4.18.0-242.el8]Jan Stancek [4.18.0-241.el8]Jan Stancek [4.18.0-240.10.el8]Jan Stancek [4.18.0-240.9.el8]Jan Stancek [4.18.0-240.8.el8]Jan Stancek [4.18.0-240.7.el8]Jan Stancek [4.18.0-240.6.el8]Jan Stancek [4.18.0-240.5.el8]Jan Stancek [4.18.0-240.4.el8]Jan Stancek [4.18.0-240.3.el8]Jan Stancek [4.18.0-240.2.el8]Jan Stancek [4.18.0-240.1.el8]Jan Stancek [4.18.0-239.1.el8]Frantisek Hrbata [4.18.0-239.el8]Frantisek Hrbata [4.18.0-238.el8]Frantisek Hrbata [4.18.0-237.el8]Frantisek Hrbata [4.18.0-236.el8]Frantisek Hrbata [4.18.0-235.el8]Frantisek Hrbata [4.18.0-234.el8]Frantisek Hrbata [4.18.0-233.el8]Frantisek Hrbata [4.18.0-232.el8]Frantisek Hrbata [4.18.0-231.el8]Frantisek Hrbata [4.18.0-230.el8]Frantisek Hrbata [4.18.0-229.el8]Frantisek Hrbata [4.18.0-228.el8]Frantisek Hrbata [4.18.0-227.el8]Frantisek Hrbata [4.18.0-226.el8]Frantisek Hrbata [4.18.0-225.el8]Frantisek Hrbata [4.18.0-224.el8]Frantisek Hrbata [4.18.0-223.el8]Frantisek Hrbata [4.18.0-222.el8]Frantisek Hrbata [4.18.0-221.el8]Frantisek Hrbata [4.18.0-220.el8]Frantisek Hrbata [4.18.0-219.el8]Frantisek Hrbata [4.18.0-218.el8]Frantisek Hrbata [4.18.0-217.el8]Frantisek Hrbata [4.18.0-216.el8]Frantisek Hrbata [4.18.0-215.el8]Frantisek Hrbata [4.18.0-214.el8]Frantisek Hrbata [4.18.0-213.el8]Frantisek Hrbata [4.18.0-212.el8]Frantisek Hrbata [4.18.0-211.el8]Frantisek Hrbata [4.18.0-210.el8]Frantisek Hrbata [4.18.0-209.el8]Frantisek Hrbata [4.18.0-208.el8]Frantisek Hrbata [4.18.0-207.el8]Frantisek Hrbata [4.18.0-206.el8]Frantisek Hrbata [4.18.0-205.el8]Frantisek Hrbata [4.18.0-204.el8]Frantisek Hrbata [4.18.0-203.el8]Frantisek Hrbata [4.18.0-202.el8]Frantisek Hrbata [4.18.0-201.el8]Frantisek Hrbata [4.18.0-200.el8]Frantisek Hrbata [4.18.0-199.el8]Frantisek Hrbata [4.18.0-198.el8]Frantisek Hrbata [4.18.0-197.el8]Frantisek Hrbata [4.18.0-196.el8]Frantisek Hrbata [4.18.0-195.el8]Frantisek Hrbata [4.18.0-194.el8]Frantisek Hrbata [4.18.0-193.15.el8]Frantisek Hrbata [4.18.0-193.14.el8]Frantisek Hrbata [4.18.0-193.13.el8]Frantisek Hrbata [4.18.0-193.12.el8]Frantisek Hrbata [4.18.0-193.11.el8]Frantisek Hrbata [4.18.0-193.10.el8]Frantisek Hrbata [4.18.0-193.9.el8]Frantisek Hrbata [4.18.0-193.8.el8]Frantisek Hrbata [4.18.0-193.7.el8]Frantisek Hrbata [4.18.0-193.6.el8]Frantisek Hrbata [4.18.0-193.5.el8]Frantisek Hrbata [4.18.0-193.4.el8]Frantisek Hrbata [4.18.0-193.3.el8]Frantisek Hrbata [4.18.0-193.2.el8]Frantisek Hrbata [4.18.0-193.1.el8]Frantisek Hrbata [4.18.0-192.2.el8]Frantisek Hrbata [4.18.0-192.1.el8]Frantisek Hrbata [4.18.0-191.2.el8]Frantisek Hrbata [4.18.0-191.1.el8]Frantisek Hrbata [4.18.0-190.3.el8]Frantisek Hrbata [4.18.0-190.2.el8]Frantisek Hrbata [4.18.0-190.1.el8]Frantisek Hrbata [4.18.0-189.1.el8]Frantisek Hrbata [4.18.0-188.3.el8]Frantisek Hrbata [4.18.0-188.2.el8]Frantisek Hrbata [4.18.0-188.1.el8]Frantisek Hrbata [4.18.0-187.2.el8]Frantisek Hrbata [4.18.0-187.1.el8]Frantisek Hrbata [4.18.0-186.2.el8]Frantisek Hrbata [4.18.0-186.1.el8]Bruno Meneguele [4.18.0-185.el8]Herton R. Krzesinski [4.18.0-184.el8]Herton R. Krzesinski [4.18.0-183.el8]Herton R. Krzesinski [4.18.0-182.el8]Herton R. Krzesinski [4.18.0-181.el8]Herton R. Krzesinski [4.18.0-180.el8]Herton R. Krzesinski [4.18.0-179.el8]Herton R. Krzesinski [4.18.0-178.el8]Herton R. Krzesinski [4.18.0-177.el8]Herton R. Krzesinski [4.18.0-176.el8]Bruno Meneguele [4.18.0-175.el8]Bruno Meneguele [4.18.0-174.el8]Bruno Meneguele [4.18.0-173.el8]Bruno Meneguele [4.18.0-172.el8]Bruno Meneguele [4.18.0-171.el8]Bruno Meneguele [4.18.0-170.el8]Bruno Meneguele [4.18.0-169.el8]Bruno Meneguele [4.18.0-168.el8]Bruno Meneguele [4.18.0-167.el8]Bruno Meneguele [4.18.0-166.el8]Bruno Meneguele [4.18.0-165.el8]Bruno Meneguele [4.18.0-164.el8]Bruno Meneguele [4.18.0-163.el8]Bruno Meneguele [4.18.0-162.el8]Bruno Meneguele [4.18.0-161.el8]Bruno Meneguele [4.18.0-160.el8]Bruno Meneguele [4.18.0-159.el8]Bruno Meneguele [4.18.0-158.el8]Bruno Meneguele [4.18.0-157.el8]Bruno Meneguele [4.18.0-156.el8]Bruno Meneguele [4.18.0-155.el8]Bruno Meneguele [4.18.0-154.el8]Bruno Meneguele [4.18.0-153.el8]Bruno Meneguele [4.18.0-152.el8]Phillip Lougher [4.18.0-151.el8]Phillip Lougher [4.18.0-150.el8]Phillip Lougher [4.18.0-149.el8]Phillip Lougher [4.18.0-148.el8]Phillip Lougher [4.18.0-147.13.el8]Phillip Lougher [4.18.0-147.12.el8]Phillip Lougher [4.18.0-147.11.el8]Phillip Lougher [4.18.0-147.10.el8]Phillip Lougher [4.18.0-147.9.el8]Phillip Lougher [4.18.0-147.8.el8]Phillip Lougher [4.18.0-147.7.el8]Phillip Lougher [4.18.0-147.6.el8]Phillip Lougher [4.18.0-147.5.el8]Phillip Lougher [4.18.0-147.4.el8]Phillip Lougher [4.18.0-147.3.el8]Phillip Lougher [4.18.0-147.2.el8]Phillip Lougher [4.18.0-147.1.el8]Phillip Lougher [4.18.0-146.1.el8]Phillip Lougher [4.18.0-145.1.el8]Phillip Lougher [4.18.0-144.1.el8]Herton R. Krzesinski [4.18.0-144.el8]Herton R. Krzesinski [4.18.0-143.el8]Herton R. Krzesinski [4.18.0-142.el8]Herton R. Krzesinski [4.18.0-141.el8]Herton R. Krzesinski [4.18.0-140.el8]Herton R. Krzesinski [4.18.0-139.el8]Herton R. Krzesinski [4.18.0-138.el8]Herton R. Krzesinski [4.18.0-137.el8]Herton R. Krzesinski [4.18.0-136.el8]Herton R. Krzesinski [4.18.0-135.el8]Herton R. Krzesinski [4.18.0-134.el8]Herton R. Krzesinski [4.18.0-133.el8]Herton R. Krzesinski [4.18.0-132.el8]Herton R. Krzesinski [4.18.0-131.el8]Herton R. Krzesinski [4.18.0-130.el8]Herton R. Krzesinski [4.18.0-129.el8]Herton R. Krzesinski [4.18.0-128.el8]Herton R. Krzesinski [4.18.0-127.el8]Herton R. Krzesinski [4.18.0-126.el8]Herton R. Krzesinski [4.18.0-125.el8]Herton R. Krzesinski [4.18.0-124.el8]Herton R. Krzesinski [4.18.0-123.el8]Herton R. Krzesinski [4.18.0-122.el8]Herton R. Krzesinski [4.18.0-121.el8]Herton R. Krzesinski [4.18.0-120.el8]Herton R. Krzesinski [4.18.0-119.el8]Herton R. Krzesinski [4.18.0-118.el8]Herton R. Krzesinski [4.18.0-117.el8]Herton R. Krzesinski [4.18.0-116.el8]Herton R. Krzesinski [4.18.0-115.el8]Herton R. Krzesinski [4.18.0-114.el8]Herton R. Krzesinski [4.18.0-113.el8]Herton R. Krzesinski [4.18.0-112.el8]Herton R. Krzesinski [4.18.0-111.el8]Herton R. Krzesinski [4.18.0-110.el8]Herton R. Krzesinski [4.18.0-109.el8]Herton R. Krzesinski [4.18.0-108.el8]Frantisek Hrbata [4.18.0-107.el8]Frantisek Hrbata [4.18.0-106.el8]Frantisek Hrbata [4.18.0-105.el8]Frantisek Hrbata [4.18.0-104.el8]Herton R. Krzesinski [4.18.0-103.el8]Herton R. Krzesinski [4.18.0-102.el8]Herton R. Krzesinski [4.18.0-101.el8]Herton R. Krzesinski [4.18.0-100.el8]Herton R. Krzesinski [4.18.0-99.el8]Herton R. Krzesinski [4.18.0-98.el8]Herton R. Krzesinski [4.18.0-97.el8]Herton R. Krzesinski [4.18.0-96.el8]Herton R. Krzesinski [4.18.0-95.el8]Herton R. Krzesinski [4.18.0-94.el8]Herton R. Krzesinski [4.18.0-93.el8]Herton R. Krzesinski [4.18.0-92.el8]Herton R. Krzesinski [4.18.0-91.el8]Herton R. Krzesinski [4.18.0-90.el8]Herton R. Krzesinski [4.18.0-89.el8]Herton R. Krzesinski [4.18.0-88.el8]Herton R. Krzesinski [4.18.0-87.el8]Herton R. Krzesinski [4.18.0-86.el8]Herton R. Krzesinski [4.18.0-85.el8]Herton R. Krzesinski [4.18.0-84.el8]Herton R. Krzesinski [4.18.0-83.el8]Herton R. Krzesinski [4.18.0-82.el8]Herton R. Krzesinski [4.18.0-81.el8]Herton R. Krzesinski [4.18.0-80.23.el8]Herton R. Krzesinski [4.18.0-80.22.el8]Herton R. Krzesinski [4.18.0-80.21.el8]Herton R. Krzesinski [4.18.0-80.20.el8]Herton R. Krzesinski [4.18.0-80.19.el8]Herton R. Krzesinski [4.18.0-80.18.el8]Herton R. Krzesinski [4.18.0-80.17.el8]Herton R. Krzesinski [4.18.0-80.16.el8]Herton R. Krzesinski [4.18.0-80.15.el8]Herton R. Krzesinski [4.18.0-80.14.el8]Herton R. Krzesinski [4.18.0-80.13.el8]Herton R. Krzesinski [4.18.0-80.12.el8]Herton R. Krzesinski [4.18.0-80.11.el8]Herton R. Krzesinski [4.18.0-80.10.el8]Herton R. Krzesinski [4.18.0-80.9.el8]Herton R. Krzesinski [4.18.0-80.8.el8]Herton R. Krzesinski [4.18.0-80.7.el8]Herton R. Krzesinski [4.18.0-80.6.el8]Herton R. Krzesinski [4.18.0-80.5.el8]Herton R. Krzesinski [4.18.0-80.4.el8]Herton R. Krzesinski [4.18.0-80.3.el8]Herton R. Krzesinski [4.18.0-80.2.el8]Herton R. Krzesinski [4.18.0-80.1.el8]Herton R. Krzesinski [4.18.0-79.1.el8]Herton R. Krzesinski [4.18.0-78.1.el8]Herton R. Krzesinski [4.18.0-77.1.el8]Herton R. Krzesinski [4.18.0-76.1.el8]Herton R. Krzesinski [4.18.0-75.1.el8]Herton R. Krzesinski [4.18.0-74.1.el8]Herton R. Krzesinski [4.18.0-73.1.el8]Herton R. Krzesinski [4.18.0-72.1.el8]Herton R. Krzesinski [4.18.0-71.1.el8]Herton R. Krzesinski [4.18.0-70.el8]Herton R. Krzesinski [4.18.0-69.el8]Herton R. Krzesinski [4.18.0-68.el8]Herton R. Krzesinski [4.18.0-67.el8]Herton R. Krzesinski [4.18.0-66.el8]Herton R. Krzesinski [4.18.0-65.el8]Herton R. Krzesinski [4.18.0-64.el8]Herton R. Krzesinski [4.18.0-63.el8]Herton R. Krzesinski [4.18.0-62.el8]Herton R. Krzesinski [4.18.0-61.el8]Herton R. Krzesinski [4.18.0-60.el8]Herton R. Krzesinski [4.18.0-59.el8]Herton R. Krzesinski [4.18.0-58.el8]Herton R. Krzesinski [4.18.0-57.el8]Herton R. Krzesinski [4.18.0-56.el8]Herton R. Krzesinski [4.18.0-55.el8]Herton R. Krzesinski [4.18.0-54.el8]Herton R. Krzesinski [4.18.0-53.el8]Herton R. Krzesinski [4.18.0-52.el8]Herton R. Krzesinski [4.18.0-51.el8]Herton R. Krzesinski [4.18.0-50.el8]Herton R. Krzesinski [4.18.0-49.el8]Herton R. Krzesinski [4.18.0-48.el8]Herton R. Krzesinski [4.18.0-47.el8]Herton R. Krzesinski [4.18.0-46.el8]Herton R. Krzesinski [4.18.0-45.el8]Herton R. Krzesinski [4.18.0-44.el8]Herton R. Krzesinski [4.18.0-43.el8]Herton R. Krzesinski [4.18.0-42.el8]Herton R. Krzesinski [4.18.0-41.el8]Herton R. Krzesinski [4.18.0-40.el8]Herton R. Krzesinski [4.18.0-39.el8]Herton R. Krzesinski [4.18.0-38.el8]Herton R. Krzesinski [4.18.0-37.el8]Herton R. Krzesinski [4.18.0-36.el8]Herton R. Krzesinski [4.18.0-35.el8]Herton R. Krzesinski [4.18.0-34.el8]Herton R. Krzesinski [4.18.0-33.el8]Herton R. Krzesinski [4.18.0-32.el8]Herton R. Krzesinski [4.18.0-31.el8]Herton R. Krzesinski [4.18.0-30.el8]Herton R. Krzesinski [4.18.0-29.el8]Herton R. Krzesinski [4.18.0-28.el8]Herton R. Krzesinski [4.18.0-27.el8]Herton R. Krzesinski [4.18.0-26.el8]Herton R. Krzesinski [4.18.0-25.el8]Herton R. Krzesinski [4.18.0-24.el8]Herton R. Krzesinski [4.18.0-23.el8]Herton R. Krzesinski [4.18.0-22.el8]Herton R. Krzesinski [4.18.0-21.el8]Herton R. Krzesinski [4.18.0-20.el8]Herton R. Krzesinski [4.18.0-19.el8]Herton R. Krzesinski [4.18.0-18.el8]Herton R. Krzesinski [4.18.0-17.el8]Herton R. Krzesinski [4.18.0-16.el8]Herton R. Krzesinski [4.18.0-15.el8]Herton R. Krzesinski [4.18.0-14.el8]Herton R. Krzesinski [4.18.0-13.el8]Herton R. Krzesinski [4.18.0-12.el8]Herton R. Krzesinski [4.18.0-11.el8]Herton R. Krzesinski [4.18.0-10.el8]Herton R. Krzesinski [4.18.0-9.el8]Herton R. Krzesinski [4.18.0-8.el8]Herton R. Krzesinski [4.18.0-7.el8]Herton R. Krzesinski [4.18.0-6.el8]Herton R. Krzesinski [4.18.0-5.el8]Herton R. Krzesinski [4.18.0-4.el8]Herton R. Krzesinski [4.18.0-3.el8]Herton R. Krzesinski [4.18.0-2.el8]Herton R. Krzesinski [4.18.0-1.el8]- [rt] build kernel-rt-4.18.0-517.rt7.306.el8 [RHEL-5332] - Bluetooth: L2CAP: Fix u8 overflow (Wander Lairson Costa) [2152857] {CVE-2022-45934} - tracing/histograms: Fix parsing of "sym-offset" modifier (Jerome Marchand) [2229575] - ice: always add legacy 32byte RXDID in supported_rxdids (Michal Schmidt) [RHEL-3379] - task_work: cleanup notification modes (Audra Mitchell) [RHEL-1064] - perf test topology: Use !strncmp(right platform) to fix guest PPC comparision check (Michael Petlan) [2131821] - perf test session topology: Fix test to skip the test in guest environment (Michael Petlan) [2131821] - sched/fair: Block nohz tick_stop when cfs bandwidth in use (Phil Auld) [RHEL-2527] - sched, cgroup: Restore meaning to hierarchical_quota (Phil Auld) [RHEL-2527] - sched/fair: Hide unused init_cfs_bandwidth() stub (Phil Auld) [RHEL-2527] - rbd: take header_rwsem in rbd_dev_refresh() only when updating (Ilya Dryomov) [RHEL-11241] - rbd: decouple parent info read-in from updating rbd_dev (Ilya Dryomov) [RHEL-11241] - rbd: decouple header read-in from updating rbd_dev->header (Ilya Dryomov) [RHEL-11241] - rbd: move rbd_dev_refresh() definition (Ilya Dryomov) [RHEL-11241] - redhat: list Z-Jiras in the changelog before Y-Jiras (Herton R. Krzesinski) - Revert "mm, meminit: recalculate pcpu batch and high limits after init completes" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm,memory_hotplug: factor out adjusting present pages into adjust_present_page_count()" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: move free_the_page" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: allow high-order pages to be stored on the per-cpu lists" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: fetch the correct pcp buddy during bulk free" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: track range of active PCP lists during bulk free" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: simplify how many pages are selected per pcp list during bulk free" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: drain the requested list first during bulk free" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: free pages in a single pass during bulk free" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: do not prefetch buddies during bulk free" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: check high-order pages for corruption during PCP operations" (Chris von Recklinghausen) [RHEL-8539] - Revert "mm/page_alloc: fix incorrect PGFREE and PGALLOC for high-order page" (Chris von Recklinghausen) [RHEL-8539] - Revert "cnic: Use the bitmap API to allocate bitmaps" (Chris Leech) [RHEL-1950] - Revert "cnic: don't pass bogus GFP_ flags to dma_alloc_coherent" (Chris Leech) [RHEL-1950] - scsi: lpfc: Prevent use-after-free during rmmod with mapped NVMe rports (Paul Ely) [RHEL-2602] - scsi: lpfc: Early return after marking final NLP_DROPPED flag in dev_loss_tmo (Paul Ely) [RHEL-2602] - gfs2: Add quota_change type (Bob Peterson) [2224075]- [rt] build kernel-rt-4.18.0-516.rt7.305.el8 [RHEL-5332] - bpf: Adjust insufficient default bpf_jit_limit (Viktor Malik) [2219567] - bpf: Prevent increasing bpf_jit_limit above max (Viktor Malik) [2219567] - NFS: Guard against READDIR loop when entry names exceed MAXNAMELEN (Benjamin Coddington) [2231130] - perf/arm-dmc620: Fix dmc620_pmu_irqs_lock/cpu_hotplug_lock circular lock dependency (Waiman Long) [2177103] - bonding: fix macvlan over alb bond support (Hangbin Liu) [2117816] - s390/ipl: add missing secure/has_secure file to ipl type 'unknown' (Tobias Huschle) [RHEL-2852] - s390/zcrypt: fix reply buffer calculations for CCA replies (Tobias Huschle) [2227778] - intel_th: pci: Add Meteor Lake-P support (Michael Petlan) [2156847] - perf/x86/rapl: Add support for Intel Meteor Lake (Michael Petlan) [2156816] - iavf: schedule a request immediately after add/delete vlan (Petr Oros) [2231174] - iavf: add iavf_schedule_aq_request() helper (Petr Oros) [2231174] - PCI: rpaphp: Error out on busy status from get-sensor-state (Mamatha Inamdar) [2230045] - powerpc/rtas: export rtas_error_rc() for reuse. (Mamatha Inamdar) [2230045] - powerpc/eeh: Set channel state after notifying the drivers (Mamatha Inamdar) [2230045] - s390/pkey: fix PKEY_TYPE_EP11_AES handling for sysfs attributes (Tobias Huschle) [2225520] - s390/pkey: fix PKEY_TYPE_EP11_AES handling in PKEY_VERIFYKEY2 IOCTL (Tobias Huschle) [2225520] - s390/pkey: fix PKEY_TYPE_EP11_AES handling in PKEY_KBLOB2PROTK[23] (Tobias Huschle) [2225520] - s390/pkey: fix PKEY_TYPE_EP11_AES handling in PKEY_CLR2SECK2 IOCTL (Tobias Huschle) [2225520] - s390/pkey: fix PKEY_TYPE_EP11_AES handling in PKEY_GENSECK2 IOCTL (Tobias Huschle) [2225520] - s390/pkey: fix/harmonize internal keyblob headers (Tobias Huschle) [2225520] - s390/pkey: add support for ecc clear key (Tobias Huschle) [2225520] - s390/pkey: do not use struct pkey_protkey (Tobias Huschle) [2225520] - s390/pkey: introduce reverse x-mas trees (Tobias Huschle) [2225520] - s390/pkey: zeroize key blobs (Tobias Huschle) [2225520] - md/raid1: fix error: ISO C90 forbids mixed declarations (Nigel Croxon) [RHEL-5084] - md raid1: allow writebehind to work on any leg device set WriteMostly (Nigel Croxon) [RHEL-5084] - md/raid1: hold the barrier until handle_read_error() finishes (Nigel Croxon) [RHEL-5084] - md/raid1: free the r1bio before waiting for blocked rdev (Nigel Croxon) [RHEL-5084] - md/raid1: call free_r1bio() before allow_barrier() in raid_end_bio_io() (Nigel Croxon) [RHEL-5084] - md/raid5-cache: fix null-ptr-deref for r5l_flush_stripe_to_raid() (Nigel Croxon) [RHEL-5084] - md/raid10: fix a 'conf->barrier' leakage in raid10_takeover() (Nigel Croxon) [RHEL-5084] - md: raid1: fix potential OOB in raid1_remove_disk() (Nigel Croxon) [RHEL-5084] - md/raid5-cache: fix a deadlock in r5l_exit_log() (Nigel Croxon) [RHEL-5084] - md/md-bitmap: hold 'reconfig_mutex' in backlog_store() (Nigel Croxon) [RHEL-5084] - md/md-bitmap: remove unnecessary local variable in backlog_store() (Nigel Croxon) [RHEL-5084] - md: restore 'noio_flag' for the last mddev_resume() (Nigel Croxon) [RHEL-5084] - md: don't quiesce in mddev_suspend() (Nigel Croxon) [RHEL-5084] - md: move initialization and destruction of 'io_acct_set' to md.c (Nigel Croxon) [RHEL-5084] - md: enhance checking in md_check_recovery() (Nigel Croxon) [RHEL-5084] - md: wake up 'resync_wait' at last in md_reap_sync_thread() (Nigel Croxon) [RHEL-5084] - md: refactor idle/frozen_sync_thread() to fix deadlock (Nigel Croxon) [RHEL-5084] - md: add a mutex to synchronize idle and frozen in action_store() (Nigel Croxon) [RHEL-5084] - md: refactor action_store() for 'idle' and 'frozen' (Nigel Croxon) [RHEL-5084] - Revert "md: unlock mddev before reap sync_thread in action_store" (Nigel Croxon) [RHEL-5084] - md/raid0: add discard support for the 'original' layout (Nigel Croxon) [RHEL-5084] - md/raid10: prevent soft lockup while flush writes (Nigel Croxon) [RHEL-5084] - md/raid10: fix io loss while replacement replace rdev (Nigel Croxon) [RHEL-5084] - md/raid10: Do not add spare disk when recovery fails (Nigel Croxon) [RHEL-5084] - md/raid10: clean up md_add_new_disk() (Nigel Croxon) [RHEL-5084] - md/raid10: prioritize adding disk to 'removed' mirror (Nigel Croxon) [RHEL-5084] - md/raid10: improve code of mrdev in raid10_sync_request (Nigel Croxon) [RHEL-5084] - md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request (Nigel Croxon) [RHEL-5084] - md/raid5: don't start reshape when recovery or replace is in progress (Nigel Croxon) [RHEL-5084] - md/bitmap: factor out a helper to set timeout (Nigel Croxon) [RHEL-5084] - md/bitmap: always wake up md_thread in timeout_store (Nigel Croxon) [RHEL-5084] - md: factor out a helper to wake up md_thread directly (Nigel Croxon) [RHEL-5084] - md/raid10: fix wrong setting of max_corr_read_errors (Nigel Croxon) [RHEL-5084] - md/raid10: fix overflow of md/safe_mode_delay (Nigel Croxon) [RHEL-5084] - md/raid5: fix a deadlock in the case that reshape is interrupted (Nigel Croxon) [RHEL-5084] - md: add a new api prepare_suspend() in md_personality (Nigel Croxon) [RHEL-5084] - md: export md_is_rdwr() and is_md_suspended() (Nigel Croxon) [RHEL-5084] - md: introduce md_ro_state (Nigel Croxon) [RHEL-5084] - md: fix data corruption for raid456 when reshape restart while grow up (Nigel Croxon) [RHEL-5084] - md/raid5: don't allow replacement while reshape is in progress (Nigel Croxon) [RHEL-5084] - md/raid10: check slab-out-of-bounds in md_bitmap_get_counter (Nigel Croxon) [RHEL-5084] - md: raid1: check if adding pages to resync bio fails (Nigel Croxon) [RHEL-5084] - md: raid1: use __bio_add_page for adding single page to bio (Nigel Croxon) [RHEL-5084] - md: check for failure when adding pages in alloc_behind_master_bio (Nigel Croxon) [RHEL-5084] - md: raid5: use __bio_add_page to add single page to new bio (Nigel Croxon) [RHEL-5084] - md: raid5-log: use __bio_add_page to add single page (Nigel Croxon) [RHEL-5084] - md: use __bio_add_page to add single page (Nigel Croxon) [RHEL-5084] - md/raid5: fix miscalculation of 'end_sector' in raid5_read_one_chunk() (Nigel Croxon) [RHEL-5084] - drm/i915: Do not disable preemption for resets (John B. Wyatt IV) [2212309 2213314] - drm/i915: Drop the irqs_disabled() check (John B. Wyatt IV) [2212309 2213314] - drm/i915/gt: Use spin_lock_irq() instead of local_irq_disable() + spin_lock() (John B. Wyatt IV) [2212309 2213314] - drm/i915/gt: Queue and wait for the irq_work item. (John B. Wyatt IV) [2212309 2213314] - drm/i915: Don't check for atomic context on PREEMPT_RT (John B. Wyatt IV) [2212309 2213314] - drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates (John B. Wyatt IV) [2212309 2213314] - drm/i915: Use preempt_disable/enable_rt() where recommended (John B. Wyatt IV) [2212309 2213314]- [rt] build kernel-rt-4.18.0-515.rt7.304.el8 [RHEL-5332] - s390/dasd: fix hanging device after quiesce/resume (Tobias Huschle) [RHEL-2838] - s390/dasd: fix hanging device after request requeue (Tobias Huschle) [RHEL-2830] - s390/dasd: fix command reject error on ESE devices (Tobias Huschle) [RHEL-2850] - s390/dasd: print copy pair message only for the correct error (Tobias Huschle) [RHEL-2831] - s390: add z16 elf platform (Tobias Huschle) [RHEL-2854] - s390/qeth: Don't call dev_close/dev_open (DOWN/UP) (Tobias Huschle) [RHEL-2410] - powerpc/kprobes: Fix null pointer reference in arch_prepare_kprobe() (Mamatha Inamdar) [2227601] - arm64: kdump: Remove custom linux,usable-memory-range handling (Baoquan He) [RHEL-2307] - arm64: kdump: Remove custom linux,elfcorehdr handling (Baoquan He) [RHEL-2307] - media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221 (Dean Nelson) [RHEL-1784] {CVE-2022-45919} - media: dvb-core: Fix use-after-free due to race at dvb_register_device() (Dean Nelson) [RHEL-1841] {CVE-2022-45884} - media: dvb-core: Fix use-after-free due on race condition at dvb_net (Dean Nelson) [RHEL-1842] {CVE-2022-45886} - media: dvb_ca_en50221: fix a size write bug (Dean Nelson) [RHEL-1784] - media: dvbdev: fix refcnt bug (Dean Nelson) [RHEL-1841] - media: dvbdev: adopts refcnt to avoid UAF (Dean Nelson) [RHEL-1841] - media: dvbdev: fix error logic at dvb_register_device() (Dean Nelson) [RHEL-1841] - media: dvb_net: avoid speculation from net slot (Dean Nelson) [RHEL-1842] - media: dvb_ca_en50221: avoid speculation from CA slot (Dean Nelson) [RHEL-1784] - media: dvbdev: Fix memleak in dvb_register_device (Dean Nelson) [RHEL-1841] - media: media/dvb: Use kmemdup rather than duplicating its implementation (Dean Nelson) [RHEL-1841] - media: dvbdev: remove double-unlock (Dean Nelson) [RHEL-1841] - media: dvb-core: fix epoll() by calling poll_wait first (Dean Nelson) [RHEL-1784] - media: dvb_ca_en50221: off by one in dvb_ca_en50221_io_do_ioctl() (Dean Nelson) [RHEL-1784] - drm/amd/display: fix the white screen issue when >= 64GB DRAM (Mika Penttilä) [2231934] - gfs2: conversion deadlock do_promote bypass (Bob Peterson) [2225228] - gfs2: do_promote cleanup (Andreas Gruenbacher) [2225228] - gfs2: Make use of list_is_first (Andreas Gruenbacher) [2225228] - x86/cpu: Enable STIBP on AMD if Automatic IBRS is enabled (Waiman Long) [2227916] - Documentation/hw-vuln: Document the interaction between IBRS and STIBP (Waiman Long) [2227916] - x86/CPU/AMD: Make sure EFER[AIBRSE] is set (Waiman Long) [2227916] - fs: don't audit the capability check in simple_xattr_list() (Andrey Albershteyn) [RHEL-863]- [rt] build kernel-rt-4.18.0-514.rt7.303.el8 [2180997] - redhat: fix to be able to build with rpm 4.19.0 (Denys Vlasenko) - redhat: add additional gating boot tests (Denys Vlasenko) - redhat: list Z-Jiras in the changelog before Y-Jiras (Herton R. Krzesinski) - scsi: st: Add third party poweron reset handling (John Meneghini) [1930388] - kvm: initialize all of the kvm_debugregs structure before sending it to userspace (Jon Maloy) [2179898] {CVE-2023-1513} - bpf: sockmap: Remove preempt_disable in sock_map_sk_acquire (Tomas Glozar) [2229965] - s390/ap: add ap status asynch error support (Tobias Huschle) [2110511] - s390/ap: implement SE AP bind, unbind and associate (Tobias Huschle) [2110511] - s390/ap: introduce low frequency polling possibility (Tobias Huschle) [2110511] - s390/ap: new low level inline functions ap_bapq() and ap_aapq() (Tobias Huschle) [2110511] - s390/ap: provide F bit parameter for ap_rapq() and ap_zapq() (Tobias Huschle) [2110511] - s390/ap: filter ap card functions, new queue functions attribute (Tobias Huschle) [2110511] - s390/ap: make tapq gr2 response a struct (Tobias Huschle) [2110511] - s390/ap: introduce new AP bus sysfs attribute features (Tobias Huschle) [2110511] - s390/ap: exploit new B bit from QCI config info (Tobias Huschle) [2110511] - s390/zcrypt: replace scnprintf with sysfs_emit (Tobias Huschle) [2110511] - s390/zcrypt: rework length information for dqap (Tobias Huschle) [2110511] - s390/zcrypt: make psmid unsigned long instead of long long (Tobias Huschle) [2110511] - s390/ap,zcrypt,vfio: introduce and use ap_queue_status_reg union (Tobias Huschle) [2110511] - s390/ap: fix status returned by ap_qact() (Tobias Huschle) [2110511] - s390/ap: fix status returned by ap_aqic() (Tobias Huschle) [2110511] - s390/ap: adjust whitespace (Tobias Huschle) [2110511] - s390/ap: use insn format for new instructions (Tobias Huschle) [2110511] - s390/zcrypt: Filter admin CPRBs on custom devices (Tobias Huschle) [2110511] - s390/zcrypt: Add admask to zcdn (Tobias Huschle) [2110511] - s390/zcrypt: CCA control CPRB sending (Tobias Huschle) [2110511] - s390/ap: add missing virt_to_phys address conversion (Tobias Huschle) [2110511] - s390/ap: get rid of register asm in ap_dqap() (Tobias Huschle) [2110511] - s390/ap: get rid of register asm (Tobias Huschle) [2110511] - s390/ap: Rework ap_dqap to deal with messages greater than recv buffer (Tobias Huschle) [2110511] - s390/ap: rework assembler functions to use unions for in/out register variables (Tobias Huschle) [2110511] - internal: add new files for RHEL_MINOR=10 change (Denys Vlasenko) - thunderbolt: Fix Thunderbolt 3 display flickering issue on 2nd hot plug onwards (Desnes Nunes) [2233974] - mm/userfaultfd: don't consider uffd-wp bit of writable migration entries (Rafael Aquini) [2231554] - mm/userfaultfd: fix uffd-wp handling for THP migration entries (Rafael Aquini) [2231554] - mm/userfaultfd: fix uffd-wp special cases for fork() (Rafael Aquini) [2231554] - mm/thp: simplify copying of huge zero page pmd when fork (Rafael Aquini) [2231554] - internal: update RHEL_MINOR for the start of RHEL-8.10 development (Denys Vlasenko)- [rt] build kernel-rt-4.18.0-513.rt7.302.el8 [2180997] - redhat/configs: enable CONFIG_INET_DIAG_DESTROY (Andrea Claudi) [2230213] - net/sched: cls_u32: Fix reference counter leak leading to overflow (Davide Caratti) [2225202] {CVE-2023-3609} - cifs: fix bogus cifs_mount error handling in RHEL8 (Jeffrey Layton) [2215018] - KVM: nVMX: add missing consistency checks for CR0 and CR4 (Ricardo Robaina) [2190255] {CVE-2023-30456} - netfilter: snat: evict closing tcp entries on reply tuple collision (Florian Westphal) [2196717] - tun: avoid double free in tun_free_netdev (Jon Maloy) [2156366 2156371] {CVE-2022-4744} - net/sched: cls_fw: Fix improper refcount update leads to use-after-free (Davide Caratti) [2225103] {CVE-2023-3776} - net/sched: sch_qfq: account for stab overhead in qfq_enqueue (Davide Caratti) [2225196] {CVE-2023-3611} - net/sched: sch_qfq: reintroduce lmax bound check for MTU (Davide Caratti) [2225196] - net/sched: sch_qfq: refactor parsing of netlink parameters (Davide Caratti) [2225196] - net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free (Davide Caratti) [2225512] {CVE-2023-4128} - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free (Davide Caratti) [2225512] {CVE-2023-4128} - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free (Davide Caratti) [2225512] {CVE-2023-4128} - scsi: lpfc: Remove reftag check in DIF paths (Paul Ely) [2229152] - scsi: lpfc: Modify when a node should be put in device recovery mode during RSCN (Paul Ely) [2229152] - scsi: lpfc: Make fabric zone discovery more robust when handling unsolicited LOGO (Paul Ely) [2229152] - scsi: lpfc: Set Establish Image Pair service parameter only for Target Functions (Paul Ely) [2229152] - scsi: lpfc: Revise ndlp kref handling for dev_loss_tmo_callbk and lpfc_drop_node (Paul Ely) [2229152] - scsi: lpfc: Qualify ndlp discovery state when processing RSCN (Paul Ely) [2229152] - gfs2: Fix freeze consistency check in gfs2_trans_add_meta (Andreas Gruenbacher) [2095340] - gfs2: gfs2_freeze_lock_shared cleanup (Andreas Gruenbacher) [2095340] - gfs2: Replace sd_freeze_state with SDF_FROZEN flag (Andreas Gruenbacher) [2095340] - gfs2: Rework freeze / thaw logic (Andreas Gruenbacher) [2095340] - gfs2: Rename SDF_{FS_FROZEN => FREEZE_INITIATOR} (Andreas Gruenbacher) [2095340] - gfs2: Reconfiguring frozen filesystem already rejected (Andreas Gruenbacher) [2095340] - gfs2: Rename gfs2_freeze_lock{ => _shared } (Andreas Gruenbacher) [2095340] - gfs2: Rename the {freeze,thaw}_super callbacks (Andreas Gruenbacher) [2095340] - gfs2: Rename remaining "transaction" glock references (Andreas Gruenbacher) [2095340] - gfs2: init system threads before freeze lock (Bob Peterson) [2095340] - net: mana: Use the correct WQE count for ringing RQ doorbell (Bandan Das) [2222573] - net: mana: Batch ringing RX queue doorbell on receiving packets (Bandan Das) [2222573] - net: mana: Add support for vlan tagging (Bandan Das) [2222573] - net: mana: Fix perf regression: remove rx_cqes, tx_cqes counters (Bandan Das) [2222573] - net: mana: Check if netdev/napi_alloc_frag returns single page (Bandan Das) [2222573] - net: mana: Rename mana_refill_rxoob and remove some empty lines (Bandan Das) [2222573] - net: mana: Add support for jumbo frame (Bandan Das) [2222573] - net: mana: Enable RX path to handle various MTU sizes (Bandan Das) [2222573] - net: mana: Refactor RX buffer allocation code to prepare for various MTU (Bandan Das) [2222573] - net: mana: Use napi_build_skb in RX path (Bandan Das) [2222573] - net: mana: Remove redundant pci_clear_master (Bandan Das) [2222573] - net: mana: Add new MANA VF performance counters for easier troubleshooting (Bandan Das) [2222573] - ice: Fix NULL pointer deref during VF reset (Petr Oros) [2227743] - x86/kasan: Populate shadow for shared chunk of the CPU entry area (Rafael Aquini) [2232451] - x86/kasan: Add helpers to align shadow addresses up and down (Rafael Aquini) [2232451] - x86/kasan: Rename local CPU_ENTRY_AREA variables to shorten names (Rafael Aquini) [2232451] - x86/mm: Populate KASAN shadow for entire per-CPU range of CPU entry area (Rafael Aquini) [2232451] - x86/mm: Recompute physical address for every page of per-CPU CEA mapping (Rafael Aquini) [2232451]- [rt] build kernel-rt-4.18.0-512.rt7.301.el8 [2180997] - dm cache policy smq: ensure IO doesn't prevent cleaner policy progress (Benjamin Marzinski) [2227951] - netfilter: nf_tables: prevent OOB access in nft_byteorder_eval (Florian Westphal) [2221046] {CVE-2023-35001} - scsi: storvsc: Remove errant duplicate code (Cathy Avery) [2211725] - scsi: storvsc: Limit max_sectors for virtual Fibre Channel devices (Cathy Avery) [2211725] - redhat/configs: Enable CONFIG_AMPERE_ERRATUM_AC03_CPU_38 (Shaoqin Huang) [2219725] - arm64: errata: Mitigate Ampere1 erratum AC03_CPU_38 at stage-2 (Shaoqin Huang) [2219725] - KVM: arm64: Correctly handle page aging notifiers for unaligned memslot (Shaoqin Huang) [2219725] - KVM: arm64: timers: Fix resource leaks in kvm_timer_hyp_init() (Shaoqin Huang) [2219725] - KVM: arm64: vgic-v4: Make the doorbell request robust w.r.t preemption (Shaoqin Huang) [2219725] - KVM: arm64: Don't miss pending interrupts for suspended vCPU (Shaoqin Huang) [2219725] - KVM: arm64: Move vGIC v4 handling for WFI out arch callback hook (Shaoqin Huang) [2219725] - KVM: arm64: PMU: Don't overwrite PMUSERENR with vcpu loaded (Shaoqin Huang) [2219725] - KVM: arm64: PMU: Restore the host's PMUSERENR_EL0 (Shaoqin Huang) [2219725] - KVM: arm64: Restore mdcr_el2 from vcpu (Shaoqin Huang) [2219725] - kvm: arm64: Remove __hyp_this_cpu_read (Shaoqin Huang) [2219725] - wifi: rtw88: unlock on error path in rtw_ops_add_interface() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: check only affected links (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: send time sync only if needed (Íñigo Huguet) [2196823] - wifi: clean up erroneously introduced file (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Handle return value for iwl_mvm_sta_init (Íñigo Huguet) [2196823] - wifi: rtw88: delete timer and free skb queue when unloading (Íñigo Huguet) [2196823] - wifi: cfg80211: Fix return value in scan logic (Íñigo Huguet) [2196823] - Revert "wifi: ath11k: Enable threaded NAPI" (Íñigo Huguet) [2196823] - wifi: cfg80211: fix receiving mesh packets without RFC1042 header (Íñigo Huguet) [2196823] - wifi: mt76: mt7921e: fix init command fail with enabled device (Íñigo Huguet) [2196823] - wifi: ath9k: convert msecs to jiffies where needed (Íñigo Huguet) [2196823] - wifi: ath11k: Add missing check for ioremap (Íñigo Huguet) [2196823] - wifi: ath11k: fix memory leak in WMI firmware stats (Íñigo Huguet) [2196823] - wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key() (Íñigo Huguet) [2196823] - wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: avoid baid size integer overflow (Íñigo Huguet) [2196823] - wifi: rtw88: process VO packets without workqueue to avoid PTK rekey failed (Íñigo Huguet) [2196823] - wifi: rtw88: Fix action frame transmission fail before association (Íñigo Huguet) [2196823] - wifi: iwlwifi: add a few rate index validity checks (Íñigo Huguet) [2196823] - wifi: iwlwifi: Validate slots_num before allocating memory (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Validate tid is in valid range before using it (Íñigo Huguet) [2196823] - wifi: iwlwifi: pcie: fix NULL pointer dereference in iwl_pcie_irq_rx_msix_handler() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: check link during TX (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add a NULL pointer check (Íñigo Huguet) [2196823] - wifi: iwlwifi: pull from TXQs with softirqs disabled (Íñigo Huguet) [2196823] - wifi: iwlwifi: Correctly indicate support for VHT TX STBC (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Add NULL check before dereferencing the pointer (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix potential array out of bounds access (Íñigo Huguet) [2196823] - wifi: rtw88: add missing unwind goto for __rtw_download_firmware() (Íñigo Huguet) [2196823] - wifi: iwlwifi: disable RX STBC when a device doesn't support it (Íñigo Huguet) [2196823] - wifi: iwlwifi: don't silently ignore missing suspend or resume ops (Íñigo Huguet) [2196823] - wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx (Íñigo Huguet) [2196823] - wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation (Íñigo Huguet) [2196823] - wifi: rtw89: pci: fix interrupt enable mask for HALT C2H of RTL8851B (Íñigo Huguet) [2196823] - wifi: rtw89: fix rtw89_read_chip_ver() for RTL8852B and RTL8851B (Íñigo Huguet) [2196823] - wifi: rtw88: fix incorrect error codes in rtw_debugfs_set_* (Íñigo Huguet) [2196823] - wifi: rtw88: fix incorrect error codes in rtw_debugfs_copy_from_user (Íñigo Huguet) [2196823] - wifi: iwlwifi: pcie: Handle SO-F device for PCI id 0x7AF0 (Íñigo Huguet) [2196823] - config: wifi: debug configs for brcm80211 (Íñigo Huguet) [2196823] - config: wifi: set RTL8821CS, RTL8822BS and RTL8822CS as disabled (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: spin_lock_bh() to fix lockdep regression (Íñigo Huguet) [2196823] - wifi: mac80211: fragment per STA profile correctly (Íñigo Huguet) [2196823] - wifi: mac80211: Use active_links instead of valid_links in Tx (Íñigo Huguet) [2196823] - wifi: cfg80211: remove links only on AP (Íñigo Huguet) [2196823] - wifi: mac80211: take lock before setting vif links (Íñigo Huguet) [2196823] - wifi: cfg80211: fix link del callback to call correct handler (Íñigo Huguet) [2196823] - wifi: mac80211: fix link activation settings order (Íñigo Huguet) [2196823] - wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid() (Íñigo Huguet) [2196823] - wifi: cfg80211: fix locking in regulatory disconnect (Íñigo Huguet) [2196823] - wifi: cfg80211: fix locking in sched scan stop work (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Fix -Warray-bounds bug in iwl_mvm_wait_d3_notif() (Íñigo Huguet) [2196823] - wifi: mac80211: fix switch count in EMA beacons (Íñigo Huguet) [2196823] - wifi: mac80211: don't translate beacon/presp addrs (Íñigo Huguet) [2196823] - wifi: mac80211: mlme: fix non-inheritence element (Íñigo Huguet) [2196823] - wifi: cfg80211: reject bad AP MLD address (Íñigo Huguet) [2196823] - wifi: mac80211: use correct iftype HE cap (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: fix possible NULL pointer dereference in mt7996_mac_write_txwi() (Íñigo Huguet) [2196823] - wifi: rtw89: remove redundant check of entering LPS (Íñigo Huguet) [2196823] - wifi: rtw89: correct PS calculation for SUPPORTS_DYNAMIC_PS (Íñigo Huguet) [2196823] - wifi: rtw88: correct PS calculation for SUPPORTS_DYNAMIC_PS (Íñigo Huguet) [2196823] - wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll (Íñigo Huguet) [2196823] - wifi: b43: fix incorrect __packed annotation (Íñigo Huguet) [2196823] - wifi: rtw88: sdio: Always use two consecutive bytes for word operations (Íñigo Huguet) [2196823] - mac80211_hwsim: fix memory leak in hwsim_new_radio_nl (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Add locking to the rate read flow (Íñigo Huguet) [2196823] - wifi: iwlwifi: Don't use valid_links to iterate sta links (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: don't trust firmware n_channels (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix OEM's name in the tas approved list (Íñigo Huguet) [2196823] - wifi: iwlwifi: fix OEM's name in the ppag approved list (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix initialization of a return value (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix access to fw_id_to_mac_id (Íñigo Huguet) [2196823] - wifi: iwlwifi: fw: fix DBGI dump (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix number of concurrent link checks (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: don't double-init spinlock (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: always free dup_data (Íñigo Huguet) [2196823] - wifi: mac80211: recalc chanctx mindef before assigning (Íñigo Huguet) [2196823] - wifi: mac80211: consider reserved chanctx for mindef (Íñigo Huguet) [2196823] - wifi: mac80211: simplify chanctx allocation (Íñigo Huguet) [2196823] - wifi: mac80211: Abort running color change when stopping the AP (Íñigo Huguet) [2196823] - wifi: mac80211: fix min center freq offset tracing (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: rfi: disable RFI feature (Íñigo Huguet) [2196823] - wifi: mac80211: Fix puncturing bitmap handling in __ieee80211_csa_finalize() (Íñigo Huguet) [2196823] - wifi: mac80211: fortify the spinlock against deadlock by interrupt (Íñigo Huguet) [2196823] - wifi: cfg80211: Drop entries with invalid BSSIDs in RNR (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value (Íñigo Huguet) [2196823] - wifi: brcmfmac: Check for probe() id argument being NULL (Íñigo Huguet) [2196823] - wifi: rtw88: correct qsel_to_ep[] type as int (Íñigo Huguet) [2196823] - wifi: rtw88: use work to update rate to avoid RCU warning (Íñigo Huguet) [2196823] - wifi: rtw89: 8852b: adjust quota to avoid SER L1 caused by access null page (Íñigo Huguet) [2196823] - wifi: mt76: connac: fix stats->tx_bytes calculation (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: fix endianness of MT_TXD6_TX_RATE (Íñigo Huguet) [2196823] - wifi: rtw88: Update spelling in main.h (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: Simplify setting the initial gain (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: Add rtl8xxxu_write{8,16,32}_{set,clear} (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: Don't print the vendor/product/serial (Íñigo Huguet) [2196823] - wifi: rtw88: Fix memory leak in rtw88_usb (Íñigo Huguet) [2196823] - wifi: rtw88: call rtw8821c_switch_rf_set() according to chip variant (Íñigo Huguet) [2196823] - wifi: rtw88: set pkg_type correctly for specific rtw8821c variants (Íñigo Huguet) [2196823] - wifi: rtw88: rtw8821c: Fix rfe_option field width (Íñigo Huguet) [2196823] - wifi: rtw88: usb: fix priority queue to endpoint mapping (Íñigo Huguet) [2196823] - wifi: rtw88: 8822c: add iface combination (Íñigo Huguet) [2196823] - wifi: rtw88: handle station mode concurrent scan with AP mode (Íñigo Huguet) [2196823] - wifi: rtw88: prevent scan abort with other VIFs (Íñigo Huguet) [2196823] - wifi: rtw88: refine reserved page flow for AP mode (Íñigo Huguet) [2196823] - wifi: rtw88: disallow PS during AP mode (Íñigo Huguet) [2196823] - wifi: rtw88: 8822c: extend reserved page number (Íñigo Huguet) [2196823] - wifi: rtw88: add port switch for AP mode (Íñigo Huguet) [2196823] - wifi: rtw88: add bitmap for dynamic port settings (Íñigo Huguet) [2196823] - wifi: rtw89: mac: use regular int as return type of DLE buffer request (Íñigo Huguet) [2196823] - wifi: mac80211: remove return value check of debugfs_create_dir() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix RFKILL report when driver is going down (Íñigo Huguet) [2196823] - wifi: iwlwifi: mei: re-ask for ownership after it was taken by CSME (Íñigo Huguet) [2196823] - wifi: iwlwifi: mei: make mei filtered scan more aggressive (Íñigo Huguet) [2196823] - wifi: iwlwifi: modify scan request and results when in link protection (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: enable support for MLO APIs (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: prefer RCU_INIT_POINTER() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix potential memory leak (Íñigo Huguet) [2196823] - wifi: iwlwifi: fw: fix argument to efi.get_variable (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix MIC removal confusion (Íñigo Huguet) [2196823] - wifi: iwlwifi: fw: fix memory leak in debugfs (Íñigo Huguet) [2196823] - wifi: iwlwifi: Update support for b0 version (Íñigo Huguet) [2196823] - wifi: ath11k: Remove disabling of 80+80 and 160 MHz (Íñigo Huguet) [2196823] - wifi: ath11k: Fix SKB corruption in REO destination ring (Íñigo Huguet) [2196823] - wifi: ath11k: Fix incorrect update of radiotap fields (Íñigo Huguet) [2196823] - wifi: ath11k: fix tx status reporting in encap offload mode (Íñigo Huguet) [2196823] - wifi: ath11k: add peer mac information in failure cases (Íñigo Huguet) [2196823] - wifi: ath11k: Prevent REO cmd failures (Íñigo Huguet) [2196823] - wifi: ath11k: fix double free of peer rx_tid during reo cmd failure (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: fill txd by host driver (Íñigo Huguet) [2196823] - wifi: mt76: set NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 on supported drivers (Íñigo Huguet) [2196823] - wifi: mt76: dma: use napi_build_skb (Íñigo Huguet) [2196823] - wifi: mt76: mt7615: increase eeprom size for mt7663 (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: enable mesh HW amsdu/de-amsdu support (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: enable configured beacon tx rate (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: enable BSS_CHANGED_MCAST_RATE support (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: enable BSS_CHANGED_BASIC_RATES support (Íñigo Huguet) [2196823] - wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace (Íñigo Huguet) [2196823] - wifi: mac80211: remove ieee80211_tx_status_8023 (Íñigo Huguet) [2196823] - wifi: iwlwifi: bump FW API to 78 for AX devices (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: check firmware response size (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add MLO support to SF - use sta pointer (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: configure TLC on link activation (Íñigo Huguet) [2196823] - wifi: iwlwifi: fix iwl_mvm_max_amsdu_size() for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: remove RS rate init update argument (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: initialize per-link STA ratescale data (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: rs-fw: properly access sband->iftype_data (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: only clients can be 20MHz-only (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix iwl_mvm_sta_rc_update for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: remove per-STA MFP setting (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: allow NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use BSSID when building probe requests (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: update mac id management (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adopt the latest firmware API (Íñigo Huguet) [2196823] - wifi: mt76: connac: add nss calculation into mt76_connac2_mac_tx_rate_val() (Íñigo Huguet) [2196823] - wifi: mt76: connac: fix txd multicast rate setting (Íñigo Huguet) [2196823] - wifi: mt76: mt7921e: stop chip reset worker in unregister hook (Íñigo Huguet) [2196823] - wifi: mt76: mt7921e: improve reliability of dma reset (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: fix missing unwind goto in `mt7921u_probe` (Íñigo Huguet) [2196823] - mt76: mt7921: fix kernel panic by accessing unallocated eeprom.data (Íñigo Huguet) [2196823] - wifi: mt76: move mcu_uni_event and mcu_reg_event in common code (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: enable coredump support (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: add full system reset knobs into debugfs (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: enable full system reset support (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: enable p2p support (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: Replace fake flex-arrays with flexible-array members (Íñigo Huguet) [2196823] - wifi: mt76: Replace zero-length array with flexible-array member (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: add Netgear AXE3000 (A8000) support (Íñigo Huguet) [2196823] - wifi: mt76: mt7915: drop redundant prefix of mt7915_txpower_puts() (Íñigo Huguet) [2196823] - wifi: mt76: fix 6GHz high channel not be scanned (Íñigo Huguet) [2196823] - wifi: mt76: mt7921e: fix probe timeout after reboot (Íñigo Huguet) [2196823] - wifi: mt76: move shared mac definitions in mt76_connac2_mac.h (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: get rid of eeprom.h (Íñigo Huguet) [2196823] - wifi: mt76: add mt76_connac_gen_ppe_thresh utility routine (Íñigo Huguet) [2196823] - wifi: mt76: get rid of unused sta_ps callbacks (Íñigo Huguet) [2196823] - wifi: mt76: add mt76_connac_irq_enable utility routine (Íñigo Huguet) [2196823] - wifi: mt76: move irq_tasklet in mt76_dev struct (Íñigo Huguet) [2196823] - wifi: mt76: mt7921e: Set memory space enable in PCI_COMMAND if unset (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: use driver flags rather than mac80211 flags to mcu (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: introduce mt7921_get_mac80211_ops utility routine (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: fix eeprom tx path bitfields (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: remove mt7996_mcu_set_pm() (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: init mpdu density cap (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: fix pointer calculation in ie countdown event (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: remove unused eeprom band selection (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: let non-bufferable MMPDUs use correct hw queue (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: add eht rx rate support (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: remove mt7996_mcu_beacon_check_caps() (Íñigo Huguet) [2196823] - wifi: mt76: mt7915: remove mt7915_mcu_beacon_check_caps() (Íñigo Huguet) [2196823] - wifi: mt76: connac: refresh tx session timer for WED device (Íñigo Huguet) [2196823] - wifi: mt76: add missing locking to protect against concurrent rx/status calls (Íñigo Huguet) [2196823] - wifi: mt76: handle failure of vzalloc in mt7615_coredump_work (Íñigo Huguet) [2196823] - wifi: mt76: drop the incorrect scatter and gather frame (Íñigo Huguet) [2196823] - wifi: mt76: mt7915: rework init flow in mt7915_thermal_init() (Íñigo Huguet) [2196823] - wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device (Íñigo Huguet) [2196823] - wifi: mt76: mt7915: expose device tree match table (Íñigo Huguet) [2196823] - wifi: mt76: dynamic channel bandwidth changes in AP mode (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: fix radiotap bitfield (Íñigo Huguet) [2196823] - wifi: mt76: mt7915: unlock on error in mt7915_thermal_temp_store() (Íñigo Huguet) [2196823] - wifi: mt76: mt7996: Remove unneeded semicolon (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: fix PCI DMA hang after reboot (Íñigo Huguet) [2196823] - wifi: mt76: mt7921: fix wrong command to set STA channel (Íñigo Huguet) [2196823] - wifi: mt76: remove redundent MCU_UNI_CMD_* definitions (Íñigo Huguet) [2196823] - wifi: ath9k: fix per-packet TX-power cap for TPC (Íñigo Huguet) [2196823] - wifi: ath11k: fix undefined behavior with __fls in dp (Íñigo Huguet) [2196823] - wifi: ath11k: Ignore frags from uninitialized peer in dp. (Íñigo Huguet) [2196823] - wifi: ath11k: print a warning when crypto_alloc_shash() fails (Íñigo Huguet) [2196823] - wifi: ath11k: pci: Add more MODULE_FIRMWARE() entries (Íñigo Huguet) [2196823] - wifi: ath11k: enable SAR support on WCN6750 (Íñigo Huguet) [2196823] - wifi: ath11k: Disable Spectral scan upon removing interface (Íñigo Huguet) [2196823] - wifi: rtw89: add support of concurrent mode (Íñigo Huguet) [2196823] - wifi: rtw89: Disallow power save with multiple stations (Íñigo Huguet) [2196823] - wifi: rtw89: update statistics to FW for fine-tuning performance (Íñigo Huguet) [2196823] - wifi: rtw89: use struct instead of macros to set H2C command of hardware scan (Íñigo Huguet) [2196823] - wifi: rtw89: refine scan function after chanctx (Íñigo Huguet) [2196823] - wifi: rtw89: prohibit enter IPS during HW scan (Íñigo Huguet) [2196823] - wifi: rtw89: coex: send more hardware module info to firmware for 8851B (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Update function to get BT RSSI and hardware counter (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add path control register to monitor list (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Enable Wi-Fi RX gain control for free run solution (Íñigo Huguet) [2196823] - wifi: rtw89: fix power save function in WoWLAN mode (Íñigo Huguet) [2196823] - wifi: rtw89: support WoWLAN mode for 8852be (Íñigo Huguet) [2196823] - wifi: iwlwifi: move debug buffer allocation failure to info verbosity (Íñigo Huguet) [2196823] - wifi: iwlwifi: make the loop for card preparation effective (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: allow number of beacons from FW (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: implement key link switching (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: implement BAID link switching (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: track station mask for BAIDs (Íñigo Huguet) [2196823] - wifi: iwlwifi: bump FW API to 77 for AX devices (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use correct sta mask to remove queue (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: avoid iterating over an un-initialized list (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: factor out iwl_mvm_sta_fw_id_mask() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: properly implement HE AP support (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Fix _iwl_mvm_get_scan_type() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix getting lowest TX rate for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: call napi_synchronize() before freeing rx/tx queues (Íñigo Huguet) [2196823] - wifi: iwlwifi: nvm-parse: add full BW UL MU-MIMO support (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: Support devices with 5-6 out endpoints (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: Clean up some messy ifs (Íñigo Huguet) [2196823] - wifi: brcmfmac: add Cypress 43439 SDIO ids (Íñigo Huguet) [2196823] - wifi: rtw89: fix crash due to null pointer of sta in AP mode (Íñigo Huguet) [2196823] - wifi: rtw89: correct 5 MHz mask setting (Íñigo Huguet) [2196823] - wifi: rtw89: 8851b: add tables for RFK (Íñigo Huguet) [2196823] - wifi: rtw89: 8851b: add BB and RF tables (2 of 2) (Íñigo Huguet) [2196823] - wifi: rtw89: 8851b: add BB and RF tables (1 of 2) (Íñigo Huguet) [2196823] - wifi: rtw89: pci: update PCI related settings to support 8851B (Íñigo Huguet) [2196823] - wifi: rtw89: mac: update MAC settings to support 8851b (Íñigo Huguet) [2196823] - wifi: rtw89: 8851b: fix TX path to path A for one RF path chip (Íñigo Huguet) [2196823] - wifi: rtw89: read version of analog hardware (Íñigo Huguet) [2196823] - wifi: rtw89: use hardware CFO to improve performance (Íñigo Huguet) [2196823] - wifi: rtw89: support parameter tables by RFE type (Íñigo Huguet) [2196823] - wifi: rtw89: fix authentication fail during scan (Íñigo Huguet) [2196823] - wifi: rtw89: add flag check for power state (Íñigo Huguet) [2196823] - wifi: rtw89: add ieee80211::remain_on_channel ops (Íñigo Huguet) [2196823] - wifi: rtw89: add function to wait for completion of TX skbs (Íñigo Huguet) [2196823] - wifi: rtw89: 8852c: add beacon filter and CQM support (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: tx: remove misleading if statement (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Fix setting the rate for non station cases (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: validate station properly in flush (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: set STA mask for keys in MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix ptk_pn memory leak (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: make iwl_mvm_mac_ctxt_send_beacon() static (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: track AP STA pointer and use it for MFP (Íñigo Huguet) [2196823] - wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf (Íñigo Huguet) [2196823] - wifi: iwlwifi: fw: move memset before early return (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: initialize seq variable (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Fix spelling mistake "Gerenal" -> "General" (Íñigo Huguet) [2196823] - wifi: iwlwifi: Fix spelling mistake "upto" -> "up to" (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: enable new MLD FW API (Íñigo Huguet) [2196823] - wifi: iwlwifi: add a new PCI device ID for BZ device (Íñigo Huguet) [2196823] - wifi: iwlwifi: Add RF Step Type for BZ device (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: scan legacy bands and UHB channels with same antenna (Íñigo Huguet) [2196823] - wifi: iwlwifi: yoyo: Fix possible division by zero (Íñigo Huguet) [2196823] - wifi: iwlwifi: yoyo: skip dump correctly on hw error (Íñigo Huguet) [2196823] - wifi: iwlwifi: pcie: fix possible NULL pointer dereference (Íñigo Huguet) [2196823] - wifi: iwlwifi: Fix the duplicate dump name (Íñigo Huguet) [2196823] - wifi: iwlwifi: pcie: work around ROM bug on AX210 integrated (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add DSM_FUNC_ENABLE_6E value to debugfs (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: cleanup beacon_inject_active during hw restart (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: support wowlan info notification version 2 (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: make HLTK configuration for PASN station optional (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: request limiting to 8 MSDUs per A-MSDU (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix shift-out-of-bounds (Íñigo Huguet) [2196823] - wifi: iwlwifi: acpi: support modules with high antenna gain (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: don't drop unencrypted MCAST frames (Íñigo Huguet) [2196823] - wifi: iwlwifi: dbg: print pc register data once fw dump occurred (Íñigo Huguet) [2196823] - wifi: mac80211: add flush_sta method (Íñigo Huguet) [2196823] - wifi: mac80211: flush queues on STA removal (Íñigo Huguet) [2196823] - wifi: ieee80211: correctly mark FTM frames non-bufferable (Íñigo Huguet) [2196823] - wifi: ieee80211: clean up public action codes (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: don't set CHECKSUM_COMPLETE for unsupported protocols (Íñigo Huguet) [2196823] - wifi: iwlwifi: trans: don't trigger d3 interrupt twice (Íñigo Huguet) [2196823] - wifi: iwlwifi: Update configurations for Bnj-a0 and specific rf devices (Íñigo Huguet) [2196823] - wifi: iwlwifi: Update init sequence if tx diversity supported (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: move function sequence (Íñigo Huguet) [2196823] - wifi: iwlwifi: nvm: Update HE capabilities on 6GHz band for EHT device (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor TX csum mode check (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix A-MSDU checks (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: enable bz hw checksum from c step (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use OFDM rate if IEEE80211_TX_CTL_NO_CCK_RATE is set (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: convert TID to FW value on queue remove (Íñigo Huguet) [2196823] - wifi: iwlwifi: Update configuration for SO,SOF MAC and HR RF (Íñigo Huguet) [2196823] - wifi: iwlwifi: add a validity check of queue_id in iwl_txq_reclaim (Íñigo Huguet) [2196823] - wifi: iwlwifi: nvm-parse: enable 160/320 MHz for AP mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: debug: fix crash in __iwl_err() (Íñigo Huguet) [2196823] - wifi: rtw88: Add support for the SDIO based RTL8821CS chipset (Íñigo Huguet) [2196823] - wifi: rtw88: Add support for the SDIO based RTL8822CS chipset (Íñigo Huguet) [2196823] - wifi: rtw88: Add support for the SDIO based RTL8822BS chipset (Íñigo Huguet) [2196823] - wifi: rtw88: main: Reserve 8 bytes of extra TX headroom for SDIO cards (Íñigo Huguet) [2196823] - wifi: rtw88: main: Add the {cpwm,rpwm}_addr for SDIO based chipsets (Íñigo Huguet) [2196823] - wifi: rtw88: mac: Support SDIO specific bits in the power on sequence (Íñigo Huguet) [2196823] - wifi: rtw88: sdio: Add HCI implementation for SDIO based chipsets (Íñigo Huguet) [2196823] - wifi: rtw88: Clear RTW_FLAG_POWERON early in rtw_mac_power_switch() (Íñigo Huguet) [2196823] - wifi: ath12k: Remove redundant pci_clear_master (Íñigo Huguet) [2196823] - wifi: ath10k: Remove redundant pci_clear_master (Íñigo Huguet) [2196823] - wifi: ath11k: Remove redundant pci_clear_master (Íñigo Huguet) [2196823] - wifi: ath11k: Send 11d scan start before WMI_START_SCAN_CMDID (Íñigo Huguet) [2196823] - wifi: ath11k: fix writing to unintended memory region (Íñigo Huguet) [2196823] - wifi: ath11k: Fix invalid management rx frame length issue (Íñigo Huguet) [2196823] - wifi: ath11k: fix rssi station dump not updated in QCN9074 (Íñigo Huguet) [2196823] - wifi: ath11k: Configure the FTM responder role using firmware capability flag (Íñigo Huguet) [2196823] - wifi: ath11k: Optimize 6 GHz scan time (Íñigo Huguet) [2196823] - wifi: mac80211: set EHT support flag in AP mode (Íñigo Huguet) [2196823] - wifi: mac80211_hwsim: fix potential NULL deref in hwsim_pmsr_report_nl() (Íñigo Huguet) [2196823] - wifi: iwlwifi: fix duplicate entry in iwl_dev_info_table (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix the order of TIMING_MEASUREMENT notifications (Íñigo Huguet) [2196823] - bus: mhi: host: Use mhi_tryset_pm_state() for setting fw error state (Íñigo Huguet) [2196823] - bus: mhi: host: Remove duplicate ee check for syserr (Íñigo Huguet) [2196823] - bus: mhi: host: Avoid ringing EV DB if there are no elements to process (Íñigo Huguet) [2196823] - net: rfkill-gpio: Add explicit include for of.h (Íñigo Huguet) [2196823] - net: qrtr: correct types of trace event parameters (Íñigo Huguet) [2196823] - wifi: rt2x00: Fix memory leak when handling surveys (Íñigo Huguet) [2196823] - wifi: b43legacy: Remove the unused function prev_slot() (Íñigo Huguet) [2196823] - wifi: rtw89: Remove redundant pci_clear_master (Íñigo Huguet) [2196823] - wifi: rtw89: fix potential race condition between napi_init and napi_enable (Íñigo Huguet) [2196823] - wifi: rtw89: config EDCCA threshold during scan to prevent TX failed (Íñigo Huguet) [2196823] - wifi: rtw89: fix incorrect channel info during scan due to ppdu_sts filtering (Íñigo Huguet) [2196823] - wifi: rtw89: remove superfluous H2C of join_info (Íñigo Huguet) [2196823] - wifi: rtw89: set data lowest rate according to AP supported rate (Íñigo Huguet) [2196823] - wifi: rtw89: add counters of register-based H2C/C2H (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Update Wi-Fi Bluetooth coexistence version to 7.0.1 (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add report control v5 variation (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Update RTL8852B LNA2 hardware parameter (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Not to enable firmware report when WiFi is power saving (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add LPS protocol radio state for RTL8852B (Íñigo Huguet) [2196823] - bus: mhi: pci_generic: Add Foxconn T99W510 (Íñigo Huguet) [2196823] - bus: mhi: host: Use ERANGE for BHIOFF/BHIEOFF range check (Íñigo Huguet) [2196823] - bus: mhi: host: Range check CHDBOFF and ERDBOFF (Íñigo Huguet) [2196823] - wifi: mwifiex: remove unused evt_buf variable (Íñigo Huguet) [2196823] - wifi: brcmsmac: ampdu: remove unused suc_mpdu variable (Íñigo Huguet) [2196823] - wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg() (Íñigo Huguet) [2196823] - wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg() (Íñigo Huguet) [2196823] - wifi: brcmsmac: remove unused has_5g variable (Íñigo Huguet) [2196823] - wifi: b43legacy: remove unused freq_r3A_value function (Íñigo Huguet) [2196823] - wifi: rtlwifi: Replace fake flex-array with flex-array member (Íñigo Huguet) [2196823] - wifi: rtw88: Remove redundant pci_clear_master (Íñigo Huguet) [2196823] - wifi: rndis_wlan: Replace fake flex-array with flexible-array member (Íñigo Huguet) [2196823] - wifi: rndis_wlan: clean up a type issue (Íñigo Huguet) [2196823] - wifi: rtw88: remove unused rtw_pci_get_tx_desc function (Íñigo Huguet) [2196823] - wifi: rsi: Slightly simplify rsi_set_channel() (Íñigo Huguet) [2196823] - wifi: ipw2x00: remove unused _ipw_read16 function (Íñigo Huguet) [2196823] - wifi: mac80211: enable EHT mesh support (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: correctly use link in iwl_mvm_sta_del() (Íñigo Huguet) [2196823] - wifi: iwlwifi: separate AP link management queues (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: free probe_resp_data later (Íñigo Huguet) [2196823] - wifi: iwlwifi: bump FW API to 75 for AX devices (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: move max_agg_bufsize into host TLC lq_sta (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: send full STA during HW restart (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: rework active links counting (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: update mac config when assigning chanctx (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use the correct link queue (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: clean up mac_id vs. link_id in MLD sta (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix station link data leak (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: initialize max_rc_amsdu_len per-link (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use appropriate link for rate selection (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use the new lockdep-checking macros (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: remove chanctx WARN_ON (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: avoid sending MAC context for idle (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: remove only link-specific AP keys (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: skip inactive links (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust iwl_mvm_scan_respect_p2p_go_iter() for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: rxmq: report link ID to mac80211 (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use bcast/mcast link station id (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: translate management frame address (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: implement mac80211 callback change_sta_links (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use the link sta address (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust rs init to MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust radar detection to MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust iwl_mvm_sec_key_remove_ap to MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: make a few warnings only trigger once (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: coex: start handling multiple links (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: rs-fw: don't crash on missing channel (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: use STA link address (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: skip MEI update for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix narrow RU check for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: make some HW flags conditional (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: implement link change ops (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust some cleanup functions to MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor iwl_mvm_mac_sta_state_common() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: update iwl_mvm_tx_reclaim() for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust to MLO assign/unassign/switch_vif_chanctx() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add fw link id allocation (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust internal stations to MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: replace bss_info_changed() with vif_cfg/link_info_changed() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add link_conf parameter for add/remove/change link (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: don't check dtim_period in new API (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust SMPS for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add set_hw_timestamp to mld ops (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add link to firmware earlier (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust some PS and PM methods to MLD (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust mld_mac_ctxt_/beacon_changed() for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: adjust smart fifo configuration to MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: align to the LINK cmd update in the FW (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: always use the sta->addr as the peers addr (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: modify link instead of removing it during csa (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix crash on queue removal for MLD API too (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix "modify_mask" value in the link cmd. (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add all missing ops to iwl_mvm_mld_ops (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add support for post_channel_switch in MLD mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: unite sta_modify_disable_tx flows (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add cancel/remain_on_channel for MLD mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor iwl_mvm_roc() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add some new MLD ops (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add sta handling flows for MLD mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add an indication that the new MLD API is used (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: sta preparation for MLO (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: vif preparation for MLO (Íñigo Huguet) [2196823] - wifi: nl80211: support advertising S1G capabilities (Íñigo Huguet) [2196823] - wifi: mac80211: S1G capabilities information element in probe request (Íñigo Huguet) [2196823] - mac80211: minstrel_ht: remove unused n_supported variable (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Use 64-bit division helper in iwl_mvm_get_crosstimestamp_fw() (Íñigo Huguet) [2196823] - wifi: carl9170: Replace fake flex-array with flexible-array member (Íñigo Huguet) [2196823] - wifi: carl9170: Fix multiple -Warray-bounds warnings (Íñigo Huguet) [2196823] - wifi: ath10k: remove unused ath10k_get_ring_byte function (Íñigo Huguet) [2196823] - wifi: ath12k: incorrect channel survey dump (Íñigo Huguet) [2196823] - wifi: ath12k: fix incorrect handling of AMSDU frames (Íñigo Huguet) [2196823] - wifi: ath12k: fix packets are sent in native wifi mode while we set raw mode (Íñigo Huguet) [2196823] - wifi: ath12k: fill peer meta data during reo_reinject (Íñigo Huguet) [2196823] - mac80211_hwsim: add PMSR report support via virtio (Íñigo Huguet) [2196823] - mac80211_hwsim: add PMSR abort support via virtio (Íñigo Huguet) [2196823] - mac80211_hwsim: add PMSR request support via virtio (Íñigo Huguet) [2196823] - wifi: nl80211: make nl80211_send_chandef non-static (Íñigo Huguet) [2196823] - mac80211_hwsim: add PMSR capability support (Íñigo Huguet) [2196823] - mac80211: support RNR for EMA AP (Íñigo Huguet) [2196823] - cfg80211: support RNR for EMA AP (Íñigo Huguet) [2196823] - wifi: mac80211: use bullet list for amsdu_mesh_control formats list (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix NULL deref in iwl_mvm_mld_disable_txq (Íñigo Huguet) [2196823] - wifi: mac80211_hwsim: EMA support (Íñigo Huguet) [2196823] - wifi: mac80211_hwsim: Multiple BSSID support (Íñigo Huguet) [2196823] - wifi: mac80211_hwsim: move beacon transmission to a separate function (Íñigo Huguet) [2196823] - wifi: mac80211: generate EMA beacons in AP mode (Íñigo Huguet) [2196823] - wifi: nl80211: Update the documentation of NL80211_SCAN_FLAG_COLOCATED_6GHZ (Íñigo Huguet) [2196823] - wifi: mac80211: implement support for yet another mesh A-MSDU format (Íñigo Huguet) [2196823] - wifi: mac80211: add mesh fast-rx support (Íñigo Huguet) [2196823] - wifi: mac80211: use mesh header cache to speed up mesh forwarding (Íñigo Huguet) [2196823] - wifi: mac80211: mesh fast xmit support (Íñigo Huguet) [2196823] - wifi: mac80211: fix race in mesh sequence number assignment (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Add debugfs to get TAS status (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: support enabling and disabling HW timestamping (Íñigo Huguet) [2196823] - wifi: iwlwifi: Update configurations for Bnj device (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor iwl_mvm_add_sta(), iwl_mvm_rm_sta() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: remove not needed initializations (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor iwl_mvm_sta_send_to_fw() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor iwl_mvm_sta (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor iwl_mvm_cfg_he_sta() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Don't send MAC CTXT cmd after deauthorization (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add stop_ap() and leave_ibss() callbacks for MLD mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add start_ap() and join_ibss() callbacks for MLD mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: select ptp cross timestamp from multiple reads (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: implement PHC clock adjustments (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: enable TX beacon protection (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add support for timing measurement (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: report hardware timestamps in RX/TX status (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: read synced time from firmware if supported (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add support for PTP HW clock (PHC) (Íñigo Huguet) [2196823] - wifi: ath12k: Enable IMPS for WCN7850 (Íñigo Huguet) [2196823] - wifi: ath12k: Identify DFS channel when sending scan channel list command (Íñigo Huguet) [2196823] - wifi: ath12k: fix firmware assert during channel switch for peer sta (Íñigo Huguet) [2196823] - wifi: ath12k: fix memory leak in ath12k_qmi_driver_event_work() (Íñigo Huguet) [2196823] - wifi: ath11k: fix BUFFER_DONE read on monitor ring rx buffer (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: Support new chip RTL8710BU aka RTL8188GU (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: RTL8192EU always needs full init (Íñigo Huguet) [2196823] - wifi: iwlwifi: Avoid disabling GCC specific flag with clang (Íñigo Huguet) [2196823] - wifi: iwlwifi: suppress printf warnings in tracing (Íñigo Huguet) [2196823] - wifi: iwlwifi: fw: pnvm: fix uefi reduced TX power loading (Íñigo Huguet) [2196823] - wifi: iwlwifi: Update configurations for Bnj and Bz devices (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: rs: print BAD_RATE for invalid HT/VHT index (Íñigo Huguet) [2196823] - wifi: iwlwifi: Replace space with tabs as code indent (Íñigo Huguet) [2196823] - wifi: iwlwifi: Add required space before open '(' (Íñigo Huguet) [2196823] - wifi: iwlwifi: Remove prohibited spaces (Íñigo Huguet) [2196823] - wifi: iwlwifi: fix typos in comment (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: remove setting of 'sta' parameter (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add an unassign_vif_chanctx() callback for MLD mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor __iwl_mvm_unassign_vif_chanctx() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add an assign_vif_chanctx() callback for MLD mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: refactor __iwl_mvm_assign_vif_chanctx() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Add a remove_interface() callback for mld mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Add an add_interface() callback for mld mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add support for the new STA related commands (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add support for the new LINK command (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add support for the new MAC CTXT command (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Refactor MAC_CONTEXT_CMD sending flow (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: Refactor STA_HE_CTXT_CMD sending flow (Íñigo Huguet) [2196823] - wifi: iwlwifi: yoyo: Add driver defined dump file name (Íñigo Huguet) [2196823] - wifi: iwlwifi: yoyo: Add new tlv for dump file name extension (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: avoid sta lookup in queue alloc (Íñigo Huguet) [2196823] - wifi: ath11k: fix deinitialization of firmware resources (Íñigo Huguet) [2196823] - wifi: ath11k: Replace fake flex-array with flexible-array member (Íñigo Huguet) [2196823] - wifi: ath12k: Add missing unwind goto in ath12k_pci_probe() (Íñigo Huguet) [2196823] - net: Use of_property_present() for testing DT property presence (Íñigo Huguet) [2196823] - wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() (Íñigo Huguet) [2196823] {CVE-2023-1380} - wifi: rtw88: fix memory leak in rtw_usb_probe() (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add v5 firmware cycle status report (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add v2 Bluetooth scan info (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Fix wrong structure assignment at null data report (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add register monitor report v2 format (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add traffic TX/RX info and its H2C (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add WiFi role info v2 (Íñigo Huguet) [2196823] - wifi: rtw89: coex: Add more error_map and counter to log (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: use module_usb_driver (Íñigo Huguet) [2196823] - wifi: rtw89: release RX standby timer of beamformee CSI to save power (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: mark Edimax EW-7811Un V2 as tested (Íñigo Huguet) [2196823] - wifi: brcmfmac: Use ISO3166 country code and rev 0 as fallback on 4356 (Íñigo Huguet) [2196823] - wifi: move raycs, wl3501 and rndis_wlan to legacy directory (Íñigo Huguet) [2196823] - wifi: move mac80211_hwsim and virt_wifi to virtual directory (Íñigo Huguet) [2196823] - wifi: ath11k: add debug prints in regulatory WMI event processing (Íñigo Huguet) [2196823] - wifi: ath11k: add support to parse new WMI event for 6 GHz (Íñigo Huguet) [2196823] - wifi: ath11k: use proper regulatory reference for bands (Íñigo Huguet) [2196823] - bus: mhi: host: pci_generic: Revert "Add a secondary AT port to Telit FN990" (Íñigo Huguet) [2196823] - bus: mhi: host: pci_generic: Drop redundant pci_enable_pcie_error_reporting() (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: fix EOF bit reporting (Íñigo Huguet) [2196823] - wifi: iwlwifi: Do not include radiotap EHT user info if not needed (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add EHT RU allocation to radiotap (Íñigo Huguet) [2196823] - wifi: iwlwifi: Update logs for yoyo reset sw changes (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: clean up duplicated defines (Íñigo Huguet) [2196823] - wifi: iwlwifi: rs-fw: break out for unsupported bandwidth (Íñigo Huguet) [2196823] - wifi: iwlwifi: Add support for B step of BnJ-Fm4 (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: make flush code a bit clearer (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: avoid UB shift of snif_queue (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add primary 80 known for EHT radiotap (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: parse FW frame metadata for EHT sniffer mode (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: decode USIG_B1_B7 RU to nl80211 RU width (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: rename define to generic name (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: allow Microsoft to use TAS (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add all EHT based on data0 info from HW (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add EHT radiotap info based on rate_n_flags (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add an helper function radiotap TLVs (Íñigo Huguet) [2196823] - wifi: radiotap: separate vendor TLV into header/content (Íñigo Huguet) [2196823] - bus: mhi: ep: Demote unsupported channel error log to debug (Íñigo Huguet) [2196823] - bus: mhi: host: Remove mhi_poll() API (Íñigo Huguet) [2196823] - wifi: iwlwifi: reduce verbosity of some logging events (Íñigo Huguet) [2196823] - wifi: iwlwifi: Adding the code to get RF name for MsP device (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: mark mac header with no data frames (Íñigo Huguet) [2196823] - wifi: iwlwifi: mvm: add LSIG info to radio tap info in EHT (Íñigo Huguet) [2196823] - wifi: nl80211: Add support for randomizing TA of auth and deauth frames (Íñigo Huguet) [2196823] - wifi: mac80211: add LDPC related flags in ieee80211_bss_conf (Íñigo Huguet) [2196823] - wifi: mac80211: add EHT MU-MIMO related flags in ieee80211_bss_conf (Íñigo Huguet) [2196823] - wifi: mac80211: introduce ieee80211_refresh_tx_agg_session_timer() (Íñigo Huguet) [2196823] - wifi: mac80211: add support for driver adding radiotap TLVs (Íñigo Huguet) [2196823] - wifi: radiotap: Add EHT radiotap definitions (Íñigo Huguet) [2196823] - wifi: mac80211: fix ieee80211_link_set_associated() type (Íñigo Huguet) [2196823] - wifi: mac80211: simplify reasoning about EHT capa handling (Íñigo Huguet) [2196823] - wifi: mac80211: mlme: remove pointless sta check (Íñigo Huguet) [2196823] - wifi: mac80211_hwsim: Indicate support for NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT (Íñigo Huguet) [2196823] - wifi: mac80211: add netdev per-link debugfs data and driver hook (Íñigo Huguet) [2196823] - wifi: mac80211: remove SMPS from AP debugfs (Íñigo Huguet) [2196823] - wifi: mac80211: add pointer from bss_conf to vif (Íñigo Huguet) [2196823] - wifi: mac80211: warn only once on AP probe (Íñigo Huguet) [2196823] - wifi: cfg80211/mac80211: report link ID on control port RX (Íñigo Huguet) [2196823] - wifi: mac80211: add support for set_hw_timestamp command (Íñigo Huguet) [2196823] - wifi: nl80211: add a command to enable/disable HW timestamping (Íñigo Huguet) [2196823] - wifi: wireless: cleanup unused function parameters (Íñigo Huguet) [2196823] - wifi: wireless: correct primary channel validation on 6 GHz (Íñigo Huguet) [2196823] - wifi: wireless: return primary channel regardless of DUP (Íñigo Huguet) [2196823] - wifi: mac80211: allow beacon protection HW offload (Íñigo Huguet) [2196823] - wifi: mac80211: check key taint for beacon protection (Íñigo Huguet) [2196823] - wifi: mac80211: clear all bits that relate rtap fields on skb (Íñigo Huguet) [2196823] - wifi: mac80211: adjust scan cancel comment/check (Íñigo Huguet) [2196823] - wifi: nl80211: Update the documentation of NL80211_SCAN_FLAG_COLOCATED_6GHZ (Íñigo Huguet) [2196823] - gpiolib: split linux/gpio/driver.h out of linux/gpio.h (Íñigo Huguet) [2196823] - wifi: rtlwifi: rtl8192se: Remove some unused variables (Íñigo Huguet) [2196823] - wifi: rtw88: mac: Return the original error from rtw_mac_power_switch() (Íñigo Huguet) [2196823] - wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser() (Íñigo Huguet) [2196823] - wifi: brcmfmac: pcie: Add 4359C0 firmware definition (Íñigo Huguet) [2196823] - wifi: rtw89: fix SER L1 might stop entering LPS issue (Íñigo Huguet) [2196823] - wifi: ath11k: Add tx ack signal support for management packets (Íñigo Huguet) [2196823] - wifi: brcmfmac: pcie: Add BCM4378B3 support (Íñigo Huguet) [2196823] - wifi: brcmfmac: common: Add support for external calibration blobs (Íñigo Huguet) [2196823] - wifi: brcmfmac: pcie: Load and provide TxCap blobs (Íñigo Huguet) [2196823] - wifi: brcmfmac: common: Add support for downloading TxCap blobs (Íñigo Huguet) [2196823] - wifi: brcmfmac: pcie: Add IDs/properties for BCM4387 (Íñigo Huguet) [2196823] - wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex (Íñigo Huguet) [2196823] - wifi: brcmfmac: cfg80211: Add support for PMKID_V3 operations (Íñigo Huguet) [2196823] - wifi: brcmfmac: feature: Add support for setting feats based on WLC version (Íñigo Huguet) [2196823] - wifi: brcmfmac: cfg80211: Add support for scan params v2 (Íñigo Huguet) [2196823] - wifi: brcmfmac: chip: Handle 1024-unit sizes for TCM blocks (Íñigo Huguet) [2196823] - wifi: brcmfmac: chip: Only disable D11 cores; handle an arbitrary number (Íñigo Huguet) [2196823] - wifi: ath11k: generate rx and tx mcs maps for supported HE mcs (Íñigo Huguet) [2196823] - wifi: ath11k: move HE MCS mapper to a separate function (Íñigo Huguet) [2196823] - wifi: ath11k: push MU-MIMO params from hostapd to hardware (Íñigo Huguet) [2196823] - wifi: ath11k: modify accessor macros to match index size (Íñigo Huguet) [2196823] - wifi: ath6kl: reduce WARN to dev_dbg() in callback (Íñigo Huguet) [2196823] - wifi: brcmfmac: support CQM RSSI notification with older firmware (Íñigo Huguet) [2196823] - wifi: brcmfmac: pcie: Provide a buffer of random bytes to the device (Íñigo Huguet) [2196823] - wifi: brcmfmac: acpi: Add support for fetching Apple ACPI properties (Íñigo Huguet) [2196823] - wifi: ath12k: remove memset with byte count of 278528 (Íñigo Huguet) [2196823] - wifi: wcn36xx: Slightly optimize PREPARE_HAL_BUF() (Íñigo Huguet) [2196823] - wifi: rtw89: refine FW feature judgement on packet drop (Íñigo Huguet) [2196823] - wifi: rtw89: 8852b: enable hw_scan support (Íñigo Huguet) [2196823] - wifi: rtw89: 8852b: add channel encoding for hw_scan (Íñigo Huguet) [2196823] - wifi: rtw89: adjust channel encoding to common function (Íñigo Huguet) [2196823] - wifi: rtw89: fw: configure CRASH_TRIGGER feature for 8852B (Íñigo Huguet) [2196823] - wifi: rtw89: add tx_wake notify for 8852B (Íñigo Huguet) [2196823] - wifi: rtw88: rtw8822c: Implement RTL8822CS (SDIO) efuse parsing (Íñigo Huguet) [2196823] - wifi: rtw88: rtw8822b: Implement RTL8822BS (SDIO) efuse parsing (Íñigo Huguet) [2196823] - wifi: rtw88: rtw8821c: Implement RTL8821CS (SDIO) efuse parsing (Íñigo Huguet) [2196823] - wifi: rtw88: mac: Add SDIO HCI support in the TX/page table setup (Íñigo Huguet) [2196823] - wifi: rtw88: mac: Add support for the SDIO HCI in rtw_pwr_seq_parser() (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: Remove always true condition in rtl8xxxu_print_chipinfo (Íñigo Huguet) [2196823] - wifi: rtw89: add RNR support for 6 GHz scan (Íñigo Huguet) [2196823] - wifi: rtlwifi: rtl8192de: Remove the unused variable bcnfunc_enable (Íñigo Huguet) [2196823] - wifi: rtl8xxxu: 8188e: parse single one element of RA report for station mode (Íñigo Huguet) [2196823] - wifi: rtlwifi: rtl8192ce: fix dealing empty EEPROM values (Íñigo Huguet) [2196823] - wifi: ath11k: fix SAC bug on peer addition with sta band migration (Íñigo Huguet) [2196823] - wifi: ath10k: Remove redundant assignment to changed_flags (Íñigo Huguet) [2196823] - wifi: ath10k: snoc: enable threaded napi on WCN3990 (Íñigo Huguet) [2196823] - wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list() (Íñigo Huguet) [2196823] - wifi: ath5k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2196823] - wifi: ath11k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2196823] - wifi: ath12k: PCI ops for wakeup/release MHI (Íñigo Huguet) [2196823] - wifi: ath12k: Handle lock during peer_id find (Íñigo Huguet) [2196823] - wifi: ath9k: hif_usb: fix memory leak of remain_skbs (Íñigo Huguet) [2196823] - wifi: ath11k: fix return value check in ath11k_ahb_probe() (Íñigo Huguet) [2196823] - wifi: ath12k: use kfree_skb() instead of kfree() (Íñigo Huguet) [2196823] - wifi: ath: Silence memcpy run-time false positive warning (Íñigo Huguet) [2196823] - wifi: ath10k: Remove the unused function shadow_dst_wr_ind_addr() and ath10k_ce_error_intr_enable() (Íñigo Huguet) [2196823] - wifi: ath12k: dp_mon: clean up some inconsistent indentings (Íñigo Huguet) [2196823] - wifi: ath12k: dp_mon: Fix unsigned comparison with less than zero (Íñigo Huguet) [2196823] - wifi: ath12k: Fix spelling mistakes in warning messages and comments (Íñigo Huguet) [2196823] - wifi: ath6kl: minor fix for allocation size (Íñigo Huguet) [2196823] - wifi: ath11k: Set ext passive scan flag to adjust passive scan start time (Íñigo Huguet) [2196823]- [rt] build kernel-rt-4.18.0-511.rt7.300.el8 [2180997] - xfrm: add NULL check in xfrm_update_ae_params (Daniel Mendes) [2224007] {CVE-2023-3772} - scsi: storvsc: Fix handling of virtual Fibre Channel timeouts (Cathy Avery) [1986067] - netfilter: xt_owner: Add supplementary groups option (Phil Sutter) [2136194] - netfilter: nf_tables: can't schedule in nft_chain_validate (Florian Westphal) [2230460] - drm/nouveau/nvkm/dp: Add workaround to fix DP 1.3+ DPCD issues (Karol Herbst) [2229989] - net: deprecate PF_KEY (Sabrina Dubroca) [RHEL-1257] - KVM: SEV: remove ghcb variable declarations (Vitaly Kuznetsov) [2213807] - KVM: SEV: only access GHCB fields once (Vitaly Kuznetsov) [2213805] {CVE-2023-4155} - KVM: SEV: snapshot the GHCB before accessing it (Vitaly Kuznetsov) [2213805] {CVE-2023-4155} - Documentation/x86: Fix backwards on/off logic about YMM support (Waiman Long) [2229889] {CVE-2022-40982} - KVM: Add GDS_NO support to KVM (Waiman Long) [2229889] {CVE-2022-40982} - x86/speculation: Add Kconfig option for GDS (Waiman Long) [2229889] {CVE-2022-40982} - x86/speculation: Add force option to GDS mitigation (Waiman Long) [2229889] {CVE-2022-40982} - x86/speculation: Add Gather Data Sampling mitigation (Waiman Long) [2229889] {CVE-2022-40982} - x86/bugs: Use sysfs_emit() (Waiman Long) [2229884] - Documentation/ABI: Mention retbleed vulnerability info file for sysfs (Waiman Long) [2229884] - docs/kernel-parameters: Update descriptions for "mitigations=" param with retbleed (Waiman Long) [2229884] - arm64: correct the effect of mitigations off on kpti (Waiman Long) [2229884] - x86/speculation: Add missing srbds=off to the mitigations= help text (Waiman Long) [2229884] - usb: typec: ucsi: Mark dGPUs as DEVICE scope (Desnes Nunes) [2222463] - i2c: nvidia-gpu: Remove ccgx,firmware-build property (Desnes Nunes) [2222463] - usb: typec: ucsi_ccg: Add OF support (Desnes Nunes) [2222463] - usb: typec: ucsi/ucsi_ccg: Convert to i2c's .probe_new() (Desnes Nunes) [2222463] - i2c: nvidia-gpu: Add ACPI property to align with device-tree (Desnes Nunes) [2222463] - dt-bindings: usb: Add Cypress cypd4226 Type-C controller (Desnes Nunes) [2222463] - i2c: designware-pci: Switch to use i2c_new_ccgx_ucsi() (Desnes Nunes) [2222463] - i2c: nvidia-gpu: Convert to use dev_err_probe() (Desnes Nunes) [2222463] - i2c: nvidia-gpu: Use temporary variable for struct device (Desnes Nunes) [2222463] - i2c: nvidia-gpu: Switch to use i2c_new_ccgx_ucsi() (Desnes Nunes) [2222463] - i2c: Remove support for dangling device properties (Desnes Nunes) [2222463] - i2c: nvidia-gpu: Constify the software node (Desnes Nunes) [2222463] - i2c: nvidia-gpu: Use PTR_ERR_OR_ZERO() to simplify code (Desnes Nunes) [2222463] - i2c: nvidia-gpu: convert to use i2c_new_client_device() (Desnes Nunes) [2222463] - i2c: Add support for software nodes (Desnes Nunes) [2222463] - i2c: Introduce common module to instantiate CCGx UCSI (Desnes Nunes) [2222463] - power: supply: Fix logic checking if system is running from battery (Desnes Nunes) [2222463] - redhat: support virtio-mem on x86-64 as tech-preview (David Hildenbrand) [2229123] - virtio/virtio_mem: handle a possible NULL as a memcpy parameter (David Hildenbrand) [2229123] - virtio-mem: support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE (David Hildenbrand) [2229123] - virtio-mem: disallow mapping virtio-mem memory via /dev/mem (David Hildenbrand) [2229123] - kernel/resource: disallow access to exclusive system RAM regions (David Hildenbrand) [2229123] - kernel/resource: clean up and optimize iomem_is_exclusive() (David Hildenbrand) [2229123] - virtio-mem: kdump mode to sanitize /proc/vmcore access (David Hildenbrand) [2229123] - virtio-mem: factor out hotplug specifics from virtio_mem_remove() into virtio_mem_deinit_hotplug() (David Hildenbrand) [2229123] - virtio-mem: factor out hotplug specifics from virtio_mem_probe() into virtio_mem_init_hotplug() (David Hildenbrand) [2229123] - virtio-mem: factor out hotplug specifics from virtio_mem_init() into virtio_mem_init_hotplug() (David Hildenbrand) [2229123] - proc/vmcore: fix possible deadlock on concurrent mmap and read (David Hildenbrand) [2229123] - proc/vmcore: don't fake reading zeroes on surprise vmcore_cb unregistration (David Hildenbrand) [2229123] - proc/vmcore: fix clearing user buffer by properly using clear_user() (David Hildenbrand) [2229123] - proc/vmcore: convert oldmem_pfn_is_ram callback to more generic vmcore callbacks (David Hildenbrand) [2229123] - proc/vmcore: let pfn_is_ram() return a bool (David Hildenbrand) [2229123] - x86/xen: print a warning when HVMOP_get_mem_type fails (David Hildenbrand) [2229123] - x86/xen: simplify xen_oldmem_pfn_is_ram() (David Hildenbrand) [2229123] - x86/xen: update xen_oldmem_pfn_is_ram() documentation (David Hildenbrand) [2229123] - virtio-mem: fix sleeping in RCU read side section in virtio_mem_online_page_cb() (David Hildenbrand) [2229123] - virtio-mem: prioritize unplug from ZONE_MOVABLE in Big Block Mode (David Hildenbrand) [2229123] - virtio-mem: simplify high-level unplug handling in Big Block Mode (David Hildenbrand) [2229123] - virtio-mem: prioritize unplug from ZONE_MOVABLE in Sub Block Mode (David Hildenbrand) [2229123] - virtio-mem: simplify high-level unplug handling in Sub Block Mode (David Hildenbrand) [2229123] - virtio-mem: simplify high-level plug handling in Sub Block Mode (David Hildenbrand) [2229123] - virtio-mem: use page_zonenum() in virtio_mem_fake_offline() (David Hildenbrand) [2229123] - virtio-mem: don't read big block size in Sub Block Mode (David Hildenbrand) [2229123] - fs/proc/kcore: use page_offline_(freeze|thaw) (David Hildenbrand) [2229123] - virtio-mem: use page_offline_(start|end) when setting PageOffline() (David Hildenbrand) [2229123] - mm: introduce page_offline_(begin|end|freeze|thaw) to synchronize setting PageOffline() (David Hildenbrand) [2229123] - fs/proc/kcore: don't read offline sections, logically offline pages and hwpoisoned pages (David Hildenbrand) [2229123] - fs/proc/kcore: pfn_is_ram check only applies to KCORE_RAM (David Hildenbrand) [2229123] - fs/proc/kcore: drop KCORE_REMAP and KCORE_OTHER (David Hildenbrand) [2229123] - proc/kcore: Remove unused kclist_add_remap() (David Hildenbrand) [2229123] - x86/gart: Exclude GART aperture from kcore (David Hildenbrand) [2229123] - kernel/resource: remove first_lvl / siblings_only logic (David Hildenbrand) [2229123] - kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources (David Hildenbrand) [2229123] - kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources (David Hildenbrand) [2229123] - kernel/resource.c: fix kernel-doc markups (David Hildenbrand) [2229123] - resource: avoid unnecessary lookups in find_next_iomem_res() (David Hildenbrand) [2229123] - resource: fix locking in find_next_iomem_res() (David Hildenbrand) [2229123] - virtio-mem: check against mhp_get_pluggable_range() which memory we can hotplug (David Hildenbrand) [2229123] - virtio-mem: Assign boolean values to a bool variable (David Hildenbrand) [2229123] - mm/memory_hotplug: MEMHP_MERGE_RESOURCE -> MHP_MERGE_RESOURCE (David Hildenbrand) [2229123] - virtio-mem: Big Block Mode (BBM) - safe memory hotunplug (David Hildenbrand) [2229123] - virtio-mem: Big Block Mode (BBM) - basic memory hotunplug (David Hildenbrand) [2229123] - mm/memory_hotplug: extend offline_and_remove_memory() to handle more than one memory block (David Hildenbrand) [2229123] - virtio-mem: allow to force Big Block Mode (BBM) and set the big block size (David Hildenbrand) [2229123] - virtio-mem: Big Block Mode (BBM) memory hotplug (David Hildenbrand) [2229123] - virtio-mem: factor out adding/removing memory from Linux (David Hildenbrand) [2229123] - virtio-mem: memory notifier callbacks are specific to Sub Block Mode (SBM) (David Hildenbrand) [2229123] - virito-mem: existing (un)plug functions are specific to Sub Block Mode (SBM) (David Hildenbrand) [2229123] - virtio-mem: memory block ids are specific to Sub Block Mode (SBM) (David Hildenbrand) [2229123] - virtio-mem: nb_sb_per_mb and subblock_size are specific to Sub Block Mode (SBM) (David Hildenbrand) [2229123] - virito-mem: subblock states are specific to Sub Block Mode (SBM) (David Hildenbrand) [2229123] - virtio-mem: memory block states are specific to Sub Block Mode (SBM) (David Hildenbrand) [2229123] - virito-mem: document Sub Block Mode (SBM) (David Hildenbrand) [2229123] - virtio-mem: generalize handling when memory is getting onlined deferred (David Hildenbrand) [2229123] - virtio-mem: don't always trigger the workqueue when offlining memory (David Hildenbrand) [2229123] - virtio-mem: drop last_mb_id (David Hildenbrand) [2229123] - virtio-mem: generalize virtio_mem_overlaps_range() (David Hildenbrand) [2229123] - virtio-mem: generalize virtio_mem_owned_mb() (David Hildenbrand) [2229123] - virtio-mem: generalize check for added memory (David Hildenbrand) [2229123] - virtio-mem: retry fake-offlining via alloc_contig_range() on ZONE_MOVABLE (David Hildenbrand) [2229123] - virtio-mem: factor out handling of fake-offline pages in memory notifier (David Hildenbrand) [2229123] - virtio-mem: factor out fake-offlining into virtio_mem_fake_offline() (David Hildenbrand) [2229123] - virtio-mem: print debug messages from virtio_mem_send_*_request() (David Hildenbrand) [2229123] - virtio-mem: factor out calculation of the bit number within the subblock bitmap (David Hildenbrand) [2229123] - virtio-mem: use "unsigned long" for nr_pages when fake onlining/offlining (David Hildenbrand) [2229123] - virtio-mem: drop rc2 in virtio_mem_mb_plug_and_add() (David Hildenbrand) [2229123] - virtio-mem: simplify MAX_ORDER - 1 / pageblock_order handling (David Hildenbrand) [2229123] - virtio-mem: more precise calculation in virtio_mem_mb_state_prepare_next_mb() (David Hildenbrand) [2229123] - virtio-mem: determine nid only once using memory_add_physaddr_to_nid() (David Hildenbrand) [2229123] - MAINTAINERS: add URL for virtio-mem (David Hildenbrand) [2229123] - virtio-mem: Constify mem_id_table (David Hildenbrand) [2229123] - kernel/resource: make iomem_resource implicit in release_mem_region_adjustable() (David Hildenbrand) [2229123] - virtio-mem: try to merge system ram resources (David Hildenbrand) [2229123] - mm/memory_hotplug: MEMHP_MERGE_RESOURCE to specify merging of System RAM resources (David Hildenbrand) [2229123] - mm/memory_hotplug: prepare passing flags to add_memory() and friends (David Hildenbrand) [2229123] - mm/memory_hotplug: guard more declarations by CONFIG_MEMORY_HOTPLUG (David Hildenbrand) [2229123] - include/linux/memory_hotplug.h: move definitions of {set,clear}_zone_contiguous (David Hildenbrand) [2229123] - kernel/resource: make release_mem_region_adjustable() never fail (David Hildenbrand) [2229123] - virtio-mem: don't special-case ZONE_MOVABLE (David Hildenbrand) [2229123] - virtio_mem: convert to LE accessors (David Hildenbrand) [2229123] - virtio_mem: correct tags for config space fields (David Hildenbrand) [2229123] - virtio-mem: Fix build error due to improper use 'select' (David Hildenbrand) [2229123] - virtio-mem: add memory via add_memory_driver_managed() (David Hildenbrand) [2229123] - virtio-mem: silence a static checker warning (David Hildenbrand) [2229123] - virtio_mem: convert device block size into 64bit (David Hildenbrand) [2229123] - virtio-mem: drop unnecessary initialization (David Hildenbrand) [2229123] - virtio-mem: Don't rely on implicit compiler padding for requests (David Hildenbrand) [2229123] - virtio-mem: Try to unplug the complete online memory block first (David Hildenbrand) [2229123] - virtio-mem: Use -ETXTBSY as error code if the device is busy (David Hildenbrand) [2229123] - virtio-mem: Unplug subblocks right-to-left (David Hildenbrand) [2229123] - virtio-mem: Drop manual check for already present memory (David Hildenbrand) [2229123] - virtio-mem: Add parent resource for all added "System RAM" (David Hildenbrand) [2229123] - virtio-mem: Better retry handling (David Hildenbrand) [2229123] - virtio-mem: Offline and remove completely unplugged memory blocks (David Hildenbrand) [2229123] - mm/memory_hotplug: Introduce offline_and_remove_memory() (David Hildenbrand) [2229123] - virtio-mem: Allow to offline partially unplugged memory blocks (David Hildenbrand) [2229123] - virtio-mem: Paravirtualized memory hotunplug part 2 (David Hildenbrand) [2229123] - virtio-mem: Paravirtualized memory hotunplug part 1 (David Hildenbrand) [2229123] - virtio-mem: Allow to specify an ACPI PXM as nid (David Hildenbrand) [2229123] - MAINTAINERS: Add myself as virtio-mem maintainer (David Hildenbrand) [2229123] - virtio-mem: Paravirtualized memory hotplug (David Hildenbrand) [2229123] - Revert "drm/amd/display: edp do not add non-edid timings" (Jocelyn Falempe) [RHEL-845] - Revert "drm/amd/display: reallocate DET for dual displays with high pixel rate ratio" (Jocelyn Falempe) [RHEL-845] - drm/client: Fix memory leak in drm_client_modeset_probe (Jocelyn Falempe) [RHEL-845] - drm/client: Fix memory leak in drm_client_target_cloned (Jocelyn Falempe) [RHEL-845] - drm/atomic: Fix potential use-after-free in nonblocking commits (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: conditionally disable pcie lane/speed switching for SMU13 (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: share the code around SMU13 pcie parameters update (Jocelyn Falempe) [RHEL-845] - drm/ttm: Don't leak a resource on swapout move error (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: avoid restore process run into dead loop. (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Correct `DMUB_FW_VERSION` macro (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Fix 128b132b link loss handling (Jocelyn Falempe) [RHEL-845] - drm/amd/display: add a NULL pointer check (Jocelyn Falempe) [RHEL-845] - drm/amd: Disable PSR-SU on Parade 0803 TCON (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: fix clearing mappings for BOs that are always valid in VM (Jocelyn Falempe) [RHEL-845] - drm/amd/display: disable seamless boot if force_odm_combine is enabled (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Remove Phantom Pipe Check When Calculating K1 and K2 (Jocelyn Falempe) [RHEL-845] - drm/amd/display: fix seamless odm transitions (Jocelyn Falempe) [RHEL-845] - drm/dp_mst: Clear MSG_RDY flag before sending new message (Jocelyn Falempe) [RHEL-845] - drm/atomic: Allow vblank-enabled + self-refresh "disable" (Jocelyn Falempe) [RHEL-845] - drm/amd/display: perform a bounds check before filling dirty rectangles (Jocelyn Falempe) [RHEL-845] - drm/nouveau: bring back blit subchannel for pre nv50 GPUs (Jocelyn Falempe) [RHEL-845] - drm/nouveau/disp/g94: enable HDMI (Jocelyn Falempe) [RHEL-845] - drm/nouveau/disp: fix HDMI on gt215+ (Jocelyn Falempe) [RHEL-845] - drm/i915: Fix one wrong caching mode enum usage (Jocelyn Falempe) [RHEL-845] - drm/i915: Don't preserve dpll_hw_state for slave crtc in Bigjoiner (Jocelyn Falempe) [RHEL-845] - drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags (Jocelyn Falempe) [RHEL-845] - drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime (Jocelyn Falempe) [RHEL-845] - drm/panel: simple: Add connector_type for innolux_at043tn24 (Jocelyn Falempe) [RHEL-845] - drm/nouveau/acr: Abort loading ACR if no firmware was found (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: add RAS POISON interrupt funcs for jpeg_v4_0 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: add RAS POISON interrupt funcs for jpeg_v2_6 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: separate ras irq from jpeg instance irq for UVD_POISON (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Move jpeg ras block init to ras sw_init (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: add RAS POISON interrupt funcs for vcn_v4_0 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: add RAS POISON interrupt funcs for vcn_v2_6 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: separate ras irq from vcn instance irq for UVD_POISON (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Move vcn ras block init to ras sw_init (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Fix usage of UMC fill record in RAS (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Fix memcpy() in sienna_cichlid_append_powerplay_table function. (Jocelyn Falempe) [RHEL-845] - amdgpu: validate offset_in_bo of drm_amdgpu_gem_va (Jocelyn Falempe) [RHEL-845] - drm/radeon: fix possible division-by-zero errors (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode (Jocelyn Falempe) [RHEL-845] - drm/amdkfd: Fix potential deallocation of previously deallocated memory. (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Fix a test dml32_rq_dlg_get_rq_reg() (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Fix a test CalculatePrefetchSchedule() (Jocelyn Falempe) [RHEL-845] - drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H (Jocelyn Falempe) [RHEL-845] - drm/bridge: ti-sn65dsi83: Fix enable/disable flow to meet spec (Jocelyn Falempe) [RHEL-845] - drm/bridge: anx7625: Prevent endless probe loop (Jocelyn Falempe) [RHEL-845] - drm/nouveau: dispnv50: fix missing-prototypes warning (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358767: Switch to devm MIPI-DSI helpers (Jocelyn Falempe) [RHEL-845] - drm/vkms: Fix RGB565 pixel conversion (Jocelyn Falempe) [RHEL-845] - drm: Add fixed-point helper to get rounded integer values (Jocelyn Falempe) [RHEL-845] - drm/vkms: isolate pixel conversion functionality (Jocelyn Falempe) [RHEL-845] - drm/panel: sharp-ls043t1le01: adjust mode settings (Jocelyn Falempe) [RHEL-845] - drm/vram-helper: fix function names in vram helper doc (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: fix THS_TRAILCNT computation (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: fix TXTAGOCNT computation (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: fix THS_ZEROCNT computation (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: fix TCLK_TRAILCNT computation (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: fix TCLK_ZEROCNT computation (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: fix PLL target frequency (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: fix PLL parameters computation (Jocelyn Falempe) [RHEL-845] - drm/bridge: tc358768: always enable HS video mode (Jocelyn Falempe) [RHEL-845] - drm/bridge: ti-sn65dsi83: Fix enable error path (Jocelyn Falempe) [RHEL-845] - drm/bridge: it6505: Move a variable assignment behind a null pointer check in receive_timing_debugfs_show() (Jocelyn Falempe) [RHEL-845] - drm/i915/guc/slpc: Provide sysfs for efficient freq (Jocelyn Falempe) [RHEL-845] - drm/i915/guc: More debug print updates - GuC SLPC (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Explicitly specify update type per plane info change (Jocelyn Falempe) [RHEL-845] - radeon: avoid double free in ci_dpm_init() (Jocelyn Falempe) [RHEL-845] - drm/amd/display: fix is_timing_changed() prototype (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Add logging for display MALL refresh setting (Jocelyn Falempe) [RHEL-845] - drm: use mgr->dev in drm_dbg_kms in drm_dp_add_payload_part2 (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Ensure vmin and vmax adjust for DCE (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Validate VM ioctl flags. (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Do not update DRR while BW optimizations pending (Jocelyn Falempe) [RHEL-845] - drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl (Jocelyn Falempe) [RHEL-845] - udmabuf: revert 'Add support for mapping hugepages (v4)' (Jocelyn Falempe) [RHEL-845] - drm/amd/display: fix the system hang while disable PSR (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Add wrapper to call planes and stream update (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Use dc_update_planes_and_stream (Jocelyn Falempe) [RHEL-845] - drm/nouveau: add nv_encoder pointer check for NULL (Jocelyn Falempe) [RHEL-845] - drm/nouveau/dp: check for NULL nv_connector->native_mode (Jocelyn Falempe) [RHEL-845] - drm/bridge: ti-sn65dsi86: Avoid possible buffer overflow (Jocelyn Falempe) [RHEL-845] - drm/nouveau: don't detect DSM for non-NVIDIA device (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Modify indirect buffer packages for resubmission (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Implement gfx9 patch functions for resubmission (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Program gds backup address as zero if no gds allocated (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Reset CP_VMID_PREEMPT after trailing fence signaled (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: add missing radeon secondary PCI ID (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: workaround for compute workload type on some skus (Jocelyn Falempe) [RHEL-845] - drm/amd: Tighten permissions on VBIOS flashing attributes (Jocelyn Falempe) [RHEL-845] - drm/amd: Make sure image is written to trigger VBIOS image update flow (Jocelyn Falempe) [RHEL-845] - drm/amd/display: edp do not add non-edid timings (Jocelyn Falempe) [RHEL-845] - drm/amd/display: limit DPIA link rate to HBR3 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: vcn_4_0 set instance 0 init sched score to 1 (Jocelyn Falempe) [RHEL-845] - Revert "drm/amdgpu: remove TOPDOWN flags when allocating VRAM in large bar system" (Jocelyn Falempe) [RHEL-845] - drm:amd:amdgpu: Fix missing buffer object unlock in failure path (Jocelyn Falempe) [RHEL-845] - drm: panel-orientation-quirks: Change Air's quirk to support Air Plus (Jocelyn Falempe) [RHEL-845] - drm/amd/display: add ODM case when looking for first split pipe (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Reduce sdp bw after urgent to 90% (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: Fix power context allocation in SMU13 (Jocelyn Falempe) [RHEL-845] - drm/amd: Disallow s0ix without BIOS support again (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: change reserved vram info print (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: fix xclk freq on CHIP_STONEY (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: conditionally disable pcie lane switching for some sienna_cichlid SKUs (Jocelyn Falempe) [RHEL-845] - drm/i915/gt: Use the correct error value when kernel_context() fails (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram (Jocelyn Falempe) [RHEL-845] - drm/i915/selftests: Add some missing error propagation (Jocelyn Falempe) [RHEL-845] - drm/i915: Use 18 fast wake AUX sync len (Jocelyn Falempe) [RHEL-845] - drm/i915: Explain the magic numbers for AUX SYNC/precharge length (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: reverse mclk and fclk clocks levels for renoir (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: reverse mclk and fclk clocks levels for yellow carp (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: reverse mclk clocks levels for SMU v13.0.5 (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: resolve reboot exception for si oland (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: reverse mclk and fclk clocks levels for vangogh (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: reverse mclk and fclk clocks levels for SMU v13.0.4 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: enable tmz by default for GC 11.0.1 (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Only wait for blank completion if OTG active (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: set gfx9 onwards APU atomics support to be true (Jocelyn Falempe) [RHEL-845] - drm/amdgpu/nv: update VCN 3 max HEVC encoding resolution (Jocelyn Falempe) [RHEL-845] - drm/ast: Fix ARM compatibility (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Use the default reset when loading or reloading the driver (Jocelyn Falempe) [RHEL-845] - drm/amd/display: fix memleak in aconnector->timing_requested (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: release gpu full access after "amdgpu_device_ip_late_init" (Jocelyn Falempe) [RHEL-845] - drm/i915: Fix PIPEDMC disabling for a bigjoiner configuration (Jocelyn Falempe) [RHEL-845] - drm/i915: Disable DPLLs before disconnecting the TC PHY (Jocelyn Falempe) [RHEL-845] - drm/i915: Move shared DPLL disabling into CRTC disable hook (Jocelyn Falempe) [RHEL-845] - drm: fix drmm_mutex_init() (Jocelyn Falempe) [RHEL-845] - drm/amd/amdgpu: limit one queue per gang (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: Fix output of pp_od_clk_voltage (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: add missing NotifyPowerSource message mapping for SMU13.0.7 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: don't enable secure display on incompatible platforms (Jocelyn Falempe) [RHEL-845] - drm/radeon: reintroduce radeon_dp_work_func content (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Have Payload Properly Created After Resume (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: reserve the old gc_11_0_*_mes.bin (Jocelyn Falempe) [RHEL-845] - drm/amd/amdgpu: introduce gc_*_mes_2.bin v2 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu/gfx11: update gpu_clock_counter logic (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: refine get gpu clock counter method (Jocelyn Falempe) [RHEL-845] - drm/amdgpu/gfx11: Adjust gfxoff before powergating on gfx11 as well (Jocelyn Falempe) [RHEL-845] - drm/amdgpu/gfx10: Disable gfxoff before disabling powergating. (Jocelyn Falempe) [RHEL-845] - drm/amdgpu/gmc11: implement get_vbios_fb_size() (Jocelyn Falempe) [RHEL-845] - drm/amd/pm: fix possible power mode mismatch between driver and PMFW (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Enable IH retry CAM on GFX9 (Jocelyn Falempe) [RHEL-845] - drm/amdgpu: Fix sdma v4 sw fini error (Jocelyn Falempe) [RHEL-845] - drm/amd: Fix an out of bounds error in BIOS parser (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Correct DML calculation to follow HW SPEC (Jocelyn Falempe) [RHEL-845] - drm/amd/display: fixed dcn30+ underflow issue (Jocelyn Falempe) [RHEL-845] - drm/amd/display: reallocate DET for dual displays with high pixel rate ratio (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Use DC_LOG_DC in the trasform pixel function (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Enable HostVM based on rIOMMU active (Jocelyn Falempe) [RHEL-845] - drm/amd/display: enable DPG when disabling plane for phantom pipe (Jocelyn Falempe) [RHEL-845] - drm/amd/display: Correct DML calculation to align HW formula (Jocelyn Falempe) [RHEL-845] - drm/amd/display: populate subvp cmd info only for the top pipe (Jocelyn Falempe) [RHEL-845] - drm/displayid: add displayid_get_header() and check bounds better (Jocelyn Falempe) [RHEL-845] - drm/i915: taint kernel when force probing unsupported devices (Jocelyn Falempe) [RHEL-845] - drm/i915/dp: prevent potential div-by-zero (Jocelyn Falempe) [RHEL-845] - drm/i915: Fix NULL ptr deref by checking new_crtc_state (Jocelyn Falempe) [RHEL-845] - drm/i915/guc: Don't capture Gen8 regs on Xe devices (Jocelyn Falempe) [RHEL-845] - drm/sched: Check scheduler work queue before calling timeout handling (Jocelyn Falempe) [RHEL-845] - drm/mipi-dsi: Set the fwnode for mipi_dsi_device (Jocelyn Falempe) [RHEL-845] - drm/nouveau/disp: More DP_RECEIVER_CAP_SIZE array fixes (Jocelyn Falempe) [RHEL-845] - drm/dsc: fix DP_DSC_MAX_BPP_DELTA_* macro values (Jocelyn Falempe) [RHEL-845] - drm/fbdev-generic: prohibit potential out-of-bounds access (Jocelyn Falempe) [RHEL-845]- [rt] build kernel-rt-4.18.0-510.rt7.299.el8 [2180997] - locking: 8.9 KRTS JiraReadiness exercise (John B. Wyatt IV) [RHEL-982] - x86/show_trace_log_lvl: Ensure stack pointer is aligned, again (Oleg Nesterov) [2188093] - ahci: Add support for Dell S140 and later controllers (Tomas Henzl) [2222879] - s390/time: steer clocksource on STP syncs for CLOCK_MONOTONIC (Tobias Huschle) [2177649] - memstick: r592: Fix UAF bug in r592_remove due to race condition (Wander Lairson Costa) [2216152] {CVE-2023-35825} - scsi: zfcp: Defer fc_rport blocking until after ADISC response (Tobias Huschle) [2230241] - RDMA/efa: Add EFA 0xefa2 PCI ID (Izabela Bakollari) [2170086] - RDMA/efa: Support CQ receive entries with source GID (Izabela Bakollari) [2170086] - Revert "isystem: ship and use stdarg.h" (Jocelyn Falempe) [2229185] - drm/drm_print: Use system include for (Jocelyn Falempe) [2229185] - x86/mm: Do not shuffle CPU entry areas without KASLR (Rafael Aquini) [2165932] {CVE-2023-0597} - x86/mm: Randomize per-cpu entry area (Rafael Aquini) [2165932] {CVE-2023-0597} - x86/kasan: Map shadow for percpu pages on demand (Rafael Aquini) [2165932] {CVE-2023-0597} - x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise (Rafael Aquini) [2165932] {CVE-2023-0597}- [rt] build kernel-rt-4.18.0-509.rt7.298.el8 [2180997] - cifs: fix for following DFS links where sharename is the same as prepath (Ronnie Sahlberg) [2130474] - crypto: rng - Fix lock imbalance in crypto_del_rng (Herbert Xu) [2229700] - ibmvnic: Do not reset dql stats on NON_FATAL err (Mamatha Inamdar) [2227904] - mptcp: Correct the sock::sk_lock.owned lockdep annotations (Felix Maurer) [2228890] - gpio: name PCA953x gpio chips after device name (Steve Best) [2226775] - scsi: storvsc: Handle SRB status value 0x30 (Cathy Avery) [2218133] - netfilter: nft_set_pipapo: fix improper element removal (Phil Sutter) [2225276] {CVE-2023-4004} - macvlan: add forgotten nla_policy for IFLA_MACVLAN_BC_CUTOFF (Xin Long) [2226791] - tcp: Reduce chance of collisions in inet6_hashfn(). (Felix Maurer) [2176120] {CVE-2023-1206} - ipv6: fix locking issues with loops over idev->addr_list (Jiri Benc) [2123305] - relayfs: fix out-of-bounds access in relay_file_read (Bill O'Donnell) [2215511] {CVE-2023-3268} - kernel/relay.c: fix read_pos error when multiple readers (Bill O'Donnell) [2215510] - seq_buf: Make trace_seq_putmem_hex() support data longer than 8 (Ricardo Robaina) [2212207] {CVE-2023-28772} - seq_buf: Fix overflow in seq_buf_putmem_hex() (Ricardo Robaina) [2212207] {CVE-2023-28772} - tools/power/x86/intel-speed-select: Support more than 8 sockets. (Frank Ramsay) [2212508] - platform/x86: ISST: Remove 8 socket limit (Frank Ramsay) [2212508] - media: saa7134: fix use after free bug in saa7134_finidev due to race condition (Wander Lairson Costa) [2216140] {CVE-2023-35823} - Bluetooth: btmtksdio: fix possible FW initialization failure (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: fix the reset takes too long (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: mask out interrupt status (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0 (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Add two more Bluetooth parts for WCN6855 (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Add protocol for MediaTek bluetooth devices(MT7922) (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Add support for Foxconn MT7922A (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: Fix kernel oops when sdio suspend. (David Marlin) [2142489 2144730 2145097] - Enable MTK BT Support for RHEL (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Add a new PID/VID 13d3/3567 for MT7921 (David Marlin) [2142489 2144730 2145097] - Bluetooth: mt7921s: support bluetooth reset mechanism (David Marlin) [2142489 2144730 2145097] - Bluetooth: mt7921s: fix btmtksdio_[drv|fw]_pmctrl() (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: refactor btmtksdio_runtime_[suspend|resume]() (David Marlin) [2142489 2144730 2145097] - Bluetooth: mt7921s: fix bus hang with wrong privilege (David Marlin) [2142489 2144730 2145097] - Bluetooth: mt7921s: fix firmware coredump retrieve (David Marlin) [2142489 2144730 2145097] - Bluetooth: mt7921s: Enable SCO over I2S (David Marlin) [2142489 2144730 2145097] - Bluetooth: mt7921s: Support wake on bluetooth (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: rename btsdio_mtk_reg_read (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: enable AOSP extension for MT7921 (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: enable msft opcode (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: fix resume failure (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: handle runtime pm only when sdio_func is available (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: drop the unnecessary variable created (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: add support of processing firmware coredump and log (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: add MT7921s Bluetooth support (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: transmit packet according to status TX_EMPTY (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: use register CRPLR to read packet length (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: update register CSDIOCSR operation (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: move interrupt service to work (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: explicitly set WHISR as write-1-clear (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksdio: add .set_bdaddr support (David Marlin) [2142489 2144730 2145097] - Bluetooth: btmtksido: rely on BT_MTK module (David Marlin) [2142489 2144730 2145097] - Bluetooth: mediatek: add BT_MTK module (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Support public address configuration for MediaTek Chip. (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Support Bluetooth Reset for Mediatek Chip(MT7921) (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: Add support for Foxconn Mediatek Chip (David Marlin) [2142489 2144730 2145097] - Bluetooth: btusb: fix blacklist_table context (David Marlin) [2142489 2144730 2145097]- [rt] build kernel-rt-4.18.0-508.rt7.297.el8 [2180997] - HID: betop: check shape of output reports (Desnes Nunes) [2212166] {CVE-2023-1073} - media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb() (Desnes Nunes) [2153577] {CVE-2022-45887} - selinux: make labeled NFS work when mounted before policy load (Juraj Marcin) [1753646] - Revert "xfs: expose the blockgc workqueue knobs publicly" (Bill O'Donnell) [2223260] - media: dm1105: Fix use after free bug in dm1105_remove due to race condition (Dean Nelson) [2216148] {CVE-2023-35824} - media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*() (Dean Nelson) [2213141] {CVE-2023-31084} - drm/ast: report connection status on Display Port. (Jocelyn Falempe) [2189645] - drm/ast: Add BMC virtual connector (Jocelyn Falempe) [2189645] - x86/cpu/amd: Add a Zenbleed fix (Waiman Long) [2226837] {CVE-2023-20593} - x86/cpu/amd: Move the errata checking functionality up (Waiman Long) [2226837] {CVE-2023-20593} - x86/amd: Cache debug register values in percpu variables (Waiman Long) [2226837] {CVE-2023-20593} - x86/cpu: Restore AMD's DE_CFG MSR after resume (Waiman Long) [2226837] {CVE-2023-20593} - x86/sev: Change snp_guest_issue_request()'s fw_err argument (John Allen) [2216284] - virt/coco/sev-guest: Double-buffer messages (John Allen) [2216284] - virt/coco/sev-guest: Add throttling awareness (John Allen) [2216284] - virt/coco/sev-guest: Convert the sw_exit_info_2 checking to a switch-case (John Allen) [2216284] - virt/coco/sev-guest: Do some code style cleanups (John Allen) [2216284] - virt/coco/sev-guest: Carve out the request issuing logic into a helper (John Allen) [2216284] - virt/coco/sev-guest: Remove the disable_vmpck label in handle_guest_request() (John Allen) [2216284] - virt/coco/sev-guest: Simplify extended guest request handling (John Allen) [2216284] - virt/coco/sev-guest: Check SEV_SNP attribute at probe time (John Allen) [2216284] - virt/sev-guest: Return -EIO if certificate buffer is not large enough (John Allen) [2216284] - x86/sev: Mark snp_abort() noreturn (John Allen) [2216284] - s390/uv: Update query for secret-UVCs (Cédric Le Goater) [2111749] - s390/uv: replace scnprintf with sysfs_emit (Cédric Le Goater) [2111749] - s390: Add attestation query information (Cédric Le Goater) [2111749] - s390/uvdevice: Add 'Lock Secret Store' UVC (Cédric Le Goater) [2111749] - s390/uvdevice: Add 'List Secrets' UVC (Cédric Le Goater) [2111749] - s390/uvdevice: Add 'Add Secret' UVC (Cédric Le Goater) [2111749] - s390/uvdevice: Add info IOCTL (Cédric Le Goater) [2111749] - s390/uv: Always export uv_info (Cédric Le Goater) [2111749] - s390/kasan: support protvirt with 4-level paging (Cédric Le Goater) [2111749] - s390/protvirt: support ultravisor without secure storage limit (Cédric Le Goater) [2111749] - s390/protvirt: parse prot_virt option in the decompressor (Cédric Le Goater) [2111749] - s390/mm: avoid trimming to MAX_ORDER (Cédric Le Goater) [2111749] - net/mlx5e: TC, CT: Offload ct clear only once (Amir Tzin) [2159233] - net/mlx5: DR, Fix wrong action data allocation in decap action (Amir Tzin) [2159233] - net/mlx5: DR, Support SW created encap actions for FW table (Amir Tzin) [2159233] - net/mlx5e: TC, Cleanup ct resources for nic flow (Amir Tzin) [2159233] - net/mlx5e: TC, Add null pointer check for hardware miss support (Amir Tzin) [2159233] - RDMA/mlx5: Fix affinity assignment (Amir Tzin) [2159233] - RDMA/mlx5: Create an indirect flow table for steering anchor (Amir Tzin) [2159233] - RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions (Amir Tzin) [2159233] - net/mlx5: DR, Add missing mutex init/destroy in pattern manager (Amir Tzin) [2117777] - net/mlx5: Read embedded cpu after init bit cleared (Amir Tzin) [2159233] - net/mlx5e: Fix error handling in mlx5e_refresh_tirs (Amir Tzin) [2159233] - net/mlx5e: Don't attach netdev profile while handling internal error (Amir Tzin) [2159233] - net/mlx5: Fix post parse infra to only parse every action once (Amir Tzin) [2159233] - net/mlx5: fw_tracer, Fix event handling (Amir Tzin) [2159233] - net/mlx5: SF, Drain health before removing device (Amir Tzin) [2159233] - net/mlx5e: Consider internal buffers size in port buffer calculations (Amir Tzin) [2159233] - net/mlx5e: Prevent encap offload when neigh update is running (Amir Tzin) [2159233] - net/mlx5e: Extract remaining tunnel encap code to dedicated file (Amir Tzin) [2159233] - net/mlx5e: TC, Remove sample and ct limitation (Amir Tzin) [2159233] - net/mlx5e: TC, Remove mirror and ct limitation (Amir Tzin) [2159233] - net/mlx5e: TC, Remove tuple rewrite and ct limitation (Amir Tzin) [2159233] - net/mlx5e: TC, Remove multiple ct actions limitation (Amir Tzin) [2159233] - net/mlx5e: TC, Remove special handling of CT action (Amir Tzin) [2159233] - net/mlx5e: TC, Remove CT action reordering (Amir Tzin) [2159233] - net/mlx5e: CT: Use per action stats (Amir Tzin) [2159233] - net/mlx5e: TC, Move main flow attribute cleanup to helper func (Amir Tzin) [2159233] - net/mlx5e: TC, Remove unused vf_tun variable (Amir Tzin) [2159233] - net/mlx5e: Set default can_offload action (Amir Tzin) [2159233] - net/mlx5: Devcom, serialize devcom registration (Amir Tzin) [2159233] - net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device (Amir Tzin) [2159233] - net/mlx5e: Fix SQ wake logic in ptp napi_poll context (Amir Tzin) [2159233] - net/mlx5e: Fix deadlock in tc route query code (Amir Tzin) [2159233] - net/mlx5: Fix error message when failing to allocate device memory (Amir Tzin) [2159233] - net/mlx5e: Use correct encap attribute during invalidation (Amir Tzin) [2159233] - net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE (Amir Tzin) [2159233] - net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs (Amir Tzin) [2159233] - net/mlx5: Handle pairing of E-switch via uplink un/load APIs (Amir Tzin) [2159233] - net/mlx5: Collect command failures data only for known commands (Amir Tzin) [2159233] - net/mlx5e: do as little as possible in napi poll when budget is 0 (Amir Tzin) [2159233] - net/mlx5: Use recovery timeout on sync reset flow (Amir Tzin) [2159233] - net/mlx5: DR, Add memory statistics for domain object (Amir Tzin) [2117777] - net/mlx5: DR, Add more info in domain dbg dump (Amir Tzin) [2117777] - net/mlx5: DR, Calculate sync threshold of each pool according to its type (Amir Tzin) [2117777] - net/mlx5: DR, Fix dumping of legacy modify_hdr in debug dump (Amir Tzin) [2117777] - net/mlx5: DR, Enable patterns and arguments for supporting devices (Amir Tzin) [2117777] - net/mlx5: DR, Add support for the pattern/arg parameters in debug dump (Amir Tzin) [2117777] - net/mlx5: DR, Modify header action of size 1 optimization (Amir Tzin) [2117777] - net/mlx5: DR, Support decap L3 action using pattern / arg mechanism (Amir Tzin) [2117777] - net/mlx5: DR, Apply new accelerated modify action and decapl3 (Amir Tzin) [2117777] - net/mlx5: DR, Add modify header argument pointer to actions attributes (Amir Tzin) [2117777] - net/mlx5: DR, Add modify header arg pool mechanism (Amir Tzin) [2117777] - net/mlx5: DR, Fix QP continuous allocation (Amir Tzin) [2117777] - net/mlx5: DR, Read ICM memory into dedicated buffer (Amir Tzin) [2117777] - net/mlx5: DR, Add support for writing modify header argument (Amir Tzin) [2117777] - net/mlx5: DR, Add create/destroy for modify-header-argument general object (Amir Tzin) [2117777] - net/mlx5: DR, Check for modify_header_argument device capabilities (Amir Tzin) [2117777] - net/mlx5: DR, Split chunk allocation to HW-dependent ways (Amir Tzin) [2117777] - net/mlx5: DR, Add cache for modify header pattern (Amir Tzin) [2117777] - net/mlx5: DR, Move ACTION_CACHE_LINE_SIZE macro to header (Amir Tzin) [2117777] - net/mlx5: DR, Add modify-header-pattern ICM pool (Amir Tzin) [2117777] - net/mlx5: DR, Prepare sending new WQE type (Amir Tzin) [2117777] - net/mlx5: Add new WQE for updating flow table (Amir Tzin) [2117777] - net/mlx5: Add mlx5_ifc bits for modify header argument (Amir Tzin) [2117777] - net/mlx5: DR, Set counter ID on the last STE for STEv1 TX (Amir Tzin) [2117777] - net/mlx5e: TC, Remove redundant parse_attr argument (Amir Tzin) [2165908] - net/mlx5e: Use a simpler comparison for uplink rep (Amir Tzin) [2165908] - net/mlx5: Lag, Add single RDMA device in multiport mode (Amir Tzin) [2165908] - net/mlx5: Lag, set different uplink vport metadata in multiport eswitch mode (Amir Tzin) [2165908] - net/mlx5: E-Switch, rename bond update function to be reused (Amir Tzin) [2165908] - net/mlx5e: TC, Add peer flow in mpesw mode (Amir Tzin) [2165908] - net/mlx5: Lag, Control MultiPort E-Switch single FDB mode (Amir Tzin) [2165908] - net/mlx5e: Add devlink fdb_large_groups parameter (Add missing Documentation) (Amir Tzin) [2165908] - SUNRPC: Fix READ_PLUS crasher (Benjamin Coddington) [2218539] - SUNRPC: Remove pointer type casts from xdr_get_next_encode_buffer() (Benjamin Coddington) [2218539] - SUNRPC: Clean up xdr_get_next_encode_buffer() (Benjamin Coddington) [2218539] - NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION (Benjamin Coddington) [2218539] - NFSv4.2: fix wrong shrinker_id (Benjamin Coddington) [2218539] - svcrdma: Prevent page release when nothing was received (Benjamin Coddington) [2218539] - SUNRPC: Fix UAF in svc_tcp_listen_data_ready() (Benjamin Coddington) [2218539] - nfsd: fix double fget() bug in __write_ports_addfd() (Benjamin Coddington) [2218539] - SUNRPC: Fix trace_svc_register() call site (Benjamin Coddington) [2218539] - SUNRPC: remove the maximum number of retries in call_bind_status (Benjamin Coddington) [2218539] - NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease (Benjamin Coddington) [2218539] - NFSD: callback request does not use correct credential for AUTH_SYS (Benjamin Coddington) [2218539] - sunrpc: only free unix grouplist after RCU settles (Benjamin Coddington) [2218539] - nfsd: call op_release, even when op_func returns an error (Benjamin Coddington) [2218539] - NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL (Benjamin Coddington) [2218539] - SUNRPC: fix shutdown of NFS TCP client socket (Benjamin Coddington) [2218539] - NFSv4: Fix hangs when recovering open state after a server reboot (Benjamin Coddington) [2218539] - NFSD: Protect against filesystem freezing (Benjamin Coddington) [2218539] - nfsd: fix race to check ls_layouts (Benjamin Coddington) [2218539] - nfs4trace: fix state manager flag printing (Benjamin Coddington) [2218539] - SUNRPC: ensure the matching upcall is in-flight upon downcall (Benjamin Coddington) [2218539] - nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure (Benjamin Coddington) [2218539] - SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails (Benjamin Coddington) [2218539] - NFSv4.x: Fail client initialisation if state manager thread can't run (Benjamin Coddington) [2218539] - SUNRPC: Fix missing release socket in rpc_sockname() (Benjamin Coddington) [2218539] - xprtrdma: Fix regbuf data not freed in rpcrdma_req_create() (Benjamin Coddington) [2218539] - NFSD: Finish converting the NFSv3 GETACL result encoder (Benjamin Coddington) [2218539] - NFSD: Finish converting the NFSv2 GETACL result encoder (Benjamin Coddington) [2218539] - SUNRPC: Return true/false (not 1/0) from bool functions (Benjamin Coddington) [2218539] - NFS: Fix an Oops in nfs_d_automount() (Benjamin Coddington) [2218539] - NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn (Benjamin Coddington) [2218539] - NFSv4: Fix a credential leak in _nfs4_discover_trunking() (Benjamin Coddington) [2218539] - NFSv4.2: Fix initialisation of struct nfs4_label (Benjamin Coddington) [2218539] - NFSv4.2: Fix a memory stomp in decode_attr_security_label (Benjamin Coddington) [2218539] - NFSv4.2: Always decode the security label (Benjamin Coddington) [2218539] - NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding (Benjamin Coddington) [2218539] - nfs4: Fix kmemleak when allocate slot failed (Benjamin Coddington) [2218539] - NFSv4.2: Fixup CLONE dest file size for zero-length count (Benjamin Coddington) [2218539] - SUNRPC: Fix null-ptr-deref when xps sysfs alloc failed (Benjamin Coddington) [2218539] - NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot (Benjamin Coddington) [2218539] - NFSv4.1: Handle RECLAIM_COMPLETE trunking errors (Benjamin Coddington) [2218539] - NFSv4: Fix a potential state reclaim deadlock (Benjamin Coddington) [2218539] - NFSv4/pNFS: Always return layout stats on layout return for flexfiles (Benjamin Coddington) [2218539] - NFSD: Fix handling of oversized NFSv4 COMPOUND requests (Benjamin Coddington) [2218539] - nfsd: Fix a memory leak in an error handling path (Benjamin Coddington) [2218539] - Revert "SUNRPC: Remove unreachable error condition" (Benjamin Coddington) [2218539] - NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0 (Benjamin Coddington) [2218539] - SUNRPC: RPC level errors should set task->tk_rpc_status (Benjamin Coddington) [2218539] - NFS: Fix another fsync() issue after a server reboot (Benjamin Coddington) [2218539] - net/sunrpc: fix potential memory leaks in rpc_sysfs_xprt_state_change() (Benjamin Coddington) [2218539] - SUNRPC: Fix xdr_encode_bool() (Benjamin Coddington) [2218539] - SUNRPC: Reinitialise the backchannel request buffers before reuse (Benjamin Coddington) [2218539] - NFSv4.1: RECLAIM_COMPLETE must handle EACCES (Benjamin Coddington) [2218539] - sunrpc: fix expiry of auth creds (Benjamin Coddington) [2218539] - pNFS/flexfiles: Report RDMA connection errors to the server (Benjamin Coddington) [2218539] - Revert "pNFS: nfs3_set_ds_client should set NFS_CS_NOPING" (Benjamin Coddington) [2218539] - SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer() (Benjamin Coddington) [2218539] - pNFS: Avoid a live lock condition in pnfs_update_layout() (Benjamin Coddington) [2218539] - pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE (Benjamin Coddington) [2218539] - SUNRPC: Trap RDMA segment overflows (Benjamin Coddington) [2218539] - nfsd: Fix null-ptr-deref in nfsd_fill_super() (Benjamin Coddington) [2218539] - NFS: Further fixes to the writeback error handling (Benjamin Coddington) [2218539] - NFS: clean up a needless assignment in nfs_file_write() (Benjamin Coddington) [2218539] - NFS: remove redundant code in nfs_file_write() (Benjamin Coddington) [2218539] - NFS: Add support for eager writes (Benjamin Coddington) [2218539] - NFS: 'flags' field should be unsigned in struct nfs_server (Benjamin Coddington) [2218539] - NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout (Benjamin Coddington) [2218539] - NFS: Memory allocation failures are not server fatal errors (Benjamin Coddington) [2218539] - SUNRPC: Ensure that the gssproxy client can start in a connected state (Benjamin Coddington) [2218539] - Revert "SUNRPC: Ensure gss-proxy connects on setup" (Benjamin Coddington) [2218539] - SUNRPC: Ensure gss-proxy connects on setup (Benjamin Coddington) [2218539] - NFSv4: Don't invalidate inode attributes on delegation return (Benjamin Coddington) [2218539] - SUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec() (Benjamin Coddington) [2218539] - SUNRPC: Handle low memory situations in call_status() (Benjamin Coddington) [2218539] - SUNRPC: Handle ENOMEM in call_transmit_status() (Benjamin Coddington) [2218539] - SUNRPC: Fix the svc_deferred_event trace class (Benjamin Coddington) [2218539] - NFSv4: fix open failure with O_ACCMODE flag (Benjamin Coddington) [2218539] - NFSv4/pNFS: Fix another issue with a list iterator pointing to the head (Benjamin Coddington) [2218539] - NFSv4.1: Fix uninitialised variable in devicenotify (Benjamin Coddington) [2218539] - NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error (Benjamin Coddington) [2218539] - NFS: remove unneeded check in decode_devicenotify_args() (Benjamin Coddington) [2218539] - NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR (Benjamin Coddington) [2218539] - NFS: Do not report writeback errors in nfs_getattr() (Benjamin Coddington) [2218539] - NFS: Remove an incorrect revalidation in nfs4_update_changeattr_locked() (Benjamin Coddington) [2218539] - nfsd: nfsd4_setclientid_confirm mistakenly expires confirmed client. (Benjamin Coddington) [2218539] - SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points (Benjamin Coddington) [2218539] - SUNRPC: Fix sockaddr handling in the svc_xprt_create_error trace point (Benjamin Coddington) [2218539] - NFSD: Fix zero-length NFSv3 WRITEs (Benjamin Coddington) [2218539] - NFS: Ensure the server has an up to date ctime before renaming (Benjamin Coddington) [2218539] - NFS: Ensure the server has an up to date ctime before hardlinking (Benjamin Coddington) [2218539]- [rt] build kernel-rt-4.18.0-507.rt7.296.el8 [2180997] - Revert "NFSv4: Retry LOCK on OLD_STATEID during delegation return" (Benjamin Coddington) [2217658] - powerpc/pseries/vas: Hold mmap_mutex after mmap lock during window close (Mamatha Inamdar) [2224883] - KVM: x86/mmu: Fix race condition in direct_page_fault (Jon Maloy) [2179931] {CVE-2022-45869} - x86/speculation: Allow enabling STIBP with legacy IBRS (Ricardo Robaina) [2187266] {CVE-2023-1998} - ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() (Mark Langsdorf) [2215625] - locking/semaphore: Add might_sleep() to down_*() family (Mark Langsdorf) [2215625] - perf stat: Support hybrid --topdown option (Michael Petlan) [2088833] - i40e: Wait for pending VF reset in VF set callbacks (Ivan Vecera) [2203921] - i40e: Add helper for VF inited state check with timeout (Ivan Vecera) [2203921] - tracing: Have filter accept "common_cpu" to be consistent (Jerome Marchand) [2210711] - tracing/histogram: Fix sorting on old "cpu" value (Jerome Marchand) [2210711] - tracing: Dump stacktrace trigger to the corresponding instance (Jerome Marchand) [2210711] - tracing/histogram: Rename "cpu" to "common_cpu" (Jerome Marchand) [2210711] - docs: histogram.txt: convert it to ReST file format (Jerome Marchand) [2210711] - bonding: add software tx timestamping support (Hangbin Liu) [2181339] - bonding: fix missed rcu protection (Hangbin Liu) [2181339] - bonding: use rcu_dereference_rtnl when get bonding active slave (Hangbin Liu) [2181339] - Bonding: return HWTSTAMP_FLAG_BONDED_PHC_INDEX to notify user space (Hangbin Liu) [2181339] - Bonding: force user to add HWTSTAMP_FLAG_BONDED_PHC_INDEX when get/set HWTSTAMP (Hangbin Liu) [2181339] - bond: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl to active device (Hangbin Liu) [2181339] - compiler_attributes.h: Add kABI workaround (Waiman Long) [2215801] - linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP* (Waiman Long) [2215801] - compiler.h: fix barrier_data() on clang (Waiman Long) [2215801] - compiler_types.h: Add __no_sanitize_{address,undefined} to noinstr (Waiman Long) [2215801] - x86, kcsan: Add __no_kcsan to noinstr (Waiman Long) [2215801] - kcsan: Add __no_kcsan function attribute (Waiman Long) [2215801] - kcsan: Reorganize compiler.h (Waiman Long) [2215801] - include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR (Waiman Long) [2215801] - include/linux/compiler_types.h: don't pollute userspace with macro definitions (Waiman Long) [2215801] - include/linux/compiler*.h: define asm_volatile_goto (Waiman Long) [2215801] - Compiler Attributes: use feature checks instead of version checks (Waiman Long) [2215801] - Compiler Attributes: remove unneeded sparse (__CHECKER__) tests (Waiman Long) [2215801] - Compiler Attributes: homogenize __must_be_array (Waiman Long) [2215801] - Compiler Attributes: remove unneeded tests (Waiman Long) [2215801] - Compiler Attributes: always use the extra-underscores syntax (Waiman Long) [2215801] - Compiler Attributes: remove unused attributes (Waiman Long) [2215801] - Compiler Attributes: naked can be shared (Waiman Long) [2215801] - Compiler Attributes: naked was fixed in gcc 4.6 (Waiman Long) [2215801] - include/linux/compiler*.h: make compiler-*.h mutually exclusive (Waiman Long) [2215801] - Raise the minimum required gcc version to 4.6 (Waiman Long) [2215801] - deprecate the '__deprecated' attribute warnings entirely and for good (Waiman Long) [2215801]- [rt] build kernel-rt-4.18.0-506.rt7.295.el8 [2180997] - kernel-rt: config: adjust CONFIG_LOCKDEP_CHAINS_BITS (John B. Wyatt IV) [2193452] - libceph: harden msgr2.1 frame segment length checks (Ilya Dryomov) [2222256] - netfilter: nf_conntrack_netlink: need to hold rcu readlock when doing l4proto lookup (Florian Westphal) [2188230] - net/mlx5: Expose steering dropped packets counter (Amir Tzin) [2223198] - net/mlx5: Expose vnic diagnostic counters for eswitch managed vports (Amir Tzin) [2223198] - igbvf: add PCI reset handler functions (Corinna Vinschen) [2153365] - igbvf: Regard vf reset nack as success (Corinna Vinschen) [2153365] - intel/igbvf: free irq on the error path in igbvf_request_msix() (Corinna Vinschen) [2153365] - Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp} (Ricardo Robaina) [2139618] {CVE-2022-3640} - Bluetooth: L2CAP: Fix build errors in some archs (Ricardo Robaina) [2139618] {CVE-2022-3640} - Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression (Ricardo Robaina) [2139618] {CVE-2022-3640} - Bluetooth: L2CAP: fix use-after-free in l2cap_conn_del() (Ricardo Robaina) [2139618] {CVE-2022-3640} - Bluetooth: L2CAP: Fix use-after-free caused by l2cap_chan_put (Ricardo Robaina) [2139618] {CVE-2022-3640} - iavf: fix reset task race with iavf_remove() (Petr Oros) [2223604] - iavf: fix a deadlock caused by rtnl and driver's lock circular dependencies (Petr Oros) [2223604] - Revert "iavf: Do not restart Tx queues after reset task failure" (Petr Oros) [2223604] - Revert "iavf: Detach device during reset task" (Petr Oros) [2223604] - iavf: Wait for reset in callbacks which trigger it (Petr Oros) [2223604] - iavf: use internal state to free traffic IRQs (Petr Oros) [2223604] - iavf: Fix out-of-bounds when setting channels on remove (Petr Oros) [2223604] - iavf: Fix use-after-free in free_netdev (Petr Oros) [2223604] - iavf: make functions static where possible (Petr Oros) [2223604] - iavf: fix err handling for MAC replace (Petr Oros) [2223604] - iavf: remove some unused functions and pointless wrappers (Petr Oros) [2223604] - iavf: remove mask from iavf_irq_enable_queues() (Petr Oros) [2223604] - iavf: send VLAN offloading caps once after VFR (Petr Oros) [2223604] - cpufreq: Fix parameter in parse_perf_domain() (Mark Langsdorf) [2181273] - cpufreq: intel_pstate: remove MODULE_LICENSE in non-modules (Mark Langsdorf) [2181273] - cpufreq: intel_pstate: Adjust balance_performance EPP for Sapphire Rapids (Mark Langsdorf) [2181273] - cpufreq: Make kobj_type structure constant (Mark Langsdorf) [2181273] - driver core: make kobj_type constant. (Mark Langsdorf) [2181273] - cpufreq: Make cpufreq_unregister_driver() return void (Mark Langsdorf) [2181273] - drivers/cpufreq: Remove "select SRCU" (Mark Langsdorf) [2181273] - cpufreq: intel_pstate: Drop ACPI _PSS states table patching (Mark Langsdorf) [2181273] - cpufreq: stats: Convert to use sysfs_emit_at() API (Mark Langsdorf) [2181273] - cpufreq: Init completion before kobject_init_and_add() (Mark Langsdorf) [2181273] - cpufreq: intel_pstate: Allow EPP 0x80 setting by the firmware (Mark Langsdorf) [2181273] - cpufreq: ACPI: Use str_enabled_disabled() helper (Mark Langsdorf) [2181273] - cpufreq: Generalize of_perf_domain_get_sharing_cpumask phandle format (Mark Langsdorf) [2181273] - cpufreq: Add of_perf_domain_get_sharing_cpumask (Mark Langsdorf) [2181273] - cpufreq: intel_pstate: Read all MSRs on the target CPU (Mark Langsdorf) [2181273] - ACPI: CPPC: Add ACPI disabled check to acpi_cpc_valid() (Mark Langsdorf) [2181273] - mm/page_alloc: fix incorrect PGFREE and PGALLOC for high-order page (Chris von Recklinghausen) [2100592] - mm/page_alloc: check high-order pages for corruption during PCP operations (Chris von Recklinghausen) [2100592] - mm/page_alloc: do not prefetch buddies during bulk free (Chris von Recklinghausen) [2100592] - mm/page_alloc: free pages in a single pass during bulk free (Chris von Recklinghausen) [2100592] - mm/page_alloc: drain the requested list first during bulk free (Chris von Recklinghausen) [2100592] - mm/page_alloc: simplify how many pages are selected per pcp list during bulk free (Chris von Recklinghausen) [2100592] - mm/page_alloc: track range of active PCP lists during bulk free (Chris von Recklinghausen) [2100592] - mm/page_alloc: fetch the correct pcp buddy during bulk free (Chris von Recklinghausen) [2100592] - mm/page_alloc: allow high-order pages to be stored on the per-cpu lists (Chris von Recklinghausen) [2100592] - mm/page_alloc: move free_the_page (Chris von Recklinghausen) [2100592] - mm,memory_hotplug: factor out adjusting present pages into adjust_present_page_count() (Chris von Recklinghausen) [2100592] - mm, meminit: recalculate pcpu batch and high limits after init completes (Chris von Recklinghausen) [2100592] - [rt] Revert "Split IRQ-off and zone->lock while freeing pages from PCP list #1" (Chris White) [2225324] - [rt] Revert " Split IRQ-off and zone->lock while freeing pages from PCP list #2" (Chris White) [2225324]- [rt] build kernel-rt-4.18.0-505.rt7.294.el8 [2180997] - gfs2: Don't deref jdesc in evict (Bob Peterson) [2214357] {CVE-2023-3212} - md/raid5: Don't do accounting for non-align read io (Nigel Croxon) [2183033] - powerpc: Don't select HAVE_IRQ_EXIT_ON_IRQ_STACK (Mamatha Inamdar) [2218348] - NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION (Benjamin Coddington) [2217963] - proc: Use PIDTYPE_TGID in next_tgid (Brian Foster) [2047252] - netfilter: nf_tables: unbind non-anonymous set if rule construction fails (Phil Sutter) [2214964] {CVE-2023-3390} - netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain (Phil Sutter) [2214964] {CVE-2023-3390} - netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE (Phil Sutter) [2214964] {CVE-2023-3390} - fanotify,audit: Allow audit to use the full permission event response (Richard Guy Briggs) [2055328] - fanotify: define struct members to hold response decision context (Richard Guy Briggs) [2055328] - fanotify: Ensure consistent variable type for response (Richard Guy Briggs) [2055328] - RDMA/mlx4: Prevent shift wrapping in set_user_sq_size() (Amir Tzin) [2166019] - RDMA/mlx: Calling qp event handler in workqueue context (mlx4 hunks only) (Amir Tzin) [2166019] - net/mlx4: small optimization in mlx4_en_xmit() (Amir Tzin) [2166019] - net/mlx4: rename two constants (Amir Tzin) [2166019] - RDMA/mlx4: Remove NULL check before dev_{put, hold} (Amir Tzin) [2166019] - ptp: mlx4: convert to .adjfine and adjust_by_scaled_ppm (Amir Tzin) [2166019] - mlx4: Do type_clear() for devlink ports when type_set() was called previously (Amir Tzin) [2166019] - cgroup: Reorganize css_set_lock and kernfs path processing (Waiman Long) [2193485] - cgroup: Fix build failure when CONFIG_SHRINKER_DEBUG (Waiman Long) [2193485] - cgroup: fix missing cpus_read_{lock,unlock}() in cgroup_transfer_tasks() (Waiman Long) [2193485] - cgroup: Make cgroup_get_from_id() prettier (Waiman Long) [2193485] - cgroup: remove obsolete comment on cgroup_on_dfl() (Waiman Long) [2193485] - cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach() (Waiman Long) [2193485] - kselftests: cgroup: update kmem test precision tolerance (Waiman Long) [2193485] - cgroup/cpuset: Improve cpuset_css_alloc() description (Waiman Long) [2193485] - selftests: cgroup: fix unsigned comparison with less than zero (Waiman Long) [2193485] - device_cgroup: Roll back to original exceptions after copy failure (Waiman Long) [2193485] - cgroup/cpuset: use hotplug_memory_notifier() directly (Waiman Long) [2193485] - mm: memcontrol: don't allocate cgroup swap arrays when memcg is disabled (Waiman Long) [2193485] - cgroup: cgroup_get_from_id() must check the looked-up kn is a directory (Waiman Long) [2193485] - sched/psi: Don't create cgroup PSI files when psi_disabled (Waiman Long) [2193485] - cgroup: Homogenize cgroup_get_from_id() return value (Waiman Long) [2193485] - cgroup: cgroup: Honor caller's cgroup NS when resolving cgroup id (Waiman Long) [2193485] - cgroup: Honor caller's cgroup NS when resolving path (Waiman Long) [2193485] - mm: memcontrol: introduce mem_cgroup_ino() and mem_cgroup_get_from_ino() (Waiman Long) [2193485] - cgroup: Use separate src/dst nodes when preloading css_sets for migration (Waiman Long) [2193485] - cgroup.c: add helper __cset_cgroup_from_root to cleanup duplicated codes (Waiman Long) [2193485] - cgroup/rstat: check updated_next only for root (Waiman Long) [2193485] - cgroup: rstat: explicitly put loop variant in while (Waiman Long) [2193485] - cgroup: return early if it is already on preloaded list (Waiman Long) [2193485] - cgroup: Trace event cgroup id fields should be u64 (Waiman Long) [2193485] - cgroup: fix a typo in comment (Waiman Long) [2193485] - hugetlb_cgroup: remove unused hugetlb_cgroup_from_counter macro (Waiman Long) [2193485] - cgroup: Make rebind_subsystems() disable v2 controllers all at once (Waiman Long) [2193485] - cgroup: Avoid compiler warnings with no subsystems (Waiman Long) [2193485] - cgroup: Fix kernel-doc (Waiman Long) [2193485] - kernfs: use 64bit inos if ino_t is 64bit (Waiman Long) [2193485] - kernfs: implement custom exportfs ops and fid type (Waiman Long) [2193485] - kernfs: combine ino/id lookup functions into kernfs_find_and_get_node_by_id() (Waiman Long) [2193485] - kernfs: kernfs_find_and_get_node_by_ino() should only look up activated nodes (Waiman Long) [2193485] - kernfs: use dumber locking for kernfs_find_and_get_node_by_ino() (Waiman Long) [2193485] - kernfs: fix ino wrap-around detection (Waiman Long) [2193485] - ice: prevent NULL pointer deref during reload (Petr Oros) [2153356] - ice: Unregister netdev and devlink_port only once (Petr Oros) [2153356] - ice: Fix ice module unload (Petr Oros) [2153356] - ice: Fix tx queue rate limit when TCs are configured (Petr Oros) [2153356] - ice: Fix max_rate check while configuring TX rate limits (Petr Oros) [2153356] - ice: Fix XDP memory leak when NIC is brought up and down (Petr Oros) [2153356] - ice: remove comment about not supporting driver reinit (Petr Oros) [2153356] - ice: block LAN in case of VF to VF offload (Petr Oros) [2153356] - ice: Fix stats after PF reset (Petr Oros) [2153356] - ice: Reset FDIR counter in FDIR init stage (Petr Oros) [2153356] - ice: fix wrong fallback logic for FDIR (Petr Oros) [2153356] - ice: add profile conflict check for AVF FDIR (Petr Oros) [2153356] - ice: Fix ice_cfg_rdma_fltr() to only update relevant fields (Petr Oros) [2153356] - ice: remove filters only if VSI is deleted (Petr Oros) [2153356] - ice: check if VF exists before mode check (Petr Oros) [2153356] - ice: xsk: disable txq irq before flushing hw (Petr Oros) [2153356] - ice: avoid bonding causing auxiliary plug/unplug under RTNL lock (Petr Oros) [2153356] - ethernet: ice: avoid gcc-9 integer overflow warning (Petr Oros) [2153356] - ice: don't ignore return codes in VSI related code (Petr Oros) [2153356] - ice: Fix DSCP PFC TLV creation (Petr Oros) [2153356] - ice: copy last block omitted in ice_get_module_eeprom() (Petr Oros) [2153356] - ice: properly alloc ICE_VSI_LB (Petr Oros) [2153356] - ice: xsk: Fix cleaning of XDP_TX frames (Petr Oros) [2153356] - ice: Mention CEE DCBX in code comment (Petr Oros) [2153356] - ice: Change ice_vsi_realloc_stat_arrays() to void (Petr Oros) [2153356] - ice: Add GPIO pin support for E823 products (Petr Oros) [2153356] - ice: switch: fix potential memleak in ice_add_adv_recipe() (Petr Oros) [2153356] - ice: Fix off by one in ice_tc_forward_to_queue() (Petr Oros) [2153356] - ice: Fix disabling Rx VLAN filtering with port VLAN enabled (Petr Oros) [2153356] - ice: fix out-of-bounds KASAN warning in virtchnl (Petr Oros) [2153356] - ice: Do not use WQ_MEM_RECLAIM flag for workqueue (Petr Oros) [2153356] - ice: remove unnecessary virtchnl_ether_addr struct use (Petr Oros) [2153356] - ice: introduce .irq_close VF operation (Petr Oros) [2153356] - ice: introduce clear_reset_state operation (Petr Oros) [2153356] - ice: convert vf_ops .vsi_rebuild to .create_vsi (Petr Oros) [2153356] - ice: introduce ice_vf_init_host_cfg function (Petr Oros) [2153356] - ice: add a function to initialize vf entry (Petr Oros) [2153356] - ice: Pull common tasks into ice_vf_post_vsi_rebuild (Petr Oros) [2153356] - ice: move ice_vf_vsi_release into ice_vf_lib.c (Petr Oros) [2153356] - ice: move vsi_type assignment from ice_vsi_alloc to ice_vsi_cfg (Petr Oros) [2153356] - ice: refactor VSI setup to use parameter structure (Petr Oros) [2153356] - ice: drop unnecessary VF parameter from several VSI functions (Petr Oros) [2153356] - ice: fix function comment referring to ice_vsi_alloc (Petr Oros) [2153356] - ice: Add more usage of existing function ice_get_vf_vsi(vf) (Petr Oros) [2153356] - ice: implement devlink reinit action (Petr Oros) [2153356] - ice: update VSI instead of init in some case (Petr Oros) [2153356] - ice: move VSI delete outside deconfig (Petr Oros) [2153356] - ice: sync netdev filters after clearing VSI (Petr Oros) [2153356] - ice: split probe into smaller functions (Petr Oros) [2153356] - ice: stop hard coding the ICE_VSI_CTRL location (Petr Oros) [2153356] - ice: split ice_vsi_setup into smaller functions (Petr Oros) [2153356] - ice: cleanup in VSI config/deconfig code (Petr Oros) [2153356] - ice: alloc id for RDMA using xa_array (Petr Oros) [2153356] - ice: move RDMA init to ice_idc.c (Petr Oros) [2153356] - ice: Prevent set_channel from changing queues while RDMA active (Petr Oros) [2153356] - ice: Remove redundant pci_enable_pcie_error_reporting() (Petr Oros) [2153356] - ice: move devlink port creation/deletion (Petr Oros) [2153356] - ice: Remove excess space (Petr Oros) [2153356] - ice: Introduce local var for readability (Petr Oros) [2153356] - ice: Match parameter name for ice_cfg_phy_fc() (Petr Oros) [2153356] - ice: Explicitly return 0 (Petr Oros) [2153356] - ice: Reduce scope of variables (Petr Oros) [2153356] - ice: Move support DDP code out of ice_flex_pipe.c (Petr Oros) [2153356] - ice: Remove cppcheck suppressions (Petr Oros) [2153356] - ice: combine cases in ice_ksettings_find_adv_link_speed() (Petr Oros) [2153356] - ice: Add support for 100G KR2/CR2/SR2 link reporting (Petr Oros) [2153356] - ice: add missing checks for PF vsi type (Petr Oros) [2153356] - ice: remove redundant non-null check in ice_setup_pf_sw() (Petr Oros) [2153356] - ice: restrict PTP HW clock freq adjustments to 100, 000, 000 PPB (Petr Oros) [2153356] - ice: Support drop action (Petr Oros) [2153356] - ice: Handle LLDP MIB Pending change (Petr Oros) [2153356] - ice: Add 'Execute Pending LLDP MIB' Admin Queue command (Petr Oros) [2153356] - ice: xsk: do not use xdp_return_frame() on tx_buf->raw_buf (Petr Oros) [2153356] - ice: Use ICE_RLAN_BASE_S instead of magic number (Petr Oros) [2153356] - ice: Accumulate ring statistics over reset (Petr Oros) [2153356] - ice: Accumulate HW and Netdev statistics over reset (Petr Oros) [2153356] - ice: Remove and replace ice speed defines with ethtool.h versions (Petr Oros) [2153356] - ice: Check for PTP HW lock more frequently (Petr Oros) [2153356] - ice: Fix spurious interrupt during removal of trusted VF (Petr Oros) [2153356] - ice: Enable RX queue selection using skbedit action (Petr Oros) [2153356] - ice: Add support for VLAN priority filters in switchdev (Petr Oros) [2153356] - ice: support features on new E810T variants (Petr Oros) [2153356] - ice: xsk: drop power of 2 ring size restriction for AF_XDP (Petr Oros) [2153356] - ice: xsk: change batched Tx descriptor cleaning (Petr Oros) [2153356] - ice: reorder PF/representor devlink port register/unregister flows (Petr Oros) [2153356] - ice: Add L2TPv3 hardware offload support (Petr Oros) [2153356] - ice: Simplify memory allocation in ice_sched_init_port() (Petr Oros) [2153356] - ice: switch: Simplify memory allocation (Petr Oros) [2153356] - ice: add helper function to check FW API version (Petr Oros) [2153356] - ice: Print human-friendly PHY types (Petr Oros) [2153356] - ice: Add support for ip TTL & ToS offload (Petr Oros) [2153356] - ice: xsk: use Rx ring's XDP ring when picking NAPI context (Petr Oros) [2153356] - ice: xsk: prohibit usage of non-balanced queue id (Petr Oros) [2153356] - ice: remove non-inclusive language (Petr Oros) [2153356] - ice: Remove ucast_shared (Petr Oros) [2153356] - ice: Allow 100M speeds for some devices (Petr Oros) [2153356] - ice: Implement FCS/CRC and VLAN stripping co-existence policy (Petr Oros) [2153356] - ice: Implement control of FCS/CRC stripping (Petr Oros) [2153356] - ice: initialize cached_phctime when creating Rx rings (Petr Oros) [2153356] - ice: set tx_tstamps when creating new Tx rings via ethtool (Petr Oros) [2153356] - ice: link representors to PCI device (Petr Oros) [2153356] - ice, xsk: Avoid refilling single Rx descriptors (Petr Oros) [2153356] - ice, xsk: Diversify return values from xsk_wakeup call paths (Petr Oros) [2153356] - ice, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full (Petr Oros) [2153356] - ice, xsk: Decorate ICE_XDP_REDIR with likely() (Petr Oros) [2153356] - ice: xsk: check if Rx ring was filled up to the end (Petr Oros) [2153356] - ice: xsk: Eliminate unnecessary loop iteration (Petr Oros) [2153356] - ice: xsk: fix GCC version checking against pragma unroll presence (Petr Oros) [2153356] - ice: xsk: Borrow xdp_tx_active logic from i40e (Petr Oros) [2153356] - ice: xsk: Improve AF_XDP ZC Tx and use batching API (Petr Oros) [2153356] - ice: xsk: Avoid potential dead AF_XDP Tx processing (Petr Oros) [2153356] - ice: Make Tx threshold dependent on ring length (Petr Oros) [2153356] - ice: xsk: Handle SW XDP ring wrap and bump tail more often (Petr Oros) [2153356] - ice: xsk: Force rings to be sized to power of 2 (Petr Oros) [2153356] - ice: xsk: do not clear status_error0 for ntu + nb_buffs descriptor (Petr Oros) [2153356] - ice: remove dead store on XSK hotpath (Petr Oros) [2153356] - ice: xsk: clear status_error0 for each allocated desc (Petr Oros) [2153356] - intel: Simplify bool conversion (Petr Oros) [2153356] - ice: Use the xsk batched rx allocation interface (Petr Oros) [2153356] - softirq: Wake ktimers thread also in softirq. (Eder Zulian) [2219530] - netfilter: nf_tables: unbind non-anonymous set if rule construction fails (Phil Sutter) [2214964] {CVE-2023-3390} - netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain (Phil Sutter) [2214964] {CVE-2023-3390} - netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE (Phil Sutter) [2214964] {CVE-2023-3390}- [rt] build kernel-rt-4.18.0-504.rt7.293.el8 [2180997] - blk-cgroup: Reinit blkg_iostat_set after clearing in blkcg_reset_stats() (Waiman Long) [2212032] - ipvlan:Fix out-of-bounds caused by unclear skb->cb (Davide Caratti) [2218676] {CVE-2023-3090} - net: openvswitch: fix upcall counter access before allocation (Eelco Chaudron) [2214262] - netfilter: Drop fragmented ndisc packets assembled in netfilter (Phil Sutter) [2217795] - netfilter: conntrack: gre: don't set assured flag for clash entries (Florian Westphal) [2219357] - netfilter: conntrack: allow insertion clash of gre protocol (Florian Westphal) [2219357] - sfc: use budget for TX completions (Íñigo Huguet) [2179558] - sfc: fix XDP queues mode with legacy IRQ (Íñigo Huguet) [2214589] - memstick: r592: Fix UAF bug in r592_remove due to race condition (Ricardo Robaina) [2213206] {CVE-2023-3141} - audit: avoid missing-prototype warnings (Richard Guy Briggs) [2175322] - audit: update the mailing list in MAINTAINERS (Richard Guy Briggs) [2175322] - audit: fix undefined behavior in bit shift for AUDIT_BIT (Richard Guy Briggs) [2175322] - fork: Use IS_ENABLED() in account_kernel_stack() (Valentin Schneider) [2131754] - fork: Only cache the VMAP stack in finish_task_switch() (Valentin Schneider) [2131754] - fork: Move task stack accounting to do_exit() (Valentin Schneider) [2131754] - fork: Move memcg_charge_kernel_stack() into CONFIG_VMAP_STACK (Valentin Schneider) [2131754] - fork: Don't assign the stack pointer in dup_task_struct() (Valentin Schneider) [2131754] - fork, IA64: Provide alloc_thread_stack_node() for IA64 (Valentin Schneider) [2131754] - fork: Duplicate task_struct before stack allocation (Valentin Schneider) [2131754] - fork: Redo ifdefs around task stack handling (Valentin Schneider) [2131754] - fork: fix some -Wmissing-prototypes warnings (Valentin Schneider) [2131754] - igb: fix nvm.ops.read() error handling (Corinna Vinschen) [2153360] - igb: Fix extts capture value format for 82580/i354/i350 (Corinna Vinschen) [2153360] - igb: Define igb_pm_ops conditionally on CONFIG_PM (Corinna Vinschen) [2153360] - igb: fix bit_shift to be in [1..8] range (Corinna Vinschen) [2153360] - igb: refactor igb_ptp_adjfine_82580 to use diff_by_scaled_ppm (Corinna Vinschen) [2153360] - igb: revert rtnl_lock() that causes deadlock (Corinna Vinschen) [2153360] - igb: Remove unnecessary aer.h include (Corinna Vinschen) [2153360] - igb: Fix PPS input and output using 3rd and 4th SDP (Corinna Vinschen) [2153360] - igb: Remove redundant pci_enable_pcie_error_reporting() (Corinna Vinschen) [2153360] - igb: Add lock to avoid data race (Corinna Vinschen) [2153360] - x86/cpu: Include the header of init_ia32_feat_ctl()'s prototype (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - x86/pm: Fix false positive kmemleak report in msr_build_context() (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - x86/speculation: Restore speculation related MSRs during S3 resume (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - kbuild: remove leftover comment for filechk utility (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - x86/cpu: Reinitialize IA32_FEAT_CTL MSR on BSP during wakeup (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - x86/rdrand: Sanity-check RDRAND output (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - x86/CPU/AMD: Clear RDRAND CPUID bit on AMD family 15h/16h (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - kbuild: change filechk to surround the given command with { } (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - firmware: refactor firmware/Makefile (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - kbuild: remove redundant 'set -e' from filechk_offsets (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - kbuild: do not redirect the first prerequisite for filechk (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - kbuild: move bin2c back to scripts/ from scripts/basic/ (Chris von Recklinghausen) [2181907] {CVE-2023-1637} - perf/x86/ibs: Add new IBS register bits into header (Michael Petlan) [2088767] - perf tool x86: Fix perf_env memory leak (Michael Petlan) [2088767] - perf tool x86: Consolidate is_amd check into single function (Michael Petlan) [2088767] - perf env: Add perf_env__cpuid, perf_env__{nr_}pmu_mappings (Michael Petlan) [2088767] - perf/x86/amd/uncore: Fix memory leak for events array (Michael Petlan) [2088767] - perf script: Add missing fields in usage hint (Michael Petlan) [2086837] - perf mem: Print "LFB/MAB" for PERF_MEM_LVLNUM_LFB (Michael Petlan) [2088767] - perf mem/c2c: Avoid printing empty lines for unsupported events (Michael Petlan) [2088767] - perf mem/c2c: Add load store event mappings for AMD (Michael Petlan) [2088767] - perf mem/c2c: Set PERF_SAMPLE_WEIGHT for LOAD_STORE events (Michael Petlan) [2088767] - perf mem: Add support for printing PERF_MEM_LVLNUM_{CXL|IO} (Michael Petlan) [2088767] - perf/mem: Rename PERF_MEM_LVLNUM_EXTN_MEM to PERF_MEM_LVLNUM_CXL (Michael Petlan) [2088767] - perf amd ibs: Sync arch/x86/include/asm/amd-ibs.h header with the kernel (Michael Petlan) [2088767] - tools headers UAPI: Sync include/uapi/linux/perf_event.h header with the kernel (Michael Petlan) [2088767] - perf/uapi: Define PERF_MEM_SNOOPX_PEER in kernel header file (Michael Petlan) [2088767] - perf: correct SNOOPX field offset (Michael Petlan) [2088767] - perf tools: Sync addition of PERF_MEM_SNOOPX_PEER (Michael Petlan) [2088767] - perf/x86/amd: Support PERF_SAMPLE_PHY_ADDR (Michael Petlan) [2088767] - perf: Add sample_flags to indicate the PMU-filled sample data (Michael Petlan) [2086837] - perf/x86/amd: Support PERF_SAMPLE_ADDR (Michael Petlan) [2088767] - perf/x86/amd: Support PERF_SAMPLE_{WEIGHT|WEIGHT_STRUCT} (Michael Petlan) [2088767] - perf/x86/amd: Support PERF_SAMPLE_DATA_SRC (Michael Petlan) [2088767] - perf/x86/amd: Add IBS OP_DATA2 DataSrc bit definitions (Michael Petlan) [2088767] - perf/mem: Introduce PERF_MEM_LVLNUM_{EXTN_MEM|IO} (Michael Petlan) [2088767] - perf/x86/amd/uncore: Add PerfMonV2 RDPMC assignments (Michael Petlan) [2086837] - perf/x86/amd/uncore: Add PerfMonV2 DF event format (Michael Petlan) [2086837] - perf/x86/amd/uncore: Detect available DF counters (Michael Petlan) [2086837] - perf/x86/amd/uncore: Use attr_update for format attributes (Michael Petlan) [2086837] - perf/x86/amd/uncore: Use dynamic events array (Michael Petlan) [2086837] - tracing/osnoise: set several trace_osnoise.c variables storage-class-specifier to static (John Kacur) [2175293] - tracing/osnoise: No need for schedule_hrtimeout range (John Kacur) [2175293] - tracing/osnoise: Use built-in RCU list checking (John Kacur) [2175293] - tracing/osnoise: Add preempt and/or irq disabled options (John Kacur) [2175293] - tracing/osnoise: Add PANIC_ON_STOP option (John Kacur) [2175293] - tracing/osnoise: Make osnoise_options static (John Kacur) [2175293] - tracing/osnoise: Add OSNOISE_WORKLOAD option (John Kacur) [2175293] - tracing/osnoise: Add osnoise/options file (John Kacur) [2175293] - tracing/osnoise: Fix duration type (John Kacur) [2175293] - tracing/osnoise: Fix possible recursive locking in stop_per_cpu_kthreads (John Kacur) [2175293] - tracing/timerlat: Do not wakeup the thread if the trace stops at the IRQ (John Kacur) [2175293] - tracing/timerlat: Print stacktrace in the IRQ handler if needed (John Kacur) [2175293] - tracing/timerlat: Notify IRQ new max latency only if stop tracing is set (John Kacur) [2175293] - drivers: base: cacheinfo: Fix shared_cpu_map changes in event of CPU hotplug (Mark Lansgdorf) [2178301] - drivers: base: cacheinfo: Update cpu_map_populated during CPU Hotplug (Mark Lansgdorf) [2178301] - driver core: bus: move documentation for lock_key to proper location. (Mark Langsdorf) [2178301] - cacheinfo: Check cache properties are present in DT (Mark Langsdorf) [2178301] - cacheinfo: Fix LLC is not exported through sysfs (Mark Langsdorf) [2178301] - of: Add of_property_present() helper (Mark Langsdorf) [2178301] - driver core: fw_devlink: Print full path and name of fwnode (Mark Langsdorf) [2178301] - driver core: fw_devlink: Avoid spurious error message (Mark Langsdorf) [2178301] - driver core: bus: Handle early calls to bus_to_subsys() (Mark Langsdorf) [2178301] - driver core: class: move EXPORT_SYMBOL_GPL() lines to the correct place (Mark Langsdorf) [2178301] - driver core: cpu: don't hand-override the uevent bus_type callback. (Mark Langsdorf) [2178301] - driver core: bus: update my copyright notice (Mark Langsdorf) [2178301] - driver core: bus: add bus_get_dev_root() function (Mark Langsdorf) [2178301] - driver core: bus: constify bus_unregister() (Mark Langsdorf) [2178301] - driver core: bus: constify some internal functions (Mark Langsdorf) [2178301] - driver core: bus: constify bus_get_kset() (Mark Langsdorf) [2178301] - driver core: bus: constify bus_register/unregister_notifier() (Mark Langsdorf) [2178301] - driver core: create bus_is_registered() (Mark Langsdorf) [2178301] - driver core: bus: clean up driver_find() (Mark Langsdorf) [2178301] - driver core: move driver_find() to bus.c (Mark Langsdorf) [2178301] - driver core: bus: clean up bus_sort_breadthfirst() (Mark Langsdorf) [2178301] - driver core: bus: bus iterator cleanups (Mark Langsdorf) [2178301] - driver core: bus: bus_add/remove_driver() cleanups (Mark Langsdorf) [2178301] - driver core: bus: bus_register/unregister_notifier() cleanups (Mark Langsdorf) [2178301] - driver core: bus: bus_get_kset() cleanup (Mark Langsdorf) [2178301] - driver core: bus: subsys_interface_register/unregister() cleanups (Mark Langsdorf) [2178301] - driver core: bus: bus_register/unregister() cleanups (Mark Langsdorf) [2178301] - driver core: bus: bus_add/probe/remove_device() cleanups (Mark Langsdorf) [2178301] - driver core: bus: sysfs function cleanups (Mark Langsdorf) [2178301] - driver core: bus: convert bus_create/remove_file to be constant (Mark Langsdorf) [2178301] - driver core: bus: constantify the bus_find_* functions (Mark Langsdorf) [2178301] - driver core: bus: implement bus_get/put() without the private pointer (Mark Langsdorf) [2178301] - driver core: add local subsys_get and subsys_put functions (Mark Langsdorf) [2178301] - driver core: fw_devlink: Make cycle detection more robust (Mark Langsdorf) [2178301] - driver core: fw_devlink: Consolidate device link flag computation (Mark Langsdorf) [2178301] - driver core: fw_devlink: Allow marking a fwnode link as being part of a cycle (Mark Langsdorf) [2178301] - driver core: Add wait_for_init_devices_probe helper function (Mark Langsdorf) [2178301] - driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links (Mark Langsdorf) [2178301] - driver core: fw_devlink: Improve check for fwnode with no device/driver (Mark Langsdorf) [2178301] - driver core: fw_devlink: Don't purge child fwnode's consumer links (Mark Langsdorf) [2178301] - drivers: base: dd: fix memory leak with using debugfs_lookup() (Mark Langsdorf) [2178301] - drivers: base: component: fix memory leak with using debugfs_lookup() (Mark Langsdorf) [2178301] - drivers/base: Remove CONFIG_SRCU (Mark Langsdorf) [2178301] - devtmpfs: convert to pr_fmt (Mark Langsdorf) [2178301] - driver core: bus: move lock_class_key into dynamic structure (Mark Langsdorf) [2178301] - driver core: platform: simplify __platform_driver_probe() (Mark Langsdorf) [2178301] - driver core: platform: removed unneeded variable from __platform_driver_probe() (Mark Langsdorf) [2178301] - cacheinfo: Initialize variables in fetch_cache_info() (Mark Langsdorf) [2178301] - regmap: apply reg_base and reg_downshift for single register ops (Mark Langsdorf) [2178301] - driver core: soc: remove layering violation for the soc_bus (Mark Langsdorf) [2178301] - of: device: make of_device_uevent_modalias() take a const device * (Mark Langsdorf) [2178301] - driver core: device_get_devnode() should take a const * (Mark Langsdorf) [2178301] - driver core: fix up missed drivers/s390/char/hmcdrv_dev.c class.devnode() conversion. (Mark Langsdorf) [2178301] - driver core: fix up missed scsi/cxlflash class.devnode() conversion. (Mark Langsdorf) [2178301] - driver core: fix up some missing class.devnode() conversions. (Mark Langsdorf) [2178301] - driver core: make struct class.devnode() take a const * (Mark Langsdorf) [2178301] - driver core: make struct device_type.devnode() take a const * (Mark Langsdorf) [2178301] - driver core: class: Clear private pointer on registration failures (Mark Langsdorf) [2178301] - cacheinfo: Fix shared_cpu_map to handle shared caches at different levels (Mark Langsdorf) [2178301] - cacheinfo: Check 'cache-unified' property to count cache leaves (Mark Langsdorf) [2178301] - arch_topology: Build cacheinfo from primary CPU (Mark Langsdorf) [2178301] - cacheinfo: Make default acpi_get_cache_info() return an error (Mark Langsdorf) [2178301] - ACPI: PPTT: Update acpi_find_last_cache_level() to acpi_get_cache_info() (Mark Langsdorf) [2178301] - ACPI: PPTT: Remove acpi_find_cache_levels() (Mark Langsdorf) [2178301] - drivers: base: transport_class: fix resource leak when transport_add_device() fails (Mark Langsdorf) [2178301] - driver core: location: Free struct acpi_pld_info *pld before return false (Mark Langsdorf) [2178301] - driver core: fix resource leak in device_add() (Mark Langsdorf) [2178301] - drivers/base/memory: Fix comments for phys_index_show() (Mark Langsdorf) [2178301] - drivers/base/memory: rename base_memory_block_id to memory_block_id (Mark Langsdorf) [2178301] - driver core: Fix test_async_probe_init saves device in wrong array (Mark Langsdorf) [2178301] - device property: fix of node refcount leak in fwnode_graph_get_next_endpoint() (Mark Langsdorf) [2178301] - driver core: bus: move bus notifier logic into bus.c (Mark Langsdorf) [2178301] - driver core: bus.h: document bus notifiers better (Mark Langsdorf) [2178301] - cacheinfo: Return error code in init_of_cache_level() (Mark Langsdorf) [2178301] - cacheinfo: Use RISC-V's init_cache_level() as generic OF implementation (Mark Langsdorf) [2178301] - platform: remove useless if-branch in __platform_get_irq_byname() (Mark Langsdorf) [2178301] - platform: Document platform_add_devices() return value (Mark Langsdorf) [2178301] - software node: Remove unused APIs (Mark Langsdorf) [2178301] - software node: Switch property entry test to a new API (Mark Langsdorf) [2178301] - platform: Provide a remove callback that returns no value (Mark Langsdorf) [2178301] - regmap: Rework regmap_mdio_c45_{read|write} for new C45 API. (Mark Langsdorf) [2178301] - net: Convert more users of mdiobus_* to mdiodev_* (Mark Langsdorf) [2178301] - PM: runtime: Document that force_suspend() is incompatible with SMART_SUSPEND (Mark Langsdorf) [2178301] - cpuidle, ARM: OMAP2+: powerdomain: Remove trace_.*_rcuidle() (Mark Langsdorf) [2178301] - driver core: fix potential null-ptr-deref in device_add() (Mark Langsdorf) [2178301] - PM: domains: Allow a genpd consumer to require a synced power off (Mark Langsdorf) [2178301] - driver core: move struct subsys_dev_iter to a local file (Mark Langsdorf) [2178301] - driver core: make subsys_dev_iter_exit() static (Mark Langsdorf) [2178301] - driver core: make subsys_dev_iter_next() static (Mark Langsdorf) [2178301] - driver core: make subsys_dev_iter_init() static (Mark Langsdorf) [2178301] - driver core: remove subsys_find_device_by_id() (Mark Langsdorf) [2178301] - driver core: make bus_get_device_klist() static (Mark Langsdorf) [2178301] - platform/mellanox: mlxbf-pmc: Fix event typo (Mark Langsdorf) [2178301] - firmware_loader: remove #include (Mark Langsdorf) [2178301] - PM: runtime: Adjust white space in the core code (Mark Langsdorf) [2178301] - device property: Fix documentation for fwnode_get_next_parent() (Mark Langsdorf) [2178301] - PM: runtime: Relocate rpm_callback() right after __rpm_callback() (Mark Langsdorf) [2178301] - regmap: Add FSI bus support (Mark Langsdorf) [2178301] - PM: domains: Reverse the order of performance and enabling ops (Mark Langsdorf) [2178301] - driver core: make struct class.dev_uevent() take a const * (Mark Langsdorf) [2178301] - driver core: change to_subsys_private() to use container_of_const() (Mark Langsdorf) [2178301] - xen/xenbus: move to_xenbus_device() to use container_of_const() (Mark Langsdorf) [2178301] - virtio: move dev_to_virtio() to use container_of_const() (Mark Langsdorf) [2178301] - cacheinfo: Remove of_node_put() for fw_token (Mark Langsdorf) [2178301] - device property: Add a blank line in Kconfig of tests (Mark Langsdorf) [2178301] - device property: Rename goto label to be more precise (Mark Langsdorf) [2178301] - regmap: add regmap_might_sleep() (Mark Langsdorf) [2178301] - regmap: Add can_sleep configuration option (Mark Langsdorf) [2178301] - regmap: Use flexible sleep (Mark Lansgdorf) [2178301] - platform: use fwnode_irq_get_byname instead of of_irq_get_byname to get irq (Mark Langsdorf) [2178301] - driver core: Fix bus_type.match() error handling in __driver_attach() (Mark Langsdorf) [2178301] - driver core: Use kstrtobool() instead of strtobool() (Mark Langsdorf) [2178301] - cacheinfo: Decrement refcount in cache_setup_of_node() (Mark Langsdorf) [2178301] - driver core: mark driver_allows_async_probing static (Mark Langsdorf) [2178301] - driver core: remove devm_device_remove_group() (Mark Langsdorf) [2178301] - driver core: remove devm_device_remove_groups() (Mark Langsdorf) [2178301] - driver core: class: make namespace and get_ownership take const * (Mark Langsdorf) [2178301] - devres: Use kmalloc_size_roundup() to match ksize() usage (Mark Langsdorf) [2178301] - class: fix possible memory leak in __class_register() (Mark Langsdorf) [2178301] - PM: domains: Power off[on] domain in hibernate .freeze[thaw]_noirq hook (Mark Langsdorf) [2178301] - PM: domains: Consolidate genpd_restore_noirq() and genpd_resume_noirq() (Mark Langsdorf) [2178301] - PM: domains: Pass generic PM noirq hooks to genpd_finish_suspend() (Mark Langsdorf) [2178301] - PM: domains: Drop genpd status manipulation for hibernate restore (Mark Langsdorf) [2178301] - PM: domains: Fix handling of unavailable/disabled idle states (Mark Langsdorf) [2178301] - device property: Fix documentation for *_match_string() APIs (Mark Langsdorf) [2178301] - device property: Constify parameter in device_dma_supported() and device_get_dma_attr() (Mark Langsdorf) [2178301] - device property: Constify device child node APIs (Mark Langsdorf) [2178301] - device property: Constify fwnode connection match APIs (Mark Langsdorf) [2178301] - device property: Allow const parameter to dev_fwnode() (Mark Langsdorf) [2178301] - PM: domains: log failures to register always-on domains (Mark Langsdorf) [2178301] - dt-bindings: irqchip: Describe the IMX MU block as a MSI controller (Mark Langsdorf) [2178301] - platform-msi: Export symbol platform_msi_create_irq_domain() (Mark Langsdorf) [2178301] - PM: runtime: Return -EINPROGRESS from rpm_resume() in the RPM_NOWAIT case (Mark Langsdorf) [2178301] - device property: Add const qualifier to device_get_match_data() parameter (Mark Langsdorf) [2178301] - driver core: use IS_ERR_OR_NULL() helper in device_create_groups_vargs() (Mark Langsdorf) [2178301] - devcoredump : Serialize devcd_del work (Mark Langsdorf) [2178301] - regmap: mmio: replace return 0 with break in switch statement (Mark Langsdorf) [2178301] - mm: kill is_memblock_offlined() (Mark Langsdorf) [2178301] - driver core: remove make_class_name declaration (Mark Langsdorf) [2178301] - regmap/hexagon: Properly fix the generic IO helpers (Mark Langsdorf) [2178301] - regmap: trace: Remove unneeded blank lines (Mark Langsdorf) [2178301] - regmap: trace: Remove explicit castings (Mark Langsdorf) [2178301] - regmap: trace: Remove useless check for NULL for bulk ops (Mark Langsdorf) [2178301] - PM: wakeup: Add extra debugging statement for multiple active IRQs (Mark Langsdorf) [2178301] - devres: Slightly optimize alloc_dr() (Mark Langsdorf) [2178301] - drivers: base: Print error code on synthetic uevent failure (Mark Langsdorf) [2178301] - class: use IS_ERR_OR_NULL() helper in class_unregister() (Mark Langsdorf) [2178301] - regmap: introduce value tracing for regmap bulk operations (Mark Langsdorf) [2178301] - regmap: mmio: Fix MMIO accessors to avoid talking to IO port (Mark Langsdorf) [2178301] - regmap: mmio: Introduce IO accessors that can talk to IO port (Mark Langsdorf) [2178301] - regmap: mmio: Get rid of broken 64-bit IO (Mark Langsdorf) [2178301] - regmap: mmio: Remove mmio_relaxed member from context (Mark Langsdorf) [2178301] - thunderbolt: Mask ring interrupt on Intel hardware as well (Desnes Nunes) [2216483] - thunderbolt: Clear registers properly when auto clear isn't in use (Desnes Nunes) [2216483] - dt-bindings: usb: fsa4480: Use generic node name (Desnes Nunes) [2216483] - media: Revert "media: uvcvideo: Set unique vdev name based in type" (Desnes Nunes) [2216483] - media: uvcvideo: Don't expose unsupported formats to userspace (Desnes Nunes) [2216483] - usb: typec: altmodes/displayport: Fix configure initial pin assignment (Desnes Nunes) [2216483] - xhci: Free the command allocated for setting LPM if we return early (Desnes Nunes) [2216483] - xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu (Desnes Nunes) [2216483] - USB: serial: option: add Quectel RM500U-CN modem (Desnes Nunes) [2216483] - thunderbolt: Rename shadowed variables bit to interrupt_bit and auto_clear_bit (Desnes Nunes) [2216483] - thunderbolt: Disable interrupt auto clear for rings (Desnes Nunes) [2216483] - thunderbolt: Use const qualifier for `ring_interrupt_index` (Desnes Nunes) [2216483] - uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2 (Desnes Nunes) [2216483] - USB: serial: option: add Telit FE990 compositions (Desnes Nunes) [2216483] - USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs (Desnes Nunes) [2216483] - thunderbolt: Use scale field when allocating USB3 bandwidth (Desnes Nunes) [2216483] - thunderbolt: Limit USB3 bandwidth of certain Intel USB4 host routers (Desnes Nunes) [2216483] - thunderbolt: Call tb_check_quirks() after initializing adapters (Desnes Nunes) [2216483] - thunderbolt: Add missing UNSET_INBOUND_SBTX for retimer access (Desnes Nunes) [2216483] - thunderbolt: Fix memory leak in margining (Desnes Nunes) [2216483] - usb: typec: tcpm: fix warning when handle discover_identity message (Desnes Nunes) [2216483] - usb: typec: tcpm: fix create duplicate source-capabilities file (Desnes Nunes) [2216483] - usb: ucsi_acpi: Increase the command completion timeout (Desnes Nunes) [2216483] - usb: ucsi: Fix ucsi->connector race (Desnes Nunes) [2216483] - usb: ucsi: Fix NULL pointer deref in ucsi_connector_change() (Desnes Nunes) [2216483] - thunderbolt: Add quirk to disable CLx (Desnes Nunes) [2216483] - usb: typec: pd: Add higher capability sysfs for sink PDO (Desnes Nunes) [2216483] - usb: typec: pd: Remove usb_suspend_supported sysfs from sink PDO (Desnes Nunes) [2216483] - xhci: host: potential NULL dereference in xhci_generic_plat_probe() (Desnes Nunes) [2216483] - media: usb: siano: Fix warning due to null work_func_t function pointer (Desnes Nunes) [2216483] - media: usb: siano: Fix use after free bugs caused by do_submit_urb (Desnes Nunes) [2216483] - media: usb: dvb-usb-v2: af9015.c: return 0 instead of 'ret'. (Desnes Nunes) [2216483] - dt-bindings: usb: convert fcs,fusb302.txt to yaml (Desnes Nunes) [2216483] - dt-bindings: usb: fusb302: Remove deprecated properties (Desnes Nunes) [2216483] - usb: uvc: Enumerate valid values for color matching (Desnes Nunes) [2216483] - USB: ene_usb6250: Allocate enough memory for full object (Desnes Nunes) [2216483] - USB: uhci: fix memory leak with using debugfs_lookup() (Desnes Nunes) [2216483] - USB: ULPI: fix memory leak with using debugfs_lookup() (Desnes Nunes) [2216483] - USB: serial: option: add support for VW/Skoda "Carstick LTE" (Desnes Nunes) [2216483] - usb: remove the dead USB_OHCI_SH option (Desnes Nunes) [2216483] - xhci: decouple usb2 port resume and get_port_status request handling (Desnes Nunes) [2216483] - xhci: clear usb2 resume related variables in one place. (Desnes Nunes) [2216483] - xhci: rename resume_done to resume_timestamp (Desnes Nunes) [2216483] - xhci: Pass port structure as parameter to xhci_disable_port(). (Desnes Nunes) [2216483] - xhci: move port specific items such as state completions to port structure (Desnes Nunes) [2216483] - xhci: pass port pointer as parameter to xhci_set_port_power() (Desnes Nunes) [2216483] - xhci: cleanup xhci_hub_control port references (Desnes Nunes) [2216483] - xhci: add helpers for enabling and disabling interrupters (Desnes Nunes) [2216483] - xhci: Refactor interrupter code for initial multi interrupter support. (Desnes Nunes) [2216483] - xhci: remove xhci_test_trb_in_td_math early development check (Desnes Nunes) [2216483] - xhci: fix event ring segment table related masks and variables in header (Desnes Nunes) [2216483] - USB: core: Don't hold device lock while reading the "descriptors" sysfs file (Desnes Nunes) [2216483] - usb: early: xhci-dbc: Use memcpy_and_pad() (Desnes Nunes) [2216483] - usb: early: xhci-dbc: Optimize early_xdbc_write() (Desnes Nunes) [2216483] - usb: early: xhci-dbc: Fix a potential out-of-bound memory access (Desnes Nunes) [2216483] - Documentation: usb: correct spelling (Desnes Nunes) [2216483] - docs: usb: convert documents to ReST (Desnes Nunes) [2216483] - Documentation/usb: Fix typo (Desnes Nunes) [2216483] - USB: serial: clean up kl5kusb105 documentation (Desnes Nunes) [2216483] - usb: uvc: use v4l2_fill_fmtdesc instead of open coded format name (Desnes Nunes) [2216483] - usb: uvc: make uvc_format_desc table const (Desnes Nunes) [2216483] - usb: uvc: move uvc_fmts and uvc_format_by_guid to own compile unit (Desnes Nunes) [2216483] - usb: uvc: move media/v4l2-uvc.h to usb/uvc.h (Desnes Nunes) [2216483] - media: uvcvideo: Add GUID for BGRA/X 8:8:8:8 (Desnes Nunes) [2216483] - usb: gadget: uvc: add v4l2 try_format api call (Desnes Nunes) [2216483] - usb: gadget: uvc: add v4l2 enumeration api calls (Desnes Nunes) [2216483] - usb: gadget: uvc: allow for application to cleanly shutdown (Desnes Nunes) [2216483] - usb: gadget: uvc: rename function to be more consistent (Desnes Nunes) [2216483] - usb: gadget: uvc: fix multiple opens (Desnes Nunes) [2216483] - thunderbolt: Add missing kernel-doc comment to tb_tunnel_maximum_bandwidth() (Desnes Nunes) [2216483] - thunderbolt: Handle bandwidth allocation mode enablement notification (Desnes Nunes) [2216483] - xhci: split out rcar/rz support from xhci-plat.c (Desnes Nunes) [2216483] - usb: host: xhci-rcar: Use xhci_plat_priv.quirks instead of code settings (Desnes Nunes) [2216483] - usb: host: xhci-plat: Remove useless DMA-32 fallback configuration (Desnes Nunes) [2216483] - usb: host: xhci-plat: Add reset support (Desnes Nunes) [2216483] - usb: host: xhci-plat: Improve clock handling in probe() (Desnes Nunes) [2216483] - dt-bindings: usb: Convert Marvell Orion EHCI to DT schema (Desnes Nunes) [2216483] - dt-bindings: usb: Convert OMAP OHCI/EHCI bindings to schema (Desnes Nunes) [2216483] - dt-bindings: usb: Convert multiple "usb-ohci" bindings to DT schema (Desnes Nunes) [2216483] - dt-bindings: usb: generic-ohci: Document dr_mode property (Desnes Nunes) [2216483] - dt-bindings: usb: generic-ehci: Document dr_mode property (Desnes Nunes) [2216483] - dt-bindings: ehci/ohci: Allow iommus property (Desnes Nunes) [2216483] - dt-bindings: usb: generic-ohci: Add missing compatible strings (Desnes Nunes) [2216483] - dt-bindings: usb: generic-ehci: Add missing compatible strings (Desnes Nunes) [2216483] - dt-bindings: Fix incorrect 'reg' property sizes (Desnes Nunes) [2216483] - dt-bindings: usb: ehci: Add missing 2nd register region (Desnes Nunes) [2216483] - usb: typec: tcpm: Remove altmode active state updates (Desnes Nunes) [2216483] - usb: typec: altmodes/displayport: Update active state (Desnes Nunes) [2216483] - usb: typec: mux: Introduce GPIO-based SBU mux (Desnes Nunes) [2216483] - redhat: configs: Add unset CONFIG_TYPEC_MUX_GPIO_SBU option (Desnes Nunes) [2216483] - usb: typec: mux: Add On Semi fsa4480 driver (Desnes Nunes) [2216483] - dt-bindings: usb: Add binding for fcs,fsa4480 (Desnes Nunes) [2216483] - dt-bindings: usb: Introduce GPIO-based SBU mux (Desnes Nunes) [2216483] - usb: host: ehci-fsl: Use DRV_NAME (Desnes Nunes) [2216483] - usb: typec: maxim_contaminant: Implement check_contaminant callback (Desnes Nunes) [2216483] - usb: typec: tcpci: Add callback for evaluating contaminant presence (Desnes Nunes) [2216483] - usb: typec: tcpm: Add callbacks to mitigate wakeups due to contaminant (Desnes Nunes) [2216483] - usb: typec: Make bus switch code retimer-aware (Desnes Nunes) [2216483] - usb: typec: retimer: Use device type for matching (Desnes Nunes) [2216483] - usb: typec: Add wrapper for bus switch set code (Desnes Nunes) [2216483] - usb: typec: Add retimer handle to port altmode (Desnes Nunes) [2216483] - usb: typec: tipd: Support wakeup (Desnes Nunes) [2216483] - dt-bindings: usb: tps6598x: Add wakeup property (Desnes Nunes) [2216483] - USB: fix memory leak with using debugfs_lookup() (Desnes Nunes) [2216483] - usb: typec: intel_pmc_mux: Deduplicate ACPI matching in probe (Desnes Nunes) [2216483] - usb: typec: intel_pmc_mux: Don't leak the ACPI device reference count (Desnes Nunes) [2216483] - usb: typec: tcpci: Request IRQ with IRQF_SHARED (Desnes Nunes) [2216483] - USB: Improve usb_fill_* documentation (Desnes Nunes) [2216483] - usb: typec: hd3ss3220: Add polling support (Desnes Nunes) [2216483] - dt-bindings: usb: ti,hd3ss3220: Update interrupt property as optional (Desnes Nunes) [2216483] - dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema (Desnes Nunes) [2216483] - dt-bindings: Convert usb-connector to YAML format. (Desnes Nunes) [2216483] - dt-bindings: usb: rt1711h: Add connector bindings (Desnes Nunes) [2216483] - dt-bindings: usb: hd3ss3220 device tree binding document (Desnes Nunes) [2216483] - thunderbolt: Add support for DisplayPort bandwidth allocation mode (Desnes Nunes) [2216483] - thunderbolt: Include the additional DP IN double word in debugfs dump (Desnes Nunes) [2216483] - thunderbolt: Add functions to support DisplayPort bandwidth allocation mode (Desnes Nunes) [2216483] - thunderbolt: Increase timeout of DP OUT adapter handshake (Desnes Nunes) [2216483] - thunderbolt: Take CL states into account when waiting for link to come up (Desnes Nunes) [2216483] - thunderbolt: Improve debug logging in tb_available_bandwidth() (Desnes Nunes) [2216483] - thunderbolt: Log DP adapter type (Desnes Nunes) [2216483] - thunderbolt: Use decimal port number in control and tunnel logs too (Desnes Nunes) [2216483] - media: uvcvideo: Silence memcpy() run-time false positive warnings (Desnes Nunes) [2216483] - media: uvcvideo: Quirk for autosuspend in Logitech B910 and C910 (Desnes Nunes) [2216483] - media: uvcvideo: Fix race condition with usb_kill_urb (Desnes Nunes) [2216483] - media: uvcvideo: Use standard names for menus (Desnes Nunes) [2216483] - media: uvcvideo: Fix power line control for Lenovo Integrated Camera (Desnes Nunes) [2216483] - media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value (Desnes Nunes) [2216483] - media: v4l: common: Fix naming of v4l2_get_link_rate (Desnes Nunes) [2216483] - media: ipu3-cio2: Use v4l2_get_link_freq helper (Desnes Nunes) [2216483] - media: ipu3-cio2: Update Copyright year and fix indentation issues (Desnes Nunes) [2216483] - media: v4l: Add a helper for obtaining the link frequency (Desnes Nunes) [2216483] - media: v4l2-common: add RGB565 and RGB55 to v4l2_format_info (Desnes Nunes) [2216483] - media: v4l2-common: add pixel encoding support (Desnes Nunes) [2216483] - media: v4l2-common: add support for new RGB32 pixelformats (Desnes Nunes) [2216483] - media: v4l2-common: add bayer formats in v4l2_format_info (Desnes Nunes) [2216483] - media: v4l2-common: Add an helper to apply frmsize constraints (Desnes Nunes) [2216483] - media: v4l2-common: Fix v4l2_fill_pixfmt[_mp]() prototypes (Desnes Nunes) [2216483] - media: Introduce helpers to fill pixel format structs (Desnes Nunes) [2216483] - media: uvcvideo: Refactor power_line_frequency_controls_limited (Desnes Nunes) [2216483] - media: uvcvideo: Refactor uvc_ctrl_mappings_uvcXX (Desnes Nunes) [2216483] - media: uvcvideo: Implement mask for V4L2_CTRL_TYPE_MENU (Desnes Nunes) [2216483] - media: uvcvideo: Extend documentation of uvc_video_clock_decode() (Desnes Nunes) [2216483] - media: uvcvideo: Refactor __uvc_ctrl_add_mapping (Desnes Nunes) [2216483] - media: uvcvideo: Undup use uvc_endpoint_max_bpi() code (Desnes Nunes) [2216483] - media: uvcvideo: Simplify uvc_endpoint_max_bpi() (Desnes Nunes) [2216483] - media: uvcvideo: Fix memory leak if uvc_ctrl_add_mapping fails (Desnes Nunes) [2216483] - media: uvcvideo: Avoid returning invalid controls (Desnes Nunes) [2216483] - media: uvcvideo: Avoid invalid memory access (Desnes Nunes) [2216483] - media: uvcvideo: Set the colorspace as sRGB if undefined (Desnes Nunes) [2216483] - media: uvcvideo: Fix memory leak of object map on error exit path (Desnes Nunes) [2216483] - media: uvcvideo: Fix handling on Bitmask controls (Desnes Nunes) [2216483] - media: uvcvideo: Do not return positive errors in uvc_query_ctrl() (Desnes Nunes) [2216483] - media: uvcvideo: Return -EACCES for Wrong state error (Desnes Nunes) [2216483] - media: uvcvideo: Improve error logging in uvc_query_ctrl() (Desnes Nunes) [2216483] - media: uvcvideo: Check for INACTIVE in uvc_ctrl_is_accessible() (Desnes Nunes) [2216483] - media: uvcvideo: Factor out usb_string() calls (Desnes Nunes) [2216483] - media: uvcvideo: Limit power line control for Acer EasyCamera (Desnes Nunes) [2216483] - media: uvcvideo: Recover stalled ElGato devices (Desnes Nunes) [2216483] - media: uvcvideo: Remove void casting for the status endpoint (Desnes Nunes) [2216483] - media: uvcvideo: Increase UVC_CTRL_CONTROL_TIMEOUT to 5 seconds. (Desnes Nunes) [2216483] - media: uvcvideo: Fix usage of symbolic permissions to octal (Desnes Nunes) [2216483] - media: uvcvideo: Fix assignment inside if condition (Desnes Nunes) [2216483] - media: uvcvideo: Fix missing newline after declarations (Desnes Nunes) [2216483] - media: uvcvideo: Handle errors from calls to usb_string (Desnes Nunes) [2216483] - media: uvcvideo: Only create input devs if hw supports it (Desnes Nunes) [2216483] - media: uvcvideo: Handle cameras with invalid descriptors (Desnes Nunes) [2216483] - media: uvcvideo: Remove format descriptions (Desnes Nunes) [2216483] - media: docs: Document the behaviour of uvcvideo driver (Desnes Nunes) [2216483] - media: uvcvideo: Set error_idx during ctrl_commit errors (Desnes Nunes) [2216483] - media: uvcvideo: Check controls flags before accessing them (Desnes Nunes) [2216483] - media: uvcvideo: Use control names from framework (Desnes Nunes) [2216483] - media: uvcvideo: Set unique vdev name based in type (Desnes Nunes) [2216483] - media: uvcvideo: Use dev->name for querycap() (Desnes Nunes) [2216483] - media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS (Desnes Nunes) [2216483] - media: uvcvideo: Set capability in s_param (Desnes Nunes) [2216483] - media: uvcvideo: Remove s_ctrl and g_ctrl (Desnes Nunes) [2216483] - media: v4l2-ioctl: S_CTRL output the right value (Desnes Nunes) [2216483] - media: uvcvideo: Do not check for V4L2_CTRL_WHICH_DEF_VAL (Desnes Nunes) [2216483] - media: pvrusb2: Do not check for V4L2_CTRL_WHICH_DEF_VAL (Desnes Nunes) [2216483] - media: v4l2-ioctl: Fix check_ext_ctrls (Desnes Nunes) [2216483] - net: thunderbolt: Add tracepoints (Desnes Nunes) [2216483] - net: thunderbolt: Add debugging when sending/receiving control packets (Desnes Nunes) [2216483] - net: thunderbolt: Move into own directory (Desnes Nunes) [2216483] - xhci: Convert to use list_count_nodes() (Desnes Nunes) [2216483] - usb: typec: ucsi: Register USB Power Delivery Capabilities (Desnes Nunes) [2216483] - xhci: Add hub_control to xhci_driver_overrides (Desnes Nunes) [2216483] - xhci: hub: export symbol on xhci_hub_control (Desnes Nunes) [2216483] - usb: typec: altmodes/displayport: Add hpd sysfs attribute (Desnes Nunes) [2216483] - usb: typec: altmodes/displayport: Notify drm subsys of (Desnes Nunes) [2216483] - usb: typec: altmodes/displayport: Make dp_altmode_notify() more generic (Desnes Nunes) [2216483] - thunderbolt: Refactor tb_acpi_add_link() (Desnes Nunes) [2216483] - thunderbolt: Use correct type in tb_port_is_clx_enabled() prototype (Desnes Nunes) [2216483] - x86/microcode: avoid unused variable warning (John B. Wyatt IV) [2222817]- [rt] build kernel-rt-4.18.0-503.rt7.292.el8 [2180997] - s390/diag: fix display of diagnose call statistics (Tobias Huschle) [2187995] - rseq, ptrace: Add PTRACE_GET_RSEQ_CONFIGURATION request (Adrian Reber) [2218454] - locking/rwbase: Mitigate indefinite writer starvation (Eder Zulian) [2077282] - fbcon: Check font dimension limits (Ricardo Robaina) [2213491] {CVE-2023-3161} - libnvdimm: Notify disk drivers to revalidate region read-only (Jeff Moyer) [1999673] - nvdimm/region: always show the 'align' attribute (Jeff Moyer) [1999673] - nvdimm/region: Fix default alignment for small regions (Jeff Moyer) [1999673] - libnvdimm/region: Allow setting align attribute on regions without mappings (Jeff Moyer) [1999673] - KVM: SVM: Return the local "r" variable from svm_set_msr() (Emanuele Giuseppe Esposito) [2124598] - KVM: x86: Virtualize FLUSH_L1D and passthrough MSR_IA32_FLUSH_CMD (Emanuele Giuseppe Esposito) [2124598] - KVM: x86: Move MSR_IA32_PRED_CMD WRMSR emulation to common code (Emanuele Giuseppe Esposito) [2124598] - KVM: SVM: Passthrough MSR_IA32_PRED_CMD based purely on host+guest CPUID (Emanuele Giuseppe Esposito) [2124598] - KVM: VMX: Passthrough MSR_IA32_PRED_CMD based purely on host+guest CPUID (Emanuele Giuseppe Esposito) [2124598] - KVM: x86: Revert MSR_IA32_FLUSH_CMD.FLUSH_L1D enabling (Emanuele Giuseppe Esposito) [2124598] - kvm: x86: Advertise FLUSH_L1D to user space (Emanuele Giuseppe Esposito) [2124598] - kvm: svm: Add IA32_FLUSH_CMD guest support (Emanuele Giuseppe Esposito) [2124598] - kvm: vmx: Add IA32_FLUSH_CMD guest support (Emanuele Giuseppe Esposito) [2124598] - rtc: lib_test: add MODULE_LICENSE (Lenny Szubowicz) [2207975] - rtc: efi: Remove the repeated module alias (Lenny Szubowicz) [2207975] - efi/efivars: Set generic ops before loading SSDT (Lenny Szubowicz) [2207975] - efi: efibc: check for efivars write capability (Lenny Szubowicz) [2207975] - efi/efivars: Expose RT service availability via efivars abstraction (Lenny Szubowicz) [2207975] - integrity: Check properly whether EFI GetVariable() is available (Lenny Szubowicz) [2207975] - x86/ima: Use EFI GetVariable only when available (Lenny Szubowicz) [2207975] - efi: Use EFI ResetSystem only when available (Lenny Szubowicz) [2207975] - scsi: iscsi: Use EFI GetVariable only when available (Lenny Szubowicz) [2207975] - infiniband: hfi1: Use EFI GetVariable only when available (Lenny Szubowicz) [2207975] - efi: Register EFI rtc platform device only when available (Lenny Szubowicz) [2207975] - efi: Use more granular check for availability for variable services (Lenny Szubowicz) [2207975] - efi: mark all efi runtime services as unsupported on non-efi boot (Lenny Szubowicz) [2207975] - efi: Add support for EFI_RT_PROPERTIES table (Lenny Szubowicz) [2207975] - crypto: ccp - Add support for PCI device 0x156E (Vladis Dronov) [2180960] - crypto: ccp - Add support for PCI device 0x17E0 (Vladis Dronov) [2180960] - crypto: ccp - Validate that platform access mailbox registers are declared (Vladis Dronov) [2180960] - crypto: ccp - Use lower 8 bytes to communicate with doorbell command register (Vladis Dronov) [2180960] - crypto: ccp - Return doorbell status code as an argument (Vladis Dronov) [2180960] - crypto: ccp - Bump up doorbell debug message to error (Vladis Dronov) [2180960] - crypto: ccp - Drop extra doorbell checks (Vladis Dronov) [2180960] - crypto: ccp - Don't initialize CCP for PSP 0x1649 (Vladis Dronov) [2180960] - crypto: ccp - Clear PSP interrupt status register before calling handler (Vladis Dronov) [2180960] - crypto: ccp - Add support for ringing a platform doorbell (Vladis Dronov) [2180960] - crypto: ccp - Enable platform access interface on client PSP parts (Vladis Dronov) [2180960] - crypto: ccp - Add support for an interface for platform features (Vladis Dronov) [2180960] - crypto: ccp - Move some PSP mailbox bit definitions into common header (Vladis Dronov) [2180960] - crypto: ccp - Add a header for multiple drivers to use `__psp_pa` (Vladis Dronov) [2180960] - crypto: ccp - Drop TEE support for IRQ handler (Vladis Dronov) [2180960] - crypto: ccp: Get rid of __sev_platform_init_locked()'s local function pointer (Vladis Dronov) [2180960] - crypto: ccp - Name -1 return value as SEV_RET_NO_FW_CALL (Vladis Dronov) [2180960] - crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware (Vladis Dronov) [2180960] - crypto: ccp - Add a firmware definition for EPYC gen 4 processors (Vladis Dronov) [2180960] - crypto: ccp - Provide MMIO register naming for documenation (Vladis Dronov) [2180960] - redhat/configs: enable CONFIG_INTEL_UNCORE_FREQ_CONTROL for x86_64 (David Arcari) [2156826] - platform/x86/intel-uncore-freq: Return error on write frequency (David Arcari) [2156826] - platform/x86: intel-uncore-freq: Add client processors (David Arcari) [2156826] - platform/x86: intel-uncore-freq: add Emerald Rapids support (David Arcari) [2156826] - platform/x86: intel-uncore-freq: Use sysfs_emit() to instead of scnprintf() (David Arcari) [2156826] - platform/x86: intel-uncore-freq: Prevent driver loading in guests (David Arcari) [2156826] - platform/x86: intel-uncore-freq: fix uncore_freq_common_init() error codes (David Arcari) [2156826] - platform/x86/intel-uncore-freq: Split common and enumeration part (David Arcari) [2156826] - platform/x86/intel/uncore-freq: Display uncore current frequency (David Arcari) [2156826] - platform/x86/intel/uncore-freq: Use sysfs API to create attributes (David Arcari) [2156826] - platform/x86/intel/uncore-freq: Move to uncore-frequency folder (David Arcari) [2156826] - platform/x86: intel-uncore-frequency: use default_groups in kobj_type (David Arcari) [2156826] - platform/x86: intel-uncore-frequency: Move to intel sub-directory (David Arcari) [2156826] - platform/x86/intel-uncore-freq: Add Sapphire Rapids server support (David Arcari) [2156826] - platform/x86/intel-uncore-freq: make uncore_root_kobj static (David Arcari) [2156826] - platform/x86: Convert to new CPU match macros (David Arcari) [2156826] - platform/x86/intel-uncore-freq: Add release callback (David Arcari) [2156826] - platform/x86/intel-uncore-freq: Fix static checker issue and potential race condition (David Arcari) [2156826] - MAINTAINERS: Update for the intel uncore frequency control (David Arcari) [2156826] - platform/x86: Add support for Uncore frequency control (David Arcari) [2156826]- [rt] build kernel-rt-4.18.0-502.rt7.291.el8 [2180997] - x86/microcode: avoid unused variable warning (John B. Wyatt IV) [2222369] - ceph: fix use-after-free bug for inodes when flushing capsnaps (Xiubo Li) [2209299] - net/tls: tls_is_tx_ready() checked list_entry (Sabrina Dubroca) [2212178] {CVE-2023-1075} - Revert "RDMA/umem: remove FOLL_FORCE usage" (Kamal Heib) [2210153 2210849] - Revert "RDMA/core: Refactor rdma_bind_addr" (Kamal Heib) [2212211 2212217] - cpufreq: intel_pstate: Fix scaling for hybrid-capable systems with disabled E-cores (David Arcari) [2221276] - netfilter: nf_tables: fix scheduling-while-atomic splat (Phil Sutter) [2217731] - netfilter: nf_tables: add rescheduling points during loop detection walks (Phil Sutter) [2217731] - ipv6: Remove dependency of ipv6_frag_thdr_truncated on ipv6 module (Phil Sutter) [2217794] - ipv6/netfilter: Discard first fragment not including all headers (Phil Sutter) [2217794] - s390/ipl: add eckd dump support (Tobias Huschle) [2159695] - net/smc: fix document build WARNING from smc-sysctl.rst (Tobias Huschle) [2159734] - s390/ism: switch from 'pci_' to 'dma_' API (Tobias Huschle) [2159734] - net/smc: Fix device de-init sequence (Tobias Huschle) [2159734] - net/smc: fix deadlock triggered by cancel_delayed_work_syn() (Tobias Huschle) [2159734] - net/smc: fix NULL sndbuf_desc in smc_cdc_tx_handler() (Tobias Huschle) [2159734] - net/smc: fix fallback failed while sendmsg with fastopen (Tobias Huschle) [2159734] - net/smc: fix application data exception (Tobias Huschle) [2159734] - net/smc: replace mutex rmbs_lock and sndbufs_lock with rw_semaphore (Tobias Huschle) [2159734] - net/smc: reduce unnecessary blocking in smcr_lgr_reg_rmbs() (Tobias Huschle) [2159734] - net/smc: use read semaphores to reduce unnecessary blocking in smc_buf_create() & smcr_buf_unuse() (Tobias Huschle) [2159734] - net/smc: llc_conf_mutex refactor, replace it with rw_semaphore (Tobias Huschle) [2159734] - net: add missing includes of linux/splice.h (Tobias Huschle) [2159734] - net/smc: De-tangle ism and smc device initialization (Tobias Huschle) [2159734] - s390/ism: Consolidate SMC-D-related code (Tobias Huschle) [2159734] - net/smc: Separate SMC-D and ISM APIs (Tobias Huschle) [2159734] - net/smc: Register SMC-D as ISM client (Tobias Huschle) [2159734] - net/ism: Add new API for client registration (Tobias Huschle) [2159734] - s390/ism: Introduce struct ism_dmb (Tobias Huschle) [2159734] - net/ism: Add missing calls to disable bus-mastering (Tobias Huschle) [2159734] - net/smc: Terminate connections prior to device removal (Tobias Huschle) [2159734] - net/smc: Fix possible leaked pernet namespace in smc_init() (Tobias Huschle) [2159734] - net/smc: Fix an error code in smc_lgr_create() (Tobias Huschle) [2159734] - net/smc: Support SO_REUSEPORT (Tobias Huschle) [2159734] - net/smc: Introduce a specific sysctl for TEST_LINK time (Tobias Huschle) [2159734] - net/smc: Stop the CLC flow if no link to map buffers on (Tobias Huschle) [2159734] - net/smc: Fix possible access to freed memory in link clear (Tobias Huschle) [2159734] - net/smc: Remove redundant refcount increase (Tobias Huschle) [2159734] - net/smc: Enable module load on netlink usage (Tobias Huschle) [2159734] - net/smc: Pass on DMBE bit mask in IRQ handler (Tobias Huschle) [2159734] - s390/ism: Cleanups (Tobias Huschle) [2159734] - net/smc: Eliminate struct smc_ism_position (Tobias Huschle) [2159734] - tcp: Fix data-races around keepalive sysctl knobs. (Tobias Huschle) [2159734] - net/smc: Extend SMC-R link group netlink attribute (Tobias Huschle) [2159734] - net/smc: Allow virtually contiguous sndbufs or RMBs for SMC-R (Tobias Huschle) [2159734] - net/smc: Use sysctl-specified types of buffers in new link group (Tobias Huschle) [2159734] - net/smc: Introduce a sysctl for setting SMC-R buffer type (Tobias Huschle) [2159734] - net/smc: optimize for smc_sndbuf_sync_sg_for_device and smc_rmb_sync_sg_for_cpu (Tobias Huschle) [2159734] - net/smc: remove redundant dma sync ops (Tobias Huschle) [2159734] - net/smc: fixes for converting from "struct smc_cdc_tx_pend **" to "struct smc_wr_tx_pend_priv *" (Tobias Huschle) [2159734] - net/smc: set ini->smcrv2.ib_dev_v2 to NULL if SMC-Rv2 is unavailable (Tobias Huschle) [2159734] - net/smc: postpone sk_refcnt increment in connect() (Tobias Huschle) [2159734] - net/smc: rdma write inline if qp has sufficient inline space (Tobias Huschle) [2159734] - net/smc: send cdc msg inline if qp has sufficient inline space (Tobias Huschle) [2159734] - net/smc: align the connect behaviour with TCP (Tobias Huschle) [2159734] - net/smc: non blocking recvmsg() return -EAGAIN when no data and signal_pending (Tobias Huschle) [2159734] - net/smc: Fix slab-out-of-bounds issue in fallback (Tobias Huschle) [2159734] - net/smc: Only save the original clcsock callback functions (Tobias Huschle) [2159734] - net/smc: sync err code when tcp connection was refused (Tobias Huschle) [2159734] - net/smc: Fix sock leak when release after smc_shutdown() (Tobias Huschle) [2159734] - net/smc: Send out the remaining data in sndbuf before close (Tobias Huschle) [2159734] - net/smc: fix a memory leak in smc_sysctl_net_exit() (Tobias Huschle) [2159734] - net/smc: fix -Wmissing-prototypes warning when CONFIG_SYSCTL not set (Tobias Huschle) [2159734] - net/smc: fix compile warning for smc_sysctl (Tobias Huschle) [2159734] - net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server (Tobias Huschle) [2159734] - net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client (Tobias Huschle) [2159734] - net: smc: fix different types in min() (Tobias Huschle) [2159734] - net/smc: don't send in the BH context if sock_owned_by_user (Tobias Huschle) [2159734] - net/smc: correct settings of RMB window update limit (Tobias Huschle) [2159734] - net/smc: send directly on setting TCP_NODELAY (Tobias Huschle) [2159734] - net/smc: add sysctl for autocorking (Tobias Huschle) [2159734] - net/smc: add autocorking support (Tobias Huschle) [2159734] - net/smc: add sysctl interface for SMC (Tobias Huschle) [2159734] - x86/resctrl: Clear staged_config[] before and after it is used (Prarit Bhargava) [1989284] - x86/resctl: fix scheduler confusion with 'current' (Prarit Bhargava) [1989284] - x86/resctrl: Fix a silly -Wunused-but-set-variable warning (Prarit Bhargava) [1989284] - x86/resctrl: Add interface to write mbm_local_bytes_config (Prarit Bhargava) [1989284] - x86/resctrl: Add interface to write mbm_total_bytes_config (Prarit Bhargava) [1989284] - x86/resctrl: Add interface to read mbm_local_bytes_config (Prarit Bhargava) [1989284] - x86/resctrl: Add interface to read mbm_total_bytes_config (Prarit Bhargava) [1989284] - x86/resctrl: Support monitor configuration (Prarit Bhargava) [1989284] - x86/resctrl: Add __init attribute to rdt_get_mon_l3_config() (Prarit Bhargava) [1989284] - x86/resctrl: Detect and configure Slow Memory Bandwidth Allocation (Prarit Bhargava) [1989284] - x86/cpufeatures: Add Bandwidth Monitoring Event Configuration feature flag (Prarit Bhargava) [1989284] - x86/cpufeatures: Add Slow Memory Bandwidth Allocation feature flag (Prarit Bhargava) [1989284] - x86/resctrl: Include new features in command line options (Prarit Bhargava) [1989284] - x86/resctrl: Add a new resource type RDT_RESOURCE_SMBA (Prarit Bhargava) [1989284] - x86/resctrl: Replace smp_call_function_many() with on_each_cpu_mask() (Prarit Bhargava) [1989284] - x86/resctrl: Fix event counts regression in reused RMIDs (Prarit Bhargava) [1989284] - x86/resctrl: Fix task CLOSID/RMID update race (Prarit Bhargava) [1989284] - x86/resctrl: Move MSR defines into msr-index.h (Prarit Bhargava) [1989284] - x86/resctrl: Remove arch_has_empty_bitmaps (Prarit Bhargava) [1989284] - x86/resctrl: Fix min_cbm_bits for AMD (Prarit Bhargava) [1989284] - x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes (Prarit Bhargava) [1989284] - x86/resctrl: Add resctrl_rmid_realloc_limit to abstract x86's boot_cpu_data (Prarit Bhargava) [1989284] - x86/resctrl: Rename and change the units of resctrl_cqm_threshold (Prarit Bhargava) [1989284] - x86/resctrl: Move get_corrected_mbm_count() into resctrl_arch_rmid_read() (Prarit Bhargava) [1989284] - x86/resctrl: Move mbm_overflow_count() into resctrl_arch_rmid_read() (Prarit Bhargava) [1989284] - x86/resctrl: Pass the required parameters into resctrl_arch_rmid_read() (Prarit Bhargava) [1989284] - x86/resctrl: Abstract __rmid_read() (Prarit Bhargava) [1989284] - x86/resctrl: Allow per-rmid arch private storage to be reset (Prarit Bhargava) [1989284] - x86/resctrl: Add per-rmid arch private storage for overflow and chunks (Prarit Bhargava) [1989284] - x86/resctrl: Calculate bandwidth from the previous __mon_event_count() chunks (Prarit Bhargava) [1989284] - x86/resctrl: Allow update_mba_bw() to update controls directly (Prarit Bhargava) [1989284] - x86/resctrl: Remove architecture copy of mbps_val (Prarit Bhargava) [1989284] - x86/resctrl: Switch over to the resctrl mbps_val list (Prarit Bhargava) [1989284] - x86/resctrl: Create mba_sc configuration in the rdt_domain (Prarit Bhargava) [1989284] - x86/resctrl: Abstract and use supports_mba_mbps() (Prarit Bhargava) [1989284] - x86/resctrl: Remove set_mba_sc()s control array re-initialisation (Prarit Bhargava) [1989284] - x86/resctrl: Add domain offline callback for resctrl work (Prarit Bhargava) [1989284] - x86/resctrl: Group struct rdt_hw_domain cleanup (Prarit Bhargava) [1989284] - x86/resctrl: Add domain online callback for resctrl work (Prarit Bhargava) [1989284] - x86/resctrl: Merge mon_capable and mon_enabled (Prarit Bhargava) [1989284] - x86/resctrl: Kill off alloc_enabled (Prarit Bhargava) [1989284] - x86/resctrl: Fix to restore to original value when re-enabling hardware prefetch register (Prarit Bhargava) [1989284] - x86: Replace cpumask_weight() with cpumask_empty() where appropriate (Prarit Bhargava) [1989284] - x86/resctrl: Remove redundant assignment to variable chunks (Prarit Bhargava) [1989284] - x86/resctrl: Fix kfree() of the wrong type in domain_add_cpu() (Prarit Bhargava) [1989284] - x86/resctrl: Free the ctrlval arrays when domain_setup_mon_state() fails (Prarit Bhargava) [1989284] - x86/resctrl: Make resctrl_arch_get_config() return its value (Prarit Bhargava) [1989284] - x86/resctrl: Merge the CDP resources (Prarit Bhargava) [1989284] - x86/resctrl: Expand resctrl_arch_update_domains()'s msr_param range (Prarit Bhargava) [1989284] - x86/resctrl: Remove rdt_cdp_peer_get() (Prarit Bhargava) [1989284] - x86/resctrl: Merge the ctrl_val arrays (Prarit Bhargava) [1989284] - x86/resctrl: Calculate the index from the configuration type (Prarit Bhargava) [1989284] - x86/resctrl: Apply offset correction when config is staged (Prarit Bhargava) [1989284] - x86/resctrl: Make ctrlval arrays the same size (Prarit Bhargava) [1989284] - x86/resctrl: Pass configuration type to resctrl_arch_get_config() (Prarit Bhargava) [1989284] - x86/resctrl: Add a helper to read a closid's configuration (Prarit Bhargava) [1989284] - x86/resctrl: Rename update_domains() to resctrl_arch_update_domains() (Prarit Bhargava) [1989284] - x86/resctrl: Allow different CODE/DATA configurations to be staged (Prarit Bhargava) [1989284] - x86/resctrl: Group staged configuration into a separate struct (Prarit Bhargava) [1989284] - x86/resctrl: Move the schemata names into struct resctrl_schema (Prarit Bhargava) [1989284] - x86/resctrl: Add a helper to read/set the CDP configuration (Prarit Bhargava) [1989284] - x86/resctrl: Swizzle rdt_resource and resctrl_schema in pseudo_lock_region (Prarit Bhargava) [1989284] - x86/resctrl: Pass the schema to resctrl filesystem functions (Prarit Bhargava) [1989284] - x86/resctrl: Add resctrl_arch_get_num_closid() (Prarit Bhargava) [1989284] - x86/resctrl: Store the effective num_closid in the schema (Prarit Bhargava) [1989284] - x86/resctrl: Walk the resctrl schema list instead of an arch list (Prarit Bhargava) [1989284] - x86/resctrl: Label the resources with their configuration type (Prarit Bhargava) [1989284] - x86/resctrl: Pass the schema in info dir's private pointer (Prarit Bhargava) [1989284] - x86/resctrl: Add a separate schema list for resctrl (Prarit Bhargava) [1989284] - x86/resctrl: Split struct rdt_domain (Prarit Bhargava) [1989284] - x86/resctrl: Split struct rdt_resource (Prarit Bhargava) [1989284] - x86/resctrl: Include pid.h (Prarit Bhargava) [1989284] - x86/resctrl: Fix kernel-doc in internal.h (Prarit Bhargava) [1989284] - x86/resctrl: Fix kernel-doc in pseudo_lock.c (Prarit Bhargava) [1989284] - x86/resctrl: Fix init const confusion (Prarit Bhargava) [1989284] - x86/resctrl: Fix various typos in comments, take #2 (Prarit Bhargava) [1989284] - x86/resctrl: Fix various typos in comments (Prarit Bhargava) [1989284] - x86/resctrl: Apply READ_ONCE/WRITE_ONCE to task_struct.{rmid,closid} (Prarit Bhargava) [1989284] - x86/resctrl: Use task_curr() instead of task_struct->on_cpu to prevent unnecessary IPI (Prarit Bhargava) [1989284] - x86/resctrl: Add printf attribute to log function (Prarit Bhargava) [1989284] - x86/resctrl: Don't move a task to the same resource group (Prarit Bhargava) [1989284] - x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR (Prarit Bhargava) [1989284] - x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled (Prarit Bhargava) [1989284] - x86/resctrl: Clean up unused function parameter in rmdir path (Prarit Bhargava) [1989284] - x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak (Prarit Bhargava) [1989284] - x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak (Prarit Bhargava) [1989284] - x86/resctrl: Constify kernfs_ops (Prarit Bhargava) [1989284] - x86/resctrl: Correct MBM total and local values (Prarit Bhargava) [1989284] - x86/include/asm/msr-index.h: Add IFS Array test bits (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Update IFS doc (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Implement Array BIST test (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Sysfs interface for Array BIST (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Introduce Array Scan test to IFS (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: IFS cleanup (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Reorganize driver data (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Separate ifs_pkg_auth from ifs_data (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add missing kernel-doc entry (Prarit Bhargava) [1971937] - Revert "platform/x86/intel/ifs: Mark as BROKEN" (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add current_batch sysfs entry (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Remove reload sysfs entry (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add metadata validation (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Use generic microcode headers and functions (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add metadata support (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Remove memory allocation from load path (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Remove image loading during init (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Return a more appropriate error code (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Remove unused selection (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Mark as BROKEN (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add CPU_SUP_INTEL dependency (Prarit Bhargava) [1971937] - Documentation: In-Field Scan (Prarit Bhargava) [1971937] - redhat/configs: Add CONFIG_INTEL_IFS (Prarit Bhargava) [1971937] - redhat/configs: Add CONFIG_MICROCODE_LATE_LOADING (Prarit Bhargava) [1971937] - stop_machine: Add stop_core_cpuslocked() for per-core operations (Prarit Bhargava) [1971937] - trace: platform/x86/intel/ifs: Add trace point to track Intel IFS operations (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add IFS sysfs interface (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add scan test support (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Authenticate and copy to secured memory (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Check IFS Image sanity (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Read IFS firmware image (Prarit Bhargava) [1971937] - platform/x86/intel/ifs: Add stub driver for In-Field Scan (Prarit Bhargava) [1971937] - x86/msr-index: Define INTEGRITY_CAPABILITIES MSR (Prarit Bhargava) [1971937] - x86/microcode/core: Return an error only when necessary (Prarit Bhargava) [1971937] - x86/microcode/AMD: Fix mixed steppings support (Prarit Bhargava) [1971937] - x86/microcode/AMD: Add a @cpu parameter to the reloading functions (Prarit Bhargava) [1971937] - x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter (Prarit Bhargava) [1971937] - x86/microcode: Allow only "1" as a late reload trigger value (Prarit Bhargava) [1971937] - x86/microcode/intel: Print old and new revision during early boot (Prarit Bhargava) [1971937] - x86/microcode/intel: Pass the microcode revision to print_ucode_info() directly (Prarit Bhargava) [1971937] - x86/microcode: Adjust late loading result reporting message (Prarit Bhargava) [1971937] - x86/microcode: Check CPU capabilities after late microcode update correctly (Prarit Bhargava) [1971937] - x86/microcode: Add a parameter to microcode_check() to store CPU capabilities (Prarit Bhargava) [1971937] - x86/microcode: Use the DEVICE_ATTR_RO() macro (Prarit Bhargava) [1971937] - x86/microcode/AMD: Handle multiple glued containers properly (Prarit Bhargava) [1971937] - x86/microcode/AMD: Rename a couple of functions (Prarit Bhargava) [1971937] - x86/microcode/intel: Do not retry microcode reloading on the APs (Prarit Bhargava) [1971937] - x86/microcode/intel: Do not print microcode revision and processor flags (Prarit Bhargava) [1971937] - x86/microcode/intel: Use a reserved field for metasize (Prarit Bhargava) [1971937] - x86/microcode/intel: Add hdr_type to intel_microcode_sanity_check() (Prarit Bhargava) [1971937] - x86/microcode/intel: Reuse microcode_sanity_check() (Prarit Bhargava) [1971937] - x86/microcode/intel: Use appropriate type in microcode_sanity_check() (Prarit Bhargava) [1971937] - x86/microcode/intel: Reuse find_matching_signature() (Prarit Bhargava) [1971937] - x86/microcode: Drop struct ucode_cpu_info.valid (Prarit Bhargava) [1971937] - x86/microcode: Do some minor fixups (Prarit Bhargava) [1971937] - x86/microcode: Kill refresh_fw (Prarit Bhargava) [1971937] - x86/microcode: Simplify init path even more (Prarit Bhargava) [1971937] - x86/microcode: Rip out the subsys interface gunk (Prarit Bhargava) [1971937] - x86/microcode/AMD: Track patch allocation size explicitly (Prarit Bhargava) [1971937] - x86/microcode: Print previous version of microcode after reload (Prarit Bhargava) [1971937] - x86/microcode: Remove ->request_microcode_user() (Prarit Bhargava) [1971937] - misc: Mark MICROCODE_MINOR unused (Prarit Bhargava) [1971937] - x86/microcode: Remove unnecessary perf callback (Prarit Bhargava) [1971937] - x86/microcode: Taint and warn on late loading (Prarit Bhargava) [1971937] - x86/microcode: Default-disable late loading (Prarit Bhargava) [1971937] - x86/microcode: Rip out the OLD_INTERFACE (Prarit Bhargava) [1971937] - x86/microcode/intel: Expose collect_cpu_info_early() for IFS (Prarit Bhargava) [1971937] - x86/cpu: Load microcode during restore_processor_state() (Prarit Bhargava) [1971937] - microcode: Replace zero-length arrays with flexible-array members (Prarit Bhargava) [1971937] - x86/microcode: Use the firmware_loader built-in API (Prarit Bhargava) [1971937] - firmware: Export firmware_request_builtin() (Prarit Bhargava) [1971937] - x86/microcode: Replace deprecated CPU-hotplug functions. (Prarit Bhargava) [1971937] - x86/microcode: Make microcode_init() static (Prarit Bhargava) [1971937] - x86/microcode/intel: Check patch signature before saving microcode for early loading (Prarit Bhargava) [1971937] - x86/microcode/amd: Remove unneeded break (Prarit Bhargava) [1971937] - x86/microcode: Do not select FW_LOADER (Prarit Bhargava) [1971937] - x86/microcode: Fix return value for microcode late loading (Prarit Bhargava) [1971937] - docs: fix broken documentation links (Prarit Bhargava) [1971937]- [rt] build kernel-rt-4.18.0-501.rt7.290.el8 [2180997] - x86/cpu: Add Xeon Emerald Rapids to list of CPUs that support PPIN (Prarit Bhargava) [2215040] - redhat: configs: increase CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE (Audra Mitchell) [2215423] - docs: admin-guide: Add information about intel_pstate active mode (Prarit Bhargava) [2216962] - net/sched: flower: fix possible OOB write in fl_set_geneve_opt() (Davide Caratti) [2216997] {CVE-2023-35788} - scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity (Tomas Henzl) [2160149] - cifs: missing null pointer check in cifs_mount (Ronnie Sahlberg) [2215018] - cpufreq: intel_pstate: Enable HWP IO boost for all servers (Prarit Bhargava) [2175625] - block: make sure local irq is disabled when calling __blkcg_rstat_flush (Ming Lei) [2208904] - blk-cgroup: Flush stats before releasing blkcg_gq (Ming Lei) [2208904] - scsi: storvsc: Always set no_report_opcodes (Cathy Avery) [2217552] - scsi: storvsc: Don't pass unused PFNs to Hyper-V host (Cathy Avery) [2217552] - scsi: storvsc: Handle BlockSize change in Hyper-V VHD/VHDX file (Cathy Avery) [2217552] - dm thin: fix issue_discard to pass GFP_NOIO to __blkdev_issue_discard (Benjamin Marzinski) [2212240] - dm thin metadata: check fail_io before using data_sm (Benjamin Marzinski) [2215418] - dm: don't lock fs when the map is NULL during suspend or resume (Benjamin Marzinski) [2215418] - redhat/configs: enable CONFIG_MANA_INFINIBAND for RHEL (Kamal Heib) [2188737] - RDMA/mana_ib: Fix a bug when the PF indicates more entries for registering memory on first packet (Kamal Heib) [2188737] - RDMA/mana_ib: Prevent array underflow in mana_ib_create_qp_raw() (Kamal Heib) [2188737] - RDMA/mana: Remove redefinition of basic u64 type (Kamal Heib) [2188737] - RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter (Kamal Heib) [2188737] - net: mana: Define data structures for allocating doorbell page from GDMA (Kamal Heib) [2188737] - Documentation: net: net.core.txrehash is not specific to listening sockets (Antoine Tenart) [2175716] - net: ipv4: use consistent txhash in TIME_WAIT and SYN_RECV (Antoine Tenart) [2175716] - net: tcp: make the txhash available in TIME_WAIT sockets for IPv4 too (Antoine Tenart) [2175716] - net: ipv6: fix skb hash for some RST packets (Antoine Tenart) [2175716] - ipv6: tcp: send consistent autoflowlabel in RST packets (Antoine Tenart) [2175716] - ipv6: tcp: send consistent autoflowlabel in SYN_RECV state (Antoine Tenart) [2175716] - ipv6: tcp: send consistent autoflowlabel in TIME_WAIT state (Antoine Tenart) [2175716] - txhash: fix sk->sk_txrehash default (Antoine Tenart) [2175716] - socket: Don't use u8 type in uapi socket.h (Antoine Tenart) [2175716] - tcp: Change SYN ACK retransmit behaviour to account for rehash (Antoine Tenart) [2175716] - txhash: Add txrehash sysctl description (Antoine Tenart) [2175716] - txhash: Add socket option to control TX hash rethink behavior (Antoine Tenart) [2175716] - txhash: Make rethinking txhash behavior configurable via sysctl (Antoine Tenart) [2175716] - igc: Fix possible system crash when loading module (Corinna Vinschen) [2153370] - igc: Clean the TX buffer and TX descriptor ring (Corinna Vinschen) [2153370] - igc: Avoid transmit queue timeout for XDP (Corinna Vinschen) [2153370] - igc: read before write to SRRCTL register (Corinna Vinschen) [2153370] - igc: Enable and fix RX hash usage by netstack (Corinna Vinschen) [2153370] - igc: Remove obsolete DMA coalescing code (Corinna Vinschen) [2153370] - igc: fix the validation logic for taprio's gate list (Corinna Vinschen) [2153370] - igc: Add ndo_tx_timeout support (Corinna Vinschen) [2153370] - igc: return an error if the mac type is unknown in igc_ptp_systim_to_hwtstamp() (Corinna Vinschen) [2153370] - igc: Remove redundant pci_enable_pcie_error_reporting() (Corinna Vinschen) [2153370] - igc: Fix PPS delta between two synchronized end-points (Corinna Vinschen) [2153370] - igc: Remove reset adapter task for i226 during disable tsn config (Corinna Vinschen) [2153370] - igc: enable Qbv configuration for 2nd GCL (Corinna Vinschen) [2153370] - igc: remove I226 Qbv BaseTime restriction (Corinna Vinschen) [2153370] - igc: Set Qbv start_time and end_time to end_time if not being configured in GCL (Corinna Vinschen) [2153370] - igc: recalculate Qbv end_time by considering cycle time (Corinna Vinschen) [2153370] - igc: allow BaseTime 0 enrollment for Qbv (Corinna Vinschen) [2153370] - igc: Add checking for basetime less than zero (Corinna Vinschen) [2153370] - igc: Use strict cycles for Qbv scheduling (Corinna Vinschen) [2153370] - igc: Enhance Qbv scheduling by using first flag bit (Corinna Vinschen) [2153370] - r8152: fix the autosuspend doesn't work (Jose Ignacio Tornos Martinez) [2159264] - r8152: move setting r8153b_rx_agg_chg_indicate() (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix the poor throughput for 2.5G devices (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix flow control issue of RTL8156A (Jose Ignacio Tornos Martinez) [2159264] - r8152: Add __GFP_NOWARN to big allocations (Jose Ignacio Tornos Martinez) [2159264] - r8152: reduce the control transfer of rtl8152_get_version() (Jose Ignacio Tornos Martinez) [2159264] - r8152: remove rtl_vendor_mode function (Jose Ignacio Tornos Martinez) [2159264] - r8152: avoid to change cfg for all devices (Jose Ignacio Tornos Martinez) [2159264] - r8152: add vendor/device ID pair for Microsoft Devkit (Jose Ignacio Tornos Martinez) [2159264] - cdc_ether: no need to blacklist any r8152 devices (Jose Ignacio Tornos Martinez) [2159264] - r8152: add USB device driver for config selection (Jose Ignacio Tornos Martinez) [2159264] - net: usb: cdc_ether: add support for Thales Cinterion PLS62-W modem (Jose Ignacio Tornos Martinez) [2159264] - net: usb: cdc_ether: add u-blox 0x1343 composition (Jose Ignacio Tornos Martinez) [2159264] - r8152: Add MAC passthrough support for Lenovo Travel Hub (Jose Ignacio Tornos Martinez) [2159264] - r8152: allow userland to disable multicast (Jose Ignacio Tornos Martinez) [2159264] - r8152: add PID for the Lenovo OneLink+ Dock (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix the RX FIFO settings when suspending (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix the units of some registers for RTL8156A (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix a WOL issue (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix accessing unset transport header (Jose Ignacio Tornos Martinez) [2159264] - net: usb: r8152: Add in new Devices that are supported for Mac-Passthru (Jose Ignacio Tornos Martinez) [2159264] - cdc_ether: export usbnet_cdc_zte_rx_fixup (Jose Ignacio Tornos Martinez) [2159264] - USB: zaurus: support another broken Zaurus (Jose Ignacio Tornos Martinez) [2159264] - Revert "net: usb: r8152: Add MAC passthrough support for more Lenovo Docks" (Jose Ignacio Tornos Martinez) [2159264] - r8152: sync ocp base (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix the force speed doesn't work for RTL8156 (Jose Ignacio Tornos Martinez) [2159264] - net: usb: r8152: Add MAC passthrough support for more Lenovo Docks (Jose Ignacio Tornos Martinez) [2159264] - net: usb: use eth_hw_addr_set() for dev->addr_len cases (Jose Ignacio Tornos Martinez) [2159264] - net: usb: use eth_hw_addr_set() instead of ether_addr_copy() (Jose Ignacio Tornos Martinez) [2159264] - r8152: avoid to resubmit rx immediately (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix the maximum number of PLA bp for RTL8153C (Jose Ignacio Tornos Martinez) [2159264] - r8152: fix writing USB_BP2_EN (Jose Ignacio Tornos Martinez) [2159264] - r8152: Fix a deadlock by doubly PM resume (Jose Ignacio Tornos Martinez) [2159264] - r8152: Fix potential PM refcount imbalance (Jose Ignacio Tornos Martinez) [2159264] - r8152: store the information of the pipes (Jose Ignacio Tornos Martinez) [2159264] - r8152: support pauseparam of ethtool_ops (Jose Ignacio Tornos Martinez) [2159264] - r8152: Avoid memcpy() over-reading of ETH_SS_STATS (Jose Ignacio Tornos Martinez) [2159264] - r8152: check the informaton of the device (Jose Ignacio Tornos Martinez) [2159264] - r8152: remove some bit operations (Jose Ignacio Tornos Martinez) [2159264] - r8152: redefine REALTEK_USB_DEVICE macro (Jose Ignacio Tornos Martinez) [2159264] - r8152: remove NCM mode from REALTEK_USB_DEVICE macro (Jose Ignacio Tornos Martinez) [2159264] - r8152: replace return with break for ram code speedup mode timeout (Jose Ignacio Tornos Martinez) [2159264] - r8152: search the configuration of vendor mode (Jose Ignacio Tornos Martinez) [2159264] - r8152: support PHY firmware for RTL8156 series (Jose Ignacio Tornos Martinez) [2159264] - r8152: support new chips (Jose Ignacio Tornos Martinez) [2159264] - r8152: add help function to change mtu (Jose Ignacio Tornos Martinez) [2159264] - r8152: adjust rtl8152_check_firmware function (Jose Ignacio Tornos Martinez) [2159264] - r8152: set inter fram gap time depending on speed (Jose Ignacio Tornos Martinez) [2159264] - r8152: adjust the flow of power cut for RTL8153B (Jose Ignacio Tornos Martinez) [2159264] - treewide: Use fallthrough pseudo-keyword (Jose Ignacio Tornos Martinez) [2159264] - nouveau: fix client work fence deletion race (Jocelyn Falempe) [2160452] - drm/mgag200: Fix gamma lut not initialized. (Jocelyn Falempe) [2160452] - drm/amd/display: Fix hang when skipping modeset (Jocelyn Falempe) [2160452] - drm/amd/display: Lowering min Z8 residency time (Jocelyn Falempe) [2160452] - drm/amd/display: Update minimum stutter residency for DCN314 Z8 (Jocelyn Falempe) [2160452] - drm/amd/display: Add minimum Z8 residency debug option (Jocelyn Falempe) [2160452] - drm/i915: disable sampler indirect state in bindless heap (Jocelyn Falempe) [2160452] - drm/i915/mtl: Add Wa_14017856879 (Jocelyn Falempe) [2160452] - drm/i915/mtl: Add workarounds Wa_14017066071 and Wa_14017654203 (Jocelyn Falempe) [2160452] - drm/i915: Add _PICK_EVEN_2RANGES() (Jocelyn Falempe) [2160452] - drm/amd/display: hpd rx irq not working with eDP interface (Jocelyn Falempe) [2160452] - drm/amd/display: merge dc_link.h into dc.h and dc_types.h (Jocelyn Falempe) [2160452] - drm/amd/pm: avoid potential UBSAN issue on legacy asics (Jocelyn Falempe) [2160452] - drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend (Jocelyn Falempe) [2160452] - drm/amdgpu: drop gfx_v11_0_cp_ecc_error_irq_funcs (Jocelyn Falempe) [2160452] - drm/amd/pm: parse pp_handle under appropriate conditions (Jocelyn Falempe) [2160452] - drm/amd/display: Enforce 60us prefetch for 200Mhz DCFCLK modes (Jocelyn Falempe) [2160452] - drm/amdgpu: Fix vram recover doesn't work after whole GPU reset (v2) (Jocelyn Falempe) [2160452] - drm/amdgpu: change gfx 11.0.4 external_id range (Jocelyn Falempe) [2160452] - drm/amdgpu/jpeg: Remove harvest checking for JPEG3 (Jocelyn Falempe) [2160452] - drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras (Jocelyn Falempe) [2160452] - drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v11_0_hw_fini (Jocelyn Falempe) [2160452] - drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini() (Jocelyn Falempe) [2160452] - drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v10_0_hw_fini (Jocelyn Falempe) [2160452] - drm/amd/display: Change default Z8 watermark values (Jocelyn Falempe) [2160452] - drm/amdgpu: drop redundant sched job cleanup when cs is aborted (Jocelyn Falempe) [2160452] - drm/amd/display: fix flickering caused by S/G mode (Jocelyn Falempe) [2160452] - drm/amd/display: fix access hdcp_workqueue assert (Jocelyn Falempe) [2160452] - drm/amd/display: filter out invalid bits in pipe_fuses (Jocelyn Falempe) [2160452] - drm/amd/display: Fix 4to1 MPC black screen with DPP RCO (Jocelyn Falempe) [2160452] - drm/amd/display: Add NULL plane_state check for cursor disable logic (Jocelyn Falempe) [2160452] - drm/panel: otm8009a: Set backlight parent to panel device (Jocelyn Falempe) [2160452] - drm/dsc: fix drm_edp_dsc_sink_output_bpp() DPCD high byte usage (Jocelyn Falempe) [2160452] - drm/i915/dsi: Use unconditional msleep() instead of intel_dsi_msleep() (Jocelyn Falempe) [2160452] - drm/i915: Check pipe source size when using skl+ scalers (Jocelyn Falempe) [2160452] - drm/i915/color: Fix typo for Plane CSC indexes (Jocelyn Falempe) [2160452] - drm/bridge: lt8912b: Fix DSI Video Mode (Jocelyn Falempe) [2160452] - drm/amdgpu: add a missing lock for AMDGPU_SCHED (Jocelyn Falempe) [2160452] - drm/i915/mtl: Add the missing CPU transcoder mask in intel_device_info (Jocelyn Falempe) [2160452] - drm/i915/guc: Actually return an error if GuC version range check fails (Jocelyn Falempe) [2160452] - drm/i915/guc: More debug print updates - UC firmware (Jocelyn Falempe) [2160452] - drm/amd/display: Update bounding box values for DCN321 (Jocelyn Falempe) [2160452] - drm/amd/display: Do not clear GPINT register when releasing DMUB from reset (Jocelyn Falempe) [2160452] - drm/amd/display: Reset OUTBOX0 r/w pointer on DMUB reset (Jocelyn Falempe) [2160452] - drm/amd/display: Fixes for dcn32_clk_mgr implementation (Jocelyn Falempe) [2160452] - drm/amd/display: Return error code on DSC atomic check failure (Jocelyn Falempe) [2160452] - drm/amd/display: Add missing WA and MCLK validation (Jocelyn Falempe) [2160452] - drm/panel: novatek-nt35950: Only unregister DSI1 if it exists (Jocelyn Falempe) [2160452] - drm/panel: novatek-nt35950: Improve error handling (Jocelyn Falempe) [2160452] - drm/i915: Fix memory leaks in i915 selftests (Jocelyn Falempe) [2160452] - drm/i915: Make intel_get_crtc_new_encoder() less oopsy (Jocelyn Falempe) [2160452] - drm/amd/display: Fix potential null dereference (Jocelyn Falempe) [2160452] - drm/ttm/pool: Fix ttm_pool_alloc error path (Jocelyn Falempe) [2160452] - drm/i915/pxp: limit drm-errors or warning on firmware API failures (Jocelyn Falempe) [2160452] - drm/i915/pxp: Invalidate all PXP fw sessions during teardown (Jocelyn Falempe) [2160452] - drm/amd/display/dc/dce60/Makefile: Fix previous attempt to silence known override-init warnings (Jocelyn Falempe) [2160452] - accel: Link to compute accelerator subsystem intro (Jocelyn Falempe) [2160452] - drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535 (Jocelyn Falempe) [2160452] - drm/probe-helper: Cancel previous job before starting new one (Jocelyn Falempe) [2160452] - drm/vgem: add missing mutex_destroy (Jocelyn Falempe) [2160452] - drm/i915/dg2: Drop one PCI ID (Jocelyn Falempe) [2160452] - drm/amd/pm: re-enable the gfx imu when smu resume (Jocelyn Falempe) [2160452] - drm/vmwgfx: Fix Legacy Display Unit atomic drm support (Jocelyn Falempe) [2160452] - drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var (Jocelyn Falempe) [2160452] - redhat: include new drm tests in mod-internals (Jocelyn Falempe) [2160452] - drm/amd/display: build with std=gnu99 (Jocelyn Falempe) [2160452] - overflow: Introduce overflows_type() and castable_to_type() (Jocelyn Falempe) [2160452] - Revert "driver core: make struct bus_type.uevent() take a const *" (Jocelyn Falempe) [2160452] - Revert "iommu: Add a gfp parameter to iommu_map()" (Jocelyn Falempe) [2160452] - Revert "mm: replace vma->vm_flags direct modifications with modifier calls" (Jocelyn Falempe) [2160452] - Merge DRM changes from upstream v6.2..v6.3 (Jocelyn Falempe) [2160452] - redhat: include new drm_kunit_helpers in mod-internals (Jocelyn Falempe) [2160452] - drm/i915: build i915 with std=gnu99 (Jocelyn Falempe) [2160452] - drm/amdgpu: Add missing include for ppc64le (Jocelyn Falempe) [2160452] - drm/fb-helper: Add missing include for s390x (Jocelyn Falempe) [2160452] - drm/edid: Add missing include (Jocelyn Falempe) [2160452] - Revert "drm/i915/gvt: use atomic operations to change the vGPU status" (Jocelyn Falempe) [2160452] - Revert "kunit: Use KUNIT_EXPECT_MEMEQ macro" (Jocelyn Falempe) [2160452] - Revert "treewide: use get_random_u32_inclusive() when possible" (Jocelyn Falempe) [2160452] - Revert "treewide: use get_random_u32_below() instead of deprecated function" (Jocelyn Falempe) [2160452] - Revert "overflow: Introduce overflows_type() and castable_to_type()" (Jocelyn Falempe) [2160452] - Merge DRM changes from upstream v6.1..v6.2 (Jocelyn Falempe) [2160452] - kconfig: disable DRM dynamic debug. (Jocelyn Falempe) [2160452] - drm/vkms: build driver with gnu99 (Jocelyn Falempe) [2160452] - Revert "drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers." (Jocelyn Falempe) [2160452] - Revert "mm: free device private pages have zero refcount" (Jocelyn Falempe) [2160452] - Revert "mm/memory.c: fix race when faulting a device private page" (Jocelyn Falempe) [2160452] - Revert "drm/i915/gvt: simplify vgpu configuration management" (Jocelyn Falempe) [2160452] - Revert "i915: use the VMA iterator" (Jocelyn Falempe) [2160452] - Revert "drm/i915/userptr: restore probe_range behaviour" (Jocelyn Falempe) [2160452] - Revert "dynamic_dname(): drop unused dentry argument" (Jocelyn Falempe) [2160452] - Revert "i2c: Make remove callback return void" (Jocelyn Falempe) [2160452] - Merge DRM changes from upstream v6.0..v6.1 (Jocelyn Falempe) [2160452] - Enable A64FX_DIAG config option (Charles Mirabile) [2047817] - NMI workaround for GIC irq controllers (Charles Mirabile) [2047817] - arm64: entry: avoid kprobe recursion (Charles Mirabile) [2047817] - soc: a64fx-diag: disable modular build (Charles Mirabile) [2047817] - soc: fujitsu: Add A64FX diagnostic interrupt driver (Charles Mirabile) [2047817] - irqchip/gic-v3: Fix priority mask handling (Charles Mirabile) [2047817] - irqchip/gic-v3: Refactor ISB + EOIR at ack time (Charles Mirabile) [2047817] - irqchip/gic-v3: Ensure pseudo-NMIs have an ISB between ack and handling (Charles Mirabile) [2047817] - arm64: select TRACE_IRQFLAGS_NMI_SUPPORT (Charles Mirabile) [2047817] - arm64: entry: Save some nops when CONFIG_ARM64_PSEUDO_NMI is not set (Charles Mirabile) [2047817] - irqchip/gic-v3: Fix priority comparison when non-secure priorities are used (Charles Mirabile) [2047817] - arm64: entry: add missing noinstr (Charles Mirabile) [2047817] - arm64: suspend: Use cpuidle context helpers in cpu_suspend() (Charles Mirabile) [2047817] - PSCI: Use cpuidle context helpers in psci_cpu_suspend_enter() (Charles Mirabile) [2047817] - arm64: Convert cpu_do_idle() to using cpuidle context helpers (Charles Mirabile) [2047817] - arm64: Add cpuidle context save/restore helpers (Charles Mirabile) [2047817] - arm64: entry: make NMI entry/exit functions static (Charles Mirabile) [2047817] - arm64: entry: split SDEI entry (Charles Mirabile) [2047817] - arm64: entry: split bad stack entry (Charles Mirabile) [2047817] - arm64: entry: fold el1_inv() into el1h_64_sync_handler() (Charles Mirabile) [2047817] - arm64: entry: handle all vectors with C (Charles Mirabile) [2047817] - arm64: entry: template the entry asm functions (Charles Mirabile) [2047817] - arm64: entry: improve bad_mode() (Charles Mirabile) [2047817] - arm64: entry: move bad_mode() to entry-common.c (Charles Mirabile) [2047817] - arm64: entry: consolidate EL1 exception returns (Charles Mirabile) [2047817] - arm64: entry: organise entry vectors consistently (Charles Mirabile) [2047817] - arm64: entry: organise entry handlers consistently (Charles Mirabile) [2047817] - arm64: entry: convert IRQ+FIQ handlers to C (Charles Mirabile) [2047817] - arm64: entry: add a call_on_irq_stack helper (Charles Mirabile) [2047817] - arm64: entry: move NMI preempt logic to C (Charles Mirabile) [2047817] - arm64: entry: move arm64_preempt_schedule_irq to entry-common.c (Charles Mirabile) [2047817] - arm64: entry: convert SError handlers to C (Charles Mirabile) [2047817] - arm64: entry: unmask IRQ+FIQ after EL0 handling (Charles Mirabile) [2047817] - arm64: remove redundant local_daif_mask() in bad_mode() (Charles Mirabile) [2047817] - arm64: entry: always set GIC_PRIO_PSR_I_SET during entry (Charles Mirabile) [2047817] - arm64: entry: remove test_irqs_unmasked macro (Charles Mirabile) [2047817] - arm64: irq: allow FIQs to be handled (Charles Mirabile) [2047817] - arm64: Always keep DAIF.[IF] in sync (Charles Mirabile) [2047817] - arm64: entry: factor irq triage logic into macros (Charles Mirabile) [2047817] - arm64: irq: rework root IRQ handler registration (Charles Mirabile) [2047817] - arm64: don't use GENERIC_IRQ_MULTI_HANDLER (Charles Mirabile) [2047817] - genirq: Allow architectures to override set_handle_irq() fallback (Charles Mirabile) [2047817] - irqchip: Do not blindly select CONFIG_GENERIC_IRQ_MULTI_HANDLER (Charles Mirabile) [2047817] - arm64: entry: consolidate Cortex-A76 erratum 1463225 workaround (Charles Mirabile) [2047817] - arm64: entry: remove redundant IRQ flag tracing (Charles Mirabile) [2047817] - arm64: entry: suppress W=1 prototype warnings (Charles Mirabile) [2047817] - arm64: sdei: explicitly simulate PAN/UAO entry (Charles Mirabile) [2047817] - arm64: entry: fix EL1 debug transitions (Charles Mirabile) [2047817] - arm64: entry: fix NMI {user, kernel}->kernel transitions (Charles Mirabile) [2047817] - arm64: entry: fix non-NMI kernel<->kernel transitions (Charles Mirabile) [2047817] - arm64: ptrace: prepare for EL1 irq/rcu tracking (Charles Mirabile) [2047817] - arm64: entry: fix non-NMI user<->kernel transitions (Charles Mirabile) [2047817] - arm64: entry: move el1 irq/nmi logic to C (Charles Mirabile) [2047817] - arm64: entry: prepare ret_to_user for function call (Charles Mirabile) [2047817] - arm64: entry: move enter_from_user_mode to entry-common.c (Charles Mirabile) [2047817] - arm64: entry: mark entry code as noinstr (Charles Mirabile) [2047817] - arm64: mark idle code as noinstr (Charles Mirabile) [2047817] - arm64: add C wrappers for SET_PSTATE_*() (Charles Mirabile) [2047817] - kgdb: Honour the kprobe blocklist when setting breakpoints (Charles Mirabile) [2047817] - genirq: Add stub for set_handle_irq() when !GENERIC_IRQ_MULTI_HANDLER (Charles Mirabile) [2047817] - arm64: Improve diagnostics when trapping BRK with FAULT_BRK_IMM (Charles Mirabile) [2047817] - arm64/entry: deduplicate SW PAN entry/exit routines (Charles Mirabile) [2047817] - arm64: Prepare arch_nmi_enter() for recursion (Charles Mirabile) [2047817] - arm64: Make debug exception handlers visible from RCU (Charles Mirabile) [2047817] - irqchip: Remove unneeded select IRQ_DOMAIN (Charles Mirabile) [2047817] - net/mlx5e: TC, Fix using eswitch mapping in nic mode (Amir Tzin) [2166015] - net/mlx5e: Use query_special_contexts cmd only once per mdev (Amir Tzin) [2166015] - net/mlx5e: Move Ethernet driver debugfs to profile init callback (Amir Tzin) [2166015] - net/mlx5e: Do not update SBCM when prio2buffer command is invalid (Amir Tzin) [2166015] - RDMA/mlx5: Use correct device num_ports when modify DC (Amir Tzin) [2166015] - net/mlx5e: Nullify table pointer when failing to create (Amir Tzin) [2166015] - net/mlx5e: Fix error flow in representor failing to add vport rx rule (Amir Tzin) [2166015] - net/mlx5: E-switch, Don't destroy indirect table in split rule (Amir Tzin) [2166015] - net/mlx5: E-switch, Create per vport table based on devlink encap mode (Amir Tzin) [2166015] - net/mlx5e: Don't clone flow post action attributes second time (Amir Tzin) [2166015] - Revert "net/mlx5: Expose vnic diagnostic counters for eswitch managed vports" (Amir Tzin) [2166015] - RDMA/mlx5: Fix flow counter query via DEVX (Amir Tzin) [2166015] - RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR (Amir Tzin) [2166015] - net/mlx5: Fix wrong comment (Amir Tzin) [2166015] - net/mlx5e: Coding style fix, add empty line (Amir Tzin) [2166015] - RDMA/mlx5: Coding style fix reported by checkpatch (Amir Tzin) [2166015] - net/mlx5e: Release the label when replacing existing ct entry (Amir Tzin) [2165914] - net/mlx5: Release tunnel device after tc update skb (Amir Tzin) [2166015] - Revert "net/mlx5: Expose steering dropped packets counter" (Amir Tzin) [2166015] - Revert "net/mlx5e: Don't use termination table when redundant" (Amir Tzin) [2166015] - Revert "net/mlx5: Enable management PF initialization" (Amir Tzin) [2166015] - net/mlx5: E-Switch, Fix an Oops in error handling code (Amir Tzin) [2166015] - net/mlx5: Read the TC mapping of all priorities on ETS query (Amir Tzin) [2166015] - net/mlx5e: Initialize link speed to zero (Amir Tzin) [2166015] - net/mlx5: Fix steering rules cleanup (Amir Tzin) [2166015] - net/mlx5e: Block entering switchdev mode with ns inconsistency (Amir Tzin) [2166015 2166018] - net/mlx5e: Set uplink rep as NETNS_LOCAL (Amir Tzin) [2166015] - IB/mlx5: Add support for 400G_8X lane speed (Amir Tzin) [2166015] - net/mlx5e: TC, Remove error message log print (Amir Tzin) [2166015] - net/mlx5e: TC, fix cloned flow attribute (Amir Tzin) [2166015] - net/mlx5e: TC, fix missing error code (Amir Tzin) [2166015] - net/sched: TC, fix raw counter initialization (Amir Tzin) [2166015] - net/mlx5: Set BREAK_FW_WAIT flag first when removing driver (Amir Tzin) [2166013] - net/mlx5e: Fix cleanup null-ptr deref on encap lock (Amir Tzin) [2166013] - net/mlx5: E-switch, Fix missing set of split_count when forward to ovs internal port (Amir Tzin) [2166013] - net/mlx5: E-switch, Fix wrong usage of source port rewrite in split rules (Amir Tzin) [2166013 2166018] - net/mlx5: Disable eswitch before waiting for VF pages (Amir Tzin) [2166013] - net/mlx5: Fix setting ec_function bit in MANAGE_PAGES (Amir Tzin) [2166013] - net/mlx5e: Don't cache tunnel offloads capability (Amir Tzin) [2166013] - net/mlx5e: Remove hairpin write debugfs files (Amir Tzin) [2166015] - net/mlx5: Remove NULL check before dev_{put, hold} (Amir Tzin) [2166015] - net/mlx5e: TC, Set CT miss to the specific ct action instance (Amir Tzin) [2166015] - net/mlx5e: Rename CHAIN_TO_REG to MAPPED_OBJ_TO_REG (Amir Tzin) [2166015] - net/mlx5: Refactor tc miss handling to a single function (Amir Tzin) [2166015] - net/mlx5: Kconfig: Make tc offload depend on tc skb extension (Amir Tzin) [2166015] - net/sched: Rename user cookie and act cookie (mlx5 hunk only) (Amir Tzin) [2166015] - IB/mlx5: Extend debug control for CC parameters (Amir Tzin) [2166015] - net/mlx5e: Allow offloading of ct 'new' match (Amir Tzin) [2165914 2166015] - net/mlx5e: Implement CT entry update (Amir Tzin) [2165914 2166015] - net: flow_offload: provision conntrack info in ct_metadata(mlx5 hunks only) (Amir Tzin) [2165914 2166015] - net/mlx5e: Fix outdated TLS comment (Amir Tzin) [2166015] - net/mlx5e: Remove unused function mlx5e_sq_xmit_simple (Amir Tzin) [2166015] - net/mlx5: Simplify eq list traversal (Amir Tzin) [2166015] - net/mlx5e: Switch to using napi_build_skb() (Amir Tzin) [2166015] - RDMA/mlx5: Use query_special_contexts for mkeys (Amir Tzin) [2166015] - net/mlx5e: Use query_special_contexts for mkeys (Amir Tzin) [2166015] - net/mlx5: Change define name for 0x100 lkey value (Amir Tzin) [2166015] - net/mlx5: Expose bits for querying special mkeys (Amir Tzin) [2166015] - RDMA/mlx5: Use rdma_umem_for_each_dma_block() (Amir Tzin) [2166015] - net/mlx5e: TC, fix return value check in mlx5e_tc_act_stats_create() (Amir Tzin) [2166015] - net/mlx5e: TC, support per action stats (Amir Tzin) [2166015] - net/mlx5e: TC, map tc action cookie to a hw counter (Amir Tzin) [2166015] - net/mlx5e: TC, store tc action cookies per attr (Amir Tzin) [2166015] - net/mlx5e: TC, add hw counter to branching actions (Amir Tzin) [2166015] - RDMA/mlx5: Track netdev to avoid deadlock during netdev notifier unregister (Amir Tzin) [2166015] - net/mlx5e: Propagate an internal event in case uplink netdev changes (Amir Tzin) [2166015] - net/mlx5e: Fix trap event handling (Amir Tzin) [2166015] - net/mlx5: fw_tracer, Add support for unrecognized string (Amir Tzin) [2166015] - net/mlx5: fw_tracer, Add support for strings DB update event (Amir Tzin) [2166015] - net/mlx5: fw_tracer, allow 0 size string DBs (Amir Tzin) [2166015] - net/mlx5: fw_tracer: Fix debug print (Amir Tzin) [2166015] - net/mlx5: fs, Remove redundant assignment of size (Amir Tzin) [2166015] - net/mlx5: fs_core, Remove redundant variable err (Amir Tzin) [2166015] - net/mlx5: fs, Remove redundant vport_number assignment (Amir Tzin) [2166015] - net/mlx5e: Remove redundant code for handling vlan actions (Amir Tzin) [2166015 2166018] - net/mlx5: fw reset: Skip device ID check if PCI link up failed (Amir Tzin) [2166015] - net/mlx5: Remove redundant health work lock (Amir Tzin) [2166015] - mlx5: reduce stack usage in mlx5_setup_tc (Amir Tzin) [2166015] - net/mlx5e: Trigger NAPI after activating an SQ (Amir Tzin) [2166015] - net/mlx5e: IPoIB, Add support for XDR speed (Amir Tzin) [2166015] - net/mlx5: Lag, Move mpesw related definitions to mpesw.h (Amir Tzin) [2166015] - net/mlx5: Lag, Use flag to check for shared FDB mode (Amir Tzin) [2166015] - net/mlx5: Lag, Remove redundant bool allocation on the stack (Amir Tzin) [2166015] - net/mlx5: Lag, Use mlx5_lag_dev() instead of derefering pointers (Amir Tzin) [2166015] - net/mlx5: Lag, Update multiport eswitch check to log an error (Amir Tzin) [2166015] - net/mlx5: Add firmware support for MTUTC scaled_ppm frequency adjustments (Amir Tzin) [2166015] - net/mlx5: Add hardware extended range support for PTP adjtime and adjphase (Amir Tzin) [2166015] - net/mlx5: Add adjphase function to support hardware-only offset control (Amir Tzin) [2166015] - net/mlx5: Geneve, Fix handling of Geneve object id as error code (Amir Tzin) [2166015] - net/mlx5e: Verify flow_source cap before using it (Amir Tzin) [2166015 2166018] - net/mlx5: ECPF, wait for VF pages only after disabling host PFs (Amir Tzin) [2166015] - mlx5: fix possible ptp queue fifo use-after-free (Amir Tzin) [2166015] - mlx5: fix skb leak while fifo resync and push (Amir Tzin) [2166015] - net/mlx5: Fix memory leak in error flow of port set buffer (Amir Tzin) [2166015] - net/mlx5e: Remove incorrect debugfs_create_dir NULL check in TLS (Amir Tzin) [2166015] - net/mlx5e: Remove incorrect debugfs_create_dir NULL check in hairpin (Amir Tzin) [2166015] - net/mlx5: Enhance debug print in page allocation failure (Amir Tzin) [2166015] - net/mlx5e: kTLS, Improve connection rate by using fast update encryption key (Amir Tzin) [2166015] - net/mlx5: Keep only one bulk of full available DEKs (Amir Tzin) [2166015] - net/mlx5: Add async garbage collector for DEK bulk (Amir Tzin) [2166015] - net/mlx5: Reuse DEKs after executing SYNC_CRYPTO command (Amir Tzin) [2166015] - net/mlx5: Use bulk allocation for fast update encryption key (Amir Tzin) [2166015] - net/mlx5: Add bulk allocation and modify_dek operation (Amir Tzin) [2166015] - net/mlx5: Add support SYNC_CRYPTO command (Amir Tzin) [2166015] - net/mlx5: Add new APIs for fast update encryption key (Amir Tzin) [2166015] - net/mlx5: Refactor the encryption key creation (Amir Tzin) [2166015] - net/mlx5: Add const to the key pointer of encryption key creation (Amir Tzin) [2166015] - net/mlx5: Prepare for fast crypto key update if hardware supports it (Amir Tzin) [2166015] - net/mlx5: Change key type to key purpose (Amir Tzin) [2166015] - net/mlx5: Add IFC bits and enums for crypto key (Amir Tzin) [2166015] - net/mlx5: Add IFC bits for general obj create param (Amir Tzin) [2166015] - net/mlx5: Header file for crypto (Amir Tzin) [2166015] - net/mlx5e: Use read lock for eswitch get callbacks (Amir Tzin) [2166015 2166018] - net/mlx5e: Remove redundant allocation of spec in create indirect fwd group (Amir Tzin) [2165994 2166015] - net/mlx5e: Support Geneve and GRE with VF tunnel offload (Amir Tzin) [2165994 2166015 2166018] - net/mlx5: E-Switch, Fix typo for egress (Amir Tzin) [2166015] - net/mlx5e: Warn when destroying mod hdr hash table that is not empty (Amir Tzin) [2166015] - net/mlx5e: TC, Use common function allocating flow mod hdr or encap mod hdr (Amir Tzin) [2166015] - net/mlx5e: TC, Add tc prefix to attach/detach hdr functions (Amir Tzin) [2166015] - net/mlx5e: TC, Pass flow attr to attach/detach mod hdr functions (Amir Tzin) [2166015] - net/mlx5: E-switch, Remove redundant comment about meta rules (Amir Tzin) [2166015] - net/mlx5: Suppress error logging on UCTX creation (Amir Tzin) [2166015] - net/mlx5e: Suppress Send WQEBB room warning for PAGE_SIZE >= 16KB (Amir Tzin) [2166015] - net/mlx5e: Use kzalloc() in mlx5e_accel_fs_tcp_create() (Amir Tzin) [2166015] - net/mlx5: remove redundant ret variable (Amir Tzin) [2166015] - net/mlx5e: Replace 0-length array with flexible array (Amir Tzin) [2166015] - net/mlx5e: Replace zero-length array with flexible-array member (Amir Tzin) [2166015] - net/mlx5: Prevent high-rate FW commands from populating all slots (Amir Tzin) [2166015] - net/mlx5: Introduce and use opcode getter in command interface (Amir Tzin) [2166015] - net/mlx5: Enable management PF initialization (Amir Tzin) [2166015] - net/mlx5e: Add hairpin debugfs files (Amir Tzin) [2166015] - net/mlx5e: Add flow steering debugfs directory (Amir Tzin) [2166015] - net/mlx5e: Add hairpin params structure (Amir Tzin) [2166015] - net/mlx5e: kTLS, Add debugfs (Amir Tzin) [2166015] - net/mlx5e: Add Ethernet driver debugfs (Amir Tzin) [2166015] - net/mlx5e: Update shared buffer along with device buffer changes (Amir Tzin) [2166015] - net/mlx5e: Add API to query/modify SBPR and SBCM registers (Amir Tzin) [2166015] - net/mlx5: Expose shared buffer registers bits and structs (Amir Tzin) [2166015] - net/mlx5: Serialize module cleanup with reload and remove (Amir Tzin) [2166013] - net/mlx5: fw_tracer, Zero consumer index when reloading the tracer (Amir Tzin) [2166013] - net/mlx5: fw_tracer, Clear load bit when freeing string DBs buffers (Amir Tzin) [2166013] - net/mlx5: Expose SF firmware pages counter (Amir Tzin) [2166013] - net/mlx5: Store page counters in a single array (Amir Tzin) [2166013] - net/mlx5e: IPoIB, Show unknown speed instead of error (Amir Tzin) [2166013] - net/mlx5e: Fix crash unsetting rx-vlan-filter in switchdev mode (Amir Tzin) [2055530 2166013] - net/mlx5: Bridge, fix ageing of peer FDB entries (Amir Tzin) [2166013] - net/mlx5: DR, Fix potential race in dr_rule_create_rule_nic (Amir Tzin) [2166013] - net/mlx5e: Update rx ring hw mtu upon each rx-fcs flag change (Amir Tzin) [2166013] - net/mlx5e: Don't support encap rules with gbp option (Amir Tzin) [2166013] - net/mlx5e: Fix memory leak on updating vport counters (Amir Tzin) [2165677 2166013] - net/mlx5e: TC, Restore pkt rate policing support (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, ignore match level for post meter rules (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Fix 'stack frame size exceeds limit' error in dr_rule (Amir Tzin) [2166013] - net/mlx5: Lag, fix failure to cancel delayed bond work (Amir Tzin) [2166013] - net/mlx5e: Fix RX reporter for XSK RQs (Amir Tzin) [2166013] - net/mlx5: Expose steering dropped packets counter (Amir Tzin) [2166013] - net/mlx5: Refactor and expand rep vport stat group (Amir Tzin) [2165677 2166013] - net/mlx5e: TC, add support for meter mtu offload (Amir Tzin) [2165893 2166013 2166018] - net/mlx5e: meter, add mtu post meter tables (Amir Tzin) [2165893 2166013] - net/mlx5e: meter, refactor to allow multiple post meter tables (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Add support for range match action (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Add function that tells if STE miss addr has been initialized (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Some refactoring of miss address handling (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Manage definers with refcounts (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Handle FT action in a separate function (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Rework is_fw_table function (Amir Tzin) [2165893 2166013] - net/mlx5: DR, Add functions to create/destroy MATCH_DEFINER general object (Amir Tzin) [2165893 2166013] - net/mlx5: fs, add match on ranges API (Amir Tzin) [2165893 2166013] - net/mlx5: mlx5_ifc updates for MATCH_DEFINER general object (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, allow meter jump control action (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, init post meter rules with branching attributes (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, rename post_meter actions (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, initialize branching action with target attr (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, initialize branch flow attributes (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, set control params for branching actions (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, validate action list per attribute (Amir Tzin) [2165893 2166013] - net/mlx5e: Adjust function actions_match_supported() to upstream. (Amir Tzin) [2166006] - net/mlx5e: TC, add terminating actions (Amir Tzin) [2165893 2166013] - net/mlx5e: TC, reuse flow attribute post parser processing (Amir Tzin) [2165893 2166013] - net/mlx5: fs, assert null dest pointer when dest_num is 0 (Amir Tzin) [2165893 2166013] - net/mlx5e: E-Switch, handle flow attribute with no destinations (Amir Tzin) [2165893 2166013 2166018] - RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define (Amir Tzin) [2166013] - RDMA/mlx5: no need to kfree NULL pointer (Amir Tzin) [2166013] - net/mlx5e: TC, Add offload support for trap with additional actions (Amir Tzin) [2166013 2166018] - net/mlx5e: Do early return when setup vports dests for slow path flow (Amir Tzin) [2166013 2166018] - net/mlx5e: Support devlink reload of IPsec core (Amir Tzin) [2166013] - net/mlx5: Remove redundant check (Amir Tzin) [2166013] - net/mlx5e: Don't use termination table when redundant (Amir Tzin) [2166013] - net/mlx5: Remove unused ctx variables (Amir Tzin) [2166013] - net/mlx5e: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper (Amir Tzin) [2166013] - net/mlx5e: Remove unneeded io-mapping.h #include (Amir Tzin) [2166013] - net/mlx5e: CT, optimize pre_ct table lookup (Amir Tzin) [2166013] - net/mlx5e: kTLS, Use a single async context object per a callback bulk (Amir Tzin) [2166013] - net/mlx5e: kTLS, Remove unnecessary per-callback completion (Amir Tzin) [2166013] - net/mlx5e: kTLS, Remove unused work field (Amir Tzin) [2166013] - net/mlx5e: TC, Remove redundant WARN_ON() (Amir Tzin) [2166013] - net/mlx5e: Add error flow when failing update_rx (Amir Tzin) [2166013] - net/mlx5e: Move params kernel log print to probe function (Amir Tzin) [2166013] - net/mlx5e: Support enhanced CQE compression (Amir Tzin) [2166013] - net/mlx5e: Use clamp operation instead of open coding it (Amir Tzin) [2166013] - net/mlx5e: remove unused list in arfs (Amir Tzin) [2166013] - net/mlx5: Expose vhca_id to debugfs (Amir Tzin) [2166013] - net/mlx5: Unregister traps on driver unload flow (Amir Tzin) [2166013] - net/mlx5: Fix spelling mistake "destoy" -> "destroy" (Amir Tzin) [2166013] - net/mlx5: Bridge, Use debug instead of warn if entry doesn't exists (Amir Tzin) [2166013] - RDMA/mlx5: Change debug log level for remote access error syndromes (Amir Tzin) [2166013] - ptp: mlx5: convert to .adjfine and adjust_by_scaled_ppm (Amir Tzin) [2166013] - net/mlx5: DR, Remove the buddy used_list (Amir Tzin) [2166013] - net/mlx5: DR, Keep track of hot ICM chunks in an array instead of list (Amir Tzin) [2166013] - net/mlx5: DR, Lower sync threshold for ICM hot memory (Amir Tzin) [2166013] - net/mlx5: DR, Allocate htbl from its own slab allocator (Amir Tzin) [2166013] - net/mlx5: DR, Allocate icm_chunks from their own slab allocator (Amir Tzin) [2166013] - net/mlx5: DR, Manage STE send info objects in pool (Amir Tzin) [2166013] - net/mlx5: DR, In rehash write the line in the entry immediately (Amir Tzin) [2166013] - net/mlx5: DR, Handle domain memory resources init/uninit separately (Amir Tzin) [2166013] - net/mlx5: DR, Initialize chunk's ste_arrays at chunk creation (Amir Tzin) [2166013] - net/mlx5: DR, For short chains of STEs, avoid allocating ste_arr dynamically (Amir Tzin) [2166013] - net/mlx5: DR, Remove unneeded argument from dr_icm_chunk_destroy (Amir Tzin) [2166013] - net/mlx5: DR, Check device state when polling CQ (Amir Tzin) [2166013] - net/mlx5: DR, In destroy flow, free resources even if FW command failed (Amir Tzin) [2166013] - net/mlx5: Add support for NPPS with real time mode (Amir Tzin) [2166006] - net/mlx5: Expose NPPS related registers (Amir Tzin) [2166006] - net/mlx5e: Use kvfree() in mlx5e_accel_fs_tcp_create() (Amir Tzin) [2166006] - net/mlx5e: Remove leftovers from old XSK queues enumeration (Amir Tzin) [2166006] - net/mlx5: Lag, avoid lockdep warnings (Amir Tzin) [2166006] - net/mlx5: Update fw fatal reporter state on PCI handlers successful recover (Amir Tzin) [2166006] - net/mlx5: Make ASO poll CQ usable in atomic context (Amir Tzin) [2166006] - net/mlx5: E-Switch, Return EBUSY if can't get mode lock (Amir Tzin) [2166006] - net/mlx5: E-switch, Don't update group if qos is not enabled (Amir Tzin) [2166006] - net/mlx5: E-Switch, Allow offloading fwd dest flow table with vport (Amir Tzin) [2166006 2166018] - net/mlx5: Set default grace period based on function type (Amir Tzin) [2166006] - net/mlx5: Start health poll at earlier stage of driver load (Amir Tzin) [2166006] - net/mlx5e: Expose rx_oversize_pkts_buffer counter (Amir Tzin) [2166006] - net/mlx5: Remove from FPGA IFC file not-needed definitions (Amir Tzin) [2166006] - net/mlx5: Remove unused structs (Amir Tzin) [2166006] - net/mlx5: Remove unused functions (Amir Tzin) [2166006] - net/mlx5: detect and enable bypass port select flow table (Amir Tzin) [2166006] - net/mlx5: Lag, enable hash mode by default for all NICs (Amir Tzin) [2166006] - net/mlx5: Lag, set active ports if support bypass port select flow table (Amir Tzin) [2166006] - RDMA/mlx5: Don't set tx affinity when lag is in hash mode (Amir Tzin) [2166006] - net/mlx5: add IFC bits for bypassing port select flow table (Amir Tzin) [2166006] - RDMA/mlx5: Move function mlx5_core_query_ib_ppcnt() to mlx5_ib (Amir Tzin) [2166006] - IB/mlx5: Support querying eswitch functions from DEVX (Amir Tzin) [2166006] - net: ethernet: move from strlcpy with unused retval to strscpy (mlx5 hunks only) (Amir Tzin) [2166006] - net/mlx5e: Do not use err uninitialized in mlx5e_rep_add_meta_tunnel_rule() (Amir Tzin) [2166006] - IB/mlx5: Remove duplicate header inclusion related to ODP (Amir Tzin) [2166006] - net/mlx5: TC, Add support for SF tunnel offload (Amir Tzin) [2166006] - net/mlx5: E-Switch, Move send to vport meta rule creation (Amir Tzin) [2166006 2166018] - net/mlx5: E-Switch, Split creating fdb tables into smaller chunks (Amir Tzin) [2166006 2166018] - net/mlx5: E-Switch, Add default drop rule for unmatched packets (Amir Tzin) [2166006 2166018] - net/mlx5: Adjust function mlx5_eswitch_inline_mode_get() location (Amir Tzin) [2166006] - net/mlx5e: Completely eliminate priv from fs.h (Amir Tzin) [2166006] - net/mlx5e: Make all ttc functions of en_fs get fs struct as argument (Amir Tzin) [2166006] - net/mlx5e: Make flow steering arfs independent of priv (Amir Tzin) [2166006] - net/mlx5e: Introduce flow steering debug macros (Amir Tzin) [2166006] - net/mlx5e: Separate ethtool_steering from fs.h and make private (Amir Tzin) [2166006] - net/mlx5e: Directly get flow_steering struct as input when init/cleanup ethtool steering (Amir Tzin) [2166006] - Revert "[netdrv] net/mlx5e: Fix missing cleanup of ethtool steering during rep rx cleanup" (Amir Tzin) [2166006] - net/mlx5e: Convert ethtool_steering member of flow_steering struct to pointer (Amir Tzin) [2166006] - net/mlx5e: Drop priv argument of ptp function in en_fs (Amir Tzin) [2166006] - net/mlx5e: Decouple fs_tcp from en.h (Amir Tzin) [2166006] - net/mlx5e: Decouple fs_tt_redirect from en.h (Amir Tzin) [2166006] - net/mlx5e: Introduce flow steering API (Amir Tzin) [2166006] - IB/mlx5: Call io_stop_wc() after writing to WC MMIO (Amir Tzin) [2166006]- [rt] build kernel-rt-4.18.0-500.rt7.289.el8 [2180997] - mm: page_counter: mitigate consequences of a page_counter underflow (Ty Berry) [2196726] - ceph: fix decoding of client session messages flags (Xiubo Li) [2213062] - net: stmmac: propagate feature flags to vlan (Corinna Vinschen) [2174701] - KVM: Avoid illegal stage2 mapping on invalid memory slot (Gavin Shan) [2190376] - perf/x86/rapl: Add support for Intel Emerald Rapids (Michael Petlan) [2165766] - s390/dasd: Use correct lock while counting channel queue length (Tobias Huschle) [2215889] - inotify: show inotify mask flags in proc fdinfo (Andrey Albershteyn) [2163455] - scsi: scsi_transport_fc: Add an additional flag to fc_host_fpin_rcv() (Ewan D. Milne) [2169276] - perf bench: Fix numa bench to fix usage of affinity for machines with #CPUs > 1K (Michael Petlan) [2134284] - perf bench: Fix numa testcase to check if CPU used to bind task is online (Michael Petlan) [2134284] - powerpc/64s: Make POWER10 and later use pause_short in cpu_relax loops (avchouha) [2188343] - powerpc: add ISA v3.0 / v3.1 wait opcode macro (avchouha) [2188343] - scsi: lpfc: Account for fabric domain ctlr device loss recovery (Dick Kennedy) [2213027] - scsi: lpfc: Clear NLP_IN_DEV_LOSS flag if already in rediscovery (Dick Kennedy) [2213027] - scsi: lpfc: Fix use-after-free rport memory access in lpfc_register_remote_port() (Dick Kennedy) [2213027] - PCI: hv: Add a per-bus mutex state_lock (Vitaly Kuznetsov) [2184863] - Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally" (Vitaly Kuznetsov) [2184863] - PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev (Vitaly Kuznetsov) [2184863] - PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic (Vitaly Kuznetsov) [2184863] - PCI: hv: Fix a race condition bug in hv_pci_query_relations() (Vitaly Kuznetsov) [2184863] - RHEL-only: KVM: arm64: Fixes comments (Shaoqin Huang) [2202988] - KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg() (Shaoqin Huang) [2202988] - KVM: selftests: arm64: Fix pte encode/decode for PA bits > 48 (Shaoqin Huang) [2202988] - KVM: arm64: selftests: Use FIELD_GET() to extract ID register fields (Shaoqin Huang) [2202988] - tools: Copy bitfield.h from the kernel sources (Shaoqin Huang) [2202988] - x86/platform/uv: Update UV[23] platform code for SNC (Frank Ramsay) [2163467] - x86/platform/uv: Remove remaining BUG_ON() and BUG() calls (Frank Ramsay) [2163467] - x86/platform/uv: UV support for sub-NUMA clustering (Frank Ramsay) [2163467] - x86: uv: uv_hub.h: Delete duplicated word (Frank Ramsay) [2163467] - x86/platform/uv: Helper functions for allocating and freeing conversion tables (Frank Ramsay) [2163467] - x86/platform/uv: When searching for minimums, start at INT_MAX not 99999 (Frank Ramsay) [2163467] - x86/platform/uv: Fix printed information in calc_mmioh_map (Frank Ramsay) [2163467] - x86/platform/uv: Introduce helper function uv_pnode_to_socket. (Frank Ramsay) [2163467] - x86/platform/uv: Add platform resolving #defines for misc GAM_MMIOH_REDIRECT* (Frank Ramsay) [2163467] - IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors (Izabela Bakollari) [2170629] - IB/hfi1: Fix math bugs in hfi1_can_pin_pages() (Izabela Bakollari) [2170629] - IB/hfi1: Restore allocated resources on failed copyout (Izabela Bakollari) [2170629] - IB/hfi1: Use dma_mmap_coherent for matching buffers (Izabela Bakollari) [2170629] - IB/hfi1: Update RMT size calculation (Izabela Bakollari) [2170629] - IB/hfi1: Split IB counter allocation (Izabela Bakollari) [2170629] - IB/hfi1: Improve TID validity checking (Izabela Bakollari) [2170629] - IB/hfi1: Consolidate the creation of user TIDs (Izabela Bakollari) [2170629] - IB/hfi1: Assign npages earlier (Izabela Bakollari) [2170629] - IB/hfi1: Fix expected receive setup error exit issues (Izabela Bakollari) [2170629] - IB/hfi1: Reserve user expected TIDs (Izabela Bakollari) [2170629] - IB/hfi1: Reject a zero-length user expected buffer (Izabela Bakollari) [2170629] - RDMA/hfi1: Fix doc for hfi1_free_ctxt (Izabela Bakollari) [2170629] - RDMA/hfi1: use sysfs_emit() to instead of scnprintf() (Izabela Bakollari) [2170629] - RDMA/hfi1: Fix error return code in parse_platform_config() (Izabela Bakollari) [2170629] - IB/hfi1: Switch to netif_napi_add() (Izabela Bakollari) [2170629] - RDMA/hfi: Decrease PCI device reference count in error path (Izabela Bakollari) [2170629] - RDMA/hfi1: don't pass bogus GFP_ flags to dma_alloc_coherent (Izabela Bakollari) [2170629] - IB/hfi1: Replace 1-element array with singleton (Izabela Bakollari) [2170629] - RDMA/opa_vnic: fix spelling typo in comment (Izabela Bakollari) [2170629] - IB/hfi1: Use skb_put_data() instead of skb_put/memcpy pair (Izabela Bakollari) [2170629] - IB/hfi1: remove rc_only_opcode and uc_only_opcode declarations (Izabela Bakollari) [2170629] - RDMA/hfi1: fix repeated words in comments (Izabela Bakollari) [2170629] - RDMA/hfi1: Remove the unneeded result variable (Izabela Bakollari) [2170629] - IB: move from strlcpy with unused retval to strscpy (Izabela Bakollari) [2170629] - perf intel-pt: Add documentation for Event Trace and TNT disable (Michael Petlan) [2154066] - perf scripts python: export-to-postgresql.py: Export all sample flags (Michael Petlan) [2154066] - perf scripts python: export-to-sqlite.py: Export all sample flags (Michael Petlan) [2154066] - perf scripting python: Add all sample flags to DB export (Michael Petlan) [2154066] - perf scripts python: intel-pt-events.py: Add Event Trace (Michael Petlan) [2154066] - perf script: Display new D (Intr Disabled) and t (Intr Toggle) flags (Michael Petlan) [2154066] - perf script: Display Intel PT iflag synthesized event (Michael Petlan) [2154066] - perf script: Display Intel PT CFE (Control Flow Event) / EVD (Event Data) synthesized event (Michael Petlan) [2154066] - perf intel-pt: Force 'quick' mode when TNT (Taken/Not-Taken packet) is disabled (Michael Petlan) [2154066] - perf intel-pt: Synthesize new D (Intr Disabled) and t (Intr Toggle) flags (Michael Petlan) [2154066] - perf intel-pt: Synthesize iflag event (Michael Petlan) [2154066] - perf intel-pt: Synthesize CFE (Control Flow Event) / EVD (Event Data) event (Michael Petlan) [2154066] - perf intel-pt: Record Event Trace capability flag (Michael Petlan) [2154066] - perf auxtrace: Add itrace option "I" (Michael Petlan) [2154066] - perf tools: Define new D (Intr Disable) and t (Intr Toggle) flags (Michael Petlan) [2154066] - perf tools: Define Intel PT iflag synthesized event (Michael Petlan) [2154066] - perf tools: Define Intel PT CFE (Control Flow Event) / EVD (Event Data) event (Michael Petlan) [2154066] - perf intel-pt: decoder: Add MODE.Exec IFLAG processing (Michael Petlan) [2154066] - perf intel-pt: decoder: Add CFE (Control Flow Event) and EVD (Event Data) processing (Michael Petlan) [2154066] - perf intel-pt: decoder: Factor out clearing of FUP (Flow Update) event variables (Michael Petlan) [2154066] - perf intel-pt: Fix error timestamp setting on the decoder error path (Michael Petlan) [2154066] - perf intel-pt: Fix missing 'instruction' events with 'q' option (Michael Petlan) [2154066] - perf intel-pt: Fix next 'err' value, walking trace (Michael Petlan) [2154066] - perf intel-pt: Fix state setting when receiving overflow (OVF) packet (Michael Petlan) [2154066] - perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type (Michael Petlan) [2154066] - perf intel-pt: Fix sync state when a PSB (synchronization) packet is found (Michael Petlan) [2154066] - perf intel-pt: Fix some PGE (packet generation enable/control flow packets) usage (Michael Petlan) [2154066] - perf intel-pt: decoder: Add config bit definitions (Michael Petlan) [2154066] - perf intel-pt: pkt-decoder: Add MODE.Exec IFLAG bit (Michael Petlan) [2154066] - perf intel-pt: pkt-decoder: Add CFE and EVD packets (Michael Petlan) [2154066] - perf intel-pt: pkt-decoder: Remove misplaced linebreak (Michael Petlan) [2154066] - perf intel-pt: pkt-decoder-test: Fix scope of test_data (Michael Petlan) [2154066] - perf/x86/intel/pt: Add a capability and config bit for disabling TNTs (Michael Petlan) [2154066] - perf/x86/intel/pt: Add a capability and config bit for event tracing (Michael Petlan) [2154068] - container_of: Update header inclusions (Desnes Nunes) [2196368] - media: netup_unidvb: fix irq init by register it at the end of probe (Desnes Nunes) [2196368] - media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address (Desnes Nunes) [2196368] - media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer() (Desnes Nunes) [2196368] - media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer (Desnes Nunes) [2196368] - media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer() (Desnes Nunes) [2196368] - media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer() (Desnes Nunes) [2196368] - media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer() (Desnes Nunes) [2196368] - Revert "usb: xhci-pci: Set PROBE_PREFER_ASYNCHRONOUS" (Desnes Nunes) [2196368] - usb: typec: Don't try to register component master without components (Desnes Nunes) [2196368] - usb: typec: Only attempt to link USB ports if there is fwnode (Desnes Nunes) [2196368] - usb: core: Unregister device on component_add() failure (Desnes Nunes) [2196368] - usb: core: add quirk for Alcor Link AK9563 smartcard reader (Desnes Nunes) [2196368] - USB: new quirk for Dell Gen 2 devices (Desnes Nunes) [2196368] - USB: quirks: add STRING quirk for VCOM device (Desnes Nunes) [2196368] - USB: quirks: add a Realtek card reader (Desnes Nunes) [2196368] - usb: typec: altmodes/displayport: Fix probe pin assign check (Desnes Nunes) [2196368] - usb: typec: ucsi: Don't attempt to resume the ports before they exist (Desnes Nunes) [2196368] - USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100 (Desnes Nunes) [2196368] - usb: host: ehci-fsl: Fix module alias (Desnes Nunes) [2196368] - usb: core: hub: disable autosuspend for TI TUSB8041 (Desnes Nunes) [2196368] - USB: fix misleading usb_set_intfdata() kernel doc (Desnes Nunes) [2196368] - usb: typec: tcpm: Fix altmode re-registration causes sysfs create fail (Desnes Nunes) [2196368] - usb: typec: altmodes/displayport: Use proper macro for pin assignment check (Desnes Nunes) [2196368] - usb: typec: altmodes/displayport: Fix pin assignment calculation (Desnes Nunes) [2196368] - usb: typec: altmodes/displayport: Add pin assignment helper (Desnes Nunes) [2196368] - usb: ucsi: Ensure connector delayed work items are flushed (Desnes Nunes) [2196368] - xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables (Desnes Nunes) [2196368] - usb: acpi: add helper to check port lpm capability using acpi _DSM (Desnes Nunes) [2196368] - xhci: Add a flag to disable USB3 lpm on a xhci root port level. (Desnes Nunes) [2196368] - xhci: Add update_hub_device override for PCI xHCI hosts (Desnes Nunes) [2196368] - xhci: Fix null pointer dereference when host dies (Desnes Nunes) [2196368] - usb: xhci: Check endpoint is valid before dereferencing it (Desnes Nunes) [2196368] - xhci-pci: set the dma max_seg_size (Desnes Nunes) [2196368] - usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210 (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM05CN modem (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM05CN (SG) modem (Desnes Nunes) [2196368] - USB: serial: cp210x: add SCALANCE LPE-9000 device id (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EC200U modem (Desnes Nunes) [2196368] - USB: serial: qcserial: add EM9191 QDL support (Desnes Nunes) [2196368] - USB: serial: option: add prod. id for Quectel EG91 (Desnes Nunes) [2196368] - USB: serial: option: add Telit LE910Cx composition 0x1204 (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM05-G (RS) modem (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM05-G (GR) modem (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM05-G (CS) modem (Desnes Nunes) [2196368] - thunderbolt: Disable XDomain lane 1 only in software connection manager (Desnes Nunes) [2196368] - thunderbolt: Use correct function to calculate maximum USB3 link rate (Desnes Nunes) [2196368] - thunderbolt: Do not call PM runtime functions in tb_retimer_scan() (Desnes Nunes) [2196368] - Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout" (Desnes Nunes) [2196368] - thunderbolt: Do not report errors if on-board retimers are found (Desnes Nunes) [2196368] - treewide: Convert del_timer*() to timer_shutdown*() (Desnes Nunes) [2196368] - USB: core: export usb_cache_string() (Desnes Nunes) [2196368] - usb: ulpi: defer ulpi_register on ulpi_read_id timeout (Desnes Nunes) [2196368] - usb: storage: Add check for kcalloc (Desnes Nunes) [2196368] - USB: sisusbvga: use module_usb_driver() (Desnes Nunes) [2196368] - USB: sisusbvga: rename sisusb.c to sisusbvga.c (Desnes Nunes) [2196368] - USB: sisusbvga: remove console support (Desnes Nunes) [2196368] - media: Switch to use dev_err_probe() helper (Desnes Nunes) [2196368] - media: uvcvideo: Fix memory leak in uvc_gpio_parse (Desnes Nunes) [2196368] - media: usb: pwc-uncompress: Use flex array destination for memcpy() (Desnes Nunes) [2196368] - media: usb: pwc-uncompress: Use struct_size() helper in pwc_decompress() (Desnes Nunes) [2196368] - firmware_loader: fix up to_fw_sysfs() to preserve const (Desnes Nunes) [2196368] - usb.h: take advantage of container_of_const() (Desnes Nunes) [2196368] - device.h: move kobj_to_dev() to use container_of_const() (Desnes Nunes) [2196368] - container_of: add container_of_const() that preserves const-ness of the pointer (Desnes Nunes) [2196368] - driver core: allow kobj_to_dev() to take a const pointer (Desnes Nunes) [2196368] - container_of: remove container_of_safe() (Desnes Nunes) [2196368] - linux/container_of.h: switch to static_assert (Desnes Nunes) [2196368] - media: dvb-usb: m920x: make read-only arrays static const (Desnes Nunes) [2196368] - net: thunderbolt: Use bitwise types in the struct thunderbolt_ip_frame_header (Desnes Nunes) [2196368] - net: thunderbolt: Switch from __maybe_unused to pm_sleep_ptr() etc (Desnes Nunes) [2196368] - USB: serial: f81534: fix division by zero on line-speed change (Desnes Nunes) [2196368] - xhci: remove unused stream_id parameter from xhci_handle_halted_endpoint() (Desnes Nunes) [2196368] - xhci: Prevent infinite loop in transaction errors recovery for streams (Desnes Nunes) [2196368] - xhci: disable U3 suspended ports in S4 hibernate poweroff_late stage (Desnes Nunes) [2196368] - USB: hcd-pci: Fully suspend across freeze/thaw cycle (Desnes Nunes) [2196368] - USB: core: Disable remote wakeup for freeze/quiesce (Desnes Nunes) [2196368] - xhci: export two xhci_hub functions for xhci-pci module usage (Desnes Nunes) [2196368] - xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N (Desnes Nunes) [2196368] - xhci: print warning when HCE was set (Desnes Nunes) [2196368] - Revert "xhci: Convert to use list_count()" (Desnes Nunes) [2196368] - xhci: Convert to use list_count() (Desnes Nunes) [2196368] - usb: typec: Add partner PD object wrapper (Desnes Nunes) [2196368] - usb: xhci-mtk: fix leakage of shared hcd when fail to set wakeup irq (Desnes Nunes) [2196368] - usb: add usb_set_intfdata() documentation (Desnes Nunes) [2196368] - usb: host: fix a typo in ehci.h (Desnes Nunes) [2196368] - usb: core: hcd: Fix return value check in usb_hcd_setup_local_mem() (Desnes Nunes) [2196368] - usb: typec: ucsi: Resume in separate work (Desnes Nunes) [2196368] - usb: roles: fix of node refcount leak in usb_role_switch_is_parent() (Desnes Nunes) [2196368] - net: thunderbolt: Use kmap_local_page() instead of kmap_atomic() (Desnes Nunes) [2196368] - media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer() (Desnes Nunes) [2196368] - media: dvb-usb: dib0700_devices: Remove unused struct dibx090p_adc (Desnes Nunes) [2196368] - media: dib0700: remove orphan dvb_usb_dib0700_ir_proto declaration (Desnes Nunes) [2196368] - media: dvb-usb: fix memory leak in dvb_usb_adapter_init() (Desnes Nunes) [2196368] - media: dvb-core: Enhance shared multi-frontend support (Desnes Nunes) [2196368] - media: docs: fix minor typos (Desnes Nunes) [2196368] - media: dvb-frontends: a8293: fix LNB powerup failure in PCTV 461e (Desnes Nunes) [2196368] - USB: serial: kl5kusb105: drop line-status helper (Desnes Nunes) [2196368] - USB: serial: kl5kusb105: simplify line-status handling (Desnes Nunes) [2196368] - USB: serial: kl5kusb105: clean up line-status handling (Desnes Nunes) [2196368] - USB: serial: cp210x: add support for B0 hangup (Desnes Nunes) [2196368] - USB: serial: cp210x: add Kamstrup RF sniffer PIDs (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM05-G modem (Desnes Nunes) [2196368] - USB: serial: option: add Quectel RM520N (Desnes Nunes) [2196368] - USB: serial: ch341: fix lost character on LCR updates (Desnes Nunes) [2196368] - USB: serial: ch314: use usb_control_msg_recv() (Desnes Nunes) [2196368] - USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode (Desnes Nunes) [2196368] - USB: serial: option: add support for Cinterion MV31 with new baseline (Desnes Nunes) [2196368] - USB: serial: io_ti: add Agilent E5805A support (Desnes Nunes) [2196368] - USB: serial: whiteheat: fix heap overflow in WHITEHEAT_GET_DTR_RTS (Desnes Nunes) [2196368] - USB: serial: cp210x: add PIDs for Kamstrup USB Meter Reader (Desnes Nunes) [2196368] - USB: serial: option: add support for Cinterion MV32-WA/MV32-WB (Desnes Nunes) [2196368] - USB: serial: option: add Telit 0x1057, 0x1058, 0x1075 compositions (Desnes Nunes) [2196368] - USB: serial: option: add Telit FN990 compositions (Desnes Nunes) [2196368] - USB: serial: cp210x: add ID for GW Instek GDM-834x Digital Multimeter (Desnes Nunes) [2196368] - USB: serial: cp210x: add part-number debug printk (Desnes Nunes) [2196368] - USB: serial: option: add Telit LN920 compositions (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM060K modem (Desnes Nunes) [2196368] - USB: serial: option: add Quectel RM500K module support (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EM05-G modem (Desnes Nunes) [2196368] - USB: serial: option: add Quectel EC200S-CN module support (Desnes Nunes) [2196368] - USB: serial: pl2303: add support for more HXN (G) types (Desnes Nunes) [2196368] - USB: serial: option: add Telit LE910Cx 0x1250 composition (Desnes Nunes) [2196368] - usb: typec: tipd: Set mode of operation for USB Type-C connector (Desnes Nunes) [2196368] - usb: typec: tipd: Move tps6598x_disconnect error path to its own label (Desnes Nunes) [2196368] - usb: typec: tipd: Fix typec_unregister_port error paths (Desnes Nunes) [2196368] - usb: typec: tipd: Only update power status on IRQ (Desnes Nunes) [2196368] - usb: typec: tipd: Forward plug orientation to typec subsystem (Desnes Nunes) [2196368] - tps6598x: clear int mask on probe failure (Desnes Nunes) [2196368] - usb: typec: tipd: Fix initialization sequence for cd321x (Desnes Nunes) [2196368] - usb: typec: tipd: Fix typo in cd321x_switch_power_state (Desnes Nunes) [2196368] - usb: typec: tipd: Enable event interrupts by default (Desnes Nunes) [2196368] - usb: typec: tipd: Remove FIXME about testing with I2C_FUNC_I2C (Desnes Nunes) [2196368] - usb: typec: tipd: Switch CD321X power state to S0 (Desnes Nunes) [2196368] - usb: typec: tipd: Add support for Apple CD321X (Desnes Nunes) [2196368] - usb: typec: tipd: Add short-circuit for no irqs (Desnes Nunes) [2196368] - usb: typec: tipd: Split interrupt handler (Desnes Nunes) [2196368] - dt-bindings: usb: tps6598x: Add Apple CD321x compatible (Desnes Nunes) [2196368] - dt-bindings: usb: Add TI tps6598x device tree binding documentation (Desnes Nunes) [2196368] - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read (Desnes Nunes) [2196368] - usb: typec: tipd: Add an additional overflow check (Desnes Nunes) [2196368] - usb: typec: tipd: Don't read/write more bytes than required (Desnes Nunes) [2196368] - usb: typec: tipd: Fix spurious fwnode_handle_put in error path (Desnes Nunes) [2196368] - usb: typec: tipd: Cleanup resources if devm_tps6598_psy_register fails (Desnes Nunes) [2196368] - usb: host: xhci-mtk: omit shared hcd if either root hub has no ports (Desnes Nunes) [2196368] - usb: xhci-mtk: enable wake-up interrupt after runtime_suspend called (Desnes Nunes) [2196368] - usb: typec: tcpci: fix of node refcount leak in tcpci_register_port() (Desnes Nunes) [2196368] - usb: typec: Check for ops->exit instead of ops->enter in altmode_exit (Desnes Nunes) [2196368] - usb: ftdi-elan: remove variable l (Desnes Nunes) [2196368] - Documentation: USB: correct possessive "its" usage (Desnes Nunes) [2196368] - usb: Check !irq instead of irq == NO_IRQ (Desnes Nunes) [2196368] - tools: usb: ffs-aio-example: Fix build error with aarch64-*-gnu-gcc toolchain(s) (Desnes Nunes) [2196368] - usb: xhci-pci: Set PROBE_PREFER_ASYNCHRONOUS (Desnes Nunes) [2196368] - usb: ehci-pci: Set PROBE_PREFER_ASYNCHRONOUS (Desnes Nunes) [2196368] - dt-bindings: usb: usb-drd: Describe default dual-role mode (Desnes Nunes) [2196368] - dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device (Desnes Nunes) [2196368] - dt-bindings: usb: Convert xHCI bindings to DT schema (Desnes Nunes) [2196368] - usb: host: Add ability to build new Broadcom STB USB drivers (Desnes Nunes) [2196368] - dt-bindings: Add Broadcom STB USB support (Desnes Nunes) [2196368] - dt-bindings: usb: Add generic "usb-phy" property (Desnes Nunes) [2196368] - dt-bindings: usb: usb-hcd: Add "tpl-support" property (Desnes Nunes) [2196368] - dt-bindings: usb: Add "ulpi/serial/hsic" PHY types (Desnes Nunes) [2196368] - dt-bindings: usb: usb-drd: Add "otg-rev" property constraints (Desnes Nunes) [2196368] - dt-bindings: usb: Convert generic USB properties to DT schemas (Desnes Nunes) [2196368] - dt-bindings: usb: mtu3: add properties about USB Role Switch (Desnes Nunes) [2196368] - dt-bindings: usb: add binding for USB GPIO based connection detection driver (Desnes Nunes) [2196368] - dt-bindings: connector: add optional properties for Type-B (Desnes Nunes) [2196368] - dt-bindings: connector: Add self-powered property (Desnes Nunes) [2196368] - dt-bindings: usb: generic: Add role-switch-default-mode binding (Desnes Nunes) [2196368] - dt-binding: usb: add usb-role-switch property (Desnes Nunes) [2196368] - dt-binding: usb: add "super-speed-plus" (Desnes Nunes) [2196368] - dt-bindings: usb: usb-hcd: Detach generic USB controller properties (Desnes Nunes) [2196368] - dt-bindings: Explicitly allow additional properties in common schemas (Desnes Nunes) [2196368] - dt-bindings: usb: Bring back phy-names (Desnes Nunes) [2196368] - usb: core: stop USB enumeration if too many retries (Desnes Nunes) [2196368] - usb: hub: port: add sysfs entry to switch port power (Desnes Nunes) [2196368] - usb: typec: port-mapper: Convert to the component framework (Desnes Nunes) [2196368] - usb: Link the ports to the connectors they are attached to (Desnes Nunes) [2196368] - usb: Remove usb_for_each_port() (Desnes Nunes) [2196368] - thunderbolt: Add wake on connect/disconnect on USB4 ports (Desnes Nunes) [2196368] - thunderbolt: Link USB4 ports to their USB Type-C connectors (Desnes Nunes) [2196368] - usb: core: Use kstrtobool() instead of strtobool() (Desnes Nunes) [2196368] - kernel.h: split out kstrtox() and simple_strtox() to a separate header (Desnes Nunes) [2196368] - USB: core: Change configuration warnings to notices (Desnes Nunes) [2196368] - thunderbolt: ACPI: Use the helper fwnode_find_reference() (Desnes Nunes) [2196368] - thunderbolt: Remove redundant assignment to variable len (Desnes Nunes) [2196368] - thunderbolt: Use str_enabled_disabled() helper (Desnes Nunes) [2196368] - media: device property: Add a function to test is a fwnode is a graph endpoint (Desnes Nunes) [2196368] - usb: typec: mux: Allow multiple mux_devs per mux (Desnes Nunes) [2196368] - usb: typec: mux: Introduce indirection (Desnes Nunes) [2196368] - device property: Use multi-connection matchers for single case (Desnes Nunes) [2196368] - device property: Fix fwnode_graph_devcon_match() fwnode leak (Desnes Nunes) [2196368] - device property: Add helper to match multiple connections (Desnes Nunes) [2196368] - Documentation: Remove device connection documentation (Desnes Nunes) [2196368] - usb: ftdi-elan: remove variable err_count (Desnes Nunes) [2196368] - USB: make devnode() callback in usb_class_driver take a const * (Desnes Nunes) [2196368] - USB: remove usb_bus_type from usb.h (Desnes Nunes) [2196368] - USB: allow some usb functions to take a const pointer. (Desnes Nunes) [2196368]- [rt] build kernel-rt-4.18.0-499.rt7.288.el8 [2180997] - s390/ap: Fix hanging ioctl caused by orphaned replies (Tobias Huschle) [2215891] - crypto: jitter - correct health test during initialization (Vladis Dronov) [2214270] - x86: properly define CONFIG_AS_TPAUSE in Makefile (Nico Pache) [2193009] - zsmalloc: fix races between asynchronous zspage free and page migration (Oleksandr Natalenko) [2213146] - netfilter: ip6t_rpfilter: Fix regression with VRF interfaces (Phil Sutter) [2169958] - x86/mm: Avoid incomplete Global INVLPG flushes (Rafael Aquini) [2213793] - rbd: get snapshot context after exclusive lock is ensured to be held (Ilya Dryomov) [2214973] - rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting (Ilya Dryomov) [2214973] - vfio/pci: Also demote hiding standard cap messages (Oleksandr Natalenko) [2207849] - vfio/pci: demote hiding ecap messages to debug level (Oleksandr Natalenko) [2207849] - mm: avoid unnecessary page fault retires on shared memory types (Nico Pache) [2213877] - mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit (Nico Pache) [2213877] - mm: Allow the [page|pfn]_mkwrite callbacks to drop the mmap_sem (Nico Pache) [2213877] - s390/qeth: convert sysfs snprintf to sysfs_emit (Tobias Huschle) [2203380] - s390/lcs: Fix return type of lcs_start_xmit() (Tobias Huschle) [2203380] - s390/netiucv: Fix return type of netiucv_tx() (Tobias Huschle) [2203380] - s390/ctcm: Fix return type of ctc{mp,}m_tx() (Tobias Huschle) [2203380] - s390/pci: clean up left over special treatment for function zero (Tobias Huschle) [2214268] - s390/pci: remove redundant pci_bus_add_devices() on new bus (Tobias Huschle) [2214268] - s390/pci: only add specific device in zpci_bus_scan_device() (Tobias Huschle) [2214268] - PCI: s390: Fix use-after-free of PCI resources with per-function hotplug (Tobias Huschle) [2214268] - net: atlantic: fix potential memory leak in aq_ndev_close() (Íñigo Huguet) [2184353] - net: atlantic: fix aq_vec index out of range error (Íñigo Huguet) [2179726 2184353] - net: atlantic: verify hw_head_ lies within TX buffer ring (Íñigo Huguet) [2184353] - net: atlantic: add check for MAX_SKB_FRAGS (Íñigo Huguet) [2184353] - net: atlantic: reduce scope of is_rsc_complete (Íñigo Huguet) [2184353] - net: atlantic: fix "frag[0] not initialized" (Íñigo Huguet) [2184353] - net: atlantic: Avoid out-of-bounds indexing (Íñigo Huguet) [2179726 2184353] - atlantic: Fix buff_ring OOB in aq_ring_rx_clean (Íñigo Huguet) [2184353] - atlantic: Remove warn trace message. (Íñigo Huguet) [2184353] - atlantic: Fix statistics logic for production hardware (Íñigo Huguet) [2184353] - atlantic: Add missing DIDs and fix 115c. (Íñigo Huguet) [2184353] - atlantic: Fix to display FW bundle version instead of FW mac version. (Íñigo Huguet) [2184353] - atlantic: Increase delay for fw transactions (Íñigo Huguet) [2184353] - atlantic: fix double-free in aq_ring_tx_clean (Íñigo Huguet) [2184353] - atlantic: Fix OOB read and write in hw_atl_utils_fw_rpc_wait (Íñigo Huguet) [2184353] - net: ethernet: aquantia: Handle error cleanup of start on open (Íñigo Huguet) [2184353] - aquantia: Remove the build_skb path (Íñigo Huguet) [2184353] - net: fix __dev_kfree_skb_any() vs drop monitor (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to icmpv6_echo_reply() (Antoine Tenart) [2184076] - ipv6: icmp6: add SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST (Antoine Tenart) [2184076] - ipv6: icmp6: add SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to ndisc_redirect_rcv() (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to ndisc_router_discovery() (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to ndisc_recv_rs() (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to ndisc_recv_na() (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to ndisc_recv_ns() (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to ndisc_rcv() (Antoine Tenart) [2184076] - ipv6: icmp6: add drop reason support to icmpv6_notify() (Antoine Tenart) [2184076] - net: add pskb_may_pull_reason() helper (Antoine Tenart) [2184076] - net-next: skbuff: refactor pskb_pull (Antoine Tenart) [2184076] - net: dropreason: add SKB_DROP_REASON_IPV6_BAD_EXTHDR (Antoine Tenart) [2184076] - rxrpc: Use consume_skb() rather than kfree_skb_reason() (Antoine Tenart) [2184076] - ipv4: raw: add drop reasons (Antoine Tenart) [2184076] - ipv6: raw: add drop reasons (Antoine Tenart) [2184076] - tcp: add TCP_MINTTL drop reason (Antoine Tenart) [2184076] - net: fix call location in kfree_skb_list_reason (Antoine Tenart) [2184076] - rxrpc: Show consumed and freed packets as non-dropped in dropwatch (Antoine Tenart) [2184076] - net: tun: rebuild error handling in tun_get_user (Antoine Tenart) [2184076] - ALSA: Update kernel configuration for 8.9 (Jaroslav Kysela) [2179850] - soundwire: stream: Add missing clear of alloc_slave_rt (Jaroslav Kysela) [2179850] - soundwire: dmi-quirks: add new mapping for HP Spectre x360 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Enable 4 amplifiers instead of 2 on a HP platform (Jaroslav Kysela) [2179850] - ALSA: hda: Fix kctl->id initialization (Jaroslav Kysela) [2179850] - ALSA: gus: Fix kctl->id initialization (Jaroslav Kysela) [2179850] - ALSA: cmipci: Fix kctl->id initialization (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Fix kctl->id initialization (Jaroslav Kysela) [2179850] - ALSA: ice1712,ice1724: fix the kcontrol->id initialization (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for Clevo NS50AU (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirks for Asus ROG 2024 laptops using CS35L41 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add "Intel Reference board" and "NUC 13" SSID in the ALC256 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add Lenovo P3 Tower platform (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01 (Jaroslav Kysela) [2179850] - ASoC: simple-card-utils: fix PCM constraint error check (Jaroslav Kysela) [2179850] - ASoC: max98363: limit the number of channel to 1 (Jaroslav Kysela) [2179850] - ASoC: max98363: Removed 32bit support (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add Thinkpad Neo14 to quirks list for acp6x (Jaroslav Kysela) [2179850] - ASoC: nau8824: Add quirk to active-high jack-detect (Jaroslav Kysela) [2179850] - ASoC: amd: ps: fix for acp_lock access in pdm driver (Jaroslav Kysela) [2179850] - ASoC: simple-card: Add missing of_node_put() in case of error (Jaroslav Kysela) [2179850] - ASoC: codecs: wsa881x: do not set can_multi_write flag (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: remove code for module namespaces (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Enable headset onLenovo M70/M90 (Jaroslav Kysela) [2179850] - regmap: sdw: check for invalid multi-register writes config (Jaroslav Kysela) [2179850] - ALSA: hda/ca0132: add quirk for EVGA X299 DARK (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add missing checks on FE startup (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Fix avs_path_module::instance_id size (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Account for UID of ACPI device (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Fix declaration of enum avs_channel_config (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Access path components under lock (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Fix module lookup (Jaroslav Kysela) [2179850] - ALSA: hda: Fix unhandled register update during auto-suspend period (Jaroslav Kysela) [2179850] - ASoC: soc-pcm: test if a BE can be prepared (Jaroslav Kysela) [2179850] - ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table (Jaroslav Kysela) [2179850] - ALSA: oss: avoid missing-prototype warnings (Jaroslav Kysela) [2179850] - ALSA: cs46xx: mark snd_cs46xx_download_image as static (Jaroslav Kysela) [2179850] - ALSA: hda: Fix Oops by 9.1 surround channel names (Jaroslav Kysela) [2179850] - ASoC: rt5682: Disable jack detection interrupt during suspend (Jaroslav Kysela) [2179850] - ASoC: SOF: Separate the tokens for input and output pin index (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Fix tuples array allocation (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helper to program SoundWire PCMSyCM registers (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: initialize instance_offset member (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: use 'ml_addr' parameter consistently (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: fix base_ptr computation (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helper to get SoundWire hlink (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: fix sublink refcounting (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Fix logic for copying tuples (Jaroslav Kysela) [2179850] - ASoC: dwc: move DMA init to snd_soc_dai_driver probe() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc3-topology: Make sure that only one cmd is sent in dai_config (Jaroslav Kysela) [2179850] - ASoC: SOF: pm: save io region state in case of errors in resume (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-client-probes: fix pm_runtime imbalance in error handling (Jaroslav Kysela) [2179850] - ASoC: SOF: pcm: fix pm_runtime imbalance in error handling (Jaroslav Kysela) [2179850] - ASoC: SOF: debug: conditionally bump runtime_pm counter on exceptions (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Fix mute and micmute LEDs for yet another HP laptop (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirks for ASUS GU604V and GU603V (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for HP EliteBook G10 laptops (Jaroslav Kysela) [2179850] - tools include UAPI: Sync the sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2179850] - firewire: net: fix unexpected release of object for asynchronous request packet (Jaroslav Kysela) [2179850] - ASoC: ssm2602: Add workaround for playback distortions (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Fix NULL pointer crash in acp_sof_ipc_msg_data function (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add a quirk for HP EliteDesk 805 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for 2nd ASUS GU603 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for Clevo L140AU (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add DMI entry to support System76 Pangolin 12 (Jaroslav Kysela) [2179850] - ALSA: pcm: use exit controlled loop in snd_pcm_playback_silence() (Jaroslav Kysela) [2179850] - ALSA: pcm: simplify top-up mode init in snd_pcm_playback_silence() (Jaroslav Kysela) [2179850] - ALSA: pcm: playback silence - move silence variable updates to separate function (Jaroslav Kysela) [2179850] - ALSA: pcm: playback silence - remove extra code (Jaroslav Kysela) [2179850] - ALSA: pcm: fix playback silence - correct incremental silencing (Jaroslav Kysela) [2179850] - ALSA: pcm: fix playback silence - use the actual new_hw_ptr for the threshold mode (Jaroslav Kysela) [2179850] - ALSA: pcm: Revert "ALSA: pcm: rewrite snd_pcm_playback_silence()" (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Fix mute and micmute LEDs for an HP laptop (Jaroslav Kysela) [2179850] - ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init` (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Add quirk for Pioneer DDJ-800 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: support HP Pavilion Aero 13-be0xxx Mute LED (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for ASUS UM3402YAR using CS35L41 (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add Asus VivoBook Pro 14 OLED M6400RC to the quirks list for acp6x (Jaroslav Kysela) [2179850] - ALSA: docs: Extend module parameters description (Jaroslav Kysela) [2179850] - ASoC: Intel: soc-acpi-cht: Add quirk for Nextbook Ares 8A tablet (Jaroslav Kysela) [2179850] - ALSA: emu10k1: use more existing defines instead of open-coded numbers (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add ASUS M3402RA into DMI table (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for ThinkPad P1 Gen 6 (Jaroslav Kysela) [2179850] - ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs. (Jaroslav Kysela) [2179850] - ALSA: emu10k1: use high-level I/O in set_filterQ() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: fix error handling in snd_audigy_i2c_volume_put() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: don't stop DSP in _snd_emu10k1_{,audigy_}init_efx() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: skip Sound Blaster-specific hacks for E-MU cards (Jaroslav Kysela) [2179850] - ALSA: emu10k1: fixup DSP defines (Jaroslav Kysela) [2179850] - ALSA: emu10k1: use high-level I/O functions also during init (Jaroslav Kysela) [2179850] - ALSA: emu10k1: fix SNDRV_EMU10K1_IOCTL_SINGLE_STEP (Jaroslav Kysela) [2179850] - ALSA: emu10k1: pull in some register definitions from kX-project (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove some bogus defines (Jaroslav Kysela) [2179850] - ALSA: emu10k1: eliminate some unused defines (Jaroslav Kysela) [2179850] - ALSA: emu10k1: fix lineup of EMU_HANA_* defines (Jaroslav Kysela) [2179850] - ALSA: emu10k1: comment updates (Jaroslav Kysela) [2179850] - ALSA: emu10k1: fix snd_emu1010_fpga_read() input masking for rev2 cards (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove unused emu->pcm_playback_efx_substream field (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove unused `resume` parameter from snd_emu10k1_init() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: minor optimizations (Jaroslav Kysela) [2179850] - ASoC: max98090: make it selectable (Jaroslav Kysela) [2179850] - ASoC: Intel: soc-acpi-byt: Fix "WM510205" match no longer working (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Rate limit usb_set_interface error reporting (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove remaining cruft from snd_emu10k1_emu1010_init() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: clean up P16V part somewhat (Jaroslav Kysela) [2179850] - ALSA: emu10k1: clarify various fx8010.*_mask fields (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove apparently pointless EMU_HANA_OPTION_CARDS reads (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove apparently pointless FPGA reads (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove unused snd_emu10k1_voice.emu field (Jaroslav Kysela) [2179850] - ALSA: emu10k1: stop doing weird things with HCFG in snd_emu10k1_emu1010_init() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: remove obsolete card type variable and defines (Jaroslav Kysela) [2179850] - ALSA: emu10k1: fix access to Audigy GPIO port (Jaroslav Kysela) [2179850] - ALSA: emu10k1: drop redundant snd_emu10k1_efx_playback_pointer() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: properly assert E-MU FPGA access constaints (Jaroslav Kysela) [2179850] - ALSA: emu10k1: drop redundant snd_emu10k1_efx_playback_hw_free() (Jaroslav Kysela) [2179850] - ASoC: SOF: pcm: Add an option to skip platform trigger during stop (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Do not stop/start DMA during pause/release (Jaroslav Kysela) [2179850] - ALSA: pcm: rewrite snd_pcm_playback_silence() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: Split the set_power_op for IPC3 and IPC4 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_sdw: append codec type to dai link name (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_sdw: support different devices on the same sdw link (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_sdw: set codec_num = 1 if the device is not aggregated (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_sdw_max98373: change sof_sdw_mx8373_late_probe to static call (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_sdw: remove late_probe flag in struct sof_sdw_codec_info (Jaroslav Kysela) [2179850] - ASoC: Intel: soc-acpi: Add entry for rt711-sdca-sdw at link 2 in RPL match table (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_cirrus_common: Guard against missing buses (Jaroslav Kysela) [2179850] - ASoC: SOF: Use no_reply calls for TX (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc: Add no reply inline calls (Jaroslav Kysela) [2179850] - ASoC: es8316: Don't use ranges based register lookup for a single register (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Remove specific patch for Dell Precision 3260 (Jaroslav Kysela) [2179850] - ASoC: nau8825: fix bounds check for adc_delay (Jaroslav Kysela) [2179850] - ASoC: codecs: wcd934x: Simplify &pdev->dev in probe (Jaroslav Kysela) [2179850] - ASoC: codecs: wcd934x: Simplify with dev_err_probe (Jaroslav Kysela) [2179850] - ASoC: codecs: wcd9335: Simplify with dev_err_probe (Jaroslav Kysela) [2179850] - ALSA: hda/hdmi: Remove some dead code (Jaroslav Kysela) [2179850] - ASoC: cs35l41: Fix default regmap values for some registers (Jaroslav Kysela) [2179850] - ASoC: ssm2602: Add support for CLKDIV2 (Jaroslav Kysela) [2179850] - ASoC: nau8825: Add delay control for input path (Jaroslav Kysela) [2179850] - ALSA: hda/hdmi: disable KAE for Intel DG2 (Jaroslav Kysela) [2179850] - ASoC: da7218: Use devm_clk_get_optional() (Jaroslav Kysela) [2179850] - ASoC: da7219: Improve the relability of AAD IRQ process (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirks for Lenovo Z13/Z16 Gen2 (Jaroslav Kysela) [2179850] - ASoC: amd: Add check for acp config flags (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add ThinkBook 14 G5+ ARP to quirks list for acp6x (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: mtl: fix page fault in dspless mode when DSP is disabled (Jaroslav Kysela) [2179850] - ASoC: tas5720: add missing unwind goto in tas5720_codec_probe (Jaroslav Kysela) [2179850] - ASoC: ep93xx: Add OF support (Jaroslav Kysela) [2179850] - ASoC: ep93xx: i2s: Make it individually selectable (Jaroslav Kysela) [2179850] - ASoC: cs4271: flat regcache, trivial simplifications (Jaroslav Kysela) [2179850] - ASoC: ep93xx: i2s: move enable call to startup callback (Jaroslav Kysela) [2179850] - ASoC: amd: Add Dell G15 5525 to quirks list (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Print the format_val as hexadecimal number (Jaroslav Kysela) [2179850] - ASoC: max98373: change power down sequence for smart amp (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: conditionally wake WPIO1PG domain (Jaroslav Kysela) [2179850] - ASoC: Intel: Add rpl_mx98360_rt5682 driver (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: add __func__ in SoundWire lcount() error logs (Jaroslav Kysela) [2179850] - ALSA: hda: patch_realtek: add quirk for Asus N7601ZM (Jaroslav Kysela) [2179850] - ALSA: hda: LNL: add HD Audio PCI ID (Jaroslav Kysela) [2179850] - ASoC: max98363: Make soc_codec_dev_max98363 static (Jaroslav Kysela) [2179850] - soundwire: bus: Fix unbalanced pm_runtime_put() causing usage count underflow (Jaroslav Kysela) [2179850] - ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex() (Jaroslav Kysela) [2179850] - ALSA: document that struct __snd_pcm_mmap_control64 is messed up (Jaroslav Kysela) [2179850] - ASoC: rt712-sdca: Add RT712 SDCA driver for Mic topology (Jaroslav Kysela) [2179850] - ASoC: add snd_soc_card_mutex_lock/unlock() (Jaroslav Kysela) [2179850] - ASoC: expand snd_soc_dpcm_mutex_lock/unlock() (Jaroslav Kysela) [2179850] - ASoC: expand snd_soc_dapm_mutex_lock/unlock() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: tidyup dapm_connect_dai_pair() (Jaroslav Kysela) [2179850] - ALSA: emu10k1: documentation updates (Jaroslav Kysela) [2179850] - ALSA: emu10k1: update label & help in config system (Jaroslav Kysela) [2179850] - ALSA: emu10k1: don't create old pass-through playback device on Audigy (Jaroslav Kysela) [2179850] - ALSA: emu10k1: fix capture interrupt handler unlinking (Jaroslav Kysela) [2179850] - ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards (Jaroslav Kysela) [2179850] - ALSA: i2c/cs8427: fix iec958 mixer control deactivation (Jaroslav Kysela) [2179850] - ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard (Jaroslav Kysela) [2179850] - ALSA: pcm: fix wait_time calculations (Jaroslav Kysela) [2179850] - ASoC: SOF: pm: Tear down pipelines only if DSP was active (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helper to retrieve eml_lock (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helper to offload link ownership (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helpers to retrieve DMIC/SSP hlink (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: program SoundWire LSDIID registers (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helper to check cmdsync (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helpers for sync_arm/sync_go (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helpers to set link SYNC frequency (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helpers to enable/check interrupts (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helper to return sublink count (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add convenience helpers for SoundWire PM (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: introduce helpers for 'extended links' PM (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: special-case HDaudio regular links (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add structures to parse ALT links (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: move to a dedicated module (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add return value for hda_bus_ml_get_capabilities() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: improve hda_bus_ml_free() helper (Jaroslav Kysela) [2179850] - ALSA: hda: add HDaudio Extended link definitions (Jaroslav Kysela) [2179850] - Documentation: sound: add description of Intel HDaudio multi-links (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-tgl: Allow DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-skl: Allow DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-mtl: Allow DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-icl: Allow DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-cnl: Allow DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-apl: Allow DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: make DSPless mode work with DSP disabled in BIOS (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Add support for DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Skip interfaces not supported on a platform (Jaroslav Kysela) [2179850] - ASoC: SOF: Add support for DSPless mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Add flag and state which will be used for DSP-less mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-stream: Do not dereference hstream until it is safe (Jaroslav Kysela) [2179850] - ASoC: tegra20_ac97: Add missing unwind goto in tegra20_ac97_platform_probe() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Clarify bind failure caused by missing fw_module (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: refactor dmic codec platform device creation (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: refactor error checks in probe call (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: refactor get_chip_info callback (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: remove unused variables (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: remove acp_dai_probe() function (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: remove unused code (Jaroslav Kysela) [2179850] - ASoC: soc.h: remove unused params/num_params (Jaroslav Kysela) [2179850] - ASoC: samsung: switch to use c2c_params instead of params (Jaroslav Kysela) [2179850] - ASoC: audio-graph-card2: switch to use c2c_params instead of params (Jaroslav Kysela) [2179850] - ASoC: soc.h: clarify Codec2Codec params (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add DMI entries to support HP OMEN 16-n0xxx (8A42) (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for Clevo X370SNW (Jaroslav Kysela) [2179850] - ALSA: hda/hdmi: Preserve the previous PCM device upon re-enablement (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2179850] - ASoC: amd: ps: update the acp clock source. (Jaroslav Kysela) [2179850] - ASoC: max98363: add soundwire amplifier driver (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4/intel: Fix spelling mistake "schduler" -> "scheduler" (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4/intel: Add missing mutex_unlock() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4/intel: Add support for chained DMA (Jaroslav Kysela) [2179850] - ASoC: SOF: avoid a NULL dereference with unsupported widgets (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Use register macro in place of integer literal (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Use u16 consistently for old_legacy_ctrl (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Store additional legacy registers on suspend (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Store saved legacy registers in an array (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Move allocation of saved registers to struct snd_ymfpci (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Switch to DEFINE_SIMPLE_DEV_PM_OPS() (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Add error messages for abritrary IO ports on older chips (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Fix BUG_ON in probe function (Jaroslav Kysela) [2179850] - ALSA: ymfpci: Create card with device-managed snd_devm_card_new() (Jaroslav Kysela) [2179850] - ASoC: soc-topology.c: dai_link->platform again (Jaroslav Kysela) [2179850] - firmware: cs_dsp: Add a debugfs entry containing control details (Jaroslav Kysela) [2179850] - ASoC: wm8903: Remove outdated DMIC comment (Jaroslav Kysela) [2179850] - ASoC: es8316: Handle optional IRQ assignment (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for Lenovo ZhaoYang CF4620Z (Jaroslav Kysela) [2179850] - ASoC: da7213.c: add missing pm_runtime_disable() (Jaroslav Kysela) [2179850] - ASoC: audio-graph-card2-custom-sample.dtsi: use card->name to avoid long name (Jaroslav Kysela) [2179850] - ASoC: soc-core.c: add snd_soc_add_pcm_runtimes() (Jaroslav Kysela) [2179850] - ALSA: asihpi: remove unused loop_count variable (Jaroslav Kysela) [2179850] - ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots() (Jaroslav Kysela) [2179850] - ASoC: dapm: Sort speakers after other outputs (Jaroslav Kysela) [2179850] - ASoC: soc-compress: Inherit atomicity from DAI link for Compress FE (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Fix regression on detection of Roland VS-100 (Jaroslav Kysela) [2179850] - ASoC: codecs: rt5682-sdw: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt715-sdca: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt715: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt712-sdca: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt711-sdca: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt711-sdw: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt700-sdw: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt1318-sdw: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt1316-sdw: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: rt1308-sdw: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: max98373-sdw: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: sdw-mockup: simplify set_stream (Jaroslav Kysela) [2179850] - ASoC: codecs: cs42l42-sdw: clear stream (Jaroslav Kysela) [2179850] - ASoC: simple-card.c: add missing of_node_put() (Jaroslav Kysela) [2179850] - ASoC: soc-topology.c: remove unnecessary dai_link->platform (Jaroslav Kysela) [2179850] - ASoC: ti: remove unnecessary dai_link->platform (Jaroslav Kysela) [2179850] - ASoC: atmel: remove unnecessary dai_link->platform (Jaroslav Kysela) [2179850] - ALSA: hdspm: remove unused copy_u32_le function (Jaroslav Kysela) [2179850] - ALSA: docs: A few more words for PCM XRUN handling and stream locks (Jaroslav Kysela) [2179850] - ALSA: docs: Add description about ack callback -EPIPE error handling (Jaroslav Kysela) [2179850] - ALSA: pcm: Improved XRUN handling for indirect PCM helpers (Jaroslav Kysela) [2179850] - soundwire: intel_auxdevice: improve pm_prepare step (Jaroslav Kysela) [2179850] - soundwire: bus: Update sdw_nread/nwrite_no_pm to handle page boundaries (Jaroslav Kysela) [2179850] - soundwire: bus: Update kernel doc for no_pm functions (Jaroslav Kysela) [2179850] - soundwire: bus: Remove now outdated comments on no_pm IO (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Fix support for Dell Precision 3260 (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750 (Jaroslav Kysela) [2179850] - ASoC: SOF: pcm: Improve the pcm trigger sequence (Jaroslav Kysela) [2179850] - ASoC: SOF: pcm: Make hw_params reset conditional for IPC3 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data() (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: Remove conditional dpcm_capture setting (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: Update BT offload config for MTL RVP (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: Update BT offload config for Rex (Jaroslav Kysela) [2179850] - soundwire: stream: uniquify dev_err() logs (Jaroslav Kysela) [2179850] - soundwire: stream: remove bus->dev from logs on multiple buses (Jaroslav Kysela) [2179850] - ASoC: tegra: remove unneeded semicolon (Jaroslav Kysela) [2179850] - ASoC: simple-card: add comment to indicate don't remove platforms (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-control: Return on error in sof_ipc4_widget_kcontrol_setup() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Add macros for chain-dma message bits (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Set pipeline widget before updating IPC structures (Jaroslav Kysela) [2179850] - soundwire: amd: add pm_prepare callback and pm ops support (Jaroslav Kysela) [2179850] - soundwire: amd: handle SoundWire wake enable interrupt (Jaroslav Kysela) [2179850] - soundwire: amd: add runtime pm ops for AMD SoundWire manager driver (Jaroslav Kysela) [2179850] - soundwire: amd: add SoundWire manager interrupt handling (Jaroslav Kysela) [2179850] - soundwire: amd: enable build for AMD SoundWire manager driver (Jaroslav Kysela) [2179850] - soundwire: amd: register SoundWire manager dai ops (Jaroslav Kysela) [2179850] - soundwire: amd: Add support for AMD Manager driver (Jaroslav Kysela) [2179850] - soundwire: export sdw_compute_slave_ports() function (Jaroslav Kysela) [2179850] - soundwire: intel: don't save hw_params for use in prepare (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Fix recursive locking at XRUN during syncing (Jaroslav Kysela) [2179850] - ALSA: hda/conexant: Partial revert of a quirk for Lenovo (Jaroslav Kysela) [2179850] - ASoC: wm_adsp: Simplify the logging of requested firmware files (Jaroslav Kysela) [2179850] - ASoC: wm_adsp: Add support for loading bin files without wmfw (Jaroslav Kysela) [2179850] - ASoC: wm_adsp: Expose the DSP boot work actions as wm_adsp_power_up() (Jaroslav Kysela) [2179850] - ASoC: wm_adsp: Support DSPs that don't require firmware download (Jaroslav Kysela) [2179850] - firmware: cs_dsp: Support DSPs that don't require firmware download (Jaroslav Kysela) [2179850] - ASoC: wm_adsp: Use no_core_startstop to prevent creating preload control (Jaroslav Kysela) [2179850] - firmware: cs_dsp: Introduce no_core_startstop for self-booting DSPs (Jaroslav Kysela) [2179850] - mfd: arizona-i2c: Add the missing device table IDs for OF (Jaroslav Kysela) [2179850] - ASoC: cs35l41: Add 12288000 clk freq to cs35l41_fs_mon clk config (Jaroslav Kysela) [2179850] - ALSA: portman2x4: remove unused portman_read_command,data functions (Jaroslav Kysela) [2179850] - ALSA: ymfpci: remove unused snd_ymfpci_readb function (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirks for some Clevo laptops (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Initialize in_format to NULL in sof_ipc4_get_audio_fmt (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add DMI entries to support Victus by HP Laptop 16-e1xxx (8A22) (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: update pipeline_params in process prepare (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: set copier output format for process module (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Add support for base config extension (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: add base module config extension structure (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: add effect widget support (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Move the kcontrol module_id update to helper (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: use common helper function in copier prepare (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: support multiple configs for BE DAIs (Jaroslav Kysela) [2179850] - soundwire: stream: restore cumulative bus bandwidth when compute_params callback failed (Jaroslav Kysela) [2179850] - ASoC: amd: acp: rembrandt: Drop if blocks with always false condition (Jaroslav Kysela) [2179850] - ALSA: sh: aica: Drop if blocks with always false condition (Jaroslav Kysela) [2179850] - soundwire: bandwidth allocation: Use hweight32() to calculate set bits (Jaroslav Kysela) [2179850] - soundwire: dmi-quirks: add remapping for Intel 'Rooks County' NUC M15 (Jaroslav Kysela) [2179850] - ASoC: Intel: soc-acpi: add table for Intel 'Rooks County' NUC M15 (Jaroslav Kysela) [2179850] - ASOC: Intel: sof_sdw: add quirk for Intel 'Rooks County' NUC M15 (Jaroslav Kysela) [2179850] - soundwire: cadence: change access to IP_MCP_CMD_BASE (Jaroslav Kysela) [2179850] - soundwire: cadence: split access to IP_MCP_CMDCTRL fields (Jaroslav Kysela) [2179850] - soundwire: cadence: split access to IP_MCP_CONTROL fields (Jaroslav Kysela) [2179850] - soundwire: cadence: split access to IP_MCP_CONFIG fields (Jaroslav Kysela) [2179850] - soundwire: cadence: add helpers to access IP_MCP registers (Jaroslav Kysela) [2179850] - soundwire: cadence: remove CDNS_MCP_CONFIG_SSPMOD (Jaroslav Kysela) [2179850] - soundwire: intel: move bank switch routine to common intel_bus_common.c (Jaroslav Kysela) [2179850] - soundwire: intel: add abstraction for cmdsync check (Jaroslav Kysela) [2179850] - soundwire: intel: move bus common sequences to different file (Jaroslav Kysela) [2179850] - soundwire: intel: use indirection before moving bus start/stop sequences (Jaroslav Kysela) [2179850] - soundwire: intel: add sync_arm/sync_go to ops (Jaroslav Kysela) [2179850] - soundwire: intel: simplify sync_go sequence (Jaroslav Kysela) [2179850] - soundwire: intel: remove useless abstraction (Jaroslav Kysela) [2179850] - soundwire: intel: remove PDI-level restrictions on rates and formats (Jaroslav Kysela) [2179850] - soundwire: intel: remove stale/misleading comment (Jaroslav Kysela) [2179850] - soundwire: intel: move common definitions to header file (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Search only pin 0 formats (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Add new tokens for input/output pin format count (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Remove the ref_audio_fmt field (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Modify the signature of sof_ipc4_init_audio_fmt() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Modify the type of available input/output formats (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Always parse the output formats in topology (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Parse the SOF_COMP_TOKENS only once (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Do not parse the DMA_BUFFER_SIZE token (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Add a new field in struct sof_ipc4_available_audio_format (Jaroslav Kysela) [2179850] - ASoC: SOF: Use input/output pin consistently (Jaroslav Kysela) [2179850] - ASoC: SOF: rename a couple of tokens (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-control: Add support for bytes control get and put (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Add support for TPLG_CTL_BYTES (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-control: set_volume_data only applies to VOLSW family (Jaroslav Kysela) [2179850] - ASoC: SOF: uapi: header: Update sof_abi_hdr doc for IPC4 use (Jaroslav Kysela) [2179850] - ASoC: SOF: uapi: header: Convert sof_abi_hdr comments to kernel style (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc3-control: Merge functions to handle bytes_ext get variants (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc3-control: Rename snd_sof_refresh_control() (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: add support for setting up loopback routes (Jaroslav Kysela) [2179850] - ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set() (Jaroslav Kysela) [2179850] - ALSA: asihpi: check pao in control_message() (Jaroslav Kysela) [2179850] - ASoC: codecs: zl38060: Mark OF related data as maybe unused (Jaroslav Kysela) [2179850] - ASoC: codecs: rt1019: Mark OF related data as maybe unused (Jaroslav Kysela) [2179850] - ASoC: codecs: pcm179x-spi: Mark OF related data as maybe unused (Jaroslav Kysela) [2179850] - ASoC: codecs: adau1977-spi: Mark OF related data as maybe unused (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: Enable Bluetooth offload on adl_rt1019_rt5682 (Jaroslav Kysela) [2179850] - ALSA: Use of_property_read_bool() for boolean properties (Jaroslav Kysela) [2179850] - ALSA: ppc/tumbler: Use of_property_present() for testing DT property presence (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: Don't access EM2 (Jaroslav Kysela) [2179850] - ASoC: cs35l41: Steam Deck Shared boost properties quirk (Jaroslav Kysela) [2179850] - ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm (Jaroslav Kysela) [2179850] - ASoC: hdmi-codec: only startup/shutdown on supported streams (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Enable cont_update_posn variable in pcm hw_params. (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Add pcm pointer callback for amd platforms. (Jaroslav Kysela) [2179850] - ASoC: tegra: Support MAX9808x by machine driver (Jaroslav Kysela) [2179850] - ASoC: tegra: Support RT5631 by machine driver (Jaroslav Kysela) [2179850] - ASoC: tegra: Support coupled mic-hp detection (Jaroslav Kysela) [2179850] - ALSA: hda: Match only Intel devices with CONTROLLER_IN_GPU() (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro (Jaroslav Kysela) [2179850] - ASoC: da7219: Initialize jack_det_mutex (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: remove redundant DAI config during hw_free (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Remove hda_ctrl_dai_widget_setup/free() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Unify DAI drv ops for IPC3 and IPC4 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Define DAI widget DMA trigger ops for IPC4 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Use the topology IPC dai_config op (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Add setup_hext_stream/reset_hext_stream DMA ops (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Define and set the HDA DAI widget DMA ops (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Introduce DAI widget ops (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Use the dai argument in ipc4_hda_dai_trigger (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Pass the CPU dai pointer (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Modify the signature of hda_link_dma_cleanup() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: remove struct hda_pipe_params (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Remove hda_link_dma_params() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: Remove BE DAI DRV ops for SSP DAI's (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: fix speaker, mute/micmute LEDs not work on a HP platform (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: add core token in each module extended token list (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Add support for core_id for pipelines (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Add macro to set the core_id in create_pipe message (Jaroslav Kysela) [2179850] - ASoC: SOF: loader: Remove log prefixes for snd_sof_run_firmware (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc3: Check for upper size limit for the received message (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Fix error handling in sof_widget_ready() (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: don't squelch errors in WIDGET_SETUP phase (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: Fix broken early bclk feature for SSP (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-mtrace: process pending logs upon FW crash (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: don't allocate blob if it will not be used (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Fix incorrect sample rate print unit (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: set dmic dai index from copier (Jaroslav Kysela) [2179850] - ASoC: SOF: IPC4: update gain ipc msg definition to align with fw (Jaroslav Kysela) [2179850] - ASoC: Intel: soc-acpi: fix copy-paste issue in topology names (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dsp: harden D0i3 programming sequence (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-ctrl: re-add sleep after entering and exiting reset (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-tng: revert invalid bar size setting (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: mtl: Access MTL_HFPWRCTL from HDA_DSP_BAR (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-loader: use SOF helper for consistency (Jaroslav Kysela) [2179850] - ASOC: SOF: Intel: pci-tgl: Fix device description (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: SKL: Fix device description (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: HDA: Fix device description (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: Fix the device description (Jaroslav Kysela) [2179850] - ALSA: hda: intel-dsp-config: add MTL PCI id (Jaroslav Kysela) [2179850] - ASoC: soc-core.c: remove useless dev_dbg() (Jaroslav Kysela) [2179850] - ASoC: soc-pcm.c: remove indirect runtime copy (Jaroslav Kysela) [2179850] - ASoC: soc-dai.c: add missing flag check at snd_soc_pcm_dai_probe() (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Use struct_size for struct avs_modcfg_ext size (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: nau8825: Adjust clock control (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: ssm4567: Remove nau8825 bits (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt5682: Explicitly define codec format (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: da7219: Explicitly define codec format (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: max98357a: Explicitly define codec format (Jaroslav Kysela) [2179850] - ASoC: maxim,max9867: add "mclk" support (Jaroslav Kysela) [2179850] - ASoC: soc-pcm: add option to start DMA after DAI (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add DMI entries to support HP OMEN 16-n0xxx (8A43) (Jaroslav Kysela) [2179850] - ASoC: zl38060 add gpiolib dependency (Jaroslav Kysela) [2179850] - ASoC: mt6358: Remove undefined HPx Mux enumeration values (Jaroslav Kysela) [2179850] - ASoC: mt6358: Validate Wake on Voice 2 writes (Jaroslav Kysela) [2179850] - ASoC: mt6358: Fix event generation for wake on voice stage 2 switch (Jaroslav Kysela) [2179850] - ALSA: ice1712: Delete unreachable code in aureon_add_controls() (Jaroslav Kysela) [2179850] - ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls() (Jaroslav Kysela) [2179850] - ASoC: adau7118: don't disable regulators on device unbind (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Replace fake flexible arrays with flexible-array member (Jaroslav Kysela) [2179850] - ALSA: cs35l41: Add shared boost feature (Jaroslav Kysela) [2179850] - ASoC: cs35l41: Refactor error release code (Jaroslav Kysela) [2179850] - ASoC: cs35l41: Only disable internal boost (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC (Jaroslav Kysela) [2179850] - soundwire: qcom: gracefully handle too many ports in DT (Jaroslav Kysela) [2179850] - soundwire: qcom: define hardcoded version magic numbers (Jaroslav Kysela) [2179850] - soundwire: qcom: correct setting ignore bit on v1.5.1 (Jaroslav Kysela) [2179850] - ASoC: jack: allow multiple interrupt per gpio (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Improve support for Dell Precision 3260 (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: Add quirk for Rex board with mx98360a amplifier (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: Enable DMI L1 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Restrict DMI L1 disable workaround (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Do not re-enable L1 if disabled before suspend (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: Add components prefix in structs and function names (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: Centralize strings definition (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: Move nau8821 and CPU side code up for future platform (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: Check Bit Clock rate before snd_soc_dai_set_pll (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: use for_each_rtd_components instead of for (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: remove unnecessarily included headers (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: use sizeof of variable instead of struct type (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: Small code refactor (Jaroslav Kysela) [2179850] - ASoC: amd: vangogh: Remove unnecessary init function (Jaroslav Kysela) [2179850] - ASoC: nau8821: Implement DRC controls (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak (Jaroslav Kysela) [2179850] - ASoC: amd: yp: Add OMEN by HP Gaming Laptop 16z-n000 to quirks (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared (Jaroslav Kysela) [2179850] - ASoC: soc-ac97: Return correct error codes (Jaroslav Kysela) [2179850] - ASoC: da7219: Improve the IRQ process to increase the stability (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Enable mute/micmute LEDs and speaker support for HP Laptops (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dsp: Set streaming flag for d0i3 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: Enable d0i3 work for ipc4 (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Wake up dsp core before sending ipc msg (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dsp: use set_pm_gate according to ipc version (Jaroslav Kysela) [2179850] - ASoC: SOF: Introduce a new set_pm_gate() IPC PM op (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform. (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Fix struct definition (Jaroslav Kysela) [2179850] - ASoC: codecs: wcd934x: Use min macro for comparison and assignment (Jaroslav Kysela) [2179850] - ASoC: soc-ac97: Convert to agnostic GPIO API (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Enable Amp High Pass Filter (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Ensure firmware/tuning pairs are always loaded (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Correct error condition handling (Jaroslav Kysela) [2179850] - ASoC: codecs: Modify error implicit declaration of function 'gpiod_set_value_cansleep' (Jaroslav Kysela) [2179850] - ASoC: codecs: Modify the log print statement (Jaroslav Kysela) [2179850] - ASoC: codecs: Fixed a spelling error in the function name (Jaroslav Kysela) [2179850] - ALSA: hda/realtek - fixed wrong gpio assigned (Jaroslav Kysela) [2179850] - ALSA: hda: Fix codec device field initializan (Jaroslav Kysela) [2179850] - ASoC: rt712-sdca: fix coding style and unconditionally return issues (Jaroslav Kysela) [2179850] - ASoC: rt5640: Update MCLK rate in set_sysclk() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: set copier sink format (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Print queue IDs in error (Jaroslav Kysela) [2179850] - ALSA: hda: remove redundant variable in snd_hdac_stream_start() (Jaroslav Kysela) [2179850] - ALSA: hda/conexant: add a new hda codec SN6180 (Jaroslav Kysela) [2179850] - SoC: rt5682s: Disable jack detection interrupt during suspend (Jaroslav Kysela) [2179850] - ALSA: ppc: fix unused function local variable (Jaroslav Kysela) [2179850] - ASoC: codecs: max98090: simplify snd_soc_dai_driver (Jaroslav Kysela) [2179850] - ASoC: SOF: ops: refine parameters order in function snd_sof_dsp_update8 (Jaroslav Kysela) [2179850] - ASoC: topology: Return -ENOMEM on memory allocation failure (Jaroslav Kysela) [2179850] - ALSA: core: Make snd_card_free() return void (Jaroslav Kysela) [2179850] - ALSA: core: Make snd_card_free_when_closed() return void (Jaroslav Kysela) [2179850] - ALSA: core: Make snd_card_disconnect() return void (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add Positivo N14KP6-TG (Jaroslav Kysela) [2179850] - ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control() (Jaroslav Kysela) [2179850] - ASoC: rt712-sdca: Add RT712 SDCA driver for Jack and Amp topology (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform. (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Add quirk for ASUS UM3402 using CS35L41 (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Elitebook, 645 G9 (Jaroslav Kysela) [2179850] - ASoC: codecs: aw88395: initialize cur_scene_id to 0 (Jaroslav Kysela) [2179850] - ASoC: codecs: es8326: Fix DTS properties reading (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Fix for handling spurious interrupts from DSP (Jaroslav Kysela) [2179850] - ASoC: codecs: fix platform_no_drv_owner.cocci warning (Jaroslav Kysela) [2179850] - ALSA: fireface: add field for the number of messages copied to user space (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: add delay function support (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: mtl: add get_stream_position support (Jaroslav Kysela) [2179850] - ASoC: SOF: add get_stream_position ops for pcm delay (Jaroslav Kysela) [2179850] - ASoC: SOF: add delay function support in sof framework (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: add hw_params (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: allocate time info for pcm delay feature (Jaroslav Kysela) [2179850] - ASoC: SOF: add time info structure for ipc4 path (Jaroslav Kysela) [2179850] - ASoC: SOF: add fw_info_box support (Jaroslav Kysela) [2179850] - ASoC: SOF: add ipc4_fw_reg header file (Jaroslav Kysela) [2179850] - ASoC: codecs: aw88395: Fix spelling mistake "cersion" -> "version" (Jaroslav Kysela) [2179850] - ASoC: SOF: fix intel-soundwire link failure (Jaroslav Kysela) [2179850] - ALSA: hda: Fix the control element identification for multiple codecs (Jaroslav Kysela) [2179850] - ASoC: amd: update ps platform acp header file (Jaroslav Kysela) [2179850] - ASoC: topology: Set correct unload callback for graph type (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Add missed "else" in sof_connect_dai_widget (Jaroslav Kysela) [2179850] - ASoC: cs42l42: use helper function (Jaroslav Kysela) [2179850] - ALSA: pci: lx6464es: fix a debug loop (Jaroslav Kysela) [2179850] - ASoC: soc-dai.h: cleanup Playback/Capture data for snd_soc_dai (Jaroslav Kysela) [2179850] - ASoC: soc-topology.c: use helper function (Jaroslav Kysela) [2179850] - ASoC: soc-pcm.c: use helper function (Jaroslav Kysela) [2179850] - ASoC: soc-dai.c: use helper function (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: use helper function (Jaroslav Kysela) [2179850] - ASoC: soc-core.c: use helper function (Jaroslav Kysela) [2179850] - ASoC: ti: use helper function (Jaroslav Kysela) [2179850] - ASoC: tegra: use helper function (Jaroslav Kysela) [2179850] - ASoC: sof: use helper function (Jaroslav Kysela) [2179850] - ASoC: intel: use helper function (Jaroslav Kysela) [2179850] - ASoC: sdw-mockup: use helper function (Jaroslav Kysela) [2179850] - ASoC: spear: use helper function (Jaroslav Kysela) [2179850] - ASoC: cirrus: use helper function (Jaroslav Kysela) [2179850] - ASoC: rt: use helper function (Jaroslav Kysela) [2179850] - ASoC: max: use helper function (Jaroslav Kysela) [2179850] - ASoC: hda: use helper function (Jaroslav Kysela) [2179850] - ASoC: hdmi-codec: use helper function (Jaroslav Kysela) [2179850] - ASoC: soc.h: add snd_soc_card_is_instantiated() helper (Jaroslav Kysela) [2179850] - ASoC: soc-dai.h: add snd_soc_dai_get/set_widget_playback/capture() helper (Jaroslav Kysela) [2179850] - ASoC: soc-dai.h: add snd_soc_dai_tdm_mask_set/get() helper (Jaroslav Kysela) [2179850] - ASoC: soc-dai.h: add snd_soc_dai_dma_data_set/get() for low level (Jaroslav Kysela) [2179850] - ASoC: soc-dai.h: add missing snd_soc_dai_set_widget() (Jaroslav Kysela) [2179850] - ALSA: doc: Fix PCM interface section typos (Jaroslav Kysela) [2179850] - ALSA: firewire-motu: fix unreleased lock warning in hwdep device (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: fix uninitialized local variable (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Refactor bit width calculation (Jaroslav Kysela) [2179850] - ASoC: rt715-sdca: fix clock stop prepare timeout issue (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro 360 (Jaroslav Kysela) [2179850] - ASoC: tas5720: set bit 7 in ANALOG_CTRL_REG for TAS5720A-Q1 during probe (Jaroslav Kysela) [2179850] - ASoC: codecs: tas5720: add support for TAS5720A-Q1 (automotive) variant (Jaroslav Kysela) [2179850] - ASoC: codecs: tas5720: split a tas5720_mute_soc_component() function (Jaroslav Kysela) [2179850] - ASoC: topology: Use unload() op directly (Jaroslav Kysela) [2179850] - ASoC: topology: Unify kcontrol removal code (Jaroslav Kysela) [2179850] - ASoC: topology: Remove unnecessary check for EOF (Jaroslav Kysela) [2179850] - ASoC: topology: Return an error on complete() failure (Jaroslav Kysela) [2179850] - ASoC: topology: Pass correct pointer instead of casting (Jaroslav Kysela) [2179850] - ASoC: topology: Remove unnecessary forward declarations (Jaroslav Kysela) [2179850] - ASoC: topology: Rename remove_ handlers (Jaroslav Kysela) [2179850] - ASoC: topology: Fix function name (Jaroslav Kysela) [2179850] - ASoC: topology: Fix typo in functions name (Jaroslav Kysela) [2179850] - ASoC: topology: Remove unused SOC_TPLG_PASS_PINS constant (Jaroslav Kysela) [2179850] - ASoC: topology: Properly access value coming from topology file (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Wait for debounce interval after resume (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Don't set idle_bias_on (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Add SoundWire support (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Export some functions for SoundWire (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Separate ASP config from PLL config (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Ensure MCLKint is a multiple of the sample rate (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Add SOFT_RESET_REBOOT register (Jaroslav Kysela) [2179850] - soundwire: stream: Add specific prep/deprep commands to port_prep callback (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: Do not run the trigger pipelines if no spipe is stored (Jaroslav Kysela) [2179850] - ASoC: SOF: Protect swidget->use_count with mutex for kcontrol access race (Jaroslav Kysela) [2179850] - ASoC: SOF: Avoid double decrementing use_count in sof_widget_setup on error (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Protect pipeline free with mutex (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: Implement pipeline trigger reference counting (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: Rename 'data' variable to trigger_list (Jaroslav Kysela) [2179850] - ASoC: SOF: Introduce struct snd_sof_pipeline (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: Use the PCM stream's pipeline_info during trigger (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: Populate the PCM stream pipeline_info (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Add flag to skip triggering pipelines during FE DAI trigger (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-pcm: Define pcm_setup/free ops (Jaroslav Kysela) [2179850] - ASoC: SOF: Introduce PCM setup/free PCM IPC ops (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Set IPC-specific trigger order for DAI links (Jaroslav Kysela) [2179850] - ASoC: SOF: pcm: do not free widgets during suspend trigger (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: Only process widgets in the connected widget list (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: Set up/free DAI/AIF widgets only once (Jaroslav Kysela) [2179850] - ASoC: soc-pcm: Export widget_in_list() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: No need to unbind routes within a pipeline (Jaroslav Kysela) [2179850] - Documentation: sound: correct spelling (Jaroslav Kysela) [2179850] - treewide: fix up files incorrectly marked executable (Jaroslav Kysela) [2179850] - ASoC: cs42l56: fix DT probe (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: add buffer type support (Jaroslav Kysela) [2179850] - ALSA: memalloc: Workaround for Xen PV (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: use different channel mask for each sdw amp feedback (Jaroslav Kysela) [2179850] - soundwire: bus_type: Avoid lockdep assert in sdw_drv_probe() (Jaroslav Kysela) [2179850] - soundwire: cadence: further simplify low-level xfer_msg_defer() callback (Jaroslav Kysela) [2179850] - soundwire: stream: use consistent pattern for freeing buffers (Jaroslav Kysela) [2179850] - soundwire: bus: Remove unused reset_page_addr() callback (Jaroslav Kysela) [2179850] - soundwire: bus: Don't zero page registers after every transaction (Jaroslav Kysela) [2179850] - ASoC: ts3a227e: add set_jack and get_jack_type (Jaroslav Kysela) [2179850] - ASoC: simple-card-utils: create jack inputs for aux_devs (Jaroslav Kysela) [2179850] - ASoC: soc-component: add get_jack_type (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Simplify probe-component implementation (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: prepare_widgets: Check swidget for NULL on sink failure (Jaroslav Kysela) [2179850] - firewire: cdev: use single object to dispatch event for request to IEC 61883-1 FCP region (Jaroslav Kysela) [2179850] - firewire: cdev: obsolete NULL check to detect IEC 61883-1 FCP region (Jaroslav Kysela) [2179850] - firewire: core: use kref structure to maintain lifetime of data for fw_request structure (Jaroslav Kysela) [2179850] - ASoC: hdmi-codec: zero clear HDMI pdata (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-mtrace: prevent underflow in sof_ipc4_priority_mask_dfs_write() (Jaroslav Kysela) [2179850] - soundwire: bus: remove sdw_defer argument in sdw_transfer_defer() (Jaroslav Kysela) [2179850] - soundwire: cadence: use directly bus sdw_defer structure (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Add FIXED_RATE quirk for JBL Quantum610 Wireless (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: fix mute/micmute LEDs, speaker don't work for a HP platform (Jaroslav Kysela) [2179850] - ASoC: SOF: keep prepare/unprepare widgets in sink path (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: skip prepare/unprepare if swidget is NULL (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: unprepare when swidget->use_count > 0 (Jaroslav Kysela) [2179850] - ALSA: fireface: fix locking bug in ff400_copy_msg_to_user() (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: start with the right widget type (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Set compress data offset (Jaroslav Kysela) [2179850] - ASoC: SOF: Add support for compress API for stream data/offset (Jaroslav Kysela) [2179850] - ASoC: SOF: Prepare set_stream_data_offset for compress API (Jaroslav Kysela) [2179850] - ASoC: SOF: Prepare ipc_msg_data to be used with compress API (Jaroslav Kysela) [2179850] - ALSA: hda/ca0132: minor fix for allocation size (Jaroslav Kysela) [2179850] - firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Use asoc_substream_to_rtd() to obtain rtd (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Use min_t instead of min with cast (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Correctly access topology fields (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Implement PCI shutdown (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Fix possible NULL pointer dereference in snd_usb_pcm_has_fixed_rate() (Jaroslav Kysela) [2179850] - ASoC: codecs: Aw88395 chip register file, data type file and Kconfig Makefile (Jaroslav Kysela) [2179850] - ASoC: codecs: Aw88395 function for ALSA Audio Driver (Jaroslav Kysela) [2179850] - ASoC: codecs: ACF bin parsing and check library file for aw88395 (Jaroslav Kysela) [2179850] - ASoC: codecs: Add i2c and codec registration for aw88395 and their associated operation functions (Jaroslav Kysela) [2179850] - regmap: sdw: Remove 8-bit value size restriction (Jaroslav Kysela) [2179850] - regmap: sdw: Update misleading comment (Jaroslav Kysela) [2179850] - ALSA: fireface: implement message parser for Fireface 400 (Jaroslav Kysela) [2179850] - ALSA: fireface: add local framework to message parser (Jaroslav Kysela) [2179850] - ALSA: fireface: update UAPI for data of knob control (Jaroslav Kysela) [2179850] - ALSA: fireface: add helper function to parse MIDI messages transmitted by Fireface 400 (Jaroslav Kysela) [2179850] - ALSA: fireface: pick up time stamp for request subaction of asynchronous transaction (Jaroslav Kysela) [2179850] - ALSA: fireface: rename callback functions (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_es8336: Drop reference count of ACPI device after use (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcr_wm5102: Drop reference count of ACPI device after use (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcr_rt5640: Drop reference count of ACPI device after use (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcht_es8316: Drop reference count of ACPI device after use (Jaroslav Kysela) [2179850] - ASoC: amd: acp-es8336: Drop reference count of ACPI device after use (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add DMI support for new acer/emdoor platforms (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: compute extra delay for runtime of PCM substream (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: obsolete return value from context payload processing layer (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: move parameter for pcm frame multiplier from context payload processing layer (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: Provide debugfs_add_region_item ops for core (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: Support mt8188 platform (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: extend tracepoints event including CYCLE_TIME of 1394 OHCI (Jaroslav Kysela) [2179850] - ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list (Jaroslav Kysela) [2179850] - ALSA: control-led: use strscpy in set_led_id() (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Always initialize fixed_rate in snd_usb_find_implicit_fb_sync_format() (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Enable i2s tdm support for skyrim platforms (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Add i2s tdm support in machine driver (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Refactor i2s clocks programming sequence (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Refactor dai format implementation (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Add new cpu dai's in machine driver (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: keep history to process isochronous packet (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: use circular linked list for context payload processing layer (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: use circular linked list to enumerate packet descriptors (Jaroslav Kysela) [2179850] - ASoC: nau8315: remove dependency on GPIOLIB (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: code refactoring for cache position in sequence replay (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: code refactoring for cache position in tx packets (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: code refactoring for pool position in rx packets (Jaroslav Kysela) [2179850] - ALSA: firewire-lib: code refactoring for helper functions to pool sequence in rx packets (Jaroslav Kysela) [2179850] - ALSA: aoa: make remove callback of soundbus driver void returned (Jaroslav Kysela) [2179850] - ALSA: ac97: make remove callback of ac97 driver void returned (Jaroslav Kysela) [2179850] - ASoC: amd: ps: Fix uninitialized ret in create_acp64_platform_devs() (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Check runtime suspend capability at runtime_idle (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Don't return -EINVAL from system suspend/resume (Jaroslav Kysela) [2179850] - mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform (Jaroslav Kysela) [2179850] - ASoC: amd: ps: use static function (Jaroslav Kysela) [2179850] - ASoC: nau8822: add speaker Bridge Tied Output configuration (Jaroslav Kysela) [2179850] - ASoC: amd: ps: remove unused variable (Jaroslav Kysela) [2179850] - ASoC: amd: ps: use acp_lock to protect common registers in pdm driver (Jaroslav Kysela) [2179850] - ASoC: amd: ps: add mutex lock for accessing common registers (Jaroslav Kysela) [2179850] - ALSA: hda - Enable headset mic on another Dell laptop with ALC3254 (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_ssp_amp: remove unused variable (Jaroslav Kysela) [2179850] - ASoC: Intel: sof-wm8804: Replace open coded acpi_dev_put() (Jaroslav Kysela) [2179850] - ASoC: Intel: cht_bsw_rt5672: Replace open coded acpi_dev_put() (Jaroslav Kysela) [2179850] - ASoC: Intel: cht_bsw_rt5645: Replace open coded acpi_dev_put() (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcht_da7213: Replace open coded acpi_dev_put() (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcht_cx2072x: Replace open coded acpi_dev_put() (Jaroslav Kysela) [2179850] - ALSA: usb-audio: More refactoring of hw constraint rules (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Relax hw constraints for implicit fb sync (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Make sure to stop endpoints before closing EPs (Jaroslav Kysela) [2179850] - ALSA: hda/realtek - Turn on power early (Jaroslav Kysela) [2179850] - ASoC: rt9120: Make dev PM runtime bind AsoC component PM (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add ASUS M5402RA into DMI table (Jaroslav Kysela) [2179850] - ASoC: wm8904: fix wrong outputs volume after power reactivation (Jaroslav Kysela) [2179850] - ASoC: rt711-sdca: add jack detection mode for JD2 100K (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_nau8825: add variant with nau8318 amplifier. (Jaroslav Kysela) [2179850] - ASoC: amd: ps: move irq handler registration (Jaroslav Kysela) [2179850] - ASoC: amd: ps: update dev index value in irq handler (Jaroslav Kysela) [2179850] - ASoC: amd: ps: refactor platform device creation logic (Jaroslav Kysela) [2179850] - ASoC: amd: ps: implement api to retrieve acp device config (Jaroslav Kysela) [2179850] - ASoC: Intel: fix sof-nau8825 link failure (Jaroslav Kysela) [2179850] - ASoC: Intel: sof-nau8825: fix module alias overflow (Jaroslav Kysela) [2179850] - ASoC: SOF: trace: No need to check for op pointer in sof_fw_trace_free() (Jaroslav Kysela) [2179850] - ASoC: SOF: trace: Use sof_ipc_get_ops() in sof_fw_trace_init (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-priv: Mark fw_tracing ops optional in documentation (Jaroslav Kysela) [2179850] - ASoC: SOF: pm: Extend the optionality of IPC ops to IPC as well (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Extend the optionality of IPC ops to IPC as well (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: Extend the optionality of IPC ops to IPC as well (Jaroslav Kysela) [2179850] - ASoC: SOF: control: Extend the optionality of IPC ops to IPC as well (Jaroslav Kysela) [2179850] - ASoC: SOF: pcm: Extend the optionality of IPC ops to IPC as well (Jaroslav Kysela) [2179850] - ASoC: SOF: Add helper macro to be used to get an IPC ops (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: Update documentation for sof_ipc_tplg_ops (Jaroslav Kysela) [2179850] - ASoC: SOF: sof-audio: Treat tplg_ops->route_setup() as optional (Jaroslav Kysela) [2179850] - ASoC: SOF: Add FW state to debugfs (Jaroslav Kysela) [2179850] - ASoC: SOF: pm: Always tear down pipelines before DSP suspend (Jaroslav Kysela) [2179850] - ASoC: SOF: pm: Set target state earlier (Jaroslav Kysela) [2179850] - ASoC: SOF: core: Print out the value of sof_debug if it is set (Jaroslav Kysela) [2179850] - ASoC: SOF: IPC3 topology: Print the conflicting bytes sizes (Jaroslav Kysela) [2179850] - ASoC: wm8940: Read chip ID when wm8940 codec probing (Jaroslav Kysela) [2179850] - ASoC: wm8940: Rewrite code to set proper clocks (Jaroslav Kysela) [2179850] - ASoC: wm8940: Remove warning when no plat data present (Jaroslav Kysela) [2179850] - ASoC: amd: yc: Add Razer Blade 14 2022 into DMI table (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Add new quirk FIXED_RATE for JBL Quantum810 Wireless (Jaroslav Kysela) [2179850] - ASoC: lochnagar: Fix unused lochnagar_of_match warning (Jaroslav Kysela) [2179850] - soundwire: intel: remove DAI startup/shutdown (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: mt8195: remove a redundant comparison of sram (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Peakvol module configuration (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Parse control tuples (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add control volume operations (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add peakvol runtime-parameter requests (Jaroslav Kysela) [2179850] - ASoC: Intel: Add HP Stream 8 to bytcr_rt5640.c (Jaroslav Kysela) [2179850] - ASoC: da7213: Add support for mono, set frame width to 32 when possible (Jaroslav Kysela) [2179850] - ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: initialize panic_info to zero (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Enable cache for AMD Rembrandt platform (Jaroslav Kysela) [2179850] - ALSA: azt3328: Remove the unused function snd_azf3328_codec_outl() (Jaroslav Kysela) [2179850] - ASoC: SOF: nocodec: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: wl1273: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: mc13783: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: cq93vc: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: bt-sco: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: adau7002: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: ac97: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: 88pm860x: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: atmel-pdmic: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: atmel-classd: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: amd: Drop empty platform remove function (Jaroslav Kysela) [2179850] - ASoC: SOF: Revert: "core: unregister clients and machine drivers in .shutdown" (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-tgl: unblock S5 entry if DMA stop has failed" (Jaroslav Kysela) [2179850] - ASoC: rt5640: Allow configuration of LOUT to mono differential mode (Jaroslav Kysela) [2179850] - ALSA: hda: Error out if invalid stream is being setup (Jaroslav Kysela) [2179850] - ASoC: soc-compress: Reposition and add pcm_mutex (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_realtek_common: set ret = 0 as initial value (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: add jsl_rt5682 board config (Jaroslav Kysela) [2179850] - ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock. (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Workaround for XRUN at prepare (Jaroslav Kysela) [2179850] - ALSA: pcm: Handle XRUN at trigger START (Jaroslav Kysela) [2179850] - ASoC : SOF: amd: Add support for IPC and DSP dumps (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Use poll function instead to read ACP_SHA_DSP_FW_QUALIFIER (Jaroslav Kysela) [2179850] - ASoC: imx-audmux: use sysfs_emit() to instead of scnprintf() (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Use SG allocation for SKL-based firmware load (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Introduce single place for pipe-config selection (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Drop pipe_config_idx (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Remove skl_tplg_is_multi_fmt() (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Update pipe_config_idx before filling BE params (Jaroslav Kysela) [2179850] - ASoC: codecs: wcd-clsh: Remove the unused function (Jaroslav Kysela) [2179850] - ASoC: rt715: Make read-only arrays capture_reg_H and capture_reg_L static const (Jaroslav Kysela) [2179850] - soundwire: cadence: Drain the RX FIFO after an IO timeout (Jaroslav Kysela) [2179850] - soundwire: cadence: Remove wasted space in response_buf (Jaroslav Kysela) [2179850] - soundwire: cadence: Don't overflow the command FIFOs (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Allow for dumping debug window snapshot (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Allow for dumping FW_REGS area (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Gather remaining logs on strace_release() (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Probing and firmware tracing over debugfs (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add probe machine board (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Data probing soc-component (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Probe compress operations (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add data probing requests (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Drop usage of debug members in non-debug code (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Make enable_logs() dependent on DEBUG_FS (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Introduce debug-context aware helpers (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Drop fifo_lock (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Introduce avs_log_buffer_status_locked() (Jaroslav Kysela) [2179850] - ALSA: hda: Interrupt servicing and BDL setup for compress streams (Jaroslav Kysela) [2179850] - ALSA: hda: Prepare for compress stream support (Jaroslav Kysela) [2179850] - ALSA: hda: Allow for compress stream to hdac_ext_stream assignment (Jaroslav Kysela) [2179850] - ALSA: dice: Remove left-over license text (Jaroslav Kysela) [2179850] - drm: tda99x: Don't advertise non-existent capture support (Jaroslav Kysela) [2179850] - ASoC: hdmi-codec: Allow playback and capture to be disabled (Jaroslav Kysela) [2179850] - ALSA: dice: add support for Focusrite Saffire Pro 40 with TCD3070 ASIC (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt5682: Refactor jack handling (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt5682: Add define for codec DAI name (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Add quirk for Tascam Model 12 (Jaroslav Kysela) [2179850] - ASoC: SOF: Add DAI configuration support for AMD platforms. (Jaroslav Kysela) [2179850] - ASoC: rt5640: Fix Jack work after system suspend (Jaroslav Kysela) [2179850] - ASoC: soc-pcm.c: Clear DAIs parameters after stream_active is updated (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: add shutdown callback (Jaroslav Kysela) [2179850] - ASoC: SOF: Drop obsolete dependency on COMPILE_TEST (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt298: Refactor jack handling (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt298: Add define for codec DAI name (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt286: Refactor jack handling (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt286: Add define for codec DAI name (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt274: Refactor jack handling (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: rt274: Refer to DAI name through a constant (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: nau8825: Refactor jack handling (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: da7219: Refactor jack handling (Jaroslav Kysela) [2179850] - ASoC: Intel: bdw_rt286: Refactor jack handling (Jaroslav Kysela) [2179850] - ALSA: pcm: fix tracing reason in hw_ptr_error (Jaroslav Kysela) [2179850] - soundwire: stream: Move remaining register accesses over to no_pm (Jaroslav Kysela) [2179850] - soundwire: debugfs: Switch to sdw_read_no_pm (Jaroslav Kysela) [2179850] - soundwire: Provide build stubs for common functions (Jaroslav Kysela) [2179850] - soundwire: bus: export sdw_nwrite_no_pm and sdw_nread_no_pm functions (Jaroslav Kysela) [2179850] - firmware: cs_dsp: Rename KConfig symbol CS_DSP -> FW_CS_DSP (Jaroslav Kysela) [2179850] - ASoC: nau8315: add new acpi id and compatible id (Jaroslav Kysela) [2179850] - ASoC: wm_adsp: Return whether changed when writing controls (Jaroslav Kysela) [2179850] - firmware: cs_dsp: cs_dsp_coeff_write_ctrl() should report changed (Jaroslav Kysela) [2179850] - ASoC: sdw-mockup: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - ASoC: rt715: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - ASoC: rt711: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - ASoC: rt700: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - ASoC: rt5682-sdw: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - ASoC: rt1316-sdw: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - ASoC: rt1308-sdw: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - ASoC: max98373-sdw: Switch to new snd_sdw_params_to_config helper (Jaroslav Kysela) [2179850] - sound: sdw: Add hw_params to SoundWire config helper function (Jaroslav Kysela) [2179850] - ASoC: max9867: Implement exact integer mode (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: ADD HS and SP virtual DAI. (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Fix for selecting clock source as external clock. (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Fix for reading position updates from stream box. (Jaroslav Kysela) [2179850] - ASoC: nau8825: Add a manually mechanism for detection failure (Jaroslav Kysela) [2179850] - ASoC: nau8825: Adjust internal clock during jack detection (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add missing audio amplifier for KBL (Jaroslav Kysela) [2179850] - ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Fix Kconfig dependency (Jaroslav Kysela) [2179850] - ASoC: da7219: Fix pole orientation detection on OMTP headsets when playing music (Jaroslav Kysela) [2179850] - ASoC: max98396: Convert to i2c's .probe_new() (Jaroslav Kysela) [2179850] - ASoC: codecs: es8326: Convert to i2c's .probe_new() (Jaroslav Kysela) [2179850] - ALSA: ppc: keywest: Convert to i2c's .probe_new() (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Convert to i2c's .probe_new() (Jaroslav Kysela) [2179850] - ALSA: aoa: tas: Convert to i2c's .probe_new() (Jaroslav Kysela) [2179850] - ALSA: aoa: onyx: Convert to i2c's .probe_new() (Jaroslav Kysela) [2179850] - mfd: arizona-i2c: Convert to i2c's .probe_new() (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Initialize private data for subsequent HDA FEs (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Fix possible UAF in acp_dma_open (Jaroslav Kysela) [2179850] - soundwire: enable optional clock registers for SoundWire 1.2 devices (Jaroslav Kysela) [2179850] - ASoC/soundwire: remove is_sdca boolean property (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_sdw_amp: mark coeff tables with __maybe_unused (Jaroslav Kysela) [2179850] - ASoC: SOF: dai: move AMD_HS to end of list to restore backwards-compatibility (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_nau8825: support rt1015p speaker amplifier (Jaroslav Kysela) [2179850] - ASoC: SOF: probes: Check ops before memory allocation (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Disconnect substream if suspend or resume fails (Jaroslav Kysela) [2179850] - ASoC: amd: ps: Move acp63_dev_data strcture from PCI driver (Jaroslav Kysela) [2179850] - ASoC: amd: ps: update macros with ps platform naming convention (Jaroslav Kysela) [2179850] - ALSA: pcm: avoid nused-but-set-variable warning (Jaroslav Kysela) [2179850] - ALSA: memalloc: Allocate more contiguous pages for fallback case (Jaroslav Kysela) [2179850] - ASoC: codecs: Remove a useless include (Jaroslav Kysela) [2179850] - ASoC: audio-graph-card2: remove Experimental announce (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: read multi-link capabilities earlier (Jaroslav Kysela) [2179850] - soundwire: intel_init: remove check on number of links (Jaroslav Kysela) [2179850] - soundwire: intel_init: remove sdw_intel_enable_irq() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: add callback to check SoundWire lcount information (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: mtl: move SoundWire interrupt enabling to callback (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: mtl: factor interrupt enable/disable interrupt functions (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: add per-chip enable_sdw_irq() callback (Jaroslav Kysela) [2179850] - soundwire: intel_init: remove useless interrupt enablement in interrupt thread (Jaroslav Kysela) [2179850] - soundwire: intel: split auxdevice to different file (Jaroslav Kysela) [2179850] - soundwire: intel: add in-band wake callbacks in hw_ops (Jaroslav Kysela) [2179850] - soundwire: intel: add link power management callbacks in hw_ops (Jaroslav Kysela) [2179850] - soundwire: intel: add bus management callbacks in hw_ops (Jaroslav Kysela) [2179850] - soundwire: intel: add register_dai callback in hw_ops (Jaroslav Kysela) [2179850] - soundwire: intel: add debugfs callbacks in hw_ops (Jaroslav Kysela) [2179850] - soundwire: intel: start using hw_ops (Jaroslav Kysela) [2179850] - ASoC: Intel: soc-acpi: add MTL AIC SoundWire configurations (Jaroslav Kysela) [2179850] - ASoC: wm_adsp: Allow client to hook into pre_run callback (Jaroslav Kysela) [2179850] - ASoC: rt1316-sdw: get BQ params property and apply them (Jaroslav Kysela) [2179850] - ASoC: rt1308-sdw: get BQ params property and apply them (Jaroslav Kysela) [2179850] - ASoC: Intel: sof rt5682: remove the duplicate codes (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: add support for ALC5682I-VD with amp rt1019p (Jaroslav Kysela) [2179850] - ASoC: core: fix wrong size kzalloc for rtd's components member (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: get pipeline instance id from pipe_widget->instance_id (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-loader: get max pipeline number (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: rename sof_ipc4_widget_free_comp (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: set d0i3 register with d0i3_offset (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: add d0i3_offset in chip_info (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: add d0i3 definition for MTL (Jaroslav Kysela) [2179850] - ASoC: SOF: topology: Add helper to get/put widget queue id (Jaroslav Kysela) [2179850] - ASoC: SOF: Add support to parse pin binding array from topology (Jaroslav Kysela) [2179850] - ASoC: SOF: Add support for parsing the number of sink/source pins (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: Implement tear_down_all_pipelines callback (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-loader: use small buffer for iccmax stream (Jaroslav Kysela) [2179850] - ALSA: cs5535audio: Remove the redundant assignment (Jaroslav Kysela) [2179850] - ASoC: soc-dai: Do not call snd_soc_link_be_hw_params_fixup() twice (Jaroslav Kysela) [2179850] - ASoC: amd: fix ACP version typo mistake (Jaroslav Kysela) [2179850] - ASoC: Intel: cirrus-common: Make const array uid_strings static (Jaroslav Kysela) [2179850] - ARM: omap2: n8x0: stop instantiating codec platform data (Jaroslav Kysela) [2179850] - ASoC: tlv320aic3x: switch to using gpiod API (Jaroslav Kysela) [2179850] - ASoC: tlv320aic3x: remove support for platform data (Jaroslav Kysela) [2179850] - ASoC: rt5682: Support DBVDD and LDO1-IN supplies (Jaroslav Kysela) [2179850] - ASoC: rt5682s: Support DBVDD and LDO1-IN supplies (Jaroslav Kysela) [2179850] - ASoC: audio-graph-card2: check also dpcm node for convert-xxx (Jaroslav Kysela) [2179850] - ASoC: audio-graph-card2-custom-sample.dtsi: add convert-rate for DPCM (MIXer) (Jaroslav Kysela) [2179850] - ASoC: simple-card-utils: remove asoc_simple_convert_fixup() (Jaroslav Kysela) [2179850] - soundwire: cadence: use dai_runtime_array instead of dma_data (Jaroslav Kysela) [2179850] - soundwire: cadence: rename sdw_cdns_dai_dma_data as sdw_cdns_dai_runtime (Jaroslav Kysela) [2179850] - ASoC: cs42xx8-i2c.c: add module device table for of (Jaroslav Kysela) [2179850] - ALSA: hda: clarify comments on SCF changes (Jaroslav Kysela) [2179850] - ASoC: SOF: fix compilation issue with readb/writeb helpers (Jaroslav Kysela) [2179850] - ASoC: codecs: da7219: Do not export internal symbols (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Drop da7219_aad_jack_det() usage (Jaroslav Kysela) [2179850] - ASoC: amd: Drop da7219_aad_jack_det() usage (Jaroslav Kysela) [2179850] - ASoC: rockchip: Drop da7219_aad_jack_det() usage (Jaroslav Kysela) [2179850] - ASoC: Intel: Drop da7219_aad_jack_det() usage (Jaroslav Kysela) [2179850] - ASoC: codecs: da7219: Introduce set_jack() callback (Jaroslav Kysela) [2179850] - ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device (Jaroslav Kysela) [2179850] - ASoC: SOF: client: Add sof_client_ipc4_find_module() function (Jaroslav Kysela) [2179850] - ASoC: SOF: client: Add sof_client_ipc_set_get_data() (Jaroslav Kysela) [2179850] - ASoC: SOF: probes: Separate IPC3 operations to a separate file (Jaroslav Kysela) [2179850] - ASoC: SOF: probes: Replace [0] union members with DECLARE_FLEX_ARRAY() (Jaroslav Kysela) [2179850] - ASoC: adau1372: correct PGA enable & mute bit (Jaroslav Kysela) [2179850] - ASoC: adau1372: add support for S24_LE mode (Jaroslav Kysela) [2179850] - ASoC: adau1372: fix mclk (Jaroslav Kysela) [2179850] - ASoC: SOF: introduce new DEBUG_NOCODEC mode (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-codec: use GPL-2.0-only license (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: clarify Kconfig dependencies (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: add hda_bus_ml_free helper (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-mlink: add helpers to suspend/resume links (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: clarify bus_init and bus_exit sequences (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-codec: add helpers to suspend and resume cmd_io (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dsp: clarify dependencies on SND_SOC_SOF_HDA (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-ctrl: use helper to clear RIRB status (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-codec: add hda_codec_check_rirb_status() helper (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-stream: always allocate CORB/RIRB buffer (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-codec: add stop_cmd_io helper (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-codec: add hda_codec_device_remove() helper (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-ctrl: add codec wakeup helper (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: move all RIRB/CMD_IO helpers to hda-codec.c (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: add multi-link helper for LOSVID (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: start moving multi-link handling in dedicated file (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: move codec state change to hda-codec.c (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-codec: simplify SND_SOC_SOF_HDA_AUDIO_CODEC handling (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: remove all dependencies on SND_SOC_HDAC_HDMI (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: remove option to disable the common_hdmi handling (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Enact power gating policy (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Power and clock gating policy overriding (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Standby power-state support (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Count low power streams (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Restart instead of resuming HDA capture streams (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Handle SUSPEND and RESUME triggers (Jaroslav Kysela) [2179850] - ALSA: hda: Introduce snd_hdac_stream_wait_drsm() (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Introduce PCM power management routines (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Split pcm pages freeing operation from hw_free() (Jaroslav Kysela) [2179850] - ASoC: core: Exit all links before removing their components (Jaroslav Kysela) [2179850] - ASoC: tas5805m: add missing page switch. (Jaroslav Kysela) [2179850] - ASoC: tas5805m: rework to avoid scheduling while atomic. (Jaroslav Kysela) [2179850] - soundwire: qcom: add support for v1.7 Soundwire Controller (Jaroslav Kysela) [2179850] - soundwire: qcom: make reset optional for v1.6 controller (Jaroslav Kysela) [2179850] - soundwire: qcom: remove unused SWRM_SPECIAL_CMD_ID (Jaroslav Kysela) [2179850] - ASoC: dapm: Don't use prefix for regulator name (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-loader: Return ssize_t from sof_ipc4_fw_parse_ext_man() (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: boards: Fix typo in comments (Jaroslav Kysela) [2179850] - ASoC: Intel: boards: Fix typo in comments (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-stream: use readb/writeb for stream registers (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-stream: use snd_sof_dsp_updateb() helper (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: use SOF helper for consistency (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-stream: rename CL_SD_CTL registers as SD_CTL (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-stream: use SOF helpers for consistency (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: remove useless check on GCTL (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: always do a full reset (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-ctrl: remove useless sleep (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: remove useless members in hda_pipe_params (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: use component_get_drvdata to find hdac_bus (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: start removing the use of runtime->private_data in BE (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dsp: use SOF helpers for consistency (Jaroslav Kysela) [2179850] - ASoC: SOF: ops: add snd_sof_dsp_updateb() helper (Jaroslav Kysela) [2179850] - ASoC: SOF: ops: add readb/writeb helpers (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: use mmio fallback for all platforms (Jaroslav Kysela) [2179850] - ASoC: SOF: ops: fallback to mmio in helpers (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: fix comment error (Jaroslav Kysela) [2179850] - ALSA: asihpi: remove variable loops (Jaroslav Kysela) [2179850] - ALSA: rawmidi: remove variable dest_frames (Jaroslav Kysela) [2179850] - mfd: arizona: Remove #ifdef guards for PM related functions (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-codec: fix possible memory leak in hda_codec_device_init() (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: fix possible memory leak in skl_codec_device_init() (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-loader: Support for loading external libraries (Jaroslav Kysela) [2179850] - ASoC: SOF: loader: Remove the query_fw_configuration ops (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Stop using the query_fw_configuration fw_loader ops (Jaroslav Kysela) [2179850] - ASoC: SOF: loader: Add support for IPC dependent post firmware boot ops (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: Add ipc4 library loading implementation (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Add flag to indicate that the firmware is IMR booted (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Define platform dependent library loading callback (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: Set the default firmware library path for IPC4 (Jaroslav Kysela) [2179850] - ASoC: SOF: Add path definition for external firmware libraries (Jaroslav Kysela) [2179850] - ASoC: SOF: IPC4: Add helper for looking up module by UUID (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Convert the firmware handling (loader) to library convention (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-loader: Save the maximum number of libraries supported (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc: ops: Add support for optional init and exit callbacks (Jaroslav Kysela) [2179850] - ASoC: SOF: Drop the firmware and fw_offset from snd_sof_pdata (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-loader-skl: Use the basefw firmware container directly (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-loader: Use the basefw firmware container directly (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Use the basefw firmware container directly (Jaroslav Kysela) [2179850] - ASoC: SOF: Introduce container struct for SOF firmware (Jaroslav Kysela) [2179850] - ASoC: SOF: loader: Set complete state before post_fw_run op (Jaroslav Kysela) [2179850] - soundwire: intel: Initialize clock stop timeout (Jaroslav Kysela) [2179850] - ALSA/ASoC: hda: move SPIB/DRMS functionality from ext layer (Jaroslav Kysela) [2179850] - ALSA: hda: hdac_ext_controller: remove useless loop (Jaroslav Kysela) [2179850] - ALSA: hda: ext: reduce ambiguity between 'multi-link' and 'link' DMA (Jaroslav Kysela) [2179850] - ALSA/ASoC: hda: ext: add 'bus' prefix for multi-link stream setting (Jaroslav Kysela) [2179850] - ALSA/ASoC: hda: ext: remove 'link' prefix for stream-related operations (Jaroslav Kysela) [2179850] - ALSA/ASoC: hda: ext: add 'ext' prefix to snd_hdac_link_free_all (Jaroslav Kysela) [2179850] - ALSA/ASoC: hda: clarify bus_get_link() and bus_link_get() helpers (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dai: use hlink variable/parameter (Jaroslav Kysela) [2179850] - ALSA: hda: ext: hda_ext_controller: use hlink variable/parameter (Jaroslav Kysela) [2179850] - ALSA: hda: ext: hdac_ext_controller: use helpers in loop (Jaroslav Kysela) [2179850] - ASoC: rt1308-sdw: update the preset settings (Jaroslav Kysela) [2179850] - ASoC: simple-card: Fix up checks for HW param fixups (Jaroslav Kysela) [2179850] - ASoC: soc-dpcm.h: remove snd_soc_dpcm::hw_param (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.h: fixup comment for snd_soc_dapm_widget_for_each_path() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.h: cleanup white space (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: numerical order for dapm_up_seq (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: cleanup snd_soc_dapm_new_dai() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: merge dapm_power_one_widget() and dapm_widget_set_power() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: cleanup dapm_widget_set_power() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: ignore parameter NULL at snd_soc_dapm_free_widget() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: remove no meaning variable from snd_soc_dapm_add_path() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: tidyup error handling on snd_soc_dapm_add_route() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: replace snd_soc_dapm_wcache to snd_soc_dapm_widget (Jaroslav Kysela) [2179850] - ASoC: twl4030: make read-only array ramp_base static const (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc3: Log the tx message before sending it (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: ipc4: Ack a received reply or notification separately (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: ipc4: Wait for channel to be free before sending a message (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: ipc4: Read the interrupt reason registers at the same time (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Log the tx message before sending it (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Add TDM slots setting support for ACP I2S controller (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-mtrace: protect per-core nodes against multiple open (Jaroslav Kysela) [2179850] - soundwire: dmi-quirks: add quirk variant for LAPBC710 NUC15 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dsp: simplify S3 resume flows (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: simplify S3 resume flows (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: simplify S3 resume flows (Jaroslav Kysela) [2179850] - ASoC: codecs: jz4725b: add missed microphone widgets (Jaroslav Kysela) [2179850] - ASoC: codecs: jz4725b: add missed Mixer inputs (Jaroslav Kysela) [2179850] - ASoC: codecs: jz4725b: use right control for Master Playback (Jaroslav Kysela) [2179850] - ALSA: hda/realtek: simplify the return of comp_bind() (Jaroslav Kysela) [2179850] - ASoC: ak4458: add optional reset control to instead of gpio (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Support System Suspend (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Remove suspend/resume hda hooks (Jaroslav Kysela) [2179850] - ALSA: hda/cs_dsp_ctl: Fix mutex inversion when creating controls (Jaroslav Kysela) [2179850] - ALSA: hda: hda_cs_dsp_ctl: Ensure pwr_lock is held before reading/writing controls (Jaroslav Kysela) [2179850] - ALSA: hda: hda_cs_dsp_ctl: Minor clean and redundant code removal (Jaroslav Kysela) [2179850] - ASoC: codecs: hda: Fix spelling error in log message (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Simplify log control for SKL (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Simplify ignore_fw_version description (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Do not print IPC error message twice (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Do not treat unsupported IPCs as invalid (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Do not reuse msg between different IPC handlers (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add missing include to HDA board (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Simplify d0ix disabling routine (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add missing SKL-based device IDs (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Support da7219 on both KBL and APL (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Support AML with rt286 configuration (Jaroslav Kysela) [2179850] - ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe" (Jaroslav Kysela) [2179850] - ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe" (Jaroslav Kysela) [2179850] - ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe" (Jaroslav Kysela) [2179850] - ASoC: amd: Update Pink Sardine platform ACP register header (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Avoid superfluous endpoint setup (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Correct the return code from snd_usb_endpoint_set_params() (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Apply mutex around snd_usb_endpoint_set_params() (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Avoid unnecessary interface change at EP close (Jaroslav Kysela) [2179850] - ASoC: cx2072x: fix spelling typo in comment (Jaroslav Kysela) [2179850] - ALSA: hda: Update register polling macros (Jaroslav Kysela) [2179850] - Revert "ASoC: soc-component: using pm_runtime_resume_and_get instead of pm_runtime_get_sync" (Jaroslav Kysela) [2179850] - ASoC: codecs: allow WM8961 to be selected by the user (Jaroslav Kysela) [2179850] - ASoC: wm8961: add support for devicetree (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Load max98927 on target platform (Jaroslav Kysela) [2179850] - ASoC: Intel: avs: Add max98927 machine board (Jaroslav Kysela) [2179850] - ASoC: nau8825: Add TDM support (Jaroslav Kysela) [2179850] - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe (Jaroslav Kysela) [2179850] - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe (Jaroslav Kysela) [2179850] - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe (Jaroslav Kysela) [2179850] - ASoC: core: clarify the driver name initialization (Jaroslav Kysela) [2179850] - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe (Jaroslav Kysela) [2179850] - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe (Jaroslav Kysela) [2179850] - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe (Jaroslav Kysela) [2179850] - ALSA: asihpi - Remove unused struct hpi_subsys_response (Jaroslav Kysela) [2179850] - ALSA: sb: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [2179850] - ASoC: wm8978: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [2179850] - ASoC: cs35l36: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Fallback to headphones for type detect (Jaroslav Kysela) [2179850] - ASoC: uapi: Replace zero-length arrays with __DECLARE_FLEX_ARRAY() helper (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper (Jaroslav Kysela) [2179850] - ASoC: SOF: control.h: Replace zero-length array with DECLARE_FLEX_ARRAY() helper (Jaroslav Kysela) [2179850] - usb: gadget: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ASoC: intel: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ALSA: usx2y: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ALSA: asihpi: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ALSA: hda: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ALSA: firewire: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ALSA: aloop: Replace runtime->status->state reference to runtime->state (Jaroslav Kysela) [2179850] - ALSA: pcm: Make mmap status read-only (Jaroslav Kysela) [2179850] - ALSA: pcm: Avoid reference to status->state (Jaroslav Kysela) [2179850] - ALSA: Remove some left-over license text in include/uapi/sound/ (Jaroslav Kysela) [2179850] - ALSA: firewire: Remove some left-over license text in sound/firewire (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: mt8195: Add pcm_pointer callback (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: mt8195: Add pcm_hw_params callback (Jaroslav Kysela) [2179850] - ALSA: memalloc: use __GFP_RETRY_MAYFAIL for DMA mem allocs (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Call snd_sof_handle_fw_exception() in case of timeout (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Only dump firmware registers for IPC3 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: mtl: Print relevant register in ipc_dump (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: skl: Use the ipc4 version of the ipc_dump (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Add separate ops for ipc_dump for IPC4 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: cnl: Add separate ops for ipc_dump for IPC4 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: remove the unnecessary snd_sof_dsp_read() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: reuse the common ops for PM (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: HDA: use IPC version-specific ops (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: MTL: define and set the disable_interrupts op (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: define and set the disable_interrupts op for cavs platforms (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: Add a new op for disabling interrupts (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: use power_down_dsp op in hda_dsp_remove (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: mtl: define and set power_down_dsp op (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: define and set power_down_dsp op for HDA platforms (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: introduce new op to handle dsp power down (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_da7219_mx98360a: Access num_codecs through dai_link (Jaroslav Kysela) [2179850] - ASoC: soc-component: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Jaroslav Kysela) [2179850] - ALSA: hda/ca0132 - remove the unneeded result variable (Jaroslav Kysela) [2179850] - ASoC: SOF: pci-tgl: add missing PCI IDs for RPL (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: pci-tgl: reorder PCI IDs (Jaroslav Kysela) [2179850] - ASoC: es8316: fix register sync error in suspend/resume tests (Jaroslav Kysela) [2179850] - ASoC: cs42l83: change cs42l83_regmap to static (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: add pcm_pointer callback for mt8186 (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Add setbias level for rt5682s codec in machine driver (Jaroslav Kysela) [2179850] - ASoC: ts3a227e: add parameters to control debounce times (Jaroslav Kysela) [2179850] - ALSA: usb-audio: Split endpoint setups for hw_params and prepare (take#2) (Jaroslav Kysela) [2179850] - ASoC: rt5682s: simplify the return of rt5682s_probe() (Jaroslav Kysela) [2179850] - ASoC: SOF: don't unprepare widget used other pipelines (Jaroslav Kysela) [2179850] - ASoC: SOF: clear prepare state when widget is unprepared (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: remove useless assignment (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-topology: clarify calculation precedence (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: add ops for SKL/KBL (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: add initial SKL/KBL hardware support (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: add SKL/KBL hardware code loader (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-dsp: expose functions for SKL support (Jaroslav Kysela) [2179850] - ALSA: es18xx: Remove the unneeded result variable (Jaroslav Kysela) [2179850] - ASoC: soc.h: use array instead of playback/capture_widget (Jaroslav Kysela) [2179850] - ASoC: soc.h: use defined number instead of direct number (Jaroslav Kysela) [2179850] - ASoC: soc.h: remove num_cpus/codecs (Jaroslav Kysela) [2179850] - soundwire: intel: add helper to stop bus (Jaroslav Kysela) [2179850] - soundwire: intel: introduce helpers to start bus (Jaroslav Kysela) [2179850] - soundwire: intel: introduce intel_shim_check_wake() helper (Jaroslav Kysela) [2179850] - soundwire: intel: simplify read ops assignment (Jaroslav Kysela) [2179850] - soundwire: intel: remove intel_init() wrapper (Jaroslav Kysela) [2179850] - soundwire: intel: move shim initialization before power up/down (Jaroslav Kysela) [2179850] - soundwire: intel: remove clock_stop parameter in intel_shim_init() (Jaroslav Kysela) [2179850] - soundwire: intel: move all PDI initialization under intel_register_dai() (Jaroslav Kysela) [2179850] - soundwire: intel: move DAI registration and debugfs init earlier (Jaroslav Kysela) [2179850] - soundwire: intel: simplify flow and use devm_ for DAI registration (Jaroslav Kysela) [2179850] - soundwire: intel: fix error handling on dai registration issues (Jaroslav Kysela) [2179850] - ASoC: SOF: replace ipc4-loader dev_vdbg with tracepoints (Jaroslav Kysela) [2179850] - ASoC: SOF: replace dev_vdbg with tracepoints (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: replace dev_vdbg with tracepoints (Jaroslav Kysela) [2179850] - ASoC: SOF: remove unneeded dev_vdbg (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: remove unneeded dev_vdbg (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: add HDA interrupt source tracing (Jaroslav Kysela) [2179850] - ASoC: SOF: add widget setup/free tracing (Jaroslav Kysela) [2179850] - ALSA: hda: ext: remove always-true conditions on host and link release (Jaroslav Kysela) [2179850] - ALSA: hda: ext: fix locking in stream_release (Jaroslav Kysela) [2179850] - ALSA: hda: ext: simplify logic for stream assignment (Jaroslav Kysela) [2179850] - ALSA: hda: Use hdac_ext prefix in snd_hdac_stream_free_all() for clarity (Jaroslav Kysela) [2179850] - ALSA: hda: ext: make snd_hdac_ext_stream_init() static (Jaroslav Kysela) [2179850] - ALSA: hda: document state machine for hdac_streams (Jaroslav Kysela) [2179850] - ALSA: hda: make snd_hdac_stream_clear() static (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: override mclk_id after parsing NHLT SSP blob (Jaroslav Kysela) [2179850] - ALSA: hda: intel-nhlt: add intel_nhlt_ssp_mclk_mask() (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: refine SSP count support (Jaroslav Kysela) [2179850] - soundwire: cadence: Simplify error paths in cdns_xfer_msg() (Jaroslav Kysela) [2179850] - soundwire: cadence: Fix error check in cdns_xfer_msg() (Jaroslav Kysela) [2179850] - soundwire: bus: Fix wrong port number in sdw_handle_slave_alerts() (Jaroslav Kysela) [2179850] - soundwire: cadence: Write to correct address for each FIFO chunk (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: add pcm_hw_params callback for mt8186 (Jaroslav Kysela) [2179850] - ALSA: ppc: Switch to use for_each_child_of_node() macro (Jaroslav Kysela) [2179850] - ASoC: Intel: skylake: remove unnecessary dev_set_drvdata() (Jaroslav Kysela) [2179850] - soundwire: qcom: do not send status of device 0 during alert (Jaroslav Kysela) [2179850] - soundwire: qcom: update status from device id 1 (Jaroslav Kysela) [2179850] - ASoC: max98390: Fix dsm calibration reading (Jaroslav Kysela) [2179850] - soundwire: cadence: Don't overwrite msg->buf during write commands (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: use devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_ssp_amp: use devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASOC: SOF: use devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_es8336: use function devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_nau8825: use function devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_cs42l42: use function devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASoC: amd: acp: use function devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASoC: amd: acp: use devm_kcalloc() instead of devm_kzalloc() (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Switch to dev_err_probe() helper (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Implement 'set_bclk_ratio' (Jaroslav Kysela) [2179850] - ASoC: cs42l83: Extend CS42L42 support to new part (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Export regmap elements to core namespace (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Split I2C identity into separate module (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Pass component and dai defs into common probe (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Split cs42l42_resume into two functions (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Split probe() and remove() into stages (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Use cs42l42->dev instead of &i2c_client->dev (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Add bitclock frequency argument to cs42l42_pll_config() (Jaroslav Kysela) [2179850] - soundwire: bus: Don't exit early if no device IDs were programmed (Jaroslav Kysela) [2179850] - soundwire: cadence: Fix lost ATTACHED interrupts when enumerating (Jaroslav Kysela) [2179850] - soundwire: bus: Don't re-enumerate before status is UNATTACHED (Jaroslav Kysela) [2179850] - soundwire: bus: Don't lose unattach notifications (Jaroslav Kysela) [2179850] - soundwire: cadence: fix updating slave status when a bus has multiple peripherals (Jaroslav Kysela) [2179850] - ASoC: soc-dapm: Switch to use dev_err_probe() helper (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Switch to use dev_err_probe() helper (Jaroslav Kysela) [2179850] - ASoC: bcm2835-i2s: Switch to use dev_err_probe() helper (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: increase SRAM inbox and outbox size to 1024 (Jaroslav Kysela) [2179850] - ASoC: SOF: Adding amd HS functionality to the sof core (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Add support for Rembrandt plaform. (Jaroslav Kysela) [2179850] - ASoC: SOF: amd: Make ACP core code generic for newer SOC transition (Jaroslav Kysela) [2179850] - ASoC: nau8825: Add ADCOUT IO drive strength control (Jaroslav Kysela) [2179850] - ASoC: ak4458: Add ak4458_reset in device probe and remove (Jaroslav Kysela) [2179850] - ASoC: Intel: sof_rt5682: remove SOF_RT1015_SPEAKER_AMP_100FS flag (Jaroslav Kysela) [2179850] - ASoC: rt5682s: Reduce coupling of PLLB setting (Jaroslav Kysela) [2179850] - ASoC: rt5682s: Reduce coupling of I2S1 setting (Jaroslav Kysela) [2179850] - ASoC: rt5682s: Reduce coupling of Micbias and Vref2 settings (Jaroslav Kysela) [2179850] - ALSA: dummy: Add customizable volume min/max. (Jaroslav Kysela) [2179850] - ALSA: dummy: Fix trailing whitespaces. (Jaroslav Kysela) [2179850] - soundwire: cadence: remove unused sdw_cdns_master_ops declaration (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: Add mtrace type information for IPC4 (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: icl: Set IPC4-specific DSP ops (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Add support for mtrace log extraction (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Configure the debug box offset (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Add define for the outbox window index (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Add macro to get core ID from log buffer status message (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4: Only print LOG BUFFER update message info if requested (Jaroslav Kysela) [2179850] - sound: oss: dmasound: remove software_input_volume declaration (Jaroslav Kysela) [2179850] - ALSA: memalloc: remove snd_dma_sg_ops declaration (Jaroslav Kysela) [2179850] - ALSA: line6: remove line6_set_raw declaration (Jaroslav Kysela) [2179850] - ASoC: hdmi-codec.c: use devm_kzalloc() for DMA data (Jaroslav Kysela) [2179850] - ASoC: soc-core.c: setup rtd->pmdown_time at soc_new_pcm_runtime() (Jaroslav Kysela) [2179850] - ASoC: ak4458: Remove component probe() and remove() (Jaroslav Kysela) [2179850] - ASoC: max98390: Remove unnecessary amp on/off conrtol (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu() (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: add comment for kzalloc()/kfree() on snd_soc_dai_link_event_pre_pmu() (Jaroslav Kysela) [2179850] - ASoC: sti-sas: Remove the unneeded result variable (Jaroslav Kysela) [2179850] - ASoC: simple-card-utils: switch to using gpiod API (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: mt8195: Add devicetree support to select topologies (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: mt8195: Add generic pcm_{open,close} callbacks (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: mt8195: Add mailbox generic callbacks for IPC (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling (Jaroslav Kysela) [2179850] - ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu() (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Utilize acpi_get_subsystem_id() (Jaroslav Kysela) [2179850] - ALSA: hda: cs35l41: Call put_device() in the scope of get_device() (Jaroslav Kysela) [2179850] - ASoC: SOF: Remove strsplit_u32() and tokenize_input() (Jaroslav Kysela) [2179850] - lib/string_helpers: Introduce parse_int_array_user() (Jaroslav Kysela) [2179850] - ASoC: SOF: Introduce function sof_of_machine_select (Jaroslav Kysela) [2179850] - ALSA: asihpi - Remove useless code in hpi_meter_get_peak() (Jaroslav Kysela) [2179850] - ASoC: amd: fix spelling mistake: "i.e" -> "i.e." (Jaroslav Kysela) [2179850] - ASoC: soc-pcm.c: check fe condition at out of loop (Jaroslav Kysela) [2179850] - ASoC: soc-pcm.c: add soc_pcm_ret() (Jaroslav Kysela) [2179850] - ASoC: soc-pcm.c: remove unnecessary codec2codec_close_delayed_work() (Jaroslav Kysela) [2179850] - ALSA: hda/hdmi: Replace zero-length array with DECLARE_FLEX_ARRAY() helper (Jaroslav Kysela) [2179850] - ASoC: codecs: max98088: remove redundant ret variable (Jaroslav Kysela) [2179850] - ASoC: amd: enable Pink sardine platform machine driver build. (Jaroslav Kysela) [2179850] - ASoC: amd: add Pink Sardine machine driver using dmic (Jaroslav Kysela) [2179850] - ASoC: amd: create platform device for acp6.2 machine driver (Jaroslav Kysela) [2179850] - ASoC: amd: enable Pink Sardine acp6.2 drivers build (Jaroslav Kysela) [2179850] - ASoC: amd: add acp6.2 pdm driver pm ops (Jaroslav Kysela) [2179850] - ASoC: amd: add acp6.2 pci driver pm ops (Jaroslav Kysela) [2179850] - ASoC: amd: add acp6.2 pdm driver dma ops (Jaroslav Kysela) [2179850] - ASoC: amd: add acp6.2 irq handler (Jaroslav Kysela) [2179850] - ASoC: amd: add acp6.2 pdm platform driver (Jaroslav Kysela) [2179850] - ASoC: amd: add platform devices for acp6.2 pdm driver and dmic driver (Jaroslav Kysela) [2179850] - ASoC: amd: add acp6.2 init/de-init functions (Jaroslav Kysela) [2179850] - ASoC: amd: add Pink Sardine ACP PCI driver (Jaroslav Kysela) [2179850] - ASoC: amd: add Pink Sardine platform ACP IP register header (Jaroslav Kysela) [2179850] - ASoC: max98396: Make data monitor features configurable (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Modify dai_id macros to be more generic (Jaroslav Kysela) [2179850] - ASoC: tas2562: Drop conflicting set_bias_level power setting (Jaroslav Kysela) [2179850] - ASoC: tas2764: Export highpass filter setting (Jaroslav Kysela) [2179850] - ASoC: tas2764: Add IRQ handling (Jaroslav Kysela) [2179850] - ASoC: sigmadsp: switch to use kmemdup_nul() helper (Jaroslav Kysela) [2179850] - ASoC: max98088: add support for noise gate reg (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: Use generic implementation for .ipc_msg_data field (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: add snd_sof_dsp_ops callbacks for pcm and mail box (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: Add dai driver for mt8186 (Jaroslav Kysela) [2179850] - ASoC: codecs: add suspend and resume for ES8316 (Jaroslav Kysela) [2179850] - ASoC: SOF: imx8ulp: add missing of_node_put() in imx8ulp_probe() (Jaroslav Kysela) [2179850] - ASoC: SOF: imx: imx8ulp: declare ops structure as static (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Skip IMR boot after a firmware crash or boot failure (Jaroslav Kysela) [2179850] - ASoC: SOF: ipc4-loader: Verify ext manifest magic number (Jaroslav Kysela) [2179850] - ASoC: SOF: Kconfig: Make IPC_MESSAGE_INJECTOR depend on SND_SOC_SOF (Jaroslav Kysela) [2179850] - ASoC: SOF: Kconfig: Make IPC_FLOOD_TEST depend on SND_SOC_SOF (Jaroslav Kysela) [2179850] - ALSA: memalloc: Drop special handling of GFP for CONTINUOUS allocation (Jaroslav Kysela) [2179850] - ASoC: Intel: sst: Switch to standard device pages (Jaroslav Kysela) [2179850] - ALSA: pdaudiocf: Drop superfluous GFP setup (Jaroslav Kysela) [2179850] - ALSA: vx: Drop superfluous GFP setup (Jaroslav Kysela) [2179850] - ASoC: atmel_ssc_dai: Remove the unneeded result variable (Jaroslav Kysela) [2179850] - soundwire: intel: cleanup WakeEnable and WakeStatus (Jaroslav Kysela) [2179850] - soundwire: intel: cleanup AC Timing Control (Jaroslav Kysela) [2179850] - soundwire: intel: cleanup IO control (Jaroslav Kysela) [2179850] - soundwire: intel: cleanup PCM Stream channel map and channel count (Jaroslav Kysela) [2179850] - soundwire: intel: cleanup PCM stream capabilities (Jaroslav Kysela) [2179850] - soundwire: intel: add comment for control stream cap/chmap (Jaroslav Kysela) [2179850] - soundwire: intel: remove unused PDM capabilities (Jaroslav Kysela) [2179850] - soundwire: intel: cleanup SHIM SYNC (Jaroslav Kysela) [2179850] - soundwire: intel: remove IPPTR unused definition (Jaroslav Kysela) [2179850] - soundwire: intel: regroup definitions for LCTL (Jaroslav Kysela) [2179850] - soundwire: intel: cleanup definition of LCOUNT (Jaroslav Kysela) [2179850] - soundwire: intel: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2179850] - soundwire: bus: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2179850] - soundwire: intel: set dev_num_ida_min (Jaroslav Kysela) [2179850] - soundwire: bus: allow device number to be unique at system level (Jaroslav Kysela) [2179850] - soundwire: bus: rename sdw_ida as sdw_bus_ida (Jaroslav Kysela) [2179850] - soundwire: dmi-quirks: add remapping for HP Omen 16-k0005TX (Jaroslav Kysela) [2179850] - ALSA: hda: cleanup definitions for multi-link registers (Jaroslav Kysela) [2179850] - ASoC: wcd9335: remove always-true condition (Jaroslav Kysela) [2179850] - ASoC: hdmi-codec: remove unused definitions (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Remove dai_posn variable (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Add copy function for capture case (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Move sof_compr_copy functionality (Jaroslav Kysela) [2179850] - ASoC: Intel: fix unused-variable warning in probe_codec (Jaroslav Kysela) [2179850] - ASoC: soc-pcm.c: summarize related settings at soc_new_pcm() (Jaroslav Kysela) [2179850] - ASoC: SOF: Fix compilation when HDA_AUDIO_CODEC config is disabled (Jaroslav Kysela) [2179850] - ASoC: amd: acp: add a label to make error path more clean (Jaroslav Kysela) [2179850] - ASoC: amd: acp: switch to use dev_err_probe() (Jaroslav Kysela) [2179850] - ASoC: amd: acp: remove unnecessary NULL checks (Jaroslav Kysela) [2179850] - ASoC: Change handling of unimplemented set_bclk_ratio (Jaroslav Kysela) [2179850] - ALSA: hda: Remove unused defines (Jaroslav Kysela) [2179850] - ALSA: hda: Remove unused MAX_PIN_CONFIGS constant (Jaroslav Kysela) [2179850] - ALSA: hda: Rework snd_hdac_stream_reset() to use macros (Jaroslav Kysela) [2179850] - ALSA: hda: Move stream-register polling macros (Jaroslav Kysela) [2179850] - ASoC: SOF: imx: Add i.MX8ULP HW support (Jaroslav Kysela) [2179850] - ASoC: soc-utils-test: Add test for snd_soc_params_to_bclk() (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Use snd_soc_tdm_params_to_bclk() (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Fix comment typo in cs42l42_slow_start_put() (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Move cs42l42_supply_names to .c file (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Add include dependencies to cs42l42.h (Jaroslav Kysela) [2179850] - ASoC: cs42l42: Don't include kernel.h (Jaroslav Kysela) [2179850] - ASoC: codecs: es8326: change es8326_regmap_config to static (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Add support for computing timestamps (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Save channel count and sample bytes (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Introduce sof_compr_stream (Jaroslav Kysela) [2179850] - ASoC: SOF: compress: Remove byte offset computation (Jaroslav Kysela) [2179850] - soundwire: intel: Remove unnecessary TODO (Jaroslav Kysela) [2179850] - ASoC: Variable type completion (Jaroslav Kysela) [2179850] - ASoC: core: remove setting platform_max in kcontrol macros (Jaroslav Kysela) [2179850] - ALSA: hda: Fix page fault in snd_hda_codec_shutdown() (Jaroslav Kysela) [2179850] - ALSA: hda: Remove codec init and exit routines (Jaroslav Kysela) [2179850] - ALSA: hda: Always free codec on the device release (Jaroslav Kysela) [2179850] - ASoC: Intel: Drop hdac_ext usage for codec device creation (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: Introduce HDA codec init and exit routines (Jaroslav Kysela) [2179850] - ASoC: Intel: Skylake: Introduce HDA codec init and exit routines (Jaroslav Kysela) [2179850] - ASoC: codecs: add support for ES8326 (Jaroslav Kysela) [2179850] - ASoC: Intel: Drop legacy HSW/BDW board-match information (Jaroslav Kysela) [2179850] - ASoC: Intel: catpt: Drop SND_SOC_ACPI_INTEL_MATCH dependency (Jaroslav Kysela) [2179850] - ASoC: Intel: bdw_rt286: Rename module (Jaroslav Kysela) [2179850] - ASoC: Intel: hsw_rt5640: Rename module (Jaroslav Kysela) [2179850] - ASoC: soc-utils: Improve kerneldoc for snd_soc_tdm_params_to_bclk() (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Add TDM support for acp i2s stream (Jaroslav Kysela) [2179850] - ASoC: amd: acp: Initialize list to store acp_stream during pcm_open (Jaroslav Kysela) [2179850] - ASoC: Variable type completion (Jaroslav Kysela) [2179850] - ASoC: simple-card-utils: Fixup DAI sample format (Jaroslav Kysela) [2179850] - ASoC: SOF: mediatek: Add sof_mt8186_machs for mt8186 (Jaroslav Kysela) [2179850] - ASoC: SOF: Introduce function sof_of_machine_select (Jaroslav Kysela) [2179850] - ASoC: omap: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ASoC: DAPM: Replace sprintf() calls with sysfs_emit_at() (Jaroslav Kysela) [2179850] - ASoC: core: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ASoC: Intel: skylake: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ASoC: Intel: catpt: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ASoC: Intel: sst: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ASoC: tlv320aic26: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ASoC: cs43130: Replace scnprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ALSA: aoa: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ALSA: ac97: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2179850] - ASoC: Intel: cirrus-common: Use UID to map correct amp to prefix (Jaroslav Kysela) [2179850] - ASoC: codecs: show PING status on resume failures (Jaroslav Kysela) [2179850] - soundwire: add sdw_show_ping_status() helper (Jaroslav Kysela) [2179850] - soundwire: intel/cadence: expose PING status in manager ops (Jaroslav Kysela) [2179850] - soundwire: add read_ping_status helper definition in manager ops (Jaroslav Kysela) [2179850] - soundwire: qcom: Update error prints to debug prints (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda: Drop no longer used ROM state definitions (Jaroslav Kysela) [2179850] - ASoC: SOF: Intel: hda-loader: Use the FSR state definitions during bootup (Jaroslav Kysela) [2179850] - ALSA: wavefront: remove redundant assignment to pointer end (Jaroslav Kysela) [2179850] - soundwire: Use acpi_dev_for_each_child() (Jaroslav Kysela) [2179850] - firewire: cdev: fix potential leak of kernel stack due to uninitialized value (Jaroslav Kysela) [2179850] - list: Add list_next_entry_circular() and list_prev_entry_circular() (Jaroslav Kysela) [2179850] - ASoC: cs43130: Re-use generic struct u16_fract (Jaroslav Kysela) [2179850] - firewire: fix potential uaf in outbound_phy_packet_callback() (Jaroslav Kysela) [2179850] - firewire: add kernel API to access packet structure in request structure for AR context (Jaroslav Kysela) [2179850] - firewire: add kernel API to access CYCLE_TIME register (Jaroslav Kysela) [2179850] - firewire: Add dummy read_csr/write_csr functions (Jaroslav Kysela) [2179850] - treewide: Replace open-coded flex arrays in unions (Jaroslav Kysela) [2179850] - firewire: Remove function callback casts (Jaroslav Kysela) [2179850] - ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 (Jaroslav Kysela) [2179850] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2179850]- [rt] build kernel-rt-4.18.0-498.rt7.287.el8 [2180997] - Revert "softirq: Let ksoftirqd do its job" (Oleg Nesterov) [2196767] - perf: Fix check before add_event_to_groups() in perf_group_detach() (Michael Petlan) [2209647] {CVE-2023-2235} - perf/core: Call LSM hook after copying perf_event_attr (Audra Mitchell) [2172142] - kprobes: Skip clearing aggrprobe's post_handler in kprobe-on-ftrace case (Audra Mitchell) [2172142] - cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset (Audra Mitchell) [2172142] - cgroup: Fix race condition at rebind_subsystems() (Audra Mitchell) [2172142] - tick/nohz: unexport __init-annotated tick_nohz_full_setup() (Audra Mitchell) [2172142] - ipc/mqueue: use get_tree_nodev() in mqueue_get_tree() (Audra Mitchell) [2172142] - genirq: Synchronize interrupt thread startup (Audra Mitchell) [2172142] - genirq: Initialize request_mutex if CONFIG_SPARSE_IRQ=n (Audra Mitchell) [2172142] - scftorture: Fix distribution of short handler delays (Audra Mitchell) [2172142] - tick/nohz: Use WARN_ON_ONCE() to prevent console saturation (Audra Mitchell) [2172142] - ipc/sem: do not sleep with a spin lock held (Audra Mitchell) [2172142] - signal: In get_signal test for signal_group_exit every time through the loop (Audra Mitchell) [2172142] - genirq: Move prio assignment into the newly created thread (Audra Mitchell) [2172142] - sched,irq: Convert to sched_set_fifo() (Audra Mitchell) [2172142] - cgroup/cpuset: Fix violation of cpuset locking rule (Audra Mitchell) [2172142] - timers: Move clearing of base::timer_running under base:: Lock (Audra Mitchell) [2172142] - cgroup1: fix leaked context root causing sporadic NULL deref in LTP (Audra Mitchell) [2172142] - jump_label: Fix usage in module __init (Audra Mitchell) [2172142] - padata: fix possible padata_works_lock deadlock (Audra Mitchell) [2172142] - genirq/PM: Always unlock IRQ descriptor in rearm_wake_irq() (Audra Mitchell) [2172142] - padata: upgrade smp_mb__after_atomic to smp_mb in padata_do_serial (Audra Mitchell) [2172142] - cpu/speculation: Warn on unsupported mitigations= parameter (Audra Mitchell) [2172142] - x86/speculation: Remove redundant arch_smt_update() invocation (Audra Mitchell) [2172142] - cpu/hotplug: Non-SMP machines do not make use of booted_once (Audra Mitchell) [2172142] - can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path (Jose Ignacio Tornos Martinez) [2156579] {CVE-2022-28388} - kernfs: Improve kernfs_notify() poll notification latency (Ian Kent) [2195844] - stmmac: fix changing mac address (Corinna Vinschen) [2177654] - net/sched: cls_tcindex: downgrade to imperfect hash (Davide Caratti) [2192300] {CVE-2023-1829} - Bluetooth: btsdio: fix use after free bug in btsdio_remove due to race condition (Ricardo Robaina) [2185962] {CVE-2023-1989} - net: qcom/emac: Fix use after free bug in emac_remove due to race condition (Ricardo Robaina) [2192672] {CVE-2023-2483} - s390/crypto: improve retry logic in case of master key change (Tobias Huschle) [2212794] - bpf: pull before calling skb_postpull_rcsum() (Felix Maurer) [2186521] - bpf, sockmap: fix race in sock_map_free() (Felix Maurer) [2186521] - bpf, sock_map: Move cancel_work_sync() out of sock lock (Felix Maurer) [2186521] - brcmfmac: Switch to appropriate helper to load EFI variable contents (Lenny Szubowicz) [2183047] - iwlwifi: Switch to proper EFI variable store interface (Lenny Szubowicz) [2183047] - efi: Store mask of supported runtime services in struct efi (Lenny Szubowicz) [2183047] - NFS: Don't report errors from nfs_pageio_complete() more than once (Benjamin Coddington) [2213644] - NFS: Do not report flush errors in nfs_write_end() (Benjamin Coddington) [2213644] - NFS: Don't report ENOSPC write errors twice (Benjamin Coddington) [2213644] - NFS: fsync() should report filesystem errors over EINTR/ERESTARTSYS (Benjamin Coddington) [2213644] - NFS: Do not report EINTR/ERESTARTSYS as mapping errors (Benjamin Coddington) [2213644] - net: openvswitch: release vport resources on failure (Antoine Tenart) [2190225] - net: openvswitch: Add support to count upcall packets (Antoine Tenart) [2190225] - net: openvswitch: fix race on port output (Antoine Tenart) [2190225] - net: openvswitch: fix possible memory leak in ovs_meter_cmd_set() (Antoine Tenart) [2190225] - net: openvswitch: fix flow memory leak in ovs_flow_cmd_new (Antoine Tenart) [2190225] - openvswitch: Fix flow lookup to use unmasked key (Antoine Tenart) [2190225] - openvswitch: switch from WARN to pr_warn (Antoine Tenart) [2190225] - EDAC/i10nm: Add Intel Emerald Rapids server support (Aristeu Rozanski) [2165649] - EDAC/skx_common: Delete duplicated and unreachable code (Aristeu Rozanski) [2165649] - EDAC/skx_common: Enable EDAC support for the "near" memory (Aristeu Rozanski) [2165649] - EDAC/i10nm: Print an extra register set of retry_rd_err_log (Aristeu Rozanski) [2165649] - EDAC/i10nm: Retrieve and print retry_rd_err_log registers for HBM (Aristeu Rozanski) [2165649] - EDAC/skx_common: Add ChipSelect ADXL component (Aristeu Rozanski) [2165649] - EDAC/i10nm: Fix NVDIMM detection (Aristeu Rozanski) [2165649] - EDAC/skx_common: Set the memory type correctly for HBM memory (Aristeu Rozanski) [2165649] - EDAC/mc: Add new HBM2 memory type (Aristeu Rozanski) [2165649] - EDAC: Replace EDAC_DIMM_PTR() macro with edac_get_dimm() function (Aristeu Rozanski) [2165649] - tpm: disable hwrng for fTPM on some AMD designs (Štěpán Horáček) [2159583] - tpm/eventlog: Don't abort tpm_read_log on faulty ACPI address (Štěpán Horáček) [2159583] - tpm: Use managed allocation for bios event log (Štěpán Horáček) [2159583] - efi: tpm: Avoid READ_ONCE() for accessing the event log (Štěpán Horáček) [2159583] - tpm: Allow system suspend to continue when TPM suspend fails (Štěpán Horáček) [2159583] - tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak (Štěpán Horáček) [2159583] - tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak (Štěpán Horáček) [2159583] - tpm: acpi: Call acpi_put_table() to fix memory leak (Štěpán Horáček) [2159583] - tpm/tpm_crb: Fix error message in __crb_relinquish_locality() (Štěpán Horáček) [2159583] - tpm: Avoid function type cast of put_device() (Štěpán Horáček) [2159583] - char: tpm: Protect tpm_pm_suspend with locks (Štěpán Horáček) [2159583] - efi/tpm: Pass correct address to memblock_reserve (Štěpán Horáček) [2159583] - char: move from strlcpy with unused retval to strscpy (Štěpán Horáček) [2159583] - tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH (Štěpán Horáček) [2159583] - tpm: Fix buffer access in tpm2_get_tpm_pt() (Štěpán Horáček) [2159583] - tpm: ibmvtpm: Correct the return value in tpm_ibmvtpm_probe() (Štěpán Horáček) [2159583] - tpm: use try_get_ops() in tpm-space.c (Štěpán Horáček) [2159583] - tpm: Fix error handling in async work (Štěpán Horáček) [2159583] - tpm: vtpm_proxy: Check length to avoid compiler warning (Štěpán Horáček) [2159583] - tpm: fix NPE on probe for missing device (Štěpán Horáček) [2159583] - tpm: fix potential NULL pointer access in tpm_del_char_device (Štěpán Horáček) [2159583] - tpm_tis: Fix an error handling path in 'tpm_tis_core_init()' (Štěpán Horáček) [2159583] - tpm: add request_locality before write TPM_INT_ENABLE (Štěpán Horáček) [2159583] - tpm_tis_spi: Add missing SPI ID (Štěpán Horáček) [2159583] - tpm: fix Atmel TPM crash caused by too frequent queries (Štěpán Horáček) [2159583] - tpm: Check for integer overflow in tpm2_map_response_body() (Štěpán Horáček) [2159583] - KEYS: trusted: Fix TPM reservation for seal/unseal (Štěpán Horáček) [2135881] - KVM: x86: Add helpers to recalc physical vs. logical optimized APIC maps (John Allen) [2117761] - KVM: x86: Allow APICv APIC ID inhibit to be cleared (John Allen) [2117761] - KVM: x86: Track required APICv inhibits with variable, not callback (John Allen) [2117761] - Revert "KVM: SVM: Do not throw warning when calling avic_vcpu_load on a running vcpu" (John Allen) [2117761] - KVM: SVM: Handle multiple logical targets in AVIC kick fastpath (John Allen) [2117761] - KVM: SVM: Require logical ID to be power-of-2 for AVIC entry (John Allen) [2117761] - KVM: SVM: Update svm->ldr_reg cache even if LDR is "bad" (John Allen) [2117761] - KVM: SVM: Always update local APIC on writes to logical dest register (John Allen) [2117761] - KVM: SVM: Inhibit AVIC if vCPUs are aliased in logical mode (John Allen) [2117761] - KVM: x86: Inhibit APICv/AVIC if the optimized physical map is disabled (John Allen) [2117761] - KVM: x86: Honor architectural behavior for aliased 8-bit APIC IDs (John Allen) [2117761] - Documentation: KVM: Add SPDX-License-Identifier tag (John Allen) [2117761] - Documentation: KVM: add virtual CPU errata documentation (John Allen) [2117761] - KVM: x86: Disable APIC logical map if vCPUs are aliased in logical mode (John Allen) [2117761] - KVM: x86: Disable APIC logical map if logical ID covers multiple MDAs (John Allen) [2117761] - KVM: x86: Skip redundant x2APIC logical mode optimized cluster setup (John Allen) [2117761] - KVM: x86: Explicitly track all possibilities for APIC map's logical modes (John Allen) [2117761] - KVM: x86: Explicitly skip optimized logical map setup if vCPU's LDR==0 (John Allen) [2117761] - KVM: SVM: Add helper to perform final AVIC "kick" of single vCPU (John Allen) [2117761] - KVM: SVM: Document that vCPU ID == APIC ID in AVIC kick fastpatch (John Allen) [2117761] - Revert "KVM: SVM: Use target APIC ID to complete x2AVIC IRQs when possible" (John Allen) [2117761] - KVM: SVM: Replace "avic_mode" enum with "x2avic_enabled" boolean (John Allen) [2117761] - KVM: x86: Inhibit APIC memslot if x2APIC and AVIC are enabled (John Allen) [2117761] - KVM: x86: Handle APICv updates for APIC "mode" changes via request (John Allen) [2117761] - KVM: x86: Don't inhibit APICv/AVIC if xAPIC ID mismatch is due to 32-bit ID (John Allen) [2117761] - KVM: x86: Don't inhibit APICv/AVIC on xAPIC ID "change" if APIC is disabled (John Allen) [2117761] - KVM: SVM: Process ICR on AVIC IPI delivery failure due to invalid target (John Allen) [2117761] - KVM: SVM: Flush the "current" TLB when activating AVIC (John Allen) [2117761] - KVM: x86: Purge "highest ISR" cache when updating APICv state (John Allen) [2117761] - KVM: x86: Blindly get current x2APIC reg value on "nodecode write" traps (John Allen) [2117761] - KVM: x86: Bug the VM if an accelerated x2APIC trap occurs on a "bad" reg (John Allen) [2117761] - KVM: x86: Do not block APIC write for non ICR registers (John Allen) [2117761] - KVM: x86: Add support for vICR APIC-write VM-Exits in x2APIC mode (John Allen) [2117761] - KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself (John Allen) [2117761] - KVM: SEV: fix misplaced closing parenthesis (John Allen) [2117761] - KVM: SVM: Do not virtualize MSR accesses for APIC LVTT register (John Allen) [2117761] - KVM: SVM: Fix x2APIC MSRs interception (John Allen) [2117761] - KVM: x86: nSVM: optimize svm_set_x2apic_msr_interception (John Allen) [2117761] - KVM: SVM: Add AVIC doorbell tracepoint (John Allen) [2117761] - KVM: SVM: Use target APIC ID to complete x2AVIC IRQs when possible (John Allen) [2117761] - KVM: x86: Warning APICv inconsistency only when vcpu APIC mode is valid (John Allen) [2117761] - KVM: x86: Move APIC access page helper to common x86 code (John Allen) [2117761] - KVM: SVM: Introduce hybrid-AVIC mode (John Allen) [2117761] - KVM: SVM: Do not throw warning when calling avic_vcpu_load on a running vcpu (John Allen) [2117761] - KVM: SVM: Modify AVIC GATag to support max number of 512 vCPUs (John Allen) [2117761] - KVM: SVM: Fix a benign off-by-one bug in AVIC physical table mask (John Allen) [2117761] - KVM: SVM: Ignore writes to Remote Read Data on AVIC write traps (John Allen) [2117761] - KVM: SVM: Introduce logic to (de)activate x2AVIC mode (John Allen) [2117761] - KVM: x86: nSVM: always intercept x2apic msrs (John Allen) [2117761] - KVM: SVM: Don't put/load AVIC when setting virtual APIC mode (John Allen) [2117761] - KVM: SVM: Refresh AVIC configuration when changing APIC mode (John Allen) [2117761] - KVM: x86: Deactivate APICv on vCPU with APIC disabled (John Allen) [2117761] - KVM: SVM: Adding support for configuring x2APIC MSRs interception (John Allen) [2117761] - KVM: SVM: Do not support updating APIC ID when in x2APIC mode (John Allen) [2117761] - KVM: SVM: Compute dest based on sender's x2APIC status for AVIC kick (John Allen) [2117761] - KVM: SVM: Update avic_kick_target_vcpus to support 32-bit APIC ID (John Allen) [2117761] - KVM: SVM: Update max number of vCPUs supported for x2AVIC mode (John Allen) [2117761] - KVM: svm/avic: Drop "struct kvm_x86_ops" for avic_hardware_setup() (John Allen) [2117761] - KVM: SVM: Detect X2APIC virtualization (x2AVIC) support (John Allen) [2117761] - KVM: x86: lapic: Rename [GET/SET]_APIC_DEST_FIELD to [GET/SET]_XAPIC_DEST_FIELD (John Allen) [2117761] - x86/cpufeatures: Introduce x2AVIC CPUID bit (John Allen) [2117761] - KVM: x86: SVM: fix nested PAUSE filtering when L0 intercepts PAUSE (John Allen) [2117761] - KVM: x86: nSVM: support PAUSE filtering when L0 doesn't intercept PAUSE (John Allen) [2117761] - KVM: x86: SVM: drop preempt-safe wrappers for avic_vcpu_load/put (John Allen) [2117761] - KVM: x86: disable preemption around the call to kvm_arch_vcpu_{un|}blocking (John Allen) [2117761] - KVM: x86: disable preemption while updating apicv inhibition (John Allen) [2117761] - KVM: SVM: Fix x2APIC Logical ID calculation for avic_kick_target_vcpus_fast (John Allen) [2117761] - KVM: x86: SVM: fix avic_kick_target_vcpus_fast (John Allen) [2117761] - KVM: SVM: Use target APIC ID to complete AVIC IRQs when possible (John Allen) [2117761] - KVM: x86: SVM: remove avic's broken code that updated APIC ID (John Allen) [2117761] - KVM: x86: inhibit APICv/AVIC on changes to APIC ID or APIC base (John Allen) [2117761] - KVM: x86: document AVIC/APICv inhibit reasons (John Allen) [2117761] - KVM: x86: SVM: allow AVIC to co-exist with a nested guest running (John Allen) [2117761] - KVM: x86: allow per cpu apicv inhibit reasons (John Allen) [2117761] - KVM: x86: SVM: allow to force AVIC to be enabled (John Allen) [2117761]- [rt] build kernel-rt-4.18.0-497.rt7.286.el8 [2180997] - sctp: fix a potential overflow in sctp_ifwdtsn_skip (Xin Long) [2189324] - sctp: check send stream number after wait_for_sndbuf (Xin Long) [2189324] - sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list (Xin Long) [2189324] - sctp: fail if no bound addresses can be used for a given scope (Xin Long) [2189324] - sctp: sysctl: make extra pointers netns aware (Xin Long) [2189324] - sctp: add a refcnt in sctp_stream_priorities to avoid a nested loop (Xin Long) [2189324] - sctp: delete free member from struct sctp_sched_ops (Xin Long) [2189324] - sctp: fix memory leak in sctp_stream_outq_migrate() (Xin Long) [2189324] - sctp: clear out_curr if all frag chunks of current msg are pruned (Xin Long) [2189324] - sctp: remove the unnecessary sinfo_stream check in sctp_prsctp_prune_unsent (Xin Long) [2189324] - sched/fair: Fix imbalance overflow (Phil Auld) [RHEL-419] - sched/fair: Move calculate of avg_load to a better location (Phil Auld) [RHEL-419] - sched/fair: Sanitize vruntime of entity being migrated (Phil Auld) [RHEL-419] - sched/rt: pick_next_rt_entity(): check list_entry (Phil Auld) [RHEL-419] - sched/fair: sanitize vruntime of entity being placed (Phil Auld) [RHEL-419] - sched/fair: Limit sched slice duration (Phil Auld) [RHEL-419] - sched/topology: Add __init for sched_init_domains() (Phil Auld) [RHEL-419] - sched/core: Reorganize ttwu_do_wakeup() and ttwu_do_activate() (Phil Auld) [RHEL-419] - sched/core: Micro-optimize ttwu_runnable() (Phil Auld) [RHEL-419] - sched/numa: Stop an exhastive search if an idle core is found (Phil Auld) [RHEL-419] - sched/topology: Add __init for init_defrootdomain (Phil Auld) [RHEL-419] - sched: Clear ttwu_pending after enqueue_task() (Phil Auld) [RHEL-419] - sched/psi: Fix possible missing or delayed pending event (Phil Auld) [RHEL-419] - sched/fair: Cleanup for SIS_PROP (Phil Auld) [RHEL-419] - sched/fair: Default to false in test_idle_cores() (Phil Auld) [RHEL-419] - sched/fair: Remove useless check in select_idle_core() (Phil Auld) [RHEL-419] - sched/fair: Avoid double search on same cpu (Phil Auld) [RHEL-419] - sched/fair: Remove redundant check in select_idle_smt() (Phil Auld) [RHEL-419] - sched: Rename task_running() to task_on_cpu() (Phil Auld) [RHEL-419] - sched/fair: Move call to list_last_entry() in detach_tasks (Phil Auld) [RHEL-419] - sched/fair: Cleanup loop_max and loop_break (Phil Auld) [RHEL-419] - sched/fair: Make sure to try to detach at least one movable task (Phil Auld) [RHEL-419] - sched: Add update_current_exec_runtime helper (Phil Auld) [RHEL-419] - sched/fair: Don't init util/runnable_avg for !fair task (Phil Auld) [RHEL-419] - sched/fair: Move task sched_avg attach to enqueue_task_fair() (Phil Auld) [RHEL-419] - sched/fair: Update comments in enqueue/dequeue_entity() (Phil Auld) [RHEL-419] - sched/fair: Maintain task se depth in set_task_rq() (Phil Auld) [RHEL-419] - sched/debug: Print each field value left-aligned in sched_show_task() (Phil Auld) [RHEL-419] - sched/fair: Make per-cpu cpumasks static (Phil Auld) [RHEL-419] - sched/fair: Rename select_idle_mask to select_rq_mask (Phil Auld) [RHEL-419] - sched: Snapshot thread flags (Phil Auld) [RHEL-419] - sched/fair: find_idlest_group(): Remove unused sd_flag parameter (Phil Auld) [RHEL-419] - redhat/genlog.py: add support to list/process zstream Jira tickets (Herton R. Krzesinski) - powercap: intel_rapl: add support for Emerald Rapids (Prarit Bhargava) [2156804] - vsock: avoid to close connected socket after the timeout (Stefano Garzarella) [2209710] - sfc: Fix module EEPROM reporting for QSFP modules (Íñigo Huguet) [2192382] - perf script: Fix missing Retire Latency fields option documentation (Michael Petlan) [2177014] - perf event x86: Add retire_lat when synthesizing PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [2177014] - perf test x86: Support the retire_lat (Retire Latency) sample_type check (Michael Petlan) [2177014] - perf script: Support Retire Latency (Michael Petlan) [2177014] - perf report: Support Retire Latency (Michael Petlan) [2177014]- [rt] build kernel-rt-4.18.0-496.rt7.285.el8 [2180997] - netfilter: nft_redir: correct value of inet type `.maxattrs` (Florian Westphal) [2189517] - netfilter: tproxy: fix deadlock due to missing BH disable (Florian Westphal) [2189517] - netfilter: ebtables: fix table blob use-after-free (Florian Westphal) [2189517] - netfilter: ctnetlink: fix possible refcount leak in ctnetlink_create_conntrack() (Florian Westphal) [2189517] - netfilter: nf_tables: make table handle allocation per-netns friendly (Florian Westphal) [2189517] - netfilter: nf_tables: really skip inactive sets when allocating name (Florian Westphal) [2189517] - intel_idle: add Emerald Rapids Xeon support (Prarit Bhargava) [2156824] - tools/power turbostat: Introduce support for EMR (Prarit Bhargava) [2156806] - kunit: drm: make DRM buddy test compatible with other pages sizes (Nico Pache) [2209108] - redhat: fix missing kunit module in mod-internal.list (Nico Pache) [2209108] - bluetooth: Perform careful capability checks in hci_sock_ioctl() (Ricardo Robaina) [2196359] {CVE-2023-2002} - macvlan: Fix mc_filter calculation (Xin Long) [2186948] - macvlan: Add netlink attribute for broadcast cutoff (Xin Long) [2186948] - macvlan: Skip broadcast queue if multicast with single receiver (Xin Long) [2186948] - net: macvlan: fix memory leaks of macvlan_common_newlink (Xin Long) [2186948] - net: macvlan: change schedule system_wq to system_unbound_wq (Xin Long) [2186948] - net: macvlan: fix potential UAF problem for lowerdev (Xin Long) [2186948] - macvlan: Support for high multicast packet rate (Xin Long) [2186948] - macvlan: Skip loopback packets in RX handler (Xin Long) [2186948] - macvlan: fix null dereference in macvlan_device_event() (Xin Long) [2186948] - macvlan: add cond_resched() during multicast processing (Xin Long) [2186948] - macvlan: schedule bc_work even if error (Xin Long) [2186948] - macvlan: replace kfree_skb by consume_skb for drop profiles (Xin Long) [2186948] - tipc: fix unexpected link reset due to discovery messages (Xin Long) [2193242] - tipc: Fix potential OOB in tipc_link_proto_rcv() (Xin Long) [2193242] - tipc: check skb_linearize() return value in tipc_disc_rcv() (Xin Long) [2193242] - tipc: fix the msg->req tlv len check in tipc_nl_compat_name_table_dump_header (Xin Long) [2193242] - tipc: fix a null-ptr-deref in tipc_topsrv_accept (Xin Long) [2193242] - s390/dasd: fix hanging blockdevice after request requeue (Tobias Huschle) [2043875] - s390/dasd: add autoquiesce event for start IO error (Tobias Huschle) [2043875] - s390/dasd: add aq_timeouts autoquiesce trigger (Tobias Huschle) [2043875] - s390/dasd: add aq_requeue sysfs attribute (Tobias Huschle) [2043875] - s390/dasd: add aq_mask sysfs attribute (Tobias Huschle) [2043875] - s390/dasd: add autoquiesce feature (Tobias Huschle) [2043875] - s390/dasd: remove unused DASD EER defines (Tobias Huschle) [2043875] - md: Fix bitmap offset type in sb writer (Nigel Croxon) [2189478] - md/raid5: Improve performance for sequential IO (Nigel Croxon) [2189478] - md/raid5: remove unused working_disks variable (Nigel Croxon) [2189478] - md/raid10: fix memleak of md thread (Nigel Croxon) [2189478] - md/raid10: fix memleak for 'conf->bio_split' (Nigel Croxon) [2189478] - md/raid10: fix leak of 'r10bio->remaining' for recovery (Nigel Croxon) [2189478] - md/raid10: don't BUG_ON() in raise_barrier() (Nigel Croxon) [2189478] - md: fix soft lockup in status_resync (Nigel Croxon) [2189478] - md: add error_handlers for raid0 and linear (Nigel Croxon) [2151208 2189478] - md: Use optimal I/O size for last bitmap page (Nigel Croxon) [2189478] - md: Fix types in sb writer (Nigel Croxon) [2189478] - md: Move sb writer loop to its own function (Nigel Croxon) [2189478] - md/raid10: Fix typo in comment (replacment -> replacement) (Nigel Croxon) [2189478] - md/raid10: fix null-ptr-deref in raid10_sync_request (Nigel Croxon) [2189478] - md/raid10: fix task hung in raid10d (Nigel Croxon) [2189478] - md: simplify sysctl registration (Nigel Croxon) [2189478] - HID: intel-ish-hid: ipc: Fix potential use-after-free in work function (Tony Camuso) [2182388] - devm-helpers: Fix devm_delayed_work_autocancel() kerneldoc (Tony Camuso) [2182388] - devm-helpers: Add resource managed version of work init (Tony Camuso) [2182388] - workqueue: Add resource managed version of delayed work init (Tony Camuso) [2182388] - HID: stop drivers from selecting CONFIG_HID (Tony Camuso) [2182388] - HID: intel_ish-hid: Add check for ishtp_dma_tx_map (Tony Camuso) [2182388] - HID: intel-ish-hid: ishtp: remove variable rb_count (Tony Camuso) [2182388]- [rt] build kernel-rt-4.18.0-495.rt7.284.el8 [2180997] - i40e: Add support for VF to specify its primary MAC address (Stefan Assmann) [2091552] - net/tg3: resolve deadlock in tg3_reset_task() during EEH (Ken Cox) [2159218 2166475] - HID: asus: use spinlock to safely schedule workers (Ricardo Robaina) [2186285] {CVE-2023-1079} - HID: asus: use spinlock to protect concurrent accesses (Ricardo Robaina) [2186285] {CVE-2023-1079} - e1000e: Disable TSO on i219-LM card to increase speed (Ken Cox) [2109782] - erspan: get the proto with the md version for collect_md (Xin Long) [2207724] - netfilter: nf_tables: deactivate anonymous set from preparation phase (Florian Westphal) [2196155] {CVE-2023-32233} - scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate() (Ewan D. Milne) [2171092] - scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR (Ewan D. Milne) [2171092] - scsi: core: Add BLIST_NO_VPD_SIZE for some VDASD (Ewan D. Milne) [2171092] - scsi: core: Fix a source code comment (Ewan D. Milne) [2171092] - scsi: Revert "scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT" (Ewan D. Milne) [2171092] - scsi: scsi_debug: Delete unreachable code in inquiry_vpd_b0() (Ewan D. Milne) [2171092] - scsi: core: Use SCSI_SCAN_INITIAL in do_scsi_scan_host() (Ewan D. Milne) [2171092] - scsi: core: Use SCSI_SCAN_RESCAN in __scsi_add_device() (Ewan D. Milne) [2171092] - scsi: Define the COMPLETED sense key (Ewan D. Milne) [2171092] - scsi: core: Add I/O timeout count for SCSI device (Ewan D. Milne) [2171092] - tipc: check the bearer min mtu properly when setting it by netlink (Xin Long) [2185143] - tipc: do not update mtu if msg_max is too small in mtu negotiation (Xin Long) [2185143] - tipc: add tipc_bearer_min_mtu to calculate min mtu (Xin Long) [2185143] - net/tipc: fix tipc header files for kernel-doc (Xin Long) [2185143] - scsi: smartpqi: Update version to 2.1.22-040 (Don Brace) [2162103] - scsi: smartpqi: Update copyright to 2023 (Don Brace) [2162103] - scsi: smartpqi: Add sysfs entry for NUMA node in /sys/block/sdX/device (Don Brace) [2162103] - scsi: smartpqi: Stop sending driver-initiated TURs (Don Brace) [2162103] - scsi: smartpqi: Fix byte aligned writew for ARM servers (Don Brace) [2162103] - scsi: smartpqi: Add support for RAID NCQ priority (Don Brace) [2162103] - scsi: smartpqi: Validate block layer host tag (Don Brace) [2162103] - scsi: smartpqi: Remove contention for raid_bypass_cnt (Don Brace) [2162103] - scsi: smartpqi: Fix rare SAS transport memory leak (Don Brace) [2162103] - scsi: smartpqi: Remove NULL pointer check (Don Brace) [2162103] - scsi: smartpqi: Add new controller PCI IDs (Don Brace) [2162103] - scsi: smartpqi: Map full length of PCI BAR 0 (Don Brace) [2162103] - scsi: smartpqi: Replace one-element array with flexible-array member (Don Brace) [2162103] - scsi: mpi3mr: Use -ENOMEM instead of -1 in mpi3mr_expander_add() (Tomas Henzl) [2163671] - scsi: mpi3mr: Use IRQ save variants of spinlock to protect chain frame allocation (Tomas Henzl) [2163671] - scsi: mpi3mr: Handle soft reset in progress fault code (0xF002) (Tomas Henzl) [2163671] - scsi: mpi3mr: Update driver version to 8.4.1.0.0 (Tomas Henzl) [2163671] - scsi: mpi3mr: Update copyright year (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix W=1 compilation warnings (Tomas Henzl) [2163671] - scsi: mpi3mr: Update MPI Headers to revision 27 (Tomas Henzl) [2163671] - scsi: mpi3mr: Avoid escalating to higher level reset when target is removed (Tomas Henzl) [2163671] - scsi: mpi3mr: Modify MUR timeout value to 120 seconds (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix admin queue memory leak upon soft reset (Tomas Henzl) [2163671] - scsi: mpi3mr: Successive VD delete and add causes FW fault (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix expander node leak in mpi3mr_remove() (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix memory leaks in mpi3mr_init_ioc() (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix sas_hba.phy memory leak in mpi3mr_remove() (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix mpi3mr_hba_port memory leak in mpi3mr_remove() (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix config page DMA memory leak (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix throttle_groups memory leak (Tomas Henzl) [2163671] - scsi: mpi3mr: Bad drive in topology results kernel crash (Tomas Henzl) [2163671] - scsi: mpi3mr: NVMe command size greater than 8K fails (Tomas Henzl) [2163671] - scsi: mpi3mr: Return proper values for failures in firmware init path (Tomas Henzl) [2163671] - scsi: mpi3mr: Wait for diagnostic save during controller init (Tomas Henzl) [2163671] - scsi: mpi3mr: Driver unload crashes host when enhanced logging is enabled (Tomas Henzl) [2163671] - scsi: mpi3mr: ioctl timeout when disabling/enabling interrupt (Tomas Henzl) [2163671] - scsi: mpi3mr: Remove unneeded version.h include (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix missing mrioc->evtack_cmds initialization (Tomas Henzl) [2163671] - scsi: mpi3mr: Use number of bits to manage bitmap sizes (Tomas Henzl) [2163671] - scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix issues in mpi3mr_get_all_tgt_info() (Tomas Henzl) [2163671] - scsi: mpi3mr: Fix an issue found by KASAN (Tomas Henzl) [2163671] - scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile (Tomas Henzl) [2163671] - scsi: mpi3mr: Remove usage of dma_get_required_mask() API (Tomas Henzl) [2163671] - scsi: mpi3mr: Suppress command reply debug prints (Tomas Henzl) [2163671] - ipmi: ipmb: Fix the MODULE_PARM_DESC associated to 'retry_time_ms' (Tony Camuso) [2174220] - ipmi:ssif: Add a timer between request retries (Tony Camuso) [2174220] - ipmi:ssif: Remove rtc_us_timer (Tony Camuso) [2174220] - ipmi_ssif: Rename idle state and check (Tony Camuso) [2174220] - ipmi:ssif: resend_msg() cannot fail (Tony Camuso) [2174220] - ipmi/watchdog: use strscpy() to instead of strncpy() (Tony Camuso) [2174220] - ipmi: ssif_bmc: Convert to i2c's .probe_new() (Tony Camuso) [2174220] - ipmi: fix use after free in _ipmi_destroy_user() (Tony Camuso) [2174220] - ipmi:ssif: Increase the message retry time (Tony Camuso) [2174220] - ipmi: Fix some kernel-doc warnings (Tony Camuso) [2174220] - ipmi: ssif_bmc: Use EPOLLIN instead of POLLIN (Tony Camuso) [2174220] - ipmi: fix msg stack when IPMI is disconnected (Tony Camuso) [2174220] - ipmi: fix memleak when unload ipmi driver (Tony Camuso) [2174220] - ipmi: fix long wait in unload when IPMI disconnect (Tony Camuso) [2174220] - ipmi: kcs: Poll OBF briefly to reduce OBE latency (Tony Camuso) [2174220] - ipmi: ssif_bmc: Add SSIF BMC driver (Tony Camuso) [2174220] - ipmi: Remove unused struct watcher_entry (Tony Camuso) [2174220] - ipmi: kcs: aspeed: Update port address comments (Tony Camuso) [2174220] - ipmi: Add __init/__exit annotations to module init/exit funcs (Tony Camuso) [2174220] - ipmi:ipmb: Don't call ipmi_unregister_smi() on a register failure (Tony Camuso) [2174220] - ipmi:ipmb: Fix a vague comment and a typo (Tony Camuso) [2174220] - ipmi: Fix comment typo (Tony Camuso) [2174220] - char: ipmi: modify NPCM KCS configuration (Tony Camuso) [2174220] - cipso: Fix data-races around sysctl. (Juraj Marcin) [2181138] - netlabel: fix out-of-bounds memory accesses (Juraj Marcin) [2181138] - CIPSO: Fix unaligned memory access in cipso_v4_gentag_hdr (Juraj Marcin) [2181138] - netlabel_domainhash.c: Use built-in RCU list checking (Juraj Marcin) [2181138] - net: netlabel: Use built-in RCU list checking (Juraj Marcin) [2181138] - netlabel: remove redundant assignment to pointer iter (Juraj Marcin) [2181138] - capabilities: fix potential memleak on error path from vfs_getxattr_alloc() (Juraj Marcin) [2181138] - selinux: enable use of both GFP_KERNEL and GFP_ATOMIC in convert_context() (Juraj Marcin) [2181138] - selinux: free contexts previously transferred in selinux_add_opt() (Juraj Marcin) [2181138] - LSM: general protection fault in legacy_parse_param (Juraj Marcin) [2181138] - selinux: check return value of sel_make_avc_files (Juraj Marcin) [2181138] - net/sched: flower: fix error handler on replace (Ivan Vecera) [2180870] - Revert "net/sched: flower: Fix wrong handle assignment during filter change" (Ivan Vecera) [2180870] - net/sched: flower: fix filter idr initialization (Ivan Vecera) [2180870] - net/sched: cls_api: remove block_cb from driver_list before freeing (Ivan Vecera) [2180870] - net/sched: flower: Fix wrong handle assignment during filter change (Ivan Vecera) [2180870] - net/sched: cls_api: Initialize miss_cookie_node when action miss is not used (Ivan Vecera) [2180870] - net/sched: sch_fq: fix integer overflow of "credit" (Ivan Vecera) [2180870] - net/sched: clear actions pointer in miss cookie init fail (Ivan Vecera) [2180870] - net/sched: mqprio: simplify handling of nlattr portion of TCA_OPTIONS (Ivan Vecera) [2180870] - l2tp: generate correct module alias strings (Ivan Vecera) [2180870] - net/sched: act_api: add specific EXT_WARN_MSG for tc action (Ivan Vecera) [2180870] - Revert "net/sched: act_api: move TCA_EXT_WARN_MSG to the correct hierarchy" (Ivan Vecera) [2180870] - netfilter: ctnetlink: revert to dumping mark regardless of event type (Ivan Vecera) [2180870] - net/sched: flower: fix fl_change() error recovery path (Ivan Vecera) [2180870] - net/sched: act_api: move TCA_EXT_WARN_MSG to the correct hierarchy (Ivan Vecera) [2180870] - net/sched: act_connmark: handle errno on tcf_idr_check_alloc (Ivan Vecera) [2180870] - net/sched: act_sample: fix action bind logic (Ivan Vecera) [2180870] - net/sched: act_mpls: fix action bind logic (Ivan Vecera) [2180870] - net/sched: act_pedit: fix action bind logic (Ivan Vecera) [2180870] - net/sched: cls_api: Move call to tcf_exts_miss_cookie_base_destroy() (Ivan Vecera) [2180870] - net/sched: flower: Support hardware miss to tc action (Ivan Vecera) [2180870] - net/sched: flower: Move filter handle initialization earlier (Ivan Vecera) [2180870] - net/sched: cls_api: Support hardware miss to tc action (Ivan Vecera) [2180870] - net/sched: Rename user cookie and act cookie (Ivan Vecera) [2180870] - net/sched: taprio: dynamic max_sdu larger than the max_mtu is unlimited (Ivan Vecera) [2180870] - net/sched: taprio: don't allow dynamic max_sdu to go negative after stab adjustment (Ivan Vecera) [2180870] - net/sched: taprio: fix calculation of maximum gate durations (Ivan Vecera) [2180870] - net/sched: act_pedit: use percpu overlimit counter when available (Ivan Vecera) [2180870] - net/sched: act_gate: use percpu stats (Ivan Vecera) [2180870] - net/sched: act_connmark: transition to percpu stats and rcu (Ivan Vecera) [2180870] - net/sched: act_nat: transition to percpu stats and rcu (Ivan Vecera) [2180870] - selftests: forwarding: tc_actions: cleanup temporary files when test is aborted (Ivan Vecera) [2180870] - net/sched: support per action hw stats (Ivan Vecera) [2180870] - net/sched: introduce flow_offload action cookie (Ivan Vecera) [2180870] - net/sched: pass flow_stats instead of multiple stats args (Ivan Vecera) [2180870] - net/sched: act_pedit, setup offload action for action stats query (Ivan Vecera) [2180870] - net/sched: optimize action stats api calls (Ivan Vecera) [2180870] - net/sched: act_ctinfo: use percpu stats (Ivan Vecera) [2180870] - net/sched: fix error recovery in qdisc_create() (Ivan Vecera) [2180870] - net/sched: taprio: don't segment unnecessarily (Ivan Vecera) [2180870] - net/sched: taprio: split segmentation logic from qdisc_enqueue() (Ivan Vecera) [2180870] - net/sched: taprio: automatically calculate queueMaxSDU based on TC gate durations (Ivan Vecera) [2180870] - net/sched: keep the max_frm_len information inside struct sched_gate_list (Ivan Vecera) [2180870] - net/sched: taprio: warn about missing size table (Ivan Vecera) [2180870] - net/sched: make stab available before ops->init() call (Ivan Vecera) [2180870] - net/sched: taprio: calculate guard band against actual TC gate close time (Ivan Vecera) [2180870] - net/sched: taprio: calculate budgets per traffic class (Ivan Vecera) [2180870] - net/sched: taprio: rename close_time to end_time (Ivan Vecera) [2180870] - net/sched: taprio: calculate tc gate durations (Ivan Vecera) [2180870] - net/sched: taprio: give higher priority to higher TCs in software dequeue mode (Ivan Vecera) [2180870] - net/sched: taprio: avoid calling child->ops->dequeue(child) twice (Ivan Vecera) [2180870] - net/sched: taprio: refactor one skb dequeue from TXQ to separate function (Ivan Vecera) [2180870] - net/sched: taprio: continue with other TXQs if one dequeue() failed (Ivan Vecera) [2180870] - net/sched: taprio: delete peek() implementation (Ivan Vecera) [2180870] - net: sched: sch: Fix off by one in htb_activate_prios() (Ivan Vecera) [2180870] - net/sched: taprio: only pass gate mask per TXQ for igc, stmmac, tsnep, am65_cpsw (Ivan Vecera) [2180870] - net/sched: taprio: pass mqprio queue configuration to ndo_setup_tc() (Ivan Vecera) [2180870] - net/sched: refactor mqprio qopt reconstruction to a library function (Ivan Vecera) [2180870] - net/sched: taprio: centralize mqprio qopt validation (Ivan Vecera) [2180870] - net/sched: mqprio: add extack messages for queue count validation (Ivan Vecera) [2180870] - net/sched: mqprio: allow offloading drivers to request queue count validation (Ivan Vecera) [2180870] - net/sched: mqprio: allow reverse TC:TXQ mappings (Ivan Vecera) [2180870] - net/sched: move struct tc_mqprio_qopt_offload from pkt_cls.h to pkt_sched.h (Ivan Vecera) [2180870] - net/sched: mqprio: refactor offloading and unoffloading to dedicated functions (Ivan Vecera) [2180870] - net/sched: mqprio: refactor nlattr parsing to a separate function (Ivan Vecera) [2180870] - netlink: add support for formatted extack messages (Ivan Vecera) [2180870] - net/sched: simplify tcf_pedit_act (Ivan Vecera) [2180870] - net/sched: transition act_pedit to rcu and percpu stats (Ivan Vecera) [2180870] - net: sched: sch: Bounds check priority (Ivan Vecera) [2180870] - net: Kconfig: fix spellos (Ivan Vecera) [2180870] - net/sched: sch_taprio: do not schedule in taprio_reset() (Ivan Vecera) [2180870] - sched: add new attr TCA_EXT_WARN_MSG to report tc extact message (Ivan Vecera) [2180870] - net/sched: sch_taprio: fix possible use-after-free (Ivan Vecera) [2180870] - net: sched: htb: fix htb_classify() kernel-doc (Ivan Vecera) [2180870] - net/sched: fix retpoline wrapper compilation on configs without tc filters (Ivan Vecera) [2180870] - net: sched: update the nat flag for icmp error packets in ct_nat_execute (Ivan Vecera) [2180870] - net/sched: avoid indirect classify functions on retpoline kernels (Ivan Vecera) [2180870] - net/sched: avoid indirect act functions on retpoline kernels (Ivan Vecera) [2180870] - net/sched: add retpoline wrapper for tc (Ivan Vecera) [2180870] - net/sched: move struct action_ops definition out of ifdef (Ivan Vecera) [2180870] - netfilter: ctnetlink: fix compilation warning after data race fixes in ct mark (Ivan Vecera) [2180870] - net: sched: allow act_ct to be built without NF_NAT (Ivan Vecera) [2180870] - netfilter: conntrack: Fix data-races around ct mark (Ivan Vecera) [2180870] - net: flow_offload: add support for ARP frame matching (Ivan Vecera) [2180870] - selftests: tc-testing: Add matchJSON to tdc (Ivan Vecera) [2180870] - Documentation: networking: TC queue based filtering (Ivan Vecera) [2180870] - act_skbedit: skbedit queue mapping for receive queue (Ivan Vecera) [2180870] - net: sched: cake: fix null pointer access issue when cake_init() fails (Ivan Vecera) [2180870] - net: sched: use tc_cls_bind_class() in filter (Ivan Vecera) [2180870] - net: sched: cls_api: introduce tc_cls_bind_class() helper (Ivan Vecera) [2180870] - net: sched: ensure n arg not empty before call bind_class (Ivan Vecera) [2180870] - selftests/tc-testing: update qdisc/cls/action features in config (Ivan Vecera) [2180870] - net/sched: taprio: allow user input of per-tc max SDU (Ivan Vecera) [2180870] - net/sched: query offload capabilities through ndo_setup_tc() (Ivan Vecera) [2180870] - net: sched: act_bpf: simplify code logic in tcf_bpf_init() (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for teql qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for tbf qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for taprio qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for skbprio qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for sfq qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for sfb qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for plug qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for pfifo_fast qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for hhf qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for gred qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for fq qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for etf qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for codel qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for choke qdisc (Ivan Vecera) [2180870] - selftests/tc-testing: add selftests for atm qdisc (Ivan Vecera) [2180870] - headers: Remove some left-over license text (Ivan Vecera) [2180870] - net/sched: taprio: simplify list iteration in taprio_dev_notifier() (Ivan Vecera) [2180870] - net/sched: taprio: remove unnecessary taprio_list_lock (Ivan Vecera) [2180870] - net: sched: remove unused tcf_result extension (Ivan Vecera) [2180870] - net: sched: simplify code in mall_reoffload (Ivan Vecera) [2180870] - net: sched: act_ct: remove redundant variable err (Ivan Vecera) [2180870] - selftests/tc-testings: add list case for basic filter (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for tcindex filter (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for rsvp filter (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for route filter (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for flow filter (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for cgroup filter (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for bpf filter (Ivan Vecera) [2180870] - net/sched: use tc_cls_stats_dump() in filter (Ivan Vecera) [2180870] - net/sched: cls_api: add helper for tc cls walker stats dump (Ivan Vecera) [2180870] - net/sched: taprio: replace safety precautions with comments (Ivan Vecera) [2180870] - net/sched: taprio: add extack messages in taprio_init (Ivan Vecera) [2180870] - net/sched: taprio: stop going through private ops for dequeue and peek (Ivan Vecera) [2180870] - net/sched: taprio: remove redundant FULL_OFFLOAD_IS_ENABLED check in taprio_enqueue (Ivan Vecera) [2180870] - net/sched: taprio: use rtnl_dereference for oper and admin sched in taprio_destroy() (Ivan Vecera) [2180870] - net/sched: taprio: taprio_dump and taprio_change are protected by rtnl_mutex (Ivan Vecera) [2180870] - net/sched: taprio: taprio_offload_config_changed() is protected by rtnl_mutex (Ivan Vecera) [2180870] - net/sched: taprio: avoid disabling offload when it was never enabled (Ivan Vecera) [2180870] - flow_offload: Introduce flow_match_l2tpv3 (Ivan Vecera) [2180870] - net/sched: flower: Add L2TPv3 filter (Ivan Vecera) [2180870] - flow_dissector: Add L2TPv3 dissectors (Ivan Vecera) [2180870] - skbuff: make __skb_header_pointer()'s data argument const (Ivan Vecera) [2180870] - tools headers uapi: Update linux/in.h copy (Ivan Vecera) [2180870] - uapi: move IPPROTO_L2TP to in.h (Ivan Vecera) [2180870] - selftests/tc-testings: add tunnel_key action deleting test case (Ivan Vecera) [2180870] - selftests/tc-testings: add sample action deleting test case (Ivan Vecera) [2180870] - selftests/tc-testings: add nat action deleting test case (Ivan Vecera) [2180870] - selftests/tc-testings: add ife action deleting test case (Ivan Vecera) [2180870] - selftests/tc-testings: add connmark action deleting test case (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for xt action (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for gate action (Ivan Vecera) [2180870] - selftests/tc-testings: add selftests for ctinfo action (Ivan Vecera) [2180870] - net: sched: act_vlan: get rid of tcf_vlan_walker and tcf_vlan_search (Ivan Vecera) [2180870] - net: sched: act_tunnel_key: get rid of tunnel_key_walker and tunnel_key_search (Ivan Vecera) [2180870] - net: sched: act_skbmod: get rid of tcf_skbmod_walker and tcf_skbmod_search (Ivan Vecera) [2180870] - net: sched: act_skbedit: get rid of tcf_skbedit_walker and tcf_skbedit_search (Ivan Vecera) [2180870] - net: sched: act_simple: get rid of tcf_simp_walker and tcf_simp_search (Ivan Vecera) [2180870] - net: sched: act_sample: get rid of tcf_sample_walker and tcf_sample_search (Ivan Vecera) [2180870] - net: sched: act_police: get rid of tcf_police_walker and tcf_police_search (Ivan Vecera) [2180870] - net: sched: act_pedit: get rid of tcf_pedit_walker and tcf_pedit_search (Ivan Vecera) [2180870] - net: sched: act_nat: get rid of tcf_nat_walker and tcf_nat_search (Ivan Vecera) [2180870] - net: sched: act_mpls: get rid of tcf_mpls_walker and tcf_mpls_search (Ivan Vecera) [2180870] - net: sched: act_mirred: get rid of tcf_mirred_walker and tcf_mirred_search (Ivan Vecera) [2180870] - net: sched: act_ipt: get rid of tcf_ipt_walker/tcf_xt_walker and tcf_ipt_search/tcf_xt_search (Ivan Vecera) [2180870] - net: sched: act_ife: get rid of tcf_ife_walker and tcf_ife_search (Ivan Vecera) [2180870] - net: sched: act_gate: get rid of tcf_gate_walker and tcf_gate_search (Ivan Vecera) [2180870] - net: sched: act_gact: get rid of tcf_gact_walker and tcf_gact_search (Ivan Vecera) [2180870] - net: sched: act_ctinfo: get rid of tcf_ctinfo_walker and tcf_ctinfo_search (Ivan Vecera) [2180870] - net: sched: act_ct: get rid of tcf_ct_walker and tcf_ct_search (Ivan Vecera) [2180870] - net: sched: act_csum: get rid of tcf_csum_walker and tcf_csum_search (Ivan Vecera) [2180870] - net: sched: act_connmark: get rid of tcf_connmark_walker and tcf_connmark_search (Ivan Vecera) [2180870] - net: sched: act_bpf: get rid of tcf_bpf_walker and tcf_bpf_search (Ivan Vecera) [2180870] - net: sched: act_api: implement generic walker and search for tc action (Ivan Vecera) [2180870] - net: sched: act: move global static variable net_id to tc_action_ops (Ivan Vecera) [2180870] - net: sched: htb: remove redundant resource cleanup in htb_init() (Ivan Vecera) [2180870] - net/sched: cls_api: remove redundant 0 check in tcf_qevent_init() (Ivan Vecera) [2180870] - net: sched: etf: remove true check in etf_enable_offload() (Ivan Vecera) [2180870] - net: sched: gred: remove NULL check before free table->tab in gred_destroy() (Ivan Vecera) [2180870] - net: sched: remove redundant NULL check in change hook function (Ivan Vecera) [2180870] - net: sched: gred/red: remove unused variables in struct red_stats (Ivan Vecera) [2180870] - net: sched: choke: remove unused variables in struct choke_sched_data (Ivan Vecera) [2180870] - net: sched: using TCQ_MIN_PRIO_BANDS in prio_tune() (Ivan Vecera) [2180870] - net_sched: remove impossible conditions (Ivan Vecera) [2180870] - net: sched: remove unnecessary init of qdisc skb head (Ivan Vecera) [2180870] - net: sched: delete duplicate cleanup of backlog and qlen (Ivan Vecera) [2180870] - net: sched: remove duplicate check of user rights in qdisc (Ivan Vecera) [2180870] - net_sched: move from strlcpy with unused retval to strscpy (Ivan Vecera) [2180870] - net: sched: delete unused input parameter in qdisc_create (Ivan Vecera) [2180870] - net: sched: remove the unused return value of unregister_qdisc (Ivan Vecera) [2180870] - net_sched: cls_route: disallow handle of 0 (Ivan Vecera) [2180870] - net/sched: sch_cbq: change the type of cbq_set_lss to void (Ivan Vecera) [2180870] - net/sched: remove qdisc_root_lock() helper (Ivan Vecera) [2180870] - net/sched: sch_cbq: Delete unused delay_timer (Ivan Vecera) [2180870] - net/sched: remove return value of unregister_tcf_proto_ops (Ivan Vecera) [2180870] - net: extract port range fields from fl_flow_key (Ivan Vecera) [2180870] - net/sched: act_ct: set 'net' pointer when creating new nf_flow_table (Ivan Vecera) [2180870] - net: sched: provide shim definitions for taprio_offload_{get,free} (Ivan Vecera) [2180870] - time64.h: consolidate uses of PSEC_PER_NSEC (Ivan Vecera) [2180870] - selftests: tc-testing: Add testcases to test new flush behaviour (Ivan Vecera) [2180870] - tc-testing: gitignore, delete plugins directory (Ivan Vecera) [2180870] - net/sched: sch_netem: Fix arithmetic in netem_dump() for 32-bit platforms (Ivan Vecera) [2180870] - net_sched: em_meta: add READ_ONCE() in var_sk_bound_if() (Ivan Vecera) [2180870] - selftests: forwarding: tc_actions: allow mirred egress test to run on non-offloaded h2 (Ivan Vecera) [2180870] - net: sched: support hash selecting tx queue (Ivan Vecera) [2180870] - net: sched: use queue_mapping to pick tx queue (Ivan Vecera) [2180870] - net_sched: make qdisc_reset() smaller (Ivan Vecera) [2180870] - sch_red: Fix a typo (Ivan Vecera) [2180870] - wifi: ath9k: Don't mark channelmap stack variable read-only in ath9k_mci_update_wlan_channels() (Jose Ignacio Tornos Martinez) [2183487] - net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: ignore key disable commands (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: reduce the MHI timeout to 20s (Jose Ignacio Tornos Martinez) [2183487] - net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: fix fw used for offload check for mt7922 (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: Fix use-after-free in fw features query. (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Fix SDIO suspend/resume regression (Jose Ignacio Tornos Martinez) [2183487] - net: qrtr: Fix a refcount bug in qrtr_recvmsg() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix flow dissection for forwarded packets (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix mesh forwarding (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix receiving mesh packets in forwarding=0 networks (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix the size calculation of ieee80211_ie_len_eht_cap() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix potential null pointer dereference (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: drop bogus static keywords in A-MSDU rx (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix mesh path discovery based on unicast packets (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix qos on mesh interfaces (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Serialize ieee80211_handle_wake_tx_queue() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mwifiex: mark OF related data as maybe unused (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: do not check WED status for non-mmio devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add back 160MHz channel width support for MT7915 (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: do not run mt76_unregister_device() on unregistered hw (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext" (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: fix MLO connection ownership (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: check basic rates validity (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: fix puncturing bitmap policy (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: fix NULL-ptr deref in offchan check (Jose Ignacio Tornos Martinez) [2183487] - wifi: wext: warn about usage only once (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: allow system suspend to survive ath11k (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: add LEDS_CLASS dependency (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: remove unused iwl_dbgfs_is_match() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fix AP mode authentication transmission failed (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: use RTW_FLAG_POWERON flag to prevent to power on/off twice (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: p2p: Introduce generic flexible array frame member (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add documentation for amsdu_mesh_control (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: remove gfp parameter from cfg80211_obss_color_collision_notify description (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: always initialize link_sta with sta (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: pass 'sta' to ieee80211_rx_data_set_sta() (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Set SSID if it is not already set (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: move H2C of del_pkt_offload before polling FW status ready (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: use readable return 0 in rtw89_mac_cfg_ppdu_status() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: usb: drop now unnecessary URB size check (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: usb: send Zero length packets if necessary (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: usb: Set qsel correctly (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix off-by-one link setting (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Fix for Rx fragmented action frames (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: avoid u32_encode_bits() warning (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Don't translate MLD addresses for multicast (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: call reg_notifier for self managed wiphy from driver hint (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: get rid of gfp in cfg80211_bss_color_notify (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: Allow authentication frames and set keys on NAN interface (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix non-MLO station association (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Allow NSS change only up to capability (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add a workaround for receiving non-standard mesh A-MSDU (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix receiving A-MSDU frames on mesh interfaces (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: remove mesh forwarding congestion check (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: factor out bridge tunnel / RFC1042 header check (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: move A-MSDU check in ieee80211_data_to_8023_exthdr (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: make rate u32 in sta_set_rate_info_rx() (Jose Ignacio Tornos Martinez) [2183487] - rfkill: Use sysfs_emit() to instead of sprintf() (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Allow action frames to be transmitted with link BSS in MLD (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: configure puncturing bitmap (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: include puncturing bitmap in channel switch events (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: validate and configure puncturing bitmap (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: move puncturing bitmap validation from mac80211 (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: return error message for malformed chandef (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211_hwsim: Rename pid to portid to avoid confusion (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: add MLO_LINK_ID to CMD_STOP_AP event (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: emit CMD_START_AP on multicast group when an AP is started (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: mlme: handle EHT channel puncturing (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Extend cfg80211_update_owe_info_event() for MLD AP (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: move color collision detection report in a delayed work (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Fix use after free for wext (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Authentication offload to user space for MLO connection in STA mode (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: trace: remove MAC_PR_{FMT,ARG} (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: fix txdw7 assignment of TX DESC v3 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Add LED control code for RTL8723AU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Add LED control code for RTL8192EU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Add LED control code for RTL8188EU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Register the LED and make it blink (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: phy: set TX power according to RF path number by chip (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: correct register mask name of TX power offset (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: use passed channel in set_tx_shape_dfir() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852be: enable CLKREQ of PCI capability (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: try to use NORMAL_CE type firmware first (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: don't support LPS-PG mode after firmware 0.29.26.0 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: reset IDMEM mode to default value (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add use of pkt_list offload to debug entry (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: refine packet offload flow (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fix potential wrong mapping for pkt-offload (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: disallow enter PS mode after create TDLS link (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: refine MCC C2H debug logs (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fix parsing offset for MCC C2H (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: deal with RXI300 error (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: debug: avoid invalid access on RTW89_DBG_SEL_MAC_30 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: mac: add function to get TSF (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: split out generic part of rtw89_mac_port_tsf_sync() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: correct unit for port offset and refine macro (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Update Wi-Fi Bluetooth coexistence version to 7.0.0 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Fix test fail when coexist with raspberryPI A2DP idle (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Correct A2DP exist variable source (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Set Bluetooth background scan PTA request priority (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Refine coexistence log (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Force to update TDMA parameter when radio state change (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Clear Bluetooth HW PTA counter when radio state change (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Update Wi-Fi external control TDMA parameters/tables (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: change cfg80211_set_channel() name and signature (Jose Ignacio Tornos Martinez) [2183487] - wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mwifiex: Replace one-element array with flexible-array member (Jose Ignacio Tornos Martinez) [2183487] - wifi: mwifiex: Replace one-element arrays with flexible-array members (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Replace one-element array with flexible-array member (Jose Ignacio Tornos Martinez) [2183487] - wifi: mwifiex: Support firmware hotfix version in GET_HW_SPEC responses (Jose Ignacio Tornos Martinez) [2183487] - wifi: mwifiex: Support SD8978 chipset (Jose Ignacio Tornos Martinez) [2183487] - wifi: mwifiex: Add missing compatible string for SD8787 (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: pcie: Perform correct BCM4364 firmware selection (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: pcie: Add IDs/properties for BCM4377 (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: pcie: Add IDs/properties for BCM4355 (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Rename Cypress 89459 to BCM4355 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: mac: Use existing macros in rtw_pwr_seq_parser() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Move enum rtw_tx_queue_type mapping code to tx.{c,h} (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: pci: Change queue datatype to enum rtw_tx_queue_type (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: pci: Use enum type for rtw_hw_queue_mapping() and ac_to_hwq (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: support ww power config in dts node (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt76x0u: report firmware version through ethtool (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: complete wed reset support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add mt7915 wed reset callbacks (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: dma: reset wed queues in mt76_dma_rx_reset (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: dma: add reset to mt76_dma_wed_setup signature (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: add EHT beamforming support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: enable EHT support in firmware (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: add support for EHT rate report (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: add EHT capability init (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: rework capability init (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: add helpers for wtbl and interface limit (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: add variants support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add EHT rate stats for ethtool (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: increase wcid size to 1088 (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: add cmd id related to EHT support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: add helpers for EHT capability (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: add CMD_CBW_320MHZ (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add EHT phy type (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: remove __mt76_mcu_restart macro (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: avoid mcu_restart function pointer (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: rely on mt76_connac_tx_complete_skb (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: rely on mt76_connac_txp_skb_unmap (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: rely on mt76_connac_txp_common structure (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: rely on mt76_connac2_mac_tx_rate_val (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: fix error code of return in mt7921_acpi_read (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: release rxwi in mt7915_wed_release_rx_buf (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix memory leak in mt7915_mmio_wed_init_rx_buf (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: fix rx filter incorrect by drv/fw inconsistent (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add memory barrier to SDIO queue kick (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: reduce polling time in pmctrl (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add flexible polling wait-interval support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix WED TxS reporting (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: wed: enable red per-band token drop (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: set sku initial value to zero (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921u: add support for Comfast CF-952AX (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: fix switch default case in mt7996_reverse_frag0_hdr_trans (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: avoid mcu_restart function pointer (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7615: avoid mcu_restart function pointer (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7603: avoid mcu_restart function pointer (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: avoid mcu_restart function pointer (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: dma: fix memory leak running mt76_dma_tx_cleanup (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: fix memory leak in mt7996_mcu_exit (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix memory leak in mt7915_mcu_exit (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: introduce mt76_queue_is_wed_rx utility routine (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: fix invalid remain_on_channel duration (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: remove BW160 and BW80+80 support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: fix POWER_CTRL command name typo (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: do not hardcode vht beamform cap (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: update register for CFEND_RATE (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: fix chainmask calculation in mt7996_set_antenna() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: add ack signal support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: fix channel switch fail in monitor mode (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add chip id condition in mt7915_check_eeprom() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add error message in mt7915_thermal_set_cur_throttle_state() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: rework mt7915_thermal_temp_store() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: rework mt7915_mcu_set_thermal_throttling (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: call mt7915_mcu_set_thermal_throttling() only after init_work (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: fix deadlock in mt7921_abort_roc (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Fix off by one in mhi_ep_process_cmd_ring() (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: fix compilation errors in rfkill() (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: bump FW API to 74 for AX devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: Reset rate index if rate is wrong (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: simplify by using SKB MAC header pointer (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: add sniffer meta data APIs (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: rx: add sniffer support for EHT mode (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: always send nullfunc frames on MGMT queue (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: remove h from printk format specifier (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: improve tag handling in iwl_request_firmware (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mention the response structure in the kerneldoc (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: add minimal EHT rate reporting (Jose Ignacio Tornos Martinez) [2183487] - net: qrtr: free memory on error path in radix_tree_insert() (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Change state_lock to mutex (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Save channel state locally during suspend and resume (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Move chan->lock to the start of processing queued ch ring (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Fix the debug message for MHI_PKT_TYPE_RESET_CHAN_CMD cmd (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Only send -ENOTCONN status if client driver is available (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Check if the channel is supported by the controller (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: ep: Power up/down MHI stack during MHI RESET (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: host: Update mhi driver description (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: Update Makefile to used Kconfig flags (Jose Ignacio Tornos Martinez) [2183487] - wifi: wireless: deny wireless extensions on MLO-capable devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: wireless: warn on most wireless extension usage (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: drop extra 'e' from ieeee80211... name (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Deduplicate certificate loading (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add kernel-doc for EHT structure (Jose Ignacio Tornos Martinez) [2183487] - mac80211: support minimal EHT rate reporting on RX (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Add HE MU-MIMO related flags in ieee80211_bss_conf (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Add VHT MU-MIMO related flags in ieee80211_bss_conf (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Use MLD address to indicate MLD STA disconnection (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Support 32 bytes KCK key in GTK rekey offload (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Fix extended KCK key length check in nl80211_set_rekey_data() (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: remove support for static WEP (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: Add support to read EEPROM caldata (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: Add new qmi_bdf_type to handle caldata (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: Fix incorrect qmi_file_type enum values (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: dp_mon: Fix uninitialized warning related to the pktlog (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: dp_mon: Fix out of bounds clang warning (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: hal_rx: Use memset_startat() for clearing queue descriptors (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: Fix uninitilized variable clang warnings (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: wmi: delete PSOC_HOST_MAX_NUM_SS (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: hal: convert offset macros to functions (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: hal: add ab parameter to macros using it (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: fix ce memory mapping for ahb devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Remove the unused function ath10k_ce_shadow_src_ring_write_index_set() (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: add channel 177 into 5 GHz channel list (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Add support to configure FTM responder role (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: Fix potential stack-out-of-bounds write in ath9k_wmi_rsp_callback() (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback function (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Dump the efuse only for untested devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Print the ROM version too (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Use non-atomic sta iterator in rtw_ra_mask_info_update() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Use rtw_iterate_vifs() for rtw_vif_watch_dog_iter() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Move register access from rtw_bf_assoc() outside the RCU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Use a longer retry limit of 48 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Report the RSSI to the firmware (Jose Ignacio Tornos Martinez) [2183487] - wifi: rt2x00: Remove useless else if (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt7601u: fix an integer underflow (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: rtl8723ae: fix obvious spelling error tyep->type (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU (Jose Ignacio Tornos Martinez) [2183487] - Revert "wifi: mac80211: fix memory leak in ieee80211_if_add()" (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: dma: fix a regression in adding rx buffers (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: fill the missing configuration about queue empty checking (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fix assignation of TX BD RAM table (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: rfk: correct ADC clock settings (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: correct register definitions of digital CFO and spur elimination (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: set the correct mac_id for management frames (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fix null vif pointer when get management frame date rate (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Change Wi-Fi role info related logic to version separate (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Change RTL8852B use v1 TDMA policy (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Packet traffic arbitration hardware owner monitor (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: refactor debug log of slot list (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Change firmware steps report to version separate (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Change Wi-Fi Null data report to version separate (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Add version code for Wi-Fi firmware coexistence control (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Update WiFi role info H2C report (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: only read Bluetooth counter of report version 1 for RTL8852A (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Add v5 firmware control report (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Change firmware control report to version separate (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Add v4 version firmware cycle report (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Rename BTC firmware cycle report by feature version (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Remove le32 to CPU translator at firmware cycle report (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: Fix a typo in debug message (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out-of-bounds (Jose Ignacio Tornos Martinez) [2183487] - wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: fix regression for Broadcom PCIe wifi devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: avoid NULL-deref in survey dump for 2G only device (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: avoid handling disabled channels for survey dump (Jose Ignacio Tornos Martinez) [2183487] - net: rfkill: gpio: add DT support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix double space in comment (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: debugfs: fix to work with multiple PCI devices (Jose Ignacio Tornos Martinez) [2183487] - mac80211: Fix MLO address translation for multiple bss case (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: reset multiple BSSID options in stop_ap() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Fix iTXQ AMPDU fragmentation handling (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: sdata can be NULL during AMPDU start (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Proper mark iTXQs for resumption (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: Prefer DT board type over DMI board type (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: remove most hidden macro dependencies on ah (Jose Ignacio Tornos Martinez) [2183487] - wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave() (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid() (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit() (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Add rate control code for RTL8188EU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Support new chip RTL8188EU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Define masks for cck_agc_rpt bits (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Make rtl8xxxu_load_firmware take const char* (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Deduplicate the efuse dumping code (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: rfk: refine AGC tuning flow of DPK for irregular PA (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: refine 6 GHz scanning dwell time (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: update BSS color mapping register (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Change TDMA related logic to version separate (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: refactor _chk_btc_report() to extend more features (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Add v2 BT AFH report and related variable (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Update BTC firmware report bitmap definition (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: Enable Bluetooth report when show debug info (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: use new introduction BTC version format (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: add BTC format version derived from firmware version (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: select CONFIG_RELAY (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: Fix global-out-of-bounds bug in _rtl8812ae_phy_set_txpower_limit() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: rfk: recover RX DCK failure (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: rfk: correct DPK settings (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: rfk: correct DACK setting (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fw: adapt to new firmware format of security section (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: consider ER SU as a TX capability (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Fix assignment to bit field priv->cck_agc_report_type (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Fix assignment to bit field priv->pi_enabled (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: get rid of wed rx_buf_ring page_frag_cache (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: resource leaks at mt7921_check_offload_capability() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: dma: rely on queue page_frag_cache for wed rx queues (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: handle possible mt76_rx_token_consume failures (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: dma: do not increment queue head if mt76_dma_add_buf fails (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7615: enable per-phy led support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable per-phy led support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: move leds struct in mt76_phy (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: move leds field in leds struct (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix unintended sign extension of mt7915_hw_queue_read() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: fix unintended sign extension of mt7996_hw_queue_read() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: add support to update fw capability with MTFG table (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt76x0: fix oob access in mt76x0_phy_get_target_power (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: fix endianness warning in mt7996_mcu_sta_he_tlv (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: drop always true condition of __mt7996_reg_addr() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: drop always true condition of __mt7915_reg_addr() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: check the correctness of event data (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: check return value before accessing free_block_num (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: check return value before accessing free_block_num (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: split mcu chan_mib array up (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: fix integer handling issue of mt7996_rf_regval_set() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: fix insecure data handling of mt7996_mcu_rx_radar_detected() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: fix insecure data handling of mt7996_mcu_ie_countdown() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix mt7915_rate_txpower_get() resource leaks (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921s: fix slab-out-of-bounds access in sdio host (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add missing of_node_put() (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: fix monitor mode bringup crash (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Fix scan request param frame size warning (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: fixing IQK failures for rtl8192eu (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: btcoexist: fix conditions branches that are never executed (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: rtl8192se: remove redundant rtl_get_bbreg() call (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Add rtw8723du chipset support (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Add rtw8822cu chipset support (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Add rtw8822bu chipset support (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Add rtw8821cu chipset support (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Add common USB chip support (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: iterate over vif/sta list non-atomically (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Drop coex mutex (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Drop h2c.lock (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Drop rf_lock (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: Call rtw_fw_beacon_filter_config() with rtwdev->mutex held (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: print firmware type in info message (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add join info upon create interface (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fix unsuccessful interface_add flow (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: stop mac port function when stop_ap() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add mac TSF sync function (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Introduce rtl8xxxu_update_ra_report (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Fix the channel width reporting (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: add vendor name in revinfo debugfs file (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: add support Broadcom BCA firmware api (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: add support for Cypress firmware api (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: add support for vendor-specific firmware api (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: add firmware vendor info in driver info (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: add function to unbind device to bus layer api (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: add ipq5018 device support (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: add new hw ops for IPQ5018 to get rx dest ring hashmap (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: initialize hw_ops for IPQ5018 (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: update hal srng regs for IPQ5018 (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: remap ce register space for IPQ5018 (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: update ce configurations for IPQ5018 (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: update hw params for IPQ5018 (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: fw: use correct IML/ROM status register (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: dump: Update check for UMAC valid FW address (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: d3: add TKIP to the GTK iterator (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: clean up comments (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: Don't use deprecated register (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: pcie: Add reading and storing of crf and cdb id. (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: replace usage of found with dedicated list iterator variable (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: dump: Update check for valid FW address (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: don't access packet before checking len (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: modify new queue allocation command (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: nvm-parse: enable WiFi7 for Fm radio for now (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: add reset to rx_ring_setup callback (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Fix race condition with struct htt_ppdu_stats_info (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: fix QCOM_SMEM dependency (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921e: add pci .shutdown() support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: mmio: fix naming convention (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: add support to configure spatial reuse parameter set (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: enable ack signal support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: enable use_cts_prot support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: rely on band_idx of mt76_phy (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable per bandwidth power limit support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: introduce mt7915_get_power_bound() (Jose Ignacio Tornos Martinez) [2183487] - mt76: mt7915: Fix PCI device refcount leak in mt7915_pci_init_hif2() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: fix coverity overrun-call in mt76_get_txpower() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt76x0: remove dead code in mt76x0_phy_get_target_power (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix band_idx usage (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable .sta_set_txpwr support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add basedband Txpower info into debugfs (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add support to configure spatial reuse parameter set (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add missing MODULE_PARM_DESC (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable WED RX stats (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable WED RX support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: introduce mt76_connac_mcu_sta_wed_update utility routine (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add info parameter to rx_skb signature (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add WED RX support to dma queue alloc (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add WED RX support to mt76_dma_rx_fill (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: add WED RX support to mt76_dma_{add,get}_buf (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: introduce rxwi and rx token utility routines (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: introduce helper for mt7996 chipset (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: add more starec command tags (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: add more bss info command tags (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: introduce unified event table (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: add more unified command IDs (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: rework fields for larger bandwidth support in sta_rec_bf (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: update struct sta_rec_phy (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: rework macros for unified command (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: introduce chanctx support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: introduce remain_on_channel support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: accept hw scan request at a time (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: drop ieee80211_[start, stop]_queues in driver (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: add unified ROC cmd/event support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7921: add chanctx parameter to mt76_connac_mcu_uni_add_bss signature (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: add mt76_connac_mcu_uni_set_chctx (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: do not run mt76u_status_worker if the device is not running (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: update nss calculation in txs (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: don't claim 160MHz support with mt7915 DBDC (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: Fix VHT beamforming capabilities with DBDC (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: Fix chainmask calculation on mt7915 DBDC (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable coredump support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add full system reset into debugfs (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable full system reset support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: rework mt7915_dma_reset() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: move aggr_stats array in mt76_phy (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7615: rely on mt7615_phy in mt7615_mac_reset_counters (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix reporting of TX AGGR histogram (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7615: enable use_cts_prot support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable use_cts_prot support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: fix bandwidth 80MHz link fail in 6GHz band (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add ack signal support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: improve accuracy of time_busy calculation (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable wed for mt7986-wmac chipset (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: enable wed for mt7986 chipset (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: move wed init routines in mmio.c (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix mt7915_mac_set_timing() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: set correct antenna for radar detection on MT7915D (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: add spatial extension index support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: connac: introduce mt76_connac_spe_idx() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: rework testmode tx antenna setting (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: deal with special variant of mt7916 (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: rework eeprom tx paths and streams init (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: reserve 8 bits for the index of rf registers (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt7915: fix bounds checking for tx-free-done command (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: Remove unused inline function mt76_wcid_mask_test() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: mt76x02: simplify struct mt76x02_rate_power (Jose Ignacio Tornos Martinez) [2183487] - wifi: mt76: move mt76_rate_power from core to mt76x02 driver code (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix and simplify unencrypted drop check for mesh (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add support for restricting netdev features per vif (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: update TIM for S1G specification changes (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: don't parse multi-BSSID in assoc resp (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: use bss_from_pub() instead of container_of() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: remove unnecessary synchronize_net() (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Drop not needed check for NULL (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: fix comparison of BSS frequencies (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Correct example of ieee80211_iface_limit (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix memory leak in ieee80211_if_add() (Jose Ignacio Tornos Martinez) [2183487] - wifi: ieee80211: Do not open-code qos address offsets (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: link rtw89_vif and chanctx stuffs (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fw: implement MCC related H2C (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: mac: process MCC related C2H (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: introduce helpers to wait/complete on condition (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: check if atomic before queuing c2h (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: rfk: rename rtw89_mcc_info to rtw89_rfk_mcc_info (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: 8821c: enable BT device recovery mechanism (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: turn off PoP function in monitor mode (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add HE radiotap for monitor mode (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: enable mac80211 virtual monitor interface (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Check the count value of channel spec to prevent out-of-bounds reads (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: add reset to tx_ring_setup callback (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: add mtk_wed_rx_reset routine (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: update mtk_wed_stop (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: move MTK_WDMA_RESET_IDX_TX configuration in mtk_wdma_tx_reset (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: return status value in mtk_wdma_rx_reset (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: add wcid overwritten support for wed v1 (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: add configure wed wo support (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: rename tx_wdma array in rx_wdma (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: introduce wed wo support (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_wed: introduce wed mcu support (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_wed: add missing of_node_put() (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_wed: add missing put_device() in mtk_wed_add_hw() (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_wed: add axi bus support (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_wed: add wed support for mt7986 chipset (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_wed: add mtk_wed_configure_irq and mtk_wed_dma_{enable/disable} (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_soc: fix off by one check of ARRAY_SIZE (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_soc: add check for allocation failure (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_soc/wed: fix sparse endian warnings (Jose Ignacio Tornos Martinez) [2183487] - net: ethernet: mtk_eth_soc: fix return value check in mtk_wed_add_hw() (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: fix parameter passing to iwl_mei_alive_notif() (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: return error value in case PLDR sync failed (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: trigger PCI re-enumeration in case of PLDR sync (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: fix double free on tx path. (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: print OTP info after alive (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: nvm: Update EHT capabilities for GL device (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: nvm-parse: support A-MPDU in EHT 2.4 GHz (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: advertise 320 MHz in 6 GHz only conditionally (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: set HE PHY bandwidth according to band (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: support PPE Thresholds for EHT (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: add support for EHT 1K aggregation size (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: rs: add support for parsing max MCS per NSS/BW in 11be (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: support 320 MHz PHY configuration (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: Advertise EHT capabilities (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw88: fix race condition when doing H2C command (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Store WLAN firmware version in SMEM image table (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: avoid inaccessible IO operations during doing change_interface() (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: switch BANDEDGE and TX_SHAPE based on OFDMA trigger frame (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: read CFO from FD or preamble CFO field of phy status ie_type 1 accordingly (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: correct TX power controlled by BT-coexistence (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Use struct_size() in code ralated to struct brcmf_dload_data_le (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: replace one-element array with flexible-array member in struct brcmf_dload_data_le (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Use struct_size() and array_size() in code ralated to struct brcmf_gscan_config (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Replace one-element array with flexible-array member (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Remove redundant argument offset (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Fix return value in ath10k_pci_init() (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: host: pci_generic: Add definition for some VIDs (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: Fix some error handling path in rtw89_wow_enable() (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: Avoid clashing function prototypes (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Use u32_get_bits in *_identify_chip (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Use strscpy instead of sprintf (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Name some bits used in burst init (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Rename rtl8xxxu_8188f_channel_to_group (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Split up rtl8xxxu_identify_chip (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Move burst init to a function (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: wait for the mac to stop on suspend (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: iwlmei: report disconnection as temporary (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: use wait_event_timeout() return value (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: implement PLDR flow (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: Fix getting the lowest rate (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: support new key API (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: dbg: use bit of DRAM alloc ID to store failed allocs (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: print an error instead of a warning on invalid rate (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: cfg: disable STBC for BL step A devices (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: dbg: add support for DBGC4 on BZ family and above (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: use old checksum for Bz A-step (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: fix potential NULL-ptr deref after clone (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: avoid blocking sap messages handling due to rtnl lock (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: fix tx DHCP packet for devices with new Tx API (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: don't send SAP commands if AMT is disabled (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mei: make sure ownership confirmed message is sent (Jose Ignacio Tornos Martinez) [2183487] - wifi: iwlwifi: mvm: send TKIP connection status to csme (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Use IEEE80211_SEQ_TO_SN() for seq_ctrl conversion (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: Remove unused variable mismatch (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: change debug mask of message of no TX resource (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Trigger sta disconnect on hardware restart (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: update D-MAC and C-MAC dump to diagnose SER (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: dump dispatch status via debug port (Jose Ignacio Tornos Martinez) [2183487] - wifi: Use kstrtobool() instead of strtobool() (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Avoiding Connection delay (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Fix for when connect request is not success (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: correctly remove all p2p vif (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: host: pci_generic: Add HP variant of T99W175 (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: host: pci_generic: add support for sc8280xp-crd SDX55 variant (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Use dev_* instead of pr_info (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Set IEEE80211_HW_SUPPORT_FAST_XMIT (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Recognise all possible chip cuts (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Fix the CCK RSSI calculation (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Add central frequency offset tracking (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Fix potential NULL pointer dereference in 'brcmf_c_preinit_dcmds()' (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Fix a typo "unknow" (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtlwifi: rtl8192ee: remove static variable stop_report_cnt (Jose Ignacio Tornos Martinez) [2183487] - bcma: Use the proper gpio include (Jose Ignacio Tornos Martinez) [2183487] - mtd: rawnand: brcmnand: Add platform data structure for BCMA (Jose Ignacio Tornos Martinez) [2183487] - wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request() (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Make QMI message rules const (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Make QMI message rules const (Jose Ignacio Tornos Martinez) [2183487] - soc: qcom: qmi: use const for struct qmi_elem_info (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: synchronize ath11k_mac_he_gi_to_nl80211_he_gi()'s return type (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Fix qmi_msg_handler data structure initialization (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: remove variable sent (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: Fix spelling mistake KIP_RESOTRE -> KIP_RESTORE (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add WoWLAN pattern match support (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add WoWLAN function support (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add related H2C for WoWLAN mode (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add drop tx packet function (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add function to adjust and restore PLE quota (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: move enable_cpu/disable_cpu into fw_download (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: collect and send RF parameters to firmware for WoWLAN (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: check if sta's mac_id is valid under AP/TDLS (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add BW info for both TX and RX in phy_info (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: make table of RU mask constant (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: declare support bands with const (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fw: adapt to new firmware format of dynamic header (Jose Ignacio Tornos Martinez) [2183487] - net: Remove the obsolte u64_stats_fetch_*_irq() users (net). (Jose Ignacio Tornos Martinez) [2183487] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: host: pci_generic: Add a secondary AT port to Telit FN990 (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: host: Fix race between channel preparation and M0 event (Jose Ignacio Tornos Martinez) [2183487] - bus: mhi: host: Use mhi_soc_reset() API in place of register write (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: fix monitor vdev creation with firmware recovery (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Fix reads of uninitialized variables hw_ctrl_s1, sw_ctrl_s1 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add 8852be to Makefile and Kconfig (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: phy: add dummy C2H handler to avoid warning message (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops related to RF calibration (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: rfk: add DPK (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: rfk: add TSSI (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: rfk: add IQK (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: rfk: add RX DCK (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: rfk: add RCK (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: rfk: add DACK (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Delay the unmapping of the buffer (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Check return value of ath10k_get_arvif() in ath10k_wmi_event_tdls_peer() (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Fix firmware crash on vdev delete race condition (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Send PME message during wakeup from D3cold (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: add support to configure channel dwell time (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: suppress add interface error (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add basic attributes of chip_info (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add functions to control BB to assist RF calibrations (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops to configure TX/RX path (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops to query PPDU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops related to BT coexistence (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops to get thermal (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add basic baseband chip_ops (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add power on/off functions (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops::set_channel_help (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Update module description (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Fix reading the vendor of combo chips (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Make some arrays const (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: fix wrong bandwidth settings after scan (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: correct 6 GHz scan behavior (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops::set_channel (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: make generic functions to convert subband gain index (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add HFC quota arrays (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: set proper configuration before loading NCTL (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: parse PHY status only when PPDU is to_self (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: coex: move chip_ops::btc_bt_aci_imp to a generic code (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: verify the expected usb_endpoints are present (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb() (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: Remove -Warray-bounds exception (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs() (Jose Ignacio Tornos Martinez) [2183487] - wifi: realtek: remove duplicated wake_tx_queue (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath9k: Make arrays prof_prio and channelmap static const (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Fix spelling mistake "chnange" -> "change" (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Drop support for TX push path (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add wake_tx_queue callback to drivers (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add internal handler for wake_tx_queue (Jose Ignacio Tornos Martinez) [2183487] - cfg80211: Update Transition Disable policy during port authorization (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: minstrel_ht: remove unused has_mrr member from struct minstrel_priv (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: remove support for AddBA with fragmentation (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: agg-rx: avoid band check (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: prohibit IEEE80211_HT_CAP_DELAY_BA with MLO (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: don't clear DTIM period after setting it (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: change AddBA deny error message (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: mlme: mark assoc link in output (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add RCU _check() link access variants (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: fix AddBA response addressing (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: set internal scan request BSSID (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: advertise TWT requester only with HW support (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: use link_id in ieee80211_change_bss() (Jose Ignacio Tornos Martinez) [2183487] - wifi: nl80211: use link ID in NL80211_CMD_SET_BSS (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: transmit AddBA with MLD address (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: wme: use ap_addr instead of deflink BSSID (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Process association status for affiliated links (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: Parse station profile from association response (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211/mac80211: Fix ML element common size validation (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211/mac80211: Fix ML element common size calculation (Jose Ignacio Tornos Martinez) [2183487] - wifi: ieee80211: Support validating ML station profile length (Jose Ignacio Tornos Martinez) [2183487] - wifi: cfg80211: support reporting failed links (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: recalc station aggregate data during link switch (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: include link address in debugfs (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add API to show the link STAs in debugfs (Jose Ignacio Tornos Martinez) [2183487] - wifi: mac80211: add pointer from link STA to STA (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: add to dump TX FIFO 0/1 for 8852C (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: set pin MUX to enable BT firmware log (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: phy: ignore warning of bb gain cfg_type 4 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: update BB parameters to v28 (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: rfk: correct miscoding delay of DPK (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852c: correct set of IQK backup registers (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: Fix AP interface delete issue (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: support station interface creation version 1, 2 and 3 (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: add creating station interface support (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: dump dongle memory when attaching failed (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: return error when getting invalid max_flowrings from dongle (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: add a timer to read console periodically in PCIE bus (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: Fix authentication latency caused by OBSS stats survey (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: fix CERT-P2P:5.1.10 failure (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: fix firmware trap while dumping obss stats (Jose Ignacio Tornos Martinez) [2183487] - brcmfmac: Add dump_survey cfg80211 ops for HostApd AutoChannelSelection (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtl8xxxu: Support new chip RTL8188FU (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852be: add 8852BE PCI entry (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops to read phy cap (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops to read efuse (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add chip_ops::set_txpwr (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: debug: txpwr_table considers sign (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: phy: make generic txpwr setting functions (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add tables for RFK (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add BB and RF tables (2 of 2) (Jose Ignacio Tornos Martinez) [2183487] - wifi: rtw89: 8852b: add BB and RF tables (1 of 2) (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: Don't exit on wakeup failure (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath10k: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper (Jose Ignacio Tornos Martinez) [2183487] - wifi: ath11k: stop tx queues immediately upon firmware exit (Jose Ignacio Tornos Martinez) [2183487] - Revert "mac80211: set NETIF_F_LLTX when using intermediate tx queues" (Jose Ignacio Tornos Martinez) [2183487] - treewide: use get_random_u32() when possible (Jose Ignacio Tornos Martinez) [2183487] - treewide: use prandom_u32_max() when possible, part 1 (Jose Ignacio Tornos Martinez) [2183487] - hwrng: core - let sleep be interrupted when unregistering hwrng (Jose Ignacio Tornos Martinez) [2183487] - tracing/kprobes: Do the notrace functions check without kprobes on ftrace (Mukesh Chaurasiya) [2203370] - tracing/kprobes: Fix a double initialization typo (Mukesh Chaurasiya) [2203370] - tracing/kprobe: Check whether the non-suffixed symbol is notrace (Mukesh Chaurasiya) [2203370] - tracing/kprobes: Fix to check notrace function with correct range (Mukesh Chaurasiya) [2203370] - tracing/kprobes: Fix within_notrace_func() to check only notrace functions (Mukesh Chaurasiya) [2203370] - powerpc/kprobes: Fix kprobe Oops happens in booke (Mukesh Chaurasiya) [2203370] - xfs: verify buffer contents when we skip log replay (Andrey Albershteyn) [2187464] {CVE-2023-2124} - perf c2c: Add report option to show false sharing in adjacent cachelines (Michael Petlan) [2193188] - powerpc/papr_scm: Update the NUMA distance table for the target node (Mamatha Inamdar) [2183474] - i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer() (Tony Camuso) [2188406] {CVE-2023-2194} - prlimit: do_prlimit needs to have a speculation check (Alex Gladkov) [2196315] {CVE-2023-0458} - vmxnet3: use gro callback when UPT is enabled (Izabela Bakollari) [2183057] - r8152: Rate limit overflow messages (Jose Ignacio Tornos Martinez) [2153574] {CVE-2022-3594} - docs: Remove unnecessary unicode character (Patrick Talbert) [2207988] - PCI: vmd: Add quirk to configure PCIe ASPM and LTR (Myron Stowe) [2136922] - PCI: vmd: Create feature grouping for client products (Myron Stowe) [2136922] - PCI: vmd: Use PCI_VDEVICE in device list (Myron Stowe) [2136922] - PCI/ASPM: Add pci_enable_link_state() (Myron Stowe) [2136922] - PCI: vmd: Fix secondary bus reset for Intel bridges (Myron Stowe) [2136922] - PCI: vmd: Disable MSI remapping after suspend (Myron Stowe) [2136922] - PCI: vmd: Add DID 8086:7D0B and 8086:AD0B for Intel MTL SKUs (Myron Stowe) [2136922] - PCI: vmd: Use devm_kasprintf() instead of simple kasprintf() (Myron Stowe) [2136922]- [rt] build kernel-rt-4.18.0-494.rt7.283.el8 [2180997] - net/sched: sch_fq: fix integer overflow of "credit" (Davide Caratti) [2187718] - net: sched: gred: prevent races when adding offloads to stats (Davide Caratti) [2187718] - sch_htb: Avoid grafting on htb_destroy_class_offload when destroying htb (Davide Caratti) [2187718] - net/sched: act_mpls: Fix warning during failed attribute validation (Davide Caratti) [2187718] - net: sched: fix memory leak in tcindex_set_parms (Davide Caratti) [2187718] - net_sched: reject TCF_EM_SIMPLE case for complex ematch module (Davide Caratti) [2187718] - net: sched: Fix use after free in red_enqueue() (Davide Caratti) [2187718] - net: sched: fix race condition in qdisc_graft() (Davide Caratti) [2187718] - net: sched: sfb: fix null pointer access issue when sfb_init() fails (Davide Caratti) [2187718] - net/sched: cls_api: Fix flow action initialization (Davide Caratti) [2187718] - scsi: lpfc: Update inbox lpfc driver for RHEL 8.9 to 14.0.0.21. (Paul Ely) [2165048] - scsi: lpfc: Copyright updates for 14.2.0.11 patches (Paul Ely) [2165048] - scsi: lpfc: Copyright updates for 14.2.0.10 patches (Paul Ely) [2165048] - scsi: lpfc: Defer issuing new PLOGI if received RSCN before completing REG_LOGIN (Paul Ely) [2165048] - scsi: lpfc: Record LOGO state with discovery engine even if aborted (Paul Ely) [2165048] - scsi: lpfc: Fix lockdep warning for rx_monitor lock when unloading driver (Paul Ely) [2165048] - scsi: lpfc: Reorder freeing of various DMA buffers and their list removal (Paul Ely) [2165048] - scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow (Paul Ely) [2165048] - scsi: lpfc: Introduce new attention types for lpfc_sli4_async_fc_evt() handler (Paul Ely) [2165048] - scsi: lpfc: Fix use-after-free KFENCE violation during sysfs firmware write (Paul Ely) [2165048] - scsi: lpfc: Exit PRLI completion handling early if ndlp not in PRLI_ISSUE state (Paul Ely) [2165048] - scsi: lpfc: Remove duplicate ndlp kref decrement in lpfc_cleanup_rpis() (Paul Ely) [2165048] - scsi: lpfc: Remove redundant clean up code in disable_vport() (Paul Ely) [2165048] - scsi: lpfc: Fix crash involving race between FLOGI timeout and devloss handler (Paul Ely) [2165048] - net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg (Ricardo Robaina) [2192681] {CVE-2023-2248 CVE-2023-31436} - vfio/ccw: remove old IDA format restrictions (Tobias Huschle) [2187662] - vfio/ccw: handle a guest Format-1 IDAL (Tobias Huschle) [2187662] - vfio/ccw: allocate/populate the guest idal (Tobias Huschle) [2187662] - vfio/ccw: calculate number of IDAWs regardless of format (Tobias Huschle) [2187662] - vfio/ccw: read only one Format-1 IDAW (Tobias Huschle) [2187662] - vfio/ccw: refactor the idaw counter (Tobias Huschle) [2187662] - vfio/ccw: populate page_array struct inline (Tobias Huschle) [2187662] - vfio/ccw: record the page offset in struct pfn_array (Tobias Huschle) [2187662] - vfio/ccw: pass page count to page_array struct (Tobias Huschle) [2187662] - vfio/ccw: simplify CCW chain fetch routines (Tobias Huschle) [2187662] - vfio/ccw: move where IDA flag is set in ORB (Tobias Huschle) [2187662] - vfio/ccw: allow non-zero storage keys (Tobias Huschle) [2187662] - iavf: remove active_cvlans and active_svlans bitmaps (Stefan Assmann) [2153349] - iavf: refactor VLAN filter states (Stefan Assmann) [2153349] - iavf: do not track VLAN 0 filters (Stefan Assmann) [2153349] - iavf: fix non-tunneled IPv6 UDP packet type and hashing (Stefan Assmann) [2153349] - iavf: fix inverted Rx hash condition leading to disabled hash (Stefan Assmann) [2153349] - net/sched: move struct tc_mqprio_qopt_offload from pkt_cls.h to pkt_sched.h (Stefan Assmann) [2153349] - iavf/iavf_main: actually log ->src mask when talking about it (Stefan Assmann) [2153349] - iavf: Fix VF driver counting VLAN 0 filters (Stefan Assmann) [2153349] - iavf: Change information about device removal in dmesg (Stefan Assmann) [2153349] - iavf: Replace __FUNCTION__ with __func__ (Stefan Assmann) [2153349] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Stefan Assmann) [2153349] - ipv4: prevent potential spectre v1 gadget in fib_metrics_match() (Guillaume Nault) [2188040] - ipv4: prevent potential spectre v1 gadget in ip_metrics_convert() (Guillaume Nault) [2188040] - ipv4: Fix error return code in fib_table_insert() (Guillaume Nault) [2188040] - ipv4: drop dst in multicast routing path (Guillaume Nault) [2188040] - net: igmp: respect RCU rules in ip_mc_source() and ip_mc_msfilter() (Guillaume Nault) [2188040] - xfrm: Zero padding when dumping algos and encap (Sabrina Dubroca) [2189212] - xfrm: redact SA secret with lockdown confidentiality (Sabrina Dubroca) [2189212] - xfrm: fix bug with DSCP copy to v6 from v4 tunnel (Sabrina Dubroca) [2189212] - xfrm: enforce validity of offload input flags (Sabrina Dubroca) [2189212] - ice: Remove LAG+SRIOV mutual exclusion (Michal Schmidt) [2120585] - ext4: correct the misjudgment in ext4_iget_extra_inode (Carlos Maiolino) [2193101] - ext4: correct max_inline_xattr_value_size computing (Carlos Maiolino) [2193101] - ext4: fix use-after-free in ext4_xattr_set_entry (Carlos Maiolino) [2193103] {CVE-2023-2513} - ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h (Carlos Maiolino) [2193101] - ixgbevf: Fix resource leak in ixgbevf_init_module() (Ken Cox) [2153374] - ixgbevf: Add error messages on vlan error (Ken Cox) [2153374]- [rt] build kernel-rt-4.18.0-493.rt7.282.el8 [2180997] - Revert "drm/i915: Depend on !PREEMPT_RT." (John B. Wyatt IV) [2149799] - kunit: make kunit_test_timeout compatible with comment (Nico Pache) [2168375] - kunit: fix assert_type for comparison macros (Nico Pache) [2168375] - redhat: include new kunit tests in mod-internals (Nico Pache) [2168375] - kernel.h: split out mathematical helpers (Nico Pache) [2168375] - linux/kernel.h: fix overflow for DIV_ROUND_UP_ULL (Nico Pache) [2168375] - linux/kernel.h: Use parentheses around argument in u64_to_user_ptr() (Nico Pache) [2168375] - : drop the gcc-3.3 'const' hack in roundup() (Nico Pache) [2168375] - kernel.h: documentation for roundup() vs round_up() (Nico Pache) [2168375] - apparmor: test: Use NULL macros (Nico Pache) [2168375] - kasan: test: Use NULL macros (Nico Pache) [2168375] - kunit: use NULL macros (Nico Pache) [2168375] - kunit: Introduce _NULL and _NOT_NULL macros (Nico Pache) [2168375] - kunit: decrease macro layering for EQ/NE asserts (Nico Pache) [2168375] - kunit: decrease macro layering for integer asserts (Nico Pache) [2168375] - kunit: reduce layering in string assertion macros (Nico Pache) [2168375] - kunit: drop unused intermediate macros for ptr inequality checks (Nico Pache) [2168375] - kunit: make KUNIT_EXPECT_EQ() use KUNIT_EXPECT_EQ_MSG(), etc. (Nico Pache) [2168375] - Documentation: kunit: Remove redundant 'tips.rst' page (Nico Pache) [2168375] - Documentation: KUnit: reword description of assertions (Nico Pache) [2168375] - kunit: tool: Don't download risc-v opensbi firmware with wget (Nico Pache) [2168375] - drm/tests: Split up test cases in igt_check_drm_format_min_pitch (Nico Pache) [2168375] - kunit: executor: Fix a memory leak on failure in kunit_filter_tests (Nico Pache) [2168375] - Documentation: kunit: Cleanup run_wrapper, fix x-ref (Nico Pache) [2168375] - kunit: use kmemdup in kunit_filter_tests(), take suite as const (Nico Pache) [2168375] - kunit: fix executor OOM error handling logic on non-UML (Nico Pache) [2168375] - drm: selftest: convert drm_mm selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_buddy selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_framebuffer selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_dp_mst_helper selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_plane_helper selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_format selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_rect selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_cmdline_parser selftest to KUnit (Nico Pache) [2168375] - drm: selftest: convert drm_damage_helper selftest to KUnit (Nico Pache) [2168375] - drm/doc: Add KUnit documentation (Nico Pache) [2168375] - kunit: drop unused assert_type from kunit_assert and clean up macros (Nico Pache) [2168375] - kunit: split out part of kunit_assert into a static const (Nico Pache) [2168375] - kunit: factor out kunit_base_assert_format() call into kunit_fail() (Nico Pache) [2168375] - kunit: drop unused kunit* field in kunit_assert (Nico Pache) [2168375] - kunit: move check if assertion passed into the macros (Nico Pache) [2168375] - kunit: tool: misc cleanups (Nico Pache) [2168375] - kunit: tool: minor cosmetic cleanups in kunit_parser.py (Nico Pache) [2168375] - kunit: tool: make parser stop overwriting status of suites w/ no_tests (Nico Pache) [2168375] - kunit: tool: remove dead parse_crash_in_log() logic (Nico Pache) [2168375] - kunit: tool: print clearer error message when there's no TAP output (Nico Pache) [2168375] - kunit: tool: stop using a shell to run kernel under QEMU (Nico Pache) [2168375] - kunit: tool: update test counts summary line format (Nico Pache) [2168375] - kunit: bail out of test filtering logic quicker if OOM (Nico Pache) [2168375] - lib/Kconfig.debug: change KUnit tests to default to KUNIT_ALL_TESTS (Nico Pache) [2168375] - kunit: Rework kunit_resource allocation policy (Nico Pache) [2168375] - thunderbolt: Add KUnit test for devices with no DisplayPort adapters (Nico Pache) [2168375] - drm/todo: Add entry for converting kselftests to kunit (Nico Pache) [2168375] - drm/todo: Add entry for using kunit in the subsystem (Nico Pache) [2168375] - kunit: fix debugfs code to use enum kunit_status, not bool (Nico Pache) [2168375] - kunit: add ability to specify suite-level init and exit functions (Nico Pache) [2168375] - kunit: rename print_subtest_{start,end} for clarity (s/subtest/suite) (Nico Pache) [2168375] - kunit: add support for kunit_suites that reference init code (Nico Pache) [2168375] - Documentation: kunit: change complete_and_exit to kthread_complete_and_exit (Nico Pache) [2168375] - mm/slub, kunit: Make slub_kunit unaffected by user specified flags (Nico Pache) [2168375] - kunit: Make kunit_remove_resource() idempotent (Nico Pache) [2168375] - list: test: Test the hlist structure (Nico Pache) [2168375] - ASoC: soc-utils: Add kunit test for snd_soc_tdm_params_to_bclk() (Nico Pache) [2168375] - ASoC: soc-utils: Add helper to calculate BCLK from TDM info (Nico Pache) [2168375] - Documentation: kunit: update kconfig options needed for UML coverage (Nico Pache) [2168375] - kunit: split resource API impl from test.c into new resource.c (Nico Pache) [2168375] - kunit: split resource API from test.h into new resource.h (Nico Pache) [2168375] - kunit: tool: more descriptive metavars/--help output (Nico Pache) [2168375] - kunit: tool: Do not colorize output when redirected (Nico Pache) [2168375] - kunit: tool: properly report the used arch for --json, or '' if not known (Nico Pache) [2168375] - kunit: tool: refactor how we plumb metadata into JSON (Nico Pache) [2168375] - kunit: tool: drop mostly unused KunitResult.result field (Nico Pache) [2168375] - kunit: tool: readability tweaks in KernelCI json generation logic (Nico Pache) [2168375] - kunit: tool: simplify code since build_dir can't be None (Nico Pache) [2168375] - kunit: tool: drop last uses of collections.namedtuple (Nico Pache) [2168375] - kunit: tool: drop unused KernelDirectoryPath var (Nico Pache) [2168375] - kunit: tool: make --json handling a bit clearer (Nico Pache) [2168375] - Documentation: kunit: fix path to .kunitconfig in start.rst (Nico Pache) [2168375] - Documentation: kunit: Fix cross-referencing warnings (Nico Pache) [2168375] - binfmt_elf: Introduce KUnit test (Nico Pache) [2168375] - list: test: Add a test for list_entry_is_head() (Nico Pache) [2168375] - list: test: Add a test for list_is_head() (Nico Pache) [2168375] - list: test: Add test for list_del_init_careful() (Nico Pache) [2168375] - list: introduce list_is_head() helper and re-use it in list.h (Nico Pache) [2168375] - list: add "list_del_init_careful()" to go with "list_empty_careful()" (Nico Pache) [2168375] - kunit: add example test case showing off all the expect macros (Nico Pache) [2168375] - test_hash.c: refactor into kunit (Nico Pache) [2168375] - lib/Kconfig.debug: properly split hash test kernel entries (Nico Pache) [2168375] - test_hash.c: split test_hash_init (Nico Pache) [2168375] - test_hash.c: split test_int_hash into arch-specific functions (Nico Pache) [2168375] - hash.h: remove unused define directive (Nico Pache) [2168375] - iio: test: Add check against NULL for buffer in tests. (Nico Pache) [2168375] - net: kunit: add a test for dev_addr_lists (Nico Pache) [2168375] - kprobes: convert tests to kunit (Nico Pache) [2168375] - bitfield: build kunit tests without structleak plugin (Nico Pache) [2168375] - thunderbolt: build kunit tests without structleak plugin (Nico Pache) [2168375] - iio/test-format: build kunit tests without structleak plugin (Nico Pache) [2168375] - gcc-plugins/structleak: add makefile var for disabling structleak (Nico Pache) [2168375] - math: RATIONAL_KUNIT_TEST should depend on RATIONAL instead of selecting it (Nico Pache) [2168375] - math: make RATIONAL tristate (Nico Pache) [2168375] - rtc: move RTC_LIB_KUNIT_TEST to proper location (Nico Pache) [2168375] - rtc: Improve performance of rtc_time64_to_tm(). Add tests. (Nico Pache) [2168375] - lib/math/rational: add Kunit test cases (Nico Pache) [2168375] - time/kunit: Add missing MODULE_LICENSE() (Nico Pache) [2168375] - kasan: test: make use of kunit_skip() (Nico Pache) [2168375] - time: Improve performance of time64_to_tm() (Nico Pache) [2168375] - iio: Remove a cast in iio-test-format which is no longer required (Nico Pache) [2168375] - lib: kunit: suppress a compilation warning of frame size (Nico Pache) [2168375] - kasan: docs: update tests section (Nico Pache) [2168375] - iio: Add basic unit test for iio_format_value() (Nico Pache) [2168375] - Documentation: KUnit: Fix usage bug (Nico Pache) [2168375] - kunit: fix missing f in f-string in run_checks.py (Nico Pache) [2168375] - kunit: tool: Import missing importlib.abc (Nico Pache) [2168375] - kunit: replace kernel.h with the necessary inclusions (Nico Pache) [2168375] - Documentation: KUnit: Restyled Frequently Asked Questions (Nico Pache) [2168375] - Documentation: KUnit: Restyle Test Style and Nomenclature page (Nico Pache) [2168375] - Documentation: KUnit: Rework writing page to focus on writing tests (Nico Pache) [2168375] - Documentation: kunit: Reorganize documentation related to running tests (Nico Pache) [2168375] - Documentation: KUnit: Added KUnit Architecture (Nico Pache) [2168375] - Documentation: KUnit: Rewrite getting started (Nico Pache) [2168375] - Documentation: KUnit: Rewrite main page (Nico Pache) [2168375] - kunit: tool: Default --jobs to number of CPUs (Nico Pache) [2168375] - kunit: tool: fix newly introduced typechecker errors (Nico Pache) [2168375] - kunit: tool: make `build` subcommand also reconfigure if needed (Nico Pache) [2168375] - kunit: tool: delete kunit_parser.TestResult type (Nico Pache) [2168375] - kunit: tool: use dataclass instead of collections.namedtuple (Nico Pache) [2168375] - kunit: tool: suggest using decode_stacktrace.sh on kernel crash (Nico Pache) [2168375] - kunit: tool: reconfigure when the used kunitconfig changes (Nico Pache) [2168375] - kunit: tool: revamp message for invalid kunitconfig (Nico Pache) [2168375] - kunit: tool: add --kconfig_add to allow easily tweaking kunitconfigs (Nico Pache) [2168375] - kunit: tool: move Kconfig read_from_file/parse_from_string to package-level (Nico Pache) [2168375] - kunit: tool: print parsed test results fully incrementally (Nico Pache) [2168375] - kunit: Report test parameter results as (K)TAP subtests (Nico Pache) [2168375] - kunit: Don't crash if no parameters are generated (Nico Pache) [2168375] - kunit: tool: Report an error if any test has no subtests (Nico Pache) [2168375] - kunit: tool: Do not error on tests without test plans (Nico Pache) [2168375] - kunit: add run_checks.py script to validate kunit changes (Nico Pache) [2168375] - kunit: tool: fix --json output for skipped tests (Nico Pache) [2168375] - kunit: tool: fix typecheck errors about loading qemu configs (Nico Pache) [2168375] - kunit: tool: continue past invalid utf-8 output (Nico Pache) [2168375] - kunit: tool: improve compatibility of kunit_parser with KTAP specification (Nico Pache) [2168375] - kunit: tool: yield output from run_kernel in real time (Nico Pache) [2168375] - kunit: tool: support running each suite/test separately (Nico Pache) [2168375] - kunit: tool: actually track how long it took to run tests (Nico Pache) [2168375] - kunit: tool: factor exec + parse steps into a function (Nico Pache) [2168375] - kunit: add 'kunit.action' param to allow listing out tests (Nico Pache) [2168375] - kunit: tool: show list of valid --arch options when invalid (Nico Pache) [2168375] - kunit: tool: misc fixes (unused vars, imports, leaked files) (Nico Pache) [2168375] - kunit: fix too small allocation when using suite-only kunit.filter_glob (Nico Pache) [2168375] - kunit: tool: allow filtering test cases via glob (Nico Pache) [2168375] - kunit: tool: better handling of quasi-bool args (--json, --raw_output) (Nico Pache) [2168375] - kunit: tool: make --raw_output support only showing kunit output (Nico Pache) [2168375] - kunit: tool: add --kernel_args to allow setting module params (Nico Pache) [2168375] - kunit: tool: Assert the version requirement (Nico Pache) [2168375] - kunit: tool: remove unnecessary "annotations" import (Nico Pache) [2168375] - Documentation: kunit: drop obsolete note about uml_abort for coverage (Nico Pache) [2168375] - kunit: tool: Fix error messages for cases of no tests and wrong TAP header (Nico Pache) [2168375] - kunit: tool: Support skipped tests in kunit_tool (Nico Pache) [2168375] - kunit: tool: internal refactor of parser input handling (Nico Pache) [2168375] - kunit: Remove the unused all_tests.config (Nico Pache) [2168375] - kunit: Move default config from arch/um -> tools/testing/kunit (Nico Pache) [2168375] - kunit: arch/um/configs: Enable KUNIT_ALL_TESTS by default (Nico Pache) [2168375] - kunit: tool: add support for QEMU (Nico Pache) [2168375] - kunit: tool: make --kunitconfig accept dirs, add lib/kunit fragment (Nico Pache) [2168375] - kunit: tool: Disable PAGE_POISONING under --alltests (Nico Pache) [2168375] - kunit: tool: Fix a python tuple typing error (Nico Pache) [2168375] - iommu/amd: Indicate whether DMA remap support is enabled (Desnes Nunes) [2184064] - Revert "usb: typec: ucsi: add a common function ucsi_unregister_connectors()" (Desnes Nunes) [2184064] - usb: typec: ucsi: Only check the contract if there is a connection (Desnes Nunes) [2184064] - media: uvcvideo: Fix InterfaceProtocol for Quanta camera (Desnes Nunes) [2184064] - net: thunderbolt: fix memory leak in tbnet_open() (Desnes Nunes) [2184064] - USB: serial: option: add u-blox LARA-L6 modem (Desnes Nunes) [2184064] - USB: serial: option: add u-blox LARA-R6 00B modem (Desnes Nunes) [2184064] - USB: serial: option: remove old LARA-R6 PID (Desnes Nunes) [2184064] - net: thunderbolt: Fix error handling in tbnet_init() (Desnes Nunes) [2184064] - USB: serial: option: add Fibocom FM160 0x0111 composition (Desnes Nunes) [2184064] - USB: serial: option: add Fibocom MA510 modem (Desnes Nunes) [2184064] - USB: serial: option: add Fibocom L610 modem (Desnes Nunes) [2184064] - USB: serial: option: add device id for Foxconn T99W265 (Desnes Nunes) [2184064] - USB: serial: option: add Fibocom FM101-GL variants (Desnes Nunes) [2184064] - USB: serial: option: add Telit LE910S1 0x9200 composition (Desnes Nunes) [2184064] - usb: add NO_LPM quirk for Realforce 87U Keyboard (Desnes Nunes) [2184064] - usb: typec: tipd: Prevent uninitialized event{1,2} in IRQ handler (Desnes Nunes) [2184064] - usb: typec: mux: Enter safe mode only when pins need to be reconfigured (Desnes Nunes) [2184064] - USB: bcma: Make GPIO explicitly optional (Desnes Nunes) [2184064] - USB: serial: option: add Sierra Wireless EM9191 (Desnes Nunes) [2184064] - xhci: Remove device endpoints from bandwidth list when freeing the device (Desnes Nunes) [2184064] - xhci-pci: Set runtime PM as default policy on all xHC 1.2 or later devices (Desnes Nunes) [2184064] - xhci: Add quirk to reset host back to default state at shutdown (Desnes Nunes) [2184064] - usb: xhci: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 controller (Desnes Nunes) [2184064] - Revert "xhci: turn off port power in shutdown" (Desnes Nunes) [2184064] - xhci-pci: Allow host runtime PM as default for Intel Meteor Lake xHCI (Desnes Nunes) [2184064] - xhci-pci: Allow host runtime PM as default for Intel Raptor Lake xHCI (Desnes Nunes) [2184064] - xhci: turn off port power in shutdown (Desnes Nunes) [2184064] - xhci: Keep interrupt disabled in initialization until host is running. (Desnes Nunes) [2184064] - fbdev: sisfb: use explicitly signed char (Desnes Nunes) [2184064] - usb: typec: ucsi: acpi: Implement resume callback (Desnes Nunes) [2184064] - usb: typec: ucsi: Check the connection on resume (Desnes Nunes) [2184064] - usb: host: ehci-exynos: switch to using gpiod API (Desnes Nunes) [2184064] - usb: typec: ucsi_ccg: Disable UCSI ALT support on Tegra (Desnes Nunes) [2184064] - usb: typec: Replace custom implementation of device_match_fwnode() (Desnes Nunes) [2184064] - usb: typec: ucsi: Don't warn on probe deferral (Desnes Nunes) [2184064] - usb: typec: ucsi: Wait for the USB role switches (Desnes Nunes) [2184064] - usb: typec: ucsi: add a common function ucsi_unregister_connectors() (Desnes Nunes) [2184064] - usb: typec: ucsi: Better fix for missing unplug events issue (Desnes Nunes) [2184064] - usb: typec: ucsi: Read the PDOs in separate work (Desnes Nunes) [2184064] - usb: typec: ucsi: Check the partner alt modes always if there is PD contract (Desnes Nunes) [2184064] - usb: typec: ucsi: acpi: Reduce the command completion timeout (Desnes Nunes) [2184064] - usb: typec: ucsi: Add polling mechanism for partner tasks like alt mode checking (Desnes Nunes) [2184064] - usb: typec: ucsi: Don't stop alt mode registration on busy condition (Desnes Nunes) [2184064] - usb: typec: ucsi: Always cancel the command if PPM reports BUSY condition (Desnes Nunes) [2184064] - usb: add quirks for Lenovo OneLink+ Dock (Desnes Nunes) [2184064] - USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04) (Desnes Nunes) [2184064] - USB: NO_LPM quirk Lenovo Powered USB-C Travel Hub (Desnes Nunes) [2184064] - usb: idmouse: fix an uninit-value in idmouse_open (Desnes Nunes) [2184064] - usb: ulpi: use DEFINE_SHOW_ATTRIBUTE to simplify ulpi_regs (Desnes Nunes) [2184064] - usb: ulpi: Add debugfs support (Desnes Nunes) [2184064] - usb: typec: fusb302: Switch to use dev_err_probe() helper (Desnes Nunes) [2184064] - usb: typec: qcom-pmic-typec: Switch to use dev_err_probe() helper (Desnes Nunes) [2184064] - usb: typec: stusb160x: Switch to use dev_err_probe() helper (Desnes Nunes) [2184064] - USB: serial: qcserial: add new usb-id for Dell branded EM7455 (Desnes Nunes) [2184064] - thunderbolt: Explicitly enable lane adapter hotplug events at startup (Desnes Nunes) [2184064] - media: flexcop-usb: use usb_endpoint_maxp() (Desnes Nunes) [2184064] - media: flexcop-usb: clean up URB initialisation (Desnes Nunes) [2184064] - media: flexcop-usb: clean up endpoint sanity checks (Desnes Nunes) [2184064] - media: flexcop-usb: fix endpoint type check (Desnes Nunes) [2184064] - media: flexcop-usb: sanity checking of endpoint type (Desnes Nunes) [2184064] - media: dib0700: fix rc endpoint lookup (Desnes Nunes) [2184064] - media: flexcop-usb: fix endpoint sanity check (Desnes Nunes) [2184064] - media: b2c2-flexcop-usb: add sanity checking (Desnes Nunes) [2184064] - media: flexcop-usb: fix NULL-ptr deref in flexcop_usb_transfer_init() (Desnes Nunes) [2184064] - media: usb/dvb-usb-v2: fix repeated words in comments (Desnes Nunes) [2184064] - thunderbolt: Use dev_err_probe() (Desnes Nunes) [2184064] - thunderbolt: Convert to use sysfs_emit()/sysfs_emit_at() APIs (Desnes Nunes) [2184064] - Revert "usb: storage: Add quirk for Samsung Fit flash" (Desnes Nunes) [2184064] - USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM (Desnes Nunes) [2184064] - media: uvcvideo: move uvc_format_desc to common header (Desnes Nunes) [2184064] - media: uvcvideo: Add UVC_GUID_FORMAT_H265 (Desnes Nunes) [2184064] - media: v4l: move helper functions for fractions from uvc to v4l2-common (Desnes Nunes) [2184064] - xhci: remove unused lpm_failed_dev member from struct xhci_hcd (Desnes Nunes) [2184064] - xhci: remove unused command member from struct xhci_hcd struct (Desnes Nunes) [2184064] - xhci: show fault reason for a failed enable slot command (Desnes Nunes) [2184064] - xhci: Don't show warning for reinit on known broken suspend (Desnes Nunes) [2184064] - xhci: dbc: Fix memory leak in xhci_alloc_dbc() (Desnes Nunes) [2184064] - usb: host: xhci: Fix potential memory leak in xhci_alloc_stream_info() (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: clean up driver prefix (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: move driver structure (Desnes Nunes) [2184064] - USB: serial: make remove callback return void (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: clean up attribute visibility logic (Desnes Nunes) [2184064] - USB: serial: console: move mutex_unlock() before usb_serial_put() (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: convert to use dev_groups (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: add support for HP and HA devices (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: simplify divisor handling (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: assume hi-speed type (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: clean up baudrate request (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: clean up attribute handling (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: clean up modem-status handling (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: tighten device-type detection (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: rename channel index (Desnes Nunes) [2184064] - USB: serial: kl5kusb105: use usb_control_msg_recv() and usb_control_msg_send() (Desnes Nunes) [2184064] - USB: serial: keyspan_pda: use usb_control_msg_recv() (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: use usb_control_msg_recv() (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: include FT2232D in type string (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: rename chip types (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: drop redundant chip type comments (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: clean up chip type enum (Desnes Nunes) [2184064] - USB: serial: ftdi_sio: fix 300 bps rate for SIO (Desnes Nunes) [2184064] - usb: typec: intel_pmc_mux: Use the helper acpi_dev_get_memory_resources() (Desnes Nunes) [2184064] - usb: misc: usb3503: call clk_disable_unprepare in the error handling (Desnes Nunes) [2184064] - usb: misc: uss720: fix uninitialized variable rlen (Desnes Nunes) [2184064] - thunderbolt: debugfs: Fix spelling mistakes in seq_puts text (Desnes Nunes) [2184064] - thunderbolt: Add support for ASMedia NVM image format (Desnes Nunes) [2184064] - thunderbolt: Move vendor specific NVM handling into nvm.c (Desnes Nunes) [2184064] - thunderbolt: Provide tb_retimer_nvm_read() analogous to tb_switch_nvm_read() (Desnes Nunes) [2184064] - thunderbolt: Rename and make nvm_read() available for other files (Desnes Nunes) [2184064] - thunderbolt: Extend NVM version fields to 32-bits (Desnes Nunes) [2184064] - thunderbolt: Allow NVM upgrade of USB4 host routers (Desnes Nunes) [2184064] - scsi: uas: Drop DID_TARGET_FAILURE use (Desnes Nunes) [2184064] - usb: clean up after dropping driver registration log spam (Desnes Nunes) [2184064] - USB: host: ehci-atmel: Add support for HSIC phy (Desnes Nunes) [2184064] - dt-bindings: usb: atmel: add USB PHY type property (Desnes Nunes) [2184064] - USB: xhci: make xhci_get_endpoint_address static (Desnes Nunes) [2184064] - thunderbolt: Add support for receiver lane margining (Desnes Nunes) [2184064] - thunderbolt: Add helper to check if CL states are enabled on port (Desnes Nunes) [2184064] - thunderbolt: Pass CL state bitmask to tb_port_clx_supported() (Desnes Nunes) [2184064] - thunderbolt: Move port CL state functions into correct place in switch.c (Desnes Nunes) [2184064] - thunderbolt: Move tb_xdomain_parent() to tb.h (Desnes Nunes) [2184064] - USB: hcd-pci: Drop the unused id parameter from usb_hcd_pci_probe() (Desnes Nunes) [2184064] - USB: FHCI: Switch to GPIO descriptors (Desnes Nunes) [2184064] - net: thunderbolt: Update module description with mention of USB4 (Desnes Nunes) [2184064] - net: thunderbolt: Convert to use SPDX identifier (Desnes Nunes) [2184064] - net: thunderbolt: Enable full end-to-end flow control (Desnes Nunes) [2184064] - net: thunderbolt: Align the driver to the USB4 networking spec (Desnes Nunes) [2184064] - net: thunderbolt: Add comment clarifying prtcstns flags (Desnes Nunes) [2184064] - thunderbolt: Add back Intel Falcon Ridge end-to-end flow control workaround (Desnes Nunes) [2184064] - thunderbolt: Make iommu_dma_protection more accurate (Desnes Nunes) [2184064] - iommu: Add capability for pre-boot DMA protection (Desnes Nunes) [2184064] - iommu: Introduce device_iommu_capable() (Desnes Nunes) [2184064] - thunderbolt: Show link type for XDomain connections too (Desnes Nunes) [2184064] - thunderbolt: Add KUnit test for devices with no DisplayPort adapters (Desnes Nunes) [2184064] - thunderbolt: Add support for XDomain lane bonding (Desnes Nunes) [2184064] - thunderbolt: Split setting link width and lane bonding into own functions (Desnes Nunes) [2184064] - thunderbolt: Move tb_port_state() prototype to correct place (Desnes Nunes) [2184064] - thunderbolt: Fix typo in comment (Desnes Nunes) [2184064] - thunderbolt: Replace usage of found with dedicated list iterator variable (Desnes Nunes) [2184064] - net: thunderbolt: Enable DMA paths only after rings are enabled (Desnes Nunes) [2184064] - usb: reduce kernel log spam on driver registration (Desnes Nunes) [2184064] - usb: host: xhci-plat: suspend/resume clks for brcm (Desnes Nunes) [2184064] - usb: host: xhci-plat: suspend and resume clocks (Desnes Nunes) [2184064] - usb: host: Initiate urb ep with udev ep0 (Desnes Nunes) [2184064] - usb: ehci: Use endpoint in URB to get maxpacket (Desnes Nunes) [2184064] - dt-bindings: usb: Add missing (unevaluated|additional)Properties on child nodes (Desnes Nunes) [2184064] - dt-bindings: usb: Add DT bindings for STUSB160x Type-C controller (Desnes Nunes) [2184064] - media: uvcvideo: Limit power line control for Sonix Technology (Desnes Nunes) [2184064] - media: uvcvideo: Use entity get_cur in uvc_ctrl_set (Desnes Nunes) [2184064] - media: uvcvideo: Fix typo 'the the' in comment (Desnes Nunes) [2184064] - media: uvcvideo: Use indexed loops in uvc_ctrl_init_ctrl() (Desnes Nunes) [2184064] - media: uvcvideo: Fix invalid pointer in uvc_ctrl_init_ctrl() (Desnes Nunes) [2184064] - media: uvcvideo: Remove unneeded goto (Desnes Nunes) [2184064] - media: uvcvideo: Limit power line control for Acer EasyCamera (Desnes Nunes) [2184064] - media: uvcvideo: Limit power line control for Quanta cameras (Desnes Nunes) [2184064] - media: uvcvideo: Limit power line control for Chicony Easycamera (Desnes Nunes) [2184064] - media: uvcvideo: Limit power line control for Chicony Easycamera (Desnes Nunes) [2184064] - media: uvcvideo: Limit power line control for Quanta UVC Webcam (Desnes Nunes) [2184064] - media: uvcvideo: Add support for per-device control mapping overrides (Desnes Nunes) [2184064] - media: uvcvideo: Add missing value for power_line_frequency (Desnes Nunes) [2184064] - media: uvcvideo: Replace broken URL (Desnes Nunes) [2184064] - media: uvcvideo: Fix comment blocks style (Desnes Nunes) [2184064] - media: uvcvideo: refactor __uvc_ctrl_add_mapping (Desnes Nunes) [2184064] - media: technisat-usb2: Fix comment typo (Desnes Nunes) [2184064] - media: tm6000: Fix typo 'the the' in comment (Desnes Nunes) [2184064] - media: gspca: Fix typo 'the the' in comment (Desnes Nunes) [2184064] - thunderbolt: Add support for Intel Meteor Lake (Desnes Nunes) [2184064] - thunderbolt: Add comment where Thunderbolt 4 PCI IDs start (Desnes Nunes) [2184064] - usb/hcd: Fix dma_map_sg error check (Desnes Nunes) [2184064] - usb: move from strlcpy with unused retval to strscpy (Desnes Nunes) [2184064] - usb: typec: tcpci_rt1711h: Fix CC PHY noise filter of voltage level (Desnes Nunes) [2184064] - usb: typec: tcpci: Move function "tcpci_to_typec_cc" to common (Desnes Nunes) [2184064] - usb: typec: tcpci_rt1711h: Add compatible id with rt1715 (Desnes Nunes) [2184064] - usb: typec: tcpci_rt1711h: Add initial phy setting (Desnes Nunes) [2184064] - usb: typec: tcpci_rt1711h: Add regulator support when source vbus (Desnes Nunes) [2184064] - usb: typec: tcpci_rt1711h: Fix vendor setting when set vconn (Desnes Nunes) [2184064] - dt-bindings usb: typec: rt1711h: Add binding for Richtek RT1711H (Desnes Nunes) [2184064] - usb: common: debug: Check non-standard control requests (Desnes Nunes) [2184064] - usb: typec: ucsi: stm32g0: Fix spelling mistake "booloader" -> "bootloader" (Desnes Nunes) [2184064] - usb: common: usb-conn-gpio: Simplify some error message (Desnes Nunes) [2184064] - scsi: target: iscsi: Fix an error message in iscsi_check_key() (Maurizio Lombardi) [2186500] - scsi: target: core: Fix warning on RT kernels (Maurizio Lombardi) [2186500] - scsi: target: core: Remove unused variable 'unit_serial_len' (Maurizio Lombardi) [2186500] - scsi: target: Remove the unused function transport_lba_64_ext() (Maurizio Lombardi) [2186500] - fix iov_iter_bvec() "direction" argument (Maurizio Lombardi) [2186500] - scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus() (Maurizio Lombardi) [2186500] - scsi: target: core: New key must be used for moved PR (Maurizio Lombardi) [2186500] - scsi: target: core: UA on all LUNs after reset (Maurizio Lombardi) [2186500] - scsi: target: core: Abort all preempted regs if requested (Maurizio Lombardi) [2186500] - scsi: target: core: Fix memory leak in preempt_and_abort (Maurizio Lombardi) [2186500] - scsi: target: core: Fix preempt and abort for allreg res (Maurizio Lombardi) [2186500] - scsi: target: Remove unused se_tmr_req_cache declaration (Maurizio Lombardi) [2186500] - scsi: target: alua: Do not report emtpy port group (Maurizio Lombardi) [2186500] - scsi: target: core: Set MULTIP bit for se_device with multiple ports (Maurizio Lombardi) [2186500] - scsi: target: pscsi: Remove repeated word "calling" (Maurizio Lombardi) [2186500] - scsi: target: core: De-RCU of se_lun and se_lun acl (Maurizio Lombardi) [2186500] - scsi: target: core: Fix race during ACL removal (Maurizio Lombardi) [2186500] - scsi: target: Remove XDWRITEREAD emulated support (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Do not require target authentication (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Allow AuthMethod=None (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Support base64 in CHAP (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Add support for extended CDB AHS (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Fix clang -Wformat warnings (Maurizio Lombardi) [2186500] - scsi: target: Remove incorrect zero blocks WRITE_SAME check (Maurizio Lombardi) [2186500] - scsi: target: Remove duplicate "the" (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Fix NULL pointer dereference in iscsi_conn_auth_required() (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Control authentication per ACL (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Extract auth functions (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Add upcast helpers (Maurizio Lombardi) [2186500] - scsi: target: tcmu: Avoid holding XArray lock when calling lock_page (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Rename iscsi_session to iscsit_session (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Rename iscsi_conn to iscsit_conn (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Rename iscsi_cmd to iscsit_cmd (Maurizio Lombardi) [2186500] - scsi: target: tcmu: Fix possible data corruption (Maurizio Lombardi) [2186500] - scsi: target: core: Silence the message about unknown VPD pages (Maurizio Lombardi) [2186500] - target: remove an incorrect unmap zeroes data deduction (Maurizio Lombardi) [2186500] - scsi: target: Fix incorrect use of cpumask_t (Maurizio Lombardi) [2186500] - scsi: target: tcmu: Fix possible page UAF (Maurizio Lombardi) [2186500] - scsi: target: Add iscsi/cpus_allowed_list in configfs (Maurizio Lombardi) [2186500] - scsi: target: tcmu: Make cmd_ring_size changeable via configfs (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Make sure the np under each tpg is unique (Maurizio Lombardi) [2186500] - scsi: target: configfs: Delete unnecessary checks for NULL (Maurizio Lombardi) [2186500] - scsi: target: core: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp (Maurizio Lombardi) [2186500] - scsi: target: core: Remove from tmr_list during LUN unlink (Maurizio Lombardi) [2186500] - scsi: target: core: Stop using bdevname() (Maurizio Lombardi) [2186500] - scsi: target: Perform ALUA group changes in one step (Maurizio Lombardi) [2186500] - scsi: target: Replace lun_tg_pt_gp_lock with rcu in I/O path (Maurizio Lombardi) [2186500] - scsi: target: Fix alua_tg_pt_gps_count tracking (Maurizio Lombardi) [2186500] - scsi: target: Fix ordered tag handling (Maurizio Lombardi) [2186500] - scsi: target: Fix ordered CMD_T_SENT handling (Maurizio Lombardi) [2186500] - scsi: target: tcmu: Allocate zeroed pages for data area (Maurizio Lombardi) [2186500] - scsi: target: tcmu: Use struct_size() helper in kmalloc() (Maurizio Lombardi) [2186500] - scsi: target: sbp: Replace enable attr with ops.enable (Maurizio Lombardi) [2186500] - scsi: target: iscsi: Replace tpg enable attr with ops.enable (Maurizio Lombardi) [2186500] - scsi: target: core: Add common tpg/enable attribute (Maurizio Lombardi) [2186500] - scsi: target: core: Make logs less verbose (Maurizio Lombardi) [2186500] - scsi: target: Remove unused function arguments (Maurizio Lombardi) [2186500] - scsi: target: Fix spelling mistake "CONFLIFT" -> "CONFLICT" (Maurizio Lombardi) [2186500] - dm: don't lock fs when the map is NULL in process of resume (Benjamin Marzinski) [2192702] - dm flakey: add an "error_reads" option (Benjamin Marzinski) [2192702] - dm flakey: remove trailing space in the table line (Benjamin Marzinski) [2192702] - dm flakey: fix a crash with invalid table line (Benjamin Marzinski) [2192702] - dm ioctl: fix nested locking in table_clear() to remove deadlock concern (Benjamin Marzinski) [2192702] - dm: unexport dm_get_queue_limits() (Benjamin Marzinski) [2192702] - dm: add helper macro for simple DM target module init and exit (Benjamin Marzinski) [2192702] - dm raid: remove unused d variable (Benjamin Marzinski) [2192702] - dm mirror: add DMERR message if alloc_workqueue fails (Benjamin Marzinski) [2192702] - dm: push error reporting down to dm_register_target() (Benjamin Marzinski) [2192702] - dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path (Benjamin Marzinski) [2192702] - dm error: add discard support (Benjamin Marzinski) [2192702] - dm zero: add discard support (Benjamin Marzinski) [2192702] - dm table: allow targets without devices to set ->io_hints (Benjamin Marzinski) [2192702] - dm verity: fix error handling for check_at_most_once on FEC (Benjamin Marzinski) [2192702] - dm thin: speed up cell_defer_no_holder() (Benjamin Marzinski) [2192702] - dm bufio: don't bug for clear developer oversight (Benjamin Marzinski) [2192702] - dm bufio: never crash if dm_bufio_in_request() (Benjamin Marzinski) [2192702] - dm bufio: use WARN_ON in dm_bufio_client_destroy and dm_bufio_exit (Benjamin Marzinski) [2192702] - dm bufio: remove unused dm_bufio_release_move interface (Benjamin Marzinski) [2192702] - dm stats: check for and propagate alloc_percpu failure (Benjamin Marzinski) [2192702] - dm crypt: avoid accessing uninitialized tasklet (Benjamin Marzinski) [2192702] - dm crypt: add cond_resched() to dmcrypt_write() (Benjamin Marzinski) [2192702] - dm thin: fix deadlock when swapping to thin device (Benjamin Marzinski) [2192702] - units: add the HZ macros (Jocelyn Falempe) [2160451] - isystem: ship and use stdarg.h (Jocelyn Falempe) [2160451] - i915: Move list_count() to list.h as list_count_nodes() for broader use (Jocelyn Falempe) [2160451] - resource: Convert DEFINE_RES_NAMED() to be compound literal (Jocelyn Falempe) [2160451] - media: videobuf2: Assert held reservation lock for dma-buf mmapping (Jocelyn Falempe) [2160451] - media: videobuf2: Stop using internal dma-buf lock (Jocelyn Falempe) [2160451] - media: videobuf2: Prepare to dynamic dma-buf locking specification (Jocelyn Falempe) [2160451] - media: videobuf2-dma-contig.c: remove spurious 'b' in message (Jocelyn Falempe) [2160451] - dma-buf: Add unlocked variant of attachment-mapping functions (Jocelyn Falempe) [2160451] - dma-buf: Add unlocked variant of vmapping functions (Jocelyn Falempe) [2160451] - kbuild: simplify access to the kernel's version (Jocelyn Falempe) [2160451] - hwmon: (core) Add support for rated attributes (Jocelyn Falempe) [2160451] - ACPI: video: Allow GPU drivers to report no panels (Jocelyn Falempe) [2160451] - drm: Move nomodeset kernel parameter to drivers/video (Jocelyn Falempe) [2160451] - PM: core: Add EXPORT[_GPL]_SIMPLE_DEV_PM_OPS macros (Jocelyn Falempe) [2160451] - PM: runtime: Add DEFINE_RUNTIME_DEV_PM_OPS() macro (Jocelyn Falempe) [2160451] - ACPI: video: Make backlight class device registration a separate step (v2) (Jocelyn Falempe) [2160451] - ACPI: video: Add acpi_video_backlight_use_native() helper (Jocelyn Falempe) [2160451] - scsi: sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE usage (Jocelyn Falempe) [2160451] - iosys-map: Add IOSYS_MAP_INIT_VADDR_IOMEM() (Jocelyn Falempe) [2160451] - perf branch: Fix interpretation of branch records (Michael Petlan) [2086826] - perf/x86/amd/lbr: Adjust LBR regardless of filtering (Michael Petlan) [2086826] - perf/x86/utils: Fix uninitialized var in get_branch_type() (Michael Petlan) [2086826] - perf/x86/amd/lbr: Add LbrExtV2 branch speculation info support (Michael Petlan) [2086826] - perf/core: Add speculation info to branch entries (Michael Petlan) [2086826] - perf/x86/amd/lbr: Use fusion-aware branch classifier (Michael Petlan) [2086826] - perf/x86: Make branch classifier fusion-aware (Michael Petlan) [2086826] - perf/x86/amd/lbr: Add LbrExtV2 software branch filter support (Michael Petlan) [2086826] - perf/x86: Move branch classifier (Michael Petlan) [2086826] - perf: Add irq and exception return branch types (Michael Petlan) [2086826] - perf/x86/intel/ds: Check return values of insn decoder functions (Michael Petlan) [2086826] - perf/x86/amd/lbr: Add LbrExtV2 hardware branch filter support (Michael Petlan) [2086826] - perf/x86/amd/lbr: Add LbrExtV2 branch record support (Michael Petlan) [2086826] - perf/x86/amd/lbr: Detect LbrExtV2 support (Michael Petlan) [2086826] - x86/cpufeatures: Add LbrExtV2 feature bit (Michael Petlan) [2086826] - perf/x86/amd/core: Add generic branch record interfaces (Michael Petlan) [2086826] - perf/x86/amd/core: Refactor branch attributes (Michael Petlan) [2086826] - perf/x86/amd/brs: Move feature-specific functions (Michael Petlan) [2086826] - scsi: zfcp: Trace when request remove fails after qdio send fails (Tobias Huschle) [2159733] - scsi: zfcp: Change the type of all fsf request id fields and variables to u64 (Tobias Huschle) [2159733] - scsi: zfcp: Make the type for accessing request hashtable buckets size_t (Tobias Huschle) [2159733] - scsi: zfcp: Drop redundant "the" in the comments (Tobias Huschle) [2159733] - s390/qeth: Convert sprintf/snprintf to scnprintf (Tobias Huschle) [2159732] - s390/qeth: Convert sysfs sprintf to sysfs_emit (Tobias Huschle) [2159732] - s390/qeth: Use constant for IP address buffers (Tobias Huschle) [2159732] - s390/ctcm: cleanup indenting (Tobias Huschle) [2159732] - s390/ipl: add loadparm parameter to eckd ipl/reipl data (Tobias Huschle) [2159689] - s390/ipl: add DEFINE_GENERIC_LOADPARM() (Tobias Huschle) [2159689] - s390/ipl: use octal values instead of S_* macros (Tobias Huschle) [2159689] - s390/ipl: add eckd support (Tobias Huschle) [2159689] - net/iucv: Fix size of interrupt data (Tobias Huschle) [2192507] - workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutex (Waiman Long) [2176760] - workqueue: make sysfs of unbound kworker cpumask more clever (Waiman Long) [2176760] - workqueue: Rename "delayed" (delayed by active management) to "inactive" (Waiman Long) [2176760] - workqueue: Kick a worker based on the actual activation of delayed works (Waiman Long) [2176760] - workqueue: fix UAF in pwq_unbound_release_workfn() (Waiman Long) [2176760] - workqueue: fix a piece of comment about reserved bits for work flags (Waiman Long) [2176760] - workqueue: void unneeded requeuing the pwq in rescuer thread (Waiman Long) [2176760] - mm/memcg: Fix mem_cgroup_id_get_online() underflow problem (Waiman Long) [2176760] - net: fix NULL pointer in skb_segment_list (Paolo Abeni) [2188595] - net: stream: purge sk_error_queue in sk_stream_kill_queues() (Paolo Abeni) [2188595] - skbuff: Account for tail adjustment during pull operations (Paolo Abeni) [2188595] - net: vmxnet3: Fix NULL pointer dereference in vmxnet3_rq_rx_complete() (Seiji Nishikawa) [2186419] - tipc: add an extra conn_get in tipc_conn_alloc (Xin Long) [2177375] {CVE-2023-1382} - tipc: set con sock in tipc_conn_alloc (Xin Long) [2177375] {CVE-2023-1382} - net: sched: fix memory leak in tcindex_set_parms (Davide Caratti) [2181874] - net/sched: tcindex: search key must be 16 bits (Davide Caratti) [2181874] - net/sched: tcindex: update imperfect hash filters respecting rcu (Davide Caratti) [2181880] {CVE-2023-1281} - crypto: rng - Use a different crypto_rng for reseeding (Herbert Xu) [2193410] - media: rc: Fix use-after-free bugs caused by ene_tx_irqsim() (Ricardo Robaina) [2174410] {CVE-2023-1118}- [rt] build kernel-rt-4.18.0-492.rt7.281.el8 [2180997] - xfs: assert in xfs_btree_del_cursor should take into account error (Andrey Albershteyn) [2183168] - xfs: prevent a UAF when log IO errors race with unmount (Andrey Albershteyn) [2183168] - xfs: fix NULL pointer dereference in xfs_getbmap() (Andrey Albershteyn) [2183168] - xfs: avoid a UAF when log intent item recovery fails (Andrey Albershteyn) [2183168] - xfs: fix memory leak in xfs_errortag_init (Andrey Albershteyn) [2183168] - xfs: Fix unreferenced object reported by kmemleak in xfs_sysfs_init() (Andrey Albershteyn) [2183168] - xfs: fix sb write verify for lazysbcount (Andrey Albershteyn) [2183168] - xfs: invalidate block device page cache during unmount (Andrey Albershteyn) [2183168] - xfs: invalidate xfs_bufs when allocating cow extents (Andrey Albershteyn) [2183168] - xfs: dquot shrinker doesn't check for XFS_DQFLAG_FREEING (Andrey Albershteyn) [2183168] - xfs: fix intermittent hang during quotacheck (Andrey Albershteyn) [2183168] - xfs: fix exception caused by unexpected illegal bestcount in leaf dir (Andrey Albershteyn) [2183168] - xfs: fix super block buf log item UAF during force shutdown (Andrey Albershteyn) [2183168] - xfs: fix uninitialized variable access (Andrey Albershteyn) [2183168] - xfs: fix potential log item leak (Andrey Albershteyn) [2183168] - xfs: fix inode reservation space for removing transaction (Andrey Albershteyn) [2183168] - xfs: fix extent busy updating (Andrey Albershteyn) [2183168] - xfs: fix low space alloc deadlock (Andrey Albershteyn) [2183168] - xfs: purge dquots after inode walk fails during quotacheck (Andrey Albershteyn) [2183168] - xfs: get root inode correctly at bulkstat (Andrey Albershteyn) [2183168] - iomap: iomap: fix memory corruption when recording errors during writeback (Andrey Albershteyn) [2183168] - xfs: attach dquots to inode before reading data/cow fork mappings (Andrey Albershteyn) [2183168] - xfs: get rid of assert from xfs_btree_islastblock (Andrey Albershteyn) [2183168] - xfs: fix use-after-free in xattr node block inactivation (Andrey Albershteyn) [2183168] - xfs: pass the correct cursor to xfs_iomap_prealloc_size (Andrey Albershteyn) [2183168] - xfs: don't report reserved bnobt space as available (Andrey Albershteyn) [2183168] - xfs: fix overfilling of reserve pool (Andrey Albershteyn) [2183168] - xfs: always succeed at setting the reserve pool size (Andrey Albershteyn) [2183168] - xfs: remove infinite loop when reserving free block pool (Andrey Albershteyn) [2166567 2183168] - xfs: don't include bnobt blocks when reserving free block pool (Andrey Albershteyn) [2183168] - xfs: document the XFS_ALLOC_AGFL_RESERVE constant (Andrey Albershteyn) [2183168] - xfs: prevent UAF in xfs_log_item_in_current_chkpt (Andrey Albershteyn) [2183168] - xfs: fix incorrect i_nlink caused by inode racing (Andrey Albershteyn) [2183168] - xfs: fix incorrect error-out in xfs_remove (Andrey Albershteyn) [2183168] - KVM: s390: GISA: sort out physical vs virtual pointers usage (Cédric Le Goater) [2169294] - KVM: s390: disable migration mode when dirty tracking is disabled (Cédric Le Goater) [2169294] - KVM: s390: Unwind kvm_arch_init() piece-by-piece() if a step fails (Cédric Le Goater) [2169294] - iommu/s390: Make attach succeed even if the device is in error state (Cédric Le Goater) [2169294] - KVM: s390: pci: Fix allocation size of aift kzdev elements (Cédric Le Goater) [2169294] - iommu/s390: Fix incorrect aperture check (Cédric Le Goater) [2169294] - KVM: s390: VSIE: sort out virtual/physical address in pin_guest_page (Cédric Le Goater) [2169294] - KVM: s390: pv: sort out physical vs virtual pointers usage (Cédric Le Goater) [2169294] - KVM: s390: sida: sort out physical vs virtual pointers usage (Cédric Le Goater) [2169294] - KVM: s390: sort out physical vs virtual pointers usage (Cédric Le Goater) [2169294] - iommu/s390: Fail probe for non-PCI devices (Cédric Le Goater) [2169294] - PCI/AER: Remove redundant Device Control Error Reporting Enable (Myron Stowe) [2180894] - PCI/AER: Configure ECRC only if AER is native (Myron Stowe) [2180894] - PCI/AER: Iterate over error counters instead of error strings (Myron Stowe) [2180894] - PCI/AER: Enable error reporting when AER is native (Myron Stowe) [2180894] - PCI/AER: Configure ECRC for every device (Myron Stowe) [2180894] - PCI/AER: Clear MULTI_ERR_COR/UNCOR_RCV bits (Myron Stowe) [2180894] - PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functions (Myron Stowe) [2180894] - PCI/AER: Use consistent format when printing PCI device (Myron Stowe) [2180894] - PCI/sysfs: Rely on lengths from scnprintf(), dsm_label_utf16s_to_utf8s() (Myron Stowe) [2180894] - PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun (Myron Stowe) [2180894] - mlxsw: minimal: Fix deadlock in ports creation (Petr Oros) [2177956] - mlxsw: core: Fix use-after-free calling devl_unlock() in mlxsw_core_bus_device_unregister() (Petr Oros) [2177956] - net: devlink: convert reload command to take implicit devlink->lock (Petr Oros) [2177956] - mlxsw: convert driver to use unlocked devlink API during init/fini (Petr Oros) [2177956] - mlxsw: Narrow the critical section of devl_lock during ports creation/removal (Petr Oros) [2177956] - ice: sleep, don't busy-wait, in the SQ send retry loop (Michal Schmidt) [2184013] - ice: remove unused buffer copy code in ice_sq_send_cmd_retry() (Michal Schmidt) [2184013] - ice: sleep, don't busy-wait, for ICE_CTL_Q_SQ_CMD_TIMEOUT (Michal Schmidt) [2184013] - ice: remove ice_ctl_q_info::sq_cmd_timeout (Michal Schmidt) [2184013] - ice: increase the GNSS data polling interval to 20 ms (Michal Schmidt) [2184013] - ice: do not busy-wait to read GNSS data (Michal Schmidt) [2184013] - enic: Use irq_update_affinity_hint() (Michal Schmidt) [2101515] - ethernet:enic: Fix a use after free bug in enic_hard_start_xmit (Michal Schmidt) [2101515] - net: enic: Cure the enic api locking trainwreck (Michal Schmidt) [2101515] - enic: switch from 'pci_' to 'dma_' API (Michal Schmidt) [2101515] - enic: convert to new udp_tunnel_nic infra (Michal Schmidt) [2101515] - enic: let core reject the unsupported coalescing parameters (Michal Schmidt) [2101515] - scsi: mpt3sas: Fix an issue when driver is being removed (Tomas Henzl) [2166206] - scsi: mpt3sas: Remove HBA BIOS version in the kernel log (Tomas Henzl) [2166206] - scsi: mpt3sas: Don't print sense pool info twice (Tomas Henzl) [2166206] - scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add() (Tomas Henzl) [2166206] - scsi: mpt3sas: Fix a memory leak (Tomas Henzl) [2166206] - scsi: mpt3sas: Demote log level for trace buffer allocation to info (Tomas Henzl) [2166206] - scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add() (Tomas Henzl) [2166206] - scsi: mpt3sas: Remove usage of dma_get_required_mask() API (Tomas Henzl) [2166206] - scsi: mpt3sas: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Tomas Henzl) [2166206] - ipmi: msghandler: kABI implementation was wrong (Tony Camuso) [2182345] - hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition (Chris von Recklinghausen) [2184583] {CVE-2023-1855} - RDMA/irdma: Add ipv4 check to irdma_find_listener() (Kamal Heib) [2117129 2135976] - RDMA/irdma: Increase iWARP CM default rexmit count (Kamal Heib) [2117129 2135976] - RDMA/irdma: Fix memory leak of PBLE objects (Kamal Heib) [2117129 2135976] - RDMA/irdma: Do not generate SW completions for NOPs (Kamal Heib) [2117129 2135976] - RDMA/irdma: Remove a redundant irdma_arp_table() call (Kamal Heib) [2117129 2135976] - migrate: grab the compound head in migration_entry_wait_on_locked (Nico Pache) [2188249] - module: Don't wait for GOING modules (Mark Langsdorf) [1964563] - redhat/configs: Fix DEBUG_BLK_CGROUP and BFQ_CGROUP_DEBUG configs (Vladis Dronov) - x86/MCE/AMD: Clear DFR errors found in THR handler (Prarit Bhargava) [2190279] - Remove unused ZRTBZ variable (Lucas Zampieri)- [rt] build kernel-rt-4.18.0-491.rt7.280.el8 [2180997] - iommu/amd: Update amd_iommu_fault structure to include PCI seg ID (Jerry Snitselaar) [2117775] - iommu/amd: Update device_state structure to include PCI seg ID (Jerry Snitselaar) [2117775] - iommu/amd: Print PCI segment ID in error log messages (Jerry Snitselaar) [2117775] - iommu/amd: Add PCI segment support for ivrs_[ioapic/hpet/acpihid] commands (Jerry Snitselaar) [2117775] - iommu/amd: Specify PCI segment ID when getting pci device (Jerry Snitselaar) [2117775] - iommu/amd: Include PCI segment ID when initialize IOMMU (Jerry Snitselaar) [2117775] - iommu/amd: Introduce get_device_sbdf_id() helper function (Jerry Snitselaar) [2117775] - iommu/amd: Flush upto last_bdf only (Jerry Snitselaar) [2117775] - iommu/amd: Remove global amd_iommu_[dev_table/alias_table/last_bdf] (Jerry Snitselaar) [2117775] - iommu/amd: Update set_dev_entry_bit() and get_dev_entry_bit() (Jerry Snitselaar) [2117775] - iommu/amd: Update (un)init_device_table_dma() (Jerry Snitselaar) [2117775] - iommu/amd: Update set_dte_irq_entry (Jerry Snitselaar) [2117775] - iommu/amd: Update dump_dte_entry (Jerry Snitselaar) [2117775] - iommu/amd: Update iommu_ignore_device (Jerry Snitselaar) [2117775] - iommu/amd: Update set_dte_entry and clear_dte_entry (Jerry Snitselaar) [2117775] - iommu/amd: Convert to use per PCI segment rlookup_table (Jerry Snitselaar) [2117775] - iommu/amd: Update alloc_irq_table and alloc_irq_index (Jerry Snitselaar) [2117775] - iommu/amd: Update amd_irte_ops functions (Jerry Snitselaar) [2117775] - iommu/amd: Introduce struct amd_ir_data.iommu (Jerry Snitselaar) [2117775] - iommu/amd: Update irq_remapping_alloc to use IOMMU lookup helper function (Jerry Snitselaar) [2117775] - iommu/amd: Convert to use rlookup_amd_iommu helper function (Jerry Snitselaar) [2117775] - iommu/amd: Convert to use per PCI segment irq_lookup_table (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment rlookup table size (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment alias table size (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment device table size (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment last_bdf (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment unity map list (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment alias_table (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment old_dev_tbl_cpy (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment dev_data_list (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment irq_lookup_table (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment rlookup table (Jerry Snitselaar) [2117775] - iommu/amd: Introduce per PCI segment device table (Jerry Snitselaar) [2117775] - iommu/amd: Introduce pci segment structure (Jerry Snitselaar) [2117775] - iommu/amd: Update struct iommu_dev_data definition (Jerry Snitselaar) [2117775] - redhat: configs: Enable CONFIG_INTEL_IOMMU_PERF_EVENTS (Jerry Snitselaar) [2176995] - iommu/vt-d: Fix an IOMMU perfmon warning when CPU hotplug (Jerry Snitselaar) [2176995] - iommu/vt-d: Enable IOMMU perfmon support (Jerry Snitselaar) [2176995] - iommu/vt-d: Add IOMMU perfmon overflow handler support (Jerry Snitselaar) [2176995] - iommu/vt-d: Support cpumask for IOMMU perfmon (Jerry Snitselaar) [2176995] - iommu/vt-d: Add IOMMU perfmon support (Jerry Snitselaar) [2176995] - iommu/vt-d: Support Enhanced Command Interface (Jerry Snitselaar) [2176995] - iommu/vt-d: Retrieve IOMMU perfmon capability information (Jerry Snitselaar) [2176995] - iommu/vt-d: Fix error handling in sva enable/disable paths (Jerry Snitselaar) [2181397] - iommu/vt-d: Support size of the register set in DRHD (Jerry Snitselaar) [2181397] - iommu/vt-d: Allow zero SAGAW if second-stage not supported (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove include/linux/intel-svm.h (Jerry Snitselaar) [2181397] - iommu/vt-d: Allow to use flush-queue when first level is default (Jerry Snitselaar) [2181397] - iommu/vt-d: Fix PASID directory pointer coherency (Jerry Snitselaar) [2181397] - iommu/vt-d: Set No Execute Enable bit in PASID table entry (Jerry Snitselaar) [2181397] - iommu: Remove SVM_FLAG_SUPERVISOR_MODE support (Jerry Snitselaar) [2181397] - iommu/vt-d: Fix PCI device refcount leak in prq_event_thread() (Jerry Snitselaar) [2181397] - PCI: Enable PASID only when ACS RR & UF enabled on upstream path (Jerry Snitselaar) [2181397] - iommu/vt-d: Set SRE bit only when hardware has SRS cap (Jerry Snitselaar) [2181397] - iommu/vt-d: Preset Access bit for IOVA in FL non-leaf paging entries (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove pasid_set_eafe() (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove unnecessary SVA data accesses in page fault path (Jerry Snitselaar) [2181397] - iommu/vt-d: Add RPLS to quirk list to skip TE disabling (Jerry Snitselaar) [2181397] - iommu: Remove guest pasid related interfaces and definitions (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove guest pasid related callbacks (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove unused PASID_DISABLED (Jerry Snitselaar) [2181397] - iommu/vt-d: Clean up unused PASID updating functions (Jerry Snitselaar) [2181397] - iommu/vtd: Replace acpi_bus_get_device() (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove unused dma_to_mm_pfn function (Jerry Snitselaar) [2181397] - iommu/vt-d: Use bitmap_zalloc() when applicable (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove unused macros (Jerry Snitselaar) [2181397] - iommu/vt-d: Allow NVS regions in arch_rmrr_sanity_check() (Jerry Snitselaar) [2181397] - iommu/vt-d: Use rcu_lock in get_resv_regions (Jerry Snitselaar) [2181397] - iommu: Add gfp parameter to iommu_alloc_resv_region (Jerry Snitselaar) [2181397] - iommu/vt-d: Fix PCI device refcount leak in dmar_dev_scope_init() (Jerry Snitselaar) [2181397] - iommu/vt-d: Fix PCI device refcount leak in has_external_pci() (Jerry Snitselaar) [2181397] - iommu/vt-d: Remove iova_cache_get/put() (Jerry Snitselaar) [2181397] - iommu/vt-d: Add missing "__init" for rmrr_sanity_check() (Jerry Snitselaar) [2181397] - iommu/arm-smmu: Force identity domains for legacy binding (Jerry Snitselaar) [2181397] - iommu/arm-smmu-v3: Properly handle the return value of arm_smmu_cmdq_build_cmd() (Jerry Snitselaar) [2181397] - iommu/arm-smmu-v3: Stop pre-zeroing batch commands in arm_smmu_atc_inv_master() (Jerry Snitselaar) [2181397] - iommu/arm-smmu: Add clk_bulk_{prepare/unprepare} to system pm callbacks (Jerry Snitselaar) [2181397] - iommu: Make sysfs robust for non-API groups (Jerry Snitselaar) [2181397] - iommu: Use right way to retrieve iommu_ops (Jerry Snitselaar) [2181397] - iommu: Remove apply_resv_region (Jerry Snitselaar) [2181397] - iommu/dma: Explicitly sort PCI DMA windows (Jerry Snitselaar) [2181397] - iommu: Do not dereference fwnode in struct device (Jerry Snitselaar) [2181397] - iommu: Remove duplicate ida_free in iommu_group_alloc (Jerry Snitselaar) [2181397] - iommu: Directly use ida_alloc()/free() (Jerry Snitselaar) [2181397] - iommu/iova: change IOVA_MAG_SIZE to 127 to save memory (Jerry Snitselaar) [2181397] - iommu/iova: Fix alloc iova overflows issue (Jerry Snitselaar) [2181397] - iova: Remove iovad->rcaches check in iova_rcache_get() (Jerry Snitselaar) [2181397] - iova: Remove magazine BUG_ON() checks (Jerry Snitselaar) [2181397] - iova: Remove some magazine pointer NULL checks (Jerry Snitselaar) [2181397] - swiotlb: fix a braino in the alignment check fix (Jerry Snitselaar) [2181397] - swiotlb: fix slot alignment checks (Jerry Snitselaar) [2181397] - swiotlb: use wrap_area_index() instead of open-coding it (Jerry Snitselaar) [2181397] - swiotlb: fix the deadlock in swiotlb_do_find_slots (Jerry Snitselaar) [2181397] - swiotlb: mark swiotlb_memblock_alloc() as __init (Jerry Snitselaar) [2181397] - swiotlb: remove swiotlb_max_segment (Jerry Snitselaar) [2181397] - swiotlb: reduce the swiotlb buffer size on allocation failure (Jerry Snitselaar) [2181397] - swiotlb: replace kmap_atomic() with memcpy_{from,to}_page() (Jerry Snitselaar) [2181397] - swiotlb: don't panic! (Jerry Snitselaar) [2181397] - iommu/vt-d: Avoid superfluous IOTLB tracking in lazy mode (Jerry Snitselaar) [2175620] - iommu/amd: Add map/unmap_pages() iommu_domain_ops callback support (Jerry Snitselaar) [2181397] - iommu/amd/io-pgtable: Implement unmap_pages io_pgtable_ops callback (Jerry Snitselaar) [2181397] - iommu/amd/io-pgtable: Implement map_pages io_pgtable_ops callback (Jerry Snitselaar) [2181397] - iommu/vt-d: Avoid unnecessary global DMA cache invalidation (Jerry Snitselaar) [2176983] - iommu/vt-d: Avoid unnecessary global IRTE cache invalidation (Jerry Snitselaar) [2176983] - iommu/vt-d: Fix buggy QAT device mask (Jerry Snitselaar) [2169568] - iommu/vt-d: Add a fix for devices need extra dtlb flush (Jerry Snitselaar) [2169568] - xfs: fix off-by-one-block in xfs_discard_folio() (Carlos Maiolino) [2112147] - xfs: drop write error injection is unfixable, remove it (Carlos Maiolino) [2112147] - xfs: use iomap_valid method to detect stale cached iomaps (Carlos Maiolino) [2112147] - iomap: write iomap validity checks (Carlos Maiolino) [2112147] - xfs: xfs_bmap_punch_delalloc_range() should take a byte range (Carlos Maiolino) [2112147] - iomap: buffered write failure should not truncate the page cache (Carlos Maiolino) [2112147] - iomap: Export page_cache_seek_hole_data (Carlos Maiolino) [2112147] - xfs,iomap: move delalloc punching to iomap (Carlos Maiolino) [2112147] - xfs: use byte ranges for write cleanup ranges (Carlos Maiolino) [2112147] - xfs: punching delalloc extents on write failure is racy (Carlos Maiolino) [2112147] - xfs: write page faults in iomap are not buffered writes (Carlos Maiolino) [2112147] - iomap: iomap_read_inline_data cleanup (Carlos Maiolino) [2112147] - iomap: Fix inline extent handling in iomap_readpage (Carlos Maiolino) [2112147] - iomap: constify iomap_iter_srcmap (Carlos Maiolino) [2112147] - iomap: rework unshare flag (Carlos Maiolino) [2112147] - iomap: pass an iomap_iter to various buffered I/O helpers (Carlos Maiolino) [2112147] - iomap: remove iomap_apply (Carlos Maiolino) [2112147] - fsdax: Fix infinite loop in dax_iomap_rw() (Carlos Maiolino) [2112147] - fsdax: switch dax_iomap_rw to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch iomap_swapfile_activate to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch iomap_seek_data to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch iomap_seek_hole to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch iomap_bmap to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch iomap_fiemap to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch __iomap_dio_rw to use iomap_iter (Carlos Maiolino) [2112147] - iomap: support REQ_OP_ZONE_APPEND (Carlos Maiolino) [2112147] - iomap: add a filesystem hook for direct I/O bio submission (Carlos Maiolino) [2112147] - iomap: switch iomap_page_mkwrite to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch iomap_zero_range to use iomap_iter (Carlos Maiolino) [2112147] - iomap: Change calling convention for zeroing (Carlos Maiolino) [2112147] - iomap: switch iomap_file_unshare to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch iomap_file_buffered_write to use iomap_iter (Carlos Maiolino) [2112147] - iomap: switch readahead and readpage to use iomap_iter (Carlos Maiolino) [2112147] - iomap: add the new iomap_iter model (Carlos Maiolino) [2112147] - iomap: fix the iomap_readpage_actor return value for inline data (Carlos Maiolino) [2112147] - iomap: Support inline data with block size < page size (Carlos Maiolino) [2112147] - fs: mark the iomap argument to __block_write_begin_int const (Carlos Maiolino) [2112147] - fsdax: mark the iomap argument to dax_iomap_sector as const (Carlos Maiolino) [2112147] - iomap: mark the iomap argument to iomap_read_page_sync const (Carlos Maiolino) [2112147] - iomap: mark the iomap argument to iomap_read_inline_data const (Carlos Maiolino) [2112147] - iomap: mark the iomap argument to iomap_inline_data_valid const (Carlos Maiolino) [2112147] - iomap: mark the iomap argument to iomap_inline_data const (Carlos Maiolino) [2112147] - iomap: mark the iomap argument to iomap_sector const (Carlos Maiolino) [2112147] - ipv6: Fix an uninit variable access bug in __ip6_make_skb() (Hangbin Liu) [2185798] - ipv6: Fix tcp socket connection with DSCP. (Hangbin Liu) [2185798] - ipv6: Fix datagram socket connection with DSCP. (Hangbin Liu) [2185798] - ipv6: avoid use-after-free in ip6_fragment() (Hangbin Liu) [2185798] - ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to network (Hangbin Liu) [2185798] - ipv6: fix WARNING in ip6_route_net_exit_late() (Hangbin Liu) [2185798] - ipv6: ensure sane device mtu in tunnels (Hangbin Liu) [2185798] - KVM: arm64: PMU: Restore the guest's EL0 event counting after migration (Shaoqin Huang) [2175146] - KVM: arm64: Retry fault if vma_lookup() results become invalid (Shaoqin Huang) [2175146] - KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU (Shaoqin Huang) [2175146] - KVM: arm64: PMU: Fix GET_ONE_REG for vPMC regs to return the current value (Shaoqin Huang) [2175146] - KVM: arm64: timers: Convert per-vcpu virtual offset to a global value (Shaoqin Huang) [2175146] - KVM: arm64: Fix non-kerneldoc comments (Shaoqin Huang) [2175146] - arm64/sysreg: clean up some inconsistent indenting (Shaoqin Huang) [2175146] - KVM: arm64: timers: Don't BUG() on unhandled timer trap (Shaoqin Huang) [2175146] - KVM: arm64: Reduce overhead of trapped timer sysreg accesses (Shaoqin Huang) [2175146] - KVM: arm64: Don't arm a hrtimer for an already pending timer (Shaoqin Huang) [2175146] - KVM: arm64: Fix S1PTW handling on RO memslots (Shaoqin Huang) [2175146] - KVM: arm64: Fix typo in comment (Shaoqin Huang) [2175146] - KVM: arm64: Fix pvtime documentation (Shaoqin Huang) [2175146] - KVM: arm64: Fix PAR_TO_HPFAR() to work independently of PA_BITS. (Shaoqin Huang) [2175146] - KVM: arm64: nvhe: Fix build with profile optimization (Shaoqin Huang) [2175146] - fuse: wait for writepages in syncfs (Brian Foster) [2185834] - virtio_fs: Modify format for virtio_fs_direct_access (Brian Foster) [2185834] - virtiofs: delete unused parameter for virtio_fs_cleanup_vqs (Brian Foster) [2185834] - virtiofs: use strscpy for copying the queue name (Brian Foster) [2185834] - virtiofs: propagate sync() to file server (Brian Foster) [2185834] - fuse: add a flag FUSE_SETXATTR_ACL_KILL_SGID to kill SGID (Brian Foster) [2185834] - fuse: extend FUSE_SETXATTR request (Brian Foster) [2185834] - virtiofs: fix userns (Brian Foster) [2185834] - virtiofs: remove useless function (Brian Foster) [2185834] - virtiofs: split requests that exceed virtqueue size (Brian Foster) [2185834] - virtiofs: fix memory leak in virtio_fs_probe() (Brian Foster) [2185834] - virtio_fs: convert to LE accessors (Brian Foster) [2185834] - dmaengine: use sysfs_emit() to instead of scnprintf() (Jerry Snitselaar) [2181398] - dmaengine: Simplify dmaenginem_async_device_register() function (Jerry Snitselaar) [2181398] - dmaengine: idma64: Update bytes_transferred field (Jerry Snitselaar) [2181398] - dmaengine: dw: Move check for paused channel to dwc_get_residue() (Jerry Snitselaar) [2181398] - dmaengine: ptdma: check for null desc before calling pt_cmd_callback (Jerry Snitselaar) [2181398] - dmaengine: idxd: Fix default allowed read buffers value in group (Jerry Snitselaar) [2181398] - dmaengine: idxd: Set traffic class values in GRPCFG on DSA 2.0 (Jerry Snitselaar) [2181398] - ptdma: pt_core_execute_cmd() should use spinlock (Jerry Snitselaar) [2181398] - dmaengine: Fix double increment of client_count in dma_chan_get() (Jerry Snitselaar) [2181398] - dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup() (Jerry Snitselaar) [2153929] - cifs: set a minimum of 120s for next dns resolution (Ronnie Sahlberg) [2182867] - cifs: use the expiry output of dns_query to schedule next resolution (Ronnie Sahlberg) [2182867] - cifs: sanitize paths in cifs_update_super_prepath. (Ronnie Sahlberg) [2182472] - redhat/configs: Fix incorrect configs location and content (Vladis Dronov) - scsi: megaraid_sas: Fix double kfree() (Tomas Henzl) [2163670] - scsi: megaraid_sas: Fix fw_crash_buffer_show() (Tomas Henzl) [2163670] - scsi: megaraid_sas: Fix crash after a double completion (Tomas Henzl) [2163670] - scsi: megaraid_sas: Driver version update to 07.725.01.00-rc1 (Tomas Henzl) [2163670] - scsi: megaraid_sas: Add crash dump mode capability bit in MFI capabilities (Tomas Henzl) [2163670] - scsi: megaraid_sas: Update max supported LD IDs to 240 (Tomas Henzl) [2163670] - scsi: megaraid_sas: Add flexible array member for SGLs (Tomas Henzl) [2163670] - scsi: megaraid_sas: Fix some spelling mistakes in comment (Tomas Henzl) [2163670] - scsi: megaraid_sas: Remove unnecessary kfree() (Tomas Henzl) [2163670] - scsi: megaraid_sas: Use irq_set_affinity_and_hint() (Tomas Henzl) [2163670] - scsi: megaraid: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Tomas Henzl) [2163670] - scsi: ses: Handle enclosure with just a primary component gracefully (Tomas Henzl) [2188481] - ipvlan: hold lower dev to avoid possible use-after-free (Davide Caratti) [2188055] - net: macvlan: Use built-in RCU list checking (Davide Caratti) [2188055] - x86/split_lock: Enumerate architectural split lock disable bit (Prarit Bhargava) [2123535] - bpf: bpf_fib_lookup should not return neigh in NUD_FAILED state (Yauheni Kaliuta) [2175160] - hwmon: (coretemp) avoid RDMSR interrupts to isolated CPUs (Marcelo Tosatti) [2158707] - scsi: target: iscsi: Handle abort for WRITE_PENDING cmds (Maurizio Lombardi) [2156588] - scsi: target: iscsit: Fix TAS handling during conn cleanup (Maurizio Lombardi) [2156588] - [rt] build kernel-rt-4.18.0-490.rt7.279.el8 [2180997] - RDMA/cma: Distinguish between sockaddr_in and sockaddr_in6 by size (Kamal Heib) [2170083] - RDMA/umem: Remove unused 'work' member from struct ib_umem (Kamal Heib) [2170083] - RDMA/restrack: Correct spelling (Kamal Heib) [2170083] - scripts/spelling.txt: add "exsits" pattern and fix typo instances (Kamal Heib) [2170083] - RDMA/cma: Refactor the inbound/outbound path records process flow (Kamal Heib) [2170083] - RDMA/core: Refactor rdma_bind_addr (Kamal Heib) [2170083] - IB/IPoIB: Fix legacy IPoIB due to wrong number of queues (Kamal Heib) [2170076] - RDMA/core: Fix ib block iterator counter overflow (Kamal Heib) [2170076] - RDMA/srp: Move large values to a new enum for gcc13 (Kamal Heib) [2170076] - IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces (Kamal Heib) [2170076] - RDMA/cm: Make QP FLUSHABLE for supported device (Kamal Heib) [2170076] - RDMA: Extend RDMA kernel verbs ABI to support flush (Kamal Heib) [2170076] - RDMA: Extend RDMA user ABI to support flush (Kamal Heib) [2170076] - RDMA/cma: Change RoCE packet life time from 18 to 16 (Kamal Heib) [2170076] - RDMA/srp: Fix error return code in srp_parse_options() (Kamal Heib) [2170076] - RDMA: Extend RDMA kernel ABI to support atomic write (Kamal Heib) [2170076] - RDMA: Extend RDMA user ABI to support atomic write (Kamal Heib) [2170076] - RDMA/umem: remove FOLL_FORCE usage (Kamal Heib) [2170076] - RDMA/nldev: Fix failure to send large messages (Kamal Heib) [2170076] - RDMA/nldev: Add NULL check to silence false warnings (Kamal Heib) [2170076] - RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps() (Kamal Heib) [2170076] - IB/isert: use the ISCSI_LOGIN_CURRENT_STAGE macro (Kamal Heib) [2170076] - RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port (Kamal Heib) [2170076] - RDMA/core: Make sure "ib_port" is valid when access sysfs node (Kamal Heib) [2170076] - RDMA/restrack: Release MR restrack when delete (Kamal Heib) [2170076] - IB/mad: Don't call to function that might sleep while in atomic context (Kamal Heib) [2170076] - RDMA/core: Fix order of nldev_exit call (Kamal Heib) [2170076] - RDMA/core: fix repeated words in comments (Kamal Heib) [2170076] - IB/iser: open code iser_disconnected_handler (Kamal Heib) [2170076] - IB/iser: add safety checks for state_mutex lock (Kamal Heib) [2170076] - IB/iser: open code iser_conn_state_comp_exch (Kamal Heib) [2170076] - RDMA/opa_vnic: fix spelling typo in comment (Kamal Heib) [2170076] - RDMA/core: return -EOPNOSUPP for ODP unsupported device (Kamal Heib) [2170076] - IB/uverbs: fix the typo of optional (Kamal Heib) [2170076] - treewide: use get_random_u32() when possible (Kamal Heib) [2170070] - treewide: use prandom_u32_max() when possible, part 1 (Kamal Heib) [2170070] - RDMA/core: Clean up a variable name in ib_create_srq_user() (Kamal Heib) [2170070] - RDMA/srp: Support more than 255 rdma ports (Kamal Heib) [2170070] - RDMA/cm: Use DLID from inbound/outbound PathRecords as the datapath DLID (Kamal Heib) [2170070] - RDMA/cma: Multiple path records support with netlink channel (Kamal Heib) [2170070] - RDMA/core: Rename rdma_route.num_paths field to num_pri_alt_paths (Kamal Heib) [2170070] - RDMA/srpt: Use flex array destination for memcpy() (Kamal Heib) [2170070] - IB/cm: Refactor cm_insert_listen() and cm_find_listen() (Kamal Heib) [2170070] - IB/cm: remove cm_id_priv->id.service_mask and service_mask parameter of cm_init_listen() (Kamal Heib) [2170070] - IB/cm: Remove the service_mask parameter from ib_cm_listen() (Kamal Heib) [2170070] - RDMA/core: Remove 'device' argument from rdma_build_skb() (Kamal Heib) [2170070] - RDMA/srp: Use the attribute group mechanism for sysfs attributes (Kamal Heib) [2170070] - RDMA/srp: Handle dev_set_name() failure (Kamal Heib) [2170070] - RDMA/srp: Remove the srp_host.released completion (Kamal Heib) [2170070] - RDMA/srp: Rework the srp_add_port() error path (Kamal Heib) [2170070] - IB: move from strlcpy with unused retval to strscpy (Kamal Heib) [2170070] - treewide: uapi: Replace zero-length arrays with flexible-array members (Kamal Heib) [2170070] - RDMA/core: Delete IPsec flow action logic from the core (Kamal Heib) [2170070] - net: Don't include filter.h from net/sock.h (Kamal Heib) [2170070] - scsi: qla2xxx: Synchronize the IOCB count to be in order (Nilesh Javali) [2164947] - scsi: qla2xxx: Perform lockless command completion in abort path (Nilesh Javali) [2164947] - scsi: qla2xxx: Use the proper SCSI midlayer interfaces for PI (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove the unused variable wwn (Nilesh Javali) [2164947] - scsi: qla2xxx: Simplify if condition evaluation (Nilesh Javali) [2164947] - scsi: qla2xxx: Use a variable for repeated mem_size computation (Nilesh Javali) [2164947] - scsi: qla2xxx: Make qla_trim_buf() and __qla_adjust_buf() static (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix printk() format string (Nilesh Javali) [2164947] - scsi: qla2xxx: Update version to 10.02.08.200-k (Nilesh Javali) [2164947] - scsi: qla2xxx: Select qpair depending on which CPU post_cmd() gets called (Nilesh Javali) [2164947] - scsi: qla2xxx: edif: Fix clang warning (Nilesh Javali) [2164947] - scsi: qla2xxx: edif: Reduce memory usage during low I/O (Nilesh Javali) [2164947] - scsi: qla2xxx: edif: Fix stall session after app start (Nilesh Javali) [2164947] - scsi: qla2xxx: edif: Fix performance dip due to lock contention (Nilesh Javali) [2164947] - scsi: qla2xxx: Relocate/rename vp map (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove dead code (GNN ID) (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove dead code (GPNID) (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove dead code (Nilesh Javali) [2164947] - scsi: qla2xxx: Update version to 10.02.08.100-k (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix IOCB resource check warning (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove increment of interface err cnt (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix erroneous link down (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove unintended flag clearing (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix stalled login (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix exchange oversubscription for management commands (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix exchange oversubscription (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix link failure in NPIV environment (Nilesh Javali) [2164947] - scsi: qla2xxx: Check if port is online before sending ELS (Nilesh Javali) [2164947] - scsi: qla2xxx: Initialize vha->unknown_atio_[list, work] for NPIV hosts (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove duplicate of vha->iocb_work initialization (Nilesh Javali) [2164947] - scsi: qla2xxx: Remove unused variable 'found_devs' (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix set-but-not-used variable warnings (Nilesh Javali) [2164947] - scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts() (Nilesh Javali) [2164947] - ethtool: eeprom: fix null-deref on genl_info in dump (Davide Caratti) [2188002] - packet: do not set TP_STATUS_CSUM_VALID on CHECKSUM_COMPLETE (Davide Caratti) [2188002] - af_key: Fix send_acquire race with pfkey_register (Davide Caratti) [2188002] - net: llc: fix skb_over_panic (Davide Caratti) [2188002] - inet_ecn: Fix endianness of checksum update when setting ECT(1) (Davide Caratti) [2188002] - RDMA/irdma: Fix potential NULL-ptr-dereference (Kamal Heib) [2153377] - RDMA/irdma: Split CQ handler into irdma_reg_user_mr_type_cq (Kamal Heib) [2153377] - RDMA/irdma: Split QP handler into irdma_reg_user_mr_type_qp (Kamal Heib) [2153377] - RDMA/irdma: Split mr alloc and free into new functions (Kamal Heib) [2153377] - RDMA/irdma: Split MEM handler into irdma_reg_user_mr_type_mem (Kamal Heib) [2153377] - RDMA/irdma: Remove extra ret variable in favor of existing err (Kamal Heib) [2153377] - RDMA/irdma: Initialize net_type before checking it (Kamal Heib) [2153377] - RDMA/irdma: Do not request 2-level PBLEs for CQ alloc (Kamal Heib) [2153377] - RDMA/irdma: Fix RQ completion opcode (Kamal Heib) [2153377] - RDMA/irdma: Fix inline for multiple SGE's (Kamal Heib) [2153377] - bnxt_en: Fix mqprio and XDP ring checking logic (Ken Cox) [2159222] - bnxt: Do not read past the end of test names (Ken Cox) [2159222] - bnxt: report FEC block stats via standard interface (Ken Cox) [2159222] - bnxt_en: Remove debugfs when pci_register_driver failed (Ken Cox) [2159222] - bnxt_en: update RSS config using difference algorithm (Ken Cox) [2159222] - bnxt_en: refactor VNIC RSS update functions (Ken Cox) [2159222] - bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer (Ken Cox) [2159222] - bnxt_en: Fix possible crash in bnxt_hwrm_set_coal() (Ken Cox) [2159222] - bnxt_en: fix the handling of PCIE-AER (Ken Cox) [2159222] - bnxt_en: refactor bnxt_cancel_reservations() (Ken Cox) [2159222] - bnxt_en: check and resize NVRAM UPDATE entry before flashing (Ken Cox) [2159222] - bnxt_en: Update firmware interface to 1.10.2.118 (Ken Cox) [2159222] - bnxt_en: replace reset with config timestamps (Ken Cox) [2159222] - hugetlbfs: don't delete error page from pagecache (Aristeu Rozanski) [2188334] - mm: shmem: don't truncate page if memory failure happens (Aristeu Rozanski) [2188334] - mm: hwpoison: handle non-anonymous THP correctly (Aristeu Rozanski) [2188334] - mm: hwpoison: refactor refcount check handling (Aristeu Rozanski) [2188334] - scsi: qedf: Remove set but unused variable 'page' (Nilesh Javali) [2164955] - scsi: qedf: Fix a UAF bug in __qedf_probe() (Nilesh Javali) [2164955] - xfs: don't use BMBT btree split workers for IO completion (Carlos Maiolino) [2127493] - tools/power turbostat: Add support for MeteorLake platforms (Derek Barbosa) [2153966] - x86/bugs: Workaround for incorrectly set X86_BUG_RETBLEED under VMware (Waiman Long) [2184343]- [rt] build kernel-rt-4.18.0-489.rt7.278.el8 [2180997] - nvmet: fix workqueue MEM_RECLAIM flushing dependency (Maurizio Lombardi) [2187618] - nvmet: use a private workqueue instead of the system workqueue (Maurizio Lombardi) [2187618] - nvme: fix discard support without oncs (Maurizio Lombardi) [2187618] - nvme-pci: fix timeout request state check (Maurizio Lombardi) [2187618] - nvme: fix multipath crash caused by flush request when blktrace is enabled (Maurizio Lombardi) [2187618] - nvme: return err on nvme_init_non_mdts_limits fail (Maurizio Lombardi) [2187618] - nvme initialize core quirks before calling nvme_init_subsystem (Maurizio Lombardi) [2187618] - nvmet: fix memory leak in nvmet_subsys_attr_model_store_locked (Maurizio Lombardi) [2187618] - nvme: quiet user passthrough command errors (Maurizio Lombardi) [2187618] - nvme-tcp: fix possible circular locking when deleting a controller under memory pressure (Maurizio Lombardi) [2187618] - nvme-hwmon: kmalloc the NVME SMART log buffer (Maurizio Lombardi) [2187618] - nvme-hwmon: consistently ignore errors from nvme_hwmon_init (Maurizio Lombardi) [2187618] - nvme-pci: disable write zeroes on various Kingston SSD (Maurizio Lombardi) [2187618] - nvme-pci: avoid the deepest sleep state on ZHITAI TiPro5000 SSDs (Maurizio Lombardi) [2187618] - nvme-rdma: fix possible hang caused during ctrl deletion (Maurizio Lombardi) [2187618] - nvmet-tcp: add bounds check on Transfer Tag (Maurizio Lombardi) [2187618] - nvmet-tcp: handle ICReq PDU received in NVMET_TCP_Q_LIVE state (Maurizio Lombardi) [2187618] - nvme-pci: set min_align_mask before calculating max_hw_sectors (Maurizio Lombardi) [2187618] - nvme: enumerate controller flags (Maurizio Lombardi) [2187618] - nvme: ensure subsystem reset is single threaded (Maurizio Lombardi) [2187618] - nvme: copy firmware_rev on each init (Maurizio Lombardi) [2187618] - nvme: restrict management ioctls to admin (Maurizio Lombardi) [2187618] - nvme: consider also host_iface when checking ip options (Maurizio Lombardi) [2187618] - nvme: move from strlcpy with unused retval to strscpy (Maurizio Lombardi) [2187618] - nvme: add comment for unaligned "fake" nqn (Maurizio Lombardi) [2187618] - nvme-pci: disable Write Zeroes on Phison E3C/E4C (Maurizio Lombardi) [2187618] - nvmet: fix mar and mor off-by-one errors (Maurizio Lombardi) [2187618] - nvmet: fix a use-after-free (Maurizio Lombardi) [2187618] - nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change() (Maurizio Lombardi) [2187618] - nvme-fabrics: Fix a typo in an error message (Maurizio Lombardi) [2187618] - nvme-fabrics: parse nvme connect Linux error codes (Maurizio Lombardi) [2187618] - nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown (Maurizio Lombardi) [2187618] - nvme: rename nvme_validate_or_alloc_ns to nvme_scan_ns (Maurizio Lombardi) [2187618] - nvme: catch -ENODEV from nvme_revalidate_zones again (Maurizio Lombardi) [2187618] - nvme-pci: print the command name of aborted commands (Maurizio Lombardi) [2187618] - nvme: use command_id instead of req->tag in trace_nvme_complete_rq() (Maurizio Lombardi) [2187618] - nvme-pci: use nvme core helper to cancel requests in tagset (Maurizio Lombardi) [2187618] - nvme-tcp: use in-capsule data for I/O connect (Maurizio Lombardi) [2187618] - nvme-rdma: remove timeout for getting RDMA-CM established event (Maurizio Lombardi) [2187618] - nvmet: parse fabrics commands on io queues (Maurizio Lombardi) [2187618] - nvme-fabrics: decode 'authentication required' connect error (Maurizio Lombardi) [2187618] - nvme-loop: use nvme core helpers to cancel all requests in a tagset (Maurizio Lombardi) [2187618] - nvme: handle the persistent internal error AER (Maurizio Lombardi) [2187618] - nvme: remove a double word in a comment (Maurizio Lombardi) [2187618] - nvme: use struct group for generic command dwords (Maurizio Lombardi) [2187618] - nvme-pci: fix freeze accounting for error handling (Maurizio Lombardi) [2187618] - nvmet-tcp: fix regression in data_digest calculation (Maurizio Lombardi) [2187618] - nvme: add a bogus subsystem NQN quirk for Micron MTFDKBA2T0TFH (Maurizio Lombardi) [2187618] - nvme-pci: disable write zeros support on UMIC and Samsung SSDs (Maurizio Lombardi) [2187618] - nvme-pci: avoid the deepest sleep state on ZHITAI TiPro7000 SSDs (Maurizio Lombardi) [2187618] - nvme-pci: add trouble shooting steps for timeouts (Maurizio Lombardi) [2187618] - nvme: add device name to warning in uuid_show() (Maurizio Lombardi) [2187618] - nvmet: fix typo in comment (Maurizio Lombardi) [2187618] - nvme: set controller enable bit in a separate write (Maurizio Lombardi) [2187618] - nvme: set non-mdts limits in nvme_scan_work (Maurizio Lombardi) [2187618] - nvme-pci: harden drive presence detect in nvme_dev_disable() (Maurizio Lombardi) [2187618] - nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags (Maurizio Lombardi) [2187618] - nvme: mark internal passthru request RQF_QUIET (Maurizio Lombardi) [2187618] - nvme: remove unneeded include from constants file (Maurizio Lombardi) [2187618] - nvme: set dma alignment to dword (Maurizio Lombardi) [2187618] - nvme: fix interpretation of DMRSL (Maurizio Lombardi) [2187618] - ixgbe: add double of VLAN header when computing the max MTU (Ken Cox) [2153372] - ixgbe: allow to increase MTU to 3K with XDP enabled (Ken Cox) [2153372] - ixgbe: Filter out spurious link up indication (Ken Cox) [2153372] - ixgbe: XDP: fix checker warning from rcu pointer (Ken Cox) [2153372] - ixgbe: fix pci device refcount leak (Ken Cox) [2153372] - ixgbe: change MAX_RXD/MAX_TXD based on adapter type (Ken Cox) [2153372] - tracing: kprobes: Prohibit probing on notrace function (Mukesh Chaurasiya) [2183475] - powerpc/kprobes: Ignore traps that happened in real mode (Mukesh Chaurasiya) [2183475] - nvme-rdma: handle number of queue changes (Kamal Heib) [2160665] - nvme-rdma: remove timeout for getting RDMA-CM established event (Kamal Heib) [2160665] - nvmet-rdma: fix kernel-doc warning for nvmet_rdma_device_removal (Kamal Heib) [2160665] - net: mpls: fix stale pointer if allocation fails during device rename (Guillaume Nault) [2184957] {CVE-2023-26545} - block: don't set GD_NEED_PART_SCAN if scan partition failed (Ming Lei) [2151112] - block: fix wrong mode for blkdev_put() from disk_scan_partitions() (Ming Lei) [2151112] - block: fix scan partition for exclusively open device again (Ming Lei) [2151112] - mm: swap: get rid of livelock in swapin readahead (Aristeu Rozanski) [2035182 2182084] - redhat: require reasonably recent grub2 _only_ if grub2 is already installed (Denys Vlasenko) [2183531] - i40e: Fix kernel crash during reboot when adapter is in recovery mode (Stefan Assmann) [2153348] - i40e: add double of VLAN header when computing the max MTU (Stefan Assmann) [2153348] - i40e: Add checking for null for nlmsg_find_attr() (Stefan Assmann) [2153348] - net/i40e: Replace 0-length array with flexible array (Stefan Assmann) [2153348] - i40e: use ERR_PTR error print in i40e messages (Stefan Assmann) [2153348] - i40e: use int for i40e_status (Stefan Assmann) [2153348] - i40e: Remove string printing for i40e_status (Stefan Assmann) [2153348] - i40e: Remove unused i40e status codes (Stefan Assmann) [2153348] - net/sched: move struct tc_mqprio_qopt_offload from pkt_cls.h to pkt_sched.h (Stefan Assmann) [2153348] - i40e: Remove redundant pci_enable_pcie_error_reporting() (Stefan Assmann) [2153348] - virtchnl: i40e/iavf: rename iwarp to rdma (Stefan Assmann) [2153348] - treewide: Convert del_timer*() to timer_shutdown*() (Stefan Assmann) [2153348] - i40e: allow toggling loopback mode via ndo_set_features callback (Stefan Assmann) [2153348] - i40e: Disallow ip4 and ip6 l4_4_bytes (Stefan Assmann) [2153348] - i40e: Fix for VF MAC address 0 (Stefan Assmann) [2153348] - i40e: Fix not setting default xps_cpus after reset (Stefan Assmann) [2153348] - dm: fix __send_duplicate_bios() to always allow for splitting IO (Benjamin Marzinski) [2183559] - dm: fix improper splitting for abnormal bios (Benjamin Marzinski) [2183559] - dm: remove unnecessary (void*) conversion in event_callback() (Benjamin Marzinski) [2179207] - dm ioctl: remove unnecessary check when using dm_get_mdptr() (Benjamin Marzinski) [2179207] - dm ioctl: assert _hash_lock is held in __hash_remove (Benjamin Marzinski) [2179207] - dm cache: add cond_resched() to various workqueue loops (Benjamin Marzinski) [2179207] - dm thin: add cond_resched() to various workqueue loops (Benjamin Marzinski) [2179207] - dm: add cond_resched() to dm_wq_work() (Benjamin Marzinski) [2179207] - dm: update targets using system workqueues to use a local workqueue (Benjamin Marzinski) [2179207] - dm: remove flush_scheduled_work() during local_exit() (Benjamin Marzinski) [2179207] - dm: declare variables static when sensible (Benjamin Marzinski) [2179207] - dm ioctl: prefer strscpy() instead of strlcpy() (Benjamin Marzinski) [2179207] - dm: avoid 'do {} while(0)' loop in single statement macros (Benjamin Marzinski) [2179207] - dm: favour __packed versus "__attribute__ ((packed))" (Benjamin Marzinski) [2179207] - dm: favour __aligned(N) versus "__attribute__ (aligned(N))" (Benjamin Marzinski) [2179207] - dm: adjust EXPORT_SYMBOL() to follow functions immediately (Benjamin Marzinski) [2179207] - dm block-manager: avoid not required parentheses (Benjamin Marzinski) [2179207] - dm: send just one event on resize, not two (Benjamin Marzinski) [2179207] - dm table: check that a dm device doesn't reference itself (Benjamin Marzinski) [2179207] - dm raid: fix some spelling mistakes in comments (Benjamin Marzinski) [2179207] - dm verity: stop using WQ_UNBOUND for verify_wq (Benjamin Marzinski) [2179207] - dm integrity: Remove bi_sector that's only used by commented debug code (Benjamin Marzinski) [2179207] - dm crypt: Slightly simplify crypt_set_keyring_key() (Benjamin Marzinski) [2179207] - dm ioctl: drop always-false condition (Benjamin Marzinski) [2179207] - dm flakey: fix logic when corrupting a bio (Benjamin Marzinski) [2179207] - dm flakey: fix a bug with 32-bit highmem systems (Benjamin Marzinski) [2179207] - dm flakey: don't corrupt the zero page (Benjamin Marzinski) [2179207] - dm cache: Add some documentation to dm-cache-background-tracker.h (Benjamin Marzinski) [2179207] - dm cache: free background tracker's queued work in btracker_destroy (Benjamin Marzinski) [2179207] - dm ioctl: fix a couple ioctl codes (Benjamin Marzinski) [2179207] - dm ioctl: a small code cleanup in list_version_get_info (Benjamin Marzinski) [2179207] - sfc: include vport_id in filter spec hash and equal() (Íñigo Huguet) [2159251] - ptp: convert remaining drivers to adjfine interface (Íñigo Huguet) [2159251] - sfc: Use kmap_local_page() instead of kmap_atomic() (Íñigo Huguet) [2159251] - sfc: use sysfs_emit() to instead of scnprintf() (Íñigo Huguet) [2159251] - selftests: forwarding: add tunnel_key "nofrag" test case (Davide Caratti) [2103797] - selftests: tc-testing: add tunnel_key "nofrag" test case (Davide Caratti) [2103797] - selftests: tc-testing: add "depends_on" property to skip tests (Davide Caratti) [2103797] - net/sched: act_tunnel_key: add support for "don't fragment" (Davide Caratti) [2103797] - e1000e: Fix TX dispatch condition (Ken Cox) [2153313] - e1000e: Separate MTP board type from ADP (Ken Cox) [2153313] - drivers/net/ethernet/e1000e: check return value of e1e_rphy() (Ken Cox) [2153313] - ipvs: add sysctl_run_estimation to support disable estimation (Hangbin Liu) [2182003] - scsi: ses: Don't attach if enclosure has no components (Tomas Henzl) [1975026] - scsi: ses: Fix slab-out-of-bounds in ses_intf_remove() (Tomas Henzl) [1975026] - scsi: ses: Fix possible desc_ptr out-of-bounds accesses (Tomas Henzl) [1975026] - scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses (Tomas Henzl) [1975026] - scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process() (Tomas Henzl) [1975026] - vmxnet3: move rss code block under eop descriptor (Izabela Bakollari) [2172579]- [rt] build kernel-rt-4.18.0-488.rt7.277.el8 [2180997] - crypto: qat - add support for 402xx devices (Vladis Dronov) [2144529] - crypto: qat - drop log level of msg in get_instance_node() (Vladis Dronov) [2144529] - crypto: qat - fix out-of-bounds read (Vladis Dronov) [2144529] - Documentation: qat: change kernel version (Vladis Dronov) [2144529] - crypto: qat - add qat_zlib_deflate (Vladis Dronov) [2144529] - crypto: qat - extend buffer list logic interface (Vladis Dronov) [2144529] - crypto: qat - fix spelling mistakes from 'bufer' to 'buffer' (Vladis Dronov) [2144529] - crypto: qat - add resubmit logic for decompression (Vladis Dronov) [2144529] - crypto: acomp - define max size for destination (Vladis Dronov) [2144529] - crypto: qat - enable deflate for QAT GEN4 (Vladis Dronov) [2144529] - crypto: qat - expose deflate through acomp api for QAT GEN2 (Vladis Dronov) [2144529] - crypto: qat - rename and relocate GEN2 config function (Vladis Dronov) [2144529] - crypto: qat - relocate qat_algs_alloc_flags() (Vladis Dronov) [2144529] - crypto: qat - relocate backlog related structures (Vladis Dronov) [2144529] - crypto: qat - extend buffer list interface (Vladis Dronov) [2144529] - crypto: qat - generalize crypto request buffers (Vladis Dronov) [2144529] - crypto: qat - change bufferlist logic interface (Vladis Dronov) [2144529] - crypto: qat - rename bufferlist functions (Vladis Dronov) [2144529] - crypto: qat - relocate bufferlist logic (Vladis Dronov) [2144529] - crypto: qat - Use helper to set reqsize (Vladis Dronov) [2144529] - crypto: kpp - Add helper to set reqsize (Vladis Dronov) [2144529] - crypto: qat - fix error return code in adf_probe (Vladis Dronov) [2144529] - crypto: qat - remove ADF_STATUS_PF_RUNNING flag from probe (Vladis Dronov) [2144529] - selftests: net: rps_default_mask.sh: delete veth link specifically (Hangbin Liu) [2185801] - selftests: net: devlink_port_split.py: skip test if no suitable device available (Hangbin Liu) [2185801] - selftests: mirror_gre_bridge_1q: Avoid changing PVID while interface is operational (Hangbin Liu) [2185801] - selftests/tls: Add {} to avoid static checker warning (Hangbin Liu) [2185801] - selftests: nft_nat: ensuring the listening side is up before starting the client (Hangbin Liu) [2185801] - selftest: fib_tests: Always cleanup before exit (Hangbin Liu) [2185801] - selftests/net: Interpret UDP_GRO cmsg data as an int value (Hangbin Liu) [2185801] - selftests: forwarding: lib: quote the sysctl values (Hangbin Liu) [2185801] - selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking (Hangbin Liu) [2185801] - selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs (Hangbin Liu) [2185801] - selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided (Hangbin Liu) [2185801] - selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning (Hangbin Liu) [2185801] - selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload (Hangbin Liu) [2185801] - selftests: forwarding: Fix failing tests with old libnet (Hangbin Liu) [2185801] - powerpc/pseries/mobility: set NMI watchdog factor during an LPM (Mamatha Inamdar) [2186026] - powerpc/watchdog: introduce a NMI watchdog's factor (Mamatha Inamdar) [2186026] - watchdog: export lockup_detector_reconfigure (Mamatha Inamdar) [2186026] - powerpc/mobility: wait for memory transfer to complete (Mamatha Inamdar) [2186026] - crypto: drbg - Only fail when jent is unavailable in FIPS mode (Vladis Dronov) [2175712] - crypto: jitter - permanent and intermittent health errors (Vladis Dronov) [2175712] - crypto: jitter - quit sample collection loop upon RCT failure (Vladis Dronov) [2175712] - crypto: jitter - don't limit ->health_failure check to FIPS mode (Vladis Dronov) [2175712] - crypto: jitter - drop kernel-doc notation (Vladis Dronov) [2175712] - selftests/livepatch: normalize sysctl error message (Julia Denham) [RHEL-256] - livepatch: Skip livepatch tests if ftrace cannot be configured (Julia Denham) [RHEL-256] - livepatch: Add a missing newline character in klp_module_coming() (Julia Denham) [RHEL-256] - livepatch: fix race between fork and KLP transition (Julia Denham) [RHEL-256] - scsi: bnx2i: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Nilesh Javali) [2164956] - x86/xen: Split HVM vector callback setup and interrupt gate allocation (Prarit Bhargava) [2187810] - s390/uaccess: add missing earlyclobber annotations to __clear_user() (Tobias Huschle) [2183078] - s390/qeth: fix use-after-free in hsci (Tobias Huschle) [2183992] - SUNRPC: Fix a server shutdown leak (Benjamin Coddington) [2166107] - powerpc/pseries/vas: Ignore VAS update for DLPAR if copy/paste is not enabled (Mamatha Inamdar) [2184979] - cnic: don't pass bogus GFP_ flags to dma_alloc_coherent (Nilesh Javali) [2164958] - cnic: Use the bitmap API to allocate bitmaps (Nilesh Javali) [2164958]- [rt] build kernel-rt-4.18.0-487.rt7.276.el8 [2180997] - kernel/fork: Restore vfree_atomic in free_thread_stack() (Crystal Wood) [2159514] - perf vendor events intel: Add uncore event list for Sapphirerapids (Michael Petlan) [2180657] - perf vendor events intel: Add metrics for Sapphirerapids (Michael Petlan) [2180657] - perf vendor events intel: Update core event list for Sapphirerapids (Michael Petlan) [2180657] - perf vendor events intel: Add sapphirerapids events (Michael Petlan) [2180657] - perf vendor events intel: Update metrics for Alderlake (Michael Petlan) [2180656] - perf vendor events: Fix Alderlake metric groups (Michael Petlan) [2180656] - perf vendor events intel: Add metrics for Alderlake (Michael Petlan) [2180656] - perf/x86/rapl: Add support for Intel Raptor Lake (Michael Petlan) [2180654] - perf/x86/intel: Add Cooper Lake stepping to isolation_ucodes[] (Michael Petlan) [2153896] - perf/x86/intel/cstate: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/intel: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/intel/uncore: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/msr: Add Emerald Rapids (Michael Petlan) [2156802] - perf/x86/msr: Add Sapphire Rapids CPU support (Michael Petlan) [2156802] - perf/x86/intel/uncore: Add Meteor Lake support (Michael Petlan) [2177039] - perf/x86/msr: Add Meteor Lake support (Michael Petlan) [2153962] - perf/x86/cstate: Add Meteor Lake support (Michael Petlan) [2153962] - perf/x86/intel: Support Architectural PerfMon Extension leaf (Michael Petlan) [2153962] - x86/cpufeatures: Add Architectural PerfMon Extension bit (Michael Petlan) [2153962] - perf/x86: Support Retire Latency (Michael Petlan) [2153962] - perf/x86: Add Meteor Lake support (Michael Petlan) [2153962] - perf: Add PMU_FORMAT_ATTR_SHOW (Michael Petlan) [2153962] - mm/hugetlb: add dedicated func to get 'allowed' nodemask for current process (Rafael Aquini) [2153926] - mm/hugetlb: simplify the calculation of variables (Rafael Aquini) [2153926] - mm/mempolicy: fix lock contention on mems_allowed (Rafael Aquini) [2153926] - mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind() (Rafael Aquini) [2153926] - mm/mempolicy.c: use in_task() in mempolicy_slab_node() (Rafael Aquini) [2153926] - mm/mempolicy: unify the create() func for bind/interleave/prefer-many policies (Rafael Aquini) [2153926] - mm/mempolicy: advertise new MPOL_PREFERRED_MANY (Rafael Aquini) [2153926] - mm/hugetlb: add support for mempolicy MPOL_PREFERRED_MANY (Rafael Aquini) [2153926] - mm/memplicy: add page allocation function for MPOL_PREFERRED_MANY policy (Rafael Aquini) [2153926] - mm/mempolicy: add MPOL_PREFERRED_MANY for multiple preferred nodes (Rafael Aquini) [2153926] - mm/mempolicy: use readable NUMA_NO_NODE macro instead of magic number (Rafael Aquini) [2153926] - mm/mempolicy: unify the parameter sanity check for mbind and set_mempolicy (Rafael Aquini) [2153926] - mm/mempolicy: use unified 'nodes' for bind/interleave/prefer policies (Rafael Aquini) [2153926] - mm/mempolicy: don't handle MPOL_LOCAL like a fake MPOL_PREFERRED policy (Rafael Aquini) [2153926] - mm/mempolicy: cleanup nodemask intersection check for oom (Rafael Aquini) [2153926] - mm/mempolicy: fix mpol_misplaced kernel-doc (Rafael Aquini) [2153926] - numa balancing: migrate on fault among multiple bound nodes (Rafael Aquini) [2153926] - mm/hugetlb: add mempolicy check in the reservation routine (Rafael Aquini) [2153926] - mm: remove unused alloc_page_vma_node() (Rafael Aquini) [2153926] - mm/mempolicy: remove or narrow the lock on current (Rafael Aquini) [2153926] - mm, mempolicy: fix uninit memory access (Rafael Aquini) [2153926] - mm/mempool: minor coding style tweaks (Rafael Aquini) [2153926] - mm: fix typos in comments (Rafael Aquini) [2153926] - futex: Do not apply time namespace adjustment on FUTEX_LOCK_PI (Joel Savitz) [2170113] - Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") (Joel Savitz) [2170113] - kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() (Joel Savitz) [2170113] - futex: Remove unneeded gotos (Joel Savitz) [2170113] - rtmutex: Ensure that the top waiter is always woken up (Joel Savitz) [2170113] - rtmutex: Add acquire semantics for rtmutex lock acquisition slow path (Joel Savitz) [2170113] - locking/lockdep: Fix lockdep_init_map_*() confusion (Joel Savitz) [2170113] - locking/lockdep: Avoid potential access of invalid memory in lock_class (Joel Savitz) [2170113] - lockdep: Correct lock_classes index mapping (Joel Savitz) [2170113] - locking/rtmutex: Squash self-deadlock check for ww_rt_mutex. (Joel Savitz) [2170113] - locking/rtmutex: Fix incorrect condition in rtmutex_spin_on_owner() (Joel Savitz) [2170113] - kallsyms: remove arch specific text and data check (Joel Savitz) [2170113] - lockdep: Let lock_is_held_type() detect recursive read as read (Joel Savitz) [2170113] - lockdep: Fix wait-type for empty stack (Joel Savitz) [2170113] - locking/lockdep: Improve noinstr vs errors (Joel Savitz) [2170113] - locking/lockdep: Correct calling tracepoints (Joel Savitz) [2170113] - locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count (Joel Savitz) [2170113] - locking/ww_mutex: Fix runtime warning in the WW mutex selftest (Joel Savitz) [2170113] - fortify: Do not cast to "unsigned char" (Josef Oskera) [2139487] - fortify: Use SIZE_MAX instead of (size_t)-1 (Josef Oskera) [2139487] - afs: Work around strnlen() oops with CONFIG_FORTIFIED_SOURCE=y (Josef Oskera) [2139487] - net/mlx4_en: Introduce flexible array to silence overflow warning (Josef Oskera) [2139487] - wusbcore: silence fortify warning (Josef Oskera) [2139487] - skbuff: Switch structure bounds to struct_group() (Josef Oskera) [2139487] - RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size (Josef Oskera) [2139487] - intel_th: msu: Use memset_startat() for clearing hw header (Josef Oskera) [2139487] - dm integrity: Use struct_group() to zero struct journal_sector (Josef Oskera) [2139487] - iw_cxgb4: Use memset_startat() for cpl_t5_pass_accept_rpl (Josef Oskera) [2139487] - scsi: lpfc: Use struct_group() to initialize struct lpfc_cgn_info (Josef Oskera) [2139487] - netfilter: conntrack: Use memset_startat() to zero struct nf_conn (Josef Oskera) [2139487] - netfilter: conntrack: avoid gcc-10 zero-length-bounds warning (Josef Oskera) [2139487] - thermal: int340x: Use struct_group() for memcpy() region (Josef Oskera) [2139487] - net/af_iucv: Use struct_group() to zero struct iucv_sock region (Josef Oskera) [2139487] - ipv6: Use memset_after() to zero rt6_info (Josef Oskera) [2139487] - bnx2x: Use struct_group() for memcpy() region (Josef Oskera) [2139487] - tracing: Use memset_startat() to zero struct trace_iterator (Josef Oskera) [2139487] - xfrm: Use memset_after() to clear padding (Josef Oskera) [2139487] - HID: roccat: Use struct_group() to zero kone_mouse_event (Josef Oskera) [2139487] - scsi: ibmvscsi: Avoid multi-field memset() overflow by aiming at srp (Josef Oskera) [2139487] - ipv4: ip_output.c: Fix out-of-bounds warning in ip_copy_addrs() (Josef Oskera) [2139487] - media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf() (Josef Oskera) [2139487] - s390/zcrypt: Switch to flexible array member (Josef Oskera) [2139487] - s390/speculation: Use statically initialized const for instructions (Josef Oskera) [2139487] - cifs: avoid extra calls in posix_info_parse (Josef Oskera) [2139487] - x86/entry: Fixup bad_iret vs noinstr (Josef Oskera) [2139487] - x86/traps: Mark fixup_bad_iret() noinstr (Josef Oskera) [2139487] - x86/doublefault: Remove memmove() call (Josef Oskera) [2139487] - tracing: Initialize iter->seq after zeroing in tracing_read_pipe() (Josef Oskera) [2139487] - tracing: Silence GCC 9 array bounds warning (Josef Oskera) [2139487] - fortify: Fix __compiletime_strlen() under UBSAN_BOUNDS_LOCAL (Josef Oskera) [2139487] - fortify: Provide a memcpy trap door for sharp corners (Josef Oskera) [2139487] - fortify: Make pointer arguments const (Josef Oskera) [2139487] - fortify: Replace open-coded __gnu_inline attribute (Josef Oskera) [2139487] - fortify: Update compile-time tests for Clang 14 (Josef Oskera) [2139487] - fortify: Detect struct member overflows in memset() at compile-time (Josef Oskera) [2139487] - fortify: Detect struct member overflows in memmove() at compile-time (Josef Oskera) [2139487] - fortify: Detect struct member overflows in memcpy() at compile-time (Josef Oskera) [2139487] - fortify: strlen: Avoid shadowing previous locals (Josef Oskera) [2139487] - fortify: Add compile-time FORTIFY_SOURCE tests (Josef Oskera) [2139487] - fortify: Allow strlen() and strnlen() to pass compile-time known lengths (Josef Oskera) [2139487] - fortify: Prepare to improve strnlen() and strlen() warnings (Josef Oskera) [2139487] - fortify: Fix dropped strcpy() compile-time write overflow check (Josef Oskera) [2139487] - fortify: Explicitly disable Clang support (Josef Oskera) [2139487] - fortify: Move remaining fortify helpers into fortify-string.h (Josef Oskera) [2139487] - lib/string: Move helper functions out of string.c (Josef Oskera) [2139487] - lib/string.c: update match_string() doc-strings with correct behavior (Josef Oskera) [2139487] - string.h: move fortified functions definitions in a dedicated header. (Josef Oskera) [2139487] - string.h: add FORTIFY coverage for strscpy() (Josef Oskera) [2139487] - lib: string.h: detect intra-object overflow in fortified string functions (Josef Oskera) [2139487] - lib: string_helpers: provide kfree_strarray() (Josef Oskera) [2139487] - lib/string.c: implement stpcpy (Josef Oskera) [2139487] - kernel-doc: core-api: include string.h into core-api (Josef Oskera) [2139487] - docs/core-api: move *{str,mem}dup* to "String Manipulation" (Josef Oskera) [2139487] - selftests/tc-testing: add show class case for red qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add show class case for prio qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add show class case for mq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add show class case for ingress qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for qfq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for netem qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for multiq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for mqprio qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for htb qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for hfsc qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for fq_codel qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for dsmark qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for drr qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for cbs qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for cbq qdisc (Ivan Vecera) [2172130] - selftests/tc-testing: add selftests for cake qdisc (Ivan Vecera) [2172130] - net/sched: use tc_qdisc_stats_dump() in qdisc (Ivan Vecera) [2172130] - net/sched: sch_api: add helper for tc qdisc walker stats dump (Ivan Vecera) [2172130] - hwrng: core - use per-rng quality value instead of global setting (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - start and stop in-kernel rngd in separate function (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - do not bother to order list of devices by quality (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - credit entropy for low quality sources of randomness (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - break out of hwrng_fillfn if current rng is not trusted (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - only set cur_rng_set_by_user if it is working (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - use rng_fillbuf in add_early_randomness() (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - read() callback must be called for size of 32 or more bytes (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - explicit ordering of initcalls (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - Use DEVICE_ATTR_ macro (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - remove redundant initialization of variable err (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - convert sysfs sprintf/snprintf family to sysfs_emit (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - remove redundant initialization of variable ret (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - Fix use-after-free warning in hwrng_register() (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - move add_early_randomness() out of rng_mutex (Jose Ignacio Tornos Martinez) [2172884] - hwrng: core - document the quality field (Jose Ignacio Tornos Martinez) [2172884] - netfilter: nf_conntrack: allow early drop of offloaded UDP conns (Florian Westphal) [2183080] - net/sched: act_ct: offload UDP NEW connections (Florian Westphal) [2183080] - net/sched: act_ct: set ctinfo in meta action depending on ct state (Florian Westphal) [2183080] - netfilter: flowtable: cache info of last offload (Florian Westphal) [2183080] - netfilter: flowtable: allow unidirectional rules (Florian Westphal) [2183080] - netfilter: flowtable: fixup UDP timeout depending on ct state (Florian Westphal) [2183080] - ptp_clock: Let the ADJ_OFFSET interface respect the ADJ_NANO flag for PHC devices. (Íñigo Huguet) [2180896] - ptp: Add adjust_phase to ptp_clock_caps capability. (Íñigo Huguet) [2180896] - ptp: Add adjphase function to support phase offset control. (Íñigo Huguet) [2180896] - kernfs: dont take d_lock on revalidate (Ian Kent) [2126350] - kernfs: dont take i_lock on inode attr read (Ian Kent) [2126350] - kernfs: remove redundant kernfs_rwsem declaration. (Ian Kent) [2126350] - kernfs: fix potential NULL dereference in __kernfs_remove (Ian Kent) [2126350] - kernfs: fix NULL dereferencing in kernfs_remove (Ian Kent) [2126350] - kernfs: prevent early freeing of root node (Ian Kent) [2126350] - kernfs: switch global kernfs_rwsem lock to per-fs lock (Ian Kent) [2126350] - workqueue: Fold rebind_worker() within rebind_workers() (Valentin Schneider) [2088578] - workqueue: Unbind kworkers before sending them to exit() (Valentin Schneider) [2088578] - workqueue: Don't hold any lock while rcuwait'ing for !POOL_MANAGER_ACTIVE (Valentin Schneider) [2088578] - workqueue: Convert the idle_timer to a timer + work_struct (Valentin Schneider) [2088578] - workqueue: Factorize unbind/rebind_workers() logic (Valentin Schneider) [2088578] - workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutex (Valentin Schneider) [2088578] - workqueue: make sysfs of unbound kworker cpumask more clever (Valentin Schneider) [2088578] - fuse: add feature flag for expire-only (Pavel Reichl) [2109496] - fuse: add "expire only" mode to FUSE_NOTIFY_INVAL_ENTRY (Pavel Reichl) [2109496] - fuse: extend init flags (Pavel Reichl) [2109496] - wifi: iwlwifi: mvm: protect TXQ list manipulation (Jose Ignacio Tornos Martinez) [2152168] - wifi: iwlwifi: mvm: fix mvmtxq->stopped handling (Jose Ignacio Tornos Martinez) [2152168] - thunderbolt: Explicitly enable lane adapter hotplug events at startup (Desnes Nunes) [2130062] - x86/tsc: Add option to force frequency recalibration with HW timer (Prarit Bhargava) [2100597] - ovl: fix use after free in struct ovl_aio_req (Miklos Szeredi) [2176160] {CVE-2023-1252}- [rt] build kernel-rt-4.18.0-486.rt7.275.el8 [2180997] - mm/memremap: fix missing call to untrack_pfn() in pagemap_range() (Nico Pache) [2168370] - arm64: mm: correct the inside linear map range during hotplug check (Nico Pache) [2168370] - s390/mm: define arch_get_mappable_range() (Nico Pache) [2168370] - arm64/mm: define arch_get_mappable_range() (Nico Pache) [2168370] - mm/memory_hotplug: prevalidate the address range being added with platform (Nico Pache) [2168370] - s390/extmem: return correct segment type in __segment_load() (Nico Pache) [2168370] - s390/vmem: get rid of memory segment list (Nico Pache) [2168370] - arm64/mm: Validate hotplug range before creating linear mapping (Nico Pache) [2168370] - mm/truncate.c: make __invalidate_mapping_pages() static (Nico Pache) [2168370] - powerpc/mm: fix "section_base" set but not used (Nico Pache) [2168370] - powerpc: Avoid link stack corruption in misc asm functions (Nico Pache) [2168370] - powerpc/booke: Avoid link stack corruption in several places (Nico Pache) [2168370] - powerpc/mm: Fix lockup on kernel exec fault (Nico Pache) [2168370] - x86: fix seq_file iteration for pat/memtype.c (Nico Pache) [2168370] - powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning (Nico Pache) [2168370] - powerpc/nvdimm: Update vmemmap_populated to check sub-section range (Nico Pache) [2168370] - powerpc/pseries: Fix cpu_hotplug_lock acquisition in resize_hpt() (Nico Pache) [2168370] - x86/mm: Sync also unmappings in vmalloc_sync_all() (Nico Pache) [2168370] - Fix page corruption caused by racy check in __free_pages (Nico Pache) [2168370] - mm/gup: fix gup_pud_range() for dax (Nico Pache) [2168370] - memcg: Fix possible use-after-free in memcg_write_event_control() (Nico Pache) [2168370] - mm/huge_memory: use pfn_to_online_page() in split_huge_pages_all() (Nico Pache) [2168370] - mm: fix madivse_pageout mishandling on non-LRU page (Nico Pache) [2168370] - mm/page_alloc: fix race condition between build_all_zonelists and page allocation (Nico Pache) [2168370] - mm/slub: fix to return errno if kmalloc() fails (Nico Pache) [2168370] - writeback: avoid use-after-free after removing device (Nico Pache) [2168370] - x86/mm: Use proper mask when setting PUD mapping (Nico Pache) [2168370] - mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region (Nico Pache) [2168370] - mm/hmm: fault non-owner device private entries (Nico Pache) [2168370] - mm: split huge PUD on wp_huge_pud fallback (Nico Pache) [2168370] - mm/page_owner: use strscpy() instead of strlcpy() (Nico Pache) [2168370] - mm/vmscan: take min_slab_pages into account when try to call shrink_node (Nico Pache) [2168370] - x86: Fix return value of __setup handlers (Nico Pache) [2168370] - mm: fix unexpected zeroed page mapping with zram swap (Nico Pache) [2168370] - mm, page_alloc: fix build_zonerefs_node() (Nico Pache) [2168370] - mm/mempolicy: fix mpol_new leak in shared_policy_replace (Nico Pache) [2168370] - mm/slub: remove forced_order parameter in calculate_sizes (Nico Pache) [2168370] - mm/usercopy: return 1 from hardened_usercopy __setup() handler (Nico Pache) [2168370] - mm/thp: ClearPageDoubleMap in first page_add_file_rmap() (Nico Pache) [2168370] - mm/thp: refix __split_huge_pmd_locked() for migration PMD (Nico Pache) [2168370] - mempolicy: mbind_range() set_policy() after vma_merge() (Nico Pache) [2168370] - mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node (Nico Pache) [2168370] - mm: userfaultfd: fix missing cache flush in mcopy_atomic_pte() and __mcopy_atomic() (Nico Pache) [2168370] - mm: hugetlb: fix missing cache flush in copy_huge_page_from_user() (Nico Pache) [2168370] - mm: thp: fix wrong cache flush in remove_migration_pmd() (Nico Pache) [2168370] - mm: fix missing cache flush for all tail pages of compound page (Nico Pache) [2168370] - tmpfs: fix regressions from wider use of ZERO_PAGE (Nico Pache) [2168370] - tmpfs: do not allocate pages on read (Nico Pache) [2168370] - shmem: mapping_set_exiting() to help mapped resilience (Nico Pache) [2168370] - mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault (Nico Pache) [2168370] - shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode (Nico Pache) [2168370] - mm, slub: use prefetchw instead of prefetch (Nico Pache) [2168370] - arm64: mm: update max_pfn after memory hotplug (Nico Pache) [2168370] - mm, vmscan: guarantee drop_slab_node() termination (Nico Pache) [2168370] - fs, mm: fix race in unlinking swapfile (Nico Pache) [2168370] - fs: inode: count invalidated shadow pages in pginodesteal (Nico Pache) [2168370] - mm, fadvise: improve the expensive remote LRU cache draining after FADV_DONTNEED (Nico Pache) [2168370] - mm/filemap.c: rewrite mapping_needs_writeback in less fancy manner (Nico Pache) [2168370] - fs: drop_caches: fix skipping over shadow cache inodes (Nico Pache) [2168370] - mm: introduce and use mapping_empty() (Nico Pache) [2168370] - mm: remove irqsave/restore locking from contexts with irqs enabled (Nico Pache) [2168370] - mm: zswap: clean up confusing comment (Nico Pache) [2168370] - mm/memory_hotplug: use helper function zone_end_pfn() to get end_pfn (Nico Pache) [2168370] - mm: vmstat: add some comments on internal storage of byte items (Nico Pache) [2168370] - mm: vmstat: fix NOHZ wakeups for node stat changes (Nico Pache) [2168370] - mm/mmap.c: replace do_brk with do_brk_flags in comment of insert_vm_struct() (Nico Pache) [2168370] - mm/mmap.c: use helper function allow_write_access() in __remove_shared_vm_struct() (Nico Pache) [2168370] - mm: use helper function mapping_allow_writable() (Nico Pache) [2168370] - mm: memcontrol: reword obsolete comment of mem_cgroup_unmark_under_oom() (Nico Pache) [2168370] - mm/page_counter: correct the obsolete func name in the comment of page_counter_try_charge() (Nico Pache) [2168370] - mm: memcontrol: correct the comment of mem_cgroup_iter() (Nico Pache) [2168370] - x86/mm: use max memory block size on bare metal (Nico Pache) [2168370] - mm/util.c: remove the VM_WARN_ONCE for vm_committed_as underflow check (Nico Pache) [2168370] - include/linux/swapops.h: correct guards for non_swap_entry() (Nico Pache) [2168370] - mm: set vm_next and vm_prev to NULL in vm_area_dup() (Nico Pache) [2168370] - mm: don't prepare anon_vma if vma has VM_WIPEONFORK (Nico Pache) [2168370] - page-flags: fix a crash at SetPageError(THP_SWAP) (Nico Pache) [2168370] - mm/rmap.c: fix outdated comment in page_get_anon_vma() (Nico Pache) [2168370] - mm/mmap.c: extract __vma_unlink_list() as counterpart for __vma_link_list() (Nico Pache) [2168370] - mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup() (Nico Pache) [2168370] - x86/mm: Kill stray kernel fault handling comment (Nico Pache) [2168370] - arm64/numa: Unify common error path in numa_init() (Nico Pache) [2168370] - tools/power/x86/intel-speed-select: v1.14 release (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Adjust uncore max/min frequency (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix display of uncore min frequency (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Add Emerald Rapid quirk (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: turbo-freq auto mode with SMT off (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: cpufreq reads on offline CPUs (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Use null-terminated string (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove duplicate dup() (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Handle open() failure case (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unused non_block flag (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove wrong check in set_isst_id() (Prarit Bhargava) [2154078] - platform/x86: ISST: Fix typo in comments (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Release v1.13 (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Optimize CPU initialization (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Utilize cpu_map to get physical id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unused struct clos_config fields (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Enforce isst_id value (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Do not export get_physical_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Introduce is_cpu_in_power_domain helper (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Cleanup get_physical_id usage (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Convert more function to use isst_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Add pkg and die in isst_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Introduce struct isst_id (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unused core_mask array (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove dead code (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix cpu count for TDP level display (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Remove unneeded semicolon (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix off by one check (Prarit Bhargava) [2154078] - platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Fix warning for perf_cap.cpu (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: Display error on turbo mode disabled (Prarit Bhargava) [2154078] - tools/power/x86/intel-speed-select: fix build failure when using -Wl,--as-needed (Prarit Bhargava) [2154078] - KVM: x86: Propagate the AMD Automatic IBRS feature to the guest (Waiman Long) [1989283] - x86/cpu: Support AMD Automatic IBRS (Waiman Long) [1989283] - x86/cpu, kvm: Add the SMM_CTL MSR not present feature (Waiman Long) [1989283] - x86/cpu, kvm: Add the Null Selector Clears Base feature (Waiman Long) [1989283] - x86/cpu, kvm: Move X86_FEATURE_LFENCE_RDTSC to its native leaf (Waiman Long) [1989283] - x86/cpu, kvm: Add the NO_NESTED_DATA_BP feature (Waiman Long) [1989283] - KVM: x86: Move open-coded CPUID leaf 0x80000021 EAX bit propagation code (Waiman Long) [1989283] - x86/cpu, kvm: Add support for CPUID_80000021_EAX (Waiman Long) [1989283] - x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3 (Waiman Long) [1989283] - KVM: x86: Advertise that the SMM_CTL MSR is not supported (Waiman Long) [1989283] - Documentation/hw-vuln: Update spectre doc (Waiman Long) [1989283] - nvme-tcp: fence TCP socket on receive error (John Meneghini) [2116939] - nvme-multipath: fix possible hang in live ns resize with ANA access (John Meneghini) [2116939] - nvme-tcp: fix possible hang caused during ctrl deletion (John Meneghini) [2116939] - nvme-tcp: fix regression that causes sporadic requests to time out (John Meneghini) [2116939] - nvme-tcp: fix UAF when detecting digest errors (John Meneghini) [2116939] - nvme-tcp: check if the queue is allocated before stopping it (John Meneghini) [2116939] - nvme-tcp: always fail a request when sending it failed (John Meneghini) [2116939] - nvme: fix regression when disconnect a recovering ctrl (John Meneghini) [2116939] - nvme-multipath: use vmalloc for ANA log buffer (John Meneghini) [2116939] - bfq: fix waker_bfqq inconsistency crash (Ming Lei) [2177565] - blktrace: Fix output non-blktrace event when blk_classic option enabled (Ming Lei) [2177565] - blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() (Ming Lei) [2177565] - blk-wbt: call rq_qos_add() after wb_normal is initialized (Ming Lei) [2177565] - block: sync mixed merged request's failfast with 1st bio's (Ming Lei) [2177565] - blk-mq: Fix potential io hung for shared sbitmap per tagset (Ming Lei) [2177565] - block: bio-integrity: Copy flags when bio_integrity_payload is cloned (Ming Lei) [2177565] - dim: initialize all struct fields (Audra Mitchell) [2172125] - XArray: Update the LRU list in xas_split() (Audra Mitchell) [2172125] - lib: bitmap: fix many kernel-doc warnings (Audra Mitchell) [2172125] - vsprintf: Fix %pK with kptr_restrict == 0 (Audra Mitchell) [2172125] - lib: uninline simple_strntoull() as well (Audra Mitchell) [2172125] - lib: dimlib: fix help text typos (Audra Mitchell) [2172125] - locks: fix TOCTOU race when granting write lease (Waiman Long) [2152051] - locks: eliminate false positive conflicts for write lease (Waiman Long) [2152051] - locks: Use inode_is_open_for_write (Waiman Long) [2152051] - fs/locks: remove unnecessary white space. (Waiman Long) [2152051] - fs/locks: use properly initialized file_lock when unlocking. (Waiman Long) [2152051] - redhat/configs: Enable CONFIG_PINCTRL_METEORLAKE in RHEL (Prarit Bhargava) [2156845] - pinctrl: intel: Add Intel Meteor Lake pin controller support (Prarit Bhargava) [2156845] - md: fix regression for null-ptr-deference in __md_stop() (Nigel Croxon) [2162231] - md: avoid signed overflow in slot_store() (Nigel Croxon) [2162231] - md: Free resources in __md_stop (Nigel Croxon) [2162231] - md: account io_acct_set usage with active_io (Nigel Croxon) [2162231] - md: use MD_RESYNC_* whenever possible (Nigel Croxon) [2162231] - md: Free writes_pending in md_stop (Nigel Croxon) [2162231] - md: Change active_io to percpu (Nigel Croxon) [2162231] - md: Factor out is_md_suspended helper (Nigel Croxon) [2162231] - md: don't update recovery_cp when curr_resync is ACTIVE (Nigel Croxon) [2162231] - md: fold unbind_rdev_from_array into md_kick_rdev_from_array (Nigel Croxon) [2162231] - md: mark md_kick_rdev_from_array static (Nigel Croxon) [2162231] - mm/kmemleak: fix UAF bug in kmemleak_scan() (Waiman Long) [2172763] - mm/kmemleak: simplify kmemleak_cond_resched() usage (Waiman Long) [2172763] - mm/kmemleak.c: fix a comment (Waiman Long) [2172763] - ptp: introduce a phase offset in the periodic output request (Íñigo Huguet) [2179072] - ptp: add ability to configure duty cycle for periodic output (Íñigo Huguet) [2179072] - platform/x86: intel/pmc/core: Add Meteor Lake mobile support (Prarit Bhargava) [2153968] - platform/x86: intel/pmc/core: Add Meteor Lake support to pmc core driver (Prarit Bhargava) [2153968] - sched/core: Fix arch_scale_freq_tick() on tickless systems (Phil Auld) [2184083] - qede: avoid uninitialized entries in coal_entry array (Michal Schmidt) [2160054] - qede: fix interrupt coalescing configuration (Jonathan Toppins) [2160054] - powerpc/64s: Unmerge EX_LR and EX_DAR (Mamatha Inamdar) [2134271] - powercap: intel_rapl: add support for Meteor Lake (Prarit Bhargava) [2153964] - dm: fix __send_duplicate_bios() to always allow for splitting IO (Benjamin Marzinski) [2184429] - dm: fix improper splitting for abnormal bios (Benjamin Marzinski) [2184429] - ovl: fail on invalid uid/gid mapping at copy up (Miklos Szeredi) [2165351] {CVE-2023-0386}- [rt] build kernel-rt-4.18.0-485.rt7.274.el8 [2180997] - timers: Provide timer_shutdown[_sync]() (Ivan Vecera) [2174474] - timers: Add shutdown mechanism to the internal functions (Ivan Vecera) [2174474] - timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode (Ivan Vecera) [2174474] - timers: Silently ignore timers with a NULL function (Ivan Vecera) [2174474] - timers: Rename del_timer() to timer_delete() (Ivan Vecera) [2174474] - timers: Rename del_timer_sync() to timer_delete_sync() (Ivan Vecera) [2174474] - timers: Use del_timer_sync() even on UP (Ivan Vecera) [2174474] - timers: Update kernel-doc for various functions (Ivan Vecera) [2174474] - timers: Replace BUG_ON()s (Ivan Vecera) [2174474] - timers: Get rid of del_singleshot_timer_sync() (Ivan Vecera) [2174474] - clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown() function (Ivan Vecera) [2174474] - clocksource/drivers/arm_arch_timer: Do not use timer namespace for timer_shutdown() function (Ivan Vecera) [2174474] - misc/sgi-xp: Replace in_interrupt() usage (Ivan Vecera) [2174474] - timers: Don't block on ->expiry_lock for TIMER_IRQSAFE timers (Ivan Vecera) [2174474] - hvcs: Synchronize hotplug remove with port free (Mamatha Inamdar) [2167962] - hvcs: Use vhangup in hotplug remove (Mamatha Inamdar) [2167962] - hvcs: Get reference to tty in remove (Mamatha Inamdar) [2167962] - hvcs: Use driver groups to manage driver attributes (Mamatha Inamdar) [2167962] - hvcs: Use dev_groups to manage hvcs device attributes (Mamatha Inamdar) [2167962] - hvcs: Fix hvcs port reference counting (Mamatha Inamdar) [2167962] - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() (Mamatha Inamdar) [2167962] - docs/memory-barriers.txt/kokr: introduce io_stop_wc() and add implementation for ARM64 (Ivan Vecera) [2179061] - docs/memory-barriers.txt: Add a missed closing parenthesis (Ivan Vecera) [2179061] - asm-generic: Add missing brackets for io_stop_wc macro (Ivan Vecera) [2179061] - asm-generic: introduce io_stop_wc() and add implementation for ARM64 (Ivan Vecera) [2179061] - ipv4: Fix incorrect table ID in IOCTL path (Guillaume Nault) [2176792] - ipv4: Fix incorrect route flushing when table ID 0 is used (Guillaume Nault) [2176792] - ipv4: Fix incorrect route flushing when source address is deleted (Guillaume Nault) [2176792] - selftests: Add source route tests to fib_tests (Guillaume Nault) [2176792] - mm/rmap: split page_dup_rmap() into page_dup_file_rmap() and page_try_dup_anon_rmap() (David Hildenbrand) [2179164] - mm/memory: slightly simplify copy_present_pte() (David Hildenbrand) [2179164] - mm/hugetlb: take src_mm->write_protect_seq in copy_hugetlb_page_range() (David Hildenbrand) [2179164] - mm: /proc/sys/vm/stat_refresh stop checking monotonic numa stats (Waiman Long) [2178001] - mm: /proc/sys/vm/stat_refresh skip checking known negative stats (Waiman Long) [2178001] - mm: no more EINVAL from /proc/sys/vm/stat_refresh (Waiman Long) [2178001] - mm: restore node stat checking in /proc/sys/vm/stat_refresh (Waiman Long) [2178001] - sfc: ef10: don't overwrite offload features at NIC reset (Íñigo Huguet) [2154500] - sfc: correctly advertise tunneled IPv6 segmentation (Íñigo Huguet) [2154500] - igb: conditionalize I2C bit banging on external thermal sensor support (Corinna Vinschen) [2130727] - platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering (Prarit Bhargava) [2139963] - x86/nmi: Make register_nmi_handler() more robust (Ani Sinha) [2037005] - net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf() (Sabrina Dubroca) [2179825] {CVE-2023-28466} - cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores (Prarit Bhargava) [2179183] - target: iscsi: use GFP_NOIO with loopback connections (Maurizio Lombardi) [2156546] - core_pattern: add CPU specifier (Oleksandr Natalenko) [1968108] - Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM (David Marlin) [2148405] {CVE-2022-42896} - ipv6: prevent router_solicitations for team port (Xin Long) [2141600] - ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL (Xin Long) [2141600] - Bluetooth: L2CAP: Fix attempting to access uninitialized memory (David Marlin) [2148409] {CVE-2022-42895} - redhat/scripts/create-tarball.sh: Use nproc instead of rpm macros (Prarit Bhargava) - Revert "Switch to z-stream for 8.8 for CKI pipelines" (Denys Vlasenko)- [rt] build kernel-rt-4.18.0-484.rt7.273.el8 [2180997] - ethernet: Remove vf rate limit check for drivers (Izabela Bakollari) [2172124] - rtnetlink: verify rate parameters for calls to ndo_set_vf_rate (Izabela Bakollari) [2172124] - sfc: Change VF mac via PF as first preference if available. (Íñigo Huguet) [2117449] - Fix genlog.py to ensure that comments retain "%" characters. (Eder Zulian) [RHEL-340] - redhat: fix duplicate jira issues in the resolves line (Eder Zulian) [RHEL-340] - redhat: add support for Jira issues in changelog (Eder Zulian) [RHEL-340] - redhat/configs: Put CONFIG_SFC_* to a proper location (Vladis Dronov) - redhat/configs: Put CONFIG_SEV_GUEST to a proper location (Vladis Dronov) - Reinstate "GFS2: free disk inode which is deleted by remote node -V2" (Bob Peterson) [2181343] - iavf: fix hang on reboot with ice (Stefan Assmann) [2181811] - iavf: Fix race condition between iavf_shutdown and iavf_remove (Stefan Assmann) [2181811] - net/ulp: use consistent error code when blocking ULP (Sabrina Dubroca) [2176962] {CVE-2023-0461} - net/ulp: prevent ULP without clone op from entering the LISTEN status (Sabrina Dubroca) [2176962] {CVE-2023-0461} - lockd: lockd server-side shouldn't set fl_ops (Jeffrey Layton) [2179329] - NFS: Correct timing for assigning access cache timestamp (Benjamin Coddington) [2180851] - Switch to z-stream for 8.8 for CKI pipelines (Michael Hofmann) - KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS (Jon Maloy) [2160030] {CVE-2022-2196}- [rt] build kernel-rt-4.18.0-483.rt7.272.el8 [2180997] - tracing/hwlat: Replace sched_setaffinity with set_cpus_allowed_ptr (Jerome Marchand) [2174935] - drivers: hv, hyperv_fb: Untangle and refactor Hyper-V panic notifiers (Mohammed Gamal) [2172513] - video: hyperv_fb: Avoid taking busy spinlock on panic path (Mohammed Gamal) [2172513] - HID: hyperv: remove unused struct synthhid_msg (Mohammed Gamal) [2172513] - HID: hyperv: Replace one-element array with flexible-array member (Mohammed Gamal) [2172513] - clocksource: hyper-v: Add TSC page support for root partition (Mohammed Gamal) [2172443] - clocksource: hyper-v: Use TSC PFN getter to map vvar page (Mohammed Gamal) [2172443] - clocksource: hyper-v: Introduce TSC PFN getter (Mohammed Gamal) [2172443] - clocksource: hyper-v: Introduce a pointer to TSC page (Mohammed Gamal) [2172443] - HV: hv_balloon: fix memory leak with using debugfs_lookup() (Mohammed Gamal) [2172435] - debugfs: add debugfs_lookup_and_remove() (Mohammed Gamal) [2172435] - Drivers: hv: Enable vmbus driver for nested root partition (Mohammed Gamal) [2172435] - video: hyperv_fb: Avoid taking busy spinlock on panic path (Mohammed Gamal) [2172435]- [rt] build kernel-rt-4.18.0-482.rt7.271.el8 [2180997] - sched/deadline: Add more reschedule cases to prio_changed_dl() (Valentin Schneider) [2120570] - perf/x86/uncore: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86/cstate: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86/msr: Add new Raptor Lake S support (Michael Petlan) [2120365] - perf/x86: Add new Raptor Lake S support (Michael Petlan) [2120365] - net: sched: atm: dont intepret cls results when asked to drop (Davide Caratti) [2168337] {CVE-2023-23455} - nvdimm: Allow overwrite in the presence of disabled dimms (Aristeu Rozanski) [2154070] - Revert "GFS2: free disk inode which is deleted by remote node -V2" (Bob Peterson) [2109600] - gfs2: Evict inodes cooperatively (Andreas Gruenbacher) [2109600] - gfs2: Flush delete work before shrinking inode cache (Andreas Gruenbacher) [2109600] - gfs2: Add SDF_DEACTIVATING super block flag (Bob Peterson) [2109600] - gfs2: check gl_object in rgrp glops (Bob Peterson) [2109600] - gfs2: Split the two kinds of glock "delete" work (Andreas Gruenbacher) [2109600] - gfs2: Move delete workqueue into super block (Andreas Gruenbacher) [2109600] - gfs2: Use container_of() for gfs2_glock(aspace) (Andreas Gruenbacher) [2109600] - gfs2: Get rid of GLF_PENDING_DELETE flag (Andreas Gruenbacher) [2109600] - gfs2: Make glock lru list scanning safer (Andreas Gruenbacher) [2109600] - gfs2: Fix use-after-free in gfs2_glock_shrink_scan (Andreas Gruenbacher) [2109600] - gfs2: Clean up gfs2_scan_glock_lru (Andreas Gruenbacher) [2109600] - gfs2: gl_object races fix (Andreas Gruenbacher) [2109600] - iomap/gfs2: Unlock and put folio in page_done handler (Andreas Gruenbacher) [2109600] - iomap: Add __iomap_put_folio helper (Andreas Gruenbacher) [2109600] - gfs2: Remove support for glock holder auto-demotion (2) (Andreas Gruenbacher) [2109600] - gfs2: Remove support for glock holder auto-demotion (Andreas Gruenbacher) [2109600] - gfs2: Minor gfs2_try_evict cleanup (Andreas Gruenbacher) [2109600] - gfs2: Partially revert gfs2_inode_lookup change (Andreas Gruenbacher) [2109600] - gfs2: Add gfs2_inode_lookup comment (Andreas Gruenbacher) [2109600] - gfs2: Uninline and improve glock_{set,clear}_object (Andreas Gruenbacher) [2109600] - gfs2: Simply dequeue iopen glock in gfs2_evict_inode (Andreas Gruenbacher) [2109600] - gfs2: Clean up after gfs2_create_inode rework (Andreas Gruenbacher) [2109600] - gfs2: Avoid dequeuing GL_ASYNC glock holders twice (Andreas Gruenbacher) [2109600] - gfs2: Handle -EBUSY result of insert_inode_locked4 (Andreas Gruenbacher) [2109600] - gfs2: Fix and clean up create / evict interaction (Andreas Gruenbacher) [2109600] - gfs2: Clean up initialization of "ip" in gfs2_create_inode (Andreas Gruenbacher) [2109600] - gfs2: Get rid of ghs[] in gfs2_create_inode (Andreas Gruenbacher) [2109600] - gfs2: Dequeue waiters when withdrawn (Bob Peterson) [2109600] - gfs2: Prevent double iput for journal on error (Bob Peterson) [2109600] - Revert "gfs2: stop using generic_writepages in gfs2_ail1_start_one" (Andreas Gruenbacher) [2109600] - gfs2: remove ->writepage (Andreas Gruenbacher) [2109600] - gfs2: stop using generic_writepages in gfs2_ail1_start_one (Andreas Gruenbacher) [2109600] - gfs2: List traversal in do_promote is safe (Andreas Gruenbacher) [2109600] - gfs2: do_promote glock holder stealing fix (Bob Peterson) [2109600] - gfs2: Use better variable name (Andreas Gruenbacher) [2109600] - gfs2: Make go_instantiate take a glock (Andreas Gruenbacher) [2109600] - gfs2: Add new go_held glock operation (Andreas Gruenbacher) [2109600] - gfs2: Revert 'Fix "truncate in progress" hang' (Andreas Gruenbacher) [2109600] - gfs2: Instantiate glocks ouside of glock state engine (Andreas Gruenbacher) [2109600] - gfs2: Fix up gfs2_glock_async_wait (Andreas Gruenbacher) [2109600] - gfs2: Add GL_NOPID flag for process-independent glock holders (Andreas Gruenbacher) [2109600] - gfs2: dump inode object for iopen glocks (Bob Peterson) [2109600] - gfs2: convert to use DEFINE_SEQ_ATTRIBUTE macro (Andreas Gruenbacher) [2109600] - gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED inodes (Bob Peterson) [2109600] - Updated dist tag to el8_8 (Lucas Zampieri) - Revert "net/mlx5: Don't perform lookup after already known sec_path" (Amir Tzin) [2176349] - KVM: x86: do not report a vCPU as preempted outside instruction boundaries (Jon Maloy) [2124801] {CVE-2022-39189} - Drivers: vmbus: Check for channel allocation before looking up relids (Mohammed Gamal) [2178622] - drm/nouveau/fb/tu102-: fix register used to determine scrub status (Karol Herbst) [2168648] - drm/nouveau/devinit/tu102-: wait for GFW_BOOT_PROGRESS == COMPLETED (Karol Herbst) [2168648] - fs/proc: task_mmu.c: don't read mapcount for migration entry (Jay Shin) [2174623] - perf/core: Fix cgroup event list management (Michael Petlan) [2162525]- [rt] build kernel-rt-4.18.0-481.rt7.270.el8 [2180997] - redhat: include all certs (Red Hat and CentOS) in the srpm (Denys Vlasenko) [2179095] - redhat: do not require grub2 on s390x (Denys Vlasenko) [2179095] - thermal: int340x: Add Meteor Lake PCI device ID (Prarit Bhargava) [2156822] - i2c: i801: Add support for Intel Meteor Lake-P (Prarit Bhargava) [2156841]- [rt] build kernel-rt-4.18.0-480.rt7.269.el8 [2180997] - redhat: fix the signing failure on ppc64el on centos (Denys Vlasenko) [2179095]- [rt] build kernel-rt-4.18.0-479.rt7.268.el8 [2180997] - redhat: add centos signing certs (Denys Vlasenko) - redhat: fix "make rh-brew" not choosing _scratch_ build (Denys Vlasenko) - mfd: intel-lpss: Add Intel Meteor Lake-P PCI IDs (Prarit Bhargava) [2156843] - x86/cpu: Add CPU model numbers for Meteor Lake (Prarit Bhargava) [2153936] - redhat: require grub2 >= 2.02-99 (Denys Vlasenko) [2179095] - redhat: delete unused script and file (Denys Vlasenko) [2179095] - redhat: drop certificates that were deprecated after GRUB's BootHole flaw (Denys Vlasenko) [2179095] - redhat: align file names with names of signing keys for ppc and s390 (Denys Vlasenko) [2179095] - net/tunnel: wait until all sk_user_data reader finish before releasing the sock (Hangbin Liu) [2176344] - powerpc/pseries: unregister VPA when hot unplugging a CPU (Mamatha Inamdar) [2143007] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2172474] - net: mana: Fix return type of mana_start_xmit() (Mohammed Gamal) [2172474] - net: mana: Define data structures for protection domain and memory registration (Mohammed Gamal) [2172474] - net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES (Mohammed Gamal) [2172474] - net: mana: Define max values for SGL entries (Mohammed Gamal) [2172474] - net: mana: Move header files to a common location (Mohammed Gamal) [2172474] - net: mana: Record port number in netdev (Mohammed Gamal) [2172474] - net: mana: Export Work Queue functions for use by RDMA driver (Mohammed Gamal) [2172474] - net: mana: Set the DMA device max segment size (Mohammed Gamal) [2172474] - net: mana: Handle vport sharing between devices (Mohammed Gamal) [2172474] - net: mana: Record the physical address for doorbell page region (Mohammed Gamal) [2172474] - net: mana: Add support for auxiliary device (Mohammed Gamal) [2172474] - hv_netvsc: Check status in SEND_RNDIS_PKT completion message (Mohammed Gamal) [2172438] - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC (Mohammed Gamal) [2172438] - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() (Mohammed Gamal) [2172438] - Drivers: hv: Make remove callback of hyperv driver void returned (Mohammed Gamal) [2172438] - hv: fix comment typo in vmbus_channel/low_latency (Mohammed Gamal) [2172434] - x86/hyperv: Introduce HV_MAX_SPARSE_VCPU_BANKS/HV_VCPUS_PER_SPARSE_BANK constants (Mohammed Gamal) [2172434] - x86/hyperv: Fix hv_get/set_register for nested bringup (Mohammed Gamal) [2172434] - x86/hyperv: Add an interface to do nested hypercalls (Mohammed Gamal) [2172434] - Drivers: hv: Setup synic registers in case of nested root partition (Mohammed Gamal) [2172434] - x86/hyperv: Add support for detecting nested hypervisor (Mohammed Gamal) [2172434] - x86/hyperv: Add HV_EXPOSE_INVARIANT_TSC define (Mohammed Gamal) [2172434] - x86/hyperv: Expand definition of struct hv_vp_assist_page (Mohammed Gamal) [2172434] - KVM: x86: hyper-v: Expose support for extended gva ranges for flush hypercalls (Mohammed Gamal) [2172434] - x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h (Mohammed Gamal) [2172434] - iommu/hyper-v: Allow hyperv irq remapping without x2apic (Mohammed Gamal) [2172434] - smp: Fix offline cpu check in flush_smp_call_function_queue() (Waiman Long) [2169471] - sched/fair: Trigger the update of blocked load on newly idle cpu (Waiman Long) [2169471] - redhat: rh-dist-git should depend on rh-srpm (Denys Vlasenko) - redhat: change kabi tarballs to use the package release (Denys Vlasenko) - redhat/Makefile: add variables used in rhel9 makefiles (Denys Vlasenko) - redhat/Makefile: Remove RHPRODUCT variable (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: expand sources from srpm (Denys Vlasenko) - redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: Use Makefile variables (Denys Vlasenko) - redhat: fix typo and make the output more silent for dist-git sync (Denys Vlasenko) - redhat: add initial support for centos stream dist-git sync on Makefiles (Denys Vlasenko) - internal: update RHEL_MINOR for the start of RHEL-8.9 development (Denys Vlasenko) - watchdog: diag288_wdt: fix __diag288() inline assembly (Tobias Huschle) [2171361] - watchdog: diag288_wdt: do not use stack buffers for hardware data (Tobias Huschle) [2171361] - bonding: add documentation for peer_notif_delay (Ryosuke Yasuoka) [2171348] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2166787] - crypto: des - disallow des3 in FIPS mode (Vladis Dronov) [2175234] - self-tests: more rps self tests (Paolo Abeni) [2168878] - net: make default_rps_mask a per netns attribute (Paolo Abeni) [2168878] - self-tests: introduce self-tests for RPS default mask (Paolo Abeni) [2168878] - net: introduce default_rps_mask netns attribute (Paolo Abeni) [2168878] - net-sysctl: factor-out rpm mask manipulation helpers (Paolo Abeni) [2168878] - net-sysctl: factor out cpumask parsing helper (Paolo Abeni) [2168878] - txhash: Make rethinking txhash behavior configurable via sysctl (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in rx_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in netdev_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: fix netdev_queue_add_kobject() breakage (Paolo Abeni) [2168878] - net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject (Paolo Abeni) [2168878] - ice/ptp: fix the PTP worker retrying indefinitely if the link went down (Petr Oros) [2166392] - ice: reschedule ice_ptp_wait_for_offset_valid during reset (Petr Oros) [2166392] - ice: make Tx and Rx vernier offset calibration independent (Petr Oros) [2166392] - ice: only check set bits in ice_ptp_flush_tx_tracker (Petr Oros) [2166392] - ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: cleanup allocations in ice_ptp_alloc_tx_tracker (Petr Oros) [2166392] - ice: protect init and calibrating check in ice_ptp_request_ts (Petr Oros) [2166392] - ice: check Tx timestamp memory register for ready timestamps (Petr Oros) [2166392] - ice: handle discarding old Tx requests in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: always call ice_ptp_link_change and make it void (Petr Oros) [2166392] - ice: fix misuse of "link err" with "link status" (Petr Oros) [2166392] - ice: Reset TS memory for all quads (Petr Oros) [2166392] - ice: Remove the E822 vernier "bypass" logic (Petr Oros) [2166392] - ice: Use more generic names for ice_ptp_tx fields (Petr Oros) [2166392] - ice: Merge pin initialization of E810 and E810T adapters (Petr Oros) [2166392] - ice: Check if reset in progress while waiting for offsets (Petr Oros) [2166392] - NFS: Judge the file access cache's timestamp in rcu path (Benjamin Coddington) [2161321] - redhat: switch to z-stream for 8.8 (Lucas Zampieri)- [rt] build kernel-rt-4.18.0-478.rt7.267.el8 [2180997] - net/tunnel: wait until all sk_user_data reader finish before releasing the sock (Hangbin Liu) [2176344] - powerpc/pseries: unregister VPA when hot unplugging a CPU (Mamatha Inamdar) [2143007] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2172474] - net: mana: Fix return type of mana_start_xmit() (Mohammed Gamal) [2172474] - net: mana: Define data structures for protection domain and memory registration (Mohammed Gamal) [2172474] - net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES (Mohammed Gamal) [2172474] - net: mana: Define max values for SGL entries (Mohammed Gamal) [2172474] - net: mana: Move header files to a common location (Mohammed Gamal) [2172474] - net: mana: Record port number in netdev (Mohammed Gamal) [2172474] - net: mana: Export Work Queue functions for use by RDMA driver (Mohammed Gamal) [2172474] - net: mana: Set the DMA device max segment size (Mohammed Gamal) [2172474] - net: mana: Handle vport sharing between devices (Mohammed Gamal) [2172474] - net: mana: Record the physical address for doorbell page region (Mohammed Gamal) [2172474] - net: mana: Add support for auxiliary device (Mohammed Gamal) [2172474] - hv_netvsc: Check status in SEND_RNDIS_PKT completion message (Mohammed Gamal) [2172438] - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC (Mohammed Gamal) [2172438] - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() (Mohammed Gamal) [2172438] - Drivers: hv: Make remove callback of hyperv driver void returned (Mohammed Gamal) [2172438] - hv: fix comment typo in vmbus_channel/low_latency (Mohammed Gamal) [2172434] - x86/hyperv: Introduce HV_MAX_SPARSE_VCPU_BANKS/HV_VCPUS_PER_SPARSE_BANK constants (Mohammed Gamal) [2172434] - x86/hyperv: Fix hv_get/set_register for nested bringup (Mohammed Gamal) [2172434] - x86/hyperv: Add an interface to do nested hypercalls (Mohammed Gamal) [2172434] - Drivers: hv: Setup synic registers in case of nested root partition (Mohammed Gamal) [2172434] - x86/hyperv: Add support for detecting nested hypervisor (Mohammed Gamal) [2172434] - x86/hyperv: Add HV_EXPOSE_INVARIANT_TSC define (Mohammed Gamal) [2172434] - x86/hyperv: Expand definition of struct hv_vp_assist_page (Mohammed Gamal) [2172434] - KVM: x86: hyper-v: Expose support for extended gva ranges for flush hypercalls (Mohammed Gamal) [2172434] - x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h (Mohammed Gamal) [2172434] - iommu/hyper-v: Allow hyperv irq remapping without x2apic (Mohammed Gamal) [2172434] - smp: Fix offline cpu check in flush_smp_call_function_queue() (Waiman Long) [2169471] - sched/fair: Trigger the update of blocked load on newly idle cpu (Waiman Long) [2169471] - redhat: rh-dist-git should depend on rh-srpm (Denys Vlasenko) - redhat: change kabi tarballs to use the package release (Denys Vlasenko) - redhat/Makefile: add variables used in rhel9 makefiles (Denys Vlasenko) - redhat/Makefile: Remove RHPRODUCT variable (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: expand sources from srpm (Denys Vlasenko) - redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: Use Makefile variables (Denys Vlasenko) - redhat: fix typo and make the output more silent for dist-git sync (Denys Vlasenko) - redhat: add initial support for centos stream dist-git sync on Makefiles (Denys Vlasenko) - internal: update RHEL_MINOR for the start of RHEL-8.9 development (Denys Vlasenko) - watchdog: diag288_wdt: fix __diag288() inline assembly (Tobias Huschle) [2171361] - watchdog: diag288_wdt: do not use stack buffers for hardware data (Tobias Huschle) [2171361] - bonding: add documentation for peer_notif_delay (Ryosuke Yasuoka) [2171348]- net/tunnel: wait until all sk_user_data reader finish before releasing the sock (Hangbin Liu) [2176344] - powerpc/pseries: unregister VPA when hot unplugging a CPU (Mamatha Inamdar) [2143007] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2172474] - net: mana: Fix return type of mana_start_xmit() (Mohammed Gamal) [2172474] - net: mana: Define data structures for protection domain and memory registration (Mohammed Gamal) [2172474] - net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES (Mohammed Gamal) [2172474] - net: mana: Define max values for SGL entries (Mohammed Gamal) [2172474] - net: mana: Move header files to a common location (Mohammed Gamal) [2172474] - net: mana: Record port number in netdev (Mohammed Gamal) [2172474] - net: mana: Export Work Queue functions for use by RDMA driver (Mohammed Gamal) [2172474] - net: mana: Set the DMA device max segment size (Mohammed Gamal) [2172474] - net: mana: Handle vport sharing between devices (Mohammed Gamal) [2172474] - net: mana: Record the physical address for doorbell page region (Mohammed Gamal) [2172474] - net: mana: Add support for auxiliary device (Mohammed Gamal) [2172474] - hv_netvsc: Check status in SEND_RNDIS_PKT completion message (Mohammed Gamal) [2172438] - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC (Mohammed Gamal) [2172438] - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() (Mohammed Gamal) [2172438] - Drivers: hv: Make remove callback of hyperv driver void returned (Mohammed Gamal) [2172438] - hv: fix comment typo in vmbus_channel/low_latency (Mohammed Gamal) [2172434] - x86/hyperv: Introduce HV_MAX_SPARSE_VCPU_BANKS/HV_VCPUS_PER_SPARSE_BANK constants (Mohammed Gamal) [2172434] - x86/hyperv: Fix hv_get/set_register for nested bringup (Mohammed Gamal) [2172434] - x86/hyperv: Add an interface to do nested hypercalls (Mohammed Gamal) [2172434] - Drivers: hv: Setup synic registers in case of nested root partition (Mohammed Gamal) [2172434] - x86/hyperv: Add support for detecting nested hypervisor (Mohammed Gamal) [2172434] - x86/hyperv: Add HV_EXPOSE_INVARIANT_TSC define (Mohammed Gamal) [2172434] - x86/hyperv: Expand definition of struct hv_vp_assist_page (Mohammed Gamal) [2172434] - KVM: x86: hyper-v: Expose support for extended gva ranges for flush hypercalls (Mohammed Gamal) [2172434] - x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h (Mohammed Gamal) [2172434] - iommu/hyper-v: Allow hyperv irq remapping without x2apic (Mohammed Gamal) [2172434] - smp: Fix offline cpu check in flush_smp_call_function_queue() (Waiman Long) [2169471] - sched/fair: Trigger the update of blocked load on newly idle cpu (Waiman Long) [2169471] - redhat: rh-dist-git should depend on rh-srpm (Denys Vlasenko) - redhat: change kabi tarballs to use the package release (Denys Vlasenko) - redhat/Makefile: add variables used in rhel9 makefiles (Denys Vlasenko) - redhat/Makefile: Remove RHPRODUCT variable (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: expand sources from srpm (Denys Vlasenko) - redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning (Denys Vlasenko) - redhat/scripts/rh-dist-git.sh: Use Makefile variables (Denys Vlasenko) - redhat: fix typo and make the output more silent for dist-git sync (Denys Vlasenko) - redhat: add initial support for centos stream dist-git sync on Makefiles (Denys Vlasenko) - internal: update RHEL_MINOR for the start of RHEL-8.9 development (Denys Vlasenko) - watchdog: diag288_wdt: fix __diag288() inline assembly (Tobias Huschle) [2171361] - watchdog: diag288_wdt: do not use stack buffers for hardware data (Tobias Huschle) [2171361] - bonding: add documentation for peer_notif_delay (Ryosuke Yasuoka) [2171348] - net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2166787] - crypto: des - disallow des3 in FIPS mode (Vladis Dronov) [2175234] - self-tests: more rps self tests (Paolo Abeni) [2168878] - net: make default_rps_mask a per netns attribute (Paolo Abeni) [2168878] - self-tests: introduce self-tests for RPS default mask (Paolo Abeni) [2168878] - net: introduce default_rps_mask netns attribute (Paolo Abeni) [2168878] - net-sysctl: factor-out rpm mask manipulation helpers (Paolo Abeni) [2168878] - net-sysctl: factor out cpumask parsing helper (Paolo Abeni) [2168878] - txhash: Make rethinking txhash behavior configurable via sysctl (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in rx_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in netdev_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: fix netdev_queue_add_kobject() breakage (Paolo Abeni) [2168878] - net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject (Paolo Abeni) [2168878] - ice/ptp: fix the PTP worker retrying indefinitely if the link went down (Petr Oros) [2166392] - ice: reschedule ice_ptp_wait_for_offset_valid during reset (Petr Oros) [2166392] - ice: make Tx and Rx vernier offset calibration independent (Petr Oros) [2166392] - ice: only check set bits in ice_ptp_flush_tx_tracker (Petr Oros) [2166392] - ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: cleanup allocations in ice_ptp_alloc_tx_tracker (Petr Oros) [2166392] - ice: protect init and calibrating check in ice_ptp_request_ts (Petr Oros) [2166392] - ice: check Tx timestamp memory register for ready timestamps (Petr Oros) [2166392] - ice: handle discarding old Tx requests in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: always call ice_ptp_link_change and make it void (Petr Oros) [2166392] - ice: fix misuse of "link err" with "link status" (Petr Oros) [2166392] - ice: Reset TS memory for all quads (Petr Oros) [2166392] - ice: Remove the E822 vernier "bypass" logic (Petr Oros) [2166392] - ice: Use more generic names for ice_ptp_tx fields (Petr Oros) [2166392] - ice: Merge pin initialization of E810 and E810T adapters (Petr Oros) [2166392] - ice: Check if reset in progress while waiting for offsets (Petr Oros) [2166392] - NFS: Judge the file access cache's timestamp in rcu path (Benjamin Coddington) [2161321] - redhat: switch to z-stream for 8.8 (Lucas Zampieri)- net: mana: Fix IRQ name - add PCI and queue number (Mohammed Gamal) [2166787] - crypto: des - disallow des3 in FIPS mode (Vladis Dronov) [2175234] - self-tests: more rps self tests (Paolo Abeni) [2168878] - net: make default_rps_mask a per netns attribute (Paolo Abeni) [2168878] - self-tests: introduce self-tests for RPS default mask (Paolo Abeni) [2168878] - net: introduce default_rps_mask netns attribute (Paolo Abeni) [2168878] - net-sysctl: factor-out rpm mask manipulation helpers (Paolo Abeni) [2168878] - net-sysctl: factor out cpumask parsing helper (Paolo Abeni) [2168878] - txhash: Make rethinking txhash behavior configurable via sysctl (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in rx_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: Call dev_hold always in netdev_queue_add_kobject (Paolo Abeni) [2168878] - net-sysfs: fix netdev_queue_add_kobject() breakage (Paolo Abeni) [2168878] - net-sysfs: Fix reference count leak in rx|netdev_queue_add_kobject (Paolo Abeni) [2168878]- ice/ptp: fix the PTP worker retrying indefinitely if the link went down (Petr Oros) [2166392] - ice: reschedule ice_ptp_wait_for_offset_valid during reset (Petr Oros) [2166392] - ice: make Tx and Rx vernier offset calibration independent (Petr Oros) [2166392] - ice: only check set bits in ice_ptp_flush_tx_tracker (Petr Oros) [2166392] - ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: cleanup allocations in ice_ptp_alloc_tx_tracker (Petr Oros) [2166392] - ice: protect init and calibrating check in ice_ptp_request_ts (Petr Oros) [2166392] - ice: check Tx timestamp memory register for ready timestamps (Petr Oros) [2166392] - ice: handle discarding old Tx requests in ice_ptp_tx_tstamp (Petr Oros) [2166392] - ice: always call ice_ptp_link_change and make it void (Petr Oros) [2166392] - ice: fix misuse of "link err" with "link status" (Petr Oros) [2166392] - ice: Reset TS memory for all quads (Petr Oros) [2166392] - ice: Remove the E822 vernier "bypass" logic (Petr Oros) [2166392] - ice: Use more generic names for ice_ptp_tx fields (Petr Oros) [2166392] - ice: Merge pin initialization of E810 and E810T adapters (Petr Oros) [2166392] - ice: Check if reset in progress while waiting for offsets (Petr Oros) [2166392] - NFS: Judge the file access cache's timestamp in rcu path (Benjamin Coddington) [2161321] - redhat: switch to z-stream for 8.8 (Lucas Zampieri)- cpufreq: intel_pstate: Add Sapphire Rapids support in no-HWP mode (Prarit Bhargava) [2170564]- igb: Initialize mailbox message for VF reset (Corinna Vinschen) [2103948] - igb: Allocate MSI-X vector when testing (Corinna Vinschen) [2103948] - igb: Proactively round up to kmalloc bucket size (Corinna Vinschen) [2103948] - igb: Do not free q_vector unless new one was allocated (Corinna Vinschen) [2103948] - ptp: introduce helpers to adjust by scaled parts per million (Corinna Vinschen) [2103948] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Corinna Vinschen) [2103948] - net: ethernet: move from strlcpy with unused retval to strscpy (Corinna Vinschen) [2103948] - igb: convert .adjfreq to .adjfine (Corinna Vinschen) [2103948] - ASoC: Intel: soc-acpi: add configuration for variant of 0C11 product (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add configuration for variant of 0C40 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: use common helpers for all Realtek amps (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C11 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C4F product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C40 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw: Add support for SKU 0C10 product (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw_rt1316: add BQ params for the Dell models (Jaroslav Kysela) [2100582] - ASoC: Intel: sof_sdw_rt1308: add BQ params for the Dell models (Jaroslav Kysela) [2100582] - ASoC: intel: sof_sdw: add rt1318 codec support. (Jaroslav Kysela) [2100582] - ASoC: rt1318: Add RT1318 SDCA vendor-specific driver (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: update codec addr on 0C11/0C4F product (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C11 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C40 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi: add SKU 0C10 SoundWire configuration (Jaroslav Kysela) [2100582] - ASoC: Intel: soc-acpi-intel-rpl-match: add rpl_sdca_3_in_1 support (Jaroslav Kysela) [2100582]- net: ena: Update NUMA TPH hint register upon NUMA node update (Petr Oros) [2167316] - net: ena: Set default value for RX interrupt moderation (Petr Oros) [2167316] - net: ena: Fix rx_copybreak value update (Petr Oros) [2167316] - net: ena: Use bitmask to indicate packet redirection (Petr Oros) [2167316] - net: ena: Account for the number of processed bytes in XDP (Petr Oros) [2167316] - net: ena: Don't register memory info on XDP exchange (Petr Oros) [2167316] - net: ena: Fix toeplitz initial hash value (Petr Oros) [2167316] - net: ena: Fix error handling in ena_init() (Petr Oros) [2167316] - net: sched: disallow noqueue for qdisc classes (Xin Long) [2168282] {CVE-2022-47929} - net: sched: cbq: dont intepret cls results when asked to drop (Xin Long) [2168327] {CVE-2023-23454} - sctp: do not check hb_timer.expires when resetting hb_timer (Xin Long) [2133092] - arm64: Add AMPERE1 to the Spectre-BHB affected list (Mark Salter) [2140727] - net: mana: Fix accessing freed irq affinity_hint (Emanuele Giuseppe Esposito) [2168969] - net: mana: Assign interrupts to CPUs based on NUMA nodes (Emanuele Giuseppe Esposito) [2168969] - Revert "RDMA/irdma: Report the correct link speed" (Kamal Heib) [2143088] - Documentation/sysctl: document page_lock_unfairness (Nico Pache) [2165737] {CVE-2022-3623} - mm: allow a controlled amount of unfairness in the page lock (Nico Pache) [2165737] {CVE-2022-3623} - mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page (Nico Pache) [2165737] {CVE-2022-3623} - mm/migration: fix potential pte_unmap on an not mapped pte (Nico Pache) [2165737] {CVE-2022-3623} - mm/migrate.c: rework migration_entry_wait() to not take a pageref (Nico Pache) [2165737] {CVE-2022-3623} - mm: make wait_on_page_writeback() wait for multiple pending writebacks (Nico Pache) [2165737] {CVE-2022-3623} - mm: rewrite wait_on_page_bit_common() logic (Nico Pache) [2165737] {CVE-2022-3623} - mm/gup.c: use is_vm_hugetlb_page() to check whether to follow huge (Nico Pache) [2165737] {CVE-2022-3623}- perf/x86/amd: Fix crash due to race between amd_pmu_enable_all, perf NMI and throttling (Michael Petlan) [2085282] - x86/perf: Fix snapshot_branch_stack warning in VM (Michael Petlan) [2085282] - perf/x86/amd/core: Fix reloading events for SVM (Michael Petlan) [2085282 2086722] - perf/x86/amd: Run AMD BRS code only on supported hw (Michael Petlan) [2085282] - perf/x86/amd: Fix AMD BRS period adjustment (Michael Petlan) [2085282] - perf/x86/amd: Remove unused variable 'hwc' (Michael Petlan) [2085282] - perf/ibs: Fix comment (Michael Petlan) [2085282] - perf report: Add tools/arch/x86/include/asm/amd-ibs.h (Michael Petlan) [2085282] - perf/amd/ibs: Advertise zen4_ibs_extensions as pmu capability attribute (Michael Petlan) [2085282] - perf/amd/ibs: Add support for L3 miss filtering (Michael Petlan) [2085282] - perf/amd/ibs: Use ->is_visible callback for dynamic attributes (Michael Petlan) [2085282] - perf/amd/ibs: Cascade pmu init functions' return value (Michael Petlan) [2085282] - perf/amd/ibs: Use interrupt regs ip for stack unwinding (Michael Petlan) [2085282] - perf/x86/amd/core: Add PerfMonV2 overflow handling (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Add PerfMonV2 counter control (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Detect available counters (Michael Petlan) [2085282 2086722] - perf/x86/amd/core: Detect PerfMonV2 support (Michael Petlan) [2085282 2086722] - x86/msr: Add PerfCntrGlobal* registers (Michael Petlan) [2085282 2086722] - x86/cpufeatures: Add PerfMonV2 feature bit (Michael Petlan) [2085282 2086722] - perf/x86: Unify format of events sysfs show (Michael Petlan) [2085282] - perf/x86/amd: Add idle hooks for branch sampling (Michael Petlan) [2085282] - perf: Enable branch record for software events (Michael Petlan) [2085282] - redhat/configs: Enable AMD Zen3 branch sampling by default (Michael Petlan) [2085282] - perf/x86/amd: Make Zen3 branch sampling opt-in (Michael Petlan) [2085282] - perf/x86/amd: Add AMD branch sampling period adjustment (Michael Petlan) [2085282] - perf/x86/amd: Enable branch sampling priv level filtering (Michael Petlan) [2085282] - perf/x86/amd: Add branch-brs helper event for Fam19h BRS (Michael Petlan) [2085282] - perf/x86/amd: Add AMD Fam19h Branch Sampling support (Michael Petlan) [2085282] - perf/x86/amd/ibs: Add bitfield definitions in new header (Michael Petlan) [2085282] - perf/amd/uncore: Allow the driver to be built as a module (Michael Petlan) [2085282] - perf/amd/uncore: Clean up header use, use module_list from nf_tables_exit_net() (Florian Westphal) [2134371] - netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain() (Florian Westphal) [2134371] - netfilter: nf_tables: do not leave chain stats enabled on error (Florian Westphal) [2134371] - ipvs: use explicitly signed chars (Florian Westphal) [2134371] - netfilter: nf_tables: release flow rule object from commit path (Florian Westphal) [2134371] - netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain() (Florian Westphal) [2134371] - netfilter: nf_tables: clean up hook list when offload flags check fails (Florian Westphal) [2134371] - netfilter: br_netfilter: Drop dst references before setting. (Florian Westphal) [2134371] - netfilter: nft_tproxy: restrict to prerouting hook (Florian Westphal) [2134371] - netfilter: ebtables: fix memory leak when blob is malformed (Florian Westphal) [2134371] - netfilter: ebtables: reject blobs that don't provide all entry points (Florian Westphal) [2134371] - netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified (Florian Westphal) [2134371] - netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements (Florian Westphal) [2134371] - netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval flags (Florian Westphal) [2134371] - netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag (Florian Westphal) [2134371] - netfilter: nf_tables: possible module reference underflow in error path (Florian Westphal) [2134371] - netfilter: nf_tables: disallow NFTA_SET_ELEM_KEY_END with NFT_SET_ELEM_INTERVAL_END flag (Florian Westphal) [2134371] - netfilter: nf_tables: use READ_ONCE and WRITE_ONCE for shared generation id access (Florian Westphal) [2134371] - netfilter: nf_tables: fix null deref due to zeroed list head (Florian Westphal) [2134371]- bnxt_en: fix memory leak in bnxt_nvm_test() (Ken Cox) [2112186] - bnxt_en: Fix HDS and jumbo thresholds for RX packets (Ken Cox) [2112186] - bnxt_en: Fix first buffer size calculations for XDP multi-buffer (Ken Cox) [2112186] - bnxt_en: Fix XDP RX path (Ken Cox) [2112186] - bnxt_en: Simplify bnxt_xdp_buff_init() (Ken Cox) [2112186] - bnxt: prevent skb UAF after handing over to PTP worker (Ken Cox) [2112186] - bnxt_en: fix flags to check for supported fw version (Ken Cox) [2112186] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2112186] - bnxt_en: fix NQ resource accounting during vf creation on 57500 chips (Ken Cox) [2112186] - bnxt_en: set missing reload flag in devlink features (Ken Cox) [2112186] - bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in use (Ken Cox) [2112186] - bnxt_en: Remove duplicated include bnxt_devlink.c (Ken Cox) [2112186] - bnxt_en: implement callbacks for devlink selftests (Ken Cox) [2112186] - bnxt_en: Fix bnxt_refclk_read() (Ken Cox) [2112186] - bnxt_en: fix livepatch query (Ken Cox) [2112186] - bnxt_en: Fix bnxt_reinit_after_abort() code path (Ken Cox) [2112186] - bnxt_en: reclaim max resources if sriov enable fails (Ken Cox) [2112186] - bnxt: Use the bitmap API to allocate bitmaps (Ken Cox) [2112186] - bnxt: Fix typo in comments (Ken Cox) [2112186] - eth: bnxt: make ulp_id unsigned to make GCC 12 happy (Ken Cox) [2112186] - bnxt_en: Enable packet timestamping for all RX packets (Ken Cox) [2112186] - bnxt_en: Configure ptp filters during bnxt open (Ken Cox) [2112186] - bnxt_en: Update firmware interface to 1.10.2.95 (Ken Cox) [2112186] - bnxt: add page_pool support for aggregation ring when using xdp (Ken Cox) [2112186] - bnxt: change receive ring space parameters (Ken Cox) [2112186] - bnxt: rename bnxt_rx_pages to bnxt_rx_agg_pages_skb (Ken Cox) [2112186] - bnxt: refactor bnxt_rx_pages operate on skb_shared_info (Ken Cox) [2112186] - bnxt: add flag to denote that an xdp program is currently attached (Ken Cox) [2112186] - bnxt: refactor bnxt_rx_xdp to separate xdp_init_buff/xdp_prepare_buff (Ken Cox) [2112186] - bnxt: report header-data split state (Ken Cox) [2112186] - net: Don't include filter.h from net/sock.h (Ken Cox) [2112186] - ethernet: constify references to netdev->dev_addr in drivers (Ken Cox) [2112186] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2112186] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ken Cox) [2112186] - bnxt_en: Use struct_group_attr() for memcpy() region (Ken Cox) [2112186] - net: don't include ethtool.h from netdevice.h (Ken Cox) [2112186] - treewide: Use fallthrough pseudo-keyword (Ken Cox) [2112186] - net: Use skb_frag_off accessors (Ken Cox) [2112186] - net: Use skb accessors in network drivers (Ken Cox) [2112186] - ethernet: remove redundant memset (Ken Cox) [2112186] - treewide: Add SPDX license identifier - Makefile/Kconfig (Ken Cox) [2112186]- ASoC: amd: renoir: Add a module parameter to influence pdm_gain (Jaroslav Kysela) [2169761] - ASoC: amd: renoir: Adjust the gain for PDM DMIC (Jaroslav Kysela) [2169761] - ASoC: amd: yc: Add a module parameter to influence pdm_gain (Jaroslav Kysela) [2169761] - ASoC: amd: yc: Adjust the gain for PDM DMIC (Jaroslav Kysela) [2169761] - genirq: Fix reference leaks on irq affinity notifiers (Ricardo Robaina) [2154842] - genirq: Prevent use-after-free and work list corruption (Ricardo Robaina) [2154842] - perf/x86/uncore: Don't WARN_ON_ONCE() for a broken discovery table (Michael Petlan) [2154044] - perf/x86/uncore: Add a quirk for UPI on SPR (Michael Petlan) [2154044] - perf/x86/uncore: Ignore broken units in discovery table (Michael Petlan) [2154044] - perf/x86/uncore: Fix potential NULL pointer in uncore_get_alias_name (Michael Petlan) [2154044] - perf/x86/uncore: Factor out uncore_device_to_die() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology() (Michael Petlan) [2154044] - perf/x86/intel/uncore: Make set_mapping() procedure void (Michael Petlan) [2154044] - perf/x86/intel/uncore: Update sysfs-devices-mapping file (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Sapphire Rapids (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Icelake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Get UPI NodeID and GroupID (Michael Petlan) [2154044] - perf/x86/intel/uncore: Enable UPI topology discovery for Skylake Server (Michael Petlan) [2154044] - perf/x86/intel/uncore: Generalize get_topology() for SKX PMUs (Michael Petlan) [2154044] - perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D (Michael Petlan) [2154044] - perf/x86/intel/uncore: Clear attr_update properly (Michael Petlan) [2154044] - perf/x86/intel/uncore: Introduce UPI topology type (Michael Petlan) [2154044] - perf/x86/intel/uncore: Generalize IIO topology support (Michael Petlan) [2154044]- net/mlx4: Check retval of mlx4_bitmap_init (Amir Tzin) [2150787] - net/mlx4: Fix error check for dma_map_sg (Amir Tzin) [2150787] - net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure (Amir Tzin) [2150787] - RDMA/mlx4: Avoid flush_scheduled_work() usage (Amir Tzin) [2150787] - net: mellanox: fix open-coded for_each_set_bit() (Amir Tzin) [2150787] - tracing: Add linear buckets to histogram logic (Jerome Marchand) [2161509] - configs/generic: enable CONFIG_RTC_SYSTOHC (Marcelo Tosatti) [2135417] - watchdog: fix UAF in reboot notifier handling in watchdog core code (Wander Lairson Costa) [2131308]- drm/i915/fbdev: do not create fbdev if HPD is suspended (Jocelyn Falempe) [2156006] - drm/i915/fbdev: suspend HPD before fbdev unregistration (Jocelyn Falempe) [2156006] - drm/i915/hpd: suspend MST at the end of intel_modeset_driver_remove (Jocelyn Falempe) [2156006] - drm/i915/gvt: fix vgpu debugfs clean in remove (Jocelyn Falempe) [2115903] - drm/i915/gvt: fix gvt debugfs destroy (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix kernel warning during topology setup (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: Enable Freesync Video Mode by default" (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix double release compute pasid (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix kfd_process_device_init_vm error handling (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix size validation for non-exclusive domains (v4) (Jocelyn Falempe) [2115903] - drm/i915/gvt: fix double free bug in split_2MB_gtt_entry (Jocelyn Falempe) [2115903] - drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() (Jocelyn Falempe) [2115903] - drm/amd/pm: correct the fan speed retrieving in PWM for some SMU13 asics (Jocelyn Falempe) [2115903] - drm/amd/pm: bump SMU13.0.0 driver_if header to version 0x34 (Jocelyn Falempe) [2115903] - drm/amd/pm: add missing SMU13.0.7 mm_dpm feature mapping (Jocelyn Falempe) [2115903] - drm/amd/pm: add missing SMU13.0.0 mm_dpm feature mapping (Jocelyn Falempe) [2115903] - drm/i915/migrate: Account for the reserved_space (Jocelyn Falempe) [2115903] - drm/i915: improve the catch-all evict to handle lock contention (Jocelyn Falempe) [2115903] - drm/amdgpu: make display pinning more flexible (v2) (Jocelyn Falempe) [2115903] - drm/amdgpu: handle polaris10/11 overlap asics (v2) (Jocelyn Falempe) [2115903] - drm/amd/display: Add DCN314 display SG Support (Jocelyn Falempe) [2115903] - drm/i915/ttm: consider CCS for backup objects (Jocelyn Falempe) [2115903] - drm/i915/dsi: fix VBT send packet port selection for dual link DSI (Jocelyn Falempe) [2115903] - drm/vmwgfx: Validate the box size for the snooped cursor (Jocelyn Falempe) [2115903] - drm/connector: send hotplug uevent on connector cleanup (Jocelyn Falempe) [2115903] - drm/amdgpu: fix mmhub register base coding error (Jocelyn Falempe) [2115903] - drm/amd/pm: correct SMU13.0.0 pstate profiling clock settings (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU13.0.0 reported maximum shader clock (Jocelyn Falempe) [2115903] - drm/amdgpu: skip MES for S0ix as well since it's part of GFX (Jocelyn Falempe) [2115903] - drm/amd/display: revert Disable DRR actions during state commit (Jocelyn Falempe) [2115903] - drm/amd/pm: avoid large variable on kernel stack (Jocelyn Falempe) [2115903] - drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern (Jocelyn Falempe) [2115903] - drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid() (Jocelyn Falempe) [2115903] - drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid() (Jocelyn Falempe) [2115903] - drm/amd/display: Fix DTBCLK disable requests and SRC_SEL programming (Jocelyn Falempe) [2115903] - drm/amd/display: Use the largest vready_offset in pipe group (Jocelyn Falempe) [2115903] - drm/amd/display: fix array index out of bound error in bios parser (Jocelyn Falempe) [2115903] - drm/amd/display: Workaround to increase phantom pipe vactive in pipesplit (Jocelyn Falempe) [2115903] - drm/sti: Use drm_mode_copy() (Jocelyn Falempe) [2115903] - drm/amd/display: Disable DRR actions during state commit (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix type of second parameter in trans_msg() callback (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: Limit max DSC target bpp for specific monitors" (Jocelyn Falempe) [2115903] - drm/edid: add a quirk for two LG monitors to get them to work on 10bpc (Jocelyn Falempe) [2115903] - drm/amd/display: prevent memory leak (Jocelyn Falempe) [2115903] - drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix memory leakage (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() (Jocelyn Falempe) [2115903] - drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() (Jocelyn Falempe) [2115903] - amdgpu/nv.c: Corrected typo in the video capabilities resolution (Jocelyn Falempe) [2115903] - drm/amd/pm/smu11: BACO is supported when it's in BACO state (Jocelyn Falempe) [2115903] - drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe() (Jocelyn Falempe) [2115903] - drm/i915/guc: make default_lists const data (Jocelyn Falempe) [2115903] - drm/amdgpu: fix pci device refcount leak (Jocelyn Falempe) [2115903] - drm/fourcc: Fix vsub/hsub for Q410 and Q401 (Jocelyn Falempe) [2115903] - amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table() (Jocelyn Falempe) [2115903] - drm/radeon: Add the missed acpi_put_table() to fix memory leak (Jocelyn Falempe) [2115903] - drm/ttm: fix undefined behavior in bit shift for TTM_TT_FLAG_PRIV_POPULATED (Jocelyn Falempe) [2115903] - drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure (Jocelyn Falempe) [2115903] - drm/amd/display: wait for vblank during pipe programming (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix GuC error capture sizing estimation and reporting (Jocelyn Falempe) [2115903] - drm/i915/guc: Add error-capture init warnings when needed (Jocelyn Falempe) [2115903] - drm/i915/guc: Make GuC log sizes runtime configurable (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix capture size warning and bump the size (Jocelyn Falempe) [2115903] - drm/i915/guc: Add a helper for log buffer size (Jocelyn Falempe) [2115903] - drm/i915: Fix compute pre-emption w/a to apply to compute engines (Jocelyn Falempe) [2115903] - drm/i915/guc: Limit scheduling properties to avoid overflow (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Initialize AUX channel in it6505_i2c_probe (Jocelyn Falempe) [2115903] - drm/amdgpu/powerplay/psm: Fix memory leak in power state init (Jocelyn Falempe) [2115903] - drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge (Jocelyn Falempe) [2115903] - drm/atomic-helper: Don't allocate new plane state in CRTC check (Jocelyn Falempe) [2115903] - drm/amdgpu/vcn: update vcn4 fw shared data structure (Jocelyn Falempe) [2115903] - drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 (Jocelyn Falempe) [2115903] - drm/bridge: ti-sn65dsi86: Fix output polarity setting bug (Jocelyn Falempe) [2115903] - drm/vmwgfx: Fix race issue calling pin_user_pages (Jocelyn Falempe) [2115903] - drm/shmem-helper: Avoid vm_open error paths (Jocelyn Falempe) [2115903] - drm/shmem-helper: Remove errant put in error path (Jocelyn Falempe) [2115903] - drm/amd/display: fix array index out of bound error in DCN32 DML (Jocelyn Falempe) [2115903] - drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend (Jocelyn Falempe) [2115903] - drm/vmwgfx: Don't use screen objects when SEV is active (Jocelyn Falempe) [2115903] - drm/amdgpu: fix use-after-free during gpu recovery (Jocelyn Falempe) [2115903] - drm/amd/display: Use new num clk levels struct for max mclk index (Jocelyn Falempe) [2115903] - drm/amd/display: Avoid setting pixel rate divider to N/A (Jocelyn Falempe) [2115903] - drm/amd/display: Use viewport height for subvp mall allocation size (Jocelyn Falempe) [2115903] - drm/i915: Remove non-existent pipes from bigjoiner pipe mask (Jocelyn Falempe) [2115903] - drm/i915: Never return 0 if not all requests retired (Jocelyn Falempe) [2115903] - drm/i915: Fix negative value passed as remaining time (Jocelyn Falempe) [2115903] - drm/amdgpu: enable Vangogh VCN indirect sram mode (Jocelyn Falempe) [2115903] - drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame (Jocelyn Falempe) [2115903] - drm/amd/pm: update driver if header for smu_13_0_7 (Jocelyn Falempe) [2115903] - drm/amd/pm: update driver-if header for smu_v13_0_10 (Jocelyn Falempe) [2115903] - drm/amd/pm: add smu_v13_0_10 driver if version (Jocelyn Falempe) [2115903] - drm/amdgpu: fix userptr HMM range handling v2 (Jocelyn Falempe) [2115903] - drm/amdgpu: cleanup error handling in amdgpu_cs_parser_bos (Jocelyn Falempe) [2115903] - drm/amdgpu: move setting the job resources (Jocelyn Falempe) [2115903] - drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly when the edid is read" (Jocelyn Falempe) [2115903] - drm/amdgpu: always register an MMU notifier for userptr (Jocelyn Falempe) [2115903] - drm/amd/display: Update soc bounding box for dcn32/dcn321 (Jocelyn Falempe) [2115903] - drm/amd/amdgpu: reserve vm invalidation engine for firmware (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable Aldebaran devices to report CU Occupancy (Jocelyn Falempe) [2115903] - drm/amdgpu/psp: don't free PSP buffers on suspend (Jocelyn Falempe) [2115903] - drm/amd/display: No display after resume from WB/CB (Jocelyn Falempe) [2115903] - drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN (Jocelyn Falempe) [2115903] - drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code (Jocelyn Falempe) [2115903] - drm/i915/ttm: never purge busy objects (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix a memory limit issue (Jocelyn Falempe) [2115903] - drm/amdgpu: disable BACO support on more cards (Jocelyn Falempe) [2115903] - drm/amd/display: use uclk pstate latency for fw assisted mclk validation dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix calculation for cursor CAB allocation (Jocelyn Falempe) [2115903] - drm/amd/display: Update MALL SS NumWays calculation (Jocelyn Falempe) [2115903] - drm/amd/display: Add debug option for allocating extra way for cursor (Jocelyn Falempe) [2115903] - drm/amd/display: Added debug option for forcing subvp num ways (Jocelyn Falempe) [2115903] - drm/amdkfd: update GFX11 CWSR trap handler (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable SA software trap. (Jocelyn Falempe) [2115903] - dma-buf: Use dma_fence_unwrap_for_each when importing fences (Jocelyn Falempe) [2115903] - dma-buf: fix racing conflict of dma_heap_add() (Jocelyn Falempe) [2115903] - drm/i915: Fix warn in intel_display_power_*_domain() functions (Jocelyn Falempe) [2115903] - drm/amd/display: only fill dirty rectangles when PSR is enabled (Jocelyn Falempe) [2115903] - drm/amdgpu: Drop eviction lock when allocating PT BO (Jocelyn Falempe) [2115903] - Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"" (Jocelyn Falempe) [2115903] - drm/amd/display: Fix gpio port mapping issue (Jocelyn Falempe) [2115903] - drm/amd/display: Fix FCLK deviation and tool compile issues (Jocelyn Falempe) [2115903] - drm/amd/display: Zeromem mypipe heap struct before using it (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix prefetch calculations for dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: don't enable DRM CRTC degamma property for DCE (Jocelyn Falempe) [2115903] - drm/amd/display: Fix optc2_configure warning on dcn314 (Jocelyn Falempe) [2115903] - drm/amd/display: Support parsing VRAM info v3.0 from VBIOS (Jocelyn Falempe) [2115903] - drm/amd/display: Fix access timeout to DPIA AUX at boot time (Jocelyn Falempe) [2115903] - drm/amd/display: Add HUBP surface flip interrupt handler (Jocelyn Falempe) [2115903] - drm/amd/display: Fix invalid DPIA AUX reply causing system hang (Jocelyn Falempe) [2115903] - drm/display: Don't assume dual mode adaptors support i2c sub-addressing (Jocelyn Falempe) [2115903] - drm/amd/pm: fix SMU13 runpm hang due to unintentional workaround (Jocelyn Falempe) [2115903] - drm/amd/pm: enable runpm support over BACO for SMU13.0.0 (Jocelyn Falempe) [2115903] - drm/amd/pm: enable runpm support over BACO for SMU13.0.7 (Jocelyn Falempe) [2115903] - drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker() (Jocelyn Falempe) [2115903] - drm/drv: Fix potential memory leak in drm_dev_init() (Jocelyn Falempe) [2115903] - drm/panel: simple: set bpc field for logic technologies displays (Jocelyn Falempe) [2115903] - drm/amd/display: Investigate tool reported FCLK P-state deviations (Jocelyn Falempe) [2115903] - drm/amd/display: Round up DST_after_scaler to nearest int (Jocelyn Falempe) [2115903] - drm/amd/display: Use forced DSC bpp in DML (Jocelyn Falempe) [2115903] - drm/amd/display: Fix DCN32 DSC delay calculation (Jocelyn Falempe) [2115903] - drm/amd: Fail the suspend if resources can't be evicted (Jocelyn Falempe) [2115903] - drm/amdgpu: set fb_modifiers_not_supported in vkms (Jocelyn Falempe) [2115903] - drm/amd/display: Enable timing sync on DCN32 (Jocelyn Falempe) [2115903] - drm/amd/display: Ignore Cable ID Feature (Jocelyn Falempe) [2115903] - drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid (Jocelyn Falempe) [2115903] - drm/scheduler: fix fence ref counting (Jocelyn Falempe) [2115903] - drm/amd/display: Don't return false if no stream (Jocelyn Falempe) [2115903] - drm/amd/display: Remove wrong pipe control lock (Jocelyn Falempe) [2115903] - drm/amdgpu: Adjust MES polling timeout for sriov (Jocelyn Falempe) [2115903] - drm/amdkfd: Migrate in CPU page fault use current mm (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix error handling in kfd_criu_restore_events (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix error handling in criu_checkpoint (Jocelyn Falempe) [2115903] - drm/amdgpu: disable BACO on special BEIGE_GOBY card (Jocelyn Falempe) [2115903] - drm/amdgpu: workaround for TLB seq race (Jocelyn Falempe) [2115903] - drm/amd/display: Update SR watermarks for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU IP v13.0.4 msg interface header (Jocelyn Falempe) [2115903] - drm/amd/display: Fix reg timeout in enc314_enable_fifo (Jocelyn Falempe) [2115903] - drm/i915/dmabuf: fix sg_table handling in map_dma_buf (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix the lpfn checking condition in drm buddy (Jocelyn Falempe) [2115903] - drm/i915: Do not set cache_dirty for DGFX (Jocelyn Falempe) [2115903] - drm/i915/psr: Send update also on invalidate (Jocelyn Falempe) [2115903] - drm/vc4: Fix missing platform_unregister_drivers() call in vc4_drm_register() (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram() (Jocelyn Falempe) [2115903] - drm/amdkfd: handle CPU fault on COW mapping (Jocelyn Falempe) [2115903] - drm/amd/display: Set memclk levels to be at least 1 for dcn32 (Jocelyn Falempe) [2115903] - drm/amd/display: Limit dcn32 to 1950Mhz display clock (Jocelyn Falempe) [2115903] - drm/amd/display: Acquire FCLK DPM levels on DCN32 (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Grab mode_config.mutex during LVDS init to avoid WARNs (Jocelyn Falempe) [2115903] - drm/i915: Simplify intel_panel_add_edid_alt_fixed_modes() (Jocelyn Falempe) [2115903] - drm/i915: Allow more varied alternate fixed modes for panels (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Setup DDC fully before output init (Jocelyn Falempe) [2115903] - drm/i915/sdvo: Filter out invalid outputs more sensibly (Jocelyn Falempe) [2115903] - drm/amd/display: Update DSC capabilitie for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/display: Update latencies on DCN321 (Jocelyn Falempe) [2115903] - drm/amdgpu: disable GFXOFF during compute for GFX11 (Jocelyn Falempe) [2115903] - drm/i915: stop abusing swiotlb_max_segment (Jocelyn Falempe) [2115903] - drm/rockchip: fix fbdev on non-IOMMU devices (Jocelyn Falempe) [2115903] - drm/rockchip: dw_hdmi: filter regulator -EPROBE_DEFER error messages (Jocelyn Falempe) [2115903] - drm/amdgpu: dequeue mes scheduler during fini (Jocelyn Falempe) [2115903] - drm/amdgpu: Program GC registers through RLCG interface in gfx_v11/gmc_v11 (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback (Jocelyn Falempe) [2115903] - drm/amd/pm: skip loading pptable from driver on secure board for smu_v13_0_10 (Jocelyn Falempe) [2115903] - drm/amdgpu: set vm_update_mode=0 as default for Sienna Cichlid in SRIOV case (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr() (Jocelyn Falempe) [2115903] - drm/i915/dp: Reset frl trained flag before restarting FRL training (Jocelyn Falempe) [2115903] - drm/i915/dgfx: Keep PCI autosuspend control 'on' by default on all dGPU (Jocelyn Falempe) [2115903] - drm/bridge: ps8640: Add back the 50 ms mystery delay after HPD (Jocelyn Falempe) [2115903] - drm/msm: Fix return type of mdp4_lvds_connector_mode_valid (Jocelyn Falempe) [2115903] - drm/msm/hdmi: fix memory corruption with too many bridges (Jocelyn Falempe) [2115903] - drm/msm/dsi: fix memory corruption with too many bridges (Jocelyn Falempe) [2115903] - drm/amdkfd: correct the cache info for gfx1036 (Jocelyn Falempe) [2115903] - drm/amdkfd: update gfx1037 Lx cache setting (Jocelyn Falempe) [2115903] - drm/amd/display: Revert logic for plane modifiers (Jocelyn Falempe) [2115903] - drm/amdgpu: fix pstate setting issue (Jocelyn Falempe) [2115903] - drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume (Jocelyn Falempe) [2115903] - drm/amdgpu: Remove ATC L2 access for MMHUB 2.1.x (Jocelyn Falempe) [2115903] - drm/i915: Extend Wa_1607297627 to Alderlake-P (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix for BO move issue (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix VRAM BO swap issue (Jocelyn Falempe) [2115903] - drm/vc4: Add module dependency on hdmi-codec (Jocelyn Falempe) [2115903] - drm/amdgpu: fix sdma doorbell init ordering on APUs (Jocelyn Falempe) [2115903] - drm/amd/pm: update SMU IP v13.0.4 driver interface version (Jocelyn Falempe) [2115903] - drm/amd/pm: fulfill SMU13.0.0 cstate control interface (Jocelyn Falempe) [2115903] - drm/amd/pm: disable cstate feature for gpu reset scenario (Jocelyn Falempe) [2115903] - drm/amd/pm: add SMU IP v13.0.4 IF version define to V7 (Jocelyn Falempe) [2115903] - drm/amd/pm: fulfill SMU13.0.7 cstate control interface (Jocelyn Falempe) [2115903] - drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers (Jocelyn Falempe) [2115903] - drm/i915/bios: Validate fp_timing terminator presence (Jocelyn Falempe) [2115903] - drm/amd/display: Fix build breakage with CONFIG_DEBUG_FS=n (Jocelyn Falempe) [2115903] - Revert "drm/amd/display: correct hostvm flag" (Jocelyn Falempe) [2115903] - drm/amdkfd: Fix UBSAN shift-out-of-bounds warning (Jocelyn Falempe) [2115903] - drm/amd/display: polling vid stream status in hpo dp blank (Jocelyn Falempe) [2115903] - drm/amd/display: Remove interface for periodic interrupt 1 (Jocelyn Falempe) [2115903] - drm/dp: Don't rewrite link config when setting phy test pattern (Jocelyn Falempe) [2115903] - drm/amdgpu: fix initial connector audio value (Jocelyn Falempe) [2115903] - drm/amd/display: correct hostvm flag (Jocelyn Falempe) [2115903] - drm/amd/display: Fix urgent latency override for DCN32/DCN321 (Jocelyn Falempe) [2115903] - drm/amdgpu: SDMA update use unlocked iterator (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Aya Neo Air (Jocelyn Falempe) [2115903] - drm: panel-orientation-quirks: Add quirk for Anbernic Win600 (Jocelyn Falempe) [2115903] - drm/vc4: vec: Fix timings for VEC modes (Jocelyn Falempe) [2115903] - drm/admgpu: Skip CG/PG on SOC21 under SRIOV VF (Jocelyn Falempe) [2115903] - drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix variable dereferenced before check (Jocelyn Falempe) [2115903] - drm: bridge: dw_hdmi: only trigger hotplug event on link change (Jocelyn Falempe) [2115903] - drm/amd: fix potential memory leak (Jocelyn Falempe) [2115903] - udmabuf: Set ubuf->sg = NULL if the creation of sg table fails (Jocelyn Falempe) [2115903] - drm/amd/display: fix overflow on MIN_I64 definition (Jocelyn Falempe) [2115903] - gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init() (Jocelyn Falempe) [2115903] - drm: Prevent drm_copy_field() to attempt copying a NULL pointer (Jocelyn Falempe) [2115903] - drm: Use size_t type for len variable in drm_copy_field() (Jocelyn Falempe) [2115903] - drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc() (Jocelyn Falempe) [2115903] - virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() (Jocelyn Falempe) [2115903] - drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl() (Jocelyn Falempe) [2115903] - drm/amdgpu: Fix memory leak in hpd_rx_irq_create_workqueue() (Jocelyn Falempe) [2115903] - drm/bochs: fix blanking (Jocelyn Falempe) [2115903] - drm/virtio: set fb_modifiers_not_supported (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Fix the order of DP_SET_POWER commands (Jocelyn Falempe) [2115903] - drm/bridge: megachips: Fix a null pointer dereference bug (Jocelyn Falempe) [2115903] - drm/amdgpu: add missing pci_disable_device() in amdgpu_pmops_runtime_resume() (Jocelyn Falempe) [2115903] - drm: fix drm_mipi_dbi build errors (Jocelyn Falempe) [2115903] - drm/panel: use 'select' for Ili9341 panel driver helpers (Jocelyn Falempe) [2115903] - drm/virtio: Fix same-context optimization (Jocelyn Falempe) [2115903] - drm/i915/dg2: Bump up CDCLK for DG2 (Jocelyn Falempe) [2115903] - drm/dp_mst: fix drm_dp_dpcd_read return value checks (Jocelyn Falempe) [2115903] - drm/format-helper: Fix test on big endian architectures (Jocelyn Falempe) [2115903] - drm/bridge: parade-ps8640: Fix regulator supply order (Jocelyn Falempe) [2115903] - drm/bridge: tc358767: Add of_node_put() when breaking out of loop (Jocelyn Falempe) [2115903] - drm/bridge: anx7625: Fix refcount bug in anx7625_parse_dt() (Jocelyn Falempe) [2115903] - drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling (Jocelyn Falempe) [2115903] - drm/bridge: it6505: Power on downstream device in .atomic_enable (Jocelyn Falempe) [2115903] - drm/mipi-dsi: Detach devices when removing the host (Jocelyn Falempe) [2115903] - drm/bridge: Avoid uninitialized variable warning (Jocelyn Falempe) [2115903] - drm: bridge: adv7511: unregister cec i2c device after cec adapter (Jocelyn Falempe) [2115903] - drm: bridge: adv7511: fix CEC power down control register offset (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd (Jocelyn Falempe) [2115903] - drm/amdgpu: Enable VCN PG on GC11_0_1 (Jocelyn Falempe) [2115903] - drm/amd/display: explicitly disable psr_feature_enable appropriately (Jocelyn Falempe) [2115903] - drm/amd/display: Add HUBP surface flip interrupt handler (Jocelyn Falempe) [2115903] - drm/amd/display: Fix vblank refcount in vrr transition (Jocelyn Falempe) [2115903] - drm/amd/display: Enable 2 to 1 ODM policy if supported (Jocelyn Falempe) [2115903] - drm/amd/display: Enable dpia support for dcn314 (Jocelyn Falempe) [2115903] - drm/amd/display: Validate DSC After Enable All New CRTCs (Jocelyn Falempe) [2115903] - drm/amd/display: zeromem mypipe heap struct before using it (Jocelyn Falempe) [2115903] - drm/amd/display: Update PMFW z-state interface for DCN314 (Jocelyn Falempe) [2115903] - drm/amd/display: Fix watermark calculation (Jocelyn Falempe) [2115903] - drm/i915: Fix display problems after resume (Jocelyn Falempe) [2115903] - drm/i915/guc: Fix revocation of non-persistent contexts (Jocelyn Falempe) [2115903] - drm/i915/gt: Use i915_vm_put on ppgtt_create error paths (Jocelyn Falempe) [2115903] - drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table() (Jocelyn Falempe) [2115903] - drm/udl: Restore display mode on resume (Jocelyn Falempe) [2115903] - drm/virtio: Use appropriate atomic state in virtio_gpu_plane_cleanup_fb() (Jocelyn Falempe) [2115903] - drm/virtio: Unlock reservations on dma_resv_reserve_fences() error (Jocelyn Falempe) [2115903] - drm/virtio: Unlock reservations on virtio_gpu_object_shmem_init() error (Jocelyn Falempe) [2115903] - drm/virtio: Check whether transferred 2D BO is shmem (Jocelyn Falempe) [2115903] - Revert "drm/amdgpu: use dirty framebuffer helper" (Jocelyn Falempe) [2115903]- nvme: fix SRCU protection of nvme_ns_head list (Ewan D. Milne) [2113865] - perf vendor events power10: Fix hv-24x7 metric events (Mamatha Inamdar) [2149192] - perf tests: Fix 'perf probe' error log check in skip_if_no_debuginfo (Mamatha Inamdar) [2149192] - perf tests: Fix *probe_vfs_getname.sh test failures (Mamatha Inamdar) [2149192] - blk-cgroup: Optimize blkcg_rstat_flush() (Waiman Long) [2162173] - blk-cgroup: Return -ENOMEM directly in blkcg_css_alloc() error path (Waiman Long) [2162173] - blk-cgroup: factor out blkcg_iostat_update() (Waiman Long) [2162173] - mm/memcg: Free percpu stats memory of dying memcg's again (Waiman Long) [2162173] - memcg: sync flush only if periodic flush is delayed (Waiman Long) [2162173] - memcg: better bounds on the memcg stats updates (Waiman Long) [2162173] - memcg: unify memcg stat flushing (Waiman Long) [2162173] - memcg: flush stats only if updated (Waiman Long) [2162173] - memcg: flush lruvec stats in the refault (Waiman Long) [2162173] - memcg: infrastructure to flush memcg stats (Waiman Long) [2162173] - memcg: switch lruvec stats to rstat (Waiman Long) [2162173] - mm/memcg: Remove mem_cgroup_per_node from being kABI protected (Waiman Long) [2162173] - mm/memcg: Revert "Free percpu stats memory of dying memcg's" (Waiman Long) [2162173]- virt/sev-guest: Prevent IV reuse in the SNP guest driver (John Allen) [2087262] - virt/sev-guest: Add a MODULE_ALIAS (John Allen) [2087262] - virt/sev-guest: Remove unnecessary free in init_crypto() (John Allen) [2087262] - x86/sev: Don't use cc_platform_has() for early SEV-SNP calls (John Allen) [2087262] - x86/boot: Don't propagate uninitialized boot_params->cc_blob_address (John Allen) [2087262] - x86/idt: Rework IDT setup for boot CPU (John Allen) [2087262] - x86/cpu: Init AP exception handling from cpu_init_secondary() (John Allen) [2087262] - x86/idt: Cleanup trap_init() (John Allen) [2087262] - x86/idt: Annotate alloc_intr_gate() with __init (John Allen) [2087262] - redhat/configs: enable CONFIG_SEV_GUEST (John Allen) [2087262] - virt: sev-guest: Pass the appropriate argument type to iounmap() (John Allen) [2087262] - x86/compressed/64: Add identity mappings for setup_data entries (John Allen) [2087262] - x86/sev: Mark the code returning to user space as syscall gap (John Allen) [2087262] - x86/sev: Annotate stack change in the #VC handler (John Allen) [2087262] - x86/sev: Remove duplicated assignment to variable info (John Allen) [2087262] - x86/sev: Fix address space sparse warning (John Allen) [2087262] - x86/sev: Get the AP jump table address from secrets page (John Allen) [2087262] - x86/sev: Add missing __init annotations to SEV init routines (John Allen) [2087262] - virt: sevguest: Rename the sevguest dir and files to sev-guest (John Allen) [2087262] - virt: sevguest: Change driver name to reflect generic SEV support (John Allen) [2087262] - x86/boot: Put globals that are accessed early into the .data section (John Allen) [2087262] - x86/boot: Add an efi.h header for the decompressor (John Allen) [2087262] - virt: sevguest: Fix bool function returning negative value (John Allen) [2087262] - virt: sevguest: Fix return value check in alloc_shared_pages() (John Allen) [2087262] - x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO (John Allen) [2087262] - x86/sev-es: Replace open-coded hlt-loop with sev_es_terminate() (John Allen) [2087262] - virt: sevguest: Add documentation for SEV-SNP CPUID Enforcement (John Allen) [2087262] - virt: sevguest: Add support to get extended report (John Allen) [2087262] - virt: sevguest: Add support to derive key (John Allen) [2087262] - virt: Add SEV-SNP guest driver (John Allen) [2087262] - x86/sev: Register SEV-SNP guest request platform device (John Allen) [2087262] - x86/sev: Provide support for SNP guest request NAEs (John Allen) [2087262] - x86/sev: Add a sev= cmdline option (John Allen) [2087262] - x86/sev: Use firmware-validated CPUID for SEV-SNP guests (John Allen) [2087262] - x86/sev: Add SEV-SNP feature detection/setup (John Allen) [2087262] - x86/sev: Check SME/SEV support in CPUID first (John Allen) [2087262] - x86/compressed/64: Add identity mapping for Confidential Computing blob (John Allen) [2087262] - x86/compressed: Export and rename add_identity_map() (John Allen) [2087262] - x86/compressed: Use firmware-validated CPUID leaves for SEV-SNP guests (John Allen) [2087262] - x86/compressed: Add SEV-SNP feature detection/setup (John Allen) [2087262] - x86/boot: Add a pointer to Confidential Computing blob in bootparams (John Allen) [2087262] - x86/boot: Preserve boot_params.secure_boot from sanitizing (John Allen) [2087262] - x86/boot: Fix boot regression caused by bootparam sanitizing (John Allen) [2087262] - x86/boot: Save fields explicitly, zero out everything else (John Allen) [2087262] - x86/compressed/64: Add support for SEV-SNP CPUID table in #VC handlers (John Allen) [2087262] - x86/sev: Move MSR-based VMGEXITs for CPUID to helper (John Allen) [2087262] - KVM: x86: Move lookup of indexed CPUID leafs to helper (John Allen) [2087262] - x86/boot: Add Confidential Computing type to setup_data (John Allen) [2087262] - x86/compressed/acpi: Move EFI kexec handling into common code (John Allen) [2087262] - x86/compressed/acpi: Move EFI vendor table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI config table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI system table lookup to helper (John Allen) [2087262] - x86/compressed/acpi: Move EFI detection to helper (John Allen) [2087262] - x86/head/64: Re-enable stack protection (John Allen) [2087262] - x86/sev: Use SEV-SNP AP creation to start secondary CPUs (John Allen) [2087262] - x86/apic/of: Fix CPU devicetree-node lookups (John Allen) [2087262] - x86/mm: Validate memory when changing the C-bit (John Allen) [2087262] - x86/kernel: Validate ROM memory before accessing when SEV-SNP is active (John Allen) [2087262] - x86/kernel: Mark the .bss..decrypted section as shared in the RMP table (John Allen) [2087262] - x86/sev: Add helper for validating pages in early enc attribute changes (John Allen) [2087262] - x86/sev: Register GHCB memory when SEV-SNP is active (John Allen) [2087262] - x86/compressed: Register GHCB memory when SEV-SNP is active (John Allen) [2087262] - x86/compressed: Add helper for validating pages in the decompression stage (John Allen) [2087262] - x86/sev: Check the VMPL level (John Allen) [2087262] - x86/sev: Add a helper for the PVALIDATE instruction (John Allen) [2087262] - x86/sev: Check SEV-SNP features support (John Allen) [2087262] - x86/mm: Extend cc_attr to include AMD SEV-SNP (John Allen) [2087262] - x86/sev: Detect/setup SEV/SME features earlier in boot (John Allen) [2087262] - x86/compressed/64: Detect/setup SEV/SME features earlier during boot (John Allen) [2087262] - x86/boot: Use MSR read/write helpers instead of inline assembly (John Allen) [2087262] - x86/boot: Introduce helpers for MSR reads/writes (John Allen) [2087262] - KVM: SVM: Update the SEV-ES save area mapping (John Allen) [2087262] - KVM: SVM: Create a separate mapping for the GHCB save area (John Allen) [2087262] - KVM: SVM: Create a separate mapping for the SEV-ES save area (John Allen) [2087262] - KVM: SVM: Define sev_features and VMPL field in the VMSA (John Allen) [2087262] - x86/sev: Remove do_early_exception() forward declarations (John Allen) [2087262] - x86/sev: Make the #VC exception stacks part of the default stacks storage (John Allen) [2087262] - x86: Increase exception stack sizes (John Allen) [2087262] - x86/head64: Carve out the guest encryption postprocessing into a helper (John Allen) [2087262] - x86/sev: Get rid of excessive use of defines (John Allen) [2087262] - x86/sev: Add defines for GHCB version 2 MSR protocol requests (John Allen) [2087262] - x86/sev: Make sure IRQs are disabled while GHCB is active (John Allen) [2087262] - x86/sev: Propagate #GP if getting linear instruction address failed (John Allen) [2087262] - x86/insn: Extend error reporting from insn_fetch_from_user[_inatomic]() (John Allen) [2087262] - x86/sev-es: Convert to insn_decode() (John Allen) [2087262] - x86/sev-es: Split vc_decode_insn() (John Allen) [2087262] - x86/insn-eval: Make 0 a valid RIP for insn_get_effective_ip() (John Allen) [2087262] - x86/sev: Fix error message in runtime #VC handler (John Allen) [2087262] - x86/sev-es: Optimize __sev_es_ist_enter() for better readability (John Allen) [2087262] - x86/sev: Do not require Hypervisor CPUID bit for SEV guests (John Allen) [2087262] - x86/boot/compressed/64: Cleanup exception handling before booting kernel (John Allen) [2087262] - x86/sev-es: Remove subtraction of res variable (John Allen) [2087262]- net: mlx5: eliminate anonymous module_init & module_exit (Amir Tzin) [2157750] - net/mlx5: E-switch, Fix switchdev mode after devlink reload (Amir Tzin) [2157750] - net/mlx5e: Set decap action based on attr for sample (Amir Tzin) [2157750] - net/mlx5e: QoS, Fix wrongfully setting parent_element_id on MODIFY_SCHEDULING_ELEMENT (Amir Tzin) [2157750] - net/mlx5: E-switch, Fix setting of reserved fields on MODIFY_SCHEDULING_ELEMENT (Amir Tzin) [2157750] - net/mlx5e: Avoid false lock dependency warning on tc_ht even more (Amir Tzin) [2157750] - net/mlx5: fix missing mutex_unlock in mlx5_fw_fatal_reporter_err_work() (Amir Tzin) [2157750] - net/mlx5: Fix ptp max frequency adjustment range (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are present (Amir Tzin) [2157750] - net/mlx5e: Verify dev is present for fix features ndo (Amir Tzin) [2157750] - net/mlx5: Fix command stats access after free (Amir Tzin) [2157750] - net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc (Amir Tzin) [2157750] - net/mlx5: check attr pointer validity before dereferencing it (Amir Tzin) [2157750] - RDMA/mlx5: Fix validation of max_rd_atomic caps for DC (Amir Tzin) [2157750] - RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device (Amir Tzin) [2157750] - net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option (Amir Tzin) [2157750] - net/mlx5e: Fix hw mtu initializing at XDP SQ allocation (Amir Tzin) [2157750] - net/mlx5e: Always clear dest encap in neigh-update-del (Amir Tzin) [2157750] - net/mlx5e: CT: Fix ct debugfs folder name (Amir Tzin) [2157750] - net/mlx5e: IPoIB, Don't allow CQE compression to be turned on by default (Amir Tzin) [2157750] - net/mlx5: Fix RoCE setting at HCA level (Amir Tzin) [2157750] - net/mlx5: Avoid recovery in probe flows (Amir Tzin) [2157750] - net/mlx5: Fix io_eq_size and event_eq_size params validation (Amir Tzin) [2157750] - net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path (Amir Tzin) [2157750] - net/mlx5: E-Switch, properly handle ingress tagged packets on VST (Amir Tzin) [2157750 2096109] - dm thin: Use last transaction's pmd->root when commit failed (Benjamin Marzinski) [2162537] - dm thin: resume even if in FAIL mode (Benjamin Marzinski) [2162537] - dm cache: set needs_check flag after aborting metadata (Benjamin Marzinski) [2162537] - dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort (Benjamin Marzinski) [2162537] - dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata (Benjamin Marzinski) [2162537] - dm integrity: Fix UAF in dm_integrity_dtr() (Benjamin Marzinski) [2162537] - dm cache: Fix UAF in destroy() (Benjamin Marzinski) [2162537] - dm thin: Fix UAF in run_timer_softirq() (Benjamin Marzinski) [2162537] - dm integrity: clear the journal on suspend (Benjamin Marzinski) [2162537] - dm integrity: flush the journal on suspend (Benjamin Marzinski) [2162537] - dm bufio: Fix missing decrement of no_sleep_enabled if dm_bufio_client_create failed (Benjamin Marzinski) [2162537] - dm ioctl: fix misbehavior if list_versions races with module loading (Benjamin Marzinski) [2162537]- net: gso: fix panic on frag_list with mixed head alloc types (Jiri Benc) [2136229] - futex: Resend potentially swallowed owner death notification (Rafael Aquini) [2161526] - Bluetooth: L2CAP: Fix memory leak in vhci_write (Wander Lairson Costa) [2155872] {CVE-2022-3619} - net: Use this_cpu_inc() to increment net->core_stats (Antoine Tenart) [2152542] - vlan: fix memory leak in vlan_newlink() (Xin Long) [2051415] - vlan: move dev_put into vlan_dev_uninit (Xin Long) [2051415] - vlan: introduce vlan_dev_free_egress_priority (Xin Long) [2051415] - vlan: fix memory leak in vlan_dev_set_egress_priority (Xin Long) [2051415] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103956] - intel/ixgbevf:fix repeated words in comments (Ken Cox) [2103956] - intel: remove unused macros (Ken Cox) [2103956] - ixgbe: propagate XFRM offload state direction instead of flags (Ken Cox) [2103956] - ixgbevf: add disable link state (Ken Cox) [2103956] - ixgbevf: clean up some inconsistent indenting (Ken Cox) [2103956] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ken Cox) [2103956] - intel: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [2103956]- RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. (Kamal Heib) [2141420] - cifs: fix use-after-free caused by invalid pointer `hostname` (Ronnie Sahlberg) [2154172] - ceph: blocklist the kclient when receiving corrupted snap trace (Xiubo Li) [2162414] - ceph: move mount state enum to super.h (Xiubo Li) [2162414] - xfs: estimate post-merge refcounts correctly (Bill O'Donnell) [2161678] - xfs: hoist refcount record merge predicates (Bill O'Donnell) [2161678] - NFS: Fix revalidation of empty readdir pages (Benjamin Coddington) [2166364] - NFS: Don't deadlock when cookie hashes collide (Benjamin Coddington) [2166364] - locking/rwsem: Disable preemption in all down_read*() and up_read() code paths (Waiman Long) [2162139] - locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpath (Waiman Long) [2162139] - locking/rwsem: Allow slowpath writer to ignore handoff bit if not set by first waiter (Waiman Long) [2162139] - locking/rwsem: Always try to wake waiters in out_nolock path (Waiman Long) [2162139] - locking/rwsem: No need to check for handoff bit if wait queue empty (Waiman Long) [2162139] - locking/rwsem: Make handoff bit handling more consistent (Waiman Long) [2162139] - dax: fix ENOMEM handling in grab_mapping_entry() (Andrey Albershteyn) [2128474] - crypto: ccp - Failure on re-initialization due to duplicate sysfs filename (Vladis Dronov) [2130714] - crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2 (Vladis Dronov) [2130714] - crypto: ccp - Add support for TEE for PCI ID 0x14CA (Vladis Dronov) [2130714] - crypto: ccp - Remove unused struct ccp_crypto_cpu (Vladis Dronov) [2130714] - crypto: ccp - Add __init/__exit annotations to module init/exit funcs (Vladis Dronov) [2130714] - i40e: Fix the inability to attach XDP program on downed interface (Ivan Vecera) [2121511] - mm, compaction: fix fast_isolate_around() to stay within boundaries (Daniel Vacek) [2149309]- aio: fix mremap after fork null-deref (Jeff Moyer) [2166088] - mm/hugetlb: use hugetlb_pte_stable in migration race check (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: fix race condition of uffd missing/minor handling (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: simplify the code when alloc_huge_page() failed in hugetlb_no_page() (Rafael Aquini) [2158120] {CVE-2022-3522} - mm/hugetlb: pass the old pte entry value to hugetlb_no_page() (Rafael Aquini) [2158120] {CVE-2022-3522} - perf/arm-cmn: Add more bits to child node address offset field (Charles Mirabile) [2122267] - perf/arm-cmn: Decode CAL devices properly in debugfs (Charles Mirabile) [2122267] - perf/arm-cmn: Fix filter_sel lookup (Charles Mirabile) [2122267] - drivers/perf: arm_spe: Expose saturating counter to 16-bit (Charles Mirabile) [2122267] - perf/arm-cmn: Add CMN-700 support (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor occupancy filter selector (Charles Mirabile) [2122267] - perf/arm-cmn: Add CMN-650 support (Charles Mirabile) [2122267] - perf: check return value of armpmu_request_irq() (Charles Mirabile) [2122267] - arm_pmu: Validate single/group leader events (Charles Mirabile) [2122267] - perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator (Charles Mirabile) [2122267] - drivers/perf: arm_pmu: Handle 47 bit counters (Charles Mirabile) [2122267] - perf/arm-cmn: Update watchpoint format (Charles Mirabile) [2122267] - perf/arm-cmn: Hide XP PUB events for CMN-600 (Charles Mirabile) [2122267] - perf: replace bitmap_weight with bitmap_empty where appropriate (Charles Mirabile) [2122267] - perf: Replace acpi_bus_get_device() (Charles Mirabile) [2122267] - perf/arm-cmn: Make arm_cmn_debugfs static (Charles Mirabile) [2122267] - perf/arm-ccn: Use platform_get_irq() to get the interrupt (Charles Mirabile) [2122267] - perf/smmuv3: Don't cast parameter in bit operations (Charles Mirabile) [2122267] - perf/smmuv3: Use msi_get_virq() (Charles Mirabile) [2122267] - perf/smmuv3: Synthesize IIDR from CoreSight ID registers (Charles Mirabile) [2122267] - perf/arm-cmn: Add debugfs topology info (Charles Mirabile) [2122267] - perf/arm-cmn: Add CI-700 Support (Charles Mirabile) [2122267] - perf/arm-cmn: Support new IP features (Charles Mirabile) [2122267] - devres: provide devm_krealloc() (Charles Mirabile) [2122267] - devres: move the size check from alloc_dr() into a separate function (Charles Mirabile) [2122267] - perf/arm-cmn: Demarcate CMN-600 specifics (Charles Mirabile) [2122267] - perf/arm-cmn: Move group validation data off-stack (Charles Mirabile) [2122267] - perf/arm-cmn: Optimise DTC counter accesses (Charles Mirabile) [2122267] - perf/arm-cmn: Optimise DTM counter reads (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor DTM handling (Charles Mirabile) [2122267] - perf/arm-cmn: Streamline node iteration (Charles Mirabile) [2122267] - perf/arm-cmn: Refactor node ID handling (Charles Mirabile) [2122267] - perf/arm-cmn: Drop compile-test restriction (Charles Mirabile) [2122267] - perf/arm-cmn: Account for NUMA affinity (Charles Mirabile) [2122267] - perf/arm-cmn: Fix CPU hotplug unregistration (Charles Mirabile) [2122267] - drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update() (Charles Mirabile) [2122267] - perf: qcom_l2_pmu: move to use request_irq by IRQF_NO_AUTOEN flag (Charles Mirabile) [2122267] - arm_pmu: move to use request_irq by IRQF_NO_AUTOEN flag (Charles Mirabile) [2122267] - arm64: perf: Fix 64-bit event counter read truncation (Charles Mirabile) [2122267] - drivers/perf: Replace spin_lock_irqsave to spin_lock (Charles Mirabile) [2122267] - arm_pmu: arm64: Use NMIs for PMU (Charles Mirabile) [2122267] - arm_pmu: Introduce pmu_irq_ops (Charles Mirabile) [2122267] - arm64: perf: Defer irq_work to IPI_IRQ_WORK (Charles Mirabile) [2122267] - arm64: perf: Remove PMU locking (Charles Mirabile) [2122267] - arm64: perf: Avoid PMXEV* indirection (Charles Mirabile) [2122267] - arm64: perf: Add missing ISB in armv8pmu_enable_counter() (Charles Mirabile) [2122267] - perf: arm_spe: Remove unnecessary zero check on 'nr_pages' (Charles Mirabile) [2122267] - drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer (Charles Mirabile) [2122267] - perf/smmuv3: Use platform_get_irq_optional() for wired interrupt (Charles Mirabile) [2122267]- wifi: rtw89: Add missing check for alloc_workqueue (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix potential leak in rtw89_append_probe_req_ie() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix initialization of rx->link and rx->link_sta (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Drop stations iterator where the iterator function may sleep (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: use proper statements in conditionals (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix MLO + AP_VLAN check (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix coverity uninit_use_in_call in mt76_connac2_reverse_frag0_hdr_trans() (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: Add checks for nla_nest_start() in nl80211_send_iface() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: Add missing __packed annotation of struct mt7921_clc (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: do not send firmware FW_FEATURE_NON_DL region (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix use after rcu_read_unlock in rtl8xxxu_bss_info_changed (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix physts IE page check (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix wrong power after multiple SAR set (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: Fix some error handling path in rtw89_core_sta_assoc() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: use u32_encode_bits() to fill MAC quota value (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix reporting of TX AGGR histogram (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix ifdef symbol name (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix firmware assert during bandwidth change for peer sta (Jose Ignacio Tornos Martinez) [2136125] - Revert "mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD" (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Turn on the rate control (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix warning in dma_free_coherent() of memory chunks while recovery (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: check link ID in auth/assoc continuation (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: fix null-ptr deref on failed assoc (Jose Ignacio Tornos Martinez) [2136125] - wifi: fix multi-link element subelement iteration (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix antenna signal are way off in monitor mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: don't allow multi-BSSID in S1G (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix buffer overflow in elem comparison (Jose Ignacio Tornos Martinez) [2136125] - net: mhi: Fix memory leak in mhi_net_dellink() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix QCN9074 firmware boot on x86 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Set TWT Information Frame Disabled bit as 1 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Fix ack frame idr leak when mesh has no route (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix general-protection-fault in ieee80211_subif_start_xmit() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Fix bitrates overflow issue (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix memory leak in query_regdb_file() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix memory free error when registering wiphy fail (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: silence a sparse RCU warning (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: use explicitly signed or unsigned types (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: mac: fix reading 16 bytes from a region of size 0 warning (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix rx checksum offload on mt7615/mt7915/mt7921 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix receiving LLC packets on mt7615/mt7915 (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: update hidden BSSes to avoid WARN_ON (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix crash in beacon protection for P2P-device (Jose Ignacio Tornos Martinez) [2136125 2134582] {CVE-2022-42722} - wifi: mac80211_hwsim: avoid mac80211 warning on bad rate (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: avoid nontransmitted BSS list corruption (Jose Ignacio Tornos Martinez) [2136125 2134511] {CVE-2022-42721} - wifi: cfg80211: fix BSS refcounting bugs (Jose Ignacio Tornos Martinez) [2136125 2134460] {CVE-2022-42720} - wifi: cfg80211: ensure length byte is present before access (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix MBSSID parsing use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211/mac80211: reject bad MBSSID elements (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans() (Jose Ignacio Tornos Martinez) [2136125 2134385] {CVE-2022-41674} - wifi: nl80211: Split memcpy() of struct nl80211_wowlan_tcp_data_token flexible array (Jose Ignacio Tornos Martinez) [2136125] - wifi: wext: use flex array destination for memcpy() (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: fix ieee80211_data_to_8023_exthdr handling of small packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: netdev compatible TX stop for iTXQ drivers (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix decap offload for stations on AP_VLAN interfaces (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: unlock on error in ieee80211_can_powered_addr_change() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: remove/avoid misleading prints (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix probe req HE capabilities access (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: do not drop packets smaller than the LLC-SNAP header on fast-rx (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix rate reporting / throughput regression on mt7915 and newer (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Improve rtl8xxxu_queue_select (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Enable 40 MHz channel width (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852b: configure DLE mem (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: check DLE FIFO size with reserved size (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: correct register of report IMR (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: set power cut closed for 8852be (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: add to do PCI auto calibration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852b: implement chip_ops::{enable,disable}_bb_rf (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add DMA busy checking bits to chip info (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: define DMA channel mask to avoid unsupported channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: mask out unsupported TX channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: Track scan_cmd allocation size explicitly (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: Remove the call to "dtim_assoc" IOVAR (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: increase dcmd maximum buffer size (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: Support 89459 pcie (Jose Ignacio Tornos Martinez) [2136125] - brcmfmac: increase default max WOWL patterns to 16 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix deadlock during WoWLAN suspend (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Remove redundant ath11k_mac_drain_tx (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add spectral scan support for 160 MHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add support to get power save duration for each client (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix peer addition/deletion error on sta band migration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for enable/disable MSDU aggregation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: disable 26-tone RU HE TB PPDU transmissions (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for processing P2P power saving (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support WMM-PS in P2P GO mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: set wifi_role of P2P (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: send OFDM rate only in P2P mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support P2P (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: correctly set BBP register 86 for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set SoC wmac clock register (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set VGC gain for both chains of MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: fix HT20/HT40 bandwidth switch on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: move helper functions up in file (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add TX LOFT calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RXIQ calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RXDCOC calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add r calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add RF self TXDC calibration for MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: move up and reuse busy wait functions (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add support for external PA on MT7620 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: add throughput LED trigger (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: define RF5592 in init_eeprom routine (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix number of VHT beamformee spatial streams (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: retrieve MAC address from system firmware if provided (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: add get_txpower mac ops (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: move firmware stats out of debugfs (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: fix repeated the words in a comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: fix repeated to words in a comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: reset pointer after memory free to avoid potential use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: fix failed to find the peer with peer_id 0 when disconnected (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: change complete() to complete_all() for scan.completed (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: update coexistence to 6.3.0 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add logic to control BT scan priority (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: summarize Wi-Fi to BT scoreboard and inform BT one time a cycle (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: modify LNA2 setting to avoid BT destroyed Wi-Fi aggregation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add WL_S0 hardware TX/RX mask to allow WL_S0 TX/RX during GNT_BT (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 Wi-Fi firmware steps report (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 summary info to parse the traffic status from firmware (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: translate slot ID to readable name (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: add v1 cycle report to parsing Bluetooth A2DP status (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix array of flexible structures warnings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rndis_wlan: fix array of flexible structures warning (Jose Ignacio Tornos Martinez) [2136125] - mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv (Jose Ignacio Tornos Martinez) [2136125] - bus: mhi: host: pci_generic: Add a secondary AT port to Telit FN990 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add WoW support for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Include STA_KEEPALIVE_ARP_RESPONSE TLV header by default (Jose Ignacio Tornos Martinez) [2136125] - wifi: rt2x00: Fix "Error - Attempt to send packet over invalid queue 2" (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: add multi-port ID to TX descriptor (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: fix rx filter after scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: free unused skb to prevent memory leak (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: reset halt registers before turn on wifi CPU (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: update LTR settings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: mac: set NAV upper to 25ms (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: initialize DMA of CMAC (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support SER L1 simulation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: support fw crash simulation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introudce functions to drop packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: unify use of rtw89_h2c_tx() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: concentrate control function of TX DMA channel (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct enable functions of HCI/PCI DMA (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: L1 DMA reset has offloaded to FW (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for setting TID specific configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support for setting HE GI and LTF (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: show connecting state in debug message (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Combine set grant WL/BT and correct the debug log (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Remove trace_step at COEX-MECH control structure for RTL8852C (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Parsing Wi-Fi firmware TDMA info from reports (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Parsing Wi-Fi firmware error message from reports (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Move coexistence firmware buffer size parameter to chip info (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: Add v1 Wi-Fi firmware power-saving null data report (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: coex: use void pointer as temporal type to copy report (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Add IDs/properties for BCM4378 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Support PCIe core revisions >= 64 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: msgbuf: Increase RX ring sizes to 1024 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Allow platform to override macaddr (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Perform firmware selection for Apple platforms (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: of: Fetch Apple properties (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie: Read Apple OTP information (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Support passing in multiple board_types (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: pcie/sdio/usb: Get CLM blob via standard firmware mechanism (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: firmware: Handle per-board clm_blob files (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: d3: parse keys from wowlan info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: iterate over interfaces after an assert in d3 (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: trigger resume flow before wait for notifications (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add handling for scan offload match info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: enable resume based on notifications (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for d3 end notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for wowlan wake packet notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: Add support for wowlan info notification (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: don't check D0I3 version (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: cfg: remove IWL_DEVICE_BZ_COMMON macro (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: refactor iwl_mvm_set_sta_rate() a bit (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: rxmq: further unify some VHT/HE code (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: rxmq: refactor mac80211 rx_status setting (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: mvm: fix typo in struct iwl_rx_no_data API (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: pcie: add support for BZ devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix kernel-doc issues (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix miscellaneous spelling errors (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: Fix miscellaneous spelling errors (Jose Ignacio Tornos Martinez) [2136125] - bus: mhi: host: always print detected modem name (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921s: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7663s: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix random fw download fail (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: introduce Country Location Control support (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix rmmod crash in driver reload test (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: reset msta->airtime_ac while clearing up hw value (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: do not check state before configuring implicit beamform (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: fix uninitialized pointer in mt7921_mac_fill_rx (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix mcs value in ht mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: get rid of the false positive reset (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: fix in comment (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: add PPDU based TxS support for WED device (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: move move mt76_sta_stats to mt76_wcid (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix the firmware version report (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt76_usb.mt76u_mcu.burst is always false remove related code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7663s: add rx_check callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: fix possible unaligned access in mt76_connac_mcu_add_nested_tlv (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix possible unaligned access in mt7915_mac_add_twt_setup (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7615: add mt7615_mutex_acquire/release in mt7615_sta_set_decap_offload (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: fix transmitting packet hangs (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: add rx_check callback for sdio devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: delete stray if statement (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: fix use after free in mt7921_acpi_read() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7915: fix an uninitialized variable bug (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: poll sta stat when device transmits data (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: sdio: fix the deadlock caused by sdio->stat_work (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921: move mt7921_rx_check and mt7921_queue_rx_skb in mac.c (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921u: remove unnecessary MT76_STATE_SUSPEND (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921u: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921s: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: mt7921e: fix race issue between reset and suspend/resume (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: add rx_check callback for usb devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: testmode: use random payload for tx packets (Jose Ignacio Tornos Martinez) [2136125] - wifi: mt76: connac: introduce mt76_connac_reg_map structure (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: split scan including lots of channels (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: support hw_scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: call tx_wake notify for 8852c in deep ps mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support deep ps mode for rtw8852c (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: set response rate selection (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: set TX to single path TX on path B in 6GHz band (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: enlarge polling timeout of RX DCK (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: enable the interference cancellation of MU-MIMO on 6GHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add DIG register struct to share common algorithm (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: support TX diversity for 1T2R chipset (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: record signal strength per RF path (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: configure TX path via H2C command (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: parse phycap of TX/RX antenna number (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: use u32_get_bits to access C2H content of PHY capability (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Increase TCL data ring size for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add multi TX ring support for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Enable threaded NAPI (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: mhi: fix potential memory leak in ath11k_mhi_register() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: implement SRAM dump debugfs interface (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Split PCI write/read functions (Jose Ignacio Tornos Martinez) [2136125] - ath11k: Enable remain-on-channel support on WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix endian annotations in casts (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: fix endian conversion (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: mark a variable unused (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Fix skb misuse in TX queue selection (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: remove redundant variable err (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: add 43439 SDIO ids and initialization (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: Simplify the error handling code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mwifiex: Fix comment typo (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Add DMI nvram filename quirk for Chuwi Hi8 Pro tablet (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Use ISO3166 country code and rev 0 as fallback on 43430 (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit() (Jose Ignacio Tornos Martinez) [2136125] - wifi: iwlwifi: calib: Refactor iwl_calib_result usage for clarity (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: always activate all links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: implement link switching (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: keep A-MSDU data in sta and per-link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set up beacon timing config on links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add vif/sta link RCU dereference macros (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: send NDP for link (de)activation (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: extend ieee80211_nullfunc_get() for MLO (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: track active STA links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: skip inactive links on TX (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add ieee80211_find_sta_by_link_addrs API (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: isolate driver from inactive links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: make smps_mode per-link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use correct rx link_sta instead of default (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link_sta in reorder timeout (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix multi-channel handling in netlink RX (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: call drv_sta_state() under sdata_lock() in reconfig (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: add MLD address to assoc BSS entries (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: refactor QoS settings code (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: warn on invalid link address (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix double SW scan stop (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: assign link address correctly (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: move link code to a new file (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: refactor RX a bit (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: check STA magic in change_sta_links (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: remove unused arg to ieee80211_chandef_eht_oper (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: remove multicast workaround (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: remove redundant err variable (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: Support POWERED_ADDR_CHANGE feature (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: Add POWERED_ADDR_CHANGE feature (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: prevent 4-addr use on MLDs (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: prevent VLANs on MLDs (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add support to connect to non-transmit MBSSID profiles (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix hardware restart failure due to twt debugfs failure (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add TWT debugfs support for STA interface (Jose Ignacio Tornos Martinez) [2136125] - wifi: move from strlcpy with unused retval to strscpy (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: declare to support beamformee above bandwidth 80MHz (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct polling address of address CAM (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: no HTC field if TX rate might fallback to legacy (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: correct TX resource checking in low power mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: fix interrupt stuck after leaving low power mode (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: enlarge the CFO tracking boundary (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: correct suspend/resume setting for variant chips (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: enable CLK_REQ, ASPM, L1 and L1ss for 8852c (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: pci: fix PCI PHY auto adaption by using software restore (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: set TBTT shift configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add retry to change power_mode state (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: correct BA CAM allocation (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: initialize and correct BA CAM content (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: declare correct BA CAM number (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: update TX power tables to R49 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852c: update RF radio A/B parameters to R49 (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: TX power limit/limit_ru consider negative (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Update Wi-Fi driver/firmware TDMA cycle report for RTL8852c (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add v1 Wi-Fi SCC coexistence policy (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Move _set_policy to chip_ops (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: update WL role info v1 for RTL8852C branch using (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add v1 version TDMA format and parameters (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Define BT B1 slot length (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Add logic to parsing rtl8852c firmware type ctrl report (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: Move Wi-Fi firmware coexistence matching version to chip (Jose Ignacio Tornos Martinez) [2136125] - rtw89: coex: update radio state for RTL8852A/RTL8852C (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: adjust mactxen delay of mac/phy interface (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: modify PCIE prebkf time (Jose Ignacio Tornos Martinez) [2136125] - rtw89: ser: leave lps with mutex (Jose Ignacio Tornos Martinez) [2136125] - rtw89: declare support HE HTC always (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852a: update HW setting on BB (Jose Ignacio Tornos Martinez) [2136125] - rtw89: 8852c: disable dma during mac init (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: declare support for mac80211 chanctx ops by chip (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: add skeleton of mac80211 chanctx ops support (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introduce entity mode and its recalculated prototype (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: initialize entity and configure default chandef (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: concentrate chandef setting to stack callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: concentrate parameter control for setting channel callback (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: rfk: concentrate parameter control while set_channel() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: txpwr: concentrate channel related control to top (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: create rtw89_chan centrally to avoid breakage (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: re-arrange channel related stuffs under HAL (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: introduce rtw89_chan for channel stuffs (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: rewrite decision on channel by entity state (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Add cold boot calibration support on WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Fix incorrect QMI message ID mappings (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath11k: Register shutdown handler for WCN6750 (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix potential deadlock in ieee80211_key_link() (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix uninitialized use of primary channel index (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use full 'unsigned int' type (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: move from strlcpy with unused retval to strscpy (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: read ethtool's sta_stats from sinfo (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: correct SMPS mode in HE 6 GHz capability (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Add link_id to cfg80211_ch_switch_started_notify() (Jose Ignacio Tornos Martinez) [2136125] - wifi: nl80211: send MLO links channel info in GET_INTERFACE (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: allow bw change during channel switch in mesh (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: clean up a needless assignment in ieee80211_sta_activate_link() (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: allow link address A2 in TXQ dequeue (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix control port frame addressing (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link ID in TX info for beacons (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: fix link change handling (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: maintain link_id in link_sta (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211/mac80211: check EHT capability size correctly (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211_hwsim: split iftype data into AP/non-AP (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: mlme: don't add empty EML capabilities (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use link ID for MLO in queued frames (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use the corresponding link for stats update (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: add link information in ieee80211_rx_status (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: properly implement MLO key handling (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Add link_id parameter to various key operations for MLO (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Prevent cfg80211_wext_siwencodeext() on MLD (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: reject connect response with MLO params for WEP (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: fix use-after-free (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: use link in TXQ parameter configuration (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: add link id to txq params (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: set link BSSID (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: get correct AP link chandef (Jose Ignacio Tornos Martinez) [2136125] - wifi: cfg80211: Update RNR parsing to align with Draft P802.11be_D2.0 (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: properly set old_links when removing a link (Jose Ignacio Tornos Martinez) [2136125] - wifi: mac80211: accept STA changes without link changes (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: prohibit enter IPS during HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add flag check before enter or leave IPS (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add flushing queue before HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix WARNING:rtw_get_tx_power_params() during HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add the update channel flow to support setting by parameters (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add mutex when set regulatory and get Tx power table (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: add mutex when set SAR (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Fix to add skb free for TIM update info when tx is completed (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: Fix to add brcmf_clear_assoc_ies when rmmod (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix invalid address access when enabling SCAN log level (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix scheduling while atomic issue when deleting flowring (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmfmac: fix continuous 802.1x tx pending timeout error (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state() (Jose Ignacio Tornos Martinez) [2136125] - wifi: ath10k: Set tx credit to one for WCN3990 snoc based devices (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: 8852a: correct WDE IMR settings (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw89: refine leaving LPS function (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtlwifi: 8192de: correct checking of IQK reload (Jose Ignacio Tornos Martinez) [2136125] - wifi: brcmsmac: remove duplicate words (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: access chip_info by const pointer (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: phy: fix warning of possible buffer overflow (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix store OP channel info timing when HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: fix stopping queues in wrong timing when HW scan (Jose Ignacio Tornos Martinez) [2136125] - wifi: rtw88: 8822c: extend supported probe request size (Jose Ignacio Tornos Martinez) [2136125]- ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF (Jaroslav Kysela) [2125548] {CVE-2023-0266} - ALSA: usb-audio: Remove redundant workaround for Roland quirk (Jaroslav Kysela) [2125548] - ASoC: jz4740-i2s: Handle independent FIFO flush bits (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops (Jaroslav Kysela) [2125548] - ALSA: patch_realtek: Fix Dell Inspiron Plus 16 (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: Static PCM mapping again with AMD HDMI codecs (Jaroslav Kysela) [2125548] - ALSA: line6: fix stack overflow in line6_midi_transmit (Jaroslav Kysela) [2125548] - ALSA: line6: correct midi status byte when receiving data from podxt (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB (Jaroslav Kysela) [2125548] - ALSA: usb-audio: add the quirk for KT0206 device (Jaroslav Kysela) [2125548] - ASoC: rt5670: Remove unbalanced pm_runtime_put() (Jaroslav Kysela) [2125548] - ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume() (Jaroslav Kysela) [2125548] - ASoC: wm8994: Fix potential deadlock (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: fix stream-id config keep-alive for rt suspend (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: set default audio parameters for KAE silent-stream (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi: fix i915 silent stream programming flow (Jaroslav Kysela) [2125548] - ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume() (Jaroslav Kysela) [2125548] - ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link() (Jaroslav Kysela) [2125548] - ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe() (Jaroslav Kysela) [2125548] - ASoC: Intel: Skylake: Fix driver hang during shutdown (Jaroslav Kysela) [2125548] - ALSA: hda: add snd_hdac_stop_streams() helper (Jaroslav Kysela) [2125548] - ASoC: sof_es8336: fix possible use-after-free in sof_es8336_remove() (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Xiaomi Redmi Book Pro 14 2022 into DMI table (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Add quirk for KBL-R RVP platform (Jaroslav Kysela) [2125548] - ASoC: codecs: rt298: Add quirk for KBL-R RVP platform (Jaroslav Kysela) [2125548] - ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt (Jaroslav Kysela) [2125548] - ALSA: pcm: Set missing stop_operating flag at undoing trigger start (Jaroslav Kysela) [2125548] - ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe (Jaroslav Kysela) [2125548] - ALSA: asihpi: fix missing pci_disable_device() (Jaroslav Kysela) [2125548] - ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd (Jaroslav Kysela) [2125548] - ASoC: qcom: Add checks for devm_kcalloc (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Lock substream before snd_pcm_stop() (Jaroslav Kysela) [2125548] - ASoC: pxa: fix null-pointer dereference in filter() (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Fix potential RX buffer overflow (Jaroslav Kysela) [2125548] - ASoC: Intel: avs: Fix DMA mask assignment (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2125548] - ASoC: ops: Correct bounds check for second channel on SX controls (Jaroslav Kysela) [2125548] - ASoC: cs42l51: Correct PGA Volume minimum value (Jaroslav Kysela) [2125548] - ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2125548] - ASoC: fsl_micfil: explicitly clear CHnF flags (Jaroslav Kysela) [2125548] - ASoC: fsl_micfil: explicitly clear software reset bit (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: More robust component matching for CS35L41 (Jaroslav Kysela) [2125548] - ASoC: soc-pcm: Add NULL check in BE reparenting (Jaroslav Kysela) [2125548] - ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event (Jaroslav Kysela) [2125548] - ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine transitions (Jaroslav Kysela) [2125548] - ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register (Jaroslav Kysela) [2125548] - ASoC: ops: Fix bounds check for _sx controls (Jaroslav Kysela) [2125548] - ALSA: dice: fix regression for Lexicon I-ONIX FW810S (Jaroslav Kysela) [2125548] - ASoC: sof_es8336: reduce pop noise on speaker (Jaroslav Kysela) [2125548] - ASoC: SOF: ipc3-topology: use old pipeline teardown flow with SOF2.1 and older (Jaroslav Kysela) [2125548] - ASoC: hda: intel-dsp-config: add ES83x6 quirk for IceLake (Jaroslav Kysela) [2125548] - ASoC: Intel: soc-acpi: add ES83x6 support to IceLake (Jaroslav Kysela) [2125548] - ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01 (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Alienware m17 R5 AMD into DMI table (Jaroslav Kysela) [2125548] - ASoC: max98373: Add checks for devm_kcalloc (Jaroslav Kysela) [2125548] - ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open() (Jaroslav Kysela) [2125548] - ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove (Jaroslav Kysela) [2125548] - ASoC: hdac_hda: fix hda pcm buffer overflow issue (Jaroslav Kysela) [2125548] - ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue (Jaroslav Kysela) [2125548] - ASoC: SOF: topology: No need to assign core ID if token parsing failed (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: fix speakers for Samsung Galaxy Book Pro (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open() (Jaroslav Kysela) [2125548] - ASoC: soc-utils: Remove __exit for snd_soc_util_exit() (Jaroslav Kysela) [2125548] - ASoC: rt5677: fix legacy dai naming (Jaroslav Kysela) [2125548] - ASoC: rt5514: fix legacy dai naming (Jaroslav Kysela) [2125548] - ASoC: tas2764: Fix set_tdm_slot in case of single slot (Jaroslav Kysela) [2125548] - ASoC: tas2770: Fix set_tdm_slot in case of single slot (Jaroslav Kysela) [2125548] - ASoC: core: Fix use-after-free in snd_soc_exit() (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> "Route" (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Lenovo Thinkbook 14+ 2022 21D0 to quirks table (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 Gen 4+ ARA to the Quirks List (Jaroslav Kysela) [2125548] - ASoC: rt1308-sdw: add the default value of some registers (Jaroslav Kysela) [2125548] - ASoC: Intel: sof_rt5682: Add quirk for Rex board (Jaroslav Kysela) [2125548] - ASoC: Intel: sof_sdw: add quirk variant for LAPBC710 NUC15 (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: fix capture selector naming (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: use right control for Capture Volume (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: fix reported volume for Master ctl (Jaroslav Kysela) [2125548] - ASoC: codecs: jz4725b: add missed Line In power control bit (Jaroslav Kysela) [2125548] - ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK (Jaroslav Kysela) [2125548] - ASoC: rt1019: Fix the TDM settings (Jaroslav Kysela) [2125548] - ASoC: rt5682s: Fix the TDM Tx settings (Jaroslav Kysela) [2125548] - ASoC: mt6660: Keep the pm_runtime enables before component stuff in mt6660_i2c_probe (Jaroslav Kysela) [2125548] - ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe" (Jaroslav Kysela) [2125548] - ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe" (Jaroslav Kysela) [2125548] - ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe" (Jaroslav Kysela) [2125548] - ALSA: memalloc: Try dma_alloc_noncontiguous() at first (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add DSD support for Accuphase DAC-60 (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirk entry for M-Audio Micro (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Yet more regression for for the delayed card registration (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add Positivo C6300 model quirk (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 (Jaroslav Kysela) [2125548] - ALSA: hda: fix potential memleak in 'add_widget_node' (Jaroslav Kysela) [2125548] - ALSA: hda/ca0132: add quirk for EVGA Z390 DARK (Jaroslav Kysela) [2125548] - ALSA: hda/hdmi - enable runtime pm for more AMD display audio (Jaroslav Kysela) [2125548] - ALSA: memalloc: Don't fall back for SG-buffer with IOMMU (Jaroslav Kysela) [2125548] - ALSA: aoa: Fix I2S device accounting (Jaroslav Kysela) [2125548] - ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev() (Jaroslav Kysela) [2125548] - ALSA: ac97: fix possible memory leak in snd_ac97_dev_register() (Jaroslav Kysela) [2125548] - ASoC: SOF: Intel: pci-tgl: fix ADL-N descriptor (Jaroslav Kysela) [2125548] - ASoC: SOF: Intel: pci-tgl: use RPL specific firmware definitions (Jaroslav Kysela) [2125548] - ASoC: Intel: common: add ACPI matching tables for Raptor Lake (Jaroslav Kysela) [2125548] - ALSA: rme9652: use explicitly signed char (Jaroslav Kysela) [2125548] - ALSA: au88x0: use explicitly signed char (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add another HP ZBook G9 model quirks (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600 (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 (Jaroslav Kysela) [2125548] - ALSA: Use del_timer_sync() before freeing timer (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix last interface check for registration (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table (Jaroslav Kysela) [2125548] - ASoC: amd: yc: Add ASUS UM5302TA into DMI table (Jaroslav Kysela) [2125548] - ASoC: SOF: add quirk to override topology mclk_id (Jaroslav Kysela) [2125548] - ASoC: SOF: pci: Change DMI match info to support all Chrome platforms (Jaroslav Kysela) [2125548] - ALSA: intel-dspconfig: add ES8336 support for AlderLake-PS (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Register card at the last interface (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Add quirk to enable Avid Mbox 3 support (Jaroslav Kysela) [2125548] - ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe (Jaroslav Kysela) [2125548] - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe (Jaroslav Kysela) [2125548] - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe (Jaroslav Kysela) [2125548] - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe (Jaroslav Kysela) [2125548] - ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probe (Jaroslav Kysela) [2125548] - ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probe (Jaroslav Kysela) [2125548] - ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe (Jaroslav Kysela) [2125548] - ALSA: dmaengine: increment buffer pointer atomically (Jaroslav Kysela) [2125548] - ASoC: da7219: Fix an error handling path in da7219_register_dai_clks() (Jaroslav Kysela) [2125548] - ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API (Jaroslav Kysela) [2125548] - ASoC: wm_adsp: Handle optional legacy support (Jaroslav Kysela) [2125548] - ASoC: rsnd: Add check for rsnd_mod_power_on (Jaroslav Kysela) [2125548] - ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close() (Jaroslav Kysela) [2125548] - ASoC: mt6359: fix tests for platform_get_irq() failure (Jaroslav Kysela) [2125548] - ASoC: wcd934x: fix order of Slimbus unprepare/disable (Jaroslav Kysela) [2125548] - ASoC: wcd9335: fix order of Slimbus unprepare/disable (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add Intel Reference SSID to support headset keys (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for ASUS GV601R laptop (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix NULL dererence at error path (Jaroslav Kysela) [2125548] - ALSA: usb-audio: Fix potential memory leaks (Jaroslav Kysela) [2125548] - ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free() (Jaroslav Kysela) [2125548] - ALSA: oss: Fix potential deadlock at unregistration (Jaroslav Kysela) [2125548] - ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model (Jaroslav Kysela) [2125548] - ALSA: hda: Fix position reporting on Poulsbo (Jaroslav Kysela) [2125548]- KVM: x86: smm: preserve interrupt shadow in SMRAM (Maxim Levitsky) [2097144] - KVM: x86: SVM: don't save SVM state to SMRAM when VM is not long mode capable (Maxim Levitsky) [2097144] - KVM: x86: SVM: use smram structs (Maxim Levitsky) [2097144] - KVM: svm: drop explicit return value of kvm_vcpu_map (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram struct for 64 bit smram load/restore (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram struct for 32 bit smram load/restore (Maxim Levitsky) [2097144] - KVM: x86: smm: use smram structs in the common code (Maxim Levitsky) [2097144] - KVM: x86: smm: add structs for KVM's smram layout (Maxim Levitsky) [2097144] - KVM: x86: smm: check for failures on smm entry (Maxim Levitsky) [2097144] - KVM: x86: do not go through ctxt->ops when emulating rsm (Maxim Levitsky) [2097144] - KVM: x86: move SMM exit to a new file (Maxim Levitsky) [2097144] - KVM: x86: move SMM entry to a new file (Maxim Levitsky) [2097144] - KVM: x86: start moving SMM-related functions to new files (Maxim Levitsky) [2097144] - bug: introduce ASSERT_STRUCT_OFFSET (Maxim Levitsky) [2097144] - KVM: x86: Rename and expose helper to detect if INIT/SIPI are allowed (Maxim Levitsky) [2097144] - KVM: x86: smm: number of GPRs in the SMRAM image depends on the image format (Maxim Levitsky) [2097144] - KVM: x86: emulator: update the emulation mode after CR0 write (Maxim Levitsky) [2097144] - KVM: x86: emulator: update the emulation mode after rsm (Maxim Levitsky) [2097144] - KVM: x86: emulator: introduce emulator_recalc_and_set_mode (Maxim Levitsky) [2097144] - KVM: x86: emulator: em_sysexit should update ctxt->mode (Maxim Levitsky) [2097144] - KVM: x86: Bug the VM if the emulator accesses a non-existent GPR (Maxim Levitsky) [2097144] - KVM: x86: Reduce the number of emulator GPRs to '8' for 32-bit KVM (Maxim Levitsky) [2097144] - KVM: x86: Use 16-bit fields to track dirty/valid emulator GPRs (Maxim Levitsky) [2097144] - KVM: x86: Omit VCPU_REGS_RIP from emulator's _regs array (Maxim Levitsky) [2097144] - KVM: x86: Harden _regs accesses to guard against buggy input (Maxim Levitsky) [2097144] - KVM: x86: Grab regs_dirty in local 'unsigned long' (Maxim Levitsky) [2097144]- RDMA/bnxt_re: Fix endianness warning for req.pkey (Kamal Heib) [2142690] - RDMA/bnxt_re: Use bitmap_zalloc() when applicable (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove dynamic pkey table (Kamal Heib) [2142690] - RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with pending cmd-bit" (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove unneeded variable (Kamal Heib) [2142690] - RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback (Kamal Heib) [2142690] - RDMA/bnxt_re: Use helper function to set GUIDs (Kamal Heib) [2142690] - RDMA/bnxt_re: Check if the vlan is valid before reporting (Kamal Heib) [2142690] - RDMA/bnxt_re: Correct FRMR size calculation (Kamal Heib) [2142690] - RDMA/bnxt_re: Use GFP_KERNEL in non atomic context (Kamal Heib) [2142690] - RDMA/bnxt_re: Fix FRMR issue with single page MR allocation (Kamal Heib) [2142690] - RDMA/bnxt_re: Fix query SRQ failure (Kamal Heib) [2142690] - RDMA/bnxt_re: Suppress unwanted error messages (Kamal Heib) [2142690] - RDMA/bnxt_re: Support multiple page sizes (Kamal Heib) [2142690] - RDMA/bnxt_re: Reduce the delay in polling for hwrm command completion (Kamal Heib) [2142690] - RDMA/bnxt_re: Use separate response buffer for stat_ctx_free (Kamal Heib) [2142690] - net/mlx5: Lag, Fix for loop when checking lag (Amir Tzin) [2112917] - net/mlx5e: Fix use-after-free when reverting termination table (Amir Tzin) [2112927] - net/mlx5: Fix uninitialized variable bug in outlen_write() (Amir Tzin) [2112927] - net/mlx5: E-switch, Fix duplicate lag creation (Amir Tzin) [2112927 2112917] - net/mlx5: E-switch, Destroy legacy fdb table when needed (Amir Tzin) [2112927 2112917] - net/mlx5: DR, Fix uninitialized var warning (Amir Tzin) [2112927] - net/mlx5e: Offload rule only when all encaps are valid (Amir Tzin) [2112927] - net/mlx5: Fix sync reset event handler error flow (Amir Tzin) [2112927] - net/mlx5: E-Switch, Set correctly vport destination (Amir Tzin) [2112927] - net/mlx5: Fix handling of entry refcount when command is not issued to FW (Amir Tzin) [2112927] - net/mlx5: cmdif, Print info on any firmware cmd failure to tracepoint (Amir Tzin) [2112927] - net/mlx5: SF: Fix probing active SFs during driver probe phase (Amir Tzin) [2112927] - net/mlx5: Fix FW tracer timestamp calculation (Amir Tzin) [2112927] - net/mlx5: Do not query pci info while pci disabled (Amir Tzin) [2112927 2129249] - net/mlx5e: TC, Fix slab-out-of-bounds in parse_tc_actions (Amir Tzin) [2112927] - net/mlx5e: Clean up and fix error flows in mlx5e_alloc_rq (Amir Tzin) [2112927] - net/mlx5: DR, Fix the SMFS sync_steering for fast teardown (Amir Tzin) [2112927] - net/mlx5e: E-Switch, Fix comparing termination table instance (Amir Tzin) [2112927] - net/mlx5e: TC, Fix wrong rejection of packet-per-second policing (Amir Tzin) [2112927 2049622] - net/mlx5e: Fix tc acts array not to be dependent on enum order (Amir Tzin) [2112927] - net/mlx5e: Add missing sanity checks for max TX WQE size (Amir Tzin) [2112927] - net/mlx5: fw_reset: Don't try to load device in case PCI isn't working (Amir Tzin) [2112927] - net/mlx5: E-switch, Set to legacy mode if failed to change switchdev mode (Amir Tzin) [2112927 2112917] - net/mlx5: Allow async trigger completion execution on single CPU systems (Amir Tzin) [2112927] - net/mlx5: Bridge, verify LAG state when adding bond to bridge (Amir Tzin) [2112927] - net/mlx5: Fix crash during sync firmware reset (Amir Tzin) [2112927] - net/mlx5e: TC, Fix cloned flow attr instance dests are not zeroed (Amir Tzin) [2112927] - net/mlx5: Fix possible use-after-free in async command interface (Amir Tzin) [2112927] - net/mlx5: ASO, Create the ASO SQ with the correct timestamp format (Amir Tzin) [2112927 2049622] - net/mlx5e: Update restore chain id for slow path packets (Amir Tzin) [2112927] - net/mlx5e: Extend SKB room check to include PTP-SQ (Amir Tzin) [2112927] - net/mlx5: DR, Fix matcher disconnect error flow (Amir Tzin) [2112927] - net/mlx5: Wait for firmware to enable CRS before pci_restore_state (Amir Tzin) [2112927] - net/mlx5e: Do not increment ESN when updating IPsec ESN state (Amir Tzin) [2112927] - net/mlx5e: Fix calculations for ICOSQ size (Amir Tzin) [2112927] - net/mlx5: Fix spelling mistake "syndrom" -> "syndrome" (Amir Tzin) [2112927] - net/mlx5e: Fix a typo in mlx5e_xdp_mpwqe_is_full (Amir Tzin) [2112927] - RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey (Amir Tzin) [2112927] - RDMA/mlx5: Fix UMR cleanup on error flow of driver init (Amir Tzin) [2112927] - RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile (Amir Tzin) [2112927] - net/mlx5: Unlock on error in mlx5_sriov_enable() (Amir Tzin) [2112927] - net/mlx5e: Fix use after free in mlx5e_fs_init() (Amir Tzin) [2112927] - net/mlx5e: kTLS, Use _safe() iterator in mlx5e_tls_priv_tx_list_cleanup() (Amir Tzin) [2112927] - net/mlx5: unlock on error path in esw_vfs_changed_event_handler() (Amir Tzin) [2112927 2150647] - net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off (Amir Tzin) [2112927] - net/mlx5e: TC, Add missing policer validation (Amir Tzin) [2112927] - net/mlx5e: Fix wrong application of the LRO state (Amir Tzin) [2112927] - net/mlx5: Avoid false positive lockdep warning by adding lock_class_key (Amir Tzin) [2112927] - net/mlx5: Fix cmd error logging for manage pages cmd (Amir Tzin) [2112927] - net/mlx5: Disable irq when locking lag_lock (Amir Tzin) [2112927] - net/mlx5: Eswitch, Fix forwarding decision to uplink (Amir Tzin) [2112927 2150647] - net/mlx5: LAG, fix logic over MLX5_LAG_FLAG_NDEVS_READY (Amir Tzin) [2112927] - net/mlx5e: Properly disable vlan strip on non-UL reps (Amir Tzin) [2112927] - net/mlx5e: Allocate flow steering storage during uplink initialization (Amir Tzin) [2112927] - RDMA/mlx5: Use the proper number of ports (Amir Tzin) [2112927] - mlx5: do not use RT_TOS for IPv6 flowlabel (Amir Tzin) [2112927] - RDMA/mlx5: Add missing check for return value in get namespace flow (Amir Tzin) [2112927] - net/mlx5e: xsk: Discard unaligned XSK frames on striding RQ (Amir Tzin) [2112927] - net: devlink: convert reload command to take implicit devlink->lock (mlx5 hunk only) (Amir Tzin) [2112927] - devlink: Hold the instance lock in health callbacks (mlx5 hunk only) (Amir Tzin) [2112927] - net/mlx5: Lock mlx5 devlink health recovery callback (Amir Tzin) [2112927] - net/mlx5: Lock mlx5 devlink reload callbacks (Amir Tzin) [2112927] - net/mlx5: Move fw reset unload to mlx5_fw_reset_complete_reload (Amir Tzin) [2112927] - net/mlx5e: kTLS, Dynamically re-size TX recycling pool (Amir Tzin) [2112927] - net/mlx5e: kTLS, Recycle objects of device-offloaded TLS TX connections (Amir Tzin) [2112927] - net/mlx5e: kTLS, Take stats out of OOO handler (Amir Tzin) [2112927] - net/mlx5e: kTLS, Introduce TLS-specific create TIS (Amir Tzin) [2112927] - net/mlx5e: Move mlx5e_init_l2_addr to en_main (Amir Tzin) [2112927] - net/mlx5e: Split en_fs ndo's and move to en_main (Amir Tzin) [2112927] - net/mlx5e: Separate mlx5e_set_rx_mode_work and move caller to en_main (Amir Tzin) [2112927] - net/mlx5e: Add mdev to flow_steering struct (Amir Tzin) [2112927] - net/mlx5e: Report flow steering errors with mdev err report API (Amir Tzin) [2112927] - net/mlx5e: Convert mlx5e_flow_steering member of mlx5e_priv to pointer (Amir Tzin) [2112927] - net/mlx5e: Allocate VLAN and TC for featured profiles only (Amir Tzin) [2112927] - net/mlx5e: Make mlx5e_tc_table private (Amir Tzin) [2112927] - net/mlx5e: Convert mlx5e_tc_table member of mlx5e_flow_steering to pointer (Amir Tzin) [2112927] - net/mlx5e: TC, Support tc action api for police (Amir Tzin) [2112927] - net/mlx5e: TC, Separate get/update/replace meter functions (Amir Tzin) [2112927] - net/mlx5e: Add red and green counters for metering (Amir Tzin) [2112927] - net/mlx5e: TC, Allocate post meter ft per rule (Amir Tzin) [2112927] - net/mlx5: DR, Add support for flow metering ASO (Amir Tzin) [2112927] - net/mlx5: Fix driver use of uninitialized timeout (Amir Tzin) [2112927] - net/mlx5: DR, Fix SMFS steering info dump format (Amir Tzin) [2112927] - net/mlx5: Adjust log_max_qp to be 18 at most (Amir Tzin) [2112927] - net/mlx5e: Modify slow path rules to go to slow fdb (Amir Tzin) [2112927 2150647] - net/mlx5e: Fix calculations related to max MPWQE size (Amir Tzin) [2112927] - net/mlx5e: xsk: Account for XSK RQ UMRs when calculating ICOSQ size (Amir Tzin) [2112927] - net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS (Amir Tzin) [2112927] - net/mlx5e: TC, Fix post_act to not match on in_port metadata (Amir Tzin) [2112927] - net/mlx5e: Remove WARN_ON when trying to offload an unsupported TLS cipher/version (Amir Tzin) [2112927] - RDMA/mlx5: Rename the mkey cache variables and functions (Amir Tzin) [2112927] - RDMA/mlx5: Store in the cache mkeys instead of mrs (Amir Tzin) [2112927] - RDMA/mlx5: Store the number of in_use cache mkeys instead of total_mrs (Amir Tzin) [2112927] - RDMA/mlx5: Replace cache list with Xarray (Amir Tzin) [2112927] - RDMA/mlx5: Replace ent->lock with xa_lock (Amir Tzin) [2112927] - net/mlx5: CT: Remove warning of ignore_flow_level support for non PF (Amir Tzin) [2112927] - net/mlx5e: Add resiliency for PTP TX port timestamp (Amir Tzin) [2112927] - net/mlx5: Expose ts_cqe_metadata_size2wqe_counter (Amir Tzin) [2112927] - net/mlx5e: HTB, move htb functions to a new file (Amir Tzin) [2112927] - net/mlx5e: HTB, change functions name to follow convention (Amir Tzin) [2112927] - net/mlx5e: HTB, remove priv from htb function calls (Amir Tzin) [2112927] - net/mlx5e: HTB, hide and dynamically allocate mlx5e_htb structure (Amir Tzin) [2112927] - net/mlx5e: HTB, move stats and max_sqs to priv (Amir Tzin) [2112927] - net/mlx5e: HTB, move section comment to the right place (Amir Tzin) [2112927] - net/mlx5e: HTB, move ids to selq_params struct (Amir Tzin) [2112927] - net/mlx5e: HTB, reduce visibility of htb functions (Amir Tzin) [2112927] - net/mlx5e: Fix mqprio_rl handling on devlink reload (Amir Tzin) [2112927] - net/mlx5e: Report header-data split state through ethtool (Amir Tzin) [2112927] - RDMA/mlx5: Expose steering anchor to userspace (Amir Tzin) [2112927] - RDMA/mlx5: Refactor get flow table function (Amir Tzin) [2112927] - net/mlx5: fs, allow flow table creation with a UID (Amir Tzin) [2112927] - net/mlx5: fs, expose flow table ID to users (Amir Tzin) [2112927] - net/mlx5: Expose the ability to point to any UID from shared UID (Amir Tzin) [2112927] - net/mlx5e: Remove the duplicating check for striding RQ when enabling LRO (Amir Tzin) [2112927] - net/mlx5e: Move the LRO-XSK check to mlx5e_fix_features (Amir Tzin) [2112927] - net/mlx5e: Extend flower police validation (Amir Tzin) [2112927] - net/mlx5e: configure meter in flow action (Amir Tzin) [2112927 2150647 2049622] - net/mlx5e: Removed useless code in function (Amir Tzin) [2112927] - net/mlx5: Bridge, implement QinQ support (Amir Tzin) [2112927] - net/mlx5: Bridge, implement infrastructure for VLAN protocol change (Amir Tzin) [2112927] - net/mlx5: Bridge, extract VLAN push/pop actions creation (Amir Tzin) [2112927] - net/mlx5: Bridge, rename filter fg to vlan_filter (Amir Tzin) [2112927] - net/mlx5: Bridge, refactor groups sizes and indices (Amir Tzin) [2112927] - net/mlx5: debugfs, Add num of in-use FW command interface slots (Amir Tzin) [2112927] - net/mlx5: Expose vnic diagnostic counters for eswitch managed vports (Amir Tzin) [2112927 2150647 2049881] - net/mlx5: Use software VHCA id when it's supported (Amir Tzin) [2112927] - net/mlx5: Introduce ifc bits for using software vhca id (Amir Tzin) [2112927] - net/mlx5: Use the bitmap API to allocate bitmaps (Amir Tzin) [2112927] - devlink: Hold the instance lock in port_new / port_del callbacks (mlx5 hunks only) (Amir Tzin) [2112925] - net/mlx5: Remove devl_unlock from mlx5_devlink_eswitch_mode_set (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API in mlx5e_devlink_port_register (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API in mlx5_esw_devlink_sf_port_register (Amir Tzin) [2112927] - net/mlx5: Use devl_ API in mlx5_esw_offloads_devlink_port_register (Amir Tzin) [2112927 2150647] - net/mlx5: Use devl_ API for rate nodes destroy (Amir Tzin) [2112927 2150647] - net/mlx5: Remove devl_unlock from mlx5_eswtich_mode_callback_enter (Amir Tzin) [2112927 2150647] - net/mlx5: fix 32bit build (Amir Tzin) [2112927 2049622] - net/mlx5e: TC, Support offloading police action (Amir Tzin) [2112927 2049622] - net/mlx5e: Add flow_action to parse state (Amir Tzin) [2112927 2049622] - net/mlx5e: Add post meter table for flow metering (Amir Tzin) [2112927 2049622] - net/mlx5e: Add generic macros to use metadata register mapping (Amir Tzin) [2112927 2049622] - net/mlx5e: Get or put meter by the index of tc police action (Amir Tzin) [2112927 2049622] - net/mlx5e: Add support to modify hardware flow meter parameters (Amir Tzin) [2112927 2049622] - net/mlx5e: Prepare for flow meter offload if hardware supports it (Amir Tzin) [2112927 2049622] - net/mlx5: Implement interfaces to control ASO SQ and CQ (Amir Tzin) [2112927 2049622] - net/mlx5: Add support to create SQ and CQ for ASO (Amir Tzin) [2112927 2049622] - net/mlx5: E-switch: Change eswitch mode only via devlink command (Amir Tzin) [2112927 2150647 2112917] - net/mlx5: E-switch, Remove dependency between sriov and eswitch mode (Amir Tzin) [2112927 2150647 2112917] - net/mlx5: E-switch, Introduce flag to indicate if fdb table is created (Amir Tzin) [2112927 2112917] - net/mlx5: E-switch, Introduce flag to indicate if vport acl namespace is created (Amir Tzin) [2112927 2112917] - net/mlx5: delete dead code in mlx5_esw_unlock() (Amir Tzin) [2112927] - net/mlx5: Delete ipsec_fs header file as not used (Amir Tzin) [2112927] - net/mlx5: Add bits and fields to support enhanced CQE compression (Amir Tzin) [2112927] - net/mlx5: Remove not used MLX5_CAP_BITS_RW_MASK (Amir Tzin) [2112927] - net/mlx5: group fdb cleanup to single function (Amir Tzin) [2112927] - net/mlx5: Add support EXECUTE_ASO action for flow entry (Amir Tzin) [2112927 2049622] - net/mlx5: Add HW definitions of vport debug counters (Amir Tzin) [2112927] - net/mlx5: Add IFC bits and enums for flow meter (Amir Tzin) [2112927 2049622] - RDMA/mlx5: Support handling of modify-header pattern ICM area (Amir Tzin) [2112927] - net/mlx5: Manage ICM of type modify-header pattern (Amir Tzin) [2112927] - net/mlx5: Introduce header-modify-pattern ICM properties (Amir Tzin) [2112927] - RDMA/mlx5: Add a umr recovery flow (Amir Tzin) [2112927] - net/mlx5e: Ring the TX doorbell on DMA errors (Amir Tzin) [2112925] - net/mlx5e: Fix capability check for updating vnic env counters (Amir Tzin) [2112925] - net/mlx5: Lag, correct get the port select mode str (Amir Tzin) [2112925] - net/mlx5e: Fix enabling sriov while tc nic rules are offloaded (Amir Tzin) [2112925] - net/mlx5e: kTLS, Fix build time constant test in RX (Amir Tzin) [2112925] - net/mlx5e: kTLS, Fix build time constant test in TX (Amir Tzin) [2112925] - net/mlx5: Lag, decouple FDB selection and shared FDB (Amir Tzin) [2112925] - net/mlx5: TC, allow offload from uplink to other PF's VF (Amir Tzin) [2112925] - mellanox: mlx5: avoid uninitialized variable warning with gcc-12 (Amir Tzin) [2112925] - net/mlx5: E-Switch, pair only capable devices (Amir Tzin) [2112925 2150647] - Revert "net/mlx5e: Allow relaxed ordering over VFs" (Amir Tzin) [2112925] - net/mlx5: Fix mlx5_get_next_dev() peer device matching (Amir Tzin) [2112925] - RDMA/mlx5: Remove duplicate pointer assignment in mlx5_ib_alloc_implicit_mr() (Amir Tzin) [2112925] - net/mlx5: fix multiple definitions of mlx5_lag_mpesw_init / mlx5_lag_mpesw_cleanup (Amir Tzin) [2112925] - net/mlx5: Support multiport eswitch mode (Amir Tzin) [2112925 2150647] - net/mlx5: Remove unused argument (Amir Tzin) [2112925] - net/mlx5: Lag, refactor lag state machine (Amir Tzin) [2112925] - net/mlx5e: Add XDP SQs to uplink representors steering tables (Amir Tzin) [2112925] - net/mlx5e: Allow relaxed ordering over VFs (Amir Tzin) [2112925] - net/mlx5e: Support partial GSO for tunnels over vlans (Amir Tzin) [2112925] - net/mlx5e: IPoIB, Improve ethtool rxnfc callback structure in IPoIB (Amir Tzin) [2112925] - net/mlx5e: Allocate virtually contiguous memory for reps structures (Amir Tzin) [2112925] - net/mlx5e: Allocate virtually contiguous memory for VLANs list (Amir Tzin) [2112925] - net/mlx5: Allocate virtually contiguous memory in pci_irq.c (Amir Tzin) [2112925] - net/mlx5: Allocate virtually contiguous memory in vport.c (Amir Tzin) [2112925] - net/mlx5: Inline db alloc API function (Amir Tzin) [2112925] - net/mlx5: Add last command failure syndrome to debugfs (Amir Tzin) [2112925] - net/mlx5: sparse: error: context imbalance in 'mlx5_vf_get_core_dev' (Amir Tzin) [2112925] - net/mlx5: Expose mlx5_sriov_blocking_notifier_register / unregister APIs (Amir Tzin) [2112925] - net/mlx5: Lag, add debugfs to query hardware lag state (Amir Tzin) [2112925] - net/mlx5: Lag, use buckets in hash mode (Amir Tzin) [2112925] - net/mlx5: Lag, refactor dmesg print (Amir Tzin) [2112925] - net/mlx5: Support devices with more than 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, use actual number of lag ports (Amir Tzin) [2112925] - net/mlx5: Lag, use hash when in roce lag on 4 ports (Amir Tzin) [2112925] - net/mlx5: Lag, support single FDB only on 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, store number of ports inside lag object (Amir Tzin) [2112925] - net/mlx5: Lag, filter non compatible devices (Amir Tzin) [2112925] - net/mlx5: Lag, use lag lock (Amir Tzin) [2112925] - net/mlx5: Lag, move E-Switch prerequisite check into lag code (Amir Tzin) [2112925] - net/mlx5: devcom only supports 2 ports (Amir Tzin) [2112925] - net/mlx5: Lag, expose number of lag ports (Amir Tzin) [2112925] - net/mlx5: Increase FW pre-init timeout for health recovery (Amir Tzin) [2112925] - net/mlx5: Add exit route when waiting for FW (Amir Tzin) [2112925] - net/mlx5e: Use XFRM state direction instead of flags (Amir Tzin) [2112925] - net/mlx5: Allow future addition of IPsec object modifiers (Amir Tzin) [2112925] - net/mlx5: Don't perform lookup after already known sec_path (Amir Tzin) [2112925] - net/mlx5: Cleanup XFRM attributes struct (Amir Tzin) [2112925] - net/mlx5: Remove not-supported ICV length (Amir Tzin) [2112925] - net/mlx5: Simplify IPsec capabilities logic (Amir Tzin) [2112925] - net/mlx5: Don't advertise IPsec netdev support for non-IPsec device (Amir Tzin) [2112925] - net/mlx5: Make sure that no dangling IPsec FS pointers exist (Amir Tzin) [2112925] - net/mlx5: Clean IPsec FS add/delete rules (Amir Tzin) [2112925] - net/mlx5: Simplify HW context interfaces by using SA entry (Amir Tzin) [2112925] - net/mlx5: Remove indirections from esp functions (Amir Tzin) [2112925] - net/mlx5: Merge various control path IPsec headers into one file (Amir Tzin) [2112925] - net/mlx5: Remove useless validity check (Amir Tzin) [2112925] - net/mlx5: Store IPsec ESN update work in XFRM state (Amir Tzin) [2112925] - net/mlx5: Reduce useless indirection in IPsec FS add/delete flows (Amir Tzin) [2112925] - net/mlx5: Don't hide fallback to software IPsec in FS code (Amir Tzin) [2112925] - net/mlx5: Check IPsec TX flow steering namespace in advance (Amir Tzin) [2112925] - net/mlx5: Simplify IPsec flow steering init/cleanup functions (Amir Tzin) [2112925] - net/mlx5: fs, an FTE should have no dests when deleted (Amir Tzin) [2112925] - net/mlx5: fs, call the deletion function of the node (Amir Tzin) [2112925] - net/mlx5: fs, delete the FTE when there are no rules attached to it (Amir Tzin) [2112925] - net/mlx5: fs, do proper bookkeeping for forward destinations (Amir Tzin) [2112925] - net/mlx5: fs, add unused destination type (Amir Tzin) [2112925] - net/mlx5: fs, jump to exit point and don't fall through (Amir Tzin) [2112925] - net/mlx5: fs, refactor software deletion rule (Amir Tzin) [2112925] - net/mlx5: fs, split software and IFC flow destination definitions (Amir Tzin) [2112925] - net/mlx5e: TC, set proper dest type (Amir Tzin) [2112925] - net/mlx5e: Remove unused mlx5e_dcbnl_build_rep_netdev function (Amir Tzin) [2112925] - net/mlx5e: Drop error CQE handling from the XSK RX handler (Amir Tzin) [2112925] - net/mlx5: Print initializing field in case of timeout (Amir Tzin) [2112925] - net/mlx5: Delete redundant default assignment of runtime devlink params (Amir Tzin) [2112925] - net/mlx5: Remove useless kfree (Amir Tzin) [2112925] - net/mlx5: use kvfree() for kvzalloc() in mlx5_ct_fs_smfs_matcher_create (Amir Tzin) [2112925] - RDMA/mlx5: Clean UMR QP type flow from mlx5_ib_post_send() (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to update xlt (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to update MR pas (Amir Tzin) [2112925] - RDMA/mlx5: Move creation and free of translation tables to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to rereg pd access (Amir Tzin) [2112925] - RDMA/mlx5: Use mlx5_umr_post_send_wait() to revoke MRs (Amir Tzin) [2112925] - RDMA/mlx5: Introduce mlx5_umr_post_send_wait() (Amir Tzin) [2112925] - RDMA/mlx5: Expose wqe posting helpers outside of wr.c (Amir Tzin) [2112925] - RDMA/mlx5: Simplify get_umr_update_access_mask() (Amir Tzin) [2112925] - RDMA/mlx5: Move mkey ctrl segment logic to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Move umr checks to umr.h (Amir Tzin) [2112925] - RDMA/mlx5: Move init and cleanup of UMR to umr.c (Amir Tzin) [2112925] - RDMA/mlx5: Fix flow steering egress flow (Amir Tzin) [2112925] - mlx5, xsk: Diversify return values from xsk_wakeup call paths (Amir Tzin) [2112925] - net/mlx5: Remove not-implemented IPsec capabilities (Amir Tzin) [2112925] - net/mlx5: Remove ipsec_ops function table (Amir Tzin) [2112925] - net/mlx5: Reduce kconfig complexity while building crypto support (Amir Tzin) [2112925] - net/mlx5: Move IPsec file to relevant directory (Amir Tzin) [2112925] - net/mlx5: Remove not-needed IPsec config (Amir Tzin) [2112925] - net/mlx5: Align flow steering allocation namespace to common style (Amir Tzin) [2112925] - net/mlx5: Unify device IPsec capabilities check (Amir Tzin) [2112925] - net/mlx5: Remove useless IPsec device checks (Amir Tzin) [2112925] - net/mlx5: Remove ipsec vs. ipsec offload file separation (Amir Tzin) [2112925] - RDMA/mlx5: Drop crypto flow steering API (Amir Tzin) [2112925] - RDMA/mlx5: Delete never supported IPsec flow action (Amir Tzin) [2112925] - net/mlx5: Remove FPGA ipsec specific statistics (Amir Tzin) [2112925] - net/mlx5: Remove XFRM no_trailer flag (Amir Tzin) [2112925] - net/mlx5: Remove not-used IDA field from IPsec struct (Amir Tzin) [2112925] - net/mlx5: Delete metadata handling logic (Amir Tzin) [2112925] - net/mlx5_fpga: Drop INNOVA IPsec support (Amir Tzin) [2112925] - net/mlx5: Cleanup kTLS function names and their exposure (Amir Tzin) [2112925] - net/mlx5: Remove tls vs. ktls separation as it is the same (Amir Tzin) [2112925] - net/mlx5: Remove indirection in TLS build (Amir Tzin) [2112925] - net/mlx5: Reliably return TLS device capabilities (Amir Tzin) [2112925] - net/mlx5_fpga: Drop INNOVA TLS support (Amir Tzin) [2112925] - ipv6: Use ipv6_only_sock() helper in condition (mlx5 hunk only). (Amir Tzin) [2112925] - Revert "stmmac/intel: mark driver as tech preview" (Mark Salter) [2122230] - net: stmmac: Fix queue statistics reading (Mark Salter) [2122230] - stmmac: intel: Update PCH PTP clock rate from 200MHz to 204.8MHz (Mark Salter) [2122230] - net: stmmac: power up/down serdes in stmmac_open/release (Mark Salter) [2122230] - stmmac: intel: Simplify intel_eth_pci_remove() (Mark Salter) [2122230] - net: stmmac: work around sporadic tx issue on link-up (Mark Salter) [2122230] - stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove() (Mark Salter) [2122230] - net: phylink: fix SGMII inband autoneg enable (Mark Salter) [2122230] - net: phylink: fix NULL pl->pcs dereference during phylink_pcs_poll_start (Mark Salter) [2122230] - net: phylink: disable PCS polling over major configuration (Mark Salter) [2122230] - net: phylink: remove pcs_ops member (Mark Salter) [2122230] - net: pcs: xpcs: depends on PHYLINK in Kconfig (Mark Salter) [2122230] - net: phylink: add QSGMII support to phylink_mii_c22_pcs_encode_advertisement() (Mark Salter) [2122230] - net: stmmac: make mdio register skips PHY scanning for fixed-link (Mark Salter) [2122230] - stmmac: intel: add phy-mode and fixed-link ACPI _DSD setting support (Mark Salter) [2122230] - net: pcs: xpcs: add CL37 1000BASE-X AN support (Mark Salter) [2122230] - stmmac: intel: prepare to support 1000BASE-X phy interface setting (Mark Salter) [2122230] - net: make xpcs_do_config to accept advertising for pcs-xpcs and sja1105 (Mark Salter) [2122230] - net: pcs: xpcs: propagate xpcs_read error to xpcs_get_state_c37_sgmii (Mark Salter) [2122230] - net: stmmac: remove redunctant disable xPCS EEE call (Mark Salter) [2122230] - net: stmmac: fix dma queue left shift overflow issue (Mark Salter) [2122230] - net: stmmac: switch to use interrupt for hw crosstimestamping (Mark Salter) [2122230] - net: stmmac: fix unbalanced ptp clock issue in suspend/resume flow (Mark Salter) [2122230] - net: stmmac: fix pm runtime issue in stmmac_dvr_remove() (Mark Salter) [2122230] - net: stmmac: dwc-qos: Disable split header for Tegra194 (Mark Salter) [2122230] - stmmac: intel: Fix an error handling path in intel_eth_pci_probe() (Mark Salter) [2122230] - stmmac: intel: Add RPL-P PCI ID (Mark Salter) [2122230] - net: stmmac: use dev_err_probe() for reporting mdio bus registration failure (Mark Salter) [2122230] - net: stmmac: remove unused get_addr() callback (Mark Salter) [2122230] - net: pcs: pcs-xpcs: Convert to mdiobus_c45_read (Mark Salter) [2122230] - net: phylink: Convert to mdiobus_c45_{read|write} (Mark Salter) [2122230] - net: stmmac: stmmac_main: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Mark Salter) [2122230] - net: phylink: remove phylink_helper_basex_speed() (Mark Salter) [2122230] - net: phylink: remove phylink_set_10g_modes() (Mark Salter) [2122230] - net: stmmac: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Mark Salter) [2122230] - net: stmmac: fix missing pci_disable_device() on error in stmmac_pci_probe() (Mark Salter) [2122230] - net: stmmac: disable Split Header (SPH) for Intel platforms (Mark Salter) [2122230] - net: stmmac: Use readl_poll_timeout_atomic() in atomic state (Mark Salter) [2122230] - net: stmmac: Fix unset max_speed difference between DT and non-DT platforms (Mark Salter) [2122230] - stmmac: intel: Add ADL-N PCI ID (Mark Salter) [2122230] - net: stmmac: switch no PTP HW support message to info level (Mark Salter) [2122230] - net: phylink: remove phylink_set_pcs() (Mark Salter) [2122230] - stmmac: intel: Enable 2.5Gbps for Intel AlderLake-S (Mark Salter) [2122230] - net: phylink: remove phylink_config's pcs_poll (Mark Salter) [2122230] - net: phylink: use legacy_pre_march2020 (Mark Salter) [2122230] - net: phylink: add legacy_pre_march2020 indicator (Mark Salter) [2122230] - net: stmmac: optimize locking around PTP clock reads (Mark Salter) [2122230] - net: stmmac: use .mac_select_pcs() interface (Mark Salter) [2122230] - net: stmmac: convert to phylink_generic_validate() (Mark Salter) [2122230] - net: stmmac: remove phylink_config.pcs_poll usage (Mark Salter) [2122230] - net: stmmac/xpcs: convert to pcs_validate() (Mark Salter) [2122230] - net: convert users of bitmap_foo() to linkmode_foo() (Mark Salter) [2122230] - net: phylink: add pcs_validate() method (Mark Salter) [2122230] - net: phylink: add mac_select_pcs() method to phylink_mac_ops (Mark Salter) [2122230] - net: phylink: tidy up disable bit clearing (Mark Salter) [2122230] - net: phylink: handle NA interface mode in phylink_fwnode_phy_connect() (Mark Salter) [2122230] - net: phylink: Add helpers for c22 registers without MDIO (Mark Salter) [2122230] - net: phylink: add 1000base-KX to phylink_caps_to_linkmodes() (Mark Salter) [2122230] - net: phylink: add generic validate implementation (Mark Salter) [2122230] - net: phylink: use supported_interfaces for phylink validation (Mark Salter) [2122230] - net: phylink: add MAC phy_interface_t bitmap (Mark Salter) [2122230] - net: phy: add phy_interface_t bitmap support (Mark Salter) [2122230] - net: phylink: Convert some users of mdiobus_* to mdiodev_* (Mark Salter) [2122230] - net: phylink: use mdiobus_modify_changed() helper (Mark Salter) [2122230] - net: mdio: add mdiobus_modify_changed() (Mark Salter) [2122230] - net: phylink: add phylink_set_10g_modes() helper (Mark Salter) [2122230] - net: stmmac: fill in supported_interfaces (Mark Salter) [2122230] - net: stmmac: convert to phylink_get_linkmodes() (Mark Salter) [2122230] - net: xpcs: add support for retrieving supported interface modes (Mark Salter) [2122230] - net: mdio: Add helper functions for accessing MDIO devices (Mark Salter) [2122230] - net: stmmac: fix return value of __setup handler (Mark Salter) [2122230] - net: stmmac: only enable DMA interrupts when ready (Mark Salter) [2122230] - net: stmmac: ensure PTP time register reads are consistent (Mark Salter) [2122230] - net: stmmac: dump gmac4 DMA registers correctly (Mark Salter) [2122230] - net: stmmac: properly handle with runtime pm in stmmac_dvr_remove() (Mark Salter) [2122230] - net: stmmac: skip only stmmac_ptp_register when resume from suspend (Mark Salter) [2122230] - drivers/net/ethernet: clean up mis-targeted comments (Mark Salter) [2122230] - net: stmmac: configure PTP clock source prior to PTP initialization (Mark Salter) [2122230] - net: stmmac: reduce unnecessary wakeups from eee sw timer (Mark Salter) [2122230] - net: stmmac: remove unused members in struct stmmac_priv (Mark Salter) [2122230] - net: stmmac: Fix "Unbalanced pm_runtime_enable!" warning (Mark Salter) [2122230] - net: stmmac: add tc flower filter for EtherType matching (Mark Salter) [2122230] - net: stmmac: bump tc when get underflow error from DMA descriptor (Mark Salter) [2122230] - stmmac: remove ethtool driver version info (Mark Salter) [2122230] - net: stmmac: Calculate CDC error only once (Mark Salter) [2122230] - net: stmmac: ptp: fix potentially overflowing expression (Mark Salter) [2122230] - net: stmmac: fix tc flower deletion for VLAN priority Rx steering (Mark Salter) [2122230] - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support (Mark Salter) [2122230] - net: stmmac: Disable Tx queues when reconfiguring the interface (Mark Salter) [2122230] - net: phylink: Force retrigger in case of latched link-fail indicator (Mark Salter) [2122230] - net: phylink: Force link down and retrigger resolve on interface change (Mark Salter) [2122230] - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls (Mark Salter) [2122230] - stmmac_pci: Fix underflow size in stmmac_rx (Mark Salter) [2122230] - net: stmmac: Fix signed/unsigned wreckage (Mark Salter) [2122230] - net: stmmac: allow a tc-taprio base-time of zero (Mark Salter) [2122230] - ethernet: stmmac: use eth_hw_addr_set() (Mark Salter) [2122230] - net: phylink: Support disabling autonegotiation for PCS (Mark Salter) [2122230] - net: stmmac: fix off-by-one error in sanity check (Mark Salter) [2122230] - net: stmmac: fix gcc-10 -Wrestrict warning (Mark Salter) [2122230] - net: phylink: don't call netif_carrier_off() with NULL netdev (Mark Salter) [2122230] - net: stmmac: Fix E2E delay mechanism (Mark Salter) [2122230] - net: stmmac: add support for dwmac 3.40a (Mark Salter) [2122230] - net: stmmac: fix get_hw_feature() on old hardware (Mark Salter) [2122230] - net: stmmac: trigger PCS EEE to turn off on link down (Mark Salter) [2122230] - net: pcs: xpcs: fix incorrect steps on disable EEE (Mark Salter) [2122230] - net: pcs: xpcs: fix incorrect CL37 AN sequence (Mark Salter) [2122230] - net: stmmac: fix EEE init issue when paired with EEE capable PHYs (Mark Salter) [2122230] - net: stmmac: allow CSR clock of 300MHz (Mark Salter) [2122230] - net: stmmac: platform: fix build warning when with !CONFIG_PM_SLEEP (Mark Salter) [2122230] - net: stmmac: fix system hang caused by eee_ctrl_timer during suspend/resume (Mark Salter) [2122230] - net: stmmac: fix MAC not working when system resume back with WoL active (Mark Salter) [2122230] - net: phylink: add suspend/resume support (Mark Salter) [2122230] - net: stmmac: add ethtool per-queue irq statistic support (Mark Salter) [2122230] - net: stmmac: add ethtool per-queue statistic framework (Mark Salter) [2122230] - net: stmmac: fix INTR TBU status affecting irq count statistic (Mark Salter) [2122230] - net: pcs: xpcs: Add Pause Mode support for SGMII and 2500BaseX (Mark Salter) [2122230] - net: stmmac: fix kernel panic due to NULL pointer dereference of plat->est (Mark Salter) [2122230] - net: pcs: xpcs: fix error handling on failed to allocate memory (Mark Salter) [2122230] - net: stmmac: add est_irq_status callback function for GMAC 4.10 and 5.10 (Mark Salter) [2122230] - net: stmmac: ptp: update tas basetime after ptp adjust (Mark Salter) [2122230] - net: stmmac: add mutex lock to protect est parameters (Mark Salter) [2122230] - net: stmmac: separate the tas basetime calculation function (Mark Salter) [2122230] - net: stmmac: Terminate FPE workqueue in suspend (Mark Salter) [2122230] - stmmac: intel: set PCI_D3hot in suspend (Mark Salter) [2122230] - stmmac: intel: Enable PHY WOL option in EHL (Mark Salter) [2122230] - net: stmmac: option to enable PHY WOL with PMT enabled (Mark Salter) [2122230] - net: stmmac: remove redundant continue statement (Mark Salter) [2122230] - stmmac: intel: fix wrong kernel-doc (Mark Salter) [2122230] - stmmac: intel: move definitions to dwmac-intel header file (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_do_config and xpcs_link_up (Mark Salter) [2122230] - net: pcs: xpcs: also ignore phy id if it's all ones (Mark Salter) [2122230] - net: pcs: xpcs: add support for sgmii with no inband AN (Mark Salter) [2122230] - net: pcs: xpcs: move register bit descriptions to a header file (Mark Salter) [2122230] - net: stmmac: reduce indentation when calling stmmac_xpcs_setup (Mark Salter) [2122230] - net: stmmac: reverse Christmas tree notation in stmmac_xpcs_setup (Mark Salter) [2122230] - net: pcs: xpcs: rename mdio_xpcs_args to dw_xpcs (Mark Salter) [2122230] - net: phylink: Refactor phylink_of_phy_connect() (Mark Salter) [2122230] - net: phylink: introduce phylink_fwnode_phy_connect() (Mark Salter) [2122230] - net: phy: Introduce phy related fwnode functions (Mark Salter) [2122230] - net: phy: Introduce fwnode_mdio_find_device() (Mark Salter) [2122230] - net: stmmac: Fix unused values warnings (Mark Salter) [2122230] - net: stmmac: Fix mixed enum type warning (Mark Salter) [2122230] - net: stmmac: Fix missing { } around two statements in an if statement (Mark Salter) [2122230] - net: stmmac: explicitly deassert GMAC_AHB_RESET (Mark Salter) [2122230] - net: stmmac: platform: use optional clk/reset get APIs (Mark Salter) [2122230] - net: stmmac: fix NPD with phylink_set_pcs if there is no MDIO bus (Mark Salter) [2122230] - net: stmmac: enable Intel mGbE 2.5Gbps link speed (Mark Salter) [2122230] - net: pcs: add 2500BASEX support for Intel mGbE controller (Mark Salter) [2122230] - net: stmmac: split xPCS setup from mdio register (Mark Salter) [2122230] - net: pcs: xpcs: convert to phylink_pcs_ops (Mark Salter) [2122230] - net: pcs: xpcs: convert to mdio_device (Mark Salter) [2122230] - net: pcs: xpcs: use mdiobus_c45_addr in xpcs_{read,write} (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_probe (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_config_eee (Mark Salter) [2122230] - net: pcs: xpcs: export xpcs_validate (Mark Salter) [2122230] - net: pcs: xpcs: make the checks related to the PHY interface mode stateless (Mark Salter) [2122230] - net: pcs: xpcs: delete shim definition for mdio_xpcs_get_ops() (Mark Salter) [2122230] - net: pcs: xpcs: there is only one PHY ID (Mark Salter) [2122230] - net: stmmac: enable platform specific safety features (Mark Salter) [2122230] - net: stmmac: the XPCS obscures a potential "PHY not found" error (Mark Salter) [2122230] - net: stmmac: Add callbacks for DWC xpcs Energy Efficient Ethernet (Mark Salter) [2122230] - net: pcs: Introducing support for DWC xpcs Energy Efficient Ethernet (Mark Salter) [2122230]- xfs: reserve quota for dir expansion when linking/unlinking files (Bill O'Donnell) [2086880] - scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM (Emanuele Giuseppe Esposito) [2150659] - ACPICA: Fix operand resolution (Mark Langsdorf) [2156144] - driver core: Add missing kernel doc for device::msi_lock (Myron Stowe) [2158839] - PCI/MSI: Protect msi_desc::masked for multi-MSI (Myron Stowe) [2158839] - KVM: arm64: Don't retrieve memory slot again in page fault handler (Gavin Shan) [2161161] - fs: allow cross-vfsmount reflink/dedupe (Andrey Albershteyn) [2086200] - powerpc/hv-gpci: Fix hv_gpci event list (Mamatha Inamdar) [2161258] - powerpc: declare unmodified attribute_group usages const (Mamatha Inamdar) [2161258] - drm/amd: Delay removal of the firmware framebuffer (Michel Dänzer) [2162039] - cpuidle: Add cpu_idle_miss trace event (Mark Langsdorf) [2122312] - cpuidle: haltpoll: Add trace points for guest_halt_poll_ns grow/shrink (Mark Langsdorf) [2122312] - efi/cper, cxl: Decode CXL Error Log (Lenny Szubowicz) [2143733] - efi/cper, cxl: Decode CXL Protocol Error Section (Lenny Szubowicz) [2143733] - efi: cper: Add support for printing Firmware Error Record Reference (Lenny Szubowicz) [2143733] - Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu (Wander Lairson Costa) [2152927] {CVE-2022-3564} - drm/i915: Fix CFI violations in gt_sysfs (Jocelyn Falempe) [2154880] - NFS: Clear the file access cache upon login (Benjamin Coddington) [2050832] - NFS: don't store 'struct cred *' in struct nfs_access_entry (Benjamin Coddington) [2050832] - NFS: pass cred explicitly for access tests (Benjamin Coddington) [2050832] - NFS: change nfs_access_get_cached to only report the mask (Benjamin Coddington) [2050832] - init: Initialize noop_backing_dev_info early (Nico Pache) [2160228] - mm: vmscan: make rotations a secondary factor in balancing anon vs file (Nico Pache) [2160228] - writeback: Fix inode->i_io_list not be protected by inode->i_lock error (Nico Pache) [2160228] - mm: vmscan: fix extreme overreclaim and swap floods (Nico Pache) [2160228] - mm/page_alloc: ensure kswapd doesn't accidentally go to sleep (Nico Pache) [2160228] - mm/page_io: count submission time as thrashing delay for delayacct (Nico Pache) [2160228] - delayacct: support re-entrance detection of thrashing accounting (Nico Pache) [2160228] - filemap: make the accounting of thrashing more consistent (Nico Pache) [2160228] - writeback: don't warn on an unregistered BDI in __mark_inode_dirty (Nico Pache) [2160228] - s390/dasd: fix no record found for raw_track_access (Tobias Huschle) [2161270] - crypto: testmgr - disallow certain DRBG hash functions in FIPS mode (Vladis Dronov) [2152133] - dmaengine: idxd: Fix crc_val field for completion record (Jerry Snitselaar) [2144375] - dmaengine: idxd: Make read buffer sysfs attributes invisible for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: Make max batch size attributes in sysfs invisible for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: Do not call DMX TX callbacks during workqueue disable (Jerry Snitselaar) [2144375] - dmaengine: idxd: Prevent use after free on completion memory (Jerry Snitselaar) [2144375] - dmaengine: idxd: Let probe fail when workqueue cannot be enabled (Jerry Snitselaar) [2144375] - dmaengine: idxd: Fix max batch size for Intel IAA (Jerry Snitselaar) [2144375] - dmaengine: idxd: add configuration for concurrent batch descriptor processing (Jerry Snitselaar) [2144375] - dmanegine: idxd: reformat opcap output to match bitmap_parse() input (Jerry Snitselaar) [2144375] - dmaengine: idxd: add configuration for concurrent work descriptor processing (Jerry Snitselaar) [2144375] - dmaengine: idxd: add WQ operation cap restriction support (Jerry Snitselaar) [2144375] - dmaengine: idxd: convert ats_dis to a wq flag (Jerry Snitselaar) [2144375] - dmaengine: idxd: track enabled workqueues in bitmap (Jerry Snitselaar) [2144375] - dmaengine: idxd: Set wq state to disabled in idxd_wq_disable_cleanup() (Jerry Snitselaar) [2144375] - dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual Addressing (Jerry Snitselaar) [2144375] - dmaengine: idxd: fix RO device state error after been disabled/reset (Jerry Snitselaar) [2144375] - dmaengine: idxd: avoid deadlock in process_misc_interrupts() (Jerry Snitselaar) [2144375] - KVM: x86: nSVM: implement nested LBR virtualization (Emanuele Giuseppe Esposito) [2155149] - KVM: x86: nSVM: correctly virtualize LBR msrs when L2 is running (Emanuele Giuseppe Esposito) [2155149] - kvm: x86: SVM: use vmcb* instead of svm->vmcb where it makes sense (Emanuele Giuseppe Esposito) [2155149] - KVM: x86: nSVM: implement nested VMLOAD/VMSAVE (Emanuele Giuseppe Esposito) [2155149] - eth: octeon: fix build after netif_napi_add() changes (Íñigo Huguet) [2152918] - net: drop the weight argument from netif_napi_add (Íñigo Huguet) [2152918] - net: remove netif_tx_napi_add() (Íñigo Huguet) [2152918] - ipoib: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - IB/hfi1: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - IB/hfi1: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - crypto: caam/qi2 - switch to netif_napi_add_tx_weight() (Íñigo Huguet) [2152918] - can: can-dev: move to netif_napi_add_weight() (Íñigo Huguet) [2152918] - net: virtio: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - r8152: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - eth: switch to netif_napi_add_weight() (Íñigo Huguet) [2152918] - mt76: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - net: move snowflake callers to netif_napi_add_tx_weight() (Íñigo Huguet) [2152918] - net: switch to netif_napi_add_tx() (Íñigo Huguet) [2152918] - can: m_can: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: remove remaining copies of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: benet: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: atlantic: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: smsc: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - eth: remove copies of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2152918] - netdev: reshuffle netif_napi_add() APIs to allow dropping weight (Íñigo Huguet) [2152918] - ipv6: raw: Deduct extension header length in rawv6_push_pending_frames (Hangbin Liu) [2162124] {CVE-2023-0394} - netfilter: conntrack: handle tcp challenge acks during connection reuse (Florian Westphal) [2158726] - act_mirred: use the backlog for nested calls to mirred ingress (Davide Caratti) [2131339] {CVE-2022-4269} - net/sched: act_mirred: better wording on protection against excessive stack growth (Davide Caratti) [2131339] - xfs: add selinux labels to whiteout inodes (Andrey Albershteyn) [2094060] - tdx: enable TDX attestation driver (Wander Lairson Costa) [2076748] - selftests/tdx: Test TDX attestation GetReport support (Wander Lairson Costa) [2076748] - virt: Add TDX guest driver (Wander Lairson Costa) [2076748] - x86/tdx: Add a wrapper to get TDREPORT0 from the TDX Module (Wander Lairson Costa) [2076748] - proc: proc_skip_spaces() shouldn't think it is working on C strings (Wander Lairson Costa) [2152572] {CVE-2022-4378} - proc: avoid integer type confusion in get_proc_long (Wander Lairson Costa) [2152572] {CVE-2022-4378} - NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE (Jeffrey Layton) [2127153] - NFS: nfsiod should not block forever in mempool_alloc() (Jeffrey Layton) [2127153] - NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly (Benjamin Coddington) [2061259] - NFSv4.1: Don't decrease the value of seq_nr_highest_sent (Benjamin Coddington) [2061259]- uas: ignore UAS for Thinkplus chips (Torez Smith) [2113004] - usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS (Torez Smith) [2113004] - thunderbolt: Explicitly reset plug events delay back to USB4 spec value (Torez Smith) [2113004] - USB: serial: option: add Quectel BG95 0x0203 composition (Torez Smith) [2113004] - thunderbolt: Add support for Intel Maple Ridge single port controller (Torez Smith) [2113004] - USB: core: Fix RST error in hub.c (Torez Smith) [2113004] - kunit: fix Kconfig for build-in tests USB4 and Nitro Enclaves (Torez Smith) [2113004] - usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS (Torez Smith) [2113004] - USB: serial: cp210x: add Decagon UCA device id (Torez Smith) [2113004] - USB: core: Prevent nested device-reset calls (Torez Smith) [2113004] - usb: typec: Remove retimers properly (Torez Smith) [2113004] - USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id (Torez Smith) [2113004] - USB: serial: option: add support for OPPO R11 diag port (Torez Smith) [2113004] - xhci: Add grace period after xHC start to prevent premature runtime suspend. (Torez Smith) [2113004] - xhci: Fix null pointer dereference in remove if xHC has only one roothub (Torez Smith) [2113004] - USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) (Torez Smith) [2113004] - usb: xhci-mtk: fix bandwidth release issue (Torez Smith) [2113004] - usb: xhci-mtk: relax TT periodic bandwidth allocation (Torez Smith) [2113004] - usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles (Torez Smith) [2113004] - usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device (Torez Smith) [2113004] - usb-storage: Add ignore-residue quirk for NXP PN7462AU (Torez Smith) [2113004] - usb: typec: tcpm: Return ENOTSUPP for power supply prop writes (Torez Smith) [2113004] - thunderbolt: Check router generation before connecting xHCI (Torez Smith) [2113004] - thunderbolt: Use the actual buffer in tb_async_error() (Torez Smith) [2113004] - USB: usbsevseg: convert sysfs snprintf to sysfs_emit (Torez Smith) [2113004] - dt-bindings: usb: Add binding for TI USB8041 hub controller (Torez Smith) [2113004] - usb: typec: ucsi: stm32g0: add bootloader support (Torez Smith) [2113004] - usb: typec: ucsi: stm32g0: add support for stm32g0 controller (Torez Smith) [2113004] - dt-bindings: usb: typec: add bindings for stm32g0 controller (Torez Smith) [2113004] - usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion (Torez Smith) [2113004] - usb: typec: retimer: Add missing id check in match callback (Torez Smith) [2113004] - USB: xhci: Fix comment typo (Torez Smith) [2113004] - usb/typec/tcpm: fix repeated words in comments (Torez Smith) [2113004] - usb/misc: fix repeated words in comments (Torez Smith) [2113004] - usb/image: fix repeated words in comments (Torez Smith) [2113004] - usb/host: fix repeated words in comments (Torez Smith) [2113004] - usb/core: fix repeated words in comments (Torez Smith) [2113004] - usb/atm: fix repeated words in comments (Torez Smith) [2113004] - USB: HCD: Fix URB giveback issue in tasklet function (Torez Smith) [2113004] - usb: xhci_plat_remove: avoid NULL dereference (Torez Smith) [2113004] - USB: serial: fix tty-port initialized comments (Torez Smith) [2113004] - USB: serial: usb_wwan: replace DTR/RTS magic numbers with macros (Torez Smith) [2113004] - USB: cdc-acm: use CDC serial-state defines (Torez Smith) [2113004] - USB: cdc-acm: use CDC control-line defines (Torez Smith) [2113004] - USB: cdc: add serial-state defines (Torez Smith) [2113004] - USB: cdc: add control-signal defines (Torez Smith) [2113004] - net/cdc_ncm: Increase NTB max RX/TX values to 64kb (Torez Smith) [2113004] - usb: typec: Add retimer handle to port (Torez Smith) [2113004] - usb: typec: Add support for retimers (Torez Smith) [2113004] - dt-bindings: usb: Add analogix anx7411 PD binding (Torez Smith) [2113004] - usb: ldusb: replace ternary operator with max_t() (Torez Smith) [2113004] - USB: serial: fix repeated word "the" in comments (Torez Smith) [2113004] - USB: serial: io_edgeport: fix spelling mistakes (Torez Smith) [2113004] - USB: serial: ftdi_sio: add Belimo device ids (Torez Smith) [2113004] - thunderbolt: test: Use kunit_test_suite() macro (Torez Smith) [2113004] - media: pvrusb2: drop unexpected word 'a' in comments (Torez Smith) [2113004] - media: gspca: drop unexpected word 'is' in the comments (Torez Smith) [2113004] - usb: typec: add missing uevent when partner support PD (Torez Smith) [2113004] - tools: usb: testusb: Add super-plus speed reporting (Torez Smith) [2113004] - tools: usb: testusb: Add super speed reporting (Torez Smith) [2113004] - tools: usb: testusb: Add wireless speed reporting (Torez Smith) [2113004] - usb: typec: tcpci: move tcpci.h to include/linux/usb/ (Torez Smith) [2113004] - ARM: sa1100/assabet: move dmabounce hack to ohci driver (Torez Smith) [2113004] - usb: host: xhci: use snprintf() in xhci_decode_trb() (Torez Smith) [2113004] - USB: cdc-acm: use define for timeout (Torez Smith) [2113004] - usb: typec_altmode: add a missing "@" at a kernel-doc parameter (Torez Smith) [2113004] - usb: core: sysfs: convert sysfs snprintf to sysfs_emit (Torez Smith) [2113004] - media: usb: gspca: aligned '*' each line (Torez Smith) [2113004] - media: hdpvr: fix error value returns in hdpvr_read (Torez Smith) [2113004] - media: em28xx: Remove useless license text when SPDX-License-Identifier is already used (Torez Smith) [2113004] - USB: serial: use kmemdup instead of kmalloc + memcpy (Torez Smith) [2113004] - usb: host: ehci-q: Fix ehci_submit_single_step_set_feature annotation typo (Torez Smith) [2113004] - USB: storage: Fix typo in comment (Torez Smith) [2113004] - usb: typec: mux: Add CONFIG guards for functions (Torez Smith) [2113004] - usb: typec: mux: Allow muxes to specify mode-switch (Torez Smith) [2113004] - usb: musb: Add support for PolarFire SoC's musb controller (Torez Smith) [2113004] - media: pvrusb2: fix memory leak in pvr_probe (Torez Smith) [2113004] - media: airspy: respect the DMA coherency rules (Torez Smith) [2113004] - media: usbtv: Add PAL-Nc standard (Torez Smith) [2113004] - thunderbolt: Fix typo in comment (Torez Smith) [2113004] - dt-bindings: usb: add documentation for aspeed udc (Torez Smith) [2113004] - usb: Avoid extra usb SET_SEL requests when enabling link power management (Torez Smith) [2113004] - usb: typec: tcpm: Register USB Power Delivery Capabilities (Torez Smith) [2113004] - usb: typec: USB Power Delivery helpers for ports and partners (Torez Smith) [2113004] - usb: typec: Separate USB Power Delivery from USB Type-C (Torez Smith) [2113004] - usb: hub: port: add sysfs entry to switch port power (Torez Smith) [2113004] - ucsi_ccg: ACPI based I2c client enumeration for AMD ASICs (Torez Smith) [2113004] - ucsi_ccg: Do not hardcode interrupt polarity and type (Torez Smith) [2113004] - usb: xhci-mtk: add support optional controller reset (Torez Smith) [2113004] - usb: typec: tcpm: fix typo in comment (Torez Smith) [2113004] - usb: xhci: tegra: Fix error check (Torez Smith) [2113004] - usb: common: usb-conn-gpio: Allow wakeup from system suspend (Torez Smith) [2113004] - usbip: vudc: Don't enable IRQs prematurely (Torez Smith) [2113004] - USB: usbip: clean up mixed use of _irq() and _irqsave() (Torez Smith) [2113004] - USB: Follow-up to SPDX identifiers addition - remove now useless comments (Torez Smith) [2113004] - thunderbolt: Fix some kernel-doc comments (Torez Smith) [2113004] - usb: hub: Simplify error and success path in port_over_current_notify (Torez Smith) [2113004] - usb: remove Link Powermanagement (LPM) disable before port reset. (Torez Smith) [2113004] - thunderbolt: Change TMU mode to HiFi uni-directional once DisplayPort tunneled (Torez Smith) [2113004] - usb: core: Bail out when port is stuck in reset loop (Torez Smith) [2113004] - thunderbolt: Add CL1 support for USB4 and Titan Ridge routers (Torez Smith) [2113004] - thunderbolt: Change downstream router's TMU rate in both TMU uni/bidir mode (Torez Smith) [2113004] - USB: core: Fix bug in resuming hub's handling of wakeup requests (Torez Smith) [2113004] - thunderbolt: Fix typos in CLx enabling (Torez Smith) [2113004] - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 (Torez Smith) [2113004] - usb: hub: make wait_for_connected() take an int instead of a pointer to int (Torez Smith) [2113004] - thunderbolt: CLx disable before system suspend only if previously enabled (Torez Smith) [2113004] - usb: hub: avoid warm port reset during USB3 disconnect (Torez Smith) [2113004] - thunderbolt: Silently ignore CLx enabling in case CLx is not supported (Torez Smith) [2113004]- config: Enable Security Path (Ricardo Robaina) [2161309] - tcp: Fix build break when CONFIG_IPV6=n (Jamie Bainbridge) [2143849] - tcp: annotate data-race around queue->synflood_warned (Jamie Bainbridge) [2143849] - tcp: Add listening address to SYN flood message (Jamie Bainbridge) [2143849] - tcp: Fix data-races around sysctl_tcp_syncookies. (Jamie Bainbridge) [2143849] - firmware_loader: Fix memory leak in firmware upload (Mark Langsdorf) [2122319] - firmware_loader: Fix use-after-free during unregister (Mark Langsdorf) [2122319] - firmware_loader: fix memory leak for paged buffer (Mark Langsdorf) [2122319] - firmware_loader: describe 'module' parameter of firmware_upload_register() (Mark Langsdorf) [2122319] - firmware_loader: Move definitions from sysfs_upload.h to sysfs.h (Mark Langsdorf) [2122319] - firmware_loader: Add sysfs nodes to monitor fw_upload (Mark Langsdorf) [2122319] - firmware_loader: Add firmware-upload support (Mark Langsdorf) [2122319] - firmware_loader: Split sysfs support from fallback (Mark Langsdorf) [2122319] - firmware_loader: Clear data and size in fw_free_paged_buf (Mark Langsdorf) [2122319] - firmware: Use kvmalloc for page tables (Mark Langsdorf) [2122319] - firmware: Unify the paged buffer release helper (Mark Langsdorf) [2122319] - firmware: Free temporary page table after vmapping (Mark Langsdorf) [2122319] - arch_topology: Make cluster topology span at least SMT CPUs (Mark Langsdorf) [2122319] - driver core: fix driver_set_override() issue with empty strings (Mark Langsdorf) [2122319] - arch_topology: Silence early cacheinfo errors when non-existent (Mark Langsdorf) [2122319] - driver core: Don't probe devices after bus_type.match() probe deferral (Mark Langsdorf) [2122319] - regmap: spi: Reserve space for register address/padding (Mark Langsdorf) [2122319] - arch_topology: Fix cache attributes detection in the CPU hotplug path (Mark Langsdorf) [2122319] - cacheinfo: Use atomic allocation for percpu cache attributes (Mark Langsdorf) [2122319] - regmap: permit to set reg_update_bits with bulk implementation (Mark Langsdorf) [2122319] - PM: domains: Ensure genpd_debugfs_dir exists before remove (Mark Langsdorf) [2122319] - PM: runtime: Extend support for wakeirq for force_suspend|resume (Mark Langsdorf) [2122319] - regmap: add WARN_ONCE when invalid mask is provided to regmap_field_init() (Mark Langsdorf) [2122319] - PM: wakeup: Unify device_init_wakeup() for PM_SLEEP and !PM_SLEEP (Mark Langsdorf) [2122319] - arch_topology: Warn that topology for nested clusters is not supported (Mark Langsdorf) [2122319] - arch_topology: Add support for parsing sockets in /cpu-map (Mark Langsdorf) [2122319] - arch_topology: Set cluster identifier in each core/thread from /cpu-map (Mark Langsdorf) [2122319] - arch_topology: Limit span of cpu_clustergroup_mask() (Mark Langsdorf) [2122319] - arch_topology: Don't set cluster identifier as physical package identifier (Mark Langsdorf) [2122319] - arch_topology: Avoid parsing through all the CPUs once a outlier CPU is found (Mark Langsdorf) [2122319] - arch_topology: Check for non-negative value rather than -1 for IDs validity (Mark Langsdorf) [2122319] - arch_topology: Set thread sibling cpumask only within the cluster (Mark Langsdorf) [2122319] - arch_topology: Drop LLC identifier stash from the CPU topology (Mark Langsdorf) [2122319] - arm64: topology: Remove redundant setting of llc_id in CPU topology (Mark Langsdorf) [2122319] - arch_topology: Use the last level cache information from the cacheinfo (Mark Langsdorf) [2122319] - arch_topology: Add support to parse and detect cache attributes (Mark Langsdorf) [2122319] - cacheinfo: Align checks in cache_shared_cpu_map_{setup,remove} for readability (Mark Langsdorf) [2122319] - cacheinfo: Use cache identifiers to check if the caches are shared if available (Mark Langsdorf) [2122319] - cacheinfo: Allow early detection and population of cache attributes (Mark Langsdorf) [2122319] - cacheinfo: Add support to check if last level cache(LLC) is valid or shared (Mark Langsdorf) [2122319] - cacheinfo: Move cache_leaves_are_shared out of CONFIG_OF (Mark Langsdorf) [2122319] - cacheinfo: Add helper to access any cache index for a given CPU (Mark Langsdorf) [2122319] - cacheinfo: Use of_cpu_device_node_get instead cpu_dev->of_node (Mark Langsdorf) [2122319] - regmap: cache: Add extra parameter check in regcache_init (Mark Langsdorf) [2122319] - regmap-irq: Refactor checks for status bulk read support (Mark Langsdorf) [2122319] - regmap-irq: Remove mask_writeonly and regmap_irq_update_bits() (Mark Langsdorf) [2122319] - regmap-irq: Remove inappropriate uses of regmap_irq_update_bits() (Mark Langsdorf) [2122319] - driver core: fix potential deadlock in __driver_attach (Mark Langsdorf) [2122319] - devtmpfs: fix the dangling pointer of global devtmpfsd thread (Mark Langsdorf) [2122319] - regmap: Don't warn about cache only mode for devices with no cache (Mark Langsdorf) [2122319] - regmap: Wire up regmap_config provided bulk write in missed functions (Mark Langsdorf) [2122319] - regmap: Make regmap_noinc_read() return -ENOTSUPP if map->read isn't set (Mark Langsdorf) [2122319] - regmap: Re-introduce bulk read support check in regmap_bulk_read() (Mark Langsdorf) [2122319] - init: Initialize noop_backing_dev_info early (Mark Langsdorf) [2122319] - driver core: Introduce device_find_any_child() helper (Mark Langsdorf) [2122319] - regmap: cache: Fix syntax errors in comments (Mark Langsdorf) [2122319] - PM: domains: Trust domain-idle-states from DT to be correct by genpd (Mark Langsdorf) [2122319] - PM: domains: Measure power-on/off latencies in genpd based on a governor (Mark Langsdorf) [2122319] - PM: domains: Allocate governor data dynamically based on a genpd governor (Mark Langsdorf) [2122319] - PM: domains: Clean up some code in pm_genpd_init() and genpd_remove() (Mark Langsdorf) [2122319] - PM: domains: Fix initialization of genpd's next_wakeup (Mark Langsdorf) [2122319] - PM: domains: Fixup QoS latency measurements for IRQ safe devices in genpd (Mark Langsdorf) [2122319] - PM: domains: Measure suspend/resume latencies in genpd based on governor (Mark Langsdorf) [2122319] - PM: domains: Move the next_wakeup variable into the struct gpd_timing_data (Mark Langsdorf) [2122319] - PM: domains: Allocate gpd_timing_data dynamically based on governor (Mark Langsdorf) [2122319] - PM: domains: Skip another warning in irq_safe_dev_in_sleep_domain() (Mark Langsdorf) [2122319] - PM: domains: Rename irq_safe_dev_in_no_sleep_domain() in genpd (Mark Langsdorf) [2122319] - PM: domains: Don't check PM_QOS_FLAG_NO_POWER_OFF in genpd (Mark Langsdorf) [2122319] - PM: domains: Drop redundant code for genpd always-on governor (Mark Langsdorf) [2122319] - PM: domains: Add GENPD_FLAG_RPM_ALWAYS_ON for the always-on governor (Mark Langsdorf) [2122319] - PM: wakeup: expose pm_wakeup_pending to modules (Mark Langsdorf) [2122319] - driver core: fix deadlock in __device_attach (Mark Langsdorf) [2122319] - driver: base: fix UAF when driver_attach failed (Mark Langsdorf) [2122319] - driver core: location: Add "back" as a possible output for panel (Mark Langsdorf) [2122319] - driver core: location: Free struct acpi_pld_info *pld (Mark Langsdorf) [2122319] - regmap: Add missing map->bus check (Mark Langsdorf) [2122319] - device property: Advertise fwnode and device property count API calls (Mark Langsdorf) [2122319] - driver core: location: Check for allocations failure (Mark Langsdorf) [2122319] - regmap: Add bulk read/write callbacks into regmap_config (Mark Langsdorf) [2122319] - device property: Fix recent breakage of fwnode_get_next_parent_dev() (Mark Langsdorf) [2122319] - drivers/base/memory: fix an unlikely reference counting issue in __add_memory_block() (Mark Langsdorf) [2122319] - driver core: Add dma_cleanup callback in bus_type (Mark Langsdorf) [2122319] - driver core: Add sysfs support for physical location of a device (Mark Langsdorf) [2122319] - drivers/base/node.c: fix compaction sysfs file leak (Mark Langsdorf) [2122319] - driver core: Prevent overriding async driver of a device before it probe (Mark Langsdorf) [2122319] - Documentation: dd: Use ReST lists for return values of driver_deferred_probe_check_state() (Mark Langsdorf) [2122319] - regmap: cache: set max_register with reg_stride (Mark Langsdorf) [2122319] - firmware_loader: Check fw_state_is_done in loading_store (Mark Langsdorf) [2122319] - driver: platform: Add helper for safer setting of driver_override (Mark Langsdorf) [2122319] - PM: domains: Move genpd's time-accounting to ktime_get_mono_fast_ns() (Mark Langsdorf) [2122319] - PM: runtime: Allow to call __pm_runtime_set_status() from atomic context (Mark Langsdorf) [2122319] - device property: Drop 'test' prefix in parameters of fwnode_is_ancestor_of() (Mark Langsdorf) [2122319] - device property: Introduce fwnode_for_each_parent_node() (Mark Langsdorf) [2122319] - device property: Allow error pointer to be passed to fwnode APIs (Mark Langsdorf) [2122319] - device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint() (Mark Langsdorf) [2122319] - PM: runtime: Avoid device usage count underflows (Mark Langsdorf) [2122319] - PM: domains: Extend dev_pm_domain_detach() doc (Mark Langsdorf) [2122319]- gitlab-ci: use CI templates from production branch (Michael Hofmann) - cpufreq: ACPI: Remove unused variables 'acpi_cpufreq_online' and 'ret' (Mark Langsdorf) [2038200] - cpufreq: ACPI: Only set boost MSRs on supported CPUs (Mark Langsdorf) [2038200] - cpufreq: ACPI: Defer setting boost MSRs (Mark Langsdorf) [2038200] - s390/kexec: fix ipl report address for kdump (Tobias Huschle) [2161328] - iavf: schedule watchdog immediately when changing primary MAC (Michal Schmidt) [2152493] - iavf: Move netdev_update_features() into watchdog task (Michal Schmidt) [2152493] - iavf: fix temporary deadlock and failure to set MAC address (Michal Schmidt) [2152493] - iavf: Fix error handling in iavf_init_module() (Michal Schmidt) [2152493]- net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103955] - ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter (Ken Cox) [2103955] - ixgbe: Manual AN-37 for troublesome link partners for X550 SFI (Ken Cox) [2103955] - ixgbe: Don't call kmap() on page allocated with GFP_ATOMIC (Ken Cox) [2103955] - ixgbe: convert .adjfreq to .adjfine (Ken Cox) [2103955] - ixgbe: drop unexpected word 'for' in comments (Ken Cox) [2103955] - ixgbe: remove unexpected word "the" (Ken Cox) [2103955] - intel: remove unused macros (Ken Cox) [2103955] - ixgbe: Fix typos in comments (Ken Cox) [2103955] - drivers, ixgbe: export vf statistics (Ken Cox) [2103955] - ixgbe: fix unexpected VLAN Rx in promisc mode on VF (Ken Cox) [2103955] - ixgbe: fix bcast packets Rx on VF after promisc removal (Ken Cox) [2103955] - ixgbe: propagate XFRM offload state direction instead of flags (Ken Cox) [2103955] - ixgbe: Fix module_param allow_unsupported_sfp type (Ken Cox) [2103955] - ixgbe: ensure IPsec VF<->PF compatibility (Ken Cox) [2103955] - ixgbe, xsk: Get rid of redundant 'fallthrough' (Ken Cox) [2103955] - ixgbe, xsk: Diversify return values from xsk_wakeup call paths (Ken Cox) [2103955] - ixgbe, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full (Ken Cox) [2103955] - ixgbe, xsk: Decorate IXGBE_XDP_REDIR with likely() (Ken Cox) [2103955] - ixgbe: add improvement for MDD response functionality (Ken Cox) [2103955] - ixgbe: add the ability for the PF to disable VF link state (Ken Cox) [2103955] - ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc() (Ken Cox) [2103955] - ixgbe: Remove non-inclusive language (Ken Cox) [2103955] - ixgbe: Use irq_update_affinity_hint() (Ken Cox) [2103955] - net: convert users of bitmap_foo() to linkmode_foo() (Ken Cox) [2103955] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2103955] - net: Use skb_frag_off accessors (Ken Cox) [2103955] - drm/i915: Fix watermark calculations for DG2 CCS+CC modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for DG2 CCS modifiers (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ CCS+CC modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ MC CCS modifier (Jocelyn Falempe) [2041686] - drm/i915: Fix watermark calculations for gen12+ RC CCS modifier (Jocelyn Falempe) [2041686] - drm/i915/uc: fix device/bus include on rhel8 (Jocelyn Falempe) [2041686] - drm/i915/display: consider DG2_RC_CCS_CC when migrating buffers (Jocelyn Falempe) [2041686] - drm/i915: allow control over the flags when migrating (Jocelyn Falempe) [2041686] - drm/i915/display: handle migration for dpt (Jocelyn Falempe) [2041686] - drm/i915/huc: better define HuC status getparam possible return values. (Jocelyn Falempe) [2041686] - drm/i915/huc: stall media submission until HuC is loaded (Jocelyn Falempe) [2041686] - drm/i915/huc: track delayed HuC load with a fence (Jocelyn Falempe) [2041686] - drm/i915/dg2: setup HuC loading via GSC (Jocelyn Falempe) [2041686] - drm/i915/pxp: add huc authentication and loading command (Jocelyn Falempe) [2041686] - drm/i915/pxp: implement function for sending tee stream command (Jocelyn Falempe) [2041686] - drm/i915/pxp: load the pxp module when we have a gsc-loaded huc (Jocelyn Falempe) [2041686] - drm/i915/gt: Flush to global observation point before breadcrumb write (Jocelyn Falempe) [2041686] - drm/i915/guc/slpc: Add SLPC selftest live_slpc_power (Jocelyn Falempe) [2041686] - drm/i915/guc/slpc: Run SLPC selftests on all tiles (Jocelyn Falempe) [2041686] - drm/i915: Remove unwanted pointer unpacking (Jocelyn Falempe) [2041686] - drm/i915/guc: Enable compute scheduling on DG2 (Jocelyn Falempe) [2041686] - drm/i915/dg2: introduce Wa_22015475538 (Jocelyn Falempe) [2041686] - drm/i915/uc: Update to latest GuC and use new-format GuC/HuC names (Jocelyn Falempe) [2041686] - Revert "drm/i915/dg2: extend Wa_1409120013 to DG2" (Jocelyn Falempe) [2041686] - drm/i915/gsc: allocate extended operational memory in LMEM (Jocelyn Falempe) [2041686] - drm/i915/gsc: add GSC XeHP SDV platform definition (Jocelyn Falempe) [2041686] - drm/i915/gsc: add slow_firmware flag to the gsc device definition (Jocelyn Falempe) [2041686] - drm/i915/gsc: skip irq initialization if using polling (Jocelyn Falempe) [2041686] - drm/i915/uc: Add patch level version number support (Jocelyn Falempe) [2041686] - drm/i915/uc: Support for version reduced and multiple firmware files (Jocelyn Falempe) [2041686] - drm/i915/ttm: Abort suspend on i915_ttm_backup failure (Jocelyn Falempe) [2041686] - drm/i915/dg2: Incorporate Wa_16014892111 into DRAW_WATERMARK tuning (Jocelyn Falempe) [2041686] - drm/i915/guc: Record CTB info in error logs (Jocelyn Falempe) [2041686] - drm/i915/guc: Add GuC <-> kernel time stamp translation information (Jocelyn Falempe) [2041686] - drm/i915/guc: Don't use pr_err when not necessary (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add support for DC5 state (Jocelyn Falempe) [2041686] - drm/i915/dmc: Update DG2 DMC firmware to v2.07 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add additional tuning settings (Jocelyn Falempe) [2041686] - drm/i915/gt: Add dedicated function for non-ctx register tuning settings (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add Wa_1509727124 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Update DG2 to GuC v70.4.1 (Jocelyn Falempe) [2041686] - drm/i915/dg2: Add additional HDMI pixel clock frequencies (Jocelyn Falempe) [2041686] - Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709" (Jocelyn Falempe) [2041686] - config: Enable TDX Guest (Wander Lairson Costa) [1836977] - x86/tdx: mark TDX as a tech preview (Wander Lairson Costa) [1836977] - x86/tdx: Panic on bad configs that #VE on "private" memory access (Wander Lairson Costa) [1836977] - x86/tdx: Prepare for using "INFO" call for a second purpose (Wander Lairson Costa) [1836977] - x86/tdx: Handle load_unaligned_zeropad() page-cross to a shared page (Wander Lairson Costa) [1836977] - x86/tdx: Clarify RIP adjustments in #VE handler (Wander Lairson Costa) [1836977] - vt: Initialize conswitchp to dummy_con if unset (Wander Lairson Costa) [1836977] - x86/tdx: Fix early #VE handling (Wander Lairson Costa) [1836977] - x86/tdx: Fix RETs in TDX asm (Wander Lairson Costa) [1836977] - x86/apic: Do apic driver probe for "nosmp" use case (Wander Lairson Costa) [1836977] - x86/mm: Fix spacing within memory encryption features message (Wander Lairson Costa) [1836977] - x86/kaslr: Fix build warning in KASLR code in boot stub (Wander Lairson Costa) [1836977] - Documentation/x86: Document TDX kernel architecture (Wander Lairson Costa) [1836977] - ACPICA: Avoid cache flush inside virtual machines (Wander Lairson Costa) [1836977] - x86/tdx/ioapic: Add shared bit for IOAPIC base address (Wander Lairson Costa) [1836977] - x86/mm: Make DMA memory shared for TD guest (Wander Lairson Costa) [1836977] - x86/mm/cpa: Add support for TDX shared memory (Wander Lairson Costa) [1836977] - x86/tdx: Make pages shared in ioremap() (Wander Lairson Costa) [1836977] - x86/topology: Disable CPU online/offline control for TDX guests (Wander Lairson Costa) [1836977] - x86/boot: Avoid #VE during boot for TDX platforms (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Use TEST reg,reg instead of CMP $0,reg (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Do not corrupt EDX on EFER.LME=1 setting (Wander Lairson Costa) [1836977] - x86/boot/compressed/64: Set EFER.LME=1 in 32-bit trampoline before returning to long mode (Wander Lairson Costa) [1836977] - x86/boot: Set CR0.NE early and keep it set during the boot (Wander Lairson Costa) [1836977] - x86/acpi/x86/boot: Add multiprocessor wake-up support (Wander Lairson Costa) [1836977] - x86/boot: Add a trampoline for booting APs via firmware handoff (Wander Lairson Costa) [1836977] - x86/asm/realmode: Use SYM_DATA_* instead of GLOBAL (Wander Lairson Costa) [1836977] - x86/realmode: Remove trampoline_status (Wander Lairson Costa) [1836977] - x86/tdx: Wire up KVM hypercalls (Wander Lairson Costa) [1836977] - x86/tdx: Port I/O: Add early boot support (Wander Lairson Costa) [1836977] - x86/tdx: Port I/O: Add runtime hypercalls (Wander Lairson Costa) [1836977] - x86/boot: Port I/O: Add decompression-time support for TDX (Wander Lairson Costa) [1836977] - x86/boot: Port I/O: Allow to hook up alternative helpers (Wander Lairson Costa) [1836977] - x86: Consolidate port I/O helpers (Wander Lairson Costa) [1836977] - x86: Adjust types used in port I/O helpers (Wander Lairson Costa) [1836977] - x86/tdx: Detect TDX at early kernel decompression time (Wander Lairson Costa) [1836977] - x86/tdx: Handle in-kernel MMIO (Wander Lairson Costa) [1836977] - x86/tdx: Handle CPUID via #VE (Wander Lairson Costa) [1836977] - x86/tdx: Add MSR support for TDX guests (Wander Lairson Costa) [1836977] - x86/tdx: Add HLT support for TDX guests (Wander Lairson Costa) [1836977] - x86/traps: Add #VE support for TDX guest (Wander Lairson Costa) [1836977] - x86/traps: Refactor exc_general_protection() (Wander Lairson Costa) [1836977] - x86/traps: Cleanup do_general_protection() (Wander Lairson Costa) [1836977] - x86/dumpstack: Introduce die_addr() for die() with #GP fault address (Wander Lairson Costa) [1836977] - x86/traps: Print address on #GP (Wander Lairson Costa) [1836977] - x86/kprobes: Inline kprobe_exceptions_notify() into do_general_protection() (Wander Lairson Costa) [1836977] - x86/tdx: Exclude shared bit from __PHYSICAL_MASK (Wander Lairson Costa) [1836977] - x86/tdx: Extend the confidential computing API to support TDX guests (Wander Lairson Costa) [1836977] - x86/tdx: Add __tdx_module_call() and __tdx_hypercall() helper functions (Wander Lairson Costa) [1836977] - x86/tdx: Provide common base for SEAMCALL and TDCALL C wrappers (Wander Lairson Costa) [1836977] - x86/tdx: Detect running as a TDX guest in early boot (Wander Lairson Costa) [1836977] - x86/mm/cpa: Generalize __set_memory_enc_pgtable() (Wander Lairson Costa) [1836977] - x86/mm/pat: Don't flush cache if hardware enforces cache coherency across encryption domnains (Wander Lairson Costa) [1836977] - x86/coco: Add API to handle encryption mask (Wander Lairson Costa) [1836977] - x86/cc: Move arch/x86/{kernel/cc_platform.c => coco/core.c} (Wander Lairson Costa) [1836977] - x86/sev-es: Use insn_decode_mmio() for MMIO implementation (Wander Lairson Costa) [1836977] - x86/insn-eval: Introduce insn_decode_mmio() (Wander Lairson Costa) [1836977] - x86/insn-eval: Introduce insn_get_modrm_reg_ptr() (Wander Lairson Costa) [1836977] - x86/insn-eval: Handle insn_get_opcode() failure (Wander Lairson Costa) [1836977] - x86/sev: Move common memory encryption code to mem_encrypt.c (Wander Lairson Costa) [1836977] - x86/sev: Rename mem_encrypt.c to mem_encrypt_amd.c (Wander Lairson Costa) [1836977] - x86/virtio: Have SEV guests enforce restricted virtio memory access (Wander Lairson Costa) [1836977] - devlink: protect devlink dump by the instance lock (Petr Oros) [2131116] - devlink: hold region lock when flushing snapshots (Petr Oros) [2131116] - net: devlink: enable parallel ops on netlink interface (Petr Oros) [2131116] - net: devlink: remove devlink_mutex (Petr Oros) [2131116] - net: devlink: convert reload command to take implicit devlink->lock (Petr Oros) [2131116] - net: devlink: introduce "unregistering" mark and use it during devlinks iteration (Petr Oros) [2131116] - devlink: Fix use-after-free after a failed reload (Petr Oros) [2131116] - net: devlink: Fix missing mutex_unlock() call (Petr Oros) [2131116] - Documentation: devlink: add add devlink-selftests to the table of contents (Petr Oros) [2131116] - devlink: Hold the instance lock in health callbacks (Petr Oros) [2131116] - net/mlx4: Lock mlx4 devlink reload callback (Petr Oros) [2131116] - net/mlx4: Use devl_ API for devlink port register / unregister (Petr Oros) [2131116] - net/mlx4: Use devl_ API for devlink region create / destroy (Petr Oros) [2131116] - net: devlink: remove region snapshots list dependency on devlink->lock (Petr Oros) [2131116] - net: devlink: remove region snapshot ID tracking dependency on devlink->lock (Petr Oros) [2131116] - devlink: introduce framework for selftests (Petr Oros) [2131116] - net: devlink: remove redundant net_eq() check from sb_pool_get_dumpit() (Petr Oros) [2131116] - net: devlink: move net check into devlinks_xa_for_each_registered_get() (Petr Oros) [2131116] - net: devlink: make sure that devlink_try_get() works with valid pointer during xarray iteration (Petr Oros) [2131116] - netdevsim: convert driver to use unlocked devlink API during init/fini (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_region_create/destroy() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_dpipe*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_sb*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devlink_resource*() functions (Petr Oros) [2131116] - net: devlink: add unlocked variants of devling_trap*() functions (Petr Oros) [2131116] - net: devlink: avoid false DEADLOCK warning reported by lockdep (Petr Oros) [2131116] - net: devlink: fix return statement in devlink_port_new_notify() (Petr Oros) [2131116] - net: devlink: fix a typo in function name devlink_port_new_notifiy() (Petr Oros) [2131116] - net: devlink: make devlink_dpipe_headers_register() return void (Petr Oros) [2131116] - net: devlink: move unlocked function prototypes alongside the locked ones (Petr Oros) [2131116] - net: devlink: use helpers to work with devlink->lock mutex (Petr Oros) [2131116] - net: devlink: fix unlocked vs locked functions descriptions (Petr Oros) [2131116] - devlink: Hold the instance lock in port_new / port_del callbacks (Petr Oros) [2131116] - powercap: intel_rapl: Add support for RAPTORLAKE_S (Prarit Bhargava) [2120363] - selftests/bpf: Fix test_varlen verification failure with latest llvm (Yauheni Kaliuta) [2149222] - iwlwifi: remove firmware version limit for AC9560 (Íñigo Huguet) [2129361] - wifi: iwlwifi: fw: skip PPAG for JF (Íñigo Huguet) [2129361] - sched: Improve wake_up_all_idle_cpus() take #2 (Julia Denham) [2134931] - selftests/livepatch: better synchronize test_klp_callbacks_busy (Julia Denham) [2121204] - sched,livepatch: Use wake_up_if_idle() (Joe Lawrence) [2134931] - sched: Simplify wake_up_*idle*() (Joe Lawrence) [2134931] - sched,livepatch: Use task_call_func() (Joe Lawrence) [2134931] - sched,rcu: Rework try_invoke_on_locked_down_task() (Joe Lawrence) [2134931] - sched: Improve try_invoke_on_locked_down_task() (Joe Lawrence) [2134931] - arm64/bpf: Remove 128MB limit for BPF JIT programs (Yauheni Kaliuta) [2140163] - bpf: Define bpf_jit_alloc_exec_limit for arm64 JIT (Yauheni Kaliuta) [2140163] - arm64: extable: add `type` and `data` fields (Yauheni Kaliuta) [2140163] - arm64: extable: use `ex` for `exception_table_entry` (Yauheni Kaliuta) [2140163] - arm64: extable: make fixup_exception() return bool (Yauheni Kaliuta) [2140163] - arm64: extable: consolidate definitions (Yauheni Kaliuta) [2140163] - arm64: kvm: use kvm_exception_table_entry (Yauheni Kaliuta) [2140163] - s390/cio: check the subchannel validity for dev_busid (Tobias Huschle) [2160494] - s390/cio: add dev_busid sysfs entry for each subchannel (Tobias Huschle) [2160494]- intel_idle: Add AlderLake-N support (Prarit Bhargava) [2144692] - selftests/timens: add a test for vfork+exit (Oleg Nesterov) [2116444] - fs/exec: switch timens when a task gets a new mm (Oleg Nesterov) [2116444] - namespace: make timens_on_fork() return nothing (Oleg Nesterov) [2116444] - timens: make vdso_join_timens() always succeed (Oleg Nesterov) [2116444] - xfrm: Fix oops in __xfrm_state_delete() (Sabrina Dubroca) [2156048] - tcp: Fix data races around icsk->icsk_af_ops. (Guillaume Nault) [2143904] {CVE-2022-3566} - ice: synchronize the misc IRQ when tearing down Tx tracker (Petr Oros) [2148858] - ice: fix handling of burst Tx timestamps (Petr Oros) [2148858] - vhost/vsock: Fix error handling in vhost_vsock_init() (Stefano Garzarella) [2159969] - net: vmw_vsock: vmci: Check memcpy_from_msg() (Stefano Garzarella) [2159969] - vhost/vsock: Use kvmalloc/kvfree for larger packets. (Stefano Garzarella) [2159969] - vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout() (Stefano Garzarella) [2159969] - vsock: Fix memory leak in vsock_connect() (Stefano Garzarella) [2159969] - tools/power turbostat: Add support for RPL-S (Prarit Bhargava) [2122848]- nvme: re-order nvme_alloc_ns to match "nvme: use blk_mq_alloc_disk" (Chris Leech) [2152742] - perf vendor events amd: Add Zen 4 mapping (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 metrics (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 uncore events (Michael Petlan) [2148294] - perf vendor events amd: Add Zen 4 core events (Michael Petlan) [2148294] - cpuhotplug: Fix KABI breakage (Prarit Bhargava) [2156529] - scsi: target: core: Fix hard lockup when executing a compare-and-write command (Maurizio Lombardi) [2119897] - x86/topology: Fix duplicated core ID within a package (Prarit Bhargava) [2159553] - x86/topology: Fix multiple packages shown on a single-package system (Prarit Bhargava) [2159553] - hwmon/coretemp: Handle large core ID value (Prarit Bhargava) [2159553] - x86: Remove vendor checks from prefer_mwait_c1_over_halt (Prarit Bhargava) [2150067] - x86: Handle idle=nomwait cmdline properly for x86_idle (Prarit Bhargava) [2150067] - cpufreq: intel_pstate: Support Sapphire Rapids OOB mode (Prarit Bhargava) [2117767] - KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails (Emanuele Giuseppe Esposito) [2159433] - vmxnet3: correctly report csum_level for encapsulated packet (Izabela Bakollari) [2158809] - mei: pxp: support matching with a gfx discrete card (Jocelyn Falempe) [2147557] - mei: pxp: add command streamer API to the PXP driver (Jocelyn Falempe) [2147557] - mei: bus: extend bus API to support command streamer API (Jocelyn Falempe) [2147557] - mei: adjust extended header kdocs (Jocelyn Falempe) [2147557] - mei: bus: enable sending gsc commands (Jocelyn Falempe) [2147557] - mei: add support to GSC extended header (Jocelyn Falempe) [2147557] - mei: debugfs: add pxp mode to devstate in debugfs (Jocelyn Falempe) [2147557] - mei: drop ready bits check after start (Jocelyn Falempe) [2147557] - mei: gsc: add transition to PXP mode in resume flow (Jocelyn Falempe) [2147557] - mei: gsc: setup gsc extended operational memory (Jocelyn Falempe) [2147557] - mei: mkhi: add memory ready command (Jocelyn Falempe) [2147557] - mei: bus: export common mkhi definitions into a separate header (Jocelyn Falempe) [2147557] - mei: extend timeouts on slow devices (Jocelyn Falempe) [2147557] - mei: gsc: wait for reset thread on stop (Jocelyn Falempe) [2147557] - mei: gsc: use polling instead of interrupts (Jocelyn Falempe) [2147557] - mei: add slow_firmware flag to the mei auxiliary device (Jocelyn Falempe) [2147557] - mei: add kdoc for struct mei_aux_device (Jocelyn Falempe) [2147557] - mei: me: fix clang -Wformat warning (Jocelyn Falempe) [2147557] - mei: me: add raptor lake point S DID (Jocelyn Falempe) [2147557] - mei: hbm: drop capability response on early shutdown (Jocelyn Falempe) [2147557] - mei: me: set internal pg flag to off on hardware reset (Jocelyn Falempe) [2147557] - misc/mei: Add NULL check to component match callback functions (Jocelyn Falempe) [2147557] - drm/display: Move HDCP helpers into display-helper module (Jocelyn Falempe) [2147557] - mei: gsc: retrieve the firmware version (Jocelyn Falempe) [2147557] - mei: gsc: add runtime pm handlers (Jocelyn Falempe) [2147557] - mei: gsc: setup char driver alive in spite of firmware handshake failure (Jocelyn Falempe) [2147557] - mei: add support for graphics system controller (gsc) devices (Jocelyn Falempe) [2147557] - mei: avoid iterator usage outside of list_for_each_entry (Jocelyn Falempe) [2147557] - mei: do not overwrite state on hw start (Jocelyn Falempe) [2147557] - mei: me: fix reset policy on read error in interrupt (Jocelyn Falempe) [2147557] - mei: me: avoid link reset on shutdown (Jocelyn Falempe) [2147557] - mei: me: disable driver on the ign firmware (Jocelyn Falempe) [2147557] - mei: me: Use dma_set_mask_and_coherent() and simplify code (Jocelyn Falempe) [2147557] - mei: hbm: fix client dma reply status (Jocelyn Falempe) [2147557] - mei: cleanup status before client dma setup call (Jocelyn Falempe) [2147557] - mei: add POWERING_DOWN into device state print (Jocelyn Falempe) [2147557] - mei: Remove some dead code (Jocelyn Falempe) [2147557] - mei: bus: add client dma interface (Jocelyn Falempe) [2147557] - mei: hbm: drop hbm responses on early shutdown (Jocelyn Falempe) [2147557] - mei: me: add Ice Lake-N device id. (Jocelyn Falempe) [2147557] - mei: pxp: export pavp client to me client bus (Jocelyn Falempe) [2147557] - mei: Remove usage of the deprecated "pci-dma-compat.h" API (Jocelyn Falempe) [2147557] - mei: constify passed buffers and structures (Jocelyn Falempe) [2147557] - mei: revamp mei extension header structure layout. (Jocelyn Falempe) [2147557] - mei: fix kdoc in the driver (Jocelyn Falempe) [2147557] - mei: hdcp: SPDX tag should be the first line (Jocelyn Falempe) [2147557] - mei: request autosuspend after sending rx flow control (Jocelyn Falempe) [2147557] - mei: Drop unnecessary NULL check after container_of (Jocelyn Falempe) [2147557] - mei: me: add Alder Lake P device id. (Jocelyn Falempe) [2147557] - mei: allow map and unmap of client dma buffer only for disconnected client (Jocelyn Falempe) [2147557] - mei: use sysfs_emit() in tx_queue_limit_show sysfs (Jocelyn Falempe) [2147557] - mei: bus: block send with vtag on non-conformat FW (Jocelyn Falempe) [2147557] - mei: bus: change remove callback to return void (Jocelyn Falempe) [2147557] - mei: bus: simplify mei_cl_device_remove() (Jocelyn Falempe) [2147557] - mei: implement client dma setup. (Jocelyn Falempe) [2147557] - mei: hbm: add client dma hbm messages (Jocelyn Falempe) [2147557] - mei: add support for client dma capability (Jocelyn Falempe) [2147557] - mei: allow clients on bus to communicate in remove callback (Jocelyn Falempe) [2147557] - mei: me: add adler lake point LP DID (Jocelyn Falempe) [2147557] - mei: hbm: drop hbm responses on shutdown (Jocelyn Falempe) [2147557] - mei: hbm: call mei_set_devstate() on hbm stop response (Jocelyn Falempe) [2147557] - mei: document that mei_msg_hdr_init returns ERR_PTR (Jocelyn Falempe) [2147557] - mei: fix transfer over dma with extended header (Jocelyn Falempe) [2147557] - misc/mei/hdcp: Fix AUTH_STREAM_REQ cmd buffer len (Jocelyn Falempe) [2147557] - mei: bus: enable pavp device. (Jocelyn Falempe) [2147557] - mei: bus: add vtag support (Jocelyn Falempe) [2147557] - Revert "mei: virtio: virtualization frontend driver" (Jocelyn Falempe) [2147557] - mei: bus: fix a kernel-doc markup (Jocelyn Falempe) [2147557] - mei: protect mei_cl_mtu from null dereference (Jocelyn Falempe) [2147557] - mei: bus: deinitialize callback functions on init failure (Jocelyn Falempe) [2147557] - mei: bus: do not start a read for disconnected clients (Jocelyn Falempe) [2147557] - misc: mei: remove unneeded break (Jocelyn Falempe) [2147557] - mei: hw: Replace zero-length array with flexible-array member (Jocelyn Falempe) [2147557] - mei: virtio: virtualization frontend driver (Jocelyn Falempe) [2147557] - mei: add connect with vtag ioctl (Jocelyn Falempe) [2147557] - mei: bus: unconditionally enable clients with vtag support (Jocelyn Falempe) [2147557] - mei: bus: use zero vtag for bus clients. (Jocelyn Falempe) [2147557] - mei: handle tx queue flushing for vtag connections (Jocelyn Falempe) [2147557] - mei: add a vtag map for each client (Jocelyn Falempe) [2147557] - mei: add a spin lock to protect rd_completed queue (Jocelyn Falempe) [2147557] - mei: bump hbm version to 2.2 (Jocelyn Falempe) [2147557] - mei: add support for mei extended header. (Jocelyn Falempe) [2147557] - mei: add vtag support bit in client properties (Jocelyn Falempe) [2147557] - mei: restrict vtag support to hbm version 2.2 (Jocelyn Falempe) [2147557] - mei: hbm: add capabilities message (Jocelyn Falempe) [2147557] - Revert "scsi: iscsi: ql4xxx: Use per-session workqueue for unbinding" (Chris Leech) [2122624] - Revert "scsi: iscsi: Use the session workqueue for recovery" (Chris Leech) [2122624] - l2tp: Don't sleep and disable BH under writer-side sk_callback_lock (Guillaume Nault) [2145235] {CVE-2022-4129} - l2tp: Serialize access to sk_user_data with sk_callback_lock (Guillaume Nault) [2145235] {CVE-2022-4129} - net: fix a concurrency bug in l2tp_tunnel_register() (Guillaume Nault) [2145235] {CVE-2022-4129} - net: tap: fix general protection fault when freeing an skb when the ring is full (Antoine Tenart) [2152802] - platform/x86/intel/pmt: Sapphire Rapids PMT errata fix (Prarit Bhargava) [2144689] - RDMA/core: Fix null-ptr-deref in ib_core_cleanup() (Kamal Heib) [2120677] - RDMA/rxe: Fix mr leak in RESPST_ERR_RNR (Kamal Heib) [2120677] - IB/hfi1: Correctly move list in sc_disable() (Kamal Heib) [2120677] - RDMA/cma: Use output interface for net_dev check (Kamal Heib) [2120677] - RDMA/usnic: fix set-but-not-unused variable 'flags' warning (Kamal Heib) [2120677] - IB/rdmavt: Add __init/__exit annotations to module init/exit funcs (Kamal Heib) [2120677] - RDMA/rxe: Fix resize_finish() in rxe_queue.c (Kamal Heib) [2120677] - IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers (Kamal Heib) [2120677] - RDMA/cm: Use SLID in the work completion as the DLID in responder side (Kamal Heib) [2120677] - RDMA/siw: Fix QP destroy to wait for all references dropped. (Kamal Heib) [2120677] - RDMA/srp: Fix srp_abort() (Kamal Heib) [2120677] - RDMA/irdma: Validate udata inlen and outlen (Kamal Heib) [2120677] - RDMA/irdma: Align AE id codes to correct flush code and event (Kamal Heib) [2120677] - RDMA/rxe: Fix the error caused by qp->sk (Kamal Heib) [2120677] - RDMA/rxe: Fix "kernel NULL pointer dereference" error (Kamal Heib) [2120677] - RDMA/rxe: Remove an unused member from struct rxe_mr (Kamal Heib) [2120677] - x86/fpu: Fix copy_xstate_to_uabi() to copy init states correctly (Dean Nelson) [2122850] - x86/fpu: Exclude dynamic states from init_fpstate (Dean Nelson) [2122850] - x86/fpu: Fix the init_fpstate size check with the actual size (Dean Nelson) [2122850] - x86/fpu: Configure init_fpstate attributes orderly (Dean Nelson) [2122850] - x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation (Dean Nelson) [2122850] - ceph: rely on vfs for setgid stripping (Andrey Albershteyn) [2128904] - fs: move S_ISGID stripping into the vfs_*() helpers (Andrey Albershteyn) [2128904] - fs: Add missing umask strip in vfs_tmpfile (Andrey Albershteyn) [2128904] - fs: add mode_strip_sgid() helper (Andrey Albershteyn) [2128904]- x86/insn: Add AMX instructions to the x86 instruction decoder (Prarit Bhargava) [2117765] - intel_idle: Add a new flag to initialize the AMX state (Prarit Bhargava) [2117765] - x86/fpu: Add a helper to prepare AMX state for low-power CPU idle (Prarit Bhargava) [2117765] - intel_idle: make SPR C1 and C1E be independent (Prarit Bhargava) [2117765] - rpmspec: drop traceevent files instead of just excluding them from files list (Michael Petlan) [2155509] - powerpc/bpf/64: Add instructions for atomic_[cmp]xchg (Mamatha Inamdar) [2113254] - powerpc/bpf/64: add support for atomic fetch operations (Mamatha Inamdar) [2113254] - powerpc/bpf/64: add support for BPF_ATOMIC bitwise operations (Mamatha Inamdar) [2113254] - powerpc/bpf: Simplify bpf_to_ppc() and adopt it for powerpc64 (Mamatha Inamdar) [2113254] - powerpc64/bpf: Store temp registers' bpf to ppc mapping (Mamatha Inamdar) [2113254] - powerpc/bpf: Use _Rn macros for GPRs (Mamatha Inamdar) [2113254] - powerpc/bpf: Move bpf_jit64.h into bpf_jit_comp64.c (Mamatha Inamdar) [2113254] - powerpc/bpf: Cleanup bpf_jit.h (Mamatha Inamdar) [2113254] - powerpc64/bpf: Get rid of PPC_BPF_[LL|STL|STLU] macros (Mamatha Inamdar) [2113254] - powerpc64/bpf: Convert some of the uses of PPC_BPF_[LL|STL] to PPC_BPF_[LD|STD] (Mamatha Inamdar) [2113254] - powerpc64/bpf: Optimize instruction sequence used for function calls (Mamatha Inamdar) [2113254] - powerpc64/bpf elfv1: Do not load TOC before calling functions (Mamatha Inamdar) [2113254] - powerpc64/bpf elfv2: Setup kernel TOC in r2 on entry (Mamatha Inamdar) [2113254] - powerpc64: Set PPC64_ELF_ABI_v[1|2] macros to 1 (Mamatha Inamdar) [2113254] - powerpc64/bpf: Use r12 for constant blinding (Mamatha Inamdar) [2113254] - powerpc64/bpf: Do not save/restore LR on each call to bpf_stf_barrier() (Mamatha Inamdar) [2113254] - powerpc/bpf: Handle large branch ranges with BPF_EXIT (Mamatha Inamdar) [2113254] - powerpc/bpf: Emit a single branch instruction for known short branch ranges (Mamatha Inamdar) [2113254] - powerpc/bpf: Skip branch range validation during first pass (Mamatha Inamdar) [2113254] - powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06 (Mamatha Inamdar) [2113254] - tools/bpf: Rename 'struct event' to avoid naming conflict (Mamatha Inamdar) [2113254] - bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() (Mamatha Inamdar) [2113254] - bpf ppc64: Access only if addr is kernel address (Mamatha Inamdar) [2113254] - bpf ppc64: Add BPF_PROBE_MEM support for JIT (Mamatha Inamdar) [2113254] - powerpc/ppc-opcode: introduce PPC_RAW_BRANCH() macro (Mamatha Inamdar) [2113254] - bpf powerpc: refactor JIT compiler code (Mamatha Inamdar) [2113254] - bpf powerpc: Remove extra_pass from bpf_jit_build_body() (Mamatha Inamdar) [2113254] - bpf powerpc: Remove unused SEEN_STACK (Mamatha Inamdar) [2113254] - powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC (Mamatha Inamdar) [2113254] - powerpc/security: Add a helper to query stf_barrier type (Mamatha Inamdar) [2113254] - powerpc/bpf: Fix BPF_SUB when imm == 0x80000000 (Mamatha Inamdar) [2113254] - powerpc/bpf: Fix BPF_MOD when imm == 1 (Mamatha Inamdar) [2113254] - powerpc/bpf: Validate branch ranges (Mamatha Inamdar) [2113254] - powerpc/lib: Add helper to check if offset is within conditional branch range (Mamatha Inamdar) [2113254] - powerpc/lib/feature-fixups: Use PPC_RAW_xxx() macros (Mamatha Inamdar) [2113254] - powerpc: Move PPC_HA() PPC_HI() and PPC_LO() to ppc-opcode.h (Mamatha Inamdar) [2113254] - swapfile: fix soft lockup in scan_swap_map_slots (Waiman Long) [2155734] - mm/swap: add helper swap_offset_available() (Waiman Long) [2155734] - pNFS/filelayout: Fix coalescing test for single DS (Benjamin Coddington) [2158520] - arm64: kdump: Support crashkernel=X fall back to reserve region above DMA zones (Pingfan Liu) [1940674] - arm64: kdump: Provide default size when crashkernel=Y,low is not specified (Pingfan Liu) [1940674] - media: dmxdev: fix UAF when dvb_register_device() fails (Dean Nelson) [2123301] {CVE-2022-41218} - crypto: s390/aes - drop redundant xts key check (Vladis Dronov) [2158893] - crypto: xts - implement xts_verify_key() with xts_check_key() (Vladis Dronov) [2158893] - audit: cache ctx->major in audit_filter_syscall() (Richard Guy Briggs) [2123854] - audit: free audit_proctitle only on task exit (Richard Guy Briggs) [2123854] - audit: explicitly check audit_context->context enum value (Richard Guy Briggs) [2123854] - audit: move audit_return_fixup before the filters (Richard Guy Briggs) [2123854] - audit: fix potential double free on error path from fsnotify_add_inode_mark (Richard Guy Briggs) [2123854] - i2c: ismt: Fix an out-of-bounds bug in ismt_access() (Prarit Bhargava) [2119066] {CVE-2022-2873} - net: dropreason: add SKB_DROP_REASON_FRAG_TOO_FAR (Antoine Tenart) [2155186] - net: dropreason: add SKB_DROP_REASON_FRAG_REASM_TIMEOUT (Antoine Tenart) [2155186] - net: dropreason: add SKB_DROP_REASON_DUP_FRAG (Antoine Tenart) [2155186] - net: dropreason: propagate drop_reason to skb_release_data() (Antoine Tenart) [2155186] - net: dropreason: add SKB_CONSUMED reason (Antoine Tenart) [2155186] - ipv4: remove redundant null pointer check before kfree_skb (Antoine Tenart) [2155186]- turbostat: Bring code up-to-date with upstream (Prarit Bhargava) [2117769] - tools/power turbostat: Enable accumulate RAPL display (Prarit Bhargava) [2117769] - tools/power turbostat: version 2022.07.28 (Prarit Bhargava) [2117769] - tools/power turbostat: do not decode ACC for ICX and SPR (Prarit Bhargava) [2117769] - tools/power turbostat: fix SPR PC6 limits (Prarit Bhargava) [2117769] - tools/power turbostat: cleanup 'automatic_cstate_conversion_probe()' (Prarit Bhargava) [2117769] - tools/power turbostat: separate SPR from ICX (Prarit Bhargava) [2117769] - tools/power turbosstat: fix comment (Prarit Bhargava) [2117769] - tools/power turbostat: Support RAPTORLAKE P (Prarit Bhargava) [2117769] - tools/power turbostat: add support for ALDERLAKE_N (Prarit Bhargava) [2117769] - tools/power turbostat: dump secondary Turbo-Ratio-Limit (Prarit Bhargava) [2117769] - tools/power turbostat: simplify dump_turbo_ratio_limits() (Prarit Bhargava) [2117769] - tools/power turbostat: dump CPUID.7.EDX.Hybrid (Prarit Bhargava) [2117769] - tools/power turbostat: update turbostat.8 (Prarit Bhargava) [2117769] - tools/power turbostat: Show uncore frequency (Prarit Bhargava) [2117769] - tools/power turbostat: Fix file pointer leak (Prarit Bhargava) [2117769] - tools/power turbostat: replace strncmp with single character compare (Prarit Bhargava) [2117769] - tools/power turbostat: print the kernel boot commandline (Prarit Bhargava) [2117769] - tools/power turbostat: Introduce support for RaptorLake (Prarit Bhargava) [2117769] - tools/power turbostat: version 2022.04.16 (Prarit Bhargava) [2117769] - tools/power turbostat: No build warnings with -Wextra (Prarit Bhargava) [2117769] - tools/power turbostat: be more useful as non-root (Prarit Bhargava) [2117769] - tools/power turbostat: fix ICX DRAM power numbers (Prarit Bhargava) [2117769] - tools/power turbostat: Support thermal throttle count print (Prarit Bhargava) [2117769] - tools/power turbostat: Allow printing header every N iterations (Prarit Bhargava) [2117769] - tools/power turbostat: Allow -e for all names. (Prarit Bhargava) [2117769] - tools/power turbostat: print power values upto three decimal (Prarit Bhargava) [2117769] - tools/power turbostat: Add Power Limit4 support (Prarit Bhargava) [2117769] - tools/power turbostat: fix dump for AMD cpus (Prarit Bhargava) [2117769] - tools/power turbostat: tweak --show and --hide capability (Prarit Bhargava) [2117769] - NFSv4: Retry LOCK on OLD_STATEID during delegation return (Benjamin Coddington) [2137826] - KVM: s390: pv: don't allow userspace to set the clock under PV (Tobias Huschle) [2154284] - net: mana: Fix race on per-CQ variable napi work_done (Emanuele Giuseppe Esposito) [2151722] - powercap: intel_rapl: support new layout of Psys PowerLimit Register on SPR (Prarit Bhargava) [2106143] - ceph: choose auth MDS for getxattr with the Xs caps (Milind Changire) [2126703] - ceph: try to choose the auth MDS if possible for getattr (Milind Changire) [2126703] - ceph: convert to generic_file_llseek (Milind Changire) [2126707] - ceph: don't leak snap_rwsem in handle_cap_grant (Milind Changire) [2126706] - ceph: prevent a client from exceeding the MDS maximum xattr size (Milind Changire) [2126704] - ceph: add session already open notify support (Milind Changire) [2126701] - ceph: use correct index when encoding client supported features (Milind Changire) [2143875] - ceph: switch TASK_INTERRUPTIBLE to TASK_KILLABLE (Milind Changire) [2126700] - ceph: allow ceph.dir.rctime xattr to be updatable (Milind Changire) [2126699] - ipv6: Use ipv6_only_sock() helper in condition. (Izabela Bakollari) [2144855] - ipv6: Remove __ipv6_only_sock(). (Izabela Bakollari) [2144855] - redhat/configs: Switch CONFIG_X86_AMD_PSTATE to built-in (Prarit Bhargava) [2150424] - Documentation: add amd-pstate kernel command line options (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: add amd-pstate driver parameter for mode selection (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: change amd-pstate driver to be built-in type (Prarit Bhargava) [2150424] - cpufreq: amd-pstate: cpufreq: amd-pstate: reset MSR_AMD_PERF_CTL register at init (Prarit Bhargava) [2150424] - scsi: target: iscsi: Fix a race condition between login_work and the login thread (Maurizio Lombardi) [2153832] - virtio_console: Introduce an ID allocator for virtual console numbers (Cédric Le Goater) [2072437] - blk-throttle: fix that io throttle can only work for single bio (Ming Lei) [2088193] - scsi: zfcp: Fix double free of FSF request when qdio send fails (Tobias Huschle) [2155157] - scsi: qla2xxx: Fix crash when I/O abort times out (Nilesh Javali) [2115820] - perf trace: Fix SIGSEGV when processing syscall args (Michael Petlan) [2145089] - config: mhi: set CONFIG_MHI_BUS_EP to disabled (Íñigo Huguet) [2136123] - config: rtw89: set CONFIG_RTW89_8852C to disabled (Íñigo Huguet) [2136123] - wifi: ath11k: avoid deadlock during regulatory update in ath11k_regd_update() (Íñigo Huguet) [2136123 2139481] - wifi: mac80211: mlme: Fix double unlock on assoc success handling (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: Fix missing unlock on beacon RX (Íñigo Huguet) [2136123] - wifi: mac80211: fix memory corruption in minstrel_ht_update_rates() (Íñigo Huguet) [2136123] - wifi: mac80211: fix regression with non-QoS drivers (Íñigo Huguet) [2136123] - wifi: mac80211: ensure vif queues are operational after start (Íñigo Huguet) [2136123] - wifi: mac80211: don't start TX with fq->lock to fix deadlock (Íñigo Huguet) [2136123] - wifi: cfg80211: fix MCS divisor value (Íñigo Huguet) [2136123] - wifi: mt76: fix 5 GHz connection regression on mt76x0/mt76x2 (Íñigo Huguet) [2136123] - wifi: mt76: fix reading current per-tid starting sequence number for aggregation (Íñigo Huguet) [2136123] - wifi: iwlwifi: Mark IWLMEI as broken (Íñigo Huguet) [2136123] - wifi: iwlwifi: don't spam logs with NSS>2 messages (Íñigo Huguet) [2136123] - wifi: use struct_group to copy addresses (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: check length for virtio packets (Íñigo Huguet) [2136123] - wifi: mac80211: fix locking in auth/assoc timeout (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: release deflink channel in error case (Íñigo Huguet) [2136123] - wifi: mac80211: fix link warning in RX agg timer expiry (Íñigo Huguet) [2136123] - bus: mhi: host: Fix up null pointer access in mhi_irq_handler (Íñigo Huguet) [2136123] - net: Use u64_stats_fetch_begin_irq() for stats fetch. (Íñigo Huguet) [2136123] - wifi: mt76: mt7921e: fix crash in chip reset fail (Íñigo Huguet) [2136123] - wifi: mac80211: potential NULL dereference in ieee80211_tx_control_port() (Íñigo Huguet) [2136123] - wifi: cfg80211: debugfs: fix return type in ht40allow_map_read() (Íñigo Huguet) [2136123] - wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected (Íñigo Huguet) [2136123] - wifi: mac80211: fix possible leak in ieee80211_tx_control_port() (Íñigo Huguet) [2136123] - wifi: mac80211: always free sta in __sta_info_alloc in case of error (Íñigo Huguet) [2136123] - wifi: mac80211: Fix UAF in ieee80211_scan_rx() (Íñigo Huguet) [2136123] - net: qrtr: start MHI channel after endpoit creation (Íñigo Huguet) [2136123] - wifi: cfg80211: Fix validating BSS pointers in __cfg80211_connect_result (Íñigo Huguet) [2136123] - wifi: rtw88: check the return value of alloc_workqueue() (Íñigo Huguet) [2136123] - wifi: rtw89: 8852a: adjust IMR for SER L1 (Íñigo Huguet) [2136123] - wifi: rtw89: 8852a: update RF radio A/B R56 (Íñigo Huguet) [2136123] - wifi: brcmfmac: prevent double-free on hardware-reset (Íñigo Huguet) [2136123] - wifi: brcmfmac: support brcm,ccode-map-trivial DT property (Íñigo Huguet) [2136123] - wifi: brcmfmac: Replace default (not configured) MAC with a random MAC (Íñigo Huguet) [2136123] - wifi: brcmfmac: Add brcmf_c_set_cur_etheraddr() helper (Íñigo Huguet) [2136123] - wifi: brcmfmac: Remove #ifdef guards for PM related functions (Íñigo Huguet) [2136123] - wifi: brcmfmac: use strreplace() in brcmf_of_probe() (Íñigo Huguet) [2136123] - wifi: rtl8xxxu: Fix the error handling of the probe function (Íñigo Huguet) [2136123] - wifi: mwifiex: clean up one inconsistent indenting (Íñigo Huguet) [2136123] - wifi: rtlwifi: Remove duplicate word and Fix typo (Íñigo Huguet) [2136123] - wifi: mwifiex: Fix comment typo (Íñigo Huguet) [2136123] - wifi: iwlwifi: mvm: fix clang -Wformat warnings (Íñigo Huguet) [2136123] - Revert "ath11k: add support for hardware rfkill for QCA6390" (Íñigo Huguet) [2136123] - wifi: ath11k: Fix register write failure on QCN9074 (Íñigo Huguet) [2136123] - wifi: mac80211: fix link data leak (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix disassoc with MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add macros to loop over active links (Íñigo Huguet) [2136123] - wifi: mac80211: remove erroneous sband/link validation (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: transmit assoc frame with address translation (Íñigo Huguet) [2136123] - wifi: mac80211: verify link addresses are different (Íñigo Huguet) [2136123] - wifi: mac80211: rx: track link in RX data (Íñigo Huguet) [2136123] - wifi: mac80211: optionally implement MLO multicast TX (Íñigo Huguet) [2136123] - wifi: mac80211: expand ieee80211_mgmt_tx() for MLO (Íñigo Huguet) [2136123] - wifi: nl80211: add MLO link ID to the NL80211_CMD_FRAME TX API (Íñigo Huguet) [2136123] - wifi: mac80211: report link ID to cfg80211 on mgmt RX (Íñigo Huguet) [2136123] - wifi: cfg80211: report link ID in NL80211_CMD_FRAME (Íñigo Huguet) [2136123] - wifi: mac80211: add hardware timestamps for RX and TX (Íñigo Huguet) [2136123] - wifi: cfg80211: add hardware timestamps to frame RX info (Íñigo Huguet) [2136123] - wifi: cfg80211/nl80211: move rx management data into a struct (Íñigo Huguet) [2136123] - wifi: cfg80211: add a function for reporting TX status with hardware timestamps (Íñigo Huguet) [2136123] - wifi: nl80211: add RX and TX timestamp attributes (Íñigo Huguet) [2136123] - nl80211: document uapi for CMD_FRAME_WAIT_CANCEL (Íñigo Huguet) [2136123] - wifi: ieee80211: add helper functions for detecting TM/FTM frames (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: handle links for wmediumd/virtio (Íñigo Huguet) [2136123] - wifi: mac80211: sta_info: fix link_sta insertion (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix link_sta setup (Íñigo Huguet) [2136123] - wifi: nl80211/mac80211: clarify link ID in control port TX (Íñigo Huguet) [2136123] - wifi: mac80211: return error from control port TX for drops (Íñigo Huguet) [2136123] - wifi: nl80211: require MLD address on link STA add/modify (Íñigo Huguet) [2136123] - wifi: mac80211: more station handling sanity checks (Íñigo Huguet) [2136123] - wifi: mac80211: fix link sta hash table handling (Íñigo Huguet) [2136123] - wifi: mac80211: validate link address doesn't change (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: set sta.mlo to mlo state (Íñigo Huguet) [2136123] - wifi: mac80211: fast-xmit: handle non-MLO clients (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix address translation for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: fix RX MLD address translation (Íñigo Huguet) [2136123] - wifi: mac80211: fix NULL pointer deref with non-MLD STA (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: fix override calculation (Íñigo Huguet) [2136123] - wifi: mac80211: tx: use AP address in some places for MLO (Íñigo Huguet) [2136123] - net: add missing includes and forward declarations under net/ (Íñigo Huguet) [2136123] - wifi: rtl8192se: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: rtlwifi: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: rt2x00: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: brcmsmac: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: brcmfmac: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: mac80211: do not abuse fq.lock in ieee80211_do_stop() (Íñigo Huguet) [2136123] - wifi: mt7601u: fix clang -Wformat warning (Íñigo Huguet) [2136123] - wifi: mt7601u: eeprom: fix clang -Wformat warning (Íñigo Huguet) [2136123] - wifi: ath: fix repeated words in comments (Íñigo Huguet) [2136123] - wifi: ath11k: mac: fix long line (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: set sta.mlo correctly (Íñigo Huguet) [2136123] - wifi: mac80211: remove stray printk (Íñigo Huguet) [2136123] - wifi: mac80211: support MLO authentication/association with one link (Íñigo Huguet) [2136123] - wifi: mac80211: add API to parse multi-link element (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix TX link selection (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: use MLO link ID for TX (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: do rc update per link (Íñigo Huguet) [2136123] - wifi: mac80211: do link->MLD address translation on RX (Íñigo Huguet) [2136123] - wifi: mac80211: select link when transmitting to non-MLO stations (Íñigo Huguet) [2136123] - wifi: mac80211: fix up link station creation/insertion (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: implement sta_state for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: limit A-MSDU subframes for client too (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor ieee80211_set_associated() (Íñigo Huguet) [2136123] - wifi: cfg80211: add cfg80211_get_iftype_ext_capa() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: look up beacon elems only if needed (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc link setup (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: remove address arg to ieee80211_mark_sta_auth() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc success handling (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor ieee80211_prep_channel() a bit (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor assoc req element building (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: switch some things back to deflink (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: change flags in ieee80211_determine_chantype() (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: shift some code around (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: refactor link station setup (Íñigo Huguet) [2136123] - wifi: mac80211: move IEEE80211_SDATA_OPERATING_GMODE to link (Íñigo Huguet) [2136123] - wifi: mac80211: make ieee80211_check_rate_mask() link-aware (Íñigo Huguet) [2136123] - wifi: mac80211: add multi-link element to AUTH frames (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: clean up supported channels element code (Íñigo Huguet) [2136123] - wifi: mac80211: release channel context on link stop (Íñigo Huguet) [2136123] - wifi: mac80211: prohibit DEAUTH_NEED_MGD_TX_PREP in MLO (Íñigo Huguet) [2136123] - wifi: nl80211: fix some attribute policy entries (Íñigo Huguet) [2136123] - wifi: nl80211: reject fragmented and non-inheritance elements (Íñigo Huguet) [2136123] - wifi: nl80211: reject link specific elements on assoc link (Íñigo Huguet) [2136123] - wifi: cfg80211: set country_elem to NULL (Íñigo Huguet) [2136123] - wifi: mac80211: remove link_id parameter from link_info_changed() (Íñigo Huguet) [2136123] - wifi: mac80211: replace link_id with link_conf in switch/(un)assign_vif_chanctx() (Íñigo Huguet) [2136123] - wifi: nl80211: advertise MLO support (Íñigo Huguet) [2136123] - wifi: mac80211: Support multi link in ieee80211_recalc_min_chandef() (Íñigo Huguet) [2136123] - wifi: mac80211: don't check carrier in chanctx code (Íñigo Huguet) [2136123] - wifi: nl80211: allow link ID in set_wiphy with frequency (Íñigo Huguet) [2136123] - wifi: mac80211: Allow EAPOL tx from specific link (Íñigo Huguet) [2136123] - wifi: mac80211: Allow EAPOL frames from link addresses (Íñigo Huguet) [2136123] - wifi: cfg80211/mac80211: Support control port TX from specific link (Íñigo Huguet) [2136123] - wifi: nl80211: Support MLD parameters in nl80211_set_station() (Íñigo Huguet) [2136123] - wifi: nl80211: check MLO support in authenticate (Íñigo Huguet) [2136123] - wifi: mac80211: add a helper to fragment an element (Íñigo Huguet) [2136123] - wifi: mac80211: skip rate statistics for MLD STAs (Íñigo Huguet) [2136123] - wifi: nl80211: set BSS to NULL if IS_ERR() (Íñigo Huguet) [2136123] - wifi: nl80211: add EML/MLD capabilities to per-iftype capabilities (Íñigo Huguet) [2136123] - wifi: nl80211: better validate link ID for stations (Íñigo Huguet) [2136123] - wifi: mac80211: fix link manipulation (Íñigo Huguet) [2136123] - wifi: mac80211: tighten locking check (Íñigo Huguet) [2136123] - wifi: cfg80211: clean up links appropriately (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: simplify adding ht/vht/he/eht elements (Íñigo Huguet) [2136123] - wifi: mac80211: refactor adding custom elements (Íñigo Huguet) [2136123] - wifi: mac80211: refactor adding rates to assoc request (Íñigo Huguet) [2136123] - wifi: mac80211: use only channel width in ieee80211_parse_bitrates() (Íñigo Huguet) [2136123] - wifi: cfg80211: add ieee80211_chanwidth_rate_flags() (Íñigo Huguet) [2136123] - wifi: mac80211: remove redundant condition (Íñigo Huguet) [2136123] - wifi: mac80211: don't set link address for station (Íñigo Huguet) [2136123] - wifi: mac80211: fix multi-BSSID element parsing (Íñigo Huguet) [2136123] - wifi: mac80211: move tdls_chan_switch_prohibited to link data (Íñigo Huguet) [2136123] - wifi: mac80211: don't re-parse elems in ieee80211_assoc_success() (Íñigo Huguet) [2136123] - wifi: mac80211: replace link_id with link_conf in start/stop_ap() (Íñigo Huguet) [2136123] - wifi: mac80211: refactor elements parsing with parameter struct (Íñigo Huguet) [2136123] - wifi: cfg80211: extend cfg80211_rx_assoc_resp() for MLO (Íñigo Huguet) [2136123] - wifi: cfg80211: put cfg80211_rx_assoc_resp() arguments into a struct (Íñigo Huguet) [2136123] - wifi: cfg80211: adjust assoc comeback for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: unify assoc data event sending (Íñigo Huguet) [2136123] - wifi: cfg80211: prepare association failure APIs for MLO (Íñigo Huguet) [2136123] - wifi: cfg80211: remove BSS pointer from cfg80211_disassoc_request (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: use correct link_sta (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: remove sta argument from ieee80211_config_bw (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: use ieee80211_get_link_sband() (Íñigo Huguet) [2136123] - wifi: mac80211: split IEEE80211_STA_DISABLE_WMM to link data (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: first adjustments for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: do IEEE80211_STA_RESET_SIGNAL_AVE per link (Íñigo Huguet) [2136123] - wifi: mac80211: mlme: track AP (MLD) address separately (Íñigo Huguet) [2136123] - wifi: mac80211: remove unused bssid variable (Íñigo Huguet) [2136123] - wifi: mac80211: change QoS settings API to take link into account (Íñigo Huguet) [2136123] - wifi: mac80211: expect powersave handling in driver for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: move ps setting to vif config (Íñigo Huguet) [2136123] - wifi: mac80211: provide link ID in link_conf (Íñigo Huguet) [2136123] - wifi: mac80211: set up/tear down client vif links properly (Íñigo Huguet) [2136123] - wifi: mac80211: move ieee80211_request_smps_mgd_work (Íñigo Huguet) [2136123] - wifi: nl80211: acquire wdev mutex for dump_survey (Íñigo Huguet) [2136123] - wifi: mac80211: fix key lookup (Íñigo Huguet) [2136123] - wifi: mac80211: separate out connection downgrade flags (Íñigo Huguet) [2136123] - wifi: mac80211: Align with Draft P802.11be_D2.0 (Íñigo Huguet) [2136123] - wifi: mac80211: Align with Draft P802.11be_D1.5 (Íñigo Huguet) [2136123] - wifi: mac80211: skip powersave recalc if driver SUPPORTS_DYNAMIC_PS (Íñigo Huguet) [2136123] - wifi: mac80211: debug: omit link if non-MLO connection (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Ack link addressed frames (Íñigo Huguet) [2136123] - wifi: cfg80211: drop BSS elements from assoc trace for now (Íñigo Huguet) [2136123] - wifi: cfg80211: make cfg80211_auth_request::key_idx signed (Íñigo Huguet) [2136123] - wifi: nl80211: enable setting the link address at new station (Íñigo Huguet) [2136123] - wifi: mac80211: RCU-ify link/link_conf pointers (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for station APIs (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for channel switch APIs (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex in add/mod/del link station (Íñigo Huguet) [2136123] - wifi: mac80211: implement callbacks for _link_station (Íñigo Huguet) [2136123] - wifi: cfg80211/mac80211: separate link params from station params (Íñigo Huguet) [2136123] - wifi: cfg80211: add API to add/modify/remove a link station (Íñigo Huguet) [2136123] - wifi: mac80211: add an ieee80211_get_link_sband (Íñigo Huguet) [2136123] - wifi: mac80211: Remove AP SMPS leftovers (Íñigo Huguet) [2136123] - wifi: cfg80211: Allow MLO TX with link source address (Íñigo Huguet) [2136123] - wifi: mac80211: Consider MLO links in offchannel logic (Íñigo Huguet) [2136123] - wifi: mac80211: rx: accept link-addressed frames (Íñigo Huguet) [2136123] - wifi: mac80211: consistently use sdata_dereference() (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Support link channel matching on rx (Íñigo Huguet) [2136123] - wifi: mac80211: fix mesh airtime link metric estimating (Íñigo Huguet) [2136123] - wifi: mac80211: make 4addr null frames using min_rate for WDS (Íñigo Huguet) [2136123] - wifi: cfg80211: use strscpy to replace strlcpy (Íñigo Huguet) [2136123] - wifi: mac80211: exclude multicast packets from AQL pending airtime (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: use 32-bit skb cookie (Íñigo Huguet) [2136123] - mt76: mt7921: Let PCI core handle power state and use pm_sleep_ptr() (Íñigo Huguet) [2136123] - mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init() (Íñigo Huguet) [2136123] - mt76: get rid of mt76_wcid_hw routine (Íñigo Huguet) [2136123] - mt76: convert MT_TX_HW_QUEUE_EXT_PHY to MT_TX_HW_QUEUE_PHY (Íñigo Huguet) [2136123] - mt76: add phy_idx to mt76_wcid (Íñigo Huguet) [2136123] - mt76: introduce phys array in mt76_dev structure (Íñigo Huguet) [2136123] - mt76: add phy_idx in mt76_rx_status (Íñigo Huguet) [2136123] - mt76: introduce MT_RXQ_BAND2 and MT_RXQ_BAND2_WA in mt76_rxq_id (Íñigo Huguet) [2136123] - mt76: add len parameter to __mt76_mcu_msg_alloc signature (Íñigo Huguet) [2136123] - mt76: mt7915 add ht mpdu density (Íñigo Huguet) [2136123] - mt76: mt7921: reduce the mutex lock scope during reset (Íñigo Huguet) [2136123] - mt76: mt7921: reduce log severity levels for informative messages (Íñigo Huguet) [2136123] - mt76: connac: move tx initialization/cleanup in mt76_connac module (Íñigo Huguet) [2136123] - mt76: mt7921: make mt7921_pci_driver static (Íñigo Huguet) [2136123] - mt76: mt7921: enable HW beacon filter in the initialization stage (Íñigo Huguet) [2136123] - mt76: mt7921: enable HW beacon filter not depending on PM flag (Íñigo Huguet) [2136123] - mt76: remove q->qid (Íñigo Huguet) [2136123] - mt76: do not use skb_set_queue_mapping for internal purposes (Íñigo Huguet) [2136123] - mt76: pass original queue id from __mt76_tx_queue_skb to the driver (Íñigo Huguet) [2136123] - mt76: allow receiving frames with invalid CCMP PN via monitor interfaces (Íñigo Huguet) [2136123] - mt76: mt76x02: improve reliability of the beacon hang check (Íñigo Huguet) [2136123] - mt76: mt7615: add sta_rec with EXTRA_INFO_NEW for the first time only (Íñigo Huguet) [2136123] - mt76: mt7915: update the maximum size of beacon offload (Íñigo Huguet) [2136123] - mt76: do not check the ccmp pn for ONLY_MONITOR frame (Íñigo Huguet) [2136123] - mt76: mt7915: add sta_rec with EXTRA_INFO_NEW for the first time only (Íñigo Huguet) [2136123] - mt76: mt7915: update mpdu density in 6g capability (Íñigo Huguet) [2136123] - mt76: mt7915: do not copy ieee80211_ops pointer in mt7915_mmio_probe (Íñigo Huguet) [2136123] - mt76: mt7915: disable UL MU-MIMO for mt7915 (Íñigo Huguet) [2136123] - mt76: move mt76_connac2_mcu_fill_message in mt76_connac module (Íñigo Huguet) [2136123] - mt76: move mcu_txd/mcu_rxd structures in shared code (Íñigo Huguet) [2136123] - mt76: mt7915: rely on mt76_connac_tx_free (Íñigo Huguet) [2136123] - mt76: connac: move mt7615_txp_skb_unmap in common code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_write_hw_txp in shared code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_tx_complete_skb in shared code (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_tx_free in shared code (Íñigo Huguet) [2136123] - mt76: move mt7615_txp_ptr in mt76_connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac_fw_txp in common module (Íñigo Huguet) [2136123] - mt76: mt7915: get rid of unnecessary new line in mt7915_mac_write_txwi (Íñigo Huguet) [2136123] - mt76: mt7921s: remove unnecessary goto in mt7921s_mcu_drv_pmctrl (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_mac_fill_rx_rate in connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_reverse_frag0_hdr_trans in mt76-connac module (Íñigo Huguet) [2136123] - mt76: connac: move HE radiotap parsing in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: fix command timeout in AP stop period (Íñigo Huguet) [2136123] - mt76: mt7921: not support beacon offload disable command (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_mac_add_txs_skb in connac module (Íñigo Huguet) [2136123] - mt76: connac: move connac2_mac_write_txwi in mt76_connac module (Íñigo Huguet) [2136123] - mt76: connac: move mac connac2 defs in mt76_connac2_mac.h (Íñigo Huguet) [2136123] - mt76: mt7915: rely on mt76_dev in mt7915_mac_write_txwi signature (Íñigo Huguet) [2136123] - mt76: mt7921: rely on mt76_dev in mt7921_mac_write_txwi signature (Íñigo Huguet) [2136123] - mt76: enable the VHT extended NSS BW feature (Íñigo Huguet) [2136123] - mt76: mt7663: rely on mt76_connac2_fw_trailer (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_load_patch in connac module (Íñigo Huguet) [2136123] - mt76: connac: move mt76_connac2_load_ram in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: move fw toggle in mt7921_load_firmware (Íñigo Huguet) [2136123] - mt76: connac: move shared fw structures in connac module (Íñigo Huguet) [2136123] - mt76: mt7921: get rid of mt7921_mcu_exit (Íñigo Huguet) [2136123] - mt76: mt7921: add missing bh-disable around rx napi schedule (Íñigo Huguet) [2136123] - mt76: mt7615: add missing bh-disable around rx napi schedule (Íñigo Huguet) [2136123] - mt76: mt7915: add missing bh-disable around tx napi enable/schedule (Íñigo Huguet) [2136123] - mt76: mt7921: add PATCH_FINISH_REQ cmd response handling (Íñigo Huguet) [2136123] - mt76: add DBDC rxq handlings into mac_reset_work (Íñigo Huguet) [2136123] - mt76: mt7915: add more ethtool stats (Íñigo Huguet) [2136123] - mt76: mt7921: introduce ACPI SAR config in tx power (Íñigo Huguet) [2136123] - mt76: mt7921: introduce ACPI SAR support (Íñigo Huguet) [2136123] - mt76: add 6 GHz band support in mt76_sar_freq_ranges (Íñigo Huguet) [2136123] - mt76: mt7915: fix endian bug in mt7915_rf_regval_set() (Íñigo Huguet) [2136123] - mt76: mt76x02u: fix possible memory leak in __mt76x02u_mcu_send_msg (Íñigo Huguet) [2136123] - mt76: mt7915: fix endianness in mt7915_rf_regval_get (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: add back erroneously removed cast (Íñigo Huguet) [2136123] - wifi: mac80211: fix queue selection for mesh/OCB interfaces (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: fix race condition in pending packet (Íñigo Huguet) [2136123] - wifi: mac80211: Use the bitmap API to allocate bitmaps (Íñigo Huguet) [2136123] - wifi: mac80211: fix center freq calculation in ieee80211_chandef_downgrade (Íñigo Huguet) [2136123] - wifi: nl80211: fix sending link ID info of associated BSS (Íñigo Huguet) [2136123] - wifi: cfg80211: fix a comment in cfg80211_mlme_mgmt_tx() (Íñigo Huguet) [2136123] - wifi: nl80211: Fix reading NL80211_ATTR_MLO_LINK_ID in nl80211_pre_doit (Íñigo Huguet) [2136123] - bus: mhi: ep: Check dev_set_name() return value (Íñigo Huguet) [2136123] - ath9k: remove unexpected words "the" in comments (Íñigo Huguet) [2136123] - ath11k: Fix typo in comments (Íñigo Huguet) [2136123] - wifi: nl80211: retrieve EHT related elements in AP mode (Íñigo Huguet) [2136123] - wifi: cfg80211: Increase akm_suites array size in cfg80211_crypto_settings (Íñigo Huguet) [2136123] - wifi: cfg80211: remove chandef check in cfg80211_cac_event() (Íñigo Huguet) [2136123] - wifi: nl80211: relax wdev mutex check in wdev_chandef() (Íñigo Huguet) [2136123] - wifi: nl80211: acquire wdev mutex earlier in start_ap (Íñigo Huguet) [2136123] - wifi: nl80211: hold wdev mutex for tid config (Íñigo Huguet) [2136123] - wifi: cfg80211: handle IBSS in channel switch (Íñigo Huguet) [2136123] - wifi: mac80211: properly skip link info driver update (Íñigo Huguet) [2136123] - wifi: mac80211: only accumulate airtime deficit for active clients (Íñigo Huguet) [2136123] - wifi: mac80211: add debugfs file to display per-phy AQL pending airtime (Íñigo Huguet) [2136123] - wifi: mac80211: add a per-PHY AQL limit to improve fairness (Íñigo Huguet) [2136123] - wifi: mac80211: keep recently active tx queues in scheduling list (Íñigo Huguet) [2136123] - wifi: mac80211: consider aql_tx_pending when checking airtime deficit (Íñigo Huguet) [2136123] - wifi: mac80211: make sta airtime deficit field s32 instead of s64 (Íñigo Huguet) [2136123] - wifi: mac80211: fix a kernel-doc complaint (Íñigo Huguet) [2136123] - wifi: cfg80211: remove redundant documentation (Íñigo Huguet) [2136123] - wifi: mac80211: sta_info: fix a missing kernel-doc struct element (Íñigo Huguet) [2136123] - wifi: mac80211: add a missing comma at kernel-doc markup (Íñigo Huguet) [2136123] - wifi: cfg80211: fix kernel-doc warnings all over the file (Íñigo Huguet) [2136123] - wifi: ieee80211: s1g action frames are not robust (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add another Foxconn T99W175 (Íñigo Huguet) [2136123] - wifi: cfg80211: Allow P2P client interface to indicate port authorization (Íñigo Huguet) [2136123] - wifi: mac80211: do not wake queues on a vif that is being stopped (Íñigo Huguet) [2136123] - wifi: mac80211: check skb_shared in ieee80211_8023_xmit() (Íñigo Huguet) [2136123] - wifi: mac80211: add gfp_t parameter to ieeee80211_obss_color_collision_notify (Íñigo Huguet) [2136123] - bus: mhi: host: Move IRQ allocation to controller registration phase (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add Cinterion MV31-W with new baseline (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Add support for Quectel EM120 FCCL modem (Íñigo Huguet) [2136123] - wifi: rtw89: disable invalid phy reports for all ICs (Íñigo Huguet) [2136123] - wifi: rtw89: pci: fix PCI doesn't reclaim TX BD properly (Íñigo Huguet) [2136123] - wifi: rtw89: fix long RX latency in low power mode (Íñigo Huguet) [2136123] - wifi: rtw89: drop invalid TX rate report of legacy rate (Íñigo Huguet) [2136123] - wifi: rtw89: add UNEXP debug mask to keep monitor messages unexpected to happen frequently (Íñigo Huguet) [2136123] - wifi: rtw89: enable VO TX AMPDU (Íñigo Huguet) [2136123] - wifi: rtw89: fix potential TX stuck (Íñigo Huguet) [2136123] - wifi: rtw89: support TDLS (Íñigo Huguet) [2136123] - wifi: rtw89: allocate BSSID CAM per TDLS peer (Íñigo Huguet) [2136123] - wifi: rtw89: separate BSSID CAM operations (Íñigo Huguet) [2136123] - wifi: rtw89: allocate address CAM and MAC ID to TDLS peer (Íñigo Huguet) [2136123] - cfg80211: Indicate MLO connection info in connect and roam callbacks (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: print the link id (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: support creating MLO-capable radios (Íñigo Huguet) [2136123] - wifi: nl80211: expose link ID for associated BSSes (Íñigo Huguet) [2136123] - wifi: nl80211: expose link information for interfaces (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: send a beacon per link (Íñigo Huguet) [2136123] - wifi: mac80211: set STA deflink addresses (Íñigo Huguet) [2136123] - wifi: mac80211: maintain link-sta hash table (Íñigo Huguet) [2136123] - wifi: mac80211: RCU-ify link STA pointers (Íñigo Huguet) [2136123] - wifi: mac80211: ethtool: use deflink for now (Íñigo Huguet) [2136123] - wifi: mac80211: move ieee80211_bssid_match() function (Íñigo Huguet) [2136123] - wifi: mac80211: return a beacon for a specific link (Íñigo Huguet) [2136123] - wifi: mac80211: pass the link id in start/stop ap (Íñigo Huguet) [2136123] - wifi: mac80211: use link in start/stop ap (Íñigo Huguet) [2136123] - wifi: mac80211: implement add/del interface link callbacks (Íñigo Huguet) [2136123] - wifi: cfg80211: add optional link add/remove callbacks (Íñigo Huguet) [2136123] - wifi: cfg80211: sort trace.h (Íñigo Huguet) [2136123] - wifi: mac80211: add sta link addition/removal (Íñigo Huguet) [2136123] - wifi: mac80211: add MLO link ID to TX frame metadata (Íñigo Huguet) [2136123] - wifi: mac80211: remove band from TX info in MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add vif link addition/removal (Íñigo Huguet) [2136123] - wifi: nl80211: support MLO in auth/assoc (Íñigo Huguet) [2136123] - wifi: mac80211: ignore IEEE80211_CONF_CHANGE_SMPS in chanctx mode (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: split bss_info_changed to vif/link info_changed (Íñigo Huguet) [2136123] - wifi: cfg80211: simplify cfg80211_mlme_auth() prototype (Íñigo Huguet) [2136123] - wifi: ieee80211: add definitions for multi-link element (Íñigo Huguet) [2136123] - wifi: nl80211: refactor BSS lookup in nl80211_associate() (Íñigo Huguet) [2136123] - wifi: cfg80211: mlme: get BSS entry outside cfg80211_mlme_assoc() (Íñigo Huguet) [2136123] - wifi: mac80211: tx: simplify chanctx_conf handling (Íñigo Huguet) [2136123] - wifi: mac80211: status: look up band only where needed (Íñigo Huguet) [2136123] - wifi: mac80211: sort trace.h file (Íñigo Huguet) [2136123] - wifi: mac80211: correct link config data in tracing (Íñigo Huguet) [2136123] - wifi: mac80211: make ieee80211_he_cap_ie_to_sta_he_cap() MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: make some SMPS code MLD-aware (Íñigo Huguet) [2136123] - wifi: mac80211: HT: make ieee80211_ht_cap_ie_to_sta_ht_cap() MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: add link_id to eht.c code for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: add link_id to vht.c code for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some link setup code (Íñigo Huguet) [2136123] - wifi: mac80211: validate some driver features for MLO (Íñigo Huguet) [2136123] - wifi: mac80211: use IEEE80211_MLD_MAX_NUM_LINKS (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some sta_info link handling (Íñigo Huguet) [2136123] - wifi: mac80211: remove sta_info_tx_streams() (Íñigo Huguet) [2136123] - wifi: mac80211: make channel context code MLO-aware (Íñigo Huguet) [2136123] - wifi: mac80211: pass link ID where already present (Íñigo Huguet) [2136123] - wifi: mac80211: add per-link configuration pointer (Íñigo Huguet) [2136123] - wifi: mac80211: split bss_info_changed method (Íñigo Huguet) [2136123] - mac80211: fix maybe-unused warning (Íñigo Huguet) [2136123] - wifi: mac80211: reorg some iface data structs for MLD (Íñigo Huguet) [2136123] - wifi: mac80211: move interface config to new struct (Íñigo Huguet) [2136123] - wifi: mac80211: move some future per-link data to bss_conf (Íñigo Huguet) [2136123] - wifi: cfg80211: do some rework towards MLO link APIs (Íñigo Huguet) [2136123] - wifi: mac80211: reject WEP or pairwise keys with key ID > 3 (Íñigo Huguet) [2136123] - wifi: mac80211_hwsim: Directly use ida_alloc()/free() (Íñigo Huguet) [2136123] - wifi: mac80211: refactor some key code (Íñigo Huguet) [2136123] - wifi: mac80211: remove cipher scheme support (Íñigo Huguet) [2136123] - wifi: nl80211: fix typo in comment (Íñigo Huguet) [2136123] - treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_391.RULE (Íñigo Huguet) [2136123] - rtw88: 8821c: fix access const table of channel parameters (Íñigo Huguet) [2136123] - rtw89: add new state to CFO state machine for UL-OFDMA (Íñigo Huguet) [2136123] - rtw89: 8852c: add trigger frame counter (Íñigo Huguet) [2136123] - ieee80211: add trigger frame definition (Íñigo Huguet) [2136123] - ath10k: fix recently introduced checkpatch warning (Íñigo Huguet) [2136123] - wifi: rtw89: support MULTI_BSSID and correct BSSID mask of H2C (Íñigo Huguet) [2136123] - wifi: ray_cs: Drop useless status variable in parse_addr() (Íñigo Huguet) [2136123] - wifi: ray_cs: Utilize strnlen() in parse_addr() (Íñigo Huguet) [2136123] - wifi: rtw88: use *ph to print small buffer (Íñigo Huguet) [2136123] - ath11k: Fix warnings reported by checkpatch (Íñigo Huguet) [2136123] - ath11k: Fix LDPC config in set_bitrate_mask hook (Íñigo Huguet) [2136123] - wifi: mac80211: fix use-after-free in chanctx code (Íñigo Huguet) [2136123] - ath10k: fix regdomain info of iw reg set/get (Íñigo Huguet) [2136123] - ath11k: support avg signal in station dump (Íñigo Huguet) [2136123] - wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c() (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8821c_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8723d_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix Sparse warning for rtw8822c_hw_spec (Íñigo Huguet) [2136123] - wifi: rtw88: Fix sparse warning for rtw8822b_hw_spec (Íñigo Huguet) [2136123] - rtw88: fix null vif pointer when hw_scan fails (Íñigo Huguet) [2136123] - rtw89: sar: adjust and support SAR on 6GHz band (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: re-calibrate RX DCK once thermal changes a lot (Íñigo Huguet) [2136123] - rtw89: pci: handle hardware watchdog timeout interrupt status (Íñigo Huguet) [2136123] - rtw89: fix null vif pointer when hw_scan fails (Íñigo Huguet) [2136123] - rtw89: fix channel inconsistency during hw_scan (Íñigo Huguet) [2136123] - wifi: rtw88: add a work to correct atomic scheduling warning of ::set_tim (Íñigo Huguet) [2136123] - wifi: iwlwifi: pcie: rename CAUSE macro (Íñigo Huguet) [2136123] - wifi: brcmfmac: work around a GCC 12 -Warray-bounds warning (Íñigo Huguet) [2136123] - wifi: iwlwifi: use unsigned to silence a GCC 12 warning (Íñigo Huguet) [2136123] - wifi: rtlwifi: remove always-true condition pointed out by GCC 12 (Íñigo Huguet) [2136123] - wifi: ath9k: silence array-bounds warning on GCC 12 (Íñigo Huguet) [2136123] - ath9k: replace ternary operator with max() (Íñigo Huguet) [2136123] - ath11k: Init hw_params before setting up AHB resources (Íñigo Huguet) [2136123] - ath11k: Fix warning on variable 'sar' dereference before check (Íñigo Huguet) [2136123] - ath10k: fix misreported tx bandwidth for 160Mhz (Íñigo Huguet) [2136123] - ath10k: add encapsulation offloading support (Íñigo Huguet) [2136123] - ath10k: turn rawmode into frame_mode (Íñigo Huguet) [2136123] - ath10k: improve tx status reporting (Íñigo Huguet) [2136123] - ath10k: do not enforce interrupt trigger type (Íñigo Huguet) [2136123] - iwlwifi: mei: fix potential NULL-ptr deref (Íñigo Huguet) [2136123] - iwlwifi: mei: clear the sap data header before sending (Íñigo Huguet) [2136123] - iwlwifi: mvm: remove vif_count (Íñigo Huguet) [2136123] - iwlwifi: mvm: always tell the firmware to accept MCAST frames in BSS (Íñigo Huguet) [2136123] - iwlwifi: mvm: add OTP info in case of init failure (Íñigo Huguet) [2136123] - iwlwifi: mvm: fix assert 1F04 upon reconfig (Íñigo Huguet) [2136123] - iwlwifi: mvm: clean up authorized condition (Íñigo Huguet) [2136123] - iwlwifi: mvm: use NULL instead of ERR_PTR when parsing wowlan status (Íñigo Huguet) [2136123] - iwlwifi: pcie: simplify MSI-X cause mapping (Íñigo Huguet) [2136123] - ath11k: update missing MU-MIMO and OFDMA stats (Íñigo Huguet) [2136123] - rtw89: pci: only mask out INT indicator register for disable interrupt v1 (Íñigo Huguet) [2136123] - rtw89: convert rtw89_band to nl80211_band precisely (Íñigo Huguet) [2136123] - rtw89: 8852c: update txpwr tables to HALRF_027_00_052 (Íñigo Huguet) [2136123] - rtw89: cfo: check mac_id to avoid out-of-bounds (Íñigo Huguet) [2136123] - rtw89: 8852c: set TX antenna path (Íñigo Huguet) [2136123] - rtw89: add ieee80211::sta_rc_update ops (Íñigo Huguet) [2136123] - wireless: Fix Makefile to be in alphabetical order (Íñigo Huguet) [2136123] - mac80211: refactor freeing the next_beacon (Íñigo Huguet) [2136123] - cfg80211: fix kernel-doc for cfg80211_beacon_data (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: support ieee80211_rate_status (Íñigo Huguet) [2136123] - mac80211: extend current rate control tx status API (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: fill all requested rates (Íñigo Huguet) [2136123] - mac80211: disable BSS color collision detection in case of no free colors (Íñigo Huguet) [2136123] - nl80211: Parse NL80211_ATTR_HE_BSS_COLOR as a part of nl80211_parse_beacon (Íñigo Huguet) [2136123] - mac80211: mlme: track assoc_bss/associated separately (Íñigo Huguet) [2136123] - mac80211: remove useless bssid copy (Íñigo Huguet) [2136123] - mac80211: remove unused argument to ieee80211_sta_connection_lost() (Íñigo Huguet) [2136123] - mac80211: mlme: use local SSID copy (Íñigo Huguet) [2136123] - mac80211: use ifmgd->bssid instead of ifmgd->associated->bssid (Íñigo Huguet) [2136123] - mac80211: mlme: move in RSSI reporting code (Íñigo Huguet) [2136123] - mac80211: remove stray multi_sta_back_32bit docs (Íñigo Huguet) [2136123] - mac80211: fix typo in documentation (Íñigo Huguet) [2136123] - mac80211: unify CCMP/GCMP AAD construction (Íñigo Huguet) [2136123] - mt76: mt7921: add ipv6 NS offload support (Íñigo Huguet) [2136123] - mt76: add gfp to mt76_mcu_msg_alloc signature (Íñigo Huguet) [2136123] - mt76: mt7915: add more statistics from fw_util debugfs knobs (Íñigo Huguet) [2136123] - mt76: mt7915: improve error handling for fw_debug knobs (Íñigo Huguet) [2136123] - mt76: mt7615/mt7915: do reset_work with mt76's work queue (Íñigo Huguet) [2136123] - mt76: mt7915: add support for 6G in-band discovery (Íñigo Huguet) [2136123] - mt76: mt7915: add Wireless Ethernet Dispatch support (Íñigo Huguet) [2136123] - net: ethernet: mtk_eth_soc: add support for Wireless Ethernet Dispatch (WED) (Íñigo Huguet) [2136123] - mt76: make number of tokens configurable dynamically (Íñigo Huguet) [2136123] - mt76: add support for overriding the device used for DMA mapping (Íñigo Huguet) [2136123] - mt76: dma: add wrapper macro for accessing queue registers (Íñigo Huguet) [2136123] - mt76: mt7915: move MT_INT_MASK_CSR to init.c (Íñigo Huguet) [2136123] - mt76: mt7915: introduce mt7915_mac_severe_check() (Íñigo Huguet) [2136123] - mt76: mt7915: rework SER debugfs knob (Íñigo Huguet) [2136123] - mt76: mt7915: limit minimum twt duration (Íñigo Huguet) [2136123] - mt76: mt7915: reject duplicated twt flows (Íñigo Huguet) [2136123] - mt76: mt7915: update mt7986 patch in mt7986_wmac_adie_patch_7976() (Íñigo Huguet) [2136123] - mt76: connac: use skb_put_data instead of open coding (Íñigo Huguet) [2136123] - mt76: mt7915: configure soc clocks in mt7986_wmac_init (Íñigo Huguet) [2136123] - mt76: fix encap offload ethernet type check (Íñigo Huguet) [2136123] - mt76: mt7915: disable RX_HDR_TRANS_SHORT (Íñigo Huguet) [2136123] - mt76: mt7603: move spin_lock_bh() to spin_lock() (Íñigo Huguet) [2136123] - mt76: mt7915: add debugfs knob for RF registers read/write (Íñigo Huguet) [2136123] - mt76: mt7921: make read-only array ppet16_ppet8_ru3_ru0 static const (Íñigo Huguet) [2136123] - mt76: mt7915: make read-only array ppet16_ppet8_ru3_ru0 static const (Íñigo Huguet) [2136123] - mt76: mt7915: remove SCS feature (Íñigo Huguet) [2136123] - mt76: fix rx reordering with non explicit / psmp ack policy (Íñigo Huguet) [2136123] - mt76: mt7921: Add AP mode support (Íñigo Huguet) [2136123] - mt76: mt7915: use 0xff to initialize bitrate_mask in mt7915_init_bitrate_mask (Íñigo Huguet) [2136123] - mt76: mt7915: always call mt7915_wfsys_reset() during init (Íñigo Huguet) [2136123] - mt76: mt7921: rely on mt76_dev rxfilter in mt7921_configure_filter (Íñigo Huguet) [2136123] - mt76: mt7921u: add suspend/resume support (Íñigo Huguet) [2136123] - mt76: fix MBSS index condition in DBDC mode (Íñigo Huguet) [2136123] - mt76: fix use-after-free by removing a non-RCU wcid pointer (Íñigo Huguet) [2136123] - mt76: mt7921: accept rx frames with non-standard VHT MCS10-11 (Íñigo Huguet) [2136123] - mt76: mt7915: accept rx frames with non-standard VHT MCS10-11 (Íñigo Huguet) [2136123] - mt76: dma: use kzalloc instead of devm_kzalloc for txwi (Íñigo Huguet) [2136123] - mt76: reduce tx queue lock hold time (Íñigo Huguet) [2136123] - mt76: mt7915: rework hardware/phy initialization (Íñigo Huguet) [2136123] - rtlwifi: Use pr_warn instead of WARN_ONCE (Íñigo Huguet) [2136123] - rtw89: add debug entry to dump BSSID CAM (Íñigo Huguet) [2136123] - rtw89: add debug select to dump MAC pages 0x30 to 0x33 (Íñigo Huguet) [2136123] - rtw89: correct CCA control (Íñigo Huguet) [2136123] - rtw89: correct setting of RX MPDU length (Íñigo Huguet) [2136123] - rtw89: 8852c: add settings to decrease the effect of DC (Íñigo Huguet) [2136123] - brcmfmac: allow setting wlan MAC address using device tree (Íñigo Huguet) [2136123] - ath11k: remove redundant assignment to variables vht_mcs and he_mcs (Íñigo Huguet) [2136123] - ath11k: Reuse the available memory after firmware reload (Íñigo Huguet) [2136123] - ath11k: Designating channel frequency when sending management frames (Íñigo Huguet) [2136123] - ath11k: Implement remain-on-channel support (Íñigo Huguet) [2136123] - ath11k: Handle keepalive during WoWLAN suspend and resume (Íñigo Huguet) [2136123] - bus: mhi: host: Add support for Foxconn T99W373 and T99W368 (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: add Telit FN990 (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: add Telit FN980 v1 hardware revision (Íñigo Huguet) [2136123] - bus: mhi: replace snprintf with sysfs_emit (Íñigo Huguet) [2136123] - rtw88: adjust adaptivity option to 1 (Íñigo Huguet) [2136123] - ath11k: Fix RX de-fragmentation issue on WCN6750 (Íñigo Huguet) [2136123] - ath10k: support bus and device specific API 1 BDF selection (Íñigo Huguet) [2136123] - ath10k: mac: fix too long lines (Íñigo Huguet) [2136123] - ath11k: mac: fix too long line (Íñigo Huguet) [2136123] - mac80211: support disabling EHT mode (Íñigo Huguet) [2136123] - cfg80211: support disabling EHT mode (Íñigo Huguet) [2136123] - mac80211: upgrade passive scan to active scan on DFS channels after beacon rx (Íñigo Huguet) [2136123] - mac80211: tx: delete a redundant if statement in ieee80211_check_fast_xmit() (Íñigo Huguet) [2136123] - mac80211: consider Order bit to fill CCMP AAD (Íñigo Huguet) [2136123] - cfg80211: declare MODULE_FIRMWARE for regulatory.db (Íñigo Huguet) [2136123] - nl80211: rework internal_flags usage (Íñigo Huguet) [2136123] - nl80211: don't hold RTNL in color change request (Íñigo Huguet) [2136123] - cfg80211: remove cfg80211_get_chan_state() (Íñigo Huguet) [2136123] - ath11k: Add support for targets without trustzone (Íñigo Huguet) [2136123] - rtw89: 8852c: add 8852ce to Makefile and Kconfig (Íñigo Huguet) [2136123] - rtw89: 8852c: fix warning of FIELD_PREP() mask type (Íñigo Huguet) [2136123] - rtw89: 8852c: correct register definitions used by 8852c (Íñigo Huguet) [2136123] - rtw89: correct AID settings of beamformee (Íñigo Huguet) [2136123] - rtw89: ps: fine tune polling interval while changing low power mode (Íñigo Huguet) [2136123] - rtw89: 8852c: add basic and remaining chip_info (Íñigo Huguet) [2136123] - rtw89: 8852c: add chip_ops::bb_ctrl_btc_preagc (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: get calibrated channels to notify firmware (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add DPK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add IQK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RX DCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add TSSI (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add LCK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add DACK (Íñigo Huguet) [2136123] - rtw89: 8852c: rfk: add RFK tables (Íñigo Huguet) [2136123] - rtw88: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2136123] - ath10k: remove a copy of the NAPI_POLL_WEIGHT define (Íñigo Huguet) [2136123] - ath11k: Add support for WCN6750 device (Íñigo Huguet) [2136123] - ath11k: Datapath changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: HAL changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add QMI changes for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Fetch device information via QMI for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add register access logic for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Add HW params for WCN6750 (Íñigo Huguet) [2136123] - ath11k: Move parameters in bus_params to hw_params (Íñigo Huguet) [2136123] - ath11k: change management tx queue to avoid connection timed out (Íñigo Huguet) [2136123] - ath11k: fix warning of not found station for bssid in message (Íñigo Huguet) [2136123] - rtw88: fix hw scan may cause disconnect issue (Íñigo Huguet) [2136123] - rtw88: fix not disabling beacon filter after disconnection (Íñigo Huguet) [2136123] - rtw88: add HT MPDU density value for each chip (Íñigo Huguet) [2136123] - ath11k: Don't use GFP_KERNEL in atomic context (Íñigo Huguet) [2136123] - ath10k: skip ath10k_halt during suspend for driver state RESTARTING (Íñigo Huguet) [2136123] - rtw89: remove unneeded semicolon (Íñigo Huguet) [2136123] - ath10k: simplify if-if to if-else (Íñigo Huguet) [2136123] - ath11k: read country code from SMBIOS for WCN6855/QCA6390 (Íñigo Huguet) [2136123] - ath11k: disable spectral scan during spectral deinit (Íñigo Huguet) [2136123] - ath11k: Update WBM idle ring HP after FW mode on (Íñigo Huguet) [2136123] - ath11k: WMI changes to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Do not put HW in DBS mode for WCN6750 (Íñigo Huguet) [2136123] - rtlwifi: btcoex: fix if == else warning (Íñigo Huguet) [2136123] - rtw88: use the correct bit in the REG_HCI_OPT_CTRL register (Íñigo Huguet) [2136123] - mwifiex: Add SD8997 SDIO-UART firmware (Íñigo Huguet) [2136123] - mwifiex: Select firmware based on strapping (Íñigo Huguet) [2136123] - rtw89: 8852c: add chip_ops related to BTC (Íñigo Huguet) [2136123] - rtw89: 8852c: fill freq and band of RX status by PPDU report (Íñigo Huguet) [2136123] - rtw89: 8852c: implement chip_ops::get_thermal (Íñigo Huguet) [2136123] - rtw89: 8852c: implement chip_ops related to TX power (Íñigo Huguet) [2136123] - rtw89: 8852c: configure default BB TX/RX path (Íñigo Huguet) [2136123] - rtw89: add RF H2C to notify firmware (Íñigo Huguet) [2136123] - rtw89: don't flush hci queues and send h2c if power is off (Íñigo Huguet) [2136123] - rtw89: pci: allow to process RPP prior to TX BD (Íñigo Huguet) [2136123] - rtw89: ps: access TX/RX rings via another registers in low power mode (Íñigo Huguet) [2136123] - rtw89: ser: re-enable interrupt in threadfn if under_recovery (Íñigo Huguet) [2136123] - rtw89: pci: add a separate interrupt handler for low power mode (Íñigo Huguet) [2136123] - rtw89: pci: reclaim TX BD only if it really need (Íñigo Huguet) [2136123] - rtw89: pci: add variant RPWM/CPWM to enter low power mode (Íñigo Huguet) [2136123] - rtw89: pci: add variant IMR/ISR and configure functions (Íñigo Huguet) [2136123] - bus: mhi: host: Add support for Cinterion MV32-WA/MV32-WB (Íñigo Huguet) [2136123] - bus: mhi: host: Optimize and update MMIO register write method (Íñigo Huguet) [2136123] - bus: mhi: host: Bail on writing register fields if read fails (Íñigo Huguet) [2136123] - bus: mhi: host: Wait for ready state after reset (Íñigo Huguet) [2136123] - bus: mhi: host: Add soc_reset sysfs (Íñigo Huguet) [2136123] - bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID (Íñigo Huguet) [2136123] - bus: mhi: host: Use cached values for calculating the shared write pointer (Íñigo Huguet) [2136123] - rtw88: pci: 8821c: Disable 21ce completion timeout (Íñigo Huguet) [2136123] - rtw88: fix uninitialized 'tim_offset' warning (Íñigo Huguet) [2136123] - rtw89: 8852c: add help function of set channel (Íñigo Huguet) [2136123] - rtw89: 8852c: add set channel of BB part (Íñigo Huguet) [2136123] - rtw89: 8852c: set channel of MAC part (Íñigo Huguet) [2136123] - rtw89: 8852c: add set channel function of RF part (Íñigo Huguet) [2136123] - rtw89: 8852c: add HFC parameters (Íñigo Huguet) [2136123] - rtw89: 8852c: add efuse gain offset parser (Íñigo Huguet) [2136123] - rtw89: 8852c: support bb gain info (Íñigo Huguet) [2136123] - rtw89: 8852c: add BB initial and reset functions (Íñigo Huguet) [2136123] - rtw89: 8852c: phy: configure TSSI bandedge (Íñigo Huguet) [2136123] - rtw89: 8852c: add TX power track tables (Íñigo Huguet) [2136123] - rtw89: 8852c: add TX power by rate and limit tables (Íñigo Huguet) [2136123] - rtw89: 8852c: add BB and RF parameters tables (Íñigo Huguet) [2136123] - ath9k: fix QCA9561 PA bias level (Íñigo Huguet) [2136123] - ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix (Íñigo Huguet) [2136123] - ath11k: Fix build warning without CONFIG_IPV6 (Íñigo Huguet) [2136123] - ath11k: fix missing unlock on error in ath11k_wow_op_resume() (Íñigo Huguet) [2136123] - ath11k: Add support for SAR (Íñigo Huguet) [2136123] - ath11k: add support for extended wmi service bit (Íñigo Huguet) [2136123] - rtw89: pci: correct return value handling of rtw89_write16_mdio_mask() (Íñigo Huguet) [2136123] - rtw89: configure security CAM for V1 chip (Íñigo Huguet) [2136123] - rtw89: add new H2C to configure security CAM via DCTL for V1 chip (Íñigo Huguet) [2136123] - rtw89: extend H2C of CMAC control info (Íñigo Huguet) [2136123] - rtlwifi: rtl8192cu: Fix spelling mistake "writting" -> "writing" (Íñigo Huguet) [2136123] - rtlwifi: Fix spelling mistake "cacluated" -> "calculated" (Íñigo Huguet) [2136123] - rtw88: 8821ce: Disable PCIe ASPM L1 for 8821CE using chip ID (Íñigo Huguet) [2136123] - rtw88: 8821ce: add support for device ID 0xb821 (Íñigo Huguet) [2136123] - rtw88: 8821c: fix debugfs rssi value (Íñigo Huguet) [2136123] - rtw88: do PHY calibration while starting AP (Íñigo Huguet) [2136123] - rtw88: 8821c: Enable TX report for management frames (Íñigo Huguet) [2136123] - rtw88: Add update beacon flow for AP mode (Íñigo Huguet) [2136123] - rtw88: fix incorrect frequency reported (Íñigo Huguet) [2136123] - rtw88: add ieee80211:sta_rc_update ops (Íñigo Huguet) [2136123] - rtw89: rtw89_ser: add const to struct state_ent and event_ent (Íñigo Huguet) [2136123] - rtw89: 8852c: add 8852c specific BT-coexistence initial function (Íñigo Huguet) [2136123] - rtw89: Skip useless dig gain and igi related settings for 8852C (Íñigo Huguet) [2136123] - rtw89: 8852c: disable firmware watchdog if CPU disabled (Íñigo Huguet) [2136123] - rtw89: reset BA CAM (Íñigo Huguet) [2136123] - rtw89: change station scheduler setting for hardware TX mode (Íñigo Huguet) [2136123] - rtw89: ser: configure top ERR IMR for firmware to recover (Íñigo Huguet) [2136123] - rtw89: ser: configure C-MAC interrupt mask (Íñigo Huguet) [2136123] - rtw89: ser: configure D-MAC interrupt mask (Íñigo Huguet) [2136123] - rtw89: ser: fix unannotated fall-through (Íñigo Huguet) [2136123] - ath9k: Remove unnecessary print function dev_err() (Íñigo Huguet) [2136123] - ath11k: Fix spelling mistake "reseting" -> "resetting" (Íñigo Huguet) [2136123] - ath9k: fix ath_get_rate_txpower() to respect the rate list end tag (Íñigo Huguet) [2136123] - mac80211: prepare sta handling for MLO support (Íñigo Huguet) [2136123] - mac80211: minstrel_ht: fix where rate stats are stored (fixes debugfs output) (Íñigo Huguet) [2136123] - nl80211: show SSID for P2P_GO interfaces (Íñigo Huguet) [2136123] - mac80211: introduce BSS color collision detection (Íñigo Huguet) [2136123] - mac80211: Improve confusing comment around tx_info clearing (Íñigo Huguet) [2136123] - mac80211: protect ieee80211_assign_beacon with next_beacon check (Íñigo Huguet) [2136123] - rtl8xxxu: fill up txrate info for gen1 chips (Íñigo Huguet) [2136123] - rtl8xxxu: feed antenna information for cfg80211 (Íñigo Huguet) [2136123] - rtlwifi: replace usage of found with dedicated list iterator variable (Íñigo Huguet) [2136123] - brcmfmac: Avoid keeping power to SDIO card unless WOWL is used (Íñigo Huguet) [2136123] - mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue (Íñigo Huguet) [2136123] - rtw89: fix misconfiguration on hw_scan channel time (Íñigo Huguet) [2136123] - rtw89: coex: Add case for scan offload (Íñigo Huguet) [2136123] - rtw89: packet offload handler to avoid warning (Íñigo Huguet) [2136123] - rtw89: change idle mode condition during hw_scan (Íñigo Huguet) [2136123] - rtw89: update ptcl_init (Íñigo Huguet) [2136123] - rtw89: update TMAC parameters (Íñigo Huguet) [2136123] - rtw89: initialize NAV control (Íñigo Huguet) [2136123] - rtw89: update scheduler setting (Íñigo Huguet) [2136123] - rtw89: 8852c: update security engine setting (Íñigo Huguet) [2136123] - rtw89: Turn on CR protection of CMAC (Íñigo Huguet) [2136123] - rtw89: add chip_ops::{enable,disable}_bb_rf to support v1 chip (Íñigo Huguet) [2136123] - rtw89: update STA scheduler parameters for v1 chip (Íñigo Huguet) [2136123] - rtw89: extend dmac_pre_init to support 8852C (Íñigo Huguet) [2136123] - rtw89: pci: add L1 settings (Íñigo Huguet) [2136123] - rtw89: pci: add deglitch setting (Íñigo Huguet) [2136123] - rtw89: pci: set address info registers depends on chips (Íñigo Huguet) [2136123] - rtw89: pci: add LTR setting for v1 chip (Íñigo Huguet) [2136123] - rtw89: pci: refine pci pre_init function (Íñigo Huguet) [2136123] - rtw89: pci: add pci attributes to configure operating mode (Íñigo Huguet) [2136123] - rtw89: pci: add register definition to rtw89_pci_info to generalize pci code (Íñigo Huguet) [2136123] - ath11k: mhi: remove unnecessary goto from ath11k_mhi_start() (Íñigo Huguet) [2136123] - ath11k: mhi: add error handling for suspend and resume (Íñigo Huguet) [2136123] - ath11k: mhi: remove state machine (Íñigo Huguet) [2136123] - rtw89: handle potential uninitialized variable (Íñigo Huguet) [2136123] - rtw89: read RX bandwidth from v1 type RX descriptor (Íñigo Huguet) [2136123] - rtw89: support hardware generate security header (Íñigo Huguet) [2136123] - rtw89: support variant of fill_txdesc (Íñigo Huguet) [2136123] - rtw89: pci: support variant of fill_txaddr_info (Íñigo Huguet) [2136123] - rtw89: add chip_info::h2c_desc_size/fill_txdesc_fwcmd to support new chips (Íñigo Huguet) [2136123] - rtw89: disabled IGI configuration for unsupported hardware (Íñigo Huguet) [2136123] - rtw89: packed IGI configuration flow into function for DIG feature (Íñigo Huguet) [2136123] - rtw89: regd: update mapping table to R59-R32 (Íñigo Huguet) [2136123] - rtw89: regd: consider 6G band (Íñigo Huguet) [2136123] - rtw89: 8852a: update txpwr tables to HALRF_027_00_038 (Íñigo Huguet) [2136123] - rtw89: add UK to regulation type (Íñigo Huguet) [2136123] - rtw89: reduce export symbol number of mac size and quota (Íñigo Huguet) [2136123] - rtw89: support FW crash simulation (Íñigo Huguet) [2136123] - rtw89: reconstruct fw feature (Íñigo Huguet) [2136123] - rtw89: ser: dump fw backtrace while L2 reset (Íñigo Huguet) [2136123] - rtw89: ser: dump memory for fw payload engine while L2 reset (Íñigo Huguet) [2136123] - rtw89: ser: control hci interrupts on/off by state (Íñigo Huguet) [2136123] - rtw89: mac: correct decision on error status by scenario (Íñigo Huguet) [2136123] - rtw89: mac: move table of mem base addr to common (Íñigo Huguet) [2136123] - rtw89: ser: fix CAM leaks occurring in L2 reset (Íñigo Huguet) [2136123] - rtw88: change idle mode condition during hw_scan (Íñigo Huguet) [2136123] - iwlwifi: mei: Replace zero-length array with flexible-array member (Íñigo Huguet) [2136123] - iwlwifi: fw: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2136123] - ath11k: fix driver initialization failure with WoW unsupported hw (Íñigo Huguet) [2136123] - ath11k: Remove unnecessary delay in ath11k_core_suspend (Íñigo Huguet) [2136123] - ath11k: Change max no of active probe SSID and BSSID to fw capability (Íñigo Huguet) [2136123] - ath11k: Remove core PCI references from PCI common code (Íñigo Huguet) [2136123] - ath11k: Refactor MSI logic to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: Choose MSI config based on HW revision (Íñigo Huguet) [2136123] - ath11k: Refactor PCI code to support WCN6750 (Íñigo Huguet) [2136123] - ath11k: PCI changes to support WCN6750 (Íñigo Huguet) [2136123] - bus: mhi: ep: Add uevent support for module autoloading (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for suspending and resuming channels (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for queueing SKBs to the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing channel rings (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for reading from the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing command rings (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for handling SYS_ERR condition (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for handling MHI_RESET (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for powering down the MHI endpoint stack (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for powering up the MHI endpoint stack (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for processing MHI endpoint interrupts (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for managing MHI state machine (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for sending events to the host (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for ring management (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for managing MMIO registers (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for creating and destroying MHI EP devices (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for registering MHI endpoint client drivers (Íñigo Huguet) [2136123] - bus: mhi: ep: Add support for registering MHI endpoint controllers (Íñigo Huguet) [2136123] - ath9k: make is2ghz consistent in ar9003_eeprom (Íñigo Huguet) [2136123] - ath10k: add support for MSDU IDs for USB devices (Íñigo Huguet) [2136123] - ath11k: add support to search regdb data in board-2.bin for WCN6855 (Íñigo Huguet) [2136123] - ath11k: store and send country code to firmware after recovery (Íñigo Huguet) [2136123] - ath9k: add functions to get paprd rate mask (Íñigo Huguet) [2136123] - ath9k: refactor ar9003_hw_spur_mitigate_ofdm (Íñigo Huguet) [2136123] - ath9k: fix ar9003_get_eepmisc (Íñigo Huguet) [2136123] - ath9k: use AR9300_MAX_CHAINS when appropriate (Íñigo Huguet) [2136123] - ath9k: split set11nRateFlags and set11nChainSel (Íñigo Huguet) [2136123] - ath9k: make ATH_SREV macros more consistent (Íñigo Huguet) [2136123] - ath11k: Add peer rhash table support (Íñigo Huguet) [2136123] - ath11k: add read variant from SMBIOS for download board data (Íñigo Huguet) [2136123] - ath11k: add fallback board name without variant while searching board-2.bin (Íñigo Huguet) [2136123] - ath11k: enable PLATFORM_CAP_PCIE_GLOBAL_RESET QMI host capability (Íñigo Huguet) [2136123] - ath11k: Add hw-restart option to simulate_fw_crash (Íñigo Huguet) [2136123] - ath11k: add synchronization operation between reconfigure of mac80211 and ath11k_base (Íñigo Huguet) [2136123] - ath11k: add support for device recovery for QCA6390/WCN6855 (Íñigo Huguet) [2136123] - ath11k: disable regdb support for QCA6390 (Íñigo Huguet) [2136123] - ath11k: remove unused ATH11K_BD_IE_BOARD_EXT (Íñigo Huguet) [2136123] - ath11k: change fw build id format in driver init log (Íñigo Huguet) [2136123] - ath11k: Refactor the peer delete (Íñigo Huguet) [2136123] - ath10k: Use of_device_get_match_data() helper (Íñigo Huguet) [2136123] - ath10k: Trigger sta disconnect on hardware restart (Íñigo Huguet) [2136123] - ath9k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2136123] - ath11k: support GTK rekey offload (Íñigo Huguet) [2136123] - ath11k: support ARP and NS offload (Íñigo Huguet) [2136123] - ath11k: purge rx pktlog when entering WoW (Íñigo Huguet) [2136123] - ath11k: implement hardware data filter (Íñigo Huguet) [2136123] - ath11k: Add WoW net-detect functionality (Íñigo Huguet) [2136123] - ath11k: Add basic WoW functionalities (Íñigo Huguet) [2136123] - x86/cpu: Add several Intel server CPU model numbers (Prarit Bhargava) [2158037] - ice: Implement devlink port split operations (Petr Oros) [2009705] - ice: Add additional flags to ice_nvm_write_activate (Petr Oros) [2009705] - ice: Add port option admin queue commands (Petr Oros) [2009705] - hwmon: (coretemp) Check for null before removing sysfs attrs (Phil Auld) [2152429] - KVM: x86/mmu: fix NULL pointer dereference on guest INVPCID (Jon Maloy) [2099301] {CVE-2022-1789} - redhat/configs: enable HP_WATCHDOG for aarch64 (Mark Salter) [2113079] - watchdog/hpwdt: Enable HP_WATCHDOG for ARM64 systems. (Mark Salter) [2113079] - watchdog: Improve Kconfig entry ordering and dependencies (Mark Salter) [2113079] - watchdog/hpwdt: Include nmi.h only if CONFIG_HPWDT_NMI_DECODING (Mark Salter) [2113079] - uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix (Oleg Nesterov) [2133797] - platform/mellanox: Remove redundant 'NULL' check (Mark Langsdorf) [2122314] - platform/mellanox: Remove unnecessary code (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix locking issue (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix coverity warning (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-lc: Fix error flow and extend verbosity (Mark Langsdorf) [2122314] - platform/mellanox: mlxreg-io: Add locking for io operations (Mark Langsdorf) [2122314] - platform/mellanox: nvsw-sn2201: fix error code in nvsw_sn2201_create_static_devices() (Mark Langsdorf) [2122314] - platform/mellanox: Add static in struct declaration. (Mark Langsdorf) [2122314] - platform/mellanox: Spelling s/platfom/platform/ (Mark Langsdorf) [2122314] - redhat/configs: Enable Mellanox SN2201 management device (Mark Langsdorf) [2122314] - platform/mellanox: Add support for new SN2201 system (Mark Langsdorf) [2122314] - platform_data/mlxreg: Add field for notification callback (Mark Langsdorf) [2122314] - Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices (Gopal Tiwari) [2129295] - Bluetooth: Add support hdev to allocate private data (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the legacy bootloader returns tlv based version (Gopal Tiwari) [2129295] - Bluetooth: btintel: Clean the exported function to static (Gopal Tiwari) [2129295] - Bluetooth: btintel: Move hci quirks to setup routine (Gopal Tiwari) [2129295] - Bluetooth: btintel: Refactoring setup routine for bootloader devices (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add combined set_diag functions (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the LED is not turning off immediately (Gopal Tiwari) [2129295] - Bluetooth: btintel: Fix the first HCI command not work with ROM device (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add btintel data struct (Gopal Tiwari) [2129295] - Bluetooth: btintel: Refactoring setup routine for legacy ROM sku (Gopal Tiwari) [2129295] - Bluetooth: btintel: Add combined setup and shutdown functions (Gopal Tiwari) [2129295] - EDAC/mc_sysfs: Increase legacy channel support to 12 (Aristeu Rozanski) [2139861] - NFS: Trigger the "ls -l" readdir heuristic sooner (Benjamin Coddington) [2025991] - NFS: Cache all entries in the readdirplus reply (Benjamin Coddington) [2025991] - NFS: Optimise away the previous cookie field (Benjamin Coddington) [2025991] - NFS: Fix up forced readdirplus (Benjamin Coddington) [2025991] - NFS: Convert readdir page cache to use a cookie based index (Benjamin Coddington) [2025991] - NFS: Clean up page array initialisation/free (Benjamin Coddington) [2025991] - NFS: Trace effects of the readdirplus heuristic (Benjamin Coddington) [2025991] - NFS: Trace effects of readdirplus on the dcache (Benjamin Coddington) [2025991] - NFS: Add basic readdir tracing (Benjamin Coddington) [2025991] - NFS: Don't request readdirplus when revalidation was forced (Benjamin Coddington) [2025991] - NFSv4: Ask for a full XDR buffer of readdir goodness (Benjamin Coddington) [2025991] - NFS: Don't ask for readdirplus unless it can help nfs_getattr() (Benjamin Coddington) [2025991] - NFS: Improve heuristic for readdirplus (Benjamin Coddington) [2025991] - NFS: Reduce use of uncached readdir (Benjamin Coddington) [2025991] - NFS: Simplify nfs_readdir_xdr_to_array() (Benjamin Coddington) [2025991] - NFS: If the cookie verifier changes, we must invalidate the page cache (Benjamin Coddington) [2025991] - NFS: Adjust the amount of readahead performed by NFS readdir (Benjamin Coddington) [2025991] - NFS: Don't advance the page pointer unless the page is full (Benjamin Coddington) [2025991] - NFS: Don't re-read the entire page cache to find the next cookie (Benjamin Coddington) [2025991] - NFS: Store the change attribute in the directory page cache (Benjamin Coddington) [2025991] - NFS: Calculate page offsets algorithmically (Benjamin Coddington) [2025991] - NFS: Use kzalloc() to avoid initialising the nfs_open_dir_context (Benjamin Coddington) [2025991] - NFS: Initialise the readdir verifier as best we can in nfs_opendir() (Benjamin Coddington) [2025991] - NFS: Trace lookup revalidation failure (Benjamin Coddington) [2025991] - NFS: constify nfs_server_capable() and nfs_have_writebacks() (Benjamin Coddington) [2025991] - NFS: Return valid errors from nfs2/3_decode_dirent() (Benjamin Coddington) [2025991] - NFS: Avoid duplicate uncached readdir calls on eof (Benjamin Coddington) [2025991] - NFS: Don't skip directory entries when doing uncached readdir (Benjamin Coddington) [2025991] - NFS: Don't overfill uncached readdir pages (Benjamin Coddington) [2025991] - block: unhash blkdev part inode when the part is deleted (Ming Lei) [2148497]- x86/fpu: Drop fpregs lock before inheriting FPU permissions (Eder Zulian) [2153549] - cpufreq: amd-pstate: Add resume and suspend callbacks (Mark Langsdorf) [2122310] - cpufreq: CPPC: Enable dvfs_possible_from_any_cpu (Mark Langsdorf) [2122310] - cpufreq: check only freq_table in __resolve_freq() (Mark Langsdorf) [2122310] - cpufreq: ondemand: Use cpumask_var_t for on-stack cpu mask (Mark Langsdorf) [2122310] - cpufreq: Change order of online() CB and policy->cpus modification (Mark Langsdorf) [2122310] - cpufreq: Warn users while freeing active policy (Mark Langsdorf) [2122310] - cpufreq: Drop unnecessary cpus locking from store() (Mark Langsdorf) [2122310] - cpufreq: Optimize cpufreq_show_cpus() (Mark Langsdorf) [2122310] - cpufreq: make interface functions and lock holding state clear (Mark Langsdorf) [2122310] - cpufreq: Abort show()/store() for half-initialized policies (Mark Langsdorf) [2122310] - cpufreq: Rearrange locking in cpufreq_remove_dev() (Mark Langsdorf) [2122310] - cpufreq: Split cpufreq_offline() (Mark Langsdorf) [2122310] - cpufreq: Reorganize checks in cpufreq_offline() (Mark Langsdorf) [2122310] - cpufreq: Clear real_cpus mask from remove_cpu_dev_symlink() (Mark Langsdorf) [2122310] - cpufreq: Prepare cleanup of powerpc's asm/prom.h (Mark Langsdorf) [2122310] - cpufreq: governor: Use kobject release() method to free dbs_data (Mark Langsdorf) [2122310] - ipv6: fix panic when fib_lookup_arg->result is fib6_info (Jiri Benc) [2140599] - tipc: re-fetch skb cb after tipc_msg_validate (Xin Long) [2142732] - Documentation: bonding: correct xmit hash steps (Jonathan Toppins) [2150390] - Documentation: bonding: update miimon default to 100 (Jonathan Toppins) [2150390] - selftests: bonding: up/down delay w/ slave link flapping (Jonathan Toppins) [2150390] - bonding (gcc13): synchronize bond_{a,t}lb_xmit() types (Jonathan Toppins) [2150390] - selftests: net: Fix cross-tree inclusion of scripts (Jonathan Toppins) [2150390] - treewide: use get_random_u32() when possible (Jonathan Toppins) [2150390] - selftests/bonding: re-add lladdr target test (Jonathan Toppins) [2150390] - selftests: bonding: cause oops in bond_rr_gen_slave_id (Jonathan Toppins) [2150390] - selftests/bonding: add a test for bonding lladdr target (Jonathan Toppins) [2150390] - net: Add tests for bonding and team address list management (Jonathan Toppins) [2150390] - net: bonding: Unsync device addresses on ndo_stop (Jonathan Toppins) [2150390] - net: bonding: Share lacpdu_mcast_addr definition (Jonathan Toppins) [2150390] - Documentation: bonding: clarify supported modes for tlb_dynamic_lb (Jonathan Toppins) [2150390] - selftests: include bonding tests into the kselftest infra (Jonathan Toppins) [2150390] - bonding: fix reference count leak in balance-alb mode (Jonathan Toppins) [2150390] - net:bonding:support balance-alb interface with vlan to bridge (Jonathan Toppins) [2150390] - bonding: cleanup bond_create (Jonathan Toppins) [2150390] - bonding: netlink error message support for options (Jonathan Toppins) [2150390] - bonding: Update layer2 and layer2+3 hash formula documentation (Jonathan Toppins) [2150390] - net: bonding: Add support for IPV6 ns/na to balance-alb/balance-tlb mode (Jonathan Toppins) [2150390] - net: remove bond_slave_has_mac_rcu() (Jonathan Toppins) [2150390] - net: bonding: debug: avoid printing debug logs when bond is not notifying peers (Jonathan Toppins) [2150390] - net: bonding: constify and use dev_addr_set() (Jonathan Toppins) [2150390] - net: use dev_addr_set() (Jonathan Toppins) [2150390] - bonding: remove extraneous definitions from bonding.h (Jonathan Toppins) [2150390] - net: bonding: bond_alb: Fix some typos in bond_alb.c (Jonathan Toppins) [2150390] - net: bonding: use tabs instead of space for code indent (Jonathan Toppins) [2150390] - net: bonding: remove unnecessary braces (Jonathan Toppins) [2150390] - net: bonding: fix code indent for conditional statements (Jonathan Toppins) [2150390] - net: bonding: add some required blank lines (Jonathan Toppins) [2150390] - docs: networking: bonding.rst Fix a typo in bonding.rst (Jonathan Toppins) [2150390] - docs: networking: bonding.rst resources section cleanup (Jonathan Toppins) [2150390] - bonding: Replace zero-length array with flexible-array member (Jonathan Toppins) [2150390] - include/net/bond_3ad: Simplify the code by using the ARRAY_SIZE (Jonathan Toppins) [2150390] - vmxnet3: use correct intrConf reference when using extended queues (Izabela Bakollari) [2150917] - vmxnet3: correctly report encapsulated LRO packet (Izabela Bakollari) [2150917] - net: move from strlcpy with unused retval to strscpy (Izabela Bakollari) [2150917] - vmxnet3: Implement ethtool's get_channels command (Izabela Bakollari) [2150917] - vmxnet3: Record queue number to incoming packets (Izabela Bakollari) [2150917] - [rt] Revert "mm/memcg: disable threshold event handlers on PREEMPT_RT" (Chris White) [2152035] - s390/pci: allow zPCI zbus without a function zero (Tobias Huschle) [2043829] - PCI: Extend isolated function probing to s390 (Tobias Huschle) [2043829] - PCI: Move jailhouse's isolated function handling to pci_scan_slot() (Tobias Huschle) [2043829] - PCI: Split out next_ari_fn() from next_fn() (Tobias Huschle) [2043829] - PCI: Clean up pci_scan_slot() (Tobias Huschle) [2043829] - KVM: selftests: Build the memslot tests for arm64 (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Report optimal memory slots (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Consolidate memory (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Support variable guest page size (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Probe memory slots for once (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Consolidate loop conditions in prepare_vm() (Gavin Shan) [2134650] - KVM: selftests: memslot_perf_test: Use data->nslots in prepare_vm() (Gavin Shan) [2134650] - KVM: selftests: Make memslot_perf_test arch independent (Gavin Shan) [2134650] - selftests: netfilter: Fix and review rpath.sh (Phil Sutter) [1961152] - netfilter: Use l3mdev flow key when re-routing mangled packets (Phil Sutter) [1961152] - netfilter: Update ip6_route_me_harder to consider L3 domain (Phil Sutter) [1961152] - netfilter: Dissect flow after packet mangling (Phil Sutter) [1961152] - netfilter: rpfilter/fib: Populate flowic_l3mdev field (Phil Sutter) [1961152] - selftests: netfilter: Test reverse path filtering (Phil Sutter) [1961152] - netfilter: nft_fib: Fix for rpath check with VRF devices (Phil Sutter) [1961152] - net: seg6: fix seg6_lookup_any_nexthop() to handle VRFs using flowi_l3mdev (Phil Sutter) [1961152] - net: Handle l3mdev in ip_tunnel_init_flow (Phil Sutter) [1961152] - xfrm: Pass flowi_oif or l3mdev as oif to xfrm_dst_lookup (Phil Sutter) [1961152] - net: Add l3mdev index to flow struct and avoid oif reset for port devices (Phil Sutter) [1961152] - l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu (Phil Sutter) [1961152] - l3mdev: add function to retreive upper master (Phil Sutter) [1961152] - sfc: move deprecation message to sfc_siena (Íñigo Huguet) [2112205 2136107] - sfc/siena: add entries for new CONFIG_SFC_SIENA* configs (Íñigo Huguet) [2112205 2136107] - sfc: Fix an error handling path in efx_pci_probe() (Íñigo Huguet) [2112205] - sfc: support PTP over Ethernet (Íñigo Huguet) [2112205 2065017] - sfc: support PTP over IPv6/UDP (Íñigo Huguet) [2112205 2065017] - sfc: allow more flexible way of adding filters for PTP (Íñigo Huguet) [2112205 2065017] - sfc: correct filter_table_remove method for EF10 PFs (Íñigo Huguet) [2112205] - sfc/siena: fix null pointer dereference in efx_hard_start_xmit (Íñigo Huguet) [2112205] - sfc/siena: fix TX channel offset when using legacy interrupts (Íñigo Huguet) [2112205] - sfc: implement ethtool get/set RX ring size for EF100 reps (Íñigo Huguet) [2112205] - sfc: use a dynamic m-port for representor RX and set it promisc (Íñigo Huguet) [2112205] - sfc: move table locking into filter_table_{probe,remove} methods (Íñigo Huguet) [2112205] - sfc: insert default MAE rules to connect VFs to representors (Íñigo Huguet) [2112205] - sfc: receive packets from EF100 VFs into representors (Íñigo Huguet) [2112205] - sfc: check ef100 RX packets are from the wire (Íñigo Huguet) [2112205] - sfc: determine wire m-port at EF100 PF probe time (Íñigo Huguet) [2112205] - sfc: ef100 representor RX top half (Íñigo Huguet) [2112205] - sfc: ef100 representor RX NAPI poll (Íñigo Huguet) [2112205] - sfc: plumb ef100 representor stats (Íñigo Huguet) [2112205] - sfc: disable softirqs for ptp TX (Íñigo Huguet) [2112205] - sfc/siena: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc: attach/detach EF100 representors along with their owning PF (Íñigo Huguet) [2112205] - sfc: hook up ef100 representor TX (Íñigo Huguet) [2112205] - sfc: support passing a representor to the EF100 TX path (Íñigo Huguet) [2112205] - sfc: determine representee m-port for EF100 representors (Íñigo Huguet) [2112205] - sfc: phys port/switch identification for ef100 reps (Íñigo Huguet) [2112205] - sfc: add basic ethtool ops to ef100 reps (Íñigo Huguet) [2112205] - sfc: add skeleton ef100 VF representors (Íñigo Huguet) [2112205] - sfc: detect ef100 MAE admin privilege/capability at probe time (Íñigo Huguet) [2112205] - sfc: update EF100 register descriptions (Íñigo Huguet) [2112205] - sfc: update MCDI protocol headers (Íñigo Huguet) [2112205] - sfc/siena: Use the bitmap API to allocate bitmaps (Íñigo Huguet) [2112205] - sfc: Separate netdev probe/remove from PCI probe/remove (Íñigo Huguet) [2112205] - sfc: replace function name in string with __func__ (Íñigo Huguet) [2112205] - sfc: Unsplit literal string. (Íñigo Huguet) [2112205] - sfc: Move EF100 efx_nic_type structs to the end of the file (Íñigo Huguet) [2112205] - sfc: Separate efx_nic memory from net_device memory (Íñigo Huguet) [2112205] - sfc: Encapsulate access to netdev_priv() (Íñigo Huguet) [2112205] - sfc: Change BUG_ON to WARN_ON and recovery code. (Íñigo Huguet) [2112205] - sfc: Remove netdev init from efx_init_struct (Íñigo Huguet) [2112205] - sfc: Add a PROBED state for EF100 VDPA use. (Íñigo Huguet) [2112205] - sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP. (Íñigo Huguet) [2112205] - sfc: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc: siena: fix repeated words in comments (Íñigo Huguet) [2112205] - sfc/siena: Fix typo in comment (Íñigo Huguet) [2112205] - sfc: Fix typo in comment (Íñigo Huguet) [2112205] - sfc/siena: fix wrong tx channel offset with efx_separate_tx_channels (Íñigo Huguet) [2112205] - sfc/siena: fix considering that all channels have TX queues (Íñigo Huguet) [2112205] - sfc/siena: Remove duplicate check on segments (Íñigo Huguet) [2112205 2136107] - sfc: siena: Have a unique wrapper ifndef for efx channels header (Íñigo Huguet) [2112205 2136107] - eth: sfc: remove remnants of the out-of-tree napi_weight module param (Íñigo Huguet) [2112205] - sfc: siena: Fix Kconfig dependencies (Íñigo Huguet) [2112205 2136107] - sfc/siena: Reinstate SRIOV init/fini function calls (Íñigo Huguet) [2112205 2136107] - sfc/siena: Make PTP and reset support specific for Siena (Íñigo Huguet) [2112205 2136107] - sfc/siena: Make MCDI logging support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make HWMON support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make SRIOV support specific for Siena (Íñigo Huguet) [2112205 2136107] - siena: Make MTD support specific for Siena (Íñigo Huguet) [2112205 2136107] - sfc: Add a basic Siena module (Íñigo Huguet) [2112205 2136107] - sfc/siena: Inline functions in sriov.h to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in nic_common.h to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in mcdi headers to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename peripheral functions to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename RX/TX functions to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Rename functions in efx headers to avoid conflicts with sfc (Íñigo Huguet) [2112205 2136107] - sfc/siena: Remove build references to missing functionality (Íñigo Huguet) [2112205 2136107] - sfc: Copy shared files needed for Siena (part 2) (Íñigo Huguet) [2112205 2136107] - sfc: Copy shared files needed for Siena (part 1) (Íñigo Huguet) [2112205 2136107] - sfc: Move Siena specific files (Íñigo Huguet) [2112205 2136107] - sfc: Copy a subset of mcdi_pcol.h to siena (Íñigo Huguet) [2112205 2136107] - sfc: Disable Siena support (Íñigo Huguet) [2112205 2136107] - sfc: add EF100 VF support via a write to sriov_numvfs (Íñigo Huguet) [2112205] - sfc: Remove global definition of efx_reset_type_names (Íñigo Huguet) [2112205] - sfc: Remove duplicate definition of efx_xmit_done (Íñigo Huguet) [2112205] - sfc: efx_default_channel_type APIs can be static (Íñigo Huguet) [2112205] - sfc: Fix spelling mistake "writting" -> "writing" (Íñigo Huguet) [2112205] - sfc: ef10: Fix assigning negative value to unsigned variable (Íñigo Huguet) [2112205] - sfc: use hardware tx timestamps for more than PTP (Íñigo Huguet) [2112205 2065017] - net: ethernet: sfc: Make subdir logic consistent with other vendors (Íñigo Huguet) [2112205 2136107] - hugetlbfs: fix mount mode command line processing (Bill O'Donnell) [2148876] - igc: Correct the launchtime offset (Corinna Vinschen) [2103954] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Corinna Vinschen) [2103954] - igc: Remove IGC_MDIC_INT_EN definition (Corinna Vinschen) [2103954] - igc: Remove forced_speed_duplex value (Corinna Vinschen) [2103954] - igc: Remove MSI-X PBA Clear register (Corinna Vinschen) [2103954] - igc: Lift TAPRIO schedule restriction (Corinna Vinschen) [2103954] - wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker() (Wander Lairson Costa) [2150964] {CVE-2022-3628} - net: ethernet: move from strlcpy with unused retval to strscpy (Corinna Vinschen) [2103949] - tipc: call tipc_lxc_xmit without holding node_read_lock (Xin Long) [2141640] - mptcp: fix sleep in atomic at close time (Davide Caratti) [2150361] - mptcp: don't orphan ssk in mptcp_close() (Davide Caratti) [2150361] - net: Avoid overwriting valid skb->napi_id (Antoine Tenart) [2142593] - x86/microcode/AMD: Apply the patch early on every logical thread (Waiman Long) [2139856] - x86/bugs: Enable STIBP for IBPB mitigated RETBleed (Waiman Long) [2139856] - x86/bugs: Add "unknown" reporting for MMIO Stale Data (Waiman Long) [2139856] - tracing: Use a copy of the va_list for __assign_vstr() (Íñigo Huguet) [2143356] - tracing/events: Add __vstring() and __assign_vstr() helper macros (Íñigo Huguet) [2143356] - rtnetlink: add IFLA_PARENT_[DEV|DEV_BUS]_NAME (Jose Ignacio Tornos Martinez) [2144853] - rtnetlink: add alloc() method to rtnl_link_ops (Jose Ignacio Tornos Martinez) [2144853] - ipv6: Fix data races around sk->sk_prot. (Guillaume Nault) [2144805] {CVE-2022-3567} - ipv6: annotate some data-races around sk->sk_prot (Guillaume Nault) [2144805] {CVE-2022-3567} - ipv6: use indirect call wrappers for {tcp, udpv6}_{recv, send}msg() (Guillaume Nault) [2144805] {CVE-2022-3567} - mm/mremap: hold the rmap lock in write mode when moving page table entries. (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: use pmd/pud_poplulate to update page table entries (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: don't enable optimized PUD move if page table levels is 2 (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: convert huge PUD move to separate helper (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: fix BUILD_BUG_ON() error in get_extent (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap.c: fix extent calculation (Waiman Long) [2140945] {CVE-2022-41222} - x86: mremap speedup - Enable HAVE_MOVE_PUD (Waiman Long) [2140945] {CVE-2022-41222} - mm: speedup mremap on 1GB or larger regions (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: start addresses are properly aligned (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: calculate extent in one place (Waiman Long) [2140945] {CVE-2022-41222} - mm/mremap: it is sure to have enough space when extent meets requirement (Waiman Long) [2140945] {CVE-2022-41222}- irqchip/gic, gic-v3: Make SGIs use handle_percpu_devid_irq() (Charles Mirabile) [2133892] - irqchip/gic-common: Don't enable SGIs by default (Charles Mirabile) [2133892] - irqchip/gic: Configure SGIs as standard interrupts (Charles Mirabile) [2133892] - irqchip/gic: Refactor SMP configuration (Charles Mirabile) [2133892] - irqchip/gic-v3: Configure SGIs as standard interrupts (Charles Mirabile) [2133892] - irqchip/gic-v3: Describe the SGI range (Charles Mirabile) [2133892] - arm64: Allow IPIs to be handled as normal interrupts (Charles Mirabile) [2133892] - irqchip/gic, gic-v3: Prevent GSI to SGI translations (Charles Mirabile) [2133892] - Workaround to enable support for IPI (Charles Mirabile) [2133892] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2112182] - tg3: Disable tg3 device on system reboot to avoid triggering AER (Ken Cox) [2112182] - aquantia: Do not purge addresses when setting the number of rings (Izabela Bakollari) [2122571] - openvswitch: add nf_ct_is_confirmed check before assigning the helper (Antoine Tenart) [2135414] - net: openvswitch: allow conntrack in non-initial user namespace (Antoine Tenart) [2135414] - net: openvswitch: allow metering in non-initial user namespace (Antoine Tenart) [2135414] - openvswitch: Change the return type for vport_ops.send function hook to int (Antoine Tenart) [2135414] - net: openvswitch: fix repeated words in comments (Antoine Tenart) [2135414] - openvswitch: add OVS_DP_ATTR_PER_CPU_PIDS to get requests (Antoine Tenart) [2135414] - openvswitch: allow specifying ifindex of new interfaces (Antoine Tenart) [2135414] - openvswitch: move from strlcpy with unused retval to strscpy (Antoine Tenart) [2135414] - openvswitch: Fix overreporting of drops in dropwatch (Antoine Tenart) [2135414] - openvswitch: Fix double reporting of drops in dropwatch (Antoine Tenart) [2135414] - openvswitch: fix memory leak at failed datapath creation (Antoine Tenart) [2135414] - net: remove noblock parameter from skb_recv_datagram() (Íñigo Huguet) [2143359] - i40e: Fix error handling in i40e_init_module() (Stefan Assmann) [2103661] - i40e: Add appropriate error message logged for incorrect duplex setting (Stefan Assmann) [2103661] - i40e: Add i40e_napi_poll tracepoint (Stefan Assmann) [2103661] - i40e: Record number of RXes cleaned during NAPI (Stefan Assmann) [2103661] - i40e: Record number TXes cleaned during NAPI (Stefan Assmann) [2103661] - i40e: Store the irq number in i40e_q_vector (Stefan Assmann) [2103661] - ptp: introduce helpers to adjust by scaled parts per million (Stefan Assmann) [2103661] - net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). (Stefan Assmann) [2103661] - i40e: Fix flow-type by setting GL_HASH_INSET registers (Stefan Assmann) [2103661] - i40e: Fix ethtool rx-flow-hash setting for X722 (Stefan Assmann) [2103661] - i40e: Fix ADQ rate limiting for PF (Stefan Assmann) [2103661] - i40e: add description and modify interrupts configuration procedure (Stefan Assmann) [2103661] - i40e: Add basic support for I710 devices (Stefan Assmann) [2103661] - net: ethernet: move from strlcpy with unused retval to strscpy (Stefan Assmann) [2103661] - i40e: Fix incorrect address type for IPv6 flow rules (Stefan Assmann) [2103661] - i40e: Fix to stop tx_timeout recovery if GLOBR fails (Stefan Assmann) [2103661] - i40e: convert .adjfreq to .adjfine (Stefan Assmann) [2103661] - i40e: use mul_u64_u64_div_u64 for PTP frequency calculation (Stefan Assmann) [2103661] - i40e: Fix interface init with MSI interrupts (no MSI-X) (Stefan Assmann) [2103661] - i40e: Refactor tc mqprio checks (Stefan Assmann) [2103661] - i40e: Fix erroneous adapter reinitialization during recovery process (Stefan Assmann) [2103661] - i40e: Fix VF's MAC Address change on VM (Stefan Assmann) [2103661] - i40e: Fix dropped jumbo frames statistics (Stefan Assmann) [2103661] - intel/i40e:fix repeated words in comments (Stefan Assmann) [2103661] - intel: remove unused macros (Stefan Assmann) [2103661] - i40e: read the XDP program once per NAPI (Stefan Assmann) [2103661] - intel/i40e: delete if NULL check before dev_kfree_skb (Stefan Assmann) [2103661] - i40e: Remove unnecessary synchronize_irq() before free_irq() (Stefan Assmann) [2103661] - i40e: Add support for ethtool -s speed (Stefan Assmann) [2103661] - i40e: Add VF VLAN pruning (Stefan Assmann) [2103661] - xsk: Wipe out dead zero_copy_allocator declarations (Stefan Assmann) [2103661] - gpio: amdpt: add new device ID and 24-pin support (Prarit Bhargava) [2097868] - platform/x86/intel: pmc/core: Add Raptor Lake support to pmc core driver (Prarit Bhargava) [2076732] - HID: hyperv: fix possible memory leak in mousevsc_probe() (Mohammed Gamal) [2139468] - HID: hyperv: Correctly access fields declared as __le16 (Mohammed Gamal) [2139468] - Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register() (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: fix double free in the error path of vmbus_add_channel_work() (Mohammed Gamal) [2139473] - Drivers: hv: fix repeated words in comments (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Split memcpy of flex-array (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Don't wait for the ACPI device upon initialization (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Use PCI_VENDOR_ID_MICROSOFT for better discoverability (Mohammed Gamal) [2139473] - PCI: Move PCI_VENDOR_ID_MICROSOFT/PCI_DEVICE_ID_HYPERV_VIDEO definitions to pci_ids.h (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Fix kernel-doc (Mohammed Gamal) [2139473] - Drivers: hv: vmbus: Optimize vmbus_on_event (Mohammed Gamal) [2139473] - Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region (Mohammed Gamal) [2139473] - Drivers: hv: Always reserve framebuffer region for Gen1 VMs (Mohammed Gamal) [2139473] - Drivers: hv: remove duplicate word in a comment (Mohammed Gamal) [2139473] - Drivers: hv: Create debugfs file with hyper-v balloon usage information (Mohammed Gamal) [2139473] - Drivers: hv: vm_bus: Handle vmbus rescind calls after vmbus is suspended (Mohammed Gamal) [2139473] - scsi: storvsc: remove an extraneous "to" in a comment (Cathy Avery) [2143320] - Drivers: hv: vmbus: Optimize vmbus_on_event (Cathy Avery) [2143320] - scsi: storvsc: Drop DID_TARGET_FAILURE use (Cathy Avery) [2143320] - scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq (Cathy Avery) [2143320] - scsi: storvsc: Correct reporting of Hyper-V I/O size limits (Cathy Avery) [2143320] - scsi: storvsc: Removing Pre Win8 related logic (Cathy Avery) [2143320] - scsi: storvsc: Fix typo in comment (Cathy Avery) [2143320] - scsi: storvsc: Remove support for Hyper-V 2008 and 2008R2/Win7 (Cathy Avery) [2143320] - vdpa/mlx5: re-create forwarding rules after mac modified (Laurent Vivier) [2145136] - ipv6: Fix crash when IPv6 is administratively disabled (Guillaume Nault) [2140779] - raw: fix a typo in raw_icmp_error() (Guillaume Nault) [2140779] - raw: remove unused variables from raw6_icmp_error() (Guillaume Nault) [2140779] - raw: complete rcu conversion (Guillaume Nault) [2140779] - raw: Use helpers for the hlist_nulls variant. (Guillaume Nault) [2140779] - raw: Fix mixed declarations error in raw_icmp_error(). (Guillaume Nault) [2140779] - raw: convert raw sockets to RCU (Guillaume Nault) [2140779] - raw: use more conventional iterators (Guillaume Nault) [2140779] - raw: Add missing annotations to raw_seq_start() and raw_seq_stop() (Guillaume Nault) [2140779] - net: ethernet: move from strlcpy with unused retval to strscpy (Ken Cox) [2103941] - e1000e: convert .adjfreq to .adjfine (Ken Cox) [2103941] - e1000e: remove unnecessary range check in e1000e_phc_adjfreq (Ken Cox) [2103941] - Revert "e1000e: Fix possible HW unit hang after an s0ix exit" (Ken Cox) [2103941] - e1000e: Enable GPT clock before sending message to CSME (Ken Cox) [2103941] - intel/e1000e:fix repeated words in comments (Ken Cox) [2103941] - intel: remove unused macros (Ken Cox) [2103941] - net: move netif_set_gso_max helpers (Ivan Vecera) [2137564] - net: make drivers set the TSO limit not the GSO limit (Ivan Vecera) [2137564] - net: don't allow user space to lift the device limits (Ivan Vecera) [2137564] - net: add netif_inherit_tso_max() (Ivan Vecera) [2137564] - net: extract a few internals from netdevice.h (Ivan Vecera) [2137564] - net: unexport a handful of dev_* functions (Ivan Vecera) [2137564] - bpf: Fix extable address check. (Felix Maurer) [2138532] - bpf, x64: Factor out emission of REX byte in more cases (Felix Maurer) [2138532] - bpf: Support dual-stack sockets in bpf_tcp_check_syncookie (Felix Maurer) [2138532] - bpf: Fix extable fixup offset. (Felix Maurer) [2138532] - bpf: Fix the off-by-two error in range markings (Felix Maurer) [2138532] - bpf: Fix potential race in tail call compatibility check (Felix Maurer) [2138532] - bpf: Fix possible out of bound write in narrow load handling (Felix Maurer) [2138532] - bpf: Fix potential memleak and UAF in the verifier. (Felix Maurer) [2138532] - KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field (Thomas Huth) [2151854] - PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS macro (Íñigo Huguet) [2143354] - PM: core: Add new *_PM_OPS macros, deprecate old ones (Íñigo Huguet) [2143354] - PM: Make *_DEV_PM_OPS macros use __maybe_unused (Íñigo Huguet) [2143354] - PM: core: Redefine pm_ptr() macro (Íñigo Huguet) [2143354] - linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in (Íñigo Huguet) [2143354] - net: Remove unused inline function sk_nulls_node_init() (Guillaume Nault) [2143239] - ping: convert to RCU lookups, get rid of rwlock (Guillaume Nault) [2143239] - mm/cgroup/reclaim: fix dirty pages throttling on cgroup v1 (Waiman Long) [2149544] - mm: vmscan: remove deadlock due to throttling failing to make progress (Waiman Long) [2149544] - mm: vmscan: reduce throttling due to a failure to make progress -fix (Waiman Long) [2149544] - mm: vmscan: Reduce throttling due to a failure to make progress (Waiman Long) [2149544] - mm/vmscan: delay waking of tasks throttled on NOPROGRESS (Waiman Long) [2149544] - mm/vmscan: increase the timeout if page reclaim is not making progress (Waiman Long) [2149544] - mm/vmscan: centralise timeout values for reclaim_throttle (Waiman Long) [2149544] - mm/page_alloc: remove the throttling logic from the page allocator (Waiman Long) [2149544] - mm/writeback: throttle based on page writeback instead of congestion (Waiman Long) [2149544] - mm/vmscan: throttle reclaim when no progress is being made (Waiman Long) [2149544] - mm/vmscan: throttle reclaim and compaction when too may pages are isolated (Waiman Long) [2149544] - mm/vmscan: throttle reclaim until some writeback completes if congested (Waiman Long) [2149544] - mm/vmscan.c: delete or fix duplicated words (Waiman Long) [2149544] - powerpc/pseries/vas: Add VAS IRQ primary handler (Mamatha Inamdar) [2131675] - powerpc: Ignore DSI error caused by the copy/paste instruction (Mamatha Inamdar) [2131675] - powerpc/pseries: Move vas_migration_handler early during migration (Mamatha Inamdar) [2131675] - vt: drop old FONT ioctls (Wander Lairson Costa) [2109164] {CVE-2021-33656}- x86/mce: Reduce number of machine checks taken during recovery (Prarit Bhargava) [2104388] - scsi: storvsc: Fix handling of srb_status and capacity change events (Mohammed Gamal) [2139728] - clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() (Mohammed Gamal) [2139463] - hv_netvsc: Fix race between VF offering and VF association message from host (Mohammed Gamal) [2139475] - sbitmap: fix lockup while swapping (Ming Lei) [2140214] - sbitmap: fix batched wait_cnt accounting (Ming Lei) [2140214] - sbitmap: Avoid leaving waitqueue in invalid state in __sbq_wake_up() (Ming Lei) [2140214] - sbitmap: fix possible io hung due to lost wakeup (Ming Lei) [2140214] - sbitmap: add helper to clear a batch of tags (Ming Lei) [2140214] - x86/hyperv: Restore VP assist page after cpu offlining/onlining (Mohammed Gamal) [2139454] - clocksource/drivers/hyperv: add data structure for reference TSC MSR (Mohammed Gamal) [2139454] - x86/hyperv: fix root partition faults when writing to VP assist page MSR (Mohammed Gamal) [2139454] - x86/hyperv: fix invalid writes to MSRs during root partition kexec (Mohammed Gamal) [2139454] - x86/hyperv: Remove BUG_ON() for kmap_local_page() (Mohammed Gamal) [2139454] - x86/hyperv: Disable hardlockup detector by default in Hyper-V guests (Mohammed Gamal) [2139454] - x86/hyperv: Update 'struct hv_enlightened_vmcs' definition (Mohammed Gamal) [2139454] - x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition (Mohammed Gamal) [2139454] - x86/hyperv: Replace kmap() with kmap_local_page() (Mohammed Gamal) [2139454] - hyperv: simplify and rename generate_guest_id (Mohammed Gamal) [2139454] - x86/Hyper-V: Add SEV negotiate protocol support in Isolation VM (Mohammed Gamal) [2139454] - x86/sev: Define the Linux-specific guest termination reasons (Mohammed Gamal) [2139454] - x86/sev: Shorten GHCB terminate macro names (Mohammed Gamal) [2139454] - x86/sev: Save the negotiated GHCB version (Mohammed Gamal) [2139454] - locking: Add __sched to semaphore functions (Waiman Long) [2141429] - locking/rwsem: Disable preemption while trying for rwsem lock (Waiman Long) [2141429] - locking/percpu-rwsem: Add percpu_is_write_locked() and percpu_is_read_locked() (Waiman Long) [2141429] - locking/rwsem: Conditionally wake waiters in reader/writer slowpaths (Waiman Long) [2141429] - locking: Mark racy reads of owner->on_cpu (Waiman Long) [2141429] - locking: Make owner_on_cpu() into (Waiman Long) [2141429] - locking/rwsem: Optimize down_read_trylock() under highly contended case (Waiman Long) [2141429] - locking/rwsem: Fix comments about reader optimistic lock stealing conditions (Waiman Long) [2141429] - locking/rwsem: Disable preemption for spinning region (Waiman Long) [2141429] - locking: Remove rcu_read_{,un}lock() for preempt_{dis,en}able() (Waiman Long) [2141429] - NFSD: Mark exports of NFS as unsupported (Benjamin Coddington) [2150902] - fuse: lock inode unconditionally in fuse_fallocate() (Miklos Szeredi) [2110883] - fuse: add file_modified() to fallocate (Miklos Szeredi) [2110883] - mei: me: add adler lake point S DID (Prarit Bhargava) [2141602] - ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use (Izabela Bakollari) [2144858] - libnvdimm/namespace: Fix visibility of namespace resource attribute (Jeff Moyer) [2016347] - PCI: hv: Only reuse existing IRTE allocation for Multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Fix the definition of vector in hv_compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Take a const cpumask in hv_compose_msi_req_get_cpu() (Mohammed Gamal) [2139458] - PCI: hv: Fix synchronization between channel callback and hv_pci_bus_exit() (Mohammed Gamal) [2139458] - PCI: hv: Add validation for untrusted Hyper-V values (Mohammed Gamal) [2139458] - PCI: hv: Fix interrupt mapping for multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Reuse existing IRTE allocation in compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI (Mohammed Gamal) [2139458] - PCI: hv: Fix synchronization between channel callback and hv_compose_msi_msg() (Mohammed Gamal) [2139458] - PCI: hv: Use vmbus_requestor to generate transaction IDs for VMbus hardening (Mohammed Gamal) [2139458] - PCI: hv: Fix multi-MSI to allow more than one MSI vector (Mohammed Gamal) [2139458] - net: mana: Add rmb after checking owner bits (Mohammed Gamal) [2139462] - net: mana: Add support of XDP_REDIRECT action (Mohammed Gamal) [2139462] - net: mana: Add the Linux MANA PF driver (Mohammed Gamal) [2139462] - NFSD: Protect against send buffer overflow in NFSv3 READ (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv2 READ (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv3 READDIR (Scott Mayhew) [2141774] {CVE-2022-43945} - NFSD: Protect against send buffer overflow in NFSv2 READDIR (Scott Mayhew) [2141774] {CVE-2022-43945} - SUNRPC: Fix svcxdr_init_encode's buflen calculation (Scott Mayhew) [2141774] {CVE-2022-43945} - SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation (Scott Mayhew) [2141774] {CVE-2022-43945} - KVM: VMX: fully disable SGX if SECONDARY_EXEC_ENCLS_EXITING unavailable (Emanuele Giuseppe Esposito) [2127128] - cgroup/cpuset: Reduce cpuset_rwsem writer latency (Waiman Long) [2149031] - rcu/exp: Mark current CPU as exp-QS in IPI loop second pass (Waiman Long) [2149031] - rcu: Always inline rcu_dynticks_task*_{enter,exit}() (Waiman Long) [2149031] - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() (Waiman Long) [2149031] - rcu: Fix macro name CONFIG_TASKS_RCU_TRACE (Waiman Long) [2149031] - rcu: Fix stall-warning deadlock due to non-release of rcu_node ->lock (Waiman Long) [2149031] - rcu: Fix to include first blocked task in stall warning (Waiman Long) [2149031] - cgroup: Use cgroup_attach_{lock,unlock}() from cgroup_attach_task_all() (Waiman Long) [2149031] - cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all() (Waiman Long) [2149031] - cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock (Waiman Long) [2149031] - cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree (Waiman Long) [2149031] - cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug (Waiman Long) [2149031] - cgroup: reduce dependency on cgroup_mutex (Waiman Long) [2149031]- drm/i915: fix TLB invalidation for Gen12 video and compute engines (Wander Lairson Costa) [2148150] {CVE-2022-4139} - redhat/configs: Set CONFIG_X86_AMD_PSTATE to 'm' (Prarit Bhargava) [2145246] - bonding: uninitialized variable in bond_miimon_inspect() (Jonathan Toppins) [1973124] - bonding: fix link recovery in mode 2 when updelay is nonzero (Jonathan Toppins) [1973124] - RHEL: ALSA: update configuration (Jaroslav Kysela) [2125544] - RHEL: ALSA: fix compilation issues (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-mtl: fix firmware name (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Correct pin configs for ASUS G533Z (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530 (Jaroslav Kysela) [2125544] - ALSA: ac97: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: ca0106: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Use snd_ctl_rename() to rename a control (Jaroslav Kysela) [2125544] - ALSA: control: add snd_ctl_rename() (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Use only dynamic PCM device allocation (Jaroslav Kysela) [2125544] - regmap: add reg_sequence helpers (Jaroslav Kysela) [2125544] - regmap: fix the kerneldoc for regmap_test_bits() (Jaroslav Kysela) [2125544] - regmap: provide helpers for simple bit operations (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Free the ida when IPC fails in sof_ipc4_widget_setup() (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Handle BCLK set as PLL input configuration (Jaroslav Kysela) [2125544] - ASoC: test-component: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Add support for pll_r coefficient (Jaroslav Kysela) [2125544] - ASoC: ssm4567: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: rk3328: fix disabling mclk on pclk probe failure (Jaroslav Kysela) [2125544] - ASoC: pcm3060: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: cs42l42: remove redundant test (Jaroslav Kysela) [2125544] - ALSA: ppc: beep: fix clang -Wimplicit-fallthrough (Jaroslav Kysela) [2125544] - ASoC: soc-component: Add comment for the endianness flag (Jaroslav Kysela) [2125544] - ASoC: codecs: wsa881x: handle timeouts in resume path (Jaroslav Kysela) [2125544] - ASoC: wsa881x: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: codecs: wsa881x: add runtime pm support (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put() (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Minor clean and redundant code removal (Jaroslav Kysela) [2125544] - ASoC: wm_adsp: Compressed stream DSP memory structs should be __packed (Jaroslav Kysela) [2125544] - ASoC: wm8998: Fix event generation for input mux (Jaroslav Kysela) [2125544] - ASoC: arizona: Fix a wrong free in wm8997_probe (Jaroslav Kysela) [2125544] - ASoC: wm8962: Allow switching between analog and digital inputs (Jaroslav Kysela) [2125544] - ASoC: wm8960: Fix clock configuration on slave mode (Jaroslav Kysela) [2125544] - ASoC: wm8962: Fix suspend while playing music (Jaroslav Kysela) [2125544] - ASoC: codecs: wm8962: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Jaroslav Kysela) [2125544] - ASoC: wm8960: Add ACPI support (Jaroslav Kysela) [2125544] - ASoC: wm8958: Fix change notifications for DSP controls (Jaroslav Kysela) [2125544] - ASoC: wm8940: add devicetree support (Jaroslav Kysela) [2125544] - ASoC: wm*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: wm8903: Fix the error handling of wm8903_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: wm8731: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: arizona: Make the wm5102, wm5110, wm8997 and wm8998 drivers use the new jack library (Jaroslav Kysela) [2125544] - ASoC: wm5102: Fix event generation for output compensation (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Use int array instead of bitmask for TX mixers (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Use DT bindings instead of local DAI definitions (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Fix spurious event generation (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Remove RX channel from old list before adding it to a new one (Jaroslav Kysela) [2125544] - ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV (Jaroslav Kysela) [2125544] - ASoC: wcd9335: remove redundant tests (Jaroslav Kysela) [2125544] - ASoC: uda1380: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: uda1334: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: twl4030: Drop legacy, non DT boot support (Jaroslav Kysela) [2125544] - ASoC: tscs*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: ts3a227e: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tpa6130: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: tlv320dac3x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic33: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: codec: tlv320aic32x4: fix mono playback via I2S (Jaroslav Kysela) [2125544] - ASoC: tlv320aic32x4: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Fix typo in BCLK clock name (Jaroslav Kysela) [2125544] - ASoC: tlv320*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: Rename tlv320aic31xx-micbias.h as tlv320aic31xx.h (Jaroslav Kysela) [2125544] - ASoC: tlv320aic31xx: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic26: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320aic23: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas6424: Return zero in remove callback (Jaroslav Kysela) [2125544] - ASoC: tda7419: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas6424: Fix the error handling of tas6424_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: tas6424: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas5720: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas571x: Fix the error handling of tas571x_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: tas5086: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas2552: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: tas2770: Reinit regcache on reset (Jaroslav Kysela) [2125544] - ASoC: tas2562: Propagate the error in tas2562_dac_event() (Jaroslav Kysela) [2125544] - ASoC: tas2562: Fix mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2764: Drop conflicting set_bias_level power setting (Jaroslav Kysela) [2125544] - ASoC: tas2764: Allow mono streams (Jaroslav Kysela) [2125544] - ASoC: tas2770: Fix handling of mute/unmute (Jaroslav Kysela) [2125544] - ASoC: tas2770: Drop conflicting set_bias_level power setting (Jaroslav Kysela) [2125544] - ASoC: tas2770: Allow mono streams (Jaroslav Kysela) [2125544] - ASoC: tas2770: Set correct FSYNC polarity (Jaroslav Kysela) [2125544] - ASoC: tas2770: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tas*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: tas2552: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sti-sas: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta350: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta350: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: sta*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: sta32x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sta32x: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: ssm2602: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: ssm2518: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: sgtl5000: Fix noise on shutdown/remove (Jaroslav Kysela) [2125544] - ASoC: rt9120: Fix 3byte read, valule offset typo (Jaroslav Kysela) [2125544] - ASoC: rt9120: Use pm_runtime and regcache to optimize 'pwdnn' logic (Jaroslav Kysela) [2125544] - ASoC: codecs: rt715-sdca: remove useless assignment of ops (Jaroslav Kysela) [2125544] - ASoC: rt5682s: Separate the regulator consumer controls (Jaroslav Kysela) [2125544] - ASoC: rt5645: Fix the error handling of rt5645_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the issue of the abnormal JD2 status (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the JD voltage dropping issue (Jaroslav Kysela) [2125544] - ASoC: rt5640: Fix the wrong state of JD1 and JD2 (Jaroslav Kysela) [2125544] - ASoC: rt5640: Add the MICBIAS1 to the dapm routing (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Fix jack detection (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Fix NULL jack in interrupt (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt286: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt274: Set component to NULL on remove (Jaroslav Kysela) [2125544] - ASoC: codecs: rt274: Always init jack_detect_work (Jaroslav Kysela) [2125544] - ASoC: rt1308-sdw: add the default value of register 0xc320 (Jaroslav Kysela) [2125544] - ASoC: rk3328: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: pcm1789: Make pcm1789_common_exit() return void (Jaroslav Kysela) [2125544] - ASoC: pcm186x: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: pcm186x: simplify the return expression of pcm186x_power_off() (Jaroslav Kysela) [2125544] - ASoC: pcm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: nau8825: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8825: Declare 2 channels for DAI of capture stream (Jaroslav Kysela) [2125544] - ASoC: nau8824: Fix semaphore is released unexpectedly (Jaroslav Kysela) [2125544] - ASoC: nau8824: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8824: Fix semaphore unbalance at error paths (Jaroslav Kysela) [2125544] - ASoC: nau8822: Don't reconfigure PLL to the same values (Jaroslav Kysela) [2125544] - ASoC: nau8822: Disable internal PLL if freq_out is zero (Jaroslav Kysela) [2125544] - ASoC: nau8821: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8821: Don't unconditionally free interrupt (Jaroslav Kysela) [2125544] - ASoC: nau8821: add new widget to control system clock (Jaroslav Kysela) [2125544] - ASoC: nau8821: Add headset button detection (Jaroslav Kysela) [2125544] - ASoC: codecs: mt6359-accdet: remove useless initialization (Jaroslav Kysela) [2125544] - ASoC: mediatek: mt6366: support for mt6366 codec (Jaroslav Kysela) [2125544] - ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component (Jaroslav Kysela) [2125544] - ASoC: nau8540: Implement hw constraint for rates (Jaroslav Kysela) [2125544] - ASoC: nau8*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: mt6660: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: mt6359: Fix refcount leak bug (Jaroslav Kysela) [2125544] - ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs (Jaroslav Kysela) [2125544] - ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe (Jaroslav Kysela) [2125544] - ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV (Jaroslav Kysela) [2125544] - ASoC: ml26124: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: max9860: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: max98390: use linux/gpio/consumer.h to fix build (Jaroslav Kysela) [2125544] - ASoC: max98390: Add reset gpio control (Jaroslav Kysela) [2125544] - ASoC: codecs: soundwire: call pm_runtime_resume() in component probe (Jaroslav Kysela) [2125544] - ASoC: max98373: Removing 0x203E from the volatile reg (Jaroslav Kysela) [2125544] - ASoC: max98090: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: max98090: Fix event generation for custom controls (Jaroslav Kysela) [2125544] - ASoC: codecs: max98088: Clean up some inconsistent indenting (Jaroslav Kysela) [2125544] - ASoC: max980*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: lm4857: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: da732x: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: da7219: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: max9*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: lm49xxx: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: es83*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: codes: Add support for ES8316 producer mode (Jaroslav Kysela) [2125544] - ASoC: dmic: Add support for DSD data format (Jaroslav Kysela) [2125544] - ASoC: da[79]*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: da7219: cancel AAD related work earlier for jack removal (Jaroslav Kysela) [2125544] - ASoC: da7219: Fix pole orientation detection on certain headsets (Jaroslav Kysela) [2125544] - ASoC: da7218: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: cx2072x: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: cx2072x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: cs4349: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs42l56: Fix the error handling of cs42l56_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: cs42l51: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs42l42: Only report button state if there was a button interrupt (Jaroslav Kysela) [2125544] - ASoC: cs4270: update kernel-doc (Jaroslav Kysela) [2125544] - ASoC: cs4270: Remove redundant big endian formats (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add support for CLSA3541 ACPI device ID (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Enable Internal Boost in shared lib (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Do not print error when waking from hibernation (Jaroslav Kysela) [2125544] - ASoC: cs35l36: Fix the error handling of cs35l36_i2c_probe() (Jaroslav Kysela) [2125544] - ASoC: cs*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: arizona: Update arizona_aif_cfg_changed to use RX_BCLK_RATE (Jaroslav Kysela) [2125544] - ASoC: alc56*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: ak4613: cares Simple-Audio-Card case for TDM (Jaroslav Kysela) [2125544] - ASoC: ak4613: add TDM256 support (Jaroslav Kysela) [2125544] - ASoC: ak4613: rename constraint to constraint_rates (Jaroslav Kysela) [2125544] - ASoC: ak4613: priv has ctrl1 instead of iface (Jaroslav Kysela) [2125544] - ASoC: ak4613: return error if it was setup as clock provider (Jaroslav Kysela) [2125544] - ASoC: ak4613: tidyup ak4613_interface (Jaroslav Kysela) [2125544] - ASoC: ak4613: add missing mutex_lock() (Jaroslav Kysela) [2125544] - ASoC: ak4642: Drop no-op remove function (Jaroslav Kysela) [2125544] - ASoC: ak*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: ak4*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: adau1761: Add ADAU1761-as-ADAU1361 compatibility mode (Jaroslav Kysela) [2125544] - ASoC: ada*, ssm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: ab8500: Remove some leftover from the "Replace GPLv2 boilerplate/reference with SPDX" rules (Jaroslav Kysela) [2125544] - ASoC: ad1*, ada*, ssm*: use i2c_match_id and simple i2c probe (Jaroslav Kysela) [2125544] - ASoC: test-component: Rename set_fmt_new back to set_fmt (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: rename asoc_simple_init_dai_link_params() to asoc_simple_init_for_codec2codec() (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils.c: care Codec2Codec vs DPCM:BE (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils.c: ignore Codec2Codec setting if it already have (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: Make asoc_simple_clean_reference() return void (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2: indicate "Experimental stage" warning only when successed (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2: Add of_node_put() in fail path (Jaroslav Kysela) [2125544] - ASoc: audio-graph-card2: Fix refcount leak bug in __graph_get_type() (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: remove pre-alloced Codec2Codec space (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: make Codec2Codec settings optional (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2.c: use of_property_read_u32() for rate (Jaroslav Kysela) [2125544] - ASoC: audio_graph_card2: Fix port numbers in example (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card2-custom-sample.dtsi: add verbose explanation (Jaroslav Kysela) [2125544] - ASoC: audio-graph-card: Add of_node_put() in fail path (Jaroslav Kysela) [2125544] - ASoC: test-component: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: use software node API in Atom boards (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_ssp_amp: remove 'set-but-not-used' warning (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: avoid oops in error handling (Jaroslav Kysela) [2125544] - ASoC: Intel: use software node API in SoundWire machines (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: sof_sdw: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: Drop redundant enum constant (Jaroslav Kysela) [2125544] - ASoC: Intel: catpt: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_ssp_amp: enable capture stream from cs35l41 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: allow HDaudio/HDMI disable (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add quirk for HP Omen 16-k0005TX (Jaroslav Kysela) [2125544] - ASoC: intel: sof_sdw: add RT711 SDCA card for MTL platform (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_pcm512x: remove unnecessary init (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_nau8825: Move quirk check to the front in late probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add support for Dell SKU 0AFF (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_sdw: add support for Dell SKU 0AF0 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Perform quirk check first in card late probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Add support for mtl_mx98357_rt5682 (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: fix out-of-bounds array access (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: rename RTL1019 compatible driver to rt1019p (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_nau8825: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_da7219_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ALSA: x86: intel_hdmi_audio: enable pm_runtime and set autosuspend delay (Jaroslav Kysela) [2125544] - ASoC: xtensa: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: xtensa: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: uniphier: make arrays mul and div static const, makes object smaller (Jaroslav Kysela) [2125544] - ASoC: uniphier: simplify the return expression of uniphier_aio_compr_set_params() (Jaroslav Kysela) [2125544] - ASoC: spear: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-topology: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-stream: test DMA buffer first in hw_params (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-stream: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-ipc: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dsp: report error on power-up/down (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: Drop misleading comment regarding dma_data (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: fix sof_es8336 probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: remove hard-coded SSP selection (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: reset the num_links during probe (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: add support for HDMI_In capture (Jaroslav Kysela) [2125544] - ASoC: Intel: common: fix typo for tplg naming (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_rt5682: Add support for adl_rt1019_rt5682s (Jaroslav Kysela) [2125544] - ASoC: Intel: soc-acpi: add table for HP Omen 16-k0005TX (Jaroslav Kysela) [2125544] - ASoC: Intel: soc-acpi: Add entry for sof_es8336 in ADL match table (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset GPIO lines (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_es8336: Fix GPIO quirks set via module option (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_da7219_max98373: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: add adl_mx98360a_cs4242 board config (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: support BT offload audio (Jaroslav Kysela) [2125544] - ASoC: Intel: sof_cs42l42: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: skl_nau88l25_ssm4567: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: skl_nau88l25_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_rt5663_rt5514_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_rt5663_max98927: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: kbl_da7219_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: hda: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: Intel: glk_rt5682_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: cml_rt1011_rt5682: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: Use temporary variable for struct device (Jaroslav Kysela) [2125544] - ASoC: Intel: boards: reset acpi_chan_package (Jaroslav Kysela) [2125544] - ASoC: codecs: rt298: Reorganize jack detect handling (Jaroslav Kysela) [2125544] - ASoC: Intel: bxt_da7219_max98357a: remap jack pins (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Improve hw_params() debug-ability (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Improve probe() function quality (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Update file comments (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Update code indentation (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Reword driver name (Jaroslav Kysela) [2125544] - ASoC: Intel: hsw_rt5640: Reword prefixes of all driver members (Jaroslav Kysela) [2125544] - ASoC: Intel: Rename haswell source file to hsw_rt5640 (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst_ipc: remove redundant test (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Remove FE DAI ops (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve codec_init() quality (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve hw_params() debug-ability (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Improve probe() function quality (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Update file comments (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Update code indentation (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Reword driver name (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt286: Reword prefixes of all driver members (Jaroslav Kysela) [2125544] - ASoC: Intel: Rename broadwell source file to bdw_rt286 (Jaroslav Kysela) [2125544] - ASoC: codecs: rt286: Reorganize jack detect handling (Jaroslav Kysela) [2125544] - ASoC: Intel: broadwell: Make broadwell_disable_jack() return void (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt5677: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: bdw_rt5650: Mark BE DAI as nonatomic (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst_ipc: remove useless initializations (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: sst: remove useless initialization (Jaroslav Kysela) [2125544] - ASoC: intel: atom: Remove superfluous flush_scheduled_work() (Jaroslav Kysela) [2125544] - ASoC: Intel: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: Intel: atom: controls: remove useless initializations (Jaroslav Kysela) [2125544] - ASoC: Intel: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: Intel: skylake: skl-pcm: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: Intel: Skylake: remove redundant re-assignments to pointer array (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: bdw: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: byt: remove duplicating driver data retrieval (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: cnl: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: Do snd_hdac_ext_stream_decouple() only once (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Fix potential buffer overflow by snprintf() (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: only fixup topology name if not set already (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: don't set fw_filename (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: enable dmic handling with 2 or fewer SoundWire links (Jaroslav Kysela) [2125544] - ASoC: soc-core: accept zero format at snd_soc_runtime_set_dai_fmt() (Jaroslav Kysela) [2125544] - ASoC: SOF: compress: Prevent current kernel running with older FW (Jaroslav Kysela) [2125544] - ASoC: SOF: Copy compress parameters into extended data (Jaroslav Kysela) [2125544] - ASoC: SOF: compress: Dynamically allocate pcm params struct (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: atom: don't keep a temporary string in fixup_tplg_name (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add trigger callback into sdw_callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Correct the ROM/FW state reporting code (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: MTL: remove redundant snd_sof_dsp_read() call (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: mtl: Do not process IPC reply before firmware boot (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: mtl: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Introduce skip_imr_boot flag (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: disable IMR boot when resuming from ACPI S4 and S5 states (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: IPC4: enable IMR boot (Jaroslav Kysela) [2125544] - ASoC: SOC: Intel: introduce cl_init callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Do not (wrongly) assume positive return value in IMR path (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Revisit IMR boot sequence (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: Print out the non matching ext_man magic number (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-topology: Fix clang -Wformat warning (Jaroslav Kysela) [2125544] - ASoC: SOF: remove warning on ABI checks (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Fix error code in sof_ipc4_volume_put() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-pcm: set pcm rate to dai setting (Jaroslav Kysela) [2125544] - ASoC: SOF: reduce default verbosity of IPC logs (Jaroslav Kysela) [2125544] - Revert "RedHat: ASoC: SOF: Intel: do not enable IMR boot when resuming by default" (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: fix alh_group_ida max value (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: fix wrong use of sizeof in sof_ipc4_widget_setup_comp_src() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: set domain bit based on dp domain type (Jaroslav Kysela) [2125544] - ASoC: SOF: add ipc4 SRC module support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: move ida allocate/free to widget_setup/free (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: free memories allocated in sof_ipc4_get_audio_fmt (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: check dai->private in ipc_free() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: add SoundWire/ALH aggregation support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ASoC: SOF: Compile and runtime IPC version selection (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Align mt8186 clock names with dt-bindings (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Fix error code in probe (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Revise mt8195 boot flow (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: fix mt8195 StatvectorSel wrong setting (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: use pm_resume_and_get() on component probe (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: fix copy in sof_msg_inject_ipc4_dfs_write() (Jaroslav Kysela) [2125544] - ASoC: sof: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-probes: Only load the driver if IPC3 is used (Jaroslav Kysela) [2125544] - ASoC: SOF: probes: rename assign/free callbacks as startup/shutdown (Jaroslav Kysela) [2125544] - ASoC: SOF: Add cont_update_posn to platform parameters (Jaroslav Kysela) [2125544] - ASoC: SOF: pm: add definitions for S4 and S5 states (Jaroslav Kysela) [2125544] - ASoC: SOF: pm: add explicit behavior for ACPI S1 and S2 (Jaroslav Kysela) [2125544] - ASoC: SOF: debug: Clarify the IPC timeout handling path (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: remove unused variable (Jaroslav Kysela) [2125544] - ASoC: SOF: Switch to IPC generic firmware tracing (Jaroslav Kysela) [2125544] - ALSA: sc6000: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2125544] - ALSA: gus: Fix memory leaks at memory allocator error paths (Jaroslav Kysela) [2125544] - ALSA: sound/isa/gus: check the return value of kstrdup() (Jaroslav Kysela) [2125544] - ALSA: gus: Fix erroneous memory allocation (Jaroslav Kysela) [2125544] - ALSA: galaxy: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2125544] - ALSA: cs4236: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2125544] - ALSA: aloop: Fix random zeros in capture data when using jiffies timer (Jaroslav Kysela) [2125544] - ALSA: Add generic serial MIDI driver using serial bus API (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix potential buffer overflow by snprintf() (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Use lookup table to create modules (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Update AVS_FW_INIT_TIMEOUT_US declaration (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Lower UNLOAD_MULTIPLE_MODULES IPC timeout (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Replace hardcodes with SD_CTL_STREAM_RESET (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Recognize FW_CFG_RESERVED (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Use helper function to set up DMA (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Set max DMA segment size (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Block IPC channel on suspend (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Shield LARGE_CONFIG_GETs against zero payload_size (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Copy only as many RX bytes as necessary (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Relax DSP core transition timings (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Assign I2S gateway when parsing topology (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix i2s_test card name initialization (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: correct config reference for I2S test board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix parsing UUIDs in topology (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add da7219 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add max98373 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add max98357a machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add ssm4567 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add nau8825 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt5682 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt298 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt286 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add rt274 machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add I2S-test machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add DMIC machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Fix build error on arc, m68k and sparc (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: APL-based platforms support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: SKL-based platforms support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Power management (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Machine board registration (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Replace link_mask usage with i2s_link_mask (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Event tracing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: D0ix power state support (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Prepare for firmware tracing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Register HDAudio ext-bus operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add HDAudio machine board (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: PCI driver implementation (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Coredump and recovery flow (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Drop direct ACPI dependency (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Depend on SND_INTEL_DSP_CONFIG (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Enable AVS driver only on x86 platforms (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: HDA PCM BE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: non-HDA PCM BE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Generic PCM FE operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Generic soc component driver (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Account for libraries when booting basefw (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Configure modules according to their type (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Prepare modules before bindings them (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Arm paths after creating them (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Path state management (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Path creation and freeing (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Declare path and its components (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Support link_mask formatted string (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add topology loading operations (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse path and path templates tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse pipeline and module tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse pplcfg and binding tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Parse module-extension tuples (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Add topology parsing infrastructure (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add MeteorLake machines (Jaroslav Kysela) [2125544] - ASoC: Intel: avs: Declare vendor tokens (Jaroslav Kysela) [2125544] - ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON bit (Jaroslav Kysela) [2125544] - uapi: sof: abi: Bump SOF ABI for ext_data_length (Jaroslav Kysela) [2125544] - ASoC: SOF: Add two new structures for topology manifest data (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: introduce cont_update_posn in sof_ipc_stream_params struct (Jaroslav Kysela) [2125544] - ASoC: SOF: bump SOF_ABI_MINOR (Jaroslav Kysela) [2125544] - ASoC: SOF: Add header for IPC4 manifest (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: add code to parse config params for ACPDMIC dai (Jaroslav Kysela) [2125544] - ASoC: SOF: Add topology tokens for IPC4 (Jaroslav Kysela) [2125544] - ASoC: hdac_hda: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: max98504: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: adau1372: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: cx2072x: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6351: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6358: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6359: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: mt6660: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: pcm3060: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt9120: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: wcd9335: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt700: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt715: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt715-sdca: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt1308-sdw: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt1316-sdw: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: wsa881x: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: sdw-mockup: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: lochnagar: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: lochnagar: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: tfa*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tfa9879: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2125544] - ASoC: tlv320*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cs*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wm9090: Remove redundant endianness flag (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor out the I2C and SPI bus code into separate modules (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor our MCLK and mutex initialisation (Jaroslav Kysela) [2125544] - ASoC: wm8731: Move regulator request into wm8731_init() (Jaroslav Kysela) [2125544] - ASoC: wm8731: Factor component init out of bus code (Jaroslav Kysela) [2125544] - ASoC: wm8731: Update to modern DAI terminology (Jaroslav Kysela) [2125544] - ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition() (Jaroslav Kysela) [2125544] - ASoC: wm2000: Remove redundant endianness flag (Jaroslav Kysela) [2125544] - ASoC: wm*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix amp gain register offset & default (Jaroslav Kysela) [2125544] - ASoC: tas2764: Correct playback volume range (Jaroslav Kysela) [2125544] - ASoC: tas2764: Fix and extend FSYNC polarity handling (Jaroslav Kysela) [2125544] - ASoC: tas2764: Add post reset delays (Jaroslav Kysela) [2125544] - ASoC: tas*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tas*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: tas2764: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [2125544] - ASoC: tas*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [2125544] - ASoC: tas2764: Add the driver for the TAS2764 (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix TDM mode BSEL settings (Jaroslav Kysela) [2125544] - ASoC: max*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: max98396: Implement DSP speaker monitor (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix register access for PCM format settings (Jaroslav Kysela) [2125544] - ASoC: max98396: Improve some error prints (Jaroslav Kysela) [2125544] - ASoC: max98396: add voltage regulators (Jaroslav Kysela) [2125544] - ASoC: max98396: Fix build error for implicit function declaration (Jaroslav Kysela) [2125544] - ASoC: max98396: add amplifier driver (Jaroslav Kysela) [2125544] - ASoC: rt*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: rt1019: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: rt*: use simple i2c probe function (Jaroslav Kysela) [2125544] - ASoC: fsl: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: pistachio: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: samsung: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sunxi: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tegra: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: test-component: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: uniphier: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ad*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ak*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: alc*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: da*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: es*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: msm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: nau*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: pcm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: spdif: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ssm*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sta*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: twl*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: uda*: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: 88pm860x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ab8500: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ac97: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ads117x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: bd28623: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: bt-sco: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cpcap: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cq93vc: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: cx20442: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: dmic: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: gtm601: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: hdac_hdmi: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ics43432: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: inno_rk3036: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: isabelle: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: jz4740: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: lm49453: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: mc13783: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: ml26124: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sgtl5000: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: si476x: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: stac9766: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: sti-sas: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: tscs42xx: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: wl1273: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: zl38060: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: fsl_micfil: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: fsl_asrc_dma: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: soc-component: Remove non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local (Jaroslav Kysela) [2125544] - ASoC: soc-component: Add legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: core: Add new SOC_DOUBLE_SX_TLV macro (Jaroslav Kysela) [2125544] - ASoC: Remove unused hw_write_t type (Jaroslav Kysela) [2125544] - ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro (Jaroslav Kysela) [2125544] - ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro (Jaroslav Kysela) [2125544] - ASoC: soc.h: Add SOC_SINGLE_S_TLV() macro (Jaroslav Kysela) [2125544] - ASoC: hdmi-codec: Update to modern DAI terminology (Jaroslav Kysela) [2125544] - ALSA: hda: Skip event processing for unregistered codecs (Jaroslav Kysela) [2125544] - ASoC: codecs: Add HD-Audio codec driver (Jaroslav Kysela) [2125544] - ASoC: cs42l42: Move CS42L42 register descriptions to general include (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Read System Name from ACPI _SUB to identify firmware (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add common cs35l41 enter hibernate function (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41 exit hibernate function into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs_dsp config struct into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41 fs errata into shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Move cs35l41_set_cspl_mbox_cmd to shared code (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2125544] - ASoC: cs35l41: Support external boost (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Add support for MeteorLake (MTL) (Jaroslav Kysela) [2125544] - treewide: Replace zero-length arrays with flexible-array members (Jaroslav Kysela) [2125544] - ASoC: SOF: add definitions for different IPC types (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: enhance debug messages (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: add sdw blob (Jaroslav Kysela) [2125544] - AsoC: SOF: ipc4-topology: Add dai_get_clk op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for SSP/DMIC DAI's (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a new IPC op for parsing topology manifest (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: init NHLT for IPC4 (Jaroslav Kysela) [2125544] - ASoC: SOF: Add ops_free (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: set the BE DAI ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-pcm: Expose sof_ipc4_set_pipeline_state() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add the dai_config op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add route_setup/route_free ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add widget_setup/widget_free ops (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Add pcm ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add control IO ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add control_setup op (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing mixer widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing and preparing pga widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add prepare op for DAI type widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add prepare op for AIF type widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing DAI_IN/DAI_OUT widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4-topology: Add support for parsing AIF_IN/AIF_OUT widgets (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Introduce topology ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Return from dtrace_read if there is no new data available (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Add helper function to update the sdev->host_offset (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Introduce SOF_DTRACE_INITIALIZING state (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: implement pm ctx_save callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Switch to use the generic pm_ops.set_core_state (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: Add set_core_state pm_ops implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: Add initial header file for ipc4 (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Add set_core_state pm_ops implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: sof_ipc_pm_ops: Add support for DSP core power management (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 suspend check dsp idle (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 modify dram type as non-cache (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add shared_size for mediatek common chip information (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: revise mt8195 clock sequence (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Add SOF pm ops callback for Renoir (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Fix reversed if statement (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Propagate write errors correctly (Jaroslav Kysela) [2125544] - ASoC: SOF: Fix potential NULL pointer dereference (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-ipc-flood-test: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: remove duplicate include in mt8195.c (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8195 debug dump (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mediatek common debug dump (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Move dtrace related variables local from sof_dev (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce opaque storage of private data for firmware tracing (Jaroslav Kysela) [2125544] - ASoC: SOF: Modify the host trace_init parameter list to include dmab (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-dtrace: Move host ops wrappers from generic header to private (Jaroslav Kysela) [2125544] - ASoC: SOF: Clone the trace code to ipc3-dtrace as fw_tracing implementation (Jaroslav Kysela) [2125544] - ASoC: SOF: Rename dtrace_is_supported flag to fw_trace_is_supported (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce IPC independent ops for firmware tracing support (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Cap the rmaining to count in IPC4 mode (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 ipc support (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add ipc support for mt8195 (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: HDA: Set up sof_ipc4_fw_data for IPC4 (Jaroslav Kysela) [2125544] - ASoC: SOF: IPC4: Add FW loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add IPC4 private header (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: HDA: Set IPC4-specific DSP ops for CaVS platforms (Jaroslav Kysela) [2125544] - ASoC: SOF: trace: The dtrace is only available with SOF_IPC (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: IPC flood test can only work with SOF_IPC (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Add support for IPC4 messages (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Separate the message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add support IPC4 message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add API to get the ipc_type (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-probes: Query the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc-msg-injector: Query the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client: Add API to get the maximum IPC payload size (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc4: Add support for mandatory message handling functionality (Jaroslav Kysela) [2125544] - ASoC: SOF: Add rx_data pointer to snd_sof_ipc_msg struct (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Remove the ipc3-ops.h header file (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: fix missing pci_release_regions() on error in sof_pci_probe() (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Call optional query_fw_configuration on first boot (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Remove snd_sof_parse_module_memcpy() as it is not used (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: bdw/byt/pci-tng: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: imx: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: renoir: Do not set the load_module ops (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Switch to use the fw_loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add check for fw_loader ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3-loader: Implement firmware parsing and loading (Jaroslav Kysela) [2125544] - ASoC: SOF: Introduce IPC dependent ops for firmware handling, loading (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a prepare op to IPC topology widget ops (Jaroslav Kysela) [2125544] - ASoC: SOF: clarify use of widget complete flag (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Skip parsing DAI link tokens if not needed (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: remove unnecessary function declaration (Jaroslav Kysela) [2125544] - ASoC: SOF: Add two new fields to struct snd_sof_widget (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a route_free op in struct sof_ipc_tplg_ops (Jaroslav Kysela) [2125544] - ASoC: SOF: expose a couple of functions (Jaroslav Kysela) [2125544] - ASoC: SOF: pcm: Move the call to snd_sof_pcm_platform_hw_params() (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: Set up widgets from source to sink (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: reset route status before freeing widget (Jaroslav Kysela) [2125544] - ASoC: SOF: Add a new op to set up volume table (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Fix allyesconfig build error (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 change ipc timeout as 1 second (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-client-ipc-msg-injector: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: debug: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: control: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add DSP system PM callback for mt8186 (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 dsp clock support (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 sof fw loader and dsp ops (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: Add mt8186 hardware support (Jaroslav Kysela) [2125544] - ASoC: SOF: loader: Remove the old fw_ready related code (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: imx: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Do not set fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: Do not check for the fw_ready callback (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Add local implementation for handling fw_ready message (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: protect hw_params against successive calls (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add helper for link DMA cleanups (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: reset dma_data and release stream (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: improve suspend case (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: move code to deal with hda dai/dailink suspend (Jaroslav Kysela) [2125544] - ASOC: SOF: Intel: hda-dai: add hda_dai_hw_free_ipc() helper (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: flag errors on pipeline teardown (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: regroup dai and link DMA operations (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: split link DMA and dai operations (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: use snd_soc_dai_get_widget() helper (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-dai: simplify hda_dai_widget_update() prototype (Jaroslav Kysela) [2125544] - ASOC: SOF: Intel: hda-dai: consistent naming for HDA DAI and HDA link DMA (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Add IPC-specific dai ops for IPC3 (Jaroslav Kysela) [2125544] - ASoC: SOF: remove incorrect clearing of prepared flag (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: simplify NHLT handling (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Check w->sname validity once in sof_connect_dai_widget() (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: remove useless assignment (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-tgl: add RPL-P support (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: pci-tgl: add ADL-PS support (Jaroslav Kysela) [2125544] - ASOC: SOF: pci: add ipc_type override for Intel IPC4 tests (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: don't use the community key on APL Chromebooks (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Use dedicated MBOX for ACP and PSP communication (Jaroslav Kysela) [2125544] - ASoC: SOF: amd: Add psp_mbox_ready() and psp_send_cmd() callback (Jaroslav Kysela) [2125544] - ASoC: SOF: using pm_runtime_resume_and_get to simplify the code (Jaroslav Kysela) [2125544] - ASoC: SOF: Kconfig: Make SND_SOC_SOF_HDA_PROBES tristate (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: add IP identifier (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: expose some codeloader functions (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: Define rom_status_reg in sof_intel_dsp_desc (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: define check_ipc_irq op (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: use BIT() macros for consistency (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: move HDA_CL_STREAM_FORMAT definition to header (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda: use common ops across platforms (Jaroslav Kysela) [2125544] - ASoC: SOF: remove const qualifier for 'struct snd_sof_dsp_ops' (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: preserve topology filename override in nocodec mode (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: add parameter to override topology filename (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-pci-dev: add parameter to override firmware filename (Jaroslav Kysela) [2125544] - ASoC: SOF: add IPC-dependent file names (Jaroslav Kysela) [2125544] - ASoC: SOF: add default IPC capability and file paths (Jaroslav Kysela) [2125544] - ASoC: SOF: add path indirection to each IPC type (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: Check the bar size before remapping (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Move the ipc_set_get_comp_data() local to ipc3-control (Jaroslav Kysela) [2125544] - ASoC: SOF: sof-audio: Use the widget_kcontrol_setup ops for kcontrol set up (Jaroslav Kysela) [2125544] - ASoC: SOF: Add widget_kcontrol_setup control ops for IPC3 (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Switch over to use the rx_msg ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Switch over to use the tx_msg and set_get_data ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use the get_reply ops in snd_sof_ipc_get_reply() (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add check for mandatory IPC message handling ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Separate the ops checks by functions/topics (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement rx_msg IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the get_reply IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the set_get_data IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Use sof_ipc3_tx_msg() internally for message sending (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc3: Implement the tx_msg IPC ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add high level IPC IO callback definitions to ipc_ops (Jaroslav Kysela) [2125544] - ASoC: SOF: Add helper function to prepare and send an IPC message (Jaroslav Kysela) [2125544] - ASoC: SOF: mediatek: mt8195 add shutdown callback (Jaroslav Kysela) [2125544] - ASoC: SOF: OF: Add shutdown callback for SOF OF device (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: Avoid open coded arithmetic in memory allocation (Jaroslav Kysela) [2125544] - ASoC: SOF: topology: use new sound control LED layer (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove redundant return statements (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove header from struct snd_sof_ipc_msg (Jaroslav Kysela) [2125544] - ASoC: SOF: Drop 'header' parameter from tx_message() API (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use msg->reply_data directly in snd_sof_ipc_get_reply() (Jaroslav Kysela) [2125544] - ASoC: SOF: disable dma trace in s0ix (Jaroslav Kysela) [2125544] - ASoC: SOF: extend the interface to stop DMA trace (Jaroslav Kysela) [2125544] - ASoC: SOF: Drop support for mapped control data (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Use ipc->max_payload_size for message/reply size checking (Jaroslav Kysela) [2125544] - ASoC: SOF: ipc: Add max_payload_size field in struct snd_sof_ipc (Jaroslav Kysela) [2125544] - ASoC: SOF: Remove dmab and dmab_bdl from snd_sof_dev struct (Jaroslav Kysela) [2125544] - ASoC: SOF: Intel: hda-loader: Use local snd_dma_buffer (Jaroslav Kysela) [2125544] - ASoC: amd: acp: add missing platform_device_unregister() in acp_pci_probe() (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Fix initialization of ext_intr_stat1 in i2s_irq_handler() (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Use non-legacy DAI naming for cs35l41 (Jaroslav Kysela) [2125544] - ASoC: amd: enable RPL Platform acp drivers build (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform pci driver pm-ops (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform init/de-init functions (Jaroslav Kysela) [2125544] - ASoC: amd: add ACP PCI driver for RPL platform (Jaroslav Kysela) [2125544] - ASoC: amd: add RPL Platform acp header file (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add error handling cases (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Modify const resource struct variable to generic (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Drop superfluous mmap callback (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Modify local variables name to generic (Jaroslav Kysela) [2125544] - ASoC: amd: yc: Decrease level of error message (Jaroslav Kysela) [2125544] - ASoC: amd: yc: add new YC platform varaint support (Jaroslav Kysela) [2125544] - ASoC: amd: fix Jadeite kconfig warning and build errors (Jaroslav Kysela) [2125544] - ASoC: amd: Fix error pointer dereference (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add legacy audio driver support for Rembrandt platform (Jaroslav Kysela) [2125544] - ASoC: amd: acp: ACP code generic to support newer platforms (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Remove rt1019_1 codec conf from machine driver (Jaroslav Kysela) [2125544] - ASoC: amd: Remove duplicated include in acp-es8336.c (Jaroslav Kysela) [2125544] - ASoC: amd: fix for variable set but not used warning (Jaroslav Kysela) [2125544] - ASoC: amd: drop machine driver remove function (Jaroslav Kysela) [2125544] - ASoC: amd: remove unused header file inclusion (Jaroslav Kysela) [2125544] - ASoC: amd: acp-es8336: use static variables (Jaroslav Kysela) [2125544] - ASoC: amd: fix ACPI dependency compile errors and warnings (Jaroslav Kysela) [2125544] - ASoC: amd: enable machine driver build for Jadeite platform (Jaroslav Kysela) [2125544] - ASoC: amd: add Machine driver for Jadeite platform (Jaroslav Kysela) [2125544] - ASoC: amd: add I2S MICSP instance support (Jaroslav Kysela) [2125544] - ASoC: amd: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Fix error handling in .remove() (Jaroslav Kysela) [2125544] - ASoC: amd: acp: fix typo in comment (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add support for rt5682s and rt1019 card with hs instance (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add support for nau8825 and max98360 card (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Rename set_fmt_new back to set_fmt (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Update to use set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver. (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver (Jaroslav Kysela) [2125544] - ASoC: amd: vangogh: Remove duplicate include files (Jaroslav Kysela) [2125544] - ASoC: amd: acp: Add pm ops callback in machine driver (Jaroslav Kysela) [2125544] - ASoC: soc-utils: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: topology: Drop superfluous check of CONFIG_SND_CTL_VALIDATION (Jaroslav Kysela) [2125544] - ASoC: topology: Rename soc_tplg_init_kcontrol() function (Jaroslav Kysela) [2125544] - ASoC: topology: Correct error message (Jaroslav Kysela) [2125544] - ASoC: topology: Rename SOC_TPLG_PASS_MIXER to _CONTROL (Jaroslav Kysela) [2125544] - ASoC: topology: Return bool instead of int (Jaroslav Kysela) [2125544] - ASoC: topology: Remove unnecessary looping (Jaroslav Kysela) [2125544] - ASoC: topology: Use for loop instead of while (Jaroslav Kysela) [2125544] - ASoC: topology: KUnit: Remove now redundant non_legacy_dai_naming flag (Jaroslav Kysela) [2125544] - ASoC: topology: KUnit: Followup prototype change of snd_soc_unregister_card() (Jaroslav Kysela) [2125544] - ASoC: DPCM: Don't pick up BE without substream (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: demote warnings on non-atomic BE connection (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: fix BE transition for TRIGGER_START (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: improve BE transition for TRIGGER_START (Jaroslav Kysela) [2125544] - ASoC: soc-pcm: improve BE transition for PAUSE_RELEASE (Jaroslav Kysela) [2125544] - ASoC: ops: Fix integer detection for when max possible values > 1 (Jaroslav Kysela) [2125544] - ASoC: ops: Fix boolean/integer detection for simple controls (Jaroslav Kysela) [2125544] - ASoC: ops: Don't modify the driver's plaform_max when reading state (Jaroslav Kysela) [2125544] - ASoC: ops: Remove unneeded delay.h inclusion (Jaroslav Kysela) [2125544] - ASoC: ops: Clarify snd_soc_info_volsw_sx() (Jaroslav Kysela) [2125544] - ASoC: soc-generic-dmaengine-pcm: Use default config when none is given (Jaroslav Kysela) [2125544] - ASoC: dapm: Move stereo autodisable check (Jaroslav Kysela) [2125544] - ASoC: soc-dai: Remove set_fmt_new callback (Jaroslav Kysela) [2125544] - ASoC: soc-core.c: share code for snd_soc_of_get_dai_link_cpus/codecs() (Jaroslav Kysela) [2125544] - ASoC: soc-core.c: fixup snd_soc_of_get_dai_link_cpus() (Jaroslav Kysela) [2125544] - ASoC: core: Switch core to new DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: core: Make snd_soc_unregister_card() return void (Jaroslav Kysela) [2125544] - ASoC: core: Always send the CPU DAI a direct clock specifier (Jaroslav Kysela) [2125544] - ASoC: core: Add set_fmt_new callback that directly specifies provider (Jaroslav Kysela) [2125544] - ASoC: core: Pass legacy_dai_naming flag directly (Jaroslav Kysela) [2125544] - ASoC: core: Correct spelling fliped -> flipped (Jaroslav Kysela) [2125544] - ASoC: soc-core: remove always-false path (Jaroslav Kysela) [2125544] - ASoC: Introduce snd_soc_of_get_dai_link_cpus (Jaroslav Kysela) [2125544] - ASoC: soc-component: Update handling to component delays (Jaroslav Kysela) [2125544] - ASoC: Introduce 'fixup_controls' card method (Jaroslav Kysela) [2125544] - ASoC: soc-card: Create jack kcontrol without pins (Jaroslav Kysela) [2125544] - ALSA: Replace acpi_bus_get_device() (Jaroslav Kysela) [2125544] - Revert "ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations" (Jaroslav Kysela) [2125544] - ALSA: hda: beep: Simplify keep-power-at-enable behavior (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Don't skip notification handling during PM operation (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Limit the maximal count of PCM devices to 8 (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: ELD procfs - print the codec NIDs (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Simplify the pcm_idx condition in hdmi_pcm_setup_pin() (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Fix the converter allocation for the silent stream (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: change type for the 'assigned' variable (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: Move structs out of #define block (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add a quirk for HP OMEN 16 (8902) mute LED (Jaroslav Kysela) [2125544] - ALSA: hda/hdmi: Fix the converter reuse for the silent stream (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for ASUS GA503R laptop (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Re-arrange quirk table entries (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop (Jaroslav Kysela) [2125544] - ALSA: hda: Fix Nvidia dp infoframe (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: set depop delay for tegra (Jaroslav Kysela) [2125544] - ALSA: hda: add Intel 5 Series / 3400 PCI DID (Jaroslav Kysela) [2125544] - ALSA: hda: Fix hang at HD-audio codec unbinding due to refcount saturation (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc() (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: Align BDL entry to 4KB boundary (Jaroslav Kysela) [2125544] - ALSA: hda/sigmatel: Fix unused variable warning for beep power change (Jaroslav Kysela) [2125544] - ALSA: hda/sigmatel: Keep power up while beep is enabled (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298 (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support new Dolphin Variants (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Lenovo Yoga7 14IAL7 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Clarify support for CSC3551 without _DSD Properties (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirks for ASUS Zenbooks using CS35L41 (Jaroslav Kysela) [2125544] - ALSA: hda: Fix crash due to jack poll in suspend (Jaroslav Kysela) [2125544] - ALSA: hda/cirrus - support for iMac 12,1 model (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add a quirk for HP OMEN 15 (8786) mute LED (Jaroslav Kysela) [2125544] - ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model (Jaroslav Kysela) [2125544] - ALSA: ice1712: remove redundant assignment to new (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for another Asus K42JZ model (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Clevo NV45PZ (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Add quirk for Lenovo Yoga9 14IAP7 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support CLSA0101 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Use the CS35L41 HDA internal define (Jaroslav Kysela) [2125544] - ALSA: hda/realtek: Enable speaker and mute LEDs for HP laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix build error unused-function (Jaroslav Kysela) [2125544] - ALSA: asihpi: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: asihpi: Fix typo in comments (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Fix typo in comments (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add module parameter to control firmware load (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Firmware switching and reloading (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add defaulted values into dsp bypass config sequence (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add fw id strings (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Read Speaker Calibration data from UEFI variables (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Hibernation during Suspend (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support Speaker ID for laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support multiple load paths for firmware (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Support reading subsystem id from ACPI (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add initial DSP support and firmware loading (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Save codec object inside component struct (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add apis to write the controls directly (Jaroslav Kysela) [2125544] - ALSA: hda: hda_cs_dsp_ctl: Add Library to support CS_DSP ALSA controls (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Consolidate selections under SND_HDA_SCODEC_CS35L41 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Drop wrong use of ACPI_PTR() (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Don't dereference fwnode handle (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Improve dev_err_probe() messaging (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix comments wrt serial-multi-instantiate reference (Jaroslav Kysela) [2125544] - ALSA: hda: Fix put_device() inconsistency in error path (Jaroslav Kysela) [2125544] - ALSA: hda: Make device usage_count consistent across subsequent probing (Jaroslav Kysela) [2125544] - ALSA: hda: Fix null-ptr-deref when i915 fails and hdmi is denylisted (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: change cs8409_fixups v.pins initializers to static (Jaroslav Kysela) [2125544] - ASoC: doc: Update dead links (Jaroslav Kysela) [2125544] - ALSA: hda/via: Delete does not require return (Jaroslav Kysela) [2125544] - ALSA: ctxfi: fix typo in comment (Jaroslav Kysela) [2125544] - ALSA: cs5535audio: fix typo in comment (Jaroslav Kysela) [2125544] - ALSA: lola: Bounds check loop iterator against streams array size (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Amp Name based on channel and index (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Enable GPIO2 Interrupt for CLSA0100 laptops (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Support for Interrupts (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Remove Set Channel Map api from binding (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Set Speaker Position for CLSA0100 Laptop (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix error in spi cs35l41 hda driver name (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Add Speaker Playback Switch for Warlock (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Add Speaker Playback Switch for Cyborg (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support new Odin Variants (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Support manual mode detection for CS42L42 (Jaroslav Kysela) [2125544] - ALSA: hda/cs8409: Use general cs42l42 include in cs8409 hda driver (Jaroslav Kysela) [2125544] - ALSA: hdsp: remove redundant assignment to pointer kctl (Jaroslav Kysela) [2125544] - ALSA: hda/conexant: add a new hda codec SN6140 (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Move external boost handling to lib for ASoC use (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Handle all external boost setups the same way (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Reorganize log for playback actions (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Remove cs35l41_hda_reg_sequence struct (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Move boost config to initialization code (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Mute the device before shutdown (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Put the device into safe mode for external boost (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Add Boost type flag (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Always configure the DAI (Jaroslav Kysela) [2125544] - ALSA: hda: cs35l41: Fix I2S params comments (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Move cs35l41_gpio_config to shared lib (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Check hw_config before using it (Jaroslav Kysela) [2125544] - ALSA: cs35l41: Unify hardware configuration (Jaroslav Kysela) [2125544] - ALSA: hda/tegra: Enable Jack poll for tegra (Jaroslav Kysela) [2125544] - ALSA: hda: Jack detection poll in suspend state (Jaroslav Kysela) [2125544] - ALSA: echoaudio: remove redundant assignment to variable i (Jaroslav Kysela) [2125544] - ALSA: emu10k1: Stop using iommu_present() (Jaroslav Kysela) [2125544] - ALSA: hda: intel-dsp-config: add missing RaptorLake PCI IDs (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array (Jaroslav Kysela) [2125544] - ALSA: hda: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: hda: Remove unused macro definition (Jaroslav Kysela) [2125544] - ALSA: hda: Reset all SIE bits in INTCTL (Jaroslav Kysela) [2125544] - tracing: ALSA: hda: Remove string manipulation out of the fast path (Jaroslav Kysela) [2125544] - ALSA: hda: intel-nhlt: remove use of __func__ in dev_dbg (Jaroslav Kysela) [2125544] - ALSA: hda: intel-dspcfg: use SOF for UpExtreme and UpExtreme11 boards (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Properly refcounting clock rate (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Clear fixed clock rate at closing EP (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Fix an out-of-bounds bug in __snd_usb_parse_audio_interface() (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Register card again for iface over delayed_register option (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Inform the delayed registration more properly (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add quirk for LH Labs Geek Out HD Audio 1V5 (Jaroslav Kysela) [2125544] - ALSA: usb-audio: make read-only array marker static const (Jaroslav Kysela) [2125544] - ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II (Jaroslav Kysela) [2125544] - ALSA: scarlett2: Add Focusrite Clarett+ 8Pre support (Jaroslav Kysela) [2125544] - ALSA: line6: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: hiface: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: usb/6fire: fix repeated words in comments (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add quirk for Behringer UMC202HD (Jaroslav Kysela) [2125544] - ALSA: bcd2000: Fix a UAF bug on the error path of probing (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Use atomic_try_cmpxchg in ep_state_update (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add endianness annotations (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Turn off 'manual mode' on Dell dock (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Support jack detection on Dell dock (Jaroslav Kysela) [2125544] - ALSA: usb-audio: US16x08: Move overflow check before array access (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Cancel pending work at closing a MIDI substream (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Add mixer mapping for Gigabyte B450/550 Mobos (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Fix wrong kfree issue in snd_usb_endpoint_free_all (Jaroslav Kysela) [2125544] - ALSA: usb-audio: Refcount multiple accesses on the single clock (Jaroslav Kysela) [2125544] - mfd: arizona-spi: Add Android board ACPI table handling (Jaroslav Kysela) [2125544] - mfd: arizona-spi: Split Windows ACPI init code into its own function (Jaroslav Kysela) [2125544] - mfd: arizona: Add missing statics to the of_match_tables (Jaroslav Kysela) [2125544] - firmware: cs_dsp: Add memory chunk helpers (Jaroslav Kysela) [2125544] - firmware: cs_dsp: Add pre_stop callback (Jaroslav Kysela) [2125544] - regmap: sdw: add required header files (Jaroslav Kysela) [2125544] - regmap: soundwire: remove unused header mod_devicetable.h (Jaroslav Kysela) [2125544] - regmap: Constify static regmap_bus structs (Jaroslav Kysela) [2125544] - soundwire: peripheral: remove useless ops pointer (Jaroslav Kysela) [2125544] - soundwire: intel: use pm_runtime_resume() on component probe (Jaroslav Kysela) [2125544] - soundwire: qcom: fix device status array range (Jaroslav Kysela) [2125544] - soundwire: qcom: remove duplicate reset control get (Jaroslav Kysela) [2125544] - soundwire: Intel: add trigger callback (Jaroslav Kysela) [2125544] - soundwire: qcom: Enable software clock gating requirement flag (Jaroslav Kysela) [2125544] - soundwire: qcom: Check device status before reading devid (Jaroslav Kysela) [2125544] - soundwire: qcom: Add flag for software clock gating check (Jaroslav Kysela) [2125544] - soundwire: revisit driver bind/unbind and callbacks (Jaroslav Kysela) [2125544] - soundwire: bus_type: fix remove and shutdown support (Jaroslav Kysela) [2125544] - soundwire: intel: Migrate to new style legacy DAI naming flag (Jaroslav Kysela) [2125544] - ASoC: qcom: soundwire: Add support for controlling audio CGCR from HLOS (Jaroslav Kysela) [2125544] - soundwire: qcom: adjust autoenumeration timeout (Jaroslav Kysela) [2125544] - soundwire: qcom: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: intel: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: cadence: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: bus: use pm_runtime_resume_and_get() (Jaroslav Kysela) [2125544] - soundwire: qcom: return error when pm_runtime_get_sync fails (Jaroslav Kysela) [2125544] - soundwire: bus: pm_runtime_request_resume on peripheral attachment (Jaroslav Kysela) [2125544] - soundwire: intel: disable WAKEEN in pm_runtime resume (Jaroslav Kysela) [2125544] - soundwire: cadence: recheck device0 attachment after status change (Jaroslav Kysela) [2125544] - soundwire: qcom: Add compatible name for v1.6.0 (Jaroslav Kysela) [2125544] - soundwire: stream: Fix error return code in do_bank_switch() (Jaroslav Kysela) [2125544] - soundwire: qcom: fix an error message in swrm_wait_for_frame_gen_enabled() (Jaroslav Kysela) [2125544] - soundwire: qcom: use __maybe_unused for swrm_runtime_resume() (Jaroslav Kysela) [2125544] - soundwire: qcom: constify static struct qcom_swrm_data global variables (Jaroslav Kysela) [2125544] - soundwire: qcom: add in-band wake up interrupt support (Jaroslav Kysela) [2125544] - soundwire: qcom: add runtime pm support (Jaroslav Kysela) [2125544] - soundwire: Replace acpi_bus_get_device() (Jaroslav Kysela) [2125544] - ALSA: Add snd_pcm_direction_name() helper (Jaroslav Kysela) [2125544] - ALSA: core: Fix double-free at snd_card_new() (Jaroslav Kysela) [2125544] - ALSA: hda: Once again fix regression of page allocations with IOMMU (Jaroslav Kysela) [2125544] - ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC (Jaroslav Kysela) [2125544] - ALSA: control: Re-order bounds checking in get_ctl_id_hash() (Jaroslav Kysela) [2125544] - ALSA: control: Fix an out-of-bounds bug in get_ctl_id_hash() (Jaroslav Kysela) [2125544] - ALSA: seq: Fix data-race at module auto-loading (Jaroslav Kysela) [2125544] - ALSA: seq: oss: Fix data-race for max_midi_devs access (Jaroslav Kysela) [2125544] - ALSA: memalloc: Revive x86-specific WC page allocations again (Jaroslav Kysela) [2125544] - ALSA: info: Fix llseek return value when using callback (Jaroslav Kysela) [2125544] - ALSA: pcm: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: core: Replace scnprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: control-led: Replace sprintf() with sysfs_emit() (Jaroslav Kysela) [2125544] - ALSA: control: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: pcm: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: timer: Use deferred fasync helper (Jaroslav Kysela) [2125544] - ALSA: core: Add async signal helpers (Jaroslav Kysela) [2125544] - ALSA: core: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: memalloc: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: control: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: compress: Fix kernel doc warnings (Jaroslav Kysela) [2125544] - ALSA: dmaengine: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: pcm: Fix missing return value comments for kernel docs (Jaroslav Kysela) [2125544] - ALSA: compress: Enable kernel doc markers for some functions (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Take buffer refcount while draining output (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Check stream state at exported functions (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Take open_mutex around parameter changes (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Move lock to snd_rawmidi_substream (Jaroslav Kysela) [2125544] - ALSA: rawmidi: Make internal functions local static (Jaroslav Kysela) [2125544] - ALSA: control: Add input validation (Jaroslav Kysela) [2125544] - ALSA: control: Drop superfluous ifdef CONFIG_SND_CTL_DEBUG (Jaroslav Kysela) [2125544] - ALSA: control: Rename CONFIG_SND_CTL_VALIDATION to CONFIG_SND_CTL_DEBUG (Jaroslav Kysela) [2125544] - ALSA: control: Use xarray for faster lookups (Jaroslav Kysela) [2125544] - ALSA: seq: replace ternary operator with max() (Jaroslav Kysela) [2125544] - ALSA: pcm: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2125544] - pinctrl: amd: Don't save/restore interrupt status and wake status bits (Prarit Bhargava) [2130059] - x86/paravirt: Add a dummy __x86_paravirt_patch_template() function (Waiman Long) [2144161] - x86/paravirt: Fix kABI breakage in struct pv_mmu_ops (Waiman Long) [2144161]- can: af_can: fix NULL pointer dereference in can_rx_register() (Ivan Vecera) [2136823] - net: disable preemption in dev_core_stats_XXX_inc() helpers (Ivan Vecera) [2136823] - net: introduce CAN specific pointer in the struct net_device (Ivan Vecera) [2136823] - can: af_can: can_pernet_exit(): no need to iterate over and cleanup registered CAN devices (Ivan Vecera) [2136823] - net: add per-cpu storage and net->core_stats (Ivan Vecera) [2136823] - tun: switch to net core provided statistics counters (Ivan Vecera) [2136823] - tun: switch to u64_stats_t (Ivan Vecera) [2136823] - ceph: avoid putting the realm twice when decoding snaps fails (Xiubo Li) [2139881] - powerpc/64/kdump: Limit kdump base to 512MB (Mamatha Inamdar) [2132921] - ice: virtchnl rss hena support (Petr Oros) [2136516] - Documentation/admin-guide: Document nomodeset kernel parameter (Jocelyn Falempe) [2143952] - drm: Move nomodeset kernel parameter to the DRM subsystem (Jocelyn Falempe) [2143952] - usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - sound: usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - usb: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - net: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - media: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - Input: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - HID: usbhid: remove third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - usb: deprecate the third argument of usb_maxpacket() (Íñigo Huguet) [2143362] - scsi: smartpqi: Change version to 2.1.20-035 (Don Brace) [2116976] - scsi: smartpqi: Initialize feature section info (Don Brace) [2116976] - scsi: smartpqi: Add controller cache flush during rmmod (Don Brace) [2116976] - scsi: smartpqi: Correct device removal for multi-actuator devices (Don Brace) [2116976] - scsi: smartpqi: Change sysfs raid_level attribute to N/A for controllers (Don Brace) [2116976] - scsi: smartpqi: Correct max LUN number (Don Brace) [2116976] - scsi: smartpqi: Add new controller PCI IDs (Don Brace) [2116976] - scsi: smartpqi: Convert to host_tagset (Don Brace) [2116976] - scsi: smartpqi: Stop using the SCSI pointer (Don Brace) [2116976] - smartpqi: Change request pointer to scsi_cmd_to_rq (Don Brace) [2116976] - scsi: smartpqi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Don Brace) [2116976] - EDAC/skx_common: Make output format similar (Aristeu Rozanski) [2124915] - EDAC/skx_common: Use driver decoder first (Aristeu Rozanski) [2124915] - ptp: introduce helpers to adjust by scaled parts per million (Izabela Bakollari) [2141639] - ptp: add missing documentation for parameters (Izabela Bakollari) [2141639] - mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context. (Nico Pache) [2144559] - scsi: target: loop: Fix handling of aborted TMRs (Maurizio Lombardi) [2141713] - ceph: fix NULL pointer dereference for req->r_session (Xiubo Li) [2137955] - ceph: Use kcalloc for allocating multiple elements (Xiubo Li) [2137955] - net/mlx5e: TC, Reject forwarding from internal port to internal port (Mohammad Kabat) [2131345] - md/raid1: stop mdx_raid1 thread when raid1 array run failed (Nigel Croxon) [2143270] - md: fix a crash in mempool_free (Nigel Croxon) [2143257] - md/raid0, raid10: Don't set discard sectors for request queue (Nigel Croxon) [2143250] - sgx: use ->f_mapping... (Vladis Dronov) [2130210] - x86/sgx: Improve comments for sgx_encl_lookup/alloc_backing() (Vladis Dronov) [2130210] - x86/sgx: Handle VA page allocation failure for EAUG on PF. (Vladis Dronov) [2130210] - x86/sgx: Do not fail on incomplete sanitization on premature stop of ksgxd (Vladis Dronov) [2130210] - selftests/sgx: Ignore OpenSSL 3.0 deprecated functions warning (Vladis Dronov) [2130210] - x86/sgx: Set active memcg prior to shmem allocation (Vladis Dronov) [2130210] - x86/sgx: Drop 'page_index' from sgx_backing (Vladis Dronov) [2130210] - selftests/sgx: Page removal stress test (Vladis Dronov) [2130210] - selftests/sgx: Test reclaiming of untouched page (Vladis Dronov) [2130210] - selftests/sgx: Test invalid access to removed enclave page (Vladis Dronov) [2130210] - selftests/sgx: Test faulty enclave behavior (Vladis Dronov) [2130210] - selftests/sgx: Test complete changing of page type flow (Vladis Dronov) [2130210] - selftests/sgx: Introduce TCS initialization enclave operation (Vladis Dronov) [2130210] - selftests/sgx: Introduce dynamic entry point (Vladis Dronov) [2130210] - selftests/sgx: Test two different SGX2 EAUG flows (Vladis Dronov) [2130210] - selftests/sgx: Add test for TCS page permission changes (Vladis Dronov) [2130210] - selftests/sgx: Add test for EPCM permission changes (Vladis Dronov) [2130210] - Documentation/x86: Introduce enclave runtime management section (Vladis Dronov) [2130210] - x86/sgx: Free up EPC pages directly to support large page ranges (Vladis Dronov) [2130210] - x86/sgx: Support complete page removal (Vladis Dronov) [2130210] - x86/sgx: Support modifying SGX page type (Vladis Dronov) [2130210] - x86/sgx: Tighten accessible memory range after enclave initialization (Vladis Dronov) [2130210] - x86/sgx: Support adding of pages to an initialized enclave (Vladis Dronov) [2130210] - x86/sgx: Support restricting of enclave page permissions (Vladis Dronov) [2130210] - x86/sgx: Support VA page allocation without reclaiming (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_page_alloc() (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_{grow,shrink}() (Vladis Dronov) [2130210] - x86/sgx: Keep record of SGX page type (Vladis Dronov) [2130210] - x86/sgx: Create utility to validate user provided offset and length (Vladis Dronov) [2130210] - x86/sgx: Make sgx_ipi_cb() available internally (Vladis Dronov) [2130210] - x86/sgx: Move PTE zap code to new sgx_zap_enclave_ptes() (Vladis Dronov) [2130210] - x86/sgx: Rename sgx_encl_ewb_cpumask() as sgx_encl_cpumask() (Vladis Dronov) [2130210] - x86/sgx: Export sgx_encl_ewb_cpumask() (Vladis Dronov) [2130210] - x86/sgx: Support loading enclave page without VMA permissions check (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EAUG function (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EMODT function (Vladis Dronov) [2130210] - x86/sgx: Add wrapper for SGX2 EMODPR function (Vladis Dronov) [2130210] - x86/sgx: Add short descriptions to ENCLS wrappers (Vladis Dronov) [2130210] - x86/sgx: Ensure no data in PCMD page after truncate (Vladis Dronov) [2130210] - x86/sgx: Fix race between reclaimer and page fault handler (Vladis Dronov) [2130210] - x86/sgx: Obtain backing storage page with enclave mutex held (Vladis Dronov) [2130210] - x86/sgx: Mark PCMD page as dirty when modifying contents (Vladis Dronov) [2130210] - x86/sgx: Disconnect backing page references from dirty status (Vladis Dronov) [2130210] - HID: intel-ish-hid: ipc: Add Meteor Lake PCI device ID (Tony Camuso) [2132441] - hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message (Tony Camuso) [2132441] - HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo (Tony Camuso) [2132441] - ID: intel-ish-hid: hid-client: drop unexpected word "the" in the comments (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: use time_before to replace "jiffies < a" (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: add ADL and RPL device id (Tony Camuso) [2132441] - HID: intel-ish-hid: Use dma_alloc_coherent for firmware update (Tony Camuso) [2132441] - HID: intel-ish-hid: ishtp-fw-loader: Fix a kernel-doc formatting issue (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: Specify no cache snooping on TGL and ADL (Tony Camuso) [2132441] - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested (Tony Camuso) [2132441] - HID: intel-ish-hid: fix module device-id handling (Tony Camuso) [2132441] - HID: intel-ish-hid: hid-client: only load for matching devices (Tony Camuso) [2132441] - HID: intel-ish-hid: fw-loader: only load for matching devices (Tony Camuso) [2132441] - HID: intel-ish-hid: use constants for modaliases (Tony Camuso) [2132441] - s390/pci: add missing EX_TABLE entries to __pcistg_mio_inuser()/__pcilg_mio_inuser() (Tobias Huschle) [2141963] - s390/futex: add missing EX_TABLE entry to __futex_atomic_op() (Tobias Huschle) [2141963] - s390/uaccess: add missing EX_TABLE entries to __clear_user() (Tobias Huschle) [2141963] - net: usb: ax88179_178a: Fix packet receiving (Jose Ignacio Tornos Martinez) [2142725] {CVE-2022-2964} - net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup (Jose Ignacio Tornos Martinez) [2142725] {CVE-2022-2964} - drm/i915/rpl-p: Add PCI IDs (Jocelyn Falempe) [2115880] - Revert "dma-buf: remove useless FMODE_LSEEK flag" (Jocelyn Falempe) [2115880] - drm/amd/display: Increase stack frame size limit for a few files. (Jocelyn Falempe) [2115880] - drm_crtc.h is missing include/linux/slab.h (Jocelyn Falempe) [2115880] - drm/amd/display: remove a duplicated declaration (Jocelyn Falempe) [2115880] - Revert "mm: shrinkers: provide shrinkers with names" (Jocelyn Falempe) [2115880] - Revert "drm/amdkfd: add SPM support for SVM" (Jocelyn Falempe) [2115880] - Merge DRM changes from upstream v5.19..v6.0 (Jocelyn Falempe) [2115880] - drm/i915/gvt: IMPORT_MODULE_NS workaround (Jocelyn Falempe) [2115880] - Replace EXPORT_SYMBOL_NS_GPL with EXPORT_SYMBOL_GPL (Jocelyn Falempe) [2115880] - Revert "vfio/gvt: Fix open/close when multiple device FDs are open" (Michel Dänzer) [2115880] - Revert "vfio/mdev: Pass in a struct vfio_device * to vfio_dma_rw()" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: convert to use vfio_register_emulated_iommu_dev" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: merge gvt.c into kvmgvt.c" (Jocelyn Falempe) [2115880] - Revert "vfio/mdev: Remove mdev_parent_ops" (Jocelyn Falempe) [2115880] - Revert "vfio: Make vfio_(un)register_notifier accept a vfio_device" (Jocelyn Falempe) [2115880] - Revert "drm/i915/gvt: Change from vfio_group_(un)pin_pages to vfio_(un)pin_pages" (Jocelyn Falempe) [2115880] - Revert "vfio: remove VFIO_GROUP_NOTIFY_SET_KVM" (Jocelyn Falempe) [2115880] - Revert "i915: Call aops write_begin() and write_end() directly" (Jocelyn Falempe) [2115880] - Merge DRM changes from upstream v5.18..v5.19 (Jocelyn Falempe) [2115880] - crypto: testmgr - disallow plain cbcmac(aes) and ghash in FIPS mode (Vladis Dronov) [2107595] - crypto: set the required FIPS_INTERNAL flag for gcm and ccm (Vladis Dronov) [2107595] - crypto: seqiv - flag instantiations as FIPS compliant (Vladis Dronov) [2107595] - crypto: xts - restrict key lengths to approved values in FIPS mode (Vladis Dronov) [2107595] - crypto: api - allow algs only in specific constructions in FIPS mode (Vladis Dronov) [2107595] - crypto: api - check for ERR pointers in crypto_destroy_tfm() (Vladis Dronov) [2107595] - crypto: api - Fix use-after-free and race in crypto_spawn_alg (Vladis Dronov) [2107595] - crypto: algapi - Avoid spurious modprobe on LOADED (Vladis Dronov) [2107595] - crypto: api - Retain alg refcount in crypto_grab_spawn (Vladis Dronov) [2107595] - crypto: api - Do not zap spawn->alg (Vladis Dronov) [2107595] - crypto: api - Fix race condition in crypto_spawn_alg (Vladis Dronov) [2107595] - crypto: api - Check spawn->alg under lock in crypto_drop_spawn (Vladis Dronov) [2107595] - crypto: algapi - reject NULL crypto_spawn::inst (Vladis Dronov) [2107595] - iavf: remove INITIAL_MAC_SET to allow gARP to work properly (Stefan Assmann) [1938635] - mm, slab: remove duplicate kernel-doc comment for ksize() (Michal Schmidt) [2143367] - slab: Introduce kmalloc_size_roundup() (Michal Schmidt) [2143367] - thermal: int340x: Mode setting with new OS handshake (Prarit Bhargava) [2072652] - thermal: int340x: Update OS policy capability handshake (Prarit Bhargava) [2072652] - hugetlb: remove unnecessary set_page_count in prep_compound_gigantic_page (Chris von Recklinghausen) [2143631] - mm/hugetlb: clear compound_nr before freeing gigantic pages (Chris von Recklinghausen) [2143631] - uprobes: __replace_page() avoid BUG in munlock_vma_page() (Chris von Recklinghausen) [2143631] - s390/boot: add secure boot trailer (Tobias Huschle) [2141967] - ice: Fix configuring VIRTCHNL_OP_CONFIG_VSI_QUEUES with unbalanced queues (Michal Schmidt) [2137378] - nvme: wait until quiesce is done (Ming Lei) [2144258] - scsi: make sure that request queue queiesce and unquiesce balanced (Ming Lei) [2144258] - scsi: avoid to quiesce sdev->request_queue two times (Ming Lei) [2144258] - dm: don't stop request queue after the dm device is suspended (Ming Lei) [2144258]- ata: libata-core: Print timeout value when internal command times (Ewan D. Milne) [1823688] - ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]() (Ewan D. Milne) [1823688] - ata: libata-core: make ata_exec_internal_sg() *static* (Ewan D. Milne) [1823688] - perf/x86/intel: Fix unchecked MSR access error for Alder Lake N (Michael Petlan) [2104807] - perf/x86/intel: Fix PEBS data source encoding for ADL (Michael Petlan) [2104807] - perf/x86/intel: Fix PEBS memory access info encoding for ADL (Michael Petlan) [2104807] - i40e: Fix DMA mappings leak (Ivan Vecera) [2077847] - fbcon: Fix delayed takeover locking (Jocelyn Falempe) [2134795] - fbcon: use min() to make code cleaner (Jocelyn Falempe) [2134795] - fbcon: Use array3_size() helper in scr_memcpyw() (Jocelyn Falempe) [2134795] - fbcon: Maintain a private array of fb_info (Jocelyn Falempe) [2134795] - fbcon: untangle fbcon_exit (Jocelyn Falempe) [2134795] - fbcon: Move more code into fbcon_release (Jocelyn Falempe) [2134795] - fbcon: Move console_lock for register/unlink/unregister (Jocelyn Falempe) [2134795] - fbcon: Consistently protect deferred_takeover with console_lock() (Jocelyn Falempe) [2134795] - fbcon: use lock_fb_info in fbcon_open/release (Jocelyn Falempe) [2134795] - fbcon: move more common code into fb_open() (Jocelyn Falempe) [2134795] - fbcon: Ditch error handling for con2fb_release_oldinfo (Jocelyn Falempe) [2134795] - fbcon: Extract fbcon_open/release helpers (Jocelyn Falempe) [2134795] - fb: Delete fb_info->queue (Jocelyn Falempe) [2134795] - fbcon: Replace FBCON_FLAGS_INIT with a boolean (Jocelyn Falempe) [2134795] - fbcon: Use delayed work for cursor (Jocelyn Falempe) [2134795] - fbdev/sysfs: Fix locking (Jocelyn Falempe) [2134795] - fbcon: delete delayed loading code (Jocelyn Falempe) [2134795] - fbcon: Introduce wrapper for console->fb_info lookup (Jocelyn Falempe) [2134795] - fbcon: Move fbcon_bmove(_rec) functions (Jocelyn Falempe) [2134795] - fbcon: delete a few unneeded forward decl (Jocelyn Falempe) [2134795] - fbcon: Avoid 'cap' set but not used warning (Jocelyn Falempe) [2134795] - video: fbcon: Fix warnings by using pr_debug() in fbcon (Jocelyn Falempe) [2134795] - fbcon: Fix user font detection test at fbcon_resize(). (Jocelyn Falempe) [2134795] - fbcon: remove now unusued 'softback_lines' cursor() argument (Jocelyn Falempe) [2134795] - fbcon: remove soft scrollback code (Jocelyn Falempe) [2134795] - fbcon: prevent user font height or width change from causing potential out-of-bounds access (Jocelyn Falempe) [2134795] - fbmem: pull fbcon_update_vcs() out of fb_set_var() (Jocelyn Falempe) [2134795] - fbcon: fix null-ptr-deref in fbcon_switch (Jocelyn Falempe) [2134795] - fbcon: Adjust indentation in set_con2fb_map (Jocelyn Falempe) [2134795] - fbdev: Unexport unlink_framebuffer() (Jocelyn Falempe) [2134795] - backlight: drop EARLY_EVENT_BLANK support (Jocelyn Falempe) [2134795] - fbcon: Export fbcon_update_vcs (Jocelyn Falempe) [2134795] - backlight: simplify lcd notifier (Jocelyn Falempe) [2134795] - fbcon: Document what I learned about fbcon locking (Jocelyn Falempe) [2134795] - fbcon: Call con2fb_map functions directly (Jocelyn Falempe) [2134795] - fbcon: replace FB_EVENT_MODE_CHANGE/_ALL with direct calls (Jocelyn Falempe) [2134795] - fb: Flatten control flow in fb_set_var (Jocelyn Falempe) [2134795] - fbdev: remove FBINFO_MISC_USEREVENT around fb_blank (Jocelyn Falempe) [2134795] - fbmem: pull fbcon_fb_blanked out of fb_blank (Jocelyn Falempe) [2134795] - Revert "backlight/fbcon: Add FB_EVENT_CONBLANK" (Jocelyn Falempe) [2134795] - fbdev: Call fbcon_get_requirement directly (Jocelyn Falempe) [2134795] - fbcon: Call fbcon_mode_deleted/new_modelist directly (Jocelyn Falempe) [2134795] - fbdev: directly call fbcon_suspended/resumed (Jocelyn Falempe) [2134795] - fbdev: unify unlink_framebuffer paths (Jocelyn Falempe) [2134795] - fbdev: make unregister/unlink functions not fail (Jocelyn Falempe) [2134795] - fbcon: call fbcon_fb_bind directly (Jocelyn Falempe) [2134795] - fbcon: call fbcon_fb_(un)registered directly (Jocelyn Falempe) [2134795] - fbdev: fbmem: fix memory access if logo is bigger than the screen (Jocelyn Falempe) [2134795] - fbdev: add kerneldoc do remove_conflicting_framebuffers() (Jocelyn Falempe) [2134795] - fbdev: allow apertures == NULL in remove_conflicting_framebuffers() (Jocelyn Falempe) [2134795] - fbdev: show fbdev number for debugging (Jocelyn Falempe) [2134795] - fbcon: use kvmalloc() for scrollback buffer (Jocelyn Falempe) [2134795] - fbdev: fbcon: Fix unregister crash when more than one framebuffer (Jocelyn Falempe) [2134795] - fb: fix lost console when the user unplugs a USB adapter (Jocelyn Falempe) [2134795] - fbcon: introduce for_each_registered_fb() helper (Jocelyn Falempe) [2134795] - timers/nohz: Last resort update jiffies on nohz_full IRQ entry (Waiman Long) [2108387] - irq: Call tick_irq_enter() inside HARDIRQ_OFFSET (Waiman Long) [2108387] - irqtime: Move irqtime entry accounting after irq offset incrementation (Waiman Long) [2108387] - sched/vtime: Consolidate IRQ time accounting (Waiman Long) [2108387] - s390/vtime: Use the generic IRQ entry accounting (Waiman Long) [2108387] - sched/cputime: Remove symbol exports from IRQ time accounting (Waiman Long) [2108387] - genirq/irqdomain: Don't try to free an interrupt that has no mapping (Waiman Long) [2108387] - genirq: Provide __irq_enter/exit_raw() (Waiman Long) [2108387] - powerpc/time: Only set CONFIG_ARCH_HAS_SCALED_CPUTIME on PPC64 (Waiman Long) [2108387] - powerpc/time: isolate scaled cputime accounting in dedicated functions. (Waiman Long) [2108387] - perf: Fix list corruption in perf_cgroup_switch() (Aaron Tomlin) [2136548] - gen_compile_commands: fix issues in RHEL-8 (Íñigo Huguet) [2136840] - .gitignore: Add compilation database file (Íñigo Huguet) [2136840] - gen_compile_commands: fix missing 'sys' package (Íñigo Huguet) [2136840] - gen_compile_commands: extract compiler command from a series of commands (Íñigo Huguet) [2136840] - gen_compile_commands: prune some directories (Íñigo Huguet) [2136840] - scripts/clang-tools: switch explicitly to Python 3 (Íñigo Huguet) [2136840] - Makefile: Add clang-tidy and static analyzer support to makefile (Íñigo Huguet) [2136840] - kbuild: wire up the build rule of compile_commands.json to Makefile (Íñigo Huguet) [2136840] - gen_compile_commands: remove the warning about too few .cmd files (Íñigo Huguet) [2136840] - gen_compile_commands: support *.o, *.a, modules.order in positional argument (Íñigo Huguet) [2136840] - gen_compile_commands: move directory walk to a generator function (Íñigo Huguet) [2136840] - gen_compile_commands: make -o option independent of -d option (Íñigo Huguet) [2136840] - gen_compile_commands: reword the help message of -d option (Íñigo Huguet) [2136840] - gen_compile_commands: do not support .cmd files under tools/ directory (Íñigo Huguet) [2136840] - gen_compile_commands: use choices for --log_levels option (Íñigo Huguet) [2136840] - gen_compile_commands: parse only the first line of .*.cmd files (Íñigo Huguet) [2136840] - gen_compile_commands: lower the entry count threshold (Íñigo Huguet) [2136840] - scripts: add a tool to produce a compile_commands.json file (Íñigo Huguet) [2136840] - iavf: Do not restart Tx queues after reset task failure (Petr Oros) [2134005] - iavf: Fix a crash during reset task (Petr Oros) [2134005] - spec: add bpf_testmod.ko to kselftests/bpf (Yauheni Kaliuta) [2140082] - fuse: fix readdir cache race (Miklos Szeredi) [2131391] - ice: config netdev tc before setting queues number (Petr Oros) [2103946] - ice: Fix ice_xdp_xmit() when XDP TX queue number is not sufficient (Petr Oros) [2103946] - ice: Don't double unplug aux on peer initiated reset (Petr Oros) [2103946] - ice: use bitmap_free instead of devm_kfree (Petr Oros) [2103946] - ice: Fix DMA mappings leak (Petr Oros) [2103946] - ice: Fix call trace with null VSI during VF reset (Petr Oros) [2103946] - ice: Fix VSI rebuild WARN_ON check for VF (Petr Oros) [2103946] - net/ice: fix initializing the bitmap in the switch code (Petr Oros) [2103946] - net: ice: fix error NETIF_F_HW_VLAN_CTAG_FILTER check in ice_vsi_sync_fltr() (Petr Oros) [2103946] - ice: allow toggling loopback mode via ndo_set_features callback (Petr Oros) [2103946] - ice: compress branches in ice_set_features() (Petr Oros) [2103946] - ice: Add support for PPPoE hardware offload (Petr Oros) [2103946] - ice: add i2c write command (Petr Oros) [2103946] - ice: Remove pci_aer_clear_nonfatal_status() call (Petr Oros) [2103946] - ice: Remove unnecessary NULL check before dev_put (Petr Oros) [2103946] - ice: use eth_broadcast_addr() to set broadcast address (Petr Oros) [2103946] - ice: switch: dynamically add VLAN headers to dummy packets (Petr Oros) [2103946] - ice: Add support for VLAN TPID filters in switchdev (Petr Oros) [2103946] - ice: Add support for double VLAN in switchdev (Petr Oros) [2103946] - intel/ice:fix repeated words in comments (Petr Oros) [2103946] - drivers/net/ethernet/intel: fix typos in comments (Petr Oros) [2103946] - ice: Use correct order for the parameters of devm_kcalloc() (Petr Oros) [2103946] - ice: remove u16 arithmetic in ice_gnss (Petr Oros) [2103946] - ice: remove VLAN representor specific ops (Petr Oros) [2103946] - ice: don't set VF VLAN caps in switchdev (Petr Oros) [2103946] - kernel-doc: fix undefined args variable (Jan Stancek) [2134954]- sunrpc: Set sk_allocation to GFP_NOFS to avoid using current->task_frag. (Guillaume Nault) [2089660] - selftests/vm: enable running select groups of tests (Joel Savitz) [2089502] - selftests: make use of GUP_TEST_FILE macro (Nico Pache) [2089502] - selftests: clarify common error when running gup_test (Nico Pache) [2089502] - tools/testing/selftests/vm/gup_test.c: clarify error statement (Nico Pache) [2089502] - mm: remove the extra ZONE_DEVICE struct page refcount (Chris von Recklinghausen) [2082247] - mm: simplify freeing of devmap managed pages (Chris von Recklinghausen) [2082247] - mm: move free_devmap_managed_page to memremap.c (Chris von Recklinghausen) [2082247] - mm/memremap: add ZONE_DEVICE support for compound pages (Chris von Recklinghausen) [2082247] - mm/page_alloc: refactor memmap_init_zone_device() page init (Chris von Recklinghausen) [2082247] - mm/page_alloc: split prep_compound_page into head and tail subparts (Chris von Recklinghausen) [2082247] - mm/debug: sync up MR_CONTIG_RANGE and MR_LONGTERM_PIN (Chris von Recklinghausen) [2082247] - mm: gup: use helper PAGE_ALIGNED in populate_vma_page_range() (Chris von Recklinghausen) [2082247] - mm: gup: remove useless BUG_ON in __get_user_pages() (Chris von Recklinghausen) [2082247] - mm: gup: remove unneed local variable orig_refs (Chris von Recklinghausen) [2082247] - mm: gup: remove set but unused local variable major (Chris von Recklinghausen) [2082247] - writeback: make the laptop_mode prototypes available unconditionally (Chris von Recklinghausen) [2082247] - mm: hide laptop_mode_wb_timer entirely behind the BDI API (Chris von Recklinghausen) [2082247] - mm: remove special swap entry functions (Chris von Recklinghausen) [2082247] - hugetlb: address ref count racing in prep_compound_gigantic_page (Chris von Recklinghausen) [2082247] - hugetlb: remove prep_compound_huge_page cleanup (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): get vma_address_end() earlier (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use goto instead of while (1) (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): add a level of indentation (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): crossing page table boundary (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): settle PageHuge on entry (Chris von Recklinghausen) [2082247] - mm: page_vma_mapped_walk(): use page for pvmw->page (Chris von Recklinghausen) [2082247] - mm/gup: longterm pin migration cleanup (Chris von Recklinghausen) [2082247] - mm/gup: change index type to long as it counts pages (Chris von Recklinghausen) [2082247] - mm/gup: migrate pinned pages out of movable zone (Chris von Recklinghausen) [2082247] - mm: honor PF_MEMALLOC_PIN for all movable pages (Chris von Recklinghausen) [2082247] - mm cma: rename PF_MEMALLOC_NOCMA to PF_MEMALLOC_PIN (Chris von Recklinghausen) [2082247] - mm/huge_memory.c: use helper function migration_entry_to_page() (Chris von Recklinghausen) [2082247] - block: add queue_to_disk() to get gendisk from request_queue (Chris von Recklinghausen) [2082247] - mm/hugetlb: remove redundant check in preparing and destroying gigantic page (Chris von Recklinghausen) [2082247] - mm/hugetlb: use helper huge_page_order and pages_per_huge_page (Chris von Recklinghausen) [2082247] - mm: handle zone device pages in release_pages() (Chris von Recklinghausen) [2082247] - mm/gup: remove the vma allocation from gup_longterm_locked() (Chris von Recklinghausen) [2082247] - mm/mremap_pages: fix static key devmap_managed_key updates (Chris von Recklinghausen) [2082247] - mm/memremap.c: convert devmap static branch to {inc,dec} (Chris von Recklinghausen) [2082247] - mm/page_alloc: handle a missing case for memalloc_nocma_{save/restore} APIs (Chris von Recklinghausen) [2082247] - mm: store compound_nr as well as compound_order (Chris von Recklinghausen) [2082247] - mm: clean up the last pieces of page fault accountings (Chris von Recklinghausen) [2082247] - mm/x86: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/s390: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/powerpc: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm/arm64: use general page fault accounting (Chris von Recklinghausen) [2082247] - mm: do page fault accounting in handle_mm_fault (Chris von Recklinghausen) [2082247] - include/linux/sched/mm.h: optimize current_gfp_context() (Chris von Recklinghausen) [2082247] - mm/page_alloc: fix memalloc_nocma_{save/restore} APIs (Chris von Recklinghausen) [2082247] - mm: remove redundant check non_swap_entry() (Chris von Recklinghausen) [2082247] - mm: rename gfpflags_to_migratetype to gfp_migratetype for same convention (Chris von Recklinghausen) [2082247] - mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations (Chris von Recklinghausen) [2082247] - mm/vma: introduce VM_ACCESS_FLAGS (Chris von Recklinghausen) [2082247] - mm/vma: make vma_is_accessible() available for general use (Chris von Recklinghausen) [2082247] - kernel/events/uprobes.c: only do FOLL_SPLIT_PMD for uprobe register (Chris von Recklinghausen) [2082247] - uprobe: collapse THP pmd after removing all uprobes (Chris von Recklinghausen) [2082247] - uprobe: use FOLL_SPLIT_PMD instead of FOLL_SPLIT (Chris von Recklinghausen) [2082247] - mm, thp: introduce FOLL_SPLIT_PMD (Chris von Recklinghausen) [2082247] - mm: clean up is_device_*_page() definitions (Chris von Recklinghausen) [2082247] - driver core: Add helper device_find_child_by_name() (Chris von Recklinghausen) [2082247] - mm/page_alloc.c: remove unnecessary parameter in rmqueue_pcplist (Chris von Recklinghausen) [2082247] - sctp: handle the error returned from sctp_auth_asoc_init_active_key (Xin Long) [2134892] - sctp: leave the err path free in sctp_stream_init to sctp_stream_free (Xin Long) [2134892] - sctp: fix sleep in atomic context bug in timer handlers (Xin Long) [2134892] - stcp: Use memset_after() to zero sctp_stream_out_ext (Xin Long) [2134892] - sctp: read sk->sk_bound_dev_if once in sctp_rcv() (Xin Long) [2134892] - ethtool: add header/data split indication (Ivan Vecera) [2135624] - xfrm: store and rely on direction to construct offload flags (Sabrina Dubroca) [2137562] - platform/x86/intel: pmc: Support Intel Raptorlake P (Prarit Bhargava) [2076736]- KVM: selftests: Build the memslot tests for arm64 (Gavin Shan) [2132161] - KVM: selftests: Fix number of pages for memory slot in memslot_modification_stress_test (Gavin Shan) [2132161] - tools/include: Add _RET_IP_ and math definitions to kernel.h (Gavin Shan) [2132161] - tcp: fix early ETIMEDOUT after spurious non-SACK RTO (Davide Caratti) [2136409] - tcp: add a missing nf_reset_ct() in 3WHS handling (Davide Caratti) [2136409] - sock: redo the psock vs ULP protection check (Davide Caratti) [2136409] - tcp: tcp_rtx_synack() can be called from process context (Davide Caratti) [2136409] - tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd (Davide Caratti) [2136409] - tcp: fix F-RTO may not work correctly when receiving DSACK (Davide Caratti) [2136409] - selftests: xsk: do not send zero-length packets (Ivan Vecera) [2135634] - selftests/xsk: Introduce XDP prog load based on existing AF_XDP socket (Ivan Vecera) [2135634] - selftests, xsk: Fix rx_full stats test (Ivan Vecera) [2135634] - selftests/bpf: Fix xdpxceiver failures for no hugepages (Ivan Vecera) [2135634] - selftests/xsk: Add missing close() on netns fd (Ivan Vecera) [2135634] - selftests, xsk: Fix bpf_res cleanup test (Ivan Vecera) [2135634] - selftests: xsk: Add frame_headroom test (Ivan Vecera) [2135634] - selftests: xsk: Change interleaving of packets in unaligned mode (Ivan Vecera) [2135634] - selftests: xsk: Add single packet test (Ivan Vecera) [2135634] - selftests: xsk: Introduce pacing of traffic (Ivan Vecera) [2135634] - selftests: xsk: Fix socket creation retry (Ivan Vecera) [2135634] - selftests: xsk: Put the same buffer only once in the fill ring (Ivan Vecera) [2135634] - selftests: xsk: Fix missing initialization (Ivan Vecera) [2135634] - selftests: xsk: Add tests for 2K frame size (Ivan Vecera) [2135634] - selftests: xsk: Add tests for invalid xsk descriptors (Ivan Vecera) [2135634] - selftests: xsk: Eliminate test specific if-statement in test runner (Ivan Vecera) [2135634] - selftests: xsk: Add test for unaligned mode (Ivan Vecera) [2135634] - selftests: xsk: Introduce replacing the default packet stream (Ivan Vecera) [2135634] - selftests: xsk: Allow for invalid packets (Ivan Vecera) [2135634] - selftests: xsk: Eliminate MAX_SOCKS define (Ivan Vecera) [2135634] - selftests: xsx: Make pthreads local scope (Ivan Vecera) [2135634] - selftests: xsk: Make xdp_flags and bind_flags local (Ivan Vecera) [2135634] - selftests: xsk: Specify number of sockets to create (Ivan Vecera) [2135634] - selftests: xsk: Replace second_step global variable (Ivan Vecera) [2135634] - selftests: xsk: Introduce rx_on and tx_on in ifobject (Ivan Vecera) [2135634] - selftests: xsk: Add use_poll to ifobject (Ivan Vecera) [2135634] - selftests: xsx: Introduce test name in test spec (Ivan Vecera) [2135634] - selftests: xsk: Make frame_size configurable (Ivan Vecera) [2135634] - selftests: xsk: Move rxqsize into xsk_socket_info (Ivan Vecera) [2135634] - selftests: xsk: Move num_frames and frame_headroom to xsk_umem_info (Ivan Vecera) [2135634] - selftests: xsk: Introduce test specifications (Ivan Vecera) [2135634] - selftests: xsk: Introduce type for thread function (Ivan Vecera) [2135634] - selftests: xsk: Simplify xsk and umem arrays (Ivan Vecera) [2135634] - selftests: xsk: Preface options with opt (Ivan Vecera) [2135634] - selftests: xsk: Make enums lower case (Ivan Vecera) [2135634] - selftests: xsk: Generate packets from specification (Ivan Vecera) [2135634] - selftests: xsk: Generate packet directly in umem (Ivan Vecera) [2135634] - selftests: xsk: Simplify cleanup of ifobjects (Ivan Vecera) [2135634] - selftests: xsk: Decrease sending speed (Ivan Vecera) [2135634] - selftests: xsk: Validate tx stats on tx thread (Ivan Vecera) [2135634] - selftests: xsk: Simplify packet validation in xsk tests (Ivan Vecera) [2135634] - selftests: xsk: Rename worker_* functions that are not thread entry points (Ivan Vecera) [2135634] - selftests: xsk: Disassociate umem size with packets sent (Ivan Vecera) [2135634] - selftests: xsk: Remove end-of-test packet (Ivan Vecera) [2135634] - selftests: xsk: Simplify the retry code (Ivan Vecera) [2135634] - selftests: xsk: Return correct error codes (Ivan Vecera) [2135634] - selftests: xsk: Remove unused variables (Ivan Vecera) [2135634] - selftests: xsk: Remove the num_tx_packets option (Ivan Vecera) [2135634] - selftests: xsk: Remove color mode (Ivan Vecera) [2135634] - xsk: Fix possible crash when multiple sockets are created (Ivan Vecera) [2135634] - i40e: xsk: Move tmp desc array from driver to pool (Ivan Vecera) [2135634] - xsk: Initialise xskb free_list_node (Ivan Vecera) [2135634] - xsk: Fix corrupted packets for XDP_SHARED_UMEM (Ivan Vecera) [2135634] - xsk: Fix clang build error in __xp_alloc (Ivan Vecera) [2135634] - xsk: Do not write NULL in SW ring at allocation failure (Ivan Vecera) [2135634] - xsk: Fix crash on double free in buffer pool (Ivan Vecera) [2135634] - xsk: Optimize for aligned case (Ivan Vecera) [2135634] - xsk: Batched buffer allocation for the pool (Ivan Vecera) [2135634] - xsk: Get rid of unused entry in struct xdp_buff_xsk (Ivan Vecera) [2135634] - redhat/configs: Move config files under common/generic/x86 to generic/x86_64 (Waiman Long) [2139172] - fbmem: Check virtual screen sizes in fb_set_var() (Wander Lairson Costa) [2109116] {CVE-2021-33655} - fbcon: Prevent that screen size is smaller than font size (Wander Lairson Costa) [2109116] {CVE-2021-33655} - fbcon: Disallow setting font bigger than screen size (Wander Lairson Costa) [2109116] {CVE-2021-33655} - video: of_display_timing.h: include errno.h (Wander Lairson Costa) [2109116] {CVE-2021-33655} - MAINTAINERS: pick up all vfio_ap docs for VFIO AP maintainers (Cédric Le Goater) [1660908] - s390/docs: fix warnings for vfio_ap driver doc (Cédric Le Goater) [1660908] - s390/docs: fix warnings for vfio_ap driver lock usage doc (Cédric Le Goater) [1660908] - s390/Docs: new doc describing lock usage by the vfio_ap device driver (Cédric Le Goater) [1660908] - s390/vfio-ap: bypass unnecessary processing of AP resources (Cédric Le Goater) [1660908] - s390/vfio-ap: update docs to include dynamic config support (Cédric Le Goater) [1660908] - s390/vfio-ap: handle config changed and scan complete notification (Cédric Le Goater) [1660908] - s390/vfio-ap: sysfs attribute to display the guest's matrix (Cédric Le Goater) [1660908] - s390/vfio-ap: implement in-use callback for vfio_ap driver (Cédric Le Goater) [1660908] - s390/vfio-ap: reset queues after adapter/domain unassignment (Cédric Le Goater) [1660908] - s390/vfio-ap: hot plug/unplug of AP devices when probed/removed (Cédric Le Goater) [1660908] - s390/vfio-ap: allow hot plug/unplug of AP devices when assigned/unassigned (Cédric Le Goater) [1660908] - s390/vfio-ap: prepare for dynamic update of guest's APCB on queue probe/remove (Cédric Le Goater) [1660908] - s390/vfio-ap: prepare for dynamic update of guest's APCB on assign/unassign (Cédric Le Goater) [1660908] - s390/vfio-ap: use proper locking order when setting/clearing KVM pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: introduce new mutex to control access to the KVM pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: rename matrix_dev->lock mutex to matrix_dev->mdevs_lock (Cédric Le Goater) [1660908] - s390/vfio-ap: allow assignment of unavailable AP queues to mdev device (Cédric Le Goater) [1660908] - s390/vfio-ap: refresh guest's APCB by filtering AP resources assigned to mdev (Cédric Le Goater) [1660908] - s390/vfio-ap: introduce shadow APCB (Cédric Le Goater) [1660908] - s390/vfio-ap: manage link between queue struct and matrix mdev (Cédric Le Goater) [1660908] - s390/vfio-ap: move probe and remove callbacks to vfio_ap_ops.c (Cédric Le Goater) [1660908] - s390/vfio-ap: use new AP bus interface to search for queue devices (Cédric Le Goater) [1660908] - s390/ap: fix error handling in __verify_queue_reservations() (Cédric Le Goater) [1660908] - s390/zcrypt: code cleanup (Cédric Le Goater) [1660908] - s390/zcrypt: fix wrong offset index for APKA master key valid state (Cédric Le Goater) [1660908] - s390/ap: uevent on apmask/aqpmask change (Cédric Le Goater) [1660908] - s390/vfio-ap: fix kernel doc and signature of group notifier functions (Cédric Le Goater) [1660908] - s390/ap: enable sysfs attribute scans to force AP bus rescan (Cédric Le Goater) [1660908] - s390/ap: fix crash on older machines based on QCI info missing (Cédric Le Goater) [1660908] - s390/ap: notify drivers on config changed and scan complete callbacks (Cédric Le Goater) [1660908] - s390/ap: driver callback to indicate resource in use (Cédric Le Goater) [1660908] - MAINTAINERS: update file path for S390 VFIO AP DRIVER (Cédric Le Goater) [1660908] - s390/vfio-ap: add status attribute to AP queue device's sysfs dir (Cédric Le Goater) [1660908] - s390/ap: function rework based on compiler warning (Cédric Le Goater) [1660908] - s390/vfio-ap: s390/crypto: fix all kernel-doc warnings (Cédric Le Goater) [1660908] - s390/ap: new module option ap.useirq (Cédric Le Goater) [1660908] - s390/ap: fix state machine hang after failure to enable irq (Cédric Le Goater) [1660908] - s390/crypto: fix all kernel-doc warnings in vfio_ap_ops.c (Cédric Le Goater) [1660908] - s390/ap: use the common device_driver pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: replace open coded locks for VFIO_GROUP_NOTIFY_SET_KVM notification (Cédric Le Goater) [1660908] - s390/vfio-ap: r/w lock for PQAP interception handler function pointer (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up mdev resources when remove callback invoked (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up vfio_ap_drv's definition (Cédric Le Goater) [1660908] - s390/vfio-ap: fix circular lockdep when setting/clearing crypto masks (Cédric Le Goater) [1660908] - s390/vfio-ap: clean up vfio_ap resources when KVM pointer invalidated (Cédric Le Goater) [1660908] - s390/vfio-ap: No need to disable IRQ after queue reset (Cédric Le Goater) [1660908] - Documentation: s390/vfio-ap: eliminate duplicated word (Cédric Le Goater) [1660908] - docs: s390: Fix wrong label Guest2 instead of Guest3 (Cédric Le Goater) [1660908] - s390: vfio-ap: make local functions and data static (Cédric Le Goater) [1660908] - i40e: Fix set max_tx_rate when it is lower than 1 Mbps (Petr Oros) [2106964] - i40e: Fix VF set max MTU size (Petr Oros) [2106964] - iavf: Fix set max MTU size with port VLAN and jumbo frames (Petr Oros) [2106964] - iavf: Fix bad page state (Petr Oros) [2106964] - i40e: Fix VF hang when reset is triggered on another VF (Ivan Vecera) [2103801] - mpi3mr: a minor change (Tomas Henzl) [2115748] - scsi: mpi3mr: Select CONFIG_SCSI_SAS_ATTRS (Tomas Henzl) [2115748] - scsi: mpi3mr: Remove unnecessary cast (Tomas Henzl) [2115748] - scsi: mpi3mr: Update driver version to 8.2.0.3.0 (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix scheduling while atomic type bug (Tomas Henzl) [2115748] - scsi: mpi3mr: Scan the devices during resume time (Tomas Henzl) [2115748] - scsi: mpi3mr: Free enclosure objects during driver unload (Tomas Henzl) [2115748] - scsi: mpi3mr: Handle 0xF003 Fault Code (Tomas Henzl) [2115748] - scsi: mpi3mr: Graceful handling of surprise removal of PCIe HBA (Tomas Henzl) [2115748] - scsi: mpi3mr: Support new power management framework (Tomas Henzl) [2115748] - scsi: mpi3mr: Update mpi3 header files (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix error code in mpi3mr_transport_smp_handler() (Tomas Henzl) [2115748] - scsi: mpi3mr: Fix error codes in mpi3mr_report_manufacture() (Tomas Henzl) [2115748] - scsi: mpi3mr: Block I/Os while refreshing target dev objects (Tomas Henzl) [2115748] - scsi: mpi3mr: Refresh SAS ports during soft reset (Tomas Henzl) [2115748] - scsi: mpi3mr: Support SAS transport class callbacks (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to issue MPT transport cmds (Tomas Henzl) [2115748] - scsi: mpi3mr: Add SAS SATA end devices to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Get target object based on rphy (Tomas Henzl) [2115748] - scsi: mpi3mr: Add expander devices to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable STL on HBAs where multipath is disabled (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to manage device's port (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to retrieve device objects (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to add phys to STL (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable Enclosure device add event (Tomas Henzl) [2115748] - scsi: mpi3mr: Add helper functions to retrieve config pages (Tomas Henzl) [2115748] - scsi: mpi3mr: Add framework to issue config requests (Tomas Henzl) [2115748] - scsi: mpi3mr: Add config and transport related debug flags (Tomas Henzl) [2115748] - scsi: mpi3mr: Delete a stray tab (Tomas Henzl) [2115748] - scsi: mpi3mr: Unlock on error path (Tomas Henzl) [2115748] - scsi: mpi3mr: Reduce VD queue depth on detecting throttling (Tomas Henzl) [2115748] - scsi: mpi3mr: Resource Based Metering (Tomas Henzl) [2115748] - scsi: mpi3mr: Increase cmd_per_lun to 128 (Tomas Henzl) [2115748] - scsi: mpi3mr: Enable shared host tagset (Tomas Henzl) [2115748] - lpfc version to 14.0.0.18. (Dick Kennedy) [2114050] - scsi: lpfc: Create a sysfs entry called lpfc_xcvr_data for transceiver info (Dick Kennedy) [2114050] - scsi: lpfc: Log when congestion management limits are in effect (Dick Kennedy) [2114050] - scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs (Dick Kennedy) [2114050] - scsi: lpfc: Set sli4_param's cmf option to zero when CMF is turned off (Dick Kennedy) [2114050] - scsi: lpfc: Fix various issues reported by tools (Dick Kennedy) [2114050] - scsi: lpfc: Add reporting capability for Link Degrade Signaling (Dick Kennedy) [2114050] - scsi: lpfc: Rework FDMI attribute registration for unintential padding (Dick Kennedy) [2114050] - scsi: lpfc: Rework lpfc_fdmi_cmd() routine for cleanup and consistency (Dick Kennedy) [2114050] - scsi: lpfc: Update congestion mode logging for Emulex SAN Manager application (Dick Kennedy) [2114050] - scsi: lpfc: Fix multiple NVMe remoteport registration calls for the same NPort ID (Dick Kennedy) [2114050] - scsi: lpfc: Add missing free iocb and nlp kref put for early return VMID cases (Dick Kennedy) [2114050] - scsi: lpfc: Fix mbuf pool resource detected as busy at driver unload (Dick Kennedy) [2114050] - scsi: lpfc: Fix FLOGI ACC with wrong SID in PT2PT topology (Dick Kennedy) [2114050] - scsi: lpfc: Fix prli_fc4_req checks in PRLI handling (Dick Kennedy) [2114050] - scsi: lpfc: Remove unneeded result variable (Dick Kennedy) [2114050] - scsi: lpfc: Remove the unneeded result variable (Dick Kennedy) [2114050] - scsi: lpfc: Copyright updates for 14.2.0.6 patches (Dick Kennedy) [2114050] - scsi: lpfc: Add warning notification period to CMF_SYNC_WQE (Dick Kennedy) [2114050] - scsi: lpfc: Rework MIB Rx Monitor debug info logic (Dick Kennedy) [2114050] - scsi: lpfc: Fix null ndlp ptr dereference in abnormal exit path for GFT_ID (Dick Kennedy) [2114050] - scsi: lpfc: Fix unsolicited FLOGI receive handling during PT2PT discovery (Dick Kennedy) [2114050] - scsi: lpfc: Check the return value of alloc_workqueue() (Dick Kennedy) [2114050] - scsi: lpfc: Rework FDMI initialization after link up (Dick Kennedy) [2114050] - scsi: mpt3sas: Revert "scsi: mpt3sas: Fix ioc->base_readl() use" (Tomas Henzl) [2115763] - scsi: mpt3sas: Revert "scsi: mpt3sas: Fix writel() use" (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix return value check of dma_get_required_mask() (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix use-after-free warning (Tomas Henzl) [2115763] - scsi: mpt3sas: Update driver version to 43.100.00.00 (Tomas Henzl) [2115763] - scsi: mpt3sas: Increase cmd_per_lun to 128 (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix trace buffer registration failed (Tomas Henzl) [2115763] - scsi: mpt3sas: Don't change DMA mask while reallocating pools (Tomas Henzl) [2115763] - scsi: mpt3sas: Prevent error handler escalation when device removed (Tomas Henzl) [2115763] - scsi: mpt3sas: Disable MPI2_FUNCTION_FW_DOWNLOAD for ATTO devices (Tomas Henzl) [2115763] - scsi: mpt3sas: Add support for ATTO ExpressSAS H12xx GT devices (Tomas Henzl) [2115763] - scsi: mpt3sas: Remove flush_scheduled_work() call (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix whitespace and spelling mistake (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix typo in comment (Tomas Henzl) [2115763] - scsi: mpt3sas: Fix out-of-bounds compiler warning (Tomas Henzl) [2115763] - media: em28xx: initialize refcount before kref_get (Dean Nelson) [2128003] {CVE-2022-3239} - gfs2: Register fs after creating workqueues (Bob Peterson) [2121201] - sysctl: returns -EINVAL when a negative value is passed to proc_doulongvec_minmax (Vratislav Bendel) [2139096] - mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse (Waiman Long) [2137585] {CVE-2022-42703} - mm: rmap: explicitly reset vma->anon_vma in unlink_anon_vmas() (Waiman Long) [2137585] {CVE-2022-42703} - mm/rmap: Fix typos in comments (Waiman Long) [2137585] {CVE-2022-42703} - iavf: Fix set max MTU size with port VLAN and jumbo frames (Stefan Assmann) [2103944] - iavf: Fix bad page state (Stefan Assmann) [2103944] - iavf: Fix cached head and tail value for iavf_get_tx_pending (Stefan Assmann) [2103944] - iavf: Fix change VF's mac address (Stefan Assmann) [2103944] - iavf: Fix race between iavf_close and iavf_reset_task (Stefan Assmann) [2103944] - net: ethernet: move from strlcpy with unused retval to strscpy (Stefan Assmann) [2103944] - iavf: Fix 'tc qdisc show' listing too many queues (Stefan Assmann) [2103944] - iavf: Fix max_rate limiting (Stefan Assmann) [2103944] - iavf: Check for duplicate TC flower filter before parsing (Stefan Assmann) [2103944] - iavf: Fix handling of dummy receive descriptors (Stefan Assmann) [2103944] - iavf: Disallow changing rx/tx-frames and rx/tx-frames-irq (Stefan Assmann) [2103944] - intel/iavf:fix repeated words in comments (Stefan Assmann) [2103944] - intel: remove unused macros (Stefan Assmann) [2103944] - iavf: Add waiting for response from PF in set mac (Stefan Assmann) [2103944] - iavf: Use irq_update_affinity_hint() (Stefan Assmann) [2103944] - net: Fix return value of qdisc ingress handling on success (Ivan Vecera) [2131361]- PCI: hv: Do not set PCI_COMMAND_MEMORY to reduce VM boot time (Emanuele Giuseppe Esposito) [2082836] - megaraid_sas: add #ifdef CONFIG_RHEL_DIFFERENCES (Tomas Henzl) [2119096] - mpt3sas: add #ifdef CONFIG_RHEL_DIFFERENCES (Tomas Henzl) [2119096] - mptcp: fix unreleased socket in accept queue (Paolo Abeni) [2135884] - mptcp: factor out __mptcp_close() without socket lock (Paolo Abeni) [2135884] - mptcp: do not queue data on closed subflows (Paolo Abeni) [2135884] - mptcp: move subflow cleanup in mptcp_destroy_common() (Paolo Abeni) [2135884] - mptcp: fix msk traversal in mptcp_nl_cmd_set_flags() (Paolo Abeni) [2135884] - xfs: fix perag reference leak on iteration race with growfs (Brian Foster) [2081105] - xfs: terminate perag iteration reliably on agcount (Brian Foster) [2081105] - xfs: rename the next_agno perag iteration variable (Brian Foster) [2081105] - xfs: fold perag loop iteration logic into helper function (Brian Foster) [2081105] - xfs: prevent spoofing of rtbitmap blocks when recovering buffers (Brian Foster) [2081105] - xfs: Enforce attr3 buffer recovery order (Brian Foster) [2081105] - xfs: avoid unnecessary waits in xfs_log_force_lsn() (Brian Foster) [2081105] - xfs: factor out forced iclog flushes (Brian Foster) [2081105] - xfs: detect misaligned rtinherit directory extent size hints (Brian Foster) [2081105] - xfs: fix an integer overflow error in xfs_growfs_rt (Brian Foster) [2081105] - xfs: improve FSGROWFSRT precondition checking (Brian Foster) [2081105] - xfs: reset child dir '..' entry when unlinking child (Brian Foster) [2081105] - xfs: check for sparse inode clusters that cross new EOAG when shrinking (Brian Foster) [2081105] - xfs: Fix multiple fall-through warnings for Clang (Brian Foster) [2081105] - xfs: remove callback dequeue loop from xlog_state_do_iclog_callbacks (Brian Foster) [2081105] - xfs: don't nest icloglock inside ic_callback_lock (Brian Foster) [2081105] - xfs: Initialize error in xfs_attr_remove_iter (Brian Foster) [2081105] - xfs: remove dead stale buf unpin handling code (Brian Foster) [2081105] - xfs: hold buffer across unpin and potential shutdown processing (Brian Foster) [2081105] - xfs: force the log offline when log intent item recovery fails (Brian Foster) [2081105] - xfs: shorten the shutdown messages to a single line (Brian Foster) [2081105] - xfs: print name of function causing fs shutdown instead of hex pointer (Brian Foster) [2081105] - xfs: fix type mismatches in the inode reclaim functions (Brian Foster) [2081105] - xfs: separate primary inode selection criteria in xfs_iget_cache_hit (Brian Foster) [2081105] - xfs: refactor the inode recycling code (Brian Foster) [2081105] - xfs: add iclog state trace events (Brian Foster) [2081105] - xfs: xfs_log_force_lsn isn't passed a LSN (Brian Foster) [2081105] - xfs: remove need_start_rec parameter from xlog_write() (Brian Foster) [2081105] - xfs: remove xfs_blkdev_issue_flush (Brian Foster) [2081105] - xfs: Fix 64-bit division on 32-bit in xlog_state_switch_iclogs() (Brian Foster) [2081105] - xfs: log stripe roundoff is a property of the log (Brian Foster) [2081105] - xfs: remove redundant initialization of variable error (Brian Foster) [2081105] - xfs: perag may be null in xfs_imap() (Brian Foster) [2081105] - xfs: Make attr name schemes consistent (Brian Foster) [2081105] - xfs: Fix default ASSERT in xfs_attr_set_iter (Brian Foster) [2081105] - xfs: rename struct xfs_eofblocks to xfs_icwalk (Brian Foster) [2081105] - xfs: change the prefix of XFS_EOF_FLAGS_* to XFS_ICWALK_FLAG_ (Brian Foster) [2081105] - xfs: selectively keep sick inodes in memory (Brian Foster) [2081105] - xfs: drop IDONTCACHE on inodes when we mark them sick (Brian Foster) [2081105] - xfs: drop the AGI being passed to xfs_check_agi_freecount (Brian Foster) [2081105] - xfs: cleanup error handling in xfs_buf_get_map (Brian Foster) [2081105] - xfs: remove ->b_offset handling for page backed buffers (Brian Foster) [2081105] - xfs: refactor per-AG inode tagging functions (Brian Foster) [2081105] - xfs: merge xfs_reclaim_inodes_ag into xfs_inode_walk_ag (Brian Foster) [2081105] - xfs: pass struct xfs_eofblocks to the inode scan callback (Brian Foster) [2081105] - xfs: make the icwalk processing functions clean up the grab state (Brian Foster) [2081105] - xfs: clean up inode state flag tests in xfs_blockgc_igrab (Brian Foster) [2081105] - xfs: remove indirect calls from xfs_inode_walk{,_ag} (Brian Foster) [2081105] - xfs: remove iter_flags parameter from xfs_inode_walk_* (Brian Foster) [2081105] - xfs: move xfs_inew_wait call into xfs_dqrele_inode (Brian Foster) [2081105] - xfs: separate the dqrele_all inode grab logic from xfs_inode_walk_ag_grab (Brian Foster) [2081105] - xfs: pass the goal of the incore inode walk to xfs_inode_walk() (Brian Foster) [2081105] - xfs: rename xfs_inode_walk functions to xfs_icwalk (Brian Foster) [2081105] - xfs: move the inode walk functions further down (Brian Foster) [2081105] - xfs: detach inode dquots at the end of inactivation (Brian Foster) [2081105] - xfs: move the quotaoff dqrele inode walk into xfs_icache.c (Brian Foster) [2081105] - xfs: don't take a spinlock unconditionally in the DIO fastpath (Brian Foster) [2081105] - xfs: mark xfs_bmap_set_attrforkoff static (Brian Foster) [2081105] - xfs: Remove redundant assignment to busy (Brian Foster) [2081105] - xfs: sort variable alphabetically to avoid repeated declaration (Brian Foster) [2081105] - xfs: remove xfs_perag_t (Brian Foster) [2081105] - xfs: use perag through unlink processing (Brian Foster) [2081105] - xfs: clean up and simplify xfs_dialloc() (Brian Foster) [2081105] - xfs: inode allocation can use a single perag instance (Brian Foster) [2081105] - xfs: get rid of xfs_dir_ialloc() (Brian Foster) [2081105] - xfs: collapse AG selection for inode allocation (Brian Foster) [2081105] - xfs: simplify xfs_dialloc_select_ag() return values (Brian Foster) [2081105] - xfs: remove agno from btree cursor (Brian Foster) [2081105] - xfs: use perag for ialloc btree cursors (Brian Foster) [2081105] - xfs: convert allocbt cursors to use perags (Brian Foster) [2081105] - xfs: convert refcount btree cursor to use perags (Brian Foster) [2081105] - xfs: convert rmap btree cursor to using a perag (Brian Foster) [2081105] - xfs: add a perag to the btree cursor (Brian Foster) [2081105] - xfs: pass perags around in fsmap data dev functions (Brian Foster) [2081105] - xfs: push perags through the ag reservation callouts (Brian Foster) [2081105] - xfs: pass perags through to the busy extent code (Brian Foster) [2081105] - xfs: convert secondary superblock walk to use perags (Brian Foster) [2081105] - xfs: convert xfs_iwalk to use perag references (Brian Foster) [2081105] - xfs: convert raw ag walks to use for_each_perag (Brian Foster) [2081105] - xfs: make for_each_perag... a first class citizen (Brian Foster) [2081105] - xfs: move perag structure and setup to libxfs/xfs_ag.[ch] (Brian Foster) [2081105] - xfs: prepare for moving perag definitions and support to libxfs (Brian Foster) [2081105] - xfs: move xfs_perag_get/put to xfs_ag.[ch] (Brian Foster) [2081105] - xfs: remove unnecessary shifts (Brian Foster) [2081105] - xfs: clean up open-coded fs block unit conversions (Brian Foster) [2081105] - xfs: Clean up xfs_attr_node_addname_clear_incomplete (Brian Foster) [2081105] - xfs: Remove xfs_attr_rmtval_set (Brian Foster) [2081105] - xfs: Add delay ready attr set routines (Brian Foster) [2081105] - xfs: Add delay ready attr remove routines (Brian Foster) [2081105] - xfs: Hoist node transaction handling (Brian Foster) [2081105] - xfs: Hoist xfs_attr_leaf_addname (Brian Foster) [2081105] - xfs: Hoist xfs_attr_node_addname (Brian Foster) [2081105] - xfs: Add helper xfs_attr_node_addname_find_attr (Brian Foster) [2081105] - xfs: Separate xfs_attr_node_addname and xfs_attr_node_addname_clear_incomplete (Brian Foster) [2081105] - xfs: Refactor xfs_attr_set_shortform (Brian Foster) [2081105] - xfs: Add xfs_attr_node_remove_name (Brian Foster) [2081105] - xfs: Reverse apply 72b97ea40d (Brian Foster) [2081105] - xfs: use xfs_buf_alloc_pages for uncached buffers (Brian Foster) [2081105] - xfs: split up xfs_buf_allocate_memory (Brian Foster) [2081105] - xfs: Fix fall-through warnings for Clang (Brian Foster) [2081105] - scsi: qla2xxx: Use transport-defined speed mask for supported_speeds (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix serialization of DCBX TLV data request (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused declarations for qla2xxx (Nilesh Javali) [2109830] - scsi: qla2xxx: Drop DID_TARGET_FAILURE use (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.900-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Add NVMe parameters support in Auxiliary Image Status (Nilesh Javali) [2109830] - scsi: qla2xxx: Add debugfs create/delete helpers (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix response queue handler reading stale packets (Nilesh Javali) [2109830] - scsi: qla2xxx: Revert "scsi: qla2xxx: Fix response queue handler reading stale packets" (Nilesh Javali) [2109830] - scsi: qla2xxx: Log message "skipping scsi_scan_host()" as informational (Nilesh Javali) [2109830] - scsi: qla2xxx: Avoid flush_scheduled_work() usage (Nilesh Javali) [2109830] - scsi: qla2xxx: Always wait for qlt_sess_work_fn() from qlt_stop_phase1() (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused del_sess_list field (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused qlt_tmr_work() (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.800-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Update manufacturer details (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix discovery issues in FC-AL topology (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix dropped IKE message (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix response queue handler reading stale packets (Nilesh Javali) [2109830] - scsi: qla2xxx: Zero undefined mailbox IN registers (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix incorrect display of max frame size (Nilesh Javali) [2109830] - scsi: qla2xxx: Check correct variable in qla24xx_async_gffid() (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.700-k (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing FCP-2 targets on long port disable with I/Os (Nilesh Javali) [2109830] - scsi: qla2xxx: Add debug prints in the device remove path (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing target when it reappears during delete (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix losing FCP-2 targets during port perturbation tests (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix crash due to stale SRB access around I/O timeouts (Nilesh Javali) [2109830] - scsi: qla2xxx: Turn off multi-queue for 8G adapters (Nilesh Javali) [2109830] - scsi: qla2xxx: Wind down adapter after PCIe error (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.600-k (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix slow session teardown (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce N2N thrashing at app_start time (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix no logout on delete for N2N (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix session thrash (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Tear down session if keys have been removed (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix no login after app start (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce disruption due to multiple app start (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Send LOGO for unexpected IKE message (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix I/O timeout due to over-subscription (Nilesh Javali) [2109830] - scsi: qla2xxx: Update version to 10.02.07.500-k (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix n2n login retry for secure device (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix n2n discovery issue with secure target (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Remove old doorbell interface (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Add retry for ELS passthrough (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Synchronize NPIV deletion with authentication application (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Fix potential stuck session in sa update (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Add bsg interface to read doorbell events (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Wait for app to ack on sess down (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: bsg refactor (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Reduce Initiator-Initiator thrashing (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unused 'ql_dm_tgt_ex_pct' parameter (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove setting of 'req' and 'rsp' parameters (Nilesh Javali) [2109830] - scsi: qla2xxx: Fix missed DMA unmap for aborted commands (Nilesh Javali) [2109830] - scsi: qla2xxx: edif: Remove unneeded variable (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove unneeded flush_workqueue() (Nilesh Javali) [2109830] - scsi: qla2xxx: Remove free_sg command flag (Nilesh Javali) [2109830] - scsi: megaraid_sas: Clean up some inconsistent indenting (Tomas Henzl) [2120070] - scsi: megaraid_sas: Move megasas_dbg_lvl init to megasas_init() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Remove unnecessary memset() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Simplify megasas_update_device_list (Tomas Henzl) [2120070] - scsi: megaraid_sas: Correct an error message (Tomas Henzl) [2120070] - scsi: megaraid_sas: Correct value passed to scsi_device_lookup() (Tomas Henzl) [2120070] - scsi: megaraid_sas: Use struct_size() in code related to struct MR_PD_CFG_SEQ_NUM_SYNC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Use struct_size() in code related to struct MR_FW_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_PD_CFG_SEQ_NUM_SYNC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_DRV_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_FW_RAID_MAP_DYNAMIC (Tomas Henzl) [2120070] - scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_FW_RAID_MAP (Tomas Henzl) [2120070] - scsi: megaraid: Remove redundant assignment to variable mfiStatus (Tomas Henzl) [2120070] - scsi: megaraid_sas: Remove redundant variable cmd_type (Tomas Henzl) [2120070] - platform/x86/intel/vsec: Fix wrong type for local status variables (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Add PCI error recovery support to Intel PMT (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Add support for Raptor Lake (Prarit Bhargava) [2076744] - platform/x86/intel/pmt: telemetry: Fix fixed region handling (Prarit Bhargava) [2076744] - platform/x86/intel/vsec: Rework early hardware code (Prarit Bhargava) [2076744] - platform/x86/intel: Fix pmt_crashlog array reference (Prarit Bhargava) [2076744] - powerpc/kexec_file: Use current CPU info while setting up FDT (Mamatha Inamdar) [2126520] - mm/kmemleak: prevent soft lockup in kmemleak_scan()'s object iteration loops (Waiman Long) [2095075] - mm/kmemleak: prevent soft lockup in first object iteration loop of kmemleak_scan() (Waiman Long) [2095075] - mm/kmemleak: skip unlikely objects in kmemleak_scan() without taking lock (Waiman Long) [2095075] - mm/kmemleak: use _irq lock/unlock variants in kmemleak_scan/_clear() (Waiman Long) [2095075] - mm/kmemleak: avoid scanning potential huge holes (Waiman Long) [2095075] - KVM: s390: pci: fix GAIT physical vs virtual pointers usage (Thomas Huth) [1664379] - KVM: s390: pci: fix plain integer as NULL pointer warnings (Thomas Huth) [1664379] - KVM: s390/pci: fix include duplicates (Thomas Huth) [1664379] - redhat: Use group notifier to get the KVM pointer in the vfio_pci_zdev code (Thomas Huth) [1664379] - KVM: s390: pci: register pci hooks without interpretation (Thomas Huth) [1664379] - KVM: s390: pci: Hook to access KVM lowlevel from VFIO (Thomas Huth) [1664379] - Documentation: kvm: extend KVM_S390_ZPCI_OP subheading underline (Thomas Huth) [1664379] - KVM: s390: add KVM_S390_ZPCI_OP to manage guest zPCI devices (Thomas Huth) [1664379] - vfio-pci/zdev: different maxstbl for interpreted devices (Thomas Huth) [1664379] - vfio-pci/zdev: add function handle to clp base capability (Thomas Huth) [1664379] - vfio-pci/zdev: add open/close device hooks (Thomas Huth) [1664379] - KVM: s390: pci: add routines to start/stop interpretive execution (Thomas Huth) [1664379] - KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding (Thomas Huth) [1664379] - KVM: s390: mechanism to enable guest zPCI Interpretation (Thomas Huth) [1664379] - KVM: s390: pci: enable host forwarding of Adapter Event Notifications (Thomas Huth) [1664379] - KVM: s390: pci: do initial setup for AEN interpretation (Thomas Huth) [1664379] - KVM: s390: pci: add basic kvm_zdev structure (Thomas Huth) [1664379] - redhat: Enable the new CONFIG_VFIO_PCI_ZDEV_KVM switch (Thomas Huth) [1664379] - vfio/pci: introduce CONFIG_VFIO_PCI_ZDEV_KVM (Thomas Huth) [1664379] - vfio/pci: remove CONFIG_VFIO_PCI_ZDEV from Kconfig (Thomas Huth) [1664379] - vfio-pci/zdev: fix possible segmentation fault issue (Thomas Huth) [1664379] - s390/pci: stash dtsm and maxstbl (Thomas Huth) [1664379] - s390/pci: stash associated GISA designation (Thomas Huth) [1664379] - s390/pci: externalize the SIC operation controls and routine (Thomas Huth) [1664379] - s390/airq: allow for airq structure that uses an input vector (Thomas Huth) [1664379] - s390/airq: pass more TPI info to airq handlers (Thomas Huth) [1664379] - s390/cio: add tpi.h header file (Thomas Huth) [1664379] - s390/ap: fix kernel doc comments (Thomas Huth) [1664379] - s390/sclp: detect the AISI facility (Thomas Huth) [1664379] - s390/sclp: detect the AENI facility (Thomas Huth) [1664379] - s390/sclp: detect the AISII facility (Thomas Huth) [1664379] - s390/sclp: detect the zPCI load/store interpretation facility (Thomas Huth) [1664379] - s390/sclp: add detection of IPL-complete-control facility (Thomas Huth) [1664379] - s390/pci: add error record for CC 2 retries (Thomas Huth) [2134399] - s390/pci: add PCI access type and length to error records (Thomas Huth) [2134399] - s390/pci: don't log availability events as errors (Thomas Huth) [2134399] - s390/pci: make better use of zpci_dbg() levels (Thomas Huth) [2134399] - s390/pci: rename get_zdev_by_bus() to zdev_from_bus() (Thomas Huth) [2134399] - redhat: Restore clp_rescan_pci_devices_simple() function (Thomas Huth) [2134399] - s390/pci: improve zpci_dev reference counting (Thomas Huth) [2134399] - s390/pci: make zpci_set_irq()/zpci_clear_irq() static (Thomas Huth) [2134399] - s390/pci: simplify __pciwb_mio() inline asm (Thomas Huth) [2134399] - s390/pci: use physical addresses in DMA tables (Thomas Huth) [2134399] - s390/pci: use phys_to_virt() for AIBVs/DIBVs (Thomas Huth) [2134399] - s390/pci: implement minimal PCI error recovery (Thomas Huth) [2134399] - PCI: Export pci_dev_lock() (Thomas Huth) [2134399] - PCI: Export pci_dev_trylock() and pci_dev_unlock() (Thomas Huth) [2134399] - s390/pci: implement reset_slot for hotplug slot (Thomas Huth) [2134399] - s390/pci: refresh function handle in iomap (Thomas Huth) [2134399] - s390/pci: add simpler s390dbf traces for events (Thomas Huth) [2134399] - s390/pci: tolerate inconsistent handle in recover (Thomas Huth) [2134399] - s390/pci_mmio: fully validate the VMA before calling follow_pte() (Thomas Huth) [2134399] - s390/pci: read clp_list_pci_req only once (Thomas Huth) [2134399] - s390/pci: fix clp_get_state() handling of -ENODEV (Thomas Huth) [2134399] - s390/pci: improve DMA translation init and exit (Thomas Huth) [2134399] - s390/pci: simplify CLP List PCI handling (Thomas Huth) [2134399] - s390/pci: handle FH state mismatch only on disable (Thomas Huth) [2134399] - s390/pci: fix misleading rc in clp_set_pci_fn() (Thomas Huth) [2134399] - s390/pci: reset zdev->zbus on registration failure (Thomas Huth) [2134399] - s390/pci: cleanup resources only if necessary (Thomas Huth) [2134399] - s390/pci: add zpci_set_irq()/zpci_clear_irq() (Thomas Huth) [2134399] - s390/pci: use register pair instead of register asm (Thomas Huth) [2134399] - s390: introduce register pair union (Thomas Huth) [2134399] - s390/pci: handle stale deconfiguration events (Thomas Huth) [2134399] - s390/pci: rename zpci_configure_device() (Thomas Huth) [2134399] - s390/pci: narrow scope of zpci_configure_device() (Thomas Huth) [2134399] - s390/pci: separate zbus registration from scanning (Thomas Huth) [2134399] - s390/pci: use mutex not spinlock for zbus list (Thomas Huth) [2134399] - s390/pci: separate zbus creation from scanning (Thomas Huth) [2134399] - s390/pci: do more bus setup in zpci_bus_scan() (Thomas Huth) [2134399] - s390/pci: introduce zpci_bus_scan_device() (Thomas Huth) [2134399] - s390/pci: fix DMA cleanup on hard deconfigure (Thomas Huth) [2134399] - s390/pci: move zpci_remove_device() to bus code (Thomas Huth) [2134399] - s390/pci: unify de-/configure for slots and events (Thomas Huth) [2134399] - s390/pci: add zpci_event_hard_deconfigured() (Thomas Huth) [2134399] - s390/pci: deconfigure device on release (Thomas Huth) [2134399] - s390/pci: refactor zpci function states (Thomas Huth) [2134399] - s390/pci: inform when missing required facilities (Thomas Huth) [2134399] - s390/pci: remove races against pte updates (Thomas Huth) [2134399] - s390: remove orphaned function declarations (Thomas Huth) [2134399] - s390/pci: add missing pci_iov.h include (Thomas Huth) [2134399] - s390/pci: remove clp_rescan_pci_devices_simple() (Thomas Huth) [2134399] - s390/pci: remove clp_rescan_pci_devices() (Thomas Huth) [2134399] - s390/pci: consolidate SR-IOV specific code (Thomas Huth) [2134399] - s390/pci: Implement ioremap_wc/prot() with MIO (Thomas Huth) [2134399] - s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported (Thomas Huth) [2134399] - s390/pci: clarify comment in s390_mmio_read/write (Thomas Huth) [2134399] - s390/pci: remove unused functions (Thomas Huth) [2134399] - s390/pci: Log new handle in clp_disable_fh() (Thomas Huth) [2134399] - s390/pci: ioremap() align with generic code (Thomas Huth) [2134399] - s390: enforce CONFIG_SMP (Thomas Huth) [2134399] - s390/pci: mark function(s) __always_inline (Thomas Huth) [2134399] - s390/pci: avoid using strncmp with hardcoded length (Thomas Huth) [2134399] - s390/pci: PCI_IOV_RESOURCES loop refactoring in zpci_map_resources (Thomas Huth) [2134399] - s390: pci: no need to check return value of debugfs_create functions (Thomas Huth) [2134399] - s390/pci: fix sleeping in atomic during hotplug (Thomas Huth) [2134399] - s390/pci: remove fmb address from debug output (Thomas Huth) [2134399] - s390/pci: add fmt3 fmb (Thomas Huth) [2134399] - tools headers kvm s390: Sync headers with the kernel sources (Thomas Huth) [2111063] - KVM: s390: resetting the Topology-Change-Report (Thomas Huth) [2111063] - KVM: s390: guest support for topology function (Thomas Huth) [2111063] - KVM: s390: Cleanup ipte lock access and SIIF facility checks (Thomas Huth) [2111063] - KVM: s390: drop unexpected word 'and' in the comments (Thomas Huth) [2111063] - Documentation: KVM: update s390-diag.rst reference (Thomas Huth) [2043872] - Documentation: KVM: update msr.rst reference (Thomas Huth) [2043872] - Documentation: KVM: update amd-memory-encryption.rst references (Thomas Huth) [2043872] - Documentation: KVM: update s390-pv.rst reference (Thomas Huth) [2043872] - Documentation/virt/kvm/api.rst: Explain rc/rrc delivery (Thomas Huth) [2043872] - Documentation/virt/kvm/api.rst: Add protvirt dump/info api descriptions (Thomas Huth) [2043872] - Documentation: KVM: add API issues section (Thomas Huth) [2043872] - Documentation: virt: Protected virtual machine dumps (Thomas Huth) [2043872] - Documentation: KVM: add separate directories for architecture-specific documentation (Thomas Huth) [2043872] - KVM: s390: Add KVM_CAP_S390_PROTECTED_DUMP (Thomas Huth) [2043872] - KVM: s390: Add CPU dump functionality (Thomas Huth) [2043872] - KVM: s390: Add configuration dump functionality (Thomas Huth) [2043872] - KVM: s390: pv: Add query dump information (Thomas Huth) [2043872] - KVM: s390: pv: Add dump support definitions (Thomas Huth) [2043872] - KVM: s390: pv: Add query interface (Thomas Huth) [2043872] - s390/uv: Add dump fields to query (Thomas Huth) [2043872] - s390/uv: Add SE hdr query information (Thomas Huth) [2043872] - kvm: Move KVM_GET_XSAVE2 IOCTL definition at the end of kvm.h (Thomas Huth) [2043872] - docs: kvm: fix WARNINGs from api.rst (Thomas Huth) [2043872] - s390/mm: use non-quiescing sske for KVM switch to keyed guest (Thomas Huth) [2043872] - s390/gmap: voluntarily schedule during key setting (Thomas Huth) [2043872] - KVM: s390: Don't indicate suppression on dirtying, failing memop (Thomas Huth) [2043872] - s390: uv: Add offset comments to UV query struct and fix naming (Thomas Huth) [2043872] - KVM: s390: Use Makefile.kvm for common files (Thomas Huth) [2043872] - KVM: s390: Skip gfn/size sanity checks on memslot DELETE or FLAGS_ONLY (Thomas Huth) [2043872] - fs: dlm: fix invalid derefence of sb_lvbptr (Alexander Aring) [2121790] - fs: dlm: handle -EBUSY first in unlock validation (Alexander Aring) [2121790] - fs: dlm: handle -EBUSY first in lock arg validation (Alexander Aring) [2121790] - fs: dlm: fix race between test_bit() and queue_work() (Alexander Aring) [2121790] - scsi: core: Fix a use-after-free (Ming Lei) [1961010] - net/mlx5e: Fix wrong use of skb_tcp_all_headers() with encapsulation (Petr Oros) [2135685] - net: add skb_[inner_]tcp_all_headers helpers (Petr Oros) [2135685] - net: marvell: clean up trigraph warning on ??! string (Petr Oros) [2135685] - powerpc/pseries: Use lparcfg to reconfig VAS windows for DLPAR CPU (Steve Best) [2133103] - flow_dissector: Do not count vlan tags inside tunnel payload (Ivan Vecera) [2136875] - flow_offload: Introduce flow_match_pppoe (Ivan Vecera) [2136875] - net/sched: flower: Add PPPoE filter (Ivan Vecera) [2136875] - flow_dissector: Add PPPoE dissectors (Ivan Vecera) [2136875] - net/sched: flower: Consider the number of tags for vlan filters (Ivan Vecera) [2136875] - net/sched: flower: Add number of vlan tags filter (Ivan Vecera) [2136875] - flow_dissector: Add number of vlan tags dissector (Ivan Vecera) [2136875] - net/sched: flower: Reduce identation after is_key_vlan refactoring (Ivan Vecera) [2136875] - net/sched: flower: Helper function for vlan ethtype checks (Ivan Vecera) [2136875] - dissector: do not set invalid PPP protocol (Ivan Vecera) [2136875] - dm bufio: use the acquire memory barrier when testing for B_READING (Benjamin Marzinski) [2139161] - provide arch_test_bit_acquire for architectures that define test_bit (Benjamin Marzinski) [2139161] - wait_on_bit: add an acquire memory barrier (Benjamin Marzinski) [2139161] - add barriers to buffer_uptodate and set_buffer_uptodate (Benjamin Marzinski) [2139161] - dm verity: Add documentation for try_verify_in_tasklet option (Benjamin Marzinski) [2139161] - dm cache: delete the redundant word 'each' in comment (Benjamin Marzinski) [2139161] - dm raid: fix typo in analyse_superblocks code comment (Benjamin Marzinski) [2139161] - dm verity: enable WQ_HIGHPRI on verify_wq (Benjamin Marzinski) [2139161] - dm raid: delete the redundant word 'that' in comment (Benjamin Marzinski) [2139161] - dm: change from DMWARN to DMERR or DMCRIT for fatal errors (Benjamin Marzinski) [2139161] - dm bufio: fix some cases where the code sleeps with spinlock held (Benjamin Marzinski) [2139161] - dm writecache: fix smatch warning about invalid return from writecache_map (Benjamin Marzinski) [2139161] - dm verity: fix verity_parse_opt_args parsing (Benjamin Marzinski) [2139161] - dm verity: fix DM_VERITY_OPTS_MAX value yet again (Benjamin Marzinski) [2139161] - dm bufio: simplify DM_BUFIO_CLIENT_NO_SLEEP locking (Benjamin Marzinski) [2139161] - dm verity: have verify_wq use WQ_HIGHPRI if "try_verify_in_tasklet" (Benjamin Marzinski) [2139161] - dm verity: remove WQ_CPU_INTENSIVE flag since using WQ_UNBOUND (Benjamin Marzinski) [2139161] - dm verity: only copy bvec_iter in verity_verify_io if in_tasklet (Benjamin Marzinski) [2139161] - dm verity: optimize verity_verify_io if FEC not configured (Benjamin Marzinski) [2139161] - dm verity: conditionally enable branching for "try_verify_in_tasklet" (Benjamin Marzinski) [2139161] - dm bufio: conditionally enable branching for DM_BUFIO_CLIENT_NO_SLEEP (Benjamin Marzinski) [2139161] - dm verity: allow optional args to alter primary args handling (Benjamin Marzinski) [2139161] - dm verity: Add optional "try_verify_in_tasklet" feature (Benjamin Marzinski) [2139161] - dm bufio: Add DM_BUFIO_CLIENT_NO_SLEEP flag (Benjamin Marzinski) [2139161] - dm bufio: Add flags argument to dm_bufio_client_create (Benjamin Marzinski) [2139161] - dm: Start pr_preempt from the same starting path (Benjamin Marzinski) [2139161] - dm: Fix PR release handling for non All Registrants (Benjamin Marzinski) [2139161] - dm: Start pr_reserve from the same starting path (Benjamin Marzinski) [2139161] - dm: Allow dm_call_pr to be used for path searches (Benjamin Marzinski) [2139161] - Documentation: dm writecache: Render status list as list (Benjamin Marzinski) [2139161] - Documentation: dm writecache: add blank line before optional parameters (Benjamin Marzinski) [2139161] - dm snapshot: fix typo in snapshot_map() comment (Benjamin Marzinski) [2139161] - dm raid: remove redundant "the" in parse_raid_params() comment (Benjamin Marzinski) [2139161] - dm cache: fix typo in 2 comment blocks (Benjamin Marzinski) [2139161] - dm verity: fix checkpatch close brace error (Benjamin Marzinski) [2139161] - dm table: rename dm_target variable in dm_table_add_target() (Benjamin Marzinski) [2139161] - dm table: audit all dm_table_get_target() callers (Benjamin Marzinski) [2139161] - dm table: remove dm_table_get_num_targets() wrapper (Benjamin Marzinski) [2139161] - writeback: Avoid skipping inode writeback (Waiman Long) [2138886] - writeback: fix obtain a reference to a freeing memcg css (Waiman Long) [2138886] - mm/memcg: disable threshold event handlers on PREEMPT_RT (Waiman Long) [2138886] - memcg: increase MEMCG_CHARGE_BATCH to 64 (Waiman Long) [2138886] - mm: page_counter: rearrange struct page_counter fields (Waiman Long) [2138886] - mm: page_counter: remove unneeded atomic ops for low/min (Waiman Long) [2138886] - memcg: reduce size of memcg vmstats structures (Waiman Long) [2138886] - memcg: rearrange code (Waiman Long) [2138886] - memcg: extract memcg_vmstats from struct mem_cgroup (Waiman Long) [2138886] - mm: memcontrol: fix potential oom_lock recursion deadlock (Waiman Long) [2138886] - mm: memcontrol: add {pgscan,pgsteal}_{kswapd,direct} items in memory.stat of cgroup v2 (Waiman Long) [2138886] - mm/memcg: protect per-CPU counter by disabling preemption on PREEMPT_RT where needed. (Waiman Long) [2138886] - writeback: memcg: simplify cgroup_writeback_by_id (Waiman Long) [2138886] - writeback, cgroup: do not reparent dax inodes (Waiman Long) [2138886] - writeback, cgroup: remove wb from offline list before releasing refcnt (Waiman Long) [2138886] - writeback, cgroup: release dying cgwbs by switching attached inodes (Waiman Long) [2138886] - writeback, cgroup: support switching multiple inodes at once (Waiman Long) [2138886] - writeback, cgroup: split out the functional part of inode_switch_wbs_work_fn() (Waiman Long) [2138886] - writeback, cgroup: keep list of inodes attached to bdi_writeback (Waiman Long) [2138886] - writeback, cgroup: switch to rcu_work API in inode_switch_wbs() (Waiman Long) [2138886] - writeback, cgroup: increment isw_nr_in_flight before grabbing an inode (Waiman Long) [2138886] - writeback, cgroup: add smp_mb() to cgroup_writeback_umount() (Waiman Long) [2138886] - writeback, cgroup: do not switch inodes with I_WILL_FREE flag (Waiman Long) [2138886] - docs/admin-guide: cgroup-v2: typos and spaces (Waiman Long) [2138886] - fs: improve comments for writeback_single_inode() (Waiman Long) [2138886] - writeback: remove struct bdi_writeback_congested (Waiman Long) [2138886] - writeback: remove {set,clear}_wb_congested (Waiman Long) [2138886] - fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount (Waiman Long) [2138886] - blkcg: remove unused __blkg_release_rcu() (Waiman Long) [2138886] - writeback: Add a bdi_writeback_rh extension to struct bdi_writeback (Waiman Long) [2138886] - RDMA/irdma: Report the correct link speed (Kamal Heib) [2125102] - blk-mq: avoid double ->queue_rq() because of early timeout (Ming Lei) [2132438] - blk-mq: add one API for waiting until quiesce is done (Ming Lei) [2132438] - blk-mq: support concurrent queue quiesce/unquiesce (Ming Lei) [2132438] - bridge: Do not send empty IFLA_AF_SPEC attribute (Ivan Vecera) [2139133] - net: bridge: Clear offload_fwd_mark when passing frame up bridge interface. (Ivan Vecera) [2139133] - net: bridge: vlan: fix memory leak in __allowed_ingress (Ivan Vecera) [2139133]- ice: Add additional CSR registers to ETHTOOL_GREGS (Petr Oros) [2131024] - udp: Update reuse->has_conns under reuseport_lock. (Xin Long) [2135937] - udp: Remove redundant __udp_sysctl_init() call from udp_init(). (Xin Long) [2135937] - udp: Fix a data-race around sysctl_udp_l3mdev_accept. (Xin Long) [2135937] - Documentation: fix udp_wmem_min in ip-sysctl.rst (Xin Long) [2135937] - be2net: Fix buffer overflow in be_get_module_eeprom (Josef Oskera) [2126917] - iommu/vt-d: Clean up si_domain in the init_dmars() error path (Jerry Snitselaar) [2133331]- md: Fix spelling mistake in comments of r5l_log (Nigel Croxon) [2112935] - md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d (Nigel Croxon) [2112935] - md/raid10: convert resync_lock to use seqlock (Nigel Croxon) [2112935] - md/raid10: fix improper BUG_ON() in raise_barrier() (Nigel Croxon) [2112935] - md/raid10: prevent unnecessary calls to wake_up() in fast path (Nigel Croxon) [2112935] - md/raid10: don't modify 'nr_waitng' in wait_barrier() for the case nowait (Nigel Croxon) [2112935] - md/raid10: factor out code from wait_barrier() to stop_waiting_barrier() (Nigel Croxon) [2112935] - md: Remove extra mddev_get() in md_seq_start() (Nigel Croxon) [2112935] - md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk() (Nigel Croxon) [2112935 2111563] - md/raid5: Ensure stripe_fill happens on non-read IO with journal (Nigel Croxon) [2112935] - md/raid5: Don't read ->active_stripes if it's not needed (Nigel Croxon) [2112935] - md/raid5: Cleanup prototype of raid5_get_active_stripe() (Nigel Croxon) [2112935] - md/raid5: Drop extern on function declarations in raid5.h (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_get_active_stripe() (Nigel Croxon) [2112935] - md: Replace snprintf with scnprintf (Nigel Croxon) [2112935] - md/raid10: fix compile warning (Nigel Croxon) [2112935] - md/raid5: Fix spelling mistakes in comments (Nigel Croxon) [2112935] - md: call __md_stop_writes in md_stop (Nigel Croxon) [2112935] - md: Flush workqueue md_rdev_misc_wq in md_alloc() (Nigel Croxon) [2112935] - drivers:md:fix a potential use-after-free bug (Nigel Croxon) [2112935] - md/raid5: Ensure batch_last is released before sleeping for quiesce (Nigel Croxon) [2112935] - md/raid5: Move stripe_request_ctx up (Nigel Croxon) [2112935] - md/raid5: Drop unnecessary call to r5c_check_stripe_cache_usage() (Nigel Croxon) [2112935] - md/raid5: Make is_inactive_blocked() helper (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_get_active_stripe() (Nigel Croxon) [2112935] - md-raid10: fix KASAN warning (Nigel Croxon) [2112935] - md: fix build failure for !MODULE (Nigel Croxon) [2112935] - raid5: fix duplicate checks for rdev->saved_raid_disk (Nigel Croxon) [2112935] - md/raid5: Convert prepare_to_wait() to wait_woken() api (Nigel Croxon) [2112935] - md/raid5: Fix sectors_to_do bitmap overflow in raid5_make_request() (Nigel Croxon) [2112935] - md: Fix spelling mistake in comments (Nigel Croxon) [2112935] - md/raid5: Increase restriction on max segments per request (Nigel Croxon) [2112935] - md/raid5: Improve debug prints (Nigel Croxon) [2112935] - md/raid5: Pivot raid5_make_request() (Nigel Croxon) [2112935] - md/raid5: Check all disks in a stripe_head for reshape progress (Nigel Croxon) [2112935] - md/raid5: Refactor add_stripe_bio() (Nigel Croxon) [2112935] - md/raid5: Keep a reference to last stripe_head for batch (Nigel Croxon) [2112935] - md/raid5: Refactor for loop in raid5_make_request() into while loop (Nigel Croxon) [2112935] - md/raid5: Move read_seqcount_begin() into make_stripe_request() (Nigel Croxon) [2112935] - md/raid5: Drop the do_prepare flag in raid5_make_request() (Nigel Croxon) [2112935] - md/raid5: Factor out helper from raid5_make_request() loop (Nigel Croxon) [2112935] - md/raid5: Move common stripe get code into new find_get_stripe() helper (Nigel Croxon) [2112935] - md/raid5: Move stripe_add_to_batch_list() call out of add_stripe_bio() (Nigel Croxon) [2112935] - md/raid5: Refactor raid5_make_request loop (Nigel Croxon) [2112935] - md/raid5: Factor out ahead_of_reshape() function (Nigel Croxon) [2112935] - md/raid5: Make logic blocking check consistent with logic that blocks (Nigel Croxon) [2112935] - md: unlock mddev before reap sync_thread in action_store (Nigel Croxon) [2112935] - md: Explicitly create command-line configured devices (Nigel Croxon) [2112935] - md: Notify sysfs sync_completed in md_reap_sync_thread() (Nigel Croxon) [2112935] - md: Ensure resync is reported after it starts (Nigel Croxon) [2112935] - md: Use enum for overloaded magic numbers used by mddev->curr_resync (Nigel Croxon) [2112935] - md/raid5-cache: Annotate pslot with __rcu notation (Nigel Croxon) [2112935] - md/raid5-cache: Clear conf->log after finishing work (Nigel Croxon) [2112935] - md/raid5-cache: Drop RCU usage of conf->log (Nigel Croxon) [2112935] - md/raid5-cache: Take mddev_lock in r5c_journal_mode_show() (Nigel Croxon) [2112935] - md/raid5: suspend the array for calls to log_exit() (Nigel Croxon) [2112935] - md/raid5-ppl: Drop unused argument from ppl_handle_flush_request() (Nigel Croxon) [2112935] - md/raid5-log: Drop extern decorators for function prototypes (Nigel Croxon) [2112935] - md/raid5: missing error code in setup_conf() (Nigel Croxon) [2112935] - Revert "md: don't unregister sync_thread with reconfig_mutex held" (Nigel Croxon) [2112935] - qed: fix typos in comments (Manish Chopra) [2111885] - net: qede: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr() (Manish Chopra) [2111885] - qlogic: qed: fix clang -Wformat warnings (Manish Chopra) [2111885] - qed: Use bitmap_empty() (Manish Chopra) [2111885] - qed: Use the bitmap API to allocate bitmaps (Manish Chopra) [2111885] - qlogic/qed: fix repeated words in comments (Manish Chopra) [2111885] - net: qed: fix typos in comments (Manish Chopra) [2111885] - RDMA/qedr: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - qed: Remove unnecessary synchronize_irq() before free_irq() (Manish Chopra) [2111885] - qed: replace bitmap_weight with bitmap_empty in qed_roce_stop() (Manish Chopra) [2111885] - qed: rework qed_rdma_bmap_free() (Manish Chopra) [2111885] - qed: Remove IP services API. (Manish Chopra) [2111885] - qed: remove an unneed NULL check on list iterator (Manish Chopra) [2111885] - RDMA/irdma: Report RNR NAK generation in device caps (Kamal Heib) [2120676 2103957] - RDMA/irdma: Use s/g array in post send only when its valid (Kamal Heib) [2120676 2103957] - RDMA/irdma: Return correct WC error for bind operation failure (Kamal Heib) [2120676 2103957] - RDMA/irdma: Return error on MR deregister CQP failure (Kamal Heib) [2120676 2103957] - RDMA/irdma: Report the correct max cqes from query device (Kamal Heib) [2120676 2103957] - RDMA/siw: Pass a pointer to virt_to_page() (Kamal Heib) [2120676] - RDMA/cma: Fix arguments order in net device validation (Kamal Heib) [2120676] - RDMA/irdma: Fix drain SQ hang with no completion (Kamal Heib) [2120676 2103957 2033244 2053376] - IB/iser: Fix login with authentication (Kamal Heib) [2120676] - RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv() (Kamal Heib) [2120676] - RDMA/rxe: Fix error unwind in rxe_create_qp() (Kamal Heib) [2120676] - RDMA/rxe: Split qp state for requester and completer (Kamal Heib) [2120676] - RDMA/rxe: Generate error completion for error requester QP state (Kamal Heib) [2120676] - RDMA/rxe: Update wqe_index for each wqe error completion (Kamal Heib) [2120676] - RDMA/srpt: Fix a use-after-free (Kamal Heib) [2120676] - RDMA/srpt: Introduce a reference count in struct srpt_device (Kamal Heib) [2120676] - RDMA/srpt: Duplicate port name members (Kamal Heib) [2120676] - Revert "RDMA/rxe: Create duplicate mapping tables for FMRs" (Kamal Heib) [2120676] - RDMA/rxe: Replace __rxe_do_task by rxe_run_task (Kamal Heib) [2120676] - RDMA/rxe: Limit the number of calls to each tasklet (Kamal Heib) [2120676] - RDMA/rxe: Make the tasklet exits the same (Kamal Heib) [2120676] - RDMA/rxe: Fix rnr retry behavior (Kamal Heib) [2120676] - RDMA/rxe: Add rxe_is_fenced() subroutine (Kamal Heib) [2120676] - RDMA/rxe: For invalidate compare according to set keys in mr (Kamal Heib) [2120676] - RDMA: Fix comment typo (Kamal Heib) [2120676] - IB: Fix repeated words 'the the' comments (Kamal Heib) [2120676] - RDMA/rxe: Fix mw bind to allow any consumer key portion (Kamal Heib) [2120676] - RDMA/rxe: Fix spelling mistake in error print (Kamal Heib) [2120676] - RDMA/rxe: Remove unused qp parameter (Kamal Heib) [2120676] - RDMA/hfi1: fix potential memory leak in setup_base_ctxt() (Kamal Heib) [2120676] - RDMA/rxe: Remove unused mask parameter (Kamal Heib) [2120676] - RDMA/rxe: Rename rxe_atomic_reply to atomic_reply (Kamal Heib) [2120676] - RDMA/rxe: Add common rxe_prepare_res() (Kamal Heib) [2120676] - RDMA/rxe: Fix BUG: KASAN: null-ptr-deref in rxe_qp_do_cleanup (Kamal Heib) [2120676] - RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event (Kamal Heib) [2120676] - RDMA/hfi1: Depend on !UML (Kamal Heib) [2120676] - RDMA/irdma: Use the bitmap API to allocate bitmaps (Kamal Heib) [2120676 2103957] - RDMA: remove useless condition in siw_create_cq() (Kamal Heib) [2120676] - RDMA/irdma: Fix setting of QP context err_rq_idx_valid field (Kamal Heib) [2120676 2103957] - RDMA/irdma: Fix VLAN connection with wildcard address (Kamal Heib) [2120676 2103957] - RDMA/irdma: Fix a window for use-after-free (Kamal Heib) [2120676 2103957] - RDMA/irdma: Make resource distribution algorithm more QP oriented (Kamal Heib) [2120676 2103957] - RDMA/irdma: Make CQP invalid state error non-critical (Kamal Heib) [2120676 2103957] - RDMA/irdma: Add AE source to error log (Kamal Heib) [2120676 2103957] - RDMA/irdma: Add 2 level PBLE support for FMR (Kamal Heib) [2120676 2103957] - IB: Fix spelling of 'writable' (Kamal Heib) [2120676] - RDMA/rxe: Remove unnecessary include statement (Kamal Heib) [2120676] - RDMA/rxe: Replace include statement (Kamal Heib) [2120676] - RDMA/rxe: Convert pr_warn/err to pr_debug in pyverbs (Kamal Heib) [2120676] - RDMA/rxe: Fix deadlock in rxe_do_local_ops() (Kamal Heib) [2120676] - RDMA/rxe: Merge normal and retry atomic flows (Kamal Heib) [2120676] - RDMA/rxe: Move atomic original value to res (Kamal Heib) [2120676] - RDMA/rxe: Move atomic responder res to atomic_reply (Kamal Heib) [2120676] - RDMA/rxe: Add a responder state for atomic reply (Kamal Heib) [2120676] - RDMA/rxe: Move code to rxe_prepare_atomic_res() (Kamal Heib) [2120676] - RDMA/rxe: Convert read side locking to rcu (Kamal Heib) [2120676] - RDMA/rxe: Stop lookup of partially built objects (Kamal Heib) [2120676] - RDMA/rxe: Remove useless pkt parameters (Kamal Heib) [2120676] - RDMA: Correct duplicated words in comments (Kamal Heib) [2120676] - IB/iser: Drain the entire QP during destruction flow (Kamal Heib) [2120676] - RDMA/rxe: fix xa_alloc_cycle() error return value check again (Kamal Heib) [2120676] - RDMA/core: Add a netevent notifier to cma (Kamal Heib) [2120676 2117912] - RDMA/core: Add an rb_tree that stores cm_ids sorted by ifindex and remote IP (Kamal Heib) [2120676 2117912] - RDMA/hfi1: Fix typo in comment (Kamal Heib) [2120676] - RDMA: Split kernel-only global device caps from uverbs device caps (Kamal Heib) [2120675] - RDMA/hfi1: Remove all traces of diagpkt support (Kamal Heib) [2120675] - RDMA/hfi1: Consolidate software versions (Kamal Heib) [2120675] - RDMA/hfi1: Remove pointless driver version (Kamal Heib) [2120675] - RDMA/hfi1: Prevent panic when SDMA is disabled (Kamal Heib) [2120675] - RDMA/core: Fix typo in comment (Kamal Heib) [2120675] - IB/hf1: Fix typo in comment (Kamal Heib) [2120675] - IB/iser: Fix typo in comment (Kamal Heib) [2120675] - IB/isert: Avoid flush_scheduled_work() usage (Kamal Heib) [2120675] - RDMA/siw: Enable siw on tunnel devices (Kamal Heib) [2120675] - RDMA/rxe: Enforce IBA C11-17 (Kamal Heib) [2120675] - RDMA/rxe: Move mw cleanup code to rxe_mw_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Move mr cleanup code to rxe_mr_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Move qp cleanup code to rxe_qp_do_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Check rxe_get() return value (Kamal Heib) [2120675] - RDMA/rxe: Add rxe_srq_cleanup() (Kamal Heib) [2120675] - RDMA/rxe: Remove IB_SRQ_INIT_MASK (Kamal Heib) [2120675] - RDMA/rxe: Skip adjusting remote addr for write in retry operation (Kamal Heib) [2120675] - RDMA/rxe: Optimize the mr pool struct (Kamal Heib) [2120675] - RDMA/rxe: Replace paylen by payload (Kamal Heib) [2120675] - RDMA/core: Avoid flush_workqueue(system_unbound_wq) usage (Kamal Heib) [2120675] - RDMA/rxe: Remove useless parameters for update_state() (Kamal Heib) [2120675] - RDMA/rxe: Remove reliable datagram support (Kamal Heib) [2120675] - RDMA/rxe: Remove support for SMI QPs from rdma_rxe (Kamal Heib) [2120675] - RDMA/rxe: Remove mc_grp_pool from struct rxe_dev (Kamal Heib) [2120675] - RDMA/rxe: Remove type 2A memory window capability (Kamal Heib) [2120675] - RDMA/usnic: Refactor usnic_uiom_alloc_pd() (Kamal Heib) [2120675] - RDMA/usnic: Stop using iommu_present() (Kamal Heib) [2120675] - IB/SA: Replace usage of found with dedicated list iterator variable (Kamal Heib) [2120675] - IB/rdmavt: add missing locks in rvt_ruc_loopback (Kamal Heib) [2120675] - IB/uverbs: Move part of enum ib_device_cap_flags to uapi (Kamal Heib) [2120675] - IB/uverbs: Move enum ib_raw_packet_caps to uapi (Kamal Heib) [2120675] - RDMA/pvrdma: Remove useless DMA-32 fallback configuration (Kamal Heib) [2120675] - RDMA: switch from 'pci_' to 'dma_' API (Kamal Heib) [2120675] - scsi: RDMA/srp: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Kamal Heib) [2120675] - scsi: RDMA/iser: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Kamal Heib) [2120675] - x86/fpu: Prevent FPU state corruption (Oleksandr Natalenko) [2130890] - net: team: Unsync device addresses on ndo_stop (Hangbin Liu) [2135240] - mmu_gather: fix the CONFIG_MMU_GATHER_NO_RANGE case (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Force tlb-flush VM_PFNMAP vmas (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Let there be one tlb_{start,end}_vma() implementation (Waiman Long) [2130166] {CVE-2022-39188} - mmu_gather: Remove per arch tlb_{start,end}_vma() (Waiman Long) [2130166] {CVE-2022-39188} - x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables (Waiman Long) [2130166] {CVE-2022-39188} - tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu() (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm() (Waiman Long) [2130166] {CVE-2022-39188} - tlb: mmu_gather: Remove unused start/end arguments from tlb_finish_mmu() (Waiman Long) [2130166] {CVE-2022-39188} - mm: proc: Invalidate TLB after clearing soft-dirty page state (Waiman Long) [2130166] {CVE-2022-39188} - mm: fix clear_refs_write locking (Waiman Long) [2130166] {CVE-2022-39188} - s390/Kconfig: sort config S390 select list once again (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: provide MMU_GATHER_TABLE_FREE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_MMU_GATHER_NO_GATHER (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_MMU_GATHER_PAGE_SIZE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: rename HAVE_RCU_TABLE_FREE (Waiman Long) [2130166] {CVE-2022-39188} - asm-generic/tlb: avoid potential double flush (Waiman Long) [2130166] {CVE-2022-39188} - powerpc/mm/book3s64/radix: Flush the full mm even when need_flush_all is set (Waiman Long) [2130166] {CVE-2022-39188} - powerpc/mm/book3s64/radix: Use freed_tables instead of need_flush_all (Waiman Long) [2130166] {CVE-2022-39188} - mm/tlb: Remove CONFIG_HAVE_RCU_TABLE_INVALIDATE (Waiman Long) [2130166] {CVE-2022-39188} - Add skb drop reasons to IPv6 UDP receive path (Antoine Tenart) [2059158] - net: skb: export skb drop reaons to user by TRACE_DEFINE_ENUM (Antoine Tenart) [2059158] - net: skb: prevent the split of kfree_skb_reason() by gcc (Antoine Tenart) [2059158] - tcp: md5: fix IPv4-mapped support (Antoine Tenart) [2059158] - net: dropreason: reformat the comment fo skb drop reasons (Antoine Tenart) [2059158] - net: skb: use auto-generation to convert skb drop reason to string (Antoine Tenart) [2059158] - net: skb: move enum skb_drop_reason to standalone header file (Antoine Tenart) [2059158] - tcp_ipv6: set the drop_reason in the right place (Antoine Tenart) [2059158] - net: tcp: reset 'drop_reason' to NOT_SPCIFIED in tcp_v{4,6}_rcv() (Antoine Tenart) [2059158] - net: skb: change the definition SKB_DR_SET() (Antoine Tenart) [2059158] - net: skb: check the boundrary of drop reason in kfree_skb_reason() (Antoine Tenart) [2059158] - net: dm: check the boundary of skb drop reasons (Antoine Tenart) [2059158] - tcp: fix signed/unsigned comparison (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_ofo_queue() (Antoine Tenart) [2059158] - tcp: add drop reasons to tcp_rcv_synsent_state_process() (Antoine Tenart) [2059158] - tcp: make tcp_rcv_synsent_state_process() drop monitor friend (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_prune_ofo_queue() (Antoine Tenart) [2059158] - tcp: add two drop reasons for tcp_ack() (Antoine Tenart) [2059158] - tcp: add drop reasons to tcp_rcv_state_process() (Antoine Tenart) [2059158] - tcp: make tcp_rcv_state_process() drop monitor friendly (Antoine Tenart) [2059158] - tcp: add drop reason support to tcp_validate_incoming() (Antoine Tenart) [2059158] - tcp: get rid of rst_seq_match (Antoine Tenart) [2059158] - tcp: consume incoming skb leading to a reset (Antoine Tenart) [2059158] - tcp: tcp_send_challenge_ack delete useless param `skb` (Antoine Tenart) [2059158] - ipv6: fix NULL deref in ip6_rcv_core() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_protocol_deliver_rcu() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_rcv_core() (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to TLV parse (Antoine Tenart) [2059158] - net: ipv6: remove redundant statistics in ipv6_hop_jumbo() (Antoine Tenart) [2059158] - net: icmp: introduce function icmpv6_param_prob_reason() (Antoine Tenart) [2059158] - net: ip: add skb drop reasons to ip forwarding (Antoine Tenart) [2059158] - net: ipv6: add skb drop reasons to ip6_pkt_drop() (Antoine Tenart) [2059158] - net: ipv4: add skb drop reasons to ip_error() (Antoine Tenart) [2059158] - skb: add some helpers for skb drop reasons (Antoine Tenart) [2059158] - net: icmp: add skb drop reasons to icmp protocol (Antoine Tenart) [2059158] - ping: Check return value of function 'ping_queue_rcv_skb' (Antoine Tenart) [2059158] - net: icmp: introduce __ping_queue_rcv_skb() to report drop reasons (Antoine Tenart) [2059158] - net: skb: rename SKB_DROP_REASON_PTYPE_ABSENT (Antoine Tenart) [2059158] - net: sock: introduce sock_queue_rcv_skb_reason() (Antoine Tenart) [2059158] - net: tcp: fix shim definition of tcp_inbound_md5_hash (Antoine Tenart) [2059158] - skb: make drop reason booleanable (Antoine Tenart) [2059158] - net/tcp: Merge TCP-MD5 inbound callbacks (Antoine Tenart) [2059158] - tcp: md5: add tcp_md5_needed jump label (Antoine Tenart) [2059158] - net: tun: track dropped skb via kfree_skb_reason() (Antoine Tenart) [2059158] - net: tun: split run_ebpf_filter() and pskb_trim() into different "if statement" (Antoine Tenart) [2059158] - net: tap: track dropped skb via kfree_skb_reason() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for __netif_receive_skb_core() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for sch_handle_ingress() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for do_xdp_generic() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for enqueue_to_backlog() (Antoine Tenart) [2059158] - net: dev: add skb drop reasons to __dev_xmit_skb() (Antoine Tenart) [2059158] - net: skb: introduce the function kfree_skb_list_reason() (Antoine Tenart) [2059158] - net: dev: use kfree_skb_reason() for sch_handle_egress() (Antoine Tenart) [2059158] - net: neigh: add skb drop reasons to arp_error_report() (Antoine Tenart) [2059158] - net: neigh: use kfree_skb_reason() for __neigh_event_send() (Antoine Tenart) [2059158] - net: ip: add skb drop reasons for ip egress path (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_data_queue_ofo() (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_data_queue() (Antoine Tenart) [2059158] - net: tcp: use tcp_drop_reason() for tcp_rcv_established() (Antoine Tenart) [2059158] - net: tcp: use kfree_skb_reason() for tcp_v{4,6}_do_rcv() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_add_backlog() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_v{4,6}_inbound_md5_hash() (Antoine Tenart) [2059158] - ipv4/tcp: Pass dif and sdif to tcp_v4_inbound_md5_hash (Antoine Tenart) [2059158] - ipv6/tcp: Pass dif and sdif to tcp_v6_inbound_md5_hash (Antoine Tenart) [2059158] - ipv4/tcp: Use local variable for tcp_md5_addr (Antoine Tenart) [2059158] - net: tcp: use kfree_skb_reason() for tcp_v6_rcv() (Antoine Tenart) [2059158] - net: tcp: add skb drop reasons to tcp_v4_rcv() (Antoine Tenart) [2059158] - net: tcp: introduce tcp_drop_reason() (Antoine Tenart) [2059158] - ipv6: Add reasons for skb drops to __udp6_lib_rcv (Antoine Tenart) [2059158] - net: drop_monitor: support drop reason (Antoine Tenart) [2059158] - net: udp: use kfree_skb_reason() in __udp_queue_rcv_skb() (Antoine Tenart) [2059158] - net: udp: use kfree_skb_reason() in udp_queue_rcv_one_skb() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_protocol_deliver_rcu() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_rcv_finish_core() (Antoine Tenart) [2059158] - net: ipv4: use kfree_skb_reason() in ip_rcv_core() (Antoine Tenart) [2059158] - net: netfilter: use kfree_drop_reason() for NF_DROP (Antoine Tenart) [2059158] - net: skb_drop_reason: add document for drop reasons (Antoine Tenart) [2059158] - net: socket: rename SKB_DROP_REASON_SOCKET_FILTER (Antoine Tenart) [2059158] - net: skb: use kfree_skb_reason() in __udp4_lib_rcv() (Antoine Tenart) [2059158] - net: skb: use kfree_skb_reason() in tcp_v4_rcv() (Antoine Tenart) [2059158] - net: skb: introduce kfree_skb_reason() (Antoine Tenart) [2059158] - bnx2x: Fix comment typo (Manish Chopra) [2111882] - bnx2x: Fix spelling mistake "regiser" -> "register" (Manish Chopra) [2111882] - bnx2x: Fix undefined behavior due to shift overflowing the constant (Manish Chopra) [2111882] - net: sched: act_ct: fix possible refcount leak in tcf_ct_init() (Davide Caratti) [2133741] - net: sched: fix possible refcount leak in tc_new_tfilter() (Davide Caratti) [2133741] - sch_sfb: Also store skb len before calling child enqueue (Davide Caratti) [2133741] - sch_sfb: Don't assume the skb is still around after enqueueing to child (Davide Caratti) [2133741] - net/sched: fix netdevice reference leaks in attach_default_qdiscs() (Davide Caratti) [2133741] - net: sched: tbf: don't call qdisc_put() while holding tree lock (Davide Caratti) [2133741] - net: Fix data-races around weight_p and dev_weight_[rt]x_bias. (Davide Caratti) [2133741] - net/sched: act_api: Notify user space if any actions were flushed before error (Davide Caratti) [2133741] - tipc: fix an information leak in tipc_topsrv_kern_subscr (Xin Long) [2134962] - tipc: Fix recognition of trial period (Xin Long) [2134962] - tipc: fix shift wrapping bug in map_get() (Xin Long) [2134962] - PCI/ASPM: Make Intel DG2 L1 acceptable latency unlimited (Myron Stowe) [2072656] - x86/pci/xen: Use msi_msg shadow structs (Jerry Snitselaar) [2133518] - iommu/intel: Use msi_msg shadow structs (Jerry Snitselaar) [2133518] - PCI: MSI: Fix Kconfig dependencies for PCI_MSI_ARCH_FALLBACKS (Jerry Snitselaar) [2133518] - x86/apic/msi: Unbreak DMAR and HPET MSI (Jerry Snitselaar) [2133518] - iommu/amd: Remove domain search for PCI/MSI (Jerry Snitselaar) [2133518] - iommu/vt-d: Remove domain search for PCI/MSI[X] (Jerry Snitselaar) [2133518] - x86/irq: Make most MSI ops XEN private (Jerry Snitselaar) [2133518] - x86/irq: Cleanup the arch_*_msi_irqs() leftovers (Jerry Snitselaar) [2133518] - PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable (Jerry Snitselaar) [2133518] - x86/xen: Wrap XEN MSI management into irqdomain (Jerry Snitselaar) [2133518] - x86/xen: Consolidate XEN-MSI init (Jerry Snitselaar) [2133518] - x86/xen: Rework MSI teardown (Jerry Snitselaar) [2133518] - x86/xen: Make xen_msi_init() static and rename it to xen_hvm_msi_init() (Jerry Snitselaar) [2133518] - x86/irq: Move apic_post_init() invocation to one place (Jerry Snitselaar) [2133518] - x86/msi: Use generic MSI domain ops (Jerry Snitselaar) [2133518] - x86/msi: Remove pointless vcpu_affinity callback (Jerry Snitselaar) [2133518] - netfilter: nf_conntrack_irc: Tighten matching on DCC message (Wander Lairson Costa) [2124092] {CVE-2022-2663} - netfilter: nf_conntrack_irc: Fix forged IP logic (Wander Lairson Costa) [2124092] {CVE-2022-2663} - ice: Add support Flex RXD (Michal Schmidt) [2131310] - asm-generic: sections: refactor memory_intersects (Jerry Snitselaar) [2112119] - swiotlb: fix passing local variable to debugfs_create_ulong() (Jerry Snitselaar) [2112119] - swiotlb: move struct io_tlb_slot to swiotlb.c (Jerry Snitselaar) [2112119] - swiotlb: ensure a segment doesn't cross the area boundary (Jerry Snitselaar) [2112119] - swiotlb: consolidate rounding up default_nslabs (Jerry Snitselaar) [2112119] - swiotlb: remove unused fields in io_tlb_mem (Jerry Snitselaar) [2112119] - swiotlb: fix use after free on error handling path (Jerry Snitselaar) [2112119] - swiotlb: split up the global swiotlb lock (Jerry Snitselaar) [2112119] - swiotlb: fail map correctly with failed io_tlb_default_mem (Jerry Snitselaar) [2112119] - swiotlb: remove a useless return in swiotlb_init (Jerry Snitselaar) [2112119] - swiotlb: remove the unused swiotlb_force declaration (Jerry Snitselaar) [2112119] - iommu/dma: Fix race condition during iova_domain initialization (Jerry Snitselaar) [2112119] - iommu/amd: Fix compile warning in init code (Jerry Snitselaar) [2106599] - iommu/amd: Simplify and Consolidate Virtual APIC (AVIC) Enablement (Jerry Snitselaar) [2106599] - iommu/vt-d: Check correct capability for sagaw determination (Jerry Snitselaar) [2112119] - iommu/vt-d: Correctly calculate sagaw value of IOMMU (Jerry Snitselaar) [2112119] - iommu/vt-d: Fix kdump kernels boot failure with scalable mode (Jerry Snitselaar) [2080413] - iommu/amd: use full 64-bit value in build_completion_wait() (Jerry Snitselaar) [2112119] - swiotlb: avoid potential left shift overflow (Jerry Snitselaar) [2112119] - dma-debug: improve search for partial syncs (Jerry Snitselaar) [2112119] - iommu/iova: Improve 32-bit free space estimate (Jerry Snitselaar) [2112119] - iommu/amd: Handle return of iommu_device_sysfs_add (Jerry Snitselaar) [2112119] - swiotlb: fix setting ->force_bounce (Jerry Snitselaar) [2112119] - swiotlb: use the right nslabs-derived sizes in swiotlb_init_late (Jerry Snitselaar) [2112119] - swiotlb: use the right nslabs value in swiotlb_init_remap (Jerry Snitselaar) [2112119] - swiotlb: don't panic when the swiotlb buffer can't be allocated (Jerry Snitselaar) [2112119] - x86: remove cruft from (Jerry Snitselaar) [2112119] - swiotlb: remove swiotlb_init_with_tbl and swiotlb_init_late_with_tbl (Jerry Snitselaar) [2112119] - swiotlb: provide swiotlb_init variants that remap the buffer (Jerry Snitselaar) [2112119] - swiotlb: pass a gfp_mask argument to swiotlb_init_late (Jerry Snitselaar) [2112119] - swiotlb: add a SWIOTLB_ANY flag to lift the low memory restriction (Jerry Snitselaar) [2112119] - swiotlb: make the swiotlb_init interface more useful (Jerry Snitselaar) [2112119] - x86: centralize setting SWIOTLB_FORCE when guest memory encryption is enabled (Jerry Snitselaar) [2112119] - x86: remove the IOMMU table infrastructure (Jerry Snitselaar) [2112119] - swiotlb: rename swiotlb_late_init_with_default_size (Jerry Snitselaar) [2112119] - swiotlb: simplify swiotlb_max_segment (Jerry Snitselaar) [2112119] - iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE) (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: check return value after calling platform_get_resource() (Jerry Snitselaar) [2112119] - iommu/arm-smmu: fix possible null-ptr-deref in arm_smmu_device_probe() (Jerry Snitselaar) [2112119] - iommu/amd: Increase timeout waiting for GA log enablement (Jerry Snitselaar) [2112119] - iommu/amd: Do not call sleep while holding spinlock (Jerry Snitselaar) [2112119] - iommu/amd: Remove redundant check (Jerry Snitselaar) [2112119] - swiotlb: simplify array allocation (Jerry Snitselaar) [2112119] - swiotlb: tidy up includes (Jerry Snitselaar) [2112119] - treewide: Replace the use of mem_encrypt_active() with cc_platform_has() (Jerry Snitselaar) [2112119] - swiotlb: simplify debugfs setup (Jerry Snitselaar) [2112119] - iommu: Log iova range in map/unmap trace events (Jerry Snitselaar) [2112119] - iommu/amd: Improve amd_iommu_v2_exit() (Jerry Snitselaar) [2112119] - iommu/amd: Remove unused struct fault.devid (Jerry Snitselaar) [2112119] - iommu/amd: Clean up function declarations (Jerry Snitselaar) [2112119] - iommu/amd: Improve error handling for amd_iommu_init_pci (Jerry Snitselaar) [2112119] - iommu/iova: Separate out rcache init (Jerry Snitselaar) [2112119] - iommu/iova: Temporarily include dma-mapping.h from iova.h (Jerry Snitselaar) [2112119] - iommu: Move flush queue data into iommu_dma_cookie (Jerry Snitselaar) [2112119] - iommu/iova: Move flush queue code to iommu-dma (Jerry Snitselaar) [2112119] - iommu/iova: Consolidate flush queue code (Jerry Snitselaar) [2112119] - iommu/vt-d: Use put_pages_list (Jerry Snitselaar) [2112119] - iommu/amd: Use put_pages_list (Jerry Snitselaar) [2112119] - iommu/amd: Simplify pagetable freeing (Jerry Snitselaar) [2112119] - iommu/iova: Squash flush_cb abstraction (Jerry Snitselaar) [2112119] - iommu/iova: Squash entry_dtor abstraction (Jerry Snitselaar) [2112119] - iommu/iova: Move fast alloc size roundup into alloc_iova_fast() (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: fix event handling soft lockup (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: Avoid open coded arithmetic in memory allocation (Jerry Snitselaar) [2112119] - iommu/amd: Fix loop timeout issue in iommu_ga_log_enable() (Jerry Snitselaar) [2112119] - iommu/intel: Use msi_msg shadow structs (Jerry Snitselaar) [2112119] - dma-mapping: use 'bitmap_zalloc()' when applicable (Jerry Snitselaar) [2112119] - iommu/dma: Use kvcalloc() instead of kvzalloc() (Jerry Snitselaar) [2112119] - iommu/vt-d: Convert the return type of first_pte_in_page to bool (Jerry Snitselaar) [2112119] - iommu/vt-d: Use second level for GPA->HPA translation (Jerry Snitselaar) [2112119] - iommu/vt-d: Remove duplicate identity domain flag (Jerry Snitselaar) [2112119] - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option (Jerry Snitselaar) [2112119] - iommu/dma: Unexport IOVA cookie management (Jerry Snitselaar) [2112119] - iommu/amd: Use struct_group() for memcpy() region (Jerry Snitselaar) [2112119] - dma-mapping: remove bogus test for pfn_valid from dma_map_resource (Jerry Snitselaar) [2112119] - iommu/vt-d: Use pci_dev_id() helper (Jerry Snitselaar) [2112119] - swiotlb-xen: this is PV-only on x86 (Jerry Snitselaar) [2112119] - xen/pci-swiotlb: reduce visibility of symbols (Jerry Snitselaar) [2112119] - iova: Export alloc_iova_fast() and free_iova_fast() (Jerry Snitselaar) [2112119] - iommu: Clarify default domain Kconfig (Jerry Snitselaar) [2112119] - iommu/io-pgtable: Abstract iommu_iotlb_gather access (Jerry Snitselaar) [2112119] - iommu/vt-d: Refactor Kconfig a bit (Jerry Snitselaar) [2112119] - iommu: Allow enabling non-strict mode dynamically (Jerry Snitselaar) [2112119] - iommu: Merge strictness and domain type configs (Jerry Snitselaar) [2112119] - iommu: Only log strictness for DMA domains (Jerry Snitselaar) [2112119] - iommu: Expose DMA domain strictness via sysfs (Jerry Snitselaar) [2112119] - iommu: Express DMA strictness via the domain type (Jerry Snitselaar) [2112119] - iommu/vt-d: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu/arm-smmu: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu/amd: Prepare for multiple DMA domain types (Jerry Snitselaar) [2112119] - iommu: Introduce explicit type for non-strict DMA domains (Jerry Snitselaar) [2112119] - iommu/io-pgtable: Remove non-strict quirk (Jerry Snitselaar) [2112119] - iommu: Indicate queued flushes via gather data (Jerry Snitselaar) [2112119] - iommu/amd: Remove stale amd_iommu_unmap_flush usage (Jerry Snitselaar) [2112119] - iommu: Remove mode argument from iommu_set_dma_strict() (Jerry Snitselaar) [2112119] - iommu/amd: Add support for IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu/vt-d: Add support for IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu: Enhance IOMMU default DMA mode build options (Jerry Snitselaar) [2112119] - iommu: Print strict or lazy mode at init time (Jerry Snitselaar) [2112119] - iommu: Deprecate Intel and AMD cmdline methods to enable strict mode (Jerry Snitselaar) [2112119] - dma-debug: use memory_intersects() directly (Jerry Snitselaar) [2112119] - dma-debug: fix return value of __setup handlers (Jerry Snitselaar) [2112119] - arm-smmu-qcom: Ensure the qcom_scm driver has finished probing (Jerry Snitselaar) [2112119] - iommu/io-pgtable-arm: Clean up faulty sanity check (Jerry Snitselaar) [2112119] - iommu/vt-d: Fix RCU list debugging warnings (Jerry Snitselaar) [2112119] - iommu/dma: add a new dma_map_ops of get_merge_boundary() (Jerry Snitselaar) [2112119] - swiotlb: do not zero buffer in set_memory_decrypted() (Jerry Snitselaar) [2112119] - iommu: iommu_ops RH_KABI cleanup (Jerry Snitselaar) [2112119] - device: Fix RH_KABI work around (Jerry Snitselaar) [2112357] - iommu/vt-d: Drop stop marker messages (Jerry Snitselaar) [2112119] - iommu/vt-d: Remove unused function intel_svm_capable() (Jerry Snitselaar) [2112119] - iommu/arm-smmu-v3: Fix size calculation in arm_smmu_mm_invalidate_range() (Jerry Snitselaar) [2112119] - iommu/vt-d: Delete dev_has_feat callback (Jerry Snitselaar) [2112119] - iommu/amd: Remove useless irq affinity notifier (Jerry Snitselaar) [2112119]- scsi: qedi: Fix ABBA deadlock in qedi_process_tmf_resp() and qedi_process_cmd_cleanup_resp() (Nilesh Javali) [2109890] - scsi: qedi: Remove set but unused 'page' variable (Nilesh Javali) [2109890] - x86/elf: Disable automatic READ_IMPLIES_EXEC on 64-bit (Wander Lairson Costa) [2070700] {CVE-2022-25265} - x86/elf: Split READ_IMPLIES_EXEC from executable PT_GNU_STACK (Wander Lairson Costa) [2070700] {CVE-2022-25265} - x86/elf: Add table to document READ_IMPLIES_EXEC (Wander Lairson Costa) [2070700] {CVE-2022-25265} - RHEL-only: KVM: selftests: Enable rseq_test on aarch64 (Gavin Shan) [2128974] - KVM: selftests: Use getcpu() instead of sched_getcpu() in rseq_test (Gavin Shan) [2128974] - selftests: kvm: Fix a compile error in selftests/kvm/rseq_test.c (Gavin Shan) [2128974] - KVM: selftests: Fix target thread to be migrated in rseq_test (Gavin Shan) [2128974] - selftests: KVM: Handle compiler optimizations in ucall (Gavin Shan) [2128974] - selftests: kvm: replace ternary operator with min() (Gavin Shan) [2128974] - KVM: selftests: Fix typo in vgic_init test (Gavin Shan) [2128974] - KVM: selftests: Fix buggy-but-benign check in test_v3_new_redist_regions() (Gavin Shan) [2128974] - KVM: arm64: vgic: Fix exit condition in scan_its_table() (Gavin Shan) [2128974] - KVM: arm64: selftests: Add support for GICv2 on v3 (Gavin Shan) [2128974] - KVM: arm64: Fix comment typo in nvhe/switch.c (Gavin Shan) [2128974] - KVM: arm64: vgic: Remove duplicate check in update_affinity_collection() (Gavin Shan) [2128974] - KVM: arm64: Don't return from void function (Gavin Shan) [2128974] - KVM: arm64: Drop stale comment (Gavin Shan) [2128974] - KVM: arm64: Warn if accessing timer pending state outside of vcpu context (Gavin Shan) [2128974] - KVM: arm64: Replace vgic_v3_uaccess_read_pending with vgic_uaccess_read_pending (Gavin Shan) [2128974] - KVM: arm64: vgic: Undo work in failed ITS restores (Gavin Shan) [2128974] - KVM: arm64: vgic: Do not ignore vgic_its_restore_cte failures (Gavin Shan) [2128974] - KVM: arm64: vgic: Add more checks when restoring ITS tables (Gavin Shan) [2128974] - KVM: arm64: vgic: Check that new ITEs could be saved in guest memory (Gavin Shan) [2128974] - KVM: arm64: nvhe: Eliminate kernel-doc warnings (Gavin Shan) [2128974] - KVM: arm64: Print emulated register table name when it is unsorted (Gavin Shan) [2128974] - KVM: arm64: Don't BUG_ON() if emulated register table is unsorted (Gavin Shan) [2128974] - KVM: arm64: Inject exception on out-of-IPA-range translation fault (Gavin Shan) [2128974] - KVM: arm64: vgic: Remove unnecessary type castings (Gavin Shan) [2128974] - KVM: arm64: Drop unused param from kvm_psci_version() (Gavin Shan) [2128974] - KVM: arm64: vgic: Add memcg accounting to vgic allocations (Gavin Shan) [2128974] - x86/split_lock: Enable the split lock feature on Raptor Lake (Prarit Bhargava) [2076738] - mm: prevent page_frag_alloc() from corrupting the memory (Izabela Bakollari) [2132265] - RDMA/mlx5: Set local port to one when accessing counters (Mohammad Kabat) [2077119] - scsi: ch: Do not initialise statics to 0 (Ewan D. Milne) [2132458] - scsi: core: Fix warning in scsi_alloc_sgtables() (Ewan D. Milne) [2132458] - scsi: core: Move the definition of SCSI_QUEUE_DELAY (Ewan D. Milne) [2132458] - scsi: scsi_debug: Fix zone transition to full condition (Ewan D. Milne) [2132458] - scsi: sd_zbc: Prevent zone information memory leak (Ewan D. Milne) [2132458] - scsi: sd: Fix potential NULL pointer dereference (Ewan D. Milne) [2132458] - scsi: sr: Add memory allocation failure handling for get_capabilities() (Ewan D. Milne) [2132458] - scsi: sd: Use cached ATA Information VPD page (Ewan D. Milne) [2132458] - scsi: core: Do not truncate INQUIRY data on modern devices (Ewan D. Milne) [2132458] - scsi: core: Pick suitable allocation length in scsi_report_opcode() (Ewan D. Milne) [2132458] - scsi: core: Query VPD size before getting full page (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add gap zone support (Ewan D. Milne) [2132458] - scsi: scsi_debug: Rename zone type constants (Ewan D. Milne) [2132458] - scsi: scsi_debug: Fix a typo (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Hide gap zones (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Return early in sd_zbc_check_zoned_characteristics() (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Introduce struct zoned_disk_info (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Use logical blocks as unit when querying zones (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Verify that the zone size is a power of two (Ewan D. Milne) [2132458] - scsi: sd: sd_zbc: Improve source code documentation (Ewan D. Milne) [2132458] - scsi: sr: Do not leak information in ioctl (Ewan D. Milne) [2132458] - scsi: core: Remove unreachable code warning (Ewan D. Milne) [2132458] - scsi: libfc: Fix use after free in fc_exch_abts_resp() (Ewan D. Milne) [2132458] - scsi: scsi_debug: Silence unexpected unlock warnings (Ewan D. Milne) [2132458] - scsi: Remove unused member cmd_pool for structure scsi_host_template (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add environmental reporting log subpage (Ewan D. Milne) [2132458] - scsi: scsi_debug: Add no_rwlock parameter (Ewan D. Milne) [2132458] - scsi: scsi_debug: Divide power on reset UNIT ATTENTION (Ewan D. Milne) [2132458] - scsi: scsi_debug: Use TASK SET FULL more (Ewan D. Milne) [2132458] - scsi: scsi_debug: Strengthen defer_t accesses (Ewan D. Milne) [2132458] - scsi: ch: Don't use GFP_DMA (Ewan D. Milne) [2132458] - scsi: scsi_transport_sas: Add 22.5 Gbps link rate definitions (Ewan D. Milne) [2132458] - scsi: sd: Free scsi_disk device via put_device() (Ewan D. Milne) [2132458] - scsi: scsi_debug: Adjust num_parts to create equally sized partitions (Ewan D. Milne) [2132458] - scsi: ch: remove ch_mutex() (Ewan D. Milne) [2132458] - scsi: ch: synchronize ch_probe() and ch_open() (Ewan D. Milne) [2132458] - scsi: ch: fixup refcounting imbalance for SCSI devices (Ewan D. Milne) [2132458] - scsi: mpi3mr: Schedule IRQ kthreads only on non-RT kernels (Tomas Henzl) [2134535] - netfilter: flowtable: fix stuck flows on cleanup due to pending work (Phil Sutter) [2131370] - netfilter: flowtable: add function to invoke garbage collection immediately (Phil Sutter) [2131370] - netfilter: flowtable: pass flowtable to nf_flow_table_iterate() (Phil Sutter) [2131370] - netfilter: flowtable: separate replace, destroy and stats to different workqueues (Phil Sutter) [2131370] - drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 (Jocelyn Falempe) [2130159] - af_key: Do not call xfrm_probe_algs in parallel (Sabrina Dubroca) [2122369] {CVE-2022-3028} - xfrm: Update ipcomp_scratches with NULL when freed (Sabrina Dubroca) [2136193] - esp: choose the correct inner protocol for GSO on inter address family tunnels (Sabrina Dubroca) [2136193] - xfrm: fix refcount leak in __xfrm_policy_check() (Sabrina Dubroca) [2136193] - xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup() (Sabrina Dubroca) [2136193] - net: Fix esp GSO on inter address family tunnels. (Sabrina Dubroca) [2136193] - esp: Fix BEET mode inter address family tunneling on GSO (Sabrina Dubroca) [2136193] - cifs: fix check of dfs interlinks (Ronnie Sahlberg) [2132414] - powerpc/pseries: Fix numa FORM2 parsing fallback code (Nico Pache) [2089496] - powerpc/pseries: rename numa_dist_table to form2_distances (Nico Pache) [2089496] - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT (Nico Pache) [2089496] - hugetlb: add lockdep check for i_mmap_rwsem held in huge_pmd_share (Nico Pache) [2089496] - mm: page_io: fix psi memory pressure error on cold swapins (Nico Pache) [2089496] - mm/memcg: Remove 'page' parameter to mem_cgroup_charge_statistics() (Nico Pache) [2089496] - mm: workingset: replace IRQ-off check with a lockdep assert. (Nico Pache) [2089496] - mm/madvise: fix potential pte_unmap_unlock pte error (Nico Pache) [2089496] - mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove() (Nico Pache) [2089496] - mm/sparse.c: remove NULL check in clear_hwpoisoned_pages() (Nico Pache) [2089496] - node: fix device cleanups in error handling code (Nico Pache) [2089496] - x86/setup: Fix static memory detection (Nico Pache) [2089496] - x86/fault: Don't send SIGSEGV twice on SEGV_PKUERR (Nico Pache) [2089496] - s390/startup: round down "mem" option to page boundary (Nico Pache) [2089496] - powerpc/64s: Remove 'dummy_copy_buffer' (Nico Pache) [2089496] - page_alloc: fix invalid watermark check on a negative value (Nico Pache) [2089496] - lib/radix-tree: remove unused argument of insert_entries (Nico Pache) [2089496] - drm/radeon: fix incorrrect SPDX-License-Identifiers (Nico Pache) [2089496] - mm/swap: fix the obsolete comment for SWP_TYPE_SHIFT (Nico Pache) [2089496] - irq_work: use kasan_record_aux_stack_noalloc() record callstack (Nico Pache) [2089496] - kdb: Fix the putarea helper function (Nico Pache) [2089496] - mm: slab: Delete unused SLAB_DEACTIVATED flag (Nico Pache) [2089496] - mm, kasan: use compare-exchange operation to set KASAN page tag (Nico Pache) [2089496] - rcu: Avoid alloc_pages() when recording stack (Nico Pache) [2089496] - workqueue, kasan: avoid alloc_pages() when recording stack (Nico Pache) [2089496] - kasan: generic: introduce kasan_record_aux_stack_noalloc() (Nico Pache) [2089496] - kasan: common: provide can_alloc in kasan_save_stack() (Nico Pache) [2089496] - lib/stackdepot: remove unused function argument (Nico Pache) [2089496] - lib/stackdepot: include gfp.h (Nico Pache) [2089496] - blk-cgroup: blk_cgroup_bio_start() should use irq-safe operations on blkg->iostat_cpu (Nico Pache) [2089496] - libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind (Nico Pache) [2089496] - include/trace/events/vmscan.h: remove mm_vmscan_inactive_list_is_low (Nico Pache) [2089496] - khugepaged: selftests: remove debug_cow (Nico Pache) [2089496] - mm/mmzone.h: simplify is_highmem_idx() (Nico Pache) [2089496] - mm/page-writeback: use __this_cpu_inc() in account_page_dirtied() (Nico Pache) [2089496] - mm/page-writeback: update the comment of Dirty position control (Nico Pache) [2089496] - mm/page-writeback: Fix performance when BDI's share of ratio is 0. (Nico Pache) [2089496] - fuse: ignore PG_workingset after stealing (Nico Pache) [2089496] - mm/slub: actually fix freelist pointer vs redzoning (Nico Pache) [2089496] - mm/slub: clarify verification reporting (Nico Pache) [2089496] - irq_work: Make irq_work_queue() NMI-safe again (Nico Pache) [2089496] - mm/huge_memory.c: remove unused macro TRANSPARENT_HUGEPAGE_DEBUG_COW_FLAG (Nico Pache) [2089496] - irq_work: record irq_work_queue() call stack (Nico Pache) [2089496] - arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL (Nico Pache) [2089496] - mm/arm64: Correct obsolete comment in do_page_fault() (Nico Pache) [2089496] - kernel: kexec: remove the lock operation of system_transition_mutex (Nico Pache) [2089496] - libnvdimm/pmem: Remove unused header (Nico Pache) [2089496] - workqueue: kasan: record workqueue stack (Nico Pache) [2089496] - lib/test_kasan.c: add workqueue test case (Nico Pache) [2089496] - page_frag: Recover from memory pressure (Nico Pache) [2089496] - mm: use helper function put_write_access() (Nico Pache) [2089496] - mm/swapfile.c: remove unnecessary goto out in _swap_info_get() (Nico Pache) [2089496] - mm/swap.c: fix incomplete comment in lru_cache_add_inactive_or_unevictable() (Nico Pache) [2089496] - mm/page_io.c: remove useless out label in __swap_writepage() (Nico Pache) [2089496] - mm/swap_slots.c: remove always zero and unused return value of enable_swap_slots_cache() (Nico Pache) [2089496] - mm/swap.c: fix confusing comment in release_pages() (Nico Pache) [2089496] - mm: annotate a data race in page_zonenum() (Nico Pache) [2089496] - mm/swap.c: annotate data races for lru_rotate_pvecs (Nico Pache) [2089496] - mm/rmap: annotate a data race at tlb_flush_batched (Nico Pache) [2089496] - mm/mempool: fix a data race in mempool_free() (Nico Pache) [2089496] - mm/list_lru: fix a data race in list_lru_count_one (Nico Pache) [2089496] - mm/memcontrol: fix a data race in scan count (Nico Pache) [2089496] - mm/swapfile: fix and annotate various data races (Nico Pache) [2089496] - mm: thp: remove debug_cow switch (Nico Pache) [2089496] - page_alloc: consider highatomic reserve in watermark fast (Nico Pache) [2089496] - mm: remove unnecessary wrapper function do_mmap_pgoff() (Nico Pache) [2089496] - doc: don't use deprecated "---help---" markers in target docs (Nico Pache) [2089496] - doc: cgroup: update note about conditions when oom killer is invoked (Nico Pache) [2089496] - mm: add kvfree_sensitive() for freeing sensitive data objects (Nico Pache) [2089496] - f2fs: fix retry logic in f2fs_write_cache_pages() (Nico Pache) [2089496] - mm/hugetlb: avoid unnecessary check on pud and pmd entry in huge_pte_offset (Nico Pache) [2089496] - mm/page-writeback.c: remove unused variable (Nico Pache) [2089496] - zswap: docs/vm: Fix typo accept_threshold_percent in zswap.rst (Nico Pache) [2089496] - tracing: Add a vmalloc_sync_mappings() for safe measure (Nico Pache) [2089496] - mm/hugetlb: fix a addressing exception caused by huge_pte_offset (Nico Pache) [2089496] - mm/page-writeback.c: write_cache_pages(): deduplicate identical checks (Nico Pache) [2089496] - revert "topology: add support for node_to_mem_node() to determine the fallback node" (Nico Pache) [2089496] - net: memcg: fix lockdep splat in inet_csk_accept() (Nico Pache) [2089496] - net: memcg: late association of sock to memcg (Nico Pache) [2089496] - tmpfs: deny and force are not huge mount options (Nico Pache) [2089496] - mm/zswap.c: add allocation hysteresis if pool limit is hit (Nico Pache) [2089496] - mm/swapfile.c: swap_next should increase position index (Nico Pache) [2089496] - fat: use prandom_u32() for i_generation (Nico Pache) [2089496] - mm/mmap.c: rb_parent is not necessary in __vma_link_list() (Nico Pache) [2089496] - mm/mmap.c: __vma_unlink_prev() is not necessary now (Nico Pache) [2089496] - docs: kmemleak: DEBUG_KMEMLEAK_EARLY_LOG_SIZE changed names (Nico Pache) [2089496] - mm/mmap.c: prev could be retrieved from vma->vm_prev (Nico Pache) [2089496] - mm/zsmalloc.c: fix a -Wunused-function warning (Nico Pache) [2089496] - mm/rmap.c: remove set but not used variable 'cstart' (Nico Pache) [2089496] - tools headers UAPI: Update tools's copy of mman.h headers (Nico Pache) [2089496] - mm/mmap: move common defines to mman-common.h (Nico Pache) [2089496] - mm: fix the MAP_UNINITIALIZED flag (Nico Pache) [2089496] - mm: vmalloc: show number of vmalloc pages in /proc/meminfo (Nico Pache) [2089496] - slab: remove /proc/slab_allocators (Nico Pache) [2089496] - mm/huge_memory.c: fix "orig_pud" set but not used (Nico Pache) [2089496] - mm: hwpoison: use do_send_sig_info() instead of force_sig() (Nico Pache) [2089496] - mm, page_alloc: drop should_suppress_show_mem (Nico Pache) [2089496] - mm,page_alloc: PF_WQ_WORKER threads must sleep at should_reclaim_retry() (Nico Pache) [2089496] - powerpc/8xx: Use patch_site for perf counters setup (Nico Pache) [2089496] - powerpc/8xx: Use patch_site for memory setup patching (Nico Pache) [2089496] - Revert "powerpc/8xx: Use L1 entry APG to handle _PAGE_ACCESSED for CONFIG_SWAP" (Nico Pache) [2089496] - mm/swapfile.c: put_swap_page: share more between huge/normal code path (Nico Pache) [2089496] - mm, swap, get_swap_pages: use entry_size instead of cluster in parameter (Nico Pache) [2089496] - mm/swapfile.c: add __swap_entry_free_locked() (Nico Pache) [2089496] - mm/swapfile.c: unify normal/huge code path in put_swap_page() (Nico Pache) [2089496] - mm/swapfile.c: unify normal/huge code path in swap_page_trans_huge_swapped() (Nico Pache) [2089496] - mm/swapfile.c: replace some #ifdef with IS_ENABLED() (Nico Pache) [2089496] - mm: swap: add comments to lock_cluster_or_swap_info() (Nico Pache) [2089496] - mm/swapfile.c: use swap_count() in swap_page_trans_huge_swapped() (Nico Pache) [2089496] - mm, oom: remove sleep from under oom_lock (Nico Pache) [2089496] - mm/hugetlb: remove gigantic page support for HIGHMEM (Nico Pache) [2089496] - mm/page-writeback.c: update stale account_page_redirty() comment (Nico Pache) [2089496] - shmem: use monotonic time for i_generation (Nico Pache) [2089496] - mptcp: increase default max additional subflows to 2 (Paolo Abeni) [2127136] - ipv6/addrconf: fix a null-ptr-deref bug for ip6_ptr (Davide Caratti) [2103990] - ipv6: Refactor fib6_ignore_linkdown (Davide Caratti) [2103990] - Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process" (Davide Caratti) [2103990] - net: af_key: add check for pfkey_broadcast in function pfkey_process (Davide Caratti) [2103990] - certs: Add FIPS selftests (Vladis Dronov) [2134828] - certs: Move load_certificate_list() to be with the asymmetric keys code (Vladis Dronov) [2134828]- selftests/bpf: Limit unroll_count for pyperf600 test (Viktor Malik) [2139128]- perf affinity: Fix out of bound access to "sched_cpus" mask (Michael Petlan) [2125952] - net: skb: introduce and use a single page frag cache (Paolo Abeni) [2063335] - powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL (Steve Best) [2131651] - agp/intel: Rename intel-gtt symbols (Jocelyn Falempe) [2115871] - drm/i915/gt: Split intel-gtt functions by arch (Jocelyn Falempe) [2115871] - drm: Implement DRM aperture helpers under video/ (Jocelyn Falempe) [2115871] - efi: Fix build error due to enum collision between efi.h and ima.h (Jocelyn Falempe) [2115871] - Revert "workqueue: remove unused cancel_work()" (Jocelyn Falempe) [2115871] - dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace (Jocelyn Falempe) [2115871] - drm/i915/gsc: add gsc as a mei auxiliary device (Jocelyn Falempe) [2115871] - drm/i915: Prepare for multiple GTs (Jocelyn Falempe) [2115871] - drm/i915/gt: add gt_is_root() helper (Jocelyn Falempe) [2115871] - drm/i915: Rename INTEL_REGION_LMEM with INTEL_REGION_LMEM_0 (Jocelyn Falempe) [2115871] - drm/i915: fixup the initial fb base on DGFX (Jocelyn Falempe) [2115871] - drm/i915: add i915_gem_object_create_region_at() (Jocelyn Falempe) [2115871] - drm/i915: Report steering details in debugfs (Jocelyn Falempe) [2115871] - x86/gpu: include drm/i915_pciids.h directly in early quirks (Jocelyn Falempe) [2115871] - staging: fbtft: core: set smem_len before fb_deferred_io_init call (Jocelyn Falempe) [2115871] - fbdev: Put mmap for deferred I/O into drivers (Jocelyn Falempe) [2115871] - fbdev: Track deferred-I/O pages in pageref struct (Jocelyn Falempe) [2115871] - fbdev: defio: fix the pagelist corruption (Jocelyn Falempe) [2115871] - fbdev: Don't sort deferred-I/O pages by default (Jocelyn Falempe) [2115871] - staging: fbtft: Add spaces around / - Style (Jocelyn Falempe) [2115871] - fbdev/defio: Early-out if page is already enlisted (Jocelyn Falempe) [2115871] - panic, kexec: make __crash_kexec() NMI safe (Valentin Schneider) [2134126] - kexec: turn all kexec_mutex acquisitions into trylocks (Valentin Schneider) [2134126] - kexec: move locking into do_kexec_load (Valentin Schneider) [2134126] - ice: Fix interface being down after reset with link-down-on-close flag on (Petr Oros) [2024110] - ice: Add low latency Tx timestamp read (Petr Oros) [2092425] - ice: introduce ice_ptp_reset_cached_phctime function (Petr Oros) [2092425] - ice: re-arrange some static functions in ice_ptp.c (Petr Oros) [2092425] - ice: track and warn when PHC update is late (Petr Oros) [2092425] - ice: track Tx timestamp stats similar to other Intel drivers (Petr Oros) [2092425] - ice: implement adjfine with mul_u64_u64_div_u64 (Petr Oros) [2092425] - ice: Add EXTTS feature to the feature bitmap (Petr Oros) [2092425] - math: Export mul_u64_u64_div_u64 (Petr Oros) [2092425] - neighbour: allow NUD_NOARP entries to be forced GCed (Xin Long) [2076534] - neighbour: Prevent Race condition in neighbour subsytem (Xin Long) [2076534] - neighbour: Prevent a dead entry from updating gc_list (Xin Long) [2076534] - net: Exempt multicast addresses from five-second neighbor lifetime (Xin Long) [2076534] - neighbor: Reset gc_entries counter if new entry is released before insert (Xin Long) [2076534] - neighbor: Remove externally learned entries from gc_list (Xin Long) [2076534] - neighbor: Move neigh_update_ext_learned to core file (Xin Long) [2076534] - neighbor: Remove state and flags arguments to neigh_del (Xin Long) [2076534] - neighbor: Fix state check in neigh_forced_gc (Xin Long) [2076534] - neighbor: Fix locking order for gc_list changes (Xin Long) [2076534] - neighbor: gc_list changes should be protected by table lock (Xin Long) [2076534] - neighbor: Improve garbage collection (Xin Long) [2076534] - neighbour: send netlink notification if NTF_ROUTER changes (Xin Long) [2076534] - neighbour: allow admin to set NTF_ROUTER (Xin Long) [2076534] - s390/dasd: add device ping attribute (Tobias Huschle) [2043877] - s390/dasd: suppress generic error messages for PPRC secondary devices (Tobias Huschle) [2043877] - s390/dasd: add ioctl to perform a swap of the drivers copy pair (Tobias Huschle) [2043877] - s390/dasd: add copy pair swap capability (Tobias Huschle) [2043877] - s390/dasd: add copy pair setup (Tobias Huschle) [2043877] - s390/dasd: add query PPRC function (Tobias Huschle) [2043877] - s390/dasd: put block allocation in separate function (Tobias Huschle) [2043877] - s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup (Tobias Huschle) [2043877] - s390/qeth: Split memcpy() of struct qeth_ipacmd_addr_change flexible array (Tobias Huschle) [2110426] - s390/qeth: Fix typo 'the the' in comment (Tobias Huschle) [2110426] - s390/qdio: Fix spelling mistake (Tobias Huschle) [2110426] - qeth: remove a copy of the NAPI_POLL_WEIGHT define (Tobias Huschle) [2110426] - scsi: bnx2fc: Avoid using get_cpu() in bnx2fc_cmd_alloc() (Nilesh Javali) [2109895] - scsi: bnx2fc: Fix spelling mistake "mis-match" -> "mismatch" (Nilesh Javali) [2109895] - scsi: bnx2fc: Make use of the helper macro kthread_run() (Nilesh Javali) [2109895] - scsi: bnx2fc: Fix typo in comments (Nilesh Javali) [2109895] - scsi: qedf: Populate sysfs attributes for vport (Nilesh Javali) [2120219] - scsi: qedf: Fix typo in comment (Nilesh Javali) [2109893] - scsi: qedf: Remove redundant variable op (Nilesh Javali) [2109893] - scsi: qedf: Remove an unneeded NULL check on list iterator (Nilesh Javali) [2109893] - scsi: qedf: Remove unnecessary code (Nilesh Javali) [2109893] - s390/sclp: reserve memory occupied by sclp early buffer (Mete Durlu) [2060830] - s390: make command line configurable (Mete Durlu) [2060830] - s390: support command lines longer than 896 bytes (Mete Durlu) [2060830] - s390/kexec_file: move kernel image size check (Mete Durlu) [2060830] - s390/boot: move sclp early buffer from fixed address in asm to C (Mete Durlu) [2060830] - drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES (Phil Auld) [2115518] - sched/core: Do not requeue task on CPU excluded from cpus_mask (Phil Auld) [2115518] - workqueue: Avoid a false warning in unbind_workers() (Phil Auld) [2115518] - sched/core: Always flush pending blk_plug (Phil Auld) [2115518] - sched/fair: fix case with reduced capacity CPU (Phil Auld) [2115518] - sched: Remove unused function group_first_cpu() (Phil Auld) [2115518] - sched/fair: Remove redundant word " *" (Phil Auld) [2115518] - sched: only perform capability check on privileged operation (Phil Auld) [2115518] - sched: Allow newidle balancing to bail out of load_balance (Phil Auld) [2115518] - sched: Remove the limitation of WF_ON_CPU on wakelist if wakee cpu is idle (Phil Auld) [2115518] - sched: Fix the check of nr_running at queue wakelist (Phil Auld) [2115518] - sched: Fix balance_push() vs __sched_setscheduler() (Phil Auld) [2115518] - sched/fair: Optimize and simplify rq leaf_cfs_rq_list (Phil Auld) [2115518] - topology: Remove unused cpu_cluster_mask() (Phil Auld) [2115518] - sched: Update task_tick_numa to ignore tasks without an mm (Phil Auld) [2115518] - sched/deadline: Remove superfluous rq clock update in push_dl_task() (Phil Auld) [2115518] - time/sched_clock: Fix formatting of frequency reporting code (Phil Auld) [2115518] - time/sched_clock: Use Hz as the unit for clock rate reporting below 4kHz (Phil Auld) [2115518] - time/sched_clock: Round the frequency reported to nearest rather than down (Phil Auld) [2115518] - sched/fair: Delete useless condition in tg_unthrottle_up() (Phil Auld) [2115518] - sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq (Phil Auld) [2115518] - workqueue: Restrict kworker in the offline CPU pool running on housekeeping CPUs (Phil Auld) [2115518] - kernel/sched: Remove dl_boosted flag comment (Phil Auld) [2115518] - workqueue: Remove schedule() in unbind_workers() (Phil Auld) [2115518] - workqueue: Remove outdated comment about exceptional workers in unbind_workers() (Phil Auld) [2115518] - workqueue: Remove the advanced kicking of the idle workers in rebind_workers() (Phil Auld) [2115518] - workqueue: Fix unbind_workers() VS wq_worker_running() race (Phil Auld) [2115518] - sched/membarrier: fix missing local execution of ipi_sync_rq_state() (Phil Auld) [2115518] - kthread: Move prio/affinite change into the newly created thread (Phil Auld) [2115518]- dmaengine: idxd: Correct IAX operation code names (Jerry Snitselaar) [2112121] - dmaengine: dmatest: use strscpy to replace strlcpy (Jerry Snitselaar) [2112121] - dmaengine: remove DMA_MEMCPY_SG once again (Jerry Snitselaar) [2112121] - MAINTAINERS: idxd driver maintainer update (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Replace symbolic permissions by octal permissions (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Remove spaces before tabs (Jerry Snitselaar) [2112121] - dma:dw: remove reference to AVR32 architecture in core.c (Jerry Snitselaar) [2112121] - dmaengine: idxd: Only call idxd_enable_system_pasid() if succeeded in enabling SVA feature (Jerry Snitselaar) [2112121] - dmaengine: idxd: force wq context cleanup on device disable path (Jerry Snitselaar) [2112121] - dmaengine: Revert "dmaengine: add verification of DMA_INTERRUPT capability for dmatest" (Jerry Snitselaar) [2112121] - dmaengine: idxd: Separate user and kernel pasid enabling (Jerry Snitselaar) [2112121] - dmaengine: ptdma: statify pt_tx_status (Jerry Snitselaar) [2112121] - dmaengine: hidma: In hidma_prep_dma_memset treat value as a single byte (Jerry Snitselaar) [2112121] - dmaengine: Document dmaengine_prep_dma_memset (Jerry Snitselaar) [2112121] - dmaengine: PTDMA: support polled mode (Jerry Snitselaar) [2112121] - dmaengine: Remove a useless mutex (Jerry Snitselaar) [2112121] - dmaengine: idxd: update IAA definitions for user header (Jerry Snitselaar) [2112121] - dmaengine: Clarify cyclic transfer residue documentation (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2112121] - dmaengine: iot: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2112121] - dmaengine: ioatdma: use default_groups in kobj_type (Jerry Snitselaar) [2112121] - Documentation: dmaengine: Correctly describe dmatest with channel unset (Jerry Snitselaar) [2112121] - Documentation: dmaengine: Add a description of what dmatest does (Jerry Snitselaar) [2112121] - dmaengine: Add core function and capability check for DMA_MEMCPY_SG (Jerry Snitselaar) [2112121] - dmaengine: Add documentation for new memcpy scatter-gather function (Jerry Snitselaar) [2112121] - dmaengine: remove slave_id config field (Jerry Snitselaar) [2112121] - dmaengine: ioat: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: hsu: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: dw: switch from 'pci_' to 'dma_' API (Jerry Snitselaar) [2112121] - dmaengine: remove debugfs #ifdef (Jerry Snitselaar) [2112121] - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` (Jerry Snitselaar) [2112121] - dmaengine: Remove redundant initialization of variable err (Jerry Snitselaar) [2112121] - dmaengine: Extend the dma_slave_width for 128 bytes (Jerry Snitselaar) [2112121] - dmaengine: ioat: depends on !UML (Jerry Snitselaar) [2112121] - dmaengine: dw: Simplify DT property parser (Jerry Snitselaar) [2112121] - dmaengine: dw: Convert members to u32 in platform data (Jerry Snitselaar) [2112121] - dmaengine: dw: Remove error message from DT parsing code (Jerry Snitselaar) [2112121] - dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available (Jerry Snitselaar) [2112121] - dmaengine: hsu: Account transferred bytes (Jerry Snitselaar) [2112121] - dmaengine: Move kdoc description of struct dma_chan_percpu closer to it (Jerry Snitselaar) [2112121] - dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: comment platform_driver_register call (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: remove unused code (Jerry Snitselaar) [2112121] - dmaengine: Fix a double free in dma_async_device_register (Jerry Snitselaar) [2112121] - dmaengine: hsu: disable spurious interrupt (Jerry Snitselaar) [2112121] - dmaengine: Extend the dmaengine_alignment for 128 and 256 bytes (Jerry Snitselaar) [2112121] - dmaengine: dmatest: Use dmaengine_get_dma_device (Jerry Snitselaar) [2112121] - dmaengine: doc: client: Update for dmaengine_get_dma_device() usage (Jerry Snitselaar) [2112121] - dmaengine: Add support for per channel coherency handling (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Add support for optional router configuration callback (Jerry Snitselaar) [2112121] - dmaengine: add peripheral configuration (Jerry Snitselaar) [2112121] - dmaengine: idma64: Switch to use __maybe_unused instead of ifdeffery (Jerry Snitselaar) [2112121] - dmaengine: ioatdma: remove unused function missed during dma_v2 removal (Jerry Snitselaar) [2112121] - dmaengine: Save few bytes and increase readability of dma_request_chan() (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling (Jerry Snitselaar) [2112121] - dmaengine: dw: Don't include unneeded header to platform data header (Jerry Snitselaar) [2112121] - dmaengine: linux/dmaengine.h: drop duplicated word in a comment (Jerry Snitselaar) [2112121] - dmaengine: ioat: Fix some parameter misspelling and provide description for phys_complete (Jerry Snitselaar) [2112121] - dmaengine: of-dma: Fix misspellings/formatting issues in some function headers (Jerry Snitselaar) [2112121] - Documentation/driver-api: dmaengine/provider: drop doubled word (Jerry Snitselaar) [2112121] - dmaengine: Add support for repeating transactions (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: use true,false for bool variable (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Simplify error handling path in hidma_probe (Jerry Snitselaar) [2112121] - dmaengine: Fix misspelling of "Analog Devices" (Jerry Snitselaar) [2112121] - docs: dmaengine: provider.rst: get rid of some warnings (Jerry Snitselaar) [2112121] - dmaengine: doc: fix warnings/issues of client.rst (Jerry Snitselaar) [2112121] - dmaengine: doc: Properly indent metadata title (Jerry Snitselaar) [2112121] - dmaengine: doc: Add sections for per descriptor metadata support (Jerry Snitselaar) [2112121] - dmaengine: Fix Kconfig indentation (Jerry Snitselaar) [2112121] - dmaengine: qcom: hidma_mgmt: Add of_node_put() before goto (Jerry Snitselaar) [2112121] - dmaengine: Remove dev_err() usage after platform_get_irq() (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: Remove call to memset after dmam_alloc_coherent (Jerry Snitselaar) [2112121] - Documentation: dmaengine: clean up description of dmatest usage (Jerry Snitselaar) [2112121] - dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width" (Jerry Snitselaar) [2112121] - dmaengine: qcom: hidma: no need to check return value of debugfs_create functions (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: assign channel cookie correctly (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: initialize tx flags in hidma_prep_dma_* (Jerry Snitselaar) [2112121] - dmaengine: qcom_hidma: convert to DEFINE_SHOW_ATTRIBUTE (Jerry Snitselaar) [2112121] - dmaengine: Documentation: Add documentation for multi chan testing (Jerry Snitselaar) [2112121] - dmaengine: hsu: remove dma_slave_config direction usage (Jerry Snitselaar) [2112121] - dmaengine: hsu: Support dmaengine_terminate_sync() (Jerry Snitselaar) [2112121] - scsi: core: Allow the ALUA transitioning state enough time (Tomas Henzl) [2084250] - scsi: core: Return BLK_STS_TRANSPORT for ALUA transitioning (Tomas Henzl) [2084250] - macvlan: enforce a consistent minimal mtu (Davide Caratti) [2134032] - ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header (Davide Caratti) [2134032] - net: ipvtap - add __init/__exit annotations to module init/exit funcs (Davide Caratti) [2134032] - tunnels: do not assume mac header is set in skb_tunnel_check_pmtu() (Guillaume Nault) [2134099] - erspan: do not assume transport header is always set (Guillaume Nault) [2134099] - net: ip_gre: do not report erspan_ver for gre or gretap (Guillaume Nault) [2134099] - selftests: Fix the if conditions of in test_extra_filter() (Hangbin Liu) [2135232] - selftests: forwarding: add shebang for sch_red.sh (Hangbin Liu) [2135232] - selftests: forwarding: fix error message in learning_test (Hangbin Liu) [2135232] - selftests/net: pass ipv6_args to udpgso_bench's IPv6 TCP test (Hangbin Liu) [2135232] - ping: remove pr_err from ping_lookup (Guillaume Nault) [2135424] - ping: fix the dif and sdif check in ping_lookup (Guillaume Nault) [2135424] - ping: fix the sk_bound_dev_if match in ping_lookup (Guillaume Nault) [2135424] - tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct(). (Hangbin Liu) [2135259] - udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM). (Hangbin Liu) [2135259] - tcp/udp: Fix memory leak in ipv6_renew_options(). (Hangbin Liu) [2135259] - ipv6: sr: fix out-of-bounds read when setting HMAC data. (Hangbin Liu) [2135259] - ipv6: do not use RT_TOS for IPv6 flowlabel (Hangbin Liu) [2135259] - ipv6/sit: fix ipip6_tunnel_get_prl return value (Hangbin Liu) [2135259] - sit: use min (Hangbin Liu) [2135259] - net: ipv6: unexport __init-annotated seg6_hmac_init() (Hangbin Liu) [2135259] - sit: do not call ipip6_dev_free() from sit_init_net() (Hangbin Liu) [2135259] - block: avoid sign extend problem with default queue flags mask (Nico Pache) [2131929] - mm/hwpoison: do not lock page again when me_huge_page() successfully recovers (Aristeu Rozanski) [2110292] - crypto: ccp - Remove the unneeded result variable (Vladis Dronov) [2130195] - crypto: ccp - Release dma channels before dmaengine unrgister (Vladis Dronov) [2130195] - crypto: ccp - Fail the PSP initialization when writing psp data file failed (Vladis Dronov) [2130195] - crypto: ccp - Initialize PSP when reading psp data file failed (Vladis Dronov) [2130195] - crypto: ccp - Add a quirk to firmware update (Vladis Dronov) [2130195] - crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [2130195] - crypto: ccp - During shutdown, check SEV data pointer before using (Vladis Dronov) [2130195] - crypto: ccp - Fix device IRQ counting by using platform_irq_count() (Vladis Dronov) [2130195] - crypto: ccp - fix typo in comment (Vladis Dronov) [2130195] - crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak (Vladis Dronov) [2130195] - crypto: ccp - Fix the INIT_EX data file open failure (Vladis Dronov) [2130195] - crypto: ccp - Log when resetting PSP SEV state (Vladis Dronov) [2130195] - crypto: ccp - When TSME and SME both detected notify user (Vladis Dronov) [2130195] - crypto: ccp - Allow PSP driver to load without SEV/TEE support (Vladis Dronov) [2130195] - crypto: ccp - Export PSP security bits to userspace (Vladis Dronov) [2130195] - crypto: ccp - cache capability into psp device (Vladis Dronov) [2130195] - PCI: Add support for dev_groups to struct pci_driver (Vladis Dronov) [2130195] - ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel systems (Wei Huang) [2130653] - blk-mq: fix io hung due to missing commit_rqs (Ming Lei) [2130028] - block: schedule queue restart after BLK_STS_ZONE_RESOURCE (Ming Lei) [2130028] - blk-mq: call commit_rqs while list empty but error happen (Ming Lei) [2130028] - null_blk: fix ida error handling in null_add_dev() (Ming Lei) [2130028] - blktrace: Trace remapped requests correctly (Ming Lei) [2130028] - virtio_blk: fix the discard_granularity and discard_alignment queue limits (Ming Lei) [2130028] - block: fix bio_clone_blkg_association() to associate with proper blkcg_gq (Ming Lei) [2130028] - blk-mq: do not update io_ticks with passthrough requests (Ming Lei) [2130028] - blk-mq: don't touch ->tagset in blk_mq_get_sq_hctx (Ming Lei) [2130028] - ipmi:ipmb: Fix refcount leak in ipmi_ipmb_probe (Tony Camuso) [2130238] - ipmi: remove unnecessary type castings (Tony Camuso) [2130238] - ipmi: Make two logs unique (Tony Camuso) [2130238] - ipmi:si: Convert pr_debug() to dev_dbg() (Tony Camuso) [2130238] - ipmi: Convert pr_debug() to dev_dbg() (Tony Camuso) [2130238] - ipmi: Fix pr_fmt to avoid compilation issues (Tony Camuso) [2130238] - ipmi: Add an intializer for ipmi_recv_msg struct (Tony Camuso) [2130238] - ipmi: Add an intializer for ipmi_smi_msg struct (Tony Camuso) [2130238] - ipmi:ssif: Check for NULL msg when handling events and messages (Tony Camuso) [2130238] - ipmi: use simple i2c probe function (Tony Camuso) [2130238] - ipmi: Add a sysfs count of total outstanding messages for an interface (Tony Camuso) [2130238] - ipmi: Add a sysfs interface to view the number of users (Tony Camuso) [2130238] - ipmi: Limit the number of message a user may have outstanding (Tony Camuso) [2130238] - ipmi: Add a limit on the number of users that may use IPMI (Tony Camuso) [2130238] - ipmi:ipmi_ipmb: Fix null-ptr-deref in ipmi_unregister_smi() (Tony Camuso) [2130238] - ipmi: When handling send message responses, don't process the message (Tony Camuso) [2130238] - ipmi: fix IPMI_SMI_MSG_TYPE_IPMB_DIRECT response length checking (Tony Camuso) [2130238] - ipmi: fix oob access due to uninit smi_msg type (Tony Camuso) [2130238] - ipmi: Make kABI adjustments (Tony Camuso) [2130238] - ipmi: Add support for IPMB direct messages (Tony Camuso) [2130238] - ice: Fix crash by keep old cfg when update TCs more than queues (Petr Oros) [2129902] - ice: Fix tunnel checksum offload with fragmented traffic (Petr Oros) [2129902] - ice: handle E822 generic device ID in PLDM header (Petr Oros) [2129902] - ice: ethtool: Prohibit improper channel config for DCB (Petr Oros) [2129902] - ice: ethtool: advertise 1000M speeds properly (Petr Oros) [2129902] - ice: Fix switchdev rules book keeping (Petr Oros) [2129902] - ice: fix access-beyond-end in the switch code (Petr Oros) [2129902] - eth: ice: silence the GCC 12 array-bounds warning (Petr Oros) [2129902] - ice: Expose RSS indirection tables for queue groups via ethtool (Petr Oros) [2129902] - Revert "ice: Hide bus-info in ethtool for PRs in switchdev mode" (Petr Oros) [2129902] - ice: remove period on argument description in ice_for_each_vf (Petr Oros) [2129902] - ice: add a function comment for ice_cfg_mac_antispoof (Petr Oros) [2129902] - ice: fix wording in comment for ice_reset_vf (Petr Oros) [2129902] - ice: remove return value comment for ice_reset_all_vfs (Petr Oros) [2129902] - ice: always check VF VSI pointer values (Petr Oros) [2129902] - ice: add newline to dev_dbg in ice_vf_fdir_dump_info (Petr Oros) [2129902] - ice: get switch id on switchdev devices (Petr Oros) [2129902] - ice: return ENOSPC when exceeding ICE_MAX_CHAIN_WORDS (Petr Oros) [2129902] - ice: introduce common helper for retrieving VSI by vsi_num (Petr Oros) [2129902] - ice: use min_t() to make code cleaner in ice_gnss (Petr Oros) [2129902] - ice: Add mpls+tso support (Petr Oros) [2129902] - ice: switch: convert packet template match code to rodata (Petr Oros) [2129902] - ice: switch: use convenience macros to declare dummy pkt templates (Petr Oros) [2129902] - ice: switch: use a struct to pass packet template params (Petr Oros) [2129902] - ice: switch: unobscurify bitops loop in ice_fill_adv_dummy_packet() (Petr Oros) [2129902] - ice: switch: add and use u16[] aliases to ice_adv_lkup_elem::{h, m}_u (Petr Oros) [2129902] - ice: Support GTP-U and GTP-C offload in switchdev (Petr Oros) [2129902] - ice: Remove useless DMA-32 fallback configuration (Petr Oros) [2129902] - ice: switch to napi_build_skb() (Petr Oros) [2129902] - nbd: fix race between nbd_alloc_config() and module removal (Ming Lei) [2127601] - nbd: call genl_unregister_family() first in nbd_cleanup() (Ming Lei) [2127601] - kselftests: memcg: speed up the memory.high test (Waiman Long) [1839057] - tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference (Waiman Long) [1839057] - kselftest/cgroup: fix incorrect test_core skip (Waiman Long) [1839057] - kselftest/cgroup: fix unexpected testing failure on test_core (Waiman Long) [1839057] - selftests: cgroup: fix cleanup path in test_memcg_subtree_control() (Waiman Long) [1839057] - cgroup: fix an error handling path in alloc_pagecache_max_30M() (Waiman Long) [1839057] - selftests: memcg: expect no low events in unprotected sibling (Waiman Long) [1839057] - selftests: memcg: fix compilation (Waiman Long) [1839057] - kseltest/cgroup: Make test_stress.sh work if run interactively (Waiman Long) [1839057] - cgroup: fix racy check in alloc_pagecache_max_30M() helper function (Waiman Long) [1839057] - cgroup: remove racy check in test_memcg_sock() (Waiman Long) [1839057] - cgroup: account for memory_localevents in test_memcg_oom_group_leaf_events() (Waiman Long) [1839057] - cgroup: account for memory_recursiveprot in test_memcg_low() (Waiman Long) [1839057] - cgroups: refactor children cgroups in memcg tests (Waiman Long) [1839057] - kselftest/cgroup: fix test_stress.sh to use OUTPUT dir (Waiman Long) [1839057] - selftests: cgroup: add a selftest for memory.reclaim (Waiman Long) [1839057] - selftests: cgroup: fix alloc_anon_noexit() instantly freeing memory (Waiman Long) [1839057] - selftests: cgroup: return -errno from cg_read()/cg_write() on failure (Waiman Long) [1839057] - memcg: introduce per-memcg reclaim interface (Waiman Long) [1839057] - kselftests: memcg: update the oom group leaf events test (Waiman Long) [1839057] - mm/memcontrol: return 1 from cgroup.memory __setup() handler (Waiman Long) [1839057] - memcg: synchronously enforce memory.high for large overcharges (Waiman Long) [1839057] - selftests: memcg: test high limit for single entry allocation (Waiman Long) [1839057] - memcg: unify force charging conditions (Waiman Long) [1839057] - memcg: refactor mem_cgroup_oom (Waiman Long) [1839057] - memcg: prohibit unconditional exceeding the limit of dying tasks (Waiman Long) [1839057] - mm, oom: do not trigger out_of_memory from the #PF (Waiman Long) [1839057] - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks (Waiman Long) [1839057] - mm: memcontrol: fix root_mem_cgroup charging (Waiman Long) [1839057] - tests/cgroup: move cg_wait_for(), cg_prepare_for_wait() (Waiman Long) [1839057] - mm: memcontrol: don't count limit-setting reclaim as memory pressure (Waiman Long) [1839057] - selftests: Uninitialized variable in test_cgcore_proc_migration() (Waiman Long) [1839057] - kselftests: cgroup: Avoid the reuse of fd after it is deallocated (Waiman Long) [1839057] - selftests: cgroup: Run test_core under interfering stress (Waiman Long) [1839057] - selftests: cgroup: Add task migration tests (Waiman Long) [1839057] - selftests: cgroup: Simplify task self migration (Waiman Long) [1839057] - cgroup: kselftest: relax fs_spec checks (Waiman Long) [1839057] - kselftests: cgroup: remove duplicated include from test_freezer.c (Waiman Long) [1839057] - kselftest/cgroup: fix unexpected testing failure on test_memcontrol (Waiman Long) [1839057] - kselftests: cgroup: add freezer controller self-tests (Waiman Long) [1839057] - Add tests for memory.oom.group (Waiman Long) [1839057] - Fix cg_read_strcmp() (Waiman Long) [1839057] - cgroup: kselftests: add test_core to .gitignore (Waiman Long) [1839057] - selftests: cgroup: add gitignore file (Waiman Long) [1839057] - Add cgroup core selftests (Waiman Long) [1839057] - devdax: Fix soft-reservation memory description (Mark Langsdorf) [2122316] - arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level (Mark Langsdorf) [2122316] - ACPI: property: Remove default association from integer maximum values (Mark Langsdorf) [2122316] - ACPI: property: Ignore already existing data node tags (Mark Langsdorf) [2122316] - ACPI: property: Fix type detection of unified integer reading functions (Mark Langsdorf) [2122316] - ACPI: processor: Remove freq Qos request for all CPUs (Mark Langsdorf) [2122316] - ACPI: property: Fix error handling in acpi_init_properties() (Mark Langsdorf) [2122316] - ACPI/IORT: Fix build error implicit-function-declaration (Mark Langsdorf) [2122316] - ACPI/PCI: Remove useless NULL pointer checks (Mark Langsdorf) [2122316] - ACPI: property: Read buffer properties as integers (Mark Langsdorf) [2122316] - ACPI: property: Add support for parsing buffer property UUID (Mark Langsdorf) [2122316] - ACPI: property: Unify integer value reading functions (Mark Langsdorf) [2122316] - ACPI: property: Switch node property referencing from ifs to a switch (Mark Langsdorf) [2122316] - ACPI: property: Move property ref argument parsing into a new function (Mark Langsdorf) [2122316] - ACPI: property: Use acpi_object_type consistently in property ref parsing (Mark Langsdorf) [2122316] - ACPI: property: Tie data nodes to acpi handles (Mark Langsdorf) [2122316] - ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool (Mark Langsdorf) [2122316] - ACPI: CPPC: Do not prevent CPPC from working in the future (Mark Langsdorf) [2122316] - ACPI: PM: x86: Print messages regarding LPS0 idle support (Mark Langsdorf) [2122316] - ACPI: PPTT: Leave the table mapped for the runtime usage (Mark Langsdorf) [2122316] - ACPI: resource: skip IRQ override on AMD Zen platforms (Mark Langsdorf) [2122316] - ACPI: irq: Allow acpi_gsi_to_irq() to have an arch-specific fallback (Mark Langsdorf) [2122316] - APCI: irq: Add support for multiple GSI domains (Mark Langsdorf) [2122316] - irqchip/gic: Drop support for secondary GIC in non-DT systems (Mark Langsdorf) [2122316] - ACPI: video: Use native backlight on Dell Inspiron N4010 (Mark Langsdorf) [2122316] - ACPI: PM: s2idle: Use LPS0 idle if ACPI_FADT_LOW_POWER_S0 is unset (Mark Langsdorf) [2122316] - Revert "[acpi] ACPI / PM: LPIT: Register sysfs attributes based on FADT" (Mark Langsdorf) [2122316] - ACPI: utils: Add api to read _SUB from ACPI (Mark Langsdorf) [2122316] - ACPI: video: Shortening quirk list by identifying Clevo by board_name only (Mark Langsdorf) [2122316] - ACPI: video: Force backlight native for some TongFang devices (Mark Langsdorf) [2122316] - PCI/ACPI: Guard ARM64-specific mcfg_quirks (Mark Langsdorf) [2122316] - ACPI/IORT: Add a helper to retrieve RMR info directly (Mark Langsdorf) [2122316] - ACPI/IORT: Add support to retrieve IORT RMR reserved regions (Mark Langsdorf) [2122316] - ACPI/IORT: Provide a generic helper to retrieve reserve regions (Mark Langsdorf) [2122316] - ACPI/IORT: Make iort_iommu_msi_get_resv_regions() return void (Mark Langsdorf) [2122316] - iommu: Introduce a callback to struct iommu_resv_region (Mark Langsdorf) [2122316] - ACPI: PM: s2idle: Add support for upcoming AMD uPEP HID AMDI008 (Mark Langsdorf) [2122316] - ACPI: PPTT: Use table offset as fw_token instead of virtual address (Mark Langsdorf) [2122316] - ACPI: Move PRM config option under the main ACPI config (Mark Langsdorf) [2122316] - ACPI: Enable Platform Runtime Mechanism(PRM) support on ARM64 (Mark Langsdorf) [2122316] - efi: Simplify arch_efi_call_virt() macro (Mark Langsdorf) [2122316] - efi/x86: Avoid redundant cast of EFI firmware service pointer (Mark Langsdorf) [2122316] - efi/libstub: Annotate firmware routines as __efiapi (Mark Langsdorf) [2122316] - ACPI: PRM: Change handler_addr type to void pointer (Mark Langsdorf) [2122316] - ACPI: bus: Drop driver member of struct acpi_device (Mark Langsdorf) [2122316] - ACPI: bus: Drop redundant check in acpi_device_remove() (Mark Langsdorf) [2122316] - ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP (Mark Langsdorf) [2122316] - ACPI: LPSS: Fix missing check in register_device_clock() (Mark Langsdorf) [2122316] - ACPI: APEI: Better fix to avoid spamming the console with old error logs (Mark Langsdorf) [2122316] - ACPI: PM: save NVS memory for Lenovo G40-45 (Mark Langsdorf) [2122316] - ACPI: EC: Drop unused ident initializers from dmi_system_id tables (Mark Langsdorf) [2122316] - ACPI: EC: Re-use boot_ec when possible even when EC_FLAGS_TRUST_DSDT_GPE is set (Mark Langsdorf) [2122316] - ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk (Mark Langsdorf) [2122316] - ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks (Mark Langsdorf) [2122316] - ACPI: processor: Drop leftover acpi_processor_get_limit_info() declaration (Mark Langsdorf) [2122316] - ACPI: processor: Split out thermal initialization from ACPI PSS (Mark Langsdorf) [2122316] - redhat/configs: move CONFIG_ACPI_VIDEO to common/generic (Mark Langsdorf) [2122316] - ACPI: video: Drop X86 dependency from Kconfig (Mark Langsdorf) [2122316] - ACPI: video: Fix acpi_video_handles_brightness_key_presses() (Mark Langsdorf) [2122316] - ACPI: video: Change how we determine if brightness key-presses are handled (Mark Langsdorf) [2122316] - ACPI / MMC: PM: Unify fixing up device power (Mark Langsdorf) [2122316] - mmc: sdhci-acpi: Use the new soc_intel_is_byt() helper (Mark Langsdorf) [2122316] - mmc: sdhci-acpi: Remove special handling for GPD win/pocket devices (Mark Langsdorf) [2122316] - ACPI: scan: Walk ACPI device's children using driver core (Mark Langsdorf) [2122316] - ACPI: bus: Introduce acpi_dev_for_each_child_reverse() (Mark Langsdorf) [2122316] - ACPI: video: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: property: Use acpi_dev_for_each_child() for child lookup (Mark Langsdorf) [2122316] - ACPI: container: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: bus: Export acpi_dev_for_each_child() to modules (Mark Langsdorf) [2122316] - ACPI: glue: Introduce acpi_find_child_by_adr() (Mark Langsdorf) [2122316] - ACPI: glue: Introduce acpi_dev_has_children() (Mark Langsdorf) [2122316] - ACPI: glue: Use acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: APEI: Fix double word in a comment (Mark Langsdorf) [2122316] - ACPI: processor/idle: Annotate more functions to live in cpuidle section (Mark Langsdorf) [2122316] - ACPI: DPTF: Support Meteor Lake (Mark Langsdorf) [2122316] - ACPI: CPPC: fix typo in comment (Mark Langsdorf) [2122316] - ACPI: video: improve PM notifer callback (Mark Langsdorf) [2122316] - ACPI: utils: include UUID in _DSM evaluation warning (Mark Langsdorf) [2122316] - cpufreq: CPPC: Enable fast_switch (Mark Langsdorf) [2122316] - acpi/nfit: rely on mce->misc to determine poison granularity (Mark Langsdorf) [2122316] - ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default (Mark Langsdorf) [2122316] - ACPI: clean up white space in a few places for consistency (Mark Langsdorf) [2122316] - ACPI: glue: Rearrange find_child_checks() (Mark Langsdorf) [2122316] - ACPI: DPTF: Add support for high frequency impedance notification (Mark Langsdorf) [2122316] - ACPI: processor: idle: Expose max_cstate/nocst/bm_check_disable read-only in sysfs (Mark Langsdorf) [2122316] - ACPI: battery: Make "not-charging" the default on no charging or full info (Mark Langsdorf) [2122316] - PCI/ACPI: negotiate CXL _OSC (Mark Langsdorf) [2122316] - PCI/ACPI: Prefer CXL _OSC instead of PCIe _OSC for CXL host bridges (Mark Langsdorf) [2122316] - PCI/ACPI: add a helper for retrieving _OSC Control DWORDs (Mark Langsdorf) [2122316] - ACPI: bus: Avoid non-ACPI device objects in walks over children (Mark Langsdorf) [2122316] - ACPI: DPTF: Correct description of INT3407 / INT3532 attributes (Mark Langsdorf) [2122316] - ACPI: BGRT: use static for BGRT_SHOW kobj_attribute defines (Mark Langsdorf) [2122316] - ACPI, APEI, EINJ: Refuse to inject into the zero page (Mark Langsdorf) [2122316] - ACPI: PM: Always print final debug message in acpi_device_set_power() (Mark Langsdorf) [2122316] - ACPI: SPCR: Add support for NVIDIA 16550-compatible port subtype (Mark Langsdorf) [2122316] - ACPI: APEI: Fix missing ERST record id (Mark Langsdorf) [2122316] - ACPICA: Update version to 20220331 (Mark Langsdorf) [2122316] - ACPICA: IORT: Updates for revision E.d (Mark Langsdorf) [2122316] - ACPICA: iASL/MADT: Add OEM-defined subtable (Mark Langsdorf) [2122316] - ACPICA: Add support for ARM Performance Monitoring Unit Table. (Mark Langsdorf) [2122316] - ACPICA: Headers: Replace zero-length array with flexible-array member (Mark Langsdorf) [2122316] - ACPICA: Removed some tabs and // comments (Mark Langsdorf) [2122316] - ACPICA: Update copyright notices to the year 2022 (Mark Langsdorf) [2122316] - ACPICA: Clean up double word in comment (Mark Langsdorf) [2122316] - ACPICA: Add new ACPI 6.4 semantics for LoadTable() operator (Mark Langsdorf) [2122316] - ACPICA: Add new ACPI 6.4 semantics to the Load() operator (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Rename linux specific strucures to device_info (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Fix parsing undocumented bytes at the end of Endpoint Descriptor (Mark Langsdorf) [2122316] - ACPICA: iASL: NHLT: Treat Terminator as specific_config (Mark Langsdorf) [2122316] - ACPICA: Add the subtable CFMWS to the CEDT table (Mark Langsdorf) [2122316] - ACPICA: Add support for the Windows 11 _OSI string (Mark Langsdorf) [2122316] - ACPI: sysfs: Fix BERT error region memory mapping (Mark Langsdorf) [2122316] - ACPI: property: Release subnode properties with data nodes (Mark Langsdorf) [2122316] - PCI: ACPI: PM: Power up devices in D3cold before scanning them (Mark Langsdorf) [2122316] - ACPI: PM: Introduce acpi_dev_power_up_children_with_adr() (Mark Langsdorf) [2122316] - ACPI: bus: Introduce acpi_dev_for_each_child() (Mark Langsdorf) [2122316] - ACPI: PM: Unify debug messages in acpi_device_set_power() (Mark Langsdorf) [2122316] - ACPI: PM: Convert debug message in acpi_device_get_power() (Mark Langsdorf) [2122316] - device property: Add irq_get to fwnode operation (Mark Langsdorf) [2122316] - device property: Add iomap to fwnode operations (Mark Langsdorf) [2122316] - ACPI: property: Move acpi_fwnode_device_get_match_data() up (Mark Langsdorf) [2122316] - device property: Convert device_{dma_supported,get_dma_attr} to fwnode (Mark Langsdorf) [2122316] - ACPI: Add perf low power callback (Mark Langsdorf) [2122316] - s390: fix double free of GS and RI CBs on fork() failure (Brian Foster) [1944540] - wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue (other cases) (Jose Ignacio Tornos Martinez) [2086480] - wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue (Jose Ignacio Tornos Martinez) [2086480]- crypto: ecdh - disallow plain "ecdh" usage in FIPS mode (Vladis Dronov) [2129392] - crypto: dh - disallow plain "dh" usage in FIPS mode (Vladis Dronov) [2129392] - x86/cpu: Add new Raptor Lake CPU model number (Prarit Bhargava) [2120361] - mm, oom: fix missing tlb_finish_mmu() in __oom_reap_task_mm(). (Waiman Long) [2130954] - net: atlantic: remove aq_nic_deinit() when resume (Íñigo Huguet) [2130839] - net: atlantic: remove deep parameter on suspend/resume functions (Íñigo Huguet) [2130839] - efi: Allow EFI_MEMORY_XP and EFI_MEMORY_RO both to be cleared (Lenny Szubowicz) [2128172] - bonding: 3ad: make ad_ticks_per_sec a const (Jonathan Toppins) [2020773] - bonding: 802.3ad: fix no transmission of LACPDUs (Jonathan Toppins) [2020773] - redhat: workaround CKI cross compilation for scripts (Jan Stancek) [2123399] - nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt() (Phil Auld) [2107238] - gfs2: Make sure FITRIM minlen is rounded up to fs block size (Andrew Price) [2118256] - ceph: don't truncate file in atomic_open (Xiubo Li) [2120924] - of: address: Work around missing device_type property in pcie nodes (Jerry Snitselaar) [2118732] - dma-mapping: introduce DMA range map, supplanting dma_pfn_offset (Jerry Snitselaar) [2118732] - of/address: check for invalid range.cpu_addr (Jerry Snitselaar) [2118732] - of: address: Fix parser address/size cells initialization (Jerry Snitselaar) [2118732] - of_address: Guard of_bus_pci_get_flags with CONFIG_PCI (Jerry Snitselaar) [2118732] - of_address: Add bus type match for pci ranges parser (Jerry Snitselaar) [2118732] - of/address: Support multiple 'dma-ranges' entries (Jerry Snitselaar) [2118732] - of/address: use range parser for of_dma_get_range (Jerry Snitselaar) [2118732] - of/address: Rework of_pci_range parsing for non-PCI buses (Jerry Snitselaar) [2118732] - of: Drop struct of_pci_range.pci_space field (Jerry Snitselaar) [2118732] - of/address: Move range parser code out of CONFIG_PCI (Jerry Snitselaar) [2118732] - of: Make of_dma_get_range() work on bus nodes (Jerry Snitselaar) [2118732] - Revert "arm64: dts: juno: add dma-ranges property" (Jerry Snitselaar) [2118732] - of/address: Fix of_pci_range_parser_one translation of DMA addresses (Jerry Snitselaar) [2118732] - of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' (Jerry Snitselaar) [2118732] - of: address: Follow DMA parent for "dma-coherent" (Jerry Snitselaar) [2118732] - of: Factor out #{addr,size}-cells parsing (Jerry Snitselaar) [2118732] - of/address: Introduce of_get_next_dma_parent() helper (Jerry Snitselaar) [2118732] - of: address: Report of_dma_get_range() errors meaningfully (Jerry Snitselaar) [2118732] - of: address: Add support for the parent DMA bus (Jerry Snitselaar) [2118732] - of: address: Retrieve a parent through a callback in __of_translate_address (Jerry Snitselaar) [2118732] - of: reserved_mem: fix reserve memory leak (Jerry Snitselaar) [2118732] - of: Use device_type helpers to access the node type (Jerry Snitselaar) [2118732] - of: make PowerMac cache node search conditional on CONFIG_PPC_PMAC (Jerry Snitselaar) [2118732]- crypto: qat - add limit to linked list parsing (Vladis Dronov) [2129897] - crypto: qat - use reference to structure in dma_map_single() (Vladis Dronov) [2129897] - Revert "crypto: qat - reduce size of mapped region" (Vladis Dronov) [2129897] - crypto: qat - fix DMA transfer direction (Vladis Dronov) [2129897] - crypto: qat - fix default value of WDT timer (Vladis Dronov) [2129897] - crypto: drivers - move from strlcpy with unused retval to strscpy (Vladis Dronov) [2129897] - crypto: qat - add check to validate firmware images (Vladis Dronov) [2129897] - Documentation: qat: rewrite description (Vladis Dronov) [2129897] - Documentation: qat: Use code block for qat sysfs example (Vladis Dronov) [2129897] - KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled (Dr. David Alan Gilbert) [2079311] - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES (Dr. David Alan Gilbert) [2079311] - KVM: x86: Reinstate kvm_vcpu_arch.guest_supported_xcr0 (Dr. David Alan Gilbert) [2079311] - bonding: fix NULL deref in bond_rr_gen_slave_id (Jonathan Toppins) [2051778] - tty: use new tty_insert_flip_string_and_push_buffer() in pty_write() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: drop tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: the rest, stop using tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - tty: drivers/tty/, stop using tty_schedule_flip() (Rafael Aquini) [2078869] {CVE-2022-1462} - vt: keyboard, use tty_insert_flip_string in puts_queue (Rafael Aquini) [2078869] {CVE-2022-1462} - vt: use tty_insert_flip_string in respond_string (Rafael Aquini) [2078869] {CVE-2022-1462}- intel_th: pci: Add Raptor Lake-S CPU support (Michael Petlan) [2040035] - intel_th: pci: Add Raptor Lake-S PCH support (Michael Petlan) [2040035] - virtio-net: support XDP when not more queues (Eugenio Pérez) [2122225] - virtio_net: Don't process redirected XDP frames when XDP is disabled (Eugenio Pérez) [2122225] - virtio_net: Fix not restoring real_num_rx_queues (Eugenio Pérez) [2122225] - x86,config: Enable straight-line-speculation fix (Wander Lairson Costa) [2062175] {CVE-2021-26341} - x86/alternative: Relax text_poke_bp() constraint (Wander Lairson Costa) [2062175] {CVE-2021-26341} - perf/x86: Add support for perf text poke event for text_poke_bp_batch() callers (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Add straight-line-speculation validation (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Support conditional retpolines (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Refactor sibling call detection logic (Wander Lairson Costa) [2062175] {CVE-2021-26341} - objtool: Change dead_end_function() to return boolean (Wander Lairson Costa) [2062175] {CVE-2021-26341} - x86/lib/atomic64_386_32: Rename things (Wander Lairson Costa) [2062175] {CVE-2021-26341} - KVM: arm64: Fix debug architecture version (Gavin Shan) [2123587] - thunderbolt: Add support for Intel Raptor Lake (Torez Smith) [2040037] - iommu/vt-d: Fix compile error with CONFIG_PCI_ATS not set (Myron Stowe) [2118428 2122515 2127028] - iommu/vt-d: Cure VF irqdomain hickup (Myron Stowe) [2118428 2122515 2127028] - x86/pci: Set default irq domain in pcibios_add_device() (Myron Stowe) [2118428 2122515 2127028] - iommm/amd: Store irq domain in struct device (Myron Stowe) [2118428 2122515 2127028] - iommm/vt-d: Store irq domain in struct device (Myron Stowe) [2118428 2122515 2127028] - PCI/MSI: Provide pci_dev_has_special_msi_domain() helper (Myron Stowe) [2118428 2122515 2127028] - x86/msi: Consolidate MSI allocation (Myron Stowe) [2118428 2122515 2127028] - PCI/MSI: Rework pci_msi_domain_calc_hwirq() (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Consolidate UV domain allocation (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Consolidate DMAR irq allocation (Myron Stowe) [2118428 2122515 2127028] - x86_ioapic_Consolidate_IOAPIC_allocation (Myron Stowe) [2118428 2122515 2127028] - x86/msi: Consolidate HPET allocation (Myron Stowe) [2118428 2122515 2127028] - iommu/irq_remapping: Consolidate irq domain lookup (Myron Stowe) [2118428 2122515 2127028] - iommu/amd: Consolidate irq domain getter (Myron Stowe) [2118428 2122515 2127028] - iommu/vt-d: Consolidate irq domain getter (Myron Stowe) [2118428 2122515 2127028] - x86/irq: Add allocation type for parent domain retrieval (Myron Stowe) [2118428 2122515 2127028] - irqdomain: Export irq_domain_update_bus_token (Myron Stowe) [2118428 2122515 2127028] - perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids (Michael Petlan) [2125349] - perf/x86/intel/uncore: Fix invalid unit check (Michael Petlan) [2125349]- KVM: s390: pv: don't present the ecall interrupt twice (Tobias Huschle) [2125236] - s390/mm: do not trigger write fault when vma does not allow VM_WRITE (Tobias Huschle) [2125218] - PCI: Print a debug message on PCI device release (Tobias Huschle) [2125216] - s390/pci: fix leak of PCI device structure (Tobias Huschle) [2125216] - s390/pci: refactor zpci_create_device() (Tobias Huschle) [2125216] - s390/pci: remove superfluous zdev->zbus check (Tobias Huschle) [2125216] - x86/boot/64: Add missing fixup_pointer() for next_early_pgt access (Rafael Aquini) [2082806] - x86/boot/64: Fix crash if kernel image crosses page table boundary (Rafael Aquini) [2082806] - mm/slab_common: fix possible double free of kmem_cache (Waiman Long) [2093781] - mm/slab_common: Deleting kobject in kmem_cache_destroy() without holding slab_mutex/cpu_hotplug_lock (Waiman Long) [2093781] - mm/slab_common: use WARN() if cache still has objects on destroy (Waiman Long) [2093781] - slab: use __func__ to trace function name (Waiman Long) [2093781] - s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages (Tobias Huschle) [2125215] - platform/x86: intel/pmc: Add Alder Lake N support to PMC core driver (Prarit Bhargava) [2072654] - crash_core: Increase crashkernel=auto size for x86_64, s390 and arm64 (Lichen Liu) [2122874] - virtio-net: fix use-after-free in skb_gro_receive (Cindy Lu) [2069047] - virtio-net: fix use-after-free in page_to_skb() (Cindy Lu) [2069047] - virtio-net: restrict build_skb() use to some arches (Cindy Lu) [2069047] - virtio-net: page_to_skb() use build_skb when there's sufficient tailroom (Cindy Lu) [2069047] - sched/fair: Consider CPU affinity when allowing NUMA imbalance in find_idlest_group() (Phil Auld) [2110020] - sched/numa: Adjust imb_numa_nr to a better approximation of memory channels (Phil Auld) [2110020] - sched/numa: Apply imbalance limitations consistently (Phil Auld) [2110020] - sched/numa: Do not swap tasks between nodes when spare capacity is available (Phil Auld) [2110020] - sched/numa: Initialise numa_migrate_retry (Phil Auld) [2110020] - cpufreq: intel_pstate: Handle no_turbo in frequency invariance (Phil Auld) [2100594] - sched/fair: Introduce SIS_UTIL to search idle CPU based on sum of util_avg (Phil Auld) [2100594] - i2c: piix4: Fix a memory leak in the EFCH MMIO support (Sudheesh Mavila) [2105160] - assoc_array: Fix BUG_ON during garbage collect (Dave Wysochanski) [1920523] - wait: Fix __wait_event_hrtimeout for RT/DL tasks (Derek Barbosa) [2125233]- raid1: ensure write behind bio has less than BIO_MAX_VECS sectors (Nigel Croxon) [2116209] - ceph: fix statfs for subdir mounts (Xiubo Li) [2120943] - ceph: try to queue a writeback if revoking fails (Xiubo Li) [2120940] - ceph: update the auth cap when the async create req is forwarded (Xiubo Li) [2120932] - ceph: make change_auth_cap_ses a global symbol (Xiubo Li) [2120932] - fs/dcache: export d_same_name() helper (Xiubo Li) [2120932] - ceph: wait for the first reply of inflight async unlink (Xiubo Li) [2120932] - redhat: Enable KASAN_VMALLOC (Nico Pache) [2108620] - arm64: select KASAN_VMALLOC for SW/HW_TAGS modes (Nico Pache) [2108620] - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access (Nico Pache) [2108620] - mm: defer kmemleak object creation of module_alloc() (Nico Pache) [2108620] - arm64: kaslr: keep modules inside module region when KASAN is enabled (Nico Pache) [2108620] - kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC (Nico Pache) [2108620] - arm64: Kconfig: select KASAN_VMALLOC if KANSAN_GENERIC is enabled (Nico Pache) [2108620] - arm64: kaslr: support randomized module area with KASAN_VMALLOC (Nico Pache) [2108620] - arm64: Kconfig: support CONFIG_KASAN_VMALLOC (Nico Pache) [2108620] - arm64: kasan: abstract _text and _end to KERNEL_START/END (Nico Pache) [2108620] - arm64: kasan: don't populate vmalloc area for CONFIG_KASAN_VMALLOC (Nico Pache) [2108620] - x86/kasan: support KASAN_VMALLOC (Nico Pache) [2108620] - ath9k: htc: clean up statistics macros (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - ath9k: hif_usb: simplify if-if to if-else (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - ath9k: fix use-after-free in ath9k_hif_usb_rx_cb (Jose Ignacio Tornos Martinez) [2084598] {CVE-2022-1679} - igmp: Add ip_mc_list lock in ip_check_mc_rcu (Hangbin Liu) [2114946] {CVE-2022-20141} - scsi: zfcp: Fix missing auto port scan and thus missing target ports (Tobias Huschle) [2121089] - vfio/type1: Unpin zero pages (Alex Williamson) [2123015]- iommu/vt-d: Make DMAR_UNITS_SUPPORTED default 1024 (Jerry Snitselaar) [2120412] - Revert "iommu/vt-d: Make DMAR_UNITS_SUPPORTED a config setting" (Jerry Snitselaar) [2120412] - ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE (Oleg Nesterov) [2121269] {CVE-2022-30594} - redhat: remove unused STAMP variable from genspec.sh (Herton R. Krzesinski) - internal: Update RHEL_MINOR for the start of RHEL-8.8 development (Lucas Zampieri)- EDAC/amd64: Add new register offset support and related changes (Aristeu Rozanski) [2048792] - EDAC/amd64: Set memory type per DIMM (Aristeu Rozanski) [2048792] - Revert "ixgbevf: Mailbox improvements" (Ken Cox) [2120545] - Revert "ixgbevf: Add support for new mailbox communication between PF and VF" (Ken Cox) [2120545] - drm/amdgpu: Only disable prefer_shadow on hawaii (Lyude Paul) [2118755]- redhat: configs: add CONFIG_SERIAL_MULTI_INSTANTIATE=m for x86_64 (Jaroslav Kysela) [2005073] - ACPI: scan: Add CLSA0101 Laptop Support (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Add CLSA0101 Laptop (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Sort ACPI IDs by HID (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Get rid of redundant 'else' (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Use while (i--) pattern to clean up (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Improve dev_err_probe() messaging (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Drop duplicate check (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Improve autodetection (Jaroslav Kysela) [2005073] - ACPI / scan: Create platform device for CS35L41 (Jaroslav Kysela) [2005073] - ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Add SPI support (Jaroslav Kysela) [2005073] - platform/x86: serial-multi-instantiate: Reorganize I2C functions (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Rename it for a generic serial driver name (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use the new i2c_acpi_client_count() helper (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use device_get_match_data() to get driver data (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Simplify with dev_err_probe() (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Drop redundant ACPI_PTR() (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Fail the probe if no IRQ provided (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Derive the device name from parent (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Use struct_size() helper (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Allow to have same slaves (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Introduce IOAPIC IRQ support (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Distinguish IRQ resource type (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Count I2cSerialBus() resources (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Get rid of obsolete conditional (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Defer probe when no adapter found (Jaroslav Kysela) [2005073] - platform/x86: i2c-multi-instantiate: Accept errors of i2c_acpi_new_device() (Jaroslav Kysela) [2005073] - serdev: Fix detection of UART devices on Apple machines. (Jaroslav Kysela) [2005073] - serdev: Add ACPI devices by ResourceSource field (Jaroslav Kysela) [2005073] - spi: Return deferred probe error when controller isn't yet available (Jaroslav Kysela) [2005073] - spi/acpi: avoid spurious matches during slave enumeration (Jaroslav Kysela) [2005073] - spi: Add API to count spi acpi resources (Jaroslav Kysela) [2005073] - spi: Support selection of the index of the ACPI Spi Resource before alloc (Jaroslav Kysela) [2005073] - ACPI: Test for ACPI_SUCCESS rather than !ACPI_FAILURE (Jaroslav Kysela) [2005073] - spi/acpi: fix incorrect ACPI parent check (Jaroslav Kysela) [2005073] - spi: Create helper API to lookup ACPI info for spi device (Jaroslav Kysela) [2005073] - spi/acpi: enumerate all SPI slaves in the namespace (Jaroslav Kysela) [2005073] - spi: kill useless initializer in spi_register_controller() (Jaroslav Kysela) [2005073] - spi: fix ctrl->num_chipselect constraint (Jaroslav Kysela) [2005073] - spi: Don't call spi_get_gpio_descs() before device name is set (Jaroslav Kysela) [2005073] - spi: Avoid undefined behaviour when counting unused native CSs (Jaroslav Kysela) [2005073] - spi: Allow to have all native CSs in use along with GPIOs (Jaroslav Kysela) [2005073] - spi: Add missing error handling for CS GPIOs (Jaroslav Kysela) [2005073] - spi: export tracepoint symbols to modules (Jaroslav Kysela) [2005073] - spi: Fix zero length xfer bug (Jaroslav Kysela) [2005073] - spi: Add generic support for unused native cs with cs-gpios (Jaroslav Kysela) [2005073] - spi: Reduce kthread priority (Jaroslav Kysela) [2005073] - spi: core: Use DEVICE_ATTR_RW() for SPI slave control sysfs attribute (Jaroslav Kysela) [2005073] - i2c: acpi: Add an i2c_acpi_client_count() helper function (Jaroslav Kysela) [2005073] - s390/qeth: cache link_info for ethtool (Michal Schmidt) [2117098] - nfp: amend removal of MODULE_VERSION (Stefan Assmann) [1955769] - x86/speculation: Add LFENCE to RSB fill sequence (Waiman Long) [2115080] {CVE-2022-26373} - x86/speculation: Add RSB VM Exit protections (Waiman Long) [2115080] {CVE-2022-26373} - tools headers cpufeatures: Sync with the kernel sources (Waiman Long) [2115080] - tools headers cpufeatures: Sync with the kernel sources (Waiman Long) [2115080] - x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n (Waiman Long) [2115080] - x86/bugs: Do not enable IBPB at firmware entry when IBPB is not available (Waiman Long) [2115080] - x86/amd: Use IBPB for firmware calls (Waiman Long) [2115080] - x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts (Waiman Long) [2115080] - iavf: Fix reset error handling (Petr Oros) [2119759] - iavf: Fix NULL pointer dereference in iavf_get_link_ksettings (Petr Oros) [2119759] - iavf: Fix adminq error handling (Petr Oros) [2119759] - iavf: Fix missing state logs (Petr Oros) [2119759] - ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero (Ken Cox) [1978613]- netfilter: ipset: fix suspicious RCU usage in find_set_and_id (Florian Westphal) [2118526] - net/mlx5e: Update netdev features after changing XDP state (Amir Tzin) [2049440] - net/mlx5e: CT: Use own workqueue instead of mlx5e priv (Amir Tzin) [2049440] - net/mlx5e: CT: Add ct driver counters (Amir Tzin) [2049440] - net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules (Amir Tzin) [2049440] - net/mlx5e: Align mlx5e_cleanup_uplink_rep_tx() with upstream code. (Amir Tzin) [2049440] - net/mlx5e: Correct the calculation of max channels for rep (Amir Tzin) [2049440] - Documentation: devlink: mlx5.rst: Fix htmldoc build warning (Amir Tzin) [2049440] - net/mlx5: fs, fail conflicting actions (Amir Tzin) [2049440] - net/mlx5: Rearm the FW tracer after each tracer event (Amir Tzin) [2049440] - net/mlx5: correct ECE offset in query qp output (Amir Tzin) [2049440] - net/mlx5e: Disable softirq in mlx5e_activate_rq to avoid race condition (Amir Tzin) [2049440] - net/mlx5e: TC NIC mode, fix tc chains miss table (Amir Tzin) [2049440] - net/mlx5: Don't use already freed action pointer (Amir Tzin) [2049440] - net/mlx5: fix typo in comment (Amir Tzin) [2049440] - IB/mlx5: Fix undefined behavior due to shift overflowing the constant (Amir Tzin) [2049440] - net/mlx5e: Force ethertype usage in mlx5_ct_fs_smfs_fill_mask() (Amir Tzin) [2049440] - net/mlx5: Drain fw_reset when removing device (Amir Tzin) [2049440] - net/mlx5e: CT: Fix setting flow_source for smfs ct tuples (Amir Tzin) [2049440] - net/mlx5e: CT: Fix support for GRE tuples (Amir Tzin) [2049440] - net/mlx5e: Remove HW-GRO from reported features (Amir Tzin) [2049440] - net/mlx5e: Properly block HW GRO when XDP is enabled (Amir Tzin) [2049440] - net/mlx5e: Properly block LRO when XDP is enabled (Amir Tzin) [2049440] - net/mlx5e: Block rx-gro-hw feature in switchdev mode (Amir Tzin) [2049440] - net/mlx5e: Wrap mlx5e_trap_napi_poll into rcu_read_lock (Amir Tzin) [2049440] - net/mlx5: Initialize flow steering during driver probe (Amir Tzin) [2049440] - net/mlx5: Fix matching on inner TTC (Amir Tzin) [2049440] - net/mlx5: Avoid double clear or set of sync reset requested (Amir Tzin) [2049440] - net/mlx5: Fix deadlock in sync reset flow (Amir Tzin) [2049440] - net/mlx5e: Fix trust state reset in reload (Amir Tzin) [2049440] - net/mlx5e: Avoid checking offload capability in post_parse action (Amir Tzin) [2049440] - net/mlx5e: CT: Fix queued up restore put() executing after relevant ft release (Amir Tzin) [2049440] - net/mlx5e: TC, Fix ct_clear overwriting ct action metadata (Amir Tzin) [2049440] - net/mlx5e: Lag, Don't skip fib events on current dst (Amir Tzin) [2049440] - net/mlx5e: Lag, Fix fib_info pointer assignment (Amir Tzin) [2049440] - net/mlx5e: Lag, Fix use-after-free in fib event handler (Amir Tzin) [2049440] - net/mlx5e: Fix the calling of update_buffer_lossy() API (Amir Tzin) [2049440] - net/mlx5e: Don't match double-vlan packets if cvlan is not set (Amir Tzin) [2049440] - net/mlx5: Fix slab-out-of-bounds while reading resource dump menu (Amir Tzin) [2049440] - RDMA/mlx5: Add a missing update of cache->last_add (Amir Tzin) [2049440] - RDMA/mlx5: Don't remove cache MRs when a delay is needed (Amir Tzin) [2049440] - net/mlx5e: HTB, remove unused function declaration (Amir Tzin) [2049440] - net/mlx5e: Statify function mlx5_cmd_trigger_completions (Amir Tzin) [2049440] - net/mlx5: Remove unused fill page array API function (Amir Tzin) [2049440] - net/mlx5: Remove unused exported contiguous coherent buffer allocation API (Amir Tzin) [2049440] - net/mlx5: CT: Remove extra rhashtable remove on tuple entries (Amir Tzin) [2049440] - net/mlx5: DR, Remove hw_ste from mlx5dr_ste to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove 4 members from mlx5dr_ste_htbl to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove num_of_entries byte_size from struct mlx5_dr_icm_chunk (Amir Tzin) [2049440] - net/mlx5: DR, Remove icm_addr from mlx5dr_icm_chunk to reduce memory (Amir Tzin) [2049440] - net/mlx5: DR, Remove mr_addr rkey from struct mlx5dr_icm_chunk (Amir Tzin) [2049440] - net/mlx5: DR, Adjust structure member to reduce memory hole (Amir Tzin) [2049440] - net/mlx5e: Drop cqe_bcnt32 from mlx5e_skb_from_cqe_mpwrq_linear (Amir Tzin) [2049440] - net/mlx5e: Drop the len output parameter from mlx5e_xdp_handle (Amir Tzin) [2049440] - net/mlx5e: RX, Test the XDP program existence out of the handler (Amir Tzin) [2049440] - net/mlx5e: Build SKB in place over the first fragment in non-linear legacy RQ (Amir Tzin) [2049440] - net/mlx5e: Add headroom only to the first fragment in legacy RQ (Amir Tzin) [2049440] - net/mlx5e: Validate MTU when building non-linear legacy RQ fragments info (Amir Tzin) [2049440] - net/mlx5e: MPLSoUDP encap, support action vlan pop_eth explicitly (Amir Tzin) [2049440] - net/mlx5e: MPLSoUDP decap, use vlan push_eth instead of pedit (Amir Tzin) [2049440] - RDMA/mlx5: Fix memory leak in error flow for subscribe event routine (Amir Tzin) [2049440] - net/mlx5e: Fix use-after-free in mlx5e_stats_grp_sw_update_stats (Amir Tzin) [2049440] - net/mlx5e: Remove overzealous validations in netlink EEPROM query (Amir Tzin) [2049440] - net/mlx5: Parse module mapping using mlx5_ifc (Amir Tzin) [2049440] - net/mlx5: Query the maximum MCIA register read size from firmware (Amir Tzin) [2049440] - net/mlx5: CT: Create smfs dr matchers dynamically (Amir Tzin) [2049440] - net/mlx5: CT: Add software steering ct flow steering provider (Amir Tzin) [2049440] - net/mlx5: Add smfs lib to export direct steering API to CT (Amir Tzin) [2049440] - net/mlx5: DR, Add helper to get backing dr table from a mlx5 flow table (Amir Tzin) [2049440] - net/mlx5: CT: Introduce a platform for multiple flow steering providers (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the doorbell pgdir (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for UAR (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the EQs (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the EQ table (Amir Tzin) [2049440] - net/mlx5: Node-aware allocation for the IRQ table (Amir Tzin) [2049440] - net/mlx5: Delete useless module.h include (Amir Tzin) [2049440] - net/mlx5: DR, Add support for ConnectX-7 steering (Amir Tzin) [2049440] - net/mlx5: DR, Refactor ste_ctx handling for STE v0/1 (Amir Tzin) [2049440] - net/mlx5: DR, Rename action modify fields to reflect naming in HW spec (Amir Tzin) [2049440] - net/mlx5: DR, Fix handling of different actions on the same STE in STEv1 (Amir Tzin) [2049440] - net/mlx5: DR, Remove unneeded comments (Amir Tzin) [2049440] - net/mlx5: DR, Add support for matching on Internet Header Length (IHL) (Amir Tzin) [2049440] - net/mlx5: DR, Align mlx5dv_dr API vport action with FW behavior (Amir Tzin) [2049440] - net/mlx5: Add debugfs counters for page commands failures (Amir Tzin) [2049440] - net/mlx5: Add pages debugfs (Amir Tzin) [2049440] - net/mlx5: Move debugfs entries to separate struct (Amir Tzin) [2049440] - net/mlx5: Change release_all_pages cap bit location (Amir Tzin) [2049440] - net/mlx5: Remove redundant error on reclaim pages (Amir Tzin) [2049440] - net/mlx5: Remove redundant error on give pages (Amir Tzin) [2049440] - net/mlx5: Remove redundant notify fail on give pages (Amir Tzin) [2049440] - net/mlx5: Add command failures data to debugfs (Amir Tzin) [2049440] - net/mlx5e: TC, Fix use after free in mlx5e_clone_flow_attr_for_post_act() (Amir Tzin) [2049440] - net/mlx5: Support GRE conntrack offload (Amir Tzin) [2049440] - mlx5: add support for page_pool_get_stats (Amir Tzin) [2049440] - net/mlx5: Add migration commands definitions (Amir Tzin) [2049440] - net/mlx5: Introduce migration bits and structures (Amir Tzin) [2049440] - net/mlx5: Expose APIs to get/put the mlx5 core device (Amir Tzin) [2049440] - net/mlx5: Disable SRIOV before PF removal (Amir Tzin) [2049440] - net/mlx5: Reuse exported virtfn index function call (Amir Tzin) [2049440] - net/mlx5: Add clarification on sync reset failure (Amir Tzin) [2049440] - net/mlx5: Add reset_state field to MFRL register (Amir Tzin) [2049440] - RDMA/mlx5: Use new command interface API (Amir Tzin) [2049440] - net/mlx5: cmdif, Refactor error handling and reporting of async commands (Amir Tzin) [2049440] - net/mlx5: Use mlx5_cmd_do() in core create_{cq,dct} (Amir Tzin) [2049440] - net/mlx5: cmdif, Add new api for command execution (Amir Tzin) [2049440] - net/mlx5: cmdif, cmd_check refactoring (Amir Tzin) [2049440] - net/mlx5: cmdif, Return value improvements (Amir Tzin) [2049440] - net/mlx5: Lag, offload active-backup drops to hardware (Amir Tzin) [2049440] - net/mlx5: Lag, record inactive state of bond device (Amir Tzin) [2049440] - net/mlx5: Lag, don't use magic numbers for ports (Amir Tzin) [2049440] - net/mlx5: Lag, use local variable already defined to access E-Switch (Amir Tzin) [2049440] - net/mlx5: E-switch, add drop rule support to ingress ACL (Amir Tzin) [2049440] - net/mlx5: E-switch, remove special uplink ingress ACL handling (Amir Tzin) [2049440 2049580] - net/mlx5: E-Switch, reserve and use same uplink metadata across ports (Amir Tzin) [2049440 2049580] - net/mlx5: Add ability to insert to specific flow group (Amir Tzin) [2049440] - mlx5: remove unused static inlines (Amir Tzin) [2049440] - RDMA/mlx5: Reorder calls to pcie_relaxed_ordering_enabled() (Amir Tzin) [2049440] - RDMA/mlx5: Store ndescs instead of the translation table size (Amir Tzin) [2049440] - RDMA/mlx5: Merge similar flows of allocating MR from the cache (Amir Tzin) [2049440] - RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR (Amir Tzin) [2049440] - RDMA/mlx5: Remove redundant work in struct mlx5_cache_ent (Amir Tzin) [2049440] - net/mlx5e: TC, Allow sample action with CT (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Make post_act parse CT and sample actions (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Clean redundant counter flag from tc action parsers (Amir Tzin) [2049440 2049659] - net/mlx5e: Use multi table support for CT and sample actions (Amir Tzin) [2049440 2049659] - net/mlx5e: Create new flow attr for multi table actions (Amir Tzin) [2049440 2049659] - net/mlx5e: Add post act offload/unoffload API (Amir Tzin) [2049440 2049659] - net/mlx5e: Pass actions param to actions_match_supported() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Move flow hashtable to be per rep (Amir Tzin) [2049440] - net/mlx5e: E-Switch, Add support for tx_port_ts in switchdev mode (Amir Tzin) [2049440] - net/mlx5e: E-Switch, Add PTP counters for uplink representor (Amir Tzin) [2049440] - net/mlx5e: RX, Restrict bulk size for small Striding RQs (Amir Tzin) [2049440] - net/mlx5e: Default to Striding RQ when not conflicting with CQE compression (Amir Tzin) [2049440] - net/mlx5e: Generalize packet merge error message (Amir Tzin) [2049440] - net/mlx5e: Add support for using xdp->data_meta (Amir Tzin) [2049440] - net/mlx5e: Fix spelling mistake "supoported" -> "supported" (Amir Tzin) [2049440] - net/mlx5e: Optimize the common case condition in mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Optimize modulo in mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Optimize mlx5e_select_queue (Amir Tzin) [2049440] - net/mlx5e: Use READ_ONCE/WRITE_ONCE for DCBX trust state (Amir Tzin) [2049440] - net/mlx5e: Move repeating code that gets TC prio into a function (Amir Tzin) [2049440] - net/mlx5e: Use select queue parameters to sync with control flow (Amir Tzin) [2049440] - net/mlx5e: Move mlx5e_select_queue to en/selq.c (Amir Tzin) [2049440] - net/mlx5e: Introduce select queue parameters (Amir Tzin) [2049440] - net/mlx5e: Sync txq2sq updates with mlx5e_xmit for HTB queues (Amir Tzin) [2049440] - net/mlx5e: Use a barrier after updating txq2sq (Amir Tzin) [2049440] - net/mlx5e: Disable TX queues before registering the netdev (Amir Tzin) [2049440] - net/mlx5e: Cleanup of start/stop all queues (Amir Tzin) [2049440] - net/mlx5e: Use FW limitation for max MPW WQEBBs (Amir Tzin) [2049440] - net/mlx5e: Read max WQEBBs on the SQ from firmware (Amir Tzin) [2049440] - net/mlx5e: Remove unused tstamp SQ field (Amir Tzin) [2049440] - RDMA/mlx5: Delete useless module.h include (Amir Tzin) [2049440] - RDMA/mlx5: Delete get_num_static_uars function (Amir Tzin) [2049440] - net/mlx5: VLAN push on RX, pop on TX (Amir Tzin) [2049440 2049616] - net/mlx5: Introduce software defined steering capabilities (Amir Tzin) [2049440 2049616] - net/mlx5: Remove unused TIR modify bitmask enums (Amir Tzin) [2049440] - net/mlx5e: CT, Remove redundant flow args from tc ct calls (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Store mapped tunnel id on flow attr (Amir Tzin) [2049440 2049659] - net/mlx5e: Test CT and SAMPLE on flow attr (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: Refactor eswitch attr flags to just attr flags (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: CT, Don't set flow flag CT for ct clear flow (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Hold sample_attr on stack instead of pointer (Amir Tzin) [2049440 2049580 2049659] - net/mlx5e: TC, Reject rules with multiple CT actions (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Refactor mlx5e_tc_add_flow_mod_hdr() to get flow attr (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Pass attr to tc_act can_offload() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Split pedit offloads verify from alloc_tc_pedit_action() (Amir Tzin) [2049440 2049659] - net/mlx5e: TC, Move pedit_headers_action to parse_attr (Amir Tzin) [2049440 2049659] - net/mlx5e: Move counter creation call to alloc_flow_attr_counter() (Amir Tzin) [2049440 2049659] - net/mlx5e: Pass attr arg for attaching/detaching encaps (Amir Tzin) [2049440 2049659] - net/mlx5e: Move code chunk setting encap dests into its own function (Amir Tzin) [2049440 2049659] - net_sched: cls_route: remove from list when handle is 0 (Felix Maurer) [2116328] {CVE-2022-2588} - netfilter: nf_tables: do not allow RULE_ID to refer to another chain (Florian Westphal) [2116356] {CVE-2022-2586} - netfilter: nf_tables: do not allow SET_ID to refer to another table (Florian Westphal) [2116356] {CVE-2022-2586} - netfilter: nf_queue: do not allow packet truncation below transport header offset (Florian Westphal) [2116159] {CVE-2022-36946} - net: let flow have same hash in two directions (Ivan Vecera) [2111094] - ipv4: Fix data-races around sysctl_fib_multipath_hash_fields. (Ivan Vecera) [2111094] - net: Add notifications when multipath hash field change (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash with IPv6 GRE (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash with IPv4 GRE (Ivan Vecera) [2111094] - selftests: forwarding: Add test for custom multipath hash (Ivan Vecera) [2111094] - ipv6: Add custom multipath hash policy (Ivan Vecera) [2111094] - ipv6: Add a sysctl to control multipath hash fields (Ivan Vecera) [2111094] - ipv6: Calculate multipath hash inside switch statement (Ivan Vecera) [2111094] - ipv6: Use a more suitable label name (Ivan Vecera) [2111094] - ipv4: Add custom multipath hash policy (Ivan Vecera) [2111094] - ipv4: Add a sysctl to control multipath hash fields (Ivan Vecera) [2111094] - ipv4: Calculate multipath hash inside switch statement (Ivan Vecera) [2111094] - ipv6: Use math to point per net sysctls into the appropriate struct net (Ivan Vecera) [2111094] - selftest/net/forwarding: declare NETIFS p9 p10 (Ivan Vecera) [2111094] - ipv6: Fix sysctl max for fib_multipath_hash_policy (Ivan Vecera) [2111094] - selftests: forwarding: Test multipath hashing on inner IP pkts for GRE tunnel (Ivan Vecera) [2111094] - ipv6: Support multipath hashing on inner IP pkts (Ivan Vecera) [2111094] - ipv4: Multipath hashing on inner L3 needs to consider inner IPv6 pkts (Ivan Vecera) [2111094] - ipv4: Support multipath hashing on inner IP pkts for GRE tunnel (Ivan Vecera) [2111094] - ipv4: Initialize flowi4_multipath_hash in data path (Ivan Vecera) [2111094] - net: ipv4: Fix NULL pointer dereference in route lookup (Ivan Vecera) [2111094] - route: Add multipath_hash in flowi_common to make user-define hash (Ivan Vecera) [2111094]- drm/nouveau/kms/nv140-: Disable interlacing (Lyude Paul) [2097647] - rpm: convert gcc and libelf to Recommends (Jarod Wilson) [2114900] - redhat: add ca7 to redhat/git/files (Jarod Wilson)- net/mlx5e: TC, Remove redundant error logging (Amir Tzin) [2049436] - net/mlx5e: SHAMPO, reduce TIR indication (Amir Tzin) [2049436] - net/mlx5e: Lag, Only handle events from highest priority multipath entry (Amir Tzin) [2049436] - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE (Amir Tzin) [2049436] - net/mlx5: Fix a race on command flush flow (Amir Tzin) [2049436] - net/mlx5: Fix size field in bufferx_reg struct (Amir Tzin) [2049436] - net/mlx5e: Fix VF min/max rate parameters interchange mistake (Amir Tzin) [2049436] - net/mlx5e: Add missing increment of count (Amir Tzin) [2049436] - net/mlx5e: MPLSoUDP decap, fix check for unsupported matches (Amir Tzin) [2049436] - net/mlx5e: Fix MPLSoUDP encap to use MPLS action information (Amir Tzin) [2049436] - net/mlx5e: Add feature check for set fec counters (Amir Tzin) [2049436 2049711] - net/mlx5e: TC, Skip redundant ct clear actions (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with forward and drop actions (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with drop and modify hdr action (Amir Tzin) [2049436] - net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets (Amir Tzin) [2049436] - net/mlx5e: Use dma device access helper (add dropped hunk) (Amir Tzin) [2049436] - net/mlx5e: Fix wrong return value on ioctl EEPROM query failure (Amir Tzin) [2049436] - net/mlx5: Fix possible deadlock on rule deletion (Amir Tzin) [2049436] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [2049436] - net/mlx5: Update log_max_qp value to be 17 at most (Amir Tzin) [2049436] - net/mlx5: DR, Don't allow match on IP w/o matching on full ethertype/ip_version (Amir Tzin) [2049436] - net/mlx5e: Avoid field-overflowing memcpy() (Amir Tzin) [2049436] - net/mlx5e: Use struct_group() for memcpy() region (Amir Tzin) [2049436] - net/mlx5e: IPsec: Fix tunnel mode crypto offload for non TCP/UDP traffic (Amir Tzin) [2049436 2052871] - net/mlx5e: IPsec: Fix crypto offload for non TCP/UDP encapsulated traffic (Amir Tzin) [2049436 2052871] - net/mlx5e: Don't treat small ceil values as unlimited in HTB offload (Amir Tzin) [2049436] - net/mlx5: E-Switch, Fix uninitialized variable modact (Amir Tzin) [2049436] - net/mlx5e: Fix handling of wrong devices during bond netevent (Amir Tzin) [2049436] - net/mlx5e: Fix broken SKB allocation in HW-GRO (Amir Tzin) [2049436] - net/mlx5e: Fix wrong calculation of header index in HW_GRO (Amir Tzin) [2049436] - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with forward and drop actions (Amir Tzin) [2049436] - net/mlx5: Use del_timer_sync in fw reset flow of halting poll (Amir Tzin) [2049436] - net/mlx5e: Fix module EEPROM query (Amir Tzin) [2049436] - net/mlx5e: TC, Reject rules with drop and modify hdr action (Amir Tzin) [2049436] - net/mlx5: Bridge, ensure dev_name is null-terminated (Amir Tzin) [2049436] - net/mlx5: Bridge, take rtnl lock in init error handler (Amir Tzin) [2049436] - mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() (Amir Tzin) [2049436] - net/mlx5e: Fix build error in fec_set_block_stats() (Amir Tzin) [2049436] - Revert "net/mlx5: Add retry mechanism to the command entry index allocation" (Amir Tzin) [2049436] - net/mlx5: Set command entry semaphore up once got index free (Amir Tzin) [2049436] - net/mlx5e: Sync VXLAN udp ports during uplink representor profile change (Amir Tzin) [2049436] - net/mlx5: Fix access to sf_dev_table on allocation failure (Amir Tzin) [2049436] - net/mlx5e: Fix matching on modified inner ip_ecn bits (Amir Tzin) [2049436] - Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel" (Amir Tzin) [2049436] - Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels" (Amir Tzin) [2049436] - net/mlx5e: Fix nullptr on deleting mirroring rule (Amir Tzin) [2049436] - net/mlx5e: Fix page DMA map/unmap attributes (Amir Tzin) [2049436] - net/mlx5: Use dma device access helper (add dropped hunk) (Amir Tzin) [2049436] - net/mlx5e: Add recovery flow in case of error CQE (Amir Tzin) [2049436] - net/mlx5e: Refactor set_pflag_cqe_based_moder (Amir Tzin) [2049436] - net/mlx5e: Move HW-GRO and CQE compression check to fix features flow (Amir Tzin) [2049436] - net/mlx5e: Fix feature check per profile (Amir Tzin) [2049436] - net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager (Amir Tzin) [2049436] - net/mlx5e: Expose FEC counters via ethtool (Amir Tzin) [2049436 2049711] - net/mlx5: Update log_max_qp value to FW max capability (Amir Tzin) [2049436] - net/mlx5: Use irq_set_affinity_and_hint() (Amir Tzin) [2049436] - net/mlx5: SF, Use all available cpu for setting cpu affinity (Amir Tzin) [2049436] - net/mlx5: Introduce API for bulk request and release of IRQs (Amir Tzin) [2049436] - net/mlx5: Split irq_pool_affinity logic to new file (Amir Tzin) [2049436] - net/mlx5: Move affinity assignment into irq_request (Amir Tzin) [2049436] - net/mlx5: Introduce control IRQ request API (Amir Tzin) [2049436] - net/mlx5: mlx5e_hv_vhca_stats_create return type to void (Amir Tzin) [2049436] - RDMA/mlx5: Print wc status on CQE error and dump needed (Amir Tzin) [2049436] - net: fixup build after bpf header changes (Amir Tzin) [2049436] - net/mlx5: CT: Set flow source hint from provided tuple device (Amir Tzin) [2049436] - net/mlx5: Set SMFS as a default steering mode if device supports it (Amir Tzin) [2049436] - net/mlx5: DR, Improve steering for empty or RX/TX-only matchers (Amir Tzin) [2049436] - net/mlx5: DR, Add support for matching on geneve_tlv_option_0_exist field (Amir Tzin) [2049436] - net/mlx5: DR, Support matching on tunnel headers 0 and 1 (Amir Tzin) [2049436] - net/mlx5: DR, Add misc5 to match_param structs (Amir Tzin) [2049436] - net/mlx5: Add misc5 flow table match parameters (Amir Tzin) [2049436] - net/mlx5: DR, Add support for UPLINK destination type (Amir Tzin) [2049436] - net/mlx5e: Use auxiliary_device driver data helpers (Amir Tzin) [2049436] - net/mlx5e: Take packet_merge params directly from the RX res struct (Amir Tzin) [2049436] - net/mlx5e: Allocate per-channel stats dynamically at first usage (Amir Tzin) [2049436] - net/mlx5e: Use dynamic per-channel allocations in stats (Amir Tzin) [2049436] - net/mlx5e: Allow profile-specific limitation on max num of channels (Amir Tzin) [2049436] - net/mlx5e: Save memory by using dynamic allocation in netdev priv (Amir Tzin) [2049436] - net/mlx5e: Add profile indications for PTP and QOS HTB features (Amir Tzin) [2049436] - net/mlx5e: Use bitmap field for profile features (Amir Tzin) [2049436] - net/mlx5: Remove the repeated declaration (Amir Tzin) [2049436] - net/mlx5: Let user configure max_macs generic param (Amir Tzin) [2049436] - net/mlx5: Let user configure event_eq_size param (Amir Tzin) [2049436] - net/mlx5: Let user configure io_eq_size param (Amir Tzin) [2049436] - net/mlx5: Introduce log_max_current_uc_list_wr_supported bit (Amir Tzin) [2049436] - net/mlx5e: Move goto action checks into tc_action goto post parse op (Amir Tzin) [2049436] - net/mlx5e: Move vlan action chunk into tc action vlan post parse op (Amir Tzin) [2049436] - net/mlx5e: Add post_parse() op to tc action infrastructure (Amir Tzin) [2049436] - net/mlx5e: Move sample attr allocation to tc_action sample parse op (Amir Tzin) [2049436] - net/mlx5e: TC action parsing loop (Amir Tzin) [2049436] - net/mlx5e: Add redirect ingress to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add sample and ptype to tc_action infra (Amir Tzin) [2049436] - net/mlx5e: Add ct to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add mirred/redirect to tc action infra (Amir Tzin) [2049436] - Revert "net/mlx5e: TC, Remove redundant error logging" (Amir Tzin) [2049436] - net/mlx5e: Add mpls push/pop to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add vlan push/pop/mangle to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add pedit to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add csum to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add tunnel encap/decap to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add goto to tc action infra (Amir Tzin) [2049436] - net/mlx5e: Add tc action infrastructure (Amir Tzin) [2049436] - RDMA/mlx5: Use memset_after() to zero struct mlx5_ib_mr (Amir Tzin) [2049436] - RDMA/mlx5: Add support to multiple priorities for FDB rules (Amir Tzin) [2049436] - net/mlx5: Create more priorities for FDB bypass namespace (Amir Tzin) [2049436] - net/mlx5: Refactor mlx5_get_flow_namespace (Amir Tzin) [2049436] - net/mlx5: Separate FDB namespace (Amir Tzin) [2049436] - net/mlx5: Dynamically resize flow counters query buffer (Amir Tzin) [2049436] - net/mlx5e: TC, Set flow attr ip_version earlier (Amir Tzin) [2049436] - net/mlx5e: TC, Move common flow_action checks into function (Amir Tzin) [2049436] - net/mlx5e: Remove redundant actions arg from vlan push/pop funcs (Amir Tzin) [2049436] - net/mlx5e: Remove redundant actions arg from validate_goto_chain() (Amir Tzin) [2049436] - net/mlx5e: TC, Remove redundant action stack var (Amir Tzin) [2049436] - net/mlx5e: Hide function mlx5e_num_channels_changed (Amir Tzin) [2049436] - net/mlx5e: SHAMPO, clean MLX5E_MAX_KLM_PER_WQE macro (Amir Tzin) [2049436] - net/mlx5: Print more info on pci error handlers (Amir Tzin) [2049436] - net/mlx5: SF, silence an uninitialized variable warning (Amir Tzin) [2049436] - net/mlx5: Fix error return code in esw_qos_create() (Amir Tzin) [2049436] - net/mlx5: E-switch, Create QoS on demand (Amir Tzin) [2049436] - net/mlx5: E-switch, Enable vport QoS on demand (Amir Tzin) [2049436] - net/mlx5: E-switch, move offloads mode callbacks to offloads file (Amir Tzin) [2049436] - net/mlx5: E-switch, Reuse mlx5_eswitch_set_vport_mac (Amir Tzin) [2049436] - net/mlx5: E-switch, Remove vport enabled check (Amir Tzin) [2049436] - net/mlx5e: Specify out ifindex when looking up decap route (Amir Tzin) [2049436] - net/mlx5e: TC, Move comment about mod header flag to correct place (Amir Tzin) [2049436] - net/mlx5e: TC, Move kfree() calls after destroying all resources (Amir Tzin) [2049436] - net/mlx5e: TC, Destroy nic flow counter if exists (Amir Tzin) [2049436] - net/mlx5: TC, using swap() instead of tmp variable (Amir Tzin) [2049436] - net/mlx5: CT: Allow static allocation of mod headers (Amir Tzin) [2049436] - net/mlx5e: Refactor mod header management API (Amir Tzin) [2049436] - net/mlx5: Avoid printing health buffer when firmware is unavailable (Amir Tzin) [2049436 2049717] - net/mlx5e: Support ethtool cq mode (Amir Tzin) [2049436 2049840] - Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" (Amir Tzin) [2049435] - net/mlx5: Use first online CPU instead of hard coded CPU (Amir Tzin) [2049435] - net/mlx5e: SHAMPO, Fix constant expression result (Amir Tzin) [2049435] - net/mlx5: Fix access to a non-supported register (Amir Tzin) [2049435 2049717] - net/mlx5: Fix too early queueing of log timestamp work (Amir Tzin) [2049435 2049717] - net/mlx5: Fix use after free in mlx5_health_wait_pci_up (Amir Tzin) [2049435] - net/mlx5: Lag, Fix recreation of VF LAG (Amir Tzin) [2049435] - net/mlx5e: Sync TIR params updates against concurrent create/modify (Amir Tzin) [2049435] - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow (Amir Tzin) [2049435] - net/mlx5: Fix flow counters SF bulk query len (Amir Tzin) [2049435] - net/mlx5: Lag, fix a potential Oops with mlx5_lag_create_definer() (Amir Tzin) [2049435] - net/mlx5e: Prevent HW-GRO and CQE-COMPRESS features operate together (Amir Tzin) [2049435] - net/mlx5e: Add HW-GRO offload (Amir Tzin) [2049435] - net/mlx5e: Add HW_GRO statistics (Amir Tzin) [2049435] - net/mlx5e: HW_GRO cqe handler implementation (Amir Tzin) [2049435] - net/mlx5e: Add data path for SHAMPO feature (Amir Tzin) [2049435] - net/mlx5e: Add handle SHAMPO cqe support (Amir Tzin) [2049435] - net/mlx5e: Add control path for SHAMPO feature (Amir Tzin) [2049435] - net/mlx5e: Add support to klm_umr_wqe (Amir Tzin) [2049435] - net/mlx5e: Rename TIR lro functions to TIR packet merge functions (Amir Tzin) [2049435] - net/mlx5e: Align mlx5e_resources with upstream code. (Amir Tzin) [2049435] - net/mlx5: Add SHAMPO caps, HW bits and enumerations (Amir Tzin) [2049435] - net/mlx5e: Rename lro_timeout to packet_merge_timeout (Amir Tzin) [2049435] - net/mlx5: SF_DEV Add SF device trace points (Amir Tzin) [2049435] - net/mlx5: SF, Add SF trace points (Amir Tzin) [2049435] - net/mlx5: Bridge, support replacing existing FDB entry (Amir Tzin) [2049435] - net/mlx5: Bridge, extract code to lookup and del/notify entry (Amir Tzin) [2049435] - net/mlx5: Add periodic update of host time to firmware (Amir Tzin) [2049435 2049717] - net/mlx5: Print health buffer by log level (Amir Tzin) [2049435 2049717] - net/mlx5: Extend health buffer dump (Amir Tzin) [2049435 2049717] - net/mlx5: Reduce flow counters bulk query buffer size for SFs (Amir Tzin) [2049435] - net/mlx5: Fix unused function warning of mlx5i_flow_type_mask (Amir Tzin) [2049435] - net/mlx5: Remove unnecessary checks for slow path flag (Amir Tzin) [2049435] - net/mlx5e: don't write directly to netdev->dev_addr (Amir Tzin) [2049435] - RDMA/mlx5: Use dev_addr_mod() (Amir Tzin) [2049435] - RDMA/mlx5: fix build error with INFINIBAND_USER_ACCESS=n (Amir Tzin) [2049435] - RDMA/mlx5: Attach ndescs to mlx5_ib_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Move struct mlx5_core_mkey to mlx5_ib (Amir Tzin) [2049435] - RDMA/mlx5: Replace struct mlx5_core_mkey by u32 key (Amir Tzin) [2049435] - RDMA/mlx5: Align mlx5e_resources with upstream code. (Amir Tzin) [2049435] - RDMA/mlx5: Remove pd from struct mlx5_core_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Remove size from struct mlx5_core_mkey (Amir Tzin) [2049435] - RDMA/mlx5: Remove iova from struct mlx5_core_mkey (Amir Tzin) [2049435] - net/mlx5: E-Switch, Increase supported number of forward destinations to 32 (Amir Tzin) [2049435] - net/mlx5: E-Switch, Use dynamic alloc for dest array (Amir Tzin) [2049435] - net/mlx5: Lag, use steering to select the affinity port in LAG (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create/destroy/modify port selection (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create TTC tables for LAG port selection (Amir Tzin) [2049435] - net/mlx5: Lag, add support to create definers for LAG (Amir Tzin) [2049435] - net/mlx5: Lag, set match mask according to the traffic type bitmap (Amir Tzin) [2049435] - net/mlx5: Lag, set LAG traffic type mapping (Amir Tzin) [2049435] - net/mlx5: Lag, move lag files into directory (Amir Tzin) [2049435] - net/mlx5: Introduce new uplink destination type (Amir Tzin) [2049435] - net/mlx5: Add support to create match definer (Amir Tzin) [2049435] - net/mlx5: Introduce port selection namespace (Amir Tzin) [2049435] - net/mlx5: Support partial TTC rules (Amir Tzin) [2049435] - mlx5: prevent 64bit divide (Amir Tzin) [2049435] - net/mlx5: Use system_image_guid to determine bonding (Amir Tzin) [2049435] - net/mlx5: Use native_port_num as 1st option of device index (Amir Tzin) [2049435] - net/mlx5: Introduce new device index wrapper (Amir Tzin) [2049435] - net/mlx5: Check return status first when querying system_image_guid (Amir Tzin) [2049435] - net/mlx5: DR, Prefer kcalloc over open coded arithmetic (Amir Tzin) [2049435] - net/mlx5e: Add extack msgs related to TC for better debug (Amir Tzin) [2049435] - net/mlx5: CT: Fix missing cleanup of ct nat table on init failure (Amir Tzin) [2049435] - Revert "net/mlx5e: TC, Skip redundant ct clear actions" (Amir Tzin) [2049435] - net/mlx5: Disable roce at HCA level (Amir Tzin) [2049435] - net/mlx5i: Enable Rx steering for IPoIB via ethtool (Amir Tzin) [2049435] - net/mlx5: Bridge, provide flow source hints (Amir Tzin) [2049435] - net/mlx5: Read timeout values from DTOR (Amir Tzin) [2049435] - net/mlx5: Read timeout values from init segment (Amir Tzin) [2049435] - net/mlx5: Add layout to support default timeouts register (Amir Tzin) [2049435] - net/mlx5: Set devlink reload feature bit for supported devices only (Amir Tzin) [2049435] - RDMA/mlx5: Add optional counter support in get_hw_stats callback (Amir Tzin) [2049435] - RDMA/mlx5: Add modify_op_stat() support (Amir Tzin) [2049435] - RDMA/mlx5: Add steering support in optional flow counters (Amir Tzin) [2049435] - RDMA/mlx5: Support optional counters in hw_stats initialization (Amir Tzin) [2049435] - net/mlx5: Add priorities for counters in RDMA namespaces (Amir Tzin) [2049435] - net/mlx5: Add ifc bits to support optional counters (Amir Tzin) [2049435] - net/mlx5: Enable single IRQ for PCI Function (Amir Tzin) [2049435] - net/mlx5: Shift control IRQ to the last index (Amir Tzin) [2049435] - net/mlx5: Bridge, pop VLAN on egress table miss (Amir Tzin) [2049435] - net/mlx5: Bridge, mark reg_c1 when pushing VLAN (Amir Tzin) [2049435] - net/mlx5: Bridge, extract VLAN pop code to dedicated functions (Amir Tzin) [2049435] - net/mlx5: Bridge, refactor eswitch instance usage (Amir Tzin) [2049435] - net/mlx5e: Support accept action (Amir Tzin) [2049435] - net/mlx5e: Specify out ifindex when looking up encap route (Amir Tzin) [2049435] - net/mlx5e: Reserve a value from TC tunnel options mapping (Amir Tzin) [2049435] - net/mlx5e: Move parse fdb check into actions_match_supported_fdb() (Amir Tzin) [2049435] - net/mlx5e: Split actions_match_supported() into a sub function (Amir Tzin) [2049435] - net/mlx5e: Move mod hdr allocation to a single place (Amir Tzin) [2049435] - net/mlx5e: TC, Refactor sample offload error flow (Amir Tzin) [2049435] - RDMA/mlx5: Avoid taking MRs from larger MR cache pools when a pool is empty (Amir Tzin) [2049435] - IB/mlx5: Flow through a more detailed return code from get_prefetchable_mr() (Amir Tzin) [2049435] - net/mlx5e: Use array_size() helper (Amir Tzin) [2049435] - net/mlx5: Use struct_size() helper in kvzalloc() (Amir Tzin) [2049435] - net/mlx5: Use kvcalloc() instead of kvzalloc() (Amir Tzin) [2049435] - net/mlx5: Tolerate failures in debug features while driver load (Amir Tzin) [2049435] - IB/mlx5: Enable UAR to have DevX UID (Amir Tzin) [2049435] - net/mlx5: Add uid field to UAR allocation structures (Amir Tzin) [2049435] - net/mlx5e: check return value of rhashtable_init (Amir Tzin) [2049435] - net/mlx5e: Enable TC offload for ingress MACVLAN (Amir Tzin) [2049435] - net/mlx5e: Enable TC offload for egress MACVLAN (Amir Tzin) [2049435] - net/mlx5e: loopback test is not supported in switchdev mode (Amir Tzin) [2049435] - net/mlx5e: Use NL_SET_ERR_MSG_MOD() for errors parsing tunnel attributes (Amir Tzin) [2049435] - net/mlx5e: Use tc sample stubs instead of ifdefs in source file (Amir Tzin) [2049435] - net/mlx5e: Remove redundant priv arg from parse_pedit_to_reformat() (Amir Tzin) [2049435] - net/mlx5e: Check action fwd/drop flag exists also for nic flows (Amir Tzin) [2049435] - net/mlx5e: Set action fwd flag when parsing tc action goto (Amir Tzin) [2049435] - net/mlx5e: Remove incorrect addition of action fwd flag (Amir Tzin) [2049435] - Revert "net/mlx5e: TC, Fix ct_clear overwriting ct action metadata" (Amir Tzin) [2049435] - net/mlx5e: Use correct return type (Amir Tzin) [2049435] - net/mlx5e: Add error flow for ethtool -X command (Amir Tzin) [2049435] - net/mlx5: Fix rdma aux device on devlink reload (Amir Tzin) [2049434] - RDMA/mlx5: Relax DCS QP creation checks (Amir Tzin) [2049434] - net/mellanox: switch from 'pci_' to 'dma_' API (Amir Tzin) [2049434] - net/mlx5e: Make use of netdev_warn() (Amir Tzin) [2049434] - net/mlx5: Initialize numa node for all core devices (Amir Tzin) [2049434] - net/mlx5: Allocate individual capability (Amir Tzin) [2049434] - net/mlx5: Reorganize current and maximal capabilities to be per-type (Amir Tzin) [2049434] - net/mlx5: SF, use recent sysfs api (Amir Tzin) [2049434] - net/mlx5: Refcount mlx5_irq with integer (Amir Tzin) [2049434] - net/mlx5: Change SF missing dedicated MSI-X err message to dbg (Amir Tzin) [2049434] - net/mlx5: Align mlx5_irq structure (Amir Tzin) [2049434] - net/mlx5: Delete impossible dev->state checks (Amir Tzin) [2049434] - net/mlx5: Support enable_vnet devlink dev param (Amir Tzin) [2049434] - net/mlx5: Support enable_rdma devlink dev param (Amir Tzin) [2049434] - net/mlx5: Support enable_eth devlink dev param (Amir Tzin) [2049434] - RDMA/mlx5: Drop in-driver verbs object creations (Amir Tzin) [2049434] - RDMA/mlx5: Delete device resource mutex that didn't protect anything (Amir Tzin) [2049434] - RDMA/mlx5: Cancel pkey work before destroying device resources (Amir Tzin) [2049434] - net/mlx5e: Return -EOPNOTSUPP if more relevant when parsing tc actions (Amir Tzin) [2049434] - net/mlx5e: Remove redundant assignment of counter to null (Amir Tzin) [2049434] - net/mlx5e: Remove redundant parse_attr arg (Amir Tzin) [2049434] - net/mlx5e: Remove redundant cap check for flow counter (Amir Tzin) [2049434] - net/mlx5e: Remove redundant filter_dev arg from parse_tc_fdb_actions() (Amir Tzin) [2049434] - net/mlx5e: Remove redundant tc act includes (Amir Tzin) [2049434] - IB/mlx5: Rename is_apu_thread_cq function to is_apu_cq (Amir Tzin) [2049434] - RDMA/mlx5: Add DCS offload support (Amir Tzin) [2049434] - RDMA/mlx5: Separate DCI QP creation logic (Amir Tzin) [2049434] - net/mlx5: Add DCS caps & fields support (Amir Tzin) [2049434] - KVM: nVMX: Inject #UD if VMXON is attempted with incompatible CR0/CR4 (Vitaly Kuznetsov) [2119233] - mm: Fix PASID use-after-free issue (Jerry Snitselaar) [2113046] - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() (Rahul Lakkireddy) [2105815] - scsi: csiostor: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix a typo (Rahul Lakkireddy) [2105815] - scsi: csiostor: Assign boolean values to a bool variable (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix fall-through warnings for Clang (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix spelling mistake "couldnt" -> "couldn't" (Rahul Lakkireddy) [2105815] - scsi: csiostor: Add missing description for csio_rnode_fwevt_handler()'s 'fwevt' param (Rahul Lakkireddy) [2105815] - scsi: csiostor: Remove 2 unused variables {mc,edc}_bist_status_rdata_reg (Rahul Lakkireddy) [2105815] - scsi: csiostor: Demote kerneldoc that fails to meet the criteria (Rahul Lakkireddy) [2105815] - scsi: csiostor: Fix misnamed function parameter (Rahul Lakkireddy) [2105815] - scsi: csiostor: Adjust indentation in csio_device_reset (Rahul Lakkireddy) [2105815] - mediatek: mt76: eeprom: fix missing of_node_put() in mt76_find_power_limits_node() (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211: consider EHT element size in assoc request (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211: switch airtime fairness back to deficit round-robin scheduling (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7615: fix throughput regression on DFS channels (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix incorrect testmode ipg on band 1 caused by wmm_idx (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: enlarge maximum VHT MPDU length to 11454 (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: fix aggregation subframes setting to HE max (Jose Ignacio Tornos Martinez) [2103625] - wifi: mac80211_hwsim: set virtio device ready in probe() (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921s: fix possible sdio deadlock in command fail (Jose Ignacio Tornos Martinez) [2103625] - wifi: rtw89: 8852a: rfk: fix div 0 exception (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: do not update pm states in case of error (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7615: do not update pm stats in case of error (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Avoid REO CMD failed prints during firmware recovery (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Fix incorrect debug_mask mappings (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix missing skb drop on htc_tx_completion error (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921s: fix firmware download random fail (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix IRQ affinity warning on shutdown (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix netdev open race (Jose Ignacio Tornos Martinez) [2103625] - iwlwifi: fw: init SAR GEO table only if data is present (Jose Ignacio Tornos Martinez) [2103625] - ath10k: htt_tx: do not interpret Eth frames as WiFi (Jose Ignacio Tornos Martinez) [2103625] - ath11k: Don't check arvif->is_started before sending management frames (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix twt table_mask to u16 in mt7915_dev (Jose Ignacio Tornos Martinez) [2103625] - ath11k: reset 11d state in process of recovery (Jose Ignacio Tornos Martinez) [2103625] - brcmfmac: use ISO3166 country code and 0 rev as fallback on brcmfmac43602 chips (Jose Ignacio Tornos Martinez) [2103625] - mt76: fix tx status related use-after-free race on station removal (Jose Ignacio Tornos Martinez) [2103625] - mt76: do not attempt to reorder received 802.3 packets without agg session (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: fix kernel crash at mt7921_pci_remove (Jose Ignacio Tornos Martinez) [2103625] - mt76: fix antenna config missing in 6G cap (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: report rx mode value in mt7915_mac_fill_rx_rate (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: do not pass data pointer to mt7915_mcu_muru_debug_set (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix possible NULL pointer dereference in mt7915_mac_fill_rx_vector (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix possible uninitialized pointer dereference in mt7986_wmac_gpio_setup (Jose Ignacio Tornos Martinez) [2103625] - ath10k: enable napi on RX path for usb (Jose Ignacio Tornos Martinez) [2103625] - ath11k: fix the warning of dev_wake in mhi_pm_disable_transition() (Jose Ignacio Tornos Martinez) [2103625] - ath11k: acquire ab->base_lock in unassign when finding the peer by addr (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix unbounded shift in mt7915_mcu_beacon_mbss (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7915: fix DBDC default band selection on MT7915D (Jose Ignacio Tornos Martinez) [2103625] - mt76: mt7921: honor pm user configuration in mt7921_sniffer_interface_iter (Jose Ignacio Tornos Martinez) [2103625] - i40e: Fix tunnel checksum offload with fragmented traffic (Ivan Vecera) [2107977] - net/mlx5e: Fix matchall police parameters validation (Ivan Vecera) [2106271] - net/sched: act_police: allow 'continue' action offload (Ivan Vecera) [2106271] - net: Print hashed skb addresses for all net and qdisc events (Ivan Vecera) [2106271] - net: sched: fixed barrier to prevent skbuff sticking in qdisc backlog (Ivan Vecera) [2106271] - net/sched: act_pedit: sanitize shift argument before usage (Ivan Vecera) [2106271] - net/sched: act_pedit: really ensure the skb is writable (Ivan Vecera) [2106271] - net/sched: taprio: Check if socket flags are valid (Ivan Vecera) [2106271] - net/sched: flower: Avoid overwriting error messages (Ivan Vecera) [2106271] - net/sched: matchall: Avoid overwriting error messages (Ivan Vecera) [2106271] - net/sched: cls_api: Add extack message for unsupported action offload (Ivan Vecera) [2106271] - net/sched: act_vlan: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_tunnel_key: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_skbedit: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_police: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_pedit: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_mpls: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_mirred: Add extack message for offload failure (Ivan Vecera) [2106271] - net/sched: act_gact: Add extack messages for offload failure (Ivan Vecera) [2106271] - net/sched: act_api: Add extack to offload_act_setup() callback (Ivan Vecera) [2106271] - net/sched: flower: Take verbose flag into account when logging error messages (Ivan Vecera) [2106271] - net/sched: matchall: Take verbose flag into account when logging error messages (Ivan Vecera) [2106271] - net/sched: fix incorrect vlan_push_eth dest field (Ivan Vecera) [2106271] - net/sched: add vlan push_eth and pop_eth action to the hardware IR (Ivan Vecera) [2106271] - selftests: tc-testing: Increase timeout in tdc config file (Ivan Vecera) [2106271] - flow_offload: improve extack msg for user when adding invalid filter (Ivan Vecera) [2106271] - flow_offload: reject offload for all drivers with invalid police parameters (Ivan Vecera) [2106271] - net: flow_offload: add tc police action parameters (Ivan Vecera) [2106271] - net: sched: avoid newline at end of message in NL_SET_ERR_MSG_MOD (Ivan Vecera) [2106271] - net_sched: add __rcu annotation to netdev->qdisc (Ivan Vecera) [2106271] - net/sched: act_police: more accurate MTU policing (Ivan Vecera) [2106271] - net/sched: Enable tc skb ext allocation on chain miss only when needed (Ivan Vecera) [2106271] - net: sched: remove qdisc_qlen_cpu() (Ivan Vecera) [2106271] - net: sched: remove psched_tdiff_bounded() (Ivan Vecera) [2106271] - net: sched: Clarify error message when qdisc kind is unknown (Ivan Vecera) [2106271] - sch_cake: revise Diffserv docs (Ivan Vecera) [2106271] - flow_offload: fix suspicious RCU usage when offloading tc action (Ivan Vecera) [2106271] - net/sched: use min() macro instead of doing it manually (Ivan Vecera) [2106271] - selftests: tc-testing: add action offload selftest for action and filter (Ivan Vecera) [2106271] - flow_offload: validate flags of filter and actions (Ivan Vecera) [2106271] - flow_offload: add reoffload process to update hw_count (Ivan Vecera) [2106271] - net: sched: save full flags for tc action (Ivan Vecera) [2106271] - flow_offload: add process to update action stats from hardware (Ivan Vecera) [2106271] - flow_offload: rename exts stats update functions with hw (Ivan Vecera) [2106271] - flow_offload: add skip_hw and skip_sw to control if offload the action (Ivan Vecera) [2106271] - flow_offload: allow user to offload tc action to net device (Ivan Vecera) [2106271] - flow_offload: add ops to tc_action_ops for flow action setup (Ivan Vecera) [2106271] - flow_offload: rename offload functions with offload instead of flow (Ivan Vecera) [2106271] - flow_offload: add index to flow_action_entry structure (Ivan Vecera) [2106271] - flow_offload: reject to offload tc actions in offload drivers (Ivan Vecera) [2106271] - flow_offload: fill flags to action structure (Ivan Vecera) [2106271] - sch_cake: do not call cake_destroy() from cake_init() (Ivan Vecera) [2106271] - net/sched: fq_pie: prevent dismantle issue (Ivan Vecera) [2106271] - selftests/tc-testing: Fix cannot create /sys/bus/netdevsim/new_device: Directory nonexistent (Ivan Vecera) [2106271] - selftests/tc-testing: add missing config (Ivan Vecera) [2106271] - selftests/tc-testing: add exit code (Ivan Vecera) [2106271] - net/sched: act_ct: Offload only ASSURED connections (Ivan Vecera) [2106271] - selftests/tc-testings: Be compatible with newer tc output (Ivan Vecera) [2106271] - selftests: forwarding: Fix packet matching in mirroring selftests (Ivan Vecera) [2106271] - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any (Ivan Vecera) [2106271] - cls_flower: Fix inability to match GRE/IPIP packets (Ivan Vecera) [2106271] - sch_htb: Add extack messages for EOPNOTSUPP errors (Ivan Vecera) [2106271] - net: sch: simplify condtion for selecting mini_Qdisc_pair buffer (Ivan Vecera) [2106271] - net: sch: eliminate unnecessary RCU waits in mini_qdisc_pair_swap() (Ivan Vecera) [2106271] - net: sched: gred: dynamically allocate tc_gred_qopt_offload (Ivan Vecera) [2106271] - net: stats: Read the statistics in ___gnet_stats_copy_basic() instead of adding. (Ivan Vecera) [2106271] - net: sched: Allow statistics reads from softirq. (Ivan Vecera) [2106271] - net: sched: remove one pair of atomic operations (Ivan Vecera) [2106271] - net: sched: fix logic error in qdisc_run_begin() (Ivan Vecera) [2106271] - net: sch_tbf: Add a graft command (Ivan Vecera) [2106271] - net: sched: Remove Qdisc::running sequence counter (Ivan Vecera) [2106271] - net: sched: Merge Qdisc::bstats and Qdisc::cpu_bstats data types (Ivan Vecera) [2106271] - net: sched: Use _bstats_update/set() instead of raw writes (Ivan Vecera) [2106271] - net: sched: Protect Qdisc::bstats with u64_stats (Ivan Vecera) [2106271] - u64_stats: Introduce u64_stats_set() (Ivan Vecera) [2106271] - gen_stats: Move remaining users to gnet_stats_add_queue(). (Ivan Vecera) [2106271] - mq, mqprio: Use gnet_stats_add_queue(). (Ivan Vecera) [2106271] - gen_stats: Add gnet_stats_add_queue(). (Ivan Vecera) [2106271] - gen_stats: Add instead Set the value in __gnet_stats_copy_basic(). (Ivan Vecera) [2106271] - testing: selftests: tc_common: Add tc_check_at_least_x_packets() (Ivan Vecera) [2106271] - testing: selftests: forwarding.config.sample: Add tc flag (Ivan Vecera) [2106271] - net/sched: sch_taprio: properly cancel timer from taprio_destroy() (Ivan Vecera) [2106271] - net: sched: Use struct_size() helper in kvmalloc() (Ivan Vecera) [2106271] - net_sched: Use struct_size() and flex_array_size() helpers (Ivan Vecera) [2106271] - net: prevent user from passing illegal stab size (Ivan Vecera) [2106271] - net: sched: move and reuse mq_change_real_num_tx() (Ivan Vecera) [2106271] - selftests: net: test ethtool -L vs mq (Ivan Vecera) [2106271] - netdevsim: add ability to change channel count (Ivan Vecera) [2106271] - net: add netif_set_real_num_queues() for device reconfig (Ivan Vecera) [2106271] - net: sched: update default qdisc visibility after Tx queue cnt changes (Ivan Vecera) [2106271] - fix array-index-out-of-bounds in taprio_change (Ivan Vecera) [2106271] - Revert "flow_offload: action should not be NULL when it is referenced" (Ivan Vecera) [2106271] - sch_cake: fix srchost/dsthost hashing mode (Ivan Vecera) [2106271] - net/sched: cls_api, reset flags on replay (Ivan Vecera) [2106271] - net: sched: provide missing kdoc for tcf_pkt_info and tcf_ematch_ops (Ivan Vecera) [2106271] - net: flow_offload: correct comments mismatch with code (Ivan Vecera) [2106271] - net/sched: taprio: Fix init procedure (Ivan Vecera) [2106271] - net_sched: refactor TC action init API (Ivan Vecera) [2106271] - tc-testing: Add control-plane selftest for skbmod SKBMOD_F_ECN option (Ivan Vecera) [2106271] - net/sched: act_skbmod: Add SKBMOD_F_ECN option support (Ivan Vecera) [2106271] - qdisc: add new field for qdisc_enqueue tracepoint (Ivan Vecera) [2106271] - net/sched: act_skbmod: Skip non-Ethernet packets (Ivan Vecera) [2106271] - net/sched: Remove unnecessary if statement (Ivan Vecera) [2106271] - net_sched: introduce tracepoint trace_qdisc_enqueue() (Ivan Vecera) [2106271] - net_sched: use px to print skb address in trace_qdisc_dequeue() (Ivan Vecera) [2106271] - net: use px to print skb address in trace_netif_receive_skb (Ivan Vecera) [2106271] - net/sched: sch_taprio: fix typo in comment (Ivan Vecera) [2106271] - flow_offload: action should not be NULL when it is referenced (Ivan Vecera) [2106271] - net: sched: remove qdisc->empty for lockless qdisc (Ivan Vecera) [2106271] - net: sched: implement TCQ_F_CAN_BYPASS for lockless qdisc (Ivan Vecera) [2106271] - net: sched: avoid unnecessary seqcount operation for lockless qdisc (Ivan Vecera) [2106271] - Revert "net/sched: cls_flower: Remove match on n_proto" (Ivan Vecera) [2106271] - net: sched: add barrier to ensure correct ordering for lockless qdisc (Ivan Vecera) [2106271] - net: sched: fix error return code in tcf_del_walker() (Ivan Vecera) [2106271] - net/sched: cls_flower: Remove match on n_proto (Ivan Vecera) [2106271] - sch_cake: revise docs for RFC 8622 LE PHB support (Ivan Vecera) [2106271] - sch_cake: Fix out of bounds when parsing TCP options and header (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_lookup_leaf() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_do_events() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_charge_class() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_deactivate() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_activate() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_change_class_mode() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_class_mode() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_deactivate_prios() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_activate_prios() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_remove_class_from_row() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_class_to_row() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_next_rb_node() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_to_wait_tree() (Ivan Vecera) [2106271] - sch_htb: fix doc warning in htb_add_to_id_tree() (Ivan Vecera) [2106271] - net/sched: act_vlan: Test priority 0 modification (Ivan Vecera) [2106271] - net/sched: act_vlan: No dump for unset priority (Ivan Vecera) [2106271] - net: sched: Fix spelling mistakes (Ivan Vecera) [2106271] - net/sched: fq_pie: fix OOB access in the traffic path (Ivan Vecera) [2106271] - net/sched: fq_pie: re-factor fix for fq_pie endless loop (Ivan Vecera) [2106271] - net: taprio offload: enforce qdisc to netdev queue mapping (Ivan Vecera) [2106271] - net/sched: taprio: Drop unnecessary NULL check after container_of (Ivan Vecera) [2106271] - net: flow_offload: add FLOW_ACTION_PPPOE_PUSH (Ivan Vecera) [2106271] - gve: Recording rx queue before sending to napi (Jordan Kimbrough) [2018609] - gve: fix the wrong AdminQ buffer queue index check (Jordan Kimbrough) [2018609] - gve: Fix GFP flags when allocing pages (Jordan Kimbrough) [2018609] - gve: Add tx|rx-coalesce-usec for DQO (Jordan Kimbrough) [2018609] - gve: Add consumed counts to ethtool stats (Jordan Kimbrough) [2018609] - gve: Implement suspend/resume/shutdown (Jordan Kimbrough) [2018609] - gve: Add optional metadata descriptor type GVE_TXD_MTD (Jordan Kimbrough) [2018609] - gve: remove memory barrier around seqno (Jordan Kimbrough) [2018609] - gve: Update gve_free_queue_page_list signature (Jordan Kimbrough) [2018609] - gve: Move the irq db indexes out of the ntfy block struct (Jordan Kimbrough) [2018609] - gve: Correct order of processing device options (Jordan Kimbrough) [2018609] - gve: fix for null pointer dereference. (Jordan Kimbrough) [2018609] - gve: fix unmatched u64_stats_update_end() (Jordan Kimbrough) [2018609] - gve: Fix off by one in gve_tx_timeout() (Jordan Kimbrough) [2018609] - gve: Add a jumbo-frame device option. (Jordan Kimbrough) [2018609] - gve: Implement packet continuation for RX. (Jordan Kimbrough) [2018609] - gve: Add RX context. (Jordan Kimbrough) [2018609] - gve: Track RX buffer allocation failures (Jordan Kimbrough) [2018609] - gve: Allow pageflips on larger pages (Jordan Kimbrough) [2018609] - gve: Add netif_set_xps_queue call (Jordan Kimbrough) [2018609] - gve: Recover from queue stall due to missed IRQ (Jordan Kimbrough) [2018609] - gve: Do lazy cleanup in TX path (Jordan Kimbrough) [2018609] - gve: Add rx buffer pagecnt bias (Jordan Kimbrough) [2018609] - gve: Switch to use napi_complete_done (Jordan Kimbrough) [2018609] - gve: report 64bit tx_bytes counter from gve_handle_report_stats() (Jordan Kimbrough) [2018609] - gve: fix gve_get_stats() (Jordan Kimbrough) [2018609] - gve: Properly handle errors in gve_assign_qpl (Jordan Kimbrough) [2018609] - gve: Avoid freeing NULL pointer (Jordan Kimbrough) [2018609] - gve: Correct available tx qpl check (Jordan Kimbrough) [2018609] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Jordan Kimbrough) [2018609] - gve: Use kvcalloc() instead of kvzalloc() (Jordan Kimbrough) [2018609] - gve: DQO: avoid unused variable warnings (Jordan Kimbrough) [2018609] - gve: fix the wrong AdminQ buffer overflow check (Jordan Kimbrough) [2018609] - gve: DQO: Remove incorrect prefetch (Jordan Kimbrough) [2018609] - gve: Simplify code and axe the use of a deprecated API (Jordan Kimbrough) [2018609] - gve: Propagate error codes to caller (Jordan Kimbrough) [2018609] - gve: Fix an error handling path in 'gve_probe()' (Jordan Kimbrough) [2018609] - gve: DQO: Fix off by one in gve_rx_dqo() (Jordan Kimbrough) [2018609] - gve: Fix swapped vars when fetching max queues (Jordan Kimbrough) [2018609] - gve: Fix warnings reported for DQO patchset (Jordan Kimbrough) [2018609] - gve: DQO: Add RX path (Jordan Kimbrough) [2018609] - gve: DQO: Add TX path (Jordan Kimbrough) [2018609] - gve: DQO: Configure interrupts on device up (Jordan Kimbrough) [2018609] - gve: DQO: Add ring allocation and initialization (Jordan Kimbrough) [2018609] - gve: DQO: Add core netdev features (Jordan Kimbrough) [2018609] - gve: Update adminq commands to support DQO queues (Jordan Kimbrough) [2018609] - gve: Add DQO fields for core data structures (Jordan Kimbrough) [2018609] - gve: Add dqo descriptors (Jordan Kimbrough) [2018609] - gve: Add support for DQO RX PTYPE map (Jordan Kimbrough) [2018609] - gve: adminq: DQO specific device descriptor logic (Jordan Kimbrough) [2018609] - gve: Introduce per netdev `enum gve_queue_format` (Jordan Kimbrough) [2018609] - gve: Introduce a new model for device options (Jordan Kimbrough) [2018609] - gve: Make gve_rx_slot_page_info.page_offset an absolute offset (Jordan Kimbrough) [2018609] - gve: gve_rx_copy: Move padding to an argument (Jordan Kimbrough) [2018609] - gve: Move some static functions to a common file (Jordan Kimbrough) [2018609] - gve: Correct SKB queue index validation. (Jordan Kimbrough) [2018609] - gve: Upgrade memory barrier in poll routine (Jordan Kimbrough) [2018609] - gve: Add NULL pointer checks when freeing irqs. (Jordan Kimbrough) [2018609] - gve: Update mgmt_msix_idx if num_ntfy changes (Jordan Kimbrough) [2018609] - gve: Check TX QPL was actually assigned (Jordan Kimbrough) [2018609] - net: gve: remove duplicated allowed (Jordan Kimbrough) [2018609] - net: gve: convert strlcpy to strscpy (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing in the tx path (Jordan Kimbrough) [2018609] - gve: Rx Buffer Recycling (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing to the rx path (Jordan Kimbrough) [2018609] - gve: Add support for raw addressing device option (Jordan Kimbrough) [2018609] - net: don't include ethtool.h from netdevice.h (Jordan Kimbrough) [2018609] - gve: Replace zero-length array with flexible-array member (Jordan Kimbrough) [2018609] - gve: Enable Link Speed Reporting in the driver. (Jordan Kimbrough) [2018609] - gve: Use link status register to report link status (Jordan Kimbrough) [2018609] - gve: Batch AQ commands for creating and destroying queues. (Jordan Kimbrough) [2018609] - gve: NIC stats for report-stats and for ethtool (Jordan Kimbrough) [2018609] - gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags. (Jordan Kimbrough) [2018609] - gve: Use dev_info/err instead of netif_info/err. (Jordan Kimbrough) [2018609] - gve: Add stats for gve. (Jordan Kimbrough) [2018609] - gve: Get and set Rx copybreak via ethtool (Jordan Kimbrough) [2018609] - redhat: update ppc64le secureboot signing key (Jarod Wilson) [2109215] - tools: add cpupower daemon reload when installed/upgraded (Jarod Wilson) [2042424] - sfc: fix use after free when disabling sriov (Íñigo Huguet) [2105999] - drm/nouveau: recognise GA103 (Karol Herbst) [1923125] - drm/aperture: Run fbdev removal before internal helpers (Michel Dänzer) [2088410] - drm/i915/ttm: fix 32b build (Michel Dänzer) [2088410] - drm/amd/display: Ensure valid event timestamp for cursor-only commits (Michel Dänzer) [2088410] - drm/amd/pm: Prevent divide by zero (Michel Dänzer) [2088410] - drm/amd/display: Only use depth 36 bpp linebuffers on DCN display engines. (Michel Dänzer) [2088410] - drm/amdkfd: correct the MEC atomic support firmware checking for GC 10.3.7 (Michel Dänzer) [2088410] - drm/i915/selftests: fix subtraction overflow bug (Michel Dänzer) [2088410] - drm/i915/gt: Serialize TLB invalidates with GT resets (Michel Dänzer) [2088410] - drm/i915/gt: Serialize GRDOM access between multiple engine resets (Michel Dänzer) [2088410] - drm/i915/ttm: fix sg_table construction (Michel Dänzer) [2088410] - drm/i915/selftests: fix a couple IS_ERR() vs NULL tests (Michel Dänzer) [2088410] - drm/i915/gvt: IS_ERR() vs NULL bug in intel_gvt_update_reg_whitelist() (Michel Dänzer) [2088410] - drm/i915/guc: ADL-N should use the same GuC FW as ADL-S (Michel Dänzer) [2088410] - drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector() (Michel Dänzer) [2088410] - drm/amdgpu/display: disable prefer_shadow for generic fb helpers (Michel Dänzer) [2088410] - drm/amdgpu: keep fbdev buffers pinned during suspend (Michel Dänzer) [2088410] - drm/fourcc: fix integer type usage in uapi header (Michel Dänzer) [2088410] - drm/i915/dgfx: Disable d3cold at gfx root port (Michel Dänzer) [2088410] - drm/i915/gem: add missing else (Michel Dänzer) [2088410] - drm/amdgpu: To flush tlb for MMHUB of RAVEN series (Michel Dänzer) [2088410] - Revert "drm/amdgpu/display: set vblank_disable_immediate for DC" (Michel Dänzer) [2088410] - drm/amdgpu: fix adev variable used in amdgpu_device_gpu_recover() (Michel Dänzer) [2088410] - drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled" (Michel Dänzer) [2088410] - udmabuf: add back sanity check (Michel Dänzer) [2088410] - drm/amd/display: Fix typo in override_lane_settings (Michel Dänzer) [2088410] - amd/display/dc: Fix COLOR_ENCODING and COLOR_RANGE doing nothing for DCN20+ (Michel Dänzer) [2088410] - drm/i915: Implement w/a 22010492432 for adl-s (Michel Dänzer) [2088410] - drm/i915/uc: remove accidental static from a local variable (Michel Dänzer) [2088410] - drm/amd/display: Cap OLED brightness per max frame-average luminance (Michel Dänzer) [2088410] - drm/amdgpu: Fix GTT size reporting in amdgpu_ioctl (Michel Dänzer) [2088410] - drm/i915/reset: Fix error_state_read ptr + offset use (Michel Dänzer) [2088410] - drm/amdkfd: add pinned BOs to kfd_bo_list (Michel Dänzer) [2088410] - drm/amdkfd: Use mmget_not_zero in MMU notifier (Michel Dänzer) [2088410] - drm/amdgpu: Resolve RAS GFX error count issue after cold boot on Arcturus (Michel Dänzer) [2088410] - drm/amd/display: Read Golden Settings Table from VBIOS (Michel Dänzer) [2088410] - Revert "drm/amd/display: Fix DCN3 B0 DP Alt Mapping" (Michel Dänzer) [2088410] - drm/amdgpu: update VCN codec support for Yellow Carp (Michel Dänzer) [2088410] - drm/amd/display: remove stale config guards (Michel Dänzer) [2088410] - drm/amdgpu/jpeg2: Add jpeg vmid update under IB submit (Michel Dänzer) [2088410] - drm/atomic: Force bridge self-refresh-exit on CRTC switch (Michel Dänzer) [2088410] - drm/bridge: analogix_dp: Support PSR-exit to disable transition (Michel Dänzer) [2088410] - drm/amdkfd:Fix fw version for 10.3.6 (Michel Dänzer) [2088410] - drm/amd/pm: use bitmap_{from,to}_arr32 where appropriate (Michel Dänzer) [2088410] - drm/amd/pm: correct the metrics version for SMU 11.0.11/12/13 (Michel Dänzer) [2088410] - drm/amd/pm: Fix missing thermal throttler status (Michel Dänzer) [2088410] - drm/amd/pm: fix a potential gpu_metrics_table memory leak (Michel Dänzer) [2088410] - drm/radeon: fix a possible null pointer dereference (Michel Dänzer) [2088410] - drm/amd/display: Check zero planes for OTG disable W/A on clock change (Michel Dänzer) [2088410] - drm/amd/display: Check if modulo is 0 before dividing. (Michel Dänzer) [2088410] - drm/amdgpu: fix limiting AV1 to the first instance on VCN3 (Michel Dänzer) [2088410] - drm/bridge: ti-sn65dsi83: Handle dsi_lanes == 0 as invalid (Michel Dänzer) [2088410] - drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq() (Michel Dänzer) [2088410] - gma500: fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/i915/dsi: fix VBT send packet port selection for ICL+ (Michel Dänzer) [2088410] - drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX (Michel Dänzer) [2088410] - drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/nouveau/clk: Fix an incorrect NULL check on list iterator (Michel Dänzer) [2088410] - drm/nouveau/subdev/bus: Ratelimit logging for fault errors (Michel Dänzer) [2088410] - drm/amdgpu/cs: make commands with 0 chunks illegal behaviour. (Michel Dänzer) [2088410] - drm/amdgpu: add beige goby PCI ID (Michel Dänzer) [2088410] - drm/i915: Fix CFI violation with show_dynamic_id() (Michel Dänzer) [2088410] - drm/bridge: it6505: Send DPCD SET_POWER to downstream (Michel Dänzer) [2088410] - drm/panel: panel-simple: Fix proper bpc for AM-1280800N3TZQW-T00H (Michel Dänzer) [2088410] - drm/panel: simple: Add missing bus flags for Innolux G070Y2-L01 (Michel Dänzer) [2088410] - drm/bridge: Fix it6505 Kconfig DRM_DP_AUX_BUS dependency (Michel Dänzer) [2088410] - drm/bridge: Fix error handling in analogix_dp_probe (Michel Dänzer) [2088410] - drm/bridge: anx7625: Use uint8 for lane-swing arrays (Michel Dänzer) [2088410] - drm/amd/amdgpu: Remove static from variable in RLCG Reg RW (Michel Dänzer) [2088410] - drm/amd/amdgpu: Fix asm/hypervisor.h build error. (Michel Dänzer) [2088410] - drm/amd/amdgpu: Only reserve vram for firmware with vega9 MS_HYPERV host. (Michel Dänzer) [2088410] - drm: bridge: icn6211: Fix HFP_HSW_HBP_HI and HFP_MIN handling (Michel Dänzer) [2088410] - drm: bridge: icn6211: Fix register layout (Michel Dänzer) [2088410] - drm/bridge: adv7511: clean up CEC adapter when probe fails (Michel Dänzer) [2088410] - drm/bridge: anx7625: add missing destroy_workqueue() in anx7625_i2c_probe() (Michel Dänzer) [2088410] - drm/edid: fix invalid EDID extension block filtering (Michel Dänzer) [2088410] - drm/bridge: it6505: Fix build error (Michel Dänzer) [2088410] - drm: bridge: it66121: Fix the register page length (Michel Dänzer) [2088410] - drm/vmwgfx: Fix an invalid read (Michel Dänzer) [2088410] - drm/ssd130x: Reduce temporary buffer sizes (Michel Dänzer) [2088410] - drm/ssd130x: Fix rectangle updates (Michel Dänzer) [2088410] - drm/format-helper: Fix XRGB888 to monochrome conversion (Michel Dänzer) [2088410] - drm/format-helper: Rename drm_fb_xrgb8888_to_mono_reversed() (Michel Dänzer) [2088410] - drm/solomon: Make DRM_SSD130X depends on MMU (Michel Dänzer) [2088410] - drm: ssd130x: Always apply segment remap setting (Michel Dänzer) [2088410] - drm: ssd130x: Fix COM scan direction register mask (Michel Dänzer) [2088410] - drm/bridge: anx7625: check the return on anx7625_aux_trans (Michel Dänzer) [2088410] - drm/selftests: missing error code in igt_buddy_alloc_smoke() (Michel Dänzer) [2088410] - drm/bridge_connector: enable HPD by default if supported (Michel Dänzer) [2088410] - drm: fix EDID struct for old ARM OABI format (Michel Dänzer) [2088410] - drm/amdgpu: Move mutex_init(&smu->message_lock) to smu_early_init() (Michel Dänzer) [2088410] - drm/amd/pm: update smartshift powerboost calc for smu13 (Michel Dänzer) [2088410] - drm/amd/pm: update smartshift powerboost calc for smu12 (Michel Dänzer) [2088410] - drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo (Michel Dänzer) [2088410] - drm/amdgpu/psp: move PSP memory alloc from hw_init to sw_init (Michel Dänzer) [2088410] - drm/amd/pm: fix the compile warning (Michel Dänzer) [2088410] - drm/amdkfd: Fix circular lock dependency warning (Michel Dänzer) [2088410] - drm/plane: Move range check for format_count earlier (Michel Dänzer) [2088410] - drm/amdgpu/sdma: Fix incorrect calculations of the wptr of the doorbells (Michel Dänzer) [2088410] - drm/amd/pm: fix double free in si_parse_power_table() (Michel Dänzer) [2088410] - drm/amdgpu/pm: fix the null pointer while the smu is disabled (Michel Dänzer) [2088410] - drm/amd/display: Disabling Z10 on DCN31 (Michel Dänzer) [2088410] - drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes (Michel Dänzer) [2088410] - drm/vmwgfx: validate the screen formats (Michel Dänzer) [2088410] - drm/selftests: fix a shift-out-of-bounds bug (Michel Dänzer) [2088410] - drm/i915: Fix -Wstringop-overflow warning in call to intel_read_wm_latency() (Michel Dänzer) [2088410] - selftests/xsk: Disable hanging BPF RES tests (Felix Maurer) [2116940] - NLM: Defend against file_lock changes after vfs_test_lock() (Benjamin Coddington) [2094884] - ice: Fix VF not able to send tagged traffic with no VLAN filters (Petr Oros) [2055446] - ice: Ignore error message when setting same promiscuous mode (Petr Oros) [2100683] - ice: Fix clearing of promisc mode with bridge over bond (Petr Oros) [2100683] - ice: Ignore EEXIST when setting promisc mode (Petr Oros) [2100683] - ice: Fix double VLAN error when entering promisc mode (Petr Oros) [2100683]- fs: dlm: fix build with CONFIG_IPV6 disabled (Alexander Aring) [2036988] - fs: dlm: don't call kernel_getpeername() in error_report() (Alexander Aring) [2036988] - fs: dlm: use sk->sk_socket instead of con->sock (Alexander Aring) [2036988] - x86: intel_epb: Allow model specific normal EPB value (Prarit Bhargava) [2101488] - x86: intel_epb: Do not build when CONFIG_PM is unset (Prarit Bhargava) [2101488] - x86: intel_epb: Take CONFIG_PM into account (Prarit Bhargava) [2101488] - PM / arch: x86: MSR_IA32_ENERGY_PERF_BIAS sysfs interface (Prarit Bhargava) [2101488] - PM / arch: x86: Rework the MSR_IA32_ENERGY_PERF_BIAS handling (Prarit Bhargava) [2101488] - thermal: int340x: Add Raptor Lake PCI device id (Prarit Bhargava) [2064828] - thermal: int340x: Support Raptor Lake (Prarit Bhargava) [2064828] - nvme-fc: restart admin queue if the caller needs to restart queue (Ewan D. Milne) [2095693] - netfilter: nf_tables: replace BUG_ON by element length check (Florian Westphal) [2104497] - netfilter: nf_log: incorrect offset to network header (Florian Westphal) [2104497] - netfilter: nft_set_pipapo: release elements in clone from abort path (Florian Westphal) [2104497] - netfilter: nf_tables: stricter validation of element data (Florian Westphal) [2104497] - netfilter: nft_dynset: restore set element counter when failing to update (Florian Westphal) [2104497] - netfilter: use get_random_u32 instead of prandom (Florian Westphal) [2104497] - netfilter: nf_tables: memleak flow rule from commit path (Florian Westphal) [2104497] - netfilter: nf_tables: hold mutex on netns pre_exit path (Florian Westphal) [2104497] - netfilter: conntrack: re-fetch conntrack after insertion (Florian Westphal) [2104497] - netfilter: flowtable: fix excessive hw offload attempts after failure (Florian Westphal) [2104497] - netfilter: flowtable: avoid possible false sharing (Florian Westphal) [2104497] - netfilter: nf_nat_h323: eliminate anonymous module_init & module_exit (Florian Westphal) [2104497] - netfilter: ip6t_rt: fix rt0_hdr parsing in rt_mt6 (Florian Westphal) [2104497] - netfilter: socket: icmp6: fix use-after-scope (Florian Westphal) [2104497] - netfilter: nft_fib_ipv6: skip ipv6 packets from any to link-local (Florian Westphal) [2104497] - net/mlx5: Remove ConnectX-7 device from the unsupported devices (Kamal Heib) [1899567] - fs: dlm: change posix lock sigint handling (Alexander Aring) [2088499] - fs: dlm: use dlm_plock_info for do_unlock_close (Alexander Aring) [2088499] - fs: dlm: change plock interrupted message to debug again (Alexander Aring) [2088499] - fs: dlm: add pid to debug log (Alexander Aring) [2088499] - fs: dlm: plock use list_first_entry (Alexander Aring) [2088499] - dlm: replace usage of found with dedicated list iterator variable (Alexander Aring) [2088499] - dlm: move global to static inits (Alexander Aring) [2088499] - dlm: remove unnecessary INIT_LIST_HEAD() (Alexander Aring) [2088499] - dlm: improve plock logging if interrupted (Alexander Aring) [2088499] - dlm: rearrange async condition return (Alexander Aring) [2088499] - dlm: cleanup plock_op vs plock_xop (Alexander Aring) [2088499] - dlm: replace sanity checks with WARN_ON (Alexander Aring) [2088499]- selftests: mptcp: make sendfile selftest work (Florian Westphal) [2109046] - selftests: mptcp: more stable simult_flows tests (Florian Westphal) [2109046] - be2net: Remove useless DMA-32 fallback configuration (Petr Oros) [2051324] - ethernet: constify references to netdev->dev_addr in drivers (Petr Oros) [2051324] - ethernet: Remove redundant 'flush_workqueue()' calls (Petr Oros) [2051324] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Petr Oros) [2051324] - ethernet: use eth_hw_addr_set() (Petr Oros) [2051324] - be2net: Use irq_update_affinity_hint() (Petr Oros) [2051324] - RedHat: ASoC: SOF: Intel: do not enable IMR boot when resuming by default (Jaroslav Kysela) [2114931] - ASoC: SOF: make ctx_store and ctx_restore as optional (Jaroslav Kysela) [2114931] - ASoC: SOF: ipc3-topology: Prevent double freeing of ipc_control_data via load_bytes (Jaroslav Kysela) [2114931] - ASoC: amd: yc: Update DMI table entries for AMD platforms (Jaroslav Kysela) [2114931] - ASoC: amd: yc: Update DMI table entries (Jaroslav Kysela) [2114931] - thunderbolt: Add DP OUT resource when DP tunnel is discovered (Torez Smith) [2107601] - iavf: Fix VLAN_V2 addition/rejection (Petr Oros) [2115618] - iavf: Fix deadlock in initialization (Petr Oros) [2054656] - qede: Reduce verbosity of ptp tx timestamp (Manish Chopra) [2080655] - dmaengine: idxd: Fixup merge conflict resolution from upstream (Jerry Snitselaar) [2100927] - dmaengine: idxd: skip clearing device context when device is read-only (Jerry Snitselaar) [2100927] - dmaengine: idxd: add RO check for wq max_transfer_size write (Jerry Snitselaar) [2100927] - dmaengine: idxd: add RO check for wq max_batch_size write (Jerry Snitselaar) [2100927] - dmaengine: idxd: fix device cleanup on disable (Jerry Snitselaar) [2100927] - Revert "dmaengine: idxd: Separate user and kernel pasid enabling" (Jerry Snitselaar) [2100927] - net: atlantic: always deep reset on pm op, fixing up my null deref regression (Foggy Liu) [2039680] - net: atlantic: invert deep par in pm functions, preventing null derefs (Foggy Liu) [2039680] - s390/ap: extend AP change bindings-complete uevent with counter (Mete Durlu) [2114907] - powerpc/memhotplug: Make lmb size 64bit (Diego Domingos) [2116517] - powerpc/drmem: Make lmb_size 64 bit (Diego Domingos) [2116517] - RHEL-only: tools: arm64: Use alternative.h header in sysreg.h (Eric Auger) [2118527]- vmxnet3: do not reschedule napi for rx processing (Kamal Heib) [2117263] - lockdown: also lock down previous kgdb use (Lenny Szubowicz) [2104748] {CVE-2022-21499} - sfc: fix kernel panic when creating VF (Íñigo Huguet) [2114738] - net/mlx4_en: use kzalloc (Amir Tzin) [2049433] - net/mlx4: Delete useless moduleparam include (Amir Tzin) [2049433] - RDMA/mlx4: remove redundant assignment to variable nreq (Amir Tzin) [2049433] - RDMA/mlx4: Delete useless module.h include (Amir Tzin) [2049433] - RDMA/mlx4: Don't continue event handler after memory allocation failure (Amir Tzin) [2049433] - net/mlx4: Use irq_update_affinity_hint() (Amir Tzin) [2049433] - RDMA/mlx4: Use bitmap_alloc() when applicable (Amir Tzin) [2049433] - net/mlx4_en: Update reported link modes for 1/10G (Amir Tzin) [2049433] - ethernet: Remove redundant 'flush_workqueue()' calls (Amir Tzin) [2049433] - mlx4: constify args for const dev_addr (Amir Tzin) [2049433] - mlx4: remove custom dev_addr clearing (Amir Tzin) [2049433] - mlx4: replace mlx4_u64_to_mac() with u64_to_ether_addr() (Amir Tzin) [2049433] - mlx4: replace mlx4_mac_to_u64() with ether_addr_to_u64() (Amir Tzin) [2049433] - net/mlx4_en: avoid one cache line miss to ring doorbell (Amir Tzin) [2049433] - net/mlx4_en: Add XDP_REDIRECT statistics (Amir Tzin) [2049433] - net/mlx4: Use array_size() helper in copy_to_user() (Amir Tzin) [2049433] - net: mlx4: Add support for XDP_REDIRECT (Amir Tzin) [2049433] - net/mellanox: switch from 'pci_' to 'dma_' API (Amir Tzin) [2049433] - net/mlx4: Use ARRAY_SIZE to get an array's size (Amir Tzin) [2049433] - net/mlx4: make the array states static const, makes object smaller (Amir Tzin) [2049433] - dma-direct: use the correct size for dma_set_encrypted() (Jerry Snitselaar) [2105608] - dma-debug: make things less spammy under memory pressure (Jerry Snitselaar) [2105608] - dma-iommu: Check that swiotlb is active before trying to use it (Jerry Snitselaar) [2105608] - cpufreq: powernow-k8: Re-order the init checks (Mark Langsdorf) [2072974] - cpufreq: unify show() and store() naming and use __ATTR_XX (Mark Langsdorf) [2072974] - cpufreq: amd-pstate: Add more tracepoint for AMD P-State module (Mark Langsdorf) [2072974] - cpufreq: CPPC: Fix performance/frequency conversion (Mark Langsdorf) [2072974] - cpufreq: Move to_gov_attr_set() to cpufreq.h (Mark Langsdorf) [2072974] - cpufreq: use default_groups in kobj_type (Mark Langsdorf) [2072974] - cpufreq: Fix initialization of min and max frequency QoS requests (Mark Langsdorf) [2072974] - cpufreq: Fix a comment in cpufreq_policy_free (Mark Langsdorf) [2072974] - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() (Mark Langsdorf) [2072974] - cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory (Mark Langsdorf) [2072974] - cpufreq: sh: Remove sh_cpufreq_cpu_ready() (Mark Langsdorf) [2072974] - cpufreq: acpi: Remove acpi_cpufreq_cpu_ready() (Mark Langsdorf) [2072974] - cpufreq: Fix fall-through warning for Clang (Mark Langsdorf) [2072974] - cpufreq: Remove ->resolve_freq() (Mark Langsdorf) [2072974] - cpufreq: Reuse cpufreq_driver_resolve_freq() in __cpufreq_driver_target() (Mark Langsdorf) [2072974] - cpufreq: Remove the ->stop_cpu() driver callback (Mark Langsdorf) [2072974] - cpufreq: powernv: Migrate to ->exit() callback instead of ->stop_cpu() (Mark Langsdorf) [2072974] - cpufreq: Make cpufreq_online() call driver->offline() on errors (Mark Langsdorf) [2072974] - cpufreq: sh: Remove unused linux/sched.h headers (Mark Langsdorf) [2072974] - cpufreq: stats: Clean up local variable in cpufreq_stats_create_table() (Mark Langsdorf) [2072974] - cpufreq: Remove unused for_each_policy macro (Mark Langsdorf) [2072974] - cpufreq: Rudimentary typos fix in the file s5pv210-cpufreq.c (Mark Langsdorf) [2072974] - ACPI: CPPC: Fix enabling CPPC on AMD systems with shared memory (Mark Langsdorf) [2067296] - ACPI: CPPC: Don't require flexible address space if X86_FEATURE_CPPC is supported (Mark Langsdorf) [2067296] - ACPI: CPPC: Don't require _OSC if X86_FEATURE_CPPC is supported (Mark Langsdorf) [2067296] - x86/ACPI: CPPC: Rename cppc_msr.c to cppc.c (Mark Langsdorf) [2067296] - ACPI: CPPC: Only probe for _CPC if CPPC v2 is acked (Mark Langsdorf) [2067296] - ACPI: CPPC: Assume no transition latency if no PCCT (Mark Langsdorf) [2067296] - ACPI: bus: Set CPPC _OSC bits for all and when CPPC_LIB is supported (Mark Langsdorf) [2067296] - ACPI: CPPC: Check _OSC for flexible address space (Mark Langsdorf) [2067296] - ACPI: processor: idle: Avoid falling back to C3 type C-states (Mark Langsdorf) [2067296] - Revert "ACPI: processor: idle: Only flush cache on entering C3" (Mark Langsdorf) [2067296] - ACPI: CPPC: Change default error code and clean up debug messages in probe (Mark Langsdorf) [2067296] - ACPI: CPPC: Avoid out of bounds access when parsing _CPC data (Mark Langsdorf) [2067296] - ACPI: tables: Make LAPIC_ADDR_OVR address readable in message (Mark Langsdorf) [2067296] - ACPI: IPMI: replace usage of found with dedicated list iterator variable (Mark Langsdorf) [2067296] - ACPI, APEI: Use the correct variable for sizeof() (Mark Langsdorf) [2067296] - clocksource: acpi_pm: fix return value of __setup handler (Mark Langsdorf) [2067296] - ACPI / x86: Add support for LPS0 callback handler (Mark Langsdorf) [2067296] - ACPI: bus: Avoid using CPPC if not supported by firmware (Mark Langsdorf) [2067296] - Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query flag" (Mark Langsdorf) [2067296] - ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU (Mark Langsdorf) [2067296] - PM: hibernate: Honour ACPI hardware signature by default for virtual guests (Mark Langsdorf) [2067296] - ACPI: NFIT: Remove block aperture support (Mark Langsdorf) [2067296] - x86, ACPI: rename init_freq_invariance_cppc() to arch_init_invariance_cppc() (Mark Langsdorf) [2067296] - ACPI/APEI: Limit printable size of BERT table data (Mark Langsdorf) [2067296] - ACPI: APEI: fix return value of __setup handlers (Mark Langsdorf) [2067296] - ACPI / x86: Add skip i2c clients quirk for Lenovo Yoga Tablet 1050F/L (Mark Langsdorf) [2067296] - ACPI / x86: Add skip i2c clients quirk for Nextbook Ares 8 (Mark Langsdorf) [2067296] - ACPICA: Avoid walking the ACPI Namespace if it is not there (Mark Langsdorf) [2067296] - ACPI: processor idle: Check for architectural support for LPI (Mark Langsdorf) [2067296] - ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3 (Mark Langsdorf) [2067296] - ACPI: fan: Add additional attributes for fine grain control (Mark Langsdorf) [2067296] - ACPI: fan: Properly handle fine grain control (Mark Langsdorf) [2067296] - ACPI: fan: Optimize struct acpi_fan_fif (Mark Langsdorf) [2067296] - ACPI: fan: Separate file for attributes creation (Mark Langsdorf) [2067296] - ACPI: fan: Fix error reporting to user space (Mark Langsdorf) [2067296] - ACPI: clean up double words in two comments (Mark Langsdorf) [2067296] - ACPI: property: Get rid of redundant 'else' (Mark Langsdorf) [2067296] - ACPI: EC: Rearrange code in acpi_ec_submit_event() (Mark Langsdorf) [2067296] - ACPI: EC: Reduce indentation level in acpi_ec_submit_event() (Mark Langsdorf) [2067296] - ACPI: EC: Do not return result from advance_transaction() (Mark Langsdorf) [2067296] - ACPI: EC / PM: Print additional debug message in acpi_ec_dispatch_gpe() (Mark Langsdorf) [2067296] - ACPI: PM: Print additional debug message in acpi_s2idle_wake() (Mark Langsdorf) [2067296] - ACPI: tables: Add CEDT signature to the list of known tables (Mark Langsdorf) [2067296] - ACPI: properties: Consistently return -ENOENT if there are no more references (Mark Langsdorf) [2067296] - ACPI: OSL: Fix and clean up acpi_os_read/write_port() (Mark Langsdorf) [2067296] - ACPICA: Use uintptr_t and offsetof() in Linux kernel builds (Mark Langsdorf) [2067296] - ACPI: processor: idle: Only flush cache on entering C3 (Mark Langsdorf) [2067296] - intel_idle: Add AlderLake support (Lenny Szubowicz) [2075709] - intel_idle: Fix SPR C6 optimization (Lenny Szubowicz) [2075709] - intel_idle: Fix the 'preferred_cstates' module parameter (Lenny Szubowicz) [2075709] - cpuidle: intel_idle: Update intel_idle() kerneldoc comment (Lenny Szubowicz) [2075709] - ice: Fix promiscuous mode not turning off (Petr Oros) [2088787] - ice: Introduce enabling promiscuous mode on multiple VF's (Petr Oros) [2088787] - PCI/IOV: Add pci_iov_get_pf_drvdata() to allow VF reaching the drvdata of a PF (Myron Stowe) [2106259] - PCI/IOV: Add pci_iov_vf_id() to get VF index (Myron Stowe) [2106259] - redhat: enable CONFIG_MAXLINEAR_GPHY as module (Petr Oros) [2071856] - net: phy: enhance GPY115 loopback disable function (Petr Oros) [2071856] - net: phy: add Maxlinear GPY115/21x/24x driver (Petr Oros) [2071856] - cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css() (Vratislav Bendel) [2111491] - ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe (Jaroslav Kysela) [2065580] - ASoC: amd: Add support for enabling DMIC on acp6x via _DSD (Jaroslav Kysela) [2065580] - soundwire: intel: prevent pm_runtime resume prior to system suspend (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk for Fiero SC-01 (fw v1.0.0) (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk for Fiero SC-01 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirks for MacroSilicon MS2100/MS2106 devices (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Add ASP TX3/4 source to register patch (Jaroslav Kysela) [2065580] - ASoC: dapm: Initialise kcontrol data for mux/demux controls (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca: fix kernel NULL pointer dereference when IO error (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Correct some control names (Jaroslav Kysela) [2065580] - ASoC: wm5110: Fix DRE control (Jaroslav Kysela) [2065580] - ASoC: wm_adsp: Fix event for preloader (Jaroslav Kysela) [2065580] - ASoC: Intel: bytcr_wm5102: Fix GPIO related probe-ordering problem (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-loader: Clarify the cl_dsp_init() flow (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-loader: Make sure that the fw load sequence is followed (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda-dsp: Expose hda_dsp_core_power_up() (Jaroslav Kysela) [2065580] - ASoC: codecs: rt700/rt711/rt711-sdca: initialize workqueues in probe (Jaroslav Kysela) [2065580] - ASoC: rt7*-sdw: harden jack_detect_handler (Jaroslav Kysela) [2065580] - ASoC: rt711: fix calibrate mutex initialization (Jaroslav Kysela) [2065580] - ASoC: Intel: sof_sdw: handle errors on card registration (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca-sdw: fix calibrate mutex initialization (Jaroslav Kysela) [2065580] - ASoC: Realtek/Maxim SoundWire codecs: disable pm_runtime on remove (Jaroslav Kysela) [2065580] - ASoC: ops: Fix off by one in range control validation (Jaroslav Kysela) [2065580] - ASoC: Intel: Skylake: Correct the handling of fmt_config flexible array (Jaroslav Kysela) [2065580] - ASoC: Intel: Skylake: Correct the ssp rate discovery in skl_get_ssp_clks() (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc221 (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: fix mute/micmute LEDs for HP machines (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Fix headset mic for Acer SF313-51 (Jaroslav Kysela) [2065580] - ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model (Jaroslav Kysela) [2065580] - ALSA: hda - Add fixup for Dell Latitidue E5430 (Jaroslav Kysela) [2065580] - ASoC: SOF: Intel: hda: Fix compressed stream position tracking (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Move and correct size checks in sof_ipc3_control_load_bytes() (Jaroslav Kysela) [2065580] - ASoC: codecs: rt700/rt711/rt711-sdca: resume bus/codec in .set_jack_detect (Jaroslav Kysela) [2065580] - ASoC: rt711-sdca: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ASoC: rt711: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ALSA: cs46xx: Fix missing snd_card_free() call at probe error (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo L140PU (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Workarounds for Behringer UMC 204/404 HD (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo NS50PU (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for Clevo PD70PNT (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - ALC897 headset MIC no sound (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop (Jaroslav Kysela) [2065580] - ALSA: hda/conexant: Fix missing beep setup (Jaroslav Kysela) [2065580] - ALSA: hda: Fix discovery of i915 graphics PCI device (Jaroslav Kysela) [2065580] - ALSA: hda/via: Fix missing beep setup (Jaroslav Kysela) [2065580] - ALSA: memalloc: Drop x86-specific hack for WC allocations (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Add HW8326 support (Jaroslav Kysela) [2065580] - ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID (Jaroslav Kysela) [2065580] - ASoC: es8328: Fix event generation for deemphasis control (Jaroslav Kysela) [2065580] - ASoC: cs42l51: Correct minimum value for SX volume control (Jaroslav Kysela) [2065580] - ASoC: cs42l56: Correct typo in minimum level for SX volume controls (Jaroslav Kysela) [2065580] - ASoC: cs42l52: Correct TLV for Bypass Volume (Jaroslav Kysela) [2065580] - ASoC: cs53l30: Correct number of volume levels on SX controls (Jaroslav Kysela) [2065580] - ASoC: cs35l36: Update digital volume TLV (Jaroslav Kysela) [2065580] - ASoC: cs42l52: Fix TLV scales for mixer controls (Jaroslav Kysela) [2065580] - ASoC: Intel: cirrus-common: fix incorrect channel mapping (Jaroslav Kysela) [2065580] - ASoC: nau8822: Add operation for internal PLL off and on (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Add quirk for HP Dev One (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021 (Jaroslav Kysela) [2065580] - ALSA: hda/conexant - Fix loopback issue with CX20632 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Set up (implicit) sync for Saffire 6 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Skip generic sync EP parse for secondary EP (Jaroslav Kysela) [2065580] - ASoC: rt5640: Do not manipulate pin "Platform Clock" if the "Platform Clock" is not in the DAPM (Jaroslav Kysela) [2065580] - ASoC: SOF: amd: Fixed Build error (Jaroslav Kysela) [2065580] - ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control (Jaroslav Kysela) [2065580] - ASoC: max98090: Move check for invalid values before casting in max98090_put_enab_tlv() (Jaroslav Kysela) [2065580] - ALSA: pcm: Check for null pointer of pointer substream before dereferencing it (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Set scontrol->priv to NULL after freeing it (Jaroslav Kysela) [2065580] - ASoC: cs35l41: Fix an out-of-bounds access in otp_packed_element_t (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Move generic implicit fb quirk entries into quirks.c (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add quirk bits for enabling/disabling generic implicit fb (Jaroslav Kysela) [2065580] - ASoC: amd: Add driver data to acp6x machine driver (Jaroslav Kysela) [2065580] - ASoC: rt1015p: remove dependency on GPIOLIB (Jaroslav Kysela) [2065580] - ASoC: max98357a: remove dependency on GPIOLIB (Jaroslav Kysela) [2065580] - ASoC: rt5645: Fix errorenous cleanup order (Jaroslav Kysela) [2065580] - ASoC: SOF: amd: add missing platform_device_unregister in acp_pci_rn_probe (Jaroslav Kysela) [2065580] - ASoC: Intel: sof_ssp_amp: fix no DMIC BE Link on Chromebooks (Jaroslav Kysela) [2065580] - ASoC: tscs454: Add endianness flag in snd_soc_component_driver (Jaroslav Kysela) [2065580] - ASoC: SOF: ipc3-topology: Correct get_control_data for non bytes payload (Jaroslav Kysela) [2065580] - ASoC: dapm: Don't fold register value changes into notifications (Jaroslav Kysela) [2065580] - ASoC: Intel: bytcr_rt5640: Add quirk for the HP Pro Tablet 408 (Jaroslav Kysela) [2065580] - ALSA: jack: Access input_dev under mutex (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS (Jaroslav Kysela) [2065580] - ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop (Jaroslav Kysela) [2065580] - ALSA: hda/realtek - Add new type for ALC245 (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Optimize TEAC clock quirk (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Configure sync endpoints before data (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Add missing ep_idx in fixed EP quirks (Jaroslav Kysela) [2065580] - ALSA: usb-audio: Workaround for clock setup on TEAC devices (Jaroslav Kysela) [2065580] - ALSA: ctxfi: Add SB046x PCI ID (Jaroslav Kysela) [2065580] - NFS: Fix initialisation of nfs_client cl_flags field (Scott Mayhew) [2114577] - Documentation: Add an explanation of NFSv4 client identifiers (Dave Wysochanski) [1801326]- crypto: chelsio/chcr - Remove useless MODULE_VERSION (Rahul Lakkireddy) [2105817] - crypto: chelsio - remove unused function (Rahul Lakkireddy) [2105817] - crypto: chelsio - Read rxchannel-id from firmware (Rahul Lakkireddy) [2105817] - crypto: chelsio - Fix some kernel-doc issues (Rahul Lakkireddy) [2105817] - crypto: chelsio - remove set but not used variable 'adap' (Rahul Lakkireddy) [2105817] - dm raid: fix address sanitizer warning in raid_resume (Benjamin Marzinski) [2115118] - dm raid: fix address sanitizer warning in raid_status (Benjamin Marzinski) [2115118] - dm: return early from dm_pr_call() if DM device is suspended (Benjamin Marzinski) [2115118] - dm thin: fix use-after-free crash in dm_sm_register_threshold_callback (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks discarded, not number of discard bios (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks written, not number of write bios (Benjamin Marzinski) [2115118] - dm writecache: count number of blocks read, not number of read bios (Benjamin Marzinski) [2115118] - dm writecache: return void from functions (Benjamin Marzinski) [2115118] - dm kcopyd: use __GFP_HIGHMEM when allocating pages (Benjamin Marzinski) [2115118] - dm writecache: set a default MAX_WRITEBACK_JOBS (Benjamin Marzinski) [2115118] - dm raid: fix KASAN warning in raid5_add_disks (Benjamin Marzinski) [2115118] - dm raid: fix KASAN warning in raid5_remove_disk (Benjamin Marzinski) [2115118] - KVM: x86: do not report preemption if the steal time cache is stale (Vitaly Kuznetsov) [2115240] - KVM: x86: revalidate steal time cache if MSR value changes (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Always enable TSC scaling for L2 when it was enabled for L1 (Vitaly Kuznetsov) [2115240] - KVM: x86: Fully initialize 'struct kvm_lapic_irq' in kvm_pv_kick_cpu_op() (Vitaly Kuznetsov) [2115240] - KVM: SEV: Init target VMCBs in sev_migrate_from (Vitaly Kuznetsov) [2115240] - KVM: SVM: fix tsc scaling cache logic (Vitaly Kuznetsov) [2115240] - KVM: x86/mmu: Check every prev_roots in __kvm_mmu_free_obsolete_roots() (Vitaly Kuznetsov) [2115240] - KVM: LAPIC: Drop pending LAPIC timer injection when canceling the timer (Vitaly Kuznetsov) [2115240] - KVM: x86: avoid calling x86 emulator without a decoded instruction (Vitaly Kuznetsov) [2115240] - KVM: SVM: Use kzalloc for sev ioctl interfaces to prevent kernel data leak (Vitaly Kuznetsov) [2115240] - KVM: x86: avoid loading a vCPU after .vm_destroy was called (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Clear IDT vectoring on nested VM-Exit for double/triple fault (Vitaly Kuznetsov) [2115240] - KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry (Vitaly Kuznetsov) [2115240] - KVM: x86: Drop WARNs that assert a triple fault never "escapes" from L2 (Vitaly Kuznetsov) [2115240] - sched/deadline: Fix BUG_ON condition for deboosted tasks (Phil Auld) [2111860] - scsi: qla2xxx: Fix excessive I/O error messages by default (Nilesh Javali) [2100728] - scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection (Nilesh Javali) [2044160] - drm/radeon: fix build rules of *_reg_safe.h (Michel Dänzer) [2006451] - RDMA/irdma: Fix sleep from invalid context BUG (Kamal Heib) [2097318] - RDMA/irdma: Do not advertise 1GB page size for x722 (Kamal Heib) [2097318] - RDMA/cm: Fix memory leak in ib_cm_insert_listen (Kamal Heib) [2097318] - RDMA/hfi1: Fix potential integer multiplication overflow errors (Kamal Heib) [2097318] - RDMA/hfi1: Prevent use of lock before it is initialized (Kamal Heib) [2097318] - RDMA/rxe: Fix an error handling path in rxe_get_mcg() (Kamal Heib) [2097318] - RDMA/rxe: Generate a completion for unsupported/invalid opcode (Kamal Heib) [2097318] - scsi: target: cxgbit: Enable Delayed ACK (Rahul Lakkireddy) [2105813] - scsi: target: cxgbit: Increase max DataSegmentLength (Rahul Lakkireddy) [2105813] - cxgb4: Use the bitmap API to allocate bitmaps (Rahul Lakkireddy) [2105806] - cxgb4: Fix typo in string (Rahul Lakkireddy) [2105806] - cxgb4/cxgb4vf: Fix typo in comments (Rahul Lakkireddy) [2105806] - cxgb4vf: remove unexpected word "the" (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: Avoid potential negative array offset (Rahul Lakkireddy) [2105806] - libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() (Rahul Lakkireddy) [2105806] - cxgb4vf: Remove useless DMA-32 fallback configuration (Rahul Lakkireddy) [2105806] - cxgb4: Remove useless DMA-32 fallback configuration (Rahul Lakkireddy) [2105806] - cxgb4: allow reading unrecognized port module eeprom (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Fix an error code in cxgb4vf_pci_probe() (Rahul Lakkireddy) [2105806] - cxgb4: Use struct_group() for memcpy() region (Rahul Lakkireddy) [2105806] - cxgb4: fix eeprom len when diagnostics not implemented (Rahul Lakkireddy) [2105806] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Rahul Lakkireddy) [2105806] - ethernet: chelsio: use eth_hw_addr_set() (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Make use of the helper function dev_err_probe() (Rahul Lakkireddy) [2105806] - cxgb4: improve printing NIC information (Rahul Lakkireddy) [2105806] - net: chelsio: switch from 'pci_' to 'dma_' API (Rahul Lakkireddy) [2105806] - cxgb4: make the array match_all_mac static, makes object smaller (Rahul Lakkireddy) [2105806] - cxgb4: fix IRQ free race during driver unload (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: use eth_zero_addr() to assign zero address (Rahul Lakkireddy) [2105806] - cxgb4: Fix -Wunused-const-variable warning (Rahul Lakkireddy) [2105806] - cxgb4: clip_tbl: use list_del_init instead of list_del/INIT_LIST_HEAD (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4vf: Fix wrong function name in comments (Rahul Lakkireddy) [2105806] - net: chelsio: cxgb4: Fix wrong function name in comments (Rahul Lakkireddy) [2105806] - cxgb4: Remove redundant NULL check (Rahul Lakkireddy) [2105806] - net: ethernet: chelsiofix: spelling typo of 'rewriteing' (Rahul Lakkireddy) [2105806] - net: don't include ethtool.h from netdevice.h (Rahul Lakkireddy) [2105806] - cxgb4vf: convert to use DEFINE_SEQ_ATTRIBUTE macro (Rahul Lakkireddy) [2105806] - cxgb4vf: fix t4vf_eth_xmit()'s return type (Rahul Lakkireddy) [2105806] - cxgb4vf: update kernel-doc line comments (Rahul Lakkireddy) [2105806] - cxgb4: remove duplicate headers (Rahul Lakkireddy) [2105806] - cxgb4/cxgb4vf: Remove superfluous void * cast in debugfs_create_file() call (Rahul Lakkireddy) [2105806] - cxgb4: Add missing annotation for service_ofldq() (Rahul Lakkireddy) [2105806] - net: cxgb4vf: reject unsupported coalescing params (Rahul Lakkireddy) [2105806] - scsi: mpt3sas: Stop fw fault watchdog work item during system shutdown (Tomas Henzl) [2106413] - drm/amd/display: Fix new dmub notification enabling in DM (Mika Penttilä) [2107632] - Revert "crypto: chelsio - Inline single pdu only" (Rahul Lakkireddy) [2105818] - crypto/chcr: Moving chelsio's inline ipsec functionality to /drivers/net (Rahul Lakkireddy) [2105818] - net/xfrm: IPsec tunnel mode fix inner_ipproto setting in sec_path (Sabrina Dubroca) [2107200] - scsi: ch: Make it possible to open a ch device multiple times again (Ewan D. Milne) [2108649] - lpfc updates for rh8.7 14.0.0.15 (Paul Ely) [2107726] - scsi: lpfc: Copyright updates for 14.2.0.5 patches (Paul Ely) [2107726] - scsi: lpfc: Fix lost NVMe paths during LIF bounce stress test (Paul Ely) [2107726] - scsi: lpfc: Fix attempted FA-PWWN usage after feature disable (Paul Ely) [2107726] - scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE (Paul Ely) [2107726] - scsi: lpfc: Remove extra atomic_inc on cmd_pending in queuecommand after VMID (Paul Ely) [2107726] - scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input (Paul Ely) [2107726] - scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb() (Paul Ely) [2107726] - scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion (Paul Ely) [2107726] - scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology (Paul Ely) [2107726] - scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted (Paul Ely) [2107726] - scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event() (Paul Ely) [2107726] - scsi: qla2xxx: Fix imbalance vha->vref_count (Nilesh Javali) [2108964] - scsi: smartpqi: Update version to 2.1.18-045 (Don Brace) [2101548] - scsi: smartpqi: Update copyright to current year (Don Brace) [2101548] - scsi: smartpqi: Add ctrl ready timeout module parameter (Don Brace) [2101548] - scsi: smartpqi: Update deleting a LUN via sysfs (Don Brace) [2101548] - scsi: smartpqi: Add module param to disable managed ints (Don Brace) [2101548] - scsi: smartpqi: Fix RAID map race condition (Don Brace) [2101548] - scsi: smartpqi: Fix DMA direction for RAID requests (Don Brace) [2101548] - scsi: smartpqi: Stop logging spurious PQI reset failures (Don Brace) [2101548] - scsi: smartpqi: Add PCI IDs for Lenovo controllers (Don Brace) [2101548] - scsi: smartpqi: Add PCI ID for Adaptec SmartHBA 2100-8i (Don Brace) [2101548] - scsi: smartpqi: Fix PCI control linkdown system hang (Don Brace) [2101548] - scsi: smartpqi: Add driver support for multi-LUN devices (Don Brace) [2101548] - scsi: smartpqi: Close write read holes (Don Brace) [2101548] - scsi: smartpqi: Add PCI IDs for ramaxel controllers (Don Brace) [2101548] - scsi: smartpqi: Add controller fw version to console log (Don Brace) [2101548] - scsi: smartpqi: Shorten drive visibility after removal (Don Brace) [2101548] - scsi: smartpqi: Fix typo in comment (Don Brace) [2101548] - docs: kdump: Update the crashkernel description for arm64 (Pingfan Liu) [2093920] - of: Support more than one crash kernel regions for kexec -s (Pingfan Liu) [2093920] - of: kexec: Remove FDT_PROP_* definitions (Pingfan Liu) [2093920] - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() (Pingfan Liu) [2093920] - arm64: Use common of_kexec_alloc_and_setup_fdt() (Pingfan Liu) [2093920] - of: Add a common kexec FDT setup function (Pingfan Liu) [2093920] - arm64: Use ELF fields defined in 'struct kimage' (Pingfan Liu) [2093920] - kexec: Move ELF fields to struct kimage (Pingfan Liu) [2093920] - of: fdt: Add memory for devices by DT property "linux,usable-memory-range" (Pingfan Liu) [2093920] - efi: apply memblock cap after memblock_add() (Pingfan Liu) [2093920] - of: fdt: Aggregate the processing of "linux,usable-memory-range" (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_memory() to call directly (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_root() to call directly (Pingfan Liu) [2093920] - of/fdt: Rework early_init_dt_scan_chosen() to call directly (Pingfan Liu) [2093920] - of: fdt: Rename reserve_elfcorehdr() to fdt_reserve_elfcorehdr() (Pingfan Liu) [2093920] - of: fdt: Add generic support for handling elf core headers property (Pingfan Liu) [2093920] - arm64: kdump: Reimplement crashkernel=X (Pingfan Liu) [2093920] - arm64: Use insert_resource() to simplify code (Pingfan Liu) [2093920] - kdump: return -ENOENT if required cmdline option does not exist (Pingfan Liu) [2093920]- sched: Add WARN_ONCE_SAFE for use during critical scheduler code. (Phil Auld) [2095898] - printk: remove NMI tracking [partial] (Phil Auld) [2095898] - ext4: make sure ext4_append() always allocates new block (Lukas Czerner) [2070216] - ext4: check if directory block is within i_size (Lukas Czerner) [2070216] - redhat: nvme/tcp mistakenly uses blk_mq_tag_to_rq(nvme_tcp_tagset(queue)) (John Meneghini) [2112036] - RDMA/cxgb4: Set queue pair state when being queried (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use non-atomic bitmap functions when possible (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use bitmap_set() when applicable (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use bitmap_zalloc() when applicable (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use helper function to set GUIDs (Rahul Lakkireddy) [2105809] - RDMA/iw_cxgb4: Fix refcount underflow while destroying cqs. (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use refcount_t instead of atomic_t for reference counting (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Fix missing error code in create_qp() (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Remove useless assignments (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: add missing qpid increment (Rahul Lakkireddy) [2105809] - RDMA/iw_cxgb4: Use DEFINE_SPINLOCK() for spinlock (Rahul Lakkireddy) [2105809] - RDMA/cxgb4: Use sizeof() notation (Rahul Lakkireddy) [2105809] - drm/amd/display: Ignore First MST Sideband Message Return Error (Michel Dänzer) [2089853] - sched, cpuset: Fix dl_cpu_busy() panic due to empty cs->cpus_allowed (Waiman Long) [2115165] - sched/deadline: Merge dl_task_can_attach() and dl_cpu_busy() (Waiman Long) [2115165] - ibmvnic: Properly dispose of all skbs during a failover. (Steve Best) [2107560] - redhat/configs: Enable CONFIG_AMD_HSMP for x86_64 (John Allen) [2072233] - platform/x86: Add AMD system management interface (John Allen) [2072233] - ice: do not setup vlan for loopback VSI (Petr Oros) [2103845] - ice: check (DD | EOF) bits on Rx descriptor rather than (EOP | RS) (Petr Oros) [2103845] - ice: Fix VSIs unable to share unicast MAC (Petr Oros) [2080033] - ice: Fix max VLANs available for VF (Petr Oros) [2112298] - ice: change devlink code to read NVM in blocks (Petr Oros) [2093904] - ALSA: Enable more Intel and AMD x86 chipset drivers (Jaroslav Kysela) [2065575] - ALSA: Remove module symbols namespace (Jaroslav Kysela) [2065575] - ASoC: SOF: tokens: add token for Mediatek AFE (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Expand firmware loading search options (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add trace caps to speaker protection FW (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Make compressed buffers optional (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Correct control read size when parsing compressed buffer (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add support for "toggle" preloaders (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Fix overrun of unterminated control name string (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Clear core reset for cache (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Move lockdep asserts to avoid potential null pointer (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Allow creation of event controls (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add offset to cs_dsp read/write (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Clarify some kernel doc comments (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Perform NULL check in cs_dsp_coeff_write/read_ctrl (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add support for rev 2 coefficient files (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Print messages from bin files (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add pre_run callback (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add version checks on coefficient loading (Jaroslav Kysela) [2065575] - firmware: cs_dsp: Add lockdep asserts to interface functions (Jaroslav Kysela) [2065575] - firmware: cs_dsp: tidy includes in cs_dsp.c and cs_dsp.h (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove the wmfw_add_ctl helper function (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: wm_adsp_control_add() error: uninitialized symbol 'ret' (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: remove a repeated including (Jaroslav Kysela) [2065575] - firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate wm_adsp specifics in cs_dsp_client_ops (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Split out struct cs_dsp from struct wm_adsp (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: move firmware loading to client (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Pass firmware names as parameters when starting DSP core (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move check of dsp->running to better place (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate generic cs_dsp_coeff_ctl handling (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move sys_config_size to wm_adsp (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Split DSP power operations into helper functions (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Separate some ASoC and generic functions (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Introduce cs_dsp logging macros (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Rename generic DSP support (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Cancel ongoing work when removing controls (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Switch to using wm_coeff_read_ctrl for compressed buffers (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Move check for control existence (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove use of snd_ctl_elem_type_t (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Put debugfs_remove_recursive back in (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Let soc_cleanup_component_debugfs remove debugfs (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Remove pointless string comparison (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Add CCM_CORE_RESET to Halo start core (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Correct wm_coeff_tlv_get handling (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Fix control name parsing for multi-fw (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Fix uninitialized variable warnings (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Use snd_ctl_elem_type_t for control types (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Only use __be32 for big-endian data (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: Improve handling of raw byte streams (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() (Jaroslav Kysela) [2065575] - ASoC: wm_adsp: fix error return code in wm_adsp_load() (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add the binding include file for the HDA header support (Jaroslav Kysela) [2065575] - ALSA: uapi: use C90 comment style instead of C99 style (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: Add RaptorLake PCI IDs (Jaroslav Kysela) [2065575] - ALSA: hda/i915: Fix one too many pci_dev_put() (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: update AlderLake PCI IDs (Jaroslav Kysela) [2065575] - ALSA: hda/i915 - skip acomp init if no matching display (Jaroslav Kysela) [2065575] - ALSA: hda/i915 - avoid hung task timeout in i915 wait (Jaroslav Kysela) [2065575] - ALSA: intel-dspconfig: add ES8336 support for CNL (Jaroslav Kysela) [2065575] - ALSA: intel-dsp-config: add more ACPI HIDs for ES83x6 devices (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: reorder the config table (Jaroslav Kysela) [2065575] - ALSA: hda: intel-dsp-config: add JasperLake support (Jaroslav Kysela) [2065575] - ALSA: hda: Simplify DMIC-in-NHLT check (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: x86: Use standard mmap helper for Intel HDMI LPE audio (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Fix reference to PCM buffer address (Jaroslav Kysela) [2065575] - ALSA: intel_hdmi: Check for error num after setting mask (Jaroslav Kysela) [2065575] - tools include uapi: Update asound.h copy (Jaroslav Kysela) [2065575] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2065575] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2065575] - ALSA: hda: Add helper macros for DSP capable devices (Jaroslav Kysela) [2065575] - ALSA: intel-nhlt: add helper to detect SSP link mask (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: add information on I2S/TDM link mask (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: fix kernel-doc descriptor (Jaroslav Kysela) [2065575] - ASoC: SOF: fix 32 signed bit overflow (Jaroslav Kysela) [2065575] - ALSA: hda: Add snd_hdac_ext_bus_link_at() helper (Jaroslav Kysela) [2065575] - ALSA: cleanup double word in comment (Jaroslav Kysela) [2065575] - ASoC: SOF: add _D3_PERSISTENT flag to fw_ready message (Jaroslav Kysela) [2065575] - ALSA: HDA: hdac_ext_stream: use consistent prefixes for variables (Jaroslav Kysela) [2065575] - ipc: debug: Add shared memory heap to memory scan (Jaroslav Kysela) [2065575] - ALSA: pcm: comment about relation between msbits hw parameter and [S|U]32 formats (Jaroslav Kysela) [2065575] - ALSA: hda: Fill gaps in NHLT endpoint-interface (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: Add new IPC command to free trace DMA (Jaroslav Kysela) [2065575] - soundwire: stream: make enable/disable/deprepare idempotent (Jaroslav Kysela) [2065575] - soundwire: stream: sdw_stream_add_ functions can be called multiple times (Jaroslav Kysela) [2065575] - soundwire: stream: introduce sdw_slave_rt_find() helper (Jaroslav Kysela) [2065575] - soundwire: stream: separate alloc and config within sdw_stream_add_xxx() (Jaroslav Kysela) [2065575] - soundwire: stream: move list addition to sdw_slave_alloc_rt() (Jaroslav Kysela) [2065575] - soundwire: stream: rename and move master/slave_rt_free routines (Jaroslav Kysela) [2065575] - soundwire: stream: group sdw_stream_ functions (Jaroslav Kysela) [2065575] - soundwire: stream: split sdw_alloc_slave_rt() in alloc and config (Jaroslav Kysela) [2065575] - soundwire: stream: move sdw_alloc_slave_rt() before 'master' helpers (Jaroslav Kysela) [2065575] - soundwire: stream: split sdw_alloc_master_rt() in alloc and config (Jaroslav Kysela) [2065575] - soundwire: stream: simplify sdw_alloc_master_rt() (Jaroslav Kysela) [2065575] - soundwire: stream: group sdw_port and sdw_master/slave_port functions (Jaroslav Kysela) [2065575] - soundwire: stream: add 'slave' prefix for port range checks (Jaroslav Kysela) [2065575] - soundwire: stream: split alloc and config in two functions (Jaroslav Kysela) [2065575] - soundwire: stream: split port allocation and configuration loops (Jaroslav Kysela) [2065575] - soundwire: stream: add alloc/config/free helpers for ports (Jaroslav Kysela) [2065575] - soundwire: stream: simplify check on port range (Jaroslav Kysela) [2065575] - soundwire: stream: add slave runtime to list earlier (Jaroslav Kysela) [2065575] - soundwire: stream: remove unused parameter in sdw_stream_add_slave (Jaroslav Kysela) [2065575] - soundwire: intel: fix wrong register name in intel_shim_wake (Jaroslav Kysela) [2065575] - soundwire: bus: add dev_warn() messages to track UNATTACHED devices (Jaroslav Kysela) [2065575] - soundwire: intel: remove PDM support (Jaroslav Kysela) [2065575] - soundwire: intel: remove unnecessary init (Jaroslav Kysela) [2065575] - ASoC/SoundWire: dai: expand 'stream' concept beyond SoundWire (Jaroslav Kysela) [2065575] - soundwire: intel: improve suspend flows (Jaroslav Kysela) [2065575] - soundwire: intel: Use auxiliary_device driver data helpers (Jaroslav Kysela) [2065575] - soundwire: qcom: remove redundant version number read (Jaroslav Kysela) [2065575] - ASoC: SOF: Fix NULL pointer exception in sof_pci_probe callback (Jaroslav Kysela) [2065575] - ASoC: ops: Validate input values in snd_soc_put_volsw_range() (Jaroslav Kysela) [2065575] - ASoC: dmaengine: Restore NULL prepare_slave_config() callback (Jaroslav Kysela) [2065575] - ASoC: max98090: Generate notifications on changes for custom control (Jaroslav Kysela) [2065575] - ASoC: max98090: Reject invalid values in custom control put() (Jaroslav Kysela) [2065575] - ASoC: rt9120: Correct the reg 0x09 size to one byte (Jaroslav Kysela) [2065575] - ASoC: soc-ops: fix error handling (Jaroslav Kysela) [2065575] - ASoC: da7219: Fix change notifications for tone generator frequency (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: fix sysclk shutdown (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: Add a quirk for Huawei Matebook D15 (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add a quirk for headset at mic1 port (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: support a separate gpio to control headphone (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: simplify speaker gpio naming (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: correct device endpoints for max98373 (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: do not switch off SIDO Buck when codec is in use (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Fix memory leak in sof_control_load() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: cleanup dailinks on widget unload (Jaroslav Kysela) [2065575] - ASoC: rt711/5682: check if bus is active before deferred jack detection (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Add support for max98360a speaker amp on SSP2 (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Avoid NULL deref in asoc_simple_set_tdm() (Jaroslav Kysela) [2065575] - ASoC: soc-core: add debugfs_prefix member to snd_soc_component_driver (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix a shift-out-of-bounds warning found by UBSAN (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add one more variable in the debug log (Jaroslav Kysela) [2065575] - ASoC: rt5682: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2065575] - ASoC: soc-dapm: fix two incorrect uses of list iterator (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: use GFP_KERNEL when the code is sleepable (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Fix memory leak of scontrol->name (Jaroslav Kysela) [2065575] - codecs: rt5682s: fix an incorrect NULL check on list iterator (Jaroslav Kysela) [2065575] - ASoC: topology: Correct error handling in soc_tplg_dapm_widget_create() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a new dai_get_clk topology IPC op (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add ops for setting up and tearing down pipelines (Jaroslav Kysela) [2065575] - ASoC: SOF: expose sof_route_setup() (Jaroslav Kysela) [2065575] - ASoC: SOF: Add dai_link_fixup PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add trigger PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Define hw_params PCM op for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC3 PCM hw_free op (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC-specific PCM ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add bytes_ext control IPC ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add bytes_get/put control IPC ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add enum_get/put control ops for IPC3 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add switch get/put IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add volume_get/put IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add IPC3 topology control ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC ops for kcontrol IO (Jaroslav Kysela) [2065575] - ASoC: SOF: Make sof_suspend/resume IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Make sof_widget_setup/free IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: set up scheduler widget before all other widgets in the pipeline (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Use kmemdup() to replace kzalloc + memcpy (Jaroslav Kysela) [2065575] - ASoC: ak4642: Use of_device_get_match_data() (Jaroslav Kysela) [2065575] - ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call (Jaroslav Kysela) [2065575] - ASoC: amd: Fix reference to PCM buffer address (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data (Jaroslav Kysela) [2065575] - ASoC: rt1308-sdw: get calibration params after power on (Jaroslav Kysela) [2065575] - ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe (Jaroslav Kysela) [2065575] - ASoC: ti: Fix spelling mistake "cant" -> "can't" (Jaroslav Kysela) [2065575] - ASoC: samsung: i2s: check the return value of kstrdup() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove snd_sof_complete_pipeline() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make widget binding IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make control parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make DAI widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make route setup IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make effect widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make siggen widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make asrc widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make src widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make mux/demux widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make mixer widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make pga widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make buffer widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Make scheduler widget parsing IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC3 ops (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add helper function for processing tuple arrays (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: Introduce IPC ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce struct snd_sof_dai_link (Jaroslav Kysela) [2065575] - ASoC: soc-compress: Change the check for codec_dai (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Code loading over HDA (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Code loading over CLDMA (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Implement CLDMA transfer (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: General code loading flow (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Dynamic firmware resources management (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Declare module configuration types (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Firmware resources management utilities (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add basefw runtime-parameter requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add ROM requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add power management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add module management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add pipeline management requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Add code loading requests (Jaroslav Kysela) [2065575] - ASoC: Intel: avs: Inter process communication (Jaroslav Kysela) [2065575] - ASoC: Intel: Introduce AVS driver (Jaroslav Kysela) [2065575] - ASoC: Export DAI register and widget ctor and dctor functions (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Don't reset clock of active DAI (Jaroslav Kysela) [2065575] - ASoC: SOF: Remove ipc_pcm_params() ops (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Convert to use the generic set_stream_data_offset ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Convert to use the generic set_stream_data_offset ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-ipc: Add hda_set_stream_data_offset() (Jaroslav Kysela) [2065575] - ASoC: SOF: stream-ipc: Add sof_set_stream_data_offset() (Jaroslav Kysela) [2065575] - ASoC: SOF: Mark snd_sof_dsp_ops.ipc_pcm_params() callback optional (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce optional callback to configure stream data offset (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: Remove sof_pcm_dsp_params() wrapper (Jaroslav Kysela) [2065575] - ASoC: SOF: Make pcm_hw_params snd_sof_dsp_ops callback IPC neutral (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-priv: Remove stale snd_sof_ipc_stream_pcm_params() declaration (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: Add entry for rt711-sdca-sdw in ADL match table (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add topology overwrite for Taniks (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: Use proper DMA direction for the trace data buffer (Jaroslav Kysela) [2065575] - ASoC: SOF: compress: fix null check after dereference (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: enable DMI L1 for playback streams (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc-msg-injector: Use devm_kzalloc() for the rx_buffer (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Remove unneeded semicolon (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Remove unneeded semicolon (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: fix randconfig issue (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcht_es8316: move comment to the right place (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add cfg-dmics component for UCM support (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: extend machine driver to support ES8326 codec (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add support for JD inverted quirk (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: move comment to the right place (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: log all quirks (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: use NHLT information to set dmic and SSP (Jaroslav Kysela) [2065575] - ASoC: Intel: Revert "ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021" (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: get codec device with ACPI instead of bus search (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: make gpio optional (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add ESSX8336 support on Cannon Lake machines (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add more ACPI HIDs for ES83x6 devices (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: quirk topology filename dynamically (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: report SSP link mask to machine driver (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: retrieve DMIC number for I2S boards (Jaroslav Kysela) [2065575] - ASoC: SOF: move definition of snd_sof_ipc to header file (Jaroslav Kysela) [2065575] - ASoC: SOF: make struct snd_sof_dai IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Rename arguments in sof_parse_tokens() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Rename arguments in sof_parse_token_sets() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Modify signature for token parsing functions (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a tuples array to struct snd_sof_widget (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: make sof_route_load() IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: SOF: make struct snd_sof_widget IPC agnostic (Jaroslav Kysela) [2065575] - ASoC: mxs: Fix error handling in mxs_sgtl5000_probe (Jaroslav Kysela) [2065575] - ASoC: dmaengine: do not use a NULL prepare_slave_config() callback (Jaroslav Kysela) [2065575] - ASoC: SOF: Add missing of_node_put() in imx8m_probe (Jaroslav Kysela) [2065575] - ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe (Jaroslav Kysela) [2065575] - ASoC: amd: acp3x: Fix signedness bug in acp3x (Jaroslav Kysela) [2065575] - ASoC: amd: acp5x-pcm-dma: Fix signedness bug (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: use asoc_substream_to_rtd() (Jaroslav Kysela) [2065575] - ASoC: SOF: change comp_dai to a pointer in struct snd_sof_dai (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: expose some get_token ops (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Modify the get_token op for string tokens (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Drop the size parameter from struct sof_topology_token (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove redundant code in sof_link_afe_load() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove redundant code (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-audio: removed unused function (Jaroslav Kysela) [2065575] - ASoC: SOF: set swidget's core for scheduler widget (Jaroslav Kysela) [2065575] - ASoC: SOF: simplify snd_sof_device_remove() (Jaroslav Kysela) [2065575] - ASoC: SOF: remove snd_sof_pipeline_find() (Jaroslav Kysela) [2065575] - ASoC: amd: vg: fix signedness bug in acp5x_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Remove unnecessary param (Jaroslav Kysela) [2065575] - ASoC: rt5682s: Stabilize the combo jack detection (Jaroslav Kysela) [2065575] - ASoC: wm8350: Handle error for wm8350_register_irq (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Fix signedness bug in acp3x_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Fix signedness bug in acp_pdm_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Fix signedness bug in renoir_audio_probe() (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add GPIOLIB dependency where missed (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: remove explicit dependency on GPIOLIB when DMIC is used" (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: store full version instead of major/minor (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: simplify register poking in fsl_sai_set_bclk (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: simplify irq return value (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: Drop unnecessary defines (Jaroslav Kysela) [2065575] - ASoC: codecs: Add Awinic AW8738 audio amplifier driver (Jaroslav Kysela) [2065575] - ASoC: audio_graph_card2: Add support for variable slot widths (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: clarify operator precedence (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: clarify operator precedence (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Increase ACP_HW_SEM_RETRY_COUNT value (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Move group register configuration to acp-loader (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Use semaphore register to synchronize ipc's irq (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Flush cache after ATU_BASE_ADDR_GRP register update (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Do not set ipc_pcm_params ops as it is optional (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: acp-pcm: Take buffer information directly from runtime (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: pci-tgl: add RPL-S support (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix DSP mbox start command and global enable order (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix max number of TX channels (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix GPIO2 configuration (Jaroslav Kysela) [2065575] - ASoC: bt-sco: fix bt-sco-pcm-wb dai widget don't connect to the endpoint (Jaroslav Kysela) [2065575] - ASoC: hdac_hda: Avoid unexpected match when pcm_name is "Analog" (Jaroslav Kysela) [2065575] - ASoC: soc-compress: prevent the potentially use of null pointer (Jaroslav Kysela) [2065575] - ASoC: soc-generic-dmaengine-pcm: set period_bytes_min based on maxburst (Jaroslav Kysela) [2065575] - ASoC: dwc-i2s: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: amd: use asoc_substream_to_rtd() (Jaroslav Kysela) [2065575] - ASoC: atmel_ssc_dai: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: mxs-saif: Handle errors for clk_enable (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi: add entries in ADL match table (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_ssp_amp: rename driver and support cs35l41 amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: cirrus-common: support cs35l41 amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt1308: move rt1308 code to common module (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: create sof-realtek-common module (Jaroslav Kysela) [2065575] - ASoC: Intel: add RT1308 I2S machine driver and HDMI-in capture via I2S support. (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: fix spelling in comments (Jaroslav Kysela) [2065575] - ASoC: soc-acpi: remove sof_fw_filename (Jaroslav Kysela) [2065575] - ASoC: es7241: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98927: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98926: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98925: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9867: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9860: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max9850: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98390: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98371: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98095: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: max98088: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda134x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: ml26124: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm512x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm186x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm1681: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: pcm3060: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: ti: davinci-i2s: Add check for clk_enable() (Jaroslav Kysela) [2065575] - ASoC: mc13783: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: isabelle: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: amd: vangogh: fix uninitialized symbol warning in machine driver (Jaroslav Kysela) [2065575] - ASoC: amd: vg: remove warnings and errors pointed out by checkpatch pl (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update DAI link name (Jaroslav Kysela) [2065575] - ASoC: amd: vg: fix for pm resume callback sequence (Jaroslav Kysela) [2065575] - ASoC: es8328: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: inno_rk3036: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: es8316: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: wl1273: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: es7134: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: twl4030: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda1334: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: uda1380: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: si476x: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: sti-sas: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: amd: pcm-dma: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: tscs454: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: tscs42xx: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: lm49453: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2065575] - ASoC: qcom: lpass-platform: Update warning print to control excess logging (Jaroslav Kysela) [2065575] - ASoC: acp: check the return value of devm_kzalloc() in acp_legacy_dai_links_create() (Jaroslav Kysela) [2065575] - ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp() (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-priv: Drop duplicate sof_compressed_ops declaration (Jaroslav Kysela) [2065575] - ASoC: amd: Use platform_get_irq_byname() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: SOF: Declare sof_compress_ops in sof-priv.h (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add DMIC machine driver ops (Jaroslav Kysela) [2065575] - ASoC: amd: acp-legacy: Add legacy card support for new machines (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Change card name for Guybrush Machine (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: Add compress_ops for SOF platform component driver (Jaroslav Kysela) [2065575] - ASoC: rt5682s: Fix the wrong jack type detected (Jaroslav Kysela) [2065575] - ASoC: Intel: soc-acpi-byt: Add new WM5102 ACPI HID (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update acp init and deinit sequence (Jaroslav Kysela) [2065575] - ASoC: amd: vg: apply sample bits pcm constraint (Jaroslav Kysela) [2065575] - ASoC: amd: vg: update platform clock control sequence (Jaroslav Kysela) [2065575] - ASoC: nau8821: enable no_capture_mute flag (Jaroslav Kysela) [2065575] - ASoC: amd: vangogh: refactor i2s master mode clock sequence code (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Add topology overwrite for Felwinter (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021 (Jaroslav Kysela) [2065575] - ASoC: intel: skylake: Set max DMA segment size (Jaroslav Kysela) [2065575] - ASoC: SOF: hda: Set max DMA segment size (Jaroslav Kysela) [2065575] - ASoC: SOF: core: unregister clients and machine drivers in .shutdown (Jaroslav Kysela) [2065575] - ASoC: cs4265: Fix the duplicated control name (Jaroslav Kysela) [2065575] - ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min (Jaroslav Kysela) [2065575] - ASoC: soc-core: skip zero num_dai component in searching dai name (Jaroslav Kysela) [2065575] - ASoC: SOF: Makefile: Fix randconfig sof-client build when SND_SOC_SOF=y (Jaroslav Kysela) [2065575] - ASoC: codec: wm8960: complete discharge on BIAS OFF->STANDBY (Jaroslav Kysela) [2065575] - ASoC: wm8731: Delete empty remove() function (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: remove numeric PCM3168A_NUM_SUPPLIES (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: refactor format handling (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: refactor hw_params routine (Jaroslav Kysela) [2065575] - ASoC: pcm3168a: cleanup unintuitive mask usage (Jaroslav Kysela) [2065575] - ASoC: SOF: compr: Mark snd_compress_ops static (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_wm5102: use GFP_KERNEL (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic probe support to SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic IPC message injector into SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: Convert the generic IPC flood test into SOF client (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-client: Add support for clients not managed by pm framework (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce IPC SOF client support (Jaroslav Kysela) [2065575] - ASoC: SOF: Split up utils.c into sof-utils and iomem-utils (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Read and pass the whole message to handlers for IPC events (Jaroslav Kysela) [2065575] - ASoC: SOF: Move the definition of enum sof_dsp_power_states to global header (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop unused DSP power states: D3_HOT and D3_COLD (Jaroslav Kysela) [2065575] - ASoC: rt5640: Remove the sysclk and sysclk_src checking (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hdac_ext_stream: consistent prefixes for variables/members (Jaroslav Kysela) [2065575] - ASoC: fsl_sai: Enable combine mode soft (Jaroslav Kysela) [2065575] - ASoC: SOF: compr: Add compress ops implementation (Jaroslav Kysela) [2065575] - ASoC: SOF: dma-trace: Pass pointer to params_ext struct in trace_init() (Jaroslav Kysela) [2065575] - ASoC: SOF: intel: hda-trace: Pass the dma buffer pointer to hda_dsp_trace_prepare (Jaroslav Kysela) [2065575] - ASoC: zl38060: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: max9759: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: simple-amplifier: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: rt9120: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: dmic: Remove spurious gpiolib select (Jaroslav Kysela) [2065575] - ASoC: rt5682: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: rt5668: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: rt5682s: do not block workqueue if card is unbound (Jaroslav Kysela) [2065575] - ASoC: tas2770: Insert post reset delay (Jaroslav Kysela) [2065575] - ASoC: samsung: Explicitly include gpiolib header (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Set gpio_spkr_en to None for max speaker amplifer in machine driver (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_xr_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw() (Jaroslav Kysela) [2065575] - ASoC: max98927: add missing header file (Jaroslav Kysela) [2065575] - ASoC: ops: Check for negative values before reading them (Jaroslav Kysela) [2065575] - ASoC: cs42l51: Improve error handling in cs42l51_remove() (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Do not allocate buffer for msg_data (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Drop header parameter from sof_ipc_tx_message_unlocked() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: cnl: Use pm_gate->hdr.cmd in cnl_compact_ipc_compress() (Jaroslav Kysela) [2065575] - ASoC: amd: renoir: Add check for acp configuration flags (Jaroslav Kysela) [2065575] - ASoC: amd: acp: acp-legacy: Add DMIC dai link support for Renoir (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add ACP init()/deinit() callback for Renoir. (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add generic PCI driver module for ACP device (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add PDM controller based dmic dai for Renoir (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Add generic support for PDM controller on ACP (Jaroslav Kysela) [2065575] - ASoC: rk3399_gru_sound: Wire up DP jack detection (Jaroslav Kysela) [2065575] - ASoC: rt5682: Fix deadlock on resume (Jaroslav Kysela) [2065575] - ASoC: hdmi-codec: Fix OOB memory accesses (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Move debugfs removal out of spinlock (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: Simplify count adjustment in trace_read (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Remove link assignment limitation (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_xr_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx() (Jaroslav Kysela) [2065575] - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw() (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Add new system-clock-fixed flag (Jaroslav Kysela) [2065575] - ASoC: simple-card-utils: Set sysclk on all components (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: add 512FS MCLK clock configuration (Jaroslav Kysela) [2065575] - ASoC: amd: sof-mach: Add support for RT5682S and RT1019 card (Jaroslav Kysela) [2065575] - ASoC: soc-generic-dmaengine-pcm: separate max_buffer_size assignment (Jaroslav Kysela) [2065575] - ASoC: samsung: remove unneeded ret variable (Jaroslav Kysela) [2065575] - ASoC: codecs: remove redundant ret variable (Jaroslav Kysela) [2065575] - ASoC: fsl-asoc-card: Add optional dt property for setting mclk-id (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Add support for platform without amplifier (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: add support for systems without i915 audio (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: Compare sdw adr directly (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: match sdw version on link_slaves_found (Jaroslav Kysela) [2065575] - ASoC: add support for TAS5805M digital amplifier (Jaroslav Kysela) [2065575] - ASoC: topology: Optimize soc_tplg_dapm_graph_elems_load behavior (Jaroslav Kysela) [2065575] - ASoC: topology: Allow TLV control to be either read or write (Jaroslav Kysela) [2065575] - ASoC: topology: Remove superfluous error prints (Jaroslav Kysela) [2065575] - ASoC: SOF: add flag to disable IMR restore to sof_debug (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: add IMR restore support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: add SSP helper (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: use inclusive language for SSP clocks (Jaroslav Kysela) [2065575] - ASoC: amd: acp-mach: Fix Left and Right rt1019 amp devices (Jaroslav Kysela) [2065575] - ASoC: max9759: fix underflow in speaker_gain_control_put() (Jaroslav Kysela) [2065575] - ASoC: cpcap: Check for NULL pointer after calling of_get_child_by_name (Jaroslav Kysela) [2065575] - ASoC: simple-card: fix probe failure on platform component (Jaroslav Kysela) [2065575] - ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add support for hibernate memory retention mode (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Update handling of test key registers (Jaroslav Kysela) [2065575] - ASoC: wcd9335: Keep a RX port value for each SLIM RX mux (Jaroslav Kysela) [2065575] - ASoC: amd: acp: acp-mach: Change default RT1019 amp dev id (Jaroslav Kysela) [2065575] - ASoC: topology: Fix typo (Jaroslav Kysela) [2065575] - ASoC: fsl_asrc: refine the check of available clock divider (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_rt5640: Add support for external GPIO jack-detect (Jaroslav Kysela) [2065575] - ASoC: Intel: bytcr_rt5640: Support retrieving the codec IRQ from the AMCR0F28 ACPI dev (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add support for boards with an external jack-detect GPIO (Jaroslav Kysela) [2065575] - ASoC: rt5640: Allow snd_soc_component_set_jack() to override the codec IRQ (Jaroslav Kysela) [2065575] - ASoC: rt5640: Change jack_work to a delayed_work (Jaroslav Kysela) [2065575] - ASoC: rt5640: Fix possible NULL pointer deref on resume (Jaroslav Kysela) [2065575] - ASoC: ak4375: Fix unused function error (Jaroslav Kysela) [2065575] - ASoC: cs4265: Add a remove() function (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Correct handling of some registers in the cache (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Correct DSP power down (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Remove incorrect comment (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Add cs35l51/53 IDs (Jaroslav Kysela) [2065575] - ASoC: fsl_mqs: fix MODULE_ALIAS (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for boost configuration (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for setting channels (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Create shared function for errata patches (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Move power initializations to reg_sequence (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Move cs35l41_otp_unpack to shared code (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Convert tables to shared source code (Jaroslav Kysela) [2065575] - ASoC: samsung: idma: Check of ioremap return value (Jaroslav Kysela) [2065575] - ASoC: cs4265: Fix part number ID error message (Jaroslav Kysela) [2065575] - ALSA/ASoC: hda: move/rename snd_hdac_ext_stop_streams to hdac_stream.c (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Power on/off the speaker enable gpio pin based on DAPM callback. (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8173: reduce log verbosity in probe() (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8183: fix device_node leak (Jaroslav Kysela) [2065575] - ASoC: mediatek: mt8173: fix device_node leak (Jaroslav Kysela) [2065575] - ASoC: Intel/SOF: use set_stream() instead of set_tdm_slots() for HDAudio (Jaroslav Kysela) [2065575] - ASoC/soundwire: intel: simplify callbacks for params/hw_free (Jaroslav Kysela) [2065575] - ASOC: SOF: Intel: use snd_soc_dai_get_widget() (Jaroslav Kysela) [2065575] - ASoC: msm8916-wcd-analog: Use separate outputs for HPH_L/HPH_R (Jaroslav Kysela) [2065575] - ASoC: qcom: common: Parse "pin-switches" and "widgets" from DT (Jaroslav Kysela) [2065575] - ASoC: core: Add snd_soc_of_parse_pin_switches() from simple-card-utils (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Use DEBUG log level for optional prints (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: Use DEBUG log level for optional prints (Jaroslav Kysela) [2065575] - ASoC: SOF: Add clarifying comments for sof_core_debug and DSP dump flags (Jaroslav Kysela) [2065575] - ASoC: SOF: Rename snd_sof_get_status() and add kernel log level parameter (Jaroslav Kysela) [2065575] - ASoC: SOF: dsp_arch_ops: add kernel log level parameter for oops and stack (Jaroslav Kysela) [2065575] - ASoC: SOF: ops: Always print DSP Panic message but use different message (Jaroslav Kysela) [2065575] - ASoc: SOF: core: Update the FW boot state transition diagram (Jaroslav Kysela) [2065575] - ASoC: SOF: pm: Force DSP off on suspend in BOOT_FAILED state also (Jaroslav Kysela) [2065575] - ASoC: SOF: Set SOF_FW_BOOT_FAILED in case we have failure during boot (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Only allow sending of an IPC in SOF_FW_BOOT_COMPLETE state (Jaroslav Kysela) [2065575] - ASoC: SOF: Rename 'enum snd_sof_fw_state' to 'enum sof_fw_state' (Jaroslav Kysela) [2065575] - ASoC: SOF: Move the definition of enum snd_sof_fw_state to global header (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce new firmware state: SOF_FW_BOOT_READY_OK (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce new firmware state: SOF_FW_CRASHED (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a 'message' parameter to snd_sof_dsp_dbg_dump() (Jaroslav Kysela) [2065575] - ASoC: SOF: Add 'non_recoverable' parameter to snd_sof_dsp_panic() (Jaroslav Kysela) [2065575] - ASoC: SOF: Use sof_debug_check_flag() instead of sof_core_debug directly (Jaroslav Kysela) [2065575] - ASoC: SOF: core: Add simple wrapper to check flags in sof_core_debug (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-loader: Avoid re-defining the HDA_FW_BOOT_ATTEMPTS (Jaroslav Kysela) [2065575] - ASoC: SOF: ops: Use dev_warn() if the panic offsets differ (Jaroslav Kysela) [2065575] - ASoC: codecs: ak4375: Change invert controls to a stereo switch (Jaroslav Kysela) [2065575] - ASoC: Add AK4375 support (Jaroslav Kysela) [2065575] - ASoC: bcm: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: xlnx: Use platform_get_irq() to get the interrupt (Jaroslav Kysela) [2065575] - ASoC: amd: acp: Remove duplicate dependency in Kconfig (Jaroslav Kysela) [2065575] - ASoC: SOF: AMD: simplify return status handling (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Update sof_tplg_filename for SOF machines (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Enable SOF audio for Google chrome boards. (Jaroslav Kysela) [2065575] - ASoC: sunxi: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: samsung: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: rockchip: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: qcom: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: mxs: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: img: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: generic: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: ti: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: ateml: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: tlv320aic31xx: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: ssm2305: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: simple-amplifier: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: sgtl5000: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: pcm3168a: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: max9860: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: max9759: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: es7241: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: codecs: ak4118: Use dev_err_probe() helper (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: Streamline locals declaration for PCM-functions (Jaroslav Kysela) [2065575] - ASoC: Intel: catpt: Reduce size of catpt_component_open() (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Improve driver's code (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Support device-tree (Jaroslav Kysela) [2065575] - ASoC: tegra20: spdif: Set FIFO trigger level (Jaroslav Kysela) [2065575] - ASoC: SOF: Kconfig: Make the SOF_DEVELOPER_SUPPORT depend on SND_SOC_SOF (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Add null pointer check for substream->runtime (Jaroslav Kysela) [2065575] - ASoC: SOF: avoid casting "const" attribute away (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: remove support for RESUME in platform trigger (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: remove support for RESUME trigger (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: remove support for RESUME trigger (Jaroslav Kysela) [2065575] - ASoC: tegra20-spdif: stop setting slave_id (Jaroslav Kysela) [2065575] - ASoC: AMD: fix depend/select mistake on SND_AMD_ACP_CONFIG (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: read back control data from DSP (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ctrl_type parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: control: Do not handle control notification with component type (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-audio: Drop the `cmd` member from struct snd_sof_control (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ctrl_cmd parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Set control_data->cmd alongside scontrol->cmd (Jaroslav Kysela) [2065575] - ASoC: SOF: Drop ipc_cmd parameter for snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: SOF: ipc: Rename send parameter in snd_sof_ipc_set_get_comp_data() (Jaroslav Kysela) [2065575] - ASoC: rt5663: Handle device_property_read_u32_array error codes (Jaroslav Kysela) [2065575] - ASoC: SOF: OF: Avoid reverse module dependency (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-probes: Constify sof_probe_compr_ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Remove pm_runtime_put_autosuspend() for SOF OF device (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add comment on JasperLake support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-dai: remove unused fields (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: add quirks for HDAudio DMA position information (Jaroslav Kysela) [2065575] - ASoC: SOF: hda-stream: only enable DPIB if needed (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-ctrl: apply symmetry for DPIB (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda-stream: limit PROCEN workaround (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: ICL: move ICL-specific ops to icl.c (Jaroslav Kysela) [2065575] - ASoC: test-component: fix null pointer dereference. (Jaroslav Kysela) [2065575] - ASoC: amd: Convert to new style DAI format definitions (Jaroslav Kysela) [2065575] - ASoC: AMD: acp-config: fix missing dependency on SND_SOC_ACPI (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_rt5682: Move rt1015 speaker amp to common file (Jaroslav Kysela) [2065575] - ASoC: rt5682s: add delay time to fix pop sound issue (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add 'static' qualifiers for max98390 routes (Jaroslav Kysela) [2065575] - ASoC: amd: acp6x-pdm-dma: Constify static snd_soc_dai_ops (Jaroslav Kysela) [2065575] - ASoC: ti: davinci-mcasp: Get rid of duplicate of_node assignment (Jaroslav Kysela) [2065575] - ASoC: zl38060: Setup parent device and get rid of unnecessary of_node assignment (Jaroslav Kysela) [2065575] - ASoC: test-component: fix null pointer dereference. (Jaroslav Kysela) [2065575] - sound/soc: remove useless bool conversion to bool variable (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix undefined reference to core functions (Jaroslav Kysela) [2065575] - ASoC: rt5640: Fix the wrong state of the JD in the HDA header (Jaroslav Kysela) [2065575] - ASoC: codecs: wcd934x: remove redundant ret variable (Jaroslav Kysela) [2065575] - ASoC: tegra: Add master volume/mute control support (Jaroslav Kysela) [2065575] - ASoC: Intel: Skylake: Use NHLT API to search for blob (Jaroslav Kysela) [2065575] - ASoC: Intel: boards: add max98390 2/4 speakers support (Jaroslav Kysela) [2065575] - ASoC: intel: boards: bytcht*: Constify static snd_soc_ops (Jaroslav Kysela) [2065575] - ASoC: Intel: hda_dsp_common: don't multiline PCM topology warning (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: tidyup soc_pcm_pointer()'s delay update method (Jaroslav Kysela) [2065575] - ASoC: intel: sst-mfld-platform-pcm: add .delay support (Jaroslav Kysela) [2065575] - ASoC: amd: acp-pcm-dma: add .delay support (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Use pR/pa to print resources/physical addresses (Jaroslav Kysela) [2065575] - ASoC: cs35l41: Fix link problem (Jaroslav Kysela) [2065575] - ASoC: codecs/jz4770: Add missing gain control after DAC/ADC mixer (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: send DAI_CONFIG IPC during pause (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: dai: Expand DAI_CONFIG IPC flags (Jaroslav Kysela) [2065575] - ASoC: SOF: align the hw_free sequence with stop (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: move the check for prepared flag (Jaroslav Kysela) [2065575] - ASoC: SOF: Add a helper for freeing PCM stream (Jaroslav Kysela) [2065575] - ASoC: SOF: call platform hw_free for paused streams during suspend (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: invoke platform hw_free for STOP/SUSPEND triggers (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: reset stream before coupling host and link DMA's (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: Add a helper function for stream reset (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: clear stream before freeing the DAI widget (Jaroslav Kysela) [2065575] - ASoC: rt5640: Add the HDA header support (Jaroslav Kysela) [2065575] - ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add missing of_node_put() in platform_parse_resource() (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: don't use list_for_each_entry_reverse() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: add .ack support for HDaudio platforms (Jaroslav Kysela) [2065575] - ASoC: SOF: pcm: add .ack callback support (Jaroslav Kysela) [2065575] - ASoC: SOF: sof-pci-dev: use community key on all Up boards (Jaroslav Kysela) [2065575] - ASoC: stm32: spdifrx: add pm_runtime support (Jaroslav Kysela) [2065575] - ASoC: stm32: dfsdm: add pm_runtime support for audio (Jaroslav Kysela) [2065575] - ASoC: stm32: i2s: add pm_runtime support (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: free DAI widget during stop and suspend (Jaroslav Kysela) [2065575] - ASoC: SOF: add support for dynamic pipelines with multi-core (Jaroslav Kysela) [2065575] - ASoC: SOF: hda: don't use the core op for power up/power down (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: remove sof_load_pipeline_ipc() (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: CNL/ICL/APL: set core_get/core_put ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: TGL: set core_get/put ops (Jaroslav Kysela) [2065575] - ASoC: SOF: Add ops for core_get and core_put (Jaroslav Kysela) [2065575] - ASoC: SOF: Introduce num_cores and ref count per core (Jaroslav Kysela) [2065575] - ASoC: SOF: Intel: hda: expose get_chip_info() (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Implement reset callback (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Implement DSP start (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8m: Add runtime PM / System PM support (Jaroslav Kysela) [2065575] - ASoC: SOF: imx8: Add runtime PM / System PM support (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Add code to manage DSP related clocks (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add DSP system PM callback for mt8195 (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add mt8195 dsp clock support (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add dai driver dsp ops callback for mt8195 (Jaroslav Kysela) [2065575] - ASoC: SOF: Add mt8195 device descriptor (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add fw loader and mt8195 dsp ops to load firmware (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add support for Mediatek AFE DAI (Jaroslav Kysela) [2065575] - ASoC: SOF: mediatek: Add mt8195 hardware support (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add support for SOF firmware authentication (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add trace logger support (Jaroslav Kysela) [2065575] - ASoC: SOF: topology: Add support for AMD ACP DAIs (Jaroslav Kysela) [2065575] - ASoC: amd: acp-config: Remove legacy acpi based machine struct (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add Renoir PCI driver interface (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add machine driver dsp ops for Renoir platform (Jaroslav Kysela) [2065575] - ASoC: amd: Add module to determine ACP configuration (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add PCM stream callback for Renoir dai's (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add dai driver dsp ops callback for Renoir (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add IPC support for ACP IP block (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add fw loader and renoir dsp ops to load firmware (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add helper callbacks for ACP's DMA configuration (Jaroslav Kysela) [2065575] - ASoC: SOF: amd: Add Renoir ACP HW support (Jaroslav Kysela) [2065575] - ASoC: stm32: sai: increase channels_max limit (Jaroslav Kysela) [2065575] - ASoC: SOF: debug: Add support for IPC message injection (Jaroslav Kysela) [2065575] - ASoC: SOF: intel: Use the generic helper to get the reply (Jaroslav Kysela) [2065575] - ASoC: SOF: imx: Use the generic helper to get the reply (Jaroslav Kysela) [2065575] - ASoC: SOF: utils: Add generic function to get the reply for a tx message (Jaroslav Kysela) [2065575] - ASoC: SOF: i.MX: simplify Kconfig (Jaroslav Kysela) [2065575] - ASoC: SOF: core: Unregister machine driver before IPC and debugfs (Jaroslav Kysela) [2065575] - ASoC: adau1701: Replace legacy gpio interface for gpiod (Jaroslav Kysela) [2065575] - ASoC: Intel: add sof-nau8825 machine driver (Jaroslav Kysela) [2065575] - ASoC: cs35l41: DSP Support (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: add link adr order check (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove get_next_be_id (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove sof_sdw_mic_codec_mockup_init (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: rename be_index/link_id to link_index (Jaroslav Kysela) [2065575] - ASoC: Intel: sof_sdw: add SKU for Dell Latitude 9520 (Jaroslav Kysela) [2065575] - ASoC: intel: sof_sdw: return the original error number (Jaroslav Kysela) [2065575] - ASoC: SOF: trace: send DMA_TRACE_FREE IPC during release (Jaroslav Kysela) [2065575] - ASoC: SOF: IPC: update ipc_log_header() (Jaroslav Kysela) [2065575] - ALSA: mtpav: Don't call card private_free at probe error path (Jaroslav Kysela) [2065575] - ALSA: virmidi: Remove duplicated code (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for TongFang devices with pop noise (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for the Framework Laptop (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Dell Latitude 7520 (Jaroslav Kysela) [2065575] - ALSA: hda - fix unused Realtek function when PM is not enabled (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Yoga Duet 7 13ITL6 speakers (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable mute/micmute LEDs support for HP Laptops (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix mute led issue on thinkpad with cs35l41 s-codec (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP70PNP (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook 845/865 G9 (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: add HDMI codec VID for Raptorlake-P (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: fix warning about PCM count when used with SOF (Jaroslav Kysela) [2065575] - ALSA: nm256: Don't call card private_free at probe error path (Jaroslav Kysela) [2065575] - ALSA: rme9652: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hdspm: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hdsp: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: oxygen: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: lx6464es: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cmipci: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: aw2: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: als300: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: lola: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: bt87x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: sis7019: Fix the missing error handling (Jaroslav Kysela) [2065575] - ALSA: via82xx: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: sonicvibes: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: rme96: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: rme32: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: riptide: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: maestro3: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: korg1212: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: intel8x0: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ice1724: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: fm801: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: es1968: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: es1938: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ens137x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: emu10k1x: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cs5535audio: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: cs4281: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ca0106: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: azt3328: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: au88x0: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: atiixp: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: als4000: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ali5451: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: ad1889: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: echoaudio: Fix the missing snd_card_free() call at probe error (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: add quirk for Lenovo Thinkpad X12 speakers (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo PD50PNT (Jaroslav Kysela) [2065575] - ALSA: hda: Avoid unsol event during RPM suspending (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Add new Dolphin HW variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Disable HSBIAS_SENSE_EN for Cyborg (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Support new Warlock MLK Variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Fix Full Scale Volume setting for all variants (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Re-order quirk table into ascending order (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Fix Warlock to use mono mic configuration (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Enable headset mic on Lenovo P360 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add mute and micmut LED support for Zbook Fury 17 G9 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add alc256-samsung-headphone fixup (Jaroslav Kysela) [2065575] - ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix LED on Zbook Studio G9 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines (Jaroslav Kysela) [2065575] - ALSA: cmipci: Restore aux vol on suspend/resume (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for ASUS GA402 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 (Jaroslav Kysela) [2065575] - ALSA: hda: Add AlderLake-PS variant PCI ID (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP50PNJ (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Clevo NP70PNJ (Jaroslav Kysela) [2065575] - ALSA: lola: add a check for the return of vmalloc() (Jaroslav Kysela) [2065575] - ALSA: echoaudio: remove redundant assignment to variable bytes (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Make use of the helper component_compare_dev_name (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Update scratch reg. communication (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Hardcode GCAP ISS value on T234 (Jaroslav Kysela) [2065575] - ALSA: hda/tegra: Add Tegra234 hda driver support (Jaroslav Kysela) [2065575] - ALSA: hda: Expose codec cleanup and power-save functions (Jaroslav Kysela) [2065575] - ALSA: hda: Update and expose codec register procedures (Jaroslav Kysela) [2065575] - ALSA: hda: Update and expose snd_hda_codec_device_init() (Jaroslav Kysela) [2065575] - ALSA: hda/hdmi: add keep-alive support for ADL-P and DG2 (Jaroslav Kysela) [2065575] - ALSA: hda: Set max DMA segment size (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix deadlock by COEF mutex (Jaroslav Kysela) [2065575] - ALSA: hda: Fix missing codec probe on Shenker Dock 15 (Jaroslav Kysela) [2065575] - ALSA: hda: Fix regression on forced probe mask option (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for Legion Y9000X 2019 (Jaroslav Kysela) [2065575] - ALSA: hda: Add PCI and HDMI IDs for Intel Raptor Lake (Jaroslav Kysela) [2065575] - ALSA: ca0106: Rename register macro names (Jaroslav Kysela) [2065575] - ALSA: hda: Fix driver index handling at re-binding (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add support for HP Laptops (Jaroslav Kysela) [2065575] - ALSA: hda: Skip codec shutdown in case the codec is not registered (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add quirk for ASUS GU603 (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix silent output on Gigabyte X570 Aorus Xtreme after reboot from Windows (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Fix silent output on Gigabyte X570S Aorus Master (newer chipset) (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add missing fixup-model entry for Gigabyte X570 ALC1220 quirks (Jaroslav Kysela) [2065575] - ALSA: hda: realtek: Fix race at concurrent COEF updates (Jaroslav Kysela) [2065575] - ALSA: hda: Fix signedness of sscanf() arguments (Jaroslav Kysela) [2065575] - ALSA: hda: Fix UAF of leds class devs at unbinding (Jaroslav Kysela) [2065575] - ALSA: hda/cs8409: Add new Warlock SKUs to patch_cs8409 (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Tidyup code (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Make use of the helper function dev_err_probe() (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add missing default cases (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Move cs35l41* calls to its own symbol namespace (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add calls to newly added test key function (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Avoid overwriting register patch (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: fix speakers and micmute on HP 855 G8 (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: fix double free on error in probe() (Jaroslav Kysela) [2065575] - ALSA: hda: Fix dependencies of CS35L41 on SPI/I2C buses (Jaroslav Kysela) [2065575] - ALSA: hda: Fix dependency on ASoC cs35l41 codec (Jaroslav Kysela) [2065575] - ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops (Jaroslav Kysela) [2065575] - ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop (Jaroslav Kysela) [2065575] - ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems (Jaroslav Kysela) [2065575] - MAINTAINERS: Update Cirrus Logic codec driver maintainers (Jaroslav Kysela) [2065575] - ASoC: dt-bindings: cs42l42: Convert binding to yaml (Jaroslav Kysela) [2065575] - dt-bindings: remove 'interrupt-parent' from bindings (Jaroslav Kysela) [2065575] - ASoC: dt-bindings: cs42l42: Correct description of ts-inv (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Add warnings about DETECT_MODE and PLL_START (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Handle system suspend (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Change jack_detect_mutex to a lock of all IRQ handling (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Report full jack status when plug is detected (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant pll_divout member (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Simplify reporting of jack unplug (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant writes to RS_PLUG/RS_UNPLUG masks (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Remove redundant writes to DETECT_MODE (Jaroslav Kysela) [2065575] - ASoC: cs42l42: Add control for audio slow-start switch (Jaroslav Kysela) [2065575] - ALSA: mixart: Add sanity check for timer notify streams (Jaroslav Kysela) [2065575] - ALSA: mixart: Reduce size of mixart_timer_notify (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Restore Rane SL-1 quirk (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Don't get sample rate for MCT Trigger 5 USB-to-HDMI (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Clear MIDI port active flag after draining (Jaroslav Kysela) [2065575] - ALSA: usb-audio: add mapping for MSI MAG X570S Torpedo MAX. (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Limit max buffer and period sizes per time (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Increase max buffer size (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Cap upper limits of buffer/period bytes for implicit fb (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB (Jaroslav Kysela) [2065575] - ALSA: scarlett2: Add support for the internal "standalone" switch (Jaroslav Kysela) [2065575] - ALSA: scarlett2: Split scarlett2_config_items[] into 3 sections (Jaroslav Kysela) [2065575] - ALSA: usb-audio: add mapping for new Corsair Virtuoso SE (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Don't abort resume upon errors (Jaroslav Kysela) [2065575] - ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra (Jaroslav Kysela) [2065575] - ALSA: usb-audio: remove redundant assignment to variable c (Jaroslav Kysela) [2065575] - ALSA: usb-audio: Correct quirk for VF0770 (Jaroslav Kysela) [2065575] - ALSA: usb-audio: initialize variables that could ignore errors (Jaroslav Kysela) [2065575] - ALSA: usb-audio: scarlett2: Use struct_size() helper in scarlett2_usb() (Jaroslav Kysela) [2065575] - ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes (Jaroslav Kysela) [2065575] - ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction (Jaroslav Kysela) [2065575] - ALSA: memalloc: Add fallback SG-buffer allocations for x86 (Jaroslav Kysela) [2065575] - ALSA: core: Add snd_card_free_on_error() helper (Jaroslav Kysela) [2065575] - ALSA: pcm: Test for "silence" field in struct "pcm_format_data" (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock (Jaroslav Kysela) [2065575] - ALSA: pcm: Add stream lock during PCM reset ioctl operations (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent prealloc proc writes (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent read/write and buffer changes (Jaroslav Kysela) [2065575] - ALSA: pcm: Fix races among concurrent hw_params and hw_free calls (Jaroslav Kysela) [2065575] - ALSA: oss: Release temporary buffers upon errors (Jaroslav Kysela) [2065575] - ALSA: oss: Fix PCM OSS buffer allocation overflow (Jaroslav Kysela) [2065575] - ALSA: core: Fix typo in 'PCM Timer Interface' help (Jaroslav Kysela) [2065575] - ALSA: seq: oss: fix typo (Jaroslav Kysela) [2065575] - ALSA: seq: oss: use kzalloc (Jaroslav Kysela) [2065575] - ALSA: memalloc: invalidate SG pages before sync (Jaroslav Kysela) [2065575] - ALSA: memalloc: Fix dma_need_sync() checks (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: test refcount before triggering (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: serialize BE triggers (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: Fix and cleanup DPCM locking (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: align BE 'atomicity' with that of the FE (Jaroslav Kysela) [2065575] - ASoC: soc-pcm: use GFP_ATOMIC for dpcm structure (Jaroslav Kysela) [2065575] - ASoC: soc-component: add snd_soc_pcm_component_delay() (Jaroslav Kysela) [2065575] - ASoC: soc-dai: update snd_soc_dai_delay() to snd_soc_pcm_dai_delay() (Jaroslav Kysela) [2065575] - ALSA: core: Simplify snd_power_ref_and_wait() with the standard macro (Jaroslav Kysela) [2065575] - ALSA: seq: virmidi: Add a drain operation (Jaroslav Kysela) [2065575] - ASoC: dai_dma: remove slave_id field (Jaroslav Kysela) [2065575] - ALSA: seq: Set upper limit of processed events (Jaroslav Kysela) [2065575] - ALSA: oss: remove useless NULL check before kfree (Jaroslav Kysela) [2065575] - ALSA: pcm: introduce INFO_NO_REWINDS flag (Jaroslav Kysela) [2065575] - ALSA: pcm: unconditionally check if appl_ptr is in 0..boundary range (Jaroslav Kysela) [2065575] - Revert "ASoC: Intel: soc-acpi: add entries in ADL match table" (Jaroslav Kysela) [2065575] - devlink: hold the instance lock during eswitch_mode callbacks (Petr Oros) [2101715] - netdevsim: replace vfs_lock with devlink instance lock (Petr Oros) [2101715] - netdevsim: replace port_list_lock with devlink instance lock (Petr Oros) [2101715] - devlink: add explicitly locked flavor of the rate node APIs (Petr Oros) [2101715] - bnxt: use the devlink instance lock to protect sriov (Petr Oros) [2101715] - devlink: pass devlink_port to port_split / port_unsplit callbacks (Petr Oros) [2101715] - devlink: hold the instance lock in port_split / port_unsplit callbacks (Petr Oros) [2101715] - eth: mlxsw: switch to explicit locking for port registration (Petr Oros) [2101715] - eth: nfp: replace driver's "pf" lock with devlink instance lock (Petr Oros) [2101715] - eth: nfp: wrap locking assertions in helpers (Petr Oros) [2101715] - devlink: expose instance locking and add locked port registering (Petr Oros) [2101715] - ethtool: don't drop the rtnl_lock half way thru the ioctl (Petr Oros) [2101715] - ethtool: handle info/flash data copying outside rtnl_lock (Petr Oros) [2101715] - ethtool: push the rtnl_lock into dev_ethtool() (Petr Oros) [2101715] - mlxsw: reg: Remove PMTM register (Ivan Vecera) [2101715] - mlxsw: spectrum: Use PMTDB register to obtain split info (Ivan Vecera) [2101715] - mlxsw: reg: Add Port Module To local DataBase Register (Ivan Vecera) [2101715] - mlxsw: spectrum: Use PLLP to get front panel number and split number (Ivan Vecera) [2101715] - mlxsw: reg: Add Port Local port to Label Port mapping Register (Ivan Vecera) [2101715] - mlxsw: spectrum: Move port SWID set before core port init (Ivan Vecera) [2101715] - mlxsw: spectrum: Move port module mapping before core port init (Ivan Vecera) [2101715] - mlxsw: spectrum: Bump minimum FW version to xx.2008.3326 (Ivan Vecera) [2101715] - bpf: fix build error due to missing bpf_perf_event.h header (Desnes A. Nunes do Rosario) [1908140] - powerpc/bpf: Fix use of user_pt_regs in uapi (Desnes A. Nunes do Rosario) [1908140] - net: ena: Do not waste napi skb cache (Michal Schmidt) [2097644] - net: ena: Extract recurring driver reset code into a function (Michal Schmidt) [2097644] - net: ena: Change the name of bad_csum variable (Michal Schmidt) [2097644] - net: ena: Add debug prints for invalid req_id resets (Michal Schmidt) [2097644] - net: ena: Remove ena_calc_queue_size_ctx struct (Michal Schmidt) [2097644] - net: ena: Move reset completion print to the reset function (Michal Schmidt) [2097644] - net: ena: Remove redundant return code check (Michal Schmidt) [2097644] - net: ena: Change ENI stats support check to use capabilities field (Michal Schmidt) [2097644] - net: ena: Add capabilities field with support for ENI stats capability (Michal Schmidt) [2097644] - net: ena: Change return value of ena_calc_io_queue_size() to void (Michal Schmidt) [2097644] - powerpc/ptrace: replace ptrace_report_syscall() with a tracehook call (Desnes A. Nunes do Rosario) [1992947] - powerpc/ptrace: Add support for PTRACE_SYSEMU (Desnes A. Nunes do Rosario) [1992947] - selftests/powerpc: New PTRACE_SYSEMU test (Desnes A. Nunes do Rosario) [1992947] - powerpc: Redefine TIF_32BITS thread flag (Desnes A. Nunes do Rosario) [1992947] - redhat: fix libnl3-devel BuildRequires for intel-speed-select (Jarod Wilson)- redhat: enable mtty module for internal testing (Jarod Wilson) [2071992] - tools/power/x86/intel-speed-select: v1.12 release (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: HFI support (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: OOB daemon mode (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: v1.11 release (Martin McConnell) [2072658] - tools/power/x86/intel-speed-select: Update max frequency (Martin McConnell) [2072658] - Spec fixes for intel-speed-select (Martin McConnell) [2072658] - Add BuildRequires libnl3-devel for intel-speed-select (Martin McConnell) [2072658] - xfs: fix soft lockup via spinning in filestream ag selection loop (Brian Foster) [2033293] - net: ping6: Fix memleak in ipv6_renew_options(). (Ivan Vecera) [2112339] - Input: i8042 - Add quirk for Fujitsu Lifebook T725 (Benjamin Tissoires) [2019942] - HID: amd_sfh: Modify the hid name (Benjamin Tissoires) [2090040] - HID: amd_sfh: Modify the bus name (Benjamin Tissoires) [2090040] - HID: amd_sfh: Add support for sensor discovery (Benjamin Tissoires) [2090040] - igc: Reinstate IGC_REMOVED logic and implement it properly (Corinna Vinschen) [2037969] - intel/igc:fix repeated words in comments (Corinna Vinschen) [2037969] - intel: remove unused macros (Corinna Vinschen) [2037969] - igc: Change type of the 'igc_check_downshift' method (Corinna Vinschen) [2037969] - igc: Remove unused phy_type enum (Corinna Vinschen) [2037969] - igc: Remove igc_set_spd_dplx method (Corinna Vinschen) [2037969] - igc: Fix suspending when PTM is active (Corinna Vinschen) [2037969] - igc: Fix BUG: scheduling while atomic (Corinna Vinschen) [2037969 2014971] - igc: Fix infinite loop in release_swfw_sync (Corinna Vinschen) [2037969] - igc: igc_write_phy_reg_gpy: drop premature return (Corinna Vinschen) [2037969] - igc: igc_read_phy_reg_gpy: drop premature return (Corinna Vinschen) [2037969] - igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Corinna Vinschen) [2037969] - igc: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037969] - igc: Fix TX timestamp support for non-MSI-X platforms (Corinna Vinschen) [2037969] - igc: Do not enable crosstimestamping for i225-V models (Corinna Vinschen) [2037969] - igc: switch to napi_build_skb() (Corinna Vinschen) [2037969] - igc: Remove obsolete define (Corinna Vinschen) [2037969] - igc: Remove obsolete mask (Corinna Vinschen) [2037969] - igc: Remove obsolete nvm type (Corinna Vinschen) [2037969] - igc: Remove unused phy type (Corinna Vinschen) [2037969] - igc: Remove unused _I_PHY_ID define (Corinna Vinschen) [2037969] - igc: enable XDP metadata in driver (Corinna Vinschen) [2037969] - intel_idle: Fix false positive RCU splats due to incorrect hardirqs state (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/spec_ctrl: Enable RHEL only ibrs_always & retpoline,ibrs_user spectre_v2 options (Waiman Long) [2090229] - KVM: emulate: do not adjust size of fastop and setcc subroutines (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm: fix FASTOP_SIZE when return thunks are enabled (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - efi/x86: use naked RET on mixed mode call wrapper (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Remove apostrophe typo (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Remove UNTRAIN_RET from native_irq_return_ldt (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Mark retbleed_strings static (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/asm/32: Fix ANNOTATE_UNRET_SAFE use on 32-bit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Disable RRSBA behavior (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kexec: Disable RET on kexec (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Do not enable IBPB-on-entry when IBPB is not supported (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add Cannon lake to RETBleed affected CPU list (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - redhat/configs: Add new mitigation configs for RetBleed CVEs (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retbleed: Add fine grained Kconfig knobs (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpu/amd: Enumerate BTC_NO (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/common: Stamp out the stepping madness (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Prevent RSB underflow before vmenter (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fill RSB on vmexit for IBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Fix IBRS handling after vmexit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Convert launched argument to flags (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - KVM: VMX: Flatten __vmx_vcpu_run() (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Remove x86_spec_ctrl_mask (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fix SPEC_CTRL write on SMT state change (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Fix firmware entry SPEC_CTRL handling (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpu/amd: Add Spectral Chicken (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Do IBPB fallback check only once (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add retbleed=ibpb (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - objtool: Update Retpoline validation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - intel_idle: Disable IBRS during long idle (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Report Intel retbleed vulnerability (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation() (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Optimize SPEC_CTRL MSR writes (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Add kernel IBRS implementation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Enable STIBP for JMP2RET (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Add AMD retbleed= boot parameter (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bugs: Report AMD retbleed vulnerability (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Add magic AMD return-thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Use return-thunk in asm code (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/sev: Avoid using __x86_return_thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/vsyscall_emu/64: Don't use RET in vsyscall emulation (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm: Fix SETcc emulation for return thunks (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/bpf: Use alternative RET encoding (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/ftrace: Use alternative RET encoding (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86,objtool: Create .return_sites (Josh Poimboeuf) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: Undo return-thunk damage (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Use -mfunction-return (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Swizzle retpoline thunk (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/retpoline: Cleanup some #ifdefery (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/cpufeatures: Move RETPOLINE flags to word 11 (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/kvm/vmx: Make noinstr clean (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - arch/x86/boot/compressed: Add -D__DISABLE_EXPORTS to kbuild flags (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86: (Ab)use __DISABLE_EXPORTS to disable RETHUNK in real mode (Waiman Long) [2090229] {CVE-2022-23816 CVE-2022-23825 CVE-2022-29900 CVE-2022-29901} - x86/entry: Remove skip_r11rcx (Waiman Long) [2090229] - cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE (Waiman Long) [2090229] - x86/speculation/srbds: Do not try to turn mitigation off when not supported (Waiman Long) [2090229] - x86/ibt,paravirt: Use text_gen_insn() for paravirt_patch() (Waiman Long) [2090229] - x86/text-patching: Make text_gen_insn() play nice with ANNOTATE_NOENDBR (Waiman Long) [2090229] - x86/module: Fix the paravirt vs alternative order (Waiman Long) [2090229] - x86: Add straight-line-speculation mitigation (Waiman Long) [2090229] - x86: Prepare inline-asm for straight-line-speculation (Waiman Long) [2090229] - x86: Prepare asm files for straight-line-speculation (Waiman Long) [2090229] - x86: Use -mindirect-branch-cs-prefix for RETPOLINE builds (Waiman Long) [2090229] - x86: Move RETPOLINE*_CFLAGS to arch Makefile (Waiman Long) [2090229] - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() (Waiman Long) [2090229] - Makefile: remove stale cc-option checks (Waiman Long) [2090229] - tools headers: Remove broken definition of __LITTLE_ENDIAN (Waiman Long) [2090229] - tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' (Waiman Long) [2090229] - x86: Add insn_decode_kernel() (Waiman Long) [2090229] - tools/insn: Restore the relative include paths for cross building (Waiman Long) [2090229] - x86/alternative: Use insn_decode() (Waiman Long) [2090229] - x86/insn: Add an insn_decode() API (Waiman Long) [2090229] - x86/insn: Rename insn_decode() to insn_decode_from_regs() (Waiman Long) [2090229] - x86/paravirt: Add new features for paravirt patching (Waiman Long) [2090229] - x86/alternative: Support not-feature (Waiman Long) [2090229] - x86/alternative: Merge include files (Waiman Long) [2090229] - objtool: Fix error handling for STD/CLD warnings (Waiman Long) [2090229] - x86/alternatives: Teach text_poke_bp() to emulate RET (Waiman Long) [2090229] - x86/ftrace: Have ftrace trampolines turn read-only at the end of system boot up (Waiman Long) [2090229] - x86/speculation: Change FILL_RETURN_BUFFER to work with objtool (Waiman Long) [2090229] - objtool: Add support for intra-function calls (Waiman Long) [2090229] - objtool: Rework allocating stack_ops on decode (Waiman Long) [2090229] - objtool: Better handle IRET (Waiman Long) [2090229] - objtool: Support multiple stack_op per instruction (Waiman Long) [2090229] - objtool: Make BP scratch register warning more robust (Waiman Long) [2090229] - x86/kexec: Make relocate_kernel_64.S objtool clean (Waiman Long) [2090229] - objtool: Introduce validate_return() (Waiman Long) [2090229] - Makefile: disallow data races on gcc-10 as well (Waiman Long) [2090229] - objtool: Improve call destination function detection (Waiman Long) [2090229] - x86/alternatives: Implement a better poke_int3_handler() completion scheme (Waiman Long) [2090229] - lib/: fix Kconfig indentation (Waiman Long) [2090229] - x86/alternatives: Use INT3_INSN_SIZE (Waiman Long) [2090229] - x86/kprobes: Fix ordering while text-patching (Waiman Long) [2090229] - x86/kprobes: Convert to text-patching.h (Waiman Long) [2090229] - x86/alternative: Shrink text_poke_loc (Waiman Long) [2090229] - x86/alternative: Remove text_poke_loc::len (Waiman Long) [2090229] - x86/ftrace: Use text_gen_insn() (Waiman Long) [2090229] - x86/alternative: Add text_opcode_size() (Waiman Long) [2090229] - x86/ftrace: Use text_poke() (Waiman Long) [2090229] - x86/ftrace: Use vmalloc special flag (Waiman Long) [2090229] - x86/ftrace: Explicitly include vmalloc.h for set_vm_flush_reset_perms() (Waiman Long) [2090229] - x86/alternatives: Add and use text_gen_insn() helper (Waiman Long) [2090229] - x86/alternatives, jump_label: Provide better text_poke() batching interface (Waiman Long) [2090229] - x86/asm: Annotate relocate_kernel_{32,64}.c (Waiman Long) [2090229] - x86: kprobes: Prohibit probing on instruction which has emulate prefix (Waiman Long) [2090229] - x86: Correct misc typos (Waiman Long) [2090229] - x86/speculation/mds: Apply more accurate check on hypervisor platform (Waiman Long) [2090229] - objtool: Convert insn type to enum (Waiman Long) [2090229] - objtool: Track original function across branches (Waiman Long) [2090229] - objtool: Rename elf_open() to prevent conflict with libelf from elftoolchain (Waiman Long) [2090229] - x86/ftrace: Make enable parameter bool where applicable (Waiman Long) [2090229] - x86/CPU/AMD: Don't force the CPB cap when running under a hypervisor (Waiman Long) [2090229] - objtool: Fix function fallthrough detection (Waiman Long) [2090229] - x86/paravirt: Detect over-sized patching bugs in paravirt_patch_call() (Waiman Long) [2090229] - x86/cpu/amd: Exclude 32bit only assembler from 64bit build (Waiman Long) [2090229] - x86/asm: Mark all top level asm statements as .text (Waiman Long) [2090229] - x86/cpu/bugs: Use __initconst for 'const' init data (Waiman Long) [2090229] - objtool: Add Direction Flag validation (Waiman Long) [2090229] - objtool: Rewrite add_ignores() (Waiman Long) [2090229] - x86/nospec, objtool: Introduce ANNOTATE_IGNORE_ALTERNATIVE (Waiman Long) [2090229] - x86/ftrace: Fix warning and considate ftrace_jmp_replace() and ftrace_call_replace() (Waiman Long) [2090229] - kbuild: Disable extra debugging info in .s output (Waiman Long) [2090229] - x86/CPU/AMD: Set the CPB bit unconditionally on F17h (Waiman Long) [2090229] - x86/alternatives: Print containing function (Waiman Long) [2090229] - x86/ftrace: Do not call function graph from dynamic trampolines (Waiman Long) [2090229] - ftrace: Create new ftrace_internal.h header (Waiman Long) [2090229] - kprobes/x86: Fix instruction patching corruption when copying more than one RIP-relative instruction (Waiman Long) [2090229] - tracing/Makefile: Fix handling redefinition of CC_FLAGS_FTRACE (Waiman Long) [2090229] - x86/paravirt: Remove unused paravirt bits (Waiman Long) [2090229] - x86/paravirt: Remove clobbers parameter from paravirt patch functions (Waiman Long) [2090229] - x86/paravirt: Make paravirt_patch_call() and paravirt_patch_jmp() static (Waiman Long) [2090229] - x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled (Waiman Long) [2090229] - ftrace: Remove unused pointer ftrace_swapper_pid (Waiman Long) [2090229] - x86/spec_ctrl: Temporarily remove RHEL specific IBRS code (Waiman Long) [2090229] - net: bonding: fix use-after-free after 802.3ad slave unbind (Jonathan Toppins) [2109327] - net: bonding: fix possible NULL deref in rlb code (Jonathan Toppins) [2109327] - bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers (Jonathan Toppins) [2109327] - bonding: do not discard lowest hash bit for non layer3+4 hashing (Jonathan Toppins) [2109327] - bonding: helper macro __ATTR_RO to make code more clear (Jonathan Toppins) [2109327] - bonding: force carrier update when releasing slave (Jonathan Toppins) [2109327] - bonding: fix data-races around agg_select_timer (Jonathan Toppins) [2109327] - bonding: switch bond_net_exit() to batch mode (Jonathan Toppins) [2109327] - bonding: pair enable_port with slave_arr_updates (Jonathan Toppins) [2109327] - net: bonding: fix bond_xmit_broadcast return value error bug (Jonathan Toppins) [2109327] - tracing: Show size of requested perf buffer (Michael Petlan) [2103836] - tracing: Increase PERF_MAX_TRACE_SIZE to handle Sentinel1 and docker together (Michael Petlan) [2103836] - drivers/base/memory: determine and store zone for single-zone memory blocks (David Hildenbrand) [1997803] - drivers/base/node: rename link_mem_sections() to register_memory_block_under_node() (David Hildenbrand) [1997803] - drivers/base/node: consolidate node device subsystem initialization in node_dev_init() (David Hildenbrand) [1997803] - drivers/base/memory: introduce memory_block_{online,offline} (David Hildenbrand) [1997803] - mm/memory_hotplug: remove stale function declarations (David Hildenbrand) [1997803] - mm/memory_hotplug: remove HIGHMEM leftovers (David Hildenbrand) [1997803] - redhat/configs: remove CONFIG_MEMORY_HOTPLUG_SPARSE (David Hildenbrand) [1997803] - mm/memory_hotplug: restrict CONFIG_MEMORY_HOTPLUG to 64 bit (David Hildenbrand) [1997803] - mm/memory_hotplug: remove CONFIG_MEMORY_HOTPLUG_SPARSE (David Hildenbrand) [1997803] - mm/memory_hotplug: remove CONFIG_X86_64_ACPI_NUMA dependency from CONFIG_MEMORY_HOTPLUG (David Hildenbrand) [1997803] - memory: remove unused CONFIG_MEM_BLOCK_SIZE (David Hildenbrand) [1997803] - mm/memory_hotplug: disable the functionality for 32b (David Hildenbrand) [1997803] - include/linux/memory.h: drop fields 'hw' and 'phys_callback' from struct memory_block (David Hildenbrand) [1997803] - iommu/vt-d: Fix PCI bus rescan device hot add (Jerry Snitselaar) [2101591] - iommu/vt-d: Fix RID2PASID setup/teardown failure (Jerry Snitselaar) [2101591]- cifs: support share failover when remounting (Ronnie Sahlberg) [2095258] - cifs: avoid starvation when refreshing dfs cache (Ronnie Sahlberg) [2095258] - cifs: fix path comparison and hash calc (Ronnie Sahlberg) [2095258] - cifs: handle different charsets in dfs cache (Ronnie Sahlberg) [2095258] - spi: amd: Limit max transfer and message size (Sudheesh Mavila) [2047996] - redhat/configs: enable CONFIG_SPI_AMD for x86_64 (Sudheesh Mavila) [2047996] - spi: amd: Fix building without ACPI enabled (Sudheesh Mavila) [2047996] - spi: amd: Add support for version AMDI0062 (Sudheesh Mavila) [2047996] - spi: amd: Remove needless rom_addr variable (Sudheesh Mavila) [2047996] - spi: amd: Use iopoll for busy waiting (Sudheesh Mavila) [2047996] - spi: amd: Don't wait for a write-only transfer to finish (Sudheesh Mavila) [2047996] - spi: amd: Remove unneeded variable (Sudheesh Mavila) [2047996] - spi: amd: Refactor amd_spi_busy_wait (Sudheesh Mavila) [2047996] - spi: amd: Refactor code to use less spi_master_get_devdata (Sudheesh Mavila) [2047996] - spi: amd: Use devm_platform_ioremap_resource() in amd_spi_probe (Sudheesh Mavila) [2047996] - spi: spi-amd: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Sudheesh Mavila) [2047996] - spi: amd: Drop superfluous member from struct amd_spi (Sudheesh Mavila) [2047996] - spi: amd: Fix refcount underflow on remove (Sudheesh Mavila) [2047996] - spi: amd: Drop duplicate driver data assignments (Sudheesh Mavila) [2047996] - spi: amd: Pass probe errors back to driver core (Sudheesh Mavila) [2047996] - spi: amd: Fix duplicate iounmap in error path (Sudheesh Mavila) [2047996] - spi: spi-amd: Fix a NULL vs IS_ERR() check in amd_spi_probe() (Sudheesh Mavila) [2047996] - spi: spi-amd: fix warning (Sudheesh Mavila) [2047996] - spi: spi-amd: Add AMD SPI controller driver support (Sudheesh Mavila) [2047996] - selftests/tc-testings: Be compatible with newer tc output (Hangbin Liu) [2100322] - selftests/net: enable lo.accept_local in psock_snd test (Hangbin Liu) [2100322] - selftests/net: Use kselftest skip code for skipped tests (Hangbin Liu) [2100322] - Bluetooth: SCO: Fix sco_send_frame returning skb->len (Gopal Tiwari) [1984641] - Bluetooth: Add bt_skb_sendmsg helper (Gopal Tiwari) [1984641] - Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg (Gopal Tiwari) [1984641] - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() (Gopal Tiwari) [1984641] - platform/mellanox: mlxbf-pmc: Fix an IS_ERR() vs NULL bug in mlxbf_pmc_map_counters (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-lc: fix error code in mlxreg_lc_create_static_devices() (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-lc: Add initial support for Nvidia line card devices (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-io: Extend number of hwmon attributes (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-hotplug: Extend logic for hotplug devices operations (Mark Langsdorf) [2068297] - platform_data/mlxreg: Add new type to support modular systems (Mark Langsdorf) [2068297] - platform/mellanox: mlxreg-io: Fix read access of n-bytes size attributes (Mark Langsdorf) [2068297] - platform/mellanox: mlxbf-pmc: fix kernel-doc notation (Mark Langsdorf) [2068297] - platform/mellanox: Typo fix in the file mlxbf-bootctl.c (Mark Langsdorf) [2068297] - redhat/configs: Support QAT devices for x86 only (Vladis Dronov) [2040724] - crypto: qat - expose device config through sysfs for 4xxx (Vladis Dronov) [2040724] - crypto: qat - relocate and rename adf_sriov_prepare_restart() (Vladis Dronov) [2040724] - crypto: qat - change behaviour of adf_cfg_add_key_value_param() (Vladis Dronov) [2040724] - crypto: qat - expose device state through sysfs for 4xxx (Vladis Dronov) [2040724] - crypto: qat - Removes the x86 dependency on the QAT drivers (Vladis Dronov) [2040724] - crypto: qat - replace get_current_node() with numa_node_id() (Vladis Dronov) [2040724] - crypto: qat - add support for 401xx devices (Vladis Dronov) [2040724] - crypto: qat - re-enable registration of algorithms (Vladis Dronov) [2040724] - crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag (Vladis Dronov) [2040724] - crypto: qat - add param check for DH (Vladis Dronov) [2040724] - crypto: qat - add param check for RSA (Vladis Dronov) [2040724] - crypto: qat - remove dma_free_coherent() for DH (Vladis Dronov) [2040724] - crypto: qat - remove dma_free_coherent() for RSA (Vladis Dronov) [2040724] - crypto: qat - fix memory leak in RSA (Vladis Dronov) [2040724] - crypto: qat - add backlog mechanism (Vladis Dronov) [2040724] - crypto: qat - refactor submission logic (Vladis Dronov) [2040724] - crypto: qat - use pre-allocated buffers in datapath (Vladis Dronov) [2040724] - crypto: qat - set to zero DH parameters before free (Vladis Dronov) [2040724] - crypto: qat - Fix unsigned function returning negative constant (Vladis Dronov) [2040724] - crypto: qat - remove line wrapping for pfvf_ops functions (Vladis Dronov) [2040724] - crypto: qat - use u32 variables in all GEN4 pfvf_ops (Vladis Dronov) [2040724] - crypto: qat - replace disable_vf2pf_interrupts() (Vladis Dronov) [2040724] - crypto: qat - leverage the GEN2 VF mask definiton (Vladis Dronov) [2040724] - crypto: qat - rework the VF2PF interrupt handling logic (Vladis Dronov) [2040724] - crypto: qat - fix off-by-one error in PFVF debug print (Vladis Dronov) [2040724] - crypto: qat - fix wording and formatting in code comment (Vladis Dronov) [2040724] - crypto: qat - test PFVF registers for spurious interrupts on GEN4 (Vladis Dronov) [2040724] - crypto: qat - add check for invalid PFVF protocol version 0 (Vladis Dronov) [2040724] - crypto: qat - add missing restarting event notification in VFs (Vladis Dronov) [2040724] - crypto: qat - remove unnecessary tests to detect PFVF support (Vladis Dronov) [2040724] - crypto: qat - remove unused PFVF stubs (Vladis Dronov) [2040724] - crypto: qat - remove unneeded braces (Vladis Dronov) [2040724] - crypto: qat - fix ETR sources enabled by default on GEN2 devices (Vladis Dronov) [2040724] - crypto: qat - set COMPRESSION capability for DH895XCC (Vladis Dronov) [2040724] - crypto: qat - set CIPHER capability for DH895XCC (Vladis Dronov) [2040724] - crypto: qat - stop using iommu_present() (Vladis Dronov) [2040724] - crypto: qat - fix initialization of pfvf rts_map_msg structures (Vladis Dronov) [2040724] - crypto: qat - fix initialization of pfvf cap_msg structures (Vladis Dronov) [2040724] - crypto: qat - remove unneeded assignment (Vladis Dronov) [2040724] - crypto: qat - disable registration of algorithms (Vladis Dronov) [2040724] - crypto: qat - enable power management for QAT GEN4 (Vladis Dronov) [2040724] - crypto: qat - move and rename GEN4 error register definitions (Vladis Dronov) [2040724] - crypto: qat - add misc workqueue (Vladis Dronov) [2040724] - crypto: qat - don't cast parameter in bit operations (Vladis Dronov) [2040724] - crypto: qat - fix access to PFVF interrupt registers for GEN4 (Vladis Dronov) [2040724] - crypto: qat - fix a signedness bug in get_service_enabled() (Vladis Dronov) [2040724] - dlm: fix missing lkb refcount handling (Alexander Aring) [2084606] - scsi: storvsc: Fix unsigned comparison to zero (Mohammed Gamal) [2020774] - scsi: storvsc: Fix validation for unsolicited incoming packets (Mohammed Gamal) [2020774] - scsi: storvsc: Fix storvsc_queuecommand() memory leak (Mohammed Gamal) [2020774] - x86/kvm: Add kexec support for SEV Live Migration. (Mohammed Gamal) [2018614] - x86/kvm: Add guest support for detecting and enabling SEV Live Migration feature. (Mohammed Gamal) [2018614] - mm: x86: Invoke hypercall when page encryption status is changed (Mohammed Gamal) [2018614] - hv_netvsc: Fix potential dereference of NULL pointer (Mohammed Gamal) [2086611] - hv_netvsc: Add support for XDP_REDIRECT (Mohammed Gamal) [2086611] - hv_netvsc: Print value of invalid ID in netvsc_send_{completion,tx_complete}() (Mohammed Gamal) [2086611] - net: hyperv: remove use of bpf_op_t (Mohammed Gamal) [2086611] - hv_netvsc: Add check for kvmalloc_array (Mohammed Gamal) [2086611] - net: netvsc: remove break after return (Mohammed Gamal) [2086611] - hv_netvsc: Use bitmap_zalloc() when applicable (Mohammed Gamal) [2086611] - SMB3: EBADF/EIO errors in rename/open caused by race condition in smb2_compound_op (Ronnie Sahlberg) [2108871] - vsock/virtio: enable VQs early on probe (Stefano Garzarella) [2107594] - vsock/virtio: initialize vdev->priv before using VQs (Stefano Garzarella) [2107594] - vsock: each transport cycles only on its own sockets (Stefano Garzarella) [2107594] - vhost/vsock: don't check owner in vhost_vsock_stop() while releasing (Stefano Garzarella) [2107594] - vsock: remove vsock from connected table when connect is interrupted by a signal (Stefano Garzarella) [2107594] - ipv6: take care of disable_policy when restoring routes (Andrea Claudi) [2103894] - tools/testing/nvdimm: Fix security_init() symbol collision (Jeff Moyer) [2096791] - redhat: make kernel-devel pkgs Requires elfutils and gcc (Jarod Wilson) [1701282] - xhci: Fix null pointer dereference in resume if xhci has only one roothub (Dean Nelson) [2061791] - usb: dwc3: gadget: Move null pinter check to proper place (Dean Nelson) [2061791] - xhci: Don't defer primary roothub registration if there is only one roothub (Dean Nelson) [2061791] - USB: serial: pl2303: fix type detection for odd device (Dean Nelson) [2061791] - media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init (Dean Nelson) [2061791] - usb: xhci-mtk: remove bandwidth budget table (Dean Nelson) [2061791] - usb: xhci-mtk: fix fs isoc's transfer error (Dean Nelson) [2061791] - xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI (Dean Nelson) [2061791] - xhci: prevent U2 link power state if Intel tier policy prevented U1 (Dean Nelson) [2061791] - xhci: use generic command timer for stop endpoint commands. (Dean Nelson) [2061791] - usb: host: xhci-plat: omit shared hcd if either root hub has no ports (Dean Nelson) [2061791] - usb: host: xhci-plat: prepare operation w/o shared hcd (Dean Nelson) [2061791] - usb: host: xhci-plat: create shared hcd after having added main hcd (Dean Nelson) [2061791] - xhci: prepare for operation w/o shared hcd (Dean Nelson) [2061791] - xhci: factor out parts of xhci_gen_setup() (Dean Nelson) [2061791] - xhci: Set HCD flag to defer primary roothub registration (Dean Nelson) [2061791] - usb: core: hcd: Add support for deferring roothub registration (Dean Nelson) [2061791] - thunderbolt: Fix buffer allocation of devices with no DisplayPort adapters (Dean Nelson) [2061791] - media: uvcvideo: Fix bit overflow in uvc_probe_video (Dean Nelson) [2061791] - media: uvcvideo: Fix missing check to determine if element is found in list (Dean Nelson) [2061791] - usb: typec: tcpci: Don't skip cleanup in .remove() on error (Dean Nelson) [2061791] - usb: cdc-wdm: fix reading stuck on device close (Dean Nelson) [2061791] - thunderbolt: Ignore port locked error in tb_port_wait_for_link_width() (Dean Nelson) [2061791] - thunderbolt: Add debug logging when lane is enabled/disabled (Dean Nelson) [2061791] - usb: dwc3: gadget: Return proper request status (Dean Nelson) [2061791] - usb: typec: mux: Check dev_set_name() return value (Dean Nelson) [2061791] - usb: dwc3: pci: Fix pm_runtime_get_sync() error checking (Dean Nelson) [2061791] - usb: dwc3: gadget: Replace list_for_each_entry_safe() if using giveback (Dean Nelson) [2061791] - usb: dwc3: core: Only handle soft-reset in DCTL (Dean Nelson) [2061791] - usb: dwc3: Try usb-role-switch first in dwc3_drd_init (Dean Nelson) [2061791] - usb: dwc3: core: Fix tx/rx threshold settings (Dean Nelson) [2061791] - USB: storage: karma: fix rio_karma_init return (Dean Nelson) [2061791] - xhci: Enable runtime PM on second Alderlake controller (Dean Nelson) [2061791] - usb: misc: fix improper handling of refcount in uss720_probe() (Dean Nelson) [2061791] - usb: typec: ucsi: Fix role swapping (Dean Nelson) [2061791] - usb: typec: ucsi: Fix reuse of completion structure (Dean Nelson) [2061791] - thunderbolt: Use different lane for second DisplayPort tunnel (Dean Nelson) [2061791] - thunderbolt: Dump path config space entries during discovery (Dean Nelson) [2061791] - thunderbolt: Use decimal number with port numbers (Dean Nelson) [2061791] - xhci: increase usb U3 -> U0 link resume timeout from 100ms to 500ms (Dean Nelson) [2061791] - xhci: stop polling roothubs after shutdown (Dean Nelson) [2061791] - USB: Fix xhci event ring dequeue pointer ERDP update issue (Dean Nelson) [2061791] - USB: storage: ums-realtek: fix error code in rts51x_read_mem() (Dean Nelson) [2061791] - usb: early: xhci-dbc: Fix xdbc number parsing (Dean Nelson) [2061791] - usb: early: xhci-dbc: Remove duplicate keep parsing (Dean Nelson) [2061791] - USB: serial: pl2303: fix GS type detection (Dean Nelson) [2061791] - usb: host: xhci: Remove some unnecessary return value initializations (Dean Nelson) [2061791] - usb: host: xhci: add blank line in xhci_halt() (Dean Nelson) [2061791] - usb: host: xhci: update hci_version operation in xhci_gen_setup() (Dean Nelson) [2061791] - usb: host: xhci: fix a comment typo in xhci_mem_init() (Dean Nelson) [2061791] - usb: host: xhci: use ffs() in xhci_mem_init() (Dean Nelson) [2061791] - xhci: fix runtime PM imbalance in USB2 resume (Dean Nelson) [2061791] - xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx() (Dean Nelson) [2061791] - xhci: fix garbage USBSTS being logged in some cases (Dean Nelson) [2061791] - xhci: make xhci_handshake timeout for xhci_reset() adjustable (Dean Nelson) [2061791] - xhci: omit mem read just after allocation of trb (Dean Nelson) [2061791] - Revert "USB: serial: ch341: add new Product ID for CH341A" (Dean Nelson) [2061791] - usb: xhci: fix minmax.cocci warnings (Dean Nelson) [2061791] - usb: host: xhci: drop redundant checks (Dean Nelson) [2061791] - xhci: Allocate separate command structures for each LPM command (Dean Nelson) [2061791] - xhci: dbgtty: use IDR to support several dbc instances. (Dean Nelson) [2061791] - xhci: dbc: Don't call dbc_tty_init() on every dbc tty probe (Dean Nelson) [2061791] - xhci: dbc: Rename xhci_dbc_init and xhci_dbc_exit (Dean Nelson) [2061791] - xhci: dbc: create and remove dbc structure in dbgtty driver. (Dean Nelson) [2061791] - xhci: dbc: refactor xhci_dbc_init() (Dean Nelson) [2061791] - usb: dwc3: pci: Fix Bay Trail phy GPIO mappings (Dean Nelson) [2061791] - xhci: Prevent futile URB re-submissions due to incorrect return value. (Dean Nelson) [2061791] - xhci: re-initialize the HC during resume if HCE was set (Dean Nelson) [2061791] - usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail (Dean Nelson) [2061791] - usb: dwc3: pci: add support for the Intel Raptor Lake-S (Dean Nelson) [2061791] - usb: xhci-mtk: add support ip-sleep wakeup for mt8195 (Dean Nelson) [2061791] - usb: dwc3: gadget: Prevent core from processing stale TRBs (Dean Nelson) [2061791] - thunderbolt: Replace acpi_bus_get_device() (Dean Nelson) [2061791] - thunderbolt: Add internal xHCI connect flows for Thunderbolt 3 devices (Dean Nelson) [2061791] - thunderbolt: Add missing device ID to tb_switch_is_alpine_ridge() (Dean Nelson) [2061791] - thunderbolt: Disable LTTPR on Intel Titan Ridge (Dean Nelson) [2061791] - usb: ulpi: Call of_node_put correctly (Dean Nelson) [2061791] - usb: ulpi: Move of_node_put to ulpi_dev_release (Dean Nelson) [2061791] - usb: xhci-mtk: Use struct_size() helper in create_sch_ep() (Dean Nelson) [2061791] - usb: common: ulpi: Fix crash in ulpi_match() (Dean Nelson) [2061791] - usb: typec: tcpm: Do not disconnect when receiving VSAFE0V (Dean Nelson) [2061791] - usb: typec: tcpm: Do not disconnect while receiving VBUS off (Dean Nelson) [2061791] - xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set. (Dean Nelson) [2061791] - usb: typec: tcpci: don't touch CC line if it's Vconn source (Dean Nelson) [2061791] - thunderbolt: Remove useless DMA-32 fallback configuration (Dean Nelson) [2061791] - media: uvcvideo: Support devices that report an OT as an entity source (Dean Nelson) [2061791] - Revert "media: uvcvideo: Support devices that report an OT as an entity source" (Dean Nelson) [2061791] - thunderbolt: Add module parameter for CLx disabling (Dean Nelson) [2061791] - thunderbolt: Enable CL0s for Intel Titan Ridge (Dean Nelson) [2061791] - thunderbolt: Rename Intel TB_VSE_CAP_IECS capability (Dean Nelson) [2061791] - thunderbolt: Implement TMU time disruption for Intel Titan Ridge (Dean Nelson) [2061791] - thunderbolt: Move usb4_switch_wait_for_bit() to switch.c (Dean Nelson) [2061791] - thunderbolt: Add CL0s support for USB4 routers (Dean Nelson) [2061791] - thunderbolt: Add TMU uni-directional mode (Dean Nelson) [2061791] - xhci: use max() to make code cleaner (Dean Nelson) [2061791] - usb: ftdi-elan: fix memory leak on device disconnect (Dean Nelson) [2061791] - Revert "usb: early: convert to readl_poll_timeout_atomic()" (Dean Nelson) [2061791] - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer (Dean Nelson) [2061791] - thunderbolt: Check return value of kmemdup() in icm_handle_event() (Dean Nelson) [2061791] - media: dw2102: Fix use after free (Dean Nelson) [2061791] - USB: serial: cp210x: fix CP2105 GPIO registration (Dean Nelson) [2061791] - usb: xhci-mtk: fix list_del warning when enable list debug (Dean Nelson) [2061791] - usb: core: config: fix validation of wMaxPacketValue entries (Dean Nelson) [2061791] - xhci: avoid race between disable slot command and host runtime suspend (Dean Nelson) [2061791] - xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending (Dean Nelson) [2061791] - thunderbolt: Do not dereference fwnode in struct device (Dean Nelson) [2061791] - thunderbolt: Add debug logging of DisplayPort resource allocation (Dean Nelson) [2061791] - thunderbolt: Do not program path HopIDs for USB4 routers (Dean Nelson) [2061791] - thunderbolt: Do not allow subtracting more NFC credits than configured (Dean Nelson) [2061791] - thunderbolt: Runtime resume USB4 port when retimers are scanned (Dean Nelson) [2061791] - thunderbolt: Tear down existing tunnels when resuming from hibernate (Dean Nelson) [2061791] - thunderbolt: Runtime PM activate both ends of the device link (Dean Nelson) [2061791] - thunderbolt: xdomain: Avoid potential stack OOB read (Dean Nelson) [2061791] - media: uvcvideo: fix division by zero at stream start (Dean Nelson) [2061791] - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect (Dean Nelson) [2061791] - xhci: Fix commad ring abort, write all 64 bits to CRCR register. (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip reading GEVNTSIZn (Dean Nelson) [2061791] - usb: dwc3: gadget: Ignore Update Transfer cmd params (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip checking Update Transfer status (Dean Nelson) [2061791] - usb: hub: Fix locking issues with address0_mutex (Dean Nelson) [2061791] - media: dib0700: Only touch one bit when start/stop an adapter (Dean Nelson) [2061791] - media: dib0700: cleanup start/stop streaming logic (Dean Nelson) [2061791] - media: dib0700: fix undefined behavior in tuner shutdown (Dean Nelson) [2061791] - media: s2255: fix control-message timeouts (Dean Nelson) [2061791] - media: pvrusb2: fix control-message timeouts (Dean Nelson) [2061791] - media: flexcop-usb: fix control-message timeouts (Dean Nelson) [2061791] - usb: hub: Fix usb enumeration issue due to address0 race (Dean Nelson) [2061791] - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts (Dean Nelson) [2061791] - usb: dwc3: gadget: Fix null pointer exception (Dean Nelson) [2061791] - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer (Dean Nelson) [2061791] - usb: dwc3: gadget: Ignore NoStream after End Transfer (Dean Nelson) [2061791] - usb: xhci-mtk: fix random remote wakeup (Dean Nelson) [2061791] - usb: xhci-mtk: remove unnecessary error check (Dean Nelson) [2061791] - USB: serial: keyspan: fix memleak on probe errors (Dean Nelson) [2061791] - USB: iowarrior: fix control-message timeouts (Dean Nelson) [2061791] - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized (Dean Nelson) [2061791] - usb: dwc3: gadget: Change to dev_dbg() when queuing to inactive gadget/ep (Dean Nelson) [2061791] - xhci: Enable trust tx length quirk for Fresco FL11 USB controller (Dean Nelson) [2061791] - xhci: Fix command ring pointer corruption while aborting a command (Dean Nelson) [2061791] - USB: xhci: dbc: fix tty registration race (Dean Nelson) [2061791] - xhci: add quirk for host controllers that don't update endpoint DCS (Dean Nelson) [2061791] - xhci: guard accesses to ep_state in xhci_endpoint_reset() (Dean Nelson) [2061791] - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() (Dean Nelson) [2061791] - USB: cdc-acm: fix break reporting (Dean Nelson) [2061791] - USB: cdc-acm: fix racy tty buffer accesses (Dean Nelson) [2061791] - usb: typec: tcpm: handle SRC_STARTUP state if cc changes (Dean Nelson) [2061791] - usb: typec: tcpci: don't handle vSafe0V event if it's not enabled (Dean Nelson) [2061791] - usb: xhci-mtk: use xhci_dbg() to print log (Dean Nelson) [2061791] - media: mxl111sf: change mutex_init() location (Dean Nelson) [2061791] - media: tm6000: Avoid card name truncation (Dean Nelson) [2061791] - media: gspca: Limit frame size to sizeimage. (Dean Nelson) [2061791] - media: uvcvideo: Don't spam the log in uvc_ctrl_restore_values() (Dean Nelson) [2061791] - media: uvcvideo: Increase the size of UVC_METADATA_BUF_SIZE (Dean Nelson) [2061791] - media: uvcvideo: Return -EIO for control errors (Dean Nelson) [2061791] - media: uvcvideo: Remove unused including (Dean Nelson) [2061791] - media: m5602_ov7660: remove the repeated declaration (Dean Nelson) [2061791] - media: dvb-usb: fix ununit-value in az6027_rc_query (Dean Nelson) [2061791] - thunderbolt: Fix -Wrestrict warning (Dean Nelson) [2061791] - USB: serial: cp210x: fix dropped characters with CP2102 (Dean Nelson) [2061791] - usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind (Dean Nelson) [2061791] - USB: serial: option: remove duplicate USB device ID (Dean Nelson) [2061791] - USB: serial: mos7840: remove duplicated 0xac24 device ID (Dean Nelson) [2061791] - USB: cdc-acm: fix minor-number release (Dean Nelson) [2061791] - usb: dwc3: reference clock period configuration (Dean Nelson) [2061791] - usb: xhci-mtk: allow bandwidth table rollover (Dean Nelson) [2061791] - usb: xhci-mtk: modify the SOF/ITP interval for mt8195 (Dean Nelson) [2061791] - usb: xhci-mtk: add a member of num_esit (Dean Nelson) [2061791] - usb: xhci-mtk: check boundary before check tt (Dean Nelson) [2061791] - usb: xhci-mtk: update fs bus bandwidth by bw_budget_table (Dean Nelson) [2061791] - usb: xhci-mtk: support option to disable usb2 ports (Dean Nelson) [2061791] - usb: xhci-mtk: fix use-after-free of mtk->hcd (Dean Nelson) [2061791] - usb: dwc3: pci: add support for AMD's newer generation platform. (Dean Nelson) [2061791] - xhci: Add bus number to some debug messages (Dean Nelson) [2061791] - xhci: Add additional dynamic debug to follow URBs in cancel and error cases. (Dean Nelson) [2061791] - Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set" (Dean Nelson) [2061791] - xhci: Fix failure to give back some cached cancelled URBs. (Dean Nelson) [2061791] - xhci: fix even more unsafe memory usage in xhci tracing (Dean Nelson) [2061791] - xhci: fix unsafe memory usage in xhci tracing (Dean Nelson) [2061791] - usb: typec: tcpm: Support non-PD mode (Dean Nelson) [2061791] - USB: serial: cp210x: determine fw version for CP2105 and CP2108 (Dean Nelson) [2061791] - USB: serial: cp210x: clean up type detection (Dean Nelson) [2061791] - USB: serial: cp210x: clean up set-chars request (Dean Nelson) [2061791] - USB: serial: cp210x: clean up control-request timeout (Dean Nelson) [2061791] - USB: serial: cp210x: fix flow-control error handling (Dean Nelson) [2061791] - USB: serial: cp210x: fix control-characters error handling (Dean Nelson) [2061791] - tty: drop put_tty_driver (Dean Nelson) [2061791] - media: dvb-usb: fix uninit-value in vp702x_read_mac_addr (Dean Nelson) [2061791] - media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init (Dean Nelson) [2061791] - usb: renesas-xhci: Remove renesas_xhci_pci_exit() (Dean Nelson) [2061791] - usb: dwc3: Resize TX FIFOs to meet EP bursting requirements (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: fix UAF (Dean Nelson) [2061791] - usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable (Dean Nelson) [2061791] - usb: dwc3: gadget: Set gadget_max_speed when set ssp_rate (Dean Nelson) [2061791] - usb: dwc3: gadget: Prevent EP queuing while stopping transfers (Dean Nelson) [2061791] - media: lmedm04: Fix misuse of comma (Dean Nelson) [2061791] - media: tm6000: Fix memleak in tm6000_start_stream (Dean Nelson) [2061791] - usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup (Dean Nelson) [2061791] - memstick: Skip allocating card when removing host (Dean Nelson) [2061791] - USB: Replace zero-length array with flexible-array member (Dean Nelson) [2061791] - USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd (Dean Nelson) [2061791] - Revert "[usb] USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd" (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Support runtime power management (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Use ms_dev() helper (Dean Nelson) [2061791] - memstick: Prevent memstick host from getting runtime suspended during card detection (Dean Nelson) [2061791] - misc: rtsx_usb: Use USB remote wakeup signaling for card insertion detection (Dean Nelson) [2061791] - memstick: rtsx_usb_ms: Add missing pm_runtime_disable() in probe function (Dean Nelson) [2061791]- RDMA/qedr: Fix reporting QP timeout attribute (Kamal Heib) [2083620] - NFSD: Handle COPYer - Not suppored in RHEL8 (Benjamin Coddington) [2108628] - NFSD add ca_source_server<> to COPY (Benjamin Coddington) [2108628] - NFS NFSD: defining nl4_servers structure needed by both (Benjamin Coddington) [2108628] - fix backport powerpc/uaccess: get rid of small constant size cases in raw_copy_{to,from}_user() (Diego Domingos) [2106984] - bpf: Enable bpf_ktime_get_coarse_ns helper (Viktor Malik) [2105133] - kernel/resource: Introduce request_mem_region_muxed() (Sudheesh Mavila) [2047999] - i2c: piix4: Enable EFCH MMIO for Family 17h+ (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support for SMBus port select (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support to SMBus base address detect (Sudheesh Mavila) [2047999] - i2c: piix4: Add EFCH MMIO support to region request and release (Sudheesh Mavila) [2047999] - i2c: piix4: Move SMBus port selection into function (Sudheesh Mavila) [2047999] - i2c: piix4: Move SMBus controller base address detect into function (Sudheesh Mavila) [2047999] - i2c: piix4: Move port I/O region request/release code into functions (Sudheesh Mavila) [2047999] - i2c: piix4: Replace hardcoded memory map size with a #define (Sudheesh Mavila) [2047999] - i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets (Sudheesh Mavila) [2047999] - i2c: piix4: Add ACPI support (Sudheesh Mavila) [2047999] - i2c: piix4: Fix probing of reserved ports on AMD Family 16h Model 30h (Sudheesh Mavila) [2047999] - i2c: piix4: Fix port selection for AMD Family 16h Model 30h (Sudheesh Mavila) [2047999] - i2c-piix4: Add Hygon Dhyana SMBus support (Sudheesh Mavila) [2047999] - tracing: Remove WARN_ON in start_thread() (Jerome Marchand) [2090967] - net: usb: Fix spelling mistakes (José Ignacio Tornos Martínez) [1984353] - net: usb: cdc_ether: record speed in status method (José Ignacio Tornos Martínez) [1984353] - net: usb: usbnet: add method for reporting speed without MII (José Ignacio Tornos Martínez) [1984353] - e1000e: Fix possible overflow in LTR decoding (Ken Cox) [2037965] - e1000e: Print PHY register address when MDI read/write fails (Ken Cox) [2037965] - e1000e: Correct NVM checksum verification flow (Ken Cox) [2037965] - e1000e: Fix possible HW unit hang after an s0ix exit (Ken Cox) [2037965 2049952] - e1000e: Handshake with CSME starts from ADL platforms (Ken Cox) [2037965 2049952] - e1000e: Separate ADP board type from TGP (Ken Cox) [2037965 2049952] - e1000e: Remove useless DMA-32 fallback configuration (Ken Cox) [2037965] - e1000e: Remove redundant statement (Ken Cox) [2037965] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2037965] - net: e1000e: solve insmod 'Unknown symbol mutex_lock' error (Ken Cox) [2037965] - RDMA/irdma: Add SW mechanism to generate completions on error (Kamal Heib) [2100316] - RDMA/irdma: Remove the redundant variable (Kamal Heib) [2100316] - RDMA/irdma: Add support for DSCP (Kamal Heib) [2100316] - RDMA/irdma: Use irq_update_affinity_hint() (Kamal Heib) [2100316] - RDMA/irdma: Set protocol based on PF rdma_mode flag (Kamal Heib) [2100316 2096481] - virtio-ring: fix DMA metadata flags (Cindy Lu) [1969742] - virtio_ring: fix typos in vring_desc_extra (Jason Wang) [1969742] - virtio-ring: store DMA metadata in desc_extra for split virtqueue (Jason Wang) [1969742] - virtio: use err label in __vring_new_virtqueue() (Jason Wang) [1969742] - virtio_ring: introduce virtqueue_desc_add_split() (Jason Wang) [1969742] - virtio_ring: secure handling of mapping errors (Jason Wang) [1969742] - virtio-ring: factor out desc_extra allocation (Jason Wang) [1969742] - virtio_ring: rename vring_desc_extra_packed (Jason Wang) [1969742] - virtio-ring: maintain next in extra state for packed virtqueue (Jason Wang) [1969742] - drivers/base: fix userspace break from using bin_attributes for cpumap and cpulist (Phil Auld) [2089715] - rpminspect: disable abidiff scanning (Jarod Wilson)- Netvsc: Call hv_unmap_memory() in the netvsc_device_remove() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Release cpu lock in error case (Mohammed Gamal) [2086613] - Drivers: hv: Fix syntax errors in comments (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Don't assign VMbus channel interrupts to isolated CPUs (Mohammed Gamal) [2086613] - hv_balloon: Fix balloon_probe() and balloon_remove() error handling (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: fix typo in comment (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Remove support for Hyper-V 2008 and Hyper-V 2008R2/Win7 (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Refactor the ring-buffer iterator functions (Mohammed Gamal) [2086613] - hv_sock: Copy packets sent by Hyper-V out of the ring buffer (Mohammed Gamal) [2086613] - hv_sock: Check hv_pkt_iter_first_raw()'s return value (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Accept hv_sock offers in isolated guests (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce {lock,unlock}_requestor() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce vmbus_request_addr_match() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Introduce vmbus_sendpacket_getid() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix handling of messages with transaction ID of zero (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Add VMbus IMC device to unsupported list (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb() (Mohammed Gamal) [2086613] - Drivers: hv: balloon: Disable balloon and hot-add accordingly (Mohammed Gamal) [2086613] - Drivers: hv: balloon: Support status report for larger page sizes (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix potential crash on module unload (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix initialization of device object in vmbus_device_register() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Deactivate sysctl_record_panic_msg by default in isolated guests (Mohammed Gamal) [2086613] - drivers: hv: log when enabling crash_kexec_post_notifiers (Mohammed Gamal) [2086613] - Drivers: hv: utils: Make use of the helper macro LIST_HEAD() (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Rework use of DMA_BIT_MASK(64) (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj (Mohammed Gamal) [2086613] - Drivers: hv: Compare cpumasks and not their weights in init_vp_index() (Mohammed Gamal) [2086613] - Drivers: hv: Rename 'alloced' to 'allocated' (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Use struct_size() helper in kmalloc() (Mohammed Gamal) [2086613] - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Initialize request offers message for Isolation VM (Mohammed Gamal) [2086613] - Drivers: hv: Fix definition of hypercall input & output arg variables (Mohammed Gamal) [2086613] - net: netvsc: Add Isolation VM support for netvsc driver (Mohammed Gamal) [2086613] - scsi: storvsc: Add Isolation VM support for storvsc driver (Mohammed Gamal) [2086613] - Drivers: hv : vmbus: Adding NULL pointer check (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Remove unused code to check for subchannels (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Initialize VMbus ring buffer for Isolation VM (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Add SNP support for VMbus channel initiate message (Mohammed Gamal) [2086613] - Drivers: hv: vmbus: Mark vmbus ring buffer visible to host in Isolation VM (Mohammed Gamal) [2086613] - SUNRPC: Don't leak sockets in xs_local_connect() (Jeffrey Layton) [2089429] - SUNRPC: clean up some inconsistent indenting (Jeffrey Layton) [2089429] - SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() (Jeffrey Layton) [2089429] - SUNRPC: Don't call connect() more than once on a TCP socket (Jeffrey Layton) [2089429] - net: openvswitch: fix misuse of the cached connection on tuple changes (Timothy Redaelli) [2099213] - sfc: fix considering that all channels have TX queues (Íñigo Huguet) [1851823] - sfc: fix wrong tx channel offset with efx_separate_tx_channels (Íñigo Huguet) [1851823] - intel/igb:fix repeated words in comments (Corinna Vinschen) [2037959] - igb: remove unexpected word "the" (Corinna Vinschen) [2037959] - igb: Make DMA faster when CPU is active on the PCIe link (Corinna Vinschen) [2037959] - igb: fix a use-after-free issue in igb_clean_tx_ring (Corinna Vinschen) [2037959] - igb: Remove duplicate defines (Corinna Vinschen) [2037959] - igb: skip phy status check where unavailable (Corinna Vinschen) [2037959] - igb: Convert kmap() to kmap_local_page() (Corinna Vinschen) [2037959] - igb: zero hwtstamp by default (Corinna Vinschen) [2037959] - igb: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037959] - PCI: Work around Intel I210 ROM BAR overlap defect (Corinna Vinschen) [2037959] - igb: support EXTTS on 82580/i354/i350 (Corinna Vinschen) [2037959] - igb: support PEROUT on 82580/i354/i350 (Corinna Vinschen) [2037959] - igb: move PEROUT and EXTTS isr logic to separate functions (Corinna Vinschen) [2037959] - igb: move SDP config initialization to separate function (Corinna Vinschen) [2037959] - igb: switch to napi_build_skb() (Corinna Vinschen) [2037959] - igb: remove never changed variable `ret_val' (Corinna Vinschen) [2037959] - NFSv4: Add an fattr allocation to _nfs4_discover_trunking() (Scott Mayhew) [2096393] - sunrpc: set cl_max_connect when cloning an rpc_clnt (Scott Mayhew) [2096393] - NFSv4.1 mark qualified async operations as MOVEABLE tasks (Scott Mayhew) [2096393] - powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address (Desnes A. Nunes do Rosario) [2095041] - audit: free module name (Richard Guy Briggs) [2100259] - bfq: fix blkio cgroup leakage v4 (Ming Lei) [2093206] - scsi: scsi_dh_alua: Properly handle the ALUA transitioning state (Ewan D. Milne) [1992870] - mm: sparse: remove __section_nr() function (Mark Langsdorf) [2067280] - mm: sparse: pass section_nr to find_memory_block (Mark Langsdorf) [2067280] - mm: sparse: pass section_nr to section_mark_present (Mark Langsdorf) [2067280] - headers/uninline: Uninline single-use function: kobject_has_children() (Mark Langsdorf) [2067280] - arch_topology: Do not set llc_sibling if llc_id is invalid (Mark Langsdorf) [2067280] - topology: make core_mask include at least cluster_siblings (Mark Langsdorf) [2067280] - regmap: allow a defined reg_base to be added to every address (Mark Langsdorf) [2067280] - regmap: add configurable downshift for addresses (Mark Langsdorf) [2067280] - drivers/base/dd.c : Remove the initial value of the global variable (Mark Langsdorf) [2067280] - devres: fix typos in comments (Mark Langsdorf) [2067280] - base: soc: Make soc_device_match() simpler and easier to read (Mark Langsdorf) [2067280] - driver core: Refactor sysfs and drv/bus remove hooks (Mark Langsdorf) [2067280] - driver core: Refactor multiple copies of device cleanup (Mark Langsdorf) [2067280] - arch_topology: obtain cpu capacity using information from CPPC (Mark Langsdorf) [2067280] - PM: core: keep irq flags in device_pm_check_callbacks() (Mark Langsdorf) [2067280] - PM: sleep: Add device name to suspend_report_result() (Mark Langsdorf) [2067280] - PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend() (Mark Langsdorf) [2067280] - PM: sleep: wakeup: Fix typos in comments (Mark Langsdorf) [2067280] - PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() (Mark Langsdorf) [2067280] - PM: domains: use dev_err_probe() to simplify error handling (Mark Langsdorf) [2067280] - PM: domains: Prevent power off for parent unless child is in deepest state (Mark Langsdorf) [2067280] - driver core: cleanup double words comments (Mark Langsdorf) [2067280] - device property: Don't split fwnode_get_irq*() APIs in the code (Mark Langsdorf) [2067280] - regmap: irq: cleanup comments (Mark Langsdorf) [2067280] - platform: use dev_err_probe() in platform_get_irq_byname() (Mark Langsdorf) [2067280] - devtmpfs: drop redundant fs parameters from internal fs (Mark Langsdorf) [2067280] - component: Replace most references to 'master' with 'aggregate device' (Mark Langsdorf) [2067280] - device property: Add fwnode_irq_get_byname (Mark Langsdorf) [2067280] - regmap-irq: Fix typo in comment (Mark Langsdorf) [2067280] - driver core: Free DMA range map when device is released (Mark Langsdorf) [2067280] - regmap-irq: Update interrupt clear register for proper reset (Mark Langsdorf) [2067280] - PM: s2idle: ACPI: Fix wakeup interrupts handling (Mark Langsdorf) [2067280] - devtmpfs regression fix: reconfigure on each mount (Mark Langsdorf) [2067280] - regmap: debugfs: Fix indentation (Mark Langsdorf) [2067280] - regmap: Call regmap_debugfs_exit() prior to _init() (Mark Langsdorf) [2067280] - driver core: Make bus notifiers in right order in really_probe() (Mark Langsdorf) [2067280] - driver core: Move driver_sysfs_remove() after driver_sysfs_add() (Mark Langsdorf) [2067280] - driver core: Simplify async probe test code by using ktime_ms_delta() (Mark Langsdorf) [2067280] - PM: runtime: Simplify locking in pm_runtime_put_suppliers() (Mark Langsdorf) [2067280] - software node: fix wrong node passed to find nargs_prop (Mark Langsdorf) [2067280] - driver core: platform: document registration-failure requirement (Mark Langsdorf) [2067280] - device property: Add fwnode_iomap() (Mark Langsdorf) [2067280] - device property: Use fwnode_graph_for_each_endpoint() macro (Mark Langsdorf) [2067280] - device property: Implement fwnode_graph_get_endpoint_count() (Mark Langsdorf) [2067280] - device property: Fix documentation for FWNODE_GRAPH_DEVICE_DISABLED (Mark Langsdorf) [2067280] - rtc: Check return value from mc146818_get_time() (Mark Langsdorf) [2067280] - device property: Check fwnode->secondary when finding properties (Mark Langsdorf) [2067280] - topology/sysfs: rework book and drawer topology ifdefery (Mark Langsdorf) [2067280] - topology/sysfs: export cluster attributes only if an architectures has support (Mark Langsdorf) [2067280] - topology/sysfs: export die attributes only if an architectures has support (Mark Langsdorf) [2067280] - driver core: Don't call device_remove_properties() from device_del() (Mark Langsdorf) [2067280] - regmap: allow to define reg_update_bits for no bus configuration (Mark Langsdorf) [2067280] - platform/x86: amd-pmc: Set QOS during suspend on CZN w/ timer wakeup (Mark Langsdorf) [2067250] - PM: sleep: Fix error handling in dpm_prepare() (Mark Langsdorf) [2067250] - PM: sleep: Avoid calling put_device() under dpm_list_mtx (Mark Langsdorf) [2067250] - PM: sleep: Fix runtime PM based cpuidle support (Mark Langsdorf) [2067250] - PM / wakeirq: support enabling wake-up irq after runtime_suspend called (Mark Langsdorf) [2067250] - device property: Drop redundant NULL checks (Mark Langsdorf) [2067250] - PM: sleep: Pause cpuidle later and resume it earlier during system transitions (Mark Langsdorf) [2067250] - PM: suspend: Do not pause cpuidle in the suspend-to-idle path (Mark Langsdorf) [2067250] - regmap: spi: Set regmap max raw r/w from max_transfer_size (Mark Langsdorf) [2067250] - PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions (Mark Langsdorf) [2067250] - component: do not leave master devres group open after bind (Mark Langsdorf) [2067250] - driver core: Provide device_match_acpi_handle() helper (Mark Langsdorf) [2067250] - regmap: Fix possible double-free in regcache_rbtree_exit() (Mark Langsdorf) [2067250] - device property: build kunit tests without structleak plugin (Mark Langsdorf) [2067250] - driver core: Reject pointless SYNC_STATE_ONLY device links (Mark Langsdorf) [2067250] - firmware_loader: add a sanity check for firmware_request_builtin() (Mark Langsdorf) [2067250] - firmware_loader: split built-in firmware call (Mark Langsdorf) [2067250] - firmware_loader: fix pre-allocated buf built-in firmware use (Mark Langsdorf) [2067250] - drivers/base/component.c: remove superfluous header files from component.c (Mark Langsdorf) [2067250] - drivers/base/arch_topology.c: remove superfluous header (Mark Langsdorf) [2067250] - driver core: use NUMA_NO_NODE during device_initialize (Mark Langsdorf) [2067250] - driver core: Fix possible memory leak in device_link_add() (Mark Langsdorf) [2067250] - driver core: Add debug logs when fwnode links are added/deleted (Mark Langsdorf) [2067250] - driver core: Create __fwnode_link_del() helper function (Mark Langsdorf) [2067250] - driver core: Set deferred probe reason when deferred by driver core (Mark Langsdorf) [2067250] - driver core: fw_devlink: Add support for FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD (Mark Langsdorf) [2067250] - driver core: Clarify that dev_err_probe() is OK even w/out -EPROBE_DEFER (Mark Langsdorf) [2067250] - driver core: fw_devlink: Improve handling of cyclic dependencies (Mark Langsdorf) [2067250] - software node: balance refcount for managed software nodes (Mark Langsdorf) [2067250] - driver core: platform: Make use of the helper macro SET_RUNTIME_PM_OPS() (Mark Langsdorf) [2067250] - PM: base: power: don't try to use non-existing RTC for storing data (Mark Langsdorf) [2067250] - PM: sleep: core: Avoid setting power.must_resume to false (Mark Langsdorf) [2067250] - PM: sleep: wakeirq: drop useless parameter from dev_pm_attach_wake_irq() (Mark Langsdorf) [2067250] - PM: domains: Fix domain attach for CONFIG_PM_OPP=n (Mark Langsdorf) [2067250] - PM: runtime: add devm_pm_clk_create helper (Mark Langsdorf) [2067250] - PM: runtime: add devm_pm_runtime_enable helper (Mark Langsdorf) [2067250] - regmap: teach regmap to use raw spinlocks if requested in the config (Mark Langsdorf) [2067250] - PM: domains: Add support for 'required-opps' to set default perf state (Mark Langsdorf) [2067250] - Revert "media: device property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary" (Mark Langsdorf) [2067250] - driver: base: Prefer unsigned int to bare use of unsigned (Mark Langsdorf) [2067250] - cacheinfo: clear cache_leaves(cpu) in free_cache_attributes() (Mark Langsdorf) [2067250] - driver core: Fix error return code in really_probe() (Mark Langsdorf) [2067250] - driver: base: Replace symbolic permissions with octal permissions (Mark Langsdorf) [2067250] - regmap: Prefer unsigned int to bare use of unsigned (Mark Langsdorf) [2067250] - regmap: fix the offset of register error log (Mark Langsdorf) [2067250] - bpf: Fix request_sock leak in sk lookup helpers (Antoine Tenart) [2085313] - crypto: fips - make proc files report fips module name and version (Vladis Dronov) [2103966] - net: tipc: fix possible refcount leak in tipc_sk_create() (Xin Long) [2106048] - tipc: move bc link creation back to tipc_node_create (Xin Long) [2106048] - tipc: fix use-after-free Read in tipc_named_reinit (Xin Long) [2106048] - tipc: check attribute length for bearer name (Xin Long) [2106048] - ice: Fix memory corruption in VF driver (Petr Oros) [2037937] - ice: Fix queue config fail handling (Petr Oros) [2037937] - ice: Sync VLAN filtering features for DVM (Petr Oros) [2037937] - ice: Fix PTP TX timestamp offset calculation (Petr Oros) [2037937] - ice: Fix interrupt moderation settings getting cleared (Petr Oros) [2037937] - ice: fix possible under reporting of ethtool Tx and Rx statistics (Petr Oros) [2037937] - ice: allow creating VFs for !CONFIG_NET_SWITCHDEV (Petr Oros) [2037937] - ice: add trace events for tx timestamps (Petr Oros) [2037937] - ice: fix return value check in ice_gnss.c (Petr Oros) [2037937] - ice: remove PF pointer from ice_check_vf_init (Petr Oros) [2037937] - ice: introduce ice_virtchnl.c and ice_virtchnl.h (Petr Oros) [2037937] - ice: cleanup long lines in ice_sriov.c (Petr Oros) [2037937] - ice: introduce ICE_VF_RESET_LOCK flag (Petr Oros) [2037937] - ice: introduce ICE_VF_RESET_NOTIFY flag (Petr Oros) [2037937] - ice: convert ice_reset_vf to take flags (Petr Oros) [2037937] - ice: convert ice_reset_vf to standard error codes (Petr Oros) [2037937] - ice: make ice_reset_all_vfs void (Petr Oros) [2037937] - ice: drop is_vflr parameter from ice_reset_all_vfs (Petr Oros) [2037937] - ice: move reset functionality into ice_vf_lib.c (Petr Oros) [2037937] - ice: fix a long line warning in ice_reset_vf (Petr Oros) [2037937] - ice: introduce VF operations structure for reset flows (Petr Oros) [2037937] - ice: fix incorrect dev_dbg print mistaking 'i' for vf->vf_id (Petr Oros) [2037937] - ice: introduce ice_vf_lib.c, ice_vf_lib.h, and ice_vf_lib_private.h (Petr Oros) [2037937] - ice: use ice_is_vf_trusted helper function (Petr Oros) [2037937] - ice: log an error message when eswitch fails to configure (Petr Oros) [2037937] - ice: cleanup error logging for ice_ena_vfs (Petr Oros) [2037937] - ice: move ice_set_vf_port_vlan near other .ndo ops (Petr Oros) [2037937] - ice: refactor spoofchk control code in ice_sriov.c (Petr Oros) [2037937] - ice: rename ICE_MAX_VF_COUNT to avoid confusion (Petr Oros) [2037937] - ice: remove unused definitions from ice_sriov.h (Petr Oros) [2037937] - ice: convert vf->vc_ops to a const pointer (Petr Oros) [2037937] - ice: remove circular header dependencies on ice.h (Petr Oros) [2037937] - ice: rename ice_virtchnl_pf.c to ice_sriov.c (Petr Oros) [2037937] - ice: rename ice_sriov.c to ice_vf_mbx.c (Petr Oros) [2037937] - ice: Fix FV offset searching (Petr Oros) [2037937] - ice: Add support for outer dest MAC for ADQ tunnels (Petr Oros) [2037937] - ice: avoid XDP checks in ice_clean_tx_irq() (Petr Oros) [2037937] - ice: change "can't set link" message to dbg level (Petr Oros) [2037937] - ice: Add slow path offload stats on port representor in switchdev (Petr Oros) [2037937] - ice: Add support for inner etype in switchdev (Petr Oros) [2037937] - ice: convert VF storage to hash table with krefs and RCU (Petr Oros) [2037937] - ice: introduce VF accessor functions (Petr Oros) [2037937] - ice: factor VF variables to separate structure (Petr Oros) [2037937] - ice: convert ice_for_each_vf to include VF entry iterator (Petr Oros) [2037937] - ice: use ice_for_each_vf for iteration during removal (Petr Oros) [2037937] - ice: remove checks in ice_vc_send_msg_to_vf (Petr Oros) [2037937] - ice: move VFLR acknowledge during ice_free_vfs (Petr Oros) [2037937] - ice: move clear_malvf call in ice_free_vfs (Petr Oros) [2037937] - ice: pass num_vfs to ice_set_per_vf_res() (Petr Oros) [2037937] - ice: store VF pointer instead of VF ID (Petr Oros) [2037937] - ice: refactor unwind cleanup in eswitch mode (Petr Oros) [2037937] - ice: add TTY for GNSS module for E810T device (Petr Oros) [2037937] - ice: Simplify tracking status of RDMA support (Petr Oros) [2037937] - ice: Add ability for PF admin to enable VF VLAN pruning (Petr Oros) [2037937] - ice: Add support for 802.1ad port VLANs VF (Petr Oros) [2037937] - ice: Advertise 802.1ad VLAN filtering and offloads for PF netdev (Petr Oros) [2037937] - ice: Support configuring the device to Double VLAN Mode (Petr Oros) [2037937] - ice: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 (Petr Oros) [2037937] - ice: Add hot path support for 802.1Q and 802.1ad VLAN offloads (Petr Oros) [2037937] - ice: Add outer_vlan_ops and VSI specific VLAN ops implementations (Petr Oros) [2037937] - ice: Adjust naming for inner VLAN operations (Petr Oros) [2037937] - ice: Use the proto argument for VLAN ops (Petr Oros) [2037937] - ice: Refactor vf->port_vlan_info to use ice_vlan (Petr Oros) [2037937] - ice: Introduce ice_vlan struct (Petr Oros) [2037937] - ice: Add new VSI VLAN ops (Petr Oros) [2037937] - ice: Add helper function for adding VLAN 0 (Petr Oros) [2037937] - ice: Refactor spoofcheck configuration functions (Petr Oros) [2037937] - Revert "ice: Allow to pass VLAN tagged packets to VF when port VLAN is configured" (Petr Oros) [2037937] - Revert "ice: Do not enable VLAN pruning when spoofchk is enabled" (Petr Oros) [2037937] - ice: Remove likely for napi_complete_done (Petr Oros) [2037937] - ice: add support for DSCP QoS for IDC (Petr Oros) [2037937] - ice: respect metadata on XSK Rx to skb (Petr Oros) [2037937] - ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Petr Oros) [2037937] - ice: respect metadata in legacy-rx/ice_construct_skb() (Petr Oros) [2037937] - ice: Fix broken IFF_ALLMULTI handling (Petr Oros) [2037937]- i40e: Fix call trace in setup_tx_descriptors (Ivan Vecera) [2037943] - i40e: Fix calculating the number of queue pairs (Ivan Vecera) [2037943] - i40e: Fix adding ADQ filter to TC0 (Ivan Vecera) [2037943] - i40e: i40e_main: fix a missing check on list iterator (Ivan Vecera) [2037943] - i40e, xsk: Get rid of redundant 'fallthrough' (Ivan Vecera) [2037943] - i40e, xsk: Diversify return values from xsk_wakeup call paths (Ivan Vecera) [2037943] - i40e, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full (Ivan Vecera) [2037943] - i40e: Add Ethernet Connection X722 for 10GbE SFP+ support (Ivan Vecera) [2037943] - i40e: Add vsi.tx_restart to i40e ethtool stats (Ivan Vecera) [2037943] - i40e: Add tx_stopped stat (Ivan Vecera) [2037943] - i40e: Add support for MPLS + TSO (Ivan Vecera) [2037943] - i40e: little endian only valid checksums (Ivan Vecera) [2037943] - i40e: stop disabling VFs due to PF error responses (Ivan Vecera) [2037943] - i40e: remove dead stores on XSK hotpath (Ivan Vecera) [2037943] - i40e: Add a stat for tracking busy rx pages (Ivan Vecera) [2037943] - i40e: Add a stat for tracking pages waived (Ivan Vecera) [2037943] - i40e: Add a stat tracking new RX page allocations (Ivan Vecera) [2037943] - i40e: Aggregate and export RX page reuse stat (Ivan Vecera) [2037943] - i40e: Remove rx page reuse double count (Ivan Vecera) [2037943] - i40e: Fix race condition while adding/deleting MAC/VLAN filters (Ivan Vecera) [2037943] - i40e: Add new version of i40e_aq_add_macvlan function (Ivan Vecera) [2037943] - i40e: Add new versions of send ASQ command functions (Ivan Vecera) [2037943] - i40e: Add sending commands in atomic context (Ivan Vecera) [2037943] - i40e: Remove unused RX realloc stat (Ivan Vecera) [2037943] - i40e: Disable hw-tc-offload feature on driver load (Ivan Vecera) [2037943] - i40e: Fix reset path while removing the driver (Ivan Vecera) [2037943] - i40e: respect metadata on XSK Rx to skb (Ivan Vecera) [2037943] - i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Ivan Vecera) [2037943] - i40e: Remove useless DMA-32 fallback configuration (Ivan Vecera) [2037943] - i40e: fix unsigned stat widths (Ivan Vecera) [2037943] - i40e: Fix for failed to init adminq while VF reset (Ivan Vecera) [2037943] - i40e: Fix queues reservation for XDP (Ivan Vecera) [2037943] - i40e: Fix issue when maximum queues is exceeded (Ivan Vecera) [2037943] - i40e: Increase delay to 1 s after global EMP reset (Ivan Vecera) [2037943] - i40e: remove variables set but not used (Ivan Vecera) [2037943] - i40e: Remove non-inclusive language (Ivan Vecera) [2037943] - i40e: Update FW API version (Ivan Vecera) [2037943] - i40e: Minimize amount of busy-waiting during AQ send (Ivan Vecera) [2037943] - i40e: Add ensurance of MacVlan resources for every trusted VF (Ivan Vecera) [2037943] - i40e: Fix incorrect netdev's real number of RX/TX queues (Ivan Vecera) [2037943] - i40e: Fix for displaying message regarding NVM version (Ivan Vecera) [2037943] - i40e: fix use-after-free in i40e_sync_filters_subtask() (Ivan Vecera) [2037943] - i40e: Fix to not show opcode msg on unsuccessful VF MAC change (Ivan Vecera) [2037943] - i40e: switch to napi_build_skb() (Ivan Vecera) [2037943] - i40e: Use irq_update_affinity_hint() (Ivan Vecera) [2037943] - mptcp: fix race on unaccepted mptcp sockets (Davide Caratti) [2076971] - mptcp: fix local endpoint accounting (Davide Caratti) [2076971] - mptcp: fix race in overlapping signal events (Davide Caratti) [2076971] - mptcp: fix subflow accounting on close (Davide Caratti) [2076971] - mptcp: introduce implicit endpoints (Davide Caratti) [2076971] - mptcp: constify a bunch of of helpers (Davide Caratti) [2076971] - mptcp: drop port parameter of mptcp_pm_add_addr_signal (Davide Caratti) [2076971] - mptcp: fix removing ids bitmap setting (Davide Caratti) [2076971] - selftests: mptcp: be more conservative with cookie MPJ limits (Davide Caratti) [2076971] - selftests: mptcp: more robust signal race test (Davide Caratti) [2076971] - mptcp: cleanup MPJ subflow list handling (Davide Caratti) [2076971] - mptcp: do not block subflows creation on errors (Davide Caratti) [2076971] - mptcp: keep track of local endpoint still available for each msk (Davide Caratti) [2076971] - mptcp: clean up harmless false expressions (Davide Caratti) [2076971] - mptcp: fix per socket endpoint accounting (Davide Caratti) [2076971] - selftests: mptcp: add fullmesh testcases (Davide Caratti) [2076971] - selftests: mptcp: set and print the fullmesh flag (Davide Caratti) [2076971] - mptcp: local addresses fullmesh (Davide Caratti) [2076971] - mptcp: remote addresses fullmesh (Davide Caratti) [2076971] - mptcp: remove MPTCP_ADD_ADDR_IPV6 and MPTCP_ADD_ADDR_PORT (Davide Caratti) [2076971] - mptcp: build ADD_ADDR/echo-ADD_ADDR option according pm.add_signal (Davide Caratti) [2076971] - mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other (Davide Caratti) [2076971] - mptcp: make MPTCP_ADD_ADDR_SIGNAL and MPTCP_ADD_ADDR_ECHO separate (Davide Caratti) [2076971] - mptcp: move drop_other_suboptions check under pm lock (Davide Caratti) [2076971] - mptcp: drop flags and ifindex arguments (Davide Caratti) [2076971] - mptcp: allow to use port and non-signal in set_flags (Davide Caratti) [2076971] - NFSv4.1 support for NFS4_RESULT_PRESERVER_UNLINKED (Scott Mayhew) [2066369] - KVM: selftests: get-reg-list: Add KVM_REG_ARM_FW_REG(3) (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 miti (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Use the clearbhb instruction in mitigations (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: add ID_AA64ISAR2_EL1 sys register (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Mitigate spectre style branch history side channels (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - KVM: arm64: Add templates for BHB mitigation sequences (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spect (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add percpu vectors for EL1 (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add macro for reading symbol addresses from the trampolin (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add vectors that have the bhb mitigation sequences (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Allow the trampoline text to occupy multiple pages (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Make the kpti trampoline's kpti sequence optional (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Move trampoline macros out of ifdef'd section (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Don't assume tramp_vectors is the start of the vectors (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Allow tramp_alias to access symbols after the 4K boundary (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Move the trampoline data page before the text page (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Free up another register on kpti's tramp_exit path (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry: Make the trampoline cleanup optional (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: entry.S: Add ventry overflow sanity checks (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add Cortex-X2 CPU part definition (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: Add Neoverse-N2, Cortex-A710 CPU part definition (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: syscall: exit userspace before unmasking exceptions (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - arm64: ptrace: Consistently use pseudo-singlestep exceptions (Chris von Recklinghausen) [2062287] {CVE-2022-23960} - ethtool: Fix get module eeprom fallback (Ivan Vecera) [2091772] - xfs: use setattr_copy to set vfs inode attributes (Andrey Albershteyn) [2085622] - xfs: ensure log flush at the end of a synchronous fallocate call (Andrey Albershteyn) [2085622] - xfs: set prealloc flag in xfs_alloc_file_space() (Andrey Albershteyn) [2085622] - xfs: fallocate() should call file_modified() (Andrey Albershteyn) [2085622] - xfs: remove XFS_PREALLOC_SYNC (Andrey Albershteyn) [2085622] - drm/ast: Fix black screen when getting out of suspend (Jocelyn Falempe) [2097492] - drm/ast: Create the driver for ASPEED proprietory Display-Port (Jocelyn Falempe) [2097492] - x86: change default to spec_store_bypass_disable=prctl spectre_v2_user=prctl (Waiman Long) [2101938] - x86/speculation/mmio: Print SMT warning (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - KVM: x86/speculation: Disable Fill buffer clear within guests (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Reuse SRBDS mitigation for SBDS (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/srbds: Update SRBDS mitigation selection (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Enable CPU Fill buffer clearing on idle (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation: Add a common function for MD_CLEAR mitigation update (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - Documentation: Add documentation for Processor MMIO Stale Data (Waiman Long) [2090252] {CVE-2022-21123 CVE-2022-21125 CVE-2022-21166} - x86/tsx: Disable TSX development mode at boot (Waiman Long) [2090252] - x86/tsx: Use MSR_TSX_CTRL to clear CPUID bits (Waiman Long) [2090252] - x86/tsx: Clear CPUID bits when TSX always force aborts (Waiman Long) [2090252] - cpu/speculation: Add prototype for cpu_show_srbds() (Waiman Long) [2090252] - x86/cpu: Move arch_smt_update() to a neutral place (Waiman Long) [2090252] - serial: 8250_pci: rewrite pericom_do_set_divisor() (Myron Stowe) [2096364] - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array (Myron Stowe) [2096364] - serial: 8250_pci: Merge 8250_moxa to 8250_pci (Myron Stowe) [2096364] - serial: 8250: Use dev_get_drvdata where possible (Myron Stowe) [2096364] - serial: 8250: pericom_do_set_divisor can be static (Myron Stowe) [2096364] - serial: 8250: Add support for higher baud rates to Pericom chips (Myron Stowe) [2096364] - serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup() (Myron Stowe) [2096364] - serial: 8250_pci: Fix number of ports for ACCES serial cards (Myron Stowe) [2096364] - serial: 8250_pci: Replace custom code with pci_match_id() (Myron Stowe) [2096364] - net/sched: act_police: more accurate MTU policing (Davide Caratti) [2100893] - selinux: initialize proto variable in selinux_ip_postroute_compat() (Ondrej Mosnacek) [2005892] - selinux: fix a sock regression in selinux_ip_postroute_compat() (Ondrej Mosnacek) [2005892] - LSM: Avoid warnings about potentially unused hook variables (Ondrej Mosnacek) [2005892] - selinux: fix all of the W=1 build warnings (Ondrej Mosnacek) [2005892] - selinux: make better use of the nf_hook_state passed to the NF hooks (Ondrej Mosnacek) [2005892] - selinux: fix race condition when computing ocontext SIDs (Ondrej Mosnacek) [2005892 1969344] - selinux: remove unneeded ipv6 hook wrappers (Ondrej Mosnacek) [2005892] - lsm_audit: avoid overloading the "key" audit field (Ondrej Mosnacek) [2005892] - security: remove unneeded subdir-$(CONFIG_...) (Ondrej Mosnacek) [2005892] - selinux: return early for possible NULL audit buffers (Ondrej Mosnacek) [2005892] - selinux: correct the return value when loads initial sids (Ondrej Mosnacek) [2005892] - audit: remove unnecessary 'ret' initialization (Ondrej Mosnacek) [2005892] - selinux: kill 'flags' argument in avc_has_perm_flags() and avc_audit() (Ondrej Mosnacek) [2005892] - selinux: slow_avc_audit has become non-blocking (Ondrej Mosnacek) [2005892] - selinux: Fix kernel-doc (Ondrej Mosnacek) [2005892] - selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC (Ondrej Mosnacek) [2005892] - lsm_audit,selinux: pass IB device name by reference (Ondrej Mosnacek) [2005892] - selinux: Remove redundant assignment to rc (Ondrej Mosnacek) [2005892] - selinux: Corrected comment to match kernel-doc comment (Ondrej Mosnacek) [2005892] - selinux: delete selinux_xfrm_policy_lookup() useless argument (Ondrej Mosnacek) [2005892] - selinux: constify some avtab function arguments (Ondrej Mosnacek) [2005892] - selinux: simplify duplicate_policydb_cond_list() by using kmemdup() (Ondrej Mosnacek) [2005892] - selinux: add proper NULL termination to the secclass_map permissions (Ondrej Mosnacek) [2005892] - security: commoncap: clean up kernel-doc comments (Ondrej Mosnacek) [2005892] - security: commoncap: fix -Wstringop-overread warning (Ondrej Mosnacek) [2005892] - selinux: fix misspellings using codespell tool (Ondrej Mosnacek) [2005892] - selinux: fix misspellings using codespell tool (Ondrej Mosnacek) [2005892] - ext4: mballoc: Use this_cpu_read instead of this_cpu_ptr (Lukas Czerner) [2102619] - ext4: add reserved GDT blocks check (Lukas Czerner) [2099702] - ext4: make variable "count" signed (Lukas Czerner) [2099702] - ext4: fix bug_on ext4_mb_use_inode_pa (Lukas Czerner) [2099702] - ext4: fix super block checksum incorrect after mount (Lukas Czerner) [2099702] - ext4: fix bug_on in __es_tree_search (Lukas Czerner) [2099702] - ext4: avoid cycles in directory h-tree (Lukas Czerner) [2099702] - ext4: verify dir block before splitting it (Lukas Czerner) [2099702] - ext4: fix bug_on in ext4_writepages (Lukas Czerner) [2099702] - ext4: reject the 'commit' option on ext2 filesystems (Lukas Czerner) [2099702] - ext4: fix use-after-free in ext4_rename_dir_prepare (Lukas Czerner) [2099702] - ext4: fix warning in ext4_handle_inode_extension (Lukas Czerner) [2099702]- i915: Explicitly #include (Michel Dänzer) [2041811] - i915: Use mdev_type_kobj_to_group_id instead of mtype_get_type_group_id (Michel Dänzer) [2041811] - drm/i915: #include for k(un)map APIs (Michel Dänzer) [2041811] - Revert "mm: remove the extra ZONE_DEVICE struct page refcount" (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.17..v5.18 (Michel Dänzer) [2041811] - iosys-map: Add a few more helpers (Michel Dänzer) [2041811] - iosys-map: Add offset to iosys_map_memcpy_to() (Michel Dänzer) [2041811] - dma-buf-map: Rename to iosys-map (Michel Dänzer) [2041811] - Revert "drm/amdgpu/display: set vblank_disable_immediate for DC" (Michel Dänzer) [2041811] - Revert "drm: import DMA_BUF module namespace" (Michel Dänzer) [2041811] - drm/virtio: Do not use virtio_reset_device (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.16..v5.17 (Michel Dänzer) [2041811] - agp/intel-gtt: reduce intel-gtt dependencies more (Michel Dänzer) [2041811] - agp/intel-gtt: Replace kernel.h with the necessary inclusions (Michel Dänzer) [2041811] - x86/gpu: Reserve stolen memory for first integrated Intel GPU (Michel Dänzer) [2041811] - drm/i915/rpl-s: Add PCI IDS for Raptor Lake S (Michel Dänzer) [2041811] - drm/amdgpu: Use MCE_PRIO_FIRST instead of MCE_PRIO_UC (Michel Dänzer) [2041811] - Revert "drm/amdgpu: disable runpm if we are the primary adapter" (Michel Dänzer) [2041811] - Revert "treewide: Replace the use of mem_encrypt_active() with cc_platform_has()" (Michel Dänzer) [2041811] - Revert "dma-buf: move dma-buf symbols into the DMA_BUF module namespace" (Michel Dänzer) [2041811] - Revert "fix for "dma-buf: move dma-buf symbols into the DMA_BUF module namespace"" (Michel Dänzer) [2041811] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.15..v5.16 (Michel Dänzer) [2041811] - drm/bochs: Explicitly #include (Michel Dänzer) [2041811] - Revert "gpu: Bulk conversion to generic_handle_domain_irq()" (Michel Dänzer) [2041811] - Revert "vfio/gvt: Fix open/close when multiple device FDs are open" (Michel Dänzer) [2041811] - drm: Drop linux/ prefix from stdarg.h include (Michel Dänzer) [2041811] - drm/i915: Convert to older tasklet API (Michel Dänzer) [2041811] - Merge DRM changes from upstream v5.14.21..v5.15 (Michel Dänzer) [2041811] - dma-buf: Fix kerneldoc comment for struct dma_fence_array (Michel Dänzer) [2041811] - Makefile: Add RHEL_DRM_EXTRAVERSION (Michel Dänzer) [2041811] - mei: me: add Alder Lake N device id. (Prarit Bhargava) [2072660] - pinctrl: alderlake: Fix register offsets for ADL-N variant (Prarit Bhargava) [2049965] - pinctrl: alderlake: Add Intel Alder Lake-N pin controller support (Prarit Bhargava) [2049965] - pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID" (Prarit Bhargava) [2049965] - spi: pxa2xx: Add support for Intel Alder Lake PCH-M (Prarit Bhargava) [2089507] - RHEL-only: KVM: selftests: Compile rseq_test out on aarch64 (Eric Auger) [2078919] - KVM: arm64: Don't read a HW interrupt pending state in user context (Eric Auger) [2078919] - KVM: arm64: selftests: Add init ITS device test (Eric Auger) [2078919] - KVM: arm64: selftests: Add test for legacy GICv3 REDIST base partially above IPA range (Eric Auger) [2078919] - KVM: arm64: selftests: Add tests for GIC redist/cpuif partially above IPA range (Eric Auger) [2078919] - KVM: arm64: selftests: Add some tests for GICv2 in vgic_init (Eric Auger) [2078919] - KVM: arm64: selftests: Make vgic_init/vm_gic_create version agnostic (Eric Auger) [2078919] - KVM: arm64: selftests: Make vgic_init gic version agnostic (Eric Auger) [2078919] - KVM: arm64: vgic: Drop vgic_check_ioaddr() (Eric Auger) [2078919] - KVM: arm64: vgic-v3: Check ITS region is not above the VM IPA size (Eric Auger) [2078919] - KVM: arm64: vgic-v2: Check cpu interface region is not above the VM IPA size (Eric Auger) [2078919] - KVM: arm64: vgic-v3: Check redist region is not above the VM IPA size (Eric Auger) [2078919] - kvm: arm64: vgic: Introduce vgic_check_iorange (Eric Auger) [2078919] - Revert "RHEL-only: KVM: selftests: Fix AArch64 compilation" (Eric Auger) [2078919] - selftests: KVM: Free the GIC FD when cleaning up in arch_timer (Eric Auger) [2078919] - selftests: KVM: Don't leak GIC FD across dirty log test iterations (Eric Auger) [2078919] - KVM: arm64: selftests: Introduce vcpu_width_config (Eric Auger) [2078919] - KVM: arm64: mixed-width check should be skipped for uninitialized vCPUs (Eric Auger) [2078919] - KVM: arm64: Generalise VM features into a set of flags (Eric Auger) [2078919] - KVM: selftests: aarch64: Skip tests if we can't create a vgic-v3 (Eric Auger) [2078919] - kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq() (Eric Auger) [2078919] - kvm: selftests: aarch64: fix some vgic related comments (Eric Auger) [2078919] - kvm: selftests: aarch64: fix the failure check in kvm_set_gsi_routing_irqchip_check (Eric Auger) [2078919] - kvm: selftests: aarch64: pass vgic_irq guest args as a pointer (Eric Auger) [2078919] - kvm: selftests: aarch64: fix assert in gicv3_access_reg (Eric Auger) [2078919] - KVM: selftests: Add vgic initialization for dirty log perf test for ARM (Eric Auger) [2078919] - KVM: arm64: vgic: Read HW interrupt pending state from the HW (Eric Auger) [2078919] - KVM: arm64: Emulate the OS Lock (Eric Auger) [2078919] - KVM: arm64: Allow guest to set the OSLK bit (Eric Auger) [2078919] - KVM: arm64: Stash OSLSR_EL1 in the cpu context (Eric Auger) [2078919] - KVM: arm64: Correctly treat writes to OSLSR_EL1 as undefined (Eric Auger) [2078919] - KVM: arm64: vgic: Replace kernel.h with the necessary inclusions (Eric Auger) [2078919] - KVM: arm64: Fix comment typo in kvm_vcpu_finalize_sve() (Eric Auger) [2078919] - KVM: arm64: selftests: get-reg-list: Add pauth configuration (Eric Auger) [2078919] - KVM: selftests: aarch64: Add test for restoring active IRQs (Eric Auger) [2078919] - KVM: selftests: aarch64: Add ISPENDR write tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add tests for IRQFD in vgic_irq (Eric Auger) [2078919] - KVM: selftests: Add IRQ GSI routing library functions (Eric Auger) [2078919] - KVM: selftests: aarch64: Add test_inject_fail to vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add tests for LEVEL_INFO in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Level-sensitive interrupts tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add preemption tests in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Cmdline arg to set EOI mode in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Cmdline arg to set number of IRQs in vgic_irq test (Eric Auger) [2078919] - KVM: selftests: aarch64: Abstract the injection functions in vgic_irq (Eric Auger) [2078919] - KVM: selftests: aarch64: Add vgic_irq to test userspace IRQ injection (Eric Auger) [2078919] - KVM: selftests: aarch64: Add vGIC library functions to deal with vIRQ state (Eric Auger) [2078919] - KVM: selftests: Add kvm_irq_line library function (Eric Auger) [2078919] - KVM: selftests: aarch64: Add GICv3 register accessor library functions (Eric Auger) [2078919] - KVM: selftests: aarch64: Add function for accessing GICv3 dist and redist registers (Eric Auger) [2078919] - KVM: selftests: aarch64: Move gic_v3.h to shared headers (Eric Auger) [2078919] - KVM: selftests: arm64: Add support for various modes with 16kB page size (Eric Auger) [2078919] - KVM: selftests: arm64: Add support for VM_MODE_P36V48_{4K,64K} (Eric Auger) [2078919] - KVM: arm64: Fix comment on barrier in kvm_psci_vcpu_on() (Eric Auger) [2078919] - KVM: arm64: Fix comment for kvm_reset_vcpu() (Eric Auger) [2078919] - KVM: arm64: Use defined value for SCTLR_ELx_EE (Eric Auger) [2078919] - KVM: arm64: vgic: Demote userspace-triggered console prints to kvm_debug() (Eric Auger) [2078919] - KVM: arm64: Consolidate dist->ready setting into kvm_vgic_map_resources() (Eric Auger) [2078919] - arm64/kvm: Fix bitrotted comment for SVE handling in handle_exit.c (Eric Auger) [2078919] - KVM: arm64: Drop vcpu->arch.has_run_once for vcpu->pid (Eric Auger) [2078919] - KVM: arm64: Merge kvm_arch_vcpu_run_pid_change() and kvm_vcpu_first_run_init() (Eric Auger) [2078919] - KVM: arm64: Restructure the point where has_run_once is advertised (Eric Auger) [2078919] - KVM: arm64: Move kvm_arch_vcpu_run_pid_change() out of line (Eric Auger) [2078919] - KVM: arm64: Move SVE state mapping at HYP to finalize-time (Eric Auger) [2078919] - KVM: arm64: Move double-checked lock to kvm_vgic_map_resources() (Eric Auger) [2078919] - KVM: arm64: Constify kvm_io_gic_ops (Eric Auger) [2078919] - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 (Eric Auger) [2078919] - selftests: KVM: Fix kvm device helper ioctl assertions (Eric Auger) [2078919] - ACPI: tables: Quiet ACPI table not found warning (Mark Langsdorf) [2067290] - ACPI/IORT: Check node revision for PMCG resources (Mark Langsdorf) [2067290] - PM: s2idle: ACPI: Fix wakeup interrupts handling (Mark Langsdorf) [2067290] - ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE (Mark Langsdorf) [2067290] - ACPI: PM: Revert "Only mark EC GPE for wakeup on Intel systems" (Mark Langsdorf) [2067290] - ACPI: require CRC32 to build (Mark Langsdorf) [2067290] - ACPI: DPTF: Support Raptor Lake (Mark Langsdorf) [2067290] - ACPI: scan: Rename label in acpi_scan_init() (Mark Langsdorf) [2067290] - ACPI: scan: Simplify initialization of power and sleep buttons (Mark Langsdorf) [2067290] - ACPI: scan: Change acpi_scan_init() return value type to void (Mark Langsdorf) [2067290] - ACPI: SPCR: check if table->serial_port.access_width is too wide (Mark Langsdorf) [2067290] - ACPI: APD: Check for NULL pointer after calling devm_ioremap() (Mark Langsdorf) [2067290] - ACPI: pfr_telemetry: Fix info leak in pfrt_log_ioctl() (Mark Langsdorf) [2067290] - ACPI: APD: Add a fmw property clk-name (Mark Langsdorf) [2067290] - ACPI: pfr_update: Fix return value check in pfru_write() (Mark Langsdorf) [2067290] - ACPI: processor: thermal: avoid cpufreq_get_policy() (Mark Langsdorf) [2067290] - ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers (Mark Langsdorf) [2067290] - ACPI: battery: Add the ThinkPad "Not Charging" quirk (Mark Langsdorf) [2067290] - acpi: Store CRC-32 hash of the _PLD in struct acpi_device (Mark Langsdorf) [2067290] - acpi: Export acpi_bus_type (Mark Langsdorf) [2067290] - ACPI: sysfs: use default_groups in kobj_type (Mark Langsdorf) [2067290] - ACPI: Introduce Platform Firmware Runtime Telemetry driver (Mark Langsdorf) [2067290] - ACPI: Introduce Platform Firmware Runtime Update device driver (Mark Langsdorf) [2067290] - efi: Introduce EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER and corresponding structures (Mark Langsdorf) [2067290] - ACPICA: Update version to 20211217 (Mark Langsdorf) [2067290] - ACPICA: iASL/NHLT table: "Specific Data" field support (Mark Langsdorf) [2067290] - ACPICA: iASL: Add suppport for AGDI table (Mark Langsdorf) [2067290] - ACPICA: iASL: Add TDEL table to both compiler/disassembler (Mark Langsdorf) [2067290] - ACPICA: Fixed a couple of warnings under MSVC (Mark Langsdorf) [2067290] - ACPICA: Change a return_ACPI_STATUS (AE_BAD_PARAMETER) (Mark Langsdorf) [2067290] - ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 (Mark Langsdorf) [2067290] - ACPICA: Add support for PCC Opregion special context data (Mark Langsdorf) [2067290] - ACPICA: Fix wrong interpretation of PCC address (Mark Langsdorf) [2067290] - ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() (Mark Langsdorf) [2067290] - ACPICA: Utilities: Avoid deleting the same object twice in a row (Mark Langsdorf) [2067290] - ACPICA: Fix AEST Processor generic resource substructure data field byte length (Mark Langsdorf) [2067290] - ACPICA: iASL/Disassembler: Additional support for NHLT table (Mark Langsdorf) [2067290] - ACPICA: Avoid subobject buffer overflow when validating RSDP signature (Mark Langsdorf) [2067290] - ACPICA: Macros: Remove ACPI_PHYSADDR_TO_PTR (Mark Langsdorf) [2067290] - ACPICA: Use original pointer for virtual origin tables (Mark Langsdorf) [2067290] - ACPICA: Use original data_table_region pointer for accesses (Mark Langsdorf) [2067290] - ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions (Mark Langsdorf) [2067290] - ACPI: CPPC: Amend documentation in the comments (Mark Langsdorf) [2067290] - ACPI: NFIT: Import GUID before use (Mark Langsdorf) [2067290] - ACPI: PM: Remove redundant cache flushing (Mark Langsdorf) [2067290] - ACPI: Use acpi_fetch_acpi_dev() instead of acpi_bus_get_device() (Mark Langsdorf) [2067290] - ACPI: tables: Add AEST to the list of known table signatures (Mark Langsdorf) [2067290] - ACPI: PM: Avoid CPU cache flush when entering S4 (Mark Langsdorf) [2067290] - PM: hibernate: Allow ACPI hardware signature to be honoured (Mark Langsdorf) [2067290] - ACPI: PMIC: xpower: Fix _TMP ACPI errors (Mark Langsdorf) [2067290] - ACPI: PMIC: allow drivers to provide a custom lpat_raw_to_temp() function (Mark Langsdorf) [2067290] - ACPI: PMIC: constify all struct intel_pmic_opregion_data declarations (Mark Langsdorf) [2067290] - ACPI: EC: Mark the ec_sys write_support param as module_param_hw() (Mark Langsdorf) [2067290] - ACPI: EC: Relocate acpi_ec_create_query() and drop acpi_ec_delete_query() (Mark Langsdorf) [2067290] - ACPI: EC: Make the event work state machine visible (Mark Langsdorf) [2067290] - ACPI: EC: Avoid queuing unnecessary work in acpi_ec_submit_event() (Mark Langsdorf) [2067290] - ACPI: EC: Rename three functions (Mark Langsdorf) [2067290] - ACPI: EC: Simplify locking in acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Rearrange the loop in acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Fold acpi_ec_check_event() into acpi_ec_event_handler() (Mark Langsdorf) [2067290] - ACPI: EC: Pass one argument to acpi_ec_query() (Mark Langsdorf) [2067290] - ACPI: EC: Call advance_transaction() from acpi_ec_dispatch_gpe() (Mark Langsdorf) [2067290] - ACPI: EC: Rework flushing of EC work while suspended to idle (Mark Langsdorf) [2067290] - ACPI / x86: Add PWM2 on the Xiaomi Mi Pad 2 to the always_present list (Mark Langsdorf) [2067290] - ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD win (Mark Langsdorf) [2067290] - ACPI / x86: Allow specifying acpi_device_override_status() quirks by path (Mark Langsdorf) [2067290] - ACPI: Change acpi_device_always_present() into acpi_device_override_status() (Mark Langsdorf) [2067290] - ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table (Mark Langsdorf) [2067290] - ACPI: processor idle: Use swap() instead of open coding it (Mark Langsdorf) [2067290] - ACPI: processor: Replace kernel.h with the necessary inclusions (Mark Langsdorf) [2067290] - ACPI: DPTF: Update device ID in a comment (Mark Langsdorf) [2067290] - ACPI: PM: Emit debug messages when enabling/disabling wakeup power (Mark Langsdorf) [2067290] - ACPI: thermal: drop an always true check (Mark Langsdorf) [2067290] - ACPI: Add a context argument for table parsing handlers (Mark Langsdorf) [2067290] - ACPI: Teach ACPI table parsing about the CEDT header format (Mark Langsdorf) [2067290] - ACPI: Keep sub-table parsing infrastructure available for modules (Mark Langsdorf) [2067290] - cxgb4: fix wrong shift. (Raju Rangoju) [1977437] - cxgb4: fix wrong ethtool n-tuple rule lookup (Raju Rangoju) [1977437] - cxgb4: halt chip before flashing PHY firmware image (Raju Rangoju) [1977437] - cxgb4: fix sleep in atomic when flashing PHY firmware (Raju Rangoju) [1977437] - cxgb4: fix endianness when flashing boot image (Raju Rangoju) [1977437] - cxgb4: avoid link re-train during TC-MQPRIO configuration (Raju Rangoju) [1977437] - cxgb4: fix regression with HASH tc prio value update (Raju Rangoju) [1977437] - cxgb4: avoid accessing registers when clearing filters (Raju Rangoju) [1977437] - net:CXGB4: fix leak if sk_buff is not used (Raju Rangoju) [1977437] - cxgb4: Fix unintentional sign extension issues (Raju Rangoju) [1977437] - cxgb4: remove unneeded if-null-free check (Raju Rangoju) [1977437] - PCI: vmd: Assign VMD IRQ domain before enumeration (Myron Stowe) [2050850] - PCI: vmd: Prevent recursive locking on interrupt allocation (Myron Stowe) [2050850] - PCI: vmd: Add DID 8086:A77F for all Intel Raptor Lake SKU's (Myron Stowe) [2050850] - PCI: vmd: Honor ACPI _OSC on PCIe features (Myron Stowe) [2050850] - PCI: vmd: Clean up domain before enumeration (Myron Stowe) [2050850] - PCI: vmd: Use PCI_POSSIBLE_ERROR() to check config reads (Myron Stowe) [2050850] - PCI: Add PCI_ERROR_RESPONSE and related definitions (Myron Stowe) [2050850] - PCI: vmd: Drop redundant includes of , (Myron Stowe) [2050850] - PCI: vmd: Assign a number to each VMD controller (Myron Stowe) [2050850] - PCI: vmd: Disable MSI-X remapping when possible (Myron Stowe) [2050850] - PCI: vmd: Offset Client VMD MSI-X vectors (Myron Stowe) [2050850] - PCI: vmd: Use msi_msg shadow structs (Myron Stowe) [2050850] - Merge tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/g (Myron Stowe) [2050850] - PCI: vmd: Update VMD PM to correctly use generic PCI PM (Myron Stowe) [2050850] - PCI: vmd: Create IRQ allocation helper (Myron Stowe) [2050850] - PCI: vmd: Create IRQ Domain configuration helper (Myron Stowe) [2050850] - PCI: vmd: Create bus offset configuration helper (Myron Stowe) [2050850] - PCI: vmd: Create physical offset helper (Myron Stowe) [2050850] - PCI_vmd_Mark_VMD_irqdomain_with_DOMAIN_BUS_VMD_MSI (Myron Stowe) [2050850] - irqdomain/msi: Provide DOMAIN_BUS_VMD_MSI (Myron Stowe) [2050850] - PCI: vmd: Dont abuse vector irqomain as parent (Myron Stowe) [2050850] - PCI: designware-ep: Fix the Header Type check (Myron Stowe) [2050850] - PCI: vmd: Use Shadow MEMBAR registers for QEMU/KVM guests (Myron Stowe) [2050850] - PCI: vmd: Filter resource type bits from shadow register (Myron Stowe) [2050850] - PCI: Fix indentation (Myron Stowe) [2050850] - scsi: iscsi: Fix session removal on shutdown (Chris Leech) [2101760] - scsi: qedi: Use QEDI_MODE_NORMAL for error handling (Chris Leech) [2101760] - scsi: iscsi: Add helper to remove a session from the kernel (Chris Leech) [2101760] - scsi: iscsi: Clean up bound endpoints during shutdown (Chris Leech) [2101760] - scsi: iscsi: Allow iscsi_if_stop_conn() to be called from kernel (Chris Leech) [2101760] - scsi: iscsi: Fix HW conn removal use after free (Chris Leech) [2101760] - scsi: iscsi: Make iscsi_unregister_transport() return void (Chris Leech) [2101760] - scsi: core: iscsi: Directly use ida_alloc()/ida_free() (Chris Leech) [2101760] - scsi: iscsi: Exclude zero from the endpoint ID range (Chris Leech) [2101760] - scsi: iscsi: Fix harmless double shift bug (Chris Leech) [2101760] - scsi: libiscsi: Remove unnecessary memset() in iscsi_conn_setup() (Chris Leech) [2101760] - scsi: libiscsi: Teardown iscsi_cls_conn gracefully (Chris Leech) [2101760] - scsi: libiscsi: Add iscsi_cls_conn to sysfs after initialization (Chris Leech) [2101760] - scsi: iscsi: Add helper functions to manage iscsi_cls_conn (Chris Leech) [2101760] - scsi: iscsi: Drop temp workq_name (Chris Leech) [2101760] - scsi: iscsi: Use the session workqueue for recovery (Chris Leech) [2101760] - scsi: iscsi: ql4xxx: Use per-session workqueue for unbinding (Chris Leech) [2101760] - scsi: iscsi: Remove iscsi_scan_finished() (Chris Leech) [2101760] - scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() (Chris Leech) [2101760] - scsi: libiscsi: Move ehwait initialization to iscsi_session_setup() (Chris Leech) [2101760] - x86/sme: Explicitly map new EFI memmap table as encrypted (Chris von Recklinghausen) [2091831] - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c (Chris von Recklinghausen) [2091831] - efi/x86: Fix boot regression on systems with invalid memmap entries (Chris von Recklinghausen) [2091831] - efi: Add tracking for dynamically allocated memmaps (Chris von Recklinghausen) [2091831] - efi: Add a flags parameter to efi_memory_map (Chris von Recklinghausen) [2091831] - x86/kexec: fix memory leak of elf header buffer (Tao Liu) [2014945] - net: sched: add barrier to fix packet stuck problem for lockless qdisc (Davide Caratti) [2103025] - powercap: intel_rapl: add support for ALDERLAKE_N (David Arcari) [2096964] - clk: fix invalid usage of list cursor in unregister (David Arcari) [2105258] - clk: fix invalid usage of list cursor in register (David Arcari) [2105258] - powercap: intel_rapl: add support for RaptorLake (David Arcari) [2076724] - lib/math: move int_pow() from pwm_bl.c for wider use (Ivan Vecera) [2101700] - x86/fpu: KVM: Set the base guest FPU uABI size to sizeof(struct kvm_xsave) (Paul Lai) [2092066]- net/sched: cls_u32: fix possible leak in u32_init_knode() (Davide Caratti) [2081283] - net/sched: cls_u32: fix netns refcount changes in u32_change() (Davide Caratti) [2081283] - net/sched: flower: fix parsing of ethertype following VLAN header (Davide Caratti) [2081283] - net: sched: limit TC_ACT_REPEAT loops (Davide Caratti) [2081283] - net_sched: add __rcu annotation to netdev->qdisc (Davide Caratti) [2081283] - sch_htb: Fail on unsupported parameters when offload is requested (Davide Caratti) [2081283] - net_sched: restore "mpu xxx" handling (Davide Caratti) [2081283] - net: sched: sch_netem: Refactor code in 4-state loss generator (Davide Caratti) [2081283] - net/mlx5e: TC, Fix ct_clear overwriting ct action metadata (Amir Tzin) [2100474] - bpftool: man: Add missing top level docs (Yauheni Kaliuta) [2097615] - net/mlx5: CT: Fix header-rewrite re-use for tupels (Amir Tzin) [2101162] - cpuidle: haltpoll: Call cpuidle_poll_state_init() later (Mark Langsdorf) [2067313] - cpuidle: use default_groups in kobj_type (Mark Langsdorf) [2067313] - cpuidle: Fix cpuidle_remove_state_sysfs() kerneldoc comment (Mark Langsdorf) [2067313] - cpuidle: menu: Fix typo in a comment (Mark Langsdorf) [2067313] - cpuidle: Fix kobject memory leaks in error paths (Mark Langsdorf) [2067313] - cpuidle: menu: Take negative "sleep length" values into account (Mark Langsdorf) [2067313] - HID: elo: Revert USB reference counting (Benjamin Tissoires) [2073833] - HID: elo: fix memory leak in elo_probe (Benjamin Tissoires) [2073833] - fs: dlm: filter user dlm messages for kernel locks (Alexander Aring) [2026116] - psample: Add a fwd declaration for skbuff (Ivan Vecera) [2101706] - platform/x86/intel/sdsi: Fix bug in multi packet reads (Prarit Bhargava) [2100948] - platform/x86/intel/sdsi: Poll on ready bit for writes (Prarit Bhargava) [2100948] - platform/x86/intel/sdsi: Handle leaky bucket (Prarit Bhargava) [2100948] - indirect_call_wrapper: extend indirect wrapper to support up to 4 calls (Petr Oros) [2101705] - block: Fix handling of offline queues in blk_mq_alloc_request_hctx() (Ming Lei) [2081913] - netfilter: br_netfilter: do not skip all hooks with 0 priority (Florian Westphal) [2099732] - net: openvswitch: fix parsing of nw_proto for IPv6 fragments (Eelco Chaudron) [2101537] - s390/smp,vdso: fix ASCE handling (Tobias Huschle) [2103887] - [s390] s390/pci: fix zpci_zdev_put() on reserve (Claudio Imbrenda) [2102305] - intel/igbvf:fix repeated words in comments (Corinna Vinschen) [2037962] - igbvf: Remove useless DMA-32 fallback configuration (Corinna Vinschen) [2037962] - SUNRPC: avoid race between mod_timer() and del_timer_sync() (Benjamin Coddington) [2104507] - iavf: Fix issue with MAC address of VF shown as zero (Petr Oros) [2037938] - iavf: switch to napi_build_skb() (Petr Oros) [2037938] - iavf: Remove non-inclusive language (Petr Oros) [2037938] - iavf: Fix incorrect use of assigning iavf_status to int (Petr Oros) [2037938] - iavf: stop leaking iavf_status as "errno" values (Petr Oros) [2037938] - iavf: Add usage of new virtchnl format to set default MAC (Petr Oros) [2037938] - iavf: refactor processing of VLAN V2 capability message (Petr Oros) [2037938] - iavf: Add support for 50G/100G in AIM algorithm (Petr Oros) [2037938] - iavf: remove redundant ret variable (Petr Oros) [2037938] - iavf: Remove useless DMA-32 fallback configuration (Petr Oros) [2037938] - cifs: fix potential double free during failed mount (Ronnie Sahlberg) [2088799] - cifs: escape spaces in share names (Dave Wysochanski) [2100367] - Documentation: add documentation for force_cgroup_v2_swappiness control (Nico Pache) [2084242] - Introduce force_cgroup_v2_swappiness tuneable to deprecate cgv1 per-cgroup swappiness (Nico Pache) [2084242] - redhat: trim rpminspect config file (Jarod Wilson)- powerpc/smp: Set numa node before updating mask (Diego Domingos) [2103833] - iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping() (Mohammed Gamal) [2088366] - irqdomain/treewide: Free firmware node after domain removal (Mohammed Gamal) [2088366] - x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64 (Mohammed Gamal) [2088366] - x86/kvm: Don't waste memory if kvmclock is disabled (Mohammed Gamal) [2088366] - x86/pci: Create PCI/MSI irqdomain after x86_init.pci.arch_init() (Mohammed Gamal) [2088366] - x86/pci: Reducde #ifdeffery in PCI init code (Mohammed Gamal) [2088366] - hv_utils: Add comment about max VMbus packet size in VSS driver (Mohammed Gamal) [2088366] - x86/coco: Explicitly declare type of confidential computing platform (Mohammed Gamal) [2088366] - x86/hyper-v: Add hyperv Isolation VM check in the cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Use CC_ATTR attribute to generalize string I/O unroll (Mohammed Gamal) [2088366] - random: remove unused irq_flags argument from add_interrupt_randomness() (Mohammed Gamal) [2088366] - x86/hyperv: Fix definition of hv_ghcb_pg variable (Mohammed Gamal) [2088366] - swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap() (Mohammed Gamal) [2088366] - hyper-v: Enable swiotlb bounce buffer for Isolation VM (Mohammed Gamal) [2088366] - swiotlb: Add swiotlb bounce buffer remap function for HV IVM (Mohammed Gamal) [2088366] - x86/hyperv: Refactor hv_msi_domain_free_irqs() (Mohammed Gamal) [2088366] - x86/hyperv: Move required MSRs check to initial platform probing (Mohammed Gamal) [2088366] - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails (Mohammed Gamal) [2088366] - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted (Mohammed Gamal) [2088366] - x86/hyperv: Remove duplicate include (Mohammed Gamal) [2088366] - x86/hyperv: Remove duplicated include in hv_init (Mohammed Gamal) [2088366] - x86/hyperv: Add ghcb hvcall support for SNP VM (Mohammed Gamal) [2088366] - x86/hyperv: Add Write/Read MSR registers via ghcb page (Mohammed Gamal) [2088366] - x86/hyperv: Add new hvcall guest address host visibility support (Mohammed Gamal) [2088366] - x86/hyperv: Initialize shared memory boundary in the Isolation VM. (Mohammed Gamal) [2088366] - x86/hyperv: Initialize GHCB page in Isolation VM (Mohammed Gamal) [2088366] - x86/sev: Replace occurrences of sev_es_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Replace occurrences of sev_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev-es: Do not unroll string I/O for SEV-ES guests (Mohammed Gamal) [2088366] - efi/x86: Avoid RWX mappings for all of DRAM (Mohammed Gamal) [2088366] - x86/sme: Replace occurrences of sme_active() with cc_platform_has() (Mohammed Gamal) [2088366] - x86/sev: Add an x86 version of cc_platform_has() (Mohammed Gamal) [2088366] - vmalloc: fix the owner argument for the new __vmalloc_node_range callers (Mohammed Gamal) [2088366] - mm: remove vmalloc_exec (Mohammed Gamal) [2088366] - arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page (Mohammed Gamal) [2088366] - arm64/kprobes: set VM_FLUSH_RESET_PERMS on kprobe instruction pages (Mohammed Gamal) [2088366] - x86/hyperv: allocate the hypercall page with only read and execute bits (Mohammed Gamal) [2088366] - x86/hyperv: use vmalloc_exec for the hypercall page (Mohammed Gamal) [2088366] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [2088366] - x86/irq: Initialize PCI/MSI domain at PCI init time (Mohammed Gamal) [2088366] - x86/hyperv: implement an MSI domain for root partition (Mohammed Gamal) [2088366] - irqdomain/treewide: Keep firmware node unconditionally allocated (Mohammed Gamal) [2088366] - irqdomain/msi: Allow to override msi_domain_alloc/free_irqs() (Mohammed Gamal) [2088366] - x86/sev: Expose sev_es_ghcb_hv_call() for use by HyperV (Mohammed Gamal) [2088366] - x86/sev: Carve out HV call's return value verification (Mohammed Gamal) [2088366] - x86/sev: Fix noinstr for vc_ghcb_invalidate() (Mohammed Gamal) [2088366] - arch/cc: Introduce a function to check for confidential computing features (Mohammed Gamal) [2088366] - Revert "drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status" (Mohammed Gamal) [2088366] - Revert "drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status" (Mohammed Gamal) [2088366] - libperf tests: Fix typo in perf_evlist__open() failure error messages (Michael Petlan) [1878555] - libperf: Fix 32-bit build for tests uint64_t printf (Michael Petlan) [1878555] - libperf: Add arm64 support to perf_mmap__read_self() (Michael Petlan) [1878555] - libperf tests: Add test_stat_multiplexing test (Michael Petlan) [1878555] - libperf: Remove scaling process from perf_mmap__read_self() (Michael Petlan) [1878555] - libperf: Adopt perf_counts_values__scale() from tools/perf/util (Michael Petlan) [1878555] - arm64: perf: Don't register user access sysctl handler multiple times (Michael Petlan) [1878555] - Documentation: arm64: Document PMU counters access from userspace (Michael Petlan) [1878555] - arm64: perf: Enable PMU counter userspace access for perf event (Michael Petlan) [1878555] - arm64: perf: Add support for ARMv8.5-PMU 64-bit counters (Michael Petlan) [1878555] - arm64: perf: Clean up enable/disable calls (Michael Petlan) [1878555] - arm64: perf: Only advertise cap_user_time for arch_timer (Michael Petlan) [1878555] - arm64: perf: Implement correct cap_user_time (Michael Petlan) [1878555] - arm64: perf: Add userspace counter access disable switch (Michael Petlan) [1878555] - perf: Add a counter for number of user access events in context (Michael Petlan) [1878555] - x86: perf: Move RDPMC event flag to a common definition (Michael Petlan) [1878555] - Fix null ptr dereference crash due to premature release of ndlp. Upstream Status: RHEL-Only Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2034425 (Dick Kennedy) - lpfc updates for rh8.7 14.0.0.13 (Dick Kennedy) [2034425] - scsi: lpfc: Use sg_dma_address() and sg_dma_len() macros for NVMe I/O (Dick Kennedy) [2034425] - scsi: lpfc: Alter FPIN stat accounting logic (Dick Kennedy) [2034425] - scsi: lpfc: Decrement outstanding gidft_inp counter if lpfc_err_lost_link() (Dick Kennedy) [2034425] - scsi: lpfc: Use list_for_each_entry_safe() in rscn_recovery_check() (Dick Kennedy) [2034425] - scsi: lpfc: Fix ndlp put following a LOGO completion (Dick Kennedy) [2034425] - scsi: lpfc: Fix additional reference counting in lpfc_bsg_rport_els() (Dick Kennedy) [2034425] - scsi: lpfc: Fix resource leak in lpfc_sli4_send_seq_to_ulp() (Dick Kennedy) [2034425] - scsi: lpfc: Remove unneeded variable (Dick Kennedy) [2034425] - scsi: lpfc: Copyright updates for 14.2.0.2 patches (Dick Kennedy) [2034425] - scsi: lpfc: Expand setting ELS_ID field in ELS_REQUEST64_WQE (Dick Kennedy) [2034425] - scsi: lpfc: Update stat accounting for READ_STATUS mbox command (Dick Kennedy) [2034425] - scsi: lpfc: Change FA-PWWN detection methodology (Dick Kennedy) [2034425] - scsi: lpfc: Register for Application Services FC-4 type in Fabric topology (Dick Kennedy) [2034425] - scsi: lpfc: Remove false FDMI NVMe FC-4 support for NPIV ports (Dick Kennedy) [2034425] - scsi: lpfc: Revise FDMI reporting of supported port speed for trunk groups (Dick Kennedy) [2034425] - scsi: lpfc: Fix call trace observed during I/O with CMF enabled (Dick Kennedy) [2034425] - scsi: lpfc: Correct CRC32 calculation for congestion stats (Dick Kennedy) [2034425] - scsi: lpfc: Move MI module parameter check to handle dynamic disable (Dick Kennedy) [2034425] - scsi: lpfc: Remove unnecessary NULL pointer assignment for ELS_RDF path (Dick Kennedy) [2034425] - scsi: lpfc: Transition to NPR state upon LOGO cmpl if link down or aborted (Dick Kennedy) [2034425] - scsi: lpfc: Update fc_prli_sent outstanding only after guaranteed IOCB submit (Dick Kennedy) [2034425] - scsi: lpfc: Protect memory leak for NPIV ports sending PLOGI_RJT (Dick Kennedy) [2034425] - scsi: lpfc: Fix null pointer dereference after failing to issue FLOGI and PLOGI (Dick Kennedy) [2034425] - scsi: lpfc: Clear fabric topology flag before initiating a new FLOGI (Dick Kennedy) [2034425] - scsi: lpfc: Fix SCSI I/O completion and abort handler deadlock (Dick Kennedy) [2034425] - scsi: lpfc: Requeue SCSI I/O to upper layer when fw reports link down (Dick Kennedy) [2034425] - scsi: lpfc: Zero SLI4 fcp_cmnd buffer's fcpCntl0 field (Dick Kennedy) [2034425] - scsi: lpfc: Fix diagnostic fw logging after a function reset (Dick Kennedy) [2034425] - scsi: lpfc: Move cfg_log_verbose check before calling lpfc_dmp_dbg() (Dick Kennedy) [2034425] - scsi: lpfc: Tweak message log categories for ELS/FDMI/NVMe rescan (Dick Kennedy) [2034425] - scsi: lpfc: Fix queue failures when recovering from PCI parity error (Dick Kennedy) [2034425] - scsi: lpfc: Fix unload hang after back to back PCI EEH faults (Dick Kennedy) [2034425] - scsi: lpfc: Improve PCI EEH Error and Recovery Handling (Dick Kennedy) [2034425] - scsi: lpfc: Use kcalloc() (Dick Kennedy) [2034425] - scsi: lpfc: Fix typos in comments (Dick Kennedy) [2034425] - scsi: lpfc: Remove failing soft_wwn support (Dick Kennedy) [2034425] - scsi: lpfc: Reduce log messages seen after firmware download (Dick Kennedy) [2034425] - scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled (Dick Kennedy) [2034425] - scsi: lpfc: Remove redundant flush_workqueue() call (Dick Kennedy) [2034425] - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() (Dick Kennedy) [2034425] - scsi: lpfc: Use irq_set_affinity() (Dick Kennedy) [2034425] - time: Handle negative seconds correctly in timespec64_to_ns() (Íñigo Huguet) [2098634] - time: Prevent undefined behaviour in timespec64_to_ns() (Íñigo Huguet) [2098634] - mm,hwpoison: return -EBUSY when migration fails (Rafael Aquini) [2092671 2099510] - mm,hwpoison: remove drain_all_pages from shake_page (Rafael Aquini) [2092671] - mm,hwpoison: disable pcplists before grabbing a refcount (Rafael Aquini) [2092671] - mm,hwpoison: fix printing of page flags (Rafael Aquini) [2092671] - mm,hwpoison: refactor get_any_page (Rafael Aquini) [2092671] - mm,hwpoison: drop unneeded pcplist draining (Rafael Aquini) [2092671] - mm,hwpoison: drain pcplists before bailing out for non-buddy zero-refcount page (Rafael Aquini) [2092671] - redhat: Exclude cpufreq.h from kernel-headers (Patrick Talbert)- dm raid: fix accesses beyond end of raid member array (Benjamin Marzinski) [2012340] - dm mirror log: clear log bits up to BITS_PER_LONG boundary (Benjamin Marzinski) [2012340] - dm: fix BLK_STS_DM_REQUEUE handling when dm_io represents split bio (Benjamin Marzinski) [2012340] - dm mirror log: round up region bitmap size to BITS_PER_LONG (Benjamin Marzinski) [2012340] - dm: improve abnormal bio processing (Benjamin Marzinski) [2012340] - dm: simplify bio-based IO accounting further (Benjamin Marzinski) [2012340] - dm: don't grab target io reference in dm_zone_map_bio (Benjamin Marzinski) [2012340] - dm: improve bio splitting and associated IO accounting (Benjamin Marzinski) [2012340] - dm era: commit metadata in postsuspend after worker stops (Benjamin Marzinski) [2012340] - dm: fix race in dm_start_io_acct (Benjamin Marzinski) [2012340] - block: remove bioset_init_from_src (Benjamin Marzinski) [2012340] - dm: fix bio_set allocation (Benjamin Marzinski) [2012340] - dm verity: set DM_TARGET_IMMUTABLE feature flag (Benjamin Marzinski) [2012340] - dm cache metadata: remove unnecessary variable in __dump_mapping (Benjamin Marzinski) [2012340] - dm mpath: provide high-resolution timer to HST for bio-based (Benjamin Marzinski) [2012340] - dm crypt: make printing of the key constant-time (Benjamin Marzinski) [2012340] - dm integrity: fix error code in dm_integrity_ctr() (Benjamin Marzinski) [2012340] - dm stats: add cond_resched when looping over entries (Benjamin Marzinski) [2012340] - dm: improve dm_io reference counting (Benjamin Marzinski) [2012340] - dm: switch to bdev based IO accounting interfaces (Benjamin Marzinski) [2012340] - block: add sectors parameter to bio_start_io_acct_time() (Benjamin Marzinski) [2012340] - dm: pass dm_io instance to dm_io_acct directly (Benjamin Marzinski) [2012340] - dm: don't pass bio to __dm_start_io_acct and dm_end_io_acct (Benjamin Marzinski) [2012340] - dm: use bio_sectors in dm_aceept_partial_bio (Benjamin Marzinski) [2012340] - dm: simplify basic targets (Benjamin Marzinski) [2012340] - dm: conditionally enable branching for less used features (Benjamin Marzinski) [2012340] - dm: move hot dm_io members to same cacheline as dm_target_io (Benjamin Marzinski) [2012340] - dm: add local variables to clone_endio and __map_bio (Benjamin Marzinski) [2012340] - dm: mark various branches unlikely (Benjamin Marzinski) [2012340] - dm: simplify dm_start_io_acct (Benjamin Marzinski) [2012340] - dm: simplify dm_io access in dm_split_and_process_bio (Benjamin Marzinski) [2012340] - dm: factor out dm_io_set_error and __dm_io_dec_pending (Benjamin Marzinski) [2012340] - block: fix offset/size check in bio_trim() (Benjamin Marzinski) [2012340] - block: fix argument type of bio_trim() (Benjamin Marzinski) [2012340] - dm: allow dm_accept_partial_bio() for dm_io without duplicate bios (Benjamin Marzinski) [2012340] - dm mpath: only use ktime_get_ns() in historical selector (Benjamin Marzinski) [2012340] - dm: fix dm_io and dm_target_io flags race condition on Alpha (Benjamin Marzinski) [2012340] - dm integrity: set journal entry unused when shrinking device (Benjamin Marzinski) [2012340] - dm ioctl: log an error if the ioctl structure is corrupted (Benjamin Marzinski) [2012340] - dm: consolidate spinlocks in dm_io struct (Benjamin Marzinski) [2012340] - dm: reduce size of dm_io and dm_target_io structs (Benjamin Marzinski) [2012340] - dm: switch dm_target_io booleans over to proper flags (Benjamin Marzinski) [2012340] - dm: switch dm_io booleans over to proper flags (Benjamin Marzinski) [2012340] - dm: return void from __send_empty_flush (Benjamin Marzinski) [2012340] - dm: factor out dm_io_complete (Benjamin Marzinski) [2012340] - dm cache: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: simplify dm_sumbit_bio_remap interface (Benjamin Marzinski) [2012340] - dm thin: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: add WARN_ON_ONCE to dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: requeue IO if mapping table not yet available (Benjamin Marzinski) [2012340] - dm thin metadata: remove unused dm_thin_remove_block and __remove (Benjamin Marzinski) [2012340] - dm thin: use time_is_before_jiffies instead of open coding it (Benjamin Marzinski) [2012340] - dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS (Benjamin Marzinski) [2012340] - dm ioctl: prevent potential spectre v1 gadget (Benjamin Marzinski) [2012340] - dm cache policy smq: make static read-only array table const (Benjamin Marzinski) [2012340] - dm delay: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm crypt: use dm_submit_bio_remap (Benjamin Marzinski) [2012340] - dm: add dm_submit_bio_remap interface (Benjamin Marzinski) [2012340] - dm: flag clones created by __send_duplicate_bios (Benjamin Marzinski) [2012340] - dm: reduce dm_io and dm_target_io struct sizes (Benjamin Marzinski) [2012340] - dm: move duplicate code from callers of alloc_tio into alloc_tio (Benjamin Marzinski) [2012340] - dm: record old_sector in dm_target_io before calling map function (Benjamin Marzinski) [2012340] - dm: remove legacy code only needed before submit_bio recursion (Benjamin Marzinski) [2012340] - dm: remove unused mapped_device argument from free_tio (Benjamin Marzinski) [2012340] - dm: remove impossible BUG_ON in __send_empty_flush (Benjamin Marzinski) [2012340] - dm: reduce code duplication in __map_bio (Benjamin Marzinski) [2012340] - dm: refactor dm_split_and_process_bio a bit (Benjamin Marzinski) [2012340] - dm: fold __clone_and_map_data_bio into __split_and_process_bio (Benjamin Marzinski) [2012340] - dm: rename split functions (Benjamin Marzinski) [2012340] - dm: eliminate copying of dm_io fields in dm_io_dec_pending (Benjamin Marzinski) [2012340] - dm ioctl: return UUID in DM_LIST_DEVICES_CMD result (Benjamin Marzinski) [2012340] - dm crypt: support using trusted keys (Benjamin Marzinski) [2012340] - dm crypt: replaced #if defined with IS_ENABLED (Benjamin Marzinski) [2012340] - ext4: add check to prevent attempting to resize an fs with sparse_super2 (Lukas Czerner) [2077760] - fscache: Avoid ASSERTCMP if two threads race into fscache_disable_cookie (Dave Wysochanski) [2073260] - lib: bitmap: Introduce node-aware alloc API (Ivan Vecera) [2101701] - exec: Force single empty string when argv is empty (Rafael Aquini) [2100955] - powerpc: Enable execve syscall exit tracepoint (Steve Best) [2095521] - cgroup: disable controllers at parse time (Waiman Long) [2098264] - init: initialize jump labels before command line option parsing (Waiman Long) [2098264] - smp: Make softirq handling RT safe in flush_smp_call_function_queue() (Phil Auld) [2097364] - smp: Rename flush_smp_call_function_from_idle() (Phil Auld) [2097364] - cpupower: Add "perf" option to print AMD P-State information (Steve Best) [2059365] - cpupower: Add function to print AMD P-State performance capabilities (Steve Best) [2059365] - cpupower: Move print_speed function into misc helper (Steve Best) [2059365] - cpupower: Enable boost state support for AMD P-State module (Steve Best) [2059365] - cpupower: Add AMD P-State sysfs definition and access helper (Steve Best) [2059365] - cpupower: Introduce ACPI CPPC library (Steve Best) [2059365] - cpupower: Add the function to get the sysfs value from specific table (Steve Best) [2059365] - cpupower: Initial AMD P-State capability (Steve Best) [2059365] - cpupower: Add the function to check AMD P-State enabled (Steve Best) [2059365] - cpupower: Add AMD P-State capability flag (Steve Best) [2059365] - tools/power/cpupower/{ToDo => TODO}: Rename the todo file (Steve Best) [2059365] - tools: cpupower: fix typo in cpupower-idle-set(1) manpage (Steve Best) [2059365] - ntb: intel: fix port config status offset for SPR (John W. Linville) [2048750] - NTB/msi: Use struct_size() helper in devm_kzalloc() (John W. Linville) [2048750] - ntb_hw_switchtec: Fix a minor issue in config_req_id_table() (John W. Linville) [2048750] - ntb_hw_switchtec: Remove code for disabling ID protection (John W. Linville) [2048750] - ntb_hw_switchtec: Update the way of getting VEP instance ID (John W. Linville) [2048750] - ntb_hw_switchtec: AND with the part_map for a valid tpart_vec (John W. Linville) [2048750] - ntb_hw_switchtec: Fix bug with more than 32 partitions (John W. Linville) [2048750] - ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all (John W. Linville) [2048750] - ntb_hw_switchtec: fix the spelling of "its" (John W. Linville) [2048750] - NTB/msi: Fix ntbm_msi_request_threaded_irq() kernel-doc comment (John W. Linville) [2048750] - NTB: switch from 'pci_' to 'dma_' API (John W. Linville) [2048750] - ntb: ntb_pingpong: remove redundant initialization of variables msg_data and spad_data (John W. Linville) [2048750] - NTB: perf: Fix an error code in perf_setup_inbuf() (John W. Linville) [2048750] - NTB: Fix an error code in ntb_msit_probe() (John W. Linville) [2048750] - ntb: intel: remove invalid email address in header comment (John W. Linville) [2048750] - NTB: Add support for EPF PCI Non-Transparent Bridge (John W. Linville) [2048750] - ntb: intel: add Intel NTB LTR vendor support for gen4 NTB (John W. Linville) [2048750] - ntb: idt: fix error check in ntb_hw_idt.c (John W. Linville) [2048750]- KVM: x86: Fix the intel_pt PMI handling wrongly considered from guest (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't rebuild page when the page is synced and no tlb flushing is required (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Verify the pmu event filter matches the correct event (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Add the helper function create_pmu_event_filter (Vitaly Kuznetsov) [2074835] - kvm: x86/pmu: Fix the compare function used by the pmu event filter (Vitaly Kuznetsov) [2074835] - KVM: Free new dirty bitmap if creating a new memslot fails (Vitaly Kuznetsov) [2074835] - KVM: Initialize debugfs_dentry when a VM is created to avoid NULL deref (Vitaly Kuznetsov) [2074835] - tools arch x86: Sync asm/cpufeatures.h with the with the kernel (Vitaly Kuznetsov) [2074835] - KVM: PPC: Book3S HV: Fix kvm_unmap_gfn_range_hv() for Hash MMU (Vitaly Kuznetsov) [2074835] - KVM: PPC: Book3S HV: Fix conversion to gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: arm64: Fix boolreturn.cocci warnings (Vitaly Kuznetsov) [2074835] - KVM: VMX: Exit to userspace if vCPU has injected exception and invalid state (Vitaly Kuznetsov) [2074835] - KVM: SEV: Mark nested locking of vcpu->lock (Vitaly Kuznetsov) [2074835] - kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Account for family 17h event renumberings in amd_pmc_perf_hw_id (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use atomic XCHG to write TDP MMU SPTEs with volatile bits (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move shadow-present check out of spte_has_volatile_bits() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't treat fully writable SPTEs as volatile (modulo A/D) (Vitaly Kuznetsov) [2074835] - selftests: kvm: add amx_test to .gitignore (Vitaly Kuznetsov) [2074835] - Revert "x86/mm: Introduce lookup_address_in_mm()" (Vitaly Kuznetsov) [2074835] - KVM: x86: work around QEMU issue with synthetic CPUID leaves (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: fix potential races when walking host page table (Vitaly Kuznetsov) [2074835] - Documentation: KVM: Update documentation to indicate KVM is arm64-only (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Do not create SPTEs for GFNs that exceed host.MAXPHYADDR (Vitaly Kuznetsov) [2074835] - kvm: selftests: introduce and use more page size-related constants (Vitaly Kuznetsov) [2074835] - kvm: selftests: do not use bitfields larger than 32-bits for PTEs (Vitaly Kuznetsov) [2074835] - KVM: SEV: add cache flush to solve SEV cache incoherency issues (Vitaly Kuznetsov) [2074835] - KVM: SVM: Flush when freeing encrypted pages even on SME_COHERENT CPUs (Vitaly Kuznetsov) [2074835] - KVM: SVM: Simplify and harden helper to flush SEV guest page(s) (Vitaly Kuznetsov) [2074835] - KVM: selftests: Silence compiler warning in the kvm_page_table_test (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Update AMD PMC sample period to fix guest NMI-watchdog (Vitaly Kuznetsov) [2074835] - x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume (Vitaly Kuznetsov) [2074835] - KVM: x86: Skip KVM_GUESTDBG_BLOCKIRQ APICv update if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: x86: Pend KVM_REQ_APICV_UPDATE during vCPU creation to fix a race (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Defer APICv updates while L2 is active until L1 is active (Vitaly Kuznetsov) [2074835] - KVM: x86: Tag APICv DISABLE inhibit, not ABSENT, if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: Add helpers to wrap vcpu->srcu_idx and yell if it's abused (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't re-acquire SRCU lock in complete_emulated_io() (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Check for supported page sizes (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Initialise default guest mode at test startup time (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Introduce a variable default IPA size (Vitaly Kuznetsov) [2074835] - KVM: selftests: arm64: Rework TCR_EL1 configuration (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Avoid writing to TSC page without an active vCPU (Vitaly Kuznetsov) [2074835] - KVM: SVM: Do not activate AVIC for SEV-enabled guest (Vitaly Kuznetsov) [2074835] - selftests: kvm: add tsc_scaling_sync to .gitignore (Vitaly Kuznetsov) [2074835] - KVM: Don't create VM debugfs files outside of the VM directory (Vitaly Kuznetsov) [2074835] - KVM: avoid NULL pointer dereference in kvm_dirty_ring_push (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: remove unnecessary flush_workqueue() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Resolve nx_huge_pages when kvm.ko is loaded (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add cond_resched() to loop in sev_clflush_pages() (Vitaly Kuznetsov) [2074835] - KVM: x86: fix sending PV IPI (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do compare-and-exchange of gPTE via the user address (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove redundant vm_entry_controls_clearbit() call (Vitaly Kuznetsov) [2074835] - KVM: x86: cleanup enter_rmode() (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: fix tsc scaling when the host doesn't support it (Vitaly Kuznetsov) [2074835] - kvm: x86: SVM: remove unused defines (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: move tsc ratio definitions to svm.h (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: fix avic spec based definitions again (Vitaly Kuznetsov) [2074835] - KVM: x86: Only do MSR filtering when access MSR by rdmsr/wrmsr (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Emulate RDPID only if it is enabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix and isolate TSX-specific performance event logic (Vitaly Kuznetsov) [2074835] - KVM: x86: mmu: trace kvm_mmu_set_spte after the new SPTE was set (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs (Vitaly Kuznetsov) [2074835] - KVM: x86: Trace all APICv inhibit changes and capture overall status (Vitaly Kuznetsov) [2074835] - KVM: x86: Add wrappers for setting/clearing APICv inhibits (Vitaly Kuznetsov) [2074835] - KVM: x86: Make APICv inhibit reasons an enum and cleanup naming (Vitaly Kuznetsov) [2074835] - KVM: X86: Handle implicit supervisor access with SMAP (Vitaly Kuznetsov) [2074835] - KVM: X86: Rename variable smap to not_smap in permission_fault() (Vitaly Kuznetsov) [2074835] - KVM: X86: Fix comments in update_permission_bitmask (Vitaly Kuznetsov) [2074835] - KVM: X86: Change the type of access u32 to u64 (Vitaly Kuznetsov) [2074835] - KVM: Remove dirty handling from gfn_to_pfn_cache completely (Vitaly Kuznetsov) [2074835] - KVM: Use enum to track if cached PFN will be used in guest and/or host (Vitaly Kuznetsov) [2074835] - KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use different raw event masks for AMD and Intel (Vitaly Kuznetsov) [2074835] - KVM: Don't actually set a request when evicting vCPUs for GFN cache invd (Vitaly Kuznetsov) [2074835] - KVM: avoid double put_page with gfn-to-pfn cache (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only TDP MMU leafs in zap range and mmu_notifier unmap (Vitaly Kuznetsov) [2074835] - KVM: SVM: fix panic on out-of-bounds guest IRQ (Vitaly Kuznetsov) [2074835] - KVM: MMU: propagate alloc_workqueue failure (Vitaly Kuznetsov) [2074835] - KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated (Vitaly Kuznetsov) [2074835] - KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast() (Vitaly Kuznetsov) [2074835] - KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix clang -Wimplicit-fallthrough in do_host_cpuid() (Vitaly Kuznetsov) [2074835] - Revert "KVM: set owner of cpu and vm file operations" (Vitaly Kuznetsov) [2074835] - KVM: Prevent module exit until all VMs are freed (Vitaly Kuznetsov) [2074835] - KVM: use kvcalloc for array allocations (Vitaly Kuznetsov) [2074835] - KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2 (Vitaly Kuznetsov) [2074835] - kvm: x86: Require const tsc for RT (Vitaly Kuznetsov) [2074835] - KVM: x86: synthesize CPUID leaf 0x80000021h if useful (Vitaly Kuznetsov) [2074835] - KVM: x86: add support for CPUID leaf 0x80000021 (Vitaly Kuznetsov) [2074835] - Revert "KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range()" (Vitaly Kuznetsov) [2074835] - kvm: x86/mmu: Flush TLB before zap_gfn_range releases RCU (Vitaly Kuznetsov) [2074835] - kvm/emulate: Fix SETcc emulation function offsets with SLS (Vitaly Kuznetsov) [2074835] - KVM: compat: riscv: Prevent KVM_COMPAT from being selected (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to populate a VM with the max possible guest mem (Vitaly Kuznetsov) [2074835] - KVM: selftests: Define cpu_relax() helpers for s390 and x86 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Split out helper to allocate guest mem via memfd (Vitaly Kuznetsov) [2074835] - KVM: selftests: add shared hugetlbfs backing source type (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move raw KVM_SET_USER_MEMORY_REGION helper to utils (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: WARN on any attempt to atomically update REMOVED SPTE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for a REMOVED leaf SPTE before making the SPTE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap defunct roots via asynchronous worker (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap roots in two passes to avoid inducing RCU stalls (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow yielding when zapping GFNs for defunct TDP MMU root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap invalidated roots via asynchronous worker (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Defer TLB flush to caller when freeing TDP MMU shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Do remote TLB flush before dropping RCU in TDP MMU resched (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Require mmu_lock be held for write to zap TDP MMU range (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add dedicated helper to zap TDP MMU root shadow page (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip remote TLB flush when zapping all of TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only the target TDP MMU shadow page in NX recovery (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Refactor low-level TDP MMU set SPTE helper to take raw values (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: WARN if old _or_ new SPTE is REMOVED in non-atomic path (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add helpers to read/write TDP MMU SPTEs and document RCU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop RCU after processing each root in MMU notifier hooks (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Batch TLB flushes from TDP MMU for MMU notifier change_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for !leaf=>leaf, not PFN change, in TDP MMU SP removal (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not allow readers to acquire references to invalid roots (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: only perform eager page splitting on valid roots (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Require mmu_lock be held for write in unyielding root iter (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Document that zapping invalidated roots doesn't need to flush (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Formalize TDP MMU's (unintended?) deferred TLB flush logic (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix wrong/misleading comments in TDP MMU fast zap (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU (Vitaly Kuznetsov) [2074835] - selftests: kvm: add generated file to the .gitignore (Vitaly Kuznetsov) [2074835] - KVM: x86: pull kvm->srcu read-side to kvm_arch_vcpu_ioctl_run (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots() (Vitaly Kuznetsov) [2074835] - KVM: SVM: Disable preemption across AVIC load/put during APICv refresh (Vitaly Kuznetsov) [2074835] - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors (Vitaly Kuznetsov) [2074835] - KVM: WARN if is_unsync_root() is called on a root without a shadow page (Vitaly Kuznetsov) [2074835] - KVM: Drop KVM_REQ_MMU_RELOAD and update vcpu-requests.rst documentation (Vitaly Kuznetsov) [2074835] - KVM: s390: Replace KVM_REQ_MMU_RELOAD usage with arch specific request (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap only obsolete roots if a root shadow page is zapped (Vitaly Kuznetsov) [2074835] - KVM: Drop kvm_reload_remote_mmus(), open code request in x86 users (Vitaly Kuznetsov) [2074835] - KVM: x86: Invoke kvm_mmu_unload() directly on CR4.PCIDE change (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Move the unhandled outer privilege level logic of far return into __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Fix wrong privilege check for code segment in __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to verify KVM handling of ICR (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_lapic_set_reg() a "private" xAPIC helper (Vitaly Kuznetsov) [2074835] - KVM: x86: Treat x2APIC's ICR as a 64-bit register, not two 32-bit regs (Vitaly Kuznetsov) [2074835] - KVM: x86: Add helpers to handle 64-bit APIC MSR read/writes (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_lapic_reg_{read,write}() static (Vitaly Kuznetsov) [2074835] - KVM: x86: WARN if KVM emulates an IPI without clearing the BUSY flag (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't rewrite guest ICR on AVIC IPI virtualization failure (Vitaly Kuznetsov) [2074835] - KVM: SVM: Use common kvm_apic_write_nodecode() for AVIC write traps (Vitaly Kuznetsov) [2074835] - KVM: x86: Use "raw" APIC register read for handling APIC-write VM-Exit (Vitaly Kuznetsov) [2074835] - KVM: VMX: Handle APIC-write offset wrangling in VMX code (Vitaly Kuznetsov) [2074835] - KVM: x86: Do not change ICR on write to APIC_SELF_IPI (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix emulation in writing cr8 (Vitaly Kuznetsov) [2074835] - KVM: x86: flush TLB separately from MMU reset (Vitaly Kuznetsov) [2074835] - KVM: x86: Yield to IPI target vCPU only if it is busy (Vitaly Kuznetsov) [2074835] - x86/kvmclock: Fix Hyper-V Isolated VM's boot issue when vCPUs > 64 (Vitaly Kuznetsov) [2074835] - x86/kvm: Don't waste memory if kvmclock is disabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: clear MMIO cache when unloading the MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Always use current mmu's role when loading new PGD (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: load new PGD after the shadow MMU is initialized (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: look for a cached PGD when going from 32-bit to 64-bit (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not pass vcpu to root freeing functions (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: do not consult levels when freeing roots (Vitaly Kuznetsov) [2074835] - KVM: x86: use struct kvm_mmu_root_info for mmu->root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: avoid NULL-pointer dereference on page freeing bugs (Vitaly Kuznetsov) [2074835] - KVM: x86: do not deliver asynchronous page faults if CR0.PG=0 (Vitaly Kuznetsov) [2074835] - KVM: x86: Reinitialize context if host userspace toggles EFER.LME (Vitaly Kuznetsov) [2074835] - KVM: selftests: Verify disabling PMU virtualization via KVM_CAP_CONFIG_PMU (Vitaly Kuznetsov) [2074835] - KVM: selftests: Carve out helper to create "default" VM without vCPUs (Vitaly Kuznetsov) [2074835] - KVM: x86: Provide per VM capability for disabling PMU virtualization (Vitaly Kuznetsov) [2074835] - KVM: Move VM's worker kthreads back to the original cgroup before exiting. (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove scratch 'cpu' variable that shadows an identical scratch var (Vitaly Kuznetsov) [2074835] - kvm: vmx: Fix typos comment in __loaded_vmcs_clear() (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Make setup/unsetup under the same conditions (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB flush hypercalls (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb() (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi() (Vitaly Kuznetsov) [2074835] - Revert "KVM: VMX: Save HOST_CR3 in vmx_prepare_switch_to_guest()" (Vitaly Kuznetsov) [2074835] - Revert "KVM: VMX: Save HOST_CR3 in vmx_set_host_fs_gs()" (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: disallow userspace setting of MSR_AMD64_TSC_RATIO to non default value when tsc scaling disabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: make apf token non-zero to fix bug (Vitaly Kuznetsov) [2074835] - selftests: kvm: Add the uapi headers include variable (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add EXTRA_CFLAGS in top-level Makefile (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove MMU auditing (Vitaly Kuznetsov) [2074835] - KVM: x86: make several APIC virtualization callbacks optional (Vitaly Kuznetsov) [2074835] - KVM: x86: warn on incorrectly NULL members of kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: remove KVM_X86_OP_NULL and mark optional kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: use static_call_cond for optional callbacks (Vitaly Kuznetsov) [2074835] - KVM: x86: return 1 unconditionally for availability of KVM_CAP_VAPIC (Vitaly Kuznetsov) [2074835] - selftests: KVM: allow sev_migrate_tests on machines without SEV-ES (Vitaly Kuznetsov) [2074835] - KVM: SEV: Allow SEV intra-host migration of VM with mirrors (Vitaly Kuznetsov) [2074835] - x86/kvm: Fix compilation warning in non-x86_64 builds (Vitaly Kuznetsov) [2074835] - kvm: x86: Disable KVM_HC_CLOCK_PAIRING if tsc is in always catchup mode (Vitaly Kuznetsov) [2074835] - KVM: Fix lockdep false negative during host resume (Vitaly Kuznetsov) [2074835] - KVM: x86: Add KVM_CAP_ENABLE_CAP to x86 (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename AVIC helpers to use "avic" prefix instead of "svm" (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Don't truncate the PerfEvtSeln MSR when creating a perf event (Vitaly Kuznetsov) [2074835] - KVM: x86: Replace memset() "optimization" with normal per-field writes (Vitaly Kuznetsov) [2074835] - KVM: SVM: fix race between interrupt delivery and AVIC inhibition (Vitaly Kuznetsov) [2074835] - KVM: SVM: set IRR in svm_deliver_interrupt (Vitaly Kuznetsov) [2074835] - KVM: SVM: extract avic_ring_doorbell (Vitaly Kuznetsov) [2074835] - selftests: kvm: Remove absent target file (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use local pointer to vcpu_vmx in vmx_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Add enlightened MSR-Bitmap selftest (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Update 'struct vmcb_control_area' definition (Vitaly Kuznetsov) [2074835] - KVM: selftests: nSVM: Set up MSR-Bitmap for SVM guests (Vitaly Kuznetsov) [2074835] - KVM: selftests: nVMX: Add enlightened MSR-Bitmap selftest (Vitaly Kuznetsov) [2074835] - KVM: selftests: nVMX: Properly deal with 'hv_clean_fields' (Vitaly Kuznetsov) [2074835] - KVM: selftests: Adapt hyperv_cpuid test to the newly introduced Enlightened MSR-Bitmap (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Implement Enlightened MSR-Bitmap feature (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Split off common definitions for Hyper-V on KVM and KVM on Hyper-V (Vitaly Kuznetsov) [2074835] - KVM: x86: Make kvm_hv_hypercall_enabled() static inline (Vitaly Kuznetsov) [2074835] - KVM: nSVM: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add an option to disable MANUAL_PROTECT_ENABLE and INITIALLY_SET (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add tracepoint for splitting huge pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Split huge pages mapped by the TDP MMU during KVM_CLEAR_DIRTY_LOG (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Split huge pages mapped by the TDP MMU when dirty logging is enabled (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Separate TDP MMU shadow page allocation and initialization (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Derive page role for TDP MMU shadow pages from parent (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove redundant role overrides for TDP MMU shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Refactor TDP MMU iterators to take kvm_mmu_page root (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move restore_acc_track_spte() to spte.h (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop new_spte local variable from restore_acc_track_spte() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unnecessary warnings from restore_acc_track_spte() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Consolidate logic to atomically install a new TDP MMU page table (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename handle_removed_tdp_mmu_page() to handle_removed_pt() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename TDP MMU functions that handle shadow pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Change tdp_mmu_{set,zap}_spte_atomic() to return 0/-EBUSY (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Automatically update iter->old_spte if cmpxchg fails (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename __rmap_write_protect() to rmap_write_protect() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename rmap_write_protect() to kvm_vcpu_write_protect_gfn() (Vitaly Kuznetsov) [2074835] - KVM: x86: Add checks for reserved-to-zero Hyper-V hypercall fields (Vitaly Kuznetsov) [2074835] - KVM: x86: Reject fixeds-size Hyper-V hypercalls with non-zero "var_cnt" (Vitaly Kuznetsov) [2074835] - KVM: x86: Shove vp_bitmap handling down into sparse_set_to_vcpu_mask() (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't bother reading sparse banks that end up being ignored (Vitaly Kuznetsov) [2074835] - KVM: x86: Add a helper to get the sparse VP_SET for IPIs and TLB flushes (Vitaly Kuznetsov) [2074835] - KVM: x86: Refactor kvm_hv_flush_tlb() to reduce indentation (Vitaly Kuznetsov) [2074835] - KVM: x86: Get the number of Hyper-V sparse banks from the VARHEAD field (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Consolidate comments about {Host,MMU}-writable (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename DEFAULT_SPTE_MMU_WRITEABLE to DEFAULT_SPTE_MMU_WRITABLE (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move is_writable_pte() to spte.h (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Check SPTE writable invariants when setting leaf SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move SPTE writable invariant checks to a helper function (Vitaly Kuznetsov) [2074835] - KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised (Vitaly Kuznetsov) [2074835] - KVM: VMX: Dont' send posted IRQ if vCPU == this vCPU and vCPU is IN_GUEST_MODE (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename hook implementations to conform to kvm_x86_ops' names (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename SEV implemenations to conform to kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Use more verbose names for mem encrypt kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove unused MAX_INST_SIZE #define (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename svm_flush_tlb() to svm_flush_tlb_current() (Vitaly Kuznetsov) [2074835] - KVM: x86: Move get_cs_db_l_bits() helper to SVM (Vitaly Kuznetsov) [2074835] - KVM: VMX: Rename VMX functions to conform to kvm_x86_ops names (Vitaly Kuznetsov) [2074835] - KVM: x86: Use static_call() for copy/move encryption context ioctls() (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport kvm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: x86: Uninline and export hv_track_root_tdp() (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Refactor PMU refresh to avoid referencing kvm_x86_ops.pmu_ops (Vitaly Kuznetsov) [2074835] - KVM: xen: Use static_call() for invoking kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Use static_call() for .vcpu_deliver_sipi_vector() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Call vmx_get_cpl() directly in handle_dr() (Vitaly Kuznetsov) [2074835] - KVM: x86: Rename kvm_x86_ops pointers to align w/ preferred vendor names (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop export for .tlb_flush_current() static_call key (Vitaly Kuznetsov) [2074835] - KVM: x86: skip host CPUID call for hypervisor leaves (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove unused "flags" of kvm_pv_kick_cpu_op() (Vitaly Kuznetsov) [2074835] - KVM: Remove unused "kvm" of kvm_make_vcpu_request() (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove unused "vcpu" of kvm_scale_tsc() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulate: Remove unused "tss_selector" of task_switch_{16, 32}() (Vitaly Kuznetsov) [2074835] - KVM: x86/emulate: Remove unused "ctxt" of setup_syscalls_segments() (Vitaly Kuznetsov) [2074835] - KVM: x86/ioapic: Remove unused "addr" and "length" of ioapic_read_indirect() (Vitaly Kuznetsov) [2074835] - KVM: x86/i8259: Remove unused "addr" of elcr_ioport_{read,write}() (Vitaly Kuznetsov) [2074835] - KVM: SVM: improve split between svm_prepare_guest_switch and sev_es_prepare_guest_switch (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Remove unused "vcpu" of svm_check_exit_valid() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu_audit: Remove unused "level" of audit_spte_after_sync() (Vitaly Kuznetsov) [2074835] - KVM: x86/tdp_mmu: Remove unused "kvm" of kvm_tdp_mmu_get_root() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "vcpu" of reset_{tdp,ept}_shadow_zero_bits_mask() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "kvm" of __rmap_write_protect() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove unused "kvm" of kvm_mmu_unlink_parents() (Vitaly Kuznetsov) [2074835] - KVM: x86: Skip APICv update if APICv is disable at the module level (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop NULL check on kvm_x86_ops.check_apicv_inhibit_reasons (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport __kvm_request_apicv_update() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Fix runstate updates to be atomic when preempting vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: move avic definitions from AMD's spec to svm.h (Vitaly Kuznetsov) [2074835] - KVM: x86: lapic: don't touch irr_pending in kvm_apic_update_apicv when inhibiting it (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: deal with L1 hypervisor that intercepts interrupts but lets L2 control them (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: expose clean bit support to the guest (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM/nVMX: set nested_run_pending on VM entry which is a result of RSM (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: mark vmcb01 as dirty when restoring SMM saved state (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: fix potential NULL derefernce on nested migration (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: don't passthrough SMAP/SMEP/PKE bits in !NPT && !gCR0.PG case (Vitaly Kuznetsov) [2074835] - Revert "svm: Add warning message for AVIC IPI invalid target" (Vitaly Kuznetsov) [2074835] - selftests: KVM: Test OS lock behavior (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add OSLSR_EL1 to the list of blessed regs (Vitaly Kuznetsov) [2074835] - KVM: x86: Report deprecated x87 features in supported CPUID (Vitaly Kuznetsov) [2074835] - x86/cpufeatures: Add FDP_EXCPTN_ONLY and ZERO_FCS_FDS (Vitaly Kuznetsov) [2074835] - KVM: x86: use the KVM side max supported fixed counter (Vitaly Kuznetsov) [2074835] - x86: Share definition of __is_canonical_address() (Vitaly Kuznetsov) [2074835] - perf/x86/intel/pt: Relax address filter validation (Vitaly Kuznetsov) [2074835] - KVM: x86: Move delivery of non-APICv interrupt into vendor code (Vitaly Kuznetsov) [2074835] - KVM: eventfd: Fix false positive RCU usage warning (Vitaly Kuznetsov) [2074835] - selftests: kvm: check dynamic bits against KVM_X86_XCOMP_GUEST_SUPP (Vitaly Kuznetsov) [2074835] - KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS (Vitaly Kuznetsov) [2074835] - KVM: x86: Keep MSR_IA32_XSS unchanged for INIT (Vitaly Kuznetsov) [2074835] - KVM: x86: Free kvm_cpuid_entry2 array on post-KVM_RUN KVM_SET_CPUID{,2} (Vitaly Kuznetsov) [2074835] - KVM: nVMX: WARN on any attempt to allocate shadow VMCS for vmcs02 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest (Vitaly Kuznetsov) [2074835] - KVM: x86: Check .flags in kvm_cpuid_check_equal() too (Vitaly Kuznetsov) [2074835] - KVM: x86: Forcibly leave nested virt when SMM state is toggled (Vitaly Kuznetsov) [2074835] - KVM: SVM: drop unnecessary code in svm_hv_vmcb_dirty_nested_enlightenments() (Vitaly Kuznetsov) [2074835] - KVM: SVM: hyper-v: Enable Enlightened MSR-Bitmap support for real (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't kill SEV guest if SMAP erratum triggers in usermode (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't apply SEV+SMAP workaround on code fetch or PT access (Vitaly Kuznetsov) [2074835] - KVM: SVM: Inject #UD on attempted emulation for SEV guest w/o insn buffer (Vitaly Kuznetsov) [2074835] - KVM: SVM: WARN if KVM attempts emulation on #UD or #GP for SEV guests (Vitaly Kuznetsov) [2074835] - KVM: x86: Pass emulation type to can_emulate_instruction() (Vitaly Kuznetsov) [2074835] - KVM: SVM: Explicitly require DECODEASSISTS to enable SEV support (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't intercept #GP for SEV guests (Vitaly Kuznetsov) [2074835] - Revert "KVM: SVM: avoid infinite loop on NPF from bad address" (Vitaly Kuznetsov) [2074835] - KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: skip eax alignment check for non-SVM instructions (Vitaly Kuznetsov) [2074835] - KVM: LAPIC: Also cancel preemption timer during SET_LAPIC (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove vmcs_config.order (Vitaly Kuznetsov) [2074835] - KVM/X86: Make kvm_vcpu_reload_apic_access_page() static (Vitaly Kuznetsov) [2074835] - KVM: selftests: Re-enable access_tracking_perf_test (Vitaly Kuznetsov) [2074835] - KVM: VMX: Set vmcs.PENDING_DBG.BS on #DB in STI/MOVSS blocking shadow (Vitaly Kuznetsov) [2074835] - KVM: remove async parameter of hva_to_pfn_remapped() (Vitaly Kuznetsov) [2074835] - x86,kvm/xen: Remove superfluous .fixup usage (Vitaly Kuznetsov) [2074835] - KVM: VMX: Zero host's SYSENTER_ESP iff SYSENTER is NOT used (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Fix the warning in pmu_event_filter_test.c (Vitaly Kuznetsov) [2074835] - kvm: selftests: Do not indent with spaces (Vitaly Kuznetsov) [2074835] - KVM: SVM: Nullify vcpu_(un)blocking() hooks if AVIC is disabled (Vitaly Kuznetsov) [2074835] - KVM: SVM: Move svm_hardware_setup() and its helpers below svm_x86_ops (Vitaly Kuznetsov) [2074835] - KVM: SVM: Drop AVIC's intermediate avic_set_running() helper (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't do full kick when handling posted interrupt wakeup (Vitaly Kuznetsov) [2074835] - KVM: VMX: Fold fallback path into triggering posted IRQ helper (Vitaly Kuznetsov) [2074835] - KVM: VMX: Pass desired vector instead of bool for triggering posted IRQ (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't do full kick when triggering posted interrupt "fails" (Vitaly Kuznetsov) [2074835] - KVM: SVM: Skip AVIC and IRTE updates when loading blocking vCPU (Vitaly Kuznetsov) [2074835] - KVM: SVM: Use kvm_vcpu_is_blocking() in AVIC load to handle preemption (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove unnecessary APICv/AVIC update in vCPU unblocking path (Vitaly Kuznetsov) [2074835] - KVM: SVM: Don't bother checking for "running" AVIC when kicking for IPIs (Vitaly Kuznetsov) [2074835] - KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct pre_block/post_block kvm_x86_ops hooks (Vitaly Kuznetsov) [2074835] - KVM: x86: Unexport LAPIC's switch_to_{hv,sw}_timer() helpers (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move preemption timer <=> hrtimer dance to common x86 (Vitaly Kuznetsov) [2074835] - KVM: Move x86 VMX's posted interrupt list_head to vcpu_vmx (Vitaly Kuznetsov) [2074835] - KVM: Drop unused kvm_vcpu.pre_pcpu field (Vitaly Kuznetsov) [2074835] - KVM: VMX: Handle PI descriptor updates during vcpu_put/load (Vitaly Kuznetsov) [2074835] - KVM: avoid warning on s390 in mark_page_dirty (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add a test to force emulation with a pending exception (Vitaly Kuznetsov) [2074835] - KVM: VMX: Reject KVM_RUN if emulation is required with pending exception (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Add test for KVM_SET_PMU_EVENT_FILTER (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Introduce x86_model() (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Export x86_family() for use outside of processor.c (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Introduce is_amd_cpu() (Vitaly Kuznetsov) [2074835] - selftests: kvm/x86: Parameterize the CPUID vendor string check (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Use binary search to check filtered events (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Improve TLB flush comment in kvm_mmu_slot_remove_write_access() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Document and enforce MMU-writable and Host-writable invariants (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Clear MMU-writable during changed_pte notifier (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86: Making the module parameter of vPMU more common (Vitaly Kuznetsov) [2074835] - KVM: selftests: Test KVM_SET_CPUID2 after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: selftests: Rename 'get_cpuid_test' to 'cpuid_test' (Vitaly Kuznetsov) [2074835] - KVM: x86: Partially allow KVM_SET_CPUID{,2} after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix available_event_types check for REF_CPU_CYCLES event (Vitaly Kuznetsov) [2074835] - KVM: x86: Check for rmaps allocation (Vitaly Kuznetsov) [2074835] - KVM: SEV: Mark nested locking of kvm->lock (Vitaly Kuznetsov) [2074835] - KVM: SVM: include CR3 in initial VMSA state for SEV-ES guests (Vitaly Kuznetsov) [2074835] - KVM: VMX: Provide vmread version using asm-goto-with-outputs (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix wall clock writes in Xen shared_info not to mark page dirty (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Add KVM_IRQ_ROUTING_XEN_EVTCHN and event channel delivery (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Maintain valid mapping of Xen shared_info page (Vitaly Kuznetsov) [2074835] - KVM: Reinstate gfn_to_pfn_cache with invalidation support (Vitaly Kuznetsov) [2074835] - KVM: Warn if mark_page_dirty() is called without an active vCPU (Vitaly Kuznetsov) [2074835] - x86/kvm: Silence per-cpu pr_info noise about KVM clocks and steal time (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vPMCs when retiring branch instructions (Vitaly Kuznetsov) [2074835] - KVM: x86: Update vPMCs when retiring instructions (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Add pmc->intr to refactor kvm_perf_overflow{_intr}() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Reuse pmc_perf_hw_id() and drop find_fixed_event() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id() (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Setup pmc->eventsel for fixed PMCs (Vitaly Kuznetsov) [2074835] - KVM: x86: avoid out of bounds indices for fixed performance counters (Vitaly Kuznetsov) [2074835] - KVM: VMX: Mark VCPU_EXREG_CR3 dirty when !CR0_PG -> CR0_PG if EPT + !URG (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Reconstruct shadow page root if the guest PDPTEs is changed (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save HOST_CR3 in vmx_set_host_fs_gs() (Vitaly Kuznetsov) [2074835] - Revert "KVM: X86: Update mmu->pdptrs only when it is changed" (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Add mirror command tests (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Fix sev_ioctl() (Vitaly Kuznetsov) [2074835] - selftests: KVM: sev_migrate_tests: Fix test_sev_mirror() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add test to verify TRIPLE_FAULT on invalid L2 guest state (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required (Vitaly Kuznetsov) [2074835] - KVM: VMX: Always clear vmx->fail on emulation_required (Vitaly Kuznetsov) [2074835] - selftests: KVM: Fix non-x86 compiling (Vitaly Kuznetsov) [2074835] - KVM: x86: Always set kvm_run->if_flag (Vitaly Kuznetsov) [2074835] - KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all (Vitaly Kuznetsov) [2074835] - KVM: x86: Retry page fault if MMU reload is pending and root has no sp (Vitaly Kuznetsov) [2074835] - KVM: selftests: vmx_pmu_msrs_test: Drop tests mangling guest visible CPUIDs (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop guest CPUID check for host initiated writes to MSR_IA32_PERF_CAPABILITIES (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add test to verify KVM doesn't explode on "bad" I/O (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit (Vitaly Kuznetsov) [2074835] - KVM: X86: Raise #GP when clearing CR0_PG in 64 bit mode (Vitaly Kuznetsov) [2074835] - selftests: KVM: avoid failures due to reserved HyperTransport region (Vitaly Kuznetsov) [2074835] - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req (Vitaly Kuznetsov) [2074835] - KVM: Add Makefile.kvm for common files, use it for x86 (Vitaly Kuznetsov) [2074835] - KVM: Introduce CONFIG_HAVE_KVM_DIRTY_RING (Vitaly Kuznetsov) [2074835] - KVM: x86: selftests: svm_int_ctl_test: fix intercept calculation (Vitaly Kuznetsov) [2074835] - KVM: VMX: Clean up PI pre/post-block WARNs (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Ensure vCPU honors event request if posting nested IRQ fails (Vitaly Kuznetsov) [2074835] - KVM: x86: add a tracepoint for APICv/AVIC interrupt delivery (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Implement Enlightened MSR Bitmap feature (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt (Vitaly Kuznetsov) [2074835] - KVM: VMX: Introduce vmx_msr_bitmap_l01_changed() helper (Vitaly Kuznetsov) [2074835] - KVM: x86: Exit to userspace if emulation prepared a completion callback (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Don't use Enlightened MSR Bitmap for L3 (Vitaly Kuznetsov) [2074835] - KVM: x86: Use different callback if msr access comes from the emulator (Vitaly Kuznetsov) [2074835] - KVM: x86: Add an emulation type to handle completion of user exits (Vitaly Kuznetsov) [2074835] - KVM: x86: Handle 32-bit wrap of EIP for EMULTYPE_SKIP with flat code seg (Vitaly Kuznetsov) [2074835] - KVM: Clear pv eoi pending bit only when it is set (Vitaly Kuznetsov) [2074835] - KVM: x86: don't print when fail to read/write pv eoi memory (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove mmu parameter from load_pdptrs() (Vitaly Kuznetsov) [2074835] - KVM: X86: Rename gpte_is_8_bytes to has_4_byte_gpte and invert the direction (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use ept_caps_to_lpage_level() in hardware_setup() (Vitaly Kuznetsov) [2074835] - KVM: X86: Add parameter huge_page_level to kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [2074835] - KVM: X86: Add huge_page_level to __reset_rsvds_bits_mask_ept() (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove mmu->translate_gpa (Vitaly Kuznetsov) [2074835] - KVM: X86: Add parameter struct kvm_mmu *mmu into mmu->gva_to_gpa() (Vitaly Kuznetsov) [2074835] - KVM: X86: Calculate quadrant when !role.gpte_is_8_bytes (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove useless code to set role.gpte_is_8_bytes when role.direct (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove unused declaration of __kvm_mmu_free_some_pages() (Vitaly Kuznetsov) [2074835] - KVM: X86: Fix comment in __kvm_mmu_create() (Vitaly Kuznetsov) [2074835] - KVM: X86: Skip allocating pae_root for vcpu->arch.guest_mmu when !tdp_enabled (Vitaly Kuznetsov) [2074835] - KVM: SVM: Allocate sd->save_area with __GFP_ZERO (Vitaly Kuznetsov) [2074835] - KVM: SVM: Rename get_max_npt_level() to get_npt_level() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Change comments about vmx_get_msr() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use kvm_set_msr_common() for MSR_IA32_TSC_ADJUST in the default way (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save HOST_CR3 in vmx_prepare_switch_to_guest() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Update msr value after kvm_set_user_return_msr() succeeds (Vitaly Kuznetsov) [2074835] - KVM: VMX: Avoid to rdmsrl(MSR_IA32_SYSENTER_ESP) (Vitaly Kuznetsov) [2074835] - KVM: X86: Update mmu->pdptrs only when it is changed (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove kvm_register_clear_available() (Vitaly Kuznetsov) [2074835] - KVM: vmx, svm: clean up mass updates to regs_avail/regs_dirty bits (Vitaly Kuznetsov) [2074835] - KVM: VMX: Update vmcs.GUEST_CR3 only when the guest CR3 is dirty (Vitaly Kuznetsov) [2074835] - KVM: X86: Mark CR3 dirty when vcpu->arch.cr3 is changed (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove references to VCPU_EXREG_CR3 (Vitaly Kuznetsov) [2074835] - KVM: SVM: Remove outdated comment in svm_load_mmu_pgd() (Vitaly Kuznetsov) [2074835] - KVM: X86: Move CR0 pdptr_bits into header file as X86_CR0_PDPTR_BITS (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add and use X86_CR4_PDPTR_BITS when !enable_ept (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add and use X86_CR4_TLBFLUSH_BITS when !enable_ept (Vitaly Kuznetsov) [2074835] - KVM: SVM: Track dirtiness of PDPTRs even if NPT is disabled (Vitaly Kuznetsov) [2074835] - KVM: VMX: Mark VCPU_EXREG_PDPTR available in ept_save_pdptrs() (Vitaly Kuznetsov) [2074835] - KVM: X86: Ensure that dirty PDPTRs are loaded (Vitaly Kuznetsov) [2074835] - KVM: x86/svm: Add module param to control PMU virtualization (Vitaly Kuznetsov) [2074835] - KVM: VMX: Remove vCPU from PI wakeup list before updating PID.NV (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move Posted Interrupt ndst computation out of write loop (Vitaly Kuznetsov) [2074835] - KVM: VMX: Read Posted Interrupt "control" exactly once per loop iteration (Vitaly Kuznetsov) [2074835] - KVM: VMX: Save/restore IRQs (instead of CLI/STI) during PI pre/post block (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop pointless PI.NDST update when blocking (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use boolean returns for Posted Interrupt "test" helpers (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop unnecessary PI logic to handle impossible conditions (Vitaly Kuznetsov) [2074835] - KVM: VMX: Skip Posted Interrupt updates if APICv is hard disabled (Vitaly Kuznetsov) [2074835] - KVM: Add helpers to wake/query blocking vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86: Invoke kvm_vcpu_block() directly for non-HALTED wait states (Vitaly Kuznetsov) [2074835] - KVM: x86: Directly block (instead of "halting") UNINITIALIZED vCPUs (Vitaly Kuznetsov) [2074835] - KVM: Don't redo ktime_get() when calculating halt-polling stop/deadline (Vitaly Kuznetsov) [2074835] - KVM: stats: Add stat to detect if vcpu is currently blocking (Vitaly Kuznetsov) [2074835] - KVM: Split out a kvm_vcpu_block() helper from kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Rename kvm_vcpu_block() => kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Drop obsolete kvm_arch_vcpu_block_finish() (Vitaly Kuznetsov) [2074835] - KVM: x86: Tweak halt emulation helper names to free up kvm_vcpu_halt() (Vitaly Kuznetsov) [2074835] - KVM: Don't block+unblock when halt-polling is successful (Vitaly Kuznetsov) [2074835] - KVM: Reconcile discrepancies in halt-polling stats (Vitaly Kuznetsov) [2074835] - KVM: Refactor and document halt-polling stats update helper (Vitaly Kuznetsov) [2074835] - KVM: Update halt-polling stats if and only if halt-polling was attempted (Vitaly Kuznetsov) [2074835] - KVM: Force PPC to define its own rcuwait object (Vitaly Kuznetsov) [2074835] - KVM: SVM: Ensure target pCPU is read once when signalling AVIC doorbell (Vitaly Kuznetsov) [2074835] - KVM: VMX: Don't unblock vCPU w/ Posted IRQ if IRQs are disabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86: change TLB flush indicator to bool (Vitaly Kuznetsov) [2074835] - KVM: Avoid atomic operations when kicking the running vCPU (Vitaly Kuznetsov) [2074835] - KVM: x86/MMU: Simplify flow of vmx_get_mt_mask (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Propagate memslot const qualifier (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove need for a vcpu from mmu_try_to_unsync_pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove need for a vcpu from kvm_slot_page_track_is_active (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use shadow page role to detect PML-unfriendly pages for L2 (Vitaly Kuznetsov) [2074835] - KVM: nSVM: introduce struct vmcb_ctrl_area_cached (Vitaly Kuznetsov) [2074835] - KVM: nSVM: split out __nested_vmcb_check_controls (Vitaly Kuznetsov) [2074835] - KVM: nSVM: use svm->nested.save to load vmcb12 registers and avoid TOC/TOU races (Vitaly Kuznetsov) [2074835] - KVM: nSVM: use vmcb_save_area_cached in nested_vmcb_valid_sregs() (Vitaly Kuznetsov) [2074835] - KVM: nSVM: rename nested_load_control_from_vmcb12 in nested_copy_vmcb_control_to_cache (Vitaly Kuznetsov) [2074835] - KVM: nSVM: introduce svm->nested.save to cache save area before checks (Vitaly Kuznetsov) [2074835] - KVM: nSVM: move nested_vmcb_check_cr3_cr4 logic in nested_vmcb_valid_sregs (Vitaly Kuznetsov) [2074835] - KVM: Dynamically allocate "new" memslots from the get-go (Vitaly Kuznetsov) [2074835] - KVM: Wait 'til the bitter end to initialize the "new" memslot (Vitaly Kuznetsov) [2074835] - KVM: Optimize overlapping memslots check (Vitaly Kuznetsov) [2074835] - KVM: Optimize gfn lookup in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: Call kvm_arch_flush_shadow_memslot() on the old slot in kvm_invalidate_memslot() (Vitaly Kuznetsov) [2074835] - KVM: Keep memslots in tree-based structures instead of array-based ones (Vitaly Kuznetsov) [2074835] - KVM: Use interval tree to do fast hva lookup in memslots (Vitaly Kuznetsov) [2074835] - KVM: Resolve memslot ID via a hash table instead of via a static array (Vitaly Kuznetsov) [2074835] - KVM: Move WARN on invalid memslot index to update_memslots() (Vitaly Kuznetsov) [2074835] - KVM: x86: Use nr_memslot_pages to avoid traversing the memslots array (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't call kvm_mmu_change_mmu_pages() if the count hasn't changed (Vitaly Kuznetsov) [2074835] - KVM: Don't make a full copy of the old memslot in __kvm_set_memory_region() (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't assume old/new memslots are non-NULL at memslot commit (Vitaly Kuznetsov) [2074835] - KVM: Use prepare/commit hooks to handle generic memslot metadata updates (Vitaly Kuznetsov) [2074835] - KVM: Stop passing kvm_userspace_memory_region to arch memslot hooks (Vitaly Kuznetsov) [2074835] - KVM: PPC: Avoid referencing userspace memory region in memslot updates (Vitaly Kuznetsov) [2074835] - KVM: x86: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: s390: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: arm64: Use "new" memslot instead of userspace memory region (Vitaly Kuznetsov) [2074835] - KVM: Let/force architectures to deal with arch specific memslot data (Vitaly Kuznetsov) [2074835] - KVM: Use "new" memslot's address space ID instead of dedicated param (Vitaly Kuznetsov) [2074835] - KVM: Resync only arch fields when slots_arch_lock gets reacquired (Vitaly Kuznetsov) [2074835] - KVM: Open code kvm_delete_memslot() into its only caller (Vitaly Kuznetsov) [2074835] - KVM: Require total number of memslot pages to fit in an unsigned long (Vitaly Kuznetsov) [2074835] - KVM: Convert kvm_for_each_vcpu() to using xa_for_each_range() (Vitaly Kuznetsov) [2074835] - KVM: arm64: vgic-v3: Fix vcpu index comparison (Vitaly Kuznetsov) [2074835] - KVM: Use 'unsigned long' as kvm_for_each_vcpu()'s index (Vitaly Kuznetsov) [2074835] - KVM: Convert the kvm->vcpus array to a xarray (Vitaly Kuznetsov) [2074835] - KVM: Move wiping of the kvm->vcpus array to common code (Vitaly Kuznetsov) [2074835] - KVM: MMU: update comment on the number of page role combinations (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Retry page fault if root is invalidated by memslot update (Vitaly Kuznetsov) [2074835] - KVM: VMX: Set failure code in prepare_vmcs02() (Vitaly Kuznetsov) [2074835] - KVM: ensure APICv is considered inactive if there is no APIC (Vitaly Kuznetsov) [2074835] - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register (Vitaly Kuznetsov) [2074835] - x86: Snapshot thread flags (Vitaly Kuznetsov) [2074835] - thread_info: Add helpers to snapshot thread flags (Vitaly Kuznetsov) [2074835] - KVM: fix avic_set_running for preemptable kernels (Vitaly Kuznetsov) [2074835] - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled (Vitaly Kuznetsov) [2074835] - KVM: SEV: accept signals in sev_lock_two_vms (Vitaly Kuznetsov) [2074835] - KVM: SEV: do not take kvm->lock when destroying (Vitaly Kuznetsov) [2074835] - KVM: SEV: Prohibit migration of a VM that has mirrors (Vitaly Kuznetsov) [2074835] - KVM: SEV: Do COPY_ENC_CONTEXT_FROM with both VMs locked (Vitaly Kuznetsov) [2074835] - selftests: sev_migrate_tests: add tests for KVM_CAP_VM_COPY_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: move mirror status to destination of KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: initialize regions_list of a mirror VM (Vitaly Kuznetsov) [2074835] - KVM: SEV: cleanup locking for KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: SEV: do not use list_replace_init on an empty list (Vitaly Kuznetsov) [2074835] - KVM: x86: Use a stable condition around all VT-d PI paths (Vitaly Kuznetsov) [2074835] - KVM: x86: check PIR even for vCPUs with disabled APICv (Vitaly Kuznetsov) [2074835] - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled (Vitaly Kuznetsov) [2074835] - KVM: selftests: page_table_test: fix calculation of guest_test_phys_mem (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Handle "default" period when selectively waking kthread (Vitaly Kuznetsov) [2074835] - KVM: MMU: shadow nested paging does not have PKU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Use yield-safe TDP MMU root iter in MMU notifier unmapping (Vitaly Kuznetsov) [2074835] - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE (Vitaly Kuznetsov) [2074835] - KVM: x86: Forbid KVM_SET_CPUID{,2} after KVM_RUN (Vitaly Kuznetsov) [2074835] - KVM: selftests: Avoid KVM_SET_CPUID2 after KVM_RUN in hyperv_features test (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST (Vitaly Kuznetsov) [2074835] - KVM: SEV: expose KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM capability (Vitaly Kuznetsov) [2074835] - selftests: sev_migrate_tests: free all VMs (Vitaly Kuznetsov) [2074835] - selftests: fix check for circular KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM (Vitaly Kuznetsov) [2074835] - KVM: x86: ignore APICv if LAPIC is not enabled (Vitaly Kuznetsov) [2074835] - KVM: downgrade two BUG_ONs to WARN_ON_ONCE (Vitaly Kuznetsov) [2074835] - KVM: VMX: do not use uninitialized gfn_to_hva_cache (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Pass parameter flush as false in kvm_tdp_mmu_zap_collapsible_sptes() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() (Vitaly Kuznetsov) [2074835] - x86/kvm: remove unused ack_notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: Disallow user memslot with size that exceeds "unsigned long" (Vitaly Kuznetsov) [2074835] - KVM: Ensure local memslot copies operate on up-to-date arch-specific data (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt (Vitaly Kuznetsov) [2074835] - KVM: x86: Assume a 64-bit hypercall for guests with protected state (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add /x86_64/sev_migrate_tests to .gitignore (Vitaly Kuznetsov) [2074835] - KVM: SEV: Fix typo in and tweak name of cmd_allowed_from_miror() (Vitaly Kuznetsov) [2074835] - KVM: SEV: Drop a redundant setting of sev->asid during initialization (Vitaly Kuznetsov) [2074835] - KVM: SEV: WARN if SEV-ES is marked active but SEV is not (Vitaly Kuznetsov) [2074835] - KVM: SEV: Set sev_info.active after initial checks in sev_guest_init() (Vitaly Kuznetsov) [2074835] - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs (Vitaly Kuznetsov) [2074835] - KVM: Kill kvm_map_gfn() / kvm_unmap_gfn() and gfn_to_pfn_cache (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use a gfn_to_hva_cache for vmptrld (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use kvm_read_guest_offset_cached() for nested VMCS check (Vitaly Kuznetsov) [2074835] - KVM: x86/xen: Use sizeof_field() instead of open-coding it (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Use kvm_{read,write}_guest_cached() for shadow_vmcs12 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: include EFER.LMA in extended mmu role (Vitaly Kuznetsov) [2074835] - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested state load (Vitaly Kuznetsov) [2074835] - KVM: Fix steal time asm constraints (Vitaly Kuznetsov) [2074835] - KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c (Vitaly Kuznetsov) [2074835] - KVM: Move x86's perf guest info callbacks to generic KVM (Vitaly Kuznetsov) [2074835] - KVM: x86: More precisely identify NMI from guest when handling PMI (Vitaly Kuznetsov) [2074835] - KVM: x86: Drop current_vcpu for kvm_running_vcpu + kvm_arch_vcpu variable (Vitaly Kuznetsov) [2074835] - perf/core: Rework guest callbacks to prepare for static_call support (Vitaly Kuznetsov) [2074835] - perf: Protect perf_guest_cbs with RCU (Vitaly Kuznetsov) [2074835] - KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest (Vitaly Kuznetsov) [2074835] - KVM: x86: Register perf callbacks after calling vendor's hardware_setup() (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use perf_test_destroy_vm in memslot_modification_stress_test (Vitaly Kuznetsov) [2074835] - KVM: selftests: Wait for all vCPU to be created before entering guest mode (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move vCPU thread creation and joining to common helpers (Vitaly Kuznetsov) [2074835] - KVM: selftests: Sync perf_test_args to guest during VM creation (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fill per-vCPU struct during "perf_test" VM creation (Vitaly Kuznetsov) [2074835] - KVM: selftests: Start at iteration 0 instead of -1 (Vitaly Kuznetsov) [2074835] - KVM: selftests: Create VM with adjusted number of guest pages for perf tests (Vitaly Kuznetsov) [2074835] - KVM: selftests: Remove perf_test_args.host_page_size (Vitaly Kuznetsov) [2074835] - KVM: selftests: Move per-VM GPA into perf_test_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use perf util's per-vCPU GPA/pages in demand paging test (Vitaly Kuznetsov) [2074835] - KVM: selftests: Capture per-vCPU GPA in perf_test_vcpu_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Use shorthand local var to access struct perf_tests_args (Vitaly Kuznetsov) [2074835] - KVM: selftests: Require GPA to be aligned when backed by hugepages (Vitaly Kuznetsov) [2074835] - KVM: selftests: Assert mmap HVA is aligned when using HugeTLB (Vitaly Kuznetsov) [2074835] - KVM: selftests: Expose align() helpers to tests (Vitaly Kuznetsov) [2074835] - KVM: selftests: Explicitly state indicies for vm_guest_mode_params array (Vitaly Kuznetsov) [2074835] - KVM: selftests: Add event channel upcall support to xen_shinfo_test (Vitaly Kuznetsov) [2074835] - KVM: SEV: unify cgroup cleanup code for svm_vm_migrate_from (Vitaly Kuznetsov) [2074835] - KVM: x86: move guest_pv_has out of user_access section (Vitaly Kuznetsov) [2074835] - KVM: Move INVPCID type check from vmx and svm to the common kvm_handle_invpcid() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Add a helper function to retrieve the GPR index for INVPCID, INVVPID, and INVEPT (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Clean up x2APIC MSR handling for L2 (Vitaly Kuznetsov) [2074835] - KVM: VMX: Macrofy the MSR bitmap getters and setters (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Handle dynamic MSR intercept toggling (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use (Vitaly Kuznetsov) [2074835] - KVM: x86: Don't update vcpu->arch.pv_eoi.msr_val when a bogus value was written to MSR_KVM_PV_EOI_EN (Vitaly Kuznetsov) [2074835] - KVM: x86: Rename kvm_lapic_enable_pv_eoi() (Vitaly Kuznetsov) [2074835] - kvm: mmu: Use fast PF path for access tracking of huge pages when possible (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Properly dereference rcu-protected TDP MMU sptep iterator (Vitaly Kuznetsov) [2074835] - kvm: x86: Convert return type of *is_valid_rdpmc_ecx() to bool (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix recording of guest steal time / preempted status (Vitaly Kuznetsov) [2074835] - selftest: KVM: Add intra host migration tests (Vitaly Kuznetsov) [2074835] - selftest: KVM: Add open sev dev helper (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add support for SEV-ES intra host migration (Vitaly Kuznetsov) [2074835] - KVM: SEV: Add support for SEV intra host migration (Vitaly Kuznetsov) [2074835] - KVM: SEV: provide helpers to charge/uncharge misc_cg (Vitaly Kuznetsov) [2074835] - KVM: generalize "bugged" VM to "dead" VM (Vitaly Kuznetsov) [2074835] - EFI: Introduce the new AMD Memory Encryption GUID. (Vitaly Kuznetsov) [2074835] - x86/kvm: Add AMD SEV specific Hypercall3 (Vitaly Kuznetsov) [2074835] - KVM: x86: SGX must obey the KVM_INTERNAL_ERROR_EMULATION protocol (Vitaly Kuznetsov) [2074835] - KVM: x86: On emulation failure, convey the exit reason, etc. to userspace (Vitaly Kuznetsov) [2074835] - KVM: x86: Get exit_reason as part of kvm_x86_ops.get_exit_info (Vitaly Kuznetsov) [2074835] - KVM: x86: Clarify the kvm_run.emulation_failure structure layout (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fix nested SVM tests when built with clang (Vitaly Kuznetsov) [2074835] - kvm: x86: Remove stale declaration of kvm_no_apic_vcpu (Vitaly Kuznetsov) [2074835] - KVM: x86: Move SVM's APICv sanity check to common x86 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Extract zapping of rmaps for gfn range to separate helper (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop a redundant remote TLB flush in kvm_zap_gfn_range() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop a redundant, broken remote TLB flush (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't unload MMU in kvm_vcpu_flush_tlb_guest() (Vitaly Kuznetsov) [2074835] - KVM: X86: pair smp_wmb() of mmu_try_to_unsync_pages() with smp_rmb() (Vitaly Kuznetsov) [2074835] - KVM: emulate: Comment on difference between RDPMC implementation and manual (Vitaly Kuznetsov) [2074835] - KVM: x86: Add vendor name to kvm_x86_ops, use it for error messages (Vitaly Kuznetsov) [2074835] - kvm: x86: mmu: Make NX huge page recovery period configurable (Vitaly Kuznetsov) [2074835] - KVM: vPMU: Fill get_msr MSR_CORE_PERF_GLOBAL_OVF_CTRL w/ 0 (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k (Vitaly Kuznetsov) [2074835] - KVM: VMX: RTIT_CTL_BRANCH_EN has no dependency on other CPUID bit (Vitaly Kuznetsov) [2074835] - KVM: VMX: Rename pt_desc.addr_range to pt_desc.num_address_ranges (Vitaly Kuznetsov) [2074835] - KVM: VMX: Use precomputed vmx->pt_desc.addr_range (Vitaly Kuznetsov) [2074835] - KVM: VMX: Restore host's MSR_IA32_RTIT_CTL when it's not zero (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: clean up prefetch/prefault/speculative naming (Vitaly Kuznetsov) [2074835] - KVM: cleanup allocation of rmaps and page tracking data (Vitaly Kuznetsov) [2074835] - selftests: KVM: Introduce system counter offset test (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add helpers for vCPU device attributes (Vitaly Kuznetsov) [2074835] - selftests: KVM: Add test for KVM_{GET,SET}_CLOCK (Vitaly Kuznetsov) [2074835] - kvm: x86: protect masterclock with a seqcount (Vitaly Kuznetsov) [2074835] - KVM: x86: Report host tsc and realtime values in KVM_GET_CLOCK (Vitaly Kuznetsov) [2074835] - KVM: x86: avoid warning with -Wbitwise-instead-of-logical (Vitaly Kuznetsov) [2074835] - KVM: x86: only allocate gfn_track when necessary (Vitaly Kuznetsov) [2074835] - KVM: x86: add config for non-kvm users of page tracking (Vitaly Kuznetsov) [2074835] - nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB (Vitaly Kuznetsov) [2074835] - kvm: use kvfree() in kvm_arch_free_vm() (Vitaly Kuznetsov) [2074835] - KVM: x86: Expose Predictive Store Forwarding Disable (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in make_spte and mmu_try_to_unsync_pages (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in rmap_add (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass struct kvm_page_fault to mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass kvm_mmu_page struct to make_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: set ad_disabled in TDP MMU role (Vitaly Kuznetsov) [2074835] - KVM: MMU: remove unnecessary argument to mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: MMU: clean up make_spte return value (Vitaly Kuznetsov) [2074835] - KVM: MMU: inline set_spte in FNAME(sync_page) (Vitaly Kuznetsov) [2074835] - KVM: MMU: inline set_spte in mmu_set_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Avoid memslot lookup in page_fault_handle_page_track (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Pass the memslot around via struct kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: unify tdp_mmu_map_set_spte_atomic and tdp_mmu_set_spte_atomic_no_dirty_log (Vitaly Kuznetsov) [2074835] - KVM: MMU: mark page dirty in make_spte (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fold rmap_recycle into rmap_add (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Verify shadow walk doesn't terminate early in page faults (Vitaly Kuznetsov) [2074835] - KVM: MMU: change tracepoints arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change disallowed_hugepage_adjust() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_mmu_hugepage_adjust() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change fast_page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change tdp_mmu_map_handle_target_level() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_tdp_mmu_map() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change FNAME(fetch)() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change __direct_map() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change handle_abnormal_pfn() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change kvm_faultin_pfn() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change page_fault_handle_page_track() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change direct_page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: change mmu->page_fault() arguments to kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: Introduce struct kvm_page_fault (Vitaly Kuznetsov) [2074835] - KVM: MMU: pass unadulterated gpa to direct_page_fault (Vitaly Kuznetsov) [2074835] - KVM: x86: Fix potential race in KVM_GET_CLOCK (Vitaly Kuznetsov) [2074835] - KVM: x86: extract KVM_GET_CLOCK/KVM_SET_CLOCK to separate functions (Vitaly Kuznetsov) [2074835] - kvm: x86: abstract locking around pvclock_update_vm_gtod_copy (Vitaly Kuznetsov) [2074835] - KVM: X86: Move PTE present check from loop body to __shadow_walk_next() (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: implement nested TSC scaling (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: add module param to control TSC scaling (Vitaly Kuznetsov) [2074835] - KVM: x86: SVM: add module param to control LBR virtualization (Vitaly Kuznetsov) [2074835] - KVM: x86: nSVM: don't copy pause related settings (Vitaly Kuznetsov) [2074835] - kvm: irqfd: avoid update unmodified entries of the routing (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't check unsync if the original spte is writible (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't unsync pagetables when speculative (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove FNAME(update_pte) (Vitaly Kuznetsov) [2074835] - KVM: X86: Zap the invalid list after remote tlb flushing (Vitaly Kuznetsov) [2074835] - KVM: X86: Change kvm_sync_page() to return true when remote flush is needed (Vitaly Kuznetsov) [2074835] - KVM: X86: Remove kvm_mmu_flush_or_zap() (Vitaly Kuznetsov) [2074835] - KVM: X86: Don't flush current tlb on shadow page modification (Vitaly Kuznetsov) [2074835] - KVM: selftests: Fix kvm_vm_free() in cr4_cpuid_sync and vmx_tsc_adjust tests (Vitaly Kuznetsov) [2074835] - kvm: selftests: Fix spelling mistake "missmatch" -> "mismatch" (Vitaly Kuznetsov) [2074835] - KVM: x86: Manually retrieve CPUID.0x1 when getting FMS for RESET/INIT (Vitaly Kuznetsov) [2074835] - KVM: x86: WARN on non-zero CRs at RESET to detect improper initalization (Vitaly Kuznetsov) [2074835] - KVM: SVM: Move RESET emulation to svm_vcpu_reset() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Move RESET emulation to vmx_vcpu_reset() (Vitaly Kuznetsov) [2074835] - KVM: VMX: Drop explicit zeroing of MSR guest values at vCPU creation (Vitaly Kuznetsov) [2074835] - KVM: x86: Fold fx_init() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct setting of XCR0 for guest during vCPU create (Vitaly Kuznetsov) [2074835] - KVM: x86: Remove defunct setting of CR0.ET for guests during vCPU create (Vitaly Kuznetsov) [2074835] - KVM: x86: Simplify retrieving the page offset when loading PDTPRs (Vitaly Kuznetsov) [2074835] - KVM: x86: Subsume nested GPA read helper into load_pdptrs() (Vitaly Kuznetsov) [2074835] - kvm: rename KVM_MAX_VCPU_ID to KVM_MAX_VCPU_IDS (Vitaly Kuznetsov) [2074835] - KVM: Make kvm_make_vcpus_request_mask() use pre-allocated cpu_kick_mask (Vitaly Kuznetsov) [2074835] - KVM: Pre-allocate cpumasks for kvm_make_all_cpus_request_except() (Vitaly Kuznetsov) [2074835] - KVM: Drop 'except' parameter from kvm_make_vcpus_request_mask() (Vitaly Kuznetsov) [2074835] - KVM: Optimize kvm_make_vcpus_request_mask() a bit (Vitaly Kuznetsov) [2074835] - KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL (Vitaly Kuznetsov) [2074835] - KVM: use vma_pages() helper (Vitaly Kuznetsov) [2074835] - KVM: nVMX: Reset vmxon_ptr upon VMXOFF emulation. (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline to_svm() (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline vmload() / vmsave() (Vitaly Kuznetsov) [2074835] - x86/kvm: Always inline sev_*guest() (Vitaly Kuznetsov) [2074835] - KVM: Remove tlbs_dirty (Vitaly Kuznetsov) [2074835] - KVM: X86: fix lazy allocation of rmaps (Vitaly Kuznetsov) [2074835] - KVM: Remove unnecessary export of kvm_{inc,dec}_notifier_count() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Drop 'shared' param from tdp_mmu_link_page() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Add detailed page size stats (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: bump mmu notifier count in kvm_zap_gfn_range (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: fix parameters to kvm_flush_remote_tlbs_with_address (Vitaly Kuznetsov) [2074835] - Revert "KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock" (Vitaly Kuznetsov) [2074835] - KVM: X86: Introduce mmu_rmaps_stat per-vm debugfs file (Vitaly Kuznetsov) [2074835] - KVM: X86: Introduce kvm_mmu_slot_lpages() helpers (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Protect marking SPs unsync when using TDP MMU with spinlock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't step down in the TDP iterator when zapping all SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Don't leak non-leaf SPTEs when zapping all SPTEs (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Rename __gfn_to_rmap to gfn_to_rmap (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Leverage vcpu->last_used_slot in tdp_mmu_map_handle_target_level (Vitaly Kuznetsov) [2074835] - KVM: const-ify all relevant uses of struct kvm_memory_slot (Vitaly Kuznetsov) [2074835] - KVM: Don't take mmu_lock for range invalidation unless necessary (Vitaly Kuznetsov) [2074835] - KVM: Block memslot updates across range_start() and range_end() (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Lazily allocate memslot rmaps (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Skip rmap operations if rmaps not allocated (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Tear down roots before kvm_mmu_zap_all_fast returns (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Fast invalidation for TDP MMU (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow enabling/disabling dirty logging under MMU read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow zapping collapsible SPTEs to use MMU read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock (Vitaly Kuznetsov) [2074835] - KVM: x86/mmu: Allow yielding during MMU notifier unmap/zap, if possible (Vitaly Kuznetsov) [2074835] - KVM: Take mmu_lock when handling MMU notifier iff the hva hits a memslot (Vitaly Kuznetsov) [2074835] - KVM: Move MMU notifier's mmu_lock acquisition into common helper (Vitaly Kuznetsov) [2074835] - KVM: Kill off the old hva-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: PPC: Convert to the gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: arm64: Convert to the gfn-based MMU notifier callbacks (Vitaly Kuznetsov) [2074835] - KVM: Move x86's MMU notifier memslot walkers to generic code (Vitaly Kuznetsov) [2074835] - KVM: Assert that notifier count is elevated in .change_pte() (Vitaly Kuznetsov) [2074835] - KVM: Move arm64's MMU notifier trace events to generic code (Vitaly Kuznetsov) [2074835] - KVM: Switch to new MMU notifiers API (Vitaly Kuznetsov) [2074835] - scsi: qedi: Remove redundant flush_workqueue() calls (Nilesh Javali) [2044837] - scsi: qedi: Fix SYSFS_FLAG_FW_SEL_BOOT formatting (Nilesh Javali) [2044837] - xfs: reserve quota for dir expansion when linking/unlinking files (Carlos Maiolino) [2082833] - iwlwifi: fix use-after-free (Jose Ignacio Tornos Martinez) [2091539] - nfs: fix broken handling of the softreval mount option (Benjamin Coddington) [2083224] - ethtool: extend ringparam setting/getting API with rx_buf_len (Ivan Vecera) [2091857] - ethtool: add support to set/get rx buf len via ethtool (Ivan Vecera) [2091857] - ethtool: add support to set/get tx copybreak buf size via ethtool (Ivan Vecera) [2091857]- x86/apic: Make TSC deadline timer detection message visible (David Arcari) [2098086] - x86/apic: Move TSC deadline timer debug printk (David Arcari) [2098086] - [s390] KVM: s390: selftests: Add error memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add more copy memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add named stages for memop test (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Add macro as abstraction for MEM_OP (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Split memop tests (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Fix lockdep issue in vm memop (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add missing vm MEM_OP size check (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Clarify key argument for MEM_OP in api docs (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Update api documentation for memop ioctl (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add capability for storage key extension of MEM_OP IOCTL (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Rename existing vcpu memop functions (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add vm IOCTL for key checked guest absolute memory access (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Add optional storage key checking to MEMOP IOCTL (Claudio Imbrenda) [1984917] - [s390] KVM: s390: selftests: Test TEST PROTECTION emulation (Claudio Imbrenda) [1984917] - [s390] KVM: s390: handle_tprot: Honor storage keys (Claudio Imbrenda) [1984917] - [s390] KVM: s390: Honor storage keys when accessing guest memory (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: Add copy_from/to_user_key functions (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: fix compile error (Claudio Imbrenda) [1984917] - [s390] s390/uaccess: introduce bit field for OAC specifier (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Cleanup access to guest pages (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Refactor access address range check (Claudio Imbrenda) [1984917] - [s390] KVM: s390: gaccess: Refactor gpa and length calculation (Claudio Imbrenda) [1984917] - xfs: reorder iunlink remove operation in xfs_ifree (Brian Foster) [2081146] - tcp: fix TCP socket rehash stats mis-accounting (Antoine Tenart) [2073082] - tcp: export count for rehash attempts (Antoine Tenart) [2073082] - tcp: add SRTT to SCM_TIMESTAMPING_OPT_STATS (Antoine Tenart) [2073082] - tcp: add new SNMP counter for drops when try to queue in rcv queue (Antoine Tenart) [2073082] - tcp: add SNMP counter for zero-window drops (Antoine Tenart) [2073082] - net: udp: introduce UDP_MIB_MEMERRORS for udp_mem (Antoine Tenart) [2073082] - context_tracking: Sync up lockdep and cpu irqs state to prevent false warnings (Waiman Long) [2098074] - platform/x86: ISST: Fix possible circular locking dependency detected (Prarit Bhargava) [2072659] - platform/x86: ISST: use semi-colons instead of commas (Prarit Bhargava) [2072659] - platform/x86: intel_speed_select_if: Move to intel sub-directory (Prarit Bhargava) [2072659] - x86/sgx: Free backing memory after faulting the enclave page (Vladis Dronov) [2081351] - x86/sgx: Fix missing poison handling in reclaimer (Vladis Dronov) [2081351] - x86/sgx: Silence softlockup detection when releasing large enclaves (Vladis Dronov) [2081351] - selftests/sgx: Treat CC as one argument (Vladis Dronov) [2081351] - selftests/x86: Add validity check and allow field splitting (Vladis Dronov) [2081351] - selftests/sgx: Remove extra newlines in test output (Vladis Dronov) [2081351] - selftests/sgx: Ensure enclave data available during debug print (Vladis Dronov) [2081351] - selftests/sgx: Do not attempt enclave build without valid enclave (Vladis Dronov) [2081351] - selftests/sgx: Fix NULL-pointer-dereference upon early test failure (Vladis Dronov) [2081351] - x86/sgx: Remove .fixup usage (Vladis Dronov) [2081351] - x86/sgx: Fix NULL pointer dereference on non-SGX systems (Vladis Dronov) [2081351] - x86/sgx: Add an attribute for the amount of SGX memory in a NUMA node (Vladis Dronov) [2081351] - vmxnet3: disable overlay offloads if UPT device does not support (Kamal Heib) [2100226] - vmxnet3: update to version 7 (Kamal Heib) [2100226] - vmxnet3: use ext1 field to indicate encapsulated packet (Kamal Heib) [2100226] - vmxnet3: limit number of TXDs used for TSO packet (Kamal Heib) [2100226] - vmxnet3: add command to set ring buffer sizes (Kamal Heib) [2100226] - vmxnet3: add support for out of order rx completion (Kamal Heib) [2100226] - vmxnet3: add support for large passthrough BAR register (Kamal Heib) [2100226] - vmxnet3: add support for capability registers (Kamal Heib) [2100226] - vmxnet3: prepare for version 7 changes (Kamal Heib) [2100226] - net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup() (Kamal Heib) [2100226] - net: vmxnet3: fix possible use-after-free bugs in vmxnet3_rq_alloc_rx_buf() (Kamal Heib) [2100226]- iommu/amd: Enable swiotlb in all cases (Jerry Snitselaar) [2072179] - iommu/arm-smmu-v3-sva: Fix mm use-after-free (Jerry Snitselaar) [2072179] - dma-direct: don't over-decrypt memory (Jerry Snitselaar) [2072179] - dma-direct: always leak memory that can't be re-encrypted (Jerry Snitselaar) [2072179] - dma-direct: clean up the remapping checks in dma_direct_alloc (Jerry Snitselaar) [2072179] - dma-direct: don't call dma_set_decrypted for remapped allocations (Jerry Snitselaar) [2072179] - dma-direct: factor out dma_set_{de,en}crypted helpers (Jerry Snitselaar) [2072179] - swiotlb: max mapping size takes min align mask into account (Jerry Snitselaar) [2072179] - dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC (Jerry Snitselaar) [2072179] - dma-direct: don't fail on highmem CMA pages in dma_direct_alloc_pages (Jerry Snitselaar) [2072179] - dma-direct: factor out a helper for DMA_ATTR_NO_KERNEL_MAPPING allocations (Jerry Snitselaar) [2072179] - swiotlb: make swiotlb_exit a no-op if SWIOTLB_FORCE is set (Jerry Snitselaar) [2072179] - dma-direct: use is_swiotlb_active in dma_direct_map_page (Jerry Snitselaar) [2072179] - iommu/vt-d: Calculate mask for non-aligned flushes (Jerry Snitselaar) [2072179] - iommu/amd: Call memunmap in error path (Jerry Snitselaar) [2072179] - iommu/vt-d: Drop duplicate check in dma_pte_free_pagetable() (Jerry Snitselaar) [2072179] - iommu/vt-d: Use correctly sized arguments for bit field (Jerry Snitselaar) [2072179] - Revert "iommu/arm-smmu-v3: Decrease the queue size of evtq and priq" (Jerry Snitselaar) [2072179] - iommu: Fix potential use-after-free during probe (Jerry Snitselaar) [2072179] - dma-direct: avoid redundant memory sync for swiotlb (Jerry Snitselaar) [2072179] - iommu/iova: Fix race between FQ timeout and teardown (Jerry Snitselaar) [2072179] - iommu/io-pgtable-arm: Fix table descriptor paddr formatting (Jerry Snitselaar) [2072179] - iommu: Extend mutex lock scope in iommu_probe_device() (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: setup the INTX registers on mask/unmask (Jerry Snitselaar) [2072179] - iommu/amd: X2apic mode: re-enable after resume (Jerry Snitselaar) [2072179] - iommu/amd: Restore GA log/tail pointer on host resume (Jerry Snitselaar) [2072179] - iommu/amd: Clarify AMD IOMMUv2 initialization messages (Jerry Snitselaar) [2072179] - iommu/vt-d: Avoid duplicate removing in __domain_mapping() (Jerry Snitselaar) [2072179] - iommu/vt-d: Fix an unbalanced rcu_read_lock/rcu_read_unlock() (Jerry Snitselaar) [2072179] - iommu/vt-d: Check FL and SL capability sanity in scalable mode (Jerry Snitselaar) [2072179] - iommu/vt-d: Add present bit check in pasid entry setup helpers (Jerry Snitselaar) [2072179] - iommu/vt-d: Preset A/D bits for user space DMA usage (Jerry Snitselaar) [2072179] - iommu/vt-d: Remove unnecessary oom message (Jerry Snitselaar) [2072179] - iommu/vt-d: Enable ATS for the devices in SATC table (Jerry Snitselaar) [1893460] - iommu/vt-d: Parse SATC reporting structure (Jerry Snitselaar) [1893460] - iommu/vt-d: Dump DMAR translation structure when DMA fault occurs (Jerry Snitselaar) [1868826] - nvme: fix typos in nvme status code values (Gopal Tiwari) [2091824] - Adding CONFIG_NVME_VERBOSE_ERRORS to RHEL-8. (Gopal Tiwari) [2091824] - nvme: add missing status values to verbose logging (Gopal Tiwari) [2091824] - nvme: don't print verbose errors for internal passthrough requests (Gopal Tiwari) [2091824] - nvme: add verbose error logging (Gopal Tiwari) [2091824] - perf/x86/msr: Add Raptor Lake CPU support (Michael Petlan) [2094572] - perf/x86: Add Intel Raptor Lake support (Michael Petlan) [2094572] - perf/x86/cstate: Add SAPPHIRERAPIDS_X CPU support (Michael Petlan) [2094572] - perf/x86/cstate: Add Raptor Lake support (Michael Petlan) [2094572] - [s390] s390/lcs: fix variable dereferenced before check (Mete Durlu) [2043835] - [s390] s390/ctcm: fix potential memory leak (Mete Durlu) [2043835] - [s390] s390/ctcm: fix variable dereferenced before check (Mete Durlu) [2043835] - [s390] s390/net: sort out physical vs virtual pointers usage (Mete Durlu) [2043835] - [s390] s390/qeth: remove check for packing mode in qeth_check_outbound_queue() (Mete Durlu) [2043835] - [s390] s390/qeth: fine-tune .ndo_select_queue() (Mete Durlu) [2043835] - [s390] s390/qeth: don't offer .ndo_bridge_* ops for OSA devices (Mete Durlu) [2043835] - [s390] s390/qeth: split up L2 netdev_ops (Mete Durlu) [2043835] - [s390] s390/qeth: simplify qeth_receive_skb() (Mete Durlu) [2043835] - [s390] s390/lcs: add braces around empty function body (Mete Durlu) [2043835] - [s390] s390/ctcm: add __printf format attribute to ctcm_dbf_longtext (Mete Durlu) [2043835] - [s390] s390/ctcm: fix format string (Mete Durlu) [2043835] - [s390] s390/qeth: allocate RX queue at probe time (Mete Durlu) [2043835] - [s390] s390/qeth: update kerneldoc for qeth_add_hw_header() (Mete Durlu) [2043835] - [s390] s390/qeth: fix kernel doc comments (Mete Durlu) [2043835] - [s390] s390/qeth: add __printf format attribute to qeth_dbf_longtext (Mete Durlu) [2043835] - [s390] s390/qeth: fix various format strings (Mete Durlu) [2043835] - [s390] s390/qeth: don't keep track of Input Queue count (Mete Durlu) [2043835] - [s390] s390/qeth: clarify remaining dev_kfree_skb_any() users (Mete Durlu) [2043835] - [s390] s390/qeth: move qdio's QAOB cache into qeth (Mete Durlu) [2043835] - [s390] s390/qeth: improve trace entries for MAC address (un)registration (Mete Durlu) [2043835] - [s390] s390/netiucv: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/lcs: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/ctcm: remove incorrect kernel doc indicators (Mete Durlu) [2043835] - [s390] s390/qeth: clean up device_type management (Mete Durlu) [2043835] - [s390] s390/qeth: clean up QETH_PROT_* naming (Mete Durlu) [2043835] - mm/memcg: Free percpu stats memory of dying memcg's (Waiman Long) [2004037] - netfilter: flowtable: fix TCP flow teardown (Florian Westphal) [2088234] - netfilter: conntrack: annotate data-races around ct->timeout (Florian Westphal) [2088234] - netfilter: conntrack: initialize ct->timeout (Florian Westphal) [2088234] - NFSv4: Fix free of uninitialized nfs4_label on referral lookup. (Scott Mayhew) [2090994] - md: fix double free of io_acct_set bioset (Nigel Croxon) [2094076] - md: Don't set mddev private to NULL in raid0 pers->free (Nigel Croxon) [2094076] - md: protect md_unregister_thread from reentrancy (Nigel Croxon) [2094076] - md: don't unregister sync_thread with reconfig_mutex held (Nigel Croxon) [2094076] - raid5: don't set the discard_alignment queue limit (Nigel Croxon) [2094076] - md: Replace role magic numbers with defined constants (Nigel Croxon) [2094076] - md/raid0: Ignore RAID0 layout if the second zone has only one device (Nigel Croxon) [2094076] - md/raid5: Annotate functions that hold device_lock with __must_hold (Nigel Croxon) [2094076] - md/raid5-ppl: Annotate with rcu_dereference_protected() (Nigel Croxon) [2094076] - md/raid5: Annotate rdev/replacement access when mddev_lock is held (Nigel Croxon) [2094076] - md/raid5: Annotate rdev/replacement accesses when nr_pending is elevated (Nigel Croxon) [2094076] - md/raid5: Add __rcu annotation to struct disk_info (Nigel Croxon) [2094076] - md/raid5: Un-nest struct raid5_percpu definition (Nigel Croxon) [2094076] - md/raid5: Cleanup setup_conf() error returns (Nigel Croxon) [2094076] - md: replace deprecated strlcpy & remove duplicated line (Nigel Croxon) [2094076] - md/bitmap: don't set sb values if can't pass sanity check (Nigel Croxon) [2094076] - md: fix an incorrect NULL check in md_reload_sb (Nigel Croxon) [2094076] - md: fix an incorrect NULL check in does_sb_need_changing (Nigel Croxon) [2094076] - md: use msleep() in md_notify_reboot() (Nigel Croxon) [2094076] - ext4: force overhead calculation if the s_overhead_cluster makes no sense (Lukas Czerner) [2079886] - ext4: fix overhead calculation to account for the reserved gdt blocks (Lukas Czerner) [2079886] - ext4: limit length to bitmap_maxbytes - blocksize in punch_hole (Lukas Czerner) [2079886] - ext4: fix use-after-free in ext4_search_dir (Lukas Czerner) [2079886] - ext4: fix symlink file size not match to file content (Lukas Czerner) [2079886] - ext4: fix fallocate to use file_modified to update permissions consistently (Lukas Czerner) [2085623] - ext4: remove unused macro MPAGE_DA_EXTENT_TAIL (Lukas Czerner) [2079886] - ext4: add missing braces in ext4_ext_drop_refs() (Lukas Czerner) [2079886] - ext4: remove obsolete comment from ext4_can_extents_be_merged() (Lukas Czerner) [2079886] - ext4: make some functions static in extents.c (Lukas Czerner) [2079886] - ext4: remove redundant S_ISREG() checks from ext4_fallocate() (Lukas Czerner) [2079886] - ext4: clean up len and offset checks in ext4_fallocate() (Lukas Czerner) [2079886] - ext4: remove ext4_{ind,ext}_calc_metadata_amount() (Lukas Czerner) [2079886] - ext4: fix fs corruption when tring to remove a non-empty directory with IO error (Lukas Czerner) [2079886] - ext4: fix error handling in ext4_restore_inline_data() (Lukas Czerner) [2079886] - jbd2: export jbd2_journal_[grab|put]_journal_head (Lukas Czerner) [2079886] - ext4: don't use the orphan list when migrating an inode (Lukas Czerner) [2079886] - ext4: set csum seed in tmp inode while migrating to extents (Lukas Czerner) [2079886] - ext4: fix an use-after-free issue about data=journal writeback mode (Lukas Czerner) [2079886] - ext4: fix bh ref count on error paths (Lukas Czerner) [2079886] - ext4: fix a possible ABBA deadlock due to busy PA (Lukas Czerner) [2079886] - ext4: discard preallocations before releasing group lock (Lukas Czerner) [2079886] - ext4: make ext_debug() implementation to use pr_debug() (Lukas Czerner) [2079886] - ext4: mballoc: make mb_debug() implementation to use pr_debug() (Lukas Czerner) [2079886] - ext4: improve ext_debug() msg in case of block allocation failure (Lukas Czerner) [2079886] - ext4: use BIT() macro for BH_** state bits (Lukas Czerner) [2079886] - ext4: balloc: use task_pid_nr() helper (Lukas Czerner) [2079886] - ext4: mballoc: fix possible NULL ptr & remove BUG_ONs from DOUBLE_CHECK (Lukas Czerner) [2079886] - ext4: mballoc: refactor code inside DOUBLE_CHECK into separate function (Lukas Czerner) [2079886] - ext4: mballoc: make ext4_mb_use_preallocated() return type as bool (Lukas Czerner) [2079886] - ext4: mballoc: simplify error handling in ext4_init_mballoc() (Lukas Czerner) [2079886] - ext4: mballoc: fix few other format specifier in mb_debug() (Lukas Czerner) [2079886] - ext4: mballoc: correct the mb_debug() format specifier for pa_len var (Lukas Czerner) [2079886] - ext4: mballoc: add more mb_debug() msgs (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_show_ac() (Lukas Czerner) [2079886] - ext4: mballoc: print bb_free info even when it is 0 (Lukas Czerner) [2079886] - ext4: fix dead loop in ext4_mb_new_blocks (Lukas Czerner) [2079886] - ext4: mballoc: use lock for checking free blocks while retrying (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_good_group() (Lukas Czerner) [2079886] - ext4: mballoc: introduce pcpu seqcnt for freeing PA to improve ENOSPC handling (Lukas Czerner) [2079886] - ext4: mballoc: refactor ext4_mb_discard_preallocations() (Lukas Czerner) [2079886] - ext4: mballoc: add blocks to PA list under same spinlock after allocating blocks (Lukas Czerner) [2079886] - ext4: fix lazy initialization next schedule time computation in more granular unit (Lukas Czerner) [2079886] - ext4: fix avefreec in find_group_orlov (Lukas Czerner) [2079886] - ext4: allow the dax flag to be set and cleared on inline directories (Lukas Czerner) [2079886] - ext4: annotate data race in jbd2_journal_dirty_metadata() (Lukas Czerner) [2079886] - ext4: annotate data race in start_this_handle() (Lukas Czerner) [2079886] - ext4: fix superblock checksum failure when setting password salt (Lukas Czerner) [2079886] - ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA (Lukas Czerner) [2079886] - jbd2: fix ocfs2 corrupt when clearing block group bits (Lukas Czerner) [2079886] - ext4: fix ext4_empty_dir() for directories with holes (Lukas Czerner) [2079886] - ext4: allow directory holes (Lukas Czerner) [2079886] - net/af_packet: make sure to pull mac header (Hangbin Liu) [2066976] - rcu/nocb: Make rcu_core() callbacks acceleration preempt-safe (Waiman Long) [2097549] - redhat: drop expired testing secureboot signing key (Jarod Wilson) [2095199]- atlantic: Fix issue in the pm resume flow. (Igor Russkikh) [2002395] - atlantic: Fix driver resume flow. (Igor Russkikh) [2002395] - Build intel_sdsi with {tools_make} (Prarit Bhargava) [1971951] - redhat/kernel.spec.template: Add intel_sdsi tool (Prarit Bhargava) [1971951] - redhat/configs: Add CONFIG_INTEL_SDSI (Prarit Bhargava) [1971951] - selftests: sdsi: test sysfs setup (Prarit Bhargava) [1971951] - tools arch x86: Add Intel SDSi provisiong tool (Prarit Bhargava) [1971951] - platform/x86: Add Intel Software Defined Silicon driver (Prarit Bhargava) [1971951] - platform/x86/intel: Fix 'rmmod pmt_telemetry' panic (Prarit Bhargava) [2080426] - x86/cpu: Add new Alderlake and Raptorlake CPU model numbers (Prarit Bhargava) [2040019 2040059] - netfilter: nf_tables: sanitize nft_set_desc_concat_parse() (Florian Westphal) [2096403] {CVE-2022-2078} - mt76: mt7921: Fix the error handling path of mt7921_pci_probe() (Íñigo Huguet) [2096758] - Watchdog: sp5100_tco: Enable Family 17h+ CPUs (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Add initialization using EFCH MMIO (Sudheesh Mavila) [2031643] - kernel/resource: Introduce request_mem_region_muxed() (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Refactor MMIO base address initialization (Sudheesh Mavila) [2031643] - Watchdog: sp5100_tco: Move timer initialization into function (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: Add support for get_timeleft (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: drop warning after registering device (Sudheesh Mavila) [2031643] - watchdog: sp5100_tco: drop warning after calling watchdog_init_timeout (Sudheesh Mavila) [2031643] - Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" (Chris von Recklinghausen) [2059701] {CVE-2022-0854} - swiotlb: fix info leak with DMA_FROM_DEVICE (Chris von Recklinghausen) [2059701] {CVE-2022-0854} - redhat/configs: Add CONFIG_S390_UV_UAPI (Claudio Imbrenda) [1984905] - [s390] s390/uv_uapi: depend on CONFIG_S390 (Claudio Imbrenda) [1984905] - [s390] drivers/s390/char: Add Ultravisor io device (Claudio Imbrenda) [1984905] - cpufreq: Specify default governor on command line (Prarit Bhargava) [2083766] - cpufreq: Fix locking issues with governors (Prarit Bhargava) [2083766] - cpufreq: Register governors at core_initcall (Prarit Bhargava) [2083766] - nvme: fix RCU hole that allowed for endless looping in multipath round robin (Gopal Tiwari) [2078806] - nvme-multipath: fix hang when disk goes live over reconnect (Gopal Tiwari) [2078806] - nvme-tcp: send H2CData PDUs based on MAXH2CDATA (Gopal Tiwari) [2078806] - nvme: also mark passthrough-only namespaces ready in nvme_update_ns_info (Gopal Tiwari) [2078806] - nvme: don't return an error from nvme_configure_metadata (Gopal Tiwari) [2078806] - nvme-tcp: fix bogus request completion when failing to send AER (Gopal Tiwari) [2078806] - nvme-fabrics: remove the unneeded ret variable in nvmf_dev_show (Gopal Tiwari) [2078806] - nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs (Gopal Tiwari) [2078806] - nvme-fabrics: print out valid arguments when reading from /dev/nvme-fabrics (Gopal Tiwari) [2078806] - nvmet-tcp: fix possible list corruption for unexpected command failure (Gopal Tiwari) [2078806] - nvme: fix use after free when disconnecting a reconnecting ctrl (Gopal Tiwari) [2078806] - nvme-multipath: set ana_log_size to 0 after free ana_log_buf (Gopal Tiwari) [2078806] - nvme: disable namespace access for unsupported metadata (Gopal Tiwari) [2078806] - nvme: report write pointer for a full zone as zone start + zone len (Gopal Tiwari) [2078806] - nvme: show subsys nqn for duplicate cntlids (Gopal Tiwari) [2078806] - nvme-pci: add NO APST quirk for Kioxia device (Gopal Tiwari) [2078806] - nvme: fix write zeroes pi (Gopal Tiwari) [2078806] - nvmet: use flex_array_size and struct_size (Gopal Tiwari) [2078806] - nvme: drop scan_lock and always kick requeue list when removing namespaces (Gopal Tiwari) [2078806] - nvmet: use struct_size over open coded arithmetic (Gopal Tiwari) [2078806] - nvme-pci: clear shadow doorbell memory on resets (Gopal Tiwari) [2078806] - nvmet: use macro definitions for setting cmic value (Gopal Tiwari) [2078806] - nvme-rdma: fix error code in nvme_rdma_setup_ctrl (Gopal Tiwari) [2078806] - nvmet: use macro definition for setting nmic value (Gopal Tiwari) [2078806] - nvmet-rdma: implement get_max_queue_size controller op (Gopal Tiwari) [2078806] - nvmet: add get_max_queue_size op for controllers (Gopal Tiwari) [2078806] - nvme-rdma: limit the maximal queue size for RDMA controllers (Gopal Tiwari) [2078806] - nvme: paring quiesce/unquiesce (Gopal Tiwari) [2078806] - nvme: add APIs for stopping/starting admin queue (Gopal Tiwari) [2078806] - nvme: prepare for pairing quiescing and unquiescing (Gopal Tiwari) [2078806] - nvme: apply nvme API to quiesce/unquiesce admin queue (Gopal Tiwari) [2078806] - nvme: loop: clear NVME_CTRL_ADMIN_Q_STOPPED after admin queue is reallocated (Gopal Tiwari) [2078806] - nvme: remove the call to nvme_update_disk_info in nvme_ns_remove (Gopal Tiwari) [2078806] - nvme: remove the GENHD_FL_UP check in nvme_ns_remove (Gopal Tiwari) [2078806] - nvme-rdma: destroy cm id before destroy qp to avoid use after free (Gopal Tiwari) [2078806] - nvme: only call synchronize_srcu when clearing current path (Gopal Tiwari) [2078806] - nvme-multipath: revalidate paths during rescan (Gopal Tiwari) [2078806] - nvme: remove the unused NVME_NS_* enum (Gopal Tiwari) [2078806] - nvme: Have NVME_FABRICS select NVME_CORE instead of transport drivers (Gopal Tiwari) [2078806] - nvme-pci: disable hmb on idle suspend (Gopal Tiwari) [2078806] - nvme: allow user toggling hmb usage (Gopal Tiwari) [2078806] - nvme-fabrics: remove superfluous nvmf_host_put in nvmf_parse_options (Gopal Tiwari) [2078806] - nvme: add set feature tracing support (Gopal Tiwari) [2078806] - nvmet: add set feature tracing support (Gopal Tiwari) [2078806] - nvme-pci: cmb sysfs: one file, one value (Gopal Tiwari) [2078806] - nvme-pci: use attribute group for cmb sysfs (Gopal Tiwari) [2078806] - compiler.h: Introduce absolute_pointer macro (Gopal Tiwari) [2078806] - vdpa: Fix vdpa-vhost driver (Laurent Vivier) [2093851] - nl80211: fix locking in nl80211_set_tx_bitrate_mask() (Íñigo Huguet) [2059994] - mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection (Íñigo Huguet) [2059994] - mac80211_hwsim: fix RCU protected chanctx access (Íñigo Huguet) [2059994] - mac80211: Reset MBSSID parameters upon connection (Íñigo Huguet) [2059994] - cfg80211: retrieve S1G operating channel number (Íñigo Huguet) [2059994] - nl80211: validate S1G channel width (Íñigo Huguet) [2059994] - mac80211: fix rx reordering with non explicit / psmp ack policy (Íñigo Huguet) [2059994] - ath11k: reduce the wait time of 11d scan and hw scan while add interface (Íñigo Huguet) [2059994] - iwlwifi: iwl-dbg: Use del_timer_sync() before freeing (Íñigo Huguet) [2059994] - bus: mhi: host: pci_generic: Flush recovery worker during freeze (Íñigo Huguet) [2059994] - bus: mhi: host: pci_generic: Add missing poweroff() PM callback (Íñigo Huguet) [2059994] - mac80211: fix ht_capa printout in debugfs (Íñigo Huguet) [2059994] - cfg80211: hold bss_lock while updating nontrans_list (Íñigo Huguet) [2059994] - nl80211: correctly check NL80211_ATTR_REG_ALPHA2 size (Íñigo Huguet) [2059994] - ath9k: Fix usage of driver-private space in tx_info (Íñigo Huguet) [2059994] - brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant (Íñigo Huguet) [2059994] - mt76: Fix undefined behavior due to shift overflowing the constant (Íñigo Huguet) [2059994] - Revert "ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax" (Íñigo Huguet) [2059994] - ath9k: Properly clear TX status area before reporting to mac80211 (Íñigo Huguet) [2059994] - iwlwifi: mvm: Don't fail if PPAG isn't supported (Íñigo Huguet) [2059994] - bus: mhi: Make mhi_state_str[] array static inline and move to common.h (Íñigo Huguet) [2059994] - bus: mhi: Move common MHI definitions out of host directory (Íñigo Huguet) [2059994] - bus: mhi: host: Rename "struct mhi_tre" to "struct mhi_ring_element" (Íñigo Huguet) [2059994] - bus: mhi: Cleanup the register definitions used in headers (Íñigo Huguet) [2059994] - bus: mhi: Use bitfield operations for handling DWORDs of ring elements (Íñigo Huguet) [2059994] - bus: mhi: Use bitfield operations for register read and write (Íñigo Huguet) [2059994] - bus: mhi: Move host MHI code to "host" directory (Íñigo Huguet) [2059994] - bus: mhi: Fix MHI DMA structure endianness (Íñigo Huguet) [2059994] - bus: mhi: Fix pm_state conversion to string (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series (Íñigo Huguet) [2059994] - rfkill: make new event layout opt-in (Íñigo Huguet) [2059994] - rtw89: implement stop and resume channels transmission v1 (Íñigo Huguet) [2059994] - rtw89: extend mac tx_en bits from 16 to 32 (Íñigo Huguet) [2059994] - rtw89: change value assignment style of rtw89_mac_cfg_gnt() (Íñigo Huguet) [2059994] - rtw89: 8852c: add mac_ctrl_path and mac_cfg_gnt APIs (Íñigo Huguet) [2059994] - rtw89: disable FW and H2C function if CPU disabled (Íñigo Huguet) [2059994] - rtw89: initialize preload window of D-MAC (Íñigo Huguet) [2059994] - rtw89: modify MAC enable functions (Íñigo Huguet) [2059994] - rtw89: add config_rf_reg_v1 to configure RF parameter tables (Íñigo Huguet) [2059994] - rtw89: 8852c: add read/write rf register function (Íñigo Huguet) [2059994] - rtw89: 8852c: add setting of TB UL TX power offset (Íñigo Huguet) [2059994] - rtw89: 8852c: add write/read crystal function in CFO tracking (Íñigo Huguet) [2059994] - rtw89: modify dcfo_comp to share with chips (Íñigo Huguet) [2059994] - rtw89: Fix spelling mistake "Mis-Match" -> "Mismatch" (Íñigo Huguet) [2059994] - brcmfmac: p2p: Fix spelling mistake "Comback" -> "Comeback" (Íñigo Huguet) [2059994] - iwlwifi: mei: fix building iwlmei (Íñigo Huguet) [2059994] - mt76: fix monitor rx FCS error in DFS channel (Íñigo Huguet) [2059994] - mt76: mt7921: don't enable beacon filter when IEEE80211_CONF_CHANGE_MONITOR is set (Íñigo Huguet) [2059994] - mt76: fix wrong HE data rate in sniffer tool (Íñigo Huguet) [2059994] - mt76: mt7915: introduce 802.11ax multi-bss support (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_init_hw in a dedicated work (Íñigo Huguet) [2059994] - mt76: mt7921: add mt7921u driver (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_status_data in mac common code. (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_complete_skb in common mac code. (Íñigo Huguet) [2059994] - mt76: mt7921: move mt7921_usb_sdio_tx_prepare_skb in common mac code (Íñigo Huguet) [2059994] - mt76: mt7921: update mt7921_skb_add_usb_sdio_hdr to support usb (Íñigo Huguet) [2059994] - mt76: mt7921: disable runtime pm for usb (Íñigo Huguet) [2059994] - mt76: usb: introduce __mt76u_init utility routine (Íñigo Huguet) [2059994] - mt76: usb: add req_type to ___mt76u_wr signature (Íñigo Huguet) [2059994] - mt76: usb: add req_type to ___mt76u_rr signature (Íñigo Huguet) [2059994] - mt76: mt7915: fix typos in comments (Íñigo Huguet) [2059994] - mt76: mt7915: fix phy cap in mt7915_set_stream_he_txbf_caps() (Íñigo Huguet) [2059994] - mt76: mt7915: fix beamforming mib stats (Íñigo Huguet) [2059994] - mt76: mt7915: set band1 TGID field in tx descriptor (Íñigo Huguet) [2059994] - mt76: fix invalid rssi report (Íñigo Huguet) [2059994] - mt76: use le32/16_get_bits() whenever possible (Íñigo Huguet) [2059994] - mt76: connac: make read-only array ba_range static const (Íñigo Huguet) [2059994] - mt76: mt7915: check for devm_pinctrl_get() failure (Íñigo Huguet) [2059994] - mt76: mt7921: get rid of mt7921_wait_for_mcu_init declaration (Íñigo Huguet) [2059994] - mt76: mt7915: add txpower init for 6GHz (Íñigo Huguet) [2059994] - mt76: mt7915: fix eeprom fields of txpower init values (Íñigo Huguet) [2059994] - mt76: mt7915: add 6 GHz support (Íñigo Huguet) [2059994] - mt76: connac: add 6 GHz support for wtbl and starec configuration (Íñigo Huguet) [2059994] - mt76: mt7915: allow beaconing on all chains (Íñigo Huguet) [2059994] - mt76: fix monitor mode crash with sdio driver (Íñigo Huguet) [2059994] - mt76: mt7921: fix mt7921_queues_acq implementation (Íñigo Huguet) [2059994] - mt76: mt7921: fix xmit-queue dump for usb and sdio (Íñigo Huguet) [2059994] - mt76: mt7921: make mt7921_init_tx_queues static (Íñigo Huguet) [2059994] - mt76: split single ldpc cap bit into bits (Íñigo Huguet) [2059994] - mt76: mt7915: fix DFS no radar detection event (Íñigo Huguet) [2059994] - mt76: mt7921: use mt76_hw instead of open coding it (Íñigo Huguet) [2059994] - mt76: mt7921: fix up the monitor mode (Íñigo Huguet) [2059994] - mt76: mt7663u: introduce mt7663u_mcu_power_on routine (Íñigo Huguet) [2059994] - mt76: mt7615: honor ret from mt7615_mcu_restart in mt7663u_mcu_init (Íñigo Huguet) [2059994] - rtw89: fix uninitialized variable of rtw89_append_probe_req_ie() (Íñigo Huguet) [2059994] - rtlwifi: rtl8821ae: fix typos in comments (Íñigo Huguet) [2059994] - rtlwifi: rtl8192cu: Add On Networks N150 (Íñigo Huguet) [2059994] - mwifiex: make read-only array wmm_oui static const (Íñigo Huguet) [2059994] - mac80211: update bssid_indicator in ieee80211_assign_beacon (Íñigo Huguet) [2059994] - mac80211: MBSSID channel switch (Íñigo Huguet) [2059994] - mac80211: MBSSID beacon handling in AP mode (Íñigo Huguet) [2059994] - mac80211: always have ieee80211_sta_restart() (Íñigo Huguet) [2059994] - mac80211: Add support to trigger sta disconnect on hardware restart (Íñigo Huguet) [2059994] - mac80211: fix potential double free on mesh join (Íñigo Huguet) [2059994] - mac80211: correct legacy rates check in ieee80211_calc_rx_airtime (Íñigo Huguet) [2059994] - nl80211: fix typo of NL80211_IF_TYPE_OCB in documentation (Íñigo Huguet) [2059994] - mac80211: Use GFP_KERNEL instead of GFP_ATOMIC when possible (Íñigo Huguet) [2059994] - mac80211: replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE (Íñigo Huguet) [2059994] - rtw89: 8852c: process logic efuse map (Íñigo Huguet) [2059994] - rtw89: 8852c: process efuse of phycap (Íñigo Huguet) [2059994] - rtw89: support DAV efuse reading operation (Íñigo Huguet) [2059994] - rtw89: 8852c: add chip::dle_mem (Íñigo Huguet) [2059994] - rtw89: add page_regs to handle v1 chips (Íñigo Huguet) [2059994] - rtw89: add chip_info::{h2c,c2h}_reg to support more chips (Íñigo Huguet) [2059994] - rtw89: add hci_func_en_addr to support variant generation (Íñigo Huguet) [2059994] - rtw89: add power_{on/off}_func (Íñigo Huguet) [2059994] - rtw89: read chip version depends on chip ID (Íñigo Huguet) [2059994] - rtw89: pci: use a struct to describe all registers address related to DMA channel (Íñigo Huguet) [2059994] - rtw89: pci: add V1 of PCI channel address (Íñigo Huguet) [2059994] - rtw89: pci: add struct rtw89_pci_info (Íñigo Huguet) [2059994] - rtw89: 8852c: add 8852c empty files (Íñigo Huguet) [2059994] - brcmfmac: make the read-only array pktflags static const (Íñigo Huguet) [2059994] - rtlwifi: rtl8192ce: remove duplicated function '_rtl92ce_phy_set_rf_sleep' (Íñigo Huguet) [2059994] - ath10k: Fix error handling in ath10k_setup_msa_resources (Íñigo Huguet) [2059994] - ath11k: remove unneeded flush_workqueue (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 72 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: acpi: move ppag code from mvm to fw/acpi (Íñigo Huguet) [2059994] - iwlwifi: dbg: check trigger data before access (Íñigo Huguet) [2059994] - iwlwifi: dbg: in sync mode don't call schedule (Íñigo Huguet) [2059994] - iwlwifi: use 4k queue size for Bz A-step (Íñigo Huguet) [2059994] - iwlwifi: pcie: fix SW error MSI-X mapping (Íñigo Huguet) [2059994] - iwlwifi: yoyo: dump IMR DRAM only for HW and FW error (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for IMR based on platform (Íñigo Huguet) [2059994] - iwlwifi: yoyo: disable IMR DRAM region if IMR is disabled (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove cipher scheme support (Íñigo Huguet) [2059994] - iwlwifi: Configure FW debug preset via module param. (Íñigo Huguet) [2059994] - iwlwifi: mvm: add a flag to reduce power command. (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 71 for AX devices (Íñigo Huguet) [2059994] - ath9k: make array voice_priority static const (Íñigo Huguet) [2059994] - rtw89: declare HE capabilities in 6G band (Íñigo Huguet) [2059994] - rtw89: fix HE PHY bandwidth capability (Íñigo Huguet) [2059994] - rtw89: add tx_wake notify for low ps mode (Íñigo Huguet) [2059994] - rtw89: 8852a: add ieee80211_ops::hw_scan (Íñigo Huguet) [2059994] - Revert "ath: add support for special 0x0 regulatory domain" (Íñigo Huguet) [2059994] - rtw89: get channel parameters of 160MHz bandwidth (Íñigo Huguet) [2059994] - mt76: fix dfs state issue with 160 MHz channels (Íñigo Huguet) [2059994] - mt76: mt7915: simplify conditional (Íñigo Huguet) [2059994] - mt76: mt7921: fix injected MPDU transmission to not use HW A-MSDU (Íñigo Huguet) [2059994] - mt76: mt7915e: Enable thermal management by default (Íñigo Huguet) [2059994] - mt76: mt7915e: Add a hwmon attribute to get the actual throttle state. (Íñigo Huguet) [2059994] - mt76: mt7915e: Fix degraded performance after temporary overheat (Íñigo Huguet) [2059994] - mt76: improve signal strength reporting (Íñigo Huguet) [2059994] - mt76: mt7915: use min_t() to make code cleaner (Íñigo Huguet) [2059994] - mt76: mt7915: fix the muru tlv issue (Íñigo Huguet) [2059994] - mt76: mt7915: check band idx for bcc event (Íñigo Huguet) [2059994] - mt76: mt7615: Fix assigning negative values to unsigned variable (Íñigo Huguet) [2059994] - mt76: connac: adjust wlan_idx size from u8 to u16 (Íñigo Huguet) [2059994] - mt76: mt7915: fix endianness warnings in mt7915_mac_tx_free() (Íñigo Huguet) [2059994] - mt76: mt7915: fix endianness warnings in mt7915_debugfs_rx_fw_monitor (Íñigo Huguet) [2059994] - mt76: mt7615: fix compiler warning on frame size (Íñigo Huguet) [2059994] - mt76: mt7915: initialize smps mode in mt7915_mcu_sta_rate_ctrl_tlv() (Íñigo Huguet) [2059994] - mt76: mt7915: introduce band_idx in mt7915_phy (Íñigo Huguet) [2059994] - mt76: mt7915: add support for MT7986 (Íñigo Huguet) [2059994] - ath10k: fix pointer arithmetic error in trace call (Íñigo Huguet) [2059994] - ath11k: add dbring debug support (Íñigo Huguet) [2059994] - ath11k: translate HE status to radiotap format (Íñigo Huguet) [2059994] - ath11k: decode HE status tlv (Íñigo Huguet) [2059994] - ath11k: switch to using ieee80211_tx_status_ext() (Íñigo Huguet) [2059994] - mt76: mt7921s: fix missing fc type/sub-type for 802.11 pkts (Íñigo Huguet) [2059994] - mt76: mt7915: fix potential memory leak of fw monitor packets (Íñigo Huguet) [2059994] - mt76: mt7915: Fix channel state update error issue (Íñigo Huguet) [2059994] - mt76: fix endianness errors in reverse_frag0_hdr_trans (Íñigo Huguet) [2059994] - mt76: mt7615: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU (Íñigo Huguet) [2059994] - rtw88: change rtw_info() to proper message level (Íñigo Huguet) [2059994] - rtw89: Limit the CFO boundaries of x'tal value (Íñigo Huguet) [2059994] - rtw89: phy: handle txpwr lmt/lmt_ru of 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: phy: handle txpwr lmt/lmt_ru of 6G band (Íñigo Huguet) [2059994] - ath11k: Fix frames flush failure caused by deadlock (Íñigo Huguet) [2059994] - ath11k: Handle failure in qmi firmware ready (Íñigo Huguet) [2059994] - ath11k: Invalidate cached reo ring entry before accessing it (Íñigo Huguet) [2059994] - ath: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - ath11k: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - ath10k: Replace zero-length array with flexible-array member (Íñigo Huguet) [2059994] - ath9k: use hw_random API instead of directly dumping into random.c (Íñigo Huguet) [2059994] - ath11k: configure RDDM size to mhi for recovery by firmware (Íñigo Huguet) [2059994] - ath11k: fix invalid m3 buffer address (Íñigo Huguet) [2059994] - ath11k: add ath11k_qmi_free_resource() for recovery (Íñigo Huguet) [2059994] - rtw89: core.h: Replace zero-length array with flexible-array member (Íñigo Huguet) [2059994] - brcmfmac: Replace zero-length arrays with flexible-array members (Íñigo Huguet) [2059994] - rtw89: fix RCU usage in rtw89_core_txq_push() (Íñigo Huguet) [2059994] - rtw88: coex: Update rtl8822c COEX version to 22020720 (Íñigo Huguet) [2059994] - rtw88: coex: Add C2H/H2C handshake with BT mailbox for asking HID Info (Íñigo Huguet) [2059994] - rtw88: coex: Add WLAN MIMO power saving for Bluetooth gaming controller (Íñigo Huguet) [2059994] - rtw88: coex: update BT PTA counter regularly (Íñigo Huguet) [2059994] - rtw88: coex: Improve WLAN throughput when HFP COEX (Íñigo Huguet) [2059994] - rtw88: 8822ce: add support for TX/RX 1ss mode (Íñigo Huguet) [2059994] - iwlwifi: dbg_ini: Split memcpy() to avoid multi-field write (Íñigo Huguet) [2059994] - iwlwifi: mvm: Fix an error code in iwl_mvm_up() (Íñigo Huguet) [2059994] - iwlwifi: Fix -EIO error code that is never returned (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: use kmemdup() to replace kzalloc + memcpy (Íñigo Huguet) [2059994] - iwlwifi: Fix syntax errors in comments (Íñigo Huguet) [2059994] - iwlwifi: dvm: use struct_size over open coded arithmetic (Íñigo Huguet) [2059994] - iwlwifi/fw: use struct_size over open coded arithmetic (Íñigo Huguet) [2059994] - iwlwifi: Make use of the helper macro LIST_HEAD() (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix off by one in iwl_mvm_stat_iterator_all_macs() (Íñigo Huguet) [2059994] - iwlwifi: yoyo: send hcmd to fw after dump collection completes. (Íñigo Huguet) [2059994] - iwlwifi: mvm: move only to an enabled channel (Íñigo Huguet) [2059994] - iwlwifi: mvm: update BAID allocation command again (Íñigo Huguet) [2059994] - iwlwifi: api: remove ttl field from TX command (Íñigo Huguet) [2059994] - iwlwifi: support new queue allocation command (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support dump policy for the dump size (Íñigo Huguet) [2059994] - iwlwifi: pcie: iwlwifi: fix device id 7F70 struct (Íñigo Huguet) [2059994] - iwlwifi: tlc: Add logs in rs_fw_rate_init func to print TLC configuration (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove iwl_mvm_disable_txq() flags argument (Íñigo Huguet) [2059994] - iwlwifi: remove command ID argument from queue allocation (Íñigo Huguet) [2059994] - iwlwifi: make iwl_txq_dyn_alloc_dma() return the txq (Íñigo Huguet) [2059994] - iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val (Íñigo Huguet) [2059994] - iwlwifi: mvm: add additional info for boot info failures (Íñigo Huguet) [2059994] - iwlwifi: mvm: always remove the session protection after association (Íñigo Huguet) [2059994] - iwlwifi: mvm: make iwl_mvm_reconfig_scd() static (Íñigo Huguet) [2059994] - iwlwifi: mvm: refactor setting PPE thresholds in STA_HE_CTXT_CMD (Íñigo Huguet) [2059994] - iwlwifi: mvm: Disable WiFi bands selectively with BIOS (Íñigo Huguet) [2059994] - iwlwifi: mvm: add additional info for boot info failures (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't send BAID removal to the FW during hw_restart (Íñigo Huguet) [2059994] - iwlwifi: don't dump_stack() when we get an unexpected interrupt (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: handle deactivation notification (Íñigo Huguet) [2059994] - iwlwifi: mvm: Consider P2P GO operation during scan (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 70 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: Unify the scan iteration functions (Íñigo Huguet) [2059994] - iwlwifi: mei: use C99 initializer for device IDs (Íñigo Huguet) [2059994] - iwlwifi: debugfs: remove useless double condition (Íñigo Huguet) [2059994] - iwlwifi: remove unused macros (Íñigo Huguet) [2059994] - iwlwifi: eeprom: clean up macros (Íñigo Huguet) [2059994] - iwlwifi: drv: load tlv debug data earlier (Íñigo Huguet) [2059994] - iwlwifi: pcie: Adapt rx queue write pointer for Bz family (Íñigo Huguet) [2059994] - iwlwifi: pcie: adjust to Bz completion descriptor (Íñigo Huguet) [2059994] - iwlwifi: mvm: Passively scan non PSC channels only when requested so (Íñigo Huguet) [2059994] - iwlwifi: scan: Modify return value of a function (Íñigo Huguet) [2059994] - iwlwifi: yoyo: Avoid using dram data if allocation failed (Íñigo Huguet) [2059994] - iwlwifi: mvm: Correctly set fragmented EBS (Íñigo Huguet) [2059994] - iwlwifi: nvm: Correct HE capability (Íñigo Huguet) [2059994] - iwlwifi: mei: avoid -Wpointer-arith and -Wcast-qual warnings (Íñigo Huguet) [2059994] - iwlwifi: make some functions friendly to sparse (Íñigo Huguet) [2059994] - iwlwifi: avoid variable shadowing (Íñigo Huguet) [2059994] - iwlwifi: remove unused DC2DC_CONFIG_CMD definitions (Íñigo Huguet) [2059994] - iwlwifi: dbg-tlv: clean up iwl_dbg_tlv_update_drams() (Íñigo Huguet) [2059994] - iwlwifi: fw: make dump_start callback void (Íñigo Huguet) [2059994] - iwlwifi: pcie: make sure iwl_rx_packet_payload_len() will not underflow (Íñigo Huguet) [2059994] - iwlwifi: mvm: use debug print instead of WARN_ON() (Íñigo Huguet) [2059994] - iwlwifi: read and print OTP minor version (Íñigo Huguet) [2059994] - iwlwifi: add support for BZ-U and BZ-L HW (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for CT-KILL notification version 2 (Íñigo Huguet) [2059994] - iwlwifi: yoyo: remove DBGI_SRAM address reset writing (Íñigo Huguet) [2059994] - iwlwifi: mvm: support v3 of station HE context command (Íñigo Huguet) [2059994] - iwlwifi: yoyo: add IMR DRAM dump support (Íñigo Huguet) [2059994] - iwlwifi: yoyo: fix DBGC allocation flow (Íñigo Huguet) [2059994] - iwlwifi: pcie: add support for MS devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: align locking in D3 test debugfs (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req (Íñigo Huguet) [2059994] - iwlwifi: advertise support for HE - DCM BPSK RX/TX (Íñigo Huguet) [2059994] - iwlwifi: mvm: only enable HE DCM if we also support TX (Íñigo Huguet) [2059994] - iwlwifi: yoyo: fix DBGI_SRAM ini dump header. (Íñigo Huguet) [2059994] - iwlwifi: dbg: add infra for tracking free buffer size (Íñigo Huguet) [2059994] - iwlwifi: mvm: starting from 22000 we have 32 Rx AMPDU sessions (Íñigo Huguet) [2059994] - iwlwifi: mvm: support new BAID allocation command (Íñigo Huguet) [2059994] - iwlwifi: mvm: refactor iwl_mvm_sta_rx_agg() (Íñigo Huguet) [2059994] - iwlwifi: cfg: add support for 1K BA queue (Íñigo Huguet) [2059994] - iwlwifi: avoid void pointer arithmetic (Íñigo Huguet) [2059994] - iwlwifi: fix various more -Wcast-qual warnings (Íñigo Huguet) [2059994] - iwlwifi: propagate (const) type qualifier (Íñigo Huguet) [2059994] - iwlwifi: de-const properly where needed (Íñigo Huguet) [2059994] - iwlwifi: make iwl_fw_lookup_cmd_ver() take a cmd_id (Íñigo Huguet) [2059994] - iwlwifi: mvm: fw: clean up hcmd struct creation (Íñigo Huguet) [2059994] - iwlwifi: prefer WIDE_ID() over iwl_cmd_id() (Íñigo Huguet) [2059994] - iwlwifi: mvm: allow enabling UHB TAS in the USA via ACPI setting (Íñigo Huguet) [2059994] - iwlwifi: mvm: offload channel switch timing to FW (Íñigo Huguet) [2059994] - iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta (Íñigo Huguet) [2059994] - mac80211_hwsim: Advertise support for EHT capabilities (Íñigo Huguet) [2059994] - mac80211: parse AddBA request with extended AddBA element (Íñigo Huguet) [2059994] - mac80211: calculate max RX NSS for EHT mode (Íñigo Huguet) [2059994] - mac80211: Add support for storing station EHT capabilities (Íñigo Huguet) [2059994] - mac80211: Handle station association response with EHT (Íñigo Huguet) [2059994] - mac80211: Add EHT capabilities to association/probe request (Íñigo Huguet) [2059994] - mac80211: Add initial support for EHT and 320 MHz channels (Íñigo Huguet) [2059994] - mac80211: Support parsing EHT elements (Íñigo Huguet) [2059994] - cfg80211: Support configuration of station EHT capabilities (Íñigo Huguet) [2059994] - nl80211: fix NL80211_HE_MAX_CAPABILITY_LEN (Íñigo Huguet) [2059994] - cfg80211: add NO-EHT flag to regulatory (Íñigo Huguet) [2059994] - nl80211: add support for 320MHz channel limitation (Íñigo Huguet) [2059994] - nl80211: add EHT MCS support (Íñigo Huguet) [2059994] - cfg80211: Add support for EHT 320 MHz channel width (Íñigo Huguet) [2059994] - cfg80211: Add data structures to capture EHT capabilities (Íñigo Huguet) [2059994] - ieee80211: add EHT 1K aggregation definitions (Íñigo Huguet) [2059994] - ieee80211: Add EHT (802.11be) definitions (Íñigo Huguet) [2059994] - mac80211_hwsim: Add custom regulatory for 6GHz (Íñigo Huguet) [2059994] - mac80211_hwsim: don't shadow a global variable (Íñigo Huguet) [2059994] - mac80211_hwsim: check TX and STA bandwidth (Íñigo Huguet) [2059994] - nl80211: accept only HE capability elements with valid size (Íñigo Huguet) [2059994] - mac80211: parse only HE capability elements with valid size (Íñigo Huguet) [2059994] - ieee80211: add helper to check HE capability element size (Íñigo Huguet) [2059994] - nl80211: use RCU to read regdom in reg get/dump (Íñigo Huguet) [2059994] - mac80211_hwsim: Add debugfs to control rx status RSSI (Íñigo Huguet) [2059994] - ieee80211: use tab to indent struct ieee80211_neighbor_ap_info (Íñigo Huguet) [2059994] - rtw89: handle TX/RX 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: declare if chip support 160M bandwidth (Íñigo Huguet) [2059994] - rtw89: add 6G support to rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw89: extend subband for 6G band (Íñigo Huguet) [2059994] - rtw89: refine naming of rfk helpers with prefix (Íñigo Huguet) [2059994] - rtw89: make rfk helpers common across chips (Íñigo Huguet) [2059994] - brcmfmac: Add BCM43454/6 support (Íñigo Huguet) [2059994] - ath11k: fix destination monitor ring out of sync (Íñigo Huguet) [2059994] - ath11k: fix radar detection in 160 Mhz (Íñigo Huguet) [2059994] - ath11k: fix WARN_ON during ath11k_mac_update_vif_chan (Íñigo Huguet) [2059994] - ath11k: fix uninitialized rate_idx in ath11k_dp_tx_update_txcompl() (Íñigo Huguet) [2059994] - brcmfmac: of: remove redundant variable len (Íñigo Huguet) [2059994] - brcmfmac: p2p: Replace one-element arrays with flexible-array members (Íñigo Huguet) [2059994] - rtw89: coex: set EN bit to PLT register (Íñigo Huguet) [2059994] - rtw89: recover rates of rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw88: recover rates of rate adaptive mechanism (Íñigo Huguet) [2059994] - rtw89: declare AP mode support (Íñigo Huguet) [2059994] - rtw89: debug: add stations entry to show ID assignment (Íñigo Huguet) [2059994] - rtw89: implement ieee80211_ops::start_ap and stop_ap (Íñigo Huguet) [2059994] - rtw89: maintain assoc/disassoc STA states of firmware and hardware (Íñigo Huguet) [2059994] - rtw89: only STA mode change vif_type mapping dynamically (Íñigo Huguet) [2059994] - rtw89: add addr_cam field to sta to support AP mode (Íñigo Huguet) [2059994] - rtw89: extend role_maintain to support AP mode (Íñigo Huguet) [2059994] - rtw88: fix use after free in rtw_hw_scan_update_probe_req() (Íñigo Huguet) [2059994] - mac80211: Remove redundent assignment channel_type (Íñigo Huguet) [2059994] - mac80211: remove useless ieee80211_vif_is_mesh() check (Íñigo Huguet) [2059994] - mac80211: fix struct ieee80211_tx_info size (Íñigo Huguet) [2059994] - mac80211: mlme: validate peer HE supported rates (Íñigo Huguet) [2059994] - mac80211: remove unused macros (Íñigo Huguet) [2059994] - cfg80211: pmsr: remove useless ifdef guards (Íñigo Huguet) [2059994] - mac80211: airtime: avoid variable shadowing (Íñigo Huguet) [2059994] - mac80211: mlme: add documentation from spec to code (Íñigo Huguet) [2059994] - mac80211: vht: use HE macros for parsing HE capabilities (Íñigo Huguet) [2059994] - ieee80211: radiotap: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - cfg80211: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - ieee80211: fix -Wcast-qual warnings (Íñigo Huguet) [2059994] - cfg80211: don't add non transmitted BSS to 6GHz scanned channels (Íñigo Huguet) [2059994] - ieee80211: fix HE SPR size calculation (Íñigo Huguet) [2059994] - cfg80211/mac80211: assume CHECKSUM_COMPLETE includes SNAP (Íñigo Huguet) [2059994] - mac80211: consider RX NSS in UHB connection (Íñigo Huguet) [2059994] - mac80211: limit bandwidth in HE capabilities (Íñigo Huguet) [2059994] - mt76: redefine mt76_for_each_q_rx to adapt mt7986 changes (Íñigo Huguet) [2059994] - mt76: dma: initialize skip_unmap in mt76_dma_rx_fill (Íñigo Huguet) [2059994] - mt76: do not always copy ethhdr in reverse_frag0_hdr_trans (Íñigo Huguet) [2059994] - mt76: mt76x02: use mt76_phy_dfs_state to determine radar detector state (Íñigo Huguet) [2059994] - mt76: mt7615: fix/rewrite the dfs state handling logic (Íñigo Huguet) [2059994] - mt76: mt7915: fix/rewrite the dfs state handling logic (Íñigo Huguet) [2059994] - mt76: mt76x02: improve tx hang detection (Íñigo Huguet) [2059994] - mt76x02: improve mac error check/reset reliability (Íñigo Huguet) [2059994] - mt76: mt7921s: run sleep mode by default (Íñigo Huguet) [2059994] - mt76: sdio: honor the largest Tx buffer the hardware can support (Íñigo Huguet) [2059994] - mt76: mt7915: fix the nss setting in bitrates (Íñigo Huguet) [2059994] - mt76: mt7915: update max_mpdu_size in mt7915_mcu_sta_amsdu_tlv() (Íñigo Huguet) [2059994] - mt76: mt7915: fix mcs_map in mt7915_mcu_set_sta_he_mcs() (Íñigo Huguet) [2059994] - mt76: mt7921s: fix a possible memory leak in mt7921_load_patch (Íñigo Huguet) [2059994] - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_sta (Íñigo Huguet) [2059994] - mt76: stop the radar detector after leaving dfs channel (Íñigo Huguet) [2059994] - mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update (Íñigo Huguet) [2059994] - mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update (Íñigo Huguet) [2059994] - mt76: mt7663s: flush runtime-pm queue after waking up the device (Íñigo Huguet) [2059994] - mt76: mt7615: add support for LG LGSBWAC02 (MT7663BUN) (Íñigo Huguet) [2059994] - mt76: mt7921: remove duplicated code in mt7921_mac_decode_he_radiotap (Íñigo Huguet) [2059994] - mt76: mt7915: add missing DATA4_TB_SPTL_REUSE1 to mt7915_mac_decode_he_radiotap (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_lmac_mapping in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: enable radar background detection (Íñigo Huguet) [2059994] - mt76: mt7915: report radar pattern if detected by rdd2 (Íñigo Huguet) [2059994] - mt76: mt7915: introduce rdd_monitor debugfs node (Íñigo Huguet) [2059994] - mt76: mt7915: enable radar trigger on rdd2 (Íñigo Huguet) [2059994] - mt76: mt7915: introduce mt7915_set_radar_background routine (Íñigo Huguet) [2059994] - mt76: mt7915: set bssinfo/starec command when adding interface (Íñigo Huguet) [2059994] - mt76: mt7921: toggle runtime-pm adding a monitor vif (Íñigo Huguet) [2059994] - mt76: mt7921: fix endianness issues in mt7921_mcu_set_tx() (Íñigo Huguet) [2059994] - mt76: sdio: disable interrupt in mt76s_sdio_irq (Íñigo Huguet) [2059994] - mt76: mt7921: fix crash when startup fails. (Íñigo Huguet) [2059994] - mt76: mt7921s: fix mt7921s_mcu_[fw|drv]_pmctrl (Íñigo Huguet) [2059994] - mt76: mt7921: fix ht mcs in mt7921_mac_add_txs_skb() (Íñigo Huguet) [2059994] - mt76: mt7915: fix ht mcs in mt7915_mac_add_txs_skb() (Íñigo Huguet) [2059994] - mt76: mt7615: fix a leftover race in runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: fix a leftover race in runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: do not always disable fw runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7915: add support for passing chip/firmware debug data to user space (Íñigo Huguet) [2059994] - mt76: mt7615e: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: mt7915: update bss_info with cipher after setting the group key (Íñigo Huguet) [2059994] - mt76: mt7615: update bss_info with cipher after setting the group key (Íñigo Huguet) [2059994] - mt76: connac: add support for passing the cipher field in bss_info (Íñigo Huguet) [2059994] - mt76: mt7921e: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: mt7615: fix a possible race enabling/disabling runtime-pm (Íñigo Huguet) [2059994] - mt76: mt7921: set EDCA parameters with the MCU CE command (Íñigo Huguet) [2059994] - mt76: mt76_connac: fix MCU_CE_CMD_SET_ROC definition error (Íñigo Huguet) [2059994] - mt76: mt7921: forbid the doze mode when coredump is in progress (Íñigo Huguet) [2059994] - mt76: mt7921e: make dev->fw_assert usage consistent (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_rdd_cmd in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_set_rts_thresh (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_gen_dl_mode in mt76-connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_init_download (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_patch_sem_ctrl/mt76_connac_mcu_start_patch (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_restart in common module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_start_firmware (Íñigo Huguet) [2059994] - mt76: mt7921: get rid of mt7921_mcu_get_eeprom (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_set_pm in connac module (Íñigo Huguet) [2059994] - mt76: connac: introduce is_connac_v1 utility routine (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_wtbl_update_hdr_trans in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_hdr_trans_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_ht_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_smps_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_uapsd (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_basic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_generic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_ba (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_wtbl_ba_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_sta_ba_tlv (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_basic_tlv in connac module (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_ext_tlv in connac module (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_bss_omac_tlv in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: remove duplicated defs in mcu.h (Íñigo Huguet) [2059994] - mt76: mt7915: move pci specific code back to pci.c (Íñigo Huguet) [2059994] - mt76: mt7921s: update mt7921s_wfsys_reset sequence (Íñigo Huguet) [2059994] - mt76: mt7921s: clear MT76_STATE_MCU_RUNNING immediately after reset (Íñigo Huguet) [2059994] - mt76: sdio: lock sdio when it is needed (Íñigo Huguet) [2059994] - mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv (Íñigo Huguet) [2059994] - mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode (Íñigo Huguet) [2059994] - mt76: make mt76_sar_capa static (Íñigo Huguet) [2059994] - mt76: mt7915: add device id for mt7916 (Íñigo Huguet) [2059994] - mt76: set wlan_idx_hi on mt7916 (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_add_key in connac module (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_get_phy utilities (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_chan_bw in common code (Íñigo Huguet) [2059994] - mt76: connac: move mt76_connac_mcu_get_cipher in common code (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_add_tlv routine (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_alloc_wtbl_req (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac_mcu_alloc_sta_req (Íñigo Huguet) [2059994] - mt76: connac: fix sta_rec_wtbl tag len (Íñigo Huguet) [2059994] - mt76: mt7915: add mt7916 calibrated data support (Íñigo Huguet) [2059994] - mt76: mt7915: update mt7915_chan_mib_offs for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: update rx rate reporting for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: add txfree event v3 (Íñigo Huguet) [2059994] - mt76: mt7915: enlarge wcid size to 544 (Íñigo Huguet) [2059994] - mt76: mt7915: rework eeprom.c to adapt mt7916 changes (Íñigo Huguet) [2059994] - mt76: mt7915: add firmware support for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: rework dma.c to adapt mt7916 changes (Íñigo Huguet) [2059994] - mt76: add MT_RXQ_MAIN_WA for mt7916 (Íñigo Huguet) [2059994] - mt76: mt7915: refine register definition (Íñigo Huguet) [2059994] - mt76: mt7915: add mt7915_mmio_probe() as a common probing function (Íñigo Huguet) [2059994] - mt76: mt7915: fix polling firmware-own status (Íñigo Huguet) [2059994] - brcmfmac: pcie: Read the console on init and shutdown (Íñigo Huguet) [2059994] - brcmfmac: fwil: Constify iovar name arguments (Íñigo Huguet) [2059994] - brcmfmac: of: Use devm_kstrdup for board_type & check for errors (Íñigo Huguet) [2059994] - brcmfmac: pcie: Fix crashes due to early IRQs (Íñigo Huguet) [2059994] - brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio (Íñigo Huguet) [2059994] - brcmfmac: pcie: Declare missing firmware files in pcie.c (Íñigo Huguet) [2059994] - brcmfmac: firmware: Allocate space for default boardrev in nvram (Íñigo Huguet) [2059994] - brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path (Íñigo Huguet) [2059994] - rtlwifi: remove redundant initialization of variable ul_encalgo (Íñigo Huguet) [2059994] - ray_cs: Check ioremap return value (Íñigo Huguet) [2059994] - ath11k: add debugfs for TWT debug calls (Íñigo Huguet) [2059994] - ath11k: add WMI calls to manually add/del/pause/resume TWT dialogs (Íñigo Huguet) [2059994] - ath11k: Add debugfs interface to configure firmware debug log level (Íñigo Huguet) [2059994] - rtw88: rtw8821c: enable rfe 6 devices (Íñigo Huguet) [2059994] - rtw88: fix memory overrun and memory leak during hw_scan (Íñigo Huguet) [2059994] - rtw88: fix idle mode flow for hw scan (Íñigo Huguet) [2059994] - rtw88: check for validity before using a pointer (Íñigo Huguet) [2059994] - ath11k: mhi: use mhi_sync_power_up() (Íñigo Huguet) [2059994] - ath11k: pci: fix crash on suspend if board file is not found (Íñigo Huguet) [2059994] - ath11k: Fix missing rx_desc_get_ldpc_support in wcn6855_ops (Íñigo Huguet) [2059994] - ath11k: Fix uninitialized symbol 'rx_buf_sz' (Íñigo Huguet) [2059994] - ath11k: fix kernel panic during unload/load ath11k modules (Íñigo Huguet) [2059994] - ath11k: Rename ath11k_ahb_ext_irq_config (Íñigo Huguet) [2059994] - brcmfmac: add CYW43570 PCIE device (Íñigo Huguet) [2059994] - brcmfmac: use ISO3166 country code and 0 rev as fallback on some devices (Íñigo Huguet) [2059994] - rtw89: use pci_read/write_config instead of dbi read/write (Íñigo Huguet) [2059994] - rtw89: refine DIG feature to support 160M and CCK PD (Íñigo Huguet) [2059994] - rtw89: include subband type in channel params (Íñigo Huguet) [2059994] - rtw89: handle 6G band if supported by a chipset (Íñigo Huguet) [2059994] - rtw89: separate {init,deinit}_addr_cam functions (Íñigo Huguet) [2059994] - rtw89: set mac_id and port ID to TXWD (Íñigo Huguet) [2059994] - rtw89: send broadcast/multicast packets via HIQ if STAs are in sleep mode (Íñigo Huguet) [2059994] - rtw89: configure mac port HIQ registers (Íñigo Huguet) [2059994] - rtw89: rename vif_maintain to role_maintain (Íñigo Huguet) [2059994] - rtw89: extend firmware commands on states of sta_assoc and sta_disconnect (Íñigo Huguet) [2059994] - rtw89: allocate mac_id for each station in AP mode (Íñigo Huguet) [2059994] - rtw89: implement mac80211_ops::set_tim to indicate STA to receive packets (Íñigo Huguet) [2059994] - rtw89: add C2H handle of BCN_CNT (Íñigo Huguet) [2059994] - rtw89: download beacon content to firmware (Íñigo Huguet) [2059994] - rtw89: use hardware SSN to TX management frame (Íñigo Huguet) [2059994] - rtw89: configure rx_filter according to FIF_PROBE_REQ (Íñigo Huguet) [2059994] - rtw89: correct use of BA CAM (Íñigo Huguet) [2059994] - rtw89: encapsulate RX handlers to single function (Íñigo Huguet) [2059994] - rtw89: Add RX counters of VHT MCS-10/11 to debugfs (Íñigo Huguet) [2059994] - rtw89: remove duplicate definition of hardware port number (Íñigo Huguet) [2059994] - rtw89: extract modules by chipset (Íñigo Huguet) [2059994] - ath11k: avoid firmware crash when reg set for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - ath11k: set WMI_PEER_40MHZ while peer assoc for 6 GHz (Íñigo Huguet) [2059994] - ath9k_htc: fix uninit value bugs (Íñigo Huguet) [2059994] - ath10k: abstract htt_rx_desc structure (Íñigo Huguet) [2059994] - ath9k: remove redundant status variable (Íñigo Huguet) [2059994] - ath11k: Reconfigure hardware rate for WCN6855 after vdev is started (Íñigo Huguet) [2059994] - ath: dfs_pattern_detector: Avoid open coded arithmetic in memory allocation (Íñigo Huguet) [2059994] - ath10k: Use platform_get_irq() to get the interrupt (Íñigo Huguet) [2059994] - ath11k: fix error code in ath11k_qmi_assign_target_mem_chunk() (Íñigo Huguet) [2059994] - ath11k: move function ath11k_dp_rx_process_mon_status (Íñigo Huguet) [2059994] - ath11k: enable RX PPDU stats in monitor co-exist mode (Íñigo Huguet) [2059994] - ath11k: free peer for station when disconnect from AP for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - ath11k: add LDPC FEC type in 802.11 radiotap header (Íñigo Huguet) [2059994] - ath11k: Refactor the fallback routine when peer create fails (Íñigo Huguet) [2059994] - ath11k: fix workqueue not getting destroyed after rmmod (Íñigo Huguet) [2059994] - ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern (Íñigo Huguet) [2059994] - ath11k: add missing of_node_put() to avoid leak (Íñigo Huguet) [2059994] - rfkill: define rfill_soft_blocked() if !RFKILL (Íñigo Huguet) [2059994] - Revert "ath10k: drop beacon and probe response which leak from other channel" (Íñigo Huguet) [2059994] - iwlwifi: mvm: return value for request_ownership (Íñigo Huguet) [2059994] - nl80211: Update bss channel on channel switch for P2P_CLIENT (Íñigo Huguet) [2059994] - iwlwifi: fix build error for IWLMEI (Íñigo Huguet) [2059994] - mac80211: treat some SAE auth steps as final (Íñigo Huguet) [2059994] - nl80211: Handle nla_memdup failures in handle_nan_filter (Íñigo Huguet) [2059994] - iwlwifi: mvm: check debugfs_dir ptr before use (Íñigo Huguet) [2059994] - iwlwifi: don't advertise TWT support (Íñigo Huguet) [2059994] - mac80211: fix forwarded mesh frames AC & queue selection (Íñigo Huguet) [2059994] - mac80211: refuse aggregations sessions before authorized (Íñigo Huguet) [2059994] - mac80211: fix EAPoL rekey fail in 802.3 rx path (Íñigo Huguet) [2059994] - iwlwifi: fix use-after-free (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Cinterion MV31-W (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add mru_default for Foxconn SDX55 (Íñigo Huguet) [2059994] - cfg80211: fix race in netlink owner interface destruction (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't send SAR GEO command for 3160 devices (Íñigo Huguet) [2059994] - iwlwifi: remove deprecated broadcast filtering feature (Íñigo Huguet) [2059994] - iwlwifi: mei: report RFKILL upon register when needed (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't feed the hardware RFKILL into iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mei: retry mapping the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: fix the pskb_may_pull check in ipv4 (Íñigo Huguet) [2059994] - iwlwifi: pcie: gen2: fix locking when "HW not ready" (Íñigo Huguet) [2059994] - iwlwifi: pcie: fix locking when "HW not ready" (Íñigo Huguet) [2059994] - iwlwifi: fix iwl_legacy_rate_to_fw_idx (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix condition which checks the version of rate_n_flags (Íñigo Huguet) [2059994] - mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work (Íñigo Huguet) [2059994] - mac80211_hwsim: report NOACK frames in tx_status (Íñigo Huguet) [2059994] - mac80211: mlme: check for null after calling kmemdup (Íñigo Huguet) [2059994] - brcmfmac: firmware: Fix crash in brcm_alt_fw_path (Íñigo Huguet) [2059994] - mac80211: use ieee80211_bss_get_elem() (Íñigo Huguet) [2059994] - nl80211: clarify comment for mesh PLINK_BLOCKED state (Íñigo Huguet) [2059994] - mac80211: Add stations iterator where the iterator function may sleep (Íñigo Huguet) [2059994] - mac80211: allow non-standard VHT MCS-10/11 (Íñigo Huguet) [2059994] - codel: remove unnecessary pkt_sched.h include (Íñigo Huguet) [2059994] - codel: remove unnecessary sock.h include (Íñigo Huguet) [2059994] - rtw88: don't consider deep PS mode when transmitting packet (Íñigo Huguet) [2059994] - ath11k: add support of firmware logging for WCN6855 (Íñigo Huguet) [2059994] - ath10k: replace strlcpy with strscpy (Íñigo Huguet) [2059994] - rtw88: support SAR via kernel common API (Íñigo Huguet) [2059994] - rtw88: 8822c: add ieee80211_ops::hw_scan (Íñigo Huguet) [2059994] - iwlwifi: mei: wait before mapping the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: clear the ownership when the driver goes down (Íñigo Huguet) [2059994] - iwlwifi: fw: fix some scan kernel-doc (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove card state notification code (Íñigo Huguet) [2059994] - iwlwifi: mvm: drop too short packets silently (Íñigo Huguet) [2059994] - iwlwifi: return op_mode only in case the failure is from MEI (Íñigo Huguet) [2059994] - iwlwifi: mvm: support Bz TX checksum offload (Íñigo Huguet) [2059994] - iwlwifi: mvm: add US/CA to TAS block list if OEM isn't allowed (Íñigo Huguet) [2059994] - iwlwifi: mvm: correctly set schedule scan profiles (Íñigo Huguet) [2059994] - iwlwifi: mvm: correctly set channel flags (Íñigo Huguet) [2059994] - iwlwifi: mvm: always store the PPAG table as the latest version. (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 69 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support TLV-based firmware reset (Íñigo Huguet) [2059994] - iwlwifi: mvm: change old-SN drop threshold (Íñigo Huguet) [2059994] - iwlwifi: mvm: don't trust hardware queue number (Íñigo Huguet) [2059994] - iwlwifi: mvm: handle RX checksum on Bz devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: use a define for checksum flags mask (Íñigo Huguet) [2059994] - iwlwifi: remove module loading failure message (Íñigo Huguet) [2059994] - iwlwifi: mvm: isolate offload assist (checksum) calculation (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for OCE scan (Íñigo Huguet) [2059994] - iwlwifi: dump RCM error tables (Íñigo Huguet) [2059994] - iwlwifi: dump both TCM error tables if present (Íñigo Huguet) [2059994] - iwlwifi: dump CSR scratch from outer function (Íñigo Huguet) [2059994] - iwlwifi: parse error tables from debug TLVs (Íñigo Huguet) [2059994] - iwlwifi: recognize missing PNVM data and then log filename (Íñigo Huguet) [2059994] - iwlwifi: rs: add support for TLC config command ver 4 (Íñigo Huguet) [2059994] - iwlwifi: mvm: rfi: update rfi table (Íñigo Huguet) [2059994] - iwlwifi: mvm: Add list of OEMs allowed to use TAS (Íñigo Huguet) [2059994] - iwlwifi: mvm: support revision 1 of WTAS table (Íñigo Huguet) [2059994] - iwlwifi: fw: remove dead error log code (Íñigo Huguet) [2059994] - iwlwifi: do not use __unused as variable name (Íñigo Huguet) [2059994] - iwlwifi: iwl-eeprom-parse: mostly dvm only (Íñigo Huguet) [2059994] - iwlwifi: mvm: clean up indenting in iwl_mvm_tlc_update_notif() (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix a stray tab (Íñigo Huguet) [2059994] - ath11k: add regdb.bin download for regdb offload (Íñigo Huguet) [2059994] - rtl8xxxu: Improve the A-MPDU retransmission rate with RTS/CTS protection (Íñigo Huguet) [2059994] - rtw88: don't check CRC of VHT-SIG-B in 802.11ac signal (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix imbalanced locking in iwl_mvm_start_get_nvm() (Íñigo Huguet) [2059994] - iwlwifi: mvm: add dbg_time_point to debugfs (Íñigo Huguet) [2059994] - iwlwifi: mvm: add missing min_size to kernel-doc (Íñigo Huguet) [2059994] - iwlwifi: mei: fix W=1 warnings (Íñigo Huguet) [2059994] - ath11k: add support for hardware rfkill for QCA6390 (Íñigo Huguet) [2059994] - ath11k: report tx bitrate for iw wlan station dump (Íñigo Huguet) [2059994] - ath11k: fix warning of RCU usage for ath11k_mac_get_arvif_by_vdev_id() (Íñigo Huguet) [2059994] - ath11k: add signal report to mac80211 for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: report rssi of each chain to mac80211 for QCA6390/WCN6855 (Íñigo Huguet) [2059994] - cfg80211: Enable regulatory enforcement checks for drivers supporting mesh iface (Íñigo Huguet) [2059994] - rfkill: allow to get the software rfkill state (Íñigo Huguet) [2059994] - cfg80211: refactor cfg80211_get_ies_channel_number() (Íñigo Huguet) [2059994] - nl82011: clarify interface combinations wrt. channels (Íñigo Huguet) [2059994] - nl80211: Add support to offload SA Query procedures for AP SME device (Íñigo Huguet) [2059994] - nl80211: Add support to set AP settings flags with single attribute (Íñigo Huguet) [2059994] - mac80211: add more HT/VHT/HE state logging (Íñigo Huguet) [2059994] - cfg80211: Use the HE operation IE to determine a 6GHz BSS channel (Íñigo Huguet) [2059994] - cfg80211: rename offchannel_chain structs to background_chain to avoid confusion with ETSI standard (Íñigo Huguet) [2059994] - mac80211: Notify cfg80211 about association comeback (Íñigo Huguet) [2059994] - cfg80211: Add support for notifying association comeback (Íñigo Huguet) [2059994] - mac80211: introduce channel switch disconnect function (Íñigo Huguet) [2059994] - cfg80211: Fix order of enum nl80211_band_iftype_attr documentation (Íñigo Huguet) [2059994] - cfg80211: simplify cfg80211_chandef_valid() (Íñigo Huguet) [2059994] - mac80211: Remove a couple of obsolete TODO (Íñigo Huguet) [2059994] - mac80211: use coarse boottime for airtime fairness code (Íñigo Huguet) [2059994] - mt76: mt7921s: fix cmd timeout in throughput test (Íñigo Huguet) [2059994] - mt76: mt7921s: fix suspend error with enlarging mcu timeout value (Íñigo Huguet) [2059994] - mt76: mt7921s: make pm->suspended usage consistent (Íñigo Huguet) [2059994] - mt76: mt7921: clear pm->suspended in mt7921_mac_reset_work (Íñigo Huguet) [2059994] - mt76: connac: rely on le16_add_cpu in mt76_connac_mcu_add_nested_tlv (Íñigo Huguet) [2059994] - mt76: mt7921: remove dead definitions (Íñigo Huguet) [2059994] - mt76: mt7915: add mu-mimo and ofdma debugfs knobs (Íñigo Huguet) [2059994] - mt76: mt7915: introduce mt76_vif in mt7915_vif (Íñigo Huguet) [2059994] - mt76: mt7921: reduce log severity levels for informative messages (Íñigo Huguet) [2059994] - mt76: mt7915: rely on mt76_connac definitions (Íñigo Huguet) [2059994] - mt76: connac: rely on MCU_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_CE_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_UNI_CMD macro (Íñigo Huguet) [2059994] - mt76: connac: remove MCU_FW_PREFIX bit (Íñigo Huguet) [2059994] - mt76: connac: align MCU_EXT definitions with 7915 driver (Íñigo Huguet) [2059994] - mt76: connac: introduce MCU_EXT macros (Íñigo Huguet) [2059994] - mt76: mt7615: in debugfs queue stats, skip wmm index 3 on mt7663 (Íñigo Huguet) [2059994] - mt76: mt7915: process txfree and txstatus without allocating skbs (Íñigo Huguet) [2059994] - mt76: allow drivers to drop rx packets early (Íñigo Huguet) [2059994] - mt76: mt7663: disable 4addr capability (Íñigo Huguet) [2059994] - mt76: only access ieee80211_hdr after mt76_insert_ccmp_hdr (Íñigo Huguet) [2059994] - mt76: move sar_capa configuration in common code (Íñigo Huguet) [2059994] - mt76: mt7921s: fix possible kernel crash due to invalid Rx count (Íñigo Huguet) [2059994] - mt76: mt7921s: fix bus hang with wrong privilege (Íñigo Huguet) [2059994] - mt76: eeprom: tolerate corrected bit-flips (Íñigo Huguet) [2059994] - mt76: mt7603: improve reliability of tx powersave filtering (Íñigo Huguet) [2059994] - mt76: clear sta powersave flag after notifying driver (Íñigo Huguet) [2059994] - mt76: mt7915: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7603: introduce SAR support (Íñigo Huguet) [2059994] - mt76: mt7915: improve wmm index allocation (Íñigo Huguet) [2059994] - mt76: mt7615: improve wmm index allocation (Íñigo Huguet) [2059994] - mt76: mt7921s: fix the device cannot sleep deeply in suspend (Íñigo Huguet) [2059994] - mt76: mt7615: fix decap offload corner case with 4-addr VLAN frames (Íñigo Huguet) [2059994] - mt76: mt7915: fix decap offload corner case with 4-addr VLAN frames (Íñigo Huguet) [2059994] - mt76: mt76x02: introduce SAR support (Íñigo Huguet) [2059994] - mt76: move sar utilities to mt76-core module (Íñigo Huguet) [2059994] - mt76: mt7921: honor mt76_connac_mcu_set_rate_txpower return value in mt7921_config (Íñigo Huguet) [2059994] - mt76: do not pass the received frame with decryption error (Íñigo Huguet) [2059994] - mt76: connac: remove PHY_MODE_AX_6G configuration in mt76_connac_get_phy_mode (Íñigo Huguet) [2059994] - mt76: mt7615: remove dead code in get_omac_idx (Íñigo Huguet) [2059994] - mt76: mt7921: introduce 160 MHz channel bandwidth support (Íñigo Huguet) [2059994] - mt76: mt7921: add support for PCIe ID 0x0608/0x0616 (Íñigo Huguet) [2059994] - mt76: testmode: add support to set MAC (Íñigo Huguet) [2059994] - mt76: mt7915: add default calibrated data support (Íñigo Huguet) [2059994] - mt76: only set rx radiotap flag from within decoder functions (Íñigo Huguet) [2059994] - mt76: reverse the first fragmented frame to 802.11 (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Introduce Sierra EM919X support (Íñigo Huguet) [2059994] - bus: mhi: core: Add an API for auto queueing buffers for DL channel (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Simplify code and axe the use of a deprecated API (Íñigo Huguet) [2059994] - bus: mhi: core: Use macros for execution environment features (Íñigo Huguet) [2059994] - bus: mhi: pci_generic: Add new device ID support for T99W175 (Íñigo Huguet) [2059994] - ath11k: Use reserved host DDR addresses from DT for PCI devices (Íñigo Huguet) [2059994] - ath11k: Change qcn9074 fw to operate in mode-2 (Íñigo Huguet) [2059994] - ath11k: add ab to TARGET_NUM_VDEVS & co (Íñigo Huguet) [2059994] - brcmfmac: Fix incorrect type assignments for keep-alive (Íñigo Huguet) [2059994] - ath11k: Avoid false DEADLOCK warning reported by lockdep (Íñigo Huguet) [2059994] - ath11k: set DTIM policy to stick mode for station interface (Íñigo Huguet) [2059994] - ath11k: support MAC address randomization in scan (Íñigo Huguet) [2059994] - ath10k: wmi: remove array of flexible structures (Íñigo Huguet) [2059994] - ath10k: htt: remove array of flexible structures (Íñigo Huguet) [2059994] - ath10k: drop beacon and probe response which leak from other channel (Íñigo Huguet) [2059994] - ath11k: Process full monitor mode rx support (Íñigo Huguet) [2059994] - ath11k: add software monitor ring descriptor for full monitor (Íñigo Huguet) [2059994] - ath11k: Add htt cmd to enable full monitor mode (Íñigo Huguet) [2059994] - ath11k: enable IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS for WCN6855 (Íñigo Huguet) [2059994] - rtw88: refine tx_pwr_tbl debugfs to show channel and bandwidth (Íñigo Huguet) [2059994] - rtw88: add debugfs to fix tx rate (Íñigo Huguet) [2059994] - ath: regdom: extend South Korea regulatory domain support (Íñigo Huguet) [2059994] - ath11k: add wait operation for tx management packets for flush from mac80211 (Íñigo Huguet) [2059994] - ath11k: add 11d scan offload support (Íñigo Huguet) [2059994] - ath11k: add configure country code for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work (Íñigo Huguet) [2059994] - iwlwifi: work around reverse dependency on MEI (Íñigo Huguet) [2059994] - iwlwifi: mvm: optionally suppress assert log (Íñigo Huguet) [2059994] - iwlwifi: fw: correctly detect HW-SMEM region subtype (Íñigo Huguet) [2059994] - iwlwifi: implement reset flow for Bz devices (Íñigo Huguet) [2059994] - iwlwifi: dbg: disable ini debug in 8000 family and below (Íñigo Huguet) [2059994] - iwlwifi: support SAR GEO Offset Mapping override via BIOS (Íñigo Huguet) [2059994] - iwlwifi: pcie: retake ownership after reset (Íñigo Huguet) [2059994] - iwlwifi: mvm: always use 4K RB size by default (Íñigo Huguet) [2059994] - iwlwifi: mvm/api: define system control command (Íñigo Huguet) [2059994] - iwlwifi: bump FW API to 68 for AX devices (Íñigo Huguet) [2059994] - iwlwifi: mvm: add some missing command strings (Íñigo Huguet) [2059994] - iwlwifi: fw: add support for splitting region type bits (Íñigo Huguet) [2059994] - iwlwifi: swap 1650i and 1650s killer struct names (Íñigo Huguet) [2059994] - iwlwifi: yoyo: support for DBGC4 for dram (Íñigo Huguet) [2059994] - iwlwifi: mvm: update rate scale in moving back to assoc state (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for statistics update version 15 (Íñigo Huguet) [2059994] - iwlwifi: mvm: Add support for a new version of scan request command (Íñigo Huguet) [2059994] - iwlwifi: mvm: remove session protection upon station removal (Íñigo Huguet) [2059994] - iwlwifi: mvm: add support for PHY context command v4 (Íñigo Huguet) [2059994] - iwlwifi: fw: api: add link to PHY context command struct v1 (Íñigo Huguet) [2059994] - iwlwifi: mvm: support RLC configuration command (Íñigo Huguet) [2059994] - iwlwifi: mvm: d3: support v12 wowlan status (Íñigo Huguet) [2059994] - iwlwifi: mvm: parse firmware alive message version 6 (Íñigo Huguet) [2059994] - iwlwifi: pcie: support Bz suspend/resume trigger (Íñigo Huguet) [2059994] - iwlwifi: mvm: d3: move GTK rekeys condition (Íñigo Huguet) [2059994] - ath11k: change to use dynamic memory for channel list of scan (Íñigo Huguet) [2059994] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2059994] - ath9k: switch to rate table based lookup (Íñigo Huguet) [2059994] - iwlwifi: mvm: demote non-compliant kernel-doc header (Íñigo Huguet) [2059994] - iwlwifi: mvm: fix a possible NULL pointer deference (Íñigo Huguet) [2059994] - iwlwifi: mei: Fix spelling mistake "req_ownserhip" -> "req_ownership" (Íñigo Huguet) [2059994] - iwlwifi: mei: don't rely on the size from the shared area (Íñigo Huguet) [2059994] - iwlwifi: mei: fix linking when tracing is not enabled (Íñigo Huguet) [2059994] - ath11k: Avoid NULL ptr access during mgmt tx cleanup (Íñigo Huguet) [2059994] - rtlwifi: rtl8192de: Style clean-ups (Íñigo Huguet) [2059994] - brcmfmac: Configure keep-alive packet on suspend (Íñigo Huguet) [2059994] - ieee80211: change HE nominal packet padding value defines (Íñigo Huguet) [2059994] - cfg80211: use ieee80211_bss_get_elem() instead of _get_ie() (Íñigo Huguet) [2059994] - iwlwifi: mvm: read the rfkill state and feed it to iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mvm: add vendor commands needed for iwlmei (Íñigo Huguet) [2059994] - iwlwifi: integrate with iwlmei (Íñigo Huguet) [2059994] - iwlwifi: mei: add debugfs hooks (Íñigo Huguet) [2059994] - iwlwifi: mei: add the driver to allow cooperation with CSME (Íñigo Huguet) [2059994] - mwifiex: Ensure the version string from the firmware is 0-terminated (Íñigo Huguet) [2059994] - mwifiex: Add quirk to disable deep sleep with certain hardware revision (Íñigo Huguet) [2059994] - mwifiex: Use a define for firmware version string length (Íñigo Huguet) [2059994] - rtw88: add debugfs to force lowest basic rate (Íñigo Huguet) [2059994] - rtw88: follow the AP basic rates for tx mgmt frame (Íñigo Huguet) [2059994] - mac80211: Use memset_after() to clear tx status (Íñigo Huguet) [2059994] - mac80211: notify non-transmitting BSS of color changes (Íñigo Huguet) [2059994] - mac80211: minstrel_ht: remove unused SAMPLE_SWITCH_THR define (Íñigo Huguet) [2059994] - cfg80211: allow continuous radar monitoring on offchannel chain (Íñigo Huguet) [2059994] - cfg80211: schedule offchan_cac_abort_wk in cfg80211_radar_event (Íñigo Huguet) [2059994] - cfg80211: delete redundant free code (Íñigo Huguet) [2059994] - mac80211: Remove unused assignment statements (Íñigo Huguet) [2059994] - cfg80211: fix possible NULL pointer dereference in cfg80211_stop_offchan_radar_detection (Íñigo Huguet) [2059994] - ath11k: Use memset_startat() for clearing queue descriptors (Íñigo Huguet) [2059994] - ath11k: Fix spelling mistake "detetction" -> "detection" (Íñigo Huguet) [2059994] - Revert "ath11k: add read variant from SMBIOS for download board data" (Íñigo Huguet) [2059994] - ath11k: add read variant from SMBIOS for download board data (Íñigo Huguet) [2059994] - ath11k: calculate the correct NSS of peer for HE capabilities (Íñigo Huguet) [2059994] - ath11k: change to treat alpha code na as world wide regdomain (Íñigo Huguet) [2059994] - cfg80211: move offchan_cac_event to a dedicated work (Íñigo Huguet) [2059994] - mac80211_hwsim: Fix spelling mistake "Droping" -> "Dropping" (Íñigo Huguet) [2059994] - mac80211: introduce set_radar_offchan callback (Íñigo Huguet) [2059994] - cfg80211: implement APIs for dedicated radar detection HW (Íñigo Huguet) [2059994] - ath11k: add support for BSS color change (Íñigo Huguet) [2059994] - ath11k: add trace log support (Íñigo Huguet) [2059994] - ath11k: Add missing qmi_txn_cancel() (Íñigo Huguet) [2059994] - ath11k: Disabling credit flow for WMI path (Íñigo Huguet) [2059994] - ath11k: Increment pending_mgmt_tx count before tx send invoke (Íñigo Huguet) [2059994] - ath11k: send proper txpower and maxregpower values to firmware (Íñigo Huguet) [2059994] - ath11k: move peer delete after vdev stop of station for QCA6390 and WCN6855 (Íñigo Huguet) [2059994] - ath11k: remove return for empty tx bitrate in mac_op_sta_statistics (Íñigo Huguet) [2059994] - ath11k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE if NSS ratio enabled (Íñigo Huguet) [2059994] - ath11k: avoid unnecessary lock contention in tx_completion path (Íñigo Huguet) [2059994] - ath11k: add branch predictors in dp_tx path (Íñigo Huguet) [2059994] - ath11k: avoid while loop in ring selection of tx completion interrupt (Íñigo Huguet) [2059994] - ath11k: remove mod operator in dst ring processing (Íñigo Huguet) [2059994] - ath11k: allocate HAL_WBM2SW_RELEASE ring from cacheable memory (Íñigo Huguet) [2059994] - ath11k: add branch predictors in process_rx (Íñigo Huguet) [2059994] - ath11k: remove usage quota while processing rx packets (Íñigo Huguet) [2059994] - ath11k: avoid active pdev check for each msdu (Íñigo Huguet) [2059994] - ath11k: avoid additional access to ath11k_hal_srng_dst_num_free (Íñigo Huguet) [2059994] - ath11k: modify dp_rx desc access wrapper calls inline (Íñigo Huguet) [2059994] - ath11k: allocate dst ring descriptors from cacheable memory (Íñigo Huguet) [2059994] - ath11k: disable unused CE8 interrupts for ipq8074 (Íñigo Huguet) [2059994] - ath11k: avoid unnecessary BH disable lock in STA kickout event (Íñigo Huguet) [2059994] - ath11k: enable 802.11 power save mode in station mode (Íñigo Huguet) [2059994] - ath11k: convert ath11k_wmi_pdev_set_ps_mode() to use enum wmi_sta_ps_mode (Íñigo Huguet) [2059994] - ath9k: use swap() to make code cleaner (Íñigo Huguet) [2059994] - ath10k: fetch (pre-)calibration data via nvmem subsystem (Íñigo Huguet) [2059994] - Revert "ath11k: add support for WCN6855 hw2.1" (Íñigo Huguet) [2059994] - iommu/vt-d: Make DMAR_UNITS_SUPPORTED a config setting (Jerry Snitselaar) [2095498] - scsi: mpi3mr: Fix kernel-doc (Tomas Henzl) [2091878] - scsi: mpi3mr: Rework mrioc->bsg_device model to fix warnings (Tomas Henzl) [2091878] - scsi: mpi3mr: Add target device related sysfs attributes (Tomas Henzl) [2091878] - scsi: mpi3mr: Add shost related sysfs attributes (Tomas Henzl) [2091878] - scsi: mpi3mr: Return error if dma_alloc_coherent() fails (Tomas Henzl) [2091878] - scsi: mpi3mr: Fix a NULL vs IS_ERR() bug in mpi3mr_bsg_init() (Tomas Henzl) [2091878] - scsi: mpi3mr: Return I/Os to an unrecoverable HBA with DID_ERROR (Tomas Henzl) [2091878] - scsi: mpi3mr: Hidden drives not removed during soft reset (Tomas Henzl) [2091878] - scsi: mpi3mr: Increase I/O timeout value to 60s (Tomas Henzl) [2091878] - scsi: mpi3mr: Update driver version to 8.0.0.69.0 (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for NVMe passthrough (Tomas Henzl) [2091878] - scsi: mpi3mr: Expose adapter state to sysfs (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for PEL commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for MPT commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Move data structures/definitions from MPI headers to uapi header (Tomas Henzl) [2091878] - scsi: mpi3mr: Add support for driver commands (Tomas Henzl) [2091878] - scsi: mpi3mr: Add bsg device support (Tomas Henzl) [2091878] - selftests/powerpc: Add PPC_FEATURE2_ARCH_3_1 and PPC_FEATURE2_EBB bits (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc: Add helper to exit on failure (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add interface test for mmcra register fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr3_src fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr2_fcs_fch fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr2_l2l3 field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr1_comb field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmc56 using pmc5 (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_fc56 field using pmc1 (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmcjce field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_pmccext bit (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0_cc56run field (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu/: Add interface test for mmcr0 exception bits (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macro to extract mmcr3 and mmcra fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macro to extract mmcr0/mmcr1 fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macros to extract mmcr fields (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add event_init_sampling function (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add utility functions to post process the mmap buffer (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add macros to parse event codes (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Add support for perf sampling tests (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc: Add a test of counting larx/stcx (Desnes A. Nunes do Rosario) [2071113] - selftests/powerpc/pmu: Include mmap_buffer field as part of struct event (Desnes A. Nunes do Rosario) [2071113] - [s390] net/smc: Fix af_ops of child socket pointing to released memory (Tobias Huschle) [2043832] - [s390] net/smc: Fix NULL pointer dereference in smc_pnet_find_ib() (Tobias Huschle) [2043832] - [s390] net/smc: use memcpy instead of snprintf to avoid out of bounds read (Tobias Huschle) [2043832] - [s390] net/smc: Call trace_smc_tx_sendmsg when data corked (Tobias Huschle) [2043832] - [s390] net/smc: Fix cleanup when register ULP fails (Tobias Huschle) [2043832] - [s390] net/smc: fix connection leak (Tobias Huschle) [2043832] - [s390] net/smc: Use a mutex for locking "struct smc_pnettable" (Tobias Huschle) [2043832] - [s390] net/smc: unlock on error paths in __smc_setsockopt() (Tobias Huschle) [2043832] - [s390] net/smc: return ETIMEDOUT when smc_connect_clc() timeout (Tobias Huschle) [2043832] - [s390] net/smc: Add comment for smc_tx_pending (Tobias Huschle) [2043832] - [s390] net/smc: Add global configure for handshake limitation by netlink (Tobias Huschle) [2043832] - [s390] net/smc: Dynamic control handshake limitation by socket options (Tobias Huschle) [2043832] - [s390] net/smc: Limit SMC visits when handshake workqueue congested (Tobias Huschle) [2043832] - [s390] net/smc: Limit backlog connections (Tobias Huschle) [2043832] - [s390] net/smc: Make smc_tcp_listen_work() independent (Tobias Huschle) [2043832] - [s390] net/smc: Avoid overwriting the copies of clcsock callback functions (Tobias Huschle) [2043832] - [s390] Partially revert "net/smc: Add netlink net namespace support" (Tobias Huschle) [2043832] - [s390] net/smc: Cork when sendpage with MSG_SENDPAGE_NOTLAST flag (Tobias Huschle) [2043832] - [s390] net/smc: Remove corked dealyed work (Tobias Huschle) [2043832] - [s390] net/smc: Send directly when TCP_CORK is cleared (Tobias Huschle) [2043832] - [s390] net/smc: Forward wakeup to smc socket waitqueue after fallback (Tobias Huschle) [2043832] - [s390] net/smc: Transitional solution for clcsock race issue (Tobias Huschle) [2043832] - [s390] net/smc: Fix hung_task when removing SMC-R devices (Tobias Huschle) [2043832] - [s390] net/smc: Remove unused function declaration (Tobias Huschle) [2043832] - [s390] net/smc: Resolve the race between SMC-R link access and clear (Tobias Huschle) [2043832] - [s390] net/smc: Introduce a new conn->lgr validity check helper (Tobias Huschle) [2043832] - [s390] net/smc: Resolve the race between link group access and termination (Tobias Huschle) [2043832] - [s390] net/smc: Reset conn->lgr when link group registration fails (Tobias Huschle) [2043832] - [s390] net/smc: add comments for smc_link_{usable|sendable} (Tobias Huschle) [2043832] - [s390] net/smc: remove redundant re-assignment of pointer link (Tobias Huschle) [2043832] - [s390] net/smc: Introduce TCP ULP support (Tobias Huschle) [2043832] - [s390] net/smc: Add net namespace for tracepoints (Tobias Huschle) [2043832] - [s390] net/smc: Print net namespace in log (Tobias Huschle) [2043832] - [s390] net/smc: Add netlink net namespace support (Tobias Huschle) [2043832] - [s390] net/smc: Introduce net namespace support for linkgroup (Tobias Huschle) [2043832] - [s390] net/smc: Use the bitmap API when applicable (Tobias Huschle) [2043832] - [s390] net/smc: fix kernel panic caused by race of smc_sock (Tobias Huschle) [2043832] - [s390] net/smc: don't send CDC/LLC message if link not ready (Tobias Huschle) [2043832] - [s390] net/smc: fix using of uninitialized completions (Tobias Huschle) [2043832] - [s390] net/smc: Prevent smc_release() from long blocking (Tobias Huschle) [2043832] - [s390] net/smc: Clear memory when release and reuse buffer (Tobias Huschle) [2043832] - [s390] net/smc: Keep smc_close_final rc during active close (Tobias Huschle) [2043832] - [s390] net/smc: fix wrong list_del in smc_lgr_cleanup_early (Tobias Huschle) [2043832] - [s390] net/smc: Don't call clcsock shutdown twice when smc shutdown (Tobias Huschle) [2043832] - [s390] net/smc: Fix loop in smc_listen (Tobias Huschle) [2043832] - [s390] net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() (Tobias Huschle) [2043832] - [s390] net/smc: Ensure the active closing peer first closes clcsock (Tobias Huschle) [2043832] - [s390] net/smc: Clean up local struct sock variables (Tobias Huschle) [2043832] - [s390] net/smc: Avoid warning of possible recursive locking (Tobias Huschle) [2043832] - [s390] net/smc: Make sure the link_id is unique (Tobias Huschle) [2043832] - [s390] net/smc: Transfer remaining wait queue entries during fallback (Tobias Huschle) [2043832] - [s390] net/smc: fix sk_refcnt underflow on linkdown and fallback (Tobias Huschle) [2043832] - [s390] net/smc: Print function name in smcr_link_down tracepoint (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoint for smcr link down (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoints for tx and rx msg (Tobias Huschle) [2043832] - [s390] net/smc: Introduce tracepoint for fallback (Tobias Huschle) [2043832] - [s390] net/smc: Correct spelling mistake to TCPF_SYN_RECV (Tobias Huschle) [2043832] - [s390] net/smc: Fix smc_link->llc_testlink_time overflow (Tobias Huschle) [2043832] - [s390] net/smc: stop links when their GID is removed (Tobias Huschle) [2043832] - [s390] net/smc: add netlink support for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: extend LLC layer for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: add v2 support to the work request layer (Tobias Huschle) [2043832] - [s390] net/smc: retrieve v2 gid from IB device (Tobias Huschle) [2043832] - [s390] net/smc: add v2 format of CLC decline message (Tobias Huschle) [2043832] - [s390] net/smc: add listen processing for SMC-Rv2 (Tobias Huschle) [2043832] - [s390] net/smc: add SMC-Rv2 connection establishment (Tobias Huschle) [2043832] - [s390] net/smc: prepare for SMC-Rv2 connection (Tobias Huschle) [2043832] - [s390] net/smc: save stack space and allocate smc_init_info (Tobias Huschle) [2043832] - [s390] net/smc: add generic netlink support for system EID (Tobias Huschle) [2043832] - [s390] net/smc: keep static copy of system EID (Tobias Huschle) [2043832] - [s390] net/smc: add support for user defined EIDs (Tobias Huschle) [2043832] - [s390] net/smc: Allow SMC-D 1MB DMB allocations (Tobias Huschle) [2043832] - [s390] net/smc: no need to flush smcd_dev's event_wq before destroying it (Tobias Huschle) [2043832] - [s390] net/smc: avoid possible duplicate dmb unregistration (Tobias Huschle) [2043832] - [s390] net/smc: remove device from smcd_dev_list after failed device_add() (Tobias Huschle) [2043832]- bnxt_en: parse and report result field when NVRAM package install fails (Ken Cox) [2043782] - bnxt_en: Fix unnecessary dropping of RX packets (Ken Cox) [2043782] - bnxt_en: Initiallize bp->ptp_lock first before using it (Ken Cox) [2043782] - bnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag (Ken Cox) [2043782] - bnxt_en: Prevent XDP redirect from running when stopping TX queue (Ken Cox) [2043782 1944997] - bnxt_en: reserve space inside receive page for skb_shared_info (Ken Cox) [2043782 1944997] - bnxt_en: Synchronize tx when xdp redirects happen on same ring (Ken Cox) [2043782 1944997] - net: bnxt_ptp: fix compilation error (Ken Cox) [2043782] - bnxt: revert hastily merged uAPI aberrations (Ken Cox) [2043782] - bnxt_en: add an nvm test for hw diagnose (Ken Cox) [2043782] - bnxt_en: implement hw health reporter (Ken Cox) [2043782] - bnxt_en: Do not destroy health reporters during reset (Ken Cox) [2043782] - bnxt_en: Eliminate unintended link toggle during FW reset (Ken Cox) [2043782] - bnxt_en: Properly report no pause support on some cards (Ken Cox) [2043782] - bnxt_en: introduce initial link state of unknown (Ken Cox) [2043782] - bnxt_en: parse result field when NVRAM package install fails (Ken Cox) [2043782] - bnxt_en: add more error checks to HWRM_NVM_INSTALL_UPDATE (Ken Cox) [2043782] - bnxt_en: refactor error handling of HWRM_NVM_INSTALL_UPDATE (Ken Cox) [2043782] - bnxt_en: Increase firmware message response DMA wait time (Ken Cox) [2043782] - bnxt_en: Fix incorrect multicast rx mask setting when not requested (Ken Cox) [2043782] - bnxt_en: Fix occasional ethtool -t loopback test failures (Ken Cox) [2043782] - bnxt_en: Fix offline ethtool selftest with RDMA enabled (Ken Cox) [2043782] - bnxt_en: Fix active FEC reporting to ethtool (Ken Cox) [2043782] - bnxt_en: Fix devlink fw_activate (Ken Cox) [2043782] - bnxt_en: Restore the resets_reliable flag in bnxt_open() (Ken Cox) [2043782] - bnxt_en: Handle async event when the PHC is updated in RTC mode (Ken Cox) [2043782] - bnxt_en: Implement .adjtime() for PTP RTC mode (Ken Cox) [2043782] - bnxt_en: Add driver support to use Real Time Counter for PTP (Ken Cox) [2043782] - bnxt_en: PTP: Refactor PTP initialization functions (Ken Cox) [2043782] - bnxt_en: Update firmware interface to 1.10.2.73 (Ken Cox) [2043782] - bnxt_en: improve firmware timeout messaging (Ken Cox) [2043782] - bnxt_en: use firmware provided max timeout for messages (Ken Cox) [2043782] - bnxt_en: improve VF error messages when PF is unavailable (Ken Cox) [2043782] - bnxt_en: add dynamic debug support for HWRM messages (Ken Cox) [2043782] - bnxt_en: Use page frag RX buffers for better software GRO performance (Ken Cox) [2043782] - bnxt_en: convert to xdp_do_flush (Ken Cox) [2043782] - bnxt_en: Support CQE coalescing mode in ethtool (Ken Cox) [2043782] - bnxt_en: Support configurable CQE coalescing mode (Ken Cox) [2043782] - bnxt_en: enable interrupt sampling on 5750X for DIM (Ken Cox) [2043782] - bnxt_en: Log error report for dropped doorbell (Ken Cox) [2043782] - bnxt_en: Add event handler for PAUSE Storm event (Ken Cox) [2043782] - flow_offload: reject to offload tc actions in offload drivers (Ken Cox) [2043782] - bnxt_en: Fix compile error regression when CONFIG_BNXT_SRIOV is not set (Ken Cox) [2043782] - bnxt_en: fix format specifier in live patch error message (Ken Cox) [2043782] - bnxt_en: extend RTNL to VF check in devlink driver_reinit (Ken Cox) [2043782] - bnxt_en: avoid newline at end of message in NL_SET_ERR_MSG_MOD (Ken Cox) [2043782] - bnxt_en: Remove not used other ULP define (Ken Cox) [2043782] - bnxt_en: Provide stored devlink "fw" version on older firmware (Ken Cox) [2043782] - bnxt_en: implement firmware live patching (Ken Cox) [2043782] - bnxt_en: Update firmware interface to 1.10.2.63 (Ken Cox) [2043782] - bnxt_en: implement dump callback for fw health reporter (Ken Cox) [2043782] - bnxt_en: extract coredump command line from current task (Ken Cox) [2043782] - bnxt_en: Retrieve coredump and crashdump size via FW command (Ken Cox) [2043782] - bnxt_en: Add compression flags information in coredump segment header (Ken Cox) [2043782] - bnxt_en: move coredump functions into dedicated file (Ken Cox) [2043782] - bnxt_en: Refactor coredump functions (Ken Cox) [2043782] - bnxt_en: improve fw diagnose devlink health messages (Ken Cox) [2043782] - bnxt_en: consolidate fw devlink health reporters (Ken Cox) [2043782] - bnxt_en: remove fw_reset devlink health reporter (Ken Cox) [2043782] - bnxt_en: improve error recovery information messages (Ken Cox) [2043782] - bnxt_en: add enable_remote_dev_reset devlink parameter (Ken Cox) [2043782] - bnxt_en: implement devlink dev reload fw_activate (Ken Cox) [2043782] - bnxt_en: implement devlink dev reload driver_reinit (Ken Cox) [2043782] - bnxt_en: refactor cancellation of resource reservations (Ken Cox) [2043782] - bnxt_en: refactor printing of device info (Ken Cox) [2043782] - bnxt: use netif_is_rxfh_configured instead of open code (Ken Cox) [2043782] - ethernet: use eth_hw_addr_set() (Ken Cox) [2043782] - bnxt_en: Fix TX timeout when TX ring size is set to the smallest (Ken Cox) [2043782] - net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert (Ken Cox) [2043782] - bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem() (Ken Cox) [2043782] - netfilter: nat: really support inet nat without l3 address (Phil Sutter) [2092424] - netfilter: nf_tables: use kfree_rcu(ptr, rcu) to release hooks in clean_net path (Phil Sutter) [2094236] - netfilter: nf_tables: double hook unregistration in netns path (Phil Sutter) [2094236] - video: fbdev: hyperv_fb: Allow resolutions with size > 64 MB for Gen1 (Mohammed Gamal) [1948442] - cpufreq: intel_pstate: Use firmware default EPP (Steve Best) [2072671] - cpufreq: intel_pstate: Update cpuinfo.max_freq on HWP_CAP changes (Steve Best) [2072671] - cpufreq: intel_pstate: Update EPP for AlderLake mobile (Steve Best) [2072671] - cpufreq: intel_pstate: Drop redundant intel_pstate_get_hwp_cap() call (Steve Best) [2072671] - cpufreq: intel_pstate: ITMT support for overclocked system (Steve Best) [2072671] - cpufreq: intel_pstate: Fix active mode offline/online EPP handling (Steve Best) [2072671] - cpufreq: intel_pstate: Clear HWP Status during HWP Interrupt enable (Steve Best) [2072671] - cpufreq: intel_pstate: Fix unchecked MSR 0x773 access (Steve Best) [2072671] - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline (Steve Best) [2072671] - cpufreq: intel_pstate: Process HWP Guaranteed change notification (Steve Best) [2072671] - cpufreq: intel_pstate: Override parameters if HWP forced by BIOS (Steve Best) [2072671] - Revert "cpufreq: intel_pstate: Process HWP Guaranteed change notification" (Steve Best) [2072671] - cpufreq: intel_pstate: Process HWP Guaranteed change notification (Steve Best) [2072671] - cpuidle: intel_idle: Drop redundant backslash at line end (Steve Best) [2072893] - intel_idle: add core C6 optimization for SPR (Steve Best) [2072893] - intel_idle: add 'preferred_cstates' module argument (Steve Best) [2072893] - intel_idle: add SPR support (Steve Best) [2072893] - intel_idle: enable interrupts before C1 on Xeons (Steve Best) [2072893]- [s390] s390/airq: use DMA memory for summary indicators (Tobias Huschle) [2043905] - [s390] s390/zcrypt: Provide target domain for EP11 cprbs to scheduling function (Tobias Huschle) [2043905] - [s390] s390/zcrypt: change reply buffer size offering (Tobias Huschle) [2043905] - [s390] s390/zcrypt: Support CPRB minor version T7 (Tobias Huschle) [2043905] - [s390] s390/zcrypt: handle checkstopped cards with new state (Tobias Huschle) [2043905] - [s390] s390/zcrypt: CEX8S exploitation support (Tobias Huschle) [2043905] - [s390] s390/ap/zcrypt: debug feature improvements (Tobias Huschle) [2043905] - [s390] s390/zcrypt: rework of debug feature messages (Tobias Huschle) [2043905] - powerpc/perf: Fix the threshold compare group constraint for power10 (Steve Best) [2090058] - arch/x86: Disable system wide bus lock rate limiting (Prarit Bhargava) [2028252] - rtnetlink: return ENODEV when IFLA_ALT_IFNAME is used in dellink (Xin Long) [2062780] - rtnetlink: enable alt_ifname for setlink/newlink (Xin Long) [2062780] - rtnetlink: return ENODEV when ifname does not exist and group is given (Xin Long) [2062780] - rtnetlink: Return correct error on changing device netns (Xin Long) [2062780] - net: remove the new_ifindex argument from dev_change_net_namespace (Xin Long) [2062780] - net: Allow to specify ifindex when device is moved to another namespace (Xin Long) [2062780] - net: rtnetlink: add possibility to use alternative names as message handle (Xin Long) [2062780] - net: rtnetlink: introduce helper to get net_device instance by ifname (Xin Long) [2062780] - net: rtnetlink: unify the code in __rtnl_newlink get dev with the rest (Xin Long) [2062780] - net: rtnetlink: put alternative names to getlink message (Xin Long) [2062780] - block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern (Ewan D. Milne) [2049198] {CVE-2022-0494} - [s390] s390/dasd: prevent double format of tracks for ESE devices (Mete Durlu) [2094296] - [s390] s390/dasd: fix data corruption for ESE devices (Mete Durlu) [2094296] - [s390] s390/dasd: Fix read inconsistency for ESE DASD devices (Mete Durlu) [2094294] - [s390] s390/dasd: Fix read for ESE with blksize < 4k (Mete Durlu) [2094294] - xfs: validate inode fork size against fork format (Andrey Albershteyn) [2089447] - selftests/tc-testing: match any qdisc type (Petr Oros) [2021843] - tc-testing: Add control-plane selftests for sch_mq (Petr Oros) [2021843] - netdevsim: Zero-initialize memory for new map's value in function nsim_bpf_map_alloc (Petr Oros) [2021843] - netdevsim: don't overwrite read only ethtool parms (Petr Oros) [2021843] - netdevsim: fix uninit value in nsim_drv_configure_vfs() (Petr Oros) [2021843] - netdevsim: rename 'driver' entry points (Petr Oros) [2021843] - netdevsim: move max vf config to dev (Petr Oros) [2021843] - netdevsim: move details of vf config to dev (Petr Oros) [2021843] - netdevsim: move vfconfig to nsim_dev (Petr Oros) [2021843] - netdevsim: take rtnl_lock when assigning num_vfs (Petr Oros) [2021843] - netdevsim: Protect both reload_down and reload_up paths (Petr Oros) [2021843] - netdevsim: make array res_ids static const, makes object smaller (Petr Oros) [2021843] - netdevsim: Add multi-queue support (Petr Oros) [2021843] - net: netdevsim: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops (Petr Oros) [2021843] - netdevsim: delete unnecessary debugfs checking (Petr Oros) [2021843] - netdevsim: switch to memdup_user_nul() (Petr Oros) [2021843] - netdevsim: init u64 stats for 32bit hardware (Petr Oros) [2021843] - dm: fix bio length of empty flush (Ming Lei) [2090940] - block: initialize the target bio in __bio_clone_fast (Ming Lei) [2090940] - dm: use bio_clone_fast in alloc_io/alloc_tio (Ming Lei) [2090940] - block: clone crypto and integrity data in __bio_clone_fast (Ming Lei) [2090940] - dm-cache: remove __remap_to_origin_clear_discard (Ming Lei) [2090940] - dm: simplify the single bio fast path in __send_duplicate_bios (Ming Lei) [2090940] - dm: retun the clone bio from alloc_tio (Ming Lei) [2090940] - dm: pass the bio instead of tio to __map_bio (Ming Lei) [2090940] - dm: move cloning the bio into alloc_tio (Ming Lei) [2090940] - dm: fold __send_duplicate_bios into __clone_and_map_simple_bio (Ming Lei) [2090940] - dm: fold clone_bio into __clone_and_map_data_bio (Ming Lei) [2090940] - dm: add a clone_to_tio helper (Ming Lei) [2090940] - block: make bio_crypt_clone() able to fail (Ming Lei) [2090940] - perf/x86/uncore: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/uncore: Clean up uncore_pci_ids[] (Michael Petlan) [2088831] - perf/x86/uncore: Add Raptor Lake uncore support (Michael Petlan) [2088831] - perf/x86/cstate: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/cstate: Add Raptor Lake support (Michael Petlan) [2088831] - perf/x86/msr: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86/msr: Add Raptor Lake CPU support (Michael Petlan) [2088831] - perf/x86: Add new Alder Lake and Raptor Lake support (Michael Petlan) [2088831] - perf/x86: Add Intel Raptor Lake support (Michael Petlan) [2088831] - x86/cpu: Add new Alderlake and Raptorlake CPU model numbers (Michael Petlan) [2088831] - x86/intel: Add common OPTDIFFs (Michael Petlan) [2088831] - x86/cpu: Explain Intel model naming convention (Michael Petlan) [2088831] - KVM: s390: vsie/gmap: reduce gmap_rmap overhead (Thomas Huth) [2072387] - KVM: s390x: fix SCK locking (Thomas Huth) [2072387] - s390/kvm: use union tod_clock (Thomas Huth) [2072387] - s390/time: introduce new store_tod_clock_ext() (Thomas Huth) [2072387] - s390/time: introduce union tod_clock (Thomas Huth) [2072387] - KVM: s390: Clarify SIGP orders versus STOP/RESTART (Thomas Huth) [2043868] - KVM: s390: Clear valid_wakeup in kvm_s390_handle_wait(), not in arch hook (Thomas Huth) [2072387] - KVM: s390: Ensure kvm_arch_no_poll() is read once when blocking vCPU (Thomas Huth) [2072387] - KVM: s390: Introduce kvm_s390_get_gfn_end() (Thomas Huth) [2072387] - KVM: Integrate gfn_to_memslot_approx() into search_memslots() (Thomas Huth) [2072387] - KVM: s390: Use kvm_get_vcpu() instead of open-coded access (Thomas Huth) [2072387] - KVM: s390: add debug statement for diag 318 CPNC data (Thomas Huth) [2072387] - KVM: s390: pv: properly handle page flags for protected guests (Thomas Huth) [2072387] - KVM: s390: Add a routine for setting userspace CPU state (Thomas Huth) [2072387] - net: sfc: ef10: fix memory leak in efx_ef10_mtd_probe() (Íñigo Huguet) [2042840] - net: sfc: fix memory leak due to ptp channel (Íñigo Huguet) [2042840] - net: sfc: fix using uninitialized xdp tx_queue (Íñigo Huguet) [2042840] - sfc: Do not free an empty page_ring (Íñigo Huguet) [2042840] - net: sfc: add missing xdp queue reinitialization (Íñigo Huguet) [2042840] - sfc: Avoid NULL pointer dereference on systems without numa awareness (Íñigo Huguet) [2042840] - sfc: extend the locking on mcdi->seqno (Íñigo Huguet) [2042840] - sfc: set affinity hints in local NUMA node only (Íñigo Huguet) [2042840] - sfc: default config to 1 channel/core in local NUMA node only (Íñigo Huguet) [2042840] - sfc: The size of the RX recycle ring should be more flexible (Íñigo Huguet) [2042840] - sfc: Use swap() instead of open coding it (Íñigo Huguet) [2042840] - ethernet/sfc: remove redundant rc variable (Íñigo Huguet) [2042840] - PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3 (Myron Stowe) [2015785] - thunderbolt: Do not make DROM read success compulsory (Myron Stowe) [2015785] - thunderbolt: Do not resume routers if UID is not set (Myron Stowe) [2015785] - thunderbolt: Retry DROM reads for more failure scenarios (Myron Stowe) [2015785] - PCI/ACPI: Replace acpi_bus_get_device() with acpi_fetch_acpi_dev() (Myron Stowe) [2015785] - ACPI: scan: Introduce acpi_fetch_acpi_dev() (Myron Stowe) [2015785] - PCI: PM: Fix ordering of operations in pci_back_from_sleep() (Myron Stowe) [2015785] - PCI: PM: Do not call platform_pci_power_manageable() unnecessarily (Myron Stowe) [2015785] - PCI: PM: Make pci_choose_state() call pci_target_state() (Myron Stowe) [2015785] - PCI: PM: Rearrange pci_target_state() (Myron Stowe) [2015785] - PCI: PM: Simplify acpi_pci_power_manageable() (Myron Stowe) [2015785] - PCI: PM: Drop struct pci_platform_pm_ops (Myron Stowe) [2015785] - PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI (Myron Stowe) [2015785] - PCI: PM: Do not use pci_platform_pm_ops for Intel MID PM (Myron Stowe) [2015785] - ACPI: glue: Look for ACPI bus type only if ACPI companion is not known (Myron Stowe) [2015785] - ACPI: glue: Drop cleanup callback from struct acpi_bus_type (Myron Stowe) [2015785] - PCI: ACPI: Drop acpi_pci_bus (Myron Stowe) [2015785] - PCI: ACPI: Check parent pointer in acpi_pci_find_companion() (Myron Stowe) [2015785] - PCI/ACPI: Don't reset a fwnode set by OF (Myron Stowe) [2015785] - PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus (Myron Stowe) [2015785] - PCI: Change the type of probe argument in reset functions (Myron Stowe) [2015785] - PCI: Add support for ACPI _RST reset method (Myron Stowe) [2015785] - PCI: Setup ACPI fwnode early and at the same time with OF (Myron Stowe) [2015785] - PCI: Use acpi_pci_power_manageable() (Myron Stowe) [2015785] - PCI: Add pci_set_acpi_fwnode() to set ACPI_COMPANION (Myron Stowe) [2015785] - PCI: Allow userspace to query and set device reset mechanism (Myron Stowe) [2015785] - PCI: Remove reset_fn field from pci_dev (Myron Stowe) [2015785] - PCI: Add array to track reset method ordering (Myron Stowe) [2015785] - PCI: Add pcie_reset_flr() with 'probe' argument (Myron Stowe) [2015785] - PCI: Cache PCIe Device Capabilities register (Myron Stowe) [2015785] - driver core: Split device_platform_notify() (Myron Stowe) [2015785] - software nodes: Split software_node_notify() (Myron Stowe) [2015785] - PCI: PM: Enable PME if it can be signaled from D3cold (Myron Stowe) [2015785] - PCI: PM: Avoid forcing PCI_D0 for wakeup reasons inconsistently (Myron Stowe) [2015785] - PCI: Use pci_update_current_state() in pci_enable_device_flags() (Myron Stowe) [2015785] - PCI: Add pci_reset_bus_function() Secondary Bus Reset interface (Myron Stowe) [2015785] - ACPI: scan: Rearrange code related to acpi_get_device_data() (Myron Stowe) [2015785] - PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI (Myron Stowe) [2015785] - crypto: cavium/nitrox - use pcie_flr instead of duplicating it (Myron Stowe) [2015785] - NFSv4 only print the label when its queried (Scott Mayhew) [2030827] - NFSv4.1 provide mount option to toggle trunking discovery (Scott Mayhew) [2030827] - NFSv4.1 test and add 4.1 trunking transport (Scott Mayhew) [2030827] - SUNRPC allow for unspecified transport time in rpc_clnt_add_xprt (Scott Mayhew) [2030827] - NFSv4 handle port presence in fs_location server string (Scott Mayhew) [2030827] - NFSv4 expose nfs_parse_server_name function (Scott Mayhew) [2030827] - NFSv4.1 query for fs_location attr on a new file system (Scott Mayhew) [2030827] - NFSv4 store server support for fs_location attribute (Scott Mayhew) [2030827] - NFSv4 remove zero number of fs_locations entries error check (Scott Mayhew) [2030827] - NFSv4.1 add network transport when session trunking is detected (Scott Mayhew) [2030827] - SUNRPC enforce creation of no more than max_connect xprts (Scott Mayhew) [2030827] - NFSv4 introduce max_connect mount options (Scott Mayhew) [2030827] - SUNRPC add xps_nunique_destaddr_xprts to xprt_switch_info in sysfs (Scott Mayhew) [2030827] - SUNRPC keep track of number of transports to unique addresses (Scott Mayhew) [2030827] - powerpc/papr_scm: Make 'perf_stats' invisible if perf-stats unavailable (Diego Domingos) [1986188] - powerpc/papr_scm: Fix warnings about undeclared variable (Diego Domingos) [1986188] - VMCI: Add support for ARM64 (Cathy Avery) [2080095] - VMCI: Release notification_bitmap in error path (Cathy Avery) [2080095] - VMCI: Check exclusive_vectors when freeing interrupt 1 (Cathy Avery) [2080095] - VMCI: Fix some error handling paths in vmci_guest_probe_device() (Cathy Avery) [2080095] - VMCI: No need to clear memory after a dma_alloc_coherent() call (Cathy Avery) [2080095] - VMCI: Fix the description of vmci_check_host_caps() (Cathy Avery) [2080095] - VMCI: dma dg: add support for DMA datagrams receive (Cathy Avery) [2080095] - VMCI: dma dg: add support for DMA datagrams sends (Cathy Avery) [2080095] - VMCI: dma dg: allocate send and receive buffers for DMA datagrams (Cathy Avery) [2080095] - VMCI: dma dg: register dummy IRQ handlers for DMA datagrams (Cathy Avery) [2080095] - VMCI: dma dg: set OS page size (Cathy Avery) [2080095] - VMCI: dma dg: whitespace formatting change for vmci register defines (Cathy Avery) [2080095] - VMCI: dma dg: detect DMA datagram capability (Cathy Avery) [2080095] - VMCI: Use BIT() macro for bit definitions (Cathy Avery) [2080095] - VMCI: dma dg: add MMIO access to registers (Cathy Avery) [2080095] - misc: vmw_vmci: Switch to kvfree_rcu() API (Cathy Avery) [2080095] - VMCI: fix NULL pointer dereference when unmapping queue pair (Cathy Avery) [2080095] - misc: vmci: remove redundant variable is_local (Cathy Avery) [2080095] - misc: vmw_vmci: return the correct errno code (Cathy Avery) [2080095] - misc: vmw_vmci: explicitly initialize vmci_datagram payload (Cathy Avery) [2080095] - misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct (Cathy Avery) [2080095] - vmci_host: print unexpanded names of ioctl requests in debug messages (Cathy Avery) [2080095] - drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue (Cathy Avery) [2080095] - VMCI: Enforce queuepair max size for IOCTL_VMCI_QUEUEPAIR_ALLOC (Cathy Avery) [2080095] - VMCI: Use set_page_dirty_lock() when unregistering guest memory (Cathy Avery) [2080095] - misc/vmw_vmci: fix typo (Cathy Avery) [2080095] - misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells() (Cathy Avery) [2080095] - VMCI: check return value of get_user_pages_fast() for errors (Cathy Avery) [2080095] - vmci_host: get rid of pointless access_ok() (Cathy Avery) [2080095] - treewide: Add SPDX license identifier - Makefile/Kconfig (Cathy Avery) [2080095] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Cathy Avery) [2080095] - VMCI: Use memdup_user() rather than duplicating its implementation (Cathy Avery) [2080095] - VMCI: remove set but not used variable 'cid' (Cathy Avery) [2080095] - vmci: type promotion bug in qp_host_get_user_memory() (Cathy Avery) [2080095]- misc: pvpanic: introduce device capability (Emanuele Giuseppe Esposito) [2088457] - misc: pvpanic: add crash loaded event (Emanuele Giuseppe Esposito) [2088457] - misc: pvpanic: move bit definition to uapi header file (Emanuele Giuseppe Esposito) [2088457] - rfkill: make new event layout opt-in (Jose Ignacio Tornos Martinez) [2023175] - lib/sbitmap: fix sb->map leak (Ming Lei) [2093549] - openvswitch: fix OOB access in reserve_sfa_size() (Antoine Tenart) [2082023] - net: openvswitch: don't send internal clone attribute to the userspace. (Antoine Tenart) [2082023 2085509] - openvswitch: Add recirc_id to recirc warning (Antoine Tenart) [2082023] - openvswitch: Fixed nd target mask field in the flow dump. (Antoine Tenart) [2082023] - net: openvswitch: Remove redundant if statements (Antoine Tenart) [2082023] - netfilter: nf_tables: disallow non-stateful expression in sets earlier (Phil Sutter) [2092987] {CVE-2022-1966} - cachefiles: Drop superfluous readpages aops NULL check (Dave Wysochanski) [2083136] - audit: fix AUDIT_DISABLED undeclared error when AUDITSYSCALL unconfigured (Richard Guy Briggs) [2035123] - audit: log AUDIT_TIME_* records only from rules (Richard Guy Briggs) [2035123] - audit: improve audit queue handling when "audit=1" on cmdline (Richard Guy Briggs) [2035123] - audit: replace zero-length array with flexible-array member (Richard Guy Briggs) [2035123] - audit: use struct_size() helper in audit_[send|make]_reply() (Richard Guy Briggs) [2035123] - audit: ensure userspace is penalized the same as the kernel when under pressure (Richard Guy Briggs) [2035123] - audit: use struct_size() helper in kmalloc() (Richard Guy Briggs) [2035123] - audit: improve robustness of the audit queue handling (Richard Guy Briggs) [2035123] - audit: return early if the filter rule has a lower priority (Richard Guy Briggs) [2035123] - lsm_audit: avoid overloading the "key" audit field (Richard Guy Briggs) [2035123] - audit: Convert to SPDX identifier (Richard Guy Briggs) [2035123] - audit: rename struct node to struct audit_node to prevent future name collisions (Richard Guy Briggs) [2035123] - audit: prepare audit_context for use in calling contexts beyond syscalls (Richard Guy Briggs) [2035123] - audit: fix possible null-pointer dereference in audit_filter_rules (Richard Guy Briggs) [2035123] - audit: add header protection to kernel/audit.h (Richard Guy Briggs) [2035123] - audit: remove unnecessary 'ret' initialization (Richard Guy Briggs) [2035123] - audit: remove trailing spaces and tabs (Richard Guy Briggs) [2035123] - audit: Use list_move instead of list_del/list_add (Richard Guy Briggs) [2035123] - audit: Rename enum audit_state constants to avoid AUDIT_DISABLED redefinition (Richard Guy Briggs) [2035123] - selftests/bpf: Fix btf_dump test under new clang (Yauheni Kaliuta) [2087050] - perf: Fix sys_perf_event_open() race against self (Michael Petlan) [2087949] - scsi: fnic: Finish scsi_cmnd before dropping the spinlock (John Meneghini) [2062905] - [s390] s390/setup: Fix secure ipl message (Mete Durlu) [2058619] - perf evlist: Fix failed to use cpu list for uncore events (Michael Petlan) [2088835] - perf tools: Enable on a list of CPUs for hybrid (Michael Petlan) [2088835] - perf tools: Create hybrid flag in target (Michael Petlan) [2088835] - libperf: Add perf_cpu_map__default_new() (Michael Petlan) [2088835] - drm/i915: Stop force enabling pipe bottom color gammma/csc (Foggy Liu) [2054487] - blk-mq: fix blk_mq_flush_plug_list (Ming Lei) [2088397] - kernel/resource: move and rename IORESOURCE_MEM_DRIVER_MANAGED (Nico Pache) [2028988] - powerpc/numa: Handle partially initialized numa nodes (Nico Pache) [2028988] - mm: make free_area_init_node aware of memory less nodes (Nico Pache) [2028988] - mm, memory_hotplug: reorganize new pgdat initialization (Nico Pache) [2028988] - mm, memory_hotplug: drop arch_free_nodedata (Nico Pache) [2028988] - mm: handle uninitialized numa nodes gracefully (Nico Pache) [2028988] - mm, memory_hotplug: make arch_alloc_nodedata independent on CONFIG_MEMORY_HOTPLUG (Nico Pache) [2028988] - kexec_file: don't place kexec images on IORESOURCE_MEM_DRIVER_MANAGED (Nico Pache) [2028988] - mm/memory_hotplug: handle memblock_add_node() failures in add_memory_resource() (Nico Pache) [2028988] - mm/memory_hotplug: introduce add_memory_driver_managed() (Nico Pache) [2028988] - mm/memory_hotplug: handle memblocks only with CONFIG_ARCH_KEEP_MEMBLOCK (Nico Pache) [2028988] - mm/memory_hotplug: set node_start_pfn of hotadded pgdat to 0 (Nico Pache) [2028988] - mm/hotplug: reorder memblock_[free|remove]() calls in try_remove_memory() (Nico Pache) [2028988] - mm: memblock: make keeping memblock memory opt-in rather than opt-out (Nico Pache) [2028988] - [s390] s390/cpumf: add new extended counter set for IBM z16 (Mete Durlu) [2047728]- [s390] s390/qdio: clarify logical vs absolute in QIB's kerneldoc (Mete Durlu) [2043836] - [s390] s390/qdio: remove unneeded sanity check in qdio_do_sqbs() (Mete Durlu) [2043836] - [s390] s390/qdio: split do_QDIO() (Mete Durlu) [2043836] - [s390] s390/qdio: split qdio_inspect_queue() (Mete Durlu) [2043836] - [s390] s390/qdio: clarify handler logic for qdio_handle_activate_check() (Mete Durlu) [2043836] - [s390] s390/qdio: clean up access to queue in qdio_handle_activate_check() (Mete Durlu) [2043836] - [s390] s390/qdio: avoid allocating the qdio_irq with GFP_DMA (Mete Durlu) [2043836] - [s390] s390/qdio: improve handling of CIWs (Mete Durlu) [2043836] - [s390] s390/qdio: remove QDIO_SBAL_SIZE macro (Mete Durlu) [2043836] - [s390] scsi: zfcp: fix kernel doc comments (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused support for SLIB parameters (Mete Durlu) [2043836] - [s390] s390/qdio: consolidate QIB code (Mete Durlu) [2043836] - [s390] s390/qdio: use dev_info() in qdio_print_subchannel_info() (Mete Durlu) [2043836] - [s390] s390/qdio: fine-tune the queue sync (Mete Durlu) [2043836] - [s390] s390/qdio: clean up SIGA capability tracking (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused sync-after-IRQ infrastructure (Mete Durlu) [2043836] - [s390] s390/qdio: use absolute data address in ESTABLISH ccw (Mete Durlu) [2043836] - [s390] s390/qdio: remove unused macros (Mete Durlu) [2043836] - [s390] s390/qdio: clarify reporting of errors to the drivers (Mete Durlu) [2043836] - [s390] s390/qdio: remove unneeded siga-sync for Output Queue (Mete Durlu) [2043836] - [s390] s390/qdio: remove remaining tasklet & timer code (Mete Durlu) [2043836] - ice: clear stale Tx queue settings before configuring (Petr Oros) [2079926] - ice: fix crash when writing timestamp on RX rings (Petr Oros) [2079926] - ice: Fix race during aux device (un)plugging (Petr Oros) [2079926] - ice: fix PTP stale Tx timestamps cleanup (Petr Oros) [2079926] - ice: ice_sched: fix an incorrect NULL check on list iterator (Petr Oros) [2079926] - ice: fix use-after-free when deinitializing mailbox snapshot (Petr Oros) [2079926] - ice: wait 5 s for EMP reset after firmware flash (Petr Oros) [2079926] - ice: Protect vf_state check by cfg_lock in ice_vc_process_vf_msg() (Petr Oros) [2079926] - ice: Fix incorrect locking in ice_vc_process_vf_msg() (Petr Oros) [2079926] - ice: Fix memory leak in ice_get_orom_civd_data() (Petr Oros) [2079926] - ice: fix crash in switchdev mode (Petr Oros) [2079926] - Revert "iavf: Fix deadlock occurrence during resetting VF interface" (Petr Oros) [2079926] - ice: arfs: fix use-after-free when freeing @rx_cpu_rmap (Petr Oros) [2079926] - ice: clear cmd_type_offset_bsz for TX rings (Petr Oros) [2079926] - ice: xsk: fix VSI state check in ice_xsk_wakeup() (Petr Oros) [2079926] - ice: synchronize_rcu() when terminating rings (Petr Oros) [2079926] - ice: Do not skip not enabled queues in ice_vc_dis_qs_msg (Petr Oros) [2079926] - ice: Set txq_teid to ICE_INVAL_TEID on ring creation (Petr Oros) [2079926] - ice: Fix broken IFF_ALLMULTI handling (Petr Oros) [2079926] - ice: Fix MAC address setting (Petr Oros) [2079926] - redhat/configs: Remove CONFIG_MFD_INTEL_PMT (Prarit Bhargava) [2058805] - redhat/configs: Add CONFIG_INTEL_VSEC (Prarit Bhargava) [2058805] - platform/x86/intel: Move intel_pmt from MFD to Auxiliary Bus (Prarit Bhargava) [2058805] - PCI: Add #defines for accessing PCIe DVSEC fields (Prarit Bhargava) [2058805] - platform/x86: intel_pmt_telemetry: Ignore zero sized entries (Prarit Bhargava) [2058805] - platform/x86/intel: pmt: Use y instead of objs in Makefile (Prarit Bhargava) [2058805] - platform/x86/intel: Move Intel PMT drivers to new subfolder (Prarit Bhargava) [2058805] - dlm: fix plock invalid read (Alexander Aring) [2053095] - NFS: LOOKUP_DIRECTORY is also ok with symlinks (Scott Mayhew) [2059727] - NFSv4: nfs_atomic_open() can race when looking up a non-regular file (Scott Mayhew) [2059727] - NFSv4: Handle case where the lookup of a directory fails (Scott Mayhew) [2059727] - redhat: always tag non-maintainer builds with .gXXXX (Jarod Wilson) - mm, compaction: fast_find_migrateblock() should return pfn in the target zone (Rafael Aquini) [2067130] - [s390] s390/pci: expose a PCI device's UID as its index (Mete Durlu) [1939916] - [s390] s390/pci: expose UID uniqueness guarantee (Mete Durlu) [1939916] - [s390] s390/pci: Documentation for zPCI (Mete Durlu) [1939916] - powerpc/fadump: print start of preserved area (Diego Domingos) [2075092] - powerpc/fadump: align destination address to pagesize (Diego Domingos) [2075092] - powerpc/fadump: fix PT_LOAD segment for boot memory area (Diego Domingos) [2075092] - dmaengine: idxd: make idxd_wq_enable() return 0 if wq is already enabled (Jerry Snitselaar) [2083414] - dmaengine: idxd: Remove unnecessary synchronize_irq() before free_irq() (Jerry Snitselaar) [2083414] - dmaengine: idxd: add missing callback function to support DMA_INTERRUPT (Jerry Snitselaar) [2083414] - dmaengine: idxd: skip irq free when wq type is not kernel (Jerry Snitselaar) [2083414] - dmaengine: idxd: make idxd_register/unregister_dma_channel() static (Jerry Snitselaar) [2083414] - dmaengine: idxd: remove redudant idxd_wq_disable_cleanup() call (Jerry Snitselaar) [2083414] - dmaengine: idxd: free irq before wq type is reset (Jerry Snitselaar) [2083414] - dmaengine: idxd: fix lockdep warning on device driver removal (Jerry Snitselaar) [2083414] - dmaengine: idxd: Separate user and kernel pasid enabling (Jerry Snitselaar) [2083414] - dmaengine: idxd: refactor wq driver enable/disable operations (Jerry Snitselaar) [2083414] - dmaengine: idxd: move wq irq enabling to after device enable (Jerry Snitselaar) [2083414] - dmaengine: idxd: set max_xfer and max_batch for RO device (Jerry Snitselaar) [2083414] - dmaengine: idxd: Fix the error handling path in idxd_cdev_register() (Jerry Snitselaar) [2083414] - dmaengine: idxd: set DMA_INTERRUPT cap bit (Jerry Snitselaar) [2083414] - dmaengine: add verification of DMA_INTERRUPT capability for dmatest (Jerry Snitselaar) [2083414] - dmaengine: idxd: remove trailing white space on input str for wq name (Jerry Snitselaar) [2083414] - dmaengine: idxd: don't load pasid config until needed (Jerry Snitselaar) [2083414] - dmaengine: idxd: fix retry value to be constant for duration of function call (Jerry Snitselaar) [2075705] - dmaengine: idxd: match type for retries var in idxd_enqcmds() (Jerry Snitselaar) [2075705] - net: mana: Reuse XDP dropped page (Mohammed Gamal) [2086556] - net: mana: Add counter for XDP_TX (Mohammed Gamal) [2086556] - net: mana: Add counter for packet dropped by XDP (Mohammed Gamal) [2086556] - net: mana: Use struct_size() helper in mana_gd_create_dma_region() (Mohammed Gamal) [2086556] - SUNRPC release the transport of a relocated task with an assigned transport (Scott Mayhew) [2023840] - SUNRPC: Do not dereference non-socket transports in sysfs (Scott Mayhew) [2023840] - SUNRPC don't resend a task on an offlined transport (Scott Mayhew) [2023840] - SUNRPC: lock against ->sock changing during sysfs read (Scott Mayhew) [2023840] - SUNRPC: Check if the xprt is connected before handling sysfs reads (Scott Mayhew) [2023840] - SUNRPC: Add dst_port to the sysfs xprt info file (Scott Mayhew) [2023840] - SUNRPC: Add srcaddr as a file in sysfs (Scott Mayhew) [2023840] - sunrpc: Fix return value of get_srcport() (Scott Mayhew) [2023840] - sunrpc: remove an offlined xprt using sysfs (Scott Mayhew) [2023840] - sunrpc: display xprt's queuelen of assigned tasks via sysfs (Scott Mayhew) [2023840] - SUNRPC: take a xprt offline using sysfs (Scott Mayhew) [2023840] - SUNRPC for TCP display xprt's source port in sysfs xprt_info (Scott Mayhew) [2023840] - SUNRPC query transport's source port (Scott Mayhew) [2023840] - SUNRPC display xprt's main value in sysfs's xprt_info (Scott Mayhew) [2023840] - SUNRPC mark the first transport (Scott Mayhew) [2023840] - NFSv4.1 identify and mark RPC tasks that can move between transports (Scott Mayhew) [2023840] - sunrpc: provide showing transport's state info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: provide multipath info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: provide transport info in the sysfs directory (Scott Mayhew) [2023840] - sunrpc: add dst_attr attributes to the sysfs xprt directory (Scott Mayhew) [2023840] - sunrpc: add add sysfs directory per xprt under each xprt_switch (Scott Mayhew) [2023840] - sunrpc: add a symlink from rpc-client directory to the xprt_switch (Scott Mayhew) [2023840] - sunrpc: add xprt_switch direcotry to sunrpc's sysfs (Scott Mayhew) [2023840] - sunrpc: keep track of the xprt_class in rpc_xprt structure (Scott Mayhew) [2023840] - sunrpc: add IDs to multipath (Scott Mayhew) [2023840] - sunrpc: add xprt id (Scott Mayhew) [2023840] - sunrpc: Create per-rpc_clnt sysfs kobjects (Scott Mayhew) [2023840] - sunrpc: Create a client/ subdirectory in the sunrpc sysfs (Scott Mayhew) [2023840] - sunrpc: Create a sunrpc directory under /sys/kernel/ (Scott Mayhew) [2023840] - vfs: check fd has read access in kernel_read_file_from_fd() (Ian Kent) [2040615] - SUNRPC: Fix NFSD's request deferral on RDMA transports (Benjamin Coddington) [2090525] - vdpa/mlx5: Use consistent RQT size (Cindy Lu) [2063108] - vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command (Cindy Lu) [2063108] - vdpa/mlx5: should verify CTRL_VQ feature exists for MQ (Cindy Lu) [2063108] - gfs2: Stop using glock holder auto-demotion for now (Andreas Gruenbacher) [2054855] - gfs2: buffered write prefaulting (Andreas Gruenbacher) [2054855] - gfs2: Align read and write chunks to the page cache (Andreas Gruenbacher) [2054855] - gfs2: Pull return value test out of should_fault_in_pages (Andreas Gruenbacher) [2054855] - gfs2: Clean up use of fault_in_iov_iter_{read,write}able (Andreas Gruenbacher) [2054855] - gfs2: Variable rename (Andreas Gruenbacher) [2054855] - gfs2: Fix filesystem block deallocation for short writes (Andreas Gruenbacher) [2054855] - iomap: iomap_write_end cleanup (Andreas Gruenbacher) [2054855] - iomap: iomap_write_failed fix (Andreas Gruenbacher) [2054855] - gfs2: Don't re-check for write past EOF unnecessarily (Andreas Gruenbacher) [2054855] - gfs2: No short reads or writes upon glock contention (Andreas Gruenbacher) [2054855] - fs/iomap: Fix buffered write page prefaulting (Andreas Gruenbacher) [2054855] - generic_perform_write()/iomap_write_actor(): saner logics for short copy (Andreas Gruenbacher) [2054855] - iomap: Convert iomap_write_end types (Andreas Gruenbacher) [2054855] - gfs2: Make sure not to return short direct writes (Andreas Gruenbacher) [2054855] - gfs2: Remove dead code in gfs2_file_read_iter (Andreas Gruenbacher) [2054855] - gfs2: Fix gfs2_file_buffered_write endless loop workaround (Andreas Gruenbacher) [2054855] - gfs2: Minor retry logic cleanup (Andreas Gruenbacher) [2054855] - gfs2: Disable page faults during lockless buffered reads (Andreas Gruenbacher) [2054855] - gfs2: Fix should_fault_in_pages() logic (Andreas Gruenbacher) [2054855] - mm: gup: make fault_in_safe_writeable() use fixup_user_fault() (Andreas Gruenbacher) [2054855] - gfs2: Initialize gh_error in gfs2_glock_nq (Andreas Gruenbacher) [2054855] - gfs2: Switch lock order of inode and iopen glock (Andreas Gruenbacher) [2054855] - gfs2: cancel timed-out glock requests (Andreas Gruenbacher) [2054855] - gfs2: Expect -EBUSY after canceling dlm locking requests (Andreas Gruenbacher) [2054855] - gfs2: gfs2_setattr_size error path fix (Andreas Gruenbacher) [2054855] - gfs2: assign rgrp glock before compute_bitstructs (Bob Peterson) [2054855] - gfs2: Fix gfs2_release for non-writers regression (Bob Peterson) [1955591] - gfs2: gfs2_create_inode rework (Andreas Gruenbacher) [1955591] - gfs2: gfs2_inode_lookup rework (Andreas Gruenbacher) [1955591] - gfs2: gfs2_inode_lookup cleanup (Andreas Gruenbacher) [1955591] - gfs2: Fix remote demote of weak glock holders (Andreas Gruenbacher) [1955591] - gfs2: Fix glock_hash_walk bugs (Andreas Gruenbacher) [1955591] - gfs2: Cancel remote delete work asynchronously (Bob Peterson) [1955591] - gfs2: set glock object after nq (Bob Peterson) [1955591] - gfs2: remove RDF_UPTODATE flag (Bob Peterson) [1955591] - gfs2: Eliminate GIF_INVALID flag (Bob Peterson) [1955591] - gfs2: Fix atomic bug in gfs2_instantiate (Andreas Gruenbacher) [1955591] - gfs2: fix GL_SKIP node_scope problems (Bob Peterson) [1955591] - gfs2: Add some flags missing from glock output (Bob Peterson) [1955591] - gfs2: split glock instantiation off from do_promote (Bob Peterson) [1955591] - gfs2: further simplify do_promote (Bob Peterson) [1955591] - gfs2: re-factor function do_promote (Bob Peterson) [1955591] - gfs2: Remove 'first' trace_gfs2_promote argument (Andreas Gruenbacher) [1955591] - gfs2: change go_lock to go_instantiate (Bob Peterson) [1955591] - gfs2: Switch some BUG_ON to GLOCK_BUG_ON for debug (Bob Peterson) [1955591] - gfs2: move GL_SKIP check from glops to do_promote (Bob Peterson) [1955591] - gfs2: Add GL_SKIP holder flag to dump_holder (Bob Peterson) [1955591] - gfs2: remove redundant check in gfs2_rgrp_go_lock (Bob Peterson) [1955591] - gfs2: Fix mmap + page fault deadlocks for direct I/O (Andreas Gruenbacher) [1955591] - iov_iter: Introduce ITER_IOVEC_FLAG_NOFAULT flag to disable page faults (Andreas Gruenbacher) [1955591] - gup: Introduce FOLL_NOFAULT flag to disable page faults (Andreas Gruenbacher) [1955591] - iomap: Add done_before argument to iomap_dio_rw (Andreas Gruenbacher) [1955591] - iomap: Support partial direct I/O on user copy failures (Andreas Gruenbacher) [1955591] - iomap: Fix iomap_dio_rw return value for user copies (Andreas Gruenbacher) [1955591] - iomap: support reading inline data from non-zero pos (Andreas Gruenbacher) [1955591] - gfs2: Only dereference i->iov when iter_is_iovec(i) (Andreas Gruenbacher) [1955591] - gfs2: Prevent endless loops in gfs2_file_buffered_write (Andreas Gruenbacher) [1955591] - gfs2: Fix mmap + page fault deadlocks for buffered I/O (Andreas Gruenbacher) [1955591] - gfs2: Eliminate ip->i_gh (Andreas Gruenbacher) [1955591] - gfs2: Move the inode glock locking to gfs2_file_buffered_write (Andreas Gruenbacher) [1955591] - gfs2: Fix "Introduce flag for glock holder auto-demotion" (Andreas Gruenbacher) [1955591] - gfs2: Introduce flag for glock holder auto-demotion (Bob Peterson) [1955591] - gfs2: fix scheduling while atomic bug in glocks (Bob Peterson) [1955591] - gfs2: Clean up function may_grant (Andreas Gruenbacher) [1955591] - gfs2: Add wrapper for iomap_file_buffered_write (Andreas Gruenbacher) [1955591] - iov_iter: Introduce fault_in_iov_iter_writeable (Andreas Gruenbacher) [1955591] - iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable (Andreas Gruenbacher) [1955591] - gup: Turn fault_in_pages_{readable,writeable} into fault_in_{readable,writeable} (Andreas Gruenbacher) [1955591] - powerpc/signal64: Don't opencode page prefaulting (Andreas Gruenbacher) [1955591] - sanitize iov_iter_fault_in_readable() (Andreas Gruenbacher) [1955591] - [xarray] iov_iter_fault_in_readable() should do nothing in xarray case (Andreas Gruenbacher) [1955591] - powerpc/kvm: Fix kvm_use_magic_page (Andreas Gruenbacher) [1955591] - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value (Andreas Gruenbacher) [1955591] - gfs2: Fix length of holes reported at end-of-file (Andreas Gruenbacher) [1955591] - gfs2: Remove redundant check from gfs2_glock_dq (Bob Peterson) [1955591] - gfs2: release iopen glock early in evict (Bob Peterson) [1955591] - mm: change fault_in_pages_* to have an unsigned size parameter (Andreas Gruenbacher) [1955591] - gfs2: Eliminate vestigial HIF_FIRST (Bob Peterson) [1955591] - iomap: remove the iomap arguments to ->page_{prepare,done} (Andreas Gruenbacher) [1955591] - net: sched: fix use-after-free in tc_new_tfilter() (Ivan Vecera) [2071704]- Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle() (Gopal Tiwari) [2076180] - powerpc/papr_scm: Fix buffer overflow issue with CONFIG_FORTIFY_SOURCE (Gustavo Walbon) [2069468] - powerpc/papr_scm: Fix build failure when (Gustavo Walbon) [2069468] - drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set (Gustavo Walbon) [2069468] - powerpc/papr_scm: Add perf interface support (Gustavo Walbon) [2069468] - drivers/nvdimm: Add perf interface to expose nvdimm performance stats (Gustavo Walbon) [2069468] - drivers/nvdimm: Add nvdimm pmu structure (Gustavo Walbon) [2069468] - mptcp: Fix crash due to tcp_tsorted_anchor was initialized before release skb (Davide Caratti) [2084048] - mptcp: Correctly set DATA_FIN timeout when number of retransmits is large (Davide Caratti) [2084048] - mptcp: add mibs counter for ignored incoming options (Davide Caratti) [2084048] - mptcp: fix race in incoming ADD_ADDR option processing (Davide Caratti) [2084048] - mptcp: netlink: process IPv6 addrs in creating listening sockets (Davide Caratti) [2084048] - mptcp: use delegate action to schedule 3rd ack retrans (Davide Caratti) [2084048] - mptcp: fix delack timer (Davide Caratti) [2084048] - powerpc/module_64: use module_init_section instead of patching names (Jan Stancek) [1985851] - module: check for exit sections in layout_sections() instead of module_init_section() (Jan Stancek) [1985851] - module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD (Jan Stancek) [1985851] - module: allow arch overrides for .exit section names (Jan Stancek) [1985851] - ARM: 8976/1: module: allow arch overrides for .init section names (Jan Stancek) [1985851] - KVM: s390: pv: make use of ultravisor AIV support (Thomas Huth) [2043870] - redhat: Enable VM kselftests (Nico Pache) [1978539] - selftests: vm: Makefile: rename TARGETS to VMTARGETS (Nico Pache) [1978539] - redhat: enable CONFIG_TEST_VMALLOC for vm selftests (Nico Pache) [1978539] - redhat: enable GUP TEST for kselftests (Nico Pache) [1978539] - redhat: Enable HMM test to be used by the kselftest test suite (Nico Pache) [1978539] - selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random (Nico Pache) [1978539] - selftests/vm: fix display of page size in map_hugetlb (Nico Pache) [1978539] - selftests/vm: fix building protection keys test (Nico Pache) [1978539] - lib/test_vmalloc.c: do not create cpumask_t variable on stack (Nico Pache) [1978539] - vmalloc: add test driver to analyse vmalloc allocator (Nico Pache) [1978539] - vmalloc: export __vmalloc_node_range for CONFIG_TEST_VMALLOC_MODULE (Nico Pache) [1978539] - selftests/vm: add protection_keys_32 / protection_keys_64 to gitignore (Nico Pache) [1978539] - selftests/vm: rename file run_vmtests to run_vmtests.sh (Nico Pache) [1978539] - mm/gup_benchmark: support threading (Nico Pache) [1978539] - selftests/vm: gup_test: test faulting in kernel, and verify pinnable pages (Nico Pache) [1978539] - selftests/vm: gup_test: fix test flag (Nico Pache) [1978539] - selftests/vm: fix out-of-tree build (Nico Pache) [1978539] - selftests/vm: 2x speedup for run_vmtests.sh (Nico Pache) [1978539] - selftests/vm: hmm-tests: remove the libhugetlbfs dependency (Nico Pache) [1978539] - selftests/vm: run_vmtests.sh: update and clean up gup_test invocation (Nico Pache) [1978539] - selftests/vm: gup_test: introduce the dump_pages() sub-test (Nico Pache) [1978539] - selftests/vm: only some gup_test items are really benchmarks (Nico Pache) [1978539] - selftests/vm: minor cleanup: Makefile and gup_test.c (Nico Pache) [1978539] - selftests/vm: rename run_vmtests --> run_vmtests.sh (Nico Pache) [1978539] - selftests/vm: use a common gup_test.h (Nico Pache) [1978539] - mm/gup_benchmark: rename to mm/gup_test (Nico Pache) [1978539] - tools/testing/selftests/vm: fix build error (Nico Pache) [1978539] - selftests: vm: add fragment CONFIG_GUP_BENCHMARK (Nico Pache) [1978539] - selftests/vm: 8x compaction_test speedup (Nico Pache) [1978539] - selftests/vm: fix incorrect gcc invocation in some cases (Nico Pache) [1978539] - selftests/vm: fix false build success on the second and later attempts (Nico Pache) [1978539] - mm/gup: don't permit users to call get_user_pages with FOLL_LONGTERM (Nico Pache) [1978539] - mm/gup_benchmark: use pin_user_pages for FOLL_LONGTERM flag (Nico Pache) [1978539] - mm/gup_benchmark: update the documentation in Kconfig (Nico Pache) [1978539] - khugepaged: selftests: fix timeout condition in wait_for_scan() (Nico Pache) [1978539] - selftests: vm: pkeys: fix multilib builds for x86 (Nico Pache) [1978539] - selftests: vm: pkeys: use the correct page size on powerpc (Nico Pache) [1978539] - selftests/vm/pkeys: override access right definitions on powerpc (Nico Pache) [1978539] - selftests/vm/pkeys: test correct behaviour of pkey-0 (Nico Pache) [1978539] - selftests/vm/pkeys: introduce a sub-page allocator (Nico Pache) [1978539] - selftests/vm/pkeys: detect write violation on a mapped access-denied-key page (Nico Pache) [1978539] - selftests/vm/pkeys: associate key on a mapped page and detect write violation (Nico Pache) [1978539] - selftests/vm/pkeys: associate key on a mapped page and detect access violation (Nico Pache) [1978539] - selftests/vm/pkeys: improve checks to determine pkey support (Nico Pache) [1978539] - selftests/vm/pkeys: fix assertion in test_pkey_alloc_exhaust() (Nico Pache) [1978539] - selftests/vm/pkeys: fix number of reserved powerpc pkeys (Nico Pache) [1978539] - selftests/vm/pkeys: introduce powerpc support (Nico Pache) [1978539] - selftests/vm/pkeys: introduce generic pkey abstractions (Nico Pache) [1978539] - selftests: vm: pkeys: use the correct huge page size (Nico Pache) [1978539] - selftests/vm/pkeys: fix alloc_random_pkey() to make it really random (Nico Pache) [1978539] - selftests/vm/pkeys: fix assertion in pkey_disable_set/clear() (Nico Pache) [1978539] - selftests/vm/pkeys: fix pkey_disable_clear() (Nico Pache) [1978539] - selftests: vm: pkeys: add helpers for pkey bits (Nico Pache) [1978539] - selftests: vm: pkeys: Use sane types for pkey register (Nico Pache) [1978539] - selftests/vm/pkeys: make gcc check arguments of sigsafe_printf() (Nico Pache) [1978539] - selftests/vm/pkeys: move some definitions to arch-specific header (Nico Pache) [1978539] - selftests/vm/pkeys: move generic definitions to header file (Nico Pache) [1978539] - selftests/vm/pkeys: rename all references to pkru to a generic name (Nico Pache) [1978539] - selftests/x86/pkeys: move selftests to arch-neutral directory (Nico Pache) [1978539] - selftests/vm: 10x speedup for hmm-tests (Nico Pache) [1978539] - mm/migrate: add migrate-shared test for migrate_vma_*() (Nico Pache) [1978539] - mm/migrate: optimize migrate_vma_setup() for holes (Nico Pache) [1978539] - lib/test_hmm: use vma_lookup() in dmirror_migrate() (Nico Pache) [1978539] - lib/test_hmm.c: fix an error code in dmirror_allocate_chunk() (Nico Pache) [1978539] - lib/test_hmm.c: remove unused dmirror_zero_page (Nico Pache) [1978539] - mm/memremap_pages: support multiple ranges per invocation (Nico Pache) [1978539] - mm/memremap_pages: convert to 'struct range' (Nico Pache) [1978539] - tools/testing/selftests/vm/hmm-tests.c: use the new SKIP() macro (Nico Pache) [1978539] - mm/hmm/test: use the new migration invalidation (Nico Pache) [1978539] - lib/test_hmm.c: add a flag parameter to migrate_vma (Nico Pache) [1978539] - mm/hmm: add tests for hmm_pfn_to_map_order() (Nico Pache) [1978539] - lib: fix test_hmm.c reference after free (Nico Pache) [1978539] - mm/hmm/test: add selftests for HMM (Nico Pache) [1978539] - mm/hmm/test: add selftest driver for HMM (Nico Pache) [1978539] - mm: convert insert_pfn() to vm_fault_t (Nico Pache) [1978539] - selftests/vm/.gitignore: add mremap_dontunmap (Nico Pache) [1978539] - selftests: vm: Fix 64-bit test builds for powerpc64le (Nico Pache) [1978539] - selftests: vm: Do not override definition of ARCH (Nico Pache) [1978539] - selftests/vm: fix map_hugetlb length used for testing read and write (Nico Pache) [1978539] - selftests/vm: add missed tests in run_vmtests (Nico Pache) [1978539] - selftests: vm: add fragment CONFIG_TEST_VMALLOC (Nico Pache) [1978539] - selftests: vm: Build/Run 64bit tests only on 64bit arch (Nico Pache) [1978539] - selftests: vm: Fix test build failure when built by itself (Nico Pache) [1978539] - selftests: vm: install test_vmalloc.sh for run_vmtests (Nico Pache) [1978539] - tools: mark 'test_vmalloc.sh' executable (Nico Pache) [1978539] - tools/selftest/vm: allow choosing mem size and page size in map_hugetlb (Nico Pache) [1978539] - selftests/vm: add script helper for CONFIG_TEST_VMALLOC_MODULE (Nico Pache) [1978539] - tools/testing/selftests/vm/map_fixed_noreplace.c: add test for MAP_FIXED_NOREPLACE (Nico Pache) [1978539] - tools/testing/selftests/vm/: add MAP_POPULATE test (Nico Pache) [1978539] - xfs: return errors in xfs_fs_sync_fs (Andrey Albershteyn) [2087991] - vfs: make sync_filesystem return errors from ->sync_fs (Andrey Albershteyn) [2087991] - PCI: hv: Remove unused hv_set_msi_entry_from_desc() (Mohammed Gamal) [2086560] - PCI: hv: Avoid the retarget interrupt hypercall in irq_unmask() on ARM64 (Mohammed Gamal) [2086560] - PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA topology (Mohammed Gamal) [2086560] - PCI: hv: Use PCI_ERROR_RESPONSE to identify config read errors (Mohammed Gamal) [2086560] - vdpa: clean up get_config_size ret value handling (Cindy Lu) [2059841] - vdpa: mlx5: synchronize driver status with CVQ (Jason Wang) [2048009] - vdpa: mlx5: prevent cvq work from hogging CPU (Jason Wang) [2048009] - vdpa/mlx5: Avoid processing works if workqueue was destroyed (Cindy Lu) [2048009] - cpufreq: Cancel policy update work scheduled before freeing (Prarit Bhargava) [2083728] - tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT (Paolo Abeni) [2081411] - tcp: ensure to use the most recently sent skb when filling the rate sample (Paolo Abeni) [2081411] - tcp: make sure treq->af_specific is initialized (Paolo Abeni) [2081411] - tcp: md5: incorrect tcp_header_len for incoming connections (Paolo Abeni) [2081411] - tcp: ensure PMTU updates are processed during fastopen (Paolo Abeni) [2081411] - tcp: add missing tcp_skb_can_collapse() test in tcp_shift_skb_data() (Paolo Abeni) [2081411] - inet: fully convert sk->sk_rx_dst to RCU rules (Paolo Abeni) [2081411] - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows (Paolo Abeni) [2081411]- selftests/bpf/test_xdp_redirect_multi: use temp netns for testing (Felix Maurer) [2017875] - selftests/bpf/xdp_redirect_multi: Limit the tests in netns (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number (Jiri Benc) [2017875] - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder (Jiri Benc) [2017875] - bpf, sockmap: Zap ingress queues after stopping strparser (Jiri Benc) [2017875] - xdp, net: Fix use-after-free in bpf_xdp_link_release (Jiri Benc) [2017875] - doc, af_xdp: Fix bind flags option typo (Jiri Benc) [2017875] - bpf, devmap: Convert remaining READ_ONCE() to rcu_dereference_check() (Jiri Benc) [2017875] - xdp: Move the rxq_info.mem clearing to unreg_mem_model() (Jiri Benc) [2017875] - bpf, sched: Remove unneeded rcu_read_lock() around BPF program invocation (Jiri Benc) [2017875] - xdp: Add proper __rcu annotations to redirect map entries (Jiri Benc) [2017875] - doc: Give XDP as example of non-obvious RCU reader/updater pairing (Jiri Benc) [2017875] - doc: Clarify and expand RCU updaters and corresponding readers (Jiri Benc) [2017875] - bpfilter: Specify the log level for the kmsg message (Jiri Benc) [2017875] - docs, af_xdp: Consistent indentation in examples (Jiri Benc) [2017875] - xsk: Fix missing validation for skb and unaligned mode (Jiri Benc) [2017875] - bpf: Support all gso types in bpf_skb_change_proto() (Jiri Benc) [2017875] - bpf: Do not change gso_size during bpf_skb_change_proto() (Jiri Benc) [2017875] - Revert "bpf: Check for BPF_F_ADJ_ROOM_FIXED_GSO when bpf_skb_change_proto" (Jiri Benc) [2017875] - selftests/bpf: Add xdp_redirect_multi into .gitignore (Jiri Benc) [2017875] - bpf, devmap: Remove drops variable from bq_xmit_all() (Jiri Benc) [2017875] - locking/atomic: net: use linux/atomic.h for xchg & cmpxchg (Jiri Benc) [2017875] - xsk: Use kvcalloc to support large umems (Jiri Benc) [2017875] - selftests/bpf: Add xdp_redirect_multi test (Jiri Benc) [2017875] - sample/bpf: Add xdp_redirect_map_multi for redirect_map broadcast test (Jiri Benc) [2017875] - xdp: Extend xdp_redirect_map with broadcast support (Jiri Benc) [2017875] - bpf: Let bpf_warn_invalid_xdp_action() report more info (Felix Maurer) [2017875] - bpf: Run devmap xdp_prog on flush instead of bulk enqueue (Jiri Benc) [2017875] - skmsg: Remove unused parameters of sk_msg_wait_data() (Jiri Benc) [2017875] - bpf: Use struct_size() in kzalloc() (Jiri Benc) [2017875] - bpf: Check for BPF_F_ADJ_ROOM_FIXED_GSO when bpf_skb_change_proto (Jiri Benc) [2017875] - treewide: Replace zero-length arrays with flexible-array members (Tomas Henzl) [2049660] - scsi: mpi3mr: Bump driver version to 8.0.0.68.0 (Tomas Henzl) [2049660] - scsi: mpi3mr: Update the copyright year (Tomas Henzl) [2049660] - scsi: mpi3mr: Update MPI3 headers (Tomas Henzl) [2049660] - scsi: mpi3mr: Fix formatting problems in some kernel-doc comments (Tomas Henzl) [2049660] - scsi: mpi3mr: Fix some spelling mistakes (Tomas Henzl) [2049660] - scsi: mpi3mr: Bump driver version to 8.0.0.61.0 (Tomas Henzl) [2049660] - scsi: mpi3mr: Add io_uring interface support in I/O-polled mode (Tomas Henzl) [2049660] - scsi: mpi3mr: Print cable mngnt and temp threshold events (Tomas Henzl) [2049660] - scsi: mpi3mr: Support Prepare for Reset event (Tomas Henzl) [2049660] - scsi: mpi3mr: Add Event acknowledgment logic (Tomas Henzl) [2049660] - scsi: mpi3mr: Gracefully handle online FW update operation (Tomas Henzl) [2049660] - scsi: mpi3mr: Detect async reset that occurred in firmware (Tomas Henzl) [2049660] - scsi: mpi3mr: Add IOC reinit function (Tomas Henzl) [2049660] - scsi: mpi3mr: Handle offline FW activation in graceful manner (Tomas Henzl) [2049660] - scsi: mpi3mr: Code refactor of IOC init - part2 (Tomas Henzl) [2049660] - scsi: mpi3mr: Code refactor of IOC init - part1 (Tomas Henzl) [2049660] - scsi: mpi3mr: Fault IOC when internal command gets timeout (Tomas Henzl) [2049660] - scsi: mpi3mr: Display IOC firmware package version (Tomas Henzl) [2049660] - scsi: mpi3mr: Handle unaligned PLL in unmap cmnds (Tomas Henzl) [2049660] - scsi: mpi3mr: Add support for PCIe Managed Switch SES device (Tomas Henzl) [2049660] - [s390] s390/cio: verify the driver availability for path_event call (Mete Durlu) [2058620] - selinux: fix bad cleanup on error in hashtab_duplicate() (Ondrej Mosnacek) [2005890] - selinux: fix race between old and new sidtab (Ondrej Mosnacek) [2005890] - selinux: fix cond_list corruption when changing booleans (Ondrej Mosnacek) [2005890] - selinux: make nslot handling in avtab more robust (Ondrej Mosnacek) [2005890] - selinuxfs: unify policy load error reporting (Ondrej Mosnacek) [2005890] - selinux: fix variable scope issue in live sidtab conversion (Ondrej Mosnacek) [2005890] - selinux: don't log MAC_POLICY_LOAD record on failed policy load (Ondrej Mosnacek) [2005890] - selinux: simplify away security_policydb_len() (Ondrej Mosnacek) [2005890] - selinux: move policy mutex to selinux_state, use in lockdep checks (Ondrej Mosnacek) [2005890] - selinux: fix error handling bugs in security_load_policy() (Ondrej Mosnacek) [2005890] - selinux: convert policy read-write lock to RCU (Ondrej Mosnacek) [2005890] - selinux: Create new booleans and class dirs out of tree (Ondrej Mosnacek) [2005890] - selinux: Standardize string literal usage for selinuxfs directory names (Ondrej Mosnacek) [2005890] - selinux: Refactor selinuxfs directory populating functions (Ondrej Mosnacek) [2005890] - selinux: Create function for selinuxfs directory cleanup (Ondrej Mosnacek) [2005890] - selinux: fix memdup.cocci warnings (Ondrej Mosnacek) [2005890] - selinux: avoid dereferencing the policy prior to initialization (Ondrej Mosnacek) [2005890] - selinux: fix allocation failure check on newpolicy->sidtab (Ondrej Mosnacek) [2005890] - selinux: refactor changing booleans (Ondrej Mosnacek) [2005890] - selinux: move policy commit after updating selinuxfs (Ondrej Mosnacek) [2005890] - selinux: encapsulate policy state, refactor policy load (Ondrej Mosnacek) [2005890] - Revert "selinux: fix deadlock in security_set_bools()" (Ondrej Mosnacek) [2005890] - thunderx nic: mark device as deprecated (Íñigo Huguet) [2060286] - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs (Vitaly Kuznetsov) [2091523] - [s390] s390/hypfs: include z/VM guests with access control group set (Mete Durlu) [2058621] - scsi: mpt3sas: Fix a few kernel-doc issues (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix a typo (Tomas Henzl) [2049623] - scsi: mpt3sas: Update driver version to 42.100.00.00 (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix junk chars displayed while printing ChipName (Tomas Henzl) [2049623] - scsi: mpt3sas: Use cached ATA Information VPD page (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix adapter replyPostRegisterIndex declaration (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix event callback log_code value handling (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix ioc->base_readl() use (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix writel() use (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix _ctl_set_task_mid() TaskMID check (Tomas Henzl) [2049623] - scsi: mpt3sas: Fail reset operation if config request timed out (Tomas Henzl) [2049623] - scsi: mpt3sas: Fix use after free in _scsih_expander_node_remove() (Tomas Henzl) [2049623] - scsi: mpt3sas: Page fault in reply q processing (Tomas Henzl) [2049623] - scsi: mpt3sas: Convert to flexible arrays (Tomas Henzl) [2049623] - scsi: mpt3sas: Update persistent trigger pages from sysfs interface (Tomas Henzl) [2049623] - Revert "netfilter: conntrack: tag conntracks picked up in local out hook" (Florian Westphal) [2062870] - Revert "netfilter: nat: force port remap to prevent shadowing well-known ports" (Florian Westphal) [2062870] - drm/amdgpu: vi: disable ASPM on Intel Alder Lake based systems (Michel Dänzer) [2066918] - drm/amd: Use amdgpu_device_should_use_aspm on navi umd pstate switching (Michel Dänzer) [2066918] - drm/amd: Refactor `amdgpu_aspm` to be evaluated per device (Michel Dänzer) [2066918] - drm/amd: Check if ASPM is enabled from PCIe subsystem (Michel Dänzer) [2066918] - [s390] s390/tape: fix timer initialization in tape_std_assign() (Mete Durlu) [2085420] - powerpc/pseries/vas: Use QoS credits from the userspace (Steve Best) [2075174] - thermal: don't make THERMAL_NETLINK 'default y' (Prarit Bhargava) [2040062] - redhat/configs: Add CONFIG_INTEL_HFI_THERMAL (Prarit Bhargava) [2040062] - thermal/drivers/core: Remove module unload code (Prarit Bhargava) [2040062] - thermal: core: Fix TZ_GET_TRIP NULL pointer dereference (Prarit Bhargava) [2040062] - thermal: intel: hfi: INTEL_HFI_THERMAL depends on NET (Prarit Bhargava) [2040062] - thermal: netlink: Fix parameter type of thermal_genl_cpu_capability_event() stub (Prarit Bhargava) [2040062] - thermal: intel: hfi: Notify user space for HFI events (Prarit Bhargava) [2040062] - thermal: netlink: Add a new event to notify CPU capabilities change (Prarit Bhargava) [2040062] - thermal: intel: hfi: Enable notification interrupt (Prarit Bhargava) [2040062] - thermal: intel: hfi: Handle CPU hotplug events (Prarit Bhargava) [2040062] - thermal: intel: hfi: Minimally initialize the Hardware Feedback Interface (Prarit Bhargava) [2040062] - x86/cpu: Add definitions for the Intel Hardware Feedback Interface (Prarit Bhargava) [2040062] - x86/Documentation: Describe the Intel Hardware Feedback Interface (Prarit Bhargava) [2040062] - thermal: intel: Allow processing of HWP interrupt (Prarit Bhargava) [2040062] - x86/thermal: Fix LVT thermal setup for SMI delivery mode (Prarit Bhargava) [2040062] - thermal: Move therm_throt there from x86/mce (Prarit Bhargava) [2040062] - thermal: core: Adding missing nlmsg_free() in thermal_genl_sampling_temp() (Prarit Bhargava) [2040062] - thermal: move to smaller ops wherever possible (Prarit Bhargava) [2040062] - thermal: add small version of ops (Prarit Bhargava) [2040062] - thermal: netlink: Improve the initcall ordering (Prarit Bhargava) [2040062] - thermal: core: remove redundant initialization of variable ret (Prarit Bhargava) [2040062] - thermal: netlink: Fix compilation error when CONFIG_NET=n (Prarit Bhargava) [2040062] - thermal: core: Fix thermal zone lookup by ID (Prarit Bhargava) [2040062] - thermal: core: Get thermal zone by id (Prarit Bhargava) [2040062] - thermal: core: Add helpers to browse the cdev, tz and governor list (Prarit Bhargava) [2040062] - thermal: Remove netlink support (Prarit Bhargava) [2040062] - thermal: core: genetlink support for events/cmd/sampling (Prarit Bhargava) [2040062]- mailbox: pcc: Handle all PCC subtypes correctly in pcc_mbox_irq (Mark Langsdorf) [1997698] - i2c: xgene-slimpro: Fix wrong pointer passed to PTR_ERR() (Mark Langsdorf) [1997698] - ACPI: Make acpi_node_get_parent() local (Mark Langsdorf) [1997698] - ACPI: Get acpi_device's parent from the parent field (Mark Langsdorf) [1997698] - ACPI: PM: Fix device wakeup power reference counting error (Mark Langsdorf) [1997698] - ACPI: video: use platform backlight driver on Xiaomi Mi Pad 2 (Mark Langsdorf) [1997698] - ACPI: video: Drop dmi_system_id.ident settings from video_detect_dmi_table[] (Mark Langsdorf) [1997698] - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses (Mark Langsdorf) [1997698] - ACPI: EC: Use ec_no_wakeup on HP ZHAN 66 Pro (Mark Langsdorf) [1997698] - ACPI: Add a convenience function to tell a device is in D0 state (Mark Langsdorf) [1997698] - ACPI: scan: Obtain device's desired enumeration power state (Mark Langsdorf) [1997698] - perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly (Mark Langsdorf) [1997698] - ACPI/PCC: Add maintainer for PCC mailbox driver (Mark Langsdorf) [1997698] - mailbox: pcc: Add support for PCCT extended PCC subspaces(type 3/4) (Mark Langsdorf) [1997698] - mailbox: pcc: Drop handling invalid bit-width in {read,write}_register (Mark Langsdorf) [1997698] - mailbox: pcc: Avoid accessing PCCT table in pcc_send_data and pcc_mbox_irq (Mark Langsdorf) [1997698] - mailbox: pcc: Add PCC register bundle and associated accessor functions (Mark Langsdorf) [1997698] - mailbox: pcc: Rename doorbell ack to platform interrupt ack register (Mark Langsdorf) [1997698] - mailbox: pcc: Use PCC mailbox channel pointer instead of standard (Mark Langsdorf) [1997698] - mailbox: pcc: Add pcc_mbox_chan structure to hold shared memory region info (Mark Langsdorf) [1997698] - mailbox: pcc: Consolidate subspace doorbell register parsing (Mark Langsdorf) [1997698] - mailbox: pcc: Consolidate subspace interrupt information parsing (Mark Langsdorf) [1997698] - mailbox: pcc: Refactor all PCC channel information into a structure (Mark Langsdorf) [1997698] - mailbox: pcc: Fix kernel doc warnings (Mark Langsdorf) [1997698] - ACPI: glue: Use acpi_device_adr() in acpi_find_child_device() (Mark Langsdorf) [1997698] - ACPI: APEI: mark apei_hest_parse() static (Mark Langsdorf) [1997698] - ACPI: APEI: EINJ: Relax platform response timeout to 1 second (Mark Langsdorf) [1997698] - ACPI: resources: Add one more Medion model in IRQ override quirk (Mark Langsdorf) [1997698] - ACPI: AC: Quirk GK45 to skip reading _PSR (Mark Langsdorf) [1997698] - ACPI: PM: sleep: Do not set suspend_ops unnecessarily (Mark Langsdorf) [1997698] - ACPI: PRM: Handle memory allocation and memory remap failure (Mark Langsdorf) [1997698] - ACPI: PRM: Remove unnecessary blank lines (Mark Langsdorf) [1997698] - ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors (Mark Langsdorf) [1997698] - ACPI: PM: Fix sharing of wakeup power resources (Mark Langsdorf) [1997698] - ACPI: PM: Turn off unused wakeup power resources (Mark Langsdorf) [1997698] - ACPI: PM: Check states of power resources during initialization (Mark Langsdorf) [1997698] - hwmon: (acpi_power_meter) Use acpi_bus_get_acpi_device() (Mark Langsdorf) [1997698] - ACPI: replace snprintf() in "show" functions with sysfs_emit() (Mark Langsdorf) [1997698] - ACPI: LPSS: Use ACPI_COMPANION() directly (Mark Langsdorf) [1997698] - ACPI: battery: Accept charges over the design capacity as full (Mark Langsdorf) [1997698] - ACPICA: Update version to 20210930 (Mark Langsdorf) [1997698] - ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table (Mark Langsdorf) [1997698] - ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type (Mark Langsdorf) [1997698] - ACPICA: Add support for Windows 2020 _OSI string (Mark Langsdorf) [1997698] - ACPICA: Avoid evaluating methods too early during system resume (Mark Langsdorf) [1997698] - ACPI: processor: idle: fix lockup regression on 32-bit ThinkPad T40 (Mark Langsdorf) [1997698] - ACPI: processor idle: Allow playing dead in C3 state (Mark Langsdorf) [1997698] - ACPI: Kconfig: Fix a typo in Kconfig (Mark Langsdorf) [1997698] - ACPI: PNP: remove duplicated BRI0A49 and BDP3336 entries (Mark Langsdorf) [1997698] - ACPI: resources: Add DMI-based legacy IRQ override quirk (Mark Langsdorf) [1997698] - ACPICA: Add support for MADT online enabled bit (Mark Langsdorf) [1997698] - acpi/arm64: fix next_platform_timer() section mismatch error (Mark Langsdorf) [1997697] - ACPI: PM: Include alternate AMDI0005 id in special behaviour (Mark Langsdorf) [1997697] - MAINTAINERS: Change Rafael's e-mail address (Mark Langsdorf) [1997697] - ACPI: scan: Remove unneeded header linux/nls.h (Mark Langsdorf) [1997697] - ACPI: PM: s2idle: Run both AMD and Microsoft methods if both are supported (Mark Langsdorf) [1997697] - ACPI: power: Drop name from struct acpi_power_resource (Mark Langsdorf) [1997697] - ACPI: power: Use acpi_handle_debug() to print debug messages (Mark Langsdorf) [1997697] - ACPI: button: Add DMI quirk for Lenovo Yoga 9 (14INTL5) (Mark Langsdorf) [1997697] - ACPI: SPCR: Add support for the new 16550-compatible Serial Port Subtype (Mark Langsdorf) [1997697] - ACPI: platform-profile: call sysfs_notify() from platform_profile_store() (Mark Langsdorf) [1997697] - ACPICA: Update version to 20210730 (Mark Langsdorf) [1997697] - ACPICA: Add method name "_DIS" For use with aslmethod.c (Mark Langsdorf) [1997697] - ACPICA: iASL: Fix for WPBT table with no command-line arguments (Mark Langsdorf) [1997697] - ACPICA: Headers: Add new DBG2 Serial Port Subtypes (Mark Langsdorf) [1997697] - ACPICA: Macros should not use a trailing semicolon (Mark Langsdorf) [1997697] - ACPICA: Fix an if statement (add parens) (Mark Langsdorf) [1997697] - ACPICA: iASL: Add support for the AEST table (data compiler) (Mark Langsdorf) [1997697] - clk: fractional-divider: Introduce POWER_OF_TWO_PS flag (Mark Langsdorf) [1997697] - clk: fractional-divider: add explicit big endian support (Mark Langsdorf) [1997697] - clk: gate: add explicit big endian support (Mark Langsdorf) [1997697] - clk: fractional-divider: add CLK_FRAC_DIVIDER_ZERO_BASED flag support (Mark Langsdorf) [1997697] - ACPI: processor: Replace deprecated CPU-hotplug functions (Mark Langsdorf) [1997697] - ABI: sysfs-platform-dptf: Add tables markup to a table (Mark Langsdorf) [1997697] - ACPI: DPTF: Add new PCH FIVR methods (Mark Langsdorf) [1997697] - clk: x86: Rename clk-lpt to more specific clk-lpss-atom (Mark Langsdorf) [1997697] - ACPI: configfs: Make get_header() to return error pointer (Mark Langsdorf) [1997697] - ACPI: configfs: Use sysfs_emit() in "show" functions (Mark Langsdorf) [1997697] - ACPI: glue: Eliminate acpi_platform_notify() (Mark Langsdorf) [1997697] - ACPI: bus: Rename functions to avoid name collision (Mark Langsdorf) [1997697] - ACPI: glue: Change return type of two functions to void (Mark Langsdorf) [1997697] - ACPI: glue: Rearrange acpi_device_notify() (Mark Langsdorf) [1997697] - ACPI: Add LoongArch support for ACPI_PROCESSOR/ACPI_NUMA (Mark Langsdorf) [1997697] - ACPI / PMIC: XPower: optimize MIPI PMIQ sequence I2C-bus accesses (Mark Langsdorf) [1997697] - ACPI / PMIC: XPower: optimize I2C-bus accesses (Mark Langsdorf) [1997697] - stddef: Introduce DECLARE_FLEX_ARRAY() helper (Josef Oskera) [2062594] - Revert "iavf: Fix deadlock occurrence during resetting VF interface" (Ivan Vecera) [2066693] - scsi: core: Fix sbitmap depth in scsi_realloc_sdev_budget_map() (Ewan D. Milne) [2071831] - lib/sbitmap: allocate sb->map via kvzalloc_node (Ewan D. Milne) [2071831] - mm: move kvmalloc-related functions to slab.h (Ewan D. Milne) [2071831] - scsi: core: sd: Add silence_suspend flag to suppress some PM messages (Ewan D. Milne) [2071831] - scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters (Ewan D. Milne) [2071831] - sd: call sd_zbc_release_disk before releasing the scsi_device reference (Ewan D. Milne) [2071831] - scsi: core: Reallocate device's budget map on queue depth change (Ewan D. Milne) [2071831] - scsi: sr: Don't use GFP_DMA (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_device_max_queue_depth() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix buffer size of REPORT ZONES command (Ewan D. Milne) [2071831] - scsi: sd_zbc: Clean up sd_zbc_parse_report() setting of wp (Ewan D. Milne) [2071831] - scsi: sd_zbc: Simplify zone full condition check (Ewan D. Milne) [2071831] - scsi: core: Show SCMD_LAST in text form (Ewan D. Milne) [2071831] - scsi: scsi_debug: Zero clear zones at reset write pointer (Ewan D. Milne) [2071831] - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING (Ewan D. Milne) [2071831] - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix type in min_t to avoid stack OOB (Ewan D. Milne) [2071831] - scsi: core: Simplify control flow in scmd_eh_abort_handler() (Ewan D. Milne) [2071831] - scsi: core: sysfs: Fix hang when device state is set via sysfs (Ewan D. Milne) [2071831] - scsi: scsi_debug: Don't call kcalloc() if size arg is zero (Ewan D. Milne) [2071831] - scsi: sr: Remove duplicate assignment (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() (Ewan D. Milne) [2071831] - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() (Ewan D. Milne) [2071831] - scsi: sd: Print write through due to no caching mode page as warning (Ewan D. Milne) [2071831] - scsi: sd: Fix crashes in sd_resume_runtime() (Ewan D. Milne) [2071831] - scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma() (Ewan D. Milne) [2071831] - scsi: core: Fix spelling in a source code comment (Ewan D. Milne) [2071831] - scsi: sd: Fix sd_do_mode_sense() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_mode_select() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Fix scsi_mode_sense() buffer length handling (Ewan D. Milne) [2071831] - scsi: core: Remove include from scsi_cmnd.h (Ewan D. Milne) [2071831] - scsi: sd_zbc: Support disks with more than 2**32 logical blocks (Ewan D. Milne) [2071831] - scsi: sd: Make sd_spinup_disk() less noisy (Ewan D. Milne) [2071831] - scsi: sr: Fix spelling mistake "does'nt" -> "doesn't" (Ewan D. Milne) [2071831] - scsi: sd_zbc: Ensure buffer size is aligned to SECTOR_SIZE (Ewan D. Milne) [2071831] - scsi: sd: Do not exit sd_spinup_disk() quietly (Ewan D. Milne) [2071831] - scsi: core: Add helper to return number of logical blocks in a request (Ewan D. Milne) [2071831] - scsi: scsi_debug: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: scsi_transport_spi: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: scsi_transport_fc: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: sr: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: sd: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request (Ewan D. Milne) [2071831] - scsi: core: Introduce the scsi_cmd_to_rq() function (Ewan D. Milne) [2071831] - scsi: core: Add BLIST_IGN_MEDIA_CHANGE for Ultra HS-SD/MMC USB card readers (Ewan D. Milne) [2071831] - scsi: sd: REQUEST SENSE for BLIST_IGN_MEDIA_CHANGE devices in runtime_resume() (Ewan D. Milne) [2071831] - scsi: core: Add new flag BLIST_IGN_MEDIA_CHANGE (Ewan D. Milne) [2071831] - scsi: scsi_debug: Improve RDPROTECT/WRPROTECT handling (Ewan D. Milne) [2071831] - scsi: scsi_debug: Remove dump_sector() (Ewan D. Milne) [2071831] - scsi: core: Add scsi_prot_ref_tag() helper (Ewan D. Milne) [2071831] - scsi: core: Add scsi_msg_to_host_byte() (Ewan D. Milne) [2071831] - scsi: core: Add get_{status,host}_byte() accessor functions (Ewan D. Milne) [2071831] - scsi: core: Cap scsi_host cmd_per_lun at can_queue (Ewan D. Milne) [2071831] - scsi: Fix spelling mistakes in header files (Ewan D. Milne) [2071831] - scsi: core: Treat device offline as a failure (Ewan D. Milne) [2071831] - sched/topology: Skip updating masks for non-online nodes (Diego Domingos) [1946251] - powerpc/numa: Update cpu_cpu_map on CPU online/offline (Diego Domingos) [1946251] - powerpc/numa: Print debug statements only when required (Diego Domingos) [1946251] - powerpc/numa: convert printk to pr_xxx (Diego Domingos) [1946251] - powerpc/numa: Drop dbg in favour of pr_debug (Diego Domingos) [1946251] - livepatch: Fix missing unlock on error in klp_enable_patch() (Julia Denham) [2069340] - livepatch: Fix kobject refcount bug on klp_init_patch_early failure path (Julia Denham) [2069340] - Documentation: livepatch: Add livepatch API page (Julia Denham) [2069340] - scsi: megaraid_sas: Remove unnecessary memset (Tomas Henzl) [2049686] - scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan (Tomas Henzl) [2049686] - scsi: megasas: Clean up some inconsistent indenting (Tomas Henzl) [2049686] - scsi: megasas: Stop using the SCSI pointer (Tomas Henzl) [2049686] - aarch64: enable memory hotplug (Baoquan He) [1818517] - mm/memory_hotplug: introduce default dummy memory_add_physaddr_to_nid() (Baoquan He) [1818517] - arm64/mm: Add one hunk back missed in earlier back porting (Baoquan He) [1818517] - arm64/mm: Hold memory hotplug lock while walking for kernel page table dump (Baoquan He) [1818517] - ARM64: dump: Convert to use DEFINE_SHOW_ATTRIBUTE macro (Baoquan He) [1818517] - net/mlx5: DR, Ignore modify TTL on RX if device doesn't support it (Amir Tzin) [2072934] - net: bridge: switchdev: check br_vlan_group() return value (Ivan Vecera) [2080332] - net: bridge: mst: Restrict info size queries to bridge ports (Ivan Vecera) [2080332] - net: bridge: mst: prevent NULL deref in br_mst_info_size() (Ivan Vecera) [2080332] - selftests: forwarding: Use same VRF for port and VLAN upper (Ivan Vecera) [2080332] - selftests: forwarding: Disable learning before link up (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to query a port's MST state (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to check if MST is enabled (Ivan Vecera) [2080332] - net: bridge: mst: Add helper to map an MSTI to a VID set (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of MST state changes (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of VLAN MSTI migrations (Ivan Vecera) [2080332] - net: bridge: mst: Notify switchdev drivers of MST mode changes (Ivan Vecera) [2080332] - net: bridge: mst: Support setting and reporting MST port states (Ivan Vecera) [2080332] - net: bridge: mst: Allow changing a VLAN's MSTI (Ivan Vecera) [2080332] - net: bridge: mst: Multiple Spanning Tree (MST) mode (Ivan Vecera) [2080332] - net: switchdev: remove lag_mod_cb from switchdev_handle_fdb_event_to_device (Ivan Vecera) [2080332] - selftests: forwarding: tests of locked port feature (Ivan Vecera) [2080332] - net: bridge: Add support for offloading of locked port flag (Ivan Vecera) [2080332] - net: bridge: Add support for bridge port in locked mode (Ivan Vecera) [2080332] - net: switchdev: avoid infinite recursion from LAG to bridge with port object handler (Ivan Vecera) [2080332] - bridge: switch br_net_exit to batch mode (Ivan Vecera) [2080332] - net: bridge: multicast: notify switchdev driver whenever MC processing gets disabled (Ivan Vecera) [2080332] - net: switchdev: introduce switchdev_handle_port_obj_{add,del} for foreign interfaces (Ivan Vecera) [2080332] - net: switchdev: rename switchdev_lower_dev_find to switchdev_lower_dev_find_rcu (Ivan Vecera) [2080332] - net: bridge: switchdev: replay all VLAN groups (Ivan Vecera) [2080332] - net: bridge: make nbp_switchdev_unsync_objs() follow reverse order of sync() (Ivan Vecera) [2080332] - net: bridge: switchdev: differentiate new VLANs from changed ones (Ivan Vecera) [2080332] - net: bridge: vlan: notify switchdev only when something changed (Ivan Vecera) [2080332] - net: bridge: vlan: make __vlan_add_flags react only to PVID and UNTAGGED (Ivan Vecera) [2080332] - net: bridge: vlan: don't notify to switchdev master VLANs without BRENTRY flag (Ivan Vecera) [2080332] - net: bridge: vlan: check early for lack of BRENTRY flag in br_vlan_add_existing (Ivan Vecera) [2080332] - net: bridge: vlan: check for errors from __vlan_del in __vlan_flush (Ivan Vecera) [2080332] - net/switchdev: use struct_size over open coded arithmetic (Ivan Vecera) [2080332] - net: bridge: vlan: fix single net device option dumping (Ivan Vecera) [2080332] - net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper (Ivan Vecera) [2080332] - net: bridge: mcast: add and enforce startup query interval minimum (Ivan Vecera) [2080332] - net: bridge: mcast: add and enforce query interval minimum (Ivan Vecera) [2080332] - netfilter: bridge: add support for pppoe filtering (Ivan Vecera) [2080332] - bridge: use __set_bit in __br_vlan_set_default_pvid (Ivan Vecera) [2080332] - net: bridge: Allow base 16 inputs in sysfs (Ivan Vecera) [2080332] - net/bridge: replace simple_strtoul to kstrtol (Ivan Vecera) [2080332] - net: bridge: Slightly optimize 'find_portno()' (Ivan Vecera) [2080332] - net: bridge: switchdev: fix shim definition for br_switchdev_mdb_notify (Ivan Vecera) [2080332] - net: bridge: switchdev: consistent function naming (Ivan Vecera) [2080332] - net: bridge: mdb: move all switchdev logic to br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: split out the switchdev portion of br_mdb_notify (Ivan Vecera) [2080332] - net: bridge: move br_vlan_replay to br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: provide shim definition for br_vlan_flags (Ivan Vecera) [2080332] - net: switchdev: merge switchdev_handle_fdb_{add,del}_to_device (Ivan Vecera) [2080332] - net: bridge: create a common function for populating switchdev FDB entries (Ivan Vecera) [2080332] - net: bridge: move br_fdb_replay inside br_switchdev.c (Ivan Vecera) [2080332] - net: bridge: reduce indentation level in fdb_create (Ivan Vecera) [2080332] - net: bridge: rename br_fdb_insert to br_fdb_add_local (Ivan Vecera) [2080332] - net: bridge: rename fdb_insert to fdb_add_local (Ivan Vecera) [2080332] - net: bridge: remove fdb_insert forward declaration (Ivan Vecera) [2080332] - net: bridge: remove fdb_notify forward declaration (Ivan Vecera) [2080332] - net: make use of helper netif_is_bridge_master() (Ivan Vecera) [2080332] - net: use eth_hw_addr_set() (Ivan Vecera) [2080332] - net: bridge: Use array_size() helper in copy_to_user() (Ivan Vecera) [2080332] - net/mlx5: DR, Fix missing flow_source when creating multi-destination FW table (Amir Tzin) [2072920] - net/mlx5: DR, Fix slab-out-of-bounds in mlx5_cmd_dr_create_fte (Amir Tzin) [2072920] - ixgbevf: Require large buffers for build_skb on 82599VF (Ken Cox) [2037956] - ixgbevf: Remove useless DMA-32 fallback configuration (Ken Cox) [2037956] - ixgbevf: switch to napi_build_skb() (Ken Cox) [2037956] - ixgbevf: Add support for new mailbox communication between PF and VF (Ken Cox) [2037956] - ixgbevf: Mailbox improvements (Ken Cox) [2037956] - ixgbevf: Add legacy suffix to old API mailbox functions (Ken Cox) [2037956] - ixgbevf: Improve error handling in mailbox (Ken Cox) [2037956] - ixgbevf: Rename MSGTYPE to SUCCESS and FAILURE (Ken Cox) [2037956] - net: ixgbevf: Remove redundant initialization of variable ret_val (Ken Cox) [2037956] - selftests: mptcp: fix diag instability (Hangbin Liu) [2077358] - selftests: mptcp: fix ipv6 routing setup (Hangbin Liu) [2077358] - selftests: mptcp: clean tmp files in simult_flows (Hangbin Liu) [2077358] - selftests: netfilter: fix exit value for nft_concat_range (Hangbin Liu) [2077358] - selftests: netfilter: remove stray bash debug line (Hangbin Liu) [2077358] - selftests: Fix IPv6 address bind tests (Hangbin Liu) [2077358] - selftests: Fix raw socket bind tests with VRF (Hangbin Liu) [2077358] - selftests: net: Correct case name (Hangbin Liu) [2077358] - selftests: pmtu.sh: Kill nettest processes launched in subshell. (Hangbin Liu) [2077358] - selftests: pmtu.sh: Kill tcpdump processes launched by subshell. (Hangbin Liu) [2077358] - selftests: net: Fix a typo in udpgro_fwd.sh (Hangbin Liu) [2077358] - selftests/net: udpgso_bench_tx: fix dst ip argument (Hangbin Liu) [2077358] - selftests/net: udpgso_bench_rx: fix port argument (Hangbin Liu) [2077358] - selftests: net: tls: remove unused variable and code (Hangbin Liu) [2077358] - selftest: net: fix typo in altname test (Hangbin Liu) [2077358]- net/mlx5: DR, Fix the threshold that defines when pool sync is initiated (Amir Tzin) [2062715] - net/mlx5: DR, Cache STE shadow memory (Amir Tzin) [2062715] - perf/x86/intel/lbr: Add static_branch for LBR INFO flags (Michael Petlan) [2039998] - perf/x86/intel/lbr: Support LBR format V7 (Michael Petlan) [2039998] - net/mlx5e: TC, fix decap fallback to uplink when int port not supported (Amir Tzin) [2077048] - net/mlx5e: Fix wrong source vport matching on tunnel rule (Amir Tzin) [2064589] - hv_balloon: rate-limit "Unhandled message" warning (Vitaly Kuznetsov) [2087270] - tcp: drop the hash_32() part from the index calculation (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: increase source port perturb table to 2^16 (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: dynamically allocate the perturb table used by source ports (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: add small random increments to the source port (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: resalt the secret every 10 seconds (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: use different parts of the port_offset for index and offset (Guillaume Nault) [2064876] {CVE-2022-1012} - secure_seq: use the 64 bits of the siphash for port offset calculation (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: add some entropy in __inet_hash_connect() (Guillaume Nault) [2064876] {CVE-2022-1012} - tcp: change source port randomizarion at connect() time (Guillaume Nault) [2064876] {CVE-2022-1012} - net/mlx5e: TC, Skip redundant ct clear actions (Amir Tzin) [2055590] - spi: pxa2xx: Add support for Intel Raptor Lake PCH-S (Prarit Bhargava) [2040031] - mfd: intel-lpss: Add Intel Raptor Lake PCH-S PCI IDs (Prarit Bhargava) [2040031] - pinctrl: alderlake: Add Raptor Lake-S ACPI ID (Prarit Bhargava) [2040033] - i2c: i801: Add support for Intel Raptor Lake PCH-S (Prarit Bhargava) [2040027 2040029] - redhat/configs: Add CONFIG_INTEL_IDXD_PERFMON (Jerry Snitselaar) [1921296] - x86/fpu/xstate: Consolidate size calculations (Jerry Snitselaar) [2071461] - x86/fpu/xstate: Handle supervisor states in XSTATE permissions (Jerry Snitselaar) [2071461] - x86/fpu/xsave: Handle compacted offsets correctly with supervisor states (Jerry Snitselaar) [2071461] - x86/fpu: Cache xfeature flags from CPUID (Jerry Snitselaar) [2071461] - x86/fpu/xsave: Initialize offset/size cache early (Jerry Snitselaar) [2071461] - x86/fpu: Remove unused supervisor only offsets (Jerry Snitselaar) [2071461] - dmaengine: idxd: Change license on idxd.h to LGPL (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix delta_rec and crc size field for completion record (Jerry Snitselaar) [1971892] - dmaengine: idxd: Remove useless DMA-32 fallback configuration (Jerry Snitselaar) [2072156] - dmaengine: idxd: restore traffic class defaults after wq reset (Jerry Snitselaar) [2046469] - dmaengine: idxd: deprecate token sysfs attributes for read buffers (Jerry Snitselaar) [2040042] - dmaengine: idxd: change bandwidth token to read buffers (Jerry Snitselaar) [2040042] - dmaengine: idxd: fix wq settings post wq disable (Jerry Snitselaar) [2040045] - dmaengine: idxd: change MSIX allocation based on per wq activation (Jerry Snitselaar) [2040495] - edmaengine: idxd: fix descriptor flushing locking (Jerry Snitselaar) [2040495] - dmaengine: idxd: embed irq_entry in idxd_wq struct (Jerry Snitselaar) [2040495] - dmaengine: idxd: fix calling wq quiesce inside spinlock (Jerry Snitselaar) [2040040] - dmaengine: idxd: add knob for enqcmds retries (Jerry Snitselaar) [2040047] - dmaengine: idxd: set defaults for wq configs (Jerry Snitselaar) [2040047] - dmaengine: idxd: handle interrupt handle revoked event (Jerry Snitselaar) [2040051] - dmaengine: idxd: handle invalid interrupt handle descriptors (Jerry Snitselaar) [2040051] - dmaengine: idxd: create locked version of idxd_quiesce() call (Jerry Snitselaar) [2040051] - dmaengine: idxd: add helper for per interrupt handle drain (Jerry Snitselaar) [2040051] - dmaengine: idxd: move interrupt handle assignment (Jerry Snitselaar) [2040051] - dmaengine: idxd: int handle management refactoring (Jerry Snitselaar) [2040051] - dmaengine: idxd: rework descriptor free path on failure (Jerry Snitselaar) [2040051] - dmaengine: idxd: fix missed completion on abort path (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix resource leak on dmaengine driver disable (Jerry Snitselaar) [2040040] - dmaengine: idxd: cleanup completion record allocation (Jerry Snitselaar) [2040040] - dmaengine: idxd: reconfig device after device reset command (Jerry Snitselaar) [2072156] - dmaengine: idxd: add halt interrupt support (Jerry Snitselaar) [2040047] - dmaengine: idxd: Use list_move_tail instead of list_del/list_add_tail (Jerry Snitselaar) [2072156] - dmanegine: idxd: fix resource free ordering on driver removal (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove kernel wq type set when load configuration (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove gen cap field per spec 1.2 update (Jerry Snitselaar) [2040040] - dmaengine: idxd: check GENCAP config support for gencfg register (Jerry Snitselaar) [2040040] - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside submission (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt disable for dev_lock (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt disable for cmd_lock (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix setting up priv mode for dwq (Jerry Snitselaar) [2040040] - dmaengine: idxd: set descriptor allocation size to threshold for swq (Jerry Snitselaar) [2040040] - dmaengine: idxd: make submit failure path consistent on desc freeing (Jerry Snitselaar) [2040040] - dmaengine: idxd: remove interrupt flag for completion list spinlock (Jerry Snitselaar) [2040040] - dmaengine: idxd: make I/O interrupt handler one shot (Jerry Snitselaar) [2040040] - dmaengine: idxd: clear block on fault flag when clear wq (Jerry Snitselaar) [2040040] - dmaengine: idxd: add capability check for 'block on fault' attribute (Jerry Snitselaar) [2040040] - dmaengine: idxd: Remove unused status variable in irq_process_work_list() (Jerry Snitselaar) [2072156] - dmaengine: idxd: Fix a possible NULL pointer dereference (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix abort status check (Jerry Snitselaar) [2040040] - dmanegine: idxd: add software command status (Jerry Snitselaar) [2040047] - dmaengine: idxd: rotate portal address for better performance (Jerry Snitselaar) [2040047] - dmaengine: idxd: fix wq slot allocation index check (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix uninit var for alt_drv (Jerry Snitselaar) [2072156] - dmaengine: idxd: Set defaults for GRPCFG traffic class (Jerry Snitselaar) [2040047] - dmaengine: idxd: remove fault processing code (Jerry Snitselaar) [2040040] - dmaengine: idxd: move dsa_drv support to compatible mode (Jerry Snitselaar) [1971961] - dmaengine: dsa: move dsa_bus_type out of idxd driver to standalone (Jerry Snitselaar) [1971961] - dmaengine: idxd: create user driver for wq 'device' (Jerry Snitselaar) [1971961] - dmaengine: idxd: create dmaengine driver for wq 'device' (Jerry Snitselaar) [1971961] - dmaengine: idxd: create idxd_device sub-driver (Jerry Snitselaar) [1971961] - dmaengine: idxd: add type to driver in order to allow device matching (Jerry Snitselaar) [1971961] - dmanegine: idxd: open code the dsa_drv registration (Jerry Snitselaar) [1971961] - dmaengine: idxd: idxd: move remove() bits for idxd 'struct device' to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: move probe() bits for idxd 'struct device' to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: fix bus_probe() and bus_remove() for dsa_bus (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove iax_bus_type prototype (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove bus shutdown (Jerry Snitselaar) [1971961] - dmaengine: idxd: move wq_disable() to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: move wq_enable() to device.c (Jerry Snitselaar) [1971961] - dmaengine: idxd: remove IDXD_DEV_CONF_READY (Jerry Snitselaar) [1971961] - dmaengine: idxd: add 'struct idxd_dev' as wrapper for conf_dev (Jerry Snitselaar) [1971961] - dmaengine: idxd: add driver name (Jerry Snitselaar) [1971961] - dmaengine: idxd: add driver register helper (Jerry Snitselaar) [1971961] - dmaengine: idxd: depends on !UML (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix PCI_MSI build errors (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix submission race window (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix sequence for pci driver remove() and shutdown() (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix setup sequence for MSIXPERM table (Jerry Snitselaar) [2040040] - dmaengine: idxd: fix array index when int_handles are being used (Jerry Snitselaar) [2040040] - dmaengine: idxd: assign MSIX vectors to each WQ rather than roundrobin (Jerry Snitselaar) [2072156] - dmaengine: idxd: fix desc->vector that isn't being updated (Jerry Snitselaar) [2040040] - dmaengine: idxd: add missing percpu ref put on failure (Jerry Snitselaar) [2072156] - dmaengine: idxd: have command status always set (Jerry Snitselaar) [1973882] - dmanegine: idxd: cleanup all device related bits after disabling device (Jerry Snitselaar) [2072156] - dmaengine: idxd: Simplify code and axe the use of a deprecated API (Jerry Snitselaar) [2072156] - dmaengine: idxd: remove devm allocation for idxd->int_handles (Jerry Snitselaar) [2072156] - dmaengine: idxd: Remove redundant variable cdev_ctx (Jerry Snitselaar) [2072156] - dmaengine: idxd: Add missing cleanup for early error out in probe call (Jerry Snitselaar) [1971892] - dmaengine: idxd: Enable IDXD performance monitor support (Jerry Snitselaar) [1921296] - dmaengine: idxd: Add IDXD performance monitor support (Jerry Snitselaar) [1921296] - dmaengine: idxd: device cmd should use dedicated lock (Jerry Snitselaar) [1971892] - dmaengine: idxd: support reporting of halt interrupt (Jerry Snitselaar) [1971890] - dmaengine: idxd: convert sprintf() to sysfs_emit() for all usages (Jerry Snitselaar) [1971890] - dmaengine: idxd: add interrupt handle request and release support (Jerry Snitselaar) [1971890] - dmaengine: idxd: add support for readonly config mode (Jerry Snitselaar) [1971890] - dmaengine: idxd: add percpu_ref to descriptor submission path (Jerry Snitselaar) [1971949] - dmaengine: idxd: remove detection of device type (Jerry Snitselaar) [1971963] - Documentation/x86: Update documentation for SVA (Shared Virtual Addressing) (Jerry Snitselaar) [2071461] - tools/objtool: Check for use of the ENQCMD instruction in the kernel (Jerry Snitselaar) [2071461] - x86/cpufeatures: Re-enable ENQCMD (Jerry Snitselaar) [2071461] - x86/traps: Demand-populate PASID MSR via #GP (Jerry Snitselaar) [2071461] - sched: Define and initialize a flag to identify valid PASID in the task (Jerry Snitselaar) [2071461] - x86/fpu: Clear PASID when copying fpstate (Jerry Snitselaar) [2071461] - iommu/sva: Assign a PASID to mm on PASID allocation and free it on mm exit (Jerry Snitselaar) [2071461] - iommu/ioasid: Introduce a helper to check for valid PASIDs (Jerry Snitselaar) [2071461] - kernel/fork: Initialize mm's PASID (Jerry Snitselaar) [2071461] - mm: Change CONFIG option for mm->pasid field (Jerry Snitselaar) [2071461] - mm/fork: clear PASID for new mm (Jerry Snitselaar) [2071461] - iommu/sva: Rename CONFIG_IOMMU_SVA_LIB to CONFIG_IOMMU_SVA (Jerry Snitselaar) [2071461] - turbostat: fix PC6 displaying on some systems (Steve Best) [2040078]- quota: make dquot_quota_sync return errors from ->sync_fs (Lukas Czerner) [2083057] - redhat: disable more noisy rpminspect tests (Jarod Wilson) - mm: thp: replace the page lock with the seqlock for the THP mapcount (Andrea Arcangeli) [1958020] - mm: do_wp_page: deduplicate smart_lock_page (Andrea Arcangeli) [1958020] - mm: hugetlbfs: gup_must_unshare() cleanup (Andrea Arcangeli) [1958020] - mm: GUP: cleanup FOLL_UNSHARE (Andrea Arcangeli) [1958020] - mm: COW: skip the page lock in the COW copy path (Andrea Arcangeli) [1958020] - mm: gup: gup_must_unshare() use can_read_pin_swap_page() (Andrea Arcangeli) [1958020] - mm: hugetlbfs: gup: gup_must_unshare(): enable hugetlbfs (Andrea Arcangeli) [1958020] - mm: hugetlbfs: FOLL_FAULT_UNSHARE (Andrea Arcangeli) [1958020] - mm: hugetlbfs: COR: copy-on-read fault (Andrea Arcangeli) [1958020] - mm: gup: FOLL_UNSHARE RHEL (Andrea Arcangeli) [1958020] - mm: gup: FOLL_NOUNSHARE: optimize follow_page (Andrea Arcangeli) [1958020] - mm: gup: FOLL_UNSHARE (Andrea Arcangeli) [1958020] - mm: gup: gup_must_unshare() (Andrea Arcangeli) [1958020] - mm: gup: COR: copy-on-read fault (Andrea Arcangeli) [1958020] - mm: thp: introduce page_trans_huge_anon_shared (Andrea Arcangeli) [1958020] - mm: thp: stabilize the THP mapcount in page_remove_anon_compound_rmap (Andrea Arcangeli) [1958020] - mm: thp: make the THP mapcount atomic with a seqlock (Andrea Arcangeli) [1958020] - mm: thp: consolidate mapcount logic on THP split (David Hildenbrand) [1958020] - vmxnet3: Remove useless DMA-32 fallback configuration (Kamal Heib) [2083561] - vmxnet3: fix minimum vectors alloc issue (Kamal Heib) [2083561] - net: vmxnet3: remove multiple false checks in vmxnet3_ethtool.c (Kamal Heib) [2083561] - vmxnet3: do not stop tx queues after netif_device_detach() (Kamal Heib) [2083561] - block: limit request dispatch loop duration (Ming Lei) [2005082] - esp: limit skb_page_frag_refill use to a single page (Sabrina Dubroca) [2062115] {CVE-2022-27666} - esp: Fix possible buffer overflow in ESP transformation (Sabrina Dubroca) [2062115] {CVE-2022-27666} - can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path (Chris von Recklinghausen) [2080376] {CVE-2022-28390} - NFSD: Deprecate NFS_OFFSET_MAX (Scott Mayhew) [2064216] - NFSD: Fix offset type in I/O trace points (Scott Mayhew) [2064216] - NFSD: COMMIT operations must not return NFS?ERR_INVAL (Scott Mayhew) [2064216] - NFSD: Clamp WRITE offsets (Scott Mayhew) [2064216] - NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes (Scott Mayhew) [2064216] - NFSD: Fix ia_size underflow (Scott Mayhew) [2064216] - NFSD: Fix the behavior of READ near OFFSET_MAX (Scott Mayhew) [2064216] - NFSD: Fix READDIR buffer overflow (Scott Mayhew) [2064216] - nfsd: Fix nsfd startup race (again) (Scott Mayhew) [2064216] - NFS: Add a tracepoint to show the results of nfs_set_cache_invalid() (Scott Mayhew) [2064216] - NFSv42: Don't fail clone() unless the OP_CLONE operation failed (Scott Mayhew) [2064216] - NFSD: Fix exposure in nfsd4_decode_bitmap() (Scott Mayhew) [2064216] - NFSv4: Sanity check the parameters in nfs41_update_target_slotid() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from decode_getattr_*() functions (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_setsecurity (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_fhget() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_add_or_obtain() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label argument from nfs_instantiate() (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs_setattrres (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_getattr_res (Scott Mayhew) [2064216] - NFS: Remove the f_label from the nfs4_opendata and nfs_openres (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_lookupp_res struct (Scott Mayhew) [2064216] - NFS: Remove the label from the nfs4_lookup_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_link_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs4_create_res struct (Scott Mayhew) [2064216] - NFS: Remove the nfs4_label from the nfs_entry struct (Scott Mayhew) [2064216] - NFS: Create a new nfs_alloc_fattr_with_label() function (Scott Mayhew) [2064216] - NFS: Always initialise fattr->label in nfs_fattr_alloc() (Scott Mayhew) [2064216] - NFSv4: Remove unnecessary 'minor version' check (Scott Mayhew) [2064216] - NFSv4: Fix potential Oops in decode_op_map() (Scott Mayhew) [2064216] - NFSv4: Ensure decode_compound_hdr() sanity checks the tag (Scott Mayhew) [2064216] - NFS: Don't trace an uninitialised value (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to OFFLOAD_CANCEL (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to CB_OFFLOAD (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to CLONE (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to COPY (Scott Mayhew) [2064216] - NFSv4.2 add tracepoints to FALLOCATE and DEALLOCATE (Scott Mayhew) [2064216] - NFSv4.2 add tracepoint to SEEK (Scott Mayhew) [2064216] - nfs4: take a reference on the nfs_client when running FREE_STATEID (Scott Mayhew) [2064216] - NFS: Move NFS protocol display macros to global header (Scott Mayhew) [2064216] - NFS: Move generic FS show macros to global header (Scott Mayhew) [2064216] - SUNRPC: Clean up xs_tcp_setup_sock() (Scott Mayhew) [2064216] - NFSv4: Fix a regression in nfs_set_open_stateid_locked() (Scott Mayhew) [2064216] - NFS: Remove redundant call to __set_page_dirty_nobuffers (Scott Mayhew) [2064216] - NFS: Unexport nfs_probe_fsinfo() (Scott Mayhew) [2064216] - NFS: Call nfs_probe_server() during a fscontext-reconfigure event (Scott Mayhew) [2064216] - NFS: Replace calls to nfs_probe_fsinfo() with nfs_probe_server() (Scott Mayhew) [2064216] - NFS: Move nfs_probe_destination() into the generic client (Scott Mayhew) [2064216] - NFS: Create an nfs4_server_set_init_caps() function (Scott Mayhew) [2064216] - NFS: Remove --> and <-- dprintk call sites (Scott Mayhew) [2064216] - SUNRPC: Trace calls to .rpc_call_done (Scott Mayhew) [2064216] - NFS: Replace dprintk callsites in nfs_readpage(s) (Scott Mayhew) [2064216] - SUNRPC: Use BIT() macro in rpc_show_xprt_state() (Scott Mayhew) [2064216] - SUNRPC: Tracepoints should display tk_pid and cl_clid as a fixed-size field (Scott Mayhew) [2064216] - xprtrdma: Remove rpcrdma_ep::re_implicit_roundup (Scott Mayhew) [2064216] - xprtrdma: Provide a buffer to pad Write chunks of unaligned length (Scott Mayhew) [2064216] - Fix user namespace leak (Scott Mayhew) [2064216] - NFS: Save some space in the inode (Scott Mayhew) [2064216] - NFS: Fix WARN_ON due to unionization of nfs_inode.nrequests (Scott Mayhew) [2064216] - NFSv4: Fixes for nfs4_inode_return_delegation() (Scott Mayhew) [2064216] - NFS: Fix an Oops in pnfs_mark_request_commit() (Scott Mayhew) [2064216] - NFS: Fix up commit deadlocks (Scott Mayhew) [2064216] - NFSD:fix boolreturn.cocci warning (Scott Mayhew) [2064216] - nfsd: update create verifier comment (Scott Mayhew) [2064216] - SUNRPC: Change return value type of .pc_encode (Scott Mayhew) [2064216] - SUNRPC: Replace the "__be32 *p" parameter to .pc_encode (Scott Mayhew) [2064216] - NFSD: Save location of NFSv4 COMPOUND status (Scott Mayhew) [2064216] - SUNRPC: Change return value type of .pc_decode (Scott Mayhew) [2064216] - SUNRPC: Replace the "__be32 *p" parameter to .pc_decode (Scott Mayhew) [2064216] - SUNRPC: De-duplicate .pc_release() call sites (Scott Mayhew) [2064216] - SUNRPC: Simplify the SVC dispatch code path (Scott Mayhew) [2064216] - NFS: Fix deadlocks in nfs_scan_commit_list() (Scott Mayhew) [2064216] - NFS: Instrument i_size_write() (Scott Mayhew) [2064216] - SUNRPC: Per-rpc_clnt task PIDs (Scott Mayhew) [2064216] - NFS: Remove unnecessary TRACE_DEFINE_ENUM()s (Scott Mayhew) [2064216] - SUNRPC: Capture value of xdr_buf::page_base (Scott Mayhew) [2064216] - svcrdma: Split svcrmda_wc_{read,write} tracepoints (Scott Mayhew) [2064216] - svcrdma: Split the svcrdma_wc_send() tracepoint (Scott Mayhew) [2064216] - svcrdma: Split the svcrdma_wc_receive() tracepoint (Scott Mayhew) [2064216] - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds (Scott Mayhew) [2064216] - NFS: Remove unnecessary page cache invalidations (Scott Mayhew) [2064216] - NFS: Fix dentry verifier races (Scott Mayhew) [2064216] - NFS: Further optimisations for 'ls -l' (Scott Mayhew) [2064216] - NFS: Fix up nfs_readdir_inode_mapping_valid() (Scott Mayhew) [2064216] - NFS: Ignore the directory size when marking for revalidation (Scott Mayhew) [2064216] - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA (Scott Mayhew) [2064216] - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED (Scott Mayhew) [2064216] - NFSv4: Retrieve ACCESS on open if we're not using NFS4_CREATE_EXCLUSIVE (Scott Mayhew) [2064216] - NFS: Fix a few more clear_bit() instances that need release semantics (Scott Mayhew) [2064216] - SUNRPC: xprt_clear_locked() only needs release memory semantics (Scott Mayhew) [2064216] - SUNRPC: Remove unnecessary memory barriers (Scott Mayhew) [2064216] - SUNRPC: Remove WQ_HIGHPRI from xprtiod (Scott Mayhew) [2064216] - SUNRPC: Add cond_resched() at the appropriate point in __rpc_execute() (Scott Mayhew) [2064216] - SUNRPC: Partial revert of commit 6f9f17287e78 (Scott Mayhew) [2064216] - NFS: Fix up nfs_ctx_key_to_expire() (Scott Mayhew) [2064216] - NFS: Label the dentry with a verifier in nfs_rmdir() and nfs_unlink() (Scott Mayhew) [2064216] - NFS: Label the dentry with a verifier in nfs_link(), nfs_symlink() (Scott Mayhew) [2064216] - NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment() (Scott Mayhew) [2064216] - SUNRPC: xdr_stream_subsegment() must handle non-zero page_bases (Scott Mayhew) [2064216] - NFSD: simplify struct nfsfh (Scott Mayhew) [2064216] - NFSD: drop support for ancient filehandles (Scott Mayhew) [2064216] - NFSD: move filehandle format declarations out of "uapi". (Scott Mayhew) [2064216] - UNRPC: Return specific error code on kmalloc failure (Scott Mayhew) [2064216] - NFSD: Optimize DRC bucket pruning (Scott Mayhew) [2064216] - nfsd: don't alloc under spinlock in rpc_parse_scope_id (Scott Mayhew) [2064216] - NFSD: Keep existing listeners on portlist error (Scott Mayhew) [2064216] - nfs: Fix kerneldoc warning shown up by W=1 (Scott Mayhew) [2064216] - nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN (Scott Mayhew) [2064216] - NLM: Fix svcxdr_encode_owner() (Scott Mayhew) [2064216] - SUNRPC: improve error response to over-size gss credential (Scott Mayhew) [2064216] - NFS: Always provide aligned buffers to the RPC read layers (Scott Mayhew) [2064216] - NFSv3: Delete duplicate judgement in nfs3_async_handle_jukebox (Scott Mayhew) [2064216] - SUNRPC: Tweak TCP socket shutdown in the RPC client (Scott Mayhew) [2064216] - svcrdma: xpt_bc_xprt is already clear in __svc_rdma_free() (Scott Mayhew) [2064216] - rpc: fix gss_svc_init cleanup on failure (Scott Mayhew) [2064216] - SUNRPC: Add RPC_AUTH_TLS protocol numbers (Scott Mayhew) [2064216] - NFSD: remove vanity comments (Scott Mayhew) [2064216] - svcrdma: Convert rdma->sc_rw_ctxts to llist (Scott Mayhew) [2064216] - svcrdma: Relieve contention on sc_send_lock. (Scott Mayhew) [2064216] - svcrdma: Fewer calls to wake_up() in Send completion handler (Scott Mayhew) [2064216] - NFSD: Use new __string_len C macros for nfsd_clid_class (Scott Mayhew) [2064216] - NFSD: Use new __string_len C macros for the nfs_dirent tracepoint (Scott Mayhew) [2064216] - tracing: Add trace_event helper macros __string_len() and __assign_str_len() (Scott Mayhew) [2064216] - NFSD: Clean up splice actor (Scott Mayhew) [2064216] - NFS: Clean up the synopsis of callback process_op() (Scott Mayhew) [2064216] - NFS: Extract the xdr_init_encode/decode() calls from decode_compound (Scott Mayhew) [2064216] - NFS: Remove unused callback void decoder (Scott Mayhew) [2064216] - NFS: Add a private local dispatcher for NFSv4 callback operations (Scott Mayhew) [2064216] - SUNRPC: Eliminate the RQ_AUTHERR flag (Scott Mayhew) [2064216] - SUNRPC: Set rq_auth_stat in the pg_authenticate() callout (Scott Mayhew) [2064216] - SUNRPC: Add svc_rqst::rq_auth_stat (Scott Mayhew) [2064216] - NFSv4/pNFS: Remove dead code (Scott Mayhew) [2064216] - SUNRPC: Convert rpc_client refcount to use refcount_t (Scott Mayhew) [2064216] - xprtrdma: Eliminate rpcrdma_post_sends() (Scott Mayhew) [2064216] - xprtrdma: Add an xprtrdma_post_send_err tracepoint (Scott Mayhew) [2064216] - xprtrdma: Add xprtrdma_post_recvs_err() tracepoint (Scott Mayhew) [2064216] - xprtrdma: Add an rpcrdma_mr_completion_class (Scott Mayhew) [2064216] - xprtrdma: Don't display r_xprt memory addresses in tracepoints (Scott Mayhew) [2064216] - xprtrdma: Disconnect after an ib_post_send() immediate error (Scott Mayhew) [2064216] - SUNRPC: Record timeout value in xprt_retransmit tracepoint (Scott Mayhew) [2064216] - SUNRPC: xprt_retransmit() displays the the NULL procedure incorrectly (Scott Mayhew) [2064216] - treewide: Add missing semicolons to __assign_str uses (Scott Mayhew) [2064216] - SUNRPC: Remove unneeded TRACE_DEFINE_ENUMs (Scott Mayhew) [2064216] - SUNRPC: Unset RPC_TASK_NO_RETRANS_TIMEOUT for NULL RPCs (Scott Mayhew) [2064216] - SUNRPC: Refactor rpc_ping() (Scott Mayhew) [2064216] - nfsd: fix NULL dereference in nfs3svc_encode_getaclres (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SHARE results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 void results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 void results encoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Update the NLMv1 void argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - lockd: Common NLM XDR helpers (Scott Mayhew) [2064216] - lockd: Create a simplified .vs_dispatch method for NLM requests (Scott Mayhew) [2064216] - lockd: Remove stale comments (Scott Mayhew) [2064216] - nfsd: rpc_peeraddr2str needs rcu lock (Scott Mayhew) [2064216] - rpc: remove redundant initialization of variable status (Scott Mayhew) [2064216] - NFSv4: setlease should return EAGAIN if locks are not available (Scott Mayhew) [2064216] - NFS: Avoid duplicate resets of attribute cache timeouts (Scott Mayhew) [2064216] - NFSv4: Fix handling of non-atomic change attrbute updates (Scott Mayhew) [2064216] - NFS: Fix up inode attribute revalidation timeouts (Scott Mayhew) [2064216] - NFSv4: Add support for application leases underpinned by a delegation (Scott Mayhew) [2064216] - NFSv4: Add lease breakpoints in case of a delegation recall or return (Scott Mayhew) [2064216] - NFSv4: Fix delegation return in cases where we have to retry (Scott Mayhew) [2064216] - nfsd: move some commit_metadata()s outside the inode lock (Scott Mayhew) [2064216] - NFSD: Update nfsd_cb_args tracepoint (Scott Mayhew) [2064216] - NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_probe tracepoint (Scott Mayhew) [2064216] - NFSD: Replace the nfsd_deleg_break tracepoint (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_offload tracepoint (Scott Mayhew) [2064216] - NFSD: Add an nfsd_cb_lm_notify tracepoint (Scott Mayhew) [2064216] - NFSD: Enhance the nfsd_cb_setup tracepoint (Scott Mayhew) [2064216] - NFSD: Remove spurious cb_setup_err tracepoint (Scott Mayhew) [2064216] - NFSD: Adjust cb_shutdown tracepoint (Scott Mayhew) [2064216] - NFSD: Add cb_lost tracepoint (Scott Mayhew) [2064216] - NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_ macros (Scott Mayhew) [2064216] - NFSD: Capture every CB state transition (Scott Mayhew) [2064216] - NFSD: Constify @fh argument of knfsd_fh_hash() (Scott Mayhew) [2064216] - NFSD: Add tracepoints for EXCHANGEID edge cases (Scott Mayhew) [2064216] - NFSD: Add tracepoints for SETCLIENTID edge cases (Scott Mayhew) [2064216] - NFSD: Add a couple more nfsd_clid_expired call sites (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_destroyed tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_reclaim_complete tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_confirmed tracepoint (Scott Mayhew) [2064216] - NFSD: Remove trace_nfsd_clid_inuse_err (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_verf_mismatch tracepoint (Scott Mayhew) [2064216] - NFSD: Add nfsd_clid_cred_mismatch tracepoint (Scott Mayhew) [2064216] - NFSD: Add an RPC authflavor tracepoint display helper (Scott Mayhew) [2064216] - NFS: Ensure the NFS_CAP_SECURITY_LABEL capability is set when appropriate (Scott Mayhew) [2064216] - NFS: Split attribute support out from the server capabilities (Scott Mayhew) [2064216] - NFS: Don't store NFS_INO_REVAL_FORCED (Scott Mayhew) [2064216] - NFSv4: link must update the inode nlink. (Scott Mayhew) [2064216] - NFSv4: nfs4_inc/dec_nlink_locked should also invalidate ctime (Scott Mayhew) [2064216] - NFS: Another inode revalidation improvement (Scott Mayhew) [2064216] - NFS: Use information about the change attribute to optimise updates (Scott Mayhew) [2064216] - NFSv4: Add support for the NFSv4.2 "change_attr_type" attribute (Scott Mayhew) [2064216] - NFS: Simplify cache consistency in nfs_check_inode_attributes() (Scott Mayhew) [2064216] - NFS: Remove a line of code that has no effect in nfs_update_inode() (Scott Mayhew) [2064216] - NFS: Fix up handling of outstanding layoutcommit in nfs_update_inode() (Scott Mayhew) [2064216] - NFS: Separate tracking of file mode cache validity from the uid/gid (Scott Mayhew) [2064216] - NFS: Separate tracking of file nlinks cache validity from the mode/uid/gid (Scott Mayhew) [2064216] - NFSv4: Fix nfs4_bitmap_copy_adjust() (Scott Mayhew) [2064216] - NFS: Don't set NFS_INO_REVAL_PAGECACHE in the inode cache validity (Scott Mayhew) [2064216] - NFS: Replace use of NFS_INO_REVAL_PAGECACHE when checking cache validity (Scott Mayhew) [2064216] - NFS: Add a cache validity flag argument to nfs_revalidate_inode() (Scott Mayhew) [2064216] - NFS: nfs_setattr_update_inode() should clear the suid/sgid bits (Scott Mayhew) [2064216] - NFS: Fix up statx() results (Scott Mayhew) [2064216] - NFS: Don't revalidate attributes that are not being asked for (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv3 ACL encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv2 ACL encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs (Scott Mayhew) [2064216] - NFSD: Remove unused NFSv2 directory entry encoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder (Scott Mayhew) [2064216] - NFSD: Add a helper that encodes NFSv3 directory offset cookies (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 stat encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations (Scott Mayhew) [2064216] - NFSD: Remove unused NFSv3 directory entry encoders (Scott Mayhew) [2064216] - NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder (Scott Mayhew) [2064216] - NFSD: Add a helper that encodes NFSv3 directory offset cookies (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the GETATTR3res encoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Extract the svcxdr_init_encode() helper (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv3 ACL decoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Clean up after updating NFSv2 ACL decoders (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Remove argument length checking in nfsd_dispatch() (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add helper to set up the pages where the dirlist is encoded (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the MKNOD3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the SYMLINK3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the MKDIR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the CREATE3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the SETATTR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the LINK3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the RENAME3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update COMMIT3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update READDIR3args decoders to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Add helper to set up the pages where the dirlist is encoded (Scott Mayhew) [2064216] - NFSD: Fix returned READDIR offset cookie (Scott Mayhew) [2064216] - NFSD: Update READLINK3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update WRITE3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update READ3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update ACCESS3arg decoder to use struct xdr_stream (Scott Mayhew) [2064216] - NFSD: Update GETATTR3args decoder to use struct xdr_stream (Scott Mayhew) [2064216] - SUNRPC: Move definition of XDR_UNIT (Scott Mayhew) [2064216] - rpcrdma: Capture bytes received in Receive completion tracepoints (Scott Mayhew) [2064216] - NFSD: Restore NFSv4 decoding's SAVEMEM functionality (Scott Mayhew) [2064216] - NFSD: Remove macros that are no longer used (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_compound() (Scott Mayhew) [2064216] - NFSD: Make nfsd4_ops::opnum a u32 (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_listxattrs() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setxattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_xattr_name() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_clone() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_seek() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_offload_status() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_copy() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_fallocate() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_test_stateid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_sequence() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutreturn() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutget() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_layoutcommit() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_free_stateid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_destroy_session() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_create_session() (Scott Mayhew) [2064216] - NFSD: Add a helper to decode channel_attrs4 (Scott Mayhew) [2064216] - NFSD: Add a helper to decode nfs_impl_id4 (Scott Mayhew) [2064216] - NFSD: Add a helper to decode state_protect4_a (Scott Mayhew) [2064216] - NFSD: Add a separate decoder for ssv_sp_parms (Scott Mayhew) [2064216] - NFSD: Add a separate decoder to handle state_protect_ops (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_cb_sec() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_release_lockowner() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_write() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_verify() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setclientid() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_setattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_secinfo() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_renew() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_rename() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_remove() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_readdir() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_read() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_putfh() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open_downgrade() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open_confirm() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_open() (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's open_claim4 argument (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_share_deny() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_share_access() (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's openflag4 argument (Scott Mayhew) [2064216] - NFSD: Add helper to decode OPEN's createhow4 argument (Scott Mayhew) [2064216] - NFSD: Add helper to decode NFSv4 verifiers (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lookup() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_locku() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lockt() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_lock() (Scott Mayhew) [2064216] - NFSD: Add helper for decoding locker4 (Scott Mayhew) [2064216] - NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner (Scott Mayhew) [2064216] - NFSD: Relocate nfsd4_decode_opaque() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_link() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_getattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_delegreturn() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_create() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_fattr() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 umask attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 security label attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 time_set attributes (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 owner_group attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 owner attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 mode attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 acl attribute (Scott Mayhew) [2064216] - NFSD: Replace READ* macros that decode the fattr4 size attribute (Scott Mayhew) [2064216] - NFSD: Change the way the expected length of a fattr4 is checked (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_commit() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_close() (Scott Mayhew) [2064216] - NFSD: Replace READ* macros in nfsd4_decode_access() (Scott Mayhew) [2064216] - NFSD: Replace the internals of the READ_BUF() macro (Scott Mayhew) [2064216] - nfsd/nfs3: remove unused macro nfsd3_fhandleres (Scott Mayhew) [2064216] - vt: vt_ioctl: fix race in VT_RESIZEX (Čestmír Kalina) [2068338] - net/mlx5: Bridge, Fix devlink deadlock on net namespace deletion (Amir Tzin) [2055580] - openvswitch: Fix setting ipv6 fields causing hw csum failure (Eelco Chaudron) [1974356]- Fix up versioning for maintainer builds (Jarod Wilson) - powerpc/iommu: Enable remaining IOMMU Pagesizes present in LoPAR (Gustavo Walbon) [1987109] - sizes.h: add SZ_8G/SZ_16G/SZ_32G macros (Gustavo Walbon) [1987109] - x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN (Puneet Sethi) [2040336] - dm integrity: fix memory corruption when tag_size is less than digest size (Benjamin Marzinski) [2081775] - sctp: check asoc strreset_chunk in sctp_generate_reconf_event (Xin Long) [2079980] - sctp: Initialize daddr on peeled off socket (Xin Long) [2079980] - sctp: fix kernel-infoleak for SCTP sockets (Xin Long) [2079980] - sctp: do not update transport pathmtu if SPP_PMTUD_ENABLE is not set (Xin Long) [2079980] - dm crypt: fix copy and paste bug in crypt_alloc_req_aead (Benjamin Marzinski) [2073431] - dm crypt: defer decryption to a tasklet if interrupts disabled (Benjamin Marzinski) [2073431] - dm crypt: do not call bio_endio() from the dm-crypt tasklet (Benjamin Marzinski) [2073431] - dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq (Benjamin Marzinski) [2073431] - dm crypt: do not wait for backlogged crypto request completion in softirq (Benjamin Marzinski) [2073431] - dm crypt: document new no_workqueue flags (Benjamin Marzinski) [2073431] - dm crypt: add flags to optionally bypass kcryptd workqueues (Benjamin Marzinski) [2073431] - tracing/osnoise: Force quiescent states while tracing (Jerome Marchand) [2069710] - tracing/osnoise: Do not unregister events twice (Jerome Marchand) [2069710] - tracing/osnoise: Make osnoise_main to sleep for microseconds (Jerome Marchand) [2069710] - tracing/osnoise: Properly unhook events if start_per_cpu_kthreads() fails (Jerome Marchand) [2069710] - tracing/osnoise: Make osnoise_instances static (Jerome Marchand) [2069710] - tracing/osnoise: Remove PREEMPT_RT ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Remove STACKTRACE ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Allow multiple instances of the same tracer (Jerome Marchand) [2069710] - tracing/osnoise: Remove TIMERLAT ifdefs from inside functions (Jerome Marchand) [2069710] - tracing/osnoise: Support a list of trace_array *tr (Jerome Marchand) [2069710] - tracing/osnoise: Use start/stop_per_cpu_kthreads() on osnoise_cpus_write() (Jerome Marchand) [2069710] - tracing/osnoise: Split workload start from the tracer start (Jerome Marchand) [2069710] - tracing/osnoise: Improve comments about barrier need for NMI callbacks (Jerome Marchand) [2069710] - tracing/osnoise: Do not follow tracing_cpumask (Jerome Marchand) [2069710] - trace/timerlat: Add migrate-disabled field to the timerlat header (Jerome Marchand) [2069710] - trace/osnoise: Add migrate-disabled field to the osnoise header (Jerome Marchand) [2069710] - tracing/doc: Fix typos on the timerlat tracer documentation (Jerome Marchand) [2069710] - trace/osnoise: Fix an ifdef comment (Jerome Marchand) [2069710] - redhat: indicate HEAD state in tarball/rpm name (Jarod Wilson) - selftest: net: Test IPv4 PMTU exceptions with DSCP and ECN (Guillaume Nault) [2081453] - ipv4: Fix route lookups when handling ICMP redirects and PMTU updates (Guillaume Nault) [2081453] - ipv4: tcp: send zero IPID in SYNACK messages (Guillaume Nault) [2081453] - ipv4: raw: lock the socket in raw_bind() (Guillaume Nault) [2081453] - net/af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO (Hangbin Liu) [2066976] - net/packet: fix packet_sock xmit return value checking (Hangbin Liu) [2066976] - doc/ip-sysctl: add bc_forwarding (Xin Long) [2080486] - net/packet: fix packet_sock xmit return value checking (Xin Long) [2080486] - net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit() (Xin Long) [2080486] - net/packet: fix slab-out-of-bounds access in packet_recvmsg() (Xin Long) [2080486] - veth: fix races around rq->rx_notify_masked (Xin Long) [2080486] - af_packet: fix data-race in packet_setsockopt / packet_setsockopt (Xin Long) [2080486] - ipv4: remove sparse error in ip_neigh_gw4() (Xin Long) [2080486] - af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress (Xin Long) [2080486] - veth: Do not record rx queue hint in veth_xmit (Xin Long) [2080486] - veth: ensure skb entering GRO are not cloned. (Xin Long) [2080486] - ethtool: Fix link extended state for big endian (Xin Long) [2080486] - ethtool: do not perform operations on net devices being unregistered (Xin Long) [2080486] - ethtool: Add transceiver module extended state (Xin Long) [2080486] - ethtool: runtime-resume netdev parent in ethnl_ops_begin (Xin Long) [2080486] - ethtool: move netif_device_present check from ethnl_parse_header_dev_get to ethnl_ops_begin (Xin Long) [2080486] - ethtool: move implementation of ethnl_ops_begin/complete to netlink.c (Xin Long) [2080486] - net: validate lwtstate->data before returning from skb_tunnel_info() (Xin Long) [2080486]- bnx2x: fix napi API usage sequence (Manish Chopra) [2080659] - netfilter: fix use-after-free in __nf_register_net_hook() (Florian Westphal) [2080272] - netfilter: nf_tables: unregister flowtable hooks on netns exit (Florian Westphal) [2080272] - netfilter: nftables: add helper function to release hooks of one single table (Florian Westphal) [2080272] - netfilter: nft_socket: only do sk lookups when indev is available (Florian Westphal) [2080272] - netfilter: nf_conntrack_tcp: re-init for syn packets only (Florian Westphal) [2080272] - netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion (Florian Westphal) [2080272] - netfilter: nf_tables: fix memory leak during stateful obj update (Florian Westphal) [2080272] - netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options (Florian Westphal) [2080272] - netfilter: ctnetlink: disable helper autoassign (Florian Westphal) [2080272] - netfilter: nft_payload: don't allow th access for fragments (Florian Westphal) [2080272] - netfilter: nft_payload: simplify vlan header handling (Florian Westphal) [2080272] - RDMA/rxe: Change mcg_lock to a _bh lock (Kamal Heib) [2056500] - RDMA/rxe: Do not call dev_mc_add/del() under a spinlock (Kamal Heib) [2056500] - RDMA/rxe: Recheck the MR in when generating a READ reply (Kamal Heib) [2056500] - RDMA/rxe: Fix "Replace mr by rkey in responder resources" (Kamal Heib) [2056500] - RDMA/siw: Fix a condition race issue in MPA request processing (Kamal Heib) [2056500] - RDMA/irdma: Fix possible crash due to NULL netdev in notifier (Kamal Heib) [2056500] - RDMA/irdma: Reduce iWARP QP destroy time (Kamal Heib) [2056500] - RDMA/irdma: Flush iWARP QP if modified to ERR from RTR state (Kamal Heib) [2056500] - RDMA/irdma: Fix deadlock in irdma_cleanup_cm_core() (Kamal Heib) [2056500] - RDMA/hfi1: Fix use-after-free bug for mm struct (Kamal Heib) [2056500] - IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition (Kamal Heib) [2056500] - IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD (Kamal Heib) [2056500] - RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() (Kamal Heib) [2056500] - IB/iser: Fix error flow in case of registration failure (Kamal Heib) [2056500] - IB/iser: Generalize map/unmap dma tasks (Kamal Heib) [2056500] - IB/iser: Use iser_fr_desc as registration context (Kamal Heib) [2056500] - IB/iser: Remove iser_reg_data_sg helper function (Kamal Heib) [2056500] - RDMA/rxe: Use standard names for ref counting (Kamal Heib) [2056500] - RDMA/rxe: Replace red-black trees by xarrays (Kamal Heib) [2056500] - RDMA/rxe: Shorten pool names in rxe_pool.c (Kamal Heib) [2056500] - RDMA/rxe: Move max_elem into rxe_type_info (Kamal Heib) [2056500] - RDMA/rxe: Replace obj by elem in declaration (Kamal Heib) [2056500] - RDMA/rxe: Delete _locked() APIs for pool objects (Kamal Heib) [2056500] - RDMA/rxe: Reverse the sense of RXE_POOL_NO_ALLOC (Kamal Heib) [2056500] - RDMA/rxe: Replace mr by rkey in responder resources (Kamal Heib) [2056500] - RDMA/rxe: Fix ref error in rxe_av.c (Kamal Heib) [2056500] - RDMA/irdma: Add support for address handle re-use (Kamal Heib) [2056500] - Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" (Kamal Heib) [2056500] - RDMA/rxe: Remove useless argument for update_state() (Kamal Heib) [2056500] - RDMA/rxe: Change variable and function argument to proper type (Kamal Heib) [2056500] - RDMA/irdma: Prevent some integer underflows (Kamal Heib) [2056500] - RDMA/core: Fix ib_qp_usecnt_dec() called when error (Kamal Heib) [2056500] - IB/hfi1: Allow larger MTU without AIP (Kamal Heib) [2056500] - RDMA/core: Remove unnecessary statements (Kamal Heib) [2056500] - RDMA/irdma: Remove incorrect masking of PD (Kamal Heib) [2056500] - RDMA/irdma: Fix Passthrough mode in VM (Kamal Heib) [2056500] - RDMA/irdma: Fix netdev notifications for vlan's (Kamal Heib) [2056500] - RDMA/irdma: Make irdma_create_mg_ctx return a void (Kamal Heib) [2056500] - RDMA/irdma: Move union irdma_sockaddr to header file (Kamal Heib) [2056500] - RDMA/irdma: Remove the unnecessary variable saddr (Kamal Heib) [2056500] - RDMA/irdma: Use net_type to check network type (Kamal Heib) [2056500] - RDMA/rxe: Cleanup rxe_mcast.c (Kamal Heib) [2056500] - RDMA/rxe: Collect cleanup mca code in a subroutine (Kamal Heib) [2056500] - RDMA/rxe: Collect mca init code in a subroutine (Kamal Heib) [2056500] - RDMA/rxe: Warn if mcast memory is not freed (Kamal Heib) [2056500] - RDMA/irdma: Remove excess error variables (Kamal Heib) [2056500] - RDMA/irdma: Propagate error codes (Kamal Heib) [2056500] - RDMA/irdma: Remove enum irdma_status_code (Kamal Heib) [2056500] - RDMA/ib_srp: Add more documentation (Kamal Heib) [2056500] - IB/cma: Allow XRC INI QPs to set their local ACK timeout (Kamal Heib) [2056500] - RDMA/rxe: Remove mcg from rxe pools (Kamal Heib) [2056500] - RDMA/rxe: Remove key'ed object support (Kamal Heib) [2056500] - RDMA/rxe: Replace pool key by rxe->mcg_tree (Kamal Heib) [2056500] - RDMA/rxe: Replace int num_qp by atomic_t qp_num (Kamal Heib) [2056500] - RDMA/rxe: Replace grp by mcg, mce by mca (Kamal Heib) [2056500] - RDMA/rxe: Use kzmalloc/kfree for mca (Kamal Heib) [2056500] - RDMA/rxe: Move mcg_lock to rxe (Kamal Heib) [2056500] - RDMA/hfi: Replace cpumask_weight with cpumask_empty where appropriate (Kamal Heib) [2056500] - RDMA/irdma: Refactor DCB bits in prep for DSCP support (Kamal Heib) [2056500] - RDMA/opa: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/iser: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/ipoib: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/rxe: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/usnic: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/hfi1: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/core: Delete useless module.h include (Kamal Heib) [2056500] - RDMA/core: Set MR type in ib_reg_user_mr (Kamal Heib) [2056500] - md: Set MD_BROKEN for RAID1 and RAID10 (Nigel Croxon) [2042729] - raid5: introduce MD_BROKEN (Nigel Croxon) [2042729] - RHEL only Changes to support block changes not picked up (Nigel Croxon) [2042729] - md: fix NULL pointer deref with nowait but no mddev->queue (Nigel Croxon) [2042729] - md: use default_groups in kobj_type (Nigel Croxon) [2042729] - md: Move alloc/free acct bioset in to personality (Nigel Croxon) [2042729] - md: fix spelling of "its" (Nigel Croxon) [2042729] - md: raid456 add nowait support (Nigel Croxon) [2042729] - md: raid10 add nowait support (Nigel Croxon) [2042729] - md: raid1 add nowait support (Nigel Croxon) [2042729] - md: add support for REQ_NOWAIT (Nigel Croxon) [2042729] - md/raid5: play nice with PREEMPT_RT (Nigel Croxon) [2042729] - md/raid1: fix missing bitmap update w/o WriteMostly devices (Nigel Croxon) [2042729] - md: fix double free of mddev->private in autorun_array() (Nigel Croxon) [2042729] - md: fix update super 1.0 on rdev size change (Nigel Croxon) [2042729] - raid5-ppl: use swap() to make code cleaner (Nigel Croxon) [2042729] - md/bitmap: don't set max_write_behind if there is no write mostly device (Nigel Croxon) [2042729] - md: update superblock after changing rdev flags in state_store (Nigel Croxon) [2042729] - md: remove unused argument from md_new_event (Nigel Croxon) [2042729] - md/raid5: call roundup_pow_of_two in raid5_run (Nigel Croxon) [2042729] - md/raid1: use rdev in raid1_write_request directly (Nigel Croxon) [2042729] - md/raid1: only allocate write behind bio for WriteMostly device (Nigel Croxon) [2042729] - md: properly unwind when failing to add the kobject in md_alloc (Nigel Croxon) [2042729] - md: extend disks_mutex coverage (Nigel Croxon) [2042729] - md: add the bitmap group to the default groups for the md kobject (Nigel Croxon) [2042729] - md: add error handling support for add_disk() (Nigel Croxon) [2042729] - md: fix a lock order reversal in md_alloc (Nigel Croxon) [2042729] - scsi: qedf: Stop using the SCSI pointer (Nilesh Javali) [2044843] - scsi: qedf: Change context reset messages to ratelimited (Nilesh Javali) [2044843] - scsi: qedf: Fix refcount issue when LOGO is received during TMF (Nilesh Javali) [2044843] - scsi: qedf: Add stag_work to all the vports (Nilesh Javali) [2044843] - scsi: qedf: Fix potential dereference of NULL pointer (Nilesh Javali) [2044843] - eth: fwnode: remove the addr len from mac helpers (Íñigo Huguet) [2069565] - eth: fwnode: change the return type of mac address helpers (Íñigo Huguet) [2069565] - device property: move mac addr helpers to eth.c (Íñigo Huguet) [2069565] - net: thunderx: Use fwnode_get_mac_address() (Íñigo Huguet) [2069565] - qede: confirm skb is allocated before using (Manish Chopra) [2040267] - qed: fix ethtool register dump (Manish Chopra) [2040267] - qed: remove unnecessary memset in qed_init_fw_funcs (Manish Chopra) [2040267] - qed: return status of qed_iov_get_link (Manish Chopra) [2040267] - net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare() (Manish Chopra) [2040267] - qed: validate and restrict untrusted VFs vlan promisc mode (Manish Chopra) [2040267] - qed: display VF trust config (Manish Chopra) [2040267] - qed: prevent a fw assert during device shutdown (Manish Chopra) [2040267] - qed: use msleep() in qed_mcp_cmd() and add qed_mcp_cmd_nosleep() for udelay. (Manish Chopra) [2040267] - qed: Use dma_set_mask_and_coherent() and simplify code (Manish Chopra) [2040267] - qed*: esl priv flag support through ethtool (Manish Chopra) [2040267] - qed*: enhance tx timeout debug info (Manish Chopra) [2040267] - qede: validate non LSO skb length (Manish Chopra) [2040267] - qed: Enhance rammod debug prints to provide pretty details (Manish Chopra) [2040267] - net: qed: fix the array may be out of bound (Manish Chopra) [2040267] - qed: Use the bitmap API to simplify some functions (Manish Chopra) [2040267] - RDMA/qed: Use helper function to set GUIDs (Manish Chopra) [2040267] - net: qed_dev: fix check of true !rc expression (Manish Chopra) [2040267] - net: qed_ptp: fix check of true !rc expression (Manish Chopra) [2040267] - RDMA/qedr: Remove unsupported qedr_resize_cq callback (Manish Chopra) [2040267] - qed: Change the TCP common variable - "iscsi_ooo" (Manish Chopra) [2040267] - qed: Optimize the ll2 ooo flow (Manish Chopra) [2040267] - net: qed_debug: fix check of false (grc_param < 0) expression (Manish Chopra) [2040267] - qed: Fix missing error code in qed_slowpath_start() (Manish Chopra) [2040267] - qed: Fix compilation for CONFIG_QED_SRIOV undefined scenario (Manish Chopra) [2040267] - qed: Initialize debug string array (Manish Chopra) [2040267] - qed: Fix spelling mistake "ctx_bsaed" -> "ctx_based" (Manish Chopra) [2040267] - qed: fix ll2 establishment during load of RDMA driver (Manish Chopra) [2040267] - qed: Update the TCP active termination 2 MSL timer ("TIME_WAIT") (Manish Chopra) [2040267] - qed: Update TCP silly-window-syndrome timeout for iwarp, scsi (Manish Chopra) [2040267] - qed: Update debug related changes (Manish Chopra) [2040267] - qed: Add '_GTT' suffix to the IRO RAM macros (Manish Chopra) [2040267] - qed: Update FW init functions to support FW 8.59.1.0 (Manish Chopra) [2040267] - qed: Use enum as per FW 8.59.1.0 in qed_iro_hsi.h (Manish Chopra) [2040267] - qed: Update qed_hsi.h for fw 8.59.1.0 (Manish Chopra) [2040267] - qed: Update qed_mfw_hsi.h for FW ver 8.59.1.0 (Manish Chopra) [2040267] - qed: Update common_hsi for FW ver 8.59.1.0 (Manish Chopra) [2040267] - qed: Split huge qed_hsi.h header file (Manish Chopra) [2040267] - qed: Remove e4_ and _e4 from FW HSI (Manish Chopra) [2040267] - qed: Fix kernel-doc warnings (Manish Chopra) [2040267] - qed: Don't ignore devlink allocation failures (Manish Chopra) [2040267] - qed: Improve the stack space of filter_config() (Manish Chopra) [2040267] - RDMA/qedr: Move variables reset to qedr_set_common_qp_params() (Manish Chopra) [2040267] - ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode (Guillaume Nault) [2081030] - ip6_gre: Make o_seqno start from 0 in native mode (Guillaume Nault) [2081030] - ip_gre: Make o_seqno start from 0 in native mode (Guillaume Nault) [2081030] - ip6_gre: Fix skb_under_panic in __gre6_xmit() (Guillaume Nault) [2081030] - ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit() (Guillaume Nault) [2081030] - ipv6_tunnel: Rate limit warning messages (Guillaume Nault) [2081030] - net: fix up skbs delta_truesize in UDP GRO frag_list (Hangbin Liu) [2082388] - drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit (Hangbin Liu) [2082388] - rtnetlink: make sure to refresh master_dev/m_ops in __rtnl_newlink() (Hangbin Liu) [2082388] - netns: add schedule point in ops_exit_list() (Hangbin Liu) [2082388] - lwtunnel: Validate RTA_ENCAP_TYPE attribute length (Hangbin Liu) [2082388] - net, neigh: clear whole pneigh_entry at alloc time (Hangbin Liu) [2082388] - net: annotate data-races on txq->xmit_lock_owner (Hangbin Liu) [2082388] - sock: fix /proc/net/sockstat underflow in sk_clone_lock() (Hangbin Liu) [2082388] - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() (Hangbin Liu) [2082388] - rtnetlink: fix if_nlmsg_stats_size() under estimation (Hangbin Liu) [2082388] - net: watchdog: hold device global xmit lock during tx disable (Hangbin Liu) [2082388] - torture: Fix incorrectly redirected "exit" in kvm-remote.sh (Waiman Long) [2065993] - rcu: Allow rcu_irq_enter_check_tick() from NMI (Waiman Long) [2065993] - srcu: Early test SRCU polling start (Waiman Long) [2065993] - rcu/nocb: Unify timers (Waiman Long) [2065993] - rcu/nocb: Prepare for fine-grained deferred wakeup (Waiman Long) [2065993] - rcu/nocb: Only cancel nocb timer if not polling (Waiman Long) [2065993] - rcu/nocb: Delete bypass_timer upon nocb_gp wakeup (Waiman Long) [2065993] - rcu/nocb: Cancel nocb_timer upon nocb_gp wakeup (Waiman Long) [2065993] - rcu/nocb: Allow de-offloading rdp leader (Waiman Long) [2065993] - rcu/nocb: Directly call __wake_nocb_gp() from bypass timer (Waiman Long) [2065993] - refscale: Avoid false-positive warnings in ref_scale_reader() (Waiman Long) [2065993] - scftorture: Avoid false-positive warnings in scftorture_invoker() (Waiman Long) [2065993] - rcu-tasks: Don't delete holdouts within trc_wait_for_one_reader() (Waiman Long) [2065993] - rcu-tasks: Don't delete holdouts within trc_inspect_reader() (Waiman Long) [2065993] - rcutorture: Move mem_dump_obj() tests into separate function (Waiman Long) [2065993] - rcu: Remove obsolete rcu_read_unlock() deadlock commentary (Waiman Long) [2065993] - rcu: Improve comments describing RCU read-side critical sections (Waiman Long) [2065993] - rcu: Add missing __releases() annotation (Waiman Long) [2065993] - kvfree_rcu: Fix comments according to current code (Waiman Long) [2065993] - torture: Don't cap remote runs by build-system number of CPUs (Waiman Long) [2065993] - torture: Make kvm-remote.sh account for network failure in pathname checks (Waiman Long) [2065993] - rcu: Create an unrcu_pointer() to remove __rcu from a pointer (Waiman Long) [2065993] - kvfree_rcu: Refactor kfree_rcu_monitor() (Waiman Long) [2065993] - srcu: Fix broken node geometry after early ssp init (Waiman Long) [2065993] - rcu: Point to documentation of ordering guarantees (Waiman Long) [2065993] - rcu: Don't penalize priority boosting when there is nothing to boost (Waiman Long) [2065993] - kvfree_rcu: Use kfree_rcu_monitor() instead of open-coded variant (Waiman Long) [2065993] - kvfree_rcu: Update "monitor_todo" once a batch is started (Waiman Long) [2065993] - kvfree_rcu: Add a bulk-list check when a scheduler is run (Waiman Long) [2065993] - kvfree_rcu: Use [READ/WRITE]_ONCE() macros to access to nr_bkv_objs (Waiman Long) [2065993] - kvfree_rcu: Release a page cache under memory pressure (Waiman Long) [2065993] - rcu: Shrink each possible cpu krcp (Waiman Long) [2065993] - rcu/segcblist: Prevent useless GP start if no CBs to accelerate (Waiman Long) [2065993] - rcutorture: Don't count CPU-stalled time against priority boosting (Waiman Long) [2065993] - rcu: Make rcu_gp_cleanup() be noinline for tracing (Waiman Long) [2065993] - rcutorture: Add BUSTED-BOOST to test RCU priority boosting tests (Waiman Long) [2065993] - srcu: Initialize SRCU after timers (Waiman Long) [2065993] - srcu: Unconditionally embed struct lockdep_map (Waiman Long) [2065993] - rcutorture: Forgive RCU boost failures when CPUs don't pass through QS (Waiman Long) [2065993] - rcutorture: Test start_poll_synchronize_rcu() and poll_state_synchronize_rcu() (Waiman Long) [2065993] - rcu: Provide polling interfaces for Tree RCU grace periods (Waiman Long) [2065993] - rcutorture: Make rcu_torture_boost_failed() check for GP end (Waiman Long) [2065993] - rcutorture: Consolidate rcu_torture_boost() timing and statistics (Waiman Long) [2065993] - rcutorture: Delay-based false positives for RCU priority boosting tests (Waiman Long) [2065993] - rcu: Restrict RCU_STRICT_GRACE_PERIOD to at most four CPUs (Waiman Long) [2065993] - rcu: Make show_rcu_gp_kthreads() dump rcu_node structures blocking GP (Waiman Long) [2065993] - rcu: Add quiescent states and boost states to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - rcu: Make RCU priority boosting work on single-CPU rcu_node structures (Waiman Long) [2065993] - rcu: Reject RCU_LOCKDEP_WARN() false positives (Waiman Long) [2065993] - lockdep: Explicitly flag likely false-positive report (Waiman Long) [2065993] - rcu: Add ->gp_max to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - rcu: Add ->rt_priority and ->gp_start to show_rcu_gp_kthreads() output (Waiman Long) [2065993] - srcu: Remove superfluous sdp->srcu_lock_count zero filling (Waiman Long) [2065993] - srcu: Remove superfluous ssp initialization for early callbacks (Waiman Long) [2065993] - torture: Set kvm.sh language to English (Waiman Long) [2065993] - torture: Correctly fetch number of CPUs for non-English languages (Waiman Long) [2065993] - rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread() (Waiman Long) [2065993] - rcutorture: Judge RCU priority boosting on grace periods, not callbacks (Waiman Long) [2065993] - sched,rcutorture: Convert to sched_set_fifo_low() (Waiman Long) [2065993] - rcu: Improve tree.c comments and add code cleanups (Waiman Long) [2065993] - rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter() (Waiman Long) [2065993] - rcu: Remove the unused rcu_irq_exit_preempt() function (Waiman Long) [2065993] - torture: Make kvm-find-errors.sh account for kvm-remote.sh (Waiman Long) [2065993] - torture: Make the build machine control N in "make -jN" (Waiman Long) [2065993] - torture: Make kvm.sh use abstracted kvm-end-run-stats.sh (Waiman Long) [2065993] - torture: Abstract end-of-run summary (Waiman Long) [2065993] - rcu: Fix typo in comment: kthead -> kthread (Waiman Long) [2065993] - rcutorture: Abstract read-lock-held checks (Waiman Long) [2065993] - refscale: Add acqrel, lock, and lock-irq (Waiman Long) [2065993] - torture: Add kvm-remote.sh script for distributed rcutorture test runs (Waiman Long) [2065993] - refscale: Allow CPU hotplug to be enabled (Waiman Long) [2065993] - torture: Make kvm-again.sh use "scenarios" rather than "batches" file (Waiman Long) [2065993] - torture: Add "scenarios" option to kvm.sh --dryrun parameter (Waiman Long) [2065993] - rcu-tasks: Add block comment laying out RCU Rude design (Waiman Long) [2065993] - torture: Fix remaining erroneous torture.sh instance of $* (Waiman Long) [2065993] - rcu/tree: Add a trace event for RCU CPU stall warnings (Waiman Long) [2065993] - torture: Fix kvm.sh --datestamp regex check (Waiman Long) [2065993] - rcu: Add explicit barrier() to __rcu_read_unlock() (Waiman Long) [2065993] - rcu-tasks: Add block comment laying out RCU Tasks Trace design (Waiman Long) [2065993] - rcu: Make nocb_nobypass_lim_per_jiffy static (Waiman Long) [2065993] - torture: Consolidate qemu-cmd duration editing into kvm-transform.sh (Waiman Long) [2065993] - torture: Print proper vmlinux path for kvm-again.sh runs (Waiman Long) [2065993] - torture: Make TORTURE_TRUST_MAKE available in kvm-again.sh environment (Waiman Long) [2065993] - docs: Correctly spell Stephen Hemminger's name (Waiman Long) [2065993] - rcu/nocb: Use the rcuog CPU's ->nocb_timer (Waiman Long) [2065993] - rcu/nocb: Move trace_rcu_nocb_wake() calls outside nocb_lock when possible (Waiman Long) [2065993] - rcu/nocb: Remove stale comment above rcu_segcblist_offload() (Waiman Long) [2065993] - rcu/nocb: Disable bypass when CPU isn't completely offloaded (Waiman Long) [2065993] - rcu/nocb: Fix missed nocb_timer requeue (Waiman Long) [2065993] - rcu/nocb: Trigger self-IPI on late deferred wake up before user resume (Waiman Long) [2065993] - torture: Make kvm-transform.sh update jitter commands (Waiman Long) [2065993] - torture: Add --duration argument to kvm-again.sh (Waiman Long) [2065993] - rcu: deprecate "all" option to rcu_nocbs= (Waiman Long) [2065993] - torture: Rename SRCU-t and SRCU-u to avoid lowercase characters (Waiman Long) [2065993] - torture: Add kvm-again.sh to rerun a previous torture-test (Waiman Long) [2065993] - torture: Create a "batches" file for build reuse (Waiman Long) [2065993] - torture: De-capitalize TORTURE_SUITE (Waiman Long) [2065993] - rcuscale: Add kfree_rcu() single-argument scale test (Waiman Long) [2065993] - torture: Make upper-case-only no-dot no-slash scenario names official (Waiman Long) [2065993] - torture: Remove no-mpstat error message (Waiman Long) [2065993] - torture: Record kvm-test-1-run.sh and kvm-test-1-run-qemu.sh PIDs (Waiman Long) [2065993] - torture: Record jitter start/stop commands (Waiman Long) [2065993] - softirq: Don't try waking ksoftirqd before it has been spawned (Waiman Long) [2065993] - torture: Extract kvm-test-1-run-qemu.sh from kvm-test-1-run.sh (Waiman Long) [2065993] - torture: Record TORTURE_KCONFIG_GDB_ARG in qemu-cmd (Waiman Long) [2065993] - torture: Abstract jitter.sh start/stop into scripts (Waiman Long) [2065993] - torture: Reverse jittering and duration parameters for jitter.sh (Waiman Long) [2065993] - torture: Eliminate jitter_pids file (Waiman Long) [2065993] - torture: Use "jittering" file to control jitter.sh execution (Waiman Long) [2065993] - torture: Use file-based protocol to mark batch's runs complete (Waiman Long) [2065993] - torture: Move build/run synchronization files into scenario directories (Waiman Long) [2065993] - torture: Make jitter.sh handle large systems (Waiman Long) [2065993] - torture: Improve readability of the testid.txt file (Waiman Long) [2065993] - torture: Provide bare-metal modprobe-based advice (Waiman Long) [2065993] - kvfree_rcu: Use same set of GFP flags as does single-argument (Waiman Long) [2065993] - kvfree_rcu: Replace __GFP_RETRY_MAYFAIL by __GFP_NORETRY (Waiman Long) [2065993] - torture: Allow 1G of memory for torture.sh kvfree testing (Waiman Long) [2065993] - torture: Do Kconfig analysis only once per scenario (Waiman Long) [2065993] - torture: Compress KASAN vmlinux files (Waiman Long) [2065993] - torture: Add --kcsan-kmake-arg to torture.sh for KCSAN (Waiman Long) [2065993] - torture: Add command and results directory to torture.sh log (Waiman Long) [2065993] - torture: Allow scenarios to be specified to torture.sh (Waiman Long) [2065993] - torture: Drop log.long generation from torture.sh (Waiman Long) [2065993] - torture: Make torture.sh refuse to do zero-length runs (Waiman Long) [2065993] - torture: Make torture.sh throttle VERBOSE_TOROUT_*() for refscale (Waiman Long) [2065993] - torture: Make torture.sh allmodconfig retain and label output (Waiman Long) [2065993] - torture: Create doyesno helper function for torture.sh (Waiman Long) [2065993] - torture: Make torture.sh refscale runs use verbose_batched module parameter (Waiman Long) [2065993] - torture: Make torture.sh rcuscale and refscale deal with allmodconfig (Waiman Long) [2065993] - torture: Enable torture.sh argument checking (Waiman Long) [2065993] - torture: Auto-size SCF and scaling runs based on number of CPUs (Waiman Long) [2065993] - torture: Add "make allmodconfig" to torture.sh (Waiman Long) [2065993] - torture: Remove use of "eval" in torture.sh (Waiman Long) [2065993] - torture: Make torture.sh use common time-duration bash functions (Waiman Long) [2065993] - torture: Add torture.sh torture-everything script (Waiman Long) [2065993] - refscale: Disable verbose torture-test output (Waiman Long) [2065993] - rcuscale: Disable verbose torture-test output (Waiman Long) [2065993] - rcu/nocb: Rename nocb_gp_update_state to nocb_gp_update_state_deoffloading (Waiman Long) [2065993] - rcu/nocb: Avoid confusing double write of rdp->nocb_cb_sleep (Waiman Long) [2065993] - rcu/nocb: Only (re-)initialize segcblist when needed on CPU up (Waiman Long) [2065993] - rcu/nocb: Forbid NOCB toggling on offline CPUs (Waiman Long) [2065993] - rcu/nocb: Comment the reason behind BH disablement on batch processing (Waiman Long) [2065993] - rcu: Make rcu_read_unlock_special() expedite strict grace periods (Waiman Long) [2065993] - rcu-tasks: Rectify kernel-doc for struct rcu_tasks (Waiman Long) [2065993] - rcutorture: Replace rcu_torture_stall string with s (Waiman Long) [2065993] - torture: Replace torture_init_begin string with s (Waiman Long) [2065993] - rcutorture: Use "all" and "N" in "nohz_full" and "rcu_nocbs" (Waiman Long) [2065993] - kvfree_rcu: Make krc_this_cpu_unlock() use raw_spin_unlock_irqrestore() (Waiman Long) [2065993] - kvfree_rcu: Use __GFP_NOMEMALLOC for single-argument kvfree_rcu() (Waiman Long) [2065993] - kvfree_rcu: Directly allocate page for single-argument case (Waiman Long) [2065993] - rcutorture: Fix testing of RCU priority boosting (Waiman Long) [2065993] - rculist: Replace reference to atomic_ops.rst (Waiman Long) [2065993] - rcutorture: Make TREE03 use real-time tree.use_softirq setting (Waiman Long) [2065993] - rcu: Expedite deboost in case of deferred quiescent state (Waiman Long) [2065993] - rcu: Fix CPU-offline trace in rcutree_dying_cpu (Waiman Long) [2065993] - rcu: Remove superfluous rdp fetch (Waiman Long) [2065993] - torturescript: Don't rerun failed rcutorture builds (Waiman Long) [2065993] - rcutorture: Add crude tests for mem_dump_obj() (Waiman Long) [2065993] - mm: Don't build mm_dump_obj() on CONFIG_PRINTK=n kernels (Waiman Long) [2065993] - rcu/nocb: Detect unsafe checks for offloaded rdp (Waiman Long) [2065993] - sched/pelt: Fix attach_entity_load_avg() corner case (Phil Auld) [2056383] - devlink: Clarifies max_macs generic devlink param (Petr Oros) [2076586] - devlink: Add new "event_eq_size" generic device param (Petr Oros) [2076586] - devlink: Add new "io_eq_size" generic device param (Petr Oros) [2076586] - devlink: fix netns refcount leak in devlink_nl_cmd_reload() (Petr Oros) [2076586] - devlink: Simplify devlink resources unregister call (Petr Oros) [2076586] - devlink: Remove misleading internal_flags from health reporter dump (Petr Oros) [2076586] - devlink: Don't throw an error if flash notification sent before devlink visible (Petr Oros) [2076586] - devlink: fix flexible_array.cocci warning (Petr Oros) [2076586] - devlink: expose get/put functions (Petr Oros) [2076586] - devlink: make all symbols GPL-only (Petr Oros) [2076586] - devlink: Simplify internal devlink params implementation (Petr Oros) [2076586] - devlink: Clean not-executed param notifications (Petr Oros) [2076586] - devlink: Delete obsolete parameters publish API (Petr Oros) [2076586] - devlink: Remove extra device_lock assert checks (Petr Oros) [2076586] - devlink: Delete reload enable/disable interface (Petr Oros) [2076586] - devlink: Allow control devlink ops behavior through feature mask (Petr Oros) [2076586] - devlink: Annotate devlink API calls (Petr Oros) [2076586] - devlink: Move netdev_to_devlink helpers to devlink.c (Petr Oros) [2076586] - devlink: Reduce struct devlink exposure (Petr Oros) [2076586] - devlink: report maximum number of snapshots with regions (Petr Oros) [2076586] - devlink: Add missed notifications iterators (Petr Oros) [2076586] - netdevsim: Move devlink registration to be last devlink command (Petr Oros) [2076586] - qed: Move devlink registration to be last devlink command (Petr Oros) [2076586] - ionic: Move devlink registration to be last devlink command (Petr Oros) [2076586] - nfp: Move delink_register to be last command (Petr Oros) [2076586] - mlxsw: core: Register devlink instance last (Petr Oros) [2076586] - net/mlx5: Accept devlink user input after driver initialization complete (Petr Oros) [2076586] - net/mlx4: Move devlink_register to be the last initialization command (Petr Oros) [2076586] - ice: Open devlink when device is ready (Petr Oros) [2076586] - liquidio: Overcome missing device lock protection in init/remove flows (Petr Oros) [2076586] - bnxt_en: Register devlink instance at the end devlink configuration (Petr Oros) [2076586] - devlink: Notify users when objects are accessible (Petr Oros) [2076586] - devlink: Remove single line function obfuscations (Petr Oros) [2076586] - devlink: Delete not used port parameters APIs (Petr Oros) [2076586] - bnxt_en: Properly remove port parameter support (Petr Oros) [2076586] - bnxt_en: Check devlink allocation and registration status (Petr Oros) [2076586] - devlink: Make devlink_register to be void (Petr Oros) [2076586] - devlink: Delete not-used devlink APIs (Petr Oros) [2076586] - devlink: Delete not-used single parameter notification APIs (Petr Oros) [2076586] - devlink: Use xarray to store devlink instances (Petr Oros) [2076586] - devlink: Count struct devlink consumers (Petr Oros) [2076586] - devlink: Remove check of always valid devlink pointer (Petr Oros) [2076586] - devlink: Simplify devlink_pernet_pre_exit call (Petr Oros) [2076586] - devlink: Add APIs to publish, unpublish individual parameter (Petr Oros) [2076586] - devlink: Add API to register and unregister single parameter (Petr Oros) [2076586] - devlink: Create a helper function for one parameter registration (Petr Oros) [2076586] - devlink: Fix port_type_set function pointer check (Petr Oros) [2076586] - devlink: Set device as early as possible (Petr Oros) [2076586] - devlink: Simplify devlink port API calls (Petr Oros) [2076586] - devlink: Allocate devlink directly in requested net namespace (Petr Oros) [2076586] - devlink: Break parameter notification sequence to be before/after unload/load driver (Petr Oros) [2076586] - devlink: Remove duplicated registration check (Petr Oros) [2076586] - net/mlx5: Don't rely on always true registered field (Petr Oros) [2076586] - devlink: Unlock on error in dumpit() (Petr Oros) [2076586] - devlink: Fix some error codes (Petr Oros) [2076586] - net: devlink: Add support for port regions (Petr Oros) [2076586] - netdevsim: Forbid devlink reload when adding or deleting ports (Petr Oros) [2076586] - netdevsim: dev: Initialize FIB module after debugfs (Petr Oros) [2076586] - pidfd: fix a poll race when setting exit_state (Oleg Nesterov) [2044587] - fork: fix pidfd_poll()'s return type (Oleg Nesterov) [2044587] - pidfd: add polling support (Oleg Nesterov) [2044587] - kabi: introduce the kabi_aux_*() helpers (Oleg Nesterov) [2044587] - tg3: Remove redundant assignments (Ken Cox) [2043792] - ethernet: Remove redundant statement (Ken Cox) [2043792] - ethernet: tg3: remove direct netdev->dev_addr writes (Ken Cox) [2043792] - net: tg3: fix redundant check of true expression (Ken Cox) [2043792] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ken Cox) [2043792] - net: ethernet: Use existing define with polynomial (Ken Cox) [2043792]- scsi: mpt3sas: Fix mpt3sas_check_same_4gb_region() kdoc comment (Tomas Henzl) [2068045] - scsi: mpt3sas: Fix incorrect 4GB boundary check (Tomas Henzl) [2068045] - genirq/affinity: Consider that CPUs on nodes can be unbalanced (Ming Lei) [2074317] - scsi: target: pscsi: Set SCF_TREAT_READ_AS_NORMAL flag only if there is valid data (Maurizio Lombardi) [2074246] - audit: don't deref the syscall args when checking the openat2 open_how::flags (Carlos Maiolino) [2026590] - audit: add OPENAT2 record to list "how" info (Carlos Maiolino) [2026590] - audit: add support for the openat2 syscall (Carlos Maiolino) [2026590] - audit: replace magic audit syscall class numbers with macros (Carlos Maiolino) [2026590] - tools include UAPI: Sync x86's syscalls_64.tbl, generic unistd.h and fcntl.h to pick up openat2 and pidfd_getfd (Carlos Maiolino) [2026590] - open: don't silently ignore unknown O-flags in openat2() (Carlos Maiolino) [2026590] - openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT (Carlos Maiolino) [2026590] - open: introduce openat2(2) syscall (Carlos Maiolino) [2026590] - namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_IN_ROOT: chroot-like scoped resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_BENEATH: O_BENEATH-like scoped resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_XDEV: block mountpoint crossing (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_MAGICLINKS: block magic-link resolution (Carlos Maiolino) [2026590] - namei: LOOKUP_NO_SYMLINKS: block symlink resolution (Carlos Maiolino) [2026590] - namei: allow set_root() to produce errors (Carlos Maiolino) [2026590] - namei: allow nd_jump_link() to produce errors (Carlos Maiolino) [2026590] - nsfs: clean-up ns_get_path() signature to return int (Carlos Maiolino) [2026590] - namei: only return -ECHILD from follow_dotdot_rcu() (Carlos Maiolino) [2026590] - make path_init() unconditionally paired with terminate_walk() (Carlos Maiolino) [2026590] - nsfs: unobfuscate (Carlos Maiolino) [2026590] - ASoC: Intel: soc-acpi: add entries in ADL match table (Jaroslav Kysela) [2052011] - nvme-fc: add support for ->map_queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix typos in comments (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.400-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Increase max limit of ql2xnvme_queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Use correct feature type field during RFF_ID processing (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix stuck session of PRLI reject (Nilesh Javali) [2044833] - scsi: qla2xxx: Reduce false trigger to login (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix laggy FC remote port session recovery (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix hang due to session stuck (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix N2N inconsistent PLOGI (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix crash during module load unload test (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix loss of NVMe namespaces after driver reload test (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix incorrect reporting of task management failure (Nilesh Javali) [2044833] - scsi: qla2xxx: Use named initializers for q_dev_state (Nilesh Javali) [2044833] - scsi: qla2xxx: Use named initializers for port_[d]state_str (Nilesh Javali) [2044833] - scsi: qla2xxx: Stop using the SCSI pointer (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove unused qla_sess_op_cmd_list from scsi_qla_host_t (Nilesh Javali) [2044833] - scsi: qla2xxx: Add qla2x00_async_done() for async routines (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.300-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Check for firmware dump already collected (Nilesh Javali) [2044833] - scsi: qla2xxx: Add devids and conditionals for 28xx (Nilesh Javali) [2044833] - scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair() (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix clang warning (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix warning for missing error code (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix device reconnect in loop topology (Nilesh Javali) [2044833] - scsi: qla2xxx: Add ql2xnvme_queues module param to configure number of NVMe queues (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix wrong FDMI data for 64G adapter (Nilesh Javali) [2044833] - scsi: qla2xxx: Add retry for exec firmware (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix scheduling while atomic (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix premature hw access after PCI error (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix warning message due to adisc being flushed (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix stuck session in gpdb (Nilesh Javali) [2044833] - scsi: qla2xxx: Implement ref count for SRB (Nilesh Javali) [2044833] - scsi: qla2xxx: Refactor asynchronous command initialization (Nilesh Javali) [2044833] - scsi: qla2xxx: Synchronize rport dev_loss_tmo setting (Nilesh Javali) [2044833] - scsi: qla2xxx: Format log strings only if needed (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.200-k (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix EDIF bsg (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix inconsistent check of db_flags (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Increase ELS payload (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Reduce connection thrash (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Tweak trace message (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Replace list_for_each_safe with list_for_each_entry_safe (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Flush stale events and msgs on session down (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix app start delay (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Fix app start fail (Nilesh Javali) [2044833] - scsi: qla2xxx: Turn off target reset during issue_lip (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix gnl list corruption (Nilesh Javali) [2044833] - scsi: qla2xxx: Relogin during fabric disturbance (Nilesh Javali) [2044833] - qla2xxx: add ->map_queues support for nvme (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix unmap of already freed sgl (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix a memory leak in an error path of qla2x00_process_els() (Nilesh Javali) [2044833] - scsi: qla2xxx: Return -ENOMEM if kzalloc() fails (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove a declaration (Nilesh Javali) [2044833] - scsi: target: qla2xxx: Replace enable attr with ops.enable (Nilesh Javali) [2044833] - scsi: qla2xxx: Restore initiator in dual mode (Nilesh Javali) [2044833] - scsi: qla2xxx: Remove redundant initialization of pointer req (Nilesh Javali) [2044833] - scsi: qla2xxx: Update version to 10.02.07.100-k (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix use after free in eh_abort path (Nilesh Javali) [2044833] - scsi: qla2xxx: Move heartbeat handling from DPC thread to workqueue (Nilesh Javali) [2044833] - scsi: qla2xxx: Call process_response_queue() in Tx path (Nilesh Javali) [2044833] - scsi: qla2xxx: edif: Use link event to wake up app (Nilesh Javali) [2044833] - scsi: qla2xxx: Fix crash in NVMe abort path (Nilesh Javali) [2044833] - scsi: qla2xxx: Check for firmware capability before creating QPair (Nilesh Javali) [2044833] - scsi: qla2xxx: Display 16G only as supported speeds for 3830c card (Nilesh Javali) [2044833] - scsi: qla2xxx: Indicate correct supported speeds for Mezz card (Nilesh Javali) [2044833] - scsi: qla2xxx: Add support for mailbox passthru (Nilesh Javali) [2044833] - scsi: qla2xxx: Open-code qla2xxx_eh_device_reset() (Nilesh Javali) [2044833] - scsi: qla2xxx: Open-code qla2xxx_eh_target_reset() (Nilesh Javali) [2044833] - scsi: qla2xxx: Do not call fc_block_scsi_eh() during bus reset (Nilesh Javali) [2044833] - sctp: count singleton chunks in assoc user stats (Jamie Bainbridge) [2073913] - hrtimer: Unbreak hrtimer_force_reprogram() (Fernando Pacheco) [2071776] - hrtimer: Use raw_cpu_ptr() in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Avoid more SMP function calls in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Avoid unnecessary SMP function calls in clock_was_set() (Fernando Pacheco) [2071776] - hrtimer: Add bases argument to clock_was_set() (Fernando Pacheco) [2071776] - time/timekeeping: Avoid invoking clock_was_set() twice (Fernando Pacheco) [2071776] - timekeeping: Distangle resume and clock-was-set events (Fernando Pacheco) [2071776] - timerfd: Provide timerfd_resume() (Fernando Pacheco) [2071776] - hrtimer: Force clock_was_set() handling for the HIGHRES=n, NOHZ=y case (Fernando Pacheco) [2071776] - hrtimer: Ensure timerfd notification for HIGHRES=n (Fernando Pacheco) [2071776] - hrtimer: Consolidate reprogramming code (Fernando Pacheco) [2071776] - hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns() (Fernando Pacheco) [2071776] - hrtimer: Update softirq_expires_next correctly after __hrtimer_get_next_event() (Fernando Pacheco) [2071776] - hrtimer: Annotate lockless access to timer->state (Fernando Pacheco) [2071776] - drm/i915/display: Remove check for low voltage sku for max dp source rate (Jocelyn Falempe) [2063931] - s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() (Philipp Rudo) [2039278] - s390/kexec_file: fix error handling when applying relocations (Philipp Rudo) [2039278] - s390/kexec_file: print some more error messages (Philipp Rudo) [2039278] - ixgbe: respect metadata on XSK Rx to skb (Ken Cox) [2037952] - ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb (Ken Cox) [2037952] - ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly (Ken Cox) [2037952] - ixgbe: Remove useless DMA-32 fallback configuration (Ken Cox) [2037952] - ixgbe: switch to napi_build_skb() (Ken Cox) [2037952] - ixgbe: set X550 MDIO speed before talking to PHY (Ken Cox) [2037952] - ixgbe: Document how to enable NBASE-T support (Ken Cox) [2037952] - xsk: Wipe out dead zero_copy_allocator declarations (Ken Cox) [2037952] - ixgbe: let the xdpdrv work with more than 64 cpus (Ken Cox) [2037952] - scsi: fcoe: Fix I/O path allocation (Ken Cox) [2037952] - ixgbe: extend PTP gettime function to read system clock (Ken Cox) [2037952] - ixgbe: Replace GFP_ATOMIC with GFP_KERNEL (Ken Cox) [2037952] - net: mpls: Fix notifications when deleting a device (Guillaume Nault) [2081757]- sched/cputime, proc/stat: Fix incorrect guest nice cpustat value (Waiman Long) [2017382] - procfs: Use all-in-one vtime aware kcpustat accessor (Waiman Long) [2017382] - procfs: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM (Waiman Long) [2017382] - proc: read kernel cpu stat pointer once (Waiman Long) [2017382] - proc: use "unsigned int" in /proc/stat hook (Waiman Long) [2017382] - sched/cputime: Support other fields on kcpustat_field() (Waiman Long) [2017382] - sched/cputime: Add vtime guest task state (Waiman Long) [2017382] - sched/cputime: Add vtime idle task state (Waiman Long) [2017382] - sched/cputime: Spare a seqcount lock/unlock cycle on context switch (Waiman Long) [2017382] - sched/vtime: Move task_struct_rh->vtime_cpu back to vtime structure (Waiman Long) [2017382] - usb: xhci-plat: fix crash when suspend if remote wake enable (Mark Langsdorf) [2065730] - PM: domains: Improve runtime PM performance state handling (Mark Langsdorf) [2065730] - firmware_loader: fix use-after-free in firmware_fallback_sysfs (Mark Langsdorf) [2065730] - firmware_loader: use -ETIMEDOUT instead of -EAGAIN in fw_load_sysfs_fallback (Mark Langsdorf) [2065730] - driver core: Prevent warning when removing a device link from unregistered consumer (Mark Langsdorf) [2065730] - PM: domains: Shrink locking area of the gpd_list_lock (Mark Langsdorf) [2065730] - PM: sleep: Use ktime_us_delta() in initcall_debug_report() (Mark Langsdorf) [2065730] - driver core: Export device_driver_attach() (Mark Langsdorf) [2065730] - driver core: Don't return EPROBE_DEFER to userspace during sysfs bind (Mark Langsdorf) [2065730] - driver core: Flow the return code from ->probe() through to sysfs bind (Mark Langsdorf) [2065730] - driver core: Better distinguish probe errors in really_probe (Mark Langsdorf) [2065730] - driver core: Pull required checks into driver_probe_device() (Mark Langsdorf) [2065730] - driver core: add a helper to setup both the of_node and fwnode of a device (Mark Langsdorf) [2065730] - devres: Enable trace events (Mark Langsdorf) [2065730] - devres: No need to call remove_nodes() when there none present (Mark Langsdorf) [2065730] - devres: Use list_for_each_safe_from() in remove_nodes() (Mark Langsdorf) [2065730] - devres: Make locking straight forward in release_nodes() (Mark Langsdorf) [2065730] - regmap: mdio: Reject invalid addresses (Mark Langsdorf) [2065730] - regmap: mdio: Fix regmap_bus pointer constness (Mark Langsdorf) [2065730] - PM: runtime: Allow unassigned ->runtime_suspend|resume callbacks (Mark Langsdorf) [2065730] - PM: runtime: Improve path in rpm_idle() when no callback (Mark Langsdorf) [2065730] - PM: domains: Drop/restore performance state votes for devices at runtime PM (Mark Langsdorf) [2065730] - PM: domains: Return early if perf state is already set for the device (Mark Langsdorf) [2065730] - PM: domains: Split code in dev_pm_genpd_set_performance_state() (Mark Langsdorf) [2065730] - PM: domains: fix some kernel-doc issues (Mark Langsdorf) [2065730] - regmap: mdio: Add clause-45 support (Mark Langsdorf) [2065730] - regmap: mdio: Clean up invalid clause-22 addresses (Mark Langsdorf) [2065730] - regmap-irq: Introduce inverted status registers support (Mark Langsdorf) [2065730] - ACPI: property: Constify stubs for CONFIG_ACPI=n case (Mark Langsdorf) [2065730] - device property: Unify access to of_node (Mark Langsdorf) [2065730] - drivers/base: Constify static attribute_group structs (Mark Langsdorf) [2065730] - devcoredump: remove contact information (Mark Langsdorf) [2065730] - component: Rename 'dev' to 'parent' (Mark Langsdorf) [2065730] - component: Drop 'dev' argument to component_match_realloc() (Mark Langsdorf) [2065730] - device property: Don't check for NULL twice in the loops (Mark Langsdorf) [2065730] - regmap: add support for 7/17 register formating (Mark Langsdorf) [2065730] - PM: wakeirq: Set IRQF_NO_AUTOEN when requesting the IRQ (Mark Langsdorf) [2065730] - drivers/base/node.c: make CACHE_ATTR define static DEVICE_ATTR_RO (Mark Langsdorf) [2065730] - regmap: mdio: Don't modify output if error happened (Mark Langsdorf) [2065730] - regmap: Add MDIO bus support (Mark Langsdorf) [2065730] - regmap-i2c: Set regmap max raw r/w from quirks (Mark Langsdorf) [2065730] - driver core: attribute_container: fix W=1 warnings (Mark Langsdorf) [2065730] - driver core: replace open-coded device_lock_assert() (Mark Langsdorf) [2065730] - device property: Retrieve fwnode from of_node via accessor (Mark Langsdorf) [2065730] - cpufreq: Kconfig: fix documentation links (Mark Langsdorf) [2065730] - PM: wakeup: remove redundant assignment to variable retval (Mark Langsdorf) [2065730] - PM / wakeup: use dev_set_name() directly (Mark Langsdorf) [2065730] - PM: clk: remove kernel-doc warning (Mark Langsdorf) [2065730] - PM: wakeup: fix kernel-doc warnings and fix typos (Mark Langsdorf) [2065730] - PM: runtime: remove kernel-doc warnings (Mark Langsdorf) [2065730] - software node: Introduce SOFTWARE_NODE_REFERENCE() helper macro (Mark Langsdorf) [2065730] - software node: Imply kobj_to_swnode() to be no-op (Mark Langsdorf) [2065730] - software node: Deduplicate code in fwnode_create_software_node() (Mark Langsdorf) [2065730] - software node: Introduce software_node_alloc()/software_node_free() (Mark Langsdorf) [2065730] - software node: Free resources explicitly when swnode_register() fails (Mark Langsdorf) [2065730] - driver core: add helper for deferred probe reason setting (Mark Langsdorf) [2065730] - driver core: Improve fw_devlink & deferred_probe_timeout interaction (Mark Langsdorf) [2065730] - driver core: Replace printf() specifier and drop unneeded casting (Mark Langsdorf) [2065730] - driver core: Cast to (void *) with __force for __percpu pointer (Mark Langsdorf) [2065730] - devcoredump: fix kernel-doc warning (Mark Langsdorf) [2065730] - platform-msi: fix kernel-doc warnings (Mark Langsdorf) [2065730] - driver core: attribute_container: remove kernel-doc warnings (Mark Langsdorf) [2065730] - driver core: remove kernel-doc warnings (Mark Langsdorf) [2065730] - base: dd: fix error return code of driver_sysfs_add() (Mark Langsdorf) [2065730] - driver core: Use unbound workqueue for deferred probes (Mark Langsdorf) [2065730] - devcoredump: avoid -Wempty-body warnings (Mark Langsdorf) [2065730] - device property: Add test cases for fwnode_property_count_*() APIs (Mark Langsdorf) [2065730] - device property: Sync descriptions of swnode array and group APIs (Mark Langsdorf) [2065730] - driver core: Update device link status properly for device_bind_driver() (Mark Langsdorf) [2065730] - driver core: Avoid pointless deferred probe attempts (Mark Langsdorf) [2065730] - drivers/base/cpu: remove redundant assignment of variable retval (Mark Langsdorf) [2065730] - driver core: dd: remove deferred_devices variable (Mark Langsdorf) [2065730] - driver core: component: remove dentry pointer in "struct master" (Mark Langsdorf) [2065730] - driver core: auxiliary bus: Remove unneeded module bits (Mark Langsdorf) [2065730] - PM: domains: Don't runtime resume devices at genpd_prepare() (Mark Langsdorf) [2065730] - redhat/configs: Add CONFIG_X86_AMD_PSTATE (Prarit Bhargava) - ACPI: CPPC: Drop redundant local variable from cpc_read() (Prarit Bhargava) [1961726] - ACPI: CPPC: Fix up I/O port access in cpc_read() (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Fix struct amd_cpudata kernel-doc comment (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add AMD P-State performance attributes (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add AMD P-State frequencies attributes (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add boost mode support for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add trace for AMD P-State module (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Introduce the support for the processors with shared memory solution (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Add fast switch function for AMD P-State (Prarit Bhargava) [1961726] - cpufreq: amd-pstate: Introduce a new AMD P-State driver to support future processors (Prarit Bhargava) [1961726] - ACPI: CPPC: Add CPPC enable register function (Prarit Bhargava) [1961726] - ACPI: CPPC: Check present CPUs for determining _CPC is valid (Prarit Bhargava) [1961726] - ACPI: CPPC: Implement support for SystemIO registers (Prarit Bhargava) [1961726] - x86/msr: Add AMD CPPC MSR definitions (Prarit Bhargava) [1961726] - x86/cpufeatures: Add AMD Collaborative Processor Performance Control feature flag (Prarit Bhargava) [1961726] - cpufreq: remove useless INIT_LIST_HEAD() (Prarit Bhargava) [1961726] - cpufreq: CPPC: Pass structure instance by reference (Prarit Bhargava) [1961726] - cpufreq: CPPC: Fix potential memleak in cppc_cpufreq_cpu_init (Prarit Bhargava) [1961726] - cpufreq: CPPC: Migrate to ->exit() callback instead of ->stop_cpu() (Prarit Bhargava) [1961726] - cpufreq: cppc: simplify default delay_us setting (Prarit Bhargava) [1961726] - cppc_cpufreq: replace per-cpu data array with a list (Prarit Bhargava) [1961726] - cppc_cpufreq: expose information on frequency domains (Prarit Bhargava) [1961726] - cppc_cpufreq: clarify support for coordination types (Prarit Bhargava) [1961726] - cppc_cpufreq: use policy->cpu as driver of frequency setting (Prarit Bhargava) [1961726] - cppc_cpufreq: simplify use of performance capabilities (Prarit Bhargava) [1961726] - cppc_cpufreq: clean up cpu, cpu_num and cpunum variable use (Prarit Bhargava) [1961726] - cppc_cpufreq: fix misspelling, code style and readability issues (Prarit Bhargava) [1961726] - cpufreq: CPPC: Reuse caps variable in few routines (Prarit Bhargava) [1961726] - cpufreq: cppc: Reorder code and remove apply_hisi_workaround variable (Prarit Bhargava) [1961726] - cpufreq: CPPC: add SW BOOST support (Prarit Bhargava) [1961726] - net/sched: act_ct: fix ref leak when switching zones (Marcelo Ricardo Leitner) [2014027] - net/sched: act_ct: Fix flow table lookup after ct clear or switching zones (Marcelo Ricardo Leitner) [2014027] - genirq: Provide new interfaces for affinity hints (Ivan Vecera) [2070044] - af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register (Xin Long) [2075181] - ipv6: make ip6_rt_gc_expire an atomic_t (Hangbin Liu) [2077365] - ipv6: fix panic when forwarding a pkt with no in6 dev (Hangbin Liu) [2077365] - net: ipv6: ensure we call ipv6_mc_down() at most once (Hangbin Liu) [2077365] - ipv6/addrconf: use a boolean to choose between UNREGISTER/DOWN (Hangbin Liu) [2077365] - ipv6/addrconf: call addrconf_ifdown with consistent values (Hangbin Liu) [2077365] - ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path (Hangbin Liu) [2077365] - ipv6: annotate accesses to fn->fn_sernum (Hangbin Liu) [2077365] - ipv6: correct comments about fib6_node sernum (Hangbin Liu) [2077365] - ipv6: fix typos in __ip6_finish_output() (Hangbin Liu) [2077365] - oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup (Nico Pache) [1778048] - KVM: PPC: Fix TCE handling for VFIO (Daniel Henrique Barboza) [2062687] - udf: Restore i_lenAlloc when inode expansion fails (Carlos Maiolino) [2054653] {CVE-2022-0617} - udf: Fix NULL ptr deref when converting from inline format (Carlos Maiolino) [2054653] {CVE-2022-0617} - net/tls: fix slab-out-of-bounds bug in decrypt_internal (Sabrina Dubroca) [2080344] - tls: fix replacing proto_ops (Sabrina Dubroca) [2080344] - net/tls: use semicolons rather than commas to separate statements (Sabrina Dubroca) [2080344] - redhat: further rpminspect tuning (Jarod Wilson)- tun: annotate access to queue->trans_start (Ivan Vecera) [2069673] - net: annotate accesses to queue->trans_start (Ivan Vecera) [2069673] - ntb_hw_amd: Add NTB PCI ID for new gen CPU (Sudheesh Mavila) [2037287] - ipmi: initialize len variable (Tony Camuso) [2069839] - ipmi: kcs: aspeed: Remove old bindings support (Tony Camuso) [2069839] - ipmi:ipmb: Add the ability to have a separate slave and master device (Tony Camuso) [2069839] - ipmi:ipmi_ipmb: Unregister the SMI on remove (Tony Camuso) [2069839] - ipmi: kcs: aspeed: Add AST2600 compatible string (Tony Camuso) [2069839] - ipmi: ssif: replace strlcpy with strscpy (Tony Camuso) [2069839] - ipmi/watchdog: Constify ident (Tony Camuso) [2069839] - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module (Tony Camuso) [2069839] - ipmi: fix initialization when workqueue allocation fails (Tony Camuso) [2069839] - ipmi: bail out if init_srcu_struct fails (Tony Camuso) [2069839] - ipmi: ssif: initialize ssif_info->client early (Tony Camuso) [2069839] - ipmi: msghandler: Make symbol 'remove_work_wq' static (Tony Camuso) [2069839] - ipmi: Move remove_work to dedicated workqueue (Tony Camuso) [2069839] - ipmi: kcs_bmc: Fix a memory leak in the error handling path of 'kcs_bmc_serio_add_device()' (Tony Camuso) [2069839] - char: ipmi: replace snprintf in show functions with sysfs_emit (Tony Camuso) [2069839] - ipmi: ipmb: fix dependencies to eliminate build error (Tony Camuso) [2069839] - ipmi:ipmb: Add OF support (Tony Camuso) [2069839] - ipmi: bt: Add ast2600 compatible string (Tony Camuso) [2069839] - ipmi: bt-bmc: Use registers directly (Tony Camuso) [2069839] - ipmi: ipmb: Fix off-by-one size check on rcvlen (Tony Camuso) [2069839] - ipmi:ssif: Use depends on, not select, for I2C (Tony Camuso) [2069839] - ipmi:ipmb: Add initial support for IPMI over IPMB (Tony Camuso) [2069839] - ipmi: Export ipmb_checksum() (Tony Camuso) [2069839] - ipmi: Check error code before processing BMC response (Tony Camuso) [2069839] - ipmi:devintf: Return a proper error when recv buffer too small (Tony Camuso) [2069839] - ipmi: Disable some operations during a panic (Tony Camuso) [2069839] - ipmi:watchdog: Set panic count to proper value on a panic (Tony Camuso) [2069839] - char: ipmi: use DEVICE_ATTR helper macro (Tony Camuso) [2069839] - ipmi: rate limit ipmi smi_event failure message (Tony Camuso) [2069839] - cifs: fix NULL ptr dereference in smb2_ioctl_query_info() (Ronnie Sahlberg) [2074316] - cifs: prevent bad output lengths in smb2_ioctl_query_info() (Ronnie Sahlberg) [2074316] - net: tcp better handling of reordering then loss cases (Marcelo Ricardo Leitner) [2074566] - tcp: tcp_mark_head_lost is only valid for sack-tcp (Marcelo Ricardo Leitner) [2074566] - udp6: allow SO_MARK ctrl msg to affect routing (Xin Long) [2066598] - ip: Fix SO_MARK in RST, ACK and ICMP packets (Xin Long) [2066598] - ip: support SO_MARK cmsg (Xin Long) [2066598] - ip: unconditionally set cork gso_size (Xin Long) [2066598] - ip: remove tx_flags from ipcm_cookie and use same logic for v4 and v6 (Xin Long) [2066598] - ipv6: fold sockcm_cookie into ipcm6_cookie (Xin Long) [2066598] - sock: sockc cookie initializer (Xin Long) [2066598] - ipv6: ipcm6_cookie initializer (Xin Long) [2066598] - ipv4: ipcm_cookie initializers (Xin Long) [2066598] - s390/kexec: fix memory leak of ipl report buffer (Lichen Liu) [2001758] - s390/kexec: fix return code handling (Lichen Liu) [2001758] - block: don't try to throttle split bio if iops limit isn't set (Ming Lei) [2027241] - block: throttle split bio in case of iops limit (Ming Lei) [2027241] - block: don't check bio in blk_throtl_dispatch_work_fn (Ming Lei) [2027241] - x86/apic/vector: Fix ordering in vector assignment (Frank Ramsay) [2076607] - mt76: mt7921e: fix possible probe failure after reboot (Íñigo Huguet) [2078877] - veth: Ensure eth header is in skb's linear part (Guillaume Nault) [1966887] - net: annotate accesses to dev->gso_max_segs (Ivan Vecera) [2080317] - net: annotate accesses to dev->gso_max_size (Ivan Vecera) [2080317] - NFS: Don't loop forever in nfs_do_recoalesce() (Scott Mayhew) [2080467] - tipc: fix the timer expires after interval 100ms (Xin Long) [2080369] - tipc: Fix end of loop tests for list_for_each_entry() (Xin Long) [2080369] - tipc: fix a bit overflow in tipc_crypto_key_rcv() (Xin Long) [2080369] - tipc: rate limit warning for received illegal binding update (Xin Long) [2080369] - net: tipc: remove unused static inlines (Xin Long) [2080369] - tipc: fix unique bearer names sanity check (Xin Long) [2080369] - net/tipc: fix missing destroy_workqueue() on error in tipc_crypto_start() (Xin Long) [2080369] - tipc: add extack messages for bearer/media failure (Xin Long) [2080369] - scsi: smartpqi: Fix unused variable pqi_pm_ops for clang (Don Brace) [2012227] - scsi: smartpqi: Update version to 2.1.14-035 (Don Brace) [2012227] - scsi: smartpqi: Fix lsscsi -t SAS addresses (Don Brace) [2012227] - scsi: smartpqi: Fix hibernate and suspend (Don Brace) [2012227] - scsi: smartpqi: Fix BUILD_BUG_ON() statements (Don Brace) [2012227] - scsi: smartpqi: Fix NUMA node not updated during init (Don Brace) [2012227] - scsi: smartpqi: Expose SAS address for SATA drives (Don Brace) [2012227] - scsi: smartpqi: Speed up RAID 10 sequential reads (Don Brace) [2012227] - scsi: smartpqi: Fix kdump issue when controller is locked up (Don Brace) [2012227] - scsi: smartpqi: Update volume size after expansion (Don Brace) [2012227] - scsi: smartpqi: Avoid drive spin-down during suspend (Don Brace) [2012227] - scsi: smartpqi: Resolve delay issue with PQI_HZ value (Don Brace) [2012227] - scsi: smartpqi: Fix a typo in func pqi_aio_submit_io() (Don Brace) [2012227] - scsi: smartpqi: Fix a name typo and cleanup code (Don Brace) [2012227] - scsi: smartpqi: Quickly propagate path failures to SCSI midlayer (Don Brace) [2012227] - scsi: smartpqi: Eliminate drive spin down on warm boot (Don Brace) [2012227] - scsi: smartpqi: Enable SATA NCQ priority in sysfs (Don Brace) [2012227] - scsi: smartpqi: Add PCI IDs (Don Brace) [2012227] - scsi: smartpqi: Fix rmmod stack trace (Don Brace) [2012227] - ibmvnic: fix race between xmit and reset (Diego Domingos) [2051354] - ibmvnic: Allow queueing resets during probe (Diego Domingos) [2051354] - ibmvnic: clear fop when retrying probe (Diego Domingos) [2051354] - ibmvnic: init init_done_rc earlier (Diego Domingos) [2051354] - ibmvnic: register netdev after init of adapter (Diego Domingos) [2051354] - ibmvnic: complete init_done on transport events (Diego Domingos) [2051354] - ibmvnic: define flush_reset_queue helper (Diego Domingos) [2051354] - ibmvnic: initialize rc before completing wait (Diego Domingos) [2051354] - ibmvnic: free reset-work-item when flushing (Diego Domingos) [2051354] - ibmvnic: schedule failover only if vioctl fails (Diego Domingos) [2051354] - net/ibmvnic: Cleanup workaround doing an EOI after partition migration (Diego Domingos) [2051354]- xfs: don't expose misaligned extszinherit hints to userspace (Brian Foster) [2072552] - xfs: correct the narrative around misaligned rtinherit/extszinherit dirs (Brian Foster) [2072552] - xfs: fix endianness issue in xfs_ag_shrink_space (Brian Foster) [2072552] - xfs: bunmapi has unnecessary AG lock ordering issues (Brian Foster) [2072552] - xfs: btree format inode forks can have zero extents (Brian Foster) [2072552] - xfs: validate extsz hints against rt extent size when rtinherit is set (Brian Foster) [2072552] - xfs: standardize extent size hint validation (Brian Foster) [2072552] - xfs: check free AG space when making per-AG reservations (Brian Foster) [2072552] - xfs: retry allocations when locality-based search fails (Brian Foster) [2072552] - xfs: adjust rt allocation minlen when extszhint > rtextsize (Brian Foster) [2072552] - iomap: remove unused private field from ioend (Brian Foster) [2072552] - xfs: don't allow log writes if the data device is readonly (Brian Foster) [2072552] - xfs: count free space btree blocks when scrubbing pre-lazysbcount fses (Brian Foster) [2072552] - xfs: update superblock counters correctly for !lazysbcount (Brian Foster) [2072552] - xfs: don't check agf_btreeblks on pre-lazysbcount filesystems (Brian Foster) [2072552] - xfs: rename struct xfs_legacy_ictimestamp (Brian Foster) [2072552] - xfs: rename xfs_ictimestamp_t (Brian Foster) [2072552] - xfs: remove xfs_quiesce_attr declaration (Brian Foster) [2072552] - xfs: remove XFS_IFEXTENTS (Brian Foster) [2072552] - xfs: remove XFS_IFINLINE (Brian Foster) [2072552] - xfs: remove XFS_IFBROOT (Brian Foster) [2072552] - xfs: only look at the fork format in xfs_idestroy_fork (Brian Foster) [2072552] - xfs: simplify xfs_attr_remove_args (Brian Foster) [2072552] - xfs: rename and simplify xfs_bmap_one_block (Brian Foster) [2072552] - xfs: move the XFS_IFEXTENTS check into xfs_iread_extents (Brian Foster) [2072552] - xfs: get rid of the ip parameter to xchk_setup_* (Brian Foster) [2072552] - xfs: move the check for post-EOF mappings into xfs_can_free_eofblocks (Brian Foster) [2072552] - xfs: move the xfs_can_free_eofblocks call under the IOLOCK (Brian Foster) [2072552] - xfs: precalculate default inode attribute offset (Brian Foster) [2072552] - xfs: default attr fork size does not handle device inodes (Brian Foster) [2072552] - xfs: inode fork allocation depends on XFS_IFEXTENT flag (Brian Foster) [2072552] - xfs: eager inode attr fork init needs attr feature awareness (Brian Foster) [2072552] - xfs: scrub: Disable check for unoptimized data fork bmbt node (Brian Foster) [2072552] - xfs: Use struct xfs_bmdr_block instead of struct xfs_btree_block to calculate root node size (Brian Foster) [2072552] - xfs: merge _xfs_dic2xflags into xfs_ip2xflags (Brian Foster) [2072552] - xfs: move the di_crtime field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_flags2 field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_flags field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_forkoff field to struct xfs_inode (Brian Foster) [2072552] - xfs: use a union for i_cowextsize and i_flushiter (Brian Foster) [2072552] - xfs: use XFS_B_TO_FSB in xfs_ioctl_setattr (Brian Foster) [2072552] - xfs: cleanup xfs_fill_fsxattr (Brian Foster) [2072552] - xfs: move the di_flushiter field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_cowextsize field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_extsize field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_nblocks field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_size field to struct xfs_inode (Brian Foster) [2072552] - xfs: move the di_projid field to struct xfs_inode (Brian Foster) [2072552] - xfs: don't clear the "dinode core" in xfs_inode_alloc (Brian Foster) [2072552] - xfs: remove the di_dmevmask and di_dmstate fields from struct xfs_icdinode (Brian Foster) [2072552] - xfs: remove the unused xfs_icdinode_has_bigtime helper (Brian Foster) [2072552] - xfs: handle crtime more carefully in xfs_bulkstat_one_int (Brian Foster) [2072552] - xfs: consistently initialize di_flags2 (Brian Foster) [2072552] - xfs: split xfs_imap_to_bp (Brian Foster) [2072552] - xfs: scrub: Remove incorrect check executed on block format directories (Brian Foster) [2072552] - xfs: add error injection for per-AG resv failure (Brian Foster) [2072552] - xfs: support shrinking unused space in the last AG (Brian Foster) [2072552] - xfs: introduce xfs_ag_shrink_space() (Brian Foster) [2072552] - xfs: hoist out xfs_resizefs_init_new_ags() (Brian Foster) [2072552] - xfs: update lazy sb counters immediately for resizefs (Brian Foster) [2072552] - xfs: __percpu_counter_compare() inode count debug too expensive (Brian Foster) [2072552] - xfs: reduce debug overhead of dir leaf/node checks (Brian Foster) [2072552] - xfs: No need for inode number error injection in __xfs_dir3_data_check (Brian Foster) [2072552] - xfs: type verification is expensive (Brian Foster) [2072552] - xfs: optimise xfs_buf_item_size/format for contiguous regions (Brian Foster) [2072552] - xfs: xfs_buf_item_size_segment() needs to pass segment offset (Brian Foster) [2072552] - xfs: reduce buffer log item shadow allocations (Brian Foster) [2072552] - xfs: initialise attr fork on inode create (Brian Foster) [2072552] - xfs: ensure xfs_errortag_random_default matches XFS_ERRTAG_MAX (Brian Foster) [2072552] - xfs: rename variable mp to parsing_mp (Brian Foster) [2072552] - xfs: rename the blockgc workqueue (Brian Foster) [2072552] - xfs: validate ag btree levels using the precomputed values (Brian Foster) [2072552] - xfs: remove return value from xchk_ag_btcur_init (Brian Foster) [2072552] - xfs: set the scrub AG number in xchk_ag_read_headers (Brian Foster) [2072552] - xfs: bail out of scrub immediately if scan incomplete (Brian Foster) [2072552] - xfs: drop freeze protection when running GETFSMAP (Brian Foster) [2072552] - selftest/powerpc: Add PAPR sysfs attributes sniff test (Steve Best) [1986183] - powerpc/pseries: Interface to represent PAPR firmware attributes (Steve Best) [1986183] - net: mana: Remove unnecessary check of cqe_type in mana_process_rx_cqe() (Mohammed Gamal) [2051719] - net: mana: Add handling of CQE_RX_TRUNCATED (Mohammed Gamal) [2051719] - RDMA/rxe: Revert changes from irqsave to bh locks (Kamal Heib) [2056499] - RDMA/rxe: Check the last packet by RXE_END_MASK (Kamal Heib) [2056499] - RDMA/rxe: Remove qp->grp_lock and qp->grp_list (Kamal Heib) [2056499] - RDMA/rxe: Remove rxe_drop_all_macst_groups (Kamal Heib) [2056499] - RDMA/rxe: Enforce IBA o10-2.2.3 (Kamal Heib) [2056499] - RDMA/rxe: Rename rxe_mc_grp and rxe_mc_elem (Kamal Heib) [2056499] - RDMA/rxe: Move rxe_mcast_attach/detach to rxe_mcast.c (Kamal Heib) [2056499] - RDMA/rxe: Move rxe_mcast_add/delete to rxe_mcast.c (Kamal Heib) [2056499] - RDMA/cma: Do not change route.addr.src_addr outside state checks (Kamal Heib) [2056499] - RDMA/ib_srp: Fix a deadlock (Kamal Heib) [2056499] - RDMA/siw: Fix broken RDMA Read Fence/Resume logic. (Kamal Heib) [2056499] - IB/cm: Release previously acquired reference counter in the cm_id_priv (Kamal Heib) [2056499] - RDMA/siw: Fix refcounting leak in siw_create_qp() (Kamal Heib) [2056499] - RDMA/ucma: Protect mc during concurrent multicast leaves (Kamal Heib) [2056499] - RDMA/cma: Use correct address when leaving multicast group (Kamal Heib) [2056499] - IB/hfi1: Fix tstats alloc and dealloc (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix AIP early init panic (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix alloc failure with larger txqueuelen (Kamal Heib) [2056499 2049845] - IB/hfi1: Fix panic with larger ipoib send_queue_size (Kamal Heib) [2056499 2049845] - all: replace find_next{,_zero}_bit with find_first{,_zero}_bit where appropriate (Kamal Heib) [2056499] - RDMA/irdma: Remove the redundant return (Kamal Heib) [2056499 2037972] - RDMA/rxe: Use the standard method to produce udp source port (Kamal Heib) [2056499] - RDMA/irdma: Make the source udp port vary (Kamal Heib) [2056499 2037972] - RDMA/core: Calculate UDP source port based on flow label or lqpn/rqpn (Kamal Heib) [2056499] - IB/iser: Align coding style across driver (Kamal Heib) [2056499] - IB/iser: Remove un-needed casting to/from void pointer (Kamal Heib) [2056499] - IB/iser: Don't suppress send completions (Kamal Heib) [2056499] - IB/iser: Rename ib_ret local variable (Kamal Heib) [2056499] - IB/iser: Fix RNR errors (Kamal Heib) [2056499] - IB/iser: Remove deprecated pi_guard module param (Kamal Heib) [2056499] - IB/mlx5: Expose NDR speed through MAD (Kamal Heib) [2056499] - RDMA/rxe: Delete deprecated module parameters interface (Kamal Heib) [2056499] - RDMA/mad: Delete duplicated init_query_mad functions (Kamal Heib) [2056499] - RDMA/rxe: Fix indentations and operators sytle (Kamal Heib) [2056499] - RDMA: Use default_groups in kobj_type (Kamal Heib) [2056499] - RDMA/rxe: Fix a typo in opcode name (Kamal Heib) [2056499] - RDMA/rxe: Remove the unused xmit_errors member (Kamal Heib) [2056499] - RDMA/rxe: Remove redundant err variable (Kamal Heib) [2056499] - RDMA/irdma: Use auxiliary_device driver data helpers (Kamal Heib) [2056499 2037972] - driver core: auxiliary bus: Add driver data helpers (Kamal Heib) [2056499] - RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry (Kamal Heib) [2056499] - RDMA/core: Let ib_find_gid() continue search even after empty entry (Kamal Heib) [2056499] - RDMA/core: Modify rdma_query_gid() to return accurate error codes (Kamal Heib) [2056499] - RDMA/rxe: Remove the unnecessary variable (Kamal Heib) [2056499] - RDMA/irdma: Fix the type used to declare a bitmap (Kamal Heib) [2056499 2037972] - RDMA/uverbs: Remove the unnecessary assignment (Kamal Heib) [2056499] - RDMA/siw: Use max() instead of doing it manually (Kamal Heib) [2056499] - RDMA/pvrdma: Use non-atomic bitmap functions when possible (Kamal Heib) [2056499] - RDMA/pvrdma: Use bitmap_zalloc() when applicable (Kamal Heib) [2056499] - IB/hfi1: Use bitmap_zalloc() when applicable (Kamal Heib) [2056499 2049845] - RDMA/siw: Use helper function to set sys_image_guid (Kamal Heib) [2056499] - RDMA/cma: Remove open coding of overflow checking for private_data_len (Kamal Heib) [2056499] - RDMA/rxe: Remove some #defines from rxe_pool.h (Kamal Heib) [2056499] - RDMA/rxe: Remove #include "rxe_loc.h" from rxe_pool.c (Kamal Heib) [2056499] - RDMA/rxe: Save object pointer in pool element (Kamal Heib) [2056499] - RDMA/rxe: Copy setup parameters into rxe_pool (Kamal Heib) [2056499] - RDMA/rxe: Cleanup rxe_pool_entry (Kamal Heib) [2056499] - RDMA/rxe: Replace irqsave locks with bh locks (Kamal Heib) [2056499] - RDMA/usnic: Clean up usnic_ib_alloc_pd() (Kamal Heib) [2056499] - RDMA/irdma: Use helper function to set GUIDs (Kamal Heib) [2056499 2037972] - RDMA/rxe: Prevent double freeing rxe_map_set() (Kamal Heib) [2056498] - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr (Kamal Heib) [2056498 2049845] - IB/hfi1: Fix early init panic (Kamal Heib) [2056498 2049845] - IB/hfi1: Insure use of smp_processor_id() is preempt disabled (Kamal Heib) [2056498 2049845] - IB/hfi1: Correct guard on eager buffer deallocation (Kamal Heib) [2056498 2049845] - RDMA: Fix use-after-free in rxe_queue_cleanup (Kamal Heib) [2056498] - RDMA/nldev: Check stat attribute before accessing it (Kamal Heib) [2056498] - IB/hfi1: Properly allocate rdma counter desc memory (Kamal Heib) [2056498 2049845] - RDMA/core: Set send and receive CQ before forwarding to the driver (Kamal Heib) [2056498] - RDMA/netlink: Add __maybe_unused to static inline in C file (Kamal Heib) [2056498] - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr (Kamal Heib) [2056498] - RDMA/irdma: optimize rx path by removing unnecessary copy (Kamal Heib) [2056498 2037972] - IB/opa_vnic: Rebranding of OPA VNIC driver to Cornelis Networks (Kamal Heib) [2056498] - IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks (Kamal Heib) [2056498 2049845] - RDMA/rxe: Make rxe_type_info static const (Kamal Heib) [2056498] - RDMA/rxe: Use 'bitmap_zalloc()' when applicable (Kamal Heib) [2056498] - RDMA/rxe: Save a few bytes from struct rxe_pool (Kamal Heib) [2056498] - RDMA/irdma: Remove the unused variable local_qp (Kamal Heib) [2056498 2037972] - RDMA/core: Fix missed initialization of rdma_hw_stats::lock (Kamal Heib) [2056498] - RDMA/irdma: Remove the unused spin lock in struct irdma_qp_uk (Kamal Heib) [2056498 2037972] - RDMA: Constify netdev->dev_addr accesses (Kamal Heib) [2056498] - RDMA/ipoib: Use dev_addr_mod() (Kamal Heib) [2056498] - RDMA/core: Use kvzalloc when allocating the struct ib_port (Kamal Heib) [2056498] - RDMA/irdma: Make irdma_uk_cq_init() return a void (Kamal Heib) [2056498 2037972] - RDMA/rxe: Convert kernel UD post send to use ah_num (Kamal Heib) [2056498] - RDMA/rxe: Lookup kernel AH from ah index in UD WQEs (Kamal Heib) [2056498] - RDMA/rxe: Replace ah->pd by ah->ibah.pd (Kamal Heib) [2056498] - RDMA/rxe: Create AH index and return to user space (Kamal Heib) [2056498] - RDMA/rxe: Change AH objects to indexed (Kamal Heib) [2056498] - RDMA/rxe: Move AV from rxe_send_wqe to rxe_send_wr (Kamal Heib) [2056498] - RDMA/irdma: Remove irdma_cqp_up_map_cmd() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_get_hw_addr() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_sc_send_lsmm_nostag() (Kamal Heib) [2056498 2037972] - RDMA/irdma: Remove irdma_uk_mw_bind() (Kamal Heib) [2056498 2037972] - RDMA: Remove redundant 'flush_workqueue()' calls (Kamal Heib) [2056498] - RDMA/iwpm: Remove redundant initialization of pointer err_str (Kamal Heib) [2056498] - RDMA/nldev: Allow optional-counter status configuration through RDMA netlink (Kamal Heib) [2056498] - RDMA/nldev: Split nldev_stat_set_mode_doit out of nldev_stat_set_doit (Kamal Heib) [2056498] - RDMA/nldev: Add support to get status of all counters (Kamal Heib) [2056498] - RDMA/counter: Add optional counter support (Kamal Heib) [2056498] - RDMA/counter: Add an is_disabled field in struct rdma_hw_stats (Kamal Heib) [2056498] - RDMA/core: Add a helper API rdma_free_hw_stats_struct (Kamal Heib) [2056498] - RDMA/bnxt_re: Fix kernel panic when trying to access bnxt_re_stat_descs (Kamal Heib) [2056499] - RDMA/counter: Add a descriptor in struct rdma_hw_stats (Kamal Heib) [2056498] - RDMA/bnxt_re: Update statistics counter name (Kamal Heib) [2056498] - RDMA/bnxt_re: Add extended statistics counters (Kamal Heib) [2056498] - RDMA/efa: CQ notifications (Kamal Heib) [2056498] - RDMA/rxe: Remove duplicate settings (Kamal Heib) [2056498] - RDMA/rxe: Set partial attributes when completion status != IBV_WC_SUCCESS (Kamal Heib) [2056498] - RDMA/rxe: Change the is_user member of struct rxe_cq to bool (Kamal Heib) [2056498] - RDMA/rxe: Remove the is_user members of struct rxe_sq/rxe_rq/rxe_srq (Kamal Heib) [2056498] - RDMA/irdma: Delete unused struct irdma_bth (Kamal Heib) [2056498 2037972] - IB/hf1: Use string_upper() instead of an open coded variant (Kamal Heib) [2056498] - RDMA/cma: Split apart the multiple uses of the same list heads (Kamal Heib) [2056498] - RDMA/rxe: Remove unused WR_READ_WRITE_OR_SEND_MASK (Kamal Heib) [2056498] - RDMA/rxe: Add MASK suffix for RXE_READ_OR_ATOMIC and RXE_WRITE_OR_SEND (Kamal Heib) [2056498] - RDMA/rxe: Add new RXE_READ_OR_WRITE_MASK (Kamal Heib) [2056498] - RDMA/hfi1: Use struct_size() and flex_array_size() helpers (Kamal Heib) [2056498 2049845] - IB/hfi1: Add ring consumer and producers traces (Kamal Heib) [2056498 2049845] - IB/hfi1: Remove atomic completion count (Kamal Heib) [2056498 2049845] - IB/hfi1: Tune netdev xmit cachelines (Kamal Heib) [2056498 2049845] - IB/hfi1: Get rid of tx priv backpointer (Kamal Heib) [2056498 2049845] - IB/hfi1: Get rid of hot path divide (Kamal Heib) [2056498 2049845] - IB/hfi1: Remove cache and embed txreq in ring (Kamal Heib) [2056498 2049845] - RDMA/rxe: Only allow invalidate for appropriate MRs (Kamal Heib) [2056498] - RDMA/rxe: Create duplicate mapping tables for FMRs (Kamal Heib) [2056498] - RDMA/rxe: Separate HW and SW l/rkeys (Kamal Heib) [2056498] - RDMA/rxe: Cleanup MR status and type enums (Kamal Heib) [2056498] - RDMA/rxe: Add memory barriers to kernel queues (Kamal Heib) [2056498] - RDMA/rxe: remove the unnecessary variable (Kamal Heib) [2056498] - RDMA/rxe: remove the redundant variable (Kamal Heib) [2056498] - RDMA/rxe: Fix wrong port_cap_flags (Kamal Heib) [2056498] - RDMA/rdmavt: Fix error code in rvt_create_qp() (Kamal Heib) [2056497 2049845] - IB/hfi1: Fix abba locking issue with sc_disable() (Kamal Heib) [2056497 2049845] - RDMA/hfi1: Fix kernel pointer leak (Kamal Heib) [2056497 2049845] - RDMA/usnic: Lock VF with mutex instead of spinlock (Kamal Heib) [2056497] - RDMA/cma: Do not change route.addr.src_addr.ss_family (Kamal Heib) [2056497] - IB/hfi1: make hist static (Kamal Heib) [2056497 2049845] - RDMA/hfi1: Convert to SPDX identifier (Kamal Heib) [2056497 2049845] - IB/rdmavt: Convert to SPDX identifier (Kamal Heib) [2056497 2049845] - RDMA/core/sa_query: Retry SA queries (Kamal Heib) [2056497] - IB/core: Remove deprecated current_seq comments (Kamal Heib) [2056497] - RDMA/efa: Rename vector field in efa_irq struct to irqn (Kamal Heib) [2056497] - RDMA/efa: Remove unused cpu field from irq struct (Kamal Heib) [2056497] - RDMA/core/sa_query: Remove unused function (Kamal Heib) [2056497] - RDMA/hfi1: Stop using seq_get_buf in _driver_stats_seq_show (Kamal Heib) [2056497 2049845] - RDMA/core: Create clean QP creations interface for uverbs (Kamal Heib) [2056497] - RDMA/core: Properly increment and decrement QP usecnts (Kamal Heib) [2056497] - RDMA/core: Configure selinux QP during creation (Kamal Heib) [2056497] - RDMA/core: Reorganize create QP low-level functions (Kamal Heib) [2056497] - RDMA/core: Remove protection from wrong in-kernel API usage (Kamal Heib) [2056497] - RDMA/core: Delete duplicated and unreachable code (Kamal Heib) [2056497] - rdma/qedr: Fix crash due to redundant release of device's qp memory (Kamal Heib) [2056497] - RDMA: Globally allocate and release QP memory (Kamal Heib) [2056497] - RDMA/mlx5: Rework custom driver QP type creation (Kamal Heib) [2056497] - RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp (Kamal Heib) [2056497] - RDMA/rdmavt: Decouple QP and SGE lists allocations (Kamal Heib) [2056497 2049845] - RDMA/efa: Remove double QP type assignment (Kamal Heib) [2056497] - RDMA/hfi1: Fix typo in comments (Kamal Heib) [2056497 2049845] - RDMA/iwpm: Rely on the rdma_nl_[un]register() to ensure that requests are valid (Kamal Heib) [2056497] - RDMA/iwpm: Remove not-needed reference counting (Kamal Heib) [2056497] - RDMA/hfi1: Convert from atomic_t to refcount_t on hfi1_devdata->user_refcount (Kamal Heib) [2056497 2049845] - IB/hfi1: Adjust pkey entry in index 0 (Kamal Heib) [2056497 2049845] - IB/hfi1: Indicate DMA wait when txq is queued for wakeup (Kamal Heib) [2056497 2049845] - RDMA/rxe: Fix types in rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Add kernel-doc comments to rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Move crc32 init code to rxe_icrc.c (Kamal Heib) [2056497] - RDMA/rxe: Fixup rxe_icrc_hdr (Kamal Heib) [2056497] - RDMA/rxe: Move rxe_crc32 to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Move ICRC generation to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Fixup rxe_send and rxe_loopback (Kamal Heib) [2056497] - RDMA/rxe: Move rxe_xmit_packet to a subroutine (Kamal Heib) [2056497] - RDMA/rxe: Move ICRC checking to a subroutine (Kamal Heib) [2056497] - IB/core: Read subnet_prefix in ib_query_port via cache. (Kamal Heib) [2056497] - IB/core: Shifting initialization of device->cache_lock (Kamal Heib) [2056497] - IB/core: Updating cache for subnet_prefix in config_non_roce_gid_cache() (Kamal Heib) [2056497] - RDMA/efa: Split hardware stats to device and port stats (Kamal Heib) [2056497] - RDMA/rxe: Remove the repeated 'mr->umem = umem' (Kamal Heib) [2056497] - RDMA/siw: Convert siw_tx_hdt() to kmap_local_page() (Kamal Heib) [2056497] - RDMA/siw: Remove kmap() (Kamal Heib) [2056497] - treewide: Add missing semicolons to __assign_str uses (Kamal Heib) [2056497] - RDMA/hfi1: Remove use of kmap() (Kamal Heib) [2056497 2049845] - RDMA: Delete not-used static inline functions (Kamal Heib) [2056497] - mm/page_owner.c: record tgid (Waiman Long) [2069294] - mm/page_owner: record task command name (Waiman Long) [2069294] - mm/page_owner: print memcg information (Waiman Long) [2069294] - mm/page_owner: use scnprintf() to avoid excessive buffer overrun check (Waiman Long) [2069294] - lib/vsprintf: avoid redundant work with 0 size (Waiman Long) [2069294] - lib, stackdepot: add helper to print stack entries into buffer (Waiman Long) [2069294] - lib, stackdepot: add helper to print stack entries (Waiman Long) [2069294] - lib, stackdepot: check stackdepot handle before accessing slabs (Waiman Long) [2069294] - stacktrace: move filter_irq_stacks() to kernel/stacktrace.c (Waiman Long) [2069294] - lib/stackdepot: introduce __stack_depot_save() (Waiman Long) [2069294] - mm: introduce PAGEFLAGS_MASK to replace ((1UL << NR_PAGEFLAGS) - 1) (Waiman Long) [2069294] - mm/page_owner: constify dump_page_owner (Waiman Long) [2069294] - mm: page_owner: detect page_owner recursion via task_struct (Waiman Long) [2069294] - mm: page_owner: use kstrtobool() to parse bool option (Waiman Long) [2069294] - mm: page_owner: fetch backtrace only for tracked pages (Waiman Long) [2069294] - mm, page_owner: remove unused parameter in __set_page_owner_handle (Waiman Long) [2069294] - mm/page_owner: record the timestamp of all pages during free (Waiman Long) [2069294] - mm/page_owner: use helper function zone_end_pfn() to get end_pfn (Waiman Long) [2069294] - mm/page_owner: record timestamp and pid (Waiman Long) [2069294] - x86/platform/uv: Log gap hole end size (Frank Ramsay) [2074098] - x86/platform/uv: Update TSC sync state for UV5 (Frank Ramsay) [2074098] - x86/platform/uv: Update NMI Handler for UV5 (Frank Ramsay) [2074098] - x86/platform/uv: Remove unused variable in UV5 NMI handler (Frank Ramsay) [2074098] - timekeeping: Boot should be boottime for coarse ns accessor (Ivan Vecera) [2076879]- net_tstamp: define new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX (Petr Oros) [2070041] - net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX (Petr Oros) [2070041] - net: fix NULL pointer reference in cipso_v4_doi_free (Guillaume Nault) [2074597] - partitions/efi: Fix partition name parsing in GUID partition entry (Ming Lei) [2075085] - psi: Fix uaf issue when psi trigger is destroyed while being polled (Waiman Long) [2046396] - cgroup/cpuset: Make child cpusets restrict parents on v1 hierarchy (Waiman Long) [2046396] - cgroup/cpuset: Don't let child cpusets restrict parent in default hierarchy (Waiman Long) [2046396] - mm/page_alloc: detect allocation forbidden by cpuset and bail out early (Waiman Long) [2046396] - cgroup: Fix rootcg cpu.stat guest double counting (Waiman Long) [2046396] - cgroup: no need for cgroup_mutex for /proc/cgroups (Waiman Long) [2046396] - cgroup: remove cgroup_mutex from cgroupstats_build (Waiman Long) [2046396] - cgroup: Fix memory leak caused by missing cgroup_bpf_offline (Waiman Long) [2046396] - cgroup: cgroup-v1: do not exclude cgrp_dfl_root (Waiman Long) [2046396] - bpf, test, cgroup: Use sk_{alloc,free} for test cases (Waiman Long) [2046396] - bpf, cgroup: Assign cgroup in cgroup_sk_alloc when called from interrupt (Waiman Long) [2046396] - bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode (Waiman Long) [2046396] - cgroup/cpuset: Change references of cpuset_mutex to cpuset_rwsem (Waiman Long) [2046396] - cgroup: Replace deprecated CPU-hotplug functions. (Waiman Long) [2046396] - cgroup/cpuset: Fix a partition bug with hotplug (Waiman Long) [2046396] - cgroup/cpuset: Miscellaneous code cleanup (Waiman Long) [2046396] - cgroup/cpuset: fix typos in comments (Waiman Long) [2046396] - enable DAMON configs (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/reclaim: document statistics parameters (Chris von Recklinghausen) [2004233] - mm/damon: hide kernel pointer from tracepoint event (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove an unnecessary variable (Chris von Recklinghausen) [2004233] - mm/damon: move the implementation of damon_insert_region to damon.h (Chris von Recklinghausen) [2004233] - mm/damon: add access checking for hugetlb pages (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for schemes statistics (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support all DAMOS stats (Chris von Recklinghausen) [2004233] - mm/damon/reclaim: provide reclamation statistics (Chris von Recklinghausen) [2004233] - mm/damon/schemes: account how many times quota limit has exceeded (Chris von Recklinghausen) [2004233] - mm/damon/schemes: account scheme actions that successfully applied (Chris von Recklinghausen) [2004233] - mm/damon: remove a mistakenly added comment for a future feature (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for kdamond_pid and (mk|rm)_contexts (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: mention tracepoint at the beginning (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: remove redundant information (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/usage: update for scheme quotas and watermarks (Chris von Recklinghausen) [2004233] - mm/damon: convert macro functions to static inline functions (Chris von Recklinghausen) [2004233] - mm/damon: modify damon_rand() macro to static inline function (Chris von Recklinghausen) [2004233] - mm/damon: move damon_rand() definition into damon.h (Chris von Recklinghausen) [2004233] - mm/damon/schemes: add the validity judgment of thresholds (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: remove swap_ranges() and replace it with swap() (Chris von Recklinghausen) [2004233] - mm/damon: remove some unneeded function definitions in damon.h (Chris von Recklinghausen) [2004233] - mm/damon/core: use abs() instead of diff_of() (Chris von Recklinghausen) [2004233] - mm/damon: unified access_check function naming rules (Chris von Recklinghausen) [2004233] - mm/damon: add 'age' of region tracepoint support (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: protect targets destructions with kdamond_lock (Chris von Recklinghausen) [2004233] - selftests/damon: split test cases (Chris von Recklinghausen) [2004233] - selftests/damon: test debugfs file reads/writes with huge count (Chris von Recklinghausen) [2004233] - selftests/damon: test wrong DAMOS condition ranges input (Chris von Recklinghausen) [2004233] - selftests/damon: test DAMON enabling with empty target_ids case (Chris von Recklinghausen) [2004233] - selftests/damon: skip test if DAMON is running (Chris von Recklinghausen) [2004233] - mm/damon/vaddr-test: remove unnecessary variables (Chris von Recklinghausen) [2004233] - mm/damon/vaddr-test: split a test function having >1024 bytes frame size (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: remove an unnecessary warning message (Chris von Recklinghausen) [2004233] - mm/damon/core: remove unnecessary error messages (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove an unnecessary error message (Chris von Recklinghausen) [2004233] - mm/damon/core: use better timer mechanisms selection threshold (Chris von Recklinghausen) [2004233] - mm/damon/core: fix fake load reports due to uninterruptible sleeps (Chris von Recklinghausen) [2004233] - timers: implement usleep_idle_range() (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation (Chris von Recklinghausen) [2004233] - mm/damon: remove return value from before_terminate callback (Chris von Recklinghausen) [2004233] - mm/damon: fix a few spelling mistakes in comments and a pr_debug message (Chris von Recklinghausen) [2004233] - mm/damon: simplify stop mechanism (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: simplify the content (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: fix a wrong link (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon/start: fix wrong example commands (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on (Chris von Recklinghausen) [2004233] - mm/damon: remove unnecessary variable initialization (Chris von Recklinghausen) [2004233] - Documentation/admin-guide/mm/damon: add a document for DAMON_RECLAIM (Chris von Recklinghausen) [2004233] - mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM) (Chris von Recklinghausen) [2004233] - selftests/damon: support watermarks (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support watermarks (Chris von Recklinghausen) [2004233] - mm/damon/schemes: activate schemes based on a watermarks mechanism (Chris von Recklinghausen) [2004233] - tools/selftests/damon: update for regions prioritization of schemes (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support prioritization weights (Chris von Recklinghausen) [2004233] - mm/damon/vaddr,paddr: support pageout prioritization (Chris von Recklinghausen) [2004233] - mm/damon/schemes: prioritize regions within the quotas (Chris von Recklinghausen) [2004233] - mm/damon/selftests: support schemes quotas (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support quotas of schemes (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement time quota (Chris von Recklinghausen) [2004233] - mm/damon/schemes: skip already charged targets and regions (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement size quota for schemes application speed control (Chris von Recklinghausen) [2004233] - mm/damon/paddr: support the pageout scheme (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: remove unnecessary variables (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: constify static mm_walk_ops (Chris von Recklinghausen) [2004233] - Docs/DAMON: document physical memory monitoring support (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support physical memory monitoring (Chris von Recklinghausen) [2004233] - mm/damon: implement primitives for physical address space monitoring (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: separate commonly usable functions (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs-test: add a unit test case for 'init_regions' (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon: document 'init_regions' feature (Chris von Recklinghausen) [2004233] - Docs/admin-guide/mm/damon: document DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - docs/vm/damon: remove broken reference (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: allow users to set initial monitoring target regions (Chris von Recklinghausen) [2004233] - selftests/damon: add 'schemes' debugfs tests (Chris von Recklinghausen) [2004233] - mm/damon/schemes: implement statistics feature (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - mm/damon/vaddr: support DAMON-based Operation Schemes (Chris von Recklinghausen) [2004233] - mm/damon/core: implement DAMON-based Operation Schemes (DAMOS) (Chris von Recklinghausen) [2004233] - mm/damon/core: account age of target regions (Chris von Recklinghausen) [2004233] - mm/damon/core: nullify pointer ctx->kdamond with a NULL (Chris von Recklinghausen) [2004233] - mm/damon: needn't hold kdamond_lock to print pid of kdamond (Chris von Recklinghausen) [2004233] - mm/damon: remove unnecessary do_exit() from kdamond (Chris von Recklinghausen) [2004233] - mm/damon/core: print kdamond start log in debug mode only (Chris von Recklinghausen) [2004233] - mm/damon: grammar s/works/work/ (Chris von Recklinghausen) [2004233] - mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()' (Chris von Recklinghausen) [2004233] - mm/damon: don't use strnlen() with known-bogus source length (Chris von Recklinghausen) [2004233] - mm/damon: add kunit tests (Chris von Recklinghausen) [2004233] - Documentation: add documents for DAMON (Chris von Recklinghausen) [2004233] - mm/damon: add user space selftests (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: support multiple contexts (Chris von Recklinghausen) [2004233] - mm/damon/dbgfs: export kdamond pid to the user space (Chris von Recklinghausen) [2004233] - mm/damon: implement a debugfs-based user space interface (Chris von Recklinghausen) [2004233] - mm/damon: add a tracepoint (Chris von Recklinghausen) [2004233] - mm/damon: implement primitives for the virtual memory address spaces (Chris von Recklinghausen) [2004233] - mm/damon: adaptively adjust regions (Chris von Recklinghausen) [2004233] - mm/damon/core: implement region-based sampling (Chris von Recklinghausen) [2004233] - mm: introduce Data Access MONitor (DAMON) (Chris von Recklinghausen) [2004233] - khugepaged: use helper khugepaged_test_exit() in __khugepaged_enter() (Chris von Recklinghausen) [2004233] - mm/madvise: pass mm to do_madvise (Chris von Recklinghausen) [2004233] - ceph: fix possible NULL pointer dereference for req->r_session (Xiubo Li) [2076165] - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL (Prarit Bhargava) [2039994] - MAINTAINERS: sort field names for all entries (Joel Savitz) [2064843] - parse-maintainers: Do not sort section content by default (Joel Savitz) [2064843] - parse-maintainers: Mark as executable (Joel Savitz) [2064843] - KVM: x86: Use ERR_PTR_USR() to return -EFAULT as a __user pointer (Paul Lai) [2074679] - KVM: x86: add system attribute to retrieve full set of supported xsave states (Paul Lai) [2074679] - KVM: x86: Add a helper to retrieve userspace address from kvm_device_attr (Paul Lai) [2074679] - tools: arch: x86: pull in pvclock headers (Paul Lai) [2074679] - KVM: x86: Expose TSC offset controls to userspace (Paul Lai) [2074679] - KVM: x86: Refactor tsc synchronization code (Paul Lai) [2074679] - selftests: kvm: move vm_xsave_req_perm call to amx_test (Paul Lai) [2074679] - powerpc/pseries/vas: Add VAS migration handler (Steve Best) [2028678] - powerpc/pseries/vas: Modify reconfig open/close functions for migration (Steve Best) [2028678] - powerpc/pseries/vas: Define global hv_cop_caps struct (Steve Best) [2028678] - powerpc/pseries/vas: Add 'update_total_credits' entry for QoS capabilities (Steve Best) [2028678] - powerpc/pseries/vas: sysfs interface to export capabilities (Steve Best) [2028678] - powerpc/pseries/vas: Reopen windows with DLPAR core add (Steve Best) [2028678] - powerpc/pseries/vas: Close windows with DLPAR core removal (Steve Best) [2028678] - powerpc/vas: Map paste address only if window is active (Steve Best) [2028678] - powerpc/vas: Return paste instruction failure if no active window (Steve Best) [2028678] - powerpc/vas: Add paste address mmap fault handler (Steve Best) [2028678] - powerpc/pseries/vas: Save PID in pseries_vas_window struct (Steve Best) [2028678] - powerpc/pseries/vas: Use common names in VAS capability structure (Steve Best) [2028678] - perf powerpc: Update global/local variants for p_stage_cyc (Desnes A. Nunes do Rosario) [2051358] - perf sort: Include global and local variants for p_stage_cyc sort key (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'p_stage_cyc' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'ins_lat' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - perf sort: Fix the 'weight' sort key behavior (Desnes A. Nunes do Rosario) [2051358] - block: loop:use kstatfs.f_bsize of backing file to set discard granularity (Ming Lei) [2069472] - blk-cgroup: set blkg iostat after percpu stat aggregation (Ming Lei) [2069472] - block: update io_ticks when io hang (Ming Lei) [2069472] - block: don't delete queue kobject before its children (Ming Lei) [2069472] - block/wbt: fix negative inflight counter when remove scsi device (Ming Lei) [2069472] - block: bio-integrity: Advance seed correctly for larger interval sizes (Ming Lei) [2069472] - block: fix async_depth sysfs interface for mq-deadline (Ming Lei) [2069472] - bfq: Do not let waker requests skip proper accounting (Ming Lei) [2069472] - block: Fix fsync always failed if once failed (Ming Lei) [2069472] - blktrace: fix use after free for struct blk_trace (Ming Lei) [2069472] - block: Check ADMIN before NICE for IOPRIO_CLASS_RT (Ming Lei) [2069472] - blk-cgroup: fix missing put device in error path from blkg_conf_pref() (Ming Lei) [2069472] - blkcg: Remove extra blkcg_bio_issue_init (Ming Lei) [2069472] - nbd: Fix use-after-free in pid_show (Ming Lei) [2069472] - block/mq-deadline: Improve request accounting further (Ming Lei) [2069472] - block, bfq: fix UAF problem in bfqg_stats_init() (Ming Lei) [2069472] - blk-cgroup: synchronize blkg creation against policy deactivation (Ming Lei) [2069472] - block, bfq: reset last_bfqq_created on group change (Ming Lei) [2069472] - block: bfq: fix bfq_set_next_ioprio_data() (Ming Lei) [2069472] - sched/topology: Remove redundant variable and fix incorrect type in build_sched_domains (Phil Auld) [2065200] - sched/fair: Adjust the allowed NUMA imbalance when SD_NUMA spans multiple LLCs (Phil Auld) [2065200] - sched/fair: Improve consistency of allowed NUMA balance calculations (Phil Auld) [2065200] - Revert: sched: Disable allowing small imbalance to preserve RHEL performance (Phil Auld) [2065200] - NFSv4.1: handle NFS4ERR_NOSPC by CREATE_SESSION (Steve Dickson) [2023844] - SUNRPC: use different lock keys for INET6 and LOCAL (Guillaume Nault) [2061651] - arm64: Restore forced disabling of KPTI on ThunderX (Mark Salter) [1999157] - arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup (Mark Salter) [1999157] - arm64: Remove exporting cpu_logical_map symbol (Mark Salter) [1999157] - arm64: tlb: fix the TTL value of tlb_get_level (Mark Salter) [1999157] - arm64: Validate tagged addresses in access_ok() called from kernel threads (Mark Salter) [1999157] - arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL) (Mark Salter) [1999157] - arm64: ptrace: Use NO_SYSCALL instead of -1 in syscall_trace_enter() (Mark Salter) [1999157] - arm64: mm: Fix TLBI vs ASID rollover (Mark Salter) [1999157] - arm64: errata: Fix exec handling in erratum 1418040 workaround (Mark Salter) [1999157] - arm64: Generate cpucaps.h (Mark Salter) [1999157] - arm64/sve: Skip flushing Z registers with 128 bit vectors (Mark Salter) [1999157] - arm64/sve: Rework SVE access trap to convert state in registers (Mark Salter) [1999157] - arm64/sve: Use the sve_flush macros in sve_load_from_fpsimd_state() (Mark Salter) [1999157] - arm64/sve: Split _sve_flush macro into separate Z and predicate flushes (Mark Salter) [1999157] - arm64: fix inline asm in load_unaligned_zeropad() (Mark Salter) [1999157] - arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 (Mark Salter) [1999157] - arm64/fpsimd: add to to fix fpsimd build (Mark Salter) [1999157] - arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver (Mark Salter) [1999157] - arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist (Mark Salter) [1999157] - arm64: Add MIDR value for KRYO2XX gold/silver CPU cores (Mark Salter) [1999157] - arm64: errata: Fix handling of 1418040 with late CPU onlining (Mark Salter) [1999157] - arm64: cpufeature: upgrade hyp caps to final (Mark Salter) [1999157] - arm64: cpufeature: reorder cpus_have_{const, final}_cap() (Mark Salter) [1999157] - arm64: Add workaround for Arm Cortex-A77 erratum 1508412 (Mark Salter) [1999157] - arm64: Add part number for Arm Cortex-A77 (Mark Salter) [1999157] - arm64: reject prctl(PR_PAC_RESET_KEYS) on compat tasks (Mark Salter) [1999157] - arm64: Treat SSBS as a non-strict system feature (Mark Salter) [1999157] - arm64: Group start_thread() functions together (Mark Salter) [1999157] - arm64: Remove Spectre-related CONFIG_* options (Mark Salter) [1999157] - arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs (Mark Salter) [1999157] - arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs (Mark Salter) [1999157] - arm64: mte: CPU feature detection and initial sysreg configuration (Mark Salter) [1999157] - arm64: cpufeature: Export symbol read_sanitised_ftr_reg() (Mark Salter) [1999157] - arm64/fpsimd: Fix missing-prototypes in fpsimd.c (Mark Salter) [1999157] - arm64: traps: Add str of description to panic() in die() (Mark Salter) [1999157] - arm64/sve: Implement a helper to load SVE registers from FPSIMD state (Mark Salter) [1999157] - arm64/sve: Implement a helper to flush SVE registers (Mark Salter) [1999157] - arm64/fpsimdmacros: Allow the macro "for" to be used in more cases (Mark Salter) [1999157] - arm64/fpsimdmacros: Introduce a macro to update ZCR_EL1.LEN (Mark Salter) [1999157] - arm64/signal: Update the comment in preserve_sve_context (Mark Salter) [1999157] - arm64/fpsimd: Update documentation of do_sve_acc (Mark Salter) [1999157] - arm64: cpufeature: Modify address authentication cpufeature to exact (Mark Salter) [1999157] - arm64: ptrauth: Introduce Armv8.3 pointer authentication enhancements (Mark Salter) [1999157] - arm64: traps: Allow force_signal_inject to pass esr error code (Mark Salter) [1999157] - arm64/cpuinfo: Define HWCAP name arrays per their actual bit definitions (Mark Salter) [1999157] - arm64: Reserve HWCAP2_MTE as (1 << 18) (Mark Salter) [1999157] - arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late (Mark Salter) [1999157] - arm64: Allow booting of late CPUs affected by erratum 1418040 (Mark Salter) [1999157] - arm64: Drop unnecessary include from asm/smp.h (Mark Salter) [1999157] - arm64: Move handling of erratum 1418040 into C code (Mark Salter) [1999157] - arm64: Fix __cpu_logical_map undefined issue (Mark Salter) [1999157] - arm64: tlb: don't set the ttl value in flush_tlb_page_nosync (Mark Salter) [1999157] - arm64: Shift the __tlbi_level() indentation left (Mark Salter) [1999157] - arm64: tlb: Set the TTL field in flush_*_tlb_range (Mark Salter) [1999157] - arm64: tlb: Set the TTL field in flush_tlb_range (Mark Salter) [1999157] - arm64: Add tlbi_user_level TLB invalidation helper (Mark Salter) [1999157] - arm64: Add level-hinted TLB invalidation helper (Mark Salter) [1999157] - arm64: Document SW reserved PTE/PMD bits in Stage-2 descriptors (Mark Salter) [1999157] - arm64/cpufeature: Validate feature bits spacing in arm64_ftr_regs[] (Mark Salter) [1999157] - arm64/cpufeature: Replace all open bits shift encodings with macros (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR2 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR1 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64MMFR0 register (Mark Salter) [1999157] - arm64: csum: Fix handling of bad packets (Mark Salter) [1999157] - arm64: Add missing sentinel to erratum_1463225 (Mark Salter) [1999157] - arm64: Documentation: Fix broken table in generated HTML (Mark Salter) [1999157] - arm64: kgdb: Fix single-step exception handling oops (Mark Salter) [1999157] - arm64: entry: Tidy up block comments and label numbers (Mark Salter) [1999157] - arm64: Rework ARM_ERRATUM_1414080 handling (Mark Salter) [1999157] - arm64: entry: Fix the typo in the comment of el1_dbg() (Mark Salter) [1999157] - arm64: Add KRYO4XX silver CPU cores to erratum list 1530923 and 1024718 (Mark Salter) [1999157] - arm64: Add KRYO4XX gold CPU cores to erratum list 1463225 and 1418040 (Mark Salter) [1999157] - arm64: Add MIDR value for KRYO4XX gold CPU cores (Mark Salter) [1999157] - arm64: Add KRYO{3,4}XX silver CPU cores to SSB safelist (Mark Salter) [1999157] - arm64: kpti: Add KRYO{3, 4}XX silver CPU cores to kpti safelist (Mark Salter) [1999157] - arm64: sve: Fix build failure when ARM64_SVE=y and SYSCTL=n (Mark Salter) [1999157] - arm64: mm: reset address tag set by kasan sw tagging (Mark Salter) [1999157] - arm64: traps: Dump registers prior to panic() in bad_mode() (Mark Salter) [1999157] - arm64/sve: Eliminate data races on sve_default_vl (Mark Salter) [1999157] - arm64: csum: Disable KASAN for do_csum() (Mark Salter) [1999157] - arm64/cpufeature: Add get_arm64_ftr_reg_nowarn() (Mark Salter) [1999157] - arm64/cpuinfo: Add ID_MMFR4_EL1 into the cpuinfo_arm64 context (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_AA64PFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_MMFR4 register (Mark Salter) [1999157] - arm64/cpufeature: Add remaining feature bits in ID_PFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_MMFR5 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_DFR1 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Introduce ID_PFR2 CPU register (Mark Salter) [1999157] - arm64/cpufeature: Make doublelock a signed feature in ID_AA64DFR0 (Mark Salter) [1999157] - arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register (Mark Salter) [1999157] - arm64/cpufeature: Add explicit ftr_id_isar0[] for ID_ISAR0 register (Mark Salter) [1999157] - arm64: cpufeature: Group indexed system register definitions by name (Mark Salter) [1999157] - arm64: cpufeature: Extend comment to describe absence of field info (Mark Salter) [1999157] - arm64: drop duplicate definitions of ID_AA64MMFR0_TGRAN constants (Mark Salter) [1999157] - arm64: cpufeature: Add an overview comment for the cpufeature framework (Mark Salter) [1999157] - arm64: cpufeature: Relax checks for AArch32 support at EL[0-2] (Mark Salter) [1999157] - arm64: cpufeature: Relax AArch32 system checks if EL1 is 64-bit only (Mark Salter) [1999157] - arm64: cpufeature: Factor out checking of AArch32 features (Mark Salter) [1999157] - arm64: cpufeature: Remove redundant call to id_aa64pfr0_32bit_el0() (Mark Salter) [1999157] - arm64: cpufeature: Spell out register fields for ID_ISAR4 and ID_PFR1 (Mark Salter) [1999157] - arm64: cpufeature: Relax check for IESB support (Mark Salter) [1999157] - arm64: mm: Add asid_gen_match() helper (Mark Salter) [1999157] - arm64: Call debug_traps_init() from trap_init() to help early kgdb (Mark Salter) [1999157] - arm64: cacheflush: Fix KGDB trap detection (Mark Salter) [1999157] - arm64/cpuinfo: Move device_initcall() near cpuinfo_regs_init() (Mark Salter) [1999157] - arm64: kexec_file: print appropriate variable (Mark Salter) [1999157] - arm: mm: use __pfn_to_section() to get mem_section (Mark Salter) [1999157] - arm64: Reorder the macro arguments in the copy routines (Mark Salter) [1999157] - KVM: arm64: Drop PTE_S2_MEMATTR_MASK (Mark Salter) [1999157] - arm64/kernel: Fix range on invalidating dcache for boot page tables (Mark Salter) [1999157] - arm64: set TEXT_OFFSET to 0x0 in preparation for removing it entirely (Mark Salter) [1999157] - arm64/mm: Use phys_to_page() to access pgtable memory (Mark Salter) [1999157] - arm64: smp: Make cpus_stuck_in_kernel static (Mark Salter) [1999157] - arm64: entry: remove unneeded semicolon in el1_sync_handler() (Mark Salter) [1999157] - arm64: cpufeature: Add "or" to mitigations for multiple errata (Mark Salter) [1999157] - arm64: Sort vendor-specific errata (Mark Salter) [1999157] - arm64: simplify ptrauth initialization (Mark Salter) [1999157] - arm64: remove ptrauth_keys_install_kernel sync arg (Mark Salter) [1999157] - arm64: insn: Provide a better name for aarch64_insn_is_nop() (Mark Salter) [1999157] - arm64: kernel: Convert to modern annotations for assembly functions (Mark Salter) [1999157] - arm64: entry: Refactor and modernise annotation for ret_to_user (Mark Salter) [1999157] - arm64: BTI: Reset BTYPE when skipping emulated instructions (Mark Salter) [1999157] - arm64: traps: Shuffle code to eliminate forward declarations (Mark Salter) [1999157] - arm64: unify native/compat instruction skipping (Mark Salter) [1999157] - arm64: BTI: Decode BYTPE bits when printing PSTATE (Mark Salter) [1999157] - arm64: Basic Branch Target Identification support (Mark Salter) [1999157] - arm64/kernel: Fix return value when cpu_online() fails in __cpu_up() (Mark Salter) [1999157] - arm64: Add get_user() type annotation on the !access_ok() path (Mark Salter) [1999157] - arm64: Fix PTRACE_SYSEMU semantics (Mark Salter) [1999157] - arm64: fix the flush_icache_range arguments in machine_kexec (Mark Salter) [1999157] - Documentation: arm64: fix amu.rst doc warnings (Mark Salter) [1999157] - arm64: sync kernel APIAKey when installing (Mark Salter) [1999157] - arm64: Delete the space separator in __emit_inst (Mark Salter) [1999157] - arm64: remove CONFIG_DEBUG_ALIGN_RODATA feature (Mark Salter) [1999157] - arm64: head: Convert install_el2_stub to SYM_INNER_LABEL (Mark Salter) [1999157] - arm64: Introduce get_cpu_ops() helper function (Mark Salter) [1999157] - arm64: Rename cpu_read_ops() to init_cpu_ops() (Mark Salter) [1999157] - arm64: Declare ACPI parking protocol CPU operation if needed (Mark Salter) [1999157] - arm64: move kimage_vaddr to .rodata (Mark Salter) [1999157] - arm64: sdei: Annotate SDEI entry points using new style annotations (Mark Salter) [1999157] - arm64: kernel: Convert to modern annotations for assembly data (Mark Salter) [1999157] - arm64: head: Annotate stext and preserve_boot_args as code (Mark Salter) [1999157] - arm64: head.S: Convert to modern annotations for assembly functions (Mark Salter) [1999157] - arm64: entry: Additional annotation conversions for entry.S (Mark Salter) [1999157] - arm64: entry: Annotate ret_from_fork as code (Mark Salter) [1999157] - arm64: entry: Annotate vector table and handlers as code (Mark Salter) [1999157] - kconfig: Add support for 'as-option' (Mark Salter) [1999157] - arm64: suspend: restore the kernel ptrauth keys (Mark Salter) [1999157] - arm64: __show_regs: strip PAC from lr in printk (Mark Salter) [1999157] - arm64: unwind: strip PAC from kernel addresses (Mark Salter) [1999157] - arm64/crash_core: Export KERNELPACMASK in vmcoreinfo (Mark Salter) [1999157] - arm64: mask PAC bits of __builtin_return_address (Mark Salter) [1999157] - compiler.h: Allow arch-specific asm/compiler.h (Mark Salter) [1999157] - arm64: initialize ptrauth keys for kernel booting task (Mark Salter) [1999157] - arm64: initialize and switch ptrauth kernel keys (Mark Salter) [1999157] - arm64: enable ptrauth earlier (Mark Salter) [1999157] - arm64: cpufeature: handle conflicts based on capability (Mark Salter) [1999157] - arm64: cpufeature: Move cpu capability helpers inside C file (Mark Salter) [1999157] - arm64: ptrauth: Add bootup/runtime flags for __cpu_setup (Mark Salter) [1999157] - arm64: install user ptrauth keys at kernel exit time (Mark Salter) [1999157] - arm64: rename ptrauth key structures to be user-specific (Mark Salter) [1999157] - arm64: cpufeature: add pointer auth meta-capabilities (Mark Salter) [1999157] - arm64: cpufeature: Fix meta-capability cpufeature check (Mark Salter) [1999157] - arm64: define __alloc_zeroed_user_highpage (Mark Salter) [1999157] - arm64/kernel: Simplify __cpu_up() by bailing out early (Mark Salter) [1999157] - arm64: smp: Mark expected switch fall-through (Mark Salter) [1999157] - arm64: remove redundant blank for '=' operator (Mark Salter) [1999157] - arm64: kexec_file: Fixed code style. (Mark Salter) [1999157] - arm64: add blank after 'if' (Mark Salter) [1999157] - arm64: fix spelling mistake "ca not" -> "cannot" (Mark Salter) [1999157] - arm64: entry: unmask IRQ in el0_sp() (Mark Salter) [1999157] - arm64: efi: add efi-entry.o to targets instead of extra-$(CONFIG_EFI) (Mark Salter) [1999157] - arm64: csum: Optimise IPv6 header checksum (Mark Salter) [1999157] - arch/arm64: fix typo in a comment (Mark Salter) [1999157] - arm64: remove gratuitious/stray .ltorg stanzas (Mark Salter) [1999157] - arm64: Update comment for ASID() macro (Mark Salter) [1999157] - arm64: mm: convert cpu_do_switch_mm() to C (Mark Salter) [1999157] - Documentation: arm64: document support for the AMU extension (Mark Salter) [1999157] - arm64: trap to EL1 accesses to AMU counters from EL0 (Mark Salter) [1999157] - arm64: add support for the AMU extension v1 (Mark Salter) [1999157] - arm64: smp: fix crash_smp_send_stop() behaviour (Mark Salter) [1999157] - arm64: smp: fix smp_send_stop() behaviour (Mark Salter) [1999157] - arm64: context: Fix ASID limit in boot messages (Mark Salter) [1999157] - docs: arm64: fix trivial spelling enought to enough in memory.rst (Mark Salter) [1999157] - arm64: time: Replace by (Mark Salter) [1999157] - arm64: ssbs: Fix context-switch when SSBS is present on all CPUs (Mark Salter) [1999157] - arm64: use shared sysctl constants (Mark Salter) [1999157] - arm64: Drop do_el0_ia_bp_hardening() & do_sp_pc_abort() declarations (Mark Salter) [1999157] - arm64: entry: Avoid empty alternatives entries (Mark Salter) [1999157] - arm64: Kconfig: select HAVE_FUTEX_CMPXCHG (Mark Salter) [1999157] - arm64: Use macros instead of hard-coded constants for MAIR_EL1 (Mark Salter) [1999157] - arm64: Add KRYO{3,4}XX CPU cores to spectre-v2 safe list (Mark Salter) [1999157] - arm64: context: Free up kernel ASIDs if KPTI is not in use (Mark Salter) [1999157] - arm64: Remove __exception_text_start and __exception_text_end from asm/section.h (Mark Salter) [1999157] - arm64: armv8_deprecated: update the comments of armv8_deprecated_init() (Mark Salter) [1999157] - arm64: kpti: Add Broadcom Brahma-B53 core to the KPTI whitelist (Mark Salter) [1999157] - arm64: csum: Fix pathological zero-length calls (Mark Salter) [1999157] - arm64: Implement optimised checksum routine (Mark Salter) [1999157] - arm64: entry: cleanup sp_el0 manipulation (Mark Salter) [1999157] - arm64: entry: cleanup el0 svc handler naming (Mark Salter) [1999157] - arm64: entry: mark all entry code as notrace (Mark Salter) [1999157] - arm64: assembler: remove smp_dmb macro (Mark Salter) [1999157] - arm64: assembler: remove inherit_daif macro (Mark Salter) [1999157] - arm64: signal: nofpsimd: Handle fp/simd context for signal frames (Mark Salter) [1999157] - arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations (Mark Salter) [1999157] - arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly (Mark Salter) [1999157] - arm64: cpufeature: Fix the type of no FP/SIMD capability (Mark Salter) [1999157] - arm64: fpsimd: Make sure SVE setup is complete before SIMD is used (Mark Salter) [1999157] - arm64: kernel: Correct annotation of end of el0_sync (Mark Salter) [1999157] - arm64: asm: Remove ENDPIPROC() (Mark Salter) [1999157] - arm64: mm: Use modern annotations for assembly functions (Mark Salter) [1999157] - arm64: lib: Use modern annotations for assembly functions (Mark Salter) [1999157] - arm64: asm: Add new-style position independent function annotations (Mark Salter) [1999157] - arm64: kernel: avoid x18 in __cpu_soft_restart (Mark Salter) [1999157] - arm64/lib: copy_page: avoid x18 register in assembler code (Mark Salter) [1999157] - arm64: mm: avoid x18 in idmap_kpti_install_ng_mappings (Mark Salter) [1999157] - arm64: cpu_errata: Add Hisilicon TSV110 to spectre-v2 safe list (Mark Salter) [1999157] - arm64: entry: refine comment of stack overflow check (Mark Salter) [1999157] - arm64: kpti: Add NVIDIA's Carmel core to the KPTI whitelist (Mark Salter) [1999157] - arm64: mm: simplify the page end calculation in __create_pgd_mapping() (Mark Salter) [1999157] - arm64: print additional fault message when executing non-exec memory (Mark Salter) [1999157] - arm64: pgtable: Correct typo in comment (Mark Salter) [1999157] - arm64: cpufeature: Fix typos in comment (Mark Salter) [1999157] - arm64: entry-common: don't touch daif before bp-hardening (Mark Salter) [1999157] - arm64: Remove asmlinkage from updated functions (Mark Salter) [1999157] - arm64: entry: convert el0_sync to C (Mark Salter) [1999157] - arm64: entry: convert el1_sync to C (Mark Salter) [1999157] - arm64: Add prototypes for functions called by entry.S (Mark Salter) [1999157] - arm64: remove __exception annotations (Mark Salter) [1999157] - arm64: kprobes: Move exception_text check in blacklist (Mark Salter) [1999157] - arm64: kprobes: Remove unneeded RODATA check (Mark Salter) [1999157] - arm64: kprobes: Move extable address check into arch_prepare_kprobe() (Mark Salter) [1999157] - arm64: cpufeature: introduce helper cpu_has_hw_af() (Mark Salter) [1999157] - arm64: Document ICC_CTLR_EL3.PMHE setting requirements (Mark Salter) [1999157] - firmware: arm_sdei: use common SMCCC_CONDUIT_* (Mark Salter) [1999157] - arm64: uaccess: Remove uaccess_*_not_uao asm macros (Mark Salter) [1999157] - arm64: uaccess: Ensure PAN is re-enabled after unhandled uaccess fault (Mark Salter) [1999157] - arm64: Do not mask out PTE_RDONLY in pte_same() (Mark Salter) [1999157] - arm64: apply ARM64_ERRATUM_843419 workaround for Brahma-B53 core (Mark Salter) [1999157] - arm64: Brahma-B53 is SSB and spectre v2 safe (Mark Salter) [1999157] - arm64: apply ARM64_ERRATUM_845719 workaround for Brahma-B53 core (Mark Salter) [1999157] - arm64: cpufeature: Enable Qualcomm Falkor errata 1009 for Kryo (Mark Salter) [1999157] - arm64: cpufeature: Enable Qualcomm Falkor/Kryo errata 1003 (Mark Salter) [1999157] - arm64: Ensure VM_WRITE|VM_SHARED ptes are clean by default (Mark Salter) [1999157] - arm64: mm: fix inverted PAR_EL1.F check (Mark Salter) [1999157] - arm64: hibernate: check pgd table allocation (Mark Salter) [1999157] - arm64: armv8_deprecated: Checking return value for memory allocation (Mark Salter) [1999157] - arm64: mm: fix spurious fault detection (Mark Salter) [1999157] - arm64: ftrace: Ensure synchronisation in PLT setup for Neoverse-N1 #1542419 (Mark Salter) [1999157] - arm64: mm: avoid virt_to_phys(init_mm.pgd) (Mark Salter) [1999157] - docs: arm64: Fix indentation and doc formatting (Mark Salter) [1999157] - arm64: errata: Update stale comment (Mark Salter) [1999157] - arm64: consider stack randomization for mmap base only when necessary (Mark Salter) [1999157] - arm64: make use of is_compat_task instead of hardcoding this test (Mark Salter) [1999157] - arm64: kpti: ensure patched kernel text is fetched from PoU (Mark Salter) [1999157] - arm64: Clarify when cpu_enable() is called (Mark Salter) [1999157] - arm64: constify sys64_hook instances (Mark Salter) [1999157] - arm64: constify aarch64_insn_encoding_class[] (Mark Salter) [1999157] - arm64: constify icache_policy_str[] (Mark Salter) [1999157] - arm64: prefer __section from compiler_attributes.h (Mark Salter) [1999157] - arm64/ptrace: Fix typoes in sve_set() comment (Mark Salter) [1999157] - arm64: mm: print hexadecimal EC value in mem_abort_decode() (Mark Salter) [1999157] - ahci: thunderx2: Fix workaround to use new inline function (Mark Salter) [1999157] - arm64/prefetch: fix a -Wtype-limits warning (Mark Salter) [1999157] - arm64: Move TIF_* documentation to individual definitions (Mark Salter) [1999157] - arm64: mm: free the initrd reserved memblock in a aligned manner (Mark Salter) [1999157] - arm64: io: Relax implicit barriers in default I/O accessors (Mark Salter) [1999157] - arm64: Remove unused cpucap_multi_entry_cap_cpu_enable() (Mark Salter) [1999157] - arm64: sysreg: Remove unused and rotting SCTLR_ELx field definitions (Mark Salter) [1999157] - arm64: esr: Add ESR exception class encoding for trapped ERET (Mark Salter) [1999157] - arm64/kexec: Use consistent convention of initializing 'kxec_buf.mem' with KEXEC_BUF_MEM_UNKNOWN (Mark Salter) [1999157] - arm64: remove pointless __KERNEL__ guards (Mark Salter) [1999157] - arm64: Remove unused assembly macro (Mark Salter) [1999157] - arm64: memory: Cosmetic cleanups (Mark Salter) [1999157] - arm64: memory: Add comments to end of non-trivial #ifdef blocks (Mark Salter) [1999157] - arm64: memory: Simplify virt_to_page() implementation (Mark Salter) [1999157] - arm64: memory: Rewrite default page_to_virt()/virt_to_page() (Mark Salter) [1999157] - arm64: mm: Ignore spurious translation faults taken from the kernel (Mark Salter) [1999157] - arm64: mm: Add ISB instruction to set_pgd() (Mark Salter) [1999157] - arm64: tlb: Ensure we execute an ISB following walk cache invalidation (Mark Salter) [1999157] - Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" (Mark Salter) [1999157] - arm64: pgtable: Implement p[mu]d_valid() and check in set_p[mu]d() (Mark Salter) [1999157] - arm64: Change the tagged_addr sysctl control semantics to only prevent the opt-in (Mark Salter) [1999157] - redhat/configs: Add CONFIG_ARM64_TAGGED_ADDR_ABI (Mark Salter) [1999157] - arm64: Introduce prctl() options to control the tagged user addresses ABI (Mark Salter) [1999157] - arm64: smp: Treat unknown boot failures as being 'stuck in kernel' (Mark Salter) [1999157] - arm64: smp: Don't enter kernel with NULL stack pointer or task struct (Mark Salter) [1999157] - arm64: map FDT as RW for early_init_dt_scan() (Mark Salter) [1999157] - arm64: ftrace: Ensure module ftrace trampoline is coherent with I-side (Mark Salter) [1999157] - arch: replace _BITUL() in kernel-space headers with BIT() (Mark Salter) [1999157] - arm64: move jump_label_init() before parse_early_param() (Mark Salter) [1999157] - arm64: don't use asm-generic/ptrace.h (Mark Salter) [1999157] - arm64: rename dump_instr as dump_kernel_instr (Mark Salter) [1999157] - arm64/mm: Drop [PTE|PMD]_TYPE_FAULT (Mark Salter) [1999157] - arm64: module: create module allocations without exec permissions (Mark Salter) [1999157] - acpi/arm64: ignore 5.1 FADTs that are reported as 5.0 (Mark Salter) [1999157] - arm64: remove redundant 'default n' from Kconfig (Mark Salter) [1999157] - arm64: mm: avoid redundant READ_ONCE(*ptep) (Mark Salter) [1999157] - arm64/mm: Document write abort detection from ESR (Mark Salter) [1999157] - arm64: Fix comment after #endif (Mark Salter) [1999157] - arm64: ptrace: add support for syscall emulation (Mark Salter) [1999157] - arm64: add PTRACE_SYSEMU{,SINGLESTEP} definations to uapi headers (Mark Salter) [1999157] - arm64/mm: Identify user instruction aborts (Mark Salter) [1999157] - arm64/mm: Change BUG_ON() to VM_BUG_ON() in [pmd|pud]_set_huge() (Mark Salter) [1999157] - arm64: kernel: use aff3 instead of aff2 in comment (Mark Salter) [1999157] - arm64/mm: Simplify protection flag creation for kernel huge mappings (Mark Salter) [1999157] - arm64/mm: Move PTE_VALID from SW defined to HW page table entry definitions (Mark Salter) [1999157] - arm64/sve: should not depend on (Mark Salter) [1999157] - arm64: ssbd: explicitly depend on (Mark Salter) [1999157] - ARM64: trivial: s/TIF_SECOMP/TIF_SECCOMP/ comment typo fix (Mark Salter) [1999157] - arm64: smp: Moved cpu_logical_map[] to smp.h (Mark Salter) [1999157] - arm64: use the correct function type for __arm64_sys_ni_syscall (Mark Salter) [1999157] - arm64: use the correct function type in SYSCALL_DEFINE0 (Mark Salter) [1999157] - arm64: fix syscall_fn_t type (Mark Salter) [1999157] - signal/arm64: Use force_sig not force_sig_fault for SIGKILL (Mark Salter) [1999157] - arm64: Fix the arm64_personality() syscall wrapper redirection (Mark Salter) [1999157] - arm64: Remove useless message during oops (Mark Salter) [1999157] - arm64: don't trash config with compat symbol if COMPAT is disabled (Mark Salter) [1999157] - arm64: assembler: Update comment above cond_yield_neon() macro (Mark Salter) [1999157] - arm64: Fix size of __early_cpu_boot_status (Mark Salter) [1999157] - arm64: mm: Remove pte_unmap_nested() (Mark Salter) [1999157] - arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable (Mark Salter) [1999157] - arm64: compat: Reduce address limit for 64K pages (Mark Salter) [1999157] - arm64: mmap: Ensure file offset is treated as unsigned (Mark Salter) [1999157] - arm64: instrument smp_{load_acquire,store_release} (Mark Salter) [1999157] - arm64: mm: check virtual addr in virt_to_page() if CONFIG_DEBUG_VIRTUAL=y (Mark Salter) [1999157] - arm64: ptrace: Add function argument access API (Mark Salter) [1999157] - arm64: compat: Reduce address limit (Mark Salter) [1999157] - arm64: Save and restore OSDLR_EL1 across suspend/resume (Mark Salter) [1999157] - arm64: Clear OSDLR_EL1 on CPU boot (Mark Salter) [1999157] - arm64: debug: Separate debug hooks based on target exception level (Mark Salter) [1999157] - arm64: debug: Remove meaningless comment (Mark Salter) [1999157] - arm64: debug: Rename addr parameter for non-watchpoint exception hooks (Mark Salter) [1999157] - arm64: Use defines instead of magic numbers (Mark Salter) [1999157] - arm64: cpu_ops: fix a leaked reference by adding missing of_node_put (Mark Salter) [1999157] - arm64: mm: Make show_pte() a static function (Mark Salter) [1999157] - arm64: setup min_low_pfn (Mark Salter) [1999157] - arm64: mm: fix incorrect assignment of 'max_mapnr' (Mark Salter) [1999157] - arm64: perf_event: Remove wrongfully used inline (Mark Salter) [1999157] - arm64: backtrace: Don't bother trying to unwind the userspace stack (Mark Salter) [1999157] - arm64: replace memblock_alloc_low with memblock_alloc (Mark Salter) [1999157] - arm64: kdump: no need to mark crashkernel pages manually PG_reserved (Mark Salter) [1999157] - arm64: kexec: no need to ClearPageReserved() (Mark Salter) [1999157] - arm64: mmu: drop paging_init comments (Mark Salter) [1999157] - arm64: debug: Ensure debug handlers check triggering exception level (Mark Salter) [1999157] - arm64: io: Hook up __io_par() for inX() ordering (Mark Salter) [1999157] - arm64: Rename get_thread_info() (Mark Salter) [1999157] - arm64: Remove documentation about TIF_USEDFPU (Mark Salter) [1999157] - arm64: uaccess: Cleanup get/put_user() (Mark Salter) [1999157] - arm64: Remove asm/memblock.h (Mark Salter) [1999157] - arm64: default NR_CPUS to 256 (Mark Salter) [1999157] - arm64: perf: remove misleading comment (Mark Salter) [1999157] - arm64: Relax GIC version check during early boot (Mark Salter) [1999157] - arm64, mm, efi: Account for GICv3 LPI tables in static memblock reserve table (Mark Salter) [1999157] - arm64: hibernate: Clean the __hyp_text to PoC after resume (Mark Salter) [1999157] - arm64: hyp-stub: Forbid kprobing of the hyp-stub (Mark Salter) [1999157] - arm64: kprobe: Always blacklist the KVM world-switch code (Mark Salter) [1999157] - kasan, arm64: remove redundant ARCH_SLAB_MINALIGN define (Mark Salter) [1999157] - arm64: asm-prototypes: Fix fat-fingered typo in comment (Mark Salter) [1999157] - arm64: compat: Hook up io_pgetevents() for 32-bit tasks (Mark Salter) [1999157] - arm64: compat: Don't pull syscall number from regs in arm_compat_syscall (Mark Salter) [1999157] - arm64: compat: Avoid sending SIGILL for unallocated syscall numbers (Mark Salter) [1999157] - arm64: kaslr: Reserve size of ARM64_MEMSTART_ALIGN in linear region (Mark Salter) [1999157] - arm64: smp: Fix compilation error (Mark Salter) [1999157] - arm64: select ACPI PCI code only when both features are enabled (Mark Salter) [1999157] - arm64: kaslr: print PHYS_OFFSET in dump_kernel_offset() (Mark Salter) [1999157] - arm64: sysreg: Use _BITUL() when defining register bits (Mark Salter) [1999157] - arm64: perf: Treat EXCLUDE_EL* bit definitions as unsigned (Mark Salter) [1999157] - arm64: percpu: Fix LSE implementation of value-returning pcpu atomics (Mark Salter) [1999157] - arm64: smp: Handle errors reported by the firmware (Mark Salter) [1999157] - arm64: smp: Rework early feature mismatched detection (Mark Salter) [1999157] - arm64: percpu: Rewrite per-cpu ops to allow use of LSE atomics (Mark Salter) [1999157] - arm64: crypto: add NEON accelerated XOR implementation (Mark Salter) [1999157] - arm64/neon: add workaround for ambiguous C99 stdint.h types (Mark Salter) [1999157] - arm64: ftrace: always pass instrumented pc in x0 (Mark Salter) [1999157] - arm64: ftrace: use GLOBAL() (Mark Salter) [1999157] - arm64: io: Ensure value passed to __iormb() is held in a 64-bit register (Mark Salter) [1999157] - arm64: acpi: Prepare for longer MADTs (Mark Salter) [1999157] - arm64: io: Ensure calls to delay routines are ordered against prior readX() (Mark Salter) [1999157] - arm64: perf: Fix typos in comment (Mark Salter) [1999157] - arm64: function_graph: Simplify with function_graph_enter() (Mark Salter) [1999157] - arm64: sysreg: fix sparse warnings (Mark Salter) [1999157] - arm64: mm: define NET_IP_ALIGN to 0 (Mark Salter) [1999157] - arm64: kprobe: make page to RO mode when allocate it (Mark Salter) [1999157] - arm64: kdump: fix small typo (Mark Salter) [1999157] - arm64: mm: Use #ifdef for the __PAGETABLE_P?D_FOLDED defines (Mark Salter) [1999157] - arm64: Trap WFI executed in userspace (Mark Salter) [1999157] - arm64/mm: Use ESR_ELx_FSC macro while decoding fault exception (Mark Salter) [1999157] - arm64: compat: Add CNTFRQ trap handler (Mark Salter) [1999157] - arm64: compat: Add CNTVCT trap handler (Mark Salter) [1999157] - arm64: compat: Add cp15_32 and cp15_64 handler arrays (Mark Salter) [1999157] - arm64: compat: Add condition code checks and IT advance (Mark Salter) [1999157] - arm64: Add decoding macros for CP15_32 and CP15_64 traps (Mark Salter) [1999157] - arm64: Remove unused VGA console support (Mark Salter) [1999157] - arm64: Kconfig: Remove ARCH_HAS_HOLES_MEMORYMODEL (Mark Salter) [1999157] - arm64/cpufeatures: Emulate MRS instructions by parsing ESR_ELx.ISS (Mark Salter) [1999157] - arm64/cpufeatures: Factorize emulate_mrs() (Mark Salter) [1999157] - arm64: fix for bad_mode() handler to always result in panic (Mark Salter) [1999157] - arm64: force_signal_inject: WARN if called from kernel context (Mark Salter) [1999157] - arm64: tlb: Adjust stride and type of TLBI according to mmu_gather (Mark Salter) [1999157] - arm64: percpu: Initialize ret in the default case (Mark Salter) [1999157] - arm64: mm: always enable CONFIG_HOLES_IN_ZONE (Mark Salter) [1999157] - arm64: Avoid calling stop_machine() when patching jump labels (Mark Salter) [1999157] - arm64: Drop asmlinkage qualifier from syscall_trace_{enter,exit} (Mark Salter) [1999157] - arm64: zero GPRs upon entry from EL0 (Mark Salter) [1999157] - arm64: don't reload GPRs after apply_ssbd (Mark Salter) [1999157] - arm64: consistently use unsigned long for thread flags (Mark Salter) [1999157] - arm64: insn: Don't fallback on nosync path for general insn patching (Mark Salter) [1999157] - arm64: remove unused COMPAT_PSR definitions (Mark Salter) [1999157] - kvm/arm: use PSR_AA32 definitions (Mark Salter) [1999157] - arm64: use PSR_AA32 definitions (Mark Salter) [1999157] - arm64: compat: map SPSR_ELx<->PSR for signals (Mark Salter) [1999157]- RDMA/qedr: Fix reporting max_{send/recv}_wr attrs (Kamal Heib) [2051524] - thermal/drivers/int340x: Fix RFIM mailbox write commands (Prarit Bhargava) [2040065] - thermal: int340x: Limit Kconfig to 64-bit (Prarit Bhargava) [2040065] - thermal: int340x: fix build on 32-bit targets (Prarit Bhargava) [2040065] - thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses (Prarit Bhargava) [2040065] - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error (Myron Stowe) [1911591] - PCI/MSI: Skip masking MSI-X on Xen PV (Myron Stowe) [1911591] - PCI/MSI: Mask all unused MSI-X entries (Myron Stowe) [1911591] - PCI/MSI: Enable and mask MSI-X early (Myron Stowe) [1911591] - genirq: Use rcu in kstat_irqs_usr() (Waiman Long) [2068445] - scsi: target: Allow changing dbroot if there are no registered devices (Maurizio Lombardi) [2073435] - powerpc/pseries: Fix use after free in remove_phb_dynamic() (Steve Best) [2073707] - sctp: use the correct skb for security_sctp_assoc_request (Xin Long) [2070915] - s390/mm: check 2KB-fragment page on release (Rafael Aquini) [2026578] - s390/mm: better annotate 2KB pagetable fragments handling (Rafael Aquini) [2026578] - s390/mm: fix 2KB pgtable release race (Rafael Aquini) [2026578] - s390/mm: fix phys vs virt confusion in pgtable allocation routines (Rafael Aquini) [2026578] - net: openvswitch: fix leak of nested actions (Eelco Chaudron) [2073538] - bpf: Let bpf_warn_invalid_xdp_action() report more info (Petr Oros) [2069671] - bpf: Do not WARN in bpf_warn_invalid_xdp_action() (Petr Oros) [2069671]- scsi: qedi: Fix failed disconnect handling (Chris Leech) [2071519] - scsi: iscsi: Fix unbound endpoint error handling (Chris Leech) [2071519] - scsi: iscsi: Fix conn cleanup and stop race during iscsid restart (Chris Leech) [2071519] - scsi: iscsi: Fix endpoint reuse regression (Chris Leech) [2071519] - scsi: iscsi: Release endpoint ID when its freed (Chris Leech) [2071519] - scsi: iscsi: Fix offload conn cleanup when iscsid restarts (Chris Leech) [2071519] - Revert "scsi: iscsi: Fix offload conn cleanup when iscsid restarts" (Chris Leech) [2071519] - scsi: iscsi: Speed up session unblocking and removal (Chris Leech) [2071519] - scsi: iscsi: Fix recovery and unblocking race (Chris Leech) [2071519] - scsi: iscsi: Unblock session then wake up error handler (Chris Leech) [2071519] - bnxt_en: make hw-tc-offload default to off (Ken Cox) [2005101] - bnxt_en: reject indirect blk offload when hw-tc-offload is off (Ken Cox) [2005101]- bpf, test_offload.py: Skip base maps without names (Yauheni Kaliuta) [2025787] - bnx2x: truncate value to original sizing (Manish Chopra) [2040271] - bnx2x: use correct format characters (Manish Chopra) [2040271] - bnx2x: fix built-in kernel driver load failure (Manish Chopra) [2040271] - bnx2x: fix driver load from initrd (Manish Chopra) [2040271] - bnx2x: Replace one-element array with flexible-array member (Manish Chopra) [2040271] - bnx2x: Remove useless DMA-32 fallback configuration (Manish Chopra) [2040271] - bnx2x: Invalidate fastpath HSI version for VFs (Manish Chopra) [2040271] - bnx2x: Utilize firmware 7.13.21.0 (Manish Chopra) [2040271] - bnx2x: constify static inline stub for dev_addr (Manish Chopra) [2040271] - net: bnx2x: fix variable dereferenced before check (Manish Chopra) [2040271] - ethernet: bnx2x: use eth_hw_addr_set() (Manish Chopra) [2040271] - bnx2x: Fix enabling network interfaces without VFs (Manish Chopra) [2040271] - bnx2x: fix an error code in bnx2x_nic_load() (Manish Chopra) [2040271] - bnx2x: remove unused variable 'cur_data_offset' (Manish Chopra) [2040271] - bnx2x: Remove the repeated declaration (Manish Chopra) [2040271] - bnx2x: Fix missing error code in bnx2x_iov_init_one() (Manish Chopra) [2040271] - net: broadcom: bnx2x: Fix wrong function name in comments (Manish Chopra) [2040271] - bnx2x: Remove redundant assignment to err (Manish Chopra) [2040271] - bnx2x: Use fallthrough pseudo-keyword (Manish Chopra) [2040271] - bnx2x: use true,false for bool variables (Manish Chopra) [2040271] - bnx2x: Fix some kernel-doc warnings (Manish Chopra) [2040271] - bnx2x: convert to new udp_tunnel_nic infra (Manish Chopra) [2040271] - bnx2x: Remove hw_reset_t function casts (Manish Chopra) [2040271] - bnx2x: Remove format_fw_ver_t function casts (Manish Chopra) [2040271] - bnx2x: Remove config_init_t function casts (Manish Chopra) [2040271] - bnx2x: Remove read_status_t function casts (Manish Chopra) [2040271] - bnx2x: Drop redundant callback function casts (Manish Chopra) [2040271] - bnx2x: Use napi_alloc_frag() (Manish Chopra) [2040271] - HID: intel-ish-hid: fix module device-id handling (Tony Camuso) [1921300] - mod_devicetable: fix kdocs for ishtp_device_id (Tony Camuso) [1921300] - HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE() (Tony Camuso) [1921300] - platform/x86: isthp_eclite: only load for matching devices (Tony Camuso) [1921300] - platform/x86: Add Intel ishtp eclite driver (Tony Camuso) [1921300] - platform/x86: Add config file for Intel ishtp eclite driver (Tony Camuso) [1921300] - modpost: add guid_t type definition (Tony Camuso) [1921300] - squashfs: provide backing_dev_info in order to disable read-ahead (Brian Foster) [2025351] - mm: fix readahead_page_batch for retry entries (Brian Foster) [2025351] - iomap: convert from readpages to readahead (Brian Foster) [2025351] - fs: convert mpage_readpages to mpage_readahead (Brian Foster) [2025351] - mm: use memalloc_nofs_save in readahead path (Brian Foster) [2025351] - mm: document why we don't set PageReadahead (Brian Foster) [2025351] - mm: add page_cache_readahead_unbounded (Brian Foster) [2025351] - mm: move end_index check out of readahead loop (Brian Foster) [2025351] - mm: add readahead address space operation (Brian Foster) [2025351] - mm: put readahead pages in cache earlier (Brian Foster) [2025351] - mm: remove 'page_offset' from readahead loop (Brian Foster) [2025351] - mm: rename readahead loop variable to 'i' (Brian Foster) [2025351] - mm: rename various 'offset' parameters to 'index' (Brian Foster) [2025351] - mm: use readahead_control to pass arguments (Brian Foster) [2025351] - mm: add new readahead_control API (Brian Foster) [2025351] - mm: move readahead nr_pages check into read_pages (Brian Foster) [2025351] - mm: ignore return value of ->readpages (Brian Foster) [2025351] - mm: return void from various readahead functions (Brian Foster) [2025351] - mm: move readahead prototypes from mm.h (Brian Foster) [2025351] - mpage: mpage_readpages() should submit IO as read-ahead (Brian Foster) [2025351] - mpage: add argument structure for do_mpage_readpage() (Brian Foster) [2025351] - redhat/configs: enable CONFIG_AMD_PTDMA for x86_64 (Sudheesh Mavila) [2027231] - dmaengine: ptdma: handle the cases based on DMA is complete (Sudheesh Mavila) [2027231] - dmaengine: ptdma: fix concurrency issue with multiple dma transfer (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Fix the error handling path in pt_core_init() (Sudheesh Mavila) [2027231] - MAINTAINERS: Fix AMD PTDMA DRIVER entry (Sudheesh Mavila) [2027231] - dmaengine: ptdma: remove PT_OFFSET to avoid redefnition (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Add debugfs entries for PTDMA (Sudheesh Mavila) [2027231] - dmaengine: ptdma: register PTDMA controller as a DMA resource (Sudheesh Mavila) [2027231] - dmaengine: ptdma: Initial driver for the AMD PTDMA (Sudheesh Mavila) [2027231] - isert: support for unsolicited NOPIN with no response (Maurizio Lombardi) [2035915] - iscsit: increment max_cmd_sn for isert on command release (Maurizio Lombardi) [2035915] - sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa (Phil Auld) [2062841] - sched/numa: initialize numa statistics when forking new task (Phil Auld) [2062841] - cgroup: Fix suspicious rcu_dereference_check() usage warning (Phil Auld) [2062841] - sched/cpuacct: Remove redundant RCU read lock (Phil Auld) [2062841] - sched/cpuacct: Optimize away RCU read lock (Phil Auld) [2062841] - sched/cpuacct: Fix charge percpu cpuusage (Phil Auld) [2062841] - sched: replace cpumask_weight with cpumask_empty where appropriate (Phil Auld) [2062841] - sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race (Phil Auld) [2062841] - psi: fix possible trigger missing in the window (Phil Auld) [2062841] - sched: Avoid double preemption in __cond_resched_*lock*() (Phil Auld) [2062841] - sched/fair: Fix all kernel-doc warnings (Phil Auld) [2062841] - sched/rt: Try to restart rt period timer when rt runtime exceeded (Phil Auld) [2062841] - sched/fair: Fix detection of per-CPU kthreads waking a task (Phil Auld) [2062841] - locking: Remove rt_rwlock_is_contended(). (Phil Auld) [2062841] - sched: Trigger warning if ->migration_disabled counter underflows. (Phil Auld) [2062841] - sched/cpuacct: Make user/system times in cpuacct.stat more precise (Phil Auld) [2062841] - sched/cpuacct: Fix user/system in shown cpuacct.usage* (Phil Auld) [2062841] - cpuacct: Convert BUG_ON() to WARN_ON_ONCE() (Phil Auld) [2062841] - cputime, cpuacct: Include guest time in user time in cpuacct.stat (Phil Auld) [2062841] - sched/fair: Document the slow path and fast path in select_task_rq_fair (Phil Auld) [2062841] - drm/i915/ehl: Remove require_force_probe protection (Michel Dänzer) [2048674] - net/sched: fix initialization order when updating chain 0 head (Marcelo Ricardo Leitner) [2044711] - smp: Process pending softirqs in flush_smp_call_function_from_idle() (Waiman Long) [2066087] - irq_work: Optimize irq_work_single() (Waiman Long) [2066087] - irq_work: Cleanup (Waiman Long) [2066087] - smp, irq_work: Continue smp_call_function*() and irq_work*() integration (Waiman Long) [2066087] - irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too (Waiman Long) [2066087] - sched/headers: Split out open-coded prototypes into kernel/sched/smp.h (Waiman Long) [2066087] - sched: Replace rq::wake_list (Waiman Long) [2066087] - sched: Add rq::ttwu_pending (Waiman Long) [2066087] - irq_work, smp: Allow irq_work on call_single_queue (Waiman Long) [2066087] - smp: Optimize send_call_function_single_ipi() (Waiman Long) [2066087] - smp: Move irq_work_run() out of flush_smp_call_function_queue() (Waiman Long) [2066087] - smp: Optimize flush_smp_call_function_queue() (Waiman Long) [2066087] - sched: Fix smp_call_function_single_async() usage for ILB (Waiman Long) [2066087] - sched: Make scheduler_ipi inline (Waiman Long) [2066087] - sched: Clean up scheduler_ipi() (Waiman Long) [2066087] - sched/core: Remove rq.hrtick_csd_pending (Waiman Long) [2066087] - sched/fair: Clean up comment in nohz_idle_balance() (Waiman Long) [2066087] - context_tracking: Rename context_tracking_is_enabled() => context_tracking_enabled() (Waiman Long) [2066087] - context_tracking: Remove context_tracking_active() (Waiman Long) [2066087] - redhat: configs: Disable CONFIG_MPLS for s390x/zfcpdump (Guillaume Nault) [2051659] - KVM: PPC: Book3S HV: Add infrastructure to support 2nd DAWR (Laurent Vivier) [2059318] - KVM: PPC: Book3S HV: Rename current DAWR macros and variables (Laurent Vivier) [2059318] - uapi/linux/stddef.h: Add include guards (Michel Dänzer) [2072125] - stddef: Introduce struct_group() helper macro (Michel Dänzer) [2072125] - component: Add common helper for compare/release functions (Michel Dänzer) [2072125] - PCI/VGA: Move vgaarb to drivers/pci (Michel Dänzer) [2072125] - vgaarb: don't pass a cookie to vga_client_register (Michel Dänzer) [2072125] - vgaarb: remove the unused irq_set_state argument to vga_client_register (Michel Dänzer) [2072125] - vgaarb: provide a vga_client_unregister wrapper (Michel Dänzer) [2072125] - vgaarb: cleanup vgaarb.h (Michel Dänzer) [2072125] - vgaarb: move the kerneldoc for vga_set_legacy_decoding to vgaarb.c (Michel Dänzer) [2072125] - vgaarb: remove vga_conflicts (Michel Dänzer) [2072125] - vgaarb: remove VGA_DEFAULT_DEVICE (Michel Dänzer) [2072125] - lib/string_helpers: Consolidate string helpers implementation (Michel Dänzer) [2072125] - include/linux/string_helpers.h: add linux/string.h for strlen() (Michel Dänzer) [2072125] - kernel.h: split out container_of() and typeof_member() macros (Michel Dänzer) [2072125] - mm/vmscan: add sync_shrinkers function v3 (Michel Dänzer) [2072125] - lib: devres: Add managed arch_io_reserve_memtype_wc() (Michel Dänzer) [2072125] - lib: devres: Add managed arch_phys_wc_add() (Michel Dänzer) [2072125] - kernel/locking: Use a pointer in ww_mutex_trylock(). (Michel Dänzer) [2072125] - locking/ww-mutex: Fix uninitialized use of ret in test_aa() (Michel Dänzer) [2072125] - kernel/locking: Add context to ww_mutex_trylock() (Michel Dänzer) [2072125] - locking/lockdep: Provide lockdep_assert{,_once}() helpers (Michel Dänzer) [2072125] - mm: gup: pack has_pinned in MMF_HAS_PINNED (Chris von Recklinghausen) [2073217] - mm: gup: allow FOLL_PIN to scale in SMP (Chris von Recklinghausen) [2073217] - CI: Drop baseline runs (Veronika Kabatova)- powerpc/xive: Export XIVE IPI information for online-only processors. (Steve Best) [2038448] - netfilter: conntrack: fix reading nf_conntrack_buckets (Phil Sutter) [2053628] - netfilter: nf_tables: initialize registers in nft_do_chain() (Florian Westphal) [2067966] {CVE-2022-1016} - x86/sev-es: Use __put_user()/__get_user() for data accesses (Vitaly Kuznetsov) [2063719] - x86/sev-es: Handle string port IO to kernel memory properly (Vitaly Kuznetsov) [2063719] - x86/sev: Return an error on a returned non-zero SW_EXITINFO1[31:0] (Vitaly Kuznetsov) [2063719] - x86/sev-es: Use __copy_from_user_inatomic() (Vitaly Kuznetsov) [2063719] - x86/sev-es: Check regs->sp is trusted before adjusting #VC IST stack (Vitaly Kuznetsov) [2063719] - x86/sev-es: Introduce ip_within_syscall_gap() helper (Vitaly Kuznetsov) [2063719] - x86/sev-es: Forward page-faults which happen during emulation (Vitaly Kuznetsov) [2063719] - x86/sev-es: Don't return NULL from sev_es_get_ghcb() (Vitaly Kuznetsov) [2063719] - x86/sev-es: Invalidate the GHCB after completing VMGEXIT (Vitaly Kuznetsov) [2063719] - x86/sev-es: Move sev_es_put_ghcb() in prep for follow on patch (Vitaly Kuznetsov) [2063719] - x86/sev: Fix stack type check in vc_switch_off_ist() (Vitaly Kuznetsov) [2063719] - x86/sev: Allow #VC exceptions on the VC2 stack (Vitaly Kuznetsov) [2063719] - x86/sev-es: Enable #VC specific entry point for real (Vitaly Kuznetsov) [2063719] - x86/cpu: Use pinning mask for CR4 bits needing to be 0 (Vitaly Kuznetsov) [2063719] - x86/asm: Move native_write_cr0/4() out of line (Vitaly Kuznetsov) [2063719] - x86/asm: Pin sensitive CR4 bits (Vitaly Kuznetsov) [2063719] - x86/asm: Pin sensitive CR0 bits (Vitaly Kuznetsov) [2063719] - powerpc/mce: Modify the real address error logging messages (Desnes A. Nunes do Rosario) [2068761] - selftests/powerpc: Add test for real address error handling (Desnes A. Nunes do Rosario) [2068761] - powerpc/pseries: Parse control memory access error (Desnes A. Nunes do Rosario) [2068761] - powerpc/pseries/mce: Fix a typo in error type assignment (Desnes A. Nunes do Rosario) [2068761] - netfilter: nf_tables: validate registers coming from userspace. (Florian Westphal) [2065357] {CVE-2022-1015} - PCI: hv: Propagate coherence from VMbus device to PCI device (Vitaly Kuznetsov) [2068429] - Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus device (Vitaly Kuznetsov) [2068429] - Revert "xfs: actually bump warning counts when we send warnings" (Carlos Maiolino) [2059262] - perf/x86/intel: Add a quirk for the calculation of the number of counters on Alder Lake (Michael Petlan) [2039996] - perf stat: Support --cputype option for hybrid events (Michael Petlan) [1971941] - perf/x86/intel/uncore: Add IMC uncore support for ADL (Michael Petlan) [2042217] - tipc: fix kernel panic when enabling bearer (Xin Long) [2061233] - media: v4l: ioctl: Fix memory leak in video_usercopy (Jarod Wilson) [1954604] {CVE-2021-30002}- esp6: fix check on ipv6_skip_exthdr's return value (Sabrina Dubroca) [2054075] - scsi: iscsi: Fix nop handling during conn recovery (Chris Leech) [2069969] - scsi: iscsi: Merge suspend fields (Chris Leech) [2069969] - scsi: iscsi: Fix offload conn cleanup when iscsid restarts (Chris Leech) [2069969] - scsi: iscsi: Move iscsi_ep_disconnect (Chris Leech) [2069969] - CI: Remove deprecated option (Veronika Kabatova)- redhat: add new KUNIT tests to mod-internal.list (Nico Pache) [2065444] - kasan: test: prevent cache merging in kmem_cache_double_destroy (Nico Pache) [2065444] - kasan: test: fix compatibility with FORTIFY_SOURCE (Nico Pache) [2065444] - kasan: test: add test case for double-kmem_cache_destroy() (Nico Pache) [2065444] - kasan: add ability to detect double-kmem_cache_destroy() (Nico Pache) [2065444] - kasan: test: add globals left-out-of-bounds test (Nico Pache) [2065444] - kasan: test: silence intentional read overflow warnings (Nico Pache) [2065444] - kasan: test: bypass __alloc_size checks (Nico Pache) [2065444] - kasan: test: add memcpy test that avoids out-of-bounds write (Nico Pache) [2065444] - kasan: test: clean up ksize_uaf (Nico Pache) [2065444] - kasan: test: disable kmalloc_memmove_invalid_size for HW_TAGS (Nico Pache) [2065444] - kasan: test: only do kmalloc_uaf_memset for generic mode (Nico Pache) [2065444] - kasan: test: avoid corrupting memory via memset (Nico Pache) [2065444] - kasan: test: avoid writing invalid memory (Nico Pache) [2065444] - kasan: test: rework kmalloc_oob_right (Nico Pache) [2065444] - Documentation: kunit: remove claims that kunit is a mocking framework (Nico Pache) [2065444] - kunit: Reset suite count after running tests (Nico Pache) [2065444] - kunit: drop assumption in kunit-log-test about current suite (Nico Pache) [2065444] - string.h: Introduce memset_startat() for wiping trailing members and padding (Nico Pache) [2065444] - string.h: Introduce memset_after() for wiping trailing members/padding (Nico Pache) [2065444] - lib: Introduce CONFIG_MEMCPY_KUNIT_TEST (Nico Pache) [2065444] - kunit: fix kernel-doc warnings due to mismatched arg names (Nico Pache) [2065444] - kunit: fix reference count leak in kfree_at_end (Nico Pache) [2065444] - kunit: Print test statistics on failure (Nico Pache) [2065444] - fat: Add KUnit tests for checksums and timestamps (Nico Pache) [2065444] - kunit: add unit test for filtering suites by names (Nico Pache) [2065444] - kunit: test: Add example tests which are always skipped (Nico Pache) [2065444] - kunit: Support skipped tests (Nico Pache) [2065444] - redhat: remove TEST_LIST_SORT config definitions (Nico Pache) [2065444] - lib/test: convert test_sort.c to use KUnit (Nico Pache) [2065444] - lib/test: convert lib/test_list_sort.c to use KUnit (Nico Pache) [2065444] - kunit: introduce kunit_kmalloc_array/kunit_kcalloc() helpers (Nico Pache) [2065444] - kunit: Add gnu_printf specifiers (Nico Pache) [2065444] - lib/cmdline_kunit: Remove a cast which are no-longer required (Nico Pache) [2065444] - kernel/sysctl-test: Remove some casts which are no-longer required (Nico Pache) [2065444] - device property: Remove some casts in property-entry-test (Nico Pache) [2065444] - Documentation: kunit: Clean up some string casts in examples (Nico Pache) [2065444] - kunit: Assign strings to 'const char*' in STREQ assertions (Nico Pache) [2065444] - kunit: Do not typecheck binary assertions (Nico Pache) [2065444] - Documentation: kunit: document support for QEMU in kunit_tool (Nico Pache) [2065444] - kunit: Add 'kunit_shutdown' option (Nico Pache) [2065444] - Documentation: kunit: Update kunit_tool page (Nico Pache) [2065444] - Documentation: kunit: add tips for running KUnit (Nico Pache) [2065444] - slub: remove resiliency_test() function (Nico Pache) [2065444] - mm/slub, kunit: add a KUnit test for SLUB debugging functionality (Nico Pache) [2065444] - kunit: make test->lock irq safe (Nico Pache) [2065444] - docs: dev-tools: kunit: avoid using ReST :doc:`foo` markup (Nico Pache) [2065444] - docs: dev-tools: kunit: don't use a table for docs name (Nico Pache) [2065444] - kunit: make KUNIT_EXPECT_STREQ() quote values, don't print literals (Nico Pache) [2065444] - kunit: Match parenthesis alignment to improve code readability (Nico Pache) [2065444] - openvswitch: always update flow key after nat (Aaron Conole) [2066885] - md: initialize percpu refcounters using PERCU_REF_ALLOW_REINIT (Nigel Croxon) [2032272] - net: fix a memleak when uncloning an skb dst and its metadata (Hangbin Liu) [2068355] - net: do not keep the dst cache when uncloning an skb dst and its metadata (Hangbin Liu) [2068355] - net: phy: at803x: move page selection fix to config_init (Petr Oros) [2021822] - net: phylink: rejig SFP interface selection in ksettings_set() (Petr Oros) [2021822] - ptp: dp83640: don't define PAGE0 (Petr Oros) [2021822] - net: phylink: Update SFP selected interface on advertising changes (Petr Oros) [2021822] - net: phy: marvell10g: fix broken PHY interrupts for anyone after us in the driver probe list (Petr Oros) [2021822] - net: phy: marvell: Add WAKE_PHY support to WOL event (Petr Oros) [2021822] - net: phy: micrel: Fix link detection on ksz87xx switch" (Petr Oros) [2021822] - net: phy: micrel: Fix detection of ksz87xx switch (Petr Oros) [2021822] - net: phy: broadcom: re-add check for PHY_BRCM_DIS_TXCRXC_NOENRGY on the BCM54811 PHY (Petr Oros) [2021822] - net: phy: at803x: simplify custom phy id matching (Petr Oros) [2021822] - net: phy: intel-xway: Add RGMII internal delay configuration (Petr Oros) [2021822] - net: phylink: cleanup ksettings_set (Petr Oros) [2021822] - net: phylink: add phy change pause mode debug (Petr Oros) [2021822] - net: phy: add API to read 802.3-c45 IDs (Petr Oros) [2021822] - net: phy: Fix data type in DP83822 dp8382x_disable_wol() (Petr Oros) [2021822] - net: phy: marvell10g: enable WoL for 88X3310 and 88E2110 (Petr Oros) [2021822] - net: phy: marvell10g: fix differentiation of 88X3310 from 88X3340 (Petr Oros) [2021822] - net: phy: replace if-else statements with switch (Petr Oros) [2021822] - net: phy: remove unnecessary line continuation (Petr Oros) [2021822] - net: phy: print the function name by __func__ instead of an fixed string (Petr Oros) [2021822] - net: phy: fix formatting issues with braces (Petr Oros) [2021822] - net: phy: fix space alignment issues (Petr Oros) [2021822] - net: phy: delete repeated words of comments (Petr Oros) [2021822] - net: phy: correct format of block comments (Petr Oros) [2021822] - net: phy: change format of some declarations (Petr Oros) [2021822] - net: phy: micrel: remove redundant assignment to pointer of_node (Petr Oros) [2021822] - net: phy: dp83867: perform soft reset and retain established link (Petr Oros) [2021822] - net: phy: do not print dump stack if device was removed (Petr Oros) [2021822] - net: phy: probe for C45 PHYs that return PHY ID of zero in C22 space (Petr Oros) [2021822] - net: phy: marvell: use phy_modify_changed() for marvell_set_polarity() (Petr Oros) [2021822] - net: phy: Fix inconsistent indenting (Petr Oros) [2021822] - net: mdiobus: get rid of a BUG_ON() (Petr Oros) [2021822] - net: phy: marvell: enable downshift by default (Petr Oros) [2021822] - net: phy: marvell: add downshift support for M88E1240 (Petr Oros) [2021822] - net: phy: marvell: fix m88e1111_set_downshift (Petr Oros) [2021822] - net: phy: marvell: fix m88e1011_set_downshift (Petr Oros) [2021822] - net: phy: marvell: don't use empty switch default case (Petr Oros) [2021822] - net: phy: intel-xway: enable integrated led functions (Petr Oros) [2021822] - net: phy: at803x: fix probe error if copper page is selected (Petr Oros) [2021822] - net: phy: marvell: add support for Amethyst internal PHY (Petr Oros) [2021822] - net: dsa: mv88e6xxx: simulate Amethyst PHY model number (Petr Oros) [2021822] - net: phy: marvell: use assignment by bitwise AND operator (Petr Oros) [2021822] - net: phy: marvell: fix HWMON enable register for 6390 (Petr Oros) [2021822] - net: phy: marvell: refactor HWMON OOP style (Petr Oros) [2021822] - net: phy: at803x: select correct page on config init (Petr Oros) [2021822] - net: phy: marvell: fix detection of PHY on Topaz switches (Petr Oros) [2021822] - net: phy: marvell10g: change module description (Petr Oros) [2021822] - net: phy: marvell10g: differentiate 88E2110 vs 88E2111 (Petr Oros) [2021822] - net: phy: add constants for 2.5G and 5G speed in PCS speed register (Petr Oros) [2021822] - net: phy: marvell10g: fix driver name for mv88e2110 (Petr Oros) [2021822] - net: phy: marvell10g: add separate structure for 88X3340 (Petr Oros) [2021822] - net: phy: marvell10g: support other MACTYPEs (Petr Oros) [2021822] - net: phy: marvell10g: store temperature read method in chip strucutre (Petr Oros) [2021822] - net: phy: marvell10g: check for correct supported interface mode (Petr Oros) [2021822] - net: phy: marvell10g: support all rate matching modes (Petr Oros) [2021822] - net: phy: marvell10g: add MACTYPE definitions for 88E21xx (Petr Oros) [2021822] - net: phy: marvell10g: add all MACTYPE definitions for 88X33x0 (Petr Oros) [2021822] - net: phy: marvell10g: indicate 88X33x0 only port control registers (Petr Oros) [2021822] - net: phy: marvell10g: allow 5gbase-r and usxgmii (Petr Oros) [2021822] - net: phy: marvell10g: fix typo (Petr Oros) [2021822] - net: phy: marvell10g: rename register (Petr Oros) [2021822] - net: fec: use mac-managed PHY PM (Petr Oros) [2021822] - net: phy: broadcom: Add statistics for all Gigabit PHYs (Petr Oros) [2021822] - net: phy: broadcom: Only advertise EEE for supported modes (Petr Oros) [2021822] - net: phy: remove repeated word (Petr Oros) [2021822] - net: phy: Correct function name mdiobus_register_board_info() in comment (Petr Oros) [2021822] - net: phy: lan87xx: fix access to wrong register of LAN87xx (Petr Oros) [2021822] - net: phy: at803x: remove at803x_aneg_done() (Petr Oros) [2021822] - net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M (Petr Oros) [2021822] - docs: networking: phy: Improve placement of parenthesis (Petr Oros) [2021822] - net: phy: broadcom: Add power down exit reset state delay (Petr Oros) [2021822] - net: phy: make mdio_bus_phy_suspend/resume as __maybe_unused (Petr Oros) [2021822] - net: mdio: Remove of_phy_attach() (Petr Oros) [2021822] - net: phy: broadcom: Do not modify LED configuration for SFP module PHYs (Petr Oros) [2021822] - net: phy: Add is_on_sfp_module flag and phy_on_sfp helper (Petr Oros) [2021822] - net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S (Petr Oros) [2021822] - net: phy: marvell: Ensure SGMII auto-negotiation is enabled for 88E1111 (Petr Oros) [2021822] - net: phylink: Add 5gbase-r support (Petr Oros) [2021822] - net: phy: Add 5GBASER interface mode (Petr Oros) [2021822] - net: phy: rename PHY_IGNORE_INTERRUPT to PHY_MAC_INTERRUPT (Petr Oros) [2021822] - net: phy: at803x: add MDIX support to AR8031/33 (Petr Oros) [2021822] - net: phy: broadcom: Allow BCM54210E to configure APD (Petr Oros) [2021822] - net: phy: broadcom: Remove unused flags (Petr Oros) [2021822] - net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay() (Petr Oros) [2021822] - net: phy: consider that suspend2ram may cut off PHY power (Petr Oros) [2021822] - net: phy: bcm7xxx: Add an entry for BCM72116 (Petr Oros) [2021822] - net: mdiobus: Remove WARN_ON_ONCE(in_interrupt()) (Petr Oros) [2021822] - net: Use kobj_to_dev() API (Petr Oros) [2021822] - net: phy: Fixup kernel doc (Petr Oros) [2021822] - net: phy: bcm7xxx: Add an entry for BCM72113 (Petr Oros) [2021822] - net: phy: mchp: Add support for LAN8814 QUAD PHY (Petr Oros) [2021822] - net: dp83867: Fix WoL SecureOn password (Petr Oros) [2021822] - net: phy: at803x: constify static regulator_ops (Petr Oros) [2021822] - net: phy: marvell10g: support XFI rate matching mode (Petr Oros) [2021822] - net: switch to using PHY_INTERFACE_MODE_10GBASER rather than 10GKR (Petr Oros) [2021822] - netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() (Phil Sutter) [1896241] - net: do not reuse skbuff allocated from skbuff_fclone_cache in the skb cache (Ivan Vecera) [2069781] - skbuff: queue NAPI_MERGED_FREE skbs into NAPI cache instead of freeing (Ivan Vecera) [2069781] - skbuff: allow to use NAPI cache from __napi_alloc_skb() (Ivan Vecera) [2069781] - skbuff: allow to optionally use NAPI cache from __alloc_skb() (Ivan Vecera) [2069781] - skbuff: introduce {,__}napi_build_skb() which reuses NAPI cache heads (Ivan Vecera) [2069781] - skbuff: move NAPI cache declarations upper in the file (Ivan Vecera) [2069781] - skbuff: remove __kfree_skb_flush() (Ivan Vecera) [2069781] - skbuff: use __build_skb_around() in __alloc_skb() (Ivan Vecera) [2069781] - skbuff: simplify __alloc_skb() a bit (Ivan Vecera) [2069781] - skbuff: make __build_skb_around() return void (Ivan Vecera) [2069781] - skbuff: simplify kmalloc_reserve() (Ivan Vecera) [2069781] - skbuff: move __alloc_skb() next to the other skb allocation functions (Ivan Vecera) [2069781] - net: Introduce {netdev,napi}_alloc_frag_align() (Ivan Vecera) [2069781] - mm: page_frag: Introduce page_frag_alloc_align() (Ivan Vecera) [2069781] - perf tests attr: Add missing topdown metrics events (Michael Petlan) [1986275] - cifs: Return correct error code from smb2_get_enc_key (Ronnie Sahlberg) [2058369] - ipv4: avoid using shared IP generator for connected sockets (Paolo Abeni) [2062427] {CVE-2020-36516} - crypto: cryptd - Fix skcipher instance memory leak (Vladis Dronov) [2004344] - EVM: fix the evm= __setup handler return value (Bruno Meneguele) [2063900] - integrity: include keyring name for unknown key request (Bruno Meneguele) [2063900] - ima: limit secure boot feedback scope for appraise (Bruno Meneguele) [2063900] - integrity: invalid kernel parameters feedback (Bruno Meneguele) [2063900] - ima: add check for enforced appraise option (Bruno Meneguele) [2063900] - ima: Allow template selection with ima_template[_fmt]= after ima_hash= (Bruno Meneguele) [2063900] - ima: Remove ima_policy file before directory (Bruno Meneguele) [2063900] - integrity: check the return value of audit_log_start() (Bruno Meneguele) [2063900] - ima: fix deadlock when traversing "ima_default_rules". (Bruno Meneguele) [2063900] - evm: Introduce evm_revalidate_status() (Bruno Meneguele) [2063900] - evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded (Bruno Meneguele) [2063900] - evm: Load EVM key in ima_load_x509() to avoid appraisal (Bruno Meneguele) [2063900] - evm: Execute evm_inode_init_security() only when an HMAC key is loaded (Bruno Meneguele) [2063900] - fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum (Bruno Meneguele) [2063900] - RHEL-only: KVM: selftests: Fix AArch64 compilation (Andrew Jones) [2071997] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Andrew Jones) [2071997] - RHEL-only: KVM: selftests: Remove unused modes (Andrew Jones) [2071997]- netfilter: nf_tables_offload: incorrect flow offload action array size (Florian Westphal) [2056728] {CVE-2022-25636} - netfilter: nftables_offload: KASAN slab-out-of-bounds Read in nft_flow_rule_create (Florian Westphal) [2056728] - KVM: SVM: Allow AVIC support on system w/ physical APIC ID > 255 (Bandan Das) [2033068] - PCI/ACPI: Fix acpi_pci_osc_control_set() kernel-doc comment (Mark Langsdorf) [2049209] - PCI/ACPI: Check for _OSC support in acpi_pci_osc_control_set() (Mark Langsdorf) [2049209] - PCI/ACPI: Move _OSC query checks to separate function (Mark Langsdorf) [2049209] - PCI/ACPI: Move supported and control calculations to separate functions (Mark Langsdorf) [2049209] - PCI/ACPI: Remove OSC_PCI_SUPPORT_MASKS and OSC_PCI_CONTROL_MASKS (Mark Langsdorf) [2049209] - kabi: Adding symbol blkdev_get_by_dev (fs/block_dev.c) (Čestmír Kalina) [2010296] - kabi: Adding symbol thaw_bdev (fs/block_dev.c) (Čestmír Kalina) [2010296] - kabi: Adding symbol freeze_bdev (fs/block_dev.c) (Čestmír Kalina) [2010296] - s390/cio: make ccw_device_dma_* more robust (Thomas Huth) [2066709] - perf/x86/intel/uncore: Make uncore_discovery clean for 64 bit addresses (Michael Petlan) [2069237] - redhat: switch secureboot kernel image signing to release keys (Augusto Caringi) - ice: xsk: Stop Rx processing when ntc catches ntu (Ivan Vecera) [2069082] - ice: xsk: Fix indexing in ice_tx_xsk_pool() (Ivan Vecera) [2069082] - ice: Fix kernel crash in XDP scenario (Ivan Vecera) [2069082]- do_wait: make PIDTYPE_PID case O(1) instead of O(n) (Nico Pache) [2055973] - n_tty: wake up poll(POLLRDNORM) on receiving data (Rafael Aquini) [2033338] - powerpc/papr_scm: Implement initial support for injecting smart errors (Steve Best) [1987103] - mm: memcg: synchronize objcg lists with a dedicated spinlock (Rafael Aquini) [2064847] - kasan: fix quarantine conflicting with init_on_free (Rafael Aquini) [2064847] - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() (Rafael Aquini) [2064847] - mm/memcg: relocate mod_objcg_mlstate(), get_obj_stock() and put_obj_stock() (Rafael Aquini) [2064847] - mm: move node_reclaim_distance to fix NUMA without SMP (Rafael Aquini) [2064847] - vmalloc: choose a better start address in vm_area_register_early() (Rafael Aquini) [2064847] - mm/vmalloc: check various alignments when debugging (Rafael Aquini) [2064847] - mm/vmalloc: don't allow VM_NO_GUARD on vmap() (Rafael Aquini) [2064847] - mm, thp: bail out early in collapse_file for writeback page (Rafael Aquini) [2064847] - mm/sparse: set SECTION_NID_SHIFT to 6 (Rafael Aquini) [2064847] - mm/memory_hotplug: fix kerneldoc comment for __remove_memory (Rafael Aquini) [2064847] - mm: fix memory_failure() handling of dax-namespace metadata (Rafael Aquini) [2064847] - mm: teach pfn_to_online_page() about ZONE_DEVICE section collisions (Rafael Aquini) [2064847] - mm: teach pfn_to_online_page() to consider subsection validity (Rafael Aquini) [2064847] - mm: move pfn_to_online_page() out of line (Rafael Aquini) [2064847] - Revert "mm: use early_pfn_to_nid in page_ext_init" (Rafael Aquini) [2064847] - x86/mm: Fix kern_addr_valid() to cope with existing but not present entries (Rafael Aquini) [2064847] - powerpc/book3s64: Fix error handling in mm_iommu_do_alloc() (Rafael Aquini) [2064847] - powerpc/pkeys: remove unused pkey_allows_readwrite (Rafael Aquini) [2064847] - x86/hyperv: Output host build info as normal Windows version number (Vitaly Kuznetsov) [2060700] - powerpc/smp: Update cpu_core_map on all PowerPc systems (Diego Domingos) [2064104] - crypto: ccp - ccp_dmaengine_unregister release dma channels (Vladis Dronov) [2015374] - crypto: ccp - remove redundant ret variable (Vladis Dronov) [2015374] - crypto: ccp - Ensure psp_ret is always init'd in __sev_platform_init_locked() (Vladis Dronov) [2015374] - crypto: ccp - remove unneeded semicolon (Vladis Dronov) [2015374] - crypto: ccp - Add SEV_INIT_EX support (Vladis Dronov) [2015374] - crypto: ccp - Add psp_init_on_probe module parameter (Vladis Dronov) [2015374] - crypto: ccp - Refactor out sev_fw_alloc() (Vladis Dronov) [2015374] - crypto: ccp - Move SEV_INIT retry for corrupted data (Vladis Dronov) [2015374] - crypto: ccp - Add SEV_INIT rc error logging on init (Vladis Dronov) [2015374] - crypto: ccp - no need to initialise statics to 0 (Vladis Dronov) [2015374] - ccp: ccp - add support for Green Sardine (Vladis Dronov) [2015374] - crypto: ccp - fix command queuing to TEE ring buffer (Vladis Dronov) [2015374] - crypto: ccp - reduce tee command status polling interval from 5ms to 1ms (Vladis Dronov) [2015374] - crypto: ccp - provide in-kernel API to submit TEE commands (Vladis Dronov) [2015374] - crypto: ccp - add TEE support for Raven Ridge (Vladis Dronov) [2015374] - crypto: ccp - check whether PSP supports SEV or TEE before initialization (Vladis Dronov) [2015374] - ice: Allow to pass VLAN tagged packets to VF when port VLAN is configured (Ivan Vecera) [2071027] - tools headers UAPI: Sync linux/perf_event.h with the kernel sources (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if PMI is pending (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Only define power_pmu_wants_prompt_pmi() for CONFIG_PPC64 (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Add data source encodings for power10 platform (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Add encodings to represent data based on newer composite PERF_MEM_LVLNUM* fields (Desnes A. Nunes do Rosario) [1992813] - perf: Add new macros for mem_hops field (Desnes A. Nunes do Rosario) [1992813] - tools headers UAPI: Add new macros for mem_hops field to perf_event.h (Desnes A. Nunes do Rosario) [1992813] - bpf: Remove config check to enable bpf support for branch records (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Update global/local variants for p_stage_cyc (Desnes A. Nunes do Rosario) [1992813] - perf sort: Include global and local variants for p_stage_cyc sort key (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'p_stage_cyc' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'ins_lat' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf sort: Fix the 'weight' sort key behavior (Desnes A. Nunes do Rosario) [1992813] - perf vendor events power10: Add metric events JSON file for power10 platform (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Add support to expose instruction and data address registers as part of extended regs (Desnes A. Nunes do Rosario) [1992813] - perf powerpc: Refactor the code definition of perf reg extended mask in tools side header file (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Expose instruction and data address registers as part of extended regs (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Refactor the code definition of perf reg extended mask (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix data source encodings for L2.1 and L3.1 accesses (Desnes A. Nunes do Rosario) [1992813] - tools/perf: Add mem_hops field in perf_mem_data_src structure (Desnes A. Nunes do Rosario) [1992813] - perf: Add mem_hops field in perf_mem_data_src structure (Desnes A. Nunes do Rosario) [1992813] - perf: Add comment about current state of PERF_MEM_LVL_* namespace and remove an extra line (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix the check for SIAR value (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Drop the case of returning 0 as instruction pointer (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Use stack siar instead of mfspr (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf/hv-gpci: Fix counter value parsing (Desnes A. Nunes do Rosario) [1992813] - powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an overflown PMC (Desnes A. Nunes do Rosario) [1992813] - CI: Remove deprecated option (Veronika Kabatova)- bareudp: use ipv6_mod_enabled to check if IPv6 enabled (Hangbin Liu) [2063813] - powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties() (Diego Domingos) [2048218] - redhat: copy rpminspect to dist-git repo (Jarod Wilson) - configs: enable CONFIG_RMI4_F3A (Benjamin Tissoires) [2067219] - Input: synaptics-rmi4 - add support for F3A (Benjamin Tissoires) [2067219] - RDMA/cma: Do not change route.addr.src_addr.ss_family (Kamal Heib) [2032074] {CVE-2021-4028} - drm/i915/adl_s: Remove require_force_probe protection (Michel Dänzer) [2025896] - drm/i915/adl_s: Update ADL-S PCI IDs (Michel Dänzer) [2025896] - drm/i915: Limit Wa_22010178259 to affected platforms (Michel Dänzer) [2025896] - drm/i915/adl_s: Fix dma_mask_size to 39 bit (Michel Dänzer) [2025896] - drm/i915/dmc: Update DMC to v2.14 on ADL-P (Michel Dänzer) [2060051] - drm/i915: Update memory bandwidth formulae (Michel Dänzer) [2060051] - drm/i915/fb: Fold modifier CCS type/tiling attribute to plane caps (Michel Dänzer) [2060051] - drm/i915/fb: Don't store bitmasks in the intel_plane_caps enum (Michel Dänzer) [2060051] - drm/i915/adl_p: Add ddc pin mapping (Michel Dänzer) [2060051] - iommu/amd: Fix I/O page table memory leak (Jerry Snitselaar) [2053210] - iommu/amd: Recover from event log overflow (Jerry Snitselaar) [2053210]- redhat: tune rpminspect w/additions from rhel9 branch (Jarod Wilson) - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for persistent memory" (Steve Best) [2056080] - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms (Prarit Bhargava) [1971939] - x86/tsc: Add a timer to make sure TSC_adjust is always checked (Prarit Bhargava) [1971939] - x86/hpet: Use another crystalball to evaluate HPET usability (Prarit Bhargava) [1971939] - x86/tsc: Respect tsc command line paraemeter for clocksource_tsc_early (Prarit Bhargava) [1971939] - [s390] s390/pci: fix zpci_zdev_put() on reserve (Claudio Imbrenda) [2039185] - [s390] s390/pci: fix use after free of zpci_dev (Claudio Imbrenda) [2039185] - [s390] s390/cio: make ccw_device_dma_* more robust (Claudio Imbrenda) [2039186] - [s390] s390/pci: add s390_iommu_aperture kernel parameter (Claudio Imbrenda) [2039181] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Paul Lai) [1918929] - kvm: selftests: sync uapi/linux/kvm.h with Linux header (Paul Lai) [1918929] - kvm: selftests: conditionally build vm_xsave_req_perm() (Paul Lai) [1918929] - x86/kvm/fpu: Remove kvm_vcpu_arch.guest_supported_xcr0 (Paul Lai) [1918929] - x86/kvm/fpu: Limit guest user_xfeatures to supported bits of XCR0 (Paul Lai) [1918929] - KVM: x86/cpuid: Exclude unpermitted xfeatures sizes at KVM_GET_SUPPORTED_CPUID (Paul Lai) [1918929] - KVM: x86: Move CPUID.(EAX=0x12,ECX=1) mangling to __kvm_update_cpuid_runtime() (Paul Lai) [1918929] - KVM: x86/cpuid: Clear XFD for component i if the base feature is missing (Paul Lai) [1918929] - KVM: x86: Do runtime CPUID update before updating vcpu->arch.cpuid_entries (Paul Lai) [1918929] - x86/fpu: Fix inline prefix warnings (Paul Lai) [1918929] - selftest: kvm: Add amx selftest (Paul Lai) [1918929] - selftest: kvm: Move struct kvm_x86_state to header (Paul Lai) [1918929] - selftest: kvm: Reorder vcpu_load_state steps for AMX (Paul Lai) [1918929] - kvm: x86: Disable interception for IA32_XFD on demand (Paul Lai) [1918929] - x86/fpu: Provide fpu_sync_guest_vmexit_xfd_state() (Paul Lai) [1918929] - kvm: selftests: Add support for KVM_CAP_XSAVE2 (Paul Lai) [1918929] - kvm: x86: Add support for getting/setting expanded xstate buffer (Paul Lai) [1918929] - x86/fpu: Add uabi_size to guest_fpu (Paul Lai) [1918929] - kvm: x86: Add CPUID support for Intel AMX (Paul Lai) [1918929] - kvm: x86: Add XCR0 support for Intel AMX (Paul Lai) [1918929] - kvm: x86: Disable RDMSR interception of IA32_XFD_ERR (Paul Lai) [1918929] - kvm: x86: Emulate IA32_XFD_ERR for guest (Paul Lai) [1918929] - kvm: x86: Intercept #NM for saving IA32_XFD_ERR (Paul Lai) [1918929] - x86/fpu: Prepare xfd_err in struct fpu_guest (Paul Lai) [1918929] - kvm: x86: Add emulation for IA32_XFD (Paul Lai) [1918929] - x86/fpu: Provide fpu_update_guest_xfd() for IA32_XFD emulation (Paul Lai) [1918929] - kvm: x86: Enable dynamic xfeatures at KVM_SET_CPUID2 (Paul Lai) [1918929] - x86/fpu: Provide fpu_enable_guest_xfd_features() for KVM (Paul Lai) [1918929] - x86/fpu: Add guest support to xfd_enable_feature() (Paul Lai) [1918929] - x86/fpu: Make XFD initialization in __fpstate_reset() a function argument (Paul Lai) [1918929] - kvm: x86: Exclude unpermitted xfeatures at KVM_GET_SUPPORTED_CPUID (Paul Lai) [1918929] - kvm: x86: Fix xstate_required_size() to follow XSTATE alignment rule (Paul Lai) [1918929] - x86/fpu: Prepare guest FPU for dynamically enabled FPU features (Paul Lai) [1918929] - x86/fpu: Extend fpu_xstate_prctl() with guest permissions (Paul Lai) [1918929] - kvm: selftests: move ucall declarations into ucall_common.h (Paul Lai) [1918929] - kvm: selftests: move base kvm_util.h declarations to kvm_util_base.h (Paul Lai) [1918929] - cpuid: kvm_find_kvm_cpuid_features() should be declared 'static' (Paul Lai) [1918929] - KVM: x86: Make sure KVM_CPUID_FEATURES really are KVM_CPUID_FEATURES (Paul Lai) [1918929] - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows (Paul Lai) [1918929]- scsi: mpi3mr: Fix flushing !WQ_MEM_RECLAIM events warning (Tomas Henzl) [2052278] - scsi: mpi3mr: Fix memory leaks (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix reporting of actual data transfer size (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix cmnd getting marked as in use forever (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix hibernation issue (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix printing of pending I/O count (Tomas Henzl) [2054814] - scsi: mpi3mr: Fix deadlock while canceling the fw event (Tomas Henzl) [2054814] - scsi: mpi3mr: Fixes around reply request queues (Tomas Henzl) [2054814] - scsi: mpi3mr: Enhanced Task Management Support Reply handling (Tomas Henzl) [2054814] - scsi: mpi3mr: Use TM response codes from MPI3 headers (Tomas Henzl) [2054814] - scsi: mpi3mr: Increase internal cmnds timeout to 60s (Tomas Henzl) [2054814] - scsi: mpi3mr: Do access status validation before adding devices (Tomas Henzl) [2054814] - scsi: mpi3mr: Update MPI3 headers - part2 (Tomas Henzl) [2054814] - scsi: mpi3mr: Update MPI3 headers - part1 (Tomas Henzl) [2054814] - scsi: mpi3mr: Don't reset IOC if cmnds flush with reset status (Tomas Henzl) [2054814] - scsi: mpi3mr: Replace spin_lock() with spin_lock_irqsave() (Tomas Henzl) [2054814] - scsi: mpi3mr: Add debug APIs based on logging_level bits (Tomas Henzl) [2054814] - scsi: mpt3sas: Remove scsi_dma_map() error messages (Tomas Henzl) [2057021] - net/mlx5: Fix wrong limitation of metadata match on ecpf (Amir Tzin) [2049094] - nfsd: fix use-after-free due to delegation race (Thiago Becker) [2053262] - dma-buf: cma_heap: Fix mutex locking section (Michel Dänzer) [2044440] - drm/amdkfd: Check for null pointer after calling kmemdup (Michel Dänzer) [2044440] - drm/atomic: Check new_crtc_state->active to determine if CRTC needs disable in self refresh mode (Michel Dänzer) [2044440] - drm/amd: avoid suspend on dGPUs w/ s2idle support when runtime PM enabled (Michel Dänzer) [2044440] - drm/i915/overlay: Prevent divide by zero bugs in scaling (Michel Dänzer) [2044440] - dma-buf: heaps: Fix potential spectre v1 gadget (Michel Dänzer) [2044440] - drm/amd/display: Force link_rate as LINK_RATE_RBR2 for 2018 15" Apple Retina panels (Michel Dänzer) [2044440] - drm/amd/display: watermark latencies is not enough on DCN31 (Michel Dänzer) [2044440] - drm/amd/pm: correct the MGpuFanBoost support for Beige Goby (Michel Dänzer) [2044440] - drm/i915/adlp: Fix TypeC PHY-ready status readout (Michel Dänzer) [2044440] - drm/nouveau: fix off by one in BIOS boundary checking (Michel Dänzer) [2044440] - drm/i915: Disable DSB usage for now (Michel Dänzer) [2044440] - Revert "drm/ast: Support 1600x900 with 108MHz PCLK" (Michel Dänzer) [2044440] - drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw. (Michel Dänzer) [2044440] - drm/atomic: Add the crtc to affected crtc only if uapi.enable = true (Michel Dänzer) [2044440] - drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 (Michel Dänzer) [2044440] - drm/amd/display: reset dcn31 SMU mailbox on failures (Michel Dänzer) [2044440] - drm/vmwgfx: Remove explicit transparent hugepages support (Michel Dänzer) [2044440] - drm/radeon: fix error handling in radeon_driver_open_kms (Michel Dänzer) [2044440] - drm/i915/display/ehl: Update voltage swing table (Michel Dänzer) [2044440] - drm/nouveau/kms/nv04: use vzalloc for nv04_display (Michel Dänzer) [2044440] - drm/amd/display: Fix the uninitialized variable in enable_stream_features() (Michel Dänzer) [2044440] - amdgpu/pm: Make sysfs pm attributes as read-only for VFs (Michel Dänzer) [2044440] - drm/amdgpu: fixup bad vram size on gmc v8 (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix gmc bo pin count leak in SRIOV (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV (Michel Dänzer) [2044440] - drm/amdkfd: Fix error handling in svm_range_add (Michel Dänzer) [2044440] - drm/vmwgfx: Introduce a new placement for MOB page tables (Michel Dänzer) [2044440] - drm/vmwgfx: Release ttm memory if probe fails (Michel Dänzer) [2044440] - drm/amd/display: add else to avoid double destroy clk_mgr (Michel Dänzer) [2044440] - drm/amdgpu/display: set vblank_disable_immediate for DC (Michel Dänzer) [2044440] - drm/amd/display: check top_pipe_to_program pointer (Michel Dänzer) [2044440] - drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L (Michel Dänzer) [2044440] - drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs (Michel Dänzer) [2044440] - drm/amd/display: Fix bug in debugfs crc_win_update entry (Michel Dänzer) [2044440] - drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms() (Michel Dänzer) [2044440] - drm/amdgpu: Fix a NULL pointer dereference in amdgpu_connector_lcd_native_mode() (Michel Dänzer) [2044440] - drm/vmwgfx: Fail to initialize on broken configs (Michel Dänzer) [2044440] - drm/vmwgfx: Remove the deprecated lower mem limit (Michel Dänzer) [2044440] - drm/vboxvideo: fix a NULL vs IS_ERR() check (Michel Dänzer) [2044440] - drm: fix null-ptr-deref in drm_dev_init_release() (Michel Dänzer) [2044440] - drm/ttm: Put BO in its memory manager's lru list (Michel Dänzer) [2044440] - dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() (Michel Dänzer) [2044440] - drm/amd/display: explicitly set is_dsc_supported to false before use (Michel Dänzer) [2044440] - drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() (Michel Dänzer) [2044440] - drm/amd/pm: keep the BACO feature enabled for suspend (Michel Dänzer) [2044440] - Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" (Michel Dänzer) [2044440] - drm/amd/display: Added power down for DCN10 (Michel Dänzer) [2044440] - drm/amd/display: fix B0 TMDS deepcolor no dislay issue (Michel Dänzer) [2044440] - drm/amdgpu: put SMU into proper state on runpm suspending for BOCO capable platform (Michel Dänzer) [2044440] - drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume (Michel Dänzer) [2044440] - drm/amd/pm: Fix xgmi link control on aldebaran (Michel Dänzer) [2044440] - drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify (Michel Dänzer) [2044440] - drm/amd/display: Changed pipe split policy to allow for multi-display pipe split (Michel Dänzer) [2044440] - drm/amdgpu: add support for IP discovery gc_info table v2 (Michel Dänzer) [2044440] - drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly enabled (Michel Dänzer) [2044440] - drm/nouveau: wait for the exclusive fence after the shared ones v2 (Michel Dänzer) [2044440] - drm/nouveau: always wait for the exclusive fence (Michel Dänzer) [2044440] - drm/amd/display: Set optimize_pwr_state for DCN31 (Michel Dänzer) [2044440] - drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization (Michel Dänzer) [2044440] - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC (Michel Dänzer) [2044440] - drm/amdgpu: don't override default ECO_BITs setting (Michel Dänzer) [2044440] - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE (Michel Dänzer) [2044440] - drm/amd/pm: fix a potential gpu_metrics_table memory leak (Michel Dänzer) [2044440] - drm/amd/display: Set exit_optimized_pwr_state for DCN31 (Michel Dänzer) [2044440] - drm/i915/display: Fix an unsigned subtraction which can never be negative. (Michel Dänzer) [2044440] - drm/ast: potential dereference of null pointer (Michel Dänzer) [2044440] - drm: simpledrm: fix wrong unit with pixel clock (Michel Dänzer) [2044440] - Revert "drm/fb-helper: improve DRM fbdev emulation device names" (Michel Dänzer) [2044440] - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() (Michel Dänzer) [2044440] - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 (Michel Dänzer) [2044440] - drm/amdkfd: process_info lock not needed for svm (Michel Dänzer) [2044440] - drm/amd/display: add connector type check for CRC source set (Michel Dänzer) [2044440] - drm/amdkfd: fix double free mem structure (Michel Dänzer) [2044440] - drm/amd/display: Fix for the no Audio bug with Tiled Displays (Michel Dänzer) [2044440] - drm/amdgpu: check atomic flag to differeniate with legacy path (Michel Dänzer) [2044440] - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset (Michel Dänzer) [2044440] - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. (Michel Dänzer) [2044440] - drm/i915/dp: Perform 30ms delay after source OUI write (Michel Dänzer) [2044440] - drm/amd/display: Allow DSC on supported MST branch devices (Michel Dänzer) [2044440] - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow (Michel Dänzer) [2044440] - drm/amd/amdgpu: fix potential memleak (Michel Dänzer) [2044440] - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again (Michel Dänzer) [2044440] - drm/amd/pm: Remove artificial freq level on Navi1x (Michel Dänzer) [2044440] - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ (Michel Dänzer) [2044440] - drm/amd/display: Set plane update flags for all planes in reset (Michel Dänzer) [2044440] - drm/amd/display: Fix DPIA outbox timeout after GPU reset (Michel Dänzer) [2044440] - drm/aspeed: Fix vga_pw sysfs output (Michel Dänzer) [2044440] - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks (Michel Dänzer) [2044440] - drm/amd/display: Fix OLED brightness control on eDP (Michel Dänzer) [2044440] - drm/amdgpu: IH process reset count when restart (Michel Dänzer) [2044440] - drm/amd/pm: avoid duplicate powergate/ungate setting (Michel Dänzer) [2044440] - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors (Michel Dänzer) [2044440] - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms (Michel Dänzer) [2044440] - drm/i915/dp: Ensure max link params are always valid (Michel Dänzer) [2044440] - drm/i915/dp: Ensure sink rate values are always valid (Michel Dänzer) [2044440] - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap (Michel Dänzer) [2044440] - drm/udl: fix control-message timeout (Michel Dänzer) [2044440] - drm/amd/display: Limit max DSC target bpp for specific monitors (Michel Dänzer) [2044440] - drm/amd/display: Update swizzle mode enums (Michel Dänzer) [2044440] - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() (Michel Dänzer) [2044440] - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" (Michel Dänzer) [2044440] - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame (Michel Dänzer) [2044440] - x86/speculation: Check CPU capability before applying IBRS spectre v2 mitigation (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Warn about Spectre v2 LFENCE mitigation (Waiman Long) [2062156 2062166] {CVE-2022-0001 CVE-2022-0002 CVE-2021-26401} - x86/speculation: Update link to AMD speculation whitepaper (Waiman Long) [2062166] {CVE-2021-26401} - x86/speculation: Use generic retpoline by default on AMD (Waiman Long) [2062166] {CVE-2021-26401} - x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - Documentation/hw-vuln: Update spectre doc (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86/speculation: Add eIBRS + Retpoline options (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86,bugs: Unconditionally allow spectre_v2=retpoline,amd (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - x86: deduplicate the spectre_v2_user documentation (Waiman Long) [2062156] {CVE-2022-0001 CVE-2022-0002} - fuse: fix pipe buffer lifetime for direct_io (Miklos Szeredi) [2064863] {CVE-2022-1011} - ice: Do not enable VLAN pruning when spoofchk is enabled (Ivan Vecera) [2062343] - ice: don't allow to run ice_send_event_to_aux() in atomic ctx (Ivan Vecera) [2062343] - ice: fix 'scheduling while atomic' on aux critical err interrupt (Ivan Vecera) [2062343] - ice: Fix MAC address setting (Ivan Vecera) [2062343] - ice: Clear default forwarding VSI during release (Ivan Vecera) [2062343] - ice: Fix broken IFF_ALLMULTI handling (Ivan Vecera) [2062343] - iavf: Fix hang during reboot/shutdown (Ivan Vecera) [2062343] - iavf: Fix double free in iavf_reset_task (Ivan Vecera) [2062343] - ice: destroy flow director filter mutex after releasing VSIs (Ivan Vecera) [2062343] - ice: fix NULL pointer dereference in ice_update_vsi_tx_ring_stats() (Ivan Vecera) [2062343] - iavf: Fix adopting new combined setting (Ivan Vecera) [2062343] - iavf: Fix handling of vlan strip virtual channel messages (Ivan Vecera) [2062343] - iavf: Fix __IAVF_RESETTING state usage (Ivan Vecera) [2062343] - iavf: Fix missing check for running netdev (Ivan Vecera) [2062343] - iavf: Fix deadlock in iavf_reset_task (Ivan Vecera) [2062343] - iavf: Fix race in init state (Ivan Vecera) [2062343] - iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS (Ivan Vecera) [2062343] - iavf: Fix init state closure on remove (Ivan Vecera) [2062343] - iavf: Add waiting so the port is initialized in remove (Ivan Vecera) [2062343] - iavf: Rework mutexes for better synchronisation (Ivan Vecera) [2062343] - iavf: remove an unneeded variable (Ivan Vecera) [2062343] - iavf: Fix limit of total number of queues to active queues of VF (Ivan Vecera) [2062343] - iavf: Restrict maximum VLAN filters for VIRTCHNL_VF_OFFLOAD_VLAN_V2 (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 offload enable/disable (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 hotpath (Ivan Vecera) [2062343] - iavf: Add support VIRTCHNL_VF_OFFLOAD_VLAN_V2 during netdev config (Ivan Vecera) [2062343] - iavf: Add support for VIRTCHNL_VF_OFFLOAD_VLAN_V2 negotiation (Ivan Vecera) [2062343] - virtchnl: Add support for new VLAN capabilities (Ivan Vecera) [2062343] - virtchnl: Use the BIT() macro for capability/offload flags (Ivan Vecera) [2062343] - virtchnl: Remove unused VIRTCHNL_VF_OFFLOAD_RSVD define (Ivan Vecera) [2062343] - virtchnl: Add missing padding to virtchnl_proto_hdrs (Ivan Vecera) [2062343] - ice: Fix race condition during interface enslave (Ivan Vecera) [2062343] - ice: Fix curr_link_speed advertised speed (Ivan Vecera) [2062343] - ice: Don't use GFP_KERNEL in atomic context (Ivan Vecera) [2062343] - ice: Fix error with handling of bonding MTU (Ivan Vecera) [2062343] - ice: stop disabling VFs due to PF error responses (Ivan Vecera) [2062343] - ice: initialize local variable 'tlv' (Ivan Vecera) [2062343] - ice: check the return of ice_ptp_gettimex64 (Ivan Vecera) [2062343] - ice: fix concurrent reset and removal of VFs (Ivan Vecera) [2062343] - ice: fix setting l4 port flag when adding filter (Ivan Vecera) [2062343] - ice: Match on all profiles in slow-path (Ivan Vecera) [2062343] - ice: enable parsing IPSEC SPI headers for RSS (Ivan Vecera) [2062343] - ice: Avoid RTNL lock when re-creating auxiliary device (Ivan Vecera) [2062343] - ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler (Ivan Vecera) [2062343] - ice: fix IPIP and SIT TSO offload (Ivan Vecera) [2062343] - ice: fix an error code in ice_cfg_phy_fec() (Ivan Vecera) [2062343] - ice: Use bitmap_free() to free bitmap (Ivan Vecera) [2062343] - ice: Optimize a few bitmap operations (Ivan Vecera) [2062343] - ice: Slightly simply ice_find_free_recp_res_idx (Ivan Vecera) [2062343] - ice: improve switchdev's slow-path (Ivan Vecera) [2062343] - ice: replay advanced rules after reset (Ivan Vecera) [2062343] - ice: Add flow director support for channel mode (Ivan Vecera) [2062343] - ice: trivial: fix odd indenting (Ivan Vecera) [2062343] - ice: support crosstimestamping on E822 devices if supported (Ivan Vecera) [2062343] - ice: exit bypass mode once hardware finishes timestamp calibration (Ivan Vecera) [2062343] - ice: ensure the hardware Clock Generation Unit is configured (Ivan Vecera) [2062343] - ice: implement basic E822 PTP support (Ivan Vecera) [2062343] - ice: convert clk_freq capability into time_ref (Ivan Vecera) [2062343] - ice: introduce ice_ptp_init_phc function (Ivan Vecera) [2062343] - ice: use 'int err' instead of 'int status' in ice_ptp_hw.c (Ivan Vecera) [2062343] - ice: PTP: move setting of tstamp_config (Ivan Vecera) [2062343] - ice: introduce ice_base_incval function (Ivan Vecera) [2062343] - ice: xsk: fix cleaned_count setting (Ivan Vecera) [2062343] - ice: xsk: allow empty Rx descriptors on XSK ZC data path (Ivan Vecera) [2062343] - ice: xsk: allocate separate memory for XDP SW ring (Ivan Vecera) [2062343] - ice: xsk: return xsk buffers back to pool when cleaning the ring (Ivan Vecera) [2062343] - ice: use modern kernel API for kick (Ivan Vecera) [2062343] - ice: tighter control over VSI_DOWN state (Ivan Vecera) [2062343] - ice: use prefetch methods (Ivan Vecera) [2062343] - ice: update to newer kernel API (Ivan Vecera) [2062343] - ice: support immediate firmware activation via devlink reload (Ivan Vecera) [2062343] - ice: reduce time to read Option ROM CIVD data (Ivan Vecera) [2062343] - ice: move ice_devlink_flash_update and merge with ice_flash_pldm_image (Ivan Vecera) [2062343] - ice: move and rename ice_check_for_pending_update (Ivan Vecera) [2062343] - ice: devlink: add shadow-ram region to snapshot Shadow RAM (Ivan Vecera) [2062343] - ice: Remove unused ICE_FLOW_SEG_HDRS_L2_MASK (Ivan Vecera) [2062343] - ice: Remove unnecessary casts (Ivan Vecera) [2062343] - ice: Propagate error codes (Ivan Vecera) [2062343] - ice: Remove excess error variables (Ivan Vecera) [2062343] - ice: Cleanup after ice_status removal (Ivan Vecera) [2062343] - ice: Remove enum ice_status (Ivan Vecera) [2062343] - ice: Use int for ice_status (Ivan Vecera) [2062343] - ice: Remove string printing for ice_status (Ivan Vecera) [2062343] - ice: Refactor status flow for DDP load (Ivan Vecera) [2062343] - ice: Refactor promiscuous functions (Ivan Vecera) [2062343] - ice: refactor PTYPE validating (Ivan Vecera) [2062343] - ice: Add package PTYPE enable information (Ivan Vecera) [2062343] - ice: safer stats processing (Ivan Vecera) [2062343] - ice: fix adding different tunnels (Ivan Vecera) [2062343] - ice: fix choosing UDP header type (Ivan Vecera) [2062343] - ice: ignore dropped packets during init (Ivan Vecera) [2062343] - ice: rearm other interrupt cause register after enabling VFs (Ivan Vecera) [2062343] - net/ice: Remove unused enum (Ivan Vecera) [2062343] - net/ice: Fix boolean assignment (Ivan Vecera) [2062343] - net/ice: Add support for enable_iwarp and enable_roce devlink param (Ivan Vecera) [2062343] - ice: avoid bpf_prog refcount underflow (Ivan Vecera) [2062343] - ice: fix vsi->txq_map sizing (Ivan Vecera) [2062343] - ice: Hide bus-info in ethtool for PRs in switchdev mode (Ivan Vecera) [2062343] - ice: Clear synchronized addrs when adding VFs in switchdev mode (Ivan Vecera) [2062343] - ice: fix error return code in ice_get_recp_frm_fw() (Ivan Vecera) [2062343] - ice: Fix clang -Wimplicit-fallthrough in ice_pull_qvec_from_rc() (Ivan Vecera) [2062343] - ice: Add support to print error on PHY FW load failure (Ivan Vecera) [2062343] - ice: Add support for changing MTU on PR in switchdev mode (Ivan Vecera) [2062343] - ice: send correct vc status in switchdev (Ivan Vecera) [2062343] - ice: support for GRE in eswitch (Ivan Vecera) [2062343] - ice: low level support for tunnels (Ivan Vecera) [2062343] - ice: VXLAN and Geneve TC support (Ivan Vecera) [2062343] - ice: support for indirect notification (Ivan Vecera) [2062343] - ice: Add tc-flower filter support for channel (Ivan Vecera) [2062343] - ice: enable ndo_setup_tc support for mqprio_qdisc (Ivan Vecera) [2062343] - ice: Add infrastructure for mqprio support via ndo_setup_tc (Ivan Vecera) [2062343] - ice: fix an error code in ice_ena_vfs() (Ivan Vecera) [2062343] - ice: use devm_kcalloc() instead of devm_kzalloc() (Ivan Vecera) [2062343] - ice: Make use of the helper function devm_add_action_or_reset() (Ivan Vecera) [2062343] - ice: Refactor PR ethtool ops (Ivan Vecera) [2062343] - ice: Forbid trusted VFs in switchdev mode (Ivan Vecera) [2062343] - ice: Manage act flags for switchdev offloads (Ivan Vecera) [2062343] - ice: introduce XDP_TX fallback path (Ivan Vecera) [2062343] - ice: optimize XDP_TX workloads (Ivan Vecera) [2062343] - ice: propagate xdp_ring onto rx_ring (Ivan Vecera) [2062343] - ice: do not create xdp_frame on XDP_TX (Ivan Vecera) [2062343] - ice: unify xdp_rings accesses (Ivan Vecera) [2062343] - ice: ndo_setup_tc implementation for PR (Ivan Vecera) [2062343] - ice: ndo_setup_tc implementation for PF (Ivan Vecera) [2062343] - ice: Allow changing lan_en and lb_en on all kinds of filters (Ivan Vecera) [2062343] - ice: cleanup rules info (Ivan Vecera) [2062343] - ice: allow deleting advanced rules (Ivan Vecera) [2062343] - ice: allow adding advanced rules (Ivan Vecera) [2062343] - ice: create advanced switch recipe (Ivan Vecera) [2062343] - ice: manage profiles and field vectors (Ivan Vecera) [2062343] - ice: implement low level recipes functions (Ivan Vecera) [2062343] - ice: add port representor ethtool ops and stats (Ivan Vecera) [2062343] - ice: switchdev slow path (Ivan Vecera) [2062343] - ice: rebuild switchdev when resetting all VFs (Ivan Vecera) [2062343] - ice: enable/disable switchdev when managing VFs (Ivan Vecera) [2062343] - ice: introduce new type of VSI for switchdev (Ivan Vecera) [2062343] - ice: set and release switchdev environment (Ivan Vecera) [2062343] - net: export metadata_dst_free() (Ivan Vecera) [2062343] - ice: allow changing lan_en and lb_en on dflt rules (Ivan Vecera) [2062343] - ice: manage VSI antispoof and destination override (Ivan Vecera) [2062343] - ice: allow process VF opcodes in different ways (Ivan Vecera) [2062343] - ice: introduce VF port representor (Ivan Vecera) [2062343] - ice: Move devlink port to PF/VF struct (Ivan Vecera) [2062343] - ice: support basic E-Switch mode control (Ivan Vecera) [2062343] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Ivan Vecera) [2062343] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Ivan Vecera) [2062343] - ice: Use xdp_buf instead of rx_buf for xsk zero-copy (Ivan Vecera) [2062343] - ice: fix FDIR init missing when reset VF (Ivan Vecera) [2062343] - intel: Remove rcu_read_lock() around XDP program invocation (Ivan Vecera) [2062343] - intel: Update drivers to use ethtool_sprintf (Ivan Vecera) [2062343] - ice: fix conversion to new udp_tunnel infrastructure (Ivan Vecera) [2062343] - intel-ethernet: clean up W=1 warnings in kdoc (Ivan Vecera) [2062343] - PCI: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Ivan Vecera) [2062343] - treewide: Use sizeof_field() macro (Ivan Vecera) [2062343] - devlink: Add 'enable_iwarp' generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_vnet" generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_rdma" generic device param (Ivan Vecera) [2062343] - devlink: Add new "enable_eth" generic device param (Ivan Vecera) [2062343] - gfs2: dequeue iopen holder in gfs2_inode_lookup error (Bob Peterson) [2061665] - redhat/configs: Increase CONFIG_LOCKDEP_CHAINS_BITS from 16 to 17 (Waiman Long) [2057339] - redhat: spec: trigger dracut when modules are installed separately (Jan Stancek) [2060237 2016948]- makefile: Add dist-* targets (Prarit Bhargava) - Fonts: Replace discarded const qualifier (Nico Pache) [1904374] - Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts (Nico Pache) [1904374] - fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h (Nico Pache) [1904374] - x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define (Prarit Bhargava) [2040021] - x86/cpu: Add Raptor Lake to Intel family (Prarit Bhargava) [2040021] - powerpc/64: Move paca allocation later in boot (Desnes A. Nunes do Rosario) [2016335] - powerpc/prom: fix early DEBUG messages (Desnes A. Nunes do Rosario) [2016335] - powerpc: Set crashkernel offset to mid of RMA region (Desnes A. Nunes do Rosario) [2016335] - KVM: x86/mmu: Don't advance iterator after restart due to yielding (Nico Pache) [2058907] - igb: refactor XDP registration (Corinna Vinschen) [2040171] - igc: avoid kernel warning when changing RX ring parameters (Corinna Vinschen) [2040171] - scsi: qedi: Fix cmd_cleanup_cmpl counter mismatch issue (Nilesh Javali) [2054565] - EDAC/amd64: Save max number of controllers for F19 M70 (Aristeu Rozanski) [2064285] - CI: Use 8.6-rt branch for rhel8 realtime_check (Chris White) - blk-mq: avoid extending delays of active hctx from blk_mq_delay_run_hw_queues (Ming Lei) [2046525] - tipc: fix incorrect order of state message data sanity check (Xin Long) [2048971] - tipc: improve size validations for received domain records (Xin Long) [2048971] {CVE-2022-0435} - efi/x86: Call efi_parse_options() from efi_main() (Lenny Szubowicz) [2049233]- net/mlx5e: TC, Remove redundant error logging (Amir Tzin) [2023907] - net/mlx5: DR, Warn on failure to destroy objects due to refcount (Amir Tzin) [2022325] - net/mlx5: DR, Add support for dumping steering info (Amir Tzin) [2022325] - net/mlx5: DR, Add missing reserved fields to dr_match_param (Amir Tzin) [2022325] - net/mlx5: DR, Add check for flex parser ID value (Amir Tzin) [2022325] - net/mlx5: DR, Rename list field in matcher struct to list_node (Amir Tzin) [2022325] - net/mlx5: DR, Remove unused struct member in matcher (Amir Tzin) [2022325] - net/mlx5: DR, Fix error flow in creating matcher (Amir Tzin) [2022325] - net/mlx5e: Avoid implicit modify hdr for decap drop rule (Amir Tzin) [2015434] - net/mlx5e: TC, Fix memory leak with rules with internal port (Amir Tzin) [2015434] - net/mlx5e: Fix skb memory leak when TC classifier action offloads are disabled (Amir Tzin) [2015434] - net/mlx5: Fix some error handling paths in 'mlx5e_tc_add_fdb_flow()' (Amir Tzin) [2015434] - net/mlx5: E-Switch, Check group pointer before reading bw_share value (Amir Tzin) [2015434] - net/mlx5: E-Switch, fix single FDB creation on BlueField (Amir Tzin) [2015434] - net/mlx5: E-switch, Respect BW share of the new group (Amir Tzin) [2015434] - net/mlx5: DR, Fix check for unsupported fields in match param (Amir Tzin) [2015434] - net/mlx5: E-Switch, rebuild lag only when needed (Amir Tzin) [2015434] - net/mlx5e: Delete forward rule for ct or sample action (Amir Tzin) [2015434] - net/mlx5: E-Switch, Use indirect table only if all destinations support it (Amir Tzin) [2015434] - net/mlx5: Support internal port as decap route device (Amir Tzin) [2015434] - net/mlx5e: Term table handling of internal port rules (Amir Tzin) [2015434] - net/mlx5e: Add indirect tc offload of ovs internal port (Amir Tzin) [2015434] - net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert (Amir Tzin) [2015434] - net/mlx5e: Offload internal port as encap route device (Amir Tzin) [2015434] - net/mlx5e: Offload tc rules that redirect to ovs internal port (Amir Tzin) [2015434] - net/mlx5e: Accept action skbedit in the tc actions list (Amir Tzin) [2015434] - net/mlx5: E-Switch, Add ovs internal port mapping to metadata support (Amir Tzin) [2015434] - net/mlx5e: Use generic name for the forwarding dev pointer (Amir Tzin) [2015434] - net/mlx5e: Refactor rx handler of represetor device (Amir Tzin) [2015434] - net/mlx5: DR, Add check for unsupported fields in match param (Amir Tzin) [2015434] - net/mlx5: Allow skipping counter refresh on creation (Amir Tzin) [2015434] - net/mlx5e: IPsec: Refactor checksum code in tx data path (Amir Tzin) [2015434] - net/mlx5: CT: Remove warning of ignore_flow_level support for VFs (Amir Tzin) [2015434] - net/mlx5: Add esw assignment back in mlx5e_tc_sample_unoffload() (Amir Tzin) [2015434] - net/mlx5: Bridge, fix uninitialized variable usage (Amir Tzin) [2015434] - net/mlx5: Lag, don't update lag if lag isn't supported (Amir Tzin) [2015434] - net/mlx5: E-switch, Return correct error code on group creation failure (Amir Tzin) [2015434] - net/mlx5: Bridge, support LAG (Amir Tzin) [2015434] - net/mlx5: Bridge, allow merged eswitch connectivity (Amir Tzin) [2015434] - net/mlx5: Bridge, extract FDB delete notification to function (Amir Tzin) [2015434] - net/mlx5: Bridge, identify port by vport_num+esw_owner_vhca_id pair (Amir Tzin) [2015434] - net/mlx5: Bridge, obtain core device from eswitch instead of priv (Amir Tzin) [2015434] - net/mlx5: Bridge, release bridge in same function where it is taken (Amir Tzin) [2015434] - net/mlx5: Lag, Create shared FDB when in switchdev mode (Amir Tzin) [2015434] - net/mlx5: E-Switch, add logic to enable shared FDB (Amir Tzin) [2015434] - net/mlx5: Lag, properly lock eswitch if needed (Amir Tzin) [2015434] - net/mlx5: Add send to vport rules on paired device (Amir Tzin) [2015434] - net/mlx5: E-Switch, Add event callback for representors (Amir Tzin) [2015434] - net/mlx5e: Use shared mappings for restoring from metadata (Amir Tzin) [2015434] - net/mlx5e: Add an option to create a shared mapping (Amir Tzin) [2015434] - net/mlx5: E-Switch, set flow source for send to uplink rule (Amir Tzin) [2015434] - RDMA/mlx5: Add shared FDB support (Amir Tzin) [2015434] - {net, RDMA}/mlx5: Extend send to vport rules (Amir Tzin) [2015434] - RDMA/mlx5: Fill port info based on the relevant eswitch (Amir Tzin) [2015434] - net/mlx5: Lag, add initial logic for shared FDB (Amir Tzin) [2015434] - net/mlx5: Return mdev from eswitch (Amir Tzin) [2015434] - net/mlx5: E-switch, Add QoS tracepoints (Amir Tzin) [2015434] - net/mlx5: E-switch, Allow to add vports to rate groups (Amir Tzin) [2015434] - net/mlx5: E-switch, Allow setting share/max tx rate limits of rate groups (Amir Tzin) [2015434] - net/mlx5: E-switch, Introduce rate limiting groups API (Amir Tzin) [2015434] - net/mlx5: E-switch, Enable devlink port tx_{share|max} rate control (Amir Tzin) [2015434] - net/mlx5: E-switch, Move QoS related code to dedicated file (Amir Tzin) [2015434] - net/mlx5e: TC, Support sample offload action for tunneled traffic (Amir Tzin) [2015434] - net/mlx5e: TC, Restore tunnel info for sample offload (Amir Tzin) [2015434] - net/mlx5e: TC, Remove CONFIG_NET_TC_SKB_EXT dependency when restoring tunnel (Amir Tzin) [2015434] - net/mlx5e: Refactor ct to use post action infrastructure (Amir Tzin) [2015434] - net/mlx5e: Introduce post action infrastructure (Amir Tzin) [2015434] - net/mlx5e: CT, Use xarray to manage fte ids (Amir Tzin) [2015434] - net/mlx5e: Move sample attribute to flow attribute (Amir Tzin) [2015434] - net/mlx5e: Move esw/sample to en/tc/sample (Amir Tzin) [2015434] - net/mlx5e: Remove mlx5e dependency from E-Switch sample (Amir Tzin) [2015434] - net/mlx5: DR, Fix querying eswitch manager vport for ECPF (Amir Tzin) [2018097] - net/mlx5: DR, Handle eswitch manager and uplink vports separately (Amir Tzin) [2018097] - net/mlx5: DR, Add missing string for action type SAMPLER (Amir Tzin) [2018097] - net/mlx5: DR, init_next_match only if needed (Amir Tzin) [2018097] - net/mlx5: DR, Increase supported num of actions to 32 (Amir Tzin) [2018097] - net/mlx5: DR, Add support for SF vports (Amir Tzin) [2018097] - net/mlx5: DR, Support csum recalculation flow table on SFs (Amir Tzin) [2018097] - net/mlx5: DR, Align error messages for failure to obtain vport caps (Amir Tzin) [2018097] - net/mlx5: DR, Add missing query for vport 0 (Amir Tzin) [2018097] - net/mlx5: DR, Replace local WIRE_PORT macro with the existing MLX5_VPORT_UPLINK (Amir Tzin) [2018097] - scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop (Dick Kennedy) [1943202] - nvme-tcp: change target from tech-preview to unmaintained (John Meneghini) [2061577] - drm/amd/display: Don't reinitialize DMCUB on s0ix resume (Karol Herbst) [2059680] - tcp: Add snd_wnd to TCP_INFO (Davide Caratti) [2056608] - tcp: Add TCP_INFO counter for packets received out-of-order (Davide Caratti) [2056608] - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state (Amir Tzin) [1982236] - net/mlx5e: Add TX max rate support for MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Specify SQ stats struct for mlx5e_open_txqsq() (Amir Tzin) [1982236] - net/mlx5e: Allow only complete TXQs partition in MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Mutually exclude setting of TX-port-TS and MQPRIO in channel mode (Amir Tzin) [1982236] - net/mlx5e: Fix condition when retrieving PTP-rqn (Amir Tzin) [1982236] - net/mlx5: Fix inner TTC table creation (Amir Tzin) [1982236] - net/mlx5e: Fix division by 0 in mlx5e_select_queue for representors (Amir Tzin) [1982236] - net/mlx5e: Improve MQPRIO resiliency (Amir Tzin) [1982236] - net/mlx5e: Support MQPRIO channel mode (Amir Tzin) [1982236] - net/mlx5e: Handle errors of netdev_set_num_tc() (Amir Tzin) [1982236] - net/mlx5e: Maintain MQPRIO mode parameter (Amir Tzin) [1982236] - net/mlx5e: Abstract MQPRIO params (Amir Tzin) [1982236] - net/mlx5e: Support flow classification into RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Support multiple RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Dynamically allocate TIRs in RSS contexts (Amir Tzin) [1982236] - net/mlx5e: Convert RSS to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Introduce abstraction of RSS context (Amir Tzin) [1982236] - net/mlx5e: Introduce TIR create/destroy API in rx_res (Amir Tzin) [1982236] - net/mlx5e: Do not try enable RSS when resetting indir table (Amir Tzin) [1982236] - net/mlx5: Embed mlx5_ttc_table (Amir Tzin) [1982236] - net/mlx5: Move TTC logic to fs_ttc (Amir Tzin) [1982236] - net/mlx5e: Decouple TTC logic from mlx5e (Amir Tzin) [1982236] - net/mlx5e: Rename some related TTC args and functions (Amir Tzin) [1982236] - net/mlx5e: Rename traffic type enums (Amir Tzin) [1982236] - net/mlx5e: Allocate the array of channels according to the real max_nch (Amir Tzin) [1982236] - net/mlx5e: Hide all implementation details of mlx5e_rx_res (Amir Tzin) [1982236] - net/mlx5e: Introduce mlx5e_channels API to get RQNs (Amir Tzin) [1982236] - net/mlx5e: Use a new initializer to build uniform indir table (Amir Tzin) [1982236] - net/mlx5e: Use the new TIR API for kTLS (Amir Tzin) [1982236] - net/mlx5e: Move management of indir traffic types to rx_res (Amir Tzin) [1982236] - net/mlx5e: Convert TIR to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Create struct mlx5e_rss_params_hash (Amir Tzin) [1982236] - net/mlx5e: Remove mdev from mlx5e_build_indir_tir_ctx_common() (Amir Tzin) [1982236] - net/mlx5e: Remove lro_param from mlx5e_build_indir_tir_ctx_common() (Amir Tzin) [1982236] - net/mlx5e: Remove mlx5e_priv usage from mlx5e_build_*tir_ctx*() (Amir Tzin) [1982236] - net/mlx5e: Use mlx5e_rqt_get_rqtn to access RQT hardware id (Amir Tzin) [1982236] - net/mlx5e: Take RQT out of TIR and group RX resources (Amir Tzin) [1982236] - net/mlx5e: Move RX resources to a separate struct (Amir Tzin) [1982236] - net/mlx5e: Move mlx5e_build_rss_params() call to init_rx (Amir Tzin) [1982236] - net/mlx5e: Convert RQT to a dedicated object (Amir Tzin) [1982236] - net/mlx5e: Check if inner FT is supported outside of create/destroy functions (Amir Tzin) [1982236] - net/mlx5: Take TIR destruction out of the TIR list lock (Amir Tzin) [1982236] - PCI: pciehp: Ignore Link Down/Up caused by error-induced Hot Reset (Myron Stowe) [2060122] - PCI/portdrv: Rename pm_iter() to pcie_port_device_iter() (Myron Stowe) [2060122] - iommu/vt-d: Fix double list_add when enabling VMD in scalable mode (Jerry Snitselaar) [2062094] - redhat/configs: Disable CONFIG_SENSORS_NCT6683 in RHEL for arm/aarch64 (Dean Nelson) [2059695] - redhat: drop the -sha512 suffix from default rhpkg invocation (Jarod Wilson) - sysctl: return -EINVAL if val violates minmax (Rafael Aquini) [2062571] - kernel/sysctl.c: switch to bitmap_zalloc() (Rafael Aquini) [2062571] - netlabel: remove unused parameter in netlbl_netlink_auditinfo() (William Zhao) [1985319] - netlabel: Fix memory leak in netlbl_mgmt_add_common (William Zhao) [1985319] - bpftool: Fix indent in option lists in the documentation (Yauheni Kaliuta) [2014861] - libbpf: Fix memleak in libbpf_netlink_recv() (Yauheni Kaliuta) [2014861] - libbpf: Use dynamically allocated buffer when receiving netlink messages (Yauheni Kaliuta) [2014861] - libbpf: Clean gen_loader's attach kind. (Yauheni Kaliuta) [2014861] - powerpc/bpf: Use bctrl for making function calls (Jiri Olsa) [2014861] - powerpc/signal: Use PPC_RAW_xx() macros (Jiri Olsa) [2014861] - powerpc/ebpf64: Use PPC_RAW_MFLR() (Jiri Olsa) [2014861] - powerpc/opcodes: Add shorter macros for registers for use with PPC_RAW_xx() (Jiri Olsa) [2014861] - lib/test: fix spelling mistakes (Jiri Olsa) [2014861] - tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing (Jiri Olsa) [2014861] - bpf: Allow bpf_get_current_ancestor_cgroup_id for tracing (Jiri Olsa) [2014861] - docs: bpf: bpf_lsm.rst: avoid using ReST :doc:`foo` markup (Jiri Olsa) [2014861] - bpf, docs: Add llvm_reloc.rst to explain llvm bpf relocations (Jiri Olsa) [2014861] - bpf, arm64: Remove redundant switch case about BPF_DIV and BPF_MOD (Jiri Olsa) [2014861] - bpf, arm64: Replace STACK_ALIGN() with round_up() to align stack size (Jiri Olsa) [2014861] - selftests, bpf: Test that dead ldx_w insns are accepted (Jiri Olsa) [2014861] - bpf, selftests: Add test cases for pointer alu from multiple paths (Jiri Olsa) [2014861] - bpf: Selftest to verify mixing bpf2bpf calls and tailcalls with insn patch (Jiri Olsa) [2014861] - selftests/bpf: Fix ringbuf test fetching map FD (Jiri Olsa) [2014861] - selftests/bpf: Whitelist test_progs.h from .gitignore (Jiri Olsa) [2014861] - selftests, bpf: Make docs tests fail more reliably (Jiri Olsa) [2014861] - selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks (Jiri Olsa) [2014861] - selftests/bpf: Add bpf_lookup_and_delete_elem tests (Jiri Olsa) [2014861] - selftests/bpf: Convert test trace_printk to lskel. (Jiri Olsa) [2014861] - selftests/bpf: Convert test printk to use rodata. (Jiri Olsa) [2014861] - selftests/bpf: Convert atomics test to light skeleton. (Yauheni Kaliuta) [2014861] - selftests/bpf: Convert few tests to light skeleton. (Jiri Olsa) [2014861] - selftests/bpf: Test for btf_load command. (Jiri Olsa) [2014861] - selftests/bpf: Test for syscall program type (Jiri Olsa) [2014861] - libbpf: Add selftests for TC-BPF management API (Jiri Olsa) [2014861] - selftests/bpf: Validate skeleton gen handles skipped fields (Jiri Olsa) [2014861] - selftests/bpf: Stop using static variables for passing data to/from user-space (Jiri Olsa) [2014861] - tools: bpftool: Document and add bash completion for -L, -B options (Jiri Olsa) [2014861] - tools: bpftool: Update and synchronise option list in doc and help msg (Jiri Olsa) [2014861] - bpftool: Remove unused includes to (Jiri Olsa) [2014861] - powerpc/bpf: Fix write protecting JIT code (Jiri Olsa) [2014861] - libbpf: Fix lookup_and_delete_elem_flags error reporting (Jiri Olsa) [2014861] - bpftool: Check malloc return value in mount_bpffs_for_pin (Jiri Olsa) [2014861] - tools: bpf: Fix error in 'make -C tools/ bpf_install' (Jiri Olsa) [2014861] - bpftool: Properly close va_list 'ap' by va_end() on error (Jiri Olsa) [2014861] - bpf: Fix libelf endian handling in resolv_btfids (Jiri Olsa) [2014861] - tools/bpftool: Fix error return code in do_batch() (Jiri Olsa) [2014861] - tools/bpftool: Fix cross-build (Jiri Olsa) [2014861] - bpftool: Set errno on skeleton failures and propagate errors (Jiri Olsa) [2014861] - bpftool: Use syscall/loader program in "prog load" and "gen skeleton" command. (Jiri Olsa) [2014861] - bpftool: Stop emitting static variables in BPF skeleton (Jiri Olsa) [2014861] - bpftool: Strip const/volatile/restrict modifiers from .bss and .data vars (Jiri Olsa) [2014861] - bpf: Add missing bpf_read_[un]lock_trace() for syscall program (Jiri Olsa) [2014861] - libbpf: Fix skel_internal.h to set errno on loader retval < 0 (Jiri Olsa) [2014861] - libbpf: Fix segfault in light skeleton for objects without BTF (Jiri Olsa) [2014861] - libbpf: Return non-null error on failures in libbpf_find_prog_btf_id() (Jiri Olsa) [2014861] - libbpf, doc: Eliminate warnings in libbpf_naming_convention (Jiri Olsa) [2014861] - net, core: Allow netdev_lower_get_next_private_rcu in bh context (Jiri Olsa) [2014861] - samples/bpf: Fix the error return code of xdp_redirect's main() (Jiri Olsa) [2014861] - samples/bpf: Fix Segmentation fault for xdp_redirect command (Jiri Olsa) [2014861] - samples/bpf: Add missing option to xdp_sample_pkts usage (Jiri Olsa) [2014861] - samples/bpf: Add missing option to xdp_fwd usage (Jiri Olsa) [2014861] - samples, bpf: Suppress compiler warning (Jiri Olsa) [2014861] - file: Rename __close_fd to close_fd and remove the files parameter (Jiri Olsa) [2014861] - bpf: Fix ringbuf helper function compatibility (Jiri Olsa) [2014861] - bpf: Clear zext_dst of dead insns (Jiri Olsa) [2014861] - bpf: Add rcu_read_lock in bpf_get_current_[ancestor_]cgroup_id() helpers (Jiri Olsa) [2014861] - bpf, core: Fix kernel-doc notation (Jiri Olsa) [2014861] - libbpf: Do not close un-owned FD 0 on errors (Jiri Olsa) [2014861] - libbpf: Fix probe for BPF_PROG_TYPE_CGROUP_SOCKOPT (Jiri Olsa) [2014861] - s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1] (Jiri Olsa) [2014861] - libbpf: Restore errno return for functions that were already returning it (Jiri Olsa) [2014861] - powerpc/bpf: Write protect JIT code (Jiri Olsa) [2014861] - powerpc/bpf: Remove bpf_jit_free() (Jiri Olsa) [2014861] - bpf: Fix integer overflow in argument calculation for bpf_map_area_alloc (Jiri Olsa) [2014861] - bpf: Fix false positive kmemleak report in bpf_ringbuf_area_alloc() (Jiri Olsa) [2014861] - bpf: Allow RCU-protected lookups to happen from bh context (Jiri Olsa) [2014861] - bpf, x86: Remove unused cnt increase from EMIT macro (Jiri Olsa) [2014861] - libbpf: Switch to void * casting in netlink helpers (Jiri Olsa) [2014861] - libbpf: Add request buffer type for netlink messages (Jiri Olsa) [2014861] - libbpf: Add extra BPF_PROG_TYPE check to bpf_object__probe_loading (Jiri Olsa) [2014861] - bpf: Add documentation for libbpf including API autogen (Jiri Olsa) [2014861] - bpf: Fix up register-based shifts in interpreter to silence KUBSAN (Jiri Olsa) [2014861] - libbpf: Fail compilation if target arch is missing (Jiri Olsa) [2014861] - bpf: Fix typo in kernel/bpf/bpf_lsm.c (Jiri Olsa) [2014861] - bpf: Support BPF_FUNC_get_socket_cookie() for BPF_PROG_TYPE_SK_REUSEPORT. (Jiri Olsa) [2014861] - libbpf: Set NLM_F_EXCL when creating qdisc (Jiri Olsa) [2014861] - libbpf: Remove unneeded check for flags during tc detach (Jiri Olsa) [2014861] - libbpf: Simplify the return expression of bpf_object__init_maps function (Jiri Olsa) [2014861] - libbpf: Fix pr_warn type warnings on 32bit (Jiri Olsa) [2014861] - libbpf: Install skel_internal.h header used from light skeletons (Jiri Olsa) [2014861] - libbpf: Refactor header installation portions of Makefile (Jiri Olsa) [2014861] - libbpf: Move few APIs from 0.4 to 0.5 version (Jiri Olsa) [2014861] - bpf, tnums: Provably sound, faster, and more precise algorithm for tnum_mul (Jiri Olsa) [2014861] - libbpf: Move BPF_SEQ_PRINTF and BPF_SNPRINTF to bpf_helpers.h (Jiri Olsa) [2014861] - libbpf: Streamline error reporting for high-level APIs (Jiri Olsa) [2014861] - libbpf: Streamline error reporting for low-level APIs (Jiri Olsa) [2014861] - libbpf: Add libbpf_set_strict_mode() API to turn on libbpf 1.0 behaviors (Jiri Olsa) [2014861] - bpf: Fix spelling mistakes (Jiri Olsa) [2014861] - bpf: Extend libbpf with bpf_map_lookup_and_delete_elem_flags (Jiri Olsa) [2014861] - bpf: Add lookup_and_delete_elem support to hashtab (Jiri Olsa) [2014861] - libbpf: Skip bpf_object__probe_loading for light skeleton (Jiri Olsa) [2014861] - bpf: Make some symbols static (Jiri Olsa) [2014861] - bpf: Add cmd alias BPF_PROG_RUN (Jiri Olsa) [2014861] - libbpf: Introduce bpf_map__initial_value(). (Jiri Olsa) [2014861] - libbpf: Cleanup temp FDs when intermediate sys_bpf fails. (Jiri Olsa) [2014861] - libbpf: Generate loader program out of BPF ELF file. (Jiri Olsa) [2014861] - libbpf: Preliminary support for fd_idx (Jiri Olsa) [2014861] - libbpf: Add bpf_object pointer to kernel_supports(). (Jiri Olsa) [2014861] - libbpf: Change the order of data and text relocations. (Jiri Olsa) [2014861] - bpf: Add bpf_sys_close() helper. (Jiri Olsa) [2014861] - bpf: Add bpf_btf_find_by_name_kind() helper. (Jiri Olsa) [2014861] - bpf: Introduce fd_idx (Jiri Olsa) [2014861] - bpf: Make btf_load command to be bpfptr_t compatible. (Jiri Olsa) [2014861] - libbpf: Support for syscall program type (Jiri Olsa) [2014861] - bpf: Prepare bpf syscall to be used from kernel and user space. (Jiri Olsa) [2014861] - bpf: Introduce bpfptr_t user/kernel pointer. (Jiri Olsa) [2014861] - bpf: Introduce bpf_sys_bpf() helper and program type. (Jiri Olsa) [2014861] - libbpf: Add low level TC-BPF management API (Jiri Olsa) [2014861] - libbpf: Add various netlink helpers (Jiri Olsa) [2014861] - libbpf: Reject static entry-point BPF programs (Jiri Olsa) [2014861] - libbpf: Reject static maps (Jiri Olsa) [2014861] - libbpf: Treat STV_INTERNAL same as STV_HIDDEN for functions (Jiri Olsa) [2014861] - libbpf: Add per-file linker opts (Jiri Olsa) [2014861] - bpf: verifier: Use copy_array for jmp_history (Jiri Olsa) [2014861] - bpf: verifier: Improve function state reallocation (Jiri Olsa) [2014861]- ice: fix getting UDP tunnel entry (Jonathan Toppins) [2015409] - ice: convert to new udp_tunnel infrastructure (Jonathan Toppins) [2015409] - selftests: kvm: Check whether SIDA memop fails for normal guests (Thomas Huth) [2050807] - KVM: s390: Return error on SIDA memop on normal guest (Thomas Huth) [2050807] {CVE-2022-0516} - lib/iov_iter: initialize "flags" in new pipe_buffer (Jan Stancek) [2060875] {CVE-2022-0847} - fget: clarify and improve __fget_files() implementation (Patrick Talbert) [2032303] - fget: check that the fd still exists after getting a ref to it (Patrick Talbert) [2032303] {CVE-2021-4083} - drm/ast: Create threshold values for AST2600 (Jocelyn Falempe) [2053358] - cgroup-v1: Correct privileges check in release_agent writes (Waiman Long) [2052167] - cgroup-v1: Require capabilities to set release_agent (Waiman Long) [2052167] {CVE-2022-0492} - spec: Fix separate tools build (Yauheni Kaliuta) [2056301] - net/mlx5: DR, Add support for update FTE (Amir Tzin) [2047231] - net/mlx5: DR, Improve rule tracking memory consumption (Amir Tzin) [2047231] - net/mlx5: DR, Remove rehash ctrl struct from dr_htbl (Amir Tzin) [2047231] - net/mlx5: DR, Remove HW specific STE type from nic domain (Amir Tzin) [2047231] - net/mlx5: DR, Merge DR_STE_SIZE enums (Amir Tzin) [2047231] - net/mlx5: DR, Skip source port matching on FDB RX domain (Amir Tzin) [2047231] - net/mlx5: DR, Add ignore_flow_level support for multi-dest flow tables (Amir Tzin) [2047231] - net/mlx5: DR, replace uintN_t with kernel-style types (Amir Tzin) [2047231] - net/mlx5: DR, Support IPv6 matching on flow label for STEv0 (Amir Tzin) [2047231] - net/mlx5: DR, Reduce print level for FT chaining level check (Amir Tzin) [2047231] - net/mlx5: DR, Warn and ignore SW steering rule insertion on QP err (Amir Tzin) [2047231] - net/mlx5: DR, Improve error flow in actions_build_ste_arr (Amir Tzin) [2047231] - net/mlx5: DR, Enable QP retransmission (Amir Tzin) [2047231] - net/mlx5: DR, Enable VLAN pop on TX and VLAN push on RX (Amir Tzin) [2047231] - net/mlx5: DR, Split modify VLAN state to separate pop/push states (Amir Tzin) [2047231] - net/mlx5: DR, Added support for REMOVE_HEADER packet reformat (Amir Tzin) [2047231] - net/mlx4_en: Resolve bad operstate value (Amir Tzin) [1982190] - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() (Amir Tzin) [1982190] - RDMA/mlx4: Do not fail the registration on port stats (Amir Tzin) [1982190] - RDMA/mlx4: Return missed an error if device doesn't support steering (Amir Tzin) [1982190] - net/mlx4_en: Don't allow aRFS for encapsulated packets (Amir Tzin) [1982190] - mlx4: Fix missing error code in mlx4_load_one() (Amir Tzin) [1982190] - net/mlx4: Fix fall-through warning for Clang (Amir Tzin) [1982190] - mlx4: Remove rcu_read_lock() around XDP program invocation (Amir Tzin) [1982190] - IB/mlx4: Avoid field-overflowing memcpy() (Amir Tzin) [1982190] - RDMA/mlx4: Do not map the core_clock page to user space unless enabled (Amir Tzin) [1982190] - net/mlx4: Treat VFs fair when handling comm_channel_events (Amir Tzin) [1982190] - RDMA/mlx4: Remove an unused variable (Amir Tzin) [1982190] - megaraid_sas: Add new messaging - a fix (Tomas Henzl) [2055248] - HID: amd_sfh: Add interrupt handler to process interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add functionality to clear interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Disable the interrupt for all command (Benjamin Tissoires) [2054929] - HID: amd_sfh: Correct the structure field name (Benjamin Tissoires) [2054929] - HID: amd_sfh: Handle amd_sfh work buffer in PM ops (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add illuminance mask to limit ALS max value (Benjamin Tissoires) [2054929] - HID: amd_sfh: Increase sensor command timeout (Benjamin Tissoires) [2054929] - HID: amd_sfh: Update Copyright details (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dev_' API (Benjamin Tissoires) [2054929] - HID: amd_sfh: Use dma_set_mask_and_coherent() (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dma_' API (Benjamin Tissoires) [2054929] - dm stats: fix too short end duration_ns when using precise_timestamps (Benjamin Marzinski) [2057166] - dm: fix double accounting of flush with data (Benjamin Marzinski) [2057166] - dm: interlock pending dm_io and dm_wait_for_bios_completion (Benjamin Marzinski) [2057166] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Aristeu Rozanski) [2050410 2048786 2050412] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC: Add RDDR5 and LRDDR5 memory types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Handle three rank interleaving mode (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Set proper family type for Family 19h Models 20h-2Fh (Aristeu Rozanski) [2050410 2048786 2050412] - netfilter: nf_queue: handle socket prefetch (Florian Westphal) [2009786] - netfilter: nf_queue: fix possible use-after-free (Florian Westphal) [2009786] - selftests: netfilter: add nfqueue TCP_NEW_SYN_RECV socket race test (Florian Westphal) [2009786] - netfilter: nf_queue: don't assume sk is full socket (Florian Westphal) [2009786] - Enable HSA_AMD_SVM config (Donald Dutile) [2025123] - mm/memremap_pages: support multiple ranges per invocation (Donald Dutile) [2025123] - mm/memremap_pages: convert to 'struct range' (Donald Dutile) [2025123] - device-dax: add an allocation interface for device-dax instances (Donald Dutile) [2025123] - device-dax: make pgmap optional for instance creation (Donald Dutile) [2025123] - device-dax: move instance creation parameters to 'struct dev_dax_data' (Donald Dutile) [2025123] - device-dax: drop the dax_region.pfn_flags attribute (Donald Dutile) [2025123] - memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC (Donald Dutile) [2025123] - PCI/P2PDMA: Introduce private pagemap structure (Donald Dutile) [2025123] - security: implement sctp_assoc_established hook in selinux (Ondrej Mosnacek) [2015525 2048251] - security: add sctp_assoc_established hook (Ondrej Mosnacek) [2015525 2048251] - security: call security_sctp_assoc_request in sctp_sf_do_5_1D_ce (Ondrej Mosnacek) [2015525 2048251] - security: pass asoc to sctp_assoc_request and sctp_sk_clone (Ondrej Mosnacek) [2015525 2048251] - net: sctp: Fix some typos (Ondrej Mosnacek) [2015525 2048251] - iwlwifi: mvm: read 6E enablement flags from DSM and pass to FW (Íñigo Huguet) [1923170 1936001] - net/mlx5: Lag, Make mlx5_lag_is_multipath() be static inline (Amir Tzin) [1982193] - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() (Amir Tzin) [1982193] - net/mlx5: DR, Ignore modify TTL if device doesn't support it (Amir Tzin) [1982193 2028504] - net/mlx5: Warn for devlink reload when there are VFs alive (Amir Tzin) [1982193] - net/mlx5: DR, Fix lower case macro prefix "mlx5_" to "MLX5_" (Amir Tzin) [1982193] - net/mlx5e: Fix wrong features assignment in case of error (Amir Tzin) [1982193] - net/mlx5e: Fix ICOSQ recovery flow for XSK (Amir Tzin) [1982193] - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow (Amir Tzin) [1982193] - net/mlx5e: Wrap the tx reporter dump callback to extract the sq (Amir Tzin) [1982193] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [1982193] - net/mlx5: Fix SF health recovery flow (Amir Tzin) [1982193] - net/mlx5: Fix error print in case of IRQ request failed (Amir Tzin) [1982193] - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources (Amir Tzin) [1982193] - mlx5: fix mlx5i_grp_sw_update_stats() stack usage (Amir Tzin) [1982193] - mlx5: fix psample_sample_packet link error (Amir Tzin) [1982193] - net/mlx5: Fix format-security build warnings (Amir Tzin) [1982193] - net/mlx5e: Fix missing IPsec statistics on uplink representor (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of encapsulation (Amir Tzin) [1982193] - net/mlx5: E-Switch, return error if encap isn't supported (Amir Tzin) [1982193] - net/mlx5: Lag, update tracker when state change event received (Amir Tzin) [1982193] - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts (Amir Tzin) [1982193 2017675] - net/mlx5: Update error handler for UCTX and UMEM (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev (Amir Tzin) [1982193] - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events (Amir Tzin) [1982193] - net/mlx5e: kTLS, Fix crash in RX resync flow (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix work queue entry ethernet segment checksum flags (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix a misuse of the software parser's fields (Amir Tzin) [1982193] - net/mlx5e: Fix vlan data lost during suspend flow (Amir Tzin) [1982193] - net/mlx5: Lag, change multipath and bonding to be mutually exclusive (Amir Tzin) [1982193] - net/mlx5: Lag, move lag destruction to a workqueue (Amir Tzin) [1982193] - RDMA/mlx5: Initialize the ODP xarray when creating an ODP MR (Amir Tzin) [1982193] - net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp (Amir Tzin) [1982193] - net/mlx5e: Switchdev representors are not vlan challenged (Amir Tzin) [1982193] - net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path (Amir Tzin) [1982193] - net/mlx5: Fix cleanup of bridge delayed work (Amir Tzin) [1982193] - RDMA/mlx5: Set user priority for DCT (Amir Tzin) [1982193] - net/mlx5: DR, Fix typo 'offeset' to 'offset' (Amir Tzin) [1982193] - net/mlx5: DR, Fix vport number data type to u16 (Amir Tzin) [1982193] - net/mlx5e: Fix the presented RQ index in PTP stats (Amir Tzin) [1982193] - net/mlx5: Fix setting number of EQs of SFs (Amir Tzin) [1982193] - net/mlx5: Fix length of irq_index in chars (Amir Tzin) [1982193] - net/mlx5: Avoid generating event after PPS out in Real time mode (Amir Tzin) [1982193] - net/mlx5: Force round second at 1PPS out start time (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix double allocation of acl flow counter (Amir Tzin) [1982193] - net/mlx5e: Keep the value for maximum number of channels in-sync (Amir Tzin) [1982193] - net/mlx5e: IPSEC RX, enable checksum complete (Amir Tzin) [1982193] - net/mlx5: DR, Fix code indentation in dr_ste_v1 (Amir Tzin) [1982193] - RDMA/mlx5: Fix xlt_chunk_align calculation (Amir Tzin) [1982193] - RDMA/mlx5: Fix number of allocated XLT entries (Amir Tzin) [1982193] - net/mlx5e: Fix mutual exclusion between CQE compression and HW TS (Amir Tzin) [1982193] - net/mlx5: Fix potential sleeping in atomic context (Amir Tzin) [1982193] - net/mlx5: FWTrace, cancel work on alloc pd error flow (Amir Tzin) [1982193] - net/mlx5: DR, fix a potential use-after-free bug (Amir Tzin) [1982193] - net/mlx5e: Use correct eswitch for stack devices with lag (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set vhca id valid flag when creating indir fwd group (Amir Tzin) [1982193] - net/mlx5: Remove all auxiliary devices at the unregister event (Amir Tzin) [1982193] - net/mlx5: Lag, fix multipath lag activation (Amir Tzin) [1982193] - net/mlx5: Fix variable type to match 64bit (Amir Tzin) [1982193] - net/mlx5: Fix typo in comments (Amir Tzin) [1982193] - net/mlx5e: Remove Duplicated hunk in function __parse_cls_flower() (Amir Tzin) [1982193] - net/mlx5: Fix unpublish devlink parameters (Amir Tzin) [1982193] - RDMA/mlx5: Delete not-available udata check (Amir Tzin) [1982193] - net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set() (Amir Tzin) [1982193] - net/mlx5e: Block LRO if firmware asks for tunneled LRO (Amir Tzin) [1982193] - net/mlx5e: Prohibit inner indir TIRs in IPoIB (Amir Tzin) [1982193] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Amir Tzin) [1982193] - net/mlx5: Fix return value from tracer initialization (Amir Tzin) [1982193] - net/mlx5: Synchronize correct IRQ when destroying CQ (Amir Tzin) [1982193 1982219] - net/mlx5e: TC, Fix error handling memory leak (Amir Tzin) [1982193] - net/mlx5: Destroy pool->mutex (Amir Tzin) [1982193] - net/mlx5: Set all field of mlx5_irq before inserting it to the xarray (Amir Tzin) [1982193] - net/mlx5: Fix order of functions in mlx5_irq_detach_nb() (Amir Tzin) [1982193] - net/mlx5: Block switchdev mode while devlink traps are active (Amir Tzin) [1982193] - net/mlx5e: Destroy page pool after XDP SQ to fix use-after-free (Amir Tzin) [1982193] - net/mlx5: Bridge, fix ageing time (Amir Tzin) [1982193] - net/mlx5e: Avoid creating tunnel headers for local route (Amir Tzin) [1982193] - net/mlx5: DR, Add fail on error check on decap (Amir Tzin) [1982193] - net/mlx5: Don't skip subfunction cleanup in case of error in module init (Amir Tzin) [1982193] - RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently (Amir Tzin) [1982193] - net/mlx5: Fix mlx5_vport_tbl_attr chain from u16 to u32 (Amir Tzin) [1982193] - net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev() (Amir Tzin) [1982193] - net/mlx5: Unload device upon firmware fatal error (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for ptp-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for trap-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Consider PTP-RQ when setting RX VLAN stripping (Amir Tzin) [1982193] - net/mlx5e: Add NETIF_F_HW_TC to hw_features when HTB offload is available (Amir Tzin) [1982193] - net/mlx5e: RX, Avoid possible data corruption when relaxed ordering and LRO combined (Amir Tzin) [1982193] - net/mlx5: E-Switch, handle devcom events only for ports on the same device (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set destination vport vhca id only when merged eswitch is supported (Amir Tzin) [1982193] - net/mlx5e: Disable Rx ntuple offload for uplink representor (Amir Tzin) [1982193] - net/mlx5e: kTLS, Add stats for number of deleted kTLS TX offloaded connections (Amir Tzin) [1982193] - net/mlx5: SF, Improve performance in SF allocation (Amir Tzin) [1982193] - net/mlx5: Increase hairpin buffer size (Amir Tzin) [1982193] - net/mlx5: DR, Add support for flow sampler offload (Amir Tzin) [1982193] - net/mlx5: Compare sampler flow destination ID in fs_core (Amir Tzin) [1982193] - net/mlx5: remove "default n" from Kconfig (Amir Tzin) [1982193] - net/mlx5: Fix spelling mistake "enught" -> "enough" (Amir Tzin) [1982193] - net/mlx5: Use cpumask_available() in mlx5_eq_create_generic() (Amir Tzin) [1982193] - net/mlx5: Fix missing error code in mlx5_init_fs() (Amir Tzin) [1982193] - RDMA/mlx5: Support real-time timestamp directly from the device (Amir Tzin) [1982193] - RDMA/mlx5: Refactor get_ts_format functions to simplify code (Amir Tzin) [1982193] - RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs (Amir Tzin) [1982193] - net/mlx5: Round-Robin EQs over IRQs (Amir Tzin) [1982193] - net/mlx5: Separate between public and private API of sf.h (Amir Tzin) [1982193] - net/mlx5: Enlarge interrupt field in CREATE_EQ (Amir Tzin) [1982193] - net/mlx5: Allocating a pool of MSI-X vectors for SFs (Amir Tzin) [1982193] - net/mlx5: Change IRQ storage logic from static to dynamic (Amir Tzin) [1982193] - net/mlx5: Moving rmap logic to EQs (Amir Tzin) [1982193] - net/mlx5: Extend mlx5_irq_request to request IRQ from the kernel (Amir Tzin) [1982193] - net/mlx5: Removing rmap per IRQ (Amir Tzin) [1982193] - net/mlx5: Clean license text in eq.[c|h] files (Amir Tzin) [1982193] - net/mlx5: Provide cpumask at EQ creation phase (Amir Tzin) [1982193] - net/mlx5: Introduce API for request and release IRQs (Amir Tzin) [1982193] - net/mlx5: Delay IRQ destruction till all users are gone (Amir Tzin) [1982193] - net/mlx5: Change ownership model for lag (Amir Tzin) [1982193] - net/mlx5: Lag, Don't rescan if the device is going down (Amir Tzin) [1982193] - net/mlx5: Lag, refactor disable flow (Amir Tzin) [1982193] - net/mlx5: Bridge, add tracepoints (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, filter tagged packets that didn't match tagged fg (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, support pvid and untagged vlan configurations (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, match FDB entry vlan tag (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, implement infrastructure for vlans (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, dynamic entry ageing (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, handle FDB events (Amir Tzin) [1982193 1982234] - docs: networking: Add missing mlx5 documentation (Amir Tzin) [1982193] - net/mlx5: Bridge, add offload infrastructure (Amir Tzin) [1982193 1982234] - net/mlx5e: Refactor mlx5e_eswitch_{*}rep() helpers (Amir Tzin) [1982193 1982234] - net/mlx5: Create TC-miss priority and table (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Support EMD tag in modify header for STEv1 (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Added support for INSERT_HEADER reformat type (Amir Tzin) [1982193 1982234] - net/mlx5: Added new parameters to reformat context (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Allow encap action for RX for supporting devices (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Split reformat state to Encap and Decap (Amir Tzin) [1982193 1982234] - net/mlx5: mlx5_ifc support for header insert/remove (Amir Tzin) [1982193 1982234] - net/mlx5e: Remove unreachable code in mlx5e_xmit() (Amir Tzin) [1982193] - net/mlx5e: RX, Re-place page pool numa node change logic (Amir Tzin) [1982193] - net/mlx5e: Zero-init DIM structures (Amir Tzin) [1982193] - net/mlx5e: IPoIB, Add support for NDR speed (Amir Tzin) [1982193] - net/mlx5e: Remove the repeated declaration (Amir Tzin) [1982193] - net/mlx5: check for allocation failure in mlx5_ft_pool_init() (Amir Tzin) [1982193] - mlx5: count all link events (Amir Tzin) [1982193] - net/mlx5: Expose FW version over defined keyword (Amir Tzin) [1982193] - net/mlx5: Use boolean arithmetic to evaluate roce_lag (Amir Tzin) [1982193] - net/mlx5: Remove unnecessary spin lock protection (Amir Tzin) [1982193] - net/mlx5: Cap the maximum flow group size to 16M entries (Amir Tzin) [1982193] - net/mlx5: DR, Set max table size to 2G entries (Amir Tzin) [1982193] - net/mlx5: Move chains ft pool to be used by all firmware steering (Amir Tzin) [1982193] - net/mlx5: Move table size calculation to steering cmd layer (Amir Tzin) [1982193] - net/mlx5: Add case for FS_FT_NIC_TX FT in MLX5_CAP_FLOWTABLE_TYPE (Amir Tzin) [1982193] - net/mlx5: DR, Remove unused field of send_ring struct (Amir Tzin) [1982193] - net/mlx5e: RX, Remove unnecessary check in RX CQE compression handling (Amir Tzin) [1982193] - net/mlx5: CT: Avoid reusing modify header context for natted entries (Amir Tzin) [1982193] - net/mlx5e: CT, Remove newline from ct_dbg call (Amir Tzin) [1982193] - RDMA/mlx5: Take qp type from mlx5_ib_qp (Amir Tzin) [1982193] - RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response (Amir Tzin) [1982193] - RDMA/mlx5: Support SQD2RTS for modify QP (Amir Tzin) [1982193] - RDMA/mlx5: Remove redundant assignment to ret (Amir Tzin) [1982193] - firewire: fix support status (Tomas Henzl) [2055319] - dlci: fix support status (Tomas Henzl) [2055319] - dlink: fix support status (Tomas Henzl) [2055319] - rxe: fix support status (Tomas Henzl) [2055319] - qic: fix support status (Tomas Henzl) [2055319] - Revert "ceph: enable async dirops by default" (Jeffrey Layton) [2052542] - libceph: optionally use bounce buffer on recv path in crc mode (Jeffrey Layton) [2024725] - libceph: make recv path in secure mode work the same as send path (Jeffrey Layton) [2024725] - mm: use kmap_local_page in memzero_page (Jeffrey Layton) [2024725] - mm: call flush_dcache_page() in memcpy_to_page() and memzero_page() (Jeffrey Layton) [2024725] - iov_iter: lift memzero_page() to highmem.h (Jeffrey Layton) [2024725] - mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() (Jeffrey Layton) [2024725] - mm/highmem: Lift memcpy_[to|from]_page to core (Jeffrey Layton) [2024725] - ceph: set pool_ns in new inode layout for async creates (Jeffrey Layton) [2046021] - ceph: properly put ceph_string reference after async create attempt (Jeffrey Layton) [2046021] - ceph: put the requests/sessions when it fails to alloc memory (Jeffrey Layton) [2046021] - ceph: remove redundant Lsx caps check (Jeffrey Layton) [2046021] - ceph: don't check for quotas on MDS stray dirs (Jeffrey Layton) [2046021] - ceph: drop send metrics debug message (Jeffrey Layton) [2046021] - ceph: Fix incorrect statfs report for small quota (Jeffrey Layton) [2011104] - scsi: qla2xxx: stop timer in shutdown path (Nilesh Javali) [2056055] - Revert "PCI: Add support for dev_groups to struct pci_driver" (Michel Dänzer) [2054595] - drm/amdgpu: Assign amdgpu_sysfs_groups to struct device_driver directly (Michel Dänzer) [2054595] - EDAC/i10nm: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1998359] - redhat: enable zstream release numbering for rhel 8.6 (Augusto Caringi) - redhat: generate distgit changelog in genspec.sh as well (Jan Stancek) - redhat: always upload kabi tarballs (Jan Stancek) - redhat: make genspec prefer metadata from git notes (Jan Stancek) - internal: update RHEL_MINOR for the start of RHEL-8.7 development (Jarod Wilson)- ice: fix getting UDP tunnel entry (Jonathan Toppins) [2015409] - ice: convert to new udp_tunnel infrastructure (Jonathan Toppins) [2015409] - selftests: kvm: Check whether SIDA memop fails for normal guests (Thomas Huth) [2050807] - KVM: s390: Return error on SIDA memop on normal guest (Thomas Huth) [2050807] {CVE-2022-0516} - lib/iov_iter: initialize "flags" in new pipe_buffer (Jan Stancek) [2060875] {CVE-2022-0847} - fget: clarify and improve __fget_files() implementation (Patrick Talbert) [2032303] - fget: check that the fd still exists after getting a ref to it (Patrick Talbert) [2032303] {CVE-2021-4083} - drm/ast: Create threshold values for AST2600 (Jocelyn Falempe) [2053358] - cgroup-v1: Correct privileges check in release_agent writes (Waiman Long) [2052167] - cgroup-v1: Require capabilities to set release_agent (Waiman Long) [2052167] {CVE-2022-0492} - spec: Fix separate tools build (Yauheni Kaliuta) [2056301] - net/mlx5: DR, Add support for update FTE (Amir Tzin) [2047231] - net/mlx5: DR, Improve rule tracking memory consumption (Amir Tzin) [2047231] - net/mlx5: DR, Remove rehash ctrl struct from dr_htbl (Amir Tzin) [2047231] - net/mlx5: DR, Remove HW specific STE type from nic domain (Amir Tzin) [2047231] - net/mlx5: DR, Merge DR_STE_SIZE enums (Amir Tzin) [2047231] - net/mlx5: DR, Skip source port matching on FDB RX domain (Amir Tzin) [2047231] - net/mlx5: DR, Add ignore_flow_level support for multi-dest flow tables (Amir Tzin) [2047231] - net/mlx5: DR, replace uintN_t with kernel-style types (Amir Tzin) [2047231] - net/mlx5: DR, Support IPv6 matching on flow label for STEv0 (Amir Tzin) [2047231] - net/mlx5: DR, Reduce print level for FT chaining level check (Amir Tzin) [2047231] - net/mlx5: DR, Warn and ignore SW steering rule insertion on QP err (Amir Tzin) [2047231] - net/mlx5: DR, Improve error flow in actions_build_ste_arr (Amir Tzin) [2047231] - net/mlx5: DR, Enable QP retransmission (Amir Tzin) [2047231] - net/mlx5: DR, Enable VLAN pop on TX and VLAN push on RX (Amir Tzin) [2047231] - net/mlx5: DR, Split modify VLAN state to separate pop/push states (Amir Tzin) [2047231] - net/mlx5: DR, Added support for REMOVE_HEADER packet reformat (Amir Tzin) [2047231] - net/mlx4_en: Resolve bad operstate value (Amir Tzin) [1982190] - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() (Amir Tzin) [1982190] - RDMA/mlx4: Do not fail the registration on port stats (Amir Tzin) [1982190] - RDMA/mlx4: Return missed an error if device doesn't support steering (Amir Tzin) [1982190] - net/mlx4_en: Don't allow aRFS for encapsulated packets (Amir Tzin) [1982190] - mlx4: Fix missing error code in mlx4_load_one() (Amir Tzin) [1982190] - net/mlx4: Fix fall-through warning for Clang (Amir Tzin) [1982190] - mlx4: Remove rcu_read_lock() around XDP program invocation (Amir Tzin) [1982190] - IB/mlx4: Avoid field-overflowing memcpy() (Amir Tzin) [1982190] - RDMA/mlx4: Do not map the core_clock page to user space unless enabled (Amir Tzin) [1982190] - net/mlx4: Treat VFs fair when handling comm_channel_events (Amir Tzin) [1982190] - RDMA/mlx4: Remove an unused variable (Amir Tzin) [1982190]- megaraid_sas: Add new messaging - a fix (Tomas Henzl) [2055248] - HID: amd_sfh: Add interrupt handler to process interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add functionality to clear interrupts (Benjamin Tissoires) [2054929] - HID: amd_sfh: Disable the interrupt for all command (Benjamin Tissoires) [2054929] - HID: amd_sfh: Correct the structure field name (Benjamin Tissoires) [2054929] - HID: amd_sfh: Handle amd_sfh work buffer in PM ops (Benjamin Tissoires) [2054929] - HID: amd_sfh: Add illuminance mask to limit ALS max value (Benjamin Tissoires) [2054929] - HID: amd_sfh: Increase sensor command timeout (Benjamin Tissoires) [2054929] - HID: amd_sfh: Update Copyright details (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dev_' API (Benjamin Tissoires) [2054929] - HID: amd_sfh: Use dma_set_mask_and_coherent() (Benjamin Tissoires) [2054929] - HID: amd_sfh: switch from 'pci_' to 'dma_' API (Benjamin Tissoires) [2054929] - dm stats: fix too short end duration_ns when using precise_timestamps (Benjamin Marzinski) [2057166] - dm: fix double accounting of flush with data (Benjamin Marzinski) [2057166] - dm: interlock pending dm_io and dm_wait_for_bios_completion (Benjamin Marzinski) [2057166] - x86/MCE/AMD, EDAC/mce_amd: Support non-uniform MCA bank type enumeration (Aristeu Rozanski) [2050410 2048786 2050412] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC: Add RDDR5 and LRDDR5 memory types (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Handle three rank interleaving mode (Aristeu Rozanski) [2050410 2048786 2050412] - EDAC/amd64: Set proper family type for Family 19h Models 20h-2Fh (Aristeu Rozanski) [2050410 2048786 2050412] - netfilter: nf_queue: handle socket prefetch (Florian Westphal) [2009786] - netfilter: nf_queue: fix possible use-after-free (Florian Westphal) [2009786] - selftests: netfilter: add nfqueue TCP_NEW_SYN_RECV socket race test (Florian Westphal) [2009786] - netfilter: nf_queue: don't assume sk is full socket (Florian Westphal) [2009786] - Enable HSA_AMD_SVM config (Donald Dutile) [2025123] - mm/memremap_pages: support multiple ranges per invocation (Donald Dutile) [2025123] - mm/memremap_pages: convert to 'struct range' (Donald Dutile) [2025123] - device-dax: add an allocation interface for device-dax instances (Donald Dutile) [2025123] - device-dax: make pgmap optional for instance creation (Donald Dutile) [2025123] - device-dax: move instance creation parameters to 'struct dev_dax_data' (Donald Dutile) [2025123] - device-dax: drop the dax_region.pfn_flags attribute (Donald Dutile) [2025123] - memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC (Donald Dutile) [2025123] - PCI/P2PDMA: Introduce private pagemap structure (Donald Dutile) [2025123] - security: implement sctp_assoc_established hook in selinux (Ondrej Mosnacek) [2015525 2048251] - security: add sctp_assoc_established hook (Ondrej Mosnacek) [2015525 2048251] - security: call security_sctp_assoc_request in sctp_sf_do_5_1D_ce (Ondrej Mosnacek) [2015525 2048251] - security: pass asoc to sctp_assoc_request and sctp_sk_clone (Ondrej Mosnacek) [2015525 2048251] - net: sctp: Fix some typos (Ondrej Mosnacek) [2015525 2048251] - iwlwifi: mvm: read 6E enablement flags from DSM and pass to FW (Íñigo Huguet) [1923170 1936001] - net/mlx5: Lag, Make mlx5_lag_is_multipath() be static inline (Amir Tzin) [1982193] - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() (Amir Tzin) [1982193] - net/mlx5: DR, Ignore modify TTL if device doesn't support it (Amir Tzin) [1982193 2028504] - net/mlx5: Warn for devlink reload when there are VFs alive (Amir Tzin) [1982193] - net/mlx5: DR, Fix lower case macro prefix "mlx5_" to "MLX5_" (Amir Tzin) [1982193] - net/mlx5e: Fix wrong features assignment in case of error (Amir Tzin) [1982193] - net/mlx5e: Fix ICOSQ recovery flow for XSK (Amir Tzin) [1982193] - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow (Amir Tzin) [1982193] - net/mlx5e: Wrap the tx reporter dump callback to extract the sq (Amir Tzin) [1982193] - net/mlx5: Fix tc max supported prio for nic mode (Amir Tzin) [1982193] - net/mlx5: Fix SF health recovery flow (Amir Tzin) [1982193] - net/mlx5: Fix error print in case of IRQ request failed (Amir Tzin) [1982193] - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources (Amir Tzin) [1982193] - mlx5: fix mlx5i_grp_sw_update_stats() stack usage (Amir Tzin) [1982193] - mlx5: fix psample_sample_packet link error (Amir Tzin) [1982193] - net/mlx5: Fix format-security build warnings (Amir Tzin) [1982193] - net/mlx5e: Fix missing IPsec statistics on uplink representor (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of encapsulation (Amir Tzin) [1982193] - net/mlx5: E-Switch, return error if encap isn't supported (Amir Tzin) [1982193] - net/mlx5: Lag, update tracker when state change event received (Amir Tzin) [1982193] - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts (Amir Tzin) [1982193 2017675] - net/mlx5: Update error handler for UCTX and UMEM (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev (Amir Tzin) [1982193] - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events (Amir Tzin) [1982193] - net/mlx5e: kTLS, Fix crash in RX resync flow (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix work queue entry ethernet segment checksum flags (Amir Tzin) [1982193] - net/mlx5e: IPsec: Fix a misuse of the software parser's fields (Amir Tzin) [1982193] - net/mlx5e: Fix vlan data lost during suspend flow (Amir Tzin) [1982193] - net/mlx5: Lag, change multipath and bonding to be mutually exclusive (Amir Tzin) [1982193] - net/mlx5: Lag, move lag destruction to a workqueue (Amir Tzin) [1982193] - RDMA/mlx5: Initialize the ODP xarray when creating an ODP MR (Amir Tzin) [1982193] - net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp (Amir Tzin) [1982193] - net/mlx5e: Switchdev representors are not vlan challenged (Amir Tzin) [1982193] - net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path (Amir Tzin) [1982193] - net/mlx5: Fix cleanup of bridge delayed work (Amir Tzin) [1982193] - RDMA/mlx5: Set user priority for DCT (Amir Tzin) [1982193] - net/mlx5: DR, Fix typo 'offeset' to 'offset' (Amir Tzin) [1982193] - net/mlx5: DR, Fix vport number data type to u16 (Amir Tzin) [1982193] - net/mlx5e: Fix the presented RQ index in PTP stats (Amir Tzin) [1982193] - net/mlx5: Fix setting number of EQs of SFs (Amir Tzin) [1982193] - net/mlx5: Fix length of irq_index in chars (Amir Tzin) [1982193] - net/mlx5: Avoid generating event after PPS out in Real time mode (Amir Tzin) [1982193] - net/mlx5: Force round second at 1PPS out start time (Amir Tzin) [1982193] - net/mlx5: E-Switch, Fix double allocation of acl flow counter (Amir Tzin) [1982193] - net/mlx5e: Keep the value for maximum number of channels in-sync (Amir Tzin) [1982193] - net/mlx5e: IPSEC RX, enable checksum complete (Amir Tzin) [1982193] - net/mlx5: DR, Fix code indentation in dr_ste_v1 (Amir Tzin) [1982193] - RDMA/mlx5: Fix xlt_chunk_align calculation (Amir Tzin) [1982193] - RDMA/mlx5: Fix number of allocated XLT entries (Amir Tzin) [1982193] - net/mlx5e: Fix mutual exclusion between CQE compression and HW TS (Amir Tzin) [1982193] - net/mlx5: Fix potential sleeping in atomic context (Amir Tzin) [1982193] - net/mlx5: FWTrace, cancel work on alloc pd error flow (Amir Tzin) [1982193] - net/mlx5: DR, fix a potential use-after-free bug (Amir Tzin) [1982193] - net/mlx5e: Use correct eswitch for stack devices with lag (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set vhca id valid flag when creating indir fwd group (Amir Tzin) [1982193] - net/mlx5: Remove all auxiliary devices at the unregister event (Amir Tzin) [1982193] - net/mlx5: Lag, fix multipath lag activation (Amir Tzin) [1982193] - net/mlx5: Fix variable type to match 64bit (Amir Tzin) [1982193] - net/mlx5: Fix typo in comments (Amir Tzin) [1982193] - net/mlx5e: Remove Duplicated hunk in function __parse_cls_flower() (Amir Tzin) [1982193] - net/mlx5: Fix unpublish devlink parameters (Amir Tzin) [1982193] - RDMA/mlx5: Delete not-available udata check (Amir Tzin) [1982193] - net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set() (Amir Tzin) [1982193] - net/mlx5e: Block LRO if firmware asks for tunneled LRO (Amir Tzin) [1982193] - net/mlx5e: Prohibit inner indir TIRs in IPoIB (Amir Tzin) [1982193] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Amir Tzin) [1982193] - net/mlx5: Fix return value from tracer initialization (Amir Tzin) [1982193] - net/mlx5: Synchronize correct IRQ when destroying CQ (Amir Tzin) [1982193 1982219] - net/mlx5e: TC, Fix error handling memory leak (Amir Tzin) [1982193] - net/mlx5: Destroy pool->mutex (Amir Tzin) [1982193] - net/mlx5: Set all field of mlx5_irq before inserting it to the xarray (Amir Tzin) [1982193] - net/mlx5: Fix order of functions in mlx5_irq_detach_nb() (Amir Tzin) [1982193] - net/mlx5: Block switchdev mode while devlink traps are active (Amir Tzin) [1982193] - net/mlx5e: Destroy page pool after XDP SQ to fix use-after-free (Amir Tzin) [1982193] - net/mlx5: Bridge, fix ageing time (Amir Tzin) [1982193] - net/mlx5e: Avoid creating tunnel headers for local route (Amir Tzin) [1982193] - net/mlx5: DR, Add fail on error check on decap (Amir Tzin) [1982193] - net/mlx5: Don't skip subfunction cleanup in case of error in module init (Amir Tzin) [1982193] - RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently (Amir Tzin) [1982193] - net/mlx5: Fix mlx5_vport_tbl_attr chain from u16 to u32 (Amir Tzin) [1982193] - net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev() (Amir Tzin) [1982193] - net/mlx5: Unload device upon firmware fatal error (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for ptp-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Fix page allocation failure for trap-RQ over SF (Amir Tzin) [1982193] - net/mlx5e: Consider PTP-RQ when setting RX VLAN stripping (Amir Tzin) [1982193] - net/mlx5e: Add NETIF_F_HW_TC to hw_features when HTB offload is available (Amir Tzin) [1982193] - net/mlx5e: RX, Avoid possible data corruption when relaxed ordering and LRO combined (Amir Tzin) [1982193] - net/mlx5: E-Switch, handle devcom events only for ports on the same device (Amir Tzin) [1982193] - net/mlx5: E-Switch, Set destination vport vhca id only when merged eswitch is supported (Amir Tzin) [1982193] - net/mlx5e: Disable Rx ntuple offload for uplink representor (Amir Tzin) [1982193] - net/mlx5e: kTLS, Add stats for number of deleted kTLS TX offloaded connections (Amir Tzin) [1982193] - net/mlx5: SF, Improve performance in SF allocation (Amir Tzin) [1982193] - net/mlx5: Increase hairpin buffer size (Amir Tzin) [1982193] - net/mlx5: DR, Add support for flow sampler offload (Amir Tzin) [1982193] - net/mlx5: Compare sampler flow destination ID in fs_core (Amir Tzin) [1982193] - net/mlx5: remove "default n" from Kconfig (Amir Tzin) [1982193] - net/mlx5: Fix spelling mistake "enught" -> "enough" (Amir Tzin) [1982193] - net/mlx5: Use cpumask_available() in mlx5_eq_create_generic() (Amir Tzin) [1982193] - net/mlx5: Fix missing error code in mlx5_init_fs() (Amir Tzin) [1982193] - RDMA/mlx5: Support real-time timestamp directly from the device (Amir Tzin) [1982193] - RDMA/mlx5: Refactor get_ts_format functions to simplify code (Amir Tzin) [1982193] - RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs (Amir Tzin) [1982193] - net/mlx5: Round-Robin EQs over IRQs (Amir Tzin) [1982193] - net/mlx5: Separate between public and private API of sf.h (Amir Tzin) [1982193] - net/mlx5: Enlarge interrupt field in CREATE_EQ (Amir Tzin) [1982193] - net/mlx5: Allocating a pool of MSI-X vectors for SFs (Amir Tzin) [1982193] - net/mlx5: Change IRQ storage logic from static to dynamic (Amir Tzin) [1982193] - net/mlx5: Moving rmap logic to EQs (Amir Tzin) [1982193] - net/mlx5: Extend mlx5_irq_request to request IRQ from the kernel (Amir Tzin) [1982193] - net/mlx5: Removing rmap per IRQ (Amir Tzin) [1982193] - net/mlx5: Clean license text in eq.[c|h] files (Amir Tzin) [1982193] - net/mlx5: Provide cpumask at EQ creation phase (Amir Tzin) [1982193] - net/mlx5: Introduce API for request and release IRQs (Amir Tzin) [1982193] - net/mlx5: Delay IRQ destruction till all users are gone (Amir Tzin) [1982193] - net/mlx5: Change ownership model for lag (Amir Tzin) [1982193] - net/mlx5: Lag, Don't rescan if the device is going down (Amir Tzin) [1982193] - net/mlx5: Lag, refactor disable flow (Amir Tzin) [1982193] - net/mlx5: Bridge, add tracepoints (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, filter tagged packets that didn't match tagged fg (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, support pvid and untagged vlan configurations (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, match FDB entry vlan tag (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, implement infrastructure for vlans (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, dynamic entry ageing (Amir Tzin) [1982193 1982234] - net/mlx5: Bridge, handle FDB events (Amir Tzin) [1982193 1982234] - docs: networking: Add missing mlx5 documentation (Amir Tzin) [1982193] - net/mlx5: Bridge, add offload infrastructure (Amir Tzin) [1982193 1982234] - net/mlx5e: Refactor mlx5e_eswitch_{*}rep() helpers (Amir Tzin) [1982193 1982234] - net/mlx5: Create TC-miss priority and table (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Support EMD tag in modify header for STEv1 (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Added support for INSERT_HEADER reformat type (Amir Tzin) [1982193 1982234] - net/mlx5: Added new parameters to reformat context (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Allow encap action for RX for supporting devices (Amir Tzin) [1982193 1982234] - net/mlx5: DR, Split reformat state to Encap and Decap (Amir Tzin) [1982193 1982234] - net/mlx5: mlx5_ifc support for header insert/remove (Amir Tzin) [1982193 1982234] - net/mlx5e: Remove unreachable code in mlx5e_xmit() (Amir Tzin) [1982193] - net/mlx5e: RX, Re-place page pool numa node change logic (Amir Tzin) [1982193] - net/mlx5e: Zero-init DIM structures (Amir Tzin) [1982193] - net/mlx5e: IPoIB, Add support for NDR speed (Amir Tzin) [1982193] - net/mlx5e: Remove the repeated declaration (Amir Tzin) [1982193] - net/mlx5: check for allocation failure in mlx5_ft_pool_init() (Amir Tzin) [1982193] - mlx5: count all link events (Amir Tzin) [1982193] - net/mlx5: Expose FW version over defined keyword (Amir Tzin) [1982193] - net/mlx5: Use boolean arithmetic to evaluate roce_lag (Amir Tzin) [1982193] - net/mlx5: Remove unnecessary spin lock protection (Amir Tzin) [1982193] - net/mlx5: Cap the maximum flow group size to 16M entries (Amir Tzin) [1982193] - net/mlx5: DR, Set max table size to 2G entries (Amir Tzin) [1982193] - net/mlx5: Move chains ft pool to be used by all firmware steering (Amir Tzin) [1982193] - net/mlx5: Move table size calculation to steering cmd layer (Amir Tzin) [1982193] - net/mlx5: Add case for FS_FT_NIC_TX FT in MLX5_CAP_FLOWTABLE_TYPE (Amir Tzin) [1982193] - net/mlx5: DR, Remove unused field of send_ring struct (Amir Tzin) [1982193] - net/mlx5e: RX, Remove unnecessary check in RX CQE compression handling (Amir Tzin) [1982193] - net/mlx5: CT: Avoid reusing modify header context for natted entries (Amir Tzin) [1982193] - net/mlx5e: CT, Remove newline from ct_dbg call (Amir Tzin) [1982193] - RDMA/mlx5: Take qp type from mlx5_ib_qp (Amir Tzin) [1982193] - RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response (Amir Tzin) [1982193] - RDMA/mlx5: Support SQD2RTS for modify QP (Amir Tzin) [1982193] - RDMA/mlx5: Remove redundant assignment to ret (Amir Tzin) [1982193] - firewire: fix support status (Tomas Henzl) [2055319] - dlci: fix support status (Tomas Henzl) [2055319] - dlink: fix support status (Tomas Henzl) [2055319] - rxe: fix support status (Tomas Henzl) [2055319] - qic: fix support status (Tomas Henzl) [2055319] - Revert "ceph: enable async dirops by default" (Jeffrey Layton) [2052542] - libceph: optionally use bounce buffer on recv path in crc mode (Jeffrey Layton) [2024725] - libceph: make recv path in secure mode work the same as send path (Jeffrey Layton) [2024725] - mm: use kmap_local_page in memzero_page (Jeffrey Layton) [2024725] - mm: call flush_dcache_page() in memcpy_to_page() and memzero_page() (Jeffrey Layton) [2024725] - iov_iter: lift memzero_page() to highmem.h (Jeffrey Layton) [2024725] - mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() (Jeffrey Layton) [2024725] - mm/highmem: Lift memcpy_[to|from]_page to core (Jeffrey Layton) [2024725] - ceph: set pool_ns in new inode layout for async creates (Jeffrey Layton) [2046021] - ceph: properly put ceph_string reference after async create attempt (Jeffrey Layton) [2046021] - ceph: put the requests/sessions when it fails to alloc memory (Jeffrey Layton) [2046021] - ceph: remove redundant Lsx caps check (Jeffrey Layton) [2046021] - ceph: don't check for quotas on MDS stray dirs (Jeffrey Layton) [2046021] - ceph: drop send metrics debug message (Jeffrey Layton) [2046021] - ceph: Fix incorrect statfs report for small quota (Jeffrey Layton) [2011104] - scsi: qla2xxx: stop timer in shutdown path (Nilesh Javali) [2056055] - Revert "PCI: Add support for dev_groups to struct pci_driver" (Michel Dänzer) [2054595] - drm/amdgpu: Assign amdgpu_sysfs_groups to struct device_driver directly (Michel Dänzer) [2054595] - EDAC/i10nm: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1998359] - redhat: enable zstream release numbering for rhel 8.6 (Augusto Caringi) - redhat: generate distgit changelog in genspec.sh as well (Jan Stancek) - redhat: always upload kabi tarballs (Jan Stancek) - redhat: make genspec prefer metadata from git notes (Jan Stancek)- xfs: don't generate selinux audit messages for capability testing (Brian Foster) [2059835]- ice: Implement support for SMA and U.FL on E810-T (Jonathan Toppins) [1975007] - ice: Add support for SMA control multiplexer (Jonathan Toppins) [1975007] - ice: Implement functions for reading and setting GPIO pins (Jonathan Toppins) [1975007] - ice: Refactor ice_aqc_link_topo_addr (Jonathan Toppins) [1975007] - xfs: restore speculative_cow_prealloc_lifetime sysctl (Bill O'Donnell) [2015621] - xfs: Fix the free logic of state in xfs_attr_node_hasname (Bill O'Donnell) [2015621 2037498] - xfs: punch out data fork delalloc blocks on COW writeback failure (Bill O'Donnell) [2015621 2012872] - xfs: use kmem_cache_free() for kmem_cache objects (Bill O'Donnell) [2015621] - xfs: logging the on disk inode LSN can make it go backwards (Bill O'Donnell) [2015621] - xfs: only reset incore inode health state flags when reclaiming an inode (Bill O'Donnell) [2015621] - xfs: remove obsolete AGF counter debugging (Bill O'Donnell) [2015621] - xfs: Initialize xfs_alloc_arg->total correctly when allocating minlen extents (Bill O'Donnell) [2015621] - xfs: Fix dax inode extent calculation when direct write is performed on an unwritten extent (Bill O'Donnell) [2015621] - xfs: mark a data structure sick if there are cross-referencing errors (Bill O'Donnell) [2015621] - xfs: fix maxlevels comparisons in the btree staging code (Bill O'Donnell) [2015621] - xfs: fix incorrect unit conversion in scrub tracepoint (Bill O'Donnell) [2015621] - xfs: fix log intent recovery ENOSPC shutdowns when inactivating inodes (Bill O'Donnell) [2015621] - xfs: fix radix tree tag signs (Bill O'Donnell) [2015621] - xfs: force log and push AIL to clear pinned inodes when aborting mount (Bill O'Donnell) [2015621] - xfs: use current->journal_info for detecting transaction recursion (Bill O'Donnell) [2015621] - xfs: don't nest transactions when scanning for eofblocks (Bill O'Donnell) [2015621] - xfs: fix boolreturn.cocci warnings (Bill O'Donnell) [2015621] - xfs: get rid of xfs_growfs_{data,log}_t (Bill O'Donnell) [2015621] - xfs: rename `new' to `delta' in xfs_growfs_data_private() (Bill O'Donnell) [2015621] - xfs: don't bounce the iolock between free_{eof,cow}blocks (Bill O'Donnell) [2015621] - xfs: expose the blockgc workqueue knobs publicly (Bill O'Donnell) [2015621] - xfs: parallelize block preallocation garbage collection (Bill O'Donnell) [2015621] - xfs: rename block gc start and stop functions (Bill O'Donnell) [2015621] - xfs: only walk the incore inode tree once per blockgc scan (Bill O'Donnell) [2015621] - xfs: consolidate the eofblocks and cowblocks workers (Bill O'Donnell) [2015621] - xfs: consolidate incore inode radix tree posteof/cowblocks tags (Bill O'Donnell) [2015621] - xfs: remove trivial eof/cowblocks functions (Bill O'Donnell) [2015621] - xfs: hide xfs_icache_free_cowblocks (Bill O'Donnell) [2015621] - xfs: hide xfs_icache_free_eofblocks (Bill O'Donnell) [2015621] - xfs: relocate the eofb/cowb workqueue functions (Bill O'Donnell) [2015621] - xfs: set WQ_SYSFS on all workqueues in debug mode (Bill O'Donnell) [2015621] - xfs: increase the default parallelism levels of pwork clients (Bill O'Donnell) [2015621] - xfs: flush speculative space allocations when we run out of space (Bill O'Donnell) [2015621] - xfs: refactor xfs_icache_free_{eof,cow}blocks call sites (Bill O'Donnell) [2015621] - xfs: add a tracepoint for blockgc scans (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for chown (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for inode creation (Bill O'Donnell) [2015621] - xfs: flush eof/cowblocks if we can't reserve quota for file blocks (Bill O'Donnell) [2015621] - xfs: try worst case space reservation upfront in xfs_reflink_remap_extent (Bill O'Donnell) [2015621] - xfs: pass flags and return gc errors from xfs_blockgc_free_quota (Bill O'Donnell) [2015621] - xfs: move and rename xfs_inode_free_quota_blocks to avoid conflicts (Bill O'Donnell) [2015621] - xfs: xfs_inode_free_quota_blocks should scan project quota (Bill O'Donnell) [2015621] - xfs: don't stall cowblocks scan if we can't take locks (Bill O'Donnell) [2015621] - xfs: trigger all block gc scans when low on quota space (Bill O'Donnell) [2015621] - xfs: shut down the filesystem if we screw up quota reservation (Bill O'Donnell) [2015621] - xfs: rename code to error in xfs_ioctl_setattr (Bill O'Donnell) [2015621] - xfs: remove xfs_qm_vop_chown_reserve (Bill O'Donnell) [2015621] - xfs: refactor inode ownership change transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: refactor inode creation transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: refactor reflink functions to use xfs_trans_alloc_inode (Bill O'Donnell) [2015621] - xfs: allow reservation of rtblocks with xfs_trans_alloc_inode (Bill O'Donnell) [2015621] - xfs: refactor common transaction/inode/quota allocation idiom (Bill O'Donnell) [2015621] - xfs: reserve data and rt quota at the same time (Bill O'Donnell) [2015621] - xfs: clean up icreate quota reservation calls (Bill O'Donnell) [2015621] - xfs: remove xfs_trans_unreserve_quota_nblks completely (Bill O'Donnell) [2015621] - xfs: create convenience wrappers for incore quota block reservations (Bill O'Donnell) [2015621] - xfs: clean up quota reservation callsites (Bill O'Donnell) [2015621] - xfs: reduce quota reservation when doing a dax unwritten extent conversion (Bill O'Donnell) [2015621] - xfs: reduce exclusive locking on unaligned dio (Bill O'Donnell) [2015621] - xfs: split the unaligned DIO write code out (Bill O'Donnell) [2015621] - xfs: improve the reflink_bounce_dio_write tracepoint (Bill O'Donnell) [2015621] - xfs: simplify the read/write tracepoints (Bill O'Donnell) [2015621] - xfs: remove the buffered I/O fallback assert (Bill O'Donnell) [2015621] - xfs: cleanup the read/write helper naming (Bill O'Donnell) [2015621] - xfs: make xfs_file_aio_write_checks IOCB_NOWAIT-aware (Bill O'Donnell) [2015621] - xfs: factor out a xfs_ilock_iocb helper (Bill O'Donnell) [2015621] - xfs: Fix 'set but not used' warning in xfs_bmap_compute_alignments() (Bill O'Donnell) [2015621] - xfs: fix unused log variable in xfs_log_cover() (Bill O'Donnell) [2015621] - iomap: add a IOMAP_DIO_OVERWRITE_ONLY flag (Bill O'Donnell) [2015621] - iomap: pass a flags argument to iomap_dio_rw (Bill O'Donnell) [2015621] - iomap: rename the flags variable in __iomap_dio_rw (Bill O'Donnell) [2015621] - iomap: Allow filesystem to call iomap_dio_complete without i_rwsem (Bill O'Donnell) [2015621] - xfs: reduce ilock acquisitions in xfs_file_fsync (Bill O'Donnell) [2015621] - xfs: refactor xfs_file_fsync (Bill O'Donnell) [2015621] - xfs: cover the log on freeze instead of cleaning it (Bill O'Donnell) [2015621] - xfs: remove xfs_quiesce_attr() (Bill O'Donnell) [2015621] - xfs: remove duplicate wq cancel and log force from attr quiesce (Bill O'Donnell) [2015621] - xfs: fold sbcount quiesce logging into log covering (Bill O'Donnell) [2015621] - xfs: don't reset log idle state on covering checkpoints (Bill O'Donnell) [2015621] - xfs: cover the log during log quiesce (Bill O'Donnell) [2015621] - xfs: separate log cleaning from log quiesce (Bill O'Donnell) [2015621] - xfs: lift writable fs check up into log worker task (Bill O'Donnell) [2015621] - xfs: set inode size after creating symlink (Bill O'Donnell) [2015621] - xfs: remove a stale comment from xfs_file_aio_write_checks() (Bill O'Donnell) [2015621] - xfs: Introduce error injection to allocate only minlen size extents for files (Bill O'Donnell) [2015621] - xfs: Process allocated extent in a separate function (Bill O'Donnell) [2015621] - xfs: Compute bmap extent alignments in a separate function (Bill O'Donnell) [2015621] - xfs: Remove duplicate assert statement in xfs_bmap_btalloc() (Bill O'Donnell) [2015621] - xfs: Introduce error injection to reduce maximum inode fork extent count (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when swapping extents (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when remapping an extent (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when moving extent from cow to data fork (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when writing to unwritten extent (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when adding/removing xattrs (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when renaming dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when removing dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when adding dir entries (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when punching a hole (Bill O'Donnell) [2015621] - xfs: Check for extent overflow when trivally adding a new extent (Bill O'Donnell) [2015621] - xfs: Add helper for checking per-inode extent count overflow (Bill O'Donnell) [2015621] - iwlwifi: pcie: add killer devices to the driver (Íñigo Huguet) [2043453] - iwlwifi: add support for BNJ HW (Íñigo Huguet) [2043453] - iwlwifi: Fix FW name for gl (Íñigo Huguet) [2043453] - iwlwifi: Read the correct addresses when getting the crf id (Íñigo Huguet) [2043453] - iwlwifi: pcie: add jacket bit to device configuration parsing (Íñigo Huguet) [2043453] - iwlwifi: add new ax1650 killer device (Íñigo Huguet) [2043453] - iwlwifi: add new Qu-Hr device (Íñigo Huguet) [2043453] - iwlwifi: add missing entries for Gf4 with So and SoF (Íñigo Huguet) [2043453] - iwlwifi: remove unused iwlax210_2ax_cfg_so_hr_a0 structure (Íñigo Huguet) [2043453] - iwlwifi: add support for Bz-Z HW (Íñigo Huguet) [2043453] - iwlwifi: support 4-bits in MAC step value (Íñigo Huguet) [2043453] - iwlwifi: mvm: Increase the scan timeout guard to 30 seconds (Íñigo Huguet) [2043453] - iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() (Íñigo Huguet) [2043453] - mt76: mt7921: fix a possible race enabling/disabling runtime-pm (Íñigo Huguet) [2043453] - ath11k: Fix unexpected return buffer manager error for QCA6390 (Íñigo Huguet) [2043453] - ath11k: Fix napi related hang (Íñigo Huguet) [2043453] - iwlwifi: yoyo: fix issue with new DBGI_SRAM region read. (Íñigo Huguet) [2043453] - iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix AUX ROC removal (Íñigo Huguet) [2043453] - iwlwifi: mvm: set protected flag only for NDP ranging (Íñigo Huguet) [2043453] - iwlwifi: mvm: perform 6GHz passive scan after suspend (Íñigo Huguet) [2043453] - iwlwifi: mvm: Fix calculation of frame length (Íñigo Huguet) [2043453] - iwlwifi: mvm: test roc running status bits before removing the sta (Íñigo Huguet) [2043453] - iwlwifi: don't pass actual WGDS revision number in table_revision (Íñigo Huguet) [2043453] - iwlwifi: fix leaks/bad data after failed firmware load (Íñigo Huguet) [2043453] - iwlwifi: fix debug TLV parsing (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix 32-bit build in FTM (Íñigo Huguet) [2043453] - iwlwifi: fix Bz NMI behaviour (Íñigo Huguet) [2043453] - rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled (Íñigo Huguet) [2043453] - rtw88: 8822c: update rx settings to prevent potential hw deadlock (Íñigo Huguet) [2043453] - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE (Íñigo Huguet) [2043453] - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream (Íñigo Huguet) [2043453] - ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() (Íñigo Huguet) [2043453] - ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() (Íñigo Huguet) [2043453] - mac80211: fix FEC flag in radio tap header (Íñigo Huguet) [2043453] - mt76: mt7921: fix possible resume failure (Íñigo Huguet) [2043453] - mt76: mt7921: move mt76_connac_mcu_set_hif_suspend to bus-related files (Íñigo Huguet) [2043453] - mt76: mt7921: fix network buffer leak by txs missing (Íñigo Huguet) [2043453] - mt76: mt7615: clear mcu error interrupt status on mt7663 (Íñigo Huguet) [2043453] - mt76: connac: fix last_chan configuration in mt76_connac_mcu_rate_txpower_band (Íñigo Huguet) [2043453] - mt76: mt7921: use correct iftype data on 6GHz cap init (Íñigo Huguet) [2043453] - mt76: mt7921: fix boolreturn.cocci warning (Íñigo Huguet) [2043453] - mt76: mt7615: fix unused tx antenna mask in testmode (Íñigo Huguet) [2043453] - mt76: fix the wiphy's available antennas to the correct value (Íñigo Huguet) [2043453] - mt76: connac: fix a theoretical NULL pointer dereference in mt76_connac_get_phy_mode (Íñigo Huguet) [2043453] - mt76: mt7921: fix possible NULL pointer dereference in mt7921_mac_write_txwi (Íñigo Huguet) [2043453] - mt76: fix possible OOB issue in mt76_calculate_default_rate (Íñigo Huguet) [2043453] - mt76: debugfs: fix queue reporting for mt76-usb (Íñigo Huguet) [2043453] - mt76: mt7915: fix SMPS operation fail (Íñigo Huguet) [2043453] - mt76: mt7915: fix return condition in mt7915_tm_reg_backup_restore() (Íñigo Huguet) [2043453] - mt76: mt7921: fix MT7921E reset failure (Íñigo Huguet) [2043453] - mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() (Íñigo Huguet) [2043453] - mt76: mt7921: drop offload_flags overwritten (Íñigo Huguet) [2043453] - mt76: mt7915: get rid of mt7915_mcu_set_fixed_rate routine (Íñigo Huguet) [2043453] - bus: mhi: core: Use correctly sized arguments for bit field (Íñigo Huguet) [2043453] - bus: mhi: core: Fix race while handling SYS_ERR at power up (Íñigo Huguet) [2043453] - bus: mhi: core: Fix reading wake_capable channel configuration (Íñigo Huguet) [2043453] - bus: mhi: core: Minor style and comment fixes (Íñigo Huguet) [2043453] - bus: mhi: pci_generic: Graceful shutdown on freeze (Íñigo Huguet) [2043453] - ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan() (Íñigo Huguet) [2043453] - mt76: remove variable set but not used (Íñigo Huguet) [2043453] - ath11k: Fix deleting uninitialized kernel timer during fragment cache flush (Íñigo Huguet) [2043453] - ath11k: add spectral/CFR buffer validation support (Íñigo Huguet) [2043453] - ath11k: Fix buffer overflow when scanning with extraie (Íñigo Huguet) [2043453] - mwifiex: Fix possible ABBA deadlock (Íñigo Huguet) [2043453] - ath10k: fix scan abort when duration is set for hw scan (Íñigo Huguet) [2043453] - ath10k: Fix tx hanging (Íñigo Huguet) [2043453] - iwlwifi: acpi: fix wgds rev 3 size (Íñigo Huguet) [2043453] - iwlwifi: mvm: avoid clearing a just saved session protection id (Íñigo Huguet) [2043453] - iwlwifi: mvm: Fix wrong documentation for scan request command (Íñigo Huguet) [2043453] - iwlwifi: mvm: synchronize with FW after multicast commands (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix delBA vs. NSSN queue sync race (Íñigo Huguet) [2043453] - ath11k: Fix QMI file type enum value (Íñigo Huguet) [2043453] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2043453] - ath10k: Fix the MTU size on QCA9377 SDIO (Íñigo Huguet) [2043453] - wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma (Íñigo Huguet) [2043453] - mwifiex: Ignore BTCOEX events from the 88W8897 firmware (Íñigo Huguet) [2043453] - mwifiex: Fix skb_over_panic in mwifiex_usb_recv() (Íñigo Huguet) [2043453] - ath11k: Use host CE parameters for CE interrupts configuration (Íñigo Huguet) [2043453] - ath11k: Fix mon status ring rx tlv processing (Íñigo Huguet) [2043453] - ath11k: skip sending vdev down for channel switch (Íñigo Huguet) [2043453] - ath11k: fix read fail for htt_stats and htt_peer_stats for single pdev (Íñigo Huguet) [2043453] - ath11k: Set IRQ affinity to CPU0 in case of one MSI vector (Íñigo Huguet) [2043453] - ath11k: do not restore ASPM in case of single MSI vector (Íñigo Huguet) [2043453] - ath11k: add support one MSI vector (Íñigo Huguet) [2043453] - ath11k: refactor multiple MSI vector implementation (Íñigo Huguet) [2043453] - ath11k: use ATH11K_PCI_IRQ_DP_OFFSET for DP IRQ (Íñigo Huguet) [2043453] - ath11k: add CE and ext IRQ flag to indicate irq_handler (Íñigo Huguet) [2043453] - ath11k: get msi_data again after request_irq is called (Íñigo Huguet) [2043453] - ath9k: fix intr_txqs setting (Íñigo Huguet) [2043453] - ath11k: add hw_param for wakeup_mhi (Íñigo Huguet) [2043453] - ath11k: reset RSN/WPA present state for open BSS (Íñigo Huguet) [2043453] - ath11k: clear the keys properly via DISABLE_KEY (Íñigo Huguet) [2043453] - ath11k: Fix crash caused by uninitialized TX ring (Íñigo Huguet) [2043453] - ath11k: use cache line aligned buffers for dbring (Íñigo Huguet) [2043453] - ath11k: Fix ETSI regd with weather radar overlap (Íñigo Huguet) [2043453] - ath11k: fix FCS_ERR flag in radio tap header (Íñigo Huguet) [2043453] - ath11k: fix the value of msecs_to_jiffies in ath11k_debugfs_fw_stats_request (Íñigo Huguet) [2043453] - ath11k: fix firmware crash during channel switch (Íñigo Huguet) [2043453] - ath11k: Fix 'unused-but-set-parameter' error (Íñigo Huguet) [2043453] - ath11k: fix DMA memory free in CE pipe cleanup (Íñigo Huguet) [2043453] - ath11k: fix error routine when fallback of add interface fails (Íñigo Huguet) [2043453] - ath11k: fix fw crash due to peer get authorized before key install (Íñigo Huguet) [2043453] - ath11k: Clear auth flag only for actual association in security mode (Íñigo Huguet) [2043453] - ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware (Íñigo Huguet) [2043453] - ath11k: set correct NL80211_FEATURE_DYNAMIC_SMPS for WCN6855 (Íñigo Huguet) [2043453] - mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh (Íñigo Huguet) [2043453] - mac80211: initialize variable have_higher_than_11mbit (Íñigo Huguet) [2043453] - mac80211: fix locking in ieee80211_start_ap error path (Íñigo Huguet) [2043453] - mac80211: do drv_reconfig_complete() before restarting all (Íñigo Huguet) [2043453] - mac80211: mark TX-during-stop for TX in in_reconfig (Íñigo Huguet) [2043453] - mac80211: update channel context before station state (Íñigo Huguet) [2043453] - mac80211: Fix the size used for building probe request (Íñigo Huguet) [2043453] - mac80211: fix lookup when adding AddBA extension element (Íñigo Huguet) [2043453] - mac80211: validate extended element ID is present (Íñigo Huguet) [2043453] - cfg80211: Acquire wiphy mutex on regulatory work (Íñigo Huguet) [2043453] - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock (Íñigo Huguet) [2043453] - nl80211: remove reload flag from regulatory_request (Íñigo Huguet) [2043453] - mac80211: send ADDBA requests using the tid/queue of the aggregation session (Íñigo Huguet) [2043453] - bus: mhi: core: Add support for forced PM resume (Íñigo Huguet) [2043453] - mt76: mt7921: fix build regression (Íñigo Huguet) [2043453] - brcmsmac: rework LED dependencies (Íñigo Huguet) [2043453] - iwlwifi: fix LED dependencies (Íñigo Huguet) [2043453] - iwlwifi: mvm: don't crash on invalid rate w/o STA (Íñigo Huguet) [2043453] - bus: mhi: pci_generic: Fix device recovery failed issue (Íñigo Huguet) [2043453] - mt76: fix key pointer overwrite in mt7921s_write_txwi/mt7663_usb_sdio_write_txwi (Íñigo Huguet) [2043453] - rt2x00: do not mark device gone on EPROTO errors during start (Íñigo Huguet) [2043453] - nl80211: reset regdom when reloading regdb (Íñigo Huguet) [2043453] - mac80211: add docs for ssn in struct tid_ampdu_tx (Íñigo Huguet) [2043453] - mac80211: fix a memory leak where sta_info is not freed (Íñigo Huguet) [2043453] - mac80211: set up the fwd_skb->dev for mesh forwarding (Íñigo Huguet) [2043453] - mac80211: fix regression in SSN handling of addba tx (Íñigo Huguet) [2043453] - mac80211: fix rate control for retransmitted frames (Íñigo Huguet) [2043453] - mac80211: track only QoS data frames for admission control (Íñigo Huguet) [2043453] - mac80211: fix TCP performance on mesh interface (Íñigo Huguet) [2043453] - mt76: fix possible pktid leak (Íñigo Huguet) [2043453] - mt76: fix timestamp check in tx_status (Íñigo Huguet) [2043453] - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode (Íñigo Huguet) [2043453] - iwlwifi: Fix memory leaks in error handling path (Íñigo Huguet) [2043453] - iwlwifi: fix warnings produced by kernel debug options (Íñigo Huguet) [2043453] - iwlwifi: mvm: retry init flow if failed (Íñigo Huguet) [2043453] - iwlwifi: Fix missing error code in iwl_pci_probe() (Íñigo Huguet) [2043453] - iwlwifi: pcie: fix constant-conversion warning (Íñigo Huguet) [2043453] - mac80211: fix throughput LED trigger (Íñigo Huguet) [2043453] - mac80211: fix monitor_sdata RCU/locking assertions (Íñigo Huguet) [2043453] - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue (Íñigo Huguet) [2043453] - mac80211: fix radiotap header generation (Íñigo Huguet) [2043453] - mac80211: do not access the IV when it was stripped (Íñigo Huguet) [2043453] - nl80211: fix radio statistics in survey dump (Íñigo Huguet) [2043453] - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type (Íñigo Huguet) [2043453] - mwifiex: fix division by zero in fw download path (Íñigo Huguet) [2043453] - iwlwifi: bump FW API to 67 for AX devices (Íñigo Huguet) [2043453] - iwlwifi: mvm: extend session protection on association (Íñigo Huguet) [2043453] - iwlwifi: rename CHANNEL_SWITCH_NOA_NOTIF to CHANNEL_SWITCH_START_NOTIF (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove session protection on disassoc (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix WGDS table print in iwl_mvm_chub_update_mcc() (Íñigo Huguet) [2043453] - iwlwifi: rename GEO_TX_POWER_LIMIT to PER_CHAIN_LIMIT_OFFSET_CMD (Íñigo Huguet) [2043453] - iwlwifi: mvm: d3: use internal data representation (Íñigo Huguet) [2043453] - iwlwifi: mvm: update RFI TLV (Íñigo Huguet) [2043453] - iwlwifi: mvm: don't get address of mvm->fwrt just to dereference as a pointer (Íñigo Huguet) [2043453] - iwlwifi: yoyo: support for ROM usniffer (Íñigo Huguet) [2043453] - iwlwifi: fw: uefi: add missing include guards (Íñigo Huguet) [2043453] - iwlwifi: dump host monitor data when NIC doesn't init (Íñigo Huguet) [2043453] - iwlwifi: pcie: simplify iwl_pci_find_dev_info() (Íñigo Huguet) [2043453] - iwlwifi: ACPI: support revision 3 WGDS tables (Íñigo Huguet) [2043453] - iwlwifi: pcie: update sw error interrupt for BZ family (Íñigo Huguet) [2043453] - iwlwifi: add new pci SoF with JF (Íñigo Huguet) [2043453] - iwlwifi: mvm: Use all Rx chains for roaming scan (Íñigo Huguet) [2043453] - iwlwifi: pcie: remove two duplicate PNJ device entries (Íñigo Huguet) [2043453] - iwlwifi: pcie: refactor dev_info lookup (Íñigo Huguet) [2043453] - iwlwifi: pcie: remove duplicate entry (Íñigo Huguet) [2043453] - iwlwifi: pcie: fix killer name matching for AX200 (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix some kerneldoc issues (Íñigo Huguet) [2043453] - ath10k: fix division by zero in send path (Íñigo Huguet) [2043453] - ath10k: fix control-message timeout (Íñigo Huguet) [2043453] - ath10k: fix module load regression with iram-recovery feature (Íñigo Huguet) [2043453] - ath10k: fix invalid dma_addr_t token assignment (Íñigo Huguet) [2043453] - ath11k: change return buffer manager for QCA6390 (Íñigo Huguet) [2043453] - mt76: connac: fix unresolved symbols when CONFIG_PM is unset (Íñigo Huguet) [2043453] - mt76: Make use of the helper macro kthread_run() (Íñigo Huguet) [2043453] - mt76: Print error message when reading EEPROM from mtd failed (Íñigo Huguet) [2043453] - mt76: mt7921: disable 4addr capability (Íñigo Huguet) [2043453] - mt76: mt7915: add debugfs knobs for MCU utilization (Íñigo Huguet) [2043453] - mt76: mt7915: add WA firmware log support (Íñigo Huguet) [2043453] - mt76: mt7915: fix endiannes warning mt7915_mcu_beacon_check_caps (Íñigo Huguet) [2043453] - mt76: mt7915: rework debugfs fixed-rate knob (Íñigo Huguet) [2043453] - mt76: mt7915: rework .set_bitrate_mask() to support more options (Íñigo Huguet) [2043453] - mt76: mt7915: remove mt7915_mcu_add_he() (Íñigo Huguet) [2043453] - mt76: mt7615: apply cached RF data for DBDC (Íñigo Huguet) [2043453] - mt76: mt7615: mt7622: fix ibss and meshpoint (Íñigo Huguet) [2043453] - mt76: mt7921: fix Wformat build warning (Íñigo Huguet) [2043453] - mt76: mt7921: fix mt7921s Kconfig (Íñigo Huguet) [2043453] - iwlwifi: pnvm: print out the version properly (Íñigo Huguet) [2043453] - iwlwifi: dbg: treat non active regions as unsupported regions (Íñigo Huguet) [2043453] - iwlwifi: mvm: Read acpi dsm to get channel activation bitmap (Íñigo Huguet) [2043453] - iwlwifi: add new device id 7F70 (Íñigo Huguet) [2043453] - iwlwifi: mvm: improve log when processing CSA (Íñigo Huguet) [2043453] - iwlwifi: mvm: set BT-coex high priority for 802.1X/4-way-HS (Íñigo Huguet) [2043453] - iwlwifi: dbg: treat dbgc allocation failure when tlv is missing (Íñigo Huguet) [2043453] - iwlwifi: add new killer devices to the driver (Íñigo Huguet) [2043453] - iwlwifi: mvm: set inactivity timeouts also for PS-poll (Íñigo Huguet) [2043453] - iwlwifi: pcie: try to grab NIC access early (Íñigo Huguet) [2043453] - iwlwifi: mvm: reduce WARN_ON() in TX status path (Íñigo Huguet) [2043453] - iwlwifi: allow rate-limited error messages (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove session protection after auth/assoc (Íñigo Huguet) [2043453] - iwlwifi: remove redundant iwl_finish_nic_init() argument (Íñigo Huguet) [2043453] - iwlwifi: mvm: Add RTS and CTS flags to iwl_tx_cmd_flags. (Íñigo Huguet) [2043453] - iwlwifi: mvm: remove csi from iwl_mvm_pass_packet_to_mac80211() (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new rate_n_flags for REPLY_RX_MPDU_CMD and RX_NO_DATA_NOTIF (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new TX_RSP and COMPRESSED_BA_RES versions (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new version of BEACON_TEMPLATE_CMD. (Íñigo Huguet) [2043453] - iwlwifi: mvm: Add support for new rate_n_flags in tx_cmd. (Íñigo Huguet) [2043453] - iwlwifi: BZ Family SW reset support (Íñigo Huguet) [2043453] - iwlwifi: BZ Family BUS_MASTER_DISABLE_REQ code duplication (Íñigo Huguet) [2043453] - iwlwifi: yoyo: fw debug config from context info and preset (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support new version of ranging response notification (Íñigo Huguet) [2043453] - iwlwifi: mvm: Support version 3 of tlc_update_notif. (Íñigo Huguet) [2043453] - iwlwifi: mvm: convert old rate & flags to the new format. (Íñigo Huguet) [2043453] - iwlwifi: mvm: add definitions for new rate & flags (Íñigo Huguet) [2043453] - iwlwifi: mvm: update definitions due to new rate & flags (Íñigo Huguet) [2043453] - iwlwifi: mvm: scrub key material in firmware dumps (Íñigo Huguet) [2043453] - iwlwifi: parse debug exclude data from firmware file (Íñigo Huguet) [2043453] - iwlwifi: fw dump: add infrastructure for dump scrubbing (Íñigo Huguet) [2043453] - iwlwifi: mvm: correct sta-state logic for TDLS (Íñigo Huguet) [2043453] - iwlwifi: api: fix struct iwl_wowlan_status_v7 kernel-doc (Íñigo Huguet) [2043453] - iwlwifi: fix fw/img.c license statement (Íñigo Huguet) [2043453] - iwlwifi: remove contact information (Íñigo Huguet) [2043453] - iwlwifi: remove MODULE_AUTHOR() statements (Íñigo Huguet) [2043453] - iwlwifi: api: remove unused RX status bits (Íñigo Huguet) [2043453] - iwlwifi: add some missing kernel-doc in struct iwl_fw (Íñigo Huguet) [2043453] - iwlwifi: mvm: Remove antenna c references (Íñigo Huguet) [2043453] - iwlwifi: mvm: add support for 160Mhz in ranging measurements (Íñigo Huguet) [2043453] - iwlwifi: add vendor specific capabilities for some RFs (Íñigo Huguet) [2043453] - iwlwifi: mvm: add lmac/umac PC info in case of error (Íñigo Huguet) [2043453] - iwlwifi: mvm: disable RX-diversity in powersave (Íñigo Huguet) [2043453] - iwlwifi: mvm: fix ieee80211_get_he_iftype_cap() iftype (Íñigo Huguet) [2043453] - iwlwifi: Start scratch debug register for Bz family (Íñigo Huguet) [2043453] - iwlwifi: Add support for more BZ HWs (Íñigo Huguet) [2043453] - iwlwifi: Add support for getting rf id with blank otp (Íñigo Huguet) [2043453] - cfg80211: fix kernel-doc for MBSSID EMA (Íñigo Huguet) [2043453] - mac80211: Prevent AP probing during suspend (Íñigo Huguet) [2043453] - nl80211: Add LC placeholder band definition to nl80211_band (Íñigo Huguet) [2043453] - mac80211: split beacon retrieval functions (Íñigo Huguet) [2043453] - cfg80211: separate get channel number from ies (Íñigo Huguet) [2043453] - mac80211: use ieee80211_bss_get_elem() in most places (Íñigo Huguet) [2043453] - cfg80211: scan: use element finding functions in easy cases (Íñigo Huguet) [2043453] - nl80211: use element finding functions (Íñigo Huguet) [2043453] - mac80211: fils: use cfg80211_find_ext_elem() (Íñigo Huguet) [2043453] - mac80211: fix memory leaks with element parsing (Íñigo Huguet) [2043453] - cfg80211: prepare for const netdev->dev_addr (Íñigo Huguet) [2043453] - mac80211: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - wireless: mac80211_hwsim: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - mac80211: debugfs: calculate free buffer size correctly (Íñigo Huguet) [2043453] - fq_codel: generalise ce_threshold marking for subset of traffic (Íñigo Huguet) [2043453] - wl3501_cs: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - ray_cs: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - brcmfmac: prepare for const netdev->dev_addr (Íñigo Huguet) [2043453] - wireless: use eth_hw_addr_set() instead of ether_addr_copy() (Íñigo Huguet) [2043453] - wireless: use eth_hw_addr_set() (Íñigo Huguet) [2043453] - iwlwifi: cfg: set low-latency-xtal for some integrated So devices (Íñigo Huguet) [2043453] - iwlwifi: pnvm: read EFI data only if long enough (Íñigo Huguet) [2043453] - iwlwifi: pnvm: don't kmemdup() more than we have (Íñigo Huguet) [2043453] - iwlwifi: change all JnP to NO-160 configuration (Íñigo Huguet) [2043453] - iwlwifi: mvm: reset PM state on unsuccessful resume (Íñigo Huguet) [2043453] - mwifiex: Deactive host sleep using HSCFG after it was activated manually (Íñigo Huguet) [2043453] - mwifiex: Send DELBA requests according to spec (Íñigo Huguet) [2043453] - mwifiex: Fix an incorrect comment (Íñigo Huguet) [2043453] - mwifiex: Log an error on command failure during key-material upload (Íñigo Huguet) [2043453] - mwifiex: Don't log error on suspend if wake-on-wlan is disabled (Íñigo Huguet) [2043453] - mt76: mt7915: change max rx len limit of hw modules (Íñigo Huguet) [2043453] - mt76: mt7915: fix missing HE phy cap (Íñigo Huguet) [2043453] - mt76: mt7915: rework mt7915_mcu_sta_muru_tlv() (Íñigo Huguet) [2043453] - mt76: mt7915: enable HE UL MU-MIMO (Íñigo Huguet) [2043453] - mt76: mt7921: add per-vif counters in ethtool (Íñigo Huguet) [2043453] - mt76: mt7921: move tx amsdu stats in mib_stats (Íñigo Huguet) [2043453] - mt76: mt7921: add sta stats accounting in mt7921_mac_add_txs_skb (Íñigo Huguet) [2043453] - mt76: mt7921: introduce stats reporting through ethtool (Íñigo Huguet) [2043453] - mt76: mt7921: add some more MIB counters (Íñigo Huguet) [2043453] - mt76: do not reset MIB counters in get_stats callback (Íñigo Huguet) [2043453] - mt76: mt7915: move tx amsdu stats in mib_stats (Íñigo Huguet) [2043453] - mt76: mt7915: run mt7915_get_et_stats holding mt76 mutex (Íñigo Huguet) [2043453] - mt76: move mt76_ethtool_worker_info in mt76 module (Íñigo Huguet) [2043453] - mt76: move mt76_sta_stats in mt76.h (Íñigo Huguet) [2043453] - mt76: mt76x0: correct VHT MCS 8/9 tx power eeprom offset (Íñigo Huguet) [2043453] - mt76: mt7921s: add reset support (Íñigo Huguet) [2043453] - mt76: mt7921: introduce mt7921s support (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mt7921_mcu_send_message (Íñigo Huguet) [2043453] - mt76: mt7921: rely on mcu_get_nic_capability (Íñigo Huguet) [2043453] - mt76: connac: extend mcu_get_nic_capability (Íñigo Huguet) [2043453] - mt76: sdio: extend sdio module to support CONNAC2 (Íñigo Huguet) [2043453] - mt76: sdio: introduce parse_irq callback (Íñigo Huguet) [2043453] - mt76: sdio: move common code in mt76_sdio module (Íñigo Huguet) [2043453] - mt76: mt7921: use physical addr to unify register access (Íñigo Huguet) [2043453] - mt76: mt7921: make all event parser reusable between mt7921s and mt7921e (Íñigo Huguet) [2043453] - mt76: mt7663s: rely on mcu reg access utility (Íñigo Huguet) [2043453] - mt76: connac: move mcu reg access utility routines in mt76_connac_lib module (Íñigo Huguet) [2043453] - mt76: mt7921: add MT7921_COMMON module (Íñigo Huguet) [2043453] - mt76: mt7921: refactor init.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mcu.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: refactor dma.c to be pcie specific (Íñigo Huguet) [2043453] - mt76: mt7921: refactor mac.c to be bus independent (Íñigo Huguet) [2043453] - mt76: mt7921: add MU EDCA cmd support (Íñigo Huguet) [2043453] - mt76: mt7915: remove dead code in debugfs code (Íñigo Huguet) [2043453] - mt76: sdio: export mt76s_alloc_rx_queue and mt76s_alloc_tx routines (Íñigo Huguet) [2043453] - mt76: mt7915: improve code readability for xmit-queue handler (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy (Íñigo Huguet) [2043453] - mt76: rely on phy pointer in mt76_register_debugfs_fops routine signature (Íñigo Huguet) [2043453] - mt76: mt7915: set muru platform type (Íñigo Huguet) [2043453] - mt76: mt7915: set VTA bit in tx descriptor (Íñigo Huguet) [2043453] - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() (Íñigo Huguet) [2043453] - mt76: mt7915: rework starec TLV tags (Íñigo Huguet) [2043453] - mt76: mt7915: fix sta_rec_wtbl tag len (Íñigo Huguet) [2043453] - mt76: mt7915: improve starec readability of txbf (Íñigo Huguet) [2043453] - mt76: mt7915: fix txbf starec TLV issues (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mcu_beacon_check_caps() (Íñigo Huguet) [2043453] - mt76: connac: fix possible NULL pointer dereference in mt76_connac_get_phy_mode_v2 (Íñigo Huguet) [2043453] - mt76: do not access 802.11 header in ccmp check for 802.3 rx skbs (Íñigo Huguet) [2043453] - mt76: use a separate CCMP PN receive counter for management frames (Íñigo Huguet) [2043453] - mt76: mt7921: add delay config for sched scan (Íñigo Huguet) [2043453] - mt76: mt7615: fix monitor mode tear down crash (Íñigo Huguet) [2043453] - mt76: debugfs: improve queue node readability (Íñigo Huguet) [2043453] - mt76: mt7915: add twt_stats knob in debugfs (Íñigo Huguet) [2043453] - mt76: mt7915: enable twt responder capability (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mac_add_twt_setup routine (Íñigo Huguet) [2043453] - mt76: mt7915: introduce mt7915_mcu_twt_agrt_update mcu command (Íñigo Huguet) [2043453] - mt76: mt7915: introduce __mt7915_get_tsf routine (Íñigo Huguet) [2043453] - mt76: drop MCU header size from buffer size in __mt76_mcu_send_firmware (Íñigo Huguet) [2043453] - mt76: introduce __mt76_mcu_send_firmware routine (Íñigo Huguet) [2043453] - mt76: support reading EEPROM data embedded in fdt (Íñigo Huguet) [2043453] - mt76: schedule status timeout at dma completion (Íñigo Huguet) [2043453] - mt76: substitute sk_buff_head status_list with spinlock_t status_lock (Íñigo Huguet) [2043453] - mt76: remove mt76_wcid pointer from mt76_tx_status_check signature (Íñigo Huguet) [2043453] - mt76: introduce packet_id idr (Íñigo Huguet) [2043453] - mt76: mt7921: add 6GHz support (Íñigo Huguet) [2043453] - mt76: add 6GHz support (Íñigo Huguet) [2043453] - mt76: connac: enable hw amsdu @ 6GHz (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_uni_add_bss (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv (Íñigo Huguet) [2043453] - mt76: connac: set 6G phymode in single-sku support (Íñigo Huguet) [2043453] - mt76: connac: add 6GHz support to mt76_connac_mcu_set_channel_domain (Íñigo Huguet) [2043453] - mt76: connac: enable 6GHz band for hw scan (Íñigo Huguet) [2043453] - mt76: connac: set 6G phymode in mt76_connac_get_phy_mode{,v2} (Íñigo Huguet) [2043453] - mt76: mt7915: add mib counters to ethtool stats (Íñigo Huguet) [2043453] - mt76: mt7915: add more MIB registers (Íñigo Huguet) [2043453] - mt76: mt7915: add tx mu/su counters to mib (Íñigo Huguet) [2043453] - mt76: mt7915: add some per-station tx stats to ethtool (Íñigo Huguet) [2043453] - mt76: mt7915: add tx stats gathered from tx-status callbacks (Íñigo Huguet) [2043453] - mt76: mt7915: add ethtool stats support (Íñigo Huguet) [2043453] - mt76: mt7921: fix retrying release semaphore without end (Íñigo Huguet) [2043453] - mt76: mt7921: robustify hardware initialization flow (Íñigo Huguet) [2043453] - mt76: mt7915: fix possible infinite loop release semaphore (Íñigo Huguet) [2043453] - mt76: mt7915: honor all possible error conditions in mt7915_mcu_init() (Íñigo Huguet) [2043453] - mt76: move spin_lock_bh to spin_lock in tasklet (Íñigo Huguet) [2043453] - mt76: mt7921: remove mt7921_sta_stats (Íñigo Huguet) [2043453] - mt76: mt7921: remove mcu rate reporting code (Íñigo Huguet) [2043453] - mt76: mt7921: report tx rate directly from tx status (Íñigo Huguet) [2043453] - mt76: mt7921: add support for tx status reporting (Íñigo Huguet) [2043453] - mt76: mt7921: start reworking tx rate reporting (Íñigo Huguet) [2043453] - mt76: mt7615: fix hwmon temp sensor mem use-after-free (Íñigo Huguet) [2043453] - mt76: mt7915: fix hwmon temp sensor mem use-after-free (Íñigo Huguet) [2043453] - mt76: mt7915: enable configured beacon tx rate (Íñigo Huguet) [2043453] - mt76: disable BH around napi_schedule() calls (Íñigo Huguet) [2043453] - mt76: fill boottime_ns in Rx path (Íñigo Huguet) [2043453] - mt76: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2043453] - mt76: fix boolreturn.cocci warnings (Íñigo Huguet) [2043453] - mt76: mt7921: update mib counters dumping phy stats (Íñigo Huguet) [2043453] - mt76: mt7921: always wake device if necessary in debugfs (Íñigo Huguet) [2043453] - mt76: mt7915: rename debugfs tx-queues (Íñigo Huguet) [2043453] - mt76: mt7915: rework debugfs queue info (Íñigo Huguet) [2043453] - mt76: mt7921: move mt7921_queue_rx_skb to mac.c (Íñigo Huguet) [2043453] - mt76: mt7915: fix WMM index on DBDC cards (Íñigo Huguet) [2043453] - mt76: mt7915: improve code readability in mt7915_mcu_sta_bfer_ht (Íñigo Huguet) [2043453] - mt76: mt7915: introduce bss coloring support (Íñigo Huguet) [2043453] - mt76: mt7915: add LED support (Íñigo Huguet) [2043453] - mt76: mt7915: fix potential NPE in TXS processing (Íñigo Huguet) [2043453] - mt76: mt7915: fix he_mcs capabilities for 160mhz (Íñigo Huguet) [2043453] - mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD (Íñigo Huguet) [2043453] - mt76: mt7915: update mac timing settings (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness warnings in mt7921_mac_decode_he_mu_radiotap (Íñigo Huguet) [2043453] - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate (Íñigo Huguet) [2043453] - mt76: mt7921: fix firmware usage of RA info using legacy rates (Íñigo Huguet) [2043453] - mt76: mt7915: add HE-LTF into fixed rate command (Íñigo Huguet) [2043453] - mt76: mt7921: report HE MU radiotap (Íñigo Huguet) [2043453] - mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module (Íñigo Huguet) [2043453] - mt76: overwrite default reg_ops if necessary (Íñigo Huguet) [2043453] - mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine (Íñigo Huguet) [2043453] - mt76: mt7921: get rid of mt7921_mac_set_beacon_filter (Íñigo Huguet) [2043453] - mt76: mt7921: get rid of monitor_vif (Íñigo Huguet) [2043453] - mt76: connac: add support for limiting to maximum regulatory Tx power (Íñigo Huguet) [2043453] - mt76: connac: fix GTK rekey offload failure on WPA mixed mode (Íñigo Huguet) [2043453] - mt76: mt7921: fix dma hang in rmmod (Íñigo Huguet) [2043453] - mt76: add support for setting mcast rate (Íñigo Huguet) [2043453] - mt76: mt7915: fix bit fields for HT rate idx (Íñigo Huguet) [2043453] - mt76: mt7915: switch proper tx arbiter mode in testmode (Íñigo Huguet) [2043453] - mt76: mt7915: fix potential overflow of eeprom page index (Íñigo Huguet) [2043453] - mt76: mt7921: send EAPOL frames at lowest rate (Íñigo Huguet) [2043453] - mt76: mt7915: send EAPOL frames at lowest rate (Íñigo Huguet) [2043453] - mt76: mt7915: add control knobs for thermal throttling (Íñigo Huguet) [2043453] - mt76: mt7921: Add mt7922 support (Íñigo Huguet) [2043453] - mt76: mt7615: fix skb use-after-free on mac reset (Íñigo Huguet) [2043453] - mt76: mt7921: Fix out of order process by invalid event pkt (Íñigo Huguet) [2043453] - mt76: mt7915: fix mgmt frame using unexpected bitrate (Íñigo Huguet) [2043453] - mt76: mt7921: fix mgmt frame using unexpected bitrate (Íñigo Huguet) [2043453] - mt76: add mt76_default_basic_rate more devices can rely on (Íñigo Huguet) [2043453] - mt76: mt7921: introduce testmode support (Íñigo Huguet) [2043453] - mt76: mt7915: remove mt7915_sta_stats (Íñigo Huguet) [2043453] - mt76: mt7915: report tx rate directly from tx status (Íñigo Huguet) [2043453] - mt76: mt7915: cleanup -Wunused-but-set-variable (Íñigo Huguet) [2043453] - mt76: mt7915: take RCU read lock when calling ieee80211_bss_get_elem() (Íñigo Huguet) [2043453] - mt76: mt7915: fix an off-by-one bound check (Íñigo Huguet) [2043453] - mt76: mt7921: add .set_sar_specs support (Íñigo Huguet) [2043453] - mt76: mt7915: adapt new firmware to update BA winsize for Rx session (Íñigo Huguet) [2043453] - mt76: mt7915: report HE MU radiotap (Íñigo Huguet) [2043453] - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c (Íñigo Huguet) [2043453] - mt76: mt7921: fix survey-dump reporting (Íñigo Huguet) [2043453] - mt76: fix build error implicit enumeration conversion (Íñigo Huguet) [2043453] - mt76: mt7921: enable aspm by default (Íñigo Huguet) [2043453] - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage (Íñigo Huguet) [2043453] - mt76: mt7915: fix calling mt76_wcid_alloc with incorrect parameter (Íñigo Huguet) [2043453] - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() (Íñigo Huguet) [2043453] - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness warning in mt7921_update_txs (Íñigo Huguet) [2043453] - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb (Íñigo Huguet) [2043453] - mt76: mt7921: avoid unnecessary spin_lock/spin_unlock in mt7921_mcu_tx_done_event (Íñigo Huguet) [2043453] - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event (Íñigo Huguet) [2043453] - mwifiex: Try waking the firmware until we get an interrupt (Íñigo Huguet) [2043453] - mwifiex: Read a PCI register after writing the TX ring write pointer (Íñigo Huguet) [2043453] - fq_codel: implement L4S style ce_threshold_ect1 marking (Íñigo Huguet) [2043453] - net: add skb_get_dsfield() helper (Íñigo Huguet) [2043453] - wireless: Remove redundant 'flush_workqueue()' calls (Íñigo Huguet) [2043453] - mt7601u: Remove redundant initialization of variable ret (Íñigo Huguet) [2043453] - rtlwifi: rtl8192ee: Remove redundant initialization of variable version (Íñigo Huguet) [2043453] - ath10k: fix max antenna gain unit (Íñigo Huguet) [2043453] - ath9k: fix an IS_ERR() vs NULL check (Íñigo Huguet) [2043453] - ath11k: Identify DFS channel when sending scan channel list command (Íñigo Huguet) [2043453] - ath9k: support DT ieee80211-freq-limit property to limit channels (Íñigo Huguet) [2043453] - ath11k: Change number of TCL rings to one for QCA6390 (Íñigo Huguet) [2043453] - ath11k: Handle MSI enablement during rmmod and SSR (Íñigo Huguet) [2043453] - ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create() (Íñigo Huguet) [2043453] - ath11k: Use kcalloc() instead of kzalloc() (Íñigo Huguet) [2043453] - ath11k: Remove redundant assignment to variable fw_size (Íñigo Huguet) [2043453] - ath11k: fix m68k and xtensa build failure in ath11k_peer_assoc_h_smps() (Íñigo Huguet) [2043453] - ath11k: Fix spelling mistake "incompaitiblity" -> "incompatibility" (Íñigo Huguet) [2043453] - ath11k: Remove unused variable in ath11k_dp_rx_mon_merg_msdus() (Íñigo Huguet) [2043453] - ath9k: Fix potential interrupt storm on queue reset (Íñigo Huguet) [2043453] - ath9k: add option to reset the wifi chip via debugfs (Íñigo Huguet) [2043453] - ath10k: Don't always treat modem stop events as crashes (Íñigo Huguet) [2043453] - rtl8xxxu: Use lower tx rates for the ack packet (Íñigo Huguet) [2043453] - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet (Íñigo Huguet) [2043453] - rtw88: refine fw_crash debugfs to show non-zero while triggering (Íñigo Huguet) [2043453] - rtw88: fix RX clock gate setting while fifo dump (Íñigo Huguet) [2043453] - net: qrtr: combine nameservice into main module (Íñigo Huguet) [2043453] - ath10k: sdio: Add missing BH locking around napi_schdule() (Íñigo Huguet) [2043453] - ath10k: Fix missing frame timestamp for beacon/probe-resp (Íñigo Huguet) [2043453] - ath10k: high latency fixes for beacon buffer (Íñigo Huguet) [2043453] - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets (Íñigo Huguet) [2043453] - ath11k: support SMPS configuration for 6 GHz (Íñigo Huguet) [2043453] - ath11k: add 6 GHz params in peer assoc command (Íñigo Huguet) [2043453] - ieee80211: Add new A-MPDU factor macro for HE 6 GHz peer caps (Íñigo Huguet) [2043453] - ath11k: indicate to mac80211 scan complete with aborted flag for ATH11K_SCAN_STARTING state (Íñigo Huguet) [2043453] - ath11k: indicate scan complete for scan canceled when scan running (Íñigo Huguet) [2043453] - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED (Íñigo Huguet) [2043453] - ath11k: add HTT stats support for new stats (Íñigo Huguet) [2043453] - ath11k: Change masking and shifting in htt stats (Íñigo Huguet) [2043453] - ath11k: Remove htt stats fixed size array usage (Íñigo Huguet) [2043453] - ath11k: Replace HTT_DBG_OUT with scnprintf (Íñigo Huguet) [2043453] - ath11k: Rename macro ARRAY_TO_STRING to PRINT_ARRAY_TO_BUF (Íñigo Huguet) [2043453] - ath11k: Fix memory leak in ath11k_qmi_driver_event_work (Íñigo Huguet) [2043453] - ath11k: Fix inaccessible debug registers (Íñigo Huguet) [2043453] - ath11k: Drop MSDU with length error in DP rx path (Íñigo Huguet) [2043453] - ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP for WCN6855 (Íñigo Huguet) [2043453] - ath11k: enable 6G channels for WCN6855 (Íñigo Huguet) [2043453] - ath11k: re-enable ht_cap/vht_cap for 5G band for WCN6855 (Íñigo Huguet) [2043453] - ath11k: fix survey dump collection in 6 GHz (Íñigo Huguet) [2043453] - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status (Íñigo Huguet) [2043453] - ath11k: add channel 2 into 6 GHz channel list (Íñigo Huguet) [2043453] - mac80211: MBSSID support in interface handling (Íñigo Huguet) [2043453] - ath11k: Add wmi peer create conf event in wmi_tlv_event_id (Íñigo Huguet) [2043453] - ath11k: Avoid "No VIF found" warning message (Íñigo Huguet) [2043453] - ath11k: Fix crash during firmware recovery on reo cmd ring access (Íñigo Huguet) [2043453] - ath11k: Assign free_vdev_map value before ieee80211_register_hw (Íñigo Huguet) [2043453] - ath11k: Add vdev start flag to disable hardware encryption (Íñigo Huguet) [2043453] - ath11k: Avoid race during regd updates (Íñigo Huguet) [2043453] - ath11k: Avoid reg rules update during firmware recovery (Íñigo Huguet) [2043453] - ath11k: Update pdev tx and rx firmware stats (Íñigo Huguet) [2043453] - ath11k: Fix pktlog lite rx events (Íñigo Huguet) [2043453] - ath11k: Add support for RX decapsulation offload (Íñigo Huguet) [2043453] - ath11k: fix some sleeping in atomic bugs (Íñigo Huguet) [2043453] - ath11k: qmi: avoid error messages when dma allocation fails (Íñigo Huguet) [2043453] - ath11k: Replace one-element array with flexible-array member (Íñigo Huguet) [2043453] - ath11k: add caldata download support from EEPROM (Íñigo Huguet) [2043453] - ath11k: add caldata file for multiple radios (Íñigo Huguet) [2043453] - ath11k: clean up BDF download functions (Íñigo Huguet) [2043453] - ath11k: use hw_params to access board_size and cal_offset (Íñigo Huguet) [2043453] - ath11k: Wstringop-overread warning (Íñigo Huguet) [2043453] - ath11k: Add spectral scan support for QCN9074 (Íñigo Huguet) [2043453] - ath11k: Fix the spectral minimum FFT bin count (Íñigo Huguet) [2043453] - ath11k: Introduce spectral hw configurable param (Íñigo Huguet) [2043453] - ath11k: Refactor spectral FFT bin size (Íñigo Huguet) [2043453] - ath11k: add support for 80P80 and 160 MHz bandwidth (Íñigo Huguet) [2043453] - ath11k: add support for setting fixed HE rate/gi/ltf (Íñigo Huguet) [2043453] - nl80211: MBSSID and EMA support in AP mode (Íñigo Huguet) [2043453] - nl80211: don't kfree() ERR_PTR() value (Íñigo Huguet) [2043453] - cfg80211: always free wiphy specific regdomain (Íñigo Huguet) [2043453] - mac80211: save transmit power envelope element and power constraint (Íñigo Huguet) [2043453] - mac80211: add parse regulatory info in 6 GHz operation information (Íñigo Huguet) [2043453] - ieee80211: add power type definition for 6 GHz (Íñigo Huguet) [2043453] - mac80211: twt: don't use potentially unaligned pointer (Íñigo Huguet) [2043453] - cfg80211: AP mode driver offload for FILS association crypto (Íñigo Huguet) [2043453] - ath11k: monitor mode clean up to use separate APIs (Íñigo Huguet) [2043453] - ath11k: add separate APIs for monitor mode (Íñigo Huguet) [2043453] - ath11k: move static function ath11k_mac_vdev_setup_sync to top (Íñigo Huguet) [2043453] - rtw88: 8821c: correct 2.4G tx power for type 2/4 NIC (Íñigo Huguet) [2043453] - rtw88: 8821c: support RFE type4 wifi NIC (Íñigo Huguet) [2043453] - brcmfmac: Replace zero-length array with flexible array member (Íñigo Huguet) [2043453] - mac80211_hwsim: enable 6GHz channels (Íñigo Huguet) [2043453] - mac80211: use ieee802_11_parse_elems() in ieee80211_prep_channel() (Íñigo Huguet) [2043453] - nl80211: don't put struct cfg80211_ap_settings on stack (Íñigo Huguet) [2043453] - mac80211: always allocate struct ieee802_11_elems (Íñigo Huguet) [2043453] - mac80211: mlme: find auth challenge directly (Íñigo Huguet) [2043453] - mac80211: move CRC into struct ieee802_11_elems (Íñigo Huguet) [2043453] - mac80211: mesh: clean up rx_bcn_presp API (Íñigo Huguet) [2043453] - mac80211: reduce stack usage in debugfs (Íñigo Huguet) [2043453] - nl80211: prefer struct_size over open coded arithmetic (Íñigo Huguet) [2043453] - mac80211: check hostapd configuration parsing twt requests (Íñigo Huguet) [2043453] - cfg80211: honour V=1 in certificate code generation (Íñigo Huguet) [2043453] - rt2x00: remove duplicate USB device ID (Íñigo Huguet) [2043453] - mwifiex: Fix copy-paste mistake when creating virtual interface (Íñigo Huguet) [2043453] - mwifiex: Properly initialize private structure on interface type changes (Íñigo Huguet) [2043453] - mwifiex: Handle interface type changes from AP to STATION (Íñigo Huguet) [2043453] - mwifiex: Allow switching interface type from P2P_CLIENT to P2P_GO (Íñigo Huguet) [2043453] - mwifiex: Update virtual interface counters right after setting bss_type (Íñigo Huguet) [2043453] - mwifiex: Use helper function for counting interface types (Íñigo Huguet) [2043453] - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type (Íñigo Huguet) [2043453] - mwifiex: Use function to check whether interface type change is allowed (Íñigo Huguet) [2043453] - mwifiex: Small cleanup for handling virtual interface type changes (Íñigo Huguet) [2043453] - rtw88: move adaptivity mechanism to firmware (Íñigo Huguet) [2043453] - rtw88: support adaptivity for ETSI/JP DFS region (Íñigo Huguet) [2043453] - rtw88: add regulatory strategy by chip type (Íñigo Huguet) [2043453] - rtw88: upgrade rtw_regulatory mechanism and mapping (Íñigo Huguet) [2043453] - brcmfmac: fix incorrect error prints (Íñigo Huguet) [2043453] - ath11k: Align bss_chan_info structure with firmware (Íñigo Huguet) [2043453] - ath11k: add support in survey dump with bss_chan_info (Íñigo Huguet) [2043453] - ath11k: Rename atf_config to flag1 in target_resource_config (Íñigo Huguet) [2043453] - ath11k: fix 4addr multicast packet tx (Íñigo Huguet) [2043453] - ath11k: fix 4-addr tx failure for AP and STA modes (Íñigo Huguet) [2043453] - ath9k: owl-loader: fetch pci init values through nvmem (Íñigo Huguet) [2043453] - ath9k: fetch calibration data via nvmem subsystem (Íñigo Huguet) [2043453] - ath9k: Use tasklet_disable_in_atomic() (Íñigo Huguet) [2043453] - mt76: fix wrong conflict resolution in previous backport (Íñigo Huguet) [2043453] - mac80211: Allow HE operation to be longer than expected. (Íñigo Huguet) [2043453] - revert ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [2043453] - RDMA/mlx5: Delete right entry from MR signature database (Amir Tzin) [1982191] - net/mlx5e: Fix select queue to consider SKBTX_HW_TSTAMP (Amir Tzin) [1982191] - net/mlx5e: Don't update netdev RQs with PTP-RQ (Amir Tzin) [1982191] - net/mlx5e: Fix an error code in mlx5e_arfs_create_tables() (Amir Tzin) [1982191] - net/mlx5e: Fix conflict with HW TS and CQE compression (Amir Tzin) [1982191] - net/mlx5e: Fix HW TS with CQE compression according to profile (Amir Tzin) [1982191] - mlx5e: add add missing BH locking around napi_schdule() (Amir Tzin) [1982191] - net/mlx5: Don't overwrite HCA capabilities when setting MSI-X count (Amir Tzin) [1982191] - net/mlx5: Fix err prints and return when creating termination table (Amir Tzin) [1982191] - RDMA/mlx5: Verify that DM operation is reasonable (Amir Tzin) [1982191] - RDMA/mlx5: Expose private query port (Amir Tzin) [1982191] - RDMA/mlx5: Fix type assignment for ICM DM (Amir Tzin) [1982191] - net/mlx5: DR, Add support for isolate_vl_tc QP (Amir Tzin) [1982191] - net/mlx5: DR, Add support for force-loopback QP (Amir Tzin) [1982191] - net/mlx5: DR, Add support for matching tunnel GTP-U (Amir Tzin) [1982191] - net/mlx5: DR, Set flex parser for TNL_MPLS dynamically (Amir Tzin) [1982191] - net/mlx5: DR, Add support for matching on geneve TLV option (Amir Tzin) [1982191] - net/mlx5: DR, Set STEv0 ICMP flex parser dynamically (Amir Tzin) [1982191] - net/mlx5: DR, Add support for dynamic flex parser (Amir Tzin) [1982191] - net/mlx5: DR, Remove protocol-specific flex_parser_3 definitions (Amir Tzin) [1982191] - net/mlx5: mlx5_ifc updates for flex parser (Amir Tzin) [1982191] - net/mlx5: E-Switch, Improve error messages in term table creation (Amir Tzin) [1982191] - net/mlx5: DR, Rename an argument in dr_rdma_segments (Amir Tzin) [1982191] - net/mlx5e: RX, Add checks for calculated Striding RQ attributes (Amir Tzin) [1982191] - net/mlx5e: Fix possible non-initialized struct usage (Amir Tzin) [1982191] - mlx5: implement ethtool standard stats (Amir Tzin) [1982191] - net/mlx5: Enhance diagnostics info for TX/RX reporters (Amir Tzin) [1982191] - net/mlx5: Add helper to initialize 1PPS (Amir Tzin) [1982191] - net/mlx5e: Add ethtool extended link state (Amir Tzin) [1982191 1982232] - net/mlx5: Add register layout to support extended link state (Amir Tzin) [1982191 1982232] - net/mlx5: Allocate FC bulk structs with kvzalloc() instead of kzalloc() (Amir Tzin) [1982191] - net/mlx5e: Cleanup safe switch channels API by passing params (Amir Tzin) [1982191] - net/mlx5e: Refactor on-the-fly configuration changes (Amir Tzin) [1982191] - net/mlx5e: Use mlx5e_safe_switch_channels when channels are closed (Amir Tzin) [1982191] - net/mlx5e: Allow mlx5e_safe_switch_channels to work with channels closed (Amir Tzin) [1982191] - mlx5: implement ethtool::get_fec_stats (Amir Tzin) [1982191] - net/mlx5e: Fix RQ creation flow for queues which doesn't support XDP (Amir Tzin) [1982191] - net/mlx5: Remove return statement exist at the end of void function (Amir Tzin) [1982191] - net/mlx5: Add a blank line after declarations (Amir Tzin) [1982191] - net/mlx5: DR, Alloc cmd buffer with kvzalloc() instead of kzalloc() (Amir Tzin) [1982191] - net/mlx5: DR, Use variably sized data structures for different actions (Amir Tzin) [1982191] - RDMA/mlx5: Expose UAPI to query DM (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Add support in MEMIC operations (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Add support to MODIFY_MEMIC command (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Re-organize the DM code (Amir Tzin) [1982191 1926606 1926603] - RDMA/mlx5: Move all DM logic to separate file (Amir Tzin) [1982191 1926606 1926603] - net/mlx5: Add MEMIC operations related bits (Amir Tzin) [1982191 1926606 1926603] - net/mlx5: Add support for DSFP module EEPROM dumps (Amir Tzin) [1982191 1982233] - net/mlx5: Implement get_module_eeprom_by_page() (Amir Tzin) [1982191 1982233] - net/mlx5: Refactor module EEPROM query (Amir Tzin) [1982191 1982233] - IB/mlx5: Reduce max order of memory allocated for xlt update (Amir Tzin) [1982191] - net/mlx5: Implement sriov_get_vf_total_msix/count() callbacks (Amir Tzin) [1982191 1982230] - net/mlx5: Dynamically assign MSI-X vectors count (Amir Tzin) [1982191 1982230] - net/mlx5: Add dynamic MSI-X capabilities bits (Amir Tzin) [1982191 1982230] - net/mlx5e: Dynamic alloc vlan table for netdev when needed (Amir Tzin) [1982191] - net/mlx5e: Dynamic alloc arfs table for netdev when needed (Amir Tzin) [1982191] - net/mlx5: Use ida_alloc_range() instead of ida_simple_alloc() (Amir Tzin) [1982191] - net/mlx5e: Update ethtool setting of CQE compression (Amir Tzin) [1982191] - net/mlx5e: Allow coexistence of CQE compression and HW TS PTP (Amir Tzin) [1982191] - net/mlx5e: Add PTP Flow Steering support (Amir Tzin) [1982191] - net/mlx5e: Introduce Flow Steering ANY API (Amir Tzin) [1982191] - net/mlx5e: Introduce Flow Steering UDP API (Amir Tzin) [1982191] - net/mlx5e: Cleanup Flow Steering level (Amir Tzin) [1982191] - net/mlx5e: Add PTP RQ to RX reporter (Amir Tzin) [1982191] - net/mlx5e: Refactor RX reporter diagnostics (Amir Tzin) [1982191] - net:mlx5e: Add PTP-TIR and PTP-RQT (Amir Tzin) [1982191] - net/mlx5e: Add PTP-RX statistics (Amir Tzin) [1982191] - net/mlx5e: Add RQ to PTP channel (Amir Tzin) [1982191] - net/mlx5e: Add states to PTP channel (Amir Tzin) [1982191] - RDMA/mlx5: Set ODP caps only if device profile support ODP (Amir Tzin) [1982191] - net/mlx5e: Cleanup PTP (Amir Tzin) [1982191] - net/mlx5e: Generalize PTP implementation (Amir Tzin) [1982191] - net/mlx5e: Generalize direct-TIRs and direct-RQTs API (Amir Tzin) [1982191] - net/mlx5e: Generalize close RQ (Amir Tzin) [1982191] - net/mlx5e: Generalize RQ activation (Amir Tzin) [1982191] - net/mlx5e: Generalize open RQ (Amir Tzin) [1982191] - net/mlx5: Add helper to set time-stamp translator on a queue (Amir Tzin) [1982191] - net/mlx5e: Allow creating mpwqe info without channel (Amir Tzin) [1982191] - net/mlx5e: alloc the correct size for indirection_rqt (Amir Tzin) [1982191] - net: ethernet: indir_table.h is included twice (Amir Tzin) [1982191 1982195] - RDMA/mlx5: Create ODP EQ only when ODP MR is created (Amir Tzin) [1982191] - RDMA/mlx5: Add missing returned error check of mlx5_ib_dereg_mr (Amir Tzin) [1982191] - net/mlx5: Move devlink port from mlx5e priv to mlx5e resources (Amir Tzin) [1982191] - net/mlx5e: Allow to match on ICMP parameters (Amir Tzin) [1982191] - net/mlx5: Display the command index in command mailbox dump (Amir Tzin) [1982191] - net/mlx5e: allocate 'indirection_rqt' buffer dynamically (Amir Tzin) [1982191] - net/mlx5e: Dump ICOSQ WQE descriptor on CQE with error events (Amir Tzin) [1982191] - net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath (Amir Tzin) [1982191] - net/mlx5e: Remove redundant newline in NL_SET_ERR_MSG_MOD (Amir Tzin) [1982191] - net/mlx5: Read congestion counters from all ports when lag is active (Amir Tzin) [1982191] - net/mlx5: remove unneeded semicolon (Amir Tzin) [1982191] - net/mlx5: DR, Remove unneeded rx_decap_l3 function for STEv1 (Amir Tzin) [1982191] - net/mlx5: Use order-0 allocations for EQs (Amir Tzin) [1982191] - net/mlx5: Add IFC bits needed for single FDB mode (Amir Tzin) [1982191] - net/mlx5: E-Switch, Refactor send to vport to be more generic (Amir Tzin) [1982191 1982195] - RDMA/mlx5: Use representor E-Switch when getting netdev and metadata (Amir Tzin) [1982191] - net/mlx5: E-Switch, Add eswitch pointer to each representor (Amir Tzin) [1982191 1982195] - net/mlx5: E-Switch, Add match on vhca id to default send rules (Amir Tzin) [1982191 1982195] - net/mlx5: Remove unused mlx5_core_health member recover_work (Amir Tzin) [1982191] - net/mlx5: simplify the return expression of mlx5_esw_offloads_pair() (Amir Tzin) [1982191 1982195] - net/mlx5: Cleanup prototype warning (Amir Tzin) [1982191] - RDMA/mlx5: Allow larger pages in DevX umem (Amir Tzin) [1982191] - RDMA/mlx5: Rename mlx5_mr_cache_invalidate() to revoke_mr() (Amir Tzin) [1982191] - RDMA/mlx5: Consolidate MR destruction to mlx5_ib_dereg_mr() (Amir Tzin) [1982191] - RDMA/mlx5: Use a union inside mlx5_ib_mr (Amir Tzin) [1982191] - platform/mellanox: mlxbf-tmfifo: Fix a memory barrier issue (Amir Tzin) [2018145] - mmc: dw_mmc-bluefield: : Fix the license information (Amir Tzin) [2018145] - mmc: dw_mmc-bluefield: simplify the probe() function (Amir Tzin) [2018145] - benet: mark device 0xe220 (Lancer) as deprecated (Michal Schmidt) [2054409] - myri10ge: mark as deprecated (Michal Schmidt) [2054409] - liquidio: mark as deprecated, not unmaintained (Michal Schmidt) [2054409] - netxen_nic: remove unmaintained mark, keep deprecated (Michal Schmidt) [2054409] - bnx2: mark as deprecated, not unmaintained (Michal Schmidt) [2054409] - SUNRPC: Don't dereference xprt->snd_task if it's a cookie (Dave Wysochanski) [2046545] - SUNRPC: Add source address/port to rpc_socket* traces (Dave Wysochanski) [2046545] - netfilter: conntrack: re-init state for retransmitted syn-ack (Florian Westphal) [2043093] - netfilter: conntrack: move synack init code to helper (Florian Westphal) [2043093]- ibmvnic: remove unused defines (Diego Domingos) [2047920] - ibmvnic: Update driver return codes (Diego Domingos) [2047920] - ARM: iop32x: disable N2100 PCI parity reporting (Josef Oskera) [2031880] - r8169: fix incorrect mac address assignment (Josef Oskera) [2031880] - r8169: Add device 10ec:8162 to driver r8169 (Josef Oskera) [2031880] - ethernet: r8169: use eth_hw_addr_set() (Josef Oskera) [2031880] - net: phy: realtek: add support for RTL8365MB-VC internal PHYs (Josef Oskera) [2031880] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Josef Oskera) [2031880] - r8169: enable ASPM L0s state (Josef Oskera) [2031880] - r8169: rename rtl_csi_access_enable to rtl_set_aspm_entry_latency (Josef Oskera) [2031880] - r8169: change the L0/L1 entrance latencies for RTL8106e (Josef Oskera) [2031880] - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM" (Josef Oskera) [2031880] - r8169: Avoid duplicate sysfs entry creation error (Josef Oskera) [2031880] - r8169: Avoid memcpy() over-reading of ETH_SS_STATS (Josef Oskera) [2031880] - r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM (Josef Oskera) [2031880] - net: phy: realtek: net: Fix less than zero comparison of a u16 (Josef Oskera) [2031880] - net: phy: realtek: add delay to fix RXC generation issue (Josef Oskera) [2031880] - net: phy: realtek: add dt property to enable ALDPS mode (Josef Oskera) [2031880] - net: phy: realtek: add dt property to disable CLKOUT clock (Josef Oskera) [2031880] - r8169: Fix fall-through warning for Clang (Josef Oskera) [2031880] - r8169: use KBUILD_MODNAME instead of own module name definition (Josef Oskera) [2031880] - r8169: keep pause settings on interface down/up cycle (Josef Oskera) [2031880] - r8169: add support for pause ethtool ops (Josef Oskera) [2031880] - r8169: use mac-managed PHY PM (Josef Oskera) [2031880] - r8169: remove rtl_hw_start_8168c_3 (Josef Oskera) [2031880] - r8169: add support for ethtool get_ringparam (Josef Oskera) [2031880] - r8169: use lower_32_bits/upper_32_bits macros (Josef Oskera) [2031880] - net: phy: make PHY PM ops a no-op if MAC driver manages PHY PM (Josef Oskera) [2031880] - mm/gup: remove unused get_user_pages_locked() (Chris von Recklinghausen) [2048650] - mm: change lookup_node() to use get_user_pages_fast() (Chris von Recklinghausen) [2048650] - mm/gup: remove unused pin_user_pages_locked() (Chris von Recklinghausen) [2048650] - mm/gup: follow_pfn_pte(): -EEXIST cleanup (Chris von Recklinghausen) [2048650] - mm: fix invalid page pointer returned with FOLL_PIN gups (Chris von Recklinghausen) [2048650] - mm: fix typos in comments (Chris von Recklinghausen) [2048650] - vfio/iommu_type1: replace kfree with kvfree (Alex Williamson) [2046547] - vfio/pci: Fix error return code in vfio_ecap_init() (Alex Williamson) [2046547] - vfio/pci: Add missing range check in vfio_pci_mmap (Alex Williamson) [2046547] - vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer (Alex Williamson) [2046547] - vfio/mdev: Make to_mdev_device() into a static inline (Alex Williamson) [2046547] - vfio/iommu_type1: Mantain a counter for non_pinned_groups (Alex Williamson) [2046547] - vfio/iommu_type1: Fix some sanity checks in detach group (Alex Williamson) [2046547] - vfio/iommu_type1: Populate full dirty when detach non-pinned group (Alex Williamson) [2046547] - vfio/pci: Move dummy_resources_list init in vfio_pci_probe() (Alex Williamson) [2046547] - vfio/virqfd: Drain events from eventfd in virqfd_wakeup() (Alex Williamson) [2046547] - ext4: fix direct I/O read error (Lukas Czerner) [1868258] - usb: xhci: Extend support for runtime power management for AMD's Yellow carp. (Renjith Pananchikkal) [2015775] - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform (Renjith Pananchikkal) [2015775] - thunderbolt: Enable retry logic for intra-domain control packets (David Arcari) [2028287] - nvme-fabrics: fix state check in nvmf_ctlr_matches_baseopts() (Gopal Tiwari) [2043755] - smb3: do not error on fsync when readonly (Ronnie Sahlberg) [2037811] - cifs: serialize all mount attempts (Ronnie Sahlberg) [2008434] - ALSA: memalloc: Unify x86 SG-buffer handling (take#3) (Jaroslav Kysela) [2049437] - ALSA: usb-audio: add mapping for MSI MPG X570S Carbon Max Wifi. (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Drop CONFIG_PM ifdefs (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Fix dB level of Bose Revolve+ SoundLink (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Add minimal-mute notion in dB mapping table (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Use int for dB map values (Jaroslav Kysela) [2049437] - ALSA: hda/tegra: Fix Tegra194 HDA reset failure (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop (Jaroslav Kysela) [2049437] - ALSA: hda: Add new AlderLake-P variant PCI ID (Jaroslav Kysela) [2049437] - ALSA: hda: Add AlderLake-N PCI ID (Jaroslav Kysela) [2049437] - ALSA: hda: use swap() to make code cleaner (Jaroslav Kysela) [2049437] - ALSA: Fix some typo (Jaroslav Kysela) [2049437] - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present (Jaroslav Kysela) [2049437] - ALSA: hda: Remove redundant runtime PM calls (Jaroslav Kysela) [2049437] - ALSA: hda: Do disconnect jacks at codec unbind (Jaroslav Kysela) [2049437] - ALSA: hda: intel: More comprehensive PM runtime setup for controller driver (Jaroslav Kysela) [2049437] - ASoC: SOF: Intel: fix build issue related to CODEC_PROBE_ENTRIES (Jaroslav Kysela) [2049437] - ASoC: cs42l42: Report initial jack state (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Re-order quirk entries for Lenovo (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Add quirk for Legion Y9000X 2020 (Jaroslav Kysela) [2049437] - ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices (Jaroslav Kysela) [2049437] - tools headers UAPI: Sync sound/asound.h with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - tools include UAPI: Sync sound/asound.h copy with the kernel sources (Jaroslav Kysela) [2049437] - ASoC: SOF: handle paused streams during system suspend (Jaroslav Kysela) [2049437] - ASoC: SOF: sof-audio: setup sched widgets during pipeline complete step (Jaroslav Kysela) [2049437] - ASoC: SOF: free widgets in sof_tear_down_pipelines() for static pipelines (Jaroslav Kysela) [2049437] - ALSA: hda/cs8409: Fix Jack detection after resume (Jaroslav Kysela) [2049437] - ALSA: hda/cs8409: Increase delay during jack detection (Jaroslav Kysela) [2049437] - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows (Jaroslav Kysela) [2049437] - ASoC: Intel: catpt: Test dmaengine_submit() result before moving on (Jaroslav Kysela) [2049437] - ASoC: amd: Fix dependency for SPI master (Jaroslav Kysela) [2049437] - ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID (Jaroslav Kysela) [2049437] - ALSA: oss: fix compile error when OSS_DEBUG is enabled (Jaroslav Kysela) [2049437] - ALSA: hda: Make proper use of timecounter (Jaroslav Kysela) [2049437] - ALSA: led: Use restricted type for iface assignment (Jaroslav Kysela) [2049437] - ALSA: hda: Fix potential deadlock at codec unbinding (Jaroslav Kysela) [2049437] - ALSA: hda: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ALSA: jack: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2049437] - ASoC: Intel: sof_sdw: fix jack detection on HP Spectre x360 convertible (Jaroslav Kysela) [2049437] - kernel: fork: properly initialize mm->mm_rh in dup_mm() and mm_alloc() (Rafael Aquini) [2047242] - vdpa/mlx5: Fix tracking of current number of VQs (Cindy Lu) [2052849] - vdpa/mlx5: Fix is_index_valid() to refer to features (Cindy Lu) [2052849] - vdpa: Protect vdpa reset with cf_mutex (Cindy Lu) [2052849] - vdpa: Avoid taking cf_mutex lock on get status (Cindy Lu) [2052849] - vdpa/vdpa_sim_net: Report max device capabilities (Cindy Lu) [2052849] - vdpa: Use BIT_ULL for bit operations (Cindy Lu) [2052849] - vdpa/vdpa_sim: Configure max supported virtqueues (Cindy Lu) [2052849] - vdpa/mlx5: Report max device capabilities (Cindy Lu) [2052849] - vdpa: Support reporting max device capabilities (Cindy Lu) [2052849] - vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() (Cindy Lu) [2052849] - vdpa: Add support for returning device configuration information (Cindy Lu) [2052849] - vdpa/mlx5: Support configuring max data virtqueue (Cindy Lu) [2052849] - vdpa/mlx5: Fix config_attr_mask assignment (Cindy Lu) [2052849] - vdpa: Allow to configure max data virtqueues (Cindy Lu) [2052849] - vdpa: Read device configuration only if FEATURES_OK (Cindy Lu) [2052849] - vdpa: Sync calls set/get config/status with cf_mutex (Cindy Lu) [2052849] - vdpa/mlx5: Distribute RX virtqueues in RQT object (Cindy Lu) [2052849] - vdpa: Provide interface to read driver features (Cindy Lu) [2052849] - vdpa/mlx5: Fix wrong configuration of virtio_version_1_0 (Cindy Lu) [2052849] - vdpa: Mark vdpa_config_ops.get_vq_notification as optional (Cindy Lu) [2052849] - vdpa: Avoid duplicate call to vp_vdpa get_status (Cindy Lu) [2052849] - net/mlx5_vdpa: Offer VIRTIO_NET_F_MTU when setting MTU (Cindy Lu) [2052849] - vdpa: add driver_override support (Cindy Lu) [2052849] - docs: document sysfs ABI for vDPA bus (Cindy Lu) [2052849] - ifcvf/vDPA: fix misuse virtio-net device config size for blk dev (Cindy Lu) [2052849] - Revert "efi/libstub: arm64: Double check image alignment at entry" (Vitaly Kuznetsov) [2046303] - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() (William Zhao) [2046342] - cifs: Do not leak EDEADLK to dgetents64 for STATUS_USER_SESSION_DELETED (Ronnie Sahlberg) [1994393] - cifs: constify pathname arguments in a bunch of helpers (Ronnie Sahlberg) [1994393] - cgroup: Use open-time cgroup namespace for process migration perm checks (Chris von Recklinghausen) [2035766] - cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv (Chris von Recklinghausen) [2035766] - cgroup: Use open-time credentials for process migraton perm checks (Chris von Recklinghausen) [2035766] - cgroup: make per-cgroup pressure stall tracking configurable (Chris von Recklinghausen) [2035766] - powerpc/idle: Don't corrupt back chain when going idle (Laurent Vivier) [2052793] - powerpc64/idle: Fix SP offsets when saving GPRs (Laurent Vivier) [2052793] - sfc: ef10: implement ethtool::get_fec_stats (Íñigo Huguet) [2042798] - sfc: The RX page_ring is optional (Íñigo Huguet) [2042798] - sfc: Check null pointer of rx_queue->page_ring (Íñigo Huguet) [2042798] - sfc_ef100: potential dereference of null pointer (Íñigo Huguet) [2042798] - sfc: Don't use netif_info before net_device setup (Íñigo Huguet) [2042798] - sfc: Export fibre-specific supported link modes (Íñigo Huguet) [2042798] - sfc: Fix reading non-legacy supported link modes (Íñigo Huguet) [2042798] - ethernet: constify references to netdev->dev_addr in drivers (Íñigo Huguet) [2042798] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Íñigo Huguet) [2042798] - ethernet: use eth_hw_addr_set() (Íñigo Huguet) [2042798] - sfc: last resort fallback for lack of xdp tx queues (Íñigo Huguet) [2042798 1995444] - sfc: fallback for lack of xdp tx queues (Íñigo Huguet) [2042798 1995444] - ext4: fix potential uninitialized access to retval in kmmpd (Lukas Czerner) [2046355] - ext4: fix possible UAF when remounting r/o a mmp-protected file system (Lukas Czerner) [2046355] - ext4: fix memory leak in ext4_fill_super (Lukas Czerner) [2046355] - quota: check block number when reading the block in quota file (Lukas Czerner) [2046999] - quota: correct error number in free_dqentry() (Lukas Czerner) [2046999] - quota: Fix memory leak when handling corrupted quota file (Lukas Czerner) [2046999] - quota: Sanity-check quota file headers on load (Lukas Czerner) [2046999] - quota: clear padding in v2r1_mem2diskdqb() (Lukas Czerner) [2046999] - quota: Check that quota is not dirty before release (Lukas Czerner) [2046999] - quota: fix livelock in dquot_writeback_dquots (Lukas Czerner) [2046999] - ext4: fix e2fsprogs checksum failure for mounted filesystem (Lukas Czerner) [1937180] - ext4: prevent partial update of the extent blocks (Lukas Czerner) [2035877] - ext4: check for inconsistent extents between index and leaf block (Lukas Czerner) [2035877] - ext4: check for out-of-order index extents in ext4_valid_extent_entries() (Lukas Czerner) [2035877] - ext4: avoid trim error on fs with small groups (Lukas Czerner) [2046355] - ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits' (Lukas Czerner) [2046355] - ext4: make sure to reset inode lockdep class when quota enabling fails (Lukas Czerner) [2046355] - ext4: make sure quota gets properly shutdown on error (Lukas Czerner) [2046355] - ext4: Fix BUG_ON in ext4_bread when write quota data (Lukas Czerner) [2046355] - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. (Lukas Czerner) [2046355] - ext4: ensure enough credits in ext4_ext_shift_path_extents (Lukas Czerner) [2046355] - ext4: fix potential infinite loop in ext4_dx_readdir() (Lukas Czerner) [2046355] - ext4: fix loff_t overflow in ext4_max_bitmap_size() (Lukas Czerner) [2046355] - ext4: fix reserved space counter leakage (Lukas Czerner) [2046355] - ext4: fix race writing to an inline_data file while its xattrs are changing (Lukas Czerner) [2046355] - ext4: fix potential htree corruption when growing large_dir directories (Lukas Czerner) [2046355] - ext4: use ext4_grp_locked_error in mb_find_extent (Lukas Czerner) [2046355] - ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit (Lukas Czerner) [2046355] - ext4: remove check for zero nr_to_scan in ext4_es_scan() (Lukas Czerner) [2046355] - ext4: return error code when ext4_fill_flex_info() fails (Lukas Czerner) [2046355] - ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle (Lukas Czerner) [2046355] - ext4: fix kernel infoleak via ext4_extent_header (Lukas Czerner) [2046355] - ext4: fix memory leak in ext4_fill_super (Lukas Czerner) [2046355] - ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed (Lukas Czerner) [2046355] - ext4: fix error code in ext4_commit_super (Lukas Czerner) [2046355] - crash_core, vmcoreinfo: append 'SECTION_SIZE_BITS' to vmcoreinfo (Pingfan Liu) [2046631] - arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo (Pingfan Liu) [2046631] - arm64: kernel: arch_crash_save_vmcoreinfo() should depend on CONFIG_CRASH_CORE (Mark Salter) [2046631] - Revert "[arm64] arm64, vmcoreinfo : Append 'MAX_PHYSMEM_BITS' to vmcoreinfo" (Pingfan Liu) [2046631] - crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo (Pingfan Liu) [2046631] - ibmvnic: don't release napi in __ibmvnic_open() (Gustavo Walbon) [2051793]- EDAC/igen6: Add Intel Alder Lake SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/igen6: Add Intel Tiger Lake SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/igen6: Add Intel ICL-NNPI SoC support (Aristeu Rozanski) [1971965 1783145] - EDAC/i10nm: Add support for high bandwidth memory (Aristeu Rozanski) [1971965 1783145] - EDAC/i10nm: Add detection of memory levels for ICX/SPR servers (Aristeu Rozanski) [1971965 1783145] - EDAC/skx_common: Add new ADXL components for 2-level memory (Aristeu Rozanski) [1971965 1783145] - EDAC, skx: Retrieve and print retry_rd_err_log registers (Aristeu Rozanski) [1971965 1783145] - EDAC, skx_common: Refactor so that we initialize "dev" in result of adxl decode. (Aristeu Rozanski) [1971965 1783145] - selinux: parse contexts for mount options early (Scott Mayhew) [1984355] - selinux: try to use preparsed sid before calling parse_sid() (Scott Mayhew) [1984355] - selinux: Fix selinux_sb_mnt_opts_compat() (Scott Mayhew) [1984355] - selinux: access superblock_security_struct in LSM blob way (Scott Mayhew) [1984355] - selinux: minor tweaks to selinux_add_opt() (Scott Mayhew) [1984355] - selinux: fix potential memleak in selinux_add_opt() (Scott Mayhew) [1984355] - selinux: fix sleeping function called from invalid context (Scott Mayhew) [1984355] - LSM: Infrastructure management of the superblock (Scott Mayhew) [1984355] - selinux: drop super_block backpointer from superblock_security_struct (Scott Mayhew) [1984355] - selinux: remove redundant allocation and helper functions (Scott Mayhew) [1984355] - ath11k: add support for WCN6855 hw2.1 (Íñigo Huguet) [1970036 1988269] - ath11k: add string type to search board data in board-2.bin for WCN6855 (Íñigo Huguet) [1970036 1988269] - firmware: smccc: Fix check for ARCH_SOC_ID not implemented (Vitaly Kuznetsov) [2053450] - bpf, arm64: Use emit_addr_mov_i64() for BPF_PSEUDO_FUNC (Yauheni Kaliuta) [2051789] - bpf/selftests: disable a verifier test for powerpc (Viktor Malik) [2046032] - bpf/selftests: allow disabling verifier tests (Viktor Malik) [2046032] - vfs: check dentry is still valid in get_link() (Ian Kent) [2014846] - xfs: don't expose internal symlink metadata buffers to the vfs (Brian Foster) [2014846] - scsi: vmw_pvscsi: Set residual data length conditionally (Cathy Avery) [2052345] - scsi: mpt3sas: Fix incorrect system timestamp (Tomas Henzl) [2026212] - scsi: mpt3sas: Fix system going into read-only mode (Tomas Henzl) [2026212] - scsi: mpt3sas: Fix kernel panic during drive powercycle test (Tomas Henzl) [2026212] - scsi: mpt3sas: Clean up some inconsistent indenting (Tomas Henzl) [2026212] - scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state (Ewan D. Milne) [2028290] - blktrace: switch trace spinlock to a raw spinlock (Wander Lairson Costa) [1905749] - blktrace: Fix uaf in blk_trace access after removing by sysfs (Wander Lairson Costa) [1905749] - blk-wbt: export internal state via debugfs (Ming Lei) [2047313] - platform/x86: ISST: Fix optimization with use of numa (Prarit Bhargava) [2023820] - platform/x86: ISST: Use numa node id for cpu pci dev mapping (Prarit Bhargava) [2023818] - platform/x86: ISST: Optimize CPU to PCI device mapping (Prarit Bhargava) [2023818] - efi/x86: drop task_lock() from efi_switch_mm() (Fernando Pacheco) [2035415] - configs: enable LOGITECH_FF (Benjamin Tissoires) [1945987] - Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl (Benjamin Tissoires) [1974089] - Input: joydev - prevent potential read overflow in ioctl (Benjamin Tissoires) [1974089] - xfs: Fix CIL throttle hang when CIL space used going backwards (Thiago Becker) [2040371] - netfilter: nf_conntrack_netbios_ns: fix helper module alias (Florian Westphal) [2038015] - selftests: nft_concat_range: add test for reload with no element add/del (Florian Westphal) [2046309] - netfilter: fix regression in looped (broad|multi)cast's MAC handling (Florian Westphal) [2046309] - selftests: netfilter: Add correctness test for mac,net set type (Florian Westphal) [2046309] - netfilter: flowtable: fix IPv6 tunnel addr match (Florian Westphal) [2046309] - netfilter: conntrack: don't increment invalid counter on NF_REPEAT (Florian Westphal) [2046309] - netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone (Florian Westphal) [2046309] - netfilter: nft_payload: do not update layer 4 checksum when mangling fragments (Florian Westphal) [2046309] - netfilter: ipvs: Fix reuse connection if RS weight is 0 (Florian Westphal) [2046309] - netfilter: ctnetlink: do not erase error code with EINVAL (Florian Westphal) [2046309] - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY (Florian Westphal) [2046309] - netfilter: nfnetlink_queue: fix OOB when mac header was cleared (Florian Westphal) [2046309] - netfilter: nft_dynset: relax superfluous check on set updates (Florian Westphal) [2046309] - netfilter: use kvmalloc_array to allocate memory for hashtable (Phil Sutter) [2001762] - netfilter: nf_tables: skip netdev events generated on netns removal (Phil Sutter) [2053436] - xfrm: add state hashtable keyed by seq (Sabrina Dubroca) [1926538]- cgroup/cpuset: Fix "suspicious RCU usage" lockdep warning (Waiman Long) [2050418] - cpuset: Fix the bug that subpart_cpus updated wrongly in update_cpumask() (Waiman Long) [2050418] - IB/rdmavt: Validate remote_addr during loopback atomic tests (Kamal Heib) [2033480] - in wb_init, use gfp instead of GFP_KERNEL when allocating bw_dwork (Chris von Recklinghausen) [2046179] - scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe (John Meneghini) [2051691] - scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() (John Meneghini) [1973208] - nvme: drop unused variable ctrl in nvme_setup_cmd (John Meneghini) [2033384] - nvme: increment request genctr on completion (John Meneghini) [2033384] - nvme-pci: Fix abort command id (John Meneghini) [2033384] - nvme: add command id quirk for apple controllers (John Meneghini) [2033384] - nvme: move nvme_multi_css into nvme.h (John Meneghini) [2033384] - nvme: code command_id with a genctr for use-after-free validation (John Meneghini) [2033384] - nvme-pci: limit maximum queue depth to 4095 (John Meneghini) [2033384] - params: lift param_set_uint_minmax to common code (John Meneghini) [2033384] - CI: Enable baseline realtime checks (Veronika Kabatova) - CI: Rename pipelines to include release names (Veronika Kabatova) - sched/pelt: Relax the sync of load_sum with load_avg (Phil Auld) [2037123] - sched/pelt: Relax the sync of runnable_sum with runnable_avg (Phil Auld) [2037123] - sched/pelt: Continue to relax the sync of util_sum with util_avg (Phil Auld) [2037123] - sched/pelt: Relax the sync of util_sum with util_avg (Phil Auld) [2037123] - cifs: fix memory leak of smb3_fs_context_dup::server_hostname (Ronnie Sahlberg) [2044670] - cifs: To match file servers, make sure the server hostname matches (Ronnie Sahlberg) [2044670] - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints (Michael Petlan) [1837402] - perf/x86/intel/uncore: Support IMC free-running counters on Sapphire Rapids server (Michael Petlan) [1837402] - perf/x86/intel/uncore: Support IIO free-running counters on Sapphire Rapids server (Michael Petlan) [1837402] - perf/x86/intel/uncore: Factor out snr_uncore_mmio_map() (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add alias PMU name (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server MDF support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M3UPI support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server UPI support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M2M support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IMC support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server PCU support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server M2PCIe support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IRP support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server IIO support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server CHA support (Michael Petlan) [1837402] - perf/x86/intel/uncore: Add Sapphire Rapids server framework (Michael Petlan) [1837402] - ovl: fix deadlock in splice write (Miklos Szeredi) [2028998] - selinux: fix NULL-pointer dereference when hashtab allocation fails (Ondrej Mosnacek) [2021467] - selinux: fix double free of cond_list on error paths (Ondrej Mosnacek) [2043605] - ibmvnic: remove unused ->wait_capability (Diego Domingos) [2049368] - ibmvnic: don't spin in tasklet (Diego Domingos) [2049368] - ibmvnic: init ->running_cap_crqs early (Diego Domingos) [2049368] - ibmvnic: Allow extra failures before disabling (Diego Domingos) [2049368] - hpsa: add new messaging (Tomas Henzl) [1801777] - aacraid: add new messaging (Tomas Henzl) [2044365] - Revert "[scsi] Revert "[scsi] aacraid: add removed id table"" (Tomas Henzl) [2044365] - mpt3sas: Add new messaging (Tomas Henzl) [2044366] - Revert "[scsi] mpt*: remove certain deprecated pci-ids" (Tomas Henzl) [2044366] - mptsas: add new messaging (Tomas Henzl) [2044366] - sctp: hold endpoint before calling cb in sctp_transport_lookup_process (Xin Long) [2043822] - sctp: use call_rcu to free endpoint (Xin Long) [2043822] - sctp: move hlist_node and hashent out of sctp_ep_common (Xin Long) [2043822] - net: Use nlmsg_unicast() instead of netlink_unicast() (Xin Long) [2043822] - video: hyperv_fb: Fix validation of screen resolution (Mohammed Gamal) [1952821] - powerpc/pseries: extract host bridge from pci_bus prior to bus removal (Diego Domingos) [2051509] - dm: properly fix redundant bio-based IO accounting (Mike Snitzer) [2051803] - dm: revert partial fix for redundant bio-based IO accounting (Mike Snitzer) [2051803] - block: add bio_start_io_acct_time() to control start_time (Mike Snitzer) [2051803] - block: document iostat changes for disk busy time accounting (Mike Snitzer) [2051803]- tee: optee: Fix incorrect page free bug (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: handle lookup of shm with reference count 0 (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: smc_abi.c: add missing #include (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: isolate smc abi (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: refactor driver with internal callbacks (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: simplify optee_release() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix missing devices unregister during optee_remove (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee/optee/shm_pool: fix application of sizeof to pointer (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add tee_shm_alloc_kernel_buf() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Clear stale cache entries during initialization (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: fix tee out of memory failure seen during kexec reboot (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Refuse to load the driver under the kdump kernel (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Fix memory leak when failing to register shm pages (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: use export_uuid() to copy client UUID (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: do not check memref size on return from Secure World (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: fix build error caused by recent optee tracepoints feature (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add invoke_fn tracepoints (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: simplify i2c access (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: remove need_resched() before cond_resched() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: sync OP-TEE headers (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: replace might_sleep with cond_resched (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - drivers: optee: fix i2c build issue (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: convert get_user_pages() --> pin_user_pages() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - drivers: optee: allow op-tee to access devices on the i2c bus (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - driver: tee: Handle NULL pointer indication from client (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: enable support for multi-stage bus enumeration (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: use uuid for sysfs driver entry (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Add support for session login client UUID generation (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: enable support to register kernel memory (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove unnecessary NULL check in tee_shm_alloc() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: don't assign shm id for private shms (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove unused tee_shm_priv_alloc() (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: tee_shm_op_mmap(): use TEE_SHM_USER_MAPPED (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove redundant teedev in struct tee_shm (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: remove linked list of struct tee_shm (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: Fix multi page dynamic shm pool alloc (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: model OP-TEE as a platform device/driver (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: fix device enumeration error handling (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix dynamic shm pool allocations (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee/shm: untag user pointers in tee_shm_register (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add might_sleep for RPC requests (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - optee: allow to work without static shared memory (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: update optee_msg.h and optee_smc.h to dual license (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add missing of_node_put after of_device_is_available (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Fix unsigned comparison with less than zero (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: fix possible error pointer ctx dereferencing (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: Initialize some structs using memset instead of braces (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: add TEE bus device enumeration support (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add supp_nowait flag in tee_context struct (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: log message if dynamic shm is enabled (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: add kernel internal client interface (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: take DT status property into account (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - tee: optee: making OPTEE_SHM_NUM_PRIV_PAGES configurable via Kconfig (Chris von Recklinghausen) [2030755] {CVE-2021-44733} - x86/mce: Add Xeon Sapphire Rapids to list of CPUs that support PPIN (David Arcari) [2035286] - regset: kill ->get() (Prarit Bhargava) [2032854] - arm64: switch to ->regset_get() (Prarit Bhargava) [2032854] - arm64: take fetching compat reg out of pt_regs into a new helper (Prarit Bhargava) [2032854] - powerpc: switch to ->regset_get() (Prarit Bhargava) [2032854] - s390: switch to ->regset_get() (Prarit Bhargava) [2032854] - introduction of regset ->get() wrappers, switching ELF coredumps to those (Prarit Bhargava) [2032854] - mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed pages (Baoquan He) [2024011] - dma/pool: create dma atomic pool only if dma zone has managed pages (Baoquan He) [2024011] - mm_zone: add function to check if managed dma zone exists (Baoquan He) [2024011] - tipc: discard MSG_CRYPTO msgs when key_exchange_enabled is not set (Xin Long) [2043825] - tipc: delete the unlikely branch in tipc_aead_encrypt (Xin Long) [2043825] - tipc: check for null after calling kmemdup (Xin Long) [2043825] - tipc: only accept encrypted MSG_CRYPTO msgs (Xin Long) [2043825] - powerpc/pseries: use slab context cpumask allocation in CPU hotplug init (Waiman Long) [2048220] - powerpc/pseries: Fix build error when NUMA=n (Waiman Long) [2048220] - lpfc: Add new messaging (Ewan D. Milne) [1841323] - cpu/hotplug: Cure the cpusets trainwreck (Phil Auld) [1904593] - scsi: ses: Fix unsigned comparison with less than zero (Tomas Henzl) [1995086] - scsi: ses: Retry failed Send/Receive Diagnostic commands (Tomas Henzl) [1995086] - serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X (John W. Linville) [2022906] - PCI: vmd: Add indirection layer to vmd irq lists (Scott Wood) [2048202] - redhat/configs: Enable CONFIG_PCI_HYPERV on Aarch64 (Vitaly Kuznetsov) [2024853] - PCI: hv: Add arm64 Hyper-V vPCI support (Vitaly Kuznetsov) [2024853] - PCI: hv: Make the code arch neutral by adding arch specific interfaces (Vitaly Kuznetsov) [2024853] - PCI: hv: Remove unnecessary use of hx (Vitaly Kuznetsov) [2024853] - nvme-rdma: fix possible use-after-free in transport error_recovery work (Chris Leech) [1988361] - nvme-tcp: fix possible use-after-free in transport error_recovery work (Chris Leech) [1988361] - nvme: fix a possible use-after-free in controller reset during load (Chris Leech) [1988361] - ipv6: check return value of ipv6_skip_exthdr (Sabrina Dubroca) [2046234] - selftests: Calculate udpgso segment count without header adjustment (Xin Long) [2044133] - udp: using datalen to cap ipv6 udp max gso segments (Xin Long) [2044133] - inet_diag: fix kernel-infoleak for UDP sockets (Xin Long) [2044133] - udp: using datalen to cap max gso segments (Xin Long) [2044133] - [s390] s390/cpumf: Support for CPU Measurement Facility CSVN 7 (Mete Durlu) [2048980] - [s390] s390/cpumf: Support for CPU Measurement Sampling Facility LS bit (Mete Durlu) [2048980] - tools/power/x86/intel-speed-select: v1.10 release (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Fix uncore memory frequency display (Prarit Bhargava) [2023909] - platform/x86: ISST: Account for increased timeout in some cases (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Add options to force online (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Drop __DATE__ and __TIME__ macros (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: v1.9 release (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Process mailbox read error for core-power (Prarit Bhargava) [2023909] - tools/power/x86/intel-speed-select: Increase string size (Prarit Bhargava) [2023909] - qla2xxx: Add new messaging (Ewan D. Milne) [1900072]- platform/x86: amd-pmc: only use callbacks for suspend (David Arcari) [2016039] - platform/x86: amd-pmc: Add support for AMD Smart Trace Buffer (David Arcari) [2016039] - platform/x86: amd-pmc: Simplify error handling and store the pci_dev in amd_pmc_dev structure (David Arcari) [2016039] - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops (David Arcari) [2016039] - platform/x86: amd-pmc: Make CONFIG_AMD_PMC depend on RTC_CLASS (David Arcari) [2016039] - platform/x86: amd-pmc: Drop check for valid alarm time (David Arcari) [2016039] - platform/x86: amd-pmc: Downgrade dev_info message to dev_dbg (David Arcari) [2016039] - platform/x86: amd-pmc: fix compilation without CONFIG_RTC_SYSTOHC_DEVICE (David Arcari) [2016039] - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup (David Arcari) [2016039] - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` (David Arcari) [2016039] - platform/x86: amd-pmc: Add alternative acpi id for PMC controller (David Arcari) [2016039] - platform/x86: amd-pmc: Add a message to print resume time info (David Arcari) [2016039] - platform/x86: amd-pmc: Send command to dump data after clearing OS_HINT (David Arcari) [2016039] - platform/x86: amd-pmc: Fix compilation when CONFIG_DEBUGFS is disabled (David Arcari) [2016039] - platform/x86: amd-pmc: Export Idlemask values based on the APU (David Arcari) [2016039] - platform/x86: amd-pmc: Check s0i3 cycle status (David Arcari) [2016039] - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO (Dick Kennedy) [2027558] - sch_api: Don't skip qdisc attach on ingress (Davide Caratti) [2044806] - sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc (Davide Caratti) [2044806] - flow_offload: return EOPNOTSUPP for the unsupported mpls action type (Davide Caratti) [2044806] - selftests: bpf: Less strict size check in sockopt_sk (Felix Maurer) [2025809] - net-zerocopy: Fast return if inq < PAGE_SIZE (Felix Maurer) [2025809] - tcp: Fix sign comparison bug in getsockopt(TCP_ZEROCOPY_RECEIVE) (Felix Maurer) [2025809] - tcp-zerocopy: Ensure excess getsockopt buffer is zeroed (Felix Maurer) [2025809] - tcp-zerocopy: Update returned getsockopt() optlen. (Felix Maurer) [2025809] - tcp-zerocopy: Fix getsockopt buffer size check (Felix Maurer) [2025809] - gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() (Guillaume Nault) [2046339] - net: fix use-after-free in tw_timer_handler (Guillaume Nault) [2046339] - ALSA: core: Fix SSID quirk lookup for subvendor=0 (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Restore hardware state on runtime PM resume (Jaroslav Kysela) [2003613] - ALSA: RHEL - update kernel configs for RHEL 8.6 (Jaroslav Kysela) [2003613] - ASoC: remove module namespaces (Jaroslav Kysela) [2003613] - ASoC: codecs: rt5682(s): use the older clock API calls, but keep some modern (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Cleanup logging (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Use snd_soc_jack to report jack events (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: convert into a helper library for codec drivers (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Use arizona->dev for runtime-pm (Jaroslav Kysela) [2003613] - ASoC: arizona-jack: Move jack-detect variables to struct arizona_priv (Jaroslav Kysela) [2003613] - ASoC/extcon: arizona: Move arizona jack code to sound/soc/codecs/arizona-jack.c (Jaroslav Kysela) [2003613] - extcon: arizona: Always use pm_runtime_get_sync() when we need the device to be awake (Jaroslav Kysela) [2003613] - extcon: arizona: Fix flags parameter to the gpiod_get("wlf,micd-pol") call (Jaroslav Kysela) [2003613] - extcon: arizona: Fix various races on driver unbind (Jaroslav Kysela) [2003613] - extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged (Jaroslav Kysela) [2003613] - extcon: arizona: Fix runtime PM imbalance on error (Jaroslav Kysela) [2003613] - extcon: arizona: Factor out microphone and button detection (Jaroslav Kysela) [2003613] - extcon: arizona: Factor out microphone impedance into a function (Jaroslav Kysela) [2003613] - extcon: arizona: Invert logic of check in arizona_hpdet_do_id (Jaroslav Kysela) [2003613] - extcon: arizona: Remove excessive WARN_ON (Jaroslav Kysela) [2003613] - extcon: arizona: Remove unnecessary sets of ACCDET_MODE (Jaroslav Kysela) [2003613] - extcon: arizona: Tidy up transition from mic to headphone detect (Jaroslav Kysela) [2003613] - extcon: arizona: Clear jack status regardless of detection type (Jaroslav Kysela) [2003613] - extcon: arizona: Move pdata extraction to probe (Jaroslav Kysela) [2003613] - extcon: arizona: Make rev A register sequences atomic (Jaroslav Kysela) [2003613] - extcon: arizona: Correct clean up if arizona_identify_headphone fails (Jaroslav Kysela) [2003613] - extcon: arizona: Switch to use device_property_count_u32() (Jaroslav Kysela) [2003613] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Jaroslav Kysela) [2003613] - extcon: arizona: Correct error handling on regmap_update_bits_check (Jaroslav Kysela) [2003613] - extcon: arizona: Disable mic detect if running when driver is removed (Jaroslav Kysela) [2003613] - mfd: arizona: Fix rumtime PM imbalance on error (Jaroslav Kysela) [2003613] - mfd: arizona: Split of_match table into I2C and SPI versions (Jaroslav Kysela) [2003613] - mfd: arizona: Make some symbols static (Jaroslav Kysela) [2003613] - mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI (Jaroslav Kysela) [2003613] - mfd: arizona: Add MODULE_SOFTDEP("pre: arizona_ldo1") (Jaroslav Kysela) [2003613] - mfd: arizona: Drop arizona-extcon cells (Jaroslav Kysela) [2003613] - mfd: arizona: Replace arizona_of_get_type() with device_get_match_data() (Jaroslav Kysela) [2003613] - mfd: arizona: Ensure 32k clock is put on driver unbind and error (Jaroslav Kysela) [2003613] - mfd: arizona: Remove BUG_ON usage (Jaroslav Kysela) [2003613] - mfd: arizona: Switch to using devm_gpiod_get() (Jaroslav Kysela) [2003613] - mfd: arizona: Fix undefined behavior (Jaroslav Kysela) [2003613] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jaroslav Kysela) [2003613] - mfd: arizona: Correct calling of runtime_put_sync (Jaroslav Kysela) [2003613] - mfd: arizona: Don't use regmap_read_poll_timeout (Jaroslav Kysela) [2003613] - clkdev: Hold clocks_mutex while iterating clocks list (Jaroslav Kysela) [2003613] - clkdev: add managed clkdev lookup registration (Jaroslav Kysela) [2003613] - genirq: Add IRQF_NO_AUTOEN for request_irq/nmi() (Jaroslav Kysela) [2003613] - ALSA: es1688: Avoid devres management for es1688 object creation (Jaroslav Kysela) [2003613] - ALSA: gus: Fix repeated probes of snd_gus_create() (Jaroslav Kysela) [2003613] - ALSA: x86: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: x86: simplify with sync_stop PCM ops (Jaroslav Kysela) [2003613] - ALSA: x86: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: virtio: Replace zero-length array with flexible-array member (Jaroslav Kysela) [2003613] - ALSA: emux: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: synth: missing check for possible NULL after the call to kstrdup (Jaroslav Kysela) [2003613] - ALSA: synth: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sparc: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ASoC: tegra: Set driver name explicitly (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Use devm_clk_get() (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Correct driver removal order (Jaroslav Kysela) [2003613] - ASoC: tegra20: spdif: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Use devm_clk_get() (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Add system level suspend-resume callbacks (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Add reset control (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Correct driver removal order (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra20_das: align function prototypes (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra20_das: clarify expression (Jaroslav Kysela) [2003613] - ASoC: tegra: remove unneeded semicolon (Jaroslav Kysela) [2003613] - ASoC: tegra: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [2003613] - ASoC: tegra20: ac97: Add reset control (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add support for SoundWire of TGL-H-RVP (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add mutual exclusion between PCH DMIC and RT715 (Jaroslav Kysela) [2003613] - ASoC: codecs: wsa881x: fix return values from kcontrol put (Jaroslav Kysela) [2003613] - ASoc: wm8731: Drop empty spi_driver remove callback (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: channel -> channels rename (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 channel count (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Disable irq on slave ports in the remove function (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Fix a double irq free in the remove function (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Fix a memory leak in the error handling path of the probe function (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: make array clocks static, makes object smaller (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 processing block selection (Jaroslav Kysela) [2003613] - ASoC: da7218: Drop CONFIG_OF ifdef (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Fix TAS2505 volume controls (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: Make aic32x4_remove() return void (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: add support for TAS2505 (Jaroslav Kysela) [2003613] - ASoC: tlv320aic32x4: add type to device private data struct (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: Fix jack detection after suspend (Jaroslav Kysela) [2003613] - ASoC: tlv320aic31xx: Make regmap cache only on probe() (Jaroslav Kysela) [2003613] - ASoC: sigmadsp: Remove the repeated declaration (Jaroslav Kysela) [2003613] - ASoC: rt286: Remove redundant assignment to d_len_code (Jaroslav Kysela) [2003613] - ASoC: codecs: rt1019: clarify expression (Jaroslav Kysela) [2003613] - ASoC: rt1019: Add non_legacy_dai_naming config (Jaroslav Kysela) [2003613] - ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe() (Jaroslav Kysela) [2003613] - ASoC: mediatek: mt6359: Fix unexpected error in bind/unbind flow (Jaroslav Kysela) [2003613] - ASoc: codecs: mt6359: remove useless initializations (Jaroslav Kysela) [2003613] - ASoC: mediatek: mt6359: convert to use module_platform_driver (Jaroslav Kysela) [2003613] - ASoC: ics43432: add CMM-4030D-261 support (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Fix return value in hdmi_codec_set_jack() (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Get ELD in before reporting plugged event (Jaroslav Kysela) [2003613] - ASoC: cs53l30: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs43130: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs42l52: Minor tidy up of error paths (Jaroslav Kysela) [2003613] - ASoC: cs42l73: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs4265: Minor tidy up of error paths (Jaroslav Kysela) [2003613] - ASoC: cs35l36: Remove unneeded variable initialisation (Jaroslav Kysela) [2003613] - ASoC: cs35l35: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs35l35: Correct errata handling (Jaroslav Kysela) [2003613] - ASoC: cs35l34: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs35l33: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cirrus: Add helper function for reading the device ID (Jaroslav Kysela) [2003613] - ASoC: cs35l32: Add missing regmap use_single config (Jaroslav Kysela) [2003613] - ASoC: cs35l32: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: adav80x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - ASoC: codecs: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ASoC: ab8500: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: fix spelling mistake in Kconfig "comunicate" -> "communicate" (Jaroslav Kysela) [2003613] - ASoC: 88pm860x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: amd: renoir: Remove redundant assignment to pdm_ctrl and pdm_enable and pdm_dma_enable (Jaroslav Kysela) [2003613] - ASoC: amd: add missing break (Jaroslav Kysela) [2003613] - ALSA: sh: Fix compile warning wrt const (Jaroslav Kysela) [2003613] - ALSA: sh: Fix unused variable warnings (Jaroslav Kysela) [2003613] - ALSA: sh: Constify snd_device_ops definitions (Jaroslav Kysela) [2003613] - ALSA: sh: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [2003613] - ALSA: sh: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ALSA: aica: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ALSA: sh: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [2003613] - ALSA: ps3: fix spelling typo of values (Jaroslav Kysela) [2003613] - ALSA: ppc: drop if block with always false condition (Jaroslav Kysela) [2003613] - ALSA: ppc: remove redundant checks in PS3 driver probe (Jaroslav Kysela) [2003613] - ALSA: ppc: fix error return code in snd_pmac_probe() (Jaroslav Kysela) [2003613] - ALSA: ppc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [2003613] - ALSA: ppc: Constify snd_device_ops definitions (Jaroslav Kysela) [2003613] - ALSA: ppc: keywest: remove outdated comment (Jaroslav Kysela) [2003613] - ALSA: poewrmac: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pcmcia: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pci: vx222: fix kernel-doc warning (Jaroslav Kysela) [2003613] - ALSA: Remove trailing semicolon in macros (Jaroslav Kysela) [2003613] - ALSA: hda: generic: Remove redundant assignment to dac (Jaroslav Kysela) [2003613] - ALSA: hda: Allow model option to specify PCI SSID alias (Jaroslav Kysela) [2003613] - ALSA: asihpi: fix comment syntax in file headers (Jaroslav Kysela) [2003613] - ALSA: harmony: Drop superfluous address setup (Jaroslav Kysela) [2003613] - ALSA: parisc: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx: fix kernel-doc warning (Jaroslav Kysela) [2003613] - ALSA: aloop: Constify ops structs (Jaroslav Kysela) [2003613] - ASoC: SOF: Drop resindex_dma_base, dma_engine, dma_size from sof_dev_desc (Jaroslav Kysela) [2003613] - ALSA: wavefront: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: wavefront: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sscape: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sc6000: Use explicit cast for __iomem pointer (Jaroslav Kysela) [2003613] - ALSA: sc6000: Assign vport directly on card's private_data (Jaroslav Kysela) [2003613] - ALSA: sc6000: Fix incorrect sizeof operator (Jaroslav Kysela) [2003613] - ALSA: sc6000: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sb: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - Revert "ALSA: sb: fix a missing check of snd_ctl_add" (Jaroslav Kysela) [2003613] - ALSA: sb: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sb8: Add a comment note regarding an unused pointer (Jaroslav Kysela) [2003613] - ALSA: sb: Fix potential ABBA deadlock in CSP driver (Jaroslav Kysela) [2003613] - ALSA: sb: Fix potential double-free of CSP mixer elements (Jaroslav Kysela) [2003613] - ALSA: sb: Minor coding style fixes (Jaroslav Kysela) [2003613] - ALSA: sb: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sb: Fix two use after free in snd_sb_qsound_build (Jaroslav Kysela) [2003613] - ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer (Jaroslav Kysela) [2003613] - ALSA: opti9xx: fix missing { } around an if block (Jaroslav Kysela) [2003613] - ALSA: opti9xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: opti9xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: opl3sa2: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: opl3sa2: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: msnd: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: msnd: Use proper mmap method (Jaroslav Kysela) [2003613] - ALSA: gus: Fix repeated probe for ISA interwave card (Jaroslav Kysela) [2003613] - Revert "ALSA: gus: add a check of the status of snd_ctl_add" (Jaroslav Kysela) [2003613] - ALSA: gus: fix null pointer dereference on pointer block (Jaroslav Kysela) [2003613] - ALSA: gus: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: gus: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: gus: Replace unsafe strcpy() with strscpy() (Jaroslav Kysela) [2003613] - ALSA: galaxy: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: Replace with fallthrough pseudo keyword in the remaining places (Jaroslav Kysela) [2003613] - ALSA: es18xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es18xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: isa: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1688: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: wss: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs423x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs423x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - sound/oss/dmasound: Remove superfluous "break" (Jaroslav Kysela) [2003613] - sound/oss/dmasound: Remove superfluous "break" (Jaroslav Kysela) [2003613] - ALSA: cmi8330: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: isa: Fix error return code in snd_cmi8330_probe() (Jaroslav Kysela) [2003613] - ALSA: cmi8330: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cmi8328: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt2320: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt2320: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als100: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als100: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: adlib: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1848: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1816a: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1816a: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: i2c: tea6330t: Remove redundant initialization of variable err (Jaroslav Kysela) [2003613] - ALSA: i2c: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: add missing include files (Jaroslav Kysela) [2003613] - ALSA: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ALSA: aoa: remove unnecessary oom message (Jaroslav Kysela) [2003613] - ALSA: arm: Remove unnecessary variables (Jaroslav Kysela) [2003613] - ALSA: ac97: fix PM reference leak in ac97_bus_remove() (Jaroslav Kysela) [2003613] - ALSA: ac97: Constify static struct attribute_group (Jaroslav Kysela) [2003613] - ALSA: virtio: fix kernel-doc (Jaroslav Kysela) [2003613] - ALSA: virtio: use module_virtio_driver() to simplify the code (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce device suspend/resume support (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce PCM channel map support (Jaroslav Kysela) [2003613] - ALSA: virtio: introduce jack support (Jaroslav Kysela) [2003613] - ALSA: virtio: PCM substream operators (Jaroslav Kysela) [2003613] - ALSA: virtio: handling control and I/O messages for the PCM device (Jaroslav Kysela) [2003613] - ALSA: virtio: build PCM devices and substream hardware descriptors (Jaroslav Kysela) [2003613] - ALSA: virtio: handling control messages (Jaroslav Kysela) [2003613] - ALSA: virtio: add virtio sound driver (Jaroslav Kysela) [2003613] - uapi: virtio_ids: add a sound device type ID from OASIS spec (Jaroslav Kysela) [2003613] - ALSA: firewire: Fix C++ style comments in uapi header (Jaroslav Kysela) [2003613] - ALSA: uapi: Fix a C++ style comment in asound.h (Jaroslav Kysela) [2003613] - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: indicate dai_fmt if exist (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: indicate missing CPU/Codec numbers for debug (Jaroslav Kysela) [2003613] - ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK/BCLK_ES bits (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup dev_dbg() to use 1 line (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup debug info for clock (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Increase maximum DAI links limit to 512 (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Use set_jack ops to set jack (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Multi) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Single) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Multi) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Single) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Nulti) (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Single) (Jaroslav Kysela) [2003613] - ASoC: add Audio Graph Card2 Custom Sample (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add Codec2Codec support (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add DPCM support (Jaroslav Kysela) [2003613] - ASoC: audio-graph-card2: add Multi CPU/Codec support (Jaroslav Kysela) [2003613] - ASoC: add Audio Graph Card2 driver (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add codec2codec support (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: add asoc_graph_is_ports0() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Fixup CPU endpoint hw_params in a BE<->BE link (Jaroslav Kysela) [2003613] - ASoC: audio-graph: respawn Platform Support (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Avoid over-allocating DLCs (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_dai_link_of_dpcm() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_link_init() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_parse_node() (Jaroslav Kysela) [2003613] - ASoC: simple-card: Fix breakage on kontron-sl28-var3-ads2 (Jaroslav Kysela) [2003613] - ASoC: audio-graph: tidyup graph_dai_link_of_dpcm() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_link_init() (Jaroslav Kysela) [2003613] - ASoC: simple-card: add simple_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: add graph_link_init() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: add graph_parse_node() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove Platform support (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove unused "node" from graph_parse_mclk_fs() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: remove "audio-graph-card, " preix support (Jaroslav Kysela) [2003613] - ASoC: audio-graph: check ports if exists (Jaroslav Kysela) [2003613] - ASoC: audio-graph: move audio_graph_remove() to simple-card-utils.c (Jaroslav Kysela) [2003613] - ASoC: tegra: Add driver remove() callback (Jaroslav Kysela) [2003613] - ASoC: audio-graph: move audio_graph_card_probe() to simple-card-utils.c (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Allocate link info structure on heap (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Increase maximum number of links to 128 (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Propagate errors on too many links (Jaroslav Kysela) [2003613] - ASoC: audio-graph: use simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: audio-graph: use asoc_link_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: use simple_props_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: use asoc_link_to_xxx() macro (Jaroslav Kysela) [2003613] - ASoC: simple-card: remove unused variable from simple_parse_of() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: tidyup asoc_simple_parse_convert() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: multi support at asoc_simple_canonicalize_cpu/platform() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: care multi DAI at asoc_simple_clean_reference() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: remove asoc_simple_parse_xxx() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: use for_each_prop_xxx() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: remove li->dais/li->conf (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: setup dai_props cpu_dai/codec_dai at initial timing (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: share dummy DAI and reduce memory (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: enable flexible CPU/Codec/Platform (Jaroslav Kysela) [2003613] - ASoC: simple-card: fix possible uninitialized single_cpu local variable (Jaroslav Kysela) [2003613] - ASoC: simple-card: cleanup graph_for_each_link() (Jaroslav Kysela) [2003613] - ASoC: simple-card: count DAI / link numbers as in order (Jaroslav Kysela) [2003613] - ASoC: audio-graph: cleanup graph_for_each_link() (Jaroslav Kysela) [2003613] - ASoC: audio-graph: count DAI / link numbers as in order (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: alloc dai_link information for CPU/Codec/Platform (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils.c: remove old comment (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Do not handle device clock (Jaroslav Kysela) [2003613] - ASoC: generic: simple-card-utils: remove useless assignment (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: Fix device module clock (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Rename functions needed for export (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Expose helpers from audio graph (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Expose new members for asoc_simple_priv (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Support empty Codec endpoint (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM (Jaroslav Kysela) [2003613] - ASoC: audio-graph: Use of_node and DAI for DPCM DAI link names (Jaroslav Kysela) [2003613] - ALSA: memalloc: Drop superfluous snd_dma_buffer_sync() declaration (Jaroslav Kysela) [2003613] - ASoC: SOF: dai: include new flags for DAI_CONFIG (Jaroslav Kysela) [2003613] - ASoC: SOF: dai: mirror group_id definition added in firmware (Jaroslav Kysela) [2003613] - ALSA: core: Use READ_ONCE() / WRITE_ONCE() for power state change (Jaroslav Kysela) [2003613] - ALSA: hda_audio_ext: fix kernel-doc (Jaroslav Kysela) [2003613] - ALSA: make snd_kcontrol_new name a normal string (Jaroslav Kysela) [2003613] - ASoC: constify of_phandle_args in snd_soc_get_dai_name() (Jaroslav Kysela) [2003613] - ASoC: tas2770: Fix setting of high sample rates (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix the wrong jack type detected (Jaroslav Kysela) [2003613] - ASoC: tegra: Restore headphones jack name on Nyan Big (Jaroslav Kysela) [2003613] - ASoC: tegra: Add DAPM switches for headphones and mic jack (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add ADL-N support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Retry codec probing if it fails (Jaroslav Kysela) [2003613] - ASoC: amd: fix uninitialized variable in snd_acp6x_probe() (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix crash due to out of scope stack vars (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix crash due to out of scope stack vars (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for ADX (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for AMX (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for Mixer (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Use normal system sleep for SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Balance runtime PM count (Jaroslav Kysela) [2003613] - ASoC: SOF: hda: reset DAI widget before reconfiguring it (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Set the max SPI speed for the whole device (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entry for ESSX8336 on CML (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: Set mach->id field on comp_ids matches (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in Mixer (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in ADX (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in AMX (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in AHUB (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in DSPK (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in DMIC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in I2S (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix kcontrol put callback in ADMAIF (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in MVC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in SFC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in DSPK (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in DMIC (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in I2S (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix wrong value type in ADMAIF (Jaroslav Kysela) [2003613] - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls (Jaroslav Kysela) [2003613] - ASoC: SOF: build compression interface into snd_sof.ko (Jaroslav Kysela) [2003613] - ASoC: rt5682: Re-detect the combo jack after resuming (Jaroslav Kysela) [2003613] - ASoC: rt5682: Avoid the unexpected IRQ event during going to suspend (Jaroslav Kysela) [2003613] - ASoC: rt1011: revert 'I2S Reference' to SOC_ENUM_EXT (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add the compatibility with rt9120s (Jaroslav Kysela) [2003613] - ASoC: rt9120: Fix clock auto sync issue when fs is the multiple of 48 (Jaroslav Kysela) [2003613] - ASoC: rt9120: Update internal ocp level to the correct value (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product (Jaroslav Kysela) [2003613] - ASoC: DAPM: Cover regression by kctl change notification fix (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended (Jaroslav Kysela) [2003613] - ASoC: SOF:control: Fix variable type in snd_sof_refresh_control() (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Change monitor widgets to siggens (Jaroslav Kysela) [2003613] - ASoC: tlv320aic3x: Make aic3x_remove() return void (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: detect codec variant in probe function (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: add comp_ids field for machine driver matching (Jaroslav Kysela) [2003613] - ASoC: Stop dummy from overriding hwparams (Jaroslav Kysela) [2003613] - ASoC: topology: Change topology device to card device (Jaroslav Kysela) [2003613] - ASoC: topology: Use correct device for prints (Jaroslav Kysela) [2003613] - ASoC: topology: Check for dapm widget completeness (Jaroslav Kysela) [2003613] - ASoC: topology: Add header payload_size verification (Jaroslav Kysela) [2003613] - ASoC: core: Remove invalid snd_soc_component_set_jack call (Jaroslav Kysela) [2003613] - ASoC: amd: acp: select CONFIG_SND_SOC_ACPI (Jaroslav Kysela) [2003613] - ASoC: Intel: glk_rt5682_max98357a: support ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: es8316: add support for ESSX8336 ACPI _HID (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv (Jaroslav Kysela) [2003613] - ASoC: fix unmet dependencies on GPIOLIB for SND_SOC_DMIC (Jaroslav Kysela) [2003613] - ASoC: amd: acp: fix Kconfig dependencies (Jaroslav Kysela) [2003613] - ASoC: rt5682-i2c: Use devm_clk_get_optional for optional clock (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entry for ESSX8336 on JSL (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Fix return value check in acp_machine_select() (Jaroslav Kysela) [2003613] - ASoC: max98520: add max98520 audio amplifier driver (Jaroslav Kysela) [2003613] - ASoC: nau8821: clarify out-of-bounds check (Jaroslav Kysela) [2003613] - ASoC: nau8821: fix kernel-doc (Jaroslav Kysela) [2003613] - ASoC: rt5682s: use 'static' qualifier (Jaroslav Kysela) [2003613] - ASoC: topology: handle endianness warning (Jaroslav Kysela) [2003613] - ASoC: amd: acp: SND_SOC_AMD_ACP_COMMON should depend on X86 && PCI (Jaroslav Kysela) [2003613] - ASoC: amd: acp: SND_SOC_AMD_{LEGACY_MACH,SOF_MACH} should depend on X86 && PCI && I2C (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Wrap AMD Audio ACP components in SND_SOC_AMD_ACP_COMMON (Jaroslav Kysela) [2003613] - ASoC: cs42l42: free_irq() before powering-down on probe() fail (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Reset and power-down on remove() and failed probe() (Jaroslav Kysela) [2003613] - ASoC: nau8825: add clock management for power saving (Jaroslav Kysela) [2003613] - ASoC: nau8825: add set_jack coponment support (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Prevent NULL pointer deref in interrupt handler (Jaroslav Kysela) [2003613] - ASoC: wm8962: Convert to devm_clk_get_optional() (Jaroslav Kysela) [2003613] - ASoC: fix unmet dependency on GPIOLIB for SND_SOC_MAX98357A (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Make cs35l41_remove() return void (Jaroslav Kysela) [2003613] - ASoC: tegra: Set default card name for Trimslice (Jaroslav Kysela) [2003613] - ASoC: tegra: Restore AC97 support (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add acp_machine struct for renoir platform. (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Downsizing the DAC volume scale (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Remove unused runtime_suspend/runtime_resume callbacks (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Minor error paths fixups (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for ACPI table match entry (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use device_property API instead of of_property (Jaroslav Kysela) [2003613] - ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header (Jaroslav Kysela) [2003613] - ASoC: amd: enable Yellow Carp platform machine driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add YC machine driver using dmic (Jaroslav Kysela) [2003613] - ASoC: amd: create platform device for acp6x machine driver (Jaroslav Kysela) [2003613] - ASoC: amd: enable Yellow carp acp6x drivers build (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pci driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm driver dma ops (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x irq handler (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x pdm platform driver (Jaroslav Kysela) [2003613] - ASoC: amd: add platform devices for acp6x pdm driver and dmic driver (Jaroslav Kysela) [2003613] - ASoC: amd: add acp6x init/de-init functions (Jaroslav Kysela) [2003613] - ASoC: amd: add Yellow Carp ACP PCI driver (Jaroslav Kysela) [2003613] - ASoC: amd: add Yellow Carp ACP6x IP register header (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add support for RT5682-VS codec (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add support for Maxim amplifier codec (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add SOF audio support on Chrome board (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add legacy sound card support for Chrome audio (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add generic machine driver support for ACP cards (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add callback for machine driver on ACP (Jaroslav Kysela) [2003613] - ASoC: amd: acp: Add I2S support on Renoir platform (Jaroslav Kysela) [2003613] - ASoC: amd: Add common framework to support I2S on ACP SOC (Jaroslav Kysela) [2003613] - ASoC: soc-core: tidyup empty function (Jaroslav Kysela) [2003613] - ASoC: soc-component: add snd_soc_component_is_codec() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step2 (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step1 (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Always enable TS_PLUG and TS_UNPLUG interrupts (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix WARN in remove() if running without an interrupt (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Mark OSC_SWITCH_STATUS register volatile (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Set correct SRC MCLK (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Allow time for HP/ADC to power-up after enable (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use PLL for SCLK > 12.288MHz (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't claim to support 192k (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't set defaults for volatile registers (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct some register default values (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Always configure both ASP TX channels (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't reconfigure the PLL while it is running (Jaroslav Kysela) [2003613] - ASoC: soc-component: improve error reporting for register access (Jaroslav Kysela) [2003613] - ASoC: amd: enable vangogh platform machine driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh machine driver (Jaroslav Kysela) [2003613] - ASoc: amd: create platform device for VG machine driver (Jaroslav Kysela) [2003613] - ASoC: test-component: add Test Component for Sound debug/test (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix a little pop while playback (Jaroslav Kysela) [2003613] - ASoC: rt1011: Fix 'I2S Reference' enum control (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: amd: vangogh: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [2003613] - ASoC: rt9120: Drop rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: rt1011: Fix 'I2S Reference' enum control caused error (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Ensure 0dB full scale volume is used for headsets (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: use devm_clk_get_optional() for mclk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: switch to using devm_fwnode_gpiod_get() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5651: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: use devm_clk_get_optional() for mclk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: amd: Kconfig: Select fch clock support with machine driver (Jaroslav Kysela) [2003613] - ASoC: soc-core: fix null-ptr-deref in snd_soc_del_component_unlocked() (Jaroslav Kysela) [2003613] - ASoC: SOF: prepare code to allocate IPC messages in fw_ready (Jaroslav Kysela) [2003613] - ASoC: rt9120: Add rt9210 audio amplifier support (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: restore mixer functionality (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix hp pop produced immediately after resuming (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce fragment elapsed notification API (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Use newly introduced generic IPC stream ops (Jaroslav Kysela) [2003613] - ASoC: SOF: Make Intel IPC stream ops generic (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce snd_sof_mailbox_read / snd_sof_mailbox_write callbacks (Jaroslav Kysela) [2003613] - ASoC: SOF: pipelines: Harmonize all functions to use struct snd_sof_dev (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: do not power down primary core during topology removal (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Dump registers and stack when SOF_DBG_DUMP_REGS is set (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-loader: Drop SOF_DBG_DUMP_REGS flag from dbg_dump calls (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Drop SOF_DBG_DUMP_REGS flag when firmware start fails (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Clean up snd_sof_get_status() prints (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda: Drop 'error' prefix from error dump functions (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce macro to set the firmware state (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: Force DSP panic dumps to be printed (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Re-enable dumps after successful IPC tx (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Print out the fw_state along with the DSP dump (Jaroslav Kysela) [2003613] - ASoC: SOF: Drop SOF_DBG_DUMP_FORCE_ERR_LEVEL and sof_dev_dbg_or_err (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda-loader: Use snd_sof_dsp_dbg_dump() for DSP dump (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Add SOF_DBG_DUMP_OPTIONAL flag for DSP dumping (Jaroslav Kysela) [2003613] - ASoC: SOF: debug/ops: Move the IPC and DSP dump functions out from the header (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: atom: No need to do a DSP dump in atom_run() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Print the DSP dump if boot fails (Jaroslav Kysela) [2003613] - ASoC: SOF: Print the dbg_dump and ipc_dump once to reduce kernel log noise (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc and dsp dump: Add markers for better visibility (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Swap the dsp_dump and ipc_dump sequence for fw_exception (Jaroslav Kysela) [2003613] - ASoC: SOF: core: debug: force all processing on primary core (Jaroslav Kysela) [2003613] - ASoC: max98927: Handle reset gpio when probing i2c (Jaroslav Kysela) [2003613] - ASoC: DAPM: Fix missing kctl change notifications (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional() (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Use temporary variable for struct device (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() (Jaroslav Kysela) [2003613] - ASoC: SOF: OF: Add fw_path and tplg_path parameters (Jaroslav Kysela) [2003613] - ASoC: amd: acp-rt5645: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: return error if sof_connect_dai_widget() fails (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: allow for dynamic pipelines override for debug (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: show clks_control value in dynamic debug (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dai: improve SSP DAI handling for dynamic pipelines (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: add new flags for DAI_CONFIG (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp (Jaroslav Kysela) [2003613] - ASoC: Intel: add machine driver for SOF+ES8336 (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: apl/glk/tgl: add entry for devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ASoC: Intel: cht_bsw_nau8824: Set card.components string (Jaroslav Kysela) [2003613] - ASoC: nau8824: Add a nau8824_components() helper (Jaroslav Kysela) [2003613] - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix NAU8824_JACK_LOGIC define (Jaroslav Kysela) [2003613] - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ (Jaroslav Kysela) [2003613] - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ (Jaroslav Kysela) [2003613] - ASoC: nau8821: new driver (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: Add kernel parameter for topology verification (Jaroslav Kysela) [2003613] - ASoC: SOF: Add support for dynamic pipelines (Jaroslav Kysela) [2003613] - treewide: Use fallthrough pseudo-keyword (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: make sure DAI widget is set up before IPC (Jaroslav Kysela) [2003613] - ASoC: SOF: Introduce widget use_count (Jaroslav Kysela) [2003613] - ASoC: SOF: Don't set up widgets during topology parsing (Jaroslav Kysela) [2003613] - ASoC: SOF: restore kcontrols for widget during set up (Jaroslav Kysela) [2003613] - ASoC: SOF: Add new fields to snd_sof_route (Jaroslav Kysela) [2003613] - AsoC: dapm: export a couple of functions (Jaroslav Kysela) [2003613] - ASoC: SOF: sof-audio: add helpers for widgets, kcontrols and dai config set up (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: Add new token for dynamic pipeline (Jaroslav Kysela) [2003613] - ASoC: SOF: control: Add access field in struct snd_sof_control (Jaroslav Kysela) [2003613] - ASoC: topology: change the complete op in snd_soc_tplg_ops to return int (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Fix HP noise caused by SAR mode switch when the system resumes (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Enable ASRC auto-disable to fix pop during jack plug-in while playback (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: Add support for max98360a speaker amp (Jaroslav Kysela) [2003613] - ASoC: tegra: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: rt5682: move clk related code to rt5682_i2c_probe (Jaroslav Kysela) [2003613] - ASoC: rt5682: Use clk_hw based APIs for registration (Jaroslav Kysela) [2003613] - ASoC: rt5682: Drop usage of __clk_get_name() (Jaroslav Kysela) [2003613] - ASoC: SOF: Change SND_SOC_SOF_TOPLEVEL from config to menuconfig (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Revise the macro RT5682S_PLLB_SRC_MASK (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Use dev_dbg instead of pr_debug (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Remove the volatile SW reset register from reg_default (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix headphone vs headset, button-press detection no longer working (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: update platform device name for Maxim amplifier (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Make the error prints consistent in tx_wait_done() (Jaroslav Kysela) [2003613] - ASoC: SOF: prefix some terse and cryptic dev_dbg() with __func__ (Jaroslav Kysela) [2003613] - ASoC: SOF: add error handling to snd_sof_ipc_msg_data() (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: add header file for ops (Jaroslav Kysela) [2003613] - ASoC: SOF: pm: fix a stale comment (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-stream: Print stream name on STREAM_SD_OFFSET timeout (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dai: fix potential locking issue (Jaroslav Kysela) [2003613] - ASoC: ak4458: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: ak5558: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: dwc-i2s: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ak4671: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: alc5623: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: bcm: Convert to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cpcap: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: codecs: Fix spelling mistake "Unsupport" -> "Unsupported" (Jaroslav Kysela) [2003613] - ASoC: ad193x: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: tegra: Constify static snd_soc_dai_ops structs (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Use two thresholds and increased wait time for manual type detection (Jaroslav Kysela) [2003613] - ASoC: adau1977: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau17x1: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1701: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1373: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: adau1372: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ad1836: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ep93xx: Convert to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: samsung: add missing "fallthrough;" (Jaroslav Kysela) [2003613] - ASoC: ak4642: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: wcd9335: Use correct version to initialize Class H (Jaroslav Kysela) [2003613] - ASoC: alc5632: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: ak4104: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: ak4118: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: zl38060: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cs4341: Add SPI device ID table (Jaroslav Kysela) [2003613] - ASoC: pcm179x: Add missing entries SPI to device ID table (Jaroslav Kysela) [2003613] - ASoC: pl1022_rdk: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: pl1022_ds: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: mpc8610_hpcd: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-sgtl5000: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-es8328: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: imx-audmix: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl_sai: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-mqs: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-esai: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: fsl-audmix: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: eureka-tlv320: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: cros_ec_codec: Use modern ASoC DAI format terminology (Jaroslav Kysela) [2003613] - ASoC: pcm512x: Mend accesses to the I2S_1 and I2S_2 registers (Jaroslav Kysela) [2003613] - ASoC: codecs: max98390: simplify getting the adapter of a client (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: Update to modern clocking terminology (Jaroslav Kysela) [2003613] - ASoC: SOF: Remove struct sof_ops_table and sof_get_ops() macro (Jaroslav Kysela) [2003613] - ASoC: rt5682s: make rt5682s_aif2_dai_ops and rt5682s_soc_component_dev (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based Mixer driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based ADX driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based AMX driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based SFC driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add Tegra210 based MVC driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Add routes for few AHUB modules (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: Don't reconnect an already active BE (Jaroslav Kysela) [2003613] - ASoC: compress/component: Use module_get_when_open/put_when_close for cstream (Jaroslav Kysela) [2003613] - ASoC: soc-component: Convert the mark_module to void* (Jaroslav Kysela) [2003613] - ASoC: SOF: Rename sof_arch_ops to dsp_arch_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Remove redundant error check from sof_ipc_tx_message_unlocked (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Print 0x prefix for errors in ipc_trace/stream_message() (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Clarify the parameter name for ipc_trace_message() (Jaroslav Kysela) [2003613] - ASoC: SOF: trace: Omit error print when waking up trace sleepers (Jaroslav Kysela) [2003613] - misc: cs35l41: Remove unused pdn variable (Jaroslav Kysela) [2003613] - ASoC: SOF: imx8m: add SAI1 info (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Minor fix all errors reported by checkpatch.pl script (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Move probe work related code under a single if () branch (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Implement Manual Type detection as fallback (Jaroslav Kysela) [2003613] - ASoC: SOF: sof-probes: Correct the function names used for snd_soc_cdai_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Rename hda-compress.c to hda-probes.c (Jaroslav Kysela) [2003613] - ASoC: SOF: probe: Merge and clean up the probe and compress files (Jaroslav Kysela) [2003613] - ASoC: SOF: compress: move and export sof_probe_compr_ops (Jaroslav Kysela) [2003613] - ASoC: SOF: pcm: Remove non existent CONFIG_SND_SOC_SOF_COMPRESS reference (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Add probe message logging to ipc_log_header() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Re-phrase the missing firmware error to avoid duplication (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: release_firmware() on load failure to avoid batching (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: No need to export the snd_sof_debugfs_io_item() (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Use the generic ops for region debugfs handling (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Provide debugfs_add_region_item ops for core (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Provide debugfs_add_region_item ops for core (Jaroslav Kysela) [2003613] - ASoC: SOF: debug: Add generic API and ops for DSP regions (Jaroslav Kysela) [2003613] - ASoC: SOF: core: Do not use 'bar' as parameter for block_read/write (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: No need to export snd_sof_fw_parse_ext_data() (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Do not initialize the snd_sof_dsp_ops.read64 (Jaroslav Kysela) [2003613] - ASoC: SOF: ipc: Remove snd_sof_dsp_mailbox_init() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: bdw: Set the mailbox offset directly in bdw_probe (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: imx8m: Bar index is only valid for IRAM and SRAM types (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: imx8: Bar index is only valid for IRAM and SRAM types (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fix a bunch of trivial code formating/style issues (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fixup the error messages (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Don't overwrite returned error code (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Combine adjacent register writes (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Use regmap_read_poll_timeout to wait for OTP boot (Jaroslav Kysela) [2003613] - ASoC: cs35l41: Fix use of an uninitialised variable (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: load_firmware callback is mandatory, treat it like that (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Relocate inline definitions from hda.h to hda.c for sdw (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Remove boot_firmware skl and iccmax_icl declarations (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-dsp: Declare locally used functions as static (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: Do no initialize resindex_dma_base (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_mx98360a board (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015 board (Jaroslav Kysela) [2003613] - ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015p board (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: support ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: SOF: Fix DSP oops stack dump output contents (Jaroslav Kysela) [2003613] - ASoC: pcm5102a: increase rate from 192k to 384k (Jaroslav Kysela) [2003613] - ASoC: rt1011: add i2s reference control for rt1011 (Jaroslav Kysela) [2003613] - ASoC: SOF: Handle control change notification from firmware (Jaroslav Kysela) [2003613] - ASoC: SOF: control: fix a typo in put operations for kcontrol (Jaroslav Kysela) [2003613] - ASoC: rt5682s: Add driver for ALC5682I-VS codec (Jaroslav Kysela) [2003613] - ASoC: SOF: core: allow module parameter to override dma trace Kconfig (Jaroslav Kysela) [2003613] - ASoC: soc-topology: Move template info print soc_tplg_dapm_widget_create() (Jaroslav Kysela) [2003613] - ASoC: amd: acp: declare and add prefix to 'bt_uart_enable' symbol (Jaroslav Kysela) [2003613] - ASoC: cs35l41: CS35L41 Boosted Smart Amplifier (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: tag SoundWire BEs as non-atomic (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: Fix CONFIG_SND_SOC_SDW_MOCKUP select (Jaroslav Kysela) [2003613] - ASoC: rt5682: fix headset background noise when S3 state (Jaroslav Kysela) [2003613] - ASoC: Revert PCM trigger changes (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: test refcount before triggering (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: protect BE dailink state changes in trigger (Jaroslav Kysela) [2003613] - ASoC: dwc: Get IRQ optionally (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix the vol+ button detection issue (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Make rt5640_jack_gpio/rt5640_jack2_gpio static (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: remove duplicate include (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: move common ATOM stuff to module (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: byt: prepare split between Baytrail and Merrifield (Jaroslav Kysela) [2003613] - ASoC: rt1015: remove possible unused variable `bclk_ms' (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Mark hp_elitepad_1000g2_jack?_check functions static (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Select first entry for singular pipe config arrays (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Properly configure modules with generic extension (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Support modules with generic extension (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Support multiple format configs (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Simplify m_state for loadable modules (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix passing loadable flag for module (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix module configuration for KPB and MIXER (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Fix module resource and format selection (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Select proper format for NHLT blob (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: Leave data as is when invoking TLV IPCs (Jaroslav Kysela) [2003613] - ASoC: Intel: kbl_da7219_max98927: Fix format selection for max98373 (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Revert PCM buffer address setup workaround again (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for HP Elite Pad 1000G2 jack-detect (Jaroslav Kysela) [2003613] - ASoC: Intel: bytct_rt5640: Add a separate "Headset Mic 2" DAPM pin for the mic on the 2nd jack (Jaroslav Kysela) [2003613] - ASoC: rt5640: Add rt5640_set_ovcd_params() helper (Jaroslav Kysela) [2003613] - ASoC: rt5640: Add optional hp_det_gpio parameter to rt5640_detect_headset() (Jaroslav Kysela) [2003613] - ASoC: rt5640: Delay requesting IRQ until the machine-drv calls set_jack (Jaroslav Kysela) [2003613] - ASoC: rt5640: Move rt5640_disable_jack_detect() up in the rt5640.c file (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Fix breakage for PCM buffer address setup (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Use cfg-lineout:2 in the components string (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Fix incorrect usage of of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Fix incorrect usage of of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: i2s: Use of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Use of_device_get_match_data (Jaroslav Kysela) [2003613] - ASoC: soc-ac97: cleanup cppcheck warning (Jaroslav Kysela) [2003613] - ASoC: soc-component: cleanup cppcheck warning at snd_soc_pcm_component_pm_runtime_get() (Jaroslav Kysela) [2003613] - ASoC: soc-jack: cleanup cppcheck warning for CONFIG_GPIOLIB (Jaroslav Kysela) [2003613] - ASoC: soc-jack: cleanup cppcheck warning at snd_soc_jack_report() (Jaroslav Kysela) [2003613] - ASoC: soc-dai: cleanup cppcheck warning at snd_soc_pcm_dai_new() (Jaroslav Kysela) [2003613] - ASoC: soc-dai: cleanup cppcheck warning at snd_soc_dai_link_set_capabilities() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_copy_user() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_new() (Jaroslav Kysela) [2003613] - ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_hw_params() (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw_rt711*: keep codec device reference until remove (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: pass card information to init/exit functions (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: get codec device with ACPI instead of bus search (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: handle errors with acpi_dev_get_first_match_dev() (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: harden codec property handling (Jaroslav Kysela) [2003613] - ASoC: rt5682: Remove unused variable in rt5682_i2c_remove() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: make DMI L1 selection more robust (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: simplify logic for DMI_L1 handling (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-stream: remove always true condition (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Kconfig: clarify DMI L1 option description (Jaroslav Kysela) [2003613] - ASoC: rt5682: Properly turn off regulators if wrong device ID (Jaroslav Kysela) [2003613] - ASoC: rt5682: Implement remove callback (Jaroslav Kysela) [2003613] - ASoC: rt5682: Disable irq on shutdown (Jaroslav Kysela) [2003613] - ASoC: rt5682: Adjust headset volume button threshold again (Jaroslav Kysela) [2003613] - ASoC: Intel: Fix platform ID matching (Jaroslav Kysela) [2003613] - ASoC: rt1015p: add new acpi id and comapatible id (Jaroslav Kysela) [2003613] - ASoC: max98390: Add support change dsm param name (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Update module authors (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Assume 24-bit samples are in 32-bit slots (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Validate dai_set_sysclk() frequency (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add PLL configuration for 44.1kHz/16-bit (Jaroslav Kysela) [2003613] - ASoC: rt5640: Silence warning message about missing interrupt (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix mono playback (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Constrain sample rate to prevent illegal SCLK (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix LRCLK frame start edge (Jaroslav Kysela) [2003613] - ASoC: cs42l42: PLL must be running when changing MCLK_SRC_SEL (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for set_jack calls (Jaroslav Kysela) [2003613] - ASoC: mt6359-accdet.c: remove useless assignments (Jaroslav Kysela) [2003613] - ASoC: max98090: remove duplicate status reads and useless assignmment (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at soc_dapm_dai_stream_event() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_new_controls() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_weak_routes() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_add_routes() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at snd_soc_dapm_del_route() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_seq_run() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_seq_check_event() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_new_dai_link() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_new_pga() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_set_mixer_path_status() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_connect_mux() (Jaroslav Kysela) [2003613] - ASoC: soc-dapm: cleanup cppcheck warning at dapm_wcache_lookup() (Jaroslav Kysela) [2003613] - ASoC: amd: vangogh: Drop superfluous mmap callback (Jaroslav Kysela) [2003613] - ASoC: sprd: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: qcom: qdsp6: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: mpc5200: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl_dma: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl_asrc_dma: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: tegra: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: fsl: imx-pcm-fiq: Use managed buffer allocation (Jaroslav Kysela) [2003613] - ASoC: bcm: Use managed PCM buffer allocation (Jaroslav Kysela) [2003613] - ALSA: pxa2xx: Use managed PCM buffer allocation (Jaroslav Kysela) [2003613] - ASoC: rt5514: make array div static const, makes object smaller (Jaroslav Kysela) [2003613] - ASoC: codecs: ad193x: add support for 96kHz and 192kHz playback rates (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_put_xr_sx() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_get_xr_sx() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_limit_volume() (Jaroslav Kysela) [2003613] - ASoC: soc-ops: cleanup cppcheck warning at snd_soc_put_volsw_sx() (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw_max98373: remove useless inits (Jaroslav Kysela) [2003613] - ASoC: Intel: update sof_pcm512x quirks (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Remove duplicate control for WNF filter frequency (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix inversion of ADC Notch Switch control (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda-ipc: fix reply size checking (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Kconfig: fix SoundWire dependencies (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Fix HP ElitePad 1000 G2 quirk (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for a second headset mic input (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add support for a second headphones output (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add a byt_rt5640_get_codec_dai() helper (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Add line-out support (Jaroslav Kysela) [2003613] - ASoC: Intel: bytcr_rt5640: Move "Platform Clock" routes to the maps for the matching in-/output (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: add snd_sof_dsp_check_sdw_irq ops (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: move sof_intel_dsp_desc() forward (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: hda: remove HDA_DSP_REG_SNDW_WAKE_STS definition (Jaroslav Kysela) [2003613] - ASoC: SOF: intel: add sdw_shim/alh_base to sof_intel_dsp_desc (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at snd_soc_find_dai_link() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_kcontrol_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_dapm_widget_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_dai_elems_load() (Jaroslav Kysela) [2003613] - ASoC: soc-topology: cleanup cppcheck warning at soc_tplg_process_headers() (Jaroslav Kysela) [2003613] - ASoC: amd: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - soundwire: add flag to ignore all command/control for mockup devices (Jaroslav Kysela) [2003613] - ASoC: nau8824: Fix open coded prefix handling (Jaroslav Kysela) [2003613] - ASoC: uniphier: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: xilinx: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: intel: atom: Fix reference to PCM buffer address (Jaroslav Kysela) [2003613] - ASoC: intel: skylake: Drop superfluous mmap callback (Jaroslav Kysela) [2003613] - ASoC: amd: Drop superfluous mmap callbacks (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix bclk calculation for mono (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Don't allow SND_SOC_DAIFMT_LEFT_J (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct definition of ADC Volume control (Jaroslav Kysela) [2003613] - ASoC: v253_init: eliminate pointer to string (Jaroslav Kysela) [2003613] - ASoC: samsung: Constify static snd_soc_ops (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_of_parse_audio_routing() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_of_parse_audio_simple_widgets() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_add_controls() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_unregister_component() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_daifmt_parse_format() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_get_dai_name() (Jaroslav Kysela) [2003613] - ASoC: soc-core: cleanup cppcheck warning at snd_soc_set_dmi_name() (Jaroslav Kysela) [2003613] - ASoC: Intel: Fix spelling contraction "cant" -> "can't" (Jaroslav Kysela) [2003613] - ASoC: component: Remove misplaced prefix handling in pin control functions (Jaroslav Kysela) [2003613] - ASoC: amd: fix an IS_ERR() vs NULL bug in probe (Jaroslav Kysela) [2003613] - ASoC: rt5682: enable SAR ADC power saving mode during suspend (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at dpcm_runtime_setup_be_chan() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at dpcm_be_is_active() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_get_playback_capture() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_pcm_components_close() (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: cleanup cppcheck warning at soc_pcm_apply_msb() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: enforce exclusion between HDaudio and SoundWire (Jaroslav Kysela) [2003613] - ASoC: topology: Select SND_DYNAMIC_MINORS (Jaroslav Kysela) [2003613] - ASoC: rt1015: Remove unnecessary flush work on rt1015 driver (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_da7219_mx98360a: fail to initialize soundcard (Jaroslav Kysela) [2003613] - ASoC: amd: Use dev_probe_err helper (Jaroslav Kysela) [2003613] - ASoC: amd: Don't show messages about deferred probing by default (Jaroslav Kysela) [2003613] - ASoC: amd: enable stop_dma_first flag for cz_dai_7219_98357 dai link (Jaroslav Kysela) [2003613] - ASoC: amd: enable vangogh acp5x driver build (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s dma driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh pci driver pm ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s dai driver ops (Jaroslav Kysela) [2003613] - ASoC: amd: add vangogh i2s controller driver (Jaroslav Kysela) [2003613] - ASoC: amd: add ACP5x pcm dma driver ops (Jaroslav Kysela) [2003613] - ASoC: amd: irq handler changes for ACP5x PCM dma driver (Jaroslav Kysela) [2003613] - ASoC: amd: add ACP5x PCM platform driver (Jaroslav Kysela) [2003613] - ASoC: amd: create acp5x platform devices (Jaroslav Kysela) [2003613] - ASoc: amd: add acp5x init/de-init functions (Jaroslav Kysela) [2003613] - ASoC: amd: add Vangogh ACP PCI driver (Jaroslav Kysela) [2003613] - ASoC: amd: add Vangogh ACP5x IP register header (Jaroslav Kysela) [2003613] - ASoC: amd: renoir: Run hibernation callbacks (Jaroslav Kysela) [2003613] - ASoC: rt5682: Adjust headset volume button threshold (Jaroslav Kysela) [2003613] - ASOC: Intel: sof_sdw: add quirk for Intel 'Bishop County' NUC M15 (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix the issue of garbled recording after powerd_dbus_suspend (Jaroslav Kysela) [2003613] - ASoC: amd: reverse stop sequence for stoneyridge platform (Jaroslav Kysela) [2003613] - ASoC: soc-pcm: add a flag to reverse the stop sequence (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: sof_sdw: add SoundWire mockup codecs for tests (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: tgl: add table for SoundWire mockup devices (Jaroslav Kysela) [2003613] - ASoC: soc-acpi: cnl: add table for SoundWire mockup devices (Jaroslav Kysela) [2003613] - ASoC: codecs: add SoundWire mockup device support (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: update quirk for jack detection in ADL RVP (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: extends SOF_RT711_JDSRC to 4 bits (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: code refactor for max98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: code refactor for max98357a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: Enable Bluetooth offload on tgl and adl (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: add support for jsl_cs4242_mx98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: maxim-common: support max98360a (Jaroslav Kysela) [2003613] - ASoC: Intel: maxim-common: support max98357a (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: support arbitrary DAI link sequence (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Update ADL descriptor to use ACPI power states (Jaroslav Kysela) [2003613] - ASoC: rt5631: Fix regcache sync errors on resume (Jaroslav Kysela) [2003613] - ASoC: amd: fix spelling mistakes (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: use helper function to get bclk frequency (Jaroslav Kysela) [2003613] - ASoC: SOF: add a helper to get topology configured bclk (Jaroslav Kysela) [2003613] - ASoC: tegra: Use ADMAIF component for DMA allocations (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: fix xrun issue on platform with max98373 (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra: mark runtime-pm functions as __maybe_unused (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Remove handing of disabled runtime PM (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Correct suspend-resume callbacks (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Reset global variable (Jaroslav Kysela) [2003613] - ASoC: tegra30: ahub: Switch to use reset-bulk API (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Reset hardware properly (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Use clk_bulk helpers (Jaroslav Kysela) [2003613] - ASoC: tegra: ahub: Add missing resets (Jaroslav Kysela) [2003613] - ASoC: tegra: tegra210_admaif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra20: spdif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra20: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: simple-card: Fill in driver name (Jaroslav Kysela) [2003613] - ASoC: SOF: imx: Add missing of_node_put() in imx8_probe() (Jaroslav Kysela) [2003613] - ASoC: Intel: skl_hda_dsp_generic: Update Kconfig documentation (Jaroslav Kysela) [2003613] - ASoC: Intel: use MODULE_DEVICE_TABLE with platform_device_id tables (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add ull suffix for SoundWire _ADR values (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: fix signed/unsigned warning (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_da7219_max98373: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: glk_rt5682_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_rt5682: shrink platform_id names below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: remove hdac-hdmi support (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: use mach data for ADL RVP DMIC count (Jaroslav Kysela) [2003613] - ASoC: tegra: Fix a NULL vs IS_ERR() check (Jaroslav Kysela) [2003613] - ASoC: rt711: add two jack detection modes (Jaroslav Kysela) [2003613] - ASoC: samsung: s3c24xx-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: s3c2412-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: pcm: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: samsung: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: soc-core: remove snd_soc_of_parse_daifmt() (Jaroslav Kysela) [2003613] - ASoC: simple-card-utils: switch to use snd_soc_daifmt_parse_format/clock_provider() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_parse_format/clock_provider() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_clock_provider_fliped() (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_daifmt_clock_provider_from_bitmap() (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt711-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: rt700-sdw: fix race condition on system suspend (Jaroslav Kysela) [2003613] - ASoC: fsi: fix spelling mistake (Jaroslav Kysela) [2003613] - ASoC: Intel: bdw-rt5677: remove unnecessary oom message (Jaroslav Kysela) [2003613] - ASoC: spear: spdif_out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: sprd: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing() (Jaroslav Kysela) [2003613] - ASoC: sti: sti_uniperif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: spdifrx: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: sai: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: stm32: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: make hdmi_codec_controls static (Jaroslav Kysela) [2003613] - ASoC: rockchip: spdif: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: rockchip: pdm: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK (Jaroslav Kysela) [2003613] - ASoC: hisilicon: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: jz4740-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-spdif-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-spdif-in: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-parallel-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-i2s-out: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: img-i2s-in: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: dwc: dwc-i2s: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ASoC: tegra: Squash utils into common machine driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Specify components string for each card (Jaroslav Kysela) [2003613] - ASoC: tegra: Unify ASoC machine drivers (Jaroslav Kysela) [2003613] - ASoC: tegra: SND_SOC_TEGRA_AUDIO_GRAPH_CARD should depend on SND_SOC_TEGRA (Jaroslav Kysela) [2003613] - ASoC: tegra20-spdif: remove "default m" (Jaroslav Kysela) [2003613] - ASoC: tegra: Add audio graph based card driver (Jaroslav Kysela) [2003613] - ASoC: tegra: Set driver_name=tegra for all machine drivers (Jaroslav Kysela) [2003613] - ASoC: rt5640: Make codec selectable (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Add a prepare hook (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Add iec958 controls (Jaroslav Kysela) [2003613] - ASoC: rt5645: Avoid upgrading static warnings to errors (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: Rework to support more controls (Jaroslav Kysela) [2003613] - ASoC: soc-core: don't use discriminatory terms on snd_soc_runtime_get_dai_fmt() (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca: handle mbq_regmap in rt711_sdca_io_init (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: add readable for SDW_SDCA_CTL() registers (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: set regcache_cache_only false before reading RT5682_DEVICE_ID (Jaroslav Kysela) [2003613] - ASoC: rt5682: Fix a problem with error handling in the io init function of the soundwire (Jaroslav Kysela) [2003613] - ASoC: rt715-sdca: fix clock stop prepare timeout issue (Jaroslav Kysela) [2003613] - ASoC: rt715-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt715-sdca-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt711-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt711-sdca-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt700-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt5682-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt1316-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: rt1308-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: max98373-sdw: use first_hw_init flag on resume (Jaroslav Kysela) [2003613] - ASoC: max98373-sdw: add missing memory allocation check (Jaroslav Kysela) [2003613] - ASoC: hdmi-codec: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: fsi: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: pcm3168a: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: ak4613: add .auto_selectable_formats support (Jaroslav Kysela) [2003613] - ASoC: soc-core: add snd_soc_runtime_get_dai_fmt() (Jaroslav Kysela) [2003613] - ASoC: soc-core: move snd_soc_runtime_set_dai_fmt() to upside (Jaroslav Kysela) [2003613] - ASoC: Intel: Skylake: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - mfd: arizona: Allow building arizona MFD-core as module (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: pci-tgl: add ADL-M support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: don't print ROM status if cl_dsp_init() fails (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: clean up hda_dsp_dump() (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: Constify sof_probe_compressed_ops (Jaroslav Kysela) [2003613] - ASoC: wm5110: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: wm5102: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: cs47125: Constify static struct snd_compress_ops (Jaroslav Kysela) [2003613] - ASoC: cs42l52: use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: cs35l3x: Use neutral language in amp drivers (Jaroslav Kysela) [2003613] - ASoC: cs43130: Use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - ASoC: wm8962: Use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: cs42l56: use DEVICE_ATTR_WO macro (Jaroslav Kysela) [2003613] - ASoC: tlv320aic26: use DEVICE_ATTR_RW macro (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Check jack status before reporting button events (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for 2400000 Bit clock (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Add support for 2304000 Bit clock (Jaroslav Kysela) [2003613] - ASoC: cs42l42: Fix 1536000 Bit Clock instability (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: remove .nonatomic for BE dailinks (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_sdw: add support for Bluetooth offload (Jaroslav Kysela) [2003613] - ASoC: Intel: common: Add entries for sdw codecs in ADL match table (Jaroslav Kysela) [2003613] - ASoC: Intel: soc-acpi: add entries for i2s machines in ADL match table (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: Remove conditions against CONFIG_PCI (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: don't return void value (Jaroslav Kysela) [2003613] - ASoC: SOF: topology: fix assignment to use le32_to_cpu (Jaroslav Kysela) [2003613] - ASoC: SOF: loader: Use snd_sof_dsp_block_read() instead sof_block_read() (Jaroslav Kysela) [2003613] - ASoC: SOF: ops: print out the polling register (Jaroslav Kysela) [2003613] - ASoC: SOF: pci: No need to cast second time to save the desc (Jaroslav Kysela) [2003613] - ASoC: SOF: Check desc->ops directly in acpi/pci/of probe functions (Jaroslav Kysela) [2003613] - ASoC: topology: Fix using uninitialized pointer (Jaroslav Kysela) [2003613] - ASoC: soc-dai: fix up hw params only if it is needed (Jaroslav Kysela) [2003613] - ASoC: soc-core: use DEVICE_ATTR_RO macro (Jaroslav Kysela) [2003613] - ASoC: topology: Add support for multiple kcontrol types to a widget (Jaroslav Kysela) [2003613] - ASoC: intel/boards: add missing MODULE_DEVICE_TABLE (Jaroslav Kysela) [2003613] - ASoC: cs43130: handle errors in cs43130_probe() properly (Jaroslav Kysela) [2003613] - Revert "ASoC: cs43130: fix a NULL pointer dereference" (Jaroslav Kysela) [2003613] - ASoC: cs42l42: make HSBIAS_SENSE_EN optional (Jaroslav Kysela) [2003613] - ASoC: wm2200: remove include of wmfw.h (Jaroslav Kysela) [2003613] - ASoC: wm_adsp: mark more data structures with the const qualifier (Jaroslav Kysela) [2003613] - ASoC: Intel: bxt_da7219_max98357a: shrink platform_id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: sof_cs42l42: shrink platform id below 20 characters (Jaroslav Kysela) [2003613] - ASoC: Intel: add sof-cs42l42 machine driver (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: create sof-maxim-common module (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: handle hda-dsp-common as a module (Jaroslav Kysela) [2003613] - ASoC: Intel: boards: add support for adl boards in sof-rt5682 (Jaroslav Kysela) [2003613] - ASoC: Intel: Boards: tgl_max98373: Add BT offload support (Jaroslav Kysela) [2003613] - ASoC: SOF: Intel: hda: fix index used in inner loop (Jaroslav Kysela) [2003613] - ALSA: fireworks: add support for Loud Onyx 1200f quirk (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU Track 16 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU Traveler mk3 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: remove TODO for interaction with userspace about control message (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: export meter information to userspace as float value (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: refine parser for meter information in register DSP models (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix null pointer dereference when polling hwdep character device (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: notify event for parameter change in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: queue event for parameter change in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add ioctl command to read cached parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for input parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for line input parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for output parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for mixer output parameters in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: parse messages for mixer source parameters in register-DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add ioctl command to read cached hardware meter (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add message parser for meter information in command DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add message parser to gather meter information in register DSP model (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix truncated bytes in message tracepoints (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix transmission method for Loud models based on OXFW971 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 896HD (Jaroslav Kysela) [2003613] - ALSA: oxfw: fix functioal regression for silence in Apogee Duet FireWire (Jaroslav Kysela) [2003613] - ALSA: bebob: correct duplicated entries with TerraTec OUI (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix register handling for 896 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix register handling for 828 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro instead of magic number for clock source in v3 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for source detection of sampling clock in v3 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for packet format detection in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro instead of magic number for clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for AES/EBU clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: code refactoring for detection of clock source in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix detection for S/PDIF source on optical interface in v2 protocol (Jaroslav Kysela) [2003613] - ALSA: bebob: add support for ToneWeal FW66 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix rx packet format at higher rate for MOTU 828 mk3 Hybrid (Jaroslav Kysela) [2003613] - ALSA: bebob: fix rx packet format for Yamaha GO44/GO46, Terratec Phase 24/x24 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix stream format for MOTU 8pre FireWire (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 896 (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for MOTU 828 (Jaroslav Kysela) [2003613] - ALSA: bebob: Fix bit flag quirk constants (Jaroslav Kysela) [2003613] - ALSA: firewire: fill Kconfig with entries for devices based on DICE ASICs (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entries for Phonic Helix Board and FireFly series (Jaroslav Kysela) [2003613] - ALSA: bebob: code refactoring for M-Audio models (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entry for Acoustic Reality eAR Master One, Eroica, Figaro, and Ciaccona (Jaroslav Kysela) [2003613] - ALSA: bebob: correct device entry for Mackie D.2 FireWire option card (Jaroslav Kysela) [2003613] - ALSA: fireworks: fulfil device entries (Jaroslav Kysela) [2003613] - ALSA: bebob: fulfil device entries (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: replace in_interrupt() with in_softirq() (Jaroslav Kysela) [2003613] - ALSA: bebob: code refactoring for model-dependent quirks (Jaroslav Kysela) [2003613] - ALSA: bebob: delete workaround for protocol version 3 (Jaroslav Kysela) [2003613] - ALSA: bebob: dismiss sleep after breaking connections (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: obsolete workqueue for period update (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: operate for period elapse event in process context (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: delete unused kernel API (Jaroslav Kysela) [2003613] - ALSA: fireface: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-tascam: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-digi00x: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: dice: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: oxfw: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: fireworks: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: bebob: cease from delayed card registration (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: add support for hybrid model of MOTU Ultralite mk3 (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: remove useless operations for kernel preemption (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: fix error codes for allocation failure (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: fix error return code in snd_motu_stream_reserve_duplex() (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: sequence replay for source packet header (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: cache event ticks in source packet header per data block (Jaroslav Kysela) [2003613] - ALSA: firewire-motu: use macro for magic numbers relevant to IEC 61883-1 (Jaroslav Kysela) [2003613] - ALSA: bebob: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: dice: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: dice: wait just for NOTIFY_CLOCK_ACCEPTED after GLOBAL_CLOCK_SELECT operation (Jaroslav Kysela) [2003613] - ALSA: fireface: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: firewire-tascam: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: firewire-digi00x: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: oxfw: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: fireworks: perform sequence replay for media clock recovery (Jaroslav Kysela) [2003613] - ALSA: fireworks: delete SYTMATCH clock source (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: support NO_PERIOD_WAKEUP in ALSA PCM runtime (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: transfer rx packets on-the-fly when replaying (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: replay sequence of incoming packets for outgoing packets (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: add replay target to cache sequence of packet (Jaroslav Kysela) [2003613] - ALSA: bebob: distinguish M-Audio ProFire Lightbridge quirk (Jaroslav Kysela) [2003613] - ALSA: bebob: cancel switching connection order (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: obsolete callbacked member (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: drop initial NODATA or empty packet (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for transfer delay (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of data block sequence (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of syt sequence (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for generation of packet descriptors (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: pool sequence of packet in IT context independently (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: add flag to unaware of syt in CIP header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: Fix uninitialized variable err issue (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: change waking up timing to process packets (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: start processing content of packet at the same cycle in several IT contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring to start several IT/IR contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: skip initial packets instead of scheduling IR context (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: start processing content of packet at the same cycle in several IR contexts (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for selection of IT context header length (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for calculation of context payload (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for size of CIP header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: insert descriptor for skipped cycle (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: check cycle continuity (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for check of CIP header about payload size (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for parser of IR context header (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for helper function to compute OHCI 1394 cycle (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for sequence descriptor' (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: handle the case that empty isochronous packet payload for CIP (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring to refer the same frame count per period in domain structure (Jaroslav Kysela) [2003613] - ALSA: oxfw: add quirk flag for blocking transmission method (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for wrong_dbs quirk (Jaroslav Kysela) [2003613] - ALSA: firewire-lib: code refactoring for jumbo payload quirk (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for jumbo-payload quirk in OXFW970 (Jaroslav Kysela) [2003613] - ALSA: oxfw: add comment for the type of ASICs (Jaroslav Kysela) [2003613] - ALSA: oxfw: add explicit device entry for Loud Technologies Mackie Onyx Sattelite (Jaroslav Kysela) [2003613] - ALSA: oxfw: add explicit device entry for Loud Technologies Tapco Link.FireWire 4x6 (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring to detect mackie models (Jaroslav Kysela) [2003613] - ALSA: oxfw: code refactoring for existent device entry with specifier_id and version (Jaroslav Kysela) [2003613] - ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant (Jaroslav Kysela) [2003613] - Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro" (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Disable silent stream on GLK (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add new alc285-hp-amp-init model (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P (Jaroslav Kysela) [2003613] - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver (Jaroslav Kysela) [2003613] - ALSA: ctxfi: Fix out-of-range access (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 (Jaroslav Kysela) [2003613] - ALSA: cmipci: Drop stale variable assignment (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 (Jaroslav Kysela) [2003613] - ALSA: hda: fix general protection fault in azx_runtime_idle (Jaroslav Kysela) [2003613] - ALSA: hda: Free card instance properly at probe errors (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for ASUS UX550VE (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo PC70HS (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 (Jaroslav Kysela) [2003613] - ALSA: ISA: not for M68K (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fixes HP Spectre x360 15-eb1xxx speakers (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo PC50HS (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo 13s Gen2 (Jaroslav Kysela) [2003613] - ALSA: hda: intel: Allow repeatedly probing on codec configuration errors (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for TongFang PHxTxX1 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - ALC236 headset MIC recording issue (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add quirk for Clevo X170KM-G (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Complete partial device name to avoid ambiguity (Jaroslav Kysela) [2003613] - ALSA: hda - Enable headphone mic on Dell Latitude laptops with ALC3254 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Enable 4-speaker output for Dell Precision 5560 laptop (Jaroslav Kysela) [2003613] - ALSA: hda: Use position buffer for SKL+ again (Jaroslav Kysela) [2003613] - ALSA: hda: Reduce udelay() at SKL+ position reporting (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Setup Dolphin Headset Mic as Phantom Jack (Jaroslav Kysela) [2003613] - ALSA: pcxhr: "fix" PCXHR_REG_TO_PORT definition (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Quirks to enable speaker output for Lenovo Legion 7i 15IMHG05, Yoga 7i 14ITL5/15ITL5, and 13s Gen2 laptops. (Jaroslav Kysela) [2003613] - Revert "ALSA: hda: Drop workaround for a hang at shutdown again" (Jaroslav Kysela) [2003613] - ALSA: vx222: fix null-ptr-deref (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Initialize Codec only in init fixup. (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Ensure Type Detection is only run on startup when necessary (Jaroslav Kysela) [2003613] - ALSA: hda: Disable runtime resume at shutdown (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup (Jaroslav Kysela) [2003613] - ALSA: hda: Code refactoring snd_hda_pick_fixup() (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Workaround for conflicting SSID on ASUS ROG Strix G17 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Limit mic boost on HP ProBook 445 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/analog - Sink ad198x_shutup() and shuffle CONFIG_PM guards (Jaroslav Kysela) [2003613] - ALSA: hda/sigmatel - Sink stac_shutup() into stac_suspend() (Jaroslav Kysela) [2003613] - ALSA: hda: Drop workaround for a hang at shutdown again (Jaroslav Kysela) [2003613] - ALSA: hda/via: Apply runtime PM workaround for ASUS B23E (Jaroslav Kysela) [2003613] - ALSA: hda: Fix hang during shutdown due to link reset (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9510 laptop (Jaroslav Kysela) [2003613] - ALSA: hda: Nuke unused reboot_notify callback (Jaroslav Kysela) [2003613] - ALSA: hda: Suspend codec at shutdown (Jaroslav Kysela) [2003613] - ALSA: hda: conexant: Turn off EAPD at suspend, too (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Prevent pops and clicks during suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Remove unnecessary delays (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Add support for dolphin (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol events (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Move codec properties to its own struct (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Support i2c bulk read/write functions (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Avoid re-setting the same page as the last access (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Avoid setting the same I2C address for every access (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Generalize volume controls (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Prevent I2C access during suspend time (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Simplify CS42L42 jack detect. (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Mask CS42L42 wake events (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unsolicited response for the first boot (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unsolicited responses during suspend (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Use enums for register names and coefficients (Jaroslav Kysela) [2003613] - ALSA: hda/cs8409: Move arrays of configuration to a new file (Jaroslav Kysela) [2003613] - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module (Jaroslav Kysela) [2003613] - ALSA: hda - fix the 'Capture Switch' value change notifications (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 650 G8 Notebook PC (Jaroslav Kysela) [2003613] - ALSA: pci: cs46xx: Fix set up buffer type properly (Jaroslav Kysela) [2003613] - ALSA: hda: Add quirk for ASUS Flow x13 (Jaroslav Kysela) [2003613] - ALSA: pci/korg1212: completely remove 'set but not used' warnings (Jaroslav Kysela) [2003613] - ALSA: pcxhr: use __func__ to get funcion's name in an output message (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: add mic quirk for Acer SF314-42 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix headset mic for Acer SWIFT SF314-56 (ALC256) (Jaroslav Kysela) [2003613] - ALSA: korg1212: Fix wrongly shuffled firmware loader code (Jaroslav Kysela) [2003613] - ALSA: als300: Fix missing chip initialization (Jaroslav Kysela) [2003613] - ALSA: cs4281: Fix missing chip initialization (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Add quirk to force pin connectivity on NUC10 (Jaroslav Kysela) [2003613] - ALSA: nm256: Fix error return code in snd_nm256_create() (Jaroslav Kysela) [2003613] - ALSA: ymfpci: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: vx222: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: trident: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: pci: rme: Fix unaligned buffer addresses (Jaroslav Kysela) [2003613] - ALSA: pci: rme: Set up buffer type properly (Jaroslav Kysela) [2003613] - ALSA: rme9652: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme9652: don't disable if not enabled (Jaroslav Kysela) [2003613] - ALSA: hdspm: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hdspm: don't disable if not enabled (Jaroslav Kysela) [2003613] - ALSA: hdspm: Fix fall-through warnings for Clang (Jaroslav Kysela) [2003613] - ALSA: hdsp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: riptide: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: riptide: Replace tasklet with threaded irq (Jaroslav Kysela) [2003613] - ALSA: riptide: convert tasklets to use new tasklet_setup() API (Jaroslav Kysela) [2003613] - ALSA: oxygen: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: nm256: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: lx6464es: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: lola: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: korg1212: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1724: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ali5451: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1724: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ice1712: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: emu10k1x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: emu10k1: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: echoaudio: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs5535audio: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs46xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ca0106: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: aw2: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: au88x0: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ali5451: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: via82xx: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sonicvibes: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: sis7019: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme96: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: rme32: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: maestro3: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: fm801: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es1968: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: es1938: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ens137x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs5530: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cs4281: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: cmipci: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: bt87x: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: azt3328: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als4000: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: als300: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: ad1889: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hda: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: atiixp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix pop noise and 2 Front Mic issues on a machine (Jaroslav Kysela) [2003613] - ALSA: hdmi: Expose all pins on MSI MS-7C94 board (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Skip ac97 clock measurement on VM (Jaroslav Kysela) [2003613] - ALSA: hda/hdmi: Add option to enable all pins forcibly (Jaroslav Kysela) [2003613] - ALSA: ice1724: Remove superfluous loop over model table (Jaroslav Kysela) [2003613] - ALSA: hda/ca0132: remove redundant initialization of variable status (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Fix breakage at ac97 clock measurement (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute led of the HP Pavilion 15-eh1xxx series (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add ALC285 HP init procedure (Jaroslav Kysela) [2003613] - ALSA: hda/realtek - Add type for ALC287 (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC (Jaroslav Kysela) [2003613] - ALSA: hda: Release codec display power during shutdown/reboot (Jaroslav Kysela) [2003613] - ALSA: hda: Release controller display power during shutdown/reboot (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too (Jaroslav Kysela) [2003613] - ALSA: hdsp: fix a test for copy_to_user() failure (Jaroslav Kysela) [2003613] - ALSA: hda: Add IRQ check for platform_get_irq() (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Add another ALC236 variant support (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook x360 830 G8 (Jaroslav Kysela) [2003613] - ALSA: hda/tegra: Use devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [2003613] - ALSA: trident: Fix build error (Jaroslav Kysela) [2003613] - ALSA: trident: Drop shadow TLB pointer table (Jaroslav Kysela) [2003613] - ALSA: ymfpci: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx222: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: trident: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme9652: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hdsp: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: riptide: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: pcxhr: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: nm256: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: mixart: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: korg1212: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ice1712: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: emu10k1x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: emu10k1: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: echoaudio: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs5535audio: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs46xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ca0106: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: au88x0: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ac97: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: via82xx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: sonicvibes: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme96: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: rme32: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: maestro3: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: intel8x0: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: fm801: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1968: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: es1938: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ens137x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cs4281: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: cmipci: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: bt87x: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: azt3328: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: atiixp: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als4000: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: als300: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ak4531: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: ad1889: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: hda/realtek: Change device names for quirks to barebone names (Jaroslav Kysela) [2003613] - ALSA: hda/ca0132: Make a const array static, makes object smaller (Jaroslav Kysela) [2003613] - ALSA: pci: lx6464es: remove useless self-comparison (Jaroslav Kysela) [2003613] - ALSA: drivers: opl3: Fix incorrect use of vp->state (Jaroslav Kysela) [2003613] - ALSA: pcsp: Make hrtimer forwarding more robust (Jaroslav Kysela) [2003613] - ALSA: pcsp: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: dummy: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: aloop: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: mpu401: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: serial-u16550: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: mtpav: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: virmidi: Allocate resources with device-managed APIs (Jaroslav Kysela) [2003613] - ALSA: vx: Manage vx_core object with devres (Jaroslav Kysela) [2003613] - ALSA: aloop: Fix spelling mistake "synchronization" -> "synchronization" (Jaroslav Kysela) [2003613] - ALSA: serial: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: opl3: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: vx: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: mpu401: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: drivers: opl3: fix useless self-comparison (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 (Jaroslav Kysela) [2003613] - ALSA: hda: intel-sdw-acpi: harden detection of controller (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: hda: avoid write to STATESTS if controller is in reset (Jaroslav Kysela) [2003613] - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 codec (Jaroslav Kysela) [2003613] - ALSA: hda: hdac_ext_stream: fix potential locking issues (Jaroslav Kysela) [2003613] - ALSA: hda: hdac_stream: fix potential locking issue in snd_hdac_stream_assign() (Jaroslav Kysela) [2003613] - ALSA: hda: intel-dsp-cfg: add missing ElkhartLake PCI ID (Jaroslav Kysela) [2003613] - ALSA: usb-audio: usx2y - use GFP_NOIO flag (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Reorder snd_djm_devices[] entries (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Don't start stream for capture at prepare (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Switch back to non-latency mode at a later point (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk for Audient iD14 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 (Jaroslav Kysela) [2003613] - ALSA: ua101: fix division by zero at probe (Jaroslav Kysela) [2003613] - ALSA: line6: fix control and interrupt message timeouts (Jaroslav Kysela) [2003613] - ALSA: 6fire: fix control and bulk message timeouts (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix microphone sound on Jieli webcam. (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Initialize every feature unit once at probe time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Drop superfluous error message after disconnection (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Downgrade error message in get_ctl_value_v2() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: add Schiit Hel device to quirk table (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk for VF0770 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Less restriction for low-latency playback mode (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Pass JOINT_DUPLEX info flag for implicit fb streams (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Enable rate validation for Scarlett devices (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix packet size calculation regression (Jaroslav Kysela) [2003613] - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and UFX1604 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Avoid killing in-flight URBs during draining (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Improved lowlatency playback support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add spinlock to stop_urbs() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Check available frames for the next packet size (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Disable low-latency playback for free-wheel mode (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix possible race at sync of urb completions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Restrict rates for the shared clocks (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix a missing error check in scarlett gen2 mixer (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix comment reference in __uac_clock_find_source (Jaroslav Kysela) [2003613] - ALSA: usx2y: Prefer struct_size over open coded arithmetic (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Unify mixer resume and reset_resume procedure (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 800 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add lowlatency module option (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Work around for XRUN with low latency playback (Jaroslav Kysela) [2003613] - ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move set-interface-first workaround into common quirk (Jaroslav Kysela) [2003613] - ALSA: doc: Fix indentation warning (Jaroslav Kysela) [2003613] - ALSA: hda: Update documentation for aliasing via the model option (Jaroslav Kysela) [2003613] - ALSA: doc: Add the description of quirk_flags option for snd-usb-audio (Jaroslav Kysela) [2003613] - ALSA: doc: Fix reference to mixart.rst (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Update the documentation for the new delayed_register option (Jaroslav Kysela) [2003613] - ALSA: hda - Update descriptions about new position_fix values (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix regression on Sony WALKMAN NW-A45 DAC (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Input source control - digidesign mbox (Jaroslav Kysela) [2003613] - ALSA: usb-audio: make array static const, makes object smaller (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add quirk_flags module option (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move generic DSD raw detection into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move ignore_ctl_error check into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move autosuspend quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move rate validation quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move interface setup delay into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move control message delay quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move ITF-USB DSD quirk handling into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move clock setup quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move playback_first flag into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move tx_length quirk handling to quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move txfr_quirk handling to quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Move media-controller API quirk into quirk_flags (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Introduce quirk_flags field (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Avoid unnecessary or invalid connector selection at resume (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum 600 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix superfluous autosuspend recovery (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix incorrect clock source setting (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix line out/speaker switching notifications (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Correct channel mute status after mute button pressed (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix Direct Monitor control name for 2i2 (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix Mute/Dim/MSD Mode control names (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add registration quirk for JBL Quantum headsets (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add missing proc text entry for BESPOKEN type (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Reduce latency at playback start, take#2 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: usx2y: fix spelling mistakes (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix for loop increment in scarlett2_usb_get_config (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix scarlett2_*_ctl_put() return values again (Jaroslav Kysela) [2003613] - ALSA: scarlett2: Fix pad count for 18i8 Gen 3 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for the talkback feature (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update get_config to do endian conversion (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add speaker switching support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update mux controls to allow updates (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add sw_hw_ctls and mux_ctls (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Split up sw_hw_enum_ctl_put() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Label 18i8 Gen 3 line outputs correctly (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add direct monitor support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add phantom power switch support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add "air" switch support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for Solo and 2i2 Gen 3 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Allow bit-level access to config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Move get config above set config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add Gen 3 MSD mode switch (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add support for "input-other" notify (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add Gen 3 mixer support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix wrong resume call (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix Level Meter control (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Split struct scarlett2_ports (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Allow arbitrary ordering of mux entries (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add mute support (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add scarlett2_vol_ctl_write() helper (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove repeated device info comments (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Move info lookup out of init function (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Improve device info lookup (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Reformat scarlett2_config_items[] (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Merge common line in capture strings (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add "Sync Status" control (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Always enable interrupt polling (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix 6i6 Gen 2 line out descriptions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Update initialisation sequence (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add usb_tx/rx functions (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix OOB access at proc output (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove hard-coded USB #defines (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Don't copy struct scarlett2_config (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix union usage in mixer control callbacks (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix data_mutex lock (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Add temp variable for consistency (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Rename struct scarlett2_mixer_data (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Rename buttons/interrupts/vol (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove redundant info->button_count (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove interrupt debug message (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove unused/useless code (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Coding style improvements (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Fix 18i8 Gen 2 PCM Input count (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Remove incorrect S/PDIF comment (Jaroslav Kysela) [2003613] - ALSA: usb-audio: fix rate on Ozone Z90 USB headset (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Add support for Denon DN-X1600 (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Read mux at init time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: scarlett2: Read mixer volumes at init time (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Factor out DSD bitrev copy function (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Refactoring delay account code (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Pre-calculate buffer byte size (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Make snd_usb_pcm_delay() static (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Remove the repeated declaration (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Fix uninitialized variable at __uac_clock_find_source() (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Handle error for the current selector gracefully (Jaroslav Kysela) [2003613] - ALSA: usb-audio: Refactoring UAC2/3 clock setup code (Jaroslav Kysela) [2003613] - ALSA: usx2y: Nuke pcm_list (Jaroslav Kysela) [2003613] - ALSA: usx2y: Cleanup probe and disconnect callbacks (Jaroslav Kysela) [2003613] - ALSA: usx2y: Don't call free_pages_exact() with NULL address (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix shmem initialization (Jaroslav Kysela) [2003613] - ALSA: usxy2: Fix potential doubly allocations (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix potential memory leaks (Jaroslav Kysela) [2003613] - ALSA: usx2y: Avoid self-killing (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix potential leaks of uninitialized memory (Jaroslav Kysela) [2003613] - ALSA: usx2y: Coding style fixes (Jaroslav Kysela) [2003613] - ALSA: usx2y: Fix spaces (Jaroslav Kysela) [2003613] - ALSA: usx2y: Avoid camelCase (Jaroslav Kysela) [2003613] - module: remove never implemented MODULE_SUPPORTED_DEVICE (Jaroslav Kysela) [2003613] - ALSA: pcm: Allow exact buffer preallocation (Jaroslav Kysela) [2003613] - ALSA: core: Add device-managed request_dma() (Jaroslav Kysela) [2003613] - ALSA: core: use DEVICE_ATTR_*() macro (Jaroslav Kysela) [2003613] - ALSA: core: Fix double calls of snd_card_free() via devres (Jaroslav Kysela) [2003613] - ALSA: core: Add managed card creation (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap without buffer preallocation (Jaroslav Kysela) [2003613] - ALSA: pcm: Call substream ack() method upon compat mmap commit (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap breakage without explicit buffer setup (Jaroslav Kysela) [2003613] - ALSA: pcm - fix mmap capability check for the snd-dummy driver (Jaroslav Kysela) [2003613] - ALSA: pcm: fix divide error in snd_pcm_lib_ioctl (Jaroslav Kysela) [2003613] - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer (Jaroslav Kysela) [2003613] - ALSA: memalloc: Remove a stale comment (Jaroslav Kysela) [2003613] - ALSA: memalloc: Use proper SG helpers for noncontig allocations (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix a typo in snd_dma_buffer_sync() description (Jaroslav Kysela) [2003613] - ALSA: PCM: Fix NULL dereference at mmap checks (Jaroslav Kysela) [2003613] - ALSA: pcm: Check mmap capability of runtime dma buffer at first (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix mmap capability check (Jaroslav Kysela) [2003613] - ALSA: pcm: use krealloc_array() (Jaroslav Kysela) [2003613] - ALSA: pcm: Add SNDRV_PCM_INFO_EXPLICIT_SYNC flag (Jaroslav Kysela) [2003613] - ALSA: pcm: Add more disconnection checks at file ops (Jaroslav Kysela) [2003613] - mm: don't include asm/pgtable.h if linux/mm.h is already included (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix mmap of SG-buffer with WC pages (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support for non-coherent page allocation (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support for non-contiguous page allocation (Jaroslav Kysela) [2003613] - ALSA: pcm: Unify snd_pcm_delay() and snd_pcm_hwsync() (Jaroslav Kysela) [2003613] - ALSA: core: Fix build error due to missing PAGE_SIZE (Jaroslav Kysela) [2003613] - ALSA: pcm: Workaround for a wrong offset in SYNC_PTR compat ioctl (Jaroslav Kysela) [2003613] - ALSA: memalloc: Count continuous pages in vmalloc buffer handler (Jaroslav Kysela) [2003613] - ALSA: memalloc: Store snd_dma_buffer.addr for continuous pages, too (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix pgprot for WC mmap on x86 (Jaroslav Kysela) [2003613] - ALSA: memalloc: Support WC allocation on all architectures (Jaroslav Kysela) [2003613] - ALSA: memalloc: Correctly name as WC (Jaroslav Kysela) [2003613] - ALSA: memalloc: Minor refactoring (Jaroslav Kysela) [2003613] - ALSA: memalloc: Fix regression with SNDRV_DMA_TYPE_CONTINUOUS (Jaroslav Kysela) [2003613] - ALSA: core: Add device-managed page allocator helper (Jaroslav Kysela) [2003613] - ALSA: core: Add continuous and vmalloc mmap ops (Jaroslav Kysela) [2003613] - ALSA: core: Move mmap handler into memalloc ops (Jaroslav Kysela) [2003613] - ALSA: core: Abstract memory alloc helpers (Jaroslav Kysela) [2003613] - ALSA: pcm: add snd_pcm_period_elapsed() variant without acquiring lock of PCM substream (Jaroslav Kysela) [2003613] - ALSA: pcm: Block the release until the system resume finishes (Jaroslav Kysela) [2003613] - ALSA: Drop superfluous argument from snd_power_wait() (Jaroslav Kysela) [2003613] - ALSA: pcm: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: Drop snd_sgbuf_get_ptr() (Jaroslav Kysela) [2003613] - ALSA: jack: Check the return value of kstrdup() (Jaroslav Kysela) [2003613] - ALSA: seq: oss: Fix error check at system port creation (Jaroslav Kysela) [2003613] - ALSA: seq: Fix comments of wrong client number for MIDI Passthrough (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Limit the period size to 16MB (Jaroslav Kysela) [2003613] - ALSA: pcm: oss: Fix negative period/buffer sizes (Jaroslav Kysela) [2003613] - ALSA: iec958: Split status creation and fill (Jaroslav Kysela) [2003613] - ALSA: rawmidi - fix the uninitalized user_pversion (Jaroslav Kysela) [2003613] - ALSA: rawmidi: introduce SNDRV_RAWMIDI_IOCTL_USER_PVERSION (Jaroslav Kysela) [2003613] - ALSA: rawmidi: fix incorrect array bounds check on clock_names (Jaroslav Kysela) [2003613] - ALSA: rawmidi: Add framing mode (Jaroslav Kysela) [2003613] - ALSA: seq: Fix racy deletion of subscriber (Jaroslav Kysela) [2003613] - ALSA: seq: Fix a potential UAF by wrong private_free call order (Jaroslav Kysela) [2003613] - ALSA: seq: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: timer: Unconditionally unlink slave instances, too (Jaroslav Kysela) [2003613] - ALSA: timer: Fix use-after-free problem (Jaroslav Kysela) [2003613] - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume (Jaroslav Kysela) [2003613] - ALSA: mixer: oss: Fix racy access to slots (Jaroslav Kysela) [2003613] - ALSA: oss: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: Fix assignment in if condition (Jaroslav Kysela) [2003613] - ALSA: core: control_led: use strscpy instead of strlcpy (Jaroslav Kysela) [2003613] - ALSA: control_led - use DEVICE_ATTR_*() macro (Jaroslav Kysela) [2003613] - ALSA: ctl: Fix copy of updated id with element read/write (Jaroslav Kysela) [2003613] - ALSA: compress: Initialize mutex in snd_compress_new() (Jaroslav Kysela) [2003613] - ALSA: control: Minor optimization for SNDRV_CTL_IOCTL_POWER_STATE (Jaroslav Kysela) [2003613] - ALSA: control: Drop superfluous snd_power_wait() calls (Jaroslav Kysela) [2003613] - ALSA: control: Track in-flight control read/write/tlv accesses (Jaroslav Kysela) [2003613] - ALSA: compress: Drop unused functions (Jaroslav Kysela) [2003613] - regmap: sdw-mbq: use MODULE_LICENSE("GPL") (Jaroslav Kysela) [2003613] - regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ (Jaroslav Kysela) [2003613] - regmap: sdw: use _no_pm functions in regmap_read/write (Jaroslav Kysela) [2003613] - soundwire: stream: Fix test for DP prepare complete (Jaroslav Kysela) [2003613] - soundwire/ASoC: add leading zeroes in peripheral device name (Jaroslav Kysela) [2003613] - soundwire: bandwidth allocation: improve error messages (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: remove duplicate initialization (Jaroslav Kysela) [2003613] - soundwire: cadence: remove the repeated declaration (Jaroslav Kysela) [2003613] - soundwire: bus: stop dereferencing invalid slave pointer (Jaroslav Kysela) [2003613] - soundwire: bus: add missing \n in dynamic debug (Jaroslav Kysela) [2003613] - soundwire: bus: handle -ENODATA errors in clock stop/start sequences (Jaroslav Kysela) [2003613] - soundwire: qcom: add debugfs entry for soundwire register dump (Jaroslav Kysela) [2003613] - soundwire: debugfs: use controller id and link_id for debugfs (Jaroslav Kysela) [2003613] - soundwire: cadence: do not extend reset delay (Jaroslav Kysela) [2003613] - soundwire: intel: conditionally exit clock stop mode on system suspend (Jaroslav Kysela) [2003613] - soundwire: intel: skip suspend/resume/wake when link was not started (Jaroslav Kysela) [2003613] - soundwire: intel: fix potential race condition during power down (Jaroslav Kysela) [2003613] - soundwire: intel: introduce shim and alh base (Jaroslav Kysela) [2003613] - soundwire: move intel sdw register definitions to sdw_intel.h (Jaroslav Kysela) [2003613] - soundwire: cadence: override PDI configurations to create loopback (Jaroslav Kysela) [2003613] - soundwire: cadence: add debugfs interface for PDI loopbacks (Jaroslav Kysela) [2003613] - soundwire: stream: don't program mockup device ports (Jaroslav Kysela) [2003613] - soundwire: bus: squelch error returned by mockup devices (Jaroslav Kysela) [2003613] - soundwire: stream: don't abort bank switch on Command_Ignored/-ENODATA (Jaroslav Kysela) [2003613] - soundwire: cadence: add paranoid check on self-clearing bits (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: add quirk for Intel 'Bishop County' NUC M15 (Jaroslav Kysela) [2003613] - soundwire: bus: update Slave status in sdw_clear_slave_status (Jaroslav Kysela) [2003613] - soundwire: cadence: Remove ret variable from sdw_cdns_irq() (Jaroslav Kysela) [2003613] - soundwire: bus: filter out more -EDATA errors on clock stop (Jaroslav Kysela) [2003613] - soundwire: dmi-quirks: add ull suffix for SoundWire _ADR values (Jaroslav Kysela) [2003613] - soundwire: export sdw_update() and sdw_update_no_pm() (Jaroslav Kysela) [2003613] - soundwire: bus: Make sdw_nwrite() data pointer argument const (Jaroslav Kysela) [2003613] - soundwire: intel: move to auxiliary bus (Jaroslav Kysela) [2003613] - soundwire: add missing kernel-doc description (Jaroslav Kysela) [2003613] - soundwire: cadence_master: always set CMD_ACCEPT (Jaroslav Kysela) [2003613] - soundwire: bus: only use CLOCK_STOP_MODE0 and fix confusions (Jaroslav Kysela) [2003613] - software node: Handle software node injection to an existing device properly (Mark Langsdorf) [2032600] - software node: Allow node addition to already existing device (Mark Langsdorf) [2032600] - driver core: clear deferred probe reason on probe retry (Mark Langsdorf) [2032600] - driver core: add deferring probe reason to devices_deferred property (Mark Langsdorf) [2032600] - driver core: Fix locking bug in deferred_probe_timeout_work_func() (Mark Langsdorf) [2032600] - PM: runtime: Fix race getting/putting suppliers at probe (Mark Langsdorf) [2032600] - PM: runtime: Fix ordering in pm_runtime_get_suppliers() (Mark Langsdorf) [2032600] - PM: runtime: Defer suspending suppliers (Mark Langsdorf) [2032600] - software node: Fix device_add_software_node() (Mark Langsdorf) [2032600] - software node: Fix node registration (Mark Langsdorf) [2032600] - drivers/base/memory: don't store phys_device in memory blocks (Mark Langsdorf) [2032600] - arch_numa: fix common code printing of phys_addr_t (Mark Langsdorf) [2032600] - driver core: platform: Drop of_device_node_put() wrapper (Mark Langsdorf) [2032600] - regmap: sdw-mbq: use MODULE_LICENSE("GPL") (Mark Langsdorf) [2032600] - regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ (Mark Langsdorf) [2032600] - regmap: sdw: use _no_pm functions in regmap_read/write (Mark Langsdorf) [2032600] - PM: domains: Mark fwnodes when their powerdomain is added/removed (Mark Langsdorf) [2032600] - driver core: fw_devlink: Handle suppliers that don't use driver core (Mark Langsdorf) [2032600] - driver core: Add fw_devlink.strict kernel param (Mark Langsdorf) [2032600] - driver core: platform: Emit a warning if a remove callback returned non-zero (Mark Langsdorf) [2032600] - PM: domains: Simplify the calculation of variables (Mark Langsdorf) [2032600] - PM: sleep: Use dev_printk() when possible (Mark Langsdorf) [2032600] - media: software_node: Add support for fwnode_graph*() family of functions (Mark Langsdorf) [2032600] - media: software_node: unregister software_nodes in reverse order (Mark Langsdorf) [2032600] - media: software_node: Enforce parent before child ordering of nodes arrays (Mark Langsdorf) [2032600] - media: device property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary (Mark Langsdorf) [2032600] - media: device property: Return true in fwnode_device_is_available for NULL ops (Mark Langsdorf) [2032600] - media: software_node: Fix refcounts in software_node_get_next_child() (Mark Langsdorf) [2032600] - PM: domains: Add "performance" column to debug summary (Mark Langsdorf) [2032600] - PM: domains: Make of_genpd_add_subdomain() return -EPROBE_DEFER (Mark Langsdorf) [2032600] - PM: domains: Make set_performance_state() callback optional (Mark Langsdorf) [2032600] - PM: domains: use device's next wakeup to determine domain idle state (Mark Langsdorf) [2032600] - PM: domains: inform PM domain of a device's next wakeup (Mark Langsdorf) [2032600] - PM: runtime: Fix resposible -> responsible in runtime.c (Mark Langsdorf) [2032600] - PM: domains: Restore comment indentation for generic_pm_domain.child_links (Mark Langsdorf) [2032600] - PM: domains: Fix up terminology with parent/child (Mark Langsdorf) [2032600] - regmap: Assign boolean values to a bool variable (Mark Langsdorf) [2032600] - software node: Introduce device_add_software_node() (Mark Langsdorf) [2032600] - numa: Move numa implementation to common code (Mark Langsdorf) [2032600] - arm64, numa: Change the numa init functions name to be generic (Mark Langsdorf) [2032600] - driver core: fw_devlink_relax_cycle() can be static (Mark Langsdorf) [2032600] - driver core: Handle cycles in device links created by fw_devlink (Mark Langsdorf) [2032600] - driver core: Have fw_devlink use DL_FLAG_INFERRED (Mark Langsdorf) [2032600] - driver core: Add device link support for INFERRED flag (Mark Langsdorf) [2032600] - drivers: base: Kconfig: fix spelling mistake "heterogenous" -> "heterogeneous" (Mark Langsdorf) [2032600] - driver core: Add debug logs for device link related probe deferrals (Mark Langsdorf) [2032600] - drivers: base: remove unused function find_bus() (Mark Langsdorf) [2032600] - PM: runtime: Drop runtime PM references to supplier on link removal (Mark Langsdorf) [2032600] - dmaengine: idxd: Add wq occupancy information to sysfs attribute (Julia Denham) [1971887] - vdpa/mlx5: Forward only packets with allowed MAC address (Cindy Lu) [2031595] - vdpa/mlx5: Support configuration of MAC (Cindy Lu) [2031595] - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit (Cindy Lu) [2031595] - vdpa_sim_net: Enable user to set mac address and mtu (Cindy Lu) [2031595] - vdpa: Enable user to set mac and mtu of vdpa device (Cindy Lu) [2031595] - vdpa: Use kernel coding style for structure comments (Cindy Lu) [2031595] - vdpa: Introduce query of device config layout (Cindy Lu) [2031595] - vdpa: Introduce and use vdpa device get, set config helpers (Cindy Lu) [2031595] - vdpa/mlx5: Propagate link status from device to vdpa driver (Cindy Lu) [2031595] - vdpa/mlx5: Rename control VQ workqueue to vdpa wq (Cindy Lu) [2031595] - vdpa/mlx5: Remove mtu field from vdpa net device (Cindy Lu) [2031595] - eni_vdpa: add vDPA driver for Alibaba ENI (Cindy Lu) [2031595] - vdpa: add new attribute VDPA_ATTR_DEV_MIN_VQ_SIZE (Cindy Lu) [2031595] - virtio_vdpa: setup correct vq size with callbacks get_vq_num_{max,min} (Cindy Lu) [2031595] - vdpa: min vq num of vdpa device cannot be greater than max vq num (Cindy Lu) [2031595] - vdpa: add new callback get_vq_num_min in vdpa_config_ops (Cindy Lu) [2031595] - vp_vdpa: add vq irq offloading support (Cindy Lu) [2031595] - vdpa: fix typo (Cindy Lu) [2031595] - vhost-vdpa: Fix the wrong input in config_cb (Cindy Lu) [2031595] - vhost_vdpa: unset vq irq before freeing irq (Cindy Lu) [2031595] - vdpa: potential uninitialized return in vhost_vdpa_va_map() (Cindy Lu) [2031595] - vdpa/mlx5: Avoid executing set_vq_ready() if device is reset (Cindy Lu) [2031595] - vdpa/mlx5: Clear ready indication for control VQ (Cindy Lu) [2031595] - vdpa: Support transferring virtual addressing during DMA mapping (Cindy Lu) [2031595] - vdpa: factor out vhost_vdpa_pa_map() and vhost_vdpa_pa_unmap() (Cindy Lu) [2031595] - vdpa: Add an opaque pointer for vdpa_config_ops.dma_map() (Cindy Lu) [2031595] - vhost-iotlb: Add an opaque pointer for vhost IOTLB (Cindy Lu) [2031595] - vhost-vdpa: Handle the failure of vdpa_reset() (Cindy Lu) [2031595] - vdpa: Add reset callback in vdpa_config_ops (Cindy Lu) [2031595] - vdpa: Fix some coding style issues (Cindy Lu) [2031595] - vdpa: Make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro (Cindy Lu) [2031595] - vdpa_sim: Use iova_shift() for the size passed to alloc_iova() (Cindy Lu) [2031595] - vdpa/mlx5: Add multiqueue support (Cindy Lu) [2031595] - vdpa/mlx5: Add support for control VQ and MAC setting (Cindy Lu) [2031595] - vdpa/mlx5: Ensure valid indices are provided (Cindy Lu) [2031595] - vdpa/mlx5: Decouple virtqueue callback from struct mlx5_vdpa_virtqueue (Cindy Lu) [2031595] - vdpa/mlx5: function prototype modifications in preparation to control VQ (Cindy Lu) [2031595] - vdpa/mlx5: Remove redundant header file inclusion (Cindy Lu) [2031595] - vDPA/ifcvf: enable multiqueue and control vq (Cindy Lu) [2031595] - vDPA/ifcvf: detect and use the onboard number of queues directly (Cindy Lu) [2031595] - vDPA/ifcvf: implement management netlink framework for ifcvf (Cindy Lu) [2031595] - vDPA/ifcvf: introduce get_dev_type() which returns virtio dev id (Cindy Lu) [2031595] - vdpa/mlx5: Fix queue type selection logic (Cindy Lu) [2031595] - vdpa/mlx5: Avoid destroying MR on empty iotlb (Cindy Lu) [2031595] - virtio_vdpa: reject invalid vq indices (Cindy Lu) [2031595] - vdpa: Add documentation for vdpa_alloc_device() macro (Cindy Lu) [2031595] - vDPA/ifcvf: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vp_vdpa: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vdpa_sim: Fix return value check for vdpa_alloc_device() (Cindy Lu) [2031595] - vhost: Fix the calculation in vhost_overflow() (Cindy Lu) [2031595] - vhost-vdpa: Fix integer overflow in vhost_vdpa_process_iotlb_update() (Cindy Lu) [2031595] - iommu/vt-d: Fix unmap_pages support (Jerry Snitselaar) [2027765] - dm sysfs: use default_groups in kobj_type (Benjamin Marzinski) [2047358] - dm space map common: add bounds check to sm_ll_lookup_bitmap() (Benjamin Marzinski) [2047358] - dm btree: add a defensive bounds check to insert_at() (Benjamin Marzinski) [2047358] - dm btree remove: change a bunch of BUG_ON() calls to proper errors (Benjamin Marzinski) [2047358] - dm btree spine: eliminate duplicate le32_to_cpu() in node_check() (Benjamin Marzinski) [2047358] - dm btree spine: remove extra node_check function declaration (Benjamin Marzinski) [2047358] - selftests/bpf: Adding delay in socketmap_listen to reduce flakyness (Felix Maurer) [2026433] - net: openvswitch: Fix ct_state nat flags for conns arriving from tc (Marcelo Ricardo Leitner) [2040334] - net: openvswitch: Fix matching zone id for invalid conns arriving from tc (Marcelo Ricardo Leitner) [2040452] - net/sched: flow_dissector: Fix matching on zone id for invalid conns (Marcelo Ricardo Leitner) [2040452] - net/sched: Extend qdisc control block with tc control block (Marcelo Ricardo Leitner) [2040452] - mm: Fix an use-after-free error in mm_struct (Waiman Long) [2046161] - rh_flags: Rename rh_features to rh_flags (Prarit Bhargava) [2021700] - redhat: add initial rpminspect configuration (Augusto Caringi)- can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF (Balazs Nemeth) [2026692] - drm/vmwgfx: Fix stale file descriptors on failed usercopy (Dave Airlie) [2047602] {CVE-2022-22942} - drm/i915: Flush TLBs before releasing backing store (Dave Airlie) [2044329] {CVE-2022-0330} - [s390] s390/pci: move pseudo-MMIO to prevent MIO overlap (Mete Durlu) [2047757] - [s390] scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP devices (Mete Durlu) [2048919] - tun: fix bonding active backup with arp monitoring (Jonathan Toppins) [2024964] - x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi() (Vitaly Kuznetsov) [2044237] - xfs: check sb_meta_uuid for dabuf buffer recovery (Bill O'Donnell) [2020764] - vfs: fs_context: fix up param length parsing in legacy_parse_param (Carlos Maiolino) [2040586] {CVE-2022-0185} - KVM: nVMX: Allow VMREAD when Enlightened VMCS is in use (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Implement evmcs_field_offset() suitable for handle_vmread() (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Rename vmcs_to_field_offset{,_table} (Vitaly Kuznetsov) [2012105] - KVM: nVMX: eVMCS: Filter out VM_EXIT_SAVE_VMX_PREEMPTION_TIMER (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Also filter MSR_IA32_VMX_TRUE_PINBASED_CTLS when eVMCS (Vitaly Kuznetsov) [2012105] - KVM: nVMX: Use INVALID_GPA for pointers used in nVMX. (Vitaly Kuznetsov) [2012105] - x86/kvm: Always inline evmcs_write64() (Vitaly Kuznetsov) [2012105] - powerpc/powernv: Remove POWER9 PVR version check for entry and uaccess flushes (Diego Domingos) [2030954] - powerpc/pesries: Get STF barrier requirement from H_GET_CPU_CHARACTERISTICS (Diego Domingos) [2030954] - powerpc/security: Add a security feature for STF barrier (Diego Domingos) [2030954] - powerpc/pseries: Get entry and uaccess flush required bits from H_GET_CPU_CHARACTERISTICS (Diego Domingos) [2030954] - drm/nouveau/disp/dp: add support for eDP link rates (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for hbr3 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for lttprs (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: fixup cr/eq delays for 1.4 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: add support for tps4 (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: generate supported link rates table at detect time (Ben Skeggs) [2043523] - drm/nouveau/disp/dp: explicitly control scrambling when setting pattern (Ben Skeggs) [2043523] - drm/nouveau/disp: remove some remnant of a rework (Ben Skeggs) [2043523] - drm/nouveau: recognise GA106 (Ben Skeggs) [2043523] - redhat/scripts: Update merge-subtrees.sh (Prarit Bhargava)- pinctrl: amd: Fix wakeups when IRQ is shared with SCI (Renjith Pananchikkal) [2039124] - bonding: fix ad_actor_system option setting to default (Jonathan Toppins) [2042564 1931881] - bonding: make tx_rebalance_counter an atomic (Jonathan Toppins) [2042564] - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed (Jonathan Toppins) [2042564] - bonding: 3ad: pass parameter bond_params by reference (Jonathan Toppins) [2042564] - bonding: complain about missing route only once for A/B ARP probes (Jonathan Toppins) [2042564] - bonding: improve nl error msg when device can't be enslaved because of IFF_MASTER (Jonathan Toppins) [2042564] - bonding: combine netlink and console error messages (Jonathan Toppins) [2042564] - bonding: add new option lacp_active (Jonathan Toppins) [2042564] - bonding: 3ad: fix the concurrency between __bond_release_one() and bond_3ad_state_machine_handler() (Jonathan Toppins) [2042564] - bonding: fix build issue (Jonathan Toppins) [2042564] - bonding: fix incorrect return value of bond_ipsec_offload_ok() (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_offload_ok() (Jonathan Toppins) [2042564] - bonding: Add struct bond_ipesc to manage SA (Jonathan Toppins) [2042564] - bonding: disallow setting nested bonding + ipsec offload (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_del_sa() (Jonathan Toppins) [2042564] - bonding: fix null dereference in bond_ipsec_add_sa() (Jonathan Toppins) [2042564] - bonding: fix suspicious RCU usage in bond_ipsec_add_sa() (Jonathan Toppins) [2042564] - net: bonding: Use per-cpu rr_tx_counter (Jonathan Toppins) [2042564] - bonding: remove redundant initialization of variable ret (Jonathan Toppins) [2042564] - net: bonding: Use strscpy_pad() instead of manually-truncated strncpy() (Jonathan Toppins) [2042564] - bonding: init notify_work earlier to avoid uninitialized use (Jonathan Toppins) [2042564] - bonding: 3ad: Fix the conflict between bond_update_slave_arr and the state machine (Jonathan Toppins) [2042564] - scsi: lpfc: Update lpfc version to 14.0.0.4 (Dick Kennedy) [2034276] - scsi: lpfc: Add additional debugfs support for CMF (Dick Kennedy) [2034276] - scsi: lpfc: Cap CMF read bytes to MBPI (Dick Kennedy) [2034276] - scsi: lpfc: Adjust CMF total bytes and rxmonitor (Dick Kennedy) [2034276] - scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup (Dick Kennedy) [2034276] - scsi: lpfc: Fix NPIV port deletion crash (Dick Kennedy) [2034276] - scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance (Dick Kennedy) [2034276] - scsi: lpfc: Change return code on I/Os received during link bounce (Dick Kennedy) [2034276] - scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV (Dick Kennedy) [2034276] - ppp: ensure minimum packet size in ppp_write() (Guillaume Nault) [2042937] - KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock (Marcelo Tosatti) [2034126] - configs: Enable CONFIG_THINKPAD_LMI on x86_64 (Mark Pearson) [2030772] - platform/x86: think-lmi: Abort probe on analyze failure (Mark Pearson) [2030772] - platform/x86: think-lmi: add debug_cmd (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix possible mem-leaks on tlmi_analyze() error-exit (Mark Pearson) [2030772] - platform/x86: think-lmi: Split kobject_init() and kobject_add() calls (Mark Pearson) [2030772] - platform/x86: think-lmi: Move pending_reboot_attr to the attributes sysfs dir (Mark Pearson) [2030772] - platform/x86: think-lmi: Add pending_reboot support (Mark Pearson) [2030772] - platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release() (Mark Pearson) [2030772] - platform/x86: think-lmi: Split current_value to reflect only the value (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix issues with duplicate attributes (Mark Pearson) [2030772] - platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string (Mark Pearson) [2030772] - platform/x86: think-lmi: Add missing MODULE_DEVICE_TABLE (Mark Pearson) [2030772] - platform/x86: think-lmi: Avoid potential read before start of the buffer (Mark Pearson) [2030772] - platform/x86: think-lmi: Fix check for admin password being set (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman/think-lmi: Make fw_attr_class global static (Mark Pearson) [2030772] - platform/x86: thinkpad-lmi: Remove unused display_name member from struct tlmi_pwd_setting (Mark Pearson) [2030772] - platform/x86: think-lmi: Add WMI interface support on Lenovo platforms (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman: fw_attr_inuse can be static (Mark Pearson) [2030772] - platform/x86: dell-wmi-sysman: Use firmware_attributes_class helper (Mark Pearson) [2030772] - platform/x86: firmware_attributes_class: Create helper file for handling firmware-attributes class registration events (Mark Pearson) [2030772] - x86/apic: Handle missing global clockevent gracefully (Lenny Szubowicz) [2033197] - RDMA/core: Don't infoleak GRH fields (Kamal Heib) [2036597] - RDMA/uverbs: Check for null return of kmalloc_array (Kamal Heib) [2036597] - RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string (Kamal Heib) [2036597] - RDMA/rw: switch to dma_map_sgtable() (Kamal Heib) [2036597] - RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests (Kamal Heib) [2036597] - RDMA/cma: Fix listener leak in rdma_cma_listen_on_all() failure (Kamal Heib) [2036597] - RDMA/iwcm: Release resources if iw_cm module initialization fails (Kamal Heib) [2036597] - net: Set true network header for ECN decapsulation (Antoine Tenart) [2045059] - powerpc/bpf: Update ldimm64 instructions during extra pass (Yauheni Kaliuta) [2035973] - selftests: bpf: Fix bind on used port (Felix Maurer) [2025795] - bpf/selftests: Fix namespace mount setup in tc_redirect (Jiri Olsa) [2036016] - selftests/bpf: Fix possible/online index mismatch in perf_buffer test (Yauheni Kaliuta) [2039602] - selftests/bpf: Fix perf_buffer test on system with offline cpus (Yauheni Kaliuta) [2039602] - tracing: Tag trace_percpu_buffer as a percpu pointer (Jerome Marchand) [2031604] - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() (Jerome Marchand) [2031604] - hwmon: (k10temp) Support up to 12 CCDs on AMD Family of processors (David Arcari) [2022539] - hwmon: (k10temp) Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh (David Arcari) [2022539] - hwmon: (k10temp) Remove unused definitions (David Arcari) [2022539] - x86/amd_nb: Add AMD Family 19h Models (10h-1Fh) and (A0h-AFh) PCI IDs (David Arcari) [2022539] - hwmon: (k10temp) Remove residues of current and voltage (David Arcari) [2022539] - hwmon: (k10temp) Update driver documentation (David Arcari) [2022539] - hwmon: (k10temp) Update documentation and add temp2_input info (David Arcari) [2022539] - docs: hwmon: k10temp: convert to ReST format (David Arcari) [2022539] - mptcp: fix deadlock in __mptcp_push_pending() (Davide Caratti) [2043598] - mptcp: clear 'kern' flag from fallback sockets (Davide Caratti) [2043598] - mptcp: remove tcp ulp setsockopt support (Davide Caratti) [2043598] - mptcp: never allow the PM to close a listener subflow (Davide Caratti) [2043598]- redhat: set LC_ALL=C before sorting config content (Frantisek Hrbata) - net: mana: Add RX fencing (Mohammed Gamal) [2030132] - net: mana: Add XDP support (Mohammed Gamal) [2030132] - net: mana: Fix memory leak in mana_hwc_create_wq (Mohammed Gamal) [2030132] - net: mana: Fix spelling mistake "calledd" -> "called" (Mohammed Gamal) [2030132] - net: mana: Support hibernation and kexec (Mohammed Gamal) [2030132] - net: mana: Improve the HWC error handling (Mohammed Gamal) [2030132] - net: mana: Report OS info to the PF driver (Mohammed Gamal) [2030132] - net: mana: Fix the netdev_err()'s vPort argument in mana_init_port() (Mohammed Gamal) [2030132] - net: mana: Allow setting the number of queues while the NIC is down (Mohammed Gamal) [2030132] - net: stmmac: Add GFP_DMA32 for rx buffers if no 64 capability (Mark Salter) [1989540] - net: stmmac: Fix potential integer overflow (Mark Salter) [1989540] - net: stmmac: fix issue where clk is being unprepared twice (Mark Salter) [1989540] - net: stmmac: fix kernel panic due to NULL pointer dereference of mdio_bus_data (Mark Salter) [1989540] - net: stmmac: fix system hang if change mac address after interface ifdown (Mark Salter) [1989540] - net: stmmac: correct clocks enabled in stmmac_vlan_rx_kill_vid() (Mark Salter) [1989540] - net: remove the mutex_acquire from __lock_sock_fast (Xin Long) [2026612] - net: core: Correct the sock::sk_lock.owned lockdep annotations (Xin Long) [2026612] - inet: use bigger hash table for IP ID generation (Xin Long) [2039969] {CVE-2021-45486} - net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()" (Xin Long) [2039969] - net/mlx5: DR, Use FW API when updating FW-owned flow table (Michal Schmidt) [2042651] - ipv6: Continue processing multipath route even if gateway attribute is invalid (Hangbin Liu) [2041375] - ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route (Hangbin Liu) [2041375] - ipv6: Do cleanup if attribute validation fails in multipath route (Hangbin Liu) [2041375] - ipv6: Check attribute length for RTA_GATEWAY in multipath route (Hangbin Liu) [2041375] - rtw89: fix maybe-uninitialized error (Íñigo Huguet) [2033291] - rtw89: enable driver and device RTL8852AE (Íñigo Huguet) [2033291] - rtw89: fix maybe-uninitialized error (RHEL only) (Íñigo Huguet) [2033291] - rtw89: 8852a: correct bit definition of dfs_en (Íñigo Huguet) [2033291] - rtw89: coex: Update COEX to 5.5.8 (Íñigo Huguet) [2033291] - rtw89: coex: Cancel PS leaving while C2H comes (Íñigo Huguet) [2033291] - rtw89: coex: Update BT counters while receiving report (Íñigo Huguet) [2033291] - rtw89: coex: Define LPS state for BTC using (Íñigo Huguet) [2033291] - rtw89: coex: Add MAC API to get BT polluted counter (Íñigo Huguet) [2033291] - rtw89: coex: Not to send H2C when WL not ready and count H2C (Íñigo Huguet) [2033291] - rtw89: coex: correct C2H header length (Íñigo Huguet) [2033291] - rtw89: don't kick off TX DMA if failed to write skb (Íñigo Huguet) [2033291] - rtw89: remove cch_by_bw which is not used (Íñigo Huguet) [2033291] - rtw89: fix sending wrong rtwsta->mac_id to firmware to fill address CAM (Íñigo Huguet) [2033291] - rtw89: fix incorrect channel info during scan (Íñigo Huguet) [2033291] - rtw89: update scan_mac_addr during scanning period (Íñigo Huguet) [2033291] - rtw89: use inline function instead macro to set H2C and CAM (Íñigo Huguet) [2033291] - rtw89: add const in the cast of le32_get_bits() (Íñigo Huguet) [2033291] - rtw89: add AXIDMA and TX FIFO dump in mac_mem_dump (Íñigo Huguet) [2033291] - rtw89: fix potentially access out of range of RF register array (Íñigo Huguet) [2033291] - rtw89: remove unneeded variable (Íñigo Huguet) [2033291] - rtw89: remove unnecessary conditional operators (Íñigo Huguet) [2033291] - rtw89: update rtw89_regulatory map to R58-R31 (Íñigo Huguet) [2033291] - rtw89: update tx power limit/limit_ru tables to R54 (Íñigo Huguet) [2033291] - rtw89: update rtw89 regulation definition to R58-R31 (Íñigo Huguet) [2033291] - rtw89: fill regd field of limit/limit_ru tables by enum (Íñigo Huguet) [2033291] - rtw89: update partition size of firmware header on skb->data (Íñigo Huguet) [2033291] - rtw89: Fix variable dereferenced before check 'sta' (Íñigo Huguet) [2033291] - rtw89: fix return value in hfc_pub_cfg_chk (Íñigo Huguet) [2033291] - rtw89: remove duplicate register definitions (Íñigo Huguet) [2033291] - rtw89: fix error function parameter (Íñigo Huguet) [2033291] - rtw89: remove unneeded semicolon (Íñigo Huguet) [2033291] - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() (Íñigo Huguet) [2033291] - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf (Íñigo Huguet) [2033291] - rtw89: Fix two spelling mistakes in debug messages (Íñigo Huguet) [2033291] - rtw89: add Realtek 802.11ax driver (Íñigo Huguet) [2033291] - powerpc/doc: Fix htmldocs errors (Diego Domingos) [2004798] - pseries/drmem: update LMBs after LPM (Diego Domingos) [2004798] - powerpc/pseries: Add support for FORM2 associativity (Diego Domingos) [2004798] - powerpc/pseries: Add a helper for form1 cpu distance (Diego Domingos) [2004798] - powerpc/pseries: Consolidate different NUMA distance update code paths (Diego Domingos) [2004798] - powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY (Diego Domingos) [2004798] - powerpc/pseries: rename min_common_depth to primary_domain_index (Diego Domingos) [2004798] - powerpc/numa: Fix build when CONFIG_NUMA=n (Diego Domingos) [2004798] - pseries/hotplug-memory: hot-add: skip redundant LMB lookup (Diego Domingos) [2004798] - selftests: icmp_redirect: pass xfail=0 to log_test() (Hangbin Liu) [2041308] - selftests: net: Correct ping6 expected rc from 2 to 1 (Hangbin Liu) [2041308] - mt76: enable new device MT7921E (Íñigo Huguet) [2024056 1972045] - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit (Antoine Tenart) [2044254] - SUNRPC: prevent port reuse on transports which don't request it. (Benjamin Coddington) [2016646] - SUNRPC: Fix races when closing the socket (Benjamin Coddington) [2016646] - SUNRPC: Prevent immediate close+reconnect (Benjamin Coddington) [2016646] - SUNRPC: Clean up scheduling of autoclose (Benjamin Coddington) [2016646] - SUNRPC: Fix potential memory corruption (Benjamin Coddington) [2016646] - sunrpc: remove unnecessary test in rpc_task_set_client() (Benjamin Coddington) [2016646] - SUNRPC: Replace use of socket sk_callback_lock with sock_lock (Benjamin Coddington) [2016646] - arm64: numa: simplify dummy_numa_init() (Vitaly Kuznetsov) [2029774] - ACPI: NUMA: Process hotpluggable memblocks when !CONFIG_MEMORY_HOTPLUG (Vitaly Kuznetsov) [2029774] - s390/sclp: fix Secure-IPL facility detection (Stefan Schulze Frielinghaus) [2039182] - powerpc/pseries/mobility: ignore ibm, platform-facilities updates (Diego Domingos) [2031827] - of: Fix property name in of_node_get_device_type (Diego Domingos) [2031827] - of: Add device_type access helper functions (Diego Domingos) [2031827] - powerpc/watchdog: help remote CPUs to flush NMI printk output (Diego Domingos) [2030259] - powerpc/watchdog: Fix wd_smp_last_reset_tb reporting (Diego Domingos) [2030259] - powerpc/watchdog: read TB close to where it is used (Diego Domingos) [2030259] - powerpc/watchdog: Avoid holding wd_smp_lock over printk and smp_send_nmi_ipi (Diego Domingos) [2030259] - powerpc/watchdog: tighten non-atomic read-modify-write access (Diego Domingos) [2030259] - powerpc/watchdog: Fix missed watchdog reset due to memory ordering race (Diego Domingos) [2030259] - selftests/sgx: Fix corrupted cpuid macro invocation (Vladis Dronov) [1920030] - x86/sgx: Fix minor documentation issues (Vladis Dronov) [1920030] - selftests/sgx: Add test for multiple TCS entry (Vladis Dronov) [1920030] - selftests/sgx: Enable multiple thread support (Vladis Dronov) [1920030] - selftests/sgx: Add page permission and exception test (Vladis Dronov) [1920030] - selftests/sgx: Rename test properties in preparation for more enclave tests (Vladis Dronov) [1920030] - selftests/sgx: Provide per-op parameter structs for the test enclave (Vladis Dronov) [1920030] - selftests/sgx: Add a new kselftest: Unclobbered_vdso_oversubscribed (Vladis Dronov) [1920030] - selftests/sgx: Move setup_test_encl() to each TEST_F() (Vladis Dronov) [1920030] - selftests/sgx: Encpsulate the test enclave creation (Vladis Dronov) [1920030] - selftests/sgx: Dump segments and /proc/self/maps only on failure (Vladis Dronov) [1920030] - selftests/sgx: Create a heap for the test enclave (Vladis Dronov) [1920030] - selftests/sgx: Make data measurement for an enclave segment optional (Vladis Dronov) [1920030] - selftests/sgx: Assign source for each segment (Vladis Dronov) [1920030] - selftests/sgx: Fix a benign linker warning (Vladis Dronov) [1920030] - x86/sgx: Fix free page accounting (Vladis Dronov) [1920030] - x86/sgx: Add check for SGX pages to ghes_do_memory_failure() (Vladis Dronov) [1920030] - x86/sgx: Add hook to error injection address validation (Vladis Dronov) [1920030] - x86/sgx: Hook arch_memory_failure() into mainline code (Vladis Dronov) [1920030] - x86/sgx: Add SGX infrastructure to recover from poison (Vladis Dronov) [1920030] - x86/sgx: Initial poison handling for dirty and free pages (Vladis Dronov) [1920030] - x86/sgx: Add infrastructure to identify SGX EPC pages (Vladis Dronov) [1920030] - x86/sgx: Add new sgx_epc_page flag bit to mark free pages (Vladis Dronov) [1920030] - selftests/sgx: Fix Q1 and Q2 calculation in sigstruct.c (Vladis Dronov) [1920030] - selftests/sgx: remove checks for file execute permissions (Vladis Dronov) [1920030] - selftests/sgx: Refine the test enclave to have storage (Vladis Dronov) [1920030] - selftests/sgx: Add EXPECT_EEXIT() macro (Vladis Dronov) [1920030] - selftests/sgx: Dump enclave memory map (Vladis Dronov) [1920030] - selftests/sgx: Migrate to kselftest harness (Vladis Dronov) [1920030] - selftests/sgx: Rename 'eenter' and 'sgx_call_vdso' (Vladis Dronov) [1920030] - x86/sgx: Add missing xa_destroy() when virtual EPC is destroyed (Vladis Dronov) [1920030] - x86/sgx: Correct kernel-doc's arg name in sgx_encl_release() (Vladis Dronov) [1920030] - x86: Fix leftover comment typos (Vladis Dronov) [1920030] - mm,hwpoison: return -EHWPOISON to denote that the page has already been poisoned (Vladis Dronov) [1920030] - mm/memory-failure: use a mutex to avoid memory_failure() races (Vladis Dronov) [1920030] - mm,hwpoison: take free pages off the buddy freelists (Vladis Dronov) [1920030] - sched/fair: Consider SMT in ASYM_PACKING load balance (Prarit Bhargava) [1971924] - sched/fair: Carve out logic to mark a group for asymmetric packing (Prarit Bhargava) [1971924] - sched/fair: Provide update_sg_lb_stats() with sched domain statistics (Prarit Bhargava) [1971924] - sched/fair: Optimize checking for group_asym_packing (Prarit Bhargava) [1971924] - sched/topology: Introduce sched_group::flags (Prarit Bhargava) [1971924] - x86/sched: Decrease further the priorities of SMT siblings (Prarit Bhargava) [1971924]- nvme-fc: remove freeze/unfreeze around update_nr_hw_queues (Ewan D. Milne) [1996109] - nvme-fc: avoid race between time out and tear down (Ewan D. Milne) [1996109] - nvme-fc: update hardware queues before using them (Ewan D. Milne) [1996109] - igbvf: Refactor trace (Corinna Vinschen) [2039886] - igbvf: fix double free in `igbvf_probe` (Corinna Vinschen) [2039886] - mm/memory_hotplug: remove is_mem_section_removable() (David Hildenbrand) [2008072] - powerpc/pseries/hotplug-memory: stop checking is_mem_section_removable() (David Hildenbrand) [2008072] - drivers/base/memory.c: indicate all memory blocks as removable (David Hildenbrand) [2008072] - drivers/base/memory.c: fixup documentation of removable/phys_index/block_size_bytes (David Hildenbrand) [2008072] - Revert "mpi3mr: mark as tech preview" (Tomas Henzl) [1989634] - scsi: core: Avoid printing an error if target_alloc() returns -ENXIO (Tomas Henzl) [1977833] - scsi: mpi3mr: Use scnprintf() instead of snprintf() (Tomas Henzl) [1998599] - scsi: mpi3mr: Fix duplicate device entries when scanning through sysfs (Tomas Henzl) [1998599] - scsi: mpi3mr: Clean up mpi3mr_print_ioc_info() (Tomas Henzl) [1989634] - scsi: mpi3mr: Set up IRQs in resume path (Tomas Henzl) [1991577] - Revert "scsi: lpfc: ls_rjt erroneus FLOGIs" (Dick Kennedy) [2032488] - pseries/eeh: Fix the kdump kernel crash during eeh_pseries_init (Steve Best) [2028253] - arm64: smp: Add missing prototype for some smp.c functions (Mark Salter) [1996738] - irqchip/gic-v3-its: Remove unnecessary oom message (Mark Salter) [1996738] - irqchip/gic-v2m: Remove unnecessary oom message (Mark Salter) [1996738] - irqchip/gic: Split vGIC probing information from the GIC code (Mark Salter) [1996738] - irqchip/gic-v3: Workaround inconsistent PMR setting on NMI entry (Mark Salter) [1996738] - irqchip/gic-v3: Do not enable irqs when handling spurious interrups (Mark Salter) [1996738] - irqchip/gic-v4.1: Disable vSGI upon (GIC CPUIF < v4.1) detection (Mark Salter) [1996738] - irqchip/gic-v3: Fix OF_BAD_ADDR error handling (Mark Salter) [1996738] - arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h (Mark Salter) [1996738] - irqchip/gic-v3-its: Drop the setting of PTZ altogether (Mark Salter) [1996738] - irqchip/gic-v3-its: Add a cache invalidation right after vPE unmapping (Mark Salter) [1996738] - irqchip/gic-v3: Fix typos in PMR/RPR SCR_EL3.FIQ handling explanation (Mark Salter) [1996738] - genirq/msi: Initialize msi_alloc_info before calling msi_domain_prepare_irqs() (Mark Salter) [1996738] - irqchip/gic: Spelling s/REturn/Return/ (Mark Salter) [1996738] - irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend (Mark Salter) [1996738] - irq-chip/gic-v3-its: Fix crash if ITS is in a proximity domain without processor or memory (Mark Salter) [1996738] - irqchip/gic: Cleanup Franken-GIC handling (Mark Salter) [1996738] - arm64: Implement panic_smp_self_stop() (Mark Salter) [1996738] - arm64: Improve parking of stopped CPUs (Mark Salter) [1996738] - genirq: Allow interrupts to be excluded from /proc/interrupts (Mark Salter) [1996738] - irqchip/gic-v3: Support pseudo-NMIs when SCR_EL3.FIQ == 0 (Mark Salter) [1996738] - irqchip/gic-v3: Spell out when pseudo-NMIs are enabled (Mark Salter) [1996738] - irqchip/gic-v2, v3: Prevent SW resends entirely (Mark Salter) [1996738] - irqchip/git-v3-its: Implement irq_retrigger callback for device-triggered LPIs (Mark Salter) [1996738] - irqchip/gic-v2, v3: Implement irq_chip->irq_retrigger() (Mark Salter) [1996738] - irqchip/gic-v4.1: Use GFP_ATOMIC flag in allocate_vpe_l1_table() (Mark Salter) [1996738] - irqchip/gic-v4.1: Ensure accessing the correct RD when writing INVALLR (Mark Salter) [1996738] - irqchip/gic-v3: Remove unused register definition (Mark Salter) [1996738] - drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Mark Salter) [1996738] - drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Mark Salter) [1996738] - KVM: arm64: vgic-v4: Plug race between non-residency and v4.1 doorbell (Mark Salter) [1996738] - irqchip/gic: Atomically update affinity (Mark Salter) [1996738] - irqchip/gic-v4.1: Use readx_poll_timeout_atomic() to fix sleep in atomic (Mark Salter) [1996738] - irqchip/gic-v2, v3: Drop extra IRQ_NOAUTOEN setting for (E)PPIs (Mark Salter) [1996738] - irqchip/gic-v3-its: Balance initial LPI affinity across CPUs (Mark Salter) [1996738] - irqchip/gic-v3-its: Track LPI distribution on a per CPU basis (Mark Salter) [1996738] - irqchip/gic-v3: Fix missing "__init" for gic_smp_init() (Mark Salter) [1996738] - selftests/bpf: Enlarge select() timeout for test_maps (Jiri Benc) [1869444] - PCI: Do not enable AtomicOps on VFs (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Fix stats counters (Selvin Xavier) [1987081 1984339 2001893] - RDMA/bnxt_re: Prefer kcalloc over open coded arithmetic (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Remove unpaired rtnl unlock in bnxt_re_dev_init() (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Add missing spin lock initialization (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Fix uninitialized struct bit field rsvd1 (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Update ABI to pass wqe-mode to user space (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Enable global atomic ops if platform supports (Selvin Xavier) [1987081 1984339] - RDMA/bnxt_re: Drop unnecessary NULL checks after container_of (Selvin Xavier) [1987081 1984339] - dm btree remove: fix use after free in rebalance_children() (Benjamin Marzinski) [2034424] - dm table: log table creation error code (Benjamin Marzinski) [2034424] - dm: make workqueue names device-specific (Benjamin Marzinski) [2034424] - dm writecache: Make use of the helper macro kthread_run() (Benjamin Marzinski) [2034424] - dm crypt: Make use of the helper macro kthread_run() (Benjamin Marzinski) [2034424] - dm: fix mempool NULL pointer race when completing IO (Benjamin Marzinski) [2034424] - dm rq: don't queue request to blk-mq during DM suspend (Benjamin Marzinski) [1891486] - dm verity: skip redundant verity_handle_err() on I/O errors (Benjamin Marzinski) [2034424] - dm writecache: add event counters (Benjamin Marzinski) [2034424] - dm writecache: report invalid return from writecache_map helpers (Benjamin Marzinski) [2034424] - dm writecache: further writecache_map() cleanup (Benjamin Marzinski) [2034424] - dm writecache: factor out writecache_map_remap_origin() (Benjamin Marzinski) [2034424] - dm writecache: split up writecache_map() to improve code readability (Benjamin Marzinski) [2034424] - dm btree remove: assign new_root only when removal succeeds (Benjamin Marzinski) [2034424] - dm ps io affinity: remove redundant continue statement (Benjamin Marzinski) [2034424] - dm: rearrange core declarations for extended use from dm-zone.c (Benjamin Marzinski) [2034424] - dm space map disk: cache a small number of index entries (Benjamin Marzinski) [2034424] - dm space maps: improve performance with inc/dec on ranges of blocks (Benjamin Marzinski) [2034424] - dm space maps: don't reset space map allocation cursor when committing (Benjamin Marzinski) [2034424] - dm btree: improve btree residency (Benjamin Marzinski) [2034424] - dm integrity: fix sparse warnings (Benjamin Marzinski) [2034424] - dm: replace dm_vcalloc() (Benjamin Marzinski) [2034424] - dm integrity: add the "reset_recalculate" feature flag (Benjamin Marzinski) [2034424] - dm cache: remove needless request_queue NULL pointer checks (Benjamin Marzinski) [2034424] - dm thin: remove needless request_queue NULL pointer check (Benjamin Marzinski) [2034424] - dm ioctl: replace device hash with red-black tree (Benjamin Marzinski) [2034424] - recordmcount.pl: fix typo in s390 mcount regex (Jerome Marchand) [2025890] - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 (Jerome Marchand) [2025890] - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush hypercall (Vitaly Kuznetsov) [1868572] - HID: magicmouse: prevent division by 0 on scroll (Benjamin Tissoires) [2022814] - HID: input: set usage type to key on keycode remap (Benjamin Tissoires) [2022814] - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields (Benjamin Tissoires) [2022814] - HID: u2fzero: properly handle timeouts in usb_submit_urb (Benjamin Tissoires) [2022814] - HID: u2fzero: clarify error check and length calculations (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix potential NULL pointer dereference (Benjamin Tissoires) [2022814] - HID: u2fzero: ignore incomplete packets without data (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix potential NULL pointer dereference (Benjamin Tissoires) [2022814] - HID: wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs (Benjamin Tissoires) [2022814] - HID: apple: Fix logical maximum and usage maximum of Magic Keyboard JIS (Benjamin Tissoires) [2022814] - HID: betop: fix slab-out-of-bounds Write in betop_probe (Benjamin Tissoires) [2022814] - HID: usbhid: Simplify code in hid_submit_ctrl() (Benjamin Tissoires) [2022814] - HID: usbhid: Fix warning caused by 0-length input reports (Benjamin Tissoires) [2022814] - HID: usbhid: Fix flood of "control queue full" messages (Benjamin Tissoires) [2022814] - HID: sony: Fix more ShanWan clone gamepads to not rumble when plugged in. (Benjamin Tissoires) [2022814] - HID: sony: support for the ghlive ps4 dongles (Benjamin Tissoires) [2022814] - HID: thrustmaster: clean up Makefile and adapt quirks (Benjamin Tissoires) [2022814] - HID: i2c-hid: Fix Elan touchpad regression (Benjamin Tissoires) [2022814] - HID: asus: Prevent Claymore sending suspend event (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add dyndbg prints for debugging (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add support for PM suspend and resume (Benjamin Tissoires) [2022814] - HID: amd_sfh: Move hid probe after sensor is enabled (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add command response to check command status (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix period data field to enable sensor (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: battery: provide CAPACITY property for newer devices (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leak in thrustmaster_interrupts() (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leak in remove (Benjamin Tissoires) [2022814] - HID: thrustmaster: Fix memory leaks in probe (Benjamin Tissoires) [2022814] - HID: elo: update the reference count of the usb device structure (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Use 'atomic_inc_return' instead of hand-writing it (Benjamin Tissoires) [2022814] - HID: ft260: fix device removal due to USB disconnect (Benjamin Tissoires) [2022814] - HID: apple: Add missing scan code event for keys handled by hid-apple (Benjamin Tissoires) [2022814] - HID: cmedia: add support for HS-100B mute button (Benjamin Tissoires) [2022814] - HID: i2c-hid: goodix: Use the devm variant of regulator_register_notifier() (Benjamin Tissoires) [2022814] - HID: wacom: Refactor touch input mute checks into a common function (Benjamin Tissoires) [2022814] - HID: wacom: Avoid sending empty sync events (Benjamin Tissoires) [2022814] - HID: wacom: Short-circuit processing of touch when it is disabled (Benjamin Tissoires) [2022814] - HID: wacom: set initial hardware touch switch state to 'off' (Benjamin Tissoires) [2022814] - HID: wacom: Skip processing of touches with negative slot values (Benjamin Tissoires) [2022814] - HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT (Benjamin Tissoires) [2022814] - HID: Kconfig: Fix spelling mistake "Uninterruptable" -> "Uninterruptible" (Benjamin Tissoires) [2022814] - HID: apple: Add support for Keychron K1 wireless keyboard (Benjamin Tissoires) [2022814] - HID: usbhid: free raw_report buffers in usbhid_stop (Benjamin Tissoires) [2022814] - HID: fix typo in Kconfig (Benjamin Tissoires) [2022814] - HID: ft260: fix format type warning in ft260_word_show() (Benjamin Tissoires) [2022814] - HID: i2c-hid: goodix: Tie the reset line to true state of the regulator (Benjamin Tissoires) [2022814] - HID: amd_sfh: Use correct MMIO register for DMA address (Benjamin Tissoires) [2022814] - HID: magicmouse: high-resolution scroll threshold (Benjamin Tissoires) [2022814] - HID: magicmouse: enable high-resolution scroll (Benjamin Tissoires) [2022814] - HID: asus: Remove check for same LED brightness on set (Benjamin Tissoires) [2022814] - HID: input: do not report stylus battery state as "full" (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: use async resume function (Benjamin Tissoires) [2022814] - HID: thrustmaster: Switch to kmemdup() when allocate change_request (Benjamin Tissoires) [2022814] - HID: multitouch: Disable event reporting on suspend when the device is not a wakeup-source (Benjamin Tissoires) [2022814] - HID: logitech-dj: Implement may_wakeup ll-driver callback (Benjamin Tissoires) [2022814] - HID: usbhid: Implement may_wakeup ll-driver callback (Benjamin Tissoires) [2022814] - HID: core: Add hid_hw_may_wakeup() function (Benjamin Tissoires) [2022814] - HID: input: Add support for Programmable Buttons (Benjamin Tissoires) [2022814] - HID: wacom: Correct base usage for capacitive ExpressKey status bits (Benjamin Tissoires) [2022814] - HID: amd_sfh: Add initial support for HPD sensor (Benjamin Tissoires) [2022814 1961759] - HID: amd_sfh: Extend ALS support for newer AMD platform (Benjamin Tissoires) [2022814 1961759] - HID: amd_sfh: Extend driver capabilities for multi-generation support (Benjamin Tissoires) [2022814 1961759] - HID: surface-hid: Fix get-report request (Benjamin Tissoires) [2022814] - HID: sony: fix freeze when inserting ghlive ps3/wii dongles (Benjamin Tissoires) [2022814] - HID: usbkbd: Avoid GFP_ATOMIC when GFP_KERNEL is possible (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Specify that EHL no cache snooping (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ishtp: Add dma_no_cache_snooping() callback (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Set ISH driver depends on x86 (Benjamin Tissoires) [2022814] - HID: hid-input: add Surface Go battery quirk (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix minor typos in comments (Benjamin Tissoires) [2022814] - HID: magicmouse: fix NULL-deref on disconnect (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Add Alder Lake device IDs (Benjamin Tissoires) [2022814] - HID: i2c-hid: fix format string mismatch (Benjamin Tissoires) [2022814] - HID: amd_sfh: Fix memory leak in amd_sfh_work (Benjamin Tissoires) [2022814] - HID: amd_sfh: Use devm_kzalloc() instead of kzalloc() (Benjamin Tissoires) [2022814] - HID: ft260: improve error handling of ft260_hid_feature_report_get() (Benjamin Tissoires) [2022814] - HID: asus: Cleanup Asus T101HA keyboard-dock handling (Benjamin Tissoires) [2022814] - HID: magicmouse: fix crash when disconnecting Magic Trackpad 2 (Benjamin Tissoires) [2022814] - HID: gt683r: add missing MODULE_DEVICE_TABLE (Benjamin Tissoires) [2022814] - HID: pidff: fix error return code in hid_pidff_init() (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: initialize level variable (Benjamin Tissoires) [2022814] - HID: multitouch: Disable event reporting on suspend on the Asus T101HA touchpad (Benjamin Tissoires) [2022814] - HID: core: Remove extraneous empty line before EXPORT_SYMBOL_GPL(hid_check_keys_pressed) (Benjamin Tissoires) [2022814] - HID: usbmouse: Avoid GFP_ATOMIC when GFP_KERNEL is possible (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Process failure of sensor_hub_set_feature() (Benjamin Tissoires) [2022814] - HID: i2c-hid: Skip ELAN power-on command after reset (Benjamin Tissoires) [2022814] - HID: usbhid: fix info leak in hid_submit_ctrl (Benjamin Tissoires) [2022814] - HID: Add BUS_VIRTUAL to hid_connect logging (Benjamin Tissoires) [2022814] - HID: input: replace outdated HID numbers+comments with macros (Benjamin Tissoires) [2022814] - HID: multitouch: set Stylus suffix for Stylus-application devices, too (Benjamin Tissoires) [2022814] - HID: multitouch: require Finger field to mark Win8 reports as MT (Benjamin Tissoires) [2022814] - HID: remove the unnecessary redefinition of a macro (Benjamin Tissoires) [2022814] - HID: quirks: Add quirk for Lenovo optical mouse (Benjamin Tissoires) [2022814] - HID: asus: filter G713/G733 key event to prevent shutdown (Benjamin Tissoires) [2022814] - HID: lg-g15 + ite: Add MODULE_AUTHOR (Benjamin Tissoires) [2022814] - HID: lg-g15: Add support for the Logitech Z-10 speakers (Benjamin Tissoires) [2022814] - HID: lg-g15: Make the LED-name used by lg_g15_register_led() a parameter (Benjamin Tissoires) [2022814] - HID: lg-g15: Add a lg_g15_init_input_dev() helper function (Benjamin Tissoires) [2022814] - HID: lg-g15: Add a lg_g15_handle_lcd_menu_keys() helper function (Benjamin Tissoires) [2022814] - HID: lg-g15: Remove unused size argument from lg_*_event() functions (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Return error for hid_set_field() failure (Benjamin Tissoires) [2022814] - HID: ft260: check data size in ft260_smbus_write() (Benjamin Tissoires) [2022814] - HID: surface-hid: Fix integer endian conversion (Benjamin Tissoires) [2022814] - HID: hid-debug: recognize KEY_ASSISTANT and KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [2022814] - HID: hid-input: add mapping for emoji picker key (Benjamin Tissoires) [2022814] - HID: a4tech: use A4_2WHEEL_MOUSE_HACK_B8 for A4TECH NB-95 (Benjamin Tissoires) [2022814] - HID: logitech-dj/hidpp: Add info/warn/err messages about 27 MHz keyboard encryption (Benjamin Tissoires) [2022814] - HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K15A keyboard-dock (Benjamin Tissoires) [2022814] - HID: thrustmaster: fix return value check in thrustmaster_probe() (Benjamin Tissoires) [2022814] - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for Saitek X65 (Benjamin Tissoires) [2022814] - HID: do not use down_interruptible() when unbinding devices (Benjamin Tissoires) [2022814] - HID: asus: Filter keyboard EC for old ROG keyboard (Benjamin Tissoires) [2022814] - HID: semitek: new driver for GK6X series keyboards (Benjamin Tissoires) [2022814] - HID: wacom: Setup pen input capabilities to the targeted tools (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Move 'hsdev' description to correct struct definition (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Remove unused struct member 'quirks' (Benjamin Tissoires) [2022814] - HID: wacom_sys: Demote kernel-doc abuse (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: hid-uclogic-params: Ensure function names are present and correct in kernel-doc headers (Benjamin Tissoires) [2022814] - HID: hid-uclogic-rdesc: Kernel-doc is for functions and structs (Benjamin Tissoires) [2022814] - HID: hid-logitech-hidpp: Fix conformant kernel-doc header and demote abuses (Benjamin Tissoires) [2022814] - HID: hid-picolcd_core: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: hid-kye: Fix incorrect function name for kye_tablet_enable() (Benjamin Tissoires) [2022814] - HID: hid-core: Fix incorrect function name in header (Benjamin Tissoires) [2022814] - HID: hid-alps: Correct struct misnaming (Benjamin Tissoires) [2022814] - HID: usbhid: hid-pidff: Demote a couple kernel-doc abuses (Benjamin Tissoires) [2022814] - HID: usbhid: Repair a formatting issue in a struct description (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Fix 'suggest-attribute=format' compiler warning (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ishtp-fw-loader: Fix a bunch of formatting issues (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Fix incorrect function name report_bad_packet() (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Correct fw_reset_work_fn() function name in header (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix potential copy/paste error (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Fix a little doc-rot (Benjamin Tissoires) [2022814] - HID: intel-ish: Fix a naming disparity and a formatting error (Benjamin Tissoires) [2022814] - HID: intel-ish: Supply some missing param descriptions (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: pci-ish: Remove unused variable 'ret' (Benjamin Tissoires) [2022814] - HID: ishtp-hid-client: Move variable to where it's actually used (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Remove unused variable 'err' (Benjamin Tissoires) [2022814] - HID: hid-thrustmaster: Demote a bunch of kernel-doc abuses (Benjamin Tissoires) [2022814] - HID: input: map battery capacity (00850065) (Benjamin Tissoires) [2022814] - HID: magicmouse: fix reconnection of Magic Mouse 2 (Benjamin Tissoires) [2022814] - HID: magicmouse: fix 3 button emulation of Mouse 2 (Benjamin Tissoires) [2022814] - HID: magicmouse: add Apple Magic Mouse 2 support (Benjamin Tissoires) [2022814] - HID: lenovo: Add support for Thinkpad X1 Tablet Thin keyboard (Benjamin Tissoires) [2022814] - HID: lenovo: Rework how the tp10ubkbd code decides which USB interface to use (Benjamin Tissoires) [2022814] - HID: lenovo: Set default_triggers for the mute and micmute LEDs (Benjamin Tissoires) [2022814] - HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE (Benjamin Tissoires) [2022814] - HID: lenovo: Set LEDs max_brightness value (Benjamin Tissoires) [2022814] - HID: lenovo: Remove lenovo_led_brightness_get() (Benjamin Tissoires) [2022814] - HID: lenovo: Check hid_get_drvdata() returns non NULL in lenovo_event() (Benjamin Tissoires) [2022814] - HID: lenovo: Fix lenovo_led_set_tp10ubkbd() error handling (Benjamin Tissoires) [2022814] - HID: lenovo: Use brightness_set_blocking callback for setting LEDs brightness (Benjamin Tissoires) [2022814] - HID: elan: Remove elan_mute_led_get_brigtness() (Benjamin Tissoires) [2022814] - HID: elan: Set default_trigger for the mute LED (Benjamin Tissoires) [2022814] - HID: elan: Silence mute LED errors being logged when the device is unplugged (Benjamin Tissoires) [2022814] - HID: fix memdup.cocci warnings (Benjamin Tissoires) [2022814] - HID: surface-hid: Add support for legacy keyboard interface (Benjamin Tissoires) [2022814] - HID: Add support for Surface Aggregator Module HID transport (Benjamin Tissoires) [2022814] - HID: thrustmaster: introduce proper USB dependency (Benjamin Tissoires) [2022814] - HID: intel_ish-hid: HBM: Use connected standby state bit during suspend/resume (Benjamin Tissoires) [2022814] - HID: ft260: fix an error message in ft260_i2c_write_read() (Benjamin Tissoires) [2022814] - HID: support for initialization of some Thrustmaster wheels (Benjamin Tissoires) [2022814] - HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices (Benjamin Tissoires) [2022814] - HID: ft260: add usb hid to i2c host bridge driver (Benjamin Tissoires) [2022814] - iio: Add relative sensitivity support (Benjamin Tissoires) [2022814] - iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Make remove callback return void (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Simplify logic in ishtp_cl_device_remove() (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Drop if block with an always false condition (Benjamin Tissoires) [2022814] - AMD_SFH: Add DMI quirk table for BIOS-es which don't set the activestatus bits (Benjamin Tissoires) [2022814] - AMD_SFH: Add sensor_mask module parameter (Benjamin Tissoires) [2022814] - AMD_SFH: Removed unused activecontrolstatus member from the amd_mp2_dev struct (Benjamin Tissoires) [2022814] - HID: wacom: Assign boolean values to a bool variable (Benjamin Tissoires) [2022814] - HID cp2112: fix support for multiple gpiochips (Benjamin Tissoires) [2022814] - HID: alps: fix error return code in alps_input_configured() (Benjamin Tissoires) [2022814] - HID: asus: Add support for 2021 ASUS N-Key keyboard (Benjamin Tissoires) [2022814] - HID: hiddev: Return specific error codes on connect failure (Benjamin Tissoires) [2022814] - HID: plantronics: Workaround for double volume key presses (Benjamin Tissoires) [2022814] - HID: logitech-dj: Handle newer quad/bt2.0 receivers in HID proxy mode (Benjamin Tissoires) [2022814] - HID: logitech-dj: Use hid-ids.h defines for USB device-ids for all supported devices (Benjamin Tissoires) [2022814] - HID: google: add don USB id (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Drop redundant ACPI_PTR() (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Move GUID out of function and described it (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Switch to new style i2c-driver probe function (Benjamin Tissoires) [2022814] - HID: i2c-hid: acpi: Get ACPI companion only once and reuse it (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense player LED support. (Benjamin Tissoires) [2022814] - HID: playstation: add microphone mute support for DualSense. (Benjamin Tissoires) [2022814] - HID: playstation: add initial DualSense lightbar support. (Benjamin Tissoires) [2022814] - HID: wacom: Ignore attempts to overwrite the touch_max value from HID (Benjamin Tissoires) [2022814] - HID: playstation: fix array size comparison (off-by-one) (Benjamin Tissoires) [2022814] - HID: playstation: fix unused variable in ps_battery_get_property. (Benjamin Tissoires) [2022814] - HID: playstation: report DualSense hardware and firmware version. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense classic rumble support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense Bluetooth support. (Benjamin Tissoires) [2022814] - HID: playstation: track devices in list. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense accelerometer and gyroscope support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense touchpad support. (Benjamin Tissoires) [2022814] - HID: playstation: add DualSense battery support. (Benjamin Tissoires) [2022814] - HID: playstation: use DualSense MAC address as unique identifier. (Benjamin Tissoires) [2022814] - HID: playstation: initial DualSense USB support. (Benjamin Tissoires) [2022814] - HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E (Benjamin Tissoires) [2022814] - HID: Ignore battery for Elan touchscreen on HP Spectre X360 15-df0xxx (Benjamin Tissoires) [2022814] - HID: logitech-dj: add support for the new lightspeed connection iteration (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID (Benjamin Tissoires) [2022814] - HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming (Benjamin Tissoires) [2022814] - HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo Winpad A15 (Benjamin Tissoires) [2022814] - HID: displays: convert sysfs sprintf/snprintf family to sysfs_emit (Benjamin Tissoires) [2022814] - HID: wacom: convert sysfs sprintf/snprintf family to sysfs_emit (Benjamin Tissoires) [2022814] - HID: lg-g15: make a const array static, makes object smaller (Benjamin Tissoires) [2022814] - HID: google: Get HID report on probe to confirm tablet switch state (Benjamin Tissoires) [2022814] - HID: hid-input: avoid splitting keyboard, system and consumer controls (Benjamin Tissoires) [2022814] - HID: correct kernel-doc notation in hid-quirks.c (Benjamin Tissoires) [2022814] - HID: correct kernel-doc notation in (Benjamin Tissoires) [2022814] - HID: wacom: Correct NULL dereference on AES pen proximity (Benjamin Tissoires) [2022814] - HID: multitouch: Set to high latency mode on suspend. (Benjamin Tissoires) [2022814] - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices (Benjamin Tissoires) [2022814] - HID: hid-sensor-custom: Add custom sensor iio support (Benjamin Tissoires) [2022814] - HID: i2c-hid: Introduce goodix-i2c-hid using i2c-hid core (Benjamin Tissoires) [2022814] - redhat: HID: enable I2C_HID_ACPI (Benjamin Tissoires) [2022814] - HID: i2c-hid: Reorganize so ACPI and OF are separate modules (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: add support for Unified Battery (1004) feature (Benjamin Tissoires) [2022814] - HID: sony: Add support for tilt on guitar hero guitars (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode (Benjamin Tissoires) [2022814] - HID: chicony: Add Wireless Radio Control feature for Chicony devices (Benjamin Tissoires) [2022814] - HID: Ignore battery for Elan touchscreen on ASUS UX550 (Benjamin Tissoires) [2022814] - HID: logitech-dj: add the G602 receiver (Benjamin Tissoires) [2022814] - HID: core: detect and skip invalid inputs to snto32() (Benjamin Tissoires) [2022814] - HID: uclogic: Improve support for Trust Panora (Benjamin Tissoires) [2022814] - HID: wiimote: remove h from printk format specifier (Benjamin Tissoires) [2022814] - HID: uclogic: remove h from printk format specifier (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: Address EHL Sx resume issues (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: ipc: finish power flow for EHL OOB (Benjamin Tissoires) [2022814] - HID: sony: select CONFIG_CRC32 (Benjamin Tissoires) [2022814] - HID: sfh: fix address space confusion (Benjamin Tissoires) [2022814] - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device (Benjamin Tissoires) [2022814] - HID: wacom: Fix memory leakage caused by kfifo_alloc (Benjamin Tissoires) [2022814] - HID: i2c-hid: add Vero K147 to descriptor override (Benjamin Tissoires) [2022814] - HID: ite: Add support for Acer S1002 keyboard-dock (Benjamin Tissoires) [2022814] - HID: sony: support for ghlive ps3/wii u dongles (Benjamin Tissoires) [2022814] - HID: hidraw: Add additional hidraw input/output report ioctls. (Benjamin Tissoires) [2022814] - HID: Increase HID maximum report size to 16KB (Benjamin Tissoires) [2022814] - HID: elecom: drop stray comment (Benjamin Tissoires) [2022814] - HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter (Benjamin Tissoires) [2022814] - HID: elecom: add support for EX-G M-XGL20DLBK wireless mouse (Benjamin Tissoires) [2022814] - HID: elecom: rewrite report based on model specific parameters (Benjamin Tissoires) [2022814] - HID: wacom: Constify attribute_groups (Benjamin Tissoires) [2022814] - HID: input: Fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - HID: usbhid: Fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add hid_device_id for V470 bluetooth mouse (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: Remove unnecessary assignment to variable rv (Benjamin Tissoires) [2022814] - HID: sony: Workaround for DS4 dongle hotplug kernel crash. (Benjamin Tissoires) [2022814] - HID: sony: Don't use fw_version/hw_version for sysfs cleanup. (Benjamin Tissoires) [2022814] - HID: sony: Report more accurate DS4 power status. (Benjamin Tissoires) [2022814] - SFH: fix error return check for -ERESTARTSYS (Benjamin Tissoires) [2022814] - HID: Add Logitech Dinovo Edge battery quirk (Benjamin Tissoires) [2022814] - HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo Edge (Benjamin Tissoires) [2022814] - HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices (Benjamin Tissoires) [2022814] - HID: mcp2221: Fix GPIO output handling (Benjamin Tissoires) [2022814] - HID: hid-sensor-hub: Fix issue with devices with no report ID (Benjamin Tissoires) [2022814] - HID: hid-input: occasionally report stylus battery even if not changed (Benjamin Tissoires) [2022814] - timekeeping: Add missing _ns functions for coarse accessors (Benjamin Tissoires) [2022814] - HID: i2c-hid: show the error when failing to fetch the HID descriptor (Benjamin Tissoires) [2022814] - AMD_SFH: Fix for incorrect Sensor index (Benjamin Tissoires) [2022814] - HID: asus: Add support for ASUS N-Key keyboard (Benjamin Tissoires) [2022814] - HID: i2c-hid: Put ACPI enumerated devices in D3 on shutdown (Benjamin Tissoires) [2022814] - HID: add support for Sega Saturn (Benjamin Tissoires) [2022814] - HID: cypress: Support Varmilo Keyboards' media hotkeys (Benjamin Tissoires) [2022814] - HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses (Benjamin Tissoires) [2022814] - SFH: Create HID report to Enable support of AMD sensor fusion Hub (SFH) (Benjamin Tissoires) [2022814] - SFH:Transport Driver to add support of AMD Sensor Fusion Hub (SFH) (Benjamin Tissoires) [2022814] - redhat: HID: enable AMD_SFH_HUB (Benjamin Tissoires) [1965674] - SFH: PCIe driver to add support of AMD sensor fusion hub (Benjamin Tissoires) [2022814] - HID: uclogic: Add ID for Trust Flex Design Tablet (Benjamin Tissoires) [2022814] - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle (Benjamin Tissoires) [2022814] - HID: add vivaldi HID driver (Benjamin Tissoires) [2022814] - HID: i2c-hid: fix kerneldoc warnings in i2c-hid-core.c (Benjamin Tissoires) [2022814] - HID: core: fix kerneldoc warnings in hid-core.c (Benjamin Tissoires) [2022814] - HID: multitouch: Lenovo X1 Tablet Gen2 trackpoint and buttons (Benjamin Tissoires) [2022814] - HID: alps: clean up indentation issue (Benjamin Tissoires) [2022814] - HID: intel-ish-hid: simplify the return expression of ishtp_bus_remove_device() (Benjamin Tissoires) [2022814] - HID: hid-debug: fix nonblocking read semantics wrt EIO/ERESTARTSYS (Benjamin Tissoires) [2022814] - HID: i2c-hid: Prefer asynchronous probe (Benjamin Tissoires) [2022814] - HID: wiimote: narrow spinlock range in wiimote_hid_event() (Benjamin Tissoires) [2022814] - HID: wiimote: make handlers[] const (Benjamin Tissoires) [2022814] - HID: logitech-dj: Fix spelling in comment (Benjamin Tissoires) [2022814] - HID: apple: Add support for Matias wireless keyboard (Benjamin Tissoires) [2022814] - Input: elan_i2c - reduce the resume time for controller in Whitebox (Benjamin Tissoires) [2022814] - Input: parkbd - switch to use module_parport_driver() (Benjamin Tissoires) [2022814] - Input: i8042 - fix typos in comments (Benjamin Tissoires) [2022814] - Input: elantech - Prepare a complete software node for the device (Benjamin Tissoires) [2022814] - Input: apbps2 - remove useless variable (Benjamin Tissoires) [2022814] - Input: elan_i2c - fix a typo in parameter name (Benjamin Tissoires) [2022814] - Input: i8042 - fix Pegatron C15B ID entry (Benjamin Tissoires) [2022814] - Input: elan_i2c - reduce the resume time for new devices (Benjamin Tissoires) [2022814] - Input: i8042 - add ASUS Zenbook Flip to noselftest list (Benjamin Tissoires) [2022814] - Input: add missing dependencies on CONFIG_HAS_IOMEM (Benjamin Tissoires) [2022814] - ARM: 9048/1: sa1111: make sa1111 bus's remove callback return void (Benjamin Tissoires) [2022814] - Input: synaptics - replace NOOP with suitable commentary (Benjamin Tissoires) [2022814] - Input: i8042 - unbreak Pegatron C15B (Benjamin Tissoires) [2022814] - Input: parkbd - convert comma to semicolon (Benjamin Tissoires) [2022814] - Input: elantech - fix protocol errors for some trackpoints in SMBus mode (Benjamin Tissoires) [2022814] - Input: elan_i2c - add new trackpoint report type 0x5F (Benjamin Tissoires) [2022814] - Input: i8042 - add Acer laptops to the i8042 reset list (Benjamin Tissoires) [2022814] - Input: i8042 - add ByteSpeed touchpad to noloop table (Benjamin Tissoires) [2022814] - Input: i8042 - fix error return code in i8042_setup_aux() (Benjamin Tissoires) [2022814] - Input: libps2 - fix fall-through warnings for Clang (Benjamin Tissoires) [2022814] - Input: synaptics - demote non-conformant kernel-doc header (Benjamin Tissoires) [2022814] - Input: elan_i2c_core - move header inclusion inside (Benjamin Tissoires) [2022814] - Input: elan_i2c - fix firmware update on newer ICs (Benjamin Tissoires) [2022814] - Input: elantech - demote obvious abuse of kernel-doc header (Benjamin Tissoires) [2022814] - Input: i8042 - allow insmod to succeed on devices without an i8042 controller (Benjamin Tissoires) [2022814] - Input: synaptics - enable InterTouch for ThinkPad T14 Gen 1 (Benjamin Tissoires) [2022814] - Input: synaptics - enable InterTouch for ThinkPad P1/X1E gen 2 (Benjamin Tissoires) [2022814] - Input: synaptics-rmi4 - rename f30_data to gpio_data (Benjamin Tissoires) [2022814] - Input: sun4i-ps2 - fix handling of platform_get_irq() error (Benjamin Tissoires) [2022814] - Input: allocate keycode for Fn + right shift (Benjamin Tissoires) [2022814] - Input: allocate keycodes for notification-center, pickup-phone and hangup-phone (Benjamin Tissoires) [2022814] - HID: cp2112: Use irqchip template (Benjamin Tissoires) [2022814] - HID: mcp2221: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [2022814] - treewide: replace '---help---' in Kconfig files with 'help' (Benjamin Tissoires) [2022814] - HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option (Benjamin Tissoires) [2022814] - HID: asus: Fix mute and touchpad-toggle keys on Medion Akoya E1239T (Benjamin Tissoires) [2022814] - HID: asus: Add support for multi-touch touchpad on Medion Akoya E1239T (Benjamin Tissoires) [2022814] - HID: asus: Add report_size to struct asus_touchpad_info (Benjamin Tissoires) [2022814] - HID: asus: Add hid_is_using_ll_driver(usb_hid_driver) check (Benjamin Tissoires) [2022814] - HID: asus: Simplify skipping of mappings for Asus T100CHI keyboard-dock (Benjamin Tissoires) [2022814] - HID: asus: Only set EV_REP if we are adding a mapping (Benjamin Tissoires) [2022814] - HID: mcp2221: add gpiolib dependency (Benjamin Tissoires) [2022814] - HID: mcp2221: add GPIO functionality support (Benjamin Tissoires) [2022814] - HID: mcp2221: add usb to i2c-smbus host bridge (Benjamin Tissoires) [2022814] - HID: asus: Ignore Asus vendor-page usage-code 0xff events (Benjamin Tissoires) [2022814] - HID: sb0540: add support for Creative SB0540 IR receivers (Benjamin Tissoires) [2022814] - gpio: pass lookup and descriptor flags to request_own (Benjamin Tissoires) [2022814] - HID: hid-asus: select CONFIG_POWER_SUPPLY (Benjamin Tissoires) [2022814] - HID: hid-asus: Add BT keyboard dock battery monitoring support (Benjamin Tissoires) [2022814] - HID: hid-asus: Add Transbook T90CHI support (Benjamin Tissoires) [2022814] - HID: asus: Add support for the ASUS T101HA keyboard dock (Benjamin Tissoires) [2022814] - HID: asus: Add support for the ASUS FX503VD laptop (Benjamin Tissoires) [2022814] - HID: asus: Add event handler to catch unmapped Asus Vendor UsagePage codes (Benjamin Tissoires) [2022814] - af_unix: fix garbage collect vs MSG_PEEK (Patrick Talbert) [2031975] {CVE-2021-0920} - net: add kerneldoc comment for sk_peer_lock (Guillaume Nault) [2037782] - af_unix: fix races in sk_peer_pid and sk_peer_cred accesses (Guillaume Nault) [2037782] {CVE-2021-4203} - netfilter: nat: force port remap to prevent shadowing well-known ports (Florian Westphal) [2006167] {CVE-2021-3773} - netfilter: conntrack: tag conntracks picked up in local out hook (Florian Westphal) [2006167] - selftests: nft_nat: switch port shadow test cases to socat (Florian Westphal) [2006167] - selftests: nft_nat: Simplify port shadow notrack test (Florian Westphal) [2006167] - selftests: nft_nat: Improve port shadow test stability (Florian Westphal) [2006167] - selftests: nft_nat: add udp hole punch test case (Florian Westphal) [2006167] - ipv6: use prandom_u32() for ID generation (Hangbin Liu) [2040158] {CVE-2021-45485} - igc: fix tunnel offloading (Corinna Vinschen) [1910885] - virtio/vsock: fix the transport to work with VMADDR_CID_ANY (Stefano Garzarella) [2026442] - vhost/vsock: cleanup removing `len` variable (Stefano Garzarella) [2026442] - vhost/vsock: fix incorrect used length reported to the guest (Stefano Garzarella) [2026442] - vsock: prevent unnecessary refcnt inc for nonblocking connect (Stefano Garzarella) [2026442] - vsock/virtio: avoid potential deadlock when vsock device remove (Stefano Garzarella) [2026442] - VSOCK: handle VIRTIO_VSOCK_OP_CREDIT_REQUEST (Stefano Garzarella) [2026442] - vsock: notify server to shutdown when client has pending signal (Stefano Garzarella) [2026442] - virtio/vsock: simplify credit update function API (Stefano Garzarella) [2026442] - virtio/vsock: set packet's type in virtio_transport_send_pkt_info() (Stefano Garzarella) [2026442] - net: vlan: fix underflow for the real_dev refcnt (Balazs Nemeth) [2026375] - net: vlan: fix a UAF in vlan_dev_real_dev() (Balazs Nemeth) [2026375]- xfs: map unwritten blocks in XFS_IOC_{ALLOC,FREE}SP just like fallocate (Carlos Maiolino) [2034865] {CVE-2021-4155} - isdn: cpai: check ctr->cnr to avoid array index out of bound (Chris von Recklinghausen) [2016491] {CVE-2021-43389} - vt: keyboard: avoid signed integer overflow in k_ascii (Chris von Recklinghausen) [2017044] {CVE-2020-13974} - USB: serial: pl2303: fix GC type detection (Torez Smith) [1975985] - usb: dwc3: leave default DMA for PCI devices (Torez Smith) [1975985] - usb: xhci: tegra: Check padctrl interrupt presence in device tree (Torez Smith) [1975985] - usb: dwc3: core: Revise GHWPARAMS9 offset (Torez Smith) [1975985] - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay (Torez Smith) [1975985] - usb: typec: tipd: Remove dependency on "connector" child fwnode (Torez Smith) [1975985] - usb: xhci: tegra: mark PM functions as __maybe_unused (Torez Smith) [1975985] - media: ttusb-dec: avoid release of non-acquired mutex (Torez Smith) [1975985] - ABI: sysfs-devices-removable: make a table valid as ReST markup (Torez Smith) [1975985] - usb: dwc3: core: balance phy init and exit (Torez Smith) [1975985] - USB: serial: pl2303: fix GL type detection (Torez Smith) [1975985] - usb: xhci-mtk: Do not use xhci's virt_dev in drop_endpoint (Torez Smith) [1975985] - usb: xhci-mtk: fix issue of out-of-bounds array access (Torez Smith) [1975985] - usb: dwc3: Decouple USB 2.0 L1 & L2 events (Torez Smith) [1975985] - media: em28xx-input: fix refcount bug in em28xx_usb_disconnect (Torez Smith) [1975985] - media: dvb-usb: Fix error handling in dvb_usb_i2c_init (Torez Smith) [1975985] - power: supply: Fix build error when CONFIG_POWER_SUPPLY is not enabled. (Torez Smith) [1975985] - thunderbolt: test: split up test cases in tb_test_credit_alloc_all (Torez Smith) [1975985] - thunderbolt: Handle ring interrupt by reading interrupt status register (Torez Smith) [1975985] - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt status (Torez Smith) [1975985] - thunderbolt: Fix port linking by checking all adapters (Torez Smith) [1975985] - thunderbolt: Do not read control adapter config space (Torez Smith) [1975985] - thunderbolt: Add authorized value to the KOBJ_CHANGE uevent (Torez Smith) [1975985] - usb: typec: tcpm: Raise vdm_sm_running flag only when VDM SM is running (Torez Smith) [1975985] - usb: dwc3: gadget: Stop EP0 transfers during pullup disable (Torez Smith) [1975985] - usb: dwc3: gadget: Fix dwc3_calc_trbs_left() (Torez Smith) [1975985] - Revert "USB: serial: ch341: fix character loss at high transfer rates" (Torez Smith) [1975985] - USB: serial: option: add new VID/PID to support Fibocom FG150 (Torez Smith) [1975985] - usb: typec: tcpm: Fix VDMs sometimes not being forwarded to alt-mode drivers (Torez Smith) [1975985] - Revert "usb: dwc3: gadget: Use list_replace_init() before traversing lists" (Torez Smith) [1975985] - usb: typec: tcpm: Keep other events when receiving FRS and Sourcing_vbus events (Torez Smith) [1975985] - usb: dwc3: gadget: Avoid runtime resume if disabling pullup (Torez Smith) [1975985] - usb: dwc3: gadget: Use list_replace_init() before traversing lists (Torez Smith) [1975985] - USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2 (Torez Smith) [1975985] - USB: serial: pl2303: fix GT type detection (Torez Smith) [1975985] - USB: serial: option: add Telit FD980 composition 0x1056 (Torez Smith) [1975985] - USB: serial: pl2303: fix HX type detection (Torez Smith) [1975985] - media: rtl28xxu: fix zero-length control request (Torez Smith) [1975985] - media: Revert "media: rtl28xxu: fix zero-length control request" (Torez Smith) [1975985] - USB: serial: ch341: fix character loss at high transfer rates (Torez Smith) [1975985] - usb: otg-fsm: Fix hrtimer list corruption (Torez Smith) [1975985] - USB: usbtmc: Fix RCU stall warning (Torez Smith) [1975985] - USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick (Torez Smith) [1975985] - Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem" (Torez Smith) [1975985] - usb: dwc2: gadget: Fix sending zero length packet in DDMA mode. (Torez Smith) [1975985] - usb: dwc2: Skip clock gating on Samsung SoCs (Torez Smith) [1975985] - usb: dwc2: gadget: Fix GOUTNAK flow for Slave mode. (Torez Smith) [1975985] - usb: xhci: avoid renesas_usb_fw.mem when it's unusable (Torez Smith) [1975985] - usb: dwc3: avoid NULL access of usb_gadget_driver (Torez Smith) [1975985] - usb: typec: stusb160x: Don't block probing of consumer of "connector" nodes (Torez Smith) [1975985] - usb: typec: stusb160x: register role switch before interrupt registration (Torez Smith) [1975985] - USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS (Torez Smith) [1975985] - usb: hub: Disable USB 3 device initiated lpm if exit latency is too high (Torez Smith) [1975985] - usb: hub: Fix link power management max exit latency (MEL) calculations (Torez Smith) [1975985] - usb: typec: tipd: Don't block probing of consumer of "connector" nodes (Torez Smith) [1975985] - xhci: Fix lost USB 2 remote wake (Torez Smith) [1975985] - USB: serial: cp210x: fix comments for GE CS1000 (Torez Smith) [1975985] - USB: core: Fix incorrect pipe calculation in do_proc_control() (Torez Smith) [1975985] - USB: serial: option: add support for u-blox LARA-R6 family (Torez Smith) [1975985] - thunderbolt: test: Reinstate a few casts of bitfields (Torez Smith) [1975985] - USB: cdc-acm: blacklist Heimann USB Appset device (Torez Smith) [1975985] - usb: xhci-mtk: allow multiple Start-Split in a microframe (Torez Smith) [1975985] - usb: ftdi-elan: remove redundant continue statement in a while-loop (Torez Smith) [1975985] - thunderbolt: test: Remove some casts which are no longer required (Torez Smith) [1975985] - xhci: remove redundant continue statement (Torez Smith) [1975985] - usb: dwc3: Fix debugfs creation flow (Torez Smith) [1975985] - docs: driver-api: usb: avoid using ReST :doc:`foo` markup (Torez Smith) [1975985] - xhci: solve a double free problem while doing s4 (Torez Smith) [1975985] - xhci: handle failed buffer copy to URB sg list and fix a W=1 copiler warning (Torez Smith) [1975985] - xhci: Add adaptive interrupt rate for isoch TRBs with XHCI_AVOID_BEI quirk (Torez Smith) [1975985] - xhci: Remove unused defines for ERST_SIZE and ERST_ENTRIES (Torez Smith) [1975985] - usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() (Torez Smith) [1975985] - usb: typec: tcpm: Relax disconnect threshold during power negotiation (Torez Smith) [1975985] - usb: typec: tcpm: Ignore Vsafe0v in PR_SWAP_SNK_SRC_SOURCE_ON state (Torez Smith) [1975985] - usb: typec: tcpci: Fix up sink disconnect thresholds for PD (Torez Smith) [1975985] - usb: core: hub: Disable autosuspend for Cypress CY7C65632 (Torez Smith) [1975985] - usb: host: xhci-tegra: Use devm_platform_get_and_ioremap_resource() (Torez Smith) [1975985] - usb: host: xhci-tegra: Add missing of_node_put() in tegra_xusb_probe() (Torez Smith) [1975985] - usb: host: xhci-tegra: add missing put_device() in tegra_xusb_probe() (Torez Smith) [1975985] - media: usb: cpia2: Fixed Coding Style issues (Torez Smith) [1975985] - media: ttusb-dec: cleanup an error handling logic (Torez Smith) [1975985] - cypress_m8: switch data_bits to real character bits (Torez Smith) [1975985] - thunderbolt: Fix DROM handling for USB4 DROM (Torez Smith) [1975985] - usb: xhci: tegra: Enable ELPG for runtime/system PM (Torez Smith) [1975985] - usb: xhci: tegra: Unlink power domain devices (Torez Smith) [1975985] - thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default() (Torez Smith) [1975985] - thunderbolt: No need to include in usb4_port.c (Torez Smith) [1975985] - thunderbolt: Poll 10ms for REG_FW_STS_NVM_AUTH_DONE to be set (Torez Smith) [1975985] - thunderbolt: Add device links only when software connection manager is used (Torez Smith) [1975985] - thunderbolt: Add support for Intel Alder Lake (Torez Smith) [1975985] - usb: typec: mux: Fix copy-paste mistake in typec_mux_match (Torez Smith) [1975985] - usb: typec: ucsi: Clear PPM capability data in ucsi_init() error path (Torez Smith) [1975985] - usb: typec: wcove: Use LE to CPU conversion when accessing msg->header (Torez Smith) [1975985] - usb: typec: ucsi: Fix a comment in ucsi_init() (Torez Smith) [1975985] - USB: dwc3: remove debugfs root dentry storage (Torez Smith) [1975985] - USB: serial: cp210x: fix CP2102N-A01 modem control (Torez Smith) [1975985] - USB: serial: cp210x: fix alternate function for CP2102N QFN20 (Torez Smith) [1975985] - usb: dwc2: Don't reset the core after setting turnaround time (Torez Smith) [1975985] - usb: dwc3: support 64 bit DMA in platform driver (Torez Smith) [1975985] - USB: core: Avoid WARNings for 0-length descriptor requests (Torez Smith) [1975985] - usb: dwc3: core: fix kernel panic when do reboot (Torez Smith) [1975985] - usb: dwc3: ep0: fix NULL pointer exception (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Put ACPI device using acpi_dev_put() (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Add missed error check for devm_ioremap_resource() (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Put fwnode in error case during ->probe() (Torez Smith) [1975985] - usb: typec: tcpm: Do not finish VDM AMS for retrying Responses (Torez Smith) [1975985] - media: cinergyt2: make properties const (Torez Smith) [1975985] - media: dvd_usb: memory leak in cinergyt2_fe_attach (Torez Smith) [1975985] - USB: serial: ftdi_sio: add NovaTech OrionMX product ID (Torez Smith) [1975985] - usb: typec: tcpm: cancel send discover hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: cancel frs hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: cancel vdm and state machine hrtimer when unregister tcpm port (Torez Smith) [1975985] - usb: typec: tcpm: Properly handle Alert and Status Messages (Torez Smith) [1975985] - usb: dwc3: meson-g12a: Disable the regulator in the error handling path of the probe (Torez Smith) [1975985] - usb: typec: tcpm: Fix misuses of AMS invocation (Torez Smith) [1975985] - usb: typec: tcpm: Introduce snk_vdo_v1 for SVDM version 1.0 (Torez Smith) [1975985] - dt-bindings: connector: Add PD rev 2.0 VDO definition (Torez Smith) [1975985] - usb: typec: tcpm: Correct the responses in SVDM Version 2.0 DFP (Torez Smith) [1975985] - Revert "usb: dwc3: core: Add shutdown callback for dwc3" (Torez Smith) [1975985] - dt-bindings: connector: Replace BIT macro with generic bit ops (Torez Smith) [1975985] - media: gspca: ov519: replace RIGHT SINGLE QUOTATION MARK (Torez Smith) [1975985] - usb: typec: intel_pmc_mux: Update IOM port status offset for AlderLake (Torez Smith) [1975985] - usb: pd: Set PD_T_SINK_WAIT_CAP to 310ms (Torez Smith) [1975985] - usb: dwc3: gadget: Bail from dwc3_gadget_exit() if dwc->gadget is NULL (Torez Smith) [1975985] - usb: dwc3: gadget: Disable gadget IRQ during pullup disable (Torez Smith) [1975985] - usb: dwc3: debugfs: Add and remove endpoint dirs dynamically (Torez Smith) [1975985] - Revert "usb: typec: mux: Remove requirement for the "orientation-switch" device property" (Torez Smith) [1975985] - media: rtl28xxu: fix zero-length control request (Torez Smith) [1975985] - media: gspca/sunplus: fix zero-length control requests (Torez Smith) [1975985] - media: gspca/gl860: fix zero-length control requests (Torez Smith) [1975985] - media: gspca/sq905: fix control-request direction (Torez Smith) [1975985] - media: dtv5100: fix control-request directions (Torez Smith) [1975985] - media: drivers/media/usb/gspca/cpia1.c : fix spelling typo (Torez Smith) [1975985] - media: drivers/media/usb/em28xx/em28xx-cards.c : fix typo issues (Torez Smith) [1975985] - media: zr364xx: fix memory leak in zr364xx_start_readpipe (Torez Smith) [1975985] - media: em28xx: Fix possible memory leak of em28xx struct (Torez Smith) [1975985] - thunderbolt: Check for NVM authentication status after the operation started (Torez Smith) [1975985] - thunderbolt: Add WRITE_ONLY and AUTHENTICATE_ONLY NVM operations for retimers (Torez Smith) [1975985] - thunderbolt: Allow router NVM authenticate separately (Torez Smith) [1975985] - thunderbolt: Move nvm_write_ops to tb.h (Torez Smith) [1975985] - thunderbolt: Log the link as TBT instead of TBT3 (Torez Smith) [1975985] - thunderbolt: Add support for retimer NVM upgrade when there is no link (Torez Smith) [1975985] - thunderbolt: Add additional USB4 port operations for retimer access (Torez Smith) [1975985] - thunderbolt: Add support for ACPI _DSM to power on/off retimers (Torez Smith) [1975985] - thunderbolt: Add USB4 port devices (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for credit allocation (Torez Smith) [1975985] - thunderbolt: Allocate credits according to router preferences (Torez Smith) [1975985] - USB: core: Check buffer length matches wLength for control transfers (Torez Smith) [1975985] - usb: typec: ucsi: Fix copy/paste issue for 'ucsi_set_drvdata()' (Torez Smith) [1975985] - usb: dwc2: gadget: Repair 'dwc2_hsotg_core_init_disconnected()'s documentation (Torez Smith) [1975985] - usb: dwc2: pci: Fix possible copy/paste issue (Torez Smith) [1975985] - usb: dwc2: hcd_queue: Fix typeo in function name 'dwc2_hs_pmap_unschedule()' (Torez Smith) [1975985] - usb: dwc2: params: Fix naming of 'dwc2_get_hwparams()' in the docs (Torez Smith) [1975985] - usb: common: ulpi: Add leading underscores for function name '__ulpi_register_driver()' (Torez Smith) [1975985] - usb: dwc2: platform: Provide function name for 'dwc2_check_core_version()' (Torez Smith) [1975985] - driver core: Move the "removable" attribute from USB to core (Torez Smith) [1975985] - usb: dwc3: trace: Remove unused fields in dwc3_log_trb (Torez Smith) [1975985] - usb: typec: mux: Remove requirement for the "orientation-switch" device property (Torez Smith) [1975985] - usb: typec: mux: Use device type instead of device name for matching (Torez Smith) [1975985] - usb: common: usb-conn-gpio: use usb_role_string() to print role status (Torez Smith) [1975985] - usb: roles: add helper usb_role_string() (Torez Smith) [1975985] - USB: serial: omninet: update driver description (Torez Smith) [1975985] - USB: serial: omninet: add device id for Zyxel Omni 56K Plus (Torez Smith) [1975985] - USB: serial: quatech2: fix control-request directions (Torez Smith) [1975985] - usb: typec: tcpci: Make symbol 'tcpci_apply_rc' static (Torez Smith) [1975985] - USB: usbfs: remove double evaluation of usb_sndctrlpipe() (Torez Smith) [1975985] - usb: typec: tcpm: Respond Not_Supported if no snk_vdo (Torez Smith) [1975985] - usb: typec: tcpm: Properly interrupt VDM AMS (Torez Smith) [1975985] - media: lmedm04: delete lme2510_get_adapter_count() (Torez Smith) [1975985] - media: dvb-usb: fix wrong definition (Torez Smith) [1975985] - USB: core: WARN if pipe direction != setup packet direction (Torez Smith) [1975985] - USB: trancevibrator: fix control-request direction (Torez Smith) [1975985] - USB: dwc2: drop irq-flags initialisations (Torez Smith) [1975985] - usb: typec: tcpci: Implement callback for apply_rc (Torez Smith) [1975985] - usb: typec: tcpm: Move TCPC to APPLY_RC state during PR_SWAP (Torez Smith) [1975985] - usb: typec: tcpm: Refactor logic to enable/disable auto vbus dicharge (Torez Smith) [1975985] - usb: typec: tcpm: Fix up PR_SWAP when vsafe0v is signalled (Torez Smith) [1975985] - usb: atm: cxacru: Fix typo in comment (Torez Smith) [1975985] - usb: isp1760: remove platform data struct and code (Torez Smith) [1975985] - usb: fix spelling mistakes in header files (Torez Smith) [1975985] - USB: serial: digi_acceleport: add chars_in_buffer locking (Torez Smith) [1975985] - USB: serial: digi_acceleport: reduce chars_in_buffer over-reporting (Torez Smith) [1975985] - usb: Restore the usb_header label (Torez Smith) [1975985] - usb: typec: tcpm: Use LE to CPU conversion when accessing msg->header (Torez Smith) [1975985] - usb: typec: mux: Fix matching with typec_altmode_desc (Torez Smith) [1975985] - misc/uss720: fix memory leak in uss720_probe (Torez Smith) [1975985] - usb: dwc3: gadget: Properly track pending and queued SG (Torez Smith) [1975985] - USB: usbfs: Don't WARN about excessively large memory allocations (Torez Smith) [1975985] - usb: common: usb-conn-gpio: use dev_err_probe() to print log (Torez Smith) [1975985] - usb: common: usb-conn-gpio: fix NULL pointer dereference of charger (Torez Smith) [1975985] - Revert "USB: Add reset-resume quirk for WD19's Realtek Hub" (Torez Smith) [1975985] - USB: Verify the port status when timeout happens during port suspend (Torez Smith) [1975985] - usb: typec: wcove: Fx wrong kernel doc format (Torez Smith) [1975985] - media: pvrusb2: fix warning in pvr2_i2c_core_done (Torez Smith) [1975985] - media: rtl2832_sdr/vivid/airspy/hackrf/msi2500: drop memset of fmt.sdr.reserved (Torez Smith) [1975985] - media: cpia2: fix memory leak in cpia2_usb_probe (Torez Smith) [1975985] - media: s2255drv: remove redundant assignment to variable field (Torez Smith) [1975985] - media: gspca: properly check for errors in po1030_probe() (Torez Smith) [1975985] - Revert "media: gspca: Check the return value of write_bridge for timeout" (Torez Smith) [1975985] - media: gspca: mt9m111: Check write_bridge for timeout (Torez Smith) [1975985] - Revert "media: gspca: mt9m111: Check write_bridge for timeout" (Torez Smith) [1975985] - Revert "media: usb: gspca: add a missed check for goto_low_power" (Torez Smith) [1975985] - usb: core: hcd: use map_urb_for_dma for single step set feature urb (Torez Smith) [1975985] - usb: dwc3: pci: Fix DEFINE for Intel Elkhart Lake (Torez Smith) [1975985] - usb: core: hub: fix race condition about TRSMRCY of resume (Torez Smith) [1975985] - usb: typec: tcpm: Fix SINK_DISCOVERY current limit for Rp-default (Torez Smith) [1975985] - xhci: Add reset resume quirk for AMD xhci controller. (Torez Smith) [1975985] - usb: xhci: Increase timeout for HC halt (Torez Smith) [1975985] - xhci: Do not use GFP_KERNEL in (potentially) atomic context (Torez Smith) [1975985] - xhci: Fix giving back cancelled URBs even if halted endpoint can't reset (Torez Smith) [1975985] - xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI (Torez Smith) [1975985] - usb: typec: tcpm: Don't block probing of consumers of "connector" nodes (Torez Smith) [1975985] - usb: xhci-mtk: use first-fit for LS/FS (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary assignments in periodic TT scheduler (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary setting of has_ippc (Torez Smith) [1975985] - usb: xhci-mtk: use bitfield instead of bool (Torez Smith) [1975985] - usb: typec: tcpm: Fix wrong handling for Not_Supported in VDM AMS (Torez Smith) [1975985] - usb: typec: tcpm: Send DISCOVER_IDENTITY from dedicated work (Torez Smith) [1975985] - usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4 (Torez Smith) [1975985] - usb: dwc3: omap: improve extcon initialization (Torez Smith) [1975985] - usb: typec: ucsi: Put fwnode in any case during ->probe() (Torez Smith) [1975985] - usb: dwc2: Remove obsolete MODULE_ constants from platform.c (Torez Smith) [1975985] - usb: dwc3: imx8mp: fix error return code in dwc3_imx8mp_probe() (Torez Smith) [1975985] - usb: dwc3: imx8mp: detect dwc3 core node via compatible string (Torez Smith) [1975985] - usb: dwc3: gadget: Return success always for kick transfer in ep queue (Torez Smith) [1975985] - usb: dwc3: gadget: Free gadget structure only after freeing endpoints (Torez Smith) [1975985] - usb: dwc2: Fix gadget DMA unmap direction (Torez Smith) [1975985] - usb: dwc3: gadget: Rename EOPF event macros to Suspend (Torez Smith) [1975985] - usb: dwc3: gadget: Enable suspend events (Torez Smith) [1975985] - usb: Restore the reference to ch9.h (Torez Smith) [1975985] - usb: dwc3: core: Add missing GHWPARAMS9 doc (Torez Smith) [1975985] - usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield (Torez Smith) [1975985] - cdc-wdm: untangle a circular dependency between callback and softint (Torez Smith) [1975985] - usb: dwc3: remove repeated setting of current_dr_role (Torez Smith) [1975985] - USB: serial: pl2303: add device id for ADLINK ND-6530 GC (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: add startech.com device id (Torez Smith) [1975985] - USB: serial: option: add Telit LE910-S1 compositions 0x7010, 0x7011 (Torez Smith) [1975985] - USB: serial: ftdi_sio: add IDs for IDS GmbH Products (Torez Smith) [1975985] - usb: Fix up movement of USB core kerneldoc location (Torez Smith) [1975985] - usb: dwc3: gadget: Handle DEV_TXF_FLUSH_BYPASS capability (Torez Smith) [1975985] - usb: dwc3: Capture new capability register GHWPARAMS9 (Torez Smith) [1975985] - usb: dwc3: core: Do core softreset when switch mode (Torez Smith) [1975985] - usb: dwc2: Get rid of useless error checks in suspend interrupt (Torez Smith) [1975985] - usb: dwc2: Update dwc2_handle_usb_suspend_intr function. (Torez Smith) [1975985] - usb: dwc2: Add exit hibernation mode before removing drive (Torez Smith) [1975985] - usb: dwc2: Add hibernation exiting flow by system resume (Torez Smith) [1975985] - usb: dwc2: Add hibernation entering flow by system suspend (Torez Smith) [1975985] - usb: dwc2: Allow exit hibernation in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Move exit hibernation to dwc2_port_resume() function (Torez Smith) [1975985] - usb: dwc2: Move enter hibernation to dwc2_port_suspend() function (Torez Smith) [1975985] - usb: dwc2: Clear GINTSTS_RESTOREDONE bit after restore is generated. (Torez Smith) [1975985] - usb: dwc2: Clear fifo_map when resetting core. (Torez Smith) [1975985] - usb: dwc2: Allow exiting hibernation from gpwrdn rst detect (Torez Smith) [1975985] - usb: dwc2: Fix hibernation between host and device modes. (Torez Smith) [1975985] - usb: dwc2: Fix host mode hibernation exit with remote wakeup flow. (Torez Smith) [1975985] - usb: dwc2: Reset DEVADDR after exiting gadget hibernation. (Torez Smith) [1975985] - usb: dwc2: Update exit hibernation when port reset is asserted (Torez Smith) [1975985] - usb: dwc3: gadget: Remove FS bInterval_m1 limitation (Torez Smith) [1975985] - usb: xhci-mtk: remove bus status check (Torez Smith) [1975985] - usb: dwc2: Enable RPi in ACPI mode (Torez Smith) [1975985] - USB: Add reset-resume quirk for WD19's Realtek Hub (Torez Smith) [1975985] - usb: storage: datafab: remove redundant assignment of variable result (Torez Smith) [1975985] - usb: misc: adutux: fix whitespace coding style issue (Torez Smith) [1975985] - usb: dwc3: gadget: Fix START_TRANSFER link state check (Torez Smith) [1975985] - usb: typec: tcpm: Fix error while calculating PPS out values (Torez Smith) [1975985] - usb: xhci-mtk: remove unused members (Torez Smith) [1975985] - usb: xhci-mtk: use clock bulk to get clocks (Torez Smith) [1975985] - usb: xhci-mtk: add support runtime PM (Torez Smith) [1975985] - usb: xhci-mtk: check return value in suspend/resume hooks (Torez Smith) [1975985] - usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby (Torez Smith) [1975985] - usb: typec: tcpm: Honour pSnkStdby requirement during negotiation (Torez Smith) [1975985] - usb: dwc3: gadget: Check for disabled LPM quirk (Torez Smith) [1975985] - usb: dwc3: core: Add shutdown callback for dwc3 (Torez Smith) [1975985] - usb: dwc3: gadget: Ignore Packet Pending bit (Torez Smith) [1975985] - USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet (Torez Smith) [1975985] - usb: typec: silence a static checker warning (Torez Smith) [1975985] - USB: cdc-acm: add more Maxlinear/Exar models to ignore list (Torez Smith) [1975985] - USB: serial: xr: add copyright notice (Torez Smith) [1975985] - USB: serial: xr: reset FIFOs on open (Torez Smith) [1975985] - USB: serial: xr: add support for XR22801, XR22802, XR22804 (Torez Smith) [1975985] - USB: serial: xr: add support for XR21B1411 (Torez Smith) [1975985] - USB: serial: xr: add support for XR21B1421, XR21B1422 and XR21B1424 (Torez Smith) [1975985] - USB: serial: xr: add type abstraction (Torez Smith) [1975985] - USB: serial: xr: drop type prefix from shared defines (Torez Smith) [1975985] - USB: serial: xr: move pin configuration to probe (Torez Smith) [1975985] - USB: serial: xr: rename GPIO-pin defines (Torez Smith) [1975985] - USB: serial: xr: rename GPIO-mode defines (Torez Smith) [1975985] - USB: serial: xr: add support for XR21V1412 and XR21V1414 (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: clean up termios CSIZE handling (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: use kernel types consistently (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: add port-command helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: clean up vendor-request helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop unnecessary packed attributes (Torez Smith) [1975985] - USB: serial: io_ti: drop unnecessary packed attributes (Torez Smith) [1975985] - USB: serial: io_ti: use kernel types consistently (Torez Smith) [1975985] - USB: serial: io_ti: add read-port-command helper (Torez Smith) [1975985] - USB: serial: io_ti: add send-port-command helper (Torez Smith) [1975985] - USB: serial: io_ti: clean up vendor-request helpers (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop drain delay for 3410 (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: reduce drain delay to one char (Torez Smith) [1975985] - USB: serial: io_ti: document reason for drain delay (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating before removing driver (Torez Smith) [1975985] - usb: dwc2: Add clock gating exiting flow by system resume (Torez Smith) [1975985] - usb: dwc2: Add clock gating entering flow by system suspend (Torez Smith) [1975985] - usb: dwc2: Allow exit clock gating in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Update exit clock gating when port is resumed (Torez Smith) [1975985] - usb: dwc2: Update enter clock gating when port is suspended (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating when port reset is asserted (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating from session request interrupt (Torez Smith) [1975985] - usb: dwc2: Add exit clock gating from wakeup interrupt (Torez Smith) [1975985] - usb: dwc2: Allow entering clock gating from USB_SUSPEND interrupt (Torez Smith) [1975985] - usb: dwc2: Add host clock gating support functions (Torez Smith) [1975985] - usb: dwc2: Add device clock gating support functions (Torez Smith) [1975985] - Revert "usb: Link the ports to the connectors they are attached to" (Torez Smith) [1975985] - USB: serial: cp210x: add gpio-configuration debug printk (Torez Smith) [1975985] - USB: serial: cp210x: provide gpio valid mask (Torez Smith) [1975985] - usb: dwc3: qcom: Detect DWC3 DT-nodes using compatible string (Torez Smith) [1975985] - usb: dwc3: qcom: Remove redundant dev_err call in dwc3_qcom_probe() (Torez Smith) [1975985] - usb: core: reduce power-on-good delay time of root hub (Torez Smith) [1975985] - USB:ehci:fix Kunpeng920 ehci hardware problem (Torez Smith) [1975985] - USB: serial: do not use tty class device for debugging (Torez Smith) [1975985] - USB: cdc-acm: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: cdc-acm: fix unprivileged TIOCCSERIAL (Torez Smith) [1975985] - Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL" (Torez Smith) [1975985] - usb: typec: tcpm: Add support for altmodes (Torez Smith) [1975985] - usb: typec: Add typec_port_register_altmodes() (Torez Smith) [1975985] - usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode() (Torez Smith) [1975985] - usb: dwc3: xilinx: Remove the extra freeing of clocks (Torez Smith) [1975985] - usb: dwc3: Resolve kernel-doc warning for Xilinx DWC3 driver (Torez Smith) [1975985] - usb: core: hub: Fix PM reference leak in usb_port_resume() (Torez Smith) [1975985] - usb: dwc3: pci: add support for the Intel Alder Lake-M (Torez Smith) [1975985] - usb: typec: Link all ports during connector registration (Torez Smith) [1975985] - usb: Iterator for ports (Torez Smith) [1975985] - usb: Link the ports to the connectors they are attached to (Torez Smith) [1975985] - usb: typec: Port mapping utility (Torez Smith) [1975985] - usb: typec: tcpm: update power supply once partner accepts (Torez Smith) [1975985] - usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply (Torez Smith) [1975985] - usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down before removing driver (Torez Smith) [1975985] - usb: dwc2: Fix partial power down exiting by system resume (Torez Smith) [1975985] - usb: dwc2: Update partial power down entering by system suspend (Torez Smith) [1975985] - usb: dwc2: Fix session request interrupt handler (Torez Smith) [1975985] - usb: dwc2: Allow exit partial power down in urb enqueue (Torez Smith) [1975985] - usb: dwc2: Add part. power down exit from dwc2_conn_id_status_change(). (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down when port reset is asserted (Torez Smith) [1975985] - usb: dwc2: Add exit partial power down when port is resumed (Torez Smith) [1975985] - usb: dwc2: Add enter partial power down when port is suspended (Torez Smith) [1975985] - usb: dwc2: Update port suspend/resume function definitions. (Torez Smith) [1975985] - usb: dwc2: Add partial power down exit flow in wakeup intr. (Torez Smith) [1975985] - usb: dwc2: Update enter and exit partial power down functions (Torez Smith) [1975985] - usb: dwc2: Add host partial power down functions (Torez Smith) [1975985] - usb: dwc2: Add device partial power down functions (Torez Smith) [1975985] - media: gscpa/stv06xx: fix memory leak (Torez Smith) [1975985] - media: gspca: Fix memory leak in probe (Torez Smith) [1975985] - media: dvb-usb: avoid -Wempty-body warnings (Torez Smith) [1975985] - media: flexcop: avoid -Wempty-body warning (Torez Smith) [1975985] - media: dvb-usb: fix memory leak in dvb_usb_adapter_init (Torez Smith) [1975985] - media: dvb-usb-remote: fix dvb_usb_nec_rc_key_to_event type mismatch (Torez Smith) [1975985] - thunderbolt: Add details to router uevent (Torez Smith) [1975985] - USB: serial: io_edgeport: drop unused definitions (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: switch to 30-second closing wait (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: drop closing_wait module parameter (Torez Smith) [1975985] - USB: serial: io_ti: switch to 30-second closing wait (Torez Smith) [1975985] - USB: serial: io_ti: drop closing_wait module parameter (Torez Smith) [1975985] - USB: serial: ftdi_sio: clean up TIOCSSERIAL (Torez Smith) [1975985] - USB: serial: ftdi_sio: simplify TIOCGSERIAL permission check (Torez Smith) [1975985] - USB: serial: ftdi_sio: ignore baud_base changes (Torez Smith) [1975985] - USB: serial: stop reporting legacy UART types (Torez Smith) [1975985] - USB: serial: add generic support for TIOCSSERIAL (Torez Smith) [1975985] - USB: serial: fix return value for unsupported ioctls (Torez Smith) [1975985] - USB: serial: whiteheat: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: usb_wwan: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: usb_wwan: fix unprivileged TIOCCSERIAL (Torez Smith) [1975985] - USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check (Torez Smith) [1975985] - USB: serial: ti_usb_3410_5052: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ssu100: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: quatech2: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: pl2303: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: opticon: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: mos7840: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: mos7720: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: io_ti: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: io_edgeport: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ftdi_sio: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - USB: serial: ark3116: fix TIOCGSERIAL implementation (Torez Smith) [1975985] - media: em28xx/em28xx.h: Remove duplicate struct declaration (Torez Smith) [1975985] - media: cx231xx/cx231xx.h: Remove repeated struct declaration (Torez Smith) [1975985] - xhci: prevent double-fetch of transfer and transfer event TRBs (Torez Smith) [1975985] - xhci: fix potential array out of bounds with several interrupters (Torez Smith) [1975985] - xhci: check control context is valid before dereferencing it. (Torez Smith) [1975985] - xhci: check port array allocation was successful before dereferencing it (Torez Smith) [1975985] - media: em28xx: fix memory leak (Torez Smith) [1975985] - usb: typec: Declare the typec_class static (Torez Smith) [1975985] - usb: typec: Organize the private headers properly (Torez Smith) [1975985] - usb: xhci-mtk: support quirk to disable usb2 lpm (Torez Smith) [1975985] - usb: xhci-mtk: fix oops when unbind driver (Torez Smith) [1975985] - usb: xhci-mtk: fix wrong remainder of bandwidth budget (Torez Smith) [1975985] - usb: dwc2: delete duplicate word in the comment (Torez Smith) [1975985] - usb: dwc2: add parenthess and space around * (Torez Smith) [1975985] - usb: dwc3: add cancelled reasons for dwc3 requests (Torez Smith) [1975985] - usb: dwc3: fix incorrect kernel-doc comment syntax in files (Torez Smith) [1975985] - usb: dwc3: st: fix incorrect kernel-doc comment syntax in file (Torez Smith) [1975985] - usb: dwc3: imx8mp: fix incorrect kernel-doc comment syntax (Torez Smith) [1975985] - USB: serial: xr: claim both interfaces (Torez Smith) [1975985] - USB: serial: add support for multi-interface functions (Torez Smith) [1975985] - USB: serial: refactor endpoint classification (Torez Smith) [1975985] - USB: serial: drop unused suspending flag (Torez Smith) [1975985] - USB: serial: xr: fix CSIZE handling (Torez Smith) [1975985] - USB: serial: iuu_phoenix: remove redundant variable 'error' (Torez Smith) [1975985] - usb: dwc3: Create helper function getting MDWIDTH (Torez Smith) [1975985] - usb: xhci-mtk: remove MODULE_ALIAS (Torez Smith) [1975985] - usb: xhci-mtk: drop CONFIG_OF (Torez Smith) [1975985] - usb: misc: usbsevseg: update to use usb_control_msg_send() (Torez Smith) [1975985] - usb: misc: ezusb: update to use usb_control_msg_send() (Torez Smith) [1975985] - usb: dwc3: gadget: modify the scale in vbus_draw callback (Torez Smith) [1975985] - usb: xhci-mtk: add support ip-sleep wakeup for mT8192 (Torez Smith) [1975985] - usb: xhci-mtk: support ip-sleep wakeup for MT8183 (Torez Smith) [1975985] - usb: dwc3: trace: Print register read and write offset (Torez Smith) [1975985] - usb: typec: tcpci_maxim: Make symbol 'max_tcpci_tcpci_write_table' static (Torez Smith) [1975985] - usbip: tools: add usage of device mode in usbip_list.c (Torez Smith) [1975985] - usbip: tools: add options and examples in man page related to device mode (Torez Smith) [1975985] - tools: usbip: list.h: fix kernel-doc for list_del() (Torez Smith) [1975985] - xhci: Fix uninitialized errors (Torez Smith) [1975985] - usb: typec: Fix a typo (Torez Smith) [1975985] - usb: xhci: Remove unused function (Torez Smith) [1975985] - usb: xhci: Rewrite xhci_create_usb3_bos_desc() (Torez Smith) [1975985] - usb: xhci: Fix port minor revision (Torez Smith) [1975985] - usb: xhci: Init root hub SSP rate (Torez Smith) [1975985] - thunderbolt: Unlock on error path in tb_domain_add() (Torez Smith) [1975985] - usb: core: sysfs: Check for SSP rate in speed attr (Torez Smith) [1975985] - usb: core: hub: Print speed name based on ssp rate (Torez Smith) [1975985] - usb: core: hub: Remove port_speed_is_ssp() (Torez Smith) [1975985] - usb: core: Track SuperSpeed Plus GenXxY (Torez Smith) [1975985] - usb: dwc3: gadget: Avoid continuing preparing TRBs during teardown (Torez Smith) [1975985] - USB: xhci: drop workaround for forced irq threading (Torez Smith) [1975985] - usb: dwc3: Add driver for Xilinx platforms (Torez Smith) [1975985] - USB: core: rename usb_driver_claim_interface() data parameter (Torez Smith) [1975985] - USB: core: drop outdated interface-binding comment (Torez Smith) [1975985] - media: media/usb: fix kernel-doc header issues (Torez Smith) [1975985] - media: gspca/sq905.c: fix uninitialized variable (Torez Smith) [1975985] - media: media/usb/gspca/w996Xcf.c: /** -> /* (Torez Smith) [1975985] - media: flexcop-usb: delete unneeded return (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for DMA tunnels (Torez Smith) [1975985] - thunderbolt: Add support for USB4 DROM (Torez Smith) [1975985] - thunderbolt: Check quirks in tb_switch_add() (Torez Smith) [1975985] - thunderbolt: Add KUnit tests for XDomain properties (Torez Smith) [1975985] - thunderbolt: Drop unused tb_port_set_initial_credits() (Torez Smith) [1975985] - thunderbolt: Use dedicated flow control for DMA tunnels (Torez Smith) [1975985] - thunderbolt: Allow multiple DMA tunnels over a single XDomain connection (Torez Smith) [1975985] - thunderbolt: Add support for maxhopid XDomain property (Torez Smith) [1975985] - thunderbolt: Add tb_property_copy_dir() (Torez Smith) [1975985] - thunderbolt: Align XDomain protocol timeouts with the spec (Torez Smith) [1975985] - thunderbolt: Use pseudo-random number as initial property block generation (Torez Smith) [1975985] - thunderbolt: Do not re-establish XDomain DMA paths automatically (Torez Smith) [1975985] - thunderbolt: Decrease control channel timeout for software connection manager (Torez Smith) [1975985] - thunderbolt: Disable retry logic for intra-domain control packets (Torez Smith) [1975985] - thunderbolt: Do not pass timeout for tb_cfg_reset() (Torez Smith) [1975985] - thunderbolt: Add more logging to XDomain connections (Torez Smith) [1975985] - usb: typec: tcpm: PD3.0 sinks can send Discover Identity even in device mode (Torez Smith) [1975985] - drivers: usb: Fix a typo in dwc3-qcom.c (Torez Smith) [1975985] - usb: webcam: Invalid size of Processing Unit Descriptor (Torez Smith) [1975985] - usb: typec: tcpci: Added few missing TCPCI register definitions (Torez Smith) [1975985] - USB: serial: pl2303: TA & TB alternate divider with non-standard baud rates (Torez Smith) [1975985] - USB: serial: pl2303: add device-type names (Torez Smith) [1975985] - USB: serial: pl2303: tighten type HXN (G) detection (Torez Smith) [1975985] - USB: serial: pl2303: rename legacy PL2303H type (Torez Smith) [1975985] - USB: serial: pl2303: amend and tighten type detection (Torez Smith) [1975985] - USB: serial: pl2303: clean up type detection (Torez Smith) [1975985] - USB: serial: io_edgeport: drop unneeded forward declarations (Torez Smith) [1975985] - USB: serial: keyspan: drop unneeded forward declarations (Torez Smith) [1975985] - usb: typec: tipd: Separate file for tracepoint creation (Torez Smith) [1975985] - usb: typec: tps6598x: Move the driver under its own subdirectory (Torez Smith) [1975985] - usb: typec: tps6598x: Fix tracepoint header file (Torez Smith) [1975985] - usb: typec: tcpci: Refactor tcpc_presenting_cc1_rd macro (Torez Smith) [1975985] - thunderbolt: debugfs: Show all accessible dwords (Torez Smith) [1975985] - media: fix incorrect kernel doc usages (Torez Smith) [1975985] - media: drivers/media/usb: fix memory leak in zr364xx_probe (Torez Smith) [1975985] - media: anysee: simplify the return expression of anysee_ci_* function (Torez Smith) [1975985] - media: media/usb:Remove superfluous "breaks" in the ttusb_dec.c (Torez Smith) [1975985] - media: media/usb:Remove superfluous "breaks" (Torez Smith) [1975985] - media: usbtv: constify static structs (Torez Smith) [1975985] - media: em28xx: Add pid for bulk revision of Hauppauge 461eV2 (Torez Smith) [1975985] - media: em28xx: Add pid for bulk revision of Hauppauge 461e (Torez Smith) [1975985] - media: dvb-usb: Fix use-after-free access (Torez Smith) [1975985] - media: dvb-usb: Fix memory leak at error in dvb_usb_device_init() (Torez Smith) [1975985] - media: dvb-usb: make dvb_usb_device_properties const (Torez Smith) [1975985] - usb: typec: tps6598x: Fix return value check in tps6598x_probe() (Torez Smith) [1975985] - usb: typec: stusb160x: fix return value check in stusb160x_probe() (Torez Smith) [1975985] - usb: typec: tcpm: turn tcpm_ams_finish into void function (Torez Smith) [1975985] - usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS (Torez Smith) [1975985] - usb: common: move function's kerneldoc next to its definition (Torez Smith) [1975985] - usb: xhci-mtk: print debug info of endpoint interval (Torez Smith) [1975985] - usb: common: add function to get interval expressed in us unit (Torez Smith) [1975985] - usb: xhci-mtk: support to build xhci-mtk-hcd.ko (Torez Smith) [1975985] - usb: xhci-mtk: remove declaration of xhci_mtk_setup() (Torez Smith) [1975985] - usb: xhci-mtk: add some schedule error number (Torez Smith) [1975985] - usb: xhci-mtk: rebuild the way to get bandwidth domain (Torez Smith) [1975985] - usb: xhci-mtk: use @tt_info to check the FS/LS device is under a HS hub (Torez Smith) [1975985] - usb: xhci-mtk: add a member @speed in mu3h_sch_ep_info struct (Torez Smith) [1975985] - usb: xhci-mtk: use clear type instead of void (Torez Smith) [1975985] - usb: xhci-mtk: remove unnecessary members of mu3h_sch_tt struct (Torez Smith) [1975985] - usb: xhci-mtk: add a function to get bandwidth boundary (Torez Smith) [1975985] - usb: xhci-mtk: add a function to (un)load bandwidth info (Torez Smith) [1975985] - usb: xhci-mtk: use @sch_tt to check whether need do TT schedule (Torez Smith) [1975985] - usb: xhci-mtk: add only one extra CS for FS/LS INTR (Torez Smith) [1975985] - usb: xhci-mtk: get the microframe boundary for ESIT (Torez Smith) [1975985] - usb: dwc3: Fix dereferencing of null dwc->usb_psy (Torez Smith) [1975985] - media: uvc: don't do DMA on stack (Torez Smith) [1975985] - usb: dwc3: document usb_psy in struct dwc3 (Torez Smith) [1975985] - media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K (Torez Smith) [1975985] - USB: typec: tcpm: create debugfs subdir for the driver (Torez Smith) [1975985] - usb: dwc2: Add STM32 related debugfs entries (Torez Smith) [1975985] - media: uvcvideo: Support devices that report an OT as an entity source (Torez Smith) [1975985] - media: uvcvideo: Fix XU id print in forward scan (Torez Smith) [1975985] - USB: typec: fusb302: create debugfs subdir for the driver (Torez Smith) [1975985] - media: uvcvideo: Use dma_alloc_noncontiguous API (Torez Smith) [1975985] - USB: host: uhci: remove dentry pointer for debugfs (Torez Smith) [1975985] - media: uvc: strncpy -> strscpy (Torez Smith) [1975985] - media: uvcvideo: Rename debug functions (Torez Smith) [1975985] - media: uvcvideo: use dev_printk() for uvc_trace() (Torez Smith) [1975985] - media: uvcvideo: New macro uvc_trace_cont (Torez Smith) [1975985] - USB: core: no need to save usb_devices_root (Torez Smith) [1975985] - media: uvcvideo: Use dev_ printk aliases (Torez Smith) [1975985] - usb: dwc3: add an alternate path in vbus_draw callback (Torez Smith) [1975985] - media: uvcvideo: Add Privacy control based on EXT_GPIO (Torez Smith) [1975985] - usb: dwc3: add a power supply for current control (Torez Smith) [1975985] - media: uvcvideo: Implement UVC_EXT_GPIO_UNIT (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for data status (Torez Smith) [1975985] - media: uvcvideo: Allow entity-defined get_info and get_cur (Torez Smith) [1975985] - media: uvcvideo: Provide sync and async uvc_ctrl_status_event (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for power status register (Torez Smith) [1975985] - media: uvcvideo: Allow entities with no pads (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for status register (Torez Smith) [1975985] - media: uvcvideo: Allow extra entities (Torez Smith) [1975985] - usb: typec: tps6598x: Add trace event for IRQ events (Torez Smith) [1975985] - tty: make everyone's write_room return >= 0 (Torez Smith) [1975985] - media: uvcvideo: Move guid to entity (Torez Smith) [1975985] - USB: serial: xr: fix NULL-deref on disconnect (Torez Smith) [1975985] - media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values (Torez Smith) [1975985] - thunderbolt: Drop unused functions tb_switch_is_[ice|tiger]_lake() (Torez Smith) [1975985] - media: uvcvideo: Force UVC version to 1.0a for 1bcf:0b40 (Torez Smith) [1975985] - thunderbolt: debugfs: Handle fail reading block (Torez Smith) [1975985] - media: uvcvideo: Use DIV_ROUND_CLOSEST directly to make it readable (Torez Smith) [1975985] - media: usb: uvc: no need to check return value of debugfs_create functions (Torez Smith) [1975985] - media: uvcvideo: Convey full colorspace information to V4L2 (Torez Smith) [1975985] - driver core: fw_devlink: Detect supplier devices that will never be added (Torez Smith) [1975985] - media: uvcvideo: Ensure all probed info is returned to v4l2 (Torez Smith) [1975985] - media: uvcvideo: Silence shift-out-of-bounds warning (Torez Smith) [1975985] - media: uvcvideo: Fix dereference of out-of-bound list iterator (Torez Smith) [1975985] - media: zr364xx: fix memory leaks in probe() (Torez Smith) [1975985] - media: uvcvideo: Cleanup uvc_ctrl_add_info() error handling (Torez Smith) [1975985] - USB: serial: xr: fix B0 handling (Torez Smith) [1975985] - media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect (Torez Smith) [1975985] - USB: serial: xr: fix pin configuration (Torez Smith) [1975985] - media: uvcvideo: Replace HTTP links with HTTPS ones (Torez Smith) [1975985] - USB: serial: xr: fix gpio-mode handling (Torez Smith) [1975985] - media: uvcvideo: Set media controller entity functions (Torez Smith) [1975985] - USB: serial: xr: simplify line-speed logic (Torez Smith) [1975985] - media: uvcvideo: Add mapping for HEVC payloads (Torez Smith) [1975985] - USB: serial: xr: clean up line-settings handling (Torez Smith) [1975985] - media: uvcvideo: Fix annotation for uvc_video_clock_update() (Torez Smith) [1975985] - USB: serial: xr: document vendor-request recipient (Torez Smith) [1975985] - USB: serial: xr: use termios flag helpers (Torez Smith) [1975985] - USB: serial: xr: use subsystem usb_device at probe (Torez Smith) [1975985] - media: media/usb: rename VFL_TYPE_GRABBER to _VIDEO (Torez Smith) [1975985] - USB: serial: xr: fix interface leak at disconnect (Torez Smith) [1975985] - media: rename VFL_TYPE_GRABBER to _VIDEO (Torez Smith) [1975985] - USB: serial: xr: fix NULL-deref at probe (Torez Smith) [1975985] - USB: cdc-acm: ignore Exar XR21V141X when serial driver is built (Torez Smith) [1975985] - media: uvcvideo: drop error check of debugfs_create_dir() (Torez Smith) [1975985] - USB: serial: add MaxLinear/Exar USB to Serial driver (Torez Smith) [1975985] - media: uvcvideo: Fix a typo in UVC_METATADA_BUF_SIZE (Torez Smith) [1975985] - media: uvcvideo: Fix error path in control parsing failure (Torez Smith) [1975985] - media: drivers/media: don't set pix->priv = 0 (Torez Smith) [1975985] - media: Bulk remove BUG_ON(in_interrupt()) (Torez Smith) [1975985] - media: zr364xx: propagate errors from zr364xx_start_readpipe() (Torez Smith) [1975985] - media: uvcvideo: Add a D4M camera description (Torez Smith) [1975985] - media: em28xx: Enable Hauppauge 461e rev2 (Torez Smith) [1975985] - crypto: qat - fix definition of ring reset results (Vladis Dronov) [1960307] - crypto: qat - add support for compression for 4xxx (Vladis Dronov) [1960307] - crypto: qat - allow detection of dc capabilities for 4xxx (Vladis Dronov) [1960307] - crypto: qat - add PFVF support to enable the reset of ring pairs (Vladis Dronov) [1960307] - crypto: qat - add PFVF support to the GEN4 host driver (Vladis Dronov) [1960307] - crypto: qat - config VFs based on ring-to-svc mapping (Vladis Dronov) [1960307] - crypto: qat - exchange ring-to-service mappings over PFVF (Vladis Dronov) [1960307] - crypto: qat - support fast ACKs in the PFVF protocol (Vladis Dronov) [1960307] - crypto: qat - exchange device capabilities over PFVF (Vladis Dronov) [1960307] - crypto: qat - introduce support for PFVF block messages (Vladis Dronov) [1960307] - crypto: qat - store the ring-to-service mapping (Vladis Dronov) [1960307] - crypto: qat - store the PFVF protocol version of the endpoints (Vladis Dronov) [1960307] - crypto: qat - improve the ACK timings in PFVF send (Vladis Dronov) [1960307] - crypto: qat - leverage read_poll_timeout in PFVF send (Vladis Dronov) [1960307] - crypto: qat - leverage bitfield.h utils for PFVF messages (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF messages with struct pfvf_message (Vladis Dronov) [1960307] - crypto: qat - set PFVF_MSGORIGIN just before sending (Vladis Dronov) [1960307] - crypto: qat - make PFVF send and receive direction agnostic (Vladis Dronov) [1960307] - crypto: qat - make PFVF message construction direction agnostic (Vladis Dronov) [1960307] - crypto: qat - add the adf_get_pmisc_base() helper function (Vladis Dronov) [1960307] - crypto: qat - support the reset of ring pairs on PF (Vladis Dronov) [1960307] - crypto: qat - extend crypto capability detection for 4xxx (Vladis Dronov) [1960307] - crypto: qat - set COMPRESSION capability for QAT GEN2 (Vladis Dronov) [1960307] - crypto: qat - set CIPHER capability for QAT GEN2 (Vladis Dronov) [1960307] - crypto: qat - get compression extended capabilities (Vladis Dronov) [1960307] - crypto: qat - improve logging of PFVF messages (Vladis Dronov) [1960307] - crypto: qat - fix VF IDs in PFVF log messages (Vladis Dronov) [1960307] - crypto: qat - do not rely on min version (Vladis Dronov) [1960307] - crypto: qat - refactor pfvf version request messages (Vladis Dronov) [1960307] - crypto: qat - pass the PF2VF responses back to the callers (Vladis Dronov) [1960307] - crypto: qat - use enums for PFVF protocol codes (Vladis Dronov) [1960307] - crypto: qat - reorganize PFVF protocol definitions (Vladis Dronov) [1960307] - crypto: qat - reorganize PFVF code (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF receive logic (Vladis Dronov) [1960307] - crypto: qat - abstract PFVF send function (Vladis Dronov) [1960307] - crypto: qat - differentiate between pf2vf and vf2pf offset (Vladis Dronov) [1960307] - crypto: qat - add pfvf_ops (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF disabled function (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF VF related logic (Vladis Dronov) [1960307] - crypto: qat - relocate PFVF PF related logic (Vladis Dronov) [1960307] - crypto: qat - handle retries due to collisions in adf_iov_putmsg() (Vladis Dronov) [1960307] - crypto: qat - split PFVF message decoding from handling (Vladis Dronov) [1960307] - crypto: qat - re-enable interrupts for legacy PFVF messages (Vladis Dronov) [1960307] - crypto: qat - change PFVF ACK behaviour (Vladis Dronov) [1960307] - crypto: qat - move interrupt code out of the PFVF handler (Vladis Dronov) [1960307] - crypto: qat - move VF message handler to adf_vf2pf_msg.c (Vladis Dronov) [1960307] - crypto: qat - move vf2pf interrupt helpers (Vladis Dronov) [1960307] - crypto: qat - refactor PF top half for PFVF (Vladis Dronov) [1960307] - crypto: qat - fix undetected PFVF timeout in ACK loop (Vladis Dronov) [1960307] - crypto: qat - do not handle PFVF sources for qat_4xxx (Vladis Dronov) [1960307] - crypto: qat - simplify adf_enable_aer() (Vladis Dronov) [1960307] - crypto: qat - share adf_enable_pf2vf_comms() from adf_pf2vf_msg.c (Vladis Dronov) [1960307] - crypto: qat - extract send and wait from adf_vf2pf_request_version() (Vladis Dronov) [1960307] - crypto: qat - add VF and PF wrappers to common send function (Vladis Dronov) [1960307] - crypto: qat - rename pfvf collision constants (Vladis Dronov) [1960307] - crypto: qat - move pfvf collision detection values (Vladis Dronov) [1960307] - crypto: qat - make pfvf send message direction agnostic (Vladis Dronov) [1960307] - crypto: qat - use hweight for bit counting (Vladis Dronov) [1960307] - crypto: qat - remove duplicated logic across GEN2 drivers (Vladis Dronov) [1960307] - crypto: qat - fix handling of VF to PF interrupts (Vladis Dronov) [1960307] - crypto: qat - remove unnecessary collision prevention step in PFVF (Vladis Dronov) [1960307] - crypto: qat - disregard spurious PFVF interrupts (Vladis Dronov) [1960307] - crypto: qat - detect PFVF collision after ACK (Vladis Dronov) [1960307] - crypto: qat - power up 4xxx device (Vladis Dronov) [1960307] - crypto: qat - remove unneeded packed attribute (Vladis Dronov) [1960307] - crypto: qat - free irq in case of failure (Vladis Dronov) [1960307] - crypto: qat - free irqs only if allocated (Vladis Dronov) [1960307] - crypto: qat - remove unmatched CPU affinity to cluster IRQ (Vladis Dronov) [1960307] - crypto: qat - replace deprecated MSI API (Vladis Dronov) [1960307] - crypto: qat - store vf.compatible flag (Vladis Dronov) [1960307] - crypto: qat - do not export adf_iov_putmsg() (Vladis Dronov) [1960307] - crypto: qat - flush vf workqueue at driver removal (Vladis Dronov) [1960307] - crypto: qat - remove the unnecessary get_vintmsk_offset() (Vladis Dronov) [1960307] - crypto: qat - fix naming of PF/VF enable functions (Vladis Dronov) [1960307] - crypto: qat - complete all the init steps before service notification (Vladis Dronov) [1960307] - crypto: qat - move IO virtualization functions (Vladis Dronov) [1960307] - crypto: qat - fix naming for init/shutdown VF to PF notifications (Vladis Dronov) [1960307] - crypto: qat - protect interrupt mask CSRs with a spinlock (Vladis Dronov) [1960307] - crypto: qat - move pf2vf interrupt [en|dis]able to adf_vf_isr.c (Vladis Dronov) [1960307] - crypto: qat - fix reuse of completion variable (Vladis Dronov) [1960307] - crypto: qat - remove intermediate tasklet for vf2pf (Vladis Dronov) [1960307] - crypto: qat - rename compatibility version definition (Vladis Dronov) [1960307] - crypto: qat - prevent spurious MSI interrupt in PF (Vladis Dronov) [1960307] - crypto: qat - prevent spurious MSI interrupt in VF (Vladis Dronov) [1960307] - crypto: qat - handle both source of interrupt in VF ISR (Vladis Dronov) [1960307] - crypto: qat - do not ignore errors from enable_vf2pf_comms() (Vladis Dronov) [1960307] - crypto: qat - enable interrupts only after ISR allocation (Vladis Dronov) [1960307] - crypto: qat - remove empty sriov_configure() (Vladis Dronov) [1960307] - crypto: qat - use proper type for vf_mask (Vladis Dronov) [1960307] - crypto: qat - fix a typo in a comment (Vladis Dronov) [1960307] - crypto: qat - disable AER if an error occurs in probe functions (Vladis Dronov) [1960307] - crypto: qat - set DMA mask to 48 bits for Gen2 (Vladis Dronov) [1960307] - crypto: qat - simplify code and axe the use of a deprecated API (Vladis Dronov) [1960307] - crypto: qat - ratelimit invalid ioctl message and print the invalid cmd (Vladis Dronov) [1960307] - lib: crc8: pointer to data block should be const (Vladis Dronov) [1960307] - redhat/configs: disable CONFIG_HYPERV_BALLOON on Aarch64 (Vitaly Kuznetsov) [2035292] - net/mlx5e: Fix possible use-after-free deleting fdb rule (Amir Tzin) [2000003] - e1000e: Fix packet loss on Tiger Lake and later (Ken Cox) [1952803] - e1000e: Separate TGP board type from SPT (Ken Cox) [1952803] - e1000e: Add support for the next LOM generation (Ken Cox) [1952803] - e1000e: Add support for Lunar Lake (Ken Cox) [1952803] - ACPI: tables: FPDT: Do not print FW_BUG message if record types are reserved (Mark Langsdorf) [1999906] - powerpc/xmon: Dump XIVE information for online-only processors. (Steve Best) [2037639] - of: net: pass the dst buffer to of_get_mac_address() (Petr Oros) [2026468] - net: ethernet: improve eth_platform_get_mac_address (Petr Oros) [2026468] - net: ethernet: fix similar warning reported by kbuild test robot (Petr Oros) [2026468] - net: ethernet: support of_get_mac_address new ERR_PTR error (Petr Oros) [2026468] - [s390] s390: add HWCAP_S390_PCI_MIO to ELF hwcaps (Mete Durlu) [2030641] - [s390] s390: make PCI mio support a machine flag (Mete Durlu) [2030641] - Allocate bw_dwork as a pointer and introduce a backpointer in the work struct (Nico Pache) [1990580] - writeback: use READ_ONCE for unlocked reads of writeback stats (Nico Pache) [1990580] - writeback: rename domain_update_bandwidth() (Nico Pache) [1990580] - writeback: fix bandwidth estimate for spiky workload (Nico Pache) [1990580] - writeback: reliably update bandwidth estimation (Nico Pache) [1990580] - writeback: track number of inodes under writeback (Nico Pache) [1990580] - bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag (Nico Pache) [1990580] - bdi: invert BDI_CAP_NO_ACCT_WB (Nico Pache) [1990580] - bdi: replace BDI_CAP_STABLE_WRITES with a queue and a sb flag (Nico Pache) [1990580] - mm: use SWP_SYNCHRONOUS_IO more intelligently (Nico Pache) [1990580] - bdi: remove BDI_CAP_SYNCHRONOUS_IO (Nico Pache) [1990580] - bcache: inherit the optimal I/O size (Nico Pache) [1990580] - fs: remove the unused SB_I_MULTIROOT flag (Nico Pache) [1990580] - Revert "bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag" (Nico Pache) [1990580] - mm/page_io.c: annotate refault stalls from swap_readpage (Nico Pache) [1990580] - mmc: mmc_spi: Enable stable writes (Nico Pache) [1990580] - virtio-blk: modernize sysfs attribute creation (Nico Pache) [1990580] - aoe: register default groups with device_add_disk() (Nico Pache) [1990580] - block: make QUEUE_SYSFS_BIT_FNS more useful (Nico Pache) [1990580] - block: add helper macros for queue sysfs entries (Nico Pache) [1990580] - cifs: sanitize multiple delimiters in prepath (Thiago Becker) [2031200] - igc: Fix typo in i225 LTR functions (Corinna Vinschen) [1970667] - igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS (Corinna Vinschen) [1970667] - igc: Change Device Reset to Port Reset (Corinna Vinschen) [1970667] - igc: Add new device ID (Corinna Vinschen) [1970667] - igc: Remove media type checking on the PHY initialization (Corinna Vinschen) [1970667] - igc: Update I226_K device ID (Corinna Vinschen) [1970667] - net: intel: igc_ptp: fix build for UML (Corinna Vinschen) [1970667] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970667] - igc: Add support for CBS offloading (Corinna Vinschen) [1970667] - igc: Simplify TSN flags handling (Corinna Vinschen) [1970667] - igc: Use default cycle 'start' and 'end' values for queues (Corinna Vinschen) [1970667] - igc: Add support for PTP getcrosststamp() (Corinna Vinschen) [1970667] - igc: Enable PCIe PTM (Corinna Vinschen) [1970667] - igc: Use num_tx_queues when iterating over tx_ring queue (Corinna Vinschen) [1970667] - igc: fix page fault when thunderbolt is unplugged (Corinna Vinschen) [1970667] - igc: Increase timeout value for Speed 100/1000/2500 (Corinna Vinschen) [1970667] - igc: Set QBVCYCLET_S to 0 for TSN Basic Scheduling (Corinna Vinschen) [1970667] - igc: Remove phy->type checking (Corinna Vinschen) [1970667] - igc: Remove _I_PHY_ID checking (Corinna Vinschen) [1970667] - igc: Check if num of q_vectors is smaller than max before array access (Corinna Vinschen) [1970667] - Revert "igc: Export LEDs" (Corinna Vinschen) [1970667] - igc: Export LEDs (Corinna Vinschen) [1970667] - igc: Make flex filter more flexible (Corinna Vinschen) [1970667] - igc: Allow for Flex Filters to be installed (Corinna Vinschen) [1970667] - igc: Integrate flex filter into ethtool ops (Corinna Vinschen) [1970667] - igc: Add possibility to add flex filter (Corinna Vinschen) [1970667] - igc: Fix an error handling path in 'igc_probe()' (Corinna Vinschen) [1970667] - igc: change default return of igc_read_phy_reg() (Corinna Vinschen) [1970667] - igc: Fix use-after-free error during reset (Corinna Vinschen) [1970667] - intel: Remove rcu_read_lock() around XDP program invocation (Corinna Vinschen) [1970667] - igc: Enable HW VLAN Insertion and HW VLAN Stripping (Corinna Vinschen) [1970667] - igc: Indentation fixes (Corinna Vinschen) [1970667] - igc: Remove unused MDICNFG register (Corinna Vinschen) [1970667] - igc: Remove unused asymmetric pause bit from igc defines (Corinna Vinschen) [1970667] - igc: Update driver to use ethtool_sprintf (Corinna Vinschen) [1970667] - igc: add correct exception tracing for XDP (Corinna Vinschen) [1970667] - igb/igc: use strongly typed pointer (Corinna Vinschen) [1970667] - intel: remove checker warning (Corinna Vinschen) [1970667] - igc: Enable TX via AF_XDP zero-copy (Corinna Vinschen) [1970667] - igc: Enable RX via AF_XDP zero-copy (Corinna Vinschen) [1970667] - igc: Replace IGC_TX_FLAGS_XDP flag by an enum (Corinna Vinschen) [1970667] - igc: Introduce igc_unmap_tx_buffer() helper (Corinna Vinschen) [1970667] - igc: Introduce TX/RX stats helpers (Corinna Vinschen) [1970667] - igc: Refactor XDP rxq info registration (Corinna Vinschen) [1970667] - igc: Refactor igc_clean_rx_ring() (Corinna Vinschen) [1970667] - igc: Refactor __igc_xdp_run_prog() (Corinna Vinschen) [1970667] - igc: Move igc_xdp_is_enabled() (Corinna Vinschen) [1970667] - igc: use XDP helpers (Corinna Vinschen) [1970667] - igc: Expose LPI counters (Corinna Vinschen) [1970667] - igc: enable auxiliary PHC functions for the i225 (Corinna Vinschen) [1970667] - igc: Enable internal i225 PPS (Corinna Vinschen) [1970667] - igc: Add support for XDP_REDIRECT action (Corinna Vinschen) [1970667] - igc: Add support for XDP_TX action (Corinna Vinschen) [1970667] - igc: Add initial XDP support (Corinna Vinschen) [1970667] - drivers: net: mhi: fix error path in mhi_net_newlink (Íñigo Huguet) [2004141] - cfg80211: correct bridge/4addr mode check (Íñigo Huguet) [2004141] - cfg80211: fix management registrations locking (Íñigo Huguet) [2004141] - cfg80211: scan: fix RCU in cfg80211_add_nontrans_list() (Íñigo Huguet) [2004141] - mac80211: mesh: fix HE operation element length check (Íñigo Huguet) [2004141] - mwifiex: avoid null-pointer-subtraction warning (Íñigo Huguet) [2004141] - Revert "brcmfmac: use ISO3166 country code and 0 rev as fallback" (Íñigo Huguet) [2004141] - iwlwifi: pcie: add configuration of a Wi-Fi adapter on Dell XPS 15 (Íñigo Huguet) [2004141] - mac80211: Fix Ptk0 rekey documentation (Íñigo Huguet) [2004141] - mac80211: check return value of rhashtable_init (Íñigo Huguet) [2004141] - mac80211: fix use-after-free in CCMP/GCMP RX (Íñigo Huguet) [2004141] - mac80211-hwsim: fix late beacon hrtimer handling (Íñigo Huguet) [2004141] - mac80211: mesh: fix potentially unaligned access (Íñigo Huguet) [2004141] - mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap (Íñigo Huguet) [2004141] - mac80211: Drop frames from invalid MAC address in ad-hoc mode (Íñigo Huguet) [2004141] - mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug (Íñigo Huguet) [2004141] - Revert "mac80211: do not use low data rates for data frames with no ack flag" (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: missing unlock in iwl_mvm_wowlan_program_keys() (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: Fix off by ones in iwl_mvm_wowlan_get_rsc_v5_data() (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix possible NULL dereference (Íñigo Huguet) [2004141] - iwlwifi: fix printk format warnings in uefi.c (Íñigo Huguet) [2004141] - iwlwifi: pnvm: Fix a memory leak in 'iwl_pnvm_get_from_fs()' (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 66 for AX devices (Íñigo Huguet) [2004141] - iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Íñigo Huguet) [2004141] - iwlwifi: mvm: add rtnl_lock() in iwl_mvm_start_get_nvm() (Íñigo Huguet) [2004141] - net: qrtr: revert check in qrtr_endpoint_post() (Íñigo Huguet) [2004141] - net: qrtr: make checks in qrtr_endpoint_post() stricter (Íñigo Huguet) [2004141] - intel: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2004141] - mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ devices (Íñigo Huguet) [2004141] - mwifiex: pcie: add DMI-based quirk implementation for Surface devices (Íñigo Huguet) [2004141] - brcmfmac: pcie: fix oops on failure to resume and reprobe (Íñigo Huguet) [2004141] - brcmfmac: Add WPA3 Personal with FT to supported cipher suites (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Fix initialization of place in _rtl92c_phy_get_rightchnlplace() (Íñigo Huguet) [2004141] - rtw88: add quirk to disable pci caps on HP Pavilion 14-ce0xxx (Íñigo Huguet) [2004141] - ath9k: fix sleeping in atomic context (Íñigo Huguet) [2004141] - ath9k: fix OOB read ar9300_eeprom_restore_internal (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't use FW key ID in beacon protection (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix scan channel flags settings (Íñigo Huguet) [2004141] - iwlwifi: mvm: support broadcast TWT alone (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_stored_beacon_notif_v3 (Íñigo Huguet) [2004141] - iwlwifi: move get pnvm file name to a separate function (Íñigo Huguet) [2004141] - iwlwifi: mvm: add support for responder config command version 9 (Íñigo Huguet) [2004141] - iwlwifi: mvm: add support for range request command version 13 (Íñigo Huguet) [2004141] - iwlwifi: allow debug init in RF-kill (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't schedule the roc_done_wk if it is already running (Íñigo Huguet) [2004141] - iwlwifi: yoyo: support for new DBGI_SRAM region (Íñigo Huguet) [2004141] - iwlwifi: add 'Rx control frame to MBSSID' HE capability (Íñigo Huguet) [2004141] - iwlwifi: fw: fix debug dump data declarations (Íñigo Huguet) [2004141] - iwlwifi: api: remove datamember from struct (Íñigo Huguet) [2004141] - iwlwifi: fix __percpu annotation (Íñigo Huguet) [2004141] - iwlwifi: pcie: avoid dma unmap/remap in crash dump (Íñigo Huguet) [2004141] - iwlwifi: acpi: fill in SAR tables with defaults (Íñigo Huguet) [2004141] - iwlwifi: acpi: fill in WGDS table with defaults (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 65 for AX devices (Íñigo Huguet) [2004141] - iwlwifi: acpi: support reading and storing WGDS revision 2 (Íñigo Huguet) [2004141] - iwlwifi: mvm: load regdomain at INIT stage (Íñigo Huguet) [2004141] - iwlwifi: mvm: Read the PPAG and SAR tables at INIT stage (Íñigo Huguet) [2004141] - iwlwifi: mvm: trigger WRT when no beacon heard (Íñigo Huguet) [2004141] - iwlwifi: fw: correctly limit to monitor dump (Íñigo Huguet) [2004141] - iwlwifi: skip first element in the WTAS ACPI table (Íñigo Huguet) [2004141] - iwlwifi: mvm: support version 11 of wowlan statuses notification (Íñigo Huguet) [2004141] - iwlwifi: convert flat GEO profile table to a struct version (Íñigo Huguet) [2004141] - iwlwifi: remove unused ACPI_WGDS_TABLE_SIZE definition (Íñigo Huguet) [2004141] - iwlwifi: support reading and storing EWRD revisions 1 and 2 (Íñigo Huguet) [2004141] - iwlwifi: acpi: support reading and storing WRDS revision 1 and 2 (Íñigo Huguet) [2004141] - iwlwifi: pass number of chains and sub-bands to iwl_sar_set_profile() (Íñigo Huguet) [2004141] - iwlwifi: remove ACPI_SAR_NUM_TABLES definition (Íñigo Huguet) [2004141] - iwlwifi: convert flat SAR profile table to a struct version (Íñigo Huguet) [2004141] - iwlwifi: rename ACPI_SAR_NUM_CHAIN_LIMITS to ACPI_SAR_NUM_CHAINS (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix access to BSS elements (Íñigo Huguet) [2004141] - iwlwifi: mvm: Refactor setting of SSIDs for 6GHz scan (Íñigo Huguet) [2004141] - iwlwifi: mvm: silently drop encrypted frames for unknown station (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: implement RSC command version 5 (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: make key reprogramming iteration optional (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: add separate key iteration for GTK type (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: refactor TSC/RSC configuration (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: remove fixed cmd_flags argument (Íñigo Huguet) [2004141] - iwlwifi: mvm: d3: separate TKIP data from key iteration (Íñigo Huguet) [2004141] - iwlwifi: mvm: simplify __iwl_mvm_set_sta_key() (Íñigo Huguet) [2004141] - iwlwifi: mvm: support new station key API (Íñigo Huguet) [2004141] - iwlwifi: mvm: Fix umac scan request probe parameters (Íñigo Huguet) [2004141] - iwlwifi: pcie: implement Bz reset flow (Íñigo Huguet) [2004141] - iwlwifi: implement Bz NMI behaviour (Íñigo Huguet) [2004141] - iwlwifi: pcie: implement Bz device startup (Íñigo Huguet) [2004141] - iwlwifi: read MAC address from correct place on Bz (Íñigo Huguet) [2004141] - iwlwifi: give Bz devices their own name (Íñigo Huguet) [2004141] - iwlwifi: split off Bz devices into their own family (Íñigo Huguet) [2004141] - iwlwifi: yoyo: cleanup internal buffer allocation in D3 (Íñigo Huguet) [2004141] - iwlwifi: mvm: treat MMPDUs in iwl_mvm_mac_tx() as bcast (Íñigo Huguet) [2004141] - iwlwifi: mvm: clean up number of HW queues (Íñigo Huguet) [2004141] - iwlwifi: mvm: avoid static queue number aliasing (Íñigo Huguet) [2004141] - iwlwifi: use DEFINE_MUTEX() for mutex lock (Íñigo Huguet) [2004141] - iwlwifi: remove trailing semicolon in macro definition (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix old-style static const declaration (Íñigo Huguet) [2004141] - iwlwifi: mvm: remove check for vif in iwl_mvm_vif_from_mac80211() (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove spaces from queue names (Íñigo Huguet) [2004141] - iwlwifi: mvm: restrict FW SMPS request (Íñigo Huguet) [2004141] - iwlwifi: mvm: set replay counter on key install (Íñigo Huguet) [2004141] - iwlwifi: mvm: remove trigger EAPOL time event (Íñigo Huguet) [2004141] - iwlwifi: iwl-dbg-tlv: add info about loading external dbg bin (Íñigo Huguet) [2004141] - iwlwifi: mvm: Add support for hidden network scan on 6GHz band (Íñigo Huguet) [2004141] - iwlwifi: mvm: Do not use full SSIDs in 6GHz scan (Íñigo Huguet) [2004141] - iwlwifi: print PNVM complete notification status in hexadecimal (Íñigo Huguet) [2004141] - iwlwifi: pcie: dump error on FW reset handshake failures (Íñigo Huguet) [2004141] - iwlwifi: prepare for synchronous error dumps (Íñigo Huguet) [2004141] - iwlwifi: pcie: free RBs during configure (Íñigo Huguet) [2004141] - iwlwifi: pcie: optimise struct iwl_rx_mem_buffer layout (Íñigo Huguet) [2004141] - iwlwifi: mvm: avoid FW restart while shutting down (Íñigo Huguet) [2004141] - iwlwifi: nvm: enable IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF (Íñigo Huguet) [2004141] - iwlwifi: mvm: set BROADCAST_TWT_SUPPORTED in MAC policy (Íñigo Huguet) [2004141] - iwlwifi: iwl-nvm-parse: set STBC flags for HE phy capabilities (Íñigo Huguet) [2004141] - cfg80211: use wiphy DFS domain if it is self-managed (Íñigo Huguet) [2004141] - mac80211: parse transmit power envelope element (Íñigo Huguet) [2004141] - ieee80211: add definition for transmit power envelope element (Íñigo Huguet) [2004141] - ieee80211: add definition of regulatory info in 6 GHz operation information (Íñigo Huguet) [2004141] - mac80211: introduce individual TWT support in AP mode (Íñigo Huguet) [2004141] - ieee80211: add TWT element definitions (Íñigo Huguet) [2004141] - brcmsmac: make array addr static const, makes object smaller (Íñigo Huguet) [2004141] - rtw88: Remove unnecessary check code (Íñigo Huguet) [2004141] - rtw88: wow: fix size access error of probe request (Íñigo Huguet) [2004141] - rtw88: wow: report wow reason through mac80211 api (Íñigo Huguet) [2004141] - rtw88: wow: build wow function only if CONFIG_PM is on (Íñigo Huguet) [2004141] - rtw88: refine the setting of rsvd pages for different firmware (Íñigo Huguet) [2004141] - rtw88: use read_poll_timeout instead of fixed sleep (Íñigo Huguet) [2004141] - rtw88: 8822ce: set CLKREQ# signal to low during suspend (Íñigo Huguet) [2004141] - rtw88: change beacon filter default mode (Íñigo Huguet) [2004141] - rtw88: 8822c: add tx stbc support under HT mode (Íñigo Huguet) [2004141] - rtw88: adjust the log level for failure of tx report (Íñigo Huguet) [2004141] - rtl8xxxu: Fix the handling of TX A-MPDU aggregation (Íñigo Huguet) [2004141] - rtl8xxxu: disable interrupt_in transfer for 8188cu and 8192cu (Íñigo Huguet) [2004141] - mwifiex: make arrays static const, makes object smaller (Íñigo Huguet) [2004141] - mwifiex: usb: Replace one-element array with flexible-array member (Íñigo Huguet) [2004141] - mwifiex: drop redundant null-pointer check in mwifiex_dnld_cmd_to_fw() (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: make arrays static const, makes object smaller (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Remove redundant variable initializations (Íñigo Huguet) [2004141] - ray_cs: Split memcpy() to avoid bounds check warning (Íñigo Huguet) [2004141] - ray_cs: use *ph to print small buffer (Íñigo Huguet) [2004141] - brcmfmac: add 43752 SDIO ids and initialization (Íñigo Huguet) [2004141] - brcmfmac: Set SDIO workqueue as WQ_HIGHPRI (Íñigo Huguet) [2004141] - brcmfmac: use separate firmware for 43430 revision 2 (Íñigo Huguet) [2004141] - brcmfmac: support chipsets with different core enumeration space (Íñigo Huguet) [2004141] - brcmfmac: add xtlv support to firmware interface layer (Íñigo Huguet) [2004141] - brcmfmac: increase core revision column aligning core list (Íñigo Huguet) [2004141] - brcmfmac: use different error value for invalid ram base address (Íñigo Huguet) [2004141] - brcmfmac: firmware: Fix firmware loading (Íñigo Huguet) [2004141] - net: qrtr: fix another OOB Read in qrtr_endpoint_post (Íñigo Huguet) [2004141] - cfg80211: fix BSS color notify trace enum confusion (Íñigo Huguet) [2004141] - mac80211: fix locking in ieee80211_restart_work() (Íñigo Huguet) [2004141] - mac80211: Fix insufficient headroom issue for AMSDU (Íñigo Huguet) [2004141] - mac80211: add support for BSS color change (Íñigo Huguet) [2004141] - nl80211: add support for BSS coloring (Íñigo Huguet) [2004141] - mac80211: Use flex-array for radiotap header bitmap (Íñigo Huguet) [2004141] - mac80211: radiotap: Use BIT() instead of shifts (Íñigo Huguet) [2004141] - mac80211: Remove unnecessary variable and label (Íñigo Huguet) [2004141] - mac80211: include (Íñigo Huguet) [2004141] - mac80211: Fix monitor MTU limit so that A-MSDUs get through (Íñigo Huguet) [2004141] - mac80211: remove unnecessary NULL check in ieee80211_register_hw() (Íñigo Huguet) [2004141] - mac80211: Reject zero MAC address in sta_info_insert_check() (Íñigo Huguet) [2004141] - mt76: fix enum type mismatch (Íñigo Huguet) [2004141] - bus: mhi: core: Improve debug messages for power up (Íñigo Huguet) [2004141] - bus: mhi: core: Replace DMA allocation wrappers with original APIs (Íñigo Huguet) [2004141] - bus: mhi: core: Add range checks for BHI and BHIe (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Set register access length for MHI driver (Íñigo Huguet) [2004141] - ath11k: set register access length for MHI driver (Íñigo Huguet) [2004141] - bus: mhi: Add MMIO region length to controller structure (Íñigo Huguet) [2004141] - bus: mhi: core: Set BHI and BHIe pointers to NULL in clean-up (Íñigo Huguet) [2004141] - bus: mhi: core: Set BHI/BHIe offsets on power up preparation (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add Cinterion MV31-W PCIe to MHI (Íñigo Huguet) [2004141] - Revert "mhi: Fix networking tree build." (Íñigo Huguet) [2004141] - mhi: Fix networking tree build. (Íñigo Huguet) [2004141] - brcmfmac: firmware: Allow per-board firmware binaries (Íñigo Huguet) [2004141] - iwlwifi: add new so-jf devices (Íñigo Huguet) [2004141] - iwlwifi: add new SoF with JF devices (Íñigo Huguet) [2004141] - iwlwifi: pnvm: accept multiple HW-type TLVs (Íñigo Huguet) [2004141] - cfg80211: Fix possible memory leak in function cfg80211_bss_update (Íñigo Huguet) [2004141] - nl80211: limit band information in non-split data (Íñigo Huguet) [2004141] - mac80211: fix enabling 4-address mode on a sta vif after assoc (Íñigo Huguet) [2004141] - mac80211: fix starting aggregation sessions on mesh interfaces (Íñigo Huguet) [2004141] - mac80211: Do not strip skb headroom on monitor frames (Íñigo Huguet) [2004141] - net: mhi: Remove MBIM protocol (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Fix inbound IPCR channel (Íñigo Huguet) [2004141] - bus: mhi: core: Validate channel ID when processing command completions (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Apply no-op for wake using sideband wake boolean (Íñigo Huguet) [2004141] - net: mhi: Improve MBIM packet counting (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: configurable network interface MRU (Íñigo Huguet) [2004141] - mt76: mt7921: Fix fall-through warning for Clang (Íñigo Huguet) [2004141] - mt76: mt7921: continue to probe driver when fw already downloaded (Íñigo Huguet) [2004141] - ath11k: Remove some duplicate code (Íñigo Huguet) [2004141] - ath: switch from 'pci_' to 'dma_' API (Íñigo Huguet) [2004141] - iwlwifi: acpi: remove unused function iwl_acpi_eval_dsm_func() (Íñigo Huguet) [2004141] - rtw88: fix c2h memory leak (Íñigo Huguet) [2004141] - brcmfmac: support parse country code map from DT (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: Add missing 'pci_disable_pcie_error_reporting()' calls (Íñigo Huguet) [2004141] - bus: mhi: Wait for M2 state during system resume (Íñigo Huguet) [2004141] - bus: mhi: core: Fix power down latency (Íñigo Huguet) [2004141] - brcmfmac: Silence error messages about unsupported firmware features (Íñigo Huguet) [2004141] - cfg80211: Add wiphy_info_once() (Íñigo Huguet) [2004141] - mac80211: Switch to a virtual time-based airtime scheduler (Íñigo Huguet) [2004141] - Revert "mac80211: HE STA disassoc due to QOS NULL not sent" (Íñigo Huguet) [2004141] - mac80211: remove iwlwifi specific workaround NDPs of null_response (Íñigo Huguet) [2004141] - mac80211: fix NULL ptr dereference during mesh peer connection for non HE devices (Íñigo Huguet) [2004141] - mac80211: Enable power save after receiving NULL packet ACK (Íñigo Huguet) [2004141] - mac80211: add HE 6 GHz capability only if supported (Íñigo Huguet) [2004141] - mac80211: notify driver on mgd TX completion (Íñigo Huguet) [2004141] - mac80211: always include HE 6GHz capability in probe request (Íñigo Huguet) [2004141] - mac80211: add vendor-specific capabilities to assoc request (Íñigo Huguet) [2004141] - cfg80211: allow advertising vendor-specific capabilities (Íñigo Huguet) [2004141] - cfg80211: set custom regdomain after wiphy registration (Íñigo Huguet) [2004141] - cfg80211: Support hidden AP discovery over 6GHz band (Íñigo Huguet) [2004141] - mac80211: conditionally advertise HE in probe requests (Íñigo Huguet) [2004141] - cfg80211: add cfg80211_any_usable_channels() (Íñigo Huguet) [2004141] - cfg80211: reg: improve bad regulatory warning (Íñigo Huguet) [2004141] - nl80211: Fix typo pmsr->pmsr (Íñigo Huguet) [2004141] - mac80211: fix some spelling mistakes (Íñigo Huguet) [2004141] - cfg80211: remove ieee80211_get_he_sta_cap() (Íñigo Huguet) [2004141] - mac80211: remove use of ieee80211_get_he_sta_cap() (Íñigo Huguet) [2004141] - cfg80211: trace more information in assoc trace event (Íñigo Huguet) [2004141] - mac80211: improve AP disconnect message (Íñigo Huguet) [2004141] - mac80211: rearrange struct txq_info for fewer holes (Íñigo Huguet) [2004141] - ieee80211: add defines for HE PHY cap byte 10 (Íñigo Huguet) [2004141] - mac80211: Properly WARN on HW scan before restart (Íñigo Huguet) [2004141] - nl80211/cfg80211: add BSS color to NDP ranging parameters (Íñigo Huguet) [2004141] - mac80211: add to bss_conf if broadcast TWT is supported (Íñigo Huguet) [2004141] - mac80211: move SMPS mode setting after ieee80211_prep_connection (Íñigo Huguet) [2004141] - mac80211: free skb in WEP error case (Íñigo Huguet) [2004141] - mac80211: handle rate control (RC) racing with chanctx definition (Íñigo Huguet) [2004141] - ieee80211: define timing measurement in extended capabilities IE (Íñigo Huguet) [2004141] - mac80211_hwsim: record stats in non-netlink path (Íñigo Huguet) [2004141] - ieee80211: add the value for Category '6' in "rtw_ieee80211_category" (Íñigo Huguet) [2004141] - mac80211: remove iwlwifi specific workaround that broke sta NDP tx (Íñigo Huguet) [2004141] - mac80211: allow SMPS requests only in client mode (Íñigo Huguet) [2004141] - mac80211: check per vif offload_flags in Tx path (Íñigo Huguet) [2004141] - mac80211: add rate control support for encap offload (Íñigo Huguet) [2004141] - mac80211: call ieee80211_tx_h_rate_ctrl() when dequeue (Íñigo Huguet) [2004141] - mac80211: move A-MPDU session check from minstrel_ht to mac80211 (Íñigo Huguet) [2004141] - cfg80211: expose the rfkill device to the low level driver (Íñigo Huguet) [2004141] - wireless: add check of field VHT Extended NSS BW Capable for 160/80+80 MHz setting (Íñigo Huguet) [2004141] - mac80211_hwsim: add concurrent channels scanning support over virtio (Íñigo Huguet) [2004141] - mac80211: don't open-code LED manipulations (Íñigo Huguet) [2004141] - mac80211: consider per-CPU statistics if present (Íñigo Huguet) [2004141] - cfg80211: fix default HE tx bitrate mask in 2G band (Íñigo Huguet) [2004141] - mac80211: remove the repeated declaration (Íñigo Huguet) [2004141] - mac80211: refactor rc_no_data_or_no_ack_use_min function (Íñigo Huguet) [2004141] - mac80211: do not use low data rates for data frames with no ack flag (Íñigo Huguet) [2004141] - mac80211: add ieee80211_is_tx_data helper function (Íñigo Huguet) [2004141] - mac80211: simplify ieee80211_add_station() (Íñigo Huguet) [2004141] - mac80211: use sdata->skb_queue for TDLS (Íñigo Huguet) [2004141] - mac80211: refactor SKB queue processing a bit (Íñigo Huguet) [2004141] - mac80211: unify queueing SKB to iface (Íñigo Huguet) [2004141] - mac80211: minstrel_ht: ignore frame that was sent with noAck flag (Íñigo Huguet) [2004141] - cfg80211: clean up variable use in cfg80211_parse_colocated_ap() (Íñigo Huguet) [2004141] - cfg80211: remove CFG80211_MAX_NUM_DIFFERENT_CHANNELS (Íñigo Huguet) [2004141] - mac80211: Remove redundant assignment to ret (Íñigo Huguet) [2004141] - net: wireless: wext_compat.c: Remove redundant assignment to ps (Íñigo Huguet) [2004141] - wireless: wext-spy: Fix out-of-bounds warning (Íñigo Huguet) [2004141] - ath11k: Avoid memcpy() over-reading of he_cap (Íñigo Huguet) [2004141] - mt7601u: add USB device ID for some versions of XiaoDu WiFi Dongle. (Íñigo Huguet) [2004141] - mwifiex: Avoid memset() over-write of WEP key_material (Íñigo Huguet) [2004141] - rtlwifi: rtl8192de: Fully initialize curvecount_val (Íñigo Huguet) [2004141] - rtw88: coex: remove unnecessary variable and label (Íñigo Huguet) [2004141] - rtw88: add quirks to disable pci capabilities (Íñigo Huguet) [2004141] - rtw88: refine unwanted h2c command (Íñigo Huguet) [2004141] - rtw88: dump FW crash via devcoredump (Íñigo Huguet) [2004141] - rtw88: notify fw when driver in scan-period to avoid potential problem (Íñigo Huguet) [2004141] - rtw88: add rtw_fw_feature_check api (Íñigo Huguet) [2004141] - rtw88: 8822c: update RF parameter tables to v62 (Íñigo Huguet) [2004141] - rtw88: Remove duplicate include of coex.h (Íñigo Huguet) [2004141] - rtw88: 8822c: fix lc calibration timing (Íñigo Huguet) [2004141] - rtw88: add path diversity (Íñigo Huguet) [2004141] - rtw88: add beacon filter support (Íñigo Huguet) [2004141] - iwlwifi: bump FW API to 64 for AX devices (Íñigo Huguet) [2004141] - iwlwifi: fw: dump TCM error table if present (Íñigo Huguet) [2004141] - iwlwifi: add 9560 killer device (Íñigo Huguet) [2004141] - iwlwifi: move error dump to fw utils (Íñigo Huguet) [2004141] - iwlwifi: support loading the reduced power table from UEFI (Íñigo Huguet) [2004141] - iwlwifi: move UEFI code to a separate file (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_wowlan_get_status_cmd (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_wowlan_kek_kck_material_cmd_v4 (Íñigo Huguet) [2004141] - iwlwifi: mvm: update iwl_wowlan_patterns_cmd (Íñigo Huguet) [2004141] - iwlwifi: mvm: introduce iwl_proto_offload_cmd_v4 (Íñigo Huguet) [2004141] - iwlwifi: fix NUM_IWL_UCODE_TLV_* definitions to avoid sparse errors (Íñigo Huguet) [2004141] - iwlwifi: pcie: free some DMA memory earlier (Íñigo Huguet) [2004141] - iwlwifi: mvm: fill phy_data.d1 for no-data RX (Íñigo Huguet) [2004141] - iwlwifi: pcie: fix context info freeing (Íñigo Huguet) [2004141] - iwlwifi: pcie: free IML DMA memory allocation (Íñigo Huguet) [2004141] - iwlwifi: mvm: support LONG_GROUP for WOWLAN_GET_STATUSES version (Íñigo Huguet) [2004141] - iwlwifi: support ver 6 of WOWLAN_CONFIGURATION and ver 10 of WOWLAN_GET_STATUSES (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't request mac80211 to disable/enable sta's queues (Íñigo Huguet) [2004141] - iwlwifi: mvm: Explicitly stop session protection before unbinding (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove TR/CR tail allocations (Íñigo Huguet) [2004141] - iwlwifi: mvm: Read acpi dsm to get unii4 enable/disable bitmap. (Íñigo Huguet) [2004141] - iwlwifi: pcie: fix some kernel-doc comments (Íñigo Huguet) [2004141] - iwlwifi: advertise broadcast TWT support (Íñigo Huguet) [2004141] - iwlwifi: mvm: support LMR feedback (Íñigo Huguet) [2004141] - iwlwifi: correct HE capabilities (Íñigo Huguet) [2004141] - iwlwifi: mvm: Call NMI instead of REPLY_ERROR (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix error print when session protection ends (Íñigo Huguet) [2004141] - iwlwifi: mvm: honour firmware SMPS requests (Íñigo Huguet) [2004141] - iwlwifi: mvm: apply RX diversity per PHY context (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't request SMPS in AP mode (Íñigo Huguet) [2004141] - iwlwifi: pcie: identify the RF module (Íñigo Huguet) [2004141] - iwlwifi: yoyo: support region TLV version 2 (Íñigo Huguet) [2004141] - iwlwifi: remove duplicate iwl_ax201_cfg_qu_hr declaration (Íñigo Huguet) [2004141] - iwlwifi: pcie: remove CSR_HW_RF_ID_TYPE_CHIP_ID (Íñigo Huguet) [2004141] - iwlwifi: pcie: print interrupt number, not index (Íñigo Huguet) [2004141] - iwlwifi: pcie: Add support for AX231 radio module with Ma devices (Íñigo Huguet) [2004141] - iwlwifi: increase PNVM load timeout (Íñigo Huguet) [2004141] - iwlwifi: pcie: handle pcim_iomap_table() failures better (Íñigo Huguet) [2004141] - iwlwifi: mvm: don't change band on bound PHY contexts (Íñigo Huguet) [2004141] - iwlwifi: remove unused REMOTE_WAKE_CONFIG_CMD definitions (Íñigo Huguet) [2004141] - iwlwifi: mvm: fix indentation in some scan functions (Íñigo Huguet) [2004141] - iwlwifi: mvm: pass the clock type to iwl_mvm_get_sync_time() (Íñigo Huguet) [2004141] - iwlwifi: mvm: support BIOS enable/disable for 11ax in Russia (Íñigo Huguet) [2004141] - ath11k: Enable QCN9074 device (Íñigo Huguet) [2004141] - ath10k: demote chan info without scan request warning (Íñigo Huguet) [2004141] - rtl8xxxu: avoid parsing short RX packet (Íñigo Huguet) [2004141] - rtl8xxxu: Fix device info for RTL8192EU devices (Íñigo Huguet) [2004141] - mt76: mt7921: allow chip reset during device restart (Íñigo Huguet) [2004141] - mt76: mt7615: set macwork timeout according to runtime-pm (Íñigo Huguet) [2004141] - mt76: mt7663s: enable runtime-pm (Íñigo Huguet) [2004141] - mt76: mt7663s: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Íñigo Huguet) [2004141] - mt76: mt7663s: rely on pm reference counting (Íñigo Huguet) [2004141] - mt76: sdio: do not run mt76_txq_schedule directly (Íñigo Huguet) [2004141] - mt76: mt7921: enable HE BFee capability (Íñigo Huguet) [2004141] - mt76: disable TWT capabilities for the moment (Íñigo Huguet) [2004141] - mt76: fix iv and CCMP header insertion (Íñigo Huguet) [2004141] - mt76: mt7921: fix the coredump is being truncated (Íñigo Huguet) [2004141] - mt76: mt7921: fix kernel warning when reset on vif is not sta (Íñigo Huguet) [2004141] - mt76: mt7921: introduce dedicated control for deep_sleep (Íñigo Huguet) [2004141] - mt76: mt7921: limit txpower according to userlevel power (Íñigo Huguet) [2004141] - mt76: mt7921: improve code readability for mt7921_update_txs (Íñigo Huguet) [2004141] - mt76: mt7915: fix IEEE80211_HE_PHY_CAP7_MAX_NC for station mode (Íñigo Huguet) [2004141] - mt76: use SPDX header file comment style (Íñigo Huguet) [2004141] - mt76: add a space between comment char and SPDX tag (Íñigo Huguet) [2004141] - mt76: mt7915: improve MU stability (Íñigo Huguet) [2004141] - mt76: mt7921: add deep sleep control to runtime-pm knob (Íñigo Huguet) [2004141] - mt76: mt7921: enable deep sleep at runtime (Íñigo Huguet) [2004141] - mt76: mt7915: introduce mt7915_mcu_set_txbf() (Íñigo Huguet) [2004141] - mt76: make mt76_update_survey() per phy (Íñigo Huguet) [2004141] - mt76: move mt76_get_next_pkt_id in mt76.h (Íñigo Huguet) [2004141] - mt76: reduce rx buffer size to 2048 (Íñigo Huguet) [2004141] - mt76: connac: fix the maximum interval schedule scan can support (Íñigo Huguet) [2004141] - mt76: mt7915: fix rx fcs error count in testmode (Íñigo Huguet) [2004141] - mt76: testmode: move chip-specific stats dump before common stats (Íñigo Huguet) [2004141] - mt76: connac: add mt76_connac_mcu_get_nic_capability utility routine (Íñigo Huguet) [2004141] - mt76: connac: check band caps in mt76_connac_mcu_set_rate_txpower (Íñigo Huguet) [2004141] - mt76: mt7915: drop the use of repeater entries for station interfaces (Íñigo Huguet) [2004141] - mt76: mt7921: enable VHT BFee capability (Íñigo Huguet) [2004141] - mt76: mt7921: make mt7921_set_channel static (Íñigo Huguet) [2004141] - mt76: mt7921: wake the device before dumping power table (Íñigo Huguet) [2004141] - mt76: connac: add mt76_connac_power_save_sched in mt76_connac_pm_unref (Íñigo Huguet) [2004141] - mt76: connac: fix UC entry is being overwritten (Íñigo Huguet) [2004141] - mt76: mt7615: update radar parameters (Íñigo Huguet) [2004141] - mt76: mt7915: setup drr group for peers (Íñigo Huguet) [2004141] - mt76: mt7921: enable random mac address during sched_scan (Íñigo Huguet) [2004141] - mt76: mt7921: remove mt7921_get_wtbl_info routine (Íñigo Huguet) [2004141] - mt76: mt7915: fix MT_EE_CAL_GROUP_SIZE (Íñigo Huguet) [2004141] - mt76: mt7915: improve error recovery reliability (Íñigo Huguet) [2004141] - mt76: mt7921: enable hw offloading for wep keys (Íñigo Huguet) [2004141] - mt76: mt7915: read all eeprom fields from fw in efuse mode (Íñigo Huguet) [2004141] - mt76: mt7921: set MT76_RESET during mac reset (Íñigo Huguet) [2004141] - mt76: mt7921: introduce mac tx done handling (Íñigo Huguet) [2004141] - mt76: allow hw driver code to overwrite wiphy interface_modes (Íñigo Huguet) [2004141] - mt76: mt7921: update statistic in active mode only (Íñigo Huguet) [2004141] - mt76: mt7915: use mt7915_mcu_get_mib_info() to get survey data (Íñigo Huguet) [2004141] - mt76: mt7615: fix potential overflow on large shift (Íñigo Huguet) [2004141] - mt76: testmode: remove undefined behaviour in mt76_testmode_alloc_skb (Íñigo Huguet) [2004141] - mt76: testmode: remove unnecessary function calls in mt76_testmode_free_skb (Íñigo Huguet) [2004141] - mt76: testmode: fix memory leak in mt76_testmode_alloc_skb (Íñigo Huguet) [2004141] - mt76: mt7615: remove useless if condition in mt7615_add_interface() (Íñigo Huguet) [2004141] - mt76: mt7915: use mt7915_mcu_get_txpower_sku() to get per-rate txpower (Íñigo Huguet) [2004141] - mt76: mt7615: add .offset_tsf callback (Íñigo Huguet) [2004141] - mt76: mt7915: add .offset_tsf callback (Íñigo Huguet) [2004141] - mt76: mt7921: reset wfsys during hw probe (Íñigo Huguet) [2004141] - mt76: mt7921: do not schedule hw reset if the device is not running (Íñigo Huguet) [2004141] - mt76: mt7921: return proper error value in mt7921_mac_init (Íñigo Huguet) [2004141] - mt76: mt7921: enable runtime pm by default (Íñigo Huguet) [2004141] - mt76: mt7921: fix OMAC idx usage (Íñigo Huguet) [2004141] - mt76: mt7921: fix invalid register access in wake_work (Íñigo Huguet) [2004141] - mt76: mt7921: avoid unnecessary consecutive WiFi resets (Íñigo Huguet) [2004141] - mt76: connac: update BA win size in Rx direction (Íñigo Huguet) [2004141] - mt76: connac: add bss color support for sta mode (Íñigo Huguet) [2004141] - mt76: mt7615: add thermal sensor device support (Íñigo Huguet) [2004141] - mt76: mt7915: add thermal cooling device support (Íñigo Huguet) [2004141] - mt76: mt7915: add thermal sensor device support (Íñigo Huguet) [2004141] - mt76: mt7921: fix reset under the deep sleep is enabled (Íñigo Huguet) [2004141] - mt76: mt7921: add back connection monitor support (Íñigo Huguet) [2004141] - mt76: mt7921: consider the invalid value for to_rssi (Íñigo Huguet) [2004141] - mt76: connac: fix WoW with disconnetion and bitmap pattern (Íñigo Huguet) [2004141] - mt76: connac: fw_own rely on all packet memory all being free (Íñigo Huguet) [2004141] - mt76: mt7921: Don't alter Rx path classifier (Íñigo Huguet) [2004141] - mt76: mt7921: fix mt7921_wfsys_reset sequence (Íñigo Huguet) [2004141] - mt76: mt7663: enable hw rx header translation (Íñigo Huguet) [2004141] - mt76: mt7615: free irq if mt7615_mmio_probe fails (Íñigo Huguet) [2004141] - mt76: mt76x0: use dev_debug instead of dev_err for hw_rf_ctrl (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx csum offload (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx header traslation offload (Íñigo Huguet) [2004141] - mt76: connac: add missing configuration in mt76_connac_mcu_wtbl_hdr_trans_tlv (Íñigo Huguet) [2004141] - mt76: mt7921: enable rx hw de-amsdu (Íñigo Huguet) [2004141] - mt76: mt7915: fix a signedness bug in mt7915_mcu_apply_tx_dpd() (Íñigo Huguet) [2004141] - mt76: mt7615: fix NULL pointer dereference in tx_prepare_skb() (Íñigo Huguet) [2004141] - mt76: fix possible NULL pointer dereference in mt76_tx (Íñigo Huguet) [2004141] - mt76: mt7915: add .set_bitrate_mask() callback (Íñigo Huguet) [2004141] - mt76: mt7915: cleanup mt7915_mcu_sta_rate_ctrl_tlv() (Íñigo Huguet) [2004141] - mt76: mt7915: fix tssi indication field of DBDC NICs (Íñigo Huguet) [2004141] - mt76: move mt76_rates in mt76 module (Íñigo Huguet) [2004141] - mac80211: reset profile_periodicity/ema_ap (Íñigo Huguet) [2004141] - mac80211: handle various extensible elements correctly (Íñigo Huguet) [2004141] - cfg80211: avoid double free of PMSR request (Íñigo Huguet) [2004141] - cfg80211: make certificate generation more robust (Íñigo Huguet) [2004141] - mac80211: minstrel_ht: fix sample time check (Íñigo Huguet) [2004141] - mt76: mt7915: add support for tx status reporting (Íñigo Huguet) [2004141] - mt76: mt7915: rework tx rate reporting (Íñigo Huguet) [2004141] - mt76: dma: use ieee80211_tx_status_ext to free packets when tx fails (Íñigo Huguet) [2004141] - mt76: improve tx status codepath (Íñigo Huguet) [2004141] - mt76: intialize tx queue entry wcid to 0xffff by default (Íñigo Huguet) [2004141] - mt76: mt7603: avoid use of ieee80211_tx_info_clear_status (Íñigo Huguet) [2004141] - mt76: mt7615: avoid use of ieee80211_tx_info_clear_status (Íñigo Huguet) [2004141] - mt76: mt7615: fix fixed-rate tx status reporting (Íñigo Huguet) [2004141] - mt76: mt7915: move mt7915_queue_rx_skb to mac.c (Íñigo Huguet) [2004141] - mt76: mt7915: disable ASPM (Íñigo Huguet) [2004141] - mt76: mt7915: add MSI support (Íñigo Huguet) [2004141] - ath11k: send beacon template after vdev_start/restart during csa (Íñigo Huguet) [2004141] - ath10k: Use devm_platform_get_and_ioremap_resource() (Íñigo Huguet) [2004141] - ath10k: remove the repeated declaration (Íñigo Huguet) [2004141] - ath10k: Fix an error code in ath10k_add_interface() (Íñigo Huguet) [2004141] - ath11k: Fix an error handling path in ath11k_core_fetch_board_data_api_n() (Íñigo Huguet) [2004141] - ath: Fix wrong function name in comments (Íñigo Huguet) [2004141] - rtlwifi: Fix spelling of 'download' (Íñigo Huguet) [2004141] - rtlwifi: Remove redundant assignments to ul_enc_algo (Íñigo Huguet) [2004141] - rtlwifi: rtl8723ae: remove redundant initialization of variable rtstatus (Íñigo Huguet) [2004141] - rtlwifi: btcoex: 21a 2ant: Delete several duplicate condition branch codes (Íñigo Huguet) [2004141] - rtlwifi: 8821a: btcoexist: add comments to explain why if-else branches are identical (Íñigo Huguet) [2004141] - rt2x00: do not set timestamp for injected frames (Íñigo Huguet) [2004141] - rndis_wlan: simplify is_associated() (Íñigo Huguet) [2004141] - rt2x00: remove leading spaces before tabs (Íñigo Huguet) [2004141] - rtlwifi: Fix wrong function name in comments (Íñigo Huguet) [2004141] - brcmsmac: Remove the repeated declaration (Íñigo Huguet) [2004141] - brcmsmac: mac80211_if: Fix a resource leak in an error handling path (Íñigo Huguet) [2004141] - brcmsmac: Drop unnecessary NULL check after container_of (Íñigo Huguet) [2004141] - brcmsmac: improve readability on addresses copy (Íñigo Huguet) [2004141] - brcmfmac: Add clm_blob firmware files to modinfo (Íñigo Huguet) [2004141] - brcmfmac: Delete second brcm folder hierarchy (Íñigo Huguet) [2004141] - brcmfmac: Fix a double-free in brcmf_sdio_bus_reset (Íñigo Huguet) [2004141] - brcmfmac: Demote non-compliant kernel-doc headers (Íñigo Huguet) [2004141] - brcmfmac: correctly report average RSSI in station info (Íñigo Huguet) [2004141] - brcmfmac: fix setting of station info chains bitmask (Íñigo Huguet) [2004141] - brcmfmac: use ISO3166 country code and 0 rev as fallback (Íñigo Huguet) [2004141] - ath10k: remove unused more_frags variable (Íñigo Huguet) [2004141] - ath10k: add missing error return code in ath10k_pci_probe() (Íñigo Huguet) [2004141] - ath10k: go to path err_unsupported when chip id is not supported (Íñigo Huguet) [2004141] - ath11k: don't call ath11k_pci_set_l1ss for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add support for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add support to get peer id for WCN6855 (Íñigo Huguet) [2004141] - ath11k: setup WBM_IDLE_LINK ring once again (Íñigo Huguet) [2004141] - ath11k: setup REO for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add dp support for WCN6855 (Íñigo Huguet) [2004141] - ath11k: add hw reg support for WCN6855 (Íñigo Huguet) [2004141] - ath9k: Fix kernel NULL pointer dereference during ath_reset_internal() (Íñigo Huguet) [2004141] - mwifiex: bring down link before deleting interface (Íñigo Huguet) [2004141] - mt76: mt7615: Use devm_platform_get_and_ioremap_resource() (Íñigo Huguet) [2004141] - wwan: core: add WWAN common private data for netdev (Íñigo Huguet) [2004141] - wwan: core: support default netdev creation (Íñigo Huguet) [2004141] - wwan: core: no more hold netdev ops owning module (Íñigo Huguet) [2004141] - net: mhi_net: Update the transmit handler prototype (Íñigo Huguet) [2004141] - bus: mhi: pci-generic: Fix hibernation (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Fix possible use-after-free in mhi_pci_remove() (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: T99W175: update channel name from AT to DUN (Íñigo Huguet) [2004141] - mac80211: drop multicast fragments (Íñigo Huguet) [2004141] - mac80211: move interface shutdown out of wiphy lock (Íñigo Huguet) [2004141] - cfg80211: shut down interfaces on failed resume (Íñigo Huguet) [2004141] - cfg80211: fix phy80211 symlink creation (Íñigo Huguet) [2004141] - mac80211: fix 'reset' debugfs locking (Íñigo Huguet) [2004141] - mac80211: fix deadlock in AP/VLAN handling (Íñigo Huguet) [2004141] - mac80211: Fix NULL ptr deref for injected rate info (Íñigo Huguet) [2004141] - mac80211: fix skb length check in ieee80211_scan_rx() (Íñigo Huguet) [2004141] - mac80211: correct ieee80211_iterate_active_interfaces_mtx() locking comments (Íñigo Huguet) [2004141] - cfg80211: call cfg80211_leave_ocb when switching away from OCB (Íñigo Huguet) [2004141] - mac80211_hwsim: drop pending frames on stop (Íñigo Huguet) [2004141] - mac80211: remove warning in ieee80211_get_sband() (Íñigo Huguet) [2004141] - mt76: mt7921: remove leftover 80+80 HE capability (Íñigo Huguet) [2004141] - mt76: mt7615: do not set MT76_STATE_PM at bootstrap (Íñigo Huguet) [2004141] - ath9k: ar9003_mac: read STBC indicator from rx descriptor (Íñigo Huguet) [2004141] - ath10k/ath11k: fix spelling mistake "requed" -> "requeued" (Íñigo Huguet) [2004141] - mwifiex: re-fix for unaligned accesses (Íñigo Huguet) [2004141] - mt76: mt76x0e: fix device hang during suspend/resume (Íñigo Huguet) [2004141] - mt76: mt7921: fix max aggregation subframes setting (Íñigo Huguet) [2004141] - mt76: connac: fix HT A-MPDU setting field in STA_REC_PHY (Íñigo Huguet) [2004141] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [2004141] - mt76: mt7921: fix possible AOOB issue in mt7921_mcu_tx_rate_report (Íñigo Huguet) [2004141] - brcmfmac: properly check for bus register errors (Íñigo Huguet) [2004141] - Revert "brcmfmac: add a check for the status of usb_register" (Íñigo Huguet) [2004141] - net: rtlwifi: properly check for alloc_workqueue() failure (Íñigo Huguet) [2004141] - Revert "rtlwifi: fix a potential NULL pointer dereference" (Íñigo Huguet) [2004141] - wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join (Íñigo Huguet) [2004141] - wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt (Íñigo Huguet) [2004141] - iwlwifi: mvm: tt: Replace thermal_notify_framework (Íñigo Huguet) [2004141] - mt76: debugfs: introduce napi_threaded node (Íñigo Huguet) [2004141] - wl3501: fix typo of 'Networks' in comment (Íñigo Huguet) [2004141] - mt76: use threaded NAPI (Íñigo Huguet) [2004141] - net: mhi_net: make mhi_wwan_ops static (Íñigo Huguet) [2004141] - net: mhi_net: Register wwan_ops for link creation (Íñigo Huguet) [2004141] - net: mhi: remove pointless conditional before kfree_skb() (Íñigo Huguet) [2004141] - net: mhi: Allow decoupled MTU/MRU (Íñigo Huguet) [2004141] - net: mhi: Add support for non-linear MBIM skb processing (Íñigo Huguet) [2004141] - bus: mhi: fix typo in comments for struct mhi_channel_config (Íñigo Huguet) [2004141] - bus: mhi: core: Fix shadow declarations (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Constify mhi_controller_config struct definitions (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Introduce Foxconn T99W175 support (Íñigo Huguet) [2004141] - bus: mhi: core: Sanity check values from remote device before use (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add FIREHOSE channels (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Implement PCI shutdown callback (Íñigo Huguet) [2004141] - bus: mhi: Improve documentation on channel transfer setup APIs (Íñigo Huguet) [2004141] - bus: mhi: core: Remove __ prefix for MHI channel unprepare function (Íñigo Huguet) [2004141] - bus: mhi: core: Check channel execution environment before issuing reset (Íñigo Huguet) [2004141] - bus: mhi: core: Clear configuration from channel context during reset (Íñigo Huguet) [2004141] - bus: mhi: core: Hold device wake for channel update commands (Íñigo Huguet) [2004141] - bus: mhi: core: Update debug messages to use client device (Íñigo Huguet) [2004141] - bus: mhi: core: Improvements to the channel handling state machine (Íñigo Huguet) [2004141] - bus: mhi: core: Clear context for stopped channels from remove() (Íñigo Huguet) [2004141] - bus: mhi: core: Allow sending the STOP channel command (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add SDX65 based modem support (Íñigo Huguet) [2004141] - bus: mhi: core: Remove pre_init flag used for power purposes (Íñigo Huguet) [2004141] - bus: mhi: pm: reduce PM state change verbosity (Íñigo Huguet) [2004141] - bus: mhi: core: Fix MHI runtime_pm behavior (Íñigo Huguet) [2004141] - bus: mhi: core: Move to polling method to wait for MHI ready (Íñigo Huguet) [2004141] - bus: mhi: core: Introduce internal register poll helper function (Íñigo Huguet) [2004141] - bus: mhi: core: Improve state strings for debug messages (Íñigo Huguet) [2004141] - bus: mhi: core: Wait for MHI READY state in most scenarios (Íñigo Huguet) [2004141] - bus: mhi: core: Identify Flash Programmer as a mission mode use case (Íñigo Huguet) [2004141] - bus: mhi: core: Add support for Flash Programmer execution environment (Íñigo Huguet) [2004141] - bus: mhi: core: Handle EDL mode entry appropriately (Íñigo Huguet) [2004141] - bus: mhi: core: Wait for ready after an EDL firmware download (Íñigo Huguet) [2004141] - bus: mhi: core: Rely on accurate method to determine EDL mode (Íñigo Huguet) [2004141] - bus: mhi: core: Check state before processing power_down (Íñigo Huguet) [2004141] - bus: mhi: core: Return EAGAIN if MHI ring is full (Íñigo Huguet) [2004141] - net: export dev_set_threaded symbol (Íñigo Huguet) [2004141] - bus: mhi: core: remove redundant initialization of variables state and ee (Íñigo Huguet) [2004141] - bus: mhi: Make firmware image optional for controller (Íñigo Huguet) [2004141] - bus: mhi: core: Add missing checks for MMIO register entries (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add support for runtime PM (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Use generic PCI power management (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: No-Op for device_wake operations (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Add SDX24 based modem support (Íñigo Huguet) [2004141] - bus: mhi: Early MHI resume failure in non M3 state (Íñigo Huguet) [2004141] - bus: mhi: core: Update debug prints to include local device state (Íñigo Huguet) [2004141] - bus: mhi: core: Process execution environment changes serially (Íñigo Huguet) [2004141] - bus: mhi: core: Download AMSS image from appropriate function (Íñigo Huguet) [2004141] - bus: mhi: core: Destroy SBL devices when moving to mission mode (Íñigo Huguet) [2004141] - bus: mhi: core: Rename debugfs directory name (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Introduce quectel EM1XXGR-L support (Íñigo Huguet) [2004141] - bus: mhi: pci_generic: Parametrable element count for events (Íñigo Huguet) [2004141] - ath10k: Detect conf_mutex held ath10k_drain_tx() calls (Íñigo Huguet) [2004141] - net: mhi: Add mbim proto (Íñigo Huguet) [2004141] - net: mhi: Add rx_length_errors stat (Íñigo Huguet) [2004141] - net: mhi: Create mhi.h (Íñigo Huguet) [2004141] - net: mhi: Add dedicated folder (Íñigo Huguet) [2004141] - net: mhi: Add protocol support (Íñigo Huguet) [2004141] - net: mhi-net: Add re-aggregation of fragmented packets (Íñigo Huguet) [2004141] - net: mhi: Get rid of local rx queue count (Íñigo Huguet) [2004141] - net: mhi: Get RX queue size from MHI core (Íñigo Huguet) [2004141] - net: mhi: Set wwan device type (Íñigo Huguet) [2004141] - net: mhi: Add raw IP mode support (Íñigo Huguet) [2004141] - net: mhi: Fix unexpected queue wake (Íñigo Huguet) [2004141] - net: Add mhi-net driver (Íñigo Huguet) [2004141] - ipv4: make exception cache less predictible (Antoine Tenart) [2015111] {CVE-2021-20322} - ipv4: use siphash instead of Jenkins in fnhe_hashfun() (Antoine Tenart) [2015111] {CVE-2021-20322} - iommu/dma: Account for min_align_mask w/swiotlb (Jerry Snitselaar) [2018601] - swiotlb: Support aligned swiotlb buffers (Jerry Snitselaar) [2018601] - iommu/dma: Check CONFIG_SWIOTLB more broadly (Jerry Snitselaar) [2018601] - iommu/dma: Fold _swiotlb helpers into callers (Jerry Snitselaar) [2018601] - iommu/dma: Skip extra sync during unmap w/swiotlb (Jerry Snitselaar) [2018601] - iommu/dma: Fix arch_sync_dma for map (Jerry Snitselaar) [2018601] - iommu/dma: Fix sync_sg with swiotlb (Jerry Snitselaar) [2018601] - redhat/configs: Add CONFIG_DMA_RESTRICTED_POOL (Jerry Snitselaar) [2018601] - swiotlb: use depends on for DMA_RESTRICTED_POOL (Jerry Snitselaar) [2018601] - powerpc/svm: Don't issue ultracalls if !mem_encrypt_active() (Jerry Snitselaar) [2018601] - s390/pv: fix the forcing of the swiotlb (Jerry Snitselaar) [2018601] - swiotlb: Free tbl memory in swiotlb_exit() (Jerry Snitselaar) [2018601] - swiotlb: Emit diagnostic in swiotlb_exit() (Jerry Snitselaar) [2018601] - swiotlb: Convert io_default_tlb_mem to static allocation (Jerry Snitselaar) [2018601] - swiotlb: fix implicit debugfs declarations (Jerry Snitselaar) [2018601] - swiotlb: Add restricted DMA pool initialization (Jerry Snitselaar) [2018601] - swiotlb: Add restricted DMA alloc/free support (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb_tbl_unmap_single (Jerry Snitselaar) [2018601] - swiotlb: Move alloc_size to swiotlb_find_slots (Jerry Snitselaar) [2018601] - swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing (Jerry Snitselaar) [2018601] - swiotlb: Update is_swiotlb_active to add a struct device argument (Jerry Snitselaar) [2018601] - swiotlb: Update is_swiotlb_buffer to add a struct device argument (Jerry Snitselaar) [2018601] - swiotlb: Set dev->dma_io_tlb_mem to the swiotlb pool used (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb_create_debugfs (Jerry Snitselaar) [2018601] - swiotlb: Refactor swiotlb init functions (Jerry Snitselaar) [2018601] - of: Drop superfluous ULL suffix for ~0 (Jerry Snitselaar) [2018601] - dma-mapping: fix 32-bit overflow with CONFIG_ARM_LPAE=n (Jerry Snitselaar) [2018601] - of/device: Update dma_range_map only when dev has valid dma-ranges (Jerry Snitselaar) [2018601] - drivers core: Fix oops when driver probe fails (Jerry Snitselaar) [2018601] - drivers core: Free dma_range_map when driver probe failed (Jerry Snitselaar) [2018601] - driver core: Postpone DMA tear-down until after devres release for probe failure (Jerry Snitselaar) [2018601] - powerpc/pseries/iommu: Fix window size for direct mapping with pmem (Jerry Snitselaar) [2018601] - dma-mapping: add a dma_init_global_coherent helper (Jerry Snitselaar) [2018601] - dma-mapping: simplify dma_init_coherent_memory (Jerry Snitselaar) [2018601] - dma-debug: fix debugfs initialization order (Jerry Snitselaar) [2018601] - dma-debug: teach add_dma_entry() about DMA_ATTR_SKIP_CPU_SYNC (Jerry Snitselaar) [2018601] - dma-debug: fix sg checks in debug_dma_map_sg() (Jerry Snitselaar) [2018601] - swiotlb-xen: ensure to issue well-formed XENMEM_exchange requests (Jerry Snitselaar) [2018601] - dma-debug: prevent an error message from causing runtime problems (Jerry Snitselaar) [2018601] - swiotlb-xen: drop DEFAULT_NSLABS (Jerry Snitselaar) [2018601] - swiotlb-xen: arrange to have buffer info logged (Jerry Snitselaar) [2018601] - swiotlb-xen: drop leftover __ref (Jerry Snitselaar) [2018601] - swiotlb-xen: limit init retries (Jerry Snitselaar) [2018601] - swiotlb-xen: suppress certain init retries (Jerry Snitselaar) [2018601] - swiotlb-xen: maintain slab count properly (Jerry Snitselaar) [2018601] - swiotlb-xen: fix late init retry (Jerry Snitselaar) [2018601] - swiotlb-xen: avoid double free (Jerry Snitselaar) [2018601] - dma-mapping: handle vmalloc addresses in dma_common_{mmap,get_sgtable} (Jerry Snitselaar) [2018601] - dma-debug: report -EEXIST errors in add_dma_entry (Jerry Snitselaar) [2018601] - dma-mapping: remove a trailing space (Jerry Snitselaar) [2018601] - dma-mapping: add unlikely hint to error path in dma_mapping_error (Jerry Snitselaar) [2018601] - dma-mapping: remove a pointless empty line in dma_alloc_coherent (Jerry Snitselaar) [2018601] - swiotlb: Make SWIOTLB_NO_FORCE perform no allocation (Jerry Snitselaar) [2018601] - swiotlb: remove swiotlb_nr_tbl (Jerry Snitselaar) [2018601] - xen/swiotlb: check if the swiotlb has already been initialized (Jerry Snitselaar) [2018601] - swiotlb: add overflow checks to swiotlb_bounce (Jerry Snitselaar) [2002023] - swiotlb: don't override user specified size in swiotlb_adjust_size (Jerry Snitselaar) [2002023] - swiotlb: dynamically allocate io_tlb_default_mem (Jerry Snitselaar) [2002023] - swiotlb: move global variables into a new io_tlb_mem structure (Jerry Snitselaar) [2002023] - xen-swiotlb: remove the unused size argument from xen_swiotlb_fixup (Jerry Snitselaar) [2018601] - xen-swiotlb: split xen_swiotlb_init (Jerry Snitselaar) [2018601] - swiotlb: lift the double initialization protection from xen-swiotlb (Jerry Snitselaar) [2002023] - xen-swiotlb: remove xen_io_tlb_start and xen_io_tlb_nslabs (Jerry Snitselaar) [2018601] - xen-swiotlb: remove xen_set_nslabs (Jerry Snitselaar) [2018601] - xen-swiotlb: use io_tlb_end in xen_swiotlb_dma_supported (Jerry Snitselaar) [2018601] - xen-swiotlb: use is_swiotlb_buffer in is_xen_swiotlb_buffer (Jerry Snitselaar) [2018601] - swiotlb: split swiotlb_tbl_sync_single (Jerry Snitselaar) [2002023] - swiotlb: manipulate orig_addr when tlb_addr has offset (Jerry Snitselaar) [2002023] - swiotlb: move orig addr and size validation into swiotlb_bounce (Jerry Snitselaar) [2002023] - swiotlb: remove the alloc_size parameter to swiotlb_tbl_unmap_single (Jerry Snitselaar) [2002023] - swiotlb: Fix the type of index (Jerry Snitselaar) [2018601] - swiotlb: Validate bounce size in the sync/unmap path (Jerry Snitselaar) [2002023] - powerpc/svm: stop using io_tlb_start (Jerry Snitselaar) [2002023] - nvme-pci: set min_align_mask (Jerry Snitselaar) [2002023] - swiotlb: respect min_align_mask (Jerry Snitselaar) [2002023] - swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single (Jerry Snitselaar) [2002023] - swiotlb: refactor swiotlb_tbl_map_single (Jerry Snitselaar) [2002023] - swiotlb: clean up swiotlb_tbl_unmap_single (Jerry Snitselaar) [2002023] - swiotlb: factor out a nr_slots helper (Jerry Snitselaar) [2002023] - swiotlb: factor out an io_tlb_offset helper (Jerry Snitselaar) [2002023] - swiotlb: add a IO_TLB_SIZE define (Jerry Snitselaar) [2002023] - driver core: add a min_align_mask field to struct device_dma_parameters (Jerry Snitselaar) [2002023] - sdhci: stop poking into swiotlb internals (Jerry Snitselaar) [2018601] - driver core: lift dma_default_coherent into common code (Jerry Snitselaar) [2018601] - dma-pool: no need to check return value of debugfs_create functions (Jerry Snitselaar) [2018601] - powerpc/dma: Fallback to dma_ops when persistent memory present (Jerry Snitselaar) [2018601] - dma-mapping: Allow mixing bypass and mapped DMA operation (Jerry Snitselaar) [2018601] - dma-mapping: remove the dma_direct_set_offset export (Jerry Snitselaar) [2018601] - dma-mapping: move more functions to dma-map-ops.h (Jerry Snitselaar) [2018601] - dma-mapping: merge into (Jerry Snitselaar) [2018601] - dma-mapping: move large parts of to kernel/dma (Jerry Snitselaar) [2018601] - dma-mapping: add (back) arch_dma_mark_clean for ia64 (Jerry Snitselaar) [2018601] - dma-mapping: move dma-debug.h to kernel/dma/ (Jerry Snitselaar) [2018601] - dma-mapping: split (Jerry Snitselaar) [2018601] - dma-mapping: introduce DMA range map, supplanting dma_pfn_offset (Jerry Snitselaar) [2018601] - of: Make of_dma_get_range() private (Jerry Snitselaar) [2018601] - swiotlb: fix comment on swiotlb_bounce() (Jerry Snitselaar) [2018601] - xen/arm: introduce phys/dma translations in xen_dma_sync_for_* (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_dma_sync_for_device (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_dma_sync_for_cpu (Jerry Snitselaar) [2018601] - swiotlb-xen: introduce phys_to_dma/dma_to_phys translations (Jerry Snitselaar) [2018601] - swiotlb-xen: remove XEN_PFN_PHYS (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to is_xen_swiotlb_buffer (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_bus_to_phys (Jerry Snitselaar) [2018601] - swiotlb-xen: add struct device * parameter to xen_phys_to_bus (Jerry Snitselaar) [2018601] - swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses (Jerry Snitselaar) [2018601] - swiotlb-xen: Convert to use macro (Jerry Snitselaar) [2018601] - swiotlb-xen: merge xen_unmap_single into xen_swiotlb_unmap_page (Jerry Snitselaar) [2018601] - swiotlb-xen: remove xen_swiotlb_dma_mmap and xen_swiotlb_dma_get_sgtable (Jerry Snitselaar) [2018601] - xen/swiotlb: remember having called xen_create_contiguous_region() (Jerry Snitselaar) [2018601] - xen/swiotlb: simplify range_straddles_page_boundary() (Jerry Snitselaar) [2018601] - xen/swiotlb: fix condition for calling xen_destroy_contiguous_region() (Jerry Snitselaar) [2018601] - xen/swiotlb: don't initialize swiotlb twice on arm64 (Jerry Snitselaar) [2018601] - xen-swiotlb: use actually allocated size on check physical continuous (Jerry Snitselaar) [2018601] - igb: fix deadlock caused by taking RTNL in RPM resume path (Corinna Vinschen) [2039882] - igb: Fix removal of unicast MAC filters of VFs (Corinna Vinschen) [2039882] - net: ena: Fix error handling when calculating max IO queues number (Petr Oros) [2038158] - net: ena: Fix wrong rx request id by resetting device (Petr Oros) [2038158] - net: ena: Fix undefined state when tx request id is out of bounds (Petr Oros) [2038158] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Petr Oros) [2038158] - ena: Remove rcu_read_lock() around XDP program invocation (Petr Oros) [2038158] - net: ena: make symbol 'ena_alloc_map_page' static (Petr Oros) [2038158] - net: ena: fix DMA mapping function issues in XDP (Petr Oros) [2038158] - net: ena: re-organize code to improve readability (Petr Oros) [2038158] - net: ena: Use dev_alloc() in RX buffer allocation (Petr Oros) [2038158] - net: ena: aggregate doorbell common operations into a function (Petr Oros) [2038158] - net: ena: fix RST format in ENA documentation file (Petr Oros) [2038158] - net: ena: Remove module param and change message severity (Petr Oros) [2038158] - net: ena: add jiffies of last napi call to stats (Petr Oros) [2038158] - net: ena: use build_skb() in RX path (Petr Oros) [2038158] - net: ena: Improve error logging in driver (Petr Oros) [2038158] - net: ena: Remove unused code (Petr Oros) [2038158] - net: ena: optimize data access in fast-path code (Petr Oros) [2038158] - kasan, slub: reset tag when printing address (Nico Pache) [1954335] - kasan: fix Kconfig check of CC_HAS_WORKING_NOSANITIZE_ADDRESS (Nico Pache) [1954335] - Documentation: kunit: add tips for using current->kunit_test (Nico Pache) [1954335] - kunit: fix -Wunused-function warning for __kunit_fail_current_test (Nico Pache) [1954335] - kunit: support failure from dynamic analysis tools (Nico Pache) [1954335] - Add KASAN KUNIT Tests to Redhat kernel-modules-internal (Nico Pache) [1954335] - kasan, mm: fix resetting page_alloc tags for HW_TAGS (Nico Pache) [1954335] - kasan, mm: fix conflicts with init_on_alloc/free (Nico Pache) [1954335] - powerpc/uaccess: get rid of small constant size cases in raw_copy_{to,from}_user() (Nico Pache) [1954335] - kasan: remove redundant config option (Nico Pache) [1954335] - kasan: fix hwasan build for gcc (Nico Pache) [1954335] - lib/test_kasan_module.c: suppress unused var warning (Nico Pache) [1954335] - kasan: fix conflict with page poisoning (Nico Pache) [1954335] - kasan: fix per-page tags for non-page_alloc pages (Nico Pache) [1954335] - kasan: fix KASAN_STACK dependency for HW_TAGS (Nico Pache) [1954335] - kasan: clarify that only first bug is reported in HW_TAGS (Nico Pache) [1954335] - kasan: inline HW_TAGS helper functions (Nico Pache) [1954335] - kasan: ensure poisoning size alignment (Nico Pache) [1954335] - kasan, mm: optimize krealloc poisoning (Nico Pache) [1954335] - kasan, mm: fail krealloc on freed objects (Nico Pache) [1954335] - kasan: rework krealloc tests (Nico Pache) [1954335] - kasan: unify large kfree checks (Nico Pache) [1954335] - kasan: clean up setting free info in kasan_slab_free (Nico Pache) [1954335] - kasan: optimize large kmalloc poisoning (Nico Pache) [1954335] - kasan, mm: optimize kmalloc poisoning (Nico Pache) [1954335] - kasan, mm: don't save alloc stacks twice (Nico Pache) [1954335] - kasan: don't run tests when KASAN is not enabled (Nico Pache) [1954335] - kasan: add a test for kmem_cache_alloc/free_bulk (Nico Pache) [1954335] - kasan: add proper page allocator tests (Nico Pache) [1954335] - kasan: fix bug detection via ksize for HW_TAGS mode (Nico Pache) [1954335] - kasan: move _RET_IP_ to inline wrappers (Nico Pache) [1954335] - kasan: fix memory corruption in kasan_bitops_tags test (Nico Pache) [1954335] - kasan: rename CONFIG_TEST_KASAN_MODULE (Nico Pache) [1954335] - kasan: add match-all tag tests (Nico Pache) [1954335] - kasan: add macros to simplify checking test constraints (Nico Pache) [1954335] - kasan: clean up comments in tests (Nico Pache) [1954335] - kasan: clarify HW_TAGS impact on TBI (Nico Pache) [1954335] - kasan: prefix global functions with kasan_ (Nico Pache) [1954335] - kasan: fix stack traces dependency for HW_TAGS (Nico Pache) [1954335] - kasan: make addr_has_metadata() return true for valid addresses (Nico Pache) [1954335] - kasan: add explicit preconditions to kasan_report() (Nico Pache) [1954335] - kasan: fix HW_TAGS boot parameters (Nico Pache) [1954335] - kasan: fix null pointer dereference in kasan_record_aux_stack (Nico Pache) [1954335] - kasan: update documentation (Nico Pache) [1954335] - kasan, mm: allow cache merging with no metadata (Nico Pache) [1954335] - kasan: sanitize objects when metadata doesn't fit (Nico Pache) [1954335] - kasan: clarify comment in __kasan_kfree_large (Nico Pache) [1954335] - kasan: simplify assign_tag and set_tag calls (Nico Pache) [1954335] - kasan: don't round_up too much (Nico Pache) [1954335] - kasan, mm: rename kasan_poison_kfree (Nico Pache) [1954335] - kasan, mm: check kasan_enabled in annotations (Nico Pache) [1954335] - kasan: add and integrate kasan boot parameters (Nico Pache) [1954335] - kasan: inline (un)poison_range and check_invalid_free (Nico Pache) [1954335] - kasan: open-code kasan_unpoison_slab (Nico Pache) [1954335] - kasan: inline random_tag for HW_TAGS (Nico Pache) [1954335] - kasan: inline kasan_reset_tag for tag-based modes (Nico Pache) [1954335] - kasan: remove __kasan_unpoison_stack (Nico Pache) [1954335] - kasan: allow VMAP_STACK for HW_TAGS mode (Nico Pache) [1954335] - kasan, arm64: unpoison stack only with CONFIG_KASAN_STACK (Nico Pache) [1954335] - kasan: introduce set_alloc_info (Nico Pache) [1954335] - kasan: rename get_alloc/free_info (Nico Pache) [1954335] - kasan: simplify quarantine_put call site (Nico Pache) [1954335] - kasan: add documentation for hardware tag-based mode (Nico Pache) [1954335] - kasan, mm: reset tags when accessing metadata (Nico Pache) [1954335] - kasan, arm64: print report from tag fault handler (Nico Pache) [1954335] - kasan, arm64: implement HW_TAGS runtime (Nico Pache) [1954335] - kasan, arm64: expand CONFIG_KASAN checks (Nico Pache) [1954335] - string.h: fix incompatibility between FORTIFY_SOURCE and KASAN (Nico Pache) [1954335] - kasan, x86, s390: update undef CONFIG_KASAN (Nico Pache) [1954335] - kasan: define KASAN_GRANULE_SIZE for HW_TAGS (Nico Pache) [1954335] - arm64: kasan: add arch layer for memory tagging helpers (Nico Pache) [1954335] - kasan, mm: untag page address in free_reserved_area (Nico Pache) [1954335] - mm: Allow non-direct-map arguments to free_reserved_area() (Nico Pache) [1954335] - kasan: introduce CONFIG_KASAN_HW_TAGS (Nico Pache) [1954335] - kasan: separate metadata_fetch_row for each mode (Nico Pache) [1954335] - kasan: rename SHADOW layout macros to META (Nico Pache) [1954335] - kasan: rename print_shadow_for_address to print_memory_metadata (Nico Pache) [1954335] - kasan: rename addr_has_shadow to addr_has_metadata (Nico Pache) [1954335] - kasan, arm64: rename kasan_init_tags and mark as __init (Nico Pache) [1954335] - kasan, arm64: move initialization message (Nico Pache) [1954335] - kasan, arm64: only use kasan_depth for software modes (Nico Pache) [1954335] - kasan, arm64: only init shadow for software modes (Nico Pache) [1954335] - kasan: decode stack frame only with KASAN_STACK_ENABLE (Nico Pache) [1954335] - kasan: hide invalid free check implementation (Nico Pache) [1954335] - kasan: don't duplicate config dependencies (Nico Pache) [1954335] - kasan: rename report and tags files (Nico Pache) [1954335] - kasan: define KASAN_MEMORY_PER_SHADOW_PAGE (Nico Pache) [1954335] - kasan: split out shadow.c from common.c (Nico Pache) [1954335] - kasan: only build init.c for software modes (Nico Pache) [1954335] - kasan: rename KASAN_SHADOW_* to KASAN_GRANULE_* (Nico Pache) [1954335] - kasan: rename (un)poison_shadow to (un)poison_range (Nico Pache) [1954335] - fork: support VMAP_STACK with KASAN_VMALLOC (Nico Pache) [1954335] - kasan: shadow declarations only for software modes (Nico Pache) [1954335] - kasan: group vmalloc code (Nico Pache) [1954335] - kasan: KASAN_VMALLOC depends on KASAN_GENERIC (Nico Pache) [1954335] - kasan: drop unnecessary GPL text from comment headers (Nico Pache) [1954335] - kasan: update documentation for generic kasan (Nico Pache) [1954335] - kasan: print workqueue stack (Nico Pache) [1954335] - kasan: fix object remaining in offline per-cpu quarantine (Nico Pache) [1954335] - kasan: adopt KUNIT tests to SW_TAGS mode (Nico Pache) [1954335] - docs: kasan.rst: add two missing blank lines (Nico Pache) [1954335] - mm: kasan: do not panic if both panic_on_warn and kasan_multishot set (Nico Pache) [1954335] - KASAN: Testing Documentation (Nico Pache) [1954335] - KASAN: port KASAN Tests to KUnit (Nico Pache) [1954335] - KUnit: KASAN Integration (Nico Pache) [1954335] - kasan/kunit: add KUnit Struct to Current Task (Nico Pache) [1954335] - kasan: remove mentions of unsupported Clang versions (Nico Pache) [1954335] - kbuild: move CFLAGS_{KASAN,UBSAN,KCSAN} exports to relevant Makefiles (Nico Pache) [1954335] - s390/kasan: make shadow memory noexec (Nico Pache) [1954335] - kasan: adjust kasan_stack_oob for tag-based mode (Nico Pache) [1954335] - kasan: allow enabling stack tagging for tag-based mode (Nico Pache) [1954335] - kasan: don't tag stacks allocated with pagealloc (Nico Pache) [1954335] - lib/test_kasan.c: fix KASAN unit tests for tag-based KASAN (Nico Pache) [1954335] - kasan: remove kasan_unpoison_stack_above_sp_to() (Nico Pache) [1954335] - kasan: add tests for call_rcu stack recording (Nico Pache) [1954335] - kprobes: Remove show_registers() function prototype (Nico Pache) [1954335] - kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE (Nico Pache) [1954335] - kasan: move kasan_report() into report.c (Nico Pache) [1954335] - kasan: stackdepot: move filter_irq_stacks() to stackdepot.c (Nico Pache) [1954335] - lib/stackdepot.c: check depot_index before accessing the stack slab (Nico Pache) [1954335] - lib/stackdepot: Remove obsolete functions (Nico Pache) [1954335] - kasan: add test for invalid size in memmove (Nico Pache) [1954335] - mm/memory-failure.c: use page_shift() in add_to_kill() (Nico Pache) [1954335] - x86: get rid of small constant size cases in raw_copy_{to,from}_user() (Nico Pache) [1954335] - s390/kasan: add KASAN_VMALLOC support (Nico Pache) [1954335] - s390: move vmalloc option parsing to startup code (Nico Pache) [1954335] - kasan: add test for vmalloc (Nico Pache) [1954335] - ehea: replace with page_shift() in ehea_is_hugepage() (Nico Pache) [1954335] - mm: introduce page_shift() (Nico Pache) [1954335] - lib/test_kasan.c: add roundtrip tests (Nico Pache) [1954335] - lib/test_kasan: Add test for double-kzfree detection (Nico Pache) [1954335] - lib/test_kasan: add bitops tests (Nico Pache) [1954335] - asm-generic, x86: add bitops instrumentation for KASAN (Nico Pache) [1954335] - x86: use static_cpu_has in uaccess region to avoid instrumentation (Nico Pache) [1954335] - x86/asm: Use stricter assembly constraints in bitops (Nico Pache) [1954335] - x86/asm: Remove dead __GNUC__ conditionals (Nico Pache) [1954335] - s390/kasan: adapt disabled_wait usage to avoid build error (Nico Pache) [1954335] - s390: simplify disabled_wait (Nico Pache) [1954335] - lib/test_kasan.c: add tests for several string/memory API functions (Nico Pache) [1954335] - arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c (Nico Pache) [1954335] - kprobes: Remove jprobe stub API (Nico Pache) [1954335] - Documentation/kprobes: Add how to change the execution path (Nico Pache) [1954335] - kprobes/x86: Do not disable preempt on int3 path (Nico Pache) [1954335] - bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe (Nico Pache) [1954335] - s390/kprobes: Don't call the ->break_handler() in s390 kprobes code (Nico Pache) [1954335] - powerpc/kprobes: Don't call the ->break_handler() in powerpc kprobes code (Nico Pache) [1954335] - arm64/kprobes: Don't call the ->break_handler() in arm64 kprobes code (Nico Pache) [1954335] - kprobes/x86: Don't call the ->break_handler() in x86 kprobes (Nico Pache) [1954335] - kprobes: Don't check the ->break_handler() in generic kprobes code (Nico Pache) [1954335] - kprobes/x86: Remove jprobe implementation (Nico Pache) [1954335] - s390/kprobes: Remove jprobe implementation (Nico Pache) [1954335] - powerpc/kprobes: Remove jprobe powerpc implementation (Nico Pache) [1954335] - arm64/kprobes: Remove jprobe implementation (Nico Pache) [1954335] - kprobes: Remove jprobe API implementation (Nico Pache) [1954335] - Documentation/kprobes: Remove jprobes related leftover (Nico Pache) [1954335] - redhat: config: explicitly set CONFIG_ARM64_VA_BITS_48 for ARM64 (Nico Pache) [1954335] - arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds (Nico Pache) [1954335] - arm64: mm: limit linear region to 51 bits for KVM in nVHE mode (Nico Pache) [1954335] - Documentation/arm64: fix RST layout of memory.rst (Nico Pache) [1954335] - arm64: mm: Remove MAX_USER_VA_BITS definition (Nico Pache) [1954335] - arm64: Use simpler arithmetics for the linear map macros (Nico Pache) [1954335] - arm64: mm: use single quantity to represent the PA to VA translation (Nico Pache) [1954335] - kasan/arm64: fix CONFIG_KASAN_SW_TAGS && KASAN_INLINE (Nico Pache) [1954335] - arm64: Do not pass tagged addresses to __is_lm_address() (Nico Pache) [1954335] - arm64: Fix kernel address detection of __is_lm_address() (Nico Pache) [1954335] - arm64: mm: extend linear region for 52-bit VA configurations (Nico Pache) [1954335] - arm64: Fix kcore macros after 52-bit virtual addressing fallout (Nico Pache) [1954335] - arm64: fix fixmap copy for 16K pages and 48-bit VA (Nico Pache) [1954335] - arm64: memory: rename VA_START to PAGE_END (Nico Pache) [1954335] - arm64: memory: Simplify _VA_START and _PAGE_OFFSET definitions (Nico Pache) [1954335] - arm64: memory: fix flipped VA space fallout (Nico Pache) [1954335] - arm64: memory: Fix virt_addr_valid() using __is_lm_address() (Nico Pache) [1954335] - arm64: memory: Ensure address tag is masked in conversion macros (Nico Pache) [1954335] - arm64: mm: Simplify definition of virt_addr_valid() (Nico Pache) [1954335] - docs: arm64: Add layout and 52-bit info to memory document (Nico Pache) [1954335] - arm64: mm: Remove vabits_user (Nico Pache) [1954335] - arm64: mm: Introduce 52-bit Kernel VAs (Nico Pache) [1954335] - arm64: mm: Modify calculation of VMEMMAP_SIZE (Nico Pache) [1954335] - arm64: mm: Separate out vmemmap (Nico Pache) [1954335] - arm64: mm: Logic to make offset_ttbr1 conditional (Nico Pache) [1954335] - arm64: mm: Introduce vabits_actual (Nico Pache) [1954335] - arm64: Print physical address of page table base in show_pte() (Nico Pache) [1954335] - arm64: mm: Introduce VA_BITS_MIN (Nico Pache) [1954335] - arm64: dump: De-constify VA_START and KASAN_SHADOW_START (Nico Pache) [1954335] - arm64: kasan: Switch to using KASAN_SHADOW_OFFSET (Nico Pache) [1954335] - arm64: mm: Flip kernel VA space (Nico Pache) [1954335] - arm64: mm: Remove bit-masking optimisations for PAGE_OFFSET and VMEMMAP_START (Nico Pache) [1954335] - arm64: dump: Use consistent capitalisation for page-table dumps (Nico Pache) [1954335] - kernel/rwsem: Use proper directories for rwsem_init.c (Scott Wood) [2040087] - redhat: Cleanup use of mark_hardware_removed (Prarit Bhargava) [2019378] - redhat: Cleanup use of mark_hardware_unsupported (Prarit Bhargava) [2019378] - redhat: clean up mark_hardware_deprecated() (Prarit Bhargava) [2019378] - nvme: Mark NVMe over FC Target support unmaintained (Prarit Bhargava) [2019378] - hdlc_fr: Mark driver unmaintained (Prarit Bhargava) [2019378] - sfc: Mark siena driver deprecated (Prarit Bhargava) [2019378] - qla3xxx: Mark driver unmaintained (Prarit Bhargava) [2019378] - netxen: Mark nic driver unmaintained (Prarit Bhargava) [2019378] - ethoc: Mark driver unmaintained (Prarit Bhargava) [2019378] - dnet: Mark driver unmaintained (Prarit Bhargava) [2019378] - drivers/pci/pci-driver.c: Fix if/ifdef typo (Prarit Bhargava) [2019378] - kernel/rh_taint.c: Update to new messaging (Prarit Bhargava) [2019378] - drm/i915/dmc: Change max DMC FW size on ADL-P (Michel Dänzer) [1988103] - drm/i915: Add workaround numbers to GEN7_COMMON_SLICE_CHICKEN1 whitelisting (Michel Dänzer) [1988103] - drm/i915: Fix Memory BW formulae for ADL-P (Michel Dänzer) [1988103] - drm/i915: Restore memory mapping for DPT FBs across system suspend/resume (Michel Dänzer) [1988103] - drm/i915: Factor out i915_ggtt_suspend_vm/i915_ggtt_resume_vm() (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Remove restriction on CCS AUX plane strides (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Remove restriction on semiplanar UV plane offset (Michel Dänzer) [1988103] - drm/i915/fb: Rename i915_color_plane_view::stride to mapping_stride (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Fix remapping of linear CCS AUX surfaces (Michel Dänzer) [1988103] - drm/i915/fb: Factor out functions to remap contiguous FB obj pages (Michel Dänzer) [1988103] - drm/i915/adlp/fb: Prevent the mapping of redundant trailing padding NULL pages (Michel Dänzer) [1988103] - drm/i915: Add functions to check for RC CCS CC and MC CCS modifiers (Michel Dänzer) [1988103] - drm/i915: Move is_ccs_modifier() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Add a platform independent way to check for CCS AUX planes (Michel Dänzer) [1988103] - drm/i915: Handle CCS CC planes separately from CCS AUX planes (Michel Dänzer) [1988103] - drm/i915: Add a platform independent way to get the RC CCS CC plane (Michel Dänzer) [1988103] - drm/i915: Move intel_format_info_is_yuv_semiplanar() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Unexport is_semiplanar_uv_plane() (Michel Dänzer) [1988103] - drm/i915: Simplify the modifier check for interlaced scanout support (Michel Dänzer) [1988103] - drm/i915: Add tiling attribute to the modifier descriptor (Michel Dänzer) [1988103] - drm/i915: Move intel_get_format_info() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: Add a table with a descriptor for all i915 modifiers (Michel Dänzer) [1988103] - drm/i915/adlp: Implement workaround 16013190616 (Michel Dänzer) [1988103] - drm/i915/adlp: Extend PSR2 support in transcoder B (Michel Dänzer) [1988103] - drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (Michel Dänzer) [1988103] - drm/i915/display/adlp: Allow PSR2 to be enabled (Michel Dänzer) [1988103] - drm/i915/display/adlp: Optimize PSR2 power-savings in corner cases (Michel Dänzer) [1988103] - drm/i915/display: Fix glitches when moving cursor with PSR2 selective fetch enabled (Michel Dänzer) [1988103] - drm/i915/display: Handle frontbuffer rendering when PSR2 selective fetch is enabled (Michel Dänzer) [1988103] - drm/i915/display: Drop unnecessary frontbuffer flushes (Michel Dänzer) [1988103] - drm/i915/display/psr: Do full fetch when handling multi-planar formats (Michel Dänzer) [1988103] - drm/i915/display/psr: Handle plane and pipe restrictions at every page flip (Michel Dänzer) [1988103] - drm/i915/display: Only keep PSR enabled if there is active planes (Michel Dänzer) [1988103] - drm/i915/display: Match PSR2 selective fetch sequences with specification (Michel Dänzer) [1988103] - drm/i915/display/dmc: Set DC_STATE_DEBUG_MASK_CORES after firmware load (Michel Dänzer) [1988103] - drm/i915: Nuke intel_prepare_shared_dpll() (Michel Dänzer) [1988103] - drm/i915: Fold ibx_pch_dpll_prepare() into ibx_pch_dpll_enable() (Michel Dänzer) [1988103] - drm/i915: Fold i9xx_set_pll_dividers() into i9xx_enable_pll() (Michel Dänzer) [1988103] - drm/i915: Reuse ilk_needs_fb_cb_tune() for the reduced clock as well (Michel Dänzer) [1988103] - drm/i915: Call {vlv,chv}_prepare_pll() from {vlv,chv}_enable_pll() (Michel Dänzer) [1988103] - drm/i915: Program DPLL P1 dividers consistently (Michel Dänzer) [1988103] - drm/i915: Remove the 'reg' local variable (Michel Dänzer) [1988103] - drm/i915: Clean up variable names in old dpll functions (Michel Dänzer) [1988103] - drm/i915: Clean dpll calling convention (Michel Dänzer) [1988103] - drm/i915: Constify struct dpll all over (Michel Dänzer) [1988103] - drm/i915: Extract ilk_update_pll_dividers() (Michel Dänzer) [1988103] - drm/i915: Clean up gen2 DPLL readout (Michel Dänzer) [1988103] - drm/i915: Set output_types to EDP for vlv/chv DPLL forcing (Michel Dänzer) [1988103] - drm/i915: Silence __iomem sparse warn (Michel Dänzer) [1988103] - drm/i915: split fdi link training from display vtable. (Michel Dänzer) [1988103] - drm/i915: split irq hotplug function from display vtable (Michel Dänzer) [1988103] - drm/i915: split cdclk functions from display vtable. (Michel Dänzer) [1988103] - drm/i915: split audio functions from display vtable (Michel Dänzer) [1988103] - drm/i915: split color functions from display vtable (Michel Dänzer) [1988103] - drm/i915: split watermark vfuncs from display vtable. (Michel Dänzer) [1988103] - drm/i915: split clock gating init from display vtable (Michel Dänzer) [1988103] - drm/i915/display: add intel_fdi_link_train wrapper. (Michel Dänzer) [1988103] - drm/i915: add wrappers around cdclk vtable funcs. (Michel Dänzer) [1988103] - drm/i915/wm: provide wrappers around watermark vfuncs calls (v3) (Michel Dänzer) [1988103] - drm/i915: make update_wm take a dev_priv. (Michel Dänzer) [1988103] - drm/i915/pm: drop get_fifo_size vfunc. (Michel Dänzer) [1988103] - drm/i915: Clean up pre-skl wm calling convention (Michel Dänzer) [1988103] - drm/i915/dmc: Update to DMC v2.12 (Michel Dänzer) [1988103] - drm/i915: Implement PSF GV point support (Michel Dänzer) [1988103] - drm/i915: Extend QGV point restrict mask to 0x3 (Michel Dänzer) [1988103] - drm/i915/display: Disable audio, DRRS and PSR before planes (Michel Dänzer) [1988103] - drm/i915: Make display workaround upper bounds exclusive (Michel Dänzer) [1988103] - drm/i915: Program DFR enable/disable as a GT workaround (Michel Dänzer) [1988103] - drm/i915/step: s/_revid_tbl/_revids (Michel Dänzer) [1988103] - drm/i915/display: Settle on "adl-x" in WA comments (Michel Dänzer) [1988103] - drm/i915: Settle on "adl-x" in WA comments (Michel Dänzer) [1988103] - drm/i915/display/adlp: Disable underrun recovery (Michel Dänzer) [1988103] - drm/i915/tc: Fix system hang on ADL-P during TypeC PHY disconnect (Michel Dänzer) [1988103] - drm/i915/tc: Drop extra TC cold blocking from intel_tc_port_connected() (Michel Dänzer) [1988103] - drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P (Michel Dänzer) [1988103] - drm/i915/icl/tc: Remove the ICL special casing during TC-cold blocking (Michel Dänzer) [1988103] - drm/i915/tc: Avoid using legacy AUX PW in TBT mode (Michel Dänzer) [1988103] - drm/i915/tc: Refactor TC-cold block/unblock helpers (Michel Dänzer) [1988103] - drm/i915/tc: Add a mode for the TypeC PHY's disconnected state (Michel Dänzer) [1988103] - drm/i915/tc: Don't keep legacy TypeC ports in connected state w/o a sink (Michel Dänzer) [1988103] - drm/i915/tc: Add/use helpers to retrieve TypeC port properties (Michel Dänzer) [1988103] - drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY ownership (Michel Dänzer) [1988103] - drm/i915/tc: Remove waiting for PHY complete during releasing ownership (Michel Dänzer) [1988103] - drm/i915/adlp/tc: Fix PHY connected check for Thunderbolt mode (Michel Dänzer) [1988103] - drm/i915: Force a TypeC PHY disconnect during suspend/shutdown (Michel Dänzer) [1988103] - drm/i915/adlp: Add support for remapping CCS FBs (Michel Dänzer) [1988103] - drm/i915: Follow a new->old platform check order in intel_fb_stride_alignment (Michel Dänzer) [1988103] - drm/i915/adlp: Assert that VMAs in DPT start at 0 (Michel Dänzer) [1988103] - drm/i915/adlp: Require always a power-of-two sized CCS surface stride (Michel Dänzer) [1988103] - drm/i915: Use tile block based dimensions for CCS origin x, y check (Michel Dänzer) [1988103] - drm/i915/fb: move user framebuffer stuff to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/display: split out dpt out of intel_display.c (Michel Dänzer) [1988103] - drm/i915/fb: move intel_surf_alignment() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915: add HAS_ASYNC_FLIPS feature macro (Michel Dänzer) [1988103] - drm/i915/fb: move intel_fb_align_height() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/fb: move intel_tile_width_bytes() to intel_fb.c (Michel Dänzer) [1988103] - drm/i915/display/adlp: Add new PSR2 workarounds (Michel Dänzer) [1988103] - drm/i915: Program chicken bit during DP MST sequence on TGL+ (Michel Dänzer) [1988103] - drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled (Michel Dänzer) [1988103] - drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (Michel Dänzer) [1988103] - drm/i915: Update memory bandwidth parameters (Michel Dänzer) [1988103] - drm/i915/dp: fix for ADL_P/S dp/edp max source rates (Michel Dänzer) [1988103] - drm/i915/dp: fix DG1 and RKL max source rates (Michel Dänzer) [1988103] - drm/i915/dp: fix EHL/JSL max source rates calculation (Michel Dänzer) [1988103] - drm/i915/dp: fix TGL and ICL max source rates (Michel Dänzer) [1988103] - drm/i915/dp: Fix eDP max rate for display 11+ (Michel Dänzer) [1988103] - drm/i915/dp: fix DG2 max source rate check (Michel Dänzer) [1988103] - drm/i915/dg2: add DG2 UHBR source rates (Michel Dänzer) [1988103] - drm/i915/display: remove explicit CNL handling from intel_dp.c (Michel Dänzer) [1988103] - drm/i915/dsi/xelpd: Enable mipi dsi support. (Michel Dänzer) [1988103] - drm/i915/dsi/xelpd: Add WA to program LP to HS wakeup guardband (Michel Dänzer) [1988103] - drm/i915/display: Update small joiner ram size (Michel Dänzer) [1988103] - drm/i915/adl_p: Also disable underrun recovery with MSO (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Correctly program MBUS DBOX A credits (Michel Dänzer) [1988103] - drm/i915: Apply CMTG clock disabling WA while DPLL0 is enabled (Michel Dänzer) [1988103] - drm/i915/adl_p: Add ddi buf translation tables for combo PHY (Michel Dänzer) [1988103] - drm/i915/adl_s: Update ddi buf translation tables (Michel Dänzer) [1988103] - drm/i915: Add the missing adls vswing tables (Michel Dänzer) [1988103] - drm/i915/adlp: Add workaround to disable CMTG clock gating (Michel Dänzer) [1988103] - drm/i915/adl_p: Allow underrun recovery when possible (Michel Dänzer) [1988103] - drm/i915: Add dummy IS_DG2 definition (Michel Dänzer) [1988103] - drm/i915: Extend Wa_1406941453 to adl-p (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement PSR changes (Michel Dänzer) [1988103] - drm/i915/debugfs: DISPLAY_VER 13 lpsp capability (Michel Dänzer) [1988103] - drm/i915/adlp: Add ADL-P GuC/HuC firmware files (Michel Dänzer) [1988103] - drm/i915/huc: Update TGL and friends to HuC 7.9.3 (Michel Dänzer) [1988103] - drm/i915/guc: Update firmware to v62.0.0 (Michel Dänzer) [1988103] - drm/i915/guc: Introduce unified HXG messages (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_16011303918 (Michel Dänzer) [1988103] - drm/i915/xelpd: Handle PSR2 SDP indication in the prior scanline (Michel Dänzer) [1988103] - drm/i915/display/psr: Handle SU Y granularity (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_16011168373 (Michel Dänzer) [1988103] - drm/i915/display/adl_p: Implement Wa_22012278275 (Michel Dänzer) [1988103] - drm/i915: Nuke buf_trans hdmi functions (Michel Dänzer) [1988103] - drm/i915: Clean up jsl/ehl buf trans functions (Michel Dänzer) [1988103] - drm/i915: Fix ehl edp hbr2 vswing table (Michel Dänzer) [1988103] - drm/i915: Deduplicate icl DP HBR2 vs. eDP HBR3 table (Michel Dänzer) [1988103] - drm/i915: Fix dg1 buf trans tables (Michel Dänzer) [1988103] - drm/i915: Introduce rkl_get_combo_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Clean up hsw/bdw/skl/kbl buf trans funcs (Michel Dänzer) [1988103] - drm/i915: Introduce encoder->get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Store the HDMI default entry in the bug trans struct (Michel Dänzer) [1988103] - drm/i915; Return the whole buf_trans struct from get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Introduce intel_get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: Wrap the buf trans tables into a struct (Michel Dänzer) [1988103] - drm/i915: Rename dkl phy buf trans tables (Michel Dänzer) [1988103] - drm/i915: Wrap the platform specific buf trans structs into a union (Michel Dänzer) [1988103] - drm/i915: Introduce hsw_get_buf_trans() (Michel Dänzer) [1988103] - drm/i915: s/intel/hsw/ for hsw/bdw/skl buf trans (Michel Dänzer) [1988103] - drm/i915/adl_p: Load DMC (Michel Dänzer) [1988103] - drm/i915/adl_p: Pipe B DMC Support (Michel Dänzer) [1988103] - drm/i915/xelpd: Pipe A DMC plugging (Michel Dänzer) [1988103] - drm/i915/dmc: Introduce DMC_FW_MAIN (Michel Dänzer) [1988103] - drm/i915/adl_p: Add initial ADL_P Workarounds (Michel Dänzer) [1988103] - drm/i915/xelpd: break feature inheritance (Michel Dänzer) [1988103] - backlight: backlight: Make of_find_backlight static (Jérôme Glisse) [1988103] - backlight: backlight: Drop backlight_put() (Jérôme Glisse) [1988103] - backlight: backlight: Introduce backlight_get_brightness() (Jérôme Glisse) [1988103] - backlight: backlight: Drop extern from prototypes (Jérôme Glisse) [1988103] - backlight: generic_bl: Remove this driver as it is unused (Michel Dänzer) [1988103] - backlight: backlight: Document enums in backlight.h (Jérôme Glisse) [1988103] - backlight: backlight: Document inline functions in backlight.h (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_device documentation (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_properties documentation (Jérôme Glisse) [1988103] - backlight: backlight: Improve backlight_ops documentation (Jérôme Glisse) [1988103] - backlight: backlight: Add backlight_is_blank() (Jérôme Glisse) [1988103] - backlight: Add backlight_device_get_by_name() (Jérôme Glisse) [1988103] - backlight: Expose brightness curve type through sysfs (Michel Dänzer) [1988103] - backlight: Remove obsolete comment for ->state (Jérôme Glisse) [1988103] - x86/gpu: add JasperLake to gen11 early quirks (Michel Dänzer) [1988103] - drm/i915/adl_p: ADL_P device info enabling (Michel Dänzer) [1988103] - redhat/configs: Disable CONFIG_DRM_VMWGFX on aarch64 (Michel Dänzer) [1988103] - drm/amd/display: Reduce stack size for dml31 UseMinimumDCFCLK (Michel Dänzer) [1988103] - drm/amd/display: Reduce stack size for dml31_ModeSupportAndSystemConfigurationFull (Michel Dänzer) [1988103] - drm/amdgpu: Initialize max/min_dpm_level (Michel Dänzer) [1988103] - redhat/configs: Disable CONFIG_HSA_AMD_SVM for now (Michel Dänzer) [1988103] - i915: Convert to older tasklet API (Michel Dänzer) [1988103] - drm/ttm: Include asm/pgtable.h (Michel Dänzer) [1988103] - Merge DRM changes from upstream v5.13..v5.14.21 (Michel Dänzer) [1988103] - PCI: Add support for dev_groups to struct pci_driver (Jérôme Glisse) [1988103] - drm: Initialize some local variables to avoid compiler warnings (Jérôme Glisse) [1988103] - drm: Use swiotlb_nr_tbl instead of is_swiotlb_active (Jérôme Glisse) [1988103] - i915: Use mdev_type_kobj_to_group_id instead of mtype_get_type_group_id (Jérôme Glisse) [1988103] - i915: Convert to older tasklet API (Jérôme Glisse) [1988103] - drm: Drop const from list_sort compare function prototypes (Jérôme Glisse) [1988103] - Merge DRM changes from upstream v5.12.14..v5.13 (Michel Dänzer) [1988103] - vfio/mdev: add helper to get index of mdev_type sysfs file (Jérôme Glisse) [1988103] - drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3 (Jérôme Glisse) [1988103] - Revert "drm/i915: Implement Wa_1508744258" (Michel Dänzer) [1988103] - Revert "drm/i915: Add the missing adls vswing tables" (Michel Dänzer) [1988103] - x86/gpu: Add Alderlake-S stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add RKL stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add TGL stolen memory support (Michel Dänzer) [1988103] - x86/gpu: add ElkhartLake to gen11 early quirks (Michel Dänzer) [1988103] - x86/gpu: reserve ICL's graphics stolen memory (Michel Dänzer) [1988103] - selftest/x86/signal: Include test cases for validating sigaltstack (Prarit Bhargava) [1837321] - x86/signal: Detect and prevent an alternate signal stack overflow (Prarit Bhargava) [1837321] - selftest/sigaltstack: Use the AT_MINSIGSTKSZ aux vector if available (Prarit Bhargava) [1837321] - x86/fpu: Additional cleanups (Prarit Bhargava) [1837321] - binfmt_elf: Respect error return from `regset->active' (Prarit Bhargava) [1837321] - x86/fpu: Optimize out sigframe xfeatures when in init state (Prarit Bhargava) [1837321] - Documentation/x86: Add documentation for using dynamic XSTATE features (Prarit Bhargava) [1837321] - selftests/x86/amx: Add context switch test (Prarit Bhargava) [1837321] - selftests/x86/amx: Add test cases for AMX state management (Prarit Bhargava) [1837321] - x86/fpu: Include vmalloc.h for vzalloc() (Prarit Bhargava) [1837321] - x86/fpu/amx: Enable the AMX feature in 64-bit mode (Prarit Bhargava) [1837321] - x86/fpu: Add XFD handling for dynamic states (Prarit Bhargava) [1837321] - x86/fpu: Calculate the default sizes independently (Prarit Bhargava) [1837321] - x86/fpu/amx: Define AMX state components and have it used for boot-time checks (Prarit Bhargava) [1837321] - x86/fpu/xstate: Prepare XSAVE feature table for gaps in state component numbers (Prarit Bhargava) [1837321] - x86/fpu/xstate: Add fpstate_realloc()/free() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Add XFD #NM handler (Prarit Bhargava) [1837321] - x86/fpu: Update XFD state where required (Prarit Bhargava) [1837321] - x86/fpu: Add sanity checks for XFD (Prarit Bhargava) [1837321] - x86/fpu: Add XFD state to fpstate (Prarit Bhargava) [1837321] - x86/msr-index: Add MSRs for XFD (Prarit Bhargava) [1837321] - x86/cpufeatures: Add eXtended Feature Disabling (XFD) feature bit (Prarit Bhargava) [1837321] - x86/fpu: Reset permission and fpstate on exec() (Prarit Bhargava) [1837321] - x86/fpu: Prepare fpu_clone() for dynamically enabled features (Prarit Bhargava) [1837321] - x86/fpu/signal: Prepare for variable sigframe length (Prarit Bhargava) [1837321] - x86/signal: Use fpu::__state_user_size for sigalt stack validation (Prarit Bhargava) [1837321] - x86/fpu: Add basic helpers for dynamically enabled features (Prarit Bhargava) [1837321] - x86/arch_prctl: Add controls for dynamic XSTATE components (Prarit Bhargava) [1837321] - x86/fpu: Add fpu_state_config::legacy_features (Prarit Bhargava) [1837321] - x86/fpu: Add members to struct fpu to cache permission information (Prarit Bhargava) [1837321] - x86/fpu/xstate: Provide xstate_calculate_size() (Prarit Bhargava) [1837321] - x86/signal: Implement sigaltstack size validation (Prarit Bhargava) [1837321] - signal: Add an optional check for altstack size (Prarit Bhargava) [1837321] - x86/fpu: Remove old KVM FPU interface (Prarit Bhargava) [1837321] - x86/kvm: Convert FPU handling to a single swap buffer (Prarit Bhargava) [1837321] - x86/fpu: Provide infrastructure for KVM FPU cleanup (Prarit Bhargava) [1837321] - x86/fpu: Prepare for sanitizing KVM FPU code (Prarit Bhargava) [1837321] - x86/fpu/xstate: Move remaining xfeature helpers to core (Prarit Bhargava) [1837321] - x86/fpu: Rework restore_regs_from_fpstate() (Prarit Bhargava) [1837321] - x86/fpu: Mop up xfeatures_mask_uabi() (Prarit Bhargava) [1837321] - x86/fpu: Move xstate feature masks to fpu_*_cfg (Prarit Bhargava) [1837321] - x86/fpu: Move xstate size to fpu_*_cfg (Prarit Bhargava) [1837321] - x86/fpu/xstate: Cleanup size calculations (Prarit Bhargava) [1837321] - x86/fpu: Cleanup fpu__init_system_xstate_size_legacy() (Prarit Bhargava) [1837321] - x86/fpu: Provide struct fpu_config (Prarit Bhargava) [1837321] - x86/fpu/signal: Use fpstate for size and features (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for copy_uabi_to_xstate() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate in __copy_xstate_to_uabi_buf() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate in fpu_copy_kvm_uabi_to_fpstate() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for xsave_to_user_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/xstate: Use fpstate for os_xsave() (Prarit Bhargava) [1837321] - x86/fpu: Use fpstate::size (Prarit Bhargava) [1837321] - x86/fpu: Add size and mask information to fpstate (Prarit Bhargava) [1837321] - x86/process: Move arch_thread_struct_whitelist() out of line (Prarit Bhargava) [1837321] - x86/fpu: Do not leak fpstate pointer on fork (Prarit Bhargava) [1837321] - x86/fpu: Remove fpu::state (Prarit Bhargava) [1837321] - x86/math-emu: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/core: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/signal: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu/regset: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu: Convert tracing to fpstate (Prarit Bhargava) [1837321] - x86/KVM: Convert to fpstate (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs xstate component clearing (Prarit Bhargava) [1837321] - x86/fpu: Convert restore_fpregs_from_fpstate() to struct fpstate (Prarit Bhargava) [1837321] - x86/fpu: Convert fpstate_init() to struct fpstate (Prarit Bhargava) [1837321] - fpu/types.h: KABI fix Part I (Prarit Bhargava) [1837321] - x86/fpu: Provide struct fpstate (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs home brewed FPU copy to user (Prarit Bhargava) [1837321] - x86/fpu: Provide a proper function for ex_handler_fprestore() (Prarit Bhargava) [1837321] - x86/fpu: Replace the includes of fpu/internal.h (Prarit Bhargava) [1837321] - x86/fpu: Mop up the internal.h leftovers (Prarit Bhargava) [1837321] - x86/sev: Include fpu/xcr.h (Prarit Bhargava) [1837321] - x86/fpu: Remove internal.h dependency from fpu/signal.h (Prarit Bhargava) [1837321] - x86/fpu: Move fpstate functions to api.h (Prarit Bhargava) [1837321] - x86/fpu: Move mxcsr related code to core (Prarit Bhargava) [1837321] - x86/fpu: Move fpregs_restore_userregs() to core (Prarit Bhargava) [1837321] - x86/fpu: Make WARN_ON_FPU() private (Prarit Bhargava) [1837321] - x86/fpu: Move legacy ASM wrappers to core (Prarit Bhargava) [1837321] - x86/fpu: Move os_xsave() and os_xrstor() to core (Prarit Bhargava) [1837321] - x86/fpu: Make os_xrstor_booting() private (Prarit Bhargava) [1837321] - x86/fpu: Clean up CPU feature tests (Prarit Bhargava) [1837321] - x86/fpu: Move context switch and exit to user inlines into sched.h (Prarit Bhargava) [1837321] - x86/fpu: Mark fpu__init_prepare_fx_sw_frame() as __init (Prarit Bhargava) [1837321] - x86/fpu: Rework copy_xstate_to_uabi_buf() (Prarit Bhargava) [1837321] - x86/fpu: Replace KVMs home brewed FPU copy from user (Prarit Bhargava) [1837321] - x86/fpu: Move KVMs FPU swapping to FPU core (Prarit Bhargava) [1837321] - x86/fpu/xstate: Mark all init only functions __init (Prarit Bhargava) [1837321] - x86/fpu/xstate: Provide and use for_each_xfeature() (Prarit Bhargava) [1837321] - x86/fpu: Cleanup xstate xcomp_bv initialization (Prarit Bhargava) [1837321] - x86/fpu: Do not inherit FPU context for kernel and IO worker threads (Prarit Bhargava) [1837321] - x86/process: Clone FPU in copy_thread() (Prarit Bhargava) [1837321] - x86/fpu: Remove pointless memset in fpu_clone() (Prarit Bhargava) [1837321] - x86/fpu: Cleanup the on_boot_cpu clutter (Prarit Bhargava) [1837321] - x86/fpu: Restrict xsaves()/xrstors() to independent states (Prarit Bhargava) [1837321] - x86/pkru: Remove useless include (Prarit Bhargava) [1837321] - x86/fpu: Update stale comments (Prarit Bhargava) [1837321] - x86/fpu: Remove pointless argument from switch_fpu_finish() (Prarit Bhargava) [1837321] - x86/fpu: Mask out the invalid MXCSR bits properly (Prarit Bhargava) [1837321] - x86/fpu: Restore the masking out of reserved MXCSR bits (Prarit Bhargava) [1837321] - x86/fpu/signal: Fix missed conversion to correct boolean retval in save_xstate_epilog() (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return code of restore_fpregs_from_user() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return code of check_xstate_in_sigframe() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of __fpu_restore_sig() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of fpu__restore_sig() to boolean (Prarit Bhargava) [1837321] - x86/signal: Change return type of restore_sigcontext() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of copy_fpregs_to_sigframe() helpers to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Change return type of copy_fpstate_to_sigframe() to boolean (Prarit Bhargava) [1837321] - x86/fpu/signal: Move xstate clearing out of copy_fpregs_to_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/signal: Move header zeroing out of xsave_to_user_sigframe() (Prarit Bhargava) [1837321] - x86/fpu/signal: Clarify exception handling in restore_fpregs_from_user() (Prarit Bhargava) [1837321] - x86/elf: Support a new ELF aux vector AT_MINSIGSTKSZ (Prarit Bhargava) [1837321] - uapi/auxvec: Define the aux vector AT_MINSIGSTKSZ (Prarit Bhargava) [1837321] - x86: get rid of get_user_ex() in restore_sigcontext() (Prarit Bhargava) [1837321] - x86: get rid of get_user_ex() in ia32_restore_sigcontext() (Prarit Bhargava) [1837321] - x86: Remove force_iret() (Prarit Bhargava) [1837321] - x86/uaccess, signal: Fix AC=1 bloat (Prarit Bhargava) [1837321] - x86/ia32: Fix ia32_restore_sigcontext() AC leak (Prarit Bhargava) [1837321] - x86/tsc: Add tsc_early_khz command line parameter (Prarit Bhargava) [1957375] - x86/debug: Support negative polarity DR6 bits (Prarit Bhargava) [2017958]- KVM: SVM: Do not terminate SEV-ES guests on GHCB validation failure (Vitaly Kuznetsov) [2032931] - KVM: SEV: Fall back to vmalloc for SEV-ES scratch area if necessary (Vitaly Kuznetsov) [2032931] - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails (Vitaly Kuznetsov) [2032931] - KVM: SEV: Refactor out sev_es_state struct (Vitaly Kuznetsov) [2032931] - s390: mm: Fix secure storage access exception handling (Thomas Huth) [1984910] - KVM: PPC: Book3S HV: Make idle_kvm_start_guest() return 0 if it went to guest (Jon Maloy) [2018960] {CVE-2021-43056} - KVM: PPC: Book3S HV: Fix stack handling in idle_kvm_start_guest() (Jon Maloy) [2018960] {CVE-2021-43056} - KVM: arm64: selftests: arch_timer: Support vCPU migration (Gavin Shan) [2024808] - KVM: arm64: selftests: Add arch_timer test (Gavin Shan) [2024808] - KVM: arm64: selftests: Add host support for vGIC (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic GICv3 support (Gavin Shan) [2024808] - KVM: arm64: selftests: Add light-weight spinlock support (Gavin Shan) [2024808] - KVM: arm64: selftests: Add guest support to get the vcpuid (Gavin Shan) [2024808] - KVM: arm64: selftests: Maintain consistency for vcpuid type (Gavin Shan) [2024808] - KVM: arm64: selftests: Add support to disable and enable local IRQs (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic support to generate delays (Gavin Shan) [2024808] - KVM: arm64: selftests: Add basic support for arch_timers (Gavin Shan) [2024808] - KVM: arm64: selftests: Add support for cpu_relax (Gavin Shan) [2024808] - KVM: arm64: selftests: Introduce ARM64_SYS_KVM_REG (Gavin Shan) [2024808] - tools: arm64: Import sysreg.h (Gavin Shan) [2024808] - KVM: arm64: selftests: Add MMIO readl/writel support (Gavin Shan) [2024808] - selftests: KVM: Introduce psci_cpu_on_test (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: actually enable pmu regs in pmu sublist (Gavin Shan) [2024808] - KVM: arm64: Update MAINTAINERS to include selftests (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Split base and pmu registers (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Remove get-reg-list-sve (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Provide config selection option (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Prepare to run multiple configs at once (Gavin Shan) [2024808] - KVM: arm64: selftests: get-reg-list: Introduce vcpu configs (Gavin Shan) [2024808] - sctp: make the raise timer more simple and accurate (Xin Long) [2020474] - Enable flowtable ipv4/ipv6 support (Phil Sutter) [1850324] - ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate (William Zhao) [1941928] - svcrdma: Fix a crash in svcrdma_counter_handler (Benjamin Coddington) [2037213] - fbcon: Fix global-out-of-bounds read in fbcon_get_font() (Lyude Paul) [1904374] - bnxt_en: Clean up completion ring page arrays completely (Ken Cox) [1987074] - bnxt_en: Fix error recovery regression (Ken Cox) [1987074] - bnxt_en: Fix possible unintended driver initiated error recovery (Ken Cox) [1987074] - bnxt_en: Fix UDP tunnel logic (Ken Cox) [1987074] - bnxt_en: Fix asic.rev in devlink dev info command (Ken Cox) [1987074] - bnxt_en: fix read of stored FW_PSID version on P5 devices (Ken Cox) [1987074] - bnxt_en: fix stored FW_PSID version masks (Ken Cox) [1987074] - bnxt_en: fix kernel doc warnings in bnxt_hwrm.c (Ken Cox) [1987074] - bnxt_en: Fix 64-bit doorbell operation on 32-bit kernels (Ken Cox) [1987074] - bnxt_en: support multiple HWRM commands in flight (Ken Cox) [1987074] - bnxt_en: remove legacy HWRM interface (Ken Cox) [1987074] - bnxt_en: update all firmware calls to use the new APIs (Ken Cox) [1987074] - bnxt_en: use link_lock instead of hwrm_cmd_lock to protect link_info (Ken Cox) [1987074] - bnxt_en: add support for HWRM request slices (Ken Cox) [1987074] - bnxt_en: add HWRM request assignment API (Ken Cox) [1987074] - bnxt_en: discard out of sequence HWRM responses (Ken Cox) [1987074] - bnxt_en: introduce new firmware message API based on DMA pools (Ken Cox) [1987074] - bnxt_en: move HWRM API implementation into separate file (Ken Cox) [1987074] - bnxt_en: Refactor the HWRM_VER_GET firmware calls (Ken Cox) [1987074] - bnxt_en: remove DMA mapping for KONG response (Ken Cox) [1987074] - bnxt: count discards due to memory allocation errors (Ken Cox) [1987074] - bnxt: count packets discarded because of netpoll (Ken Cox) [1987074] - net: broadcom: switch from 'pci_' to 'dma_' API (Ken Cox) [1987074] - bnxt_en: Add missing DMA memory barriers (Ken Cox) [1987074] - bnxt_en: Disable aRFS if running on 212 firmware (Ken Cox) [1987074] - bnxt: count Tx drops (Ken Cox) [1987074] - bnxt: make sure xmit_more + errors does not miss doorbells (Ken Cox) [1987074] - bnxt: disable napi before canceling DIM (Ken Cox) [1987074] - bnxt: don't lock the tx queue from napi poll (Ken Cox) [1987074] - bnxt_en: Use register window 6 instead of 5 to read the PHC (Ken Cox) [1987074] - bnxt_en: Update firmware call to retrieve TX PTP timestamp (Ken Cox) [1987074] - bnxt_en: Update firmware interface to 1.10.2.52 (Ken Cox) [1987074] - bnxt_en: Increase maximum RX ring size if jumbo ring is not used (Ken Cox) [1987074] - bnxt_en: Don't use static arrays for completion ring pages (Ken Cox) [1987074] - bnxt_en: Add missing periodic PHC overflow check (Ken Cox) [1987074] - bnxt_en: Log if an invalid signal detected on TSIO pin (Ken Cox) [1987074] - bnxt_en: Event handler for PPS events (Ken Cox) [1987074 1990156] - bnxt_en: 1PPS functions to configure TSIO pins (Ken Cox) [1987074 1990156] - bnxt_en: 1PPS support for 5750X family chips (Ken Cox) [1987074 1990156] - bnxt_en: Do not read the PTP PHC during chip reset (Ken Cox) [1987074 1990156] - bnxt_en: Move bnxt_ptp_init() from bnxt_open() back to bnxt_init_one() (Ken Cox) [1987074 1990156] - bnxt_en: Fix PTP capability discovery (Ken Cox) [1987074] - bnxt_en: Move bnxt_ptp_init() to bnxt_open() (Ken Cox) [1987074] - bnxt: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [1987074] - bnxt_en: Enable hardware PTP support (Ken Cox) [1987074] - bnxt_en: Transmit and retrieve packet timestamps (Ken Cox) [1987074] - bnxt_en: Get the RX packet timestamp (Ken Cox) [1987074] - bnxt_en: Get the full 48-bit hardware timestamp periodically (Ken Cox) [1987074] - bnxt_en: Add PTP clock APIs, ioctls, and ethtool methods (Ken Cox) [1987074] - bnxt_en: Get PTP hardware capability from firmware (Ken Cox) [1987074] - bnxt_en: Update firmware interface to 1.10.2.47 (Ken Cox) [1987074] - bnxt_en: Fix fall-through warnings for Clang (Ken Cox) [1987074] - bnxt_en: Fix and improve .ndo_features_check(). (Ken Cox) [1987074] - bnxt_en: Implement .ndo_features_check(). (Ken Cox) [1987074] - bnxt_en: Support IFF_SUPP_NOFCS feature to transmit without ethernet FCS. (Ken Cox) [1987074] - bnxt_en: Call bnxt_approve_mac() after the PF gives up control of the VF MAC. (Ken Cox) [1987074] - bnxt_en: Move bnxt_approve_mac(). (Ken Cox) [1987074] - bnxt_en: allow VF config ops when PF is closed (Ken Cox) [1987074] - bnxt_en: Add support for fw managed link down feature. (Ken Cox) [1987074] - bnxt_en: Add a new phy_flags field to the main driver structure. (Ken Cox) [1987074] - bnxt_en: report signal mode in link up messages (Ken Cox) [1987074] - bnxt: add more ethtool standard stats (Ken Cox) [1987074] - bnxt: implement ethtool standard stats (Ken Cox) [1987074] - bnxt: implement ethtool::get_fec_stats (Ken Cox) [1987074] - bnxt_en: Free and allocate VF-Reps during error recovery. (Ken Cox) [1987074] - bnxt_en: Refactor __bnxt_vf_reps_destroy(). (Ken Cox) [1987074] - bnxt_en: Refactor bnxt_vf_reps_create(). (Ken Cox) [1987074] - bnxt_en: Invalidate health register mapping at the end of probe. (Ken Cox) [1987074] - bnxt_en: Treat health register value 0 as valid in bnxt_try_reover_fw(). (Ken Cox) [1987074] - bnxt_en: Enhance retry of the first message to the firmware. (Ken Cox) [1987074] - bnxt_en: Set BNXT_STATE_FW_RESET_DET flag earlier for the RDMA driver. (Ken Cox) [1987074] - bnxt_en: check return value of bnxt_hwrm_func_resc_qcaps (Ken Cox) [1987074] - bnxt_en: don't fake firmware response success when PCI is disabled (Ken Cox) [1987074] - bnxt_en: Improve wait for firmware commands completion (Ken Cox) [1987074] - bnxt_en: Improve the status_reliable flag in bp->fw_health. (Ken Cox) [1987074] - Bluetooth: fix use-after-free error in lock_sock_nested() (Gopal Tiwari) [2005689] - rpmspec: add release string to kernel doc directory name (Jan Stancek) [1824836] - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization (Mark Langsdorf) [2031830] - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Rework HWP calibration (Mark Langsdorf) [2031830] - ACPI: CPPC: Introduce cppc_get_nominal_perf() (Mark Langsdorf) [2031830] - cpufreq: Replace deprecated CPU-hotplug functions (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Fix build with CONFIG_ACPI unset (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: CPU-specific scaling factor (Mark Langsdorf) [2031830] - cpufreq: intel_pstate: hybrid: Avoid exposing two global attributes (Mark Langsdorf) [2031830] - ASoC: amd: renoir: Run hibernation callbacks (Renjith Pananchikkal) [1987617] - hugetlb: fix hugetlb cgroup refcounting during vma split (Waiman Long) [2032811] - hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings (Waiman Long) [2032811] - mm/hugetlb: change hugetlb_reserve_pages() to type bool (Waiman Long) [2032811] - hugetlb: fix an error code in hugetlb_reserve_pages() (Waiman Long) [2032811] - hugetlb_cgroup: fix offline of hugetlb cgroup with reservations (Waiman Long) [2032811] - hugetlb_cgroup: fix reservation accounting (Waiman Long) [2032811] - mm/hugetlb: narrow the hugetlb_lock protection area during preparing huge page (Waiman Long) [2032811] - mm/hugetlb: a page from buddy is not on any list (Waiman Long) [2032811] - mm/hugetlb: not necessary to coalesce regions recursively (Waiman Long) [2032811] - selftests/vm/write_to_hugetlbfs.c: fix unused variable warning (Waiman Long) [2032811] - hugetlb_cgroup: add hugetlb_cgroup reservation tests (Waiman Long) [2032811] - hugetlb: support file_region coalescing again (Waiman Long) [2032811] - hugetlb_cgroup: support noreserve mappings (Waiman Long) [2032811] - hugetlb_cgroup: add accounting for shared mappings (Waiman Long) [2032811] - hugetlb: disable region_add file_region coalescing (Waiman Long) [2032811] - hugetlb_cgroup: add reservation accounting for private mappings (Waiman Long) [2032811] - mm/hugetlb_cgroup: fix hugetlb_cgroup migration (Waiman Long) [2032811] - hugetlb_cgroup: add interface for charge/uncharge hugetlb reservations (Waiman Long) [2032811] - hugetlb_cgroup: add hugetlb_cgroup reservation counter (Waiman Long) [2032811] - mm/vma: move VM_NO_KHUGEPAGED into generic header (Waiman Long) [2032811] - mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation (Waiman Long) [2032811] - hugetlb: remove duplicated code (Waiman Long) [2032811] - hugetlb: region_chg provides only cache entry (Waiman Long) [2032811] - arm64/mm: Refactor __do_page_fault() (Waiman Long) [2032811] - arm64/mm: Drop task_struct argument from __do_page_fault() (Waiman Long) [2032811] - hugetlbfs: always use address space in inode for resv_map pointer (Waiman Long) [2032811] - mm: remove redundant 'default n' from Kconfig-s (Waiman Long) [2032811] - hugetlbfs: fix potential over/underflow setting node specific nr_hugepages (Waiman Long) [2032811] - hugetlb: allow to free gigantic pages regardless of the configuration (Waiman Long) [2032811] - mm/cma.c: fix crash on CMA allocation if bitmap allocation fails (Waiman Long) [2032811] - mm/cma.c: fix the bitmap status to show failed allocation reason (Waiman Long) [2032811] - mm/cma_debug.c: fix the break condition in cma_maxchunk_get() (Waiman Long) [2032811] - mm: no need to check return value of debugfs_create functions (Waiman Long) [2032811] - x86/mm: Break out user address space handling (Waiman Long) [2032811] - fs: add vfs_parse_fs_param_source() helper (Waiman Long) [2034609] - cgroup: verify that source is a string (Waiman Long) [2034609] - ice: Fix E810 PTP reset flow (Jonathan Toppins) [2013478] - ice: Use div64_u64 instead of div_u64 in adjfine (Jonathan Toppins) [2013478] - ice: Don't put stale timestamps in the skb (Jonathan Toppins) [2013478] - ice: Fix problems with DSCP QoS implementation (Jonathan Toppins) [2030400] - ice: fix software generating extra interrupts (Jonathan Toppins) [2030400] - ice: fix rate limit update after coalesce change (Jonathan Toppins) [2030400] - ice: update dim usage and moderation (Jonathan Toppins) [2030400] - ice: make use of ice_for_each_* macros (Jonathan Toppins) [2030400] - ice: Remove boolean vlan_promisc flag from function (Jonathan Toppins) [2030400] - ice: check whether PTP is initialized in ice_ptp_release() (Jonathan Toppins) [2030400] - ice: devlink: Make devlink_register to be void (Jonathan Toppins) [2030400] - ice: split ice_ring onto Tx/Rx separate structs (Jonathan Toppins) [2030400] - ice: Prefer kcalloc over open coded arithmetic (Jonathan Toppins) [2030400] - ice: Fix macro name for IPv4 fragment flag (Jonathan Toppins) [2030400] - ice: refactor devlink getter/fallback functions to void (Jonathan Toppins) [2030400] - ice: Fix link mode handling (Jonathan Toppins) [2030400] - ice: Add feature bitmap, helpers and a check for DSCP (Jonathan Toppins) [2030400] - ice: Add DSCP support (Jonathan Toppins) [2030400]- fanotify: Make waits for fanotify events only killable (Miklos Szeredi) [1897416] - fanotify: Use interruptible wait when waiting for permission events (Miklos Szeredi) [1897416] - fanotify: Track permission event state (Miklos Szeredi) [1897416] - fanotify: Simplify cleaning of access_list (Miklos Szeredi) [1897416] - fsnotify: Create function to remove event from notification list (Miklos Szeredi) [1897416] - fanotify: Move locking inside get_one_event() (Miklos Szeredi) [1897416] - fanotify: Fold dequeue_event() into process_access_response() (Miklos Szeredi) [1897416] - fanotify: rename struct fanotify_{,perm_}event_info (Miklos Szeredi) [1897416] - RDMA/mlx5: Fix crash when unbind multiport slave (Amir Tzin) [1997386] - redhat: Fix mock.cfg cleanup in redhat/Makefile (Benjamin Coddington) - timekeeping: Use proper clock specifier names in functions (Josef Oskera) [2026471] - leds: ledtrig-activity: use ktime_get_boot_ns() (Josef Oskera) [2026471] - iio: use timespec64 based interfaces for iio_get_time_ns() (Josef Oskera) [2026471] - drivers: net: netdevsim: fix devlink_trap selftests failing (Petr Oros) [2021837] - netdevsim: remove max_vfs dentry (Petr Oros) [2021837] - netdevsim: Fix unsigned being compared to less than zero (Petr Oros) [2021837] - devlink: Protect rate list with lock while switching modes (Petr Oros) [2021837] - devlink: Remove eswitch mode check for mode set call (Petr Oros) [2021837] - devlink: Decrease refcnt of parent rate object on leaf destroy (Petr Oros) [2021837] - docs: networking: devlink: avoid using ReST :doc:`foo` markup (Petr Oros) [2021837] - testing: selftests: drivers: net: netdevsim: devlink: add test case for hard drop statistics (Petr Oros) [2021837] - drivers: net: netdevsim: add devlink trap_drop_counter_get implementation (Petr Oros) [2021837] - testing: selftests: net: forwarding: add devlink-required functionality to test (hard) dropped stats field (Petr Oros) [2021837] - net: core: devlink: add dropped stats traps field (Petr Oros) [2021837] - devlink: Fix error message in devlink_rate_set_ops_supported() (Petr Oros) [2021837] - Documentation: devlink rate objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate grouping test (Petr Oros) [2021837] - netdevsim: Allow setting parent node of rate objects (Petr Oros) [2021837] - devlink: Allow setting parent node of rate objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate nodes test (Petr Oros) [2021837] - netdevsim: Implement support for devlink rate nodes (Petr Oros) [2021837] - devlink: Introduce rate nodes (Petr Oros) [2021837] - selftest: netdevsim: Add devlink port shared/max tx rate test (Petr Oros) [2021837] - netdevsim: Implement devlink rate leafs tx rate support (Petr Oros) [2021837] - devlink: Allow setting tx rate for devlink rate leaf objects (Petr Oros) [2021837] - selftest: netdevsim: Add devlink rate test (Petr Oros) [2021837] - netdevsim: Register devlink rate leaf objects per VF (Petr Oros) [2021837] - devlink: Introduce rate object (Petr Oros) [2021837] - netdevsim: Implement legacy/switchdev mode for VFs (Petr Oros) [2021837] - netdevsim: Implement VFs (Petr Oros) [2021837] - netdevsim: Implement port types and indexing (Petr Oros) [2021837] - netdevsim: Disable VFs on nsim_dev_reload_destroy() call (Petr Oros) [2021837] - netdevsim: Add max_vfs to bus_dev (Petr Oros) [2021837] - devlink: append split port number to the port name (Petr Oros) [2021837] - devlink: Correct VIRTUAL port to not have phys_port attributes (Petr Oros) [2021837] - docs: net: add missing devlink health cmd - trigger (Petr Oros) [2021837] - docs: net: tweak devlink health documentation (Petr Oros) [2021837] - devlink: fix typo in documentation (Petr Oros) [2021837] - devlink: Extend devlink port documentation for subfunctions (Petr Oros) [2021837] - udp: Validate checksum in udp_read_sock() (Jiri Benc) [1947007] - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg (Jiri Benc) [1947007] - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding (Jiri Benc) [1947007] - selftests, bpf: Add one test for sockmap with strparser (Jiri Benc) [1947007] - selftests, bpf: Fix test_txmsg_ingress_parser error (Jiri Benc) [1947007] - skmsg: Lose offset info in sk_psock_skb_ingress (Jiri Benc) [1947007] - bpf, sockmap: Fix potential memory leak on unlikely error case (Jiri Benc) [1947007] - tcp_bpf: Fix one concurrency problem in the tcp_bpf_send_verdict function (Jiri Benc) [1947007] - bpf, sockmap, tcp: sk_prot needs inuse_idx set for proc stats (Jiri Benc) [1947007] - bpf, sockmap: Fix memleak on ingress msg enqueue (Jiri Benc) [1947007] - bpf, sockmap: On cleanup we additionally need to remove cached skb (Jiri Benc) [1947007] - skmsg: Increase sk->sk_drops when dropping packets (Jiri Benc) [1947007] - skmsg: Pass source psock to sk_psock_skb_redirect() (Jiri Benc) [1947007] - skmsg: Teach sk_psock_verdict_apply() to return errors (Jiri Benc) [1947007] - skmsg: Fix a memory leak in sk_psock_verdict_apply() (Jiri Benc) [1947007] - skmsg: Clear skb redirect pointer before dropping it (Jiri Benc) [1947007] - udp: Fix a memory leak in udp_read_sock() (Jiri Benc) [1947007] - selftests/bpf: Retry for EAGAIN in udp_redir_to_connected() (Jiri Benc) [1947007] - skmsg: Improve udp_bpf_recvmsg() accuracy (Jiri Benc) [1947007] - bpf: Limit static tcp-cc functions in the .BTF_ids list to x86 (Jiri Benc) [1947007] - flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target() (Jiri Benc) [1947007] - sock_map: Fix a potential use-after-free in sock_map_close() (Jiri Benc) [1947007] - skmsg: Pass psock pointer to ->psock_update_sk_prot() (Jiri Benc) [1947007] - bpf, udp: Remove some pointless comments (Jiri Benc) [1947007] - selftests/bpf: Add a test case for loading BPF_SK_SKB_VERDICT (Jiri Benc) [1947007] - selftests/bpf: Add a test case for udp sockmap (Jiri Benc) [1947007] - sock_map: Update sock type checks for UDP (Jiri Benc) [1947007] - udp: Implement udp_bpf_recvmsg() for sockmap (Jiri Benc) [1947007] - skmsg: Extract __tcp_bpf_recvmsg() and tcp_bpf_wait_data() (Jiri Benc) [1947007] - udp: Implement ->read_sock() for sockmap (Jiri Benc) [1947007] - sock: Introduce sk->sk_prot->psock_update_sk_prot() (Jiri Benc) [1947007] - sock_map: Introduce BPF_SK_SKB_VERDICT (Jiri Benc) [1947007] - sock_map: Kill sock_map_link_no_progs() (Jiri Benc) [1947007] - sock_map: Simplify sock_map_link() a bit (Jiri Benc) [1947007] - skmsg: Use GFP_KERNEL in sk_psock_create_ingress_msg() (Jiri Benc) [1947007] - skmsg: Use rcu work for destroying psock (Jiri Benc) [1947007] - skmsg: Avoid lock_sock() in sk_psock_backlog() (Jiri Benc) [1947007] - net: Introduce skb_send_sock() for sock_map (Jiri Benc) [1947007] - skmsg: Introduce a spinlock to protect ingress_msg (Jiri Benc) [1947007] - skmsg: Lock ingress_skb when purging (Jiri Benc) [1947007] - bpf: tcp: Limit calling some tcp cc functions to CONFIG_DYNAMIC_FTRACE (Jiri Benc) [1947007] - bpf: tcp: Fix an error in the bpf_tcp_ca_kfunc_ids list (Jiri Benc) [1947007] - bpf: tcp: Remove comma which is causing build error (Jiri Benc) [1947007] - bpf: tcp: Put some tcp cong functions in allowlist for bpf-tcp-cc (Jiri Benc) [1947007] - tcp: Rename bictcp function prefix to cubictcp (Jiri Benc) [1947007] - bpf: Add getter and setter for SO_REUSEPORT through bpf_{g,s}etsockopt (Jiri Benc) [1947007] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Jiri Benc) [1947007] - xsk: Update rings for load-acquire/store-release barriers (Jiri Benc) [1947007] - skmsg: Add function doc for skb->_sk_redir (Jiri Benc) [1947007] - skmsg: Remove unused sk_psock_stop() declaration (Jiri Benc) [1947007] - skmsg: Get rid of sk_psock_bpf_run() (Jiri Benc) [1947007] - skmsg: Make __sk_psock_purge_ingress_msg() static (Jiri Benc) [1947007] - sock_map: Make sock_map_prog_update() static (Jiri Benc) [1947007] - sock_map: Rename skb_parser and skb_verdict (Jiri Benc) [1947007] - skmsg: Move sk_redir from TCP_SKB_CB to skb (Jiri Benc) [1947007] - bpf: Compute data_end dynamically with JIT code (Jiri Benc) [1947007] - skmsg: Get rid of struct sk_psock_parser (Jiri Benc) [1947007] - bpf: Clean up sockmap related Kconfigs (Jiri Benc) [1947007] - xsk: Build skb by page (aka generic zerocopy xmit) (Jiri Benc) [1947007] - xsk: Respect device's headroom and tailroom on generic xmit path (Jiri Benc) [1947007] - virtio-net: Support IFF_TX_SKB_NO_LINEAR flag (Jiri Benc) [1947007] - net: Add priv_flags for allow tx skb without linear (Jiri Benc) [1947007] - netdevice: Add missing IFF_PHONY_HEADROOM self-definition (Jiri Benc) [1947007] - skmsg: Make sk_psock_destroy() static (Jiri Benc) [1947007] - skmsg: Use fallthrough pseudo-keyword (Jiri Benc) [1947007] - net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP (Jiri Benc) [1947007] - virtio_net: Account for tx bytes and packets on sending xdp_frames (Jiri Benc) [1947007] - inet: udp{4|6}_lib_lookup_skb() skb argument is const (Jiri Benc) [1947007] - inet: constify inet_sdif() argument (Jiri Benc) [1947007] - udp: move gro declarations to net/udp.h (Jiri Benc) [1947007] - net: move tcp gro declarations to net/tcp.h (Jiri Benc) [1947007] - tcp: add declarations to avoid warnings (Jiri Benc) [1947007] - tcp: remove indirect calls for icsk->icsk_af_ops->send_check (Jiri Benc) [1947007] - tcp: remove indirect calls for icsk->icsk_af_ops->queue_xmit (Jiri Benc) [1947007] - net: remove unused skb_send_sock() (Jiri Benc) [1947007] - net: Use skb_frag_off accessors (Jiri Benc) [1947007] - net: Use skb accessors in network core (Jiri Benc) [1947007] - skbuff: fix compilation warnings in skb_dump() (Jiri Benc) [1947007] - skbuff: increase verbosity when dumping skb data (Jiri Benc) [1947007] - net: dump more useful information in netdev_rx_csum_fault() (Jiri Benc) [1947007] - net: avoid indirect calls in L4 checksum calculation (Jiri Benc) [1947007] - net/core: Allow the compiler to verify declaration and definition consistency (Jiri Benc) [1947007] - efi/arm64: Drop erroneous '__pure' attribute from set_nokaslr() (Vitaly Kuznetsov) [2026995] - drm/nouveau: clean up all clients on device removal (Karol Herbst) [1901903] {CVE-2020-27820} - drm/nouveau: Add a dedicated mutex for the clients list (Karol Herbst) [1901903] {CVE-2020-27820} - drm/nouveau: use drm_dev_unplug() during device removal (Karol Herbst) [1901903] {CVE-2020-27820} - block: avoid to quiesce queue in elevator_init_mq (Ming Lei) [2025759] - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release() (Ming Lei) [2021399] - PCI/portdrv: Enable Bandwidth Notification only if port supports it (Myron Stowe) [1981738] - cifs: keep referral server sessions alive (Ronnie Sahlberg) [2030880] - cifs: check pointer before freeing (Ronnie Sahlberg) [2030880] - cifs: constify path argument of ->make_node() (Ronnie Sahlberg) [2030880] - cifs: constify get_normalized_path() properly (Ronnie Sahlberg) [2030880] - cifs: don't cargo-cult strndup() (Ronnie Sahlberg) [2030880] - cifs: cleanup misc.c (Ronnie Sahlberg) [2030880] - cifs: get rid of @noreq param in __dfs_cache_find() (Ronnie Sahlberg) [2030880] - cifs: do not send tree disconnect to ipc shares (Ronnie Sahlberg) [2030880] - cifs: fix doc warnings in cifs_dfs_ref.c (Ronnie Sahlberg) [2030880] - cifs: introduce helper for finding referral server to improve DFS target resolution (Ronnie Sahlberg) [2030880] - cifs: check all path components in resolved dfs target (Ronnie Sahlberg) [2030880] - cifs: fix DFS failover (Ronnie Sahlberg) [2030880] - Enable CONFIG_SCHED_CLUSTER (Phil Auld) [1920645] - sched,x86: Don't use cluster topology for x86 hybrid CPUs (Phil Auld) [1920645] - arch_topology: Fix missing clear cluster_cpumask in remove_cpu_topology() (Phil Auld) [1920645] - x86/smp: Factor out parts of native_smp_prepare_cpus() (Phil Auld) [1920645] - sched,x86: Fix L2 cache mask (Phil Auld) [1920645] - sched: Add cluster scheduler level for x86 (Phil Auld) [1920645] - sched: Add cluster scheduler level in core and related Kconfig for ARM64 (Phil Auld) [1920645] - topology: Represent clusters of CPUs within a die (Phil Auld) [1920645] - cpumask: Omit terminating null byte in cpumap_print_{list,bitmask}_to_buf (Phil Auld) [1920645] - drivers/base/node.c: use bin_attribute to break the size limitation of cpumap ABI (Phil Auld) [1920645] - topology: use bin_attribute to break the size limitation of cpumap ABI (Phil Auld) [1920645] - cpumask: introduce cpumap_print_list/bitmask_to_buf to support large bitmask and list (Phil Auld) [1920645] - x86/cpu: Add get_llc_id() helper function (Phil Auld) [1920645] - x86/smp: Add a per-cpu view of SMT state (Phil Auld) [1920645] - ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC (Phil Auld) [1920645] - arm: Use common cpu_topology structure and functions. (Phil Auld) [1920645] - cpu-topology: Move cpu topology code to common code. (Phil Auld) [1920645] - netfilter: ctnetlink: allow to filter dump by status bits (Florian Westphal) [1991526] - netfilter: ctnetlink: add and use a helper for mark parsing (Florian Westphal) [1991526] - netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo (Florian Westphal) [1991526] - netfilter: ctnetlink: add timeout and protoinfo to destroy events (Florian Westphal) [1991526] - netfilter: ctnetlink: fix mark based dump filtering regression (Florian Westphal) [1991526] - netfilter: ctnetlink: memleak in filter initialization error path (Florian Westphal) [1991526] - netfilter: ctnetlink: add kernel side filtering for dump (Florian Westphal) [1991526] - netfilter: ctnetlink: don't dump ct extensions of unconfirmed conntracks (Florian Westphal) [1991526] - netfilter: ctnetlink: be more strict when NF_CONNTRACK_MARK is not set (Florian Westphal) [1991526] - netfilter: ctnetlink: Fix regression in conntrack entry deletion (Florian Westphal) [1991526] - netfilter: ctnetlink: Resolve conntrack L3-protocol flush regression (Florian Westphal) [1991526] - netfilter: ctnetlink: always honor CTA_MARK_MASK (Florian Westphal) [1991526] - netfilter: ctnetlink: must check mark attributes vs NULL (Florian Westphal) [1991526] - netfilter: ctnetlink: Support L3 protocol-filter on flush (Florian Westphal) [1991526] - netfilter: nftables: fix incorrect increment of loop counter (Phil Sutter) [1983635] - netfilter: nf_tables: initialize set before expression setup (Phil Sutter) [1983635] - netfilter: nftables: add set expression flags (Phil Sutter) [1983635] - netfilter: nft_dynset: report EOPNOTSUPP on missing set feature (Phil Sutter) [1983635] - netfilter: nft_dynset: dump expressions when set definition contains no expressions (Phil Sutter) [1983635] - netfilter: nft_dynset: honor stateful expressions in set definition (Phil Sutter) [1983635] - netfilter: nf_tables: do not leave dangling pointer in nf_tables_set_alloc_name (Phil Sutter) [1983635] - netfilter: nftables: clone set element expression template (Phil Sutter) [1983635] - netfilter: nftables: relax check for stateful expressions in set definition (Phil Sutter) [1983635] - netfilter: nftables: netlink support for several set element expressions (Phil Sutter) [1983635] - netfilter: nf_tables: skip set types that do not support for expressions (Phil Sutter) [1983635] - netfilter: nft_dynset: allow dynamic updates of non-anonymous set (Phil Sutter) [1983635] - netfilter: nftables: generalize set extension to support for several expressions (Phil Sutter) [1983635] - netfilter: nf_tables: do not update stateful expressions if lookup is inverted (Phil Sutter) [1983635] - netfilter: nftables: move nft_expr before nft_set (Phil Sutter) [1983635] - netfilter: nf_tables: Align nft_expr private data to 64-bit (Phil Sutter) [1983635] - netfilter: nftables: generalize set expressions support (Phil Sutter) [1983635] - netfilter: nft_dynset: validate set expression definition (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_expr_destroy() and use it (Phil Sutter) [1983635] - netfilter: nf_tables: fix double-free on set expression from the error path (Phil Sutter) [1983635] - netfilter: nf_tables: allow to specify stateful expression in set definition (Phil Sutter) [1983635] - netfilter: nf_tables: bogus EBUSY when deleting set after flush (Phil Sutter) [1983635] - netfilter: nf_tables: pass context to nft_set_destroy() (Phil Sutter) [1983635] - netfilter: nf_tables: move nft_expr_clone() to nf_tables_api.c (Phil Sutter) [1983635] - netfilter: nf_tables: relocate header content to consumer (Phil Sutter) [1983635] - netfilter: nft_lookup: update element stateful expression (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_update_expr() helper function (Phil Sutter) [1983635] - netfilter: nf_tables: add elements with stateful expressions (Phil Sutter) [1983635] - netfilter: nf_tables: statify nft_expr_init() (Phil Sutter) [1983635] - netfilter: nf_tables: add nft_set_elem_expr_alloc() (Phil Sutter) [1983635] - netfilter: nf_tables: enable set expiration time for set elements (Phil Sutter) [1983635] - hugetlbfs: flush TLBs correctly after huge_pmd_unshare (Rafael Aquini) [2026376] {CVE-2021-4002} - tlb: mmu_gather: add tlb_flush_*_range APIs (Rafael Aquini) [2026376] {CVE-2021-4002} - ACPI: PM: Do not turn off power resources in unknown state (Mark Langsdorf) [1997696] - ACPI: PRM: Find PRMT table before parsing it (Mark Langsdorf) [1997696] - ACPI: NFIT: Fix support for virtual SPA ranges (Mark Langsdorf) [1997696] - ACPI: DPTF: Fix reading of attributes (Mark Langsdorf) [1997696] - ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007 (Mark Langsdorf) [1997696] - ACPI: Kconfig: Fix table override from built-in initrd (Mark Langsdorf) [1997696] - ACPI: video: Add quirk for the Dell Vostro 3350 (Mark Langsdorf) [1997696] - ACPI: AMBA: Fix resource name in /proc/iomem (Mark Langsdorf) [1997696] - ACPI: PM: postpone bringing devices to D0 unless we need them (Mark Langsdorf) [1997696] - ACPI: tables: Add custom DSDT file as makefile prerequisite (Mark Langsdorf) [1997696] - ACPI: bgrt: Use sysfs_emit (Mark Langsdorf) [1997696] - ACPI: bgrt: Fix CFI violation (Mark Langsdorf) [1997696] - ACPI: EC: trust DSDT GPE for certain HP laptop (Mark Langsdorf) [1997696] - ACPI: scan: Simplify acpi_table_events_fn() (Mark Langsdorf) [1997696] - ACPI: sysfs: Remove tailing return statement in void function (Mark Langsdorf) [1997696] - ACPI: sysfs: Use __ATTR_RO() and __ATTR_RW() macros (Mark Langsdorf) [1997696] - ACPI: sysfs: Sort headers alphabetically (Mark Langsdorf) [1997696] - ACPI: sysfs: Refactor param_get_trace_state() to drop dead code (Mark Langsdorf) [1997696] - ACPI: sysfs: Unify pattern of memory allocations (Mark Langsdorf) [1997696] - ACPI: sysfs: Allow bitmap list to be supplied to acpi_mask_gpe (Mark Langsdorf) [1997696] - ACPI: sysfs: Make sparse happy about address space in use (Mark Langsdorf) [1997696] - ACPI: scan: Fix race related to dropping dependencies (Mark Langsdorf) [1997696] - ACPI: scan: Reorganize acpi_device_add() (Mark Langsdorf) [1997696] - ACPI: scan: Fix device object rescan in acpi_scan_clear_dep() (Mark Langsdorf) [1997696] - ACPI: scan: Make acpi_walk_dep_device_list() (Mark Langsdorf) [1997696] - ACPI: scan: Rearrange acpi_dev_get_first_consumer_dev_cb() (Mark Langsdorf) [1997696] - ACPI: scan: Define acpi_bus_put_acpi_device() as static inline (Mark Langsdorf) [1997696] - ACPI: NVS: fix doc warnings in nvs.c (Mark Langsdorf) [1997696] - ACPI: sysfs: fix doc warnings in device_sysfs.c (Mark Langsdorf) [1997696] - ACPI: APEI: fix synchronous external aborts in user-mode (Mark Langsdorf) [1997696] - mfd: tps68470: Remove tps68470 MFD driver (Mark Langsdorf) [1997696] - ACPI: power: Use dev_dbg() to print some messages (Mark Langsdorf) [1997696] - ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Fix several coding style issues (Mark Langsdorf) [1997696] - ACPI: sysfs: Drop four redundant return statements (Mark Langsdorf) [1997696] - ACPI: video: Drop three redundant return statements (Mark Langsdorf) [1997696] - ACPI: sleep: Fix acpi_pm_pre_suspend() kernel-doc (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Remove redundant initialization of 'obj' (Mark Langsdorf) [1997696] - ACPI: utils: Introduce acpi_get_local_address() (Mark Langsdorf) [1997696] - ACPI: scan: initialize local variable to avoid garbage being returned (Mark Langsdorf) [1997696] - ACPI: Remove redundant clearing of context->ret.pointer from acpi_run_osc() (Mark Langsdorf) [1997696] - redhat/configs: Add Enable CONFIG_ACPI_PRMT (Mark Langsdorf) [1997696] - ACPI: PRM: Deal with table not present or no module found (Mark Langsdorf) [1997696] - ACPI: Do not singal PRM support if not enabled (Mark Langsdorf) [1997696] - ACPI: Kconfig: Provide help text for the ACPI_PRMT option (Mark Langsdorf) [1997696] - ACPI: PRM: make symbol 'prm_module_list' static (Mark Langsdorf) [1997696] - ACPI: Correct \_SB._OSC bit definition for PRM (Mark Langsdorf) [1997696] - ACPI: Add \_SB._OSC bit for PRM (Mark Langsdorf) [1997696] - ACPI: PRM: implement OperationRegion handler for the PlatformRtMechanism subtype (Mark Langsdorf) [1997696] - ACPICA: Add PRMT module header to facilitate parsing (Mark Langsdorf) [1997696] - ACPI: scan: Add function to fetch dependent of ACPI device (Mark Langsdorf) [1997696] - ACPI: scan: Extend acpi_walk_dep_device_list() (Mark Langsdorf) [1997696] - i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs (Mark Langsdorf) [1997696] - ACPI: NUMA: fix typo in a comment (Mark Langsdorf) [1997696] - ACPI: sysfs: Fix a buffer overrun problem with description_show() (Mark Langsdorf) [1997696] - ACPI: LPSS: Use kstrtol() instead of simple_strtol() (Mark Langsdorf) [1997696] - ACPI: tables: FPDT: Add missing acpi_put_table() in acpi_init_fpdt() (Mark Langsdorf) [1997696] - ACPI: tables: PPTT: Populate cache-id if provided by firmware (Mark Langsdorf) [1997696] - ACPI: OSL: Use DEFINE_RES_IO_NAMED() to simplify code (Mark Langsdorf) [1997696] - ACPI: bus: Call kobject_put() in acpi_init() error path (Mark Langsdorf) [1997696] - ACPI: bus: Remove unneeded assignment (Mark Langsdorf) [1997696] - ACPI: sleep: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: sbs: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: scan: Unify the log message printing (Mark Langsdorf) [1997696] - ACPI: sbshc: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: sysfs: Cleanup message printing (Mark Langsdorf) [1997696] - ACPI: reboot: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: processor_throttling: Cleanup the printing messages (Mark Langsdorf) [1997696] - ACPI: processor_perflib: Cleanup print messages (Mark Langsdorf) [1997696] - ACPI: processor_thermal: Remove unused PREFIX for printing (Mark Langsdorf) [1997696] - ACPI: pci_root: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: osl: Remove the duplicated PREFIX for message printing (Mark Langsdorf) [1997696] - ACPI: nvs: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: glue: Clean up the printing messages (Mark Langsdorf) [1997696] - ACPI: event: Use pr_*() macros to replace printk() (Mark Langsdorf) [1997696] - ACPI: bus: Use pr_*() macros to replace printk() (Mark Langsdorf) [1997696] - ACPI: blacklist: Unify the message printing (Mark Langsdorf) [1997696] - ACPI: cmos_rtc: Using pr_fmt() and remove PREFIX (Mark Langsdorf) [1997696] - ACPI: scan: Constify acpi_dma_supported() helper function (Mark Langsdorf) [1997696] - ACPICA: Update version to 20210604 (Mark Langsdorf) [1997696] - ACPICA: Add support for PlatformRtMechanism OperationRegion handler (Mark Langsdorf) [1997696] - ACPICA: iASL: add disassembler support for PRMT (Mark Langsdorf) [1997696] - ACPICA: Add the CFMWS structure definition to the CEDT table (Mark Langsdorf) [1997696] - ACPICA: Add defines for the CXL Host Bridge Structure (CHBS) (Mark Langsdorf) [1997696] - ACPICA: iASL: Add support for the BDAT ACPI table (Mark Langsdorf) [1997696] - ACPICA: Add _PLD panel positions (Mark Langsdorf) [1997696] - ACPICA: Use ACPI_FALLTHROUGH (Mark Langsdorf) [1997696] - ACPICA: iASL Table Compiler: Add full support for RGRT ACPI table (Mark Langsdorf) [1997696] - ACPICA: iASL: Add support for the SVKL table (Mark Langsdorf) [1997696] - ACPICA: iASL: Finish support for the IVRS ACPI table (Mark Langsdorf) [1997696] - ACPICA: Add SVKL table headers (Mark Langsdorf) [1997696] - ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Mailbox Structure (Mark Langsdorf) [1997696] - ACPI: power: Rework turning off unused power resources (Mark Langsdorf) [1997696] - ACPI: power: Save the last known state of each power resource (Mark Langsdorf) [1997696] - ACPI: power: Use u8 as the power resource state data type (Mark Langsdorf) [1997696] - ACPI: configfs: Replace ACPI_INFO() with pr_debug() (Mark Langsdorf) [1997696] - ACPI: ipmi: Remove address space handler in error path (Mark Langsdorf) [1997696] - ACPI: EC: Make more Asus laptops use ECDT _GPE (Mark Langsdorf) [1997696] - ACPI: event: Remove redundant initialization of local variable (Mark Langsdorf) [1997696] - ACPI: sbshc: Fix fall-through warning for Clang (Mark Langsdorf) [1997696] - ACPI: PM / fan: Put fan device IDs into separate header file (Mark Langsdorf) [1997696] - ACPI: APEI: Don't warn if ACPI is disabled (Mark Langsdorf) [1997696] - ACPI: processor idle: Fix up C-state latency if not ordered (Mark Langsdorf) [1997696] - ACPI: scan: Rearrange dep_unmet initialization (Mark Langsdorf) [1997696] - ACPI: DPTF: Add battery participant for Intel SoCs (Mark Langsdorf) [1997696] - md/raid5: avoid device_lock in read_one_chunk() (Nigel Croxon) [1985919] - md: add comments in md_integrity_register (Nigel Croxon) [1985919] - md: check level before create and exit io_acct_set (Nigel Croxon) [1985919] - md/raid10: enable io accounting (Nigel Croxon) [1985919] - md/raid1: enable io accounting (Nigel Croxon) [1985919] - md/raid5: avoid redundant bio clone in raid5_read_one_chunk (Nigel Croxon) [1985919] - md/raid5: move checking badblock before clone bio in raid5_read_one_chunk (Nigel Croxon) [1985919] - md: add io accounting for raid0 and raid5 (Nigel Croxon) [1985919] - md: revert io stats accounting (Nigel Croxon) [1985919] - md/raid5: remove an incorrect assert in in_chunk_boundary (Nigel Croxon) [1985919] - md: use rdev_read_only in restart_array (Nigel Croxon) [1985919] - md/raid6: refactor raid5_read_one_chunk (Nigel Croxon) [1985919] - md: remove md_bio_alloc_sync (Nigel Croxon) [1985919] - md: simplify sync_page_io (Nigel Croxon) [1985919] - md: remove bio_alloc_mddev (Nigel Croxon) [1985919] - md: use part_[begin|end]_io_acct instead of disk_[begin|end]_io_acct (Nigel Croxon) [1985919] - md: improve io stats accounting (Nigel Croxon) [1985919]- ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970663] - igbvf: convert to strongly typed descriptors (Corinna Vinschen) [1970663] - intel: call csum functions with well formatted arguments (Corinna Vinschen) [1970663] - igb: handle vlan types with checker enabled (Corinna Vinschen) [1970663] - igb: fix netpoll exit with traffic (Corinna Vinschen) [1970662] - igb: unbreak I2C bit-banging on i350 (Corinna Vinschen) [1970662] - ethernet: use eth_hw_addr_set() for dev->addr_len cases (Corinna Vinschen) [1970662] - igb: Avoid memcpy() over-reading of ETH_SS_STATS (Corinna Vinschen) [1970662] - igb: Add counter to i21x doublecheck (Corinna Vinschen) [1970662] - igb: Fix position of assignment to *ring (Corinna Vinschen) [1970662] - igb: Check if num of q_vectors is smaller than max before array access (Corinna Vinschen) [1970662] - igb: Fix an error handling path in 'igb_probe()' (Corinna Vinschen) [1970662] - igb: Fix use-after-free error during reset (Corinna Vinschen) [1970662] - intel: Remove rcu_read_lock() around XDP program invocation (Corinna Vinschen) [1970662] - igb: add correct exception tracing for XDP (Corinna Vinschen) [1970662] - igb: Fix XDP with PTP enabled (Corinna Vinschen) [1970662] - igb: Fix -Wunused-const-variable warning (Corinna Vinschen) [1970662] - igb: override two checker warnings (Corinna Vinschen) [1970662] - igb: fix assignment on big endian machines (Corinna Vinschen) [1970662] - igb: handle vlan types with checker enabled (Corinna Vinschen) [1970662] - igb/igc: use strongly typed pointer (Corinna Vinschen) [1970662] - intel: remove checker warning (Corinna Vinschen) [1970662] - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc (Stefan Assmann) [1970651] - i40e: Fix pre-set max number of queues for VF (Stefan Assmann) [1970651] - i40e: Fix failed opcode appearing if handling messages from VF (Stefan Assmann) [1970651] - i40e: Fix display error code in dmesg (Stefan Assmann) [1970651] - i40e: Fix creation of first queue by omitting it if is not power of two (Stefan Assmann) [1970651] - i40e: Fix warning message and call stack during rmmod i40e driver (Stefan Assmann) [1970651] - i40e: Fix ping is lost after configuring ADq on VF (Stefan Assmann) [1970651] - i40e: Fix changing previously set num_queue_pairs for PFs (Stefan Assmann) [1970651] - i40e: Fix NULL ptr dereference on VSI filter sync (Stefan Assmann) [1970651] - i40e: Fix correct max_pkt_size on VF RX queue (Stefan Assmann) [1970651] - ethernet: constify references to netdev->dev_addr in drivers (Stefan Assmann) [1970651] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Stefan Assmann) [1970651] - i40e: Fix ATR queue selection (Stefan Assmann) [1970651] - i40e: Fix spelling mistake "dissable" -> "disable" (Stefan Assmann) [1970651] - iavf: do not override the adapter state in the watchdog task (again) (Stefan Assmann) [1970650] - iavf: missing unlocks in iavf_watchdog_task() (Stefan Assmann) [1970650] - iavf: Fix reporting when setting descriptor count (Stefan Assmann) [1970650] - iavf: restore MSI state on reset (Stefan Assmann) [1970650] - iavf: Fix displaying queue statistics shown by ethtool (Stefan Assmann) [1970650] - iavf: Refactor string format to avoid static analysis warnings (Stefan Assmann) [1970650] - iavf: Refactor text of informational message (Stefan Assmann) [1970650] - iavf: Fix static code analysis warning (Stefan Assmann) [1970650] - iavf: Refactor iavf_mac_filter struct memory usage (Stefan Assmann) [1970650] - iavf: Enable setting RSS hash key (Stefan Assmann) [1970650] - iavf: Add trace while removing device (Stefan Assmann) [1970650] - iavf: return errno code instead of status code (Stefan Assmann) [1970650] - iavf: Log info when VF is entering and leaving Allmulti mode (Stefan Assmann) [1970650] - iavf: Add change MTU message (Stefan Assmann) [1970650] - iavf: Fix VLAN feature flags after VFR (Stefan Assmann) [1970650] - iavf: Fix refreshing iavf adapter stats on ethtool request (Stefan Assmann) [1970650] - iavf: Fix deadlock occurrence during resetting VF interface (Stefan Assmann) [1970650] - iavf: Prevent changing static ITR values if adaptive moderation is on (Stefan Assmann) [1970650] - iavf: Restore VLAN filters after link down (Stefan Assmann) [1970650] - iavf: Fix for setting queues to 0 (Stefan Assmann) [1970650] - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset (Stefan Assmann) [1970650] - iavf: validate pointers (Stefan Assmann) [1970650] - iavf: prevent accidental free of filter structure (Stefan Assmann) [1970650] - iavf: Fix failure to exit out from last all-multicast mode (Stefan Assmann) [1970650] - iavf: don't clear a lock we don't hold (Stefan Assmann) [1970650] - iavf: free q_vectors before queues in iavf_disable_vf (Stefan Assmann) [1970650] - iavf: check for null in iavf_fix_features (Stefan Assmann) [1970650] - iavf: Fix return of set the new channel count (Stefan Assmann) [1970650] - iavf: Fix kernel BUG in free_msi_irqs (Stefan Assmann) [1970650] - iavf: Add helper function to go from pci_dev to adapter (Stefan Assmann) [1970650] - iavf: Combine init and watchdog state machines (Stefan Assmann) [1970650] - iavf: Add __IAVF_INIT_FAILED state (Stefan Assmann) [1970650] - iavf: Refactor iavf state machine tracking (Stefan Assmann) [1970650] - iavf: fix double unlock of crit_lock (Stefan Assmann) [1970650] - ethernet: use eth_hw_addr_set() instead of ether_addr_copy() (Stefan Assmann) [1970650] - iavf: Fix ping is lost after untrusted VF had tried to change MAC (Stefan Assmann) [1970650] - iavf: use mutexes for locking of critical sections (Stefan Assmann) [1970650] - qed: rdma - don't wait for resources under hw error recovery flow (Manish Chopra) [1998195] - qed: Handle management FW error (Manish Chopra) [1998195] - qede: Fix memset corruption (Manish Chopra) [1998195] - qed: Enable automatic recovery on error condition. (Manish Chopra) [1998195] - qed: Fix the VF msix vectors flow (Manish Chopra) [1998195] - qed: Fix null-pointer dereference in qed_rdma_create_qp() (Manish Chopra) [1998195] - qed: qed ll2 race condition fixes (Manish Chopra) [1998195] - qed: Remove duplicated include of kernel.h (Manish Chopra) [1998195] - qed: Remove redundant prints from the iWARP SYN handling (Manish Chopra) [1998195] - qed: Skip DORQ attention handling during recovery (Manish Chopra) [1998195] - qed: Avoid db_recovery during recovery (Manish Chopra) [1998195] - qede: fix crash in rmmod qede while automatic debug collection (Manish Chopra) [1998195] - RDMA/qedr: Improve error logs for rdma_alloc_tid error return (Manish Chopra) [1998195] - RDMA/qed: Use accurate error num in qed_cxt_dynamic_ilt_alloc (Manish Chopra) [1998195] - net: qed: remove unneeded return variables (Manish Chopra) [1998195] - net: qede: Fix end of loop tests for list_for_each_entry (Manish Chopra) [1998195] - qede: Remove rcu_read_lock() around XDP program invocation (Manish Chopra) [1998195] - net: qed: Fix memcpy() overflow of qed_dcbx_params() (Manish Chopra) [1998195] - net: qede: Use list_for_each_entry() to simplify code (Manish Chopra) [1998195] - qed: Fix duplicate included linux/kernel.h (Manish Chopra) [1998195] - qed: Add IP services APIs support (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload IO Level FW Initializations (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload IO Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add support of HW filter block (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload Connection Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add NVMeTCP Offload PF Level FW and HW HSI (Manish Chopra) [1998195] - qed: Add TCP_ULP FW resource layout (Manish Chopra) [1998195] - net: qed: remove redundant initialization of variable rc (Manish Chopra) [1998195] - net: qed: remove unused including (Manish Chopra) [1998195] - qede: remove unused including (Manish Chopra) [1998195] - linux/qed: Mundane spelling fixes throughout the file (Manish Chopra) [1998195] - qed: Fix fall-through warnings for Clang (Manish Chopra) [1998195] - RDMA/qedr: Use true and false for bool variable (Manish Chopra) [1998195] - qede: preserve per queue stats across up/down of interface (Manish Chopra) [1998195] - qede: add per queue coalesce support for qede driver (Manish Chopra) [1998195] - qede: add netpoll support for qede driver (Manish Chopra) [1998195] - RDMA/qedr: Remove in_irq() usage from debug output (Manish Chopra) [1998195] - linux/qed: fix spelling typo in qed_chain.h (Manish Chopra) [1998195] - qed: select CONFIG_CRC32 (Manish Chopra) [1998195] - IB/qedr: Fix fall-through warnings for Clang (Manish Chopra) [1998195] - RDMA/qedr: Endianness warnings cleanup (Manish Chopra) [1998195] - qed/qed_ll2: Replace one-element array with flexible-array member (Manish Chopra) [1998195] - net: qed: use true,false for bool variables (Manish Chopra) [1998195] - RDMA/qedr: Fix reported max_pkeys (Manish Chopra) [1998195] - qed: align adjacent indent (Manish Chopra) [1998195] - qed: fix kconfig help entries (Manish Chopra) [1998195] - sched/cputime: Fix getrusage(RUSAGE_THREAD) with nohz_full (Phil Auld) [1992387] - net: tg3: fix obsolete check of !err (Ken Cox) [1987082] - net: broadcom: switch from 'pci_' to 'dma_' API (Ken Cox) [1987082] - tg3: Remove unused PHY_BRCM flags (Ken Cox) [1987082] - net: check skb sec_path when re-initializing slow_gro in gro_list_prepare (Xin Long) [2030476] - e1000e: Fix the max snoop/no-snoop latency for 10M (Ken Cox) [1970665] - net/e1000e: Fix spelling mistake "The" -> "This" (Ken Cox) [1970665] - e1000e: Add space to the debug print (Ken Cox) [1970665] - e1000e: Additional PHY power saving in S0ix (Ken Cox) [1970665] - e1000e: Add polling mechanism to indicate CSME DPG exit (Ken Cox) [1970665] - e1000e: Add handshake with the CSME to support S0ix (Ken Cox) [1970665] - e1000e: Fix an error handling path in 'e1000_probe()' (Ken Cox) [1970665] - e1000e: Check the PCIm state (Ken Cox) [1970665] - net: e1000e: fix misspell word "retreived" (Ken Cox) [1970665] - net: e1000e: remove repeated word "slot" for netdev.c (Ken Cox) [1970665] - net: e1000e: remove repeated word "the" for ich8lan.c (Ken Cox) [1970665] - ppc64: Fix incorrect qrwlock use in debug kernel (Waiman Long) [2027200] - locking: Remove spin_lock_flags() etc (Waiman Long) [2027200] - Bluetooth: btusb: Add one more Bluetooth part for WCN6855 (Gopal Tiwari) [2007903] - Bluetooth: btusb: Add the new support IDs for WCN6855 (Gopal Tiwari) [2007903] - Bluetooth: btusb: re-definition for board_id in struct qca_version (Gopal Tiwari) [2007903] - Bluetooth: btusb: Add support using different nvm for variant WCN6855 controller (Gopal Tiwari) [2007903] - bpf/selftests: enable atomic_bounds test (Viktor Malik) [2030572] - Revert "bpf: Remove atomics tests from test_progs" (Viktor Malik) [2030572] - bpf/selftests: disable tests failing on RHEL 8.6 (Viktor Malik) [2025797 2025801 2025810 2025812 2025813] - bpf/selftests: allow disabling prog_tests (Viktor Malik) [2030572] - xfs: drop experimental warnings for bigtime and inobtcount (Bill O'Donnell) [2022903] - libxfs: expose inobtcount in xfs geometry (Bill O'Donnell) [2022903] - xfs: enable new inode btree counters feature (Bill O'Donnell) [2022903] - xfs: enable big timestamps (Bill O'Donnell) [2022903] - selftests: net: bridge: fix typo in vlan_filtering dependency test (Ivan Vecera) [2019055] - selftests: net: bridge: add test for vlan_filtering dependency (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_router tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast query and query response interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_querier_interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_membership_interval test (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_startup_query_count/interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast_last_member_count/interval tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast igmp/mld version tests (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast querier test (Ivan Vecera) [2019055] - selftests: net: bridge: add vlan mcast snooping control test (Ivan Vecera) [2019055] - selftests: net: bridge: update IGMP/MLD membership interval value (Ivan Vecera) [2019055] - net: bridge: mcast: use multicast_membership_interval for IGMPv3 (Ivan Vecera) [2019055] - net: bridge: fix under estimation in br_get_linkxstats_size() (Ivan Vecera) [2019055] - net: bridge: use nla_total_size_64bit() in br_get_linkxstats_size() (Ivan Vecera) [2019055] - net: bridge: mcast: Associate the seqcount with its protecting lock. (Ivan Vecera) [2019055] - net: bridge: mcast: fix vlan port router deadlock (Ivan Vecera) [2019055] - net: bridge: use mld2r_ngrec instead of icmpv6_dataun (Ivan Vecera) [2019055] - net: bridge: change return type of br_handle_ingress_vlan_tunnel (Ivan Vecera) [2019055] - net: bridge: vlan: convert mcast router global option to per-vlan entry (Ivan Vecera) [2019055] - net: bridge: mcast: br_multicast_set_port_router takes multicast context as argument (Ivan Vecera) [2019055] - net: bridge: mcast: toggle also host vlan state in br_multicast_toggle_vlan (Ivan Vecera) [2019055] - net: bridge: mcast: use the correct vlan group helper (Ivan Vecera) [2019055] - net: bridge: vlan: account for router port lists when notifying (Ivan Vecera) [2019055] - net: bridge: vlan: enable mcast snooping for existing master vlans (Ivan Vecera) [2019055] - net: bridge: mcast: account for ipv6 size when dumping querier state (Ivan Vecera) [2019055] - net: bridge: mcast: drop sizeof for nest attribute's zero size (Ivan Vecera) [2019055] - net: bridge: mcast: don't dump querier state if snooping is disabled (Ivan Vecera) [2019055] - net: bridge: vlan: dump mcast ctx querier state (Ivan Vecera) [2019055] - net: bridge: mcast: dump ipv6 querier state (Ivan Vecera) [2019055] - net: bridge: mcast: dump ipv4 querier state (Ivan Vecera) [2019055] - net: bridge: mcast: consolidate querier selection for ipv4 and ipv6 (Ivan Vecera) [2019055] - net: bridge: mcast: make sure querier port/address updates are consistent (Ivan Vecera) [2019055] - net: bridge: mcast: record querier port device ifindex instead of pointer (Ivan Vecera) [2019055] - net: bridge: vlan: use br_rports_fill_info() to export mcast router ports (Ivan Vecera) [2019055] - net: bridge: mcast: use the proper multicast context when dumping router ports (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast router global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast querier global option (Ivan Vecera) [2019055] - net: bridge: mcast: querier and query state affect only current context type (Ivan Vecera) [2019055] - net: bridge: mcast: move querier state to the multicast context (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast startup query interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast query response interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast query interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast querier interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast membership interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast last member interval global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast startup query count global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast last member count global option (Ivan Vecera) [2019055] - net: bridge: vlan: add support for mcast igmp/mld version global options (Ivan Vecera) [2019055] - net: switchdev: zero-initialize struct switchdev_notifier_fdb_info emitted by drivers towards the bridge (Ivan Vecera) [2019055] - net: bridge: fix flags interpretation for extern learn fdb entries (Ivan Vecera) [2019055] - net: bridge: vlan: fix global vlan option range dumping (Ivan Vecera) [2019055] - net: bridge: fix memleak in br_add_if() (Ivan Vecera) [2019055] - net: make switchdev_bridge_port_{,unoffload} loosely coupled with the bridge (Ivan Vecera) [2019055] - net: bridge: switchdev: fix incorrect use of FDB flags when picking the dst device (Ivan Vecera) [2019055] - net: bridge: validate the NUD_PERMANENT bit when adding an extern_learn FDB entry (Ivan Vecera) [2019055] - net: bridge: switchdev: treat local FDBs the same as entries towards the bridge (Ivan Vecera) [2019055] - net: bridge: switchdev: replay the entire FDB for each port (Ivan Vecera) [2019055] - net: bridge: add a helper for retrieving port VLANs from the data path (Ivan Vecera) [2019055] - net: bridge: update BROPT_VLAN_ENABLED before notifying switchdev in br_vlan_filter_toggle (Ivan Vecera) [2019055] - net: bridge: fix build when setting skb->offload_fwd_mark with CONFIG_NET_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: switchdev: allow the TX data plane forwarding to be offloaded (Ivan Vecera) [2019055] - net: switchdev: fix FDB entries towards foreign ports not getting propagated to us (Ivan Vecera) [2019055] - net: bridge: move the switchdev object replay helpers to "push" mode (Ivan Vecera) [2019055] - net: bridge: guard the switchdev replay helpers against a NULL notifier block (Ivan Vecera) [2019055] - net: bridge: switchdev: let drivers inform which bridge ports are offloaded (Ivan Vecera) [2019055] - net: bridge: switchdev: recycle unused hwdoms (Ivan Vecera) [2019055] - net: bridge: disambiguate offload_fwd_mark (Ivan Vecera) [2019055] - net: bridge: multicast: add context support for host-joined groups (Ivan Vecera) [2019055] - net: bridge: multicast: add mdb context support (Ivan Vecera) [2019055] - net: bridge: multicast: fix igmp/mld port context null pointer dereferences (Ivan Vecera) [2019055] - net: switchdev: recurse into __switchdev_handle_fdb_del_to_device (Ivan Vecera) [2019055] - net: switchdev: remove stray semicolon in switchdev_handle_fdb_del_to_device shim (Ivan Vecera) [2019055] - net: bridge: vlan: add mcast snooping control (Ivan Vecera) [2019055] - net: bridge: vlan: notify when global options change (Ivan Vecera) [2019055] - net: bridge: vlan: add support for dumping global vlan options (Ivan Vecera) [2019055] - net: bridge: vlan: add support for global options (Ivan Vecera) [2019055] - net: bridge: multicast: include router port vlan id in notifications (Ivan Vecera) [2019055] - net: bridge: multicast: add vlan querier and query support (Ivan Vecera) [2019055] - net: bridge: multicast: check if should use vlan mcast ctx (Ivan Vecera) [2019055] - net: bridge: multicast: use the port group to port context helper (Ivan Vecera) [2019055] - net: bridge: multicast: add helper to get port mcast context from port group (Ivan Vecera) [2019055] - net: bridge: add vlan mcast snooping knob (Ivan Vecera) [2019055] - net: bridge: multicast: add vlan state initialization and control (Ivan Vecera) [2019055] - net: bridge: vlan: add global and per-port multicast context (Ivan Vecera) [2019055] - net: bridge: multicast: use multicast contexts instead of bridge or port (Ivan Vecera) [2019055] - net: bridge: multicast: factor out bridge multicast context (Ivan Vecera) [2019055] - net: bridge: multicast: factor out port multicast context (Ivan Vecera) [2019055] - net: switchdev: introduce a fanout helper for SWITCHDEV_FDB_{ADD,DEL}_TO_DEVICE (Ivan Vecera) [2019055] - net: switchdev: introduce helper for checking dynamically learned FDB entries (Ivan Vecera) [2019055] - net: bridge: do not replay fdb entries pointing towards the bridge twice (Ivan Vecera) [2019055] - net: bridge: multicast: fix MRD advertisement router port marking race (Ivan Vecera) [2019055] - net: bridge: multicast: fix PIM hello router port marking race (Ivan Vecera) [2019055] - net: bridge: sync fdb to new unicast-filtering ports (Ivan Vecera) [2019055] - net: bridge: allow br_fdb_replay to be called for the bridge device (Ivan Vecera) [2019055] - net: bridge: switchdev: send FDB notifications for host addresses (Ivan Vecera) [2019055] - net: bridge: use READ_ONCE() and WRITE_ONCE() compiler barriers for fdb->dst (Ivan Vecera) [2019055] - net: bridge: allow the switchdev replay functions to be called for deletion (Ivan Vecera) [2019055] - net: bridge: constify variables in the replay helpers (Ivan Vecera) [2019055] - net: bridge: ignore switchdev events for LAG ports which didn't request replay (Ivan Vecera) [2019055] - net: switchdev: add a context void pointer to struct switchdev_notifier_info (Ivan Vecera) [2019055] - net: bridge: include the is_local bit in br_fdb_replay (Ivan Vecera) [2019055] - net: bridge: mrp: Update the Test frames for MRA (Ivan Vecera) [2019055] - bridge: cfm: remove redundant return (Ivan Vecera) [2019055] - net: bridge: remove redundant continue statement (Ivan Vecera) [2019055] - net: bridge: fix vlan tunnel dst refcnt when egressing (Ivan Vecera) [2019055] - net: bridge: fix vlan tunnel dst null pointer dereference (Ivan Vecera) [2019055] - net: bridge: mrp: Update ring transitions. (Ivan Vecera) [2019055] - net: bridge: remove redundant assignment (Ivan Vecera) [2019055] - net: bridge: fix br_multicast_is_router stub when igmp is disabled (Ivan Vecera) [2019055] - net: bridge: fix build when IPv6 is disabled (Ivan Vecera) [2019055] - net: bridge: mcast: export multicast router presence adjacent to a port (Ivan Vecera) [2019055] - net: bridge: mcast: add ip4+ip6 mcast router timers to mdb netlink (Ivan Vecera) [2019055] - net: bridge: mcast: split multicast router state for IPv4 and IPv6 (Ivan Vecera) [2019055] - net: bridge: mcast: split router port del+notify for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare add-router function for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare expiry functions for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare is-router function for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare query reception for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: prepare mdb netlink for mcast router split (Ivan Vecera) [2019055] - net: bridge: mcast: add wrappers for router node retrieval (Ivan Vecera) [2019055] - net: bridge: mcast: rename multicast router lists and timers (Ivan Vecera) [2019055] - bridge: Fix possible races between assigning rx_handler_data and setting IFF_BRIDGE_PORT bit (Ivan Vecera) [2019055] - net: bridge: mcast: fix broken length + header check for MRDv6 Adv. (Ivan Vecera) [2019055] - net: bridge: fix error in br_multicast_add_port when CONFIG_NET_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: propagate error code and extack from br_mc_disabled_update (Ivan Vecera) [2019055] - net: bridge: Fix missing return assignment from br_vlan_replay_one call (Ivan Vecera) [2019055] - bridge: mrp: Disable roles before deleting the MRP instance (Ivan Vecera) [2019055] - net: bridge: add helper to replay VLANs installed on port (Ivan Vecera) [2019055] - net: bridge: add helper to replay port and local fdb entries (Ivan Vecera) [2019055] - net: bridge: add helper to replay port and host-joined mdb entries (Ivan Vecera) [2019055] - net: bridge: add helper to retrieve the current ageing time (Ivan Vecera) [2019055] - net: bridge: add helper for retrieving the current bridge port STP state (Ivan Vecera) [2019055] - net: bridge: when suppression is enabled exclude RARP packets (Ivan Vecera) [2019055] - net: bridge: declare br_vlan_tunnel_lookup argument tunnel_id as __be64 (Ivan Vecera) [2019055] - Documentation: networking: switchdev: add missing "and" word (Ivan Vecera) [2019055] - Documentation: networking: switchdev: separate bulleted items with new line (Ivan Vecera) [2019055] - Documentation: networking: switchdev: fix command for static FDB entries (Ivan Vecera) [2019055] - Documentation: networking: switchdev: clarify device driver behavior (Ivan Vecera) [2019055] - net: bridge: mcast: factor out common allow/block EHT handling (Ivan Vecera) [2019055] - net: bridge: mcast: remove unreachable EHT code (Ivan Vecera) [2019055] - net: bridge: Fix fall-through warnings for Clang (Ivan Vecera) [2019055] - bridge: mrp: Update br_mrp to use new return values of br_mrp_switchdev (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp_switchdev to detect better the errors (Ivan Vecera) [2019055] - bridge: mrp: Add 'enum br_mrp_hw_support' (Ivan Vecera) [2019055] - switchdev: mrp: Extend ring_role_mrp and in_role_mrp (Ivan Vecera) [2019055] - switchdev: mrp: Remove CONFIG_BRIDGE_MRP (Ivan Vecera) [2019055] - net: bridge: fix br_vlan_filter_toggle stub when CONFIG_BRIDGE_VLAN_FILTERING=n (Ivan Vecera) [2019055] - net: bridge: fix switchdev_port_attr_set stub when CONFIG_SWITCHDEV=n (Ivan Vecera) [2019055] - net: bridge: propagate extack through switchdev_port_attr_set (Ivan Vecera) [2019055] - net: bridge: propagate extack through store_bridge_parm (Ivan Vecera) [2019055] - net: bridge: remove __br_vlan_filter_toggle (Ivan Vecera) [2019055] - net: switchdev: pass flags and mask to both {PRE_,}BRIDGE_FLAGS attributes (Ivan Vecera) [2019055] - net: bridge: don't print in br_switchdev_set_port_flag (Ivan Vecera) [2019055] - net: bridge: offload all port flags at once in br_setport (Ivan Vecera) [2019055] - net: switchdev: propagate extack to port attributes (Ivan Vecera) [2019055] - switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT (Ivan Vecera) [2019055] - bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state (Ivan Vecera) [2019055] - net: bridge: mcast: Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Ivan Vecera) [2019055] - net: bridge: add warning comments to avoid extending sysfs (Ivan Vecera) [2019055] - net: bridge: mcast: drop hosts limit sysfs support (Ivan Vecera) [2019055] - net: bridge: multicast: make tracked EHT hosts limit configurable (Ivan Vecera) [2019055] - net: bridge: multicast: add per-port EHT hosts limit (Ivan Vecera) [2019055] - net: switchdev: use obj-$(CONFIG_NET_SWITCHDEV) form in net/Makefile (Ivan Vecera) [2019055] - net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP (Ivan Vecera) [2019055] - net: bridge: multicast: fix br_multicast_eht_set_entry_lookup indentation (Ivan Vecera) [2019055] - bridge: Use PTR_ERR_OR_ZERO instead if(IS_ERR(...)) + PTR_ERR (Ivan Vecera) [2019055] - net: mrp: move struct definitions out of uapi (Ivan Vecera) [2019055] - net: mrp: fix definitions of MRP test packets (Ivan Vecera) [2019055] - net: bridge: multicast: mark IGMPv3/MLDv2 fast-leave deletes (Ivan Vecera) [2019055] - net: bridge: multicast: handle block pg delete for all cases (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host filter_mode handling (Ivan Vecera) [2019055] - net: bridge: multicast: optimize TO_INCLUDE EHT timeouts (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT include and exclude handling (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT allow/block handling (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host delete function (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT source set handling functions (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT host handling functions (Ivan Vecera) [2019055] - net: bridge: multicast: add EHT structures and definitions (Ivan Vecera) [2019055] - net: bridge: multicast: calculate idx position without changing ptr (Ivan Vecera) [2019055] - net: bridge: multicast: __grp_src_block_incl can modify pg (Ivan Vecera) [2019055] - net: bridge: multicast: pass host src address to IGMPv3/MLDv2 functions (Ivan Vecera) [2019055] - net: bridge: multicast: rename src_size to addr_size (Ivan Vecera) [2019055] - net: bridge: check vlan with eth_type_vlan() method (Ivan Vecera) [2019055] - net: switchdev: delete the transaction object (Ivan Vecera) [2019055] - mlxsw: spectrum_switchdev: remove transactional logic for VLAN objects (Ivan Vecera) [2019055] - net: switchdev: remove the transaction structure from port attributes (Ivan Vecera) [2019055] - net: switchdev: delete switchdev_port_obj_add_now (Ivan Vecera) [2019055] - net: switchdev: remove the transaction structure from port object notifiers (Ivan Vecera) [2019055] - net: switchdev: remove vid_begin -> vid_end range from VLAN objects (Ivan Vecera) [2019055] - net: bridge: fix misspellings using codespell tool (Ivan Vecera) [2019055] - net: bridge: notify switchdev of disappearance of old FDB entry upon migration (Ivan Vecera) [2019055] - bridge: Fix a deadlock when enabling multicast snooping (Ivan Vecera) [2019055] - bridge: mrp: Implement LC mode for MRP (Ivan Vecera) [2019055] - net: bridge: switch to net core statistics counters handling (Ivan Vecera) [2019055] - net: bridge: replace struct br_vlan_stats with pcpu_sw_netstats (Ivan Vecera) [2019055] - bridge: mrp: Use hlist_head instead of list_head for mrp (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 *,g auto-add (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exclude timeout (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 exc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for mldv2 inc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add initial MLDv2 include test (Ivan Vecera) [2019055] - selftests: net: bridge: factor out and rename sg state functions (Ivan Vecera) [2019055] - selftests: net: lib: add support for IPv6 mcast packet test (Ivan Vecera) [2019055] - selftests: net: bridge: factor out mcast_packet_test (Ivan Vecera) [2019055] - net: bridge: mcast: fix stub definition of br_multicast_querier_exists (Ivan Vecera) [2019055] - net: bridge: explicitly convert between mdb entry state and port group flags (Ivan Vecera) [2019055] - net: bridge: mcast: add support for raw L2 multicast groups (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 *,g auto-add (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exclude timeout (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> block report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 exc -> allow report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> to_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> is_exclude report (Ivan Vecera) [2019055] - selftests: net: bridge: add test for igmpv3 inc -> is_include report (Ivan Vecera) [2019055] - selftests: net: bridge: add tests for igmpv3 is_include and inc -> allow reports (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: add IGMPv3 entries' state helpers (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: check for specific udp ip protocol (Ivan Vecera) [2019055] - selftests: net: bridge: igmp: add support for packet source address (Ivan Vecera) [2019055] - selftests: net: bridge: rename current igmp tests to igmpv2 (Ivan Vecera) [2019055] - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled (Ivan Vecera) [2019055] - bridge: cfm: Netlink Notifications. (Ivan Vecera) [2019055] - bridge: cfm: Netlink GET status Interface. (Ivan Vecera) [2019055] - bridge: cfm: Netlink GET configuration Interface. (Ivan Vecera) [2019055] - bridge: cfm: Netlink SET configuration Interface. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. CCM frame RX added. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. CCM frame TX added. (Ivan Vecera) [2019055] - bridge: cfm: Kernel space implementation of CFM. MEP create/delete. (Ivan Vecera) [2019055] - bridge: uapi: cfm: Added EtherType used by the CFM protocol. (Ivan Vecera) [2019055] - bridge: cfm: Add BRIDGE_CFM to Kconfig. (Ivan Vecera) [2019055] - net: bridge: extend the process of special frames (Ivan Vecera) [2019055] - bridge: Netlink interface fix. (Ivan Vecera) [2019055] - net: bridge: mcast: remove only S,G port groups from sg_port hash (Ivan Vecera) [2019055] - net: switchdev: Fixed kerneldoc warning (Ivan Vecera) [2019055] - net: bridge: mcast: when forwarding handle filter mode and blocked flag (Ivan Vecera) [2019055] - net: bridge: mcast: handle host state (Ivan Vecera) [2019055] - net: bridge: mcast: add support for blocked port groups (Ivan Vecera) [2019055] - net: bridge: mcast: handle port group filter modes (Ivan Vecera) [2019055] - net: bridge: mcast: install S,G entries automatically based on reports (Ivan Vecera) [2019055] - net: bridge: mcast: add sg_port rhashtable (Ivan Vecera) [2019055] - net: bridge: mcast: add rt_protocol field to the port group struct (Ivan Vecera) [2019055] - net: bridge: mcast: when igmpv3/mldv2 are enabled lookup (S,G) first, then (*,G) (Ivan Vecera) [2019055] - net: bridge: mdb: add support for add/del/dump of entries with source (Ivan Vecera) [2019055] - net: bridge: mdb: add support to extend add/del commands (Ivan Vecera) [2019055] - net: bridge: mcast: rename br_ip's u member to dst (Ivan Vecera) [2019055] - net: bridge: mcast: use br_ip's src for src groups and querier address (Ivan Vecera) [2019055] - net: bridge: add src field to br_ip (Ivan Vecera) [2019055] - net: bridge: mdb: use extack in br_mdb_add() and br_mdb_add_group() (Ivan Vecera) [2019055] - net: bridge: mdb: move all port and bridge checks to br_mdb_add (Ivan Vecera) [2019055] - net: bridge: mdb: use extack in br_mdb_parse() (Ivan Vecera) [2019055] - net: bridge: delete duplicated words (Ivan Vecera) [2019055] - net: bridge: mcast: don't ignore return value of __grp_src_toex_excl (Ivan Vecera) [2019055] - __netif_receive_skb_core: don't untag vlan from skb on DSA master (Ivan Vecera) [2019055] - bridge: mcast: Fix incomplete MDB dump (Ivan Vecera) [2019055] - net: bridge: mcast: fix unused br var when lockdep isn't defined (Ivan Vecera) [2019055] - net: bridge: mcast: destroy all entries via gc (Ivan Vecera) [2019055] - net: bridge: mcast: improve IGMPv3/MLDv2 query processing (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 BLOCK_OLD_SOURCES report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 CHANGE_TO_INCLUDE/EXCLUDE report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPV3/MLDv2 MODE_IS_INCLUDE/EXCLUDE report (Ivan Vecera) [2019055] - net: bridge: mcast: support for IGMPv3/MLDv2 ALLOW_NEW_SOURCES report (Ivan Vecera) [2019055] - net: bridge: mcast: delete expired port groups without srcs (Ivan Vecera) [2019055] - net: bridge: mdb: use mdb and port entries in notifications (Ivan Vecera) [2019055] - net: bridge: mdb: push notifications in __br_mdb_add/del (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group query retransmit (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group-and-source specific queries (Ivan Vecera) [2019055] - net: bridge: mcast: add support for src list and filter mode dumping (Ivan Vecera) [2019055] - net: bridge: mcast: add support for group source list (Ivan Vecera) [2019055] - net: bridge: mcast: factor out port group del (Ivan Vecera) [2019055] - net: bridge: mdb: arrange internal structs so fast-path fields are close (Ivan Vecera) [2019055] - netlink: consistently use NLA_POLICY_EXACT_LEN() (Ivan Vecera) [2019055] - net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp_fill_info (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP_INFO attributes for interconnect status (Ivan Vecera) [2019055] - bridge: mrp: Extend MRP netlink interface for configuring MRP interconnect (Ivan Vecera) [2019055] - bridge: mrp: Implement the MRP Interconnect API (Ivan Vecera) [2019055] - bridge: switchdev: mrp: Extend MRP API for switchdev for MRP Interconnect (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_in_port_open function (Ivan Vecera) [2019055] - bridge: mrp: Rename br_mrp_port_open to br_mrp_ring_port_open (Ivan Vecera) [2019055] - bridge: mrp: Extend br_mrp for MRP interconnect (Ivan Vecera) [2019055] - bridge: mrp: Extend bridge interface (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP attributes for MRP interconnect (Ivan Vecera) [2019055] - switchdev: mrp: Extend switchdev API for MRP Interconnect (Ivan Vecera) [2019055] - net: bridge: fix undefined br_vlan_can_enter_range in tunnel code (Ivan Vecera) [2019055] - net: switchdev: kerneldoc fixes (Ivan Vecera) [2019055] - net: bridge: notify on vlan tunnel changes done via the old api (Ivan Vecera) [2019055] - bridge: Extend br_fill_ifinfo to return MPR status (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_fill_info (Ivan Vecera) [2019055] - bridge: uapi: mrp: Extend MRP attributes to get the status (Ivan Vecera) [2019055] - bridge: mrp: Fix endian conversion and some other warnings (Ivan Vecera) [2019055] - net: bridge: add a flag to avoid refreshing fdb when changing/adding (Ivan Vecera) [2019055] - net: bridge: add option to allow activity notifications for any fdb entries (Ivan Vecera) [2019055] - net: neighbor: add fdb extended attribute (Ivan Vecera) [2019055] - net: bridge: fdb_add_entry takes ndm as argument (Ivan Vecera) [2019055] - bridge: mrp: Validate when setting the port role (Ivan Vecera) [2019055] - bridge: uapi: mrp: Fix MRP_PORT_ROLE (Ivan Vecera) [2019055] - bridge: mrp: Add support for role MRA (Ivan Vecera) [2019055] - bridge: mrp: Set the priority of MRP instance (Ivan Vecera) [2019055] - bridge: mrp: Update MRP frame type (Ivan Vecera) [2019055] - bridge: multicast: work around clang bug (Ivan Vecera) [2019055] - bridge: mrp: Rework the MRP netlink interface (Ivan Vecera) [2019055] - bridge: mrp: Fix out-of-bounds read in br_mrp_parse (Ivan Vecera) [2019055] - bridge: mrp: Restore port state when deleting MRP instance (Ivan Vecera) [2019055] - switchdev: mrp: Remove the variable mrp_ring_state (Ivan Vecera) [2019055] - bridge: mrp: Add br_mrp_unique_ifindex function (Ivan Vecera) [2019055] - net: bridge: allow enslaving some DSA master network devices (Ivan Vecera) [2019055] - net: remove newlines in NL_SET_ERR_MSG_MOD (Ivan Vecera) [2019055] - net: bridge: return false in br_mrp_enabled() (Ivan Vecera) [2019055] - docs: networking: convert switchdev.txt to ReST (Ivan Vecera) [2019055] - net: bridge: Add checks for enabling the STP. (Ivan Vecera) [2019055] - bridge: mrp: Integrate MRP into the bridge (Ivan Vecera) [2019055] - bridge: mrp: Implement netlink interface to configure MRP (Ivan Vecera) [2019055] - bridge: mrp: Connect MRP API with the switchdev API (Ivan Vecera) [2019055] - bridge: switchdev: mrp: Implement MRP API for switchdev (Ivan Vecera) [2019055] - switchdev: mrp: Extend switchdev API to offload MRP (Ivan Vecera) [2019055] - bridge: mrp: Add MRP interface. (Ivan Vecera) [2019055] - net: bridge: Add port attribute IFLA_BRPORT_MRP_RING_OPEN (Ivan Vecera) [2019055] - bridge: mrp: Extend bridge interface (Ivan Vecera) [2019055] - bridge: mrp: Update Kconfig (Ivan Vecera) [2019055] - bridge: uapi: mrp: Add mrp attributes. (Ivan Vecera) [2019055] - net: bridge: vlan options: move the tunnel command to the nested attribute (Ivan Vecera) [2019055] - net: bridge: vlan options: nest the tunnel id into a tunnel info attribute (Ivan Vecera) [2019055] - net: bridge: vlan: include stats in dumps if requested (Ivan Vecera) [2019055] - net: bridge: vlan options: add support for tunnel mapping set/del (Ivan Vecera) [2019055] - net: bridge: vlan options: add support for tunnel id dumping (Ivan Vecera) [2019055] - net: bridge: vlan tunnel: constify bridge and port arguments (Ivan Vecera) [2019055] - net: bridge: vlan options: rename br_vlan_opts_eq to br_vlan_opts_eq_range (Ivan Vecera) [2019055] - net: switchdev: do not propagate bridge updates across bridges (Ivan Vecera) [2019055] - bridge: br_stp: Use built-in RCU list checking (Ivan Vecera) [2019055] - net: switchdev: Replace zero-length array with flexible-array member (Ivan Vecera) [2019055] - net: bridge: vlan: add per-vlan state (Ivan Vecera) [2019055] - net: bridge: vlan: add basic option setting support (Ivan Vecera) [2019055] - net: bridge: vlan: add basic option dumping support (Ivan Vecera) [2019055] - net: bridge: check port state before br_allowed_egress (Ivan Vecera) [2019055] - net: bridge: vlan: notify on vlan add/delete/change flags (Ivan Vecera) [2019055] - net: bridge: vlan: add rtnetlink group and notify support (Ivan Vecera) [2019055] - net: bridge: vlan: add rtm range support (Ivan Vecera) [2019055] - net: bridge: vlan: add del rtm message support (Ivan Vecera) [2019055] - net: bridge: vlan: add new rtm message support (Ivan Vecera) [2019055] - net: bridge: vlan: add rtm definitions and dump support (Ivan Vecera) [2019055] - net: bridge: netlink: add extack error messages when processing vlans (Ivan Vecera) [2019055] - net: bridge: vlan: add helpers to check for vlan id/range validity (Ivan Vecera) [2019055] - net: bridge: add STP xstats (Ivan Vecera) [2019055] - treewide: Use sizeof_field() macro (Ivan Vecera) [2019055] - bridge: implement get_link_ksettings ethtool method (Ivan Vecera) [2019055] - net: bridge: fdb: eliminate extra port state tests from fast-path (Ivan Vecera) [2019055] - net: bridge: fdb: restore unlikely() when taking over externally added entries (Ivan Vecera) [2019055] - net: bridge: fdb: avoid two atomic bitops in br_fdb_external_learn_add() (Ivan Vecera) [2019055] - net: bridge: fdb: br_fdb_update can take flags directly (Ivan Vecera) [2019055] - net: bridge: Populate the pvid flag in br_vlan_get_info (Ivan Vecera) [2019055] - net: fix __ip_mc_inc_group usage (Ivan Vecera) [2019055] - net: bridge: mdb: allow add/delete for host-joined groups (Ivan Vecera) [2019055] - net: bridge: mdb: dump host-joined entries as well (Ivan Vecera) [2019055] - net: bridge: mdb: factor out mdb filling (Ivan Vecera) [2019055] - net: bridge: mdb: move vlan comments (Ivan Vecera) [2019055] - net: bridge: mcast: add delete due to fast-leave mdb flag (Ivan Vecera) [2019055] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Ivan Vecera) [2019055] - treewide: Add SPDX license identifier for missed files (Ivan Vecera) [2019055] - treewide: Add SPDX license identifier - Makefile/Kconfig (Ivan Vecera) [2019055] - bridge: Fix error path for kobject_init_and_add() (Ivan Vecera) [2019055] - bridge: only include nf_queue.h if needed (Ivan Vecera) [2019055] - bridge: broute: make broute a real ebtables table (Ivan Vecera) [2019055] - bridge: netfilter: unroll NF_HOOK helper in bridge input path (Ivan Vecera) [2019055] - bridge: reduce size of input cb to 16 bytes (Ivan Vecera) [2019055] - net: bridge: update multicast stats from maybe_deliver() (Ivan Vecera) [2019055] - net: bridge: mcast: remove unused br_ip_equal function (Ivan Vecera) [2019055] - net: bridge: optimize backup_port fdb convergence (Ivan Vecera) [2019055] - net: bridge: use netif_is_bridge_port() (Ivan Vecera) [2019055] - net: bridge: use eth_broadcast_addr() to assign broadcast address (Ivan Vecera) [2019055] - tools headers uapi: Update linux/in.h copy (Ivan Vecera) [2019055] - switchdev: Remove unused transaction item queue (Ivan Vecera) [2019055] - bridge: remove redundant check on err in br_multicast_ipv4_rcv (Ivan Vecera) [2019055] - net: Fix ip_mc_{dec,inc}_group allocation context (Ivan Vecera) [2019055] - bridge: remove duplicated include from br_multicast.c (Ivan Vecera) [2019055] - bridge: Snoop Multicast Router Advertisements (Ivan Vecera) [2019055] - bridge: join all-snoopers multicast address (Ivan Vecera) [2019055] - bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() internals (Ivan Vecera) [2019055] - tools include uapi: Sync linux/if_link.h copy with the kernel sources (Ivan Vecera) [2019055] - net: bridge: fix a bug on using a neighbour cache entry without checking its state (Ivan Vecera) [2019055] - net: bridge: remove unneeded variable 'err' (Ivan Vecera) [2019055] - net: bridge: remove redundant checks for null p->dev and p->br (Ivan Vecera) [2019055] - net: bridge: export supported boolopts (Ivan Vecera) [2019055] - net: bridge: add no_linklocal_learn bool option (Ivan Vecera) [2019055] - net: bridge: add support for user-controlled bool options (Ivan Vecera) [2019055] - bridge: use __vlan_hwaccel helpers (Ivan Vecera) [2019055] - netfilter: bridge: define INT_MIN & INT_MAX in userspace (Ivan Vecera) [2019055] - docs: fix some broken documentation references (Ivan Vecera) [2019055] - bridge: Switch to bitmap_zalloc() (Ivan Vecera) [2019055] - netfilter: bridge: Expose nf_tables bridge hook priorities through uapi (Ivan Vecera) [2019055] - net: bridge: add support for backup port (Ivan Vecera) [2019055] - net: bridge: add support for raw sysfs port options (Ivan Vecera) [2019055] - docs: networking: Convert bridge.txt to rst (Ivan Vecera) [2019055] - net: switchdev: consolidate RH_KABI macros usage (Ivan Vecera) [2019055] - kcov: Remove kcov include from sched.h and move it to its users. (Josef Oskera) [2026467] - tasklets: Provide tasklet_disable_in_atomic() (Ivan Vecera) [2026475] - tasklets: Use static inlines for stub implementations (Ivan Vecera) [2026475] - net: sock: introduce sk_error_report (Ivan Vecera) [2026469] - redhat: Add CONFIG_RHEL_DIFFERENCES (Prarit Bhargava) [2021571]- serial: 8520_port: Fix function param documentation (Waiman Long) [1970241] - serial: 8250: Optimize irq enable after console write (Waiman Long) [1970241] - serial: 8250: Fix rs485 delay after console write (Waiman Long) [1970241] - serial: 8250: Support console on software emulated rs485 ports (Waiman Long) [1970241] - serial: 8250: Generalize rs485 software emulation (Waiman Long) [1970241] - serial: 8250: Deduplicate rs485 active_timer assignment (Waiman Long) [1970241] - serial: 8250: Sanitize rs485 config harder (Waiman Long) [1970241] - serial: 8250: Deduplicate ->rs485_config() callback (Waiman Long) [1970241] - serial: 8250: Support rs485 devicetree properties (Waiman Long) [1970241] - serial: 8250_port: Don't use power management for kernel console (Waiman Long) [1970241] - console: Introduce ->exit() callback (Waiman Long) [1970241] - console: Don't notify user space when unregister non-listed console (Waiman Long) [1970241] - tty: 8250_of: Use software emulated RS485 direction control (Waiman Long) [1970241] - serial: 8250: Add MSR/MCR TIOCM conversion wrapper functions (Waiman Long) [1970241] - serial: 8250_of: Use of_device_get_match_data() (Waiman Long) [1970241] - serial: 8250_of: Fix for lack of interrupt support (Waiman Long) [1970241] - serial: 8250: of: Defer probe on missing IRQ (Waiman Long) [1970241] - serial: 8250: of: Correct of_platform_serial_setup() error handling (Waiman Long) [1970241] - mm/vmstat: protect per cpu variables with preempt disable on RT (Scott Wood) [2011667] - mm, slub: convert kmem_cpu_slab protection to local_lock (Scott Wood) [2011667] - mm, slub: use migrate_disable() on PREEMPT_RT (Scott Wood) [2011667] - mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg (Scott Wood) [2011667] - mm, slub: make slab_lock() disable irqs with PREEMPT_RT (Scott Wood) [2011667] - mm: slub: make object_map_lock a raw_spinlock_t (Scott Wood) [2011667] - mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context (Scott Wood) [2011667] - mm, slab: split out the cpu offline variant of flush_slab() (Scott Wood) [2011667] - mm, slub: don't disable irqs in slub_cpu_dead() (Scott Wood) [2011667] - mm, slub: only disable irq with spin_lock in __unfreeze_partials() (Scott Wood) [2011667] - mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing (Scott Wood) [2011667] - mm, slub: detach whole partial list at once in unfreeze_partials() (Scott Wood) [2011667] - mm, slub: discard slabs in unfreeze_partials() without irqs disabled (Scott Wood) [2011667] - mm, slub: move irq control into unfreeze_partials() (Scott Wood) [2011667] - mm, slub: call deactivate_slab() without disabling irqs (Scott Wood) [2011667] - mm, slub: make locking in deactivate_slab() irq-safe (Scott Wood) [2011667] - mm, slub: move reset of c->page and freelist out of deactivate_slab() (Scott Wood) [2011667] - mm, slub: stop disabling irqs around get_partial() (Scott Wood) [2011667] - mm, slub: check new pages with restored irqs (Scott Wood) [2011667] - mm, slub: validate slab from partial list or page allocator before making it cpu slab (Scott Wood) [2011667] - mm, slub: restore irqs around calling new_slab() (Scott Wood) [2011667] - mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc() (Scott Wood) [2011667] - mm, slub: do initial checks in ___slab_alloc() with irqs enabled (Scott Wood) [2011667] - mm, slub: move disabling/enabling irqs to ___slab_alloc() (Scott Wood) [2011667] - mm, slub: simplify kmem_cache_cpu and tid setup (Scott Wood) [2011667] - mm, slub: restructure new page checks in ___slab_alloc() (Scott Wood) [2011667] - mm, slub: return slab page from get_partial() and set c->page afterwards (Scott Wood) [2011667] - mm, slub: dissolve new_slab_objects() into ___slab_alloc() (Scott Wood) [2011667] - mm, slub: extract get_partial() from new_slab_objects() (Scott Wood) [2011667] - mm, slub: remove redundant unfreeze_partials() from put_cpu_partial() (Scott Wood) [2011667] - mm, slub: don't disable irq for debug_check_no_locks_freed() (Scott Wood) [2011667] - mm, slub: allocate private object map for validate_slab_cache() (Scott Wood) [2011667] - mm, slub: allocate private object map for debugfs listings (Scott Wood) [2011667] - mm, slub: don't call flush_all() from slab_debug_trace_open() (Scott Wood) [2011667] - mm/slub.c: drop lockdep_assert_held() from put_map() (Scott Wood) [2011667] - mm/slub.c: replace cpu_slab->partial with wrapped APIs (Scott Wood) [2011667] - mm/slub.c: replace kmem_cache->cpu_partial with wrapped APIs (Scott Wood) [2011667] - sched/rt, mm: Use CONFIG_PREEMPTION (Scott Wood) [2011667] - tcp: fix page frag corruption on page fault (Paolo Abeni) [1996074] - net: fix sk_page_frag() recursion from memory reclaim (Paolo Abeni) [1996074] - net: udp6: replace __UDP_INC_STATS() with __UDP6_INC_STATS() (Xin Long) [2020407] - net: udp: annotate data race around udp_sk(sk)->corkflag (Xin Long) [2020407] - net/ipv4/udp_tunnel_core.c: remove superfluous header files from udp_tunnel_core.c (Xin Long) [2020407] - udp_tunnel: Fix udp_tunnel_nic work-queue type (Xin Long) [2020407] - net, gro: Set inner transport header offset in tcp/udp GRO hook (Xin Long) [2020407] - bareudp: Add extack support to bareudp_configure() (Guillaume Nault) [1946040] - bareudp: Move definition of struct bareudp_conf to bareudp.c (Guillaume Nault) [1946040] - bareudp: Remove bareudp_dev_create() (Guillaume Nault) [1946040] - net: bareudp: simplify error paths calling dellink (Guillaume Nault) [1946040] - mptcp: re-arm retransmit timer if data is pending (Paolo Abeni) [2019493] - mptcp: remove tx_pending_data (Paolo Abeni) [2019493] - mptcp: do not shrink snd_nxt when recovering (Paolo Abeni) [2019493] - mptcp: drop unused sk in mptcp_push_release (Paolo Abeni) [2019493] - selftests: mptcp: fix proto type in link_failure tests (Paolo Abeni) [2019493] - selftests: mptcp: add testcase for active-back (Paolo Abeni) [2019493] - mptcp: backup flag from incoming MPJ ack option (Paolo Abeni) [2019493] - mptcp: add mibs for stale subflows processing (Paolo Abeni) [2019493] - mptcp: faster active backup recovery (Paolo Abeni) [2019493] - mptcp: cleanup sysctl data and helpers (Paolo Abeni) [2019493] - mptcp: handle pending data on closed subflow (Paolo Abeni) [2019493] - mptcp: less aggressive retransmission strategy (Paolo Abeni) [2019493] - mptcp: more accurate timeout (Paolo Abeni) [2019493] - mptcp: stop relying on tcp_tx_skb_cache (Paolo Abeni) [2019493] - tcp: expose the tcp_mark_push() and tcp_skb_entail() helpers (Paolo Abeni) [2019493] - selftests: KVM: avoid failures due to reserved HyperTransport region (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 (Vitaly Kuznetsov) [2009340] - KVM: x86: inhibit APICv when KVM_GUESTDBG_BLOCKIRQ active (Vitaly Kuznetsov) [2009340] - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO (Vitaly Kuznetsov) [2009340] - KVM: x86: Use rw_semaphore for APICv lock to allow vCPU parallelism (Vitaly Kuznetsov) [2009340] - KVM: selftests: test KVM_GUESTDBG_BLOCKIRQ (Vitaly Kuznetsov) [2009340] - x86/sgx/virt: implement SGX_IOC_VEPC_REMOVE ioctl (Vitaly Kuznetsov) [2009340] - x86/sgx/virt: extract sgx_vepc_remove_page (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Complete prefetch for trailing SPTEs for direct, legacy MMU (Vitaly Kuznetsov) [2009340] - KVM: x86: Do not mark all registers as avail/dirty during RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: SVM: don't set VMLOAD/VMSAVE intercepts on vCPU reset (Vitaly Kuznetsov) [2009340] - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup (Vitaly Kuznetsov) [2009340] - Revert "x86/kvm: fix vcpu-id indexed array sizes" (Vitaly Kuznetsov) [2009340] - KVM: X86: Cache CR3 in prev_roots when PCID is disabled (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() (Vitaly Kuznetsov) [2009340] - KVM: X86: Don't reset mmu context when toggling X86_CR4_PGE (Vitaly Kuznetsov) [2009340] - KVM: X86: Don't reset mmu context when X86_CR4_PCIDE 1->0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: kvm_faultin_pfn has to return false if pfh is returned (Vitaly Kuznetsov) [2009340] - KVM: x86: Take srcu lock in post_kvm_run_save() (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: fix another issue with string I/O VMGEXITs (Vitaly Kuznetsov) [2009340] - KVM: x86/xen: Fix kvm_xen_has_interrupt() sleeping in kvm_vcpu_block() (Vitaly Kuznetsov) [2009340] - KVM: x86: switch pvclock_gtod_sync_lock to a raw spinlock (Vitaly Kuznetsov) [2009340] - KVM: selftests: Refactor help message for -s backing_src (Vitaly Kuznetsov) [2009340] - KVM: selftests: Change backing_src flag to -s in demand_paging_test (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: go over the sev_pio_data buffer in multiple passes if needed (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: keep INS functions together (Vitaly Kuznetsov) [2009340] - KVM: x86: remove unnecessary arguments from complete_emulator_pio_in (Vitaly Kuznetsov) [2009340] - KVM: x86: split the two parts of emulator_pio_in (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: clean up kvm_sev_es_ins/outs (Vitaly Kuznetsov) [2009340] - KVM: x86: leave vcpu->arch.pio.count alone in emulator_pio_in_out (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: rename guest_ins_data to sev_pio_data (Vitaly Kuznetsov) [2009340] - KVM: SEV: Flush cache on non-coherent systems before RECEIVE_UPDATE_DATA (Vitaly Kuznetsov) [2009340] - KVM: MMU: Reset mmu->pkru_mask to avoid stale data (Vitaly Kuznetsov) [2009340] - KVM: nVMX: promptly process interrupts delivered while in guest mode (Vitaly Kuznetsov) [2009340] - KVM: x86: check for interrupts before deciding whether to exit the fast path (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: reduce ghcb_sa_len to 32 bits (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove redundant handling of bus lock vmexit (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN if APIC HW/SW disable static keys are non-zero on unload (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: fix length of string I/O (Vitaly Kuznetsov) [2009340] - KVM: SEV-ES: Set guest_state_protected after VMSA update (Vitaly Kuznetsov) [2009340] - KVM: kvm_stat: do not show halt_wait_ns (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: Open code necessary bits of kvm_lapic_set_base() at vCPU RESET" (Vitaly Kuznetsov) [2009340] - KVM: s390: restore old debugfs names (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Sync linux/kvm.h with the kernel sources (Vitaly Kuznetsov) [2009340] - tools headers UAPI: Synch KVM's svm.h header with the kernel (Vitaly Kuznetsov) [2009340] - KVM: selftests: introduce P44V64 for z196 and EC12 (Vitaly Kuznetsov) [2009340] - KVM: selftests: introduce P47V64 for s390x (Vitaly Kuznetsov) [2009340] - x86/sev: Use "SEV: " prefix for messages from sev.c (Vitaly Kuznetsov) [2009340] - KVM: stats: remove dead stores (Vitaly Kuznetsov) [2009340] - kvm: x86: Add AMD PMU MSRs to msrs_to_save_all[] (Vitaly Kuznetsov) [2009340] - kvm: fix objtool relocation warning (Vitaly Kuznetsov) [2009340] - KVM: selftests: Ensure all migrations are performed when test is affined (Vitaly Kuznetsov) [2009340] - KVM: x86: Swap order of CPUID entry "index" vs. "significant flag" checks (Vitaly Kuznetsov) [2009340] - x86/kvmclock: Move this_cpu_pvti into kvmclock.h (Vitaly Kuznetsov) [2009340] - selftests: KVM: Don't clobber XMM register when read (Vitaly Kuznetsov) [2009340] - KVM: VMX: Fix a TSX_CTRL_CPUID_CLEAR field mask issue (Vitaly Kuznetsov) [2009340] - selftests: KVM: Explicitly use movq to read xmm registers (Vitaly Kuznetsov) [2009340] - selftests: KVM: Call ucall_init when setting up in rseq_test (Vitaly Kuznetsov) [2009340] - KVM: X86: Synchronize the shadow pagetable before link it (Vitaly Kuznetsov) [2009340] - KVM: X86: Fix missed remote tlb flush in rmap_write_protect() (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: don't copy virt_ext from vmcb12 (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: test eax for 4K alignment for GP errata workaround (Vitaly Kuznetsov) [2009340] - KVM: x86: selftests: test simultaneous uses of V_IRQ from L1 and L0 (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: restore int_vector in svm_clear_vintr (Vitaly Kuznetsov) [2009340] - KVM: x86: nVMX: re-evaluate emulation_required on nested VM exit (Vitaly Kuznetsov) [2009340] - KVM: x86: nVMX: don't fail nested VM entry on invalid guest state if !from_vmentry (Vitaly Kuznetsov) [2009340] - KVM: x86: VMX: synthesize invalid VM exit when emulating invalid guest state (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: refactor svm_leave_smm and smm_enter_smm (Vitaly Kuznetsov) [2009340] - KVM: x86: SVM: call KVM_REQ_GET_NESTED_STATE_PAGES on exit from SMM mode (Vitaly Kuznetsov) [2009340] - KVM: x86: reset pdptrs_from_userspace when exiting smm (Vitaly Kuznetsov) [2009340] - KVM: x86: nSVM: restore the L1 host state prior to resuming nested guest on SMM exit (Vitaly Kuznetsov) [2009340] - KVM: KVM: Use cpumask_available() to check for NULL cpumask when kicking vCPUs (Vitaly Kuznetsov) [2009340] - KVM: Clean up benign vcpu->cpu data races when kicking vCPUs (Vitaly Kuznetsov) [2009340] - KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect() (Vitaly Kuznetsov) [2009340] - KVM: selftests: Create a separate dirty bitmap per slot (Vitaly Kuznetsov) [2009340] - KVM: SEV: Allow some commands for mirror VM (Vitaly Kuznetsov) [2009340] - KVM: SEV: Update svm_vm_copy_asid_from for SEV-ES (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Fix nested bus lock VM exit (Vitaly Kuznetsov) [2009340] - KVM: x86: Identify vCPU0 by its vcpu_idx instead of its vCPUs array entry (Vitaly Kuznetsov) [2009340] - KVM: x86: Query vcpu->vcpu_idx directly and drop its accessor (Vitaly Kuznetsov) [2009340] - kvm: fix wrong exception emulation in check_rdtsc (Vitaly Kuznetsov) [2009340] - KVM: SEV: Pin guest memory for write for RECEIVE_UPDATE_DATA (Vitaly Kuznetsov) [2009340] - KVM: SVM: fix missing sev_decommission in sev_receive_start (Vitaly Kuznetsov) [2009340] - KVM: SEV: Acquire vcpu mutex when updating VMSA (Vitaly Kuznetsov) [2009340] - KVM: do not shrink halt_poll_ns below grow_start (Vitaly Kuznetsov) [2009340] - KVM: nVMX: fix comments of handle_vmon() (Vitaly Kuznetsov) [2009340] - KVM: x86: Handle SRCU initialization failure during page track init (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove defunct "nr_active_uret_msrs" field (Vitaly Kuznetsov) [2009340] - selftests: KVM: Align SMCCC call with the spec in steal_time (Vitaly Kuznetsov) [2009340] - selftests: KVM: Fix check for !POLLIN in demand_paging_test (Vitaly Kuznetsov) [2009340] - KVM: x86: Clear KVM's cached guest CR3 at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Mark all registers as avail/dirty at vCPU creation (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add a test for KVM_RUN+rseq to detect task migration bugs (Vitaly Kuznetsov) [2009340] - tools: Move x86 syscall number fallbacks to .../uapi/ (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix get_run_delay() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - selftests: kvm: move get_run_delay() into lib/test_util (Vitaly Kuznetsov) [2009340] - selftests:kvm: fix get_trans_hugepagesz() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - selftests:kvm: fix get_warnings_count() ignoring fscanf() return warn (Vitaly Kuznetsov) [2009340] - tools: rename bitmap_alloc() to bitmap_zalloc() (Vitaly Kuznetsov) [2009340] - KVM: Drop unused kvm_dirty_gfn_invalid() (Vitaly Kuznetsov) [2009340] - KVM: MMU: mark role_regs and role accessors as maybe unused (Vitaly Kuznetsov) [2009340] - x86/kvm: Don't enable IRQ when IRQ enabled in kvm_wait (Vitaly Kuznetsov) [2009340] - KVM: stats: Add VM stat for remote tlb flush requests (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Move lpage_disallowed_link further "down" in kvm_mmu_page (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Relocate kvm_mmu_page.tdp_mmu_page for better cache locality (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: mmu: Add guest physical address check in translate_gpa()" (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove unused field mmio_cached in struct kvm_mmu_page (Vitaly Kuznetsov) [2009340] - KVM: VMX: avoid running vmx_handle_exit_irqoff in case of emulation (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't freak out if pml5_root is NULL on 4-level host (Vitaly Kuznetsov) [2009340] - KVM: SVM: Add 5-level page table support for SVM (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Support shadowing NPT when 5-level paging is enabled in host (Vitaly Kuznetsov) [2009340] - KVM: x86: Allow CPU to force vendor-specific TDP level (Vitaly Kuznetsov) [2009340] - KVM: x86: clamp host mapping level to max_level in kvm_mmu_max_mapping_level (Vitaly Kuznetsov) [2009340] - KVM: x86: implement KVM_GUESTDBG_BLOCKIRQ (Vitaly Kuznetsov) [2009340] - KVM: SVM: split svm_handle_invalid_exit (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Avoid collision with !PRESENT SPTEs in TDP MMU lpage stats (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte (Vitaly Kuznetsov) [2009340] - KVM: stats: Add halt polling related histogram stats (Vitaly Kuznetsov) [2009340] - KVM: stats: Add halt_wait_ns stats for all architectures (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add checks for histogram stats bucket_size field (Vitaly Kuznetsov) [2009340] - KVM: stats: Update doc for histogram statistics (Vitaly Kuznetsov) [2009340] - KVM: stats: Support linear and logarithmic histogram statistics (Vitaly Kuznetsov) [2009340] - KVM: SVM: AVIC: drop unsupported AVIC base relocation code (Vitaly Kuznetsov) [2009340] - KVM: SVM: call avic_vcpu_load/avic_vcpu_put when enabling/disabling AVIC (Vitaly Kuznetsov) [2009340] - KVM: SVM: move check for kvm_vcpu_apicv_active outside of avic_vcpu_{put|load} (Vitaly Kuznetsov) [2009340] - KVM: SVM: avoid refreshing avic if its state didn't change (Vitaly Kuznetsov) [2009340] - KVM: SVM: remove svm_toggle_avic_for_irq_window (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Deactivate APICv only when AutoEOI feature is in use (Vitaly Kuznetsov) [2009340] - KVM: SVM: add warning for mistmatch between AVIC vcpu state and AVIC inhibition (Vitaly Kuznetsov) [2009340] - KVM: x86: APICv: fix race in kvm_request_apicv_update on SVM (Vitaly Kuznetsov) [2009340] - KVM: x86: don't disable APICv memslot when inhibited (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: allow APICv memslot to be enabled but invisible (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: allow kvm_faultin_pfn to return page fault handling code (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: rename try_async_pf to kvm_faultin_pfn (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: add comment explaining arguments to kvm_zap_gfn_range (Vitaly Kuznetsov) [2009340] - KVM: Allow to have arch-specific per-vm debugfs files (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Unconditionally clear nested.pi_pending on nested VM-Enter (Vitaly Kuznetsov) [2009340] - KVM: x86: Clean up redundant ROL16(val, n) macro definition (Vitaly Kuznetsov) [2009340] - KVM: x86: Move declaration of kvm_spurious_fault() to x86.h (Vitaly Kuznetsov) [2009340] - KVM: x86: Kill off __ex() and __kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Hide VMCS control calculators in vmx.c (Vitaly Kuznetsov) [2009340] - KVM: VMX: Drop caching of KVM's desired sec exec controls for vmcs01 (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Pull KVM L0's desired controls directly from vmcs01 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Reset DR6 only when KVM_DEBUGREG_WONT_EXIT (Vitaly Kuznetsov) [2009340] - KVM: X86: Set host DR6 only on VMX and for KVM_DEBUGREG_WONT_EXIT (Vitaly Kuznetsov) [2009340] - KVM: X86: Remove unneeded KVM_DEBUGREG_RELOAD (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Use vmx_need_pf_intercept() when deciding if L0 wants a #PF (Vitaly Kuznetsov) [2009340] - kvm: vmx: Sync all matching EPTPs when injecting nested EPT fault (Vitaly Kuznetsov) [2009340] - KVM: x86: remove dead initialization (Vitaly Kuznetsov) [2009340] - KVM: x86: Allow guest to set EFER.NX=1 on non-PAE 32-bit kernels (Vitaly Kuznetsov) [2009340] - x86: Fix typo s/ECLR/ELCR/ for the PIC register (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move vcpu_args_set into perf_test_util (Vitaly Kuznetsov) [2009340] - KVM: selftests: Support multiple slots in dirty_log_perf_test (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Leverage vcpu->last_used_slot for rmap_add and rmap_recycle (Vitaly Kuznetsov) [2009340] - KVM: Cache the last used slot index per vCPU (Vitaly Kuznetsov) [2009340] - KVM: Move last_used_slot logic out of search_memslots (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds (Vitaly Kuznetsov) [2009340] - KVM: xen: do not use struct gfn_to_hva_cache (Vitaly Kuznetsov) [2009340] - KVM: selftests: fix hyperv_clock test (Vitaly Kuznetsov) [2009340] - KVM: SVM: improve the code readability for ASID management (Vitaly Kuznetsov) [2009340] - KVM: SVM: Fix off-by-one indexing when nullifying last used SEV VMCB (Vitaly Kuznetsov) [2009340] - KVM: Do not leak memory for duplicate debugfs directories (Vitaly Kuznetsov) [2009340] - KVM: x86/pmu: Introduce pmc->is_paused to reduce the call time of perf interfaces (Vitaly Kuznetsov) [2009340] - KVM: X86: Optimize zapping rmap (Vitaly Kuznetsov) [2009340] - KVM: X86: Optimize pte_list_desc with per-array counter (Vitaly Kuznetsov) [2009340] - KVM: X86: MMU: Tune PTE_LIST_EXT to be bigger (Vitaly Kuznetsov) [2009340] - KVM: selftests: Test access to XMM fast hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check if guest is allowed to use XMM registers for hypercall input (Vitaly Kuznetsov) [2009340] - KVM: x86: Introduce trace_kvm_hv_hypercall_done() (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check access to hypercall before reading XMM registers (Vitaly Kuznetsov) [2009340] - KVM: nSVM: remove useless kvm_clear_*_queue (Vitaly Kuznetsov) [2009340] - KVM: x86: Preserve guest's CR0.CD/NW on INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop redundant clearing of vcpu->arch.hflags at INIT/RESET (Vitaly Kuznetsov) [2009340] - KVM: SVM: Emulate #INIT in response to triple fault shutdown (Vitaly Kuznetsov) [2009340] - KVM: VMX: Move RESET-only VMWRITE sequences to init_vmcs() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove redundant write to set vCPU as active at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Smush x2APIC MSR bitmap adjustments into single function (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove unnecessary initialization of msr_bitmap_mode (Vitaly Kuznetsov) [2009340] - KVM: VMX: Don't redo x2APIC MSR bitmaps when userspace filter is changed (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Remove obsolete MSR bitmap refresh at nested transitions (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove obsolete MSR bitmap refresh at vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Move setting of sregs during vCPU RESET/INIT to common x86 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Don't _explicitly_ reconfigure user return MSRs on vCPU INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Refresh list of user return MSRs after setting guest CPUID (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip pointless MSR bitmap update when setting EFER (Vitaly Kuznetsov) [2009340] - KVM: SVM: Stuff save->dr6 at during VMSA sync, not at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop redundant writes to vmcb->save.cr4 at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Tweak order of cr0/cr4/efer writes at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Don't evaluate "emulation required" on nested VM-Exit (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip emulation required checks during pmode/rmode transitions (Vitaly Kuznetsov) [2009340] - KVM: VMX: Process CR0.PG side effects after setting CR0 assets (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Skip the permission_fault() check on MMIO if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Pull GUEST_CR3 from the VMCS iff CR3 load exiting is disabled (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Do not clear CR3 load/store exiting bits if L1 wants 'em (Vitaly Kuznetsov) [2009340] - KVM: VMX: Fold ept_update_paging_mode_cr0() back into vmx_set_cr0() (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove direct write to vcpu->arch.cr0 during vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Invert handling of CR0.WP for EPT without unrestricted guest (Vitaly Kuznetsov) [2009340] - KVM: SVM: Don't bother writing vmcb->save.rip at vCPU RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: Move EDX initialization at vCPU RESET to common code (Vitaly Kuznetsov) [2009340] - KVM: x86: Consolidate APIC base RESET initialization code (Vitaly Kuznetsov) [2009340] - KVM: x86: Open code necessary bits of kvm_lapic_set_base() at vCPU RESET (Vitaly Kuznetsov) [2009340] - KVM: VMX: Stuff vcpu->arch.apic_base directly at vCPU RESET (Vitaly Kuznetsov) [2009340] - KVM: x86: Set BSP bit in reset BSP vCPU's APIC base by default (Vitaly Kuznetsov) [2009340] - KVM: x86: Don't force set BSP bit when local APIC is managed by userspace (Vitaly Kuznetsov) [2009340] - KVM: x86: Migrate the PIT only if vcpu0 is migrated, not any BSP (Vitaly Kuznetsov) [2009340] - KVM: x86: Remove defunct BSP "update" in local APIC reset (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN if the APIC map is dirty without an in-kernel local APIC (Vitaly Kuznetsov) [2009340] - KVM: SVM: Drop explicit MMU reset at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Remove explicit MMU reset in enter_rmode() (Vitaly Kuznetsov) [2009340] - KVM: SVM: Fall back to KVM's hardcoded value for EDX at RESET/INIT (Vitaly Kuznetsov) [2009340] - KVM: SVM: Require exact CPUID.0x1 match when stuffing EDX at INIT (Vitaly Kuznetsov) [2009340] - KVM: VMX: Set EDX at INIT with CPUID.0x1, Family-Model-Stepping (Vitaly Kuznetsov) [2009340] - KVM: SVM: Zero out GDTR.base and IDTR.base on INIT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Set LDTR to its architecturally defined value on nested VM-Exit (Vitaly Kuznetsov) [2009340] - KVM: x86: Flush the guest's TLB on INIT (Vitaly Kuznetsov) [2009340] - KVM: x86: APICv: drop immediate APICv disablement on current vCPU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: fast_page_fault support for the TDP MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Make walk_shadow_page_lockless_{begin,end} interoperate with the TDP MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix use of enums in trace_fast_page_fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename cr2_or_gpa to gpa in fast_page_fault (Vitaly Kuznetsov) [2009340] - KVM: Introduce kvm_get_kvm_safe() (Vitaly Kuznetsov) [2009340] - x86/kvm: remove non-x86 stuff from arch/x86/kvm/ioapic.h (Vitaly Kuznetsov) [2009340] - KVM: X86: Add per-vm stat for max rmap list size (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Return old SPTE from mmu_spte_clear_track_bits() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Refactor shadow walk in __direct_map() to reduce indentation (Vitaly Kuznetsov) [2009340] - KVM: x86: Hoist kvm_dirty_regs check out of sync_regs() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Mark VM as bugged if page fault returns RET_PF_INVALID (Vitaly Kuznetsov) [2009340] - KVM: x86: Use KVM_BUG/KVM_BUG_ON to handle bugs that are fatal to the VM (Vitaly Kuznetsov) [2009340] - KVM: Export kvm_make_all_cpus_request() for use in marking VMs as bugged (Vitaly Kuznetsov) [2009340] - KVM: Add infrastructure and macro to mark VM as bugged (Vitaly Kuznetsov) [2009340] - KVM: Get rid of kvm_get_pfn() (Vitaly Kuznetsov) [2009340] - KVM: arm64: Use get_page() instead of kvm_get_pfn() (Vitaly Kuznetsov) [2009340] - KVM: x86: accept userspace interrupt only if no event is injected (Vitaly Kuznetsov) [2009340] - KVM: add missing compat KVM_CLEAR_DIRTY_LOG (Vitaly Kuznetsov) [2009340] - KVM: use cpu_relax when halt polling (Vitaly Kuznetsov) [2009340] - KVM: SVM: use vmcb01 in svm_refresh_apicv_exec_ctrl (Vitaly Kuznetsov) [2009340] - KVM: SVM: tweak warning about enabled AVIC on nested entry (Vitaly Kuznetsov) [2009340] - KVM: SVM: svm_set_vintr don't warn if AVIC is active but is about to be deactivated (Vitaly Kuznetsov) [2009340] - KVM: SVM: delay svm_vcpu_init_msrpm after svm->vmcb is initialized (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce access_tracking_perf_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix missing break in dirty_log_perf_test arg parsing (Vitaly Kuznetsov) [2009340] - x86/kvm: fix vcpu-id indexed array sizes (Vitaly Kuznetsov) [2009340] - KVM: x86: Check the right feature bit for MSR_KVM_ASYNC_PF_ACK access (Vitaly Kuznetsov) [2009340] - KVM: Documentation: Fix KVM_CAP_ENFORCE_PV_FEATURE_CPUID name (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Swap the parameter order for svm_copy_vmrun_state()/svm_copy_vmloadsave_state() (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Rename nested_svm_vmloadsave() to svm_copy_vmloadsave_state() (Vitaly Kuznetsov) [2009340] - docs: virt: kvm: api.rst: replace some characters (Vitaly Kuznetsov) [2009340] - docs: kvm: properly format code blocks and lists (Vitaly Kuznetsov) [2009340] - docs: kvm: fix build warnings (Vitaly Kuznetsov) [2009340] - KVM: selftests: Address extra memslot parameters in vm_vaddr_alloc (Vitaly Kuznetsov) [2009340] - kvm: debugfs: fix memory leak in kvm_create_vm_debugfs (Vitaly Kuznetsov) [2009340] - Revert "KVM: x86: WARN and reject loading KVM if NX is supported but not enabled" (Vitaly Kuznetsov) [2009340] - KVM: selftests: x86: Address missing vm_install_exception_handler conversions (Vitaly Kuznetsov) [2009340] - KVM: selftests: change pthread_yield to sched_yield (Vitaly Kuznetsov) [2009340] - KVM: x86: rename apic_access_page_done to apic_access_memslot_enabled (Vitaly Kuznetsov) [2009340] - kvm: x86: disable the narrow guest module parameter on unload (Vitaly Kuznetsov) [2009340] - selftests: kvm: Allows userspace to handle emulation errors. (Vitaly Kuznetsov) [2009340] - kvm: x86: Allow userspace to handle emulation errors (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Let guest use GBPAGES if supported in hardware and TDP is on (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get CR4.SMEP from MMU, not vCPU, in shadow page fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get CR0.WP from MMU, not vCPU, in shadow page fault (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop redundant rsvd bits reset for nested NPT (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Optimize and clean up so called "last nonleaf level" logic (Vitaly Kuznetsov) [2009340] - KVM: x86: Enhance comments for MMU roles and nested transition trickiness (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: WARN on any reserved SPTE value when making a valid SPTE (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add helpers to do full reserved SPTE checks w/ generic MMU (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to determine PTTYPE (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Collapse 32-bit PAE and 64-bit statements for helpers (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add a helper to calculate root from role_regs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add helper to update paging metadata (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't update nested guest's paging bitmasks if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Consolidate reset_rsvds_bits_mask() calls (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU role_regs to get LA57, and drop vCPU LA57 helper (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Get nested MMU's root level from the MMU's role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop "nx" from MMU context now that there are no readers (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to get EFER.NX during MMU configuration (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role/role_regs to compute context's metadata (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to detect EFER.NX in guest page walk (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's roles to compute last non-leaf level (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to compute PKRU bitmask (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to compute permission bitmask (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop vCPU param from reserved bits calculator (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role to get CR4.PSE for computing rsvd bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't grab CR4.PSE for calculating shadow reserved bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Always set new mmu_role immediately after checking old role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Set CR4.PKE/LA57 in MMU role iff long mode is active (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Do not set paging-related bits in MMU role if CR0.PG=0 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add accessors to query mmu_role bits (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename "nxe" role bit to "efer_nx" for macro shenanigans (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU's role_regs, not vCPU state, to compute mmu_role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Ignore CR0 and CR4 bits in nested EPT MMU role (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Consolidate misc updates into shadow_mmu_init_context() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add struct and helpers to retrieve MMU role bits from regs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Grab shadow root level from mmu_role for shadow MMUs (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Move nested NPT reserved bit calculation into MMU proper (Vitaly Kuznetsov) [2009340] - KVM: x86: Read and pass all CR0/CR4 role bits to shadow MMU helper (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop smep_andnot_wp check from "uses NX" for shadow MMUs (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Add a comment to document why nNPT uses vmcb01, not vCPU state (Vitaly Kuznetsov) [2009340] - KVM: x86: Fix sizes used to pass around CR0, CR4, and EFER (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Rename unsync helper and update related comments (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Drop the intermediate "transient" __kvm_sync_page() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: comment on kvm_mmu_get_page's syncing of pages (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: WARN and zap SP when sync'ing if MMU role mismatches (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Use MMU role to check for matching guest page sizes (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Unconditionally zap unsync SPs when creating >4k SP at GFN (Vitaly Kuznetsov) [2009340] - Revert "KVM: MMU: record maximum physical address width in kvm_mmu_extended_role" (Vitaly Kuznetsov) [2009340] - KVM: x86: Alert userspace that KVM_SET_CPUID{,2} after KVM_RUN is broken (Vitaly Kuznetsov) [2009340] - KVM: debugfs: Reuse binary stats descriptors (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add selftest for KVM statistics data binary interface (Vitaly Kuznetsov) [2009340] - KVM: stats: Add documentation for binary statistics interface (Vitaly Kuznetsov) [2009340] - KVM: stats: Support binary stats retrieval for a VCPU (Vitaly Kuznetsov) [2009340] - KVM: stats: Support binary stats retrieval for a VM (Vitaly Kuznetsov) [2009340] - KVM: stats: Add fd-based API to read binary stats data (Vitaly Kuznetsov) [2009340] - KVM: stats: Separate generic stats from architecture specific ones (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Don't WARN on a NULL shadow page in TDP MMU check (Vitaly Kuznetsov) [2009340] - KVM: sefltests: Add x86-64 test to verify MMU reacts to CPUID updates (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add hugepage support for x86-64 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Genericize upper level page table entry struct (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add PTE helper for x86-64 in preparation for hugepages (Vitaly Kuznetsov) [2009340] - KVM: selftests: Rename x86's page table "address" to "pfn" (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add wrapper to allocate page table page (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally allocate EPT tables in memslot 0 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot '0' for page table allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 for vaddr allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use "standard" min virtual address for CPUID test alloc (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use alloc page helper for xAPIC IPI test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use alloc_page helper for x86-64's GDT/IDT/TSS allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Lower the min virtual address for misc page allocations (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add helpers to allocate N pages of virtual memory (Vitaly Kuznetsov) [2009340] - KVM: selftests: Use "standard" min virtual address for Hyper-V pages (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 for x86's GDT/TSS setup (Vitaly Kuznetsov) [2009340] - KVM: selftests: Unconditionally use memslot 0 when loading elf binary (Vitaly Kuznetsov) [2009340] - KVM: selftests: Zero out the correct page in the Hyper-V features test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Remove errant asm/barrier.h include to fix arm64 build (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix uninitialized boolean variable flush (Vitaly Kuznetsov) [2009340] - KVM: selftests: fix triple fault if ept=0 in dirty_log_test (Vitaly Kuznetsov) [2009340] - KVM: x86: Print CPU of last attempted VM-entry when dumping VMCS/VMCB (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Dynamically compute max VMCS index for vmcs12 (Vitaly Kuznetsov) [2009340] - KVM: VMX: Skip #PF(RSVD) intercepts when emulating smaller maxphyaddr (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant root_hpa checks (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Refactor is_tdp_mmu_root into is_tdp_mmu (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant is_tdp_mmu_enabled check (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Remove redundant is_tdp_mmu_root check (Vitaly Kuznetsov) [2009340] - KVM: x86: Stub out is_tdp_mmu_root on 32-bit hosts (Vitaly Kuznetsov) [2009340] - KVM: x86: WARN and reject loading KVM if NX is supported but not enabled (Vitaly Kuznetsov) [2009340] - KVM: SVM: Refuse to load kvm_amd if NX support is not available (Vitaly Kuznetsov) [2009340] - KVM: VMX: Refuse to load kvm_intel if EPT and NX are disabled (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix TDP MMU page table level (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix pf_fixed count in tdp_mmu_map_handle_target_level() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix return value in tdp_mmu_map_handle_target_level() (Vitaly Kuznetsov) [2009340] - KVM: LAPIC: Keep stored TMCCT register value 0 after KVM_SET_LAPIC (Vitaly Kuznetsov) [2009340] - KVM: X86: Introduce KVM_HC_MAP_GPA_RANGE hypercall (Vitaly Kuznetsov) [2009340] - KVM: switch per-VM stats to u64 (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Grab nx_lpage_splits as an unsigned long before division (Vitaly Kuznetsov) [2009340] - KVM: x86: Check for pending interrupts when APICv is getting disabled (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Drop redundant checks on vmcs12 in EPTP switching emulation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: WARN if subtly-impossible VMFUNC conditions occur (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop pointless @reset_roots from kvm_init_mmu() (Vitaly Kuznetsov) [2009340] - KVM: x86: Defer MMU sync on PCID invalidation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Use fast PGD switch when emulating VMFUNC[EPTP_SWITCH] (Vitaly Kuznetsov) [2009340] - KVM: x86: Use KVM_REQ_TLB_FLUSH_GUEST to handle INVPCID(ALL) emulation (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Free only guest_mode (L2) roots on INVVPID w/o EPT (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Consolidate VM-Enter/VM-Exit TLB flush and MMU sync logic (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop skip MMU sync and TLB flush params from "new PGD" helpers (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Move TLB flushing logic (or lack thereof) to dedicated helper (Vitaly Kuznetsov) [2009340] - KVM: x86: Uncondtionally skip MMU sync/TLB flush in MOV CR3's PGD switch (Vitaly Kuznetsov) [2009340] - KVM: x86: Invalidate all PGDs for the current PCID on MOV CR3 w/ flush (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Don't clobber nested MMU's A/D status on EPTP switch (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Sync all PGDs on nested transition with shadow paging (Vitaly Kuznetsov) [2009340] - KVM: x86: avoid loading PDPTRs after migration when possible (Vitaly Kuznetsov) [2009340] - KVM: x86: Introduce KVM_GET_SREGS2 / KVM_SET_SREGS2 (Vitaly Kuznetsov) [2009340] - KVM: x86: introduce kvm_register_clear_available (Vitaly Kuznetsov) [2009340] - KVM: nVMX: delay loading of PDPTRs to KVM_REQ_GET_NESTED_STATE_PAGES (Vitaly Kuznetsov) [2009340] - KVM: nSVM: refactor the CR3 reload on migration (Vitaly Kuznetsov) [2009340] - KVM: x86: Always load PDPTRs on CR3 load for SVM w/o NPT and a PAE guest (Vitaly Kuznetsov) [2009340] - KVM: nSVM: Drop pointless pdptrs_changed() check on nested transition (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Drop obsolete (and pointless) pdptrs_changed() check (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce hyperv_features test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move evmcs.h to x86_64/ (Vitaly Kuznetsov) [2009340] - KVM: selftests: move Hyper-V MSR definitions to hyperv.h (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_CLUSTER_IPI_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_DEBUGGING privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_SIGNAL_EVENTS privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_POST_MESSAGES privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Check access to HVCALL_NOTIFY_LONG_SPIN_WAIT hypercall (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Prepare to check access to Hyper-V hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_STIMER_DIRECT_MODE_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Inverse the default in hv_check_msr_access() (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_FEATURE_DEBUG_MSRS_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_ACCESS_REENLIGHTENMENT privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_ACCESS_FREQUENCY_MSRS privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_APIC_ACCESS_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_SYNTIMER_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_SYNIC_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_REFERENCE_TSC_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_RESET_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_VP_INDEX_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_TIME_REF_COUNT_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_VP_RUNTIME_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Honor HV_MSR_HYPERCALL_AVAILABLE privilege bit (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Prepare to check access to Hyper-V MSRs (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Cache guest CPUID leaves determining features availability (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Introduce KVM_CAP_HYPERV_ENFORCE_CPUID (Vitaly Kuznetsov) [2009340] - asm-generic/hyperv: add HV_STATUS_ACCESS_DENIED definition (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Direct Virtual Flush support (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Enlightened MSR-Bitmap support (Vitaly Kuznetsov) [2009340] - KVM: SVM: hyper-v: Remote TLB flush for SVM (Vitaly Kuznetsov) [2009340] - KVM: SVM: Software reserved fields (Vitaly Kuznetsov) [2009340] - KVM: x86: hyper-v: Move the remote TLB flush logic out of vmx (Vitaly Kuznetsov) [2009340] - KVM: nVMX: nSVM: Add a new VCPU statistic to show if VCPU is in guest mode (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop "pre_" from enter/leave_smm() helpers (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop .post_leave_smm(), i.e. the manual post-RSM MMU reset (Vitaly Kuznetsov) [2009340] - KVM: x86: Rename SMM tracepoint to make it reflect reality (Vitaly Kuznetsov) [2009340] - KVM: x86: Move "entering SMM" tracepoint into kvm_smm_changed() (Vitaly Kuznetsov) [2009340] - KVM: x86: Move (most) SMM hflags modifications into kvm_smm_changed() (Vitaly Kuznetsov) [2009340] - KVM: x86: Invoke kvm_smm_changed() immediately after clearing SMM flag (Vitaly Kuznetsov) [2009340] - KVM: x86: Replace .set_hflags() with dedicated .exiting_smm() helper (Vitaly Kuznetsov) [2009340] - KVM: x86: Emulate triple fault shutdown if RSM emulation fails (Vitaly Kuznetsov) [2009340] - KVM: x86: Drop vendor specific functions for APICv/AVIC enablement (Vitaly Kuznetsov) [2009340] - KVM: x86: Use common 'enable_apicv' variable for both APICv and AVIC (Vitaly Kuznetsov) [2009340] - kvm: x86: implement KVM PM-notifier (Vitaly Kuznetsov) [2009340] - kvm: add PM-notifier (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce x2APIC register manipulation functions (Vitaly Kuznetsov) [2009340] - KVM: selftests: Hoist APIC functions out of individual tests (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move APIC definitions into a separate file (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Disable vmcs02 posted interrupts if vmcs12 PID isn't mappable (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Fail on MMIO completion for nested posted interrupts (Vitaly Kuznetsov) [2009340] - KVM: x86: Add a return code to kvm_apic_accept_events (Vitaly Kuznetsov) [2009340] - KVM: x86: Add a return code to inject_pending_event (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Add a return code to vmx_complete_nested_posted_interrupt (Vitaly Kuznetsov) [2009340] - KVM: x86: Remove guest mode check from kvm_check_nested_events (Vitaly Kuznetsov) [2009340] - KVM: selftests: x86: Add vmx_nested_tsc_scaling_test (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Enable nested TSC scaling (Vitaly Kuznetsov) [2009340] - KVM: X86: Add vendor callbacks for writing the TSC multiplier (Vitaly Kuznetsov) [2009340] - KVM: X86: Move write_l1_tsc_offset() logic to common code and rename it (Vitaly Kuznetsov) [2009340] - KVM: X86: Add functions that calculate the nested TSC fields (Vitaly Kuznetsov) [2009340] - KVM: X86: Add functions for retrieving L2 TSC fields from common code (Vitaly Kuznetsov) [2009340] - KVM: nVMX: Add a TSC multiplier field in VMCS12 (Vitaly Kuznetsov) [2009340] - KVM: X86: Add a ratio parameter to kvm_scale_tsc() (Vitaly Kuznetsov) [2009340] - KVM: X86: Rename kvm_compute_tsc_offset() to kvm_compute_l1_tsc_offset() (Vitaly Kuznetsov) [2009340] - KVM: X86: Store L1's TSC scaling ratio in 'struct kvm_vcpu_arch' (Vitaly Kuznetsov) [2009340] - math64.h: Add mul_s64_u64_shr() (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Add a field to control memslot rmap allocation (Vitaly Kuznetsov) [2009340] - KVM: mmu: Add slots_arch_lock for memslot arch fields (Vitaly Kuznetsov) [2009340] - KVM: mmu: Refactor memslot copy (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Factor out allocating memslot rmap (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Deduplicate rmap freeing (Vitaly Kuznetsov) [2009340] - KVM: x86: Do not write protect huge page in initially-all-set mode (Vitaly Kuznetsov) [2009340] - KVM: x86: Support write protecting only large pages (Vitaly Kuznetsov) [2009340] - KVM: hyper-v: Advertise support for fast XMM hypercalls (Vitaly Kuznetsov) [2009340] - KVM: x86: kvm_hv_flush_tlb use inputs from XMM registers (Vitaly Kuznetsov) [2009340] - KVM: hyper-v: Collect hypercall params into struct (Vitaly Kuznetsov) [2009340] - KVM: x86: Move FPU register accessors into fpu.h (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Make is_nx_huge_page_enabled an inline function (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix kvm_check_cap() assertion (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add aarch64/debug-exceptions test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Add exception handling support for aarch64 (Vitaly Kuznetsov) [2009340] - KVM: selftests: Move GUEST_ASSERT_EQ to utils header (Vitaly Kuznetsov) [2009340] - KVM: selftests: Introduce UCALL_UNHANDLED for unhandled vector reporting (Vitaly Kuznetsov) [2009340] - KVM: selftests: Complete x86_64/sync_regs_test ucall (Vitaly Kuznetsov) [2009340] - KVM: selftests: Rename vm_handle_exception (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix compiling errors when initializing the static structure (Vitaly Kuznetsov) [2009340] - selftests: kvm: Add support for customized slot0 memory size (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix overlapping addresses in memslot_perf_test (Vitaly Kuznetsov) [2009340] - selftests: kvm: do only 1 memslot_perf_test run by default (Vitaly Kuznetsov) [2009340] - KVM: X86: Use _BITUL() macro in UAPI headers (Vitaly Kuznetsov) [2009340] - KVM: selftests: create alias mappings when using shared memory (Vitaly Kuznetsov) [2009340] - KVM: selftests: add shmem backing source type (Vitaly Kuznetsov) [2009340] - KVM: selftests: refactor vm_mem_backing_src_type flags (Vitaly Kuznetsov) [2009340] - KVM: selftests: allow different backing source types (Vitaly Kuznetsov) [2009340] - KVM: selftests: compute correct demand paging size (Vitaly Kuznetsov) [2009340] - KVM: selftests: simplify setup_demand_paging error handling (Vitaly Kuznetsov) [2009340] - KVM: selftests: Print a message if /dev/kvm is missing (Vitaly Kuznetsov) [2009340] - KVM: selftests: trivial comment/logging fixes (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix hang in hardware_disable_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Ignore CPUID.0DH.1H in get_cpuid_test (Vitaly Kuznetsov) [2009340] - KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn() (Vitaly Kuznetsov) [2009340] - KVM: selftests: add a memslot-related performance benchmark (Vitaly Kuznetsov) [2009340] - KVM: selftests: Keep track of memslots more efficiently (Vitaly Kuznetsov) [2009340] - selftests: kvm: fix potential issue with ELF loading (Vitaly Kuznetsov) [2009340] - selftests: kvm: make allocation of extra memory take effect (Vitaly Kuznetsov) [2009340] - docs: virt: api.rst: fix a pointer to SGX documentation (Vitaly Kuznetsov) [2009340] - docs: vcpu-requests.rst: fix reference for atomic ops (Vitaly Kuznetsov) [2009340] - x86/msr: Rename MSR_K8_SYSCFG to MSR_AMD64_SYSCFG (Vitaly Kuznetsov) [2009340] - x86/sev: Move GHCB MSR protocol and NAE definitions in a common header (Vitaly Kuznetsov) [2009340] - x86/sev-es: Rename sev-es.{ch} to sev.{ch} (Vitaly Kuznetsov) [2009340] - x86/sev-es: Replace open-coded hlt-loops with sev_es_terminate() (Vitaly Kuznetsov) [2009340] - tools/kvm_stat: Fix documentation typo (Vitaly Kuznetsov) [2009340] - KVM: x86: Hide RDTSCP and RDPID if MSR_TSC_AUX probing failed (Vitaly Kuznetsov) [2009340] - KVM: x86: Tie Intel and AMD behavior for MSR_TSC_AUX to guest CPU model (Vitaly Kuznetsov) [2009340] - KVM: x86: Move uret MSR slot management to common x86 (Vitaly Kuznetsov) [2009340] - KVM: x86: Export the number of uret MSRs to vendor modules (Vitaly Kuznetsov) [2009340] - KVM: VMX: Disable loading of TSX_CTRL MSR the more conventional way (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use common x86's uret MSR list as the one true list (Vitaly Kuznetsov) [2009340] - KVM: VMX: Use flag to indicate "active" uret MSRs instead of sorting list (Vitaly Kuznetsov) [2009340] - KVM: VMX: Configure list of user return MSRs at module init (Vitaly Kuznetsov) [2009340] - KVM: x86: Add support for RDPID without RDTSCP (Vitaly Kuznetsov) [2009340] - selftests: kvm: remove reassignment of non-absolute variables (Vitaly Kuznetsov) [2009340] - doc/kvm: Fix wrong entry for KVM_CAP_X86_MSR_FILTER (Vitaly Kuznetsov) [2009340] - KVM: x86/mmu: Fix kdoc of __handle_changed_spte (Vitaly Kuznetsov) [2009340] - KVM: documentation: fix sphinx warnings (Vitaly Kuznetsov) [2009340] - KVM: x86: document behavior of measurement ioctls with len==0 (Vitaly Kuznetsov) [2009340] - documentation/kvm: additional explanations on KVM_SET_BOOT_CPU_ID (Vitaly Kuznetsov) [2009340] - docs: kvm: Fix a typo ("althought") (Vitaly Kuznetsov) [2009340] - KVM: move EXIT_FASTPATH_REENTER_GUEST to common code (Vitaly Kuznetsov) [2009340] - mm, kvm: account kvm_vcpu_mmap to kmemcg (Vitaly Kuznetsov) [2009340] - x86/kvm: Use msi_msg shadow structs (Vitaly Kuznetsov) [2009340] - ceph: fix up non-directory creation in SGID directories (Jeffrey Layton) [2017796] - ceph: initialize pathlen variable in reconnect_caps_cb (Jeffrey Layton) [2017796] - ceph: initialize i_size variable in ceph_sync_read (Jeffrey Layton) [2017796] - ceph: fix duplicate increment of opened_inodes metric (Jeffrey Layton) [2017796] - ceph: add a new metric to keep track of remote object copies (Jeffrey Layton) [2017796] - libceph, ceph: move ceph_osdc_copy_from() into cephfs code (Jeffrey Layton) [2017796] - ceph: clean-up metrics data structures to reduce code duplication (Jeffrey Layton) [2017796] - ceph: split 'metric' debugfs file into several files (Jeffrey Layton) [2017796] - ceph: return the real size read when it hits EOF (Jeffrey Layton) [2017796] - ceph: properly handle statfs on multifs setups (Jeffrey Layton) [2017796] - ceph: shut down mount on bad mdsmap or fsmap decode (Jeffrey Layton) [2017796] - ceph: fix mdsmap decode when there are MDS's beyond max_mds (Jeffrey Layton) [2017796] - ceph: ignore the truncate when size won't change with Fx caps issued (Jeffrey Layton) [2017796] - ceph: don't rely on error_string to validate blocklisted session. (Jeffrey Layton) [2017796] - ceph: just use ci->i_version for fscache aux info (Jeffrey Layton) [2017796] - ceph: shut down access to inode when async create fails (Jeffrey Layton) [2017796] - ceph: refactor remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: fix auth cap handling logic in remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: drop private list from remove_session_caps_cb (Jeffrey Layton) [2017796] - ceph: don't use -ESTALE as special return code in try_get_cap_refs (Jeffrey Layton) [2017796] - ceph: print inode numbers instead of pointer values (Jeffrey Layton) [2017796] - ceph: enable async dirops by default (Jeffrey Layton) [2017796] - libceph: drop ->monmap and err initialization (Jeffrey Layton) [2017796] - ceph: convert to noop_direct_IO (Jeffrey Layton) [2017796] - ceph: fix off by one bugs in unsafe_request_wait() (Jeffrey Layton) [2017796] - ceph: fix handling of "meta" errors (Jeffrey Layton) [2017796] - ceph: drop the mdsc_get_session/put_session dout messages (Jeffrey Layton) [2017796] - ceph: lockdep annotations for try_nonblocking_invalidate (Jeffrey Layton) [2017796] - ceph: don't WARN if we're forcibly removing the session caps (Jeffrey Layton) [2017796] - ceph: don't WARN if we're force umounting (Jeffrey Layton) [2017796] - ceph: remove the capsnaps when removing caps (Jeffrey Layton) [2017796] - ceph: request Fw caps before updating the mtime in ceph_write_iter (Jeffrey Layton) [2017796] - ceph: reconnect to the export targets on new mdsmaps (Jeffrey Layton) [2017796] - ceph: print more information when we can't find snaprealm (Jeffrey Layton) [2017796] - ceph: add ceph_change_snap_realm() helper (Jeffrey Layton) [2017796] - ceph: remove redundant initializations from mdsc and session (Jeffrey Layton) [2017796] - ceph: cancel delayed work instead of flushing on mdsc teardown (Jeffrey Layton) [2017796] - ceph: add a new vxattr to return auth mds for an inode (Jeffrey Layton) [2017796] - ceph: flush the mdlog before waiting on unsafe reqs (Jeffrey Layton) [2017796] - ceph: flush mdlog before umounting (Jeffrey Layton) [2017796] - ceph: make iterate_sessions a global symbol (Jeffrey Layton) [2017796] - ceph: make ceph_create_session_msg a global symbol (Jeffrey Layton) [2017796] - ceph: fix comment about short copies in ceph_write_end (Jeffrey Layton) [2017796] - ceph: fix memory leak on decode error in ceph_handle_caps (Jeffrey Layton) [2017796] - RDMA/irdma: Fix a potential memory allocation issue in 'irdma_prm_add_pble_mem()' (Kamal Heib) [1970672] - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ (Kamal Heib) [1970672] - RDMA/irdma: Fix a user-after-free in add_pble_prm (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC errors (Kamal Heib) [1970672] - RDMA/irdma: Do not hold qos mutex twice on QP resume (Kamal Heib) [1970672] - RDMA/irdma: Set VLAN in UD work completion correctly (Kamal Heib) [1970672] - RDMA/irdma: Process extended CQ entries correctly (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC error when there are MW bind errors (Kamal Heib) [1970672] - RDMA/irdma: Report correct WC error when transport retry counter is exceeded (Kamal Heib) [1970672] - RDMA/irdma: Validate number of CQ entries on create CQ (Kamal Heib) [1970672] - RDMA/irdma: Skip CQP ring during a reset (Kamal Heib) [1970672] - RDMA/irdma: Remove the repeated declaration (Kamal Heib) [1970672] - RDMA/irdma: Use correct kconfig symbol for AUXILIARY_BUS (Kamal Heib) [1970672] - RDMA/irdma: Change returned type of irdma_setup_virt_qp to void (Kamal Heib) [1970672] - RDMA/irdma: Change the returned type of irdma_set_hw_rsrc to void (Kamal Heib) [1970672] - RDMA/irdma: change the returned type of irdma_sc_repost_aeq_entries to void (Kamal Heib) [1970672] - RDMA/irdma: Check vsi pointer before using it (Kamal Heib) [1970672] - RDMA/irdma: Change the returned type to void (Kamal Heib) [1970672] - RDMA/irdma: Make spdxcheck.py happy (Kamal Heib) [1970672] - RDMA/irdma: Fix unused variable total_size warning (Kamal Heib) [1970672] - RDMA/irdma: Fix potential overflow expression in irdma_prm_get_pbles (Kamal Heib) [1970672] - RDMA/irdma: Check contents of user-space irdma_mem_reg_req object (Kamal Heib) [1970672] - RDMA/irdma: Remove use of kmap() (Kamal Heib) [1970672] - RDMA/irdma: Use the queried port attributes (Kamal Heib) [1970672] - RDMA/irdma: Check return value from ib_umem_find_best_pgsz (Kamal Heib) [1970672] - RDMA: Split the alloc_hw_stats() ops to port and device variants (Kamal Heib) [1970672] - RDMA/irdma: Store PBL info address a pointer type (Kamal Heib) [1970672] - RDMA/irdma: Use list_last_entry/list_first_entry (Kamal Heib) [1970672] - RDMA/irdma: Use list_move instead of list_del/list_add (Kamal Heib) [1970672] - RDMA/irdma: Fix return error sign from irdma_modify_qp (Kamal Heib) [1970672] - RDMA/irdma: Fix spelling mistake "Allocal" -> "Allocate" (Kamal Heib) [1970672] - RDMA/irdma: remove redundant initialization of variable val (Kamal Heib) [1970672] - RDMA/irdma: remove extraneous indentation on a statement (Kamal Heib) [1970672] - RDMA/irdma: Fix issues with u8 left shift operation (Kamal Heib) [1970672] - RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw (Kamal Heib) [1970672] - RDMA/irdma: Add ABI definitions (Kamal Heib) [1970672] - RDMA/irdma: Add dynamic tracing for CM (Kamal Heib) [1970672] - RDMA/irdma: Add miscellaneous utility definitions (Kamal Heib) [1970672] - RDMA/irdma: Add user/kernel shared libraries (Kamal Heib) [1970672] - RDMA/irdma: Add RoCEv2 UD OP support (Kamal Heib) [1970672] - RDMA/irdma: Implement device supported verb APIs (Kamal Heib) [1970672] - RDMA/irdma: Add PBLE resource manager (Kamal Heib) [1970672] - RDMA/irdma: Add connection manager (Kamal Heib) [1970672] - RDMA/irdma: Add QoS definitions (Kamal Heib) [1970672] - RDMA/irdma: Add privileged UDA queue implementation (Kamal Heib) [1970672] - RDMA/irdma: Add HMC backing store setup functions (Kamal Heib) [1970672] - RDMA/irdma: Implement HW Admin Queue OPs (Kamal Heib) [1970672] - RDMA/irdma: Implement device initialization definitions (Kamal Heib) [1970672] - RDMA/irdma: Register auxiliary driver and implement private channel OPs (Kamal Heib) [1970672] - i40e: Register auxiliary devices to provide RDMA (Kamal Heib) [1970672] - i40e: Prep i40e header for aux bus conversion (Kamal Heib) [1970672] - i40e: Replace one-element array with flexible-array member (Kamal Heib) [1970672] - ibmvnic: drop bad optimization in reuse_tx_pools() (Gustavo Walbon) [2028722] - ibmvnic: drop bad optimization in reuse_rx_pools() (Gustavo Walbon) [2028722] - /proc//cmdline: add back the setproctitle() special case (Ian Kent) [1979446] - /proc//cmdline: remove all the special cases (Ian Kent) [1979446] - perf tests vmlinux-kallsyms: Ignore hidden symbols (Michael Petlan) [1903157] - net/sched: sch_ets: don't remove idle classes from the round-robin list (Davide Caratti) [2013073] - net/sched: sch_ets: don't peek at classes beyond 'nbands' (Davide Caratti) [2013073] - net/sched: sch_ets: properly init all active DRR list handles (Davide Caratti) [2013073] - serial: 8250: fix racy uartclk update (Puneet Sethi) [1784121] - serial: 8250: Skip uninitialized TTY port baud rate update (Puneet Sethi) [1784121] - serial: 8250: Discard RTS/DTS setting from clock update method (Puneet Sethi) [1784121] - serial: 8250: Add 8250 port clock update method (Puneet Sethi) [1784121] - serial: 8250_dw: drop bogus uartclk optimisation (Puneet Sethi) [1784121] - serial: 8250_lpss: Enable PSE UART Auto Flow Control (Puneet Sethi) [1784121] - serial: 8250_lpss: Extract dw8250_do_set_termios() for common use (Puneet Sethi) [1784121] - serial: 8250_dw: Fix the trivial typo in the comment (Puneet Sethi) [1784121] - serial: 8250_dw: Re-use temporary variable for of_node (Puneet Sethi) [1784121] - serial: 8250_dw: Drop wrong use of ACPI_PTR() (Puneet Sethi) [1784121] - serial: 8250_lpss: Enable DMA on Intel Elkhart Lake (Puneet Sethi) [1784121] - serial: 8250_dw: Add device HID for new AMD UART controller (Puneet Sethi) [1784121] - serial: 8250_dw: Fix clk-notifier/port suspend deadlock (Puneet Sethi) [1784121] - serial: 8250_dw: Fix common clocks usage race condition (Puneet Sethi) [1784121] - serial: 8250_dw: Pass the same rate to the clk round and set rate methods (Puneet Sethi) [1784121] - serial: 8250_dw: Simplify the ref clock rate setting procedure (Puneet Sethi) [1784121] - serial: 8250_dw: Use devm_clk_get_optional() to get the input clock (Puneet Sethi) [1784121] - serial: 8250_dw: Avoid double error messaging when IRQ absent (Puneet Sethi) [1784121] - serial: 8250_dw: switch to use 8250_dwlib library (Puneet Sethi) [1784121] - serial: 8250_dw: use pointer to uart local variable (Puneet Sethi) [1784121] - serial: 8250_dw: Use a unified new dev variable in remove (Puneet Sethi) [1784121] - serial: 8250_dw: always set baud rate in dw8250_set_termios (Puneet Sethi) [1784121] - serial: 8250_dw: add fractional divisor support (Puneet Sethi) [1784121] - serial: 8250_dw: Introduce IO accessors to extended registers (Puneet Sethi) [1784121] - dmaengine: dw: Program xBAR hardware for Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: Make it dependent to HAS_IOMEM (Puneet Sethi) [1784121] - dmaengine dw: Revert "dmaengine: dw: Enable runtime PM" (Puneet Sethi) [1784121] - dmaengine: dw: Enable runtime PM (Puneet Sethi) [1784121] - dmaengine: dw: Add DMA-channels mask cell support (Puneet Sethi) [1784121] - dmaengine: dw: Ignore burst setting for memory peripherals (Puneet Sethi) [1784121] - dmaengine: dw: Discard dlen from the dev-to-mem xfer width calculation (Puneet Sethi) [1784121] - dmaengine: dw: Activate FIFO-mode for memory peripherals only (Puneet Sethi) [1784121] - dmaengine: dw: Initialize max_sg_burst capability (Puneet Sethi) [1784121] - dmaengine: dw: Introduce max burst length hw config (Puneet Sethi) [1784121] - dmaengine: dw: Initialize min and max burst DMA device capability (Puneet Sethi) [1784121] - dmaengine: dw: Set DMA device max segment size parameter (Puneet Sethi) [1784121] - dmaengine: dw: Take HC_LLP flag into account for noLLP auto-config (Puneet Sethi) [1784121] - dmaengine: Introduce DMA-device device_caps callback (Puneet Sethi) [1784121] - dmaengine: Introduce max SG burst capability (Puneet Sethi) [1784121] - dmaengine: Introduce min burst length capability (Puneet Sethi) [1784121] - dmaengine: dw: Initialize channel before each transfer (Puneet Sethi) [1784121] - dmaengine: dw: Replace 'objs' by 'y' (Puneet Sethi) [1784121] - dmaengine: dw: Register ACPI DMA controller for PCI that has companion (Puneet Sethi) [1784121] - dmaengine: dw: platform: Mark 'hclk' clock optional (Puneet Sethi) [1784121] - dmaengine: dw: platform: Split OF helpers to separate module (Puneet Sethi) [1784121] - dmaengine: dw: platform: Split ACPI helpers to separate module (Puneet Sethi) [1784121] - dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Switch to acpi_dma_controller_register() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Use devm_platform_ioremap_resource() (Puneet Sethi) [1784121] - dmaengine: dw: platform: Enable iDMA 32-bit on Intel Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: platform: Use struct dw_dma_chip_pdata (Puneet Sethi) [1784121] - dmaengine: dw: Export struct dw_dma_chip_pdata for wider use (Puneet Sethi) [1784121] - dmaengine: dw: Update Intel Elkhart Lake Service Engine acronym (Puneet Sethi) [1784121] - dmaengine: dw: Enable iDMA 32-bit on Intel Elkhart Lake (Puneet Sethi) [1784121] - dmaengine: dw: Distinguish ->remove() between DW and iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: convert to SPDX identifiers (Puneet Sethi) [1784121] - dmaengine: dw: Don't pollute CTL_LO on iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: Reset DRAIN bit when resume the channel (Puneet Sethi) [1784121] - dmaengine: dw: Split DW and iDMA 32-bit operations (Puneet Sethi) [1784121] - dmaengine: dw: Remove unused internal property (Puneet Sethi) [1784121] - dmaengine: dw: Add missed multi-block support for iDMA 32-bit (Puneet Sethi) [1784121] - dmaengine: dw: drop useless LIST_HEAD (Puneet Sethi) [1784121] - dmaengine: dw: Fix FIFO size for Intel Merrifield (Puneet Sethi) [1784121] - dmaengine: dw-dmac: implement dma protection control setting (Puneet Sethi) [1784121] - dmaengine: dw: remove dma_slave_config direction usage (Puneet Sethi) [1784121] - dmaengine: dw: Add alternative ACPI HIDs for Cherry Trail DMA controllers (Puneet Sethi) [1784121] - perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number (Mark Langsdorf) [1997732] - drivers/perf: Simplify EVENT ATTR macro in SMMU PMU driver (Mark Langsdorf) [1997732] - perf/smmuv3: Don't trample existing events with global filter (Mark Langsdorf) [1997732] - perf: qcom: Remove redundant dev_err call in qcom_l3_cache_pmu_probe() (Mark Langsdorf) [1997732] - perf: arm_spe: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: xgene_pmu: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: qcom: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - perf: arm_pmu: use DEVICE_ATTR_RO macro (Mark Langsdorf) [1997732] - drivers/perf: arm-cci: Fix checkpatch spacing error (Mark Langsdorf) [1997732] - drivers/perf: arm-cmn: Add space after ',' (Mark Langsdorf) [1997732] - drivers/perf: arm_pmu: Fix some coding style issues (Mark Langsdorf) [1997732] - drivers/perf: arm_spe_pmu: Fix some coding style issues (Mark Langsdorf) [1997732] - drivers/perf: Remove redundant dev_err call in tx2_uncore_pmu_init_dev() (Mark Langsdorf) [1997732] - perf/arm-smmuv3: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-dsu: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-dmc620: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-cmn: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-ccn: Use irq_set_affinity() (Mark Langsdorf) [1997732] - perf/arm-ccn: Clean up CPU hotplug handling (Mark Langsdorf) [1997732] - perf/arm-cci: Remove broken race mitigation (Mark Langsdorf) [1997732] - genirq: Export affinity setter for modules (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Clean up with dev_printk (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Fix error handling (Mark Langsdorf) [1997732] - perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors (Mark Langsdorf) [1997732] - drivers/perf: Simplify the SMMUv3 PMU event attributes (Mark Langsdorf) [1997732] - perf: Constify static struct attribute_group (Mark Langsdorf) [1997732] - perf: qcom: Constify static struct attribute_group (Mark Langsdorf) [1997732] - drivers/perf: Add support for ARMv8.3-SPE (Mark Langsdorf) [1997732] - driver/perf: Remove ARM_SMMU_V3_PMU dependency on ARM_SMMU_V3 (Mark Langsdorf) [1997732] - perf/smmuv3: Support sysfs identifier file (Mark Langsdorf) [1997732] - perf: remove duplicate check on fwnode (Mark Langsdorf) [1997732] - redhat/configs: enable ARM_DMC620_PMU memory controller perf counters (Mark Langsdorf) [1997732] - perf/arm_dmc620_pmu: Fix error return code in dmc620_pmu_device_probe() (Mark Langsdorf) [1997732] - drivers/perf: Prevent forced unbinding of ARM_DMC620_PMU drivers (Mark Langsdorf) [1997732] - driver/perf: Add PMU driver for the ARM DMC-620 memory controller (Mark Langsdorf) [1997732] - drivers/perf: thunderx2_pmu: Fix memory resource error handling (Mark Langsdorf) [1997732] - drivers/perf: xgene_pmu: Fix uninitialized resource struct (Mark Langsdorf) [1997732] - perf: arm_dsu: Support DSU ACPI devices (Mark Langsdorf) [1997732] - perf/smmuv3: To simplify code for ioremap page in pmcg (Mark Langsdorf) [1997732] - drivers/perf: Prevent forced unbinding of PMU drivers (Mark Langsdorf) [1997732] - drivers/perf: Fix kernel panic when rmmod PMU modules during perf sampling (Mark Langsdorf) [1997732] - pmu/smmuv3: Clear IRQ affinity hint on device removal (Mark Langsdorf) [1997732] - drivers/perf: arm_spe_pmu: Avoid duplicate printouts (Mark Langsdorf) [1997732] - drivers/perf: arm_dsu_pmu: Avoid duplicate printouts (Mark Langsdorf) [1997732] - drivers/perf: Open access for CAP_PERFMON privileged process (Mark Langsdorf) [1997732] - perf/smmuv3: Remove the leftover put_cpu() in error path (Mark Langsdorf) [1997732] - perf: arm-ccn: Enable stats for CCN-512 interconnect (Mark Langsdorf) [1997732] - perf/smmuv3: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/arm-cci: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/arm-ccn: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf: xgene: use devm_platform_ioremap_resource() to simplify code (Mark Langsdorf) [1997732] - perf/smmuv3: Validate groups for global filtering (Mark Langsdorf) [1997732] - perf/smmuv3: Validate group size (Mark Langsdorf) [1997732] - perf/smmuv3: Enable HiSilicon Erratum 162001800 quirk (Mark Langsdorf) [1997732] - perf/smmuv3: Add MSI irq support (Mark Langsdorf) [1997732] - perf/smmuv3: Add arm64 smmuv3 pmu driver (Mark Langsdorf) [1997732] - perf: xgene: Remove set but not used variable 'config' (Mark Langsdorf) [1997732] - perf/drivers: Strengthen exclusion checks with PERF_PMU_CAP_NO_EXCLUDE (Mark Langsdorf) [1997732] - For drivers that do not support context exclusion let's advertise the PERF_PMU_CAP_NO_EXCLUDE capability. This ensures that perf will prevent us from handling events where any exclusion flags are set. Let's also remove the now unnecessary check for exclusion flags. (Mark Langsdorf) [1997732] - perf/core, arch/arm: Use PERF_PMU_CAP_NO_EXCLUDE conditionally (Mark Langsdorf) [1997732] - drivers/perf: arm-ccn: Use devm_ioremap_resource() to map memory (Mark Langsdorf) [1997732] - drivers/perf: Initialise return value in armpmu_request_irqs() (Mark Langsdorf) [1997732] - perf/arm-cci: Remove VLA usage (Mark Langsdorf) [1997732] - tools/power turbostat: version 2021.05.04 (Prarit Bhargava) [2030472] - tools/power turbostat: Support "turbostat --hide idle" (Prarit Bhargava) [2030472] - tools/power turbostat: elevate priority of interval mode (Prarit Bhargava) [2030472] - tools/power turbostat: formatting (Prarit Bhargava) [2030472] - tools/power turbostat: rename tcc variables (Prarit Bhargava) [2030472] - tools/power turbostat: save original CPU model (Prarit Bhargava) [2030472] - tools/power turbostat: add TCC Offset support (Prarit Bhargava) [2030472] - tools/power turbostat: Fix Core C6 residency on Atom CPUs (Prarit Bhargava) [2030472] - tools/power turbostat: Print the C-state Pre-wake settings (Prarit Bhargava) [2030472] - tools/power turbostat: unmark non-kernel-doc comment (Prarit Bhargava) [2030472] - tools/power/turbostat: Remove Package C6 Retention on Ice Lake Server (Prarit Bhargava) [2030472] - tools/power turbostat: Fix offset overflow issue in index converting (Prarit Bhargava) [2030472] - tools/power/turbostat: Fix turbostat for AMD Zen CPUs (Prarit Bhargava) [2030472] - Revert "tools/power turbostat: adjust for temperature offset" (Prarit Bhargava) [2030472] - tools/power turbostat: Fix DRAM Energy Unit on SKX (Prarit Bhargava) [2030472] - tools/power turbostat: print microcode patch level (Prarit Bhargava) [2030472] - tools/power turbostat: add built-in-counter for IPC -- Instructions per Cycle (Prarit Bhargava) [2030472]- [s390] virtio: write back F_VERSION_1 before validate (Claudio Imbrenda) [2026234] - cpufreq: powernv: Fix init_chip_info initialization in numa=off (Steve Best) [2017665] - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() (Guillaume Nault) [2016210] - tipc: fix size validations for the MSG_CRYPTO type (Xin Long) [2020507] {CVE-2021-43267} - tipc: increase timeout in tipc_sk_enqueue() (Xin Long) [2020401] - Revert "tipc: Return the correct errno code" (Xin Long) [2020401] - tipc: fix an use-after-free issue in tipc_recvmsg (Xin Long) [2020401] - tipc: keep the skb in rcv queue until the whole data is read (Xin Long) [2020401] - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 (Steve Best) [2025400] - PCI: Increase D3 delay for AMD Renoir/Cezanne XHCI (Myron Stowe) [2028298] - media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors (Dean Nelson) [1921871] {CVE-2020-0404} - sctp: fix transport encap_port update in sctp_vtag_verify (Xin Long) [2020393] - sctp: account stream padding length for reconf chunk (Xin Long) [2020393] - sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb (Xin Long) [2020393] - net: cipso: fix warnings in netlbl_cipsov4_add_std (Balazs Nemeth) [2026691] - net/sched: act_ct: fix err check for nf_conntrack_confirm (Davide Caratti) [2018109] - net/sched: act_ct: Fix byte count on fragmented packets (Davide Caratti) [2018109] - mqprio: Correct stats in mqprio_dump_class_stats(). (Davide Caratti) [2018109] - net_sched: fix NULL deref in fifo_set_limit() (Davide Caratti) [2018109] - net: sched: flower: protect fl_walk() with rcu (Davide Caratti) [2018109] - fq_codel: reject silly quantum parameters (Davide Caratti) [2018109] - net: sched: Fix qdisc_rate_table refcount leak when get tcf_block failed (Davide Caratti) [2018109] - sch_htb: Fix inconsistency when leaf qdisc creation fails (Davide Caratti) [2018109] - net: sched: fix lockdep_set_class() typo error for sch->seqlock (Davide Caratti) [2018109] - net: sched: cls_api: Fix the the wrong parameter (Davide Caratti) [2018109] - net/sched: act_vlan: Fix modify to allow 0 (Davide Caratti) [2018109] - net-sysfs: initialize uid and gid before calling net_ns_get_ownership (Xin Long) [1979820] - net: fix sysfs permssions when device changes network namespace (Xin Long) [1979820] - net-sysfs: add queue_change_owner() (Xin Long) [1979820] - net-sysfs: add netdev_change_owner() (Xin Long) [1979820] - drivers/base/power: add dpm_sysfs_change_owner() (Xin Long) [1979820] - device: add device_change_owner() (Xin Long) [1979820] - sysfs: Fix regression when adding a file to an existing group (Xin Long) [1979820] - bridge: make sure objects belong to container's owner (Xin Long) [1979820] - net: create reusable function for getting ownership info of sysfs inodes (Xin Long) [1979820] - net-sysfs: make sure objects belong to container's owner (Xin Long) [1979820] - net-sysfs: require net admin in the init ns for setting tx_maxrate (Xin Long) [1979820] - driver core: set up ownership of class devices in sysfs (Xin Long) [1979820] - kobject: kset_create_and_add() - fetch ownership info from parent (Xin Long) [1979820] - sysfs, kobject: allow creating kobject belonging to arbitrary users (Xin Long) [1979820] - NFSv42: Fix pagecache invalidation after COPY/CLONE (Benjamin Coddington) [2017166] - SUNRPC: fix sign error causing rpcsec_gss drops (Benjamin Coddington) [2017166] - nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero (Benjamin Coddington) [2017166] - nfsd: fix error handling of register_pernet_subsys() in init_nfsd() (Benjamin Coddington) [2017166] - SUNRPC: Simplify socket shutdown when not reusing TCP ports (Benjamin Coddington) [2017166] - nfsd4: Fix forced-expiry locking (Benjamin Coddington) [2017166] - SUNRPC/xprtrdma: Fix reconnection locking (Benjamin Coddington) [2017166] - NFSv4/pnfs: The layout barrier indicate a minimal value for the seqid (Benjamin Coddington) [2017166] - NFSv4/pNFS: Always allow update of a zero valued layout barrier (Benjamin Coddington) [2017166] - NFSv4/pNFS: Fix a layoutget livelock loop (Benjamin Coddington) [2017166] - xprtrdma: Put rpcrdma_reps before waking the tear-down completion (Benjamin Coddington) [2017166] - NFSD: Fix TP_printk() format specifier in nfsd_clid_class (Benjamin Coddington) [2017166] - NFSv42: Copy offload should update the file size when appropriate (Benjamin Coddington) [2017166] - SUNRPC: Fix XPT_BUSY flag leakage in svc_handle_xprt()... (Benjamin Coddington) [2017166] - NFSv4/pNFS: Return an error if _nfs4_pnfs_v3_ds_connect can't load NFSv3 (Benjamin Coddington) [2017166] - NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times (Benjamin Coddington) [2017166] - NFSv4/pnfs: Clean up layout get on open (Benjamin Coddington) [2017166] - NFSv4/pnfs: Fix layoutget behaviour after invalidation (Benjamin Coddington) [2017166] - NFSv4/pnfs: Fix the layout barrier update (Benjamin Coddington) [2017166] - NFSD: Prevent a possible oops in the nfs_dirent() tracepoint (Benjamin Coddington) [2017166] - nfsd: remove redundant assignment to pointer 'this' (Benjamin Coddington) [2017166] - nfs_common: fix doc warning (Benjamin Coddington) [2017166] - nfsd4: Expose the callback address and state of each NFS4 client (Benjamin Coddington) [2017166] - xprtrdma: Fix spelling mistakes (Benjamin Coddington) [2017166] - NFS: nfs_find_open_context() may only select open files (Benjamin Coddington) [2017166] - SUNRPC: Should wake up the privileged task firstly. (Benjamin Coddington) [2017166] - SUNRPC: Fix the batch tasks count wraparound. (Benjamin Coddington) [2017166] - nfs: update has_sec_mnt_opts after cloning lsm options from parent (Benjamin Coddington) [2017166] - nfs: fix acl memory leak of posix_acl_create() (Benjamin Coddington) [2017166] - rpc: remove redundant initialization of variable status (Benjamin Coddington) [2017166] - NFSv4: Initialise connection to the server in nfs4_alloc_client() (Benjamin Coddington) [2017166] - nfsd: Prevent truncation of an unlinked inode from blocking access to its directory (Benjamin Coddington) [2017166] - xprtrdma: Fix a maybe-uninitialized compiler warning (Benjamin Coddington) [2017166] - NFSv4: Fix second deadlock in nfs4_evict_inode() (Benjamin Coddington) [2017166] - NFSv4: Fix deadlock between nfs4_evict_inode() and nfs4_opendata_get_inode() (Benjamin Coddington) [2017166] - NFS: FMODE_READ and friends are C macros, not enum types (Benjamin Coddington) [2017166] - NFS: Fix a potential NULL dereference in nfs_get_client() (Benjamin Coddington) [2017166] - NFS: Fix use-after-free in nfs4_init_client() (Benjamin Coddington) [2017166] - NFSv4: nfs4_proc_set_acl needs to restore NFS_CAP_UIDGID_NOMAP on error. (Benjamin Coddington) [2017166] - nfs: Remove trailing semicolon in macros (Benjamin Coddington) [2017166] - NFSv4: Fix v4.0/v4.1 SEEK_DATA return -ENOTSUPP when set NFS_V4_2 config (Benjamin Coddington) [2017166] - NFS: Clean up reset of the mirror accounting variables (Benjamin Coddington) [2017166] - NFS: Don't corrupt the value of pg_bytes_written in nfs_do_recoalesce() (Benjamin Coddington) [2017166] - NFS: Fix an Oopsable condition in __nfs_pageio_add_request() (Benjamin Coddington) [2017166] - SUNRPC: More fixes for backlog congestion (Benjamin Coddington) [2017166] - SUNRPC: Fix Oops in xs_tcp_send_request() when transport is disconnected (Benjamin Coddington) [2017166] - NFSv4: Fix a NULL pointer dereference in pnfs_mark_matching_lsegs_return() (Benjamin Coddington) [2017166] - SUNRPC in case of backlog, hand free slots directly to waiting task (Benjamin Coddington) [2017166] - pNFS/NFSv4: Remove redundant initialization of 'rd_size' (Benjamin Coddington) [2017166] - NFS: fix an incorrect limit in filelayout_decode_layout() (Benjamin Coddington) [2017166] - fs/nfs: Use fatal_signal_pending instead of signal_pending (Benjamin Coddington) [2017166] - xprtrdma: Fix a NULL dereference in frwr_unmap_sync() (Benjamin Coddington) [2017166] - sunrpc: Fix misplaced barrier in call_decode (Benjamin Coddington) [2017166] - SUNRPC: set rq_page_end differently (Benjamin Coddington) [2017166] - xprtrdma: Move fr_mr field to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move the Work Request union to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move fr_linv_done field to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move cqe to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Move fr_cid to struct rpcrdma_mr (Benjamin Coddington) [2017166] - xprtrdma: Remove the RPC/RDMA QP event handler (Benjamin Coddington) [2017166] - xprtrdma: Add tracepoints showing FastReg WRs and remote invalidation (Benjamin Coddington) [2017166] - xprtrdma: Avoid Send Queue wrapping (Benjamin Coddington) [2017166] - xprtrdma: Do not wake RPC consumer on a failed LocalInv (Benjamin Coddington) [2017166] - xprtrdma: Do not recycle MR after FastReg/LocalInv flushes (Benjamin Coddington) [2017166] - xprtrdma: Clarify use of barrier in frwr_wc_localinv_done() (Benjamin Coddington) [2017166] - xprtrdma: Rename frwr_release_mr() (Benjamin Coddington) [2017166] - xprtrdma: rpcrdma_mr_pop() already does list_del_init() (Benjamin Coddington) [2017166] - xprtrdma: Delete rpcrdma_recv_buffer_put() (Benjamin Coddington) [2017166] - xprtrdma: Fix cwnd update ordering (Benjamin Coddington) [2017166] - xprtrdma: Improve locking around rpcrdma_rep creation (Benjamin Coddington) [2017166] - xprtrdma: Improve commentary around rpcrdma_reps_unmap() (Benjamin Coddington) [2017166] - xprtrdma: Improve locking around rpcrdma_rep destruction (Benjamin Coddington) [2017166] - xprtrdma: Put flushed Receives on free list instead of destroying them (Benjamin Coddington) [2017166] - xprtrdma: Do not refresh Receive Queue while it is draining (Benjamin Coddington) [2017166] - xprtrdma: Avoid Receive Queue wrapping (Benjamin Coddington) [2017166] - SUNRPC: fix ternary sign expansion bug in tracing (Benjamin Coddington) [2017166] - nfsd: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - nfsd: reshuffle some code (Benjamin Coddington) [2017166] - nfsd: track filehandle aliasing in nfs4_files (Benjamin Coddington) [2017166] - nfsd: hash nfs4_files by inode number (Benjamin Coddington) [2017166] - NFSv4.1: Simplify layout return in pnfs_layout_process() (Benjamin Coddington) [2017166] - NFSv4: Don't discard segments marked for return in _pnfs_return_layout() (Benjamin Coddington) [2017166] - nfsd: ensure new clients break delegations (Benjamin Coddington) [2017166] - NFS: Don't discard pNFS layout segments that are marked for return (Benjamin Coddington) [2017166] - NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting (Benjamin Coddington) [2017166] - nfsd: remove unused function (Benjamin Coddington) [2017166] - svcrdma: Pass a useful error code to the send_err tracepoint (Benjamin Coddington) [2017166] - svcrdma: Rename goto labels in svc_rdma_sendto() (Benjamin Coddington) [2017166] - svcrdma: Don't leak send_ctxt on Send errors (Benjamin Coddington) [2017166] - SUNRPC: Remove trace_xprt_transmit_queued (Benjamin Coddington) [2017166] - SUNRPC: Add tracepoint that fires when an RPC is retransmitted (Benjamin Coddington) [2017166] - SUNRPC: Move fault injection call sites (Benjamin Coddington) [2017166] - pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() (Benjamin Coddington) [2017166] - NFSv4: Catch and trace server filehandle encoding errors (Benjamin Coddington) [2017166] - NFSv4: Convert nfs_xdr_status tracepoint to an event class (Benjamin Coddington) [2017166] - NFSv4: Add tracing for COMPOUND errors (Benjamin Coddington) [2017166] - NFSv4: Don't modify the change attribute cached in the inode (Benjamin Coddington) [2017166] - NFSv4: Fix value of decode_fsinfo_maxsz (Benjamin Coddington) [2017166] - NFS: Fix up revalidation of space used (Benjamin Coddington) [2017166] - NFS: NFS_INO_REVAL_PAGECACHE should mark the change attribute invalid (Benjamin Coddington) [2017166] - NFS: Mask out unsupported attributes in nfs_getattr() (Benjamin Coddington) [2017166] - NFS: Fix up inode cache tracing (Benjamin Coddington) [2017166] - NFS: Deal correctly with attribute generation counter overflow (Benjamin Coddington) [2017166] - NFSv4.2: Always flush out writes in nfs42_proc_fallocate() (Benjamin Coddington) [2017166] - NFS: Fix attribute bitmask in _nfs42_proc_fallocate() (Benjamin Coddington) [2017166] - NFS: nfs4_bitmask_adjust() must not change the server global bitmasks (Benjamin Coddington) [2017166] - NFSD: Use DEFINE_SPINLOCK() for spinlock (Benjamin Coddington) [2017166] - sunrpc: Remove unused function ip_map_lookup (Benjamin Coddington) [2017166] - NFS: Fix fscache invalidation in nfs_set_cache_invalid() (Benjamin Coddington) [2017166] - SUNRPC: Ensure the transport backchannel association (Benjamin Coddington) [2017166] - nfs: hornor timeo and retrans option when mounting NFSv3 (Benjamin Coddington) [2017166] - sunrpc: honor rpc_task's timeout value in rpcb_create() (Benjamin Coddington) [2017166] - nfs: Fix a typo in the file nfs42xattr.c (Benjamin Coddington) [2017166] - NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds (Benjamin Coddington) [2017166] - NFS: Fix up incorrect documentation (Benjamin Coddington) [2017166] - NFSv4: Simplify nfs4_retry_setlk() (Benjamin Coddington) [2017166] - UAPI: nfsfh.h: Replace one-element array with flexible-array member (Benjamin Coddington) [2017166] - svcrdma: Clean up dto_q critical section in svc_rdma_recvfrom() (Benjamin Coddington) [2017166] - svcrdma: Remove svc_rdma_recv_ctxt::rc_pages and ::rc_arg (Benjamin Coddington) [2017166] - svcrdma: Remove sc_read_complete_q (Benjamin Coddington) [2017166] - svcrdma: Single-stage RDMA Read (Benjamin Coddington) [2017166] - SUNRPC: Move svc_xprt_received() call sites (Benjamin Coddington) [2017166] - SUNRPC: Export svc_xprt_received() (Benjamin Coddington) [2017166] - svcrdma: Retain the page backing rq_res.head[0].iov_base (Benjamin Coddington) [2017166] - svcrdma: Remove unused sc_pages field (Benjamin Coddington) [2017166] - svcrdma: Normalize Send page handling (Benjamin Coddington) [2017166] - svcrdma: Add a "deferred close" helper (Benjamin Coddington) [2017166] - svcrdma: Maintain a Receive water mark (Benjamin Coddington) [2017166] - svcrdma: Use svc_rdma_refresh_recvs() in wc_receive (Benjamin Coddington) [2017166] - svcrdma: Add a batch Receive posting mechanism (Benjamin Coddington) [2017166] - svcrdma: Remove stale comment for svc_rdma_wc_receive() (Benjamin Coddington) [2017166] - svcrdma: Provide an explanatory comment in CMA event handler (Benjamin Coddington) [2017166] - svcrdma: RPCDBG_FACILITY is no longer used (Benjamin Coddington) [2017166] - nfsd: don't ignore high bits of copy count (Benjamin Coddington) [2017166] - nfsd: COPY with length 0 should copy to end of file (Benjamin Coddington) [2017166] - nfsd: Fix typo "accesible" (Benjamin Coddington) [2017166] - nfsd: Ensure knfsd shuts down when the "nfsd" pseudofs is unmounted (Benjamin Coddington) [2017166] - nfsd: Log client tracking type log message as info instead of warning (Benjamin Coddington) [2017166] - nfsd: helper for laundromat expiry calculations (Benjamin Coddington) [2017166] - NFSD: Clean up NFSDDBG_FACILITY macro (Benjamin Coddington) [2017166] - NFSD: Add a tracepoint to record directory entry encoding (Benjamin Coddington) [2017166] - rpc: fix NULL dereference on kmalloc failure (Benjamin Coddington) [2017166] - sunrpc: fix refcount leak for rpc auth modules (Benjamin Coddington) [2017166] - NFSD: Repair misuse of sv_lock in 5.10.16-rt30. (Benjamin Coddington) [2017166] - svcrdma: disable timeouts on rdma backchannel (Benjamin Coddington) [2017166] - svcrdma: Hold private mutex while invoking rdma_accept() (Benjamin Coddington) [2017166] - NFS: Don't set NFS_INO_INVALID_XATTR if there is no xattr cache (Benjamin Coddington) [2017166] - NFS: Always clear an invalid mapping when attempting a buffered write (Benjamin Coddington) [2017166] - NFS: Optimise sparse writes past the end of file (Benjamin Coddington) [2017166] - NFS: Fix documenting comment for nfs_revalidate_file_size() (Benjamin Coddington) [2017166] - rpcrdma: Fix comments about reverse-direction operation (Benjamin Coddington) [2017166] - xprtrdma: Refactor invocations of offset_in_page() (Benjamin Coddington) [2017166] - xprtrdma: Simplify rpcrdma_convert_kvec() and frwr_map() (Benjamin Coddington) [2017166] - xprtrdma: Remove FMR support in rpcrdma_convert_iovs() (Benjamin Coddington) [2017166] - NFS: Fix fscache read from NFS after cache error (Benjamin Coddington) [2017166] - NFS: Ensure nfs_readpage returns promptly when internal error occurs (Benjamin Coddington) [2017166] - NFS: Remove unnecessary inode parameter from nfs_pageio_complete_read() (Benjamin Coddington) [2017166] - NFS: Add nfs_pageio_complete_read() and remove nfs_readpage_async() (Benjamin Coddington) [2017166] - NFS: Call readpage_async_filler() from nfs_readpage_async() (Benjamin Coddington) [2017166] - NFS: Refactor nfs_readpage() and nfs_readpage_async() to use nfs_readdesc (Benjamin Coddington) [2017166] - NFS: In nfs_readpage() only increment NFSIOS_READPAGES when read succeeds (Benjamin Coddington) [2017166] - NFS: Clean up nfs_readpage() and nfs_readpages() (Benjamin Coddington) [2017166] - nfs: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - SUNRPC: Fix fall-through warnings for Clang (Benjamin Coddington) [2017166] - net: sunrpc: xprtsock.c: Corrected few spellings ,in comments (Benjamin Coddington) [2017166] - SUNRPC: correct error code comment in xs_tcp_setup_socket() (Benjamin Coddington) [2017166] - nfsd: cstate->session->se_client -> cstate->clp (Benjamin Coddington) [2017166] - nfsd: simplify nfsd4_check_open_reclaim (Benjamin Coddington) [2017166] - nfsd: remove unused set_client argument (Benjamin Coddington) [2017166] - nfs/blocklayout: remove cruft in bl_alloc_init_bio (Benjamin Coddington) [2017166] - nfsd: refactor set_client (Benjamin Coddington) [2017166] - nfsd: rename lookup_clientid->set_client (Benjamin Coddington) [2017166] - nfsd: simplify nfsd_renew (Benjamin Coddington) [2017166] - nfsd: simplify process_lock (Benjamin Coddington) [2017166] - nfsd4: simplify process_lookup1 (Benjamin Coddington) [2017166] - SUNRPC: Correct a comment (Benjamin Coddington) [2017166] - svcrdma: DMA-sync the receive buffer in svc_rdma_recvfrom() (Benjamin Coddington) [2017166] - svcrdma: Restore read and write stats (Benjamin Coddington) [2017166] - svcrdma: Convert rdma_stat_sq_starve to a per-CPU counter (Benjamin Coddington) [2017166] - svcrdma: Convert rdma_stat_recv to a per-CPU counter (Benjamin Coddington) [2017166] - svcrdma: Refactor svc_rdma_init() and svc_rdma_clean_up() (Benjamin Coddington) [2017166] - nfsd: remove fault injection code (Benjamin Coddington) [2017166] - SUNRPC: Fix a NULL pointer deref in trace_svc_stats_latency() (Benjamin Coddington) [2017166] - SUNRPC: Display RPC procedure names instead of proc numbers (Benjamin Coddington) [2017166] - SUNRPC: Make trace_svc_process() display the RPC procedure symbolically (Benjamin Coddington) [2017166] - EDAC/mce_amd: Do not load edac_mce_amd module on guests (Aristeu Rozanski) [2000776] - tracing: Map all PIDs to command lines (Jerome Marchand) [1913211] - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration() (Rafael Aquini) [2016441] - mm: mark the OOM reaper thread as freezable (Rafael Aquini) [2016441] - mm/page_isolation: guard against possible putback unisolated page (Rafael Aquini) [2016441] - mm/page_isolation: fix potential missing call to unset_migratetype_isolate() (Rafael Aquini) [2016441] - mm/page_alloc: use accumulated load when building node fallback list (Rafael Aquini) [2016441] - mm/vmalloc: do not adjust the search size for alignment overhead (Rafael Aquini) [2016441] - mm/vmalloc: make sure to dump unpurged areas in /proc/vmallocinfo (Rafael Aquini) [2016441] - Revert "mm, slub: consider rest of partial list if acquire_slab() fails" (Rafael Aquini) [2016441] - mm, slub: consider rest of partial list if acquire_slab() fails (Rafael Aquini) [2016441] - mm, slub: fix incorrect memcg slab count for bulk free (Rafael Aquini) [2016441] - mm, slub: fix mismatch between reconstructed freelist depth and cnt (Rafael Aquini) [2016441] - slub: add back check for free nonslab objects (Rafael Aquini) [2016441] - slub: fix kmalloc_pagealloc_invalid_free unit test (Rafael Aquini) [2016441] - slub: fix unreclaimable slab stat for bulk free (Rafael Aquini) [2016441] - mm/slub: add taint after the errors are printed (Rafael Aquini) [2016441] - mm/slab.c: remove useless lines in enable_cpucache() (Rafael Aquini) [2016441] - kasan: fix tag for large allocations when using CONFIG_SLAB (Rafael Aquini) [2016441] - mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled (Rafael Aquini) [2016441] - mm: memcontrol: set the correct memcg swappiness restriction (Rafael Aquini) [2016441] - memcg: replace in_interrupt() by !in_task() in active_memcg() (Rafael Aquini) [2016441] - huge tmpfs: fix split_huge_page() after FALLOC_FL_KEEP_SIZE (Rafael Aquini) [2016441] - huge tmpfs: fix fallocate(vanilla) advance over huge pages (Rafael Aquini) [2016441] - huge tmpfs: revert shmem's use of transhuge_vma_enabled() (Rafael Aquini) [2016441] - mm/huge_memory.c: remove unnecessary tlb_remove_page_size() for huge zero pmd (Rafael Aquini) [2016441] - mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() (Rafael Aquini) [2016441] - mm/huge_memory.c: use page->deferred_list (Rafael Aquini) [2016441] - mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK (Rafael Aquini) [2016441] - mm/thp: decrease nr_thps in file's mapping on THP split (Rafael Aquini) [2016441] - mm/thp: fix page_address_in_vma() on file THP tails (Rafael Aquini) [2016441] - mm/thp: try_to_unmap() use TTU_SYNC for safe splitting (Rafael Aquini) [2016441] - mm/thp: make is_huge_zero_pmd() safe and quicker (Rafael Aquini) [2016441] - mm/thp: fix __split_huge_pmd_locked() on shmem migration entry (Rafael Aquini) [2016441] - mm/truncate: fix truncation for pages of arbitrary size (Rafael Aquini) [2016441] - mm/rmap: fix potential pte_unmap on an not mapped pte (Rafael Aquini) [2016441] - mm/rmap: correct obsolete comment of page_get_anon_vma() (Rafael Aquini) [2016441] - mm/rmap: use page_not_mapped in try_to_unmap() (Rafael Aquini) [2016441] - mm/rmap: fix obsolete comment in __page_check_anon_rmap() (Rafael Aquini) [2016441] - mm/rmap: remove unneeded semicolon in page_not_mapped() (Rafael Aquini) [2016441] - mm/rmap: correct some obsolete comments of anon_vma (Rafael Aquini) [2016441] - mm/pgtable-generic.c: optimize the VM_BUG_ON condition in pmdp_huge_clear_flush() (Rafael Aquini) [2016441] - mm/pgtable-generic.c: simplify the VM_BUG_ON condition in pmdp_huge_clear_flush() (Rafael Aquini) [2016441] - mm: prevent a warning when casting void* -> enum (Rafael Aquini) [2016441] - mm/hugeltb: simplify the return code of __vma_reservation_common() (Rafael Aquini) [2016441] - mm,thp,shmem: make khugepaged obey tmpfs mount flags (Rafael Aquini) [2016441] - mm/vma: make is_vma_temporary_stack() available for general use (Rafael Aquini) [2016441] - mm/vma: make vma_is_foreign() available for general use (Rafael Aquini) [2016441] - hugetlb: fix copy_huge_page_from_user contig page struct assumption (Rafael Aquini) [2016441] - mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM (Rafael Aquini) [2016441] - mm/sparse.c: use __nr_to_section(section_nr) to get mem_section (Rafael Aquini) [2016441] - mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment (Rafael Aquini) [2016441] - mm/huge_memory.c: make __thp_get_unmapped_area static (Rafael Aquini) [2016441] - mm/mempolicy.c: fix checking unmapped holes for mbind (Rafael Aquini) [2016441] - s390/mm: fix VMA and page table handling code in storage key handling functions (Rafael Aquini) [2016441] - s390/mm: validate VMA in PGSTE manipulation functions (Rafael Aquini) [2016441] - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() (Rafael Aquini) [2016441] - s390/gmap: validate VMA in __gmap_zap() (Rafael Aquini) [2016441] - s390: mm: Fix secure storage access exception handling (Rafael Aquini) [2016441] - powerpc/numa: Consider the max NUMA node for migratable LPAR (Rafael Aquini) [2016441] - powerpc/64s: Fix pte update for kernel memory on radix (Rafael Aquini) [2016441] - powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S (Rafael Aquini) [2016441] - powerpc/book3s64/pkeys: Use PVR check instead of cpu feature (Rafael Aquini) [2016441] - powerpc/mm: Fix reporting of kernel execute faults on the 8xx (Rafael Aquini) [2016441] - powerpc/mm/hash: Handle user access of kernel address gracefully (Rafael Aquini) [2016441] - powerpc/mm: Add missing tracepoint for tlbie (Rafael Aquini) [2016441] - arm64: hugetlb: avoid potential NULL dereference (Rafael Aquini) [2016441] - arm64/numa: Report correct memblock range for the dummy node (Rafael Aquini) [2016441] - x86/pat: Pass valid address to sanitize_phys() (Rafael Aquini) [2016441] - x86/mm: Check for pfn instead of page in vmalloc_sync_one() (Rafael Aquini) [2016441] - x86/mm/tlb: Revert "x86/mm: Align TLB invalidation info" (Rafael Aquini) [2016441] - x86/mm: Report which part of kernel image is freed (Rafael Aquini) [2016441] - mm: make free_reserved_area() return "const char *" (Rafael Aquini) [2016441] - x86/mm/init: Remove freed kernel image areas from alias mapping (Rafael Aquini) [2016441] - x86/mm/init: Add helper for freeing kernel image pages (Rafael Aquini) [2016441] - x86/mm/init: Pass unconverted symbol addresses to free_init_pages() (Rafael Aquini) [2016441] - x86/mm: Add TLB purge to free pmd/pte page interfaces (Rafael Aquini) [2016441] - mm/mmu_notifier: Make drm-backport/linux/mmu_notifier.h use RH_MMU_NOTIFIER_V2 (Waiman Long) [1946746] - mm/migrate: fix migrate_pgmap_owner w/o CONFIG_MMU_NOTIFIER (Waiman Long) [1946746] - mm/notifier: add migration invalidation type (Waiman Long) [1946746] - mm/migrate: add a flags parameter to migrate_vma (Waiman Long) [1946746] - mm/mmu_notifiers: ensure range_end() is paired with range_start() (Waiman Long) [1946746] - mm: track mmu notifiers in fs_reclaim_acquire/release (Waiman Long) [1946746] - mm: mmu_notifier: fix and extend kerneldoc (Waiman Long) [1946746] - mm/mmu_notifier: silence PROVE_RCU_LIST warnings (Waiman Long) [1946746] - mm/mmu_notifiers: Use 'interval_sub' as the variable for mmu_interval_notifier (Waiman Long) [1946746] - mm/mmu_notifiers: Use 'subscription' as the variable name for mmu_notifier (Waiman Long) [1946746] - mm/mmu_notifier: Rename struct mmu_notifier_mm to mmu_notifier_subscriptions (Waiman Long) [1946746] - mm, notifier: Catch sleeping/blocking for !blockable (Waiman Long) [1946746] - mm/mmu_notifiers: use the right return code for WARN_ON (Waiman Long) [1946746] - mm/mmu_notifiers: check if mmu notifier callbacks are allowed to fail (Waiman Long) [1946746] - mm/mmu_notifier: mmu_notifier_range_update_to_read_only() helper (Waiman Long) [1946746] - mm/mmu_notifier: pass down vma and reasons why mmu notifier is happening (Waiman Long) [1946746] - mm/mmu_notifier: use structure for invalidate_range_start/end callback (Waiman Long) [1946746] - Revert "mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks" (Waiman Long) [1946746] - mm, mmu_notifier: be explicit about range invalition non-blocking mode (Waiman Long) [1946746] - mm/oom_kill.c: clean up oom_reap_task_mm() (Waiman Long) [1946746] - mm, oom: distinguish blockable mode for mmu notifiers (Waiman Long) [1946746] - mm/mmu_notifier: helper to test if a range invalidation is blockable (Waiman Long) [1946746] - mm/mmu_notifier: Relocate mmu_notifier_put() (Waiman Long) [1946746] - mm/mmu_notifier: Add mmu_notifier versioning mechanism (Waiman Long) [1946746] - af_unix: Return errno instead of NULL in unix_create1(). (Balazs Nemeth) [2026690] - netfilter: nf_tables: fix audit memory leak in nf_tables_commit (Phil Sutter) [2028926] - ethtool: Validate module EEPROM offset as part of policy (Ivan Vecera) [2019090] - ethtool: Validate module EEPROM length as part of policy (Ivan Vecera) [2019090] - ethtool: Use kernel data types for internal EEPROM struct (Ivan Vecera) [2019090] - ethtool: Document behavior when module EEPROM bank attribute is omitted (Ivan Vecera) [2019090] - ethtool: Decrease size of module EEPROM get policy array (Ivan Vecera) [2019090] - ethtool: Document correct attribute type (Ivan Vecera) [2019090] - ethtool: Use correct command name in title (Ivan Vecera) [2019090] - net: fix mistake path for netdev_features_strings (Ivan Vecera) [2019089 2019090 2019092] - ethtool: add a stricter length check (Ivan Vecera) [2019089 2019090 2019092] - ethtool: Fix a typo (Ivan Vecera) [2019089 2019090 2019092] - net: ethtool: clear heap allocations for ethtool function (Ivan Vecera) [2019090] - ethtool: Fix NULL pointer dereference during module EEPROM dump (Ivan Vecera) [2019090] - ethtool: stats: Fix a copy-paste error (Ivan Vecera) [2019092] - ethtool: add missing EEPROM to list of messages (Ivan Vecera) [2019090] - ethtool: stats: clarify the initialization to ETHTOOL_STAT_NOT_SET (Ivan Vecera) [2019092] - ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() (Ivan Vecera) [2019092] - ethtool: add interface to read RMON stats (Ivan Vecera) [2019092] - ethtool: add interface to read standard MAC Ctrl stats (Ivan Vecera) [2019092] - ethtool: add interface to read standard MAC stats (Ivan Vecera) [2019092] - ethtool: add a new command for reading standard stats (Ivan Vecera) [2019092] - docs: ethtool: document standard statistics (Ivan Vecera) [2019092] - docs: networking: extend the statistics documentation (Ivan Vecera) [2019092] - ethtool: add FEC statistics (Ivan Vecera) [2019089] - docs: net: statistics.rst: remove a duplicated kernel-doc (Ivan Vecera) [2019089] - ethtool: fec_prepare_data() - jump to error handling (Ivan Vecera) [2019089] - ethtool: move ethtool_stats_init (Ivan Vecera) [2019089] - ethtool: wire in generic SFP module access (Ivan Vecera) [2019090] - phy: sfp: add netlink SFP support to generic SFP code (Ivan Vecera) [2019090] - ethtool: Add fallback to get_module_eeprom from netlink command (Ivan Vecera) [2019090] - net: ethtool: Export helpers for getting EEPROM info (Ivan Vecera) [2019090] - ethtool: Allow network drivers to dump arbitrary EEPROM data (Ivan Vecera) [2019090] - docs: ethtool: correct quotes (Ivan Vecera) [2019090] - selftests: ethtool: add a netdevsim FEC test (Ivan Vecera) [2019089] - netdevsim: add FEC settings support (Ivan Vecera) [2019089] - ethtool: support FEC settings over netlink (Ivan Vecera) [2019089] - ethtool: document the enum values not defines (Ivan Vecera) [2019089] - ethtool: fec: fix FEC_NONE check (Ivan Vecera) [2019089] - ethtool: fec: add note about reuse of reserved (Ivan Vecera) [2019089] - ethtool: clarify the ethtool FEC interface (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->fec (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->active_fec (Ivan Vecera) [2019089] - ethtool: fec: sanitize ethtool_fecparam->reserved (Ivan Vecera) [2019089] - ethtool: fec: remove long structure description (Ivan Vecera) [2019089] - ethtool: fec: fix typo in kdoc (Ivan Vecera) [2019089] - net: Remove redundant if statements (Petr Oros) [2026472] - netdevice: add the case if dev is NULL (Petr Oros) [2026472] - nvmet: use IOCB_NOWAIT only if the filesystem supports it (Chris Leech) [2015563] - nvmet-tcp: fix incomplete data digest send (Chris Leech) [2015563] - nvmet-tcp: fix memory leak when performing a controller reset (Chris Leech) [2015563] - nvmet-tcp: add an helper to free the cmd buffers (Chris Leech) [2015563] - nvmet-tcp: fix a race condition between release_queue and io_work (Chris Leech) [2015563] - nvmet-tcp: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet-rdma: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet: fix use-after-free when a port is removed (Chris Leech) [2015563] - nvmet-tcp: fix header digest verification (Chris Leech) [2015563] - nvmet-tcp: fix data digest pointer calculation (Chris Leech) [2015563] - nvmet-tcp: fix a memory leak when releasing a queue (Chris Leech) [2015563] - nvmet: fix a width vs precision bug in nvmet_subsys_attr_serial_show() (Chris Leech) [2015563] - nvmet: fixup buffer overrun in nvmet_subsys_attr_serial() (Chris Leech) [2015563] - nvmet: return bool from nvmet_passthru_ctrl and nvmet_is_passthru_req (Chris Leech) [2015563] - nvmet: looks at the passthrough controller when initializing CAP (Chris Leech) [2015563] - nvmet: check that host sqsize does not exceed ctrl MQES (Chris Leech) [2015563] - nvmet: avoid duplicate qid in connect cmd (Chris Leech) [2015563] - nvmet: pass back cntlid on successful completion (Chris Leech) [2015563] - nvmet: remove redundant assignments of variable status (Chris Leech) [2015563] - nvme-fabrics: ignore invalid fast_io_fail_tmo values (Chris Leech) [2015563] - nvme-tcp: fix memory leak when freeing a queue (Chris Leech) [2015563] - nvme-tcp: validate R2T PDU in nvme_tcp_handle_r2t() (Chris Leech) [2015563] - nvme-tcp: fix data digest pointer calculation (Chris Leech) [2015563] - nvme-tcp: fix possible req->offset corruption (Chris Leech) [2015563] - nvme-tcp: fix H2CData PDU send accounting (again) (Chris Leech) [2015563] - nvme: keep ctrl->namespaces ordered (Chris Leech) [2015563] - nvme-tcp: fix incorrect h2cdata pdu offset accounting (Chris Leech) [2015563] - nvme-tcp: fix io_work priority inversion (Chris Leech) [2015563] - nvme-multipath: fix ANA state updates when a namespace is not present (Chris Leech) [2015563] - nvme: avoid race in shutdown namespace removal (Chris Leech) [2015563] - nvme: update keep alive interval when kato is modified (Chris Leech) [2015563] - nvme: use return value from blk_execute_rq() (Chris Leech) [2015563] - nvme-tcp: Do not reset transport on data digest errors (Chris Leech) [2015563] - nvme-rdma: don't update queue count when failing to set io queues (Chris Leech) [2015563] - nvme-tcp: don't update queue count when failing to set io queues (Chris Leech) [2015563] - nvme-tcp: pair send_mutex init with destroy (Chris Leech) [2015563] - nvme-tcp: don't check blk_mq_tag_to_rq when receiving pdu data (Chris Leech) [2015563] - RDMA/rxe: Bump up default maximum values used via uverbs (Kamal Heib) [2029675]- scsi: qedi: Fix error codes in qedi_alloc_global_queues() (Nilesh Javali) [1983905] - scsi: qedi: Add support for fastpath doorbell recovery (Nilesh Javali) [1983905] - scsi: qedi: Use DEVICE_ATTR_RO() macro (Nilesh Javali) [1983905] - scsi: qedi: Fix host removal with running sessions (Nilesh Javali) [1983905] - scsi: qedi: Wake up if cmd_cleanup_req is set (Nilesh Javali) [1983905] - scsi: qedi: Complete TMF works before disconnect (Nilesh Javali) [1983905] - scsi: qedi: Pass send_iscsi_tmf task to abort (Nilesh Javali) [1983905] - scsi: qedi: Fix cleanup session block/unblock use (Nilesh Javali) [1983905] - scsi: qedi: Fix TMF session block/unblock use (Nilesh Javali) [1983905] - scsi: qedi: Use GFP_NOIO for TMF allocation (Nilesh Javali) [1983905] - scsi: qedi: Fix TMF tid allocation (Nilesh Javali) [1983905] - scsi: qedi: Fix use after free during abort cleanup (Nilesh Javali) [1983905] - scsi: qedi: Fix race during abort timeouts (Nilesh Javali) [1983905] - scsi: qedi: Fix null ref during abort handling (Nilesh Javali) [1983905] - vrf: Fix fast path output packet handling with async Netfilter rules (Antoine Tenart) [2019333] - ipv6: do not drop vrf udp multicast packets (Antoine Tenart) [2019333] - ipv6: handling of multicast packets received in VRF (Antoine Tenart) [2019333] - vrf: Do not attempt to create IPv6 mcast rule if IPv6 is disabled (Antoine Tenart) [2019333] - ipv6: add vrf table handling code for ipv6 mcast (Antoine Tenart) [2019333] - ipv4: Allow sending multicast packets on specific i/f using VRF socket (Antoine Tenart) [2019333] - xfs: fix I_DONTCACHE (Carlos Maiolino) [2024969] - kernfs: don't create a negative dentry if inactive node exists (Ian Kent) [2001597] - kernfs: also call kernfs_set_rev() for positive dentry (Ian Kent) [2001597] - ixgbevf: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops (Ken Cox) [1970656] - ixgbe: Fix NULL pointer dereference in ixgbe_xdp_setup (Ken Cox) [1970653] - ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path (Ken Cox) [1970653] - powerpc/perf: Fix missing is_sier_aviable() during build (Gustavo Walbon) [2011687] - perf script: Fix PERF_SAMPLE_WEIGHT_STRUCT support (Michael Petlan) [2026390] - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() (Kamal Heib) [2025496] - RDMA: Use the sg_table directly and remove the opencoded version from umem (Kamal Heib) [2025496] - ovs: clear skb->tstamp in forwarding path (Antoine Tenart) [2020160] - net: openvswitch: fix kernel-doc warnings in flow.c (Antoine Tenart) [2020160] - openvswitch: Optimize operation for key comparison (Antoine Tenart) [2020160] - net: openvswitch: Remove unnecessary skb_nfct() (Antoine Tenart) [2020160] - openvswitch: meter: fix race when getting now_ms. (Antoine Tenart) [2020160] - net: openvswitch: Use 'skb_push_rcsum()' instead of hand coding it (Antoine Tenart) [2020160] - openvswitch: Fix a typo (Antoine Tenart) [2020160] - openvswitch: Warn over-mtu packets only if iface is UP. (Antoine Tenart) [2020160] - openvswitch: meter: remove rate from the bucket size calculation (Antoine Tenart) [2020160] - net: openvswitch: use core API to update/provide stats (Antoine Tenart) [2020160] - net: openvswitch: use new function dev_fetch_sw_netstats (Antoine Tenart) [2020160] - net: openvswitch: use dev_sw_netstats_rx_add() (Antoine Tenart) [2020160] - net: openvswitch: Constify static struct genl_small_ops (Antoine Tenart) [2020160] - selftests: add a test case for mirred egress to ingress (Xin Long) [1983894] - net: sched: act_mirred: drop dst for the direction from egress to ingress (Xin Long) [1983894] - usb: hso: fix error handling code of hso_create_net_device (José Ignacio Tornos Martínez) [1986489] {CVE-2021-37159} - i40e: Fix freeing of uninitialized misc IRQ vector (Stefan Assmann) [1990683] - x86/topology: Make __max_die_per_package available unconditionally (Aristeu Rozanski) [1949284] - x86/cpu/amd: Set __max_die_per_package on AMD (Aristeu Rozanski) [1949284] - x86/topology: Set cpu_die_id only if DIE_TYPE found (Aristeu Rozanski) [1949284] - x86/mce: Drop AMD-specific "DEFERRED" case from Intel severity rule list (Aristeu Rozanski) [1949284] - EDAC/mce_amd: Add new error descriptions for existing types (Aristeu Rozanski) [1949284] - x86/mce/amd, edac: Remove report_gart_errors (Aristeu Rozanski) [1949284] - x86/mce/amd: Make threshold bank setting hotplug robust (Aristeu Rozanski) [1949284] - x86/mce/amd: Cleanup threshold device remove path (Aristeu Rozanski) [1949284] - x86/mce/amd: Straighten CPU hotplug path (Aristeu Rozanski) [1949284] - x86/mce/amd: Sanitize thresholding device creation hotplug path (Aristeu Rozanski) [1949284] - x86/mce/amd: Protect a not-fully initialized bank from the thresholding interrupt (Aristeu Rozanski) [1949284] - x86/mce/amd: Init thresholding machinery only on relevant vendors (Aristeu Rozanski) [1949284] - x86/mce/amd: Do proper cleanup on error paths (Aristeu Rozanski) [1949284] - x86/mce/amd: Fix kobject lifetime (Aristeu Rozanski) [1949284] - x86/mce/amd: Publish the bank pointer only after setup has succeeded (Aristeu Rozanski) [1949284] - x86/mce/amd: Make disable_err_thresholding() static (Aristeu Rozanski) [1949284] - x86/MCE: Determine MCA banks' init state properly (Aristeu Rozanski) [1949284] - x86/MCE: Group AMD function prototypes in (Aristeu Rozanski) [1949284] - x86/MCE: Switch to use the new generic UUID API (Aristeu Rozanski) [1949284] - ipv4: fix endianness issue in inet_rtm_getroute_build_skb() (Guillaume Nault) [2022057] - net: igmp: fix data-race in igmp_ifc_timer_expire() (Guillaume Nault) [2022057] - net/ipv4: swap flow ports when validating source (Guillaume Nault) [2022057] - tools headers UAPI: Sync linux/in.h copy with the kernel sources (Guillaume Nault) [2022057] - icmp: don't send out ICMP messages with a source address of 0.0.0.0 (Guillaume Nault) [2022057] - cipso: correct comments of cipso_v4_cache_invalidate() (Guillaume Nault) [2022057] - crypto: ccp - Make use of the helper macro kthread_run() (Vladis Dronov) [1997593] - crypto: ccp - Fix whitespace in sev_cmd_buffer_len() (Vladis Dronov) [1997593] - crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd() (Vladis Dronov) [1997593] - crypto: jitter - consider 32 LSB for APT (Herbert Xu) [1994390] - rcu: Tighten rcu_advance_cbs_nowake() checks (Daniel Vacek) [2013408] - cxgb3: Remove seeprom_write and use VPD API (Myron Stowe) [2019086] - cxgb3: Use VPD API in t3_seeprom_wp() (Myron Stowe) [2019086] - cxgb3: Remove t3_seeprom_read and use VPD API (Myron Stowe) [2019086] - PCI/VPD: Use pci_read_vpd_any() in pci_vpd_size() (Myron Stowe) [2019086] - PCI/VPD: Add pci_read/write_vpd_any() (Myron Stowe) [2019086] - PCI/VPD: Defer VPD sizing until first access (Myron Stowe) [2019086] - PCI/VPD: Use unaligned access helpers (Myron Stowe) [2019086] - PCI/VPD: Clean up public VPD defines and inline functions (Myron Stowe) [2019086] - cxgb4: Use pci_vpd_find_id_string() to find VPD ID string (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_find_id_string() (Myron Stowe) [2019086] - PCI/VPD: Include post-processing in pci_vpd_find_tag() (Myron Stowe) [2019086] - PCI/VPD: Stop exporting pci_vpd_find_info_keyword() (Myron Stowe) [2019086] - PCI/VPD: Stop exporting pci_vpd_find_tag() (Myron Stowe) [2019086] - scsi: cxlflash: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - cxgb4: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - cxgb4: Remove unused vpd_param member ec (Myron Stowe) [2019086] - cxgb4: Validate VPD checksum with pci_vpd_check_csum() (Myron Stowe) [2019086] - bnxt: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - bnxt: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - bnx2x: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - bnx2x: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - bnx2: Replace open-coded byte swapping with swab32s() (Myron Stowe) [2019086] - bnx2: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: falcon: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: falcon: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - tg3: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - tg3: Validate VPD checksum with pci_vpd_check_csum() (Myron Stowe) [2019086] - tg3: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - sfc: Search VPD with pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - sfc: Read VPD with pci_vpd_alloc() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_check_csum() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_find_ro_info_keyword() (Myron Stowe) [2019086] - PCI/VPD: Add pci_vpd_alloc() (Myron Stowe) [2019086] - PCI/VPD: Treat invalid VPD like missing VPD capability (Myron Stowe) [2019086] - PCI/VPD: Determine VPD size in pci_vpd_init() (Myron Stowe) [2019086] - PCI/VPD: Embed struct pci_vpd in struct pci_dev (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd.valid member (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd_ops (Myron Stowe) [2019086] - PCI/VPD: Reorder pci_read_vpd(), pci_write_vpd() (Myron Stowe) [2019086] - PCI/VPD: Remove struct pci_vpd.flag (Myron Stowe) [2019086] - PCI/VPD: Make pci_vpd_wait() uninterruptible (Myron Stowe) [2019086] - PCI/VPD: Remove pci_vpd_size() old_size argument (Myron Stowe) [2019086] - PCI/VPD: Allow access to valid parts of VPD if some is invalid (Myron Stowe) [2019086] - PCI/VPD: Don't check Large Resource Item Names for validity (Myron Stowe) [2019086] - PCI/VPD: Reject resource tags with invalid size (Myron Stowe) [2019086] - PCI/VPD: Treat initial 0xff as missing EEPROM (Myron Stowe) [2019086] - PCI/VPD: Check Resource Item Names against those valid for type (Myron Stowe) [2019086] - PCI/VPD: Correct diagnostic for VPD read failure (Myron Stowe) [2019086] - net: create netdev->dev_addr assignment helpers (Josef Oskera) [2016478] - scsi: ibmvfc: Fix up duplicate response detection (Steve Best) [2015732] - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not run (Ewan D. Milne) [2011330] - libbpf: Add support for new llvm bpf relocations (Yauheni Kaliuta) [1944799] - libbpf: Fix memory leak in strset (Yauheni Kaliuta) [1944799] - selftests: bpf: skip test_doc_build.sh (Yauheni Kaliuta) [1944799] - bpf: Stop caching subprog index in the bpf_pseudo_func insn (Yauheni Kaliuta) [1944799] - redhat/configs: enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Yauheni Kaliuta) [1944799] - kbuild: Quote OBJCOPY var to avoid a pahole call break the build (Yauheni Kaliuta) [1944799] - bpf: Fix BPF_JIT kconfig symbol dependency (Yauheni Kaliuta) [1944799] - bpf: Add kconfig knob for disabling unpriv bpf by default (Yauheni Kaliuta) [1944799] - bpf, kconfig: Add consolidated menu entry for bpf with core options (Yauheni Kaliuta) [1944799] - tools/resolve_btfids: Fix warnings (Yauheni Kaliuta) [1944799] - tools/runqslower: Allow substituting custom vmlinux.h for the build (Yauheni Kaliuta) [1944799] - lib/string.c: allow searching for NUL with strnchr (Yauheni Kaliuta) [1944799] - rpmspec: update manpages installation after 5.13 rebase (bpf-helpers, bpf-syscall) (Yauheni Kaliuta) [1944799] - libbpf: Fix segfault in static linker for objects without BTF (Yauheni Kaliuta) [1944799] - bpf: Avoid using ARRAY_SIZE on an uninitialized pointer (Yauheni Kaliuta) [1944799] - bpf: Remove superfluous aux sanitation on subprog rejection (Yauheni Kaliuta) [1944799] - bpf: Clarify a bpf_bprintf_prepare macro (Yauheni Kaliuta) [1944799] - bpf: Fix nested bpf_bprintf_prepare with more per-cpu buffers (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix the snprintf test (Yauheni Kaliuta) [1944799] - bpf: Implement formatted output helpers with bstr_printf (Yauheni Kaliuta) [1944799] - seq_file: Add a seq_bprintf function (Yauheni Kaliuta) [1944799] - bpf: Notify user if we ever hit a bpf_snprintf verifier bug (Yauheni Kaliuta) [1944799] - selftests/bpf: Add a series of tests for bpf_snprintf (Yauheni Kaliuta) [1944799] - bpf: Lock bpf_trace_printk's tmp buf before it is written to (Yauheni Kaliuta) [1944799] - bpf: Add a bpf_snprintf helper (Yauheni Kaliuta) [1944799] - bpf: Factorize bpf_trace_printk and bpf_seq_printf (Yauheni Kaliuta) [1944799] - Stop the ad-hoc games with -Wno-maybe-initialized (Yauheni Kaliuta) [1944799] - kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig (Yauheni Kaliuta) [1944799] - bpf: Fix potentially incorrect results with bpf_get_local_storage() (Yauheni Kaliuta) [1944799] - bpf, samples: Fix xdpsock with '-M' parameter missing unload process (Yauheni Kaliuta) [1944799] - libbpf: Don't crash on object files with no symbol tables (Yauheni Kaliuta) [1944799] - libbpf: Fix ELF symbol visibility update logic (Yauheni Kaliuta) [1944799] - bpf, selftests: Adjust few selftest outcomes wrt unreachable code (Yauheni Kaliuta) [1944799] - bpf: Do not mark insn as seen under speculative path verification (Yauheni Kaliuta) [1944799] - bpf: Inherit expanded/patched seen count from old aux data (Yauheni Kaliuta) [1944799] - bpf, selftests: Adjust few selftest result_unpriv outcomes (Yauheni Kaliuta) [1944799] - bpf: Fix BPF_LSM kconfig symbol dependency (Yauheni Kaliuta) [1944799] - selftests/bpf: Add test for l3 use of bpf_redirect_peer (Yauheni Kaliuta) [1944799] - bpftool: Add sock_release help info for cgroup attach/prog load command (Yauheni Kaliuta) [1944799] - bpf, offload: Reorder offload callback 'prepare' in verifier (Yauheni Kaliuta) [1944799] - selftests/bpf: Test ringbuf mmap read-only and read-write restrictions (Yauheni Kaliuta) [1944799] - selftests/bpf: Convert static to global in tc_redirect progs (Yauheni Kaliuta) [1944799] - selftests/bpf: Rewrite test_tc_redirect.sh as prog_tests/tc_redirect.c (Yauheni Kaliuta) [1944799] - libbpf: Provide GELF_ST_VISIBILITY() define for older libelf (Yauheni Kaliuta) [1944799] - bpf: Add deny list of btf ids check for tracing programs (Yauheni Kaliuta) [1944799] - bpf: Forbid trampoline attach for functions with variable arguments (Yauheni Kaliuta) [1944799] - samples/bpf: Consider frame size in tx_only of xdpsock sample (Yauheni Kaliuta) [1944799] - libbpf: Add NULL check to add_dummy_ksym_var (Yauheni Kaliuta) [1944799] - libbpf: Fix signed overflow in ringbuf_process_ring (Yauheni Kaliuta) [1944799] - bpf, selftests: Update array map tests for per-cpu batched ops (Yauheni Kaliuta) [1944799] - bpf: Add batched ops support for percpu array (Yauheni Kaliuta) [1944799] - bpf, docs: Fix literal block for example code (Yauheni Kaliuta) [1944799] - bpf, cpumap: Bulk skb using netif_receive_skb_list (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix field existence CO-RE reloc tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro (Yauheni Kaliuta) [1944799] - selftests/bpf: Use ASSERT macros in lsm test (Yauheni Kaliuta) [1944799] - selftests/bpf: Test that module can't be unloaded with attached trampoline (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to lsm test (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to fexit_test (Yauheni Kaliuta) [1944799] - selftests/bpf: Add re-attach test to fentry_test (Yauheni Kaliuta) [1944799] - bpf: Allow trampoline re-attach for tracing and lsm programs (Yauheni Kaliuta) [1944799] - bpf: Document the pahole release info related to libbpf in bpf_devel_QA.rst (Yauheni Kaliuta) [1944799] - selftests/bpf: Document latest Clang fix expectations for linking tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Add map linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Add global variables linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Add function linking selftest (Yauheni Kaliuta) [1944799] - selftests/bpf: Omit skeleton generation for multi-linked BPF object files (Yauheni Kaliuta) [1944799] - selftests/bpf: Use -O0 instead of -Og in selftests builds (Yauheni Kaliuta) [1944799] - libbpf: Support extern resolution for BTF-defined maps in .maps section (Yauheni Kaliuta) [1944799] - libbpf: Add linker extern resolution support for functions and global variables (Yauheni Kaliuta) [1944799] - libbpf: Tighten BTF type ID rewriting with error checking (Yauheni Kaliuta) [1944799] - libbpf: Extend sanity checking ELF symbols with externs validation (Yauheni Kaliuta) [1944799] - libbpf: Make few internal helpers available outside of libbpf.c (Yauheni Kaliuta) [1944799] - libbpf: Factor out symtab and relos sanity checks (Yauheni Kaliuta) [1944799] - libbpf: Refactor BTF map definition parsing (Yauheni Kaliuta) [1944799] - libbpf: Allow gaps in BPF program sections to support overriden weak functions (Yauheni Kaliuta) [1944799] - libbpf: Mark BPF subprogs with hidden visibility as static for BPF verifier (Yauheni Kaliuta) [1944799] - libbpf: Suppress compiler warning when using SEC() macro with externs (Yauheni Kaliuta) [1944799] - bpftool: Dump more info about DATASEC members (Yauheni Kaliuta) [1944799] - bpftool: Support dumping BTF VAR's "extern" linkage (Yauheni Kaliuta) [1944799] - bpf: Remove unnecessary map checks for ARG_PTR_TO_CONST_STR (Yauheni Kaliuta) [1944799] - xsk: Align XDP socket batch size with DPDK (Yauheni Kaliuta) [1944799] - bpf, doc: Fix some invalid links in bpf_devel_QA.rst (Yauheni Kaliuta) [1944799] - net, xdp: Update pkt_type if generic XDP changes unicast MAC (Yauheni Kaliuta) [1944799] - powerpc/ebpf32: Use standard function call for functions within 32M distance (Yauheni Kaliuta) [1944799] - selftests/bpf: Add docs target as all dependency (Yauheni Kaliuta) [1944799] - bpf/selftests: Add bpf_get_task_stack retval bounds test_prog (Yauheni Kaliuta) [1944799] - bpf/selftests: Add bpf_get_task_stack retval bounds verifier test (Yauheni Kaliuta) [1944799] - bpf: Refine retval for bpf_get_task_stack helper (Yauheni Kaliuta) [1944799] - samples/bpf: Fix broken tracex1 due to kprobe argument change (Yauheni Kaliuta) [1944799] - libbpf: Introduce a BPF_SNPRINTF helper macro (Yauheni Kaliuta) [1944799] - libbpf: Initialize the bpf_seq_printf parameters array field by field (Yauheni Kaliuta) [1944799] - bpf: Add a ARG_PTR_TO_CONST_STR argument type (Yauheni Kaliuta) [1944799] - bpftool: Fix a clang compilation warning (Yauheni Kaliuta) [1944799] - selftests/bpf: Silence clang compilation warnings (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix test_cpp compilation failure with clang (Yauheni Kaliuta) [1944799] - selftests: Set CC to clang in lib.mk if LLVM is set (Yauheni Kaliuta) [1944799] - libbpf: Remove unused field. (Yauheni Kaliuta) [1944799] - tools/testing: Remove unused variable (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix the ASSERT_ERR_PTR macro (Yauheni Kaliuta) [1944799] - selftests/bpf: Add tests for target information in bpf_link info queries (Yauheni Kaliuta) [1944799] - bpf: Return target info when a tracing bpf_link is queried (Yauheni Kaliuta) [1944799] - libbpf: Clarify flags in ringbuf helpers (Yauheni Kaliuta) [1944799] - bpf: Sync bpf headers in tooling infrastucture (Yauheni Kaliuta) [1944799] - bpf: Document PROG_TEST_RUN limitations (Yauheni Kaliuta) [1944799] - bpf, inode: Remove second initialization of the bpf_preload_lock (Yauheni Kaliuta) [1944799] - libbpf: Fix KERNEL_VERSION macro (Yauheni Kaliuta) [1944799] - bpf: selftests: Specify CONFIG_DYNAMIC_FTRACE in the testing config (Yauheni Kaliuta) [1944799] - powerpc/bpf: Reallocate BPF registers to volatile registers when possible on PPC32 (Yauheni Kaliuta) [1944799] - powerpc/bpf: Change values of SEEN_ flags (Yauheni Kaliuta) [1944799] - powerpc/bpf: Move common functions into bpf_jit_comp.c (Yauheni Kaliuta) [1944799] - powerpc/bpf: Remove classical BPF support for PPC32 (Yauheni Kaliuta) [1944799] - powerpc/bpf: Move common helpers into bpf_jit.h (Yauheni Kaliuta) [1944799] - powerpc/bpf: Change register numbering for bpf_set/is_seen_register() (Yauheni Kaliuta) [1944799] - libbpf: Remove redundant semi-colon (Yauheni Kaliuta) [1944799] - bpf: Remove repeated struct btf_type declaration (Yauheni Kaliuta) [1944799] - bpf, cgroup: Delete repeated struct bpf_prog declaration (Yauheni Kaliuta) [1944799] - bpf: Remove unused parameter from ___bpf_prog_run (Yauheni Kaliuta) [1944799] - bpf, selftests: test_maps generating unrecognized data section (Yauheni Kaliuta) [1944799] - selftests/bpf: Add an option for a debug shell in vmtest.sh (Yauheni Kaliuta) [1944799] - bpf: Remove redundant assignment of variable id (Yauheni Kaliuta) [1944799] - bpf: Remove unused bpf_load_pointer (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove unused defines (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove mutex and condition variable (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove thread attribute (Yauheni Kaliuta) [1944799] - selftests: xsk: Implement bpf_link test (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove sync_mutex_tx and atomic var (Yauheni Kaliuta) [1944799] - selftests: xsk: Refactor teardown/bidi test cases and testapp_validate (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove Tx synchronization resources (Yauheni Kaliuta) [1944799] - selftests: xsk: Split worker thread (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove thread for netns switch (Yauheni Kaliuta) [1944799] - samples: bpf: Do not unload prog within xdpsock (Yauheni Kaliuta) [1944799] - libbpf: xsk: Use bpf_link (Yauheni Kaliuta) [1944799] - selftests: xsk: Simplify frame traversal in dumping thread (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove inline keyword from source file (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove unused function (Yauheni Kaliuta) [1944799] - selftests: xsk: Remove struct ifaceconfigobj (Yauheni Kaliuta) [1944799] - selftests: xsk: Don't call worker_pkt_dump() for stats test (Yauheni Kaliuta) [1944799] - libbpf: Fix memory leak when emitting final btf_ext (Yauheni Kaliuta) [1944799] - bpf: selftests: Update clang requirement in README.rst for testing kfunc call (Yauheni Kaliuta) [1944799] - bpf: Update bpf_design_QA.rst to clarify the kfunc call is not ABI (Yauheni Kaliuta) [1944799] - bpf: selftests: Add kfunc_call test (Yauheni Kaliuta) [1944799] - bpf: selftests: Bpf_cubic and bpf_dctcp calling kernel functions (Yauheni Kaliuta) [1944799] - bpf: selftests: Rename bictcp to bpf_cubic (Yauheni Kaliuta) [1944799] - libbpf: Support extern kernel function (Yauheni Kaliuta) [1944799] - libbpf: Record extern sym relocation first (Yauheni Kaliuta) [1944799] - libbpf: Rename RELO_EXTERN to RELO_EXTERN_VAR (Yauheni Kaliuta) [1944799] - libbpf: Refactor codes for finding btf id of a kernel symbol (Yauheni Kaliuta) [1944799] - libbpf: Refactor bpf_object__resolve_ksyms_btf_id (Yauheni Kaliuta) [1944799] - bpf: Support bpf program calling kernel function (Yauheni Kaliuta) [1944799] - bpf: Refactor btf_check_func_arg_match (Yauheni Kaliuta) [1944799] - bpf: Simplify freeing logic in linfo and jited_linfo (Yauheni Kaliuta) [1944799] - libbpf: Preserve empty DATASEC BTFs during static linking (Yauheni Kaliuta) [1944799] - bpf: struct sock is declared twice in bpf_sk_storage header (Yauheni Kaliuta) [1944799] - bpf: Remove unused headers (Yauheni Kaliuta) [1944799] - libbpf: Add bpf object kern_version attribute setter (Yauheni Kaliuta) [1944799] - bpf: selftests: Add tests for batched ops in LPM trie maps (Yauheni Kaliuta) [1944799] - bpf: Add support for batched ops in LPM trie maps (Yauheni Kaliuta) [1944799] - selftests/bpf: Better error messages for ima_setup.sh failures (Yauheni Kaliuta) [1944799] - bpf: Fix NULL pointer dereference in bpf_get_local_storage() helper (Yauheni Kaliuta) [1944799] - libbpf: Constify few bpf_program getters (Yauheni Kaliuta) [1944799] - bpf: Fix typo 'accesible' into 'accessible' (Yauheni Kaliuta) [1944799] - tracing: Fix various typos in comments (Yauheni Kaliuta) [1944799] - libbpf: Skip BTF fixup if object file has no BTF (Yauheni Kaliuta) [1944799] - bpf: Remove insn_buf[] declaration in inner block (Yauheni Kaliuta) [1944799] - selftests/bpf: Add multi-file statically linked BPF object file test (Yauheni Kaliuta) [1944799] - selftests/bpf: Pass all BPF .o's through BPF static linker (Yauheni Kaliuta) [1944799] - selftests/bpf: Re-generate vmlinux.h and BPF skeletons if bpftool changed (Yauheni Kaliuta) [1944799] - bpftool: Add `gen object` command to perform BPF static linking (Yauheni Kaliuta) [1944799] - bpftool: Add ability to specify custom skeleton object name (Yauheni Kaliuta) [1944799] - libbpf: Add BPF static linker BTF and BTF.ext support (Yauheni Kaliuta) [1944799] - libbpf: Add BPF static linker APIs (Yauheni Kaliuta) [1944799] - libbpf: Add generic BTF type shallow copy API (Yauheni Kaliuta) [1944799] - libbpf: Extract internal set-of-strings datastructure APIs (Yauheni Kaliuta) [1944799] - libbpf: Rename internal memory-management helpers (Yauheni Kaliuta) [1944799] - libbpf: Generalize BTF and BTF.ext type ID and strings iteration (Yauheni Kaliuta) [1944799] - libbpf: Expose btf_type_by_id() internally (Yauheni Kaliuta) [1944799] - x86: Fix various typos in comments (Yauheni Kaliuta) [1944799] - selftests/bpf: drop custom NULL #define in skb_pkt_end selftest (Yauheni Kaliuta) [1944799] - libbpf: provide NULL and KERNEL_VERSION macros in bpf_helpers.h (Yauheni Kaliuta) [1944799] - bpf: net: Emit anonymous enum with BPF_TCP_CLOSE value explicitly (Yauheni Kaliuta) [1944799] - selftests/bpf: Use nanosleep() syscall instead of sleep() in get_cgroup_id (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - selftests/bpf: Build everything in debug mode (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix maybe-uninitialized warning in xdpxceiver test (Yauheni Kaliuta) [1944799] - bpftool: Fix maybe-uninitialized warnings (Yauheni Kaliuta) [1944799] - libbpf: Add explicit padding to bpf_xdp_set_link_opts (Yauheni Kaliuta) [1944799] - kernel/bpf/: Fix misspellings using codespell tool (Yauheni Kaliuta) [1944799] - s390/bpf: Implement new atomic ops (Yauheni Kaliuta) [1944799] - bpf: selftests: Remove unused 'nospace_err' in tests for batched ops in array maps (Yauheni Kaliuta) [1944799] - samples: bpf: Fix a spelling typo in do_hbm_test.sh (Yauheni Kaliuta) [1944799] - libbpf: Avoid inline hint definition from 'linux/stddef.h' (Yauheni Kaliuta) [1944799] - libbpf: xsk: Move barriers from libbpf_util.h to xsk.h (Yauheni Kaliuta) [1944799] - libbpf: xsk: Remove linux/compiler.h header (Yauheni Kaliuta) [1944799] - bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix warning comparing pointer to 0 (Yauheni Kaliuta) [1944799] - bpf, xdp: Restructure redirect actions (Yauheni Kaliuta) [1944799] - bpf, xdp: Make bpf_redirect_map() a map operation (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix compiler warning in BPF_KPROBE definition in loop6.c (Yauheni Kaliuta) [1944799] - selftests/bpf: Fix typo in Makefile (Yauheni Kaliuta) [1944799] - libbpf: Fix arm64 build (Yauheni Kaliuta) [1944799] - libbpf, xsk: Add libbpf_smp_store_release libbpf_smp_load_acquire (Yauheni Kaliuta) [1944799] - selftests, bpf: Extend test_tc_tunnel test with vxlan (Yauheni Kaliuta) [1944799] - bpf: Add bpf_skb_adjust_room flag BPF_F_ADJ_ROOM_ENCAP_L2_ETH (Yauheni Kaliuta) [1944799] - selftests/bpf: Simplify the calculation of variables (Yauheni Kaliuta) [1944799] - bpf: Simplify the calculation of variables (Yauheni Kaliuta) [1944799] - selftests: bpf: Don't run sk_lookup in verifier tests (Yauheni Kaliuta) [1944799] - selftests: bpf: Check that PROG_TEST_RUN repeats as requested (Yauheni Kaliuta) [1944799] - selftests: bpf: Convert sk_lookup ctx access tests to PROG_TEST_RUN (Yauheni Kaliuta) [1944799] - bpf: Add PROG_TEST_RUN support for sk_lookup programs (Yauheni Kaliuta) [1944799] - bpf: Consolidate shared test timing code (Yauheni Kaliuta) [1944799] - docs/bpf: Add bpf() syscall command reference (Yauheni Kaliuta) [1944799] - selftests/bpf: Test syscall command parsing (Yauheni Kaliuta) [1944799] - selftests/bpf: Templatize man page generation (Yauheni Kaliuta) [1944799] - tools/bpf: Remove bpf-helpers from bpftool docs (Yauheni Kaliuta) [1944799] - scripts/bpf: Add syscall commands printer (Yauheni Kaliuta) [1944799] - tools: Sync uapi bpf.h header with latest changes (Yauheni Kaliuta) [1944799] - scripts/bpf: Abstract eBPF API target parameter (Yauheni Kaliuta) [1944799] - bpf: Document BPF_MAP_*_BATCH syscall commands (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_QUERY syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_TEST_RUN syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_ATTACH syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_PROG_PIN syscall command (Yauheni Kaliuta) [1944799] - bpf: Document BPF_F_LOCK in syscall commands (Yauheni Kaliuta) [1944799] - bpf: Add minimal bpf() command documentation (Yauheni Kaliuta) [1944799] - bpf: Import syscall arg documentation (Yauheni Kaliuta) [1944799] - libbpf: Fix whitespace in btf_add_composite() comment (Yauheni Kaliuta) [1944799] - selftests/bpf: Add a verifier scale test with unknown bounded loop (Yauheni Kaliuta) [1944799] - tools, bpf_asm: Exit non-zero on errors (Yauheni Kaliuta) [1944799] - tools, bpf_asm: Hard error on out of range jumps (Yauheni Kaliuta) [1944799] - selftests/bpf: Add arraymap test for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - selftests/bpf: Add hashmap test for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpftool: Print subprog address properly (Yauheni Kaliuta) [1944799] - libbpf: Support subprog address relocation (Yauheni Kaliuta) [1944799] - libbpf: Move function is_ldimm64() earlier in libbpf.c (Yauheni Kaliuta) [1944799] - bpf: Add arraymap support for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Add hashtab support for bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Add bpf_for_each_map_elem() helper (Yauheni Kaliuta) [1944799] - bpf: Change return value of verifier function add_subprog() (Yauheni Kaliuta) [1944799] - bpf: Refactor check_func_call() to allow callback function (Yauheni Kaliuta) [1944799] - bpf: Factor out verbose_invalid_scalar() (Yauheni Kaliuta) [1944799] - bpf: Factor out visit_func_call_insn() in check_cfg() (Yauheni Kaliuta) [1944799] - selftests/bpf: Copy extras in out-of-srctree builds (Yauheni Kaliuta) [1944799] - selftests/bpf: Propagate error code of the command to vmtest.sh (Yauheni Kaliuta) [1944799] - selftests/bpf: Introduce xsk statistics tests (Yauheni Kaliuta) [1944799] - selftests/bpf: Restructure xsk selftests (Yauheni Kaliuta) [1944799] - selftests/bpf: Expose and rename debug argument (Yauheni Kaliuta) [1944799] - selftest/bpf: Make xsk tests less verbose (Yauheni Kaliuta) [1944799] - bpf: Rename fixup_bpf_calls and add some comments (Yauheni Kaliuta) [1944799] - bpf: Use MAX_BPF_FUNC_REG_ARGS macro (Yauheni Kaliuta) [1944799] - bpf: runqslower: Prefer using local vmlimux to generate vmlinux.h (Yauheni Kaliuta) [1944799] - bpf: Add kernel/modules BTF presence checks to bpftool feature command (Yauheni Kaliuta) [1944799]- netfilter: log: work around missing softdep backend module (Florian Westphal) [2017794] - netfilter: nft_ct: protect nft_ct_pcpu_template_refcnt with mutex (Florian Westphal) [2017794] - netfilter: Fix fall-through warnings for Clang (Florian Westphal) [2017794] - netfilter: nft_nat: allow to specify layer 4 protocol NAT only (Florian Westphal) [2017794] - netfilter: conntrack: adjust stop timestamp to real expiry value (Florian Westphal) [2017794] - netfilter: ipvs: make global sysctl readonly in non-init netns (Florian Westphal) [2017794] - ipvs: fix possible memory leak in ip_vs_control_net_init (Florian Westphal) [2017794] - ipvs: fix the connection sync failed in some cases (Florian Westphal) [2017794] - net: Fix offloading indirect devices dependency on qdisc order creation (Davide Caratti) [1997381] - net/core: Remove unused field from struct flow_indr_dev (Davide Caratti) [1997381] - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size (Vitaly Kuznetsov) [2019101] - hv_balloon: Remove redundant assignment to region_start (Vitaly Kuznetsov) [2019101] - hv_balloon: disable warning when floor reached (Vitaly Kuznetsov) [2019101] - net/tls: Fix flipped sign in async_wait.err assignment (Sabrina Dubroca) [2019176] - net/tls: Fix flipped sign in tls_err_abort() calls (Sabrina Dubroca) [2019176] - tls: prevent oversized sendfile() hangs by ignoring MSG_MORE (Sabrina Dubroca) [2019176] - tls splice: remove inappropriate flags checking for MSG_PEEK (Sabrina Dubroca) [2019176] - net/tls: Fix use-after-free after the TLS device goes down and up (Sabrina Dubroca) [2019176] - net/tls: Replace TLS_RX_SYNC_RUNNING with RCU (Sabrina Dubroca) [2019176] - tls splice: check SPLICE_F_NONBLOCK instead of MSG_DONTWAIT (Sabrina Dubroca) [2019176] - net/tls: Remove redundant initialization of record (Sabrina Dubroca) [2019176] - ibmvnic: don't stop queue in xmit (Diego Domingos) [2011995] - selftests: net: switch to socat in the GSO GRE test (Hangbin Liu) [2018059] - selftests: net: properly support IPv6 in GSO GRE test (Hangbin Liu) [2018059] - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile (Hangbin Liu) [2018059] - selftests: add simple GSO GRE test (Hangbin Liu) [2018059] - selftests/net: allow GRO coalesce test on veth (Hangbin Liu) [2018059] - selftests/net: GRO coalesce test (Hangbin Liu) [2018059] - perf/x86: Reset destroy callback on event init failure (Michael Petlan) [2003982] - x86/msr: Define new bits in TSX_FORCE_ABORT MSR (Michael Petlan) [2003982] - perf script: Fix --list-dlfilters documentation (Michael Petlan) [2003982] - perf/x86/intel/uncore: Fix IIO cleanup mapping procedure for SNR/ICX (Michael Petlan) [2003982] - Revert "perf map: Fix dso->nsinfo refcounting" (Michael Petlan) [2003982] - perf pmu: Fix alias matching (Michael Petlan) [2003982] - perf cs-etm: Split --dump-raw-trace by AUX records (Michael Petlan) [2003982] - perf sched: Fix record failure when CONFIG_SCHEDSTATS is not set (Michael Petlan) [2003982] - perf probe: Fix add event failure when running 32-bit perf in a 64-bit kernel (Michael Petlan) [2003982] - perf data: Close all files in close_dir() (Michael Petlan) [2003982] - perf probe-file: Delete namelist in del_events() on the error path (Michael Petlan) [2003982] - perf test bpf: Free obj_buf (Michael Petlan) [2003982] - perf trace: Free strings in trace__parse_events_option() (Michael Petlan) [2003982] - perf trace: Free syscall tp fields in evsel->priv (Michael Petlan) [2003982] - perf trace: Free syscall->arg_fmt (Michael Petlan) [2003982] - perf trace: Free malloc'd trace fields on exit (Michael Petlan) [2003982] - perf lzma: Close lzma stream on exit (Michael Petlan) [2003982] - perf script: Fix memory 'threads' and 'cpus' leaks on exit (Michael Petlan) [2003982] - perf script: Release zstd data (Michael Petlan) [2003982] - perf session: Cleanup trace_event (Michael Petlan) [2003982] - perf inject: Close inject.output on exit (Michael Petlan) [2003982] - perf report: Free generated help strings for sort option (Michael Petlan) [2003982] - perf env: Fix memory leak of cpu_pmu_caps (Michael Petlan) [2003982] - perf test maps__merge_in: Fix memory leak of maps (Michael Petlan) [2003982] - perf dso: Fix memory leak in dso__new_map() (Michael Petlan) [2003982] - perf test event_update: Fix memory leak of unit (Michael Petlan) [2003982] - perf test event_update: Fix memory leak of evlist (Michael Petlan) [2003982] - perf test session_topology: Delete session->evlist (Michael Petlan) [2003982] - perf env: Fix sibling_dies memory leak (Michael Petlan) [2003982] - perf probe: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf map: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf inject: Fix dso->nsinfo refcounting (Michael Petlan) [2003982] - perf cs-etm: Split Coresight decode by aux records (Michael Petlan) [2003982] - perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE) (Michael Petlan) [2003982] - libperf: Fix build error with LIBPFM4=1 (Michael Petlan) [2003982] - perf stat: Merge uncore events by default for hybrid platform (Michael Petlan) [2003982] - perf tests: Fix 'Convert perf time to TSC' on core-only system (Michael Petlan) [2003982] - perf tests: Fix 'Roundtrip evsel->name' on core-only system (Michael Petlan) [2003982] - perf tests: Fix 'Parse event definition strings' on core-only system (Michael Petlan) [2003982] - perf pmu: Skip invalid hybrid pmu (Michael Petlan) [2003982] - perf test: Add free() calls for scandir() returned dirent entries (Michael Petlan) [2003982] - libperf: Add tests for perf_evlist__set_leader() (Michael Petlan) [2003982] - libperf: Remove BUG_ON() from library code in get_group_fd() (Michael Petlan) [2003982] - libperf: Add group support to perf_evsel__open() (Michael Petlan) [2003982] - perf tools: Fix pattern matching for same substring in different PMU type (Michael Petlan) [2003982] - perf record: Add a dummy event on hybrid systems to collect metadata records (Michael Petlan) [2003982] - perf stat: Add Topdown metrics L2 events as default events (Michael Petlan) [2003982] - libperf: Adopt evlist__set_leader() from tools/perf as perf_evlist__set_leader() (Michael Petlan) [2003982] - libperf: Move 'nr_groups' from tools/perf to evlist::nr_groups (Michael Petlan) [2003982] - libperf: Move 'leader' from tools/perf to perf_evsel::leader (Michael Petlan) [2003982] - libperf: Move 'idx' from tools/perf to perf_evsel::idx (Michael Petlan) [2003982] - libperf: Change tests to single static and shared binaries (Michael Petlan) [2003982] - perf intel-pt: Add a config for max loops without consuming a packet (Michael Petlan) [2003982] - perf stat: Disable the NMI watchdog message on hybrid (Michael Petlan) [2003982] - perf trace: Fix the perf trace link location (Michael Petlan) [2003982] - perf top: Fix overflow in elf_sec__is_text() (Michael Petlan) [2003982] - perf annotate: Fix 's' on source line when disasm is empty (Michael Petlan) [2003982] - perf probe: Do not show @plt function by default (Michael Petlan) [2003982] - perf symbol-elf: Decode dynsym even if symtab exists (Michael Petlan) [2003982] - perf probe: Fix debuginfo__new() to enable build-id based debuginfo (Michael Petlan) [2003982] - perf stat: Enable BPF counter with --for-each-cgroup (Michael Petlan) [2003982] - perf report: Fix --task and --stat with pipe input (Michael Petlan) [2003982] - perf session: Add missing evlist__delete when deleting a session (Michael Petlan) [2003982] - perf annotate: Allow 's' on source code lines (Michael Petlan) [2003982] - perf dlfilter: Add object_code() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add attr() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add srcline() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add insn() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf dlfilter: Add resolve_address() to perf_dlfilter_fns (Michael Petlan) [2003982] - perf build: Install perf_dlfilter.h (Michael Petlan) [2003982] - perf script: Add option to pass arguments to dlfilters (Michael Petlan) [2003982] - perf script: Add option to list dlfilters (Michael Petlan) [2003982] - perf script: Add dlfilter__filter_event_early() (Michael Petlan) [2003982] - perf script: Add API for filtering via dynamically loaded shared object (Michael Petlan) [2003982] - perf llvm: Return -ENOMEM when asprintf() fails (Michael Petlan) [2003982] - perf cs-etm: Delay decode of non-timeless data until cs_etm__flush_events() (Michael Petlan) [2003982] - perf arm-spe: Don't wait for PERF_RECORD_EXIT event (Michael Petlan) [2003982] - perf arm-spe: Bail out if the trace is later than perf event (Michael Petlan) [2003982] - perf arm-spe: Assign kernel time to synthesized event (Michael Petlan) [2003982] - perf arm-spe: Convert event kernel time to counter value (Michael Petlan) [2003982] - perf arm-spe: Save clock parameters from TIME_CONV event (Michael Petlan) [2003982] - perf cs-etm: Remove callback cs_etm_find_snapshot() (Michael Petlan) [2003982] - perf bpf_counter: Move common functions to bpf_counter.h (Michael Petlan) [2003982] - perf tools: Add cgroup_is_v2() helper (Michael Petlan) [2003982] - perf tools: Add read_cgroup_id() function (Michael Petlan) [2003982] - tools lib: Adopt bitmap_intersects() operation from the kernel sources (Michael Petlan) [2003982] - perf top: Add cgroup support for perf top (-G) (Michael Petlan) [2003982] - perf script: Share addr_al between functions (Michael Petlan) [2003982] - perf script: Move filtering before scripting (Michael Petlan) [2003982] - perf script: Move filter_cpu() earlier (Michael Petlan) [2003982] - perf test: Pass the verbose option to shell tests (Michael Petlan) [2003982] - perf probe: Add --bootconfig to output definition in bootconfig format (Michael Petlan) [2003982] - perf probe: Cleanup synthesize_probe_trace_command() (Michael Petlan) [2003982] - perf probe: Support probes on init functions for offline kernel (Michael Petlan) [2003982] - perf test: Make stat bpf counters test more robust (Michael Petlan) [2003982] - perf test: Add verbose skip output for bpf counters (Michael Petlan) [2003982] - perf annotate: Add itrace options support (Michael Petlan) [2003982] - perf mem-events: Remove duplicate #undef (Michael Petlan) [2003982] - perf evsel: Adjust hybrid event and global event mixed group (Michael Petlan) [2003982] - perf probe: Provide clearer message permission error for tracefs access (Michael Petlan) [2003982] - perf auxtrace: Change to use SMP memory barriers (Michael Petlan) [2003982] - perf srccode: Use list_move() instead of equivalent list_del() + list_add() sequence (Michael Petlan) [2003982] - perf probe: Report possible permission error for map__load() failure (Michael Petlan) [2003982] - perf probe: Add permission and sysctl notice to man page (Michael Petlan) [2003982] - perf c2c: Support record for hybrid platform (Michael Petlan) [2003982] - perf mem: Disable 'mem-loads-aux' group before reporting (Michael Petlan) [2003982] - perf mem: Fix wrong verbose output for recording events (Michael Petlan) [2003982] - perf mem: Support record for hybrid platform (Michael Petlan) [2003982] - perf tools: Check if mem_events is supported for hybrid platform (Michael Petlan) [2003982] - perf tools: Support pmu prefix for mem-store event (Michael Petlan) [2003982] - perf tools: Support pmu prefix for mem-load event (Michael Petlan) [2003982] - perf tools: Check mem-loads auxiliary event (Michael Petlan) [2003982] - perf scripting python: intel-pt-events.py: Add --insn-trace and --src-trace (Michael Petlan) [2003982] - perf scripting python: exported-sql-viewer.py: Factor out libxed.py (Michael Petlan) [2003982] - perf scripting python: Update documentation for srcline etc (Michael Petlan) [2003982] - perf scripting python: Add perf_sample_srcline() and perf_sample_srccode() (Michael Petlan) [2003982] - perf scripting python: Add perf_set_itrace_options() (Michael Petlan) [2003982] - perf auxtrace: Factor out itrace_do_parse_synth_opts() (Michael Petlan) [2003982] - perf scripting python: Add perf_sample_insn() (Michael Petlan) [2003982] - perf script: Factor out script_fetch_insn() (Michael Petlan) [2003982] - perf scripting python: Assign perf_script_context (Michael Petlan) [2003982] - perf scripting: Add perf_session to scripting_context (Michael Petlan) [2003982] - perf scripting: Add scripting_context__update() (Michael Petlan) [2003982] - perf scripting python: Simplify perf-trace-context module functions (Michael Petlan) [2003982] - perf scripting python: Remove unnecessary 'static' (Michael Petlan) [2003982] - perf test: Test 2 libpfm4 error cases (Michael Petlan) [2003982] - perf test: Iterate over shell tests in alphabetical order (Michael Petlan) [2003982] - perf probe: Provide more detail with relocation warning (Michael Petlan) [2003982] - perf parse-events: Add bison --file-prefix-map option (Michael Petlan) [2003982] - perf inject: Do not inject BUILD_ID record if MMAP2 has it (Michael Petlan) [2003982] - perf inject: Call dso__put() even if dso->hit is set (Michael Petlan) [2003982] - perf scripts python: intel-pt-events.py: Add branches to script (Michael Petlan) [2003982] - perf scripting python: Add auxtrace error (Michael Petlan) [2003982] - perf scripting python: Add context switch (Michael Petlan) [2003982] - perf scripting python: Add cpumode (Michael Petlan) [2003982] - perf scripting python: Add IPC (Michael Petlan) [2003982] - perf scripting python: Add sample flags (Michael Petlan) [2003982] - perf script: Factor out perf_sample__sprintf_flags() (Michael Petlan) [2003982] - perf scripting python: Add 'addr_location' for 'addr' (Michael Petlan) [2003982] - perf scripting python: Factor out set_sym_in_dict() (Michael Petlan) [2003982] - perf scripting python: Fix tuple_set_u64() (Michael Petlan) [2003982] - perf auxtrace: Make perf_event__process_auxtrace*() callable (Michael Petlan) [2003982] - perf script: Find script file relative to exec path (Michael Petlan) [2003982] - perf arm-spe: Remove redundant checking for "full_auxtrace" (Michael Petlan) [2003982] - perf arm-spe: Enable timestamp for per-cpu mode (Michael Petlan) [2003982] - perf arm-spe: Correct sample flags for dummy event (Michael Petlan) [2003982] - perf arm-spe: Correct sample flags for SPE event (Michael Petlan) [2003982] - perf vendor events intel: Update event list for Icelake Client (Michael Petlan) [2003982] - perf vendor events intel: Add uncore event list for Icelake Server (Michael Petlan) [2003982] - perf vendor events intel: Add core event list for Icelake Server (Michael Petlan) [2003982] - perf tests: Drop __maybe_unused on x86 test declarations (Michael Petlan) [2003982] - perf tests: Consolidate test__arch_unwind_sample declaration (Michael Petlan) [2003982] - perf build: Improve error message for old/missing clang (Michael Petlan) [2003982] - perf tools: Test build with libbpf/LIBBPF_DYNAMIC=1 (Michael Petlan) [2003982] - perf tools: Test build with libopencsd/CORESIGHT=1 (Michael Petlan) [2003982] - perf cs-etm: Prevent and warn on underflows during timestamp calculation. (Michael Petlan) [2003982] - perf cs-etm: Start reading 'Z' --itrace option (Michael Petlan) [2003982] - perf cs-etm: Move synth_opts initialisation (Michael Petlan) [2003982] - perf header: Support HYBRID_CPU_PMU_CAPS feature (Michael Petlan) [2003982] - perf header: Support HYBRID_TOPOLOGY feature (Michael Petlan) [2003982] - perf cs-etm: Set time on synthesised samples to preserve ordering (Michael Petlan) [2003982] - perf cs-etm: Refactor timestamp variable names (Michael Petlan) [2003982] - perf x86 kvm-stat: Support to analyze kvm MSR (Michael Petlan) [2003982] - perf stat: Use aggregated counts directly (Michael Petlan) [2003982] - perf record: Set timestamp boundary for AUX area events (Michael Petlan) [2003982] - perf intel-pt: Parse VM Time Correlation options and set up decoding (Michael Petlan) [2003982] - perf intel-pt: Add VM Time Correlation to decoder (Michael Petlan) [2003982] - perf intel-pt: Better 7-byte timestamp wraparound logic (Michael Petlan) [2003982] - perf intel-pt: Pass the first timestamp to the decoder (Michael Petlan) [2003982] - perf intel-pt: Add a tree for VMCS information (Michael Petlan) [2003982] - perf intel-pt: Let overlap detection handle VM timestamps (Michael Petlan) [2003982] - perf auxtrace: Allow buffers to be mapped read / write (Michael Petlan) [2003982] - perf inject: Add --vm-time-correlation option (Michael Petlan) [2003982] - perf inject: Add facility to do in place update (Michael Petlan) [2003982] - perf intel-pt: Support Z itrace option for timeless decoding (Michael Petlan) [2003982] - perf intel-pt: Move synth_opts initialization earlier (Michael Petlan) [2003982] - perf auxtrace: Add Z itrace option for timeless decoding (Michael Petlan) [2003982] - perf/x86/amd/power: Assign pmu.module (Michael Petlan) [2003982] - perf/x86/amd/ibs: Extend PERF_PMU_CAP_NO_EXCLUDE to IBS Op (Michael Petlan) [2003982] - perf/x86/amd/ibs: Work around erratum #1197 (Michael Petlan) [2003982] - perf/x86/intel/uncore: Fix integer overflow on 23 bit left shift of a u32 (Michael Petlan) [2003982] - perf/x86/intel/pt: Fix mask of num_address_ranges (Michael Petlan) [2003982] - perf/x86: Fix out of bound MSR access (Michael Petlan) [2003982] - perf/x86/cstate: Add ICELAKE_X and ICELAKE_D support (Michael Petlan) [2003982] - perf: MAP_EXECUTABLE does not indicate VM_MAYEXEC (Michael Petlan) [2003982] - arm64: perf: Simplify EVENT ATTR macro in perf_event.c (Michael Petlan) [2003982] - arm64: perf: Simplify the ARMv8 PMUv3 event attributes (Michael Petlan) [2003982] - arm64: perf: Remove unused macro (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in qcom_l2_pmu.c (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in qcom_l3_pmu.c (Michael Petlan) [2003982] - drivers/perf: Simplify EVENT ATTR macro in xgene_pmu.c (Michael Petlan) [2003982] - drivers/perf: convert sysfs sprintf family to sysfs_emit (Michael Petlan) [2003982] - drivers/perf: convert sysfs scnprintf family to sysfs_emit_at() and sysfs_emit() (Michael Petlan) [2003982] - perf: arm-ccn: Use scnprintf() for robustness (Michael Petlan) [2003982] - drivers/perf: convert sysfs snprintf family to sysfs_emit (Michael Petlan) [2003982] - perf: Add EVENT_ATTR_ID to simplify event attributes (Michael Petlan) [2003982] - perf/x86/intel: Fix instructions:ppp support in Sapphire Rapids (Michael Petlan) [2003982] - perf/x86/intel: Add more events requires FRONTEND MSR on Sapphire Rapids (Michael Petlan) [2003982] - perf/x86: Reset the dirty counter to prevent the leak for an RDPMC task (Michael Petlan) [2003982] - uprobes: Update uprobe_write_opcode() kernel-doc comment (Michael Petlan) [2003982] - perf/hw_breakpoint: Fix DocBook warnings in perf hw_breakpoint (Michael Petlan) [2003982] - perf/core: Fix DocBook warnings (Michael Petlan) [2003982] - perf/core: Make local function perf_pmu_snapshot_aux() static (Michael Petlan) [2003982] - perf/x86/intel/uncore: Enable I/O stacks to IIO PMON mapping on ICX (Michael Petlan) [2003982] - perf/x86/intel/uncore: Enable I/O stacks to IIO PMON mapping on SNR (Michael Petlan) [2003982] - perf/x86/intel/uncore: Generalize I/O stacks to PMON mapping procedure (Michael Petlan) [2003982] - perf/x86/intel/uncore: Drop unnecessary NULL checks after container_of() (Michael Petlan) [2003982] - x86/events/intel: Do not deploy TSX force abort workaround when TSX is deprecated (Michael Petlan) [2003982] - netpoll: don't require irqs disabled in rt kernels (Wander Lairson Costa) [1905440] - net/netif_receive_skb_core: Use migrate_disable() (Luis Claudio R. Goncalves) [2024168] - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP (Kamal Heib) [2006260 1984280] - RDMA/core: Always release restrack object (Kamal Heib) [2006260] - RDMA/core: Fix incorrect print format specifier (Kamal Heib) [2006260] - RDMA: Remove rdma_set_device_sysfs_group() (Kamal Heib) [2006260] - RDMA/core: Allow port_groups to be used with namespaces (Kamal Heib) [2006260] - RDMA: Change ops->init_port to ops->port_groups (Kamal Heib) [2006260] - RDMA/hfi1: Use attributes for the port sysfs (Kamal Heib) [2006260 1989164] - RDMA/cm: Use an attribute_group on the ib_port_attribute intead of kobj's (Kamal Heib) [2006260] - RDMA/core: Expose the ib port sysfs attribute machinery (Kamal Heib) [2006260] - RDMA/core: Remove the kobject_uevent() NOP (Kamal Heib) [2006260] - RDMA/core: Create the device hw_counters through the normal groups mechanism (Kamal Heib) [2006260] - RDMA/core: Simplify how the port sysfs is created (Kamal Heib) [2006260] - RDMA/core: Simplify how the gid_attrs sysfs is created (Kamal Heib) [2006260] - RDMA/core: Split gid_attrs related sysfs from add_port() (Kamal Heib) [2006260] - RDMA/core: Split port and device counter sysfs attributes (Kamal Heib) [2006260] - RDMA/core: Replace the ib_port_data hw_stats pointers with a ib_port pointer (Kamal Heib) [2006260] - RDMA: Split the alloc_hw_stats() ops to port and device variants (Kamal Heib) [2006260] - RDMA/rxe: Zero out index member of struct rxe_queue (Kamal Heib) [2006260] - RDMA/efa: Free IRQ vectors on error flow (Kamal Heib) [2006260] - RDMA/rxe: Fix memory allocation while in a spin lock (Kamal Heib) [2006260] - IB/hfi1: Fix possible null-pointer dereference in _extend_sdma_tx_descs() (Kamal Heib) [2006260 1989164] - RDMA/rxe: Restore setting tot_len in the IPv4 header (Kamal Heib) [2006260] - RDMA/rxe: Use the correct size of wqe when processing SRQ (Kamal Heib) [2006260] - RDMA/cma: Revert INIT-INIT patch (Kamal Heib) [2006260] - RDMA/rxe: Fix memory leak in error path code (Kamal Heib) [2006260] - RDMA/rxe: Missing unlock on error in get_srq_wqe() (Kamal Heib) [2006260] - RDMA/cma: Fix rdma_resolve_route() memory leak (Kamal Heib) [2006260] - RDMA/core/sa_query: Remove unused argument (Kamal Heib) [2006260] - RDMA/cma: Fix incorrect Packet Lifetime calculation (Kamal Heib) [2006260] - RDMA/cma: Protect RMW with qp_mutex (Kamal Heib) [2006260] - RDMA/cma: Remove unnecessary INIT->INIT transition (Kamal Heib) [2006260] - RDMA/rxe: Fix redundant skb_put_zero (Kamal Heib) [2006260] - RDMA/rxe: Fix extra copy in prepare_ack_packet (Kamal Heib) [2006260] - RDMA/rxe: Fix over copying in get_srq_wqe (Kamal Heib) [2006260] - RDMA/rxe: Fix extra copies in build_rdma_network_hdr (Kamal Heib) [2006260] - RDMA/rxe: Fix redundant call to ip_send_check (Kamal Heib) [2006260] - RDMA/rxe: Fix useless copy in send_atomic_ack (Kamal Heib) [2006260] - RDMA/core: Use flexible array for mad data (Kamal Heib) [2006260] - RDMA/rxe: Don't overwrite errno from ib_umem_get() (Kamal Heib) [2006260] - IB/core: Shuffle locks in ib_port_data to save memory (Kamal Heib) [2006260] - IB/core: Removed port validity check from ib_get_cached_subnet_prefix (Kamal Heib) [2006260] - RDMA: Fix kernel-doc warnings about wrong comment (Kamal Heib) [2006260] - RDMA/rxe: Disallow MR dereg and invalidate when bound (Kamal Heib) [2006260] - RDMA/rxe: Implement memory access through MWs (Kamal Heib) [2006260] - RDMA/rxe: Implement invalidate MW operations (Kamal Heib) [2006260] - RDMA/rxe: Add support for bind MW work requests (Kamal Heib) [2006260] - RDMA/rxe: Move local ops to subroutine (Kamal Heib) [2006260] - RDMA/rxe: Replace WR_REG_MASK by WR_LOCAL_OP_MASK (Kamal Heib) [2006260] - RDMA/rxe: Add ib_alloc_mw and ib_dealloc_mw verbs (Kamal Heib) [2006260] - RDMA/rxe: Enable MW object pool (Kamal Heib) [2006260] - RDMA/rxe: Return errors for add index and key (Kamal Heib) [2006260] - RDMA/rxe: Add bind MW fields to rxe_send_wr (Kamal Heib) [2006260] - RDMA/rxe: Fix qp reference counting for atomic ops (Kamal Heib) [2006260] - IB/cm: Remove dgid from the cm_id_priv av (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of ib_uverbs_device (Kamal Heib) [2006260] - RDMA/ipoib: Use refcount_t instead of atomic_t for reference counting (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_port (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_member (Kamal Heib) [2006260] - RDMA/core: Remove refcount from struct ib_mad_snoop_private (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of iwpm_admin_data (Kamal Heib) [2006260] - RDMA/core: Use refcount_t instead of atomic_t on refcount of iwcm_id_private (Kamal Heib) [2006260] - RDMA/rxe: Protext kernel index from user space (Kamal Heib) [2006260] - RDMA/rxe: Protect user space index loads/stores (Kamal Heib) [2006260] - RDMA/rxe: Add a type flag to rxe_queue structs (Kamal Heib) [2006260] - IB/cm: Protect cm_dev, cm_ports and mad_agent with kref and lock (Kamal Heib) [2006260] - IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path (Kamal Heib) [2006260] - IB/cm: Simplify ib_cancel_mad() and ib_modify_mad() calls (Kamal Heib) [2006260] - Revert "IB/cm: Mark stale CM id's whenever the mad agent was unregistered" (Kamal Heib) [2006260] - IB/cm: Tidy remaining cm_msg free paths (Kamal Heib) [2006260] - IB/cm: Call the correct message free functions in cm_send_handler() (Kamal Heib) [2006260] - IB/cm: Split cm_alloc_msg() (Kamal Heib) [2006260] - IB/cm: Pair cm_alloc_response_msg() with a cm_free_response_msg() (Kamal Heib) [2006260] - RDMA/core: Sanitize WQ state received from the userspace (Kamal Heib) [2006260] - RDMA/srp: Use DEVICE_ATTR_*() macros (Kamal Heib) [2006260] - RDMA/core: Use the DEVICE_ATTR_RO macro (Kamal Heib) [2006260] - IB/ipoib: Use DEVICE_ATTR_*() macros (Kamal Heib) [2006260] - IB/core: Only update PKEY and GID caches on respective events (Kamal Heib) [2006260] - RDMA/srp: Fix a recently introduced memory leak (Kamal Heib) [2006260] - RDMA/srp: Add more structure size checks (Kamal Heib) [2006260] - IB/hfi1: Move a function from a header file into a .c file (Kamal Heib) [2006260 1989164] - IB/hfi1: Remove the repeated declaration (Kamal Heib) [2006260 1989164] - IB/hfi1: Delete an unneeded bool conversion (Kamal Heib) [2006260 1989164] - RDMA: Remove unnecessary struct declaration (Kamal Heib) [2006260] - RDMA/core: Remove never used ib_modify_wq function call (Kamal Heib) [2006260] - IB/srpt: Remove redundant assignment to ret (Kamal Heib) [2006260] - RDMA/ucma: Cleanup to reduce duplicate code (Kamal Heib) [2006260] - RDMA/umem: batch page unpin in __ib_umem_release() (Kamal Heib) [2006259] - RDMA/rxe: Return CQE error if invalid lkey was supplied (Kamal Heib) [2006259] - RDMA/nldev: Add copy-on-fork attribute to get sys command (Kamal Heib) [2006259] - IB/hfi1: Remove redundant variable rcd (Kamal Heib) [2006259 1989164] - RDMA/nldev: Add QP numbers to SRQ information (Kamal Heib) [2006259] - RDMA/nldev: Return SRQ information (Kamal Heib) [2006259] - RDMA/restrack: Add support to get resource tracking for SRQ (Kamal Heib) [2006259] - RDMA/nldev: Return context information (Kamal Heib) [2006259] - RDMA/cma: Skip device which doesn't support CM (Kamal Heib) [2006259 1957239] - IB/ipoib: Remove unnecessary struct declaration (Kamal Heib) [2006259] - IB/ipoib: Improve latency in ipoib/cm connection formation (Kamal Heib) [2006259] - RDMA/ipoib: Print a message if only child interface is UP (Kamal Heib) [2006259] - RDMA/uverbs: Make UVERBS_OBJECT_METHODS to consider line number (Kamal Heib) [2006259] - IB/hfi1: Rework AIP and VNIC dummy netdev usage (Kamal Heib) [2006259 1989164] - IB/cma: Introduce rdma_set_min_rnr_timer() (Kamal Heib) [2006259] - RDMA/core: Correct format of block comments (Kamal Heib) [2006259] - RDMA/core: Correct format of braces (Kamal Heib) [2006259] - RDMA/core: Remove redundant spaces (Kamal Heib) [2006259] - RDMA/core: Add necessary spaces (Kamal Heib) [2006259] - RDMA/core: Remove the redundant return statements (Kamal Heib) [2006259] - RDMA/core: Print the function name by __func__ instead of an fixed string (Kamal Heib) [2006259] - RDMA/rxe: Fix missing acks from responder (Kamal Heib) [2006259] - RDMA/core: Make the wc status prompt message clearer (Kamal Heib) [2006259] - IB/hfi1: Remove indirect call to hfi1_ipoib_send_dma() (Kamal Heib) [2006259 1989164] - IB/hfi1: Use napi_schedule_irqoff() for tx napi (Kamal Heib) [2006259 1989164] - IB/hfi1: Correct oversized ring allocation (Kamal Heib) [2006259 1989164] - IB/{ipoib,hfi1}: Add a timeout handler for rdma_netdev (Kamal Heib) [2006259 1989164] - IB/hfi1: Add AIP tx traces (Kamal Heib) [2006259 1989164] - RDMA/uverbs: Fix -Wunused-function warning (Kamal Heib) [2006259] - RDMA/iser: struct iscsi_iser_task is declared twice (Kamal Heib) [2006259] - RDMA/rxe: Split MEM into MR and MW (Kamal Heib) [2006259] - RDMA/efa: Use strscpy instead of strlcpy (Kamal Heib) [2006259] - RDMA: Fix a typo (Kamal Heib) [2006259] - IB/hfi1: Fix a typo (Kamal Heib) [2006259 1989164] - RDMA/core: Correct misspellings of two words in comments (Kamal Heib) [2006259] - RDMA/uverbs: Refactor rdma_counter_set_auto_mode and __counter_set_mode (Kamal Heib) [2006259] - RDMA: Support more than 255 rdma ports (Kamal Heib) [2006259 1957239] - RDMA/include: Mundane typo fixes throughout the file (Kamal Heib) [2006259] - RDMA/cma: Remove unused leftovers in cma code (Kamal Heib) [2006259] - RDMA: Fix kernel-doc compilation warnings (Kamal Heib) [2006259] - RDMA/hw/i40iw/i40iw_virtchnl: Fix a bunch of kernel-doc issues (Kamal Heib) [2006259] - RDMA/hw/i40iw/i40iw_utils: Fix some misspellings and missing param descriptions (Kamal Heib) [2006259] - IB/core: Split uverbs_get_const/default to consider target type (Kamal Heib) [2006259] - IB/core: Drop WARN_ON() from ib_umem_find_best_pgsz() (Kamal Heib) [2006259] - RDMA/core: Remove unused req_ncomp_notif device operation (Kamal Heib) [2006259] - RDMA/iwcm: Allow AFONLY binding for IPv6 addresses (Kamal Heib) [2006259] - IB/hfi1: switch to core handling of rx/tx byte/packet counters (Kamal Heib) [2006259 1989164] - RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit (Kamal Heib) [2006259] - RDMA: Manual changes for sysfs_emit and neatening (Kamal Heib) [2006259] - RDMA: Convert sysfs device * show functions to use sysfs_emit() (Kamal Heib) [2006259] - IB/hfi1: use new function dev_fetch_sw_netstats (Kamal Heib) [2006259 1989164] - RDMA/ipoib: Convert to use DEFINE_SEQ_ATTRIBUTE macro (Kamal Heib) [2006259] - include/linux/seq_file.h: introduce DEFINE_SEQ_ATTRIBUTE() helper macro (Kamal Heib) [2006259] - ibmvnic: delay complete() (Diego Domingos) [2019210] - ibmvnic: Process crqs after enabling interrupts (Diego Domingos) [2019210] - Documentation: sysrq: update description about sysrq crash (Chris von Recklinghausen) [2019943] - sysrq: Use panic() to force a crash (Chris von Recklinghausen) [2019943] - ethtool: extend coalesce setting uAPI with CQE mode (Ivan Vecera) [2006829] - ethtool: add two coalesce attributes for CQE mode (Ivan Vecera) [2006829] - ice: Add support for VF rate limiting (Jonathan Toppins) [1973187] - net: Prevent infinite while loop in skb_tx_hash() (Paolo Abeni) [2018437] - napi: fix race inside napi_enable (Paolo Abeni) [2018437] - net/af_unix: fix a data-race in unix_dgram_poll (Paolo Abeni) [2018437] - devlink: Clear whole devlink_flash_notify struct (Paolo Abeni) [2018437] - net: linkwatch: fix failure to restore device state across suspend/resume (Paolo Abeni) [2018437] - gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check (Paolo Abeni) [2018437] - gro: ensure frag0 meets IP header alignment (Paolo Abeni) [2018437] - net: core: allow fast GRO for skbs with Ethernet header in head (Paolo Abeni) [2018437] - udp: fix skb_copy_and_csum_datagram with odd segment sizes (Paolo Abeni) [2018437] - skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too (Paolo Abeni) [2018437] - selftests/net: remove min gso test in packet_snd (Paolo Abeni) [2018437] - net: be more gentle about silly gso requests coming from user (Paolo Abeni) [2018437] - virtio_net: Do not pull payload in skb->head (Paolo Abeni) [2018437] - net: check untrusted gso_size at kernel entry (Paolo Abeni) [2018437] - net: stricter validation of untrusted gso packets$ (Paolo Abeni) [2018437] - net: avoid 32 x truesize under-estimation for tiny skbs (Paolo Abeni) [2018437] - ionic: no devlink_unregister if not registered (Jonathan Toppins) [2016705] - ionic: tame the filter no space message (Jonathan Toppins) [2016705 1959512 2002943] - ionic: allow adminq requests to override default error message (Jonathan Toppins) [2016705 1959512 2002943] - ionic: handle vlan id overflow (Jonathan Toppins) [2016705 1959512 2002943] - ionic: generic filter delete (Jonathan Toppins) [2016705 1959512 2002943] - ionic: generic filter add (Jonathan Toppins) [2016705 1959512 2002943] - ionic: add generic filter search (Jonathan Toppins) [2016705 1959512 2002943] - ionic: remove mac overflow flags (Jonathan Toppins) [2016705 1959512 2002943] - ionic: move lif mac address functions (Jonathan Toppins) [2016705 1959512 2002943] - ionic: add filterlist to debugfs (Jonathan Toppins) [2016705 1959512 2002943] - ionic: don't remove netdev->dev_addr when syncing uc list (Jonathan Toppins) [2016705 2012030] - ionic: move filter sync_needed bit set (Jonathan Toppins) [2016705] - ionic: add lif param to ionic_qcq_disable (Jonathan Toppins) [2016705] - ionic: have ionic_qcq_disable decide on sending to hardware (Jonathan Toppins) [2016705] - ionic: add polling to adminq wait (Jonathan Toppins) [2016705] - ionic: widen queue_lock use around lif init and deinit (Jonathan Toppins) [2016705] - ionic: move lif mutex setup and delete (Jonathan Toppins) [2016705] - ionic: check for binary values in FW ver string (Jonathan Toppins) [2016705] - ionic: remove debug stats (Jonathan Toppins) [2016705] - ionic: fix gathering of debug stats (Jonathan Toppins) [2016705] - ionic: fix a sleeping in atomic bug (Jonathan Toppins) [2016705] - ionic: fix double use of queue-lock (Jonathan Toppins) [2016705] - ionic: recreate hwstamp queues on ifup (Jonathan Toppins) [2016705 1981590] - ionic: pull hwstamp queue_lock up a level (Jonathan Toppins) [2016705 1981590] - ionic: add queue lock around open and stop (Jonathan Toppins) [2016705 1981590] - ionic: fill mac addr earlier in add_addr (Jonathan Toppins) [2016705 1981590] - ionic: squelch unnecessary fw halted message (Jonathan Toppins) [2016705 1981590] - ionic: fire watchdog again after fw_down (Jonathan Toppins) [2016705 1981590] - ionic: handle mac filter overflow (Jonathan Toppins) [2016705 1981590] - ionic: refactor ionic_lif_addr to remove a layer (Jonathan Toppins) [2016705 1981590] - ionic: sync the filters in the work task (Jonathan Toppins) [2016705 1981590] - ionic: flatten calls to set-rx-mode (Jonathan Toppins) [2016705 1981590] - ionic: remove old work task types (Jonathan Toppins) [2016705 1981590] - ionic: add function tag to debug string (Jonathan Toppins) [2016705] - ionic: enable rxhash only with multiple queues (Jonathan Toppins) [2016705] - ionic: block some ethtool operations when fw in reset (Jonathan Toppins) [2016705] - ionic: remove unneeded comp union fields (Jonathan Toppins) [2016705] - ionic: increment num-vfs before configure (Jonathan Toppins) [2016705] - ionic: use fewer inits on the buf_info struct (Jonathan Toppins) [2016705] - ionic: init reconfig err to 0 (Jonathan Toppins) [2016705] - ionic: print firmware version on identify (Jonathan Toppins) [2016705] - ionic: monitor fw status generation (Jonathan Toppins) [2016705] - ionic: minimize resources when under kdump (Jonathan Toppins) [2016705] - ionic: cleanly release devlink instance (Jonathan Toppins) [2016705] - ionic: drop useless check of PCI driver data validity (Jonathan Toppins) [2016705] - ionic: Remove unused function pointer typedef ionic_reset_cb (Jonathan Toppins) [2016705] - ACPI: Use fwnode_init() to set up fwnode (Mark Langsdorf) [1982374] - device property: Add missed header in fwnode.h (Mark Langsdorf) [1982374] - regmap: set debugfs_name to NULL after it is freed (Mark Langsdorf) [1982374] - mfd: cpcap: Fix interrupt regression with regmap clear_ack (Mark Langsdorf) [1982374] - driver core: Fix device link device name collision (Mark Langsdorf) [1982374] - driver core: Extend device_is_dependent() (Mark Langsdorf) [1982374] - device property: add description of fwnode cases (Mark Langsdorf) [1982374] - Revert "device property: Keep secondary firmware node secondary by type" (Mark Langsdorf) [1982374] - regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() (Mark Langsdorf) [1982374] - regmap: debugfs: Fix a memory leak when calling regmap_attach_dev (Mark Langsdorf) [1982374] - driver core: platform: Add extra error check in devm_platform_get_irqs_affinity() (Mark Langsdorf) [1982374] - driver core: platform: don't oops in platform_shutdown() on unbound devices (Mark Langsdorf) [1982374] - PM: domains: create debugfs nodes when adding power domains (Mark Langsdorf) [1982374] - driver core: platform: Add devm_platform_get_irqs_affinity() (Mark Langsdorf) [1982374] - platform-msi: Track shared domain allocation (Mark Langsdorf) [1982374] - driver core: platform: Introduce platform_get_mem_or_io() (Mark Langsdorf) [1982374] - soc: fix comment for freeing soc_dev_attr (Mark Langsdorf) [1982374] - driver core: platform: use bus_type functions (Mark Langsdorf) [1982374] - driver core: platform: change logic implementing platform_driver_probe (Mark Langsdorf) [1982374] - driver core: platform: reorder functions (Mark Langsdorf) [1982374] - driver core: make driver_probe_device() static (Mark Langsdorf) [1982374] - driver core: Fix a couple of typos (Mark Langsdorf) [1982374] - driver core: Refactor fw_devlink feature (Mark Langsdorf) [1982374] - efi: Update implementation of add_links() to create fwnode links (Mark Langsdorf) [1982374] - of: property: Update implementation of add_links() to create fwnode links (Mark Langsdorf) [1982374] - driver core: Use device's fwnode to check if it is waiting for suppliers (Mark Langsdorf) [1982374] - driver core: Add fw_devlink_parse_fwtree() (Mark Langsdorf) [1982374] - driver core: Redefine the meaning of fwnode_operations.add_links() (Mark Langsdorf) [1982374] - device property: Add fwnode_is_ancestor_of() and fwnode_get_next_parent_dev() (Mark Langsdorf) [1982374] - driver core: Allow only unprobed consumers for SYNC_STATE_ONLY device links (Mark Langsdorf) [1982374] - driver core: Add fwnode link support (Mark Langsdorf) [1982374] - driver core: Add fwnode_init() (Mark Langsdorf) [1982374] - Revert "[base] driver core: fw_devlink: Add support for batching fwnode parsing" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Remove check in driver_deferred_probe_force_trigger()" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Don't do deferred probe in parallel with kernel_init thread" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Rename dev_links_info.defer_sync to defer_hook" (Mark Langsdorf) [1982374] - Revert "[base] driver core: Avoid deferred probe due to fw_devlink_pause/resume()" (Mark Langsdorf) [1982374] - regmap: Remove duplicate `type` field from regmap `regcache_sync` trace event (Mark Langsdorf) [1982374] - PM: sleep: Add dev_wakeup_path() helper (Mark Langsdorf) [1982374] - regmap: Fix order of regmap write log (Mark Langsdorf) [1982374] - regmap: use less #ifdef for LOG_DEVICE (Mark Langsdorf) [1982374] - PM: domains: Enable dev_pm_genpd_suspend|resume() for suspend-to-idle (Mark Langsdorf) [1982374] - PM: domains: Rename pm_genpd_syscore_poweroff|poweron() (Mark Langsdorf) [1982374] - PM: sleep: Print driver flags for all devices during suspend/resume (Mark Langsdorf) [1982374] - driver core: Fix lockdep warning on wfs_lock (Mark Langsdorf) [1982374] - regmap: irq: Convert to use irq_domain_create_legacy() (Mark Langsdorf) [1982374] - irqdomain: Introduce irq_domain_create_legacy() API (Mark Langsdorf) [1982374] - irqdomain: Replace open coded of_node_to_fwnode() (Mark Langsdorf) [1982374] - irqdomain: Add forward declaration of fwnode_handle (Mark Langsdorf) [1982374] - irqdomain: Remove unused of_device_id forward declaration (Mark Langsdorf) [1982374] - regmap-irq: use fwnode instead of device node in add_irq_chip() (Mark Langsdorf) [1982374] - regmap: mmio: add config option to allow relaxed MMIO accesses (Mark Langsdorf) [1982374] - PM: sleep: remove unreachable break (Mark Langsdorf) [1982374] - PM: domains: enable domain idle state accounting (Mark Langsdorf) [1982374] - PM: domains: Add curly braces to delimit comment + statement block (Mark Langsdorf) [1982374] - PM: domains: Add support for PM domain on/off notifiers for genpd (Mark Langsdorf) [1982374] - PM / Domains: Simplify genpd_lookup_dev() (Mark Langsdorf) [1982374] - regmap: irq: Add support to clear ack registers (Mark Langsdorf) [1982374] - PM: domains: Allow to abort power off when no ->power_off() callback (Mark Langsdorf) [1982374] - PM: domains: Rename power state enums for genpd (Mark Langsdorf) [1982374] - regmap: debugfs: use semicolons rather than commas to separate statements (Mark Langsdorf) [1982374] - drivers core: node: Use a more typical macro definition style for ACCESS_ATTR (Mark Langsdorf) [1982374] - drivers core: Use sysfs_emit for shared_cpu_map_show and shared_cpu_list_show (Mark Langsdorf) [1982374] - efi: Rename arm-init to efi-init common for all arch (Mark Langsdorf) [1982374] - efi/arm: Defer probe of PCIe backed efifb on DT systems (Mark Langsdorf) [1982374] - net/smc: improved fix wait on already cleared link (Sumanth Korikkar) [1984991] - net/smc: fix 'workqueue leaked lock' in smc_conn_abort_work (Sumanth Korikkar) [1984991] - net/smc: add missing error check in smc_clc_prfx_set() (Sumanth Korikkar) [1984991] - net/smc: Correct smc link connection counter in case of smc client (Sumanth Korikkar) [1984991] - net/smc: fix wait on already cleared link (Sumanth Korikkar) [1984991] - KVM: s390: Fix handle_sske page fault handling (Thomas Huth) [2022731] - KVM: s390: Simplify SIGP Set Arch handling (Thomas Huth) [2022731] - KVM: s390: pv: avoid stalls when making pages secure (Thomas Huth) [2022731] - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm (Thomas Huth) [2022731] - KVM: s390: pv: avoid double free of sida page (Thomas Huth) [2022731] - KVM: s390: pv: add macros for UVC CC values (Thomas Huth) [2022731] - s390/uv: fully validate the VMA before calling follow_page() (Thomas Huth) [2022731] - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() (Thomas Huth) [2022731] - s390/gmap: validate VMA in __gmap_zap() (Thomas Huth) [2022731] - KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu (Thomas Huth) [2022731] - KVM: s390: clear kicked_mask before sleeping again (Thomas Huth) [2022731] - KVM: s390: Function documentation fixes (Thomas Huth) [2022731] - s390/mm: fix kernel doc comments (Thomas Huth) [2022731] - KVM: s390: index kvm->arch.idle_mask by vcpu_idx (Thomas Huth) [2022731] - KVM: s390: generate kvm hypercall functions (Thomas Huth) [2022731] - KVM: Rename lru_slot to last_used_slot (Thomas Huth) [2022731] - s390: mm: Fix secure storage access exception handling (Thomas Huth) [2022731] - virtio/s390: get rid of open-coded kvm hypercall (Thomas Huth) [2022731] - KVM: s390: get rid of register asm usage (Thomas Huth) [2022731] - powerpc/vas: Fix potential NULL pointer dereference (Steve Best) [1907522] - powerpc/pseries/vas: Declare pseries_vas_fault_thread_fn() as static (Steve Best) [1907522] - crypto/nx: Register and unregister VAS interface on PowerVM (Steve Best) [1907522] - crypto/nx: Add sysfs interface to export NX capabilities (Steve Best) [1907522] - crypto/nx: Get NX capabilities for GZIP coprocessor type (Steve Best) [1907522] - crypto/nx: Rename nx-842-pseries file name to nx-common-pseries (Steve Best) [1907522] - powerpc/pseries/vas: Setup IRQ and fault handling (Steve Best) [1907522] - powerpc/pseries/vas: Integrate API with open/close windows (Steve Best) [1907522] - powerpc/pseries/vas: Implement getting capabilities from hypervisor (Steve Best) [1907522] - powerpc/pseries/vas: Add hcall wrappers for VAS handling (Steve Best) [1907522] - powerpc/vas: Define QoS credit flag to allocate window (Steve Best) [1907522] - powerpc/pseries/vas: Define VAS/NXGZIP hcalls and structs (Steve Best) [1907522] - powerpc/vas: Define and use common vas_window struct (Steve Best) [1907522] - powerpc/powernv: no need to check return value of debugfs_create functions (Steve Best) [1907522] - powerpc/vas: Move update_csb/dump_crb to common book3s platform (Steve Best) [1907522] - powerpc/vas: Create take/drop pid and mm reference functions (Steve Best) [1907522] - powerpc/vas: Add platform specific user window operations (Steve Best) [1907522] - powerpc/powernv/vas: Rename register/unregister functions (Steve Best) [1907522] - powerpc/vas: Move VAS API to book3s common platform (Steve Best) [1907522] - powerpc/powernv/vas: Release reference to tgid during window close (Steve Best) [1907522] - powerpc/pseries: Prevent free CPU ids being reused on another node (Desnes A. Nunes do Rosario) [2004808] - powerpc/numa: Consider the max NUMA node for migratable LPAR (Desnes A. Nunes do Rosario) [2004808]- zram: replace fsync_bdev with sync_blockdev (Ming Lei) [2015755] - zram: avoid race between zram_remove and disksize_store (Ming Lei) [2015755] - zram: don't fail to remove zram during unloading module (Ming Lei) [2015755] - zram: fix race between zram_reset_device() and disksize_store() (Ming Lei) [2015755] - zram: register default groups with device_add_disk() (Ming Lei) [2015755] - hyperv/vmbus: include linux/bitops.h (Mohammed Gamal) [2008565] - hv: vmbus: Avoid -Werror=maybe-uninitialized error (Mohammed Gamal) [2008565] - Drivers: hv: vmbus: Fix kernel crash upon unbinding a device from uio_hv_generic driver (Mohammed Gamal) [2008565] - Drivers: hv: vmbus: Fix duplicate CPU assignments within a device (Mohammed Gamal) [2008565] - drivers: hv: Fix missing error code in vmbus_connect() (Mohammed Gamal) [2008565] - hv_utils: Fix passing zero to 'PTR_ERR' warning (Mohammed Gamal) [2008565] - ice: Fix VF true promiscuous mode (Jonathan Toppins) [1970643] - ice: Remove toggling of antispoof for VF trusted promiscuous mode (Jonathan Toppins) [1970643] - ice: Fix replacing VF hardware MAC to existing MAC filter (Jonathan Toppins) [1970643] - ice: Fix not stopping Tx queues for VFs (Jonathan Toppins) [1970643] - ice: Fix race conditions between virtchnl handling and VF ndo ops (Jonathan Toppins) [1970643] - ice: move ice_container_type onto ice_ring_container (Jonathan Toppins) [1970643] - ice: remove ring_active from ice_ring (Jonathan Toppins) [1970643] - ice: Print the api_patch as part of the fw.mgmt.api (Jonathan Toppins) [1970643] - ice: Avoid crash from unnecessary IDA free (Jonathan Toppins) [1970643] - ice: Fix failure to re-add LAN/RDMA Tx queues (Jonathan Toppins) [1970643] - ice: Add missing E810 device ids (Jonathan Toppins) [1970643] - ice: fix locking for Tx timestamp tracking flush (Jonathan Toppins) [1970643] - ice: Delete always true check of PF pointer (Jonathan Toppins) [1970643] - ice: Correctly deal with PFs that do not support RDMA (Jonathan Toppins) [1970643] - ice: add lock around Tx timestamp tracker flush (Jonathan Toppins) [1970643] - ice: remove dead code for allocating pin_config (Jonathan Toppins) [1970643] - ice: do not abort devlink info if board identifier can't be found (Jonathan Toppins) [1970643] - ice: Fix a memory leak in an error handling path in 'ice_pf_dcb_cfg()' (Jonathan Toppins) [1970643] - ice: remove unnecessary VSI assignment (Jonathan Toppins) [1970643] - ice: remove the VSI info from previous agg (Jonathan Toppins) [1970643] - ice: add tracepoints (Jonathan Toppins) [1970643] - ice: report hash type such as L2/L3/L4 (Jonathan Toppins) [1970643] - ice: remove redundant continue statement in a for-loop (Jonathan Toppins) [1970643] - net: ice: ptp: fix compilation warning if PTP_1588_CLOCK is disabled (Jonathan Toppins) [1970643] - ice: remove unnecessary NULL checks before ptp_read_system_* (Jonathan Toppins) [1970643] - ice: Remove the repeated declaration (Jonathan Toppins) [1970643] - ice: remove local variable (Jonathan Toppins) [1970643] - ice: reduce scope of variables (Jonathan Toppins) [1970643] - ice: mark PTYPE 2 as reserved (Jonathan Toppins) [1970643] - ice: fix incorrect payload indicator on PTYPE (Jonathan Toppins) [1970643] - ice: parameterize functions responsible for Tx ring management (Jonathan Toppins) [1970643] - ice: add ndo_bpf callback for safe mode netdev ops (Jonathan Toppins) [1970643] - ice: fix clang warning regarding deadcode.DeadStores (Jonathan Toppins) [1970643] - ice: downgrade error print to debug print (Jonathan Toppins) [1970643] - ice: Detect and report unsupported module power levels (Jonathan Toppins) [1970643] - ice: (re)initialize NVM fields when rebuilding (Jonathan Toppins) [1970643] - ice: wait for reset before reporting devlink info (Jonathan Toppins) [1970643] - ice: add error message when pldmfw_flash_image fails (Jonathan Toppins) [1970643] - ice: add extack when unable to read device caps (Jonathan Toppins) [1970643] - ice: use static inline for dummy functions (Jonathan Toppins) [1970643] - ice: Re-organizes reqstd/avail {R, T}XQ check/code for efficiency (Jonathan Toppins) [1970643] - ice: set the value of global config lock timeout longer (Jonathan Toppins) [1970643] - ice: Refactor VIRTCHNL_OP_CONFIG_VSI_QUEUES handling (Jonathan Toppins) [1970643] - ice: Refactor ice_setup_rx_ctx (Jonathan Toppins) [1970643] - ice: Save VF's MAC across reboot (Jonathan Toppins) [1970643] - ice: Manage VF's MAC address for both legacy and new cases (Jonathan Toppins) [1970643] - ice: Register auxiliary device to provide RDMA (Jonathan Toppins) [1970643] - ice: Implement iidc operations (Jonathan Toppins) [1970643] - virtchnl: Use pad byte in virtchnl_ether_addr to specify MAC type (Jonathan Toppins) [1970643] - iidc: Introduce iidc.h (Jonathan Toppins) [1970643] - ice: Initialize RDMA support (Jonathan Toppins) [1970643] - ice: Respond to a NETDEV_UNREGISTER event for LAG (Jonathan Toppins) [1970643] - Revert "Revert "ice: Add initial support framework for LAG"" (Jonathan Toppins) [1970643] - ice: reduce scope of variable (Jonathan Toppins) [1970643] - ice: remove return variable (Jonathan Toppins) [1970643] - ice: suppress false cppcheck issues (Jonathan Toppins) [1970643] - ice: Set vsi->vf_id as ICE_INVAL_VFID for non VF VSI types (Jonathan Toppins) [1970643] - ice: remove unused struct member (Jonathan Toppins) [1970643] - ice: use local for consistency (Jonathan Toppins) [1970643] - ice: print name in /proc/iomem (Jonathan Toppins) [1970643] - ice: Reimplement module reads used by ethtool (Jonathan Toppins) [1970643] - ice: refactor ITR data structures (Jonathan Toppins) [1970643] - ice: manage interrupts during poll exit (Jonathan Toppins) [1970643] - ice: replace custom AIM algorithm with kernel's DIM library (Jonathan Toppins) [1970643] - ice: refactor interrupt moderation writes (Jonathan Toppins) [1970643] - ice: Add new VSI states to track netdev alloc/registration (Jonathan Toppins) [1970643] - ice: Drop leading underscores in enum ice_pf_state (Jonathan Toppins) [1970643] - ice: use kernel definitions for IANA protocol ports and ether-types (Jonathan Toppins) [1970643] - ice: Remove unnecessary blank line (Jonathan Toppins) [1970643] - ice: Remove unnecessary checks in add/kill_vid ndo ops (Jonathan Toppins) [1970643] - ice: Remove rx_gro_dropped stat (Jonathan Toppins) [1970643] - ice: Use local variable instead of pointer derefs (Jonathan Toppins) [1970643] - ice: Remove unnecessary variable (Jonathan Toppins) [1970643] - ice: Limit forced overrides based on FW version (Jonathan Toppins) [1970643] - ice: Use default configuration mode for PHY configuration (Jonathan Toppins) [1970643] - ice: Replace some memsets and memcpys with assignment (Jonathan Toppins) [1970643] - ice: Fix error return codes in ice_set_link_ksettings (Jonathan Toppins) [1970643] - ice: Rename a couple of variables (Jonathan Toppins) [1970643] - ice: Remove unnecessary checker loop (Jonathan Toppins) [1970643] - ice: Ignore EMODE return for opcode 0x0605 (Jonathan Toppins) [1970643] - ice: Align macro names to the specification (Jonathan Toppins) [1970643] - ice: Modify recursive way of adding nodes (Jonathan Toppins) [1970643] - ice: Re-send some AQ commands, as result of EBUSY AQ error (Jonathan Toppins) [1970643] - ice: Correct comment block style (Jonathan Toppins) [1970643] - ice: cleanup style issues (Jonathan Toppins) [1970643] - ice: rename ptype bitmap (Jonathan Toppins) [1970643] - ice: correct memory allocation call (Jonathan Toppins) [1970643] - ice: Check for bail out condition early (Jonathan Toppins) [1970643] - ice: remove unnecessary duplicated AQ command flag setting (Jonathan Toppins) [1970643] - ice: change link misconfiguration message (Jonathan Toppins) [1970643] - ice: Update to use package info from ice segment (Jonathan Toppins) [1970643] - ice: Delay netdev registration (Jonathan Toppins) [1970643] - ice: Add Support for XPS (Jonathan Toppins) [1970643] - ice: Fix fall-through warnings for Clang (Jonathan Toppins) [1970643] - ice: Fix prototype warnings (Jonathan Toppins) [1970643] - ice: move headroom initialization to ice_setup_rx_ctx (Jonathan Toppins) [1970643] - ice: store the result of ice_rx_offset() onto ice_ring (Jonathan Toppins) [1970643] - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() (Phil Auld) [2011436] - sched/fair: Prevent dead task groups from regaining cfs_rq's (Phil Auld) [2011436] - sched/fair: Removed useless update of p->recent_used_cpu (Phil Auld) [2011436] - sched: Always inline is_percpu_thread() (Phil Auld) [2011436] - sched/fair: Add ancestors of unthrottled undecayed cfs_rq (Phil Auld) [2011436] - sched: Remove unused inline function __rq_clock_broken() (Phil Auld) [2011436] - sched: Prevent balance_push() on remote runqueues (Phil Auld) [2011436] - cpumask/hotplug: Fix cpu_dying() state tracking (Phil Auld) [2011436] - sched: Use cpu_dying() to fix balance_push vs hotplug-rollback (Phil Auld) [2011436] - cpumask: Introduce DYING mask (Phil Auld) [2011436] - cpumask: Make cpu_{online,possible,present,active}() inline (Phil Auld) [2011436] - cpu/hotplug: Cache number of online CPUs (Phil Auld) [2011436] - sched: Switch wait_task_inactive to HRTIMER_MODE_REL_HARD (Phil Auld) [2011436] - psi: Fix race between psi_trigger_create/destroy (Phil Auld) [2011436] - sctp: add vtag check in sctp_sf_ootb (Xin Long) [2001767] - sctp: add vtag check in sctp_sf_do_8_5_1_E_sa (Xin Long) [2001767] - sctp: add vtag check in sctp_sf_violation (Xin Long) [2001767] - sctp: fix the processing for COOKIE_ECHO chunk (Xin Long) [2001767] - sctp: fix the processing for INIT_ACK chunk (Xin Long) [2001767] - sctp: fix the processing for INIT chunk (Xin Long) [2001767] - sctp: use init_tag from inithdr for ABORT chunk (Xin Long) [2001767]- KVM: arm64: Extract ESR_ELx.EC only (Gavin Shan) [2008070] - KVM: arm64: vgic-v3: Align emulated cpuif LPI state machine with the pseudocode (Gavin Shan) [2008070] - KVM: arm64: vgic-v3: Don't advertise ICC_CTLR_EL1.SEIS (Gavin Shan) [2008070] - KVM: arm64: Fix reporting of endianess when the access originates at EL0 (Gavin Shan) [2008070] - KVM: arm64: Trim guest debug exception handling (Gavin Shan) [2008070] - KVM: arm64: Upgrade VMID accesses to {READ,WRITE}_ONCE (Gavin Shan) [2008070] - KVM: arm64: vgic: Drop WARN from vgic_get_irq (Gavin Shan) [2008070] - KVM: arm64: Enforce reserved bits for PSCI target affinities (Gavin Shan) [2008070] - KVM: arm64: Handle PSCI resets before userspace touches vCPU state (Gavin Shan) [2008070] - KVM: arm64: Fix read-side race on updates to vcpu reset state (Gavin Shan) [2008070] - KVM: arm64: Restore PMU configuration on first run (Gavin Shan) [2008070] - KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set (Gavin Shan) [2008070] - KVM: arm64: Prevent mixed-width VM creation (Gavin Shan) [2008070] - KVM: arm64: Fix debug register indexing (Gavin Shan) [2008070] - KVM: arm64: Reject VM creation when the default IPA size is unsupported (Gavin Shan) [2008070] - KVM: arm64: Limit the debug architecture to ARMv8.0 (Gavin Shan) [2008070] - KVM: arm64: Handle SCXTNUM_ELx traps (Gavin Shan) [2008070] - arm64: kvm: mte: Hide the MTE CPUID information from the guests (Gavin Shan) [2008070] - arm64: mte: Fix typo in macro definition (Gavin Shan) [2008070] - arm64/cpufeature: Add remaining feature bits in ID_AA64PFR1 register (Gavin Shan) [2008070] - arm64: mte: system register definitions (Gavin Shan) [2008070] - arm64: sysreg: Clean up instructions for modifying PSTATE fields (Gavin Shan) [2008070] - KVM: arm64: Only reschedule if MMU_NOTIFIER_RANGE_BLOCKABLE is not set (Gavin Shan) [2008070] - arm64: kvm: Fix IDMAP overlap with HYP VA (Gavin Shan) [2008070] - packet: rework packet_pick_tx_queue() to use common code selection (Petr Oros) [2016477] - net: dev: rename queue selection helpers. (Petr Oros) [2016477] - Revert "cpuset: Make cpuset hotplug synchronous" (Waiman Long) [2023783] - tcp: fix TLP timer not set when CA_STATE changes from DISORDER to OPEN (Paolo Abeni) [2018546] - net: Only allow init netns to set default tcp cong to a restricted algo (Paolo Abeni) [2018546] - ipv6: tcp: drop silly ICMPv6 packet too big messages (Paolo Abeni) [2018546] - tcp: annotate data races around tp->mtu_info (Paolo Abeni) [2018546] - net: send SYNACK packet with accepted fwmark (Paolo Abeni) [2018546] - tcp: call sk_wmem_schedule before sk_mem_charge in zerocopy path (Paolo Abeni) [2018546] - net/tcp_fastopen: fix data races around tfo_active_disable_stamp (Paolo Abeni) [2018546] - net/tcp_fastopen: remove obsolete extern (Paolo Abeni) [2018546] - net, gro: Set inner transport header offset in tcp/udp GRO hook (Paolo Abeni) [2018546] - tcp_bbr: fix u32 wrap bug in round logic if bbr_init() called after 2B packets (Paolo Abeni) [2018546] - tcp: seq_file: Avoid skipping sk during tcp_seek_last_pos (Paolo Abeni) [2018546] - tcp: fix tp->undo_retrans accounting in tcp_sacktag_one() (Paolo Abeni) [2018546] - evm: mark evm_fixmode as __ro_after_init (Bruno Meneguele) [2017155] - IMA: remove -Wmissing-prototypes warning (Bruno Meneguele) [2017155] - ima: Set correct casting types (Bruno Meneguele) [2017155] - evm: Don't return an error in evm_write_xattrs() if audit is not enabled (Bruno Meneguele) [2017155] - evm: fix writing /evm overflow (Bruno Meneguele) [2017155] - ima: Fix function name error in comment. (Bruno Meneguele) [2017155] - ima: Fix the error code for restoring the PCR value (Bruno Meneguele) [2017155] - integrity: double check iint_cache was initialized (Bruno Meneguele) [2017155] - certs: Fix blacklist flag type confusion (Bruno Meneguele) [2017155] - integrity: Make function integrity_add_key() static (Bruno Meneguele) [2017155] - ima: Free IMA measurement buffer after kexec syscall (Bruno Meneguele) [2017155] - ima: Free IMA measurement buffer on error (Bruno Meneguele) [2017155] - evm: Fix memleak in init_desc (Bruno Meneguele) [2017155] - crypto: shash - remove shash_desc::flags (Bruno Meneguele) [2017155] - ima: Don't modify file descriptor mode on the fly (Bruno Meneguele) [2017155] - evm: Check size of security.evm before using it (Bruno Meneguele) [2017155] - ima: Remove semicolon at the end of ima_get_binary_runtime_size() (Bruno Meneguele) [2017155] - ima: Don't ignore errors from crypto_shash_update() (Bruno Meneguele) [2017155] - integrity: remove redundant initialization of variable ret (Bruno Meneguele) [2017155] - ima: Fail rule parsing when appraise_flag=blacklist is unsupportable (Bruno Meneguele) [2017155] - ima: Fail rule parsing when the KEXEC_CMDLINE hook is combined with an invalid cond (Bruno Meneguele) [2017155] - ima: Fail rule parsing when buffer hook functions have an invalid action (Bruno Meneguele) [2017155] - ima: Free the entire rule if it fails to parse (Bruno Meneguele) [2017155] - ima: Free the entire rule when deleting a list of rules (Bruno Meneguele) [2017155] - evm: Fix possible memory leak in evm_calc_hmac_or_hash() (Bruno Meneguele) [2017155] - ima: Fix ima digest hash table key calculation (Bruno Meneguele) [2017155] - ima: Fix return value of ima_write_policy() (Bruno Meneguele) [2017155] - evm: Fix a small race in init_desc() (Bruno Meneguele) [2017155] - crypto: drop mask=CRYPTO_ALG_ASYNC from 'shash' tfm allocations (Bruno Meneguele) [2017155] - evm: Don't deadlock if a crypto algorithm is unavailable (Bruno Meneguele) [2017155] - evm: Check also if *tfm is an error pointer in init_desc() (Bruno Meneguele) [2017155] - ima: avoid appraise error for hash calc interrupt (Bruno Meneguele) [2017155] - integrity: remove pointless subdir-$(CONFIG_...) (Bruno Meneguele) [2017155] - integrity: remove unneeded, broken attempt to add -fshort-wchar (Bruno Meneguele) [2017155] - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL (Vitaly Kuznetsov) [2016961] - fs/xfs: convert comma to semicolon (Bill O'Donnell) [2009521] - xfs: remove xfs_buf_t typedef (Bill O'Donnell) [2009521] - xfs: open code updating i_mode in xfs_set_acl (Bill O'Donnell) [2009521] - xfs: remove xfs_vn_setattr_nonsize (Bill O'Donnell) [2009521] - xfs: remove unneeded return value check for *init_cursor() (Bill O'Donnell) [2009521] - xfs: introduce xfs_validate_stripe_geometry() (Bill O'Donnell) [2009521] - xfs: show the proper user quota options (Bill O'Donnell) [2009521] - xfs: remove the unused XFS_B_FSB_OFFSET macro (Bill O'Donnell) [2009521] - xfs: remove unnecessary null check in xfs_generic_create (Bill O'Donnell) [2009521] - xfs: directly return if the delta equal to zero (Bill O'Donnell) [2009521] - xfs: delete duplicated tp->t_dqinfo null check and allocation (Bill O'Donnell) [2009521] - xfs: rename xfs_fc_* back to xfs_fs_* (Bill O'Donnell) [2009521] - xfs: refactor file range validation (Bill O'Donnell) [2009521] - xfs: refactor realtime volume extent validation (Bill O'Donnell) [2009521] - xfs: refactor data device extent validation (Bill O'Donnell) [2009521] - xfs: scrub should mark a directory corrupt if any entries cannot be iget'd (Bill O'Donnell) [2009521] - xfs: detect overflows in bmbt records (Bill O'Donnell) [2009521] - xfs: trace log intent item recovery failures (Bill O'Donnell) [2009521] - xfs: validate feature support when recovering rmap/refcount intents (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered extent-free intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered extent-free intent checks out of xfs_efi_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered refcount intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered refcount intent checks out of xfs_cui_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered rmap intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered rmap intent checks out of xfs_rui_item_recover (Bill O'Donnell) [2009521] - xfs: improve the code that checks recovered bmap intent items (Bill O'Donnell) [2009521] - xfs: hoist recovered bmap intent checks out of xfs_bui_item_recover (Bill O'Donnell) [2009521] - xfs: move kernel-specific superblock validation out of libxfs (Bill O'Donnell) [2009521] - platform/x86: amd-pmc: Increase the response register timeout (David Arcari) [2005064] - ARM: 9093/1: drivers: firmwapsci: Register with kernel restart handler (Mark Salter) [1996748] - arm64/kernel: Remove needless Call Frame Information annotations (Mark Salter) [1996748] - arm64: smccc: Add support for SMCCCv1.2 extended input/output registers (Mark Salter) [1996748] - psci: Remove unneeded semicolon (Mark Salter) [1996748] - firmware: smccc: Add SMCCC TRNG function call IDs (Mark Salter) [1996748] - arm64: Add support for SMCCC TRNG entropy source (Mark Salter) [1996748] - firmware: smccc: Introduce SMCCC TRNG framework (Mark Salter) [1996748] - arm64: random: Remove no longer needed prototypes (Mark Salter) [1996748] - arm64: kaslr: Use standard early random function (Mark Salter) [1996748] - random: random.h should include archrandom.h, not the other way around (Mark Salter) [1996748] - arm64: add credited/trusted RNG support (Mark Salter) [1996748] - arm64: Use v8.5-RNG entropy for KASLR seed (Mark Salter) [1996748] - arm64: kaslr: Check command line before looking for a seed (Mark Salter) [1996748] - arm64: kaslr: Announce KASLR status on boot (Mark Salter) [1996748] - psci: Add accessor for psci_0_1_function_ids (Mark Salter) [1996748] - psci: Replace psci_function_id array with a struct (Mark Salter) [1996748] - psci: Split functions to v0.1 and v0.2+ variants (Mark Salter) [1996748] - psci: Support psci_ops.get_version for v0.1 (Mark Salter) [1996748] - arm64: psci: Avoid printing in cpu_psci_cpu_die() (Mark Salter) [1996748] - firmware: psci: Extend psci_set_osi_mode() to allow reset to PC mode (Mark Salter) [1996748] - smccc: Use separate variables for args and results (Mark Salter) [1996748] - smccc: Define vendor hyp owned service call region (Mark Salter) [1996748] - firmware: smccc: Export both smccc functions (Mark Salter) [1996748] - sched,psci: Convert to sched_set_fifo*() (Mark Salter) [1996748] - firmware: smccc: Add ARCH_SOC_ID support (Mark Salter) [1996748] - base: soc: Add serial_number attribute to soc (Mark Salter) [1996748] - drivers/firmware/psci: Assign @err directly in hotplug_tests() (Mark Salter) [1996748] - drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups() (Mark Salter) [1996748] - firmware: smccc: Fix missing prototype warning for arm_smccc_version_init (Mark Salter) [1996748] - firmware: smccc: Add function to fetch SMCCC version (Mark Salter) [1996748] - firmware: smccc: Refactor SMCCC specific bits into separate file (Mark Salter) [1996748] - firmware: smccc: Drop smccc_version enum and use ARM_SMCCC_VERSION_1_x instead (Mark Salter) [1996748] - firmware: smccc: Add HAVE_ARM_SMCCC_DISCOVERY to identify SMCCC v1.1 and above (Mark Salter) [1996748] - firmware: psci: Replace cpu_up/down() with add/remove_cpu() (Mark Salter) [1996748] - firmware: psci: Export functions to manage the OSI mode (Mark Salter) [1996748] - arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() (Mark Salter) [1996748] - firmware/psci: use common SMCCC_CONDUIT_* (Mark Salter) [1996748] - arm64: smp: disable hotplug on trusted OS resident CPU (Mark Salter) [1996748] - PSCI: cpuidle: Refactor CPU suspend power_state parameter handling (Mark Salter) [1996748] - ARM: psci: cpuidle: Enable PSCI CPUidle driver (Mark Salter) [1996748] - drivers: firmware: psci: Decouple checker from generic ARM CPUidle (Mark Salter) [1996748] - firmware/psci: psci_checker: Park kthreads before stopping them (Mark Salter) [1996748] - firmware/psci: add support for SYSTEM_RESET2 (Mark Salter) [1996748] - drivers: firmware: psci: Announce support for OS initiated suspend mode (Mark Salter) [1996748] - drivers: firmware: psci: Simplify error path of psci_dt_init() (Mark Salter) [1996748] - drivers: firmware: psci: Split psci_dt_cpu_init_idle() (Mark Salter) [1996748] - drivers: firmware: psci: Move psci to separate directory (Mark Salter) [1996748] - arm64: remove unused asm/compiler.h header file (Mark Salter) [1996748] - ppc64: Adding read_lock definition to nvme (Gopal Tiwari) [1990475] - nvme: fix per-namespace chardev deletion (Gopal Tiwari) [1990475] - nvme: set the PRACT bit when using Write Zeroes with T10 PI (Gopal Tiwari) [1990475] - nvme: fix nvme_setup_command metadata trace event (Gopal Tiwari) [1990475] - nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING (Gopal Tiwari) [1990475] - nvme: fix refcounting imbalance when all paths are down (Gopal Tiwari) [1990475] - nvme-pci: do not call nvme_dev_remove_admin from nvme_remove (Gopal Tiwari) [1990475] - nvme-pci: fix multiple races in nvme_setup_io_queues (Gopal Tiwari) [1990475] - nvme-tcp: use __dev_get_by_name instead dev_get_by_name for OPT_HOST_IFACE (Gopal Tiwari) [1990475] - nvme-tcp: can't set sk_user_data without write_lock (Gopal Tiwari) [1990475] - nvme: use blk_execute_rq() for passthrough commands (Gopal Tiwari) [1990475] - nvmet: use NVMET_MAX_NAMESPACES to set nn value (Gopal Tiwari) [1990475] - nvme-pci: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvme: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvmet: add ZBD over ZNS backend support (Gopal Tiwari) [1990475] - nvmet: remove zeroout memset call for struct (Gopal Tiwari) [1990475] - nvmet: use req->cmd directly in file-ns fast path (Gopal Tiwari) [1990475] - nvmet: add Command Set Identifier support (Gopal Tiwari) [1990475] - nvmet: add nvmet_req_bio put helper for backends (Gopal Tiwari) [1990475] - nvmet: use nvme status value directly (Gopal Tiwari) [1990475] - nvmet: use u32 for nvmet_subsys max_nsid (Gopal Tiwari) [1990475] - nvmet: remove local variable (Gopal Tiwari) [1990475] - nvmet: add req cns error complete helper (Gopal Tiwari) [1990475] - nvmet: use req->cmd directly in bdev-ns fast path (Gopal Tiwari) [1990475] - nvmet: use u32 type for the local variable nsid (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in connect io q (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in nvmf_reg_write32() (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in connect admin q (Gopal Tiwari) [1990475] - nvmet: make ver stable once connection established (Gopal Tiwari) [1990475] - nvmet: make sn stable once connection was established (Gopal Tiwari) [1990475] - nvmet: change sn size and check validity (Gopal Tiwari) [1990475] - nvme-tcp: use ctrl sgl check helper (Gopal Tiwari) [1990475] - nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() (Gopal Tiwari) [1990475] - nvme-fabrics: remove memset in nvmf_reg_read64() (Gopal Tiwari) [1990475] - nvmet: allow mn change if subsys not discovered (Gopal Tiwari) [1990475] - nvme-fc: use ctrl sgl check helper (Gopal Tiwari) [1990475] - nvme-pci: fix var. type for increasing cq_head (Gopal Tiwari) [1990475] - nvme: add a helper to check ctrl sgl support (Gopal Tiwari) [1990475] - nvme: factor out a nvme_validate_passthru_nsid helper (Gopal Tiwari) [1990475] - nvme-tcp: fix error codes in nvme_tcp_setup_ctrl() (Gopal Tiwari) [1990475] - nvme: fix grammar in the CONFIG_NVME_MULTIPATH kconfig help text (Gopal Tiwari) [1990475] - nvme: verify MNAN value if ANA is enabled (Gopal Tiwari) [1990475] - ACPI: Check StorageD3Enable _DSD property in ACPI code (Gopal Tiwari) [1990475] - nvmet: move ka_work initialization to nvmet_alloc_ctrl (Gopal Tiwari) [1990475] - nvme: remove nvme_{get,put}_ns_from_disk (Gopal Tiwari) [1990475] - nvme: split nvme_report_zones (Gopal Tiwari) [1990475] - nvmet: remove a superfluous variable (Gopal Tiwari) [1990475] - nvme: open code nvme_put_ns_from_disk in nvme_ns_head_chr_ioctl (Gopal Tiwari) [1990475] - nvme: move the CSI sanity check into nvme_ns_report_zones (Gopal Tiwari) [1990475] - nvme-fabrics: remove extra braces (Gopal Tiwari) [1990475] - nvme: open code nvme_{get,put}_ns_from_disk in nvme_ns_head_ioctl (Gopal Tiwari) [1990475] - nvme: add a sparse annotation to nvme_ns_head_ctrl_ioctl (Gopal Tiwari) [1990475] - nvme-fabrics: remove an extra comment (Gopal Tiwari) [1990475] - nvme-fabrics: remove extra new lines in the switch (Gopal Tiwari) [1990475] - nvme: open code nvme_put_ns_from_disk in nvme_ns_head_ctrl_ioctl (Gopal Tiwari) [1990475] - nvme: extend and modify the APST configuration algorithm (Gopal Tiwari) [1990475] - nvme-tcp: allow selecting the network interface for connections (Gopal Tiwari) [1990475] - nvme-fabrics: fix the kerneldco comment for nvmf_log_connect_error() (Gopal Tiwari) [1990475] - nvme: remove redundant initialization of variable ret (Gopal Tiwari) [1990475] - nvmet: fix freeing unallocated p2pmem (Gopal Tiwari) [1990475] - nvme-loop: reset queue count to 1 in nvme_loop_destroy_io_queues() (Gopal Tiwari) [1990475] - nvme-loop: do not warn for deleted controllers during reset (Gopal Tiwari) [1990475] - nvme-loop: check for NVME_LOOP_Q_LIVE in nvme_loop_destroy_admin_queue() (Gopal Tiwari) [1990475] - nvme-loop: clear NVME_LOOP_Q_LIVE when nvme_loop_configure_admin_queue() fails (Gopal Tiwari) [1990475] - nvme-rdma: fix in-casule data send for chained sgls (Gopal Tiwari) [1990475] - nvmet: fix false keep-alive timeout when a controller is torn down (Gopal Tiwari) [1990475] - nvmet-tcp: fix inline data size comparison in nvmet_tcp_queue_response (Gopal Tiwari) [1990475] - nvme-tcp: remove incorrect Kconfig dep in BLK_DEV_NVME (Gopal Tiwari) [1990475] - nvme-fabrics: decode host pathing error for connect (Gopal Tiwari) [1990475] - nvme-fc: short-circuit reconnect retries (Gopal Tiwari) [1990475] - nvme: fix potential memory leaks in nvme_cdev_add (Gopal Tiwari) [1990475] - nvme-fc: clear q_live at beginning of association teardown (Gopal Tiwari) [1990475] - nvme-tcp: rerun io_work if req_list is not empty (Gopal Tiwari) [1990475] - nvme-tcp: fix possible use-after-completion (Gopal Tiwari) [1990475] - nvme-loop: fix memory leak in nvme_loop_create_ctrl() (Gopal Tiwari) [1990475] - nvmet: fix memory leak in nvmet_alloc_ctrl() (Gopal Tiwari) [1990475] - nvmet: seset ns->file when open fails (Gopal Tiwari) [1990475] - nvmet: demote fabrics cmd parse err msg to debug (Gopal Tiwari) [1990475] - nvmet: fix inline bio check for passthru (Gopal Tiwari) [1990475] - nvmet: fix inline bio check for bdev-ns (Gopal Tiwari) [1990475] - nvmet: use helper to remove the duplicate code (Gopal Tiwari) [1990475] - nvmet: demote discovery cmd parse err msg to debug (Gopal Tiwari) [1990475] - nvmet: remove unsupported command noise (Gopal Tiwari) [1990475] - nvme-pci: fix controller reset hang when racing with nvme_timeout (Gopal Tiwari) [1990475] - nvme: move the fabrics queue ready check routines to core (Gopal Tiwari) [1990475] - nvme: avoid memset for passthrough requests (Gopal Tiwari) [1990475] - nvme: add nvme_get_ns helper (Gopal Tiwari) [1990475] - nvme: fix controller ioctl through ns_head (Gopal Tiwari) [1990475] - nvme: introduce generic per-namespace chardev (Gopal Tiwari) [1990475] - nvme: cleanup nvme_configure_apst (Gopal Tiwari) [1990475] - nvme: do not try to reconfigure APST when the controller is not live (Gopal Tiwari) [1990475] - nvme: sanitize KATO setting (Gopal Tiwari) [1990475] - nvmet: avoid queuing keep-alive timer if it is disabled (Gopal Tiwari) [1990475] - nvme: fix NULL derefence in nvme_ctrl_fast_io_fail_tmo_show/store (Gopal Tiwari) [1990475] - nvme: let namespace probing continue for unsupported features (Gopal Tiwari) [1990475] - nvme: factor out nvme_ns_open and nvme_ns_release helpers (Gopal Tiwari) [1990475] - nvme: move nvme_ns_head_ops to multipath.c (Gopal Tiwari) [1990475] - nvme: factor out a nvme_tryget_ns_head helper (Gopal Tiwari) [1990475] - nvme: move the ioctl code to a separate file (Gopal Tiwari) [1990475] - nvme: don't bother to look up a namespace for controller ioctls (Gopal Tiwari) [1990475] - nvme: simplify block device ioctl handling for the !multipath case (Gopal Tiwari) [1990475] - nvme: simplify the compat ioctl handling (Gopal Tiwari) [1990475] - nvme-multipath: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme: pass a user pointer to nvme_nvm_ioctl (Gopal Tiwari) [1990475] - nvme: factor out a nvme_ns_ioctl helper (Gopal Tiwari) [1990475] - nvme: cleanup setting the disk name (Gopal Tiwari) [1990475] - nvme: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme-pci: remove single trailing whitespace (Gopal Tiwari) [1990475] - nvme: add a nvme_ns_head_multipath helper (Gopal Tiwari) [1990475] - nvmet: fix a spelling mistake "nubmer" -> "number" (Gopal Tiwari) [1990475] - nvmet-fc: simplify nvmet_fc_alloc_hostport (Gopal Tiwari) [1990475] - nvmet-tcp: fix a segmentation fault during io parsing error (Gopal Tiwari) [1990475] - lightnvm: use kobj_to_dev() (Gopal Tiwari) [1990475] - nvme: fix handling of large MDTS values (Gopal Tiwari) [1990475] - nvme: implement non-mdts command limits (Gopal Tiwari) [1990475] - nvme: disallow passthru cmd from targeting a nsid != nsid of the block dev (Gopal Tiwari) [1990475] - nvme: use sysfs_emit instead of sprintf (Gopal Tiwari) [1990475] - nvme-fc: check sgl supported by target (Gopal Tiwari) [1990475] - nvme: remove superfluous else in nvme_ctrl_loss_tmo_store (Gopal Tiwari) [1990475] - nvme: warn of unhandled effects only once (Gopal Tiwari) [1990475] - nvmet-tcp: enable optional queue idle period tracking (Gopal Tiwari) [1990475] - nvmet-tcp: fix incorrect locking in state_change sk callback (Gopal Tiwari) [1990475] - nvme-tcp: block BH in sk state_change sk callback (Gopal Tiwari) [1990475] - nvmet: return proper error code from discovery ctrl (Gopal Tiwari) [1990475] - nvme-tcp: check sgl supported by target (Gopal Tiwari) [1990475] - nvme: use driver pdu command for passthrough (Gopal Tiwari) [1990475] - nvmet: remove unnecessary ctrl parameter (Gopal Tiwari) [1990475] - nvmet-fc: update function documentation (Gopal Tiwari) [1990475] - nvme-pci: allocate nvme_command within driver pdu (Gopal Tiwari) [1990475] - nvmet: do not allow model_number exceed 40 bytes (Gopal Tiwari) [1990475] - nvme-fc: fix the function documentation comment (Gopal Tiwari) [1990475] - nvme: add new line after variable declatation (Gopal Tiwari) [1990475] - nvme: don't check nvme_req flags for new req (Gopal Tiwari) [1990475] - nvme: mark nvme_setup_passsthru() inline (Gopal Tiwari) [1990475] - nvme: split init identify into helper (Gopal Tiwari) [1990475] - nvme: rename nvme_init_identify() (Gopal Tiwari) [1990475] - nvme: reduce checks for zero command effects (Gopal Tiwari) [1990475] - nvmet: update error log page in nvmet_alloc_ctrl() (Gopal Tiwari) [1990475] - nvmet: remove an unnecessary function parameter to nvmet_check_ctrl_status (Gopal Tiwari) [1990475] - nvmet: remove a duplicate status assignment in nvmet_alloc_ctrl (Gopal Tiwari) [1990475] - nvmet: replace white spaces with tabs (Gopal Tiwari) [1990475] - nvme: use NVME_CTRL_CMIC_ANA macro (Gopal Tiwari) [1990475] - nvme-pci: cleanup nvme_irq() (Gopal Tiwari) [1990475] - nvme-pci: remove the barriers in nvme_irq() (Gopal Tiwari) [1990475] - nvmet-tcp: fix kmap leak when data digest in use (Gopal Tiwari) [1990475] - nvmet: don't check iosqes,iocqes for discovery controllers (Gopal Tiwari) [1990475] - nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU (Gopal Tiwari) [1990475] - nvme-rdma: fix possible hang when failing to set io queues (Gopal Tiwari) [1990475] - nvme-tcp: fix possible hang when failing to set io queues (Gopal Tiwari) [1990475] - nvme-fabrics: only reserve a single tag (Gopal Tiwari) [1990475] - nvme: allocate the keep alive request using BLK_MQ_REQ_NOWAIT (Gopal Tiwari) [1990475] - nvme: merge nvme_keep_alive into nvme_keep_alive_work (Gopal Tiwari) [1990475] - nvme-hwmon: Return error code when registration fails (Gopal Tiwari) [1990475] - nvme: update enumerations for status codes (Gopal Tiwari) [1990475]- scsi: mpt3sas: Fix incorrectly assigned error return and check (Tomas Henzl) [1990535] - scsi: mpt3sas: Introduce sas_ncq_prio_supported sysfs sttribute (Tomas Henzl) [1990535] - scsi: mpt3sas: Update driver version to 39.100.00.00 (Tomas Henzl) [1990535] - scsi: mpt3sas: Use firmware recommended queue depth (Tomas Henzl) [1990535] - scsi: mpt3sas: Bump driver version to 38.100.00.00 (Tomas Henzl) [1990535] - scsi: mpt3sas: Transition IOC to Ready state during shutdown (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix error return value in _scsih_expander_add() (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix Coverity reported issue (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix fall-through warnings for Clang (Tomas Henzl) [1990535] - scsi: mpt3sas: Handle firmware faults during second half of IOC init (Tomas Henzl) [1990535] - scsi: mpt3sas: Handle firmware faults during first half of IOC init (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix deadlock while cancelling the running firmware event (Tomas Henzl) [1990535] - scsi: mpt3sas: Documentation cleanup (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix two kernel-doc headers (Tomas Henzl) [1990535] - scsi: mpt3sas: Fix out-of-bounds warnings in _ctl_addnl_diag_query (Tomas Henzl) [1990535] - scsi: megaraid_sas: Driver version update to 07.719.03.00-rc1 (Tomas Henzl) [1989643] - scsi: megaraid_sas: Add helper functions for irq_context (Tomas Henzl) [1989643] - scsi: megaraid: Clean up some inconsistent indenting (Tomas Henzl) [1989643] - scsi: megaraid: Fix Coccinelle warning (Tomas Henzl) [1989643] - IB/cma: Do not send IGMP leaves for sendonly Multicast groups (Kamal Heib) [2007269] - hv_netvsc: Add comment of netvsc_xdp_xmit() (Mohammed Gamal) [2008560] - hv_netvsc: use netif_is_bond_master() instead of open code (Mohammed Gamal) [2008560] - hv_netvsc: Avoid field-overflowing memcpy() (Mohammed Gamal) [2008560] - hv_netvsc: Set needed_headroom according to VF (Mohammed Gamal) [2008560] - netfilter: conntrack: fix error path in nf_conntrack_pernet_init() (Florian Westphal) [1922568] - netfilter: nf_conntrack: provide modparam to always register conntrack hooks (Florian Westphal) [1922568] - sctp: return true only for pathmtu update in sctp_transport_pl_toobig (Xin Long) [1890383] - sctp: subtract sctphdr len in sctp_transport_pl_hlen (Xin Long) [1890383] - sctp: reset probe_timer in sctp_transport_pl_update (Xin Long) [1890383] - sctp: allow IP fragmentation when PLPMTUD enters Error state (Xin Long) [1890383] - sctp: send pmtu probe only if packet loss in Search Complete state (Xin Long) [1890383] - sctp: improve the code for pmtu probe send and recv update (Xin Long) [1890383] - sctp: prevent info leak in sctp_make_heartbeat() (Xin Long) [1890383] - sctp: check pl.raise_count separately from its increment (Xin Long) [1890383] - sctp: send the next probe immediately once the last one is acked (Xin Long) [1890383] - sctp: do black hole detection in search complete state (Xin Long) [1890383] - sctp: process sctp over udp icmp err on sctp side (Xin Long) [1890383] - sctp: extract sctp_v4_err_handle function from sctp_v4_err (Xin Long) [1890383] - sctp: extract sctp_v6_err_handle function from sctp_v6_err (Xin Long) [1890383] - sctp: remove the unessessary hold for idev in sctp_v6_err (Xin Long) [1890383] - sctp: enable PLPMTUD when the transport is ready (Xin Long) [1890383] - sctp: do state transition when receiving an icmp TOOBIG packet (Xin Long) [1890383] - sctp: do state transition when a probe succeeds on HB ACK recv path (Xin Long) [1890383] - sctp: do state transition when PROBE_COUNT == MAX_PROBES on HB send path (Xin Long) [1890383] - sctp: do the basic send and recv for PLPMTUD probe (Xin Long) [1890383] - sctp: add the probe timer in transport for PLPMTUD (Xin Long) [1890383] - sctp: add the constants/variables and states and some APIs for transport (Xin Long) [1890383] - sctp: add SCTP_PLPMTUD_PROBE_INTERVAL sockopt for sock/asoc/transport (Xin Long) [1890383] - sctp: add probe_interval in sysctl and sock/asoc/transport (Xin Long) [1890383] - sctp: add pad chunk and its make function and event table (Xin Long) [1890383] - blk-mq: still set q->make_request_fn for blk-mq (Ming Lei) [1999728] - PCI: Add AMD RS690 quirk to enable 64-bit DMA (Myron Stowe) [1993279] - PCI: Add ACS quirk for Broadcom BCM57414 NIC (Myron Stowe) [1993279] - PCI: Mark some NVIDIA GPUs to avoid bus reset (Myron Stowe) [1993279] - PCI: of: Clear 64-bit flag for non-prefetchable memory below 4GB (Myron Stowe) [1993279] - x86/PCI: Remove unused alloc_pci_root_info() return value (Myron Stowe) [1993279] - PCI: Delay after FLR of Intel DC P4510 NVMe (Myron Stowe) [1993279] - PCI: Delay after FLR of Intel DC P3700 NVMe (Myron Stowe) [1993279] - PCI: Disable Samsung SM961/PM961 NVMe before FLR (Myron Stowe) [1993279] - PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functions (Myron Stowe) [1993279] - PCI/sysfs: Rearrange smbios_attr_group and acpi_attr_group (Myron Stowe) [1993279] - PCI/sysfs: Tidy SMBIOS & ACPI label attributes (Myron Stowe) [1993279] - PCI/sysfs: Convert "index", "acpi_index", "label" to static attributes (Myron Stowe) [1993279] - PCI/sysfs: Define SMBIOS label attributes with DEVICE_ATTR*() (Myron Stowe) [1993279] - PCI/sysfs: Define ACPI label attributes with DEVICE_ATTR*() (Myron Stowe) [1993279] - PCI/sysfs: Rename device_has_dsm() to device_has_acpi_name() (Myron Stowe) [1993279] - PCI/sysfs: Convert "vpd" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Rename "vpd" attribute accessors (Myron Stowe) [1993279] - PCI/sysfs: Convert "reset" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Convert "rom" to static attribute (Myron Stowe) [1993279] - PCI/sysfs: Convert "config" to static attribute (Myron Stowe) [1993279] - PCI: Allow VPD access for QLogic ISP2722 (Myron Stowe) [1993279] - PCI/VPD: Add helper pci_get_func0_dev() (Myron Stowe) [1993279] - PCI/VPD: Remove pci_vpd_find_tag() SRDT handling (Myron Stowe) [1993279] - PCI/VPD: Remove pci_vpd_find_tag() 'offset' argument (Myron Stowe) [1993279] - PCI/VPD: Change pci_vpd_init() return type to void (Myron Stowe) [1993279] - PCI/VPD: Make missing VPD message less alarming (Myron Stowe) [1993279] - PCI/VPD: Remove pci_set_vpd_size() (Myron Stowe) [1993279] - PCI/VPD: Remove sysfs accessor size checking dead code (Myron Stowe) [1993279] - PCI/VPD: Remove obsolete Broadcom NIC quirk (Myron Stowe) [1993279] - PCI/ACPI: Fix acpi_pci_set_power_state() debug message (Myron Stowe) [1993279] - PCI: acpiphp: Fix whitespace issue (Myron Stowe) [1993279] - PCI: shpchp: Remove unused shpc_writeb() (Myron Stowe) [1993279] - PCI: cpqphp: Use DEFINE_SPINLOCK() for int15_lock (Myron Stowe) [1993279] - ACPI / hotplug / PCI: Fix reference count leak in enable_slot() (Myron Stowe) [1993279] - PCI: Add pci_disable_parity() (Myron Stowe) [1993279] - PCI: Release OF node in pci_scan_device()'s error path (Myron Stowe) [1993279] - fs: dlm: fix check for multi-homed hosts (Alexander Aring) [1889887] - iommu: remove iommu_domain_{get,set}_attr (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: enable the liodn when attaching a device (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: replace DOMAIN_ATTR_FSL_PAMU_STASH with a direct call (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove ->domain_window_enable (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove support for multiple windows (Jerry Snitselaar) [2004349] - iommu/fsl_pamu: remove fsl_pamu_get_domain_attr (Jerry Snitselaar) [2004349] - iommu: remove the unused domain_window_disable method (Jerry Snitselaar) [2004349] - iommu: Remove .domain_{get,set}_windows (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Decrease the queue size of evtq and priq (Jerry Snitselaar) [2004349] - iommu/vt-d: Use pasid_pte_is_present() helper function (Jerry Snitselaar) [2004349] - iommu/vt-d: Update the virtual command related registers (Jerry Snitselaar) [2004349] - ACPI: IORT: Handle device properties with software node API (Jerry Snitselaar) [2004349] - iommu: Update "iommu.strict" documentation (Jerry Snitselaar) [2004349] - iommu/dma: Remove redundant "!dev" checks (Jerry Snitselaar) [2004349] - iommu/virtio: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/vt-d: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu/amd: Drop IOVA cookie management (Jerry Snitselaar) [2004349] - iommu: Pull IOVA cookie management into the core (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Stop pre-zeroing batch commands (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Extract reusable function __arm_smmu_cmdq_skip_err() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add and use static helper function arm_smmu_get_cmdq() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Remove some unneeded init in arm_smmu_cmdq_issue_cmdlist() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add and use static helper function arm_smmu_cmdq_issue_cmd_with_sync() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Use command queue batching helpers to improve performance (Jerry Snitselaar) [2004349] - iommu/amd: Use only natural aligned flushes in a VM (Jerry Snitselaar) [2004349] - iommu/amd: Sync once for scatter-gather operations (Jerry Snitselaar) [2004349] - iommu/amd: Tailored gather logic for AMD (Jerry Snitselaar) [2004349] - iommu: Factor iommu_iotlb_gather_is_disjoint() out (Jerry Snitselaar) [2004349] - iommu: Improve iommu_iotlb_gather helpers (Jerry Snitselaar) [2004349] - iommu/amd: Do not use flush-queue when NpCache is on (Jerry Snitselaar) [2004349] - iommu/amd: Selective flush on unmap (Jerry Snitselaar) [2004349] - iommu/amd: Convert from atomic_t to refcount_t on pasid_state->count (Jerry Snitselaar) [2004349] - iommu: Streamline iommu_iova_to_phys() (Jerry Snitselaar) [2004349] - iommu/vt-d: Allow devices to have more than 32 outstanding PRs (Jerry Snitselaar) [1920744] - iommu/vt-d: Drop "0x" prefix from PCI bus & device addresses (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix a deadlock in intel_svm_drain_prq() (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix PASID leak in intel_svm_unbind_mm() (Jerry Snitselaar) [2004349] - iommu/amd: Fix printing of IOMMU events when rate limiting kicks in (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix missing unlock on error in arm_smmu_device_group() (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix race condition during iommu_group creation (Jerry Snitselaar) [2004349] - iommu: Fix race condition during default domain allocation (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Implement the map_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/arm-smmu-v3: Implement the unmap_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/vt-d: Move clflush'es from iotlb_sync_map() to map_pages() (Jerry Snitselaar) [1971977] - iommu/vt-d: Implement map/unmap_pages() iommu_ops callback (Jerry Snitselaar) [1971977] - iommu/vt-d: Report real pgsize bitmap to iommu core (Jerry Snitselaar) [1971977] - iommu/arm-smmu: Implement the map_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/arm-smmu: Implement the unmap_pages() IOMMU driver callback (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Implement arm_lpae_map_pages() (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Implement arm_lpae_unmap_pages() (Jerry Snitselaar) [1971977] - iommu/io-pgtable-arm: Prepare PTE methods for handling multiple entries (Jerry Snitselaar) [1971977] - iommu: Add support for the map_pages() callback (Jerry Snitselaar) [1971977] - iommu: Hook up '->unmap_pages' driver callback (Jerry Snitselaar) [1971977] - iommu: Split 'addr_merge' argument to iommu_pgsize() into separate parts (Jerry Snitselaar) [1971977] - iommu: Use bitmap to calculate page size in iommu_pgsize() (Jerry Snitselaar) [1971977] - iommu: Add a map_pages() op for IOMMU drivers (Jerry Snitselaar) [1971977] - iommu/io-pgtable: Introduce map_pages() as a page table op (Jerry Snitselaar) [1971977] - iommu: Add an unmap_pages() op for IOMMU drivers (Jerry Snitselaar) [1971977] - iommu/io-pgtable: Introduce unmap_pages() as a page table op (Jerry Snitselaar) [1971977] - iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix PASID reference leak (Jerry Snitselaar) [2004349] - iommu: Check if group is NULL before remove device (Jerry Snitselaar) [2004349] - iommu/dma: Fix leak in non-contiguous API (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Fix fall-through warning for Clang (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix clearing real DMA device's scalable-mode context entries (Jerry Snitselaar) [2004349] - iommu/vt-d: Global devTLB flush when present context entry changed (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Use Tegra implementation on Tegra186 (Jerry Snitselaar) [2004349] - iommu: Delete a duplicate check in iommu_change_dev_def_domain() (Jerry Snitselaar) [2004349] - iommu/dma: Fix compile warning in 32-bit builds (Jerry Snitselaar) [2004349] - iommu: Drop unnecessary of_iommu.h includes (Jerry Snitselaar) [2004349] - iommu: Remove unused of_get_dma_window() (Jerry Snitselaar) [2004349] - iommu/iova: Put free_iova_mem() outside of spinlock iova_rbtree_lock (Jerry Snitselaar) [2004349] - iommu/dma: Fix IOVA reserve dma ranges (Jerry Snitselaar) [2004349] - iommu/virtio: Enable x86 support (Jerry Snitselaar) [2004349] - iommu/dma: Pass address limit rather than size to iommu_setup_dma_ops() (Jerry Snitselaar) [2004349] - iommu/amd: Fix section mismatch warning for detect_ivrs() (Jerry Snitselaar) [2004349] - iommu/amd: Add amd_iommu=force_enable option (Jerry Snitselaar) [2004349] - iommu/amd: Fix extended features logging (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix dereference of pointer info before it is null checked (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix linker error on 32-bit (Jerry Snitselaar) [2004349] - iommu/vt-d: No need to typecast (Jerry Snitselaar) [2004349] - iommu/vt-d: Define counter explicitly as unsigned int (Jerry Snitselaar) [2004349] - iommu/vt-d: Remove unnecessary braces (Jerry Snitselaar) [2004349] - iommu/vt-d: Removed unused iommu_count in dmar domain (Jerry Snitselaar) [2004349] - iommu/vt-d: Use bitfields for DMAR capabilities (Jerry Snitselaar) [2004349] - iommu/vt-d: Use DEVICE_ATTR_RO macro (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix out-bounds-warning in intel/svm.c (Jerry Snitselaar) [2004349] - iommu/vt-d: Add PRQ handling latency sampling (Jerry Snitselaar) [1971935] - iommu/vt-d: Add cache invalidation latency sampling (Jerry Snitselaar) [1971935] - iommu/vt-d: Expose latency monitor data through debugfs (Jerry Snitselaar) [1971935] - iommu/vt-d: Add common code for dmar latency performance monitors (Jerry Snitselaar) [1971935] - iommu/vt-d: Add prq_report trace event (Jerry Snitselaar) [1971973] - iommu/vt-d: Report prq to io-pgfault framework (Jerry Snitselaar) [1971971] - iommu/vt-d: Allocate/register iopf queue for sva devices (Jerry Snitselaar) [1971971] - iommu/vt-d: Refactor prq_event_thread() (Jerry Snitselaar) [1971971] - iommu/vt-d: Use common helper to lookup svm devices (Jerry Snitselaar) [1971971] - iommu/vt-d: Use iommu_sva_alloc(free)_pasid() helpers (Jerry Snitselaar) [1971971] - iommu/vt-d: Add pasid private data helpers (Jerry Snitselaar) [1971971] - iommu/vt-d: Support asynchronous IOMMU nested capabilities (Jerry Snitselaar) [2004349] - iommu/vt-d: Select PCI_ATS explicitly (Jerry Snitselaar) [2004349] - iommu/vt-d: Tweak the description of a DMA fault (Jerry Snitselaar) [1971975] - iommu/vt-d: Fix kernel-doc syntax in file header (Jerry Snitselaar) [2004349] - iommu/vt-d: Remove redundant assignment to variable agaw (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Check smmu->impl pointer before dereferencing (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Implement ->probe_finalize() (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Remove unnecessary oom message (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails (Jerry Snitselaar) [2004349] - PM: runtime: Add documentation for pm_runtime_resume_and_get() (Jerry Snitselaar) [2004349] - PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter (Jerry Snitselaar) [2004349] - iommu/arm: Cleanup resources in case of probe error path (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Ratelimit event dump (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Add stall support for platform devices (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Change *array into *const array (Jerry Snitselaar) [2004349] - iommu/amd: Remove redundant assignment of err (Jerry Snitselaar) [2004349] - iommu/amd: Tidy up DMA ops init (Jerry Snitselaar) [2004349] - iommu/arm-smmu: Add support for driver IOMMU fault handlers (Jerry Snitselaar) [2004349] - iommu/virtio: Add missing MODULE_DEVICE_TABLE (Jerry Snitselaar) [2004349] - iommu/amd: Fix wrong parentheses on page-specific invalidations (Jerry Snitselaar) [2004349] - iommu: Streamline registration interface (Jerry Snitselaar) [2004349] - iommu: Statically set module owner (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_IO_PGTABLE_CFG (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE (Jerry Snitselaar) [2004349] - iommu: remove iommu_set_cmd_line_dma_api and iommu_cmd_line_dma_api (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_NESTING (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_GEOMETRY (Jerry Snitselaar) [2004349] - iommu: remove DOMAIN_ATTR_PAGING (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Maintain a SID->device structure (Jerry Snitselaar) [2004349] - iommu: Add a page fault handler (Jerry Snitselaar) [2004349] - iommu/vt-d: Support IOMMU_DEV_FEAT_IOPF (Jerry Snitselaar) [2004349] - iommu: Separate IOMMU_DEV_FEAT_IOPF from IOMMU_DEV_FEAT_SVA (Jerry Snitselaar) [2004349] - iommu/arm-smmu-v3: Use device properties for pasid-num-bits (Jerry Snitselaar) [2004349] - of/device: Add input id to of_dma_configure() (Jerry Snitselaar) [2004349] - of/iommu: Make of_map_rid() PCI agnostic (Jerry Snitselaar) [2004349] - iommu: Fix comment for struct iommu_fwspec (Jerry Snitselaar) [2004349] - iommu/amd: Remove duplicate check of devid (Jerry Snitselaar) [2004349] - iommu/amd: Page-specific invalidations for more than one page (Jerry Snitselaar) [2004349] - iommu/amd: Move a few prototypes to include/linux/amd-iommu.h (Jerry Snitselaar) [2004349] - iommu/amd: Remove a few unused exports (Jerry Snitselaar) [2004349] - iommu/amd: Remove the unused amd_iommu_get_v2_domain function (Jerry Snitselaar) [2004349] - iommu/amd: Remove the unused device errata code (Jerry Snitselaar) [2004349] - iommu/amd: Remove duplicate check of pasids (Jerry Snitselaar) [2004349] - iommu/vt-d: Fix lockdep splat in intel_pasid_get_entry() (Jerry Snitselaar) [2004349] - iommu/amd: Remove iommu_init_ga() (Jerry Snitselaar) [1998265] - iommu/amd: Relocate GAMSup check to early_enable_iommus (Jerry Snitselaar) [1998265] - x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically (Prarit Bhargava) [2021219] - hyper-v: Replace uuid.h with types.h (Mohammed Gamal) [2008563] - x86/hyperv: Avoid erroneously sending IPI to 'self' (Mohammed Gamal) [2008563] - asm-generic/hyperv: provide cpumask_to_vpset_noself (Mohammed Gamal) [2008563] - asm-generic/hyperv: Add missing function prototypes per -W1 warnings (Mohammed Gamal) [2008563] - hv: hyperv.h: Remove unused inline functions (Mohammed Gamal) [2008563] - hv: hyperv.h: a few mundane typo fixes (Mohammed Gamal) [2008563] - hv: hyperv.h: Replace one-element array with flexible-array in struct icmsg_negotiate (Mohammed Gamal) [2008563] - x86/hyperv: add comment describing TSC_INVARIANT_CONTROL MSR setting bit 0 (Mohammed Gamal) [2008563] - x86/hyperv: fix for unwanted manipulation of sched_clock when TSC marked unstable (Mohammed Gamal) [2008563] - hyperv: Detect Nested virtualization support for SVM (Mohammed Gamal) [2008563] - hyperv: SVM enlightened TLB flush support flag (Mohammed Gamal) [2008563] - x86/hyperv: remove on-stack cpumask from hv_send_ipi_mask_allbutself (Mohammed Gamal) [2008563] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [2008563] - x86/hyperv: remove unused linux/version.h header (Mohammed Gamal) [2008563] - x86/hyperv: Fix unused variable 'hi' warning in hv_apic_read (Mohammed Gamal) [2008563] - x86/hyperv: Fix unused variable 'msr_val' warning in hv_qlock_wait (Mohammed Gamal) [2008563] - PCI: hv: Fix sleep while in non-sleep context when removing child devices from the bus (Mohammed Gamal) [2008562] - PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() (Mohammed Gamal) [2008562] - PCI: hv: Drop msi_controller structure (Mohammed Gamal) [2008562] - PCI/IOV: Add sysfs MSI-X vector assignment interface (Myron Stowe) [2019087] - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs (David Arcari) [1998529] - Bluetooth: Move shutdown callback before flushing tx and rx queue (Gopal Tiwari) [1990477] - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS (Gopal Tiwari) [1990477] - Bluetooth: Fix VIRTIO_ID_BT assigned number (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix wrong opcode in the response for add_adv cmd (Gopal Tiwari) [1990477] - Bluetooth: defer cleanup of resources in hci_unregister_dev() (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event (Gopal Tiwari) [1990477] - Bluetooth: Fix Set Extended (Scan Response) Data (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language when filtering devices (Gopal Tiwari) [1990477] - Bluetooth: smp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in HCI role comments (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language when tracking connections (Gopal Tiwari) [1990477] - Bluetooth: sco: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: a2mp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: amp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: cmtp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: bnep: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: hidp: Use the correct print format (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in comments (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in SMP (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language in HCI LE features (Gopal Tiwari) [1990477] - Bluetooth: use inclusive language to describe CPB (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid (Gopal Tiwari) [1990477] - Bluetooth: disable filter dup when scan for adv monitor (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Fix the command returns garbage parameter value (Gopal Tiwari) [1990477] - Bluetooth: RFCOMM: Use DEVICE_ATTR_RO macro (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type during le_conn_comp (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix invalid access on ECRED Connection response (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix invalid access if ECRED Reconfigure fails (Gopal Tiwari) [1990477] - Bluetooth: Remove spurious error message (Gopal Tiwari) [1990477] - Bluetooth: Shutdown controller after workqueues are flushed or cancelled (Gopal Tiwari) [1990477] - Bluetooth: Add ncmd=0 recovery handling (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: remove unused function (Gopal Tiwari) [1990477] - Bluetooth: Fix alt settings for incoming SCO with transparent coding format (Gopal Tiwari) [1990477] - Bluetooth: Fix the HCI to MGMT status conversion table (Gopal Tiwari) [1990477] - Bluetooth: cmtp: fix file refcount when cmtp_attach_device fails (Gopal Tiwari) [1990477] - Bluetooth: 6lowpan: delete unneeded variable initialization (Gopal Tiwari) [1990477] - Bluetooth: Return whether a connection is outbound (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fix crash when receiving new connection when debug is enabled (Gopal Tiwari) [1990477] - Bluetooth: Fix spelling mistakes (Gopal Tiwari) [1990477] - Bluetooth: Set defaults for le_scan_{int,window}_adv_monitor (Gopal Tiwari) [1990477] - Bluetooth: Allow Microsoft extension to indicate curve validation (Gopal Tiwari) [1990477] - Bluetooth: Add support for reading AOSP vendor capabilities (Gopal Tiwari) [1990477] - Bluetooth: LL privacy allow RPA (Gopal Tiwari) [1990477] - Bluetooth: Handle own address type change with HCI_ENABLE_LL_PRIVACY (Gopal Tiwari) [1990477] - Bluetooth: Do not set cur_adv_instance in adv param MGMT request (Gopal Tiwari) [1990477] - Bluetooth: Use ext adv handle from requests in CCs (Gopal Tiwari) [1990477] - Bluetooth: use the correct print format for L2CAP debug statements (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fix variable dereferenced before check 'conn' (Gopal Tiwari) [1990477] - Bluetooth: Check inquiry status before sending one (Gopal Tiwari) [1990477] - Bluetooth: Coding style fix (Gopal Tiwari) [1990477] - Bluetooth: Remove 'return' in void function (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Move the advertisement monitor events to correct list (Gopal Tiwari) [1990477] - Bluetooth: Add missing entries for PHY configuration commands (Gopal Tiwari) [1990477] - Bluetooth: Fix mgmt status for LL Privacy experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Fix wrong opcode error for read advertising features (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Rudimentary typo fixes (Gopal Tiwari) [1990477] - Bluetooth: Remove trailing semicolon in macros (Gopal Tiwari) [1990477] - Bluetooth: check for zapped sk before connecting (Gopal Tiwari) [1990477] - Bluetooth: fix set_ecdh_privkey() prototype (Gopal Tiwari) [1990477] - Bluetooth: initialize skb_queue_head at l2cap_chan_create() (Gopal Tiwari) [1990477] - Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default (Gopal Tiwari) [1990477] - Bluetooth: Fix incorrect status handling in LE PHY UPDATE event (Gopal Tiwari) [1990477] - Bluetooth: avoid deadlock between hci_dev->lock and socket lock (Gopal Tiwari) [1990477] - Bluetooth: SMP: Convert BT_ERR/BT_DBG to bt_dev_err/bt_dev_dbg (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix not checking for maximum number of DCID (Gopal Tiwari) [1990477] - Bluetooth: Cancel le_scan_restart work when stopping discovery (Gopal Tiwari) [1990477] - Bluetooth: SMP: Fail if remote and local public keys are identical (Gopal Tiwari) [1990477] - Bluetooth: Allow scannable adv with extended MGMT APIs (Gopal Tiwari) [1990477] - Bluetooth: Remove unneeded commands for suspend (Gopal Tiwari) [1990477] - Bluetooth: Notify suspend on le conn failed (Gopal Tiwari) [1990477] - Bluetooth: hci_uart: Remove redundant assignment to fw_ptr (Gopal Tiwari) [1990477] - Bluetooth: btmrvl: remove redundant continue statement (Gopal Tiwari) [1990477] - Bluetooth: btusb: use default nvm if boardID is 0 for wcn6855. (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc. (Gopal Tiwari) [1990477] - Bluetooth: btmtkuart: using pm_runtime_resume_and_get instead of pm_runtime_get_sync (Gopal Tiwari) [1990477] - Bluetooth: btrtl: rename USB fw for RTL8761 (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add 0x0b05:0x190e Realtek 8761BU (ASUS BT500) device. (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Add RTL8822CS capabilities (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support USB ALT 3 for WBS (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add a new QCA_ROME device (0cf3:e500) (Gopal Tiwari) [1990477] - Bluetooth: btqca: Don't modify firmware contents in-place (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Add entry for BCM43430B0 UART Bluetooth (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: fix potential GPF (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix memory leak (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip. (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support for Lite-On Mediatek Chip (Gopal Tiwari) [1990477] - Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix failing to init controllers with operation firmware (Gopal Tiwari) [1990477] - Bluetooth: Add a new USB ID for RTL8822CE (Gopal Tiwari) [1990477] - Bluetooth: btusb: Revert Fix the autosuspend enable and disable (Gopal Tiwari) [1990477] - Bluetooth: Add support for virtio transport driver (Gopal Tiwari) [1990477] - Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip. (Gopal Tiwari) [1990477] - Bluetooth: btintel: Skip reading firmware file version while in bootloader mode (Gopal Tiwari) [1990477] - Bluetooth: btintel: Collect tlv based active firmware build info in FW mode (Gopal Tiwari) [1990477] - Bluetooth: btintel: Reorganized bootloader mode tlv checks in intel_version_tlv parsing (Gopal Tiwari) [1990477] - Bluetooth: btusb: Consolidate code for waiting firmware to boot (Gopal Tiwari) [1990477] - Bluetooth: btusb: Consolidate code for waiting firmware download (Gopal Tiwari) [1990477] - Bluetooth: btintel: Consolidate intel_version parsing (Gopal Tiwari) [1990477] - Bluetooth: btintel: Consolidate intel_version_tlv parsing (Gopal Tiwari) [1990477] - Bluetooth: btintel: Move operational checks after version check (Gopal Tiwari) [1990477] - Bluetooth: btintel: Check firmware version before download (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Mundane typo fix (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Add BCM4330 and BCM4334 compatibles (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Add device_may_wakeup support (Gopal Tiwari) [1990477] - Bluetooth: btintel: Fix offset calculation boot address parameter (Gopal Tiwari) [1990477] - Bluetooth: btusb: print firmware file name on error loading firmware (Gopal Tiwari) [1990477] - Bluetooth: btbcm: Obtain and handle reset GPIO (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix incorrect type in assignment and uninitialized symbol (Gopal Tiwari) [1990477] - Bluetooth: btusb: support 0cb5:c547 Realtek 8822CE device (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Fixed issue during suspend (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix excessive stack usage (Gopal Tiwari) [1990477] - Bluetooth: btusb: remove set but not used variable in btusb_mtk_setup_firmware_79xx (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix typo and correct the log print (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add protocol support for MediaTek MT7921U USB devices (Gopal Tiwari) [1990477] - Bluetooth: btusb: Fine-tune mt7663 mechanism. (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: check for SSR triggered flag while suspend (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Enable WBS for the specific Realtek devices (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Wait for SSR completion during suspend (Gopal Tiwari) [1990477] - Bluetooth: hci_qca: Fix memleak in qca_controller_memdump (Gopal Tiwari) [1990477] - Bluetooth: hci_h5: Add support for binding RTL8723DS with device tree (Gopal Tiwari) [1990477] - Bluetooth: btusb: Add support for GarfieldPeak controller (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Add null check in setup (Gopal Tiwari) [1990477] - Bluetooth: btrtl: Enable central-peripheral role (Gopal Tiwari) [1990477] - Bluetooth: btusb: Remove duplicate newlines from logging (Gopal Tiwari) [1990477] - Bluetooth: btmtksdio: Fixed switch and case should be at the same indent (Gopal Tiwari) [1990477] - Revert "Bluetooth: btintel: Fix endianness issue for TLV version information" (Gopal Tiwari) [1990477] - Bluetooth: hci_bcm: Add support for ISO packets (Gopal Tiwari) [1990477] - Bluetooth: btusb: add shutdown function for wcn6855 (Gopal Tiwari) [1990477] - Bluetooth: hci_uart: Fix a race for write_work scheduling (Gopal Tiwari) [1990477] - Bluetooth: btqca: Add support to read FW build version for WCN3991 BTSoC (Gopal Tiwari) [1990477] - Bluetooth: btusb: Always fallback to alt 1 for WBS (Gopal Tiwari) [1990477] - Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function (Gopal Tiwari) [1990477] - Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data (Gopal Tiwari) [1990477] - Bluetooth: Skip eSCO 2M params when not supported (Gopal Tiwari) [1990477] - Bluetooth: fix indentation and alignment reported by checkpatch (Gopal Tiwari) [1990477] - Bluetooth: fix coccicheck warnings debugfs (Gopal Tiwari) [1990477] - Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Try harder to accept device not knowing options (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix handling fragmented length (Gopal Tiwari) [1990477] - Bluetooth: btusb: fix memory leak on suspend and resume (Gopal Tiwari) [1990477] - Bluetooth: Put HCI device if inquiry procedure interrupts (Gopal Tiwari) [1990477] - Bluetooth: drop HCI device reference before return (Gopal Tiwari) [1990477] - Bluetooth: avoid u128_xor() on potentially misaligned inputs (Gopal Tiwari) [1990477] - Bluetooth: Fix initializing response id after clearing struct (Gopal Tiwari) [1990477] - Bluetooth: Cancel Inquiry before Create Connection (Gopal Tiwari) [1990477] - Bluetooth: Pause service discovery for suspend (Gopal Tiwari) [1990477] - Bluetooth: Remove hci_req_le_suspend_config (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: Set missing suspend task bits (Gopal Tiwari) [1990477] - Bluetooth: Change MGMT security info CMD to be more generic (Gopal Tiwari) [1990477] - Bluetooth: Query LE tx power on startup (Gopal Tiwari) [1990477] - Bluetooth: Use intervals and tx power from mgmt cmds (Gopal Tiwari) [1990477] - Bluetooth: Break add adv into two mgmt commands (Gopal Tiwari) [1990477] - Bluetooth: Add helper to set adv data (Gopal Tiwari) [1990477] - Bluetooth: Add toggle to switch off interleave scan (Gopal Tiwari) [1990477] - Bluetooth: Refactor read default sys config for various types (Gopal Tiwari) [1990477] - Bluetooth: Handle active scan case (Gopal Tiwari) [1990477] - Bluetooth: Handle system suspend resume case (Gopal Tiwari) [1990477] - Bluetooth: Interleave with allowlist scan (Gopal Tiwari) [1990477] - Bluetooth: Fix attempting to set RPA timeout when unsupported (Gopal Tiwari) [1990477] - Bluetooth: Rename get_adv_instance_scan_rsp (Gopal Tiwari) [1990477] - Bluetooth: Fix not sending Set Extended Scan Response (Gopal Tiwari) [1990477] - Bluetooth: Fix for Bluetooth SIG test L2CAP/COS/CFD/BV-14-C (Gopal Tiwari) [1990477] - Bluetooth: sco: Fix crash when using BT_SNDMTU/BT_RCVMTU option (Gopal Tiwari) [1990477] - Bluetooth: Replace BT_DBG with bt_dev_dbg in HCI request (Gopal Tiwari) [1990477] - Bluetooth: consolidate error paths in hci_phy_link_complete_evt() (Gopal Tiwari) [1990477] - Bluetooth: Enforce key size of 16 bytes on FIPS level (Gopal Tiwari) [1990477] - Bluetooth: hidp: use correct wait queue when removing ctrl_wait (Gopal Tiwari) [1990477] - Bluetooth: Move force_bredr_smp debugfs into hci_debugfs_create_bredr (Gopal Tiwari) [1990477] - Bluetooth: Fix: LL PRivacy BLE device fails to connect (Gopal Tiwari) [1990477] - Bluetooth: Resume advertising after LE connection (Gopal Tiwari) [1990477] - Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() (Gopal Tiwari) [1990477] - Bluetooth: Replace zero-length array with flexible-array member (Gopal Tiwari) [1990477] - Bluetooth: MGMT: Fix not checking if BT_HS is enabled (Gopal Tiwari) [1990477] - Bluetooth: Disable High Speed by default (Gopal Tiwari) [1990477] - Bluetooth: Fix update of own_addr_type if ll_privacy supported (Gopal Tiwari) [1990477] - Bluetooth: Fix auto-creation of hci_conn at Conn Complete event (Gopal Tiwari) [1990477] - Bluetooth: Set scan parameters for ADV Monitor (Gopal Tiwari) [1990477] - Bluetooth: Update Adv monitor count upon removal (Gopal Tiwari) [1990477] - net: bluetooth: delete duplicated words (Gopal Tiwari) [1990477] - Bluetooth: pause/resume advertising around suspend (Gopal Tiwari) [1990477] - Bluetooth: Emit controller suspend and resume events (Gopal Tiwari) [1990477] - Bluetooth: Add suspend reason for device disconnect (Gopal Tiwari) [1990477] - Bluetooth: Add mgmt suspend and resume events (Gopal Tiwari) [1990477] - Bluetooth: Set ext scan response only when it exists (Gopal Tiwari) [1990477] - Bluetooth: Only mark socket zapped after unlocking (Gopal Tiwari) [1990477] - Bluetooth: Add MGMT capability flags for tx power and ext advertising (Gopal Tiwari) [1990477] - Bluetooth: Report num supported adv instances for hw offloading (Gopal Tiwari) [1990477] - Bluetooth: sco: new getsockopt options BT_SNDMTU/BT_RCVMTU (Gopal Tiwari) [1990477] - Bluetooth: Re-order clearing suspend tasks (Gopal Tiwari) [1990477] - Bluetooth: Fix memory leak in read_adv_mon_features() (Gopal Tiwari) [1990477] - Bluetooth: Clear suspend tasks on unregister (Gopal Tiwari) [1990477] - Bluetooth: Remove CRYPTO_ALG_INTERNAL flag (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: use the proper scan params when conn is pending (Gopal Tiwari) [1990477] - Bluetooth: Enable controller RPA resolution using Experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Let controller creates RPA during le create conn (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type during le_conn (Gopal Tiwari) [1990477] - Bluetooth: Enable RPA Timeout (Gopal Tiwari) [1990477] - Bluetooth: Enable/Disable address resolution during le create conn (Gopal Tiwari) [1990477] - Bluetooth: Configure controller address resolution if available (Gopal Tiwari) [1990477] - Bluetooth: Translate additional address type correctly (Gopal Tiwari) [1990477] - Bluetooth: Update resolving list when updating whitelist (Gopal Tiwari) [1990477] - Bluetooth: Fix suspend notifier race (Gopal Tiwari) [1990477] - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier (Gopal Tiwari) [1990477] - Bluetooth: Add per-instance adv disable/remove (Gopal Tiwari) [1990477] - Replace HTTP links with HTTPS ones: BLUETOOTH SUBSYSTEM (Gopal Tiwari) [1990477] - Bluetooth: RFCOMM: Use fallthrough pseudo-keyword (Gopal Tiwari) [1990477] - Bluetooth: core: Use fallthrough pseudo-keyword (Gopal Tiwari) [1990477] - Bluetooth: Use whitelist for scan policy when suspending (Gopal Tiwari) [1990477] - Bluetooth: le_simult_central_peripheral experimental feature (Gopal Tiwari) [1990477] - Bluetooth: Fix kernel oops triggered by hci_adv_monitors_clear() (Gopal Tiwari) [1990477] - Bluetooth: use configured default params for active scans (Gopal Tiwari) [1990477] - Bluetooth: Adding a configurable autoconnect timeout (Gopal Tiwari) [1990477] - Bluetooth: Don't restart scanning if paused (Gopal Tiwari) [1990477] - Bluetooth: add a mutex lock to avoid UAF in do_enale_set (Gopal Tiwari) [1990477] - Bluetooth: use configured params for ext adv (Gopal Tiwari) [1990477] - Bluetooth: Add hci_dev_lock to get/set device flags (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Use command complete on success for set system config (Gopal Tiwari) [1990477] - Bluetooth: Terminate the link if pairing is cancelled (Gopal Tiwari) [1990477] - Bluetooth: Update background scan and report device based on advertisement monitors (Gopal Tiwari) [1990477] - Bluetooth: Notify adv monitor removed event (Gopal Tiwari) [1990477] - Bluetooth: Notify adv monitor added event (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_REMOVE_ADV_MONITOR (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_ADD_ADV_PATTERNS_MONITOR (Gopal Tiwari) [1990477] - Bluetooth: Add handler of MGMT_OP_READ_ADV_MONITOR_FEATURES (Gopal Tiwari) [1990477] - Bluetooth: Add definitions for advertisement monitor features (Gopal Tiwari) [1990477] - Bluetooth: Add get/set device flags mgmt op (Gopal Tiwari) [1990477] - Bluetooth: Replace wakeable in hci_conn_params (Gopal Tiwari) [1990477] - Bluetooth: Replace wakeable list with flag (Gopal Tiwari) [1990477] - Bluetooth: Add bdaddr_list_with_flags for classic whitelist (Gopal Tiwari) [1990477] - Bluetooth: mgmt: Add commands for runtime configuration (Gopal Tiwari) [1990477] - Bluetooth: implement read/set default system parameters mgmt (Gopal Tiwari) [1990477] - Bluetooth: mgmt: read/set system parameter definitions (Gopal Tiwari) [1990477] - Bluetooth: centralize default value initialization. (Gopal Tiwari) [1990477] - Bluetooth: Use only 8 bits for the HCI CMSG state flags (Gopal Tiwari) [1990477] - Bluetooth: Add support for BT_PKT_STATUS CMSG data for SCO connections (Gopal Tiwari) [1990477] - Bluetooth: Removing noisy dbg message (Gopal Tiwari) [1990477] - Bluetooth: Fix update of connection state in `hci_encrypt_cfm` (Gopal Tiwari) [1990477] - Bluetooth: Fix assuming EIR flags can result in SSP authentication (Gopal Tiwari) [1990477] - Bluetooth: Consolidate encryption handling in hci_encrypt_cfm (Gopal Tiwari) [1990477] - Bluetooth: Add SCO fallback for invalid LMP parameters error (Gopal Tiwari) [1990477] - Bluetooth: Fix for GAP/SEC/SEM/BI-10-C (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: add support for waiting disconnection resp (Gopal Tiwari) [1990477] - Bluetooth: Handle Inquiry Cancel error after Inquiry Complete (Gopal Tiwari) [1990477] - Bluetooth: Rename BT_SUSPEND_COMPLETE (Gopal Tiwari) [1990477] - Bluetooth: Introduce debug feature when dynamic debug is disabled (Gopal Tiwari) [1990477] - Bluetooth: Fix advertising handle is set to 0 (Gopal Tiwari) [1990477] - Bluetooth: Introduce HCI_MGMT_HDEV_OPTIONAL option (Gopal Tiwari) [1990477] - Bluetooth: Add support for experimental features configuration (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix errors during L2CAP_CREDIT_BASED_CONNECTION_REQ (0x17) (Gopal Tiwari) [1990477] - Bluetooth: Add MGMT_EV_PHY_CONFIGURATION_CHANGED to supported list (Gopal Tiwari) [1990477] - Bluetooth: use crypto_shash_tfm_digest() (Gopal Tiwari) [1990477] - Bluetooth: allow scatternet connections if supported. (Gopal Tiwari) [1990477] - Bluetooth: Enhanced Connection Complete event belongs to LL Privacy (Gopal Tiwari) [1990477] - Bluetooth: Enable LE Enhanced Connection Complete event. (Gopal Tiwari) [1990477] - Bluetooth: Use extra variable to make code more readable (Gopal Tiwari) [1990477] - Bluetooth: log advertisement packet length if it gets corrected (Gopal Tiwari) [1990477] - Bluetooth: Always request for user confirmation for Just Works (LE SC) (Gopal Tiwari) [1990477] - Bluetooth: Simplify / fix return values from tk_request (Gopal Tiwari) [1990477] - Bluetooth: debugfs option to unset MITM flag (Gopal Tiwari) [1990477] - Bluetooth: Increment management interface revision (Gopal Tiwari) [1990477] - Bluetooth: replace zero-length array with flexible-array member (Gopal Tiwari) [1990477] - Bluetooth: Add support for reading security information (Gopal Tiwari) [1990477] - Bluetooth: Add support for Read Local Simple Pairing Options (Gopal Tiwari) [1990477] - Bluetooth: Add framework for Microsoft vendor extension (Gopal Tiwari) [1990477] - Bluetooth: Move debugfs configuration above the selftests (Gopal Tiwari) [1990477] - Bluetooth: fixing minor typo in comment (Gopal Tiwari) [1990477] - Bluetooth: Prioritize SCO traffic (Gopal Tiwari) [1990477] - Bluetooth: L2CAP: Fix handling LE modes by L2CAP_OPTIONS (Gopal Tiwari) [1990477] - Bluetooth: Always request for user confirmation for Just Works (Gopal Tiwari) [1990477] - Bluetooth: Add BT_MODE socket option (Gopal Tiwari) [1990477] - crypto: shash - remove shash_desc::flags (Gopal Tiwari) [1990477] - cifs: On cifs_reconnect, resolve the hostname again. (Ronnie Sahlberg) [2018046] - cifs: Handle witness client move notification (Ronnie Sahlberg) [2018046] - cifs: Send witness register messages to userspace daemon in echo task (Ronnie Sahlberg) [2018046] - cifs: Add witness information to debug data dump (Ronnie Sahlberg) [2018046] - cifs: Set witness notification handler for messages from userspace daemon (Ronnie Sahlberg) [2018046] - cifs: Send witness register and unregister commands to userspace daemon (Ronnie Sahlberg) [2018046] - cifs: Register generic netlink family (Ronnie Sahlberg) [2018046] - cifs: add witness mount option and data structs (Ronnie Sahlberg) [2018046] - cifs: Simplify reconnect code when dfs upcall is enabled (Ronnie Sahlberg) [2018046] - file: fix close_range() for unshare+cloexec (Pavel Reichl) [1950248] - scsi: lpfc: Update lpfc version to 14.0.0.3 (Dick Kennedy) [1989265] - scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss (Dick Kennedy) [1989265] - scsi: lpfc: Fix link down processing to address NULL pointer dereference (Dick Kennedy) [1989265] - scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted (Dick Kennedy) [1989265] - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine (Dick Kennedy) [1989265] - scsi: lpfc: Correct sysfs reporting of loop support after SFP status change (Dick Kennedy) [1989265] - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset (Dick Kennedy) [1989265] - scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to driver_resource_setup() (Dick Kennedy) [1989265] - scsi: lpfc: Fix memory overwrite during FC-GS I/O abort handling (Dick Kennedy) [1989265] - scsi: lpfc: Add support for optional PLDV handling (Dick Kennedy) [1989265] - scsi: lpfc: Return NULL rather than a plain 0 integer (Dick Kennedy) [1989265] - scsi: lpfc: Fix a function name in comments (Dick Kennedy) [1989265] - scsi: lpfc: Fix mailbox command failure during driver initialization (Dick Kennedy) [1989265] - scsi: lpfc: Fix gcc -Wstringop-overread warning, again (Dick Kennedy) [1989265] - scsi: lpfc: Use correct scnprintf() limit (Dick Kennedy) [1989265] - scsi: lpfc: Fix sprintf() overflow in lpfc_display_fpin_wwpn() (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.2 (Dick Kennedy) [1989265] - scsi: lpfc: Improve PBDE checks during SGL processing (Dick Kennedy) [1989265] - scsi: lpfc: Zero CGN stats only during initial driver load and stat reset (Dick Kennedy) [1989265] - scsi: lpfc: Fix I/O block after enabling managed congestion mode (Dick Kennedy) [1989265] - scsi: lpfc: Adjust bytes received vales during cmf timer interval (Dick Kennedy) [1989265] - scsi: fc: Add EDC ELS definition (Dick Kennedy) [1989265] - scsi: lpfc: Fix EEH support for NVMe I/O (Dick Kennedy) [1989265] - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines (Dick Kennedy) [1989265] - scsi: lpfc: Fix NVMe I/O failover to non-optimized path (Dick Kennedy) [1989265] - scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode (Dick Kennedy) [1989265] - scsi: lpfc: Fix rediscovery of tape device after LIP (Dick Kennedy) [1989265] - scsi: lpfc: Fix hang on unload due to stuck fport node (Dick Kennedy) [1989265] - scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT (Dick Kennedy) [1989265] - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding (Dick Kennedy) [1989265] - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() (Dick Kennedy) [1989265] - scsi: lpfc: Remove unneeded variable (Dick Kennedy) [1989265] - scsi: lpfc: Fix compilation errors on kernels with no CONFIG_DEBUG_FS (Dick Kennedy) [1989265] - scsi: lpfc: Fix CPU to/from endian warnings introduced by ELS processing (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 14.0.0.1 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.1 (Dick Kennedy) [1989265] - scsi: lpfc: Add bsg support for retrieving adapter cmf data (Dick Kennedy) [1989265] - scsi: lpfc: Add cmf_info sysfs entry (Dick Kennedy) [1989265] - scsi: lpfc: Add debugfs support for cm framework buffers (Dick Kennedy) [1989265] - scsi: lpfc: Add support for maintaining the cm statistics buffer (Dick Kennedy) [1989265] - scsi: lpfc: Add rx monitoring statistics (Dick Kennedy) [1989265] - scsi: lpfc: Add support for the CM framework (Dick Kennedy) [1989265] - scsi: lpfc: Add cmfsync WQE support (Dick Kennedy) [1989265] - scsi: lpfc: Add support for cm enablement buffer (Dick Kennedy) [1989265] - scsi: lpfc: Add cm statistics buffer support (Dick Kennedy) [1989265] - scsi: lpfc: Add EDC ELS support (Dick Kennedy) [1989265] - scsi: lpfc: Expand FPIN and RDF receive logging (Dick Kennedy) [1989265] - scsi: lpfc: Add MIB feature enablement support (Dick Kennedy) [1989265] - scsi: lpfc: Add SET_HOST_DATA mbox cmd to pass date/time info to firmware (Dick Kennedy) [1989265] - scsi: lpfc: Fix possible ABBA deadlock in nvmet_xri_aborted() (Dick Kennedy) [1989265] - scsi: lpfc: Remove redundant assignment to pointer pcmd (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 14.0.0.0 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 14.0.0.0 (Dick Kennedy) [1989265] - scsi: lpfc: Add 256 Gb link speed support (Dick Kennedy) [1989265] - scsi: lpfc: Revise Topology and RAS support checks for new adapters (Dick Kennedy) [1989265] - scsi: lpfc: Fix cq_id truncation in rq create (Dick Kennedy) [1989265] - scsi: lpfc: Add PCI ID support for LPe37000/LPe38000 series adapters (Dick Kennedy) [1989265] - scsi: lpfc: Copyright updates for 12.8.0.11 patches (Dick Kennedy) [1989265] - scsi: lpfc: Update lpfc version to 12.8.0.11 (Dick Kennedy) [1989265] - scsi: lpfc: Skip issuing ADISC when node is in NPR state (Dick Kennedy) [1989265] - scsi: lpfc: Skip reg_vpi when link is down for SLI3 in ADISC cmpl path (Dick Kennedy) [1989265] - scsi: lpfc: Call discovery state machine when handling PLOGI/ADISC completions (Dick Kennedy) [1989265] - scsi: lpfc: Delay unregistering from transport until GIDFT or ADISC completes (Dick Kennedy) [1989265] - scsi: lpfc: Enable adisc discovery after RSCN by default (Dick Kennedy) [1989265] - scsi: lpfc: Use PBDE feature enabled bit to determine PBDE support (Dick Kennedy) [1989265] - scsi: lpfc: Clear outstanding active mailbox during PCI function reset (Dick Kennedy) [1989265] - scsi: lpfc: Fix KASAN slab-out-of-bounds in lpfc_unreg_rpi() routine (Dick Kennedy) [1989265] - scsi: lpfc: Remove REG_LOGIN check requirement to issue an ELS RDF (Dick Kennedy) [1989265] - scsi: lpfc: Fix NULL ptr dereference with NPIV ports for RDF handling (Dick Kennedy) [1989265] - scsi: lpfc: Fix target reset handler from falsely returning FAILURE (Dick Kennedy) [1989265] - scsi: lpfc: Discovery state machine fixes for LOGO handling (Dick Kennedy) [1989265] - scsi: lpfc: Fix function description comments for vmid routines (Dick Kennedy) [1989265] - scsi: lpfc: Improve firmware download logging (Dick Kennedy) [1989265] - scsi: lpfc: Remove use of kmalloc() in trace event logging (Dick Kennedy) [1989265] - scsi: lpfc: Fix NVMe support reporting in log message (Dick Kennedy) [1989265] - scsi: lpfc: Fix build error in lpfc_scsi.c (Dick Kennedy) [1989265] - scsi: lpfc: Use list_move_tail() instead of list_del()/list_add_tail() (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Introduce VMID in I/O path (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add QFPA and VMID timeout check in worker thread (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Timeout implementation for VMID (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Append the VMID to the wqe before sending (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Implement CT commands for appid (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Functions to manage VMIDs (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Implement ELS commands for appid (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add support for VMID in mailbox command (Dick Kennedy) [1989265] - scsi: lpfc: vmid: VMID parameter initialization (Dick Kennedy) [1989265] - scsi: lpfc: vmid: Add datastructure for supporting VMID in lpfc (Dick Kennedy) [1989265] - redhat/config: Rename CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE to CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE (Waiman Long) [2018425] - kasan, kmemleak: reset tags when scanning block (Waiman Long) [2018425] - mm/kmemleak: rely on rcu for task stack scanning (Waiman Long) [2018425] - mm/kmemleak: silence KCSAN splats in checksum (Waiman Long) [2018425] - mm/kmemleak: turn kmemleak_lock and object->lock to raw_spinlock_t (Waiman Long) [2018425] - kmemleak: Do not corrupt the object_list during clean-up (Waiman Long) [2018425] - mm: kmemleak: use the memory pool for early allocations (Waiman Long) [2018425] - mm: kmemleak: simple memory allocation pool for kmemleak objects (Waiman Long) [2018425] - mm: kmemleak: make the tool tolerant to struct scan_area allocation failures (Waiman Long) [2018425] - kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K (Waiman Long) [2018425] - mm: kmemleak: disable early logging in case of error (Waiman Long) [2018425] - mm/kmemleak.c: fix unused-function warning (Waiman Long) [2018425] - kmemleak: powerpc: skip scanning holes in the .bss section (Waiman Long) [2018425] - mm: kmemleak: no need to check return value of debugfs_create functions (Waiman Long) [2018425]- powerpc/smp: Use existing L2 cache_map cpumask to find L3 cache siblings (Desnes A. Nunes do Rosario) [2013537] - powerpc/cacheinfo: Remove the redundant get_shared_cpu_map() (Desnes A. Nunes do Rosario) [2013537] - powerpc/cacheinfo: Lookup cache by dt node and thread-group id (Desnes A. Nunes do Rosario) [2013537] - Revert "thunderbolt: Hide authorized attribute if router does not support PCIe tunnels" (Torez Smith) [1969444] - thunderbolt: Add quirk for Intel Goshen Ridge DP credits (Torez Smith) [1969444] - thunderbolt: Update port credits after bonding is enabled/disabled (Torez Smith) [1969444] - thunderbolt: Wait for the lanes to actually bond (Torez Smith) [1969444] - thunderbolt: Read router preferred credit allocation information (Torez Smith) [1969444] - thunderbolt: Make tb_port_type() take const parameter (Torez Smith) [1969444] - thunderbolt: Move nfc_credits field to struct tb_path_hop (Torez Smith) [1969444] - thunderbolt: Align USB4 router wakes configuration with the CM guide (Torez Smith) [1969444] - thunderbolt: Add wake from DisplayPort (Torez Smith) [1969444] - thunderbolt: Use generic tb_nvm_[read|write]_data() for Thunderbolt 2/3 devices (Torez Smith) [1969444] - thunderbolt: Split NVM read/write generic functions out from usb4.c (Torez Smith) [1969444] - thunderbolt: Add self-authenticate support for new dock (Torez Smith) [1969444] - thunderbolt: usb4: Fix NVM read buffer bounds and offset issue (Torez Smith) [1969444] - thunderbolt: dma_port: Fix NVM read buffer bounds and offset issue (Torez Smith) [1969444] - thunderbolt: Hide authorized attribute if router does not support PCIe tunnels (Torez Smith) [1969444] - x86/mce: Avoid infinite loop for copy from user recovery (Prarit Bhargava) [1999550] - x86/mce: Rename kill_it to kill_current_task (Prarit Bhargava) [1999550] - x86/mce: Recover from poison found while copying from user space (Prarit Bhargava) [1999550] - x86/mce: Delay clearing IA32_MCG_STATUS to the end of do_machine_check() (Prarit Bhargava) [1999550] - x86/mce: Send #MC singal from task work (Prarit Bhargava) [1999550] - redhat/config: Enable Nitro Enclaves on aarch64 (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Add fixes for checkpatch match open parenthesis reports (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Update copyright statement to include 2021 (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Add fix for the kernel-doc report (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Enable Arm64 support (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Set Bus Master for the NE PCI device (Vitaly Kuznetsov) [2001581] - nitro_enclaves: Fixup type and simplify logic of the poll mask setup (Vitaly Kuznetsov) [2001581] - mptcp: Make mptcp_pm_nl_mp_prio_send_ack() static (Davide Caratti) [2020198] - mptcp: fix possible stall on recvmsg() (Davide Caratti) [2020198] - mptcp: don't clear MPTCP_DATA_READY in sk_wait_event() (Davide Caratti) [2020198] - net: introduce and use lock_sock_fast_nested() (Davide Caratti) [2020198] - net: add annotation for sock_{lock,unlock}_fast (Davide Caratti) [2020198] - mptcp: allow changing the 'backup' bit when no sockets are open (Davide Caratti) [2020198] - mptcp: don't return sockets in foreign netns (Davide Caratti) [2020198] - mptcp: ensure tx skbs always have the MPTCP ext (Davide Caratti) [2020198] - mptcp: full fully established support after ADD_ADDR (Davide Caratti) [2020198] - redhat/configs: Move Hyper-V configs to 'generic' (Vitaly Kuznetsov) [1949614] - redhat/configs: enable CONFIG_INPUT_KEYBOARD on Aarch64 (Vitaly Kuznetsov) [1949614] - efi/libstub/random: Align allocate size to EFI_ALLOC_ALIGN (Vitaly Kuznetsov) [1949614] - efi/libstub: arm64: Double check image alignment at entry (Vitaly Kuznetsov) [1949614] - efi/arm64: Update debug prints to reflect other entropy sources (Vitaly Kuznetsov) [1949614] - efi/arm64: libstub: Deal gracefully with EFI_RNG_PROTOCOL failure (Vitaly Kuznetsov) [1949614] - Drivers: hv: Enable Hyper-V code to be built on ARM64 (Vitaly Kuznetsov) [1949614] - x86/Kconfig: Add new X86_HV_CALLBACK_VECTOR config symbol (Vitaly Kuznetsov) [1949614] - arm64: efi: Export screen_info (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Initialize hypervisor on boot (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Add panic handler (Vitaly Kuznetsov) [1949614] - arm64: hyperv: Add Hyper-V hypercall and register access utilities (Vitaly Kuznetsov) [1949614] - arm64: add arch/arm64/Kbuild (Vitaly Kuznetsov) [1949614] - PCI: hv: Turn on the host bridge probing on ARM64 (Vitaly Kuznetsov) [1949614] - PCI: hv: Set up MSI domain at bridge probing time (Vitaly Kuznetsov) [1949614] - PCI: hv: Set ->domain_nr of pci_host_bridge at probing time (Vitaly Kuznetsov) [1949614] - PCI: hv: Generify PCI probing (Vitaly Kuznetsov) [1949614] - arm64: PCI: Support root bridge preparation for Hyper-V (Vitaly Kuznetsov) [1949614] - arm64: PCI: Restructure pcibios_root_bridge_prepare() (Vitaly Kuznetsov) [1949614] - PCI: Support populating MSI domains of root buses via bridges (Vitaly Kuznetsov) [1949614] - PCI: Introduce domain_nr in pci_host_bridge (Vitaly Kuznetsov) [1949614] - drivers: hv: Decouple Hyper-V clock/timer code from VMbus drivers (Vitaly Kuznetsov) [1949614] - Drivers: hv: Move Hyper-V misc functionality to arch-neutral code (Vitaly Kuznetsov) [1949614] - x86/hyperv: handling hypercall page setup for root (Vitaly Kuznetsov) [1949614] - Drivers: hv: Add arch independent default functions for some Hyper-V handlers (Vitaly Kuznetsov) [1949614] - Drivers: hv: Make portions of Hyper-V init code be arch neutral (Vitaly Kuznetsov) [1949614] - asm-generic/hyperv: Add missing #include of nmi.h (Vitaly Kuznetsov) [1949614] - PCI: hv: Support for create interrupt v3 (Vitaly Kuznetsov) [1949614] - Drivers: hv: Move Hyper-V extended capability check to arch neutral code (Vitaly Kuznetsov) [1949614] - clocksource/drivers/hyper-v: Re-enable VDSO_CLOCKMODE_HVCLOCK on X86 (Vitaly Kuznetsov) [1949614] - clocksource/drivers/hyper-v: Handle vDSO differences inline (Vitaly Kuznetsov) [1949614] - arm64: smccc: Add support for SMCCCv1.2 extended input/output registers (Vitaly Kuznetsov) [1949614] - smccc: Define vendor hyp owned service call region (Vitaly Kuznetsov) [1949614] - scsi: smartpqi: Update version to 2.1.12-055 (Don Brace) [2018317] - scsi: smartpqi: Add 3252-8i PCI id (Don Brace) [2018317] - scsi: smartpqi: Fix duplicate device nodes for tape changers (Don Brace) [2018317] - scsi: smartpqi: Fix boot failure during LUN rebuild (Don Brace) [2018317] - scsi: smartpqi: Add extended report physical LUNs (Don Brace) [2018317] - scsi: smartpqi: Avoid failing I/Os for offline devices (Don Brace) [2018317] - scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation (Don Brace) [2018317] - scsi: smartpqi: Update LUN reset handler (Don Brace) [2018317] - scsi: smartpqi: Capture controller reason codes (Don Brace) [2018317] - scsi: smartpqi: Add controller handshake during kdump (Don Brace) [2018317] - scsi: smartpqi: Update device removal management (Don Brace) [2018317] - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ handling (Laurent Vivier) [2009312] - vhost_net: fix OoB on sendmsg() failure. (Paolo Abeni) [1922828] - scsi: qla2xxx: Update version to 10.02.06.200-k (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix returnvar.cocci warnings (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe session down detection (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe retry (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix hang on NVMe command timeouts (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NVMe | FCP personality change (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Do secure PLOGI when auth app is present (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add N2N support for EDIF (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix hang during NVMe session tear down (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix EDIF enable flag (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Reject AUTH ELS on session down (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Fix stale session (Nilesh Javali) [1983874] - scsi: qla2xxx: Update version to 10.02.06.100-k (Nilesh Javali) [1983874] - scsi: qla2xxx: Sync queue idx with queue_pair_map idx (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support kdump kernel for NVMe BFS (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support kdump kernel (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix NPIV create erroneous error (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix unsafe removal from linked list (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix port type info (Nilesh Javali) [1983874] - scsi: qla2xxx: Add debug print of 64G link speed (Nilesh Javali) [1983874] - scsi: qla2xxx: Show OS name and version in FDMI-1 (Nilesh Javali) [1983874] - scsi: qla2xxx: Changes to support FCP2 Target (Nilesh Javali) [1983874] - scsi: qla2xxx: Adjust request/response queue size for 28xx (Nilesh Javali) [1983874] - scsi: qla2xxx: Add host attribute to trigger MPI hang (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant initialization of variable num_cnt (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix use after free in debug code (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix spelling mistakes "allloc" -> "alloc" (Nilesh Javali) [1983874] - scsi: qla2xxx: Update version to 10.02.00.107-k (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Increment command and completion counts (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add encryption to I/O path (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add doorbell notification for app (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add detection of secure device (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add authentication pass + fail bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add key update (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add extraction of auth_els from the wire (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add send, receive, and accept for auth_els (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add getfcinfo and statistic bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: edif: Add start + stop bsgs (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove unused variable 'status' (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant continue statement in a for-loop (Nilesh Javali) [1983874] - scsi: qla2xxx: Add heartbeat check (Nilesh Javali) [1983874] - scsi: qla2xxx: Use list_move_tail() instead of list_del()/list_add_tail() (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove duplicate declarations (Nilesh Javali) [1983874] - scsi: qla2xxx: Log PCI address in qla_nvme_unregister_remote_port() (Nilesh Javali) [1983874] - scsi: target: qla2xxx: Wait for stop_phase1 at WWN removal (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove redundant assignment to rval (Nilesh Javali) [1983874] - scsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword() (Nilesh Javali) [1983874] - scsi: qla2xxx: Prevent PRLI in target mode (Nilesh Javali) [1983874] - scsi: qla2xxx: Reuse existing error handling path (Nilesh Javali) [1983874] - scsi: qla2xxx: Remove unneeded if-null-free check (Nilesh Javali) [1983874] - thermal/drivers/int340x: Do not set a wrong tcc offset on resume (David Arcari) [1997757] - thermal: core: Add new event for sending keep alive notifications (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Fix tcc setting (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Fix warning for return value (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Add PCI MMIO based thermal driver (David Arcari) [1997757] - thermal/drivers/int340x/processor_thermal: Split enumeration and processing part (David Arcari) [1997757] - thermal/drivers/int340x: processor_thermal: Export additional attributes (David Arcari) [1997757] - thermal/drivers/int340x: processor_thermal: Export mailbox interface (David Arcari) [1997757] - thermal/drivers/intel: Initialize RW trip to THERMAL_TEMP_INVALID (David Arcari) [1997757] - thermal: int340x: Fix unexpected shutdown at critical temperature (David Arcari) [1997757] - thermal: int340x: Support Alder Lake (David Arcari) [1997757] - thermal: int340x: processor_thermal: Correct workload type name (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add mailbox driver (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add RFIM driver (David Arcari) [1997757] - thermal: int340x: processor_thermal: Add AlderLake PCI device id (David Arcari) [1997757] - thermal: int340x: processor_thermal: Refactor MMIO interface (David Arcari) [1997757] - thermal: int340x: Add keep alive response method (David Arcari) [1997757] - thermal: int340x: Provide notification for OEM variable change (David Arcari) [1997757] - treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1997757] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (David Arcari) [1997757] - intel_idle: Adjust the SKX C6 parameters if PC6 is disabled (David Arcari) [2003731] - intel_idle: update ICX C6 data (David Arcari) [2003731] - nbd: provide a way for userspace processes to identify device backends (Ming Lei) [1997338] - Revert "block, bfq: honor already-setup queue merges" (Ming Lei) [1997338] - blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd (Ming Lei) [1997338] - blkcg: fix memory leak in blk_iolatency_init (Ming Lei) [1997338] - blk-mq: avoid to iterate over stale request (Ming Lei) [1997338] - blk-mq: allow 4x BLK_MAX_REQUEST_COUNT at blk_plug for multiple_queues (Ming Lei) [1997338] - block, bfq: honor already-setup queue merges (Ming Lei) [1997338] - block/mq-deadline: Move dd_queued() to fix defined but not used warning (Ming Lei) [1997338] - cryptoloop: add a deprecation warning (Ming Lei) [1997338] - Revert "block/mq-deadline: Prioritize high-priority requests" (Ming Lei) [1997338] - mq-deadline: Fix request accounting (Ming Lei) [1997338] - nbd: Aovid double completion of a request (Ming Lei) [1997338] - blk-mq: clear active_queues before clearing BLK_MQ_F_TAG_QUEUE_SHARED (Ming Lei) [1997338] - Revert "block/mq-deadline: Add cgroup support" (Ming Lei) [1997338] - kyber: make trace_block_rq call consistent with documentation (Ming Lei) [1997338] - blk-iolatency: error out if blk_get_queue() failed in iolatency_set_limit() (Ming Lei) [1997338] - blk-mq-sched: Fix blk_mq_sched_alloc_tags() error handling (Ming Lei) [1997338] - loop: reintroduce global lock for safe loop_validate_file() traversal (Ming Lei) [1997338] - blk-cgroup: prevent rcu_sched detected stalls warnings while iterating blkgs (Ming Lei) [1997338] - block: fix the problem of io_ticks becoming smaller (Ming Lei) [1997338] - block: return errors from blk_execute_rq() (Ming Lei) [1997338] - block: support polling through blk_execute_rq (Ming Lei) [1997338] - loop: rewrite loop_exit using idr_for_each_entry (Ming Lei) [1997338] - loop: split loop_lookup (Ming Lei) [1997338] - loop: don't allow deleting an unspecified loop device (Ming Lei) [1997338] - loop: move loop_ctl_mutex locking into loop_add (Ming Lei) [1997338] - loop: split loop_control_ioctl (Ming Lei) [1997338] - loop: don't call loop_lookup before adding a loop device (Ming Lei) [1997338] - loop: remove the l argument to loop_add (Ming Lei) [1997338] - loop: reduce loop_ctl_mutex coverage in loop_exit (Ming Lei) [1997338] - loop: reorder loop_exit (Ming Lei) [1997338] - loop: Fix missing discard support when using LOOP_CONFIGURE (Ming Lei) [1997338] - block: export blk_next_bio() (Ming Lei) [1997338] - rsxx: Use struct_size() in vmalloc() (Ming Lei) [1997338] - block/mq-deadline: Remove a WARN_ON_ONCE() call (Ming Lei) [1997338] - blk: Fix lock inversion between ioc lock and bfqd lock (Ming Lei) [1997338] - bfq: Remove merged request already in bfq_requests_merged() (Ming Lei) [1997338] - block: fix trace completion for chained bio (Ming Lei) [1997338] - block/partitions/msdos: Fix typo inidicator -> indicator (Ming Lei) [1997338] - block, bfq: reset waker pointer with shared queues (Ming Lei) [1997338] - block, bfq: check waker only for queues with no in-flight I/O (Ming Lei) [1997338] - block, bfq: avoid delayed merge of async queues (Ming Lei) [1997338] - block, bfq: boost throughput by extending queue-merging times (Ming Lei) [1997338] - block, bfq: consider also creation time in delayed stable merge (Ming Lei) [1997338] - block, bfq: fix delayed stable merge check (Ming Lei) [1997338] - block, bfq: let also stably merged queues enjoy weight raising (Ming Lei) [1997338] - blk-wbt: make sure throttle is enabled properly (Ming Lei) [1997338] - blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() (Ming Lei) [1997338] - block/mq-deadline: Prioritize high-priority requests (Ming Lei) [1997338] - block/mq-deadline: Add cgroup support (Ming Lei) [1997338] - block/mq-deadline: Track I/O statistics (Ming Lei) [1997338] - block/mq-deadline: Add I/O priority support (Ming Lei) [1997338] - block/mq-deadline: Micro-optimize the batching algorithm (Ming Lei) [1997338] - block/mq-deadline: Reserve 25 of scheduler tags for synchronous requests (Ming Lei) [1997338] - block/mq-deadline: Improve the sysfs show and store macros (Ming Lei) [1997338] - block/mq-deadline: Improve compile-time argument checking (Ming Lei) [1997338] - block: mq-deadline: Fix queue restart handling (Ming Lei) [1997338] - block/mq-deadline: Rename dd_init_queue() and dd_exit_queue() (Ming Lei) [1997338] - block/mq-deadline: Remove two local variables (Ming Lei) [1997338] - block/mq-deadline: Add two lockdep_assert_held() statements (Ming Lei) [1997338] - block/mq-deadline: Add several comments (Ming Lei) [1997338] - block: Introduce the ioprio rq-qos policy (Ming Lei) [1997338] - block/blk-rq-qos: Move a function from a header file into a C file (Ming Lei) [1997338] - block/blk-cgroup: Swap the blk_throtl_init() and blk_iolatency_init() calls (Ming Lei) [1997338] - blkcg: fix memleak for iolatency (Ming Lei) [1997338] - blk-wbt: remove outdated comment (Ming Lei) [1997338] - block: Remove unnecessary elevator operation checks (Ming Lei) [1997338] - blk-mq: factor out a blk_mq_alloc_sq_tag_set helper (Ming Lei) [1997338] - block: Update blk_update_request() documentation (Ming Lei) [1997338] - blkcg: drop CLONE_IO check in blkcg_can_attach() (Ming Lei) [1997338] - aoe: remove unnecessary mutex_init() (Ming Lei) [1997338] - block: loop: fix deadlock between open and remove (Ming Lei) [1997338] - loop: scale loop device by introducing per device lock (Ming Lei) [1997338] - block/partitions/efi.c: Fix the efi_partition() kernel-doc header (Ming Lei) [1997338] - nbd: share nbd_put and return by goto put_nbd (Ming Lei) [1997338] - nbd: Fix NULL pointer in flush_workqueue (Ming Lei) [1997338] - blkdev.h: remove unused codes blk_account_rq (Ming Lei) [1997338] - block, bfq: avoid circular stable merges (Ming Lei) [1997338] - block: uapi: fix comment about block device ioctl (Ming Lei) [1997338] - block: reexpand iov_iter after read/write (Ming Lei) [1997338] - bfq/mq-deadline: remove redundant check for passthrough request (Ming Lei) [1997338] - blk-mq: bypass IO scheduler's limit_depth for passthrough request (Ming Lei) [1997338] - block: Fix sys_ioprio_set(.which=IOPRIO_WHO_PGRP) task iteration (Ming Lei) [1997338] - blk-mq: Always use blk_mq_is_sbitmap_shared (Ming Lei) [1997338] - block: add sysfs entry for virt boundary mask (Ming Lei) [1997338] - block, bfq: merge bursts of newly-created queues (Ming Lei) [1997338] - block, bfq: keep shared queues out of the waker mechanism (Ming Lei) [1997338] - block, bfq: fix weight-raising resume with !low_latency (Ming Lei) [1997338] - block, bfq: make shared queues inherit wakers (Ming Lei) [1997338] - block, bfq: put reqs of waker and woken in dispatch list (Ming Lei) [1997338] - block, bfq: always inject I/O of queues blocked by wakers (Ming Lei) [1997338] - blk-mq: Sentence reconstruct for better readability (Ming Lei) [1997338] - block: update a few comments in uapi/linux/blkpg.h (Ming Lei) [1997338] - block: don't ignore REQ_NOWAIT for direct IO (Ming Lei) [1997338] - block: clear GD_NEED_PART_SCAN later in bdev_disk_changed (Ming Lei) [1997338] - block: Discard page cache of zone reset target range (Ming Lei) [1997338] - block: Suppress uevent for hidden device when removed (Ming Lei) [1997338] - block: rsxx: fix error return code of rsxx_pci_probe() (Ming Lei) [1997338] - block: Fix REQ_OP_ZONE_RESET_ALL handling (Ming Lei) [1997338] - blk-cgroup: Fix the recursive blkg rwstat (Ming Lei) [1997338] - rsxx: Return -EFAULT if copy_to_user() fails (Ming Lei) [1997338] - block/bfq: update comments and default value in docs for fifo_expire (Ming Lei) [1997338] - block: Drop leftover references to RQF_SORTED (Ming Lei) [1997338] - blktrace: fix documentation for blk_fill_rw() (Ming Lei) [1997338] - blktrace: remove debugfs file dentries from struct blk_trace (Ming Lei) [1997338] - block: get rid of the trace rq insert wrapper (Ming Lei) [1997338] - blktrace: fix blk_rq_merge documentation (Ming Lei) [1997338] - blktrace: fix blk_rq_issue documentation (Ming Lei) [1997338] - blktrace: add blk_fill_rwbs documentation comment (Ming Lei) [1997338] - block: remove superfluous param in blk_fill_rwbs() (Ming Lei) [1997338] - block: Remove unused blk_pm_*() function definitions (Ming Lei) [1997338] - blk-mq: Use llist_head for blk_cpu_done (Ming Lei) [1997338] - blk-mq: Always complete remote completions requests in softirq (Ming Lei) [1997338] - block: use bi_max_vecs to find the bvec pool (Ming Lei) [1997338] - md/raid10: remove dead code in reshape_request (Ming Lei) [1997338] - block: remove the 1 and 4 vec bvec_slabs entries (Ming Lei) [1997338] - block: streamline bvec_alloc (Ming Lei) [1997338] - block: factor out a bvec_alloc_gfp helper (Ming Lei) [1997338] - block: move struct biovec_slab to bio.c (Ming Lei) [1997338] - block: reuse BIO_INLINE_VECS for integrity bvecs (Ming Lei) [1997338] - block: move three bvec helpers declaration into private helper (Ming Lei) [1997338] - blk-cgroup: Remove obsolete macro (Ming Lei) [1997338] - block: use an on-stack bio in blkdev_issue_flush (Ming Lei) [1997338] - blkcg: delete redundant get/put operations for queue (Ming Lei) [1997338] - block: unexport truncate_bdev_range (Ming Lei) [1997338] - blk: wbt: remove unused parameter from wbt_should_throttle (Ming Lei) [1997338] - bdev: Do not return EBUSY if bdev discard races with write (Ming Lei) [1997338] - bfq: don't duplicate code for different paths (Ming Lei) [1997338] - block: remove the request_queue to argument request based tracepoints (Ming Lei) [1997338] - virtio_net: disable cb aggressively (Stefan Hajnoczi) [1965914] - virtio: fix up virtio_disable_cb (Stefan Hajnoczi) [1965914] - virtio_net: move txq wakeups under tx q lock (Stefan Hajnoczi) [1965914] - virtio_net: move tx vq operation under tx queue lock (Stefan Hajnoczi) [1965914] - virtio_net: bulk free tx skbs (Stefan Hajnoczi) [1965914] - [s390] s390/qdio: propagate error when cancelling a ccw fails (Mete Durlu) [1984989] - [s390] s390/qdio: improve roll-back after error on ESTABLISH ccw (Mete Durlu) [1984989] - [s390] s390/qdio: cancel the ESTABLISH ccw after timeout (Mete Durlu) [1984989] - [s390] scsi: zfcp: Lift Request Queue tasklet & timer from qdio (Mete Durlu) [1984989] - [s390] scsi: zfcp: Move the position of put_device() (Mete Durlu) [1984989] - [s390] scsi: zfcp: Clean up sysfs code for SFP diagnostics (Mete Durlu) [1984989] - [s390] scsi: zfcp: Fix sysfs roll-back on error in zfcp_adapter_enqueue() (Mete Durlu) [1984989] - [s390] scsi: zfcp: Fix indentation coding style issue (Mete Durlu) [1984989] - [s390] scsi: zfcp: Remove unneeded INIT_LIST_HEAD() for FSF requests (Mete Durlu) [1984989] - x86/fpu/xstate: Clear xstate header in copy_xstate_to_uabi_buf() again (Prarit Bhargava) [1981448] - x86/fpu/signal: Let xrstor handle the features to init (Prarit Bhargava) [1981448] - x86/fpu/signal: Handle #PF in the direct restore path (Prarit Bhargava) [1981448] - x86/fpu: Return proper error codes from user access functions (Prarit Bhargava) [1981448] - x86/fpu/signal: Split out the direct restore code (Prarit Bhargava) [1981448] - x86/fpu/signal: Sanitize copy_user_to_fpregs_zeroing() (Prarit Bhargava) [1981448] - x86/fpu/signal: Sanitize the xstate check on sigframe (Prarit Bhargava) [1981448] - x86/fpu/signal: Remove the legacy alignment check (Prarit Bhargava) [1981448] - x86/fpu/signal: Move initial checks into fpu__restore_sig() (Prarit Bhargava) [1981448] - x86/fpu: Mark init_fpstate __ro_after_init (Prarit Bhargava) [1981448] - x86/pkru: Remove xstate fiddling from write_pkru() (Prarit Bhargava) [1981448] - x86/fpu: Don't store PKRU in xstate in fpu_reset_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Remove PKRU handling from switch_fpu_finish() (Prarit Bhargava) [1981448] - x86/fpu: Mask PKRU from kernel XRSTOR[S] operations (Prarit Bhargava) [1981448] - x86/fpu: Hook up PKRU into ptrace() (Prarit Bhargava) [1981448] - x86/fpu: Add PKRU storage outside of task XSAVE buffer (Prarit Bhargava) [1981448] - x86/fpu: Dont restore PKRU in fpregs_restore_userspace() (Prarit Bhargava) [1981448] - x86/fpu: Rename xfeatures_mask_user() to xfeatures_mask_uabi() (Prarit Bhargava) [1981448] - x86/fpu: Move FXSAVE_LEAK quirk info __copy_kernel_to_fpregs() (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_kernel_to_fpregs() to restore_fpregs_from_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Rename __fpregs_load_activate() to fpregs_restore_userregs() (Prarit Bhargava) [1981448] - x86/fpu: Clean up the fpu__clear() variants (Prarit Bhargava) [1981448] - x86/fpu: Rename fpu__clear_all() to fpu_flush_thread() (Prarit Bhargava) [1981448] - x86/fpu: Use pkru_write_default() in copy_init_fpstate_to_fpregs() (Prarit Bhargava) [1981448] - x86/cpu: Write the default PKRU value when enabling PKE (Prarit Bhargava) [1981448] - x86/pkru: Provide pkru_write_default() (Prarit Bhargava) [1981448] - x86/pkru: Provide pkru_get_init_value() (Prarit Bhargava) [1981448] - x86/cpu: Sanitize X86_FEATURE_OSPKE (Prarit Bhargava) [1981448] - x86/pkeys: Move read_pkru() and write_pkru() (Prarit Bhargava) [1981448] - x86/fpu: Rename and sanitize fpu__save/copy() (Prarit Bhargava) [1981448] - x86/fpu/xstate: Sanitize handling of independent features (Prarit Bhargava) [1981448] - x86/fpu: Rename "dynamic" XSTATEs to "independent" (Prarit Bhargava) [1981448] - x86/fpu: Rename initstate copy functions (Prarit Bhargava) [1981448] - x86/fpu: Get rid of the FNSAVE optimization (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_fpregs_to_fpstate() to save_fpregs_to_fpstate() (Prarit Bhargava) [1981448] - x86/fpu: Deduplicate copy_uabi_from_user/kernel_to_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Rename xstate copy functions which are related to UABI (Prarit Bhargava) [1981448] - x86/fpu: Rename fregs-related copy functions (Prarit Bhargava) [1981448] - x86/math-emu: Rename frstor() (Prarit Bhargava) [1981448] - x86/fpu: Rename fxregs-related copy functions (Prarit Bhargava) [1981448] - x86/fpu: Get rid of CONFIG_AS_FXSAVEQ (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_user_to_xregs() and copy_xregs_to_user() (Prarit Bhargava) [1981448] - x86/fpu: Rename copy_xregs_to_kernel() and copy_kernel_to_xregs() (Prarit Bhargava) [1981448] - x86/fpu: Get rid of copy_supervisor_to_kernel() (Prarit Bhargava) [1981448] - x86/fpu: Cleanup arch_set_user_pkey_access() (Prarit Bhargava) [1981448] - x86/kvm: Avoid looking up PKRU in XSAVE buffer (Prarit Bhargava) [1981448] - x86/fpu: Get rid of using_compacted_format() (Prarit Bhargava) [1981448] - x86/fpu: Move fpu__write_begin() to regset (Prarit Bhargava) [1981448] - x86/fpu/regset: Move fpu__read_begin() into regset (Prarit Bhargava) [1981448] - x86/fpu: Remove fpstate_sanitize_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Use copy_xstate_to_uabi_buf() in fpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Use copy_xstate_to_uabi_buf() in xfpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Make copy_xstate_to_kernel() usable for [x]fpregs_get() (Prarit Bhargava) [1981448] - x86/fpu: Clean up fpregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Fail ptrace() requests that try to set invalid MXCSR values (Prarit Bhargava) [1981448] - x86/fpu: Rewrite xfpregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Simplify PTRACE_GETREGS code (Prarit Bhargava) [1981448] - x86/fpu: Reject invalid MXCSR values in copy_kernel_to_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Sanitize xstateregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Move inlines where they belong (Prarit Bhargava) [1981448] - x86/fpu: Get rid of fpu__get_supported_xfeatures_mask() (Prarit Bhargava) [1981448] - x86/fpu: Make xfeatures_mask_all __ro_after_init (Prarit Bhargava) [1981448] - x86/fpu: Mark various FPU state variables __ro_after_init (Prarit Bhargava) [1981448] - x86/pkeys: Revert a5eff7259790 ("x86/pkeys: Add PKRU value to init_fpstate") (Prarit Bhargava) [1981448] - x86/fpu: Fix copy_xstate_to_kernel() gap handling (Prarit Bhargava) [1981448] - x86/fpu: Limit xstate copy size in xstateregs_set() (Prarit Bhargava) [1981448] - x86/fpu: Make init_fpstate correct with optimized XSAVE (Prarit Bhargava) [1981448] - x86/fpu: Preserve supervisor states in sanitize_restored_user_xstate() (Prarit Bhargava) [1981448] - x86/fpu: Reset state for all signal restore failures (Prarit Bhargava) [1981448] - x86/signal: Introduce helpers to get the maximum signal frame size (Prarit Bhargava) [1981448] - x86/fpu: Fix various typos in comments (Prarit Bhargava) [1981448] - x86/fpu/xstate: Use sizeof() instead of a constant (Prarit Bhargava) [1981448] - x86/fpu: Handle FPU-related and clearcpuid command line arguments earlier (Prarit Bhargava) [1981448] - x86/fpu: Allow multiple bits in clearcpuid= parameter (Prarit Bhargava) [1981448] - x86: switch to ->regset_get() (Prarit Bhargava) [1981448] - regset: new method and helpers for it (Prarit Bhargava) [1981448] - copy_regset_to_user(): do all copyout at once. (Prarit Bhargava) [1981448] - introduction of regset ->get() wrappers, switching ELF coredumps to those (Prarit Bhargava) [1981448] - user_regset_copyout_zero(): use clear_user() (Prarit Bhargava) [1981448] - x86: kill dump_fpu() (Prarit Bhargava) [1981448] - x86: copy_fpstate_to_sigframe(): have fpregs_soft_get() use kernel buffer (Prarit Bhargava) [1981448] - x86/pkeys: Add check for pkey "overflow" (Prarit Bhargava) [1981448] - x86/fpu: Deactivate FPU state after failure during state load (Prarit Bhargava) [1981448] - x86/fpu: Use sizeof_field() macro (Prarit Bhargava) [1981448] - x86/fpu: Inline fpu__xstate_clear_all_cpu_caps() (Prarit Bhargava) [1981448] - x86/fpu: Make 'no387' and 'nofxsr' command line options useful (Prarit Bhargava) [1981448] - x86/fpu: Remove the fpu__save() export (Prarit Bhargava) [1981448] - x86/process: Add AVX-512 usage elapsed time to /proc/pid/arch_status (Prarit Bhargava) [1981448] - x86/fpu: Add SPDX license identifier - Makefile/Kconfig (Prarit Bhargava) [1981448] - x86/fpu: Add SPDX license identifier for missed files (Prarit Bhargava) [1981448] - x86/fpu: Fix __user annotations (Prarit Bhargava) [1981448] - x86/fpu: Move init_xstate_size() to __init section (Prarit Bhargava) [1981448] - x86/fpu: Update comment for __raw_xsave_addr() (Prarit Bhargava) [1981448] - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file (Nilesh Javali) [1981433] - scsi: core: Put LLD module refcnt after SCSI device is released (Ming Lei) [1996509] - scsi: iscsi: Fix set_param() handling (Chris Leech) [2011470] - scsi: iscsi: Fix iscsi_task use after free (Chris Leech) [2011470] - scsi: iscsi: Adjust iface sysfs attr detection (Chris Leech) [2011470] - scsi: iscsi: Fix iface sysfs attr detection (Chris Leech) [2011470] - scsi: iscsi: Move pool freeing (Chris Leech) [2011470] - scsi: iscsi: Hold task ref during TMF timeout handling (Chris Leech) [2011470] - scsi: iscsi: Flush block work before unblock (Chris Leech) [2011470] - scsi: iscsi: Fix completion check during abort races (Chris Leech) [2011470] - scsi: iscsi: Fix shost->max_id use (Chris Leech) [2011470] - scsi: iscsi: Fix conn use after free during resets (Chris Leech) [2011470] - scsi: iscsi: Get ref to conn during reset handling (Chris Leech) [2011470] - scsi: iscsi: Have abort handler get ref to conn (Chris Leech) [2011470] - scsi: iscsi: Add iscsi_cls_conn refcount helpers (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Start socket shutdown during conn stop (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Set no linger (Chris Leech) [2011470] - scsi: iscsi: Fix in-kernel conn failure handling (Chris Leech) [2011470] - scsi: iscsi: Rel ref after iscsi_lookup_endpoint() (Chris Leech) [2011470] - scsi: iscsi: Use system_unbound_wq for destroy_work (Chris Leech) [2011470] - scsi: iscsi: Force immediate failure during shutdown (Chris Leech) [2011470] - scsi: iscsi: Drop suspend calls from ep_disconnect (Chris Leech) [2011470] - scsi: iscsi: Stop queueing during ep_disconnect (Chris Leech) [2011470] - scsi: iscsi: Add task completion helper (Chris Leech) [2011470] - scsi: iscsi: Fix iSCSI cls conn state (Chris Leech) [2011470] - scsi: iscsi: Fix race condition between login and sync thread (Chris Leech) [2011470] - scsi: iscsi: Drop session lock in iscsi_session_chkready() (Chris Leech) [2011470] - scsi: libiscsi: Reset max/exp cmdsn during recovery (Chris Leech) [2011470] - scsi: iscsi_tcp: Fix shost can_queue initialization (Chris Leech) [2011470] - scsi: libiscsi: Add helper to calculate max SCSI cmds per session (Chris Leech) [2011470] - scsi: libiscsi: Fix iSCSI host workq destruction (Chris Leech) [2011470] - scsi: libiscsi: Fix iscsi_task use after free() (Chris Leech) [2011470] - scsi: libiscsi: Drop taskqueuelock (Chris Leech) [2011470] - scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling (Chris Leech) [2011470] - scsi: iscsi: Fix inappropriate use of put_device() (Chris Leech) [2011470] - scsi: iscsi: Fail session and connection on transport registration failure (Chris Leech) [2011470] - scsi: drivers: base: Propagate errors through the transport component (Chris Leech) [2011470] - scsi: drivers: base: Support atomic version of attribute_container_device_trigger (Chris Leech) [2011470] - scsi: libiscsi: Fix NOP race condition (Chris Leech) [2011470] - scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() (Chris Leech) [2011470] - scsi: iscsi: iscsi_tcp: Avoid holding spinlock while calling getpeername() (Chris Leech) [2011470] - scsi: iscsi: Do not put host in iscsi_set_flashnode_param() (Chris Leech) [2011470] - scsi: iscsi: Register sysfs for workqueue iscsi_destroy (Chris Leech) [2011470] - scsi: iscsi: Remove sessdestroylist (Chris Leech) [2011470] - scsi: iscsi: Optimize work queue flush use (Chris Leech) [2011470] - scsi: iscsi: Delay freeing target_id (Chris Leech) [2011470] - scsi: iscsi: Change iSCSI workqueue max_active back to 1 (Chris Leech) [2011470] - scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj (Chris Leech) [2011470]- scsi: qedf: Fix error codes in qedf_alloc_global_queues() (Nilesh Javali) [1983908] - scsi: qedf: Add check to synchronize abort and flush (Nilesh Javali) [1983908] - scsi: qedf: Use DEVICE_ATTR_RO() macro (Nilesh Javali) [1983908] - scsi: qedf: Use vzalloc() instead of vmalloc()/memset(0) (Nilesh Javali) [1983908] - scsi: qedf: Drop unnecessary NULL checks after container_of() (Nilesh Javali) [1983908] - scsi: qedf: Use devlink to report errors and recovery (Nilesh Javali) [1983908] - scsi: qedf: Enable devlink support (Nilesh Javali) [1983908] - scsi: qedf: Remove unused include of linux/version.h (Nilesh Javali) [1983908] - qed: implement devlink dump (Nilesh Javali) [1983908] - qed*: make use of devlink recovery infrastructure (Nilesh Javali) [1983908] - qed: use devlink logic to report errors (Nilesh Javali) [1983908] - qed: health reporter init deinit seq (Nilesh Javali) [1983908] - qed: implement devlink info request (Nilesh Javali) [1983908] - qed/qede: make devlink survive recovery (Nilesh Javali) [1983908] - qed: move out devlink logic into a new file (Nilesh Javali) [1983908] - i40e: fix endless loop under rtnl (Stefan Assmann) [1903921] - ovl: fix missing negative dentry check in ovl_rename() (Miklos Szeredi) [2010887] {CVE-2021-20321} - [RHEL8.6 BZ 1849234] cifs: report error instead of invalid when revalidating a dentry fails (Ronnie Sahlberg) [1849234] - mei: me: emmitsburg workstation DID (David Arcari) [2014195] - redhat/configs: Add CONFIG_INTEL_QEP (Prarit Bhargava) [1783559] - redhat/configs: Add CONFIG_COUNTER (Prarit Bhargava) [1783559] - counter: Rename counter_count_function to counter_function (Prarit Bhargava) [1783559] - counter: Rename counter_signal_value to counter_signal_level (Prarit Bhargava) [1783559] - counter: Standardize to ERANGE for limit exceeded errors (Prarit Bhargava) [1783559] - counter: intel-qep: Remove linux/bitops.h include (Prarit Bhargava) [1783559] - counter: intel-qep: Use to_pci_dev() helper (Prarit Bhargava) [1783559] - counter: intel-qep: Mark PM callbacks with __maybe_unused (Prarit Bhargava) [1783559] - counter: Add support for Intel Quadrature Encoder Peripheral (Prarit Bhargava) [1783559] - counter: Simplify the count_read and count_write callbacks (Prarit Bhargava) [1783559] - drivers/counter: Add SPDX license identifier - Makefile/Kconfig (Prarit Bhargava) [1783559] - counter: Introduce the Generic Counter interface (Prarit Bhargava) [1783559] - bpf: Fix integer overflow in prealloc_elems_and_freelist() (Yauheni Kaliuta) [2010492] {CVE-2021-41864} - audit: move put_tree() to avoid trim_trees refcount underflow and UAF (Richard Guy Briggs) [1978123] - tpm: ibmvtpm: Avoid error message when process gets signal while waiting (Štěpán Horáček) [1981473] - efi/tpm: Differentiate missing and invalid final event log table. (Štěpán Horáček) [1981473] - tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status() (Štěpán Horáček) [1981473] - tpm_tis: Use DEFINE_RES_MEM() to simplify code (Štěpán Horáček) [1981473] - tpm: fix some doc warnings in tpm1-cmd.c (Štěpán Horáček) [1981473] - tpm_tis_spi: add missing SPI device ID entries (Štěpán Horáček) [1981473] - tpm: add longer timeout for TPM2_CC_VERIFY_SIGNATURE (Štěpán Horáček) [1981473] - tpm_tis_spi: set default probe function if device id not match (Štěpán Horáček) [1981473] - tpm_crb: Use IOMEM_ERR_PTR when function returns iomem (Štěpán Horáček) [1981473] - tools/testing/scatterlist: Fix overflow of max segment size (Rafael Aquini) [2016426] - drm: Remove SCATTERLIST_MAX_SEGMENT (Rafael Aquini) [2016426] - lib/scatterlist: Fix wrong update of orig_nents (Rafael Aquini) [2016426] - lib/scatterlist: Provide a dedicated function to support table append (Rafael Aquini) [2016426] - tools/testing/scatterlist: Test dynamic __sg_alloc_table_from_pages (Rafael Aquini) [2016426] - tools/testing/scatterlist: Fix test to compile and run (Rafael Aquini) [2016426] - tools/testing/scatterlist: Show errors in human readable form (Rafael Aquini) [2016426] - tools/testing/scatterlist: Rejuvenate bit-rotten test (Rafael Aquini) [2016426] - Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH (Rafael Aquini) [2016426] - buildid: only consider GNU notes for build ID parsing (Rafael Aquini) [2016426] - lib/decompressors: remove set but not used variabled 'level' (Rafael Aquini) [2016426] - lib/math/rational.c: fix divide by zero (Rafael Aquini) [2016426] - lockdep/selftests: Fix selftests vs PROVE_RAW_LOCK_NESTING (Rafael Aquini) [2016426] - kunit: Fix result propagation for parameterised tests (Rafael Aquini) [2016426] - bug: Remove redundant condition check in report_bug (Rafael Aquini) [2016426] - zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c (Rafael Aquini) [2016426] - zlib: export S390 symbols for zlib modules (Rafael Aquini) [2016426] - lib/crc32test: remove extra local_irq_disable/enable (Rafael Aquini) [2016426] - random32: add a selftest for the prandom32 code (Rafael Aquini) [2016426] - random32: add noise from network and scheduling activity (Rafael Aquini) [2016426] - random32: make prandom_u32() output unpredictable (Rafael Aquini) [2016426] - lib: Correct comment of prandom_seed (Rafael Aquini) [2016426] - lib/crc32.c: fix trivial typo in preprocessor condition (Rafael Aquini) [2016426] - lib/crc: Use consistent naming for CRC-32 polynomials (Rafael Aquini) [2016426] - lib/crc: Move polynomial definition to separate header (Rafael Aquini) [2016426] - kstrto*: do not describe simple_strto*() as obsolete/replaced (Rafael Aquini) [2016426] - kstrto*: correct documentation references to simple_strto*() (Rafael Aquini) [2016426] - kernel.h: update comment about simple_strto() functions (Rafael Aquini) [2016426] - lib/bitmap.c: fix bitmap_cut() for partial overlapping case (Rafael Aquini) [2016426] - devres: keep both device name and resource name in pretty name (Rafael Aquini) [2016426] - crc-t10dif: Fix potential crypto notify dead-lock (Rafael Aquini) [2016426] - vsprintf: don't obfuscate NULL and error pointers (Rafael Aquini) [2016426] - lib/stackdepot.c: fix global out-of-bounds in stack_slabs (Rafael Aquini) [2016426] - lib/scatterlist.c: adjust indentation in __sg_alloc_table (Rafael Aquini) [2016426] - lib/stackdepot: Fix outdated comments (Rafael Aquini) [2016426] - lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() (Rafael Aquini) [2016426] - lib: Remove select of inexistant GENERIC_IO (Rafael Aquini) [2016426] - lib: test_user_copy: style cleanup (Rafael Aquini) [2016426] - usercopy: Add parentheses around assignment in test_copy_struct_from_user (Rafael Aquini) [2016426] - lib: textsearch: fix escapes in example code (Rafael Aquini) [2016426] - Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()" (Rafael Aquini) [2016426] - lib: logic_pio: Fix RCU usage (Rafael Aquini) [2016426] - lib/test_overflow.c: avoid tainting the kernel and fix wrap size (Rafael Aquini) [2016426] - lib/test_string.c: avoid masking memset16/32/64 failures (Rafael Aquini) [2016426] - lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE (Rafael Aquini) [2016426] - lib/mpi: Fix karactx leak in mpi_powm (Rafael Aquini) [2016426] - sbitmap: fix improper use of smp_mb__before_atomic() (Rafael Aquini) [2016426] - kobject: Don't trigger kobject_uevent(KOBJ_REMOVE) twice. (Rafael Aquini) [2016426] - lib/div64.c: off by one in shift (Rafael Aquini) [2016426] - assoc_array: Fix shortcut creation (Rafael Aquini) [2016426] - lib/test_kmod.c: potential double free in error handling (Rafael Aquini) [2016426] - devres: always use dev_name() in devm_ioremap_resource() (Rafael Aquini) [2016426] - lib: fix build failure in CONFIG_DEBUG_VIRTUAL test (Rafael Aquini) [2016426] - test_firmware: fix error return getting clobbered (Rafael Aquini) [2016426] - lib: Fix ia64 bootloader linkage (Rafael Aquini) [2016426] - lib/test_hexdump.c: fix failure on big endian cpu (Rafael Aquini) [2016426] - hv_utils: Set the maximum packet size for VSS driver to the length of the receive buffer (Cathy Avery) [2012842] - scsi: storvsc: Log TEST_UNIT_READY errors as warnings (Cathy Avery) [2012842] - scsi: storvsc: Correctly handle multiple flags in srb_status (Cathy Avery) [2012842] - scsi: storvsc: Update error logging (Cathy Avery) [2012842] - scsi: storvsc: Miscellaneous code cleanups (Cathy Avery) [2012842] - scsi: storvsc: Use blk_mq_unique_tag() to generate requestIDs (Cathy Avery) [2012842] - Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer (Cathy Avery) [2012842] - scsi: core: Fix hang of freezing queue between blocking and running device (Ewan D. Milne) [2012323] - scsi: core: Fix capacity set to zero after offlinining device (Ewan D. Milne) [2012323] - scsi: sr: Return correct event when media event code is 3 (Ewan D. Milne) [2012323] - scsi: core: Avoid printing an error if target_alloc() returns -ENXIO (Ewan D. Milne) [2012323] - scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach() (Ewan D. Milne) [2012323] - scsi: core: Fix bad pointer dereference when ehandler kthread is invalid (Ewan D. Milne) [2012323] - scsi: core: Fix the documentation of the scsi_execute() time parameter (Ewan D. Milne) [2012323] - scsi: core: Retry I/O for Notify (Enable Spinup) Required error (Ewan D. Milne) [2012323] - scsi: sd: Call sd_revalidate_disk() for ioctl(BLKRRPART) (Ewan D. Milne) [2012323] - scsi: core: Inline scsi_mq_alloc_queue() (Ewan D. Milne) [2012323] - scsi: sr: Return appropriate error code when disk is ejected (Ewan D. Milne) [2012323] - scsi: core: Only put parent device if host state differs from SHOST_CREATED (Ewan D. Milne) [2012323] - scsi: core: Put .shost_dev in failure path if host state changes to RUNNING (Ewan D. Milne) [2012323] - scsi: core: Fix failure handling of scsi_add_host_with_dma() (Ewan D. Milne) [2012323] - scsi: core: Fix error handling of scsi_host_alloc() (Ewan D. Milne) [2012323] - scsi: st: Return error code in st_scsi_execute() (Ewan D. Milne) [2012323] - scsi: scsi_dh_alua: Retry RTPG on a different path after failure (Ewan D. Milne) [2012323] - scsi: scsi_transport_fc: Remove double FC_FPORT_DELETED in mask creation (Ewan D. Milne) [2012323] - scsi: core: Fix a comment in function scsi_host_dev_release() (Ewan D. Milne) [2012323] - scsi: scsi_debug: Drop if with an always false condition (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix cmd_per_lun, set to max_queue (Ewan D. Milne) [2012323] - scsi: sd: Introduce a new local variable in sd_check_events() (Ewan D. Milne) [2012323] - scsi: core: Modify the scsi_send_eh_cmnd() return value for the SDEV_BLOCK case (Ewan D. Milne) [2012323] - scsi: core: Rename scsi_softirq_done() into scsi_complete() (Ewan D. Milne) [2012323] - scsi: core: Remove an incorrect comment (Ewan D. Milne) [2012323] - scsi: core: Make the scsi_alloc_sgtables() documentation more accurate (Ewan D. Milne) [2012323] - scsi: scsi_dh_alua: Prevent duplicate pg info print in alua_rtpg() (Ewan D. Milne) [2012323] - scsi: core: scsi_host_cmd_pool is declared twice (Ewan D. Milne) [2012323] - scsi: core: Remove duplicate declarations (Ewan D. Milne) [2012323] - scsi: core: Fix comment typo (Ewan D. Milne) [2012323] - scsi: scsi_dh: Fix a typo (Ewan D. Milne) [2012323] - scsi: sd: Fix function name in header (Ewan D. Milne) [2012323] - scsi: sd_zbc: Place function name into header (Ewan D. Milne) [2012323] - scsi: sd_zbc: Update write pointer offset cache (Ewan D. Milne) [2012323] - scsi: st: Fix a use after free in st_open() (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix cmd duration calculation (Ewan D. Milne) [2012323] - scsi: core: Set shost as hctx driver_data (Ewan D. Milne) [2012323] - scsi: scsi_debug: Add new defer type for mq_poll (Ewan D. Milne) [2012323] - scsi: scsi_debug: mq_poll support (Ewan D. Milne) [2012323] - scsi: core: Add mq_poll support to SCSI layer (Ewan D. Milne) [2012323] - scsi: sd: Remove obsolete variable in sd_remove() (Ewan D. Milne) [2012323] - scsi: handle zone resources errors (Ewan D. Milne) [2012323] - scsi: scsi_debug: Fix scp is NULL errors (Ewan D. Milne) [2012323] - scsi: scsi_debug: Improve command duration calculation (Ewan D. Milne) [2012323] - x86/platform: Increase maximum GPIO number for X86_64 (David Arcari) [2016796] - pinctrl: pinconf-generic: Add function parameter description 'pctldev' (David Arcari) [2016796] - pinctrl: core: Remove duplicated word from devm_pinctrl_unregister() (David Arcari) [2016796] - pinctrl: tigerlake: Fix GPIO mapping for newer version of software (David Arcari) [2016796] - pinctrl: tigerlake: Add Alder Lake-M ACPI ID (David Arcari) [2016796] - docs: update pin-control.rst references (David Arcari) [2016796] - pinctrl: Keep enum pin_config_param ordered by name (part 2) (David Arcari) [2016796] - pinctrl: core: Show pin numbers for the controllers with base = 0 (David Arcari) [2016796] - pinctrl: Add PIN_CONFIG_MODE_PWM to enum pin_config_param (David Arcari) [2016796] - pinctrl: Introduce MODE group in enum pin_config_param (David Arcari) [2016796] - pinctrl: Keep enum pin_config_param ordered by name (David Arcari) [2016796] - pinctrl: core: Fix kernel doc string for pin_get_name() (David Arcari) [2016796] - pinctrl: intel: check REVID register value for device presence (David Arcari) [2016796] - pinctrl: intel: No need to disable IRQs in the handler (David Arcari) [2016796] - pinctrl: core: Set ret to 0 when group is skipped (David Arcari) [2016796] - pinctrl: core: Handling pinmux and pinconf separately (David Arcari) [2016796] - Documentation: rename pinctl to pin-control (David Arcari) [2016796] - pinctrl: pinmux: Add pinmux-select debugfs file (David Arcari) [2016796] - pinctrl: use to octal permissions for debugfs files (David Arcari) [2016796] - pinctrl: intel: Show the GPIO base calculation explicitly (David Arcari) [2016796] - pinctrl: pinmux: add function selector to pinmux-functions (David Arcari) [2016796] - pinctrl: intel: Convert capability list to features (David Arcari) [2016796] - pinctrl: intel: Drop unnecessary check for predefined features (David Arcari) [2016796] - pinctrl: intel: Split intel_pinctrl_add_padgroups() for better maintenance (David Arcari) [2016796] - pinctrl: remove empty lines in pinctrl subsystem (David Arcari) [2016796] - pinctrl: intel: Actually disable Tx and Rx buffers on GPIO request (David Arcari) [2016796] - pinctrl: Remove hole in pinctrl_gpio_range (David Arcari) [2016796] - pinctrl: core: Add missing #ifdef CONFIG_GPIOLIB (David Arcari) [2016796] - pinctrl: intel: Set default bias in case no particular value given (David Arcari) [2016796] - pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm (David Arcari) [2016796] - pinctrl: core: print gpio in pins debugfs file (David Arcari) [2016796] - pinctrl: pinmux: Add some missing parameter descriptions (David Arcari) [2016796] - pinctrl: core: Fix a bunch of kerneldoc issues (David Arcari) [2016796] - pinctrl: Define of_pinctrl_get() dummy for !PINCTRL (David Arcari) [2016796] - pinctrl: core: Remove extra kref_get which blocks hogs being freed (David Arcari) [2016796] - pinctrl: Export some needed symbols at module load time (David Arcari) [2016796] - pinctrl: core: Add pinctrl_select_default_state() and export it (David Arcari) [2016796] - pinctrl: make pinconf.h self-contained (David Arcari) [2016796] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (David Arcari) [2016796] - pinctrl: remove pinctrl/machine.h inclusion from pinctrl/pinconf.h (David Arcari) [2016796] - pinctrl: Document pin_config_group_get() return codes like pin_config_get() (David Arcari) [2016796] - pinctrl: intel: Convert to use SPDX identifier (David Arcari) [2016796] - mm/swapfile: fix an integer overflow in swap_show() (Rafael Aquini) [2008812] - mm: swapfile: fix /proc/swaps heading and Size/Used/Priority alignment (Rafael Aquini) [2008812] - Makefile: update early devel phase flag (Augusto Caringi) [2000679] - KVM: s390: Enable specification exception interpretation (Thomas Huth) [1984894] - KVM: x86: Update vCPU's hv_clock before back to guest when tsc_offset is adjusted (Marcelo Tosatti) [2007928] - ibmvnic: Remove the proper scrq flush (Desnes A. Nunes do Rosario) [2014097] - selftests/net/ipsec: Add test for xfrm_spdattr_type_t (Hangbin Liu) [2018056] - selftest/net/ipsec.c: Remove unneeded semicolon (Hangbin Liu) [2018056] - selftest/net/xfrm: Add test for ipsec tunnel (Hangbin Liu) [2018056] - ipv6: add ip6_sock_set_v6only (Josef Oskera) [2008908] - ipv6: When forwarding count rx stats on the orig netdev (Hangbin Liu) [2017704] - ipv6: make exception cache less predictible (Hangbin Liu) [2017704] - ipv6: use siphash in rt6_exception_hash() (Hangbin Liu) [2017704] - ipv6: use jhash2() in rt6_exception_hash() (Hangbin Liu) [2017704] - net/l2tp: Fix reference count leak in l2tp_udp_recv_core (Guillaume Nault) [2020380] - netfilter: nft_flow_offload: fix underflow in flowtable reference counter (Phil Sutter) [2008551] - net: xfrm: Fix end of loop tests for list_for_each_entry (Sabrina Dubroca) [2019168] - xfrm: Fix error reporting in xfrm_state_construct. (Sabrina Dubroca) [2019168]- nvme-mpath: replace direct_make_request with generic_make_request (Gopal Tiwari) [2013505] - net-sysfs: try not to restart the syscall if it will fail eventually (Antoine Tenart) [2016005] - net: mana: Fix error handling in mana_create_rxq() (Mohammed Gamal) [2011886] - net: mana: Prefer struct_size over open coded arithmetic (Mohammed Gamal) [2011886] - net: mana: Add WARN_ON_ONCE in case of CQE read overflow (Mohammed Gamal) [2011886] - net: mana: Add support for EQ sharing (Mohammed Gamal) [2011886] - net: mana: Move NAPI from EQ to CQ (Mohammed Gamal) [2011886] - net: mana: Fix a memory leak in an error handling path in 'mana_create_txq()' (Mohammed Gamal) [2011886] - net: mana: Use struct_size() in kzalloc() (Mohammed Gamal) [2011886] - vmxnet3: switch from 'pci_' to 'dma_' API (Kamal Heib) [2013202] - vmxnet3: update to version 6 (Kamal Heib) [2013202] - vmxnet3: increase maximum configurable mtu to 9190 (Kamal Heib) [2013202] - vmxnet3: set correct hash type based on rss information (Kamal Heib) [2013202] - vmxnet3: add support for ESP IPv6 RSS (Kamal Heib) [2013202] - vmxnet3: remove power of 2 limitation on the queues (Kamal Heib) [2013202] - vmxnet3: add support for 32 Tx/Rx queues (Kamal Heib) [2013202] - vmxnet3: prepare for version 6 changes (Kamal Heib) [2013202] - vmxnet3: fix cksum offload issues for tunnels with non-default udp ports (Kamal Heib) [2013202] - treewide: Use fallthrough pseudo-keyword (Kamal Heib) [2013202] - net: Use skb_frag_off accessors (Kamal Heib) [2013202] - net: Use skb accessors in network drivers (Kamal Heib) [2013202] - vmxnet3: Remove call to memset after dma_alloc_coherent (Kamal Heib) [2013202] - cgroup/debug: Fix lockdep splat with "pK" format specifier (Waiman Long) [2007919] - configs: Enable FC_APPID (Ewan D. Milne) [1643346] - configs: Enable BLK_CGROUP_FC_APPID (Ewan D. Milne) [1643346] - scsi: nvme: Added a new sysfs attribute appid_store (Ewan D. Milne) [1643346] - scsi: blkcg: Add app identifier support for blkcg (Ewan D. Milne) [1643346] - scsi: cgroup: Add cgroup_get_from_id() (Ewan D. Milne) [1643346] - perf iostat: Fix Segmentation fault from NULL 'struct perf_counts_values *' (Michael Petlan) [2003981] - perf iostat: Use system-wide mode if the target cpu_list is unspecified (Michael Petlan) [2003981] - perf beauty: Update copy of linux/socket.h with the kernel sources (Michael Petlan) [2003981] - perf test: Fix non-bash issue with stat bpf counters (Michael Petlan) [2003981] - perf machine: Fix refcount usage when processing PERF_RECORD_KSYMBOL (Michael Petlan) [2003981] - perf metricgroup: Return error code from metricgroup__add_metric_sys_event_iter() (Michael Petlan) [2003981] - perf metricgroup: Fix find_evsel_group() event selector (Michael Petlan) [2003981] - perf session: Correct buffer copying when peeking events (Michael Petlan) [2003981] - perf env: Fix memory leak of bpf_prog_info_linear member (Michael Petlan) [2003981] - perf symbol-elf: Fix memory leak by freeing sdt_note.args (Michael Petlan) [2003981] - perf stat: Honor event config name on --no-merge (Michael Petlan) [2003981] - perf test: Test 17 fails with make LIBPFM4=1 on s390 z/VM (Michael Petlan) [2003981] - perf stat: Fix error return code in bperf__load() (Michael Petlan) [2003981] - perf record: Move probing cgroup sampling support (Michael Petlan) [2003981] - perf probe: Fix NULL pointer dereference in convert_variable_location() (Michael Petlan) [2003981] - perf tools: Copy uapi/asm/perf_regs.h from the kernel for MIPS (Michael Petlan) [2003981] - perf stat: Fix error check for bpf_program__attach (Michael Petlan) [2003981] - perf jevents: Fix getting maximum number of fds (Michael Petlan) [2003981] - perf stat: Skip evlist__[enable|disable] when all events uses BPF (Michael Petlan) [2003981] - perf script: Add missing PERF_IP_FLAG_CHARS for VM-Entry and VM-Exit (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix warning display (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix Array TypeError (Michael Petlan) [2003981] - perf scripts python: exported-sql-viewer.py: Fix copy to clipboard from Top Calls by elapsed Time report (Michael Petlan) [2003981] - perf parse-events: Check if the software events array slots are populated (Michael Petlan) [2003981] - perf tools: Add 'cgroup-switches' software event (Michael Petlan) [2003981] - perf intel-pt: Remove redundant setting of ptq->insn_len (Michael Petlan) [2003981] - perf intel-pt: Fix sample instruction bytes (Michael Petlan) [2003981] - perf intel-pt: Fix transaction abort handling (Michael Petlan) [2003981] - perf test: Fix libpfm4 support (63) test error for nested event groups (Michael Petlan) [2003981] - perf buildid-list: Initialize zstd_data (Michael Petlan) [2003981] - tools build: Fix quiet cmd indentation (Michael Petlan) [2003981] - perf tools: Fix a build error on arm64 with clang (Michael Petlan) [2003981] - perf tools: Fix dynamic libbpf link (Michael Petlan) [2003981] - perf session: Fix swapping of cpu_map and stat_config records (Michael Petlan) [2003981] - perf jevents: Silence warning for ArchStd files (Michael Petlan) [2003981] - perf build: Defer printing detected features to the end of all feature checks (Michael Petlan) [2003981] - tools build: Allow deferring printing the results of feature detection (Michael Petlan) [2003981] - perf build: Regenerate the FEATURE_DUMP file after extra feature checks (Michael Petlan) [2003981] - perf session: Dump PERF_RECORD_TIME_CONV event (Michael Petlan) [2003981] - perf session: Add swap operation for event TIME_CONV (Michael Petlan) [2003981] - perf jit: Let convert_timestamp() to be backwards-compatible (Michael Petlan) [2003981] - perf tools: Change fields type in perf_record_time_conv (Michael Petlan) [2003981] - perf tools: Enable libtraceevent dynamic linking (Michael Petlan) [2003981] - perf report: Print percentage of each event statistics (Michael Petlan) [2003981] - perf report: Make --skip-empty as default (Michael Petlan) [2003981] - perf report: Add --skip-empty option to suppress 0 event stat (Michael Petlan) [2003981] - perf report: Show event sample counts in --stat output (Michael Petlan) [2003981] - perf hists: Split hists_stats from events_stats (Michael Petlan) [2003981] - perf top: Use evlist->events_stat to count events (Michael Petlan) [2003981] - perf data: Add JSON export (Michael Petlan) [2003981] - perf stat: Introduce bpf_counter_ops->disable() (Michael Petlan) [2003981] - perf stat: Introduce ':b' modifier (Michael Petlan) [2003981] - perf stat: Introduce config stat.bpf-counter-events (Michael Petlan) [2003981] - perf bpf: check perf_attr_map is compatible with the perf binary (Michael Petlan) [2003981] - perf util: Move bpf_perf definitions to a libperf header (Michael Petlan) [2003981] - perf tools: Update topdown documentation to permit rdpmc calls (Michael Petlan) [2003981] - perf tools: Add a build-test variant to use in builds from a tarball (Michael Petlan) [2003981] - perf arm64: Fix off-by-one directory paths. (Michael Petlan) [2003981] - perf: Update .gitignore file (Michael Petlan) [2003981] - perf stat: Enable iostat mode for x86 platforms (Michael Petlan) [2003981] - perf stat: Helper functions for PCIe root ports list in iostat mode (Michael Petlan) [2003981] - perf stat: Basic support for iostat in perf (Michael Petlan) [2003981] - libperf xyarray: Add bounds checks to xyarray__entry() (Michael Petlan) [2003981] - libperf: Add support for user space counter access (Michael Petlan) [2003981] - libperf tests: Add support for verbose printing (Michael Petlan) [2003981] - libperf: Add evsel mmap support (Michael Petlan) [2003981] - tools include: Add an initial math64.h (Michael Petlan) [2003981] - perf beauty: Fix fsconfig generator (Michael Petlan) [2003981] - perf record: Improve 'Workload failed' message printing events + what was exec'ed (Michael Petlan) [2003981] - perf evlist: Add a method to return the list of evsels as a string (Michael Petlan) [2003981] - perf annotate: Fix sample events lost in stdio mode (Michael Petlan) [2003981] - perf vendor events amd: Add Zen3 events (Michael Petlan) [2003981] - perf vendor events amd: Use 0x02x format for event code and umask (Michael Petlan) [2003981] - perf vendor events amd: Use lowercases for all the eventcodes and umasks (Michael Petlan) [2003981] - perf vendor events amd: Fix broken L2 Cache Hits from L2 HWPF metric (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L3 metrics (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L2 metrics (Michael Petlan) [2003981] - perf vendor events arm64: Add Hisi hip08 L1 metrics (Michael Petlan) [2003981] - perf pmu: Add pmu_events_map__find() function to find the common PMU map for the system (Michael Petlan) [2003981] - perf test: Handle metric reuse in pmu-events parsing test (Michael Petlan) [2003981] - perf metricgroup: Make find_metric() public with name change (Michael Petlan) [2003981] - perf mem-events: Remove unnecessary 'struct mem_info' forward declaration (Michael Petlan) [2003981] - perf evsel: Remove duplicate 'struct target' forward declaration (Michael Petlan) [2003981] - perf annotate: Add --demangle and --demangle-kernel (Michael Petlan) [2003981] - perf tools: Preserve identifier id in OCaml demangler (Michael Petlan) [2003981] - perf daemon: Remove duplicate includes (Michael Petlan) [2003981] - perf tools: Remove duplicate struct forward declarations (Michael Petlan) [2003981] - perf test: Add CSV summary test (Michael Petlan) [2003981] - perf stat: Align CSV output for summary mode (Michael Petlan) [2003981] - perf test: Add a shell test for 'perf stat --bpf-counters' new option (Michael Petlan) [2003981] - perf stat: Measure 't0' and 'ref_time' after enable_counters() (Michael Petlan) [2003981] - perf stat: Introduce 'bperf' to share hardware PMCs with BPF (Michael Petlan) [2003981] - perf tools: Fix various typos in comments (Michael Petlan) [2003981] - perf test: Add 30s timeout for wait for daemon start. (Michael Petlan) [2003981] - perf test: Cleanup daemon if test is interrupted. (Michael Petlan) [2003981] - perf test: Remove unused argument (Michael Petlan) [2003981] - perf stat: Improve readability of shadow stats (Michael Petlan) [2003981] - perf stat: Elaborate use cases for the -n/--null command line option (Michael Petlan) [2003981] - perf evlist: Change the COMM when preparing the workload (Michael Petlan) [2003981] - perf machine: Assign boolean values to a bool variable (Michael Petlan) [2003981] - perf tools: use ARRAY_SIZE (Michael Petlan) [2003981] - perf stat: Fixup __perf_stat_evsel__is() prefix (Michael Petlan) [2003981] - perf script: Fixup 'struct evsel_script' method prefix (Michael Petlan) [2003981] - perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars (Michael Petlan) [2003981] - tools include: Add __sum16 and __wsum definitions. (Michael Petlan) [2003981] - perf annotate: Show full source location with 'l' hotkey (Michael Petlan) [2003981] - perf bench: Fix misspellings using codespell (Michael Petlan) [2003981] - perf config: Add annotate.demangle{,_kernel} (Michael Petlan) [2003981] - perf bpf: Minor whitespace cleanup. (Michael Petlan) [2003981] - perf tools: Enable warnings when compiling BPF programs (Michael Petlan) [2003981] - perf skel: Remove some unused variables. (Michael Petlan) [2003981] - perf report: Create option to disable raw event ordering (Michael Petlan) [2003981] - perf metric: Remove unneeded semicolon (Michael Petlan) [2003981] - perf cs-etm: Detect pid in VMID for kernel running at EL2 (Michael Petlan) [2003981] - perf cs-etm: Add helper cs_etm__get_pid_fmt() (Michael Petlan) [2003981] - perf cs-etm: Support PID tracing in config (Michael Petlan) [2003981] - perf cs-etm: Fix bitmap for option (Michael Petlan) [2003981] - perf cs-etm: Update ETM metadata format (Michael Petlan) [2003981] - perf vendor events power9: Remove unsupported metrics (Michael Petlan) [2003981] - perf buildid-cache: Add test for PE executable (Michael Petlan) [2003981] - perf docs: Add man pages to see also (Michael Petlan) [2003981] - perf tools: Generate mips syscalls_n64.c syscall table (Michael Petlan) [2003981] - perf s390: Move syscall.tbl check into check-headers.sh (Michael Petlan) [2003981] - perf tools: Support MIPS unwinding and dwarf-regs (Michael Petlan) [2003981] - tools: do not include scripts/Kbuild.include (Michael Petlan) [2003981] - tools: Allow proper CC/CXX/... override with LLVM=1 in Makefile.include (Michael Petlan) [2003981] - perf intel-pt: Use aux_watermark (Michael Petlan) [2003981] - perf/x86/intel/uncore: Fix M2M event umask for Ice Lake server (Michael Petlan) [2003981] - perf/x86/intel/uncore: Fix a kernel WARNING triggered by maxcpus=1 (Michael Petlan) [2003981] - perf: Fix data race between pin_count increment/decrement (Michael Petlan) [2003981] - perf/x86: Avoid touching LBR_TOS MSR for Arch LBR (Michael Petlan) [2003981] - perf/x86: Allow for 8running into P4 specific code (Michael Petlan) [2003981] - perf: Add support for event removal on exec (Michael Petlan) [2003981] - perf: Support only inheriting events if cloned with CLONE_THREAD (Michael Petlan) [2003981] - perf: Apply PERF_EVENT_IOC_MODIFY_ATTRIBUTES to children (Michael Petlan) [2003981] - perf: Rework perf_event_exit_event() (Michael Petlan) [2003981] - perf: Cap allocation order at aux_watermark (Michael Petlan) [2003981] - perf/x86/intel/uncore: Enable IIO stacks to PMON mapping for multi-segment SKX (Michael Petlan) [2003981] - perf core: Allocate perf_event in the target node memory (Michael Petlan) [2003981] - perf core: Add a kmem_cache for struct perf_event (Michael Petlan) [2003981] - perf core: Allocate perf_buffer in the target node memory (Michael Petlan) [2003981] - x86: Remove unusual Unicode characters from comments (Michael Petlan) [2003981] - redhat/configs: Add CONFIG_TIMERLAT_TRACER (Jerome Marchand) [1979382] - redhat/configs: Add CONFIG_OSNOISE_TRACER (Jerome Marchand) [1979382] - tracing/osnoise: Fix missed cpus_read_unlock() in start_per_cpu_kthreads() (Jerome Marchand) [1979382] - tracing: Replace deprecated CPU-hotplug functions. (Jerome Marchand) [1979382] - trace/osnoise: Print a stop tracing message (Jerome Marchand) [1979382] - trace/timerlat: Add a header with PREEMPT_RT additional fields (Jerome Marchand) [1979382] - trace/osnoise: Add a header with PREEMPT_RT additional fields (Jerome Marchand) [1979382] - tracing: Quiet smp_processor_id() use in preemptable warning in hwlat (Jerome Marchand) [1979382] - trace/timerlat: Fix indentation on timerlat_main() (Jerome Marchand) [1979382] - trace/osnoise: Make 'noise' variable s64 in run_osnoise() (Jerome Marchand) [1979382] - tracing: Fix spelling in osnoise tracer "interferences" -> "interference" (Jerome Marchand) [1979382] - Documentation: Fix a typo on trace/osnoise-tracer (Jerome Marchand) [1979382] - trace/osnoise: Fix return value on osnoise_init_hotplug_support (Jerome Marchand) [1979382] - trace/osnoise: Make interval u64 on osnoise_main (Jerome Marchand) [1979382] - trace/osnoise: Fix 'no previous prototype' warnings (Jerome Marchand) [1979382] - tracing: Have osnoise_main() add a quiescent state for task rcu (Jerome Marchand) [1979382] - trace/osnoise: Support hotplug operations (Jerome Marchand) [1979382] - trace/hwlat: Support hotplug operations (Jerome Marchand) [1979382] - trace/hwlat: Protect kdata->kthread with get/put_online_cpus (Jerome Marchand) [1979382] - trace: Add timerlat tracer (Jerome Marchand) [1979382] - trace: Add osnoise tracer (Jerome Marchand) [1979382] - trace: Add __print_ns_to_secs() and __print_ns_without_secs() helpers (Jerome Marchand) [1979382] - trace/hwlat: Remove printk from sampling loop (Jerome Marchand) [1979382] - trace/hwlat: Use trace_min_max_param for width and window params (Jerome Marchand) [1979382] - trace: Add a generic function to read/write u64 values from tracefs (Jerome Marchand) [1979382] - trace/hwlat: Implement the per-cpu mode (Jerome Marchand) [1979382] - trace/hwlat: Switch disable_migrate to mode none (Jerome Marchand) [1979382] - trace/hwlat: Implement the mode config option (Jerome Marchand) [1979382] - uio_hv_generic: Fix another memory leak in error handling paths (Mohammed Gamal) [2008561] - uio_hv_generic: Fix a memory leak in error handling paths (Mohammed Gamal) [2008561] - mfd: intel-lpss: Add Intel Alder Lake-M PCI IDs (David Arcari) [1929498] - xfs: fix up non-directory creation in SGID directories (Brian Foster) [2004810] - xfs: kill ialloced in xfs_dialloc() (Brian Foster) [2004810] - xfs: spilt xfs_dialloc() into 2 functions (Brian Foster) [2004810] - xfs: move xfs_dialloc_roll() into xfs_dialloc() (Brian Foster) [2004810] - xfs: move on-disk inode allocation out of xfs_ialloc() (Brian Foster) [2004810] - xfs: introduce xfs_dialloc_roll() (Brian Foster) [2004810] - xfs: convert noroom, okalloc in xfs_dialloc() to bool (Brian Foster) [2004810] - xfs: check tp->t_dqinfo value instead of the XFS_TRANS_DQ_DIRTY flag (Brian Foster) [2004810] - scsi: vmw_pvscsi: Set correct residual data length (Cathy Avery) [2012237] - scsi: vmw_pvscsi: MAINTAINERS: Update maintainer (Cathy Avery) [2012237] - treewide: Use fallthrough pseudo-keyword (Cathy Avery) [2012237] - scsi: be2iscsi: Fix use-after-free during IP updates (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix some missing space in some messages (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Remove redundant initialization (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Demote incomplete/non-conformant kernel-doc header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Ensure function follows directly after its header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix beiscsi_phys_port()'s name in header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Provide missing function name in header (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix incorrect naming of beiscsi_iface_config_vlan() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Mark beiscsi_attrs with static keyword (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()" (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Correct misdocumentation of function param 'ep' (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Add missing function parameter description (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix misdocumentation of 'pcontext' (Maurizio Lombardi) [1984347] - scsi: be2iscsi: Fix API/documentation slip (Maurizio Lombardi) [1984347] - powerpc/spinlock: Properly define pv_spinlocks_init() (Waiman Long) [2014363] - ACPI: Pass the same capabilities to the _OSC regardless of the query flag (Mark Langsdorf) [1982319] - Revert "[acpi] ACPI: sleep: Put the FACS table after using it" (Mark Langsdorf) [1982319] - ACPICA: Clean up context mutex during object deletion (Mark Langsdorf) [1982319] - ACPI: power: Refine turning off unused power resources (Mark Langsdorf) [1982319] - ACPI: NFIT: Fix support for variable 'SPA' structure size (Mark Langsdorf) [1982319] - ACPI: custom_method: fix a possible memory leak (Mark Langsdorf) [1982319] - ACPI: custom_method: fix potential use-after-free issue (Mark Langsdorf) [1982319] - ACPI: irq: Prevent unregistering of GIC SGIs (Mark Langsdorf) [1982319] - ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure (Mark Langsdorf) [1982319] - ACPI: video: use native backlight for GA401/GA502/GA503 (Mark Langsdorf) [1982319] - ACPI: APEI: remove redundant assignment to variable rc (Mark Langsdorf) [1982319] - ACPI: utils: Capitalize abbreviations in the comments (Mark Langsdorf) [1982319] - ACPI: utils: Document for_each_acpi_dev_match() macro (Mark Langsdorf) [1982319] - ACPI: bus: Introduce acpi_dev_get() and reuse it in ACPI code (Mark Langsdorf) [1982319] - ACPI: scan: Utilize match_string() API (Mark Langsdorf) [1982319] - ACPI: CPPC: Replace cppc_attr with kobj_attribute (Mark Langsdorf) [1982319] - ACPI: scan: Call acpi_get_object_info() from acpi_set_pnp_ids() (Mark Langsdorf) [1982319] - ACPI: scan: Drop sta argument from acpi_init_device_object() (Mark Langsdorf) [1982319] - ACPI: scan: Drop sta argument from acpi_add_single_object() (Mark Langsdorf) [1982319] - ACPI: scan: Rearrange checks in acpi_bus_check_add() (Mark Langsdorf) [1982319] - ACPI: scan: Fold acpi_bus_type_and_status() into its caller (Mark Langsdorf) [1982319] - ACPI: video: Check LCD flag on ACPI-reduced-hardware devices (Hans de Goede) [1982319] - ACPI: utils: Add acpi_reduced_hardware() helper (Mark Langsdorf) [1982319] - ACPI: dock: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: sysfs: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: PM: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: custom_method: fix a coding style issue (Mark Langsdorf) [1982319] - ACPI: CPPC: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: button: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: battery: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: acpi_pad: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: LPSS: add a missed blank line after declarations (Mark Langsdorf) [1982319] - ACPI: ipmi: remove useless return statement for void function (Mark Langsdorf) [1982319] - ACPI: processor: fix some coding style issues (Mark Langsdorf) [1982319] - ACPI: APD: fix a block comment align issue (Mark Langsdorf) [1982319] - ACPI: AC: fix some coding style issues (Mark Langsdorf) [1982319] - ACPICA: Update version to 20210331 (Mark Langsdorf) [1982319] - ACPICA: IORT: Updates for revision E.b (Mark Langsdorf) [1982319] - ACPICA: iASL: Decode subtable type field for VIOT (Mark Langsdorf) [1982319] - ACPICA: iASL: Add support for CEDT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add support for PHAT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add CSI2Bus resource template (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PMTT: add new fields/structures (Mark Langsdorf) [1982319] - ACPICA: CXL 2.0: CEDT: Add new CEDT table (Mark Langsdorf) [1982319] - ACPICA: acpisrc: Add missing conversion for VIOT support (Mark Langsdorf) [1982319] - ACPICA: iASL: Add definitions for the VIOT table (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add SDEV secure access components (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: Add new flags in SRAT (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: HMAT: add new fields/flags (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: NFIT: add Location Cookie field (Mark Langsdorf) [1982319] - ACPICA: Tree-wide: fix various typos and spelling mistakes (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PPTT: add new version of subtable type 1 (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: PCCT: add support for subtable type 5 (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Structure (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add CXL ACPI device ID and _CBR object (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: add USB4 capabilities UUID (Mark Langsdorf) [1982319] - ACPICA: ACPI 6.4: Add new predefined objects _BPC, _BPS, and _BPT (Mark Langsdorf) [1982319] - ACPICA: Add parsing for IVRS IVHD 40h and device entry F0h (Mark Langsdorf) [1982319] - ACPI: CPPC: Add emtpy stubs of functions for CONFIG_ACPI_CPPC_LIB unset (Mark Langsdorf) [1982319] - ACPI: scan: Turn off unused power resources during initialization (Mark Langsdorf) [1982319] - ACPI: power: Turn off unused power resources unconditionally (Mark Langsdorf) [1982319] - ACPI: fix various typos in comments (Mark Langsdorf) [1982319] - ACPI: utils: Introduce acpi_evaluation_failure_warn() (Mark Langsdorf) [1982319] - ACPI: processor: perflib: Eliminate redundant status check (Mark Langsdorf) [1982319] - ACPI: Drop unused ACPI_*_COMPONENT definitions and update documentation (Mark Langsdorf) [1982319] - ACPI: sysfs: Get rid of ACPICA message printing (Mark Langsdorf) [1982319] - ACPI: HED: Drop unused ACPI_MODULE_NAME() definition (Mark Langsdorf) [1982319] - ACPI: processor: Get rid of ACPICA message printing (Mark Langsdorf) [1982319] - ACPI: processor: idle: Drop extra prefix from pr_notice() (Mark Langsdorf) [1982319] - ACPI: processor: Remove initialization of static variable (Mark Langsdorf) [1982319] - ACPI: PCI: Replace direct printk() invocations in pci_link.c (Mark Langsdorf) [1982319] - ACPI: PCI: Drop ACPI_PCI_COMPONENT that is not used any more (Mark Langsdorf) [1982319] - ACPI: PCI: Replace ACPI_DEBUG_PRINT() and ACPI_EXCEPTION() (Mark Langsdorf) [1982319] - ACPI: PCI: IRQ: Consolidate printing diagnostic messages (Mark Langsdorf) [1982319] - arm64: compat: Poison the compat sigpage (C. Erastus Toe) [1983849] {CVE-2021-21781} - ARM: ensure the signal page contains defined contents (C. Erastus Toe) [1983849] {CVE-2021-21781} - powerpc/pseries: Fix update of LPAR security flavor after LPM (Steve Best) [1997294] - s390/qeth: Update MACs of LEARNING_SYNC device (Robin Dapp) [1919227] - s390/qeth: Switchdev event handler (Robin Dapp) [1919227] - s390/qeth: Register switchdev event handler (Robin Dapp) [1919227] - PCI: Add pcie_ptm_enabled() (Petr Oros) [2006834] - Revert "PCI: Make pci_enable_ptm() private" (Petr Oros) [2006834] - x86/cpufeatures: Force disable X86_FEATURE_ENQCMD and remove update_pasid() (Jerry Snitselaar) [2004577] - s390: report more CPU capabilities (Robin Dapp) [1984839] - s390/disassembler: add instructions (Robin Dapp) [1984839] - s390/opcodes: rename selhhhr to selfhr (Robin Dapp) [1984839] - s390/disassembler: update opcode table (Robin Dapp) [1984839] - s390/opcodes: add missing instructions to the disassembler (Robin Dapp) [1984839] - CI: Add template for baseline gcov build (Israel Santana Aleman) - futex: Remove unused variable 'vpid' in futex_proxy_trylock_atomic() (Waiman Long) [2000293] - futex: Prevent inconsistent state and exit race (Waiman Long) [2000293] - locking/ww_mutex: Initialize waiter.ww_ctx properly (Waiman Long) [2000293] - futex: Return error code instead of assigning it without effect (Waiman Long) [2000293] - Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g (Waiman Long) [2000293] - lib/test_lockup.c: fix return value of test_lockup_init() (Waiman Long) [2000293] - locking/rwbase: Take care of ordering guarantee for fastpath reader (Waiman Long) [2000293] - locking/rwbase: Extract __rwbase_write_trylock() (Waiman Long) [2000293] - locking/rwbase: Properly match set_and_save_state() to restore_state() (Waiman Long) [2000293] - locking/rtmutex: Fix ww_mutex deadlock check (Waiman Long) [2000293] - locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT (Waiman Long) [2000293] - locking/rtmutex: Return success on deadlock for ww_mutex waiters (Waiman Long) [2000293] - locking/rtmutex: Prevent spurious EDEADLK return caused by ww_mutexes (Waiman Long) [2000293] - locking/rtmutex: Dequeue waiter on ww_mutex deadlock (Waiman Long) [2000293] - locking/rtmutex: Dont dereference waiter lockless (Waiman Long) [2000293] - locking/local_lock: Add PREEMPT_RT support (Waiman Long) [2000293] - locking/spinlock/rt: Prepare for RT local_lock (Waiman Long) [2000293] - locking/rtmutex: Add adaptive spinwait mechanism (Waiman Long) [2000293] - locking/rtmutex: Implement equal priority lock stealing (Waiman Long) [2000293] - preempt: Adjust PREEMPT_LOCK_OFFSET for RT (Waiman Long) [2000293] - locking/rtmutex: Prevent lockdep false positive with PI futexes (Waiman Long) [2000293] - futex: Prevent requeue_pi() lock nesting issue on RT (Waiman Long) [2000293] - futex: Simplify handle_early_requeue_pi_wakeup() (Waiman Long) [2000293] - futex: Reorder sanity checks in futex_requeue() (Waiman Long) [2000293] - futex: Clarify comment in futex_requeue() (Waiman Long) [2000293] - futex: Restructure futex_requeue() (Waiman Long) [2000293] - futex: Correct the number of requeued waiters for PI (Waiman Long) [2000293] - futex: Remove bogus condition for requeue PI (Waiman Long) [2000293] - futex: Clarify futex_requeue() PI handling (Waiman Long) [2000293] - futex: Clean up stale comments (Waiman Long) [2000293] - futex: Validate waiter correctly in futex_proxy_trylock_atomic() (Waiman Long) [2000293] - lib/test_lockup: Adapt to changed variables (Waiman Long) [2000293] - locking/rtmutex: Add mutex variant for RT (Waiman Long) [2000293] - locking/ww_mutex: Implement rtmutex based ww_mutex API functions (Waiman Long) [2000293] - locking/rtmutex: Extend the rtmutex core to support ww_mutex (Waiman Long) [2000293] - locking/ww_mutex: Add rt_mutex based lock type and accessors (Waiman Long) [2000293] - locking/ww_mutex: Add RT priority to W/W order (Waiman Long) [2000293] - locking/ww_mutex: Implement rt_mutex accessors (Waiman Long) [2000293] - locking/ww_mutex: Abstract out internal lock accesses (Waiman Long) [2000293] - locking/ww_mutex: Abstract out mutex types (Waiman Long) [2000293] - locking/ww_mutex: Abstract out mutex accessors (Waiman Long) [2000293] - locking/ww_mutex: Abstract out waiter enqueueing (Waiman Long) [2000293] - locking/ww_mutex: Abstract out the waiter iteration (Waiman Long) [2000293] - locking/ww_mutex: Remove the __sched annotation from ww_mutex APIs (Waiman Long) [2000293] - locking/ww_mutex: Split out the W/W implementation logic into kernel/locking/ww_mutex.h (Waiman Long) [2000293] - locking/ww_mutex: Split up ww_mutex_unlock() (Waiman Long) [2000293] - locking/ww_mutex: Gather mutex_waiter initialization (Waiman Long) [2000293] - locking/ww_mutex: Simplify lockdep annotations (Waiman Long) [2000293] - locking/mutex: Make mutex::wait_lock raw (Waiman Long) [2000293] - locking/ww_mutex: Move the ww_mutex definitions from into (Waiman Long) [2000293] - locking/mutex: Move the 'struct mutex_waiter' definition from to the internal header (Waiman Long) [2000293] - locking/mutex: Consolidate core headers, remove kernel/locking/mutex-debug.h (Waiman Long) [2000293] - locking/rtmutex: Squash !RT tasks to DEFAULT_PRIO (Waiman Long) [2000293] - locking/rwlock: Provide RT variant (Waiman Long) [2000293] - locking/spinlock: Provide RT variant (Waiman Long) [2000293] - locking/rtmutex: Provide the spin/rwlock core lock function (Waiman Long) [2000293] - locking/spinlock: Provide RT variant header: (Waiman Long) [2000293] - locking/spinlock: Provide RT specific spinlock_t (Waiman Long) [2000293] - locking/rtmutex: Reduce header dependencies, only include (Waiman Long) [2000293] - rbtree: Split out the rbtree type definitions into (Waiman Long) [2000293] - locking/lockdep: Reduce header dependencies in (Waiman Long) [2000293] - locking/rtmutex: Prevent future include recursion hell (Waiman Long) [2000293] - locking/spinlock: Split the lock types header, and move the raw types into (Waiman Long) [2000293] - locking/rtmutex: Guard regular sleeping locks specific functions (Waiman Long) [2000293] - locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks (Waiman Long) [2000293] - locking/rtmutex: Use rt_mutex_wake_q_head (Waiman Long) [2000293] - locking/rtmutex: Provide rt_wake_q_head and helpers (Waiman Long) [2000293] - locking/rtmutex: Add wake_state to rt_mutex_waiter (Waiman Long) [2000293] - locking/rwsem: Add rtmutex based R/W semaphore implementation (Waiman Long) [2000293] - locking/rt: Add base code for RT rw_semaphore and rwlock (Waiman Long) [2000293] - locking/rtmutex: Provide rt_mutex_base_is_locked() (Waiman Long) [2000293] - locking/rtmutex: Provide rt_mutex_slowlock_locked() (Waiman Long) [2000293] - locking/rtmutex: Split out the inner parts of 'struct rtmutex' (Waiman Long) [2000293] - locking/rtmutex: Split API from implementation (Waiman Long) [2000293] - locking/rtmutex: Convert macros to inlines (Waiman Long) [2000293] - locking/rtmutex: Remove rt_mutex_is_locked() (Waiman Long) [2000293] - sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER() (Waiman Long) [2000293] - sched/core: Provide a scheduling point for RT locks (Waiman Long) [2000293] - sched/core: Rework the __schedule() preempt argument (Waiman Long) [2000293] - sched/wakeup: Prepare for RT sleeping spin/rwlocks (Waiman Long) [2000293] - sched/wakeup: Reorganize the current::__state helpers (Waiman Long) [2000293] - sched/wakeup: Introduce the TASK_RTLOCK_WAIT state bit (Waiman Long) [2000293] - sched/wakeup: Split out the wakeup ->__state check (Waiman Long) [2000293] - locking/rtmutex: Set proper wait context for lockdep (Waiman Long) [2000293] - locking/local_lock: Add missing owner initialization (Waiman Long) [2000293] - locking/rtmutex: Use the correct rtmutex debugging config option (Waiman Long) [2000293] - tools/runqslower: Use __state instead of state (Waiman Long) [2000293] - locking/rwsem: Remove an unused parameter of rwsem_wake() (Waiman Long) [2000293] - locking/mutex: Add MUTEX_WARN_ON (Waiman Long) [2000293] - locking/mutex: Introduce __mutex_trylock_or_handoff() (Waiman Long) [2000293] - locking/mutex: Fix HANDOFF condition (Waiman Long) [2000293] - locking/mutex: Use try_cmpxchg() (Waiman Long) [2000293] - sched: Change task_struct::state (Waiman Long) [2000293] - isdn/hisax: Use get_current_state() (Waiman Long) [2000293] - sched,timer: Use __set_current_state() (Waiman Long) [2000293] - sched: Add get_current_state() (Waiman Long) [2000293] - sched,perf,kvm: Fix preemption condition (Waiman Long) [2000293] - sched: Introduce task_is_running() (Waiman Long) [2000293] - sched: Unbreak wakeups (Waiman Long) [2000293] - seqlock: Remove trailing semicolon in macros (Waiman Long) [2000293] - locking/mutex: clear MUTEX_FLAGS if wait_list is empty due to signal (Waiman Long) [2000293] - ptrace: make ptrace() fail if the tracee changed its pid unexpectedly (Waiman Long) [2000293] - sched: Rename sched_info_{queued,dequeued} (Waiman Long) [2000293] - locking/rwsem: Fix comment typo (Waiman Long) [2000293] - bpf: runqslower: Use task local storage (Waiman Long) [2000293] - lib/test_lockup.c: minimum fix to get it compiled on PREEMPT_RT (Waiman Long) [2000293] - seqlock: kernel-doc: Specify when preemption is automatically altered (Waiman Long) [2000293] - seqlock: Prefix internal seqcount_t-only macros with a "do_" (Waiman Long) [2000293] - rcu: Check and report missed fqs timer wakeup on RCU stall (Waiman Long) [2000293] - softirq: Move related code into one section (Waiman Long) [2000293] - seqlock: Rename __seqprop() users (Waiman Long) [2000293] - seqlock: avoid -Wshadow warnings (Waiman Long) [2000293] - locking/seqlocks: Fix kernel-doc warnings (Waiman Long) [2000293] - locking/seqlock: Tweak DEFINE_SEQLOCK() kernel doc (Waiman Long) [2000293] - seqlock: Unbreak lockdep (Waiman Long) [2000293] - seqlock: PREEMPT_RT: Do not starve seqlock_t writers (Waiman Long) [2000293] - seqlock: seqcount_LOCKNAME_t: Introduce PREEMPT_RT support (Waiman Long) [2000293] - seqlock: seqcount_t: Implement all read APIs as statement expressions (Waiman Long) [2000293] - seqlock: Use unique prefix for seqcount_t property accessors (Waiman Long) [2000293] - seqlock: seqcount_LOCKNAME_t: Standardize naming convention (Waiman Long) [2000293] - seqlock: seqcount latch APIs: Only allow seqcount_latch_t (Waiman Long) [2000293] - rbtree_latch: Use seqcount_latch_t (Waiman Long) [2000293] - x86/tsc: Use seqcount_latch_t (Waiman Long) [2000293] - timekeeping: Use seqcount_latch_t (Waiman Long) [2000293] - time/sched_clock: Mark sched_clock_read_begin/retry() as notrace (Waiman Long) [2000293] - time/sched_clock: Use raw_read_seqcount_latch() (Waiman Long) [2000293] - time/sched_clock: Use raw_read_seqcount_latch() during suspend (Waiman Long) [2000293] - time/sched_clock: Use seqcount_latch_t (Waiman Long) [2000293] - sched_clock: Expose struct clock_read_data (Waiman Long) [2000293] - timers/sched_clock: Include local timekeeping.h for missing declarations (Waiman Long) [2000293] - sched/clock: Move sched clock initialization and merge with generic clock (Waiman Long) [2000293] - userfaultfd: simplify fault handling (Waiman Long) [2000293] - rwsem: fix commas in initialisation (Waiman Long) [2000293] - lib/test_lockup.c: make test_inode static (Waiman Long) [2000293] - genirq: Provide irq_enter/exit_rcu() (Waiman Long) [2000293] - lib/test_lockup.c: add parameters for locking generic vfs locks (Waiman Long) [2000293] - lib/test_lockup.c: fix spelling mistake "iteraions" -> "iterations" (Waiman Long) [2000293] - lib/test_lockup: test module to generate lockups (Waiman Long) [2000293] - x86/tsc: Move inline keyword to the beginning of function declarations (Waiman Long) [2000293] - softirq: Don't skip softirq execution when softirq thread is parking (Waiman Long) [2000293] - sched/core: Convert task_struct.stack_refcount to refcount_t (Waiman Long) [2000293] - kernel/hung_task.c: break RCU locks based on jiffies (Waiman Long) [2000293] - x86/process: Avoid unnecessary NULL check in get_wchan() (Waiman Long) [2000293] - kernel/rwsem: Remove ifdef __init_rwsem code from rwsem.c (Waiman Long) [2000293] - misc: hpilo: map iLO shared memory by PCI revision id (Joseph Szczypek) [1985076] - misc: hpilo: MAINTAINERS: add entry for hpilo (Joseph Szczypek) [1985076] - misc: hpilo: avoid a useless memset (Joseph Szczypek) [1985076] - misc: hpilo: switch from 'pci_' to 'dma_' API (Joseph Szczypek) [1985076] - hpilo: Replace one-element array with flexible-array member (Joseph Szczypek) [1985076] - perf flamegraph: flamegraph.py script improvements (Michael Petlan) [2010269]- ceph: skip existing superblocks that are blocklisted or shut down when mounting (Jeffrey Layton) [2011462] - cpufreq: intel_pstate: Combine ->stop_cpu() and ->offline() (David Arcari) [2003695] - cpufreq: intel_pstate: Add Cometlake support in no-HWP mode (David Arcari) [2003695] - cpufreq: intel_pstate: Add Icelake servers support in no-HWP mode (David Arcari) [2003695] - i2c: i801: Add support for Intel Alder Lake PCH-M (David Arcari) [1929497] - i2c: i801: Add Block Write-Block Read Process Call support (David Arcari) [1929497] - pinctrl: tigerlake: Add Alder Lake-M ACPI ID (David Arcari) [1929501] - x86/microcode: Check for offline CPUs before requesting new microcode (Puneet Sethi) [1971878] - x86/resctrl: Fix a maybe-uninitialized build warning treated as error (Terry Bowman) [1994090] - x86/resctrl: Fix default monitoring groups reporting (Terry Bowman) [1994090] - PCI: Remove WARN_ON(in_interrupt()) (Myron Stowe) [1993262] - PCI: Apply CONFIG_PCI_DEBUG to entire drivers/pci hierarchy (Myron Stowe) [1993262] - PCI: Add Silicom Denmark vendor ID (Myron Stowe) [1993262] - PCI: Align checking of syscall user config accessors (Myron Stowe) [1993262] - PCI: Decline to resize resources if boot config must be preserved (Myron Stowe) [1993262] - PCI/LINK: Remove bandwidth notification (Myron Stowe) [1993262] - PCI: acpiphp: Remove unused acpiphp_callback typedef (Myron Stowe) [1993262] - PCI: Fix pci_register_io_range() memory leak (Myron Stowe) [1993262] - EDAC/amd64: Add AMD family 17h model 60h PCI IDs (Aristeu Rozanski) [1930489] - EDAC/amd64: Add PCI device IDs for family 17h, model 70h (Aristeu Rozanski) [1930489] - scsi: bnx2fc: Remove meaningless bnx2fc_abts_cleanup() return value assignment (Nilesh Javali) [1983956] - scsi: bnx2fc: Return failure if io_req is already in ABTS processing (Nilesh Javali) [1983956] - scsi: target: ibmvscsi_tgt: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: Fix sense key for invalid EXTENDED COPY request (Maurizio Lombardi) [2004470] - scsi: target: Allows backend drivers to fail with specific sense codes (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Fix possible null-pointer dereference in pscsi_complete_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Drop unnecessary se_cmd ASC/ASCQ members (Maurizio Lombardi) [2004470] - scsi: target: sbp: Drop incorrect ASC/ASCQ usage (Maurizio Lombardi) [2004470] - scsi: target: core: Avoid using lun_tg_pt_gp after unlock (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Add new feature KEEP_BUF (Maurizio Lombardi) [2004470] - scsi: target: Remove redundant assignment to variable ret (Maurizio Lombardi) [2004470] - scsi: target: Fix NULL dereference on XCOPY completion (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove redundant continue statement (Maurizio Lombardi) [2004470] - scsi: target: Use standard SAM status types (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Fix boolreturn.cocci warnings (Maurizio Lombardi) [2004470] - scsi: target: core: Add the VERSION DESCRIPTOR fields to the INQUIRY data (Maurizio Lombardi) [2004470] - scsi: target: core: Bump INQUIRY VERSION to SPC-4 (Maurizio Lombardi) [2004470] - scsi: target: core: Add configurable IEEE Company ID attribute (Maurizio Lombardi) [2004470] - scsi: target: core: Unify NAA identifier generation (Maurizio Lombardi) [2004470] - scsi: target: sbp_target: Remove redundant assignment to pg_size (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Rename TCM_DEV_BIT_PLUGGED to TCMU_DEV_BIT_PLUGGED (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Drop unnecessary container_of() (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Switch to kmemdup_nul() (Maurizio Lombardi) [2004470] - scsi: target: iblock: Fix smp_processor_id() BUG messages (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Fix xarray RCU warning (Maurizio Lombardi) [2004470] - scsi: target: core: Avoid smp_processor_id() in preemptible code (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Return from tcmu_handle_completions() if cmd_id not found (Maurizio Lombardi) [2004470] - scsi: target: tcm_fc: Fix a kernel-doc header (Maurizio Lombardi) [2004470] - scsi: target: Shorten ALUA error messages (Maurizio Lombardi) [2004470] - scsi: target: Fix two format specifiers (Maurizio Lombardi) [2004470] - scsi: target: Compare explicitly with SAM_STAT_GOOD (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Make data_pages_per_blk changeable via configfs (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace block size definitions with new udev members (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Remove function tcmu_get_block_page() (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Support DATA_BLOCK_SIZE = N * PAGE_SIZE (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Prepare for PAGE_SIZE != DATA_BLOCK_SIZE (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Adjust names of variables and definitions (Maurizio Lombardi) [2004470] - scsi: target: Make the virtual LUN 0 device (Maurizio Lombardi) [2004470] - scsi: target: Add the DUMMY flag to rd_mcp (Maurizio Lombardi) [2004470] - scsi: target: Fix htmldocs warning in target_submit_prep() (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Adjust parameter in call to tcmu_blocks_release() (Maurizio Lombardi) [2004470] - scsi: target: core: file: Don't duplicate memset(0xff) (Maurizio Lombardi) [2004470] - scsi: target: core: pr: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: configfs: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Initialize arrays at declaration time (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro PRINT_BUF (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro TEXT_LEN (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Remove unused macro ISCSI_INST_LAST_FAILURE_TYPE (Maurizio Lombardi) [2004470] - scsi: target: core: Remove unused macros NONE and ISPRINT (Maurizio Lombardi) [2004470] - scsi: target: core: Get rid of warning in compare_and_write_do_cmp() (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Remove unused macro ISPRINT (Maurizio Lombardi) [2004470] - scsi: target: pscsi: Fix warning in pscsi_complete_cmd() (Maurizio Lombardi) [2004470] - scsi: target: iblock: Fix type of logs_per_phys (Maurizio Lombardi) [2004470] - scsi: target: iblock: Trim line longer than 80 characters (Maurizio Lombardi) [2004470] - scsi: target: iblock: Remove an extra argument (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Use GFP_NOIO while handling cmds or holding cmdr_lock (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace radix_tree with XArray (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Replace IDR by XArray (Maurizio Lombardi) [2004470] - scsi: target: core: Make completion affinity configurable (Maurizio Lombardi) [2004470] - scsi: target: core: Flush submission work during TMR processing (Maurizio Lombardi) [2004470] - scsi: target: tcmu: Add backend plug/unplug callouts (Maurizio Lombardi) [2004470] - scsi: target: iblock: Add backend plug/unplug callouts (Maurizio Lombardi) [2004470] - scsi: target: core: Fix backend plugging (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Use LIO wq cmd submission helper (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Use block cmd allocator for se_cmds (Maurizio Lombardi) [2004470] - scsi: target: core: Add workqueue based cmd submission (Maurizio Lombardi) [2004470] - scsi: target: core: Add gfp_t arg to target_cmd_init_cdb() (Maurizio Lombardi) [2004470] - scsi: target: core: Remove target_submit_cmd_map_sgls() (Maurizio Lombardi) [2004470] - scsi: target: srpt: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: qla2xxx: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: tcm_qla2xxx: Remove BUG_ON(in_interrupt()) (Maurizio Lombardi) [2004470] - scsi: qla2xxx: Move sess cmd list/lock to driver (Maurizio Lombardi) [2004470] - scsi: qla2xxx: Drop TARGET_SCF_LOOKUP_LUN_FROM_TAG (Maurizio Lombardi) [2004470] - scsi: target: tcm_fc: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: sbp_target: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: tcm_loop: Convert to new submission API (Maurizio Lombardi) [2004470] - scsi: target: core: Break up target_submit_cmd_map_sgls() (Maurizio Lombardi) [2004470] - scsi: target: core: Rename transport_init_se_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Drop kref_get_unless_zero() in target_get_sess_cmd() (Maurizio Lombardi) [2004470] - scsi: target: core: Move t_task_cdb initialization (Maurizio Lombardi) [2004470] - scsi: target: iscsi: Fix zero tag inside a trace event (Maurizio Lombardi) [2004470] - nfsd: move fsnotify on client creation outside spinlock (Steve Dickson) [1719330] - nfsd: report client confirmation status in "info" file (Steve Dickson) [1719330] - nfsd: fsnotify on rmdir under nfsd/clients/ (Steve Dickson) [1719330]- mm: gup: fix potential pgmap refcnt leak in __gup_device_huge() (Waiman Long) [2009258] - mm/gup: check for isolation errors (Waiman Long) [2009258] - mm/gup: return an error on migration failure (Waiman Long) [2009258] - mm/gup: check every subpage of a compound page during isolation (Waiman Long) [2009258] - mm/gup: don't pin migrated cma pages in movable zone (Waiman Long) [2009258] - mm/gup: add a range variant of unpin_user_pages_dirty_lock() (Waiman Long) [2009258] - mm/gup: decrement head page once for group of subpages (Waiman Long) [2009258] - mm/gup: add compound page list iterator (Waiman Long) [2009258] - mm/gup: protect unpin_user_pages() against npages==-ERRNO (Waiman Long) [2009258] - mm, memcg: remove unused functions (Waiman Long) [2008341] - mm,vmscan: fix divide by zero in get_scan_count (Waiman Long) [2008341] - mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim (Waiman Long) [2008341] - mm/memcg: fix incorrect flushing of lruvec data in obj_stock (Waiman Long) [2008341] - mm/memcg: fix NULL pointer dereference in memcg_slab_free_hook() (Waiman Long) [2008341] - mm: memcontrol: fix blocking rstat function called from atomic cgroup1 thresholding code (Waiman Long) [2008341] - cgroup: rstat: fix A-A deadlock on 32bit around u64_stats_sync (Waiman Long) [2008341] - percpu: flush tlb in pcpu_reclaim_populated() (Waiman Long) [2008341] - mm/memcontrol.c: fix kerneldoc comment for mem_cgroup_calculate_protection (Waiman Long) [2008341] - memcontrol: use flexible-array member (Waiman Long) [2008341] - mm: vmscan: remove noinline_for_stack (Waiman Long) [2008341] - mm: memcontrol: move obj_cgroup_uncharge_pages() out of css_set_lock (Waiman Long) [2008341] - mm: memcontrol: simplify the logic of objcg pinning memcg (Waiman Long) [2008341] - mm: memcontrol: rename lruvec_holds_page_lru_lock to page_matches_lruvec (Waiman Long) [2008341] - mm: memcontrol: simplify lruvec_holds_page_lru_lock (Waiman Long) [2008341] - mm: memcontrol: remove the pgdata parameter of mem_cgroup_page_lruvec (Waiman Long) [2008341] - mm: memcontrol: bail out early when !mm in get_mem_cgroup_from_mm (Waiman Long) [2008341] - mm: memcontrol: fix page charging in page replacement (Waiman Long) [2008341] - percpu: optimize locking in pcpu_balance_workfn() (Waiman Long) [2008341] - percpu: initialize best_upa variable (Waiman Long) [2008341] - percpu: rework memcg accounting (Waiman Long) [2008341] - mm, memcg: introduce mem_cgroup_kmem_disabled() (Waiman Long) [2008341] - mm, memcg: mark cgroup_memory_nosocket, nokmem and noswap as __ro_after_init (Waiman Long) [2008341] - mm: vmscan: shrink deferred objects proportional to priority (Waiman Long) [2008341] - mm: memcontrol: reparent nr_deferred when memcg offline (Waiman Long) [2008341] - mm: vmscan: don't need allocate shrinker->nr_deferred for memcg aware shrinkers (Waiman Long) [2008341] - mm: vmscan: use per memcg nr_deferred of shrinker (Waiman Long) [2008341] - mm: vmscan: add per memcg shrinker nr_deferred (Waiman Long) [2008341] - mm: vmscan: use a new flag to indicate shrinker is registered (Waiman Long) [2008341] - mm: vmscan: add shrinker_info_protected() helper (Waiman Long) [2008341] - mm: memcontrol: rename shrinker_map to shrinker_info (Waiman Long) [2008341] - mm: vmscan: use kvfree_rcu instead of call_rcu (Waiman Long) [2008341] - mm: vmscan: remove memcg_shrinker_map_size (Waiman Long) [2008341] - mm: vmscan: use shrinker_rwsem to protect shrinker_maps allocation (Waiman Long) [2008341] - mm: vmscan: consolidate shrinker_maps handling code (Waiman Long) [2008341] - mm: vmscan: use nid from shrink_control for tracepoint (Waiman Long) [2008341] - linux/memcontrol.h: remove duplicate struct declaration (Waiman Long) [2008341] - memcg: charge before adding to swapcache on swapin (Waiman Long) [2008341] - kselftests: cgroup: update kmem test for new vmstat implementation (Waiman Long) [2008341] - mm: memcontrol: consolidate lruvec stat flushing (Waiman Long) [2008341] - mm: memcontrol: switch to rstat (Waiman Long) [2008341] - cgroup: rstat: punt root-level optimization to individual controllers (Waiman Long) [2008341] - cgroup: rstat: support cgroup1 (Waiman Long) [2008341] - mm: memcontrol: privatize memcg_page_state query functions (Waiman Long) [2008341] - mm: memcontrol: kill mem_cgroup_nodeinfo() (Waiman Long) [2008341] - memcg: enable memcg oom-kill for __GFP_NOFAIL (Waiman Long) [2008341] - memcg: cleanup root memcg checks (Waiman Long) [2008341] - mm: memcontrol: fix kernel stack account (Waiman Long) [2008341] - mm: page-writeback: simplify memcg handling in test_clear_page_writeback() (Waiman Long) [2008341] - percpu: implement partial chunk depopulation (Waiman Long) [2008341] - percpu: use pcpu_free_slot instead of pcpu_nr_slots - 1 (Waiman Long) [2008341] - percpu: factor out pcpu_check_block_hint() (Waiman Long) [2008341] - percpu: split __pcpu_balance_workfn() (Waiman Long) [2008341] - percpu: fix a comment about the chunks ordering (Waiman Long) [2008341] - mm/compaction: remove rcu_read_lock during page compaction (Waiman Long) [2008341] - mm/vmscan.c: make lruvec_lru_size() static (Waiman Long) [2008341] - include/linux/mm_inline.h: fold __update_lru_size() into its sole caller (Waiman Long) [2008341] - include/linux/mm_inline.h: fold page_lru_base_type() into its sole caller (Waiman Long) [2008341] - mm: VM_BUG_ON lru page flags (Waiman Long) [2008341] - mm: add __clear_page_lru_flags() to replace page_off_lru() (Waiman Long) [2008341] - mm/swap.c: don't pass "enum lru_list" to del_page_from_lru_list() (Waiman Long) [2008341] - mm/swap.c: don't pass "enum lru_list" to trace_mm_lru_insertion() (Waiman Long) [2008341] - mm: don't pass "enum lru_list" to lru list addition functions (Waiman Long) [2008341] - include/linux/mm_inline.h: shuffle lru list addition and deletion functions (Waiman Long) [2008341] - mm/vmscan.c: use add_page_to_lru_list() (Waiman Long) [2008341] - mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback) (Waiman Long) [2008341] - mm: remove superfluous __ClearPageActive() (Waiman Long) [2008341] - mm, memcg: decouple e{low,min} state mutations from protection checks (Waiman Long) [2008341] - Revert "cgroup: Add memory barriers to plug cgroup_rstat_updated() race window" (Waiman Long) [2008341] - mm/memcontrol.c: allocate shrinker_map on appropriate NUMA node (Waiman Long) [2008341] - include/bitmap.h: add new functions to documentation (Waiman Long) [2008341] - include/bitmap.h: add missing parameter in docs (Waiman Long) [2008341] - bitmap: genericize percpu bitmap region iterators (Waiman Long) [2008341] - cgroup, rstat: Don't flush subtree root unless necessary (Waiman Long) [2008341] - mm/memcg: Move mem_cgroup kABI compatibility structure into rh_kabi_memcg.h (Waiman Long) [2008341] - mm/swap: consider max pages in iomap_swapfile_add_extent (Brian Foster) [1969326] - mm/slub: Fix backtrace of objects to handle redzone adjustment (Waiman Long) [2008340] - powerpc/powernv: Fix CPU idle to be called with IRQs disabled (Waiman Long) [2008340] - torture: Fix grace-period rate output (Waiman Long) [2008340] - rcu: Fix kfree_rcu() docbook errors (Waiman Long) [2008340] - rcu/nocb: Perform deferred wake up before last idle's need_resched() check (Waiman Long) [2008340] - rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers (Waiman Long) [2008340] - idle: Prevent late-arriving interrupts from disrupting offline (Waiman Long) [2008340] - torture: Maintain torture-specific set of CPUs-online books (Waiman Long) [2008340] - torture: Clean up after torture-test CPU hotplugging (Waiman Long) [2008340] - rcutorture: Make object_debug also double call_rcu() heap object (Waiman Long) [2008340] - torture: Throttle VERBOSE_TOROUT_*() output (Waiman Long) [2008340] - torture: Make refscale throttle high-rate printk()s (Waiman Long) [2008340] - rcutorture: Use hrtimers for reader and writer delays (Waiman Long) [2008340] - torture: Make stutter use torture_hrtimeout_*() functions (Waiman Long) [2008340] - rcutorture: Use torture_hrtimeout_jiffies() to avoid busy-waits (Waiman Long) [2008340] - torture: Add fuzzed hrtimer-based sleep functions (Waiman Long) [2008340] - rcutorture: Make rcu_torture_fakewriter() use blocking wait primitives (Waiman Long) [2008340] - rcutorture: Make synctype[] and nsynctype be static global (Waiman Long) [2008340] - rcutorture: Require entire stutter period be post-boot (Waiman Long) [2008340] - refscale: Allow summarization of verbose output (Waiman Long) [2008340] - torture: Allow standalone kvm-recheck.sh run detect --trust-make (Waiman Long) [2008340] - torture: Simplify exit-code plumbing for kvm-recheck.sh and kvm-find-errors.sh (Waiman Long) [2008340] - torture: s/STOP/STOP.1/ to avoid scenario collision (Waiman Long) [2008340] - torture: Add --dryrun batches to help schedule a distributed run (Waiman Long) [2008340] - torture: Stop hanging on panic (Waiman Long) [2008340] - torture: Add kvm.sh test summary to end of log file (Waiman Long) [2008340] - torture: Make kvm.sh include --kconfig arguments in CPU calculation (Waiman Long) [2008340] - torture: Make kvm.sh return failure upon build failure (Waiman Long) [2008340] - torture: Print run duration at end of kvm.sh execution (Waiman Long) [2008340] - torture: Make kvm.sh arguments accumulate (Waiman Long) [2008340] - torture: Make kvm.sh "Test Summary" date be end of test (Waiman Long) [2008340] - tools/rcutorture: Make identify_qemu_vcpus() independent of local language (Waiman Long) [2008340] - torture: Add config2csv.sh script to compare torture scenarios (Waiman Long) [2008340] - torture: Prepare for splitting qemu execution from kvm-test-1-run.sh (Waiman Long) [2008340] - torture: Allow kvm.sh --datestamp to specify subdirectories (Waiman Long) [2008340] - torture: Make kvm.sh "--dryrun sched" summarize number of builds (Waiman Long) [2008340] - torture: Make kvm.sh "--dryrun sched" summarize number of batches (Waiman Long) [2008340] - torture: Make --kcsan specify lockdep (Waiman Long) [2008340] - rcu: Do not NMI offline CPUs (Waiman Long) [2008340] - rcu: For RCU grace-period kthread starvation, dump last CPU it ran on (Waiman Long) [2008340] - rcu: Mark obtuse portion of stall warning as internal debug (Waiman Long) [2008340] - scftorture: Add debug output for wrong-CPU warning (Waiman Long) [2008340] - rcutorture: Add testing for RCU's global memory ordering (Waiman Long) [2008340] - rcutorture: Add reader-side tests of polling grace-period API (Waiman Long) [2008340] - rcutorture: Add writer-side tests of polling grace-period API (Waiman Long) [2008340] - rcutorture: Prepare for ->start_gp_poll and ->poll_gp_state (Waiman Long) [2008340] - srcu: Add comment explaining cookie overflow/wrap (Waiman Long) [2008340] - srcu: Document polling interfaces for Tree SRCU grace periods (Waiman Long) [2008340] - srcu: Provide polling interfaces for Tree SRCU grace periods (Waiman Long) [2008340] - srcu: Provide polling interfaces for Tiny SRCU grace periods (Waiman Long) [2008340] - srcu: Provide internal interface to start a Tree SRCU grace period (Waiman Long) [2008340] - srcu: Provide internal interface to start a Tiny SRCU grace period (Waiman Long) [2008340] - srcu: Make Tiny SRCU use multi-bit grace-period counter (Waiman Long) [2008340] - rcu: Enable rcu_normal_after_boot unconditionally for RT (Waiman Long) [2008340] - rcu: Unconditionally use rcuc threads on PREEMPT_RT (Waiman Long) [2008340] - rcu: Make RCU_BOOST default on CONFIG_PREEMPT_RT (Waiman Long) [2008340] - rcu: Eliminate the __kvfree_rcu() macro (Waiman Long) [2008340] - rcu: Introduce kfree_rcu() single-argument macro (Waiman Long) [2008340] - rcu: Record kvfree_call_rcu() call stack for KASAN (Waiman Long) [2008340] - rcu: Do any deferred nocb wakeups at CPU offline time (Waiman Long) [2008340] - rcu/nocb: Code-style nits in callback-offloading toggling (Waiman Long) [2008340] - rcu/nocb: Add nocb CB kthread list to show_rcu_nocb_state() output (Waiman Long) [2008340] - rcu/nocb: Add grace period and task state to show_rcu_nocb_state() output (Waiman Long) [2008340] - tools/rcutorture: Support nocb toggle in TREE01 (Waiman Long) [2008340] - rcutorture: Test runtime toggling of CPUs' callback offloading (Waiman Long) [2008340] - cpu/hotplug: Add lockdep_is_cpus_held() (Waiman Long) [2008340] - rcu/nocb: Locally accelerate callbacks as long as offloading isn't complete (Waiman Long) [2008340] - rcu/nocb: Process batch locally as long as offloading isn't complete (Waiman Long) [2008340] - rcu/nocb: Only cond_resched() from actual offloaded batch processing (Waiman Long) [2008340] - rcu/nocb: Set SEGCBLIST_SOFTIRQ_ONLY at the very last stage of de-offloading (Waiman Long) [2008340] - rcu/nocb: Flush bypass before setting SEGCBLIST_SOFTIRQ_ONLY (Waiman Long) [2008340] - rcu/nocb: Shutdown nocb timer on de-offloading (Waiman Long) [2008340] - rcu/nocb: Re-offload support (Waiman Long) [2008340] - rcu/nocb: De-offloading GP kthread (Waiman Long) [2008340] - rcu/nocb: Don't deoffload an offline CPU with pending work (Waiman Long) [2008340] - rcu/nocb: De-offloading CB kthread (Waiman Long) [2008340] - rcu/nocb: Always init segcblist on CPU up (Waiman Long) [2008340] - rcu/nocb: Provide basic callback offloading state machine bits (Waiman Long) [2008340] - rcu/nocb: Turn enabled/offload states into a common flag (Waiman Long) [2008340] - rcu/segcblist: Add debug checks for segment lengths (Waiman Long) [2008340] - rcu/trace: Add tracing for how segcb list changes (Waiman Long) [2008340] - rcu/tree: segcblist: Remove redundant smp_mb()s (Waiman Long) [2008340] - rcu/segcblist: Add counters to segcblist datastructure (Waiman Long) [2008340] - rcu/segcblist: Add additional comments to explain smp_mb() (Waiman Long) [2008340] - rcu/tree: Make rcu_do_batch count how many callbacks were executed (Waiman Long) [2008340] - rcu: Make call_rcu() print mem_dump_obj() info for double-freed callback (Waiman Long) [2008340] - mm: Make mem_obj_dump() vmalloc() dumps include start and length (Waiman Long) [2008340] - mm: Make mem_dump_obj() handle vmalloc() memory (Waiman Long) [2008340] - mm: Make mem_dump_obj() handle NULL and zero-sized pointers (Waiman Long) [2008340] - mm: Add mem_dump_obj() to print source of memory block (Waiman Long) [2008340] - rcu: Make TASKS_TRACE_RCU select IRQ_WORK (Waiman Long) [2008340] - rcu-tasks: Add RCU-tasks self tests (Waiman Long) [2008340] - rcu-tasks: Move RCU-tasks initialization to before early_initcall() (Waiman Long) [2008340] - rcu: Add lockdep_assert_irqs_disabled() to raw_spin_unlock_rcu_node() macros (Waiman Long) [2008340] - rcu: Add lockdep_assert_irqs_disabled() to rcu_sched_clock_irq() and callees (Waiman Long) [2008340] - rcutorture: Don't do need_resched() testing if ->sync is NULL (Waiman Long) [2008340] - scftorture: Add full-test stutter capability (Waiman Long) [2008340] - torture: Allow alternative forms of kvm.sh command-line arguments (Waiman Long) [2008340] - rcutorture: Small code cleanups (Waiman Long) [2008340] - torture: Accept time units on kvm.sh --duration argument (Waiman Long) [2008340] - rcutorture: Make stutter_wait() caller restore priority (Waiman Long) [2008340] - torture: Force weak-hashed pointers on console log (Waiman Long) [2008340] - rcutorture: Prevent hangs for invalid arguments (Waiman Long) [2008340] - torture: Prevent jitter processes from delaying failed run (Waiman Long) [2008340] - rcutorture: Adjust scenarios SRCU-t and SRCU-u to make kconfig happy (Waiman Long) [2008340] - refscale: Prevent hangs for invalid arguments (Waiman Long) [2008340] - rcuscale: Prevent hangs for invalid arguments (Waiman Long) [2008340] - torture: Exclude "NOHZ tick-stop error" from fatal errors (Waiman Long) [2008340] - rcuscale: Avoid divide by zero (Waiman Long) [2008340] - rcuscale: Add RCU Tasks Trace (Waiman Long) [2008340] - scftorture: Add an alternative IPI vector (Waiman Long) [2008340] - torture: Make torture_stutter() use hrtimer (Waiman Long) [2008340] - torture: Periodically pause in stutter_wait() (Waiman Long) [2008340] - torture: Don't kill gdb sessions (Waiman Long) [2008340] - refscale: Bounds-check module parameters (Waiman Long) [2008340] - rcu-tasks: Make the units of ->init_fract be jiffies (Waiman Long) [2008340] - rcutorture: Make grace-period kthread report match RCU flavor being tested (Waiman Long) [2008340] - rcu-tasks: Convert rcu_tasks_wait_gp() for-loop to while-loop (Waiman Long) [2008340] - rcutorture: Make preemptible TRACE02 enable lockdep (Waiman Long) [2008340] - srcu: Use a more appropriate lockdep helper (Waiman Long) [2008340] - srcu: Take early exit on memory-allocation failure (Waiman Long) [2008340] - rcu: Fix a typo in rcu_blocking_is_gp() header comment (Waiman Long) [2008340] - rcu: Prevent lockdep-RCU splats on lock acquisition/release (Waiman Long) [2008340] - rcu/tree: nocb: Avoid raising softirq for offloaded ready-to-execute CBs (Waiman Long) [2008340] - rcu/tree: Make struct kernel_param_ops definitions const (Waiman Long) [2008340] - rcu/tree: Add a warning if CPU being onlined did not report QS already (Waiman Long) [2008340] - rcu: Clarify nocb kthreads naming in RCU_NOCB_CPU config (Waiman Long) [2008340] - rcu: Fix single-CPU check in rcu_blocking_is_gp() (Waiman Long) [2008340] - rcu: Implement rcu_segcblist_is_offloaded() config dependent (Waiman Long) [2008340] - list.h: Update comment to explicitly note circular lists (Waiman Long) [2008340] - rcu: Panic after fixed number of stalls (Waiman Long) [2008340] - x86/smpboot: Move rcu_cpu_starting() earlier (Waiman Long) [2008340] - torture: Replace cpu_up/down() with add/remove_cpu() (Waiman Long) [2008340] - PCI/PTM: Remove error message at boot (Myron Stowe) [1993252] - PCI: Mark AMD Navi14 GPU ATS as broken (Myron Stowe) [1993252] - PCI: vmd: Update type of the __iomem pointers (Myron Stowe) [1993252] - PCI: Unify ECAM constants in native PCI Express drivers (Myron Stowe) [1993252] - PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller (Myron Stowe) [1993252] - PCI: Mark AMD Raven iGPU ATS as broken in some platforms (Myron Stowe) [1993252] - PCI: Disable PTM during suspend to save power (Myron Stowe) [1993252] - PCI/PTM: Save/restore Precision Time Measurement Capability for suspend/resume (Myron Stowe) [1993252] - PCI: Add sysfs attribute for device power state (Myron Stowe) [1993252] - PCI/MSI: Set device flag indicating only 32-bit MSI support (Myron Stowe) [1993252] - PCI/MSI: Move MSI/MSI-X flags updaters to msi.c (Myron Stowe) [1993252] - PCI/MSI: Move MSI/MSI-X init to msi.c (Myron Stowe) [1993252] - PCI: Use predefined Pericom Vendor ID (Myron Stowe) [1993252] - PCI: Disable MSI for Pericom PCIe-USB adapter (Myron Stowe) [1993252] - PCI: Reduce pci_set_cacheline_size() message to debug level (Myron Stowe) [1993252] - PCI: Remove unused HAVE_PCI_SET_MWI (Myron Stowe) [1993252] - PCI: Fix overflow in command-line resource alignment requests (Myron Stowe) [1993252] - PCI: Bounds-check command-line resource alignment requests (Myron Stowe) [1993252] - PCI: Fix kernel-doc markup (Myron Stowe) [1993252] - PCI: ibmphp: Remove unneeded break (Myron Stowe) [1993252] - PCI/ACPI: Fix companion lookup for device 0 on the root bus (Myron Stowe) [1993252] - PCI: Keep both device and resource name for config space remaps (Myron Stowe) [1993252] - PCI: Return u16 from pci_find_ext_capability() and similar (Myron Stowe) [1993252] - PCI: Return u8 from pci_find_capability() and similar (Myron Stowe) [1993252] - PCI: Avoid duplicate IDs in driver dynamic IDs list (Myron Stowe) [1993252] - PCI: Move pci_match_device() ahead of new_id_store() (Myron Stowe) [1993252] - PCI: Decode PCIe 64 GT/s link speed (Myron Stowe) [1993252] - PCI: host-generic: Support building as modules (Myron Stowe) [1993252] - ata: sata_nv: Fix retrieving of active qcs (Tomas Henzl) [1921465] - ata: pata_ns87415.c: Document support on parisc with superio chip (Tomas Henzl) [1921465] - ata: fix some kernel-doc markups (Tomas Henzl) [1921465] - sata, highbank: simplify the return expression of ahci_highbank_suspend (Tomas Henzl) [1921465] - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks (Tomas Henzl) [1921465] - ata: ahci: use ata_link_info() instead of ata_link_printk() (Tomas Henzl) [1921465] - libata: Use per port sync for detach (Tomas Henzl) [1921465] - ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function (Tomas Henzl) [1921465] - sata_rcar: handle pm_runtime_get_sync failure cases (Tomas Henzl) [1921465] - ata: sata_inic162x fix a spelling issue (Tomas Henzl) [1921465] - ata: libata-core: fix a doc warning (Tomas Henzl) [1921465] - ata: ahci: Add sysfs attribute to show remapped NVMe device count (Tomas Henzl) [1921465] - ata: ahci-imx: remove redundant assignment to ret (Tomas Henzl) [1921465] - libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set (Tomas Henzl) [1921465] - ata: move ata_eh_analyze_ncq_error() & co. to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-eh.c (Tomas Henzl) [1921465] - ata: move ata_sas_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-scsi.c (Tomas Henzl) [1921465] - ata: move sata_deb_timing_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: move ata_qc_complete_multiple() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_link_hardreset() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_link_{debounce,resume}() to libata-sata.c (Tomas Henzl) [1921465] - ata: move *sata_set_spd*() to libata-sata.c (Tomas Henzl) [1921465] - ata: move sata_scr_*() to libata-sata.c (Tomas Henzl) [1921465] - ata: start separating SATA specific code from libata-core.c (Tomas Henzl) [1921465] - ata: fix CodingStyle issues in PATA timings code (Tomas Henzl) [1921465] - ata: remove EXPORT_SYMBOL_GPL()s not used by modules (Tomas Henzl) [1921465] - ata: move EXPORT_SYMBOL_GPL()s close to exported code (Tomas Henzl) [1921465] - ata: optimize ata_scsi_rbuf[] size (Tomas Henzl) [1921465] - ata: optimize struct ata_force_param size (Tomas Henzl) [1921465] - ata: use COMMAND_LINE_SIZE for ata_force_param_buf[] size (Tomas Henzl) [1921465] - ata: simplify ata_scsiop_inq_89() (Tomas Henzl) [1921465] - sata_promise: use ata_cable_sata() (Tomas Henzl) [1921465] - ata: make SATA_PMP option selectable only if any SATA host driver is enabled (Tomas Henzl) [1921465] - ata: expose ncq_enable_prio sysfs attribute only on NCQ capable hosts (Tomas Henzl) [1921465] - ata: remove stale maintainership information from core code (Tomas Henzl) [1921465] - libata: Assign OF node to the SCSI device (Tomas Henzl) [1921465] - libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() (Tomas Henzl) [1921465] - libata: transport: Use scnprintf() for avoiding potential buffer overflow (Tomas Henzl) [1921465] - ata/acard_ahci: remove unused variable n_elem (Tomas Henzl) [1921465] - ata: ahci_brcm: BCM7216 reset is self de-asserting (Tomas Henzl) [1921465] - ata: ahci_brcm: Perform reset after obtaining resources (Tomas Henzl) [1921465] - ata: brcm: fix reset controller API usage (Tomas Henzl) [1921465] - ata: brcm: mark PM functions as __maybe_unused (Tomas Henzl) [1921465] - ata: ahci_brcm: Support BCM7216 reset controller name (Tomas Henzl) [1921465] - ata: ahci_brcm: Add a shutdown callback (Tomas Henzl) [1921465] - ata: ahci_brcm: Manage reset line during suspend/resume (Tomas Henzl) [1921465] - ata: ahci_brcm: Add missing clock management during recovery (Tomas Henzl) [1921465] - ata: ahci_brcm: BCM7425 AHCI requires AHCI_HFLAG_DELAY_ENGINE (Tomas Henzl) [1921465] - ata: ahci_brcm: Fix AHCI resources management (Tomas Henzl) [1921465] - ata: libahci_platform: Export again ahci_platform_able_phys() (Tomas Henzl) [1921465] - libata: Fix retrieving of active qcs (Tomas Henzl) [1921465] - ata: pata_artop: make arrays static const, makes object smaller (Tomas Henzl) [1921465] - ata_piix: remove open-coded dmi_match(DMI_OEM_STRING) (Tomas Henzl) [1921465] - ata: sata_mv, avoid trigerrable BUG_ON (Tomas Henzl) [1921465] - ata: make qc_prep return ata_completion_errors (Tomas Henzl) [1921465] - ata: define AC_ERR_OK (Tomas Henzl) [1921465] - libata: Ensure ata_port probe has completed before detach (Tomas Henzl) [1921465] - ahci: tegra: use regulator_bulk_set_supply_names() (Tomas Henzl) [1921465] - ahci: Add support for Amazon's Annapurna Labs SATA controller (Tomas Henzl) [1921465] - ata: libahci_platform: Fix regulator_get_optional() misuse (Tomas Henzl) [1921465] - ata: ahci-imx: Covert to use GPIO descriptor (Tomas Henzl) [1921465] - libata/ahci: Fix PCS quirk application (Tomas Henzl) [1921465] - libata/ahci: Drop PCS quirk for Denverton and beyond (Tomas Henzl) [1921465] - libata: switch remaining drivers to use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_sil24: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_qstor: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_nv: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - sata_mv: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - pdc_adma: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - ahci: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - acard_ahci: use dma_set_mask_and_coherent (Tomas Henzl) [1921465] - libata: add SG safety checks in SFF pio transfers (Tomas Henzl) [1921465] - libata: have ata_scsi_rw_xlat() fail invalid passthrough requests (Tomas Henzl) [1921465] - ata: rb532_cf: Fix unused variable warning in rb532_pata_driver_probe (Tomas Henzl) [1921465] - ata: libahci: do not complain in case of deferred probe (Tomas Henzl) [1921465] - libata: zpodd: Fix small read overflow in zpodd_get_mech_type() (Tomas Henzl) [1921465] - ata: libahci_platform: remove redundant dev_err message (Tomas Henzl) [1921465] - drivers: ata: ahci_sunxi: Increased SATA/AHCI DMA TX/RX FIFOs (Tomas Henzl) [1921465] - libata: Drop firmware version check from the ST1000LM024 quirk (Tomas Henzl) [1921465] - ata: sata_sil24: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata:sata_qstor: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: sata_nv: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: pdc_adma: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: libahci: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - ata: acard-ahci: Remove call to memset after dmam_alloc_coherent (Tomas Henzl) [1921465] - libata: don't request sense data on !ZAC ATA devices (Tomas Henzl) [1921465] - libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk (Tomas Henzl) [1921465] - sata_rcar: Remove ata_host_alloc() error printing (Tomas Henzl) [1921465] - libata: fix using DMA buffers on stack (Tomas Henzl) [1921465] - ata: libahci: Only warn for AHCI_HFLAG_MULTI_MSI set when genuine custom irq handler implemented (Tomas Henzl) [1921465] - libata: fix a typo in comment (Tomas Henzl) [1921465] - sata_rcar: fix deferred probing (Tomas Henzl) [1921465] - ata: sata_highbank: Convert to use GPIO descriptors (Tomas Henzl) [1921465] - sata_rcar: convert to SPDX identifiers (Tomas Henzl) [1921465] - ata: ep93xx: Use proper enums for directions (Tomas Henzl) [1921465] - ata: ahci_brcm: Allow using driver or DSL SoCs (Tomas Henzl) [1921465] - ata: ahci_brcm: Match BCM63138 compatible strings (Tomas Henzl) [1921465] - ata: ahci_brcm: Allow optional reset controller to be used (Tomas Henzl) [1921465] - libata: mask swap internal and hardware tag (Tomas Henzl) [1921465] - pata_atiixp: Remove unnecessary parentheses (Tomas Henzl) [1921465] - ata: ahci_sunxi: add support for r40 (Tomas Henzl) [1921465] - ata: ahci_platform: add support for PHY controller regulator (Tomas Henzl) [1921465] - ata: ahci_platform: add support for AHCI controller regulator (Tomas Henzl) [1921465] - libata: Use SMART LBAM/LBAH password defines (Tomas Henzl) [1921465] - ata: ahci: Convert to using pOFn instead of device_node.name (Tomas Henzl) [1921465] - ata: ftide010: Add a quirk for SQ201 (Tomas Henzl) [1921465] - ata: ahci_platform: enable to get and control reset (Tomas Henzl) [1921465] - ata: libahci_platform: add reset control support (Tomas Henzl) [1921465] - ata: add an extra argument to ahci_platform_get_resources() (Tomas Henzl) [1921465] - ata: sata_rcar: exclude setting of PHY registers in Gen3 (Tomas Henzl) [1921465] - ata: sata_rcar: really mask all interrupts on Gen2 and later (Tomas Henzl) [1921465] - ata: libahci: Allow reconfigure of DEVSLP register (Tomas Henzl) [1921465] - ata: libahci: Correct setting of DEVSLP register (Tomas Henzl) [1921465] - ata: ahci: Enable DEVSLP by default on x86 with SLP_S0 (Tomas Henzl) [1921465] - ata: ahci: Support state with min power but Partial low power state (Tomas Henzl) [1921465] - Revert "ata: ahci_platform: convert kcalloc to devm_kcalloc" (Tomas Henzl) [1921465] - ata: sata_rcar: Add rudimentary Runtime PM support (Tomas Henzl) [1921465] - ata: sata_rcar: Provide a short-hand for &pdev->dev (Tomas Henzl) [1921465] - ata: Only output sg element mapped number in verbose debug (Tomas Henzl) [1921465] - ata: Guard ata_scsi_dump_cdb() by ATA_VERBOSE_DEBUG (Tomas Henzl) [1921465] - ata: ahci_platform: convert kcalloc to devm_kcalloc (Tomas Henzl) [1921465] - ata: ahci_platform: convert kzallloc to kcalloc (Tomas Henzl) [1921465] - ata: ahci_platform: correct parameter documentation for ahci_platform_shutdown (Tomas Henzl) [1921465] - libata: remove ata_sff_data_xfer_noirq() (Tomas Henzl) [1921465] - scsi: target: Fix the pgr/alua_support_store functions (Maurizio Lombardi) [1995935] - sched/deadline: Fix missing clock update in migrate_task_rq_dl() (Phil Auld) [1992254] - sched/fair: Avoid a second scan of target in select_idle_cpu (Phil Auld) [1992254] - sched/fair: Use prev instead of new target as recent_used_cpu (Phil Auld) [1992254] - sched: Replace deprecated CPU-hotplug functions. (Phil Auld) [1992254] - sched/deadline: Fix reset_on_fork reporting of DL tasks (Phil Auld) [1992254] - sched/numa: Fix is_core_idle() (Phil Auld) [1992254] - sched/fair: Sync load_sum with load_avg after dequeue (Phil Auld) [1992254] - sched/fair: Fix CFS bandwidth hrtimer expiry type (Phil Auld) [1992254] - sched/fair: Ensure _sum and _avg values stay consistent (Phil Auld) [1992254] - sched/fair: Ensure that the CFS parent is added after unthrottling (Phil Auld) [1992254] - sched/rt: Fix Deadline utilization tracking during policy change (Phil Auld) [1992254] - sched/rt: Fix RT utilization tracking during policy change (Phil Auld) [1992254] - sched/fair: Age the average idle time (Phil Auld) [1992254] - wait: use LIST_HEAD_INIT() to initialize wait_queue_head (Phil Auld) [1992254] - sched: Optimize housekeeping_cpumask() in for_each_cpu_and() (Phil Auld) [1992254] - sched/fair: Fix util_est UTIL_AVG_UNCHANGED handling (Phil Auld) [1992254] - sched/pelt: Check that *_avg are null when *_sum are (Phil Auld) [1992254] - sched/fair: Correctly insert cfs_rq's to list on unthrottle (Phil Auld) [1992254] - sched/pelt: Ensure that *_sum is always synced with *_avg (Phil Auld) [1992254] - sched/fair: Return early from update_tg_cfs_load() if delta == 0 (Phil Auld) [1992254] - sched/fair: Make sure to update tg contrib for blocked load (Phil Auld) [1992254] - sched/fair: Keep load_avg and load_sum synced (Phil Auld) [1992254] - sched: Stop PF_NO_SETAFFINITY from being inherited by various init system threads (Phil Auld) [1992254] - sched: Fix a stale comment in pick_next_task() (Phil Auld) [1992254] - sched/fair: Fix ascii art by relpacing tabs (Phil Auld) [1992254] - tick/nohz: Call tick_nohz_task_switch() with interrupts disabled (Phil Auld) [1992254] - sched/fair: Fix clearing of has_idle_cores flag in select_idle_cpu() (Phil Auld) [1992254] - sched/core: Remove the pointless BUG_ON(!task) from wake_up_q() (Phil Auld) [1992254] - sched: Make the idle task quack like a per-CPU kthread (Phil Auld) [1992254] - sched/fair: Fix unfairness caused by missing load decay (Phil Auld) [1992254] - sched: Make nr_iowait_cpu() return 32-bit value (Phil Auld) [1992254] - sched: Make nr_iowait() return 32-bit value (Phil Auld) [1992254] - sched: Make nr_running() return 32-bit value (Phil Auld) [1992254] - sched/isolation: Reconcile rcu_nocbs= and nohz_full= (Phil Auld) [1992254] - sched/fair: Introduce a CPU capacity comparison helper (Phil Auld) [1992254] - sched/fair: Clean up active balance nr_balance_failed trickery (Phil Auld) [1992254] - sched/fair: Move update_nohz_stats() to the CONFIG_NO_HZ_COMMON block to simplify the code & fix an unused function warning (Phil Auld) [1992254] - sched/fair: Bring back select_idle_smt(), but differently (Phil Auld) [1992254] - sched,fair: Alternative sched_slice() (Phil Auld) [1992254] - sched/topology: Remove redundant cpumask_and() in init_overlap_sched_group() (Phil Auld) [1992254] - sched/numa: Allow runtime enabling/disabling of NUMA balance without SCHED_DEBUG (Phil Auld) [1992254] - sched/fair: Optimize test_idle_cores() for !SMT (Phil Auld) [1992254] - sched: Fix various typos (Phil Auld) [1992254] - sched: Remove unnecessary variable from schedule_tail() (Phil Auld) [1992254] - sched: Optimize __calc_delta() (Phil Auld) [1992254] - sched: Provide raw_spin_rq_*lock*() helpers (Phil Auld) [1992254] - sched/pelt: Fix task util_est update filtering (Phil Auld) [1992254] - sched/fair: use lsub_positive in cpu_util_next() (Phil Auld) [1992254] - sched/fair: Reduce the window for duplicated update (Phil Auld) [1992254] - sched/fair: Reorder newidle_balance pulled_task tests (Phil Auld) [1992254] - sched/fair: Remove unused parameter of update_nohz_stats (Phil Auld) [1992254] - sched/fair: Remove unused return of _nohz_idle_balance (Phil Auld) [1992254] - sched/fair: Remove update of blocked load from newidle_balance (Phil Auld) [1992254] - sched/topology: fix the issue groups don't span domain->span for NUMA diameter > 2 (Phil Auld) [1992254] - sched/fair: Merge select_idle_core/cpu() (Phil Auld) [1992254] - sched/fair: Remove select_idle_smt() (Phil Auld) [1992254] - sched/fair: Move avg_scan_cost calculations under SIS_PROP (Phil Auld) [1992254] - sched/fair: Remove SIS_AVG_CPU (Phil Auld) [1992254] - sched/eas: Don't update misfit status if the task is pinned (Phil Auld) [1992254] - sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue (Phil Auld) [1992254] - sched/fair: Add a few assertions (Phil Auld) [1992254] - cpufreq: schedutil: Simplify sugov_update_next_freq() (Phil Auld) [1992254] - sched/topology: Warn when NUMA diameter > 2 (Phil Auld) [1992254] - sched: Use task_current() instead of 'rq->curr == p' (Phil Auld) [1992254] - sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled (Phil Auld) [1992254] - sched/fair: Exclude the current CPU from find_new_ilb() (Phil Auld) [1992254] - rbtree, sched/deadline: Use rb_add_cached() (Phil Auld) [1992254] - rbtree, sched/fair: Use rb_add_cached() (Phil Auld) [1992254] - sched/isolation: Prefer housekeeping CPU in local node (Phil Auld) [1992254] - sched: Fix various typos in comments (Phil Auld) [1992254] - s390/qeth: fix deadlock during failing recovery (Sumanth Korikkar) [1984990] - s390/qeth: Fix deadlock in remove_discipline (Sumanth Korikkar) [1984990] - s390/qeth: fix NULL deref in qeth_clear_working_pool_list() (Sumanth Korikkar) [1984990] - s390/qdio: fix roll-back after timeout on ESTABLISH ccw (Sumanth Korikkar) [1984990] - s390/qdio: get rid of register asm (Sumanth Korikkar) [1984990] - s390/netiuvc: get rid of forward declarations (Sumanth Korikkar) [1984990] - s390/qeth: Consider dependency on SWITCHDEV module (Sumanth Korikkar) [1984990] - s390/qeth: shrink TX buffer struct (Sumanth Korikkar) [1984990] - s390/qeth: remove TX buffer's pointer to its queue (Sumanth Korikkar) [1984990] - s390/qeth: remove QAOB's pointer to its TX buffer (Sumanth Korikkar) [1984990] - s390/qeth: consolidate completion of pending TX buffers (Sumanth Korikkar) [1984990] - s390/qeth: use ethtool_sprintf() (Sumanth Korikkar) [1984990] - s390/qeth: unify the tracking of active cmds on ccw device (Sumanth Korikkar) [1984990] - s390/qeth: also use TX NAPI for non-IQD devices (Sumanth Korikkar) [1984990] - s390/qeth: count TX completion interrupts (Sumanth Korikkar) [1984990] - powerpc/stacktrace: Include linux/delay.h (Steve Best) [2010674] - powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi() (Steve Best) [2010674] - powerpc/xmon: Reset RCU and soft lockup watchdogs (Steve Best) [2010674] - bpf, sockmap: Fix sk->prot unhash op reset (Jiri Benc) [1947006] - xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model (Jiri Benc) [1947006] - selftests/bpf: Tests using bpf_check_mtu BPF-helper input mtu_len param (Jiri Benc) [1947006] - bpf: BPF-helper for MTU checking add length input (Jiri Benc) [1947006] - xsk: Remove dangling function declaration from header file (Jiri Benc) [1947006] - bpf: Remove blank line in bpf helper description comment (Jiri Benc) [1947006] - libbpf: Use AF_LOCAL instead of AF_INET in xsk.c (Jiri Benc) [1947006] - selftests/bpf: Tests using bpf_check_mtu BPF-helper (Jiri Benc) [1947006] - selftests/bpf: Use bpf_check_mtu in selftest test_cls_redirect (Jiri Benc) [1947006] - bpf: Drop MTU check when doing TC-BPF redirect to ingress (Jiri Benc) [1947006] - bpf: Add BPF-helper for MTU checking (Jiri Benc) [1947006] - bpf: bpf_fib_lookup return MTU value as output when looked up (Jiri Benc) [1947006] - bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx (Jiri Benc) [1947006] - bpf: Remove MTU check in __bpf_skb_max_len (Jiri Benc) [1947006] - net, veth: Alloc skb in bulk for ndo_xdp_xmit (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_RECVMSG (Jiri Benc) [1947006] - selftests/bpf: Rewrite recvmsg{4,6} asm progs to c in test_sock_addr (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_INET{4,6}_GET{PEER,SOCK}NAME (Jiri Benc) [1947006] - bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_SENDMSG (Jiri Benc) [1947006] - selftests/bpf: Verify that rebinding to port < 1024 from BPF works (Jiri Benc) [1947006] - bpf: Allow rewriting to ports under ip_unprivileged_port_start (Jiri Benc) [1947006] - net: port < inet_prot_sock(net) --> inet_port_requires_bind_service(net, port) (Jiri Benc) [1947006] - net: inet_is_local_reserved_port() should return bool not int (Jiri Benc) [1947006] - libbpf, xsk: Select AF_XDP BPF program based on kernel version (Jiri Benc) [1947006] - xsk: Fold xp_assign_dev and __xp_assign_dev (Jiri Benc) [1947006] - xsk: Remove explicit_free parameter from __xsk_rcv() (Jiri Benc) [1947006] - bpf: Split cgroup_bpf_enabled per attach type (Jiri Benc) [1947006] - bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE (Jiri Benc) [1947006] - net, xdp: Introduce xdp_build_skb_from_frame utility routine (Jiri Benc) [1947006] - net, xdp: Introduce __xdp_build_skb_from_frame utility routine (Jiri Benc) [1947006] - bpf: Extend bind v4/v6 selftests for mark/prio/bindtoifindex (Jiri Benc) [1947006] - bpf: Allow to retrieve sol_socket opts from sock_addr progs (Jiri Benc) [1947006] - bpf: Replace fput with sockfd_put in sock map (Jiri Benc) [1947006] - tools: bpf: add SO_BINDTOIFINDEX to socket.h in tools (Jiri Benc) [1947006] - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() (Lucas Zampieri) [1956472] {CVE-2021-3542}- mm/hmm: make HMM_MIRROR an implicit option (Rafael Aquini) [1998534] - mm/hmm: allow HMM_MIRROR on all architectures with MMU (Rafael Aquini) [1998534] - mm: don't select MIGRATE_VMA_HELPER from HMM_MIRROR (Rafael Aquini) [1998534] - mm: sort out the DEVICE_PRIVATE Kconfig mess (Rafael Aquini) [1998534] - s390/ap/zcrypt: notify userspace with online, config and mode info (Stefan Schulze Frielinghaus) [1984895] - docs: livepatch: Fix a typo and remove the unnecessary gaps in a sentence (C. Erastus Toe) [1995447] - Documentation: livepatch: document reliable stacktrace (C. Erastus Toe) [1995447] - Documentation: livepatch: Convert to automatically generated contents (C. Erastus Toe) [1995447] - scsi: ibmvfc: Reinitialize sub-CRQs and perform channel enquiry after LPM (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Store return code of H_FREE_SUB_CRQ during cleanup (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Treat H_CLOSED as success during sub-CRQ registration (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Fix invalid sub-CRQ handles after hard reset (Desnes A. Nunes do Rosario) [1932217] - scsi: ibmvfc: Simplify handling of sub-CRQ initialization (Desnes A. Nunes do Rosario) [1932217] - exec: Transform exec_update_mutex into a rw_semaphore (Chris von Recklinghausen) [1993665] - perf: Break deadlock involving exec_update_mutex (Chris von Recklinghausen) [1993665] - pidfd: Add missing sock updates for pidfd_getfd() (Chris von Recklinghausen) [1993665] - exec: Move the call of prepare_binprm into search_binary_handler (Chris von Recklinghausen) [1993665] - exec: Allow load_misc_binary to call prepare_binprm unconditionally (Chris von Recklinghausen) [1993665] - exec: Convert security_bprm_set_creds into security_bprm_repopulate_creds (Chris von Recklinghausen) [1993665] - exec: Factor security_bprm_creds_for_exec out of security_bprm_set_creds (Chris von Recklinghausen) [1993665] - exec: Move would_dump into flush_old_exec (Chris von Recklinghausen) [1993665] - exec: Rename flush_old_exec begin_new_exec (Chris von Recklinghausen) [1993665] - exec: Move most of setup_new_exec into flush_old_exec (Chris von Recklinghausen) [1993665] - exec: In setup_new_exec cache current in the local variable me (Chris von Recklinghausen) [1993665] - exec: Merge install_exec_creds into setup_new_exec (Chris von Recklinghausen) [1993665] - exec: Rename the flag called_exec_mmap point_of_no_return (Chris von Recklinghausen) [1993665] - exec: Make unlocking exec_update_mutex explict (Chris von Recklinghausen) [1993665] - binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf (Chris von Recklinghausen) [1993665] - pidfd: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - perf: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - proc: io_accounting: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - proc: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - kernel/kcmp.c: Use new infrastructure to fix deadlocks in execve (Chris von Recklinghausen) [1993665] - kernel: doc: remove outdated comment cred.c (Chris von Recklinghausen) [1993665] - mm: docs: Fix a comment in process_vm_rw_core (Chris von Recklinghausen) [1993665] - selftests/ptrace: add test cases for dead-locks (Chris von Recklinghausen) [1993665] - exec: Fix a deadlock in strace (Chris von Recklinghausen) [1993665] - exec: Add exec_update_mutex to replace cred_guard_mutex (Chris von Recklinghausen) [1993665] - exec: Move exec_mmap right after de_thread in flush_old_exec (Chris von Recklinghausen) [1993665] - exec: Move cleanup of posix timers on exec out of de_thread (Chris von Recklinghausen) [1993665] - exec: Factor unshare_sighand out of de_thread and call it separately (Chris von Recklinghausen) [1993665] - exec: Only compute current once in flush_old_exec (Chris von Recklinghausen) [1993665] - pid: Implement pidfd_getfd syscall (Chris von Recklinghausen) [1993665] - pidfd: add P_PIDFD to waitid() (Chris von Recklinghausen) [1993665] - fork: return proper negative error code (Chris von Recklinghausen) [1993665] - copy_process(): don't use ksys_close() on cleanups (Chris von Recklinghausen) [1993665] - fork: don't check parent_tidptr with CLONE_PIDFD (Chris von Recklinghausen) [1993665] - fs/exec.c: move ->recursion_depth out of critical sections (Chris von Recklinghausen) [1993665] - clone: add CLONE_PIDFD (Chris von Recklinghausen) [1993665] - signal: support CLONE_PIDFD with pidfd_send_signal (Chris von Recklinghausen) [1993665] - arch: add pidfd and io_uring syscalls everywhere (Chris von Recklinghausen) [1993665] - signal: don't silently convert SI_USER signals to non-current pidfd (Chris von Recklinghausen) [1993665] - signal: add pidfd_send_signal() syscall (Chris von Recklinghausen) [1993665] - sched/core: Convert signal_struct.sigcnt to refcount_t (Chris von Recklinghausen) [1993665] - sched/core: Convert sighand_struct.count to refcount_t (Chris von Recklinghausen) [1993665] - exec: make prepare_bprm_creds static (Chris von Recklinghausen) [1993665] - fork: don't copy inconsistent signal handler state to child (Chris von Recklinghausen) [1993665] - Revert "perf: Break deadlock involving exec_update_mutex" (Chris von Recklinghausen) [1993665] - powerpc/mm/highmem: use __set_pte_at() for kmap_local() (Nico Pache) [2001854] - mm: extract might_alloc() debug check (Nico Pache) [2001854] - mm/mempolicy: use vma_lookup() in __access_remote_vm() (Nico Pache) [2001854] - mm/memory.c: use vma_lookup() in __access_remote_vm() (Nico Pache) [2001854] - mm/mremap: use vma_lookup() in vma_to_resize() (Nico Pache) [2001854] - mm/migrate: use vma_lookup() in do_pages_stat_array() (Nico Pache) [2001854] - mm/ksm: use vma_lookup() in find_mergeable_vma() (Nico Pache) [2001854] - kernel/events/uprobes: use vma_lookup() in find_active_uprobe() (Nico Pache) [2001854] - misc/sgi-gru/grufault: use vma_lookup() in gru_find_vma() (Nico Pache) [2001854] - media: videobuf2: use vma_lookup() in get_vaddr_frames() (Nico Pache) [2001854] - drm/amdgpu: use vma_lookup() in amdgpu_ttm_tt_get_user_pages() (Nico Pache) [2001854] - net/ipv5/tcp: use vma_lookup() in tcp_zerocopy_receive() (Nico Pache) [2001854] - vfio: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - virt/kvm: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - x86/sgx: use vma_lookup() in sgx_encl_find() (Nico Pache) [2001854] - arch/powerpc/kvm/book3s: use vma_lookup() in kvmppc_hv_setup_htab_rma() (Nico Pache) [2001854] - arch/powerpc/kvm/book3s_hv_uvmem: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - arch/arm64/kvm: use vma_lookup() instead of find_vma_intersection() (Nico Pache) [2001854] - drm/i915/selftests: use vma_lookup() in __igt_mmap() (Nico Pache) [2001854] - mm: add vma_lookup(), update find_vma_intersection() comments (Nico Pache) [2001854] - i915_vma: Rename vma_lookup to i915_vma_lookup (Nico Pache) [2001854] - media: videobuf2: Move frame_vector into media subsystem (Nico Pache) [2001854] - mm/frame-vector: Use FOLL_LONGTERM (Nico Pache) [2001854] - vhost: convert get_user_pages() --> pin_user_pages() (Nico Pache) [2001854] - docs: mm/gup: pin_user_pages.rst: add a "case 5" (Nico Pache) [2001854] - mm/gup: documentation fix for pin_user_pages*() APIs (Nico Pache) [2001854] - mm/gup: frame_vector: convert get_user_pages() --> pin_user_pages() (Nico Pache) [2001854] - mm/gup: update pin_user_pages.rst for "case 3" (mmu notifiers) (Nico Pache) [2001854] - mm: untag user pointers in get_vaddr_frames (Nico Pache) [2001854] - media: videobuf2-vmalloc: get_userptr: buffers are always writable (Nico Pache) [2001854] - net: expand textsearch ts_state to fit skb_seq_state (Nico Pache) [2001854] - esp: avoid unneeded kmap_atomic call (Nico Pache) [2001854] - net: compound page support in skb_seq_read (Nico Pache) [2001854] - net: support kmap_local forced debugging in skb_frag_foreach (Nico Pache) [2001854] - mm/highmem: fix CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP (Nico Pache) [2001854] - x86/crashdump/32: Simplify copy_oldmem_page() (Nico Pache) [2001854] - io-mapping: Provide iomap_local variant (Nico Pache) [2001854] - mm/highmem: Provide kmap_local* (Nico Pache) [2001854] - sched: highmem: Store local kmaps in task struct (Nico Pache) [2001854] - x86: Support kmap_local() forced debugging (Nico Pache) [2001854] - mm/highmem: Provide CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP (Nico Pache) [2001854] - mm/highmem: Provide and use CONFIG_DEBUG_KMAP_LOCAL (Nico Pache) [2001854] - mm/highmem: Take kmap_high_get() properly into account (Nico Pache) [2001854] - highmem: High implementation details and document API (Nico Pache) [2001854] - Documentation/io-mapping: Remove outdated blurb (Nico Pache) [2001854] - io-mapping: Cleanup atomic iomap (Nico Pache) [2001854] - mm/highmem: Remove the old kmap_atomic cruft (Nico Pache) [2001854] - highmem: Get rid of kmap_types.h (Nico Pache) [2001854] - powerpc/mm/highmem: Switch to generic kmap atomic (Nico Pache) [2001854] - x86/mm/highmem: Use generic kmap atomic implementation (Nico Pache) [2001854] - highmem: Make DEBUG_HIGHMEM functional (Nico Pache) [2001854] - highmem: Provide generic variant of kmap_atomic* (Nico Pache) [2001854] - asm-generic: Provide kmap_size.h (Nico Pache) [2001854] - fs: Remove asm/kmap_types.h includes (Nico Pache) [2001854] - highmem: Remove unused functions (Nico Pache) [2001854] - mm/highmem: Un-EXPORT __kmap_atomic_idx() (Nico Pache) [2001854] - kmap: consolidate kmap_prot definitions (Nico Pache) [2001854] - parisc/kmap: remove duplicate kmap code (Nico Pache) [2001854] - arch/kmap: define kmap_atomic_prot() for all arch's (Nico Pache) [2001854] - arch/kmap: ensure kmap_prot visibility (Nico Pache) [2001854] - arch/kunmap_atomic: consolidate duplicate code (Nico Pache) [2001854] - arch/kmap_atomic: consolidate duplicate code (Nico Pache) [2001854] - {x86,powerpc,microblaze}/kmap: move preempt disable (Nico Pache) [2001854] - arch/kunmap: remove duplicate kunmap implementations (Nico Pache) [2001854] - arch/kmap: remove redundant arch specific kmaps (Nico Pache) [2001854] - arch/kmap: remove BUG_ON() (Nico Pache) [2001854] - ipc: remove memcg accounting for sops objects in do_semtimedop() (Rafael Aquini) [1999705] {CVE-2021-3759} - memcg: enable accounting of ipc resources (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc: use kmalloc for msg_queue and shmid_kernel (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc sem: use kvmalloc for sem_undo allocation (Rafael Aquini) [1999705] {CVE-2021-3759} - ipc/sem.c: replace kvmalloc/memset with kvzalloc and use struct_size (Rafael Aquini) [1999705] {CVE-2021-3759} - x86: sev-es: Restore SEV-ES-specific version of copy_from_kernel_nofault() (Vitaly Kuznetsov) [2010082] - perf machine: Initialize srcline string member in add_location struct (Michael Petlan) [1981880] - ipmi: kcs_bmc_aspeed: Fix less than zero comparison of a unsigned int (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Optionally apply status address (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Fix IBFIE typo from datasheet (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Implement KCS SerIRQ configuration (Tony Camuso) [2003186] - ipmi: kcs_bmc: Add serio adaptor (Tony Camuso) [2003186] - ipmi: kcs_bmc: Enable IBF on open (Tony Camuso) [2003186] - ipmi: kcs_bmc: Allow clients to control KCS IRQ state (Tony Camuso) [2003186] - ipmi: kcs_bmc: Decouple the IPMI chardev from the core (Tony Camuso) [2003186] - ipmi: kcs_bmc: Strip private client data from struct kcs_bmc (Tony Camuso) [2003186] - ipmi: kcs_bmc: Split headers into device and client (Tony Camuso) [2003186] - ipmi: kcs_bmc: Turn the driver data-structures inside-out (Tony Camuso) [2003186] - ipmi: kcs_bmc: Split out kcs_bmc_cdev_ipmi (Tony Camuso) [2003186] - ipmi: kcs_bmc: Rename {read,write}_{status,data}() functions (Tony Camuso) [2003186] - ipmi: kcs_bmc: Make status update atomic (Tony Camuso) [2003186] - ipmi: kcs_bmc_aspeed: Use of match data to extract KCS properties (Tony Camuso) [2003186] - ipmi/watchdog: Stop watchdog timer when the current action is 'none' (Tony Camuso) [2003186] - ipmi: kcs: aspeed: Adapt to new LPC DTS layout (Tony Camuso) [2003186] - ipmi_si: Join string literals back (Tony Camuso) [2003186] - ipmi_si: Drop redundant check before calling put_device() (Tony Camuso) [2003186] - ipmi_si: Use strstrip() to remove surrounding spaces (Tony Camuso) [2003186] - ipmi_si: Get rid of ->addr_source_cleanup() (Tony Camuso) [2003186] - ipmi_si: Reuse si_to_str[] array in ipmi_hardcode_init_one() (Tony Camuso) [2003186] - ipmi_si: Introduce ipmi_panic_event_str[] array (Tony Camuso) [2003186] - ipmi_si: Use proper ACPI macros to check error code for failures (Tony Camuso) [2003186] - ipmi_si: Utilize temporary variable to hold device pointer (Tony Camuso) [2003186] - ipmi_si: Remove bogus err_free label (Tony Camuso) [2003186] - ipmi: Handle device properties with software node API (Tony Camuso) [2003186] - ipmi:ssif: make ssif_i2c_send() void (Tony Camuso) [2003186] - ipmi: Refine retry conditions for getting device id (Tony Camuso) [2003186] - redhat/configs: enable CONFIG_IMA_WRITE_POLICY (Bruno Meneguele) [2010530] - Disable CONFIG_CRYPTO_SM4 on aarch64 (Vladis Dronov) [2008943] - powerpc/iommu: Report the correct most efficient DMA mask for PCI devices (Steve Best) [2007425] - powerpc/dma: Fix dma_map_ops::get_required_mask (Steve Best) [2007425] - ibmvnic: Reuse tx pools when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Reuse rx pools when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Reuse LTB when possible (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use bitmap for LTB map_ids (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: init_tx_pools move loop-invariant code (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use/rename local vars in init_tx_pools (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use/rename local vars in init_rx_pools (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Fix up some comments and messages (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Consolidate code in replenish_rx_pool() (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: check failover_pending in login response (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: retry reset if there are no other resets (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: parenthesize a check (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: free tx_pool if tso_pool alloc fails (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: set ltb->buff to NULL after freeing (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: account for bufs already saved in indir_buf (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: clean pending indirect buffs during reset (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use strscpy() instead of strncpy() (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix send_request_map incompatible argument (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warnings in build_hdr_descs_arr (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warning (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: fix kernel build warning in strncpy (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Allow device probe if the device is not ready at boot (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: Use list_for_each_entry() to simplify code in ibmvnic.c (Desnes A. Nunes do Rosario) [1998677] - ibmvnic: remove default label from to_string switch (Desnes A. Nunes do Rosario) [1998677] - intel_th: pci: Add Alder Lake-M support (Jiri Olsa) [1929502] - i2c: designware: Fix indentation in the header (David Arcari) [2004468] - i2c: designware: Use DIV_ROUND_CLOSEST() macro (David Arcari) [2004468] - math64: New DIV_S64_ROUND_CLOSEST helper (David Arcari) [2004468] - units: Add SI metric prefix definitions (David Arcari) [2004468] - i2c: busses: i2c-designware-master: Fix misnaming of 'i2c_dw_init_master()' (David Arcari) [2004468] - MAINTAINERS: adjust to removing i2c designware platform data (David Arcari) [2004468] - i2c: designware: Get rid of legacy platform data (David Arcari) [2004468] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (David Arcari) [2004468] - i2c: designware: Switch over to i2c_freq_mode_string() (David Arcari) [2004468] - i2c: core: add api to provide frequency mode strings (David Arcari) [2004468] - i2c: designware: Fix return value check in navi_amd_register_client() (David Arcari) [2004468] - i2c: drivers: Use generic definitions for bus frequencies (part 2) (David Arcari) [2004468] - i2c: designware: Add driver support for AMD NAVI GPU (David Arcari) [2004468] - i2c: designware: Adjust bus_freq_hz when refuse high speed mode set (David Arcari) [2004468] - i2c: designware: Get right data length (David Arcari) [2004468] - i2c: designware: Make register offsets all of the same width (David Arcari) [2004468] - i2c: designware: Switch header to use BIT() and GENMASK() (David Arcari) [2004468] - i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED (David Arcari) [2004468] - i2c: designware: call i2c_dw_read_clear_intrbits_slave() once (David Arcari) [2004468] - i2c: busses: Use fallthrough pseudo-keyword (David Arcari) [2004468] - i2c: designware: platdrv: Set class based on DMI (David Arcari) [2004468] - i2c: designware: Adjust bus speed independently of ACPI (David Arcari) [2004468] - i2c: designware: Add Baikal-T1 System I2C support (David Arcari) [2004468] - i2c: designware: Move reg-space remapping into a dedicated function (David Arcari) [2004468] - i2c: designware: Retrieve quirk flags as early as possible (David Arcari) [2004468] - i2c: designware: Convert driver to using regmap API (David Arcari) [2004468] - i2c: designware: Discard Cherry Trail model flag (David Arcari) [2004468] - i2c: designware: Drop hard coded FIFO depth assignment (David Arcari) [2004468] - i2c: designware: Read counters from ACPI for PCI driver (David Arcari) [2004468] - i2c: designware: Move ACPI parts into common module (David Arcari) [2004468] - i2c: designware: Drop unneeded condition in i2c_dw_validate_speed() (David Arcari) [2004468] - i2c: designware: Move i2c_dw_validate_speed() helper to a common code (David Arcari) [2004468] - i2c: designware: Include proper headers in i2c-desingware-core.h (David Arcari) [2004468] - i2c: designware: Get rid of PCI driver specifics in common code (David Arcari) [2004468] - i2c: designware: Allow slave mode for PCI enumerated devices (David Arcari) [2004468] - i2c: designware: Rename i2c_dw_probe() to i2c_dw_probe_master() (David Arcari) [2004468] - i2c: designware: Switch PCI driver to use i2c_dw_configure_master() (David Arcari) [2004468] - i2c: designware: Move configuration routines to respective modules (David Arcari) [2004468] - i2c: designware: Use devm_platform_ioremap_resource() to simplify code (David Arcari) [2004468] - i2c: designware: Calculate SCL timing parameter for High Speed Mode (David Arcari) [2004468] - i2c: designware: Calculate SCL timing parameter for Fast Mode Plus (David Arcari) [2004468] - i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT (David Arcari) [2004468] - i2c: drivers: Use generic definitions for bus frequencies (David Arcari) [2004468] - i2c: core: Provide generic definitions for bus frequencies (David Arcari) [2004468] - i2c: designware: Fix spelling typos in the comments (David Arcari) [2004468] - i2c: designware: Discard i2c_dw_read_comp_param() function (David Arcari) [2004468] - i2c: designware: Detect the FIFO size in the common code (David Arcari) [2004468] - i2c: designware: Add ACPI HID for Hisilicon Hip08-Lite I2C controller (David Arcari) [2004468] - i2c: designware: Fix optional reset error handling (David Arcari) [2004468] - i2c: designware: assert reset when error happen at ->probe() (David Arcari) [2004468] - i2c: designware: Synchronize IRQs when unregistering slave client (David Arcari) [2004468] - i2c: designware: Fix unused variable warning (David Arcari) [2004468] - i2c: designware: make use of devm_gpiod_get_optional (David Arcari) [2004468] - i2c: busses: Use dev_get_drvdata where possible (David Arcari) [2004468] - i2c: designware: ratelimit 'transfer when suspended' errors (David Arcari) [2004468] - i2c: designware: Add support for an interface clock (David Arcari) [2004468] - i2c: i2c-designware-platdrv: Always use a dynamic adapter number (David Arcari) [2004468] - i2c: i2c-designware-platdrv: Cleanup setting of the adapter number (David Arcari) [2004468] - i2c: designware: Do not allow i2c_dw_xfer() calls while suspended (David Arcari) [2004468] - i2c: designware: Cleanup bus lock handling (David Arcari) [2004468] - i2c: designware: Set IRQF_NO_SUSPEND flag for all BYT and CHT controllers (David Arcari) [2004468] - i2c: designware: Call i2c_dw_clk_rate() only when calculating timings (David Arcari) [2004468] - i2c: designware: Remove Cherry Trail PMIC I2C bus pm_disabled workaround (David Arcari) [2004468] - i2c: designware: add MSCC Ocelot support (David Arcari) [2004468] - i2c: designware: allow IP specific sda_hold_time (David Arcari) [2004468] - i2c: designware: move #ifdef CONFIG_OF to the top (David Arcari) [2004468] - i2c: designware: use generic table matching (David Arcari) [2004468] - i2c: designware: Add SPDX license tag (David Arcari) [2004468] - i2c: designware: Convert to use struct i2c_timings (David Arcari) [2004468] - i2c: designware-pcidrv: Mark expected switch fall-through (David Arcari) [2004468] - i2c: designware-master: use core to detect 'no zero length' quirk (David Arcari) [2004468] - i2c: designware: Add debug print for bus speed (David Arcari) [2004468] - i2c: designware: Add debug print for SDA hold time value (David Arcari) [2004468] - i2c: designware: Separate timing parameter setting from HW initalization (David Arcari) [2004468] - i2c: designware: Move SDA hold time configuration to common code (David Arcari) [2004468] - i2c: designware: Call i2c_dw_clk_rate() only once in i2c_dw_init_master() (David Arcari) [2004468] - i2c: designware: Don't use internal ___constant_swab32 (David Arcari) [2004468] - i2c: designware: Move register access detection to common code (David Arcari) [2004468] - i2c: designware: Remove needless variable from i2c_dw_init_slave() (David Arcari) [2004468]- x86/amd_nb: Add AMD family 17h model 60h PCI IDs (David Arcari) [1987067] - x86/amd_nb: Check vendor in AMD-only functions (David Arcari) [1987067] - hwmon: (k10temp) Add support for yellow carp (David Arcari) [1987067] - x86/amd_nb: Add AMD family 19h model 50h PCI ids (David Arcari) [1987067] - x86: Fix various typos in comments, take #2 (David Arcari) [1987067] - x86/amd_nb, char/amd64-agp: Use amd_nb_num() accessor (David Arcari) [1987067] - x86/amd_nb: Add PCI device IDs for family 17h, model 70h (David Arcari) [1987067] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 477 (David Arcari) [1987067] - x86/amd_nb: Make hygon_nb_misc_ids static (David Arcari) [1987067] - x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge (David Arcari) [1987067] - x86/cpu: Create Hygon Dhyana architecture support file (David Arcari) [1987067] - hwmon: (k10temp) Rework the temperature offset calculation (David Arcari) [1987067] - hwmon: (k10temp) Don't show Tdie for all Zen/Zen2/Zen3 CPU/APU (David Arcari) [1987067] - hwmon: (k10temp) Add additional missing Zen2 and Zen3 APUs (David Arcari) [1987067] - hwmon: (k10temp) support Zen3 APUs (David Arcari) [1987067] - CI: Fix RT branch name (Veronika Kabatova) - platform/x86/intel: pmc/core: Add GBE Package C10 fix for Alder Lake PCH (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Alder Lake low power mode support for pmc core (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Latency Tolerance Reporting (LTR) support to Alder Lake (David Arcari) [1962965] - platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver (David Arcari) [1962965] - redhat/configs: Add CONFIG_X86_PLATFORM_DRIVERS_INTEL (David Arcari) [1962965] - platform/x86: intel_pmc_core: Move to intel sub-directory (David Arcari) [1962965] - platform/x86: intel_skl_int3472: Move to intel/ subfolder (David Arcari) [1962965] - platform/x86: intel_pmc_core: Prevent possibile overflow (David Arcari) [1962965] - ipvs: check that ip_vs_conn_tab_bits is between 8 and 20 (Andrea Claudi) [1816769] - KVM: nVMX: Filter out all unsupported controls when eVMCS was activated (Vitaly Kuznetsov) [2001915] - pinctrl: amd: Handle wake-up interrupt (David Arcari) [2000228] - pinctrl: amd: Add irq field data (David Arcari) [2000228] - pinctrl: amd: Fix an issue with shutdown when system set to s0ix (David Arcari) [2000228] - pinctrl/amd: Add device HID for new AMD GPIO controller (David Arcari) [2000228] - pinctrl: amd: Implement irq_set_wake (David Arcari) [2000228] - genirq/PM: Introduce IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag (David Arcari) [2000228] - pinctrl: amd: remove debounce filter setting in IRQ type setting (David Arcari) [2000228] - pinctrl: amd: print debounce filter info in debugfs (David Arcari) [2000228] - pinctrl: amd: use higher precision for 512 RtcClk (David Arcari) [2000228] - pinctrl: amd: fix incorrect way to disable debounce filter (David Arcari) [2000228] - pinctrl: amd: Use irqchip template (David Arcari) [2000228] - pinctrl: pinctrl-amd: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (David Arcari) [2000228] - pinctrl: amd: Honor IRQ trigger type requested by the caller (David Arcari) [2000228] - pinctrl: Use new GPIO_LINE_DIRECTION (David Arcari) [2000228] - remove ioremap_nocache and devm_ioremap_nocache (David Arcari) [2000228] - pinctrl: amd: fix __iomem annotation in amd_gpio_irq_handler() (David Arcari) [2000228] - pinctrl: amd: disable spurious-firing GPIO IRQs (David Arcari) [2000228] - pinctrl: Remove dev_err() usage after platform_get_irq() (David Arcari) [2000228] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (David Arcari) [2000228] - pinctrl/amd: fix typo (David Arcari) [2000228] - pinctrl: pinctrl-amd: simplify getting .driver_data (David Arcari) [2000228] - pinctrl/amd: poll InterruptEnable bits in amd_gpio_irq_set_type (David Arcari) [2000228] - pinctrl: Include nothing else (David Arcari) [2000228] - pinctrl/amd: only handle irq if it is pending and unmasked (David Arcari) [2000228] - pinctrl/amd: fix gpio irq level in debugfs (David Arcari) [2000228] - smartpqi: Update version to 2.1.10-025 (Don Brace) [1980106] - scsi: smartpqi: Replace one-element array with flexible-array member (Don Brace) [1980106] - scsi: smartpqi: Fix an error code in pqi_get_raid_map() (Don Brace) [1980106] - scsi: smartpqi: Update version to 2.1.10-020 (Don Brace) [1980106] - scsi: smartpqi: Fix ISR accessing uninitialized data (Don Brace) [1980106] - scsi: smartpqi: Add PCI IDs for new ZTE controllers (Don Brace) [1980106] - scsi: smartpqi: Add PCI ID for new ntcom controller (Don Brace) [1980106] - scsi: smartpqi: Add SCSI cmd info for resets (Don Brace) [1980106] - scsi: smartpqi: Change Kconfig menu entry to Microchip (Don Brace) [1980106] - scsi: smartpqi: Change driver module macros to Microchip (Don Brace) [1980106] - scsi: smartpqi: Update copyright notices (Don Brace) [1980106] - scsi: smartpqi: Add PCI IDs for H3C P4408 controllers (Don Brace) [1980106]- lib/linear_ranges: fix repeated words & one typo (Nico Pache) [2006475] - lib: linear_ranges: Add missing MODULE_LICENSE() (Nico Pache) [2006475] - bpf: Fix regression on BPF_OBJ_GET with non-O_RDWR flags (Jiri Olsa) [1944798] - bpf, x86: Fix extable offset calculation (Jiri Olsa) [1944798] - bpftool: Add Makefile target bootstrap (Jiri Olsa) [1944798] - bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args (Jiri Olsa) [1944798] - docs, bpf: Add minimal markup to address doc warning (Jiri Olsa) [1944798] - test_bpf: Remove EXPECTED_FAIL flag from bpf_fill_maxinsns11 (Jiri Olsa) [1944798] - trace: bpf: Allow bpf to attach to bare tracepoints (Jiri Olsa) [1944798] - docs: bpf: Clarify -mcpu=v3 requirement for atomic ops (Jiri Olsa) [1944798] - tools, headers: Sync struct bpf_perf_event_data (Jiri Olsa) [1944798] - selftests/bpf: Add missing cleanup in atomic_bounds test (Jiri Olsa) [1944798] - docs: bpf: Clarify BPF_CMPXCHG wording (Jiri Olsa) [1944798] - docs: bpf: Fixup atomics markup (Jiri Olsa) [1944798] - bpf: Document new atomic instructions (Jiri Olsa) [1944798] - kbuild: Do not clean resolve_btfids if the output does not exist (Jiri Olsa) [1944798] - kbuild: Add resolve_btfids clean to root clean target (Jiri Olsa) [1944798] - bpf: Introduce task_vma bpf_iter (Jiri Olsa) [1944798] - bpf: Allow bpf_d_path in bpf_iter program (Jiri Olsa) [1944798] - selftests/bpf: Add test for bpf_iter_task_vma (Jiri Olsa) [1944798] - bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs (Jiri Olsa) [1944798] - libbpf: Use SOCK_CLOEXEC when opening the netlink socket (Jiri Olsa) [1944798] - bpf: Update selftests to reflect new error states (Jiri Olsa) [1944798] - bpf, x86: Validate computation of branch displacements for x86-32 (Jiri Olsa) [1944798] - bpf, x86: Validate computation of branch displacements for x86-64 (Jiri Olsa) [1944798] - bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET (Jiri Olsa) [1944798] - bpf: Take module reference for trampoline in module (Jiri Olsa) [1944798] - bpf/selftests: Test that kernel rejects a TCP CC with an invalid license (Jiri Olsa) [1944798] - bpf: Enforce that struct_ops programs be GPL-only (Jiri Olsa) [1944798] - libbpf: Fix bail out from 'ringbuf_process_ring()' on error (Jiri Olsa) [1944798] - selftests/bpf: Add selftest for pointer-to-array-of-struct BTF dump (Jiri Olsa) [1944798] - libbpf: Fix BTF dump of pointer-to-array-of-struct (Jiri Olsa) [1944798] - bpf, selftests: Fix up some test_verifier cases for unprivileged (Jiri Olsa) [1944798] - bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp (Jiri Olsa) [1944798] - libbpf: Fix INSTALL flag order (Jiri Olsa) [1944798] - libbpf: Clear map_info before each bpf_obj_get_info_by_fd (Jiri Olsa) [1944798] - samples, bpf: Add missing munmap in xdpsock (Jiri Olsa) [1944798] - tools/resolve_btfids: Fix build error with older host toolchains (Jiri Olsa) [1944798] - selftests/bpf: Fix a compiler warning in global func test (Jiri Olsa) [1944798] - bpf: Drop imprecise log message (Jiri Olsa) [1944798] - bpf: Clear percpu pointers in bpf_prog_clone_free() (Jiri Olsa) [1944798] - bpf: Fix a warning message in mark_ptr_not_null_reg() (Jiri Olsa) [1944798] - selftests/bpf: Add unit tests for pointers in global functions (Jiri Olsa) [1944798] - bpf: Support pointers in global func args (Jiri Olsa) [1944798] - bpf: Extract nullable reg type conversion into a helper function (Jiri Olsa) [1944798] - bpf: Rename bpf_reg_state variables (Jiri Olsa) [1944798] - tools/resolve_btfids: Add /libbpf to .gitignore (Jiri Olsa) [1944798] - bpf: selftests: Add non function pointer test to struct_ops (Jiri Olsa) [1944798] - libbpf: Ignore non function pointer member in struct_ops (Jiri Olsa) [1944798] - bpf: Clear per_cpu pointers during bpf_prog_realloc (Jiri Olsa) [1944798] - selftests/bpf: Add a selftest for the tracing bpf_get_socket_cookie (Jiri Olsa) [1944798] - selftests/bpf: Use vmlinux.h in socket_cookie_prog.c (Jiri Olsa) [1944798] - selftests/bpf: Integrate the socket_cookie test to test_progs (Jiri Olsa) [1944798] - bpf: Expose bpf_get_socket_cookie to tracing programs (Jiri Olsa) [1944798] - selftests/bpf: Convert test_xdp_redirect.sh to bash (Jiri Olsa) [1944798] - selftests/bpf: Add a test for map-in-map and per-cpu maps in sleepable progs (Jiri Olsa) [1944798] - bpf: Allows per-cpu maps and map-in-map in sleepable programs (Jiri Olsa) [1944798] - selftests/bpf: Improve recursion selftest (Jiri Olsa) [1944798] - selftest/bpf: Add a recursion test (Jiri Olsa) [1944798] - bpf: Count the number of times recursion was prevented (Jiri Olsa) [1944798] - bpf: Add per-program recursion prevention mechanism (Jiri Olsa) [1944798] - bpf: Compute program stats for sleepable programs (Jiri Olsa) [1944798] - bpf: Run sleepable programs with migration disabled (Jiri Olsa) [1944798] - bpf: Optimize program stats (Jiri Olsa) [1944798] - selftests/bpf: Simplify the calculation of variables (Jiri Olsa) [1944798] - selftest/bpf: Add test for var-offset stack access (Jiri Olsa) [1944798] - tools/resolve_btfids: Set srctree variable unconditionally (Jiri Olsa) [1944798] - tools/resolve_btfids: Check objects before removing (Jiri Olsa) [1944798] - tools/resolve_btfids: Build libbpf and libsubcmd in separate directories (Jiri Olsa) [1944798] - bpf: Simplify bool comparison (Jiri Olsa) [1944798] - selftests/bpf: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf/benchs/bench_ringbufs: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf: Refactor BPF_PSEUDO_CALL checking as a helper function (Jiri Olsa) [1944798] - bpf/selftests: Update the IMA test to use BPF ring buffer (Jiri Olsa) [1944798] - bpf: Allow usage of BPF ringbuffer in sleepable programs (Jiri Olsa) [1944798] - bpf/selftests: Add a short note about vmtest.sh in README.rst (Jiri Olsa) [1944798] - bpf: Helper script for running BPF presubmit tests (Jiri Olsa) [1944798] - bpf: Emit explicit NULL pointer checks for PROBE_LDX instructions. (Jiri Olsa) [1944798] - libbpf: Stop using feature-detection Makefiles (Jiri Olsa) [1944798] - selftest/bpf: Testing for multiple logs on REJECT (Jiri Olsa) [1944798] - samples: bpf: Remove unneeded semicolon (Jiri Olsa) [1944798] - bpf: Propagate stack bounds to registers in atomics w/ BPF_FETCH (Jiri Olsa) [1944798] - samples/bpf: Add include dir for MIPS Loongson64 to fix build errors (Jiri Olsa) [1944798] - bpf: Simplify cases in bpf_base_func_proto (Jiri Olsa) [1944798] - samples/bpf: Set flag __SANE_USERSPACE_TYPES__ for MIPS to fix build warnings (Jiri Olsa) [1944798] - selftests/bpf: Avoid useless void *-casts (Jiri Olsa) [1944798] - selftests/bpf: Consistent malloc/calloc usage (Jiri Olsa) [1944798] - selftests/bpf: Avoid heap allocation (Jiri Olsa) [1944798] - selftests/bpf: Define local variables at the beginning of a block (Jiri Olsa) [1944798] - selftests/bpf: Change type from void * to struct generic_data * (Jiri Olsa) [1944798] - selftests/bpf: Change type from void * to struct ifaceconfigobj * (Jiri Olsa) [1944798] - selftests/bpf: Remove casting by introduce local variable (Jiri Olsa) [1944798] - selftests/bpf: Improve readability of xdpxceiver/worker_pkt_validate() (Jiri Olsa) [1944798] - selftests/bpf: Remove memory leak (Jiri Olsa) [1944798] - selftests/bpf: Fix style warnings (Jiri Olsa) [1944798] - selftests/bpf: Remove unused enums (Jiri Olsa) [1944798] - selftests/bpf: Remove a lot of ifobject casting (Jiri Olsa) [1944798] - samples/bpf: Add xdp program on egress for xdp_redirect_map (Jiri Olsa) [1944798] - bpf: Fix typo in scalar{,32}_min_max_rsh comments (Jiri Olsa) [1944798] - bpf, docs: Update build procedure for manually compiling LLVM and Clang (Jiri Olsa) [1944798] - selftest/bpf: Fix typo (Jiri Olsa) [1944798] - libbpf: Use string table index from index table if needed (Jiri Olsa) [1944798] - bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt (Jiri Olsa) [1944798] - bpf: Permit size-0 datasec (Jiri Olsa) [1944798] - selftests: bpf: Add a new test for bare tracepoints (Jiri Olsa) [1944798] - selftests/bpf: Add verifier tests for x64 jit jump padding (Jiri Olsa) [1944798] - bpf,x64: Pad NOPs to make images converge more easily (Jiri Olsa) [1944798] - tools/bpftool: Add -Wall when building BPF programs (Jiri Olsa) [1944798] - bpf: Declare __bpf_free_used_maps() unconditionally (Jiri Olsa) [1944798] - bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h (Jiri Olsa) [1944798] - kernel.spec: Add support to use vmlinux.h (Jiri Olsa) [1989087] - spec: Add vmlinux.h to kernel-devel package (Jiri Olsa) [1989087] - lib/test_scanf: Handle n_bits == 0 in random tests (Chris von Recklinghausen) [1985062] - printk/console: Check consistent sequence number when handling race in console_unlock() (Chris von Recklinghausen) [1985062] - printk: fix cpu lock ordering (Chris von Recklinghausen) [1985062] - lib/dump_stack: move cpu lock to printk.c (Chris von Recklinghausen) [1985062] - random32: Fix implicit truncation warning in prandom_seed_state() (Chris von Recklinghausen) [1985062] - lib: test_scanf: Remove pointless use of type_min() with unsigned types (Chris von Recklinghausen) [1985062] - selftests: lib: Add wrapper script for test_scanf (Chris von Recklinghausen) [1985062] - lib: test_scanf: Add tests for sscanf number conversion (Chris von Recklinghausen) [1985062] - lib: vsprintf: Fix handling of number field widths in vsscanf (Chris von Recklinghausen) [1985062] - lib: vsprintf: scanf: Negative number must have field width > 1 (Chris von Recklinghausen) [1985062] - usb: host: xhci-tegra: Switch to use ptTs (Chris von Recklinghausen) [1985062] - nilfs2: Switch to use ptTs (Chris von Recklinghausen) [1985062] - kdb: Switch to use ptTs (Chris von Recklinghausen) [1985062] - lib/vsprintf: Allow to override ISO 8601 date and time separator (Chris von Recklinghausen) [1985062] - printk: Remove trailing semicolon in macros (Chris von Recklinghausen) [1985062] - printk: Move EXPORT_SYMBOL() closer to vprintk definition (Chris von Recklinghausen) [1985062] - kernel/printk.c: Fixed mundane typos (Chris von Recklinghausen) [1985062] - printk: rename vprintk_func to vprintk (Chris von Recklinghausen) [1985062] - printk: console: remove unnecessary safe buffer usage (Chris von Recklinghausen) [1985062] - printk: kmsg_dump: remove _nolock() variants (Chris von Recklinghausen) [1985062] - printk: remove logbuf_lock (Chris von Recklinghausen) [1985062] - printk: introduce a kmsg_dump iterator (Chris von Recklinghausen) [1985062] - printk: kmsg_dumper: remove @active field (Chris von Recklinghausen) [1985062] - printk: add syslog_lock (Chris von Recklinghausen) [1985062] - printk: use atomic64_t for devkmsg_user.seq (Chris von Recklinghausen) [1985062] - printk: use seqcount_latch for clear_seq (Chris von Recklinghausen) [1985062] - printk: introduce CONSOLE_LOG_MAX (Chris von Recklinghausen) [1985062] - printk: consolidate kmsg_dump_get_buffer/syslog_print_all code (Chris von Recklinghausen) [1985062] - printk: refactor kmsg_dump_get_buffer() (Chris von Recklinghausen) [1985062] - printk: kmsg_dump: remove unused fields (Chris von Recklinghausen) [1985062] - printk: limit second loop of syslog_print_all (Chris von Recklinghausen) [1985062] - mtd: mtdoops: synchronize kmsg_dumper (Chris von Recklinghausen) [1985062] - vsprintf: dump full information of page flags in pGp (Chris von Recklinghausen) [1985062] - mm, slub: don't combine pr_err with INFO (Chris von Recklinghausen) [1985062] - mm, slub: use pGp to print page flags (Chris von Recklinghausen) [1985062] - lib/vsprintf.c: remove leftover 'f' and 'F' cases from bstr_printf() (Chris von Recklinghausen) [1985062] - printk: clarify the documentation for plain pointer printing (Chris von Recklinghausen) [1985062] - lib/vsprintf: do not show no_hash_pointers message multiple times (Chris von Recklinghausen) [1985062] - kdb: Refactor env variables get/set code (Chris von Recklinghausen) [1985062] - kernel: debug: Ordinary typo fixes in the file gdbstub.c (Chris von Recklinghausen) [1985062] - kdb: Simplify kdb commands registration (Chris von Recklinghausen) [1985062] - seqlock,lockdep: Fix seqcount_latch_init() (Chris von Recklinghausen) [1985062] - printk: avoid prb_first_valid_seq() where possible (Chris von Recklinghausen) [1985062] - printk: rectify kernel-doc for prb_rec_init_wr() (Chris von Recklinghausen) [1985062] - lib/vsprintf: no_hash_pointers prints all addresses as unhashed (Chris von Recklinghausen) [1985062] - kselftest: add support for skipped tests (Chris von Recklinghausen) [1985062] - lib: use KSTM_MODULE_GLOBALS macro in kselftest drivers (Chris von Recklinghausen) [1985062] - printk: fix deadlock when kernel panic (Chris von Recklinghausen) [1985062] - torture: Remove "Failed to add ttynull console" false positive (Chris von Recklinghausen) [1985062] - printk: fix string termination for record_print_text() (Chris von Recklinghausen) [1985062] - printk: fix buffer overflow potential for print_text() (Chris von Recklinghausen) [1985062] - printk: fix kmsg_dump_get_buffer length calulations (Chris von Recklinghausen) [1985062] - printk: ringbuffer: fix line counting (Chris von Recklinghausen) [1985062] - Revert "init/console: Use ttynull as a fallback when there is no console" (Chris von Recklinghausen) [1985062] - printk: remove obsolete dead assignment (Chris von Recklinghausen) [1985062] - printk: ringbuffer: Reference text_data_ring directly in callees. (Chris von Recklinghausen) [1985062] - printk/console: Allow to disable console output by using console="" or console=null (Chris von Recklinghausen) [1985062] - init/console: Use ttynull as a fallback when there is no console (Chris von Recklinghausen) [1985062] - printk: remove logbuf_lock writer-protection of ringbuffer (Chris von Recklinghausen) [1985062] - printk: inline log_output(),log_store() in vprintk_store() (Chris von Recklinghausen) [1985062] - printk: remove unneeded dead-store assignment (Chris von Recklinghausen) [1985062] - printk: finalize records with trailing newlines (Chris von Recklinghausen) [1985062] - printk: ringbuffer: Wrong data pointer when appending small string (Chris von Recklinghausen) [1985062] - printk: reduce setup_text_buf size to LOG_LINE_MAX (Chris von Recklinghausen) [1985062] - printk: avoid and/or handle record truncation (Chris von Recklinghausen) [1985062] - printk: remove dict ring (Chris von Recklinghausen) [1985062] - printk: move dictionary keys to dev_printk_info (Chris von Recklinghausen) [1985062] - printk: move printk_info into separate array (Chris von Recklinghausen) [1985062] - printk: reimplement log_cont using record extension (Chris von Recklinghausen) [1985062] - printk: ringbuffer: add finalization/extension support (Chris von Recklinghausen) [1985062] - printk: ringbuffer: change representation of states (Chris von Recklinghausen) [1985062] - printk: ringbuffer: clear initial reserved fields (Chris von Recklinghausen) [1985062] - printk: ringbuffer: add BLK_DATALESS() macro (Chris von Recklinghausen) [1985062] - printk: ringbuffer: relocate get_data() (Chris von Recklinghausen) [1985062] - printk: ringbuffer: avoid memcpy() on state_var (Chris von Recklinghausen) [1985062] - printk: ringbuffer: fix setting state in desc_read() (Chris von Recklinghausen) [1985062] - seqlock: Introduce seqcount_latch_t (Chris von Recklinghausen) [1985062] - scripts/gdb: update for lockless printk ringbuffer (Chris von Recklinghausen) [1985062] - scripts/gdb: add utils.read_ulong() (Chris von Recklinghausen) [1985062] - printk: reduce LOG_BUF_SHIFT range for H8300 (Chris von Recklinghausen) [1985062] - printk: ringbuffer: support dataless records (Chris von Recklinghausen) [1985062] - MAINTAIERS: Add John Ogness as printk reviewer (Chris von Recklinghausen) [1985062] - printk: use the lockless ringbuffer (Chris von Recklinghausen) [1985062] - Revert "printk: lock/unlock console only for new logbuf entries" (Chris von Recklinghausen) [1985062] - printk: add lockless ringbuffer (Chris von Recklinghausen) [1985062] - crash: add VMCOREINFO macro to define offset in a struct declared by typedef (Chris von Recklinghausen) [1985062] - printk: Use fallthrough pseudo-keyword (Chris von Recklinghausen) [1985062] - kernel.h: Move oops_in_progress to printk.h (Chris von Recklinghausen) [1985062] - serial: 8250: change lock order in serial8250_do_startup() (Chris von Recklinghausen) [1985062] - kernel: printk: delete repeated words in comments (Chris von Recklinghausen) [1985062] - random32: Restore __latent_entropy attribute on net_rand_state (Chris von Recklinghausen) [1985062] - random32: add a tracepoint for prandom_u32() (Chris von Recklinghausen) [1985062] - init: open code setting up stdin/stdout/stderr (Chris von Recklinghausen) [1985062] - hvc: unify console setup naming (Chris von Recklinghausen) [1985062] - console: Fix trivia typo 'change' -> 'chance' (Chris von Recklinghausen) [1985062] - console: Propagate error code from console ->setup() (Chris von Recklinghausen) [1985062] - tty: hvc: Return proper error code from console ->setup() hook (Chris von Recklinghausen) [1985062] - lib/vsprintf: Force type of flags value for gfp_t (Chris von Recklinghausen) [1985062] - lib/vsprintf: Replace custom spec to print decimals with generic one (Chris von Recklinghausen) [1985062] - lib/vsprintf: Replace hidden BUILD_BUG_ON() with static_assert() (Chris von Recklinghausen) [1985062] - printk: Make linux/printk.h self-contained (Chris von Recklinghausen) [1985062] - doc:kmsg: explicitly state the return value in case of SEEK_CUR (Chris von Recklinghausen) [1985062] - Replace HTTP links with HTTPS ones: vsprintf (Chris von Recklinghausen) [1985062] - Revert "kernel/printk: add kmsg SEEK_CUR handling" (Chris von Recklinghausen) [1985062] - random32: move the pseudo-random 32-bit definitions to prandom.h (Chris von Recklinghausen) [1985062] - printk/kdb: Redirect printk messages into kdb in any context (Chris von Recklinghausen) [1985062] - usb: pulse8-cec: Switch to use ptT (Chris von Recklinghausen) [1985062] - lib/vsprintf: Print time64_t in human readable format (Chris von Recklinghausen) [1985062] - printk: Remove pr_cont_once() (Chris von Recklinghausen) [1985062] - printk: handle blank console arguments passed in. (Chris von Recklinghausen) [1985062] - kernel/printk: add kmsg SEEK_CUR handling (Chris von Recklinghausen) [1985062] - printk: Fix a typo in comment "interator"->"iterator" (Chris von Recklinghausen) [1985062] - printk: Correctly set CON_CONSDEV even when preferred console was not registered (Chris von Recklinghausen) [1985062] - printk: Fix preferred console selection with multiple matches (Chris von Recklinghausen) [1985062] - printk: Move console matching logic into a separate function (Chris von Recklinghausen) [1985062] - lib/vsprintf: update comment about simple_strto() functions (Chris von Recklinghausen) [1985062] - printk: Convert a use of sprintf to snprintf in console_unlock (Chris von Recklinghausen) [1985062] - lib/dynamic_debug.c: use address-of operator on section symbols (Chris von Recklinghausen) [1985062] - printk: fix exclusive_console replaying (Chris von Recklinghausen) [1985062] - Revert "fs: remove ksys_dup()" (Chris von Recklinghausen) [1985062] - early init: fix error handling when opening /dev/console (Chris von Recklinghausen) [1985062] - device.h: move dev_printk()-like functions to dev_printk.h (Chris von Recklinghausen) [1985062] - docs: printk-formats: add ptrdiff_t type to printk-formats (Chris von Recklinghausen) [1985062] - fs: remove ksys_dup() (Chris von Recklinghausen) [1985062] - MAINTAINERS: Add VSPRINTF (Chris von Recklinghausen) [1985062] - tools lib api: Renaming pr_warning to pr_warn (Chris von Recklinghausen) [1985062] - lib: cpu_rmap: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - trace: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - vgacon: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - scsi: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: intel_oaktrail: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: asus-laptop: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - platform/x86: eeepc-laptop: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - oprofile: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - of: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - macintosh: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - idsn: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - ide: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - crypto: n2: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - clocksource: samsung_pwm_timer: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - gdrom: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - drbd: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - x86: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - arm64: Use pr_warn instead of pr_warning (Chris von Recklinghausen) [1985062] - dump_stack: avoid the livelock of the dump_lock (Chris von Recklinghausen) [1985062] - lib/vsprintf: Add pfw conversion specifier for printing fwnode names (Chris von Recklinghausen) [1985062] - lib/vsprintf: Make use of fwnode API to obtain node names and separators (Chris von Recklinghausen) [1985062] - ABI: Update dev-kmsg documentation to match current kernel behaviour (Chris von Recklinghausen) [1985062] - printk: Replace strncmp() with str_has_prefix() (Chris von Recklinghausen) [1985062] - lib/test_printf: Remove obvious comments from pd and pD tests (Chris von Recklinghausen) [1985062] - lib/test_printf: Add test of null/invalid pointer dereference for dentry (Chris von Recklinghausen) [1985062] - vsprintf: Prevent crash when dereferencing invalid pointers for pD (Chris von Recklinghausen) [1985062] - printk: Do not lose last line in kmsg buffer dump (Chris von Recklinghausen) [1985062] - scripts/gdb: fix lx-dmesg when CONFIG_PRINTK_CALLER is set (Chris von Recklinghausen) [1985062] - lib/vsprintf: Remove support for pF and pf in favour of pS and ps (Chris von Recklinghausen) [1985062] - tracing: kdb: Allow ftdump to skip all but the last few entries (Chris von Recklinghausen) [1985062] - tracing: kdb: The skip_lines parameter should have been skip_entries (Chris von Recklinghausen) [1985062] - tracing: Add trace_total_entries() / trace_total_entries_cpu() (Chris von Recklinghausen) [1985062] - tty: Add NULL TTY driver (Chris von Recklinghausen) [1985062] - treewide: Switch printk users from pf and pF to ps and pS, respectively (Chris von Recklinghausen) [1985062] - iio: adc: fix warning in Qualcomm PM8xxx HK/XOADC driver (Chris von Recklinghausen) [1985062] - device.h: Add __cold to dev_ logging functions (Chris von Recklinghausen) [1985062] - dynamic_debug: move pr_err from module.c to ddebug_add_module (Chris von Recklinghausen) [1985062] - dynamic_debug: don't duplicate modname in ddebug_add_module (Chris von Recklinghausen) [1985062] - kdb: use bool for binary state indicators (Chris von Recklinghausen) [1985062] - panic: avoid deadlocks in re-entrant console drivers (Chris von Recklinghausen) [1985062] - x86/apic: Trivial coding style fixes (Chris von Recklinghausen) [1985062] - video/console/vgacon: Print big fat warning with nomodeset (Chris von Recklinghausen) [1985062] - device: Add #define dev_fmt similar to #define pr_fmt (Chris von Recklinghausen) [1985062] - bcache: replace 'pF' by 'pS' in seq_printf() (Chris von Recklinghausen) [1985062] - Revert "Merge: redhat: switch secureboot kernel image signing to release keys" (Augusto Caringi) - drm/nouveau/fifo/ga102: initialise chid on return from channel creation (Ben Skeggs) [1997878] - drm/nouveau/ga102-: support ttm buffer moves via copy engine (Ben Skeggs) [1997878] - drm/nouveau/kms/tu102-: delay enabling cursor until after assign_windows (Ben Skeggs) [1997878] - drm/nouveau/kms/nv50: workaround EFI GOP window channel format differences (Ben Skeggs) [1997878] - drm/nouveau/disp: power down unused DP links during init (Ben Skeggs) [1997878] - drm/nouveau: recognise GA107 (Ben Skeggs) [1997878] - PCI: Mark TI C667X to avoid bus reset (Alex Williamson) [1975768] - redhat: switch secureboot kernel image signing to release keys (Bruno Meneguele) - CI: handle RT branches in a single config (Veronika Kabatova) - CI: Fix RT check branch name (Veronika Kabatova) - CI: Drop private CI config (Veronika Kabatova) - CI: extend template use (Veronika Kabatova) - Revert "Merge: mt7921e: enable new Mediatek wireless hardware" (Bruno Meneguele) [2009501] - megaraid_sas: fix concurrent access to ISR between IRQ polling and real interrupt (Tomas Henzl) [2009022] - scsi: megaraid_sas: mq_poll support (Tomas Henzl) [2009022] - [PATCH v2] scsi: qla2xxx: Suppress unnecessary log messages during login (Nilesh Javali) [1982186] - scsi: qla2xxx: Fix excessive messages during device logout (Nilesh Javali) [1982186] - PCI: pciehp: Ignore Link Down/Up caused by DPC (Myron Stowe) [1981741] - arm64: kpti: Fix "kpti=off" when KASLR is enabled (Mark Salter) [1979731] - arm64: Fix CONFIG_ARCH_RANDOM=n build (Mark Salter) [1979731] - redhat/configs: aarch64: add CONFIG_ARCH_RANDOM (Mark Salter) [1979731] - arm64: Implement archrandom.h for ARMv8.5-RNG (Mark Salter) [1979731] - arm64: kconfig: Fix alignment of E0PD help text (Mark Salter) [1979731] - arm64: Use register field helper in kaslr_requires_kpti() (Mark Salter) [1979731] - arm64: Simplify early check for broken TX1 when KASLR is enabled (Mark Salter) [1979731] - arm64: Use a variable to store non-global mappings decision (Mark Salter) [1979731] - arm64: Don't use KPTI where we have E0PD (Mark Salter) [1979731] - arm64: Factor out checks for KASLR in KPTI code into separate function (Mark Salter) [1979731] - redhat/configs: Add CONFIG_ARM64_E0PD (Mark Salter) [1979731] - arm64: Add initial support for E0PD (Mark Salter) [1979731] - arm64: cpufeature: Export matrix and other features to userspace (Mark Salter) [1980098] - arm64: docs: cpu-feature-registers: Document ID_AA64PFR1_EL1 (Mark Salter) [1980098] - docs/arm64: cpu-feature-registers: Rewrite bitfields that don't follow [e, s] (Mark Salter) [1980098] - docs/arm64: cpu-feature-registers: Documents missing visible fields (Mark Salter) [1980098] - arm64: Introduce system_capabilities_finalized() marker (Mark Salter) [1980098] - arm64: entry.S: Do not preempt from IRQ before all cpufeatures are enabled (Mark Salter) [1980098] - docs/arm64: elf_hwcaps: Document HWCAP_SB (Mark Salter) [1980098] - docs/arm64: elf_hwcaps: sort the HWCAP{, 2} documentation by ascending value (Mark Salter) [1980098] - arm64: cpufeature: Treat ID_AA64ZFR0_EL1 as RAZ when SVE is not enabled (Mark Salter) [1980098] - arm64: cpufeature: Effectively expose FRINT capability to userspace (Mark Salter) [1980098] - arm64: cpufeature: Fix feature comparison for CTR_EL0.{CWG,ERG} (Mark Salter) [1980098] - arm64: Expose FRINT capabilities to userspace (Mark Salter) [1980098] - arm64: Expose ARMv8.5 CondM capability to userspace (Mark Salter) [1980098] - docs: arm64: convert perf.txt to ReST format (Mark Salter) [1980098] - docs: arm64: convert docs to ReST and rename to .rst (Mark Salter) [1980098] - Documentation/arm64: HugeTLB page implementation (Mark Salter) [1980098] - Documentation/arm64/sve: Couple of improvements and typos (Mark Salter) [1980098] - arm64: cpufeature: Fix missing ZFR0 in __read_sysreg_by_encoding() (Mark Salter) [1980098] - arm64: Expose SVE2 features for userspace (Mark Salter) [1980098] - arm64: Advertise ARM64_HAS_DCPODP cpu feature (Mark Salter) [1980098] - arm64: add CVADP support to the cache maintenance helper (Mark Salter) [1980098] - arm64: Fix minor issues with the dcache_by_line_op macro (Mark Salter) [1980098] - arm64: Expose DC CVADP to userspace (Mark Salter) [1980098] - arm64: Handle trapped DC CVADP (Mark Salter) [1980098] - arm64: HWCAP: encapsulate elf_hwcap (Mark Salter) [1980098] - arm64: HWCAP: add support for AT_HWCAP2 (Mark Salter) [1980098] - x86/MCE/AMD, EDAC/mce_amd: Add new SMCA bank types (Aristeu Rozanski) [1965331] - x86/MCE/AMD, EDAC/mce_amd: Remove struct smca_hwid.xec_bitmap (Aristeu Rozanski) [1965331] - EDAC, mce_amd: Print ExtErrorCode and description on a single line (Aristeu Rozanski) [1965331]- scsi: ibmvfc: Fix command state accounting and stale response detection (Steve Best) [1988157] - tasklist_lock, ppc64: Convert tasklist_lock to use qrwlock for ppc64 (Waiman Long) [1978377] - tasklist_lock, ppc64: Provide infrastructure to support specific use of qrwlock (Waiman Long) [1978377] - redhat/configs: Disable CONFIG_PPC_QUEUED_SPINLOCKS (Waiman Long) [1978377] - qspinlock: use signed temporaries for cmpxchg (Waiman Long) [1978377] - powerpc/qspinlock: Optimised atomic_try_cmpxchg_lock() that adds the lock hint (Waiman Long) [1978377] - powerpc/pseries: Implement paravirt qspinlocks for SPLPAR (Waiman Long) [1978377] - powerpc/64s: Implement queued spinlocks and rwlocks (Waiman Long) [1978377] - powerpc: Move spinlock implementation to simple_spinlock (Waiman Long) [1978377] - locking/spinlocks: Remove an instruction from spin and write locks (Waiman Long) [1978377] - net: Fix skb->csum update in inet_proto_csum_replace16(). (Balazs Nemeth) [1975193] - [s390] s390/dasd: fix use after free in dasd path handling (Claudio Imbrenda) [1996764] - powerpc/bpf: Fix detecting BPF atomic instructions (Viktor Malik) [1931483] - selftests/bpf: ringbuf_multi: Test bpf_map__set_inner_map_fd (Viktor Malik) [1931483] - selftests/bpf: ringbuf_multi: Use runtime page size (Viktor Malik) [1931483] - libbpf: Add bpf_map__inner_map API (Viktor Malik) [1931483] - selftests/bpf: ringbuf: Use runtime page size (Viktor Malik) [1931483] - selftests/bpf: mmap: Use runtime page size (Viktor Malik) [1931483] - selftests/bpf: Pass page size from userspace in map_ptr (Viktor Malik) [1931483] - selftests/bpf: Pass page size from userspace in sockopt_sk (Viktor Malik) [1931483] - selftests/bpf: test_progs/sockopt_sk: Convert to use BPF skeleton (Viktor Malik) [1931483] - selftests/bpf: test_progs/sockopt_sk: Remove version (Viktor Malik) [1931483] - powerpc/64s: Fix crashes when toggling entry flush barrier (Diego Domingos) [1894804] - powerpc/64s: flush L1D after user accesses (Diego Domingos) [1894804] - powerpc/uaccess: Evaluate macro arguments once, before user access is allowed (Diego Domingos) [1894804] - powerpc: Fix __clear_user() with KUAP enabled (Diego Domingos) [1894804] - powerpc: Implement user_access_begin and friends (Diego Domingos) [1894804] - powerpc: Add a framework for user access tracking (Diego Domingos) [1894804] - powerpc/64s: flush L1D on kernel entry (Diego Domingos) [1894804] - redhat: enable CONFIG_SLAB_FREELIST_HARDENED (Rafael Aquini) [1862283] - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap (Rafael Aquini) [1862283] - uapi: rename ext2_swab() to swab() and share globally in swab.h (Rafael Aquini) [1862283] - lib/timerqueue: Rely on rbtree semantics for next timer (Phil Auld) [1984798] - e1000e: Do not take care about recovery NVM checksum (Ken Cox) [1984558] - qrtr: disable CONFIG_QRTR for non x86_64 archs (Íñigo Huguet) [1999642] - ceph: fix possible null-pointer dereference in ceph_mdsmap_decode() (Jeff Layton) [1989999] - ceph: fix dereference of null pointer cf (Jeff Layton) [1989999] - ceph: correctly handle releasing an embedded cap flush (Jeff Layton) [1989999] - ceph: take snap_empty_lock atomically with snaprealm refcount change (Jeff Layton) [1989999] - ceph: don't WARN if we're still opening a session to an MDS (Jeff Layton) [1989999] - rbd: don't hold lock_rwsem while running_list is being drained (Jeff Layton) [1989999] - rbd: always kick acquire on "acquired" and "released" notifications (Jeff Layton) [1989999] - ceph: take reference to req->r_parent at point of assignment (Jeff Layton) [1989999] - ceph: eliminate ceph_async_iput() (Jeff Layton) [1989999] - ceph: don't take s_mutex in ceph_flush_snaps (Jeff Layton) [1989999] - ceph: don't take s_mutex in try_flush_caps (Jeff Layton) [1989999] - ceph: don't take s_mutex or snap_rwsem in ceph_check_caps (Jeff Layton) [1989999] - ceph: eliminate session->s_gen_ttl_lock (Jeff Layton) [1989999] - ceph: allow ceph_put_mds_session to take NULL or ERR_PTR (Jeff Layton) [1989999] - ceph: clean up locking annotation for ceph_get_snap_realm and __lookup_snap_realm (Jeff Layton) [1989999] - ceph: add some lockdep assertions around snaprealm handling (Jeff Layton) [1989999] - ceph: decoding error in ceph_update_snap_realm should return -EIO (Jeff Layton) [1989999] - ceph: add IO size metrics support (Jeff Layton) [1989999] - ceph: update and rename __update_latency helper to __update_stdev (Jeff Layton) [1989999] - ceph: simplify the metrics struct (Jeff Layton) [1989999] - libceph: fix doc warnings in cls_lock_client.c (Jeff Layton) [1989999] - libceph: remove unnecessary ret variable in ceph_auth_init() (Jeff Layton) [1989999] - libceph: kill ceph_none_authorizer::reply_buf (Jeff Layton) [1989999] - ceph: make ceph_queue_cap_snap static (Jeff Layton) [1989999] - ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty (Jeff Layton) [1989999] - libceph: set global_id as soon as we get an auth ticket (Jeff Layton) [1989999] - libceph: don't pass result into ac->ops->handle_reply() (Jeff Layton) [1989999] - ceph: fix error handling in ceph_atomic_open and ceph_lookup (Jeff Layton) [1989999] - ceph: must hold snap_rwsem when filling inode for async create (Jeff Layton) [1989999] - libceph: Fix spelling mistakes (Jeff Layton) [1989999] - libceph: don't set global_id until we get an auth ticket (Jeff Layton) [1989999] - libceph: bump CephXAuthenticate encoding version (Jeff Layton) [1989999] - ceph: don't allow access to MDS-private inodes (Jeff Layton) [1989999] - ceph: fix up some bare fetches of i_size (Jeff Layton) [1989999] - ceph: support getting ceph.dir.rsnaps vxattr (Jeff Layton) [1989999] - ceph: drop pinned_page parameter from ceph_get_caps (Jeff Layton) [1989999] - ceph: fix inode leak on getattr error in __fh_to_dentry (Jeff Layton) [1989999] - ceph: only check pool permissions for regular files (Jeff Layton) [1989999] - ceph: send opened files/pinned caps/opened inodes metrics to MDS daemon (Jeff Layton) [1989999] - ceph: avoid counting the same request twice or more (Jeff Layton) [1989999] - ceph: rename the metric helpers (Jeff Layton) [1989999] - ceph: fix kerneldoc copypasta over ceph_start_io_direct (Jeff Layton) [1989999] - ceph: don't use d_add in ceph_handle_snapdir (Jeff Layton) [1989999] - ceph: don't clobber i_snap_caps on non-I_NEW inode (Jeff Layton) [1989999] - ceph: fix fall-through warnings for Clang (Jeff Layton) [1989999] - net: ceph: Fix a typo in osdmap.c (Jeff Layton) [1989999] - ceph: don't allow type or device number to change on non-I_NEW inodes (Jeff Layton) [1989999] - ceph: defer flushing the capsnap if the Fb is used (Jeff Layton) [1989999] - ceph: allow queueing cap/snap handling after putting cap references (Jeff Layton) [1989999] - ceph: clean up inode work queueing (Jeff Layton) [1989999] - ceph: fix flush_snap logic after putting caps (Jeff Layton) [1989999] - libceph: fix "Boolean result is used in bitwise operation" warning (Jeff Layton) [1989999] - new helper: inode_wrong_type() (Jeff Layton) [1989999] - kabi: Adding symbol single_release (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol single_open (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_read (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_printf (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol seq_lseek (fs/seq_file.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol unregister_chrdev_region (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_init (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_del (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_alloc (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol cdev_add (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol alloc_chrdev_region (fs/char_dev.c) (Čestmír Kalina) [1945486] - kabi: Adding symbol pcie_capability_read_word (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pcie_capability_read_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pcie_capability_clear_and_set_word (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_write_config_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_write_config_byte (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_set_power_state (drivers/pci/pci.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_read_config_dword (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_read_config_byte (drivers/pci/access.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_irq_vector (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_get_device (drivers/pci/search.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_free_irq_vectors (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol pci_alloc_irq_vectors_affinity (drivers/pci/msi.c) (Čestmír Kalina) [1945485] - kabi: Adding symbol kexec_crash_loaded (kernel/kexec_core.c) (Čestmír Kalina) [1945491] - perf/x86/intel: Fix PEBS-via-PT reload base value for Extended PEBS (Michael Petlan) [1998051] - perf/x86/intel/uncore: Fix Add BW copypasta (Michael Petlan) [1998051] - perf/x86/intel/uncore: Add BW counters for GT, IA and IO breakdown (Michael Petlan) [1998051] - Revert "ice: Add initial support framework for LAG" (Michal Schmidt) [1999016] - net: re-initialize slow_gro flag at gro_list_prepare time (Paolo Abeni) [2002367] - cxgb4: dont touch blocked freelist bitmap after free (Rahul Lakkireddy) [1998148] - cxgb4vf: configure ports accessible by the VF (Rahul Lakkireddy) [1961329] - scsi: lpfc: Fix memory leaks in error paths while issuing ELS RDF/SCR request (Dick Kennedy) [1976332] - scsi: lpfc: Keep NDLP reference until after freeing the IOCB after ELS handling (Dick Kennedy) [1976332] - scsi: lpfc: Move initialization of phba->poll_list earlier to avoid crash (Dick Kennedy) [1976332]- md/raid10: properly indicate failure when ending a failed write request (Nigel Croxon) [1983859] - md: Constify attribute_group structs (Nigel Croxon) [1983859] - md: mark some personalities as deprecated (Nigel Croxon) [1983859] - md/raid1: rename print_msg with r1bio_existed (Nigel Croxon) [1983859] - async_xor: check src_offs is not NULL before updating it (Nigel Croxon) [1983859] - async_xor: increase src_offs when dropping destination page (Nigel Croxon) [1983859] - md/raid5: reallocate page array after setting new stripe_size (Nigel Croxon) [1983859] - md/raid5: resize stripe_head when reshape array (Nigel Croxon) [1983859] - md/raid5: let multiple devices of stripe_head share page (Nigel Croxon) [1983859] - md/raid6: let async recovery function support different page offset (Nigel Croxon) [1983859] - md/raid6: let syndrome computor support different page offset (Nigel Croxon) [1983859] - md/raid5: convert to new xor compution interface (Nigel Croxon) [1983859] - md/raid5: add new xor function to support different page offset (Nigel Croxon) [1983859] - md/raid5: make async_copy_data() to support different page offset (Nigel Croxon) [1983859] - md/raid5: add a new member of offset into r5dev (Nigel Croxon) [1983859] - x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR (Jay Shin) [1994421] - crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [1987094] - crypto: ccp - shutdown SEV firmware on kexec (Vladis Dronov) [1987094] - crypto: ccp - Use list_move_tail instead of list_del/list_add_tail in ccp-dmaengine.c (Vladis Dronov) [1987094] - crypto: ccp: ccp-dev: Fix a little doc-rot (Vladis Dronov) [1987094] - crypto: ccp - Fix a resource leak in an error handling path (Vladis Dronov) [1987094] - crypto: ccp - Annotate SEV Firmware file names (Vladis Dronov) [1987094] - crypto: ccp - Make ccp_dev_suspend and ccp_dev_resume void functions (Vladis Dronov) [1987094] - crypto: ccp - Use DEFINE_SPINLOCK() for spinlock (Vladis Dronov) [1987094] - crypto: ccp - A value assigned to a variable is never used (Vladis Dronov) [1987094] - crypto: ccp - Don't initialize SEV support without the SEV feature (Vladis Dronov) [1987094] - crypto: ccp - fix error handling (Vladis Dronov) [1987094] - crypto: ccp - use generic power management (Vladis Dronov) [1987094] - crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1987094] - crypto: ahash - remove useless setting of type flags (Vladis Dronov) [1987094] - crypto: ccp - Silence strncpy warning (Vladis Dronov) [1987094] - crypto: ccp - permit asynchronous skcipher as fallback (Vladis Dronov) [1987094] - crypto: ccp - Fix sparse warnings (Vladis Dronov) [1987094] - crypto: ccp - Update CCP driver maintainer information (Vladis Dronov) [1987094] - crypto: ccp - Fix use of merged scatterlists (Vladis Dronov) [1987094] - crypto: ccp - remove redundant assignment to variable ret (Vladis Dronov) [1987094] - crypto: ccp - use crypto_shash_tfm_digest() (Vladis Dronov) [1987094] - crypto: hash - introduce crypto_shash_tfm_digest() (Vladis Dronov) [1987094] - crypto: ccp -- don't "select" CONFIG_DMADEVICES (Vladis Dronov) [1987094] - crypto: ccp - Update MAINTAINERS for CCP driver (Vladis Dronov) [1987094] - crypto: ccp - switch from ablkcipher to skcipher (Vladis Dronov) [1987094] - ipc: replace costly bailout check in sysvipc_find_ipc() (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - ipc/util.c: sysvipc_find_ipc() incorrectly updates position index (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - ipc/util.c: sysvipc_find_ipc() should increase position index (Rafael Aquini) [1980619 1987128] {CVE-2021-3669} - psi: Fix psi state corruption when schedule() races with cgroup move (Waiman Long) [2002025] - psi: Optimize task switch inside shared cgroups (Waiman Long) [2002025] - kthread: Fix PF_KTHREAD vs to_kthread() race (Waiman Long) [2002025] - sched/fair: Ignore percpu threads for imbalance pulls (Waiman Long) [2002025] - sched: Fix get_push_task() vs migrate_disable() (Waiman Long) [2002025] - sched: Don't defer CPU pick to migration_cpu_stop() (Waiman Long) [2002025] - sched: Simplify migration_cpu_stop() (Waiman Long) [2002025] - sched: Simplify set_affinity_pending refcounts (Waiman Long) [2002025] - sched: Fix affine_move_task() self-concurrency (Waiman Long) [2002025] - sched: Optimize migration_cpu_stop() (Waiman Long) [2002025] - sched: Collate affine_move_task() stoppers (Waiman Long) [2002025] - sched: Simplify migration_cpu_stop() (Waiman Long) [2002025] - sched: Fix migration_cpu_stop() requeueing (Waiman Long) [2002025] - sched: Relax the set_cpus_allowed_ptr() semantics (Waiman Long) [2002025] - sched: Fix CPU hotplug / tighten is_per_cpu_kthread() (Waiman Long) [2002025] - sched: Prepare to use balance_push in ttwu() (Waiman Long) [2002025] - workqueue: Restrict affinity change to rescuer (Waiman Long) [2002025] - workqueue: Tag bound workers with KTHREAD_IS_PER_CPU (Waiman Long) [2002025] - kthread: Extract KTHREAD_IS_PER_CPU (Waiman Long) [2002025] - sched: Don't run cpu-online with balance_push() enabled (Waiman Long) [2002025] - workqueue: Use cpu_possible_mask instead of cpu_active_mask to break affinity (Waiman Long) [2002025] - sched/core: Print out straggler tasks in sched_cpu_dying() (Waiman Long) [2002025] - sched: Optimize finish_lock_switch() (Waiman Long) [2002025] - sched: Fix migration_cpu_stop() WARN (Waiman Long) [2002025] - sched/core: Add missing completion for affine_move_task() waiters (Waiman Long) [2002025] - stop_machine, rcu: Mark functions as notrace (Waiman Long) [2002025] - sched: Comment affine_move_task() (Waiman Long) [2002025] - sched: Deny self-issued __set_cpus_allowed_ptr() when migrate_disable() (Waiman Long) [2002025] - sched/proc: Print accurate cpumask vs migrate_disable() (Waiman Long) [2002025] - sched: Make migrate_disable/enable() independent of RT (Waiman Long) [2002025] - sched: Fix migrate_disable() vs rt/dl balancing (Waiman Long) [2002025] - sched, lockdep: Annotate ->pi_lock recursion (Waiman Long) [2002025] - sched,rt: Use the full cpumask for balancing (Waiman Long) [2002025] - sched,rt: Use cpumask_any*_distribute() (Waiman Long) [2002025] - sched/core: Make migrate disable and CPU hotplug cooperative (Waiman Long) [2002025] - sched: Fix migrate_disable() vs set_cpus_allowed_ptr() (Waiman Long) [2002025] - sched: Add migrate_disable() (Waiman Long) [2002025] - sched: Massage set_cpus_allowed() (Waiman Long) [2002025] - sched: Fix hotplug vs CPU bandwidth control (Waiman Long) [2002025] - sched/hotplug: Consolidate task migration on CPU unplug (Waiman Long) [2002025] - workqueue: Manually break affinity on hotplug (Waiman Long) [2002025] - sched/core: Wait for tasks being pushed away on hotplug (Waiman Long) [2002025] - sched/hotplug: Ensure only per-cpu kthreads run during hotplug (Waiman Long) [2002025] - sched: Fix balance_callback() (Waiman Long) [2002025] - maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault (Waiman Long) [2002025] - s390/ftrace: fix potential crashes when switching tracers (Waiman Long) [2002025] - psi: Move PF_MEMSTALL out of task->flags (Waiman Long) [2002025] - psi: Optimize switching tasks inside shared cgroups (Waiman Long) [2002025] - psi: Fix cpu.pressure for cpu.max and competing cgroups (Waiman Long) [2002025] - stop_machine: Make stop_cpus() static (Waiman Long) [2002025] - stop_machine: remove try_stop_cpus helper (Waiman Long) [2002025] - kernel.h: Add non_block_start/end() (Waiman Long) [2002025] - processor: get rid of cpu_relax_yield (Waiman Long) [2002025] - processor: remove spin_cpu_yield (Waiman Long) [2002025] - s390: improve wait logic of stop_machine (Waiman Long) [2002025] - sched/core: Fix typo in comment (Waiman Long) [2002025] - ia64/tlb: Eradicate tlb_migrate_finish() callback (Waiman Long) [2002025] - sched/core: Remove unnecessary unlikely() in push_*_task() (Waiman Long) [2002025] - sched/fair: Reduce long-tail newly idle balance cost (Phil Auld) [1971918] - hwmon: (acpi_power_meter) Fix lockdep splat (Waiman Long) [1997807] - redhat: open the RHEL-8.6 development (Augusto Caringi) [2000679] - rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1997500] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [1956419 1972045] - mt7921e: enable module in config (Íñigo Huguet) [1956419 1972045] - Revert tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1999926] - libnvdimm/namespace: Differentiate between probe mapping and runtime mapping (Jeff Moyer) [1795719] - libnvdimm/pfn_dev: Don't clear device memmap area during generic namespace probe (Jeff Moyer) [1795719] - perf/x86/intel/uncore: Clean up error handling path of iio mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix for iio mapping on Skylake Server (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the PCI type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Rename uncore_notifier to uncore_pci_sub_notifier (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MSR type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Parse uncore discovery tables (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Wrap the max dies calculation into an accessor (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Validate MMIO address before accessing (Michael Petlan) [1837330] - perf/x86/intel/uncore: Record the size of mapped area (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix oops when counting IMC uncore events on some TGL (Michael Petlan) [1837330] - crypto: qat - remove unused macro in FW loader (Vladis Dronov) [1920086] - crypto: qat - check return code of qat_hal_rd_rel_reg() (Vladis Dronov) [1920086] - crypto: qat - report an error if MMP file size is too large (Vladis Dronov) [1920086] - crypto: qat - check MMP size before writing to the SRAM (Vladis Dronov) [1920086] - crypto: qat - return error when failing to map FW (Vladis Dronov) [1920086] - crypto: qat - enable detection of accelerators hang (Vladis Dronov) [1920086] - crypto: qat - Fix a double free in adf_create_ring (Vladis Dronov) [1920086] - crypto: qat - fix error path in adf_isr_resource_alloc() (Vladis Dronov) [1920086] - crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init (Vladis Dronov) [1920086] - crypto: qat - don't release uninitialized resources (Vladis Dronov) [1920086] - crypto: qat - fix use of 'dma_map_single' (Vladis Dronov) [1920086] - crypto: qat - fix unmap invalid dma address (Vladis Dronov) [1920086] - crypto: qat - fix spelling mistake: "messge" -> "message" (Vladis Dronov) [1920086] - crypto: qat - reduce size of mapped region (Vladis Dronov) [1920086] - crypto: qat - change format string and cast ring size (Vladis Dronov) [1920086] - crypto: qat - fix potential spectre issue (Vladis Dronov) [1920086] - crypto: qat - configure arbiter mapping based on engines enabled (Vladis Dronov) [1920086] - selftest: netfilter: add test case for unreplied tcp connections (Florian Westphal) [1991523] - netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state (Florian Westphal) [1991523] - net/sched: store the last executed chain also for clsact egress (Davide Caratti) [1980537] - ice: fix Tx queue iteration for Tx timestamp enablement (Ken Cox) [1999743] - perf evsel: Add missing cloning of evsel->use_config_name (Michael Petlan) [1838635] - perf Documentation: Document intel-hybrid support (Michael Petlan) [1838635] - perf tests: Skip 'perf stat metrics (shadow stat) test' for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Convert perf time to TSC' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Session topology' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Parse and process metrics' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Track with sched_switch' test for hybrid (Michael Petlan) [1838635] - perf tests: Skip 'Setup struct perf_event_attr' test for hybrid (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Roundtrip evsel->name' test (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Parse event definition strings' test (Michael Petlan) [1838635] - perf record: Uniquify hybrid event name (Michael Petlan) [1838635] - perf stat: Warn group events from different hybrid PMU (Michael Petlan) [1838635] - perf stat: Filter out unmatched aggregation for hybrid event (Michael Petlan) [1838635] - perf stat: Add default hybrid events (Michael Petlan) [1838635] - perf record: Create two hybrid 'cycles' events by default (Michael Petlan) [1838635] - perf parse-events: Support event inside hybrid pmu (Michael Petlan) [1838635] - perf parse-events: Compare with hybrid pmu name (Michael Petlan) [1838635] - perf parse-events: Create two hybrid raw events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid cache events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid hardware events (Michael Petlan) [1838635] - perf stat: Uniquify hybrid event name (Michael Petlan) [1838635] - perf pmu: Add hybrid helper functions (Michael Petlan) [1838635] - perf pmu: Save detected hybrid pmus to a global pmu list (Michael Petlan) [1838635] - perf pmu: Save pmu name (Michael Petlan) [1838635] - perf pmu: Simplify arguments of __perf_pmu__new_alias (Michael Petlan) [1838635] - perf jevents: Support unit value "cpu_core" and "cpu_atom" (Michael Petlan) [1838635] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1838635]- rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1997500] - mt76: connac: do not schedule mac_work if the device is not running (Íñigo Huguet) [1956419 1972045] - mt7921e: enable module in config (Íñigo Huguet) [1956419 1972045] - Revert tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1999926] - libnvdimm/namespace: Differentiate between probe mapping and runtime mapping (Jeff Moyer) [1795719] - libnvdimm/pfn_dev: Don't clear device memmap area during generic namespace probe (Jeff Moyer) [1795719] - perf/x86/intel/uncore: Clean up error handling path of iio mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix for iio mapping on Skylake Server (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the PCI type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Rename uncore_notifier to uncore_pci_sub_notifier (Michael Petlan) [1837330] - perf/x86/intel/uncore: Generic support for the MSR type of uncore blocks (Michael Petlan) [1837330] - perf/x86/intel/uncore: Parse uncore discovery tables (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Wrap the max dies calculation into an accessor (Michael Petlan) [1837330] - perf/x86/intel/uncore: Expose an Uncore unit to PMON mapping (Michael Petlan) [1837330] - perf/x86/intel/uncore: Validate MMIO address before accessing (Michael Petlan) [1837330] - perf/x86/intel/uncore: Record the size of mapped area (Michael Petlan) [1837330] - perf/x86/intel/uncore: Fix oops when counting IMC uncore events on some TGL (Michael Petlan) [1837330] - crypto: qat - remove unused macro in FW loader (Vladis Dronov) [1920086] - crypto: qat - check return code of qat_hal_rd_rel_reg() (Vladis Dronov) [1920086] - crypto: qat - report an error if MMP file size is too large (Vladis Dronov) [1920086] - crypto: qat - check MMP size before writing to the SRAM (Vladis Dronov) [1920086] - crypto: qat - return error when failing to map FW (Vladis Dronov) [1920086] - crypto: qat - enable detection of accelerators hang (Vladis Dronov) [1920086] - crypto: qat - Fix a double free in adf_create_ring (Vladis Dronov) [1920086] - crypto: qat - fix error path in adf_isr_resource_alloc() (Vladis Dronov) [1920086] - crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init (Vladis Dronov) [1920086] - crypto: qat - don't release uninitialized resources (Vladis Dronov) [1920086] - crypto: qat - fix use of 'dma_map_single' (Vladis Dronov) [1920086] - crypto: qat - fix unmap invalid dma address (Vladis Dronov) [1920086] - crypto: qat - fix spelling mistake: "messge" -> "message" (Vladis Dronov) [1920086] - crypto: qat - reduce size of mapped region (Vladis Dronov) [1920086] - crypto: qat - change format string and cast ring size (Vladis Dronov) [1920086] - crypto: qat - fix potential spectre issue (Vladis Dronov) [1920086] - crypto: qat - configure arbiter mapping based on engines enabled (Vladis Dronov) [1920086]- selftest: netfilter: add test case for unreplied tcp connections (Florian Westphal) [1991523] - netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state (Florian Westphal) [1991523] - net/sched: store the last executed chain also for clsact egress (Davide Caratti) [1980537] - ice: fix Tx queue iteration for Tx timestamp enablement (Ken Cox) [1999743] - perf evsel: Add missing cloning of evsel->use_config_name (Michael Petlan) [1838635] - perf Documentation: Document intel-hybrid support (Michael Petlan) [1838635] - perf tests: Skip 'perf stat metrics (shadow stat) test' for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Convert perf time to TSC' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Session topology' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Parse and process metrics' test for hybrid (Michael Petlan) [1838635] - perf tests: Support 'Track with sched_switch' test for hybrid (Michael Petlan) [1838635] - perf tests: Skip 'Setup struct perf_event_attr' test for hybrid (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Roundtrip evsel->name' test (Michael Petlan) [1838635] - perf tests: Add hybrid cases for 'Parse event definition strings' test (Michael Petlan) [1838635] - perf record: Uniquify hybrid event name (Michael Petlan) [1838635] - perf stat: Warn group events from different hybrid PMU (Michael Petlan) [1838635] - perf stat: Filter out unmatched aggregation for hybrid event (Michael Petlan) [1838635] - perf stat: Add default hybrid events (Michael Petlan) [1838635] - perf record: Create two hybrid 'cycles' events by default (Michael Petlan) [1838635] - perf parse-events: Support event inside hybrid pmu (Michael Petlan) [1838635] - perf parse-events: Compare with hybrid pmu name (Michael Petlan) [1838635] - perf parse-events: Create two hybrid raw events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid cache events (Michael Petlan) [1838635] - perf parse-events: Create two hybrid hardware events (Michael Petlan) [1838635] - perf stat: Uniquify hybrid event name (Michael Petlan) [1838635] - perf pmu: Add hybrid helper functions (Michael Petlan) [1838635] - perf pmu: Save detected hybrid pmus to a global pmu list (Michael Petlan) [1838635] - perf pmu: Save pmu name (Michael Petlan) [1838635] - perf pmu: Simplify arguments of __perf_pmu__new_alias (Michael Petlan) [1838635] - perf jevents: Support unit value "cpu_core" and "cpu_atom" (Michael Petlan) [1838635] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1838635]- mptcp: Only send extra TCP acks in eligible socket states (Paolo Abeni) [1997178] - mptcp: fix possible divide by zero (Paolo Abeni) [1997178] - mptcp: drop tx skb cache (Paolo Abeni) [1997178] - mptcp: fix memory leak on address flush (Paolo Abeni) [1997178] - ice: Only lock to update netdev dev_addr (Michal Schmidt) [1995868] - ice: restart periodic outputs around time changes (Ken Cox) [1992750] - ice: Fix perout start time rounding (Ken Cox) [1992750] - net/sched: ets: fix crash when flipping from 'strict' to 'quantum' (Davide Caratti) [1981184] - ovl: prevent private clone if bind mount is not allowed (Miklos Szeredi) [1993131] {CVE-2021-3732} - gfs2: Don't call dlm after protocol is unmounted (Bob Peterson) [1997193] - gfs2: don't stop reads while withdraw in progress (Bob Peterson) [1997193] - gfs2: Mark journal inodes as "don't cache" (Bob Peterson) [1997193] - bpf: bpftool: Add -fno-asynchronous-unwind-tables to BPF Clang invocation (Yauheni Kaliuta) [1997124] - perf/x86/intel: Apply mid ACK for small core (Michael Petlan) [1838573] - perf/x86/intel/lbr: Zero the xstate buffer on allocation (Michael Petlan) [1838573] - perf: Fix task context PMU for Hetero (Michael Petlan) [1838573] - perf/x86/intel: Fix fixed counter check warning for some Alder Lake (Michael Petlan) [1838573] - perf/x86/lbr: Remove cpuc->lbr_xsave allocation from atomic context (Michael Petlan) [1838573] - x86/fpu/xstate: Fix an xstate size check warning with architectural LBRs (Michael Petlan) [1838573] - perf/x86/rapl: Add support for Intel Alder Lake (Michael Petlan) [1838573] - perf/x86/cstate: Add Alder Lake CPU support (Michael Petlan) [1838573] - perf/x86/msr: Add Alder Lake CPU support (Michael Petlan) [1838573] - perf/x86/intel/uncore: Add Alder Lake support (Michael Petlan) [1838573] - perf: Extend PERF_TYPE_HARDWARE and PERF_TYPE_HW_CACHE (Michael Petlan) [1838573] - perf/x86/intel: Add Alder Lake Hybrid support (Michael Petlan) [1838573] - perf/x86: Support filter_match callback (Michael Petlan) [1838573] - perf/x86/intel: Add attr_update for Hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Add structures for the attributes of Hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Register hybrid PMUs (Michael Petlan) [1838573] - perf/x86: Factor out x86_pmu_show_pmu_cap (Michael Petlan) [1838573] - perf/x86: Remove temporary pmu assignment in event_init (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_extra_regs (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_event_constraints (Michael Petlan) [1838573] - perf/x86/intel: Factor out intel_pmu_check_num_counters (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for extra_regs (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for event constraints (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for hardware cache event (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for unconstrained (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for counters (Michael Petlan) [1838573] - perf/x86: Hybrid PMU support for intel_ctrl (Michael Petlan) [1838573] - perf/x86/intel: Hybrid PMU support for perf capabilities (Michael Petlan) [1838573] - perf/x86: Track pmu in per-CPU cpu_hw_events (Michael Petlan) [1838573] - perf/x86/intel/lbr: Support XSAVES for arch LBR read (Michael Petlan) [1838573] - perf/x86/intel/lbr: Support XSAVES/XRSTORS for LBR context switch (Michael Petlan) [1838573] - x86/fpu/xstate: Add helpers for LBR dynamic supervisor feature (Michael Petlan) [1838573] - x86/fpu/xstate: Support dynamic supervisor feature for LBR (Michael Petlan) [1838573] - x86/fpu: Use proper mask to replace full instruction mask (Michael Petlan) [1838573] - x86/cpu: Add helper function to get the type of the current hybrid CPU (Michael Petlan) [1838573] - x86/cpufeatures: Enumerate Intel Hybrid Technology feature bit (Michael Petlan) [1838573] - HID: make arrays usage and value to be the same (Benjamin Tissoires) [1974942] - ACPI: PM: s2idle: Invert Microsoft UUID entry and exit (David Arcari) [1960440] - platform/x86: amd-pmc: Fix undefined reference to __udivdi3 (David Arcari) [1960440] - platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (David Arcari) [1960440] - platform/x86: amd-pmc: Use return code on suspend (David Arcari) [1960440] - platform/x86: amd-pmc: Add new acpi id for future PMC controllers (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for ACPI ID AMDI0006 (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for logging s0ix counters (David Arcari) [1960440] - platform/x86: amd-pmc: Add support for logging SMU metrics (David Arcari) [1960440] - platform/x86: amd-pmc: call dump registers only once (David Arcari) [1960440] - platform/x86: amd-pmc: Fix SMU firmware reporting mechanism (David Arcari) [1960440] - platform/x86: amd-pmc: Fix command completion code (David Arcari) [1960440] - usb: pci-quirks: disable D3cold on xhci suspend for s2idle on AMD Renoir (David Arcari) [1960440] - ACPI: PM: Only mark EC GPE for wakeup on Intel systems (David Arcari) [1960440] - ACPI: PM: Adjust behavior for field problems on AMD systems (David Arcari) [1960440] - ACPI: PM: s2idle: Add support for new Microsoft UUID (David Arcari) [1960440] - ACPI: PM: s2idle: Add support for multiple func mask (David Arcari) [1960440] - ACPI: PM: s2idle: Refactor common code (David Arcari) [1960440] - ACPI: PM: s2idle: Use correct revision id (David Arcari) [1960440] - ACPI: PM: s2idle: Add missing LPS0 functions for AMD (David Arcari) [1960440] - lockd: Fix invalid lockowner cast after vfs_test_lock (Benjamin Coddington) [1986138]- blk-mq: fix is_flush_rq (Ming Lei) [1992700] - blk-mq: fix kernel panic during iterating over flush request (Ming Lei) [1992700]- smb2: fix use-after-free in smb2_ioctl_query_info() (Ronnie Sahlberg) [1952781] - dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc() (Mike Snitzer) [1996854] - md/raid10: Remove rcu_dereference when it doesn't need rcu lock to protect (Nigel Croxon) [1978115] - scsi: csiostor: Mark known unused variable as __always_unused (Raju Rangoju) [1961333] - scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() (Raju Rangoju) [1961333] - scsi: csiostor: Remove set but not used variable 'rln' (Raju Rangoju) [1961333] - scsi: csiostor: Return value not required for csio_dfs_destroy (Raju Rangoju) [1961333] - scsi: csiostor: Fix NULL check before debugfs_remove_recursive (Raju Rangoju) [1961333] - scsi: csiostor: Don't enable IRQs too early (Raju Rangoju) [1961333] - scsi: csiostor: Fix spelling typos (Raju Rangoju) [1961333] - scsi: csiostor: Prefer pcie_capability_read_word() (Raju Rangoju) [1961333] - scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd() (Raju Rangoju) [1961394] - net: Use skb_frag_off accessors (Raju Rangoju) [1961394] - net: Use skb accessors in network drivers (Raju Rangoju) [1961394] - cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds (Raju Rangoju) [1961394] - scsi: libcxgbi: Fix a use after free in cxgbi_conn_xmit_pdu() (Raju Rangoju) [1961394] - scsi: libcxgbi: Use kvzalloc instead of opencoded kzalloc/vzalloc (Raju Rangoju) [1961394] - scsi: libcxgbi: Remove unnecessary NULL checks for 'tdata' pointer (Raju Rangoju) [1961394] - scsi: cxgb4i: Remove an unnecessary NULL check for 'cconn' pointer (Raju Rangoju) [1961394] - scsi: cxgb4i: Clean up a debug printk (Raju Rangoju) [1961394] - scsi: cxgb4i: Fix dereference of pointer tdata before it is null checked (Raju Rangoju) [1961394] - scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy() (Raju Rangoju) [1961394] - scsi: libcxgbi: remove unused function to stop warning (Raju Rangoju) [1961394] - scsi: libcxgbi: add a check for NULL pointer in cxgbi_check_route() (Raju Rangoju) [1961394] - net/chelsio: Delete drive and module versions (Raju Rangoju) [1961394] - chelsio: Replace zero-length array with flexible-array member (Raju Rangoju) [1961394] - [netdrv] treewide: prefix header search paths with $(srctree)/ (Raju Rangoju) [1961394] - libcxgb: fix incorrect ppmax calculation (Raju Rangoju) [1961394] - scsi: cxgb4i: Fix TLS dependency (Raju Rangoju) [1961394] - [target] treewide: Use fallthrough pseudo-keyword (Raju Rangoju) [1961394] - scsi: cxgb4i: Add support for iSCSI segmentation offload (Raju Rangoju) [1961394] - [target] treewide: Use sizeof_field() macro (Raju Rangoju) [1961394] - [target] treewide: replace '---help---' in Kconfig files with 'help' (Raju Rangoju) [1961394] - scsi: cxgb4i: Remove superfluous null check (Raju Rangoju) [1961394]- KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653) (Jon Maloy) [1985413] {CVE-2021-3653} - KVM: nSVM: always intercept VMLOAD/VMSAVE when nested (CVE-2021-3656) (Jon Maloy) [1985430] {CVE-2021-3656} - drm/i915/rkl: Remove require_force_probe protection (Lyude Paul) [1985159] - drm/i915/display: support ddr5 mem types (Lyude Paul) [1992233] - drm/i915/adl_s: Update ddi buf translation tables (Lyude Paul) [1992233] - drm/i915/adl_s: Wa_14011765242 is also needed on A1 display stepping (Lyude Paul) [1992233] - drm/i915/adl_s: Extend Wa_1406941453 (Lyude Paul) [1992233] - drm/i915: Implement Wa_1508744258 (Lyude Paul) [1992233] - drm/i915/adl_s: Fix dma_mask_size to 39 bit (Lyude Paul) [1992233] - drm/i915: Add the missing adls vswing tables (Lyude Paul) [1992233] - drm/i915: Add Wa_14011060649 (Lyude Paul) [1992233] - drm/i915/adl_s: Add Interrupt Support (Lyude Paul) [1992233] - drm/amdgpu: add another Renoir DID (Lyude Paul) [1980900]- net/mlx5: Fix flow table chaining (Amir Tzin) [1987139] - openvswitch: fix sparse warning incorrect type (Mark Gray) [1992773] - openvswitch: fix alignment issues (Mark Gray) [1992773] - openvswitch: update kdoc OVS_DP_ATTR_PER_CPU_PIDS (Mark Gray) [1992773] - openvswitch: Introduce per-cpu upcall dispatch (Mark Gray) [1992773] - KVM: X86: Expose bus lock debug exception to guest (Paul Lai) [1842322] - KVM: X86: Add support for the emulation of DR6_BUS_LOCK bit (Paul Lai) [1842322] - scsi: libfc: Fix array index out of bound exception (Chris Leech) [1972643] - scsi: libfc: FDMI enhancements (Chris Leech) [1972643] - scsi: libfc: Add FDMI-2 attributes (Chris Leech) [1972643] - scsi: qedf: Add vendor identifier attribute (Chris Leech) [1972643] - scsi: libfc: Initialisation of RHBA and RPA attributes (Chris Leech) [1972643] - scsi: libfc: Correct the condition check and invalid argument passed (Chris Leech) [1972643] - scsi: libfc: Work around -Warray-bounds warning (Chris Leech) [1972643] - scsi: fc: FDMI enhancement (Chris Leech) [1972643] - scsi: libfc: Move scsi/fc_encode.h to libfc (Chris Leech) [1972643] - scsi: fc: Correct RHBA attributes length (Chris Leech) [1972643] - block: return ELEVATOR_DISCARD_MERGE if possible (Ming Lei) [1991976] - x86/fpu: Prevent state corruption in __fpu__restore_sig() (Terry Bowman) [1970086] - x86/fpu: Invalidate FPU state after a failed XRSTOR from a user buffer (Terry Bowman) [1970086] - x86/pkru: Write hardware init value to PKRU when xstate is init (Terry Bowman) [1970086] - x86/process: Check PF_KTHREAD and not current->mm for kernel threads (Terry Bowman) [1970086] - x86/fpu: Add address range checks to copy_user_to_xstate() (Terry Bowman) [1970086] - selftests/x86: Test signal frame XSTATE header corruption handling (Terry Bowman) [1970086] - Bump DRM backport version to 5.12.14 (Lyude Paul) [1944405] - drm/i915: Use the correct max source link rate for MST (Lyude Paul) [1944405 1966599] - drm/dp_mst: Use Extended Base Receiver Capability DPCD space (Lyude Paul) [1944405 1966599] - drm/i915/display: Defeature PSR2 for RKL and ADL-S (Lyude Paul) [1944405] - drm/i915/adl_s: ADL-S platform Update PCI ids for Mobile BGA (Lyude Paul) [1944405] - drm/amdgpu: wait for moving fence after pinning (Lyude Paul) [1944405] - drm/radeon: wait for moving fence after pinning (Lyude Paul) [1944405] - drm/nouveau: wait for moving fence after pinning v2 (Lyude Paul) [1944405] - radeon: use memcpy_to/fromio for UVD fw upload (Lyude Paul) [1944405] - drm/amd/amdgpu:save psp ring wptr to avoid attack (Lyude Paul) [1944405] - drm/amd/display: Fix potential memory leak in DMUB hw_init (Lyude Paul) [1944405] - drm/amdgpu: refine amdgpu_fru_get_product_info (Lyude Paul) [1944405] - drm/amd/display: Allow bandwidth validation for 0 streams. (Lyude Paul) [1944405] - drm: Lock pointer access in drm_master_release() (Lyude Paul) [1944405] - drm: Fix use-after-free read in drm_getunique() (Lyude Paul) [1944405] - drm/amdgpu: make sure we unpin the UVD BO (Lyude Paul) [1944405] - drm/amdgpu: Don't query CE and UE errors (Lyude Paul) [1944405] - drm/amdgpu/jpeg3: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/jpeg2.5: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn3: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - amdgpu: fix GEM obj leak in amdgpu_display_user_framebuffer_create (Lyude Paul) [1944405] - drm/i915/selftests: Fix return value check in live_breadcrumbs_smoketest() (Lyude Paul) [1944405] - drm/amdgpu: stop touching sched.ready in the backend (Lyude Paul) [1944405] - drm/amd/amdgpu: fix a potential deadlock in gpu reset (Lyude Paul) [1944405] - drm/amdgpu: Fix a use-after-free (Lyude Paul) [1944405] - drm/amd/amdgpu: fix refcount leak (Lyude Paul) [1944405] - drm/amd/display: Disconnect non-DP with no EDID (Lyude Paul) [1944405] - drm/amdgpu/jpeg2.0: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn2.5: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdgpu/vcn2.0: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amdkfd: correct sienna_cichlid SDMA RLC register offset error (Lyude Paul) [1944405] - drm/amdgpu/vcn1: add cancel_delayed_work_sync before power gate (Lyude Paul) [1944405] - drm/amd/pm: correct MGpuFanBoost setting (Lyude Paul) [1944405] - drm/i915: Reenable LTTPR non-transparent LT mode for DPCD_REV<1.4 (Lyude Paul) [1944405] - drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7 (Lyude Paul) [1944405] - dma-buf: fix unintended pin/unpin warnings (Lyude Paul) [1944405] - drm/amdgpu: update sdma golden setting for Navi12 (Lyude Paul) [1944405] - drm/amdgpu: update gc golden setting for Navi12 (Lyude Paul) [1944405] - drm/amdgpu: disable 3DCGCG on picasso/raven1 to avoid compute hang (Lyude Paul) [1944405] - drm/amdgpu: Fix GPU TLB update error when PAGE_SIZE > AMDGPU_PAGE_SIZE (Lyude Paul) [1944405] - drm/radeon: use the dummy page for GART if needed (Lyude Paul) [1944405] - drm/amd/display: Use the correct max downscaling value for DCN3.x family (Lyude Paul) [1944405] - drm/i915/gem: Pin the L-shape quirked object as unshrinkable (Lyude Paul) [1944405] - drm/ttm: Do not add non-system domain BO into swap list (Lyude Paul) [1944405] - drm/amd/display: Fix two cursor duplication when using overlay (Lyude Paul) [1944405] - amdgpu/pm: Prevent force of DCEFCLK on NAVI10 and SIENNA_CICHLID (Lyude Paul) [1944405] - drm/i915/display: fix compiler warning about array overrun (Lyude Paul) [1944405] - drm/i915: Fix crash in auto_retire (Lyude Paul) [1944405] - drm/i915/overlay: Fix active retire callback alignment (Lyude Paul) [1944405] - drm/i915: Read C0DRB3/C1DRB3 as 16 bits again (Lyude Paul) [1944405] - drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp (Lyude Paul) [1944405] - drm/i915/dp: Use slow and wide link training for everything (Lyude Paul) [1944405] - drm/i915: Avoid div-by-zero on gen2 (Lyude Paul) [1944405] - drm/amd/display: Initialize attribute for hdcp_srm sysfs file (Lyude Paul) [1944405] - drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected (Lyude Paul) [1944405] - drm/radeon: Avoid power table parsing memory leaks (Lyude Paul) [1944405] - drm/radeon: Fix off-by-one power_state index heap overwrite (Lyude Paul) [1944405] - drm/amdgpu: Add mem sync flag for IB allocated by SA (Lyude Paul) [1944405] - drm/amd/display: add handling for hdcp2 rx id list validation (Lyude Paul) [1944405] - drm/amd/display: fixed divide by zero kernel crash during dsc enablement (Lyude Paul) [1944405] - drm/amd/display: Force vsync flip when reconfiguring MPCC (Lyude Paul) [1944405] - arm64: enable tlbi range instructions (Jeremy Linton) [1861872] - arm64: tlb: Use the TLBI RANGE feature in arm64 (Jeremy Linton) [1861872] - arm64: tlb: Detect the ARMv8.4 TLBI RANGE feature (Jeremy Linton) [1861872] - arm64/cpufeature: Add remaining feature bits in ID_AA64ISAR0 register (Jeremy Linton) [1861872] - arm64: tlbflush: Ensure start/end of address range are aligned to stride (Jeremy Linton) [1861872] - arm64: Detect the ARMv8.4 TTL feature (Jeremy Linton) [1861872] - arm64: tlbi: Set MAX_TLBI_OPS to PTRS_PER_PTE (Jeremy Linton) [1861872]- bpf: Fix integer overflow involving bucket_size (Jiri Olsa) [1992588] - bpf: Fix leakage due to insufficient speculative store bypass mitigation (Jiri Olsa) [1992588] - bpf: Introduce BPF nospec instruction for mitigating Spectre v4 (Jiri Olsa) [1992588] - bpf: Fix OOB read when printing XDP link fdinfo (Jiri Olsa) [1992588] - bpf, test: fix NULL pointer dereference on invalid expected_attach_type (Jiri Olsa) [1992588] - bpf: Fix tail_call_reachable rejection for interpreter when jit failed (Jiri Olsa) [1992588] - bpf: Track subprog poke descriptors correctly and fix use-after-free (Jiri Olsa) [1992588] - bpf: Fix null ptr deref with mixed tail calls and subprogs (Jiri Olsa) [1992588] - bpf: Fix leakage under speculation on mispredicted branches (Jiri Olsa) [1992588] - bpf: Set mac_len in bpf_skb_change_head (Jiri Olsa) [1992588] - bpf: Prevent writable memory-mapping of read-only ringbuf pages (Jiri Olsa) [1992588] - bpf: Fix alu32 const subreg bound tracking on bitwise operations (Jiri Olsa) [1992588] - xsk: Fix broken Tx ring validation (Jiri Olsa) [1992588] - xsk: Fix for xp_aligned_validate_desc() when len == chunk_size (Jiri Olsa) [1992588] - bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET (Jiri Olsa) [1992588] - bpf: Refcount task stack in bpf_get_task_stack (Jiri Olsa) [1992588] - bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG (Jiri Olsa) [1992588] - selftest/bpf: Add a test to check trampoline freeing logic. (Jiri Olsa) [1992588] - bpf: Fix fexit trampoline. (Jiri Olsa) [1992588] - ftrace: Fix modify_ftrace_direct. (Jiri Olsa) [1992588] - ftrace: Add a helper function to modify_ftrace_direct() to allow arch optimization (Jiri Olsa) [1992588] - ftrace: Add helper find_direct_entry() to consolidate code (Jiri Olsa) [1992588] - bpf: Fix truncation handling for mod32 dst reg wrt zero (Jiri Olsa) [1992588] - bpf: Fix an unitialized value in bpf_iter (Jiri Olsa) [1992588] - bpf_lru_list: Read double-checked variable once without lock (Jiri Olsa) [1992588] - mt76: validate rx A-MSDU subframes (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - ath11k: Drop multicast fragments (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath11k: Clear the fragment cache during key install (Íñigo Huguet) [1991459] {CVE-2020-24587} - ath10k: Validate first subframe of A-MSDU before processing the list (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - ath10k: Fix TKIP Michael MIC verification for PCIe (Íñigo Huguet) [1991459] {CVE-2020-26141} - ath10k: drop MPDU which has discard flag set by firmware for SDIO (Íñigo Huguet) [1991459] {CVE-2020-24588} - ath10k: drop fragments with multicast DA for SDIO (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath10k: drop fragments with multicast DA for PCIe (Íñigo Huguet) [1991459] {CVE-2020-26145} - ath10k: add CCMP PN replay protection for fragmented frames for PCIe (Íñigo Huguet) [1991459] - mac80211: extend protection against mixed key and fragment cache attacks (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: do not accept/forward invalid EAPOL frames (Íñigo Huguet) [1991459] {CVE-2020-26139} - mac80211: prevent attacks on TKIP/WEP as well (Íñigo Huguet) [1991459] {CVE-2020-26141} - mac80211: check defrag PN against current frame (Íñigo Huguet) [1991459] - mac80211: add fragment cache to sta_info (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: drop A-MSDUs on old ciphers (Íñigo Huguet) [1991459] {CVE-2020-24588} - cfg80211: mitigate A-MSDU aggregation attacks (Íñigo Huguet) [1991459] {CVE-2020-24588 CVE-2020-26144} - mac80211: properly handle A-MSDUs that start with an RFC 1042 header (Íñigo Huguet) [1991459] - mac80211: prevent mixed key and fragment cache attacks (Íñigo Huguet) [1991459] {CVE-2020-24586 CVE-2020-24587} - mac80211: assure all fragments are encrypted (Íñigo Huguet) [1991459] {CVE-2020-26147} - tipc: call tipc_wait_for_connect only when dlen is not 0 (Xin Long) [1989361] - mptcp: remove tech preview warning (Florian Westphal) [1985120] - tcp: consistently disable header prediction for mptcp (Florian Westphal) [1985120] - selftests: mptcp: fix case multiple subflows limited by server (Florian Westphal) [1985120] - selftests: mptcp: turn rp_filter off on each NIC (Florian Westphal) [1985120] - selftests: mptcp: display proper reason to abort tests (Florian Westphal) [1985120] - mptcp: properly account bulk freed memory (Florian Westphal) [1985120] - mptcp: fix 'masking a bool' warning (Florian Westphal) [1985120] - mptcp: refine mptcp_cleanup_rbuf (Florian Westphal) [1985120] - mptcp: use fast lock for subflows when possible (Florian Westphal) [1985120] - mptcp: avoid processing packet if a subflow reset (Florian Westphal) [1985120] - mptcp: add sk parameter for mptcp_get_options (Florian Westphal) [1985120] - mptcp: fix syncookie process if mptcp can not_accept new subflow (Florian Westphal) [1985120] - mptcp: fix warning in __skb_flow_dissect() when do syn cookie for subflow join (Florian Westphal) [1985120] - mptcp: avoid race on msk state changes (Florian Westphal) [1985120] - mptcp: fix 32 bit DSN expansion (Florian Westphal) [1985120] - mptcp: fix bad handling of 32 bit ack wrap-around (Florian Westphal) [1985120] - tcp: parse mptcp options contained in reset packets (Florian Westphal) [1985120] - ionic: count csum_none when offload enabled (Jonathan Toppins) [1991646] - ionic: fix up dim accounting for tx and rx (Jonathan Toppins) [1991646] - ionic: remove intr coalesce update from napi (Jonathan Toppins) [1991646] - ionic: catch no ptp support earlier (Jonathan Toppins) [1991646] - ionic: make all rx_mode work threadsafe (Jonathan Toppins) [1991646] - dmaengine: idxd: Fix missing error code in idxd_cdev_open() (Jerry Snitselaar) [1990637] - dmaengine: idxd: add missing dsa driver unregister (Jerry Snitselaar) [1990637] - dmaengine: idxd: add engine 'struct device' missing bus type assignment (Jerry Snitselaar) [1990637] - dmaengine: idxd: remove MSIX masking for interrupt handlers (Jerry Snitselaar) [1990637] - dmaengine: idxd: Use cpu_feature_enabled() (Jerry Snitselaar) [1990637] - dmaengine: idxd: enable SVA feature for IOMMU (Jerry Snitselaar) [1990637] - dmagenine: idxd: Don't add portal offset in idxd_submit_desc (Jerry Snitselaar) [1990637] - ethtool: strset: fix message length calculation (Balazs Nemeth) [1989003] - net: add strict checks in netdev_name_node_alt_destroy() (Andrea Claudi) [1859038] - net: rtnetlink: fix bugs in rtnl_alt_ifname() (Andrea Claudi) [1859038] - net: rtnetlink: add linkprop commands to add and delete alternative ifnames (Andrea Claudi) [1859038] - net: check all name nodes in __dev_alloc_name (Andrea Claudi) [1859038] - net: fix a leak in register_netdevice() (Andrea Claudi) [1859038] - tun: fix memory leak in error path (Andrea Claudi) [1859038] - net: propagate errors correctly in register_netdevice() (Andrea Claudi) [1859038] - net: introduce name_node struct to be used in hashlist (Andrea Claudi) [1859038] - net: procfs: use index hashlist instead of name hashlist (Andrea Claudi) [1859038] - configs: Enable CONFIG_CHELSIO_INLINE_CRYPTO (Raju Rangoju) [1961368] - cxgb4/ch_ktls: Clear resources when pf4 device is removed (Raju Rangoju) [1961374] - ch_ktls: Remove redundant variable result (Raju Rangoju) [1961374] - ch_ktls: do not send snd_una update to TCB in middle (Raju Rangoju) [1961374] - ch_ktls: tcb close causes tls connection failure (Raju Rangoju) [1961374] - ch_ktls: fix device connection close (Raju Rangoju) [1961374] - ch_ktls: Fix kernel panic (Raju Rangoju) [1961374] - ch_ktls: fix enum-conversion warning (Raju Rangoju) [1961374] - net: ethernet: chelsio: inline_crypto: Mundane typos fixed throughout the file chcr_ktls.c (Raju Rangoju) [1961374] - ch_ipsec: Remove initialization of rxq related data (Raju Rangoju) [1961388] - ch_ktls: fix build warning for ipv4-only config (Raju Rangoju) [1961374] - ch_ktls: lock is not freed (Raju Rangoju) [1961374] - ch_ktls: stop the txq if reaches threshold (Raju Rangoju) [1961374] - ch_ktls: tcb update fails sometimes (Raju Rangoju) [1961374] - ch_ktls/cxgb4: handle partial tag alone SKBs (Raju Rangoju) [1961374] - ch_ktls: don't free skb before sending FIN (Raju Rangoju) [1961374] - ch_ktls: packet handling prior to start marker (Raju Rangoju) [1961374] - ch_ktls: Correction in middle record handling (Raju Rangoju) [1961374] - ch_ktls: missing handling of header alone (Raju Rangoju) [1961374] - ch_ktls: Correction in trimmed_len calculation (Raju Rangoju) [1961374] - cxgb4/ch_ktls: creating skbs causes panic (Raju Rangoju) [1961374] - ch_ktls: Update cheksum information (Raju Rangoju) [1961374] - ch_ktls: Correction in finding correct length (Raju Rangoju) [1961374] - cxgb4/ch_ktls: decrypted bit is not enough (Raju Rangoju) [1961374] - cxgb4/ch_ipsec: Replace the module name to ch_ipsec from chcr (Raju Rangoju) [1961388] - cxgb4/ch_ktls: ktls stats are added at port level (Raju Rangoju) [1961374] - ch_ktls: Issue if connection offload fails (Raju Rangoju) [1961374] - chelsio/chtls: Re-add dependencies on CHELSIO_T4 to fix modular CHELSIO_T4 (Raju Rangoju) [1961388] - chelsio/chtls: CHELSIO_INLINE_CRYPTO should depend on CHELSIO_T4 (Raju Rangoju) [1961388] - crypto: chelsio - fix minor indentation issue (Raju Rangoju) [1961368] - crypto/chcr: move nic TLS functionality to drivers/net (Raju Rangoju) [1961368] - cxgb4/ch_ipsec: Registering xfrmdev_ops with cxgb4 (Raju Rangoju) [1961388] - crypto/chcr: Moving chelsio's inline ipsec functionality to /drivers/net (Raju Rangoju) [1961368] - chelsio/chtls: separate chelsio tls driver from crypto driver (Raju Rangoju) [1961368] - crypto: chelsio - Fix some pr_xxx messages (Raju Rangoju) [1961368] - crypto: chelsio - Avoid some code duplication (Raju Rangoju) [1961368] - crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Raju Rangoju) [1961368] - crypto: aead - remove useless setting of type flags (Raju Rangoju) [1961368] - crypto: Replace zero-length array with flexible-array (Raju Rangoju) [1961368] - [Crypto] treewide: replace '---help---' in Kconfig files with 'help' (Raju Rangoju) [1961368] - Crypto/chcr: Checking cra_refcnt before unregistering the algorithms (Raju Rangoju) [1961368] - Crypto/chcr: Calculate src and dst sg lengths separately for dma map (Raju Rangoju) [1961368] - Crypto/chcr: Fixes a coccinile check error (Raju Rangoju) [1961368] - Crypto/chcr: Fixes compilations warnings (Raju Rangoju) [1961368] - crypto/chcr: IPV6 code needs to be in CONFIG_IPV6 (Raju Rangoju) [1961368] - crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h (Raju Rangoju) [1961368] - Crypto/chcr: fix for hmac(sha) test fails (Raju Rangoju) [1961368] - Crypto/chcr: fix for ccm(aes) failed test (Raju Rangoju) [1961368] - Crypto/chcr: fix ctr, cbc, xts and rfc3686-ctr failed tests (Raju Rangoju) [1961368] - crypto: chelsio - remove redundant assignment to variable error (Raju Rangoju) [1961368] - chcr: Fix CPU hard lockup (Raju Rangoju) [1961368] - crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Raju Rangoju) [1961368] - crypto: chelsio - switch to skcipher API (Raju Rangoju) [1961368] - crypto: chelsio - Remove VLA usage of skcipher (Raju Rangoju) [1961368]- tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop. (Chris von Recklinghausen) [1989485] {CVE-2021-3679} - vmlinux.lds.h: Keep .ctors.* with .ctors (Jan Stancek) [1993208] - spi: pxa2xx: Add support for Intel Alder Lake PCH-P (Steve Best) [1978463] - bnxt_en: allow promiscuous mode for trusted VFs (Jonathan Toppins) [1730616] - arm64: memory: Add missing brackets to untagged_addr() macro (Chris von Recklinghausen) [1955809] - arm64: tags: Preserve tags for addresses translated via TTBR1 (Chris von Recklinghausen) [1955809] - arm64: entry: Move ct_user_exit before any other exception (Chris von Recklinghausen) [1955809] - arm64: memory: Implement __tag_set() as common function (Chris von Recklinghausen) [1955809] - arm64: mm: Really fix sparse warning in untagged_addr() (Chris von Recklinghausen) [1955809] - arm64: untag user pointers in access_ok and __uaccess_mask_ptr (Chris von Recklinghausen) [1955809] - arm64/mm: fix variable 'tag' set but not used (Chris von Recklinghausen) [1955809] - arm64: entry: SP Alignment Fault doesn't write to FAR_EL1 (Chris von Recklinghausen) [1955809] - arm64: compat: Add separate CP15 trapping hook (Chris von Recklinghausen) [1955809] - arm64: don't restore GPRs when context tracking (Chris von Recklinghausen) [1955809]- bareudp: Fix invalid read beyond skb's linear data (Guillaume Nault) [1990938] - perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit inside the guest (Michael Petlan) [1990695] - net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands (Balazs Nemeth) [1956825] - net: dcb: Validate netlink message in DCB handler (Balazs Nemeth) [1956825] - xfrm: Fix RCU vs hash_resize_mutex lock inversion (Sabrina Dubroca) [1988405] - Revert "xfrm: policy: Read seqcount outside of rcu-read side in xfrm_policy_lookup_bytype" (Sabrina Dubroca) [1988405] - xfrm: policy: Read seqcount outside of rcu-read side in xfrm_policy_lookup_bytype (Sabrina Dubroca) [1988405] - [s390] s390/AP: support new dynamic AP bus size limit (Claudio Imbrenda) [1974581] - net: sched: act_mirred: Reset ct info when mirror/redirect skb (Hangbin Liu) [1980532] - ucounts: Move max_time_namespace according to ucount_type (Alex Gladkov) [1982954] - perf vendor events power10: Adds 24x7 nest metric events for power10 platform (Diego Domingos) [1946650] - perf/core: fix backport of PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - perf/core: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Diego Domingos) [1946650] - perf vendor events powerpc: Fix eventcode of power10 JSON events (Diego Domingos) [1946650] - perf vendor events: Initial JSON/events list for power10 platform (Diego Domingos) [1946650] - powerpc/perf: Fix sampled instruction type for larx/stcx (Diego Domingos) [1946650] - powerpc/perf: Fix the threshold event selection for memory events in power10 (Diego Domingos) [1946650] - perf sort: Display sort dimension p_stage_cyc only on supported archs (Diego Domingos) [1946650] - perf tools: Support pipeline stage cycles for powerpc (Diego Domingos) [1946650] - perf powerpc: Add support for PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - perf sort: Add dynamic headers for perf report columns (Diego Domingos) [1946650] - powerpc/perf: Expose processor pipeline stage cycles using PERF_SAMPLE_WEIGHT_STRUCT (Diego Domingos) [1946650] - Documentation/admin-guide: kernel-parameters: fix "disable_ddw" wording (Diego Domingos) [1946650] - powerpc/perf: Support PERF_SAMPLE_DATA_PAGE_SIZE (Diego Domingos) [1946650] - perf/core: Add PERF_SAMPLE_DATA_PAGE_SIZE (Diego Domingos) [1946650] - powerpc/perf: Infrastructure to support checking of attr.config* (Diego Domingos) [1946650] - powerpc/perf: Add platform specific check_attr_config (Diego Domingos) [1946650] - ice: add support for auxiliary input/output pins (Jonathan Toppins) [1956913] - ice: enable transmit timestamps for E810 devices (Jonathan Toppins) [1944818] - ice: enable receive hardware timestamping (Jonathan Toppins) [1944818] - ice: report the PTP clock index in ethtool .get_ts_info (Jonathan Toppins) [1944818] - ice: register 1588 PTP clock device object for E810 devices (Jonathan Toppins) [1944818] - ice: add low level PTP clock access functions (Jonathan Toppins) [1944818] - ice: add support for set/get of driver-stored firmware parameters (Jonathan Toppins) [1944818] - ice: process 1588 PTP capabilities during initialization (Jonathan Toppins) [1944818] - ice: add support for sideband messages (Jonathan Toppins) [1944818]- bnxt_en: Fix static checker warning in bnxt_fw_reset_task() (Jonathan Toppins) [1989274] - bnxt_en: Check abort error state in bnxt_half_open_nic() (Jonathan Toppins) [1989274] - bnxt_en: fix error path of FW reset (Jonathan Toppins) [1989274] - bnxt_en: Add missing check for BNXT_STATE_ABORT_ERR in bnxt_fw_rset_task() (Jonathan Toppins) [1989274] - bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe() (Jonathan Toppins) [1989274] - bnxt_en: reject ETS settings that will starve a TC (Jonathan Toppins) [1989274] - bnxt_en: don't disable an already disabled PCI device (Jonathan Toppins) [1989274] - bnxt_en: Remove the read of BNXT_FW_RESET_INPROG_REG after firmware reset. (Jonathan Toppins) [1989274] - i40e: Fix log TC creation failure when max num of queues is exceeded (Stefan Assmann) [1920274] - i40e: Fix queue-to-TC mapping on Tx (Stefan Assmann) [1920274] - i40e: Add additional info to PHY type error (Stefan Assmann) [1920274] - i40e: Fix firmware LLDP agent related warning (Stefan Assmann) [1920274] - i40e: Fix logic of disabling queues (Stefan Assmann) [1920274] - i40e: add support for PTP external synchronization clock (Stefan Assmann) [1920274] - i40e: improve locking of mac_filter_hash (Stefan Assmann) [1920274] - i40e: Fix missing rtnl locking when setting up pf switch (Stefan Assmann) [1920274] - i40e: fix PTP on 5Gb links (Stefan Assmann) [1920274] - i40e: Fix autoneg disabling for non-10GBaseT links (Stefan Assmann) [1920274] - i40e: Fix error handling in i40e_vsi_open (Stefan Assmann) [1920274] - intel: Remove rcu_read_lock() around XDP program invocation (Stefan Assmann) [1920274] - i40e: clean up packet type lookup table (Stefan Assmann) [1920274] - i40e: add correct exception tracing for XDP (Stefan Assmann) [1920274] - i40e: Remove LLDP frame filters (Stefan Assmann) [1920274] - i40e: Fix PHY type identifiers for 2.5G and 5G adapters (Stefan Assmann) [1920274] - i40e: Fix use-after-free in i40e_client_subtask() (Stefan Assmann) [1920274] - i40e: fix broken XDP support (Stefan Assmann) [1920274] - i40e: refactor repeated link state reporting code (Stefan Assmann) [1920274] - i40e: optimize for XDP_REDIRECT in xsk path (Stefan Assmann) [1920274] - i40e: fix the panic when running bpf in xdpdrv mode (Stefan Assmann) [1920274] - i40e: Fix sparse warning: missing error code 'err' (Stefan Assmann) [1920274] - i40e: Fix sparse error: 'vsi->netdev' could be null (Stefan Assmann) [1920274] - i40e: Fix sparse error: uninitialized symbol 'ring' (Stefan Assmann) [1920274] - i40e: Fix sparse errors in i40e_txrx.c (Stefan Assmann) [1920274] - i40e: Fix display statistics for veb_tc (Stefan Assmann) [1920274] - i40e: fix receiving of single packets in xsk zero-copy mode (Stefan Assmann) [1920274] - i40e: Fix inconsistent indenting (Stefan Assmann) [1920274] - i40e: Fix oops at i40e_rebuild() (Stefan Assmann) [1920274] - i40e: Fix kernel oops when i40e driver removes VF's (Stefan Assmann) [1920274] - i40e: Added Asym_Pause to supported link modes (Stefan Assmann) [1920274] - net: i40e: remove repeated words (Stefan Assmann) [1920274] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Stefan Assmann) [1920274] - intel: clean up mismatched header comments (Stefan Assmann) [1920274] - intel: Update drivers to use ethtool_sprintf (Stefan Assmann) [1920274] - i40e: move headroom initialization to i40e_configure_rx_ring (Stefan Assmann) [1920274] - i40e: Fix endianness conversions (Stefan Assmann) [1920274] - i40e: Fix add TC filter for IPv6 (Stefan Assmann) [1920274] - i40e: Fix addition of RX filters after enabling FW LLDP agent (Stefan Assmann) [1920274] - i40e: Fix overwriting flow control settings during driver loading (Stefan Assmann) [1920274] - i40e: Add zero-initialization of AQ command structures (Stefan Assmann) [1920274] - i40e: Fix memory leak in i40e_probe (Stefan Assmann) [1920274] - i40e: Fix flow for IPv6 next header (extension header) (Stefan Assmann) [1920274] - i40e: Fix incorrect argument in call to ipv6_addr_any() (Stefan Assmann) [1920274] - i40e: store the result of i40e_rx_offset() onto i40e_ring (Stefan Assmann) [1920274] - i40e: Simplify the do-while allocation loop (Stefan Assmann) [1920274] - i40e: adjust i40e_is_non_eop (Stefan Assmann) [1920274] - i40e: drop misleading function comments (Stefan Assmann) [1920274] - i40e: drop redundant check when setting xdp prog (Stefan Assmann) [1920274] - i40e: remove the useless value assignment in i40e_clean_adminq_subtask (Stefan Assmann) [1920274] - i40e: VLAN field for flow director (Stefan Assmann) [1920274] - i40e: Add flow director support for IPv6 (Stefan Assmann) [1920274] - i40e: Add EEE status getting & setting implementation (Stefan Assmann) [1920274] - i40e: Fix uninitialized variable mfs_max (Stefan Assmann) [1920274] - i40e: Add netlink callbacks support for software based DCB (Stefan Assmann) [1920274] - i40e: Add init and default config of software based DCB (Stefan Assmann) [1920274] - i40e: Add hardware configuration for software based DCB (Stefan Assmann) [1920274] - i40e: Log error for oversized MTU on device (Stefan Assmann) [1920274] - i40e: consolidate handling of XDP program actions (Stefan Assmann) [1920274] - i40e: remove the redundant buffer info updates (Stefan Assmann) [1920274] - i40e: remove unnecessary cleaned_count updates (Stefan Assmann) [1920274] - i40e: remove unnecessary memory writes of the next to clean pointer (Stefan Assmann) [1920274] - i40e: Use batched xsk Tx interfaces to increase performance (Stefan Assmann) [1920274] - i40e: convert to new udp_tunnel infrastructure (Stefan Assmann) [1920274] - netfilter: nf_tables: skip module reference count bump on object updates (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: fix unexpected EOPNOTSUPP error (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: Fix an Oops in nf_tables_updobj() error handling (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: fix possible null-pointer dereference in object update (Fernando Fernandez Mancera) [1944487] - netfilter: nft_quota: add quota object update support (Fernando Fernandez Mancera) [1944487] - netfilter: nf_tables: Introduce stateful object update operation (Fernando Fernandez Mancera) [1944487] - cifs: retry lookup and readdir when EAGAIN is returned. (Ronnie Sahlberg) [1972411] - netfilter: nf_tables: Fix dereference of null pointer flow (Florian Westphal) [1985087] - netfilter: nf_tables: memleak in hw offload abort path (Florian Westphal) [1985087] - netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols (Florian Westphal) [1985087] - netfilter: synproxy: Fix out of bounds when parsing TCP options (Florian Westphal) [1985087] - netfilter: nfnetlink_cthelper: hit EBUSY on updates if size mismatches (Florian Westphal) [1985087] - ipvs: ignore IP_VS_SVC_F_HASHED flag when adding service (Florian Westphal) [1985087] - netfilter: nftables: avoid overflows in nft_hash_buckets() (Florian Westphal) [1985087] - netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check (Florian Westphal) [1985087] - netfilter: nf_tables_offload: check FLOW_DISSECTOR_KEY_BASIC in VLAN transfer logic (Florian Westphal) [1985087] - netfilter: nftables_offload: special ethertype handling for VLAN (Florian Westphal) [1985087] - netfilter: nftables_offload: VLAN id needs host byteorder in flow dissector (Florian Westphal) [1985087] - netfilter: nft_payload: fix C-VLAN offload support (Florian Westphal) [1985087] - ipvs: allow connection reuse for unconfirmed conntrack (Florian Westphal) [1985087] - net: fix GRO skb truesize update (Paolo Abeni) [1987391] - sk_buff: avoid potentially clearing 'slow_gro' field (Paolo Abeni) [1987391] - veth: use skb_prepare_for_gro() (Paolo Abeni) [1987391] - skbuff: allow 'slow_gro' for skb carring sock reference (Paolo Abeni) [1987391] - net: optimize GRO for the common case. (Paolo Abeni) [1987391] - sk_buff: track extension status in slow_gro (Paolo Abeni) [1987391] - sk_buff: track dst status in slow_gro (Paolo Abeni) [1987391] - sk_buff: introduce 'slow_gro' flags (Paolo Abeni) [1987391] - skbuff: Fix build with SKB extensions disabled (Paolo Abeni) [1987391] - skbuff: Release nfct refcount on napi stolen or re-used skbs (Paolo Abeni) [1987391] - selftests: net: veth: add tests for set_channel (Paolo Abeni) [1987391] - veth: create by default nr_possible_cpus queues (Paolo Abeni) [1987391] - veth: implement support for set_channel ethtool op (Paolo Abeni) [1987391] - veth: factor out initialization helper (Paolo Abeni) [1987391] - veth: always report zero combined channels (Paolo Abeni) [1987391] - veth: Implement ethtool's get_channelis() callback (Paolo Abeni) [1987391] - net: add GSO UDP L4 and GSO fraglists to the list of software-backed types (Paolo Abeni) [1987391] - ice: Support RSS configure removal for AVF (Jonathan Toppins) [1946726] - ice: Enable RSS configure for AVF (Jonathan Toppins) [1946726] - ice: Add helper function to get the VF's VSI (Jonathan Toppins) [1946726] - ice: remove redundant assignment to pointer vsi (Jonathan Toppins) [1946726] - ice: Advertise virtchnl UDP segmentation offload capability (Jonathan Toppins) [1946726] - ice: Allow ignoring opcodes on specific VF (Jonathan Toppins) [1946726] - ice: warn about potentially malicious VFs (Jonathan Toppins) [1946726] - ice: Consolidate VSI state and flags (Jonathan Toppins) [1946726] - ice: Refactor ice_set/get_rss into LUT and key specific functions (Jonathan Toppins) [1946726] - ice: Refactor get/set RSS LUT to use struct parameter (Jonathan Toppins) [1946726] - ice: Change ice_vsi_setup_q_map() to not depend on RSS (Jonathan Toppins) [1946726] - ice: Check FDIR program status for AVF (Jonathan Toppins) [1946726] - ice: Add more FDIR filter type for AVF (Jonathan Toppins) [1946726] - ice: Add GTPU FDIR filter for AVF (Jonathan Toppins) [1946726] - ice: Add non-IP Layer2 protocol FDIR filter for AVF (Jonathan Toppins) [1946726] - ice: Add new actions support for VF FDIR (Jonathan Toppins) [1946726] - ice: Add FDIR pattern action parser for VF (Jonathan Toppins) [1946726] - ice: Enable FDIR Configure for AVF (Jonathan Toppins) [1946726] - ice: Add support for per VF ctrl VSI enabling (Jonathan Toppins) [1946726] - ice: Enhanced IPv4 and IPv6 flow filter (Jonathan Toppins) [1946726] - ice: Support to separate GTP-U uplink and downlink (Jonathan Toppins) [1946726] - ice: Add more advanced protocol support in flow filter (Jonathan Toppins) [1946726] - ice: Support non word aligned input set field (Jonathan Toppins) [1946726] - ice: Add more basic protocol support for flow filter (Jonathan Toppins) [1946726] - sctp: move the active_key update after sh_keys is added (Xin Long) [1986966] - sctp: fix return value check in __sctp_rcv_asconf_lookup (Xin Long) [1986966] - sctp: delete addr based on sin6_scope_id (Xin Long) [1986966] - sctp: update active_key for asoc when old key is being replaced (Xin Long) [1986966] - sctp: move 198 addresses from unusable to private scope (Xin Long) [1986966] - sctp: add param size validation for SCTP_PARAM_SET_PRIMARY (Xin Long) [1986966] - sctp: validate chunk size in __rcv_asconf_lookup (Xin Long) [1986966] - sctp: add size validation when walking chunks (Xin Long) [1986966] - sctp: validate from_addr_param return (Xin Long) [1986966] - sctp: fix the proc_handler for sysctl encap_port (Xin Long) [1986966] - sctp: add the missing setting for asoc encap_port (Xin Long) [1986966] - sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b (Xin Long) [1986966] - sctp: Fix out-of-bounds warning in sctp_process_asconf_param() (Xin Long) [1986966] - sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms (Xin Long) [1986966] - bonding: allow nesting of bonding device (Antoine Tenart) [1989099] - bonding: avoid adding slave device with IFF_MASTER flag (Antoine Tenart) [1989099] - ice: don't remove netdev->dev_addr from uc sync list (Ken Cox) [1873969 1961018] - ice: Stop processing VF messages during teardown (Ken Cox) [1986451] - ice: Prevent probing virtual functions (Ken Cox) [1952810] - ima: extend boot_aggregate with kernel measurements (Bruno Meneguele) [1977422] - selftest/bpf: Verifier tests for var-off access (Jiri Olsa) [1960944] {CVE-2021-29155} - selftest/bpf: Adjust expected verifier errors (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: No need to simulate speculative domain for immediates (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix mask direction swap upon off reg sign change (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Wrap aux data inside bpf_sanitize_info container (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix pointer arithmetic mask tightening under state pruning (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix leakage of uninitialized bpf stack under speculation (Jiri Olsa) [1960944 1958070] {CVE-2021-29155 CVE-2021-31829} - bpf: Fix masking negation logic upon negative dst register (Jiri Olsa) [1960944 1958070] {CVE-2021-29155 CVE-2021-31829} - bpf: verifier: Allocate idmap scratch in verifier env (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Tighten speculative pointer arithmetic mask (Jiri Olsa) [1960944 1972496] {CVE-2021-29155 CVE-2021-33200} - bpf: Move sanitize_val_alu out of op switch (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Refactor and streamline bounds check into helper (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Allow variable-offset stack access (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Improve verifier error messages for users (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Rework ptr_limit into alu_limit and add common error path (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Ensure off_reg has no mixed signed bounds for all types (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Move off_reg into sanitize_ptr_alu (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Use correct permission flag for mixed signed bounds arithmetic (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Add sanity check for upper ptr_limit (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Simplify alu_limit masking for pointer arithmetic (Jiri Olsa) [1960944] {CVE-2021-29155} - bpf: Fix off-by-one for area size in creating mask to left (Jiri Olsa) [1960944] {CVE-2021-29155} - Documentation/x86: Add ratelimit in buslock.rst (Prarit Bhargava) [1948048] - Documentation/admin-guide: Add bus lock ratelimit (Prarit Bhargava) [1948048] - x86/bus_lock: Set rate limit for bus lock (Prarit Bhargava) [1948048] - Documentation/x86: Add buslock.rst (Prarit Bhargava) [1948048] - [s390] net/smc: Ensure correct state of the socket in send path (Claudio Imbrenda) [1731026] - [s390] net/smc: Fix ENODATA tests in smc_nl_get_fback_stats() (Claudio Imbrenda) [1731026] - [s390] net/smc: Make SMC statistics network namespace aware (Claudio Imbrenda) [1731026] - [s390] net/smc: Add netlink support for SMC fallback statistics (Claudio Imbrenda) [1731026] - [s390] net/smc: Add netlink support for SMC statistics (Claudio Imbrenda) [1731026] - [s390] net/smc: Add SMC statistics support (Claudio Imbrenda) [1731026] - [s390] s390/ap: Fix hanging ioctl caused by wrong msg counter (Claudio Imbrenda) [1984762] - KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow (Jon Maloy) [1988226] {CVE-2021-37576} - NFSv4: Fix an Oops in pnfs_mark_request_commit() when doing O_DIRECT (Benjamin Coddington) [1983793] - selftests/powerpc: EBB selftest for MMCR0 control for PMU SPRs in ISA v3.1 (Desnes A. Nunes do Rosario) [1991753] - selftests/powerpc: Fix "no_handler" EBB selftest (Desnes A. Nunes do Rosario) [1991753] - powerpc/perf: Fix crash in perf_instruction_pointer() when ppmu is not set (Desnes A. Nunes do Rosario) [1991753] - powerpc/pmu: Make the generic compat PMU use the architected events (Desnes A. Nunes do Rosario) [1991753] - perf script python: Fix buffer size to report iregs in perf script (Desnes A. Nunes do Rosario) [1991753] - ceph: reduce contention in ceph_check_delayed_caps() (Jeff Layton) [1953430]- net: mac802154: Fix general protection fault (Chris von Recklinghausen) [1984571] {CVE-2021-3659} - Bluetooth: fix the erroneous flush_work() order (Chris von Recklinghausen) [1964559] {CVE-2021-3564} - Bluetooth: use correct lock to prevent UAF of hdev object (Chris von Recklinghausen) [1968214] {CVE-2021-3573} - usb: ehci: Prevent missed ehci interrupts with edge-triggered MSI (Torez Smith) [1972139] - usb: ehci: do not initialise static variables (Torez Smith) [1972139] - usb: host: move EH SINGLE_STEP_SET_FEATURE implementation to core (Torez Smith) [1972139] - USB: ehci: drop workaround for forced irq threading (Torez Smith) [1972139] - usb: ehci: add spurious flag to disable overcurrent checking (Torez Smith) [1972139] - perf test: Handle fd gaps in test__dso_data_reopen (Michael Petlan) [1871785] - tty: vt: always invoke vc->vc_sw->con_resize callback (Maxim Levitsky) [1957611] - iavf: fix locking of critical sections (Stefan Assmann) [1975245] - iavf: do not override the adapter state in the watchdog task (Stefan Assmann) [1975245] - ixgbe: Fix packet corruption due to missing DMA sync (Ken Cox) [1920269] - ixgbe: Fix an error handling path in 'ixgbe_probe()' (Ken Cox) [1920269] - intel: Remove rcu_read_lock() around XDP program invocation (Ken Cox) [1920269] - ixgbe: add correct exception tracing for XDP (Ken Cox) [1920269] - ixgbe: Fix out-bounds warning in ixgbe_host_interface_command() (Ken Cox) [1920269] - ixgbe: reduce checker warnings (Ken Cox) [1920269] - ixgbe: use checker safe conversions (Ken Cox) [1920269] - ixgbe: fix large MTU request from VF (Ken Cox) [1920269] - net: ethernet: intel: Fix a typo in the file ixgbe_dcb_nl.c (Ken Cox) [1920269] - net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr (Ken Cox) [1920269] - ixgbe: Support external GBE SerDes PHY BCM54616s (Ken Cox) [1920269] - ixgbe: fix unbalanced device enable/disable in suspend/resume (Ken Cox) [1920269] - ixgbe: Fix NULL pointer dereference in ethtool loopback test (Ken Cox) [1920269] - ixgbe: Fix fall-through warnings for Clang (Ken Cox) [1920269] - intel: clean up mismatched header comments (Ken Cox) [1920269] - bpf, devmap: Move drop error path to devmap for XDP_REDIRECT (Ken Cox) [1920269] - intel: Update drivers to use ethtool_sprintf (Ken Cox) [1920269] - ixgbe: optimize for XDP_REDIRECT in xsk path (Ken Cox) [1920269] - ixgbe: move headroom initialization to ixgbe_configure_rx_ring (Ken Cox) [1920269] - ixgbe: Fix memleak in ixgbe_configure_clsu32 (Ken Cox) [1920269] - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA (Ken Cox) [1920269] - ixgbe: store the result of ixgbe_rx_offset() onto ixgbe_ring (Ken Cox) [1920269] - net: ixgbe: use skb_csum_is_sctp instead of protocol check (Ken Cox) [1920269] - ixgbe: avoid premature Rx buffer reuse (Ken Cox) [1920269] - net: remove unneeded break (Ken Cox) [1920269] - ixgbe: add pause frame stats (Ken Cox) [1920269] - iavf: Set RSS LUT and key in reset handle path (Ken Cox) [1910853] - [netdrv] chelsio: Replace zero-length array with flexible-array member (Raju Rangoju) [1955208] - cxgb4: avoid collecting SGE_QBASE regs during traffic (Raju Rangoju) [1955208] - cxgb4: collect serial config version from register (Raju Rangoju) [1955208] - cxgb4: remove unused vpd_cap_addr (Raju Rangoju) [1955208] - cxgb4: remove bogus CHELSIO_VPD_UNIQUE_ID constant (Raju Rangoju) [1955208] - cxgb4: Assign boolean values to a bool variable (Raju Rangoju) [1955208] - cxgb4: enable interrupt based Tx completions for T5 (Raju Rangoju) [1955208] - cxgb4: fix the panic caused by non smac rewrite (Raju Rangoju) [1955208] - cxgb4: Fix the -Wmisleading-indentation warning (Raju Rangoju) [1955208] - cxgb4: set up filter action after rewrites (Raju Rangoju) [1955208] - cxgb4: handle 4-tuple PEDIT to NAT mode translation (Raju Rangoju) [1955208] - [netdrv] net: rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Raju Rangoju) [1955208] - net: cxbg4: Remove pointless in_interrupt() check (Raju Rangoju) [1955208] - cxgb4: Avoid log flood (Raju Rangoju) [1955208] - cxgb4: fix memory leak during module unload (Raju Rangoju) [1955208] - cxgb4: Fix offset when clearing filter byte counters (Raju Rangoju) [1955208] - cxgb4: add error handlers to LE intr_handler (Raju Rangoju) [1955208] - cxgb4: insert IPv6 filter rules in next free region (Raju Rangoju) [1955208] - cxgb4: Fix race between loopback and normal Tx path (Raju Rangoju) [1955208] - cxgb4: Fix work request size calculation for loopback test (Raju Rangoju) [1955208] - cxgb4: add TC-MATCHALL IPv6 support (Raju Rangoju) [1955208] - cxgb4: fix extracting IP addresses in TC-FLOWER rules (Raju Rangoju) [1955208] - cxgb4: fix check for running offline ethtool selftest (Raju Rangoju) [1955208] - cxgb4: add loopback ethtool self-test (Raju Rangoju) [1955208] - net: cxgb4: reject unsupported coalescing params (Raju Rangoju) [1955208] - cxgb4: use eth_zero_addr() to clear mac address (Raju Rangoju) [1955208] - cxgb4: add missing release on skb in uld_send() (Raju Rangoju) [1955208] - cxgb4: convert to new udp_tunnel_nic infra (Raju Rangoju) [1955208] - cxgb4: fix all-mask IP address comparison (Raju Rangoju) [1955208] - cxgb4: add main VI to mirror VI config replication (Raju Rangoju) [1955208] - cxgb4: add support for mirror Rxqs (Raju Rangoju) [1955208] - cxgb4: add mirror action to TC-MATCHALL offload (Raju Rangoju) [1955208] - net: cxgb4: fix return error value in t4_prep_fw (Raju Rangoju) [1955208] - cxgb4: move device dump arrays in header to C file (Raju Rangoju) [1955208] - cxgb4: always sync access when flashing PHY firmware (Raju Rangoju) [1955208] - cxgb4: update kernel-doc line comments (Raju Rangoju) [1955208] - cxgb4: fix set but unused variable when DCB is disabled (Raju Rangoju) [1955208] - cxgb4: move DCB version extern to header file (Raju Rangoju) [1955208] - cxgb4: remove cast when saving IPv4 partial checksum (Raju Rangoju) [1955208] - cxgb4: fix SGE queue dump destination buffer context (Raju Rangoju) [1955208] - cxgb4: use correct type for all-mask IP address comparison (Raju Rangoju) [1955208] - cxgb4: fix endian conversions for L4 ports in filters (Raju Rangoju) [1955208] - cxgb4: parse TC-U32 key values and masks natively (Raju Rangoju) [1955208] - cxgb4: use unaligned conversion for fetching timestamp (Raju Rangoju) [1955208] - cxgb4: move PTP lock and unlock to caller in Tx path (Raju Rangoju) [1955208] - cxgb4: move handling L2T ARP failures to caller (Raju Rangoju) [1955208] - cxgb4: Use struct_size() helper (Raju Rangoju) [1955208] - cxgb4: add action to steer flows to specific Rxq (Raju Rangoju) [1955208] - cxgb4: add support to fetch ethtool n-tuple filters (Raju Rangoju) [1955208] - cxgb4: add ethtool n-tuple filter deletion (Raju Rangoju) [1955208] - cxgb4: add ethtool n-tuple filter insertion (Raju Rangoju) [1955208] - [netdrv] flow_offload: check for basic action hw stats type (Raju Rangoju) [1955208] - cxgb4: add skeleton for ethtool n-tuple filters (Raju Rangoju) [1955208] - cxgb4: add support to read serial flash (Raju Rangoju) [1955208] - cxgb4: add support to flash boot cfg image (Raju Rangoju) [1955208] - cxgb4: add support to flash boot image (Raju Rangoju) [1955208] - cxgb4: add support to flash PHY image (Raju Rangoju) [1955208] - cxgb4: update set_flash to flash different images (Raju Rangoju) [1955208] - cxgb4: Use kfree() instead kvfree() where appropriate (Raju Rangoju) [1955208] - cxgb4: Use pM format specifier for MAC addresses (Raju Rangoju) [1955208] - net: sock: fix in-kernel mark setting (Alexander Aring) [1509204] - sock: Reset dst when changing sk_mark via setsockopt (Alexander Aring) [1509204] - fs: dlm: fix mark setting deadlock (Alexander Aring) [1509204] - fs: dlm: fix mark per nodeid setting (Alexander Aring) [1509204] - fs: dlm: remove lock dependency warning (Alexander Aring) [1509204] - fs: dlm: set skb mark per peer socket (Alexander Aring) [1509204] - fs: dlm: set skb mark for listen socket (Alexander Aring) [1509204] - net: sock: add sock_set_mark (Alexander Aring) [1509204] - Bluetooth: btusb: Add support for GarfieldPeak controller (Gopal Tiwari) [1959110] - can: gw: synchronize rcu operations before removing gw job entry (Balazs Nemeth) [1986334] - can: bcm: fix infoleak in struct bcm_msg_head (Balazs Nemeth) [1986334] - can: af_can: prevent potential access of uninitialized member in canfd_rcv() (Balazs Nemeth) [1956730] - can: af_can: prevent potential access of uninitialized member in can_rcv() (Balazs Nemeth) [1956730] - can: proc: can_remove_proc(): silence remove_proc_entry warning (Balazs Nemeth) [1956730] - cifs: add missing parsing of backupuid (Ronnie Sahlberg) [1987126] - cifs: use helpers when parsing uid/gid mount options and validate them (Ronnie Sahlberg) [1987126] - kernfs: dont call d_splice_alias() under kernfs node lock (Ian Kent) [1939133] - kernfs: use i_lock to protect concurrent inode updates (Ian Kent) [1939133] - kernfs: switch kernfs to use an rwsem (Ian Kent) [1939133] - kernfs: use VFS negative dentry caching (Ian Kent) [1939133] - kernfs: add a revision to identify directory node changes (Ian Kent) [1939133] - kernfs: move revalidate to be near lookup (Ian Kent) [1939133]- mlxsw: spectrum_mr: Update egress RIF list before route's action (Ivan Vecera) [1941938] - selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test (Ivan Vecera) [1941938] - selftests: mlxsw: Increase the tolerance of backlog buildup (Ivan Vecera) [1941938] - selftests: mlxsw: Return correct error code in resource scale tests (Ivan Vecera) [1941938] - selftests: mlxsw: Remove a redundant if statement in tc_flower_scale test (Ivan Vecera) [1941938] - selftests: mlxsw: Remove a redundant if statement in port_scale test (Ivan Vecera) [1941938] - selftests: mlxsw: sch_red_ets: Test proper counter cleaning in ETS (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Index future FIFOs by band number (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Allocate child qdiscs dynamically (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Guard all qdisc accesses with a lock (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Track children per qdisc (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Promote backlog reduction to mlxsw_sp_qdisc_destroy() (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Track tclass_num as int, not u8 (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Drop an always-true condition (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Simplify mlxsw_sp_qdisc_compare() (Ivan Vecera) [1941938] - mlxsw: spectrum_qdisc: Drop one argument from check_params callback (Ivan Vecera) [1941938] - mlxsw: core: Remove critical trip points from thermal zones (Ivan Vecera) [1941938] - selftests: mlxsw: Test vetoing of double sampling (Ivan Vecera) [1941938] - mlxsw: spectrum: Veto sampling if already enabled on port (Ivan Vecera) [1941938] - selftests: mlxsw: Test matchall failure with protocol match (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Perform priority checks earlier (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Convert if statements to a switch statement (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Perform protocol check earlier (Ivan Vecera) [1941938] - selftests: forwarding: vxlan_bridge_1d: Add more ECN decap test cases (Ivan Vecera) [1941938] - mlxsw: spectrum: Fix ECN marking in tunnel decapsulation (Ivan Vecera) [1941938] - selftests: net: forwarding: Fix a typo (Ivan Vecera) [1941938] - selftests: mlxsw: spectrum-2: Remove q_in_vni_veto test (Ivan Vecera) [1941938] - selftests: forwarding: Add test for dual VxLAN bridge (Ivan Vecera) [1941938] - mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2 (Ivan Vecera) [1941938] - mlxsw: Add struct mlxsw_sp_switchdev_ops per ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum: Add mlxsw_sp_port_egress_ethtype_set() (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port Egress VLAN EtherType Register (Ivan Vecera) [1941938] - mlxsw: reg: Add egr_et_set field to SPVID (Ivan Vecera) [1941938] - selftests: mlxsw: Test egress sampling limitation on Spectrum-1 only (Ivan Vecera) [1941938] - selftests: mlxsw: Add tc sample tests for new triggers (Ivan Vecera) [1941938] - mlxsw: spectrum_acl: Offload FLOW_ACTION_SAMPLE (Ivan Vecera) [1941938] - mlxsw: core_acl_flex_actions: Add mirror sampler action (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Add support for egress sampling (Ivan Vecera) [1941938] - mlxsw: spectrum: Start using sampling triggers hash table (Ivan Vecera) [1941938] - mlxsw: spectrum: Track sampling triggers in a hash table (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Pass matchall entry to sampling operations (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Push sampling checks to per-ASIC operations (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Propagate extack further (Ivan Vecera) [1941938] - selftests: mlxsw: Add tc sample tests (Ivan Vecera) [1941938] - mlxsw: spectrum: Report extra metadata to psample module (Ivan Vecera) [1941938] - mlxsw: spectrum: Remove mlxsw_sp_sample_receive() (Ivan Vecera) [1941938] - mlxsw: spectrum: Remove unnecessary RCU read-side critical section (Ivan Vecera) [1941938] - mlxsw: pci: Set extra metadata in skb control block (Ivan Vecera) [1941938] - mlxsw: Create dedicated field for Rx metadata in skb control block (Ivan Vecera) [1941938] - mlxsw: pci: Add more metadata fields to CQEv2 (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Implement sampling using mirroring (Ivan Vecera) [1941938] - mlxsw: spectrum_trap: Split sampling traps between ASICs (Ivan Vecera) [1941938] - mlxsw: spectrum_matchall: Split sampling support between ASICs (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Add SPAN probability rate support (Ivan Vecera) [1941938] - mlxsw: reg: Extend mirroring registers with probability rate field (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Add SPAN session identifier support (Ivan Vecera) [1941938] - mlxsw: Adjust some MFDE fields shift and size to fw implementation (Ivan Vecera) [1941938] - mlxsw: core: Expose MFDE.log_ip to devlink health (Ivan Vecera) [1941938] - mlxsw: reg: Extend MFDE register with new log_ip field (Ivan Vecera) [1941938] - mlxsw: spectrum: Bump minimum FW version to xx.2008.2406 (Ivan Vecera) [1941938] - mlxsw: reg: Fix comment about slot_index field in PMAOS register (Ivan Vecera) [1941938] - mlxsw: spectrum: Reword an error message for Q-in-Q veto (Ivan Vecera) [1941938] - mlxsw: spectrum_ethtool: Add an external speed to PTYS register (Ivan Vecera) [1941938] - mlxsw: spectrum_span: Do not overwrite policer configuration (Ivan Vecera) [1941938] - selftests: forwarding: Specify interface when invoking mausezahn (Ivan Vecera) [1941938] - selftests: mlxsw: Add a scale test for physical ports (Ivan Vecera) [1941938] - mlxsw: Register physical ports as a devlink resource (Ivan Vecera) [1941938] - mlxsw: pci: switch from 'pci_' to 'dma_' API (Ivan Vecera) [1941938] - mlxsw: core: Increase critical threshold for ASIC thermal zone (Ivan Vecera) [1941938] - mlxsw: core: Add validation of transceiver temperature thresholds (Ivan Vecera) [1941938] - selftests: mlxsw: Set headroom size of correct port (Ivan Vecera) [1941938] - net/mlxfw: Use kzalloc for allocating only one thing (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use eXtended mezzanine to offload IPv4 router (Ivan Vecera) [1941938] - mlxsw: spectrum: Set KVH XLT cache mode for Spectrum2/3 (Ivan Vecera) [1941938] - mlxsw: spectrum_router_xm: Introduce basic XM cache flushing (Ivan Vecera) [1941938] - mlxsw: reg: Add Router LPM Cache Enable Register (Ivan Vecera) [1941938] - mlxsw: reg: Add Router LPM Cache ML Delete Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router_xm: Implement L-value tracking for M-index (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Router M Table Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce per-ASIC XM initialization (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Lookup Table Query Register (Ivan Vecera) [1941938] - mlxsw: reg: Add Router XLT M select Register (Ivan Vecera) [1941938] - mlxsw: Ignore ports that are connected to eXtended mezanine (Ivan Vecera) [1941938] - mlxsw: pci: Obtain info about ports used by eXtended mezanine (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce XM implementation of router low-level ops (Ivan Vecera) [1941938] - mlxsw: reg: Add Router XLT Enable Register (Ivan Vecera) [1941938] - mlxsw: reg: Add XM Direct Register (Ivan Vecera) [1941938] - selftests: mlxsw: Add Q-in-VNI veto tests (Ivan Vecera) [1941938] - selftests: forwarding: Add Q-in-VNI test (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Allow joining VxLAN to 802.1ad bridge (Ivan Vecera) [1941938] - mlxsw: Veto Q-in-VNI for Spectrum-1 ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Use ops->vxlan_join() when adding VLAN to VxLAN device (Ivan Vecera) [1941938] - mlxsw: spectrum_nve_vxlan: Add support for Q-in-VNI for Spectrum-2 ASIC (Ivan Vecera) [1941938] - mlxsw: spectrum: Publish mlxsw_sp_ethtype_to_sver_type() (Ivan Vecera) [1941938] - mlxsw: Save EtherType as part of mlxsw_sp_nve_config (Ivan Vecera) [1941938] - mlxsw: Save EtherType as part of mlxsw_sp_nve_params (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Create common function for joining VxLAN to VLAN-aware bridge (Ivan Vecera) [1941938] - mlxsw: reg: Add support for tunnel port in SPVID register (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port VLAN Stacking Register (Ivan Vecera) [1941938] - mlxsw: Use one enum for all registers that contain tunnel_port field (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Reduce mlxsw_sp_ipip_fib_entry_op_gre4() (Ivan Vecera) [1941938] - mlxsw: spectrum: Bump minimum FW version to xx.2008.2018 (Ivan Vecera) [1941938] - mlxsw: core_acl: Use an array instead of a struct with a zero-length array (Ivan Vecera) [1941938] - mlxsw: spectrum_mr: Use flexible-array member instead of zero-length array (Ivan Vecera) [1941938] - mlxsw: core: Trace EMAD events (Ivan Vecera) [1941938] - selftests: mlxsw: Test RIF's reference count when joining a LAG (Ivan Vecera) [1941938] - mlxsw: spectrum: Apply RIF configuration when joining a LAG (Ivan Vecera) [1941938] - selftests: forwarding: Add QinQ veto testing (Ivan Vecera) [1941938] - mlxsw: Add QinQ configuration vetoes (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Add support of QinQ traffic (Ivan Vecera) [1941938] - mlxsw: spectrum_switchdev: Create common functions for VLAN-aware bridge (Ivan Vecera) [1941938] - mlxsw: Make EtherType configurable when pushing VLAN at ingress (Ivan Vecera) [1941938] - mlxsw: spectrum: Only treat 802.1q packets as tagged packets (Ivan Vecera) [1941938] - mlxsw: reg: Add et_vlan field to SPVID register (Ivan Vecera) [1941938] - mlxsw: reg: Add Switch Port VLAN Classification Register (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Update adjacency index more efficiently (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Track nexthop group virtual router membership (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Rollback virtual router adjacency pointer update (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass virtual router parameters directly instead of pointer (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Fix error handling issue (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Resolve RIF from nexthop struct instead of neighbour (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use loopback RIF for unresolved nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use different trap identifier for unresolved nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Create loopback RIF during initialization (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Allow returning errors from mlxsw_sp_nexthop_group_refresh() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Add an indication if a nexthop group can be destroyed (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Re-order mlxsw_sp_nexthop6_group_get() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set FIB entry's type based on nexthop group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set FIB entry's type after creating nexthop group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass ifindex to mlxsw_sp_ipip_entry_find_by_decap() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Set ifindex for IPv4 nexthops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Fix wrong kfree() in error path (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove outdated comment (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Consolidate mlxsw_sp_nexthop{4, 6}_type_fini() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Consolidate mlxsw_sp_nexthop{4, 6}_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove unused argument from mlxsw_sp_nexthop6_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass nexthop netdev to mlxsw_sp_nexthop4_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass nexthop netdev to mlxsw_sp_nexthop6_type_init() (Ivan Vecera) [1941938] - mlxsw: spectrum_ipip: Remove overlay protocol from can_offload() callback (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Split nexthop group configuration to a different struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Move IPv4 FIB info into a union in nexthop group struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Remove unused field 'prio' from IPv4 FIB entry struct (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Store FIB info in route (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Associate neighbour table with nexthop instead of group (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use nexthop group type in hash table key (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Add nexthop group type field (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Compare key with correct object type (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce FIB entry update op (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Track FIB entry committed state and skip uncommitted on delete (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce fib_entry priv for low-level ops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Have FIB entry op context allocated for the instance (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Prepare work context for possible bulking (Ivan Vecera) [1941938] - mlxsw: spectrum: Push RALUE packing and writing into low-level router ops (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use RALUE pack helper from abort function (Ivan Vecera) [1941938] - mlxsw: reg: Allow to pass NULL pointer to mlxsw_reg_ralue_pack4/6() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass destination IP as a pointer to mlxsw_reg_ralue_pack4() (Ivan Vecera) [1941938] - mlxsw: spectrum: Export RALUE pack helper and use it from IPIP (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Push out RALUE pack into separate helper (Ivan Vecera) [1941938] - mlxsw: spectrum: Propagate context from work handler containing RALUE payload (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce FIB event queue instead of separate works (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Use RALUE-independent op arg (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Pass non-register proto enum to __mlxsw_sp_router_set_abort_trap() (Ivan Vecera) [1941938] - mlxsw: spectrum_router: Introduce low-level ops and implement them for RALXX regs (Ivan Vecera) [1941938] - mlxsw: reg: Add XRALXX Registers (Ivan Vecera) [1941938] - hwmon: (mlxreg-fan) Add support for fan drawers capability and present registers (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Add callback to notify mux creation completion (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Extend supported mux number (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Extend driver to support word address space devices (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Get rid of adapter numbers enforcement (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Prepare mux selection infrastructure for two-byte support (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Convert driver to platform driver (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Move header file out of x86 realm (Ivan Vecera) [1941938] - platform/x86: mlxcpld: Update module license (Ivan Vecera) [1941938] - i2c: mux: mlxcpld: Update module license (Ivan Vecera) [1941938] - i2c: mlxcpld: Add support for I2C bus frequency setting (Ivan Vecera) [1941938] - i2c: mlxcpld: Decrease polling time for performance improvement (Ivan Vecera) [1941938] - i2c: mlxcpld: Update module license (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems (Ivan Vecera) [1941938] - platform/x86: mlx-platform: remove an unused variable (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Add capability field to platform FAN description (Ivan Vecera) [1941938] - platform_data/mlxreg: Extend core platform structure (Ivan Vecera) [1941938] - platform_data/mlxreg: Update module license (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Fix extended topology configuration for power supply units (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Remove PSU EEPROM configuration (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Extend FAN platform data description (Ivan Vecera) [1941938] - platform_data/mlxreg: Add presence register field for FAN devices (Ivan Vecera) [1941938] - Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-io: Add support for complex attributes (Ivan Vecera) [1941938] - platform/x86: mlx-platform: Add more definitions for system attributes (Ivan Vecera) [1941938] - platform_data/mlxreg: Add support for complex attributes (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Add environmental data to uevent (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Use capability register for attribute creation (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: Modify module license (Ivan Vecera) [1941938] - lib/string_helpers: Introduce string_upper() and string_lower() helpers (Ivan Vecera) [1941938] - i2c: mlxcpld: check correct size of maximum RECV_LEN packet (Ivan Vecera) [1941938] - docs: watchdog: mlx-wdt: Add description of new watchdog type 3 (Ivan Vecera) [1941938] - watchdog: mlx-wdt: support new watchdog type with longer timeout period (Ivan Vecera) [1941938] - platform/x86: mlx-platform: support new watchdog type with longer timeout (Ivan Vecera) [1941938] - platform_data/mlxreg: support new watchdog type with longer timeout period (Ivan Vecera) [1941938] - platform/mellanox: mlxreg-hotplug: convert to use i2c_new_client_device() (Ivan Vecera) [1941938] - selftests: icmp_redirect: IPv6 PMTU info should be cleared after redirect (Hangbin Liu) [1986227] - selftests: icmp_redirect: remove from checking for IPv6 route get (Hangbin Liu) [1986227] - selftests: icmp_redirect: support expected failures (Hangbin Liu) [1986227] - selftests: disable rp_filter for icmp_redirect.sh (Hangbin Liu) [1986227] - selftests: icmp_redirect: Add support for routing via nexthop objects (Hangbin Liu) [1986227] - selftest: Fixes for icmp_redirect test (Hangbin Liu) [1986227] - selftests: Add redirect tests (Hangbin Liu) [1986227] - redhat: enable vdpa_sim_net vdpa_sim_block vp_vdpa (Cindy Lu) [1975173] - virtio/vdpa: clear the virtqueue state during probe (Cindy Lu) [1975173] - vp_vdpa: allow set vq state to initial state after reset (Cindy Lu) [1975173] - virtio-pci library: introduce vp_modern_get_driver_features() (Cindy Lu) [1975173] - vdpa: support packed virtqueue for set/get_vq_state() (Cindy Lu) [1975173] - vdpa/mlx5: Clear vq ready indication upon device reset (Cindy Lu) [1975173] - vdpa/mlx5: Add support for doorbell bypassing (Cindy Lu) [1975173] - vdpa/mlx5: Add support for running with virtio_vdpa (Cindy Lu) [1975173] - vdp/mlx5: Fix setting the correct dma_device (Cindy Lu) [1975173] - vdpa/mlx5: Support creating resources with uid == 0 (Cindy Lu) [1975173] - vdpa/mlx5: Fix possible failure in umem size calculation (Cindy Lu) [1975173] - vdpa/mlx5: Fix umem sizes assignments on VQ create (Cindy Lu) [1975173] - vp_vdpa: correct the return value when fail to map notification (Cindy Lu) [1975173] - virtio_net: Fix error handling in virtnet_restore() (Cindy Lu) [1975173] - virtio-blk: Fix memory leak among suspend/resume procedure (Cindy Lu) [1975173] - vDPA/ifcvf: reuse pre-defined macros for device ids and vendor ids (Cindy Lu) [1975173] - virtio: update virtio id table, add transitional ids (Cindy Lu) [1975173] - vDPA/ifcvf: implement doorbell mapping for ifcvf (Cindy Lu) [1975173] - vDPA/ifcvf: record virtio notify base (Cindy Lu) [1975173] - vdpa_sim_blk: remove duplicate include of linux/blkdev.h (Cindy Lu) [1975173] - {net,vdpa}/mlx5: Configure interface MAC into mpfs L2 table (Cindy Lu) [1975173] - virtio_pci_modern: correct sparse tags for notify (Cindy Lu) [1975173] - virtio_pci_modern: __force cast the notify mapping (Cindy Lu) [1975173] - vDPA/ifcvf: get_config_size should return dev specific config size (Cindy Lu) [1975173] - vDPA/ifcvf: enable Intel C5000X-PL virtio-block for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: deduce VIRTIO device ID when probe (Cindy Lu) [1975173] - vdpa_sim_blk: add support for vdpa management tool (Cindy Lu) [1975173] - vdpa_sim_blk: handle VIRTIO_BLK_T_GET_ID (Cindy Lu) [1975173] - vdpa_sim_blk: implement ramdisk behaviour (Cindy Lu) [1975173] - vdpa: add vdpa simulator for block device (Cindy Lu) [1975173] - vhost/vdpa: Remove the restriction that only supports virtio-net devices (Cindy Lu) [1975173] - vhost/vdpa: use get_config_size callback in vhost_vdpa_config_validate() (Cindy Lu) [1975173] - vdpa: add get_config_size callback in vdpa_config_ops (Cindy Lu) [1975173] - vdpa_sim: cleanup kiovs in vdpasim_free() (Cindy Lu) [1975173] - vringh: add vringh_kiov_length() helper (Cindy Lu) [1975173] - vringh: implement vringh_kiov_advance() (Cindy Lu) [1975173] - vringh: explain more about cleaning riov and wiov (Cindy Lu) [1975173] - vringh: reset kiov 'consumed' field in __vringh_iov() (Cindy Lu) [1975173] - vringh: add 'iotlb_lock' to synchronize iotlb accesses (Cindy Lu) [1975173] - vdpa_sim: use iova module to allocate IOVA addresses (Cindy Lu) [1975173] - vDPA/ifcvf: deduce VIRTIO device ID from pdev ids (Cindy Lu) [1975173] - vDPA/ifcvf: verify mandatory feature bits for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: fetch device feature bits when probe (Cindy Lu) [1975173] - vDPA/ifcvf: remove the version number string (Cindy Lu) [1975173] - vDPA/ifcvf: rename original IFCVF dev ids to N3000 ids (Cindy Lu) [1975173] - vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA (Cindy Lu) [1975173] - vDPA/ifcvf: get_vendor_id returns a device specific vendor id (Cindy Lu) [1975173] - vhost-vdpa: fix vm_flags for virtqueue doorbell mapping (Cindy Lu) [1975173] - vp_vdpa: report doorbell address (Cindy Lu) [1975173] - virtio-pci library: report resource address (Cindy Lu) [1975173] - virito_pci libray: hide vp_modern_map_capability() (Cindy Lu) [1975173] - virtio_pci_modern: hide vp_modern_get_queue_notify_off() (Cindy Lu) [1975173] - vp_vdpa: switch to use vp_modern_map_vq_notify() (Cindy Lu) [1975173] - virtio-pci library: switch to use vp_modern_map_vq_notify() (Cindy Lu) [1975173] - virtio_pci_modern: introduce helper to map vq notify area (Cindy Lu) [1975173] - virtio-net: don't allocate control_buf if not supported (Cindy Lu) [1975173] - vdpa: Follow kdoc comment style (Cindy Lu) [1975173] - vdpa: Follow kdoc comment style (Cindy Lu) [1975173] - vdpa/mlx5: Enable user to add/delete vdpa device (Cindy Lu) [1975173] - vdpa: introduce virtio pci driver (Cindy Lu) [1975173] - vdpa/mlx5: Set err = -ENOMEM in case dma_map_sg_attrs fails (Cindy Lu) [1975173] - vhost-vdpa: protect concurrent access to vhost device iotlb (Cindy Lu) [1975173] - vdpa/mlx5: Fix suspend/resume index restoration (Cindy Lu) [1975173] - vdpa/mlx5: Fix wrong use of bit numbers (Cindy Lu) [1975173] - vdpa/mlx5: should exclude header length and fcs from mtu (Cindy Lu) [1975173] - vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails (Cindy Lu) [1975173] - vhost-vdpa: fix use-after-free of v->config_ctx (Cindy Lu) [1975173] - vhost_vdpa: fix the missing irq_bypass_unregister_producer() invocation (Cindy Lu) [1975173] - vdpa_sim: Skip typecasting from void* (Cindy Lu) [1975173] - vdpa: set the virtqueue num during register (Cindy Lu) [1975173] - vdpa/mlx5: fix param validation in mlx5_vdpa_get_config() (Cindy Lu) [1975173] - virtio_vdpa: don't warn when fail to disable vq (Cindy Lu) [1975173] - virtio-pci: introduce modern device module (Cindy Lu) [1975173] - virito-pci-modern: rename map_capability() to vp_modern_map_capability() (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to get notification offset (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper for getting queue nums (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper for setting/geting queue size (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to set/get queue_enable (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_queue_address() (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_set_queue_vector() (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_generation() (Cindy Lu) [1975173] - virtio-pci-modern: introduce helpers for setting and getting features (Cindy Lu) [1975173] - virtio-pci-modern: introduce helpers for setting and getting status (Cindy Lu) [1975173] - virtio-pci-modern: introduce helper to set config vector (Cindy Lu) [1975173] - virtio-pci-modern: introduce vp_modern_remove() (Cindy Lu) [1975173] - virtio-pci-modern: factor out modern device initialization logic (Cindy Lu) [1975173] - virtio-pci: split out modern device (Cindy Lu) [1975173] - virtio-pci: do not access iomem via struct virtio_pci_device directly (Cindy Lu) [1975173] - vdpa_sim_net: Add support for user supported devices (Cindy Lu) [1975173] - vdpa: Enable user to query vdpa device info (Cindy Lu) [1975173] - vdpa: Enable a user to add and delete a vdpa device (Cindy Lu) [1975173] - vdpa: Define vdpa mgmt device, ops and a netlink interface (Cindy Lu) [1975173] - vdpa: Extend routine to accept vdpa device name (Cindy Lu) [1975173] - vdpa_sim_net: Make mac address array static (Cindy Lu) [1975173] - vdpa/mlx5: Restore the hardware used index after change map (Cindy Lu) [1975173] - vdpa/mlx5: Fix memory key MTT population (Cindy Lu) [1975173] - vdpa: Use simpler version of ida allocation (Cindy Lu) [1975173] - vdpa: Add missing comment for virtqueue count (Cindy Lu) [1975173] - vdpa: split vdpasim to core and net modules (Cindy Lu) [1975173] - vdpa_sim: split vdpasim_virtqueue's iov field in out_iov and in_iov (Cindy Lu) [1975173] - vdpa_sim: make vdpasim->buffer size configurable (Cindy Lu) [1975173] - vdpa_sim: use kvmalloc to allocate vdpasim->buffer (Cindy Lu) [1975173] - vdpa_sim: set vringh notify callback (Cindy Lu) [1975173] - vdpa_sim: add set_config callback in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add get_config callback in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: make 'config' generic and usable for any device type (Cindy Lu) [1975173] - vdpa_sim: store parsed MAC address in a buffer (Cindy Lu) [1975173] - vdpa_sim: add work_fn in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add supported_features field in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add device id field in vdpasim_dev_attr (Cindy Lu) [1975173] - vdpa_sim: add struct vdpasim_dev_attr for device attributes (Cindy Lu) [1975173] - vdpa_sim: rename vdpasim_config_ops variables (Cindy Lu) [1975173] - vdpa_sim: make IOTLB entries limit configurable (Cindy Lu) [1975173] - vdpa_sim: remove hard-coded virtq count (Cindy Lu) [1975173] - vdpa_sim: remove unnecessary headers inclusion (Cindy Lu) [1975173] - vdpa: remove unnecessary 'default n' in Kconfig entries (Cindy Lu) [1975173] - vdpa: ifcvf: Use dma_set_mask_and_coherent to simplify code (Cindy Lu) [1975173] - vhost_vdpa: switch to vmemdup_user() (Cindy Lu) [1975173] - vhost: vringh: use krealloc_array() (Cindy Lu) [1975173] - vringh: fix vringh_iov_push_*() documentation (Cindy Lu) [1975173] - vringh: fix __vringh_iov() when riov and wiov are different (Cindy Lu) [1975173] - net: sched: fix memory leak in tcindex_partial_destroy_work (Davide Caratti) [1987042] - net/sched: act_ct: remove and free nf_table callbacks (Davide Caratti) [1987042] - net: sched: fix warning in tcindex_alloc_perfect_hash (Davide Caratti) [1987042] - pkt_sched: sch_qfq: fix qfq_change_class() error path (Davide Caratti) [1987042] - sch_htb: fix refcount leak in htb_parent_to_leaf_offload (Davide Caratti) [1987042] - sch_dsmark: fix a NULL deref in qdisc_reset() (Davide Caratti) [1987042] - sch_red: fix off-by-one checks in red_check_params() (Davide Caratti) [1987042] - ipv6: fix 'disable_policy' for fwd packets (Hangbin Liu) [1985837] - net: ipv6: fix return value of ip6_skb_dst_mtu (Hangbin Liu) [1985837] - ipv6: fix out-of-bound access in ip6_parse_tlv() (Hangbin Liu) [1985837] - ipv6: exthdrs: do not blindly use init_net (Hangbin Liu) [1985837] - ipv6: record frag_max_size in atomic fragments in input path (Hangbin Liu) [1985837] - selftests: net: devlink_port_split.py: skip the test if no devlink device (Hangbin Liu) [1985836] - selftests/net: bump timeout to 5 minutes (Hangbin Liu) [1985836] - selftests: net: forwarding: Fix a typo (Hangbin Liu) [1985836] - selftests/net: so_txtime: remove unneeded semicolon (Hangbin Liu) [1985836] - tools: selftests: add test for changing routes with PTMU exceptions (Hangbin Liu) [1985836] - selftests: fix the return value for UDP GRO test (Hangbin Liu) [1985836] - selftests: pmtu.sh: improve the test result processing (Hangbin Liu) [1985836] - selftests: pmtu.sh: use $ksft_skip for skipped return code (Hangbin Liu) [1985836] - selftests/net: timestamping: add ptp v2 support (Hangbin Liu) [1985836] - ixgbevf: add correct exception tracing for XDP (Ken Cox) [1920268] - intel: call csum functions with well formatted arguments (Ken Cox) [1920268] - net: intel: Remove unused function pointer typedef ixgbe_mc_addr_itr (Ken Cox) [1920268] - ixgbevf: Fix fall-through warnings for Clang (Ken Cox) [1920268] - intel: clean up mismatched header comments (Ken Cox) [1920268] - ixgbe: fail to create xfrm offload of IPsec tunnel mode SA (Ken Cox) [1920268] - net: ixgbevf: use skb_csum_is_sctp instead of protocol check (Ken Cox) [1920268] - treewide: Use sizeof_field() macro (Ken Cox) [1920268] - selftests: net: add ESP-in-UDP PMTU test (Xin Long) [1986599] - udp: check encap socket in __udp_lib_err (Xin Long) [1986599] - udp: fix possible user after free in error handler (Xin Long) [1986599] - udpv6: fix possible user after free in error handler (Xin Long) [1986599] - udp: Support for error handlers of tunnels with arbitrary destination port (Xin Long) [1986599] - bpf, sockmap, udp: sk_prot needs inuse_idx set for proc stats (Xin Long) [1986599] - udp: properly flush normal packet at GRO time (Xin Long) [1986599] - udp: annotate data races around unix_sk(sk)->gso_size (Xin Long) [1986599] - udp: fix race between close() and udp_abort() (Xin Long) [1986599] - netfilter: conntrack: remove offload_pickup sysctl again (Florian Westphal) [1987101] - bpf, samples: Add -fno-asynchronous-unwind-tables to BPF Clang invocation (Yauheni Kaliuta) [1977162] - net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock (Balazs Nemeth) [1986845] - netfilter: nf_tables: fix flowtable list del corruption (Jay Shin) [1977137] - net: qrtr: fix memory leaks (Íñigo Huguet) [1981236] - net: qrtr: fix OOB Read in qrtr_endpoint_post (Íñigo Huguet) [1981236] - net: qrtr: ns: Fix error return code in qrtr_ns_init() (Íñigo Huguet) [1981236] - net: qrtr: Avoid potential use after free in MHI send (Íñigo Huguet) [1981236] - qrtr: Convert qrtr_ports from IDR to XArray (Íñigo Huguet) [1981236] - net: qrtr: Fix memory leak on qrtr_tx_wait failure (Íñigo Huguet) [1981236] - net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() (Íñigo Huguet) [1981236] - net: qrtr: fix error return code of qrtr_sendmsg() (Íñigo Huguet) [1981236] - net/qrtr: fix __netdev_alloc_skb call (Íñigo Huguet) [1981236] - net: qrtr: Fix memory leak in qrtr_tun_open (Íñigo Huguet) [1981236] - net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() (Íñigo Huguet) [1981236] - net: qrtr: fix null-ptr-deref in qrtr_ns_remove (Íñigo Huguet) [1981236] - net: qrtr: Unprepare MHI channels during remove (Íñigo Huguet) [1981236] - net: qrtr: Start MHI channels during init (Íñigo Huguet) [1981236] - net: qrtr: Release distant nodes along the bridge node (Íñigo Huguet) [1981236] - net: qrtr: Add GFP flags parameter to qrtr_alloc_ctrl_packet (Íñigo Huguet) [1981236] - net: qrtr: Allow non-immediate node routing (Íñigo Huguet) [1981236] - net: qrtr: Allow forwarded services (Íñigo Huguet) [1981236] - net: qrtr: Fix port ID for control messages (Íñigo Huguet) [1981236] - net: qrtr: ns: Fix the incorrect usage of rcu_read_lock() (Íñigo Huguet) [1981236] - net: qrtr: ns: Protect radix_tree_deref_slot() using rcu read locks (Íñigo Huguet) [1981236] - net: qrtr: check skb_put_padto() return value (Íñigo Huguet) [1981236] - net: qrtr: fix usage of idr in port assignment to socket (Íñigo Huguet) [1981236] - qrtr: orphan socket in qrtr_release() (Íñigo Huguet) [1981236] - net: qrtr: Fix an out of bounds read qrtr_endpoint_post() (Íñigo Huguet) [1981236] - net: qrtr: free flow in __qrtr_node_release (Íñigo Huguet) [1981236] - treewide: replace '---help---' in Kconfig files with 'help' (Íñigo Huguet) [1981236] - net: qrtr: Allocate workqueue before kernel_bind (Íñigo Huguet) [1981236] - net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() (Íñigo Huguet) [1981236] - net: qrtr: Add MHI transport layer (Íñigo Huguet) [1981236] - net: qrtr: Add tracepoint support (Íñigo Huguet) [1981236] - net: qrtr: send msgs from local of same id as broadcast (Íñigo Huguet) [1981236] - net: qrtr: Fix FIXME related to qrtr_ns_init() (Íñigo Huguet) [1981236] - net: qrtr: Respond to HELLO message (Íñigo Huguet) [1981236] - net: qrtr: Fix error pointer vs NULL bugs (Íñigo Huguet) [1981236] - net: qrtr: fix spelling mistake "serivce" -> "service" (Íñigo Huguet) [1981236] - net: qrtr: Fix the local node ID as 1 (Íñigo Huguet) [1981236] - net: qrtr: Migrate nameservice to kernel from userspace (Íñigo Huguet) [1981236] - net: qrtr: Remove receive worker (Íñigo Huguet) [1981236] - net: qrtr: Make qrtr_port_lookup() use RCU (Íñigo Huguet) [1981236] - net: qrtr: Migrate node lookup tree to spinlock (Íñigo Huguet) [1981236] - net: qrtr: Implement outgoing flow control (Íñigo Huguet) [1981236] - net: qrtr: Move resume-tx transmission to recvmsg (Íñigo Huguet) [1981236] - net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue (Íñigo Huguet) [1981236] - net: qrtr: Simplify 'qrtr_tun_release()' (Íñigo Huguet) [1981236] - net: qrtr: Stop rx_worker before freeing node (Íñigo Huguet) [1981236] - net: qrtr: fix memort leak in qrtr_tun_write_iter (Íñigo Huguet) [1981236] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Íñigo Huguet) [1981236] - treewide: Add SPDX license identifier - Makefile/Kconfig (Íñigo Huguet) [1981236] - net: qrtr: Fix message type of outgoing packets (Íñigo Huguet) [1981236] - net: qrtr: use protocol endiannes variable (Íñigo Huguet) [1981236] - net: fix hangup on napi_disable for threaded napi (Paolo Abeni) [1949546] - net: fix race between napi kthread mode and busy poll (Paolo Abeni) [1949546] - net: add sysfs attribute to control napi threaded mode (Paolo Abeni) [1949546] - net: implement threaded-able napi poll loop support (Paolo Abeni) [1949546] - net: extract napi poll functionality to __napi_poll() (Paolo Abeni) [1949546] - mfd: intel-lpss: Use devm_ioremap_uc for MMIO (Steve Best) [1986715] - lib: devres: add a helper function for ioremap_uc (Steve Best) [1986715] - sched/rt: Fix double enqueue caused by rt_effective_prio (Juri Lelli) [1990566] - x86/crash: Remove crash_reserve_low_1M() (Lianbo Jiang) [1904318] - x86/setup: Remove CONFIG_X86_RESERVE_LOW and reservelow= options (Lianbo Jiang) [1904318] - x86/setup: Always reserve the first 1M of RAM (Lianbo Jiang) [1904318] - powerpc/kexec: blacklist functions called in real mode for kprobe (Desnes A. Nunes do Rosario) [1987281] - [s390] scsi: zfcp: Report port fc_security as unknown early during remote cable pull (Claudio Imbrenda) [1989910] - x86/boot: Use common BUILD_BUG_ON (Prarit Bhargava) [1979940] - net: phy: icplus: call phy_restore_page() when phy_select_page() fails (Petr Oros) [1955165] - net: phy: ti: take into account all possible interrupt sources (Petr Oros) [1955165] - net: phy: smsc: add missed clk_disable_unprepare in smsc_phy_probe() (Petr Oros) [1955165] - net: phy: Expose phydev::dev_flags through sysfs (Petr Oros) [1955165] - net: phy: fix save wrong speed and duplex problem if autoneg is on (Petr Oros) [1955165] - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081 (Petr Oros) [1955165] - net: phy: icplus: add MDI/MDIX support for IP101A/G (Petr Oros) [1955165] - net: phy: icplus: add PHY counter for IP101G (Petr Oros) [1955165] - net: phy: icplus: fix paged register access (Petr Oros) [1955165] - net: phy: icplus: don't set APS_EN bit on IP101G (Petr Oros) [1955165] - net: phy: icplus: split IP101A/G driver (Petr Oros) [1955165] - net: phy: icplus: use the .soft_reset() of the phy-core (Petr Oros) [1955165] - net: phy: icplus: drop address operator for functions (Petr Oros) [1955165] - net: phy: icplus: use PHY_ID_MATCH_EXACT() for IP101A/G (Petr Oros) [1955165] - net: phy: icplus: use PHY_ID_MATCH_MODEL() macro (Petr Oros) [1955165] - net: phy: drop explicit genphy_read_status() op (Petr Oros) [1955165] - net: phy: broadcom: remove BCM5482 1000Base-BX support (Petr Oros) [1955165] - net: mdiobus: Prevent spike on MDIO bus reset signal (Petr Oros) [1955165] - net: phy: realtek: Add support for RTL9000AA/AN (Petr Oros) [1955165] - mdio, phy: fix -Wshadow warnings triggered by nested container_of() (Petr Oros) [1955165] - net: phy: national: remove definition of DEBUG (Petr Oros) [1955165] - net: phy: ar803x: disable extended next page bit (Petr Oros) [1955165] - net: phy: smsc: fix clk error handling (Petr Oros) [1955165] - net: phy: at803x: use phy_modify_mmd() (Petr Oros) [1955165] - net: phy: replace mutex_is_locked with lockdep_assert_held in phylib (Petr Oros) [1955165] - net: phy: micrel: Add KS8851 PHY support (Petr Oros) [1955165] - net: phy: marvell: replace phy_modify() (Petr Oros) [1955165] - net: phy: micrel: fix interrupt handling (Petr Oros) [1955165] - net: phy: remove the .did_interrupt() and .ack_interrupt() callback (Petr Oros) [1955165] - net: phy: qsemi: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: qsemi: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: ti: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: ti: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: national: remove the use of the .ack_interrupt() (Petr Oros) [1955165] - net: phy: national: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: micrel: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: micrel: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: icplus: remove the use .ack_interrupt() (Petr Oros) [1955165] - net: phy: icplus: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: intel-xway: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: intel-xway: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - mdio_bus: suppress err message for reset gpio EPROBE_DEFER (Petr Oros) [1955165] - net: phy: don't duplicate driver name in phy_attached_print (Petr Oros) [1955165] - net: phy: ste10Xp: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: ste10Xp: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: smsc: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: smsc: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: amd: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: amd: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: lxt: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: lxt: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: marvell: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: marvell: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: microchip: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: microchip: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: vitesse: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: vitesse: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: aquantia: do not return an error on clearing pending IRQs (Petr Oros) [1955165] - net: phy: microchip_t1: Don't set .config_aneg (Petr Oros) [1955165] - docs: networking: phy: s/2.5 times faster/2.5 times as fast/ (Petr Oros) [1955165] - net: phy: realtek: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: realtek: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: add genphy_handle_interrupt_no_ack() (Petr Oros) [1955165] - net: phy: davicom: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: davicom: implement generic .handle_interrupt() calback (Petr Oros) [1955165] - net: phy: cicada: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: cicada: implement the generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: broadcom: remove use of ack_interrupt() (Petr Oros) [1955165] - net: phy: broadcom: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: aquantia: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: aquantia: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: mscc: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: mscc: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: at803x: remove the use of .ack_interrupt() (Petr Oros) [1955165] - net: phy: at803x: implement generic .handle_interrupt() callback (Petr Oros) [1955165] - net: phy: make .ack_interrupt() optional (Petr Oros) [1955165] - net: phy: add a shutdown procedure (Petr Oros) [1955165] - net: phy: export phy_error and phy_trigger_machine (Petr Oros) [1955165] - drivers: net: phy: Fix spelling in comment defalut to default (Petr Oros) [1955165] - net: phy: marvell: add special handling of Finisar modules with 88E1111 (Petr Oros) [1955165] - net: phylink: disable BMCR_ISOLATE in phylink_mii_c22_pcs_config (Petr Oros) [1955165] - gpiolib: Extract gpiod_not_found() helper (Petr Oros) [1955165] - net: phy: marvell: Use phy_read_paged() instead of open coding it (Petr Oros) [1955165] - net: phy: dp83869: fix unsigned comparisons against less than zero values (Petr Oros) [1955165] - net: phy: dp83869: Add speed optimization feature (Petr Oros) [1955165] - net: phy: dp83869: support Wake on LAN (Petr Oros) [1955165] - net: phy: dp83822: Update the fiber advertisement for speed (Petr Oros) [1955165] - net: dp83869: Add ability to advertise Fiber connection (Petr Oros) [1955165] - net: phy: Do not warn in phy_stop() on PHY_DOWN (Petr Oros) [1955165] - net: phy: Avoid NPD upon phy_detach() when driver is unbound (Petr Oros) [1955165] - net: phy: bcm7xxx: request and manage GPHY clock (Petr Oros) [1955165] - net: phy: smsc: LAN8710/20: add phy refclk in support (Petr Oros) [1955165] - net: phy: smsc: simplify config_init callback (Petr Oros) [1955165] - net: phy: smsc: skip ENERGYON interrupt if disabled (Petr Oros) [1955165] - net: phy: dp83867: Fix various styling and space issues (Petr Oros) [1955165] - net: mdiobus: add clause 45 mdiobus write accessor (Petr Oros) [1955165] - net: phylink: consider QSGMII interface mode in phylink_mii_c22_pcs_get_state (Petr Oros) [1955165] - net: phylink: add helper function to decode USXGMII word (Petr Oros) [1955165] - net: phy: DP83822: Add ability to advertise Fiber connection (Petr Oros) [1955165] - net: dp83869: Fix RGMII internal delay configuration (Petr Oros) [1955165] - net: mdio-mux-gpio: use devm_gpiod_get_array() (Petr Oros) [1955165] - net: phy: add USXGMII link partner ability constants (Petr Oros) [1955165] - net: phy: mdio-octeon: Cleanup module loading dependencies (Petr Oros) [1955165] - net: phy: cavium: Improve __iomem mess (Petr Oros) [1955165] - net: phy: Add a helper to return the index for of the internal delay (Petr Oros) [1955165] - dt-bindings: net: Add RGMII internal delay for DP83869 (Petr Oros) [1955165] - net: dp83869: Add RGMII internal delay configuration (Petr Oros) [1955165] - net: phy: DP83822: Add setting the fixed internal delay (Petr Oros) [1955165] - net: dp83869: Fix OF_MDIO config check (Petr Oros) [1955165] - net: dp83867: Fix OF_MDIO config check (Petr Oros) [1955165] - net: marvell: Fix OF_MDIO config check (Petr Oros) [1955165] - net: phy: mscc: use mdiobus_get_phy() (Petr Oros) [1955165] - net: phy: improve phy_driver callback handle_interrupt (Petr Oros) [1955165]- net/mlx5e: Add IPsec support to uplink representor (Alaa Hleihel) [1980171 1926098] - net/mlx5e: TC: Reserved bit 31 of REG_C1 for IPsec offload (Alaa Hleihel) [1980171 1926098] - net/mlx5e: TC: Use bit counts for register mapping (Alaa Hleihel) [1980171 1926098] - RDMA/mlx5: Don't access NULL-cleared mpi pointer (Alaa Hleihel) [1980171] - RDMA/mlx5: Split mlx5_ib_update_xlt() into ODP and non-ODP cases (Alaa Hleihel) [1980171] - ip6_tunnel: allow redirecting ip6gre and ipxip6 packets to eth devices (Guillaume Nault) [1921539] - gre: let mac_header point to outer header only when necessary (Guillaume Nault) [1921539] - sit: allow redirecting ip6ip, ipip and mplsip packets to eth devices (Guillaume Nault) [1921539] - ipip: allow redirecting ipip and mplsip packets to eth devices (Guillaume Nault) [1921539] - bareudp: allow redirecting bareudp packets to eth devices (Guillaume Nault) [1921539] - net: handle ARPHRD_IP6GRE in dev_is_mac_header_xmit() (Guillaume Nault) [1921539] - net: ipv4: fix memory leak in ip_mc_add1_src (Guillaume Nault) [1987605] - net: ipv4: fix memory leak in netlbl_cipsov4_add_std (Guillaume Nault) [1987605] - ixgbe: fix probing of multi-port devices with one MDIO (Ken Cox) [1968696] - [s390] s390/qdio: let driver manage the QAOB (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove RX VLAN filter stubs in L3 driver (Claudio Imbrenda) [1919250] - [s390] s390/qeth: enable napi_consume_skb() for pending TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: allocate initial TX Buffer structs with GFP_KERNEL (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix notification for pending buffers during teardown (Claudio Imbrenda) [1919250] - [s390] s390/qeth: schedule TX NAPI on QAOB completion (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve completion of pending TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix memory leak after failed TX Buffer allocation (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't fake a TX completion interrupt after TX error (Claudio Imbrenda) [1919250] - [s390] s390/qeth: make cast type selection for af_iucv skbs robust (Claudio Imbrenda) [1919250] - [s390] s390/qeth: pass proto to qeth_l3_get_cast_type() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove qeth_get_ip_version() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up load/remove code for disciplines (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix L2 header access in qeth_l3_osa_features_check() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix locking for discipline setup / removal (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix deadlock during recovery (Claudio Imbrenda) [1919250] - [s390] s390/qeth: make qeth_qdio_handle_aob() more robust (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove QETH_QDIO_BUF_HANDLED_DELAYED state (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't replace a fully completed async TX buffer (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use dev->groups for common sysfs attributes (Claudio Imbrenda) [1919250] - [s390] s390/ccwgroup: use bus->dev_groups for bus-based sysfs attributes (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't call INIT_LIST_HEAD() on iob's list entry (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix tear down of async TX buffers (Claudio Imbrenda) [1919250] - [s390] s390/qeth: fix af_iucv notification race (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve selection of ethtool link modes (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use QUERY OAT for initial link info (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up default cases for ethtool link mode (Claudio Imbrenda) [1919250] - [s390] s390/qeth: set static link info during initialization (Claudio Imbrenda) [1919250] - [s390] s390/qeth: improve QUERY CARD INFO processing (Claudio Imbrenda) [1919250] - [s390] s390/qeth: tolerate error when querying card info (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove useless if/else (Claudio Imbrenda) [1919250] - [s390] s390/qeth: reduce rtnl locking for switchdev events (Claudio Imbrenda) [1919250] - [s390] s390/qeth: static checker cleanups (Claudio Imbrenda) [1919250] - [s390] s390/qeth: use netdev_name() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: constify the disciplines (Claudio Imbrenda) [1919250] - [s390] s390/qeth: allow configuration of TX queues for OSA devices (Claudio Imbrenda) [1919250] - [s390] s390/qeth: de-magic the QIB parm area (Claudio Imbrenda) [1919250] - [s390] s390/qeth: keep track of wanted TX queues (Claudio Imbrenda) [1919250] - [s390] s390/qeth: remove forward declarations in L2 code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: consolidate teardown code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: consolidate online code (Claudio Imbrenda) [1919250] - [s390] s390/qeth: cancel cmds earlier during teardown (Claudio Imbrenda) [1919250] - [s390] s390/qeth: tighten ucast IP locking (Claudio Imbrenda) [1919250] - [s390] s390/qeth: replace deprecated simple_stroul() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: clean up string ops in qeth_l3_parse_ipatoe() (Claudio Imbrenda) [1919250] - [s390] s390/qeth: relax locking for ipato config data (Claudio Imbrenda) [1919250] - [s390] s390/qeth: don't init refcount twice for mcast IPs (Claudio Imbrenda) [1919250] - mm, page_alloc: check for max order in hot path (Jay Shin) [1982466] - be2net: Fix an error handling path in 'be_probe()' (Petr Oros) [1980665] - net: emulex: benet: simplify the return expression of be_if_create() (Petr Oros) [1980665] - treewide: Use fallthrough pseudo-keyword (Petr Oros) [1980665] - be2net: convert to new udp_tunnel_nic infra (Petr Oros) [1980665] - benet: use generic power management (Petr Oros) [1980665] - treewide: replace '---help---' in Kconfig files with 'help' (Petr Oros) [1980665] - hwmon: (k10temp) Zen3 Ryzen Desktop CPUs support (David Arcari) [1980072] - hwmon: (k10temp) Remove support for displaying voltage and current on Zen CPUs (David Arcari) [1980072] - hwmon: (k10temp) Add support for Zen3 CPUs (David Arcari) [1980072] - hwmon: (k10temp) Take out debugfs code (David Arcari) [1980072] - hwmon: (k10temp) Define SVI telemetry and current factors for Zen2 CPUs (David Arcari) [1980072] - hwmon: (k10temp) Create common functions and macros for Zen CPU families (David Arcari) [1980072] - hwmon: (k10temp) Add AMD family 17h model 60h PCI match (David Arcari) [1980072] - hwmon: (k10temp) make some symbols static (David Arcari) [1980072] - hwmon: (k10temp) Reorganize and simplify temperature support detection (David Arcari) [1980072] - hwmon: (k10temp) Swap Tdie and Tctl on Family 17h CPUs (David Arcari) [1980072] - hwmon: (k10temp) Display up to eight sets of CCD temperatures (David Arcari) [1980072] - hwmon: (k10temp) Add debugfs support (David Arcari) [1980072] - hwmon: (k10temp) Don't show temperature limits on Ryzen (Zen) CPUs (David Arcari) [1980072] - hwmon: (k10temp) Show core and SoC current and voltages on Ryzen CPUs (David Arcari) [1980072] - hwmon: (k10temp) Report temperatures per CPU die (David Arcari) [1980072] - hmon: (k10temp) Convert to use devm_hwmon_device_register_with_info (David Arcari) [1980072] - hwmon: (k10temp) Use bitops (David Arcari) [1980072] - hwmon: (k10temp) Add support for AMD family 17h, model 70h CPUs (David Arcari) [1980072] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 56 (David Arcari) [1980072] - hwmon: (k10temp) Add Hygon Dhyana support (David Arcari) [1980072] - hwmon: (k10temp) Auto-convert to use SENSOR_DEVICE_ATTR_{RO, RW, WO} (David Arcari) [1980072] - hwmon: (k10temp) Support all Family 15h Model 6xh and Model 7xh processors (David Arcari) [1980072] - hwmon: k10temp: Support Threadripper 2920X, 2970WX; simplify offset table (David Arcari) [1980072] - hwmon: (k10temp) 27C Offset needed for Threadripper2 (David Arcari) [1980072] - x86/amd_nb: Add AMD family 17h model 60h PCI IDs (David Arcari) [1980072] - x86/amd_nb: Add PCI device IDs for family 17h, model 70h (David Arcari) [1980072] - x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge (David Arcari) [1980072] - Revert "[hwmon] hwmon: (k10temp) Add support for Zen3 CPUs" (David Arcari) [1980072] - serial: 8250: Process sysrq at port unlock time (Prarit Bhargava) [1982016] - serial: core: Include console.h from serial_core.h (Prarit Bhargava) [1982016] - serial: core: Allow processing sysrq at port unlock time (Prarit Bhargava) [1982016] - [s390] s390/dasd: add missing discipline function (Claudio Imbrenda) [1981804] - bnxt_en: Validate vlan protocol ID on RX packets (Jonathan Toppins) [1960961] - KVM: do not allow mapping valid but non-reference-counted pages (Jon Maloy) [1975515] - gfs2: Fix error handling in init_statfs (Andreas Gruenbacher) [1872440] - gfs2: Fix underflow in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Pass glock holder to gfs2_file_direct_{read,write} (Andreas Gruenbacher) [1872440] - gfs2: Prevent direct-I/O write fallback errors from getting lost (Andreas Gruenbacher) [1872440] - gfs2: Improve mmap write vs. truncate consistency (Andreas Gruenbacher) [1872440] - iomap: Permit pages without an iop to enter writeback (Andreas Gruenbacher) [1872440] - iomap: Don't create iomap_page objects for inline files (Andreas Gruenbacher) [1872440] - gfs2: Clean up gfs2_unstuff_dinode (Andreas Gruenbacher) [1872440] - gfs2: Unstuff before locking page in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Clean up the error handling in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Fix end-of-file handling in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: Use resource group glock sharing (Andreas Gruenbacher) [1442151] - gfs2: Allow node-wide exclusive glock sharing (Andreas Gruenbacher) [1442151] - gfs2: Add local resource group locking (Andreas Gruenbacher) [1442151] - gfs2: Add per-reservation reserved block accounting (Andreas Gruenbacher) [1442151] - gfs2: Rename rs_{free -> requested} and rd_{reserved -> requested} (Andreas Gruenbacher) [1442151] - gfs2: Check for active reservation in gfs2_release (Andreas Gruenbacher) [1442151] - gfs2: Don't search for unreserved space twice (Andreas Gruenbacher) [1442151] - gfs2: Only pass reservation down to gfs2_rbm_find (Andreas Gruenbacher) [1442151] - gfs2: Also reflect single-block allocations in rgd->rd_extfail_pt (Andreas Gruenbacher) [1442151] - gfs2: Set GBF_FULL flags when reading resource group (Andreas Gruenbacher) [1442151] - gfs2: Don't clear GBF_FULL flags in rs_deltree (Andreas Gruenbacher) [1442151] - Revert "gfs2: Don't reject a supposedly full bitmap if we have blocks reserved" (Andreas Gruenbacher) [1442151] - gfs2: Minor gfs2_inplace_reserve cleanup (Andreas Gruenbacher) [1442151] - gfs2: Get rid of unnecessary variable in gfs2_alloc_blocks (Andreas Gruenbacher) [1442151] - gfs2: Only use struct gfs2_rbm for bitmap manipulations (Andreas Gruenbacher) [1442151] - gfs2: Turn gfs2_rbm_incr into gfs2_rbm_add (Andreas Gruenbacher) [1872440] - gfs2: Replace gfs2_lblk_to_dblk with gfs2_get_extent (Andreas Gruenbacher) [1872440] - gfs2: Turn gfs2_extent_map into gfs2_{get,alloc}_extent (Andreas Gruenbacher) [1872440] - gfs2: Add new gfs2_iomap_get helper (Andreas Gruenbacher) [1872440] - gfs2: Make inode operations static (Andreas Gruenbacher) [1872440] - gfs2: use iomap for buffered I/O in ordered and writeback mode (Andreas Gruenbacher) [1872440] - gfs2: Never call gfs2_block_zero_range with an open transaction (Andreas Gruenbacher) [1872440] - gfs2: Upgrade shared glocks for atime updates (Andreas Gruenbacher) [1872440] - gfs2: Rework read and page fault locking (Andreas Gruenbacher) [1872440] - fs: Add IOCB_NOIO flag for generic_file_read_iter (Andreas Gruenbacher) [1872440] - gfs2: Remove duplicate call from gfs2_create_inode (Andreas Gruenbacher) [1872440] - gfs2: Multi-block allocations in gfs2_page_mkwrite (Andreas Gruenbacher) [1872440] - gfs2: implement gfs2_block_zero_range using iomap_zero_range (Andreas Gruenbacher) [1872440] - gfs2: Add support for IOMAP_ZERO (Andreas Gruenbacher) [1872440] - gfs2: gfs2_iomap_begin cleanup (Andreas Gruenbacher) [1872440] - gfs2: Remove unused gfs2_iomap_alloc argument (Andreas Gruenbacher) [1872440] - gfs2: don't use buffer_heads in gfs2_allocate_page_backing (Andreas Gruenbacher) [1872440] - gfs2: use iomap_bmap instead of generic_block_bmap (Andreas Gruenbacher) [1872440] - gfs2: mark stuffed_readpage static (Andreas Gruenbacher) [1872440] - gfs2: merge gfs2_writepage_common into gfs2_writepage (Andreas Gruenbacher) [1872440] - gfs2: merge gfs2_writeback_aops and gfs2_ordered_aops (Andreas Gruenbacher) [1872440] - gfs2: remove the unused gfs2_stuffed_write_end function (Andreas Gruenbacher) [1872440] - gfs2: use page_offset in gfs2_page_mkwrite (Andreas Gruenbacher) [1442151] - gfs2: Add new sysfs file for gfs2 status (Andreas Gruenbacher) [1442151] - gfs2: Per-revoke accounting in transactions (Andreas Gruenbacher) [1442151] - gfs2: Rework the log space allocation logic (Andreas Gruenbacher) [1442151] - gfs2: Minor calc_reserved cleanup (Andreas Gruenbacher) [1442151] - gfs2: Move function gfs2_ail_empty_tr (Andreas Gruenbacher) [1442151] - gfs2: Get rid of current_tail() (Andreas Gruenbacher) [1442151] - gfs2: Use a tighter bound in gfs2_trans_begin (Andreas Gruenbacher) [1442151] - gfs2: Clean up gfs2_log_reserve (Andreas Gruenbacher) [1442151] - gfs2: Don't wait for journal flush in clean_journal (Andreas Gruenbacher) [1442151] - gfs2: Move lock flush locking to gfs2_trans_{begin,end} (Andreas Gruenbacher) [1442151] - gfs2: Get rid of sd_reserving_log (Andreas Gruenbacher) [1442151] - gfs2: Clean up on-stack transactions (Andreas Gruenbacher) [1442151] - gfs2: Use sb_start_intwrite in gfs2_ail_empty_gl (Andreas Gruenbacher) [1442151] - gfs2: Clean up ail2_empty (Andreas Gruenbacher) [1442151] - gfs2: Rename gfs2_{write => flush}_revokes (Andreas Gruenbacher) [1442151] - gfs2: Minor debugging improvement (Andreas Gruenbacher) [1442151] - gfs2: Some documentation updates (Andreas Gruenbacher) [1442151] - gfs2: Minor gfs2_write_revokes cleanups (Andreas Gruenbacher) [1442151] - gfs2: Simplify the buf_limit and databuf_limit definitions (Andreas Gruenbacher) [1442151] - gfs2: Un-obfuscate function jdesc_find_i (Andreas Gruenbacher) [1442151] - gfs2: Fix fall-through warnings for Clang (Andreas Gruenbacher) [1442151] - gfs2: Make gfs2_setattr_simple static (Andreas Gruenbacher) [1442151] - gfs2: Turn gfs2_meta_indirect_buffer into gfs2_meta_buffer (Andreas Gruenbacher) [1442151] - gfs2: Remove unused variable sb_format (Andreas Gruenbacher) [1442151] - gfs2: Fix dir.c function parameter descriptions (Andreas Gruenbacher) [1442151] - gfs2: Eliminate gh parameter from go_xmote_bh func (Andreas Gruenbacher) [1442151] - gfs2: don't create empty buffers for NO_CREATE (Andreas Gruenbacher) [1442151] - gfs2: Flag a withdraw if init_threads() fails (Andreas Gruenbacher) [1442151] - gfs2: bypass log flush if the journal is not live (Andreas Gruenbacher) [1442151] - gfs2: bypass signal_our_withdraw if no journal (Andreas Gruenbacher) [1442151] - gfs2: fix use-after-free in trans_drain (Andreas Gruenbacher) [1442151] - gfs2: make function gfs2_make_fs_ro() to void type (Andreas Gruenbacher) [1442151] - whack-a-mole: don't open-code iminor/imajor (Andreas Gruenbacher) [1442151] - gfs2: amend SLAB_RECLAIM_ACCOUNT on gfs2 related slab cache (Andreas Gruenbacher) [1442151] - gfs2: Remove sb_start_write from gfs2_statfs_sync (Andreas Gruenbacher) [1442151] - gfs2: check for empty rgrp tree in gfs2_ri_update (Andreas Gruenbacher) [1442151] - gfs2: set lockdep subclass for iopen glocks (Andreas Gruenbacher) [1442151] - gfs2: Fix deadlock dumping resource group glocks (Andreas Gruenbacher) [1442151] - gfs2: Wake up when sd_glock_disposal becomes zero (Andreas Gruenbacher) [1442151] - gfs2: Split up gfs2_meta_sync into inode and rgrp versions (Andreas Gruenbacher) [1442151] - gfs2: Don't ignore inode write errors during inode_go_sync (Andreas Gruenbacher) [1442151] - gfs2: Ignore subsequent errors after withdraw in rgrp_go_sync (Andreas Gruenbacher) [1442151] - gfs2: Eliminate gl_vm (Andreas Gruenbacher) [1442151] - gfs2: Fix comments to glock_hash_walk (Andreas Gruenbacher) [1442151] - gfs2: eliminate GLF_QUEUED flag in favor of list_empty(gl_holders) (Andreas Gruenbacher) [1442151] - gfs2: Fix invalid block size message (Andreas Gruenbacher) [1442151] - gfs2: add validation checks for size of superblock (Andreas Gruenbacher) [1442151] - gfs2: use-after-free in sysfs deregistration (Andreas Gruenbacher) [1442151] - Revert "GFS2: Prevent delete work from occurring on glocks used for create" (Andreas Gruenbacher) [1442151] - gfs2: Don't skip dlm unlock if glock has an lvb (Andreas Gruenbacher) [1442151] - gfs2: Lock imbalance on error path in gfs2_recover_one (Andreas Gruenbacher) [1442151] - gfs2: keep bios separate for each journal (Bob Peterson) [1442151] - gfs2: change from write to read lock for sd_log_flush_lock in journal replay (Bob Peterson) [1442151] - gfs2: don't lock sd_log_flush_lock in try_rgrp_unlink (Bob Peterson) [1442151] - gfs2: fix glock confusion in function signal_our_withdraw (Bob Peterson) [1442151] - gfs2: Don't write log headers after file system withdraw (Andreas Gruenbacher) [1442151] - gfs2: make gfs2_log_write_page static (Andreas Gruenbacher) [1442151] - gfs2: fix possible reference leak in gfs2_check_blk_type (Andreas Gruenbacher) [1442151] - gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump (Andreas Gruenbacher) [1442151] - gfs2: remove unused LBIT macros (Andreas Gruenbacher) [1925121] - gfs2: add missing log_blocks trace points in gfs2_write_revokes (Andreas Gruenbacher) [1925121] - gfs2: print details on transactions that aren't properly ended (Andreas Gruenbacher) [1925121] - gfs2: fix use-after-free on transaction ail lists (Andreas Gruenbacher) [1925121] - gfs2: new slab for transactions (Andreas Gruenbacher) [1925121] - gfs2: initialize transaction tr_ailX_lists earlier (Andreas Gruenbacher) [1925121] - gfs2: eliminate ssize parameter from gfs2_struct2blk (Andreas Gruenbacher) [1925121] - gfs2: Fix error path kobject memory leak (Andreas Gruenbacher) [1925121] - gfs2: Rename gfs2_trans_{add_unrevoke => remove_revoke} (Andreas Gruenbacher) [1925121] - gfs2: Remove unnecessary extern declarations (Andreas Gruenbacher) [1925121] - gfs2: Fix sign extension bug in gfs2_update_stats (Andreas Gruenbacher) [1925121] - gfs2: Fix an incorrect gfs2_assert() (Bob Peterson) [1925121] - gfs2: Remove vestigial bd_ops (Andreas Gruenbacher) [1925121] - gfs2: Fix the gfs2_invalidatepage description (Andreas Gruenbacher) [1925121] - gfs2: Clean up gfs2_is_{ordered,writeback} (Andreas Gruenbacher) [1925121] - gfs2: Pass resource group to rgblk_free (Andreas Gruenbacher) [1925121] - gfs2: Remove unnecessary gfs2_rlist_alloc parameter (Andreas Gruenbacher) [1925121] - gfs2: Fix some minor typos (Andreas Gruenbacher) [1925121] - gfs2: Remove unused RGRP_RSRV_MINBYTES definition (Andreas Gruenbacher) [1925121] - gfs2: Move rs_{sizehint, rgd_gh} fields into the inode (Andreas Gruenbacher) [1925121] - gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block (Andreas Gruenbacher) [1925121] - gfs2: Always check the result of gfs2_rbm_from_block (Andreas Gruenbacher) [1925121] - gfs: no need to check return value of debugfs_create functions (Andreas Gruenbacher) [1925121] - serial_core: switch to ->[sg]et_serial() (Artem Savkov) [1952415]- tipc: fix sleeping in tipc accept routine (Xin Long) [1986549] - tipc: fix implicit-connect for SYN+ (Xin Long) [1986549] - net: tipc: fix FB_MTU eat two pages (Xin Long) [1986549] - tipc: Return the correct errno code (Xin Long) [1986549] - net/mlx5: Fix checksum issue of VXLAN and IPsec crypto offload (Alaa Hleihel) [1979901] - net/mlx5: Optimize mlx5e_feature_checks for non IPsec packet (Alaa Hleihel) [1979901] - bpf, selftests: Fold test_current_pid_tgid_new_ns into test_progs. (Jiri Olsa) [1869447] - libbpf: Support BTF_KIND_FLOAT during type compatibility checks in CO-RE (Jiri Olsa) [1984486] - bpf: Generate BTF_KIND_FLOAT when linking vmlinux (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to btf_dump_test_case_syntax (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to test_core_reloc_size (Jiri Olsa) [1984486] - bpf: Document BTF_KIND_FLOAT in btf.rst (Jiri Olsa) [1984486] - selftests/bpf: Add BTF_KIND_FLOAT to the existing deduplication tests (Jiri Olsa) [1984486] - selftest/bpf: Add BTF_KIND_FLOAT tests (Jiri Olsa) [1984486] - bpf: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - selftests/bpf: Use the 25th bit in the "invalid BTF_INFO" test (Jiri Olsa) [1984486] - tools/bpftool: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - libbpf: Add BTF_KIND_FLOAT support (Jiri Olsa) [1984486] - bpf: Add BTF_KIND_FLOAT to uapi (Jiri Olsa) [1984486] - libbpf: Add explicit padding to btf_dump_emit_type_decl_opts (Jiri Olsa) [1984486] - selftests/bpf: Fix test_attach_probe for powerpc uprobes (Jiri Olsa) [1931531] - selftests/bpf: Mask bpf_csum_diff() return value to 16 bits in test_verifier (Jiri Olsa) [1942513] - openvswitch: add trace points (Aaron Conole) [1979680] - vxlan: add missing rcu_read_lock() in neigh_reduce() (Guillaume Nault) [1987310] - net: ip6_tunnel: Unregister catch-all devices (Guillaume Nault) [1987310] - net: sit: Unregister catch-all devices (Guillaume Nault) [1987310] - cpuidle: pseries: Do not cap the CEDE0 latency in fixup_cede0_latency() (Diego Domingos) [1952809] - cpuidle: pseries: Fixup CEDE0 latency only for POWER10 onwards (Diego Domingos) [1952809] - mm/swap: fix for "mm: workingset: age nonresident information alongside anonymous pages" (Rafael Aquini) [1984173] - mm/thp: remap_page() is only needed on anonymous THP (Rafael Aquini) [1984173] - mm/compaction: fix 'limit' in fast_isolate_freepages (Rafael Aquini) [1984173] - mm/huge_memory.c: don't discard hugepage if other processes are mapping it (Rafael Aquini) [1984173] - slub: restore slub_debug=- behavior (Rafael Aquini) [1984173] - mm/gup: fix try_grab_compound_head() race with split_huge_page() (Rafael Aquini) [1984173] - mm, futex: fix shared futex pgoff on shmem huge page (Rafael Aquini) [1984173] - x86/mm: Avoid truncating memblocks for SGX memory (Rafael Aquini) [1984173] - mm/thp: fix vma_address() if virtual address below file offset (Rafael Aquini) [1984173] - mm, thp: use head page in __migration_entry_wait() (Rafael Aquini) [1984173] - mm/slub.c: include swab.h (Rafael Aquini) [1984173] - mm/memory-failure: make sure wait for page writeback in memory_failure (Rafael Aquini) [1984173] - mm/slub: fix redzoning for small allocations (Rafael Aquini) [1984173] - mm, hugetlb: fix simple resv_huge_pages underflow on UFFDIO_COPY (Rafael Aquini) [1984173] - mm/page_alloc: fix counting of free pages after take off from buddy (Rafael Aquini) [1984173] - userfaultfd: release page in error path to avoid BUG_ON (Rafael Aquini) [1984173] - ksm: fix potential missing rmap_item for stable_node (Rafael Aquini) [1984173] - mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page() (Rafael Aquini) [1984173] - mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() (Rafael Aquini) [1984173] - khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() (Rafael Aquini) [1984173] - mm/memory-failure: unnecessary amount of unmapping (Rafael Aquini) [1984173] - mm: page_alloc: ignore init_on_free=1 for debug_pagealloc=1 (Rafael Aquini) [1984173] - mm/sparse: add the missing sparse_buffer_fini() in error branch (Rafael Aquini) [1984173] - mm: memcontrol: fix cpuhotplug statistics flushing (Rafael Aquini) [1984173] - x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() (Rafael Aquini) [1984173] - zsmalloc: account the number of compacted pages correctly (Rafael Aquini) [1984173] - mm/compaction: fix misbehaviors of fast_find_migrateblock() (Rafael Aquini) [1984173] - hugetlb: fix update_and_free_page contig page struct assumption (Rafael Aquini) [1984173] - mm/hugetlb: fix potential double free in hugetlb_register_node() error path (Rafael Aquini) [1984173] - mm/memory.c: fix potential pte_unmap_unlock pte error (Rafael Aquini) [1984173] - mm/memory.c: fix potential pte_unmap_unlock pte error (Rafael Aquini) [1984173] - mm/hugetlb: fix potential missing huge page size info (Rafael Aquini) [1984173] - x86/mm: Fix leak of pmd ptlock (Rafael Aquini) [1984173] - mm/zswap: fix passing zero to 'PTR_ERR' warning (Rafael Aquini) [1984173] - mm/page_isolation: do not isolate the max order page (Rafael Aquini) [1984173] - mm,memory_failure: always pin the page in madvise_inject_error (Rafael Aquini) [1984173] - mm/page_alloc: speed up the iteration of max_order (Rafael Aquini) [1984173] - x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP (Rafael Aquini) [1984173] - x86/mm/ident_map: Check for errors from ident_pud_init() (Rafael Aquini) [1984173] - mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary (Rafael Aquini) [1984173] - mm/page_alloc.c: fix freeing non-compound pages (Rafael Aquini) [1984173] - mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged (Rafael Aquini) [1984173] - percpu: fix first chunk size calculation for populated bitmap (Rafael Aquini) [1984173] - x86, fakenuma: Fix invalid starting node ID (Rafael Aquini) [1984173] - mm: include CMA pages in lowmem_reserve at boot (Rafael Aquini) [1984173] - mm/rodata_test.c: fix missing function declaration (Rafael Aquini) [1984173] - mm/page_counter: fix various data races at memsw (Rafael Aquini) [1984173] - khugepaged: retract_page_tables() remember to test exit (Rafael Aquini) [1984173] - mm/page_counter.c: fix protection usage propagation (Rafael Aquini) [1984173] - x86/mm/numa: Remove uninitialized_var() usage (Rafael Aquini) [1984173] - shmem: fix possible deadlocks on shmlock_user_lock (Rafael Aquini) [1984173] - mm: swap: use smp_mb__after_atomic() to order LRU bit set (Rafael Aquini) [1984173] - cgroup: memcg: net: do not associate sock with unrelated cgroup (Rafael Aquini) [1984173] - mm: fix gup_pud_range (Rafael Aquini) [1984173] - x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd (Rafael Aquini) [1984173] - mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment (Rafael Aquini) [1984173] - mm: Implement no-MMU variant of vmalloc_user_node_flags (Rafael Aquini) [1984173] - usercopy: Avoid HIGHMEM pfn warning (Rafael Aquini) [1984173] - x86/mm: Don't exceed the valid physical address space (Rafael Aquini) [1984173] - x86/mm/mem_encrypt: Fix erroneous sizeof() (Rafael Aquini) [1984173] - s390/mm: fix addressing exception after suspend/resume (Rafael Aquini) [1984173] - blk-mq: fix use-after-free in blk_mq_exit_sched (Ming Lei) [1969726] - nvmet: use new ana_log_size instead the old one (Maurizio Lombardi) [1949777] - nvme-multipath: fix double initialization of ANA state (Maurizio Lombardi) [1949777] - configs: enable CONFIG_LEDS_BRIGHTNESS_HW_CHANGED (Benjamin Tissoires) [1922973]- Revert "xfs: enable new inode btree counters feature" (Bill O'Donnell) [1976969] - Revert "xfs: enable big timestamps" (Bill O'Donnell) [1976969] - Revert "xfs: remove kmem_realloc()" (Bill O'Donnell) [1976969] - xfs: prevent metadata files from being inactivated (Bill O'Donnell) [1976969] - quota: widen timestamps for the fs_disk_quota structure (Bill O'Donnell) [1976969] - cifs: fix fallocate when trying to allocate a hole. (Ronnie Sahlberg) [1866684] - cifs: only write 64kb at a time when fallocating a small region of a file (Ronnie Sahlberg) [1866684] - cifs: improve fallocate emulation (Ronnie Sahlberg) [1866684] - cifs: Do not use the original cruid when following DFS links for multiuser mounts (Ronnie Sahlberg) [1812436] - cifs: ignore relatime in smb3_fs_context_parse_monolithic() (Ronnie Sahlberg) [1812436] - cifs: fix regression when mounting shares with prefix paths (Ronnie Sahlberg) [1812436] - cifs: fix leak in cifs_smb3_do_mount() ctx (Ronnie Sahlberg) [1812436] - cifs: add fs_context param to parsing helpers (Ronnie Sahlberg) [1812436] - cifs: make fs_context error logging wrapper (Ronnie Sahlberg) [1812436] - cifs: warn and fail if trying to use rootfs without the config option (Ronnie Sahlberg) [1812436] - cifs: fix nodfs mount option (Ronnie Sahlberg) [1812436] - cifs: fix handling of escaped ',' in the password mount argument (Ronnie Sahlberg) [1812436] - cifs: Add new parameter "acregmax" for distinct file and directory metadata timeout (Ronnie Sahlberg) [1812436] - cifs: convert revalidate of directories to using directory metadata cache timeout (Ronnie Sahlberg) [1812436] - cifs: Add new mount parameter "acdirmax" to allow caching directory metadata (Ronnie Sahlberg) [1812436] - cifs: fix trivial typo (Ronnie Sahlberg) [1812436] - cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath. (Ronnie Sahlberg) [1812436] - cifs: In the new mount api we get the full devname as source= (Ronnie Sahlberg) [1812436] - cifs: do not disable noperm if multiuser mount option is not provided (Ronnie Sahlberg) [1812436] - cifs: fix dfs-links (Ronnie Sahlberg) [1812436] - cifs: fix dfs domain referrals (Ronnie Sahlberg) [1812436] - cifs: returning mount parm processing errors correctly (Ronnie Sahlberg) [1812436] - cifs: fix mounts to subdirectories of target (Ronnie Sahlberg) [1812436] - cifs: ignore auto and noauto options if given (Ronnie Sahlberg) [1812436] - cifs: connect: style: Simplify bool comparison (Ronnie Sahlberg) [1812436] - fs: cifs: remove unneeded variable in smb3_fs_context_dup (Ronnie Sahlberg) [1812436] - cifs: Fix support for remount when not changing rsize/wsize (Ronnie Sahlberg) [1812436] - cifs: handle "guest" mount parameter (Ronnie Sahlberg) [1812436] - cifs: correct four aliased mount parms to allow use of previous names (Ronnie Sahlberg) [1812436] - cifs: fix use after free in cifs_smb3_do_mount() (Ronnie Sahlberg) [1812436] - cifs: fix rsize/wsize to be negotiated values (Ronnie Sahlberg) [1812436] - cifs: update super_operations to show_devname (Ronnie Sahlberg) [1812436] - cifs: fix uninitialized variable in smb3_fs_context_parse_param (Ronnie Sahlberg) [1812436] - cifs: update mnt_cifs_flags during reconfigure (Ronnie Sahlberg) [1812436] - cifs: move update of flags into a separate function (Ronnie Sahlberg) [1812436] - cifs: remove ctx argument from cifs_setup_cifs_sb (Ronnie Sahlberg) [1812436] - cifs: do not allow changing posix_paths during remount (Ronnie Sahlberg) [1812436] - cifs: uncomplicate printing the iocharset parameter (Ronnie Sahlberg) [1812436] - cifs: don't create a temp nls in cifs_setup_ipc (Ronnie Sahlberg) [1812436] - cifs: simplify handling of cifs_sb/ctx->local_nls (Ronnie Sahlberg) [1812436] - cifs: we do not allow changing username/password/unc/... during remount (Ronnie Sahlberg) [1812436] - cifs: add initial reconfigure support (Ronnie Sahlberg) [1812436] - cifs: move [brw]size from cifs_sb to cifs_sb->ctx (Ronnie Sahlberg) [1812436] - cifs: move cifs_cleanup_volume_info[_content] to fs_context.c (Ronnie Sahlberg) [1812436] - cifs: Add missing sentinel to smb3_fs_parameters (Ronnie Sahlberg) [1812436] - cifs: remove actimeo from cifs_sb (Ronnie Sahlberg) [1812436] - cifs: remove [gu]id/backup[gu]id/file_mode/dir_mode from cifs_sb (Ronnie Sahlberg) [1812436] - cifs: minor kernel style fixes for comments (Ronnie Sahlberg) [1812436] - linux/parser.h: add include guards (Ronnie Sahlberg) [1812436] - cifs: Make extract_sharename function public (Ronnie Sahlberg) [1812436] - cifs: Make extract_hostname function public (Ronnie Sahlberg) [1812436] - cifs: get rid of cifs_sb->mountdata (Ronnie Sahlberg) [1812436] - cifs: add an smb3_fs_context to cifs_sb (Ronnie Sahlberg) [1812436] - cifs: remove the devname argument to cifs_compose_mount_options (Ronnie Sahlberg) [1812436] - cifs: switch to new mount api (Ronnie Sahlberg) [1812436] - cifs: move cifs_parse_devname to fs_context.c (Ronnie Sahlberg) [1812436] - cifs: move the enum for cifs parameters into fs_context.h (Ronnie Sahlberg) [1812436] - cifs: rename dup_vol to smb3_fs_context_dup and move it into fs_context.c (Ronnie Sahlberg) [1812436] - cifs: rename smb_vol as smb3_fs_context and move it to fs_context.h (Ronnie Sahlberg) [1812436] - cifs: Fix fall-through warnings for Clang (Ronnie Sahlberg) [1812436] - cifs: refactor create_sd_buf() and and avoid corrupting the buffer (Ronnie Sahlberg) [1812436] - scsi: lpfc: Fix failure to transmit ABTS on FC link (Dick Kennedy) [1964670] - scsi: lpfc: Update lpfc version to 12.8.0.10 (Dick Kennedy) [1964670] - scsi: lpfc: Reregister FPIN types if ELS_RDF is received from fabric controller (Dick Kennedy) [1964670] - scsi: lpfc: Add a option to enable interlocked ABTS before job completion (Dick Kennedy) [1964670] - scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs (Dick Kennedy) [1964670] - scsi: lpfc: Ignore GID-FT response that may be received after a link flip (Dick Kennedy) [1964670] - scsi: lpfc: Fix node handling for Fabric Controller and Domain Controller (Dick Kennedy) [1964670] - scsi: lpfc: Fix Node recovery when driver is handling simultaneous PLOGIs (Dick Kennedy) [1964670] - scsi: lpfc: Add ndlp kref accounting for resume RPI path (Dick Kennedy) [1964670] - scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology (Dick Kennedy) [1964670] - scsi: lpfc: Fix non-optimized ERSP handling (Dick Kennedy) [1964670] - scsi: lpfc: Fix unreleased RPIs when NPIV ports are created (Dick Kennedy) [1964670] - scsi: lpfc: Remove redundant assignment to pointer temp_hdr (Dick Kennedy) [1964670] - Documentation: add more details in tipc.rst (Xin Long) [1872308] - net/tipc: add TIPC chapter to networking Documentation (Xin Long) [1872308] - scsi: qla2xxx: Reserve extra IRQ vectors (Nilesh Javali) [1964834] - tracing/hwlat: Honor the tracing_cpumask (Jerome Marchand) [1920595] - tracing/hwlat: Drop the duplicate assignment in start_kthread() (Jerome Marchand) [1920595] - sfc: add logs explaining XDP_TX/REDIRECT is not available (Íñigo Huguet) [1976756] - sfc: ensure correct number of XDP queues (Íñigo Huguet) [1976756] - sfc: fix lack of XDP TX queues - error XDP TX failed (-22) (Íñigo Huguet) [1976756] - sfc: Remove rcu_read_lock() around XDP program invocation (Íñigo Huguet) [1976756] - sfc: use DEVICE_ATTR_*() macro (Íñigo Huguet) [1976756] - sfc: farch: fix compile warning in efx_farch_dimension_resources() (Íñigo Huguet) [1976756] - sfc: don't use netif_info et al before net_device is registered (Íñigo Huguet) [1976756] - net: stmmac: Do not enable RX FIFO overflow interrupts (Mark Salter) [1905243] - net: stmmac: Clear receive all(RA) bit when promiscuous mode is off (Mark Salter) [1905243] - net: stmmac: cleared __FPE_REMOVING bit in stmmac_fpe_start_wq() (Mark Salter) [1905243] - stmmac: intel: Enable HW descriptor prefetch by default (Mark Salter) [1905243] - net: stmmac: Add HW descriptor prefetch setting for DWMAC Core 5.20 onwards (Mark Salter) [1905243] - net: stmmac: fix TSO and TBS feature enabling during driver open (Mark Salter) [1905243] - stmmac: intel: set TSO/TBS TX Queues default settings (Mark Salter) [1905243] - stmmac: intel: unlock on error path in intel_crosststamp() (Mark Salter) [1905243] - net: stmmac: use __napi_schedule() for PREEMPT_RT (Mark Salter) [1905243] - stmmac: intel: Enable SERDES PHY rx clk for PSE (Mark Salter) [1905243] - stmmac: intel: Drop duplicate ID in the list of PCI device IDs (Mark Salter) [1905243] - stmmac: intel: add cross time-stamping freq difference adjustment (Mark Salter) [1905243] - net: stmmac: Add support for external trigger timestamping (Mark Salter) [1905243] - net: stmmac: fix dma physical address of descriptor when display ring (Mark Salter) [1905243] - net: stmmac: fix wrongly set buffer2 valid when sph unsupport (Mark Salter) [1905243] - net: stmmac: arrange Tx tail pointer update to stmmac_flush_tx_descriptors (Mark Salter) [1905243] - net: stmmac: make SPH enable/disable to be configurable (Mark Salter) [1905243] - net: stmmac: set IRQ affinity hint for multi MSI vectors (Mark Salter) [1905243] - net: stmmac: remove unnecessary pci_enable_msi() call (Mark Salter) [1905243] - stmmac: intel: use managed PCI function on probe and resume (Mark Salter) [1905243] - net: stmmac: enable MTL ECC Error Address Status Over-ride by default (Mark Salter) [1905243] - net: ethernet: stmicro: Remove duplicate struct declaration (Mark Salter) [1905243] - net: stmmac: fix missing unlock on error in stmmac_suspend() (Mark Salter) [1905243] - net: stmmac: Fix kernel panic due to NULL pointer dereference of fpe_cfg (Mark Salter) [1905243] - net: stmmac: use interrupt mode INTM=1 for multi-MSI (Mark Salter) [1905243] - stmmac: intel: add support for multi-vector msi and msi-x (Mark Salter) [1905243] - net: stmmac: introduce MSI Interrupt routines for mac, safety, RX & TX (Mark Salter) [1905243] - net: stmmac: make stmmac_interrupt() function more friendly to MSI (Mark Salter) [1905243] - net: stmmac: introduce DMA interrupt status masking per traffic direction (Mark Salter) [1905243] - net: phy: marvell10g: Add PHY loopback support (Mark Salter) [1905243] - net: phy: add genphy_c45_loopback (Mark Salter) [1905243] - net: phylink: Fix phylink_err() function name error in phylink_major_config (Mark Salter) [1905243] - net: stmmac: support FPE link partner hand-shaking procedure (Mark Salter) [1905243] - net: stmmac: Add hardware supported cross-timestamp (Mark Salter) [1905243] - net: stmmac: platform: fix build error with !CONFIG_PM_SLEEP (Mark Salter) [1905243] - stmmac: intel: Add PSE and PCH PTP clock source selection (Mark Salter) [1905243] - net: stmmac: Add EST errors into ethtool statistic (Mark Salter) [1905243] - net: stmmac: EST interrupts handling and error reporting (Mark Salter) [1905243] - net: stmmac: add RX frame steering based on VLAN priority in tc flower (Mark Salter) [1905243] - net: stmmac: restructure tc implementation for RX VLAN Priority steering (Mark Salter) [1905243] - net: stmmac: add per-queue TX & RX coalesce ethtool support (Mark Salter) [1905243] - net: stmmac: Use hrtimer for TX coalescing (Mark Salter) [1905243] - net: stmmac: add timestamp correction to rid CDC sync error (Mark Salter) [1905243] - net: stmmac: add platform level clocks management (Mark Salter) [1905243] - net: stmmac: add clocks management for gmac driver (Mark Salter) [1905243] - stmmac: intel: add pcs-xpcs for Intel mGbE controller (Mark Salter) [1905243] - net: stmmac: ensure phydev is attached to phylink for C37 AN (Mark Salter) [1905243] - net: stmmac: make in-band AN mode parsing is supported for non-DT (Mark Salter) [1905243] - net: phylink: make phylink_parse_mode() support non-DT platform (Mark Salter) [1905243] - net: pcs: add C37 SGMII AN support for intel mGbE controller (Mark Salter) [1905243] - net: pcs: rearrange C73 functions to prepare for C37 support later (Mark Salter) [1905243] - net: phy: leds: Deduplicate link LED trigger registration (Mark Salter) [1905243] - net: stmmac: Fix VLAN filter delete timeout issue in Intel mGBE SGMII (Mark Salter) [1905243] - net: stmmac: fix incorrect DMA channel intr enable setting of EQoS v4.10 (Mark Salter) [1905243] - net: stmmac: fix CBS idleslope and sendslope calculation (Mark Salter) [1905243] - net: stmmac: set TxQ mode back to DCB after disabling CBS (Mark Salter) [1905243] - net: stmmac: allow stmmac to probe for C45 PHY devices (Mark Salter) [1905243] - net: stmmac: Enable EEE HW LPI timer with auto SW/HW switching (Mark Salter) [1905243] - net: pcs-xpcs: depend on MDIO_BUS instead of selecting it (Mark Salter) [1905243] - net: pcs: Move XPCS into new PCS subdirectory (Mark Salter) [1905243] - net: stmmac: Add XLGMII support (Mark Salter) [1905243] - net: phy: xpcs: Add XLGMII support (Mark Salter) [1905243] - net: phy: xpcs: Restart AutoNeg if outcome was invalid (Mark Salter) [1905243] - net: phy: xpcs: Set Link down if AutoNeg is enabled and did not finish (Mark Salter) [1905243] - net: phy: xpcs: Reset XPCS upon probe (Mark Salter) [1905243] - net: phy: xpcs: Return error when 10GKR link errors are found (Mark Salter) [1905243] - stmmac/intel: mark driver as tech preview (Mark Salter) [1905243] - redhat/configs: Add CONFIG_DWMAC_INTEL (Mark Salter) [1905243] - stmmac: intel: Fixes clock registration error seen for multiple interfaces (Mark Salter) [1905243] - stmmac: intel: Fix mdio bus registration issue for TGL-H/ADL-S (Mark Salter) [1905243] - net: stmmac: Add PCI bus info to ethtool driver query output (Mark Salter) [1905243] - stmmac: intel: Add ADL-S 1Gbps PCI IDs (Mark Salter) [1905243] - stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing (Mark Salter) [1905243] - stmmac: intel: Add PCI IDs for TGL-H platform (Mark Salter) [1905243] - stmmac: intel: change all EHL/TGL to auto detect phy addr (Mark Salter) [1905243] - net: stmmac: overwrite the dma_cap.addr64 according to HW design (Mark Salter) [1905243] - stmmac: intel: Fix kernel panic on pci probe (Mark Salter) [1905243] - stmmac: intel: Adding ref clock 1us tic for LPI cntr (Mark Salter) [1905243] - net: stmmac: Add option for VLAN filter fail queue enable (Mark Salter) [1905243] - net: stmmac: Fix clock handling on remove path (Mark Salter) [1905243] - stmmac: intel: Place object in the Makefile according to the order (Mark Salter) [1905243] - stmmac: intel: Fix indentation to put on one line affected code (Mark Salter) [1905243] - stmmac: intel: Eliminate useless conditions and variables (Mark Salter) [1905243] - stmmac: intel: Convert to use pci_alloc_irq_vectors() API (Mark Salter) [1905243] - stmmac: intel: Remove unnecessary loop for PCI BARs (Mark Salter) [1905243] - stmmac: intel: Fix clock handling on error and remove paths (Mark Salter) [1905243] - net: stmmac: Enable SERDES power up/down sequence (Mark Salter) [1905243] - net: stmmac: add EHL 2.5Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: create dwmac-intel.c to contain all Intel platform (Mark Salter) [1905243] - net: stmmac: Get rid of custom STMMAC_DEVICE() macro (Mark Salter) [1905243] - net: stmmac: update pci platform data to use phy_interface (Mark Salter) [1905243] - net: stmmac: pci: Enable TBS on GMAC5 IPK PCI entry (Mark Salter) [1905243] - net: stmmac: pci: remove the duplicate code of set phy_mask (Mark Salter) [1905243] - PCI: Add PCI_STD_NUM_BARS for the number of standard BARs (Mark Salter) [1905243] - net: stmmac: pci: Add HAPS support using GMAC5 (Mark Salter) [1905243] - net: stmmac: setup higher frequency clk support for EHL & TGL (Mark Salter) [1905243] - net: stmmac: add EHL RGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add TGL SGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: add EHL SGMII 1Gbps PCI info and PCI ID (Mark Salter) [1905243] - net: stmmac: Make MDIO bus reset optional (Mark Salter) [1905243] - stmmac: pci: Use pci_dev_id() helper (Mark Salter) [1905243] - stmmac: pci: Fix typo in IOT2000 comment (Mark Salter) [1905243] - stmmac: pci: Adjust IOT2000 matching (Mark Salter) [1905243] - net: stmmac: Fix PCI module removal leak (Mark Salter) [1905243] - net: stmmac: mark PM functions as __maybe_unused (Mark Salter) [1905243] - ibmveth: Set CHECKSUM_PARTIAL if NULL TCP CSUM. (Diego Domingos) [1939996] - IB/core: Add missing pin_user_pages*() usage (Waiman Long) [1972078] - mm/gup/writeback: Fix incorrect inaccessible pages handling (Waiman Long) [1972078] - netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush (Phil Sutter) [1983245] - ipv4: Fix device used for dst_alloc with local routes (Antoine Tenart) [1976789] - vrf: fix a comment about loopback device (Antoine Tenart) [1976789] - net: vrf: Fix operation not supported when set vrf mac (Antoine Tenart) [1976789] - vrf: prevent adding upper devices (Antoine Tenart) [1976789] - vrf: fix maximum MTU (Antoine Tenart) [1976789] - net: vrf: Fix ping failed when vrf mtu is set to 0 (Antoine Tenart) [1976789] - net: vrf: remove MTU limits for vrf device (Antoine Tenart) [1976789]- block: fix discard request merge (Ming Lei) [1970316] - blk-mq: update hctx->dispatch_busy in case of real scheduler (Ming Lei) [1976679] - block: Do not pull requests from the scheduler when we cannot dispatch them (Ming Lei) [1976679] - powerpc/pseries/mobility: handle premature return from H_JOIN (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use struct for shared state (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: refactor node lookup during DT update (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: remove rtas_ibm_suspend_me_unsafe() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: dispatch partition migration requests to pseries (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: retry partition suspend after error (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: signal suspend cancellation to platform (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use stop_machine for join/suspend (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: extract VASI session polling logic (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: use rtas_activate_firmware() on resume (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: error message improvements (Desnes A. Nunes do Rosario) [1979798] - powerpc/hvcall: add token and codes for H_VASI_SIGNAL (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: add rtas_activate_firmware() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: add rtas_ibm_suspend_me() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: rtas_ibm_suspend_me -> rtas_ibm_suspend_me_unsafe (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: complete ibm,suspend-me status codes (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: Add pr_debug() for device tree changes (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries/mobility: Set pr_fmt() (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove obsolete memory hotplug DT notifier code (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove dlpar_cpu_readd() (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove memory "re-add" implementation (Desnes A. Nunes do Rosario) [1979798] - powerpc/pseries: remove prrn special case from DT update path (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove arch_update_cpu_topology (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove prrn_is_enabled() (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtasd: simplify handle_rtas_event(), emit message on events (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove start/stop_topology_update() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove timed_topology_update() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: Handle extra hcall_vphn error cases (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: Suppress "VPHN is not supported" messages (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: stub out numa_update_cpu_topology() (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove vphn_enabled and prrn_enabled internal flags (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology workqueue code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology timer code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: make vphn_enabled, prrn_enabled flags const (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove unreachable topology update code (Desnes A. Nunes do Rosario) [1979798] - powerpc/numa: remove ability to enable topology updates (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: don't online CPUs for partition suspend (Desnes A. Nunes do Rosario) [1979798] - powerpc/rtas: Unexport rtas_online_cpus_mask, rtas_offline_cpus_mask (Desnes A. Nunes do Rosario) [1979798] - mm/page_alloc: bail out on fatal signal during reclaim/compaction retry attempt (Aaron Tomlin) [1919765] - RHEL: Revert "powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled" (Paolo Bonzini) [1956950] - KVM: selftests: smm_test: Test SMM enter from L2 (Paolo Bonzini) [1956950] - KVM: nSVM: Restore nested control upon leaving SMM (Paolo Bonzini) [1956950] - KVM: nSVM: Fix L1 state corruption upon return from SMM (Paolo Bonzini) [1956950] - KVM: nSVM: Introduce svm_copy_vmrun_state() (Paolo Bonzini) [1956950] - KVM: nSVM: Check that VM_HSAVE_PA MSR was set before VMRUN (Paolo Bonzini) [1956950] - KVM: nVMX: nSVM: 'nested_run' should count guest-entry attempts that make it to guest code (Paolo Bonzini) [1956950] - KVM: nSVM: Check the value written to MSR_VM_HSAVE_PA (Paolo Bonzini) [1956950] - KVM: SVM: Fix sev_pin_memory() error checks in SEV migration utilities (Paolo Bonzini) [1956950] - KVM: SVM: Return -EFAULT if copy_to_user() for SEV mig packet header fails (Paolo Bonzini) [1956950] - KVM: SVM: add module param to control the #SMI interception (Paolo Bonzini) [1956950] - KVM: SVM: remove INIT intercept handler (Paolo Bonzini) [1956950] - KVM: SVM: #SMI interception must not skip the instruction (Paolo Bonzini) [1956950] - KVM: VMX: Remove vmx_msr_index from vmx.h (Paolo Bonzini) [1956950] - KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run() (Paolo Bonzini) [1956950] - KVM: x86/pmu: Clear anythread deprecated bit when 0xa leaf is unsupported on the SVM (Paolo Bonzini) [1956950] - KVM: mmio: Fix use-after-free Read in kvm_vm_ioctl_unregister_coalesced_mmio (Paolo Bonzini) [1956950] - KVM: SVM: Revert clearing of C-bit on GPA in #NPF handler (Paolo Bonzini) [1956950] - KVM: x86/mmu: Do not apply HPA (memory encryption) mask to GPAs (Paolo Bonzini) [1956950] - KVM: x86: Use kernel's x86_phys_bits to handle reduced MAXPHYADDR (Paolo Bonzini) [1956950] - KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled (Paolo Bonzini) [1956950] - KVM: selftests: do not require 64GB in set_memory_region_test (Paolo Bonzini) [1956950] - KVM: selftests: Fix mapping length truncation in m{,un}map() (Paolo Bonzini) [1956950] - KVM: x86: Force all MMUs to reinitialize if guest CPUID is modified (Paolo Bonzini) [1956950] - Revert "KVM: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack" (Paolo Bonzini) [1956950] - KVM: x86/mmu: Use MMU's role to detect CR4.SMEP value in nested NPT walk (Paolo Bonzini) [1956950] - KVM: x86: Properly reset MMU context at vCPU RESET/INIT (Paolo Bonzini) [1956950] - KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs (Paolo Bonzini) [1956950] - KVM: x86/mmu: Remove broken WARN that fires on 32-bit KVM w/ nested EPT (Paolo Bonzini) [1956950] - KVM: nVMX: Handle split-lock #AC exceptions that happen in L2 (Paolo Bonzini) [1956950] - KVM: x86/mmu: Calculate and check "full" mmu_role for nested MMU (Paolo Bonzini) [1956950] - KVM: X86: Fix x86_emulator slab cache leak (Paolo Bonzini) [1956950] - KVM: SVM: Call SEV Guest Decommission if ASID binding fails (Paolo Bonzini) [1956950] - KVM: x86: Immediately reset the MMU context when the SMM flag is cleared (Paolo Bonzini) [1956950] - KVM: x86: Fix fall-through warnings for Clang (Paolo Bonzini) [1956950] - KVM: SVM: fix doc warnings (Paolo Bonzini) [1956950] - kvm: LAPIC: Restore guard to prevent illegal APIC register access (Paolo Bonzini) [1956950] - kvm: fix previous commit for 32-bit builds (Paolo Bonzini) [1956950] - kvm: avoid speculation-based attacks from out-of-range memslot accesses (Paolo Bonzini) [1956950] - KVM: x86: Ensure liveliness of nested VM-Enter fail tracepoint message (Paolo Bonzini) [1956950] - KVM: x86: Ensure PV TLB flush tracepoint reflects KVM behavior (Paolo Bonzini) [1956950] - KVM: X86: MMU: Use the correct inherited permissions to get shadow page (Paolo Bonzini) [1956950] - KVM: LAPIC: Write 0 to TMICT should also cancel vmx-preemption timer (Paolo Bonzini) [1956950] - KVM: SVM: Fix SEV SEND_START session length & SEND_UPDATE_DATA query length after commit 238eca821cee (Paolo Bonzini) [1956950] - KVM: X86: Kill off ctxt->ud (Paolo Bonzini) [1956950] - KVM: X86: Fix warning caused by stale emulation context (Paolo Bonzini) [1956950] - KVM: X86: Use kvm_get_linear_rip() in single-step and #DB/#BP interception (Paolo Bonzini) [1956950] - KVM: x86/mmu: Fix comment mentioning skip_4k (Paolo Bonzini) [1956950] - KVM: VMX: update vcpu posted-interrupt descriptor when assigning device (Paolo Bonzini) [1956950] - KVM: rename KVM_REQ_PENDING_TIMER to KVM_REQ_UNBLOCK (Paolo Bonzini) [1956950] - KVM: x86: add start_assignment hook to kvm_x86_ops (Paolo Bonzini) [1956950] - KVM: LAPIC: Narrow the timer latency between wait_lapic_expire and world switch (Paolo Bonzini) [1956950] - KVM: X86: Fix vCPU preempted state from guest's point of view (Paolo Bonzini) [1956950] - KVM: X86: Bail out of direct yield in case of under-committed scenarios (Paolo Bonzini) [1956950] - KVM: SVM: make the avic parameter a bool (Paolo Bonzini) [1956950] - KVM: VMX: Drop unneeded CONFIG_X86_LOCAL_APIC check (Paolo Bonzini) [1956950] - KVM: SVM: Drop unneeded CONFIG_X86_LOCAL_APIC check (Paolo Bonzini) [1956950] - KVM: SVM: Move GHCB unmapping to fix RCU warning (Paolo Bonzini) [1956950] - KVM: SVM: Invert user pointer casting in SEV {en,de}crypt helpers (Paolo Bonzini) [1956950] - kvm: Cap halt polling at kvm->max_halt_poll_ns (Paolo Bonzini) [1956950] - KVM: x86: Prevent deadlock against tk_core.seq (Paolo Bonzini) [1956950] - KVM: x86: Cancel pvclock_gtod_work on module removal (Paolo Bonzini) [1956950] - KVM: x86: Prevent KVM SVM from loading on kernels with 5-level paging (Paolo Bonzini) [1956950] - KVM: SVM: Probe and load MSR_TSC_AUX regardless of RDTSCP support in host (Paolo Bonzini) [1956950] - KVM: VMX: Disable preemption when probing user return MSRs (Paolo Bonzini) [1956950] - KVM: x86: Move RDPID emulation intercept to its own enum (Paolo Bonzini) [1956950] - KVM: SVM: Inject #UD on RDTSCP when it should be disabled in the guest (Paolo Bonzini) [1956950] - KVM: x86: Emulate RDPID only if RDTSCP is supported (Paolo Bonzini) [1956950] - KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported (Paolo Bonzini) [1956950] - KVM: nSVM: always restore the L1's GIF on migration (Paolo Bonzini) [1956950] - KVM: x86: Hoist input checks in kvm_add_msr_filter() (Paolo Bonzini) [1956950] - KVM: nVMX: Properly pad 'struct kvm_vmx_nested_state_hdr' (Paolo Bonzini) [1956950] - KVM/VMX: Invoke NMI non-IST entry instead of IST entry (Paolo Bonzini) [1956950] - KVM: x86: Fix potential fput on a null source_kvm_file (Paolo Bonzini) [1956950] - KVM: nSVM: leave the guest mode prior to loading a nested state (Paolo Bonzini) [1956950] - KVM: nSVM: fix few bugs in the vmcb02 caching logic (Paolo Bonzini) [1956950] - KVM: nSVM: fix a typo in svm_leave_nested (Paolo Bonzini) [1956950] - KVM: PPC: exit halt polling on need_resched() (Paolo Bonzini) [1956950] - kvm: exit halt polling on need_resched() as well (Paolo Bonzini) [1956950] - KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer (Paolo Bonzini) [1956950] - kvm/x86: Fix 'lpages' kvm stat for TDM MMU (Paolo Bonzini) [1956950] - KVM: x86/mmu: Avoid unnecessary page table allocation in kvm_tdp_mmu_map() (Paolo Bonzini) [1956950] - KVM: selftests: Speed up set_memory_region_test (Paolo Bonzini) [1956950] - selftests: kvm: Fix the check of return value (Paolo Bonzini) [1956950] - KVM: x86: Take advantage of kvm_arch_dy_has_pending_interrupt() (Paolo Bonzini) [1956950] - KVM: SVM: Skip SEV cache flush if no ASIDs have been used (Paolo Bonzini) [1956950] - KVM: SVM: Remove an unnecessary prototype declaration of sev_flush_asids() (Paolo Bonzini) [1956950] - KVM: SVM: Drop redundant svm_sev_enabled() helper (Paolo Bonzini) [1956950] - KVM: SVM: Move SEV VMCB tracking allocation to sev.c (Paolo Bonzini) [1956950] - KVM: SVM: Explicitly check max SEV ASID during sev_hardware_setup() (Paolo Bonzini) [1956950] - KVM: SVM: Unconditionally invoke sev_hardware_teardown() (Paolo Bonzini) [1956950] - KVM: SVM: Enable SEV/SEV-ES functionality by default (when supported) (Paolo Bonzini) [1956950] - KVM: SVM: Condition sev_enabled and sev_es_enabled on CONFIG_KVM_AMD_SEV=y (Paolo Bonzini) [1956950] - KVM: SVM: Append "_enabled" to module-scoped SEV/SEV-ES control variables (Paolo Bonzini) [1956950] - KVM: SEV: Mask CPUID[0x8000001F].eax according to supported features (Paolo Bonzini) [1956950] - KVM: SVM: Move SEV module params/variables to sev.c (Paolo Bonzini) [1956950] - svm/sev: Register SEV and SEV-ES ASIDs to the misc controller (Paolo Bonzini) [1956950] - KVM: SVM: Disable SEV/SEV-ES if NPT is disabled (Paolo Bonzini) [1956950] - KVM: SVM: Free sev_asid_bitmap during init if SEV setup fails (Paolo Bonzini) [1956950] - KVM: SVM: Zero out the VMCB array used to track SEV ASID association (Paolo Bonzini) [1956950] - KVM: x86: Move reverse CPUID helpers to separate header file (Paolo Bonzini) [1956950] - KVM: x86: Rename GPR accessors to make mode-aware variants the defaults (Paolo Bonzini) [1956950] - KVM: SVM: Use default rAX size for INVLPGA emulation (Paolo Bonzini) [1956950] - KVM: x86/xen: Drop RAX[63:32] when processing hypercall (Paolo Bonzini) [1956950] - KVM: nVMX: Truncate base/index GPR value on address calc in !64-bit (Paolo Bonzini) [1956950] - KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit (Paolo Bonzini) [1956950] - KVM: VMX: Truncate GPR value for DR and CR reads in !64-bit mode (Paolo Bonzini) [1956950] - KVM: SVM: Truncate GPR value for DR and CR accesses in !64-bit mode (Paolo Bonzini) [1956950] - KVM: x86: Check CR3 GPA for validity regardless of vCPU mode (Paolo Bonzini) [1956950] - KVM: x86: Remove emulator's broken checks on CR0/CR3/CR4 loads (Paolo Bonzini) [1956950] - KVM: VMX: Intercept FS/GS_BASE MSR accesses for 32-bit KVM (Paolo Bonzini) [1956950] - KVM: SVM: Delay restoration of host MSR_TSC_AUX until return to userspace (Paolo Bonzini) [1956950] - KVM: SVM: Clear MSR_TSC_AUX[63:32] on write (Paolo Bonzini) [1956950] - KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP unsupported (Paolo Bonzini) [1956950] - KVM: VMX: Invert the inlining of MSR interception helpers (Paolo Bonzini) [1956950] - KVM: X86: Fix failure to boost kernel lock holder candidate in SEV-ES guests (Paolo Bonzini) [1956950] - KVM: x86: Properly handle APF vs disabled LAPIC situation (Paolo Bonzini) [1956950] - KVM: VMX: use EPT_VIOLATION_GVA_TRANSLATED instead of 0x100 (Paolo Bonzini) [1956950] - KVM: x86: Support KVM VMs sharing SEV context (Paolo Bonzini) [1956950] - KVM: x86: Remove unused function declaration (Paolo Bonzini) [1956950] - KVM: x86/mmu: Drop trace_kvm_age_page() tracepoint (Paolo Bonzini) [1956950] - KVM: Move prototypes for MMU notifier callbacks to generic code (Paolo Bonzini) [1956950] - KVM: Pass MMU notifier range flags to kvm_unmap_hva_range() (Paolo Bonzini) [1956950] - KVM: x86/mmu: preserve pending TLB flush across calls to kvm_tdp_mmu_zap_sp (Paolo Bonzini) [1956950] - KVM: x86: disable interrupts while pvclock_gtod_sync_lock is taken (Paolo Bonzini) [1956950] - KVM: x86: reduce pvclock_gtod_sync_lock critical sections (Paolo Bonzini) [1956950] - kvm: x86: annotate RCU pointers (Paolo Bonzini) [1956950] - KVM: x86: remove misplaced comment on active_mmu_pages (Paolo Bonzini) [1956950] - x86/sev: Drop redundant and potentially misleading 'sev_enabled' (Paolo Bonzini) [1956950] - x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] (Paolo Bonzini) [1956950] - cgroup: Add misc cgroup controller (Paolo Bonzini) [1956950] - x86: Remove duplicate TSC DEADLINE MSR definitions (Paolo Bonzini) [1956950] - KVM: s390: allow facility 192 (vector-packed-decimal-enhancement facility 2) (Thomas Huth) [1977289] - KVM: s390: gen_facilities: allow facilities 165, 193, 194 and 196 (Thomas Huth) [1977289] - mpi3mr: mark as tech preview (Tomas Henzl) [1858804] - add the mpi3mr config (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix W=1 compilation warnings (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix warnings reported by smatch (Tomas Henzl) [1858804] - scsi: mpi3mr: Make some symbols static (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix error return code in mpi3mr_init_ioc() (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix missing unlock on error (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix error handling in mpi3mr_setup_isr() (Tomas Henzl) [1858804] - scsi: mpi3mr: Delete unnecessary NULL check (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix a double free (Tomas Henzl) [1858804] - scsi: mpi3mr: Fix fall-through warning for Clang (Tomas Henzl) [1858804] - scsi: mpi3mr: Add event handling debug prints (Tomas Henzl) [1858804] - scsi: mpi3mr: Add EEDP DIF DIX support (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for DSN secure firmware check (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for PM suspend and resume (Tomas Henzl) [1858804] - scsi: mpi3mr: Wait for pending I/O completions upon detection of VD I/O timeout (Tomas Henzl) [1858804] - scsi: mpi3mr: Print pending host I/Os for debugging (Tomas Henzl) [1858804] - scsi: mpi3mr: Complete support for soft reset (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for threaded ISR (Tomas Henzl) [1858804] - scsi: mpi3mr: Hardware workaround for UNMAP commands to NVMe drives (Tomas Henzl) [1858804] - scsi: mpi3mr: Allow certain commands during pci-remove hook (Tomas Henzl) [1858804] - scsi: mpi3mr: Add change queue depth support (Tomas Henzl) [1858804] - scsi: mpi3mr: Implement SCSI error handler hooks (Tomas Henzl) [1858804] - scsi: mpi3mr: Add bios_param SCSI host template hook (Tomas Henzl) [1858804] - scsi: mpi3mr: Print IOC info for debugging (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for timestamp sync with firmware (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for recovering controller (Tomas Henzl) [1858804] - scsi: mpi3mr: Additional event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for PCIe device event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for device add/remove event handling (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for internal watchdog thread (Tomas Henzl) [1858804] - scsi: mpi3mr: Add support for queue command processing (Tomas Henzl) [1858804] - scsi: mpi3mr: Create operational request and reply queue pair (Tomas Henzl) [1858804] - scsi: mpi3mr: Base driver code (Tomas Henzl) [1858804] - scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig (Tomas Henzl) [1858804] - e1000e: Fix prototype warning (Ken Cox) [1920290] - e1000e: Mark e1000e_pm_prepare() as __maybe_unused (Ken Cox) [1920290] - e1000e: Fix duplicate include guard (Ken Cox) [1920290] - e1000e: Remove the runtime suspend restriction on CNP+ (Ken Cox) [1920290] - e1000e: Leverage direct_complete to speed up s2ram (Ken Cox) [1920290] - e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 (Ken Cox) [1920290] - e1000e: add rtnl_lock() to e1000_reset_task (Ken Cox) [1920290] - e1000e: remove the redundant value assignment in e1000_update_nvm_checksum_spt (Ken Cox) [1920290] - e1000e: Export S0ix flags to ethtool (Ken Cox) [1920290] - e1000e: bump up timeout to wait when ME un-configures ULP mode (Ken Cox) [1920290] - e1000e: Only run S0ix flows if shutdown succeeded (Ken Cox) [1920290] - scsi: ipr: System crashes when seeing type 20 error (Desnes A. Nunes do Rosario) [1977532] - scsi: ipr: Use scnprintf() for avoiding potential buffer overflow (Desnes A. Nunes do Rosario) [1977532] - tipc: do not write skb_shinfo frags when doing decrytion (Xin Long) [1974627] - bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path (Jonathan Toppins) [1921449] - bnxt_en: Fix TQM fastpath ring backing store computation (Jonathan Toppins) [1921449] - bnxt_en: Rediscover PHY capabilities after firmware reset (Jonathan Toppins) [1921449] - bnxt_en: Fix context memory setup for 64K page size. (Jonathan Toppins) [1921449] - bnxt_en: Include new P5 HV definition in VF check. (Jonathan Toppins) [1921449] - bnxt_en: Add PCI IDs for Hyper-V VF devices. (Jonathan Toppins) [1921449] - bnxt_en: Fix RX consumer index logic in the error path. (Jonathan Toppins) [1921449] - bnxt_en: fix ternary sign extension bug in bnxt_show_temp() (Jonathan Toppins) [1921449] - bnxt_en: reliably allocate IRQ table on reset to avoid crash (Jonathan Toppins) [1921449] - bnxt_en: Fix race between firmware reset and driver remove. (Jonathan Toppins) [1921449] - bnxt_en: Improve logging of error recovery settings information. (Jonathan Toppins) [1921449] - bnxt_en: Reply to firmware's echo request async message. (Jonathan Toppins) [1921449] - bnxt_en: Initialize "context kind" field for context memory blocks. (Jonathan Toppins) [1921449] - bnxt_en: Add context memory initialization infrastructure. (Jonathan Toppins) [1921449] - bnxt_en: Implement faster recovery for firmware fatal error. (Jonathan Toppins) [1921449] - bnxt_en: selectively allocate context memories (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.2.16. (Jonathan Toppins) [1921449] - bnxt_en: Fix devlink info's stored fw.psid version format. (Jonathan Toppins) [1921449] - bnxt_en: reverse order of TX disable and carrier off (Jonathan Toppins) [1921449] - bnxt_en: Convert to use netif_level() helpers. (Jonathan Toppins) [1921449] - bnxt_en: Do not process completion entries after fatal condition detected. (Jonathan Toppins) [1921449] - bnxt_en: Consolidate firmware reset event logging. (Jonathan Toppins) [1921449] - bnxt_en: Improve firmware fatal error shutdown sequence. (Jonathan Toppins) [1921449] - bnxt_en: Modify bnxt_disable_int_sync() to be called more than once. (Jonathan Toppins) [1921449] - bnxt_en: Add a new BNXT_STATE_NAPI_DISABLED flag to keep track of NAPI state. (Jonathan Toppins) [1921449] - bnxt_en: Add bnxt_fw_reset_timeout() helper. (Jonathan Toppins) [1921449] - bnxt_en: Retry open if firmware is in reset. (Jonathan Toppins) [1921449] - bnxt_en: attempt to reinitialize after aborted reset (Jonathan Toppins) [1921449] - bnxt_en: log firmware debug notifications (Jonathan Toppins) [1921449] - bnxt_en: Add an upper bound for all firmware command timeouts. (Jonathan Toppins) [1921449] - bnxt_en: Move reading VPD info after successful handshake with fw. (Jonathan Toppins) [1921449] - bnxt_en: Retry sending the first message to firmware if it is under reset. (Jonathan Toppins) [1921449] - bnxt_en: handle CRASH_NO_MASTER during bnxt_open() (Jonathan Toppins) [1921449] - bnxt_en: Define macros for the various health register states. (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface to 1.10.2.11. (Jonathan Toppins) [1921449] - bnxt_en: Clear DEFRAG flag in firmware message when retry flashing. (Jonathan Toppins) [1921449] - bnxt_en: Improve stats context resource accounting with RDMA driver loaded. (Jonathan Toppins) [1921449] - bnxt_en: Use kzalloc for allocating only one thing (Jonathan Toppins) [1921449] - bnxt_en: Check TQM rings for maximum supported value. (Jonathan Toppins) [1921449] - bnxt_en: Fix AER recovery. (Jonathan Toppins) [1921449] - bnxt_en: Enable batch mode when using HWRM_NVM_MODIFY to flash packages. (Jonathan Toppins) [1921449] - bnxt_en: Retry installing FW package under NO_SPACE error condition. (Jonathan Toppins) [1921449] - bnxt_en: Restructure bnxt_flash_package_from_fw_obj() to execute in a loop. (Jonathan Toppins) [1921449] - bnxt_en: Rearrange the logic in bnxt_flash_package_from_fw_obj(). (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_flash_nvram. (Jonathan Toppins) [1921449] - bnxt_en: Release PCI regions when DMA mask setup fails during probe. (Jonathan Toppins) [1921449] - bnxt_en: fix error return code in bnxt_init_board() (Jonathan Toppins) [1921449] - bnxt_en: fix error return code in bnxt_init_one() (Jonathan Toppins) [1921449] - bnxt_en: Avoid unnecessary NVM_GET_DEV_INFO cmd error log on VFs. (Jonathan Toppins) [1921449] - bnxt_en: Fix counter overflow logic. (Jonathan Toppins) [1921449] - bnxt_en: Free port stats during firmware reset. (Jonathan Toppins) [1921449] - bnxt_en: read EEPROM A2h address using page 0 (Jonathan Toppins) [1921449] - bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally. (Jonathan Toppins) [1921449] - bnxt_en: Check abort error state in bnxt_open_nic(). (Jonathan Toppins) [1921449] - bnxt_en: Re-write PCI BARs after PCI fatal error. (Jonathan Toppins) [1921449] - bnxt_en: Invoke cancel_delayed_work_sync() for PFs also. (Jonathan Toppins) [1921449] - bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one(). (Jonathan Toppins) [1921449] - bnxt_en: Add stored FW version info to devlink info_get cb. (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_dl_info_get(). (Jonathan Toppins) [1921449] - bnxt_en: Add bnxt_hwrm_nvm_get_dev_info() to query NVM info. (Jonathan Toppins) [1921449] - bnxt_en: Log unknown link speed appropriately. (Jonathan Toppins) [1921449] - bnxt_en: Log event_data1 and event_data2 when handling RESET_NOTIFY event. (Jonathan Toppins) [1921449] - bnxt_en: Simplify bnxt_async_event_process(). (Jonathan Toppins) [1921449] - bnxt_en: Set driver default message level. (Jonathan Toppins) [1921449] - bnxt_en: Enable online self tests for multi-host/NPAR mode. (Jonathan Toppins) [1921449] - bnxt_en: Return -EROFS to user space, if NVM writes are not permitted. (Jonathan Toppins) [1921449] - bnxt_en: Eliminate unnecessary RX resets. (Jonathan Toppins) [1921449] - bnxt_en: Reduce unnecessary message log during RX errors. (Jonathan Toppins) [1921449] - bnxt_en: Add a software counter for RX ring reset. (Jonathan Toppins) [1921449] - bnxt_en: Implement RX ring reset in response to buffer errors. (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_init_one_rx_ring(). (Jonathan Toppins) [1921449] - bnxt_en: Refactor bnxt_free_rx_skbs(). (Jonathan Toppins) [1921449] - bnxt_en: Log FW health status info, if reset is aborted. (Jonathan Toppins) [1921449] - bnxt_en: perform no master recovery during startup (Jonathan Toppins) [1921449] - bnxt_en: log firmware status on firmware init failure (Jonathan Toppins) [1921449] - bnxt_en: refactor bnxt_alloc_fw_health() (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.1.68. (Jonathan Toppins) [1921449] - bnxt_en: Improve preset max value for ethtool -l. (Jonathan Toppins) [1921449] - bnxt_en: Implement ethtool set_fec_param() method. (Jonathan Toppins) [1921449] - bnxt_en: Report Active FEC encoding during link up. (Jonathan Toppins) [1921449] - bnxt_en: Report FEC settings to ethtool. (Jonathan Toppins) [1921449] - bnxt_en: avoid link reset if speed is not changed (Jonathan Toppins) [1921449] - bnxt_en: Handle ethernet link being disabled by firmware. (Jonathan Toppins) [1921449] - bnxt_en: ethtool: support PAM4 link speeds up to 200G (Jonathan Toppins) [1921449] - bnxt_en: add basic infrastructure to support PAM4 link speeds (Jonathan Toppins) [1921449] - bnxt_en: refactor bnxt_get_fw_speed() (Jonathan Toppins) [1921449] - bnxt_en: refactor code to limit speed advertising (Jonathan Toppins) [1921449] - bnxt_en: Update firmware interface spec to 1.10.1.65. (Jonathan Toppins) [1921449] - bnxt: add pause frame stats (Jonathan Toppins) [1921449] - xfrm: Fix xfrm offload fallback fail case (Andrea Claudi) [1976424] - sctp: trim optlen when it's a huge value in sctp_setsockopt (Xin Long) [1983864] - netfilter: flowtable: Set offload timeouts according to proto values (Phil Sutter) [1979184] - netfilter: conntrack: Introduce udp offload timeout configuration (Phil Sutter) [1979184] - netfilter: conntrack: Introduce tcp offload timeout configuration (Phil Sutter) [1979184] - veth: check for NAPI instead of xdp_prog before xmit of XDP frame (Paolo Abeni) [1952835] - self-tests: add veth tests (Paolo Abeni) [1952835] - veth: refine napi usage (Paolo Abeni) [1952835] - veth: allow enabling NAPI even without XDP (Paolo Abeni) [1952835] - veth: use skb_orphan_partial instead of skb_orphan (Paolo Abeni) [1952835] - net: really orphan skbs tied to closing sk (Paolo Abeni) [1952835] - net: let skb_orphan_partial wake-up waiters. (Paolo Abeni) [1952835] - veth: Store queue_mapping independently of XDP prog presence (Paolo Abeni) [1952835] - net/xfrm: Add inner_ipproto into sec_path (Petr Oros) [1981429] - net, xdp: Introduce xdp_prepare_buff utility routine (Jiri Benc) [1983730] - net, xdp: Introduce xdp_init_buff utility routine (Jiri Benc) [1983730] - bridge: switchdev: Notify about VLAN protocol changes (Ivan Vecera) [1981461] - net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under RCU (Ivan Vecera) [1981461] - bridge: add br_vlan_get_proto() (Ivan Vecera) [1981461] - bridge: add br_vlan_get_pvid_rcu() (Ivan Vecera) [1981461] - RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Get rid of custom module reference counting (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Create direct symbol link between bnxt modules (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Depend on bnxt ethernet driver and not blindly select it (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix Kconfig indentation (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal() (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Move device to error state upon device crash (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Allow bigger MR creation (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Code refactor while populating user MRs (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix max_qp_wrs reported (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix entry size during SRQ create (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl. (Selvin Xavier) [1921454 1923026] - RDMA/bnxt_re: Use rdma_umem_for_each_dma_block() (Selvin Xavier) [1921454 1923026] - [s390] tools/kvm_stat: Exempt time-based counters (Claudio Imbrenda) [1981802] - Documentation/admin-guide: intel_pstate: drop doubled word (David Arcari) [1973225] - Documentation: fix multiple typos found in the admin-guide subdirectory (David Arcari) [1973225] - cpufreq: intel_pstate: Fix active mode setting from command line (David Arcari) [1973225] - cpufreq: intel_pstate: Use passive mode by default without HWP (David Arcari) [1973225] - cpufreq: intel_pstate: Use HWP if enabled by platform firmware (David Arcari) [1973225] - cpufreq: intel_pstate: Simplify intel_pstate_update_perf_limits() (David Arcari) [1973225] - cpufreq: intel_pstate: Clean up frequency computations (David Arcari) [1973225] - cpufreq/intel_pstate: Fix wrong macro conversion (David Arcari) [1973225] - cpufreq: Convert to new X86 CPU match macros (David Arcari) [1973225] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (David Arcari) [1973225] - selftests/fpu: Fix debugfs_simple_attr.cocci warning (Vitaly Kuznetsov) [1919182] - selftest/fpu: avoid clang warning (Vitaly Kuznetsov) [1919182] - redhat/configs: Add Enable CONFIG_TEST_FPU (Vitaly Kuznetsov) [1919182] - selftests/fpu: Add an FPU selftest (Vitaly Kuznetsov) [1919182] - x86/fpu/64: Don't FNINIT in kernel_fpu_begin() (Vitaly Kuznetsov) [1919182] - x86/fpu: Make the EFI FPU calling convention explicit (Vitaly Kuznetsov) [1919182] - x86/mmx: Use KFPU_387 for MMX string operations (Vitaly Kuznetsov) [1919182] - x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state (Vitaly Kuznetsov) [1919182] - x86/fpu: Simplify kernel_fpu_begin() (Vitaly Kuznetsov) [1919182] - x86/fpu: Simplify kernel_fpu_end() (Vitaly Kuznetsov) [1919182] - x86/fpu: Don't use current->mm to check for a kthread (Vitaly Kuznetsov) [1919182] - x86/fpu: Don't export __kernel_fpu_{begin,end}() (Vitaly Kuznetsov) [1919182] - intel_th: pci: Add Alder Lake-P support (Tony Camuso) [1929493 1929494]- can: bcm: delay release of struct bcm_op after synchronize_rcu() (Hangbin Liu) [1975059] {CVE-2021-3609} - seq_file: Disallow extremely large seq buffer allocations (Ian Kent) [1975182] - nvme-pci: look for StorageD3Enable on companion ACPI device instead (Gopal Tiwari) [1965660] - prctl: exe link permission error changed from -EINVAL to -EPERM (Adrian Reber) [1960708] - prctl: Allow local CAP_CHECKPOINT_RESTORE to change /proc/self/exe (Adrian Reber) [1960708] - prctl_set_mm: refactor checks from validate_prctl_map (Adrian Reber) [1960708] - proc: allow access in init userns for map_files with CAP_CHECKPOINT_RESTORE (Adrian Reber) [1960708] - pid_namespace: use checkpoint_restore_ns_capable() for ns_last_pid (Adrian Reber) [1960708] - capabilities: Introduce CAP_CHECKPOINT_RESTORE (Adrian Reber) [1960708] - scripts: skip empty CAP_* strings (Adrian Reber) [1960708] - VMCI: Release resource if the work is already queued (Cathy Avery) [1978518] - perf vendor events arm64: Add Fujitsu A64FX pmu event (Michael Petlan) [1908109] - perf vendor events arm64: Add more common and uarch events (Michael Petlan) [1908109] - sunrpc: Avoid a KASAN slab-out-of-bounds bug in xdr_set_page_base() (Benjamin Coddington) [1969751] - xfs: sync lazy sb accounting on quiesce of read-only mounts (Bill O'Donnell) [1917220] - drm/dp_mst: Avoid to mess up payload table by ports in stale topology (Lyude Paul) [1944404] - drm/dp_mst: Do not set proposed vcpi directly (Lyude Paul) [1944404] - drm/qxl: add lock asserts to qxl_bo_vmap_locked + qxl_bo_vunmap_locked (Lyude Paul) [1944404 1907341] - drm/qxl: rework cursor plane (Lyude Paul) [1944404 1907341] - drm/qxl: move shadow handling to new qxl_prepare_shadow() (Lyude Paul) [1944404 1907341] - drm/qxl: fix monitors object vmap (Lyude Paul) [1944404 1907341] - drm/qxl: fix prime vmap (Lyude Paul) [1944404 1907341] - drm/qxl: add qxl_bo_vmap/qxl_bo_vunmap (Lyude Paul) [1944404 1907341] - drm/qxl: rename qxl_bo_kmap -> qxl_bo_vmap_locked (Lyude Paul) [1944404 1907341] - drm/qxl: more fence wait rework (Lyude Paul) [1944404 1907341] - drm/qxl: properly handle device init failures (Lyude Paul) [1944404 1907341] - drm/qxl: allocate dumb buffers in ram (Lyude Paul) [1944404 1907341] - drm/qxl: simplify qxl_fence_wait (Lyude Paul) [1944404 1907341] - drm/qxl: properly free qxl releases (Lyude Paul) [1944404 1907341] - drm/qxl: handle shadow in primary destroy (Lyude Paul) [1944404 1907341] - drm/qxl: properly pin/unpin shadow (Lyude Paul) [1944404 1907341] - drm/qxl: use drmm_mode_config_init (Lyude Paul) [1944404 1907341] - drm/i915/icp+: Use icp_hpd_irq_setup() instead of spt_hpd_irq_setup() (Lyude Paul) [1944404] - drm/i915/gen9_bc: Add W/A for missing STRAP config on TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915/gen9_bc: Introduce HPD pin mappings for TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915/gen9_bc: Introduce TGP PCH DDC pin mappings (Lyude Paul) [1944404] - drm/i915/gen9_bc: Recognize TGP PCH + CML combos (Lyude Paul) [1944404] - drm/i915: rename i915_rev_steppings->intel_step_info (Lyude Paul) [1944404] - drm/i915: rename disp_stepping->display_step and gt_stepping->gt_step (Lyude Paul) [1944404] - drm/i915: rename DISP_STEPPING->DISPLAY_STEP and GT_STEPPING->GT_STEP (Lyude Paul) [1944404] - drm/i915: switch TGL and ADL to the new stepping scheme (Lyude Paul) [1944404] - drm/i915: switch KBL to the new stepping scheme (Lyude Paul) [1944404] - drm/i915: add new helpers for accessing stepping info (Lyude Paul) [1944404] - drm/i915: split out stepping info to a new file (Lyude Paul) [1944404] - drm/i915: Add DISPLAY_VER() and related macros (Lyude Paul) [1944404] - drm/i915/display: Do not allow DC3CO if PSR SF is enabled (Lyude Paul) [1944404] - drm/i915: s/dev_priv/i915/ for the remainder of DDI clock routing (Lyude Paul) [1944404] - drm/i915: Relocate icl_sanitize_encoder_pll_mapping() (Lyude Paul) [1944404] - drm/i915: Use .disable_clock() for pll sanitation (Lyude Paul) [1944404] - drm/i915: Split adl-s/rkl from icl_ddi_combo_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract _cnl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Sprinkle WARN(!pll) into icl/dg1 .clock_enable() (Lyude Paul) [1944404] - drm/i915: Sprinkle a few missing locks around shared DDI clock registers (Lyude Paul) [1944404] - drm/i915: Use intel_de_rmw() for DDI clock routing (Lyude Paul) [1944404] - drm/i915: Extract icl+ .{enable,disable}_clock() vfuncs (Lyude Paul) [1944404] - drm/i915: Convert DG1 over to .{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i195: Extract cnl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract skl_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Extract hsw_ddi_{enable,disable}_clock() (Lyude Paul) [1944404] - drm/i915: Introduce .{enable,disable}_clock() encoder vfuncs (Lyude Paul) [1944404] - drm/i915: Use intel_ddi_clk_select() for FDI (Lyude Paul) [1944404] - drm/i915/adl_s: Add GT and CTX WAs for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Add display WAs for ADL-S (Lyude Paul) [1944404] - drm/i915/display: Add HAS_D12_PLANE_MINIMIZATION (Lyude Paul) [1944404] - drm/i915/adl_s: Re-use TGL GuC/HuC firmware (Lyude Paul) [1944404] - drm/i915/adl_s: Add power wells (Lyude Paul) [1944404] - drm/i915/adl_s: Update PHY_MISC programming (Lyude Paul) [1944404] - drm/i915/adl_s: Update combo PHY master/slave relationships (Lyude Paul) [1944404] - drm/i915/adl_s: Add vbt port and aux channel settings for adls (Lyude Paul) [1944404] - drm/i915/adl_s: Add adl-s ddc pin mapping (Lyude Paul) [1944404] - drm/i915/adl_s: Initialize display for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Configure Port clock registers for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Configure DPLL for ADL-S (Lyude Paul) [1944404] - drm/i915/adl_s: Add PHYs for Alderlake S (Lyude Paul) [1944404] - drm/i915/adl_s: Add PCH support (Lyude Paul) [1944404] - drm/i915/adl_s: Add ADL-S platform info and PCI ids (Lyude Paul) [1944404] - drm/i915/tgl: Use TGL stepping info for applying WAs (Lyude Paul) [1944404] - redhat/configs: Update CONFIG_HSA_AMD (Lyude Paul) - redhat/configs: Update CONFIG_DRM_AMDGPU_USERPTR (Lyude Paul) - DRM Backport v5.11 -> v5.12.4 (Lyude Paul) [1944404] - include/linux/kernel.h: add typeof_member() macro (Lyude Paul) [1944404] - drm: Use USB controller's DMA mask when importing dmabufs (Lyude Paul) [1944404] - PM: runtime: Add pm_runtime_get_if_active() (Lyude Paul) [1944404] - PCI: Add pci_rebar_bytes_to_size() (Lyude Paul) [1944404] - PCI: Export pci_rebar_get_possible_sizes() (Lyude Paul) [1944404] - DRM backport v5.10->v5.11 (Lyude Paul) [1944404] - dma-buf: Use struct dma_buf_map in dma_buf_vunmap() interfaces (Lyude Paul) [1944404] - dma-buf: Use struct dma_buf_map in dma_buf_vmap() interfaces (Lyude Paul) [1944404] - dma-buf: Add struct dma-buf-map for storing struct dma_buf.vaddr_ptr (Lyude Paul) [1944404] - PCI/PM: Do not generate wakeup event when runtime resuming device (Lyude Paul) [1944404] - PCI/PM: Rename pci_wakeup_bus() to pci_resume_bus() (Lyude Paul) [1944404] - blktrace: make relay callbacks const (Lyude Paul) [1944404] - drm/i915: make relay callbacks const (Lyude Paul) [1944404] - relay: allow the use of const callback structs (Lyude Paul) [1944404] - relay: make create_buf_file and remove_buf_file callbacks mandatory (Lyude Paul) [1944404] - relay: require non-NULL callbacks in relay_open() (Lyude Paul) [1944404] - relay: remove unused buf_mapped and buf_unmapped callbacks (Lyude Paul) [1944404] - drm/edid: fix objtool warning in drm_cvt_modes() (Lyude Paul) [1944404] - drm/edid: Fix uninitialized variable in drm_cvt_modes() (Lyude Paul) [1944404] - DRM backport v5.9.y -> v5.10 (Lyude Paul) [1944404] - time: Introduce jiffies64_to_msecs() (Lyude Paul) [1944404] - virtio: add dma-buf support for exported objects (Lyude Paul) [1944404] - objtool: Rename frame.h -> objtool.h (Lyude Paul) [1944404] - moduleparams: Add hexint type parameter (Lyude Paul) [1944404] - iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header (Lyude Paul) [1944404]- [s390] s390/zcrypt/pkey: introduce zcrypt_wait_api_operational() function (Claudio Imbrenda) [1881833] - [s390] s390/ap: ap bus userspace notifications for some bus conditions (Claudio Imbrenda) [1881833] - [s390] s390/pkey: fix paes selftest failure with paes and pkey static build (Claudio Imbrenda) [1881833] - KVM: nSVM: Avoid tainiting kernel by default (Vitaly Kuznetsov) [1982248] - KVM: s390x: implement KVM_CAP_SET_GUEST_DEBUG2 (Thomas Huth) [1945752] - KVM: s390: fix guarded storage control register handling (Thomas Huth) [1945752] - s390/protvirt: fix error return code in uv_info_init() (Thomas Huth) [1945752] - s390/uv: fix prot virt host indication compilation (Thomas Huth) [1945752] - KVM: s390: VSIE: fix MVPG handling for prefixing and MSO (Thomas Huth) [1945752] - KVM: s390: split kvm_s390_real_to_abs (Thomas Huth) [1945752] - KVM: s390: VSIE: correctly handle MVPG when in VSIE (Thomas Huth) [1945752] - KVM: s390: extend kvm_s390_shadow_fault to return entry pointer (Thomas Huth) [1945752] - s390/uv: add prot virt guest/host indication files (Thomas Huth) [1945752] - KVM: s390: split kvm_s390_logical_to_effective (Thomas Huth) [1945752] - KVM: s390: Fix comment spelling in kvm_s390_vcpu_start() (Thomas Huth) [1945752] - s390: uv: Fix sysfs max number of VCPUs reporting (Thomas Huth) [1945752] - KVM: s390: track synchronous pfault events in kvm_stat (Thomas Huth) [1945752] - s390/gmap: make gmap memcg aware (Thomas Huth) [1945752] - KVM: s390: Add memcg accounting to KVM allocations (Thomas Huth) [1945752] - s390/uv: handle destroy page legacy interface (Thomas Huth) [1945752] - KVM: s390: pv: Mark mm as protected after the set secure parameters and improve cleanup (Thomas Huth) [1945752] - virtio/s390: implement virtio-ccw revision 2 correctly (Thomas Huth) [1945752] - sfc: deprecate SFC9020 family (Siena) (Íñigo Huguet) [1926379] - NFS: Fix open coded versions of nfs_set_cache_invalid() in NFSv4 (Benjamin Coddington) [1936478] - NFS: Fix open coded versions of nfs_set_cache_invalid() (Benjamin Coddington) [1936478] - NFS: Clean up function nfs_mark_dir_for_revalidate() (Benjamin Coddington) [1936478] - NFSD: Mark exports of NFS as tech-preview (Benjamin Coddington) [1972229] - perf vendor events intel: Add missing skylake & icelake model numbers (Michael Petlan) [1971959] - tc-testing: add test for ct DNAT tuple collision (Marcelo Ricardo Leitner) [1964578] - tc-testing: add support for sending various scapy packets (Marcelo Ricardo Leitner) [1964578] - tc-testing: fix list handling (Marcelo Ricardo Leitner) [1964578] - net/sched: act_ct: handle DNAT tuple collision (Marcelo Ricardo Leitner) [1964578] - net/packet: remove data races in fanout operations (Balazs Nemeth) [1957270] - net/packet: remove locking from packet_rcv_has_room() (Balazs Nemeth) [1957270] - net: packetmmap: fix only tx timestamp on request (Balazs Nemeth) [1970404] - x86/sgx: Add TAINT_TECH_PREVIEW for virtual EPC (Bandan Das) [1977474] - cxgb4: fix thermal zone device registration (Raju Rangoju) [1954012] - powerpc/64s: Fix crashes when toggling stf barrier (Desnes A. Nunes do Rosario) [1964484] - iavf: Fix an error handling path in 'iavf_probe()' (Stefan Assmann) [1920276] - iavf: clean up packet type lookup table (Stefan Assmann) [1920276] - iavf: redefine the magic number for FDIR GTP-U header fields (Stefan Assmann) [1920276] - iavf: enhance the duplicated FDIR list scan handling (Stefan Assmann) [1920276] - iavf: change the flex-byte support number to macro definition (Stefan Assmann) [1920276] - iavf: remove duplicate free resources calls (Stefan Assmann) [1920276] - iavf: Support for modifying SCTP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Support for modifying UDP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Support for modifying TCP RSS flow hashing (Stefan Assmann) [1920276] - iavf: Add framework to enable ethtool RSS config (Stefan Assmann) [1920276] - iavf: add support for UDP Segmentation Offload (Stefan Assmann) [1920276] - intel: clean up mismatched header comments (Stefan Assmann) [1920276] - iavf: Enable flex-bytes support (Stefan Assmann) [1920276] - iavf: Support Ethernet Type Flow Director filters (Stefan Assmann) [1920276] - iavf: Support IPv6 Flow Director filters (Stefan Assmann) [1920276] - iavf: Support IPv4 Flow Director filters (Stefan Assmann) [1920276] - iavf: Add framework to enable ethtool ntuple filters (Stefan Assmann) [1920276] - net: intel: iavf: fix error return code of iavf_init_get_resources() (Stefan Assmann) [1920276] - workqueue: Move the position of debug_work_activate() in __queue_work() (Waiman Long) [1977537] - workqueue: remove useless unlock() and lock() in series (Waiman Long) [1977537] - workqueue: Convert the pool::lock and wq_mayday_lock to raw_spinlock_t (Waiman Long) [1977537] - workqueue: Use rcuwait for wq_manager_wait (Waiman Long) [1977537] - workqueue: Remove unnecessary kfree() call in rcu_free_wq() (Waiman Long) [1977537] - workqueue: Fix an use after free in init_rescuer() (Waiman Long) [1977537] - workqueue: Use IS_ERR and PTR_ERR instead of PTR_ERR_OR_ZERO. (Waiman Long) [1977537] - workqueue: don't use wq_select_unbound_cpu() for bound works (Waiman Long) [1977537] - workqueue: Use pr_warn instead of pr_warning (Waiman Long) [1977537] - workqueue: more destroy_workqueue() fixes (Waiman Long) [1977537] - workqueue: Minor follow-ups to the rescuer destruction change (Waiman Long) [1977537] - kernel/workqueue: Document wq_worker_last_func() argument (Waiman Long) [1977537] - workqueue: Only unregister a registered lockdep key (Waiman Long) [1977537] - kernel: workqueue: clarify wq_worker_last_func() caller requirements (Waiman Long) [1977537] - workqueue: Fix spelling in source code comments (Waiman Long) [1977537] - workqueue: fix typo in comment (Waiman Long) [1977537] - ice: add correct exception tracing for XDP (Jonathan Toppins) [1920278] - ice: optimize for XDP_REDIRECT in xsk path (Jonathan Toppins) [1920278] - ice: Allow all LLDP packets from PF to Tx (Jonathan Toppins) [1920278] - ice: report supported and advertised autoneg using PHY capabilities (Jonathan Toppins) [1920278] - ice: handle the VF VSI rebuild failure (Jonathan Toppins) [1920278] - ice: Fix VFR issues for AVF drivers that expect ATQLEN cleared (Jonathan Toppins) [1920278] - ice: Fix allowing VF to request more/less queues via virtchnl (Jonathan Toppins) [1920278] - ice: track AF_XDP ZC enabled queues in bitmap (Jonathan Toppins) [1920278] - ice: handle increasing Tx or Rx ring sizes (Jonathan Toppins) [1920278] - ice: Fix potential infinite loop when using u8 loop counter (Jonathan Toppins) [1920278] - ice: fix memory leak of aRFS after resuming from suspend (Jonathan Toppins) [1920278] - ice: Cleanup fltr list in case of allocation issues (Jonathan Toppins) [1920278] - ice: Use port number instead of PF ID for WoL (Jonathan Toppins) [1920278] - ice: Fix for dereference of NULL pointer (Jonathan Toppins) [1920278] - ice: remove DCBNL_DEVRESET bit from PF state (Jonathan Toppins) [1920278] - ice: fix memory allocation call (Jonathan Toppins) [1920278] - ice: prevent ice_open and ice_stop during reset (Jonathan Toppins) [1920278] - ice: Recognize 860 as iSCSI port in CEE mode (Jonathan Toppins) [1920278] - ice: Increase control queue timeout (Jonathan Toppins) [1920278] - ice: Continue probe on link/PHY errors (Jonathan Toppins) [1920278] - ice: fix napi work done reporting in xsk path (Jonathan Toppins) [1920278] - ice: update the number of available RSS queues (Jonathan Toppins) [1920278] - ice: Fix state bits on LLDP mode switch (Jonathan Toppins) [1920278] - ice: Account for port VLAN in VF max packet size calculation (Jonathan Toppins) [1920278] - ice: Set trusted VF as default VSI when setting allmulti on (Jonathan Toppins) [1920278] - ice: report correct max number of TCs (Jonathan Toppins) [1920278] - ice: skip NULL check against XDP prog in ZC path (Jonathan Toppins) [1920278] - ice: remove redundant checks in ice_change_mtu (Jonathan Toppins) [1920278] - ice: move skb pointer from rx_buf to rx_ring (Jonathan Toppins) [1920278] - ice: simplify ice_run_xdp (Jonathan Toppins) [1920278] - ice: Improve MSI-X fallback logic (Jonathan Toppins) [1920278] - ice: Fix trivial error message (Jonathan Toppins) [1920278] - ice: remove unnecessary casts (Jonathan Toppins) [1920278] - ice: Refactor DCB related variables out of the ice_port_info struct (Jonathan Toppins) [1920278] - ice: fix writeback enable logic (Jonathan Toppins) [1920278] - ice: Use PSM clock frequency to calculate RL profiles (Jonathan Toppins) [1920278] - ice: create scheduler aggregator node config and move VSIs (Jonathan Toppins) [1920278 1940527 1940535 1940542] {CVE-2020-24504 CVE-2020-24503 CVE-2020-24502} - ice: Add initial support framework for LAG (Jonathan Toppins) [1920278] - ice: Remove xsk_buff_pool from VSI structure (Jonathan Toppins) [1920278] - ice: implement new LLDP filter command (Jonathan Toppins) [1920278] - ice: log message when trusted VF goes in/out of promisc mode (Jonathan Toppins) [1920278] - ice: remove dead code (Jonathan Toppins) [1920278] - ice: use flex_array_size where possible (Jonathan Toppins) [1920278] - ice: Replace one-element array with flexible-array member (Jonathan Toppins) [1920278] - ice: display stored UNDI firmware version via devlink info (Jonathan Toppins) [1920278] - ice: display stored netlist versions via devlink info (Jonathan Toppins) [1920278] - ice: display some stored NVM versions via devlink info (Jonathan Toppins) [1920278] - ice: introduce function for reading from flash modules (Jonathan Toppins) [1920278] - ice: cache NVM module bank information (Jonathan Toppins) [1920278] - ice: introduce context struct for info report (Jonathan Toppins) [1920278] - ice: create flash_info structure and separate NVM version (Jonathan Toppins) [1920278] - ice: report timeout length for erasing during devlink flash (Jonathan Toppins) [1920278] - ice: Implement flow for IPv6 next header (extension header) (Jonathan Toppins) [1920278] - ice: fix FDir IPv6 flexbyte (Jonathan Toppins) [1920278] - ice: drop dead code in ice_receive_skb() (Jonathan Toppins) [1920278] - ice, xsk: Move Rx allocation out of while-loop (Jonathan Toppins) [1920278] - ice: avoid premature Rx buffer reuse (Jonathan Toppins) [1920278] - ice: Add space to unknown speed (Jonathan Toppins) [1920278] - ice: join format strings to same line as ice_debug (Jonathan Toppins) [1920278] - ice: silence static analysis warning (Jonathan Toppins) [1920278] - ice: cleanup misleading comment (Jonathan Toppins) [1920278] - ice: Remove vlan_ena from vsi structure (Jonathan Toppins) [1920278] - ice: Remove gate to OROM init (Jonathan Toppins) [1920278] - ice: Enable Support for FW Override (E82X) (Jonathan Toppins) [1920278] - ice: don't always return an error for Get PHY Abilities AQ command (Jonathan Toppins) [1920278] - ice: cleanup stack hog (Jonathan Toppins) [1920278] - mm: migrate: fix missing update page_private to hugetlb_page_subpool (Chris von Recklinghausen) [1981661] - mm,hugetlb: drop clearing of flag from prep_new_huge_page (Chris von Recklinghausen) [1981661] - hugetlb: fix uninitialized subpool pointer (Chris von Recklinghausen) [1981661] - include/linux/hugetlb.h: add synchronization information for new hugetlb specific flags (Chris von Recklinghausen) [1981661] - hugetlb: convert PageHugeFreed to HPageFreed flag (Chris von Recklinghausen) [1981661] - hugetlb: convert PageHugeTemporary() to HPageTemporary flag (Chris von Recklinghausen) [1981661] - mm: hugetlb: fix a race between freeing and dissolving the page (Chris von Recklinghausen) [1981661] - mm: don't let userspace spam allocations warnings (Xin Long) [1976699] - dm writecache: make writeback pause configurable (Mike Snitzer) [1978369] - dm writecache: pause writeback if cache full and origin being written directly (Mike Snitzer) [1978369] - dm io tracker: factor out IO tracker (Mike Snitzer) [1978369] - dm writecache: add optional "metadata_only" parameter (Mike Snitzer) [1978369] - dm writecache: add "cleaner" and "max_age" to Documentation (Mike Snitzer) [1978369] - dm writecache: write at least 4k when committing (Mike Snitzer) [1978369] - dm writecache: have ssd writeback wait if the kcopyd workqueue is busy (Mike Snitzer) [1978369] - dm writecache: use list_move instead of list_del_list_add in writecache_writeback() (Mike Snitzer) [1978369] - dm writecache: commit just one block, not a full page (Mike Snitzer) [1978369] - dm writecache: remove unused gfp_t argument from wc_add_block() (Mike Snitzer) [1978369] - dm writecache: interrupt writeback if suspended (Mike Snitzer) [1978369] - dm writecache: don't split bios when overwriting contiguous cache content (Mike Snitzer) [1978369] - dm kcopyd: avoid spin_lock_irqsave from process context (Mike Snitzer) [1978369] - dm kcopyd: avoid useless atomic operations (Mike Snitzer) [1978369] - x86/asm: Optimize memcpy_flushcache() (Mike Snitzer) [1978369] - IB/isert: Align target max I/O size to initiator size (Kamal Heib) [1930955] - IB/isert: set rdma cm afonly flag (Kamal Heib) [1930955]- xsk: Rollback reservation at NETDEV_TX_BUSY (Jiri Benc) [1882711] - xsk: Fix race in SKB mode transmit with shared cq (Jiri Benc) [1882711] - bpf: Only provide bpf_sock_from_file with CONFIG_NET (Jiri Benc) [1882711] - xsk: Validate socket state in xsk_recvmsg, prior touching socket members (Jiri Benc) [1882711] - samples/bpf: Fix spelling mistake "recieving" -> "receiving" (Jiri Benc) [1882711] - samples/bpf: Sample application for eBPF load and socket creation split (Jiri Benc) [1882711] - bpf: Adds support for setting window clamp (Jiri Benc) [1882711] - tcp: declare tcp_mmap() only when CONFIG_MMU is set (Jiri Benc) [1882711] - bpf: Remove trailing semicolon in macro definition (Jiri Benc) [1882711] - bpf: Allow bpf_{s,g}etsockopt from cgroup bind{4,6} hooks (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting infra for bpf maps (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting for xskmap maps (Jiri Benc) [1882711] - bpf: Eliminate rlimit-based memory accounting for sockmap and sockhash maps (Jiri Benc) [1882711] - bpf: Refine memcg-based memory accounting for xskmap maps (Jiri Benc) [1882711] - bpf: Refine memcg-based memory accounting for sockmap and sockhash maps (Jiri Benc) [1882711] - net, xdp, xsk: fix __sk_mark_napi_id_once napi_id error (Jiri Benc) [1882711] - samples/bpf: Add option to set the busy-poll budget (Jiri Benc) [1882711] - samples/bpf: Add busy-poll support to xdpsock (Jiri Benc) [1882711] - xsk: Propagate napi_id to XDP socket Rx path (Jiri Benc) [1882711] - xsk: Add busy-poll support for {recv,send}msg() (Jiri Benc) [1882711] - xsk: Check need wakeup flag in sendmsg() (Jiri Benc) [1882711] - xsk: Add support for recvmsg() (Jiri Benc) [1882711] - net: Add SO_BUSY_POLL_BUDGET socket option (Jiri Benc) [1882711] - net: Introduce preferred busy-polling (Jiri Benc) [1882711] - net: napi: use READ_ONCE()/WRITE_ONCE() (Jiri Benc) [1882711] - net: napi: add hard irqs deferral feature (Jiri Benc) [1882711] - fs/eventpoll.c: simply CONFIG_NET_RX_BUSY_POLL ifdefery (Jiri Benc) [1882711] - xdp: Remove the functions xsk_map_inc and xsk_map_put (Jiri Benc) [1882711] - xsk: Introduce batched Tx descriptor interfaces (Jiri Benc) [1882711] - xsk: Introduce padding between more ring pointers (Jiri Benc) [1882711] - net: page_pool: Add bulk support for ptr_ring (Jiri Benc) [1882711] - net: xdp: Introduce bulking for xdp tx return path (Jiri Benc) [1882711] - bpf: Rename some functions in bpf_sk_storage (Jiri Benc) [1882711] - bpf: Folding omem_charge() into sk_storage_charge() (Jiri Benc) [1882711] - net/smc: properly handle workqueue allocation failure (Andrea Claudi) [1955178] - Revert "net/smc: fix a NULL pointer dereference" (Andrea Claudi) [1955178] - KVM: selftests: evmcs_test: Test that KVM_STATE_NESTED_EVMCS is never lost (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Request to sync eVMCS from VMCS12 after migration (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Reset eVMCS clean fields data from prepare_vmcs02() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Force enlightened VMCS sync from nested_vmx_failValid() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Ignore 'hv_clean_fields' data when eVMCS data is copied in vmx_get_nested_state() (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Release enlightened VMCS on VMCLEAR (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Introduce 'EVMPTR_MAP_PENDING' post-migration state (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Make copy_vmcs12_to_enlightened()/copy_enlightened_to_vmcs12() return 'void' (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Release eVMCS when enlightened VMENTRY was disabled (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Don't set 'dirty_vmcs12' flag on enlightened VMPTRLD (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Use '-1' in 'hv_evmcs_vmptr' to indicate that eVMCS is not in use (Vitaly Kuznetsov) [1940837] - KVM: selftests: evmcs_test: Check that VMCS12 is alway properly synced to eVMCS after restore (Vitaly Kuznetsov) [1940837] - KVM: selftests: evmcs_test: Check that VMLAUNCH with bogus EVMPTR is causing #UD (Vitaly Kuznetsov) [1940837] - KVM: nVMX: Always make an attempt to map eVMCS after migration (Vitaly Kuznetsov) [1940837] - Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working (Gopal Tiwari) [1973909] - KVM: x86: Unload MMU on guest TLB flush if TDP disabled to force MMU sync (Vitaly Kuznetsov) [1906634] - scsi: sbitmap: Silence a debug kernel warning triggered by sbitmap_put() (Ewan D. Milne) [1761937] - scsi: core: Replace sdev->device_busy with sbitmap (Ewan D. Milne) [1761937] - scsi: core: Make sure sdev->queue_depth is <= max(shost->can_queue, 1024) (Ewan D. Milne) [1761937] - scsi: core: Add scsi_device_busy() wrapper (Ewan D. Milne) [1761937] - scsi: blk-mq: Return budget token from .get_budget callback (Ewan D. Milne) [1761937] - scsi: blk-mq: Add callbacks for storing & retrieving budget token (Ewan D. Milne) [1761937] - scsi: sbitmap: Add sbitmap_calculate_shift() helper (Ewan D. Milne) [1761937] - scsi: sbitmap: Export sbitmap_weight (Ewan D. Milne) [1761937] - scsi: sbitmap: Move allocation hint into sbitmap (Ewan D. Milne) [1761937] - scsi: sbitmap: Add helpers for updating allocation hint (Ewan D. Milne) [1761937] - scsi: sbitmap: Maintain allocation round_robin in sbitmap (Ewan D. Milne) [1761937] - scsi: sbitmap: Remove sbitmap_clear_bit_unlock (Ewan D. Milne) [1761937] - blk-mq: pass request queue into get/put budget callback (Ewan D. Milne) [1761937] - dma-iommu: implement ->alloc_noncontiguous (Jerry Snitselaar) [1955767] - dma-iommu: refactor iommu_dma_alloc_remap (Jerry Snitselaar) [1955767] - dma-mapping: add a dma_alloc_noncontiguous API (Jerry Snitselaar) [1955767] - dma-mapping: refactor dma_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-mapping: add a dma_mmap_pages helper (Jerry Snitselaar) [1955767] - dma-mapping: remove the {alloc,free}_noncoherent methods (Jerry Snitselaar) [1955767] - iommu/vt-d: Make unnecessarily global functions static (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove unused function declarations (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove SVM_FLAG_PRIVATE_PASID (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove svm_dev_ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Use Real PCI DMA device for IRTE (Jerry Snitselaar) [1955767] - iommu/vt-d: Calculate and set flags for handle_mm_fault (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix build error of pasid_enable_wpe() with !X86 (Jerry Snitselaar) [1955767] - iommu/vt-d: Avoid unnecessary cache flush in pasid entry teardown (Jerry Snitselaar) [1955767] - iommu/vt-d: Enable write protect propagation from guest (Jerry Snitselaar) [1955767] - iommu/vt-d: Enable write protect for supervisor SVM (Jerry Snitselaar) [1955767] - iommu/vt-d: Report more information about invalidation errors (Jerry Snitselaar) [1955767] - iommu/vt-d: Disable SVM when ATS/PRI/PASID are not enabled in the device (Jerry Snitselaar) [1955767] - iommu: Stop exporting free_iova_fast() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_dma_free_cpu_cached_iovas() (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove IOVA domain rcache flushing for CPU offlining (Jerry Snitselaar) [1955767] - iova: Add CPU hotplug handler to flush rcaches (Jerry Snitselaar) [1955767] - iommu/iova: Improve restart logic (Jerry Snitselaar) [1955767] - iommu/iova: Add rbtree entry helper (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Remove the unused fields for PREFETCH_CONFIG command (Jerry Snitselaar) [1955767] - iommu/vt-d: Use user privilege for RID2PASID translation (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix sysfs leak in alloc_iommu() (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add a check to avoid invalid iotlb sync (Jerry Snitselaar) [1955767] - x86/events/amd/iommu: Fix invalid Perf result due to IOMMU PMC power-gating (Jerry Snitselaar) [1955767] - iommu: Fix a boundary issue to avoid performance drop (Jerry Snitselaar) [1955767] - iommu/vt-d: Check for allocation failure in aux_detach_device() (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove unused dma map/unmap trace events (Jerry Snitselaar) [1955767] - iommu/amd: Clear DMA ops when switching domain (Jerry Snitselaar) [1955767] - iommu/amd: Remove performance counter pre-initialization test (Jerry Snitselaar) [1955767] - Revert "iommu/amd: Fix performance counter initialization" (Jerry Snitselaar) [1955767] - iommu/dma: Resurrect the "forcedac" option (Jerry Snitselaar) [1955767] - iommu: Check dev->iommu in iommu_dev_xxx functions (Jerry Snitselaar) [1955767] - iommu/amd: Put newline after closing bracket in warning (Jerry Snitselaar) [1955767] - iommu/vt-d: Force to flush iotlb before creating superpage (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix an error handling path in 'intel_prepare_irq_remapping()' (Jerry Snitselaar) [1955767] - iommu/vt-d: Invalidate PASID cache when root/context entry changed (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove WO permissions on second-level paging entries (Jerry Snitselaar) [1955767] - iommu/vt-d: Report the right page fault address (Jerry Snitselaar) [1955767] - iommu/vt-d: Report right snoop capability when using FL for IOVA (Jerry Snitselaar) [1955767] - iommu/vt-d: Don't set then clear private data in prq_event_thread() (Jerry Snitselaar) [1955767] - iommu/vt-d: Reject unsupported page request modes (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: add bit field SFM into GERROR_ERR_MASK (Jerry Snitselaar) [1955767] - iommu/amd: Keep track of amd_iommu_irq_remap state (Jerry Snitselaar) [1955767] - iommu/amd: Don't call early_amd_iommu_init() when AMD IOMMU is disabled (Jerry Snitselaar) [1955767] - iommu/amd: Move Stoney Ridge check to detect_ivrs() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix status code for Allocate/Free PASID command (Jerry Snitselaar) [1955767] - iommu: Don't use lazy flush for untrusted device (Jerry Snitselaar) [1955767] - iommu/amd: Fix sleeping in atomic in increase_address_space() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_dev_has_feature() (Jerry Snitselaar) [1955767] - iommu: Delete iommu_domain_window_disable() (Jerry Snitselaar) [1955767] - iommu: Stop exporting iommu_map_sg_atomic() (Jerry Snitselaar) [1955767] - iova: Stop exporting some more functions (Jerry Snitselaar) [1955767] - iova: Delete copy_reserved_iova() (Jerry Snitselaar) [1955767] - iova: Make has_iova_flush_queue() private (Jerry Snitselaar) [1955767] - iommu/vt-d: Add iotlb_sync_map callback (Jerry Snitselaar) [1955767] - iommu/vt-d: Move capability check code to cap_audit files (Jerry Snitselaar) [1921289] - iommu/vt-d: Audit IOMMU Capabilities and add helper functions (Jerry Snitselaar) [1921289] - iommu/vt-d: Fix 'physical' typos (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix compile error [-Werror=implicit-function-declaration] (Jerry Snitselaar) [1955767] - iommu/vt-d: Use INVALID response code instead of FAILURE (Jerry Snitselaar) [1920726] - iommu/vt-d: Clear PRQ overflow only when PRQ is empty (Jerry Snitselaar) [1955767] - iommu/vt-d: Preset Access/Dirty bits for IOVA over FL (Jerry Snitselaar) [1955767] - iommu/vt-d: Add qi_submit trace event (Jerry Snitselaar) [1955767] - iommu/vt-d: Consolidate duplicate cache invaliation code (Jerry Snitselaar) [1955767] - iommu/amd: Adopt IO page table framework for AMD IOMMU v1 page table (Jerry Snitselaar) [1955767] - iommu/amd: Introduce iommu_v1_map_page and iommu_v1_unmap_page (Jerry Snitselaar) [1955767] - iommu/amd: Introduce iommu_v1_iova_to_phys (Jerry Snitselaar) [1955767] - iommu/amd: Refactor fetch_pte to use struct amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Rename variables to be consistent with struct io_pgtable_ops (Jerry Snitselaar) [1955767] - iommu/amd: Remove amd_iommu_domain_get_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Restructure code for freeing page table (Jerry Snitselaar) [1955767] - iommu/amd: Move IO page table related functions (Jerry Snitselaar) [1955767] - iommu/amd: Declare functions as extern (Jerry Snitselaar) [1955767] - iommu/amd: Convert to using amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Move pt_root to struct amd_io_pgtable (Jerry Snitselaar) [1955767] - iommu/amd: Prepare for generic IO page table framework (Jerry Snitselaar) [1955767] - iommu/amd: Re-define amd_iommu_domain_encode_pgtable as inline (Jerry Snitselaar) [1955767] - iommu/amd: remove h from printk format specifier (Jerry Snitselaar) [1955767] - iommu/amd: Use DEFINE_SPINLOCK() for spinlock (Jerry Snitselaar) [1955767] - iommu/amd: Remove unnecessary assignment (Jerry Snitselaar) [1955767] - iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Add cfg as a param in some macros (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Clarify LVL_SHIFT/BITS macro (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Remove TLBI_ON_MAP quirk (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Allow io_pgtable_tlb ops optional (Jerry Snitselaar) [1955767] - iommu: Switch gather->end to the inclusive end (Jerry Snitselaar) [1955767] - iommu: Add iova and size as parameters in iotlb_sync_map (Jerry Snitselaar) [1955767] - iommu: Move iotlb_sync_map out from __iommu_map (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for VHE (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Make BTM optional for SVA (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Split arm_smmu_tlb_inv_range() (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Use DEFINE_RES_MEM() to simplify code (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Remove the page 1 fixup (Jerry Snitselaar) [1955767] - x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guests (Jerry Snitselaar) [1955767] - iommu: Check dev->iommu in dev_iommu_priv_get() before dereferencing it (Jerry Snitselaar) [1955767] - iommu/vt-d: Do not use flush-queue when caching-mode is on (Jerry Snitselaar) [1955767] - iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid() (Jerry Snitselaar) [1955767] - iommu/amd: Use IVHD EFR for early initialization of IOMMU features (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix ineffective devTLB invalidation for subdevices (Jerry Snitselaar) [1920750 1920749] - iommu/vt-d: Fix general protection fault in aux_detach_device() (Jerry Snitselaar) [1920748] - iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix lockdep splat in sva bind()/unbind() (Jerry Snitselaar) [1955767] - Revert "iommu: Add quirk for Intel graphic devices in map_sg" (Jerry Snitselaar) [1955767] - iommu/intel: Fix memleak in intel_irq_remapping_alloc (Jerry Snitselaar) [1955767] - iommu/iova: fix 'domain' typos (Jerry Snitselaar) [1955767] - dma-iommu: remove __iommu_dma_mmap (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Remove tlb_flush_leaf (Jerry Snitselaar) [1955767] - iommu/vt-d: Avoid GFP_ATOMIC where it is not needed (Jerry Snitselaar) [1955767] - iommu/vt-d: Remove set but not used variable (Jerry Snitselaar) [1955767] - iommu/vt-d: Cleanup after converting to dma-iommu ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Convert intel iommu driver to the iommu ops (Jerry Snitselaar) [1955767] - iommu/vt-d: Don't clear GFP_DMA and GFP_DMA32 flags (Jerry Snitselaar) [1955767] - iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev (Jerry Snitselaar) [1955767] - iommu: Add quirk for Intel graphic devices in map_sg (Jerry Snitselaar) [1955767] - swiotlb: remove the tbl_dma_addr argument to swiotlb_tbl_map_single (Jerry Snitselaar) [1955767] - swiotlb-xen: remove start_dma_addr (Jerry Snitselaar) [1955767] - iommu: Allow the dma-iommu api to use bounce buffers (Jerry Snitselaar) [1955767] - iommu: Add iommu_dma_free_cpu_cached_iovas() (Jerry Snitselaar) [1955767] - iommu: Handle freelists when using deferred flushing in iommu drivers (Jerry Snitselaar) [1955767] - iommu/sva: Add PASID helpers (Jerry Snitselaar) [1955767] - iommu/ioasid: Add ioasid references (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Remove unused 'level' parameter from iopte_type() macro (Jerry Snitselaar) [1955767] - iommu: Defer the early return in arm_(v7s/lpae)_map (Jerry Snitselaar) [1955767] - iommu: Improve the performance for direct_mapping (Jerry Snitselaar) [1955767] - iommu: return error code when it can't get group (Jerry Snitselaar) [1955767] - iommu: Modify the description of iommu_sva_unbind_device (Jerry Snitselaar) [1955767] - iommu: Stop exporting free_iova_mem() (Jerry Snitselaar) [1955767] - iommu: Stop exporting alloc_iova_mem() (Jerry Snitselaar) [1955767] - iommu: Delete split_and_remove_iova() (Jerry Snitselaar) [1955767] - iommu: avoid taking iova_rbtree_lock twice (Jerry Snitselaar) [1955767] - iommu/iova: Free global iova rcache on iova alloc failure (Jerry Snitselaar) [1955767] - iommu/iova: Retry from last rb tree node if iova search fails (Jerry Snitselaar) [1955767] - iommu: Fix htmldocs warnings in sysfs-kernel-iommu_groups (Jerry Snitselaar) [1955767] - iommu: Document usage of "/sys/kernel/iommu_groups//type" file (Jerry Snitselaar) [1838589] - iommu: Take lock before reading iommu group default domain type (Jerry Snitselaar) [1838589] - iommu: Add support to change default domain of an iommu group (Jerry Snitselaar) [1838589] - iommu: Move def_domain type check for untrusted device into core (Jerry Snitselaar) [1838589] - iommu/arm-smmu-v3: Hook up ATC invalidation to mm ops (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind() (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Move non-strict mode to use io_pgtable_domain_attr (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add support for pagetable config domain attribute (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Assign boolean values to a bool variable (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Add support to use system cache (Jerry Snitselaar) [1955767] - iommu/io-pgtable: Add a domain attribute for pagetable configuration (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Support coherency for Mali LPAE (Jerry Snitselaar) [1955767] - dma-mapping: document dma_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling (Jerry Snitselaar) [1955767] - dma-direct: factor out a dma_direct_alloc_from_pool helper (Jerry Snitselaar) [1955767] - dma-direct check for highmem pages in dma_direct_alloc_pages (Jerry Snitselaar) [1955767] - firewire-ohci: use dma_alloc_pages (Jerry Snitselaar) [1955767] - dma-iommu: implement ->alloc_noncoherent (Jerry Snitselaar) [1955767] - dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods (Jerry Snitselaar) [1955767] - dma-mapping: add a new dma_alloc_pages API (Jerry Snitselaar) [1955767] - dma-mapping: add a new dma_alloc_noncoherent API (Jerry Snitselaar) [1955767] - drm/nouveau/gk20a: stop setting DMA_ATTR_NON_CONSISTENT (Jerry Snitselaar) [1955767] - mm: turn alloc_pages into an inline function (Jerry Snitselaar) [1955767] - dma-mapping: better document dma_addr_t and DMA_MAPPING_ERROR (Jerry Snitselaar) [1955767] - dma-mapping: move valid_dma_direction to dma-direction.h (Jerry Snitselaar) [1955767] - dma-debug: convert comma to semicolon (Jerry Snitselaar) [1955767] - dma-direct: Fix potential NULL pointer dereference (Jerry Snitselaar) [1955767] - dma-mapping: move the dma_declare_coherent_memory documentation (Jerry Snitselaar) [1955767] - dma-mapping: move dma_common_{mmap,get_sgtable} out of mapping.c (Jerry Snitselaar) [1955767] - dma-mapping: make support for dma ops optional (Jerry Snitselaar) [1955767] - dma-direct: rename and cleanup __phys_to_dma (Jerry Snitselaar) [1955767] - dma-direct: remove __dma_to_phys (Jerry Snitselaar) [1955767] - dma-direct: use phys_to_dma_direct in dma_direct_alloc (Jerry Snitselaar) [1955767] - dma-direct: lift gfp_t manipulation out of__dma_direct_alloc_pages (Jerry Snitselaar) [1955767] - dma-direct: remove dma_direct_{alloc,free}_pages (Jerry Snitselaar) [1955767] - dma-debug: remove most exports (Jerry Snitselaar) [1955767] - dma-mapping: remove the dma_dummy_ops export (Jerry Snitselaar) [1955767] - dma-mapping: set default segment_boundary_mask to ULONG_MAX (Jerry Snitselaar) [1955767] - dma-mapping: introduce dma_get_seg_boundary_nr_pages() (Jerry Snitselaar) [1955767] - swiotlb: using SIZE_MAX needs limits.h included (Jerry Snitselaar) [1955767] - swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb" (Jerry Snitselaar) [1955767] - swiotlb: Mark max_segment with static keyword (Jerry Snitselaar) [1955767] - swiotlb: Declare swiotlb_late_init_with_default_size() in header (Jerry Snitselaar) [1955767] - swiotlb: Use pa to print phys_addr_t variables (Jerry Snitselaar) [1955767] - dma-debug: remove debug_dma_assert_idle() function (Jerry Snitselaar) [1955767] - dma-mapping: move debug configuration options to kernel/dma (Jerry Snitselaar) [1955767] - dma-debug: fix debug_dma_assert_idle(), use rcu_read_lock() (Jerry Snitselaar) [1955767] - iommu: Check return of __iommu_attach_device() (Jerry Snitselaar) [1955767] - iommu/amd: Enforce 4k mapping for certain IOMMU data structures (Jerry Snitselaar) [1955767] - iommu: Fix a check in iommu_check_bind_data() (Jerry Snitselaar) [1955767] - iommu/vt-d: Fix a bug for PDP check in prq_event_thread (Jerry Snitselaar) [1955767] - iommu/vt-d: Check UAPI data processed by IOMMU core (Jerry Snitselaar) [1955767] - iommu/uapi: Handle data and argsz filled by users (Jerry Snitselaar) [1955767] - iommu/uapi: Rename uapi functions (Jerry Snitselaar) [1955767] - iommu/uapi: Use named union for user data (Jerry Snitselaar) [1955767] - iommu/uapi: Add argsz for user filled data (Jerry Snitselaar) [1955767] - docs: IOMMU user API (Jerry Snitselaar) [1955767] - iommu/dma: Handle init_iova_flush_queue() failure in dma-iommu path (Jerry Snitselaar) [1955767] - iommu/iova: Replace cmpxchg with xchg in queue_iova (Jerry Snitselaar) [1955767] - iommu/dma: Remove broken huge page handling (Jerry Snitselaar) [1955767] - iommu: Rename iommu_tlb_* functions to iommu_iotlb_* (Jerry Snitselaar) [1955767] - iommu/vt-d: Use device numa domain if RHSA is missing (Jerry Snitselaar) [1955767] - iommu/vt-d: Drop kerneldoc marker from regular comment (Jerry Snitselaar) [1955767] - iommu/amd: Re-purpose Exclusion range registers to support SNP CWWB (Jerry Snitselaar) [1955767] - iommu/amd: Add support for RMP_PAGE_FAULT and RMP_HW_ERR (Jerry Snitselaar) [1955767] - iommu/amd: Use 4K page for completion wait write-back semaphore (Jerry Snitselaar) [1955767] - iommu/amd: Add missing function prototypes to fix -Wmissing-prototypes (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add SVA device feature (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Check for SVA features (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Seize private ASID (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Share process page tables (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Move definitions to a header (Jerry Snitselaar) [1955767] - iommu/io-pgtable-arm: Move some definitions to a header (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Ensure queue is read after updating prod pointer (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Constify some helpers (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Prepare for the adreno-smmu implementation (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add support for split pagetables (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Pass io-pgtable config to implementation specific function (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix endianness annotations (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: permit users to disable msi polling (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: replace module_param_named by module_param for disable_bypass (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: replace symbolic permissions by octal permissions for module parameter (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix l1 stream table size in the error message (Jerry Snitselaar) [1955767] - ACPI: Do not create new NUMA domains from ACPI static tables that are not SRAT (Jerry Snitselaar) [1955767] - iommu/amd: Prevent NULL pointer dereference (Jerry Snitselaar) [1955767] - treewide: Use fallthrough pseudo-keyword (Jerry Snitselaar) [1955767] - virtio-iommu: convert to LE accessors (Jerry Snitselaar) [1955767] - virtio_iommu: correct tags for config space fields (Jerry Snitselaar) [1955767] - mmap locking API: use coccinelle to convert mmap_sem rwsem call sites (Jerry Snitselaar) [1955767] - iommu/iova: Unify format of the printed messages (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Move Arm SMMU drivers into their own subdirectory (Jerry Snitselaar) [1955767] - iommu/arm-smmu: move TLB timeout and spin count macros (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Call configuration impl hook before consuming features (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Manage ASIDs with xarray (Jerry Snitselaar) [1955767] - redhat/configs: Add CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Break insecure users by disabling bypass by default (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Workaround for Marvell Armada-AP806 SoC erratum #582743 (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Allow client devices to select direct mapping (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Add global/context fault implementation hooks (Jerry Snitselaar) [1955767] - iommu/arm-smmu: add NVIDIA implementation for ARM MMU-500 usage (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Fix trivial typo (Jerry Snitselaar) [1955767] - iommu/arm-smmu: Update impl quirks comment (Jerry Snitselaar) [1955767] - iommu: arm-smmu-impl: Convert to a generic reset implementation (Jerry Snitselaar) [1955767] - iommu: arm-smmu-impl: Add sdm845 implementation hook (Jerry Snitselaar) [1955767] - firmware/qcom_scm: Add scm call to handle smmu errata (Jerry Snitselaar) [1955767] - firmware: qcom_scm-64: Add atomic version of qcom_scm_call (Jerry Snitselaar) [1955767] - firmware: qcom: scm: Ensure 'a0' status code is treated as signed (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Batch context descriptor invalidation (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Write level-1 descriptors atomically (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for PCI PASID (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add second level of context descriptor table (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Prepare for handling arm_smmu_write_ctx_desc() failure (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Propagate ssid_bits (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add support for Substream IDs (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Add context descriptor tables allocators (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Prepare arm_smmu_s1_cfg for SSID support (Jerry Snitselaar) [1955767] - dt-bindings: document PASID property for IOMMU masters (Jerry Snitselaar) [1955767] - iommu/arm-smmu-v3: Don't display an error when IRQ lines are missing (Jerry Snitselaar) [1955767] - selftests: net: add UDP GRO forwarding self-tests (Paolo Abeni) [1948493] - bareudp: allow UDP L4 GRO passthrou (Paolo Abeni) [1948493] - geneve: allow UDP L4 GRO passthrou (Paolo Abeni) [1948493] - vxlan: allow L4 GRO passthrough (Paolo Abeni) [1948493] - udp: never accept GSO_FRAGLIST packets (Paolo Abeni) [1948493] - udp: properly complete L4 GRO over UDP tunnel packet (Paolo Abeni) [1948493] - udp: skip L4 aggregation for UDP tunnel packets (Paolo Abeni) [1948493] - udp: fixup csum for GSO receive slow path (Paolo Abeni) [1948493] - udp: allow forwarding of plain (non-fraglisted) UDP GRO packets (Paolo Abeni) [1948493] - net: introduce a netdev feature for UDP GRO forwarding (Paolo Abeni) [1948493] - [s390] s390/pkey: support CCA and EP11 secure ECC private keys (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: Support for CCA APKA master keys (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: remove set_fs() invocation in zcrypt device driver (Claudio Imbrenda) [1780669] - [s390] s390/zcrypt: simplify cca_findcard2 loop code (Claudio Imbrenda) [1780669] - cxgb4: Add new T6 PCI device id 0x6092 (Rahul Lakkireddy) [1950186] - KVM: VMX: Don't use vcpu->run->internal.ndata as an array index (Jon Maloy) [1954219] {CVE-2021-3501} - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt() (Gopal Tiwari) [1978598] - Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt() (Gopal Tiwari) [1978598] - Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt() (Gopal Tiwari) [1978598] - x86/cpu: Avoid cpuinfo-induced IPIing of idle CPUs (Waiman Long) [1970499] - x86/cpu: Avoid cpuinfo-induced IPI pileups (Waiman Long) [1970499] - x86/cpu: Disable frequency requests via aperfmperf IPI for nohz_full CPUs (Waiman Long) [1970499] - x86: Convert some slow-path static_cpu_has() callers to boot_cpu_has() (Waiman Long) [1970499] - x86/ldt: Enable LDT user-mapping for PAE (Waiman Long) [1970499] - fanotify: fix merging marks masks with FAN_ONDIR (Miklos Szeredi) [1832099] - sfc: avoid duplicated code in ef10_sriov (Íñigo Huguet) [1931779] - sfc: explain that "attached" VFs only refer to Xen (Íñigo Huguet) [1931779] - sfc: error code if SRIOV cannot be disabled (Íñigo Huguet) [1931779] - sfc: avoid double pci_remove of VFs (Íñigo Huguet) [1931779] - tpm: fix error return code in tpm2_get_cc_attrs_tbl() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Reserve locality in tpm_tis_resume() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt() (Jerry Snitselaar) [1920812] - tpm: vtpm_proxy: Avoid reading host log when using a virtual device (Jerry Snitselaar) [1920812] - tpm: acpi: Check eventlog signature before using it (Jerry Snitselaar) [1920812] - tpm: efi: Use local variable for calculating final log size (Jerry Snitselaar) [1920812] - tpm: Remove unintentional dump_stack() call (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Decorate tpm_tis_gen_interrupt() with request_locality() (Jerry Snitselaar) [1920812] - tpm, tpm_tis: Decorate tpm_get_timeouts() with request_locality() (Jerry Snitselaar) [1920812] - KEYS: trusted: Reserve TPM for seal and unseal operations (Jerry Snitselaar) [1920812] - tpm/ppi: Constify static struct attribute_group (Jerry Snitselaar) [1920812] - tpm: add sysfs exports for all banks of PCR registers (Jerry Snitselaar) [1920812] - tpm: Remove tpm_dev_wq_lock (Jerry Snitselaar) [1920812] - tpm: Fix fall-through warnings for Clang (Jerry Snitselaar) [1920812] - tpm_tis: Clean up locality release (Jerry Snitselaar) [1920812] - tpm_tis: Disable interrupts on ThinkPad T490s (Jerry Snitselaar) [1920812] - tpm_tis: Fix check_locality for correct locality acquisition (Jerry Snitselaar) [1920812] - fuse: invalidate attrs when page writeback completes (Vivek Goyal) [1966424] - net/sched: act_ct: remove rh_mark_used_feature mark (Marcelo Ricardo Leitner) [1973381] - selftests: netfilter: Pass family parameter "-f" to conntrack tool (Hangbin Liu) [1979203] - selftests: netfilter: remove unused cnt and simplify command testing (Hangbin Liu) [1979203] - selftests: netfilter: fix nft_meta.sh error reporting (Hangbin Liu) [1979203] - selftests: netfilter: add cpu counter check (Hangbin Liu) [1979203] - selftests: netfilter: add meta iif/oif match test (Hangbin Liu) [1979203] - NFS: Only change the cookie verifier if the directory page cache is empty (Benjamin Coddington) [1982825] - NFS: Fix handling of cookie verifier in uncached_readdir() (Benjamin Coddington) [1982825] - nfs: Subsequent READDIR calls should carry non-zero cookieverifier (Benjamin Coddington) [1982825] - Revert "[netdrv] net/mlx5e: Rx, Update page pool numa node when changed" (Alaa Hleihel) [1915308] - mlx5: net: zero-initialize tc skb extension on allocation (Alaa Hleihel) [1915308 1965418] - RDMA/mlx5: Don't add slave port to unaffiliated list (Alaa Hleihel) [1915308] - net/mlx5: Reset mkey index on creation (Alaa Hleihel) [1915308] - net/mlx5e: Don't create devices during unload flow (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix STEv1 incorrect L3 decapsulation padding (Alaa Hleihel) [1915308] - net/mlx5: SF_DEV, remove SF device on invalid state (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Allow setting GUID for host PF vport (Alaa Hleihel) [1915308 1967488] - net/mlx5: E-Switch, Read PF mac address (Alaa Hleihel) [1915308 1967488] - net/mlx5: Check that driver was probed prior attaching the device (Alaa Hleihel) [1915308] - net/mlx5: Fix error path for set HCA defaults (Alaa Hleihel) [1915308] - net/mlx5e: Disable TLS device offload in kdump mode (Alaa Hleihel) [1915308 1946647] - net/mlx5e: Disable TX MPWQE in kdump mode (Alaa Hleihel) [1915308 1946647] - net/mlx5e: kTLS, Add resiliency to RX resync failures (Alaa Hleihel) [1915308] - net/mlx5e: TX, Inline function mlx5e_tls_handle_tx_wqe() (Alaa Hleihel) [1915308] - net/mlx5e: TX, Inline TLS skb check (Alaa Hleihel) [1915308] - net/mlx5e: Cleanup unused function parameter (Alaa Hleihel) [1915308] - net/mlx5e: Remove non-essential TLS SQ state bit (Alaa Hleihel) [1915308] - net/mlx5e: Restrict usage of mlx5e_priv in params logic functions (Alaa Hleihel) [1915308] - net/mlx5e: Fix lost changes during code movements (Alaa Hleihel) [1915308] - net/mlx5e: Move params logic into its dedicated file (Alaa Hleihel) [1915308] - net/mlx5e: Pass q_counter indentifier as parameter to rq_param builders (Alaa Hleihel) [1915308] - net/mlx5e: Block offload of outer header csum for GRE tunnel (Alaa Hleihel) [1915308] - net/mlx5e: Block offload of outer header csum for UDP tunnels (Alaa Hleihel) [1915308] - Revert "net/mlx5: Arm only EQs with EQEs" (Alaa Hleihel) [1915308] - net/mlx5e: Verify dev is present in get devlink port ndo (Alaa Hleihel) [1915308] - net/mlx5: DR, Don't use SW steering when RoCE is not supported (Alaa Hleihel) [1915308] - net/mlx5: Consider RoCE cap before init RDMA resources (Alaa Hleihel) [1915308] - net/mlx5e: Fix page reclaim for dead peer hairpin (Alaa Hleihel) [1915308] - net/mlx5e: Remove dependency in IPsec initialization flows (Alaa Hleihel) [1915308] - net/mlx5e: Fix use-after-free of encap entry in neigh update handler (Alaa Hleihel) [1915308] - IB/mlx5: Fix initializing CQ fragments buffer (Alaa Hleihel) [1915308 1974263] - RDMA/mlx5: Block FDB rules when not in switchdev mode (Alaa Hleihel) [1915308] - RDMA/mlx5: Use different doorbell memory for different processes (Alaa Hleihel) [1915308] - net/mlx5: Fix duplicate included vhca_event.h (Alaa Hleihel) [1915308] - net/mlx5: Fix lag port remapping logic (Alaa Hleihel) [1915308] - net/mlx5e: IPsec/rep_tc: Fix rep_tc_update_skb drops IPsec packet (Alaa Hleihel) [1915308] - net/mlx5: DR, Create multi-destination flow table with level less than 64 (Alaa Hleihel) [1915308] - net/mlx5e: Fix adding encap rules to slow path (Alaa Hleihel) [1915308] - net/mlx5e: Check for needed capability for cvlan matching (Alaa Hleihel) [1915308] - net/mlx5: Check firmware sync reset requested is set before trying to abort it (Alaa Hleihel) [1915308] - net/mlx5e: Disable TLS offload for uplink representor (Alaa Hleihel) [1915308] - net/mlx5e: Fix incompatible casting (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix query DCT via DEVX (Alaa Hleihel) [1915308] - RDMA/mlx5: Recover from fatal event in dual port mode (Alaa Hleihel) [1915308] - net/mlx5: Set term table as an unmanaged flow table (Alaa Hleihel) [1915308] - net/mlx5e: Fix error path of updating netdev queues (Alaa Hleihel) [1915308] - net/mlx5e: Reject mirroring on source port change encap rules (Alaa Hleihel) [1915308] - net/mlx5e: Fix multipath lag activation (Alaa Hleihel) [1915308] - net/mlx5e: reset XPS on error flow if netdev isn't registered yet (Alaa Hleihel) [1915308] - net/mlx5e: Make sure fib dev exists in fib event (Alaa Hleihel) [1915308] - net/mlx5e: Fix null deref accessing lag dev (Alaa Hleihel) [1915308] - net/mlx5e: Fix nullptr in mlx5e_tc_add_fdb_flow() (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix show state inactive when its inactivated (Alaa Hleihel) [1915308] - net/mlx5: Set reformat action when needed for termination rules (Alaa Hleihel) [1915308] - net/mlx5e: Fix nullptr in add_vlan_push_action() (Alaa Hleihel) [1915308] - {net, RDMA}/mlx5: Fix override of log_max_qp by other device (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix SQ/RQ in doorbell bitmask (Alaa Hleihel) [1915308] - net/mlx5: Fix bit-wise and with zero (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix drop packet rule in egress table (Alaa Hleihel) [1915308] - net/mlx5: Fix spelling mistakes in mlx5_core_info message (Alaa Hleihel) [1915308] - net/mlx5: DR, Fixed typo in STE v0 (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix mlx5 rates to IB rates map (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix query RoCE port (Alaa Hleihel) [1915308] - RDMA/mlx5: Zero out ODP related items in the mlx5_ib_mr (Alaa Hleihel) [1915308] - net/mlx5e: Alloc flow spec using kvzalloc instead of kzalloc (Alaa Hleihel) [1915308] - net/mlx5: Avoid unnecessary operation (Alaa Hleihel) [1915308] - net/mlx5e: rep: Improve reg_cX conditions (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix return type (Alaa Hleihel) [1915308] - net/mlx5e: mlx5_tc_ct_init does not fail (Alaa Hleihel) [1915308] - net/mlx5: Fix indir stable stubs (Alaa Hleihel) [1915308] - net/mlx5e: Add missing include (Alaa Hleihel) [1915308] - net/mlx5e: fix mlx5e_tc_tun_update_header_ipv6 dummy definition (Alaa Hleihel) [1915308] - net/mlx5e: CT, Avoid false lock dependency warning (Alaa Hleihel) [1915308] - net/mlx5: Check returned value from health recover sequence (Alaa Hleihel) [1915308] - net/mlx5: Don't rely on interface state bit (Alaa Hleihel) [1915308] - net/mlx5: Remove second FW tracer check (Alaa Hleihel) [1915308] - net/mlx5: Separate probe vs. reload flows (Alaa Hleihel) [1915308] - net/mlx5: Remove impossible checks of interface state (Alaa Hleihel) [1915308] - net/mlx5: Don't skip vport check (Alaa Hleihel) [1915308] - net/mlx5e: Register nic devlink port for SF ports (Alaa Hleihel) [1915308] - vdpa/mlx5: Retrieve BAR address suitable any function (Alaa Hleihel) [1915308] - vdpa/mlx5: Use the correct dma device when registering memory (Alaa Hleihel) [1915308] - net/mlx5: SF, Extend SF table for additional SF id range (Alaa Hleihel) [1915308] - net/mlx5: SF, Split mlx5_sf_hw_table into two parts (Alaa Hleihel) [1915308] - net/mlx5: SF, Use helpers for allocation and free (Alaa Hleihel) [1915308] - net/mlx5: SF, Consider own vhca events of SF devices (Alaa Hleihel) [1915308] - net/mlx5: SF, Store and use start function id (Alaa Hleihel) [1915308] - net/mlx5: SF, Rely on hw table for SF devlink port allocation (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Consider SF ports of host PF (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Use xarray for vport number to vport and rep mapping (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Prepare to return total vports from eswitch struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Return eswitch max ports when eswitch is supported (Alaa Hleihel) [1915308] - net/mlx5: SF, Reuse stored hardware function id (Alaa Hleihel) [1915308] - net/mlx5: SF, Use device pointer directly (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Initialize eswitch acls ns when eswitch is enabled (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Move legacy code to a individual file (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Convert a macro to a helper routine (Alaa Hleihel) [1915308] - net/mlx5: E-Switch Make cleanup sequence mirror of init (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Make vport number u16 (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Skip querying SF enabled bits (Alaa Hleihel) [1915308] - IB/mlx5: Set right RoCE l3 type and roce version while deleting GID (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, move QoS specific fields to existing qos struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, cut down mlx5_vport_info structure size by 8 bytes (Alaa Hleihel) [1915308] - net/mlx5: Pair mutex_destory with mutex_init for rate limit table (Alaa Hleihel) [1915308] - net/mlx5: Allocate rate limit table when rate is configured (Alaa Hleihel) [1915308] - net/mlx5: Use helper to increment, decrement rate entry refcount (Alaa Hleihel) [1915308] - net/mlx5: Use helpers to allocate and free rl table entries (Alaa Hleihel) [1915308] - net/mlx5: Do not hold mutex while reading table constants (Alaa Hleihel) [1915308] - net/mlx5: Pack mlx5_rl_entry structure (Alaa Hleihel) [1915308] - net/mlx5: Use unsigned int for free_count (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, move QoS specific fields to existing qos struct (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, cut down mlx5_vport_info structure size by 8 bytes (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, let user to enable disable metadata (Alaa Hleihel) [1915308] - net/mlx5e: TC, Add support to offload sample action (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Handle sampled packets (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Refactor tc update skb function (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler restore handle API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler object API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Add sampler termination table API (Alaa Hleihel) [1915308 1919649] - net/mlx5e: TC, Parse sample action (Alaa Hleihel) [1915308 1919649] - net/mlx5: Instantiate separate mapping objects for FDB and NIC tables (Alaa Hleihel) [1915308 1919649] - net/mlx5: Map register values to restore objects (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Set per vport table default group number (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Generalize per vport table API (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Rename functions to follow naming convention. (Alaa Hleihel) [1915308 1919649] - net/mlx5: E-switch, Move vport table functions to a new file (Alaa Hleihel) [1915308 1919649] - net/mlx5: CT: Add support for mirroring (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, Protect changing mode while adding rules (Alaa Hleihel) [1915308 1790457] - net/mlx5: E-Switch, Change mode lock from mutex to rw semaphore (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Do not reload ethernet ports when changing eswitch mode (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Unregister eth-reps devices first (Alaa Hleihel) [1915308 1790457] - net/mlx5: Move mlx5e hw resources into a sub object (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Register nic devlink port with switch id (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Verify dev is present in some ndos (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Use nic mode netdev ndos and ethtool ops for uplink representor (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Add offload stats ndos to nic netdev ops (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Distinguish nic and esw offload in tc setup block cb (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Allow legacy vf ndos only if in legacy mode (Alaa Hleihel) [1915308 1790457] - net/mlx5e: Same max num channels for both nic and uplink profiles (Alaa Hleihel) [1915308 1790457] - net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta (Alaa Hleihel) [1915308] - net/mlx5e: Fix setting of RS FEC mode (Alaa Hleihel) [1915308] - net/mlx5: Fix setting of devlink traps in switchdev mode (Alaa Hleihel) [1915308] - net/mlx5: DR, Add missing vhca_id consume from STEv1 (Alaa Hleihel) [1915308] - net/mlx5: fix kfree mismatch in indir_table.c (Alaa Hleihel) [1915308] - net/mlx5: Fix PBMC register mapping (Alaa Hleihel) [1915308] - net/mlx5: Fix PPLM register mapping (Alaa Hleihel) [1915308] - net/mlx5: Fix placement of log_max_flow_counter (Alaa Hleihel) [1915308] - net/mlx5: Fix HW spec violation configuring uplink (Alaa Hleihel) [1915308] - net/mlx5e: Guarantee room for XSK wakeup NOP on async ICOSQ (Alaa Hleihel) [1915308] - net/mlx5e: Consider geneve_opts for encap contexts (Alaa Hleihel) [1915308] - net/mlx5: Don't request more than supported EQs (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Fix RX counters atomicity (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Fix TX counters atomicity (Alaa Hleihel) [1915308] - net/mlx5: E-switch, Create vport miss group only if src rewrite is supported (Alaa Hleihel) [1915308 1915310] - net/mlx5e: Fix ethtool indication of connector type (Alaa Hleihel) [1915308] - net/mlx5: Delete auxiliary bus driver eth-rep first (Alaa Hleihel) [1915308] - net/mlx5e: Fix mapping of ct_label zero (Alaa Hleihel) [1915308] - net/mlx5: SF, do not use ecpu bit for vhca state processing (Alaa Hleihel) [1915308] - net/mlx5e: Fix division by 0 in mlx5e_select_queue (Alaa Hleihel) [1915308] - net/mlx5e: Fix error path for ethtool set-priv-flag (Alaa Hleihel) [1915308] - net/mlx5e: Offload tuple rewrite for non-CT flows (Alaa Hleihel) [1915308] - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP (Alaa Hleihel) [1915308] - net/mlx5: Add back multicast stats for uplink representor (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix typo in destroy_mkey inbox (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix potential shift wrapping of 32-bit value in STEv1 getter (Alaa Hleihel) [1915308] - net/mlx5: SF: Fix error flow of SFs allocation flow (Alaa Hleihel) [1915308] - net/mlx5: SF: Fix memory leak of work item (Alaa Hleihel) [1915308] - net/mlx5: SF, Correct vhca context size (Alaa Hleihel) [1915308] - net/mlx5e: E-switch, Fix rate calculation division (Alaa Hleihel) [1915308] - RDMA/mlx5: Fix timestamp default mode (Alaa Hleihel) [1915308] - net/mlx5: Set QP timestamp mode to default (Alaa Hleihel) [1915308] - net/mlx5e: Fix error flow in change profile (Alaa Hleihel) [1915308] - net/mlx5: Disable VF tunnel TX offload if ignore_flow_level isn't supported (Alaa Hleihel) [1915308 1915310] - net/mlx5e: Check correct ip_version in decapsulation route resolution (Alaa Hleihel) [1915308] - net/mlx5: Fix turn-off PPS command (Alaa Hleihel) [1915308] - net/mlx5e: Don't match on Geneve options in case option masks are all zero (Alaa Hleihel) [1915308] - net/mlx5e: Revert parameters on errors when changing PTP state without reset (Alaa Hleihel) [1915308] - net/mlx5e: When changing XDP program without reset, take refs for XSK RQs (Alaa Hleihel) [1915308] - net/mlx5e: Set PTP channel pointer explicitly to NULL (Alaa Hleihel) [1915308] - net/mlx5e: Accumulate port PTP TX stats with other channels stats (Alaa Hleihel) [1915308] - net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets (Alaa Hleihel) [1915308] - net/mlx5e: Enforce minimum value check for ICOSQ size (Alaa Hleihel) [1915308] - RDMA/mlx5: Set correct kernel-doc identifier (Alaa Hleihel) [1915308] - IB/mlx5: Add missing error code (Alaa Hleihel) [1915308] - configs: Enable mlx5 subfunction device support (Alaa Hleihel) [1915308 1851717] - net/mlx5: Add cyc2time HW translation mode support (Alaa Hleihel) [1915308 1919657] - net/mlx5: Move some PPS logic into helper functions (Alaa Hleihel) [1915308 1919657] - net/mlx5: Move all internal timer metadata into a dedicated struct (Alaa Hleihel) [1915308 1919657] - net/mlx5: Refactor init clock function (Alaa Hleihel) [1915308 1919657] - net/mlx5: Add register layout to support real-time time-stamp (Alaa Hleihel) [1915308 1919657] - RDMA/mlx5: Fail QP creation if the device can not support the CQE TS (Alaa Hleihel) [1915308] - RDMA/mlx5: Allow CQ creation without attached EQs (Alaa Hleihel) [1915308] - net/mlx5: Add new timestamp mode bits (Alaa Hleihel) [1915308 1919657] - net/mlx5: Remove TLS dependencies on XPS (Alaa Hleihel) [1915308] - net/mlx5: SF, Fix error return code in mlx5_sf_dev_probe() (Alaa Hleihel) [1915308 1851717] - net/mlx5e: Fix error return code in mlx5e_tc_esw_init() (Alaa Hleihel) [1915308 1919647] - net/mlx5: Fix a NULL vs IS_ERR() check (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Fix tc_tun.h to verify MLX5_ESWITCH config (Alaa Hleihel) [1915308 1919647] - net/mlx5: Assign boolean values to a bool variable (Alaa Hleihel) [1915308] - net/mlx5e: Fix spelling mistake "Unknouwn" -> "Unknown" (Alaa Hleihel) [1915308] - net/mlx5e: Fix spelling mistake "channles" -> "channels" (Alaa Hleihel) [1915308] - net/mlx5: Delete device list leftover (Alaa Hleihel) [1915308] - net/mlx5_core: remove unused including (Alaa Hleihel) [1915308] - net/mlx5: fix spelling mistake in Kconfig "accelaration" -> "acceleration" (Alaa Hleihel) [1915308] - RDMA/mlx5: Support 400Gbps IB rate in mlx5 driver (Alaa Hleihel) [1915308] - RDMA/mlx5: Cleanup the synchronize_srcu() from the ODP flow (Alaa Hleihel) [1915308] - net/mlx5e: Handle FIB events to update tunnel endpoint device (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Rename some encap-specific API to generic names (Alaa Hleihel) [1915308 1919647] - net/mlx5e: TC preparation refactoring for routing update event (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Refactor neigh update infrastructure (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Create route entry infrastructure (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Extract tc tunnel encap/decap code to dedicated file (Alaa Hleihel) [1915308 1919647] - net/mlx5e: Match recirculated packet miss in slow table using reg_c1 (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Refactor reg_c1 usage (Alaa Hleihel) [1915308 1919647] - net/mlx5e: VF tunnel RX traffic offloading (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Remove redundant match on tunnel destination mac (Alaa Hleihel) [1915308 1919647] - net/mlx5: E-Switch, Indirect table infrastructure (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Refactor tun routing helpers (Alaa Hleihel) [1915308 1919647] - net/mlx5e: VF tunnel TX traffic offloading (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5: E-Switch, Refactor rule offload forward action processing (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5e: Always set attr mdev pointer (Alaa Hleihel) [1915308 1919647] - net/mlx5e: E-Switch, Maintain vhca_id to vport_num mapping (Alaa Hleihel) [1915308 1915310 1919647] - net/mlx5: E-Switch, Refactor setting source port (Alaa Hleihel) [1915308 1915310 1919647] - IB/mlx5: Use rdma_for_each_port for port iteration (Alaa Hleihel) [1915308] - RDMA/core: Introduce and use API to read port immutable data (Alaa Hleihel) [1915308] - IB/mlx5: Improve query port for representor port (Alaa Hleihel) [1915308] - IB/mlx5: Avoid calling query device for reading pkey table length (Alaa Hleihel) [1915308] - IB/mlx5: Move mlx5_port_caps from mlx5_core_dev to mlx5_ib_dev (Alaa Hleihel) [1915308] - IB/mlx5: Support default partition key for representor port (Alaa Hleihel) [1915308] - net/mlx5: DR, Avoid unnecessary csum recalculation on supporting devices (Alaa Hleihel) [1915308] - net/mlx5e: CT: remove useless conversion to PTR_ERR then ERR_PTR (Alaa Hleihel) [1915308] - net/mlx5e: accel, remove redundant space (Alaa Hleihel) [1915308] - net/mlx5e: kTLS, Improve TLS RX workqueue scope (Alaa Hleihel) [1915308] - net/mlx5e: remove h from printk format specifier (Alaa Hleihel) [1915308] - net/mlx5e: Increase indirection RQ table size to 256 (Alaa Hleihel) [1915308] - net/mlx5e: Enable napi in channel's activation stage (Alaa Hleihel) [1915308] - net/mlx5e: Move representor neigh init into profile enable (Alaa Hleihel) [1915308] - net/mlx5e: Avoid false lock depenency warning on tc_ht (Alaa Hleihel) [1915308] - net/mlx5e: Move set vxlan nic info to profile init (Alaa Hleihel) [1915308] - net/mlx5e: Move netif_carrier_off() out of mlx5e_priv_init() (Alaa Hleihel) [1915308] - net/mlx5e: Refactor mlx5e_netdev_init/cleanup to mlx5e_priv_init/cleanup (Alaa Hleihel) [1915308] - net/mxl5e: Add change profile method (Alaa Hleihel) [1915308] - net/mlx5e: Separate between netdev objects and mlx5e profiles initialization (Alaa Hleihel) [1915308] - net/mlx5: DR, Allow SW steering for sw_owner_v2 devices (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Copy all 64B whenever replacing STE in the head of miss-list (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Use HW specific logic API when writing STE (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Use the right size when writing partial STE into HW (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 modify header logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 action apply logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add STEv1 setters and getters (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Allow native protocol support for HW STEv1 (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add HW STEv1 match logic (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Add match STEv1 structs to ifc (Alaa Hleihel) [1915308 1851712] - net/mlx5: DR, Fix potential shift wrapping of 32-bit value (Alaa Hleihel) [1915308 1851712] - net/mlx5e: Enable traps according to link state (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add listener to DMAC filter trap event (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add listener to trap event (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add trap entity to ETH driver (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Expose RX dma info helpers (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add flow steering DMAC trap rule (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Add flow steering VLAN trap rule (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Optimize promiscuous mode (Alaa Hleihel) [1915308 1919652] - net/mlx5: Notify on trap action by blocking event (Alaa Hleihel) [1915308 1919652] - net/mlx5: Rename events notifier header (Alaa Hleihel) [1915308 1919652] - net/mlx5: Register to devlink DMAC filter trap (Alaa Hleihel) [1915308 1919652] - net/mlx5: Register to devlink ingress VLAN filter trap (Alaa Hleihel) [1915308 1919652] - net/mlx5: Add support for devlink traps in mlx5 core driver (Alaa Hleihel) [1915308 1919652] - net/mlx5e: Support HTB offload (Alaa Hleihel) [1915308] - net/mlx5: SF, Port function state change support (Alaa Hleihel) [1915308 1851717] - net/mlx5: SF, Add port add delete functionality (Alaa Hleihel) [1915308 1851717] - net/mlx5: E-switch, Add eswitch helpers for SF vport (Alaa Hleihel) [1915308 1915310 1851717] - net/mlx5: E-switch, Prepare eswitch to handle SF vport (Alaa Hleihel) [1915308 1915310 1851717] - net/mlx5: SF, Add auxiliary device driver (Alaa Hleihel) [1915308 1851717] - net/mlx5: SF, Add auxiliary device support (Alaa Hleihel) [1915308 1851717] - net/mlx5: Introduce vhca state event notifier (Alaa Hleihel) [1915308 1851717] - RDMA/hw/mlx5/qp: Demote non-conformant kernel-doc header (Alaa Hleihel) [1915308] - RDMA/hw/mlx5/odp: Fix formatting and add missing descriptions in 'pagefault_data_segments()' (Alaa Hleihel) [1915308] - IB/mlx5: Make function static (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Remove unnecessary config flag usage (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Inline feature_check fast-path function (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Avoid unreachable return (Alaa Hleihel) [1915308] - net/mlx5e: IPsec, Enclose csum logic under ipsec config (Alaa Hleihel) [1915308] - net/mlx5e: CT: Remove redundant usage of zone mask (Alaa Hleihel) [1915308] - net/mlx5e: Remove redundant initialization to null (Alaa Hleihel) [1915308] - net/mlx5e: CT: Pass null instead of zero spec (Alaa Hleihel) [1915308] - net/mlx5e: E-Switch, Offload all chain 0 priorities when modify header and forward action is not supported (Alaa Hleihel) [1915308] - net/mlx5: E-Switch, use new cap as condition for mpls over udp (Alaa Hleihel) [1915308] - net/mlx5e: Simplify condition on esw_vport_enable_qos() (Alaa Hleihel) [1915308] - net/mlx5: Add HW definition of reg_c_preserve (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 modify header logic (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE modify header actions per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 action apply logic (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE tx/rx actions per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 setters and getters (Alaa Hleihel) [1915308] - net/mlx5: DR, Add STE setters and getters per-device API (Alaa Hleihel) [1915308] - net/mlx5: DR, Move action apply logic to dr_ste (Alaa Hleihel) [1915308] - net/mlx5: DR, Refactor ICMP STE builder (Alaa Hleihel) [1915308] - net/mlx5: DR, Move STEv0 look up types from mlx5_ifc_dr header (Alaa Hleihel) [1915308] - net/mlx5: DR, Merge similar DR STE SET macros (Alaa Hleihel) [1915308] - net/mlx5: DR, Fix STEv0 source_eswitch_owner_vhca_id support (Alaa Hleihel) [1915308] - net/mlx5: DR, Remove unused macro definition from dr_ste (Alaa Hleihel) [1915308] - net/mlx5: DR, Move HW STEv0 match logic to a separate file (Alaa Hleihel) [1915308] - net/mlx5: DR, Use the new HW specific STE infrastructure (Alaa Hleihel) [1915308] - net/mlx5: DR, Move macros from dr_ste.c to header (Alaa Hleihel) [1915308] - net/mlx5: DR, Add infrastructure for supporting several steering formats (Alaa Hleihel) [1915308] - ext4: handle read only external journal device (Lukas Czerner) [1860929] - vfio/pci: Handle concurrent vma faults (Alex Williamson) [1976551] - vfio-pci: Use io_remap_pfn_range() for PCI IO memory (Alex Williamson) [1976551] - net: flow_dissector: Parse PTP L2 packet header (Ivan Vecera) [1971687] - net: vlan: Add parse protocol header ops (Ivan Vecera) [1971687] - PCI: hv: Remove bus device removal unused refcount/functions (Mohammed Gamal) [1982482] - PCI: hv: Fix a race condition when removing the device (Mohammed Gamal) [1982482] - RDMA/cxgb4: check for ipv6 address properly while destroying listener (Raju Rangoju) [1961313] - RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server (Raju Rangoju) [1961313] - RDMA: Convert sysfs device * show functions to use sysfs_emit() (Raju Rangoju) [1961313] - RDMA/iw_cxgb4: Disable delayed ack by default (Raju Rangoju) [1961313] - [infiniband] treewide: Remove uninitialized_var() usage (Raju Rangoju) [1961313] - RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove (Raju Rangoju) [1961313] - vfs: allow unprivileged whiteout creation (Miklos Szeredi) [1983608] - Documentation: kdump: update kdump guide (Baoquan He) [1938067] - docs: admin-guide: add kdump documentation into it (Baoquan He) [1938067] - docs: kdump: convert docs to ReST and rename to *.rst (Baoquan He) [1938067]- Revert "be2net: disable bh with spin_lock in be_process_mcc" (Petr Oros) [1973504] - nvmet-rdma: Fix NULL deref when SEND is completed with error (Gopal Tiwari) [1959856] - netfilter: nft_exthdr: Search chunks in SCTP packets only (Phil Sutter) [1868228] - netfilter: nft_exthdr: Fix for unsafe packet data read (Phil Sutter) [1868228] - netfilter: nft_exthdr: Support SCTP chunks (Phil Sutter) [1868228] - xfs: fix deadlock retry tracepoint arguments (Bill O'Donnell) [1937116] - xfs: fix xfs_reflink_unshare usage of filemap_write_and_wait_range (Bill O'Donnell) [1937116] - xfs: fix return of uninitialized value in variable error (Bill O'Donnell) [1937116] - xfs: fix scrub and remount-ro protection when running scrub (Bill O'Donnell) [1937116] - xfs: fix xfs_trans slab cache name (Bill O'Donnell) [1937116] - xfs: Fix a typo (Bill O'Donnell) [1937116] - xfs: Rudimentary spelling fix (Bill O'Donnell) [1937116] - xfs: Rudimentary typo fixes (Bill O'Donnell) [1937116] - xfs: fix dquot scrub loop cancellation (Bill O'Donnell) [1937116] - xfs: fix uninitialized variables in xrep_calc_ag_resblks (Bill O'Donnell) [1937116] - xfs: fix incorrect root dquot corruption error when switching group/project quota types (Bill O'Donnell) [1937116] - xfs: fix up build warnings when quotas are disabled (Bill O'Donnell) [1937116] - xfs: fix chown leaking delalloc quota blocks when fssetxattr fails (Bill O'Donnell) [1937116] - xfs: Fix assert failure in xfs_setattr_size() (Bill O'Donnell) [1937116] - xfs: fix an ABBA deadlock in xfs_rename (Bill O'Donnell) [1937116 1966609] - xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks (Bill O'Donnell) [1937116] - xfs: fix parent pointer scrubber bailing out on unallocated inodes (Bill O'Donnell) [1937116] - xfs: revert "xfs: fix rmap key and record comparison functions" (Bill O'Donnell) [1937116] - xfs: don't allow NOWAIT DIO across extent boundaries (Bill O'Donnell) [1937116] - xfs: return corresponding errcode if xfs_initialize_perag() fail (Bill O'Donnell) [1937116] - xfs: ensure inobt record walks always make forward progress (Bill O'Donnell) [1937116] - xfs: fix forkoff miscalculation related to XFS_LITINO(mp) (Bill O'Donnell) [1937116] - xfs: directory scrub should check the null bestfree entries too (Bill O'Donnell) [1937116] - xfs: strengthen rmap record flags checking (Bill O'Donnell) [1937116] - xfs: fix the minrecs logic when dealing with inode root child blocks (Bill O'Donnell) [1937116] - xfs: fix a missing unlock on error in xfs_fs_map_blocks (Bill O'Donnell) [1937116] - xfs: fix brainos in the refcount scrubber's rmap fragment processor (Bill O'Donnell) [1937116] - xfs: fix rmap key and record comparison functions (Bill O'Donnell) [1937116] - xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents (Bill O'Donnell) [1937116] - xfs: fix flags argument to rmap lookup when converting shared file rmaps (Bill O'Donnell) [1937116] - xfs: only flush the unshared range in xfs_reflink_unshare (Bill O'Donnell) [1937116] - xfs: fix scrub flagging rtinherit even if there is no rt device (Bill O'Donnell) [1937116] - xfs: fix missing CoW blocks writeback conversion retry (Bill O'Donnell) [1937116] - xfs: set xefi_discard when creating a deferred agfl free log intent item (Bill O'Donnell) [1937116] - xfs: cancel intents immediately if process_intents fails (Bill O'Donnell) [1937116] - xfs: fix fallocate functions when rtextsize is larger than 1 (Bill O'Donnell) [1937116] - xfs: fix high key handling in the rt allocator's query_range function (Bill O'Donnell) [1937116] - xfs: annotate grabbing the realtime bitmap/summary locks in growfs (Bill O'Donnell) [1937116] - xfs: make xfs_growfs_rt update secondary superblocks (Bill O'Donnell) [1937116] - xfs: fix realtime bitmap/summary file truncation when growing rt volume (Bill O'Donnell) [1937116] - xfs: fix the indent in xfs_trans_mod_dquot (Bill O'Donnell) [1937116] - xfs: do the ASSERT for the arguments O_{u,g,p}dqpp (Bill O'Donnell) [1937116] - xfs: fix deadlock and streamline xfs_getfsmap performance (Bill O'Donnell) [1937116] - xfs: limit entries returned when counting fsmap records (Bill O'Donnell) [1937116] - xfs: only relog deferred intent items if free space in the log gets low (Bill O'Donnell) [1937116] - xfs: expose the log push threshold (Bill O'Donnell) [1937116] - xfs: periodically relog deferred intent items (Bill O'Donnell) [1937116] - xfs: change the order in which child and parent defer ops are finished (Bill O'Donnell) [1937116] - xfs: fix an incore inode UAF in xfs_bui_recover (Bill O'Donnell) [1937116] - xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering (Bill O'Donnell) [1937116] - xfs: clean up bmap intent item recovery checking (Bill O'Donnell) [1937116] - xfs: xfs_defer_capture should absorb remaining transaction reservation (Bill O'Donnell) [1937116] - xfs: xfs_defer_capture should absorb remaining block reservations (Bill O'Donnell) [1937116] - xfs: proper replay of deferred ops queued during log recovery (Bill O'Donnell) [1937116] - xfs: remove XFS_LI_RECOVERED (Bill O'Donnell) [1937116] - xfs: remove xfs_defer_reset (Bill O'Donnell) [1937116] - xfs: fix finobt btree block recovery ordering (Bill O'Donnell) [1937116] - xfs: directly call xfs_generic_create() for ->create() and ->mkdir() (Bill O'Donnell) [1937116] - xfs: avoid shared rmap operations for attr fork extents (Bill O'Donnell) [1937116] - xfs: drop the obsolete comment on filestream locking (Bill O'Donnell) [1937116] - xfs: code cleanup in xfs_attr_leaf_entsize_{remote,local} (Bill O'Donnell) [1937116] - xfs: do the assert for all the log done items in xfs_trans_cancel (Bill O'Donnell) [1937116] - xfs: remove the unused parameter id from xfs_qm_dqattach_one (Bill O'Donnell) [1937116] - xfs: remove the redundant crc feature check in xfs_attr3_rmt_verify (Bill O'Donnell) [1937116] - xfs: fix some comments (Bill O'Donnell) [1937116] - xfs: remove the unnecessary xfs_dqid_t type cast (Bill O'Donnell) [1937116] - xfs: use the existing type definition for di_projid (Bill O'Donnell) [1937116] - xfs: remove the unused SYNCHRONIZE macro (Bill O'Donnell) [1937116] - xfs: clean up calculation of LR header blocks (Bill O'Donnell) [1937116] - xfs: avoid LR buffer overrun due to crafted h_len (Bill O'Donnell) [1937116] - xfs: don't release log intent items when recovery fails (Bill O'Donnell) [1937116] - xfs: attach inode to dquot in xfs_bui_item_recover (Bill O'Donnell) [1937116] - xfs: log new intent items created as part of finishing recovered intent items (Bill O'Donnell) [1937116] - xfs: check dabtree node hash values when loading child blocks (Bill O'Donnell) [1937116] - xfs: don't free rt blocks when we're doing a REMAP bunmapi call (Bill O'Donnell) [1937116] - xfs: Set xfs_buf's b_ops member when zeroing bitmap/summary files (Bill O'Donnell) [1937116] - xfs: Set xfs_buf type flag when growing summary/bitmap files (Bill O'Donnell) [1937116] - xfs: drop extra transaction roll from inode extent truncate (Bill O'Donnell) [1937116] - xfs: don't propagate RTINHERIT -> REALTIME when there is no rtdev (Bill O'Donnell) [1937116] - xfs: ensure that fpunch, fcollapse, and finsert operations are aligned to rt extent size (Bill O'Donnell) [1937116] - xfs: refactor inode flags propagation code (Bill O'Donnell) [1937116] - xfs: make sure the rt allocator doesn't run off the end (Bill O'Donnell) [1937116] - xfs: Remove unneeded semicolon (Bill O'Donnell) [1937116] - xfs: force the log after remapping a synchronous-writes file (Bill O'Donnell) [1937116] - xfs: Convert xfs_attr_sf macros to inline functions (Bill O'Donnell) [1937116] - xfs: Use variable-size array for nameval in xfs_attr_sf_entry (Bill O'Donnell) [1937116] - xfs: Remove typedef xfs_attr_shortform_t (Bill O'Donnell) [1937116] - xfs: remove typedef xfs_attr_sf_entry_t (Bill O'Donnell) [1937116] - xfs: Remove kmem_zalloc_large() (Bill O'Donnell) [1937116] - xfs: enable big timestamps (Bill O'Donnell) [1937116] - xfs: trace timestamp limits (Bill O'Donnell) [1937116] - xfs: widen ondisk quota expiration timestamps to handle y2038+ (Bill O'Donnell) [1937116] - xfs: widen ondisk inode timestamps to deal with y2038+ (Bill O'Donnell) [1937116] - xfs: redefine xfs_ictimestamp_t (Bill O'Donnell) [1937116] - xfs: redefine xfs_timestamp_t (Bill O'Donnell) [1937116] - xfs: move xfs_log_dinode_to_disk to the log recovery code (Bill O'Donnell) [1937116] - xfs: refactor quota timestamp coding (Bill O'Donnell) [1937116] - xfs: refactor default quota grace period setting code (Bill O'Donnell) [1937116] - xfs: refactor quota expiration timer modification (Bill O'Donnell) [1937116] - xfs: explicitly define inode timestamp range (Bill O'Donnell) [1937116] - xfs: enable new inode btree counters feature (Bill O'Donnell) [1937116] - xfs: support inode btree blockcounts in online repair (Bill O'Donnell) [1937116] - xfs: support inode btree blockcounts in online scrub (Bill O'Donnell) [1937116] - xfs: use the finobt block counts to speed up mount times (Bill O'Donnell) [1937116] - xfs: store inode btree block counts in AGI header (Bill O'Donnell) [1937116] - xfs: reuse _xfs_buf_read for re-reading the superblock (Bill O'Donnell) [1937116] - xfs: remove xfs_getsb (Bill O'Donnell) [1937116] - xfs: simplify xfs_trans_getsb (Bill O'Donnell) [1937116] - xfs: remove xlog_recover_iodone (Bill O'Donnell) [1937116] - xfs: clear the read/write flags later in xfs_buf_ioend (Bill O'Donnell) [1937116] - xfs: use xfs_buf_item_relse in xfs_buf_item_done (Bill O'Donnell) [1937116] - xfs: simplify the xfs_buf_ioend_disposition calling convention (Bill O'Donnell) [1937116] - xfs: lift the XBF_IOEND_FAIL handling into xfs_buf_ioend_disposition (Bill O'Donnell) [1937116] - xfs: remove xfs_buf_ioerror_retry (Bill O'Donnell) [1937116] - xfs: refactor xfs_buf_ioerror_fail_without_retry (Bill O'Donnell) [1937116] - xfs: fold xfs_buf_ioend_finish into xfs_ioend (Bill O'Donnell) [1937116] - xfs: move the buffer retry logic to xfs_buf.c (Bill O'Donnell) [1937116] - xfs: refactor xfs_buf_ioend (Bill O'Donnell) [1937116] - xfs: mark xfs_buf_ioend static (Bill O'Donnell) [1937116] - xfs: refactor the buf ioend disposition code (Bill O'Donnell) [1937116] - xfs: xfs_iflock is no longer a completion (Bill O'Donnell) [1937116] - xfs: remove kmem_realloc() (Bill O'Donnell) [1937116] - xfs: don't update mtime on COW faults (Bill O'Donnell) [1937116] - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files (Bill O'Donnell) [1937116] - xfs: initialize the shortform attr header padding entry (Bill O'Donnell) [1937116] - xfs: fix off-by-one in inode alloc block reservation calculation (Bill O'Donnell) [1937116] - xfs: finish dfops on every insert range shift iteration (Bill O'Donnell) [1937116] - xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init (Bill O'Donnell) [1937116] - xfs: delete duplicated words + other fixes (Bill O'Donnell) [1937116] - xfs: Lift -ENOSPC handler from xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Simplify xfs_attr_node_addname (Bill O'Donnell) [1937116] - xfs: Simplify xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_removename_rmt (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_removename_setup (Bill O'Donnell) [1937116] - xfs: Add remote block helper functions (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_leaf_mark_incomplete (Bill O'Donnell) [1937116] - xfs: Add helpers xfs_attr_is_shortform and xfs_attr_set_shortform (Bill O'Donnell) [1937116] - xfs: Remove xfs_trans_roll in xfs_attr_node_removename (Bill O'Donnell) [1937116] - xfs: Remove unneeded xfs_trans_roll_inode calls (Bill O'Donnell) [1937116] - xfs: Add helper function xfs_attr_node_shrink (Bill O'Donnell) [1937116] - xfs: Pull up xfs_attr_rmtval_invalidate (Bill O'Donnell) [1937116] - xfs: Refactor xfs_attr_rmtval_remove (Bill O'Donnell) [1937116] - xfs: Pull up trans roll in xfs_attr3_leaf_clearflag (Bill O'Donnell) [1937116] - xfs: Factor out xfs_attr_rmtval_invalidate (Bill O'Donnell) [1937116] - xfs: Pull up trans roll from xfs_attr3_leaf_setflag (Bill O'Donnell) [1937116] - xfs: Refactor xfs_attr_try_sf_addname (Bill O'Donnell) [1937116] - xfs: Split apart xfs_attr_leaf_addname (Bill O'Donnell) [1937116] - xfs: Pull up trans handling in xfs_attr3_leaf_flipflags (Bill O'Donnell) [1937116] - xfs: Factor out new helper functions xfs_attr_rmtval_set (Bill O'Donnell) [1937116] - xfs: Check for -ENOATTR or -EEXIST (Bill O'Donnell) [1937116] - xfs: Add xfs_has_attr and subroutines (Bill O'Donnell) [1937116] - xfs: Refactor xfs_da_state_alloc() helper (Bill O'Donnell) [1937116] - xfs: remove xfs_zone_{alloc,zalloc} helpers (Bill O'Donnell) [1937116] - xfs: Modify xlog_ticket_alloc() to use kernel's MM API (Bill O'Donnell) [1937116] - xfs: Remove kmem_zone_zalloc() usage (Bill O'Donnell) [1937116] - xfs: Remove kmem_zone_alloc() usage (Bill O'Donnell) [1937116] - xfs: xfs_btree_staging.h: delete duplicated words (Bill O'Donnell) [1937116] - xfs: rename the ondisk dquot d_flags to d_type (Bill O'Donnell) [1937116] - xfs: improve ondisk dquot flags checking (Bill O'Donnell) [1937116] - xfs: create xfs_dqtype_t to represent quota types (Bill O'Donnell) [1937116] - xfs: replace a few open-coded XFS_DQTYPE_REC_MASK uses (Bill O'Donnell) [1937116] - xfs: remove unnecessary quota type masking (Bill O'Donnell) [1937116] - xfs: always use xfs_dquot_type when extracting type from a dquot (Bill O'Donnell) [1937116] - xfs: refactor quota type testing (Bill O'Donnell) [1937116] - xfs: remove the XFS_QM_IS[UGP]DQ macros (Bill O'Donnell) [1937116] - xfs: refactor testing if a particular dquot is being enforced (Bill O'Donnell) [1937116] - xfs: rename XFS_DQ_{USER,GROUP,PROJ} to XFS_DQTYPE_* (Bill O'Donnell) [1937116] - xfs: drop the type parameter from xfs_dquot_verify (Bill O'Donnell) [1937116] - xfs: add more dquot tracepoints (Bill O'Donnell) [1937116] - xfs: actually bump warning counts when we send warnings (Bill O'Donnell) [1937116] - xfs: assume the default quota limits are always set in xfs_qm_adjust_dqlimits (Bill O'Donnell) [1937116] - xfs: refactor xfs_trans_apply_dquot_deltas (Bill O'Donnell) [1937116] - xfs: refactor xfs_trans_dqresv (Bill O'Donnell) [1937116] - xfs: refactor xfs_qm_scall_setqlim (Bill O'Donnell) [1937116] - xfs: refactor quota exceeded test (Bill O'Donnell) [1937116] - xfs: remove unnecessary arguments from quota adjust functions (Bill O'Donnell) [1937116] - xfs: refactor default quota limits by resource (Bill O'Donnell) [1937116] - xfs: remove qcore from incore dquots (Bill O'Donnell) [1937116] - xfs: stop using q_core timers in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core warning counters in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core counters in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core limits in the quota code (Bill O'Donnell) [1937116] - xfs: use a per-resource struct for incore dquot data (Bill O'Donnell) [1937116] - xfs: stop using q_core.d_id in the quota code (Bill O'Donnell) [1937116] - xfs: stop using q_core.d_flags in the quota code (Bill O'Donnell) [1937116] - xfs: make XFS_DQUOT_CLUSTER_SIZE_FSB part of the ondisk format (Bill O'Donnell) [1937116] - xfs: rename dquot incore state flags (Bill O'Donnell) [1937116] - xfs: refactor quotacheck flags usage (Bill O'Donnell) [1937116] - xfs: move the flags argument of xfs_qm_scall_trunc_qfiles to XFS_QMOPT_* (Bill O'Donnell) [1937116] - xfs: validate ondisk/incore dquot flags (Bill O'Donnell) [1937116] - xfs: fix inode quota reservation checks (Bill O'Donnell) [1937116] - xfs: clear XFS_DQ_FREEING if we can't lock the dquot buffer to flush (Bill O'Donnell) [1937116] - xfs: drain the buf delwri queue before xfsaild idles (Bill O'Donnell) [1937116] - xfs: remove duplicated include from xfs_buf_item.c (Bill O'Donnell) [1937116] - xfs: remove SYNC_WAIT and SYNC_TRYLOCK (Bill O'Donnell) [1937116] - xfs: get rid of unnecessary xfs_perag_{get,put} pairs (Bill O'Donnell) [1937116] - xfs: rtbitmap scrubber should check inode size (Bill O'Donnell) [1937116] - xfs: rtbitmap scrubber should verify written extents (Bill O'Donnell) [1937116] - xfs: remove xfs_inobp_check() (Bill O'Donnell) [1937116] - xfs: factor xfs_iflush_done (Bill O'Donnell) [1937116] - xfs: rework xfs_iflush_cluster() dirty inode iteration (Bill O'Donnell) [1937116] - xfs: rename xfs_iflush_int() (Bill O'Donnell) [1937116] - xfs: xfs_iflush() is no longer necessary (Bill O'Donnell) [1937116] - xfs: attach inodes to the cluster buffer when dirtied (Bill O'Donnell) [1937116] - xfs: rework stale inodes in xfs_ifree_cluster (Bill O'Donnell) [1937116] - xfs: clean up inode reclaim comments (Bill O'Donnell) [1937116] - xfs: remove SYNC_WAIT from xfs_reclaim_inodes() (Bill O'Donnell) [1937116] - xfs: remove SYNC_TRYLOCK from inode reclaim (Bill O'Donnell) [1937116] - xfs: don't block inode reclaim on the ILOCK (Bill O'Donnell) [1937116] - xfs: allow multiple reclaimers per AG (Bill O'Donnell) [1937116] - xfs: remove IO submission from xfs_reclaim_inode() (Bill O'Donnell) [1937116] - xfs: make inode reclaim almost non-blocking (Bill O'Donnell) [1937116] - xfs: pin inode backing buffer to the inode log item (Bill O'Donnell) [1937116] - xfs: move xfs_clear_li_failed out of xfs_ail_delete_one() (Bill O'Donnell) [1937116] - xfs: unwind log item error flagging (Bill O'Donnell) [1937116] - xfs: handle buffer log item IO errors directly (Bill O'Donnell) [1937116] - xfs: get rid of log item callbacks (Bill O'Donnell) [1937116] - xfs: clean up the buffer iodone callback functions (Bill O'Donnell) [1937116] - xfs: use direct calls for dquot IO completion (Bill O'Donnell) [1937116] - xfs: make inode IO completion buffer centric (Bill O'Donnell) [1937116] - xfs: clean up whacky buffer log item list reinit (Bill O'Donnell) [1937116] - xfs: call xfs_buf_iodone directly (Bill O'Donnell) [1937116] - xfs: mark log recovery buffers for completion (Bill O'Donnell) [1937116] - xfs: mark dquot buffers in cache (Bill O'Donnell) [1937116] - xfs: mark inode buffers in cache (Bill O'Donnell) [1937116] - xfs: add an inode item lock (Bill O'Donnell) [1937116] - xfs: remove logged flag from inode log item (Bill O'Donnell) [1937116] - xfs: Don't allow logging of XFS_ISTALE inodes (Bill O'Donnell) [1937116] - xfs: remove useless definitions in xfs_linux.h (Bill O'Donnell) [1937116] - xfs: use MMAPLOCK around filemap_map_pages() (Bill O'Donnell) [1937116] - xfs: move helpers that lock and unlock two inodes against userspace IO (Bill O'Donnell) [1937116] - xfs: refactor locking and unlocking two inodes against userspace IO (Bill O'Donnell) [1937116] - xfs: fix xfs_reflink_remap_prep calling conventions (Bill O'Donnell) [1937116] - xfs: reflink can skip remap existing mappings (Bill O'Donnell) [1937116] - xfs: only reserve quota blocks if we're mapping into a hole (Bill O'Donnell) [1937116] - xfs: only reserve quota blocks for bmbt changes if we're changing the data fork (Bill O'Donnell) [1937116] - xfs: redesign the reflink remap loop to fix blkres depletion crash (Bill O'Donnell) [1937116] - xfs: rename xfs_bmap_is_real_extent to is_written_extent (Bill O'Donnell) [1937116] - xfs: Couple of typo fixes in comments (Bill O'Donnell) [1937116] - xfs: fix use-after-free on CIL context on shutdown (Bill O'Donnell) [1937116] - xfs: flag files as supporting buffered async reads (Bill O'Donnell) [1937116] - fs: add FMODE_BUF_RASYNC (Bill O'Donnell) [1937116] - xfs: more lockdep whackamole with kmem_alloc* (Bill O'Donnell) [1937116 1965923] - xfs: rearrange xfs_inode_walk_ag parameters (Bill O'Donnell) [1937116] - xfs: straighten out all the naming around incore inode tree walks (Bill O'Donnell) [1937116] - xfs: move xfs_inode_ag_iterator to be closer to the perag walking code (Bill O'Donnell) [1937116] - xfs: use bool for done in xfs_inode_ag_walk (Bill O'Donnell) [1937116] - xfs: fix inode ag walk predicate function return values (Bill O'Donnell) [1937116] - xfs: refactor eofb matching into a single helper (Bill O'Donnell) [1937116] - xfs: remove __xfs_icache_free_eofblocks (Bill O'Donnell) [1937116] - xfs: remove flags argument from xfs_inode_ag_walk (Bill O'Donnell) [1937116] - xfs: remove xfs_inode_ag_iterator_flags (Bill O'Donnell) [1937116] - xfs: remove unused xfs_inode_ag_iterator function (Bill O'Donnell) [1937116] - xfs: replace open-coded XFS_ICI_NO_TAG (Bill O'Donnell) [1937116] - xfs: move eofblocks conversion function to xfs_ioctl.c (Bill O'Donnell) [1937116] - xfs: remove the m_active_trans counter (Bill O'Donnell) [1937116] - xfs: separate read-only variables in struct xfs_mount (Bill O'Donnell) [1937116] - xfs: reduce free inode accounting overhead (Bill O'Donnell) [1937116] - xfs: gut error handling in xfs_trans_unreserve_and_mod_sb() (Bill O'Donnell) [1937116] - xfs: cleanup xfs_idestroy_fork (Bill O'Donnell) [1937116] - xfs: move the fork format fields into struct xfs_ifork (Bill O'Donnell) [1937116] - xfs: move the per-fork nextents fields into struct xfs_ifork (Bill O'Donnell) [1937116] - xfs: remove xfs_ifree_local_data (Bill O'Donnell) [1937116] - xfs: remove the XFS_DFORK_Q macro (Bill O'Donnell) [1937116] - xfs: clean up xchk_bmap_check_rmaps usage of XFS_IFORK_Q (Bill O'Donnell) [1937116] - xfs: remove the NULL fork handling in xfs_bmapi_read (Bill O'Donnell) [1937116] - xfs: remove the special COW fork handling in xfs_bmapi_read (Bill O'Donnell) [1937116] - xfs: improve local fork verification (Bill O'Donnell) [1937116] - xfs: refactor xfs_inode_verify_forks (Bill O'Donnell) [1937116] - xfs: remove xfs_ifork_ops (Bill O'Donnell) [1937116] - xfs: remove xfs_iread (Bill O'Donnell) [1937116] - xfs: don't reset i_delayed_blks in xfs_iread (Bill O'Donnell) [1937116] - xfs: call xfs_dinode_verify from xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: handle unallocated inodes in xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: split xfs_iformat_fork (Bill O'Donnell) [1937116] - xfs: call xfs_iformat_fork from xfs_inode_from_disk (Bill O'Donnell) [1937116] - xfs: xfs_bmapi_read doesn't take a fork id as the last argument (Bill O'Donnell) [1937116] - xfs: fix the warning message in xfs_validate_sb_common() (Bill O'Donnell) [1937116] - xfs: don't allow SWAPEXT if we'd screw up quota accounting (Bill O'Donnell) [1937116] - xfs: use ordered buffers to initialize dquot buffers during quotacheck (Bill O'Donnell) [1937116] - xfs: don't fail verifier on empty attr3 leaf block (Bill O'Donnell) [1937116] - xfs: Use the correct style for SPDX License Identifier (Bill O'Donnell) [1937116] - xfs: Replace zero-length array with flexible-array (Bill O'Donnell) [1937116] - xfs: ensure f_bfree returned by statfs() is non-negative (Bill O'Donnell) [1937116] - xfs: remove duplicate headers (Bill O'Donnell) [1937116] - xfs: fix unused variable warning in buffer completion on !DEBUG (Bill O'Donnell) [1937116] - xfs: remove unnecessary includes from xfs_log_recover.c (Bill O'Donnell) [1937116] - xfs: move log recovery buffer cancellation code to xfs_buf_item_recover.c (Bill O'Donnell) [1937116] - xfs: hoist setting of XFS_LI_RECOVERED to caller (Bill O'Donnell) [1937116] - xfs: refactor intent item iop_recover calls (Bill O'Donnell) [1937116] - xfs: refactor intent item RECOVERED flag into the log item (Bill O'Donnell) [1937116] - xfs: refactor adding recovered intent items to the log (Bill O'Donnell) [1937116] - xfs: refactor releasing finished intents during log recovery (Bill O'Donnell) [1937116] - xfs: refactor xlog_item_is_intent now that we're done converting (Bill O'Donnell) [1937116] - xfs: refactor recovered BUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered CUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered RUI log item playback (Bill O'Donnell) [1937116] - xfs: refactor recovered EFI log item playback (Bill O'Donnell) [1937116] - xfs: remove log recovery quotaoff item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery BUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery CUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery RUI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery EFI item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery icreate item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery dquot item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery inode item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery buffer item dispatch for pass2 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item dispatch for pass1 commit functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item dispatch for pass2 readhead functions (Bill O'Donnell) [1937116] - xfs: refactor log recovery item sorting into a generic dispatch structure (Bill O'Donnell) [1937116] - xfs: convert xfs_log_recover_item_t to struct xfs_log_recover_item (Bill O'Donnell) [1937116] - xfs: remove unused iget_flags param from xfs_imap_to_bp() (Bill O'Donnell) [1937116] - xfs: remove unused shutdown types (Bill O'Donnell) [1937116] - xfs: random buffer write failure errortag (Bill O'Donnell) [1937116] - xfs: remove unused iflush stale parameter (Bill O'Donnell) [1937116] - xfs: combine xfs_trans_ail_[remove|delete]() (Bill O'Donnell) [1937116] - xfs: drop unused shutdown parameter from xfs_trans_ail_remove() (Bill O'Donnell) [1937116] - xfs: use delete helper for items expected to be in AIL (Bill O'Donnell) [1937116] - xfs: acquire ->ail_lock from xfs_trans_ail_delete() (Bill O'Donnell) [1937116] - xfs: abort consistently on dquot flush failure (Bill O'Donnell) [1937116] - xfs: ratelimit unmount time per-buffer I/O error alert (Bill O'Donnell) [1937116] - xfs: refactor ratelimited buffer error messages into helper (Bill O'Donnell) [1937116] - xfs: reset buffer write failure state on successful completion (Bill O'Donnell) [1937116] - xfs: remove unnecessary shutdown check from xfs_iflush() (Bill O'Donnell) [1937116] - xfs: simplify inode flush error handling (Bill O'Donnell) [1937116] - xfs: factor out buffer I/O failure code (Bill O'Donnell) [1937116] - xfs: refactor failed buffer resubmission into xfsaild (Bill O'Donnell) [1937116] - xfs: spell out the parameter name for ->cancel_item (Bill O'Donnell) [1937116] - xfs: use a xfs_btree_cur for the ->finish_cleanup state (Bill O'Donnell) [1937116] - xfs: turn dfp_done into a xfs_log_item (Bill O'Donnell) [1937116] - xfs: refactor xfs_defer_finish_noroll (Bill O'Donnell) [1937116] - xfs: turn dfp_intent into a xfs_log_item (Bill O'Donnell) [1937116] - xfs: merge the ->diff_items defer op into ->create_intent (Bill O'Donnell) [1937116] - xfs: merge the ->log_item defer op into ->create_intent (Bill O'Donnell) [1937116] - xfs: factor out a xfs_defer_create_intent helper (Bill O'Donnell) [1937116] - xfs: remove the xfs_inode_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: remove the xfs_efd_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: remove the xfs_efi_log_item_t typedef (Bill O'Donnell) [1937116] - xfs: refactor xlog_recover_buffer_pass1 (Bill O'Donnell) [1937116] - xfs: simplify xlog_recover_inode_ra_pass2 (Bill O'Donnell) [1937116] - xfs: factor out a xlog_buf_readahead helper (Bill O'Donnell) [1937116] - xfs: rename inode_list xlog_recover_reorder_trans (Bill O'Donnell) [1937116] - xfs: refactor the buffer cancellation table helpers (Bill O'Donnell) [1937116] - xfs: define printk_once variants for xfs messages (Bill O'Donnell) [1937116] - xfs: stop CONFIG_XFS_DEBUG from changing compiler flags (Bill O'Donnell) [1937116] - xfs: remove unnecessary check of the variable resblks in xfs_symlink (Bill O'Donnell) [1937116] - xfs: simplify the flags setting in xfs_qm_scall_quotaon (Bill O'Donnell) [1937116] - xfs: remove unnecessary assertion from xfs_qm_vop_create_dqattach (Bill O'Donnell) [1937116] - xfs: remove unnecessary variable udqp from xfs_ioctl_setattr (Bill O'Donnell) [1937116] - xfs: reserve quota inode transaction space only when needed (Bill O'Donnell) [1937116] - xfs: combine two if statements with same condition (Bill O'Donnell) [1937116] - xfs: trace quota allocations for all quota types (Bill O'Donnell) [1937116] - xfs: report unrecognized log item type codes during recovery (Bill O'Donnell) [1937116] - xfs: move inode flush to the sync workqueue (Bill O'Donnell) [1937116] - xfs: fix partially uninitialized structure in xfs_reflink_remap_extent (Bill O'Donnell) [1937116] - xfs: fix inode number overflow in ifree cluster helper (Bill O'Donnell) [1937116] - xfs: remove redundant variable assignment in xfs_symlink() (Bill O'Donnell) [1937116] - xfs: ratelimit inode flush on buffered write ENOSPC (Bill O'Donnell) [1937116] - xfs: return locked status of inode buffer on xfsaild push (Bill O'Donnell) [1937116] - xfs: trylock underlying buffer on dquot flush (Bill O'Donnell) [1937116] - xfs: remove unnecessary ternary from xfs_create (Bill O'Donnell) [1937116] - xfs: don't write a corrupt unmount record to force summary counter recalc (Bill O'Donnell) [1937116] - xfs: factor inode lookup from xfs_ifree_cluster (Bill O'Donnell) [1937116] - xfs: tail updates only need to occur when LSN changes (Bill O'Donnell) [1937116] - xfs: factor common AIL item deletion code (Bill O'Donnell) [1937116] - xfs: correctly acount for reclaimable slabs (Bill O'Donnell) [1937116] - xfs: Improve metadata buffer reclaim accountability (Bill O'Donnell) [1937116] - xfs: don't allow log IO to be throttled (Bill O'Donnell) [1937116] - xfs: Throttle commits on delayed background CIL push (Bill O'Donnell) [1937116] - xfs: Lower CIL flush limit for large logs (Bill O'Donnell) [1937116] - xfs: remove some stale comments from the log code (Bill O'Donnell) [1937116] - xfs: refactor unmount record writing (Bill O'Donnell) [1937116] - xfs: merge xlog_commit_record with xlog_write_done (Bill O'Donnell) [1937116] - xfs: split xlog_ticket_done (Bill O'Donnell) [1937116] - xfs: kill XLOG_TIC_INITED (Bill O'Donnell) [1937116] - xfs: refactor and split xfs_log_done() (Bill O'Donnell) [1937116] - xfs: re-order initial space accounting checks in xlog_write (Bill O'Donnell) [1937116] - xfs: don't try to write a start record into every iclog (Bill O'Donnell) [1937116] - xfs: validate the realtime geometry in xfs_validate_sb_common (Bill O'Donnell) [1937116] - xfs: shutdown on failure to add page to log bio (Bill O'Donnell) [1937116] - xfs: directory bestfree check should release buffers (Bill O'Donnell) [1937116] - xfs: drop all altpath buffers at the end of the sibling check (Bill O'Donnell) [1937116] - xfs: remove xlog_state_want_sync (Bill O'Donnell) [1937116] - xfs: move the ioerror check out of xlog_state_clean_iclog (Bill O'Donnell) [1937116] - xfs: refactor xlog_state_clean_iclog (Bill O'Donnell) [1937116] - xfs: remove the aborted parameter to xlog_state_done_syncing (Bill O'Donnell) [1937116] - xfs: simplify log shutdown checking in xfs_log_release_iclog (Bill O'Donnell) [1937116] - xfs: simplify the xfs_log_release_iclog calling convention (Bill O'Donnell) [1937116] - xfs: factor out a xlog_wait_on_iclog helper (Bill O'Donnell) [1937116] - xfs: merge xlog_cil_push into xlog_cil_push_work (Bill O'Donnell) [1937116] - xfs: remove the di_version field from struct icdinode (Bill O'Donnell) [1937116] - xfs: simplify a check in xfs_ioctl_setattr_check_cowextsize (Bill O'Donnell) [1937116] - xfs: simplify di_flags2 inheritance in xfs_ialloc (Bill O'Donnell) [1937116] - xfs: only check the superblock version for dinode size calculation (Bill O'Donnell) [1937116] - xfs: add a new xfs_sb_version_has_v3inode helper (Bill O'Donnell) [1937116] - xfs: add support for rmap btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for refcount btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for inode btree staging cursors (Bill O'Donnell) [1937116] - xfs: add support for free space btree staging cursors (Bill O'Donnell) [1937116] - xfs: support bulk loading of staged btrees (Bill O'Donnell) [1937116] - xfs: introduce fake roots for inode-rooted btrees (Bill O'Donnell) [1937116] - xfs: introduce fake roots for ag-rooted btrees (Bill O'Donnell) [1937116] - xfs: replace open-coded bitmap weight logic (Bill O'Donnell) [1937116] - xfs: rename xfs_bitmap to xbitmap (Bill O'Donnell) [1937116] - xfs: xrep_reap_extents should not destroy the bitmap (Bill O'Donnell) [1937116] - xfs: cleanup xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove dead code from xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove the unused return value from xfs_log_unmount_write (Bill O'Donnell) [1937116] - xfs: remove the unused XLOG_UNMOUNT_REC_TYPE define (Bill O'Donnell) [1937116] - xfs: mark XLOG_FORCED_SHUTDOWN as unlikely (Bill O'Donnell) [1937116] - xfs: make the btree ag cursor private union anonymous (Bill O'Donnell) [1937116] - xfs: make the btree cursor union members named structure (Bill O'Donnell) [1937116] - xfs: make btree cursor private union anonymous (Bill O'Donnell) [1937116] - xfs: rename btree cursor private btree member flags (Bill O'Donnell) [1937116] - xfs: convert btree cursor inode-private member names (Bill O'Donnell) [1937116] - xfs: convert btree cursor ag-private member name (Bill O'Donnell) [1937116] - xfs: introduce new private btree cursor names (Bill O'Donnell) [1937116] - xfs: Use scnprintf() for avoiding potential buffer overflow (Bill O'Donnell) [1937116] - xfs: mark extended attr corrupt when lookup-by-hash fails (Bill O'Donnell) [1937116] - xfs: mark dir corrupt when lookup-by-hash fails (Bill O'Donnell) [1937116] - xfs: check owner of dir3 blocks (Bill O'Donnell) [1937116] - xfs: check owner of dir3 data blocks (Bill O'Donnell) [1937116] - xfs: check owner of dir3 free blocks (Bill O'Donnell) [1937116] - xfs: fix buffer corruption reporting when xfs_dir3_free_header_check fails (Bill O'Donnell) [1937116] - xfs: xfs_buf_corruption_error should take __this_address (Bill O'Donnell) [1937116] - xfs: add a function to deal with corrupt buffers post-verifiers (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_SBP (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_AGF (Bill O'Donnell) [1937116] - xfs: remove XFS_BUF_TO_AGI (Bill O'Donnell) [1937116] - xfs: remove the xfs_agfl_t typedef (Bill O'Donnell) [1937116] - xfs: remove the agfl_bno member from struct xfs_agfl (Bill O'Donnell) [1937116] - xfs: switch xfs_attrmulti_attr_get to lazy attr buffer allocation (Bill O'Donnell) [1937116] - xfs: only allocate the buffer size actually needed in __xfs_set_acl (Bill O'Donnell) [1937116] - xfs: clean up bufsize alignment in xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: embedded the attrlist cursor into struct xfs_attr_list_context (Bill O'Donnell) [1937116] - xfs: remove XFS_DA_OP_INCOMPLETE (Bill O'Donnell) [1937116] - xfs: clean up the attr flag confusion (Bill O'Donnell) [1937116] - xfs: clean up the ATTR_REPLACE checks (Bill O'Donnell) [1937116] - xfs: improve xfs_forget_acl (Bill O'Donnell) [1937116] - xfs: lift cursor copy in/out into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: lift buffer allocation into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: lift common checks into xfs_ioc_attr_list (Bill O'Donnell) [1937116] - xfs: rename xfs_attr_list_int to xfs_attr_list (Bill O'Donnell) [1937116] - xfs: move the legacy xfs_attr_list to xfs_ioctl.c (Bill O'Donnell) [1937116] - xfs: open code ATTR_ENTSIZE (Bill O'Donnell) [1937116] - xfs: remove the unused ATTR_ENTRY macro (Bill O'Donnell) [1937116] - xfs: cleanup struct xfs_attr_list_context (Bill O'Donnell) [1937116] - xfs: factor out a xfs_attr_match helper (Bill O'Donnell) [1937116] - xfs: replace ATTR_KERNOTIME with XFS_DA_OP_NOTIME (Bill O'Donnell) [1937116] - xfs: remove ATTR_ALLOC and XFS_DA_OP_ALLOCVAL (Bill O'Donnell) [1937116] - xfs: remove ATTR_KERNOVAL (Bill O'Donnell) [1937116] - xfs: remove the xfs_inode argument to xfs_attr_get_ilocked (Bill O'Donnell) [1937116] - xfs: pass an initialized xfs_da_args to xfs_attr_get (Bill O'Donnell) [1937116] - xfs: pass an initialized xfs_da_args structure to xfs_attr_set (Bill O'Donnell) [1937116] - xfs: turn xfs_da_args.value into a void pointer (Bill O'Donnell) [1937116] - xfs: remove the MAXNAMELEN check from xfs_attr_args_init (Bill O'Donnell) [1937116] - xfs: remove the name == NULL check from xfs_attr_args_init (Bill O'Donnell) [1937116] - xfs: factor out a helper for a single XFS_IOC_ATTRMULTI_BY_HANDLE op (Bill O'Donnell) [1937116] - xfs: use strndup_user in XFS_IOC_ATTRMULTI_BY_HANDLE (Bill O'Donnell) [1937116] - xfs: merge xfs_attrmulti_attr_remove into xfs_attrmulti_attr_set (Bill O'Donnell) [1937116] - xfs: merge xfs_attr_remove into xfs_attr_set (Bill O'Donnell) [1937116] - xfs: remove the ATTR_INCOMPLETE flag (Bill O'Donnell) [1937116] - xfs: reject invalid flags combinations in XFS_IOC_ATTRLIST_BY_HANDLE (Bill O'Donnell) [1937116] - xfs: rework collapse range into an atomic operation (Bill O'Donnell) [1937116] - xfs: rework insert range into an atomic operation (Bill O'Donnell) [1937116] - xfs: open code insert range extent split helper (Bill O'Donnell) [1937116] - xfs: Add missing annotation to xfs_ail_check() (Bill O'Donnell) [1937116] - xfs: fix an undefined behaviour in _da3_path_shift (Bill O'Donnell) [1937116] - xfs: ratelimit xfs_discard_page messages (Bill O'Donnell) [1937116] - xfs: ratelimit xfs_buf_ioerror_alert messages (Bill O'Donnell) [1937116] - xfs: remove the kuid/kgid conversion wrappers (Bill O'Donnell) [1937116] - xfs: remove the icdinode di_uid/di_gid members (Bill O'Donnell) [1937116] - xfs: ensure that the inode uid/gid match values match the icdinode ones (Bill O'Donnell) [1937116] - xfs: improve error message when we can't allocate memory for xfs_buf (Bill O'Donnell) [1937116] - ceph: fix test for whether we can skip read when writing beyond EOF (Jeff Layton) [1971101] - redhat/configs: Add CONFIG_X86_SGX_KVM (Bandan Das) [1494649] - KVM: x86: Fix implicit enum conversion goof in scattered reverse CPUID code (Bandan Das) [1494649] - KVM: x86: Add capability to grant VM access to privileged SGX attribute (Bandan Das) [1494649] - KVM: VMX: Enable SGX virtualization for SGX1, SGX2 and LC (Bandan Das) [1494649] - KVM: VMX: Add ENCLS[EINIT] handler to support SGX Launch Control (LC) (Bandan Das) [1494649] - KVM: VMX: Add emulation of SGX Launch Control LE hash MSRs (Bandan Das) [1494649] - KVM: VMX: Add SGX ENCLS[ECREATE] handler to enforce CPUID restrictions (Bandan Das) [1494649] - KVM: VMX: Frame in ENCLS handler for SGX virtualization (Bandan Das) [1494649] - KVM: VMX: Add basic handling of VM-Exit from SGX enclave (Bandan Das) [1494649] - KVM: x86: Add reverse-CPUID lookup support for scattered SGX features (Bandan Das) [1494649] - KVM: x86: Add support for reverse CPUID lookup of scattered features (Bandan Das) [1494649] - KVM: x86: Define new #PF SGX error code bit (Bandan Das) [1494649] - KVM: x86: Export kvm_mmu_gva_to_gpa_{read,write}() for SGX (VMX) (Bandan Das) [1494649] - x86/sgx: Mark sgx_vepc_vm_ops static (Bandan Das) [1494649] - x86/sgx: Do not update sgx_nr_free_pages in sgx_setup_epc_section() (Bandan Das) [1494649] - x86/sgx: Move provisioning device creation out of SGX driver (Bandan Das) [1494649] - x86/sgx: Add helpers to expose ECREATE and EINIT to KVM (Bandan Das) [1494649] - x86/sgx: Add helper to update SGX_LEPUBKEYHASHn MSRs (Bandan Das) [1494649] - x86/sgx: Add encls_faulted() helper (Bandan Das) [1494649] - x86/sgx: Add SGX2 ENCLS leaf definitions (EAUG, EMODPR and EMODT) (Bandan Das) [1494649] - x86/sgx: Move ENCLS leaf definitions to sgx.h (Bandan Das) [1494649] - x86/sgx: Expose SGX architectural definitions to the kernel (Bandan Das) [1494649] - x86/sgx: Initialize virtual EPC driver even when SGX driver is disabled (Bandan Das) [1494649] - x86/cpu/intel: Allow SGX virtualization without Launch Control support (Bandan Das) [1494649] - x86/sgx: Introduce virtual EPC for use by KVM guests (Bandan Das) [1494649] - x86/sgx: Add SGX_CHILD_PRESENT hardware error code (Bandan Das) [1494649] - x86/sgx: Wipe out EREMOVE from sgx_free_epc_page() (Bandan Das) [1494649] - x86/cpufeatures: Add SGX1 and SGX2 sub-features (Bandan Das) [1494649] - x86/cpufeatures: Make SGX_LC feature bit depend on SGX bit (Bandan Das) [1494649] - x86/sgx: Remove unnecessary kmap() from sgx_ioc_enclave_init() (Bandan Das) [1494649] - selftests/sgx: Use getauxval() to simplify test code (Bandan Das) [1494649] - selftests/sgx: Improve error detection and messages (Bandan Das) [1494649] - x86/sgx: Add a basic NUMA allocation scheme to sgx_alloc_epc_page() (Bandan Das) [1494649] - x86/sgx: Replace section->init_laundry_list with sgx_dirty_page_list (Bandan Das) [1494649] - x86/sgx: Maintain encl->refcount for each encl->mm_list entry (Bandan Das) [1494649] - MAINTAINERS: Add Dave Hansen as reviewer for INTEL SGX (Bandan Das) [1494649] - x86/NUMA: Provide a range-to-target_node lookup facility (Bandan Das) [1494649] - x86/mm: Introduce CONFIG_NUMA_KEEP_MEMINFO (Bandan Das) [1494649] - configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1803489] - Add Mellanox BlueField Gigabit Ethernet driver (Alaa Hleihel) [1803489] - integrity: Use current_uid() in integrity_audit_message() (Richard Guy Briggs) [1957052] - ima: AppArmor satisfies the audit rule requirements (Richard Guy Briggs) [1957052] - IMA: Add audit log for failure conditions (Richard Guy Briggs) [1957052] - integrity: Add errno field in audit message (Richard Guy Briggs) [1957052] - audit: add blank line after variable declarations (Richard Guy Briggs) [1957052] - audit: drop /proc/PID/loginuid documentation Format field (Richard Guy Briggs) [1957052] - audit: avoid -Wempty-body warning (Richard Guy Briggs) [1957052] - audit: document /proc/PID/sessionid (Richard Guy Briggs) [1957052] - audit: document /proc/PID/loginuid (Richard Guy Briggs) [1957052] - MAINTAINERS: update audit files (Richard Guy Briggs) [1957052] - audit: further cleanup of AUDIT_FILTER_ENTRY deprecation (Richard Guy Briggs) [1957052] - netfilter: nftables: fix a warning message in nf_tables_commit_audit_collect() (Richard Guy Briggs) [1957052] - audit: log nftables configuration change events once per table (Richard Guy Briggs) [1957052] - audit_alloc_mark(): don't open-code ERR_CAST() (Richard Guy Briggs) [1957052] - make dump_common_audit_data() safe to be called from RCU pathwalk (Richard Guy Briggs) [1957052] - new helper: d_find_alias_rcu() (Richard Guy Briggs) [1957052] - audit: Make audit_filter_syscall() return void (Richard Guy Briggs) [1957052] - audit: Remove leftover reference to the audit_tasklet (Richard Guy Briggs) [1957052] - kernel/audit: convert comma to semicolon (Richard Guy Briggs) [1957052] - dump_common_audit_data(): fix racy accesses to ->d_name (Richard Guy Briggs) [1957052] - audit: replace atomic_add_return() (Richard Guy Briggs) [1957052] - x86/audit: Fix a -Wmissing-prototypes warning for ia32_classify_syscall() (Richard Guy Briggs) [1957052] - ethtool: fix kdoc attr name (Ivan Vecera) [1967261] - ethtool: Remove link_mode param and derive link params from driver (Ivan Vecera) [1967261] - ethtool: Add lanes parameter for ETHTOOL_LINK_MODE_10000baseR_FEC_BIT (Ivan Vecera) [1967261] - ethtool: fix kdoc in headers (Ivan Vecera) [1967261] - ethtool: document reserved fields in the uAPI (Ivan Vecera) [1967261] - ethtool: un-kdocify extended link state (Ivan Vecera) [1967261] - ethtool: document PHY tunable callbacks (Ivan Vecera) [1967261] - docs: ethtool: fix some copy-paste errors (Ivan Vecera) [1967261] - ethtool: fix incorrect datatype in set_eee ops (Ivan Vecera) [1967261] - net: selftests: Add lanes setting test (Ivan Vecera) [1967261] - mlxsw: ethtool: Pass link mode in use to ethtool (Ivan Vecera) [1967261] - mlxsw: ethtool: Add support for setting lanes when autoneg is off (Ivan Vecera) [1967261] - mlxsw: ethtool: Remove max lanes filtering (Ivan Vecera) [1967261] - ethtool: Expose the number of lanes in use (Ivan Vecera) [1967261] - ethtool: Get link mode in use instead of speed and duplex parameters (Ivan Vecera) [1967261] - ethtool: prepare __ethtool_get_link_ksettings for subsequent changes (Ivan Vecera) [1967261] - ethtool: Extend link modes settings uAPI with lanes (Ivan Vecera) [1967261] - ethtool: Validate master slave configuration before rtnl_lock() (Ivan Vecera) [1967261] - ethtool: fix string set id check (Ivan Vecera) [1967261] - ethtool: fix stack overflow in ethnl_parse_bitset() (Ivan Vecera) [1967261] - selftests: add ring and coalesce selftests (Ivan Vecera) [1967261] - selftests: refactor get_netdev_name function (Ivan Vecera) [1967261] - selftests: extract common functions in ethtool-common.sh (Ivan Vecera) [1967261] - netdevsim: support ethtool ring and coalesce settings (Ivan Vecera) [1967261] - netdevsim: move ethtool pause params in separate struct (Ivan Vecera) [1967261] - ethtool: add ETHTOOL_COALESCE_ALL_PARAMS define (Ivan Vecera) [1967261] - ethtool: netlink: add missing netdev_features_change() call (Ivan Vecera) [1967261] - ethtool: remove unneeded semicolon (Ivan Vecera) [1967261] - ethtool: allow netdev driver to define phy tunables (Ivan Vecera) [1967261] - ethtool: mark netlink family as __ro_after_init (Ivan Vecera) [1967261] - ethtool: Add 100base-FX link mode entries (Ivan Vecera) [1967261] - ethtool: fix error handling in ethtool_phys_id (Ivan Vecera) [1967261] - ethtool: allow flow-type ether without IP protocol field (Ivan Vecera) [1967261] - net: phy: Uninline PHY ethtool statistics operations (Ivan Vecera) [1967261] - net: phy: Define PHY statistics ethtool_phy_ops (Ivan Vecera) [1967261] - net: ethtool: Remove PHYLIB direct dependency (Ivan Vecera) [1967261] - net: phy: Register ethtool PHY operations (Ivan Vecera) [1967261] - genksyms: Ignore module scoped _Static_assert() (Ivan Vecera) [1967261] - net: ethtool: Introduce ethtool_phy_ops (Ivan Vecera) [1967261] - Documentation: networking: fix ethtool-netlink table formats (Ivan Vecera) [1967261] - ethtool: ioctl: Use array_size() in copy_to_user() (Ivan Vecera) [1967261] - net: ethtool: cabletest: Make ethnl_act_cable_test_tdr_cfg static (Ivan Vecera) [1967261] - SUNRPC: Handle major timeout in xprt_adjust_timeout() (Scott Mayhew) [1979070] - gro_cells: reduce number of synchronize_net() calls (Ivan Vecera) [1959015] - net: make sure napi_list is safe for RCU traversal (Ivan Vecera) [1959015] - net: manage napi add/del idempotence explicitly (Ivan Vecera) [1959015] - net: remove napi_hash_del() from driver-facing API (Ivan Vecera) [1959015] - net: disable netpoll on fresh napis (Ivan Vecera) [1959015] - usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled (Torez Smith) [1942772] - xhci: Fix 5.12 regression of missing xHC cache clearing command after a Stall (Torez Smith) [1942772] - xhci: fix giving back URB with incorrect status regression in 5.12 (Torez Smith) [1942772] - usb: typec: ucsi: Clear pending after acking connector change (Torez Smith) [1942772] - net: hso: check for allocation failure in hso_create_bulk_serial_device() (Torez Smith) [1942772] - usb: typec: tcpm: Fix wrong handling in GET_SINK_CAP (Torez Smith) [1942772] - net: hso: fix NULL-deref on disconnect regression (Torez Smith) [1942772] - USB: CDC-ACM: fix poison/unpoison imbalance (Torez Smith) [1942772] - usbip: vudc: fix missing unlock on error in usbip_sockfd_store() (Torez Smith) [1942772] - usb: xhci-mtk: improve bandwidth scheduling with TT (Torez Smith) [1942772] - usb: xhci-mtk: remove or operator for setting schedule parameters (Torez Smith) [1942772] - usb: typec: tcpm: Wait for vbus discharge to VSAFE0V before toggling (Torez Smith) [1942772] - software node: Provide replacement for device_add_properties() (Torez Smith) [1942772] - driver core: platform: Reimplement devm_platform_ioremap_resource (Torez Smith) [1942772] - USB: usblp: initialize newChannel (Torez Smith) [1942772] - net: hso: fix null-ptr-deref during tty device unregistration (Torez Smith) [1942772] - usbip: synchronize event handler with sysfs code paths (Torez Smith) [1942772] - usbip: vudc synchronize sysfs code paths (Torez Smith) [1942772] - usbip: stub-dev synchronize sysfs code paths (Torez Smith) [1942772] - usbip: add sysfs_lock to synchronize sysfs code paths (Torez Smith) [1942772] - drivers: net: fix memory leak in peak_usb_create_dev (Torez Smith) [1942772] - thunderbolt: Fix off by one in tb_port_find_retimer() (Torez Smith) [1942772] - thunderbolt: Fix a leak in tb_retimer_add() (Torez Smith) [1942772] - usb: dwc2: Prevent core suspend when port connection flag is 0 (Torez Smith) [1942772] - usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board. (Torez Smith) [1942772] - usb: xhci-mtk: fix broken streams issue on 0.96 xHCI (Torez Smith) [1942772] - usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() (Torez Smith) [1942772] - USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem (Torez Smith) [1942772] - USB: cdc-acm: do not log successful probe on later errors (Torez Smith) [1942772] - USB: cdc-acm: always claim data interface (Torez Smith) [1942772] - USB: cdc-acm: use negation for NULL checks (Torez Smith) [1942772] - USB: cdc-acm: clean up probe error labels (Torez Smith) [1942772] - USB: cdc-acm: drop redundant driver-data reset (Torez Smith) [1942772] - USB: cdc-acm: drop redundant driver-data assignment (Torez Smith) [1942772] - USB: cdc-acm: fix use-after-free after probe failure (Torez Smith) [1942772] - USB: cdc-acm: fix double free on probe failure (Torez Smith) [1942772] - USB: cdc-acm: downgrade message to debug (Torez Smith) [1942772] - USB: cdc-acm: untangle a circular dependency between callback and softint (Torez Smith) [1942772] - cdc-acm: fix BREAK rx code path adding necessary calls (Torez Smith) [1942772] - usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield (Torez Smith) [1942772] - usb: dwc3: qcom: skip interconnect init for ACPI probe (Torez Smith) [1942772] - can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" (Torez Smith) [1942772] - r8152: limit the RX buffer size of RTL8153A for USB 2.0 (Torez Smith) [1942772] - net: cdc-phonet: fix data-interface release on probe failure (Torez Smith) [1942772] - usb: typec: tcpm: Skip sink_cap query only when VDM sm is busy (Torez Smith) [1942772] - usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- (Torez Smith) [1942772] - usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct (Torez Smith) [1942772] - usb-storage: Add quirk to defeat Kindle's automatic unload (Torez Smith) [1942772] - usbip: Fix incorrect double assignment to udc->ud.tcp_rx (Torez Smith) [1942772] - can: kvaser_usb: Add support for USBcan Pro 4xHS (Torez Smith) [1942772] - can: peak_usb: add forgotten supported devices (Torez Smith) [1942772] - xhci: Fix repeated xhci wake after suspend due to uncleared internal wake state (Torez Smith) [1942772] - usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing (Torez Smith) [1942772] - xhci: Improve detection of device initiated wake signal. (Torez Smith) [1942772] - usb: xhci: do not perform Soft Retry for some xHCI hosts (Torez Smith) [1942772] - usbip: fix vudc usbip_sockfd_store races leading to gpf (Torez Smith) [1942772] - usbip: fix vhci_hcd attach_store() races leading to gpf (Torez Smith) [1942772] - usbip: fix stub_dev usbip_sockfd_store() races leading to gpf (Torez Smith) [1942772] - usbip: fix vudc to check for stream socket (Torez Smith) [1942772] - usbip: fix vhci_hcd to check for stream socket (Torez Smith) [1942772] - usbip: fix stub_dev to check for stream socket (Torez Smith) [1942772] - USB: usblp: fix a hang in poll() if disconnected (Torez Smith) [1942772] - usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement (Torez Smith) [1942772] - usb: dwc3: qcom: Honor wakeup enabled/disabled state (Torez Smith) [1942772] - usb: dwc3: qcom: add ACPI device id for sc8180x (Torez Smith) [1942772] - Goodix Fingerprint device is not a modem (Torez Smith) [1942772] - USB: serial: io_edgeport: fix memory leak in edge_startup (Torez Smith) [1942772] - USB: serial: ch341: add new Product ID (Torez Smith) [1942772] - USB: serial: cp210x: add some more GE USB IDs (Torez Smith) [1942772] - USB: serial: cp210x: add ID for Acuity Brands nLight Air Adapter (Torez Smith) [1942772] - net: usb: log errors to dmesg/syslog (Torez Smith) [1942772] - net: usb: cdc_ncm: emit dev_err on error paths (Torez Smith) [1942772] - thunderbolt: Increase runtime PM reference count on DP tunnel discovery (Torez Smith) [1942772] - thunderbolt: Initialize HopID IDAs in tb_switch_alloc() (Torez Smith) [1942772] - net: usb: qmi_wwan: allow qmimux add/del with master up (Torez Smith) [1942772] - Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" (Torez Smith) [1942772] - net: usb: qmi_wwan: support ZTE P685M modem (Torez Smith) [1942772] - r8152: spilt rtl_set_eee_plus and r8153b_green_en (Torez Smith) [1942772] - r8152: replace netif_err with dev_err (Torez Smith) [1942772] - r8152: check if the pointer of the function exists (Torez Smith) [1942772] - r8152: enable U1/U2 for USB_SPEED_SUPER (Torez Smith) [1942772] - usb: misc: usb3503: Fix logic in usb3503_init() (Torez Smith) [1942772] - usb: Replace lkml.org links with lore (Torez Smith) [1942772] - usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable (Torez Smith) [1942772] - USB: quirks: sort quirk entries (Torez Smith) [1942772] - USB: serial: drop bogus to_usb_serial_port() checks (Torez Smith) [1942772] - USB: serial: drop if with an always false condition (Torez Smith) [1942772] - usb: typec: tcpm: Get Sink VDO from fwnode (Torez Smith) [1942772] - dt-bindings: connector: Add SVDM VDO properties (Torez Smith) [1942772] - usb: typec: displayport: Fill the negotiated SVDM Version in the header (Torez Smith) [1942772] - usb: typec: ucsi: Determine common SVDM Version (Torez Smith) [1942772] - usb: typec: tcpm: Determine common SVDM Version (Torez Smith) [1942772] - usb: pd: Make SVDM Version configurable in VDM header (Torez Smith) [1942772] - usb: typec: Manage SVDM version (Torez Smith) [1942772] - usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt (Torez Smith) [1942772] - usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1 (Torez Smith) [1942772] - USB: serial: option: update interface mapping for ZTE P685M (Torez Smith) [1942772] - usb: dwc3: gadget: Track connected SSP rate and lane count (Torez Smith) [1942772] - usb: dwc3: gadget: Implement setting of SSP rate (Torez Smith) [1942772] - usb: dwc3: core: Check maximum_speed SSP genXxY (Torez Smith) [1942772] - usb: common: Parse for USB SSP genXxY (Torez Smith) [1942772] - usb: dwc2: Fix endpoint direction check in ep_from_windex (Torez Smith) [1942772] - usb: dwc3: fix clock issue during resume in OTG mode (Torez Smith) [1942772] - xhci: ext-caps: Use software node API with the properties (Torez Smith) [1942772] - usb: dwc3: host: Use software node API with the properties (Torez Smith) [1942772] - r8152: replace several functions about phy patch request (Torez Smith) [1942772] - usb: dwc3: qcom: Constify the software node (Torez Smith) [1942772] - usb: dwc3: haps: Constify the software node (Torez Smith) [1942772] - usb: dwc2: pci: Drop the empty quirk function (Torez Smith) [1942772] - thunderbolt: Add support for native USB4 _OSC (Torez Smith) [1942772] - thunderbolt: Allow disabling XDomain protocol (Torez Smith) [1942772] - thunderbolt: Add support for PCIe tunneling disabled (SL5) (Torez Smith) [1942772] - thunderbolt: dma_test: Drop unnecessary include (Torez Smith) [1942772] - thunderbolt: Add clarifying comments about USB4 terms router and adapter (Torez Smith) [1942772] - thunderbolt: switch: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: nhi: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: path: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: eeprom: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - thunderbolt: ctl: Fix kernel-doc descriptions of non-static functions (Torez Smith) [1942772] - usb: pd: Reland VDO definitions of PD2.0 (Torez Smith) [1942772] - NET: usb: qmi_wwan: Adding support for Cinterion MV31 (Torez Smith) [1942772] - usb: pd: Update VDO definitions (Torez Smith) [1942772] - xhci: fix bounce buffer usage for non-sg list case (Torez Smith) [1942772] - usb: xhci-mtk: break loop when find the endpoint to drop (Torez Smith) [1942772] - usb: typec: Return void in typec_partner_set_pd_revision (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable data path when partner is USB Comm capable (Torez Smith) [1942772] - usb: typec: tcpci: Add Callback to Usb Communication capable partner (Torez Smith) [1942772] - usb: typec: tcpm: Add Callback to Usb Communication capable partner (Torez Smith) [1942772] - usb: typec: tcpm: Set in_ams flag when Source caps have been received (Torez Smith) [1942772] - usb: typec: tcpm: Handle vbus shutoff when in source mode (Torez Smith) [1942772] - usb: typec: Add typec_partner_set_pd_revision (Torez Smith) [1942772] - usb: typec: Provide PD Specification Revision for cable and partner (Torez Smith) [1942772] - usb: typec: Standardize PD Revision format with Type-C Revision (Torez Smith) [1942772] - usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints (Torez Smith) [1942772] - USB: serial: ftdi_sio: restore divisor-encoding comments (Torez Smith) [1942772] - USB: serial: ftdi_sio: fix FTX sub-integer prescaler (Torez Smith) [1942772] - USB: serial: cp210x: clean up auto-RTS handling (Torez Smith) [1942772] - USB: serial: cp210x: fix RTS handling (Torez Smith) [1942772] - USB: serial: cp210x: clean up printk zero padding (Torez Smith) [1942772] - USB: serial: cp210x: clean up flow-control debug message (Torez Smith) [1942772] - USB: serial: cp210x: drop shift macros (Torez Smith) [1942772] - USB: serial: cp210x: fix modem-control handling (Torez Smith) [1942772] - USB: serial: cp210x: suppress modem-control errors (Torez Smith) [1942772] - xhci: handle halting transfer event properly after endpoint stop and halt raced. (Torez Smith) [1942772] - xhci: Check for pending reset endpoint command before queueing a new one. (Torez Smith) [1942772] - xhci: remove obsolete dequeue pointer moving code (Torez Smith) [1942772] - xhci: introduce a new move_dequeue_past_td() function to replace old code. (Torez Smith) [1942772] - xhci: handle stop endpoint command completion with endpoint in running state. (Torez Smith) [1942772] - xhci: Fix halted endpoint at stop endpoint command completion (Torez Smith) [1942772] - xhci: split handling halted endpoints into two steps (Torez Smith) [1942772] - xhci: move and rename xhci_cleanup_halted_endpoint() (Torez Smith) [1942772] - xhci: turn cancelled td cleanup to its own function (Torez Smith) [1942772] - xhci: store TD status in the td struct instead of passing it along (Torez Smith) [1942772] - xhci: use xhci_td_cleanup() helper when giving back cancelled URBs (Torez Smith) [1942772] - xhci: move xhci_td_cleanup so it can be called by more functions (Torez Smith) [1942772] - xhci: Add xhci_reset_halted_ep() helper function (Torez Smith) [1942772] - xhci: flush endpoint start to reduce race risk with stop endpoint command. (Torez Smith) [1942772] - xhci: Check link TRBs when updating ring enqueue and dequeue pointers. (Torez Smith) [1942772] - xhci: avoid DMA double fetch when reading event trb type. (Torez Smith) [1942772] - xhci: remove extra loop in interrupt context (Torez Smith) [1942772] - xhci: check slot_id is valid before gathering slot info (Torez Smith) [1942772] - xhci: prevent a theoretical endless loop while preparing rings. (Torez Smith) [1942772] - xhci: remove xhci_stream_id_to_ring() helper (Torez Smith) [1942772] - xhci: add xhci_virt_ep_to_ring() helper (Torez Smith) [1942772] - xhci: check virt_dev is valid before dereferencing it (Torez Smith) [1942772] - xhci: add xhci_get_virt_ep() helper (Torez Smith) [1942772] - xhci: remove unused event parameter from completion handlers (Torez Smith) [1942772] - xhci: adjust parameters passed to cleanup_halted_endpoint() (Torez Smith) [1942772] - xhci: get isochronous ring directly from endpoint structure (Torez Smith) [1942772] - xhci: Avoid parsing transfer events several times (Torez Smith) [1942772] - net: qmi_wwan: Add pass through mode (Torez Smith) [1942772] - net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces (Torez Smith) [1942772] - net: usb: cdc_ether: added support for Thales Cinterion PLSx3 modem family. (Torez Smith) [1942772] - thunderbolt: Fix possible NULL pointer dereference in tb_acpi_add_link() (Torez Smith) [1942772] - thunderbolt: switch: Fix function name in the header (Torez Smith) [1942772] - thunderbolt: tunnel: Fix misspelling of 'receive_path' (Torez Smith) [1942772] - thunderbolt: icm: Fix a couple of formatting issues (Torez Smith) [1942772] - thunderbolt: switch: Demote a bunch of non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: tb: Kernel-doc function headers should document their parameters (Torez Smith) [1942772] - thunderbolt: nhi: Demote some non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: xdomain: Fix 'tb_unregister_service_driver()'s 'drv' param (Torez Smith) [1942772] - thunderbolt: eeprom: Demote non-conformant kernel-doc headers to standard comment blocks (Torez Smith) [1942772] - USB: serial: mos7720: fix error code in mos7720_write() (Torez Smith) [1942772] - thunderbolt: ctl: Demote non-conformant kernel-doc headers (Torez Smith) [1942772] - thunderbolt: cap: Fix kernel-doc formatting issue (Torez Smith) [1942772] - thunderbolt: dma_port: Check 'dma_port_flash_write_block()'s return value (Torez Smith) [1942772] - USB: serial: option: Adding support for Cinterion MV31 (Torez Smith) [1942772] - can: mcba_usb: remove h from printk format specifier (Torez Smith) [1942772] - usbnet: fix the indentation of one code snippet (Torez Smith) [1942772] - usb: usb251xb: Use of_device_get_match_data() (Torez Smith) [1942772] - usb: dwc2: Make "trimming xfer length" a debug message (Torez Smith) [1942772] - usb: dwc2: Abort transaction after errors with unknown reason (Torez Smith) [1942772] - usb: dwc2: Do not update data length if it is 0 on inbound transfers (Torez Smith) [1942772] - usb: xhci-mtk: fix unreleased bandwidth data (Torez Smith) [1942772] - USB: serial: mos7840: fix error code in mos7840_write() (Torez Smith) [1942772] - USB: usblp: don't call usb_set_interface if there's a single alt (Torez Smith) [1942772] - USB: serial: cp210x: add pid/vid for WSDA-200-USB (Torez Smith) [1942772] - usb: typec: tcpci_maxim: add terminating newlines to logging (Torez Smith) [1942772] - usb: typec: tcpci_maxim: remove redundant assignment (Torez Smith) [1942772] - usb: typec: tcpm: Create legacy PDOs for PD2 connection (Torez Smith) [1942772] - net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Drop GPIO includes (Torez Smith) [1942772] - usb: typec: tcpm: Respond Wait if VDM state machine is running (Torez Smith) [1942772] - usb: typec: tcpm: Protocol Error handling (Torez Smith) [1942772] - usb: typec: tcpm: AMS and Collision Avoidance (Torez Smith) [1942772] - net: usb: cdc_ncm: don't spew notifications (Torez Smith) [1942772] - usb: typec: ucsi: Add conditional dependency on USB role switch (Torez Smith) [1942772] - usb: ch9: Add USB 3.2 SSP attributes (Torez Smith) [1942772] - USB: serial: f81232: drop short control-transfer checks (Torez Smith) [1942772] - USB: serial: io_ti: fix a debug-message copy-paste error (Torez Smith) [1942772] - USB: serial: io_ti: drop short control-transfer check (Torez Smith) [1942772] - USB: serial: upd78f0730: drop short control-transfer check (Torez Smith) [1942772] - USB: serial: cp210x: add copyright notice (Torez Smith) [1942772] - USB: serial: cp210x: drop unused includes (Torez Smith) [1942772] - USB: serial: cp210x: drop short control-transfer checks (Torez Smith) [1942772] - USB: serial: cp210x: update control-characters on every change (Torez Smith) [1942772] - USB: serial: cp210x: set IXOFF thresholds (Torez Smith) [1942772] - USB: serial: cp210x: add support for software flow control (Torez Smith) [1942772] - USB: serial: pl2303: fix line-speed handling on newer chips (Torez Smith) [1942772] - xhci: tegra: Delay for disabling LFPS detector (Torez Smith) [1942772] - xhci: make sure TRB is fully written before giving it to the controller (Torez Smith) [1942772] - usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Alder Lake-P (Torez Smith) [1942772] - usb: dwc3: pci: ID for Tiger Lake CPU (Torez Smith) [1942772] - usb: dwc3: pci: Register a software node for the dwc3 platform device (Torez Smith) [1942772] - thunderbolt: Add support for de-authorizing devices (Torez Smith) [1942772] - nt: usb: USB_RTL8153_ECM should not default to y (Torez Smith) [1942772] - USB: dwc3: document gadget_max_speed (Torez Smith) [1942772] - usb: dwc3: gadget: Disable Vendor Test LMP Received event (Torez Smith) [1942772] - USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000 (Torez Smith) [1942772] - r8153_ecm: Add Lenovo Powered USB-C Hub as a fallback of r8152 (Torez Smith) [1942772] - r8152: Add Lenovo Powered USB-C Travel Hub (Torez Smith) [1942772] - USB: ehci: fix an interrupt calltrace error (Torez Smith) [1942772] - ehci: fix EHCI host controller initialization sequence (Torez Smith) [1942772] - usb: typec: ucsi: Add support for USB role switch (Torez Smith) [1942772] - usb: dwc2: disable Link Power Management on STM32MP15 HS OTG (Torez Smith) [1942772] - usb: dwc2: enable FS/LS PHY clock select on STM32MP15 FS OTG (Torez Smith) [1942772] - usb: dwc2: set ahbcfg parameter for STM32MP15 OTG HS and FS (Torez Smith) [1942772] - usb: dwc3: Simplify with dev_err_probe() (Torez Smith) [1942772] - usb: dwc3: keystone: Simplify with dev_err_probe() (Torez Smith) [1942772] - usb: dwc3: core: Replace devm_reset_control_array_get() (Torez Smith) [1942772] - USB: serial: mos7720: improve OOM-handling in read_mos_reg() (Torez Smith) [1942772] - rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request (Torez Smith) [1942772] - thunderbolt: Start lane initialization after sleep (Torez Smith) [1942772] - thunderbolt: Constify static attribute_group structs (Torez Smith) [1942772] - qmi_wwan: Increase headroom for QMAP SKBs (Torez Smith) [1942772] - usb: usbip: Use DEFINE_SPINLOCK() for spinlock (Torez Smith) [1942772] - usb: dwc3: gadget: Clear wait flag on dequeue (Torez Smith) [1942772] - usb: typec: Send uevent for num_altmodes update (Torez Smith) [1942772] - usb: typec: Fix copy paste error for NVIDIA alt-mode description (Torez Smith) [1942772] - kcov, usb: hide in_serving_softirq checks in __usb_hcd_giveback_urb (Torez Smith) [1942772] - thunderbolt: Drop duplicated 0x prefix from format string (Torez Smith) [1942772] - net: cdc_ncm: correct overhead in delayed_ndp_size (Torez Smith) [1942772] - net: usb: Use DEFINE_SPINLOCK() for spinlock (Torez Smith) [1942772] - usb: uas: Add PNY USB Portable SSD to unusual_uas (Torez Smith) [1942772] - net: usb: qmi_wwan: add Quectel EM160R-GL (Torez Smith) [1942772] - usb: usbip: vhci_hcd: protect shift size (Torez Smith) [1942772] - USB: usblp: fix DMA to stack (Torez Smith) [1942772] - usb: dwc3: gadget: Preserve UDC max speed setting (Torez Smith) [1942772] - usb: dwc3: gadget: Allow runtime suspend if UDC unbinded (Torez Smith) [1942772] - usb: dwc3: gadget: Introduce a DWC3 VBUS draw callback (Torez Smith) [1942772] - usb: dwc3: add imx8mp dwc3 glue layer driver (Torez Smith) [1942772] - USB: serial: iuu_phoenix: fix DMA from stack (Torez Smith) [1942772] - USB: serial: option: add LongSung M5710 module support (Torez Smith) [1942772] - USB: serial: option: add Quectel EM160R-GL (Torez Smith) [1942772] - CDC-NCM: remove "connected" log message (Torez Smith) [1942772] - usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression (Torez Smith) [1942772] - usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one (Torez Smith) [1942772] - usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion (Torez Smith) [1942772] - usb: dwc3: drd: Improve dwc3_get_extcon() style (Torez Smith) [1942772] - usb: dwc3: drd: Avoid error when extcon is missing (Torez Smith) [1942772] - USB: usbtmc: Bump USBTMC_API_VERSION value (Torez Smith) [1942772] - USB: usbtmc: Add separate USBTMC_IOCTL_GET_SRQ_STB (Torez Smith) [1942772] - USB: usbtmc: Add USBTMC_IOCTL_GET_STB (Torez Smith) [1942772] - USB: usbtmc: Fix reading stale status byte (Torez Smith) [1942772] - kcov, usbip: collect coverage from vhci_rx_loop (Torez Smith) [1942772] - USB: yurex: fix control-URB timeout handling (Torez Smith) [1942772] - usb: dwc3: meson-g12a: disable clk on error handling path in probe (Torez Smith) [1942772] - USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request (Torez Smith) [1942772] - USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). (Torez Smith) [1942772] - USB: cdc-acm: blacklist another IR Droid device (Torez Smith) [1942772] - thunderbolt: Use kmemdup instead of kzalloc and memcpy (Torez Smith) [1942772] - usb: ucsi: convert comma to semicolon (Torez Smith) [1942772] - usb: typec: tcpm: convert comma to semicolon (Torez Smith) [1942772] - usb: typec: tcpm: Update vbus_vsafe0v on init (Torez Smith) [1942772] - usb: typec: tcpci: Enable bleed discharge when auto discharge is enabled (Torez Smith) [1942772] - usb: typec: Add class for plug alt mode device (Torez Smith) [1942772] - USB: typec: tcpci: Add Bleed discharge to POWER_CONTROL definition (Torez Smith) [1942772] - USB: typec: tcpm: Add a 30ms room for tPSSourceOn in PR_SWAP (Torez Smith) [1942772] - USB: typec: tcpm: Fix PR_SWAP error handling (Torez Smith) [1942772] - USB: typec: tcpm: Hard Reset after not receiving a Request (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure cable generation value for USB4 (Torez Smith) [1942772] - net: usb: convert comma to semicolon (Torez Smith) [1942772] - USB: UAS: introduce a quirk to set no_write_same (Torez Smith) [1942772] - USB: serial: ftdi_sio: log the CBUS GPIO validity (Torez Smith) [1942772] - USB: serial: ftdi_sio: drop GPIO line checking dead code (Torez Smith) [1942772] - USB: serial: ftdi_sio: report the valid GPIO lines to gpiolib (Torez Smith) [1942772] - drivers: usb: atm: use atm_info() instead of atm_printk(KERN_INFO ... (Torez Smith) [1942772] - drivers: usb: atm: reduce noise (Torez Smith) [1942772] - USB: serial: option: add interface-number sanity check to flag handling (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable VSAFE0V signalling (Torez Smith) [1942772] - usb: typec: tcpci: Add support to report vSafe0V (Torez Smith) [1942772] - usb: typec: tcpm: Introduce vsafe0v for vbus (Torez Smith) [1942772] - usb: typec: tcpm: Clear send_discover in tcpm_check_send_discover (Torez Smith) [1942772] - usb: typec: tcpm: Pass down negotiated rev to update retry count (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Use correct response message bits (Torez Smith) [1942772] - xhci: Give USB2 ports time to enter U3 in bus suspend (Torez Smith) [1942772] - xhci-pci: Allow host runtime PM as default for Intel Maple Ridge xHCI (Torez Smith) [1942772] - xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP (Torez Smith) [1942772] - usb: xhci: Use temporary buffer to consolidate SG (Torez Smith) [1942772] - usb: xhci: Set quirk for XHCI_SG_TRB_CACHE_SIZE_QUIRK (Torez Smith) [1942772] - USB: legotower: fix logical error in recent commit (Torez Smith) [1942772] - USB: legousbtower: use usb_control_msg_recv() (Torez Smith) [1942772] - USB: add RESET_RESUME quirk for Snapscan 1212 (Torez Smith) [1942772] - usb: typec: tps6598x: Export some power supply properties (Torez Smith) [1942772] - usb: typec: tps6598x: Select USB_ROLE_SWITCH and REGMAP_I2C (Torez Smith) [1942772] - USB: core: drop pipe-type check from new control-message helpers (Torez Smith) [1942772] - USB: core: return -EREMOTEIO on short usb_control_msg_recv() (Torez Smith) [1942772] - USB: core: drop short-transfer check from usb_control_msg_send() (Torez Smith) [1942772] - USB: apple-mfi-fastcharge: Fix use after free in probe (Torez Smith) [1942772] - Revert "usb-storage: fix sdev->host->dma_dev" (Torez Smith) [1942772] - Revert "uas: fix sdev->host->dma_dev" (Torez Smith) [1942772] - Revert "uas: bump hw_max_sectors to 2048 blocks for SS or faster drives" (Torez Smith) [1942772] - USB: serial: cp210x: clean up dtr_rts() (Torez Smith) [1942772] - USB: serial: cp210x: refactor flow-control handling (Torez Smith) [1942772] - USB: serial: cp210x: drop flow-control debugging (Torez Smith) [1942772] - USB: serial: cp210x: set terminal settings on open (Torez Smith) [1942772] - USB: serial: cp210x: clean up line-control handling (Torez Smith) [1942772] - USB: serial: cp210x: return early on unchanged termios (Torez Smith) [1942772] - USB: serial: kl5kusb105: fix memleak on open (Torez Smith) [1942772] - USB: serial: ch341: sort device-id entries (Torez Smith) [1942772] - USB: serial: ch341: add new Product ID for CH341A (Torez Smith) [1942772] - USB: serial: option: fix Quectel BG96 matching (Torez Smith) [1942772] - can: pcan_usb_core: fix fall-through warnings for Clang (Torez Smith) [1942772] - usb: typec: stusb160x: fix power-opmode property with typec-power-opmode (Torez Smith) [1942772] - USB: serial: option: add support for Thales Cinterion EXS82 (Torez Smith) [1942772] - usb: typec: Add type sysfs attribute file for partners (Torez Smith) [1942772] - usb: common: ulpi: Constify static attribute_group struct (Torez Smith) [1942772] - usb: typec: Constify static attribute_group structs (Torez Smith) [1942772] - USB: core: Constify static attribute_group structs (Torez Smith) [1942772] - usb: typec: tcpm: Stay in SNK_TRY_WAIT_DEBOUNCE_CHECK_VBUS till Rp is seen (Torez Smith) [1942772] - usb: typec: tcpm: Disregard vbus off while in PR_SWAP_SNK_SRC_SOURCE_ON (Torez Smith) [1942772] - usb: typec: Expose Product Type VDOs via sysfs (Torez Smith) [1942772] - usb: pd: DFP product types (Torez Smith) [1942772] - usb: Fix fall-through warnings for Clang (Torez Smith) [1942772] - usbnet: ipheth: fix connectivity with iOS 14 (Torez Smith) [1942772] - USB: core: Change pK for __user pointers to px (Torez Smith) [1942772] - USB: core: Fix regression in Hercules audio card (Torez Smith) [1942772] - USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card (Torez Smith) [1942772] - can: kvaser_usb: Add new Kvaser hydra devices (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_hydra: Add support for new device variant (Torez Smith) [1942772] - can: kvaser_usb: Add new Kvaser Leaf v2 devices (Torez Smith) [1942772] - can: kvaser_usb: Add USB_{LEAF,HYDRA}_PRODUCT_ID_END defines (Torez Smith) [1942772] - USB: serial: option: add Fibocom NL668 variants (Torez Smith) [1942772] - usb: typec: Fix num_altmodes kernel-doc error (Torez Smith) [1942772] - r8153_ecm: avoid to be prior to r8152 driver (Torez Smith) [1942772] - net: usb: qmi_wwan: Set DTR quirk for MR400 (Torez Smith) [1942772] - usb: typec: Add plug num_altmodes sysfs attr (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix the compatible string (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix uninitialized return variable (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Enable auto discharge disconnect (Torez Smith) [1942772] - usb: typec: tcpci: Implement Auto discharge disconnect callbacks (Torez Smith) [1942772] - usb: typec: tcpm: Implement enabling Auto Discharge disconnect support (Torez Smith) [1942772] - usb: typec: tcpci_maxim: Fix vbus stuck on upon diconnecting sink (Torez Smith) [1942772] - usb: typec: tcpci: frs sourcing vbus callback (Torez Smith) [1942772] - usb: typec: tcpm: frs sourcing vbus callback (Torez Smith) [1942772] - usb: typec: tcpm: Refactor logic for new-source-frs-typec-current (Torez Smith) [1942772] - usb: typec: Add number of altmodes partner attr (Torez Smith) [1942772] - usb: pd: Add captive Type C cable type (Torez Smith) [1942772] - USB: apple-mfi-fastcharge: Fix kfree after failed kzalloc (Torez Smith) [1942772] - usb: typec: Remove one bit support for the Thunderbolt rounded/non-rounded cable (Torez Smith) [1942772] - usb: typec: intel_pmc_mux: Configure Thunderbolt cable generation bits (Torez Smith) [1942772] - usb: typec: Correct the bit values for the Thunderbolt rounded/non-rounded cable support (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits (Torez Smith) [1942772] - cx82310_eth: fix error return code in cx82310_bind() (Torez Smith) [1942772] - usb: typec: qcom-pmic-typec: fix builtin build errors (Torez Smith) [1942772] - can: peak_usb: fix potential integer overflow on shift of a int (Torez Smith) [1942772] - can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to can_put_echo_skb() (Torez Smith) [1942772] - usb: hcd.h: Remove RUN_CONTEXT (Torez Smith) [1942772] - USB: storage: avoid use of uninitialized values in error path (Torez Smith) [1942772] - usb: fix a few cases of -Wfallthrough (Torez Smith) [1942772] - usbnet: switch to core handling of rx/tx byte/packet counters (Torez Smith) [1942772] - qmi_wwan: switch to core handling of rx/tx byte/packet counters (Torez Smith) [1942772] - net: usb: fix spelling typo in cdc_ncm.c (Torez Smith) [1942772] - usb: typec: ucsi: Work around PPM losing change information (Torez Smith) [1942772] - usb: typec: ucsi: acpi: Always decode connector change information (Torez Smith) [1942772] - net/usb/r8153_ecm: support ECM mode for RTL8153 (Torez Smith) [1942772] - USB: serial: mos7720: fix parallel-port state restore (Torez Smith) [1942772] - USB: serial: remove write wait queue (Torez Smith) [1942772] - USB: serial: digi_acceleport: fix write-wakeup deadlocks (Torez Smith) [1942772] - USB: serial: keyspan_pda: drop redundant usb-serial pointer (Torez Smith) [1942772] - USB: serial: keyspan_pda: use BIT() macro (Torez Smith) [1942772] - USB: serial: keyspan_pda: add write-fifo support (Torez Smith) [1942772] - USB: serial: keyspan_pda: increase transmitter threshold (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write implementation (Torez Smith) [1942772] - USB: serial: keyspan_pda: refactor write-room handling (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write unthrottling (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix tx-unthrottle use-after-free (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write-wakeup use-after-free (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix stalled writes (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix write deadlock (Torez Smith) [1942772] - USB: serial: keyspan_pda: fix dropped unthrottle interrupts (Torez Smith) [1942772] - net: usb: r8152: Fix a couple of spelling errors in fw_phy_nc's docs (Torez Smith) [1942772] - net: usb: lan78xx: Remove lots of set but unused 'ret' variables (Torez Smith) [1942772] - net: usb: r8152: Provide missing documentation for some struct members (Torez Smith) [1942772] - can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping (Torez Smith) [1942772] - can: peak_usb: add range checking in decode operations (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition (Torez Smith) [1942772] - kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq (Torez Smith) [1942772] - dt-bindings: connector: Add property to set initial current cap for FRS (Torez Smith) [1942772] - usb: xhci: Remove in_interrupt() checks (Torez Smith) [1942772] - usbip: Remove in_interrupt() check (Torez Smith) [1942772] - usb: core: Replace in_interrupt() in comments (Torez Smith) [1942772] - usb: atm: Replace in_interrupt() usage in comment (Torez Smith) [1942772] - USB: sisusbvga: Make console support depend on BROKEN (Torez Smith) [1942772] - usb: host: xhci-mem: remove unneeded break (Torez Smith) [1942772] - usb: storage: freecom: remove unneeded break (Torez Smith) [1942772] - usb: misc: iowarrior: remove unneeded break (Torez Smith) [1942772] - usb: host: ehci-sched: add comment about find_tt() not returning error (Torez Smith) [1942772] - usb: dwc3: ep0: Fix delay status handling (Torez Smith) [1942772] - USB: serial: iuu_phoenix: remove unneeded break (Torez Smith) [1942772] - USB: serial: digi_acceleport: remove in_interrupt() usage (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Alder Lake-S (Torez Smith) [1942772] - net: usb: rtl8150: don't incorrectly assign random MAC addresses (Torez Smith) [1942772] - net: usbnet: use new function dev_fetch_sw_netstats (Torez Smith) [1942772] - net: usb: qmi_wwan: use new function dev_fetch_sw_netstats (Torez Smith) [1942772] - cx82310_eth: use netdev_err instead of dev_err (Torez Smith) [1942772] - cx82310_eth: re-enable ethernet mode after router reboot (Torez Smith) [1942772] - net: usbnet: remove driver version (Torez Smith) [1942772] - net: usb: qmi_wwan: add Cellient MPL200 card (Torez Smith) [1942772] - usbip: vhci_hcd: fix calling usb_hcd_giveback_urb() with irqs enabled (Torez Smith) [1942772] - net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails (Torez Smith) [1942772] - usbnet: Use fallthrough pseudo-keyword (Torez Smith) [1942772] - net/smscx5xx: change to of_get_mac_address() eth_platform_get_mac_address() (Torez Smith) [1942772] - net: usb: pegasus: Proper error handing when setting pegasus' MAC address (Torez Smith) [1942772] - usb: dwc3: gadget: Support up to max stream id (Torez Smith) [1942772] - usb: dwc2: Fix INTR OUT transfers in DDMA mode. (Torez Smith) [1942772] - usb: dwc3: of-simple: Add compatible string for Intel Keem Bay platform (Torez Smith) [1942772] - net: rtl8150: Use the new usb control message API. (Torez Smith) [1942772] - net: pegasus: Use the new usb control message API. (Torez Smith) [1942772] - usb: dwc3: gadget: Return early if no TRB update (Torez Smith) [1942772] - usb: dwc3: gadget: Keep TRBs in request order (Torez Smith) [1942772] - usb: dwc3: gadget: Revise setting IOC when no TRB left (Torez Smith) [1942772] - usb: dwc3: gadget: Look ahead when setting IOC (Torez Smith) [1942772] - usb: dwc3: gadget: Allow restarting a transfer (Torez Smith) [1942772] - usb: dwc3: Stop active transfers before halting the controller (Torez Smith) [1942772] - usb: dwc3: gadget: Rename misleading function names (Torez Smith) [1942772] - usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor preparing last TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Set IOC if not enough for extra TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Check for number of TRBs prepared (Torez Smith) [1942772] - usb: dwc3: gadget: Return the number of prepared TRBs (Torez Smith) [1942772] - usb: dwc3: ep0: Fix ZLP for OUT ep0 requests (Torez Smith) [1942772] - usb: dwc3: gadget: Improve TRB ZLP setup (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor preparing extra TRB (Torez Smith) [1942772] - usb: dwc3: gadget: Reclaim extra TRBs after request completion (Torez Smith) [1942772] - usb: dwc3: gadget: Check MPS of the request length (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor ep command completion (Torez Smith) [1942772] - usb: dwc3: allocate gadget structure dynamically (Torez Smith) [1942772] - usb: dwc3: core: add phy cleanup for probe error handling (Torez Smith) [1942772] - usb: dwc3: core: don't trigger runtime pm when remove driver (Torez Smith) [1942772] - usb: dwc3: debugfs: do not queue work if try to change mode on non-drd (Torez Smith) [1942772] - usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM functionality (Torez Smith) [1942772] - usb: dwc2: add support for APM82181 USB OTG (Torez Smith) [1942772] - usb: dwc-meson-g12a: Add support for USB on AXG SoCs (Torez Smith) [1942772] - usb: dwc3: gadget: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG (Torez Smith) [1942772] - usb: dwc3: debugfs: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: qcom: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: ep0: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: core: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: debug: fix checkpatch warning (Torez Smith) [1942772] - usb: dwc3: trace: fix checkpatch warnings (Torez Smith) [1942772] - usb: dwc3: ulpi: fix checkpatch warning (Torez Smith) [1942772] - usb: dwc3: meson: fix checkpatch errors and warnings (Torez Smith) [1942772] - usb: dwc3: debug: fix sparse warning (Torez Smith) [1942772] - usb: dwc3: meson: fix coccinelle WARNING (Torez Smith) [1942772] - usb: dwc3: qcom: Add interconnect support in dwc3 driver (Torez Smith) [1942772] - net: usb: net1080: Remove in_interrupt() comment (Torez Smith) [1942772] - net: usb: kaweth: Remove last user of kaweth_control() (Torez Smith) [1942772] - net: usb: kaweth: Replace kaweth_control() with usb_control_msg() (Torez Smith) [1942772] - net: usb: ax88179_178a: add MCT usb 3.0 adapter (Torez Smith) [1942772] - net: usb: ax88179_178a: fix missing stop entry in driver_info (Torez Smith) [1942772] - net: usb: ax88179_178a: add Toshiba usb 3.0 adapter (Torez Smith) [1942772] - Revert "usbip: Implement a match function to fix usbip" (Torez Smith) [1942772] - usb: dwc2: Fix parameter type in function pointer prototype (Torez Smith) [1942772] - usb: dwc3: core: Print warning on unsupported speed (Torez Smith) [1942772] - usb: dwc3: core: Properly default unspecified speed (Torez Smith) [1942772] - usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails (Torez Smith) [1942772] - usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command (Torez Smith) [1942772] - usb: dwc3: gadget: Resume pending requests after CLEAR_STALL (Torez Smith) [1942772] - can: peak_usb: convert to use le32_add_cpu() (Torez Smith) [1942772] - can: pcan_usb: add support of rxerr/txerr counters (Torez Smith) [1942772] - can: pcan_usb: Document the commands sent to the device (Torez Smith) [1942772] - can: mcba_usb: remove redundant initialization of variable err (Torez Smith) [1942772] - usb: dwc2: Always disable regulators on driver teardown (Torez Smith) [1942772] - usbip: simplify the return expression of usbip_core_init() (Torez Smith) [1942772] - rndis_host: increase sleep time in the query-response loop (Torez Smith) [1942772] - Revert "usb: dwc3: meson-g12a: fix shared reset control use" (Torez Smith) [1942772] - net: usb: dm9601: Add USB ID of Keenetic Plus DSL (Torez Smith) [1942772] - smsc95xx: add phylib support (Torez Smith) [1942772] - smsc95xx: use usbnet->driver_priv (Torez Smith) [1942772] - smsc95xx: remove redundant function arguments (Torez Smith) [1942772] - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() (Torez Smith) [1942772] - net: cdc_ncm: Fix build error (Torez Smith) [1942772] - tools: usb: move to tools buildsystem (Torez Smith) [1942772] - usbip: Implement a match function to fix usbip (Torez Smith) [1942772] - usb: dwc3: gadget: Handle ZLP for sg requests (Torez Smith) [1942772] - usb: dwc3: gadget: Fix handling ZLP (Torez Smith) [1942772] - usb: dwc3: gadget: Don't setup more than requested (Torez Smith) [1942772] - r8152: Use MAC address from correct device tree node (Torez Smith) [1942772] - usb: hso: remove bogus check for EINPROGRESS (Torez Smith) [1942772] - usb: hso: no complaint about kmalloc failure (Torez Smith) [1942772] - hso: fix bailout in error case of probe (Torez Smith) [1942772] - usb: dwc3: convert to devm_platform_ioremap_resource_byname (Torez Smith) [1942772] - net: lan78xx: replace bogus endpoint lookup (Torez Smith) [1942772] - net: lan78xx: fix transfer-buffer memory leak (Torez Smith) [1942772] - net: lan78xx: add missing endpoint sanity check (Torez Smith) [1942772] - usb: hso: check for return value in hso_serial_common_create() (Torez Smith) [1942772] - Revert "usb: dwc2: override PHY input signals with usb role switch support" (Torez Smith) [1942772] - Revert "usb: dwc2: don't use ID/Vbus detection if usb-role-switch on STM32MP15 SoCs" (Torez Smith) [1942772] - usb: dwc3: gadget: when the started list is empty stop the active xfer (Torez Smith) [1942772] - usb: dwc3: gadget: make starting isoc transfers more robust (Torez Smith) [1942772] - usb: dwc3: gadget: add frame number mask (Torez Smith) [1942772] - usb: dwc2: Fix error path in gadget registration (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix shared reset control use (Torez Smith) [1942772] - usb: dwc2: don't use ID/Vbus detection if usb-role-switch on STM32MP15 SoCs (Torez Smith) [1942772] - usb: dwc2: override PHY input signals with usb role switch support (Torez Smith) [1942772] - net: cdc_ncm: hook into set_rx_mode to admit multicast traffic (Torez Smith) [1942772] - net: cdc_ncm: add .ndo_set_rx_mode to cdc_ncm_netdev_ops (Torez Smith) [1942772] - net: usbnet: export usbnet_set_rx_mode() (Torez Smith) [1942772] - net: cdc_ether: export usbnet_cdc_update_filter (Torez Smith) [1942772] - net: cdc_ether: use dev->intf to get interface information (Torez Smith) [1942772] - ax88172a: fix ax88172a_unbind() failures (Torez Smith) [1942772] - usb: dwc2: gadget: Avoid pointless read of EP control register (Torez Smith) [1942772] - usb: dwc2: gadget: Make use of GINTMSK2 (Torez Smith) [1942772] - usb: dwc3: Replace HTTP links with HTTPS ones (Torez Smith) [1942772] - tools: usb: usbip: Replace HTTP links with HTTPS ones (Torez Smith) [1942772] - usb: hso: Fix debug compile warning on sparc32 (Torez Smith) [1942772] - usbip: Use fallthrough pseudo-keyword (Torez Smith) [1942772] - Documentation/driver-api: usb/URB: drop doubled word (Torez Smith) [1942772] - usb: dwc3: dwc3-qcom: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Jasper Lake (Torez Smith) [1942772] - usb: dwc2: Fix shutdown callback in platform (Torez Smith) [1942772] - usb: dwc3: pci: add support for the Intel Tiger Lake PCH -H variant (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for Quectel EG95 LTE modem (Torez Smith) [1942772] - smsc95xx: avoid memory leak in smsc95xx_bind (Torez Smith) [1942772] - smsc95xx: check return value of smsc95xx_reset (Torez Smith) [1942772] - usb: dwc2: gadget: Remove assigned but never used 'maxsize' (Torez Smith) [1942772] - usb: dwc3: dwc3-of-simple: Function headers are not good candidates for kerneldoc (Torez Smith) [1942772] - usb: dwc3: dwc3-haps: Function headers are not suitable for kerneldoc (Torez Smith) [1942772] - usb: dwc3: dwc3-omap: Do not read DMA status (Torez Smith) [1942772] - usb: dwc3: ulpi: File headers are not doc headers (Torez Smith) [1942772] - usb: dwc3: drd: File headers are not doc headers (Torez Smith) [1942772] - usbnet: ipheth: fix ipheth_tx()'s return type (Torez Smith) [1942772] - usbip: tools: add in man page how to load the client's module (Torez Smith) [1942772] - usbip: tools: fix build error for multiple definition (Torez Smith) [1942772] - usbip: tools: fix module name in man page (Torez Smith) [1942772] - Revert "usb: dwc3: exynos: Add support for Exynos5422 suspend clk" (Torez Smith) [1942772] - usb: dwc3: pci: Fix reference count leak in dwc3_pci_resume_work (Torez Smith) [1942772] - media: USB: cdc-acm: blacklist IR Droid / IR Toy device (Torez Smith) [1942772] - usbnet: smsc95xx: Fix use-after-free after removal (Torez Smith) [1942772] - usb: dwc2: Postponed gadget registration to the udc class driver (Torez Smith) [1942772] - usb: dwc2: use well defined macros for power_down (Torez Smith) [1942772] - net: usb: ax88179_178a: fix packet alignment padding (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix USB2 PHY initialization on G12A and A1 SoCs (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix error path when fetching the reset line fails (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit LE910C1-EUX composition (Torez Smith) [1942772] - usb: dwc3: keystone: Turn on USB3 PHY before controller (Torez Smith) [1942772] - usb: dwc2: Update Core Reset programming flow. (Torez Smith) [1942772] - usb: dwc3: gadget: Check for prepared TRBs (Torez Smith) [1942772] - usb: dwc3: Increase timeout for CmdAct cleared by device controller (Torez Smith) [1942772] - usb: dwc3: gadget: Use SET_EP_PRIME for NoStream (Torez Smith) [1942772] - usb: dwc3: gadget: Handle stream transfers (Torez Smith) [1942772] - usb: dwc3: gadget: Don't prepare beyond a transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Wait for transfer completion (Torez Smith) [1942772] - usb: dwc3: gadget: Handle XferComplete for streams (Torez Smith) [1942772] - usb: dwc3: gadget: Enable XferComplete event (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor TRB completion handler (Torez Smith) [1942772] - usb: dwc3: gadget: Check for in-progress END_TRANSFER (Torez Smith) [1942772] - usb: dwc3: Get MDWIDTH for DWC_usb32 (Torez Smith) [1942772] - usb: dwc3: Add support for DWC_usb32 IP (Torez Smith) [1942772] - usb: dwc3: use true,false for dwc->otg_restart_host (Torez Smith) [1942772] - usb: dwc2: gadget: move gadget resume after the core is in L0 state (Torez Smith) [1942772] - usb: dwc3: meson-g12a: add support for GXL and GXM SoCs (Torez Smith) [1942772] - usb: dwc3: meson-g12a: support the GXL/GXM DWC3 host phy disconnect (Torez Smith) [1942772] - usb: dwc3: meson-g12a: refactor usb init (Torez Smith) [1942772] - usb: dwc3: gadget: Continue to process pending requests (Torez Smith) [1942772] - r8152: support additional Microsoft Surface Ethernet Adapter variant (Torez Smith) [1942772] - r8152: Use MAC address from device tree if available (Torez Smith) [1942772] - net: usb: qmi_wwan: remove redundant assignment to variable status (Torez Smith) [1942772] - net: huawei_cdc_ncm: remove redundant assignment to variable ret (Torez Smith) [1942772] - net: usb: ax88179_178a: remove redundant assignment to variable ret (Torez Smith) [1942772] - usb: dwc3: select USB_ROLE_SWITCH (Torez Smith) [1942772] - usb: dwc3: pci: Enable extcon driver for Intel Merrifield (Torez Smith) [1942772] - dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() (Torez Smith) [1942772] - usb: hso: correct debug message (Torez Smith) [1942772] - net: sierra_net: Remove unused inline function (Torez Smith) [1942772] - usb: dwc3: gadget: WARN on no-resource status (Torez Smith) [1942772] - usb: dwc3: gadget: Issue END_TRANSFER to retry isoc transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Store resource index of start cmd (Torez Smith) [1942772] - usb: dwc3: core: Use role-switch default dr_mode (Torez Smith) [1942772] - usb: dwc3: drd: Don't free non-existing irq (Torez Smith) [1942772] - usb: dwc3: gadget: Properly handle failed kick_transfer (Torez Smith) [1942772] - usb: dwc3: meson-g12a: refactor usb2 phy init (Torez Smith) [1942772] - usb: dwc3: meson-g12a: check return of dwc3_meson_g12a_usb_init (Torez Smith) [1942772] - usb: dwc3: meson-g12a: get the reset as shared (Torez Smith) [1942772] - usb: dwc3: meson-g12a: handle the phy and glue registers separately (Torez Smith) [1942772] - usb: dwc3: meson-g12a: specify phy names in soc data (Torez Smith) [1942772] - usb: dwc3: gadget: Refactor dwc3_gadget_ep_dequeue (Torez Smith) [1942772] - usb: dwc3: gadget: Remove unnecessary checks (Torez Smith) [1942772] - usb: dwc3: gadget: Give back staled requests (Torez Smith) [1942772] - usb: dwc3: gadget: Properly handle ClearFeature(halt) (Torez Smith) [1942772] - usb: dwc3: support continuous runtime PM with dual role (Torez Smith) [1942772] - USB: dwc3: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for DW5816e (Torez Smith) [1942772] - net: usb: ax88179_178a: Implement ethtool_ops set_eeprom (Torez Smith) [1942772] - usb: dwc3: gadget: Fix request completion check (Torez Smith) [1942772] - USB: dwc2: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - usb: dwc3: gadget: Do link recovery for SS and SSP (Torez Smith) [1942772] - usb: dwc3: gadget: Properly set maxpacket limit (Torez Smith) [1942772] - usb: dwc3: Fix GTXFIFOSIZ.TXFDEP macro name (Torez Smith) [1942772] - Documentation: driver-api/usb/writing_usb_driver.rst Updates documentation links (Torez Smith) [1942772] - pegasus: Remove pegasus' own workqueue (Torez Smith) [1942772] - usb: dwc2: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - usb: host: hisilicon: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - usb: host: xhci-plat: convert to devm_platform_get_and_ioremap_resource (Torez Smith) [1942772] - net: qmi_wwan: add support for ASKEY WWHC050 (Torez Smith) [1942772] - usb: dwc3: fix up for role switch API change (Torez Smith) [1942772] - usb: dwc2: Silence warning about supplies during deferred probe (Torez Smith) [1942772] - usb: dwc2: Implement set_selfpowered() (Torez Smith) [1942772] - usb: dwc3: core: don't do suspend for device mode if already suspended (Torez Smith) [1942772] - usb: dwc3: Rework resets initialization to be more flexible (Torez Smith) [1942772] - usb: dwc3: Rework clock initialization to be more flexible (Torez Smith) [1942772] - usb: dwc3: Add support for role-switch-default-mode binding (Torez Smith) [1942772] - usb: dwc3: Registering a role switch in the DRD code. (Torez Smith) [1942772] - usb: dwc3: core: add support for disabling SS instances in park mode (Torez Smith) [1942772] - usb: dwc3: gadget: Wrap around when skip TRBs (Torez Smith) [1942772] - usb: dwc3: gadget: Don't clear flags before transfer ended (Torez Smith) [1942772] - usb: dwc3: Remove kernel doc annotation where it's not needed (Torez Smith) [1942772] - usb: dwc3: Add ACPI support for xHCI ports (Torez Smith) [1942772] - usb: dwc3: exynos: Add support for Exynos5422 suspend clk (Torez Smith) [1942772] - usb: dwc3: meson-g12a: Don't use ret uninitialized in dwc3_meson_g12a_otg_init (Torez Smith) [1942772] - usb: dwc3: trace: print enqueue/dequeue pointers too (Torez Smith) [1942772] - usb: dwc2: add support for STM32MP15 SoCs USB OTG HS and FS (Torez Smith) [1942772] - usb: dwc3: Add Amlogic A1 DWC3 glue (Torez Smith) [1942772] - cdc_ncm: Fix the build warning (Torez Smith) [1942772] - cdc_ncm: Implement the 32-bit version of NCM Transfer Block (Torez Smith) [1942772] - r8152: reject unsupported coalescing params (Torez Smith) [1942772] - usb: dwc3: gadget: Update chain bit correctly when using sg list (Torez Smith) [1942772] - r8152: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - r8152: check disconnect status after long sleep (Torez Smith) [1942772] - net: usb: qmi_wwan: restore mtu min/max values after raw_ip switch (Torez Smith) [1942772] - USB: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - r8152: use new helper tcp_v6_gso_csum_prep (Torez Smith) [1942772] - net: usb: cdc-phonet: Replace zero-length array with flexible-array member (Torez Smith) [1942772] - usb: dwc3: qcom: Replace by (Torez Smith) [1942772] - usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields (Torez Smith) [1942772] - usb: dwc2: Fix in ISOC request length checking (Torez Smith) [1942772] - usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows (Torez Smith) [1942772] - usb: dwc3: debug: fix string position formatting mixup with ret and len (Torez Smith) [1942772] - qmi_wwan: unconditionally reject 2 ep interfaces (Torez Smith) [1942772] - qmi_wwan: re-add DW5821e pre-production variant (Torez Smith) [1942772] - r8152: Add MAC passthrough support to new device (Torez Smith) [1942772] - r8152: disable DelayPhyPwrChg (Torez Smith) [1942772] - r8152: avoid the MCU to clear the lanwake (Torez Smith) [1942772] - r8152: don't enable U1U2 with USB_SPEED_HIGH for RTL8153B (Torez Smith) [1942772] - r8152: disable test IO for RTL8153B (Torez Smith) [1942772] - r8152: Disable PLA MCU clock speed down (Torez Smith) [1942772] - r8152: disable U2P3 for RTL8153B (Torez Smith) [1942772] - r8152: get default setting of WOL before initializing (Torez Smith) [1942772] - r8152: reset flow control patch when linking on for RTL8153B (Torez Smith) [1942772] - r8152: fix runtime resume for linking change (Torez Smith) [1942772] - usb: dwc3: pci: add ID for the Intel Comet Lake -V variant (Torez Smith) [1942772] - net: usb: lan78xx: Add .ndo_features_check (Torez Smith) [1942772] - usb: dwc2: Drop unlock/lock upon queueing a work item (Torez Smith) [1942772] - usb: dwc3: gadget: Remove END_TRANSFER delay (Torez Smith) [1942772] - usb: dwc3: gadget: Delay starting transfer (Torez Smith) [1942772] - usb: dwc3: gadget: Check END_TRANSFER completion (Torez Smith) [1942772] - usb: dwc3: turn off VBUS when leaving host mode (Torez Smith) [1942772] - usb: dwc2: fix debugfs FIFO count (Torez Smith) [1942772] - usb: dwc2: Fix IN FIFO allocation (Torez Smith) [1942772] - usb: dwc2: Fix Stalling a Non-Isochronous OUT EP (Torez Smith) [1942772] - usb: dwc3: gadget: Clear DCTL.ULSTCHNGREQ before set (Torez Smith) [1942772] - usb: dwc2: Fix NULL qh in dwc2_queue_transaction (Torez Smith) [1942772] - usb: dwc3: gadget: Set link state to RX_Detect on disconnect (Torez Smith) [1942772] - usb: dwc3: gadget: Don't send unintended link state change (Torez Smith) [1942772] - r8152: add missing endpoint sanity check (Torez Smith) [1942772] - net: usb: lan78xx: limit size of local TSO packets (Torez Smith) [1942772] - qmi_wwan: Add support for Quectel RM500Q (Torez Smith) [1942772] - usbip: Fix unsafe unaligned pointer usage (Torez Smith) [1942772] - usb: dwc3: use proper initializers for property entries (Torez Smith) [1942772] - net: r8152: use skb_list_walk_safe helper for gso segments (Torez Smith) [1942772] - net: usb: lan78xx: fix possible skb leak (Torez Smith) [1942772] - net: ch9200: remove unnecessary return (Torez Smith) [1942772] - net: ch9200: use __func__ in debug message (Torez Smith) [1942772] - tools: usb: usbip: Get rid of driver name printout in README (Torez Smith) [1942772] - can: gs_usb: gs_usb_probe(): use descriptors of current altsetting (Torez Smith) [1942772] - can: kvaser_usb: fix interface sanity check (Torez Smith) [1942772] - usb: dwc3: gadget: Fix request complete check (Torez Smith) [1942772] - thunderbolt: Update documentation with the USB4 information (Torez Smith) [1942772] - usbip: Fix error path of vhci_recv_ret_submit() (Torez Smith) [1942772] - usbip: Fix receive error in vhci-hcd when using scatter-gather (Torez Smith) [1942772] - net: usb: lan78xx: Fix error message format specifier (Torez Smith) [1942772] - net: usb: lan78xx: Fix suspend/resume PHY register access error (Torez Smith) [1942772] - usb: dwc3: pci: add ID for the Intel Comet Lake -H variant (Torez Smith) [1942772] - usb: dwc3: ep0: Clear started flag on completion (Torez Smith) [1942772] - usb: dwc3: gadget: Clear started flag for non-IOC (Torez Smith) [1942772] - usb: dwc3: gadget: Fix logical condition (Torez Smith) [1942772] - can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices (Torez Smith) [1942772] - can: ucan: fix non-atomic allocation in completion handler (Torez Smith) [1942772] - net: usb: aqc111: Use the correct style for SPDX License Identifier (Torez Smith) [1942772] - net: usbnet: Fix -Wcast-function-type (Torez Smith) [1942772] - net: hso: Fix -Wcast-function-type (Torez Smith) [1942772] - ax88179_178a: add ethtool_op_get_ts_info() (Torez Smith) [1942772] - r8152: avoid to call napi_disable twice (Torez Smith) [1942772] - r8152: Re-order napi_disable in rtl8152_close (Torez Smith) [1942772] - ax88172a: fix information leak on short answers (Torez Smith) [1942772] - usb: dwc2: create debugfs directory under usb root (Torez Smith) [1942772] - usb: dwc3: create debugfs directory under usb root (Torez Smith) [1942772] - net: cdc_ncm: Signedness bug in cdc_ncm_set_dgram_size() (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for Foxconn T77W968 LTE modules (Torez Smith) [1942772] - usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit() (Torez Smith) [1942772] - USBIP: add config dependency for SGL_ALLOC (Torez Smith) [1942772] - net: usb: qmi_wwan: add support for DW5821e with eSIM support (Torez Smith) [1942772] - CDC-NCM: handle incomplete transfer of MTU (Torez Smith) [1942772] - usbip: tools: fix fd leakage in the function of read_attr_usbip_status (Torez Smith) [1942772] - can: peak_usb: fix a potential out-of-sync while decoding packets (Torez Smith) [1942772] - can: usb_8dev: fix use-after-free on disconnect (Torez Smith) [1942772] - can: mcba_usb: fix use-after-free on disconnect (Torez Smith) [1942772] - can: peak_usb: report bus recovery as well (Torez Smith) [1942772] - can: gs_usb: gs_can_open(): prevent memory leak (Torez Smith) [1942772] - usb: Spelling s/enpoint/endpoint/ (Torez Smith) [1942772] - usb: dwc3: gadget: fix race when disabling ep with cancelled xfers (Torez Smith) [1942772] - usb: dwc3: of-simple: add a shutdown (Torez Smith) [1942772] - usbip: Fix free of unallocated memory in vhci tx (Torez Smith) [1942772] - usbip: tools: Fix read_usb_vudc_device() error path handling (Torez Smith) [1942772] - usb: dwc3: pci: prevent memory leak in dwc3_pci_probe (Torez Smith) [1942772] - usb: dwc3: remove the call trace of USBx_GFLADJ (Torez Smith) [1942772] - usb: dwc3: select CONFIG_REGMAP_MMIO (Torez Smith) [1942772] - r8152: check the pointer rtl_fw->fw before using it (Torez Smith) [1942772] - net: lan78xx: remove set but not used variable 'event' (Torez Smith) [1942772] - usb: dwc3: debug: Remove newline printout (Torez Smith) [1942772] - r8152: support firmware of PHY NC for RTL8153A (Torez Smith) [1942772] - r8152: move r8153_patch_request forward (Torez Smith) [1942772] - r8152: add checking fw_offset field of struct fw_mac (Torez Smith) [1942772] - r8152: rename fw_type_1 with fw_mac (Torez Smith) [1942772] - usb: dwc2: use a longer core rest timeout in dwc2_core_reset() (Torez Smith) [1942772] - usb: dwc3: Disable phy suspend after power-on reset (Torez Smith) [1942772] - r8152: add device id for Lenovo ThinkPad USB-C Dock Gen 2 (Torez Smith) [1942772] - net: usb: lan78xx: Connect PHY before registering MAC (Torez Smith) [1942772] - usb: hso: obey DMA rules in tiocmget (Torez Smith) [1942772] - r8152: support request_firmware for RTL8153 (Torez Smith) [1942772] - net: usb: sr9800: fix uninitialized local variable (Torez Smith) [1942772] - net: usb: ax88179_178a: write mac to hardware in get_mac_addr (Torez Smith) [1942772] - net: usb: qmi_wwan: add Telit 0x1050 composition (Torez Smith) [1942772] - usb: dwc3: Remove dev_err() on platform_get_irq() failure (Torez Smith) [1942772] - usb: dwc3: Switch to platform_get_irq_byname_optional() (Torez Smith) [1942772] - r8152: Set macpassthru in reset_resume callback (Torez Smith) [1942772] - qmi_wwan: add support for Cinterion CLS8 devices (Torez Smith) [1942772] - usbip: clean up an indentation issue (Torez Smith) [1942772] - usbip: vhci_hcd indicate failed message (Torez Smith) [1942772] - r8152: Add identifier names for function pointers (Torez Smith) [1942772] - r8152: Use guard clause and fix comment typos (Torez Smith) [1942772] - hso: fix NULL-deref on tty open (Torez Smith) [1942772] - net: usb: ax88179_178a: allow optionally getting mac address from device tree (Torez Smith) [1942772] - r8152: Factor out OOB link list waits (Torez Smith) [1942772] - usbnet: ignore endpoints with invalid wMaxPacketSize (Torez Smith) [1942772] - cdc_ncm: fix divide-by-zero caused by invalid wMaxPacketSize (Torez Smith) [1942772] - usbnet: sanity checking of packet sizes and device mtu (Torez Smith) [1942772] - r8152: adjust the settings of ups flags (Torez Smith) [1942772] - r8152: modify rtl8152_set_speed function (Torez Smith) [1942772] - usb: dwc3: remove generic PHY calibrate() calls (Torez Smith) [1942772] - usb: gadget: net2280: Move all "ll" registers in one structure (Torez Smith) [1942772] - usb: dwc3: gadget: Workaround Mirosoft's BESL check (Torez Smith) [1942772] - usb: dwc3: meson-g12a: fix suspend resume regulator unbalanced disables (Torez Smith) [1942772] - usb: gadget: composite: Set recommended BESL values (Torez Smith) [1942772] - usb: dwc3: gadget: Set BESL config parameter (Torez Smith) [1942772] - usb: dwc3: Separate field holding multiple properties (Torez Smith) [1942772] - usb: dwc3: don't set gadget->is_otg flag (Torez Smith) [1942772] - usb: dwc3: st: Add of_dev_put() in probe function (Torez Smith) [1942772] - usb: dwc3: st: Add of_node_put() before return in probe function (Torez Smith) [1942772] - r8152: add a helper function about setting EEE (Torez Smith) [1942772] - r8152: saving the settings of EEE (Torez Smith) [1942772] - net: usb: Delete unnecessary checks before the macro call “dev_kfree_skb” (Torez Smith) [1942772] - r8152: divide the tx and rx bottom functions (Torez Smith) [1942772] - r8152: fix accessing skb after napi_gro_receive (Torez Smith) [1942772] - r8152: change rx_copybreak and rx_pending through ethtool (Torez Smith) [1942772] - r8152: support skb_add_rx_frag (Torez Smith) [1942772] - r8152: use alloc_pages for rx buffer (Torez Smith) [1942772] - r8152: replace array with linking list for rx information (Torez Smith) [1942772] - r8152: separate the rx buffer size (Torez Smith) [1942772] - usb: dwc3: Use clk_bulk_prepare_enable() (Torez Smith) [1942772] - usb: dwc3: Use devres to get clocks (Torez Smith) [1942772] - usb: dwc3: remove generic PHYs forwarding for XHCI device (Torez Smith) [1942772] - USB: usbip: convert to use dev_groups (Torez Smith) [1942772] - usb: dwc3: Update soft-reset wait polling rate (Torez Smith) [1942772] - usb: dwc2: gadget: Fix kill_all_requests race (Torez Smith) [1942772] - usb: dwc3: omap: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usb: dwc3: keystone: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usb: dwc3: omap: squash include/linux/platform_data/dwc3-omap.h (Torez Smith) [1942772] - usb: dwc3: meson-g12a: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1942772] - usbip: tools: fix GCC8 warning for strncpy (Torez Smith) [1942772] - usb: dwc3: Switch to use device_property_count_u32() (Torez Smith) [1942772] - usb: dwc2: Switch to use device_property_count_u32() (Torez Smith) [1942772] - can: kvaser_usb: Use struct_size() in alloc_candev() (Torez Smith) [1942772] - net: usb: Merge cpu_to_le32s + memcpy to put_unaligned_le32 (Torez Smith) [1942772] - ax88179_178a: Merge memcpy + le32_to_cpus to get_unaligned_le32 (Torez Smith) [1942772] - usbnet: smsc75xx: Merge memcpy + le32_to_cpus to get_unaligned_le32 (Torez Smith) [1942772] - net: lan78xx: Merge memcpy + lexx_to_cpus to get_unaligned_lexx (Torez Smith) [1942772] - bluetooth: eliminate the potential race condition when removing the HCI controller (Gopal Tiwari) [1971488]- bareudp: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - vxlan: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - geneve: add NETIF_F_FRAGLIST flag for dev features (Paolo Abeni) [1977850] - RDMA/siw: Release xarray entry (Kamal Heib) [1971483] - RDMA/siw: Properly check send and receive CQ pointers (Kamal Heib) [1971483] - RDMA/siw: Fix a use after free in siw_alloc_mr (Kamal Heib) [1971483] - RDMA/rxe: Clear all QP fields if creation failed (Kamal Heib) [1971483] - RDMA/rxe: Fix a bug in rxe_fill_ip_info() (Kamal Heib) [1971483] - RDMA/rxe: Remove rxe_dma_device declaration (Kamal Heib) [1971483] - IB/hfi1: Fix error return code in parse_platform_config() (Kamal Heib) [1971483] - IB/hfi1: Remove unused function (Kamal Heib) [1971483] - RDMA/srpt: Fix error return code in srpt_cm_req_recv() (Kamal Heib) [1971483] - IB/isert: Fix a use after free in isert_connect_request (Kamal Heib) [1971483] - RDMA: Verify port when creating flow rule (Kamal Heib) [1971483] - RDMA/uverbs: Fix a NULL vs IS_ERR() bug (Kamal Heib) [1971483] - RDMA/core: Don't access cm_id after its destruction (Kamal Heib) [1971483] - RDMA/core: Prevent divide-by-zero error triggered by the user (Kamal Heib) [1971483] - RDMA/core: Add CM to restrack after successful attachment to a device (Kamal Heib) [1971483] - RDMA/core: Unify RoCE check and re-factor code (Kamal Heib) [1971483] - RDMA/core: Fix corrupted SL on passive side (Kamal Heib) [1971483] - mm: vmalloc: add cond_resched() in __vunmap() (Rafael Aquini) [1978469] - /proc/PID/smaps: Add PMD migration entry parsing (Nico Pache) [1977066] - s390: add 3f program exception handler (Nico Pache) [1977066] - x86/ioremap: Fix CONFIG_EFI=n build (Nico Pache) [1977066] - mm, slub: move slub_debug static key enabling outside slab_mutex (Nico Pache) [1977066] - mm, slub: enable slub_debug static key when creating cache with explicit debug flags (Nico Pache) [1977066] - locking/mutex: Remove repeated declaration (Nico Pache) [1977066] - percpu: make pcpu_nr_empty_pop_pages per chunk type (Nico Pache) [1977066] - mm/swap: don't SetPageWorkingset unconditionally during swapin (Nico Pache) [1977066] - s390/tlb: make cleared_pXs flags consistent with generic code (Nico Pache) [1977066] - mm, compaction: make fast_isolate_freepages() stay within zone (Nico Pache) [1977066] - mm/vmscan: restore zone_reclaim_mode ABI (Nico Pache) [1977066] - mm, compaction: move high_pfn to the for loop scope (Nico Pache) [1977066] - memblock: do not start bottom-up allocations with kernel_end (Nico Pache) [1977066] - mm, page_alloc: disable pcplists during memory offline (Nico Pache) [1977066] - mm, page_alloc: move draining pcplists to page isolation users (Nico Pache) [1977066] - mm, page_alloc: cache pageset high and batch in struct zone (Nico Pache) [1977066] - mm, page_alloc: simplify pageset_update() (Nico Pache) [1977066] - mm, page_alloc: fix core hung in free_pcppages_bulk() (Nico Pache) [1977066] - mm, page_alloc: remove setup_pageset() (Nico Pache) [1977066] - mm, page_alloc: calculate pageset high and batch once per zone (Nico Pache) [1977066] - mm, pcp: share common code between memory hotplug and percpu sysctl handler (Nico Pache) [1977066] - mm, page_alloc: clean up pageset high and batch update (Nico Pache) [1977066] - s390/uv: handle destroy page legacy interface (Nico Pache) [1977066] - mm/filemap: fix filemap_map_pages for THP (Nico Pache) [1977066] - mm: filemap: add missing FGP_ flags in kerneldoc comment for pagecache_get_page (Nico Pache) [1977066] - mm/filemap.c: rewrite pagecache_get_page documentation (Nico Pache) [1977066] - mm: filemap: clear idle flag for writes (Nico Pache) [1977066] - mm: document semantics of ZONE_MOVABLE (Nico Pache) [1977066] - mm/page_isolation: cleanup set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_isolation: exit early when pageblock is isolated in set_migratetype_isolate() (Nico Pache) [1977066] - mm/page_alloc: tweak comments in has_unmovable_pages() (Nico Pache) [1977066] - mm: reuse only-pte-mapped KSM page in do_wp_page() (Nico Pache) [1977066] - mm/memory.c: skip spurious TLB flush for retried page fault (Nico Pache) [1977066] - /proc/PID/smaps: consistent whitespace output format (Nico Pache) [1977066] - mm/memcontrol.c: prevent missed memory.low load tears (Nico Pache) [1977066] - mm, memcg: prevent mem_cgroup_protected store tearing (Nico Pache) [1977066] - mm, memcg: prevent memory.min load/store tearing (Nico Pache) [1977066] - mm, mempolicy: fix up gup usage in lookup_node (Nico Pache) [1977066] - mm/page_ext.c: drop pfn_present() check when onlining (Nico Pache) [1977066] - drivers/base/memory.c: drop pages_correctly_probed() (Nico Pache) [1977066] - drivers/base/memory.c: drop section_count (Nico Pache) [1977066] - include/linux/mm.h: remove dead code totalram_pages_set() (Nico Pache) [1977066] - tools headers uapi: Sync asm-generic/mman-common.h with the kernel (Nico Pache) [1977066] - mm/memcg: Relocate tcpmem to below memory in struct mem_cgroup (Waiman Long) [1959772] - mm/memcg: optimize user context object stock access (Waiman Long) [1959772] - mm/memcg: improve refill_obj_stock() performance (Waiman Long) [1959772] - mm/memcg: cache vmstat data in percpu memcg_stock_pcp (Waiman Long) [1959772] - mm/memcg: move mod_objcg_state() to memcontrol.c (Waiman Long) [1959772] - mm: memcontrol: move PageMemcgKmem to the scope of CONFIG_MEMCG_KMEM (Waiman Long) [1959772] - mm: memcontrol: inline __memcg_kmem_{un}charge() into obj_cgroup_{un}charge_pages() (Waiman Long) [1959772] - mm: memcontrol: use obj_cgroup APIs to charge kmem pages (Waiman Long) [1959772] - mm: memcontrol: change ug->dummy_page only if memcg changed (Waiman Long) [1959772] - mm: memcontrol: directly access page->memcg_data in mm/page_alloc.c (Waiman Long) [1959772] - mm: memcontrol: introduce obj_cgroup_{un}charge_pages (Waiman Long) [1959772] - mm: memcontrol: slab: fix obtain a reference to a freeing memcg (Waiman Long) [1959772] - mm: memmap defer init doesn't work as expected (Baoquan He) [1906271] - mm: check nr_initialised with PAGES_PER_SECTION directly in defer_init() (Baoquan He) [1906271] - mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining memory (Baoquan He) [1906271] - mm, memory_hotplug: update pcp lists everytime onlining a memory block (Baoquan He) [1906271] - mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone() (Baoquan He) [1906271] - nfs: account for selinux security context when deciding to share superblock (Scott Mayhew) [1927027] - nfs: remove unneeded null check in nfs_fill_super() (Scott Mayhew) [1927027] - lsm,selinux: add new hook to compare new mount to an existing mount (Scott Mayhew) [1927027] - libceph: allow addrvecs with a single NONE/blank address (Jeff Layton) [1972278] - scsi: megaraid_sas: Update driver version to 07.717.02.00-rc1 (Tomas Henzl) [1968170] - scsi: megaraid_sas: Handle missing interrupts while re-enabling IRQs (Tomas Henzl) [1968170] - scsi: megaraid_sas: Early detection of VD deletion through RaidMap update (Tomas Henzl) [1968170] - scsi: megaraid_sas: Fix resource leak in case of probe failure (Tomas Henzl) [1968170] - scsi: megaraid_sas: Send all non-RW I/Os for TYPE_ENCLOSURE device through firmware (Tomas Henzl) [1968170] - scsi: megaraid_sas: Use DEFINE_SPINLOCK() for spinlock (Tomas Henzl) [1968170] - scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V (Ewan D. Milne) [1927508] - drivers: do not build devm_platform_get_and_ioremap_resource() for s390x (Jaroslav Kysela) [1917388] - redhat: update ALSA configs and add regmap-sdw-mbq to redhat/filter-modules.sh (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix the return value in dpcm_apply_symmetry() (Jaroslav Kysela) [1917388] - alsa: control_led - fix initialization in the mode show callback (Jaroslav Kysela) [1917388] - ALSA: seq: Fix race of snd_seq_timer_open() (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: headphone and mic don't work on an Acer laptop (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix the context to call snd_pcm_stop_xrun() (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 840 Aero G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP EliteBook x360 1040 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Elite Dragonfly G2 (Jaroslav Kysela) [1917388] - ASoC: rt5682: Fix the fast discharge for headset unplugging in soundwire mode (Jaroslav Kysela) [1917388] - ASoC: tas2562: Fix TDM_CFG0_SAMPRATE values (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir: Remove fix for DMI entry on Lenovo 2020 platforms (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo 2020 AMD platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: reset enabled_cores state at suspend (Jaroslav Kysela) [1917388] - ASoC: fsl-asoc-card: Set .owner attribute when registering card. (Jaroslav Kysela) [1917388] - ASoC: topology: Fix spelling mistake "vesion" -> "version" (Jaroslav Kysela) [1917388] - ASoC: rt5659: Fix the lost powers for the HDA header (Jaroslav Kysela) [1917388] - ASoC: core: Fix Null-point-dereference in fmt_single_name() (Jaroslav Kysela) [1917388] - spi: pxa2xx: Drop useless comment in the pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Switch to use BIT() and GENMASK() in pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Update header block in pxa2xx_ssp.h (Jaroslav Kysela) [1917388] - spi: pxa2xx: Add SSC2 and SSPSP2 SSP registers (Jaroslav Kysela) [1917388] - ASoC: pxa: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: pxa: pxa-ssp: Remove redundant null check before clk_prepare_enable/clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: mmp-sspa: drop unneeded snd_soc_dai_set_drvdata (Jaroslav Kysela) [1917388] - ASoC: mmp-sspa: set phase two word length register (Jaroslav Kysela) [1917388] - ASoC: pxa: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: Fix 7/8 spaces indentation in Kconfig (Jaroslav Kysela) [1917388] - ASoC: jz4740-i2s: Remove manual DMA peripheral ID assignment (Jaroslav Kysela) [1917388] - ASoC: jz4740-i2s: add missed checks for clk_get() (Jaroslav Kysela) [1917388] - ASoC: Intel: fix error code cnl_set_dsp_D0() (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Unassign ram_read and read_write ops (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove haswell solution (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove sst_dsp_get_thread_context (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove unused DSP interface fields (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: remove unneeded semicolon (Jaroslav Kysela) [1917388] - catpt: Switch to use list_entry_is_head() helper (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Optimize applying user settings (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Correct clock selection for dai trigger (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Skip position update for unprepared streams (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Relax clock selection conditions (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Cleanup after power routines streamlining (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Replace open coded variant of resource_intersection() (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Streamline power routines across LPT and WPT (Jaroslav Kysela) [1917388] - ASoC: Intel: haswell: Add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Change SSP2-Codec DAI id to 0 (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Drop compress-cpu-dai bits (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5651: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-rt5677: add missing pm_ops (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: set card and driver name dynamically (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-rt5650: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove rt5640 support for baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove max98090 support for baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: use inclusive language for SSP bclk/fsync (Jaroslav Kysela) [1917388] - ASoC: Intel: Atom: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: select WANT_DEV_COREDUMP (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: intel: SND_SOC_INTEL_KEEMBAY should depend on ARCH_KEEMBAY (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Add explicit DMADEVICES kconfig dependency (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove baytrail solution (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: Remove duplicate kconfigs (Jaroslav Kysela) [1917388] - ASoC: remove zte zx drivers (Jaroslav Kysela) [1917388] - ASoC: codecs: wsa881x: add missing stream rates and format (Jaroslav Kysela) [1917388] - ASoC: wm_adsp: Remove unused control callback structure (Jaroslav Kysela) [1917388] - ASoC: wm8994: Fix PM disable depth imbalance on error (Jaroslav Kysela) [1917388] - ASoC: wm8903: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: wm8523: Fix a typo in a comment (Jaroslav Kysela) [1917388] - ASoC: wm8350: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: wm5102: Use get_unaligned_be16() for dac_comp_coeff (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: Set digital gain range correctly (Jaroslav Kysela) [1917388] - ASoC: wcd9335: Remove unnecessary conversion to bool (Jaroslav Kysela) [1917388] - ASoC: rt715: remove unused parameter (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: add the calibration functions (Jaroslav Kysela) [1917388] - ASoC: rt5682: clock driver must use the clock provider API (Jaroslav Kysela) [1917388] - ASoC: rt1015: enable BCLK detection after calibration (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Add support for more data formats (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Move format check into `set_fmt()` (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Rearrange operations in `hw_params()` (Jaroslav Kysela) [1917388] - ASoC: pcm512x: Fix not setting word length if DAIFMT_CBS_CFS (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: Fix regulator_dev_lookup() fails for id "LDO_VAUD18" (Jaroslav Kysela) [1917388] - ASoC: Remove mt6359_platform_driver_remove (Jaroslav Kysela) [1917388] - ASoC: Fix vaud18 power leakage of mt6359 (Jaroslav Kysela) [1917388] - ASoC: es8316: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix Bitclock polarity inversion (Jaroslav Kysela) [1917388] - ASoC: cs35l33: fix an error code in probe() (Jaroslav Kysela) [1917388] - ASoC: cs35l34: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: wm8998: Fix PM disable depth imbalance on error (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd9335: Set digital gain range correctly (Jaroslav Kysela) [1917388] - ASoC: TSCS454: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: TSCS42xx: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: ts3a227e: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: tlv320: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: tas571x: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: tas*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tas2562: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: remove remnants of sirf prima/atlas audio codec (Jaroslav Kysela) [1917388] - ASoC: rt5645: add error checking to rt5645_probe function (Jaroslav Kysela) [1917388] - Revert "ASoC: rt5645: fix a NULL pointer dereference" (Jaroslav Kysela) [1917388] - ASoC: rt1015: modify calibration sequence for better performance (Jaroslav Kysela) [1917388] - ASoC: rk3328: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: pcm179x: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: pcm1789: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: nau8315: revise the power event of EN_PIN dapm widget for symmetry (Jaroslav Kysela) [1917388] - ASoC: nau8315: add codec driver (Jaroslav Kysela) [1917388] - ASoC: gtm601: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: es8328: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: es7241: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: es7134: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: da9055: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: da7219: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Add DAPM widget to set HP out to cap-less mode (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Don't change cap-couple setting in HP PMU/PMD (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Adjust timeouts for cap-coupled outputs (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Reset interrupt flags in bias PREPARE (Jaroslav Kysela) [1917388] - ASoC: codecs/jz47xx: Use regmap_{set,clear}_bits (Jaroslav Kysela) [1917388] - treewide: Use fallthrough pseudo-keyword (Jaroslav Kysela) [1917388] - ASoC: inno_rk3036: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: remove cancel_work_sync in runtime suspend (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: Add RX support (Jaroslav Kysela) [1917388] - ALSA: cx46xx: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Convert from cpu to data format (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing topology with PCM to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing empty topology with variants to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: tegra: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: tegra: Don't warn on probe deferral (Jaroslav Kysela) [1917388] - ASoC: tegra: tegra_rt5640: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: tegra: tegra_wm8753: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: tegra: trimslice.c: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ASoC: ti: davinci-evm: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: ti: davinci: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: ti: j721e-evm: Fix compiler warning when CONFIG_OF=n (Jaroslav Kysela) [1917388] - ASoC: ti: omap-abe-twl6040: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: ti: omap-mcsp: remove duplicate test (Jaroslav Kysela) [1917388] - ASoC: uniphier: Simplify the return expression of uniphier_aio_startup (Jaroslav Kysela) [1917388] - ASoC: uniphier: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: ux500: mop500: rename shadowing variable (Jaroslav Kysela) [1917388] - ASoC: ux500: mop500: align function prototype (Jaroslav Kysela) [1917388] - ALSA: x86: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams (Jaroslav Kysela) [1917388] - ASoC: cs42l56: fix up error handling in probe (Jaroslav Kysela) [1917388] - ASoC: cs42l52: Minor tidy up of error paths (Jaroslav Kysela) [1917388] - ASoC: cs42l51: manage mclk shutdown delay (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Wait for PLL to lock before switching to it (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Only start PLL if it is needed (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Wait at least 150us after writing SCLK_PRESENT (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Use bclk from hw_params if set_sysclk was not called (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Report jack and button detection (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Add Capture Support (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix channel width support (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Always wait at least 3ms after reset (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Don't enable/disable regulator at Bias Level (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Fix mixer volume control (Jaroslav Kysela) [1917388] - ASoC: cs*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: bd28623: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: alc5632: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: ak4458: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: ak4118: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: alc5623: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1917388] - ASoC: ak5558: Correct the dai name for ak5552 (Jaroslav Kysela) [1917388] - ASoC: ak5558: change function name to ak5558_reset (Jaroslav Kysela) [1917388] - ASoC: ak5558: Add support for ak5552 (Jaroslav Kysela) [1917388] - ASoC: ak5558: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: ak5558: mark OF related data as maybe unused (Jaroslav Kysela) [1917388] - ASoC: adau1977: remove platform data and move micbias bindings include (Jaroslav Kysela) [1917388] - ASoC: adau17x1: Remove redundant null check before clk_disable_unprepare (Jaroslav Kysela) [1917388] - ASoC: adau*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: Add ADAU1372 audio CODEC support (Jaroslav Kysela) [1917388] - ASoC: amd: fix for pcm_read() error (Jaroslav Kysela) [1917388] - ASoC: amd: drop S24_LE format support (Jaroslav Kysela) [1917388] - ASoC: amd: Add support for ALC1015P codec in acp3x machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: acp3x-pdm-dma: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: amd: raven: acp3x-i2s: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: acp3x-pdm-dma: remove unnecessary assignments (Jaroslav Kysela) [1917388] - ASoC: amd: fix acpi dependency kernel warning (Jaroslav Kysela) [1917388] - ASoC: amd: update spdx license for acp machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: Add support for RT5682 codec in machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: Adding DAI LINK for rt1015 codec (Jaroslav Kysela) [1917388] - ASoC: amd: Adding support for ALC1015 codec in machine driver (Jaroslav Kysela) [1917388] - ASoC: amd: AMD RV RT5682 should depends on CROS_EC (Jaroslav Kysela) [1917388] - ASoC: amd: renoir: remove invalid kernel-doc comment (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - refine DMI entries for some Lenovo products (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395 (Jaroslav Kysela) [1917388] - ASoC: amd: Replacing MSI with Legacy IRQ model (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad E14 Gen 2 (Jaroslav Kysela) [1917388] - ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS) (Jaroslav Kysela) [1917388] - ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision) (Jaroslav Kysela) [1917388] - ASoC: amd: change clk_get() to devm_clk_get() and add missed checks (Jaroslav Kysela) [1917388] - ASoC: amd: Return -ENODEV for non-existing ACPI call (Jaroslav Kysela) [1917388] - ASoC: amd: support other audio modes for raven (Jaroslav Kysela) [1917388] - ASoC: topology: adhere to KUNIT formatting standard (Jaroslav Kysela) [1917388] - ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load (Jaroslav Kysela) [1917388] - ALSA: trident: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: sonicvibes: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: sis7019: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: remove unneeded break (Jaroslav Kysela) [1917388] - ALSA: hdsp: don't disable if not enabled (Jaroslav Kysela) [1917388] - ALSA: hdsp: hardware output loopback (Jaroslav Kysela) [1917388] - ALSA: pci: mixart: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ALSA: maestro: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: lola: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: intel8x0: Fix missing check in snd_intel8x0m_create (Jaroslav Kysela) [1917388] - ALSA: intel8x0: Don't update period unless prepared (Jaroslav Kysela) [1917388] - ALSA: hda: Avoid spurious unsol event handling during S3/S4 (Jaroslav Kysela) [1917388] - ALSA: ens1370: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: emu10k1: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: emu10k1: Use dma_set_mask_and_coherent to simplify code (Jaroslav Kysela) [1917388] - ALSA: ctxfi: fix comment syntax in file headers (Jaroslav Kysela) [1917388] - ALSA: ctxfi: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits (Jaroslav Kysela) [1917388] - ALSA: bt87x: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: azt3328: Assign boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: asihpi: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: dice: fix stream format for TC Electronic Konnekt Live at high sampling transfer frequency (Jaroslav Kysela) [1917388] - ALSA: dice: disable double_pcm_frames mode for M-Audio Profire 610, 2626 and Avid M-Box 3 Pro (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix amdtp_packet tracepoints event for packet_index field (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix calculation for size of IR context payload (Jaroslav Kysela) [1917388] - ALSA: firewire-lib: fix check for the size of isochronous packet payload (Jaroslav Kysela) [1917388] - ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro (Jaroslav Kysela) [1917388] - ALSA: dice: fix stream format at middle sampling rate for Alesis iO 26 (Jaroslav Kysela) [1917388] - ALSA: bebob: enable to deliver MIDI messages for multiple ports (Jaroslav Kysela) [1917388] - ALSA: bebob: detect the number of available MIDI ports (Jaroslav Kysela) [1917388] - ALSA: bebob: code refactoring for stream format detection (Jaroslav Kysela) [1917388] - ALSA: dice: fix null pointer dereference when node is disconnected (Jaroslav Kysela) [1917388] - ALSA: fireface: fix to parse sync status register of latter protocol (Jaroslav Kysela) [1917388] - ALSA: bebob: remove an unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: fireface: remove unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: oxfw: remove an unnecessary condition in hwdep_read() (Jaroslav Kysela) [1917388] - ALSA: dice: add support for Lexicon I-ONIX FW810s (Jaroslav Kysela) [1917388] - ALSA: firewire-tascam: Fix integer overflow in midi_port_work() (Jaroslav Kysela) [1917388] - ALSA: fireface: Fix integer overflow in transmit_midi_msg() (Jaroslav Kysela) [1917388] - ALSA: firewire: Clean up a locking issue in copy_resp_to_buf() (Jaroslav Kysela) [1917388] - ALSA: firewire: fix comparison to bool warning (Jaroslav Kysela) [1917388] - ALSA: firewire: Replace tasklet with work (Jaroslav Kysela) [1917388] - ALSA: firewire: convert tasklets to use new tasklet_setup() API (Jaroslav Kysela) [1917388] - ALSA: vx: Use roundup() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: pcsp: Fix fall-through warnings for Clang (Jaroslav Kysela) [1917388] - ALSA: dummy: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: aloop: Fix initialization of controls (Jaroslav Kysela) [1917388] - ALSA: aloop: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: atmel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1917388] - ASoC: SOF: ext_manifest: use explicit number for elem_type (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: allow for partial match in parent name (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: add helper to identify parent driver. (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: add new fields for mach_params (Jaroslav Kysela) [1917388] - ASoC: rt5682: Add a new property for the DMIC clock driving (Jaroslav Kysela) [1917388] - ALSA: hda: Change AZX_MAX_BUF_SIZE from 1GB to 4MB (Jaroslav Kysela) [1917388] - soundwire: sysfs: Constify static struct attribute_group (Jaroslav Kysela) [1917388] - ALSA: remove trailing semicolon in macro definition (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: don't send DAI_CONFIG IPC for older firmware (Jaroslav Kysela) [1917388] - ASoC: SOF: use current DAI config during resume (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: Update ADL P to use its own descriptor (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: add missing use_acpi_target_states for TGL platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: topology: remove useless code (Jaroslav Kysela) [1917388] - ASoC: SOF: Kconfig: fix typo of SND_SOC_SOF_PCI (Jaroslav Kysela) [1917388] - ASOC: SOF: simplify nocodec mode (Jaroslav Kysela) [1917388] - ASoC: SOF: pcm: export snd_pcm_dai_link_fixup (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: update set_mach_params() (Jaroslav Kysela) [1917388] - ASoC: SOF: change signature of set_mach_params() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: add Kconfig option for probe workqueues (Jaroslav Kysela) [1917388] - ASoC: SOF: Simplify sof_probe_complete handling for acpi/pci/of (Jaroslav Kysela) [1917388] - ASoC: SOF: core: Add missing error prints to device probe operation (Jaroslav Kysela) [1917388] - ASoC: SOF: match SSP config with pcm hw params (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: add hw params callback for SSP DAIs (Jaroslav Kysela) [1917388] - ASoC: SOF: parse multiple SSP DAI and hw configs (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: drop display power on/off in D0i3 flows (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: move ELH chip info (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: APL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: CNL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: ICL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: TGL: set shutdown callback to hda_dsp_shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: TGL: fix EHL ops (Jaroslav Kysela) [1917388] - ASoC: SOF: core: harden shutdown helper (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: fix core status verification (Jaroslav Kysela) [1917388] - ASoC: SOF: add a helper to get topology configured mclk (Jaroslav Kysela) [1917388] - ASoC: SOF: only allocate debugfs cache buffers for IPC flood entries (Jaroslav Kysela) [1917388] - ASoC: SOF: fix debugfs initialisation error handling (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: enable async suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: turn off display power in resume (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: fix wrong poll bits in dsp power down (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: unregister DMIC device on probe error (Jaroslav Kysela) [1917388] - ALSA: hda: move Intel SoundWire ACPI scan to dedicated module (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: SoundWire: simplify Kconfig (Jaroslav Kysela) [1917388] - ASoC: SOF: pci: move DSP_CONFIG use to platform-specific drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: pci: split PCI into different drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: add sof_icl_ops for ICL platforms (Jaroslav Kysela) [1917388] - ASoC: SOF: ACPI: avoid reverse module dependency (Jaroslav Kysela) [1917388] - ASoC: SOF: relax ABI checks and avoid unnecessary warnings (Jaroslav Kysela) [1917388] - ASoC: SOF: fix runtime pm usage mismatch after probe errors (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: add dev_dbg() when DMIC number is overridden (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: HDA: don't keep a temporary variable (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: detect DMIC number in SoundWire mixed config (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: SoundWire: refine ACPI match (Jaroslav Kysela) [1917388] - ASoC: SOF: HDA: (cosmetic) simplify hda_dsp_d0i3_work() (Jaroslav Kysela) [1917388] - ASoC: SOF: remove unused functions (Jaroslav Kysela) [1917388] - ASoC: SOF: fix string format for errors (Jaroslav Kysela) [1917388] - ASoC: SOF: add missing pm debug (Jaroslav Kysela) [1917388] - ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: release display power at link_power (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use hdac_ext fine-grained link management (Jaroslav Kysela) [1917388] - ASoC: SOF: debug: Fix a potential issue on string buffer termination (Jaroslav Kysela) [1917388] - ASoC: SOF: add be_hw_params_fixup() for ALH (Jaroslav Kysela) [1917388] - ASoC: SOF: topology: Prevent NULL pointer dereference with no TLV (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: hda-loader: use snd_sof_dsp_core_power_down/up APIs (Jaroslav Kysela) [1917388] - ASoC: SOF: Filter out unneeded core power up/downs (Jaroslav Kysela) [1917388] - ASoC: SOF: update dsp core power status in common APIs (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda-loader: keep init cores alive (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: use snd_sof_dsp_core_power_up/down API (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Enable DMI L1 for trace (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: enable DMI L1 for D0i3-compatible streams (Jaroslav Kysela) [1917388] - ASoC: SOF: add a pointer to download repo in case FW request fails (Jaroslav Kysela) [1917388] - ASoC: SOF: SND_INTEL_DSP_CONFIG dependency (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies (Jaroslav Kysela) [1917388] - ASoC: SOF: intel: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: initial support to AlderLake-P (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: tgl: do thorough remove at .shutdown() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: sof-pci-dev: add .shutdown() callback (Jaroslav Kysela) [1917388] - ASoC: SOF: add snd_sof_device_shutdown() helper for shutdown (Jaroslav Kysela) [1917388] - ASoC: SOF: add .shutdown() callback to snd_sof_dsp_ops (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Avoid checking jack on system suspend (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Modify existing helper to disable WAKEEN (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: hda: Resume codec to do jack detection (Jaroslav Kysela) [1917388] - ASoC: SOF: add mutex to protect the dsp_power_state access (Jaroslav Kysela) [1917388] - ASoC: SOF: Fix spelling mistake in Kconfig "ond" -> "and" (Jaroslav Kysela) [1917388] - ASoC: SOF: imx: update kernel-doc description (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: add SoundWire support for ADL-S (Jaroslav Kysela) [1917388] - ASoC: SOF: control: fix cppcheck warning in snd_sof_volume_info() (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: allow for coexistence between SOF and catpt drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: allow for coexistence between SOF and Atom/SST drivers (Jaroslav Kysela) [1917388] - ASoC: SOF: acpi: add dynamic selection of DSP driver (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: initial support for Alderlake-S (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG (Jaroslav Kysela) [1917388] - ASoC: SOF: Intel: fix Kconfig punctuation and wording (Jaroslav Kysela) [1917388] - ASoC: SOF: Kconfig: fix Kconfig punctuation and wording (Jaroslav Kysela) [1917388] - ASoC: SOF: imx: fix Kconfig punctuation (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix 3-830 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Glavey TM800A550L tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Fix random noise at the HDMI output (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ADL jack-less SoundWire configurations (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ADL SoundWire base configurations (Jaroslav Kysela) [1917388] - ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoc: Intel: board: add BE DAI link for WoV (Jaroslav Kysela) [1917388] - ASoC: Intel: kbl: Add MST route change to kbl machine drivers (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_rt5672: Set card.components string (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_rt5672: Add support for Bay Trail CR / SSP0 (Jaroslav Kysela) [1917388] - ASoC: Intel: Baytrail: Add quirk for the Dell Venue 10 Pro 5055 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: Unify the thinkpad10 and aegex10 byt-match quirks (Jaroslav Kysela) [1917388] - ASoC: Intel: Boards: cml_da7219_max98390: add capture stream for echo reference (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: Fix a typo (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: add max98390 echo reference support (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: Add jack detect support (Jaroslav Kysela) [1917388] - ASoC: intel: atom: Remove 44100 sample-rate from the media and deep-buffer DAI descriptions (Jaroslav Kysela) [1917388] - ASoC: intel: atom: Stop advertising non working S24LE support (Jaroslav Kysela) [1917388] - ASoC: intel: sof_rt5682: use the topology mclk (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_rt5682: Add ALC1015Q-VB speaker amp support (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: skl-topology: fix -frame-larger-than (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add used AIF to the components string (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: remove unused static variable (Jaroslav Kysela) [1917388] - ASoC: Intel: atom: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: remove TGL RVP mixed SoundWire/TDM config (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: remove unused TGL table with rt5682 only (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Compile when any configuration is selected (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: sof-wm8804: add check for PLL setting (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet (Jaroslav Kysela) [1917388] - ASoC: Intel: soc-acpi: add ACPI matching table for HP Spectre x360 (Jaroslav Kysela) [1917388] - ASoC: intel: sof_sdw: add trace for dai links (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: detect DMIC number based on mach params (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add mic:dmic and cfg-mics component strings (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add quirk for HP Spectre x360 convertible (Jaroslav Kysela) [1917388] - ASoC: Intel: sof-sdw: indent and add quirks consistently (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: reorganize quirks by generation (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: max98373: get dapm from cpu_dai (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_wm5102: Add machine driver for BYT/WM5102 (Jaroslav Kysela) [1917388] - ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Support IEC958 encoded PCM format (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A3E (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A32 (Jaroslav Kysela) [1917388] - ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E (Jaroslav Kysela) [1917388] - ASoC: Intel: remove unneeded semicolon (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Wake up device before configuring SSP port (Jaroslav Kysela) [1917388] - ASoC: Intel: remove duplicate MODULE_LICENSE/DESCRIPTION tags (Jaroslav Kysela) [1917388] - ASoC: Intel: adl: remove sof_fw_filename setting in ADL snd_soc_acpi_mach (Jaroslav Kysela) [1917388] - ASoC: Intel: common: add ACPI matching tables for Alder Lake (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: Zero snd_ctl_elem_value (Jaroslav Kysela) [1917388] - ASoC: Intel: Skylake: skl-topology: Fix OOPs ib skl_tplg_complete (Jaroslav Kysela) [1917388] - ASoC: intel: skl: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ASoC: Intel: cht_bsw_nau8824: Move snd_soc_dai_set_tdm_slot call to cht_codec_fixup (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for the Mele PCG03 Mini PC (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_INTERNAL_MIC_MAP input-mapping (Jaroslav Kysela) [1917388] - ASoC: Intel: byt/cht: set pm ops dynamically (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove sst_pdata structure (Jaroslav Kysela) [1917388] - ASoC: Intel: Make atom components independent of sst-dsp (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST-legacy specific constants (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove unused DSP operations (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST firmware components (Jaroslav Kysela) [1917388] - ASoC: Intel: Remove SST ACPI component (Jaroslav Kysela) [1917388] - ASoC: Intel: Select catpt and deprecate haswell (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-5677: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: bdw-5650: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: broadwell: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: haswell: Remove haswell-solution specific code (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Simple sysfs attributes (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Event tracing (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Device driver lifecycle (Jaroslav Kysela) [1917388] - drivers: provide devm_platform_get_and_ioremap_resource() (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: PCM operations (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Firmware loading and context restore (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Define DSP operations (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Add IPC message handlers (Jaroslav Kysela) [1917388] - ASoC: Intel: catpt: Implement IPC protocol (Jaroslav Kysela) [1917388] - ASoC: Intel: Add catpt base members (Jaroslav Kysela) [1917388] - resource: Introduce resource_intersection() for overlapping resources (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add quirk for ARCHOS Cesium 140 (Jaroslav Kysela) [1917388] - ASoC: Intel: boards: byt/cht: set card and driver name at run time (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag (Jaroslav Kysela) [1917388] - ASoC: Intel: KMB: Enable DMA transfer mode (Jaroslav Kysela) [1917388] - ASoC: Intel: keembay: use inclusive language for bclk and fsync (Jaroslav Kysela) [1917388] - ASoC: Intel: bytcht_es8316: Remove comment about SSP0 being untested (Jaroslav Kysela) [1917388] - ASoC: rt1015: remove bclk_ratio (Jaroslav Kysela) [1917388] - ASoC: cs42l73: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: cs53l30: Add missing regmap use_single config (Jaroslav Kysela) [1917388] - ASoC: sti-sas: add missing MODULE_DEVICE_TABLE (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Regmap must use_single_read/write (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: fix the function number of SDCA control for feature unit 0x1E (Jaroslav Kysela) [1917388] - ASoC: da7219: do not request a new clock consummer reference (Jaroslav Kysela) [1917388] - ASoC: max98088: fix ni clock divider calculation (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: add the notification when volume changed (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: change capture switch controls (Jaroslav Kysela) [1917388] - ASoC: da7219: properly get clk from the provider (Jaroslav Kysela) [1917388] - ASoC: wcd934x: use the clock provider API (Jaroslav Kysela) [1917388] - ASoC: adau17x1: Avoid overwriting CHPF (Jaroslav Kysela) [1917388] - ASoC: ak4458: enable daisy chain (Jaroslav Kysela) [1917388] - ASoC: rt1015p: add support on format S32_LE (Jaroslav Kysela) [1917388] - ASoC: rt286: Generalize support for ALC3263 codec (Jaroslav Kysela) [1917388] - ASoC: rt298: Configure combo jack for headphones (Jaroslav Kysela) [1917388] - ASoC: rt286: Configure combo jack for headphones (Jaroslav Kysela) [1917388] - ASoC: sigmadsp: Disable cache mechanism for readbacks (Jaroslav Kysela) [1917388] - ASoC: rt286: Make RT286_SET_GPIO_* readable and writable (Jaroslav Kysela) [1917388] - ASoC: rt286: Fix upper byte in DMIC2 configuration (Jaroslav Kysela) [1917388] - ASoC: ak4458: check reset control status (Jaroslav Kysela) [1917388] - ASoC: codecs: rt5682: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt715: remove kcontrols which no longer be used (Jaroslav Kysela) [1917388] - ASoC: rt715: add main capture switch and main capture volume (Jaroslav Kysela) [1917388] - ASoC: rt715: modification for code simplicity (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: Fix missing IRQF_ONESHOT as only threaded handler (Jaroslav Kysela) [1917388] - ASoC: cs35l35: remove unused including (Jaroslav Kysela) [1917388] - ASoC: ak5558: correct reset polarity (Jaroslav Kysela) [1917388] - ASoC: cs35l36: Fix an error handling path in 'cs35l36_i2c_probe()' (Jaroslav Kysela) [1917388] - ASoC: cs35l35: Fix an error handling path in 'cs35l35_i2c_probe()' (Jaroslav Kysela) [1917388] - ASoC: wcd9335: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt1019: remove registers to sync with rt1019 datasheet (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: wcd934x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: tas2770: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: cx2072x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt1019: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: add AIC3106 (Jaroslav Kysela) [1917388] - ASoC: codecs: wsa881x: constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: codecs: Fix runtime PM imbalance in tas2552_probe (Jaroslav Kysela) [1917388] - ASoC: rt1011: remove pack_id check in rt1011 (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: add SPI support (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: move I2C to separated file (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: rename probe function (Jaroslav Kysela) [1917388] - ASoC: codecs: tlv320aic3x: move model definitions (Jaroslav Kysela) [1917388] - ASoC: max98390: Add support for tx slot configuration. (Jaroslav Kysela) [1917388] - ASoC: ak5558: Fix s/show/slow/ typo (Jaroslav Kysela) [1917388] - ASoC: tlv320aic32x4: Register clocks before registering component (Jaroslav Kysela) [1917388] - ASoC: tlv320aic32x4: Increase maximum register in regmap (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add a rt5670_components() helper (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055 (Jaroslav Kysela) [1917388] - ASoC: da732x: simplify code (Jaroslav Kysela) [1917388] - ASoC: lm49453: fix useless assignment before return (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: Fix spelling mistake "reate" -> "create" (Jaroslav Kysela) [1917388] - ASoC: mediatek: mt6359: add MT6359 accdet jack driver (Jaroslav Kysela) [1917388] - ASoC: max98373: Added 30ms turn on/off time delay (Jaroslav Kysela) [1917388] - ASoC: max98373: Changed amp shutdown register as volatile (Jaroslav Kysela) [1917388] - ASoC: wm8960: Remove bitclk relax condition in wm8960_configure_sysclk (Jaroslav Kysela) [1917388] - ASoC: max98373: Added controls for autorestart config (Jaroslav Kysela) [1917388] - ASoC: rt1015: Add bclk detection and dc detection (Jaroslav Kysela) [1917388] - ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips (Jaroslav Kysela) [1917388] - ASoC: rt1019: make symbol 'rt1019_i2c_driver' static (Jaroslav Kysela) [1917388] - ASoC: rt1019: add rt1019 amplifier driver (Jaroslav Kysela) [1917388] - ASoC: tscs454: remove useless test on PLL disable (Jaroslav Kysela) [1917388] - ASoC: tlv320dac33: clarify expression (Jaroslav Kysela) [1917388] - ASoC: tas2770: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: tas2562: remove warning on return value (Jaroslav Kysela) [1917388] - ASoC: tas2562: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: sti-sas: remove unused struct members (Jaroslav Kysela) [1917388] - ASoC: sigmadsp: align function prototype (Jaroslav Kysela) [1917388] - ASoC: pcm1681: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: nau8825: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: mt6359: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: mt6358: remove useless initializations (Jaroslav Kysela) [1917388] - ASoC: max98090: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: remove unused spk_mask member (Jaroslav Kysela) [1917388] - ASoC: hdmi-codec: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: align function arguments (Jaroslav Kysela) [1917388] - ASoC: hdac_hdmi: remove useless initializations (Jaroslav Kysela) [1917388] - ASoC: da7219-aad: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: cx2070x: remove duplicate else branch (Jaroslav Kysela) [1917388] - ASoC: cx2070x: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: adau1977: remove useless return (Jaroslav Kysela) [1917388] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Jaroslav Kysela) [1917388] - ASoC: ad1836: remove useless return (Jaroslav Kysela) [1917388] - ASoC: ab8500-codec: remove useless structure (Jaroslav Kysela) [1917388] - ASoC: rt711: add snd_soc_component remove callback (Jaroslav Kysela) [1917388] - ASoC: rt5659: Update MCLK rate in set_sysclk() (Jaroslav Kysela) [1917388] - ASoC: rt5640: Rename 'Mono DAC Playback Volume' to 'DAC2 Playback Volume' (Jaroslav Kysela) [1917388] - ASoC: rt1015p: add acpi device id for rt1015p (Jaroslav Kysela) [1917388] - ASoC: wm_hubs: align function prototype (Jaroslav Kysela) [1917388] - ASoC: wm_adsp: simplify return value (Jaroslav Kysela) [1917388] - ASoC: wm8996: clarify expression (Jaroslav Kysela) [1917388] - ASoC: wm8994: align function prototype (Jaroslav Kysela) [1917388] - ASoC: wm8978: clarify expression (Jaroslav Kysela) [1917388] - ASoC: wm8958-dsp2: rename local 'control' arrays (Jaroslav Kysela) [1917388] - ASoC: arizona: fix function argument (Jaroslav Kysela) [1917388] - ASoC: wm2200: remove unused structure (Jaroslav Kysela) [1917388] - ASoC: rt5682: add delay time of workqueue to control next IRQ event (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Remove unused including (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Fix return value check in rt715_sdca_sdw_probe() (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Set clock source for both ways of stream (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Provide finer control on playback path (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Disable regulators if probe fails (Jaroslav Kysela) [1917388] - ASoC: cs42l42: Remove power if the driver is being removed (Jaroslav Kysela) [1917388] - ASoC: rt711-sdca: Add RT711 SDCA vendor-specific driver (Jaroslav Kysela) [1917388] - ASoC: rt5645: The ALC3270 variant does not have a headset-mic pin (Jaroslav Kysela) [1917388] - ASoC: rt5645: Move rt5645_platform_data to sound/soc/codecs/rt5645.c (Jaroslav Kysela) [1917388] - ASoC: codecs/jz4770: Remove superfluous error message (Jaroslav Kysela) [1917388] - ASoC: rt715-sdca: Add RT715 sdca vendor-specific driver (Jaroslav Kysela) [1917388] - ASoC: wm8962: Relax bit clock divider searching (Jaroslav Kysela) [1917388] - ASoC: rt1316: Fix return value check in rt1316_sdw_probe() (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: Fix identation of .driver elements (Jaroslav Kysela) [1917388] - ASoC: codec: Omit superfluous error message in jz4760_codec_probe() (Jaroslav Kysela) [1917388] - ASoC: sigmadsp-regmap: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ASoC: rt5631: fix kernel-doc warning (Jaroslav Kysela) [1917388] - ASoC: jz4760: fix set but not used warning (Jaroslav Kysela) [1917388] - ASoC: cs4270: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: rt5682: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5677: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: rt5677: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5670: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5668: remove useless assignments (Jaroslav Kysela) [1917388] - ASoC: rt5668: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5665: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5663: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5660: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5659: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5651: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: rt5651: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5645: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt5645: use logical OR (Jaroslav Kysela) [1917388] - ASoC: rt5640: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1308: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1305: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1016: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1015: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1011: clarify expression (Jaroslav Kysela) [1917388] - ASoC: rt1011: remove redundant test (Jaroslav Kysela) [1917388] - ASoC: rt1011: use logical OR (Jaroslav Kysela) [1917388] - ASoC: wm8524: Do not print probe defer error (Jaroslav Kysela) [1917388] - ASoC: codecs: nau8825: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: rt1316: Add RT1316 SDCA vendor-specific driver (Jaroslav Kysela) [1917388] - ASoc: rt5631: Constify static struct coeff_clk_div (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct acpi_device_id (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct snd_soc_dai_ops (Jaroslav Kysela) [1917388] - ASoC: rt*: Constify static struct sdw_slave_ops (Jaroslav Kysela) [1917388] - ASoC: wcd934x: remove useless return (Jaroslav Kysela) [1917388] - ASoC: wcd9335: clarify return value (Jaroslav Kysela) [1917388] - ASoC: wcd-clsh-v2: align function prototypes (Jaroslav Kysela) [1917388] - ASoC: codecs: wcd934x: add a sanity check in set channel map (Jaroslav Kysela) [1917388] - ASoC: es8316: Simplify adc_pga_gain_tlv table (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe (Jaroslav Kysela) [1917388] - ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1917388] - ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1917388] - ASoC: rt5670: Add emulated 'DAC1 Playback Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove ADC vol-ctrl mute bits poking from Sto1 ADC mixer settings (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove 'HP Playback Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt5670: Remove 'OUT Channel Switch' control (Jaroslav Kysela) [1917388] - ASoC: rt1015: fix i2c communication error (Jaroslav Kysela) [1917388] - ASoC: codec: Add driver for JZ4760 internal codec (Jaroslav Kysela) [1917388] - ASoC: codec/ingenic: Depend on MACH_INGENIC (Jaroslav Kysela) [1917388] - ASoC: codec: hdmi-codec: Support IEC958 encoded PCM format (Jaroslav Kysela) [1917388] - ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during system shutdown (Jaroslav Kysela) [1917388] - ASoC: rt5682: do nothing in rt5682_suspend/resume in sdw mode (Jaroslav Kysela) [1917388] - ASoC: rt5682-sdw: cancel_work_sync() in .remove and .suspend (Jaroslav Kysela) [1917388] - ASoC: rt711-sdw: use cancel_work_sync() for .remove (Jaroslav Kysela) [1917388] - ASoC: rt700-sdw: use cancel_work_sync() in .remove as well as .suspend (Jaroslav Kysela) [1917388] - ASoC: mt6359: reduce log verbosity for optional DT properties (Jaroslav Kysela) [1917388] - ASoC: codecs: add missing max_register in regmap config (Jaroslav Kysela) [1917388] - ASoC: cpcap: fix microphone timeslot mask (Jaroslav Kysela) [1917388] - ASoC: rt5659: Add Kconfig prompt (Jaroslav Kysela) [1917388] - ASoC: max98373: Fixes a typo in max98373_feedback_get (Jaroslav Kysela) [1917388] - ASoC: ak4458: correct reset polarity (Jaroslav Kysela) [1917388] - ASoC: rt5682: remove connection with LDO2 in DAPM graph (Jaroslav Kysela) [1917388] - ASoC: ml26124: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: lm49453: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: inno_rk3036: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: cx2072x: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: alc5632: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ab8500: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: lochnagar-sc: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: mt6660: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: mc13783: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: sgtl5000: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ssm2602: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: zl38060: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: jz4740: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: ak*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tscs*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: max*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: es*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: da*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: nau*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: rt*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: tlv*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: wm*: sync parameter naming (rate/sample_bits) (Jaroslav Kysela) [1917388] - ASoC: remove sirf prima/atlas drivers (Jaroslav Kysela) [1917388] - ASoC: codecs: soundwire: increase resume timeout (Jaroslav Kysela) [1917388] - ASoC: es8316: Fix possible NULL pointer deref in es8316_disable_jack_detect() (Jaroslav Kysela) [1917388] - ASoC: rt5682: enable fast discharge for headset unplugging (Jaroslav Kysela) [1917388] - ASoC: rt5682: fix getting the wrong device id when the suspend_stress_test (Jaroslav Kysela) [1917388] - ASoC: rt5645: Enable internal microphone and JD on ECS EF20 (Jaroslav Kysela) [1917388] - ASoC: rt5645: add inv_hp_det flag (Jaroslav Kysela) [1917388] - ASoC: rt5645: Add ACPI-defined GPIO for ECS EF20 series (Jaroslav Kysela) [1917388] - ASoC: rt5645: Introduce mapping for ACPI-defined GPIO (Jaroslav Kysela) [1917388] - ASoC: rt1015: re-calibrate again when resuming (Jaroslav Kysela) [1917388] - ASoC: rt5645: Remove the redundant delay time (Jaroslav Kysela) [1917388] - ASoC: rt1015: remove unneeded variables in rt1015_priv (Jaroslav Kysela) [1917388] - ASoC: rt1015: refactor retry loop and rt1015_priv allocation (Jaroslav Kysela) [1917388] - ASoC: rt1015: return error if any when setting bypass_boost (Jaroslav Kysela) [1917388] - ASoC: rt1015: save boost_mode only if valid (Jaroslav Kysela) [1917388] - ASoC: rt1015: sort header inclusions (Jaroslav Kysela) [1917388] - ASoC: Intel: common: Fix some typos (Jaroslav Kysela) [1917388] - ASoC: soc.h: remove for_each_rtd_dais_rollback() (Jaroslav Kysela) [1917388] - ASoC: soc.h: return error if multi platform at snd_soc_fixup_dai_links_platform_name() (Jaroslav Kysela) [1917388] - ASoC: soc.h: fixup return timing for snd_soc_fixup_dai_links_platform_name() (Jaroslav Kysela) [1917388] - ASoC: soc.h: add asoc_link_to_cpu/codec/platform() macro (Jaroslav Kysela) [1917388] - ASoC: add soc-jack.h (Jaroslav Kysela) [1917388] - ASoC: soc-dai.h: Align the word of comment for SND_SOC_DAIFMT_CBC_CFC (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix always-false condition (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix signed/unsigned issue (Jaroslav Kysela) [1917388] - ASoC: soc-acpi: remove useless initialization (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: ignore dummy-DAI at soc_pcm_params_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-utils: add snd_soc_component_is_dummy() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate DAI name if soc_pcm_params_symmetry() failed (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't use "name" on __soc_pcm_params_symmetry() macro (Jaroslav Kysela) [1917388] - ASoC: core: Don't set platform name when of_node is set (Jaroslav Kysela) [1917388] - ASoC: soc-compress: lock pcm_mutex to resolve lockdep error (Jaroslav Kysela) [1917388] - ASoC: soc-core: use device_unregister() if rtd allocation failed (Jaroslav Kysela) [1917388] - ASoC: soc-core: add comment for rtd freeing (Jaroslav Kysela) [1917388] - ASoC: soc-component: Add snd_soc_pcm_component_ack (Jaroslav Kysela) [1917388] - ASoC: don't indicate error message for snd_soc_[pcm_]component_xxx() (Jaroslav Kysela) [1917388] - ASoC: don't indicate error message for snd_soc_[pcm_]dai_xxx() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't indicate error message for dpcm_be_dai_hw_free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: don't indicate error message for soc_pcm_hw_free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_prepare() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_hw_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_fe/be_dai_startup() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_run_update_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_be_dai_trigger() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at dpcm_path_get() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_prepare() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_hw_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: indicate error message at soc_pcm_open() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: share DPCM BE DAI stop operation (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove unneeded !rtd->dai_link check (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fixup dpcm_be_dai_startup() user count (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_hw_sanity_check() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_update_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: direct copy at snd_soc_set_runtime_hwparams() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_cpu/codec_dai_name() macro (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: check DAI activity under soc_pcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-core: fix DMI handling (Jaroslav Kysela) [1917388] - ASoC: soc-dai: fix kernel-doc (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add error log (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove shadowing variable (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove redundant assignment (Jaroslav Kysela) [1917388] - ASoC: soc-ops: remove useless assignment (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: unpack dpcm_set_fe_runtime() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_runtime_setup() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_runtime_setup_fe() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: unpack dpcm_init_runtime_hw() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove strange format storing (Jaroslav Kysela) [1917388] - ASoC: soc-core: Prevent warning if no DMI table is present (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix hw param limits calculation for multi-DAI (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fix hwparams min/max init for dpcm (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_format() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_chan() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_update_rate() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: change error message to debug message (Jaroslav Kysela) [1917388] - ASoC: dapm: use component prefix when checking widget names (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: fixup snd_pcm_limit_hw_rates() timing (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: use snd_pcm_hardware at dpcm_runtime_merge_xxx() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_create_pcm() and simplify soc_new_pcm() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_get_playback_capture() and simplify soc_new_pcm() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: tidyup pcm setting (Jaroslav Kysela) [1917388] - ASoC: soc-component: fix undefined reference to __ffssi2 (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_read/write_field() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: cleanup soc_pcm_params_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: cleanup soc_pcm_apply_symmetry() (Jaroslav Kysela) [1917388] - ASoC: soc-dai.h: remove symmetric_rates/samplebits (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_set_dai_params() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add dpcm_set_be_update_state() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: move dpcm_set_fe_update_state() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: Fix an uninitialized error code (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: return correct -ERRNO in failure path (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: disconnect BEs if the FE is not ready (Jaroslav Kysela) [1917388] - ASoC: dapm: remove widget from dirty list on free (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: care trigger rollback (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: remove dpcm_do_trigger() (Jaroslav Kysela) [1917388] - ASoC: pcm: send DAPM_STREAM_STOP event in dpcm_fe_dai_shutdown (Jaroslav Kysela) [1917388] - ASoC: soc-core: tidyup jack.h (Jaroslav Kysela) [1917388] - ASoC: soc-core: add soc_dapm_suspend_resume() (Jaroslav Kysela) [1917388] - ASoC: soc-core: add soc_playback_digital_mute() (Jaroslav Kysela) [1917388] - ASoC: soc-compress: add soc_compr_clean() and call it from soc_compr_open/free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_link_compr_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_component_compr_open/free() (Jaroslav Kysela) [1917388] - ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown() (Jaroslav Kysela) [1917388] - ASoC: soc-compress: move soc_compr_free() next to soc_compr_open() (Jaroslav Kysela) [1917388] - ASoC: pcm: call snd_soc_dapm_stream_stop() in soc_pcm_hw_clean (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_metadata() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_set_metadata() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_copy() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_pointer() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_ack() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_codec_caps() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_caps() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_get_params() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_set_params() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_trigger() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add snd_soc_component_compr_open() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: Get all BEs along DAPM path (Jaroslav Kysela) [1917388] - ASoC: soc-core: Fix component name_prefix parsing (Jaroslav Kysela) [1917388] - ASoC: soc-compress: assume SNDRV_PCM_STREAM_xxx and SND_COMPRESS_xxx are same (Jaroslav Kysela) [1917388] - ASoC: soc-compress: tidyup STREAM vs COMPRESS (Jaroslav Kysela) [1917388] - ASoC: soc-topology: clarify expression (Jaroslav Kysela) [1917388] - ASoC: sync parameter naming : rate / sample_bits (Jaroslav Kysela) [1917388] - ASoC: topology: Check if ops is set before dereference (Jaroslav Kysela) [1917388] - ASoC: topology: Ensure that needed parameters are set (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: add soc_pcm_hw_clean() and call it from soc_pcm_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-dai: add mark for snd_soc_dai_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-component: add mark for snd_soc_pcm_component_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-link: add mark for snd_soc_link_hw_params/free() (Jaroslav Kysela) [1917388] - ASoC: soc-pcm: move soc_pcm_hw_free() next to soc_pcm_hw_params() (Jaroslav Kysela) [1917388] - ASoC: dapm: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1917388] - ASoC: dmaengine: Document support for TX only or RX only streams (Jaroslav Kysela) [1917388] - ASoC: soc-core: use devm_snd_soc_register_card() (Jaroslav Kysela) [1917388] - ALSA: usb: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix control 'access overflow' errors from chmap (Jaroslav Kysela) [1917388] - ALSA: line6: Fix racy initialization of LINE6 MIDI (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Disable sample read check if firmware doesn't give back (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: snd_scarlett_gen2_controls_create() can be static (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: Improve driver startup messages (Jaroslav Kysela) [1917388] - ALSA: usb-audio: scarlett2: Fix device hang with ehci-pci (Jaroslav Kysela) [1917388] - ALSA: usb-audio: fix control-request direction (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix potential out-of-bounce access in MIDI EP parser (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Validate MS endpoint descriptors (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Remove redundant assignment to len (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix implicit sync clearance at stopping stream (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Generic application of implicit fb to Roland/BOSS devices (Jaroslav Kysela) [1917388] - Revert "ALSA: usb-audio: Add support for many Roland devices..." (Jaroslav Kysela) [1917388] - ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Re-apply implicit feedback mode to Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: DJM-750: ensure format is set (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for many Roland devices' implicit feedback quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply implicit feedback mode for BOSS devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Explicitly set up the clock selector (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Skip probe of UA-101 devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop implicit fb quirk entries dubbed for capture (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feeback support for the BOSS GT-1 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply sample rate quirk to Logitech Connect (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check connector value on resume (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Carve out connector value checking into a helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix unintentional sign extension issue (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Apply the control quirk to Plantronics headsets (Jaroslav Kysela) [1917388] - ALSA: usb: Add Plantronics C320-M USB ctrl msg delay quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix "cannot get freq eq" errors on Dell AE515 sound bar (Jaroslav Kysela) [1917388] - ALSA: usb-audio: fix Pioneer DJM-850 control label info (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Configure Pioneer DJM-850 samplerate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Declare Pioneer DJM-850 mixer controls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add Pioneer DJM-850 to quirks-table (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix Pioneer DJM devices URB_CONTROL request direction to set samplerate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: use Corsair Virtuoso mapping for Corsair Virtuoso SE (Jaroslav Kysela) [1917388] - ALSA: usb-audio: generate midi streaming substream names from jack names (Jaroslav Kysela) [1917388] - ALSA: usb-audio: use usb headers rather than define structs locally (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Allow modifying parameters with succeeding hw_params calls (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop bogus dB range in too low level (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't abort even if the clock rate differs (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit fb quirk for BOSS GP-10 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for RC-505 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't avoid stopping the stream at disconnection (Jaroslav Kysela) [1917388] - ALSA: usb-audio: More strict state change in EP (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Handle invalid running state at releasing EP (Jaroslav Kysela) [1917388] - ALSA: usb-audio: add mixer quirks for Pioneer DJM-900NXS2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk (Jaroslav Kysela) [1917388] - ALSA: Convert strlcpy to strscpy when return value is unused (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Correct document for snd_usb_endpoint_free_all() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM-450 to the quirks table (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add DJM450 to Pioneer format quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: workaround for iface reset issue (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix "RANGE setting not yet supported" errors (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Skip the clock selector inquiry for single connections (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix hw constraints dependencies (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for Pioneer DJM-750 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid implicit feedback on Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set sample rate for all sharing EPs on UAC1 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix UAC1 rate setup for secondary endpoints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Convert the last strlcpy() usage (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Convert remaining strlcpy() to strscpy() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Always apply the hw constraints for implicit fb sync (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix implicit feedback sync setup for Pioneer devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Annotate the endpoint index in audioformat (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid unnecessary interface re-setup (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Choose audioformat of a counter-part substream (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix the missing endpoints creations for quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for BOSS AD-10 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add alias entry for ASUS PRIME TRX40 PRO-S (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix potential out-of-bounds shift (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit fb support for Steinberg UR22 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add support for Pioneer DJ DDJ-RR controller (Jaroslav Kysela) [1917388] - ALSA: usb-audio: US16x08: fix value count for level meters (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix MOTU M-Series quirks (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix quirks for other BOSS devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit_fb module option (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add generic implicit fb parsing (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Factor out the implicit feedback quirk code (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Quirk for BOSS GT-001 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Show sync endpoint information in proc outputs (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use unsigned char for iface and altsettings fields (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Replace slave/master terms (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify rate_min/max and rates set up (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Unify the code for the next packet size calculation (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop unneeded snd_usb_substream fields (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Refactoring endpoint URB deactivation (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use atomic_t for endpoint use_count (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Constify audioformat pointer references (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix possible stall of implicit fb packet ring-buffer (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Refactor endpoint management (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Fix EP matching for continuous rates (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Always set up the parameters after resume (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add quirk for Pioneer DJ DDJ-SR2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set callbacks via snd_usb_endpoint_set_callback() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Stop both endpoints properly at error (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify snd_usb_init_pitch() arguments (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify snd_usb_init_sample_rate() arguments (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't set altsetting before initializing sample rate (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Pass snd_usb_audio object to quirk functions (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add snd_usb_get_host_interface() helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop keep_interface flag again (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Create endpoint objects at parsing phase (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Avoid doubly initialization for implicit fb (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Drop debug.h (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Simplify hw_params rules (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add hw constraint for implicit fb sync (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Move snd_usb_autoresume() call out of setup_hw_info() (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Track implicit fb sync endpoint in audioformat list (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Improve some debug prints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Set and clear sync EP link properly (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add snd_usb_get_endpoint() helper (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check implicit feedback EP generically for UAC2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Check valid altsetting at parsing rates for UAC2/3 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Don't call usb_set_interface() at trigger callback (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Handle discrete rates properly in hw constraints (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add delay quirk for all Logitech USB devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Use ALC1220-VB-DT mapping for ASUS ROG Strix TRX40 mobo (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for Qu-16 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for MODX (Jaroslav Kysela) [1917388] - ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk (Jaroslav Kysela) [1917388] - ALSA: usb-audio: Add mixer support for Pioneer DJ DJM-250MK2 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: reset eapd coeff to default value for alc287 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: Cancel pending works before suspend (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Fix compile warning without PCI (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Move unsol callback setups to parser (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: make some const arrays static, makes object smaller (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add ZxR surround DAC setup. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add 8051 PLL write helper functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Remove now unnecessary DSP setup functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Ensure DSP is properly setup post-firmware download. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add 8051 exram helper functions. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Add stream port remapping function. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Reset codec upon initialization. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Change Input Source enum strings. (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. (Jaroslav Kysela) [1917388] - ALSA: hda: Reinstate runtime_allow() for all hda controllers (Jaroslav Kysela) [1917388] - ACPI: Test for ACPI_SUCCESS rather than !ACPI_FAILURE (Jaroslav Kysela) [1917388] - ALSA: hda: Flush pending unsolicited events before suspend (Jaroslav Kysela) [1917388] - ALSA: hda: Re-add dropped snd_poewr_change_state() calls (Jaroslav Kysela) [1917388] - ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks (Jaroslav Kysela) [1917388] - ALSA: hda: Separate runtime and system suspend (Jaroslav Kysela) [1917388] - ALSA: hda: update the power_state during the direct-complete (Jaroslav Kysela) [1917388] - ALSA: hda: Balance runtime/system PM if direct-complete is disabled (Jaroslav Kysela) [1917388] - ALSA: hda: Refactor codec PM to use direct-complete optimization (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Set Initial DMIC volume to -26 dB (Jaroslav Kysela) [1917388] - ALSA: hda: Fix a regression in Capture Switch mixer read (Jaroslav Kysela) [1917388] - ALSA: hda: Add AlderLake-M PCI ID (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook Fury 17 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook Fury 15 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Zbook G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 855 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Chain in pop reduction fixup for ThinkStation P340 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: the bass speaker can't output sound on Yoga 9i (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Headphone volume is controlled by Front mixer (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add some CLOVE SSIDs of ALC293 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx (Jaroslav Kysela) [1917388] - ALSA: hda: fixup headset for ASUS GU502 laptop (Jaroslav Kysela) [1917388] - ALSA: hda: Fix for mute key LED for HP Pavilion 15-CK0xx (Jaroslav Kysela) [1917388] - ALSA: hda: generic: change the DAC ctl name for LO+SPK or LO+HP (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add fixup for HP OMEN laptop (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix speaker amp on HP Envy AiO 32 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix silent headphone output on ASUS UX430UA (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Re-order CX5066 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC662 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC269 HP quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Use CS8409 filter to fix abnormal sounds on Bullseye (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Set Initial DMIC volume for Bullseye to -26 dB (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook 845 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek - Headset Mic issue on HP platform (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: GA503 use same quirks as GA401 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G7 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mic boost on Intel NUC 8 (Jaroslav Kysela) [1917388] - ALSA: HDA: Add access description in __snd_hda_add_vmaster (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model (Jaroslav Kysela) [1917388] - ALSA: HDA - remove the custom implementation for the audio LED trigger (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: fix max DP-MST dev_num for Intel TGL+ platforms (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Make CS8409 driver more generic by using fixups. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Fix CS42L42 Headset Mic volume control name (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Cleanup patch_cirrus.c code. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add error handling into CS8409 I2C functions (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air (Jaroslav Kysela) [1917388] - ALSA: hda: generic: Fix the micmute led init state (Jaroslav Kysela) [1917388] - ALSA: hda/ca0132: Add Sound BlasterX AE-5 Plus support (Jaroslav Kysela) [1917388] - ALSA: hda: Drop the BATCH workaround for AMD controllers (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add Headphone and Headset MIC Volume Control (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add jack detect interrupt support from CS42L42 companion codec. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Add support for CS8409 HDA bridge and CS42L42 companion codec. (Jaroslav Kysela) [1917388] - ALSA: hda/cirrus: Increase AUTO_CFG_MAX_INS from 8 to 18 (Jaroslav Kysela) [1917388] - ALSA: hda/conexant: Add quirk for mute LED control on HP ZBook G5 (Jaroslav Kysela) [1917388] - ALSA: hda - bind headset buttons to the headphone jack (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Intel NUC 10 (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Add quirk for Clevo NH55RZQ (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup (Jaroslav Kysela) [1917388] - ALSA: hda: Add another CometLake-H PCI ID (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi: Drop bogus check at closing a stream (Jaroslav Kysela) [1917388] - ALSA: hda: Drop power save deny list entry for Clevo W65_67SB (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: modify EAPD in the ALC886 (Jaroslav Kysela) [1917388] - ALSA: hda/via: Apply the workaround generically for Clevo machines (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Remove unnecessary null-check from hda_tegra_runtime_resume() (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Reset hardware (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: Use clk_bulk helpers (Jaroslav Kysela) [1917388] - ALSA: hda: Assign boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: hda: boolean values to a bool variable (Jaroslav Kysela) [1917388] - ALSA: hda/realtek: Enable headset of ASUS B1400CEPE with ALC256 (Jaroslav Kysela) [1917388] - ALSA: pci: Simplify with dma_set_mask_and_coherent() (Jaroslav Kysela) [1917388] - ALSA: hda/via: Add minimum mute flag (Jaroslav Kysela) [1917388] - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T (Jaroslav Kysela) [1917388] - ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid (Jaroslav Kysela) [1917388] - ALSA: hda/hdmi - enable runtime pm for CI AMD display audio (Jaroslav Kysela) [1917388] - ALSA: hda/tegra: fix tegra-hda on tegra30 soc (Jaroslav Kysela) [1917388] - ALSA: hda: Revert "ALSA: hda: Allow setting preallocation again for x86" (Jaroslav Kysela) [1917388] - ALSA: hda: Fix spelling mistakes (Jaroslav Kysela) [1917388] - ALSA: hda: ignore invalid NHLT table (Jaroslav Kysela) [1917388] - ALSA: hda: intel-nhlt: verify config type (Jaroslav Kysela) [1917388] - ALSA: hda: fix kernel-doc warnings (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add Alder Lake support (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: Add SND_INTEL_BYT_PREFER_SOF Kconfig option (Jaroslav Kysela) [1917388] - ALSA: hda: add link_power op to hdac_bus_ops (Jaroslav Kysela) [1917388] - ALSA: hda: Constify static attribute_group (Jaroslav Kysela) [1917388] - ALSA: hda: Use DIV_ROUND_UP()/roundup() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: ignore dsp_driver parameter for PCI legacy devices (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add Broadwell ACPI DSP driver selection (Jaroslav Kysela) [1917388] - ALSA: hda: intel-dsp-config: add helper for ACPI DSP driver selection (Jaroslav Kysela) [1917388] - ALSA: pcm: Fix missing check of the new non-cached buffer type (Jaroslav Kysela) [1917388] - ALSA: pcm: use dma_can_mmap() to check if a device supports dma_mmap_* (Jaroslav Kysela) [1917388] - ALSA: timer: Fix master timer notification (Jaroslav Kysela) [1917388] - ALSA: control led: fix memory leak in snd_ctl_led_register (Jaroslav Kysela) [1917388] - ALSA: control: Fix racy management of user ctl memory size account (Jaroslav Kysela) [1917388] - ALSA: control_led - fix the stack usage (control element ops) (Jaroslav Kysela) [1917388] - ALSA: control - double free in snd_ctl_led_init() (Jaroslav Kysela) [1917388] - ALSA: control: Add memory consumption limit to user controls (Jaroslav Kysela) [1917388] - ALSA: control - off by one in store_mode() (Jaroslav Kysela) [1917388] - ALSA: control led - improve the set_led_id() parser (Jaroslav Kysela) [1917388] - ALSA: control - add the missing prev_lops2 initialization (Jaroslav Kysela) [1917388] - ALSA: led control - add sysfs kcontrol LED marking layer (Jaroslav Kysela) [1917388] - ALSA: control - add sysfs support to the LED trigger module (Jaroslav Kysela) [1917388] - ALSA: control - add generic LED trigger module as the new control layer (Jaroslav Kysela) [1917388] - ALSA: control - add layer registration routines (Jaroslav Kysela) [1917388] - ALSA: control - introduce snd_ctl_notify_one() helper (Jaroslav Kysela) [1917388] - ALSA: core: remove redundant spin_lock pair in snd_card_disconnect (Jaroslav Kysela) [1917388] - ALSA: pcm: Fix couple of typos (Jaroslav Kysela) [1917388] - ALSA: core: avoid -Wempty-body warnings (Jaroslav Kysela) [1917388] - ALSA: pcm: Add debug print on memory allocation failure (Jaroslav Kysela) [1917388] - ALSA: core - add missing compress device type to /proc/asound/devices (Jaroslav Kysela) [1917388] - ALSA: pcm: Use for_each_pcm_substream() macro (Jaroslav Kysela) [1917388] - ALSA: pcm: Don't call sync_stop if it hasn't been stopped (Jaroslav Kysela) [1917388] - ALSA: pcm: Assure sync with the pending stop operation at suspend (Jaroslav Kysela) [1917388] - ALSA: pcm: Call sync_stop at disconnection (Jaroslav Kysela) [1917388] - ASoC: dmaengine_pcm: add peripheral configuration (Jaroslav Kysela) [1917388] - ALSA: core: Fix the debugfs removal at snd_card_free() (Jaroslav Kysela) [1917388] - ALSA: jack: implement software jack injection via debugfs (Jaroslav Kysela) [1917388] - ALSA: pcm: One more dependency for hw constraints (Jaroslav Kysela) [1917388] - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info() (Jaroslav Kysela) [1917388] - ALSA: oss: Use DIV_ROUND_CLOSEST() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: core: Use DIV_ROUND_UP() instead of open-coding it (Jaroslav Kysela) [1917388] - ALSA: core: Remove redundant comments (Jaroslav Kysela) [1917388] - ALSA: pcm: oss: Fix a few more UBSAN fixes (Jaroslav Kysela) [1917388] - ALSA: pcm: Clear the full allocated memory at hw_params (Jaroslav Kysela) [1917388] - ALSA: memalloc: Align buffer allocations in page size (Jaroslav Kysela) [1917388] - ALSA: pcm: Remove snd_pcm_lib_preallocate_dma_free() (Jaroslav Kysela) [1917388] - ALSA: core: memalloc: add page alignment for iram (Jaroslav Kysela) [1917388] - ALSA: pcm: oss: Fix potential out-of-bounds shift (Jaroslav Kysela) [1917388] - ALSA: rawmidi: Access runtime->avail always in spinlock (Jaroslav Kysela) [1917388] - ALSA: seq: Use bool for snd_seq_queue internal flags (Jaroslav Kysela) [1917388] - ALSA: compress: allow pause and resume during draining (Jaroslav Kysela) [1917388] - ALSA: ctl: fix error path at adding user-defined element set (Jaroslav Kysela) [1917388] - ALSA: seq: remove useless function (Jaroslav Kysela) [1917388] - ALSA: fix kernel-doc markups (Jaroslav Kysela) [1917388] - soundwire: SDCA: add helper macro to access controls (Jaroslav Kysela) [1917388] - soundwire: add static port mapping support (Jaroslav Kysela) [1917388] - soundwire: add definition for DPn BlockPackingMode (Jaroslav Kysela) [1917388] - soundwire: add master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: intel: don't return error when clock stop failed (Jaroslav Kysela) [1917388] - soundwire: intel: Use kzalloc for allocating only one thing (Jaroslav Kysela) [1917388] - soundwire: cadence: add status in dev_dbg 'State change' log (Jaroslav Kysela) [1917388] - soundwire: cadence: adjust verbosity in response handling (Jaroslav Kysela) [1917388] - soundwire: cadence: fix ACK/NAK handling (Jaroslav Kysela) [1917388] - soundwire: cadence: reduce timeout on transactions (Jaroslav Kysela) [1917388] - soundwire: bus: use consistent tests for return values (Jaroslav Kysela) [1917388] - soundwire: qcom: fix handling of qcom,ports-block-pack-mode (Jaroslav Kysela) [1917388] - soundwire: intel_init: test link->cdns (Jaroslav Kysela) [1917388] - soundwire: qcom: handle return correctly in qcom_swrm_transport_params (Jaroslav Kysela) [1917388] - soundwire: qcom: cleanup internal port config indexing (Jaroslav Kysela) [1917388] - soundwire: qcom: wait for fifo space to be available before read/write (Jaroslav Kysela) [1917388] - soundwire: qcom: add static port map support (Jaroslav Kysela) [1917388] - soundwire: qcom: update port map allocation bit mask (Jaroslav Kysela) [1917388] - soundwire: stream: fix memory leak in stream config error path (Jaroslav Kysela) [1917388] - soundwire: qcom: use signed variable for error return (Jaroslav Kysela) [1917388] - soundwire: qcom: wait for enumeration to be complete in probe (Jaroslav Kysela) [1917388] - soundwire: qcom: add auto enumeration support (Jaroslav Kysela) [1917388] - soundwire: export sdw_compare_devid, sdw_extract_slave_id and sdw_slave_add (Jaroslav Kysela) [1917388] - soundwire: qcom: add support to new interrupts (Jaroslav Kysela) [1917388] - soundwire: qcom: update register read/write routine (Jaroslav Kysela) [1917388] - soundwire: qcom: start the clock during initialization (Jaroslav Kysela) [1917388] - soundwire: qcom: set continue execution flag for ignored commands (Jaroslav Kysela) [1917388] - soundwire: qcom: add support to missing transport params (Jaroslav Kysela) [1917388] - soundwire: cadence: only prepare attached devices on clock stop (Jaroslav Kysela) [1917388] - soundwire: generic_allocation: fix confusion between group and packing (Jaroslav Kysela) [1917388] - soundwire: bus: Fix device found flag correctly (Jaroslav Kysela) [1917388] - soundwire: cadence_master: fix kernel-doc (Jaroslav Kysela) [1917388] - soundwire: stream: remove useless bus initializations (Jaroslav Kysela) [1917388] - soundwire: stream: remove useless initialization (Jaroslav Kysela) [1917388] - soundwire: qcom: check of_property_read status (Jaroslav Kysela) [1917388] - soundwire: intel: remove useless readl (Jaroslav Kysela) [1917388] - soundwire: generic_bandwidth_allocation: remove useless init (Jaroslav Kysela) [1917388] - soundwire: bus: remove useless initialization (Jaroslav Kysela) [1917388] - soundwire: bus: uniquify dev_err() for SCP_INT access (Jaroslav Kysela) [1917388] - soundwire: bus: demote clock stop prepare log to dev_dbg() (Jaroslav Kysela) [1917388] - soundwire: bus: clarify dev_err/dbg device references (Jaroslav Kysela) [1917388] - soundwire: bus: fix confusion on device used by pm_runtime (Jaroslav Kysela) [1917388] - soundwire: export sdw_write/read_no_pm functions (Jaroslav Kysela) [1917388] - soundwire: bus: use no_pm IO routines for all interrupt handling (Jaroslav Kysela) [1917388] - soundwire: bus: use sdw_write_no_pm when setting the bus scale registers (Jaroslav Kysela) [1917388] - soundwire: bus: use sdw_update_no_pm when initializing a device (Jaroslav Kysela) [1917388] - soundwire: return earlier if no slave is attached (Jaroslav Kysela) [1917388] - soundwire: bus: add better dev_dbg to track complete() calls (Jaroslav Kysela) [1917388] - soundwire: bus: add more details to track failed transfers (Jaroslav Kysela) [1917388] - soundwire: use consistent format for Slave devID logs (Jaroslav Kysela) [1917388] - soundwire: bus: test read status (Jaroslav Kysela) [1917388] - soundwire: bus: use correct driver name in error messages (Jaroslav Kysela) [1917388] - soundwire: qcom: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: stream: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: cadence: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: bandwidth_allocation: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: intel: add missing \n in dev_err() (Jaroslav Kysela) [1917388] - soundwire: intel: add master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: bus: handle master quirks for bus clash and parity (Jaroslav Kysela) [1917388] - soundwire: Intel: add DMI quirk for Dell SKU 0A3E (Jaroslav Kysela) [1917388] - soundwire: Intel: introduce DMI quirks for HP Spectre x360 Convertible (Jaroslav Kysela) [1917388] - soundwire: add override addr ops (Jaroslav Kysela) [1917388] - regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ (Jaroslav Kysela) [1917388] - tracing: Fix __print_hex_dump scope (Jaroslav Kysela) [1917388] - tracing: Use seq_buf_hex_dump() to dump buffers (Jaroslav Kysela) [1917388] - seq_buf: Add printing formatted hex dumps (Jaroslav Kysela) [1917388] - powerpc/64: Don't trace code that runs with the soft irq mask unreconciled (Desnes A. Nunes do Rosario) [1921631] - powerpc/64: Disable irq restore warning for now (Desnes A. Nunes do Rosario) [1921631] - powerpc/64s: make PACA_IRQ_HARD_DIS track MSR[EE] closely (Desnes A. Nunes do Rosario) [1921631]- watchdog/hpwdt: New PCI IDs (Joseph Szczypek) [1967765] - watchdog: hpwdt: Assign boolean values to a bool variable (Joseph Szczypek) [1967765] - scsi: libfc: Avoid invoking response handler twice if ep is already completed (Chris Leech) [1867301] - Bluetooth: SMP: Fail if remote and local public keys are identical (Gopal Tiwari) [1965083] - rq-qos: fix missed wake-ups in rq_qos_throttle try two (Ming Lei) [1972111] - mm: memcg/slab: disable cache merging for KMALLOC_NORMAL caches (Waiman Long) [1955561] - mm: memcg/slab: create a new set of kmalloc-cg- caches (Waiman Long) [1955561] - mm: memcg/slab: properly set up gfp flags for objcg pointer array (Waiman Long) [1955561] - mm/vmalloc.c:__vmalloc_area_node(): avoid 32-bit overflow (Rafael Aquini) [1970194] - mm: remove the filename in the top of file comment in vmalloc.c (Rafael Aquini) [1970194] - mm: cleanup the gfp_mask handling in __vmalloc_area_node (Rafael Aquini) [1970194] - mm/vmalloc.c: remove unnecessary highmem_mask from parameter of gfpflags_allow_blocking() (Rafael Aquini) [1970194] - mm/swap: fix pte_same_as_swp() not removing uffd-wp bit when compare (Chris von Recklinghausen) [1945442] - userfaultfd: hugetlbfs: fix new flag usage in error path (Chris von Recklinghausen) [1945442] - mm/hugetlb: fix cow where page writtable in child (Chris von Recklinghausen) [1945442] - ovl: fix reference counting in ovl_mmap error path (Chris von Recklinghausen) [1945442] - hugetlb: do early cow when page pinned on src mm (Chris von Recklinghausen) [1945442] - mm: introduce page_needs_cow_for_dma() for deciding whether cow (Chris von Recklinghausen) [1945442] - hugetlb: convert page_huge_active() HPageMigratable flag (Chris von Recklinghausen) [1945442] - hugetlb: use page.private for hugetlb specific page flags (Chris von Recklinghausen) [1945442] - x86/mm: Remove duplicate definition of _PAGE_PAT_LARGE (Chris von Recklinghausen) [1945442] - mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page (Chris von Recklinghausen) [1945442] - mm: hugetlb: fix a race between isolating and freeing page (Chris von Recklinghausen) [1945442] - mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active (Chris von Recklinghausen) [1945442] - mm: introduce vma_set_file function v5 (Chris von Recklinghausen) [1945442] - mm: mmap: fix fput in error path v2 (Chris von Recklinghausen) [1945442] - mm/gup: prevent gup_fast from racing with COW during fork (Chris von Recklinghausen) [1945442] - mm/gup: reorganize internal_get_user_pages_fast() (Chris von Recklinghausen) [1945442] - mm: remove src/dst mm parameter in copy_page_range() (Chris von Recklinghausen) [1945442] - mm: avoid early COW write protect games during fork() (Chris von Recklinghausen) [1945442] - mm/thp: Split huge pmds/puds if they're pinned when fork() (Chris von Recklinghausen) [1945442] - mm: Do early cow for pinned pages during fork() for ptes (Chris von Recklinghausen) [1945442] - mm/fork: Pass new vma pointer into copy_page_range() (Chris von Recklinghausen) [1945442] - mm: move the copy_one_pte() pte_present check into the caller (Chris von Recklinghausen) [1945442] - mm: split out the non-present case from copy_one_pte() (Chris von Recklinghausen) [1945442] - mm/gup: Remove enfornced COW mechanism (Chris von Recklinghausen) [1945442] - mm/hmm.c: delete duplicated word (Chris von Recklinghausen) [1945442] - mm/hmm: provide the page mapping order in hmm_range_fault() (Chris von Recklinghausen) [1945442] - mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked() (Chris von Recklinghausen) [1945442] - mm/gup: introduce pin_user_pages_locked() (Chris von Recklinghausen) [1945442] - mm/gup: introduce pin_user_pages_unlocked (Chris von Recklinghausen) [1945442] - mm: remove the prot argument from vm_map_ram (Chris von Recklinghausen) [1945442] - mm: remove unmap_vmap_area (Chris von Recklinghausen) [1945442] - mm: don't return the number of pages from map_kernel_range{,_noflush} (Chris von Recklinghausen) [1945442] - x86: fix vmap arguments in map_irq_stack (Chris von Recklinghausen) [1945442] - mm/memory: remove unnecessary pte_devmap case in copy_one_pte() (Chris von Recklinghausen) [1945442] - mm/hmm: remove the customizable pfn format from hmm_range_fault (Chris von Recklinghausen) [1945442] - mm/hmm: remove HMM_PFN_SPECIAL (Chris von Recklinghausen) [1945442] - mm/hmm: make hmm_range_fault return 0 or -1 (Chris von Recklinghausen) [1945442] - mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS (Chris von Recklinghausen) [1945442] - mm/hmm: return error for non-vma snapshots (Chris von Recklinghausen) [1945442] - mm/hmm: do not set pfns when returning an error code (Chris von Recklinghausen) [1945442] - mm/hmm: do not unconditionally set pfns when returning EBUSY (Chris von Recklinghausen) [1945442] - mm/hmm: use device_private_entry_to_pfn() (Chris von Recklinghausen) [1945442] - mm/hmm: remove HMM_FAULT_SNAPSHOT (Chris von Recklinghausen) [1945442] - mm/hmm: remove unused code and tidy comments (Chris von Recklinghausen) [1945442] - mm/hmm: return the fault type from hmm_pte_need_fault() (Chris von Recklinghausen) [1945442] - mm/hmm: remove pgmap checking for devmap pages (Chris von Recklinghausen) [1945442] - mm/hmm: check the device private page owner in hmm_range_fault() (Chris von Recklinghausen) [1945442] - mm: simplify device private page handling in hmm_range_fault (Chris von Recklinghausen) [1945442] - mm: merge hmm_vma_do_fault into into hmm_vma_walk_hole_ (Chris von Recklinghausen) [1945442] - mm/hmm: don't handle the non-fault case in hmm_vma_walk_hole_() (Chris von Recklinghausen) [1945442] - mm/hmm: simplify hmm_vma_walk_hugetlb_entry() (Chris von Recklinghausen) [1945442] - mm/hmm: remove the unused HMM_FAULT_ALLOW_RETRY flag (Chris von Recklinghausen) [1945442] - mm/hmm: don't provide a stub for hmm_range_fault() (Chris von Recklinghausen) [1945442] - mm/hmm: do not check pmd_protnone twice in hmm_vma_handle_pmd() (Chris von Recklinghausen) [1945442] - mm/hmm: return -EFAULT when setting HMM_PFN_ERROR on requested valid pages (Chris von Recklinghausen) [1945442] - mm/hmm: reorganize how !pte_present is handled in hmm_vma_handle_pte() (Chris von Recklinghausen) [1945442] - mm/hmm: add missing call to hmm_range_need_fault() before returning EFAULT (Chris von Recklinghausen) [1945442] - mm/hmm: add missing pfns set to hmm_vma_walk_pmd() (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmap (Chris von Recklinghausen) [1945442] - mm/hmm: make full use of walk_page_range() (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_mirror and related (Chris von Recklinghausen) [1945442] - mm/hmm: define the pre-processor related parts of hmm.h even if disabled (Chris von Recklinghausen) [1945442] - mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirror (Chris von Recklinghausen) [1945442] - mm/hmm: hmm_range_fault() infinite loop (Chris von Recklinghausen) [1945442] - mm/hmm: hmm_range_fault() NULL pointer bug (Chris von Recklinghausen) [1945442] - hmm: use mmu_notifier_get/put for 'struct hmm' (Chris von Recklinghausen) [1945442] - mm/hmm: cleanup the hmm_vma_handle_pmd stub (Chris von Recklinghausen) [1945442] - mm/hmm: only define hmm_vma_walk_pud if needed (Chris von Recklinghausen) [1945442] - mm/hmm: cleanup the hmm_vma_walk_hugetlb_entry stub (Chris von Recklinghausen) [1945442] - mm/hmm: don't abuse pte_index() in hmm_vma_handle_pmd (Chris von Recklinghausen) [1945442] - mm/hmm: comment on VM_FAULT_RETRY semantics in handle_mm_fault (Chris von Recklinghausen) [1945442] - mm/hmm: remove the legacy hmm_pfn_* APIs (Chris von Recklinghausen) [1945442] - mm/hmm: remove the mask variable in hmm_vma_walk_hugetlb_entry (Chris von Recklinghausen) [1945442] - mm/hmm: remove the page_shift member from struct hmm_range (Chris von Recklinghausen) [1945442] - mm/hmm: remove superfluous arguments from hmm_range_register (Chris von Recklinghausen) [1945442] - mm/hmm: remove the unused vma argument to hmm_range_dma_unmap (Chris von Recklinghausen) [1945442] - mm/hmm: remove hmm_range vma (Chris von Recklinghausen) [1945442] - mm/hmm: remove hugetlbfs check in hmm_vma_walk_pmd (Chris von Recklinghausen) [1945442] - mm/hmm: merge hmm_range_snapshot into hmm_range_fault (Chris von Recklinghausen) [1945442] - mm/hmm: replace the block argument to hmm_range_fault with a flags value (Chris von Recklinghausen) [1945442] - mm/large system hash: use vmalloc for size > MAX_ORDER when !hashdist (Chris von Recklinghausen) [1945442] - mm/hmm: update HMM documentation (Chris von Recklinghausen) [1945442] - mm: remove the HMM config option (Chris von Recklinghausen) [1945442] - hugetlbfs: on restore reserve error path retain subpool reservation (Chris von Recklinghausen) [1945442] - mm/vmalloc.c: fix potential memory leak (Chris von Recklinghausen) [1945442] - mm/vmalloc: separate put pages and flush VM flags (Chris von Recklinghausen) [1945442] - zsmalloc: switch from alloc_vm_area to get_vm_area (Chris von Recklinghausen) [1945442] - mm: allow a NULL fn callback in apply_to_page_range (Chris von Recklinghausen) [1945442] - mm: add a vmap_pfn function (Chris von Recklinghausen) [1945442] - mm: add a VM_MAP_PUT_PAGES flag for vmap (Chris von Recklinghausen) [1945442] - mm: update the documentation for vfree (Chris von Recklinghausen) [1945442] - mm, slub: use kmem_cache_debug_flags() in deactivate_slab() (Chris von Recklinghausen) [1945442] - mm, slab, slub: clear the slab_cache field when freeing page (Chris von Recklinghausen) [1945442] - mm: slab: provide krealloc_array() (Chris von Recklinghausen) [1945442] - mm: slab: clarify krealloc()'s behavior with __GFP_ZERO (Chris von Recklinghausen) [1945442] - mm/slab_common.c: use list_for_each_entry in dump_unreclaimable_slab() (Chris von Recklinghausen) [1945442] - mm/slub: make add_full() condition more explicit (Chris von Recklinghausen) [1945442] - mm/slub: fix missing ALLOC_SLOWPATH stat when bulk alloc (Chris von Recklinghausen) [1945442] - mm/slub.c: branch optimization in free slowpath (Chris von Recklinghausen) [1945442] - include/linux/slab.h: fix a typo error in comment (Chris von Recklinghausen) [1945442] - mm/vmalloc.c: fix a warning while make xmldocs (Chris von Recklinghausen) [1945442] - mm/userfaultfd: fix memory corruption due to writeprotect (Chris von Recklinghausen) [1945442] - mm/migrate: fixup setting UFFD_WP flag (Chris von Recklinghausen) [1945442] - mm/rmap: fixup copying of soft dirty and uffd ptes (Chris von Recklinghausen) [1945442] - mm/userfaultfd: disable userfaultfd-wp on x86_32 (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: fix SIGSEGV if huge mmap fails (Chris von Recklinghausen) [1945442] - mm: do not rely on mm == current->mm in __get_user_pages_locked (Chris von Recklinghausen) [1945442] - mm: Introduce mm_struct.has_pinned (Chris von Recklinghausen) [1945442] - mm/gup: might_lock_read(mmap_sem) in get_user_pages_fast() (Chris von Recklinghausen) [1945442] - mm: enforce that vmap can't map pages executable (Chris von Recklinghausen) [1945442] - mm: remove map_vm_range (Chris von Recklinghausen) [1945442] - mm: rename vmap_page_range to map_kernel_range (Chris von Recklinghausen) [1945442] - mm: remove vmap_page_range_noflush and vunmap_page_range (Chris von Recklinghausen) [1945442] - mm: only allow page table mappings for built-in zsmalloc (Chris von Recklinghausen) [1945442] - mm: unexport unmap_kernel_range_noflush (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: add write-protect test (Chris von Recklinghausen) [1945442] - userfaultfd: selftests: refactor statistics (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: fix compiler warning (Chris von Recklinghausen) [1945442] - hugetlbfs: call VM_BUG_ON_PAGE earlier in free_huge_page() (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: recycle lock threads first (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: generalize read and poll (Chris von Recklinghausen) [1945442] - userfaultfd: selftest: cleanup help messages (Chris von Recklinghausen) [1945442] - userfaultfd: wp: declare _UFFDIO_WRITEPROTECT conditionally (Chris von Recklinghausen) [1945442] - userfaultfd: wp: UFFDIO_REGISTER_MODE_WP documentation update (Chris von Recklinghausen) [1945442] - userfaultfd: wp: don't wake up when doing write protect (Chris von Recklinghausen) [1945442] - userfaultfd: wp: enabled write protection in userfaultfd API (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add the writeprotect API to userfaultfd ioctl (Chris von Recklinghausen) [1945442] - userfaultfd: wp: support write protection for userfault vma range (Chris von Recklinghausen) [1945442] - khugepaged: skip collapse if uffd-wp detected (Chris von Recklinghausen) [1945442] - userfaultfd: wp: support swap and page migration (Chris von Recklinghausen) [1945442] - mm/mprotect.c: fix compilation warning because of unused 'mm' variable (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add pmd_swp_*uffd_wp() helpers (Chris von Recklinghausen) [1945442] - userfaultfd: wp: drop _PAGE_UFFD_WP properly when fork (Chris von Recklinghausen) [1945442] - userfaultfd: wp: apply _PAGE_UFFD_WP bit (Chris von Recklinghausen) [1945442] - mm: merge parameters for change_protection() (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add UFFDIO_COPY_MODE_WP (Chris von Recklinghausen) [1945442] - userfaultfd: wp: userfaultfd_pte/huge_pmd_wp() helpers (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add WP pagetable tracking to x86 (Chris von Recklinghausen) [1945442] - userfaultfd: wp: hook userfault handler to write protection fault (Chris von Recklinghausen) [1945442] - userfaultfd: wp: add helper for writeprotect check (Chris von Recklinghausen) [1945442] - userfaultfd: untag user pointers (Chris von Recklinghausen) [1945442] - x86/mm/pat: Fix typo in the Kconfig help text (Chris von Recklinghausen) [1945442] - x86/mm/pat: Clean up externs (Chris von Recklinghausen) [1945442] - x86/mm/pat: Rename => (Chris von Recklinghausen) [1945442] - x86/mm/pat: Standardize on memtype_*() prefix for APIs (Chris von Recklinghausen) [1945442] - x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/ (Chris von Recklinghausen) [1945442] - x86/mm/pat: Clean up PAT initialization flags (Chris von Recklinghausen) [1945442] - x86/mm/pat: Harmonize 'struct memtype *' local variable and function parameter use (Chris von Recklinghausen) [1945442] - x86/mm/pat: Simplify the free_memtype() control flow (Chris von Recklinghausen) [1945442] - x86/mm/pat: Create fixed width output in /sys/kernel/debug/x86/pat_memtype_list, similar to the E820 debug printouts (Chris von Recklinghausen) [1945442] - x86/mm/pat: Disambiguate PAT-disabled boot messages (Chris von Recklinghausen) [1945442] - x86/mm/pat: Update the comments in pat.c and pat_interval.c and refresh the code a bit (Chris von Recklinghausen) [1945442] - x86/mm/pat: Fix off-by-one bugs in interval tree search (Chris von Recklinghausen) [1945442] - x86/mm/pat: Rename pat_rbtree.c to pat_interval.c (Chris von Recklinghausen) [1945442] - x86/mm/pat: Drop the rbt_ prefix from external memtype calls (Chris von Recklinghausen) [1945442] - x86/mm/pat: Do not pass 'rb_root' down the memtype tree helper functions (Chris von Recklinghausen) [1945442] - x86/mm/pat: Convert the PAT tree to a generic interval tree (Chris von Recklinghausen) [1945442] - x86/mm: Tabulate the page table encoding definitions (Chris von Recklinghausen) [1945442] - x86/mm: Remove the unused set_memory_wt() function (Chris von Recklinghausen) [1945442] - x86/mm: Remove set_pages_x() and set_pages_nx() (Chris von Recklinghausen) [1945442] - x86/mm: Remove the unused set_memory_array_*() functions (Chris von Recklinghausen) [1945442] - x86/mm: Unexport set_memory_x() and set_memory_nx() (Chris von Recklinghausen) [1945442] - x86/Kconfig: Fix spelling mistake "effectivness" -> "effectiveness" (Chris von Recklinghausen) [1945442] - x86/mm: Remove unused variable 'old_pte' (Chris von Recklinghausen) [1945442] - Revert "x86/mm/pat: Rename pat_rbtree.c to pat_interval.c" (Chris von Recklinghausen) [1945442] - Revert "x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/" (Chris von Recklinghausen) [1945442] - ipv6: Allow the l3mdev to be a loopback (Antoine Tenart) [1973229] - vrf: do not push non-ND strict packets with a source LLA through packet taps again (Antoine Tenart) [1965600] - vrf: packets with lladdr src needs dst at input with orig_iif when needs strict (Antoine Tenart) [1965600] - ipv6: Fix handling of LLA with VRF and sockets bound to VRF (Antoine Tenart) [1965600] - ipv6: allow ping to link-local address in VRF (Antoine Tenart) [1965600] - vrf: mark skb for multicast or link-local as enslaved to VRF (Antoine Tenart) [1965600] - net: allow traceroute with a specified interface in a vrf (Antoine Tenart) [1965600] - virtchnl: Enable RSS configure for AVF (Ivan Vecera) [1966954] - virtchnl: Advertise virtchnl UDP segmentation offload capability (Ivan Vecera) [1966954] - virtchnl: Allow ignoring opcodes on specific VF (Ivan Vecera) [1966954] - virtchnl: Fix layout of RSS structures (Ivan Vecera) [1966954] - virtchnl: Enable FDIR Configure for AVF (Ivan Vecera) [1966954] - virtchnl: Add missing explicit padding to structures (Ivan Vecera) [1966954] - virtchnl: use u8 type for a field in the virtchnl_filter struct (Ivan Vecera) [1966954] - tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1944685] - tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1944685] - bpf: Add size arg to build_id_parse function (Michael Petlan) [1944685] - bpf: Move stack_map_get_build_id into lib (Michael Petlan) [1944685] - perf map: Fix error return code in maps__clone() (Michael Petlan) [1944685] - perf ftrace: Fix access to pid in array when setting a pid filter (Michael Petlan) [1944685] - perf auxtrace: Fix potential NULL pointer dereference (Michael Petlan) [1944685] - perf data: Fix error return code in perf_data__create_dir() (Michael Petlan) [1944685] - perf arm-spe: Avoid potential buffer overrun (Michael Petlan) [1944685] - perf report: Fix wrong LBR block sorting (Michael Petlan) [1944685] - perf inject: Fix repipe usage (Michael Petlan) [1944685] - perf test: Change to use bash for daemon test (Michael Petlan) [1944685] - perf record: Fix memory leak in vDSO found using ASAN (Michael Petlan) [1944685] - perf test: Remove now useless failing sub test "BPF relocation checker" (Michael Petlan) [1944685] - perf daemon: Return from kill functions (Michael Petlan) [1944685] - perf daemon: Force waipid for all session on SIGCHLD delivery (Michael Petlan) [1944685] - perf top: Fix BPF support related crash with perf_event_paranoid=3 + kptr_restrict (Michael Petlan) [1944685] - perf pmu: Validate raw event with sysfs exported format bits (Michael Petlan) [1944685] - perf synthetic events: Avoid write of uninitialized memory when generating PERF_RECORD_MMAP* records (Michael Petlan) [1944685] - perf synthetic-events: Fix uninitialized 'kernel_thread' variable (Michael Petlan) [1944685] - perf auxtrace: Fix auxtrace queue conflict (Michael Petlan) [1944685] - perf cs-etm: Fix bitmap for option (Michael Petlan) [1944685] - perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches (Michael Petlan) [1944685] - perf report: Fix -F for branch & mem modes (Michael Petlan) [1944685] - perf tests x86: Move insn.h include to make sure it finds stddef.h (Michael Petlan) [1944685] - perf test: Support the ins_lat check in the X86 specific test (Michael Petlan) [1944685] - perf test: Fix sample-parsing failure on non-x86 platforms (Michael Petlan) [1944685] - perf archive: Fix filtering of empty build-ids (Michael Petlan) [1944685] - perf daemon: Fix compile error with Asan (Michael Petlan) [1944685] - perf stat: Fix use-after-free when -r option is used (Michael Petlan) [1944685] - libperf: Add perf_evlist__reset_id_hash() (Michael Petlan) [1944685] - perf stat: Fix wrong skipping for per-die aggregation (Michael Petlan) [1944685] - tools headers UAPI: Update tools' copy of linux/coresight-pmu.h (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in perf_time_to_tsc test (Michael Petlan) [1944685] - perf test: Fix cpu map leaks in cpu_map_print test (Michael Petlan) [1944685] - perf test: Fix a memory leak in thread_map_remove test (Michael Petlan) [1944685] - perf test: Fix a thread map leak in thread_map_synthesize test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in switch_tracking test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in keep_tracking test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in code_reading test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in sw_clock_freq test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in task_exit test (Michael Petlan) [1944685] - perf test: Fix a memory leak in attr test (Michael Petlan) [1944685] - perf test: Fix cpu and thread map leaks in basic mmap test (Michael Petlan) [1944685] - perf tools: Fix event's PMU name parsing (Michael Petlan) [1944685] - perf daemon: Fix running test for non root user (Michael Petlan) [1944685] - perf daemon: Fix control fifo permissions (Michael Petlan) [1944685] - perf build: Fix ccache usage in $(CC) when generating arch errno table (Michael Petlan) [1944685] - perf tools: Fix documentation of verbose options (Michael Petlan) [1944685] - perf traceevent: Ensure read cmdlines are null terminated. (Michael Petlan) [1944685] - perf diff: Don't crash on freeing errno-session on the error path (Michael Petlan) [1944685] - perf tools: Clean 'generated' directory used for creating the syscall table on x86 (Michael Petlan) [1944685] - perf build: Move feature cleanup under tools/build (Michael Petlan) [1944685] - perf tools: Cast (struct timeval).tv_sec when printing (Michael Petlan) [1944685] - perf buildid-cache: Don't skip 16-byte build-ids (Michael Petlan) [1944685] - perf buildid-cache: Add test for 16-byte build-id (Michael Petlan) [1944685] - perf symbol: Remove redundant libbfd checks (Michael Petlan) [1944685] - perf test: Output the sub testing result in cs-etm (Michael Petlan) [1944685] - perf test: Suppress logs in cs-etm testing (Michael Petlan) [1944685] - perf tools: Fix arm64 build error with gcc-11 (Michael Petlan) [1944685] - perf intel-pt: Add documentation for tracing virtual machines (Michael Petlan) [1944685] - perf intel-pt: Split VM-Entry and VM-Exit branches (Michael Petlan) [1944685] - perf intel-pt: Adjust sample flags for VM-Exit (Michael Petlan) [1944685] - perf intel-pt: Allow for a guest kernel address filter (Michael Petlan) [1944685] - perf intel-pt: Support decoding of guest kernel (Michael Petlan) [1944685] - perf machine: Factor out machine__idle_thread() (Michael Petlan) [1944685] - perf machine: Factor out machines__find_guest() (Michael Petlan) [1944685] - perf intel-pt: Amend decoder to track the NR flag (Michael Petlan) [1944685] - perf intel-pt: Retain the last PIP packet payload as is (Michael Petlan) [1944685] - perf intel_pt: Add vmlaunch and vmresume as branches (Michael Petlan) [1944685] - perf script: Add branch types for VM-Entry and VM-Exit (Michael Petlan) [1944685] - perf auxtrace: Automatically group aux-output events (Michael Petlan) [1944685] - perf test: Fix unaligned access in sample parsing test (Michael Petlan) [1944685] - perf tools: Support arch specific PERF_SAMPLE_WEIGHT_STRUCT processing (Michael Petlan) [1944685] - perf intel-pt: Add PSB events (Michael Petlan) [1944685] - perf intel-pt: Fix IPC with CYC threshold (Michael Petlan) [1944685] - perf intel-pt: Fix premature IPC (Michael Petlan) [1944685] - perf intel-pt: Fix missing CYC processing in PSB (Michael Petlan) [1944685] - perf record: Fix continue profiling after draining the buffer (Michael Petlan) [1944685] - perf tools: Simplify the calculation of variables (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mp DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mq DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Add JSON metrics for imx8mn DDR Perf (Michael Petlan) [1944685] - perf vendor events arm64: Fix indentation of brackets in imx8mm metrics (Michael Petlan) [1944685] - perf annotate: Do not jump after 'k' is pressed (Michael Petlan) [1944685] - perf metricgroup: Remove unneeded semicolon (Michael Petlan) [1944685] - perf tools: Add OCaml demangling (Michael Petlan) [1944685] - tools api fs: Cache cgroupfs mount point (Michael Petlan) [1944685] - tools api fs: Diet cgroupfs_find_mountpoint() (Michael Petlan) [1944685] - tools api fs: Prefer cgroup v1 path in cgroupfs_find_mountpoint() (Michael Petlan) [1944685] - perf symbols: Resolve symbols against debug file first (Michael Petlan) [1944685] - perf probe: Fix kretprobe issue caused by GCC bug (Michael Petlan) [1944685] - perf symbols: Fix return value when loading PE DSO (Michael Petlan) [1944685] - perf symbols: Make dso__load_bfd_symbols() load PE files from debug cache only (Michael Petlan) [1944685] - perf symbols: Use (long) for iterator for bfd symbols (Michael Petlan) [1944685] - perf annotate: Fix jump parsing for C++ code. (Michael Petlan) [1944685] - perf arm-spe: Set sample's data source field (Michael Petlan) [1944685] - perf arm-spe: Synthesize memory event (Michael Petlan) [1944685] - perf arm-spe: Fill address info for samples (Michael Petlan) [1944685] - perf arm-spe: Store operation type in packet (Michael Petlan) [1944685] - perf arm-spe: Store memory address in packet (Michael Petlan) [1944685] - perf arm-spe: Enable sample type PERF_SAMPLE_DATA_SRC (Michael Petlan) [1944685] - perf env: Remove unneeded internal/cpumap inclusions (Michael Petlan) [1944685] - perf tools: Remove unused xyarray.c as it was moved to tools/lib/perf (Michael Petlan) [1944685] - perf tools: Replace lkml.org links with lore (Michael Petlan) [1944685] - perf tests: Add daemon 'lock' test (Michael Petlan) [1944685] - perf tests: Add daemon 'ping' command test (Michael Petlan) [1944685] - perf tests: Add daemon 'signal' command test (Michael Petlan) [1944685] - perf tests: Add daemon 'stop' command test (Michael Petlan) [1944685] - perf tests: Add daemon reconfig test (Michael Petlan) [1944685] - perf tests: Add daemon 'list' command test (Michael Petlan) [1944685] - perf daemon: Add examples to man page (Michael Petlan) [1944685] - perf daemon: Add up time for daemon/session list (Michael Petlan) [1944685] - perf daemon: Use control to stop session (Michael Petlan) [1944685] - perf daemon: Add 'ping' command (Michael Petlan) [1944685] - perf daemon: Set control fifo for session (Michael Petlan) [1944685] - perf daemon: Allow only one daemon over base directory (Michael Petlan) [1944685] - perf daemon: Add 'stop' command (Michael Petlan) [1944685] - perf daemon: Add 'signal' command (Michael Petlan) [1944685] - perf daemon: Add 'list' command (Michael Petlan) [1944685] - perf daemon: Add signalfd support (Michael Petlan) [1944685] - perf daemon: Add background support (Michael Petlan) [1944685] - perf daemon: Add config file change check (Michael Petlan) [1944685] - perf daemon: Add config file support (Michael Petlan) [1944685] - perf daemon: Add client socket support (Michael Petlan) [1944685] - perf daemon: Add server socket support (Michael Petlan) [1944685] - perf daemon: Add base option (Michael Petlan) [1944685] - perf daemon: Add config option (Michael Petlan) [1944685] - perf daemon: Add daemon command (Michael Petlan) [1944685] - perf script: Simplify bool conversion (Michael Petlan) [1944685] - perf arm64/s390: Fix printf conversion specifier for IP addresses (Michael Petlan) [1944685] - perf script: Support filtering by hex address (Michael Petlan) [1944685] - perf intlist: Change 'struct intlist' int member to 'unsigned long' (Michael Petlan) [1944685] - perf tools: Update topdown documentation for Sapphire Rapids (Michael Petlan) [1944685] - perf stat: Support L2 Topdown events (Michael Petlan) [1944685] - perf test: Support PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf report: Support instruction latency (Michael Petlan) [1944685] - perf tools: Support PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf c2c: Support data block and addr block (Michael Petlan) [1944685] - perf tools: Support data block and addr block (Michael Petlan) [1944685] - perf tools: Support the auxiliary event (Michael Petlan) [1944685] - perf probe: Add protection to avoid endless loop (Michael Petlan) [1944685] - perf trace-event-info: Rename for_each_event. (Michael Petlan) [1944685] - perf inject jit: Add namespaces support (Michael Petlan) [1944685] - perf namespaces: Add 'in_pidns' to nsinfo struct (Michael Petlan) [1944685] - perf tools: Use scandir() to iterate threads when synthesizing PERF_RECORD_ events (Michael Petlan) [1944685] - perf tools: Skip PERF_RECORD_MMAP event synthesis for kernel threads (Michael Petlan) [1944685] - perf tools: Use /proc//task//status for PERF_RECORD_ event synthesis (Michael Petlan) [1944685] - perf vendor events arm64: Reference common and uarch events for A76 (Michael Petlan) [1944685] - perf vendor events arm64: Reference common and uarch events for Ampere eMag (Michael Petlan) [1944685] - perf vendor events arm64: Add common and uarch event JSON (Michael Petlan) [1944685] - perf vendor events arm64: Fix Ampere eMag event typo (Michael Petlan) [1944685] - perf script: Support DSO filter like in other perf tools (Michael Petlan) [1944685] - perf tools: Fix DSO filtering when not finding a map for a sampled address (Michael Petlan) [1944685] - perf stat: Add Topdown metrics events as default events (Michael Petlan) [1944685] - perf test: Add parse-metric memory bandwidth testcase (Michael Petlan) [1944685] - perf tools: Add 'ping' control command (Michael Petlan) [1944685] - perf tools: Add 'stop' control command (Michael Petlan) [1944685] - perf config: Make perf_config_global() global (Michael Petlan) [1944685] - perf config: Make perf_config_system() global (Michael Petlan) [1944685] - perf config: Add perf_home_perfconfig function (Michael Petlan) [1944685] - perf debug: Add debug_set_display_time function (Michael Petlan) [1944685] - perf config: Add config set interface (Michael Petlan) [1944685] - perf config: Make perf_config_from_file() static (Michael Petlan) [1944685] - perf test: Add test case for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf report: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf script: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf record: Add support for PERF_SAMPLE_CODE_PAGE_SIZE (Michael Petlan) [1944685] - perf mem: Support data page size (Michael Petlan) [1944685] - perf mem: Clean up output format (Michael Petlan) [1944685] - perf cs-etm: Update ARM's CoreSight hardware tracing OpenCSD library to v1.0.0 (Michael Petlan) [1944685] - perf c2c: Add local variables for output metrics (Michael Petlan) [1944685] - perf c2c: Refactor node display (Michael Petlan) [1944685] - perf c2c: Fix argument type for percent() (Michael Petlan) [1944685] - perf c2c: Refactor display filter (Michael Petlan) [1944685] - perf c2c: Refactor hist entry validation (Michael Petlan) [1944685] - perf c2c: Rename for shared cache line stats (Michael Petlan) [1944685] - perf stat: Enable counting events for BPF programs (Michael Petlan) [1944685] - perf build: Support build BPF skeletons with perf (Michael Petlan) [1944685] - perf record: Tweak "Lowering..." warning in record_opts__config_freq (Michael Petlan) [1944685] - perf buildid-list: Add support for mmap2's buildid events (Michael Petlan) [1944685] - perf buildid-cache: Add --debuginfod option to specify a server to fetch debug files (Michael Petlan) [1944685] - perf tools: Add support to display build ids when available in PERF_RECORD_MMAP2 events (Michael Petlan) [1944685] - perf record: Add --buildid-mmap option to enable PERF_RECORD_MMAP2's build id (Michael Petlan) [1944685] - perf tools: Allow synthesizing the build id for kernel/modules/tasks in PERF_RECORD_MMAP2 (Michael Petlan) [1944685] - perf tools: Allow using PERF_RECORD_MMAP2 to synthesize the kernel modules maps (Michael Petlan) [1944685] - perf tools: Allow using PERF_RECORD_MMAP2 to synthesize the kernel map (Michael Petlan) [1944685] - perf tools: Store build id when available in PERF_RECORD_MMAP2 metadata events (Michael Petlan) [1944685] - perf tools: Do not swap mmap2 fields in case it contains build id (Michael Petlan) [1944685] - perf arm64: Add argument support for SDT (Michael Petlan) [1944685] - perf probe: Fixup Arm64 SDT arguments (Michael Petlan) [1944685] - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[] (Michael Petlan) [1944685] - perf/x86/intel: Fix unchecked MSR access error caused by VLBR_EVENT (Michael Petlan) [1944685] - perf/x86/intel: Fix a crash caused by zero PEBS status (Michael Petlan) [1944685] - perf/x86/intel: Set PERF_ATTACH_SCHED_CB for large PEBS and LBR (Michael Petlan) [1944685] - perf/core: Flush PMU internal buffers for per-CPU events (Michael Petlan) [1944685] - perf/x86/rapl: Fix psys-energy event on Intel SPR platform (Michael Petlan) [1944685] - perf/x86/rapl: Only check lower 32bits for RAPL energy counters (Michael Petlan) [1944685] - perf/x86/rapl: Add msr mask support (Michael Petlan) [1944685] - perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] (Michael Petlan) [1944685] - perf/x86/intel: Support CPUID 10.ECX to disable fixed counters (Michael Petlan) [1944685] - perf/x86/intel: Add perf core PMU support for Sapphire Rapids (Michael Petlan) [1944685] - perf/x86/intel: Filter unsupported Topdown metrics event (Michael Petlan) [1944685] - perf/x86/intel: Factor out intel_update_topdown_event() (Michael Petlan) [1944685] - perf/core: Add PERF_SAMPLE_WEIGHT_STRUCT (Michael Petlan) [1944685] - perf/intel: Remove Perfmon-v4 counter_freezing support (Michael Petlan) [1944685] - perf: Add build id data in mmap2 event (Michael Petlan) [1944685] - bpf: Remove atomics tests from test_progs (Jiri Olsa) [1874007] - libbpf: Fixes incorrect rx_ring_setup_done (Jiri Olsa) [1874007] - error-injection: Consolidate override function definition (Jiri Olsa) [1874007] - selftests/bpf: Fix endianness issues in atomic tests (Jiri Olsa) [1874007] - bpf: Fix a spelling typo in bpf_atomic_alu_string disasm (Jiri Olsa) [1874007] - bpf, x86: Fix BPF_FETCH atomic and/or/xor with r0 as src (Jiri Olsa) [1874007] - bpf: Explicitly zero-extend R0 after 32-bit cmpxchg (Jiri Olsa) [1874007] - bpf: Account for BPF_FETCH in insn_has_def32() (Jiri Olsa) [1874007] - bpf: Fix subreg optimization for BPF_FETCH (Jiri Olsa) [1874007] - bpf: Fix the irq and nmi check in bpf_sk_storage for tracing usage (Jiri Olsa) [1874007] - selftests/bpf: Fix a compiler warning in local_storage test (Jiri Olsa) [1874007] - bpf: Change 'BPF_ADD' to 'BPF_AND' in print_bpf_insn() (Jiri Olsa) [1874007] - selftests/bpf: Don't exit on failed bpf_testmod unload (Jiri Olsa) [1874007] - bpf: Avoid old-style declaration warnings (Jiri Olsa) [1874007] - bpf: Dont allow vmlinux BTF to be used in map_create and prog_load. (Jiri Olsa) [1874007] - tools: Factor Clang, LLC and LLVM utils definitions (Jiri Olsa) [1874007] - tools/runqslower: Build bpftool using HOSTCC (Jiri Olsa) [1874007] - tools/runqslower: Enable out-of-tree build (Jiri Olsa) [1874007] - tools/runqslower: Use Makefile.include (Jiri Olsa) [1874007] - bpf: Expose bpf_sk_storage_* to iterator programs (Jiri Olsa) [1874007] - tools/resolve_btfids: Warn when having multiple IDs for single type (Jiri Olsa) [1874007] - tools/resolve_btfids: Fix some error messages (Jiri Olsa) [1874007] - samples/bpf: Add BPF_ATOMIC_OP macro for BPF samples (Jiri Olsa) [1874007] - samples/bpf: Fix possible hang in xdpsock with multiple threads (Jiri Olsa) [1874007] - bpf: samples: Do not touch RLIMIT_MEMLOCK (Jiri Olsa) [1874007] - samples/bpf: Use recvfrom() in xdpsock/l2fwd (Jiri Olsa) [1874007] - samples/bpf: Use recvfrom() in xdpsock/rxdrop (Jiri Olsa) [1874007] - samples: bpf: Remove bpf_load loader completely (Jiri Olsa) [1874007] - samples: bpf: Fix lwt_len_hist reusing previous BPF map (Jiri Olsa) [1874007] - samples: bpf: Refactor test_overhead program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor task_fd_query program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor test_cgrp2_sock2 program with libbpf (Jiri Olsa) [1874007] - samples: bpf: Refactor hbm program with libbpf (Jiri Olsa) [1874007] - samples/bpf: Increment Tx stats at sending (Jiri Olsa) [1874007] - samples/bpf: Remove unused test_ipip.sh (Jiri Olsa) [1874007] - samples/bpf: Remove duplicate include in hbm (Jiri Olsa) [1874007] - bpftool: Fix compilation failure for net.o with older glibc (Jiri Olsa) [1874007] - tools/bpftool: Auto-detect split BTFs in common cases (Jiri Olsa) [1874007] - tools/bpftool: Emit name for anonymous BTFs (Jiri Olsa) [1874007] - bpftool: Add {i,d}tlb_misses support for bpftool profile (Jiri Olsa) [1874007] - tools/bpf: Always run the *-clean recipes (Jiri Olsa) [1874007] - tools/bpf: Add bootstrap/ to .gitignore (Jiri Olsa) [1874007] - tools/bpftool: Fix cross-build (Jiri Olsa) [1874007] - tools/bpftool: Force clean of out-of-tree build (Jiri Olsa) [1874007] - tools/bpftool: Add support for in-kernel and named BTF in `btf show` (Jiri Olsa) [1874007] - bpftool: Add support for task local storage (Jiri Olsa) [1874007] - tools/bpftool: Add bpftool support for split BTF (Jiri Olsa) [1874007] - bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3 (Jiri Olsa) [1874007] - bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() (Jiri Olsa) [1874007] - bpf: Expose bpf_d_path helper to sleepable LSM hooks (Jiri Olsa) [1874007] - bpf: Allow using bpf_sk_storage in FENTRY/FEXIT/RAW_TP (Jiri Olsa) [1874007] - selftests/bpf: Add remaining ASSERT_xxx() variants (Jiri Olsa) [1874007] - libbpf: Fix potential NULL pointer dereference (Jiri Olsa) [1874007] - libbpf: Only create rx and tx XDP rings when necessary (Jiri Olsa) [1874007] - libbpf: Ensure umem pointer is non-NULL before dereferencing (Jiri Olsa) [1874007] - libbpf: Restore umem state after socket create failure (Jiri Olsa) [1874007] - selftests/bpf: Fix core_reloc test runner (Jiri Olsa) [1874007] - bpf: Fix umd memory leak in copy_process() (Jiri Olsa) [1874007] - libbpf: Fix error path in bpf_object__elf_init() (Jiri Olsa) [1874007] - bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF (Jiri Olsa) [1874007] - bpf: Prohibit alu ops for pointer types not defining ptr_limit (Jiri Olsa) [1874007] - selftests/bpf: Use the last page in test_snprintf_btf on s390 (Jiri Olsa) [1874007] - bpf: Be less specific about socket cookies guarantees (Jiri Olsa) [1874007] - bpf: Fix 32 bit src register truncation on div/mod (Jiri Olsa) [1874007] - bpf: Fix verifier jmp32 pruning decision logic (Jiri Olsa) [1874007] - bpf: Fix verifier jsgt branch analysis on max bound (Jiri Olsa) [1874007] - bpf: Check for integer overflow when using roundup_pow_of_two() (Jiri Olsa) [1874007] - bpf, preload: Fix build when $(O) points to a relative path (Jiri Olsa) [1874007] - bpf: Drop disabled LSM hooks from the sleepable set (Jiri Olsa) [1874007] - bpf, cgroup: Fix problematic bounds check (Jiri Olsa) [1874007] - bpf, cgroup: Fix optlen WARN_ON_ONCE toctou (Jiri Olsa) [1874007] - bpf: Fix signed_{sub,add32}_overflows type handling (Jiri Olsa) [1874007] - bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback (Jiri Olsa) [1874007] - selftests/bpf: Add verifier test for PTR_TO_MEM spill (Jiri Olsa) [1874007] - bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling (Jiri Olsa) [1874007] - libbpf: Allow loading empty BTFs (Jiri Olsa) [1874007] - bpf: Allow empty module BTFs (Jiri Olsa) [1874007] - bpf: Don't leak memory in bpf getsockopt when optlen == 0 (Jiri Olsa) [1874007] - bpf: Update local storage test to check handling of null ptrs (Jiri Olsa) [1874007] - bpf: Fix typo in bpf_inode_storage.c (Jiri Olsa) [1874007] - bpf: Add size arg to build_id_parse function (Jiri Olsa) [1874007] - bpf: Move stack_map_get_build_id into lib (Jiri Olsa) [1874007] - bpf: Add tests for new BPF atomic operations (Jiri Olsa) [1874007] - bpf: Add bitwise atomic instructions (Jiri Olsa) [1874007] - bpf: Pull out a macro for interpreting atomic ALU operations (Jiri Olsa) [1874007] - bpf: Add instructions for atomic_[cmp]xchg (Jiri Olsa) [1874007] - bpf: Add BPF_FETCH field / create atomic_fetch_add instruction (Jiri Olsa) [1874007] - bpf: Move BPF_STX reserved field check into BPF_STX verifier code (Jiri Olsa) [1874007] - bpf: Rename BPF_XADD and prepare to encode other atomics in .imm (Jiri Olsa) [1874007] - bpf: x86: Factor out a lookup table for some ALU opcodes (Jiri Olsa) [1874007] - bpf: x86: Factor out emission of REX byte (Jiri Olsa) [1874007] - bpf: x86: Factor out emission of ModR/M for *(reg + off) (Jiri Olsa) [1874007] - bpf, libbpf: Avoid unused function warning on bpf_tail_call_static (Jiri Olsa) [1874007] - selftests/bpf: Install btf_dump test cases (Jiri Olsa) [1874007] - selftests/bpf: Fix installation of urandom_read (Jiri Olsa) [1874007] - selftests/bpf: Move generated test files to $(TEST_GEN_FILES) (Jiri Olsa) [1874007] - selftests/bpf: Fix out-of-tree build (Jiri Olsa) [1874007] - selftests/bpf: Enable cross-building (Jiri Olsa) [1874007] - selftests/bpf: Test kernel module ksym externs (Jiri Olsa) [1874007] - libbpf: Support kernel module ksym externs (Jiri Olsa) [1874007] - bpf: Support BPF ksym variables in kernel modules (Jiri Olsa) [1874007] - selftests/bpf: Sync RCU before unloading bpf_testmod (Jiri Olsa) [1874007] - bpf: Fix a verifier message for alloc size helper arg (Jiri Olsa) [1874007] - bpf: Clarify return value of probe str helpers (Jiri Olsa) [1874007] - libbpf: Clarify kernel type use with USER variants of CORE reading macros (Jiri Olsa) [1874007] - selftests/bpf: Remove duplicate include in test_lsm (Jiri Olsa) [1874007] - bpf: Remove unnecessary include from preload/iterators (Jiri Olsa) [1874007] - selftests/bpf: Add tests for user- and non-CO-RE BPF_CORE_READ() variants (Jiri Olsa) [1874007] - libbpf: Add non-CO-RE variants of BPF_CORE_READ() macro family (Jiri Olsa) [1874007] - selftests/bpf: Fix a compile error for BPF_F_BPRM_SECUREEXEC (Jiri Olsa) [1874007] - bpf: Use thread_group_leader() (Jiri Olsa) [1874007] - bpf: Save correct stopping point in file seq iteration (Jiri Olsa) [1874007] - selftests/bpf: Work-around EBUSY errors from hashmap update/delete (Jiri Olsa) [1874007] - bpf: Add schedule point in htab_init_buckets() (Jiri Olsa) [1874007] - bpf: Remove unused including (Jiri Olsa) [1874007] - selftests/bpf: Fix spelling mistake "tranmission" -> "transmission" (Jiri Olsa) [1874007] - selftests/bpf: Clarify build error if no vmlinux (Jiri Olsa) [1874007] - tweewide: Fix most Shebang lines (Jiri Olsa) [1874007] - bpf: In bpf_task_fd_query use fget_task (Jiri Olsa) [1874007] - selftests/bpf: Add a test for ptr_to_map_value on stack for helper access (Jiri Olsa) [1874007] - bpf: Permits pointers on stack for helper calls (Jiri Olsa) [1874007] - libbpf: Expose libbpf ring_buffer epoll_fd (Jiri Olsa) [1874007] - selftests/bpf: Add set_attach_target() API selftest for module target (Jiri Olsa) [1874007] - libbpf: Support modules in bpf_program__set_attach_target() API (Jiri Olsa) [1874007] - selftests/bpf: Silence ima_setup.sh when not running in verbose mode. (Jiri Olsa) [1874007] - selftests/bpf: Drop the need for LLVM's llc (Jiri Olsa) [1874007] - selftests/bpf: fix bpf_testmod.ko recompilation logic (Jiri Olsa) [1874007] - selftests/bpf: Make selftest compilation work on clang 11 (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - adding xdpxceiver to .gitignore (Jiri Olsa) [1874007] - selftests/bpf: Drop tcp-{client,server}.py from Makefile (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - Bi-directional Sockets - SKB, DRV (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - Socket Teardown - SKB, DRV (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - DRV POLL, NOPOLL (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests - SKB POLL, NOPOLL (Jiri Olsa) [1874007] - selftests/bpf: Xsk selftests framework (Jiri Olsa) [1874007] - bpf: Return -ENOTSUPP when attaching to non-kernel BTF (Jiri Olsa) [1874007] - bpf: Propagate __user annotations properly (Jiri Olsa) [1874007] - bpf: Avoid overflows involving hash elem_size (Jiri Olsa) [1874007] - selftests/bpf: Test bpf_sk_storage_get in tcp iterators (Jiri Olsa) [1874007] - selftests/bpf: Add an iterator selftest for bpf_sk_storage_get (Jiri Olsa) [1874007] - selftests/bpf: Add an iterator selftest for bpf_sk_storage_delete (Jiri Olsa) [1874007] - bpf: Add a bpf_sock_from_file helper (Jiri Olsa) [1874007] - selftests/bpf: Avoid errno clobbering (Jiri Olsa) [1874007] - selftests/bpf: Print reason when a tester could not run a program (Jiri Olsa) [1874007] - selftests/bpf: Fix invalid use of strncat in test_sockmap (Jiri Olsa) [1874007] - libbpf: Use memcpy instead of strncpy to please GCC (Jiri Olsa) [1874007] - selftests/bpf: Add fentry/fexit/fmod_ret selftest for kernel module (Jiri Olsa) [1874007] - selftests/bpf: Add tp_btf CO-RE reloc test for modules (Jiri Olsa) [1874007] - libbpf: Support attachment of BPF tracing programs to kernel modules (Jiri Olsa) [1874007] - libbpf: Factor out low-level BPF program loading helper (Jiri Olsa) [1874007] - bpf: Allow to specify kernel module BTFs when attaching BPF programs (Jiri Olsa) [1874007] - bpf: Remove hard-coded btf_vmlinux assumption from BPF verifier (Jiri Olsa) [1874007] - selftests/bpf: Add CO-RE relocs selftest relying on kernel module BTF (Jiri Olsa) [1874007] - selftests/bpf: Add support for marking sub-tests as skipped (Jiri Olsa) [1874007] - selftests/bpf: Add bpf_testmod kernel module for testing (Jiri Olsa) [1874007] - libbpf: Add kernel module BTF support for CO-RE relocations (Jiri Olsa) [1874007] - libbpf: Refactor CO-RE relocs to not assume a single BTF object (Jiri Olsa) [1874007] - libbpf: Add internal helper to load BTF data by FD (Jiri Olsa) [1874007] - selftests/bpf: Add Userspace tests for TCP_WINDOW_CLAMP (Jiri Olsa) [1874007] - bpf: Fix cold build of test_progs-no_alu32 (Jiri Olsa) [1874007] - libbpf: Cap retries in sys_bpf_prog_load (Jiri Olsa) [1874007] - libbpf: Sanitise map names before pinning (Jiri Olsa) [1874007] - libbpf: Fail early when loading programs with unspecified type (Jiri Olsa) [1874007] - selftests/bpf: Indent ima_setup.sh with tabs. (Jiri Olsa) [1874007] - selftests/bpf: Add config dependency on BLK_DEV_LOOP (Jiri Olsa) [1874007] - selftests/bpf: Ensure securityfs mount before writing ima policy (Jiri Olsa) [1874007] - selftests/bpf: Update ima_setup.sh for busybox (Jiri Olsa) [1874007] - libbpf: Separate XDP program load with xsk socket creation (Jiri Olsa) [1874007] - selftests/bpf: Copy file using read/write in local storage test (Jiri Olsa) [1874007] - libbpf: Add base BTF accessor (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf progs (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf local storage maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for stackmap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf ringbuffer (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for reuseport_array maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for queue_stack_maps maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for lpm_trie maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for hashtab maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for devmap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for cgroup storage maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for cpumap maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for bpf_struct_ops maps (Jiri Olsa) [1874007] - bpf: Eliminate rlimit-based memory accounting for arraymap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf local storage maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf ringbuffer (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for lpm_trie maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for hashtab maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for devmap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for cgroup storage maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for cpumap maps (Jiri Olsa) [1874007] - bpf: Refine memcg-based memory accounting for arraymap maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf maps (Jiri Olsa) [1874007] - bpf: Prepare for memcg-based memory accounting for bpf maps (Jiri Olsa) [1874007] - bpf: Memcg-based memory accounting for bpf progs (Jiri Olsa) [1874007] - selftests/bpf: Extend bind{4,6} programs with a call to bpf_setsockopt (Jiri Olsa) [1874007] - selftests/bpf: Rewrite test_sock_addr bind bpf into C (Jiri Olsa) [1874007] - selftests/bpf: Fix flavored variants of test_ima (Jiri Olsa) [1874007] - libbpf: Replace size_t with __u32 in xsk interfaces (Jiri Olsa) [1874007] - bpf: Add a selftest for bpf_ima_inode_hash (Jiri Olsa) [1874007] - bpf: Add a BPF helper for getting the IMA hash of an inode (Jiri Olsa) [1874007] - libbpf: Add support for canceling cached_cons advance (Jiri Olsa) [1874007] - bpf: Refactor check_cfg to use a structured loop. (Jiri Olsa) [1874007] - selftest/bpf: Fix rst formatting in readme (Jiri Olsa) [1874007] - selftest/bpf: Fix link in readme (Jiri Olsa) [1874007] - bpf: Simplify task_file_seq_get_next() (Jiri Olsa) [1874007] - selftests/bpf: Mark tests that require unaligned memory access (Jiri Olsa) [1874007] - selftests/bpf: Avoid running unprivileged tests with alignment requirements (Jiri Olsa) [1874007] - selftests/bpf: Fix broken riscv build (Jiri Olsa) [1874007] - bpf: Add bpf_ktime_get_coarse_ns helper (Jiri Olsa) [1874007] - bpf: Add tests for bpf_bprm_opts_set helper (Jiri Olsa) [1874007] - bpf: Add bpf_bprm_opts_set helper (Jiri Olsa) [1874007] - libbpf: bpf__find_by_name[_kind] should use btf__get_nr_types() (Jiri Olsa) [1874007] - selftest/bpf: Fix IPV6FR handling in flow dissector (Jiri Olsa) [1874007] - bpf: Augment the set of sleepable LSM hooks (Jiri Olsa) [1874007] - bpf: selftest: Use bpf_sk_storage in FENTRY/FEXIT/RAW_TP (Jiri Olsa) [1874007] - selftests/bpf: Add asm tests for pkt vs pkt_end comparison. (Jiri Olsa) [1874007] - selftests/bpf: Add skb_pkt_end test (Jiri Olsa) [1874007] - bpf: Support for pointers beyond pkt_end. (Jiri Olsa) [1874007] - bpf: Compile out btf_parse_module() if module BTF is not enabled (Jiri Olsa) [1874007] - selftest/bpf: Add missed ip6ip6 test back (Jiri Olsa) [1874007] - bpf: Keep module's btf_data_size intact after load (Jiri Olsa) [1874007] - bpf: Sanitize BTF data pointer after module is loaded (Jiri Olsa) [1874007] - bpf: Load and verify kernel module BTFs (Jiri Olsa) [1874007] - bpf: Assign ID to vmlinux BTF and return extra info for BTF in GET_OBJ_INFO (Jiri Olsa) [1874007] - bpf: Add in-kernel split BTF support (Jiri Olsa) [1874007] - bpf, btf: Remove the duplicate btf_ids.h include (Jiri Olsa) [1874007] - selftests/bpf: Fix selftest build with old libc (Jiri Olsa) [1874007] - bpf: Exercise syscall operations for inode and sk storage (Jiri Olsa) [1874007] - bpf: Add tests for task_local_storage (Jiri Olsa) [1874007] - bpf: Update selftests for local_storage to use vmlinux.h (Jiri Olsa) [1874007] - bpf: Implement get_current_task_btf and RET_PTR_TO_BTF_ID (Jiri Olsa) [1874007] - libbpf: Add support for task local storage (Jiri Olsa) [1874007] - bpf: Implement task local storage (Jiri Olsa) [1874007] - bpf: Allow LSM programs to use bpf spin locks (Jiri Olsa) [1874007] - bpf: Lift hashtab key_size limit (Jiri Olsa) [1874007] - selftests/bpf: Add split BTF dedup selftests (Jiri Olsa) [1874007] - libbpf: Accomodate DWARF/compiler bug with duplicated identical arrays (Jiri Olsa) [1874007] - libbpf: Support BTF dedup of split BTFs (Jiri Olsa) [1874007] - libbpf: Fix BTF data layout checks and allow empty BTF (Jiri Olsa) [1874007] - selftests/bpf: Add checking of raw type dump in BTF writer APIs selftests (Jiri Olsa) [1874007] - selftests/bpf: Add split BTF basic test (Jiri Olsa) [1874007] - libbpf: Implement basic split BTF support (Jiri Olsa) [1874007] - libbpf: Unify and speed up BTF string deduplication (Jiri Olsa) [1874007] - selftest/bpf: Relax btf_dedup test checks (Jiri Olsa) [1874007] - libbpf: Factor out common operations in BTF writing APIs (Jiri Olsa) [1874007] - selftest/bpf: Use global variables instead of maps for test_tcpbpf_kern (Jiri Olsa) [1874007] - selftests/bpf: Migrate tcpbpf_user.c to use BPF skeleton (Jiri Olsa) [1874007] - selftests/bpf: Replace EXPECT_EQ with ASSERT_EQ and refactor verify_results (Jiri Olsa) [1874007] - selftests/bpf: Drop python client/server in favor of threads (Jiri Olsa) [1874007] - selftests/bpf: Move test_tcppbf_user into test_progs (Jiri Olsa) [1874007] - bpf: Fix error path in htab_map_alloc() (Jiri Olsa) [1874007] - bpf: Avoid hashtab deadlock with map_locked (Jiri Olsa) [1874007] - bpf: Use separate lockdep class for each hashtab (Jiri Olsa) [1874007] - fault-injection: handle EI_ETYPE_TRUE (Jiri Olsa) [1874007] - vfs, fdtable: Add fget_task helper (Jiri Olsa) [1874007] - [s390] vfio-pci/zdev: Add zPCI capabilities to VFIO_DEVICE_GET_INFO (Claudio Imbrenda) [1858844] - [s390] vfio: Introduce capability definitions for VFIO_DEVICE_GET_INFO (Claudio Imbrenda) [1858844] - [s390] s390/pci: track whether util_str is valid in the zpci_dev (Claudio Imbrenda) [1858844] - [s390] s390/pci: stash version in the zpci_dev (Claudio Imbrenda) [1858844]- Enable CRYPTO_SHA512 and _SSSE3 so these are available in FIPS mode (Vladis Dronov) [1973106] - crypto: drbg - self test for HMAC(SHA-512) (Vladis Dronov) [1973106] - xfrm: xfrm_state_mtu should return at least 1280 for ipv6 (Sabrina Dubroca) [1919786] - xfrm: remove get_mtu indirection from xfrm_type (Sabrina Dubroca) [1919786] - netfilter: move endif to correct location (Florian Westphal) [1971991] - netfilter: nft_compat: remove flush counter optimization (Florian Westphal) [1974323] - mptcp: fix soft lookup in subflow_error_report() (Florian Westphal) [1936368] - selftests: mptcp: enable syncookie only in absence of reorders (Florian Westphal) [1936368] - mptcp: do not warn on bad input from the network (Florian Westphal) [1936368] - mptcp: wake-up readers only for in sequence data (Florian Westphal) [1936368] - mptcp: try harder to borrow memory from subflow under pressure (Florian Westphal) [1936368] - mptcp: Fix out of bounds when parsing TCP options (Florian Westphal) [1936368] - selftests: mptcp_connect: add SO_TIMESTAMPNS cmsg support (Florian Westphal) [1936368] - mptcp: receive path cmsg support (Florian Westphal) [1936368] - tcp: export timestamp helpers for mptcp (Florian Westphal) [1936368] - mptcp: setsockopt: handle SOL_SOCKET in one place only (Florian Westphal) [1936368] - mptcp: sockopt: propagate timestamp request to subflows (Florian Westphal) [1936368] - sock: expose so_timestamping options for mptcp (Florian Westphal) [1936368] - mptcp: restrict values of 'enabled' sysctl (Florian Westphal) [1936368] - mptcp: support SYSCTL only if enabled (Florian Westphal) [1936368] - mptcp: make sure flag signal is set when add addr with port (Florian Westphal) [1936368] - mptcp: remove redundant initialization in pm_nl_init_net() (Florian Westphal) [1936368] - mptcp: generate subflow hmac after mptcp_finish_join() (Florian Westphal) [1936368] - mptcp: using TOKEN_MAX_RETRIES instead of magic number (Florian Westphal) [1936368] - mptcp: fix pr_debug in mptcp_token_new_connect (Florian Westphal) [1936368] - mptcp: update selftest for fallback due to OoO (Florian Westphal) [1936368] - mptcp: do not reset MP_CAPABLE subflow on mapping errors (Florian Westphal) [1936368] - mptcp: always parse mptcp options for MPC reqsk (Florian Westphal) [1936368] - mptcp: fix sk_forward_memory corruption on retransmission (Florian Westphal) [1936368] - mptcp: validate 'id' when stopping the ADD_ADDR retransmit timer (Florian Westphal) [1936368] - mptcp: avoid error message on infinite mapping (Florian Westphal) [1936368] - mptcp: drop unconditional pr_warn on bad opt (Florian Westphal) [1936368] - mptcp: avoid OOB access in setsockopt() (Florian Westphal) [1936368] - mptcp: fix data stream corruption (Florian Westphal) [1936368] - mptcp: fix splat when closing unaccepted socket (Florian Westphal) [1936368] - selftests: mptcp: add a test case for MSG_PEEK (Florian Westphal) [1936368] - mptcp: add MSG_PEEK support (Florian Westphal) [1936368] - mptcp: ignore unsupported msg flags (Florian Westphal) [1936368] - mptcp: implement MSG_TRUNC support (Florian Westphal) [1936368] - mptcp: implement dummy MSG_ERRQUEUE support (Florian Westphal) [1936368] - mptcp: Retransmit DATA_FIN (Florian Westphal) [1936368] - selftests: mptcp: add packet mark test case (Florian Westphal) [1936368] - selftests: mptcp: add the net device name testcase (Florian Westphal) [1936368] - selftests: mptcp: dump more info on mpjoin errors (Florian Westphal) [1936368] - selftests: mptcp: init nstat history (Florian Westphal) [1936368] - selftests: mptcp: launch mptcp_connect with timeout (Florian Westphal) [1936368] - selftests: mptcp: remove id 0 address testcases (Florian Westphal) [1936368] - selftests: mptcp: add addr argument for del_addr (Florian Westphal) [1936368] - selftests: mptcp: avoid calling pm_nl_ctl with bad IDs (Florian Westphal) [1936368] - selftests: mptcp: signal addresses testcases (Florian Westphal) [1936368] - selftests: mptcp: timeout testcases for multi addresses (Florian Westphal) [1936368] - selftests: mptcp: add cfg_do_w for cfg_remove (Florian Westphal) [1936368] - selftests: mptcp: Restore packet capture option in join tests (Florian Westphal) [1936368] - selftests: mptcp: add testcases for removing addrs (Florian Westphal) [1936368] - selftests: mptcp: set addr id for removing testcases (Florian Westphal) [1936368] - selftests: mptcp: add invert argument for chk_rm_nr (Florian Westphal) [1936368] - selftests: mptcp: fail if not enough SYN/3rd ACK (Florian Westphal) [1936368] - selftests: mptcp: display warnings on one line (Florian Westphal) [1936368] - selftests: mptcp: fix ACKRX debug message (Florian Westphal) [1936368] - selftests: mptcp: dump more info on errors (Florian Westphal) [1936368] - selftests: mptcp: add command line arguments for mptcp_join.sh (Florian Westphal) [1936368] - selftests: mptcp: add testcases for ADD_ADDR with port (Florian Westphal) [1936368] - selftests: mptcp: add port argument for pm_nl_ctl (Florian Westphal) [1936368] - selftests: mptcp: add testcases for newly added addresses (Florian Westphal) [1936368] - selftests: mptcp: use minus values for removing address numbers (Florian Westphal) [1936368] - selftests: increase timeout to 10 min (Florian Westphal) [1936368] - selftests: mptcp: add IPv4-mapped IPv6 testcases (Florian Westphal) [1936368] - mptcp: use mptcp_for_each_subflow in mptcp_close (Florian Westphal) [1936368] - mptcp: add tracepoint in subflow_check_data_avail (Florian Westphal) [1936368] - mptcp: add tracepoint in ack_update_msk (Florian Westphal) [1936368] - mptcp: add tracepoint in get_mapping_status (Florian Westphal) [1936368] - mptcp: add tracepoint in mptcp_subflow_get_send (Florian Westphal) [1936368] - mptcp: export mptcp_subflow_active (Florian Westphal) [1936368] - mptcp: fix format specifiers for unsigned int (Florian Westphal) [1936368] - mptcp: sockopt: add TCP_CONGESTION and TCP_INFO (Florian Westphal) [1936368] - mptcp: setsockopt: SO_DEBUG and no-op options (Florian Westphal) [1936368] - mptcp: setsockopt: add SO_INCOMING_CPU (Florian Westphal) [1936368] - mptcp: setsockopt: add SO_MARK support (Florian Westphal) [1936368] - mptcp: setsockopt: support SO_LINGER (Florian Westphal) [1936368] - mptcp: setsockopt: handle receive/send buffer and device bind (Florian Westphal) [1936368] - mptcp: setsockopt: handle SO_KEEPALIVE and SO_PRIORITY (Florian Westphal) [1936368] - mptcp: tag sequence_seq with socket state (Florian Westphal) [1936368] - mptcp: add skeleton to sync msk socket options to subflows (Florian Westphal) [1936368] - mptcp: only admit explicitly supported sockopt (Florian Westphal) [1936368] - mptcp: move sockopt function into a new file (Florian Westphal) [1936368] - mptcp: drop all sub-options except ADD_ADDR when the echo bit is set (Florian Westphal) [1936368] - mptcp: unify add_addr(6)_generate_hmac (Florian Westphal) [1936368] - mptcp: drop MPTCP_ADDR_IPVERSION_4/6 (Florian Westphal) [1936368] - mptcp: use mptcp_addr_info in mptcp_options_received (Florian Westphal) [1936368] - mptcp: drop OPTION_MPTCP_ADD_ADDR6 (Florian Westphal) [1936368] - mptcp: use mptcp_addr_info in mptcp_out_options (Florian Westphal) [1936368] - mptcp: move flags and ifindex out of mptcp_addr_info (Florian Westphal) [1936368] - mptcp: add mptcp reset option support (Florian Westphal) [1936368] - mptcp: remove unneeded check on first subflow (Florian Westphal) [1936368] - mptcp: add active MPC mibs (Florian Westphal) [1936368] - mptcp: add mib for token creation fallback (Florian Westphal) [1936368] - mptcp: remove id 0 address (Florian Westphal) [1936368] - mptcp: unify RM_ADDR and RM_SUBFLOW receiving (Florian Westphal) [1936368] - mptcp: remove all subflows involving id 0 address (Florian Westphal) [1936368] - mptcp: subflow.c: Fix a typo (Florian Westphal) [1936368] - mptcp: rename mptcp_pm_nl_add_addr_send_ack (Florian Westphal) [1936368] - mptcp: send ack for rm_addr (Florian Westphal) [1936368] - mptcp: drop useless addr_signal clear (Florian Westphal) [1936368] - mptcp: move to next addr when subflow creation fail (Florian Westphal) [1936368] - mptcp: export lookup_anno_list_by_saddr (Florian Westphal) [1936368] - mptcp: move to next addr when timeout (Florian Westphal) [1936368] - mptcp: drop unused subflow in mptcp_pm_subflow_established (Florian Westphal) [1936368] - mptcp: skip connecting the connected address (Florian Westphal) [1936368] - mptcp: drop argument port from mptcp_pm_announce_addr (Florian Westphal) [1936368] - mptcp: clean-up the rtx path (Florian Westphal) [1936368] - mptcp: fix ADD_ADDR HMAC in case port is specified (Florian Westphal) [1936368] - mptcp: remove a list of addrs when flushing (Florian Westphal) [1936368] - mptcp: remove multi addresses and subflows in PM (Florian Westphal) [1936368] - mptcp: remove multi subflows in PM (Florian Westphal) [1936368] - mptcp: remove multi addresses in PM (Florian Westphal) [1936368] - mptcp: add rm_list_rx in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: add rm_list in mptcp_options_received (Florian Westphal) [1936368] - mptcp: add rm_list_tx in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: add rm_list in mptcp_out_options (Florian Westphal) [1936368] - mptcp: fix bit MPTCP_PUSH_PENDING tests (Florian Westphal) [1936368] - mptcp: fix length of ADD_ADDR with port sub-option (Florian Westphal) [1936368] - mptcp: free resources when the port number is mismatched (Florian Westphal) [1936368] - mptcp: fix missing wakeup (Florian Westphal) [1936368] - mptcp: fix race in release_cb (Florian Westphal) [1936368] - mptcp: factor out __mptcp_retrans helper() (Florian Westphal) [1936368] - mptcp: reset 'first' and ack_hint on subflow close (Florian Westphal) [1936368] - mptcp: dispose initial struct socket when its subflow is closed (Florian Westphal) [1936368] - mptcp: fix memory accounting on allocation error (Florian Westphal) [1936368] - mptcp: put subflow sock on connect error (Florian Westphal) [1936368] - mptcp: reset last_snd on subflow close (Florian Westphal) [1936368] - mptcp: do not wakeup listener for MPJ subflows (Florian Westphal) [1936368] - mptcp: fix DATA_FIN generation on early shutdown (Florian Westphal) [1936368] - mptcp: fix DATA_FIN processing for orphaned sockets (Florian Westphal) [1936368] - mptcp: add local addr info in mptcp_info (Florian Westphal) [1936368] - mptcp: add netlink event support (Florian Westphal) [1936368] - mptcp: avoid lock_fast usage in accept path (Florian Westphal) [1936368] - netlink: don't call ->netlink_bind with table lock held (Florian Westphal) [1936368] - genetlink: restrict upcoming mptcp netlink events to CAP_NET_ADMIN (Florian Westphal) [1936368] - mptcp: pass subflow socket to a few helpers (Florian Westphal) [1936368] - mptcp: move subflow close loop after sk close check (Florian Westphal) [1936368] - mptcp: schedule worker when subflow is closed (Florian Westphal) [1936368] - mptcp: split __mptcp_close_ssk helper (Florian Westphal) [1936368] - mptcp: move pm netlink work into pm_netlink (Florian Westphal) [1936368] - mptcp: add a missing retransmission timer scheduling (Florian Westphal) [1936368] - mptcp: better msk receive window updates (Florian Westphal) [1936368] - mptcp: init mptcp request socket earlier (Florian Westphal) [1936368] - mptcp: fix spurious retransmissions (Florian Westphal) [1936368] - mptcp: fix poll after shutdown (Florian Westphal) [1936368] - mptcp: deliver ssk errors to msk (Florian Westphal) [1936368] - mptcp: pm: add lockdep assertions (Florian Westphal) [1936368] - mptcp: add the mibs for ADD_ADDR with port (Florian Westphal) [1936368] - mptcp: deal with MPTCP_PM_ADDR_ATTR_PORT in PM netlink (Florian Westphal) [1936368] - mptcp: enable use_port when invoke addresses_equal (Florian Westphal) [1936368] - mptcp: add port number check for MP_JOIN (Florian Westphal) [1936368] - mptcp: add a new helper subflow_req_create_thmac (Florian Westphal) [1936368] - mptcp: drop unused skb in subflow_token_join_request (Florian Westphal) [1936368] - mptcp: create the listening socket for new port (Florian Westphal) [1936368] - mptcp: create subflow or signal addr for newly added address (Florian Westphal) [1936368] - mptcp: drop *_max fields in mptcp_pm_data (Florian Westphal) [1936368] - mptcp: use WRITE_ONCE for the pernet *_max (Florian Westphal) [1936368] - mptcp: pm nl: reduce variable scope (Florian Westphal) [1936368] - mptcp: pm nl: support IPv4 mapped in v6 addresses (Florian Westphal) [1936368] - mptcp: support MPJoin with IPv4 mapped in v6 sk (Florian Westphal) [1936368] - mptcp: use sha256() instead of open coding (Florian Westphal) [1936368] - crypto: lib/sha256 - add sha256() function (Florian Westphal) [1936368] - mptcp: use SHA256_BLOCK_SIZE, not SHA_MESSAGE_BYTES (Florian Westphal) [1936368] - xprtrdma: Pad optimization, revisited (Steve Dickson) [1926957] - ibmvnic: remove set but not used variable 'netdev' (Diego Domingos) [1922193] - net/ibmvnic: Remove tests of member address (Diego Domingos) [1922193] - ibmvnic: remove duplicate napi_schedule call in do_reset function (Diego Domingos) [1922193] - ibmvnic: avoid calling napi_disable() twice (Diego Domingos) [1922193] - ibmvnic: queue reset work in system_long_wq (Diego Domingos) [1922193] - ibmvnic: correctly use dev_consume/free_skb_irq (Diego Domingos) [1922193] - ibmvnic: improve failover sysfs entry (Diego Domingos) [1922193] - ibmvnic: print adapter state as a string (Diego Domingos) [1922193] - ibmvnic: print reset reason as a string (Diego Domingos) [1922193] - ibmvnic: clean up the remaining debugfs data structures (Diego Domingos) [1922193] - ibmvnic: Use 'skb_frag_address()' instead of hand coding it (Diego Domingos) [1922193] - ibmvnic: remove excessive irqsave (Diego Domingos) [1922193] - ibmvnic: always store valid MAC address (Diego Domingos) [1922193] - ibmvnic: Fix possibly uninitialized old_num_tx_queues variable warning. (Diego Domingos) [1922193] - vio: make remove callback return void (Diego Domingos) [1922193] - tty: hvcs: Drop unnecessary if block (Diego Domingos) [1922193] - ibmvnic: serialize access to work queue on remove (Diego Domingos) [1922193] - ibmvnic: skip send_request_unmap for timeout reset (Diego Domingos) [1922193] - ibmvnic: add memory barrier to protect long term buffer (Diego Domingos) [1922193] - ibmvnic: substitute mb() with dma_wmb() for send_*crq* functions (Diego Domingos) [1922193] - ibmvnic: prefer strscpy over strlcpy (Diego Domingos) [1922193] - ibmvnic: remove unused spinlock_t stats_lock definition (Diego Domingos) [1922193] - ibmvnic: add comments for spinlock_t definitions (Diego Domingos) [1922193] - ibmvnic: fix miscellaneous checks (Diego Domingos) [1922193] - ibmvnic: avoid multiple line dereference (Diego Domingos) [1922193] - ibmvnic: fix braces (Diego Domingos) [1922193] - ibmvnic: fix block comments (Diego Domingos) [1922193] - ibmvnic: prefer 'unsigned long' over 'unsigned long int' (Diego Domingos) [1922193] - ibmvnic: remove unnecessary rmb() inside ibmvnic_poll (Diego Domingos) [1922193] - ibmvnic: rework to ensure SCRQ entry reads are properly ordered (Diego Domingos) [1922193] - ibmvnic: Ensure that CRQ entry read are correctly ordered (Diego Domingos) [1922193] - net: ethernet: ibm: ibmvnic: Fix some kernel-doc misdemeanours (Diego Domingos) [1922193] - powerpc/hmi: Fix kernel hang when TB is in error state. (Gustavo Walbon) [1924091] - powerpc/eeh: Fix EEH handling for hugepages in ioremap space. (Gustavo Walbon) [1924090] - powerpc/pseries: Only register vio drivers if vio bus exists (Gustavo Walbon) [1924090] - powerpc/pci: Remove unimplemented prototypes (Gustavo Walbon) [1924090] - powerpc/powernv/pci: Use kzalloc() for phb related allocations (Gustavo Walbon) [1924090] - powerpc/pasemi: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/mve5100: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/mpc7448: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/linkstation: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/embedded6xx/holly: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/chrp: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/amigaone: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/83xx: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/82xx/*: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/mpc5200_simple: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/media5200: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/lite5200: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/52xx/efika: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/512x: Move PHB discovery (Gustavo Walbon) [1924090] - powerpc/pci: Move PHB discovery for PCI_DN using platforms (Gustavo Walbon) [1924090] - powerpc/maple: Fix declaration made after definition (Gustavo Walbon) [1924090] - powerpc/pci: Add ppc_md.discover_phbs() (Gustavo Walbon) [1924090] - powerpc/pci: Delete traverse_pci_dn() (Gustavo Walbon) [1924090] - powerpc/eeh: Rework pci_dev lookup in debugfs attributes (Gustavo Walbon) [1924090] - selftests/powerpc: Add VF recovery tests (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Make pseries_send_allow_unfreeze() static (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Make pseries_pcibios_bus_add_device() static (Gustavo Walbon) [1924090] - selftests/powerpc: Make the test check in eeh-basic.sh posix compliant (Gustavo Walbon) [1924090] - powernv/pci: Print an error when device enable is blocked (Gustavo Walbon) [1924090] - selftests/powerpc/eeh: disable kselftest timeout setting for eeh-basic (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Fix a possible debugfs deadlock (Gustavo Walbon) [1924090] - powerpc/eeh: Fix eeh_dev_check_failure() for PE#0 (Gustavo Walbon) [1924090] - selftests/powerpc: Fix eeh-basic.sh exit codes (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Fix use of uninitialised variable (Gustavo Walbon) [1924090] - powerpc/eeh: Delete eeh_pe->config_addr (Gustavo Walbon) [1924090] - powerpc/eeh: Clean up PE addressing (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Allow zero to be a valid PE configuration address (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Rework device EEH PE determination (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Clean up pe_config_addr lookups (Gustavo Walbon) [1924090] - powerpc/eeh: Move EEH initialisation to an arch initcall (Gustavo Walbon) [1924090] - powerpc/eeh: Delete eeh_ops->init (Gustavo Walbon) [1924090] - powerpc/pseries: Stop using eeh_ops->init() (Gustavo Walbon) [1924090] - powerpc/powernv: Stop using eeh_ops->init() (Gustavo Walbon) [1924090] - powerpc/eeh: Rework EEH initialisation (Gustavo Walbon) [1924090] - powerpc/pseries/eeh: Fix dumb linebreaks (Gustavo Walbon) [1924090] - selftests/powerpc: Squash spurious errors due to device removal (Gustavo Walbon) [1924090] - powerpc/eeh: Move PE tree setup into the platform (Gustavo Walbon) [1924090] - powerpc/eeh: Drop pdn use in eeh_pe_tree_insert() (Gustavo Walbon) [1924090] - powerpc/eeh: Rename eeh_{add_to|remove_from}_parent_pe() (Gustavo Walbon) [1924090] - powerpc/eeh: Remove class code field from edev (Gustavo Walbon) [1924090] - powerpc/eeh: Remove spurious use of pci_dn in eeh_dump_dev_log (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->{read|write}_config() (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->resume_notify() (Gustavo Walbon) [1924090] - powerpc/eeh: Pass eeh_dev to eeh_ops->restore_config() (Gustavo Walbon) [1924090] - powerpc/eeh: Remove VF config space restoration (Gustavo Walbon) [1924090] - powerpc/eeh: Kill off eeh_ops->get_pe_addr() (Gustavo Walbon) [1924090] - powerpc/pseries: Stop using pdn->pe_number (Gustavo Walbon) [1924090] - powerpc/eeh: Move vf_index out of pci_dn and into eeh_dev (Gustavo Walbon) [1924090] - powerpc/eeh: Remove eeh_dev.c (Gustavo Walbon) [1924090] - powerpc/eeh: Remove eeh_dev_phb_init_dynamic() (Gustavo Walbon) [1924090] - powerpc/powernv: Make pnv_pci_sriov_enable() and friends static (Gustavo Walbon) [1924090] - powerpc/pseries: Make vio and ibmebus initcalls pseries specific (Gustavo Walbon) [1924090] - powerpc/eeh: Release EEH device state synchronously (Gustavo Walbon) [1924090] - powerpc/eeh: Rework eeh_ops->probe() (Gustavo Walbon) [1924090] - powerpc/eeh: Make early EEH init pseries specific (Gustavo Walbon) [1924090] - powerpc/eeh: Remove PHB check in probe (Gustavo Walbon) [1924090] - powerpc/eeh: Do early EEH init only when required (Gustavo Walbon) [1924090] - powerpc/eeh: Only dump stack once if an MMIO loop is detected (Gustavo Walbon) [1924090] - powernv/pci: Add a debugfs entry to dump PHB's IODA PE state (Gustavo Walbon) [1924090] - powernv/pci: Allow any write trigger the diag dump (Gustavo Walbon) [1924090] - powernv/pci: Use pnv_phb as the private data for debugfs entries (Gustavo Walbon) [1924090] - powerpc/powernv/npu: Fix debugfs_simple_attr.cocci warnings (Gustavo Walbon) [1924090] - powerpc/pcidn: Warn when sriov pci_dn management is used incorrectly (Gustavo Walbon) [1924090] - powerpc/pcidn: Make VF pci_dn management CONFIG_PCI_IOV specific (Gustavo Walbon) [1924090] - powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: Make clearing EEH_DEV_SYSFS saner (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: Remove double pci_dn lookup. (Gustavo Walbon) [1924090] - powerpc/eeh_sysfs: ifdef pseries sr-iov sysfs properties (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Don't use pci_dn when inserting new ranges (Gustavo Walbon) [1924090] - powerpc/eeh: differentiate duplicate detection message (Gustavo Walbon) [1924090] - powerpc/eeh: Handle hugepages in ioremap space (Gustavo Walbon) [1924090] - powerpc/powernv-eeh: Consisely desribe what this file does (Gustavo Walbon) [1924090] - powerpc/eeh_cache: fix a W=1 kernel-doc warning (Gustavo Walbon) [1924090] - powerpc/eeh_cache: Add a way to dump the EEH address cache (Gustavo Walbon) [1924090] - powerpc/powernv: Escalate reset when IODA reset fails (Gustavo Walbon) [1924090] - powerpc/powernv/eeh/npu: Fix uninitialized variables in opal_pci_eeh_freeze_status (Gustavo Walbon) [1924090] - powerpc: eeh_event: convert semaphore to completion (Gustavo Walbon) [1924090] - powerpc/eeh: Declare pci_ers_result_name() as static (Gustavo Walbon) [1924090] - Bluetooth: verify AMP hci_chan before amp_destroy (Gopal Tiwari) [1962546] {CVE-2021-33034} - NFSv4.2 fix handling of sr_eof in SEEK's reply (Steve Dickson) [1948015] - SUNRPC: Fix null pointer dereference in svc_rqst_free() (Benjamin Coddington) [1952008] - NFSv4: Use sequence counter with associated spinlock (Benjamin Coddington) [1952008] - NFSv4.2: fix return value of _nfs4_get_security_label() (Benjamin Coddington) [1952008] - NFSD: fix error handling in NFSv4.0 callbacks (Benjamin Coddington) [1952008] - NFS: Don't gratuitously clear the inode cache when lookup failed (Benjamin Coddington) [1952008] - NFS: Don't revalidate the directory permissions on a lookup failure (Benjamin Coddington) [1952008] - nfsd: register pernet ops last, unregister first (Benjamin Coddington) [1952008] - SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Benjamin Coddington) [1952008] - lockd: fix access beyond unterminated strings in prints (Benjamin Coddington) [1952008] - tty: Protect disc_data in n_tty_close and n_tty_flush_buffer (Rafael Aquini) [1879861] - hwmon: (amd_energy) Add AMD family 19h model 30h x86 match (Terry Bowman) [1949280]- redhat/configs: Re-enable dptf_power module (Prarit Bhargava) [1962349] - net/sched: act_ct: Offload connections with commit action (Marcelo Ricardo Leitner) [1965817] - netfilter: flowtable: Remove redundant hw refresh bit (Marcelo Ricardo Leitner) [1965817] - inet_diag: add support for tw_mark (Xin Long) [1972967] - mm: thp: fix MADV_REMOVE deadlock on shmem THP (Waiman Long) [1974659] {CVE-2020-29368} - mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked() (Waiman Long) [1974659] {CVE-2020-29368} - mmap locking API: add mmap_lock_is_contended() (Waiman Long) [1970177] - mm: madvise: fix vma user-after-free (Waiman Long) [1970177] - khugepaged: collapse_pte_mapped_thp() protect the pmd lock (Waiman Long) [1970177] - khugepaged: collapse_pte_mapped_thp() flush the right range (Waiman Long) [1970177] - mm/mmap.c: close race between munmap() and expand_upwards()/downwards() (Waiman Long) [1970177] - mm: document warning in move_normal_pmd() and make it warn only once (Waiman Long) [1970177] - mmap locking API: convert mmap_sem comments (Waiman Long) [1970177] - mmap locking API: convert mmap_sem API comments (Waiman Long) [1970177] - mmap locking API: rename mmap_sem to mmap_lock (Waiman Long) [1970177] - mmap locking API: add mmap_assert_locked() and mmap_assert_write_locked() (Waiman Long) [1970177] - mmap locking API: add MMAP_LOCK_INITIALIZER (Waiman Long) [1970177] - mmap locking API: convert nested write lock sites (Waiman Long) [1970177] - mmap locking API: convert mmap_sem call sites missed by coccinelle (Waiman Long) [1970177] - mmap locking API: use coccinelle to convert mmap_sem rwsem call sites (Waiman Long) [1970177] - MMU notifier: use the new mmap locking API (Waiman Long) [1970177] - mm/gup.c: further document vma_permits_fault() (Waiman Long) [1970177] - mm/gup.c: update the documentation (Waiman Long) [1970177] - mm/ksm: fix NULL pointer dereference when KSM zero page is enabled (Waiman Long) [1970177] - proc: inline vma_stop into m_stop (Waiman Long) [1970177] - mm: remove CONFIG_TRANSPARENT_HUGE_PAGECACHE (Waiman Long) [1970177] - fs/io_uring: set FOLL_PIN via pin_user_pages() (Waiman Long) [1970177] - shmem: pin the file in shmem_fault() if mmap_sem is dropped (Waiman Long) [1970177] - mm/gup.c: fix comments of __get_user_pages() and get_user_pages_remote() (Waiman Long) [1970177] - mm/init-mm.c: include for vm_committed_as_batch (Waiman Long) [1970177] - lib/generic-radix-tree.c: add kmemleak annotations (Waiman Long) [1970177] - mm: Remove BUG_ON mmap_sem not held from xxx_trans_huge_lock() (Waiman Long) [1970177] - lib/generic-radix-tree.c: make 2 functions static inline (Waiman Long) [1970177] - x86/mm: Clean up the pmd_read_atomic() comments (Waiman Long) [1970177] - x86/mm: Fix function name typo in pmd_read_atomic() comment (Waiman Long) [1970177] - khugepaged: enable collapse pmd for pte-mapped THP (Waiman Long) [1970177] - mm: Handle MADV_WILLNEED through vfs_fadvise() (Waiman Long) [1970177] - pagewalk: use lockdep_assert_held for locking validation (Waiman Long) [1970177] - mm: use down_read_killable for locking mmap_sem in access_remote_vm (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/map_files (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/clear_refs (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/pagemap (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/smaps_rollup (Waiman Long) [1970177] - proc: use down_read_killable mmap_sem for /proc/pid/maps (Waiman Long) [1970177] - mm/filemap.c: correct the comment about VM_FAULT_RETRY (Waiman Long) [1970177] - mm: mmu_gather: remove __tlb_reset_range() for force flush (Waiman Long) [1970177] - arm64/mm: Drop mmap_sem before calling __do_kernel_fault() (Waiman Long) [1970177] - docs/vm: Minor editorial changes in the THP and hugetlbfs (Waiman Long) [1970177] - x86/mpx, mm/core: Fix recursive munmap() corruption (Waiman Long) [1970177] - doc: mm: migration doesn't use FOLL_SPLIT anymore (Waiman Long) [1970177] - filemap: add a comment about FAULT_FLAG_RETRY_NOWAIT behavior (Waiman Long) [1970177] - proc: commit to genradix (Waiman Long) [1970177] - generic radix trees (Waiman Long) [1970177] - mm: swap: add comment for swap_vma_readahead (Waiman Long) [1970177] - x86/mm: Make set_pmd_at() paravirt aware (Waiman Long) [1970177] - mm: select HAVE_MOVE_PMD on x86 for faster mremap (Waiman Long) [1970177] - mm: speed up mremap by 20x on large regions (Waiman Long) [1970177] - mm/mmap.c: remove verify_mm_writelocked() (Waiman Long) [1970177] - x86/fault: Check user_mode(regs) when avoiding an mmap_sem deadlock (Waiman Long) [1970177] - mm: brk: downgrade mmap_sem to read when shrinking (Waiman Long) [1970177] - mm: mremap: downgrade mmap_sem to read when shrinking (Waiman Long) [1970177] - mm: unmap VM_PFNMAP mappings with optimized path (Waiman Long) [1970177] - mm: unmap VM_HUGETLB mappings with optimized path (Waiman Long) [1970177] - mm: mmap: zap pages with read mmap_sem in munmap (Waiman Long) [1970177] - x86/mm: Fix exception table comments (Waiman Long) [1970177] - ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() (Mark Langsdorf) [1946282] - acpi/drivers/thermal: Remove TRIPS_NONE cooling device binding (Mark Langsdorf) [1946282] - thermal/drivers/acpi: Use hot and critical ops (Mark Langsdorf) [1946282] - thermal/core: Add critical and hot ops (Mark Langsdorf) [1946282] - thermal/core: Emit a warning if the thermal zone is updated without ops (Mark Langsdorf) [1946282] - ACPI: scan: Fix _STA getting called on devices with unmet dependencies (Mark Langsdorf) [1946282] - ACPI: tables: x86: Reserve memory occupied by ACPI tables (Mark Langsdorf) [1946282] - ACPICA: Always create namespace nodes using acpi_ns_create_node() (Mark Langsdorf) [1946282] - ACPI: platform: Add balanced-performance platform profile (Mark Langsdorf) [1946282] - ACPI: platform: Hide ACPI_PLATFORM_PROFILE option (Mark Langsdorf) [1946282] - ACPICA: Remove some code duplication from acpi_ev_address_space_dispatch (Mark Langsdorf) [1946282] - ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter handling (Mark Langsdorf) [1946282] - ACPI: property: Satisfy kernel doc validator (part 2) (Mark Langsdorf) [1946282] - ACPI: property: Satisfy kernel doc validator (part 1) (Mark Langsdorf) [1946282] - ACPI: property: Make acpi_node_prop_read() static (Mark Langsdorf) [1946282] - ACPI: property: Remove dead code (Mark Langsdorf) [1946282] - iommu/amd: Fix performance counter initialization (Mark Langsdorf) [1946282] - ACPI: property: Fix fwnode string properties matching (Mark Langsdorf) [1946282] - ACPI / NUMA: add a stub function for node_to_pxm() (Mark Langsdorf) [1946282] - ACPI: OSL: Rework acpi_check_resource_conflict() (Mark Langsdorf) [1946282] - ACPI: APEI: ERST: remove unneeded semicolon (Mark Langsdorf) [1946282] - iommu/vt-d: Add new enum value and structure for SATC (Mark Langsdorf) [1946282] - ACPI: Add support for native USB4 control _OSC (Mark Langsdorf) [1946282] - ACPI: Execute platform _OSC also with query bit clear (Mark Langsdorf) [1946282] - redhat/configs: Add CONFIG_ACPI_FPDT (Mark Langsdorf) [1946282] - ACPI: tables: introduce support for FPDT table (Mark Langsdorf) [1946282] - ACPI: APEI: Add is_generic_error() to identify GHES sources (Mark Langsdorf) [1946282] - ACPI: platform-profile: Fix possible deadlock in platform_profile_remove() (Mark Langsdorf) [1946282] - ACPI: platform-profile: Introduce object pointers to callbacks (Mark Langsdorf) [1946282] - PCI/ACPI: Clarify message about _OSC failure (Mark Langsdorf) [1946282] - PCI/ACPI: Remove unnecessary osc_lock (Mark Langsdorf) [1946282] - PCI/ACPI: Make acpi_pci_osc_control_set() static (Mark Langsdorf) [1946282] - media: ACPI / bus: Add acpi_dev_get_next_match_dev() and helper macro (Mark Langsdorf) [1946282] - ACPI: scan: Adjust white space in acpi_device_add() (Mark Langsdorf) [1946282] - ACPI: scan: Rearrange memory allocation in acpi_device_add() (Mark Langsdorf) [1946282] - ACPI: platform-profile: Drop const qualifier for cur_profile (Mark Langsdorf) [1946282] - ACPI: configfs: add missing check after configfs_register_default_group() (Mark Langsdorf) [1946282] - ACPI: CPPC: initialise vaddr pointers to NULL (Mark Langsdorf) [1946282] - ACPI: CPPC: add __iomem annotation to generic_comm_base pointer (Mark Langsdorf) [1946282] - ACPI: CPPC: remove __iomem annotation for cpc_reg's address (Mark Langsdorf) [1946282] - ACPI: Use DEVICE_ATTR_ macros (Mark Langsdorf) [1946282] - ACPICA: Update version to 20210105 (Mark Langsdorf) [1946282] - ACPICA: Updated all copyrights to 2021 (Mark Langsdorf) [1946282] - ACPICA: Remove the VRTC table (Mark Langsdorf) [1946282] - ACPICA: Remove the MTMR (Mid-Timer) table (Mark Langsdorf) [1946282] - ACPICA: Update version to 20201217 (Mark Langsdorf) [1946282] - ACPICA: add type casts for string functions (Mark Langsdorf) [1946282] - ACPICA: fix -Wfallthrough (Mark Langsdorf) [1946282] - ACPICA: Clean up exception code class checks (Mark Langsdorf) [1946282] - ACPICA: Fix exception code class checks (Mark Langsdorf) [1946282] - redhat/configs: Add CONFIG_ACPI_PLATFORM_PROFILE (Mark Langsdorf) [1946282] - ACPI: platform: Add platform profile support (Mark Langsdorf) [1946282] - NTB/msi: Use irq_has_action() (Myron Stowe) [1933153] - NTB: Use struct_size() helper in devm_kzalloc() (Myron Stowe) [1933153] - ntb: intel: Fix memleak in intel_ntb_pci_probe (Myron Stowe) [1933153] - NTB: hw: amd: fix an issue about leak system resources (Myron Stowe) [1933153] - ntb: hw: remove the code that sets the DMA mask (Myron Stowe) [1933153] - [s390] s390/qdio: remove 'merge_pending' mechanism (Claudio Imbrenda) [1919251] - [s390] s390/qdio: improve handling of PENDING buffers for QEBSM devices (Claudio Imbrenda) [1919251] - [s390] s390/qdio: rework q->qdio_error indication (Claudio Imbrenda) [1919251] - [s390] s390/qdio: inline qdio_kick_handler() (Claudio Imbrenda) [1919251] - [s390] s390/qdio: track time of last data IRQ for each device (Claudio Imbrenda) [1919251] - [s390] s390/qdio: make thinint registration symmetric (Claudio Imbrenda) [1919251] - [s390] s390/qdio: adopt new tasklet API (Claudio Imbrenda) [1919251] - [s390] s390/qdio: remove qdio_inbound_q_moved() wrapper (Claudio Imbrenda) [1919251] - [s390] s390/qdio: remove Input tasklet code (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Do not set COMMAND_COMPLETE (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Handle event-lost notification for Version Change events (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Process Version Change events (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Clarify & assert the stat_lock locking in zfcp_qdio_send() (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Remove orphaned function declarations (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Lift Input Queue tasklet from qdio (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Clarify access to erp_action in zfcp_fsf_req_complete() (Claudio Imbrenda) [1919251] - [s390] scsi: zfcp: Use list_first_entry_or_null() in zfcp_erp_thread() (Claudio Imbrenda) [1919251] - [s390] s390/qdio: always use dev_name() for device name in QIB (Claudio Imbrenda) [1919251] - [s390] s390/qdio: clean up QDR setup (Claudio Imbrenda) [1919251] - [s390] s390/qdio: make qdio_handle_aobs() more robust (Claudio Imbrenda) [1919251] - [s390] s390/cpumf: disable preemption when accessing per-cpu variable (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: rename header file to hwctrset.h (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: remove 60 seconds read limit (Claudio Imbrenda) [1925527] - [s390] s390/cpumf: Add support for complete counter set extraction (Claudio Imbrenda) [1925527]- KVM: X86: hyper-v: Task srcu lock when accessing kvm_memslots() (Vitaly Kuznetsov) [1904570] - KVM: nSVM: remove a warning about vmcb01 VM exit reason (Vitaly Kuznetsov) [1904570] - KVM: x86: Consolidate guest enter/exit logic to common helpers (Vitaly Kuznetsov) [1904570] - KVM: x86: Defer vtime accounting 'til after IRQ handling (Vitaly Kuznetsov) [1904570] - context_tracking: Move guest exit vtime accounting to separate helpers (Vitaly Kuznetsov) [1904570] - context_tracking: Move guest exit context tracking to separate helpers (Vitaly Kuznetsov) [1904570] - context_tracking: Make guest_enter/exit() .noinstr ready (Vitaly Kuznetsov) [1904570] - sched/cputime: Rename vtime_account_system() to vtime_account_kernel() (Vitaly Kuznetsov) [1904570] - x86/kvm/svm: Move guest enter/exit into .noinstr.text (Vitaly Kuznetsov) [1904570] - x86/kvm/vmx: Move guest enter/exit into .noinstr.text (Vitaly Kuznetsov) [1904570] - x86/kvm/svm: Add hardirq tracing on guest enter/exit (Vitaly Kuznetsov) [1904570] - x86/kvm/vmx: Add hardirq tracing to guest enter/exit (Vitaly Kuznetsov) [1904570] - x86/kvm: Move context tracking where it belongs (Vitaly Kuznetsov) [1904570] - Move some more variables to kernel job templates (Michael Hofmann) - Use a different branch name for realtime pipelines (Michael Hofmann) - block: mark queue init done at the end of blk_register_queue (Ming Lei) [1963766] - block: fix race between adding/removing rq qos and normal IO (Ming Lei) [1963766] - netfilter: x_tables: Use correct memory barriers. (Phil Sutter) [1949090] - Revert "netfilter: x_tables: Switch synchronization to RCU" (Phil Sutter) [1949090] - vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU (Gustavo Walbon) [1891589] - powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU (Gustavo Walbon) [1891589] - cpupower: Add cpuid cap flag for MSR_AMD_HWCR support (Steve Best) [1949161] - cpupower: Remove family arg to decode_pstates() (Steve Best) [1949161] - cpupower: Condense pstate enabled bit checks in decode_pstates() (Steve Best) [1949161] - cpupower: Update family checks when decoding HW pstates (Steve Best) [1949161] - cpupower: Remove unused pscur variable. (Steve Best) [1949161] - cpupower: Add CPUPOWER_CAP_AMD_HW_PSTATE cpuid caps flag (Steve Best) [1949161] - cpupower: Correct macro name for CPB caps flag (Steve Best) [1949161] - cpupower: Update msr_pstate union struct naming (Steve Best) [1949161] - cpupower: add Makefile dependencies for install targets (Steve Best) [1949161] - tools/power/cpupower: Read energy_perf_bias from sysfs (Steve Best) [1949161] - tools: Avoid comma separated statements (Steve Best) [1949161] - cpupower: speed up generating git version string (Steve Best) [1949161] - cpupowerutils: fix spelling mistake "dependant" -> "dependent" (Steve Best) [1949161] - ext4: fix ext4_error_err save negative errno into superblock (Lukas Czerner) [1964928] - ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() (Lukas Czerner) [1964928] - ext4: fix check to prevent false positive report of incorrect used inodes (Lukas Czerner) [1964928] - ext4: fix potential error in ext4_do_update_inode (Lukas Czerner) [1964928] - ext4: do not try to set xattr into ea_inode if value is empty (Lukas Czerner) [1964928] - ext4: fix potential htree index checksum corruption (Lukas Czerner) [1964928] - ext4: don't leak old mountpoint samples (Lukas Czerner) [1964928] - ext4: don't remount read-only with errors=continue on reboot (Lukas Czerner) [1964928] - ext4: fix deadlock with fs freezing and EA inodes (Lukas Czerner) [1964928] - ext4: fix a memory leak of ext4_free_data (Lukas Czerner) [1964928] - ext4: find old entry again if failed to rename whiteout (Lukas Czerner) [1945503] - ext4: fix bug for rename with RENAME_WHITEOUT (Lukas Czerner) [1945503] - mount: fix mounting of detached mounts onto targets that reside on shared mounts (Carlos Maiolino) [1959172] - fs: fix lazytime expiration handling in __writeback_single_inode() (Carlos Maiolino) [1936260] - tty: Don't hold ldisc lock in tty_reopen() if ldisc present (Waiman Long) [1968271] - tty/ldsem: Add lockdep asserts for ldisc_sem (Waiman Long) [1968271] - tty: Simplify tty->count math in tty_reopen() (Waiman Long) [1968271] - tty: Don't block on IO when ldisc change is pending (Waiman Long) [1968271] - tty: Hold tty_ldisc_lock() during tty_reopen() (Waiman Long) [1968271] - tty: Drop tty->count on tty_reopen() failure (Waiman Long) [1968271] - net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); (Xin Long) [1951679] - net: Fix gro aggregation for udp encaps with zero csum (Xin Long) [1951679] - udp: ipv4: manipulate network header of NATed UDP GRO fraglist (Xin Long) [1951679] - udp: not remove the CRC flag from dev features when need_csum is false (Xin Long) [1951679] - udp: mask TOS bits in udp_v4_early_demux() (Xin Long) [1951679] - net: fix use-after-free when UDP GRO with shared fraglist (Xin Long) [1951679] - x86, sched: Treat Intel SNC topology as default, COD as exception (David Arcari) [1920040] - dmaengine: idxd: iax bus removal (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix cdev setup and free device lifetime issues (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix group conf_dev lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix engine conf_dev lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix wq conf_dev 'struct device' lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix idxd conf_dev 'struct device' lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: use ida for device instance enumeration (Jerry Snitselaar) [1955744] - dmaengine: idxd: removal of pcim managed mmio mapping (Jerry Snitselaar) [1955744] - dmaengine: idxd: cleanup pci interrupt vector allocation management (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix dma device lifetime (Jerry Snitselaar) [1955744] - dmaengine: idxd: Fix potential null dereference on pointer status (Jerry Snitselaar) [1927070] - dmaengine: idxd: fix wq cleanup of WQCFG registers (Jerry Snitselaar) [1955744] - dmaengine: idxd: clear MSIX permission entry on shutdown (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix wq size store permission state (Jerry Snitselaar) [1955744] - dmaengine: idxd: fix opcap sysfs attribute output (Jerry Snitselaar) [1955744] - dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback (Jerry Snitselaar) [1955744] - dmaengine: idxd: add module parameter to force disable of SVA (Jerry Snitselaar) [1920734] - dmaengine: idxd: set DMA channel to be private (Jerry Snitselaar) [1920759] - dma: idxd: use DEFINE_MUTEX() for mutex lock (Jerry Snitselaar) [1955744] - dmaengine: idxd: check device state before issue command (Jerry Snitselaar) [1927070] - dmaengine: move channel device_node deletion to driver (Jerry Snitselaar) [1920721] - dmaengine: idxd: fix misc interrupt completion (Jerry Snitselaar) [1920757] - dmaengine: idxd: Fix list corruption in description completion (Jerry Snitselaar) [1920746] - dmaengine: idxd: add IAX configuration support in the IDXD driver (Jerry Snitselaar) [1837233] - dmaengine: idxd: add ATS disable knob for work queues (Jerry Snitselaar) [1921291] - dmaengine: idxd: define table offset multiplier (Jerry Snitselaar) [1921290] - dmaengine: idxd: Update calculation of group offset to be more readable (Jerry Snitselaar) [1955744]- redhat/config: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1945937] - dm writecache: flush origin device when writing and cache is full (Mike Snitzer) [1970513] - dm snapshot: properly fix a crash when an origin has no snapshots (Mike Snitzer) [1970513] - dm verity: fix require_signatures module_param permissions (Mike Snitzer) [1970513] - dm snapshot: fix crash with transient storage and zero chunk size (Mike Snitzer) [1970513] - dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails (Mike Snitzer) [1970513] - dm integrity: increase RECALC_SECTORS to improve recalculate speed (Mike Snitzer) [1970513] - dm integrity: don't re-write metadata if discarding same blocks (Mike Snitzer) [1970513] - dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences (Mike Snitzer) [1970513] - dm raid: fix fall-through warning in rs_check_takeover() for Clang (Mike Snitzer) [1970513] - dm integrity: fix missing goto in bitmap_flush_interval error handling (Mike Snitzer) [1970513] - dm space map common: fix division bug in sm_ll_find_free_block() (Mike Snitzer) [1970513] - dm persistent data: packed struct should have an aligned() attribute too (Mike Snitzer) [1970513] - dm btree spine: remove paranoid node_check call in node_prep_for_write() (Mike Snitzer) [1970513] - dm space map disk: remove redundant calls to sm_disk_get_nr_free() (Mike Snitzer) [1970513] - dm persistent data: remove unused return from exit_shadow_spine() (Mike Snitzer) [1970513] - dm verity: allow only one error handling mode (Mike Snitzer) [1970513] - dm: remove useless loop in __split_and_process_bio (Mike Snitzer) [1970513] - redhat/configs: Update CONFIG_PINCTRL_AMD (David Arcari) [1964588] - ionic: fix ptp support config breakage (Jonathan Toppins) [1951826] - ionic: return -EFAULT if copy_to_user() fails (Jonathan Toppins) [1951826] - ionic: git_ts_info bit shifters (Jonathan Toppins) [1951826] - ionic: extend ts_config set locking (Jonathan Toppins) [1951826] - ionic: add ts_config replay (Jonathan Toppins) [1951826] - ionic: ignore EBUSY on queue start (Jonathan Toppins) [1951826] - ionic: re-start ptp after queues up (Jonathan Toppins) [1951826] - ionic: add SKBTX_IN_PROGRESS (Jonathan Toppins) [1951826] - ionic: check for valid tx_mode on SKBTX_HW_TSTAMP xmit (Jonathan Toppins) [1951826] - ionic: remove unnecessary compat ifdef (Jonathan Toppins) [1951826] - ionic: fix up a couple of code style nits (Jonathan Toppins) [1951826] - ionic: advertise support for hardware timestamps (Jonathan Toppins) [1951826] - ionic: ethtool ptp stats (Jonathan Toppins) [1951826] - ionic: add ethtool support for PTP (Jonathan Toppins) [1951826] - ionic: add and enable tx and rx timestamp handling (Jonathan Toppins) [1951826] - ethtool: add timestamping related string sets (Jonathan Toppins) [1951826] - net: Introduce peer to peer one step PTP time stamping. (Jonathan Toppins) [1951826] - ionic: set up hw timestamp queues (Jonathan Toppins) [1951826] - ionic: add rx filtering for hw timestamp steering (Jonathan Toppins) [1951826] - ionic: link in the new hw timestamp code (Jonathan Toppins) [1951826] - ionic: add hw timestamp support files (Jonathan Toppins) [1951826] - ionic: split adminq post and wait calls (Jonathan Toppins) [1951826] - ionic: add hw timestamp structs to interface (Jonathan Toppins) [1951826] - ionic: add handling of larger descriptors (Jonathan Toppins) [1951826] - ionic: add new queue features to interface (Jonathan Toppins) [1951826] - ionic: pull per-q stats work out of queue loops (Jonathan Toppins) [1951826] - ionic: avoid races in ionic_heartbeat_check (Jonathan Toppins) [1951826] - ionic: fix sizeof usage (Jonathan Toppins) [1951826] - ionic: count dma errors (Jonathan Toppins) [1951826] - ionic: protect adminq from early destroy (Jonathan Toppins) [1951826] - ionic: stop watchdog when in broken state (Jonathan Toppins) [1951826] - ionic: block actions during fw reset (Jonathan Toppins) [1951826] - ionic: update ethtool support bits for BASET (Jonathan Toppins) [1951826] - ionic: fix unchecked reference (Jonathan Toppins) [1951826] - ionic: simplify the intr_index use in txq_init (Jonathan Toppins) [1951826] - ionic: code cleanup details (Jonathan Toppins) [1951826] - ionic: Update driver to use ethtool_sprintf (Jonathan Toppins) [1951826] - ionic: aggregate Tx byte counting calls (Jonathan Toppins) [1951826] - ionic: simplify tx clean (Jonathan Toppins) [1951826] - ionic: generic tx skb mapping (Jonathan Toppins) [1951826] - ionic: simplify TSO descriptor mapping (Jonathan Toppins) [1951826] - ionic: simplify use of completion types (Jonathan Toppins) [1951826] - ionic: rebuild debugfs on qcq swap (Jonathan Toppins) [1951826] - ionic: simplify rx skb alloc (Jonathan Toppins) [1951826] - ionic: optimize fastpath struct usage (Jonathan Toppins) [1951826] - ionic: implement Rx page reuse (Jonathan Toppins) [1951826] - ionic: move rx_page_alloc and free (Jonathan Toppins) [1951826] - drivers: net: ionic: simplify the return expression of ionic_set_rxfh() (Jonathan Toppins) [1951826] - ionic: change mtu after queues are stopped (Jonathan Toppins) [1951826] - ionic: remove some unnecessary oom messages (Jonathan Toppins) [1951826] - ionic: useful names for booleans (Jonathan Toppins) [1951826] - ionic: change set_rx_mode from_ndo to can_sleep (Jonathan Toppins) [1951826] - ionic: flatten calls to ionic_lif_rx_mode (Jonathan Toppins) [1951826] - ionic: batch rx buffer refilling (Jonathan Toppins) [1951826] - ionic: add lif quiesce (Jonathan Toppins) [1951826] - ionic: check for link after netdev registration (Jonathan Toppins) [1951826] - ionic: check port ptr before use (Jonathan Toppins) [1951826] - platform/x86: hp-wireless: add AMD's hardware id to the supported list (David Arcari) [1960472] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (David Arcari) [1960472] - net/bond: revert deletion of driver and module versions (Jarod Wilson) [1955702] - net:sfc: fix non-freed irq in legacy irq mode (Íñigo Huguet) [1906728] - devlink: Extend SF port attributes to have external attribute (Petr Oros) [1959002] - netfilter: xt_SECMARK: add new revision to fix structure layout (Phil Sutter) [1961714] - xfrm: ipcomp: remove unnecessary get_cpu() (Sabrina Dubroca) [1946885] - platform/x86: intel_pmc_core: Add support for Alder Lake PCH-P (David Arcari) [1838624] - scsi: qedf: Update the max_id value in host structure (Nilesh Javali) [1954876] - scsi: qedf: Add pointer checks in qedf_update_link_speed() (Nilesh Javali) [1871687] - [s390] s390/nvme: support firmware-assisted dump to NVMe disks (Claudio Imbrenda) [1847447] - [s390] s390: nvme dump support (Claudio Imbrenda) [1847447] - [s390] s390/boot: add build-id to decompressor (Philipp Rudo) [1897093] - genirq: Reduce irqdebug cacheline bouncing (Gustavo Walbon) [1957729]- CI: Merge MR, baseline and private configs (Michael Hofmann) - RDMA/rxe: Fix failure during driver load (Kamal Heib) [1930263] - xfrm: remove the fragment check for ipv6 beet mode (Xin Long) [1965185] - SUNRPC: Fix NFS READs that start at non-page-aligned offsets (Benjamin Coddington) [1950303] - pNFS/NFSv4: Improve rejection of out-of-order layouts (Benjamin Coddington) [1950303] - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn (Benjamin Coddington) [1950303] - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() (Benjamin Coddington) [1950303] - SUNRPC: Move the svc_xdr_recvfrom tracepoint again (Benjamin Coddington) [1950303] - nfsd4: readdirplus shouldn't return parent of export (Benjamin Coddington) [1950303] - NFS: nfs_igrab_and_active must first reference the superblock (Benjamin Coddington) [1950303] - NFS: nfs_delegation_find_inode_server must first reference the superblock (Benjamin Coddington) [1950303] - NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter (Benjamin Coddington) [1950303] - NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit() (Benjamin Coddington) [1950303] - NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request (Benjamin Coddington) [1950303] - pNFS: Stricter ordering of layoutget and layoutreturn (Benjamin Coddington) [1950303] - pNFS: Clean up pnfs_layoutreturn_free_lsegs() (Benjamin Coddington) [1950303] - pNFS: We want return-on-close to complete when evicting the inode (Benjamin Coddington) [1950303] - pNFS: Mark layout for return if return-on-close was not sent (Benjamin Coddington) [1950303] - net: sunrpc: interpret the return value of kstrtou32 correctly (Benjamin Coddington) [1950303] - SUNRPC: Handle TCP socket sends with kernel_sendpage() again (Benjamin Coddington) [1950303] - NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() (Benjamin Coddington) [1950303] - pNFS/flexfiles: Avoid spurious layout returns in ff_layout_choose_ds_for_read (Benjamin Coddington) [1950303] - NFSv4/pnfs: Add tracing for the deviceid cache (Benjamin Coddington) [1950303] - fs/lockd: convert comma to semicolon (Benjamin Coddington) [1950303] - SUNRPC: When expanding the buffer, we may need grow the sparse pages (Benjamin Coddington) [1950303] - SUNRPC: Cleanup - constify a number of xdr_buf helpers (Benjamin Coddington) [1950303] - SUNRPC: Clean up open coded setting of the xdr_stream 'nwords' field (Benjamin Coddington) [1950303] - SUNRPC: _copy_to/from_pages() now check for zero length (Benjamin Coddington) [1950303] - SUNRPC: Cleanup xdr_shrink_bufhead() (Benjamin Coddington) [1950303] - SUNRPC: Fix xdr_expand_hole() (Benjamin Coddington) [1950303] - SUNRPC: Fixes for xdr_align_data() (Benjamin Coddington) [1950303] - SUNRPC: _shift_data_left/right_pages should check the shift length (Benjamin Coddington) [1950303] - NFSv4.1: use BITS_PER_LONG macro in nfs4session.h (Benjamin Coddington) [1950303] - xprtrdma: Fix XDRBUF_SPARSE_PAGES support (Benjamin Coddington) [1950303] - sunrpc: fix xs_read_xdr_buf for partial pages receive (Benjamin Coddington) [1950303] - Revert "nfsd4: support change_attr_type attribute" (Benjamin Coddington) [1950303] - nfsd4: don't query change attribute in v2/v3 case (Benjamin Coddington) [1950303] - nfsd: minor nfsd4_change_attribute cleanup (Benjamin Coddington) [1950303] - nfsd: simplify nfsd4_change_info (Benjamin Coddington) [1950303] - nfsd: only call inode_query_iversion in the I_VERSION case (Benjamin Coddington) [1950303] - nfs_common: need lock during iterate through the list (Benjamin Coddington) [1950303] - nfsd: Fix message level for normal termination (Benjamin Coddington) [1950303] - NFS: switch nfsiod to be an UNBOUND workqueue. (Benjamin Coddington) [1950303] - lockd: don't use interval-based rebinding over TCP (Benjamin Coddington) [1950303] - net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' (Benjamin Coddington) [1950303] - NFSv4: Refactor to use user namespaces for nfs4idmap (Benjamin Coddington) [1950303] - NFS: NFSv2/NFSv3: Use cred from fs_context during mount (Benjamin Coddington) [1950303] - NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode (Benjamin Coddington) [1950303] - SUNRPC: Fix up xdr_set_page() (Benjamin Coddington) [1950303] - SUNRPC: Fix open coded xdr_stream_remaining() (Benjamin Coddington) [1950303] - pNFS: Clean up open coded xdr string decoding (Benjamin Coddington) [1950303] - SUNRPC: Fix up open coded kmemdup_nul() (Benjamin Coddington) [1950303] - pNFS/flexfiles: Fix up layoutstats reporting for non-TCP transports (Benjamin Coddington) [1950303] - NFSv4/pNFS: Store the transport type in struct nfs4_pnfs_ds_addr (Benjamin Coddington) [1950303] - pNFS: Add helpers for allocation/free of struct nfs4_pnfs_ds_addr (Benjamin Coddington) [1950303] - NFSv4/pNFS: Use connections to a DS that are all of the same protocol family (Benjamin Coddington) [1950303] - SUNRPC: Remove unused function xprt_load_transport() (Benjamin Coddington) [1950303] - NFS: Switch mount code to use xprt_find_transport_ident() (Benjamin Coddington) [1950303] - SUNRPC: Add a helper to return the transport identifier given a netid (Benjamin Coddington) [1950303] - SUNRPC: Close a race with transport setup and module put (Benjamin Coddington) [1950303] - SUNRPC: xprt_load_transport() needs to support the netid "rdma6" (Benjamin Coddington) [1950303] - SUNRPC: rpc_wake_up() should wake up tasks in the correct order (Benjamin Coddington) [1950303] - NFSv4: Observe the NFS_MOUNT_SOFTREVAL flag in _nfs4_proc_lookupp (Benjamin Coddington) [1950303] - NFSv3: Add emulation of the lookupp() operation (Benjamin Coddington) [1950303] - NFSv3: Refactor nfs3_proc_lookup() to split out the dentry (Benjamin Coddington) [1950303] - SUNRPC: Remove XDRBUF_SPARSE_PAGES flag in gss_proxy upcall (Benjamin Coddington) [1950303] - NFSD: Add tracepoints in nfsd4_decode/encode_compound() (Benjamin Coddington) [1950303] - NFSD: Add tracepoints in nfsd_dispatch() (Benjamin Coddington) [1950303] - NFSD: Add common helpers to decode void args and encode void results (Benjamin Coddington) [1950303] - SUNRPC: Prepare for xdr_stream-style decoding on the server-side (Benjamin Coddington) [1950303] - SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() (Benjamin Coddington) [1950303] - NFSD: Add SPDX header for fs/nfsd/trace.c (Benjamin Coddington) [1950303] - SUNRPC: Move the svc_xdr_recvfrom() tracepoint (Benjamin Coddington) [1950303] - NFSD: Add SPDX header for fs/nfsd/trace.c (Benjamin Coddington) [1950303] - NFSD: A semicolon is not needed after a switch statement. (Benjamin Coddington) [1950303] - svcrdma: support multiple Read chunks per RPC (Benjamin Coddington) [1950303] - svcrdma: Use the new parsed chunk list when pulling Read chunks (Benjamin Coddington) [1950303] - svcrdma: Rename info::ri_chunklen (Benjamin Coddington) [1950303] - svcrdma: Clean up chunk tracepoints (Benjamin Coddington) [1950303] - svcrdma: Remove chunk list pointers (Benjamin Coddington) [1950303] - svcrdma: Support multiple Write chunks in svc_rdma_send_reply_chunk (Benjamin Coddington) [1950303] - svcrdma: Support multiple Write chunks in svc_rdma_map_reply_msg() (Benjamin Coddington) [1950303] - svcrdma: Support multiple write chunks when pulling up (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to encode Reply transport headers (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to construct RDMA Writes (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to detect reverse direction replies (Benjamin Coddington) [1950303] - svcrdma: Use parsed chunk lists to derive the inv_rkey (Benjamin Coddington) [1950303] - svcrdma: Add a "parsed chunk list" data structure (Benjamin Coddington) [1950303] - svcrdma: Clean up svc_rdma_encode_reply_chunk() (Benjamin Coddington) [1950303] - svcrdma: Post RDMA Writes while XDR encoding replies (Benjamin Coddington) [1950303] - NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders (Benjamin Coddington) [1950303] - SUNRPC: Rename svc_encode_read_payload() (Benjamin Coddington) [1950303] - svcrdma: Refactor the RDMA Write path (Benjamin Coddington) [1950303] - svcrdma: Const-ify the xdr_buf arguments (Benjamin Coddington) [1950303] - SUNRPC: Adjust synopsis of xdr_buf_subsegment() (Benjamin Coddington) [1950303] - svcrdma: Catch another Reply chunk overflow case (Benjamin Coddington) [1950303] - xprtrdma: Micro-optimize MR DMA-unmapping (Benjamin Coddington) [1950303] - xprtrdma: Move rpcrdma_mr_put() (Benjamin Coddington) [1950303] - xprtrdma: Trace unmap_sync calls (Benjamin Coddington) [1950303] - xprtrdma: Display the task ID when reporting MR events (Benjamin Coddington) [1950303] - xprtrdma: Clean up trace_xprtrdma_nomrs() (Benjamin Coddington) [1950303] - xprtrdma: Clean up xprtrdma callback tracepoints (Benjamin Coddington) [1950303] - xprtrdma: Clean up tracepoints in the reply path (Benjamin Coddington) [1950303] - xprtrdma: Clean up reply parsing error tracepoints (Benjamin Coddington) [1950303] - xprtrdma: Clean up trace_xprtrdma_post_linv (Benjamin Coddington) [1950303] - xprtrdma: Introduce FRWR completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Introduce Send completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Introduce Receive completion IDs (Benjamin Coddington) [1950303] - xprtrdma: Replace dprintk call sites in ERR_CHUNK path (Benjamin Coddington) [1950303] - xprtrdma: Fix a BUG when tracing is enabled with NFSv4.1 on RDMA (Benjamin Coddington) [1950303] - drm: virtio: fix common struct sg_table related issues (Eric Auger) [1971821] - net/mlx5e: Release skb in case of failure in tc update skb (Alaa Hleihel) [1915307] - net/mlx5: Release devlink object if adev fails (Alaa Hleihel) [1915307] - net/mlx5: Fix compilation warning for 32-bit platform (Alaa Hleihel) [1915307] - net/mlx5: Use effective interrupt affinity (Alaa Hleihel) [1915307] - net/mlx5: Replace irq_to_desc() abuse (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove unneeded semicolon (Alaa Hleihel) [1915307] - net: mlx5: convert comma to semicolon (Alaa Hleihel) [1915307] - net/mlx5e: Fill mlx5e_create_cq_param in a function (Alaa Hleihel) [1915307] - net/mlx5e: Split between RX/TX tunnel FW support indication (Alaa Hleihel) [1915307] - net/mlx5: Arm only EQs with EQEs (Alaa Hleihel) [1915307] - net/mlx5e: Remove duplicated include (Alaa Hleihel) [1915307] - net/mlx5e: Add TX port timestamp support (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Add TX PTP port object support (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Move MLX5E_RX_ERR_CQE macro (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Split SW group counters update function (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Change skb fifo push/pop API to be used without SQ (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow SQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow RQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Allow CQ outside of channel context (Alaa Hleihel) [1915307 1919646] - net/mlx5e: Free drop RQ in a dedicated function (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove IB representors dead code (Alaa Hleihel) [1915307] - net/mlx5: Simplify eswitch mode check (Alaa Hleihel) [1915307] - net/mlx5: Delete custom device management logic (Alaa Hleihel) [1915307] - RDMA/mlx5: Convert mlx5_ib to use auxiliary bus (Alaa Hleihel) [1915307] - net/mlx5e: Connect ethernet part to auxiliary bus (Alaa Hleihel) [1915307] - vdpa/mlx5: Connect mlx5_vdpa to auxiliary bus (Alaa Hleihel) [1915307] - net/mlx5: Register mlx5 devices to auxiliary virtual bus (Alaa Hleihel) [1915307] - vdpa/mlx5: Make hardware definitions visible to all mlx5 devices (Alaa Hleihel) [1915307] - net/mlx5_core: Clean driver version and name (Alaa Hleihel) [1915307] - net/mlx5: Treat host PF vport as other (non eswitch manager) vport (Alaa Hleihel) [1915307] - net/mlx5: Export steering related functions (Alaa Hleihel) [1915307] - net/mlx5: Expose other function ifc bits (Alaa Hleihel) [1915307] - net/mlx5: Expose IP-in-IP TX and RX capability bits (Alaa Hleihel) [1915307] - net/mlx5: Update the hardware interface definition for vhca state (Alaa Hleihel) [1915307] - net/mlx5: Avoid exposing driver internal command helpers (Alaa Hleihel) [1915307] - net/mlx5: Add ts_cqe_to_dest_cqn related bits (Alaa Hleihel) [1915307] - net/mlx5: Add misc4 to mlx5_ifc_fte_match_param_bits (Alaa Hleihel) [1915307] - net/mlx5: Check dr mask size against mlx5_match_param size (Alaa Hleihel) [1915307] - net/mlx5: Add sampler destination type (Alaa Hleihel) [1915307] - net/mlx5: Add sample offload hardware bits and structures (Alaa Hleihel) [1915307] - RDMA/mlx5: Use PCI device for dma mappings (Alaa Hleihel) [1915307] - RDMA/mlx5: Silence the overflow warning while building offset mask (Alaa Hleihel) [1915307] - RDMA/mlx5: Check for ERR_PTR from uverbs_zalloc() (Alaa Hleihel) [1915307] - RDMA/mlx5: Enable querying AH for XRC QP types (Alaa Hleihel) [1915307] - RDMA/mlx5: Lower setting the umem's PAS for SRQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use ib_umem_find_best_pgsz() for devx (Alaa Hleihel) [1915307] - RDMA/mlx5: mlx5_umem_find_best_quantized_pgoff() for CQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for QP (Alaa Hleihel) [1915307] - RDMA/mlx5: Directly compute the PAS list for raw QP RQ's (Alaa Hleihel) [1915307] - RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for WQ (Alaa Hleihel) [1915307] - RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ (Alaa Hleihel) [1915307] - net: mlx5: Replace in_irq() usage (Alaa Hleihel) [1915307] - net/mlx5: Cleanup kernel-doc warnings (Alaa Hleihel) [1915307] - net/mlx5e: Validate stop_room size upon user input (Alaa Hleihel) [1915307] - net/mlx5: DR, Free unused buddy ICM memory (Alaa Hleihel) [1915307] - net/mlx5: DR, ICM memory pools sync optimization (Alaa Hleihel) [1915307] - net/mlx5: DR, Sync chunks only during free (Alaa Hleihel) [1915307] - net/mlx5: DR, Handle ICM memory via buddy allocation instead of buckets (Alaa Hleihel) [1915307] - net/mlx5: DR, Add buddy allocator utilities (Alaa Hleihel) [1915307] - net/mlx5: DR, Rename matcher functions to be more HW agnostic (Alaa Hleihel) [1915307] - net/mlx5: DR, Rename builders HW specific names (Alaa Hleihel) [1915307] - net/mlx5: DR, Remove unused member of action struct (Alaa Hleihel) [1915307] - IB/mlx5: Add support for NDR link speed (Alaa Hleihel) [1915307 1926596] - RDMA/mlx5: Use ib_umem_find_best_pgsz() for mkc's (Alaa Hleihel) [1915307] - RDMA/mlx5: Split the WR setup out of mlx5_ib_update_xlt() (Alaa Hleihel) [1915307] - RDMA/mlx5: Move xlt_emergency_page_mutex into mr.c (Alaa Hleihel) [1915307] - RDMA/mlx5: Change mlx5_ib_populate_pas() to use rdma_for_each_block() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove npages from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove ncont from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove order from mlx5_ib_cont_pages() (Alaa Hleihel) [1915307] - RDMA/mlx5: Move mlx5_ib_cont_pages() to the creation of the mlx5_ib_mr (Alaa Hleihel) [1915307] - RDMA/mlx5: Remove mlx5_ib_mr->order (Alaa Hleihel) [1915307] - net/mlx5: fix error return code in mlx5e_tc_nic_init() (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Fix IPsec packet drop by mlx5e_tc_update_skb (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Use spin_lock_bh for async_icosq_lock (Alaa Hleihel) [1915306 1915307] - net/mlx5: Replace zero-length array with flexible-array member (Alaa Hleihel) [1915306 1915307] - net/mlx5: Fix uininitialized pointer read on pointer attr (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for devlink reload limit no reset (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for fw live patch event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add devlink param enable_remote_dev_reset support (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add support for devlink reload action fw activate (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset abort event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset now event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Handle sync reset request event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Set cap for pci sync for fw update event (Alaa Hleihel) [1915306 1915307] - net/mlx5: Add functions to set/query MFRL register (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Fix potential null pointer dereference (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Fix dereference on pointer attr after null check (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Use dma device access helper (Alaa Hleihel) [1915306 1915307] - mlx5: cross-tree: phase out dma_zalloc_coherent() (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-Switch, Support flow source for local vport (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Move devlink eswitch ports closer to eswitch (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Use helper function to load unload representor (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Add helper to check egress ACL need (Alaa Hleihel) [1915306 1915307] - net/mlx5: E-switch, Use PF num in metadata reg c0 (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Add support for rule creation with flow source hint (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Call ste_builder directly with tag pointer (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded local variable (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded vlan check from L2 builder (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Remove unneeded check from source port builder (Alaa Hleihel) [1915306 1915307] - net/mlx5: DR, Replace the check for valid STE entry (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Delete not needed GSI QP signal QP type (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Change GSI QP to have same creation flow like other QPs (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Reuse existing fields in parent QP storage object (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Embed GSI QP into general mlx5_ib QP (Alaa Hleihel) [1915306 1915307] - net/mlx5: remove unreachable return (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Use kfree() to free fd->g in accel_fs_tcp_create_groups() (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Keep direct reference to mlx5_core_dev in tc ct (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Support CT offload for tc nic flows (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: rework ct offload init messages (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Add tc chains offload support for nic flows (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Refactor tc flow attributes structure (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Split nic tc flow allocation and creation (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5e: Tc nic flows to use mlx5_chains flow tables (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Allow ft level ignore for nic rx tables (Alaa Hleihel) [1915306 1915307 1919642] - net/mlx5: Refactor multi chains and prios support (Alaa Hleihel) [1915306 1915307 1919642] - RDMA/mlx5: Don't call to restrack recursively (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Expose TIR and QP ICM address for sw_owner_v2 devices (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Allow DM allocation for sw_owner_v2 enabled devices (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Add sw_owner_v2 bit capability (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Delete duplicated mlx5_ptys_width enum (Alaa Hleihel) [1915306 1915307] - net/mlx5: IPsec: make spdxcheck.py happy (Alaa Hleihel) [1915306 1915307] - mlx5: add pause frame stats (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Add CQE compression support for multi-strides packets (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Add support for tc trap (Alaa Hleihel) [1915306 1915307 1919643] - net/mlx5: E-Switch, Use vport metadata matching by default (Alaa Hleihel) [1915306 1915307] - net/mlx5: remove erroneous fallthrough (Alaa Hleihel) [1915306 1915307] - IB/mlx5: Add DCT RoCE LAG support (Alaa Hleihel) [1915306 1915307] - IB/mlx5: Add tx_affinity support for DCI QP (Alaa Hleihel) [1915306 1915307] - net/mlx5e: RX, Add a prefetch command for small L1_CACHE_BYTES (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Enable sniffer when device is in switchdev mode (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Add new IB rates support (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Replace open-coded offsetofend() macro (Alaa Hleihel) [1915306 1915307] - RDMA/mlx5: Simplify multiple else-if cases with switch keyword (Alaa Hleihel) [1915306 1915307] - net/mlx5e: Link non uplink representors to PCI device (Alaa Hleihel) [1915306 1915307 1959367] - perf stat: Use nftw() instead of ftw() (Michael Petlan) [1944684] - perf unwind: Set userdata for all __report_module() paths (Michael Petlan) [1944684] - perf debug: Move debug initialization earlier (Michael Petlan) [1944684] - perf script: Fix overrun issue for dynamically-allocated PMU type number (Michael Petlan) [1944684] - perf metricgroup: Fix system PMU metrics (Michael Petlan) [1944684] - perf metricgroup: Fix for metrics containing duration_time (Michael Petlan) [1944684] - perf evlist: Fix id index for heterogeneous systems (Michael Petlan) [1944684] - perf inject: Correct event attribute sizes (Michael Petlan) [1944684] - perf intel-pt: Fix 'CPU too large' error (Michael Petlan) [1944684] - perf stat: Take cgroups into account for shadow stats (Michael Petlan) [1944684] - perf stat: Introduce struct runtime_stat_data (Michael Petlan) [1944684] - libperf tests: Fail when failing to get a tracepoint id (Michael Petlan) [1944684] - libperf tests: If a test fails return non-zero (Michael Petlan) [1944684] - libperf tests: Avoid uninitialized variable warning (Michael Petlan) [1944684] - perf test: Fix shadow stat test for non-bash shells (Michael Petlan) [1944684] - perf bpf examples: Fix bpf.h header include directive in 5sec.c example (Michael Petlan) [1944684] - perf probe: Fix memory leak when synthesizing SDT probes (Michael Petlan) [1944684] - perf stat aggregation: Add separate thread member (Michael Petlan) [1944684] - perf stat aggregation: Add separate core member (Michael Petlan) [1944684] - perf stat aggregation: Add separate die member (Michael Petlan) [1944684] - perf stat aggregation: Add separate socket member (Michael Petlan) [1944684] - perf stat aggregation: Add separate node member (Michael Petlan) [1944684] - perf stat aggregation: Start using cpu_aggr_id in map (Michael Petlan) [1944684] - perf cpumap: Drop in cpu_aggr_map struct (Michael Petlan) [1944684] - perf cpumap: Add new map type for aggregation (Michael Petlan) [1944684] - perf stat: Replace aggregation ID with a struct (Michael Petlan) [1944684] - perf cpumap: Add new struct for cpu aggregation (Michael Petlan) [1944684] - perf cpumap: Use existing allocator to avoid using malloc (Michael Petlan) [1944684] - perf tests: Improve topology test to check all aggregation types (Michael Petlan) [1944684] - perf powerpc: Move syscall.tbl check to check-headers.sh (Michael Petlan) [1944684] - tools arch x86: Sync the msr-index.h copy with the kernel sources (Michael Petlan) [1944684] - perf mem: Factor out a function to generate sort order (Michael Petlan) [1944684] - perf sort: Add sort option for data page size (Michael Petlan) [1944684] - perf script: Support data page size (Michael Petlan) [1944684] - tools headers UAPI: Sync linux/stat.h with the kernel sources (Michael Petlan) [1944684] - tools: Factor HOSTCC, HOSTLD, HOSTAR definitions (Michael Petlan) [1944684] - perf config: Fix example command in manpage to conform to syntax specified in the SYNOPSIS section. (Michael Petlan) [1944684] - perf test: Make sample-parsing test aware of PERF_SAMPLE_{CODE,DATA}_PAGE_SIZE (Michael Petlan) [1944684] - perf tools: Add support to read build id from compressed elf (Michael Petlan) [1944684] - perf debug: Add debug_set_file function (Michael Petlan) [1944684] - perf evlist: Support pipe mode display (Michael Petlan) [1944684] - perf report: Support --header-only for pipe mode (Michael Petlan) [1944684] - perf vendor events: Add JSON metrics for imx8mm DDR Perf (Michael Petlan) [1944684] - perf metricgroup: Support adding metrics for system PMUs (Michael Petlan) [1944684] - perf metricgroup: Support printing metric groups for system PMUs (Michael Petlan) [1944684] - perf metricgroup: Split up metricgroup__print() (Michael Petlan) [1944684] - perf metricgroup: Fix metrics using aliases covering multiple PMUs (Michael Petlan) [1944684] - perf evlist: Change evlist__splice_list_tail() ordering (Michael Petlan) [1944684] - perf pmu: Add pmu_add_sys_aliases() (Michael Petlan) [1944684] - perf pmu: Add pmu_id() (Michael Petlan) [1944684] - perf jevents: Add support for system events tables (Michael Petlan) [1944684] - perf jevents: Add support for an extra directory level (Michael Petlan) [1944684] - perf evsel: Emit warning about kernel not supporting the data page size sample_type bit (Michael Petlan) [1944684] - perf record: Support new sample type for data page size (Michael Petlan) [1944684] - perf unwind: Fix separate debug info files when using elfutils' libdw's unwinder (Michael Petlan) [1944684] - perf record: Fix memory leak when using '--user-regs=?' to list registers (Michael Petlan) [1944684] - tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1944684] - tools build: Add missing libcap to test-all.bin target (Michael Petlan) [1944684] - perf test: Fix metric parsing test (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' record methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' diff methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' nr_threads method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' deliver event method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' header methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' raw samples methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' mmap pages parsing method (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event attribute config methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for alternative 'struct evlist' constructors (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event selection methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' event group methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' create maps methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' print methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' evsel list methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' pause/resume methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' id_pos methods (Michael Petlan) [1944684] - perf tools: Add aarch64 registers to --user-regs (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' tracking event methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' browser methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sample id lookup methods (Michael Petlan) [1944684] - perf evlist: Ditch unused set/reset sample_bit methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sample parsing methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' sideband thread methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' 'filter' methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' stats methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' 'workload' methods (Michael Petlan) [1944684] - perf evlist: Use the right prefix for 'struct evlist' methods: evlist__set_leader() (Michael Petlan) [1944684] - perf evsel: Convert last 'struct evsel' methods to the right evsel__ prefix (Michael Petlan) [1944684] - perf test: Add shadow stat test (Michael Petlan) [1944684] - perf build-id: Add build_id_cache__add function (Michael Petlan) [1944684] - perf build-id: Add __perf_session__cache_build_ids function (Michael Petlan) [1944684] - perf build-id: Use machine__for_each_dso in perf_session__cache_build_ids (Michael Petlan) [1944684] - perf data: Add is_perf_data function (Michael Petlan) [1944684] - perf symbols: Try to load vmlinux from buildid database (Michael Petlan) [1944684] - perf tools: Use struct extra_kernel_map in machine__process_kernel_mmap_event (Michael Petlan) [1944684] - perf build-id: Add check for existing link in buildid dir (Michael Petlan) [1944684] - perf tools: Add filename__decompress function (Michael Petlan) [1944684] - perf tools: Add build_id__is_defined function (Michael Petlan) [1944684] - tools lib: Adopt memchr_inv() from kernel (Michael Petlan) [1944684] - perf arm-spe: Add support for ARMv8.3-SPE (Michael Petlan) [1944684] - perf arm_spe: Decode memory tagging properties (Michael Petlan) [1944684] - perf arm-spe: Add more sub classes for operation packet (Michael Petlan) [1944684] - perf arm-spe: Refactor operation packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_op_type() (Michael Petlan) [1944684] - perf arm-spe: Remove size condition checking for events (Michael Petlan) [1944684] - perf arm-spe: Refactor event type handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_event() (Michael Petlan) [1944684] - perf arm-spe: Refactor counter packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_counter() (Michael Petlan) [1944684] - perf arm-spe: Refactor context packet handling (Michael Petlan) [1944684] - perf arm_spe: Fixup top byte for data virtual address (Michael Petlan) [1944684] - perf arm-spe: Refactor address packet handling (Michael Petlan) [1944684] - perf arm-spe: Add new function arm_spe_pkt_desc_addr() (Michael Petlan) [1944684] - perf arm-spe: Refactor packet header parsing (Michael Petlan) [1944684] - perf arm-spe: Refactor printing string to buffer (Michael Petlan) [1944684] - perf expr: Force encapsulation on expr_id_data (Michael Petlan) [1944684] - perf vendor events: Update Skylake client events to v50 (Michael Petlan) [1944684] - perf data: Allow to use stdio functions for pipe mode (Michael Petlan) [1944684] - perf arm-spe: Fix packet length handling (Michael Petlan) [1944684] - perf arm-spe: Refactor arm_spe_get_events() (Michael Petlan) [1944684] - perf arm-spe: Refactor payload size calculation (Michael Petlan) [1944684] - perf arm-spe: Fix a typo in comment (Michael Petlan) [1944684] - perf arm-spe: Include bitops.h for BIT() macro (Michael Petlan) [1944684] - perf mem: Support ARM SPE events (Michael Petlan) [1944684] - perf c2c: Support AUX trace (Michael Petlan) [1944684] - perf mem: Support AUX trace (Michael Petlan) [1944684] - perf auxtrace: Add itrace option '-M' for memory events (Michael Petlan) [1944684] - perf mem: Only initialize memory event for recording (Michael Petlan) [1944684] - perf c2c: Support memory event PERF_MEM_EVENTS__LOAD_STORE (Michael Petlan) [1944684] - perf mem: Support new memory event PERF_MEM_EVENTS__LOAD_STORE (Michael Petlan) [1944684] - perf mem: Introduce weak function perf_mem_events__ptr() (Michael Petlan) [1944684] - perf mem: Search event name with more flexible path (Michael Petlan) [1944684] - perf jevents: Add test for arch std events (Michael Petlan) [1944684] - perf jevents: Tidy error handling (Michael Petlan) [1944684] - perf trace beauty: Allow header files in a different path (Michael Petlan) [1944684] - perf stat: Add --quiet option (Michael Petlan) [1944684] - perf stat: Support regex pattern in --for-each-cgroup (Michael Petlan) [1944684] - perf kvm: Add kvm-stat for arm64 (Michael Petlan) [1944684] - perf env: Conditionally compile BPF support code on having HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf annotate: Move bpf header inclusion to inside HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf tests: Skip the llvm and bpf tests if HAVE_LIBBPF_SUPPORT isn't defined (Michael Petlan) [1944684] - perf bpf: Enclose libbpf.h include within HAVE_LIBBPF_SUPPORT (Michael Petlan) [1944684] - perf test: Implement skip_reason callback for watchpoint tests (Michael Petlan) [1944684] - perf tests tsc: Add checking helper is_supported() (Michael Petlan) [1944684] - perf tests tsc: Make tsc testing as a common testing (Michael Petlan) [1944684] - perf mem2node: Improve warning if detected no memory nodes (Michael Petlan) [1944684] - perf version: Add a feature for libpfm4 (Michael Petlan) [1944684] - perf annotate mips: Add perf arch instructions annotate handlers (Michael Petlan) [1944684] - perf/x86/intel: Add Tremont Topdown support (Michael Petlan) [1944684] - perf/x86: Fix fall-through warnings for Clang (Michael Petlan) [1944684] - perf/x86/intel/lbr: Fix the return type of get_lbr_cycles() (Michael Petlan) [1944684] - perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake (Michael Petlan) [1944684] - perf: Break deadlock involving exec_update_mutex (Michael Petlan) [1944684] - perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY (Michael Petlan) [1944684] - perf/x86: Avoid TIF_IA32 when checking 64bit mode (Michael Petlan) [1944684] - bpf, ringbuf: Deny reserve of buffers larger than ringbuf (Wander Lairson Costa) [1968591] - bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds (Wander Lairson Costa) [1965938] - tools/power turbostat: Support Alder Lake Mobile (Steve Best) [1962291] - ACPI: PM: Add ACPI ID of Alder Lake Fan (Steve Best) [1961617] - powercap/intel_rapl: add support for AlderLake Mobile (Steve Best) [1961816] - platform/x86: intel_pmc_core: Uninitialized data in pmc_core_lpm_latch_mode_write() (David Arcari) [1783557] - platform/x86: intel_pmc_core: add ACPI dependency (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix "unsigned 'ret' is never less than zero" smatch warning (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add LTR registers for Tiger Lake (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add option to set/clear LPM mode (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add requirements file to debugfs (David Arcari) [1783557] - platform/x86: intel_pmc_core: Get LPM requirements for Tiger Lake (David Arcari) [1783557] - platform/x86: intel_pmc_core: Show LPM residency in microseconds (David Arcari) [1783557] - platform/x86: intel_pmc_core: Handle sub-states generically (David Arcari) [1783557] - platform/x86: intel_pmc_core: Remove global struct pmc_dev (David Arcari) [1783557] - platform/x86: intel_pmc_core: Don't use global pmcdev in quirks (David Arcari) [1783557] - platform/x86: intel_pmc_core: export platform global reset bits via etr3 sysfs file (David Arcari) [1783557] - MAINTAINERS: Update maintainers for pmc_core driver (David Arcari) [1783557] - MAINTAINERS: intel_pmc_core: Update MAINTAINERS (David Arcari) [1783557] - platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms (David Arcari) [1783557] - platform/x86: intel_pmc_core: Assign boolean values to a bool variable (David Arcari) [1783557] - platform/x86: intel_pmc_core: fix: Replace dev_dbg macro with dev_info() (David Arcari) [1783557] - platform/x86: intel_pmc_core: Clean up: Remove the duplicate comments and reorganize (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value (David Arcari) [1783557] - platform/x86: intel_pmc_core: Fix TigerLake power gating status map (David Arcari) [1783557] - platform/x86: pmc_core: Use descriptive names for LPM registers (David Arcari) [1783557] - platform/x86: intel_pmc_core: Change Jasper Lake S0ix debug reg map back to ICL (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add Atom based Jasper Lake (JSL) platform support (David Arcari) [1783557] - platform/x86: intel_pmc_core: Add Intel Elkhart Lake support (David Arcari) [1783557] - [s390] s390/ipl: support NVMe IPL kernel parameters (Claudio Imbrenda) [1963120] - [s390] net/smc: use memcpy instead of snprintf to avoid out of bounds read (Claudio Imbrenda) [1919249] - [s390] smc: fix out of bound access in smc_nl_get_sys_info() (Claudio Imbrenda) [1919249] - [s390] net/smc: fix access to parent of an ib device (Claudio Imbrenda) [1919249] - [s390] s390/vtime: fix increased steal time accounting (Claudio Imbrenda) [1963075] - [s390] tools/kvm_stat: Add restart delay (Claudio Imbrenda) [1963082] - [s390] s390/dasd: fix hanging IO request during DASD driver unbind (Claudio Imbrenda) [1963077] - [s390] s390/dasd: fix hanging DASD driver unbind (Claudio Imbrenda) [1963077]- Add New KUNIT Tests to Redhat kernel-modules-internal (Nico Pache) [1939309] - kunit: lib: adhear to KUNIT formatting standard (Nico Pache) [1939309] - kunit: mptcp: adhere to KUNIT formatting standard (Nico Pache) [1939309] - ASoC: topology: adhere to KUNIT formatting standard (Nico Pache) [1939309] - kunit: software node: adhear to KUNIT formatting standard (Nico Pache) [1939309] - resource: provide meaningful MODULE_LICENSE() in test suite (Nico Pache) [1939309] - resource: Add test cases for new resource API (Nico Pache) [1939309] - resource: Introduce resource_intersection() for overlapping resources (Nico Pache) [1939309] - resource: Introduce resource_union() for overlapping resources (Nico Pache) [1939309] - mm/resource: Use resource_overlaps() to simplify region_intersects() (Nico Pache) [1939309] - kernel.h: split out min()/max() et al. helpers (Nico Pache) [1939309] - lib/math/rational.c: fix possible incorrect result from rational fractions helper (Nico Pache) [1939309] - lib: Move mathematic helpers to separate folder (Nico Pache) [1939309] - lib/cmdline: remove an unneeded local variable in next_arg() (Nico Pache) [1939309] - lib/cmdline: Allow get_options() to take 0 to validate the input (Nico Pache) [1939309] - lib/cmdline: Update documentation to reflect behaviour (Nico Pache) [1939309] - lib/cmdline_kunit: add a new test case for get_options() (Nico Pache) [1939309] - ext4: add .kunitconfig fragment to enable ext4-specific tests (Nico Pache) [1939309] - ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it (Nico Pache) [1939309] - kunit: tool: fix unintentional statefulness in run_kernel() (Nico Pache) [1939309] - kunit: tool: add support for filtering suites by glob (Nico Pache) [1939309] - kunit: add kunit.filter_glob cmdline option to filter suites (Nico Pache) [1939309] - kunit: don't show `1 == 1` in failed assertion messages (Nico Pache) [1939309] - kunit: make kunit_tool accept optional path to .kunitconfig fragment (Nico Pache) [1939309] - Documentation: kunit: add tips.rst for small examples (Nico Pache) [1939309] - KUnit: Docs: make start.rst example Kconfig follow style.rst (Nico Pache) [1939309] - kunit: tool: simplify kconfig is_subset_of() logic (Nico Pache) [1939309] - minor: kunit: tool: fix unit test so it can run from non-root dir (Nico Pache) [1939309] - kunit: tool: use `with open()` in unit test (Nico Pache) [1939309] - kunit: tool: stop using bare asserts in unit test (Nico Pache) [1939309] - kunit: tool: fix unit test cleanup handling (Nico Pache) [1939309] - ASoC: topology: KUnit: Convert from cpu to data format (Nico Pache) [1939309] - drivers/base: build kunit tests without structleak plugin (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing topology with PCM to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing empty topology with variants to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: KUnit: Add KUnit tests passing various arguments to snd_soc_tplg_component_load (Nico Pache) [1939309] - ASoC: topology: Check if ops is set before dereference (Nico Pache) [1939309] - ASoC: topology: Ensure that needed parameters are set (Nico Pache) [1939309] - kunit: tool: move kunitconfig parsing into __init__, make it optional (Nico Pache) [1939309] - kunit: tool: fix minor typing issue with None status (Nico Pache) [1939309] - kunit: tool: surface and address more typing issues (Nico Pache) [1939309] - Documentation: kunit: include example of a parameterized test (Nico Pache) [1939309] - kunit: tool: Fix spelling of "diagnostic" in kunit_parser (Nico Pache) [1939309] - kunit: tool: Force the use of the 'tty' console for UML (Nico Pache) [1939309] - lib/cmdline_kunit: add a new test suite for cmdline API (Nico Pache) [1939309] - lib/cmdline: allow NULL to be an output for get_option() (Nico Pache) [1939309] - lib/cmdline: fix get_option() for strings starting with hyphen (Nico Pache) [1939309] - lib/cmdline.c: mark expected switch fall-throughs (Nico Pache) [1939309] - lib/test_bits.c: add tests of GENMASK (Nico Pache) [1939309] - linux/bits.h: add compile time sanity check of GENMASK inputs (Nico Pache) [1939309] - linux/build_bug.h: change type to int (Nico Pache) [1939309] - fs: ext4: Modify inode-test.c to use KUnit parameterized testing feature (Nico Pache) [1939309] - kunit: Support for Parameterized Testing (Nico Pache) [1939309] - kunit: kunit_tool: Correctly parse diagnostic messages (Nico Pache) [1939309] - Documentation: kunit: provide guidance for testing many inputs (Nico Pache) [1939309] - kunit: Introduce get_file_path() helper (Nico Pache) [1939309] - kunit: fix display of failed expectations for strings (Nico Pache) [1939309] - kunit: tool: fix extra trailing \n in raw + parsed test output (Nico Pache) [1939309] - kunit: tool: print out stderr from make (like build warnings) (Nico Pache) [1939309] - KUnit: Docs: usage: wording fixes (Nico Pache) [1939309] - KUnit: Docs: style: fix some Kconfig example issues (Nico Pache) [1939309] - KUnit: Docs: fix a wording typo (Nico Pache) [1939309] - kunit: Do not pollute source directory with generated files (test.log) (Nico Pache) [1939309] - kunit: Do not pollute source directory with generated files (.kunitconfig) (Nico Pache) [1939309] - kunit: tool: fix pre-existing python type annotation errors (Nico Pache) [1939309] - kunit: Fix kunit.py parse subcommand (use null build_dir) (Nico Pache) [1939309] - kunit: test: fix remaining kernel-doc warnings (Nico Pache) [1939309] - lib: kunit: Fix compilation test when using TEST_BIT_FIELD_COMPILE (Nico Pache) [1939309] - kunit: test.h: fix a bad kernel-doc markup (Nico Pache) [1939309] - kunit: test.h: solve kernel-doc warnings (Nico Pache) [1939309] - lib: kunit: add bitfield test conversion to KUnit (Nico Pache) [1939309] - Documentation: kunit: add a brief blurb about kunit_test_suite (Nico Pache) [1939309] - kunit: test: add test plan to KUnit TAP format (Nico Pache) [1939309] - init: main: add KUnit to kernel init (Nico Pache) [1939309] - init: unify opening /dev/console as stdin/stdout/stderr (Nico Pache) [1939309] - kunit: test: create a single centralized executor for all tests (Nico Pache) [1939309] - Documentation: test.h - fix warnings (Nico Pache) [1939309] - vmlinux.lds.h: add linker section for KUnit test suites (Nico Pache) [1939309] - Documentation: kunit: Add naming guidelines (Nico Pache) [1939309] - kunit: tool: fix display of make errors (Nico Pache) [1939309] - kunit: tool: handle when .kunit exists but .kunitconfig does not (Nico Pache) [1939309] - kunit: tool: fix --alltests flag (Nico Pache) [1939309] - kunit: tool: allow generating test results in JSON (Nico Pache) [1939309] - kunit: tool: fix running kunit_tool from outside kernel tree (Nico Pache) [1939309] - lib: add linear ranges helpers (Nico Pache) [1939309] - PCI/RCEC: Fix RCiEP device to RCEC association (Myron Stowe) [1895942] - PCI/portdrv: Report reset for frozen channel (Myron Stowe) [1895942] - PCI/AER: Specify the type of Port that was reset (Myron Stowe) [1895942] - PCI/ERR: Retain status from error notification (Myron Stowe) [1895942] - PCI/AER: Clear AER status from Root Port when resetting Downstream Port (Myron Stowe) [1895942] - PCI/ERR: Clear status of the reporting device (Myron Stowe) [1895942] - PCI/AER: Add RCEC AER error injection support (Myron Stowe) [1895942] - PCI/PME: Add pcie_walk_rcec() to RCEC PME handling (Myron Stowe) [1895942] - PCI/AER: Add pcie_walk_rcec() to RCEC AER handling (Myron Stowe) [1895942] - PCI/ERR: Recover from RCiEP AER errors (Myron Stowe) [1895942] - PCI/ERR: Add pcie_link_rcec() to associate RCiEPs (Myron Stowe) [1895942] - PCI/ERR: Recover from RCEC AER errors (Myron Stowe) [1895942] - PCI/ERR: Clear AER status only when we control AER (Myron Stowe) [1895942] - PCI/ERR: Add pci_walk_bridge() to pcie_do_recovery() (Myron Stowe) [1895942] - PCI/ERR: Avoid negated conditional for clarity (Myron Stowe) [1895942] - PCI/ERR: Use "bridge" for clarity in pcie_do_recovery() (Myron Stowe) [1895942] - PCI/ERR: Simplify by computing pci_pcie_type() once (Myron Stowe) [1895942] - PCI/ERR: Simplify by using pci_upstream_bridge() (Myron Stowe) [1895942] - PCI/ERR: Rename reset_link() to reset_subordinates() (Myron Stowe) [1895942] - PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities() (Myron Stowe) [1895942] - PCI/ERR: Bind RCEC devices to the Root Port driver (Myron Stowe) [1895942] - PCI/AER: Write AER Capability only when we control it (Myron Stowe) [1895942] - PCI: Export pcie_has_flr() (Myron Stowe) [1895942] - xfs: don't reuse busy extents on extent trim (Brian Foster) [1960380] - nvme: add 'kato' sysfs attribute (Gopal Tiwari) [1970260] - scsi: qla2xxx: Update version to 10.02.00.106-k (Nilesh Javali) [1925465] - scsi: qla2xxx: Add marginal path handling support (Nilesh Javali) [1925465] - scsi: qla2xxx: Do logout even if fabric scan retries got exhausted (Nilesh Javali) [1925465] - scsi: qla2xxx: Update default AER debug mask (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix mailbox recovery during PCIe error (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix crash in PCIe error handling (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix RISC RESET completion polling (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix use after free in bsg (Nilesh Javali) [1925465] - scsi: qla2xxx: Consolidate zio threshold setting for both FCP & NVMe (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix stuck session (Nilesh Javali) [1925465] - scsi: qla2xxx: Add H:C:T info in the log message for fc ports (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix IOPS drop seen in some adapters (Nilesh Javali) [1925465] - scsi: qla2xxx: Check kzalloc() return value (Nilesh Javali) [1925465] - scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify qla8044_minidump_process_control() (Nilesh Javali) [1925465] - scsi: qla2xxx: Suppress Coverity complaints about dseg_r* (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix endianness annotations (Nilesh Javali) [1925465] - scsi: qla2xxx: Constify struct qla_tgt_func_tmpl (Nilesh Javali) [1925465] - scsi: qla2xxx: Use dma_pool_zalloc() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix a couple of misdocumented functions (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix incorrectly named function qla8044_check_temp() (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix a couple of misnamed functions (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix some incorrect formatting/spelling issues (Nilesh Javali) [1925465] - scsi: qla2xxx: Replace __qla2x00_marker()'s missing underscores (Nilesh Javali) [1925465] - scsi: Revert "qla2xxx: Make sure that aborted commands are freed" (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix broken #endif placement (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify if statement (Nilesh Javali) [1925465] - scsi: qla2xxx: Simplify the calculation of variables (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix some memory corruption (Nilesh Javali) [1925465] - scsi: qla2xxx: Remove redundant NULL check (Nilesh Javali) [1925465] - scsi: qla2xxx: Remove unnecessary NULL check (Nilesh Javali) [1925465] - scsi: qla2xxx: Assign boolean values to a bool variable (Nilesh Javali) [1925465] - scsi: qla2xxx: fc_remote_port_chkready() returns a SCSI result value (Nilesh Javali) [1925465] - scsi: qla2xxx: Fix description for parameter ql2xenforce_iocb_limit (Nilesh Javali) [1925465] - scsi: qla2xxx: Update version to 10.02.00.105-k (Nilesh Javali) [1925465] - scsi: qla2xxx: Enable NVMe CONF (BIT_7) when enabling SLER (Nilesh Javali) [1925465] - scsi: qla2xxx: Wait for ABTS response on I/O timeouts for NVMe (Nilesh Javali) [1925465] - scsi: qla2xxx: Move some messages from debug to normal log level (Nilesh Javali) [1925465] - scsi: qla2xxx: Add error counters to debugfs node (Nilesh Javali) [1925465] - scsi: qla2xxx: Implementation to get and manage host, target stats and initiator port (Nilesh Javali) [1925465] - scsi: ibmvfc: Reinit target retries (Steve Best) [1965010] - scsi: ibmvfc: Avoid move login if fast fail is enabled (Steve Best) [1965010] - scsi: ibmvfc: Handle move login failure (Steve Best) [1965010] - scsi: ibmvfc: Fix invalid state machine BUG_ON() (Steve Best) [1965010] - scsi: qedf: Do not put host in qedf_vport_create() unconditionally (Nilesh Javali) [1899384] - scsi: storvsc: Enable scatterlist entry lengths > 4Kbytes (Cathy Avery) [1941664] - scsi: storvsc: Parameterize number hardware queues (Cathy Avery) [1941664] - scsi: storvsc: Return DID_ERROR for invalid commands (Cathy Avery) [1941664] - scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback() (Cathy Avery) [1941664] - scsi: storvsc: Resolve data race in storvsc_probe() (Cathy Avery) [1941664] - scsi: storvsc: Fix max_outstanding_req_per_channel for Win8 and newer (Cathy Avery) [1941664] - scsi: storvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening (Cathy Avery) [1941664] - RDMA/ipoib: Fix warning caused by destroying non-initial netns (Kamal Heib) [1961815] - can: dev: Move device back to init netns on owning netns delete (Kamal Heib) [1961815] - net: ena: remove extra words from comments (Petr Oros) [1955155] - net: ena: fix inaccurate print type (Petr Oros) [1955155] - ena: Update driver to use ethtool_sprintf (Petr Oros) [1955155] - docs: net: ena: Fix ena_start_xmit() function name typo (Petr Oros) [1955155] - ethernet: amazon: ena: A typo fix in the file ena_com.h (Petr Oros) [1955155] - net: ena: Update XDP verdict upon failure (Petr Oros) [1955155] - net: ena: introduce ndo_xdp_xmit() function for XDP_REDIRECT (Petr Oros) [1955155] - net: ena: use xdp_return_frame() to free xdp frames (Petr Oros) [1955155] - net: ena: introduce XDP redirect implementation (Petr Oros) [1955155] - net: ena: use xdp_frame in XDP TX flow (Petr Oros) [1955155] - net: ena: aggregate stats increase into a function (Petr Oros) [1955155] - net: ena: fix coding style nits (Petr Oros) [1955155] - net: ena: store values in their appropriate variables types (Petr Oros) [1955155] - net: ena: add device distinct log prefix to files (Petr Oros) [1955155] - net: ena: use constant value for net_device allocation (Petr Oros) [1955155] - net: ena: set initial DMA width to avoid intel iommu issue (Petr Oros) [1955155] - net: ena: update ena documentation (Petr Oros) [1955155] - net: ena: Fix all static chekers' warnings (Petr Oros) [1955155] - net: ena: Change RSS related macros and variables names (Petr Oros) [1955155] - net: ena: Remove redundant print of placement policy (Petr Oros) [1955155] - net: ena: Capitalize all log strings and improve code readability (Petr Oros) [1955155] - net: ena: Change log message to netif/dev function (Petr Oros) [1955155] - net: ena: Change license into format to SPDX in all files (Petr Oros) [1955155] - net: ena: xdp: add queue counters for xdp actions (Petr Oros) [1955155] - net: ena: ethtool: add stats printing to XDP queues (Petr Oros) [1955155] - net: ena: ethtool: Add new device statistics (Petr Oros) [1955155] - net: ena: ethtool: convert stat_offset to 64 bit resolution (Petr Oros) [1955155] - net: ena: Make missed_tx stat incremental (Petr Oros) [1955155] - net: ena: Prevent reset after device destruction (Petr Oros) [1955155] - treewide: replace '---help---' in Kconfig files with 'help' (Petr Oros) [1955155] - treewide: Add SPDX license identifier - Makefile/Kconfig (Petr Oros) [1955155] - cross-tree: phase out dma_zalloc_coherent() (Petr Oros) [1955155] - net: ena: fix compilation error in xtensa architecture (Petr Oros) [1955155] - docs: networking: reorganize driver documentation again (Petr Oros) [1955155] - docs: networking: device drivers: convert amazon/ena.txt to ReST (Petr Oros) [1955155] - net: ena: documentation: update ena.txt (Petr Oros) [1955155] - net: documentation: build a directory structure for drivers (Petr Oros) [1955155] - xfrm: interface: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - vti: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - vti6: fix ipv4 pmtu check to honor ip header df (Sabrina Dubroca) [1931942] - net/sched: act_ct: Fix ct template allocation for zone 0 (Marcelo Ricardo Leitner) [1881824] - uio: Fix use-after-free in uio_unregister_device() (Myron Stowe) [1897285] - uio: free uio id after uio file node is freed (Myron Stowe) [1897285] - drivers: uio: remove redundant assignment to variable retval (Myron Stowe) [1897285] - driver: uio: fix possible use-after-free in __uio_register_device (Myron Stowe) [1897285] - driver: uio: fix possible memory leak in __uio_register_device (Myron Stowe) [1897285] - uio: remove redundant check (Myron Stowe) [1897285] - uio: fix potential memory leak in error case (Myron Stowe) [1897285] - uio: dismiss waiters on device unregistration (Myron Stowe) [1897285] - uio: Fix an Oops on load (Myron Stowe) [1897285] - uio: make symbol 'uio_class_registered' static (Myron Stowe) [1897285] - uio: convert to vm_fault_t (Myron Stowe) [1897285] - uio: ensure class is registered before devices (Myron Stowe) [1897285] - uio: potential double frees if __uio_register_device() fails (Myron Stowe) [1897285] - uio: fix possible circular locking dependency (Myron Stowe) [1897285] - uio: fix wrong return value from uio_mmap() (Myron Stowe) [1897285] - uio: add SPDX license tag (Myron Stowe) [1897285] - net: zero-initialize tc skb extension on allocation (Ivan Vecera) [1946986] - net: sched: fix tx action reschedule issue with stopped queue (Ivan Vecera) [1946986] - net: sched: fix tx action rescheduling issue during deactivation (Ivan Vecera) [1946986] - net: sched: fix packet stuck problem for lockless qdisc (Ivan Vecera) [1946986] - net/sched: act_ct: Remove redundant ct get and check (Ivan Vecera) [1946986] - net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule (Ivan Vecera) [1946986] - tc-testing: add simple action test to verify batch change cleanup (Ivan Vecera) [1946986] - tc-testing: add simple action test to verify batch add cleanup (Ivan Vecera) [1946986] - tc-testing: add simple action change test (Ivan Vecera) [1946986] - selftests: forwarding: Add tc-police tests for packets per second (Ivan Vecera) [1946986] - selftests: tc-testing: add action police selftest for packets per second (Ivan Vecera) [1946986] - net: sched: Mundane typo fixes (Ivan Vecera) [1946986] - net/sched: cls_flower: use nla_get_be32 for TCA_FLOWER_KEY_FLAGS (Ivan Vecera) [1946986] - net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports (Ivan Vecera) [1946986] - taprio: Handle short intervals and large packets (Ivan Vecera) [1946986] - net/sched: cls_flower: fix only mask bit check in the validate_ct_state (Ivan Vecera) [1946986] - treewide: Remove uninitialized_var() usage (Ivan Vecera) [1946986] - lockdep: Provide dummy forward declaration of *_is_held() helpers (Ivan Vecera) [1946986] - net: sched: Remove broken definitions and un-hide for !LOCKDEP (Ivan Vecera) [1946986] - net: sched: sch_teql: fix null-pointer dereference (Ivan Vecera) [1946986] - net: sched: fix err handler in tcf_action_init() (Ivan Vecera) [1946986] - net: sched: fix action overwrite reference counting (Ivan Vecera) [1946986] - Revert "net: sched: bump refcount for new action in ACT replace mode" (Ivan Vecera) [1946986] - net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb (Ivan Vecera) [1946986] - net: sched: bump refcount for new action in ACT replace mode (Ivan Vecera) [1946986] - net/sched: act_api: fix miss set post_ct for ovs after do conntrack in act_ct (Ivan Vecera) [1946986] - net/sched: act_police: add support for packet-per-second policing (Ivan Vecera) [1946986] - flow_offload: reject configuration of packet-per-second policing in offload drivers (Ivan Vecera) [1946986] - flow_offload: add support for packet-per-second policing (Ivan Vecera) [1946986] - net: sched: validate stab values (Ivan Vecera) [1946986] - net: add a helper to avoid issues with HW TX timestamping and SO_TXTIME (Ivan Vecera) [1946986] - sched: act_sample: Implement stats_update callback (Ivan Vecera) [1946986] - net: sched: avoid duplicates in classes dump (Ivan Vecera) [1946986] - net/sched: cls_flower: validate ct_state for invalid and reply flags (Ivan Vecera) [1946986] - net: sched: fix police ext initialization (Ivan Vecera) [1946986] - selftests: tc: Add generic mpls matching support for tc-flower (Ivan Vecera) [1946986] - selftests: tc: Add basic mpls_* matching support for tc-flower (Ivan Vecera) [1946986] - selftests: tc-testing: u32: Add tests covering sample option (Ivan Vecera) [1946986] - net: sched: Return the correct errno code (Ivan Vecera) [1946986] - net: sched: replaced invalid qdisc tree flush helper in qdisc_replace (Ivan Vecera) [1946986] - selftests: forwarding: Fix spelling mistake "succeded" -> "succeeded" (Ivan Vecera) [1946986] - taprio: boolean values to a bool variable (Ivan Vecera) [1946986] - net_sched: fix RTNL deadlock again caused by request_module() (Ivan Vecera) [1946986] - cls_flower: call nla_ok() before nla_next() (Ivan Vecera) [1946986] - net/sched: sch_taprio: ensure to reset/destroy all child qdiscs (Ivan Vecera) [1946986] - net/sched: sch_taprio: reset child qdiscs before freeing them (Ivan Vecera) [1946986] - net: sched: incorrect Kconfig dependencies on Netfilter modules (Ivan Vecera) [1946986] - treewide: replace '---help---' in Kconfig files with 'help' (Ivan Vecera) [1946986] - net/sched: cls_u32: simplify the return expression of u32_reoffload_knode() (Ivan Vecera) [1946986] - net: sched: fix spelling mistake in Kconfig "trys" -> "tries" (Ivan Vecera) [1946986] - net/sched: fq_pie: initialize timer earlier in fq_pie_init() (Ivan Vecera) [1946986] - net: sched: remove redundant 'rtnl_held' argument (Ivan Vecera) [1946986] - selftests: tc-testing: enable CONFIG_NET_SCH_RED as a module (Ivan Vecera) [1946986] - net: sched: alias action flags with TCA_ACT_ prefix (Ivan Vecera) [1946986] - treewide: rename nla_strlcpy to nla_strscpy. (Ivan Vecera) [1946986] - Modify return value of nla_strlcpy to match that of strscpy. (Ivan Vecera) [1946986] - Fix unefficient call to memset before memcpu in nla_strlcpy. (Ivan Vecera) [1946986] - net: sched: fix misspellings using misspell-fixer tool (Ivan Vecera) [1946986] - selftest: fix flower terse dump tests (Ivan Vecera) [1946986] - net: sched: implement action-specific terse dump (Ivan Vecera) [1946986] - net: cls_api: remove unneeded local variable in tc_dump_chain() (Ivan Vecera) [1946986] - openvswitch: fix send of uninitialized stack memory in ct limit reply (Antoine Tenart) [1950022] - net/sched: act_api: fix miss set post_ct for ovs after do conntrack in act_ct (Antoine Tenart) [1950022] - xsk: Clear pool even for inactive queues (Jiri Benc) [1882710] - xsk: Fix memory leak for failed bind (Jiri Benc) [1882710] - xsk: Return error code if force_zc is set (Jiri Benc) [1882710] - xsk: Change the tx writeable condition (Jiri Benc) [1882710] - xsk: Replace datagram_poll by sock_poll_wait (Jiri Benc) [1882710] - xdp: Handle MEM_TYPE_XSK_BUFF_POOL correctly in xdp_return_buff() (Jiri Benc) [1882710] - xsk: Fix incorrect netdev reference count (Jiri Benc) [1882710] - xsk: Fix umem cleanup bug at socket destruct (Jiri Benc) [1882710] - netdevsim: set .owner to THIS_MODULE (Jiri Benc) [1882710] - bpf: selftest: Use static globals in tcp_hdr_options and btf_skc_cls_ingress (Jiri Benc) [1882710] - xsk: Fix possible memory leak at socket close (Jiri Benc) [1882710] - samples/bpf: Set rlimit for memlock to infinity in all samples (Jiri Benc) [1882710] - bpf, selftests: Extend test_tc_redirect to use modified bpf_redirect_neigh() (Jiri Benc) [1882710] - bpf: Fix bpf_redirect_neigh helper api to support supplying nexthop (Jiri Benc) [1882710] - bpf, selftest: Fix flaky tcp_hdr_options test when adding addr to lo (Jiri Benc) [1882710] - bpf, selftests: Add redirect_peer selftest (Jiri Benc) [1882710] - bpf, selftests: Make redirect_neigh test more extensible (Jiri Benc) [1882710] - bpf: Add redirect_peer helper (Jiri Benc) [1882710] - bpf: Improve bpf_redirect_neigh helper description (Jiri Benc) [1882710] - bpf: Always return target ifindex in bpf_fib_lookup (Jiri Benc) [1882710] - xsk: Introduce padding between ring pointers (Jiri Benc) [1882710] - xsk: Remove internal DMA headers (Jiri Benc) [1882710] - bpf: selftest: Ensure the child sk inherited all bpf_sock_ops_cb_flags (Jiri Benc) [1882710] - bpf: tcp: Do not limit cb_flags when creating child sk from listen sk (Jiri Benc) [1882710] - bpf, selftests: Add redirect_neigh selftest (Jiri Benc) [1882710] - bpf: Add redirect_neigh helper as redirect drop-in (Jiri Benc) [1882710] - tools, bpf: Synchronise BPF UAPI header with tools (Jiri Benc) [1882710] - bpf: Fix formatting in documentation for BPF helpers (Jiri Benc) [1882710] - xsk: Fix a documentation mistake in xsk_queue.h (Jiri Benc) [1882710] - xsk: Fix possible crash in socket_release when out-of-memory (Jiri Benc) [1882710] - xsk: Fix refcount warning in xp_dma_map (Jiri Benc) [1882710] - tcp: Only init congestion control if not initialized already (Jiri Benc) [1882710] - xsk: Fix null check on error return path (Jiri Benc) [1882710] - xsk: Fix possible segfault at xskmap entry insertion (Jiri Benc) [1882710] - xsk: Fix possible segfault in xsk umem diagnostics (Jiri Benc) [1882710] - xsk: Fix use-after-free in failed shared_umem bind (Jiri Benc) [1882710] - xsk: Documentation for XDP_SHARED_UMEM between queues and netdevs (Jiri Benc) [1882710] - xsk: Add shared umem support between devices (Jiri Benc) [1882710] - xsk: Add shared umem support between queue ids (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for better performance (Jiri Benc) [1882710] - xsk: Rearrange internal structs for better performance (Jiri Benc) [1882710] - xsk: Enable sharing of dma mappings (Jiri Benc) [1882710] - xsk: Move addrs from buffer pool to umem (Jiri Benc) [1882710] - xsk: Move xsk_tx_list and its lock to buffer pool (Jiri Benc) [1882710] - xsk: Move queue_id, dev and need_wakeup to buffer pool (Jiri Benc) [1882710] - xsk: Move fill and completion rings to buffer pool (Jiri Benc) [1882710] - xsk: Create and free buffer pool independently from umem (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Rename xsk zero-copy driver interfaces (Jiri Benc) [1882710] - xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem (Jiri Benc) [1882710] - tcp: bpf: Optionally store mac header in TCP_SAVE_SYN (Jiri Benc) [1882710] - bpf: selftests: Tcp header options (Jiri Benc) [1882710] - bpf: selftests: Add fastopen_connect to network_helpers (Jiri Benc) [1882710] - bpf: tcp: Allow bpf prog to write and parse TCP header option (Jiri Benc) [1882710] - bpf: sock_ops: Change some members of sock_ops_kern from u32 to u8 (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_hdr_opt_len() and bpf_skops_write_hdr_opt() (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_parse_hdr() (Jiri Benc) [1882710] - bpf: tcp: Add bpf_skops_established() (Jiri Benc) [1882710] - tcp: Add saw_unknown to struct tcp_options_received (Jiri Benc) [1882710] - tcp: bpf: Add TCP_BPF_RTO_MIN for bpf_setsockopt (Jiri Benc) [1882710] - tcp: bpf: Add TCP_BPF_DELACK_MAX setsockopt (Jiri Benc) [1882710] - tcp: Use a struct to represent a saved_syn (Jiri Benc) [1882710] - tcp: tcp_init_buffer_space can be static (Jiri Benc) [1882710] - tcp: refactor setting the initial congestion window (Jiri Benc) [1882710] - tcp: fix code style in tcp_recvmsg() (Jiri Benc) [1882710] - tcp: duplicate clear of icsk_backoff (Jiri Benc) [1882710] - tcp: move rx_opt & syn_data_acked init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move tp->rack init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move app_limited init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move retrans_out, sacked_out, tlp_high_seq, last_oow_ack_time init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not clear urg_data in tcp_create_openreq_child (Jiri Benc) [1882710] - tcp: move snd_cwnd & snd_cwnd_cnt init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: move mdev_us init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not clear srtt_us in tcp_create_openreq_child (Jiri Benc) [1882710] - tcp: do not clear packets_out in tcp_create_openreq_child() (Jiri Benc) [1882710] - tcp: move icsk_rto init to tcp_disconnect() (Jiri Benc) [1882710] - tcp: do not set snd_ssthresh in tcp_create_openreq_child() (Jiri Benc) [1882710] - net-veth: Add type safety to veth_xdp_to_ptr() and veth_ptr_to_xdp() (Jiri Benc) [1882710] - net-tun: Eliminate two tun/xdp related function calls from vhost-net (Jiri Benc) [1882710] - net-tun: Add type safety to tun_xdp_to_ptr() and tun_ptr_to_xdp() (Jiri Benc) [1882710] - ipv4: Add helpers for neigh lookup for nexthop (Jiri Benc) [1882710] - net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Jiri Benc) [1882710] - tipc: better validate user input in tipc_nl_retrieve_key() (Xin Long) [1950093] - tipc: simplify the finalize work queue (Xin Long) [1958456] - tipc: wait and exit until all work queues are done (Xin Long) [1958456] - [s390] KVM: s390: diag9c (directed yield) forwarding (Claudio Imbrenda) [1874105] - kvm/svm: Reenable nesting (Dr. David Alan Gilbert) [1790949] - powerpc/papr_scm: Reduce error severity if nvdimm stats inaccessible (Steve Best) [1965193] - Revert "[redhat] redhat/configs: Update CONFIG_ARM64_CNP" (Mark Salter) [1949533] - arm64: kernel: disable CNP on Carmel (Mark Salter) [1949533]- redhat/configs: Enable CONFIG_MICROSOFT_MANA=m (Vitaly Kuznetsov) [1957820] - net: mana: Use int to check the return value of mana_gd_poll_cq() (Vitaly Kuznetsov) [1957820] - net: mana: fix PCI_HYPERV dependency (Vitaly Kuznetsov) [1957820] - net: mana: remove redundant initialization of variable err (Vitaly Kuznetsov) [1957820] - net: mana: Add a driver for Microsoft Azure Network Adapter (MANA) (Vitaly Kuznetsov) [1957820] - hv_netvsc: Make netvsc/VF binding check both MAC and serial number (Vitaly Kuznetsov) [1957820] - net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown (Balazs Nemeth) [1957223] - net: evaluate net.ipv4.conf.all.proxy_arp_pvlan (Balazs Nemeth) [1957223] - netfilter: nf_log_syslog: Unset bridge logger in pernet exit (Phil Sutter) [1938214] - netfilter: nft_log: perform module load from nf_tables (Phil Sutter) [1938214] - netfilter: nft_dynset: fix timeouts later than 23 days (Phil Sutter) [1938214] - netfilter: nft_compat: make sure xtables destructors have run (Phil Sutter) [1938214] - netfilter: nftables: Add __printf() attribute (Phil Sutter) [1938214] - netfilter: nf_log: add module softdeps (Phil Sutter) [1938214] - netfilter: nf_log_common: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_bridge: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_netdev: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_ipv6: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: move inline nf_ip6_ext_hdr() function to a more appropriate header. (Phil Sutter) [1938214] - ipv6: Use ipv6_authlen for len (Phil Sutter) [1938214] - netfilter: nf_log_arp: merge with nf_log_syslog (Phil Sutter) [1938214] - netfilter: nf_log_ipv4: rename to nf_log_syslog (Phil Sutter) [1938214] - net/sched: cls_api: increase max_reclassify_loop (Davide Caratti) [1955136] - vsock/vmci: Remove redundant assignment to err (Stefano Garzarella) [1956861] - vsock/virtio: free queued packets when closing socket (Stefano Garzarella) [1956861] - net: vsock: Fix a typo (Stefano Garzarella) [1956861] - selinux: vsock: Set SID for socket returned by accept() (Stefano Garzarella) [1956861] - af_vsock: Assign the vsock transport considering the vsock address flags (Stefano Garzarella) [1956861] - af_vsock: Set VMADDR_FLAG_TO_HOST flag on the receive path (Stefano Garzarella) [1956861] - vsock_addr: Check for supported flag values (Stefano Garzarella) [1956861] - vm_sockets: Add VMADDR_FLAG_TO_HOST vsock flag (Stefano Garzarella) [1956861] - vm_sockets: Add flags field in the vsock address data structure (Stefano Garzarella) [1956861] - hv_sock: Remove the accept port restriction (Stefano Garzarella) [1956861] - hv_sock: use HV_HYP_PAGE_SIZE for Hyper-V communication (Stefano Garzarella) [1956861] - net: add a helper to avoid issues with HW TX timestamping and SO_TXTIME (Corinna Vinschen) [1958988] - net: ensure mac header is set in virtio_net_hdr_to_skb() (Balazs Nemeth) [1955441] - devlink: Fix dmac_filter trap name, align to its documentation (Petr Oros) [1935701] - devlink: Add DMAC filter generic packet trap (Petr Oros) [1935701] - devlink: Add blackhole_nexthop trap (Petr Oros) [1935701] - stm class: Fix module init return on allocation failure (Jiri Olsa) [1907791] - stm class: ftrace: Use different channel accroding to CPU (Jiri Olsa) [1907791] - stm class: ftrace: Enable supported trace export flag (Jiri Olsa) [1907791] - stm class: ftrace: Change dependency to TRACING (Jiri Olsa) [1907791] - stm class: Replace zero-length array with flexible-array (Jiri Olsa) [1907791] - stm class: sys-t: Fix the use of time_after() (Jiri Olsa) [1907791] - stm class: Lose the protocol driver when dropping its reference (Jiri Olsa) [1907791] - stm class: Fix a double free of stm_source_device (Jiri Olsa) [1907791] - stm class: Fix channel bitmap on 32-bit systems (Jiri Olsa) [1907791] - stm class: Fix channel free in stm output free path (Jiri Olsa) [1907791] - stm class: Prevent division by zero (Jiri Olsa) [1907791] - stm class: Fix an endless loop in channel allocation (Jiri Olsa) [1907791] - stm class: Fix a module refcount leak in policy creation error path (Jiri Olsa) [1907791] - stm class: Use memcat_p() (Jiri Olsa) [1907791] - stm class: heartbeat: Fix whitespace (Jiri Olsa) [1907791] - stm class: p_sys-t: Add support for CLOCKSYNC packets (Jiri Olsa) [1907791] - stm class: Add MIPI SyS-T protocol support (Jiri Olsa) [1907791] - stm class: Switch over to the protocol driver (Jiri Olsa) [1907791] - stm class: Factor out default framing protocol (Jiri Olsa) [1907791] - stm class: Add a helper for writing data packets (Jiri Olsa) [1907791] - stm class: Introduce framing protocol drivers (Jiri Olsa) [1907791] - stm class: Clean up stp_configfs_init (Jiri Olsa) [1907791] - stm class: Clarify configfs root type/operations names (Jiri Olsa) [1907791] - stm class: Rework policy node fallback (Jiri Olsa) [1907791] - lib: Add memcat_p(): paste 2 pointer arrays together (Jiri Olsa) [1907791] - tracing: Add trace_export support for trace_marker (Jiri Olsa) [1907791] - tracing: Add trace_export support for event trace (Jiri Olsa) [1907791] - tracing: Add flag to control different traces (Jiri Olsa) [1907791] - tracing: Make function ‘ftrace_exports’ static (Jiri Olsa) [1907791] - tipc: increment the tmp aead refcnt before attaching it (Xin Long) [1931312] - tipc: skb_linearize the head skb when reassembling msgs (Xin Long) [1912376] - scsi: target: core: Fix warning on realtime kernels (Maurizio Lombardi) [1956416] - scsi: bnx2fc: Fix a typo (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix misnaming of bnx2fc_free_session_resc() (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix typo in bnx2fc_indicate_kcqe() (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix Kconfig warning & CNIC build errors (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix comparison to bool warning (Nilesh Javali) [1921617] - scsi: bnx2fc: Remove unneeded semicolon (Nilesh Javali) [1921617] - scsi: bnx2fc: Make a bunch of symbols static in bnx2fc_fcoe.c (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix spelling mistake "couldnt" -> "couldn't" (Nilesh Javali) [1921617] - scsi: bnx2fc: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1921617] - scsi: bnx2fc: Fix a couple of bitrotted function documentation headers (Nilesh Javali) [1921617] - scsi: bnx2fc: Repair a range of kerneldoc issues (Nilesh Javali) [1921617] - scsi: bnx2fc: Removal of unused variables (Nilesh Javali) [1921617] - scsi: bnx2fc: Remove unneeded semicolon in bnx2fc_fcoe.c (Nilesh Javali) [1921617] - scsi: bnx2fc: Add missing annotation for bnx2fc_abts_cleanup() (Nilesh Javali) [1921617] - tools/power turbostat: Enable tsc_tweak for Elkhart Lake and Jasper Lake (Puneet Sethi) [1920704] - selinux: Allow context mounts for unpriviliged overlayfs (Miklos Szeredi) [1956486] - md-cluster: fix use-after-free issue when removing rdev (Nigel Croxon) [1956355] - md/bitmap: wait for external bitmap writes to complete during tear down (Nigel Croxon) [1956355] - md: do not return existing mddevs from mddev_find_or_alloc (Nigel Croxon) [1956355] - md: refactor mddev_find_or_alloc (Nigel Croxon) [1956355] - md: factor out a mddev_alloc_unit helper from mddev_find (Nigel Croxon) [1956355] - md: split mddev_find (Nigel Croxon) [1956355] - md: factor out a mddev_find_locked helper from mddev_find (Nigel Croxon) [1956355] - md: md_open returns -EBUSY when entering racing area (Nigel Croxon) [1956355] - md: Fix missing unused status line of /proc/mdstat (Nigel Croxon) [1956355] - md/raid10: improve discard request for far layout (Xiao Ni) [1956355] - md/raid10: improve raid10 discard request (Nigel Croxon) [1956355] - md/raid10: pull the code that wait for blocked dev into one function (Xiao Ni) [1956355] - md/raid10: extend r10bio devs to raid disks (Xiao Ni) [1956355] - md: add md_submit_discard_bio() for submitting discard bio (Nigel Croxon) [1956355] - leds: trigger: fix potential deadlock with libata (Waiman Long) [1963373] - x86/kvm: Unify kvm_pv_guest_cpu_reboot() with kvm_guest_cpu_offline() (Lenny Szubowicz) [1934273] - x86/kvm: Disable all PV features on crash (Lenny Szubowicz) [1934273] - x86/kvm: Disable kvmclock on all CPUs on shutdown (Lenny Szubowicz) [1934273] - x86/kvm: Teardown PV features on boot CPU as well (Lenny Szubowicz) [1934273] - x86/kvm: Fix pr_info() for async PF setup/teardown (Lenny Szubowicz) [1934273] - RDMA/qedr: Fix error return code in qedr_iw_connect() (Manish Chopra) [1914922] - qede: Use 'skb_add_rx_frag()' instead of hand coding it (Manish Chopra) [1914922] - qede: Remove a erroneous ++ in 'qede_rx_build_jumbo()' (Manish Chopra) [1914922] - qede: fix offload for IPIP tunnel packets (Manish Chopra) [1914922] - RDMA/qedr: iWARP invalid(zero) doorbell address fix (Manish Chopra) [1914922] - qed: fix ILT configuration of SRC block (Manish Chopra) [1914922] - qed: fix error return code in qed_iwarp_ll2_start() (Manish Chopra) [1914922] - RDMA/qedr: Fix resource leak in qedr_create_qp (Manish Chopra) [1914922] - qede: make driver reliable on unload after failures (Manish Chopra) [1914922] - net: qed: Remove unnecessary cast (Manish Chopra) [1914922] - nvme: fix NULL derefence in nvme_ctrl_fast_io_fail_tmo_show/store (Gopal Tiwari) [1935135] - nvme: export fast_io_fail_tmo to sysfs (Gopal Tiwari) [1935135] - EDAC: enable CONFIG_EDAC_IGEN6 (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: ecclog_llist can be static (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/i10nm: Add Intel Sapphire Rapids server support (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add DDR5 new memory type (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/i10nm: Use readl() to access MMIO registers (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: Add debugfs interface for Intel client SoC EDAC driver (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add three new memory types (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC, {skx,i10nm}: Use CPU stepping macro to pass configurations (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/skx: Use the mcmtr register to retrieve close_pg/bank_xor_enable (Aristeu Rozanski) [1837389 1783539 1861479] - x86/cpu: Add a X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS() macro (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[] (Aristeu Rozanski) [1837389 1783539 1861479] - x86: export x86_match_cpu_v2 (Aristeu Rozanski) [1837389 1783539 1861479] - EDAC/amd64: Fix PCI component registration (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId (Aristeu Rozanski) [1918583] - x86/CPU/AMD: Remove amd_get_nb_id() (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Make fam_ops static global (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Allow Reserved types to be overwritten in smca_banks[] (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Do not use rdmsr_safe_on_cpu() in smca_configure() (Aristeu Rozanski) [1918583] - EDAC/amd64: Get rid of the ECC disabled long message (Aristeu Rozanski) [1918583] - EDAC/amd64: Check for memory before fully initializing an instance (Aristeu Rozanski) [1918583] - EDAC/amd64: Use cached data when checking for ECC (Aristeu Rozanski) [1918583] - x86/MCE: Make the number of MCA banks a per-CPU variable (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Don't cache block addresses on SMCA systems (Aristeu Rozanski) [1918583] - x86/MCE: Make mce_banks a per-CPU array (Aristeu Rozanski) [1918583] - x86/MCE: Make struct mce_banks[] static (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Don't report L1 BTB MCA errors on some family 17h models (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Decode MCA_STATUS in bit definition order (Aristeu Rozanski) [1918583] - EDAC/mce_amd: Decode MCA_STATUS[Scrub] bit (Aristeu Rozanski) [1918583] - EDAC, mce_amd: Match error descriptions to latest documentation (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Carve out the MC4_MISC thresholding quirk (Aristeu Rozanski) [1918583] - x86/MCE/AMD: Turn off MC4_MISC thresholding on all family 0x15 models (Aristeu Rozanski) [1918583] - powerpc/64s: Fix unrelocated interrupt trampoline address test (Waiman Long) [1966462] - intel_th: pci: Add Alder Lake CPU support (Jiri Olsa) [1840246] - intel_th: pci: Add Alder Lake-S support (Jiri Olsa) [1840246] - mfd: intel_pmt: Add support for DG1 (David Arcari) [1783144] - mfd: intel_pmt: Fix nuisance messages and handling of disabled capabilities (David Arcari) [1783144] - redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (David Arcari) [1783144] - redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (David Arcari) [1783144] - redhat/configs: Add CONFIG_MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt_crashlog: Add dependency on MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt_telemetry: Add dependency on MFD_INTEL_PMT (David Arcari) [1783144] - platform/x86: intel_pmt: Make INTEL_PMT_CLASS non-user-selectable (David Arcari) [1783144] - platform/x86: intel_pmt_crashlog: Fix incorrect macros (David Arcari) [1783144] - platform/x86: intel_pmt_class: Initial resource to 0 (David Arcari) [1783144] - mfd: Standardise MFD_CELL_* helper names (David Arcari) [1783144] - platform/x86: pmt: Fix a potential Oops on error in probe (David Arcari) [1783144] - platform/x86: Intel PMT Crashlog capability driver (David Arcari) [1783144] - platform/x86: Intel PMT Telemetry capability driver (David Arcari) [1783144] - platform/x86: Intel PMT class driver (David Arcari) [1783144] - mfd: Intel Platform Monitoring Technology support (David Arcari) [1783144] - mfd: mfd-core: Ensure disabled devices are ignored without error (David Arcari) [1783144] - mfd: core: Fix double-free in mfd_remove_devices_fn() (David Arcari) [1783144] - mfd: mfd-core: Add mechanism for removal of a subset of children (David Arcari) [1783144] - mfd: core: Add OF_MFD_CELL_REG() helper (David Arcari) [1783144] - mfd: core: Fix formatting of MFD helpers (David Arcari) [1783144] - mfd: core: Make a best effort attempt to match devices with the correct of_nodes (David Arcari) [1783144] - mfd: mfd-core: Complete kerneldoc header for devm_mfd_add_devices() (David Arcari) [1783144] - mfd: Constify properties in mfd_cell (David Arcari) [1783144] - mfd: mfd-core: Honour Device Tree's request to disable a child-device (David Arcari) [1783144] - mfd: mfd-core: Move pdev->mfd_cell creation back into mfd_add_device() (David Arcari) [1783144] - mfd: mfd-core: Remove usage counting for .{en,dis}able() call-backs (David Arcari) [1783144] - mfd: mfd-core: Protect against NULL call-back function pointer (David Arcari) [1783144] - mfd: mfd-core: Remove mfd_clone_cell() (David Arcari) [1783144] - mfd: Provide MACRO to declare commonly defined MFD cell attributes (David Arcari) [1783144] - mfd: core: Set fwnode for created devices (David Arcari) [1783144] - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (David Arcari) [1783144] - mfd: mfd-core: Document mfd_add_devices() (David Arcari) [1783144] - PCI: Add defines for Designated Vendor-Specific Extended Capability (David Arcari) [1783144] - tick/nohz: Update idle_exittime on actual idle exit (Phil Auld) [1962632] - tick/nohz: Remove superflous check for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE (Phil Auld) [1962632] - tick/nohz: Conditionally restart tick on idle exit (Phil Auld) [1962632] - x86, sched: Fix the AMD CPPC maximum performance value on certain AMD Ryzen generations (Phil Auld) [1960687] - pinctrl: devicetree: Avoid taking direct reference to device name string (Aristeu Rozanski) [1922904] {CVE-2020-0427} - redhat: ppc64: enable CONFIG_PPC_RTAS_FILTER (Aristeu Rozanski) [1906444] {CVE-2020-27777} - powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter (Aristeu Rozanski) [1906444] {CVE-2020-27777} - powerpc/rtas: Restrict RTAS requests from userspace (Aristeu Rozanski) [1906444] {CVE-2020-27777}- docs: vxlan: add info about device features (Petr Oros) [1941739] - selftests: net: add a test for static UDP tunnel ports (Petr Oros) [1941739] - netdevsim: support the static IANA VXLAN port flag (Petr Oros) [1941739] - selftests: net: add a test for shared UDP tunnel info tables (Petr Oros) [1941739] - netdevsim: shared UDP tunnel port table support (Petr Oros) [1941739] - netdevsim: add warnings on unexpected UDP tunnel port errors (Petr Oros) [1941739] - udp_tunnel: add the ability to share port tables (Petr Oros) [1941739] - docs: networking: convert vxlan.txt to ReST (Petr Oros) [1941739] - net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT (Ivan Vecera) [1960528] - ethtool: fix incorrect datatype in set_eee ops (Balazs Nemeth) [1956698] - ethtool: fix missing NLM_F_MULTI flag when dumping (Antoine Tenart) [1953847] - y2038: remove CONFIG_64BIT_TIME (Waiman Long) [1965360] - net/mlx4: Fix EEPROM dump support (Alaa Hleihel) [1915305] - net/mlx4_en: update moderation when config reset (Alaa Hleihel) [1915305] - net/mlx4_core: Add missed mlx4_free_cmd_mailbox() (Alaa Hleihel) [1915305] - IB/mlx4: Use port iterator and validation APIs (Alaa Hleihel) [1915305] - net/mlx4: Use effective interrupt affinity (Alaa Hleihel) [1915302 1915305] - net/mlx4: Replace irq_to_desc() abuse (Alaa Hleihel) [1915302 1915305] - net/mlx4: simplify the return expression of mlx4_init_srq_table() (Alaa Hleihel) [1915302 1915305] - RDMA/mlx4: Remove bogus dev_base_lock usage (Alaa Hleihel) [1915302 1915305] - net/mlx4: simplify the return expression of mlx4_init_cq_table() (Alaa Hleihel) [1915302 1915305] - net/mlx4: Remove unused #define MAX_MSIX_P_PORT (Alaa Hleihel) [1915302 1915305] - RDMA/mlx4: Enable querying AH for XRC QP types (Alaa Hleihel) [1915302 1915305] - IB/mlx4: Fix fall-through warnings for Clang (Alaa Hleihel) [1915302 1915305] - net/mlx4_en: Remove unused performance counters (Alaa Hleihel) [1915302 1915305] - net/mlx4: Assign boolean values to a bool variable (Alaa Hleihel) [1915302 1915305] - net/mlx4: Cleanup kernel-doc warnings (Alaa Hleihel) [1915302 1915305] - net/mlx4_core : remove unneeded semicolon (Alaa Hleihel) [1915302 1915305] - net/mlx4_core: Fix init_hca fields offset (Alaa Hleihel) [1915301 1915305] - mlx4: handle non-napi callers to napi_poll (Alaa Hleihel) [1915301 1915305] - mlx4: drivers/net/ethernet: clean up unused assignments (Alaa Hleihel) [1915301 1915305] - mlx4: add pause frame stats (Alaa Hleihel) [1915301 1915305] - mlx4: make sure to always set the port type (Alaa Hleihel) [1915301 1915305] - net/mlx4_en: RX, Add a prefetch command for small L1_CACHE_BYTES (Alaa Hleihel) [1915301 1915305] - cnic: remove redundant assignment to variable ret (Nilesh Javali) [1921619] - net: cnic: fix spelling mistake "reserverd" -> "reserved" (Nilesh Javali) [1921619] - cnic: Explicitly initialize all reference counts to 0. (Nilesh Javali) [1921619] - cfg80211: fix locking in netlink owner interface destruction (Jarod Wilson) [1937053] - brcmfmac: Avoid GFP_ATOMIC when GFP_KERNEL is enough (Jarod Wilson) [1937053] - ath11k: fix warning in ath11k_mhi_config (Jarod Wilson) [1937053] - ath11k: qmi: Fix spelling mistake "requeqst" -> "request" (Jarod Wilson) [1937053] - ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock (Jarod Wilson) [1937053] - ath10k: Fix a use after free in ath10k_htc_send_bundle (Jarod Wilson) [1937053] - ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices (Jarod Wilson) [1937053] - mt76: mt7921: reinit wpdma during drv_own if necessary (Jarod Wilson) [1937053] - mt76: move mt76_token_init in mt76_alloc_device (Jarod Wilson) [1937053] - mt76: mt7921: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7915: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7615: fix a precision vs width bug in printk (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_mcu_sta_add routine (Jarod Wilson) [1937053] - mt76: mt7921: mt7921_stop should put device in fw_own state (Jarod Wilson) [1937053] - mt76: connac: unschedule mac_work before going to sleep (Jarod Wilson) [1937053] - mt76: mt7663: add awake and doze time accounting (Jarod Wilson) [1937053] - mt76: mt7921: improve doze opportunity (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mcu_reset function pointer (Jarod Wilson) [1937053] - mt76: mt7915: do not read rf value from efuse in flash mode (Jarod Wilson) [1937053] - mt76: move token utilities in mt76 common module (Jarod Wilson) [1937053] - mt76: move token_lock, token and token_count in mt76_dev (Jarod Wilson) [1937053] - mt76: mt7921: fix possible invalid register access (Jarod Wilson) [1937053] - mt76: mt7921: enable deep sleep when the device suspends (Jarod Wilson) [1937053] - mt76: connac: introduce mt76_connac_mcu_set_deep_sleep utility (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_wpdma_reinit_cond utility routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_dma_{enable,disable} utilities (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_wpdma_reset utility routine (Jarod Wilson) [1937053] - mt76: mt7921: move mt7921_dma_reset in dma.c (Jarod Wilson) [1937053] - mt76: mt7615: Fix a dereference of pointer sta before it is null checked (Jarod Wilson) [1937053] - mt76: mt7921: enable sw interrupts (Jarod Wilson) [1937053] - mt76: mt7921: add awake and doze time accounting (Jarod Wilson) [1937053] - mt76: remove MT76_STATE_PM in tx path (Jarod Wilson) [1937053] - mt76: connac: use waitqueue for runtime-pm (Jarod Wilson) [1937053] - mt76: connac: do not run mt76_txq_schedule_all directly (Jarod Wilson) [1937053] - mt76: mt7615: rely on pm refcounting in mt7615_led_set_config (Jarod Wilson) [1937053] - mt76: connac: alaways wake the device before scanning (Jarod Wilson) [1937053] - mt76: mt7921: get rid of useless MT76_STATE_PM in mt7921_mac_work (Jarod Wilson) [1937053] - mt76: connac: remove MT76_STATE_PM in mac_tx_free (Jarod Wilson) [1937053] - mt76: connac: check wake refcount in mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: connac: unschedule ps_work in mt76_connac_pm_wake (Jarod Wilson) [1937053] - mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napi (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx/rx napi (Jarod Wilson) [1937053] - mt76: dma: add the capability to define a custom rx napi poll routine (Jarod Wilson) [1937053] - mt76: mt7663: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path (Jarod Wilson) [1937053] - mt76: connac: introduce wake counter for fw_pmctrl synchronization (Jarod Wilson) [1937053] - mt76: mt7663: fix a race between mt7615_mcu_drv_pmctrl and mt7615_mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: mt7921: fix a race between mt7921_mcu_drv_pmctrl and mt7921_mcu_fw_pmctrl (Jarod Wilson) [1937053] - mt76: mt7921: remove leftover function declaration (Jarod Wilson) [1937053] - mt76: connac: move mcu_update_arp_filter in mt76_connac module (Jarod Wilson) [1937053] - mt76: mt7921: do not use 0 as NULL pointer (Jarod Wilson) [1937053] - mt76: mt7915: directly read per-rate tx power from registers (Jarod Wilson) [1937053] - mt76: mt7915: rework the flow of txpower setting (Jarod Wilson) [1937053] - mt76: mt7915: add support for DT rate power limits (Jarod Wilson) [1937053] - mt76: mt7921: abort uncompleted scan by wifi reset (Jarod Wilson) [1937053] - mt76: mt7921: add wifisys reset support in debugfs (Jarod Wilson) [1937053] - mt76: mt7921: run mt7921_mcu_fw_log_2_host holding mt76 mutex (Jarod Wilson) [1937053] - mt76: improve mcu error logging (Jarod Wilson) [1937053] - mt76: mt7921: move hw configuration in mt7921_register_device (Jarod Wilson) [1937053] - mt76: mt7915: add support for applying pre-calibration data (Jarod Wilson) [1937053] - mt76: mt7615: load ROM patch before checking patch semaphore status (Jarod Wilson) [1937053] - mt76: mt7615: fix entering driver-own state on mt7663 (Jarod Wilson) [1937053] - mt76: mt7615: fix hardware error recovery for mt7663 (Jarod Wilson) [1937053] - mt76: mt7921: add dumping Tx power table (Jarod Wilson) [1937053] - mt76: introduce single-sku support for mt7663/mt7921 (Jarod Wilson) [1937053] - mt76: mt7615: do not use mt7615 single-sku values for mt7663 (Jarod Wilson) [1937053] - mt76: mt7615: implement support for using DT rate power limits (Jarod Wilson) [1937053] - mt76: extend DT rate power limits to support 11ax devices (Jarod Wilson) [1937053] - mt76: add functions for parsing rate power limits from DT (Jarod Wilson) [1937053] - mt76: flush tx status queue on DMA reset (Jarod Wilson) [1937053] - mt76: mt7921: add mt7921_dma_cleanup in mt7921_unregister_device (Jarod Wilson) [1937053] - mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put() (Jarod Wilson) [1937053] - mt76: mt7615: only free skbs after mt7615_dma_reset() when reset happens (Jarod Wilson) [1937053] - mt76: mt7915: only free skbs after mt7915_dma_reset() when reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix memleak when mt7915_unregister_device() (Jarod Wilson) [1937053] - mt76: mt7615: fix memleak when mt7615_unregister_device() (Jarod Wilson) [1937053] - mt76: mt7915: fix rate setting of tx descriptor in testmode (Jarod Wilson) [1937053] - mt76: mt7915: rework mt7915_tm_set_tx_len() (Jarod Wilson) [1937053] - mt76: testmode: add support to send larger packet (Jarod Wilson) [1937053] - rtlwifi: implement set_tim by update beacon content (Jarod Wilson) [1937053] - rtw88: refine napi deinit flow (Jarod Wilson) [1937053] - rtw88: Fix potential unrecoverable tx queue stop (Jarod Wilson) [1937053] - rtw88: 8821c: Don't set RX_FLAG_DECRYPTED if packet has no encryption (Jarod Wilson) [1937053] - rtw88: 8822c: debug: allow debugfs to enable/disable TXGAPK (Jarod Wilson) [1937053] - rtw88: 8822c: Add gap-k calibration to improve long range performance (Jarod Wilson) [1937053] - rtw88: 8822c: reorder macro position according to the register number (Jarod Wilson) [1937053] - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() (Jarod Wilson) [1937053] - cfg80211: scan: drop entry from hidden_list on overflow (Jarod Wilson) [1937053] - wireless: fix spelling of A-MSDU in HE capabilities (Jarod Wilson) [1937053] - wireless: align HE capabilities A-MPDU Length Exponent Extension (Jarod Wilson) [1937053] - wireless: align some HE capabilities with the spec (Jarod Wilson) [1937053] - mac80211: drop the connection if firmware crashed while in CSA (Jarod Wilson) [1937053] - nl80211: Add new RSNXE related nl80211 extended features (Jarod Wilson) [1937053] - mac80211: properly drop the connection in case of invalid CSA IE (Jarod Wilson) [1937053] - mac80211: make ieee80211_vif_to_wdev work when the vif isn't in the driver (Jarod Wilson) [1937053] - nl80211/cfg80211: add a flag to negotiate for LMR feedback in NDP ranging (Jarod Wilson) [1937053] - ieee80211: add the values of ranging parameters max LTF total field (Jarod Wilson) [1937053] - mac80211: aes_cmac: check crypto_shash_setkey() return value (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove extraneous indentation on if statement (Jarod Wilson) [1937053] - mac80211: properly process TXQ management frames (Jarod Wilson) [1937053] - cfg80211: constify ieee80211_get_response_rate return (Jarod Wilson) [1937053] - cfg80211: fix a few kernel-doc warnings (Jarod Wilson) [1937053] - cfg80211: fix an htmldoc warning (Jarod Wilson) [1937053] - rtw88: 8822c: add CFO tracking (Jarod Wilson) [1937053] - iwlwifi: pcie: don't enable BHs with IRQs disabled (Jarod Wilson) [1937053] - rtw88: Fix array overrun in rtw_get_tx_power_params() (Jarod Wilson) [1937053] - brcmfmac: Remove duplicate struct declaration (Jarod Wilson) [1937053] - rtw88: update statistics to fw for fine-tuning performance (Jarod Wilson) [1937053] - brcmfmac: A typo fix (Jarod Wilson) [1937053] - rtl8xxxu: Simplify locking of a skb list accesses (Jarod Wilson) [1937053] - mwifiex: Remove unneeded variable: "ret" (Jarod Wilson) [1937053] - rtl8xxxu: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mwifiex: don't print SSID to logs (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: Use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - rtlwifi: Simplify locking of a skb list accesses (Jarod Wilson) [1937053] - rtlwifi: remove rtl_get_tid_h (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: remove redundant assignment of variable rtlpriv->btcoexist.reg_bt_sco (Jarod Wilson) [1937053] - rtlwifi: remove redundant assignment to variable err (Jarod Wilson) [1937053] - rtlwifi: Few mundane typo fixes (Jarod Wilson) [1937053] - rtlwifi: 8821ae: upgrade PHY and RF parameters (Jarod Wilson) [1937053] - iwlwifi: dbg: disable ini debug in 9000 family and below (Jarod Wilson) [1937053] - iwlwifi: pcie: Change ma product string name (Jarod Wilson) [1937053] - iwlwifi: fw: print out trigger delay when collecting data (Jarod Wilson) [1937053] - iwlwifi: trans/pcie: defer transport initialisation (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 63 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: don't WARN if we can't remove a time event (Jarod Wilson) [1937053] - iwlwifi: mvm: don't disconnect immediately if we don't hear beacons after CSA (Jarod Wilson) [1937053] - iwlwifi: rs-fw: don't support stbc for HE 160 (Jarod Wilson) [1937053] - iwlwifi: warn on SKB free w/o op-mode (Jarod Wilson) [1937053] - iwlwifi: mvm: add support for version 3 of LARI_CONFIG_CHANGE command. (Jarod Wilson) [1937053] - iwlwifi: pcie: add ISR debug info for msix debug (Jarod Wilson) [1937053] - iwlwifi: pcie: merge napi_poll_msix functions (Jarod Wilson) [1937053] - iwlwifi: mvm: don't lock mutex in RCU critical section (Jarod Wilson) [1937053] - iwlwifi: mvm: remove PS from lower rates. (Jarod Wilson) [1937053] - iwlwifi: mvm: umac error table mismatch (Jarod Wilson) [1937053] - iwlwifi: queue: avoid memory leak in reset flow (Jarod Wilson) [1937053] - iwlwifi: don't warn if we can't wait for empty tx queues (Jarod Wilson) [1937053] - iwlwifi: remove remaining software checksum code (Jarod Wilson) [1937053] - iwlwifi: remove TCM events (Jarod Wilson) [1937053] - iwlwifi: mvm: Use IWL_INFO in fw_reset_handshake() (Jarod Wilson) [1937053] - iwlwifi: mvm: refactor ACPI DSM evaluation function (Jarod Wilson) [1937053] - iwlwifi: mvm: support BIOS enable/disable for 11ax in Ukraine (Jarod Wilson) [1937053] - iwlwifi: move iwl_configure_rxq to be used by other op_modes (Jarod Wilson) [1937053] - iwlwifi: add new so-gf device (Jarod Wilson) [1937053] - iwlwifi: mvm: enable PPAG in China (Jarod Wilson) [1937053] - iwlwifi: mvm: Add support for 6GHz passive scan (Jarod Wilson) [1937053] - iwlwifi: add ax201 killer device (Jarod Wilson) [1937053] - iwlwifi: mvm: when associated with PMF, use protected NDP ranging negotiation (Jarod Wilson) [1937053] - iwlwifi: mvm: clean up queue sync implementation (Jarod Wilson) [1937053] - iwlwifi: mvm: write queue_sync_state only for sync (Jarod Wilson) [1937053] - iwlwifi: mvm: responder: support responder config command version 8 (Jarod Wilson) [1937053] - iwlwifi: mvm: support range request command version 12 (Jarod Wilson) [1937053] - iwlwifi: pcie: make cfg vs. trans_cfg more robust (Jarod Wilson) [1937053] - iwlwifi: pcie: clear only FH bits handle in the interrupt (Jarod Wilson) [1937053] - iwlwifi: add 160Mhz to killer 1550 name (Jarod Wilson) [1937053] - iwlwifi: change name to AX 211 and 411 family (Jarod Wilson) [1937053] - iwlwifi: change step in so-gf struct (Jarod Wilson) [1937053] - iwlwifi: pcie: Add support for Bz Family (Jarod Wilson) [1937053] - iwlwifi: mvm: don't allow CSA if we haven't been fully associated (Jarod Wilson) [1937053] - iwlwifi: pcie: normally grab NIC access for inflight-hcmd (Jarod Wilson) [1937053] - iwlwifi: pcie: avoid unnecessarily taking spinlock (Jarod Wilson) [1937053] - iwlwifi: mvm: enable TX on new CSA channel before disconnecting (Jarod Wilson) [1937053] - mt76: mt7921: add rcu section in mt7921_mcu_tx_rate_report (Jarod Wilson) [1937053] - mt76: mt7921: introduce MCU_EVENT_LP_INFO event parsing (Jarod Wilson) [1937053] - mt76: mt7615: always add rx header translation tlv when adding stations (Jarod Wilson) [1937053] - mt76: mt7615: add missing SPDX tag in mmio.c (Jarod Wilson) [1937053] - mt76: mt7915: add mmio.c (Jarod Wilson) [1937053] - mt76: report Rx timestamp (Jarod Wilson) [1937053] - mt76: mt7921: remove 80+80 MHz support capabilities (Jarod Wilson) [1937053] - mt76: fix potential DMA mapping leak (Jarod Wilson) [1937053] - mt76: mt7921: reduce the data latency during hw scan (Jarod Wilson) [1937053] - mt76: mt7921: fix the insmod hangs (Jarod Wilson) [1937053] - mt76: mt7921: fix kernel crash when the firmware fails to download (Jarod Wilson) [1937053] - mt76: mt7921: fix the dwell time control (Jarod Wilson) [1937053] - mt76: mt7921: fix inappropriate WoW setup with the missing ARP informaiton (Jarod Wilson) [1937053] - mt76: mt7921: introduce MT_WFDMA_DUMMY_CR definition (Jarod Wilson) [1937053] - mt76: mt7915: add wifi subsystem reset (Jarod Wilson) [1937053] - mt76: mt7915: fix mt7915_mcu_add_beacon (Jarod Wilson) [1937053] - mt76: mt7615: fix .add_beacon_offload() (Jarod Wilson) [1937053] - mt76: mt7921: rework mt7921_mcu_debug_msg_event routine (Jarod Wilson) [1937053] - mt76: mt7921: always wake the device in mt7921_remove_interface (Jarod Wilson) [1937053] - mt76: mt7921: fix key set/delete issue (Jarod Wilson) [1937053] - mt76: mt7915: fix txpower init for TSSI off chips (Jarod Wilson) [1937053] - mt76: mt7915: limit firmware log message printk to buffer length (Jarod Wilson) [1937053] - mt76: mt7615: limit firmware log message printk to buffer length (Jarod Wilson) [1937053] - mt76: mt7615: fix chip reset on MT7622 and MT7663e (Jarod Wilson) [1937053] - mt76: mt7915: cleanup mcu tx queue in mt7915_dma_reset() (Jarod Wilson) [1937053] - mt76: mt7915: keep mcu_add_bss_info enabled till interface removal (Jarod Wilson) [1937053] - mt76: mt7615: keep mcu_add_bss_info enabled till interface removal (Jarod Wilson) [1937053] - mt76: mt7622: trigger hif interrupt for system reset (Jarod Wilson) [1937053] - mt76: mt7615: cleanup mcu tx queue in mt7615_dma_reset() (Jarod Wilson) [1937053] - mt76: mt7615: only enable DFS test knobs for mt7615 (Jarod Wilson) [1937053] - mt76: mt7921: properly configure rcpi adding a sta to the fw (Jarod Wilson) [1937053] - mt76: connac: introduce mt76_sta_cmd_info data structure (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mt7921_mac_wtbl_lmac_addr (Jarod Wilson) [1937053] - mt76: mt7915: refresh repeater entry MAC address when setting BSSID (Jarod Wilson) [1937053] - mt76: mt7915: fix key set/delete issue (Jarod Wilson) [1937053] - mt76: mt7921: remove duplicated macros in mcu.h (Jarod Wilson) [1937053] - mt76: mt7921: remove redundant check on type (Jarod Wilson) [1937053] - mt76: mt7921: remove leftovers from dbdc configuration (Jarod Wilson) [1937053] - mt76: mt7921: add wifi reset support (Jarod Wilson) [1937053] - mt76: dma: export mt76_dma_rx_cleanup routine (Jarod Wilson) [1937053] - mt76: dma: introduce mt76_dma_queue_reset routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce __mt7921_start utility routine (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921_run_firmware utility routine. (Jarod Wilson) [1937053] - mt76: introduce mcu_reset function pointer in mt76_mcu_ops structure (Jarod Wilson) [1937053] - mt76: mt7921: reduce mcu timeouts for suspend, offload and hif_ctrl msg (Jarod Wilson) [1937053] - mt76: mt7915: fix possible deadlock while mt7915_register_ext_phy() (Jarod Wilson) [1937053] - mt76: mt7615: add missing capabilities for DBDC (Jarod Wilson) [1937053] - mt76: mt7663s: fix the possible device hang in high traffic (Jarod Wilson) [1937053] - mt76: mt7663s: make all of packets 4-bytes aligned in sdio tx aggregation (Jarod Wilson) [1937053] - mt76: mt7663: fix when beacon filter is being applied (Jarod Wilson) [1937053] - mt76: mt7615: check mcu returned values in mt7615_ops (Jarod Wilson) [1937053] - mt76: mt7915: check mcu returned values in mt7915_ops (Jarod Wilson) [1937053] - mt76: mt7915: fix txrate reporting (Jarod Wilson) [1937053] - mt76: mt7915: fix rxrate reporting (Jarod Wilson) [1937053] - mt76: mt76x0u: Add support for TP-Link T2UHP(UN) v1 (Jarod Wilson) [1937053] - mt76: mt7915: fix PHY mode for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: stop ext_phy queue when mac reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix CSA notification for DBDC (Jarod Wilson) [1937053] - mt76: mt7615: stop ext_phy queue when mac reset happens (Jarod Wilson) [1937053] - mt76: mt7615: fix CSA notification for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: add missing capabilities for DBDC (Jarod Wilson) [1937053] - mt76: mt7921: check mcu returned values in mt7921_start (Jarod Wilson) [1937053] - mt76: mt7921: fix the base of the dynamic remap (Jarod Wilson) [1937053] - mt76: mt7921: fix the base of PCIe interrupt (Jarod Wilson) [1937053] - mt76: mt7921: get rid of mt7921_sta_rc_update routine (Jarod Wilson) [1937053] - mt76: check return value of mt76_txq_send_burst in mt76_txq_schedule_list (Jarod Wilson) [1937053] - mt76: connac: fix kernel warning adding monitor interface (Jarod Wilson) [1937053] - mt76: mt7915: fix mib stats counter reporting to mac80211 (Jarod Wilson) [1937053] - mt76: mt7615: fix mib stats counter reporting to mac80211 (Jarod Wilson) [1937053] - mt76: mt7615: remove hdr->fw_ver check (Jarod Wilson) [1937053] - mt76: mt7615: fix TSF configuration (Jarod Wilson) [1937053] - mt76: mt7921: fix stats register definitions (Jarod Wilson) [1937053] - mt76: mt7921: remove unneeded semicolon (Jarod Wilson) [1937053] - mt76: mt7915: fix aggr len debugfs node (Jarod Wilson) [1937053] - mt76: mt7921: fix aggr length histogram (Jarod Wilson) [1937053] - mt76: mt7615: fix memory leak in mt7615_coredump_work (Jarod Wilson) [1937053] - mt76: mt7615: add support for rx decapsulation offload (Jarod Wilson) [1937053] - mt76: mt7615: add rx checksum offload support (Jarod Wilson) [1937053] - mt76: mt7615: enable hw rx-amsdu de-aggregation (Jarod Wilson) [1937053] - mt76: connac: update sched_scan cmd usage (Jarod Wilson) [1937053] - mt76: mt7921: add flush operation (Jarod Wilson) [1937053] - mt76: mt7921: fixup rx bitrate statistics (Jarod Wilson) [1937053] - mt76: connac: fix up the setting for ht40 mode in mt76_connac_mcu_uni_add_bss (Jarod Wilson) [1937053] - mt76: mt7921: switch to new api for hardware beacon filter (Jarod Wilson) [1937053] - mt76: mt7921: fix memory leak in mt7921_coredump_work (Jarod Wilson) [1937053] - mt76: mt7921: fix suspend/resume sequence (Jarod Wilson) [1937053] - mt76: use PCI_VENDOR_ID_MEDIATEK to avoid open coded (Jarod Wilson) [1937053] - mt76: mt7915: always check return value from mt7915_mcu_alloc_wtbl_req (Jarod Wilson) [1937053] - mt76: connac: always check return value from mt76_connac_mcu_alloc_wtbl_req (Jarod Wilson) [1937053] - mt76: mt76x0: disable GTK offloading (Jarod Wilson) [1937053] - mt76: always use WTBL_MAX_SIZE for tlv allocation (Jarod Wilson) [1937053] - mt76: mt7921: removed unused definitions in mcu.h (Jarod Wilson) [1937053] - mt76: mt7921: remove unnecessary variable (Jarod Wilson) [1937053] - mt76: mt7921: enable random mac addr during scanning (Jarod Wilson) [1937053] - mt76: mt7615: support loading EEPROM for MT7613BE (Jarod Wilson) [1937053] - mt76: mt7915: fix tx skb dma unmap (Jarod Wilson) [1937053] - mt76: mt7615: fix tx skb dma unmap (Jarod Wilson) [1937053] - mt76: mt7615: fix key set/delete issues (Jarod Wilson) [1937053] - mt76: mt7915: add support for rx decapsulation offload (Jarod Wilson) [1937053] - mt76: mt7915: add rx checksum offload support (Jarod Wilson) [1937053] - mt76: mt7915: enable hw rx-amsdu de-aggregation (Jarod Wilson) [1937053] - mt76: add support for 802.3 rx frames (Jarod Wilson) [1937053] - cfg80211: Remove wrong RNR IE validation check (Jarod Wilson) [1937053] - mac80211: bail out if cipher schemes are invalid (Jarod Wilson) [1937053] - mac80211: clear the beacon's CRC after channel switch (Jarod Wilson) [1937053] - mac80211: Set priority and queue mapping for injected frames (Jarod Wilson) [1937053] - mac80211: Allow concurrent monitor iface and ethernet rx decap (Jarod Wilson) [1937053] - nl80211: Add interface to indicate TDLS peer's HE capability (Jarod Wilson) [1937053] - cfg80211: allow specifying a reason for hw_rfkill (Jarod Wilson) [1937053] - nl80211: better document CMD_ROAM behavior (Jarod Wilson) [1937053] - mac80211: set sk_pacing_shift for 802.3 txpath (Jarod Wilson) [1937053] - mac80211: don't apply flow control on management frames (Jarod Wilson) [1937053] - nl80211: Add missing line in nl80211_fils_discovery_policy (Jarod Wilson) [1937053] - mac80211: remove redundant assignment of variable result (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove unused variable 'mg' in minstrel_ht_next_jump_rate() (Jarod Wilson) [1937053] - cfg80211: regulatory: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - mac80211_hwsim: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - rfkill: use DEFINE_SPINLOCK() for spinlock (Jarod Wilson) [1937053] - mt7601u: enable TDLS support (Jarod Wilson) [1937053] - mt7601u: fix always true expression (Jarod Wilson) [1937053] - rtw88: Fix an error code in rtw_debugfs_set_rsvd_page() (Jarod Wilson) [1937053] - rtw88: coex: fix A2DP stutters while WL busy + WL scan (Jarod Wilson) [1937053] - rtw88: 8822c: add LC calibration for RTL8822C (Jarod Wilson) [1937053] - rtw88: 8822c: update tx power limit table to RF v40.1 (Jarod Wilson) [1937053] - rtw88: fix DIG min setting (Jarod Wilson) [1937053] - rtw88: add flush hci support (Jarod Wilson) [1937053] - rtw88: 8822c: support FW crash dump when FW crash (Jarod Wilson) [1937053] - rtw88: remove unnecessary variable (Jarod Wilson) [1937053] - rtw88: coex: add power off setting (Jarod Wilson) [1937053] - ath11k: Add support for STA to handle beacon miss (Jarod Wilson) [1937053] - ath11k: Update signal filled flag during sta_statistics drv op (Jarod Wilson) [1937053] - ath10k: skip the wait for completion to recovery in shutdown path (Jarod Wilson) [1937053] - ath11k: fix thermal temperature read (Jarod Wilson) [1937053] - ath11k: fix potential wmi_mgmt_tx_queue race condition (Jarod Wilson) [1937053] - ath11k: qmi: cosmetic changes to error messages (Jarod Wilson) [1937053] - ath11k: qmi: add more debug messages (Jarod Wilson) [1937053] - Revert "ath9k: fix ath_tx_process_buffer() potential null ptr dereference" (Jarod Wilson) [1937053] - ath11k: print hardware name and version during initialisation (Jarod Wilson) [1937053] - ath11k: Enable radar detection for 160MHz secondary segment (Jarod Wilson) [1937053] - ath11k: Fix sounding dimension config in HE cap (Jarod Wilson) [1937053] - ath11k: add qcn9074 pci device support (Jarod Wilson) [1937053] - ath11k: add extended interrupt support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add CE interrupt support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add data path support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add hal support for QCN9074 (Jarod Wilson) [1937053] - ath11k: add static window support for register access (Jarod Wilson) [1937053] - ath11k: Add qcn9074 mhi controller config (Jarod Wilson) [1937053] - ath11k: Update memory segment count for qcn9074 (Jarod Wilson) [1937053] - ath11k: qmi: increase the number of fw segments (Jarod Wilson) [1937053] - ath11k: Move qmi service_ins_id to hw_params (Jarod Wilson) [1937053] - ath11k: Refactor ath11k_msi_config (Jarod Wilson) [1937053] - ath11k: debugfs: Fix spelling mistake "Opportunies" -> "Opportunities" (Jarod Wilson) [1937053] - ath9k: fix ath_tx_process_buffer() potential null ptr dereference (Jarod Wilson) [1937053] - nl80211: fix beacon head validation (Jarod Wilson) [1937053] - nl80211: fix potential leak of ACL params (Jarod Wilson) [1937053] - cfg80211: check S1G beacon compat element length (Jarod Wilson) [1937053] - cfg80211: remove WARN_ON() in cfg80211_sme_connect (Jarod Wilson) [1937053] - mac80211: fix time-is-after bug in mlme (Jarod Wilson) [1937053] - mac80211: fix TXQ AC confusion (Jarod Wilson) [1937053] - rfkill: revert back to old userspace API by default (Jarod Wilson) [1937053] - mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN (Jarod Wilson) [1937053] - iwlwifi: mvm: fix beacon protection checks (Jarod Wilson) [1937053] - iwlwifi: mvm: rfi: don't lock mvm->mutex when sending config command (Jarod Wilson) [1937053] - iwlwifi: pcie: add support for So-F devices (Jarod Wilson) [1937053] - iwlwifi: fw: fix notification wait locking (Jarod Wilson) [1937053] - iwlwifi: add support for Qu with AX201 device (Jarod Wilson) [1937053] - iwlwifi: pcie: properly set LTR workarounds on 22000 devices (Jarod Wilson) [1937053] - iwlwifi: fix 11ax disabled bit in the regulatory capability flags (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix recently introduced deadlock issue (Jarod Wilson) [1937053] - mt76: mt7921: fix airtime reporting (Jarod Wilson) [1937053] - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() (Jarod Wilson) [1937053] - mt76: mt7615: remove redundant dev_err call in mt7622_wmac_probe() (Jarod Wilson) [1937053] - mt76: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - reg.c: Fix a spello (Jarod Wilson) [1937053] - mac80211: cfg.c: A typo fix (Jarod Wilson) [1937053] - wireless: remove never implemented MODULE_SUPPORTED_DEVICE (Jarod Wilson) [1937053] - wireless/nl80211: fix wdev_id may be used uninitialized (Jarod Wilson) [1937053] - nl80211: fix locking for wireless device netns change (Jarod Wilson) [1937053] - iwlwifi: don't call netif_napi_add() with rxq->lock held (was Re: Lockdep warning in iwl_pcie_rx_handle()) (Jarod Wilson) [1937053] - iwlwifi: fix ARCH=i386 compilation warnings (Jarod Wilson) [1937053] - iwlwifi: mvm: add terminate entry for dmi_system_id tables (Jarod Wilson) [1937053] - mt76: mt7915: fix unused 'mode' variable (Jarod Wilson) [1937053] - mt76: dma: do not report truncated frames to mac80211 (Jarod Wilson) [1937053] - mt76: mt7921: remove incorrect error handling (Jarod Wilson) [1937053] - iwlwifi: pcie: fix iwl_so_trans_cfg link error when CONFIG_IWLMVM is disabled (Jarod Wilson) [1937053] - ath11k: fix AP mode for QCA6390 (Jarod Wilson) [1937053] - ath11k: qmi: use pad to format dma_addr_t (Jarod Wilson) [1937053] - iwlwifi: avoid crash on unsupported debug collection (Jarod Wilson) [1937053] - mt76: mt7915: only modify tx buffer list after allocating tx token id (Jarod Wilson) [1937053] - mt76: fix tx skb error handling in mt76_dma_tx_queue_skb (Jarod Wilson) [1937053] - ath9k: fix transmitting to stations in dynamic SMPS mode (Jarod Wilson) [1937053] - redhat: Enable ath11k PCI device support (Jarod Wilson) [1937053] - soc: qcom: Do not depend on ARCH_QCOM for QMI helpers (Jarod Wilson) [1937053] - net: qrtr: Do not depend on ARCH_QCOM (Jarod Wilson) [1937053] - b43: N-PHY: Fix the update of coef for the PHY revision >= 3case (Jarod Wilson) [1937053] - nl80211: add documentation for HT/VHT/HE disable attributes (Jarod Wilson) [1937053] - cfg80211/mac80211: Support disabling HE mode (Jarod Wilson) [1937053] - mac80211: add STBC encoding to ieee80211_parse_tx_radiotap (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove sample rate switching code for constrained devices (Jarod Wilson) [1937053] - mac80211: minstrel_ht: show sampling rates in debugfs (Jarod Wilson) [1937053] - mac80211: minstrel_ht: significantly redesign the rate probing strategy (Jarod Wilson) [1937053] - mac80211: minstrel_ht: reduce the need to sample slower rates (Jarod Wilson) [1937053] - mac80211: minstrel_ht: update total packets counter in tx status path (Jarod Wilson) [1937053] - mac80211: minstrel_ht: use bitfields to encode rate indexes (Jarod Wilson) [1937053] - cfg80211: initialize reg_rule in __freq_reg_info() (Jarod Wilson) [1937053] - mac80211: fix potential overflow when multiplying to u32 integers (Jarod Wilson) [1937053] - mac80211: enable QoS support for nl80211 ctrl port (Jarod Wilson) [1937053] - cfg80211: remove unused callback (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_B (2/2) parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_B (1/2) parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update RF_A parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: 8822c: update MAC/BB parameter tables to v60 (Jarod Wilson) [1937053] - rtw88: replace tx tasklet with work queue (Jarod Wilson) [1937053] - rtw88: add napi support (Jarod Wilson) [1937053] - rtw88: add rts condition (Jarod Wilson) [1937053] - rtw88: add dynamic rrsr configuration (Jarod Wilson) [1937053] - iwlwifi: remove incorrect comment in pnvm (Jarod Wilson) [1937053] - ath11k: qmi: add debug message for allocated memory segment addresses and sizes (Jarod Wilson) [1937053] - ath11k: pci: remove experimental warning (Jarod Wilson) [1937053] - ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() (Jarod Wilson) [1937053] - ath10k: change ath10k_offchan_tx_work() peer present msg to a warn (Jarod Wilson) [1937053] - ath9k: fix data bus crash when setting nf_override via debugfs (Jarod Wilson) [1937053] - ath11k: add support to configure spatial reuse parameter set (Jarod Wilson) [1937053] - ath10k: restore tx sk_buff of htt header for SDIO (Jarod Wilson) [1937053] - brcmsmac: Fix the spelling configation to configuration in the file d11.h (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 62 for AX devices (Jarod Wilson) [1937053] - iwlwifi: pnvm: implement reading PNVM from UEFI (Jarod Wilson) [1937053] - iwlwifi: pnvm: move file loading code to a separate function (Jarod Wilson) [1937053] - iwlwifi: pnvm: increment the pointer before checking the TLV (Jarod Wilson) [1937053] - iwlwifi: pcie: define FW_RESET_TIMEOUT for clarity (Jarod Wilson) [1937053] - iwlwifi: pnvm: set the PNVM again if it was already loaded (Jarod Wilson) [1937053] - iwlwifi: mvm: global PM mode does not reset after FW crash (Jarod Wilson) [1937053] - iwlwifi: mvm: reduce the print severity of failing getting NIC temp (Jarod Wilson) [1937053] - iwlwifi: mvm: get NVM later in the mvm_start flow (Jarod Wilson) [1937053] - iwlmvm: set properly NIC_NOT_ACK_ENABLED flag (Jarod Wilson) [1937053] - iwlwifi: remove max_ht_ampdu_exponent config parameter (Jarod Wilson) [1937053] - iwlwifi: remove max_vht_ampdu_exponent config parameter (Jarod Wilson) [1937053] - iwlwifi: mvm: Check ret code for iwl_mvm_load_nvm_to_nic (Jarod Wilson) [1937053] - iwlwifi: mvm: don't check if CSA event is running before removing (Jarod Wilson) [1937053] - iwlwifi: mvm: Support SCAN_CFG_CMD version 5 (Jarod Wilson) [1937053] - iwlwifi: mvm: isolate the get nvm flow (Jarod Wilson) [1937053] - iwlwifi: mvm: simplify iwl_mvm_dbgfs_register (Jarod Wilson) [1937053] - iwlwifi: mvm: register to mac80211 last (Jarod Wilson) [1937053] - iwlwifi: acpi: add support for DSM RFI (Jarod Wilson) [1937053] - iwlwifi: mvm: add RFI-M support (Jarod Wilson) [1937053] - iwlwifi:mvm: Add support for version 2 of the LARI_CONFIG_CHANGE command. (Jarod Wilson) [1937053] - iwlwifi: pcie: don't crash when rx queues aren't allocated in interrupt (Jarod Wilson) [1937053] - iwlwifi: correction of group-id once sending REPLY_ERROR (Jarod Wilson) [1937053] - iwlwifi: pcie: add AX201 and AX211 radio modules for Ma devices (Jarod Wilson) [1937053] - iwlwifi: pcie: add CDB bit to the device configuration parsing (Jarod Wilson) [1937053] - iwlwifi: acpi: don't return valid pointer as an ERR_PTR (Jarod Wilson) [1937053] - iwlwifi: queue: add fake tx time point (Jarod Wilson) [1937053] - iwlwifi: remove flags argument for nic_access (Jarod Wilson) [1937053] - iwlwifi: declare support for triggered SU/MU beamforming feedback (Jarod Wilson) [1937053] - iwlwifi: dbg: add op_mode callback for collecting debug data. (Jarod Wilson) [1937053] - iwlwifi: api: clean up some documentation/bits (Jarod Wilson) [1937053] - iwlwifi: dbg: remove unsupported regions (Jarod Wilson) [1937053] - iwlwifi: pcie: Change Ma device ID (Jarod Wilson) [1937053] - iwlwifi: when HW has rate offload don't look at control field (Jarod Wilson) [1937053] - iwlwifi: pcie: NULLify pointers after free (Jarod Wilson) [1937053] - iwlwifi: mvm: assign SAR table revision to the command later (Jarod Wilson) [1937053] - iwlwifi: mvm: remove useless iwl_mvm_resume_d3() function (Jarod Wilson) [1937053] - iwlwifi: mvm: enhance a print in CSA flows (Jarod Wilson) [1937053] - iwlwifi: mvm: send stored PPAG command instead of local (Jarod Wilson) [1937053] - iwlwifi: mvm: store PPAG enabled/disabled flag properly (Jarod Wilson) [1937053] - iwlwifi: mvm: fix the type we use in the PPAG table validity checks (Jarod Wilson) [1937053] - iwlwifi: acpi: fix PPAG table sizes (Jarod Wilson) [1937053] - iwlwifi: pcie: don't disable interrupts for reg_lock (Jarod Wilson) [1937053] - iwlwifi: pcie: add a few missing entries for So with Hr (Jarod Wilson) [1937053] - iwlwifi: dbg: Mark ucode tlv data as const (Jarod Wilson) [1937053] - iwlwifi: add new cards for So and Qu family (Jarod Wilson) [1937053] - ath11k: fix a locking bug in ath11k_mac_op_start() (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: phy: Simplify bool comparison (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: Simplify bool comparison (Jarod Wilson) [1937053] - brcmfmac: add support for CQM RSSI notifications (Jarod Wilson) [1937053] - ath10k: Add new debug level for sta related logs (Jarod Wilson) [1937053] - ath11k: Update tx descriptor search index properly (Jarod Wilson) [1937053] - ath10k: Fix lockdep assertion warning in ath10k_sta_statistics (Jarod Wilson) [1937053] - ath10k: Fix suspicious RCU usage warning in ath10k_wmi_tlv_parse_peer_stats_info() (Jarod Wilson) [1937053] - wl3501: fix alignment constraints (Jarod Wilson) [1937053] - rt2800usb: add Sweex LW163V2 id's (Jarod Wilson) [1937053] - rt2x00: remove duplicate word and fix typo in comment (Jarod Wilson) [1937053] - mwifiex: Report connected BSS with cfg80211_connect_bss() (Jarod Wilson) [1937053] - rtl8xxxu: remove unused assignment value (Jarod Wilson) [1937053] - atmel: at76c50x: use DEFINE_MUTEX() for mutex lock (Jarod Wilson) [1937053] - brcmsmac: fix alignment constraints (Jarod Wilson) [1937053] - brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet (Jarod Wilson) [1937053] - brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet (Jarod Wilson) [1937053] - rtw88: 8821c: support RFE type2 wifi NIC (Jarod Wilson) [1937053] - rtw88: 8821c: Correct CCK RSSI (Jarod Wilson) [1937053] - rtw88: coex: 8821c: correct antenna switch function (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: remove redundant initialization of variable rtstatus (Jarod Wilson) [1937053] - iwlwifi: pcie: Disable softirqs during Rx queue init (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 61 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: add Asus to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add Microsoft to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add Samsung to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: add HP to the PPAG approved list (Jarod Wilson) [1937053] - iwlwifi: mvm: implement approved list for the PPAG feature (Jarod Wilson) [1937053] - iwlwifi: mvm: set enabled in the PPAG command properly (Jarod Wilson) [1937053] - iwlwifi: mvm: add debugfs entry to trigger a dump as any time-point (Jarod Wilson) [1937053] - iwlwifi: mvm: add tx fail time point (Jarod Wilson) [1937053] - iwlwifi: fwrt: add suspend/resume time point (Jarod Wilson) [1937053] - iwlwifi: mvm: add triggers for MLME events (Jarod Wilson) [1937053] - iwlwifi: mvm: add IML/ROM information for other HW families (Jarod Wilson) [1937053] - iwlwifi: mvm: fix CSA AP side (Jarod Wilson) [1937053] - iwlwifi: mvm: make iwl_mvm_tt_temp_changed() static (Jarod Wilson) [1937053] - iwlwifi: mvm: cancel the scan delayed work when scan is aborted (Jarod Wilson) [1937053] - iwlwifi: pcie: add support for SnJ with Hr1 (Jarod Wilson) [1937053] - iwlwifi: mvm: move early time-point before nvm_init in non-unified (Jarod Wilson) [1937053] - iwlwifi: add support for SnJ with Jf devices (Jarod Wilson) [1937053] - iwlwifi: move SnJ and So rules to the new tables (Jarod Wilson) [1937053] - iwlwifi: mvm: slightly clean up rs_fw_set_supp_rates() (Jarod Wilson) [1937053] - iwlwifi: fw api: make hdr a zero-size array again (Jarod Wilson) [1937053] - iwlwifi: bump FW API to 60 for AX devices (Jarod Wilson) [1937053] - iwlwifi: mvm: advertise BIGTK client support if available (Jarod Wilson) [1937053] - iwlwifi: always allow maximum A-MSDU on newer devices (Jarod Wilson) [1937053] - iwlwifi: mvm: debugfs: check length precisely in inject_packet (Jarod Wilson) [1937053] - iwlwifi: mvm: simplify TX power setting (Jarod Wilson) [1937053] - iwlwifi: tx: move handing sync/async host command to trans (Jarod Wilson) [1937053] - iwlwifi: mvm: add explicit check for non-data frames in get Tx rate (Jarod Wilson) [1937053] - iwlwifi: mvm: debugfs for phy-integration-ver (Jarod Wilson) [1937053] - iwlwifi: parse phy integration string from FW TLV (Jarod Wilson) [1937053] - iwlwifi: mvm: csa: do not abort CSA before disconnect (Jarod Wilson) [1937053] - iwlwifi: mvm: don't send commands during suspend\resume transition (Jarod Wilson) [1937053] - iwlwifi: mvm: don't check system_pm_mode without mutex held (Jarod Wilson) [1937053] - iwlwifi: remove TRANS_PM_OPS (Jarod Wilson) [1937053] - iwlwifi: dbg: dump paged memory from index 1 (Jarod Wilson) [1937053] - iwl-trans: iwlwifi: move sync NMI logic to trans (Jarod Wilson) [1937053] - iwlwifi: pcie: properly implement NAPI (Jarod Wilson) [1937053] - iwlwifi: mvm: add support for new flush queue response (Jarod Wilson) [1937053] - iwlwifi: mvm: handle CCA-EXT delay firmware notification (Jarod Wilson) [1937053] - iwlwifi: mvm: scan: fix scheduled scan restart handling (Jarod Wilson) [1937053] - iwlwifi: mvm: remove debugfs injection limitations (Jarod Wilson) [1937053] - iwlwifi: mvm: check more notification sizes (Jarod Wilson) [1937053] - iwlwifi: mvm: add notification size checks (Jarod Wilson) [1937053] - ath11k: remove h from printk format specifier (Jarod Wilson) [1937053] - ath10k: remove h from printk format specifier (Jarod Wilson) [1937053] - cfg80211: fix netdev registration deadlock (Jarod Wilson) [1937053] - mac80211: fix station rate table updates on assoc (Jarod Wilson) [1937053] - mt76: mt7663: introduce coredump support (Jarod Wilson) [1937053] - mt76: mt7921: add coredump support (Jarod Wilson) [1937053] - mt76: mt7921: enable MSI interrupts (Jarod Wilson) [1937053] - mt76: mt7921: introduce regdomain notifier support (Jarod Wilson) [1937053] - mt76: mt7921: introduce Runtime PM support (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu module for suspend and WoW support (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu module for sched_scan and hw_scan (Jarod Wilson) [1937053] - mt76: mt7921: rely on mt76_connac_mcu common library (Jarod Wilson) [1937053] - mt76: mt7921: introduce PM support (Jarod Wilson) [1937053] - mt76: mt7921: introduce beacon_loss mcu event (Jarod Wilson) [1937053] - mt76: mt7921: introduce support for hardware beacon filter (Jarod Wilson) [1937053] - mt76: mt7921: introduce 802.11 PS support in sta mode (Jarod Wilson) [1937053] - mt76: mt7921: introduce schedule scan support (Jarod Wilson) [1937053] - mt76: mt7921: add debugfs support (Jarod Wilson) [1937053] - mt76: mt7921: introduce mt7921e support (Jarod Wilson) [1937053] - mt76: mt7921: add ieee80211_ops (Jarod Wilson) [1937053] - mt76: mt7921: add EEPROM support (Jarod Wilson) [1937053] - mt76: mt7921: add DMA support (Jarod Wilson) [1937053] - mt76: mt7921: add MCU support (Jarod Wilson) [1937053] - mt76: mt7921: add MAC support (Jarod Wilson) [1937053] - wireless: Fix "ordering" comment typos (Jarod Wilson) [1937053] - mt76: mt76_connac: move pm utility routines in mt76_connac_lib module (Jarod Wilson) [1937053] - mt76: mt76_connac: move pm data struct in mt76_connac.h (Jarod Wilson) [1937053] - mt76: mt76_connac: move WoW and suspend code in mt76_connac_mcu module (Jarod Wilson) [1937053] - mt76: mt76_connac: move hw_scan and sched_scan routine in mt76_connac_mcu module (Jarod Wilson) [1937053] - mt76: mt76_connac: create mcu library (Jarod Wilson) [1937053] - mt76: introduce mt76_vif data structure (Jarod Wilson) [1937053] - cfg80211: call cfg80211_destroy_ifaces() with wiphy lock held (Jarod Wilson) [1937053] - wext: call cfg80211_set_encryption() with wiphy lock held (Jarod Wilson) [1937053] - wext: call cfg80211_change_iface() with wiphy lock held (Jarod Wilson) [1937053] - nl80211: call cfg80211_dev_rename() under RTNL (Jarod Wilson) [1937053] - mt76: dma: fix a possible memory leak in mt76_add_fragment() (Jarod Wilson) [1937053] - ath9k: fix build error with LEDS_CLASS=m (Jarod Wilson) [1937053] - ath10k: fix wmi mgmt tx queue full due to race condition (Jarod Wilson) [1937053] - ath10k: pass the ssid info to get the correct bss entity (Jarod Wilson) [1937053] - ath10k: allow dynamic SAR power limits via common API (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix regression in the max_prob_rate fix (Jarod Wilson) [1937053] - mt76: mt7615: reduce VHT maximum MPDU length (Jarod Wilson) [1937053] - mt76: reduce q->lock hold time (Jarod Wilson) [1937053] - mt76: usb: process URBs with status EPROTO properly (Jarod Wilson) [1937053] - mt76: move vif_mask back from mt76_phy to mt76_dev (Jarod Wilson) [1937053] - mt76: mt7915: make vif index per adapter instead of per band (Jarod Wilson) [1937053] - mt76: mt7915: add support for using a secondary PCIe link for gen1 (Jarod Wilson) [1937053] - mt76: fix crash on tearing down ext phy (Jarod Wilson) [1937053] - mt76: mt7915: bring up the WA event rx queue for band1 (Jarod Wilson) [1937053] - mt76: mt7615: unify init work (Jarod Wilson) [1937053] - mt76: mt7915: support TxBF for DBDC (Jarod Wilson) [1937053] - mt76: mt7915: Remove unneeded semicolon (Jarod Wilson) [1937053] - mt76: mt7615: set mcu country code in mt7615_mcu_set_channel_domain() (Jarod Wilson) [1937053] - mt76: mt7915: fix eeprom DBDC band selection (Jarod Wilson) [1937053] - mt76: mt7915: fix eeprom parsing for DBDC (Jarod Wilson) [1937053] - iwlwifi: provide gso_type to GSO packets (Jarod Wilson) [1937053] - mt76: mt7915: disable RED support in the WA firmware (Jarod Wilson) [1937053] - mt76: mt7915: rework mcu API (Jarod Wilson) [1937053] - mt76: mt7915: do not set DRR group for stations (Jarod Wilson) [1937053] - mt76: mt7915: ensure that init work completes before starting the device (Jarod Wilson) [1937053] - mt76: mt7603: fix ED/CCA monitoring with single-stream devices (Jarod Wilson) [1937053] - mt76: mt7915: add implicit Tx beamforming support (Jarod Wilson) [1937053] - mt76: mt7915: simplify peer's TxBF capability check (Jarod Wilson) [1937053] - mt76: mt7615: mt7915: disable txpower sku when testmode enabled (Jarod Wilson) [1937053] - mt76: mt7915: add support for continuous tx in testmode (Jarod Wilson) [1937053] - mt76: mt7915: rework set state part in testmode (Jarod Wilson) [1937053] - mt76: testmode: add a new state for continuous tx (Jarod Wilson) [1937053] - mt76: mt7915: clean hw queue before starting new testmode tx (Jarod Wilson) [1937053] - mt76: mt7915: calculate new packet length when tx_time is set in testmode (Jarod Wilson) [1937053] - mt76: mt7915: add support for ipg in testmode (Jarod Wilson) [1937053] - mt76: mt7915: split edca update function (Jarod Wilson) [1937053] - mt76: testmode: make tx queued limit adjustable (Jarod Wilson) [1937053] - mt76: testmode: add attributes for ipg related parameters (Jarod Wilson) [1937053] - mt76: testmode: add support to set user-defined spe index (Jarod Wilson) [1937053] - mt76: mt7915: force ldpc for bw larger than 20MHz in testmode (Jarod Wilson) [1937053] - mt76: move chainmask in mt76_phy (Jarod Wilson) [1937053] - mt76: move mac_work in mt76_core module (Jarod Wilson) [1937053] - mt76: mt7615: move testmode data from dev to phy (Jarod Wilson) [1937053] - mt76: mt7915: move testmode data from dev to phy (Jarod Wilson) [1937053] - mt76: testmode: move mtd part to mt76_dev (Jarod Wilson) [1937053] - mt76: testmode: introduce dbdc support (Jarod Wilson) [1937053] - mt76: mt7915: add partial add_bss_info command on testmode init (Jarod Wilson) [1937053] - mt76: mt7915: drop zero-length packet to avoid Tx hang (Jarod Wilson) [1937053] - mt76: mt7915: simplify mt7915_mcu_send_message routine (Jarod Wilson) [1937053] - mt76: mt7915: fix endianness warning in mt7915_mcu_set_radar_th (Jarod Wilson) [1937053] - mt76: mt7915: add support for flash mode (Jarod Wilson) [1937053] - mt76: mt7915: run mt7915_configure_filter holding mt76 mutex (Jarod Wilson) [1937053] - mt76: mt7915: convert comma to semicolon (Jarod Wilson) [1937053] - mt76: mt7615: convert comma to semicolon (Jarod Wilson) [1937053] - mt76: mt7615: reset token when mac_reset happens (Jarod Wilson) [1937053] - mt76: mt7915: reset token when mac_reset happens (Jarod Wilson) [1937053] - mt76: mt7915: fix MT_CIPHER_BIP_CMAC_128 setkey (Jarod Wilson) [1937053] - mt76: mt7615: add vif check in mt7615_update_vif_beacon() (Jarod Wilson) [1937053] - mt76: mt7915: add vif check in mt7915_update_vif_beacon() (Jarod Wilson) [1937053] - ath11k: add ieee80211_unregister_hw to avoid kernel crash caused by NULL pointer (Jarod Wilson) [1937053] - mac80211: pause TX while changing interface type (Jarod Wilson) [1937053] - wext: fix NULL-ptr-dereference with cfg80211's lack of commit() (Jarod Wilson) [1937053] - cfg80211: avoid holding the RTNL when calling the driver (Jarod Wilson) [1937053] - iwl4965: do not process non-QOS frames on txq->sched_retry path (Jarod Wilson) [1937053] - mt7601u: process tx URBs with status EPROTO properly (Jarod Wilson) [1937053] - mt7601u: use ieee80211_rx_list to pass frames to the network stack as a batch (Jarod Wilson) [1937053] - rtw88: 8723de: adjust the LTR setting (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl8192c-common: fix bool comparison in expressions (Jarod Wilson) [1937053] - rtlwifi: rtl_pci: fix bool comparison in expressions (Jarod Wilson) [1937053] - mt7601u: fix kernel crash unplugging the device (Jarod Wilson) [1937053] - iwlwifi: queue: bail out on invalid freeing (Jarod Wilson) [1937053] - iwlwifi: mvm: guard against device removal in reprobe (Jarod Wilson) [1937053] - iwlwifi: Fix IWL_SUBDEVICE_NO_160 macro to use the correct bit. (Jarod Wilson) [1937053] - iwlwifi: mvm: clear IN_D3 after wowlan status cmd (Jarod Wilson) [1937053] - iwlwifi: pcie: add rules to match Qu with Hr2 (Jarod Wilson) [1937053] - iwlwifi: mvm: invalidate IDs of internal stations at mvm start (Jarod Wilson) [1937053] - iwlwifi: mvm: fix the return type for DSM functions 1 and 2 (Jarod Wilson) [1937053] - iwlwifi: pcie: reschedule in long-running memory reads (Jarod Wilson) [1937053] - iwlwifi: pcie: use jiffies for memory read spin time limit (Jarod Wilson) [1937053] - iwlwifi: pcie: fix context info memory leak (Jarod Wilson) [1937053] - iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap (Jarod Wilson) [1937053] - iwlwifi: pcie: set LTR on more devices (Jarod Wilson) [1937053] - iwlwifi: queue: don't crash if txq->entries is NULL (Jarod Wilson) [1937053] - iwlwifi: fix the NMI flow for old devices (Jarod Wilson) [1937053] - iwlwifi: pnvm: don't try to load after failures (Jarod Wilson) [1937053] - iwlwifi: pnvm: don't skip everything when not reloading (Jarod Wilson) [1937053] - iwlwifi: pcie: avoid potential PNVM leaks (Jarod Wilson) [1937053] - iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() (Jarod Wilson) [1937053] - iwlwifi: mvm: skip power command when unbinding vif during CSA (Jarod Wilson) [1937053] - cfg80211: change netdev registration/unregistration semantics (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix rounding error in throughput calculation (Jarod Wilson) [1937053] - mac80211: minstrel_ht: increase stats update interval (Jarod Wilson) [1937053] - mac80211: minstrel_ht: fix max probability rate selection (Jarod Wilson) [1937053] - mac80211: minstrel_ht: improve sample rate selection (Jarod Wilson) [1937053] - mac80211: minstrel_ht: improve ampdu length estimation (Jarod Wilson) [1937053] - mac80211: minstrel_ht: remove old ewma based rate average code (Jarod Wilson) [1937053] - mac80211: remove legacy minstrel rate control (Jarod Wilson) [1937053] - mac80211: minstrel_ht: add support for OFDM rates on non-HT clients (Jarod Wilson) [1937053] - mac80211: minstrel_ht: clean up CCK code (Jarod Wilson) [1937053] - mac80211: introduce aql_enable node in debugfs (Jarod Wilson) [1937053] - cfg80211: Add phyrate conversion support for extended MCS in 60GHz band (Jarod Wilson) [1937053] - cfg80211: add VHT rate entries for MCS-10 and MCS-11 (Jarod Wilson) [1937053] - mac80211: reduce peer HE MCS/NSS to own capabilities (Jarod Wilson) [1937053] - mac80211: remove NSS number of 160MHz if not support 160MHz for HE (Jarod Wilson) [1937053] - mac80211: 160MHz with extended NSS BW in CSA (Jarod Wilson) [1937053] - mac80211: add LDPC encoding to ieee80211_parse_tx_radiotap (Jarod Wilson) [1937053] - mac80211: add rx decapsulation offload support (Jarod Wilson) [1937053] - ath10k: remove unused struct ath10k::dev_type (Jarod Wilson) [1937053] - ath11k: remove duplicate function declaration (Jarod Wilson) [1937053] - ath10k: increase rx buffer size to 2048 (Jarod Wilson) [1937053] - ath10k: sanitity check for ep connectivity (Jarod Wilson) [1937053] - mt76: mt7663s: fix rx buffer refcounting (Jarod Wilson) [1937053] - mt7601u: fix rx buffer refcounting (Jarod Wilson) [1937053] - mac80211: check if atf has been disabled in __ieee80211_schedule_txq (Jarod Wilson) [1937053] - mac80211: do not drop tx nulldata packets on encrypted links (Jarod Wilson) [1937053] - mac80211: fix encryption key selection for 802.3 xmit (Jarod Wilson) [1937053] - mac80211: fix fast-rx encryption check (Jarod Wilson) [1937053] - mac80211: fix incorrect strlen of .write in debugfs (Jarod Wilson) [1937053] - cfg80211: fix a kerneldoc markup (Jarod Wilson) [1937053] - brcmfmac: clear EAP/association status bits on linkdown events (Jarod Wilson) [1937053] - brcmfmac: Delete useless kfree code (Jarod Wilson) [1937053] - mt7601u: check the status of device in calibration (Jarod Wilson) [1937053] - mt7601u: process URBs in status EPROTO properly (Jarod Wilson) [1937053] - brcmfmac: support BCM4365E with 43666 ChipCommon chip ID (Jarod Wilson) [1937053] - mwifiex: pcie: Drop bogus __refdata annotation (Jarod Wilson) [1937053] - rtw88: Simplify bool comparison (Jarod Wilson) [1937053] - rtw88: coex: set 4 slot TDMA for BT link and WL busy (Jarod Wilson) [1937053] - rtw88: 8821c: apply CCK PD level which calculates from dynamic mechanism (Jarod Wilson) [1937053] - rtw88: reduce the log level for failure of tx report (Jarod Wilson) [1937053] - rtw88: Delete useless kfree code (Jarod Wilson) [1937053] - iwlwifi: dbg: Don't touch the tlv data (Jarod Wilson) [1937053] - mt76: Fix queue ID variable types after mcu queue split (Jarod Wilson) [1937053] - cfg80211: Save the regulatory domain with a lock (Jarod Wilson) [1937053] - cfg80211/mac80211: fix kernel-doc for SAR APIs (Jarod Wilson) [1937053] - mt76: mt7915: fix MESH ifdef block (Jarod Wilson) [1937053] - mt76: mt76s: fix NULL pointer dereference in mt76s_process_tx_queue (Jarod Wilson) [1937053] - mt76: sdio: remove wake logic in mt76s_process_tx_queue (Jarod Wilson) [1937053] - mt76: usb: remove wake logic in mt76u_status_worker (Jarod Wilson) [1937053] - ath11k: dp: clean up a variable name (Jarod Wilson) [1937053] - ath11k: pci: remove unnecessary mask in ath11k_pci_enable_ltssm() (Jarod Wilson) [1937053] - ath11k: pci: disable ASPM L0sLs before downloading firmware (Jarod Wilson) [1937053] - ath11k: qmi: try to allocate a big block of DMA memory first (Jarod Wilson) [1937053] - rtlwifi: rise completion at the last step of firmware callback (Jarod Wilson) [1937053] - mt76: mt76u: fix NULL pointer dereference in mt76u_status_worker (Jarod Wilson) [1937053] - ath10k: prevent deinitializing NAPI twice (Jarod Wilson) [1937053] - ath9k: Postpone key cache entry deletion for TXQ frames reference it (Jarod Wilson) [1937053] - ath: Modify ath_key_delete() to not need full key entry (Jarod Wilson) [1937053] - ath: Export ath_hw_keysetmac() (Jarod Wilson) [1937053] - ath9k: Clear key cache explicitly on disabling hardware (Jarod Wilson) [1937053] - ath: Use safer key clearing with key cache entries (Jarod Wilson) [1937053] - ath10k: Remove voltage regulator votes during wifi disable (Jarod Wilson) [1937053] - ath10k: Fix error handling in case of CE pipe init failure (Jarod Wilson) [1937053] - ath11k: Fix ath11k_pci_fix_l1ss() (Jarod Wilson) [1937053] - ath11k: Fix error code in ath11k_core_suspend() (Jarod Wilson) [1937053] - ath11k: start vdev if a bss peer is already created (Jarod Wilson) [1937053] - ath11k: fix crash caused by NULL rx_channel (Jarod Wilson) [1937053] - ath11k: add missing null check on allocated skb (Jarod Wilson) [1937053] - ath9k: make relay callbacks const (Jarod Wilson) [1937053] - ath11k: make relay callbacks const (Jarod Wilson) [1937053] - ath10k: make relay callbacks const (Jarod Wilson) [1937053] - ath11k: implement suspend for QCA6390 PCI devices (Jarod Wilson) [1937053] - ath11k: hif: add ce irq enable and disable functions (Jarod Wilson) [1937053] - ath11k: implement WoW enable and wakeup commands (Jarod Wilson) [1937053] - ath11k: set credit_update flag for flow controlled ep only (Jarod Wilson) [1937053] - ath11k: dp: stop rx pktlog before suspend (Jarod Wilson) [1937053] - ath11k: htc: implement suspend handling (Jarod Wilson) [1937053] - ath11k: htc: remove unused struct ath11k_htc_ops (Jarod Wilson) [1937053] - ath11k: pci: read select_window register to ensure write is finished (Jarod Wilson) [1937053] - ath11k: hif: implement suspend and resume functions (Jarod Wilson) [1937053] - ath11k: mhi: hook suspend and resume (Jarod Wilson) [1937053] - ath11k: Fix incorrect tlvs in scan start command (Jarod Wilson) [1937053] - ath11k: pci: disable VDD4BLOW (Jarod Wilson) [1937053] - ath11k: pci: fix L1ss clock unstable problem (Jarod Wilson) [1937053] - ath11k: pci: fix hot reset stability issues (Jarod Wilson) [1937053] - ath11k: put hw to DBS using WMI_PDEV_SET_HW_MODE_CMDID (Jarod Wilson) [1937053] - ath11k: mhi: print a warning if firmware crashed (Jarod Wilson) [1937053] - ath11k: use MHI provided APIs to allocate and free MHI controller (Jarod Wilson) [1937053] - ath10k: add atomic protection for device recovery (Jarod Wilson) [1937053] - ath10k: add option for chip-id based BDF selection (Jarod Wilson) [1937053] - mt76: remove unused variable q (Jarod Wilson) [1937053] - mac80211: add ieee80211_set_sar_specs (Jarod Wilson) [1937053] - nl80211: add common API to configure SAR power limitations (Jarod Wilson) [1937053] - mac80211: fix a mistake check for rx_stats update (Jarod Wilson) [1937053] - mac80211: mlme: save ssid info to ieee80211_bss_conf while assoc (Jarod Wilson) [1937053] - mac80211: Update rate control on channel change (Jarod Wilson) [1937053] - mac80211: don't filter out beacons once we start CSA (Jarod Wilson) [1937053] - mac80211: Fix calculation of minimal channel width (Jarod Wilson) [1937053] - mac80211: ignore country element TX power on 6 GHz (Jarod Wilson) [1937053] - mac80211: use bitfield helpers for BA session action frames (Jarod Wilson) [1937053] - mac80211: support Rx timestamp calculation for all preamble types (Jarod Wilson) [1937053] - mac80211: don't set set TDLS STA bandwidth wider than possible (Jarod Wilson) [1937053] - mac80211: support driver-based disconnect with reconnect hint (Jarod Wilson) [1937053] - cfg80211: support immediate reconnect request hint (Jarod Wilson) [1937053] - mac80211: use struct assignment for he_obss_pd (Jarod Wilson) [1937053] - cfg80211: remove struct ieee80211_he_bss_color (Jarod Wilson) [1937053] - nl80211: validate key indexes for cfg80211_registered_device (Jarod Wilson) [1937053] - cfg80211: include block-tx flag in channel switch started event (Jarod Wilson) [1937053] - mac80211: disallow band-switch during CSA (Jarod Wilson) [1937053] - ieee80211: update reduced neighbor report TBTT info length (Jarod Wilson) [1937053] - cfg80211: Save the regulatory domain when setting custom regulatory (Jarod Wilson) [1937053] - nl80211: always accept scan request with the duration set (Jarod Wilson) [1937053] - cfg80211: Update TSF and TSF BSSID for multi BSS (Jarod Wilson) [1937053] - cfg80211: scan PSC channels in case of scan with wildcard SSID (Jarod Wilson) [1937053] - mac80211: Skip entries with SAE H2E only membership selector (Jarod Wilson) [1937053] - cfg80211: Parse SAE H2E only membership selector (Jarod Wilson) [1937053] - mac80211: support MIC error/replay detected counters driver update (Jarod Wilson) [1937053] - mac80211: he: remove non-bss-conf fields from bss_conf (Jarod Wilson) [1937053] - mac80211: remove trailing semicolon in macro definitions (Jarod Wilson) [1937053] - nl80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mac80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - cfg80211: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - cfg80211: fix callback type mismatches in wext-compat (Jarod Wilson) [1937053] - net: wireless: make a const array static, makes object smaller (Jarod Wilson) [1937053] - net: mac80211: use core API for updating TX/RX stats (Jarod Wilson) [1937053] - rfkill: add a reason to the HW rfkill state (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: fix ofdm power compensation (Jarod Wilson) [1937053] - ath9k_htc: adhere to the DONT_REORDER transmit flag (Jarod Wilson) [1937053] - ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax (Jarod Wilson) [1937053] - ath11k: support TXOP duration based RTS threshold (Jarod Wilson) [1937053] - ath11k: fix incorrect wmi param for configuring HE operation (Jarod Wilson) [1937053] - ath11k: unlock on error path in ath11k_mac_op_add_interface() (Jarod Wilson) [1937053] - ath11k: fix rmmod failure if qmi sequence fails (Jarod Wilson) [1937053] - rtw88: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - rt2x00: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - ath11k: pci: add MODULE_FIRMWARE macros (Jarod Wilson) [1937053] - rtw88: reduce polling time of IQ calibration (Jarod Wilson) [1937053] - rtw88: fix multiple definition of rtw_pm_ops (Jarod Wilson) [1937053] - brcmfmac: remove redundant assignment to pointer 'entry' (Jarod Wilson) [1937053] - rtw88: declare hw supports ch 144 (Jarod Wilson) [1937053] - rtw88: coex: fix missing unitialization of variable 'interval' (Jarod Wilson) [1937053] - mwifiex: change license text of Makefile and README from MARVELL to NXP (Jarod Wilson) [1937053] - rtw88: pci: Add prototypes for .probe, .remove and .shutdown (Jarod Wilson) [1937053] - ath9k: remove trailing semicolon in macro definition (Jarod Wilson) [1937053] - ath11k: Ignore resetting peer auth flag in peer assoc cmd (Jarod Wilson) [1937053] - ath11k: add 64bit check before reading msi high addr (Jarod Wilson) [1937053] - ath10k: fix a check patch warning returnNonBoolInBooleanFunction of sdio.c (Jarod Wilson) [1937053] - mac80211: mesh: fix mesh_pathtbl_init() error path (Jarod Wilson) [1937053] - mt76: mt7615: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - mt76: mt7915: fix ht mcs in mt7915_mcu_get_rx_rate() (Jarod Wilson) [1937053] - mt76: attempt to free up more room when filling the tx queue (Jarod Wilson) [1937053] - mt76: mt7915: stop queues when running out of tx tokens (Jarod Wilson) [1937053] - mt76: improve tx queue stop/wake (Jarod Wilson) [1937053] - mt76: mt7915: fix memory leak in mt7915_mcu_get_rx_rate() (Jarod Wilson) [1937053] - mt76: mt7615: fix rdd mcu cmd endianness (Jarod Wilson) [1937053] - mt76: mt7915: fix endian issues (Jarod Wilson) [1937053] - mt76: mt7915: get rid of dbdc debugfs knob (Jarod Wilson) [1937053] - mt76: mt7915: introduce dbdc support (Jarod Wilson) [1937053] - mt76: move hw mac_addr in mt76_phy (Jarod Wilson) [1937053] - mt76: move band allocation in mt76_register_phy (Jarod Wilson) [1937053] - mt76: rely on mt76_phy in mt76_init_sband_2g and mt76_init_sband_5g (Jarod Wilson) [1937053] - mt76: move band capabilities in mt76_phy (Jarod Wilson) [1937053] - mt76: move tx hw data queues in mt76_phy (Jarod Wilson) [1937053] - mt76: move mcu queues to mt76_dev q_mcu array (Jarod Wilson) [1937053] - mt76: rely on mt76_queue in tx_queue_skb_raw signature (Jarod Wilson) [1937053] - mt76: introduce mt76_init_mcu_queue utility routine (Jarod Wilson) [1937053] - mt76: rely on mt76_queue in tx_queue_skb signature (Jarod Wilson) [1937053] - mt76: dma: rely on mt76_queue in mt76_dma_tx_cleanup signature (Jarod Wilson) [1937053] - mt76: mt7663s: rely on mt76_queue in mt7663s_tx_run_queue signature (Jarod Wilson) [1937053] - mt76: sdio: rely on mt76_queue in mt76s_process_tx_queue signature (Jarod Wilson) [1937053] - mt76: sdio: introduce mt76s_alloc_tx_queue (Jarod Wilson) [1937053] - mt76: move mt76_init_tx_queue in common code (Jarod Wilson) [1937053] - mt76: mt7915: rely on eeprom definitions (Jarod Wilson) [1937053] - mt76: mt7615: refactor usb/sdio rate code (Jarod Wilson) [1937053] - mt76: mt7615: support 16 interfaces (Jarod Wilson) [1937053] - mt76: mt7915: remove unused mt7915_mcu_bss_sync_tlv() (Jarod Wilson) [1937053] - mt76: mt7915: use BIT_ULL for omac_idx (Jarod Wilson) [1937053] - mt76: mt7915: make mt7915_eeprom_read static (Jarod Wilson) [1937053] - mt76: mt7915: add support to set tx frequency offset in testmode (Jarod Wilson) [1937053] - mt76: mt7915: add support to set txpower in testmode (Jarod Wilson) [1937053] - mt76: mt7915: implement testmode rx support (Jarod Wilson) [1937053] - mt76: mt7915: implement testmode tx support (Jarod Wilson) [1937053] - mt76: testmode: add support for HE rate modes (Jarod Wilson) [1937053] - mt76: mt7915: fix tx rate related fields in tx descriptor (Jarod Wilson) [1937053] - mt76: testmode: add support for LTF and GI combinations for HE mode (Jarod Wilson) [1937053] - mt76: testmode: add tx_rate_stbc parameter (Jarod Wilson) [1937053] - mt76: testmode: add snr attribute in rx statistics (Jarod Wilson) [1937053] - mt76: testmode: switch ib and wb rssi to array type for per-antenna report (Jarod Wilson) [1937053] - mt76: mt76u: use dedicated thread for status work (Jarod Wilson) [1937053] - mt76: mt76u: rely on woker APIs for rx work (Jarod Wilson) [1937053] - mt76: mt7615: run key configuration in mt7615_set_key for usb/sdio devices (Jarod Wilson) [1937053] - mt76: fix tkip configuration for mt7615/7663 devices (Jarod Wilson) [1937053] - mt76: switch to wep sw crypto for mt7615/mt7915 (Jarod Wilson) [1937053] - mt76: mt7663s: introduce WoW support via GPIO (Jarod Wilson) [1937053] - mt76: move mt76_mcu_send_firmware in common module (Jarod Wilson) [1937053] - mt76: mt7603: add additional EEPROM chip ID (Jarod Wilson) [1937053] - mt76: fix memory leak if device probing fails (Jarod Wilson) [1937053] - mt76: mt7915: fix sparse warning cast from restricted __le16 (Jarod Wilson) [1937053] - mt76: dma: fix possible deadlock running mt76_dma_cleanup (Jarod Wilson) [1937053] - mt76: set fops_tx_stats.owner to THIS_MODULE (Jarod Wilson) [1937053] - mt76: mt7915: rename mt7915_mcu_get_rate_info to mt7915_mcu_get_tx_rate (Jarod Wilson) [1937053] - mt76: mt7915: update ppe threshold (Jarod Wilson) [1937053] - mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE (Jarod Wilson) [1937053] - mt76: sdio: get rid of sched.lock (Jarod Wilson) [1937053] - mt76: mt7663s: fix a possible ple quota underflow (Jarod Wilson) [1937053] - mt76: mt7663s: get rid of mt7663s_sta_add (Jarod Wilson) [1937053] - mt76: mt7615: introduce quota debugfs node for mt7663s (Jarod Wilson) [1937053] - mt76: mt7615: enable beacon filtering by default for offload fw (Jarod Wilson) [1937053] - mt76: add back the SUPPORTS_REORDERING_BUFFER flag (Jarod Wilson) [1937053] - mt76: mt7915: query station rx rate from firmware (Jarod Wilson) [1937053] - mt76: mt7915: move eeprom parsing out of mt7915_mcu_parse_response (Jarod Wilson) [1937053] - mt76: implement functions to get the response skb for MCU calls (Jarod Wilson) [1937053] - mt76: mt7603: switch to .mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: make mcu_ops->mcu_send_msg optional (Jarod Wilson) [1937053] - mt76: move waiting and locking out of mcu_ops->mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: move mcu timeout handling to .mcu_parse_response (Jarod Wilson) [1937053] - mt76: implement .mcu_parse_response in struct mt76_mcu_ops (Jarod Wilson) [1937053] - mt76: rename __mt76_mcu_skb_send_msg to mt76_mcu_skb_send_msg (Jarod Wilson) [1937053] - mt76: rename __mt76_mcu_send_msg to mt76_mcu_send_msg (Jarod Wilson) [1937053] - mt76: mt7915: disable OFDMA/MU-MIMO UL (Jarod Wilson) [1937053] - mt76: mt7915: fix DRR sta bss group index (Jarod Wilson) [1937053] - mt76: mt7915: use napi_consume_skb to bulk-free tx skbs (Jarod Wilson) [1937053] - mt76: mt7915: fix processing txfree events (Jarod Wilson) [1937053] - mt76: mt7915: support 32 station interfaces (Jarod Wilson) [1937053] - mt76: do not set NEEDS_UNIQUE_STA_ADDR for 7615 and 7915 (Jarod Wilson) [1937053] - mt76: mt7615: add debugfs knob for setting extended local mac addresses (Jarod Wilson) [1937053] - mt76: use ieee80211_rx_list to pass frames to the network stack as a batch (Jarod Wilson) [1937053] - mt76: mt7915: add encap offload for 4-address mode stations (Jarod Wilson) [1937053] - mt76: mt7915: add 802.11 encap offload support (Jarod Wilson) [1937053] - mt76: sdio: convert {status/net}_work to mt76_worker (Jarod Wilson) [1937053] - mt76: mt7663s: disable interrupt during txrx_worker processing (Jarod Wilson) [1937053] - mt76: mt7663s: convert txrx_work to mt76_worker (Jarod Wilson) [1937053] - mt76: mt7663s: move tx/rx processing in the same txrx workqueue (Jarod Wilson) [1937053] - mt76: mt7615: retry if mt7615_mcu_init returns -EAGAIN (Jarod Wilson) [1937053] - mt76: mt7915: fix VHT LDPC capability (Jarod Wilson) [1937053] - mt76: mt7915: measure channel noise and report it via survey (Jarod Wilson) [1937053] - mac80211: set SDATA_STATE_RUNNING for monitor interfaces (Jarod Wilson) [1937053] - cfg80211: initialize rekey_data (Jarod Wilson) [1937053] - mac80211: fix return value of ieee80211_chandef_he_6ghz_oper (Jarod Wilson) [1937053] - rtw88: debug: Fix uninitialized memory in debugfs code (Jarod Wilson) [1937053] - brcmfmac: expose firmware config files through modinfo (Jarod Wilson) [1937053] - rtw88: coex: add feature to enhance HID coexistence performance (Jarod Wilson) [1937053] - rtw88: coex: upgrade coexistence A2DP mechanism (Jarod Wilson) [1937053] - rtw88: coex: add action for coexistence in hardware initial (Jarod Wilson) [1937053] - rtw88: coex: add function to avoid cck lock (Jarod Wilson) [1937053] - rtw88: coex: change the coexistence mechanism for WLAN connected (Jarod Wilson) [1937053] - rtw88: coex: change the coexistence mechanism for HID (Jarod Wilson) [1937053] - rtw88: coex: update AFH information while in free-run mode (Jarod Wilson) [1937053] - rtw88: coex: update the mechanism for A2DP + PAN (Jarod Wilson) [1937053] - rtw88: coex: add debug message (Jarod Wilson) [1937053] - rtw88: coex: run coexistence when WLAN entering/leaving LPS (Jarod Wilson) [1937053] - Revert "rtl8xxxu: Add Buffalo WI-U3-866D to list of supported devices" (Jarod Wilson) [1937053] - mt76: usb: fix crash on device removal (Jarod Wilson) [1937053] - ath11k: dp_rx: fix monitor status dma unmap direction (Jarod Wilson) [1937053] - ath10k: Constify static qmi structs (Jarod Wilson) [1937053] - ath10k: Release some resources in an error handling path (Jarod Wilson) [1937053] - ath10k: Fix an error handling path (Jarod Wilson) [1937053] - ath10k: Fix the parsing error in service available event (Jarod Wilson) [1937053] - ath11k: Fix an error handling path (Jarod Wilson) [1937053] - ath11k: Build check size of ath11k_skb_cb (Jarod Wilson) [1937053] - ath11k: Reset ath11k_skb_cb before setting new flags (Jarod Wilson) [1937053] - ath11k: Don't cast ath11k_skb_cb to ieee80211_tx_info.control (Jarod Wilson) [1937053] - ath11k: remove "ath11k_mac_get_ar_vdev_stop_status" references (Jarod Wilson) [1937053] - ath11k: peer delete synchronization with firmware (Jarod Wilson) [1937053] - ath11k: vdev delete synchronization with firmware (Jarod Wilson) [1937053] - mwifiex: Remove duplicated REG_PORT definition (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - mwifiex: Fix fall-through warnings for Clang (Jarod Wilson) [1937053] - brcmsmac: ampdu: Check BA window size before checking block ack (Jarod Wilson) [1937053] - brcmfmac: Fix incorrect type in assignment (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: remove the useless value assignment (Jarod Wilson) [1937053] - brcmfmac: fix error return code in brcmf_cfg80211_connect() (Jarod Wilson) [1937053] - rtw88: wow: print key type when failing (Jarod Wilson) [1937053] - rtw88: coex: change the decode method from firmware (Jarod Wilson) [1937053] - rtw88: coex: remove unnecessary WLAN slot extend (Jarod Wilson) [1937053] - rtw88: coex: remove write scan bit to scoreboard in scan and connect notify (Jarod Wilson) [1937053] - rtw88: coex: fix BT performance drop during initial/power-on step (Jarod Wilson) [1937053] - rtw88: coex: Change antenna setting to enhance free-run performance (Jarod Wilson) [1937053] - rtw88: coex: update the TDMA parameter when leave LPS (Jarod Wilson) [1937053] - rtw88: coex: add the mechanism for RF4CE (Jarod Wilson) [1937053] - rtw88: coex: Add force flag for coexistence table function (Jarod Wilson) [1937053] - rtw88: coex: add write scoreboard action when WLAN in critical procedure (Jarod Wilson) [1937053] - rtw88: coex: remove unnecessary feature/function (Jarod Wilson) [1937053] - rtw88: coex: update TDMA settings for different beacon interval (Jarod Wilson) [1937053] - rtw88: add CCK_PD debug log (Jarod Wilson) [1937053] - rtw88: 8723d: add cck pd seetings (Jarod Wilson) [1937053] - ath11k: Fix the rx_filter flag setting for peer rssi stats (Jarod Wilson) [1937053] - ath10k: add target IRAM recovery feature support (Jarod Wilson) [1937053] - ath11k: Fix beamformee STS in HE cap (Jarod Wilson) [1937053] - ath11k: add processor_id based ring_selector logic (Jarod Wilson) [1937053] - mac80211: free sta in sta_info_insert_finish() on errors (Jarod Wilson) [1937053] - mac80211: minstrel: fix tx status processing corner case (Jarod Wilson) [1937053] - mac80211: minstrel: remove deferred sampling code (Jarod Wilson) [1937053] - mac80211: fix memory leak on filtered powersave frames (Jarod Wilson) [1937053] - rfkill: Fix use-after-free in rfkill_resume() (Jarod Wilson) [1937053] - nl80211: fix kernel-doc warning in the new SAE attribute (Jarod Wilson) [1937053] - cfg80211: remove WDS code (Jarod Wilson) [1937053] - mac80211: remove WDS-related code (Jarod Wilson) [1937053] - rt2x00: remove WDS code (Jarod Wilson) [1937053] - b43: remove WDS code (Jarod Wilson) [1937053] - ath9k: remove WDS code (Jarod Wilson) [1937053] - rtw88: coex: simplify the setting and condition about WLAN TX limitation (Jarod Wilson) [1937053] - rtw88: coex: add debug message (Jarod Wilson) [1937053] - rtw88: coex: update WLAN 5G AFH parameter for 8822b (Jarod Wilson) [1937053] - rtw88: coex: change the parameter for A2DP when WLAN connecting (Jarod Wilson) [1937053] - rtw88: coex: modified for BT info notify (Jarod Wilson) [1937053] - rtw88: coex: add separate flag for manual control (Jarod Wilson) [1937053] - rtw88: coex: Modify the timing of set_ant_path/set_rf_para (Jarod Wilson) [1937053] - rtw88: coex: coding style adjustment (Jarod Wilson) [1937053] - rtw88: coex: reduce magic number (Jarod Wilson) [1937053] - rtw88: coex: update coex parameter to improve A2DP quality (Jarod Wilson) [1937053] - rtw88: coex: fixed some wrong register definition and setting (Jarod Wilson) [1937053] - rtlwifi: fix spelling typo of workaround (Jarod Wilson) [1937053] - mwifiex: pcie: skip cancel_work_sync() on reset failure path (Jarod Wilson) [1937053] - mwifiex: update comment for shutdown_sw()/reinit_sw() to reflect current state (Jarod Wilson) [1937053] - mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure (Jarod Wilson) [1937053] - ath11k: Handle errors if peer creation fails (Jarod Wilson) [1937053] - ath9k: work around false-positive gcc warning (Jarod Wilson) [1937053] - wireless: remove CONFIG_WIRELESS_WDS (Jarod Wilson) [1937053] - brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: Place braces around empty if() body (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: phy: Remove a couple of unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: Remove set but unused variable 'cck_highpwr' (Jarod Wilson) [1937053] - rtlwifi: halbtc8821a2ant: Remove a bunch of unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: Remove set but unused variable 'reg_ea4' (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: Remove set but unused variable 'lc_cal' (Jarod Wilson) [1937053] - rtlwifi: halbtc8821a1ant: Remove set but unused variable 'wifi_rssi_state' (Jarod Wilson) [1937053] - rtlwifi: phy: Remove set but unused variable 'bbvalue' (Jarod Wilson) [1937053] - rtlwifi: halbtc8723b2ant: Remove a bunch of set but unused variables (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: trx: Demote clear abuse of kernel-doc format (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: mac: Fix some missing/ill-documented function parameters (Jarod Wilson) [1937053] - rtw88: rtw8822c: Remove unused variable 'corr_val' (Jarod Wilson) [1937053] - mwifiex: pcie: Remove a couple of unchecked 'ret's (Jarod Wilson) [1937053] - wl1251: cmd: Rename 'len' to 'buf_len' in the documentation (Jarod Wilson) [1937053] - brcmfmac: fweh: Add missing description for 'gfp' (Jarod Wilson) [1937053] - brcmfmac: pcie: Provide description for missing function parameter 'devinfo' (Jarod Wilson) [1937053] - brcmfmac: bcmsdh: Fix description for function parameter 'pktlist' (Jarod Wilson) [1937053] - rt2x00: save survey for every channel visited (Jarod Wilson) [1937053] - rtlwifi: Remove in_interrupt() usage in halbtc_send_bt_mp_operation() (Jarod Wilson) [1937053] - rtlwifi: Remove in_interrupt() usage in is_any_client_connect_to_ap(). (Jarod Wilson) [1937053] - rtl8xxxu: Add Buffalo WI-U3-866D to list of supported devices (Jarod Wilson) [1937053] - rtw88: decide lps deep mode from firmware feature. (Jarod Wilson) [1937053] - rtw88: add C2H response for checking firmware leave lps (Jarod Wilson) [1937053] - rtw88: store firmware feature in firmware header (Jarod Wilson) [1937053] - rtw88: sync the power state between driver and firmware (Jarod Wilson) [1937053] - rtw88: coex: separate BLE HID profile from BLE profile (Jarod Wilson) [1937053] - rtlwifi: Fix non-canonical address access issues (Jarod Wilson) [1937053] - brcmfmac: fix SDIO access for big-endian host (Jarod Wilson) [1937053] - rtw88: remove extraneous 'const' qualifier (Jarod Wilson) [1937053] - rtlwifi: fix -Wpointer-sign warning (Jarod Wilson) [1937053] - ath11k: fix ZERO address in probe request (Jarod Wilson) [1937053] - ath9k: dynack: Demote non-compliant function header (Jarod Wilson) [1937053] - ath9k: ar5008_phy: Demote half completed function headers (Jarod Wilson) [1937053] - ath9k: ar9003_2p2_initvals: Remove unused const variables (Jarod Wilson) [1937053] - ath9k: ar9485_initvals: Remove unused const variable 'ar9485_fast_clock_1_1_baseband_postamble' (Jarod Wilson) [1937053] - ath9k: ar9340_initvals: Remove unused const variable 'ar9340Modes_ub124_tx_gain_table_1p0' (Jarod Wilson) [1937053] - ath9k: ar9330_1p1_initvals: Remove unused const variable 'ar9331_common_tx_gain_offset1_1' (Jarod Wilson) [1937053] - ath: dfs_pri_detector: Demote zero/half completed kernel-doc headers (Jarod Wilson) [1937053] - ath: dfs_pattern_detector: Fix some function kernel-doc headers (Jarod Wilson) [1937053] - ath: regd: Provide description for ath_reg_apply_ir_flags's 'reg' param (Jarod Wilson) [1937053] - ath11k: Add new dfs region name for JP (Jarod Wilson) [1937053] - ath11k: fix wmi init configuration (Jarod Wilson) [1937053] - ath11k: Fix the hal descriptor mask (Jarod Wilson) [1937053] - ath11k: Fix single phy hw mode (Jarod Wilson) [1937053] - ath11k: Fix number of rules in filtered ETSI regdomain (Jarod Wilson) [1937053] - ath11k: Remove unused param from wmi_mgmt_params (Jarod Wilson) [1937053] - ath11k: Initialize complete alpha2 for regulatory change (Jarod Wilson) [1937053] - ath11k: cold boot calibration support (Jarod Wilson) [1937053] - ath11k: search DT for qcom,ath11k-calibration-variant (Jarod Wilson) [1937053] - ath11k: Remove unnecessary data sync to cpu on monitor buffer (Jarod Wilson) [1937053] - ath10k: cancel rx worker in hif_stop for SDIO (Jarod Wilson) [1937053] - ath10k: Don't iterate over not-sdata-in-driver interfaces. (Jarod Wilson) [1937053] - ath10k: fix compilation warning (Jarod Wilson) [1937053] - mac80211: assure that certain drivers adhere to DONT_REORDER flag (Jarod Wilson) [1937053] - mac80211: don't overwrite QoS TID of injected frames (Jarod Wilson) [1937053] - mac80211: adhere to Tx control flag that prevents frame reordering (Jarod Wilson) [1937053] - mac80211: add radiotap flag to assure frames are not reordered (Jarod Wilson) [1937053] - mac80211: save HE oper info in BSS config for mesh (Jarod Wilson) [1937053] - cfg80211: add support to configure HE MCS for beacon rate (Jarod Wilson) [1937053] - nl80211: fix beacon tx rate mask validation (Jarod Wilson) [1937053] - cfg80211: Add support to calculate and report 4096-QAM HE rates (Jarod Wilson) [1937053] - cfg80211: Add support to configure SAE PWE value to drivers (Jarod Wilson) [1937053] - ieee80211: Add definition for WFA DPP (Jarod Wilson) [1937053] - mac80211: use semicolons rather than commas to separate statements (Jarod Wilson) [1937053] - ath11k: FILS discovery and unsolicited broadcast probe response support (Jarod Wilson) [1937053] - ath10k: sdio: remove redundant check in for loop (Jarod Wilson) [1937053] - mac80211: add KCOV remote annotations to incoming frame processing (Jarod Wilson) [1937053] - rtw88: fix fw_fifo_addr check (Jarod Wilson) [1937053] - mac80211: don't require VHT elements for HE on 2.4 GHz (Jarod Wilson) [1937053] - cfg80211: regulatory: Fix inconsistent format argument (Jarod Wilson) [1937053] - mac80211: fix kernel-doc markups (Jarod Wilson) [1937053] - mac80211: always wind down STA state (Jarod Wilson) [1937053] - cfg80211: initialize wdev data earlier (Jarod Wilson) [1937053] - mac80211: fix use of skb payload instead of header (Jarod Wilson) [1937053] - mac80211: fix regression where EAPOL frames were sent in plaintext (Jarod Wilson) [1937053] - ath11k: remove repeated words in comments and warnings (Jarod Wilson) [1937053] - ath10k: ath10k_pci_init_irq(): workaround for checkpatch fallthrough warning (Jarod Wilson) [1937053] - ath10k: remove repeated words in comments (Jarod Wilson) [1937053] - nl80211: docs: add a description for s1g_cap parameter (Jarod Wilson) [1937053] - mac80211: use new function dev_fetch_sw_netstats (Jarod Wilson) [1937053] - rtlwifi: rtl8192se: remove duplicated legacy_httxpowerdiff (Jarod Wilson) [1937053] - ath11k: Fix memory leak on error path (Jarod Wilson) [1937053] - mac80211: copy configured beacon tx rate to driver (Jarod Wilson) [1937053] - cfg80211: only allow S1G channels on S1G band (Jarod Wilson) [1937053] - mac80211: initialize last_rate for S1G STAs (Jarod Wilson) [1937053] - mac80211: handle lack of sband->bitrates in rates (Jarod Wilson) [1937053] - mac80211: avoid processing non-S1G elements on S1G band (Jarod Wilson) [1937053] - nl80211: fix non-split wiphy information (Jarod Wilson) [1937053] - nl80211: reduce non-split wiphy dump size (Jarod Wilson) [1937053] - ath11k: remove unnecessary casts to u32 (Jarod Wilson) [1937053] - ath11k: enable idle power save mode (Jarod Wilson) [1937053] - ath11k: start a timer to update HP for CE pipe 4 (Jarod Wilson) [1937053] - ath11k: start a timer to update REO cmd ring (Jarod Wilson) [1937053] - ath11k: start a timer to update TCL HP (Jarod Wilson) [1937053] - ath11k: set WMI pipe credit to 1 for QCA6390 (Jarod Wilson) [1937053] - ath11k: enable shadow register configuration and access (Jarod Wilson) [1937053] - ath11k: read and write registers below unwindowed address (Jarod Wilson) [1937053] - ath11k: debugfs: fix crash during rmmod (Jarod Wilson) [1937053] - ath11k: fix warning caused by lockdep_assert_held (Jarod Wilson) [1937053] - ath11k: mac: remove unused conf_mutex to solve a deadlock (Jarod Wilson) [1937053] - ath11k: pci: fix rmmod crash (Jarod Wilson) [1937053] - ath11k: add packet log support for QCA6390 (Jarod Wilson) [1937053] - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in idr_alloc (Jarod Wilson) [1937053] - ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc (Jarod Wilson) [1937053] - ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock (Jarod Wilson) [1937053] - ath11k: disable monitor mode on QCA6390 (Jarod Wilson) [1937053] - ath11k: pci: check TCSR_SOC_HW_VERSION (Jarod Wilson) [1937053] - ath11k: add interface_modes to hw_params (Jarod Wilson) [1937053] - ath11k: fix AP mode for QCA6390 (Jarod Wilson) [1937053] - ath11k: support loading ELF board files (Jarod Wilson) [1937053] - ath11k: Correctly check errors for calls to debugfs_create_dir() (Jarod Wilson) [1937053] - ath11k: mac: fix parenthesis alignment (Jarod Wilson) [1937053] - rtw88: pci: Power cycle device during shutdown (Jarod Wilson) [1937053] - brcmfmac: Fix warning message after dongle setup failed (Jarod Wilson) [1937053] - brcmfmac: Fix warning when hitting FW crash with flow control feature (Jarod Wilson) [1937053] - net: rtlwifi: Replace in_interrupt() for context detection (Jarod Wilson) [1937053] - net: rtlwifi: Remove in_interrupt() from debug macro (Jarod Wilson) [1937053] - net: rtlwifi: Remove void* casts related to delayed work (Jarod Wilson) [1937053] - net: mwifiex: Use netif_rx_any_context(). (Jarod Wilson) [1937053] - net: iwlwifi: Remove in_interrupt() from tracing macro. (Jarod Wilson) [1937053] - net: ipw2x00,iwlegacy,iwlwifi: Remove in_interrupt() from debug macros (Jarod Wilson) [1937053] - net: brcmfmac: Convey allocation mode as argument (Jarod Wilson) [1937053] - net: brcmfmac: Convey execution context via argument to brcmf_netif_rx() (Jarod Wilson) [1937053] - net: brcmfmac: Replace in_interrupt() (Jarod Wilson) [1937053] - ath11k: Move non-fatal warn logs to dbg level (Jarod Wilson) [1937053] - ath9k: Remove set but not used variable (Jarod Wilson) [1937053] - rtw88: show current regulatory in tx power table (Jarod Wilson) [1937053] - rtw88: add dump fw crash log (Jarod Wilson) [1937053] - rtw88: add dump firmware fifo support (Jarod Wilson) [1937053] - rtw88: handle and recover when firmware crash (Jarod Wilson) [1937053] - rtw88: increse the size of rx buffer size (Jarod Wilson) [1937053] - nl80211: extend support to config spatial reuse parameter set (Jarod Wilson) [1937053] - mac80211: Support not iterating over not-sdata-in-driver ifaces (Jarod Wilson) [1937053] - mac80211: fix some more kernel-doc in mesh (Jarod Wilson) [1937053] - cfg80211: regulatory: remove a bogus initialization (Jarod Wilson) [1937053] - mac80211: fix regression in sta connection monitor (Jarod Wilson) [1937053] - nl80211: include frequency offset in survey info (Jarod Wilson) [1937053] - mac80211: support S1G association (Jarod Wilson) [1937053] - mac80211: receive and process S1G beacons (Jarod Wilson) [1937053] - mac80211: avoid rate init for S1G band (Jarod Wilson) [1937053] - mac80211: handle S1G low rates (Jarod Wilson) [1937053] - mac80211: don't calculate duration for S1G (Jarod Wilson) [1937053] - mac80211: encode listen interval for S1G (Jarod Wilson) [1937053] - cfg80211: handle Association Response from S1G STA (Jarod Wilson) [1937053] - mac80211: convert S1G beacon to scan results (Jarod Wilson) [1937053] - cfg80211: parse S1G Operation element for BSS channel (Jarod Wilson) [1937053] - cfg80211: convert S1G beacon to scan results (Jarod Wilson) [1937053] - mac80211: support S1G STA capabilities (Jarod Wilson) [1937053] - nl80211: support S1G capability overrides in assoc (Jarod Wilson) [1937053] - mac80211: s1g: choose scanning width based on frequency (Jarod Wilson) [1937053] - mac80211: get correct default channel width for S1G (Jarod Wilson) [1937053] - wireless: radiotap: fix some kernel-doc (Jarod Wilson) [1937053] - mac80211: fix some missing kernel-doc (Jarod Wilson) [1937053] - mac80211: Inform AP when returning operating channel (Jarod Wilson) [1937053] - ath11k: fix undefined reference to 'ath11k_debugfs_htt_ext_stats_handler' (Jarod Wilson) [1937053] - mt76: mt7663s: remove max_tx_fragments limitation (Jarod Wilson) [1937053] - mt76: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - mt76: mt7915: add offchannel condition in switch channel command (Jarod Wilson) [1937053] - mt76: mt7915: convert to use le16_add_cpu() (Jarod Wilson) [1937053] - mt76: Fix unsigned expressions compared with zero (Jarod Wilson) [1937053] - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon (Jarod Wilson) [1937053] - mt76: mt76x0: Move tables used only by init.c to their own header file (Jarod Wilson) [1937053] - mt76: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - mt76: mt7615: unlock dfs bands (Jarod Wilson) [1937053] - mt76: mt7663: check isr read return value in mt7663s_rx_work (Jarod Wilson) [1937053] - mt76: mt7663s: introduce sdio tx aggregation (Jarod Wilson) [1937053] - mt76: mt7663s: fix possible quota leak in mt7663s_refill_sched_quota (Jarod Wilson) [1937053] - mt76: move pad estimation out of mt76_skb_adjust_pad (Jarod Wilson) [1937053] - mt76: mt7663s: introduce __mt7663s_xmit_queue routine (Jarod Wilson) [1937053] - mt76: mt7663s: split mt7663s_tx_update_sched in mt7663s_tx_{pick,update}_quota (Jarod Wilson) [1937053] - mt76: mt7663s: do not use altx for ctl/mgmt traffic (Jarod Wilson) [1937053] - mt76: mt7622: fix fw hang on mt7622 (Jarod Wilson) [1937053] - mt76: mt7615: fix VHT LDPC capability (Jarod Wilson) [1937053] - mt76: mt7615: Remove set but unused variable 'index' (Jarod Wilson) [1937053] - mt76: remove retry_q from struct mt76_txq and related code (Jarod Wilson) [1937053] - mt76: move txwi handling code to dma.c, since it is mmio specific (Jarod Wilson) [1937053] - mt76: mt7915: fix queue/tid mapping for airtime reporting (Jarod Wilson) [1937053] - mt76: mt7915: simplify mt7915_lmac_mapping (Jarod Wilson) [1937053] - mt76: dma: cache dma map address/len in struct mt76_queue_entry (Jarod Wilson) [1937053] - mt76: mt7915: fix HE BSS info (Jarod Wilson) [1937053] - mt76: convert from tx tasklet to tx worker thread (Jarod Wilson) [1937053] - mt76: add utility functions for deferring work to a kernel thread (Jarod Wilson) [1937053] - mt76: testmode: add a limit for queued tx_frames packets (Jarod Wilson) [1937053] - mt76: mt7615: fix antenna selection for testmode tx_frames (Jarod Wilson) [1937053] - mt76: mt7615: fix MT_ANT_SWITCH_CON register definition (Jarod Wilson) [1937053] - mt76: mt7915: fix unexpected firmware mode (Jarod Wilson) [1937053] - mt76: mt76x02: tune tx ring size (Jarod Wilson) [1937053] - mt76: mt7603: tune tx ring size (Jarod Wilson) [1937053] - mt76: remove struct mt76_sw_queue (Jarod Wilson) [1937053] - mt76: rely on AQL for burst size limits on tx queueing (Jarod Wilson) [1937053] - mt76: remove swq from struct mt76_sw_queue (Jarod Wilson) [1937053] - mt76: remove qid argument to drv->tx_complete_skb (Jarod Wilson) [1937053] - mt76: unify queue tx cleanup code (Jarod Wilson) [1937053] - mt76: sdio: fix use of q->head and q->tail (Jarod Wilson) [1937053] - mt76: usb: fix use of q->head and q->tail (Jarod Wilson) [1937053] - mt76: mt7603: check for single-stream EEPROM configuration (Jarod Wilson) [1937053] - mt76: add memory barrier to DMA queue kick (Jarod Wilson) [1937053] - mt76: mt7915: add support for accessing mapped registers via bus ops (Jarod Wilson) [1937053] - mt76: mt7615: significantly reduce interrupt load (Jarod Wilson) [1937053] - mt76: mt7915: significantly reduce interrupt load (Jarod Wilson) [1937053] - mt76: mt7915: schedule tx tasklet in mt7915_mac_tx_free (Jarod Wilson) [1937053] - mt76: dma: update q->queued immediately on cleanup (Jarod Wilson) [1937053] - mt76: mt7915: optimize mt7915_mac_sta_poll (Jarod Wilson) [1937053] - mt76: mt7615: fix reading airtime statistics (Jarod Wilson) [1937053] - mt76: mt7663u: fix dma header initialization (Jarod Wilson) [1937053] - mt76: fix a possible NULL pointer dereference in mt76_testmode_dump (Jarod Wilson) [1937053] - mt76: mt7615: fix a possible NULL pointer dereference in mt7615_pm_wake_work (Jarod Wilson) [1937053] - mt76: mt7615: fix possible memory leak in mt7615_tm_set_tx_power (Jarod Wilson) [1937053] - mt76: mt7663s: fix unable to handle kernel paging request (Jarod Wilson) [1937053] - mt76: mt7663s: fix resume failure (Jarod Wilson) [1937053] - mt76: mt7663s: use NULL instead of 0 in sdio code (Jarod Wilson) [1937053] - mt76: mt7615: release mutex in mt7615_reset_test_set (Jarod Wilson) [1937053] - mt76: mt7915: add Tx A-MSDU offloading support (Jarod Wilson) [1937053] - mt76: mt7915: add missing flags in WMM parameter settings (Jarod Wilson) [1937053] - mt76: mt7915: simplify aggregation session check (Jarod Wilson) [1937053] - mt76: mt7615: remove mtxq->agg_ssn assignment (Jarod Wilson) [1937053] - mt76: move mt76_check_agg_ssn to driver tx_prepare calls (Jarod Wilson) [1937053] - mt76: mt7915: enable offloading of sequence number assignment (Jarod Wilson) [1937053] - mt76: mt7915: increase tx retry count (Jarod Wilson) [1937053] - mt76: mt7915: clean up station stats polling and rate control update (Jarod Wilson) [1937053] - mt76: mt7915: do not do any work in napi poll after calling napi_complete_done() (Jarod Wilson) [1937053] - mt76: mt7615: do not do any work in napi poll after calling napi_complete_done() (Jarod Wilson) [1937053] - mt76: mt76x02: clean up and fix interrupt masking in the irq handler (Jarod Wilson) [1937053] - mt76: mt7615: only clear unmasked interrupts in irq tasklet (Jarod Wilson) [1937053] - mt76: mt7915: clean up and fix interrupt masking in the irq handler (Jarod Wilson) [1937053] - mt76: set interrupt mask register to 0 before requesting irq (Jarod Wilson) [1937053] - mt76: fix double DMA unmap of the first buffer on 7615/7915 (Jarod Wilson) [1937053] - mt76: mt7915: fix crash on tx rate report for invalid stations (Jarod Wilson) [1937053] - mt76: mt7915: enable U-APSD on AP side (Jarod Wilson) [1937053] - mt76: mt76s: get rid of unused variable (Jarod Wilson) [1937053] - mt76: mt76s: move tx/rx processing in 2 separate works (Jarod Wilson) [1937053] - mt76: mt76s: move status processing in txrx wq (Jarod Wilson) [1937053] - mt76: mt7663s: move rx processing in txrx wq (Jarod Wilson) [1937053] - mt76: mt76s: move tx processing in a dedicated wq (Jarod Wilson) [1937053] - mt76: mt76s: fix oom in mt76s_tx_queue_skb_raw (Jarod Wilson) [1937053] - mt76: mt7615: reschedule runtime-pm receiving a tx interrupt (Jarod Wilson) [1937053] - mt76: do not inject packets if MT76_STATE_PM is set (Jarod Wilson) [1937053] - mt76: mt7615: hold mt76 lock queueing wd in mt7615_queue_key_update (Jarod Wilson) [1937053] - mt76: mt7663s: move drv_own/fw_own in mt7615_mcu_ops (Jarod Wilson) [1937053] - mt76: mt7615: move drv_own/fw_own in mt7615_mcu_ops (Jarod Wilson) [1937053] - mt76: mt7615: register ext_phy if DBDC is detected (Jarod Wilson) [1937053] - brcmfmac: check return value of driver_for_each_device() (Jarod Wilson) [1937053] - ath11k: Remove unused function ath11k_htc_restore_tx_skb() (Jarod Wilson) [1937053] - ath11k: remove redundant num_keep_alive_pattern assignment (Jarod Wilson) [1937053] - ath11k: wmi: remove redundant configuration values from init (Jarod Wilson) [1937053] - ath11k: Add support spectral scan for IPQ6018 (Jarod Wilson) [1937053] - ath11k: debugfs: move some function declarations to correct header files (Jarod Wilson) [1937053] - ath11k: rename debug_htt_stats.[c|h] to debugfs_htt_stats.[c|h] (Jarod Wilson) [1937053] - ath11k: debugfs: use ath11k_debugfs_ prefix (Jarod Wilson) [1937053] - ath11k: refactor debugfs code into debugfs.c (Jarod Wilson) [1937053] - ath10k: Use bdf calibration variant for snoc targets (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: use true,false for bool variable large_cfo_hit (Jarod Wilson) [1937053] - rtlwifi: Use ffs in _phy_calculate_bit_shift (Jarod Wilson) [1937053] - mt7601u: Convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1937053] - ath11k: Remove rproc references from common core layer (Jarod Wilson) [1937053] - ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs() (Jarod Wilson) [1937053] - rtlwifi: rtl8723be: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix comparison to bool warning in phy.c (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: fix comparison to bool warning in mac.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192c: fix comparison to bool warning in phy_common.c (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: fix comparison to bool warning in hw.c (Jarod Wilson) [1937053] - mac80211: fix some encapsulation offload kernel-doc (Jarod Wilson) [1937053] - cfg80211: add missing kernel-doc for S1G band capabilities (Jarod Wilson) [1937053] - mac80211: Unsolicited broadcast probe response support (Jarod Wilson) [1937053] - nl80211: Unsolicited broadcast probe response support (Jarod Wilson) [1937053] - mac80211: Add FILS discovery support (Jarod Wilson) [1937053] - nl80211: Add FILS discovery support (Jarod Wilson) [1937053] - mac80211: allow bigger A-MSDU sizes in VHT, even if HT is limited (Jarod Wilson) [1937053] - nl80211: support setting S1G channels (Jarod Wilson) [1937053] - nl80211: correctly validate S1G beacon head (Jarod Wilson) [1937053] - cfg80211: regulatory: handle S1G channels (Jarod Wilson) [1937053] - nl80211: advertise supported channel width in S1G (Jarod Wilson) [1937053] - ieee80211: redefine S1G bits with GENMASK (Jarod Wilson) [1937053] - mac80211: reorganize code to remove a forward declaration (Jarod Wilson) [1937053] - mac80211: extend ieee80211_tx_status_ext to support bulk free (Jarod Wilson) [1937053] - mac80211: support using ieee80211_tx_status_ext to free skbs without status info (Jarod Wilson) [1937053] - mac80211: unify 802.3 (offload) and 802.11 tx status codepath (Jarod Wilson) [1937053] - mac80211: optimize station connection monitor (Jarod Wilson) [1937053] - mac80211: notify the driver when a sta uses 4-address mode (Jarod Wilson) [1937053] - mac80211: swap NEED_TXPROCESSING and HW_80211_ENCAP tx flags (Jarod Wilson) [1937053] - mac80211: remove tx status call to ieee80211_sta_register_airtime (Jarod Wilson) [1937053] - mac80211: reduce duplication in tx status functions (Jarod Wilson) [1937053] - mac80211: rework tx encapsulation offload API (Jarod Wilson) [1937053] - mac80211: set info->control.hw_key for encap offload packets (Jarod Wilson) [1937053] - mac80211: skip encap offload for tx multicast/control packets (Jarod Wilson) [1937053] - mac80211: check and refresh aggregation session in encap offload tx (Jarod Wilson) [1937053] - mac80211: add missing queue/hash initialization to 802.3 xmit (Jarod Wilson) [1937053] - cfg80211: add more comments for ap_isolate in bss_parameters (Jarod Wilson) [1937053] - lib80211: Remove unused macro DRV_NAME (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in phy.c (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in trx.c (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: fix comparison pointer to bool warning in rf.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in hw.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in trx.c (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: fix comparison pointer to bool warning in phy.c (Jarod Wilson) [1937053] - rtw88: rtw8822c: eliminate code duplication, use native swap() function (Jarod Wilson) [1937053] - brcmsmac: main: Eliminate empty brcms_c_down_del_timer() (Jarod Wilson) [1937053] - brcmsmac: phy_lcn: Remove unused variable 'lcnphy_rx_iqcomp_table_rev0' (Jarod Wilson) [1937053] - brcmsmac: phytbl_lcn: Remove unused array 'dot11lcn_gain_tbl_rev1' (Jarod Wilson) [1937053] - brcmfmac: support SAE authentication offload in AP mode (Jarod Wilson) [1937053] - brcmfmac: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode (Jarod Wilson) [1937053] - ath10k: Remove unused macro ATH10K_ROC_TIMEOUT_HZ (Jarod Wilson) [1937053] - ath11k: Remove unused inline function htt_htt_stats_debug_dump() (Jarod Wilson) [1937053] - ath11k: fix link error when CONFIG_REMOTEPROC is disabled (Jarod Wilson) [1937053] - ath11k: remove calling ath11k_init_hw_params() second time (Jarod Wilson) [1937053] - ath11k: add raw mode and software crypto support (Jarod Wilson) [1937053] - ath11k: add ipq6018 support (Jarod Wilson) [1937053] - ath11k: move target ce configs to hw_params (Jarod Wilson) [1937053] - net: wireless: drop bogus CRYPTO_xxx Kconfig selects (Jarod Wilson) [1937053] - rtlwifi: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - brcmsmac: fix memory leak in wlc_phy_attach_lcnphy (Jarod Wilson) [1937053] - rtl8xxxu: prevent potential memory leak (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae: Delete a stray tab (Jarod Wilson) [1937053] - ath11k: Add peer max mpdu parameter in peer assoc command (Jarod Wilson) [1937053] - ath10k: Add support for chain1 regulator supply voting (Jarod Wilson) [1937053] - brcmfmac: set F2 SDIO block size to 128 bytes for BCM4329 (Jarod Wilson) [1937053] - brcmfmac: drop chip id from debug messages (Jarod Wilson) [1937053] - brcmfmac: increase F2 watermark for BCM4329 (Jarod Wilson) [1937053] - mwifiex: sdio: Fix -Wunused-const-variable warnings (Jarod Wilson) [1937053] - mwifiex: wmm: Fix -Wunused-const-variable warnings (Jarod Wilson) [1937053] - mt7601u: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtlwifi: Remove temporary definition of RT_TRACE (Jarod Wilson) [1937053] - rtlwifi: rtl8821ae: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - brcmsmac: phytbl_n: Remove a few unused arrays (Jarod Wilson) [1937053] - brcmsmac: phytbl_lcn: Remove unused array 'dot11lcnphytbl_rx_gain_info_rev1' (Jarod Wilson) [1937053] - brcmsmac: phy_n: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmsmac: phy_lcn: Remove a bunch of unused variables (Jarod Wilson) [1937053] - prism54: isl_ioctl: Remove unused variable 'j' (Jarod Wilson) [1937053] - rtw88: debug: Remove unused variables 'val' (Jarod Wilson) [1937053] - brcmfmac: fwsignal: Finish documenting 'brcmf_fws_mac_descriptor' (Jarod Wilson) [1937053] - brcmsmac: phy_cmn: Remove a unused variables 'vbat' and 'temp' (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix a couple of function headers (Jarod Wilson) [1937053] - brcmsmac: ampdu: Remove a couple set but unused variables (Jarod Wilson) [1937053] - mwifiex: pcie: Move tables to the only place they're used (Jarod Wilson) [1937053] - ath10k: Get rid of "per_ce_irq" hw param (Jarod Wilson) [1937053] - ath10k: Keep track of which interrupts fired, don't poll them (Jarod Wilson) [1937053] - ath10k: Add interrupt summary based CE processing (Jarod Wilson) [1937053] - rtlwifi: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtl818x_pci: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - p54: avoid accessing the data mapped to streaming DMA (Jarod Wilson) [1937053] - rtlwifi: rtl8192c: phy_common: Remove unused variable 'bbvalue' (Jarod Wilson) [1937053] - brcmfmac: fwsignal: Remove unused variable 'brcmf_fws_prio2fifo' (Jarod Wilson) [1937053] - b43: phy_ht: Remove 9 year old TODO (Jarod Wilson) [1937053] - brcmfmac: btcoex: Update 'brcmf_btcoex_state' and demote others (Jarod Wilson) [1937053] - brcmfmac: firmware: Demote seemingly unintentional kernel-doc header (Jarod Wilson) [1937053] - brcmsmac: main: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmfmac: p2p: Fix a bunch of function docs (Jarod Wilson) [1937053] - brcmsmac: ampdu: Remove a bunch of unused variables (Jarod Wilson) [1937053] - brcmfmac: p2p: Deal with set but unused variables (Jarod Wilson) [1937053] - mt7601u: phy: Fix misnaming when documented function parameter 'dac' (Jarod Wilson) [1937053] - rtlwifi: rtl8723-common: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8723be Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8723ae Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192se Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192ee: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192de: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192cu: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192ce: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8192-common: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: rtl8188ee: Rename RT_TRACE to rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: btcoexist: Replace RT_TRACE with rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: Replace RT_TRACE with rtl_dbg (Jarod Wilson) [1937053] - rtlwifi: Start changing RT_TRACE into rtl_dbg (Jarod Wilson) [1937053] - ath10k: wmi: Use struct_size() helper in ath10k_wmi_alloc_skb() (Jarod Wilson) [1937053] - ath11k: fix missing error check on call to ath11k_pci_get_user_msi_assignment (Jarod Wilson) [1937053] - ath11k: fix spelling mistake "moniter" -> "monitor" (Jarod Wilson) [1937053] - nl80211: support SAE authentication offload in AP mode (Jarod Wilson) [1937053] - atmel: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - b43: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - brcmfmac: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rt2x00: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - b43: phy_n: Add empty braces around empty statements (Jarod Wilson) [1937053] - b43: phy_common: Demote non-conformant kerneldoc header (Jarod Wilson) [1937053] - brcmsmac: mac80211_if: Demote a few non-conformant kerneldoc headers (Jarod Wilson) [1937053] - brcmfmac: fweh: Fix docrot related function documentation issues (Jarod Wilson) [1937053] - brcmfmac: fweh: Remove set but unused variable 'err' (Jarod Wilson) [1937053] - b43: main: Add braces around empty statements (Jarod Wilson) [1937053] - atmel: Demote non-kerneldoc header to standard comment block (Jarod Wilson) [1937053] - nl80211: rename csa counter attributes countdown counters (Jarod Wilson) [1937053] - nl80211: add support for setting fixed HE rate/gi/ltf (Jarod Wilson) [1937053] - ath11k: return -ENOMEM on allocation failure (Jarod Wilson) [1937053] - ath11k: return error if firmware request fails (Jarod Wilson) [1937053] - ath9k: Do not select MAC80211_LEDS by default (Jarod Wilson) [1937053] - ath9k: ar5008_initvals: Move ar5416Bank{0,1,2,3,7} to where they are used (Jarod Wilson) [1937053] - ath9k: ar5008_initvals: Remove unused table entirely (Jarod Wilson) [1937053] - ath9k: ar9001_initvals: Remove unused array 'ar5416Bank6_9100' (Jarod Wilson) [1937053] - ath9k: ar9002_initvals: Remove unused array 'ar9280PciePhy_clkreq_off_L1_9280' (Jarod Wilson) [1937053] - ath9k_htc: Do not select MAC80211_LEDS by default (Jarod Wilson) [1937053] - rtw88: 8822c: update tx power limit tables to RF v20.1 (Jarod Wilson) [1937053] - rtw88: use read_poll_timeout_atomic() for poll loop (Jarod Wilson) [1937053] - rtw88: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - rtw88: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - mwifiex: don't call del_timer_sync() on uninitialized timer (Jarod Wilson) [1937053] - mwifiex: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - mwifiex: Clean up some err and dbg messages (Jarod Wilson) [1937053] - mwifiex: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1937053] - nl80211: fix PORT_AUTHORIZED wording to reflect behavior (Jarod Wilson) [1937053] - cfg80211: add helper fn for adjacent rule channels (Jarod Wilson) [1937053] - cfg80211: add helper fn for single rule channels (Jarod Wilson) [1937053] - nl80211: use NLA_POLICY_RANGE(NLA_BINARY, ...) for a few attributes (Jarod Wilson) [1937053] - nl80211: clean up code/policy a bit (Jarod Wilson) [1937053] - net: wireless: wext_compat.c: delete duplicated word (Jarod Wilson) [1937053] - net: wireless: sme.c: delete duplicated word (Jarod Wilson) [1937053] - net: wireless: scan.c: delete or fix duplicated words (Jarod Wilson) [1937053] - net: wireless: reg.c: delete duplicated words + fix punctuation (Jarod Wilson) [1937053] - net: wireless: delete duplicated word + fix grammar (Jarod Wilson) [1937053] - net: mac80211: mesh.h: delete duplicated word (Jarod Wilson) [1937053] - net: mac80211: agg-rx.c: fix duplicated words (Jarod Wilson) [1937053] - net: ath11k: constify ath11k_thermal_ops (Jarod Wilson) [1937053] - ath10k: Add new api to support reset TID config (Jarod Wilson) [1937053] - ath10k: Add new api to support TID specific configuration (Jarod Wilson) [1937053] - ath10k: Move rate mask validation function up in the file (Jarod Wilson) [1937053] - ath10k: Add wmi command support for station specific TID config (Jarod Wilson) [1937053] - ath10k: sdio: add firmware coredump support (Jarod Wilson) [1937053] - ath10k: add bus type for each layout of coredump (Jarod Wilson) [1937053] - netlink/wireless: consistently use NLA_POLICY_MIN_LEN() (Jarod Wilson) [1937053] - netlink/wireless: consistently use NLA_POLICY_EXACT_LEN() (Jarod Wilson) [1937053] - rndis_wlan: tighten check of rndis_query_oid return (Jarod Wilson) [1937053] - rtw88: fix spelling mistake: "unsupport" -> "unsupported" (Jarod Wilson) [1937053] - brcmfmac: use *ph to print small buffer (Jarod Wilson) [1937053] - brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach (Jarod Wilson) [1937053] - ath11k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath10k: fix VHT NSS calculation when STBC is enabled (Jarod Wilson) [1937053] - ath10k: Register shutdown handler (Jarod Wilson) [1937053] - ath11k: reset MHI during power down and power up (Jarod Wilson) [1937053] - ath11k: use TCL_DATA_RING_0 for QCA6390 (Jarod Wilson) [1937053] - ath11k: process both lmac rings for QCA6390 (Jarod Wilson) [1937053] - ath11k: assign correct search flag and type for QCA6390 (Jarod Wilson) [1937053] - ath11k: delay vdev_start for QCA6390 (Jarod Wilson) [1937053] - ath11k: refine the phy_id check in ath11k_reg_chan_list_event (Jarod Wilson) [1937053] - ath11k: setup QCA6390 rings for both rxdmas (Jarod Wilson) [1937053] - ath11k: don't initialize rxdma1 related ring (Jarod Wilson) [1937053] - ath11k: enable DP interrupt setup for QCA6390 (Jarod Wilson) [1937053] - ath11k: dp: redefine peer_map and peer_unmap (Jarod Wilson) [1937053] - ath11k: wmi: put hardware to DBS mode (Jarod Wilson) [1937053] - ath11k: initialize wmi config based on hw_params (Jarod Wilson) [1937053] - ath11k: force single pdev only for QCA6390 (Jarod Wilson) [1937053] - ath11k: disable CE interrupt before hif start (Jarod Wilson) [1937053] - ath11k: ce: get msi_addr and msi_data before srng setup (Jarod Wilson) [1937053] - ath11k: hal: assign msi_addr and msi_data to srng (Jarod Wilson) [1937053] - ath11k: ce: remove CE_COUNT() macro (Jarod Wilson) [1937053] - ath11k: ce: remove host_ce_config_wlan macro (Jarod Wilson) [1937053] - ath11k: ce: support different CE configurations (Jarod Wilson) [1937053] - ath11k: hal: cleanup dynamic register macros (Jarod Wilson) [1937053] - ath11k: hal: create register values dynamically (Jarod Wilson) [1937053] - ath10k: move enable_pll_clk call to ath10k_core_start() (Jarod Wilson) [1937053] - ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path (Jarod Wilson) [1937053] - ath10k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath9k: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support (Jarod Wilson) [1937053] - ath11k: hal: create hw_srng_config dynamically (Jarod Wilson) [1937053] - ath11k: enable internal sleep clock (Jarod Wilson) [1937053] - ath11k: fix KASAN warning of ath11k_qmi_wlanfw_wlan_cfg_send (Jarod Wilson) [1937053] - ath11k: fix memory OOB access in qmi_decode (Jarod Wilson) [1937053] - ath11k: allocate smaller chunks of memory for firmware (Jarod Wilson) [1937053] - ath11k: setup ce tasklet for control path (Jarod Wilson) [1937053] - ath11k: configure copy engine msi address in CE srng (Jarod Wilson) [1937053] - ath11k: pci: add read32() and write32() hif operations (Jarod Wilson) [1937053] - ath11k: fill appropriate QMI service instance id for QCA6390 (Jarod Wilson) [1937053] - ath11k: add board file support for PCI devices (Jarod Wilson) [1937053] - ath11k: add support for m3 firmware (Jarod Wilson) [1937053] - ath11k: use remoteproc only with AHB devices (Jarod Wilson) [1937053] - ath11k: pci: add HAL, CE and core initialisation (Jarod Wilson) [1937053] - ath11k: register MHI controller device for QCA6390 (Jarod Wilson) [1937053] - ath11k: implement ath11k_core_pre_init() (Jarod Wilson) [1937053] - ath11k: pci: add MSI config initialisation (Jarod Wilson) [1937053] - ath11k: pci: setup resources (Jarod Wilson) [1937053] - ath11k: add simple PCI client driver for QCA6390 chipset (Jarod Wilson) [1937053] - ath11k: move ring mask definitions to hw_params (Jarod Wilson) [1937053] - ath11k: add hw_params entry for QCA6390 (Jarod Wilson) [1937053] - ath11k: do not depend on ARCH_QCOM for ath11k (Jarod Wilson) [1937053] - ath10k: correct the array index from mcs index for HT mode for QCA6174 (Jarod Wilson) [1937053] - ath10k: enable supports_peer_stats_info for QCA6174 PCI devices (Jarod Wilson) [1937053] - ath10k: remove return for NL80211_STA_INFO_TX_BITRATE (Jarod Wilson) [1937053] - ath10k: add wmi service peer stat info for wmi tlv (Jarod Wilson) [1937053] - ath10k: start recovery process when payload length exceeds max htc length for sdio (Jarod Wilson) [1937053] - ath: drop unnecessary list_empty (Jarod Wilson) [1937053] - ath9k: Use fallthrough pseudo-keyword (Jarod Wilson) [1937053] - ath9k: Fix typo in function name (Jarod Wilson) [1937053] - ath9k: Replace HTTP links with HTTPS ones (Jarod Wilson) [1937053] - ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() (Jarod Wilson) [1937053] - ath9k: Check the return value of pcie_capability_read_*() (Jarod Wilson) [1937053] - ath11k: remove define ATH11K_QMI_DEFAULT_CAL_FILE_NAME (Jarod Wilson) [1937053] - ath11k: don't use defines in hw_params (Jarod Wilson) [1937053] - ath11k: qmi: cleanup info messages (Jarod Wilson) [1937053] - ath11k: remove useless info messages (Jarod Wilson) [1937053] - ath11k: change ath11k_core_fetch_board_data_api_n() to use ath11k_core_create_firmware_path() (Jarod Wilson) [1937053] - ath11k: don't use defines for hw specific firmware directories (Jarod Wilson) [1937053] - ath11k: create a common function to request all firmware files (Jarod Wilson) [1937053] - ath11k: Add bdf-addr in hw_params (Jarod Wilson) [1937053] - ath11k: add hw_ops for pdev id to hw_mac mapping (Jarod Wilson) [1937053] - ath11k: define max_radios in hw_params (Jarod Wilson) [1937053] - ath11k: convert ath11k_hw_params to an array (Jarod Wilson) [1937053] - ath11k: ahb: call ath11k_core_init() before irq configuration (Jarod Wilson) [1937053] - ath10k: pci: fix memcpy size of bmi response (Jarod Wilson) [1937053] - ath11k: rename default board file (Jarod Wilson) [1937053] - ath11k: update firmware files read path (Jarod Wilson) [1937053] - ath10k: provide survey info as accumulated data (Jarod Wilson) [1937053] - ath10k: fix retry packets update in station dump (Jarod Wilson) [1937053] - ath10k: Wait until copy complete is actually done before completing (Jarod Wilson) [1937053] - mac80211_hwsim: add 6GHz channels (Jarod Wilson) [1937053] - mac80211_hwsim: indicate support for S1G (Jarod Wilson) [1937053] - mac80211_hwsim: write TSF timestamp correctly to S1G beacon (Jarod Wilson) [1937053] - mac80211_hwsim: fix typo in kernel-doc (Jarod Wilson) [1937053] - mac80211: rename csa counters to countdown counters (Jarod Wilson) [1937053] - mac80211_hwsim: report the WIPHY_FLAG_SUPPORTS_5_10_MHZ capability (Jarod Wilson) [1937053] - mac80211_hwsim: Claim support for setting Beacon frame TX legacy rate (Jarod Wilson) [1937053] - mac80211_hwsim: Advertise support for multicast RX registration (Jarod Wilson) [1937053] - mac80211_hwsim: indicate in IBSS that we have transmitted beacons (Jarod Wilson) [1937053] - mac80211_hwsim: notify wmediumd of used MAC addresses (Jarod Wilson) [1937053] - mac80211_hwsim: use GFP_ATOMIC under spin lock (Jarod Wilson) [1937053] - mac80211_hwsim: Use kstrndup() in place of kasprintf() (Jarod Wilson) [1937053] - mac80211_hwsim: add frame transmission support over virtio (Jarod Wilson) [1937053] - mac80211_hwsim: enable Beacon protection (Jarod Wilson) [1937053] - mac80211_hwsim: add power save support (Jarod Wilson) [1937053] - mac80211_hwsim: remove maximum TX power (Jarod Wilson) [1937053] - mac80211_hwsim: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops (Jarod Wilson) [1937053] - mac80211_hwsim: add support for OCB (Jarod Wilson) [1937053] - mac80211_hwsim: add more 5GHz channels, 5/10 MHz support (Jarod Wilson) [1937053] - mac80211_hwsim: fix incorrect dev_alloc_name failure goto (Jarod Wilson) [1937053] - mac80211_hwsim: Register support for HE meshpoint (Jarod Wilson) [1937053] - mac80211_hwsim: fill boottime_ns in netlink RX path (Jarod Wilson) [1937053] - mac80211_hwsim: Fix possible null-pointer dereferences in hwsim_dump_radio_nl() (Jarod Wilson) [1937053] - mac80211_hwsim: Extended Key ID API update (Jarod Wilson) [1937053] - mac80211_hwsim: Fix a typo in the name of function 'mac80211_hswim_he_capab()' (Jarod Wilson) [1937053] - mac80211_hwsim: Extended Key ID support (Jarod Wilson) [1937053] - mac80211_hwsim: set p2p device interface support indication (Jarod Wilson) [1937053] - mac80211_hwsim: calculate if_combination.max_interfaces (Jarod Wilson) [1937053] - mac80211_hwsim: propagate genlmsg_reply return code (Jarod Wilson) [1937053] - mac80211_hwsim: Declare support for Multi-BSSID (Jarod Wilson) [1937053] - mac80211_hwsim: Support boottime in scan results (Jarod Wilson) [1937053] - mac80211_hwsim: check that n_limits makes sense (Jarod Wilson) [1937053] - mac80211_hwsim: fix overwriting of if_combination (Jarod Wilson) [1937053] - mac80211_hwsim: fixes kernel crash during mac80211_hwsim init (Jarod Wilson) [1937053] - mac80211_hwsim: allow configurable cipher types (Jarod Wilson) [1937053] - mac80211_hwsim: allow setting iftype support (Jarod Wilson) [1937053] - mac80211_hwsim: move HWSIM_ATTR_RADIO_NAME parsing last (Jarod Wilson) [1937053] - mac80211_hwsim: fix module init error paths for netlink (Jarod Wilson) [1937053] - mac80211_hwsim: drop now unused work-queue from hwsim (Jarod Wilson) [1937053] - mac80211_hwsim: do not omit multicast announce of first added radio (Jarod Wilson) [1937053] - mac80211_hwsim: fix race in radio destruction from netlink notifier (Jarod Wilson) [1937053] - mac80211_hwsim: fix locking when iterating radios during ns exit (Jarod Wilson) [1937053] - wireless: align to draft 11ax D3.0 (Jarod Wilson) [1937053] - mac80211_hwsim: correct use of IEEE80211_VHT_CAP_RXSTBC_X (Jarod Wilson) [1937053] - mac80211_hwsim: require at least one channel (Jarod Wilson) [1937053] - mac80211_hwsim: Add support for HE (Jarod Wilson) [1937053] - net/fq_impl: do not maintain a backlog-sorted list of flows (Jarod Wilson) [1937053] - net/fq_impl: drop get_default_func, move default flow to fq_tin (Jarod Wilson) [1937053] - net/fq_impl: bulk-free packets from a flow on overmemory (Jarod Wilson) [1937053] - net/fq_impl: use skb_get_hash instead of skb_get_hash_perturb (Jarod Wilson) [1937053] - net/fq_impl: Switch to kvmalloc() for memory allocation (Jarod Wilson) [1937053] - mac80211: set NETIF_F_LLTX when using intermediate tx queues (Jarod Wilson) [1937053] - mac80211: calculate hash for fq without holding fq->lock in itxq enqueue (Jarod Wilson) [1937053] - nvme-tcp: fix misuse of __smp_processor_id with preemption enabled (Gopal Tiwari) [1964227] - powerpc/smp: Cache CPU to chip lookup (Daniel Henrique Barboza) [1934421] - Revert "powerpc/topology: Update topology_core_cpumask" (Daniel Henrique Barboza) [1934421] - powerpc/smp: Reintroduce cpu_core_mask (Daniel Henrique Barboza) [1934421] - scsi: smartpqi: Remove unused functions (Don Brace) [1952154] - scsi: smartpqi: Fix device pointer variable reference static checker issue (Don Brace) [1952154] - scsi: smartpqi: Fix blocks_per_row static checker issue (Don Brace) [1952154] - scsi: smartpqi: Update version to 2.1.8-045 (Don Brace) [1952154] - scsi: smartpqi: Add new PCI IDs (Don Brace) [1952154] - scsi: smartpqi: Correct system hangs when resuming from hibernation (Don Brace) [1952154] - scsi: smartpqi: Update enclosure identifier in sysfs (Don Brace) [1952154] - scsi: smartpqi: Add additional logging for LUN resets (Don Brace) [1952154] - scsi: smartpqi: Update SAS initiator_port_protocols and target_port_protocols (Don Brace) [1952154] - scsi: smartpqi: Add phy ID support for the physical drives (Don Brace) [1952154] - scsi: smartpqi: Convert snprintf() to scnprintf() (Don Brace) [1952154] - scsi: smartpqi: Fix driver synchronization issues (Don Brace) [1952154] - scsi: smartpqi: Update device scan operations (Don Brace) [1952154] - scsi: smartpqi: Update OFA management (Don Brace) [1952154] - scsi: smartpqi: Update RAID bypass handling (Don Brace) [1952154] - scsi: smartpqi: Update suspend/resume and shutdown (Don Brace) [1952154] - scsi: smartpqi: Synchronize device resets with mutex (Don Brace) [1952154] - scsi: smartpqi: Update soft reset management for OFA (Don Brace) [1952154] - scsi: smartpqi: Update event handler (Don Brace) [1952154] - scsi: smartpqi: Add support for wwid (Don Brace) [1952154] - scsi: smartpqi: Remove timeouts from internal cmds (Don Brace) [1952154] - scsi: smartpqi: Disable WRITE SAME for HBA NVMe disks (Don Brace) [1952154] - scsi: smartpqi: Add host level stream detection enable (Don Brace) [1952154] - scsi: smartpqi: Add stream detection (Don Brace) [1952154] - scsi: smartpqi: Align code with oob driver (Don Brace) [1952154] - scsi: smartpqi: Add support for long firmware version (Don Brace) [1952154] - scsi: smartpqi: Add support for BMIC sense feature cmd and feature bits (Don Brace) [1952154] - scsi: smartpqi: Add support for RAID1 writes (Don Brace) [1952154] - scsi: smartpqi: Add support for RAID5 and RAID6 writes (Don Brace) [1952154] - scsi: smartpqi: Refactor scatterlist code (Don Brace) [1952154] - scsi: smartpqi: Refactor aio submission code (Don Brace) [1952154] - scsi: smartpqi: Add support for new product ids (Don Brace) [1952154] - scsi: smartpqi: Correct request leakage during reset operations (Don Brace) [1952154] - scsi: smartpqi: Use host-wide tag space (Don Brace) [1952154] - smartpqi: Use fallthrough pseudo-keyword (Don Brace) [1952154] - scsi: smartpqi: Support device deletion via sysfs (Don Brace) [1952154] - scsi: smartpqi: Use scnprintf() for avoiding potential buffer overflow (Don Brace) [1952154] - smartpqi: remove ioremap_nocache and devm_ioremap_nocache (Don Brace) [1952154] - smartpqi: Use sizeof_field() macro (Don Brace) [1952154] - smartpqi: phase out dma_zalloc_coherent() (Don Brace) [1952154] - scsi: smartpqi: add support for huawei controllers (Don Brace) [1952154] - block: only update parent bi_status when bio fail (Ming Lei) [1945457] - kbuild: trace functions in subdirectories of lib/ (Joe Lawrence) [1942601] - kbuild: introduce ccflags-remove-y and asflags-remove-y (Joe Lawrence) [1942601] - redhat/configs: Add CONFIG_AMD_PMC (David Arcari) [1961755] - platform/x86: amd-pmc: put device on error paths (David Arcari) [1961755] - platform/x86: amd-pmc: Fix CONFIG_DEBUG_FS check (David Arcari) [1961755] - platform/x86: amd-pmc: Add AMD platform support for S2Idle (David Arcari) [1961755] - crypto: DRBG - switch to HMAC SHA512 DRBG as default DRBG (Vladis Dronov) [1956808] - x86/asm: Annotate movdir64b()'s dst argument with __iomem (Jerry Snitselaar) [1920747] - x86/asm: Add a missing __iomem annotation in enqcmds() (Jerry Snitselaar) [1920747]- fm10k: amend removal of MODULE_VERSION (Vladis Dronov) [1955730] - hv_netvsc: Make netvsc/VF binding check both MAC and serial number (Mohammed Gamal) [1940927] - hv_netvsc: Add error handling while switching data path (Mohammed Gamal) [1940927] - netvsc: Update driver to use ethtool_sprintf (Mohammed Gamal) [1940927] - hv_netvsc: Add a comment clarifying batching logic (Mohammed Gamal) [1940927] - hv_netvsc: Fix validation in netvsc_linkstatus_callback() (Mohammed Gamal) [1940927] - hv_netvsc: Restrict configurations on isolated guests (Mohammed Gamal) [1940927] - hv_netvsc: Load and store the proper (NBL_HASH_INFO) per-packet info (Mohammed Gamal) [1940927] - hv_netvsc: Allocate the recv_buf buffers after NVSP_MSG1_TYPE_SEND_RECV_BUF (Mohammed Gamal) [1940927] - hv_netvsc: Reset the RSC count if NVSP_STAT_FAIL in netvsc_receive() (Mohammed Gamal) [1940927] - hv_netvsc: Copy packets sent by Hyper-V out of the receive buffer (Mohammed Gamal) [1940927] - net/hyperv: use skb_vlan_tag_*() helpers (Mohammed Gamal) [1940927] - net/vlan: introduce skb_vlan_tag_get_cfi() helper (Mohammed Gamal) [1940927] - hv_netvsc: Add (more) validation for untrusted Hyper-V values (Mohammed Gamal) [1940927] - hv_netvsc: Process NETDEV_GOING_DOWN on VF hot remove (Mohammed Gamal) [1940927] - hv_netvsc: Wait for completion on request SWITCH_DATA_PATH (Mohammed Gamal) [1940927] - hv_netvsc: Check VF datapath when sending traffic to VF (Mohammed Gamal) [1940927] - hv_netvsc: Validate number of allocated sub-channels (Mohammed Gamal) [1940927] - hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening (Mohammed Gamal) [1940927] - hv_netvsc: Use HV_HYP_PAGE_SIZE for Hyper-V communication (Mohammed Gamal) [1940927] - scsi: fnic: Use scsi_host_busy_iter() to traverse commands (Ewan D. Milne) [1949250] - scsi: fnic: Kill 'exclude_id' argument to fnic_cleanup_io() (Ewan D. Milne) [1949250] - net: vlan: Avoid using BUG() in vlan_proto_idx() (Davide Caratti) [1964456] - sch_htb: fix null pointer dereference on a null new_q (Ivan Vecera) [1935703] - sch_htb: Fix offload cleanup in htb_destroy on htb_init failure (Ivan Vecera) [1935703] - sch_htb: Fix select_queue for non-offload mode (Ivan Vecera) [1935703] - sch_htb: Stats for offloaded HTB (Ivan Vecera) [1935703] - sch_htb: Hierarchical QoS hardware offload (Ivan Vecera) [1935703] - net: sched: Add extack to Qdisc_class_ops.delete (Ivan Vecera) [1935703] - net: sched: Add multi-queue support to sch_tree_lock (Ivan Vecera) [1935703] - capabilities: require CAP_SETFCAP to map uid 0 (Alexey Gladkov) [1961202] - locking/qrwlock: Cleanup queued_write_lock_slowpath() (Waiman Long) [1954361] - locking/rtmutex: Clean up signal handling in __rt_mutex_slowlock() (Waiman Long) [1954361] - locking/rtmutex: Restrict the trylock WARN_ON() to debug (Waiman Long) [1954361] - locking/rtmutex: Fix misleading comment in rt_mutex_postunlock() (Waiman Long) [1954361] - locking/rtmutex: Consolidate the fast/slowpath invocation (Waiman Long) [1954361] - locking/rtmutex: Make text section and inlining consistent (Waiman Long) [1954361] - locking/rtmutex: Move debug functions as inlines into common header (Waiman Long) [1954361] - locking/rtmutex: Decrapify __rt_mutex_init() (Waiman Long) [1954361] - locking/rtmutex: Remove pointless CONFIG_RT_MUTEXES=n stubs (Waiman Long) [1954361] - locking/rtmutex: Inline chainwalk depth check (Waiman Long) [1954361] - locking/rtmutex: Move rt_mutex_debug_task_free() to rtmutex.c (Waiman Long) [1954361] - locking/rtmutex: Remove empty and unused debug stubs (Waiman Long) [1954361] - locking/rtmutex: Consolidate rt_mutex_init() (Waiman Long) [1954361] - locking/rtmutex: Remove output from deadlock detector (Waiman Long) [1954361] - locking/rtmutex: Remove rtmutex deadlock tester leftovers (Waiman Long) [1954361] - locking/rtmutex: Remove rt_mutex_timed_lock() (Waiman Long) [1954361] - kernel: delete repeated words in comments (Waiman Long) [1954361] - rbtree, rtmutex: Use rb_add_cached() (Waiman Long) [1954361] - rbtree: Add generic add and find helpers (Waiman Long) [1954361] - locking/rtmutex: Remove unused rt_mutex_cmpxchg_relaxed() (Waiman Long) [1954361] - lib/rbtree: avoid generating code twice for the cached versions (Waiman Long) [1954361] - locking/rtmutex: Fix the preprocessor logic with normal #ifdef #else #endif (Waiman Long) [1954361] - kernel/futex: Explicitly document pi_lock for pi_state owner fixup (Waiman Long) [1954361] - kernel/futex: Move hb unlock out of unqueue_me_pi() (Waiman Long) [1954361] - kernel/futex: Make futex_wait_requeue_pi() only call fixup_owner() (Waiman Long) [1954361] - kernel/futex: Kill rt_mutex_next_owner() (Waiman Long) [1954361] - futex: Remove unused empty compat_exit_robust_list() (Waiman Long) [1954361] - futex: Handle transient "ownerless" rtmutex state correctly (Waiman Long) [1954361] - futex: Convert to use the preferred 'fallthrough' macro (Waiman Long) [1954361] - futex: get rid of a kernel-docs build warning (Waiman Long) [1954361] - futex: arch_futex_atomic_op_inuser() calling conventions change (Waiman Long) [1954361] - s390: Use arch_local_irq_{save,restore}() in early boot code (Waiman Long) [1954361] - lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message (Waiman Long) [1954361] - locking: Fix typos in comments (Waiman Long) [1954361] - locking/lockdep: Update the comment for __lock_release() (Waiman Long) [1954361] - lockdep: Allow tuning tracing capacity constants. (Waiman Long) [1954361] - lockdep: Address clang -Wformat warning printing for hd (Waiman Long) [1954361] - lockdep: Add lockdep lock state defines (Waiman Long) [1954361] - lockdep: Add lockdep_assert_not_held() (Waiman Long) [1954361] - lockdep: Noinstr annotate warn_bogus_irq_restore() (Waiman Long) [1954361] - locking/lockdep: Avoid unmatched unlock (Waiman Long) [1954361] - locking/rwsem: Remove empty rwsem.h (Waiman Long) [1954361] - lockdep: report broken irq restoration (Waiman Long) [1954361] - locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP (Waiman Long) [1954361] - locking/lockdep: Exclude local_lock_t from IRQ inversions (Waiman Long) [1954361] - locking/lockdep: Clean up check_redundant() a bit (Waiman Long) [1954361] - locking/lockdep: Add a skip() function to __bfs() (Waiman Long) [1954361] - locking/lockdep: Mark local_lock_t (Waiman Long) [1954361] - lockdep: Put graph lock/unlock under lock_recursion protection (Waiman Long) [1954361] - locking/rtmutex: Add missing kernel-doc markup (Waiman Long) [1954361] - lockdep: Avoid to modify chain keys in validate_chain() (Waiman Long) [1954361] - lockdep: Fix nr_unused_locks accounting (Waiman Long) [1954361] - lockdep: Optimize the memory usage of circular queue (Waiman Long) [1954361] - lockdep: Take read/write status in consideration when generate chainkey (Waiman Long) [1954361] - lockdep/selftest: Add a R-L/L-W test case specific to chain cache behavior (Waiman Long) [1954361] - lockdep: Add recursive read locks into dependency graph (Waiman Long) [1954361] - lockdep: Fix recursive read lock related safe->unsafe detection (Waiman Long) [1954361] - lockdep: Adjust check_redundant() for recursive read change (Waiman Long) [1954361] - lockdep: Support deadlock detection for recursive read locks in check_noncircular() (Waiman Long) [1954361] - lockdep: Make __bfs(.match) return bool (Waiman Long) [1954361] - lockdep: Extend __bfs() to work with multiple types of dependencies (Waiman Long) [1954361] - lockdep: Introduce lock_list::dep (Waiman Long) [1954361] - lockdep: Reduce the size of lock_list::distance (Waiman Long) [1954361] - lockdep: Make __bfs() visit every dependency until a match (Waiman Long) [1954361] - lockdep: Demagic the return value of BFS (Waiman Long) [1954361] - lockdep/Documention: Recursive read lock detection reasoning (Waiman Long) [1954361] - locking: More accurate annotations for read_lock() (Waiman Long) [1954361] - Documentation/locking/locktypes: Fix local_locks documentation (Waiman Long) [1954361] - treewide: Remove uninitialized_var() usage (Waiman Long) [1954361] - lockdep: Use this_cpu_ptr instead of get_cpu_var stats (Waiman Long) [1954361] - KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read (Gavin Shan) [1939323] - KVM: arm64: Don't advertise FEAT_SPE to guests (Gavin Shan) [1939323] - KVM: arm64: Don't print warning when trapping SPE registers (Gavin Shan) [1939323] - KVM: arm64: Fully zero the vcpu state on reset (Gavin Shan) [1939323] - KVM: arm64: Clarify vcpu reset behaviour (Gavin Shan) [1939323] - Documentation: KVM: Document KVM_GUESTDBG_USE_HW control flag for arm64 (Gavin Shan) [1939323] - KVM: arm64: Initialize VCPU mdcr_el2 before loading it (Gavin Shan) [1939323] - KVM: arm64: Handle access to TRFCR_EL1 (Gavin Shan) [1939323] - arm64: Add TRFCR_ELx definitions (Gavin Shan) [1939323] - KVM: arm64: Unify trap handlers injecting an UNDEF (Gavin Shan) [1939323] - KVM: arm64: Use find_vma_intersection() (Gavin Shan) [1939323] - KVM: arm64: Hide kvm_mmu_wp_memory_region() (Gavin Shan) [1939323] - KVM: selftests: vgic_init kvm selftests fixup (Gavin Shan) [1939323] - KVM: selftests: aarch64/vgic-v3 init sequence tests (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Expose GICR_TYPER.Last for userspace (Gavin Shan) [1939323] - kvm: arm64: vgic-v3: Introduce vgic_v3_free_redist_region() (Gavin Shan) [1939323] - KVM: arm64: Simplify argument passing to vgic_uaccess_[read|write] (Gavin Shan) [1939323] - docs: kvm: devices/arm-vgic-v3: enhance KVM_DEV_ARM_VGIC_CTRL_INIT doc (Gavin Shan) [1939323] - KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy() (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Fix error handling in vgic_v3_set_redist_base() (Gavin Shan) [1939323] - KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read (Gavin Shan) [1939323] - KVM: arm64: vgic-v3: Fix some error codes when setting RDIST base (Gavin Shan) [1939323] - KVM: arm64: Disable guest access to trace filter controls (Gavin Shan) [1939323] - KVM: arm64: Fix CPU interface MMIO compatibility detection (Gavin Shan) [1939323] - KVM: arm64: Hide system instruction access to Trace registers (Gavin Shan) [1939323] - KVM: arm64: Fix exclusive limit for IPA size (Gavin Shan) [1939323] - KVM: arm64: Ensure I-cache isolation between vcpus of a same VM (Gavin Shan) [1939323] - KVM: arm64: nvhe: Save the SPE context early (Gavin Shan) [1939323] - KVM: arm64: Correct spelling of DBGDIDR register (Gavin Shan) [1939323] - KVM: arm64: Fix AArch32 PMUv3 capping (Gavin Shan) [1939323] - KVM: arm64: Fix missing RES1 in emulation of DBGBIDR (Gavin Shan) [1939323] - KVM: arm64: Remove spurious semicolon in reg_to_encoding() (Gavin Shan) [1939323] - KVM: arm64: Fix hyp_cpu_pm_{init,exit} __init annotation (Gavin Shan) [1939323] - KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility (Gavin Shan) [1939323] - KVM: arm64: Rename __vgic_v3_get_ich_vtr_el2() to __vgic_v3_get_gic_config() (Gavin Shan) [1939323] - KVM: arm64: Some fixes of PV-time interface document (Gavin Shan) [1939323] - KVM: arm64: CSSELR_EL1 max is 13 (Gavin Shan) [1939323] - idr test suite: Improve reporting from idr_find_test_1 (Chris von Recklinghausen) [1946304] - idr test suite: Create anchor before launching throbber (Chris von Recklinghausen) [1946304] - idr test suite: Take RCU read lock in idr_find_test_1 (Chris von Recklinghausen) [1946304] - radix tree test suite: Register the main thread with the RCU library (Chris von Recklinghausen) [1946304] - radix tree test suite: Fix compilation (Chris von Recklinghausen) [1946304] - XArray: Add xa_limit_16b (Chris von Recklinghausen) [1946304] - XArray: Fix splitting to non-zero orders (Chris von Recklinghausen) [1946304] - XArray: Fix split documentation (Chris von Recklinghausen) [1946304] - PCI/P2PDMA: Drop double zeroing for sg_init_table() (Myron Stowe) [1955693] - PCI: Simplify bool comparisons (Myron Stowe) [1955693] - PCI: endpoint: Use "NULL" instead of "0" as a NULL pointer (Myron Stowe) [1955693] - PCI: Simplify pci_dev_reset_slot_function() (Myron Stowe) [1955693] - PCI: Update mmap-related #ifdef comments (Myron Stowe) [1955693] - PCI/LINK: Print IRQ number used by port (Myron Stowe) [1955693] - PCI/IOV: Simplify pci-pf-stub with module_pci_driver() (Myron Stowe) [1955693] - PCI: Use scnprintf(), not snprintf(), in sysfs "show" functions (Myron Stowe) [1955693] - x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled (Myron Stowe) [1955693] - PCI: Remove unnecessary header includes (Myron Stowe) [1955693] - PCI/PM: Revert "PCI/PM: Apply D2 delay as milliseconds, not microseconds" (Myron Stowe) [1955693] - PCI/PM: Remove unused PCI_PM_BUS_WAIT (Myron Stowe) [1955693] - PCI: shpchp: Remove unused 'rc' assignment (Myron Stowe) [1955693] - PCI: pciehp: Reduce noisiness on hot removal (Myron Stowe) [1955693 1812902] - PCI: rpadlpar: Use for_each_child_of_node() and for_each_node_by_name() (Myron Stowe) [1955693] - PCI: Add Kconfig options for MPS/MRRS strategy (Myron Stowe) [1955693] - PCI: Add schedule point in pci_read_config() (Myron Stowe) [1955693] - PCI/ASPM: Remove struct pcie_link_state.l1ss (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_cap (Myron Stowe) [1955693] - PCI/ASPM: Pass L1SS Capabilities value, not struct aspm_register_info (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl1 (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl2 (unused) (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.l1ss_cap_ptr (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.latency_encoding (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.enabled (Myron Stowe) [1955693] - PCI/ASPM: Remove struct aspm_register_info.support (Myron Stowe) [1955693] - PCI/ASPM: Use 'parent' and 'child' for readability (Myron Stowe) [1955693] - PCI/ASPM: Move LTR path check to where it's used (Myron Stowe) [1955693] - PCI/ASPM: Move pci_clear_and_set_dword() earlier (Myron Stowe) [1955693] - PCI/ACS: Enable Translation Blocking for external devices (Myron Stowe) [1955693] - scsi: qedi: Remove redundant assignment to variable err (Nilesh Javali) [1920855] - scsi: qedi: Fix error return code of qedi_alloc_global_queues() (Nilesh Javali) [1920855] - scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe (Nilesh Javali) [1920855] - scsi: qedf: Simplify bool comparison (Nilesh Javali) [1921608] - bpf, sockmap: Fix incorrect fwd_alloc accounting (Yauheni Kaliuta) [1874006] - bpf: Local storage helpers should check nullness of owner ptr passed (Yauheni Kaliuta) [1874006] - bpf, inode_storage: Put file handler if no storage was found (Yauheni Kaliuta) [1874006] - kbuild: explicitly specify the build id style (Yauheni Kaliuta) [1874006] - bpf: Reject too big ctx_size_in for raw_tp test run (Yauheni Kaliuta) [1874006] - bpf: Fix enum names for bpf_this_cpu_ptr() and bpf_per_cpu_ptr() helpers (Yauheni Kaliuta) [1874006] - bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE (Jiri Benc) [1874006] - bpf: Fix tests for local_storage (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix "dubious pointer arithmetic" test (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix array access with signed variable test (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for signed 32-bit bound check bug (Yauheni Kaliuta) [1874006] - bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds. (Yauheni Kaliuta) [1874006] - lwt_bpf: Replace preempt_disable() with migrate_disable() (Yauheni Kaliuta) [1874006] - lwt: Disable BH too in run_lwt_bpf() (Yauheni Kaliuta) [1874006] - selftests/bpf: Drain ringbuf samples at the end of test (Yauheni Kaliuta) [1874006] - libbpf: Fix ring_buffer__poll() to return number of consumed samples (Yauheni Kaliuta) [1874006] - bpf: Add MAINTAINERS entry for BPF LSM (Yauheni Kaliuta) [1874006] - bpftool: Fix error return value in build_btf_type_table (Yauheni Kaliuta) [1874006] - fail_function: Remove a redundant mutex unlock (Yauheni Kaliuta) [1874006] - selftest/bpf: Test bpf_probe_read_user_str() strips trailing bytes after NUL (Yauheni Kaliuta) [1874006] - lib/strncpy_from_user.c: Mask out bytes after NUL terminator. (Yauheni Kaliuta) [1874006] - bpf, sockmap: Avoid failures from skb_to_sgvec when skb has frag_list (Yauheni Kaliuta) [1874006] - bpf, sockmap: Handle memory acct if skb_verdict prog redirects to self (Yauheni Kaliuta) [1874006] - bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self (Yauheni Kaliuta) [1874006] - bpf, sockmap: Use truesize with sk_rmem_schedule() (Yauheni Kaliuta) [1874006] - bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect (Yauheni Kaliuta) [1874006] - bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix error return code in run_getsockopt_test() (Yauheni Kaliuta) [1874006] - bpf: Relax return code check for subprograms (Yauheni Kaliuta) [1874006] - tools, bpftool: Add missing close before bpftool net attach exit (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix unused attribute usage in subprogs_unused test (Yauheni Kaliuta) [1874006] - bpf: Fix unsigned 'datasec_id' compared with zero in check_pseudo_btf_id (Yauheni Kaliuta) [1874006] - bpf: Fix passing zero to PTR_ERR() in bpf_btf_printf_prepare (Yauheni Kaliuta) [1874006] - libbpf: Don't attempt to load unused subprog as an entry-point BPF program (Yauheni Kaliuta) [1874006] - bpf: Update verification logic for LSM programs (Yauheni Kaliuta) [1874006] - bpf: Zero-fill re-used per-cpu map element (Yauheni Kaliuta) [1874006] - bpf: BPF_PRELOAD depends on BPF_SYSCALL (Yauheni Kaliuta) [1874006] - libbpf: Fix possible use after free in xsk_socket__delete (Yauheni Kaliuta) [1874006] - libbpf: Fix null dereference in xsk_socket__delete (Yauheni Kaliuta) [1874006] - libbpf, hashmap: Fix undefined behavior in hash_bits (Yauheni Kaliuta) [1874006] - tools, bpftool: Remove two unused variables. (Yauheni Kaliuta) [1874006] - tools, bpftool: Avoid array index warnings. (Yauheni Kaliuta) [1874006] - bpf: Add struct bpf_redir_neigh forward declaration to BPF helper defs (Yauheni Kaliuta) [1874006] - bpf: Fix -Wshadow warnings (Yauheni Kaliuta) [1874006] - bpf, libbpf: Guard bpf inline asm from bpf_tail_call_static (Yauheni Kaliuta) [1874006] - bpf: selftest: Ensure the return value of the bpf_per_cpu_ptr() must be checked (Yauheni Kaliuta) [1874006] - bpf: selftest: Ensure the return value of bpf_skc_to helpers must be checked (Yauheni Kaliuta) [1874006] - bpf: Remove unneeded break (Yauheni Kaliuta) [1874006] - net, sockmap: Don't call bpf_prog_put() on NULL pointer (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add locking annotations to iterator (Yauheni Kaliuta) [1874006] - bpf: Fix register equivalence tracking. (Yauheni Kaliuta) [1874006] - bpf, selftests: Add three new sockmap tests for verdict only programs (Yauheni Kaliuta) [1874006] - bpf, selftests: Add option to test_sockmap to omit adding parser program (Yauheni Kaliuta) [1874006] - bpf, sockmap: Allow skipping sk_skb parser program (Yauheni Kaliuta) [1874006] - bpf, sockmap: Check skb_verdict and skb_parser programs explicitly (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add memory accounting so skbs on ingress lists are visible (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove dropped data on errors in redirect case (Yauheni Kaliuta) [1874006] - bpf, sockmap: Remove skb_set_owner_w wmem will be taken later from sendpage (Yauheni Kaliuta) [1874006] - bpf, sockmap: On receive programs try to fast track SK_PASS ingress (Yauheni Kaliuta) [1874006] - bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits (Yauheni Kaliuta) [1874006] - bpf: Migrate from patchwork.ozlabs.org to patchwork.kernel.org. (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor XDP kern program maps with BTF-defined map (Yauheni Kaliuta) [1874006] - samples: bpf: Replace attach_tracepoint() to attach() in xdp_redirect_cpu (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor xdp_monitor with libbpf (Yauheni Kaliuta) [1874006] - bpf, selftests: Add test for different array inner map size (Yauheni Kaliuta) [1874006] - bpf: Allow for map-in-map with dynamic inner array map entries (Yauheni Kaliuta) [1874006] - selftests/bpf: Asm tests for the verifier regalloc tracking. (Yauheni Kaliuta) [1874006] - bpf: Fix selftest compilation on clang 11 (Yauheni Kaliuta) [1874006] - selftest/bpf: Fix profiler test using CO-RE relocation for enums (Yauheni Kaliuta) [1874006] - selftests/bpf: Add profiler test (Yauheni Kaliuta) [1874006] - bpf: Track spill/fill of bounded scalars. (Yauheni Kaliuta) [1874006] - bpf: Propagate scalar ranges through register assignments. (Yauheni Kaliuta) [1874006] - bpf: Add tcp_notsent_lowat bpf setsockopt (Yauheni Kaliuta) [1874006] - selftests/bpf: Validate libbpf's auto-sizing of LD/ST/STX instructions (Yauheni Kaliuta) [1874006] - libbpf: Allow specifying both ELF and raw BTF for CO-RE BTF override (Yauheni Kaliuta) [1874006] - libbpf: Support safe subset of load/store instruction resizing with CO-RE (Yauheni Kaliuta) [1874006] - libbpf: Skip CO-RE relocations for not loaded BPF programs (Yauheni Kaliuta) [1874006] - libbpf: Fix compatibility problem in xsk_socket__create (Yauheni Kaliuta) [1874006] - bpf: Fix typo in uapi/linux/bpf.h (Yauheni Kaliuta) [1874006] - bpf: Fix build failure for kernel/trace/bpf_trace.c with CONFIG_NET=n (Yauheni Kaliuta) [1874006] - kernel/bpf/verifier: Fix build when NET is not enabled (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_verifier after introducing resolve_pseudo_ldimm64 (Yauheni Kaliuta) [1874006] - samples: bpf: Driver interrupt statistics in xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Count syscalls in xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Split xdpsock stats into new struct (Yauheni Kaliuta) [1874006] - samples/bpf: Fix a compilation error with fallthrough marking (Yauheni Kaliuta) [1874006] - samples/bpf: Change Makefile to cope with latest llvm (Yauheni Kaliuta) [1874006] - bpf, libbpf: Use valid btf in bpf_program__set_attach_target (Yauheni Kaliuta) [1874006] - selftest/bpf: Test pinning map with reused map fd (Yauheni Kaliuta) [1874006] - libbpf: Check if pin_path was set even map fd exist (Yauheni Kaliuta) [1874006] - libbpf: Close map fd if init map slots failed (Yauheni Kaliuta) [1874006] - bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI (Yauheni Kaliuta) [1874006] - bpf, verifier: Use fallthrough pseudo-keyword (Yauheni Kaliuta) [1874006] - bpf: Deref map in BPF_PROG_BIND_MAP when it's already used (Yauheni Kaliuta) [1874006] - bpf, sockmap: Update selftests to use skb_adjust_room (Yauheni Kaliuta) [1874006] - bpf, sockmap: Add skb_adjust_room to pop bytes off ingress payload (Yauheni Kaliuta) [1874006] - bpf/selftests: Test for bpf_per_cpu_ptr() and bpf_this_cpu_ptr() (Yauheni Kaliuta) [1874006] - bpf: Introducte bpf_this_cpu_ptr() (Yauheni Kaliuta) [1874006] - bpf: Introduce bpf_per_cpu_ptr() (Yauheni Kaliuta) [1874006] - selftests/bpf: Ksyms_btf to test typed ksyms (Yauheni Kaliuta) [1874006] - bpf/libbpf: BTF support for typed ksyms (Yauheni Kaliuta) [1874006] - bpf: Introduce pseudo_btf_id (Yauheni Kaliuta) [1874006] - selftests/bpf: Properly initialize linfo in sockmap_basic (Yauheni Kaliuta) [1874006] - selftests/bpf: Initialize duration in xdp_noinline.c (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tests for BPF_F_PRESERVE_ELEMS (Yauheni Kaliuta) [1874006] - bpf: Introduce BPF_F_PRESERVE_ELEMS for perf event array (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix alignment of .BTF_ids (Yauheni Kaliuta) [1874006] - selftests/bpf: Test "incremental" btf_dump in C format (Yauheni Kaliuta) [1874006] - libbpf: Make btf_dump work with modifiable BTF (Yauheni Kaliuta) [1874006] - bpf, selftests: Use bpf_tail_call_static where appropriate (Yauheni Kaliuta) [1874006] - bpf, libbpf: Add bpf_tail_call_static helper for bpf programs (Yauheni Kaliuta) [1874006] - bpf, net: Rework cookie generator as per-cpu one (Yauheni Kaliuta) [1874006] - bpf: Add classid helper only based on skb->sk (Yauheni Kaliuta) [1874006] - bpf: fix raw_tp test run in preempt kernel (Yauheni Kaliuta) [1874006] - libbpf: Compile in PIC mode only for shared library case (Yauheni Kaliuta) [1874006] - libbpf: Compile libbpf under -O2 level by default and catch extra warnings (Yauheni Kaliuta) [1874006] - bpf: x64: Do not emit sub/add 0, rsp when !stack_depth (Yauheni Kaliuta) [1874006] - bpf, x64: Drop "pop rcx" instruction on BPF JIT epilogue (Yauheni Kaliuta) [1874006] - bpf, selftests: Fix warning in snprintf_btf where system() call unchecked (Yauheni Kaliuta) [1874006] - selftests/bpf: Test BTF's handling of endianness (Yauheni Kaliuta) [1874006] - selftests/bpf: Move and extend ASSERT_xxx() testing macros (Yauheni Kaliuta) [1874006] - selftests: Make sure all 'skel' variables are declared static (Yauheni Kaliuta) [1874006] - selftests/bpf_iter: Don't fail test due to missing __builtin_btf_type_id (Yauheni Kaliuta) [1874006] - bpf/preload: Make sure Makefile cleans up after itself, and add .gitignore (Yauheni Kaliuta) [1874006] - selftests/bpf: Ensure snprintf_btf/bpf_iter tests compatibility with old vmlinux.h (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix unused-result warning in snprintf_btf.c (Yauheni Kaliuta) [1874006] - bpf, selftests: Fix cast to smaller integer type 'int' warning in raw_tp (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for bpf_seq_printf_btf helper (Yauheni Kaliuta) [1874006] - bpf: Add bpf_seq_printf_btf helper (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix overflow tests to reflect iter size increase (Yauheni Kaliuta) [1874006] - bpf: Bump iter seq size to support BTF representation of large data structures (Yauheni Kaliuta) [1874006] - selftests/bpf: Add bpf_snprintf_btf helper tests (Yauheni Kaliuta) [1874006] - bpf: Add bpf_snprintf_btf helper (Yauheni Kaliuta) [1874006] - bpf: Move to generic BTF show support, apply it to seq files/strings (Yauheni Kaliuta) [1874006] - bpf: Provide function to get vmlinux BTF information (Yauheni Kaliuta) [1874006] - selftest: bpf: Test copying a sockmap and sockhash (Yauheni Kaliuta) [1874006] - selftests: bpf: Remove shared header from sockmap iter test (Yauheni Kaliuta) [1874006] - selftests: bpf: Add helper to compare socket cookies (Yauheni Kaliuta) [1874006] - bpf: sockmap: Enable map_update_elem from bpf_iter (Yauheni Kaliuta) [1874006] - bpf, cpumap: Remove rcpu pointer from cpu_map_build_skb signature (Yauheni Kaliuta) [1874006] - selftests/bpf: Add raw_tp_test_run (Yauheni Kaliuta) [1874006] - libbpf: Support test run of raw tracepoint programs (Yauheni Kaliuta) [1874006] - bpf: Enable BPF_PROG_TEST_RUN for raw_tracepoint (Yauheni Kaliuta) [1874006] - bpf: Add comment to document BTF type PTR_TO_BTF_ID_OR_NULL (Yauheni Kaliuta) [1874006] - bpf: Add AND verifier test case where 32bit and 64bit bounds differ (Yauheni Kaliuta) [1874006] - bpf, verifier: Remove redundant var_off.value ops in scalar known reg cases (Yauheni Kaliuta) [1874006] - bpf: selftest: Add test_btf_skc_cls_ingress (Yauheni Kaliuta) [1874006] - bpf: selftest: Remove enum tcp_ca_state from bpf_tcp_helpers.h (Yauheni Kaliuta) [1874006] - bpf: selftest: Use bpf_skc_to_tcp_sock() in the sock_fields test (Yauheni Kaliuta) [1874006] - bpf: selftest: Use network_helpers in the sock_fields test (Yauheni Kaliuta) [1874006] - bpf: selftest: Adapt sock_fields test to use skel and global variables (Yauheni Kaliuta) [1874006] - bpf: selftest: Move sock_fields test into test_progs (Yauheni Kaliuta) [1874006] - bpf: selftest: Add ref_tracking verifier test for bpf_skc casting (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_assign to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_tcp_*_syncookie to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_storage_*() to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Change bpf_sk_release and bpf_sk_*cgroup_id to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON (Yauheni Kaliuta) [1874006] - bpf: Enable bpf_skc_to_* sock casting helper to networking prog type (Yauheni Kaliuta) [1874006] - bpf: Move the PTR_TO_BTF_ID check to check_reg_type() (Yauheni Kaliuta) [1874006] - Revert "bpf: Fix potential call bpf_link_free() in atomic context" (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Always force HOSTARCH (Yauheni Kaliuta) [1874006] - bpf: Check CONFIG_BPF option for resolve_btfids (Yauheni Kaliuta) [1874006] - bpf: Explicitly size compatible_reg_types (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix stat probe in d_path test (Yauheni Kaliuta) [1874006] - bpf: Using rcu_read_lock for bpf_sk_storage_map iterator (Yauheni Kaliuta) [1874006] - bpf: Use a table to drive helper arg type checks (Yauheni Kaliuta) [1874006] - bpf: Hoist type checking for nullable arg types (Yauheni Kaliuta) [1874006] - bpf: Check ARG_PTR_TO_SPINLOCK register type in check_func_arg (Yauheni Kaliuta) [1874006] - bpf: Set meta->raw_mode for pointers close to use (Yauheni Kaliuta) [1874006] - bpf: Make context access check generic (Yauheni Kaliuta) [1874006] - bpf: Make reference tracking generic (Yauheni Kaliuta) [1874006] - bpf: Make BTF pointer type checking generic (Yauheni Kaliuta) [1874006] - bpf: Allow specifying a BTF ID per argument in function protos (Yauheni Kaliuta) [1874006] - btf: Add BTF_ID_LIST_SINGLE macro (Yauheni Kaliuta) [1874006] - bpf: Check scalar or invalid register in check_helper_mem_access (Yauheni Kaliuta) [1874006] - btf: Make btf_set_contains take a const pointer (Yauheni Kaliuta) [1874006] - bpf: Fix potential call bpf_link_free() in atomic context (Yauheni Kaliuta) [1874006] - bpf: Use hlist_add_head_rcu when linking to local_storage (Yauheni Kaliuta) [1874006] - samples/bpf: Fix test_map_in_map on s390 (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix endianness issue in test_sockopt_sk (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix endianness issue in sk_assign (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tailcall_bpf2bpf tests (Yauheni Kaliuta) [1874006] - bpf: Add abnormal return checks. (Yauheni Kaliuta) [1874006] - bpf: allow for tailcalls in BPF subprograms for x64 JIT (Yauheni Kaliuta) [1874006] - bpf, x64: rework pro/epilogue and tailcall handling in JIT (Yauheni Kaliuta) [1874006] - bpf: Limit caller's stack depth 256 for subprogs with tailcalls (Yauheni Kaliuta) [1874006] - bpf: rename poke descriptor's 'ip' member to 'tailcall_target' (Yauheni Kaliuta) [1874006] - bpf: propagate poke descriptors to subprograms (Yauheni Kaliuta) [1874006] - bpf, x64: use rcx instead of rax for tail call retpolines (Yauheni Kaliuta) [1874006] - selftests/bpf: Merge most of test_btf into test_progs (Yauheni Kaliuta) [1874006] - selftests/bpf: Test load and dump metadata with btftool and skel (Yauheni Kaliuta) [1874006] - bpftool: Support dumping metadata (Yauheni Kaliuta) [1874006] - libbpf: Add BPF_PROG_BIND_MAP syscall and use it on .rodata section (Yauheni Kaliuta) [1874006] - bpf: Add BPF_PROG_BIND_MAP syscall (Yauheni Kaliuta) [1874006] - bpf: Mutex protect used_maps array and count (Yauheni Kaliuta) [1874006] - libbpf: Fix a compilation error with xsk.c for ubuntu 16.04 (Yauheni Kaliuta) [1874006] - samples/bpf: Add quiet option to xdpsock (Yauheni Kaliuta) [1874006] - samples: bpf: Add an option for printing extra statistics in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Fix possible deadlock in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Fix one packet sending in xdpsock (Yauheni Kaliuta) [1874006] - s390/bpf: Fix multiple tail calls (Yauheni Kaliuta) [1874006] - tcp: Simplify tcp_set_congestion_control() load=false case (Yauheni Kaliuta) [1874006] - tcp: simplify _bpf_setsockopt(): Remove flags argument (Yauheni Kaliuta) [1874006] - tcp: simplify tcp_set_congestion_control(): Always reinitialize (Yauheni Kaliuta) [1874006] - tcp: Simplify EBPF TCP_CONGESTION to always init CC (Yauheni Kaliuta) [1874006] - bpftool: Fix build failure (Yauheni Kaliuta) [1874006] - tools: bpftool: Automate generation for "SEE ALSO" sections in man pages (Yauheni Kaliuta) [1874006] - bpf: Fix comment for helper bpf_current_task_under_cgroup() (Yauheni Kaliuta) [1874006] - selftests/bpf: Define string const as global for test_sysctl_prog.c (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_ksyms on non-SMP kernels (Yauheni Kaliuta) [1874006] - tools: bpftool: Add "inner_map" to "bpftool map create" outer maps (Yauheni Kaliuta) [1874006] - tools: bpftool: Keep errors for map-of-map dumps if distinct from ENOENT (Yauheni Kaliuta) [1874006] - tools: bpftool: Clean up function to dump map entry (Yauheni Kaliuta) [1874006] - selftests: bpf: Test iterating a sockmap (Yauheni Kaliuta) [1874006] - net: Allow iterating sockmap and sockhash (Yauheni Kaliuta) [1874006] - net: sockmap: Remove unnecessary sk_fullsock checks (Yauheni Kaliuta) [1874006] - tools: bpftool: Include common options from separate file (Yauheni Kaliuta) [1874006] - tools: bpftool: Print optional built-in features along with version (Yauheni Kaliuta) [1874006] - selftests, bpftool: Add bpftool (and eBPF helpers) documentation build (Yauheni Kaliuta) [1874006] - tools: bpftool: Log info-level messages when building bpftool man pages (Yauheni Kaliuta) [1874006] - bpf: Remove duplicate headers (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for map_ptr arithmetic (Yauheni Kaliuta) [1874006] - bpf: Permit map_ptr arithmetic with opcode add and offset 0 (Yauheni Kaliuta) [1874006] - tools, bpf: Synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1874006] - bpf: Fix formatting in documentation for BPF helpers (Yauheni Kaliuta) [1874006] - tools: bpftool: Fix formatting in bpftool-link documentation (Yauheni Kaliuta) [1874006] - samples, bpf: Add xsk_fwd test file to .gitignore (Yauheni Kaliuta) [1874006] - samples, bpf: Replace bpf_program__title() with bpf_program__section_name() (Yauheni Kaliuta) [1874006] - libbpf: Fix potential multiplication overflow (Yauheni Kaliuta) [1874006] - libbpf: Fix another __u64 cast in printf (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix check in global_data_init. (Yauheni Kaliuta) [1874006] - selftests/bpf: Add __noinline variant of cls_redirect selftest (Yauheni Kaliuta) [1874006] - selftests/bpf: Modernize xdp_noinline test w/ skeleton and __noinline (Yauheni Kaliuta) [1874006] - selftests/bpf: Add subprogs to pyperf, strobemeta, and l4lb_noinline tests (Yauheni Kaliuta) [1874006] - tools/bpftool: Replace bpf_program__title() with bpf_program__section_name() (Yauheni Kaliuta) [1874006] - selftests/bpf: Don't use deprecated libbpf APIs (Yauheni Kaliuta) [1874006] - libbpf: Deprecate notion of BPF program "title" in favor of "section name" (Yauheni Kaliuta) [1874006] - selftests/bpf: Add selftest for multi-prog sections and bpf-to-bpf calls (Yauheni Kaliuta) [1874006] - libbpf: Add multi-prog section support for struct_ops (Yauheni Kaliuta) [1874006] - libbpf: Implement generalized .BTF.ext func/line info adjustment (Yauheni Kaliuta) [1874006] - libbpf: Make RELO_CALL work for multi-prog sections and sub-program calls (Yauheni Kaliuta) [1874006] - libbpf: Support CO-RE relocations for multi-prog sections (Yauheni Kaliuta) [1874006] - libbpf: Parse multi-function sections into multiple BPF programs (Yauheni Kaliuta) [1874006] - libbpf: Ensure ELF symbols table is found before further ELF processing (Yauheni Kaliuta) [1874006] - selftests/bpf: Test task_file iterator without visiting pthreads (Yauheni Kaliuta) [1874006] - bpf: Avoid iterating duplicated files for task_file iterator (Yauheni Kaliuta) [1874006] - bpf: {cpu,dev}map: Change various functions return type from int to void (Yauheni Kaliuta) [1874006] - module: Fix up module_notifier return values (Yauheni Kaliuta) [1874006] - bpf: Remove bpf_lsm_file_mprotect from sleepable list. (Yauheni Kaliuta) [1874006] - samples/bpf: Fix to xdpsock to avoid recycling frames (Yauheni Kaliuta) [1874006] - samples/bpf: Optimize l2fwd performance in xdpsock (Yauheni Kaliuta) [1874006] - samples/bpf: Add new sample xsk_fwd.c (Yauheni Kaliuta) [1874006] - libbpf: Support shared umems between queues and devices (Yauheni Kaliuta) [1874006] - selftests/bpf: Add sleepable tests (Yauheni Kaliuta) [1874006] - libbpf: Support sleepable progs (Yauheni Kaliuta) [1874006] - bpf: Add bpf_copy_from_user() helper. (Yauheni Kaliuta) [1874006] - bpf: Fix build without BPF_LSM. (Yauheni Kaliuta) [1874006] - bpf: Introduce sleepable BPF programs (Yauheni Kaliuta) [1874006] - mm/error_inject: Fix allow_error_inject function signatures. (Yauheni Kaliuta) [1874006] - mm/filemap.c: enable error injection at add_to_page_cache() (Yauheni Kaliuta) [1874006] - mm/page_alloc.c: allow error injection (Yauheni Kaliuta) [1874006] - bpf: selftests: Add test for different inner map size (Yauheni Kaliuta) [1874006] - bpf: Relax max_entries check for most of the inner map types (Yauheni Kaliuta) [1874006] - bpf: Add map_meta_equal map ops (Yauheni Kaliuta) [1874006] - bpf: Make bpf_link_info.iter similar to bpf_iter_link_info (Yauheni Kaliuta) [1874006] - tools, bpf/build: Cleanup feature files on make clean (Yauheni Kaliuta) [1874006] - libbpf: Fix compilation warnings for 64-bit printf args (Yauheni Kaliuta) [1874006] - selftests/bpf: Add verifier tests for xor operation (Yauheni Kaliuta) [1874006] - libbpf: Fix unintentional success return code in bpf_object__load (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix spelling mistake "scoket" -> "socket" (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix open call in trigger_fstat_events (Yauheni Kaliuta) [1874006] - selftests/bpf: Add set test to resolve_btfids (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test for d_path helper (Yauheni Kaliuta) [1874006] - selftests/bpf: Add verifier test for d_path helper (Yauheni Kaliuta) [1874006] - bpf: Update .BTF_ids section in btf.rst with sets info (Yauheni Kaliuta) [1874006] - bpf: Add d_path helper (Yauheni Kaliuta) [1874006] - bpf: Add BTF_SET_START/END macros (Yauheni Kaliuta) [1874006] - bpf: Add btf_struct_ids_match function (Yauheni Kaliuta) [1874006] - bpf: Factor btf_struct_access function (Yauheni Kaliuta) [1874006] - bpf: Remove recursion call in btf_struct_access (Yauheni Kaliuta) [1874006] - bpf: Add type_id pointer as argument to __btf_resolve_size (Yauheni Kaliuta) [1874006] - bpf: Add elem_id pointer as argument to __btf_resolve_size (Yauheni Kaliuta) [1874006] - bpf: Move btf_resolve_size into __btf_resolve_size (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Add support for set symbols (Yauheni Kaliuta) [1874006] - tools resolve_btfids: Add size check to get_id function (Yauheni Kaliuta) [1874006] - bpf: Disallow BPF_PRELOAD in allmodconfig builds (Yauheni Kaliuta) [1874006] - bpf: Add selftests for local_storage (Yauheni Kaliuta) [1874006] - bpf: Allow local storage to be used from LSM programs (Yauheni Kaliuta) [1874006] - bpf: Implement bpf_local_storage for inodes (Yauheni Kaliuta) [1874006] - bpf: Split bpf_local_storage to bpf_sk_storage (Yauheni Kaliuta) [1874006] - bpf: Generalize bpf_sk_storage (Yauheni Kaliuta) [1874006] - bpf: Generalize caching for sk_storage. (Yauheni Kaliuta) [1874006] - bpf: Renames in preparation for bpf_local_storage (Yauheni Kaliuta) [1874006] - selftests/bpf: Enable tc verbose mode for test_sk_assign (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor tracepoint tracing programs with libbpf (Yauheni Kaliuta) [1874006] - samples: bpf: Refactor kprobe tracing programs with libbpf (Yauheni Kaliuta) [1874006] - selftests: bpf: Fix sockmap update nits (Yauheni Kaliuta) [1874006] - libbpf: Fix type compatibility check copy-paste error (Yauheni Kaliuta) [1874006] - libbpf: Avoid false unuinitialized variable warning in bpf_core_apply_relo (Yauheni Kaliuta) [1874006] - bpf: sk_lookup: Add user documentation (Yauheni Kaliuta) [1874006] - docs: Correct subject prefix and update LLVM info (Yauheni Kaliuta) [1874006] - libbpf: Normalize and improve logging across few functions (Yauheni Kaliuta) [1874006] - libbpf: Skip well-known ELF sections when iterating ELF (Yauheni Kaliuta) [1874006] - libbpf: Add __noinline macro to bpf_helpers.h (Yauheni Kaliuta) [1874006] - libbpf: Factor out common ELF operations and improve logging (Yauheni Kaliuta) [1874006] - libbpf: Add perf_buffer APIs for better integration with outside epoll loop (Yauheni Kaliuta) [1874006] - bpftool: Implement link_query for bpf iterators (Yauheni Kaliuta) [1874006] - bpf: Implement link_query callbacks in map element iterators (Yauheni Kaliuta) [1874006] - bpf: Implement link_query for bpf iterators (Yauheni Kaliuta) [1874006] - selftests/bpf: List newest Clang built-ins needed for some CO-RE selftests (Yauheni Kaliuta) [1874006] - selftests/bpf: Fix two minor compilation warnings reported by GCC 4.9 (Yauheni Kaliuta) [1874006] - libbpf: Fix libbpf build on compilers missing __builtin_mul_overflow (Yauheni Kaliuta) [1874006] - libbpf: Fix detection of BPF helper call instruction (Yauheni Kaliuta) [1874006] - selftests/bpf: Add bpffs preload test. (Yauheni Kaliuta) [1874006] - bpf: Add kernel module with user mode driver that populates bpffs. (Yauheni Kaliuta) [1874006] - bpf: Add BPF program and map iterators as built-in BPF programs. (Yauheni Kaliuta) [1874006] - bpf: Factor out bpf_link_by_id() helper. (Yauheni Kaliuta) [1874006] - libbpf: Simplify the return expression of build_map_pin_path() (Yauheni Kaliuta) [1874006] - selftests/bpf: Add tests for ENUMVAL_EXISTS/ENUMVAL_VALUE relocations (Yauheni Kaliuta) [1874006] - libbpf: Implement enum value-based CO-RE relocations (Yauheni Kaliuta) [1874006] - selftests/bpf: Add CO-RE relo test for TYPE_ID_LOCAL/TYPE_ID_TARGET (Yauheni Kaliuta) [1874006] - selftests/bpf: Test TYPE_EXISTS and TYPE_SIZE CO-RE relocations (Yauheni Kaliuta) [1874006] - libbpf: Implement type-based CO-RE relocations support (Yauheni Kaliuta) [1874006] - libbpf: Centralize poisoning and poison reallocarray() (Yauheni Kaliuta) [1874006] - tools/bpftool: Remove libbpf_internal.h usage in bpftool (Yauheni Kaliuta) [1874006] - selftests/bpf: Add test validating failure on ambiguous relocation value (Yauheni Kaliuta) [1874006] - libbpf: Improve relocation ambiguity detection (Yauheni Kaliuta) [1874006] - libbpf: Detect minimal BTF support and skip BTF loading, if missing (Yauheni Kaliuta) [1874006] - libbpf: Sanitize BPF program code for bpf_probe_read_{kernel, user}[_str] (Yauheni Kaliuta) [1874006] - libbpf: Factor out common logic of testing and closing FD (Yauheni Kaliuta) [1874006] - libbpf: Make kernel feature probing lazy (Yauheni Kaliuta) [1874006] - libbpf: Disable -Wswitch-enum compiler warning (Yauheni Kaliuta) [1874006] - libbpf: Convert comma to semicolon (Yauheni Kaliuta) [1874006] - samples: bpf: Fix broken bpf programs due to removed symbol (Yauheni Kaliuta) [1874006] - bpf: Replace GPLv2 boilerplate/reference with SPDX - rule 206 (Jiri Benc) [1874006] - LSM: Make some functions static (Yauheni Kaliuta) [1874006] - LSM: Make lsm_early_cred() and lsm_early_task() local functions. (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the ipc security blob (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the task security (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the inode security (Yauheni Kaliuta) [1874006] - LSM: Infrastructure management of the file security (Yauheni Kaliuta) [1874006] - Infrastructure management of the cred security blob (Yauheni Kaliuta) [1874006] - kernel: move CONFIG_TASKS_TRACE_RCU fields to task_struct_rh (Jiri Benc) [1874006] - kernel: store pointer to task_struct in task_struct_rh (Jiri Benc) [1874006]- igb: Add double-check MTA_REGISTER for i210 and i211 (Corinna Vinschen) [1920286] - igb: Redistribute memory for transmit packet buffers when in Qav mode (Corinna Vinschen) [1920286] - igb: Fix fall-through warnings for Clang (Corinna Vinschen) [1920286] - intel: clean up mismatched header comments (Corinna Vinschen) [1920286] - igb: check timestamp validity (Corinna Vinschen) [1920286] - igb: Fix duplicate include guard (Corinna Vinschen) [1920286] - intel: Update drivers to use ethtool_sprintf (Corinna Vinschen) [1920286] - net: ethernet: intel: igb: Typo fix in the file igb_main.c (Corinna Vinschen) [1920286] - igb: avoid premature Rx buffer reuse (Corinna Vinschen) [1920286] - igb: remove h from printk format specifier (Corinna Vinschen) [1920286] - igb: Enable RSS for Intel I211 Ethernet Controller (Corinna Vinschen) [1920286] - igb: fix TDBAL register show incorrect value (Corinna Vinschen) [1920286] - net: igb: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920286] - igb: avoid transmit queue timeout in xdp path (Corinna Vinschen) [1920286] - igb: use xdp_do_flush (Corinna Vinschen) [1920286] - igb: skb add metasize for xdp (Corinna Vinschen) [1920286] - igb: XDP extack message on error (Corinna Vinschen) [1920286] - igb: take VLAN double header into account (Corinna Vinschen) [1920286] - igb: XDP xmit back fix error code (Corinna Vinschen) [1920286] - igb: add XDP support (Corinna Vinschen) [1920286] - r8169: don't advertise pause in jumbo mode (Josef Oskera) [1935346] - r8169: fix DMA being used after buffer free if WoL is enabled (Josef Oskera) [1935346] - r8169: fix r8168fp_adjust_ocp_cmd function (Josef Oskera) [1935346] - r8169: use macro pm_ptr (Josef Oskera) [1935346] - r8169: fix resuming from suspend on RTL8105e if machine runs on battery (Josef Oskera) [1935346] - r8169: handle tx before rx in napi poll (Josef Oskera) [1935346] - r8169: disable detection of bogus xid's 308/388 (Josef Oskera) [1935346] - r8169: re-configure WOL settings on resume from hibernation (Josef Oskera) [1935346] - r8169: don't try to disable interrupts if NAPI is scheduled already (Josef Oskera) [1935346] - r8169: Add support for another RTL8168FP (Josef Oskera) [1935346] - r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set (Josef Oskera) [1935346] - r8169: work around RTL8125 UDP hw bug (Josef Oskera) [1935346] - r8169: remove not needed call to rtl_wol_enable_rx from rtl_shutdown (Josef Oskera) [1935346] - r8169: improve DASH support (Josef Oskera) [1935346] - r8169: improve rtl8169_rx_csum (Josef Oskera) [1935346] - r8169: align rtl_wol_suspend_quirk with vendor driver and rename it (Josef Oskera) [1935346] - r8169: clean up rtl_pll_power_down/up functions (Josef Oskera) [1935346] - r8169: improve handling D3 PLL power-down (Josef Oskera) [1935346] - r8169: enable PLL power-down for chip versions 34, 35, 36, 42 (Josef Oskera) [1935346] - r8169: make use of the unaligned access helpers (Josef Oskera) [1935346] - r8169: tweak max read request size for newer chips also in jumbo mtu mode (Josef Oskera) [1935346] - r8169: align RTL8168e jumbo pcie read request size with vendor driver (Josef Oskera) [1935346] - r8169: don't wakeup-enable device on shutdown if WOL is disabled (Josef Oskera) [1935346] - r8169: improve rtl_ocp_reg_failure (Josef Oskera) [1935346] - r8169: replace BUG_ON with WARN in _rtl_eri_write (Josef Oskera) [1935346] - r8169: improve RTL8168g PHY suspend quirk (Josef Oskera) [1935346] - r8169: move ERI access functions to avoid forward declaration (Josef Oskera) [1935346] - r8169: work around power-saving bug on some chip versions (Josef Oskera) [1935346] - r8169: make NUM_RX_DESC a signed int (Josef Oskera) [1935346] - r8169: improve rtl_rx (Josef Oskera) [1935346] - r8169: set tc_offset only if tally counter reset isn't supported (Josef Oskera) [1935346] - net: phy: realtek: read actual speed on rtl8211f to detect downshift (Josef Oskera) [1935346] - r8169: use dev_err_probe in rtl_get_ether_clk (Josef Oskera) [1935346] - r8169: reduce number of workaround doorbell rings (Josef Oskera) [1935346] - r8169: remove not needed check in rtl8169_start_xmit (Josef Oskera) [1935346] - r8169: remove nr_frags argument from rtl_tx_slots_avail (Josef Oskera) [1935346] - r8169: improve rtl8169_start_xmit (Josef Oskera) [1935346] - r8169: improve rtl_tx (Josef Oskera) [1935346] - r8169: use READ_ONCE in rtl_tx_slots_avail (Josef Oskera) [1935346] - net: phy: realtek: support paged operations on RTL8201CP (Josef Oskera) [1935346] - r8169: disable hw csum for short packets on all chip versions (Josef Oskera) [1935346] - r8169: fix potential skb double free in an error path (Josef Oskera) [1935346] - r8169: work around short packet hw bug on RTL8125 (Josef Oskera) [1935346] - net: phy: realtek: Add support for RTL8221B-CG series (Josef Oskera) [1935346] - r8169: set IRQF_NO_THREAD if MSI(X) is enabled (Josef Oskera) [1935346] - r8169: align number of tx descriptors with vendor driver (Josef Oskera) [1935346] - r8169: use pm_runtime_put_sync in rtl_open error path (Josef Oskera) [1935346] - r8169: remove unneeded memory barrier in rtl_tx (Josef Oskera) [1935346] - r8169: remove no longer needed private rx/tx packet/byte counters (Josef Oskera) [1935346] - r8169: use struct pcpu_sw_netstats for rx/tx packet/byte counters (Josef Oskera) [1935346] - treewide: Use fallthrough pseudo-keyword (Josef Oskera) [1935346] - r8169: fix jumbo packet handling on RTL8168e (Josef Oskera) [1915314] - sctp: delay auto_asconf init until binding the first addr (Xin Long) [1952020] - netfilter: x_tables: fix compat match/target pad out-of-bound write (Florian Westphal) [1950014] - netfilter: arp_tables: add pre_exit hook for table unregister (Florian Westphal) [1950014] - netfilter: bridge: add pre_exit hooks for ebtable unregistration (Florian Westphal) [1950014] - netfilter: nft_limit: avoid possible divide error in nft_limit_init (Florian Westphal) [1950014] - netfilter: conntrack: do not print icmpv6 as unknown via /proc (Florian Westphal) [1950014] - netfilter: flowtable: fix NAT IPv6 offload mangling (Florian Westphal) [1950014] - netfilter: flowtable: Make sure GC works periodically in idle system (Florian Westphal) [1950014] - netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags (Florian Westphal) [1950014] - netfilter: ctnetlink: fix dump of the expect mask attribute (Florian Westphal) [1950014] - netfilter: x_tables: gpf inside xt_find_revision() (Florian Westphal) [1950014] - netfilter: conntrack: skip identical origin tuple in same zone only (Florian Westphal) [1950014] - flow_dissector: fix byteorder of dissected ICMP ID (Paolo Abeni) [1950288] - flow_dissector: fix TTL and TOS dissection on IPv4 fragments (Paolo Abeni) [1950288] - net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled (Paolo Abeni) [1950288] - net: core: devlink: use right genl user_ptr when handling port param get/set (Paolo Abeni) [1950288] - net_sched: gen_estimator: support large ewma log (Paolo Abeni) [1950288] - net: Allow NETIF_F_HW_TLS_TX if IP_CSUM && IPV6_CSUM (Paolo Abeni) [1950288] - net: Disable NETIF_F_HW_TLS_TX when HW_CSUM is disabled (Paolo Abeni) [1950288] - devlink: Add devlink port documentation (Petr Oros) [1935708] - devlink: Support get and set state of port function (Petr Oros) [1935708] - devlink: Support add and delete devlink port (Petr Oros) [1935708] - devlink: Introduce PCI SF port flavour and port attribute (Petr Oros) [1935708] - devlink: Prepare code to fill multiple port function attributes (Petr Oros) [1935708] - net: core: devlink: simplify the return expression of devlink_nl_cmd_trap_set_doit() (Petr Oros) [1935708] - video: hyperv_fb: Add ratelimit on error message (Mohammed Gamal) [1957804] - ovl: allow upperdir inside lowerdir (Miklos Szeredi) [1903647] - i2c: i801: Add support for Intel Alder Lake PCH-P (Steve Best) [1929488] - pinctrl: tigerlake: Add Alder Lake-P ACPI ID (Steve Best) [1929492] - xfs: set aside allocation btree blocks from block reservation (Brian Foster) [1911738] - xfs: introduce in-core global counter of allocbt blocks (Brian Foster) [1911738] - xfs: unconditionally read all AGFs on mounts with perag reservation (Brian Foster) [1911738] - xfs: drop unnecessary setfilesize helper (Brian Foster) [1942348] - xfs: drop unused ioend private merge and setfilesize code (Brian Foster) [1942348] - xfs: open code ioend needs workqueue helper (Brian Foster) [1942348] - xfs: drop submit side trans alloc for append ioends (Brian Foster) [1942348] - blk-mq: Use request queue-wide tags for tagset-wide sbitmap (Ming Lei) [1932145] - blk-mq: Some tag allocation code refactoring (Ming Lei) [1932145] - blk-mq: Swap two calls in blk_mq_exit_queue() (Ming Lei) [1932145] - blk-mq: plug request for shared sbitmap (Ming Lei) [1932145] - blk-mq: set default elevator as deadline in case of hctx shared tagset (Ming Lei) [1932145] - powerpc/perf: Fix PMU constraint check for EBB events (Diego Domingos) [1926573] - s390/idle: fix suspicious RCU usage (Waiman Long) [1963142] - x86/cpu: Add another Alder Lake CPU to the Intel family (Steve Best) [1962033] - x86/split_lock: Don't write MSR_TEST_CTRL on CPUs that aren't whitelisted (Prarit Bhargava) [1837350] - Documentation/admin-guide: Change doc for split_lock_detect parameter (Prarit Bhargava) [1837350] - x86/traps: Handle #DB for bus lock (Prarit Bhargava) [1837350] - x86/cpufeatures: Enumerate #DB for bus lock detection (Prarit Bhargava) [1837350] - x86/split_lock: Enable the split lock feature on another Alder Lake CPU (Prarit Bhargava) [1925373] - x86/cpu: Add another Alder Lake CPU to the Intel family (Prarit Bhargava) [1925373] - x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder Lake CPUs (Prarit Bhargava) [1925373]- libbpf: Add user-space variants of BPF_CORE_READ() family of macros (Jiri Olsa) [1896362] - libbpf: Switch tracing and CO-RE helper macros to bpf_probe_read_kernel() (Jiri Olsa) [1896362] - selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user() (Jiri Olsa) [1896362] - samples/bpf, selftests/bpf: Use bpf_probe_read_kernel (Jiri Olsa) [1896362] - bpf: Restrict bpf_probe_read{, str}() only to archs where they work (Jiri Olsa) [1896362] - perf/x86/intel/uncore: Add Rocket Lake support (Michael Petlan) [1837502] - perf/x86/cstate: Add Rocket Lake CPU support (Michael Petlan) [1837497] - perf/x86/intel: Add Rocket Lake CPU support (Michael Petlan) [1837497] - perf/x86/msr: Add Rocket Lake CPU support (Michael Petlan) [1837497] - tick/nohz: Kick only _queued_ task whose tick dependency is updated (Waiman Long) [1922901] - tick/nohz: Change signal tick dependency to wake up CPUs of member tasks (Waiman Long) [1922901] - tick/nohz: Only wake up a single target cpu when kicking a task (Waiman Long) [1922901] - tick/nohz: Narrow down noise while setting current task's tick dependency (Waiman Long) [1922901] - sched/fair: Fix shift-out-of-bounds in load_balance() (Phil Auld) [1958730] - redhat/configs: Update torture test configs (Waiman Long) [1941211] - rcu: Do not report strict GPs for outgoing CPUs (Waiman Long) [1941211] - rcu,ftrace: Fix ftrace recursion (Waiman Long) [1941211] - arm64: smp: Tell RCU about CPUs that fail to come online (Waiman Long) [1941211] - rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled (Waiman Long) [1941211] - rcu-tasks: Enclose task-list scan in rcu_read_lock() (Waiman Long) [1941211] - rcu-tasks: Fix low-probability task_struct leak (Waiman Long) [1941211] - rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Shorten per-grace-period sleep for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Selectively enable more RCU Tasks Trace IPIs (Waiman Long) [1941211] - rcu-tasks: Use more aggressive polling for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Mark variables static (Waiman Long) [1941211] - rcu-tasks: Prevent complaints of unused show_rcu_tasks_classic_gp_kthread() (Waiman Long) [1941211] - rcu: Remove unused "cpu" parameter from rcu_report_qs_rdp() (Waiman Long) [1941211] - torture: Add gdb support (Waiman Long) [1941211] - rcuperf: Change rcuperf to rcuscale (Waiman Long) [1941211] - sched,rcuperf: Convert to sched_set_fifo_low() (Waiman Long) [1941211] - rcu/rcuperf: Convert to SPDX license identifier (Waiman Long) [1941211] - rcutorture: Allow pointer leaks to test diagnostic code (Waiman Long) [1941211] - rcu: Report QS for outermost PREEMPT=n rcu_read_unlock() for strict GPs (Waiman Long) [1941211] - rcu: locking and unlocking need to always be at least barriers (Waiman Long) [1941211] - rcu: Execute RCU reader shortly after rcu_core for strict GPs (Waiman Long) [1941211] - rcu: Provide optional RCU-reader exit delay for strict GPs (Waiman Long) [1941211] - rcu: Make FQS more aggressive in complaining about offline CPUs (Waiman Long) [1941211] - rcu: Clarify comments about FQS loop reporting quiescent states (Waiman Long) [1941211] - rcu: IPI all CPUs at GP end for strict GPs (Waiman Long) [1941211] - rcu: IPI all CPUs at GP start for strict GPs (Waiman Long) [1941211] - rcu: Attempt QS when CPU discovers GP for strict GPs (Waiman Long) [1941211] - rcu: Do full report for .need_qs for strict GPs (Waiman Long) [1941211] - rcu: Always set .need_qs from __rcu_read_lock() for strict GPs (Waiman Long) [1941211] - rcu: Force DEFAULT_RCU_BLIMIT to 1000 for strict RCU GPs (Waiman Long) [1941211] - rcu: Restrict default jiffies_till_first_fqs for strict RCU GPs (Waiman Long) [1941211] - rcu: Reduce leaf fanout for strict RCU grace periods (Waiman Long) [1941211] - rcu: Add Kconfig option for strict RCU grace periods (Waiman Long) [1941211] - rcu/nocb: Add a warning for non-GP kthread running GP code (Waiman Long) [1941211] - rcu: Move rcu_cpu_started per-CPU variable to rcu_data (Waiman Long) [1941211] - scftorture: Add cond_resched() to test loop (Waiman Long) [1941211] - rcutorture: Hoist OOM registry up one level (Waiman Long) [1941211] - rcutorture: Properly synchronize with OOM notifier (Waiman Long) [1941211] - rcutorture: Properly set rcu_fwds for OOM handling (Waiman Long) [1941211] - torture: Add kvm.sh --help and update help message (Waiman Long) [1941211] - refperf: Avoid null pointer dereference when buf fails to allocate (Waiman Long) [1941211] - rcutorture: Add CONFIG_PROVE_RCU_LIST to TREE05 (Waiman Long) [1941211] - torture: Update initrd documentation (Waiman Long) [1941211] - rcutorture: Replace HTTP links with HTTPS ones (Waiman Long) [1941211] - rcu: Fix kerneldoc comments in rcupdate.h (Waiman Long) [1941211] - scftorture: Adapt memory-ordering test to UP operation (Waiman Long) [1941211] - torture: document --allcpus argument added to the kvm.sh script (Waiman Long) [1941211] - scftorture: Block scftorture_invoker() kthreads for offline CPUs (Waiman Long) [1941211] - scftorture: Check unexpected "switch" statement value (Waiman Long) [1941211] - scftorture: Make symbol 'scf_torture_rand' static (Waiman Long) [1941211] - scftorture: Prevent compiler from reducing race probabilities (Waiman Long) [1941211] - scftorture: Flag errors in torture-compatible manner (Waiman Long) [1941211] - scftorture: Consolidate scftorture_invoke_one() scf_check initialization (Waiman Long) [1941211] - scftorture: Consolidate scftorture_invoke_one() check and kfree() (Waiman Long) [1941211] - scftorture: Add smp_call_function() memory-ordering checks (Waiman Long) [1941211] - scftorture: Add smp_call_function_many() memory-ordering checks (Waiman Long) [1941211] - scftorture: Add smp_call_function_single() memory-ordering checks (Waiman Long) [1941211] - scftorture: Summarize per-thread statistics (Waiman Long) [1941211] - torture: Declare parse-console.sh independence from rcutorture (Waiman Long) [1941211] - tick-sched: Clarify "NOHZ: local_softirq_pending" warning (Waiman Long) [1941211] - scftorture: Implement weighted primitive selection (Waiman Long) [1941211] - torture: Add scftorture to the rcutorture scripting (Waiman Long) [1941211] - scftorture: Add smp_call_function() torture test (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_cpu_stall_ftrace_dump (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_kick_kthreads (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_resched_ns (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_divisor (Waiman Long) [1941211] - nocb: Remove show_rcu_nocb_state() false positive printout (Waiman Long) [1941211] - rcu/tree: Remove CONFIG_PREMPT_RCU check in force_qs_rnp() (Waiman Long) [1941211] - nocb: Clarify RCU nocb CPU error message (Waiman Long) [1941211] - rcu/tree: Force quiescent state on callback overload (Waiman Long) [1941211] - rcu/trace: Use gp_seq_req in acceleration's rcu_grace_period tracepoint (Waiman Long) [1941211] - rcu/trace: Print negative GP numbers correctly (Waiman Long) [1941211] - rcutorture: Output number of elapsed grace periods (Waiman Long) [1941211] - rcu: Initialize at declaration time in rcu_exp_handler() (Waiman Long) [1941211] - rcu: Remove KCSAN stubs from update.c (Waiman Long) [1941211] - rcu: Remove KCSAN stubs (Waiman Long) [1941211] - srcu: Remove KCSAN stubs (Waiman Long) [1941211] - rcutorture: Remove KCSAN stubs (Waiman Long) [1941211] - refscale: Change --torture type from refperf to refscale (Waiman Long) [1941211] - refperf: Rename refperf.c to refscale.c and change internal names (Waiman Long) [1941211] - refperf: Rename RCU_REF_PERF_TEST to RCU_REF_SCALE_TEST (Waiman Long) [1941211] - torture: Remove obsolete "cd $KVM" (Waiman Long) [1941211] - torture: Avoid duplicate specification of qemu command (Waiman Long) [1941211] - torture: Dump ftrace at shutdown only if requested (Waiman Long) [1941211] - torture: Add kvm-tranform.sh script for qemu-cmd files (Waiman Long) [1941211] - torture: Add more tracing crib notes to kvm.sh (Waiman Long) [1941211] - torture: Improve diagnostic for KCSAN-incapable compilers (Waiman Long) [1941211] - torture: Correctly summarize build-only runs (Waiman Long) [1941211] - torture: Pass --kmake-arg to all make invocations (Waiman Long) [1941211] - kernel/rcu/tree.c: Fix kernel-doc warnings (Waiman Long) [1941211] - rcu-tasks: Fix synchronize_rcu_tasks_trace() header comment (Waiman Long) [1941211] - rcu: grpnum just records group number (Waiman Long) [1941211] - rcu: grplo/grphi just records CPU number (Waiman Long) [1941211] - rcu: gp_max is protected by root rcu_node's lock (Waiman Long) [1941211] - rcutorture: Check for unwatched readers (Waiman Long) [1941211] - torture: Abstract out console-log error detection (Waiman Long) [1941211] - torture: Add a stop-run capability (Waiman Long) [1941211] - rcu-tasks: Fix code-style issues (Waiman Long) [1941211] - torture: Create qemu-cmd in --buildonly runs (Waiman Long) [1941211] - rcu: Stop shrinker loop (Waiman Long) [1941211] - refperf: Add test for RCU Tasks readers (Waiman Long) [1941211] - refperf: Add test for RCU Tasks Trace readers. (Waiman Long) [1941211] - rcu: Replace 1 with true (Waiman Long) [1941211] - rcu/rcutorture: Replace 0 with false (Waiman Long) [1941211] - refperf: Change readdelay module parameter to nanoseconds (Waiman Long) [1941211] - refperf: Work around 64-bit division (Waiman Long) [1941211] - doc: Document rcuperf's module parameters (Waiman Long) [1941211] - refperf: Adjust refperf.loop default value (Waiman Long) [1941211] - rcu-tasks: Conditionally compile show_rcu_tasks_gp_kthreads() (Waiman Long) [1941211] - rcu-tasks: Add #include of rcupdate_trace.h to update.c (Waiman Long) [1941211] - rcu-tasks: Make rcu_tasks_postscan() be static (Waiman Long) [1941211] - refperf: Add read-side delay module parameter (Waiman Long) [1941211] - lockdep: Complain only once about RCU in extended quiescent state (Waiman Long) [1941211] - refperf: Simplify initialization-time wakeup protocol (Waiman Long) [1941211] - rcu: Allow for smp_call_function() running callbacks from idle (Waiman Long) [1941211] - refperf: Output per-experiment data points (Waiman Long) [1941211] - refperf: Label experiment-number column "Runs" (Waiman Long) [1941211] - refperf: Add warmup and cooldown processing phases (Waiman Long) [1941211] - refperf: More closely synchronize reader start times (Waiman Long) [1941211] - refperf: Convert reader_task structure's "start" field to int (Waiman Long) [1941211] - refperf: Tune reader measurement interval (Waiman Long) [1941211] - refperf: Make functions static (Waiman Long) [1941211] - srcu: Avoid local_irq_save() before acquiring spinlock_t (Waiman Long) [1941211] - refperf: Dynamically allocate thread-summary output buffer (Waiman Long) [1941211] - refperf: Dynamically allocate experiment-summary output buffer (Waiman Long) [1941211] - refperf: Provide module parameter to specify number of experiments (Waiman Long) [1941211] - refperf: Convert nreaders to a module parameter (Waiman Long) [1941211] - refperf: Allow decimal nanoseconds (Waiman Long) [1941211] - refperf: Hoist function-pointer calls out of the loop (Waiman Long) [1941211] - rcu: Introduce single argument kvfree_rcu() interface (Waiman Long) [1941211] - refperf: Add holdoff parameter to allow CPUs to come online (Waiman Long) [1941211] - torture: Add refperf to the rcutorture scripting (Waiman Long) [1941211] - rcuperf: Add comments explaining the high reader overhead (Waiman Long) [1941211] - refperf: Add a test to measure performance of read-side synchronization (Waiman Long) [1941211] - rcuperf: Remove useless while loops around wait_event (Waiman Long) [1941211] - rcu: Provide rcu_irq_exit_check_preempt() (Waiman Long) [1941211] - sched,rcu,tracing: Avoid tracing before in_nmi() is correct (Waiman Long) [1941211] - hardirq/nmi: Allow nested nmi_enter() (Waiman Long) [1941211] - powerpc/64s: Include header file to fix a warning (Waiman Long) [1941211] - powerpc/64s: system reset interrupt preserve HSRRs (Waiman Long) [1941211] - powerpc/64s: Fix HV NMI vs HV interrupt recoverability test (Waiman Long) [1941211] - powerpc/traps: fix recoverability of machine check handling on book3s/32 (Waiman Long) [1941211] - powerpc/traps: restore recoverability of machine_check interrupts (Waiman Long) [1941211] - rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr (Waiman Long) [1941211] - rcu: Remove initialized but unused rnp from check_slow_task() (Waiman Long) [1941211] - rcu: Update comment from rsp->rcu_gp_seq to rsp->gp_seq (Waiman Long) [1941211] - rcu: Provide __rcu_is_watching() (Waiman Long) [1941211] - doc: Tasks RCU must protect instructions before trampoline (Waiman Long) [1941211] - fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls (Waiman Long) [1941211] - rcu-tasks: Convert sleeps to idle priority (Waiman Long) [1941211] - rcu: Expedited grace-period sleeps to idle priority (Waiman Long) [1941211] - rcu: No-CBs-related sleeps to idle priority (Waiman Long) [1941211] - rcu: Priority-boost-related sleeps to idle priority (Waiman Long) [1941211] - rcu: Grace-period-kthread related sleeps to idle priority (Waiman Long) [1941211] - torture: Add --allcpus argument to the kvm.sh script (Waiman Long) [1941211] - torture: Remove whitespace from identify_qemu_vcpus output (Waiman Long) [1941211] - torture: Add script to smoke-test commits in a branch (Waiman Long) [1941211] - trace: events: rcu: Change description of rcu_dyntick trace event (Waiman Long) [1941211] - rcu: Add comment documenting rcu_callback_map's purpose (Waiman Long) [1941211] - rcu: Provide rcu_irq_exit_preempt() (Waiman Long) [1941211] - rcu: Add callbacks-invoked counters (Waiman Long) [1941211] - doc: Timer problems can cause RCU CPU stall warnings (Waiman Long) [1941211] - torture: Remove qemu dependency on EFI firmware (Waiman Long) [1941211] - rcutorture: NULL rcu_torture_current earlier in cleanup code (Waiman Long) [1941211] - rcutorture: Handle non-statistic bang-string error messages (Waiman Long) [1941211] - torture: Set configfile variable to current scenario (Waiman Long) [1941211] - rcutorture: Add races with task-exit processing (Waiman Long) [1941211] - docs: RCU: Don't duplicate chapter names in rculist_nulls.rst (Waiman Long) [1941211] - docs: RCU: Convert stallwarn.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert rcuref.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert torture.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert rculist_nulls.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert lockdep.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert lockdep-splat.txt to ReST (Waiman Long) [1941211] - docs: RCU: Convert checklist.txt to ReST (Waiman Long) [1941211] - doc: Add rcutorture scripting to torture.txt (Waiman Long) [1941211] - doc: Fix typo "deference" to "dereference" (Waiman Long) [1941211] - docs: locking: convert docs to ReST and rename to *.rst (Waiman Long) [1941211] - doc/rcuref: Document real world examples in kernel (Waiman Long) [1941211] - Documentation/locking/lockdep: Drop last two chars of sample states (Waiman Long) [1941211] - doc: rcu: Suspicious RCU usage is a warning (Waiman Long) [1941211] - RCU/torture.txt: Remove section MODULE PARAMETERS (Waiman Long) [1941211] - Documentation/lockstat: Fix trivial typo (Waiman Long) [1941211] - rcu: Simplify the calculation of rcu_state.ncpus (Waiman Long) [1941211] - srcu: Fix a typo in comment "amoritized"->"amortized" (Waiman Long) [1941211] - rcuperf: Fix printk format warning (Waiman Long) [1941211] - mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls (Waiman Long) [1941211] - rcu: Initialize and destroy rcu_synchronize only when necessary (Waiman Long) [1941211] - rcu: Add KCSAN stubs to update.c (Waiman Long) [1941211] - rcu: Add KCSAN stubs (Waiman Long) [1941211] - srcu: Add KCSAN stubs (Waiman Long) [1941211] - rcutorture: Add KCSAN stubs (Waiman Long) [1941211] - rcu/rcutorture: Convert to SPDX license identifier (Waiman Long) [1941211] - rcu: Convert rcu_nohz_full_cpu() ULONG_CMP_LT() to time_before() (Waiman Long) [1941211] - rcu: Convert rcu_initiate_boost() ULONG_CMP_GE() to time_after() (Waiman Long) [1941211] - rcutorture: Convert ULONG_CMP_LT() to time_before() (Waiman Long) [1941211] - rcu: Convert ULONG_CMP_GE() to time_after() for jiffy comparison (Waiman Long) [1941211] - rcu: Add rcu_gp_might_be_stalled() (Waiman Long) [1941211] - torture: Add a --kasan argument (Waiman Long) [1941211] - torture: Save a few lines by using config_override_param initially (Waiman Long) [1941211] - torture: Allow scenario-specific Kconfig options to override CFcommon (Waiman Long) [1941211] - torture: Allow --kconfig options to override --kcsan defaults (Waiman Long) [1941211] - torture: Abstract application of additional Kconfig options (Waiman Long) [1941211] - torture: Eliminate duplicate #CHECK# from ConfigFragment (Waiman Long) [1941211] - torture: Make --kcsan argument also create a summary (Waiman Long) [1941211] - rcutorture: Make rcu_fwds and rcu_fwd_emergency_stop static (Waiman Long) [1941211] - torture: Add --kcsan argument to top-level kvm.sh script (Waiman Long) [1941211] - rcu-tasks: Allow standalone use of TASKS_{TRACE_,}RCU (Waiman Long) [1941211] - rcu: Remove self-stack-trace when all quiescent states seen (Waiman Long) [1941211] - ftrace: Use synchronize_rcu_tasks_rude() instead of ftrace_sync() (Waiman Long) [1941211] - ftrace: Protect ftrace_graph_hash with ftrace_sync (Waiman Long) [1941211] - ftrace: Add comment to why rcu_dereference_sched() is open coded (Waiman Long) [1941211] - tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu (Waiman Long) [1941211] - tracing: Annotate ftrace_graph_hash pointer with __rcu (Waiman Long) [1941211] - tracing/fgraph: Fix set_graph_function from showing interrupts (Waiman Long) [1941211] - rcu: Allow rcutorture to starve grace-period kthread (Waiman Long) [1941211] - rcu: When GP kthread is starved, tag idle threads as false positives (Waiman Long) [1941211] - rcutorture: Right-size TREE10 CPU consumption (Waiman Long) [1941211] - rcu: Replace 1 by true (Waiman Long) [1941211] - rcutorture: Add test of holding scheduler locks across rcu_read_unlock() (Waiman Long) [1941211] - rcu: Replace assigned pointer ret value by corresponding boolean value (Waiman Long) [1941211] - rcu-tasks: Add IPI failure count to statistics (Waiman Long) [1941211] - rcutorture: Add TRACE02 scenario enabling RCU Tasks Trace IPIs (Waiman Long) [1941211] - rcu-tasks: Add count for idle tasks on offline CPUs (Waiman Long) [1941211] - rcu-tasks: Add rcu_dynticks_zero_in_eqs() effectiveness statistics (Waiman Long) [1941211] - rcu-tasks: Make RCU tasks trace also wait for idle tasks (Waiman Long) [1941211] - rcu-tasks: Handle the running-offline idle-task special case (Waiman Long) [1941211] - rcu-tasks: Disable CPU hotplug across RCU tasks trace scans (Waiman Long) [1941211] - rcu: Mark rcu_state.gp_seq to detect more concurrent writes (Waiman Long) [1941211] - rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks (Waiman Long) [1941211] - rcu-tasks: Avoid IPIing userspace/idle tasks if kernel is so built (Waiman Long) [1941211] - rcu-tasks: Add Kconfig option to mediate smp_mb() vs. IPI (Waiman Long) [1941211] - rcu-tasks: Add grace-period and IPI counts to statistics (Waiman Long) [1941211] - rcu-tasks: Split ->trc_reader_need_end (Waiman Long) [1941211] - rcu-tasks: Provide boot parameter to delay IPIs until late in grace period (Waiman Long) [1941211] - rcu-tasks: Add a grace-period start time for throttling and debug (Waiman Long) [1941211] - rcu: Get rid of some doc warnings in update.c (Waiman Long) [1941211] - rcu-tasks: Make RCU Tasks Trace make use of RCU scheduler hooks (Waiman Long) [1941211] - rcu-tasks: Use context-switch hook for PREEMPT=y kernels (Waiman Long) [1941211] - rcu-tasks: Make rcutorture writer stall output include GP state (Waiman Long) [1941211] - rcu-tasks: Add RCU tasks to rcutorture writer stall output (Waiman Long) [1941211] - rcuperf: Add ability to increase object allocation size (Waiman Long) [1941211] - rcu-tasks: Move #ifdef into tasks.h (Waiman Long) [1941211] - rcutorture: Add flag to produce non-busy-wait task stalls (Waiman Long) [1941211] - rcu: Add per-task state to RCU CPU stall warnings (Waiman Long) [1941211] - sched/core: Add function to sample state of locked-down task (Waiman Long) [1941211] - rcu-tasks: Add stall warnings for RCU Tasks Trace (Waiman Long) [1941211] - rcutorture: Add torture tests for RCU Tasks Trace (Waiman Long) [1941211] - rcu-tasks: Add an RCU Tasks Trace to simplify protection of tracing hooks (Waiman Long) [1941211] - rcutorture: Add a test for synchronize_rcu_mult() (Waiman Long) [1941211] - rcu: Reinstate synchronize_rcu_mult() (Waiman Long) [1941211] - rcu-tasks: Code movement to allow more Tasks RCU variants (Waiman Long) [1941211] - rcu: Fix the (t=0 jiffies) false positive (Waiman Long) [1941211] - rcu-tasks: Further refactor RCU-tasks to allow adding more variants (Waiman Long) [1941211] - rcu-tasks: Use unique names for RCU-Tasks kthreads and messages (Waiman Long) [1941211] - rcutorture: Add torture tests for RCU Tasks Rude (Waiman Long) [1941211] - rcu-tasks: Add an RCU-tasks rude variant (Waiman Long) [1941211] - rcu-tasks: Refactor RCU-tasks to allow variants to be added (Waiman Long) [1941211] - rcu-tasks: Create struct to hold state information (Waiman Long) [1941211] - rcu-tasks: Move Tasks RCU to its own file (Waiman Long) [1941211] - locktorture.c: Fix if-statement empty body warnings (Waiman Long) [1941211] - rcu: Expedite first two FQS scans under callback-overload conditions (Waiman Long) [1941211] - rcu: Mark rcu_state.gp_seq to detect concurrent writes (Waiman Long) [1941211] - rcutorture: Mark data-race potential for rcu_barrier() test statistics (Waiman Long) [1941211] - rcu: Don't use negative nesting depth in __rcu_read_unlock() (Waiman Long) [1941211] - rcu: Remove unused ->rcu_read_unlock_special.b.deferred_qs field (Waiman Long) [1941211] - rcu: Don't set nesting depth negative in rcu_preempt_deferred_qs() (Waiman Long) [1941211] - rcu: Make rcu_read_unlock_special() safe for rq/pi locks (Waiman Long) [1941211] - rcutorture: Make kvm-recheck-rcu.sh handle truncated lines (Waiman Long) [1941211] - rcu: Make RCU IRQ enter/exit functions rely on in_nmi() (Waiman Long) [1941211] - rcu/tree: Mark the idle relevant functions noinstr (Waiman Long) [1941211] - rcu: Add comments marking transitions between RCU watching and not (Waiman Long) [1941211] - rcu: Update __call_rcu() comments (Waiman Long) [1941211] - rcu: Mark rcu_state.ncpus to detect concurrent writes (Waiman Long) [1941211] - rcu: Use data_race() for RCU CPU stall-warning prints (Waiman Long) [1941211] - rcutorture: Manually clean up after rcu_barrier() failure (Waiman Long) [1941211] - rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU (Waiman Long) [1941211] - rcu: Make nocb_gp_wait() double-check unexpected-callback warning (Waiman Long) [1941211] - rcu: Tighten rcu_lockdep_assert_cblist_protected() check (Waiman Long) [1941211] - rcu: Optimize and protect atomic_cmpxchg() loop (Waiman Long) [1941211] - rcu/nocb: Add missing annotation for rcu_nocb_bypass_unlock() (Waiman Long) [1941211] - rcu: Don't flag non-starting GPs before GP kthread is running (Waiman Long) [1941211] - rcu: Fix rcu_barrier_callback() race condition (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_state ->gp_start (Waiman Long) [1941211] - rcu: Add missing annotation for rcu_nocb_bypass_lock() (Waiman Long) [1941211] - rcu: Add missing annotation for exit_tasks_rcu_finish() (Waiman Long) [1941211] - rcu: Add missing annotation for exit_tasks_rcu_start() (Waiman Long) [1941211] - rculist: Add brackets around cond argument in __list_check_rcu macro (Waiman Long) [1941211] - rcu: Remove dead code from rcu_segcblist_insert_pend_cbs() (Waiman Long) [1941211] - rcutorture: Annotation lockless accesses to rcu_torture_current (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_data ->gpwrap (Waiman Long) [1941211] - rcu-tasks: *_ONCE() for rcu_tasks_cbs_head (Waiman Long) [1941211] - rcu: Add *_ONCE() for grace-period progress indicators (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->boost_tasks (Waiman Long) [1941211] - srcu: Add data_race() to ->srcu_lock_count and ->srcu_unlock_count arrays (Waiman Long) [1941211] - rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_segcblist ->tails[] (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->qsmaskinitnext (Waiman Long) [1941211] - rcu: Add READ_ONCE and data_race() to rcu_node ->boost_tasks (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_state ->gp_req_activity (Waiman Long) [1941211] - rcu: Add READ_ONCE() to rcu_node ->gp_seq (Waiman Long) [1941211] - rcu: Add *_ONCE() and data_race() to rcu_node ->exp_tasks plus locking (Waiman Long) [1941211] - rcu: Add *_ONCE() to rcu_node ->boost_kthread_status (Waiman Long) [1941211] - rcu: Add WRITE_ONCE to rcu_node ->exp_seq_rq store (Waiman Long) [1941211] - srcu: Hold srcu_struct ->lock when updating ->srcu_gp_seq (Waiman Long) [1941211] - rcu: Add WRITE_ONCE() to rcu_node ->qsmask update (Waiman Long) [1941211] - rcu: Provide debug symbols and line numbers in KCSAN runs (Waiman Long) [1941211] - rcu: Fix exp_funnel_lock()/rcu_exp_wait_wake() datarace (Waiman Long) [1941211] - srcu: Fix process_srcu()/srcu_batches_completed() datarace (Waiman Long) [1941211] - srcu: Fix __call_srcu()/srcu_get_delay() datarace (Waiman Long) [1941211] - srcu: Fix __call_srcu()/process_srcu() datarace (Waiman Long) [1941211] - rcutorture: Fix stray access to rcu_fwd_cb_nodelay (Waiman Long) [1941211] - rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race (Waiman Long) [1941211] - rcutorture: Make kvm-find-errors.sh abort on bad directory (Waiman Long) [1941211] - rcutorture: Summarize summary of build and run results (Waiman Long) [1941211] - rcutorture: Add 100-CPU configuration (Waiman Long) [1941211] - rcu: Warn on for_each_leaf_node_cpu_mask() from non-leaf (Waiman Long) [1941211] - rcu: Fix spelling mistake "leval" -> "level" (Waiman Long) [1941211] - torture: Allow disabling of boottime CPU-hotplug torture operations (Waiman Long) [1941211] - rcutorture: Suppress boottime bad-sequence warnings (Waiman Long) [1941211] - rcutorture: Allow boottime stall warnings to be suppressed (Waiman Long) [1941211] - torture: Forgive -EBUSY from boottime CPU-hotplug operations (Waiman Long) [1941211] - rcutorture: Refrain from callback flooding during boot (Waiman Long) [1941211] - torture: Make results-directory date format completion-friendly (Waiman Long) [1941211] - rcutorture: Suppress forward-progress complaints during early boot (Waiman Long) [1941211] - timer: Use hlist_unhashed_lockless() in timer_pending() (Waiman Long) [1941211] - rcu: React to callback overload by boosting RCU readers (Waiman Long) [1941211] - rcu: React to callback overload by aggressively seeking quiescent states (Waiman Long) [1941211] - rcu: Add and update docbook header comments in list.h (Waiman Long) [1941211] - list: Add hlist_unhashed_lockless() (Waiman Long) [1941211] - list: Don't use WRITE_ONCE() in hlist_add_behind() (Waiman Long) [1941211] - kcsan: Introduce ASSERT_EXCLUSIVE_BITS(var, mask) (Waiman Long) [1941211] - kcsan: Add kcsan_set_access_mask() support (Waiman Long) [1941211] - kcsan: Introduce kcsan_value_change type (Waiman Long) [1941211] - kcsan: Move interfaces that affects checks to kcsan-checks.h (Waiman Long) [1941211] - kcsan: Fix misreporting if concurrent races on same address (Waiman Long) [1941211] - kcsan: Expose core configuration parameters as module params (Waiman Long) [1941211] - kcsan: Add test to generate conflicts via debugfs (Waiman Long) [1941211] - kcsan: Introduce ASSERT_EXCLUSIVE_*() macros (Waiman Long) [1941211] - kcsan: Introduce KCSAN_ACCESS_ASSERT access type (Waiman Long) [1941211] - kcsan: Fix 0-sized checks (Waiman Long) [1941211] - kcsan: Clean up the main KCSAN Kconfig option (Waiman Long) [1941211] - kcsan: Clarify Kconfig option KCSAN_IGNORE_ATOMICS (Waiman Long) [1941211] - kcsan: Add option to assume plain aligned writes up to word size are atomic (Waiman Long) [1941211] - kcsan: Add docbook header for data_race() (Waiman Long) [1941211] - kcsan: Address missing case with KCSAN_REPORT_VALUE_CHANGE_ONLY (Waiman Long) [1941211] - include/linux: Add instrumented.h infrastructure (Waiman Long) [1941211] - kcsan: Make KCSAN compatible with lockdep (Waiman Long) [1941211] - kcsan: Rate-limit reporting per data races (Waiman Long) [1941211] - kcsan: Show full access type in report (Waiman Long) [1941211] - kcsan: Prefer __always_inline for fast-path (Waiman Long) [1941211] - kcsan: Improve various small stylistic details (Waiman Long) [1941211] - x86, kcsan: Enable KCSAN for x86 (Waiman Long) [1941211] - build, kcsan: Add KCSAN build exceptions (Waiman Long) [1941211] - x86/uaccess, kcov: Disable stack protector (Waiman Long) [1941211] - doc: Convert to rcubarrier.txt to ReST (Waiman Long) [1941211] - doc: Convert to rcu_dereference.txt to rcu_dereference.rst (Waiman Long) [1941211] - doc: Convert whatisRCU.txt to .rst (Waiman Long) [1941211] - doc: Converted NMI-RCU.txt to NMI-RCU.rst. (Waiman Long) [1941211] - doc: Convert arrayRCU.txt to arrayRCU.rst (Waiman Long) [1941211] - doc: Update list_for_each_entry_rcu() documentation (Waiman Long) [1941211] - Restore docs "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()" (Waiman Long) [1941211] - Restore docs "treewide: Rename rcu_dereference_raw_notrace() to _check()" (Waiman Long) [1941211] - docs: rcu: Increase toctree to 3 (Waiman Long) [1941211] - docs: rcu: Correct links referring to titles (Waiman Long) [1941211] - docs: rcu: convert some articles from html to ReST (Waiman Long) [1941211] - Revert docs from "rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock()" (Waiman Long) [1941211] - Documentation: RCU: Add TOC tree hooks (Waiman Long) [1941211] - doc: Describe choice of rcu_dereference() APIs and __rcu usage (Waiman Long) [1941211] - doc: Remove obsolete RCU update functions from RCU documentation (Waiman Long) [1941211] - scsi: ibmvfc: Free channel_setup_buf during device tear down (Steve Best) [1938102] - blk-mq: clearing flush request reference in tags->rqs[] (Ming Lei) [1811030] - blk-mq: clear stale request in tags->rq[] before freeing one request pool (Ming Lei) [1811030] - blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter (Ming Lei) [1811030] - vsock/vmci: log once the failed queue pair allocation (Stefano Garzarella) [1958248] - VMCI: Stop log spew when qp allocation isn't possible (Stefano Garzarella) [1958248] - vsock/virtio: update credit only if socket is not closed (Stefano Garzarella) [1921694] - powerpc/security: Fix debugfs data leak on 32-bit (Steve Best) [1935661] - powerpc/security: Show powerpc_security_features in debugfs (Steve Best) [1935661] - redhat/configs: Add CONFIG_SYSTEM_REVOCATION_KEYS and CONFIG_SYSTEM_REVOCATION_LIST (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: add 'x509_revocation_list' to gitignore (Vladis Dronov) [1893793] {CVE-2020-26541} - integrity: Load mokx variables into the blacklist keyring (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Add ability to preload revocation certs (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Move load_system_certificate_list to a common function (Vladis Dronov) [1893793] {CVE-2020-26541} - certs: Add EFI_CERT_X509_GUID support for dbx entries (Vladis Dronov) [1893793] {CVE-2020-26541} - pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled (Benjamin Coddington) [1949575] - net/sunrpc: fix useless comparison in proc_do_xprt() (Benjamin Coddington) [1949575] - net/sunrpc: return 0 on attempt to write to "transports" (Benjamin Coddington) [1949575] - NFSD: MKNOD should return NFSERR_BADTYPE instead of NFSERR_INVAL (Benjamin Coddington) [1949575] - NFSD: NFSv3 PATHCONF Reply is improperly formed (Benjamin Coddington) [1949575] - nfsroot: Default mount option should ask for built-in NFS version (Benjamin Coddington) [1949575] - nfsd: remove unneeded break (Benjamin Coddington) [1949575] - net/sunrpc: Fix return value for sysctl sunrpc.transports (Benjamin Coddington) [1949575] - NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag (Benjamin Coddington) [1949575] - NFSv4: Fix up RCU annotations for struct nfs_netns_client (Benjamin Coddington) [1949575] - NFS: Only reference user namespace from nfs4idmap struct instead of cred (Benjamin Coddington) [1949575] - NFSD: Hoist status code encoding into XDR encoder functions (Benjamin Coddington) [1949575] - NFSv4: Use the net namespace uniquifier if it is set (Benjamin Coddington) [1949575] - NFSv4: Clean up initialisation of uniquified client id strings (Benjamin Coddington) [1949575] - SUNRPC: Add an xdr_align_data() function (Benjamin Coddington) [1949575] - SUNRPC: Add the ability to expand holes in data pages (Benjamin Coddington) [1949575] - SUNRPC: Split out _shift_data_right_tail() (Benjamin Coddington) [1949575] - SUNRPC: Split out xdr_realign_pages() from xdr_align_pages() (Benjamin Coddington) [1949575] - NFS: Use xdr_page_pos() in NFSv4 decode_getacl() (Benjamin Coddington) [1949575] - SUNRPC: Implement a xdr_page_pos() function (Benjamin Coddington) [1949575] - NFS: fix nfs_path in case of a rename retry (Benjamin Coddington) [1949575] - NFSD: Map nfserr_wrongsec outside of nfsd_dispatch (Benjamin Coddington) [1949575] - NFSD: Remove the RETURN_STATUS() macro (Benjamin Coddington) [1949575] - NFSD: Call NFSv2 encoders on error returns (Benjamin Coddington) [1949575] - NFSD: Fix .pc_release method for NFSv2 (Benjamin Coddington) [1949575] - NFSD: Remove vestigial typedefs (Benjamin Coddington) [1949575] - NFSD: Refactor nfsd_dispatch() error paths (Benjamin Coddington) [1949575] - NFSD: Clean up nfsd_dispatch() variables (Benjamin Coddington) [1949575] - NFSD: Clean up stale comments in nfsd_dispatch() (Benjamin Coddington) [1949575] - NFSD: Clean up switch statement in nfsd_dispatch() (Benjamin Coddington) [1949575] - NFSD: Encoder and decoder functions are always present (Benjamin Coddington) [1949575] - NFSACL: Replace PROC() macro with open code (Benjamin Coddington) [1949575] - lockd: Replace PROC() macro with open code (Benjamin Coddington) [1949575] - NFSD: Add missing NFSv2 .pc_func methods (Benjamin Coddington) [1949575] - fs: nfs: return per memcg count for xattr shrinkers (Benjamin Coddington) [1949575] - nfs: remove incorrect fallthrough label (Benjamin Coddington) [1949575] - nfsd: rq_lease_breaker cleanup (Benjamin Coddington) [1949575] - sunrpc: simplify do_cache_clean (Benjamin Coddington) [1949575] - sunrpc: cache : Replace seq_printf with seq_puts (Benjamin Coddington) [1949575] - silence nfscache allocation warnings with kvzalloc (Benjamin Coddington) [1949575] - nfsd: fix comparison to bool warning (Benjamin Coddington) [1949575] - NFSD: Correct type annotations in user xattr XDR functions (Benjamin Coddington) [1949575] - NFSD: Correct type annotations in user xattr helpers (Benjamin Coddington) [1949575] - SUNRPC/NFSD: Implement xdr_reserve_space_vec() (Benjamin Coddington) [1949575] - nfsd: rename delegation related tracepoints to make them less confusing (Benjamin Coddington) [1949575] - nfsd: Remove unnecessary assignment in nfs4xdr.c (Benjamin Coddington) [1949575] - net: sunrpc: delete repeated words (Benjamin Coddington) [1949575] - nfsd: Fix typo in comment (Benjamin Coddington) [1949575] - nfsd: give up callbacks on revoked delegations (Benjamin Coddington) [1949575] - nfs: fix spellint typo in pnfs.c (Benjamin Coddington) [1949575] - fs,nfs: lift compat nfs4 mount data handling into the nfs code (Benjamin Coddington) [1949575] - nfs: simplify nfs4_parse_monolithic (Benjamin Coddington) [1949575] - xprtrdma: drop double zeroing (Benjamin Coddington) [1949575] - NFSv4.2: xattr cache: remove unused cache struct field (Benjamin Coddington) [1949575] - nfs: Convert to use the preferred fallthrough macro (Benjamin Coddington) [1949575] - NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source (Benjamin Coddington) [1949575] - Replace HTTP links with HTTPS ones: NFS, SUNRPC, and LOCKD clients (Benjamin Coddington) [1949575] - sunrpc: fix duplicated word in (Benjamin Coddington) [1949575] - SUNRPC: Remove remaining dprintks from sched.c (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call sites in RPC queuing functions (Benjamin Coddington) [1949575] - SUNRPC: Clean up RPC scheduler tracepoints (Benjamin Coddington) [1949575] - SUNRPC: Replace rpcbind dprintk call sites with tracepoints (Benjamin Coddington) [1949575] - SUNRPC: Remove more dprintks in rpcb_clnt.c (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call sites in rpcbind XDR functions (Benjamin Coddington) [1949575] - SUNRPC: Hoist trace_xprtrdma_op_setport into generic code (Benjamin Coddington) [1949575] - SUNRPC: Remove rpcb_getport_async dprintk call sites (Benjamin Coddington) [1949575] - SUNRPC: Clean up call_bind_status() observability (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call site in call_decode (Benjamin Coddington) [1949575] - SUNRPC: Trace call_refresh events (Benjamin Coddington) [1949575] - SUNRPC: Add trace_rpc_timeout_status() (Benjamin Coddington) [1949575] - SUNRPC: Mitigate cond_resched() in xprt_transmit() (Benjamin Coddington) [1949575] - SUNRPC: Replace connect dprintk call sites with a tracepoint (Benjamin Coddington) [1949575] - SUNRPC: Remove dprintk call site in call_start() (Benjamin Coddington) [1949575] - SUNRPC: Remove the dprint_status() macro (Benjamin Coddington) [1949575] - SUNRPC: Replace dprintk() call site in xs_nospace() (Benjamin Coddington) [1949575] - SUNRPC: Replace dprintk() call site in xprt_prepare_transmit (Benjamin Coddington) [1949575] - SUNRPC: Update debugging instrumentation in xprt_do_reserve() (Benjamin Coddington) [1949575] - SUNRPC: Remove debugging instrumentation from xprt_release (Benjamin Coddington) [1949575] - SUNRPC: Hoist trace_xprtrdma_op_allocate into generic code (Benjamin Coddington) [1949575] - SUNRPC: Remove trace_xprt_complete_rqst() (Benjamin Coddington) [1949575] - SUNRPC dont update timeout value on connection reset (Benjamin Coddington) [1949575] - nfs4: strengthen error check to avoid unexpected result (Benjamin Coddington) [1949575] - NFS: remove redundant pointer clnt (Benjamin Coddington) [1949575] - sunrpc: Avoid comma separated statements (Benjamin Coddington) [1949575]- Revert "sctp: Fix SHUTDOWN CTSN Ack in the peer restart case" (Xin Long) [1953839] - sctp: do asoc update earlier in sctp_sf_do_dupcook_b (Xin Long) [1953839] - sctp: do asoc update earlier in sctp_sf_do_dupcook_a (Xin Long) [1953839] - NFSv4: Fixes for nfs4_bitmask_adjust() (Steve Dickson) [1926961] - powerpc/paravirt: Use is_kvm_guest() in vcpu_is_preempted() (Desnes A. Nunes do Rosario) [1918720] - powerpc: Reintroduce is_kvm_guest() as a fast-path check (Desnes A. Nunes do Rosario) [1918720] - powerpc: Rename is_kvm_guest() to check_kvm_guest() (Desnes A. Nunes do Rosario) [1918720] - powerpc: Refactor is_kvm_guest() declaration to new header (Desnes A. Nunes do Rosario) [1918720] - powerpc/pseries: Move some PAPR paravirt functions to their own file (Desnes A. Nunes do Rosario) [1918720] - powerpc/shared: Use static key to detect shared processor (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Fix oops in __spin_yield() on bare metal (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Rename SPLPAR-only spinlocks (Desnes A. Nunes do Rosario) [1918720] - powerpc/spinlocks: Refactor SHARED_PROCESSOR (Desnes A. Nunes do Rosario) [1918720] - Revert "ACPICA: Interpreter: fix memory leak by using existing buffer" (Mark Langsdorf) [1935928] - x86/efi: Remove EFI PGD build time checks (Mark Langsdorf) [1935928] - ACPI: scan: Fix battery devices sometimes never binding (Mark Langsdorf) [1935928] - ACPI/IORT: Do not blindly trust DMA masks from firmware (Mark Langsdorf) [1935928] - ACPI: thermal: Do not call acpi_thermal_check() directly (Mark Langsdorf) [1935928] - ACPI: sysfs: Prefer "compatible" modalias (Mark Langsdorf) [1935928] - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error (Mark Langsdorf) [1935928] - ACPI: scan: Harden acpi_device_add() against device ID overflows (Mark Langsdorf) [1935928] - ACPI: Update Kconfig help text for items that are no longer modular (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Drop unused local variables and related code (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Move x86-specific code to the x86 directory (Mark Langsdorf) [1935928] - ACPI: scan: Add Intel Baytrail Mailbox Device to acpi_ignore_dep_ids (Mark Langsdorf) [1935928] - ACPI: scan: Avoid unnecessary second pass in acpi_bus_scan() (Mark Langsdorf) [1935928] - ACPI: scan: Defer enumeration of devices with _DEP lists (Mark Langsdorf) [1935928] - ACPI: scan: Evaluate _DEP before adding the device (Mark Langsdorf) [1935928] - ACPI: PM: s2idle: Add AMD support to handle _DSM (Mark Langsdorf) [1935928] - ACPI: processor: fix NONE coordination for domain mapping failure (Mark Langsdorf) [1935928] - cpufreq: Fix cpufreq_online() return value on errors (Mark Langsdorf) [1935928] - opp: of: Allow empty opp-table with opp-shared (Mark Langsdorf) [1935928] - dt-bindings: opp: Allow empty OPP tables (Mark Langsdorf) [1935928] - ACPI: Drop acpi_dev_irqresource_disabled() (Mark Langsdorf) [1935928] - resource: Add irqresource_disabled() (Mark Langsdorf) [1935928] - genirq/affinity: Add irq_update_affinity_desc() (Mark Langsdorf) [1935928] - driver core: Add fwnode_init() (Mark Langsdorf) [1935928] - ACPI: scan: Fix up _DEP-related terminology with supplier/consumer (Mark Langsdorf) [1935928] - ACPI: scan: Drop INT3396 from acpi_ignore_dep_ids[] (Mark Langsdorf) [1935928] - Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks" (Mark Langsdorf) [1935928] - ACPI: scan: Add PNP0D80 to the _DEP exceptions list (Mark Langsdorf) [1935928] - PM: ACPI: Refresh wakeup device power configuration every time (Mark Langsdorf) [1935928] - PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() (Mark Langsdorf) [1935928] - ACPI: scan: Call acpi_get_object_info() from acpi_add_single_object() (Mark Langsdorf) [1935928] - ACPI: scan: Add acpi_info_matches_hids() helper (Mark Langsdorf) [1935928] - ACPICA: Update version to 20201113 (Mark Langsdorf) [1935928] - ACPICA: Interpreter: fix memory leak by using existing buffer (Mark Langsdorf) [1935928] - ACPICA: Add function trace macros to improve debugging (Mark Langsdorf) [1935928] - ACPICA: Also handle "orphan" _REG methods for GPIO OpRegions (Mark Langsdorf) [1935928] - ACPICA: Remove extreaneous "the" in comments (Mark Langsdorf) [1935928] - ACPICA: Add 5 new UUIDs to the known UUID table (Mark Langsdorf) [1935928] - ACPI: processor: Drop duplicate setting of shared_cpu_map (Mark Langsdorf) [1935928] - ACPI: EC: Clean up status flags checks in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Untangle error handling in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Simplify error handling in advance_transaction() (Mark Langsdorf) [1935928] - ACPI: EC: Rename acpi_ec_is_gpe_raised() (Mark Langsdorf) [1935928] - ACPI: EC: Fold acpi_ec_clear_gpe() into its caller (Mark Langsdorf) [1935928] - ACPI: EC: Eliminate in_interrupt() usage (Mark Langsdorf) [1935928] - ACPI: acpi_drivers.h: Update the kernel doc (Mark Langsdorf) [1935928] - ACPI: acpi_drivers.h: Remove the leftover dead code (Mark Langsdorf) [1935928] - ACPI: tiny-power-button: Simplify the code using module_acpi_driver() (Mark Langsdorf) [1935928] - ACPI: SBS: Simplify the code using module_acpi_driver() (Mark Langsdorf) [1935928] - ACPI: SBS: Simplify the driver init code (Mark Langsdorf) [1935928] - ACPI: debug: Remove the not used function (Mark Langsdorf) [1935928] - ACPI: processor: Remove the duplicated ACPI_PROCESSOR_CLASS macro (Mark Langsdorf) [1935928] - ACPI: watchdog: Replace open coded variant of resource_union() (Mark Langsdorf) [1935928] - PCI/ACPI: Replace open coded variant of resource_union() (Mark Langsdorf) [1935928] - resource: Introduce resource_union() for overlapping resources (Mark Langsdorf) [1935928] - resource: Group resource_overlaps() with other inline helpers (Mark Langsdorf) [1935928] - resource: Simplify region_intersects() by reducing conditionals (Mark Langsdorf) [1935928] - ACPI, APEI: make apei_resources_all static (Mark Langsdorf) [1935928] - mm/mmu_notifier: allocate mmu_notifier_rh in __mmu_notifier_register() (Jeremy Cline) [1909072]- Amends commit ea6244cc248b to include a version string in module info. (Ken Cox) [1955726] - i40e: use minimal admin queue for kdump (Stefan Assmann) [1834962] - i40e: use minimal Rx and Tx ring buffers for kdump (Stefan Assmann) [1834962] - i40e: use minimal Tx and Rx pairs for kdump (Stefan Assmann) [1834962] - net/sched: sch_frag: fix stack OOB read while fragmenting IPv4 packets (Davide Caratti) [1924608] - openvswitch: fix stack OOB read while fragmenting IPv4 packets (Davide Caratti) [1924608] - net/sched: act_ct: fix wild memory access when clearing fragments (Davide Caratti) [1924608] - selinux: fall back to SECURITY_FS_USE_GENFS if no xattr support (Ondrej Mosnacek) [1934093 1915825] - selinux: mark some global variables __ro_after_init (Ondrej Mosnacek) [1934093] - selinux: make selinuxfs_mount static (Ondrej Mosnacek) [1934093] - selinux: drop the unnecessary aurule_callback variable (Ondrej Mosnacek) [1934093] - selinux: remove unused global variables (Ondrej Mosnacek) [1934093] - selinux: fix inconsistency between inode_getxattr and inode_listsecurity (Ondrej Mosnacek) [1934093] - selinux: Fix fall-through warnings for Clang (Ondrej Mosnacek) [1934093] - selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling (Ondrej Mosnacek) [1934093] - selinux: allow dontauditx and auditallowx rules to take effect without allowx (Ondrej Mosnacek) [1934093] - selinux: fix error initialization in inode_doinit_with_dentry() (Ondrej Mosnacek) [1934093] - selinux: Fix error return code in sel_ib_pkey_sid_slow() (Ondrej Mosnacek) [1934093] - selinux: access policycaps with READ_ONCE/WRITE_ONCE (Ondrej Mosnacek) [1934093] - selinux: delete repeated words in comments (Ondrej Mosnacek) [1934093] - selinux: add basic filtering for audit trace events (Ondrej Mosnacek) [1934093 1954024] - selinux: add tracepoint on audited events (Ondrej Mosnacek) [1934093 1954024] - selinux: permit removing security.selinux xattr before policy load (Ondrej Mosnacek) [1934093] - exec: Always set cap_ambient in cap_bprm_set_creds (Ondrej Mosnacek) [1934093] - security: remove duplicated include from security.h (Ondrej Mosnacek) [1934093] - security/commoncap: Use xattr security prefix len (Ondrej Mosnacek) [1934093] - LSM: switch to blocking policy update notifiers (Ondrej Mosnacek) [1934093] - security: Make capability_hooks static (Ondrej Mosnacek) [1934093] - securityfs: fix use-after-free on symlink traversal (Ondrej Mosnacek) [1934093] - LSM: Check for NULL cred-security on free (Ondrej Mosnacek) [1934093] - security: check for kstrdup() failure in lsm_append() (Ondrej Mosnacek) [1934093] - scsi: mpt3sas: Block PCI config access from userspace during reset (Tomas Henzl) [1954555] - scsi: mpt3sas: Fix endianness for ActiveCablePowerRequirement (Tomas Henzl) [1954555] - scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() (Tomas Henzl) [1954555] - scsi: mpt3sas: Do not use GFP_KERNEL in atomic context (Tomas Henzl) [1954555] - scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES (Tomas Henzl) [1953421] - scsi: bnx2i: Make bnx2i_process_iscsi_error() simpler and more robust (Nilesh Javali) [1921612] - scsi: bnx2i: Fix bnx2i_set_ccell_info()'s name in description (Nilesh Javali) [1921612] - scsi: bnx2i: Requires MMU (Nilesh Javali) [1921612] - scsi: bnx2i: Remove unnecessary mutex_init() (Nilesh Javali) [1921612] - scsi: bnx2i: Add parameter description and rename another (Nilesh Javali) [1921612] - scsi: bnx2i: Add, remove and edit some function parameter descriptions (Nilesh Javali) [1921612] - scsi: bnx2i: Fix a whole host of kerneldoc issues (Nilesh Javali) [1921612] - scsi: bnx2i: Add missing descriptions for 'attr' parameter (Nilesh Javali) [1921612] - scsi: bnx2i: Fix parameter misnaming in function header (Nilesh Javali) [1921612] - mfd: intel-lpss: Add Intel Alder Lake PCH-P PCI IDs (Steve Best) [1929489] - lib: list_sort.c: add a blank line to avoid kernel-doc warnings (Rafael Aquini) [1900774] - lib/list_sort: fix kerneldoc build error (Rafael Aquini) [1900774] - lib/list_sort: optimize number of calls to comparison function (Rafael Aquini) [1900774] - lib/list_sort: simplify and remove MAX_LIST_LENGTH_BITS (Rafael Aquini) [1900774] - perf bench numa: Fix the condition checks for max number of NUMA nodes (Steve Best) [1936333] - powerpc/perf: Record counter overflow always if SAMPLE_IP is unset (Gustavo Walbon) [1921684] - perf powerpc: Support exposing Performance Monitor Counter SPRs as part of extended regs (Gustavo Walbon) [1921684] - powerpc/perf: Expose Performance Monitor Counter SPR's as part of extended regs (Gustavo Walbon) [1921684] - powerpc/perf: Include PMCs as part of per-cpu cpuhw_events struct (Gustavo Walbon) [1921684] - powerpc/perf: Adds support for programming of Thresholding in P10 (Gustavo Walbon) [1921684] - x86/entry/64: Deduplicate multiple IBRS macros in paranoid_entry (Waiman Long) [1924364] - x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb (Waiman Long) [1924364] - x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP (Waiman Long) [1924364] - x86/bugs/multihit: Fix mitigation reporting when VMX is not in use (Waiman Long) [1924364] - x86/speculation: Merge one test in spectre_v2_user_select_mitigation() (Waiman Long) [1924364] - x86/bugs: Move enum taa_mitigations to bugs.c (Waiman Long) [1924364] - mm/memcg: set memcg when splitting page (Waiman Long) [1937825] - mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg and add nr_pages argument (Waiman Long) [1937825] - mm, tracing: Fix kmem_cache_free trace event to not print stale pointers (Waiman Long) [1937825] - mm: memcontrol: fix get_active_memcg return value (Waiman Long) [1937825] - fs: buffer: use raw page_memcg() on locked page (Waiman Long) [1937825] - mm/list_lru.c: remove kvfree_rcu_local() (Waiman Long) [1937825] - mm: memcontrol: replace the loop with a list_for_each_entry() (Waiman Long) [1937825] - mm/memcontrol: remove redundant NULL check (Waiman Long) [1937825] - mm: page_counter: re-layout structure to reduce false sharing (Waiman Long) [1937825] - mm: kmem: make __memcg_kmem_(un)charge static (Waiman Long) [1937825] - mm: memcg: add swapcache stat for memcg v2 (Waiman Long) [1937825] - mm/memcg: remove rcu locking for lock_page_lruvec function series (Waiman Long) [1937825] - mm/memcg: revise the using condition of lock_page_lruvec function series (Waiman Long) [1937825] - mm: memcontrol: make the slab calculation consistent (Waiman Long) [1937825] - mm: memcontrol: convert NR_FILE_PMDMAPPED account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_SHMEM_PMDMAPPED account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_SHMEM_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_FILE_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: convert NR_ANON_THPS account to pages (Waiman Long) [1937825] - mm: memcontrol: optimize per-lruvec stats counter memory usage (Waiman Long) [1937825] - mm: memcg/slab: pre-allocate obj_cgroups for slab caches with SLAB_ACCOUNT (Waiman Long) [1937825] - mm/slub: minor coding style tweaks (Waiman Long) [1937825] - mm, slub: remove slub_memcg_sysfs boot param and CONFIG_SLUB_MEMCG_SYSFS_ON (Waiman Long) [1937825] - mm, slub: splice cpu and page freelists in deactivate_slab() (Waiman Long) [1937825] - mm, slab, slub: stop taking cpu hotplug lock (Waiman Long) [1937825] - mm, slab, slub: stop taking memory hotplug lock (Waiman Long) [1937825] - mm, slub: stop freeing kmem_cache_node structures on node offline (Waiman Long) [1937825] - mm/slub: disable user tracing for kmemleak caches by default (Waiman Long) [1937825] - mm/slab: minor coding style tweaks (Waiman Long) [1937825] - mm/sl?b.c: remove ctor argument from kmem_cache_flags (Waiman Long) [1937825] - mm, tracing: record slab name for kmem_cache_free() (Waiman Long) [1937825] - mm: fix numa stats for thp migration (Waiman Long) [1937825] - mm: memcg: fix memcg file_dirty numa stat (Waiman Long) [1937825] - mm/memcontrol: fix warning in mem_cgroup_page_lruvec() (Waiman Long) [1937825] - mm: slub: call account_slab_page() after slab page initialization (Waiman Long) [1937825] - mm/hugetlb: fix deadlock in hugetlb_cow error path (Waiman Long) [1937825] - mm/memcontrol:rewrite mem_cgroup_page_lruvec() (Waiman Long) [1937825] - mm/memcg: remove unused definitions (Waiman Long) [1937825] - mm/memcg: warning on !memcg after readahead page charged (Waiman Long) [1937825] - mm/memcg: bail early from swap accounting if memcg disabled (Waiman Long) [1937825] - mm/lru: revise the comments of lru_lock (Waiman Long) [1937825] - mm/lru: introduce relock_page_lruvec() (Waiman Long) [1937825] - mm/lru: replace pgdat lru_lock with lruvec lock (Waiman Long) [1937825] - mm/lru: move lock into lru_note_cost (Waiman Long) [1937825] - mm/swap.c: serialize memcg changes in pagevec_lru_move_fn (Waiman Long) [1937825] - mm/compaction: do page isolation first in compaction (Waiman Long) [1937825] - mm/lru: introduce TestClearPageLRU() (Waiman Long) [1937825] - mm/mlock: remove __munlock_isolate_lru_page() (Waiman Long) [1937825] - mm/mlock: remove lru_lock on TestClearPageMlocked (Waiman Long) [1937825] - mm/vmscan: remove lruvec reget in move_pages_to_lru (Waiman Long) [1937825] - mm/swap.c: fold vm event PGROTATED into pagevec_move_tail_fn (Waiman Long) [1937825] - mm/memcg: add debug checking in lock_page_memcg (Waiman Long) [1937825] - mm: page_idle_get_page() does not need lru_lock (Waiman Long) [1937825] - mm/rmap: stop store reordering issue on page->mapping (Waiman Long) [1937825] - mm/vmscan: remove unnecessary lruvec adding (Waiman Long) [1937825] - mm/thp: narrow lru locking (Waiman Long) [1937825] - mm/thp: simplify lru_add_page_tail() (Waiman Long) [1937825] - mm/thp: use head for head page in lru_add_page_tail() (Waiman Long) [1937825] - mm/thp: move lru_add_page_tail() to huge_memory.c (Waiman Long) [1937825] - mm: slub: convert sysfs sprintf family to sysfs_emit/sysfs_emit_at (Waiman Long) [1937825] - mm: truncate_complete_page() does not exist any more (Waiman Long) [1937825] - mm/vmscan: drop unneeded assignment in kswapd() (Waiman Long) [1937825] - mm: memcontrol: account pagetables per node (Waiman Long) [1937825] - mm: move lruvec stats update functions to vmstat.h (Waiman Long) [1937825] - mm/memcg: remove incorrect comment (Waiman Long) [1937825] - mm: memcontrol: sssign boolean values to a bool variable (Waiman Long) [1937825] - mm: memcg/slab: rename *_lruvec_slab_state to *_lruvec_kmem_state (Waiman Long) [1937825] - mm: memcg: remove obsolete memcg_has_children() (Waiman Long) [1937825] - mm/page_counter: use page_counter_read in page_counter_set_max (Waiman Long) [1937825] - cgroup: remove obsoleted broken_hierarchy and warned_broken_hierarchy (Waiman Long) [1937825] - docs: cgroup-v1: reflect the deprecation of the non-hierarchical mode (Waiman Long) [1937825] - mm: memcg: deprecate the non-hierarchical mode (Waiman Long) [1937825] - mm: memcg: fix obsolete code comments (Waiman Long) [1937825] - mm/memcg: update page struct member in comments (Waiman Long) [1937825] - mm/rmap: always do TTU_IGNORE_ACCESS (Waiman Long) [1937825] - mm: memcontrol: eliminate redundant check in __mem_cgroup_insert_exceeded() (Waiman Long) [1937825] - mm: memcontrol: remove unused mod_memcg_obj_state() (Waiman Long) [1937825] - mm: memcontrol: add file_thp, shmem_thp to memory.stat (Waiman Long) [1937825] - mm/gup: combine put_compound_head() and unpin_user_page() (Waiman Long) [1937825] - mm: Convert page kmemcg type to a page memcg flag (Waiman Long) [1937825] - mm: Introduce page memcg flags (Waiman Long) [1937825] - mm: memcontrol/slab: Use helpers to access slab page's memcg_data (Waiman Long) [1937825] - mm: memcontrol: Use helpers to read page's memcg data (Waiman Long) [1937825] - hugetlbfs: fix anon huge page migration race (Waiman Long) [1937825] - mm: memcontrol: fix missing wakeup polling thread (Waiman Long) [1937825] - mm/gup: use unpin_user_pages() in __gup_longterm_locked() (Waiman Long) [1937825] - mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit (Waiman Long) [1937825] - mm/compaction: stop isolation if too many pages are isolated and we have pages to migrate (Waiman Long) [1937825] - mm/compaction: count pages and stop correctly during page isolation (Waiman Long) [1937825] - mm: kmem: enable kernel memcg accounting from interrupt contexts (Waiman Long) [1937825] - mm: kmem: prepare remote memcg charging infra for interrupt contexts (Waiman Long) [1937825] - mm: kmem: remove redundant checks from get_obj_cgroup_from_current() (Waiman Long) [1937825] - mm, memcg: rework remote charging API to support nesting (Waiman Long) [1937825] - mm: use self-explanatory macros rather than "2" (Waiman Long) [1937825] - mm/vmscan: allow arbitrary sized pages to be paged out (Waiman Long) [1937825] - mm/rmap: fix assumptions of THP size (Waiman Long) [1937825] - mm/huge_memory: fix can_split_huge_page assumption of THP size (Waiman Long) [1937825] - mm/huge_memory: fix page_trans_huge_mapcount assumption of THP size (Waiman Long) [1937825] - mm/huge_memory: fix split assumption of page size (Waiman Long) [1937825] - mm/huge_memory: fix total_mapcount assumption of page size (Waiman Long) [1937825] - mm/page_owner: change split_page_owner to take a count (Waiman Long) [1937825] - mm/memory: remove page fault assumption of compound page size (Waiman Long) [1937825] - mm/filemap: fix page cache removal for arbitrary sized THPs (Waiman Long) [1937825] - mm/vmscan: fix comments for isolate_lru_page() (Waiman Long) [1937825] - mm/vmscan: fix infinite loop in drop_slab_node (Waiman Long) [1937825] - mm: move call to compound_head() in release_pages() (Waiman Long) [1937825] - mm: account PMD tables like PTE tables (Waiman Long) [1937825] - mm/memcg: fix device private memcg accounting (Waiman Long) [1937825] - mm: memcontrol: add the missing numa_stat interface for cgroup v2 (Waiman Long) [1937825] - mm: remove activate_page() from unuse_pte() (Waiman Long) [1937825] - bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag (Waiman Long) [1937825] - mm/thp: fix __split_huge_pmd_locked() for migration PMD (Waiman Long) [1937825] - mm: fix check_move_unevictable_pages() on THP (Waiman Long) [1937825] - mm: migration of hugetlbfs page skip memcg (Waiman Long) [1937825] - mm: and drivers core: Convert hugetlb_report_node_meminfo to sysfs_emit (Waiman Long) [1937825] - drivers core: Miscellaneous changes for sysfs_emit (Waiman Long) [1937825] - drivers core: Reindent a couple uses around sysfs_emit (Waiman Long) [1937825] - drivers core: Remove strcat uses around sysfs_emit and neaten (Waiman Long) [1937825] - drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions (Waiman Long) [1937825] - sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output (Waiman Long) [1937825] - mm: fix pin vs. gup mismatch with gate pages (Waiman Long) [1937825] - mm/gup: use a standard migration target allocation callback (Waiman Long) [1937825] - mm/hugetlb: make hugetlb migration callback CMA aware (Waiman Long) [1937825] - mm/gup: restrict CMA region by using allocation scope API (Waiman Long) [1937825] - mm/page_alloc: remove a wrapper for alloc_migration_target() (Waiman Long) [1937825] - mm/mempolicy: use a standard migration target allocation callback (Waiman Long) [1937825] - mm/migrate: introduce a standard migration target allocation function (Waiman Long) [1937825] - mm/migrate: clear __GFP_RECLAIM to make the migration callback consistent with regular THP allocations (Waiman Long) [1937825] - mm/hugetlb: unify migration callbacks (Waiman Long) [1937825] - mm/migrate: move migration helper from .h to .c (Waiman Long) [1937825] - mm/page_isolation: prefer the node of the source page (Waiman Long) [1937825] - hugetlbfs: remove call to huge_pte_alloc without i_mmap_rwsem (Waiman Long) [1937825] - mm, oom: show process exiting information in __oom_kill_process() (Waiman Long) [1937825] - doc, mm: clarify /proc//oom_score value range (Waiman Long) [1937825] - doc, mm: sync up oom_score_adj documentation (Waiman Long) [1937825] - mm, oom: make the calculation of oom badness more accurate (Waiman Long) [1937825] - mm: vmscan: consistent update to pgrefill (Waiman Long) [1937825] - mm/vmscan.c: fix typo (Waiman Long) [1937825] - mm: memcontrol: account kernel stack per node (Waiman Long) [1937825] - mm/hugetlb.c: fix pages per hugetlb calculation (Waiman Long) [1937825] - doc: THP CoW fault no longer allocate THP (Waiman Long) [1937825] - driver core: platform: expose numa_node to users in sysfs (Waiman Long) [1937825] - nilfs2: fix null pointer dereference at nilfs_segctor_do_construct() (Waiman Long) [1937825] - mm, memcg: fix some typos in memcontrol.c (Waiman Long) [1937825] - mm/vmsan: fix some typos in comment (Waiman Long) [1937825] - mm: thp: don't need to drain lru cache when splitting and mlocking THP (Waiman Long) [1937825] - mm/vmscan: update the comment of should_continue_reclaim() (Waiman Long) [1937825] - mm/vmscan.c: change prototype for shrink_page_list (Waiman Long) [1937825] - mm/vmscan: count layzfree pages and fix nr_isolated_* mismatch (Waiman Long) [1937825] - mm/vmscan.c: use update_lru_size() in update_lru_sizes() (Waiman Long) [1937825] - mm: simplify calling a compound page destructor (Waiman Long) [1937825] - mm/page_alloc: integrate classzone_idx and high_zoneidx (Waiman Long) [1937825] - mm/page_alloc: use ac->high_zoneidx for classzone_idx (Waiman Long) [1937825] - mm/page_alloc.c: extract check_[new|free]_page_bad() common part to page_bad_reason() (Waiman Long) [1937825] - mm/page_alloc.c: rename free_pages_check() to check_free_page() (Waiman Long) [1937825] - mm/page_alloc.c: rename free_pages_check_bad() to check_free_page_bad() (Waiman Long) [1937825] - mm/page_alloc.c: bad_flags is not necessary for bad_page() (Waiman Long) [1937825] - mm/page_alloc.c: bad_[reason|flags] is not necessary when PageHWPoison (Waiman Long) [1937825] - scs: Report SCS usage in bytes rather than number of entries (Waiman Long) [1937825] - scs: Move accounting into alloc/free functions (Waiman Long) [1937825] - mm/vmscan: remove unnecessary argument description of isolate_lru_pages() (Waiman Long) [1937825] - scs: Add support for stack usage debugging (Waiman Long) [1937825] - scs: Add page accounting for shadow call stack allocations (Waiman Long) [1937825] - scs: Add support for Clang's Shadow Call Stack (SCS) (Waiman Long) [1937825] - mm/migrate.c: unify "not queued for migration" handling in do_pages_move() (Waiman Long) [1937825] - mm/migrate.c: check pagelist in move_pages_and_store_status() (Waiman Long) [1937825] - mm/migrate.c: wrap do_move_pages_to_node() and store_status() (Waiman Long) [1937825] - mm/migrate.c: no need to check for i > start in do_pages_move() (Waiman Long) [1937825] - mm/hugetlb: remove unnecessary memory fetch in PageHeadHuge() (Waiman Long) [1937825] - hugetlbfs: Use i_mmap_rwsem to address page fault/truncate race (Waiman Long) [1937825] - hugetlbfs: use i_mmap_rwsem for more pmd sharing synchronization (Waiman Long) [1937825] - mm,thp,compaction,cma: allow THP migration for CMA allocations (Waiman Long) [1937825] - mm,compaction,cma: add alloc_contig flag to compact_control (Waiman Long) [1937825] - mm/vmscan.c: do_try_to_free_pages(): clean code by removing unnecessary assignment (Waiman Long) [1937825] - mm/vmscan.c: make may_enter_fs bool in shrink_page_list() (Waiman Long) [1937825] - mm/vmscan.c: fix data races using kswapd_classzone_idx (Waiman Long) [1937825] - mm/vmscan.c: remove cpu online notification for now (Waiman Long) [1937825] - mm: vmscan: replace open codings to NUMA_NO_NODE (Waiman Long) [1937825] - mm: swap: make page_evictable() inline (Waiman Long) [1937825] - mm/swap.c: not necessary to export __pagevec_lru_add() (Waiman Long) [1937825] - mm/gup: fix omission of check on FOLL_LONGTERM in gup fast path (Waiman Long) [1937825] - mm: dump_page(): additional diagnostics for huge pinned pages (Waiman Long) [1937825] - mm: improve dump_page() for compound pages (Waiman Long) [1937825] - selftests/vm: run_vmtests: invoke gup_benchmark with basic FOLL_PIN coverage (Waiman Long) [1937825] - mm/gup_benchmark: support pin_user_pages() and related calls (Waiman Long) [1937825] - mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting (Waiman Long) [1937825] - mm/gup: page->hpage_pinned_refcount: exact pin counts for huge pages (Waiman Long) [1937825] - mm/gup: track FOLL_PIN pages (Waiman Long) [1937825] - mm/gup: pass gup flags to two more routines (Waiman Long) [1937825] - mm: introduce page_ref_sub_return() (Waiman Long) [1937825] - mm/gup: pass a flags arg to __gup_device_* functions (Waiman Long) [1937825] - mm/gup: split get_user_pages_remote() into two routines (Waiman Long) [1937825] - sysfs: fix static inline declaration of sysfs_groups_change_owner() (Waiman Long) [1937825] - drivers/base/cpu: Simplify s*nprintf() usages (Waiman Long) [1937825] - drivers/base/cpu: Use scnprintf() for avoiding potential buffer overflow (Waiman Long) [1937825] - sysfs: add sysfs_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_group{s}_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_link_change_owner() (Waiman Long) [1937825] - sysfs: add sysfs_file_change_owner() (Waiman Long) [1937825] - mm/huge_memory.c: reduce critical section protected by split_queue_lock (Waiman Long) [1937825] - mm/huge_memory.c: use head to emphasize the purpose of page (Waiman Long) [1937825] - mm/huge_memory.c: use head to check huge zero page (Waiman Long) [1937825] - mm/gup: move try_get_compound_head() to top, fix minor issues (Waiman Long) [1937825] - userfaultfd: wrap the common dst_vma check into an inlined function (Waiman Long) [1937825] - userfaultfd: remove unnecessary WARN_ON() in __mcopy_atomic_hugetlb() (Waiman Long) [1937825] - userfaultfd: use vma_pagesize for all huge page size calculation (Waiman Long) [1937825] - mm/hugetlb: avoid looping to the same hugepage if !pages and !vmas (Waiman Long) [1937825] - hugetlb: remove unused hstate in hugetlb_fault_mutex_hash() (Waiman Long) [1937825] - hugetlbfs: convert macros to static inline, fix sparse warning (Waiman Long) [1937825] - hugetlbfs: hugetlb_fault_mutex_hash() cleanup (Waiman Long) [1937825] - mm/gup.c: allow CMA migration to propagate errors back to caller (Waiman Long) [1937825] - mm/gup_benchmark: fix MAP_HUGETLB case (Waiman Long) [1937825] - mm/gup_benchmark: add a missing "w" to getopt string (Waiman Long) [1937825] - mm, page_owner: rename flag indicating that page is allocated (Waiman Long) [1937825] - mm, page_owner: decouple freeing stack trace from debug_pagealloc (Waiman Long) [1937825] - mm, page_owner: fix off-by-one error in __set_page_owner_handle() (Waiman Long) [1937825] - mm/filemap.c: don't initiate writeback if mapping has no dirty pages (Waiman Long) [1937825] - mm, page_owner, debug_pagealloc: save and dump freeing stack trace (Waiman Long) [1937825] - mm, page_owner: keep owner info when freeing the page (Waiman Long) [1937825] - mm, page_owner: record page owner for each subpage (Waiman Long) [1937825] - mm: introduce page_size() (Waiman Long) [1937825] - mm, tracing: Print symbol name for call_site in trace events (Waiman Long) [1937825] - mm/gup.c: mark undo_dev_pagemap as __maybe_unused (Waiman Long) [1937825] - mm, memcg: introduce memory.events.local (Waiman Long) [1937825] - memcg, fsnotify: no oom-kill for remote memcg charging (Waiman Long) [1937825] - mm/swap_state.c: simplify total_swapcache_pages() with get_swap_device() (Waiman Long) [1937825] - mm: make !CONFIG_HUGE_PAGE wrappers into static inlines (Waiman Long) [1937825] - include/linux/hugetlb.h: convert to use vm_fault_t (Waiman Long) [1937825] - mm/page_ext.c: fix an imbalance with kmemleak (Waiman Long) [1937825] - mm/hugetlb: add prot_modify_start/commit sequence for hugetlb update (Waiman Long) [1937825] - iov_iter: optimize page_copy_sane() (Waiman Long) [1937825] - mm: remove __hugepage_set_anon_rmap() (Waiman Long) [1937825] - mm: remove pte_lock_deinit() (Waiman Long) [1937825] - mm/debug.c: make "migrate_reason_names[]" const char * (Waiman Long) [1937825] - vmscan: return NODE_RECLAIM_NOSCAN in node_reclaim() when CONFIG_NUMA is n (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: add MAP_HUGETLB option (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: add MAP_SHARED option (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: allow user specified file (Waiman Long) [1937825] - tools/testing/selftests/vm/gup_benchmark.c: fix 'write' flag usage (Waiman Long) [1937825] - mm/page_ext.c: constify lookup_page_ext() argument (Waiman Long) [1937825] - mm, page_alloc: actually ignore mempolicies for high priority allocations (Waiman Long) [1937825] - thp: use mm_file_counter to determine update which rss counter (Waiman Long) [1937825]- RDMA/cxgb4: Fix the reported max_recv_sge value (Kamal Heib) [1931850 1918264] - RDMA/qedr: Fix kernel panic when trying to access recv_cq (Kamal Heib) [1931850] - RDMA/addr: Be strict with gid size (Kamal Heib) [1931850] - IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS (Kamal Heib) [1931850 1921704 1953593] - RDMA/rxe: Fix errant WARN_ONCE in rxe_completer() (Kamal Heib) [1931850] - RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt() (Kamal Heib) [1931850] - RDMA/rxe: Fix FIXME in rxe_udp_encap_recv() (Kamal Heib) [1931850] - RDMA/rxe: Fix missed IB reference counting in loopback (Kamal Heib) [1931850] - RDMA/uverbs: Fix kernel-doc warning of _uverbs_alloc (Kamal Heib) [1931850] - RDMA/rxe: Fix missing kconfig dependency on CRYPTO (Kamal Heib) [1931850] - RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep (Kamal Heib) [1931850] - RDMA/rxe: Remove unused pkt->offset (Kamal Heib) [1931850] - RDMA/ucma: Fix use-after-free bug in ucma_create_uevent (Kamal Heib) [1931850] - RDMA/core: Fix kernel doc warnings for ib_port_immutable_read() (Kamal Heib) [1931850] - RDMA/ipoib: Remove racy Subnet Manager sendonly join checks (Kamal Heib) [1931850] - RDMA/rxe: Cleanup init_send_wqe (Kamal Heib) [1931850] - RDMA/rxe: Fix minor coding style issues (Kamal Heib) [1931850] - RDMA/rxe: Correct skb on loopback path (Kamal Heib) [1931850] - RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt (Kamal Heib) [1931850] - RDMA/rxe: Remove useless code in rxe_recv.c (Kamal Heib) [1931850] - RDMA/rxe: Fix coding error in rxe_recv.c (Kamal Heib) [1931850] - RDMA/core: Introduce and use API to read port immutable data (Kamal Heib) [1931850] - RDMA/pvrdma: Replace spin_lock_irqsave with spin_lock in hard IRQ (Kamal Heib) [1931850] - IB/core: Use valid port number to check link layer (Kamal Heib) [1931850] - IB/cm: Avoid a loop when device has 255 ports (Kamal Heib) [1931850] - RDMA/efa: Remove unused syndrome enum values (Kamal Heib) [1931850] - RDMA/efa: Remove unused 'select' field from get/set feature command descriptor (Kamal Heib) [1931850] - RDMA/efa: Remove unnecessary indentation in defs comments (Kamal Heib) [1931850] - RDMA/efa: Remove duplication of upper/lower_32_bits (Kamal Heib) [1931850] - RDMA/efa: Remove redundant NULL pointer check of CQE (Kamal Heib) [1931850] - RDMA/hw/hfi1/rc: Demote incorrectly populated kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/verbs: Demote non-conforming doc header and fix a misspelling (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/user_exp_rcv: Demote half-documented and kernel-doc abuses (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/ud: Fix a little more doc-rot (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/uc: Fix a little doc-rot (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/tid_rdma: Fix a plethora of kernel-doc issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/sdma: Fix misnaming of 'sdma_send_txlist()'s 'count_out' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/ruc: Fix a small formatting and description issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/qp: Fix some formatting issues and demote kernel-doc abuse (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/rc: Fix a few function documentation issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/pio_copy: Provide entry for 'pio_copy()'s 'dd' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/pcie: Demote kernel-doc abuses (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/netdev_rx: Fix misdocumentation of the 'start_id' param (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/qp: Fix kernel-doc formatting problem (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mad: Fix misspelling of 'rvt_process_mad()'s 'in_mad_size' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/msix: Add description for 'name' and remove superfluous param 'idx' (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/mad: Demote half-completed kernel-doc header fix another (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/iowait: Demote half-completed kernel-doc and fix formatting issue in another (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/srq: Fix a couple of kernel-doc issues (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/intr: Fix some kernel-doc formatting issues (Kamal Heib) [1931850 1921704] - RDMA/rxe: Replace missing rxe_pool_get_index_locked (Kamal Heib) [1931850] - RDMA/rxe: Remove unneeded pool->state (Kamal Heib) [1931850] - RDMA/rxe: Remove references to ib_device and pool (Kamal Heib) [1931850] - RDMA/rxe: Remove RXE_POOL_ATOMIC (Kamal Heib) [1931850] - RDMA/rxe: Fix misleading comments and names (Kamal Heib) [1931850] - RDMA/rxe: Fix bug in rxe_alloc() (Kamal Heib) [1931850] - IB/umad: Return EPOLLERR in case of when device disassociated (Kamal Heib) [1931850] - IB/umad: Return EIO in case of when device disassociated (Kamal Heib) [1931850] - RDMA/sw/rdmavt/qp: Fix a bunch of kernel-doc misdemeanours (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mr: Fix some issues related to formatting and missing descriptions (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/file_ops: Fix' manage_rcvq()'s 'arg' param (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/exp_rcv: Fix some kernel-doc formatting issues (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mcast: Demote incomplete kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/mad: Fix 'rvt_process_mad()'s documentation header (Kamal Heib) [1931850 1921704] - RDMA/hw/hfi1/chip: Fix a bunch of kernel-doc formatting and spelling issues (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/cq: Demote hardly complete kernel-doc header (Kamal Heib) [1931850 1921704] - RDMA/sw/rdmavt/vt: Fix formatting issue and update description for 'context' (Kamal Heib) [1931850 1921704] - RDMA/hw/efa/efa_com: Stop using param description notation for non-params (Kamal Heib) [1931850] - RDMA/uverbs: Don't set rcq for a QP if qp_type is IB_QPT_XRC_INI (Kamal Heib) [1931850] - RDMA/core/iwpm_msg: Add proper descriptions for 'skb' param (Kamal Heib) [1931850] - RDMA/core/iwpm_util: Fix some param description misspellings (Kamal Heib) [1931850] - RDMA/core/counters: Demote non-conformant kernel-doc headers (Kamal Heib) [1931850] - RDMA/core/restrack: Fix kernel-doc formatting issue (Kamal Heib) [1931850] - RDMA/core/sa_query: Demote non-conformant kernel-doc header (Kamal Heib) [1931850] - RDMA/core/multicast: Provide description for 'ib_init_ah_from_mcmember()'s 'rec' param (Kamal Heib) [1931850] - RDMA/core/roce_gid_mgmt: Fix misnaming of 'rdma_roce_rescan_device()'s param 'ib_dev' (Kamal Heib) [1931850] - RDMA/core/cache: Fix some misspellings, missing and superfluous param descriptions (Kamal Heib) [1931850] - RDMA/core: device: Fix formatting in worthy kernel-doc header and demote another (Kamal Heib) [1931850] - IB/iser: Simplify prot_caps setting (Kamal Heib) [1931850] - IB/iser: Enforce iser_max_sectors to be greater than 0 (Kamal Heib) [1931850] - IB/iser: Protect iscsi_max_lun module param using callback (Kamal Heib) [1931850] - IB/iser: Remove unneeded semicolons (Kamal Heib) [1931850] - IB/isert: Simplify signature cap check (Kamal Heib) [1931850] - IB/isert: Remove unneeded semicolon (Kamal Heib) [1931850] - IB/isert: Remove unneeded new lines (Kamal Heib) [1931850] - RDMA/nldev: Return an error message on failure to turn auto mode (Kamal Heib) [1931850] - RDMA/rxe: Fix race in rxe_mcast.c (Kamal Heib) [1931850] - RDMA/rxe: Add unlocked versions of pool APIs (Kamal Heib) [1931850] - RDMA/rxe: Make add/drop key/index APIs type safe (Kamal Heib) [1931850] - RDMA/rxe: Make pool lookup and alloc APIs type safe (Kamal Heib) [1931850] - RDMA/rxe: Add elem_offset field to rxe_type_info (Kamal Heib) [1931850] - RDMA/rxe: Let pools support both keys and indices (Kamal Heib) [1931850] - RDMA/rxe: Remove unneeded RXE_POOL_ATOMIC flag (Kamal Heib) [1931850] - RDMA/rxe: Add check for supported QP types (Kamal Heib) [1931850] - RDMA: Use kzalloc for allocating only one thing (Kamal Heib) [1931850] - RDMA/cma: Delete useless kfree code (Kamal Heib) [1931850] - RDMA/hfi1: remove h from printk format specifier (Kamal Heib) [1931850 1921704] - RDMA: Convert comma to semicolon (Kamal Heib) [1931850] - net: devlink: Add unused port flavour (Petr Oros) [1943273] - devlink: add .trap_group_action_set() callback (Petr Oros) [1943273] - devlink: add parser error drop packet traps (Petr Oros) [1943273] - drop_monitor: Perform cleanup upon probe registration failure (Petr Oros) [1943273] - selftests: net: Add drop monitor test (Petr Oros) [1943273] - drop_monitor: Filter control packets in drop monitor (Petr Oros) [1943273] - drop_monitor: Remove duplicate struct (Petr Oros) [1943273] - drop_monitor: Remove no longer used functions (Petr Oros) [1943273] - drop_monitor: Convert to using devlink tracepoint (Petr Oros) [1943273] - drop_monitor: Prepare probe functions for devlink tracepoint (Petr Oros) [1943273] - devlink: Add a tracepoint for trap reports (Petr Oros) [1943273] - net: devlink: fix reporter dump dumpit (Petr Oros) [1943273] - devlink: have genetlink code to parse the attrs during dumpit (Petr Oros) [1943273] - netfilter: nf_tables: add direct calls for all builtin expressions (Florian Westphal) [1953320] - netfilter: nf_tables: handle meta/lookup with direct call (Florian Westphal) [1953320] - ionic: linearize tso skb with too many frags (Jonathan Toppins) [1940696] - i40e: fix the restart auto-negotiation after FEC modified (Stefan Assmann) [1725560] - ovl: skip getxattr of security labels (Miklos Szeredi) [1956340] - ovl: fix dentry leak in ovl_get_redirect (Miklos Szeredi) [1956340] - ovl: avoid deadlock on directory ioctl (Miklos Szeredi) [1956340] - cap: fix conversions on getxattr (Miklos Szeredi) [1956340] - ovl: perform vfs_getxattr() with mounter creds (Miklos Szeredi) [1956340] - ovl: add warning on user_ns mismatch (Miklos Szeredi) [1956340] - ovl: unprivieged mounts (Miklos Szeredi) [1956340] - ovl: do not get metacopy for userxattr (Miklos Szeredi) [1956340] - ovl: do not fail because of O_NOATIME (Miklos Szeredi) [1956340] - ovl: do not fail when setting origin xattr (Miklos Szeredi) [1956340] - ovl: user xattr (Miklos Szeredi) [1956340] - ovl: simplify file splice (Miklos Szeredi) [1956340] - ovl: make ioctl() safe (Miklos Szeredi) [1956340] - ovl: check privs before decoding file handle (Miklos Szeredi) [1956340] - vfs: verify source area in vfs_dedupe_file_range_one() (Miklos Szeredi) [1956340] - vfs: move cap_convert_nscap() call into vfs_setxattr() (Miklos Szeredi) [1956340] - ovl: fix incorrect extent info in metacopy case (Miklos Szeredi) [1956340] - ovl: expand warning in ovl_d_real() (Miklos Szeredi) [1956340] - ovl: document lower modification caveats (Miklos Szeredi) [1956340] - ovl: warn about orphan metacopy (Miklos Szeredi) [1956340] - ovl: doc clarification (Miklos Szeredi) [1956340] - ovl: introduce new "uuid=off" option for inodes index feature (Miklos Szeredi) [1956340] - ovl: propagate ovl_fs to ovl_decode_real_fh and ovl_encode_real_fh (Miklos Szeredi) [1956340] - ovl: use generic vfs_ioc_setflags_prepare() helper (Miklos Szeredi) [1956340] - ovl: support [S|G]ETFLAGS and FS[S|G]ETXATTR ioctls for directories (Miklos Szeredi) [1956340] - ovl: rearrange ovl_can_list() (Miklos Szeredi) [1956340] - ovl: enumerate private xattrs (Miklos Szeredi) [1956340] - ovl: pass ovl_fs down to functions accessing private xattrs (Miklos Szeredi) [1956340] - ovl: drop flags argument from ovl_do_setxattr() (Miklos Szeredi) [1956340] - ovl: adhere to the vfs_ vs. ovl_do_ conventions for xattrs (Miklos Szeredi) [1956340] - ovl: use ovl_do_getxattr() for private xattr (Miklos Szeredi) [1956340] - ovl: fold ovl_getxattr() into ovl_get_redirect_xattr() (Miklos Szeredi) [1956340] - ovl: clean up ovl_getxattr() in copy_up.c (Miklos Szeredi) [1956340] - duplicate ovl_getxattr() (Miklos Szeredi) [1956340] - ovl: provide a mount option "volatile" (Miklos Szeredi) [1956340 1928211] - ovl: check for incompatible features in work dir (Miklos Szeredi) [1956340 1928211] - ovl: fix lookup of indexed hardlinks with metacopy (Miklos Szeredi) [1956340] - ovl: fix unneeded call to ovl_change_flags() (Miklos Szeredi) [1956340] - ovl: fix mount option checks for nfs_export with no upperdir (Miklos Szeredi) [1956340] - ovl: force read-only sb on failure to create index dir (Miklos Szeredi) [1956340] - ovl: fix regression with re-formatted lower squashfs (Miklos Szeredi) [1956340] - ovl: fix oops in ovl_indexdir_cleanup() with nfs_export=on (Miklos Szeredi) [1956340] - ovl: relax WARN_ON() when decoding lower directory file handle (Miklos Szeredi) [1956340] - ovl: remove not used argument in ovl_check_origin (Miklos Szeredi) [1956340] - ovl: change ovl_copy_up_flags static (Miklos Szeredi) [1956340] - ovl: inode reference leak in ovl_is_inuse true case. (Miklos Szeredi) [1956340] - ovl: remove unnecessary lock check (Miklos Szeredi) [1956340] - ovl: make oip->index bool (Miklos Szeredi) [1956340] - ovl: only pass ->ki_flags to ovl_iocb_to_rwf() (Miklos Szeredi) [1956340] - ovl: make private mounts longterm (Miklos Szeredi) [1956340] - ovl: get rid of redundant members in struct ovl_fs (Miklos Szeredi) [1956340] - ovl: add accessor for ofs->upper_mnt (Miklos Szeredi) [1956340] - ovl: drop negative dentry in upper layer (Miklos Szeredi) [1956340] - ovl: check permission to open real file (Miklos Szeredi) [1956340] - ovl: call secutiry hook in ovl_real_ioctl() (Miklos Szeredi) [1956340] - ovl: verify permissions in ovl_path_open() (Miklos Szeredi) [1956340] - ovl: switch to mounter creds in readdir (Miklos Szeredi) [1956340] - ovl: pass correct flags for opening real directory (Miklos Szeredi) [1956340] - ovl: whiteout inode sharing (Miklos Szeredi) [1956340] - ovl: inherit SB_NOSEC flag from upperdir (Miklos Szeredi) [1956340] - ovl: skip overlayfs superblocks at global sync (Miklos Szeredi) [1956340] - ovl: index dir act as work dir (Miklos Szeredi) [1956340] - ovl: prepare to copy up without workdir (Miklos Szeredi) [1956340] - ovl: cleanup non-empty directories in ovl_indexdir_cleanup() (Miklos Szeredi) [1956340] - ocxl: Add new kernel traces (Steve Best) [1907530] - ocxl: Add mmu notifier (Steve Best) [1907530] - ocxl: Update the Process Element Entry (Steve Best) [1907530] - ocxl: Initiate a TLB invalidate command (Steve Best) [1907530] - ocxl: Assign a register set to a Logical Partition (Steve Best) [1907530] - powerpc/mce: Remove per cpu variables from MCE handlers (Gustavo Walbon) [1921683] - powerpc/mce: Reduce the size of event arrays (Gustavo Walbon) [1921683] - tools/power turbostat: Support Ice Lake D (Prarit Bhargava) [1943439] - PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check (Chris von Recklinghausen) [1944636] - vhost/vsock: add IOTLB API support (Stefano Garzarella) [1894101] - vhost: Fix vhost_vq_reset() (Laurent Vivier) [1919126] - perf trace: Fix race in signal handling (Michael Petlan) [1928380] - scsi: sd: sd_zbc: Don't pass GFP_NOIO to kvcalloc (Ewan D. Milne) [1953699] - sd_zbc: clear zone resources for non-zoned case (Ewan D. Milne) [1953699] - scsi: scsi_debug: Fix a memory leak (Ewan D. Milne) [1953699] - scsi: sd: Warn if unsupported ZBC device is probed (Ewan D. Milne) [1953699] - scsi: core: Add 'set_status_byte()' accessor (Ewan D. Milne) [1953699] - scsi: scsi_debug: Do not set COMMAND_COMPLETE (Ewan D. Milne) [1953699] - scsi: scsi_transport_srp: Don't block target in failfast state (Ewan D. Milne) [1953699] - scsi: scsi_debug: Fix memleak in scsi_debug_init() (Ewan D. Milne) [1953699] - scsi: core: Fix -Wformat for scsi_host (Ewan D. Milne) [1953699] - scsi: doc: Fix some kernel-doc markups (Ewan D. Milne) [1953699] - scsi: sr: Initialize ->cmd_len (Ewan D. Milne) [1953699] - scsi: core: Set sc_data_direction to DMA_NONE for no-transfer commands (Ewan D. Milne) [1953699] - scsi: core: Remove scsi_setup_cmnd() and scsi_setup_fs_cmnd() (Ewan D. Milne) [1953699] - scsi: core: Clean up allocation and freeing of sgtables (Ewan D. Milne) [1953699] - scsi: core: Rename scsi_mq_prep_fn() to scsi_prepare_cmd() (Ewan D. Milne) [1953699] - scsi: core: Rename scsi_prep_state_check() to scsi_device_state_check() (Ewan D. Milne) [1953699] - scsi: core: Use rq_dma_dir in scsi_setup_cmnd() (Ewan D. Milne) [1953699] - scsi: core: Remove scsi_init_cmd_errh (Ewan D. Milne) [1953699] - scsi: sd: Allow user to configure command retries (Ewan D. Milne) [1953699] - scsi: sd: sd_zbc: Fix handling of host-aware ZBC disks (Ewan D. Milne) [1953699] - scsi: sd_zbc: Improve zone revalidation (Ewan D. Milne) [1953699] - scsi: sd_zbc: Don't limit max_zone_append sectors to max_hw_sectors (Ewan D. Milne) [1953699] - scsi: sd_zbc: Remove unused inline functions (Ewan D. Milne) [1953699] - nvme: fix the nsid value to print in nvme_validate_or_alloc_ns (Gopal Tiwari) [1921591] - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a (Gopal Tiwari) [1921591] - nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done (Gopal Tiwari) [1921591] - nvme-core: check ctrl css before setting up zns (Gopal Tiwari) [1921591] - nvme-fc: fix racing controller reset and create association (Gopal Tiwari) [1921591] - nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted (Gopal Tiwari) [1921591] - nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange() (Gopal Tiwari) [1921591] - nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() (Gopal Tiwari) [1921591] - nvme: simplify error logic in nvme_validate_ns() (Gopal Tiwari) [1921591] - nvme: set max_zone_append_sectors nvme_revalidate_zones (Gopal Tiwari) [1921591] - nvmet: model_number must be immutable once set (Gopal Tiwari) [1921591] - nvme-fabrics: fix kato initialization (Gopal Tiwari) [1921591] - nvme-hwmon: Return error code when registration fails (Gopal Tiwari) [1921591] - nvme-pci: add quirks for Lexar 256GB SSD (Gopal Tiwari) [1921591] - nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state (Gopal Tiwari) [1921591] - nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST. (Gopal Tiwari) [1921591] - nvme-tcp: fix crash triggered with a dataless request submission (Gopal Tiwari) [1921591] - nvme-hwmon: rework to avoid devm allocation (Gopal Tiwari) [1921591] - nvme: add 48-bit DMA address quirk for Amazon NVMe controllers (Gopal Tiwari) [1921591] - nvmet: remove else at the end of the function (Gopal Tiwari) [1921591] - nvmet: add helper to report invalid opcode (Gopal Tiwari) [1921591] - nvmet: add nvmet_req_subsys() helper (Gopal Tiwari) [1921591] - nvmet: use invalid cmd opcode helper (Gopal Tiwari) [1921591] - nvmet: use invalid cmd opcode helper (Gopal Tiwari) [1921591] - nvmet-fc: add a missing __rcu annotation to nvmet_fc_tgt_assoc.queues (Gopal Tiwari) [1921591] - nvme-multipath: set nr_zones for zoned namespaces (Gopal Tiwari) [1921591] - nvmet: make nvmet_find_namespace() req based (Gopal Tiwari) [1921591] - nvmet: set status to 0 in case for invalid nsid (Gopal Tiwari) [1921591] - nvmet: return uniform error for invalid ns (Gopal Tiwari) [1921591] - nvmet: remove extra variable in id-ns handler (Gopal Tiwari) [1921591] - nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs (Gopal Tiwari) [1921591] - nvme-fabrics: avoid double completions in nvmf_fail_nonready_command (Gopal Tiwari) [1921591] - nvme: introduce a nvme_host_path_error helper (Gopal Tiwari) [1921591] - blk-mq: introduce blk_mq_set_request_complete (Gopal Tiwari) [1921591] - nvme-rdma: handle nvme_rdma_post_send failures better (Gopal Tiwari) [1921591] - nvmet-tcp: fix potential race of tcp socket closing accept_work (Gopal Tiwari) [1921591] - nvme: cleanup zone information initialization (Gopal Tiwari) [1921591] - nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs (Gopal Tiwari) [1921591] - nvme-pci: ignore the subsysem NQN on Phison E16 (Gopal Tiwari) [1921591] - nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs (Gopal Tiwari) [1921591] - nvme-tcp: use cancel tagset helper for tear down (Gopal Tiwari) [1921591] - nvme-rdma: use cancel tagset helper for tear down (Gopal Tiwari) [1921591] - nvme-rdma: add clean action for failed reconnection (Gopal Tiwari) [1921591] - nvme-core: get rid of the extra space (Gopal Tiwari) [1921591] - nvme-tcp: add clean action for failed reconnection (Gopal Tiwari) [1921591] - nvme: add tracing of zns commands (Gopal Tiwari) [1921591] - nvme: parse format nvm command details when tracing (Gopal Tiwari) [1921591] - nvme-core: add cancel tagset helpers (Gopal Tiwari) [1921591] - nvme: refactor ns->ctrl by request (Gopal Tiwari) [1921591] - nvme-tcp: fix wrong setting of request iov_iter (Gopal Tiwari) [1921591] - nvmet: remove extra variable in smart log nsid (Gopal Tiwari) [1921591] - nvme-tcp: get rid of unused helper function (Gopal Tiwari) [1921591] - nvmet: remove extra variable in identify ns (Gopal Tiwari) [1921591] - nvmet: remove extra variable in id-desclist (Gopal Tiwari) [1921591] - nvmet: add lba to sect conversion helpers (Gopal Tiwari) [1921591] - nvme: support command retry delay for admin command (Gopal Tiwari) [1921591] - nvmet: Use nvmet_is_port_enabled helper for pi_enable (Gopal Tiwari) [1921591] - nvme: constify static attribute_group structs (Gopal Tiwari) [1921591] - nvmet-fc: use RCU proctection for assoc_list (Gopal Tiwari) [1921591] - nvmet: Fix nvmet_is_port_enabled indentation (Gopal Tiwari) [1921591] - nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a SPCC device (Gopal Tiwari) [1921591] - nvme-core: use list_add_tail_rcu instead of list_add_tail for nvme_init_ns_head (Gopal Tiwari) [1921591] - nvme: allow revalidate to set a namespace read-only (Gopal Tiwari) [1921591] - nvmet: set right status on error in id-ns handler (Gopal Tiwari) [1921591] - nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout (Gopal Tiwari) [1921591] - nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout (Gopal Tiwari) [1921591] - nvme-pci: allow use of cmb on v1.4 controllers (Gopal Tiwari) [1921591] - nvme: check the PRINFO bit before deciding the host buffer length (Gopal Tiwari) [1921591] - nvme-tcp: fix possible data corruption with bio merges (Gopal Tiwari) [1921591] - nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT (Gopal Tiwari) [1921591] - nvme: don't intialize hwmon for discovery controllers (Gopal Tiwari) [1921591] - nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY (Gopal Tiwari) [1921591] - nvmet-rdma: Fix list_del corruption on queue establishment failure (Gopal Tiwari) [1921591] - nvme: unexport functions with no external caller (Gopal Tiwari) [1921591] - nvme: avoid possible double fetch in handling CQE (Gopal Tiwari) [1921591] - nvme: remove the unused status argument from nvme_trace_bio_complete (Gopal Tiwari) [1921591] - nvme-tcp: Fix possible race of io_work and direct send (Gopal Tiwari) [1921591] - nvme-fcloop: Fix sscanf type and list_first_entry_or_null warnings (Gopal Tiwari) [1921591] - nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context (Gopal Tiwari) [1921591] - nvme-loop: use blk_mq_hctx_set_fq_lock_class to set loop's lock class (Gopal Tiwari) [1921591] - nvme: rename controller base dev_t char device (Gopal Tiwari) [1921591] - nvme: remove unnecessary return values (Gopal Tiwari) [1921591] - nvme: rename bdev operations (Gopal Tiwari) [1921591] - nvme: export zoned namespaces without Zone Append support read-only (Gopal Tiwari) [1921591] - nvme: print a warning for when listing active namespaces fails (Gopal Tiwari) [1921591] - nvme: improve an error message on Identify failure (Gopal Tiwari) [1921591] - nvmet: fix a spelling mistake "incuding" -> "including" in Kconfig (Gopal Tiwari) [1921591] - nvme-fabrics: reject I/O to offline device (Gopal Tiwari) [1921591] - nvmet: make sure discovery change log event is protected (Gopal Tiwari) [1921591] - nvme-pci: don't allocate unused I/O queues (Gopal Tiwari) [1921591] - nvme-pci: drop min() from nr_io_queues assignment (Gopal Tiwari) [1921591] - nvmet: use inline bio for passthru fast path (Gopal Tiwari) [1921591] - nvmet: use blk_rq_bio_prep instead of blk_rq_append_bio (Gopal Tiwari) [1921591] - nvmet: remove unused ctrl->cqs (Gopal Tiwari) [1921591] - nvmet: remove op_flags for passthru commands (Gopal Tiwari) [1921591] - nvme: use consistent macro name for timeout (Gopal Tiwari) [1921591] - nvmet: add passthru io timeout value attr (Gopal Tiwari) [1921591] - nvmet: add passthru admin timeout value attr (Gopal Tiwari) [1921591] - nvme: split nvme_alloc_request() (Gopal Tiwari) [1921591] - nvme: centralize setting the timeout in nvme_alloc_request (Gopal Tiwari) [1921591] - nvme: simplify nvme_req_qid() (Gopal Tiwari) [1921591] - nvme-fcloop: add sysfs attribute to inject command drop (Gopal Tiwari) [1921591] - nvme: let set_capacity_revalidate_and_notify update the bdev size (Gopal Tiwari) [1921591] - nvme: directly cache command effects log (Gopal Tiwari) [1921591] - nvme: fix memory leak freeing command effects (Gopal Tiwari) [1921591] - nvme: free sq/cq dbbuf pointers when dbbuf set fails (Gopal Tiwari) [1921591] - nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device (Gopal Tiwari) [1921591] - RDMA: Lift ibdev_to_node from rds to common code (Gopal Tiwari) [1921591] - nvme: fix incorrect behavior when BLKROSET is called by the user (Gopal Tiwari) [1921591] - Revert "nvme-pci: remove last_sq_tail" (Gopal Tiwari) [1921591] - nvmet: fix a NULL pointer dereference when tracing the flush command (Gopal Tiwari) [1921591] - nvme-fc: remove nvme_fc_terminate_io() (Gopal Tiwari) [1921591] - nvme-fc: eliminate terminate_io use by nvme_fc_error_recovery (Gopal Tiwari) [1921591] - nvme-fc: remove err_work work item (Gopal Tiwari) [1921591] - nvme-fc: track error_recovery while connecting (Gopal Tiwari) [1921591] - nvme-rdma: handle unexpected nvme completion data length (Gopal Tiwari) [1921591] - nvme: ignore zone validate errors on subsequent scans (Gopal Tiwari) [1921591] - nvme-fc: shorten reconnect delay if possible for FC (Gopal Tiwari) [1921591] - nvme-fc: wait for queues to freeze before calling update_hr_hw_queues (Gopal Tiwari) [1921591] - nvme-fc: fix error loop in create_hw_io_queues (Gopal Tiwari) [1921591] - nvme-fc: fix io timeout to abort I/O (Gopal Tiwari) [1921591] - nvmet: cleanup nvmet_passthru_map_sg() (Gopal Tiwari) [1921591] - nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru (Gopal Tiwari) [1921591] - nvmet: limit passthru MTDS by BIO_MAX_PAGES (Gopal Tiwari) [1921591] - nvme-rdma: fix crash due to incorrect cqe (Gopal Tiwari) [1921591] - nvmet: fix uninitialized work for zero kato (Gopal Tiwari) [1921591] - nvme: use queuedata for nvme_req_qid (Gopal Tiwari) [1921591] - nvme-pci: disable Write Zeroes on Sandisk Skyhawk (Gopal Tiwari) [1921591] - nvme-rdma: fix crash when connect rejected (Gopal Tiwari) [1921591] - nvme: translate zone resource errors (Gopal Tiwari) [1921591] - block: add zone specific block statuses (Gopal Tiwari) [1921591] - nvme-core: remove extra condition for vwc (Gopal Tiwari) [1921591] - nvme-core: remove extra variable (Gopal Tiwari) [1921591] - nvme: remove nvme_identify_ns_list (Gopal Tiwari) [1921591] - nvme: refactor nvme_validate_ns (Gopal Tiwari) [1921591] - nvme: move nvme_validate_ns (Gopal Tiwari) [1921591] - nvme: remove nvme_update_formats (Gopal Tiwari) [1921591] - nvme: update the known admin effects (Gopal Tiwari) [1921591] - nvme: query namespace identifiers before adding the namespace (Gopal Tiwari) [1921591] - nvme: revalidate zone bitmaps in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: call nvme_identify_ns as the first thing in nvme_alloc_ns_block (Gopal Tiwari) [1921591] - nvme: set the queue limits in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: remove the 0 lba_shift check in nvme_update_ns_info (Gopal Tiwari) [1921591] - nvme: freeze the queue over ->lba_shift updates (Gopal Tiwari) [1921591] - nvme: factor out a nvme_configure_metadata helper (Gopal Tiwari) [1921591] - nvme: lift the check for an unallocated namespace into nvme_identify_ns (Gopal Tiwari) [1921591] - nvme: clean up the check for too large logic block sizes (Gopal Tiwari) [1921591] - nvme: remove the disk argument to nvme_update_zone_info (Gopal Tiwari) [1921591] - nvme: rename __nvme_revalidate_disk (Gopal Tiwari) [1921591] - nvme: rename _nvme_revalidate_disk (Gopal Tiwari) [1921591] - nvme: rename nvme_validate_ns to nvme_validate_or_alloc_ns (Gopal Tiwari) [1921591] - nvme: fix initialization of the zone bitmaps (Gopal Tiwari) [1921591] - nvme-loop: don't put ctrl on nvme_init_ctrl error (Gopal Tiwari) [1921591] - nvme-core: put ctrl ref when module ref get fail (Gopal Tiwari) [1921591] - nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() (Gopal Tiwari) [1921591] - nvmet-fc: fix missing check for no hostport struct (Gopal Tiwari) [1921591] - nvme: fix error handling in nvme_ns_report_zones (Gopal Tiwari) [1921591] - nvmet: add passthru ZNS support (Gopal Tiwari) [1921591] - nvmet: handle keep-alive timer when kato is modified by a set features cmd (Gopal Tiwari) [1921591] - nvme-pci: allocate separate interrupt for the reserved non-polled I/O queue (Gopal Tiwari) [1921591] - nvmet-tcp: have queue io_work context run on sock incoming cpu (Gopal Tiwari) [1921591] - nvme: lift the file open code from nvme_ctrl_get_by_path (Gopal Tiwari) [1921591] - nvme: use an xarray to lookup the Commands Supported and Effects log (Gopal Tiwari) [1921591] - nvme-pci: Move enumeration by class to be last in the table (Gopal Tiwari) [1921591] - nvme-core: don't use NVME_NSID_ALL for command effects and supported log (Gopal Tiwari) [1921591] - nvme-fc: fail new connections to a deleted host or remote port (Gopal Tiwari) [1921591] - nvme: return errors for hwmon init (Gopal Tiwari) [1921591] - nvme-pci: fix NULL req in completion handler (Gopal Tiwari) [1921591] - nvmet: get transport reference for passthru ctrl (Gopal Tiwari) [1921591] - nvme-core: get/put ctrl and transport module in nvme_dev_open/release() (Gopal Tiwari) [1921591] - nvme-tcp: fix kconfig dependency warning when !CRYPTO (Gopal Tiwari) [1921591] - nvme: use blk_mq_complete_request_remote to avoid an indirect function call (Gopal Tiwari) [1921591] - nvme-core: replace ctrl page size with a macro (Gopal Tiwari) [1921591] - nvme-pci: remove the inline scatterlist optimization (Gopal Tiwari) [1921591] - block: optimize blk_queue_zoned_model for !CONFIG_BLK_DEV_ZONED (Gopal Tiwari) [1921591] - nvme: support for zoned namespaces (Gopal Tiwari) [1921591] - null_blk: introduce zone capacity for zoned device (Gopal Tiwari) [1921591] - block: add capacity field to zone descriptors (Gopal Tiwari) [1921591]- vmxnet3: Set the default of vxlan overlay offload to disabled (Cathy Avery) [1941714] - vmxnet3: Update driver to use ethtool_sprintf (Cathy Avery) [1923796] - vmxnet3: Remove buf_info from device accessible structures (Cathy Avery) [1923796] - igc: Fix overwrites return value (Corinna Vinschen) [1920285] - igc: Add set/clear large buffer helpers (Corinna Vinschen) [1920285] - igc: Refactor Rx timestamp handling (Corinna Vinschen) [1920285] - igc: Introduce igc_get_rx_frame_truesize() helper (Corinna Vinschen) [1920285] - igc: Introduce igc_rx_buffer_flip() helper (Corinna Vinschen) [1920285] - igc: Remove unused argument from igc_tx_cmd_type() (Corinna Vinschen) [1920285] - igc: Fix prototype warning (Corinna Vinschen) [1920285] - igc: Assign boolean values to a bool variable (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_LOOPBACK (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_SPEED (Corinna Vinschen) [1920285] - igc: Remove unused MII_CR_RESET (Corinna Vinschen) [1920285] - igc: Fix igc_ptp_rx_pktstamp() (Corinna Vinschen) [1920285] - igc: Fix Supported Pause Frame Link Setting (Corinna Vinschen) [1920285] - igc: Fix Pause Frame Advertising (Corinna Vinschen) [1920285] - igc: reinit_locked() should be called with rtnl_lock (Corinna Vinschen) [1920285] - igc: Fix TDBAL register show incorrect value (Corinna Vinschen) [1920285] - igc: Remove unused FUNC_1 mask (Corinna Vinschen) [1920285] - igc: Remove unused local receiver mask (Corinna Vinschen) [1920285] - igc: Prefer strscpy over strlcpy (Corinna Vinschen) [1920285] - igc: Expose the gPHY firmware version (Corinna Vinschen) [1920285] - igc: Expose the NVM version (Corinna Vinschen) [1920285] - igc: Add Host Good Packets Transmitted Count (Corinna Vinschen) [1920285] - igc: Remove MULR mask define (Corinna Vinschen) [1920285] - igc: Remove igc_set_fw_version comment (Corinna Vinschen) [1920285] - igc: Clean up nvm_operations structure (Corinna Vinschen) [1920285] - igc: check return value of ret_val in igc_config_fc_after_link_up (Corinna Vinschen) [1920285] - igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr (Corinna Vinschen) [1920285] - igc: Report speed and duplex as unknown when device is runtime suspended (Corinna Vinschen) [1920285] - net: igc: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920285] - igc: Add new device ID (Corinna Vinschen) [1920285] - net: igbvf: use skb_csum_is_sctp instead of protocol check (Corinna Vinschen) [1920287] - igbvf: Refactor traces (Corinna Vinschen) [1920287] - igbvf: amend removal of MODULE_VERSION (Corinna Vinschen) [1955752] - netlink: add tracepoint at NL_SET_ERR_MSG (Marcelo Ricardo Leitner) [1956983] - xfrm: Provide private skb extensions for segmented and hw offloaded ESP packets (Sabrina Dubroca) [1935575] - xfrm: BEET mode doesn't support fragments for inner packets (Xin Long) [1870900] - xfrm: Fix NULL pointer dereference on policy lookup (Sabrina Dubroca) [1951965] - xfrm: use secpath_exist where applicable (Sabrina Dubroca) [1951965] - net: xfrm: Use sequence counter with associated spinlock (Sabrina Dubroca) [1951965] - net: xfrm: Localize sequence counter per network namespace (Sabrina Dubroca) [1951965] - xfrm: Return the correct errno code (Sabrina Dubroca) [1951965] - xfrm: Fix wraparound in xfrm_policy_addr_delta() (Sabrina Dubroca) [1951965] - xfrm: fix disable_xfrm sysctl when used on xfrm interfaces (Sabrina Dubroca) [1951965] - xfrm: Fix oops in xfrm_replay_advance_bmp (Sabrina Dubroca) [1951965] - ah6: fix error return code in ah6_input() (Sabrina Dubroca) [1951965] - net: xfrm: fix a race condition during allocing spi (Sabrina Dubroca) [1951965] - xfrm: policy: Use sequence counters with associated lock (Sabrina Dubroca) [1951965] - selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static (Ivan Vecera) [1952586] - net: bridge: switchdev: include local flag in FDB notifications (Ivan Vecera) [1952586] - net: bridge: switchdev: refactor br_switchdev_fdb_notify (Ivan Vecera) [1952586] - net: bridge: don't notify switchdev for local FDB addresses (Ivan Vecera) [1952586] - net: bridge: use switchdev for port flags set through sysfs too (Ivan Vecera) [1952586] - net: bridge: vlan: fix error return code in __vlan_add() (Ivan Vecera) [1952586] - net: bridge: add missing counters to ndo_get_stats64 callback (Ivan Vecera) [1952586] - net: bridge: use new function dev_fetch_sw_netstats (Ivan Vecera) [1952586] - net: bridge: fdb: don't flush ext_learn entries (Ivan Vecera) [1952586] - net: bridge: clear bridge's private skb space on xmit (Ivan Vecera) [1952586] - bridge: mcast: Fix MLD2 Report IPv6 payload length check (Ivan Vecera) [1952586] - net: bridge: enfore alignment for ethernet address (Ivan Vecera) [1952586] - netfilter: nft_reject_bridge: enable reject with bridge vlan (Ivan Vecera) [1952586] - net: bridge: vlan: Add a schedule point during VLAN processing (Ivan Vecera) [1952586] - netfilter: ebtables: compat: reject all padding in matches/watchers (Ivan Vecera) [1952586] - net: bridge: deny dev_set_mac_address() when unregistering (Ivan Vecera) [1952586] - net: bridge: fdb: set flags directly in fdb_create (Ivan Vecera) [1952586] - net: bridge: fdb: convert offloaded to use bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert added_by_external_learn to use bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert added_by_user to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_sticky to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_static to bitops (Ivan Vecera) [1952586] - net: bridge: fdb: convert is_local to bitops (Ivan Vecera) [1952586] - net: bridge: move default pvid init/deinit to NETDEV_REGISTER/UNREGISTER (Ivan Vecera) [1952586] - bridge: Fix possible use-after-free when deleting bridge port (Ivan Vecera) [1952586] - bridge: update vlan dev link state for bridge netdev changes (Ivan Vecera) [1952586] - bridge: update vlan dev state when port added to or deleted from vlan (Ivan Vecera) [1952586] - bridge: support binding vlan dev link state to vlan member bridge ports (Ivan Vecera) [1952586] - vlan: do not transfer link state in vlan bridge binding mode (Ivan Vecera) [1952586] - vlan: support binding link state to vlan member bridge ports (Ivan Vecera) [1952586] - ipv6: weaken the v4mapped source check (Paolo Abeni) [1950298] - tcp: relookup sock for RST+ACK packets handled by obsolete req sock (Paolo Abeni) [1950298] - inet_connection_sock: remove unused parameter of reqsk_queue_unlink func (Paolo Abeni) [1950298] - tcp: add sanity tests to TCP_QUEUE_SEQ (Paolo Abeni) [1950298] - tcp: fix SO_RCVLOWAT related hangs under mem pressure (Paolo Abeni) [1950298] - tcp: do not mess with cloned skbs in tcp_add_backlog() (Paolo Abeni) [1950298] - tcp: fix cwnd-limited bug for TSO deferral where we send nothing (Paolo Abeni) [1950298] - vfio-ccw: Wire in the request callback (Thomas Huth) [1940451] - vfio-mdev: Wire in a request handler for mdev parent (Thomas Huth) [1940451] - intel_idle: add Iclelake-D support (David Arcari) [1960287] - scsi: ibmvfc: Fix potential race in ibmvfc_wait_for_ops() (Steve Best) [1941180] - powerpc/sstep: Fix VSX instruction emulation (Steve Best) [1934187] - powerpc/pseries/hibernation: remove pseries_suspend_cpu() (Steve Best) [1932970] - powerpc/pseries: remove cede offline state for CPUs (Steve Best) [1932970] - powerpc/pseries: export LPAR security flavor in lparcfg (Steve Best) [1935660] - Makefile: update early devel phase flag (Bruno Meneguele) [1930504]- configs: Enable CONFIG_BPF_KPROBE_OVERRIDE (Jiri Olsa) [1920439] - powerpc/kvm: Fix build error when PPC_MEM_KEYS/PPC_PSERIES=n (Greg Kurz) [1945745] - powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure MSR[HV] is always clear in guest MSR (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure MSR[ME] is always set in guest MSR (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix CONFIG_SPAPR_TCE_IOMMU=n default hcalls (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: remove unused kvmppc_h_protect argument (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Remove redundant mtspr PSPB (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Prevent radix guests setting LPCR[TC] (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Disallow LPCR[AIL] to be set to 1 or 2 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Add a function to filter guest LPCR bits (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Nested move LPCR sanitising to sanitise_hv_regs (Greg Kurz) [1945745] - KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit (Greg Kurz) [1945745] - KVM: PPC: Don't always report hash MMU capability for P9 < DD2.2 (Greg Kurz) [1945745] - powerpc/xive: Assign boolean values to a bool variable (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix host radix SLB optimisation with hash guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ensure radix guest has no SLB entries (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path (Greg Kurz) [1945745] - KVM: PPC: remove unneeded semicolon (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Use POWER9 SLBIA IH=6 variant to clear SLB (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: No need to clear radix host SLB before loading HPT guest (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix radix guest SLB side channel (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Remove support for running HPT guest on RPT host without mixed mode support (Greg Kurz) [1945745] - powerpc/mm: Update tlbiel loop on POWER10 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Allow nested guest creation when L0 hv_guest_state > L1 (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Context tracking exit guest context before enabling irqs (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Include prototypes (Greg Kurz) [1945745] - KVM: PPC: Make the VMX instruction emulation routines static (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Fix mask size for emulated msgsndp (Greg Kurz) [1945745] - KVM: PPC: fix comparison to bool warning (Greg Kurz) [1945745] - KVM: PPC: Book3S: Assign boolean values to a bool variable (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Add a comment regarding VP numbering (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_MASK_FW (Greg Kurz) [1945745] - powerpc/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_SHIFT_BUG (Greg Kurz) [1945745] - powerpc/xive: Add a debug_show handler to the XIVE irq_domain (Greg Kurz) [1945745] - powerpc/xive: Rename XIVE_IRQ_NO_EOI to show its a flag (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Show detailed configuration in debug output (Greg Kurz) [1945745] - powerpc/64s: Remove MSR[ISF] bit (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Ratelimit machine check messages coming from guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: Don't attempt to recover machine checks for FWNMI enabled guests (Greg Kurz) [1945745] - KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page (Greg Kurz) [1945745] - clocksource/drivers/hyper-v: Move handling of STIMER0 interrupts (Mohammed Gamal) [1940901] - clocksource/drivers/hyper-v: Set clocksource rating based on Hyper-V feature (Mohammed Gamal) [1940901] - clocksource/drivers/hyper-v: Handle sched_clock differences inline (Mohammed Gamal) [1940901] - clocksource/hyperv: use MSR-based access if running as root (Mohammed Gamal) [1940901] - cifs: fix interrupted close commands (Ronnie Sahlberg) [1952263] - cifs: add NULL check for ses->tcon_ipc (Ronnie Sahlberg) [1952263] - smb3: set COMPOUND_FID to FileID field of subsequent compound request (Ronnie Sahlberg) [1952263] - cifs: fix potential use-after-free in cifs_echo_request() (Ronnie Sahlberg) [1952263] - cifs: allow syscalls to be restarted in __smb_send_rqst() (Ronnie Sahlberg) [1952263] - smb3: Handle error case during offload read path (Ronnie Sahlberg) [1952263] - smb3: Avoid Mid pending list corruption (Ronnie Sahlberg) [1952263] - smb3: Call cifs reconnect from demultiplex thread (Ronnie Sahlberg) [1952263] - cifs: fix a memleak with modefromsid (Ronnie Sahlberg) [1952263] - cifs: update internal module version number (Ronnie Sahlberg) [1952263] - smb3: add some missing definitions from MS-FSCC (Ronnie Sahlberg) [1952263] - smb3: remove two unused variables (Ronnie Sahlberg) [1952263] - smb3: add support for stat of WSL reparse points for special file types (Ronnie Sahlberg) [1952263] - SMB3: add support for recognizing WSL reparse tags (Ronnie Sahlberg) [1952263] - cifs: remove bogus debug code (Ronnie Sahlberg) [1952263] - smb3.1.1: fix typo in compression flag (Ronnie Sahlberg) [1952263] - cifs: move smb version mount options into fs_context.c (Ronnie Sahlberg) [1952263] - cifs: move cache mount options to fs_context.ch (Ronnie Sahlberg) [1952263] - cifs: move security mount options into fs_context.ch (Ronnie Sahlberg) [1952263] - cifs: add files to host new mount api (Ronnie Sahlberg) [1952263] - smb3: do not try to cache root directory if dir leases not supported (Ronnie Sahlberg) [1952263] - smb3: fix stat when special device file and mounted with modefromsid (Ronnie Sahlberg) [1952263] - cifs: Print the address and port we are connecting to in generic_ip_connect() (Ronnie Sahlberg) [1952263] - SMB3: Resolve data corruption of TCP server info fields (Ronnie Sahlberg) [1952263] - cifs: make const array static, makes object smaller (Ronnie Sahlberg) [1952263] - SMB3.1.1: Fix ids returned in POSIX query dir (Ronnie Sahlberg) [1952263] - smb3: add dynamic trace point to trace when credits obtained (Ronnie Sahlberg) [1952263] - smb3.1.1: do not fail if no encryption required but server doesn't support it (Ronnie Sahlberg) [1952263] - cifs: Return the error from crypt_message when enc/dec key not found. (Ronnie Sahlberg) [1952263] - smb3.1.1: set gcm256 when requested (Ronnie Sahlberg) [1952263] - smb3.1.1: rename nonces used for GCM and CCM encryption (Ronnie Sahlberg) [1952263] - smb3.1.1: print warning if server does not support requested encryption type (Ronnie Sahlberg) [1952263] - smb3.1.1: add new module load parm enable_gcm_256 (Ronnie Sahlberg) [1952263] - smb3.1.1: add new module load parm require_gcm_256 (Ronnie Sahlberg) [1952263] - cifs: map STATUS_ACCOUNT_LOCKED_OUT to -EACCES (Ronnie Sahlberg) [1952263] - SMB3.1.1: add defines for new signing negotiate context (Ronnie Sahlberg) [1952263] - Handle STATUS_IO_TIMEOUT gracefully (Ronnie Sahlberg) [1952263] - cifs: compute full_path already in cifs_readdir() (Ronnie Sahlberg) [1952263] - cifs: return cached_fid from open_shroot (Ronnie Sahlberg) [1952263] - update structure definitions from updated protocol documentation (Ronnie Sahlberg) [1952263] - smb3: add defines for new crypto algorithms (Ronnie Sahlberg) [1952263] - cifs: fix check of tcon dfs in smb1 (Ronnie Sahlberg) [1952263] - SMB3: Fix mkdir when idsfromsid configured on mount (Ronnie Sahlberg) [1952263] - cifs: Convert to use the fallthrough macro (Ronnie Sahlberg) [1952263] - cifs: Fix an error pointer dereference in cifs_mount() (Ronnie Sahlberg) [1952263] - cifs: document and cleanup dfs mount (Ronnie Sahlberg) [1952263] - cifs: only update prefix path of DFS links in cifs_tree_connect() (Ronnie Sahlberg) [1952263] - cifs: fix double free error on share and prefix (Ronnie Sahlberg) [1952263] - cifs: handle RESP_GET_DFS_REFERRAL.PathConsumed in reconnect (Ronnie Sahlberg) [1952263] - cifs: handle empty list of targets in cifs_reconnect() (Ronnie Sahlberg) [1952263] - cifs: rename reconn_inval_dfs_target() (Ronnie Sahlberg) [1952263] - cifs: reduce number of referral requests in DFS link lookups (Ronnie Sahlberg) [1952263] - cifs: merge __{cifs,smb2}_reconnect[_tcon]() into cifs_tree_connect() (Ronnie Sahlberg) [1952263] - cifs: convert to use be32_add_cpu() (Ronnie Sahlberg) [1952263] - cifs: delete duplicated words in header files (Ronnie Sahlberg) [1952263] - cifs: Remove the superfluous break (Ronnie Sahlberg) [1952263] - cifs: remove unused variable 'server' (Ronnie Sahlberg) [1952263] - smb3: warn on confusing error scenario with sec=krb5 (Ronnie Sahlberg) [1952263] - fuse: 32-bit user space ioctl compat for fuse device (Miklos Szeredi) [1949873] - virtiofs: Fail dax mount if device does not support it (Miklos Szeredi) [1949873] - fuse: fix live lock in fuse_iget() (Miklos Szeredi) [1949873] - mm/filemap: remove unused parameter and change to void type for replace_page_cache_page() (Miklos Szeredi) [1949873] - fuse: support SB_NOSEC flag to improve write performance (Miklos Szeredi) [1949873] - fuse: add a flag FUSE_OPEN_KILL_SUIDGID for open() request (Miklos Szeredi) [1949873] - fuse: don't send ATTR_MODE to kill suid/sgid for handle_killpriv_v2 (Miklos Szeredi) [1949873] - fuse: setattr should set FATTR_KILL_SUIDGID (Miklos Szeredi) [1949873] - fuse: set FUSE_WRITE_KILL_SUIDGID in cached write path (Miklos Szeredi) [1949873] - fuse: rename FUSE_WRITE_KILL_PRIV to FUSE_WRITE_KILL_SUIDGID (Miklos Szeredi) [1949873] - fuse: introduce the notion of FUSE_HANDLE_KILLPRIV_V2 (Miklos Szeredi) [1949873] - fuse: always revalidate if exclusive create (Miklos Szeredi) [1949873] - virtiofs: clean up error handling in virtio_fs_get_tree() (Miklos Szeredi) [1949873] - fuse: add fuse_sb_destroy() helper (Miklos Szeredi) [1949873] - fuse: simplify get_fuse_conn*() (Miklos Szeredi) [1949873] - fuse: get rid of fuse_mount refcount (Miklos Szeredi) [1949873] - virtiofs: simplify sb setup (Miklos Szeredi) [1949873] - virtiofs fix leak in setup (Miklos Szeredi) [1949873] - fuse: launder page should wait for page writeback (Miklos Szeredi) [1949873] - fuse: connection remove fix (Miklos Szeredi) [1949873] - fuse: implement crossmounts (Miklos Szeredi) [1949873] - fuse: Allow fuse_fill_super_common() for submounts (Miklos Szeredi) [1949873] - fuse: split fuse_mount off of fuse_conn (Miklos Szeredi) [1949873] - fuse: drop fuse_conn parameter where possible (Miklos Szeredi) [1949873] - fuse: store fuse_conn in fuse_req (Miklos Szeredi) [1949873] - fuse: add submount support to (Miklos Szeredi) [1949873] - fuse: fix page dereference after free (Miklos Szeredi) [1949873] - fuse: update project homepage (Miklos Szeredi) [1949873] - fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS (Miklos Szeredi) [1949873] - fuse: don't ignore errors from fuse_writepages_fill() (Miklos Szeredi) [1949873] - fuse: clean up condition for writepage sending (Miklos Szeredi) [1949873] - fuse: fix warning in tree_insert() and clean up writepage insertion (Miklos Szeredi) [1949873] - fuse: move rb_erase() before tree_insert() (Miklos Szeredi) [1949873] - fuse: optimize writepages search (Miklos Szeredi) [1949873] - fuse: Update stale comment in queue_interrupt() (Miklos Szeredi) [1949873] - fuse: use true,false for bool variable (Miklos Szeredi) [1949873] - fuse: Add changelog entries for protocols 7.1 - 7.8 (Miklos Szeredi) [1949873] - fuse: reserve byteswapped init opcodes (Miklos Szeredi) [1949873] - convenience helper: get_tree_single() (finish backport) (Miklos Szeredi) [1949873] - fuse: Convert fusectl to use the new mount API (Miklos Szeredi) [1949873] - fuse: fix changelog entry for protocol 7.9 (Miklos Szeredi) [1949873] - fuse: fix changelog entry for protocol 7.12 (Miklos Szeredi) [1949873] - sfc: adjust efx->xdp_tx_queue_count with the real number of initialized queues (Íñigo Huguet) [1934254] - sfc: Remove duplicate argument (Íñigo Huguet) [1934254] - sfc: Use 'skb_add_rx_frag()' instead of hand coding it (Íñigo Huguet) [1934254] - sfc-falcon: Fix a typo (Íñigo Huguet) [1934254] - sfc: ef10: fix TX queue lookup in TX event handling (Íñigo Huguet) [1934254] - sfc: farch: fix TX queue lookup in TX event handling (Íñigo Huguet) [1934254] - sfc: farch: fix TX queue lookup in TX flush done handling (Íñigo Huguet) [1934254] - sfc: reduce the number of requested xdp ev queues (Íñigo Huguet) [1934254] - sfc: support GRE TSO on EF100 (Íñigo Huguet) [1934254] - sfc: correctly support non-partial GSO_UDP_TUNNEL_CSUM on EF100 (Íñigo Huguet) [1934254] - sfc: extend bitfield macros to 19 fields (Íñigo Huguet) [1934254] - sfc: advertise our vlan features (Íñigo Huguet) [1934254] - sfc: only use fixed-id if the skb asks for it (Íñigo Huguet) [1934254] - sfc: implement encap TSO on EF100 (Íñigo Huguet) [1934254] - sfc: extend bitfield macros to 17 fields (Íñigo Huguet) [1934254] - sfc: move initialisation of efx->filter_sem to efx_init_struct() (Íñigo Huguet) [1934254] - net: sfc: Use GFP_KERNEL in efx_ef10_try_update_nic_stats() (Íñigo Huguet) [1934254] - net: sfc: Replace in_interrupt() usage (Íñigo Huguet) [1934254] - sfc: clean up mis-targeted comments (Íñigo Huguet) [1934254] - sfc: fix kdoc warning (Íñigo Huguet) [1934254] - sfc: clean up unused assignments (Íñigo Huguet) [1934254] - sfc: advertise encapsulated offloads on EF10 (Íñigo Huguet) [1934254] - sfc: implement encapsulated TSO on EF10 (Íñigo Huguet) [1934254] - sfc: de-indirect TSO handling (Íñigo Huguet) [1934254] - sfc: select inner-csum-offload TX queues for skbs that need it (Íñigo Huguet) [1934254] - sfc: create inner-csum queues on EF10 if supported (Íñigo Huguet) [1934254] - sfc: define inner/outer csum offload TXQ types (Íñigo Huguet) [1934254] - sfc: decouple TXQ type from label (Íñigo Huguet) [1934254] - sfc: cleanups around efx_alloc_channel (Íñigo Huguet) [1934254] - sfc: remove spurious unreachable return statement (Íñigo Huguet) [1934254] - sfc: remove duplicate call to efx_init_channels from EF100 probe (Íñigo Huguet) [1934254] - sfc: coding style cleanups in mcdi_port_common.c (Íñigo Huguet) [1934254] - sfc: simplify DMA mask setting (Íñigo Huguet) [1934254] - sfc: remove EFX_DRIVER_VERSION (Íñigo Huguet) [1934254] - sfc: handle limited FEC support (Íñigo Huguet) [1934254] - sfc: add ethtool ops and miscellaneous ndos to EF100 (Íñigo Huguet) [1934254] - sfc: remove phy_op indirection (Íñigo Huguet) [1934254] - sfc: remove efx_tx_queue_partner (Íñigo Huguet) [1934254] - sfc: rewrite efx_tx_may_pio (Íñigo Huguet) [1934254] - sfc: use efx_channel_tx_[old_]fill_level() in Siena/EF10 TX datapath (Íñigo Huguet) [1934254] - sfc: use tx_queue->old_read_count in EF100 TX path (Íñigo Huguet) [1934254] - sfc: make ef100 xmit_more handling look more like ef10's (Íñigo Huguet) [1934254] - sfc: add and use efx_tx_send_pending in tx.c (Íñigo Huguet) [1934254] - sfc: return errors from efx_mcdi_set_id_led, and de-indirect (Íñigo Huguet) [1934254] - sfc: fix kernel-doc on struct efx_loopback_state (Íñigo Huguet) [1934254] - sfc: fix unused-but-set-variable warning in efx_farch_filter_remove_safe (Íñigo Huguet) [1934254] - sfc: fix W=1 warnings in efx_farch_handle_rx_not_ok (Íñigo Huguet) [1934254] - sfc: convert to new udp_tunnel infrastructure (Íñigo Huguet) [1934254] - net: don't warn in inet diag when IPV6 is disabled (Hangbin Liu) [1938639] - tcp: do not mess with cloned skbs in tcp_add_backlog() (Hangbin Liu) [1880432] - redhat: enable MHI bus driver support (Jarod Wilson) [1938030] - bus: mhi: core: Fix invalid error returning in mhi_queue (Jarod Wilson) [1938030] - bus: mhi: pci_generic: Remove WQ_MEM_RECLAIM flag from state workqueue (Jarod Wilson) [1938030] - bus: mhi: core: Fix check for syserr at power_up (Jarod Wilson) [1938030] - mhi: Fix double dma free (Jarod Wilson) [1938030] - bus: mhi: pci_generic: Increase num of elements in hw event ring (Jarod Wilson) [1938030] - mhi: pci_generic: Print warning in case of firmware crash (Jarod Wilson) [1938030] - bus: mhi: core: Add helper API to return number of free TREs (Jarod Wilson) [1938030] - mhi: core: Factorize mhi queuing (Jarod Wilson) [1938030] - mhi: use irq_flags if controller driver configures it (Jarod Wilson) [1938030] - mhi: pci_generic: Fix shared MSI vector support (Jarod Wilson) [1938030] - mhi: unconstify mhi_event_config (Jarod Wilson) [1938030] - bus: mhi: Ensure correct ring update ordering with memory barrier (Jarod Wilson) [1938030] - mhi: pci_generic: Set irq moderation value to 1ms for hw channels (Jarod Wilson) [1938030] - mhi: pci_generic: Add diag channels (Jarod Wilson) [1938030] - mhi: pci_generic: Increase controller timeout value (Jarod Wilson) [1938030] - mhi: pci_generic: Add health-check (Jarod Wilson) [1938030] - mhi: pci_generic: Add PCI error handlers (Jarod Wilson) [1938030] - mhi: pci_generic: Add suspend/resume/recovery procedure (Jarod Wilson) [1938030] - mhi: pci_generic: Add support for reset (Jarod Wilson) [1938030] - mhi: pci_generic: Enable burst mode for hardware channels (Jarod Wilson) [1938030] - mhi: pci-generic: Increase number of hardware events (Jarod Wilson) [1938030] - bus: mhi: core: Add device hardware reset support (Jarod Wilson) [1938030] - mhi: pci_generic: Fix implicit conversion warning (Jarod Wilson) [1938030] - bus: mhi: core: Fix error handling in mhi_register_controller() (Jarod Wilson) [1938030] - bus: mhi: core: Fix device hierarchy (Jarod Wilson) [1938030] - bus: mhi: core: Indexed MHI controller name (Jarod Wilson) [1938030] - bus: mhi: core: Remove MHI event ring IRQ handlers when powering down (Jarod Wilson) [1938030] - bus: mhi: core: Mark and maintain device states early on after power down (Jarod Wilson) [1938030] - bus: mhi: core: Separate system error and power down handling (Jarod Wilson) [1938030] - bus: mhi: core: Check for IRQ availability during registration (Jarod Wilson) [1938030] - bus: mhi: core: Move to an error state on mission mode failure (Jarod Wilson) [1938030] - bus: mhi: core: Use appropriate label in firmware load handler API (Jarod Wilson) [1938030] - bus: mhi: core: Move to an error state on any firmware load failure (Jarod Wilson) [1938030] - bus: mhi: core: Prevent sending multiple RDDM entry callbacks (Jarod Wilson) [1938030] - bus: mhi: core: Move to SYS_ERROR regardless of RDDM capability (Jarod Wilson) [1938030] - bus: mhi: core: Skip device wake in error or shutdown states (Jarod Wilson) [1938030] - bus: mhi: core: Move to using high priority workqueue (Jarod Wilson) [1938030] - bus: mhi: core: Use appropriate names for firmware load functions (Jarod Wilson) [1938030] - bus: mhi: core: Skip RDDM download for unknown execution environment (Jarod Wilson) [1938030] - bus: mhi: core: Rename RDDM download function to use proper words (Jarod Wilson) [1938030] - bus: mhi: core: Remove unused mhi_fw_load_worker() declaration (Jarod Wilson) [1938030] - bus: mhi: core: Expose mhi_get_exec_env() API for controllers (Jarod Wilson) [1938030] - bus: mhi: core: Add missing EXPORT_SYMBOL for mhi_get_mhi_state() (Jarod Wilson) [1938030] - bus: mhi: core: Remove unnecessary counter from mhi_firmware_copy() (Jarod Wilson) [1938030] - bus: mhi: Fix channel close issue on driver remove (Jarod Wilson) [1938030] - bus: mhi: core: Fix null pointer access when parsing MHI configuration (Jarod Wilson) [1938030] - bus: mhi: Add MHI PCI support for WWAN modems (Jarod Wilson) [1938030] - bus: mhi: core: fix potential operator-precedence with BHI macros (Jarod Wilson) [1938030] - bus: mhi: core: Remove double locking from mhi_driver_remove() (Jarod Wilson) [1938030] - bus: mhi: Remove auto-start option (Jarod Wilson) [1938030] - bus: mhi: Add mhi_queue_is_full function (Jarod Wilson) [1938030] - bus: mhi: debugfs: Print channel context read-pointer (Jarod Wilson) [1938030] - bus: mhi: core: Fix the building of MHI module (Jarod Wilson) [1938030] - bus: mhi: Remove unused nr_irqs_req variable (Jarod Wilson) [1938030] - bus: mhi: core: Allow shared IRQ for event rings (Jarod Wilson) [1938030] - bus: mhi: core: Introduce sysfs entries for MHI (Jarod Wilson) [1938030] - bus: mhi: core: Introduce debugfs entries for MHI (Jarod Wilson) [1938030] - bus: mhi: Fix entries based on Kconfig coding style (Jarod Wilson) [1938030] - bus: mhi: Remove include of rwlock_types.h (Jarod Wilson) [1938030] - bus: mhi: core: Add const qualifier to MHI config information (Jarod Wilson) [1938030] - bus: mhi: core: Introduce APIs to allocate and free the MHI controller (Jarod Wilson) [1938030] - bus: mhi: core: Read and save device hardware information from BHI (Jarod Wilson) [1938030] - bus: mhi: core: Introduce counters to track MHI device state transitions (Jarod Wilson) [1938030] - bus: mhi: core: Introduce helper function to check device state (Jarod Wilson) [1938030] - bus: mhi: core: Use generic name field for an MHI device (Jarod Wilson) [1938030] - bus: mhi: core: Trigger host resume if suspended during mhi_device_get() (Jarod Wilson) [1938030] - bus: mhi: core: Use helper API to trigger a non-blocking host resume (Jarod Wilson) [1938030] - bus: mhi: core: Abort suspends due to outgoing pending packets (Jarod Wilson) [1938030] - bus: mhi: core: Remove double occurrence for mhi_ctrl_ev_task() declaration (Jarod Wilson) [1938030] - bus: mhi: fix doubled words and struct image_info kernel-doc (Jarod Wilson) [1938030] - bus: mhi: core: Handle syserr during power_up (Jarod Wilson) [1938030] - bus: mhi: core: Handle write lock properly in mhi_pm_m0_transition (Jarod Wilson) [1938030] - bus: mhi: core: Do not process SYS_ERROR if RDDM is supported (Jarod Wilson) [1938030] - bus: mhi: core: Skip handling BHI irq if MHI reg access is not allowed (Jarod Wilson) [1938030] - bus: mhi: core: Handle disable transitions in state worker (Jarod Wilson) [1938030] - bus: mhi: core: Remove the system error worker thread (Jarod Wilson) [1938030] - bus: mhi: core: Ensure non-zero session or sequence ID values are used (Jarod Wilson) [1938030] - bus: mhi: core: Improve debug logs for loading firmware (Jarod Wilson) [1938030] - bus: mhi: core: Return appropriate error codes for AMSS load failure (Jarod Wilson) [1938030] - bus: mhi: core: Handle firmware load using state worker (Jarod Wilson) [1938030] - bus: mhi: core: Read transfer length from an event properly (Jarod Wilson) [1938030] - bus: mhi: core: Add range check for channel id received in event ring (Jarod Wilson) [1938030] - bus: mhi: core: Cache intmod from mhi event to mhi channel (Jarod Wilson) [1938030] - bus: mhi: core: Refactor mhi queue APIs (Jarod Wilson) [1938030] - bus: mhi: core: Fix some error return code (Jarod Wilson) [1938030] - bus: mhi: core: Fix channel device name conflict (Jarod Wilson) [1938030] - bus: mhi: core: Fix typo in comment (Jarod Wilson) [1938030] - bus: mhi: core: Offload register accesses to the controller (Jarod Wilson) [1938030] - bus: mhi: core: Remove link_status() callback (Jarod Wilson) [1938030] - bus: mhi: core: Make sure to powerdown if mhi_sync_power_up fails (Jarod Wilson) [1938030] - bus: mhi: Fix parsing of mhi_flags (Jarod Wilson) [1938030] - bus: mhi: core: Fix a NULL vs IS_ERR check in mhi_create_devices() (Jarod Wilson) [1938030] - bus: mhi: core: Add support for MHI suspend and resume (Jarod Wilson) [1938030] - bus: mhi: core: Drop the references to mhi_dev in mhi_destroy_device() (Jarod Wilson) [1938030] - bus: mhi: core: Initialize bhie field in mhi_cntrl for RDDM capture (Jarod Wilson) [1938030] - bus: mhi: core: Add support for reading MHI info from device (Jarod Wilson) [1938030] - bus: mhi: core: Pass module owner during client driver registration (Jarod Wilson) [1938030] - bus/mhi: fix printk format for size_t (Jarod Wilson) [1938030] - bus: mhi: core: Add uevent support for module autoloading (Jarod Wilson) [1938030] - bus: mhi: core: Add support for data transfer (Jarod Wilson) [1938030] - bus: mhi: core: Add support for processing events from client device (Jarod Wilson) [1938030] - bus: mhi: core: Add support for downloading RDDM image during panic (Jarod Wilson) [1938030] - bus: mhi: core: Add support for downloading firmware over BHIe (Jarod Wilson) [1938030] - bus: mhi: core: Add support for basic PM operations (Jarod Wilson) [1938030] - bus: mhi: core: Add support for PM state transitions (Jarod Wilson) [1938030] - bus: mhi: core: Add support for ringing channel/event ring doorbells (Jarod Wilson) [1938030] - bus: mhi: core: Add support for creating and destroying MHI devices (Jarod Wilson) [1938030] - bus: mhi: core: Add support for registering MHI client drivers (Jarod Wilson) [1938030] - bus: mhi: core: Add support for registering MHI controllers (Jarod Wilson) [1938030]- ipmi: remove open coded version of SMBus block write (Tony Camuso) [1947126] - char: ipmi: convert comma to semicolon (Tony Camuso) [1947126] - ipmi: msghandler: Suppress suspicious RCU usage warning (Tony Camuso) [1947126] - ipmi/watchdog: replace atomic_add() and atomic_sub() (Tony Camuso) [1947126] - char: ipmi: remove unneeded break (Tony Camuso) [1947126] - ipmi_si: Fix wrong return value in try_smi_init() (Tony Camuso) [1947126] - ipmi: msghandler: Fix a signedness bug (Tony Camuso) [1947126] - ipmi: add retry in try_get_dev_id() (Tony Camuso) [1947126] - ipmi: Clean up some printks (Tony Camuso) [1947126] - ipmi:msghandler: retry to get device id on an error (Tony Camuso) [1947126] - ipmi:sm: Print current state when the state is invalid (Tony Camuso) [1947126] - ipmi: Reset response handler when failing to send the command (Tony Camuso) [1947126] - ipmi: add a newline when printing parameter 'panic_op' by sysfs (Tony Camuso) [1947126] - cpuidle: Select polling interval based on a c-state with a longer target residency (Mark Langsdorf) [1922024] - cpuidle: big.LITTLE: enable driver only on Peach-Pit/Pi Chromebooks (Mark Langsdorf) [1922024] - cpuidle: record state entry rejection statistics (Mark Langsdorf) [1922024] - nitro_enclaves: Fix stale file descriptors on failed usercopy (Vitaly Kuznetsov) [1953717] - iavf: amend removal of MODULE_VERSION (Stefan Assmann) [1955738] - ixgbevf: Amend commit acf03026ec5a to include a version in module info. (Ken Cox) [1955764] - devlink: move flash end and begin to core devlink (Petr Oros) [1935671] - devlink: move request_firmware out of driver (Petr Oros) [1935671] - ice: add additional debug logging for firmware update (Petr Oros) [1935671] - ice: add support for flash update overwrite mask (Petr Oros) [1935671] - driver core: auxiliary bus: Fix calling stage for auxiliary bus init (Ivan Vecera) [1933820] - driver core: auxiliary bus: Fix auxiliary bus shutdown null auxdrv ptr (Ivan Vecera) [1933820] - driver core: auxiliary bus: minor coding style tweaks (Ivan Vecera) [1933820] - driver core: auxiliary bus: make remove function return void (Ivan Vecera) [1933820] - driver core: auxiliary bus: move slab.h from include file (Ivan Vecera) [1933820] - Add auxiliary bus support (Ivan Vecera) [1933820] - modpost: file2alias: go back to simple devtable lookup (Ivan Vecera) [1933820] - scsi: lpfc: Fix bad memory access during VPD DUMP mailbox command (Dick Kennedy) [1923762] - scsi: lpfc: Fix DMA virtual address ptr assignment in bsg (Dick Kennedy) [1923762] - scsi: lpfc: Fix illegal memory access on Abort IOCBs (Dick Kennedy) [1923762] - scsi: lpfc: Copyright updates for 12.8.0.9 patches (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.9 (Dick Kennedy) [1923762] - scsi: lpfc: Eliminate use of LPFC_DRIVER_NAME in lpfc_attr.c (Dick Kennedy) [1923762] - scsi: lpfc: Standardize discovery object logging format (Dick Kennedy) [1923762] - scsi: lpfc: Fix various trivial errors in comments and log messages (Dick Kennedy) [1923762] - scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic (Dick Kennedy) [1923762] - scsi: lpfc: Fix lpfc_hdw_queue attribute being ignored (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing FDMI registrations after Mgmt Svc login (Dick Kennedy) [1923762] - scsi: lpfc: Fix silent memory allocation failure in lpfc_sli4_bsg_link_diag_test() (Dick Kennedy) [1923762] - scsi: lpfc: Fix use-after-free on unused nodes after port swap (Dick Kennedy) [1923762] - scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode (Dick Kennedy) [1923762] - scsi: lpfc: Fix lack of device removal on port swaps with PRLIs (Dick Kennedy) [1923762] - scsi: lpfc: Fix NMI crash during rmmod due to circular hbalock dependency (Dick Kennedy) [1923762] - scsi: lpfc: Fix reference counting errors in lpfc_cmpl_els_rsp() (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response (Dick Kennedy) [1923762] - scsi: lpfc: Fix rmmod crash due to bad ring pointers to abort_iotag (Dick Kennedy) [1923762] - scsi: lpfc: Fix gcc -Wstringop-overread warning (Dick Kennedy) [1923762] - scsi: lpfc: Fix a typo (Dick Kennedy) [1923762] - scsi: lpfc: Fix a typo (Dick Kennedy) [1923762] - scsi: lpfc: Fix kernel-doc formatting issue (Dick Kennedy) [1923762] - scsi: lpfc: Fix a few incorrectly named functions (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrectly documented function lpfc_debugfs_commonxripools_data() (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of misnamed functions (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of kernel-doc misdemeanours (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrect naming of __lpfc_update_fcf_record() (Dick Kennedy) [1923762] - scsi: lpfc: Fix formatting and misspelling issues (Dick Kennedy) [1923762] - scsi: lpfc: Fix a bunch of kernel-doc issues (Dick Kennedy) [1923762] - scsi: lpfc: Update copyrights for 12.8.0.7 and 12.8.0.8 changes (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.8 (Dick Kennedy) [1923762] - scsi: lpfc: Correct function header comments related to ndlp reference counting (Dick Kennedy) [1923762] - scsi: lpfc: Reduce LOG_TRACE_EVENT logging for vports (Dick Kennedy) [1923762] - scsi: lpfc: Change wording of invalid pci reset log message (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash caused by switch reboot (Dick Kennedy) [1923762] - scsi: lpfc: Fix pt2pt state transition causing rmmod hang (Dick Kennedy) [1923762] - scsi: lpfc: Fix nodeinfo debugfs output (Dick Kennedy) [1923762] - scsi: lpfc: Fix ADISC handling that never frees nodes (Dick Kennedy) [1923762] - scsi: lpfc: Fix PLOGI ACC to be transmit after REG_LOGIN (Dick Kennedy) [1923762] - scsi: lpfc: Fix dropped FLOGI during pt2pt discovery recovery (Dick Kennedy) [1923762] - scsi: lpfc: Fix status returned in lpfc_els_retry() error exit path (Dick Kennedy) [1923762] - scsi: lpfc: Fix use after free in lpfc_els_free_iocb (Dick Kennedy) [1923762] - scsi: lpfc: Fix null pointer dereference in lpfc_prep_els_iocb() (Dick Kennedy) [1923762] - scsi: lpfc: Fix unnecessary null check in lpfc_release_scsi_buf (Dick Kennedy) [1923762] - scsi: lpfc: Fix pt2pt connection does not recover after LOGO (Dick Kennedy) [1923762] - scsi: lpfc: Fix lpfc_els_retry() possible null pointer dereference (Dick Kennedy) [1923762] - scsi: lpfc: Fix FLOGI failure due to accessing a freed node (Dick Kennedy) [1923762] - scsi: lpfc: Fix stale node accesses on stale RRQ request (Dick Kennedy) [1923762] - scsi: lpfc: Fix reftag generation sizing errors (Dick Kennedy) [1923762] - scsi: lpfc: Fix vport indices in lpfc_find_vport_by_vpid() (Dick Kennedy) [1923762] - scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe (Dick Kennedy) [1923762] - scsi: lpfc: Fix 'physical' typos (Dick Kennedy) [1923762] - scsi: lpfc: Fix ancient double free (Dick Kennedy) [1923762] - scsi: lpfc: Fix kerneldoc inconsistency in lpfc_sli4_dump_page_a0() (Dick Kennedy) [1923762] - scsi: lpfc: Add support for eh_should_retry_cmd() (Dick Kennedy) [1923762] - scsi: lpfc: Simplify bool comparison (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.7 (Dick Kennedy) [1923762] - scsi: lpfc: Enhancements to LOG_TRACE_EVENT for better readability (Dick Kennedy) [1923762] - scsi: lpfc: Implement health checking when aborting I/O (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when nvmet transport calls host_release (Dick Kennedy) [1923762] - scsi: lpfc: Fix vport create logging (Dick Kennedy) [1923762] - scsi: lpfc: Fix NVMe recovery after mailbox timeout (Dick Kennedy) [1923762] - scsi: lpfc: Fix target reset failing (Dick Kennedy) [1923762] - scsi: lpfc: Fix error log messages being logged following SCSI task mgnt (Dick Kennedy) [1923762] - scsi: lpfc: Fix FW reset action if I/Os are outstanding (Dick Kennedy) [1923762] - scsi: lpfc: Use the nvme-fc transport supplied timeout for LS requests (Dick Kennedy) [1923762] - scsi: lpfc: Fix crash when a fabric node is released prematurely (Dick Kennedy) [1923762] - scsi: lpfc: Refresh ndlp when a new PRLI is received in the PRLI issue state (Dick Kennedy) [1923762] - scsi: lpfc: Fix auto sli_mode and its effect on CONFIG_PORT for SLI3 (Dick Kennedy) [1923762] - scsi: lpfc: Fix PLOGI S_ID of 0 on pt2pt config (Dick Kennedy) [1923762] - scsi: lpfc: Fix fall-through warnings for Clang (Dick Kennedy) [1923762] - scsi: lpfc: Correct null ndlp reference on routine exit (Dick Kennedy) [1923762] - scsi: lpfc: Use generic power management (Dick Kennedy) [1923762] - scsi: lpfc: Fix variable 'vport' set but not used in lpfc_sli4_abts_err_handler() (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing prototype for lpfc_nvmet_prep_abort_wqe() (Dick Kennedy) [1923762] - scsi: lpfc: Fix set but unused variables in lpfc_dev_loss_tmo_handler() (Dick Kennedy) [1923762] - scsi: lpfc: Fix set but not used warnings from Rework remote port lock handling (Dick Kennedy) [1923762] - scsi: lpfc: Fix missing prototype warning for lpfc_fdmi_vendor_attr_mi() (Dick Kennedy) [1923762] - scsi: lpfc: Fix memory leak on lcb_context (Dick Kennedy) [1923762] - scsi: lpfc: Remove dead code on second !ndlp check (Dick Kennedy) [1923762] - scsi: lpfc: Fix pointer defereference before it is null checked issue (Dick Kennedy) [1923762] - scsi: lpfc: Update changed file copyrights for 2020 (Dick Kennedy) [1923762] - scsi: lpfc: Update lpfc version to 12.8.0.6 (Dick Kennedy) [1923762] - scsi: lpfc: Convert abort handling to SLI-3 and SLI-4 handlers (Dick Kennedy) [1923762] - scsi: lpfc: Convert SCSI I/O completions to SLI-3 and SLI-4 handlers (Dick Kennedy) [1923762] - scsi: lpfc: Convert SCSI path to use common I/O submission path (Dick Kennedy) [1923762] - scsi: lpfc: Enable common send_io interface for SCSI and NVMe (Dick Kennedy) [1923762] - scsi: lpfc: Enable common wqe_template support for both SCSI and NVMe (Dick Kennedy) [1923762] - scsi: lpfc: Refactor WQE structure definitions for common use (Dick Kennedy) [1923762] - scsi: lpfc: Fix NPIV Fabric Node reference counting (Dick Kennedy) [1923762] - scsi: lpfc: Fix NPIV discovery and Fabric Node detection (Dick Kennedy) [1923762] - scsi: lpfc: Unsolicited ELS leaves node in incorrect state while dropping it (Dick Kennedy) [1923762] - scsi: lpfc: Remove ndlp when a PLOGI/ADISC/PRLI/REG_RPI ultimately fails (Dick Kennedy) [1923762] - scsi: lpfc: Rework remote port lock handling (Dick Kennedy) [1923762] - scsi: lpfc: Honor module parameter lpfc_use_adisc (Dick Kennedy) [1923762] - scsi: lpfc: Fix refcounting around SCSI and NVMe transport APIs (Dick Kennedy) [1923762] - scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure (Dick Kennedy) [1923762] - scsi: lpfc: Rework locations of ndlp reference taking (Dick Kennedy) [1923762] - scsi: lpfc: Rework remote port ref counting and node freeing (Dick Kennedy) [1923762] - scsi: lpfc: remove ScsiResult macro (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvmet: Fix-up some formatting and doc-rot issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvme: Fix some kernel-doc related issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_nvme: Remove unused variable 'phba' (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_bsg: Provide correct documentation for a bunch of functions (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_debugfs: Fix a couple of function documentation issues (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_attr: Fix-up a bunch of kernel-doc misdemeanours (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_attr: Demote kernel-doc format for redefined functions (Dick Kennedy) [1923762] - scsi: lpfc: lpfc_scsi: Fix a whole host of kernel-doc issues (Dick Kennedy) [1923762] - block: return -EBUSY when there are open partitions in blkdev_reread_part (Ming Lei) [1936800] - block: Try to handle busy underlying device on discard (Ming Lei) [1936800] - md: check for NULL ->meta_bdev before calling bdev_read_only (Ming Lei) [1936800] - blk-settings: align max_sectors on "logical_block_size" boundary (Ming Lei) [1936800] - nbd: handle device refs for DESTROY_ON_DISCONNECT properly (Ming Lei) [1936800] - kyber: introduce kyber_depth_updated() (Ming Lei) [1936800] - loop: fix I/O error on fsync() in detached loop devices (Ming Lei) [1936800] - block: fix potential IO hang when turning off io_poll (Ming Lei) [1936800] - bfq: Use only idle IO periods for think time calculations (Ming Lei) [1936800] - bfq: Use 'ttime' local variable (Ming Lei) [1936800] - bfq: Avoid false bfq queue merging (Ming Lei) [1936800] - bfq: bfq_check_waker() should be static (Ming Lei) [1936800] - block, bfq: make waker-queue detection more robust (Ming Lei) [1936800] - block, bfq: save also injection state on queue merging (Ming Lei) [1936800] - block, bfq: save also weight-raised service on queue merging (Ming Lei) [1936800] - block, bfq: fix switch back from soft-rt weitgh-raising (Ming Lei) [1936800] - block, bfq: re-evaluate convenience of I/O plugging on rq arrivals (Ming Lei) [1936800] - block, bfq: replace mechanism for evaluating I/O intensity (Ming Lei) [1936800] - block: set .bi_max_vecs as actual allocated vector number (Ming Lei) [1936800] - block: don't allocate inline bvecs if this bioset needn't bvecs (Ming Lei) [1936800] - block: don't pass BIOSET_NEED_BVECS for q->bio_split (Ming Lei) [1936800] - block: manage bio slab cache by xarray (Ming Lei) [1936800] - block, bfq: do not expire a queue when it is the only busy one (Ming Lei) [1936800] - block, bfq: avoid spurious switches to soft_rt of interactive queues (Ming Lei) [1936800] - block, bfq: do not raise non-default weights (Ming Lei) [1936800] - block, bfq: increase time window for waker detection (Ming Lei) [1936800] - block, bfq: use half slice_idle as a threshold to check short ttime (Ming Lei) [1936800] - brd: remove the end of device check in brd_do_bvec (Ming Lei) [1936800] - block: propagate BLKROSET on the whole device to all partitions (Ming Lei) [1936800] - block: add a hard-readonly flag to struct gendisk (Ming Lei) [1936800] - block: remove the NULL bdev check in bdev_read_only (Ming Lei) [1936800] - dm: use bdev_read_only to check if a device is read-only (Ming Lei) [1936800] - block: reopen the device in blkdev_reread_part (Ming Lei) [1936800] - block, bfq: set next_rq to waker_bfqq->next_rq in waker injection (Ming Lei) [1936800] - Revert "block: simplify set_init_blocksize" to regain lost performance (Ming Lei) [1936800] - bfq-iosched: Revert "bfq: Fix computation of shallow depth" (Ming Lei) [1936800] - blk-mq-debugfs: Add decode for BLK_MQ_F_TAG_HCTX_SHARED (Ming Lei) [1936800] - bfq: Fix computation of shallow depth (Ming Lei) [1936800] - block: rsxx: select CONFIG_CRC32 (Ming Lei) [1936800] - block: add debugfs stanza for QUEUE_FLAG_NOWAIT (Ming Lei) [1936800] - blk-mq: Don't complete on a remote CPU in force threaded mode (Ming Lei) [1936800] - blk-mq: Remove 'running from the wrong CPU' warning (Ming Lei) [1936800] - block: disable iopoll for split bio (Ming Lei) [1936800] - block: Improve blk_revalidate_disk_zones() checks (Ming Lei) [1936800] - sbitmap: replace CAS with atomic and (Ming Lei) [1936800] - sbitmap: remove swap_lock (Ming Lei) [1936800] - sbitmap: optimise sbitmap_deferred_clear() (Ming Lei) [1936800] - blk-mq: skip hybrid polling if iopoll doesn't spin (Ming Lei) [1936800] - blktrace: fix up a kerneldoc comment (Ming Lei) [1936800] - block: remove the unused block_sleeprq tracepoint (Ming Lei) [1936800] - blk-throttle: don't check whether or not lower limit is valid if CONFIG_BLK_DEV_THROTTLING_LOW is off (Ming Lei) [1936800] - block: fix inflight statistics of part0 (Ming Lei) [1936800] - block: optimise for_each_bvec() advance (Ming Lei) [1936800] - block: opencode devcgroup_inode_permission (Ming Lei) [1936800] - block: move bdput() to the callers of __blkdev_get (Ming Lei) [1936800] - block: refactor blkdev_get (Ming Lei) [1936800] - block: refactor __blkdev_put (Ming Lei) [1936800] - block: switch bdgrab to use igrab (Ming Lei) [1936800] - block: change the hash used for looking up block devices (Ming Lei) [1936800] - block: use put_device in put_disk (Ming Lei) [1936800] - block: use disk_part_iter_exit in disk_part_iter_next (Ming Lei) [1936800] - block: add a bdev_kobj helper (Ming Lei) [1936800] - block: remove a superflous check in blkpg_do_ioctl (Ming Lei) [1936800] - block: remove a duplicate __disk_get_part prototype (Ming Lei) [1936800] - loop: do not call set_blocksize (Ming Lei) [1936800] - zram: do not call set_blocksize (Ming Lei) [1936800] - block: wbt: Remove unnecessary invoking of wbt_update_limits in wbt_init (Ming Lei) [1936800] - virtio-blk: remove a spurious call to revalidate_disk_size (Ming Lei) [1936800] - md: remove a spurious call to revalidate_disk_size in update_size (Ming Lei) [1936800] - aoe: don't call set_capacity from irq context (Ming Lei) [1936800] - nbd: validate the block size in nbd_set_size (Ming Lei) [1936800] - nbd: refactor size updates (Ming Lei) [1936800] - nbd: move the task_recv check into nbd_size_update (Ming Lei) [1936800] - nbd: remove the call to set_blocksize (Ming Lei) [1936800] - loop: let set_capacity_revalidate_and_notify update the bdev size (Ming Lei) [1936800] - block: remove the call to __invalidate_device in check_disk_size_change (Ming Lei) [1936800] - block: fix the kerneldoc comment for __register_blkdev (Ming Lei) [1936800] - block: switch gendisk lookup to a simple xarray (Ming Lei) [1936800] - ide: switch to __register_blkdev for command set probing (Ming Lei) [1936800] - md: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - loop: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - brd: use __register_blkdev to allocate devices on demand (Ming Lei) [1936800] - sd: use __register_blkdev to avoid a modprobe for an unregistered dev_t (Ming Lei) [1936800] - swim: don't call blk_register_region (Ming Lei) [1936800] - ide: remove ide_{,un}register_region (Ming Lei) [1936800] - block: add an optional probe callback to major_names (Ming Lei) [1936800] - block: rework requesting modules for unclaimed devices (Ming Lei) [1936800] - block: split block_class_lock (Ming Lei) [1936800] - block: open code kobj_map into in block/genhd.c (Ming Lei) [1936800] - block: cleanup del_gendisk a bit (Ming Lei) [1936800] - loop: use set_disk_ro (Ming Lei) [1936800] - dasd: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - md: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - rbd: implement ->set_read_only to hook into BLKROSET processing (Ming Lei) [1936800] - block: add a new set_read_only method (Ming Lei) [1936800] - blk-cgroup: fix a hd_struct leak in blkcg_fill_root_iostats (Ming Lei) [1936800] - blk-cgroup: Pre-allocate tree node on blkg_conf_prep (Ming Lei) [1936800] - blk-cgroup: Fix memleak on error path (Ming Lei) [1936800] - blk-mq: remove the calling of local_memory_node() (Ming Lei) [1936800] - zram: Fix __zram_bvec_{read,write}() locking order (Ming Lei) [1936800] - skd_main: remove unused including (Ming Lei) [1936800] - sgl_alloc_order: fix memory leak (Ming Lei) [1936800] - block: fix uapi blkzoned.h comments (Ming Lei) [1936800] - blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue (Ming Lei) [1936800] - blk-mq: get rid of the dead flush handle code path (Ming Lei) [1936800] - block: get rid of unnecessary local variable (Ming Lei) [1936800] - block: fix comment and add lockdep assert (Ming Lei) [1936800] - blk-mq: use helper function to test hw stopped (Ming Lei) [1936800] - block: use helper function to test queue register (Ming Lei) [1936800] - block: remove redundant mq check (Ming Lei) [1936800] - block: invoke blk_mq_exit_sched no matter whether have .exit_sched (Ming Lei) [1936800] - block: ratelimit handle_bad_sector() message (Ming Lei) [1936800] - blk-throttle: Re-use the throtl_set_slice_end() (Ming Lei) [1936800] - blk-throttle: Open code __throtl_de/enqueue_tg() (Ming Lei) [1936800] - blk-throttle: Move service tree validation out of the throtl_rb_first() (Ming Lei) [1936800] - blk-throttle: Move the list operation after list validation (Ming Lei) [1936800] - blk-throttle: Fix IO hang for a corner case (Ming Lei) [1936800] - blk-throttle: Avoid tracking latency if low limit is invalid (Ming Lei) [1936800] - blk-throttle: Avoid getting the current time if tg->last_finish_time is 0 (Ming Lei) [1936800] - blk-throttle: Remove a meaningless parameter for throtl_downgrade_state() (Ming Lei) [1936800] - block: Remove redundant 'return' statement (Ming Lei) [1936800] - block: Consider only dispatched requests for inflight statistic (Ming Lei) [1936800] - block: remove the unused blk_integrity_merge_bio export (Ming Lei) [1936800] - block: remove the unused blk_integrity_merge_rq export (Ming Lei) [1936800] - blk-mq: add cond_resched() in __blk_mq_alloc_rq_maps() (Ming Lei) [1936800] - vsprintf: use bd_partno in bdev_name (Ming Lei) [1936800] - block: use bd_partno in bdevname (Ming Lei) [1936800] - target/iblock: fix holder printing in iblock_show_configfs_dev_params (Ming Lei) [1936800] - drbd: don't set ->bd_contains (Ming Lei) [1936800] - drbd: don't detour through bd_contains for the gendisk (Ming Lei) [1936800] - block: add a bdev_is_partition helper (Ming Lei) [1936800] - bdi: remove BDI_CAP_CGROUP_WRITEBACK (Ming Lei) [1936800] - block: lift setting the readahead size into the block layer (Ming Lei) [1936800] - bdi: initialize ->ra_pages and ->io_pages in bdi_init (Ming Lei) [1936800] - block: ensure bdi->io_pages is always initialized (Ming Lei) [1936800] - aoe: set an optimal I/O size (Ming Lei) [1936800] - drbd: remove dead code in device_to_statistics (Ming Lei) [1936800] - raw: don't keep unopened block device around (Ming Lei) [1936800] - zram: cleanup backing_dev_store (Ming Lei) [1936800] - zram: fix double free backing device (Ming Lei) [1936800] - pktcdvd: use blkdev_get_by_dev instead of open coding it (Ming Lei) [1936800] - pktcdvd: remove the if 0'ed pkt_start_recovery function (Ming Lei) [1936800] - block: cleanup blkdev_bszset (Ming Lei) [1936800] - block: move the NEED_PART_SCAN flag to struct gendisk (Ming Lei) [1936800] - block: drop double zeroing (Ming Lei) [1936800] - blk-throttle: Avoid checking bps/iops limitation if bps or iops is unlimited (Ming Lei) [1936800] - blk-throttle: Avoid calculating bps/iops limitation repeatedly (Ming Lei) [1936800] - blk-throttle: Define readable macros instead of static variables (Ming Lei) [1936800] - blk-throttle: Use readable READ/WRITE macros (Ming Lei) [1936800] - blk-throttle: Fix some comments' typos (Ming Lei) [1936800] - block: introduce part_[begin|end]_io_acct (Ming Lei) [1936800] - blkcg: add plugging support for punt bio (Ming Lei) [1936800] - block: remove check_disk_change (Ming Lei) [1936800] - sr: simplify sr_block_revalidate_disk (Ming Lei) [1936800] - sr: use bdev_check_media_change (Ming Lei) [1936800] - sd: use bdev_check_media_change (Ming Lei) [1936800] - md: use bdev_check_media_change (Ming Lei) [1936800] - gdrom: use bdev_check_media_change (Ming Lei) [1936800] - paride/pcd: use bdev_check_media_change (Ming Lei) [1936800] - xsysace: simplify media change handling (Ming Lei) [1936800] - xsysace: use bdev_check_media_change (Ming Lei) [1936800] - swim3: use bdev_check_media_changed (Ming Lei) [1936800] - swim: simplify media change handling (Ming Lei) [1936800] - swim: use bdev_check_media_change (Ming Lei) [1936800] - ataflop: use bdev_check_media_change (Ming Lei) [1936800] - amiflop: use bdev_check_media_change (Ming Lei) [1936800] - block: add a bdev_check_media_change helper (Ming Lei) [1936800] - block: Remove unused blk_mq_sched_free_hctx_data() (Ming Lei) [1936800] - block: Do not discard buffers under a mounted filesystem (Ming Lei) [1936800] - fs: Don't invalidate page buffers in block_write_full_page() (Ming Lei) [1936800] - block: remove revalidate_disk() (Ming Lei) [1936800] - nvdimm: simplify revalidate_disk handling (Ming Lei) [1936800] - sd: open code revalidate_disk (Ming Lei) [1936800] - nvme: opencode revalidate_disk in nvme_validate_ns (Ming Lei) [1936800] - block: use revalidate_disk_size in set_capacity_revalidate_and_notify (Ming Lei) [1936800] - block: add a new revalidate_disk_size helper (Ming Lei) [1936800] - block: rename bd_invalidated (Ming Lei) [1936800] - block: don't clear bd_invalidated in check_disk_size_change (Ming Lei) [1936800] - block: better deal with the delayed not supported case in blk_cloned_rq_check_limits (Ming Lei) [1936800] - block: Return blk_status_t instead of errno codes (Ming Lei) [1936800] - block: grant IOPRIO_CLASS_RT to CAP_SYS_NICE (Ming Lei) [1936800] - block: remove the unused q argument to part_in_flight and part_in_flight_rw (Ming Lei) [1936800] - block: remove the disk argument to delete_partition (Ming Lei) [1936800] - block: move the devcgroup_inode_permission call to blkdev_get (Ming Lei) [1936800] - blk-mq: use BLK_MQ_NO_TAG for no tag (Ming Lei) [1936800] - block: Move blk_mq_bio_list_merge() into blk-merge.c (Ming Lei) [1936800] - block: Move bio merge related functions into blk-merge.c (Ming Lei) [1936800] - blk-wbt: Remove obsolete multiqueue I/O scheduling comment (Ming Lei) [1936800] - raw: deprecate the raw driver (Ming Lei) [1936800] - nvme: don't call revalidate_disk from nvme_set_queue_dying (Ming Lei) [1936800] - block: fix locking for struct block_device size updates (Ming Lei) [1936800] - block: replace bd_set_size with bd_set_nr_sectors (Ming Lei) [1936800] - block: Make request_queue.rpm_status an enum (Ming Lei) [1936800] - mmc: remove the call to check_disk_change (Ming Lei) [1936800] - block: integrate bd_start_claiming into __blkdev_get (Ming Lei) [1936800] - block: use bd_prepare_to_claim directly in the loop driver (Ming Lei) [1936800] - block: refactor bd_start_claiming (Ming Lei) [1936800] - block: simplify the restart case in __blkdev_get (Ming Lei) [1936800] - block: simplify set_init_blocksize (Ming Lei) [1936800] - block: remove flush_disk (Ming Lei) [1936800] - block: move block-related definitions out of fs.h (Ming Lei) [1936800] - xen-blkfront.c: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1936800]- redhat/configs: Add CONFIG_PINCTRL_EMMITSBURG (David Arcari) [1959506] - redhat/configs: Remove CONFIG_EMMITSBURG (David Arcari) [1959506] - fuse: fix write deadlock (Miklos Szeredi) [1904597] - sched/debug: Fix cgroup_path[] serialization (Waiman Long) [1954363] - KVM: x86/xen: Take srcu lock when accessing kvm_memslots() (Paolo Bonzini) [1945742] - KVM: SVM: Allocate SEV command structures on local stack (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack and common buffer for INIT command (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack and common buffer for status commands (Paolo Bonzini) [1945742] - crypto: ccp: Use the stack for small SEV command buffers (Paolo Bonzini) [1945742] - crypto: ccp: Play nice with vmalloc'd memory for SEV command structs (Paolo Bonzini) [1945742] - crypto: ccp: Reject SEV commands with mismatching command buffer (Paolo Bonzini) [1945742] - crypto: ccp: Detect and reject "invalid" addresses destined for PSP (Paolo Bonzini) [1945742] - crypto: ccp: Free SEV device if SEV init fails (Paolo Bonzini) [1945742] - crypto: ccp - Fix sparse warnings in sev-dev (Paolo Bonzini) [1945742] - drivers/crypto/ccp/sev-dev.c: get rid of pointless access_ok() (Paolo Bonzini) [1945742] - crypto: ccp - Add support for SEV-ES to the PSP driver (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_RECEIVE_FINISH command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_RECEIVE_UPDATE_DATA command (Paolo Bonzini) [1945742] - KVM: SVM: Add support for KVM_SEV_RECEIVE_START command (Paolo Bonzini) [1945742] - KVM: SVM: Add support for KVM_SEV_SEND_CANCEL command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV_SEND_FINISH command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEND_UPDATE_DATA command (Paolo Bonzini) [1945742] - KVM: SVM: Add KVM_SEV SEND_START command (Paolo Bonzini) [1945742] - KVM: Boost vCPU candidate in user mode which is delivering interrupt (Paolo Bonzini) [1945742] - nSVM: Check addresses of MSR and IO permission maps (Paolo Bonzini) [1945742] - KVM: SVM: Define actual size of IOPM and MSRPM tables (Paolo Bonzini) [1945742] - KVM: vmx: add mismatched size assertions in vmcs_check32() (Paolo Bonzini) [1945742] - KVM: Add proper lockdep assertion in I/O bus unregister (Paolo Bonzini) [1945742] - KVM: Stop looking for coalesced MMIO zones if the bus is destroyed (Paolo Bonzini) [1945742] - KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU (Paolo Bonzini) [1945742] - KVM: SVM: Enhance and clean up the vmcb tracking comment in pre_svm_run() (Paolo Bonzini) [1945742] - KVM: SVM: Add a comment to clarify what vcpu_svm.vmcb points at (Paolo Bonzini) [1945742] - KVM: SVM: Drop vcpu_svm.vmcb_pa (Paolo Bonzini) [1945742] - KVM: SVM: Don't set current_vmcb->cpu when switching vmcb (Paolo Bonzini) [1945742] - KVM: SVM: Make sure GHCB is mapped before updating (Paolo Bonzini) [1945742] - KVM: X86: Do not yield to self (Paolo Bonzini) [1945742] - KVM: X86: Count attempted/successful directed yield (Paolo Bonzini) [1945742] - KVM: x86/mmu: Protect the tdp_mmu_roots list with RCU (Paolo Bonzini) [1945742] - KVM: x86/mmu: handle cmpxchg failure in kvm_tdp_mmu_get_root (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make TDP MMU root refcount atomic (Paolo Bonzini) [1945742] - KVM: x86: implement KVM_CAP_SET_GUEST_DEBUG2 (Paolo Bonzini) [1945742] - KVM: x86/mmu: Refactor yield safe root iterator (Paolo Bonzini) [1945742] - KVM: x86/mmu: Merge TDP MMU put and free root (Paolo Bonzini) [1945742] - KVM: x86/mmu: use tdp_mmu_free_sp to free roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move kvm_mmu_(get|put)_root to TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Re-add const qualifier in kvm_tdp_mmu_zap_collapsible_sptes (Paolo Bonzini) [1945742] - KVM: constify kvm_arch_flush_remote_tlbs_memslot (Paolo Bonzini) [1945742] - KVM: Explicitly use GFP_KERNEL_ACCOUNT for 'struct kvm_vcpu' allocations (Paolo Bonzini) [1945742] - KVM: MMU: protect TDP MMU pages only down to required level (Paolo Bonzini) [1945742] - KVM: introduce KVM_CAP_SET_GUEST_DEBUG2 (Paolo Bonzini) [1945742] - KVM: x86: pending exceptions must not be blocked by an injected event (Paolo Bonzini) [1945742] - KVM: nSVM: call nested_svm_load_cr3 on nested state load (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should include the autoload/autostore MSR lists (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should show the effective EFER (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should consider only the load controls of EFER/PAT (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should not conflate EFER and PAT presence in VMCS (Paolo Bonzini) [1945742] - KVM: x86: dump_vmcs should not assume GUEST_IA32_EFER is valid (Paolo Bonzini) [1945742] - KVM: nSVM: improve SYSENTER emulation on AMD (Paolo Bonzini) [1945742] - KVM: x86: add guest_cpuid_is_intel (Paolo Bonzini) [1945742] - KVM: x86: Account a variety of miscellaneous allocations (Paolo Bonzini) [1945742] - KVM: SVM: Do not allow SEV/SEV-ES initialization after vCPUs are created (Paolo Bonzini) [1945742] - KVM: SVM: Do not set sev->es_active until KVM_SEV_ES_INIT completes (Paolo Bonzini) [1945742] - KVM: SVM: Use online_vcpus, not created_vcpus, to iterate over vCPUs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Simplify code for aging SPTEs in TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove spurious clearing of dirty bit from TDP MMU SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use leaf-only loop for walking TDP SPTEs when changing SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass address space ID to TDP MMU root walkers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass address space ID to __kvm_tdp_mmu_zap_gfn_range() (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TLB flushes across address spaces for gfn range zap (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TLB flushes when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move flushing for "slot" handlers to caller for legacy MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Coalesce TDP MMU TLB flushes when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/vPMU: Forbid reading from MSR_F15H_PERF MSRs when guest doesn't have X86_FEATURE_PERFCTR_CORE (Paolo Bonzini) [1945742] - KVM: nSVM: If VMRUN is single-stepped, queue the #DB intercept in nested_svm_vmexit() (Paolo Bonzini) [1945742] - KVM: MMU: load PDPTRs outside mmu_lock (Paolo Bonzini) [1945742] - KVM: SVM: ensure that EFER.SVME is set when running nested guest or on nested vmexit (Paolo Bonzini) [1945742] - KVM: SVM: load control fields from VMCB12 before checking them (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap (Paolo Bonzini) [1945742] - KVM: make: Fix out-of-source module builds (Paolo Bonzini) [1945742] - KVM: x86/vPMU: Forbid writing to MSR_F15H_PERF MSRs when guest doesn't have X86_FEATURE_PERFCTR_CORE (Paolo Bonzini) [1945742] - KVM: x86: remove unused declaration of kvm_write_tsc() (Paolo Bonzini) [1945742] - KVM: clean up the unused argument (Paolo Bonzini) [1945742] - x86/kvm: Fix broken irq restoration in kvm_wait (Paolo Bonzini) [1945742] - KVM: X86: Fix missing local pCPU when executing wbinvd on all dirty pCPUs (Paolo Bonzini) [1945742] - KVM: x86: Protect userspace MSR filter with SRCU, and set atomically-ish (Paolo Bonzini) [1945742] - KVM: x86/mmu: Store the address space ID in the TDP iterator (Paolo Bonzini) [1945742] - KVM: x86/mmu: Factor out tdp_iter_return_to_root (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix RCU usage when atomically zapping SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix RCU usage in handle_removed_tdp_mmu_page (Paolo Bonzini) [1945742] - KVM: x86/mmu: Mark the PAE roots as decrypted for shadow paging (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use '0' as the one and only value for an invalid PAE root (Paolo Bonzini) [1945742] - KVM: VMX: Track root HPA instead of EPTP for paravirt Hyper-V TLB flush (Paolo Bonzini) [1945742] - KVM: VMX: Skip additional Hyper-V TLB EPTP flushes if one fails (Paolo Bonzini) [1945742] - KVM: VMX: Define Hyper-V paravirt TLB flush fields iff Hyper-V is enabled (Paolo Bonzini) [1945742] - KVM: VMX: Explicitly check for hv_remote_flush_tlb when loading pgd (Paolo Bonzini) [1945742] - KVM: VMX: Don't invalidate hv_tlb_eptp if the new EPTP matches (Paolo Bonzini) [1945742] - KVM: VMX: Invalidate hv_tlb_eptp to denote an EPTP mismatch (Paolo Bonzini) [1945742] - KVM: VMX: Do Hyper-V TLB flush iff vCPU's EPTP hasn't been flushed (Paolo Bonzini) [1945742] - KVM: VMX: Fold Hyper-V EPTP checking into it's only caller (Paolo Bonzini) [1945742] - KVM: VMX: Stash kvm_vmx in a local variable for Hyper-V paravirt TLB flush (Paolo Bonzini) [1945742] - KVM: VMX: Track common EPTP for Hyper-V's paravirt TLB flush (Paolo Bonzini) [1945742] - KVM: x86: Get active PCID only when writing a CR3 value (Paolo Bonzini) [1945742] - KVM/SVM: Move vmenter.S exception fixups out of line (Paolo Bonzini) [1945742] - KVM: x86/mmu: Dump reserved bits if they're detected on non-MMIO SPTE (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use low available bits for removed SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use is_removed_spte() instead of open coded equivalents (Paolo Bonzini) [1945742] - KVM: x86/mmu: Tweak auditing WARN for A/D bits to !PRESENT (was MMIO) (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use a dedicated bit to track shadow/MMU-present SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use high bits for host/mmu writable masks for EPT SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make Host-writable and MMU-writable bit locations dynamic (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move logic for setting SPTE masks for EPT into the MMU proper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Co-locate code for setting various SPTE masks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Move initial kvm_mmu_set_mask_ptes() call into MMU proper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Document dependency bewteen TDP A/D type and saved bits (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use MMIO SPTE bits 53 and 52 for the MMIO generation (Paolo Bonzini) [1945742] - KVM: x86/mmu: Rename and document A/D scheme for TDP SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add module param to disable MMIO caching (for testing) (Paolo Bonzini) [1945742] - KVM: x86/mmu: Stop using software available bits to denote MMIO SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Rename 'mask' to 'spte' in MMIO SPTE helpers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Drop redundant trace_kvm_mmu_set_spte() in the TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Handle MMIO SPTEs directly in mmu_set_spte() (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't install bogus MMIO SPTEs if MMIO caching is disabled (Paolo Bonzini) [1945742] - KVM: x86/mmu: Retry page faults that hit an invalid memslot (Paolo Bonzini) [1945742] - KVM: x86/mmu: Disable MMIO caching if MMIO value collides with L1TF (Paolo Bonzini) [1945742] - KVM: x86/mmu: Bail from fast_page_fault() if SPTE is not shadow-present (Paolo Bonzini) [1945742] - KVM: x86/mmu: Check for shadow-present SPTE before querying A/D status (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add convenience wrapper for acting on single hva in TDP MMU (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add typedefs for rmap/iter handlers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use 'end' param in TDP MMU's test_age_gfn() (Paolo Bonzini) [1945742] - KVM: x86/mmu: WARN if TDP MMU's set_tdp_spte() sees multiple GFNs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove spurious TLB flush from TDP MMU's change_pte() hook (Paolo Bonzini) [1945742] - KVM: x86: mmu: initialize fault.async_page_fault in walk_addr_generic (Paolo Bonzini) [1945742] - KVM: x86: determine if an exception has an error code only when injecting it. (Paolo Bonzini) [1945742] - KVM: nSVM: Optimize vmcb12 to vmcb02 save area copies (Paolo Bonzini) [1945742] - KVM: SVM: Add support for Virtual SPEC_CTRL (Paolo Bonzini) [1945742] - x86/cpufeatures: Add the Virtual SPEC_CTRL feature (Paolo Bonzini) [1945742] - KVM: nSVM: always use vmcb01 to for vmsave/vmload of guest state (Paolo Bonzini) [1945742] - KVM: SVM: move VMLOAD/VMSAVE to C code (Paolo Bonzini) [1945742] - KVM: SVM: Skip intercepted PAUSE instructions after emulation (Paolo Bonzini) [1945742] - KVM: SVM: Don't manually emulate RDPMC if nrips=0 (Paolo Bonzini) [1945742] - KVM: x86: Move RDPMC emulation to common code (Paolo Bonzini) [1945742] - KVM: x86: Move trivial instruction-based exit handlers to common code (Paolo Bonzini) [1945742] - KVM: x86: Move XSETBV emulation to common code (Paolo Bonzini) [1945742] - KVM: nSVM: Add VMLOAD/VMSAVE helper to deduplicate code (Paolo Bonzini) [1945742] - KVM: nSVM: Add helper to synthesize nested VM-Exit without collateral (Paolo Bonzini) [1945742] - KVM: x86: Handle triple fault in L2 without killing L1 (Paolo Bonzini) [1945742] - KVM: SVM: Pass struct kvm_vcpu to exit handlers (and many, many other places) (Paolo Bonzini) [1945742] - KVM: SVM: merge update_cr0_intercept into svm_set_cr0 (Paolo Bonzini) [1945742] - KVM: nSVM: Trace VM-Enter consistency check failures (Paolo Bonzini) [1945742] - KVM: x86: Move nVMX's consistency check macro to common code (Paolo Bonzini) [1945742] - KVM: nSVM: Add missing checks for reserved bits to svm_set_nested_state() (Paolo Bonzini) [1945742] - KVM: nSVM: only copy L1 non-VMLOAD/VMSAVE data in svm_set_nested_state() (Paolo Bonzini) [1945742] - KVM: nSVM: do not mark all VMCB02 fields dirty on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: do not mark all VMCB01 fields dirty on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: do not copy vmcb01->control blindly to vmcb02->control (Paolo Bonzini) [1945742] - KVM: nSVM: rename functions and variables according to vmcbXY nomenclature (Paolo Bonzini) [1945742] - KVM: nSVM: Track the ASID generation of the vmcb vmrun through the vmcb (Paolo Bonzini) [1945742] - KVM: nSVM: Track the physical cpu of the vmcb vmrun through the vmcb (Paolo Bonzini) [1945742] - KVM: SVM: Use a separate vmcb for the nested L2 guest (Paolo Bonzini) [1945742] - KVM: nSVM: Set the shadow root level to the TDP level for nested NPT (Paolo Bonzini) [1945742] - KVM: SVM: Don't strip the C-bit from CR2 on #PF interception (Paolo Bonzini) [1945742] - KVM: x86/mmu: WARN on NULL pae_root or lm_root, or bad shadow root level (Paolo Bonzini) [1945742] - KVM: x86/mmu: Sync roots after MMU load iff load as successful (Paolo Bonzini) [1945742] - KVM: x86/mmu: Unexport MMU load/unload functions (Paolo Bonzini) [1945742] - KVM: x86: Defer the MMU unload to the normal path on an global INVPCID (Paolo Bonzini) [1945742] - KVM: nVMX: Defer the MMU reload to the normal path on an EPTP switch (Paolo Bonzini) [1945742] - KVM: x86/mmu: Set the C-bit in the PDPTRs and LM pseudo-PDPTRs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix and unconditionally enable WARNs to detect PAE leaks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Check PDPTRs before allocating PAE roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Ensure MMU pages are available when allocating roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Allocate pae_root and lm_root pages in dedicated helper (Paolo Bonzini) [1945742] - KVM: x86/mmu: Allocate the lm_root before allocating PAE roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Capture 'mmu' in a local variable when allocating roots (Paolo Bonzini) [1945742] - KVM: x86/mmu: Alloc page for PDPTEs when shadowing 32-bit NPT with 64-bit (Paolo Bonzini) [1945742] - KVM: x86: to track if L1 is running L2 VM (Paolo Bonzini) [1945742] - KVM: LAPIC: Advancing the timer expiration on guest initiated write (Paolo Bonzini) [1945742] - KVM: x86/mmu: Skip !MMU-present SPTEs when removing SP in exclusive mode (Paolo Bonzini) [1945742] - KVM: kvmclock: Fix vCPUs > 64 can't be online/hotpluged (Paolo Bonzini) [1945742] - kvm: x86: use NULL instead of using plain integer as pointer (Paolo Bonzini) [1945742] - KVM: SVM: Connect 'npt' module param to KVM's internal 'npt_enabled' (Paolo Bonzini) [1945742] - KVM: x86: Ensure deadline timer has truly expired before posting its IRQ (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix return code when clearing vcpu_info and vcpu_time_info (Paolo Bonzini) [1945742] - KVM: x86/mmu: Set SPTE_AD_WRPROT_ONLY_MASK if and only if PML is enabled (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Fix Hyper-V context null-ptr-deref (Paolo Bonzini) [1945742] - KVM: SVM: Fix nested VM-Exit on #GP interception handling (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Fix dummy check if lbr_desc->event is created (Paolo Bonzini) [1945742] - KVM: x86/mmu: Consider the hva in mmu_notifier retry (Paolo Bonzini) [1945742] - kernel.h: split out min()/max() et al. helpers (Paolo Bonzini) [1945742] - KVM: x86/mmu: Skip mmu_notifier check when handling MMIO page fault (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove a variety of unnecessary exports (Paolo Bonzini) [1945742] - KVM: x86: Fold "write-protect large" use case into generic write-protect (Paolo Bonzini) [1945742] - KVM: x86/mmu: Don't set dirty bits when disabling dirty logging w/ PML (Paolo Bonzini) [1945742] - KVM: VMX: Dynamically enable/disable PML based on memslot dirty logging (Paolo Bonzini) [1945742] - KVM: x86: Further clarify the logic and comments for toggling log dirty (Paolo Bonzini) [1945742] - KVM: x86: Move MMU's PML logic to common code (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make dirty log size hook (PML) a value, not a function (Paolo Bonzini) [1945742] - KVM: x86/mmu: Expand on the comment in kvm_vcpu_ad_need_write_protect() (Paolo Bonzini) [1945742] - KVM: nVMX: Disable PML in hardware when running L2 (Paolo Bonzini) [1945742] - KVM: x86/mmu: Consult max mapping level when zapping collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86/mmu: Pass the memslot to the rmap callbacks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Split out max mapping level calculation to helper (Paolo Bonzini) [1945742] - KVM: nVMX: no need to undo inject_page_fault change on nested vmexit (Paolo Bonzini) [1945742] - KVM: nSVM: move nested vmrun tracepoint to enter_svm_guest_mode (Paolo Bonzini) [1945742] - KVM: VMX: read idt_vectoring_info a bit earlier (Paolo Bonzini) [1945742] - KVM: VMX: Allow INVPCID in guest without PCID (Paolo Bonzini) [1945742] - KVM: x86: Advertise INVPCID by default (Paolo Bonzini) [1945742] - KVM: SVM: Intercept INVPCID when it's disabled to inject #UD (Paolo Bonzini) [1945742] - KVM: x86/mmu: Make HVA handler retpoline-friendly (Paolo Bonzini) [1945742] - KVM: x86: move kvm_inject_gp up from kvm_set_dr to callers (Paolo Bonzini) [1945742] - KVM: x86: reading DR cannot fail (Paolo Bonzini) [1945742] - KVM: SVM: Remove an unnecessary forward declaration (Paolo Bonzini) [1945742] - KVM: SVM: Move AVIC vCPU kicking snippet to helper function (Paolo Bonzini) [1945742] - KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64 (Paolo Bonzini) [1945742] - KVM: x86: Remove misleading DR6/DR7 adjustments from RSM emulation (Paolo Bonzini) [1945742] - KVM: x86/xen: Use hva_t for holding hypercall page address (Paolo Bonzini) [1945742] - KVM: x86/xen: Remove extra unlock in kvm_xen_hvm_set_attr() (Paolo Bonzini) [1945742] - KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() (Paolo Bonzini) [1945742] - KVM: x86: Add helper to consolidate "raw" reserved GPA mask calculations (Paolo Bonzini) [1945742] - KVM: selftests: Always run vCPU thread with blocked SIG_IPI (Paolo Bonzini) [1945742] - KVM: selftests: Sync data verify of dirty logging with guest sync (Paolo Bonzini) [1945742] - KVM: selftests: Add a test for kvm page table code (Paolo Bonzini) [1945742] - KVM: selftests: Adapt vm_userspace_mem_region_add to new helpers (Paolo Bonzini) [1945742] - KVM: selftests: List all hugetlb src types specified with page sizes (Paolo Bonzini) [1945742] - tools/headers: sync headers of asm-generic/hugetlb_encode.h (Paolo Bonzini) [1945742] - tools include uapi: Update linux/mmap.h copy (Paolo Bonzini) [1945742] - tools UAPI: Update copy of linux/mman.h from the kernel sources (Paolo Bonzini) [1945742] - mm/hugetlb: add mmap() encodings for 32MB and 512MB page sizes (Paolo Bonzini) [1945742] - RHEL: Add #defines for 16k hugepages (Paolo Bonzini) [1945742] - KVM: selftests: Add a helper to get system default hugetlb page size (Paolo Bonzini) [1945742] - KVM: selftests: Add a helper to get system configured THP page size (Paolo Bonzini) [1945742] - KVM: selftests: Make a generic helper to get vm guest mode strings (Paolo Bonzini) [1945742] - KVM: selftests: Print the errno besides error-string in TEST_ASSERT (Paolo Bonzini) [1945742] - KVM: selftests: remove redundant semi-colon (Paolo Bonzini) [1945742] - selftests: kvm: Check that TSC page value is small after KVM_SET_CLOCK(0) (Paolo Bonzini) [1945742] - KVM: x86: Prevent 'hv_clock->system_time' from going negative in kvm_guest_time_update() (Paolo Bonzini) [1945742] - selftests: kvm: make hardware_disable_test less verbose (Paolo Bonzini) [1945742] - selftests: kvm: add set_boot_cpu_id test (Paolo Bonzini) [1945742] - selftests: kvm: add _vm_ioctl (Paolo Bonzini) [1945742] - selftests: kvm: add get_msr_index_features (Paolo Bonzini) [1945742] - KVM: x86/xen: Add support for vCPU runstate information (Paolo Bonzini) [1945742] - RHEL: configs: do not enable CONFIG_KVM_XEN (Paolo Bonzini) [1945742] - KVM: x86: allow compiling out the Xen hypercall interface (Paolo Bonzini) [1945742] - KVM: x86: compile out TDP MMU on 32-bit systems (Paolo Bonzini) [1945742] - KVM: xen: flush deferred static key before checking it (Paolo Bonzini) [1945742] - KVM: x86/xen: Explicitly pad struct compat_vcpu_info to 64 bytes (Paolo Bonzini) [1945742] - KVM: x86/xen: Allow reset of Xen attributes (Paolo Bonzini) [1945742] - KVM: Documentation: rectify rst markup in kvm_run->flags (Paolo Bonzini) [1945742] - Documentation: kvm: fix messy conversion from .txt to .rst (Paolo Bonzini) [1945742] - KVM: Documentation: rectify rst markup in KVM_GET_SUPPORTED_HV_CPUID (Paolo Bonzini) [1945742] - Documentation: kvm: fix warning (Paolo Bonzini) [1945742] - KVM: Add documentation for Xen hypercall and shared_info updates (Paolo Bonzini) [1945742] - KVM: X86: Add the Document for KVM_CAP_X86_BUS_LOCK_EXIT (Paolo Bonzini) [1945742] - KVM: Documentation: Fix documentation for nested. (Paolo Bonzini) [1945742] - KVM: Documentation: Add arm64 KVM_RUN error codes (Paolo Bonzini) [1945742] - KVM: Documentation: Update entry for KVM_CAP_ENFORCE_PV_CPUID (Paolo Bonzini) [1945742] - KVM: Documentation: Update entry for KVM_X86_SET_MSR_FILTER (Paolo Bonzini) [1945742] - docs: kvm: add documentation for KVM_CAP_S390_DIAG318 (Paolo Bonzini) [1945742] - selftests: kvm: Mmap the entire vcpu mmap area (Paolo Bonzini) [1945742] - selftests: kvm: avoid uninitialized variable warning (Paolo Bonzini) [1945742] - selftests: kvm: add hardware_disable test (Paolo Bonzini) [1945742] - KVM: selftests: Don't bother mapping GVA for Xen shinfo test (Paolo Bonzini) [1945742] - KVM: selftests: Fix hex vs. decimal snafu in Xen test (Paolo Bonzini) [1945742] - KVM: selftests: Fix size of memslots created by Xen tests (Paolo Bonzini) [1945742] - KVM: selftests: Ignore recently added Xen tests' build output (Paolo Bonzini) [1945742] - KVM: x86: declare Xen HVM shared info capability and add test case (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Drop hv_vcpu_to_vcpu() helper (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Allocate Hyper-V context lazily (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Make Hyper-V emulation enablement conditional (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Allocate 'struct kvm_vcpu_hv' dynamically (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Prepare to meet unallocated Hyper-V context (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Always use to_hv_vcpu() accessor to get to 'struct kvm_vcpu_hv' (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Stop shadowing global 'current_vcpu' variable (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Introduce to_kvm_hv() helper (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_hv_syndbg() to to_hv_syndbg() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_stimer()/stimer_to_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_synic()/synic_to_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Rename vcpu_to_hv_vcpu() to to_hv_vcpu() (Paolo Bonzini) [1945742] - KVM: x86: hyper-v: Drop unused kvm_hv_vapic_assist_page_enabled() (Paolo Bonzini) [1945742] - KVM: x86/xen: Add event channel interrupt vector upcall (Paolo Bonzini) [1945742] - KVM: x86/xen: register vcpu time info region (Paolo Bonzini) [1945742] - KVM: x86/xen: setup pvclock updates (Paolo Bonzini) [1945742] - KVM: x86/xen: register vcpu info (Paolo Bonzini) [1945742] - KVM: x86/xen: Add KVM_XEN_VCPU_SET_ATTR/KVM_XEN_VCPU_GET_ATTR (Paolo Bonzini) [1945742] - KVM: x86/xen: update wallclock region (Paolo Bonzini) [1945742] - xen: add wc_sec_hi to struct shared_info (Paolo Bonzini) [1945742] - KVM: x86/xen: register shared_info page (Paolo Bonzini) [1945742] - KVM: x86/xen: add definitions of compat_shared_info, compat_vcpu_info (Paolo Bonzini) [1945742] - KVM: x86/xen: latch long_mode when hypercall page is set up (Paolo Bonzini) [1945742] - KVM: x86/xen: add KVM_XEN_HVM_SET_ATTR/KVM_XEN_HVM_GET_ATTR (Paolo Bonzini) [1945742] - KVM: x86/xen: Add kvm_xen_enabled static key (Paolo Bonzini) [1945742] - KVM: x86/xen: Move KVM_XEN_HVM_CONFIG handling to xen.c (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix coexistence of Xen and Hyper-V hypercalls (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add helper to generate mask of reserved HPA bits (Paolo Bonzini) [1945742] - KVM: x86: Use reserved_gpa_bits to calculate reserved PxE bits (Paolo Bonzini) [1945742] - KVM: x86: SEV: Treat C-bit as legal GPA bit regardless of vCPU mode (Paolo Bonzini) [1945742] - KVM: nSVM: Use common GPA helper to check for illegal CR3 (Paolo Bonzini) [1945742] - KVM: VMX: Use GPA legality helpers to replace open coded equivalents (Paolo Bonzini) [1945742] - KVM: x86: Add a helper to handle legal GPA with an alignment requirement (Paolo Bonzini) [1945742] - KVM: x86: Add a helper to check for a legal GPA (Paolo Bonzini) [1945742] - KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs (Paolo Bonzini) [1945742] - KVM: x86: Set so called 'reserved CR3 bits in LM mask' at vCPU reset (Paolo Bonzini) [1945742] - KVM: x86/xen: intercept xen hypercalls if enabled (Paolo Bonzini) [1945742] - KVM: selftests: Add missing header file needed by xAPIC IPI tests (Paolo Bonzini) [1945742] - KVM: selftests: Add operand to vmsave/vmload/vmrun in svm.c (Paolo Bonzini) [1945742] - selftests: kvm: Properly set Hyper-V CPUIDs in evmcs_test (Paolo Bonzini) [1945742] - selftests: kvm: Move kvm_get_supported_hv_cpuid() to common code (Paolo Bonzini) [1945742] - selftest: kvm: x86: test KVM_GET_CPUID2 and guest visible CPUIDs against KVM_GET_SUPPORTED_CPUID (Paolo Bonzini) [1945742] - selftests: kvm/x86: add test for pmu msr MSR_IA32_PERF_CAPABILITIES (Paolo Bonzini) [1945742] - KVM: selftests: Disable dirty logging with vCPUs running (Paolo Bonzini) [1945742] - KVM: selftests: Add backing src parameter to dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Add memslot modification stress test (Paolo Bonzini) [1945742] - KVM: selftests: Add option to overlap vCPU memory access (Paolo Bonzini) [1945742] - KVM: selftests: Fix population stage in dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Convert iterations to int in dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Avoid flooding debug log while populating memory (Paolo Bonzini) [1945742] - KVM: selftests: Rename timespec_diff_now to timespec_elapsed (Paolo Bonzini) [1945742] - KVM: selftests: Test IPI to halted vCPU in xAPIC while backing page moves (Paolo Bonzini) [1945742] - KVM: selftests: Implement perf_test_util more conventionally (Paolo Bonzini) [1945742] - KVM: selftests: Use vm_create_with_vcpus in create_vm (Paolo Bonzini) [1945742] - KVM: selftests: Factor out guest mode code (Paolo Bonzini) [1945742] - selftests: kvm: Merge user_msr_test into userspace_msr_exit_test (Paolo Bonzini) [1945742] - selftests: kvm: Test MSR exiting to userspace (Paolo Bonzini) [1945742] - KVM: selftests: sync_regs test for diag318 (Paolo Bonzini) [1945742] - KVM: selftests: x86: Set supported CPUIDs on default VM (Paolo Bonzini) [1945742] - KVM: selftests: Make test skipping consistent (Paolo Bonzini) [1945742] - KVM: selftests: Introduce vm_create_[default_]_with_vcpus (Paolo Bonzini) [1945742] - KVM: selftests: Make vm_create_default common (Paolo Bonzini) [1945742] - KVM: selftests: always use manual clear in dirty_log_perf_test (Paolo Bonzini) [1945742] - selftests: kvm: keep .gitignore add to date (Paolo Bonzini) [1945742] - KVM: selftests: Add "-c" parameter to dirty log test (Paolo Bonzini) [1945742] - KVM: selftests: Run dirty ring test asynchronously (Paolo Bonzini) [1945742] - KVM: selftests: Add dirty ring buffer test (Paolo Bonzini) [1945742] - KVM: selftests: Introduce after_vcpu_run hook for dirty log test (Paolo Bonzini) [1945742] - KVM: selftests: Verify supported CR4 bits can be set before KVM_SET_CPUID2 (Paolo Bonzini) [1945742] - KVM: selftests: allow two iterations of dirty_log_perf_test (Paolo Bonzini) [1945742] - KVM: selftests: Introduce the dirty log perf test (Paolo Bonzini) [1945742] - KVM: selftests: Make the number of vcpus global (Paolo Bonzini) [1945742] - KVM: selftests: Make the per vcpu memory size global (Paolo Bonzini) [1945742] - KVM: selftests: Drop pointless vm_create wrapper (Paolo Bonzini) [1945742] - KVM: selftests: Add wrfract to common guest code (Paolo Bonzini) [1945742] - KVM: selftests: Simplify demand_paging_test with timespec_diff_now (Paolo Bonzini) [1945742] - KVM: selftests: Remove address rounding in guest code (Paolo Bonzini) [1945742] - KVM: selftests: Factor code out of demand_paging_test (Paolo Bonzini) [1945742] - KVM: selftests: Use a single binary for dirty/clear log test (Paolo Bonzini) [1945742] - KVM: selftests: Always clear dirty bitmap after iteration (Paolo Bonzini) [1945742] - selftests: kvm: test enforcement of paravirtual cpuid features (Paolo Bonzini) [1945742] - selftests: kvm: Add exception handling to selftests (Paolo Bonzini) [1945742] - selftests: kvm: Clear uc so UCALL_NONE is being properly reported (Paolo Bonzini) [1945742] - selftests: kvm: Fix the segment descriptor layout to match the actual layout (Paolo Bonzini) [1945742] - KVM: x86/xen: Fix __user pointer handling for hypercall page installation (Paolo Bonzini) [1945742] - KVM: x86/xen: fix Xen hypercall page msr handling (Paolo Bonzini) [1945742] - KVM: x86: move kvm_inject_gp up from kvm_set_xcr to callers (Paolo Bonzini) [1945742] - KVM: cleanup DR6/DR7 reserved bits checks (Paolo Bonzini) [1945742] - KVM: x86/mmu: Add '__func__' in rmap_printk() (Paolo Bonzini) [1945742] - KVM: SVM: Replace hard-coded value with #define (Paolo Bonzini) [1945742] - KVM: SVM: use .prepare_guest_switch() to handle CPU register save/setup (Paolo Bonzini) [1945742] - KVM: SVM: remove uneeded fields from host_save_users_msrs (Paolo Bonzini) [1945742] - KVM: SVM: use vmsave/vmload for saving/restoring additional host state (Paolo Bonzini) [1945742] - KVM: SVM: Use asm goto to handle unexpected #UD on SVM instructions (Paolo Bonzini) [1945742] - KVM: VMX: Use the kernel's version of VMXOFF (Paolo Bonzini) [1945742] - KVM: VMX: Move Intel PT shenanigans out of VMXON/VMXOFF flows (Paolo Bonzini) [1945742] - KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw (Paolo Bonzini) [1945742] - x86/virt: Mark flags and memory as clobbered by VMXOFF (Paolo Bonzini) [1945742] - x86/reboot: Force all cpus to exit VMX root if VMX is supported (Paolo Bonzini) [1945742] - x86/virt: Eat faults on VMXOFF in reboot flows (Paolo Bonzini) [1945742] - KVM: x86: use static calls to reduce kvm_x86_ops overhead (Paolo Bonzini) [1945742] - KVM: x86: introduce definitions to support static calls for kvm_x86_ops (Paolo Bonzini) [1945742] - KVM: RHEL: include linux/static_call.h (Paolo Bonzini) [1945742] - KVM: X86: prepend vmx/svm prefix to additional kvm_x86_ops functions (Paolo Bonzini) [1945742] - KVM: Stop using deprecated jump label APIs (Paolo Bonzini) [1945742] - locking/static_key: Add support for deferred static branches (Paolo Bonzini) [1945742] - KVM: X86: Rename DR6_INIT to DR6_ACTIVE_LOW (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Expose LBR_FMT in the MSR_IA32_PERF_CAPABILITIES (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Release guest LBR event via lazy release mechanism (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Emulate legacy freezing LBRs on virtual PMI (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Reduce the overhead of LBR pass-through or cancellation (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Pass-through LBR msrs when the guest LBR event is ACTIVE (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Create a guest LBR event when vcpu sets DEBUGCTLMSR_LBR (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Add PMU_CAP_LBR_FMT check when guest LBR is enabled (Paolo Bonzini) [1945742] - KVM: vmx/pmu: Add PMU_CAP_LBR_FMT check when guest LBR is enabled (Paolo Bonzini) [1945742] - KVM: x86/pmu: preserve IA32_PERF_CAPABILITIES across CPUID refresh (Paolo Bonzini) [1945742] - KVM: x86/vmx: Make vmx_set_intercept_for_msr() non-static (Paolo Bonzini) [1945742] - KVM: VMX: read/write MSR_IA32_DEBUGCTLMSR from GUEST_IA32_DEBUGCTL (Paolo Bonzini) [1945742] - KVM: VMX: Use x2apic_mode to avoid RDMSR when querying PI state (Paolo Bonzini) [1945742] - x86/apic: Export x2apic_mode for use by KVM in "warm" path (Paolo Bonzini) [1945742] - KVM: VMX: Enable bus lock VM exit (Paolo Bonzini) [1945742] - KVM: X86: Reset the vcpu->run->flags at the beginning of vcpu_run (Paolo Bonzini) [1945742] - KVM: VMX: Convert vcpu_vmx.exit_reason to a union (Paolo Bonzini) [1945742] - KVM/SVM: add support for SEV attestation command (Paolo Bonzini) [1945742] - KVM: x86/mmu: Remove the defunct update_pte() paging hook (Paolo Bonzini) [1945742] - KVM: Expose AVX_VNNI instruction to guset (Paolo Bonzini) [1945742] - Enumerate AVX Vector Neural Network instructions (Paolo Bonzini) [1945742] - x86: kvm: style: Simplify bool comparison (Paolo Bonzini) [1945742] - KVM: x86: Zap the oldest MMU pages, not the newest (Paolo Bonzini) [1945742] - KVM: x86/mmu: Use boolean returns for (S)PTE accessors (Paolo Bonzini) [1945742] - KVM: X86: use vzalloc() instead of vmalloc/memset (Paolo Bonzini) [1945742] - KVM: x86: Take KVM's SRCU lock only if steal time update is needed (Paolo Bonzini) [1945742] - KVM: x86: Remove obsolete disabling of page faults in kvm_arch_vcpu_put() (Paolo Bonzini) [1945742] - KVM: do not assume PTE is writable after follow_pfn (Paolo Bonzini) [1945742] - KVM: x86/mmu: Fix TDP MMU zap collapsible SPTEs (Paolo Bonzini) [1945742] - KVM: x86: cleanup CR3 reserved bits checks (Paolo Bonzini) [1945742] - KVM: SVM: Treat SVM as unsupported when running as an SEV guest (Paolo Bonzini) [1945742] - KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode (Paolo Bonzini) [1945742] - KVM: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check (Paolo Bonzini) [1945742] - KVM/x86: assign hva with the right value to vm_munmap the pages (Paolo Bonzini) [1945742] - Fix unsynchronized access to sev members through svm_register_enc_region (Paolo Bonzini) [1945742] - KVM: x86: Revert "KVM: x86: Mark GPRs dirty when written" (Paolo Bonzini) [1945742] - KVM: SVM: Unconditionally sync GPRs to GHCB on VMRUN of SEV-ES guest (Paolo Bonzini) [1945742] - KVM: x86: __kvm_vcpu_halt can be static (Paolo Bonzini) [1945742] - KVM: SVM: Add support for booting APs in an SEV-ES guest (Paolo Bonzini) [1945742] - KVM/SVM: Remove leftover __svm_vcpu_run prototype from svm.c (Paolo Bonzini) [1945742] - KVM: SVM: Add register operand to vmsave call in sev_es_vcpu_load (Paolo Bonzini) [1945742] - KVM: SVM: fix 32-bit compilation (Paolo Bonzini) [1945742] - KVM: SVM: Add AP_JUMP_TABLE support in prep for AP booting (Paolo Bonzini) [1945742] - KVM: SVM: Provide support to launch and run an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Provide an updated VMRUN invocation for SEV-ES guests (Paolo Bonzini) [1945742] - x86/kvm/svm: Use uninstrumented wrmsrl() to restore GS (Paolo Bonzini) [1945742] - KVM: SVM: Provide support for SEV-ES vCPU loading (Paolo Bonzini) [1945742] - KVM: SVM: Provide support for SEV-ES vCPU creation/loading (Paolo Bonzini) [1945742] - KVM: SVM: Update ASID allocation to support SEV-ES guests (Paolo Bonzini) [1945742] - KVM: SVM: Set the encryption mask for the SVM host save area (Paolo Bonzini) [1945742] - KVM: SVM: Add NMI support for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Guest FPU state save/restore not needed for SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Do not report support for SMM for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: x86: Update __get_sregs() / __set_sregs() to support SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR8 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR4 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for CR0 write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Add support for EFER write traps for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Support string IO operations for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Support MMIO for an SEV-ES guest (Paolo Bonzini) [1945742] - KVM: SVM: Create trace events for VMGEXIT MSR protocol processing (Paolo Bonzini) [1945742] - KVM: SVM: Create trace events for VMGEXIT processing (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x100 (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x004 (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES GHCB MSR protocol function 0x002 (Paolo Bonzini) [1945742] - KVM: SVM: Add initial support for a VMGEXIT VMEXIT (Paolo Bonzini) [1945742] - KVM: SVM: Add GHCB accessor functions for retrieving fields (Paolo Bonzini) [1945742] - KVM: SVM: Prepare for SEV-ES exit handling in the sev.c file (Paolo Bonzini) [1945742] - KVM: SVM: Cannot re-initialize the VMCB after shutdown with SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Do not allow instruction emulation under SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Prevent debugging under SEV-ES (Paolo Bonzini) [1945742] - KVM: SVM: Add required changes to support intercepts under SEV-ES (Paolo Bonzini) [1945742] - KVM: x86: introduce complete_emulated_msr callback (Paolo Bonzini) [1945742] - KVM: x86: Mark GPRs dirty when written (Paolo Bonzini) [1945742] - KVM: SVM: Add support for the SEV-ES VMSA (Paolo Bonzini) [1945742] - x86/cpu: Add VM page flush MSR availablility as a CPUID feature (Paolo Bonzini) [1945742] - KVM: SVM: Add support for SEV-ES capability in KVM (Paolo Bonzini) [1945742] - KVM/VMX/SVM: Move kvm_machine_check function to x86.h (Paolo Bonzini) [1945742] - KVM: Don't allocate dirty bitmap if dirty ring is enabled (Paolo Bonzini) [1945742] - KVM: Make dirty ring exclusive to dirty bitmap log (Paolo Bonzini) [1945742] - KVM: X86: Implement ring-based dirty memory tracking (Paolo Bonzini) [1945742] - KVM: Pass in kvm pointer into mark_page_dirty_in_slot() (Paolo Bonzini) [1945742] - kvm/eventfd: Drain events from eventfd in irqfd_wakeup() (Paolo Bonzini) [1945742] - eventfd: Export eventfd_ctx_do_read() (Paolo Bonzini) [1945742] - kvm/eventfd: Use priority waitqueue to catch events before userspace (Paolo Bonzini) [1945742] - sched/wait: Add add_wait_queue_priority() (Paolo Bonzini) [1945742] - cpuidle-haltpoll: fix error comments in arch_haltpoll_disable (Paolo Bonzini) [1945742] - kvm/eventfd: Use sequence counter with associated spinlock (Paolo Bonzini) [1945742] - x86/kvm/vmx: Use native read/write_cr2() (Paolo Bonzini) [1945742] - KVM: SVM: convert get_user_pages() --> pin_user_pages() (Paolo Bonzini) [1945742] - x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* (Paolo Bonzini) [1945742] - x86/entry/64: Fix unwind hints in __switch_to_asm() (Paolo Bonzini) [1945742] - x86/asm/64: Change all ENTRY+END to SYM_CODE_* (Paolo Bonzini) [1945742] - x86/head/64: Annotate start_cpu0() as non-callable (Paolo Bonzini) [1945742] - x86/asm: Do not annotate functions with GLOBAL (Paolo Bonzini) [1945742] - kprobes/x86/xen: blacklist non-attachable xen interrupt functions (Paolo Bonzini) [1945742] - x86/asm/64: Add ENDs to some functions and relabel with SYM_CODE_* (Paolo Bonzini) [1945742] - x86/asm: Use SYM_INNER_LABEL instead of GLOBAL (Paolo Bonzini) [1945742] - x86/asm: Annotate aliases (Paolo Bonzini) [1945742] - x86/asm/crypto: Annotate local functions (Paolo Bonzini) [1945742] - static_call: Add static_call_cond() (Paolo Bonzini) [1945742] - static_call: Add basic static call infrastructure (Paolo Bonzini) [1945742] - devlink: use _BITUL() macro instead of BIT() in the UAPI header (Petr Oros) [1935646] - devlink: Fix reload stats structure (Petr Oros) [1935646] - devlink: Avoid overwriting port attributes of registered port (Petr Oros) [1935646] - devlink: Add Documentation/networking/devlink/devlink-reload.rst (Petr Oros) [1935646] - devlink: Add enable_remote_dev_reset generic parameter (Petr Oros) [1935646] - devlink: Add remote reload stats (Petr Oros) [1935646] - devlink: Add reload stats (Petr Oros) [1935646] - devlink: Add devlink reload limit option (Petr Oros) [1935646] - devlink: Add reload action option to devlink reload command (Petr Oros) [1935646] - devlink: Change devlink_reload_supported() param type (Petr Oros) [1935646]- CI: Rename KABI option (Veronika Kabatova) - CI: Disable result checking for realtime checks (Veronika Kabatova) - Revert "GFS2: Re-add a call to log_flush_wait when flushing the journal" (Bob Peterson) [1917930] - md/raid1: properly indicate failure when ending a failed write request (Nigel Croxon) [1954588] - Revert "uio: use request_threaded_irq instead" (Vitaly Kuznetsov) [1946644] - drm/ast: Set format registers in primary plane's update (Lyude Paul) [1923857] - drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status (Mohammed Gamal) [1940926] - x86/hyperv: Move hv_do_rep_hypercall to asm-generic (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Increase wait time for VMbus unload (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Initialize unload_event statically (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Check for pending channel interrupts before taking a CPU offline (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Drivers: hv: vmbus: Introduce CHANNELMSG_MODIFYCHANNEL_RESPONSE (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Introduce and negotiate VMBus protocol version 5.3 (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Use after free in __vmbus_open() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: remove unused function (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Remove unused linux/version.h header (Mohammed Gamal) [1940926] - x86/Hyper-V: Support for free page reporting (Mohammed Gamal) [1940926] - x86/hyper-v: Move hv_message_type to architecture neutral module (Mohammed Gamal) [1940926] - asm-generic/hyperv: import data structures for mapping device interrupts (Mohammed Gamal) [1940926] - asm-generic/hyperv: introduce hv_device_id and auxiliary structures (Mohammed Gamal) [1940926] - asm-generic/hyperv: update hv_interrupt_entry (Mohammed Gamal) [1940926] - asm-generic/hyperv: update hv_msi_entry (Mohammed Gamal) [1940926] - x86/hyperv: provide a bunch of helper functions (Mohammed Gamal) [1940926] - x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary (Mohammed Gamal) [1940926] - asm-generic/hyperv: Add definitions for Get/SetVpRegister hypercalls (Mohammed Gamal) [1940926] - drivers: hv: Fix EXPORT_SYMBOL and tab spaces issue (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Drop error message when 'No request id available' (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move handling of VMbus interrupts (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Handle auto EOI quirk inline (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move hyperv_report_panic_msg to arch neutral code (Mohammed Gamal) [1940926] - Drivers: hv: Redo Hyper-V synthetic MSR get/set functions (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Move Hyper-V page allocator to arch neutral code (Mohammed Gamal) [1940926] - x86/hyperv: allocate output arg pages if required (Mohammed Gamal) [1940926] - drivers: hv: Fix whitespace errors (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: skip VMBus initialization if Linux is root (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Enforce 'VMBus version >= 5.2' on isolated guests (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Restrict vmbus_devices on isolated guests (Mohammed Gamal) [1940926] - hv_utils: Fix spelling mistake "Hearbeat" -> "Heartbeat" (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Add /sys/bus/vmbus/hibernation (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Resolve race condition in vmbus_onoffer_rescind() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Copy the hv_message in vmbus_on_msg_dpc() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Reduce number of references to message in vmbus_on_msg_dpc() (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Initialize memory to be sent to the host (Mohammed Gamal) [1940926] - hv_utils: Add validation for untrusted Hyper-V values (Mohammed Gamal) [1940926] - drivers/hv: remove obsolete TODO and fix misleading typo in comment (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix checkpatch SPLIT_STRING (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix call msleep using < 20ms (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Fix checkpatch LINE_SPACING (Mohammed Gamal) [1940926] - drivers: hv: vmbus: Replace symbolic permissions by octal permissions (Mohammed Gamal) [1940926] - drivers: hv: Fix hyperv_record_panic_msg path on comment (Mohammed Gamal) [1940926] - Drivers: hv: vmbus: Add vmbus_requestor data structure for VMBus hardening (Mohammed Gamal) [1940926] - ena: revert removal of MODULE_VERSION from ena (Petr Oros) [1955712] - Revert "[netdrv] net/intel: remove driver versions from Intel drivers" (Jonathan Toppins) [1955745] - Revert "[netdrv] net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1955721] - net: core: add dev_get_tstats64 as a ndo_get_stats64 implementation (Josef Oskera) [1939453]- igb: amend removal of MODULE_VERSION (Corinna Vinschen) [1955748] - igc: amend removal of MODULE_VERSION (Corinna Vinschen) [1955755] - i40e: amend removal of MODULE_VERSION (Stefan Assmann) [1955736] - ixgbe: Amend commit acf03026ec5a to include a version string in module info. (Ken Cox) [1955759] - i40e: Fix parameters in aq_get_phy_register() (Stefan Assmann) [1907852] - initramfs: panic with memory information (Coiby Xu) [1936031] - powercap/intel_rapl: add support for AlderLake (David Arcari) [1838605] - xfs: restore shutdown check in mapped write fault path (Brian Foster) [1926089] - xfs: consider shutdown in bmapbt cursor delete assert (Brian Foster) [1926077] - iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate (Carlos Maiolino) [1938210] - scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg() (Ewan D. Milne) [1929878] - perf/arm-cmn: Move IRQs when migrating context (Jeremy Linton) [1816850] - perf/arm-cmn: Fix PMU instance naming (Jeremy Linton) [1816850] - perf: arm-cmn: Fix conversion specifiers for node type (Jeremy Linton) [1816850] - perf: arm-cmn: Fix unsigned comparison to less than zero (Jeremy Linton) [1816850] - perf: Add Arm CMN-600 PMU driver (Jeremy Linton) [1816850] - redhat/configs: Use CONFIG_VIRTIO_CONSOLE=m on s390x, too (Thomas Huth) [1954119] - s390/config: do not select VIRTIO_CONSOLE via Kconfig (Thomas Huth) [1954119] - x86/platform/uv: Fix an error code in uv_hubs_init() (Frank Ramsay) [1936605] - x86/platform/uv: Add more to secondary CPU kdump info (Frank Ramsay) [1936605] - x86/platform/uv: Use x2apic enabled bit as set by BIOS to indicate APIC mode (Frank Ramsay) [1936605] - redhat/configs: Add CONFIG_UV_SYSFS (Frank Ramsay) [1936605] - x86/platform/uv: Fix indentation warning in Documentation/ABI/testing/sysfs-firmware-sgi_uv (Frank Ramsay) [1936605] - x86/platform/uv: Set section block size for hubless architectures (Frank Ramsay) [1936605] - x86/platform/uv: Update sysfs documentation (Frank Ramsay) [1936605] - x86/platform/uv: Add deprecated messages to /proc info leaves (Frank Ramsay) [1936605] - x86/platform/uv: Add sysfs hubless leaves (Frank Ramsay) [1936605] - x86/platform/uv: Add sysfs leaves to replace those in procfs (Frank Ramsay) [1936605] - x86/platform/uv: Add kernel interfaces for obtaining system info (Frank Ramsay) [1936605] - x86/platform/uv: Update MAINTAINERS for uv_sysfs driver (Frank Ramsay) [1936605] - x86/platform/uv: Update ABI documentation of /sys/firmware/sgi_uv/ (Frank Ramsay) [1936605] - x86/platform/uv: Add new uv_sysfs platform driver (Frank Ramsay) [1936605] - x86/platform/uv: Add and export uv_bios_* functions (Frank Ramsay) [1936605] - x86/platform/uv: Remove existing /sys/firmware/sgi_uv/interface (Frank Ramsay) [1936605] - x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c (Frank Ramsay) [1936605] - x86/platform/uv: Unexport sn_coherency_id (Frank Ramsay) [1936605] - x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static (Frank Ramsay) [1936605] - UV: Add SPDX license identifier - Makefile/Kconfig (Frank Ramsay) [1936605] - netdevsim: Only use sampling truncation length when valid (Ivan Vecera) [1955163] - selftests: netdevsim: Test psample functionality (Ivan Vecera) [1955163] - netdevsim: Add dummy psample implementation (Ivan Vecera) [1955163] - psample: Add additional metadata attributes (Ivan Vecera) [1955163] - psample: Encapsulate packet metadata in a struct (Ivan Vecera) [1955163] - net: psample: fix build error when CONFIG_INET is not enabled (Ivan Vecera) [1955163] - devlink: include for _BITUL (Petr Oros) [1935630] - netdevsim: add support for flash_update overwrite mask (Petr Oros) [1935630] - devlink: introduce flash update overwrite mask (Petr Oros) [1935630] - devlink: convert flash_update to use params structure (Petr Oros) [1935630] - devlink: check flash_update parameter support in net core (Petr Oros) [1935630] - devlink: Enhance policy to validate port type input value (Petr Oros) [1935630] - devlink: Enhance policy to validate eswitch mode value (Petr Oros) [1935630] - net: devlink: region: Pass the region ops to the snapshot function (Petr Oros) [1935630] - net: devlink: regions: Add a priv member to the regions ops struct (Petr Oros) [1935630]- Enumerate AVX Vector Neural Network instructions (Steve Best) [1838616] - net: fix skb use after free in netpoll (Ivan Vecera) [1913481] - cipso,calipso: resolve a number of problems with the DOI refcounts (Guillaume Nault) [1950996] - netfilter: rpfilter: mask ecn bits before fib lookup (Guillaume Nault) [1950996] - netfilter: Fix rpfilter dropping vrf packets by mistake (Guillaume Nault) [1950996] - redhat: enable CONFIG_DM_MULTIPATH_HST and CONFIG_DM_MULTIPATH_IOA (Mike Snitzer) [1949682] - dm ioctl: fix out of bounds array access when no devices (Mike Snitzer) [1949682] - dm table: Fix zoned model check and zone sectors check (Mike Snitzer) [1949682] - dm: simplify target code conditional on CONFIG_BLK_DEV_ZONED (Mike Snitzer) [1949682] - dm verity: fix DM_VERITY_OPTS_MAX value (Mike Snitzer) [1949682] - dm verity fec: fix misaligned RS roots IO (Mike Snitzer) [1949682] - dm verity: fix FEC for RS roots unaligned to block size (Mike Snitzer) [1949682] - dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size (Mike Snitzer) [1949682] - dm: fix deadlock when swapping to encrypted device (Mike Snitzer) [1949682] - dm era: only resize metadata in preresume (Mike Snitzer) [1949682] - dm era: Use correct value size in equality function of writeset tree (Mike Snitzer) [1949682] - dm era: Fix bitset memory leaks (Mike Snitzer) [1949682] - dm era: Verify the data block size hasn't changed (Mike Snitzer) [1949682] - dm era: Reinitialize bitset cache before digesting a new writeset (Mike Snitzer) [1949682] - dm era: Update in-core bitset after committing the metadata (Mike Snitzer) [1949682] - dm era: Recover committed writeset after crash (Mike Snitzer) [1949682] - dm writecache: fix writing beyond end of underlying device when shrinking (Mike Snitzer) [1949682] - dm table: remove needless request_queue NULL pointer checks (Mike Snitzer) [1949682] - dm table: fix zoned iterate_devices based device capability checks (Mike Snitzer) [1949682] - dm writecache: return the exact table values that were set (Mike Snitzer) [1949682] - dm writecache: fix unnecessary NULL check warnings (Mike Snitzer) [1949682] - dm writecache: fix performance degradation in ssd mode (Mike Snitzer) [1949682] - dm integrity: introduce the "fix_hmac" argument (Mike Snitzer) [1949682] - dm persistent data: fix return type of shadow_root() (Mike Snitzer) [1949682] - dm: cleanup of front padding calculation (Mike Snitzer) [1949682] - dm integrity: fix spelling mistake "flusing" -> "flushing" (Mike Snitzer) [1949682] - dm crypt: Spelling s_cihper_cipher_ (Mike Snitzer) [1949682] - dm: avoid filesystem lookup in dm_get_dev_t() (Mike Snitzer) [1949682] - dm integrity: conditionally disable "recalculate" feature (Mike Snitzer) [1949682] - dm integrity: fix a crash if "recalculate" used without "internal_hash" (Mike Snitzer) [1949682] - dm integrity: fix the maximum number of arguments (Mike Snitzer) [1949682] - dm integrity: fix flush with external metadata device (Mike Snitzer) [1949682] - dm snapshot: flush merged data before committing metadata (Mike Snitzer) [1949682] - dm zoned: select CONFIG_CRC32 (Mike Snitzer) [1949682] - dm integrity: select CRYPTO_SKCIPHER (Mike Snitzer) [1949682] - dm cache: simplify the return expression of load_mapping() (Mike Snitzer) [1949682] - dm verity: skip verity work if I_O error when system is shutting down (Mike Snitzer) [1949682] - dm ioctl: fix error return code in target_message (Mike Snitzer) [1949682] - dm crypt: Constify static crypt_iv_operations (Mike Snitzer) [1949682] - dm: add support for REQ_NOWAIT to various targets (Mike Snitzer) [1949682] - dm: rename multipath path selector source files to have "dm-ps" prefix (Mike Snitzer) [1949682] - dm mpath: add IO affinity path selector (Mike Snitzer) [1949682] - dm verity: Add support for signature verification with 2nd keyring (Mike Snitzer) [1949682] - dm: remove unnecessary current->bio_list check when submitting split bio (Mike Snitzer) [1949682] - dm: remove invalid sparse __acquires and __releases annotations (Mike Snitzer) [1949682] - dm: fix double RCU unlock in dm_dax_zero_page_range() error path (Mike Snitzer) [1949682] - dm writecache: remove BUG() and fail gracefully instead (Mike Snitzer) [1949682] - dm table: Remove BUG_ON(in_interrupt()) (Mike Snitzer) [1949682] - dm: fix bug with RCU locking in dm_blk_report_zones (Mike Snitzer) [1949682] - Revert "dm cache: fix arm link errors with inline" (Mike Snitzer) [1949682] - vfs: remove lockdep bogosity in __sb_start_write (Brian Foster) [1926097] - nbd: freeze the queue while we're adding connections (Ming Lei) [1927246] - selftests/livepatch: Do not check order when using "comm" for dmesg checking (Joel Savitz) [1942056] - RDMA/siw,rxe: Make emulated devices virtual in the device tree (Kamal Heib) [1931849] - RDMA/core: remove use of dma_virt_ops (Kamal Heib) [1931849] - RDMA/umem: Use ib_dma_max_seg_size instead of dma_get_max_seg_size (Kamal Heib) [1931849] - RDMA/core: Fix ib_dma_max_seg_size() (Kamal Heib) [1931849] - RDMA/umem: Move to allocate SG table from pages (Kamal Heib) [1931849] - lib/scatterlist: Do not limit max_segment to PAGE_ALIGNED values (Kamal Heib) [1931849] - lib/scatterlist: Add support in dynamic allocation of SG table from pages (Kamal Heib) [1931846] - RDMA/srp: Increase max_segment_size (Kamal Heib) [1931849] - RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr (Kamal Heib) [1931849] - RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ (Kamal Heib) [1931849] - RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC (Kamal Heib) [1931849] - RDMA/cma: Fix error flow in default_roce_mode_store (Kamal Heib) [1931849] - RDMA/umem: Avoid undefined behavior of rounddown_pow_of_two() (Kamal Heib) [1931849] - RDMA/restrack: Don't treat as an error allocation ID wrapping (Kamal Heib) [1931849] - RDMA/ucma: Do not miss ctx destruction steps in some cases (Kamal Heib) [1931849] - RDMA/cma: Don't overwrite sgid_attr after device is released (Kamal Heib) [1931849] - RDMA/rxe: Use acquire/release for memory ordering (Kamal Heib) [1931849] - RDMA/uverbs: Fix incorrect variable type (Kamal Heib) [1931849] - RDMA/core: Update kernel documentation for ib_create_named_qp() (Kamal Heib) [1931849] - RDMA/iser: Remove in_interrupt() usage (Kamal Heib) [1931849] - IB: Fix kernel-doc markups (Kamal Heib) [1931849] - RDMA/uverbs: Check ODP in ib_check_mr_access() as well (Kamal Heib) [1931849] - RDMA/uverbs: Tidy input validation of ib_uverbs_rereg_mr() (Kamal Heib) [1931849] - RDMA/efa: Use dma_set_mask_and_coherent() to simplify code (Kamal Heib) [1931849] - RDMA/restrack: Support all QP types (Kamal Heib) [1931849] - RDMA/core: Allow drivers to disable restrack DB (Kamal Heib) [1931849] - RDMA/core: Track device memory MRs (Kamal Heib) [1931849] - RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind (Kamal Heib) [1931849] - IB/hfi1: Fix fall-through warnings for Clang (Kamal Heib) [1931849] - RDMA/ipoib: Distribute cq completion vector better (Kamal Heib) [1931849] - RDMA/efa: Remove .create_ah callback assignment (Kamal Heib) [1931849] - RDMA/cma: Add missing error handling of listen_id (Kamal Heib) [1931849] - RDMA/restrack: Store all special QPs in restrack DB (Kamal Heib) [1931849] - RDMA/counter: Combine allocation and bind logic (Kamal Heib) [1931849] - RDMA/core: Remove ib_dma_{alloc,free}_coherent (Kamal Heib) [1931849] - RDMA/core: Make FD destroy callback void (Kamal Heib) [1931849] - RDMA/core: Postpone uobject cleanup on failure till FD close (Kamal Heib) [1931849] - IB/isert: Do not excplicitly check == false for bool (Kamal Heib) [1931849] - IB/core: Add support for NDR link speed (Kamal Heib) [1931849] - RDMA/ipoib: Add 50Gb and 100Gb link speeds to ethtool (Kamal Heib) [1931849] - RDMA/rxe,siw: Restore uverbs_cmd_mask IB_USER_VERBS_CMD_POST_SEND (Kamal Heib) [1931849] - RDMA/siw: Fix typo of EAGAIN not -EAGAIN in siw_cm_work_handler() (Kamal Heib) [1931849] - RDMA/rxe: Compute PSN windows correctly (Kamal Heib) [1931849] - RDMA/core: Fix error return in _ib_modify_qp() (Kamal Heib) [1931849] - IB/verbs: avoid nested container_of() (Kamal Heib) [1931849] - RDMA/rxe: Remove unused RXE_MR_TYPE_FMR (Kamal Heib) [1931849] - RDMA: Remove AH from uverbs_cmd_mask (Kamal Heib) [1931849] - RDMA: Remove uverbs cmds from drivers that don't use them (Kamal Heib) [1931849] - RDMA/core Remove uverbs_ex_cmd_mask (Kamal Heib) [1931849] - RDMA: Check create_flags during create_qp (Kamal Heib) [1931849] - RDMA: Check flags during create_cq (Kamal Heib) [1931849] - RDMA: Check attr_mask during modify_qp (Kamal Heib) [1931849] - RDMA: Check srq_type during create_srq (Kamal Heib) [1931849] - RDMA: Move more uverbs_cmd_mask settings to the core (Kamal Heib) [1931849] - RDMA: Remove elements in uverbs_cmd_mask that all drivers set (Kamal Heib) [1931849] - RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions (Kamal Heib) [1931849] - RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait (Kamal Heib) [1931846] - RDMA/core: Fix empty gid table for non IB/RoCE devices (Kamal Heib) [1931846] - RDMA/efa: Use the correct current and new states in modify QP (Kamal Heib) [1931846] - RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs (Kamal Heib) [1931846] - RDMA/srpt: Fix typo in srpt_unregister_mad_agent docstring (Kamal Heib) [1931846] - RDMA/vmw_pvrdma: Fix the active_speed and phys_state value (Kamal Heib) [1931846] - RDMA: Fix software RDMA drivers for dma mapping error (Kamal Heib) [1931846] - IB/srpt: docs: add a description for cq_size member (Kamal Heib) [1931846] - RDMA: Add rdma_connect_locked() (Kamal Heib) [1931846] - RDMA/uverbs: Fix false error in query gid IOCTL (Kamal Heib) [1931846] - RDMA/rxe: Fix small problem in network_type patch (Kamal Heib) [1931846] - RDMA/ucma: Fix use after free in destroy id flow (Kamal Heib) [1931846] - RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI (Kamal Heib) [1931846] - RDMA: Explicitly pass in the dma_device to ib_register_device (Kamal Heib) [1931846] - RDMA/usnic: Remove the query_pkey callback (Kamal Heib) [1931846] - RDMA/usnic: Fix spelling mistake "transistion" -> "transition" (Kamal Heib) [1931846] - RDMA/usnic: switch from 'pci_' to 'dma_' API (Kamal Heib) [1931846] - RDMA/usnic: Avoid overly large buffers on stack (Kamal Heib) [1931846] - IB/usnic: Use dev_get_drvdata (Kamal Heib) [1931846] - IB/usnic: Fix deadlock (Kamal Heib) [1931846] - Revert "[infiniband] usnic_verbs: fix deadlock" (Kamal Heib) [1931846] - RDMA/rxe: Remove duplicate entries in struct rxe_mr (Kamal Heib) [1931846] - RDMA/uverbs: Expose the new GID query API to user space (Kamal Heib) [1931846] - RDMA/core: Introduce new GID table query API (Kamal Heib) [1931846] - RDMA/core: Modify enum ib_gid_type and enum rdma_network_type (Kamal Heib) [1931846] - RDMA/core: Change rdma_get_gid_attr returned error code (Kamal Heib) [1931846] - RDMA/core: Constify struct attribute_group (Kamal Heib) [1931846] - RDMA/core: Remove ucontext->closing (Kamal Heib) [1931846] - RDMA/drivers: Remove udata check from special QP (Kamal Heib) [1931846] - RDMA/qedr: Add support for user mode XRC-SRQ's (Kamal Heib) [1931846] - RDMA/mlx4: Prepare QP allocation to remove from the driver (Kamal Heib) [1931846] - RDMA/mlx4: Embed GSI QP into general mlx4_ib QP (Kamal Heib) [1931846] - RDMA/core: Align write and ioctl checks of QP types (Kamal Heib) [1931846] - RDMA/efa: Drop double zeroing for sg_init_table() (Kamal Heib) [1931846] - RDMA/efa: Add messages and RDMA read work requests HW stats (Kamal Heib) [1931846] - RDMA/efa: Group keep alive received counter with other SW stats (Kamal Heib) [1931846] - RDMA/restrack: Improve readability in task name management (Kamal Heib) [1931846] - RDMA/restrack: Simplify restrack tracking in kernel flows (Kamal Heib) [1931846] - RDMA/restrack: Count references to the verbs objects (Kamal Heib) [1931846] - RDMA/cma: Delete from restrack DB after successful destroy (Kamal Heib) [1931846] - RDMA/ucma: Rework ucma_migrate_id() to avoid races with destroy (Kamal Heib) [1931846] - RDMA: Fix link active_speed size (Kamal Heib) [1931846] - net/mlx5: Refactor query port speed functions (Kamal Heib) [1931846] - RDMA: Convert RWQ table logic to ib_core allocation scheme (Kamal Heib) [1931846] - RDMA: Clean MW allocation and free flows (Kamal Heib) [1931846] - RDMA/cma: Fix use after free race in roce multicast join (Kamal Heib) [1931846] - RDMA/cma: Consolidate the destruction of a cma_multicast in one place (Kamal Heib) [1931846] - RDMA/cma: Remove dead code for kernel rdmacm multicast (Kamal Heib) [1931846] - RDMA/cma: Combine cma_ndev_work with cma_work (Kamal Heib) [1931846] - RDMA/cma: Remove cma_comp() (Kamal Heib) [1931846] - RDMA/cma: Fix locking for the RDMA_CM_LISTEN state (Kamal Heib) [1931846] - RDMA/cma: Make the locking for automatic state transition more clear (Kamal Heib) [1931846] - RDMA/cma: Fix locking for the RDMA_CM_CONNECT state (Kamal Heib) [1931846] - RDMA/core: Added missing WR and WC opcodes (Kamal Heib) [1931846] - RDMA/qedr: Remove fbo and zbva from the MR (Kamal Heib) [1931846] - RDMA/mlx4: Use ib_umem_num_dma_blocks() (Kamal Heib) [1931846] - RDMA/pvrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() (Kamal Heib) [1931846] - RDMA/bnxt: Do not use ib_umem_page_count() or ib_umem_num_pages() (Kamal Heib) [1931846] - RDMA/qedr: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() (Kamal Heib) [1931846] - RDMA/qedr: Use rdma_umem_for_each_dma_block() instead of open-coding (Kamal Heib) [1931846] - RDMA/i40iw: Use ib_umem_num_dma_pages() (Kamal Heib) [1931846] - RDMA/efa: Use ib_umem_num_dma_pages() (Kamal Heib) [1931846] - RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks() (Kamal Heib) [1931846] - RDMA/umem: Replace for_each_sg_dma_page with rdma_umem_for_each_dma_block (Kamal Heib) [1931846] - RDMA/umem: Add rdma_umem_for_each_dma_block() (Kamal Heib) [1931846] - RDMA/umem: Use simpler logic for ib_umem_find_best_pgsz() (Kamal Heib) [1931846] - RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary (Kamal Heib) [1931846] - RDMA: Make counters destroy symmetrical (Kamal Heib) [1931846] - RDMA: Restore ability to return error for destroy WQ (Kamal Heib) [1931846] - RDMA: Change XRCD destroy return value (Kamal Heib) [1931846] - RDMA: Allow fail of destroy CQ (Kamal Heib) [1931846] - RDMA/core: Delete function indirection for alloc/free kernel CQ (Kamal Heib) [1931846] - RDMA: Restore ability to fail on SRQ destroy (Kamal Heib) [1931846] - RDMA/mlx5: Issue FW command to destroy SRQ on reentry (Kamal Heib) [1931846] - RDMA: Restore ability to fail on AH destroy (Kamal Heib) [1931846] - RDMA: Restore ability to fail on PD deallocate (Kamal Heib) [1931846] - RDMA/core: Change how failing destroy is handled during uobj abort (Kamal Heib) [1931846] - RDMA/ucma: Fix resource leak on error path (Kamal Heib) [1931846] - RDMA/rxe: Address an issue with hardened user copy (Kamal Heib) [1931846] - RDMA/rxe: Add SPDX hdrs to rxe source files (Kamal Heib) [1931846] - RDMA/core: Trigger a WARN_ON if the driver causes uobjects to become leaked (Kamal Heib) [1931846] - RDMA/rxe: Fix style warnings (Kamal Heib) [1931846] - RDMA/ucma: Remove closing and the close_wq (Kamal Heib) [1931846] - RDMA/ucma: Rework how new connections are passed through event delivery (Kamal Heib) [1931846] - RDMA/ucma: Narrow file->mut in ucma_event_handler() (Kamal Heib) [1931846] - RDMA/ucma: Change backlog into an atomic (Kamal Heib) [1931846] - RDMA/ucma: Add missing locking around rdma_leave_multicast() (Kamal Heib) [1931846] - RDMA/ucma: Fix locking for ctx->events_reported (Kamal Heib) [1931846] - RDMA/ucma: Fix the locking of ctx->file (Kamal Heib) [1931846] - RDMA/ucma: Do not use file->mut to lock destroying (Kamal Heib) [1931846] - RDMA/cma: Add missing locking to rdma_accept() (Kamal Heib) [1931846] - RDMA/ucma: Remove mc_list and rely on xarray (Kamal Heib) [1931846] - RDMA/ucma: Fix error cases around ucma_alloc_ctx() (Kamal Heib) [1931846] - RDMA/ucma: Consolidate the two destroy flows (Kamal Heib) [1931846] - RDMA/ucma: Remove unnecessary locking of file->ctx_list in close (Kamal Heib) [1931846] - RDMA/ucma: Fix refcount 0 incr in ucma_get_ctx() (Kamal Heib) [1931846] - RDMA/cm: Add tracepoints to track MAD send operations (Kamal Heib) [1931846] - RDMA/cm: Replace pr_debug() call sites with tracepoints (Kamal Heib) [1931846] - RDMA/core: Move the rdma_show_ib_cm_event() macro (Kamal Heib) [1931846] - RDMA/efa: Remove redundant udata check from alloc ucontext response (Kamal Heib) [1931846] - RDMA/vmw_pvrdma: Fix kernel-doc documentation (Kamal Heib) [1931846] - RDMA/rxe: prevent rxe creation on top of vlan interface (Kamal Heib) [1931846] - RDMA/cm: Remove unused cm_class (Kamal Heib) [1931846] - IB/isert: remove duplicated error prints (Kamal Heib) [1931846] - RDMA/efa: Introduce SRD RNR retry (Kamal Heib) [1931846] - RDMA/efa: Introduce SRD QP state machine (Kamal Heib) [1931846] - RDMA/efa: Be consistent with modify QP bitmask (Kamal Heib) [1931846] - RDMA/efa: Add a generic capability check helper (Kamal Heib) [1931846] - RDMA: Remove constant domain argument from flow creation call (Kamal Heib) [1931846] - RDMA/i40iw: Avoid typecast from void to pci_dev (Kamal Heib) [1931846] - sched/uclamp: Add CPU's clamp buckets refcounting (Kamal Heib) [1931846] - overflow: Include header file with SIZE_MAX declaration (Kamal Heib) [1931846] - treewide: Use fallthrough pseudo-keyword (Kamal Heib) [1931846] - IB/hfi1: Use fallthrough pseudo-keyword (Kamal Heib) [1931846] - treewide: replace '---help---' in Kconfig files with 'help' (Kamal Heib) [1931846] - remove ioremap_nocache and devm_ioremap_nocache (Kamal Heib) [1931846]- ethtool: pause: make sure we init driver stats (Ivan Vecera) [1935611] - ethtool: correct policy for ETHTOOL_MSG_CHANNELS_SET (Ivan Vecera) [1935611] - ethtool: strset: allow ETHTOOL_A_STRSET_COUNTS_ONLY attr (Ivan Vecera) [1935611] - ethtool: specify which header flags are supported per command (Ivan Vecera) [1935611] - ethtool: link up ethnl_header_policy as a nested policy (Ivan Vecera) [1935611] - ethtool: trim policy tables (Ivan Vecera) [1935611] - ethtool: wire up set policies to ops (Ivan Vecera) [1935611] - ethtool: wire up get policies to ops (Ivan Vecera) [1935611] - netdevsim: fix duplicated debugfs directory (Ivan Vecera) [1935611] - selftests: add a test for ethtool pause stats (Ivan Vecera) [1935611] - netdevsim: add pause frame stats (Ivan Vecera) [1935611] - docs: net: include the new ethtool pause stats in the stats doc (Ivan Vecera) [1935611] - ethtool: add standard pause stats (Ivan Vecera) [1935611] - net: tighten the definition of interface statistics (Ivan Vecera) [1935611]- PCI: hv: Fix typo (Mohammed Gamal) [1940924] - asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT (Mohammed Gamal) [1940925] - x86/hyperv: detect if Linux is the root partition (Mohammed Gamal) [1940925] - hyperv: hyperv.h: drop a duplicated word (Mohammed Gamal) [1940925] - hyper-v: Remove internal types from UAPI header (Mohammed Gamal) [1940925] - x86/hyperv: Load/save the Isolation Configuration leaf (Mohammed Gamal) [1940925] - x86/hyperv: Initialize clockevents after LAPIC is initialized (Mohammed Gamal) [1940925] - x86/hyperv: check cpu mask after interrupt has been disabled (Mohammed Gamal) [1940925] - x86/hyperv: Fix kexec panic/hang issues (Mohammed Gamal) [1940925] - video: hyperv_fb: Fix a double free in hvfb_probe (Mohammed Gamal) [1940922] - uio: uio_hv_generic: use devm_kzalloc() for private data alloc (Mohammed Gamal) [1940922] - Avoid macro redefinition in compiler-{clang,gcc}.h (Jerome Marchand) [1907271] - x86/split_lock: Add Icelake microserver and Tigerlake CPU models (Prarit Bhargava) [1847576] - tools/power/x86/intel-speed-select: Update version to 1.8 (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Add new command to get/set TRL (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Add new command turbo-mode (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or base_frequency (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency (Prarit Bhargava) [1921801] - platform/x86: ISST: Mark mmio_range_devid_0 and mmio_range_devid_1 with static keyword (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Update version for v5.11 (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Account for missing sysfs for die_id (Prarit Bhargava) [1921801] - tools/power/x86/intel-speed-select: Read TRL from mailbox (Prarit Bhargava) [1921801] - platform/x86: ISST: Change PCI device macros (Prarit Bhargava) [1921801] - platform/x86: ISST: Allow configurable offset range (Prarit Bhargava) [1921801] - platform/x86: ISST: Check for unaligned mmio address (Prarit Bhargava) [1921801] - tools/power/turbostat: Fallback to an MSR read for EPB (Prarit Bhargava) [1926913] - tools/power/turbostat: Read energy_perf_bias from sysfs (Prarit Bhargava) [1926913] - Bluetooth: btusb: Add workaround for remote-wakeup issues with Barrot 8041a02 fake CSR controllers (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix detection of some fake CSR controllers with a bcdDevice val of 0x0134 (Gopal Tiwari) [1946951] - Bluetooth: btusb: support download nvm with different board id for wcn6855 (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware() (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware() (Gopal Tiwari) [1946951] - Bluetooth: btusb: Support 0bda:c123 Realtek 8822CE device (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Add OBDA0623 ACPI HID (Gopal Tiwari) [1946951] - Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Wait for timeout during suspend (Gopal Tiwari) [1946951] - Bluetooth: btrtl: fix incorrect skb allocation failure check (Gopal Tiwari) [1946951] - Bluetooth: hci_ll: add a small delay for wl1271 enable bt_en (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add support for 1358:c123 Realtek 8822CE device (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: resolve various warnings (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Enhance retry logic in qca_setup (Gopal Tiwari) [1946951] - Bluetooth: btusb: btrtl: Add support for RTL8852A (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add support for 13d3:3560 MediaTek MT7615E device (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: fix memory leak in h5_close (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Ask 8821C to drop old firmware (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Refine the ic_id_table for clearer and more regular (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add the more support IDs for Realtek RTL8822CE (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: close serdev device and free hu in h5_close (Gopal Tiwari) [1946951] - Bluetooth: btintel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1946951] - Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support (Gopal Tiwari) [1946951] - Bluetooth: btusb: Enable wide band speech support for BTUSB_QCA_ROME (Gopal Tiwari) [1946951] - Bluetooth: hci_serdev: Close UART port if NON_PERSISTENT_SETUP is set (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Remove duplicate power off in proto close (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: enable on new platform (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: use NULL instead of zero (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: switch to list_for_each_entry() (Gopal Tiwari) [1946951] - Bluetooth: hci_intel: drop strange le16_to_cpu() against u8 values (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: remove redundant null check (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb (Gopal Tiwari) [1946951] - Bluetooth: hci_uart: Cancel init work before unregistering (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Remove ignored flag HCI_UART_RESET_ON_INIT (Gopal Tiwari) [1946951] - Bluetooth: btmrvl: eliminate duplicates introducing btmrvl_reg_89xx (Gopal Tiwari) [1946951] - Revert "Bluetooth: btusb: Disable runtime suspend on Realtek devices" (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Stop collecting memdump again for command timeout during SSR (Gopal Tiwari) [1946951] - Bluetooth: hci_serdev: Only unregister device if it was registered (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags (Gopal Tiwari) [1946951] - Bluetooth: btusb: Fix and detect most of the Chinese Bluetooth controllers (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Bug fixes for SSR (Gopal Tiwari) [1946951] - Bluetooth: btusb: add Realtek 8822CE to usb_device_id table (Gopal Tiwari) [1946951] - Bluetooth: btusb: USB alternate setting 1 for WBS (Gopal Tiwari) [1946951] - Bluetooth: btusb: Comment on unbalanced pm reference (Gopal Tiwari) [1946951] - Bluetooth: btusb: BTUSB_WAKEUP_DISABLE prevents wake (Gopal Tiwari) [1946951] - Bluetooth: btusb: Reset port on cmd timeout (Gopal Tiwari) [1946951] - Bluetooth: btmtksdio: fix up firmware download sequence (Gopal Tiwari) [1946951] - Bluetooth: btusb: fix up firmware download sequence (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Disable SoC debug logging for WCN3991 (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Increase SoC idle timeout to 200ms (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Request Tx clock vote off only when Tx is pending (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Refactor irq wakeup (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Implement prevent_wake (Gopal Tiwari) [1946951] - Bluetooth: btmrvl_sdio: Set parent dev to hdev (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Bug fix during SSR timeout (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Refactor error handling in qca_suspend() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Skip serdev wait when no transfer is pending (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Only remove TX clock vote after TX is completed (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Simplify determination of serial clock on/off state from votes (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix an error pointer dereference (Gopal Tiwari) [1946951] - btmrvl: Fix firmware filename for sd8977 chipset (Gopal Tiwari) [1946951] - btmrvl: Fix firmware filename for sd8997 chipset (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix QCA6390 memdump failure (Gopal Tiwari) [1946951] - Bluetooth: btmtkuart: Use serdev_device_write_buf() instead of serdev_device_write() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Improve controller ID info log level (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix qca6390 enable failure after warm reboot (Gopal Tiwari) [1946951] - Bluetooth: btmtkuart: Improve exception handling in btmtuart_probe() (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix suspend/resume functionality failure (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Added 003.006.007, changed 001.003.015 (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: Fix uninitialized access to hdev (Gopal Tiwari) [1946951] - Bluetooth: serdev: Constify serdev_device_ops (Gopal Tiwari) [1946951] - Bluetooth: Add hook for driver to prevent wake from suspend (Gopal Tiwari) [1946951] - Bluetooth: btusb: Implement hdev->prevent_wake (Gopal Tiwari) [1946951] - Bluetooth: hci_h5: Add support for binding RTL8723BS with device tree (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: allow max-speed to be set for QCA9377 devices (Gopal Tiwari) [1946951] - Bluetooth: hci_qca: add compatible for QCA9377 (Gopal Tiwari) [1946951] - Bluetooth: btusb: Adding support for LE scatternet to Jfp and ThP (Gopal Tiwari) [1946951] - Bluetooth: Adding driver and quirk defs for multi-role LE (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Add 2 missing models to subver tables (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Move setting of USE_BDADDR_PROPERTY quirk to hci_bcm.c (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Try multiple Patch filenames when loading the Patch firmware (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Bail sooner from btbcm_initialize() when not loading fw (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Drop upper nibble version check from btbcm_initialize() (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Make btbcm_setup_patchram use btbcm_finalize (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Make btbcm_initialize() print local-name on re-init too (Gopal Tiwari) [1946951] - Bluetooth: btbcm: Fold Patch loading + applying into btbcm_initialize() (Gopal Tiwari) [1946951] - Bluetooth: btrtl: Add support for RTL8761B (Gopal Tiwari) [1946951] - Bluetooth: btusb: check for NULL in btusb_find_altsetting() (Gopal Tiwari) [1946951] - Bluetooth: btusb: handle mSBC audio over USB Endpoints (Gopal Tiwari) [1946951] - Bluetooth: add support to notify using SCO air mode (Gopal Tiwari) [1946951] - Bluetooth: hci_bcm: respect IRQ polarity from DT (Gopal Tiwari) [1946951] - Bluetooth: hci_bcm: fix freeing not-requested IRQ (Gopal Tiwari) [1946951] - intel_idle: remove definition of DEBUG (David Arcari) [1926917] - intel_idle: Build fix (David Arcari) [1926917] - cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known (Phil Auld) [1937103] - cpufreq: ACPI: Update arch scale-invariance max perf ratio if CPPC is not there (Phil Auld) [1937103] - cpufreq: ACPI: Extend frequency tables to cover boost frequencies (Phil Auld) [1937103] - sched/uclamp: Add CPU's clamp buckets refcounting (Phil Auld) [1937103] - x86: PM: Register syscore_ops for scale invariance (Phil Auld) [1937103] - sched/fair: Reduce cases for active balance (Phil Auld) [1937103] - sched/fair: Don't set LBF_ALL_PINNED unnecessarily (Phil Auld) [1937103] - sched/fair: Skip idle cfs_rq (Phil Auld) [1937103] - tick/sched: Make jiffies update quick check more robust (Phil Auld) [1937103] - sched/fair: Trivial correction of the newidle_balance() comment (Phil Auld) [1937103] - sched/fair: Clear SMT siblings after determining the core is not idle (Phil Auld) [1937103] - sched: Fix kernel-doc markup (Phil Auld) [1937103] - x86: Print ratio freq_max/freq_base used in frequency invariance calculations (Phil Auld) [1937103] - x86, sched: Use midpoint of max_boost and max_P for frequency invariance on AMD EPYC (Phil Auld) [1937103] - x86, sched: Calculate frequency invariance for AMD systems (Phil Auld) [1937103] - sched: Limit the amount of NUMA imbalance that can exist at fork time (Phil Auld) [1937103] - sched/numa: Allow a floating imbalance between NUMA nodes (Phil Auld) [1937103] - sched: Avoid unnecessary calculation of load imbalance at clone time (Phil Auld) [1937103] - sched/numa: Rename nr_running and break out the magic number (Phil Auld) [1937103] - sched/topology: Condition EAS enablement on FIE support (Phil Auld) [1937103] - sched/topology: Don't enable EAS on SMT systems (Phil Auld) [1937103] - sched/topology,schedutil: Wrap sched domains rebuild (Phil Auld) [1937103] - sched/core: Fix typos in comments (Phil Auld) [1937103] - sched: Fix rq->nr_iowait ordering (Phil Auld) [1937103] - sched: Fix data-race in wakeup (Phil Auld) [1937103] - sched/fair: Fix overutilized update in enqueue_task_fair() (Phil Auld) [1937103] - sched/fair: Dissociate wakeup decisions from SD flag value (Phil Auld) [1937103] - sched: Remove select_task_rq()'s sd_flag parameter (Phil Auld) [1937103] - sched: Add WF_TTWU, WF_EXEC wakeup flags (Phil Auld) [1937103] - sched/fair: Remove superfluous lock section in do_sched_cfs_slack_timer() (Phil Auld) [1937103] - sched/fair: Ensure tasks spreading in LLC during LB (Phil Auld) [1937103] - sched/fair: Reorder throttle_cfs_rq() path (Phil Auld) [1937103] - sched/fair: Check for idle core in wake_affine (Phil Auld) [1937103] - sched: Reenable interrupts in do_sched_yield() (Phil Auld) [1937103] - sched/fair: Improve the accuracy of sched_stat_wait statistics (Phil Auld) [1937103] - sched/fair: Tweak pick_next_entity() (Phil Auld) [1937103] - sched/debug: Add new tracepoint to track cpu_capacity (Phil Auld) [1937103] - sched/fair: Remove the force parameter of update_tg_load_avg() (Phil Auld) [1937103] - sched/rt: Disable RT_RUNTIME_SHARE by default (Phil Auld) [1937103] - sched: Cache task_struct::flags in sched_submit_work() (Phil Auld) [1937103] - sched/fair: Simplify the work when reweighting entity (Phil Auld) [1937103] - sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu() (Phil Auld) [1937103] - sched/fair: Ignore cache hotness for SMT migration (Phil Auld) [1937103] - sched: Use __always_inline on is_idle_task() (Phil Auld) [1937103] - treewide: Use fallthrough pseudo-keyword (Phil Auld) [1937103] - sched/debug: Fix the alignment of the show-state debug output (Phil Auld) [1937103] - x86, sched: Bail out of frequency invariance if turbo_freq/base_freq gives 0 (Phil Auld) [1937103] - x86, sched: Bail out of frequency invariance if turbo frequency is unknown (Phil Auld) [1937103] - x86, sched: check for counters overflow in frequency invariant accounting (Phil Auld) [1937103] - exit: Move preemption fixup up, move blocking operations down (Phil Auld) [1937103] - net: bonding: remove repeated word (Jarod Wilson) [1936982] - net: bonding: Correct function name bond_change_active_slave() in comment (Jarod Wilson) [1936982] - bonding: Added -ENODEV interpret for slaves option (Jarod Wilson) [1936982] - bonding: 3ad: Print an error for unknown speeds (Jarod Wilson) [1936982] - bonding: 3ad: add support for 400G speed (Jarod Wilson) [1936982] - bonding: 3ad: add support for 200G speed (Jarod Wilson) [1936982] - net/bonding: Declare TLS RX device offload support (Jarod Wilson) [1936982] - net/bonding: Implement TLS TX device offload (Jarod Wilson) [1936982] - net/bonding: Take update_features call out of XFRM funciton (Jarod Wilson) [1936982] - net/bonding: Implement ndo_sk_get_lower_dev (Jarod Wilson) [1936982] - net/bonding: Take IP hash logic into a helper (Jarod Wilson) [1936982] - net: bonding: Notify ports about their initial state (Jarod Wilson) [1936982] - bonding: wait for sysfs kobject destruction before freeing struct slave (Jarod Wilson) [1936982] - bonding: advertise NETIF_F_GSO_SOFTWARE (Jarod Wilson) [1936982] - net/tls: Except bond interface from some TLS checks (Jarod Wilson) [1936982] - net/tls: Device offload to use lowest netdevice in chain (Jarod Wilson) [1936982] - ethtool: Add common function for filling out strings (Ivan Vecera) [1950987] - selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value (Hangbin Liu) [1949349] - selftests: forwarding: Fix race condition in mirror installation (Hangbin Liu) [1949349] - selftests: txtimestamp: fix compilation issue (Hangbin Liu) [1949349] - selftests: net: fib_tests: remove duplicate log test (Hangbin Liu) [1949349] - selftests: xfrm: fix test return value override issue in xfrm_policy.sh (Hangbin Liu) [1949349] - selftests: rtnetlink: load fou module for kci_test_encap_fou() test (Hangbin Liu) [1949349] - vxlan: move debug check after netdev unregister (Guillaume Nault) [1949167] - net: ip: always refragment ip defragmented packets (Guillaume Nault) [1949167] - net: fix pmtu check in nopmtudisc mode (Guillaume Nault) [1949167] - net: udp: make udp_tunnel_nic_info structure extensible (Ivan Vecera) [1948450] - macvlan: macvlan_count_rx() needs to be aware of preemption (Antoine Tenart) [1950012] - macvlan: remove redundant null check on data (Antoine Tenart) [1950012] - net: fix dev_ifsioc_locked() race condition (Antoine Tenart) [1950234] - ipv6: weaken the v4mapped source check (Hangbin Liu) [1949499] - ipv6: set multicast flag on the multicast route (Hangbin Liu) [1949499] - ipv6: create multicast route with RTPROT_KERNEL (Hangbin Liu) [1949499] - net: ipv6: Validate GSO SKB before finish IPv6 processing (Hangbin Liu) [1949499] - net: sit: unregister_netdevice on newlink's error path (Hangbin Liu) [1949499] - net: ip6_gre: fix moving ip6gre between namespaces (Hangbin Liu) [1949499] - gso: validate gso_type on ipip style tunnels (Hangbin Liu) [1949499] - net: page_pool: simplify page recycling condition tests (Ivan Vecera) [1935698] - net: use the new dev_page_is_reusable() instead of private versions (Ivan Vecera) [1935698] - net: introduce common dev_page_is_reusable() (Ivan Vecera) [1935698] - skbuff: constify skb_propagate_pfmemalloc() "page" argument (Ivan Vecera) [1935698] - mm: constify page_is_pfmemalloc() argument (Ivan Vecera) [1935698] - genetlink: allow dumping command-specific policy (Ivan Vecera) [1938919] - genetlink: properly support per-op policy dumping (Ivan Vecera) [1938919] - genetlink: factor skb preparation out of ctrl_dumppolicy() (Ivan Vecera) [1938919] - netlink: rework policy dump to support multiple policies (Ivan Vecera) [1938919] - netlink: compare policy more accurately (Ivan Vecera) [1938919] - genetlink: switch control commands to per-op policies (Ivan Vecera) [1938919] - genetlink: use parsed attrs in dumppolicy (Ivan Vecera) [1938919] - taskstats: move specifying netlink policy back to ops (Ivan Vecera) [1938919] - genetlink: bring back per op policy (Ivan Vecera) [1938919] - genetlink: use .start callback for dumppolicy (Ivan Vecera) [1938919] - genetlink: add a structure for dump state (Ivan Vecera) [1938919] - genetlink: move to smaller ops wherever possible (Ivan Vecera) [1938919] - genetlink: add small version of ops (Ivan Vecera) [1938919] - netlink: fix policy dump leak (Ivan Vecera) [1938919] - genetlink: get rid of family->attrbuf (Ivan Vecera) [1938919] - genetlink: clean up family attributes allocations (Ivan Vecera) [1938919] - genetlink: fix memory leaks in genl_family_rcv_msg_dumpit() (Ivan Vecera) [1938919] - net: genetlink: return the error code when attribute parsing fails. (Ivan Vecera) [1938919] - genetlink: do not parse attributes for families with zero maxattr (Ivan Vecera) [1938919] - net: tipc: prepare attrs in __tipc_nl_compat_dumpit() (Ivan Vecera) [1938919] - net: genetlink: always allocate separate attrs for dumpit ops (Ivan Vecera) [1938919] - net: genetlink: remove unused genl_family_attrbuf() (Ivan Vecera) [1938919] - net: tipc: allocate attrs locally instead of using genl_family_attrbuf in compat_dumpit() (Ivan Vecera) [1938919] - net: tipc: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: nfc: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: ieee802154: have genetlink code to parse the attrs during dumpit (Ivan Vecera) [1938919] - net: genetlink: parse attrs and store in contect info struct during dumpit (Ivan Vecera) [1938919] - net: genetlink: push attrbuf allocation and parsing to a separate function (Ivan Vecera) [1938919] - net: genetlink: introduce dump info struct to be available during dumpit op (Ivan Vecera) [1938919] - net: genetlink: push doit/dumpit code from genl_family_rcv_msg (Ivan Vecera) [1938919] - devlink: Use controller while building phys_port_name (Petr Oros) [1935615] - devlink: Introduce controller number (Petr Oros) [1935615] - devlink: Introduce external controller flag (Petr Oros) [1935615] - devlink: Move structure comments outside of structure (Petr Oros) [1935615] - devlink: Add comment block for missing port attributes (Petr Oros) [1935615] - net/mlx5: E-switch, Read controller number from device (Petr Oros) [1935615] - devlink: don't crash if netdev is NULL (Petr Oros) [1935615] - vdpa/mlx5: Use write memory barrier after updating CQ index (Jason Wang) [1877270] - vhost_vdpa: return -EFAULT if copy_to_user() fails (Jason Wang) [1877270] - vdpa: mlx5: fix vdpa/vhost dependencies (Jason Wang) [1877270] - vhost-vdpa: fix page pinning leakage in error path (rework) (Jason Wang) [1877270] - vdpasim: fix "mac_pton" undefined error (Jason Wang) [1877270] - vdpasim: allow to assign a MAC address (Jason Wang) [1877270] - vdpasim: fix MAC address configuration (Jason Wang) [1877270] - vdpa: handle irq bypass register failure case (Jason Wang) [1877270] - vdpa_sim: Fix DMA mask (Jason Wang) [1877270] - Revert "vhost-vdpa: fix page pinning leakage in error path" (Jason Wang) [1877270] - vdpa/mlx5: Fix error return in map_direct_mr() (Jason Wang) [1877270] - vhost_vdpa: Return -EFAULT if copy_from_user() fails (Jason Wang) [1877270] - vdpa_sim: implement get_iova_range() (Jason Wang) [1877270] - vhost: vdpa: report iova range (Jason Wang) [1877270] - vdpa: introduce config op to get valid iova range (Jason Wang) [1877270] - vhost_vdpa: remove unnecessary spin_lock in vhost_vring_call (Jason Wang) [1877270] - vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK (Jason Wang) [1877270] - vhost_vdpa: Fix duplicate included kernel.h (Jason Wang) [1877270] - vdpa/mlx5: Fix failure to bring link up (Jason Wang) [1877270] - vdpa/mlx5: Make use of a specific 16 bit endianness API (Jason Wang) [1877270] - vdpa/mlx5: Fix dependency on MLX5_CORE (Jason Wang) [1877270] - vdpa/mlx5: should keep avail_index despite device status (Jason Wang) [1877270] - vhost-vdpa: fix page pinning leakage in error path (Jason Wang) [1877270] - vhost-vdpa: fix vhost_vdpa_map() on error condition (Jason Wang) [1877270] - vhost vdpa: fix vhost_vdpa_open error handling (Jason Wang) [1877270] - vhost-vdpa: fix backend feature ioctls (Jason Wang) [1877270] - vdpa/mlx5: Avoid warnings about shifts on 32-bit platforms (Jason Wang) [1877270] - vdpa: ifcvf: free config irq in ifcvf_free_irq() (Jason Wang) [1877270] - vdpa: ifcvf: return err when fail to request config irq (Jason Wang) [1877270] - vdpa/mlx5: fix up endian-ness for mtu (Jason Wang) [1877270] - vdpa: Fix pointer math bug in vdpasim_get_config() (Jason Wang) [1877270] - vdpa/mlx5: Fix pointer math in mlx5_vdpa_get_config() (Jason Wang) [1877270] - mlx5: vdpa: fix possible uninitialized var (Jason Wang) [1877270] - vdpa/mlx5: fix memory allocation failure checks (Jason Wang) [1877270] - vdpa/mlx5: Fix uninitialised variable in core/mr.c (Jason Wang) [1877270] - vdpa_sim: init iommu lock (Jason Wang) [1877270] - redhat: enable mlx5e vDPA driver (Jason Wang) [1877270] - vdpa/mlx5: Add VDPA driver for supported mlx5 devices (Jason Wang) [1877270] - vdpa/mlx5: Add shared memory registration code (Jason Wang) [1877270] - vdpa/mlx5: Add support library for mlx5 VDPA implementation (Jason Wang) [1877270] - vdpa/mlx5: Add hardware descriptive header file (Jason Wang) [1877270] - vdpa: Modify get_vq_state() to return error code (Jason Wang) [1877270] - net/vdpa: Use struct for set/get vq state (Jason Wang) [1877270] - vdpa: remove hard coded virtq num (Jason Wang) [1877270] - vdpasim: support batch updating (Jason Wang) [1877270] - vhost-vdpa: support IOTLB batching hints (Jason Wang) [1877270] - vhost-vdpa: support get/set backend features (Jason Wang) [1877270] - vhost: generialize backend features setting/getting (Jason Wang) [1877270] - vhost-vdpa: refine ioctl pre-processing (Jason Wang) [1877270] - vDPA: dont change vq irq after DRIVER_OK (Jason Wang) [1877270] - ifcvf: implement vdpa_config_ops.get_vq_irq() (Jason Wang) [1877270] - vhost_vdpa: implement IRQ offloading in vhost_vdpa (Jason Wang) [1877270] - vDPA: add get_vq_irq() in vdpa_config_ops (Jason Wang) [1877270] - vhost: introduce vhost_vring_call (Jason Wang) [1877270] - vdpasim: protect concurrent access to iommu iotlb (Jason Wang) [1877270] - vhost: vdpa: remove per device feature whitelist (Jason Wang) [1877270] - vdpa_sim: fix endian-ness of config space (Jason Wang) [1877270] - virtio_vdpa: legacy features handling (Jason Wang) [1877270] - vhost/vdpa: switch to new helpers (Jason Wang) [1877270] - vdpa: make sure set_features is invoked for legacy (Jason Wang) [1877270] - vhost_vdpa: Fix potential underflow in vhost_vdpa_mmap() (Jason Wang) [1877270] - vdpa: fix typos in the comments for __vdpa_alloc_device() (Jason Wang) [1877270] - ifcvf: implement config interrupt in IFCVF (Jason Wang) [1877270] - vhost: replace -1 with VHOST_FILE_UNBIND in ioctls (Jason Wang) [1877270] - vhost_vdpa: Support config interrupt in vdpa (Jason Wang) [1877270] - ifcvf: ignore continuous setting same status value (Jason Wang) [1877270] - vdpasim: Fix some coccinelle warnings (Jason Wang) [1877270] - ifcvf: move IRQ request/free to status change handlers (Jason Wang) [1877270] - vhost_vdpa: disable doorbell mapping for !MMU (Jason Wang) [1877270] - vhost_vdpa: support doorbell mapping via mmap (Jason Wang) [1877270] - vdpa: introduce get_vq_notification method (Jason Wang) [1877270] - vhost: use mmgrab() instead of mmget() for non worker device (Jason Wang) [1877270] - vhost: allow device that does not depend on vhost worker (Jason Wang) [1877270] - vhost: revert "vhost: disable for OABI" (Jason Wang) [1877270] - vdpasim: remove unused variable 'ret' (Jason Wang) [1877270] - vhost: remove set but not used variable 'status' (Jason Wang) [1877270] - vhost: vdpa: remove unnecessary null check (Jason Wang) [1877270] - virtio/test: fix up after IOTLB changes (Jason Wang) [1877270] - vhost/test: fix build for vhost test (Jason Wang) [1877270] - tools/virtio: option to build an out of tree module (Jason Wang) [1877270] - vhost/test: fix build for vhost test (Jason Wang) [1877270] - vhost: fix VHOST_GET_BACKEND_FEATURES ioctl request definition (Jason Wang) [1877270] - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3 (Michael Petlan) [1950388]- redhat/configs/editconfig: Add support for a bugzilla entry (David Arcari) - tools/power turbostat: Revert "[tools] tools/power turbostat: Enable accumulate RAPL display" (Prarit Bhargava) [1944699] - mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start (Jarod Wilson) [1914996] {CVE-2020-36158} - net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP (Alaa Hleihel) [1932839 1936742] - net/mlx5e: Reject tc rules which redirect from a VF to itself (Alaa Hleihel) [1932839] - net/mlx5: CT: Add support for matching on ct_state inv and rel flags (Alaa Hleihel) [1932839 1942681] - net: openvswitch: add log message for error case (Eelco Chaudron) [1937697] - net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit() (Eelco Chaudron) [1937697] - net: openvswitch: Be liberal in tcp conntrack. (Eelco Chaudron) [1937697] - netfilter: conntrack: tcp: only close if RST matches exact sequence (Eelco Chaudron) [1937697] - openvswitch: Use IS_ERR instead of IS_ERR_OR_NULL (Eelco Chaudron) [1937697] - net: openvswitch: Fix kerneldoc warnings (Eelco Chaudron) [1937697] - net: openvswitch: remove unnecessary ASSERT_OVSL in ovs_vport_del() (Eelco Chaudron) [1937697] - cifs: revalidate mapping when we open files for SMB1 POSIX (Ronnie Sahlberg) [1933527] - Revert "vfs: Allow userns root to call mknod on owned filesystems." (Alexey Gladkov) [1902543] - mfd: intel-lpss: Add Intel Alder Lake PCH-S PCI IDs (David Arcari) [1840244] - nvme: retrigger ANA log update if group descriptor isn't found (Gopal Tiwari) [1910493] - locking/qrwlock: Fix ordering in queued_write_lock_slowpath() (Waiman Long) [1950110] - PCI: switchtec: Add missing __iomem tag to fix sparse warnings (Myron Stowe) [1946645] - PCI: switchtec: Add missing __iomem and __user tags to fix sparse warnings (Myron Stowe) [1946645] - PCI: Release IVRS table in AMD ACS quirk (Myron Stowe) [1946645] - PCI/MSI: Forward MSI-X error code in pci_alloc_irq_vectors_affinity() (Myron Stowe) [1946645] - PCI: Remove unused pci_lost_interrupt() (Myron Stowe) [1946645] - PCI: Move PCI_VENDOR_ID_REDHAT definition to pci_ids.h (Myron Stowe) [1946645] - PCI: Fix error in panic message (Myron Stowe) [1946645] - PCI: Replace lkml.org, spinics, gmane with lore.kernel.org (Myron Stowe) [1946645] - PCI: Replace http:// links with https:// (Myron Stowe) [1946645] - PCI: exynos: Rename Exynos to lowercase (Myron Stowe) [1946645] - PCI: Align PCIe capability and PCI accessor return values (Myron Stowe) [1946645] - PCI: Convert PCIe capability PCIBIOS errors to errno (Myron Stowe) [1946645] - PCI: rpadlpar: Make functions static (Myron Stowe) [1946645] - PCI: Fix pci_slot_release() NULL pointer dereference (Myron Stowe) [1946645] - PCI: Fix pci_create_slot() reference count leak (Myron Stowe) [1946645] - PCI: Announce device after early fixups (Myron Stowe) [1946645] - PCI: Always enable ACS even if no ACS Capability (Myron Stowe) [1946645] - PCI: Cache ACS capability offset in device (Myron Stowe) [1946645] - PCI: Reorder pci_enable_acs() and dependencies (Myron Stowe) [1946645] - PCI: Add device even if driver attach failed (Myron Stowe) [1946645] - PCI: Fix pci_cfg_wait queue locking problem (Myron Stowe) [1946645] - PCI/ASPM: Add missing newline in sysfs 'policy' (Myron Stowe) [1946645]- gfs2: report "already frozen/thawed" errors (Bob Peterson) [1932236] - gfs2: move freeze glock outside the make_fs_rw and _ro functions (Bob Peterson) [1932236] - gfs2: Add common helper for holding and releasing the freeze glock (Bob Peterson) [1932236] - gfs2: in signal_our_withdraw wait for unfreeze of _this_ fs only (Bob Peterson) [1932236] - gfs2: Don't freeze the file system during unmount (Bob Peterson) [1932236] - gfs2: Fix regression in freeze_go_sync (Bob Peterson) [1932236] - gfs2: The freeze glock should never be frozen (Bob Peterson) [1932236] - gfs2: When freezing gfs2, use GL_EXACT and not GL_NOCACHE (Bob Peterson) [1932236] - gfs2: Abort gfs2_freeze if io error is seen (Bob Peterson) [1932236] - gfs2: read-only mounts should grab the sd_freeze_gl glock (Bob Peterson) [1932236] - gfs2: freeze should work on read-only mounts (Bob Peterson) [1932236] - bpf: Mark LSM link with rh_mark_used_feature call (Jiri Olsa) [1901039] - Revert "[tools] bpf: selftests: remove test_progs LSM test" (Ondrej Mosnacek) [1901039] - configs: enable BPF LSM (Ondrej Mosnacek) [1901039] - security: Fix hook iteration and default value for inode_copy_up_xattr (Ondrej Mosnacek) [1901039] - security: Fix hook iteration for secid_to_secctx (Ondrej Mosnacek) [1901039] - security: Fix the default value of secid_to_secctx hook (Ondrej Mosnacek) [1901039] - security: Fix the default value of fs_context_parse_param hook (Ondrej Mosnacek) [1901039] - bpf: lsm: Initialize the BPF LSM hooks (Ondrej Mosnacek) [1901039] - security: Refactor declaration of LSM hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the shm_* hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the sem_* hooks (Ondrej Mosnacek) [1901039] - LSM: fix documentation for the msg_queue_* hooks (Ondrej Mosnacek) [1901039] - LSM: Revive CONFIG_DEFAULT_SECURITY_* for "make oldconfig" (Ondrej Mosnacek) [1901039] - LSM: Ignore "security=" when "lsm=" is specified (Ondrej Mosnacek) [1901039] - LSM: Update function documentation for cap_capable (Ondrej Mosnacek) [1901039] - procfs: add smack subdir to attrs (Ondrej Mosnacek) [1901039] - capability: Initialize as LSM_ORDER_FIRST (Ondrej Mosnacek) [1901039] - LSM: Introduce enum lsm_order (Ondrej Mosnacek) [1901039] - Yama: Initialize as ordered LSM (Ondrej Mosnacek) [1901039] - LoadPin: Initialize as ordered LSM (Ondrej Mosnacek) [1901039] - LSM: Split LSM preparation from initialization (Ondrej Mosnacek) [1901039] - LSM: Add all exclusive LSMs to ordered initialization (Ondrej Mosnacek) [1901039] - LSM: Separate idea of "major" LSM from "exclusive" LSM (Ondrej Mosnacek) [1901039] - LSM: Refactor "security=" in terms of enable/disable (Ondrej Mosnacek) [1901039] - LSM: Prepare for reorganizing "security=" logic (Ondrej Mosnacek) [1901039] - LSM: Tie enabling logic to presence in ordered list (Ondrej Mosnacek) [1901039] - LSM: Introduce "lsm=" for boottime LSM selection (Ondrej Mosnacek) [1901039] - LSM: Introduce CONFIG_LSM (Ondrej Mosnacek) [1901039] - LSM: Build ordered list of LSMs to initialize (Ondrej Mosnacek) [1901039] - LSM: Lift LSM selection out of individual LSMs (Ondrej Mosnacek) [1901039] - LSM: Plumb visibility into optional "enabled" state (Ondrej Mosnacek) [1901039] - LSM: Provide separate ordered initialization (Ondrej Mosnacek) [1901039] - LSM: Introduce LSM_FLAG_LEGACY_MAJOR (Ondrej Mosnacek) [1901039] - LSM: Don't ignore initialization failures (Ondrej Mosnacek) [1901039] - LSM: Provide init debugging infrastructure (Ondrej Mosnacek) [1901039] - LSM: Record LSM name in struct lsm_info (Ondrej Mosnacek) [1901039] - LSM: Convert security_initcall() into DEFINE_LSM() (Ondrej Mosnacek) [1901039] - vmlinux.lds.h: Move LSM_TABLE into INIT_DATA (Ondrej Mosnacek) [1901039] - LSM: Convert from initcall to struct lsm_info (Ondrej Mosnacek) [1901039] - LSM: Remove initcall tracing (Ondrej Mosnacek) [1901039] - LSM: Rename .security_initcall section to .lsm_info (Ondrej Mosnacek) [1901039] - vmlinux.lds.h: Avoid copy/paste of security_init section (Ondrej Mosnacek) [1901039] - LSM: Correctly announce start of LSM initialization (Ondrej Mosnacek) [1901039] - proc: save 2 atomic ops on write to "/proc/*/attr/*" (Ondrej Mosnacek) [1901039] - ALSA: usb-audio: fix NULL ptr dereference in usb_audio_probe (Jaroslav Kysela) [1870724] - ALSA: usb-audio: fix use after free in usb_audio_disconnect (Jaroslav Kysela) [1870724] - ALSA: usb-audio: Disable USB autosuspend properly in setup_disable_autosuspend() (Jaroslav Kysela) [1870724] - Bluetooth: btusb: Fix the autosuspend enable and disable (Gopal Tiwari) [1927375] - flow_dissector: fix TTL and TOS dissection on IPv4 fragments (Davide Caratti) [1882607] - net: avoid infinite loop in mpls_gso_segment when mpls_hlen == 0 (Balazs Nemeth) [1922898] - net: check if protocol extracted by virtio_net_hdr_set_proto is correct (Balazs Nemeth) [1922898] - redhat/configs: Add CONFIG_PINCTRL_ALDERLAKE (David Arcari) [1840250] - pinctrl: intel: Add Intel Alder Lake-S pin controller support (David Arcari) [1840250] - cpufreq: intel_pstate: Remove repeated word (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Rename two functions (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Always read hwp_cap_cached with READ_ONCE() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: remove obsolete functions (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Use HWP capabilities in intel_cpufreq_adjust_perf() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Fix fast-switch fallback path (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Use most recent guaranteed performance values (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Implement the ->adjust_perf() callback (Puneet Sethi) [1926919] - cpufreq: Add special-purpose fast-switching callback for drivers (Puneet Sethi) [1926919] - cpufreq: schedutil: Add util to struct sg_cpu (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Simplify intel_cpufreq_update_pstate() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Take CPUFREQ_GOV_STRICT_TARGET into account (Puneet Sethi) [1926919] - cpufreq: Add strict_target to struct cpufreq_policy (Puneet Sethi) [1926919] - cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET (Puneet Sethi) [1926919] - cpufreq: Introduce governor flags (Puneet Sethi) [1926919] - cpufreq: schedutil: Don't skip freq update if need_freq_update is set (Puneet Sethi) [1926919] - cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set (Puneet Sethi) [1926919] - cpufreq: Introduce cpufreq_driver_test_flags() (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Avoid missing HWP max updates in passive mode (Puneet Sethi) [1926919] - cpufreq: schedutil: restore cached freq when next_f is not changed (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Delete intel_pstate sysfs if failed to register the driver (Puneet Sethi) [1926919] - cpufreq: intel_pstate: Fix missing return statement (Puneet Sethi) [1926919] - cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag (Puneet Sethi) [1926919] - ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m (Vitaly Kuznetsov) [1929266] - ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() (Vitaly Kuznetsov) [1929266] - x86/ioapic: Ignore IRQ2 again (Vitaly Kuznetsov) [1929266]- selinux: fix deadlock in security_set_bools() (Ondrej Mosnacek) [1924230] - sctp: move sk_route_caps check and set into sctp_outq_flush_transports (Xin Long) [1946733] - sctp: bring inet(6)_skb_parm back to sctp_input_cb (Xin Long) [1946733] - sctp: enable udp tunneling socks (Xin Long) [1946733] - sctp: handle the init chunk matching an existing asoc (Xin Long) [1946733] - sctp: add the error cause for new encapsulation port restart (Xin Long) [1946733] - sctp: support for sending packet over udp6 sock (Xin Long) [1946733] - sctp: support for sending packet over udp4 sock (Xin Long) [1946733] - sctp: call sk_setup_caps in sctp_packet_transmit instead (Xin Long) [1946733] - sctp: add udphdr to overhead when udp_port is set (Xin Long) [1946733] - sctp: allow changing transport encap_port by peer packets (Xin Long) [1946733] - sctp: add SCTP_REMOTE_UDP_ENCAPS_PORT sockopt (Xin Long) [1946733] - sctp: add encap_port for netns sock asoc and transport (Xin Long) [1946733] - sctp: add encap_err_lookup for udp encap socks (Xin Long) [1946733] - sctp: create udp6 sock and set its encap_rcv (Xin Long) [1946733] - sctp: create udp4 sock and add its encap_rcv (Xin Long) [1946733] - udp: support sctp over udp in skb_udp_tunnel_segment (Xin Long) [1946733] - udp6: move the mss check after udp gso tunnel processing (Xin Long) [1946733] - udp: check udp sock encap_type in __udp_lib_err (Xin Long) [1946733] - sctp: copy the optval from user space in sctp_setsockopt (Xin Long) [1946733] - net: Convert protocol error handlers from void to int (Xin Long) [1946733] - Enable CONFIG_ENERGY_MODEL (Phil Auld) [1938339] - proc/sysctl: add shared variables for range check (Phil Auld) [1938339] - Enable CONFIG_CPU_FREQ_GOV_SCHEDUTIL for all architectures (Phil Auld) [1938339] - PM / hibernate: cast PAGE_SIZE to int when comparing with error code (Chris von Recklinghausen) [1934033] - mm: revert fix false-positive OVERCOMMIT_GUESS failures (Rafael Aquini) [1913045 1908668] - redhat/config: Enable CONFIG_PAGE_POISONING (Waiman Long) [1942149] - mm, page_poison: remove CONFIG_PAGE_POISONING_ZERO (Waiman Long) [1942149] - mm, page_poison: remove CONFIG_PAGE_POISONING_NO_SANITY (Waiman Long) [1942149] - kernel/power: allow hibernation with page_poison sanity checking (Waiman Long) [1942149] - mm, page_poison: use static key more efficiently (Waiman Long) [1942149] - mm, page_alloc: do not rely on the order of page_poison and init_on_alloc/free parameters (Waiman Long) [1942149] - mm/page_alloc: clear all pages in post_alloc_hook() with init_on_alloc=1 (Waiman Long) [1942149] - arch, mm: make kernel_page_present() always available (Waiman Long) [1942149] - arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC (Waiman Long) [1942149] - PM: hibernate: make direct map manipulations more explicit (Waiman Long) [1942149] - mm: introduce debug_pagealloc_{map,unmap}_pages() helpers (Waiman Long) [1942149] - mm: rename page_order() to buddy_order() (Waiman Long) [1942149] - mm/page_alloc: place pages to tail in __free_pages_core() (Waiman Long) [1942149] - mm/page_alloc: move pages to tail in move_to_free_list() (Waiman Long) [1942149] - mm/page_alloc: place pages to tail in __putback_isolated_page() (Waiman Long) [1942149] - mm/page_alloc: convert "report" flag of __free_one_page() to a proper flag (Waiman Long) [1942149] - mm/page_alloc: drop stale pageblock comment in memmap_init_zone*() (Waiman Long) [1942149] - mm/memory_hotplug: simplify page onlining (Waiman Long) [1942149] - mm/page_isolation: simplify return value of start_isolate_page_range() (Waiman Long) [1942149] - mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages() (Waiman Long) [1942149] - mm/page_alloc: simplify __offline_isolated_pages() (Waiman Long) [1942149] - mm/memory_hotplug: simplify page offlining (Waiman Long) [1942149] - mm/memory_hotplug: enforce section granularity when onlining/offlining (Waiman Long) [1942149] - mm/memory_hotplug: inline __offline_pages() into offline_pages() (Waiman Long) [1942149] - mm/page_poison.c: replace bool variable with static key (Waiman Long) [1942149] - mm/page_alloc.c: fix early params garbage value accesses (Waiman Long) [1942149] - mm/memory_hotplug: document why shuffle_zone() is relevant (Waiman Long) [1942149] - mm: replace '---help---' in Kconfig files with 'help' (Waiman Long) [1942149] - mm/memory_hotplug: fix a typo in comment "recoreded"->"recorded" (Waiman Long) [1942149] - mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE (Waiman Long) [1942149] - x86/mm/cpa: Flush direct map alias during cpa (Waiman Long) [1942149] - mm/page_alloc: simplify page_is_buddy() for better code readability (Waiman Long) [1942149] - mm/memory.c: add apply_to_existing_page_range() helper (Waiman Long) [1942149] - x86/mm/pat: Move the memtype related files to arch/x86/mm/pat/ (Waiman Long) [1942149] - x86/mm/pat: Rename pat_rbtree.c to pat_interval.c (Waiman Long) [1942149] - mm/memory_hotplug: online_pages cannot be 0 in online_pages() (Waiman Long) [1942149] - mm/memory_hotplug: make sure the pfn is aligned to the order when onlining (Waiman Long) [1942149] - mm/memory_hotplug: simplify online_pages_range() (Waiman Long) [1942149] - mm/memory_hotplug: drop PageReserved() check in online_pages_range() (Waiman Long) [1942149] - mm/memory_hotplug.c: use PFN_UP / PFN_DOWN in walk_system_ram_range() (Waiman Long) [1942149] - mm/page_poison.c: fix a typo in a comment (Waiman Long) [1942149] - mm/slab: Remove store_stackinfo() (Waiman Long) [1942149] - mm/resource: Let walk_system_ram_range() search child resources (Waiman Long) [1942149] - mm/page_alloc.c: use a single function to free page (Waiman Long) [1942149] - mm/page_alloc.c: free order-0 pages through PCP in page_frag_free() (Waiman Long) [1942149] - x86/mm/cpa: Fix set_mce_nospec() (Waiman Long) [1942149] - x86/mm/cpa: Rename @addrinarray to @numpages (Waiman Long) [1942149] - x86/mm/cpa: Better use CLFLUSHOPT (Waiman Long) [1942149] - x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function (Waiman Long) [1942149] - x86/mm/cpa: Make cpa_data::numpages invariant (Waiman Long) [1942149] - x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation (Waiman Long) [1942149] - x86/mm/cpa: Simplify the code after making cpa->vaddr invariant (Waiman Long) [1942149] - x86/mm/cpa: Make cpa_data::vaddr invariant (Waiman Long) [1942149] - x86/mm/cpa: Add __cpa_addr() helper (Waiman Long) [1942149] - x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests (Waiman Long) [1942149] - resource/docs: Complete kernel-doc style function documentation (Waiman Long) [1942149] - resource/docs: Fix new kernel-doc warnings (Waiman Long) [1942149] - resource: Clean it up a bit (Waiman Long) [1942149] - mm: clarify CONFIG_PAGE_POISONING and usage (Waiman Long) [1942149] - selftests: kvm: Raise the default timeout to 120 seconds (Emanuele Giuseppe Esposito) [1894828] - KVM: Raise the maximum number of user memslots (Emanuele Giuseppe Esposito) [1894828] - block: recalculate segment count for multi-segment discards correctly (Ming Lei) [1922370] - i40e: Fix VFs not created (Stefan Assmann) [1875338] - vfs: fix page locking deadlocks when deduping files (Gao Xiang) [1916242]- tg3: improve PCI VPD access (Jonathan Toppins) [1921456] - scsi: target: pscsi: Clean up after failure in pscsi_map_sg() (Maurizio Lombardi) [1939458] - scsi: target: pscsi: Avoid OOM in pscsi_map_sg() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix memory leak caused by wrong uio usage (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Move some functions without code change (Maurizio Lombardi) [1939458] - scsi: target: core: Prevent underflow for service actions (Maurizio Lombardi) [1939458] - scsi: target: core: Add cmd length set before cmd complete (Maurizio Lombardi) [1939458] - scsi: target: sbp: Remove unneeded semicolon (Maurizio Lombardi) [1939458] - scsi: target: core: Change ASCQ for residual write (Maurizio Lombardi) [1939458] - scsi: target: core: Signal WRITE residuals (Maurizio Lombardi) [1939458] - scsi: target: core: Set residuals for 4Kn devices (Maurizio Lombardi) [1939458] - scsi: target: core: Remove in_interrupt() check in transport_handle_cdb_direct() (Maurizio Lombardi) [1939458] - scsi: target: core: Replace in_interrupt() usage in target_submit_cmd_map_sgls() (Maurizio Lombardi) [1939458] - scsi: target: alua: Remove in_interrupt() usage in core_alua_check_nonop_delay() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Redo iscsit_check_session_usage_count() return code (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_check_session_usage_count() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_close_session() (Maurizio Lombardi) [1939458] - scsi: target: iscsi: Fix typo in comment (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix use-after-free of se_cmd->priv (Maurizio Lombardi) [1939458] - scsi: target: core: Fix fall-through warnings for Clang (Maurizio Lombardi) [1939458] - scsi: tcm_loop: Allow queues, can_queue and cmd_per_lun to be settable (Maurizio Lombardi) [1939458] - scsi: target: Make state_list per CPU (Maurizio Lombardi) [1939458] - scsi: target: Drop sess_cmd_lock from I/O path (Maurizio Lombardi) [1939458] - scsi: target: Remove TARGET_SCF_LOOKUP_LUN_FROM_TAG (Maurizio Lombardi) [1939458] - scsi: target: Fix cmd_count ref leak (Maurizio Lombardi) [1939458] - scsi: target: Fix LUN ref count handling (Maurizio Lombardi) [1939458] - scsi: target: Return COMPARE AND WRITE miscompare offsets (Maurizio Lombardi) [1939458] - scsi: target: Split out COMPARE AND WRITE memcmp into helper (Maurizio Lombardi) [1939458] - scsi: target: Rename cmd.bad_sector to cmd.sense_info (Maurizio Lombardi) [1939458] - scsi: target: Rename struct sense_info to sense_detail (Maurizio Lombardi) [1939458] - scsi: target: tcmu: scatter_/gather_data_area() rework (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Replace zero-length array with flexible-array member (Maurizio Lombardi) [1939458] - scsi: target: rd: Drop double zeroing (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Fix warning: 'page' may be used uninitialized (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Optimize scatter_data_area() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Optimize queue_cmd_ring() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Join tcmu_cmd_get_data_length() and tcmu_cmd_get_block_cnt() (Maurizio Lombardi) [1939458] - scsi: target: tcmu: Add missing newline when printing parameters (Maurizio Lombardi) [1939458] - scsi: target: Remove redundant assignment to variable 'ret' (Maurizio Lombardi) [1939458] - x86/resctrl: Fix AMD L3 QOS CDP enable/disable (Wei Huang) [1868984] - i2c: i801: Add support for Intel Alder Lake PCH-S (David Arcari) [1840242] - esp: delete NETIF_F_SCTP_CRC bit from features for esp offload (Xin Long) [1815560] - net/sched: act_ct: clear post_ct if doing ct_clear (Marcelo Ricardo Leitner) [1941889] - net: Change dev parameter to const in netif_device_present() (Josef Oskera) [1941728] - [x86] x86/mce: Increase maximum number of banks to 64 (Terry Bowman) [1931679]- scsi: megaraid_sas: Fix a bunch of misnamed functions in their headers (Tomas Henzl) [1924687] - scsi: megaraid_sas: Replace sdev_busy with local counter (Tomas Henzl) [1924687] - scsi: megaraid: Fix ifnullfree.cocci warnings (Tomas Henzl) [1924687] - scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression (Tomas Henzl) [1924687] - Revert "Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug"" (Tomas Henzl) [1924687] - Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug" (Tomas Henzl) [1924687] - scsi: megaraid_sas: Update function description (Tomas Henzl) [1924687] - scsi: megaraid_sas: Use generic power management (Tomas Henzl) [1924687] - megaraid_sas(treewide): Use fallthrough pseudo-keyword (Tomas Henzl) [1924687] - scsi: megaraid_sas: Drop PCI wakeup calls from .resume (Tomas Henzl) [1924687] - scsi: megaraid_sas: Check user-provided offsets (Tomas Henzl) [1924687] - scsi: mpt3sas: Update driver version to 37.101.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply post array allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply post buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force reply buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force sense buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force chain buffer allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Force PCIe scatterlist allocations to be within same 4 GB region (Tomas Henzl) [1922058] - scsi: mpt3sas: Replace unnecessary dynamic allocation with a static one (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix some kernel-doc misnaming issues (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix a couple of misdocumented functions/params (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix a bunch of potential naming doc-rot (Tomas Henzl) [1922058] - scsi: mpt3sas: Move a little data from the stack onto the heap (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix misspelling of _base_put_smid_default_atomic() (Tomas Henzl) [1922058] - scsi: mpt3sas: Update driver version to 37.100.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Additional diagnostic buffer query interface (Tomas Henzl) [1922058] - scsi: mpt3sas: Add support for shared host tagset for CPU hotplug (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix ReplyPostFree pool allocation (Tomas Henzl) [1922058] - scsi: mpt3sas: Simplify bool comparison (Tomas Henzl) [1922058] - scsi: mpt3sas: Signedness bug in _base_get_diag_triggers() (Tomas Henzl) [1922058] - scsi: mpt3sas: Update driver version to 36.100.00.00 (Tomas Henzl) [1922058] - scsi: mpt3sas: Handle trigger page after firmware update (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent MPI trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent SCSI sense trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent Event trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent Master trigger page (Tomas Henzl) [1922058] - scsi: mpt3sas: Add persistent trigger pages support (Tomas Henzl) [1922058] - scsi: mpt3sas: Sync time periodically between driver and firmware (Tomas Henzl) [1922058] - scsi: mpt3sas: Increase IOCInit request timeout to 30s (Tomas Henzl) [1922058] - scsi: mpt3sas: Fix ioctl timeout (Tomas Henzl) [1922058] - scsi: mpt3sas: Remove in_interrupt() (Tomas Henzl) [1922058] - scsi: mpt3sas_scsih: Use generic power management (Tomas Henzl) [1922058] - scsi: mpt3sas_scsih: Drop PCI Wakeup calls from .resume (Tomas Henzl) [1922058] - scsi: mpt3sas: mpt3sas_scsih: Fix function documentation formatting (Tomas Henzl) [1922058] - mpt3sas: Use fallthrough pseudo-keyword (Tomas Henzl) [1922058] - net: add inline function skb_csum_is_sctp (Josef Oskera) [1939341] - psample: Fix user API breakage (Ivan Vecera) [1939499] - net: psample: Fix netlink skb length with tunnel info (Ivan Vecera) [1939499] - net: psample: Add tunnel support (Ivan Vecera) [1939499] - net: core: introduce struct netdev_nested_priv for nested interface infrastructure (Ivan Vecera) [1939402] - net: add function dev_fetch_sw_netstats for fetching pcpu_sw_netstats (Josef Oskera) [1935717] - net: core: add devm_netdev_alloc_pcpu_stats (Josef Oskera) [1935717] - net: core: add dev_sw_netstats_tx_add (Josef Oskera) [1935717] - net: netdevice.h: sw_netstats_rx_add helper (Josef Oskera) [1935717] - net: netdevice: Add operation ndo_sk_get_lower_dev (Josef Oskera) [1935709] - genirq: Provide irq_get_effective_affinity() (Josef Oskera) [1935670]- locking/locktorture: Fix incorrect use of ww_acquire_ctx in ww_mutex test (Waiman Long) [1871851] - locking/locktorture: Pass thread id to lock/unlock functions (Waiman Long) [1871851] - locking/ww_mutex: Remove DEFINE_WW_MUTEX() macro (Waiman Long) [1871851] - locking/locktorture: Fix false positive circular locking splat in ww_mutex test (Waiman Long) [1871851] - locking/ww_mutex: Fix acquire/release imbalance in ww_acquire_init()/ww_acquire_fini() (Waiman Long) [1871851] - locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling (Waiman Long) [1871851] - locking: Remove duplicate include of percpu-rwsem.h (Waiman Long) [1871851] - locktorture: Invoke percpu_free_rwsem() to do percpu-rwsem cleanup (Waiman Long) [1871851] - locktorture: Prevent hangs for invalid arguments (Waiman Long) [1871851] - locktorture: Ignore nreaders_stress if no readlock support (Waiman Long) [1871851] - locktorture: Track time of last ->writeunlock() (Waiman Long) [1871851] - locktorture: Make function torture_percpu_rwsem_init() static (Waiman Long) [1871851] - sched,locktorture: Convert to sched_set_fifo() (Waiman Long) [1871851] - locktorture: Use true and false to assign to bool variables (Waiman Long) [1871851] - locktorture: Print ratio of acquisitions, not failures (Waiman Long) [1871851] - locktorture: NULL cxt.lwsa and cxt.lrsa to allow bad-arg detection (Waiman Long) [1871851] - locking/locktorture: Convert to SPDX license identifier (Waiman Long) [1871851] - tty: Fix ->session locking (Chris von Recklinghausen) [1908059] {CVE-2020-29660} - net: skbext: fix secpath use-after-free with ip fragmentation (Sabrina Dubroca) [1901454]- nfs: we don't support removing system.nfs4_acl (Scott Mayhew) [1944659] - redhat/configs: Disable CONFIG_INFINIBAND_HNS* (Kamal Heib) [1941259] - mm: Revert "remove the account_page_dirtied export" (Waiman Long) [1941257] - Revert "[netdrv] net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1940842]- geneve: do not modify the shared tunnel info when PMTU triggers an ICMP reply (Antoine Tenart) [1941753] - vxlan: do not modify the shared tunnel info when PMTU triggers an ICMP reply (Antoine Tenart) [1941753] - net: Add netif_rx_any_context() (Josef Oskera) [1939466] - bitfield.h: add FIELD_MAX() and field_max() (Ivan Vecera) [1939478] - md/raid5: cast chunk_sectors to sector_t value (Nigel Croxon) [1921468] - md: Set prev_flush_start and flush_bio in an atomic way (Nigel Croxon) [1921468] - md/cluster: fix deadlock when node is doing resync job (Nigel Croxon) [1921468] - md/cluster: block reshape with remote resync job (Nigel Croxon) [1921468] - md: use current request time as base for ktime comparisons (Nigel Croxon) [1921468] - md: add comments in md_flush_request() (Nigel Croxon) [1921468] - md: improve variable names in md_flush_request() (Nigel Croxon) [1921468] - md/raid10: initialize r10_bio->read_slot before use. (Nigel Croxon) [1921468] - md: fix a warning caused by a race between concurrent md_ioctl()s (Nigel Croxon) [1921468] - Revert "md: improve variable names in md_flush_request()" (Nigel Croxon) [1921468] - Revert "md: Set prev_flush_start and flush_bio in an atomic way" (Nigel Croxon) [1921468] - KVM: nSVM: fix running nested guests when npt=0 (Emanuele Giuseppe Esposito) [1799073] - fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent (Julia Denham) [1908311] {CVE-2020-35508} - Revert "redhat: switch secureboot kernel image signing to release keys" (Bruno Meneguele) - redhat: switch secureboot kernel image signing to release keys (Jan Stancek) - Revert "[md] md/raid5: add a new member of offset into r5dev" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: make async_copy_data() to support different page offset" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid5: add new xor function to support different page offset" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: convert to new xor compution interface" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid6: let syndrome computor support different page offset" (Nigel Croxon) [1936903] - Revert "[crypto] md/raid6: let async recovery function support different page offset" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: let multiple devices of stripe_head share page" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: resize stripe_head when reshape array" (Nigel Croxon) [1936903] - Revert "[md] md/raid5: reallocate page array after setting new stripe_size" (Nigel Croxon) [1936903] - ACPI: PNP: compare the string length in the matching_id() (Mark Langsdorf) [1933702] - ceph: add missing break when parsing "nowsync" mount option (Jeff Layton) [1932753] - get_maintainer.conf: Update with new location of RHMAINTAINERS (Prarit Bhargava) - redhat: make pathspec exclusion compatible with old git versions (Herton R. Krzesinski) - redhat/scripts: Update merge-subtrees.sh with new subtree location (Prarit Bhargava) - tree: Add RHMAINTAINERS soft link in 8.4 (Prarit Bhargava) - tree: remove existing redhat/rhdocs subtree in 8.4 (Prarit Bhargava)- ntp: Use freezable workqueue for RTC synchronization (Phil Auld) [1793880] - ntp: Fix RTC synchronization on 32-bit platforms (Phil Auld) [1793880] - ntp: Make the RTC synchronization more reliable (Phil Auld) [1793880] - PCI: rpadlpar: Fix potential drc_name corruption in store functions (Gustavo Luiz Duarte) [1938116] - selftests: kvm: Add basic Hyper-V clocksources tests (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Don't touch TSC page values when guest opted for re-enlightenment (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Track Hyper-V TSC page status (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Prevent using not-yet-updated TSC page by secondary CPUs (Vitaly Kuznetsov) [1931782] - KVM: x86: hyper-v: Limit guest to writing zero to HV_X64_MSR_TSC_EMULATION_STATUS (Vitaly Kuznetsov) [1931782] - drm/i915/guc: Update to use firmware v49.0.1 (Dave Airlie) [1935281] {CVE-2020-12362} - time: Enable __kernel_timespec for 32-bit vdso build (Waiman Long) [1936282] - lib/idr.c: document calling context for IDA APIs mustn't use locks (Chris von Recklinghausen) [1917764] - ida: Free allocated bitmap in error path (Chris von Recklinghausen) [1917764] - radix tree test suite: Fix compilation (Chris von Recklinghausen) [1917764] - vmalloc: convert to XArray (Chris von Recklinghausen) [1917764] - mm: pass addr as unsigned long to vb_free (Chris von Recklinghausen) [1917764] - radix tree: Remove multiorder support (Chris von Recklinghausen) [1917764] - radix tree test: Convert multiorder tests to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Convert item_delete_rcu to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Convert item_kill_tree to XArray (Chris von Recklinghausen) [1917764] - radix tree tests: Move item_insert_order (Chris von Recklinghausen) [1917764] - radix tree test suite: Remove multiorder benchmarking (Chris von Recklinghausen) [1917764] - radix tree test suite: Remove __item_insert (Chris von Recklinghausen) [1917764] - radix tree: Remove radix_tree_clear_tags (Chris von Recklinghausen) [1917764] - radix tree: Remove split/join code (Chris von Recklinghausen) [1917764] - radix tree: Remove radix_tree_update_node_t (Chris von Recklinghausen) [1917764] - mm: Convert truncate to XArray (Chris von Recklinghausen) [1917764] - copy rh_kabi.h to tools/testing/radix-tree/linux (Chris von Recklinghausen) [1917764]- tick: Get rid of tick_period (Phil Auld) [1936504] - tick/sched: Release seqcount before invoking calc_load_global() (Phil Auld) [1936504] - tick/sched: Optimize tick_do_update_jiffies64() further (Phil Auld) [1936504] - tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64() (Phil Auld) [1936504] - tick/sched: Use tick_next_period for lockless quick check (Phil Auld) [1936504] - tick: Document protections for tick related data (Phil Auld) [1936504] - tick/broadcast: Serialize access to tick_next_period (Phil Auld) [1936504] - timekeeping: Split jiffies seqlock (Phil Auld) [1936504] - tick/sched: Annotate lockless access to last_jiffies_update (Phil Auld) [1936504] - net, sctp, filter: remap copy_from_user failure error (Hangbin Liu) [1929476] {CVE-2021-20239} - tty: serial_core: Set port active bit in uart_port_activate (Artem Savkov) [1915177] - cgroup: fix psi monitor for root cgroup (Waiman Long) [1936868] - cgroup-v1: add disabled controller check in cgroup1_parse_param() (Waiman Long) [1936868] - cgroup: cgroup.{procs,threads} factor out common parts (Waiman Long) [1936868] - cpuset: fix typos in comments (Waiman Long) [1936868] - kernel: cgroup: Mundane spelling fixes throughout the file (Waiman Long) [1936868] - cgroup/cgroup.c: replace 'of->kn->priv' with of_cft() (Waiman Long) [1936868] - cgroup: Zero sized write should be no-op (Waiman Long) [1936868] - cgroup: remove redundant kernfs_activate in cgroup_setup_root() (Waiman Long) [1936868] - cgroup: Use generic ns_common::count (Waiman Long) [1936868] - ns: Add a common refcount into ns_common (Waiman Long) [1936868] - cgroup: add cpu.stat file to root cgroup (Waiman Long) [1936868] - cgroup: Remove stale comments (Waiman Long) [1936868] - cgroup: Restructure release_agent_path handling (Waiman Long) [1936868] - cgroup: add cgroup_may_write() helper (Waiman Long) [1936868] - cgroup: refactor fork helpers (Waiman Long) [1936868] - cgroup: add cgroup_get_from_file() helper (Waiman Long) [1936868] - cgroup: unify attach permission checking (Waiman Long) [1936868] - cpuset: Make cpuset hotplug synchronous (Waiman Long) [1936868] - cgroup: Clean up css_set task traversal (Waiman Long) [1936868] - cgroup.c: Use built-in RCU list checking (Waiman Long) [1936868] - fork: record start_time late (Waiman Long) [1936868] - sched/deadline: Reduce rq lock contention in dl_add_task_root_domain() (Phil Auld) [1936501] - sched/deadline: Fix sched_dl_global_validate() (Phil Auld) [1936501] - sched/deadline: Optimize sched_dl_global_validate() (Phil Auld) [1936501] - sched/deadline: Fix a typo in a comment (Phil Auld) [1936501] - sched/deadline: Implement fallback mechanism for !fit case (Phil Auld) [1936501] - sched/deadline: Make DL capacity-aware (Phil Auld) [1936501] - sched/deadline: Improve admission control for asymmetric CPU capacities (Phil Auld) [1936501] - sched/deadline: Add dl_bw_capacity() (Phil Auld) [1936501] - sched/deadline: Optimize dl_bw_cpus() (Phil Auld) [1936501] - sched/deadline: Impose global limits on sched_attr::sched_period (Phil Auld) [1936501] - ibmvnic: fix a race between open and reset (Diego Domingos) [1940042] - ibmvnic: Set to CLOSED state even on error (Diego Domingos) [1940042] - ibmvnic: device remove has higher precedence over reset (Diego Domingos) [1940042] - ibmvnic: merge do_change_param_reset into do_reset (Diego Domingos) [1940042] - ibmvfc: disable MQ channelization by default (Gustavo Luiz Duarte) [1939359] - pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process() (Steve Dickson) [1926945] - scsi: iscsi: Verify lengths on passthrough PDUs (Chris Leech) [1930833] {CVE-2021-27365} - scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE (Chris Leech) [1930856] {CVE-2021-27363} - scsi: iscsi: Restrict sessions and handles to admin capabilities (Chris Leech) [1930809] {CVE-2021-27364} - futex: Handle faults correctly for PI futexes (Waiman Long) [1924635] - futex: Simplify fixup_pi_state_owner() (Waiman Long) [1924635] - futex: Use pi_state_update_owner() in put_pi_state() (Waiman Long) [1924635] - rtmutex: Remove unused argument from rt_mutex_proxy_unlock() (Waiman Long) [1924635] - futex: Provide and use pi_state_update_owner() (Waiman Long) [1924635] - futex: Replace pointless printk in fixup_owner() (Waiman Long) [1924635] - futex: Ensure the correct return value from futex_lock_pi() (Waiman Long) [1924635] - futex: Don't enable IRQs unconditionally in put_pi_state() (Waiman Long) [1924635] - futex: Fix incorrect should_fail_futex() handling (Waiman Long) [1924635] - futex: Consistently use fshared as boolean (Waiman Long) [1924635] - futex: Remove needless goto's (Waiman Long) [1924635] - futex: Remove put_futex_key() (Waiman Long) [1924635] - NFS: Correct size calculation for create reply length (Benjamin Coddington) [1934903] - SUNRPC: Set memalloc_nofs_save() for sync tasks (Benjamin Coddington) [1934098] - net/mlx5: CT: Add support for matching on ct_state reply flag (Alaa Hleihel) [1919651] - net/mlx5e: CT: manage the lifetime of the ct entry object (Alaa Hleihel) [1919651] - net/mlx5e: CT: Use per flow counter when CT flow accounting is enabled (Alaa Hleihel) [1919651] - net/mlx5e: Fix a use after free on error in mlx5_tc_ct_shared_counter_get() (Alaa Hleihel) [1919651] - net/mlx5e: CT: Use the same counter for both directions (Alaa Hleihel) [1919651] - ethtool: fix the check logic of at least one channel for RX/TX (Ivan Vecera) [1907406]- [scsi] scsi: qedi: Correct max length of CHAP secret (Nilesh Javali) [1909180] - redhat: use tags from git notes for zstream to generate changelog (Frantisek Hrbata) - redhat: add CI file for kernel-private (Bruno Meneguele) - CI: Drop unused variable (Bruno Meneguele) - CI: Enable RT verification (Bruno Meneguele) - KVM: SVM: Clear the CR4 register on reset (Vitaly Kuznetsov) [1920788] - net: flow_offload: Add original direction flag to ct_metadata (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower: Add match on the ct_state reply flag (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower add CT_FLAGS_INVALID flag support (Marcelo Ricardo Leitner) [1921946] - net/sched: cls_flower: Reject invalid ct_state flags rules (Marcelo Ricardo Leitner) [1921946] - netlink: add mask validation (Marcelo Ricardo Leitner) [1921946] - netlink: create helpers for checking type is an int (Marcelo Ricardo Leitner) [1921946] - netlink: policy: correct validation type check (Marcelo Ricardo Leitner) [1921946] - netlink: make NLA_BINARY validation more flexible (Marcelo Ricardo Leitner) [1921946]- md: Set prev_flush_start and flush_bio in an atomic way (Xiao Ni) [1901598] - md: improve variable names in md_flush_request() (Xiao Ni) [1901598] - hpsa: fix regression issue for old controllers (Joseph Szczypek) [1925711] - scsi: hpsa: Correct dev cmds outstanding for retried cmds (Joseph Szczypek) [1925711] - vt: Disable KD_FONT_OP_COPY (Dave Airlie) [1903937] {CVE-2020-28974} - drm/i915/rkl: Remove require_force_probe protection (Lyude Paul) [1937558] - drm/i915/tgl/psr: Disable PSR on Tigerlake for now (Lyude Paul) [1924702] - dm raid: fix discard limits for raid0 and raid10 (Mike Snitzer) [1934274] - dm: fix __send_changing_extent_only to avoid duplicate dm_target_offset() (Mike Snitzer) [1934274] - mm/hugetlb.c: fix unnecessary address expansion of pmd sharing (Waiman Long) [1934212] - mm: memcontrol: fix slub memory accounting (Waiman Long) [1934212] - mm: memcontrol: fix swap undercounting in cgroup2 (Waiman Long) [1934212] - mm: memcontrol: fix NR_ANON_THPS accounting in charge moving (Waiman Long) [1934212] - mm, slub: better heuristic for number of cpus when calculating slab order (Waiman Long) [1934212] - Revert "mm: memcontrol: avoid workload stalls when lowering memory.high" (Waiman Long) [1934212] - selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed (Hangbin Liu) [1931732] - selftests/bpf: No need to drop the packet when there is no geneve opt (Hangbin Liu) [1931732]- drm/i915/gen11+: Only load DRAM information from pcode (Lyude Paul) [1934537] - drm/i915/dg1: Wait for pcode/uncore handshake at startup (Lyude Paul) [1934537] - powercap/intel_rapl: add support for TigerLake Desktop (David Arcari) [1932457] - powerpc/perf: Fix handling of privilege level checks in perf interrupt context (Gustavo Luiz Duarte) [1918411] - NFSv4.2: fix error return on memory allocation failure (Scott Mayhew) [1917689] - NFSv4.2: improve page handling for GETXATTR (Scott Mayhew) [1917689] - NFSv4.2: Fix up the get/listxattr calls to rpc_prepare_reply_pages() (Scott Mayhew) [1917689] - NFS: Fix rpcrdma_inline_fixup() crash with new LISTXATTRS operation (Scott Mayhew) [1917689] - SUNRPC: Fix up xdr_set_page() (Benjamin Coddington) [1917689] - NFSv4: Fix open coded xdr_stream_remaining() (Benjamin Coddington) [1917689] - SUNRPC: Clean up the handling of page padding in rpc_prepare_reply_pages() (Benjamin Coddington) [1917689] - SUNRPC: Fix up xdr_read_pages() to take arbitrary object lengths (Benjamin Coddington) [1917689] - SUNRPC: Clean up helpers xdr_set_iov() and xdr_set_page_base() (Benjamin Coddington) [1917689] - SUNRPC: Split out a function for setting current page (Benjamin Coddington) [1917689] - SUNRPC: Fix up typo in xdr_init_decode() (Benjamin Coddington) [1917689] - NFSv4: Fix the alignment of page data in the getdeviceinfo reply (Benjamin Coddington) [1917689] - net: fix pos incrementment in ipv6_route_seq_next (Lorenzo Bianconi) [1926608] - ipv6_route_seq_next should increase position index (Lorenzo Bianconi) [1926608] - bpf: Clear subreg_def for global function return values (Yauheni Kaliuta) [1934062] - igc: Fix returning wrong statistics (Corinna Vinschen) [1910873]- KVM: nSVM: prepare guest save area while is_guest_mode is true (Vitaly Kuznetsov) [1860223] - redhat: add CI file for kernel-private (Bruno Meneguele) - CI: Drop unused variable (Veronika Kabatova) - CI: Enable RT verification (Veronika Kabatova) - redhat: use tags from git notes for zstream to generate changelog (Frantisek Hrbata) - redhat: open the RHEL-8.5 development (Bruno Meneguele) [1930504]- KVM: SVM: Make symbol 'svm_gp_erratum_intercept' static (Paolo Bonzini) [1769283] - KVM: SVM: Fix #GP handling for doubly-nested virtualization (Paolo Bonzini) [1769283] - KVM: SVM: Add support for SVM instruction address check change (Paolo Bonzini) [1769283] - KVM: SVM: Add emulation support for #GP triggered by SVM instructions (Paolo Bonzini) [1769283] - KVM: x86: Factor out x86 instruction emulation with decoding (Paolo Bonzini) [1769283] - gfs2: In gfs2_ail1_start_one unplug the IO when needed (Bob Peterson) [1648446] - gfs2: Free rd_bits later in gfs2_clear-rgrpd to fix use-after-free (Bob Peterson) [1648446] - gfs2: Only access gl_delete for iopen glocks (Bob Peterson) [1648446] - gfs2: Fix case in which ail writes are done to jdata holes (Bob Peterson) [1648446] - gfs2: simplify gfs2_block_map (Bob Peterson) [1648446] - gfs2: Only set PageChecked if we have a transaction (Bob Peterson) [1648446] - gfs2: don't lock sd_ail_lock in gfs2_releasepage (Bob Peterson) [1648446] - gfs2: make gfs2_ail1_empty_one return the count of active items (Bob Peterson) [1648446] - gfs2: Wipe jdata and ail1 in gfs2_journal_wipe, formerly gfs2_meta_wipe (Bob Peterson) [1648446] - gfs2: enhance log_blocks trace point to show log blocks free (Bob Peterson) [1648446] - gfs2: rename gfs2_write_full_page to gfs2_write_jdata_page, remove parm (Bob Peterson) [1648446] - PM: hibernate: flush swap writer after marking (Lenny Szubowicz) [1898677] - cpufreq: Avoid cpufreq_suspend() deadlock on system shutdown (Lenny Szubowicz) [1898677] - PM / hibernate: memory_bm_find_bit(): Tighten node optimisation (Lenny Szubowicz) [1898677] - bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation (Jiri Benc) [1882215] - ice, xsk: clear the status bits for the next_to_use descriptor (Jiri Benc) [1906820] - net/mlx4_en: Handle TX error CQE (Alaa Hleihel) [1925690] - net/mlx4_en: Avoid scheduling restart task if it is already running (Alaa Hleihel) [1925690] - blk-mq: test QUEUE_FLAG_HCTX_ACTIVE for sbitmap_shared in hctx_may_queue (Ming Lei) [1922013] - blk-mq: Improve performance of non-mq IO schedulers with multiple HW queues (Ming Lei) [1922013] - Revert "blk-mq, elevator: Count requests per hctx to improve performance" (Ming Lei) [1922013] - bpftool: Disable CAP_BPF check for feature command (Jiri Olsa) [1921542] - RDMA/siw: Fix calculation of tx_valid_cpus size (Kamal Heib) [1919502] - net/mlx5e: Disable performance optimization for IPv4/IPv6 ethertype (Alaa Hleihel) [1928671 1919807] - IB/mlx5: Return appropriate error code instead of ENOMEM (Alaa Hleihel) [1928671] - net/mlx5: Disable devlink reload for lag devices (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disable devlink reload for multi port slave device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disallow RoCE on lag device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Disallow RoCE on multi port slave device (Alaa Hleihel) [1928671 1929166] - net/mlx5: Fix health error state handling (Alaa Hleihel) [1928671] - net/mlx5e: Change interrupt moderation channel params also when channels are closed (Alaa Hleihel) [1928671] - net/mlx5e: Don't change interrupt moderation params when DIM is enabled (Alaa Hleihel) [1928671] - net/mlx5e: E-switch, Fix rate calculation for overflow (Alaa Hleihel) [1928671] - net/mlx5e: Release skb in case of failure in tc update skb (Alaa Hleihel) [1928671 1929119] - net/mlx5e: Check tunnel offload is required before setting SWP (Alaa Hleihel) [1928671 1925439] - net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context (Alaa Hleihel) [1928671 1928706] - net/mlx5e: Fix CQ params of ICOSQ and async ICOSQ (Alaa Hleihel) [1928671 1928706] - net/mlx5e: Replace synchronize_rcu with synchronize_net (Alaa Hleihel) [1928671 1913616] - net/mlx5e: Enable XDP for Connect-X IPsec capable devices (Alaa Hleihel) [1928671 1856795] - net/mlx5e: Enable striding RQ for Connect-X IPsec capable devices (Alaa Hleihel) [1928671 1926120] - fix regression in "epoll: Keep a reference on files added to the check list" (Carlos Maiolino) [1920776] {CVE-2020-0466} - do_epoll_ctl(): clean the failure exits up a bit (Carlos Maiolino) [1920776] {CVE-2020-0466} - epoll: Keep a reference on files added to the check list (Carlos Maiolino) [1920776] {CVE-2020-0466}- perf/x86/intel/uncore: With > 8 nodes, get pci bus die id from NUMA info (Prarit Bhargava) [1766743] - perf/x86/intel/uncore: Store the logical die id instead of the physical die id. (Prarit Bhargava) [1766743] - mm: fix page reference leak in soft_offline_page() (Aristeu Rozanski) [1768372] - mm,hwpoison: try to narrow window race for free pages (Aristeu Rozanski) [1768372] - mm,hwpoison: double-check page count in __get_any_page() (Aristeu Rozanski) [1768372] - mm,hwpoison: introduce MF_MSG_UNSPLIT_THP (Aristeu Rozanski) [1768372] - mm,hwpoison: return 0 if the page is already poisoned in soft-offline (Aristeu Rozanski) [1768372] - mm,hwpoison: refactor soft_offline_huge_page and __soft_offline_page (Aristeu Rozanski) [1768372] - mm,hwpoison: rework soft offline for in-use pages (Aristeu Rozanski) [1768372] - mm,hwpoison: rework soft offline for free pages (Aristeu Rozanski) [1768372] - mm,hwpoison: unify THP handling for hard and soft offline (Aristeu Rozanski) [1768372] - mm,hwpoison: kill put_hwpoison_page (Aristeu Rozanski) [1768372] - mm,hwpoison: refactor madvise_inject_error (Aristeu Rozanski) [1768372] - mm,hwpoison: unexport get_hwpoison_page and make it static (Aristeu Rozanski) [1768372] - mm,hwpoison-inject: don't pin for hwpoison_filter (Aristeu Rozanski) [1768372] - mm, hwpoison: remove recalculating hpage (Aristeu Rozanski) [1768372] - mm,hwpoison: cleanup unused PageHuge() check (Aristeu Rozanski) [1768372] - mm/madvise.c: replace with page_size() in madvise_inject_error() (Aristeu Rozanski) [1768372] - mm, soft-offline: convert parameter to pfn (Aristeu Rozanski) [1768372] - tick/nohz: Revert "Narrow down noise while setting current task's tick dependency" (Waiman Long) [1931004] - kvm: Add kvm_stat.service file and kvm_stat logrotate config to the tools (Thomas Huth) [1919930] - igc: fix link speed advertising (Corinna Vinschen) [1769701] - [crypto] crypto: qat - add capability detection logic in qat_4xxx (Vladis Dronov) [1833004] - [crypto] crypto: qat - add AES-XTS support for QAT GEN4 devices (Vladis Dronov) [1833004] - [crypto] crypto: qat - add AES-CTR support for QAT GEN4 devices (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix excluded_middle.cocci warnings (Vladis Dronov) [1833004] - [crypto] crypto: qat - add qat_4xxx driver (Vladis Dronov) [1833004] - [crypto] crypto: qat - add hook to initialize vector routing table (Vladis Dronov) [1833004] - [crypto] crypto: qat - target fw images to specific AEs (Vladis Dronov) [1833004] - [crypto] crypto: qat - add gen4 firmware loader (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for broadcasting mode (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for shared ustore (Vladis Dronov) [1833004] - [crypto] crypto: qat - allow to target specific AEs (Vladis Dronov) [1833004] - [crypto] crypto: qat - add FCU CSRs to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add CSS3K support (Vladis Dronov) [1833004] - [crypto] crypto: qat - use ae_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - add check for null pointer (Vladis Dronov) [1833004] - [crypto] crypto: qat - add misc control CSR to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add wake up event to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add clock enable CSR to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add reset CSR and mask to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add local memory size to chip info (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for lm2 and lm3 (Vladis Dronov) [1833004] - [crypto] crypto: qat - add next neighbor to chip_info (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace check based on DID (Vladis Dronov) [1833004] - [crypto] crypto: qat - introduce chip info structure (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor long expressions (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_uclo_set_ae_mode() (Vladis Dronov) [1833004] - [crypto] crypto: qat - move defines to header files (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove global CSRs helpers (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor AE start (Vladis Dronov) [1833004] - [crypto] crypto: qat - change micro word data mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - change type for ctx_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for relative FW ucode loading (Vladis Dronov) [1833004] - [crypto] crypto: qat - rename qat_uclo_del_uof_obj() (Vladis Dronov) [1833004] - [crypto] crypto: qat - introduce additional parenthesis (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unnecessary parenthesis (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix error message (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix CSR access (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() (Vladis Dronov) [1833004] - [crypto] crypto: qat - support for mof format in fw loader (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace pci with PCI in comments (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove cast for mailbox CSR (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unneeded semicolon (Vladis Dronov) [1833004] - [crypto] crypto: qat - extend ae_mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - allow for instances in different banks (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_crypto_dev_config() (Vladis Dronov) [1833004] - [crypto] crypto: qat - refactor qat_crypto_create_instances() (Vladis Dronov) [1833004] - [crypto] crypto: qat - change return value in adf_cfg_key_val_get() (Vladis Dronov) [1833004] - [crypto] crypto: qat - change return value in adf_cfg_add_key_value_param() (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unnecessary void* casts (Vladis Dronov) [1833004] - [crypto] crypto: qat - call functions in adf_sriov if available (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove hardcoded bank irq clear flag mask (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract writes to arbiter enable (Vladis Dronov) [1833004] - [crypto] crypto: qat - use BIT_ULL() - 1 pattern for masks (Vladis Dronov) [1833004] - [crypto] crypto: qat - replace constant masks with GENMASK (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract build ring base (Vladis Dronov) [1833004] - [crypto] crypto: qat - enable ring after pair is programmed (Vladis Dronov) [1833004] - [crypto] crypto: qat - register crypto instances based on capability (Vladis Dronov) [1833004] - [crypto] crypto: qat - add support for capability detection (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract arbiter access (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unused macros in arbiter module (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove writes into WQCFG (Vladis Dronov) [1833004] - [crypto] crypto: qat - update constants table (Vladis Dronov) [1833004] - [crypto] crypto: qat - use admin mask to send fw constants (Vladis Dronov) [1833004] - [crypto] crypto: qat - change admin sequence (Vladis Dronov) [1833004] - [crypto] crypto: qat - rename ME in AE (Vladis Dronov) [1833004] - [crypto] crypto: qat - add packed to init admin structures (Vladis Dronov) [1833004] - [crypto] crypto: qat - abstract admin interface (Vladis Dronov) [1833004] - [crypto] crypto: qat - relocate GEN2 CSR access code (Vladis Dronov) [1833004] - [crypto] crypto: qat - split transport CSR access logic (Vladis Dronov) [1833004] - [crypto] crypto: qat - fix configuration of iov threads (Vladis Dronov) [1833004] - [crypto] crypto: qat - num_rings_per_bank is device dependent (Vladis Dronov) [1833004] - [crypto] crypto: qat - mask device capabilities with soft straps (Vladis Dronov) [1833004] - [crypto] crypto: qat - update IV in software (Vladis Dronov) [1833004] - [crypto] crypto: qat - remove unused function (Vladis Dronov) [1833004]- mptcp: send ack for every add_addr (Davide Caratti) [1929280] - Revert "[net] tcp: change pingpong threshold to 3" (Davide Caratti) [1929280] - powerpc/pseries: Don't enforce MSI affinity with kdump (Greg Kurz) [1919427] - rtc: disallow update interrupts when time is invalid (Waiman Long) [1918288] - rtc: disable uie before setting time and enable after (Waiman Long) [1918288] - rtc: don't reference bogus function pointer in kdoc (Waiman Long) [1918288] - KVM: x86/mmu: Expand collapsible SPTE zap for TDP MMU to ZONE_DEVICE and HugeTLB pages (Paolo Bonzini) [1897366] - KVM: x86/mmu: Allow parallel page faults for the TDP MMU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Mark SPTEs in disconnected pages as removed (Paolo Bonzini) [1897366] - KVM: x86/mmu: Flush TLBs after zap in TDP MMU PF handler (Paolo Bonzini) [1897366] - KVM: x86/mmu: Use atomic ops to set SPTEs in TDP MMU map (Paolo Bonzini) [1897366] - KVM: x86/mmu: Factor out functions to add/remove TDP MMU pages (Paolo Bonzini) [1897366] - i915: kvmgt: the KVM mmu_lock is now an rwlock (Paolo Bonzini) [1897366] - KVM: x86/mmu: Use an rwlock for the x86 MMU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Protect TDP MMU page table memory with RCU (Paolo Bonzini) [1897366] - KVM: x86/mmu: Clear dirtied pages mask bit before early break (Paolo Bonzini) [1897366] - KVM: x86/mmu: Skip no-op changes in TDP MMU functions (Paolo Bonzini) [1897366] - KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed (Paolo Bonzini) [1897366] - KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter (Paolo Bonzini) [1897366] - KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn (Paolo Bonzini) [1897366] - KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched (Paolo Bonzini) [1897366] - KVM: x86/mmu: Fix braces in kvm_recover_nx_lpages (Paolo Bonzini) [1897366] - KVM: x86/mmu: Factor out handling of removed page tables (Paolo Bonzini) [1897366] - KVM: x86/mmu: Don't redundantly clear TDP MMU pt memory (Paolo Bonzini) [1897366] - KVM: x86/mmu: Add lockdep when setting a TDP MMU SPTE (Paolo Bonzini) [1897366] - KVM: x86/mmu: Add comment on __tdp_mmu_set_spte (Paolo Bonzini) [1897366] - KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched (Paolo Bonzini) [1897366] - locking/arch: Move qrwlock.h include after qspinlock.h (Paolo Bonzini) [1897366] - sched: Add cond_resched_rwlock (Paolo Bonzini) [1897366] - sched: Add needbreak for rwlocks (Paolo Bonzini) [1897366] - locking/rwlocks: Add contention detection for rwlocks (Paolo Bonzini) [1897366] - RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes (Kamal Heib) [1919395] - net/vmw_vsock: fix NULL pointer dereference (Jon Maloy) [1925600] {CVE-2021-26708} - net/vmw_vsock: improve locking in vsock_connect_timeout() (Jon Maloy) [1925600] {CVE-2021-26708} - vsock: fix locking in vsock_shutdown() (Jon Maloy) [1925600] {CVE-2021-26708} - vsock: fix the race conditions in multi-transport support (Jon Maloy) [1925600] {CVE-2021-26708} - ahci: Add missing Intel Emmitsburg PCH RAID PCI IDs (David Arcari) [1928789] - KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off (Paolo Bonzini) [1912448] - [sound] ALSA: hda/via: Fix runtime PM for Clevo W35xSS (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add mute LED quirk for more HP laptops (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Modify Dell platform name (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fix speaker volume control on Lenovo C940 (Jaroslav Kysela) [1916102] - [sound] ALSA: ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Apply jack fixup for Quanta NL3 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add quirk for MSI-GP73 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Supported Dell fixed type headset (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable() (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: packet buffer index must be set before reading value (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: always print pin NIDs as hexadecimal (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/hdmi: fix silent stream for first playback to DP (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/conexant: add a new hda codec CX11970 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: Fix regressions on clear and reconfig sysfs (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/proc - print DP-MST connections (Jaroslav Kysela) [1916102] - [sound] ALSA: hda - Fix the return value if cb func is already registered (Jaroslav Kysela) [1916102] - [sound] ALSA: mixart: Fix mutex deadlock (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add new codec supported for ALC897 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fixed Dell AIO wrong sound tone (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - HP Headset Mic can't detect after boot (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported mute Led for HP (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220) (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Enable headphone for ASUS TM420 (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/realtek - Fixed HP headset Mic can't be detected (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid (Jaroslav Kysela) [1916102] - [sound] ALSA: hda/generic: Add option to enforce preferred_dacs pairs (Jaroslav Kysela) [1916102] - [sound] ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() (Jaroslav Kysela) [1916102] - [sound] ALSA: seq: oss: Avoid mutex lock for a long-time ioctl (Jaroslav Kysela) [1916102] - [fs] gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end (Andreas Grunbacher) [1926852] - [net] netfilter: nf_tables: coalesce multiple notifications into one skbuff (Phil Sutter) [1855207] - [drm] drm/i915/rkl: new rkl ddc map for different PCH (Lyude Paul) [1910761] - [drm] drm/nouveau: fix dma syncing warning with debugging on (Lyude Paul) [1915548] - [drm] drm/i915: Update TGL and RKL HuC firmware versions (Lyude Paul) [1924209] - [drm] drm/i915/tgl, rkl: Make Wa_1606700617/22010271021 permanent (Lyude Paul) [1924209] - [drm] drm/i915: Update gen12 forcewake table (Lyude Paul) [1924209] - [drm] drm/i915: Rename FORCEWAKE_BLITTER to FORCEWAKE_GT (Lyude Paul) [1924209] - [drm] drm/i915/display/fbc: Implement WA 22010751166 (Lyude Paul) [1924209] - [drm] drm/i915: Tweaked Wa_14010685332 for PCHs used on gen11 platforms (Lyude Paul) [1924209] - [drm] drm/i915: Reorder hpd init vs. display resume (Lyude Paul) [1921868] - [drm] drm/i915/dp: Don't use DPCD backlights that need PWM enable/disable (Lyude Paul) [1885406] - [drm] drm/dp: Revert "drm/dp: Introduce EDID-based quirks" (Lyude Paul) [1885406] - [drm] drm/i915/dp: Allow forcing specific interfaces through enable_dpcd_backlight (Lyude Paul) [1885406] - [drm] drm/i915/dp: Enable Intel's HDR backlight interface (only SDR for now) (Lyude Paul) [1885406] - [drm] drm/i915: Keep track of pwm-related backlight hooks separately (Lyude Paul) [1885406] - [drm] drm/i915: Pass port to intel_panel_bl_funcs.get() (Lyude Paul) [1885406] - [drm] drm/i915/dp: Add register definitions for Intel HDR backlight interface (Lyude Paul) [1885406] - [drm] drm/i915/dp: Rename eDP VESA backlight interface functions (Lyude Paul) [1885406] - [drm] drm/i915: Pass down brightness values to enable/disable backlight callbacks (Lyude Paul) [1885406] - [drm] drm/i915: Rename pwm_* backlight callbacks to ext_pwm_* (Lyude Paul) [1885406] - [drm] drm/i915/dp: Program source OUI on eDP panels (Lyude Paul) [1885406] - [drm] drm/i915: refactor panel backlight control functions. (v2) (Lyude Paul) [1885406] - [drm] drm/i915/backlight: fix CPU mode backlight takeover on LPT (Lyude Paul) [1885406] - [drm] drm/i915/dpcd_bl: uncheck PWM_PIN_CAP when detect eDP backlight capabilities (Lyude Paul) [1885406] - [drm] drm/i915: panel: Add get_vbt_pwm_freq() helper (Lyude Paul) [1885406] - [drm] drm/i915/dp: Tweak initial dpcd backlight.enabled value (Lyude Paul) [1885406] - [drm] kms: handle mDP connectors (Lyude Paul) [1876992] - [drm] drm/i915/tgl: Fix Combo PHY DPLL fractional divider for 38.4MHz ref clock (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add new cdclk table (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Handle HTI (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add DPLL4 support (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Add initial workarounds (Lyude Paul) [1876992] - [drm] drm/i915/rkl: Handle new DPCLKA_CFGCR0 layout (Lyude Paul) [1876992] - [drm] drm/i915: Update TGL and RKL DMC firmware versions (Lyude Paul) [1876992] - [drm] drm/i915/gt: Program mocs:63 for cache eviction on gen9 (Lyude Paul) [1876992] - [drm] drm/i915/gt: Limit frequency drop to RPe on parking (Lyude Paul) [1876992] - [drm] drm/i915/gt: Retain default context state across shrinking (Lyude Paul) [1876992] - [drm] drm/amdgpu/vcn3.0: remove old DPG workaround (Lyude Paul) [1876992] - [drm] drm/amdgpu/vcn3.0: stall DPG when WPTR/RPTR reset (Lyude Paul) [1876992] - [drm] drm/i915/gt: Fixup tgl mocs for PTE tracking (Lyude Paul) [1876992] - [drm] drm/amdgpu: add rlc iram and dram firmware support (Lyude Paul) [1876992] - [drm] drm/nouveau: fix relocations applying logic and a double-free (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid HDCP initialization in devices without output (Lyude Paul) [1876992] - [drm] drm/amd/amdgpu: fix null pointer in runtime pm (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix a page fault (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix SI UVD firmware validate resume fail (Lyude Paul) [1876992] - [drm] drm/i915/tgl: Fix Media power gate sequence (Lyude Paul) [1876992] - [drm] drm/i915: Handle max_bpc==16 (Lyude Paul) [1876992] - [drm] drm/amd/display: Add missing pflip irq for dcn2.0 (Lyude Paul) [1876992] - [drm] drm/gma500: Fix out-of-bounds access to struct drm_device.vblank (Lyude Paul) [1876992] - [drm] drm/i915: Correctly set SFC capability for video engines (Lyude Paul) [1876992] - [drm] drm/amd/display: Add missing pflip irq (Lyude Paul) [1876992] - [drm] drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running (Lyude Paul) [1876992] - [drm] drm/amd/pm: perform SMC reset on suspend/hibernation (Lyude Paul) [1876992] - [drm] drm/amd/pm: correct the baco reset sequence for CI ASICs (Lyude Paul) [1876992] - [drm] drm/amdgpu: perform srbm soft reset always on SDMA resume (Lyude Paul) [1876992] - [drm] drm/i915/gem: Flush coherency domains on first set-domain-ioctl (Lyude Paul) [1876992] - [drm] drm/i915: Hold onto an explicit ref to i915_vma_work.pinned (Lyude Paul) [1876992] - [drm] drm/i915/gt: Use the local HWSP offset during submission (Lyude Paul) [1876992] - [drm] drm/i915: Fix encoder lookup during PSR atomic check (Lyude Paul) [1876992] - [drm] drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" (Lyude Paul) [1876992] - [drm] drm/nouveau/nouveau: fix the start/end range for migration (Lyude Paul) [1876992] - [drm] drm/amd/display: adding ddc_gpio_vga_reg_list to ddc reg def'ns (Lyude Paul) [1876992] - [drm] drm/amd/display: Fixed panic during seamless boot (Lyude Paul) [1876992] - [drm] drm/amdgpu: add DID for navi10 blockchain SKU (Lyude Paul) [1876992] - [drm] drm/amdgpu: disable DCN and VCN for navi10 blockchain SKU(v3) (Lyude Paul) [1876992] - [drm] drm/amdgpu: resolved ASD loading issue on sienna (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/nouveau/device: fix changing endianess code to work on older GPUs (Lyude Paul) [1876992] - [drm] drm/nouveau/kms/nv50-: Program notifier offset before requesting disp caps (Lyude Paul) [1876992] - [drm] drm/i915: Restore ILK-M RPS support (Lyude Paul) [1876992] - [drm] drm/i915: Reject 90/270 degree rotated initial fbs (Lyude Paul) [1876992] - [drm] drm/i915: Use the active reference on the vma while capturing (Lyude Paul) [1876992] - [drm] drm/i915: Mark ininitial fb obj as WT on eLLC machines to avoid rcu lockup during fbdev init (Lyude Paul) [1876992] - [drm] drm/i915: Exclude low pages (128KiB) of stolen from use (Lyude Paul) [1876992] - [drm] drm/i915: Drop runtime-pm assert from vgpu io accessors (Lyude Paul) [1876992] - [drm] drm/i915/gt: Delay execlist processing for tgl (Lyude Paul) [1876992] - [drm] drm/i915/gt: Undo forced context restores after trivial preemptions (Lyude Paul) [1876992] - [drm] drm/i915/gt: Initialize reserved and unspecified MOCS indices (Lyude Paul) [1876992] - [drm] drm/i915: Fix TGL DKL PHY DP vswing handling (Lyude Paul) [1876992] - [drm] drm/i915: Avoid mixing integer types during batch copies (Lyude Paul) [1876992] - [drm] drm/i915: Cancel outstanding work after disabling heartbeats on an engine (Lyude Paul) [1876992] - [drm] drm/i915: Break up error capture compression loops with cond_resched() (Lyude Paul) [1876992] - [drm] drm/i915/gt: Always send a pulse down the engine after disabling heartbeat (Lyude Paul) [1876992] - [drm] drm/i915/gem: Always test execution status on closing the context (Lyude Paul) [1876992] - [drm] drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported (Lyude Paul) [1876992] - [drm] drm/i915/gem: Avoid implicit vmap for highmem on x86-32 (Lyude Paul) [1876992] - [drm] drm/amdgpu: correct the cu and rb info for sienna cichlid (Lyude Paul) [1876992] - [drm] drm/amd/psp: Fix sysfs: cannot create duplicate filename (Lyude Paul) [1876992] - [drm] drm/amd/swsmu: add missing feature map for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amd/pm: fix pp_dpm_fclk (Lyude Paul) [1876992] - [drm] drm/amd/pm: increase mclk switch threshold to 200 us (Lyude Paul) [1876992] - [drm] drm/amdgpu/swsmu: drop smu i2c bus on navi1x (Lyude Paul) [1876992] - [drm] drm/ttm: fix eviction valuable range check (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix kernel panic by dal_gpio_open() error (Lyude Paul) [1876992] - [drm] drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally (Lyude Paul) [1876992] - [drm] drm/amdgpu: increase the reserved VM size to 2MB (Lyude Paul) [1876992] - [drm] drm/amdgpu: add function to program pbb mode for sienna cichlid (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid MST manager resource leak (Lyude Paul) [1876992] - [drm] drm/amdkfd: Use same SQ prefetch setting as amdgpu (Lyude Paul) [1876992] - [drm] drm/amdgpu: correct the gpu reset handling for job != NULL case (Lyude Paul) [1876992] - [drm] drm/amdgpu: update golden setting for sienna_cichlid (Lyude Paul) [1876992] - [drm] drm/amdgpu: vcn and jpeg ring synchronization (Lyude Paul) [1876992] - [drm] drm/amd/display: Increase timeout for DP Disable (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix incorrect backlight register offset for DCN (Lyude Paul) [1876992] - [drm] drm/amdgpu: don't map BO in reserved region (Lyude Paul) [1876992] - [drm] drm/shme-helpers: Fix dma_buf_mmap forwarding bug (Lyude Paul) [1876992] - [drm] drm/i915: Force VT'd workarounds when running as a guest OS (Lyude Paul) [1876992] - [drm] drm/amd/display: Avoid set zero in the requested clk (Lyude Paul) [1876992] - [drm] drm/amd/display: HDMI remote sink need mode validation for Linux (Lyude Paul) [1876992] - [drm] drm/amdgpu: No sysfs, not an error condition (Lyude Paul) [1876992] - [drm] drm/amd/display: Check clock table return (Lyude Paul) [1876992] - [drm] drm/bridge/synopsys: dsi: add support for non-continuous HS clock (Lyude Paul) [1876992] - [drm] drm/vkms: avoid warning in vkms_get_vblank_timestamp (Lyude Paul) [1876992] - [drm] drm/bridge_connector: Set default status connected for eDP connectors (Lyude Paul) [1876992] - [drm] drm/scheduler: Scheduler priority fixes (v2) (Lyude Paul) [1876992] - [drm] drm/amdgpu: restore ras flags when user resets eeprom(v2) (Lyude Paul) [1876992] - [drm] drm/i915/gem: Serialise debugfs i915_gem_objects with ctx->mutex (Lyude Paul) [1876992] - [drm] drm/amd/display: Disconnect pipe separetely when disable pipe split (Lyude Paul) [1876992] - [drm] drm/hisilicon: Code refactoring for hibmc_drv_de (Lyude Paul) [1876992] - [drm] drm/amd/display: Screen corruption on dual displays (DP+USB-C) (Lyude Paul) [1876992] - [drm] drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create (Lyude Paul) [1876992] - [drm] drm/amdgpu: Fix invalid number of character '{' in amdgpu_acpi_init (Lyude Paul) [1876992] - [drm] drm/amdgpu: fix max_entries calculation v4 (Lyude Paul) [1876992] - [drm] drm/crc-debugfs: Fix memleak in crc_control_write (Lyude Paul) [1876992] - [drm] drm/gma500: fix error check (Lyude Paul) [1876992] - [drm] drm/amd/display: fix potential integer overflow when shifting 32 bit variable bl_pwm (Lyude Paul) [1876992] - [drm] drm/vkms: add missing platform_device_unregister() in vkms_init() (Lyude Paul) [1876992] - [drm] drm/vgem: add missing platform_device_unregister() in vgem_init() (Lyude Paul) [1876992] - [drm] drm/amd/display: Fix wrong return value in dm_update_plane_state() (Lyude Paul) [1876992] - [drm] drm/vkms: fix xrgb on compute crc (Lyude Paul) [1876992] - [iommu] iommu/amd: Set iommu->int_enabled consistently when interrupts are set up (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix IOMMU interrupt generation in X2APIC mode (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix union of bitfields in intcapxt support (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Fix kerneldoc comments (Vitaly Kuznetsov) [1915038] - [x86] x86/irq: Prepare consolidation of irq_alloc_info (Vitaly Kuznetsov) [1915038] - [iommu] iommu/amd: Use msi_msg shadow structs (Vitaly Kuznetsov) [1915038] - [iommu] x86_irq_Rename_X86_IRQ_ALLOC_TYPE_MSI_to_reflect_PCI_dependency (Vitaly Kuznetsov) [1915038] - [netdrv] Revert "e1000e: disable s0ix entry and exit flows for ME systems" (Ken Cox) [1872412] - [netdrv] e1000e: fix S0ix flow to allow S0i3.2 subset entry (Ken Cox) [1872412]- dm table: fix DAX iterate_devices based device capability checks (Mike Snitzer) [1905679] - dm table: fix various whitespace issues with recent DAX code (Mike Snitzer) [1905679] - dm table: fix dax_dev NULL dereference in device_synchronous() (Mike Snitzer) [1905679] - dm: enable synchronous dax (Mike Snitzer) [1905679] - dm table: fix iterate_devices based device capability checks (Mike Snitzer) [1905679] - dm: remove special-casing of bio-based immutable singleton target on NVMe (Mike Snitzer) [1905679] - [s390] s390/dasd: Fix inconsistent kobject removal (Philipp Rudo) [1928106] - [powerpc] powerpc/perf/hv-24x7: Dont create sysfs event files for dummy events (Steve Best) [1927730] - [powerpc] powerpc/pseries/dlpar: handle ibm, configure-connector delay status (Steve Best) [1927371] - [x86] x86/kvm: Increase KVM_MAX_VCPUS to 2048 (Eduardo Habkost) [1840923]- Unbreak mount_capable() (Scott Mayhew) [1903983]- [powerpc] powerpc: fix wrong backport on Kernel lockdown for power (Diego Domingos) [1928778] - [powerpc] powerpc/kexec_file: fix FDT size estimation for kdump kernel (Steve Best) [1928105] - [kernel] sched/features: Distinguish between NORMAL and DEADLINE hrtick (Juri Lelli) [1912118] - [kernel] sched/features: Fix hrtick reprogramming (Juri Lelli) [1912118] - [scsi] scsi: lpfc: Fix EEH encountering oops with NVMe traffic (Dick Kennedy) [1854776] - [scsi] scsi: lpfc: Prevent duplicate requests to unregister with cpuhp framework (Dick Kennedy) [1894960] - [target] scsi: target: iscsi: Fix cmd abort fabric stop race (Maurizio Lombardi) [1908215]- [net] netfilter: nft_dynset: add timeout extension to template (Florian Westphal) [1906915] - [net] netfilter: nftables: fix possible UAF over chains from packet path in netns (Florian Westphal) [1906915] - [net] netfilter: flowtable: fix tcp and udp header checksum update (Florian Westphal) [1906915] - [net] netfilter: xt_recent: Fix attempt to update deleted entry (Florian Westphal) [1906915] - [net] netfilter: conntrack: connection timeout after re-register (Florian Westphal) [1906915] - [netdrv] ice: Fix MSI-X vector fallback logic (Jonathan Toppins) [1896639 1877645] - [netdrv] ice: Don't allow more channels than LAN MSI-X available (Jonathan Toppins) [1896639 1877645] - [net] netfilter: nf_nat: Fix memleak in nf_nat_init (Florian Westphal) [1906915] - [net] netfilter: xt_RATEEST: reject non-null terminated string from userspace (Florian Westphal) [1906915] - [include] net: flow_dissector: Wrap unionized VLAN fields in a struct (Florian Westphal) [1906915] - [net] netfilter: x_tables: Switch synchronization to RCU (Florian Westphal) [1906915] - [net] netfilter: nftables_offload: build mask based from the matching bytes (Florian Westphal) [1906915] - [net] netfilter: nft_payload: add C-VLAN offload support (Florian Westphal) [1906915] - [net] netfilter: nft_payload: add VLAN offload support (Florian Westphal) [1906915] - [net] netfilter: nf_tables_offload: allow ethernet interface type only (Florian Westphal) [1906915] - [net] netfilter: nftables_offload: set address type in control dissector (Florian Westphal) [1906915] - [net] netfilter: nf_tables: avoid false-postive lockdep splat (Florian Westphal) [1906915] - [net] netfilter: nf_tables: missing validation from the abort path (Florian Westphal) [1906915] - [net] netfilter: nftables: fix netlink report logic in flowtable and genid (Florian Westphal) [1906915] - [include] netfilter: nf_tables: constify nft_reg_load{8, 16, 64}() (Florian Westphal) [1906915] - [net] netfilter: nf_tables: Introduce new 64-bit helper register functions (Florian Westphal) [1906915] - [include] netfilter: nf_tables: drop include of module.h from nf_tables.h (Florian Westphal) [1906915] - [net] netfilter: nf_fwd_netdev: clear timestamp in forwarding path (Florian Westphal) [1906915] - [net] netfilter: ipset: prevent uninit-value in hash_ip6_add (Florian Westphal) [1906915] - [net] netfilter: use actual socket sk rather than skb sk when routing harder (Florian Westphal) [1906915] - [net] netfilter: ipv4: remove useless export_symbol (Florian Westphal) [1906915] - [net] netfilter: conntrack: don't set related state for different outer address (Florian Westphal) [1906915] - [fs] xfs: don't catch dax+reflink inodes as corruption in verifier (Bill O'Donnell) [1915510]- [powerpc] powerpc: Don't enable FSCR_SCV in init_FSCR_power9() (Gustavo Duarte) [1928399] - [netdrv] ibmvnic: Clear failover_pending if unable to schedule (Steve Best) [1926365] - [netdrv] ibmvnic: change IBMVNIC_MAX_IND_DESCS to 16 (Steve Best) [1928243] - [tools] perf powerpc: Fix printf conversion specifier for IP addresses (Steve Best) [1928209] - [tools] perf powerpc: Fix gap between kernel end and module start (Steve Best) [1928209] - [netdrv] i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" (Stefan Assmann) [1838733] - [netdrv] i40e: acquire VSI pointer only after VF is initialized (Stefan Assmann) [1838733] - [netdrv] i40e: fix potential NULL pointer dereferencing (Stefan Assmann) [1838733] - [netdrv] i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: clear the status bits for the next_to_use descriptor (Stefan Assmann) [1838733] - [netdrv] i40e: avoid premature Rx buffer reuse (Stefan Assmann) [1838733] - [netdrv] i40e: Remove unnecessary sw_ring access from xsk Tx (Stefan Assmann) [1838733] - [netdrv] i40e: Fix removing driver while bare-metal VFs pass traffic (Stefan Assmann) [1838733] - [netdrv] i40e: report correct VF link speed when link state is set to enable (Stefan Assmann) [1838733] - [netdrv] i40e: remove redundant assignment (Stefan Assmann) [1838733] - [netdrv] i40e: Fix MAC address setting for a VF via Host/VM (Stefan Assmann) [1838733] - [netdrv] i40e: Allow changing FEC settings on X722 if supported by FW (Stefan Assmann) [1838733] - [netdrv] net: intel: Remove in_interrupt() warnings (Stefan Assmann) [1838733] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: uninitialized variable in i40e_clean_rx_irq_zc() (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: move buffer allocation out of the Rx processing loop (Stefan Assmann) [1838733] - [netdrv] i40e: use 16B HW descriptors instead of 32B (Stefan Assmann) [1838733] - [netdrv] i40e, xsk: remove HW descriptor prefetch in AF_XDP path (Stefan Assmann) [1838733] - [netdrv] i40e: optimise prefetch page refcount (Stefan Assmann) [1838733] - [netdrv] i40e: not compute affinity_mask for IRQ (Stefan Assmann) [1838733] - [netdrv] i40e: Fix crash during removing i40e driver (Stefan Assmann) [1838733] - [netdrv] i40e: Set RX_ONLY mode for unicast promiscuous on VLAN (Stefan Assmann) [1838733] - [netdrv] PCI: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Stefan Assmann) [1838733] - [netdrv] i40e: introduce new dump desc XDP command (Stefan Assmann) [1838733] - [netdrv] i40e: add XDP ring statistics to dump VSI debug output (Stefan Assmann) [1838733] - [netdrv] i40e: add XDP ring statistics to VSI stats (Stefan Assmann) [1838733] - [netdrv] i40e: move check of full Tx ring to outside of send loop (Stefan Assmann) [1838733] - [netdrv] i40e: eliminate division in napi_poll data path (Stefan Assmann) [1838733] - [netdrv] i40e: optimize AF_XDP Tx completion path (Stefan Assmann) [1838733] - [netdrv] i40e: Add support for a new feature Total Port Shutdown (Stefan Assmann) [1838733] - [netdrv] ethernet/intel: Convert fallthrough code comments (Stefan Assmann) [1838733] - [netdrv] i40e: Add support for 5Gbps cards (Stefan Assmann) [1838733] - [netdrv] net/intel: remove driver versions from Intel drivers (Stefan Assmann) [1838733] - [netdrv] i40e: Add a check to see if MFS is set (Stefan Assmann) [1838733] - [netdrv] i40e: detect and log info about pre-recovery mode (Stefan Assmann) [1838733] - [netdrv] i40e: make PF wait reset loop reliable (Stefan Assmann) [1838733] - [netdrv] i40e: remove unused defines (Stefan Assmann) [1838733] - [netdrv] i40e: Move client header location (Stefan Assmann) [1838733] - [netdrv] i40e: protect ring accesses with READ- and WRITE_ONCE (Stefan Assmann) [1838733] - [netdrv] i40e: Make i40e_shutdown_adminq() return void (Stefan Assmann) [1838733] - [netdrv] i40e: trivial fixup of comments in i40e_xsk.c (Stefan Assmann) [1838733] - [netdrv] i40e: Use scnprintf() for avoiding potential buffer overflow (Stefan Assmann) [1838733] - [netdrv] team: protect features update by RCU to avoid deadlock (Josef Oskera) [1909593] - [tools] bpf: selftests: remove test_progs LSM test (Yauheni Kaliuta) [1925911] - [net] bpf: Fix a verifier failure with xor (Yauheni Kaliuta) [1925911] - [tools] selftests: Remove fmod_ret from test_overhead (Jiri Olsa) [1925911] - [s390] s390/kdump: fix out-of-memory with PCI (Philipp Rudo) [1927744] - [x86] x86/intel_split_lock: Really Disable split lock detector by default in RHEL8 (Prarit Bhargava) [1924578] - [scsi] megaraid_sas: re-add certain pci-ids as unsupported (Tomas Henzl) [1761485] - [scsi] megaraid_sas: mark unsupported devices (Tomas Henzl) [1761485] - [pci] rh_taint: add support function (Tomas Henzl) [1761485] - [powerpc] powerpc/xmon: Restrict when kernel is locked down (Diego Domingos) [1853307] - [powerpc] powerpc/xmon: add read-only mode (Diego Domingos) [1853307] - [powerpc] powerpc: lock down kernel in secure boot mode (Diego Domingos) [1853307] - [net] fix iteration for sctp transport seq_files (Xin Long) [1916824] - [tools] x86: xen: insn: Decode Xen and KVM emulate-prefix signature (Michael Petlan) [1867733] - [tools] objtool: Ignore intentional differences for the x86 insn decoder (Michael Petlan) [1867733] - [x86] x86/insn: Add Control-flow Enforcement (CET) instructions to the opcode map (Michael Petlan) [1867733] - [x86] x86/decoder: Add TEST opcode to Group3-2 (Michael Petlan) [1867733] - [x86] x86/insn: Add some more Intel instructions to the opcode map (Michael Petlan) [1867733] - [x86] x86/insn: Add some Intel instructions to the opcode map (Michael Petlan) [1867733] - [net] udp: call udp_encap_enable for v6 sockets when enabling encap (Xin Long) [1907754] - [fs] close_range: unshare all fds for CLOSE_RANGE_UNSHARE | CLOSE_RANGE_CLOEXEC (Pavel Reichl) [1900674] - [fs] fs, close_range: add flag CLOSE_RANGE_CLOEXEC (Pavel Reichl) [1900674] - [tools] tests: close_range - Replace clone3 with clone (Pavel Reichl) [1900674] - [tools] selftests: core: use SKIP instead of XFAIL in close_range_test.c (Pavel Reichl) [1900674] - [tools] tools headers API: Update close_range affected files (Pavel Reichl) [1900674] - [tools] tests: add CLOSE_RANGE_UNSHARE tests (Pavel Reichl) [1900674] - [fs] close_range: add CLOSE_RANGE_UNSHARE (Pavel Reichl) [1900674] - [tools] tests: add close_range() tests (Pavel Reichl) [1900674] - [powerpc] arch: wire-up close_range() (Pavel Reichl) [1900674] - [fs] open: add close_range() (Pavel Reichl) [1900674] - [x86] x86/sgx: mark tech preview (Vladis Dronov) [1660337] - [tools] tools headers cpufeatures: Sync with the kernel sources (Vladis Dronov) [1660337] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Vladis Dronov) [1660337] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Vladis Dronov) [1660337] - [x86] x86/sgx: Drop racy follow_pfn() check (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix the return type of sgx_init() (Vladis Dronov) [1660337] - [x86] x86/sgx: Return -EINVAL on a zero length buffer in sgx_ioc_enclave_add_pages() (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix a typo in kernel-doc markup (Vladis Dronov) [1660337] - [x86] x86/sgx: Fix sgx_ioc_enclave_provision() kernel-doc comment (Vladis Dronov) [1660337] - [x86] x86/sgx: Return -ERESTARTSYS in sgx_ioc_enclave_add_pages() (Vladis Dronov) [1660337] - [tools] selftests/sgx: Use a statically generated 3072-bit RSA key (Vladis Dronov) [1660337] - [x86] x86/sgx: Clarify 'laundry_list' locking (Vladis Dronov) [1660337] - [documentation] Documentation/x86: Document SGX kernel architecture (Vladis Dronov) [1660337] - [x86] x86/sgx: Add ptrace() support for the SGX driver (Vladis Dronov) [1660337] - [x86] x86/sgx: Add a page reclaimer (Vladis Dronov) [1660337] - [tools] selftests/x86: Add a selftest for SGX (Vladis Dronov) [1660337] - [x86] x86/vdso: Implement a vDSO for Intel SGX enclave call (Vladis Dronov) [1660337] - [mm] x86/traps: Attempt to fixup exceptions in vDSO before signaling (Vladis Dronov) [1660337] - [mm] x86/fault: Add a helper function to sanitize error code (Vladis Dronov) [1660337] - [x86] x86/vdso: Add support for exception fixup in vDSO functions (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_PROVISION (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_INIT (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_ADD_PAGES (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX_IOC_ENCLAVE_CREATE (Vladis Dronov) [1660337] - [x86] x86/sgx: Add an SGX misc driver interface (Vladis Dronov) [1660337] - [mm] mm: Add 'mprotect' hook to struct vm_operations_struct (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX page allocator functions (Vladis Dronov) [1660337] - [x86] x86/cpu/intel: Add a nosgx kernel parameter (Vladis Dronov) [1660337] - [x86] x86/cpu/intel: Detect SGX support (Vladis Dronov) [1660337] - [mm] x86/mm: Signal SIGSEGV with PF_SGX (Vladis Dronov) [1660337] - [x86] x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections (Vladis Dronov) [1660337] - [x86] x86/{cpufeatures, msr}: Add Intel SGX Launch Control hardware bits (Vladis Dronov) [1660337] - [x86] x86/cpufeatures: Add Intel SGX hardware bits (Vladis Dronov) [1660337] - [x86] x86/sgx: Add wrappers for ENCLS functions (Vladis Dronov) [1660337] - [x86] x86/sgx: Add SGX architectural data structures (Vladis Dronov) [1660337] - [mm] x86/fault: Make error_code sanitization more robust (Vladis Dronov) [1660337] - [video] vgacon: remove software scrollback support (Chris von Recklinghausen) [1883596] - [tools] libbpf: fix backport of "libbpf: Remove any use of reallocarray() in libbpf" (Jiri Benc) [1924711] - [net] bpf: Prevent double bpf_prog_put call from bpf_tracing_prog_attach (Jiri Benc) [1924711] - [tools] selftests/bpf: Adding test for arg dereference in extension trace (Jiri Benc) [1924711] - [tools] selftests: Add selftest for disallowing modify_return attachment to freplace (Jiri Benc) [1924711] - [tools] selftests: Add test for multiple attachments of freplace program (Jiri Benc) [1924711] - [tools] selftests/bpf: Turn fexit_bpf2bpf into test with subtests (Jiri Benc) [1924711] - [tools] libbpf: Add support for freplace attachment in bpf_link_create (Jiri Benc) [1924711] - [net] bpf: Fix context type resolving for extension programs (Jiri Benc) [1924711] - [net] bpf: Support attaching freplace programs to multiple attach points (Jiri Benc) [1924711] - [net] bpf: Move prog->aux->linked_prog and trampoline into bpf_link on attach (Jiri Benc) [1924711] - [net] bpf: verifier: refactor check_attach_btf_id() (Jiri Benc) [1924711] - [net] bpf: change logging calls from verbose() to bpf_log() and use log pointer (Jiri Benc) [1924711] - [net] bpf: disallow attaching modify_return tracing functions to other BPF programs (Jiri Benc) [1924711] - [mm] kasan: fix incorrect arguments passing in kasan_add_zero_shadow (Waiman Long) [1921394] - [mm] kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow (Waiman Long) [1921394] - [mm] mm: memcg/slab: optimize objcg stock draining (Waiman Long) [1921394] - [mm] mm: don't wake kswapd prematurely when watermark boosting is disabled (Waiman Long) [1921394] - [mm] mm/vmalloc.c: fix kasan shadow poisoning size (Waiman Long) [1921394] - [mm] mm/vmalloc: Fix unlock order in s_stop() (Waiman Long) [1921394] - [mm] mm/swapfile: do not sleep with a spin lock held (Waiman Long) [1921394] - [mm] mm: list_lru: set shrinker map bit when child nr_items is not zero (Waiman Long) [1921394] - [mm] mm: mempolicy: fix potential pte_unmap_unlock pte error (Waiman Long) [1921394] - [mm] mm/mmu_notifier: fix mmget() assert in __mmu_interval_notifier_insert (Waiman Long) [1921394] - [mm] mm/swapfile.c: fix potential memory leak in sys_swapon (Waiman Long) [1921394] - [mm] mm: validate pmd after splitting (Waiman Long) [1921394] - [mm] hugetlb_cgroup: convert comma to semicolon (Waiman Long) [1921394] - [mm] mm/memory_hotplug: fix unpaired mem_hotplug_begin/done (Waiman Long) [1921394] - [mm] khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() (Waiman Long) [1921394] - [mm] khugepaged: khugepaged_test_exit() check mmget_still_valid() (Waiman Long) [1921394] - [mm] mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible (Waiman Long) [1921394] - [mm] mm/hugetlb.c: clean code by removing unnecessary initialization (Waiman Long) [1921394] - [mm] mm/sparse: never partially remove memmap for early section (Waiman Long) [1921394] - [mm] mm/sparse: fix kernel crash with pfn_section_valid check (Waiman Long) [1921394] - [mm] mm/shuffle: don't move pages between zones and don't read garbage memmaps (Waiman Long) [1921394] - [mm] mm/sparse: rename pfn_present() to pfn_in_present_section() (Waiman Long) [1921394] - [powerpc] powerpc/pseries: Advance pfn if section is not present in lmb_is_removable() (Waiman Long) [1921394] - [powerpc] powerpc/pseries/hotplug-memory: Change rc variable to bool (Waiman Long) [1921394] - [mm] mm/gup: fix fixup_user_fault() on multiple retries (Waiman Long) [1921394] - [mm] mm/gup: Let __get_user_pages_locked() return -EINTR for fatal signal (Waiman Long) [1921394] - [mm] mm/mempolicy: Allow lookup_node() to handle fatal signal (Waiman Long) [1921394] - [include] include/linux/memremap.h: remove stale comments (Waiman Long) [1921394] - [mm] mm/sparsemem: get address to page struct instead of address to pfn (Waiman Long) [1921394] - [fs] hibernate: Allow uswsusp to write to swap (Waiman Long) [1921394] - [mm] mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case (Waiman Long) [1921394] - [mm] mm/hmm: add missing call to hmm_pte_need_fault in HMM_PFN_SPECIAL handling (Waiman Long) [1921394] - [mm] mm/hmm: add missing unmaps of the ptep during hmm_vma_handle_pte() (Waiman Long) [1921394] - [mm] mm/hmm: allow snapshot of the special zero page (Waiman Long) [1921394] - [mm] mm/hmm: a few more C style and comment clean ups (Waiman Long) [1921394] - [mm] mm/sparse.c: do not waste pre allocated memmap space (Waiman Long) [1921394] - [mm] mm/sparse: consistently do not zero memmap (Waiman Long) [1921394] - [mm] mm/gup: fix a misnamed "write" argument, and a related bug (Waiman Long) [1921394] - [powerpc] treewide: add checks for the return value of memblock_alloc*() (Waiman Long) [1921394] - [kvm] KVM: x86: Expose AVX512_FP16 for supported CPUID (Paul Lai) [1838734] - [x86] x86: Enumerate AVX512 FP16 CPUID feature flag (Paul Lai) [1838734] - [kvm] x86/kvm: Expose TSX Suspend Load Tracking feature (Paul Lai) [1838734] - [net] sched: act_ct: enable stats for HW offloaded entries (Marcelo Leitner) [1909257] - [scsi] scsi: fnic: Validate io_req before others (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Set scsi_set_resid() only for underflow (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Change shost_printk() to FNIC_MAIN_DBG() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Avoid looping in TRANS ETH on unload (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Change shost_printk() to FNIC_FCS_DBG() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Simplify the return expression of vnic_wq_copy_alloc() (Govindarajulu Varadarajan) [1845720] - [scsi] scsi: fnic: Fix inconsistent format argument type in fnic_debugfs.c (Govindarajulu Varadarajan) [1845720] - [x86] perf/x86/intel/uncore: Fix the scale of the IMC free-running events (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Reduce the number of CBOX counters (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Update Ice Lake uncore units (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Split the Ice Lake and Tiger Lake MSR uncore support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Generic support for the PCI sub driver (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_pmu_unregister() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_pmu_register() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_find_dev_pmu() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/uncore: Factor out uncore_pci_get_dev_die_info() (Michael Petlan) [1884818 1908305]- [mmc] mmc: sdhci-acpi: For amd device set driver type as MMC_SET_DRIVER_TYPE_A (David Arcari) [1906067] - [pinctrl] pinctrl: Added IRQF_SHARED flag for amd-pinctrl driver (David Arcari) [1906067] - [block] block: export blk_mq_make_request (Ming Lei) [1917913] - [platform] platform/x86: dell-wmi-sysman: fix a NULL pointer dereference (Perry Yuan) [1922587] - [platform] platform/x86: dell-wmi-sysman: work around for BIOS bug (Juan Martinez) [1504859] - [platform] platform/x86: dell-wmi-sysman: fix init_bios_attributes() error handling (Juan Martinez) [1504859] - [platform] platform/x86/dell-wmi-sysman: Make some symbols static (Juan Martinez) [1504859] - [platform] platform/x86/dell-wmi-sysman: Make wmi_sysman_kobj_sysfs_ops static (Juan Martinez) [1504859] - [documentation] docs: ABI: sysfs-class-firmware-attributes: solve some warnings (Juan Martinez) [1504859] - [platform] platform/x86: Use appropriate module alias macro for this kernel (Juan Martinez) [1504859] - [platform] platform/x86: Introduce support for Systems Management Driver over WMI for Dell Systems (Juan Martinez) [1504859] - [md] dm: eliminate potential source of excessive kernel log noise (Mike Snitzer) [1876840] - [scsi] scsi: sd: Suppress spurious errors when WRITE SAME is being disabled (Ewan Milne) [1871060] - [net] libceph, ceph: disambiguate ceph_connection_operations handlers (Jeff Layton) [1893177] - [net] libceph: zero out session key and connection secret (Jeff Layton) [1893177] - [include] libceph: add __maybe_unused to DEFINE_MSGR2_FEATURE (Jeff Layton) [1893177] - [net] libceph: align session_key and con_secret to 16 bytes (Jeff Layton) [1893177] - [net] libceph: fix auth_signature buffer allocation in secure mode (Jeff Layton) [1893177] - [fs] ceph: reencode gid_list when reconnecting (Jeff Layton) [1893177] - [net] libceph: drop ceph_auth_{create, update}_authorizer() (Jeff Layton) [1893177] - [fs] libceph, ceph: make use of __ceph_auth_get_authorizer() in msgr1 (Jeff Layton) [1893177] - [net] libceph, ceph: implement msgr2.1 protocol (crc and secure modes) (Jeff Layton) [1893177] - [net] libceph: introduce connection modes and ms_mode option (Jeff Layton) [1893177] - [block] libceph, rbd: ignore addr->type while comparing in some cases (Jeff Layton) [1893177] - [net] libceph, ceph: get and handle cluster maps with addrvecs (Jeff Layton) [1893177] - [net] libceph: factor out finish_auth() (Jeff Layton) [1893177] - [net] libceph: drop ac->ops->name field (Jeff Layton) [1893177] - [net] libceph: amend cephx init_protocol() and build_request() (Jeff Layton) [1893177] - [net] libceph, ceph: incorporate nautilus cephx changes (Jeff Layton) [1893177] - [net] libceph: safer en/decoding of cephx requests and replies (Jeff Layton) [1893177] - [net] libceph: more insight into ticket expiry and invalidation (Jeff Layton) [1893177] - [net] libceph: move msgr1 protocol specific fields to its own struct (Jeff Layton) [1893177] - [net] libceph: move msgr1 protocol implementation to its own file (Jeff Layton) [1893177] - [net] libceph: use sendpage_ok() in ceph_tcp_sendpage() (Jeff Layton) [1893177] - [net] net: introduce helper sendpage_ok() in include/linux/net.h (Jeff Layton) [1893177] - [net] libceph: separate msgr1 protocol implementation (Jeff Layton) [1893177] - [net] libceph: export remaining protocol independent infrastructure (Jeff Layton) [1893177] - [net] libceph: export zero_page (Jeff Layton) [1893177] - [net] libceph: rename and export con->flags bits (Jeff Layton) [1893177] - [net] libceph: rename and export con->state states (Jeff Layton) [1893177] - [net] libceph: make con->state an int (Jeff Layton) [1893177] - [net] libceph: don't export ceph_messenger_{init_fini}() to modules (Jeff Layton) [1893177] - [net] libceph: make sure our addr->port is zero and addr->nonce is non-zero (Jeff Layton) [1893177] - [net] libceph: factor out ceph_con_get_out_msg() (Jeff Layton) [1893177] - [net] libceph: change ceph_con_in_msg_alloc() to take hdr (Jeff Layton) [1893177] - [net] libceph: change ceph_msg_data_cursor_init() to take cursor (Jeff Layton) [1893177] - [net] libceph: handle discarding acked and requeued messages separately (Jeff Layton) [1893177] - [net] libceph: drop msg->ack_stamp field (Jeff Layton) [1893177] - [net] libceph: remove redundant session reset log message (Jeff Layton) [1893177] - [net] libceph: clear con->peer_global_seq on RESETSESSION (Jeff Layton) [1893177] - [net] libceph: rename reset_connection() to ceph_con_reset_session() (Jeff Layton) [1893177] - [net] libceph: split protocol reset bits out of reset_connection() (Jeff Layton) [1893177] - [net] libceph: don't call reset_connection() on version/feature mismatches (Jeff Layton) [1893177] - [net] libceph: lower exponential backoff delay (Jeff Layton) [1893177] - [net] libceph: include middle_len in process_message() dout (Jeff Layton) [1893177] - [fs] ceph: implement updated ceph_mds_request_head structure (Jeff Layton) [1893177] - [fs] ceph: clean up argument lists to __prepare_send_request and __send_request (Jeff Layton) [1893177] - [fs] ceph: take a cred reference instead of tracking individual uid/gid (Jeff Layton) [1893177] - [fs] ceph: don't reach into request header for readdir info (Jeff Layton) [1893177] - [fs] ceph: set osdmap epoch for setxattr (Jeff Layton) [1893177] - [fs] ceph: remove redundant assignment to variable i (Jeff Layton) [1893177] - [fs] ceph: add ceph.caps vxattr (Jeff Layton) [1893177] - [fs] ceph: when filling trace, call ceph_get_inode outside of mutexes (Jeff Layton) [1893177] - [fs] Revert "ceph: allow rename operation under different quota realms" (Jeff Layton) [1893177] - [fs] ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails (Jeff Layton) [1893177] - [fs] ceph: downgrade warning from mdsmap decode to debug (Jeff Layton) [1893177] - [fs] ceph: fix race in concurrent __ceph_remove_cap invocations (Jeff Layton) [1893177] - [fs] ceph: pass down the flags to grab_cache_page_write_begin (Jeff Layton) [1893177] - [fs] ceph: add ceph.{cluster_fsid/client_id} vxattrs (Jeff Layton) [1893177] - [fs] ceph: add status debugfs file (Jeff Layton) [1893177] - [include] libceph: remove unused port macros (Jeff Layton) [1893177] - [fs] ceph: ensure we have Fs caps when fetching dir link count (Jeff Layton) [1893177] - [fs] ceph: send dentry lease metrics to MDS daemon (Jeff Layton) [1893177] - [fs] ceph: acquire Fs caps when getting dir stats (Jeff Layton) [1893177] - [fs] ceph: fix up some warnings on W=1 builds (Jeff Layton) [1893177] - [fs] ceph: queue MDS requests to REJECTED sessions when CLEANRECOVER is set (Jeff Layton) [1893177] - [fs] ceph: remove timeout on allowing reconnect after blocklisting (Jeff Layton) [1893177] - [fs] ceph: add new RECOVER mount_state when recovering session (Jeff Layton) [1893177] - [fs] ceph: make fsc->mount_state an int (Jeff Layton) [1893177] - [fs] ceph: don't WARN when removing caps due to blocklisting (Jeff Layton) [1893177] - [fs] ceph: check session state after bumping session->s_seq (Jeff Layton) [1893177] - [net] libceph: clear con->out_msg on Policy::stateful_server faults (Jeff Layton) [1893177] - [net] libceph: format ceph_entity_addr nonces as unsigned (Jeff Layton) [1893177] - [include] libceph: fix ENTITY_NAME format suggestion (Jeff Layton) [1893177] - [net] libceph: move a dout in queue_con_delay() (Jeff Layton) [1893177] - [fs] ceph: comment cleanups and clarifications (Jeff Layton) [1893177] - [fs] ceph: break up send_cap_msg (Jeff Layton) [1893177] - [fs] ceph: drop separate mdsc argument from __send_cap (Jeff Layton) [1893177] - [fs] ceph: promote to unsigned long long before shifting (Jeff Layton) [1893177] - [fs] ceph: don't SetPageError on readpage errors (Jeff Layton) [1893177] - [fs] ceph: mark ceph_fmt_xattr() as printf-like for better type checking (Jeff Layton) [1893177] - [fs] ceph: fold ceph_update_writeable_page into ceph_write_begin (Jeff Layton) [1893177] - [fs] ceph: fold ceph_sync_writepages into writepage_nounlock (Jeff Layton) [1893177] - [fs] ceph: fold ceph_sync_readpages into ceph_readpage (Jeff Layton) [1893177] - [fs] ceph: don't call ceph_update_writeable_page from page_mkwrite (Jeff Layton) [1893177] - [fs] ceph: break out writeback of incompatible snap context to separate function (Jeff Layton) [1893177] - [fs] ceph: add a note explaining session reject error string (Jeff Layton) [1893177] - [net] libceph: switch to the new "osd blocklist add" command (Jeff Layton) [1893177] - [fs] libceph, rbd, ceph: "blacklist" -> "blocklist" (Jeff Layton) [1893177] - [fs] ceph: have ceph_writepages_start call pagevec_lookup_range_tag (Jeff Layton) [1893177] - [fs] ceph: use kill_anon_super helper (Jeff Layton) [1893177] - [fs] ceph: metrics for opened files, pinned caps and opened inodes (Jeff Layton) [1893177] - [fs] ceph: add ceph_sb_to_mdsc helper support to parse the mdsc (Jeff Layton) [1893177] - [fs] ceph: drop special-casing for ITER_PIPE in ceph_sync_read (Jeff Layton) [1893177] - [fs] ceph: add column 'mds' to show caps in more user friendly (Jeff Layton) [1893177] - [include] libceph: multiple workspaces for CRUSH computations (Jeff Layton) [1893177] - [fs] ceph: remove unnecessary return in switch statement (Jeff Layton) [1893177] - [fs] ceph: encode inodes' parent/d_name in cap reconnect message (Jeff Layton) [1893177] - [include] libceph: add __maybe_unused to DEFINE_CEPH_FEATURE (Jeff Layton) [1893177] - [fs] ceph: use frag's MDS in either mode (Jeff Layton) [1893177] - [fs] ceph: move sb->wb_pagevec_pool to be a global mempool (Jeff Layton) [1893177] - [fs] ceph: remove redundant initialization of variable mds (Jeff Layton) [1893177] - [fs] ceph: fix use-after-free for fsc->mdsc (Jeff Layton) [1893177] - [fs] ceph: remove unused variables in ceph_mdsmap_decode() (Jeff Layton) [1893177] - [fs] ceph: delete repeated words in fs/ceph/ (Jeff Layton) [1893177] - [fs] ceph: send client provided metric flags in client metadata (Jeff Layton) [1893177] - [fs] ceph: periodically send perf metrics to MDSes (Jeff Layton) [1893177] - [fs] ceph: check the sesion state and return false in case it is closed (Jeff Layton) [1893177] - [net] libceph: replace HTTP links with HTTPS ones (Jeff Layton) [1893177] - [fs] ceph: remove unnecessary cast in kfree() (Jeff Layton) [1893177] - [net] libceph: just have osd_req_op_init() return a pointer (Jeff Layton) [1893177] - [fs] ceph: do not access the kiocb after aio requests (Jeff Layton) [1893177] - [fs] ceph: clean up and optimize ceph_check_delayed_caps() (Jeff Layton) [1893177] - [fs] ceph: fix potential mdsc use-after-free crash (Jeff Layton) [1893177] - [fs] ceph: switch to WARN_ON_ONCE in encode_supported_features() (Jeff Layton) [1893177] - [fs] ceph: add global total_caps to count the mdsc's total caps number (Jeff Layton) [1893177] - [fs] ceph: add check_session_state() helper and make it global (Jeff Layton) [1893177] - [net] libceph: dump class and method names on method calls (Jeff Layton) [1893177] - [net] libceph: use target_copy() in send_linger() (Jeff Layton) [1893177] - [fs] ceph: add metadata perf metric support (Jeff Layton) [1893177] - [fs] ceph: add read/write latency metric support (Jeff Layton) [1893177] - [fs] ceph: add caps perf metric for each superblock (Jeff Layton) [1893177] - [fs] ceph: add dentry lease metric support (Jeff Layton) [1893177] - [include] math64: New DIV64_U64_ROUND_CLOSEST helper (Jeff Layton) [1893177] - [tty] tty: Fix ->pgrp locking in tiocspgrp() (Waiman Long) [1908197] {CVE-2020-29661}- [mm] Revert "powerpc: Ensure that swiotlb buffer is allocated from low memory" (Diego Domingos) [1907131] - [fs] xfs: use ENOTBLK for direct I/O to buffered I/O fallback (Carlos Maiolino) [1922953] - [nvme] nvme-multipath: Early exit if no path is available (Gopal Tiwari) [1880508] - [scsi] scsi: lpfc: Add support for eh_should_retry_cmd() (Ewan Milne) [1801585] - [scsi] scsi: scsi_transport_fc: Add store capability to rport port_state in sysfs (Ewan Milne) [1801585] - [scsi] scsi: scsi_transport_fc: Add a new rport state FC_PORTSTATE_MARGINAL (Ewan Milne) [1801585] - [scsi] scsi: core: No retries on abort success (Ewan Milne) [1801585] - [scsi] scsi: core: Add a new error code DID_TRANSPORT_MARGINAL in scsi.h (Ewan Milne) [1801585] - [scsi] scsi: core: Add limitless cmd retry support (Ewan Milne) [1801585] - [fs] gfs2: Fix deadlock between gfs2_{create_inode, inode_lookup} and delete_work_func (Andreas Grunbacher) [1903190] - [fs] gfs2: Don't call cancel_delayed_work_sync from within delete work function (Andreas Grunbacher) [1903190] - [cpufreq] acpi-cpufreq: Honor _PSD table setting on new AMD CPUs (Terry Bowman) [1886943] - [x86] x86/cpufeatures: Enumerate TSX suspend load address tracking instructions (Josh Poimboeuf) [1836980] - [powerpc] powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory (Diego Domingos) [1869184] - [mm] powerpc: Ensure that swiotlb buffer is allocated from low memory (Diego Domingos) [1869184] - [fs] debugfs: Fix module state check condition (Vladis Dronov) [1866285] - [fs] debugfs: Check module state before warning in {full/open}_proxy_open() (Vladis Dronov) [1866285]- [firmware] efi: Don't attempt to map RCI2 config table if it doesn't exist (Lenny Szubowicz) [1779590] - [firmware] efi: Make CONFIG_EFI_RCI2_TABLE selectable on x86 only (Lenny Szubowicz) [1779590] - [firmware] efi: Make unexported efi_rci2_sysfs_init() static (Lenny Szubowicz) [1779590] - [iommu] iommu: use the __iommu_attach_device() directly for deferred attach (Lianbo Jiang) [1904658] - [iommu] dma-iommu: use static-key to minimize the impact in the fast-path (Lianbo Jiang) [1904658] - [x86] x86/PCI: sta2x11: use default DMA address translation (Jerry Snitselaar) [1887546] - [powerpc] powerpc: use the generic dma_ops_bypass mode (Jerry Snitselaar) [1887546] - [dma] dmaengine: fix error codes in channel_register() (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: off by one in cleanup code (Jerry Snitselaar) [1837187] - [documentation] dmaengine: idxd: Add ABI documentation for shared wq (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Clean up descriptors with fault error (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Add shared workqueue support (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix mapping of portal size (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix wq config registers offset programming (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Allocate correct size for descriptor chunk (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: add missing invalid flags field to completion (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: fix hw descriptor fields for delta record (Jerry Snitselaar) [1837187] - [uapi] dmaengine: idxd: Merge definition of dsa_batch_desc into dsa_hw_desc (Jerry Snitselaar) [1838386 1837187] - [dma] dmaengine: dmatest: Return boolean result directly in filter() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Check list for emptiness before access its last entry (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Make two symbols static (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Print error codes as signed value (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add command status to idxd sysfs attribute (Jerry Snitselaar) [1893465 1837187] - [dma] dmaengine: idxd: add support for configurable max wq batch size (Jerry Snitselaar) [1893468 1837187] - [dma] dmaengine: idxd: add support for configurable max wq xfer size (Jerry Snitselaar) [1893468 1837187] - [documentation] dmaengine: idxd: add leading / for sysfspath in ABI documentation (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: clear misc interrupt cause after read (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Prevent to run on misconfigured channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Put the CSRT table after using it (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: reset states after device disable or reset (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: move idxd interrupt handling to mask instead of ignore (Jerry Snitselaar) [1872374 1837187] - [dma] dmaengine: idxd: add work queue drain support (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: move submission to sbitmap_queue (Jerry Snitselaar) [1837187] - [dma] dmaengine: cookie bypass for out of order completion (Jerry Snitselaar) [1838893 1837187] - [dma] dmaengine: ioat setting ioat timeout as module parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: stop completed threads when running without set channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix misc interrupt handler thread unmasking (Jerry Snitselaar) [1877126 1837187] - [dma] dmaengine: idxd: cleanup workqueue config after disabling (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix cdev locking for open and release (Jerry Snitselaar) [1837187] - [dma] dmaengine: Replace zero-length array with flexible-array (Jerry Snitselaar) [1837187] - [dma] dmaengine: Fix doc strings to satisfy validation script (Jerry Snitselaar) [1837187] - [dma] dmaengine: Include dmaengine.h into dmaengine.c (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Describe members of struct dmatest_info (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Describe members of struct dmatest_params (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Allow negative timeout value to specify infinite wait (Jerry Snitselaar) [1837187] - [dma] Revert "dmaengine: dmatest: timeout value of -1 should specify infinite wait" (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: adding missed issue_pending to timeout handler (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: remove unnesesery double complition timer modification (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: removing duplicate code from timeout handler (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Decreasing allocation chunk size 2M->512K (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: fixing chunk sizing macros dependency (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: export hw version through sysfs (Jerry Snitselaar) [1838888 1837187] - [dma] dmaengine: dmatest: Restore default for channel (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix interrupt completion after unmasking (Jerry Snitselaar) [1838895 1837187] - [dma] dmaengine: dmatest: Fix process hang when reading 'wait' parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Fix iteration non-stop logic (Jerry Snitselaar) [1837187] - [dma] dmaengine: fix channel index enumeration (Jerry Snitselaar) [1838390 1837187] - [include] include/linux/dmaengine: Typos fixes in API documentation (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove global token limit check (Jerry Snitselaar) [1838385 1837187] - [dma] dmaengine: idxd: reflect shadow copy of traffic class programming (Jerry Snitselaar) [1838381 1837187] - [dma] dmaengine: Create debug directories for DMA devices (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add basic debugfs support (Jerry Snitselaar) [1837187] - [include] dmaengine: consistently return string literal from switch-case (Jerry Snitselaar) [1837187] - [include] dmaengine: Drop redundant 'else' keyword (Jerry Snitselaar) [1837187] - [include] dmaengine: Use negative condition for better readability (Jerry Snitselaar) [1837187] - [include] dmaengine: Refactor dmaengine_check_align() to be bit operations only (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: expose general capabilities register in sysfs (Jerry Snitselaar) [1837187 1836532] - [dma] dmaengine: idxd: check return result from check_vma() in cdev (Jerry Snitselaar) [1837187 1836530] - [dma] dmanegine: ioat/dca: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove set but not used variable 'idxd_cdev' (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: remove set but not used variable 'group' (Jerry Snitselaar) [1837187] - [documentation] dmaengine: idxd: add sysfs ABI for idxd driver (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: fix off by one on cdev dwq refcount (Jerry Snitselaar) [1838366 1837187] - [dma] dmaengine: idxd: wq size configuration needs to check global max size (Jerry Snitselaar) [1837187 1836579] - [dma] dmaengine: idxd: sysfs input of wq incorrect wq type should return error (Jerry Snitselaar) [1837187 1836585] - [dma] dmaengine: idxd: correct reserved token calculation (Jerry Snitselaar) [1837187 1836647] - [dma] dmaengine: idxd: Fix error handling in idxd_wq_cdev_dev_setup() (Jerry Snitselaar) [1838354 1837187] - [dma] dmaengine: idxd: fix runaway module ref count on device driver bind (Jerry Snitselaar) [1837187 1836649] - [dma] dmaengine: idxd: fix boolconv.cocci warnings (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add char driver to expose submission portal to userland (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: connect idxd to dmaengine subsystem (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add descriptor manipulation routines (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: add configuration component of driver (Jerry Snitselaar) [1837187] - [dma] dmaengine: idxd: Init and probe for Intel data accelerators (Jerry Snitselaar) [1837187] - [include] io-64-nonatomic: add io{read|write}64{_lo_hi|_hi_lo} macros (Jerry Snitselaar) [1837187] - [powerpc] iomap: introduce io{read|write}64_{lo_hi|hi_lo} (Jerry Snitselaar) [1837187] - [lib] iomap: Use non-raw io functions for io{read|write}XXbe (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Add missing locking around list operations (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Do not call desc_free() under a spin_lock (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: remove debug message (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Add missing locking (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: Support in-use unbind (Jerry Snitselaar) [1837187] - [dma] dmaengine: move .device_release missing log warning to debug level (Jerry Snitselaar) [1837187] - [dma] dmaengine: Cleanups for the slave <-> channel symlink support (Jerry Snitselaar) [1837187] - [dma] dmaengine: fix null ptr check for __dma_async_device_channel_register() (Jerry Snitselaar) [1837187] - [dma] dmaengine: Fix return value for dma_request_chan() in case of failure (Jerry Snitselaar) [1837187] - [dma] dmaengine: Create symlinks between DMA channels and slaves (Jerry Snitselaar) [1837187] - [dma] dmaengine: add support to dynamic register/unregister of channels (Jerry Snitselaar) [1837187] - [dma] dmaengine: break out channel registration (Jerry Snitselaar) [1837187] - [x86] x86/asm: Carve out a generic movdir64b() helper for general usage (Jerry Snitselaar) [1837187] - [x86] x86/asm: add iosubmit_cmds512() based on MOVDIR64B CPU instruction (Jerry Snitselaar) [1837187] - [dma] dmaengine: Move dma_get_{, any_}slave_channel() to private dmaengine.h (Jerry Snitselaar) [1837187] - [include] dmaengine: Remove dma_request_slave_channel_compat() wrapper (Jerry Snitselaar) [1837187] - [dma] dmaengine: Remove dma_device_satisfies_mask() wrapper (Jerry Snitselaar) [1837187] - [include] dmaengine: Add helper function to convert direction value to text (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add support for reporting DMA cached data amount (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add metadata_ops for dma_async_tx_descriptor (Jerry Snitselaar) [1837187] - [dma] dmaengine: print more meaningful error message (Jerry Snitselaar) [1837187] - [dma] dmaengine: move module_/dma_device_put() after route free (Jerry Snitselaar) [1837187] - [dma] dmaengine: Add reference counting to dma_device struct (Jerry Snitselaar) [1837187] - [dma] dmaengine: Move dma_channel_rebalance() infrastructure up in code (Jerry Snitselaar) [1837187] - [dma] dmaengine: Call module_put() after device_free_chan_resources() (Jerry Snitselaar) [1837187] - [dma] dmaengine: Store module owner in dma_device struct (Jerry Snitselaar) [1837187] - [include] dmaengine: Remove spaces before TABs (Jerry Snitselaar) [1837187] - [dma] ioat: ioat_alloc_ring() failure handling (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: Fix access after free in vchan_complete() (Jerry Snitselaar) [1837187] - [include] dmaengine: Fix access to uninitialized dma_slave_caps (Jerry Snitselaar) [1837187] - [dma] dmanegine: ioat/dca: Use struct_size() helper (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Add kernel doc parameter descriptions (Jerry Snitselaar) [1837187] - [dma] dmaengine: acpi: Set up DMA mask based on CSRT (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add support for completion polling (Jerry Snitselaar) [1837187] - [dma] dmaengine: virt-dma: store result on dma descriptor (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: timeout value of -1 should specify infinite wait (Jerry Snitselaar) [1837187] - [dma] dmaengine: Grammar s/the its/its/, s/need/needs/ (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 (Jerry Snitselaar) [1837187] - [dma] treewide: Add SPDX license identifier - Makefile/Kconfig (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jerry Snitselaar) [1837187] - [dma] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: move test data alloc & free into functions (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: add short-hand `buf_size` var in dmatest_func() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: wrap src & dst data into a struct (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Abort test in case of mapping error (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add transfer_size parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add alignment parameter (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Use fixed point div to calculate iops (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: Add support for multi channel testing (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: fix a small memory leak in dmatest_func() (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: move size checks earlier in function (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: use dmaengine_terminate_sync() instead (Jerry Snitselaar) [1837187] - [dma] dmaengine: dmatest: unmap data on a single code-path when xfer done (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma64: replace spin_lock_irqsave with spin_lock (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma: remove dma_slave_config direction usage (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioat: fix prototype of ioat_enumerate_channels (Jerry Snitselaar) [1837187] - [dma] dmaengine: ioatdma: set the completion address register after channel reset (Jerry Snitselaar) [1837187] - [dma] dmaengine: idma64: Support dmaengine_terminate_sync() (Jerry Snitselaar) [1837187] - [dma] dmaengine: add a new helper dmaenginem_async_device_register (Jerry Snitselaar) [1837187] - [documentation] Documentation/x86: Add documentation for SVA (Shared Virtual Addressing) (Jerry Snitselaar) [1836777] - [iommu] iommu/vt-d: Change flags type to unsigned int in binding mm (Jerry Snitselaar) [1836777] - [drm] drm, iommu: Change type of pasid to u32 (Jerry Snitselaar) [1836777] - [x86] x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction (Jerry Snitselaar) [1837187] - [x86] x86/mmu: Allocate/free a PASID (Jerry Snitselaar) [1836777] - [x86] x86/cpufeatures: Mark ENQCMD as disabled when configured out (Jerry Snitselaar) [1836777] - [mm] mm: Add a pasid member to struct mm_struct (Jerry Snitselaar) [1836777] - [x86] x86/msr-index: Define an IA32_PASID MSR (Jerry Snitselaar) [1836777] - [x86] x86/fpu/xstate: Add supervisor PASID state for ENQCMD (Jerry Snitselaar) [1836777] - [x86] x86/cpufeatures: Enumerate ENQCMD and ENQCMDS instructions (Jerry Snitselaar) [1836777] - [x86] x86/fpu/xstate: Restore supervisor states for signal return (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Preserve supervisor states for the slow path in __fpu__restore_sig() (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Introduce copy_supervisor_to_kernel() (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Update copy_kernel_to_xregs_err() for supervisor states (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Update sanitize_restored_xstate() for supervisor xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Define new functions for clearing fpregs and xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Introduce XSAVES supervisor states (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Separate user and supervisor xfeatures mask (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Define new macros for supervisor and user xstates (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Rename validate_xstate_header() to validate_user_xstate_header() (Jerry Snitselaar) [1837178] - [x86] copy_xstate_to_kernel: Fix typo which caused GDB regression (Jerry Snitselaar) [1837178] - [x86] copy_xstate_to_kernel(): don't leave parts of destination uninitialized (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Warn when checking alignment of disabled xfeatures (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix XSAVES offsets in setup_xstate_comp() (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix last_good_offset in setup_xstate_features() (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Shrink space allocated for xstate_comp_offsets (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Make xfeature_is_supervisor()/xfeature_is_user() return bool (Jerry Snitselaar) [1837178] - [x86] x86/fpu/xstate: Fix small issues (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Use XFEATURE_FP/SSE enum values instead of hardcoded numbers (Jerry Snitselaar) [1837178] - [x86] x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset() (Jerry Snitselaar) [1837178] - [iommu] iommu/vt-d: Fix sid not set issue in intel_svm_bind_gpasid() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix kernel NULL pointer dereference in find_domain() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Don't read VCCAP register unless it exists (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Add SMMUv3.2 range invalidation support (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Batch ATC invalidation commands (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Add command queue batching helpers (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Add sanity check for interrupt remapping table length macros (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Restore IRTE.RemapEn bit for amd_iommu_activate_guest_mode (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Fix potential @entry null deref (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Handle 36bit addressing for x86-32 (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Do not use IOMMUv2 functionality when SME is active (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Do not force direct mapping when SME is active (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Restore IRTE.RemapEn bit after programming IRTE (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix NULL pointer dereference in dev_iommu_priv_set() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Serialize IOMMU GCMD register modifications (Jerry Snitselaar) [1887546] - [dma] dma-pool: Fix an uninitialized variable bug in atomic_pool_expand() (Jerry Snitselaar) [1887546] - [dma] dma-pool: Only allocate from CMA when in same memory zone (Jerry Snitselaar) [1887546] - [dma] dma-pool: fix coherent pool allocations for IOMMU mappings (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Move Kconfig and Makefile bits down into amd directory (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move Kconfig and Makefile bits down into intel directory (Jerry Snitselaar) [1887546] - [iommu] iommu: Add gfp parameter to io_pgtable_ops->map() (Jerry Snitselaar) [1887546] - [iommu] iommu: Mark __iommu_map_sg() as static (Jerry Snitselaar) [1887546] - [iommu] iommu: Tidy up Kconfig for SoC IOMMUs (Jerry Snitselaar) [1887546] - [iommu] iommu: Make some functions static (Jerry Snitselaar) [1887546] - [include] iommu: Move sg_table wrapper out of CONFIG_IOMMU_SUPPORT (Jerry Snitselaar) [1887546] - [powerpc] powerpc/dma: Remove dev->archdata.iommu_domain (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove double zero check (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Rename intel-pasid.h to pasid.h (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add page response ops support (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Report page request faults for guest SVA (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add a helper to get svm and sdev for pasid (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Refactor device_to_iommu() helper (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Disable multiple GPASID-dev bind (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Warn on out-of-range invalidation address (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix devTLB flush for vSVA (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Handle non-page aligned address (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix PASID devTLB invalidation (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove global page support in devTLB flush (Jerry Snitselaar) [1887546] - [include] iommu/vt-d: Enforce PASID devTLB field mask (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove unused IOMMU_SYS_CACHE_ONLY flag (Jerry Snitselaar) [1887546] - [iommu] PCI/ATS: Add pci_pri_supported() to check device or associated PF (Jerry Snitselaar) [1887546] - [pci] PCI: Treat "external-facing" devices themselves as internal (Jerry Snitselaar) [1887546] - [documentation] docs: fix references for DMA*.txt files (Jerry Snitselaar) [1887546] - [dma] dma-contiguous: cleanup dma_alloc_contiguous (Jerry Snitselaar) [1887546] - [dma] dma-debug: use named initializers for dir2name (Jerry Snitselaar) [1887546] - [dma] dma-mapping: add a dma_ops_bypass flag to struct device (Jerry Snitselaar) [1887546] - [dma] dma-mapping: inline the fast path dma-direct calls (Jerry Snitselaar) [1887546] - [dma] dma-mapping: move the remaining DMA API calls out of line (Jerry Snitselaar) [1887546] - [dma] dma-mapping: don't BUG when calling dma_map_resource on RAM (Jerry Snitselaar) [1887546] - [of] of: Allow the iommu-map property to omit untranslated devices (Jerry Snitselaar) [1887546] - [iommu] treewide: Remove uninitialized_var() usage (Jerry Snitselaar) [1887546] - [dma] dma-pool: do not allocate pool memory from CMA (Jerry Snitselaar) [1887546] - [dma] dma-pool: make sure atomic pool suits device (Jerry Snitselaar) [1887546] - [dma] dma-pool: introduce dma_guess_pool() (Jerry Snitselaar) [1887546] - [dma] dma-pool: get rid of dma_in_atomic_pool() (Jerry Snitselaar) [1887546] - [dma] dma-direct: provide function to check physical memory area validity (Jerry Snitselaar) [1887546] - [documentation] docs: move DMA kAPI to Documentation/core-api (Jerry Snitselaar) [1887546] - [dma] dma-mapping: remove dma_mark_declared_memory_occupied (Jerry Snitselaar) [1887546] - [documentation] docs: DMA-API-HOWTO.txt: fix an unmarked code block (Jerry Snitselaar) [1887546] - [documentation] Documentation: DMA-API: fix a function name of max_mapping_size (Jerry Snitselaar) [1887546] - [documentation] docs: DMA-API-HOWTO: add a missing "=" (Jerry Snitselaar) [1887546] - [documentation] Documentation/DMA-API-HOWTO: update dma_mask sections (Jerry Snitselaar) [1887546] - [documentation] Documentation/DMA-ISA-LPC: fix an incorrect reference (Jerry Snitselaar) [1887546] - [documentation] Documentation: DMA-API: fix two typos (Jerry Snitselaar) [1887546] - [dma] dma-mapping: warn when coherent pool is depleted (Jerry Snitselaar) [1887546] - [dma] dma-remap: align the size in dma_common_*_remap() (Jerry Snitselaar) [1887546] - [dma] dma-mapping: DMA_COHERENT_POOL should select GENERIC_ALLOCATOR (Jerry Snitselaar) [1887546] - [dma] dma-direct: add missing set_memory_decrypted() for coherent mapping (Jerry Snitselaar) [1887546] - [dma] dma-direct: check return value when encrypting or decrypting memory (Jerry Snitselaar) [1887546] - [dma] dma-direct: re-encrypt memory if dma_direct_alloc_pages() fails (Jerry Snitselaar) [1887546] - [dma] dma-direct: always align allocation size in dma_direct_alloc_pages() (Jerry Snitselaar) [1887546] - [dma] dma-direct: mark __dma_direct_alloc_pages static (Jerry Snitselaar) [1887546] - [dma] dma-direct: re-enable mmap for !CONFIG_MMU (Jerry Snitselaar) [1887546] - [dma] dma-pool: decouple DMA_REMAP from DMA_COHERENT_POOL (Jerry Snitselaar) [1887546] - [message] scsi: mptfusion: Don't use GFP_ATOMIC for larger DMA allocations (Jerry Snitselaar) [1887546] - [dma] dma-pool: fix too large DMA pools on medium memory size systems (Jerry Snitselaar) [1887546] - [iommu] treewide: replace '---help---' in Kconfig files with 'help' (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Make remove callback message more informative (Jerry Snitselaar) [1887546] - [include] iommu: add generic helper for mapping sgtable objects (Jerry Snitselaar) [1887546] - [dma] dma-contiguous: fix comment for dma_release_from_contiguous (Jerry Snitselaar) [1887546] - [dma] dma-pool: scale the default DMA coherent pool size with memory capacity (Jerry Snitselaar) [1887546] - [x86] x86/mm: unencrypted non-blocking DMA allocations use coherent pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: add pool sizes to debugfs (Jerry Snitselaar) [1887546] - [dma] dma-direct: atomic allocations must come from atomic coherent pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: dynamically expanding atomic pools (Jerry Snitselaar) [1887546] - [dma] dma-pool: add additional coherent pools to map to gfp mask (Jerry Snitselaar) [1887546] - [dma] dma-remap: separate DMA atomic pools from direct remap code (Jerry Snitselaar) [1887546] - [dma] dma-mapping: use vmap insted of reimplementing it (Jerry Snitselaar) [1887546] - [dma] dma-debug: make __dma_entry_alloc_check_leak() static (Jerry Snitselaar) [1887546] - [dma] dma: debug: no need to check return value of debugfs_create functions (Jerry Snitselaar) [1887546] - [dma] dma-debug: Batch dma_debug_entry allocation (Jerry Snitselaar) [1887546] - [dma] dma/debug: Remove dma_debug_resize_entries() (Jerry Snitselaar) [1887546] - [dma] dma-debug: Make leak-like behaviour apparent (Jerry Snitselaar) [1887546] - [dma] dma-debug: Dynamically expand the dma_debug_entry pool (Jerry Snitselaar) [1887546] - [dma] dma-debug: Use pr_fmt() (Jerry Snitselaar) [1887546] - [dma] dma-debug: Expose nr_total_entries in debugfs (Jerry Snitselaar) [1887546] - [dma] dma-debug: fix displaying of dma allocation type (Jerry Snitselaar) [1887546] - [dma] dma-direct: fix data truncation in dma_direct_get_required_mask() (Jerry Snitselaar) [1887546] - [dma] dma-direct: provide a arch_dma_clear_uncached hook (Jerry Snitselaar) [1887546] - [dma] dma-direct: make uncached_kernel_address more general (Jerry Snitselaar) [1887546] - [include] dma-direct: remove the cached_kernel_address hook (Jerry Snitselaar) [1887546] - [dma] dma-direct: consolidate the error handling in dma_direct_alloc_pages (Jerry Snitselaar) [1887546] - [dma] dma-coherent: fix integer overflow in the reserved-memory dma allocation (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix misuse of iommu_domain_identity_map() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Update scalable mode paging structure coherency (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Enable PCI ACS for platform opt in hint (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Set U/S bit in first level page table by default (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Make Intel SVM code 64-bit only (Jerry Snitselaar) [1887546] - [arm64] arm64: Remove dev->archdata.iommu pointer (Jerry Snitselaar) [1887546] - [x86] x86: Remove dev->archdata.iommu pointer (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use dev_iommu_priv_get/set() (Jerry Snitselaar) [1887546] - [iommu] iommu: Allow page responses without PASID (Jerry Snitselaar) [1887546] - [iommu] iommu/iova: Don't BUG on invalid PFNs (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Add helper functions to update domain->pt_root (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Print extended features in one line to fix divergent log levels (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Make amd_iommu_apply_ivrs_quirks() static inline (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move Intel IOMMU driver into subdirectory (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Move AMD IOMMU driver into subdirectory (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove redundant devid checks (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Store dev_data as device iommu private data (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Merge private header files (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Remove PD_DMA_OPS_MASK (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Consolidate domain allocation/freeing (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Free page-table in protection_domain_free() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Allocate page-table in protection_domain_init() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Let free_pagetable() not rely on domain->pt_root (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Unexport get_dev_data() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Unify format of the printed messages (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove iommu_sva_ops::mm_exit() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [iommu] iommu/amd: Use pci_ats_supported() (Jerry Snitselaar) [1887546] - [pci] PCI/ATS: Only enable ATS for trusted devices (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Don't reserve implementation defined register space (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: remove set but not used variable 'smmu' (Jerry Snitselaar) [1887546] - [uapi] iommu/virtio: Fix sparse warning (Jerry Snitselaar) [1887546] - [pci] PCI/ATS: Export symbols of PASID functions (Jerry Snitselaar) [1887546] - [iommu] iommu/mediatek: Fix MTK_IOMMU dependencies (Jerry Snitselaar) [1887546] - [iommu] iommu: spapr_tce: Disable compile testing to fix build on book3s_32 config (Jerry Snitselaar) [1887546] - [iommu] iommu: Enable compile testing for some of drivers (Jerry Snitselaar) [1887546] - [x86] x86: Hide the archdata.iommu field behind generic IOMMU_API (Jerry Snitselaar) [1887546] - [iommu] iommu/hyper-v: Constify hyperv_ir_domain_ops (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix compile warning (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: fix a GCC warning (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Fix pointer cast warnings on 32 bit (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove IOVA handling code from the non-dma_ops path (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove duplicated check in intel_svm_bind_mm() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Remove redundant IOTLB flush (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add page request draining support (Jerry Snitselaar) [1887546 1847060] - [iommu] iommu/vt-d: Disable non-recoverable fault processing before unbind (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: debugfs: Add support to show inv queue internals (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Multiple descriptors per qi_submit_sync() (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Replace intel SVM APIs with generic SVA APIs (Jerry Snitselaar) [1887546 1836578] - [include] iommu/vt-d: Fix compile warning from intel-svm.h (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Report SVA feature with generic flag (Jerry Snitselaar) [1887546 1836578] - [iommu] iommu/vt-d: Add custom allocator for IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Enlightened PASID allocation (Jerry Snitselaar) [1887546 1837167] - [iommu] iommu/vt-d: Add svm/sva invalidate function (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Support flushing more translation cache types (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add bind guest PASID support (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add nested translation helper function (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use a helper function to skip agaw for SL (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Move domain helper to header (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove functions that support private domain (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Unify format of the printed messages (Jerry Snitselaar) [1887546] - [iommu] iommu: Introduce guest PASID bind function (Jerry Snitselaar) [1887546] - [iommu] iommu: Introduce cache_invalidate API (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: debugfs: Add support to show page table internals (Jerry Snitselaar) [1887546 1835059] - [iommu] iommu/vt-d: Use iova over first level (Jerry Snitselaar) [1887546 1837160] - [iommu] iommu/vt-d: Update first level super page capability (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Make first level IOVA canonical (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Flush PASID-based iotlb for iova over first level (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Setup pasid entries for iova over first level (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add PASID_FLAG_FL5LP for first-level pasid setup (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add set domain DOMAIN_ATTR_NESTING attr (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Identify domains using first level page table (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Misc macro clean up for SVM (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add build dependency on IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Replace Intel specific PASID allocator with IOASID (Jerry Snitselaar) [1887546] - [iommu] iommu/ioasid: Add custom allocators (Jerry Snitselaar) [1887546] - [iommu] iommu: Add I/O ASID allocator (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Use right Kconfig option name (Jerry Snitselaar) [1887546] - [iommu] iommu/vt-d: Add Kconfig option to enable/disable scalable mode (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Reverse arguments to list_add (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Use accessor functions for iommu private data (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Reject IOMMU page granule larger than PAGE_SIZE (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Fix freeing of incomplete domains (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Build virtio-iommu as module (Jerry Snitselaar) [1887546] - [iommu] iommu: virtio: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Remove unused variable (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Update to most recent specification (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Add event queue (Jerry Snitselaar) [1887546] - [iommu] iommu/virtio: Add probe request (Jerry Snitselaar) [1887546] - [iommu] iommu: Add virtio-iommu driver (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove duplicate error message (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Fix uninitilized variable warning (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rename IOMMU_QCOM_SYS_CACHE and improve doc (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Restore naming of driver parameter prefix (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Improve SMR mask test (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Fix IOVA validation for 32-bit (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Prepare for TTBR1 usage (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise VTCR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rename public #defines under ARM_SMMU_ namespace (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise TCR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Ensure ARM_64_LPAE_S2_TCR_RES1 is unsigned (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Improve attribute handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Support non-coherent stage-2 page tables (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Fix -Wunused-const-variable warning (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Remove useless of_match_ptr() (Jerry Snitselaar) [1887546] - [iommu] drivers/iommu: Initialise module 'owner' field in iommu_device_set_ops() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Update my email address in MODULE_AUTHOR() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Allow building as a module (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Unregister IOMMU and bus ops on device removal (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Allow building as a module (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Support SMMU module probing from the IORT (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu-v3: Unregister IOMMU and bus ops on device removal (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Prevent forced unbinding of Arm SMMU drivers (Jerry Snitselaar) [1887546] - [iommu] Revert "iommu/arm-smmu: Make arm-smmu explicitly non-modular" (Jerry Snitselaar) [1887546] - [iommu] Revert "iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular" (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise TTBRn handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise MAIR handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify level indexing (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify PGD size handling (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify start level lookup (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Simplify bounds checks (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm: Rationalise size check (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable: Make selftest gubbins consistently __init (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Avoid pathological RPM behaviour for unmaps (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable: Move some initialization data to .init.rodata (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Report USF more clearly (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove arm_smmu_flush_ops (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Move .tlb_sync method to implementation (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove "leaf" indirection (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Remove .tlb_inv_range indirection (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm-v7s: Use ias/oas to check the valid iova/pa (Jerry Snitselaar) [1887546] - [iommu] iommu/io-pgtable-arm-v7s: Add paddr_to_iopte and iopte_to_paddr helpers (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Ensure 64-bit I/O accessors are available on 32-bit CPU (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Make private implementation details static (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add context init implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add reset implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add configuration implementation hook (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Move Secure access quirk to implementation (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: ioremap smmu mmio region before implementation init (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Add implementation infrastructure (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rename arm-smmu-regs.h (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract GR0 accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract context bank accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Abstract GR1 accesses (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Get rid of weird "atomic" write (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Split arm_smmu_tlb_inv_range_nosync() (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Rework cb_base handling (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert context bank registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert GR1 registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu/arm-smmu: Convert GR0 registers to bitfields (Jerry Snitselaar) [1887546] - [iommu] iommu: Remove IOMMU_OF_DECLARE (Jerry Snitselaar) [1887546] - [iommu] iommu: Stop deferring probe at end of initcalls (Jerry Snitselaar) [1887546] - [iommu] iommu: Fix use-after-free in iommu_release_device (Jerry Snitselaar) [1887546] - [dma] dma-mapping: Fix dma_pgprot() for unencrypted coherent pages (Jerry Snitselaar) [1887546] - [x86] x86: Don't let pgprot_modify() change the page encryption bit (Jerry Snitselaar) [1887546] - [x86] x86/PCI: Remove X86_DEV_DMA_OPS (Jerry Snitselaar) [1887546] - [pci] PCI: vmd: Remove dma_map_ops overrides (Jerry Snitselaar) [1887546] - [pci] x86/pci: Clean up usage of X86_DEV_DMA_OPS (Jerry Snitselaar) [1887546] - [x86] x86/Kconfig: Remove the unused X86_DMA_REMAP KConfig symbol (Jerry Snitselaar) [1887546] - [dma] dma-direct: avoid a forward declaration for phys_to_dma (Jerry Snitselaar) [1887546] - [dma] dma-mapping: Add vmap checks to dma_map_single() (Jerry Snitselaar) [1887546] - [x86] x86/platform/uv: Fix UV4 hub revision adjustment (Frank Ramsay) [1908507] - [ata] ahci: Add Intel Rocket Lake PCH-H RAID PCI IDs (Steve Best) [1868308]- [mfd] mfd: intel-lpss: Fix Intel Elkhart Lake LPSS I2C input clock (Steve Best) [1783586] - [mfd] mfd: intel-lpss: Add Intel Elkhart Lake PCH PCI IDs (Steve Best) [1783586] - [i2c] i2c: i801: Add support for Intel Elkhart Lake (Steve Best) [1783586] - [fs] fuse: fix bad inode (Miklos Szeredi) [1906908] - [fs] virtiofs: calculate number of scatter-gather elements accurately (Vivek Goyal) [1783467] - [fs] virtiofs: add logic to free up a memory range (Vivek Goyal) [1783467] - [fs] virtiofs: maintain a list of busy elements (Vivek Goyal) [1783467] - [fs] virtiofs: serialize truncate/punch_hole and dax fault path (Vivek Goyal) [1783467] - [fs] virtiofs: define dax address space operations (Vivek Goyal) [1783467] - [fs] virtiofs: add DAX mmap support (Vivek Goyal) [1783467] - [fs] virtiofs: implement dax read/write operations (Vivek Goyal) [1783467] - [uapi] virtiofs: introduce setupmapping/removemapping commands (Vivek Goyal) [1783467] - [fs] virtiofs: implement FUSE_INIT map_alignment field (Vivek Goyal) [1783467] - [fs] virtiofs: keep a list of free dax memory ranges (Vivek Goyal) [1783467] - [fs] virtiofs: add a mount option to enable dax (Vivek Goyal) [1783467] - [fs] virtiofs: set up virtio_fs dax_device (Vivek Goyal) [1783467] - [fs] virtiofs: get rid of no_mount_options (Vivek Goyal) [1783467] - [fs] virtiofs: provide a helper function for virtqueue initialization (Vivek Goyal) [1783467] - [fs] dax: Create a range version of dax_layout_busy_page() (Vivek Goyal) [1783467] - [dax] dax: Modify bdev_dax_pgoff() to handle NULL bdev (Vivek Goyal) [1783467] - [virtio] virtio: Implement get_shm_region for MMIO transport (Vivek Goyal) [1783467] - [virtio] virtio: Implement get_shm_region for PCI transport (Vivek Goyal) [1783467] - [include] virtio: Add get_shm_region method (Vivek Goyal) [1783467] - [fs] virtiofs: do not use fuse_fill_super_common() for device installation (Vivek Goyal) [1783467] - [uapi] fuse: reserve values for mapping protocol (Vivek Goyal) [1783467] - [fs] virtiofs: Convert virtiofs to use new mount API (Vivek Goyal) [1783467] - [fs] fuse: reject options on reconfigure via fsconfig(2) (Vivek Goyal) [1783467] - [fs] fuse: ignore 'data' argument of mount(..., MS_REMOUNT) (Vivek Goyal) [1783467] - [fs] fuse: use ->reconfigure() instead of ->remount_fs() (Vivek Goyal) [1783467] - [fs] fuse: switch to use errorfc() et.al (Vivek Goyal) [1783467] - [fs] fs_parse: fold fs_parameter_desc/fs_parameter_spec (Vivek Goyal) [1783467] - [fs] fs_parser: remove fs_parameter_description name field (Vivek Goyal) [1783467] - [fs] vfs: subtype handling moved to fuse (Vivek Goyal) [1783467] - [fs] fuse: convert to use the new mount API (Vivek Goyal) [1783467] - [lib] lib/zlib: fix inflating zlib streams on s390 (Philipp Rudo) [1908011] - [scsi] scsi: ibmvfc: Set default timeout to avoid crash during migration (Diego Domingos) [1890710] - [net] Bluetooth: Fix null pointer dereference in hci_event_packet() (Gopal Tiwari) [1921475] - [tools] selftests: fix poll error in udpgro.sh (Hangbin Liu) [1922213] - [net] mptcp: fix length of MP_PRIO suboption (Davide Caratti) [1923156] - [powerpc] powerpc/sstep: Fix array out of bound warning (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Add testcases for VSX vector paired load/store instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/ppc-opcode: Add encoding macros for VSX vector paired instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Support VSX vector paired storage access instructions (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Cover new VSX instructions under CONFIG_VSX (Desnes Augusto Nunes do Rosario) [1908739] - [powerpc] powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is set (Desnes Augusto Nunes do Rosario) [1908739] - [net] fix setsockopt(SO_REUSEADDR) for MPTCP sockets (Paolo Abeni) [1922500] - [net] net_sched: avoid shift-out-of-bounds in tcindex_set_parms() (Davide Caratti) [1917366] - [net] net_sched: reject silly cell_log in qdisc_get_rtab() (Davide Caratti) [1917366] - [net] sched: prevent invalid Scell_log shift count (Davide Caratti) [1917366] - [net] netem: fix zero division in tabledist (Davide Caratti) [1917366] - [net] protect tcf_block_unbind with block lock (Davide Caratti) [1917366] - [pinctrl] pinctrl: intel: Add Intel Elkhart Lake pin controller support (Steve Best) [1783600] - [fs] dlm: fix invalid cluster name warning (Alexander Aring) [1655771] - [mm] arm64: acpi: Make apei_claim_sea() synchronise with APEI's irq work (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Fix doc warnings in iort.c (Al Stone) [1865698 1851555] - [acpi] ACPI, APEI, Fix error return value in apei_map_generic_address() (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Initialize performance state sysfs attribute (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Support Alder Lake (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Add DMI quirk for Medion Akoya E2228T (Al Stone) [1865698 1851555] - [acpi] ACPI: Fix whitespace inconsistencies (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Drop no longer necessary Acer SW5-012 lid_init_state quirk (Al Stone) [1865698 1851555] - [acpi] ACPI: dock: fix enum-conversion warning (Al Stone) [1865698 1851555] - [acpi] ACPI: utils: remove unreachable breaks (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add missing type casts in GPE register access code (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add ACPI_DPTF Kconfig menu (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Fix participant driver names (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: remove comment regarding string _UID support (Al Stone) [1865698 1851555] - [acpi] ACPI: reboot: Avoid racing after writing to ACPI RESET_REG (Al Stone) [1865698 1851555] - [acpi] ACPI: debug: don't allow debugging when ACPI is disabled (Al Stone) [1865698 1851555] - [dax] ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device (Al Stone) [1865698 1851555] - [acpi] x86/numa: add 'nohmat' option (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200925 Version 20200925 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Remove unnecessary semicolon (Al Stone) [1865698 1851555] - [acpi] ACPICA: Debugger: Add a new command: "ALL " (Al Stone) [1865698 1851555] - [acpi] ACPICA: iASL: Return exceptions for string-to-integer conversions (Al Stone) [1865698 1851555] - [acpi] ACPICA: acpi_help: Update UUID list (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add predefined names found in the SMBus sepcification (Al Stone) [1865698 1851555] - [acpi] ACPICA: Tree-wide: fix various typos and spelling mistakes (Al Stone) [1865698 1851555] - [acpi] ACPICA: Drop the repeated word "an" in a comment (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add support for 64 bit risc-v compilation (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: Flush EC work unconditionally after wakeup (Al Stone) [1865698 1851555] - [acpi] ACPI: button: fix handling lid state changes when input device closed (Al Stone) [1865698 1851555] - [acpi] ACPI: scan: Replace ACPI_DEBUG_PRINT() with pr_debug() (Al Stone) [1865698 1851555] - [acpi] ACPI: memhotplug: Remove 'state' from struct acpi_memory_device (Al Stone) [1865698 1851555] - [acpi] ACPI / extlog: Check for RDMSR failure (Al Stone) [1865698 1851555] - [acpi] node: Add access1 class to represent CPU to memory characteristics (Al Stone) [1865698 1851555] - [acpi] ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 (Al Stone) [1865698 1851555] - [acpi] ACPI: Let ACPI know we support Generic Initiator Affinity Structures (Al Stone) [1865698 1851555] - [acpi] ACPI: Support Generic Initiator only domains (Al Stone) [1865698 1851555] - [acpi] ACPI / NUMA: Add stub function for pxm_to_node() (Al Stone) [1865698 1851555] - [acpi] virtio-mem: Allow to specify an ACPI PXM as nid (Al Stone) [1865698 1851555] - [acpi] ACPI: battery: include linux/power_supply.h (Al Stone) [1865698 1851555] - [acpi] ACPI: wakeup: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Remove leftover ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: tiny-power-button: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: proc: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: Remove unused ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: event: Remove leftover ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: dock: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: debugfs: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: custom_method: Remove dead ACPICA debug code (Al Stone) [1865698 1851555] - [acpi] ACPI: container: Remove leftover ACPICA debug functionality (Al Stone) [1865698 1851555] - [acpi] ACPI: platform: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: memhotplug: Remove leftover ACPICA debug functionality (Al Stone) [1865698 1851555] - [acpi] ACPI: LPSS: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: cmos_rtc: Remove leftover ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: update kernel-doc line comments (Al Stone) [1865698 1851555] - [acpi] PNP: ACPI: Fix missing-prototypes in acpi_pnp.c (Al Stone) [1865698 1851555] - [acpi] ACPI: configfs: Add missing config_item_put() to fix refcount leak (Al Stone) [1865698 1851555] - [acpi] ACPI: video: use ACPI backlight for HP 635 Notebook (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Clean up header file include statements (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove unnecessary APD_ADDR() macro stub (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove ACPI_MODULE_NAME() (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Remove flags from struct apd_device_desc (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Add kerneldoc for properties in struct apd_device_desc (Al Stone) [1865698 1851555] - [acpi] ACPI: Remove side effect of partly creating a node in acpi_get_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: Rename acpi_map_pxm_to_online_node() to pxm_to_online_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: Do not create new NUMA domains from ACPI static tables that are not SRAT (Al Stone) [1865698 1851555] - [acpi] ACPI: Add out of bounds and numa_off protections to pxm_to_node() (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Print more information when acpi_processor_evaluate_cst() fails (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add PCH FIVR participant driver (Al Stone) [1865698 1851555] - [acpi] PCI/ACPI: Add Ampere Altra SOC MCFG quirk (Al Stone) [1865698 1851555] - [acpi] ACPI / APEI: Add a notifier chain for unknown (vendor) CPER records (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Move TPS68470 OpRegion driver to drivers/acpi/pmic/ (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Split out Kconfig and Makefile specific for ACPI PMIC (Al Stone) [1865698 1851555] - [acpi] PCI/ACPI: Tone down missing MCFG message (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Make ACPICA use logical addresses of GPE blocks (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Change the type of acpi_os_map_generic_address() return value (Al Stone) [1865698 1851555] - [acpi] ACPICA: Add support for using logical addresses of GPE blocks (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove the unused inline functions (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Drop the unused @ops of iort_add_device_replay() (Al Stone) [1865698 1851555] - [acpi] ACPI / LPSS: Save Cherry Trail PWM ctx registers only once (at activation) (Al Stone) [1865698 1851555] - [acpi] ACPI / LPSS: Resume Cherry Trail PWM controller in no-irq phase (Al Stone) [1865698 1851555] - [acpi] ACPICA: Introduce special struct type for GPE register addresses (Al Stone) [1865698 1851555] - [acpi] ACPICA: Introduce acpi_hw_gpe_read() and acpi_hw_gpe_write() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Validate GPE blocks at init time (Al Stone) [1865698 1851555] - [acpi] ACPI: Export acpi_get_first_physical_node() to modules (Al Stone) [1865698 1851555] - [kernel] rcu/tree: Export rcu_idle_{enter, exit} to modules (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: fix -Wformat (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Fix build for ARCH_APICTIMER_STOPS_ON_C3 unset (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Take over RCU-idle for C3-BM idle (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Use CPUIDLE_FLAG_TLB_FLUSHED (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: Use CPUIDLE_FLAG_TIMER_STOP (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Prevent acpi_release_memory() from returning too early (Al Stone) [1865698 1851555] - [acpi] ACPI: ioremap: avoid redundant rounding to OS page size (Al Stone) [1865698 1851555] - [acpi] ACPI: SoC: APD: Check return value of acpi_dev_get_property() (Al Stone) [1865698 1851555] - [acpi] ACPI: APD: Add a fmw property is_raven (Al Stone) [1865698 1851555] - [include] ACPI: APD: Change name from ST to FCH (Al Stone) [1865698 1851555] - [acpi] i2c: designware: Add device HID for Hygon I2C controller (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Add an input ID to acpi_dma_configure() (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove useless PCI bus walk (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_msi_map_rid() PCI agnostic (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_get_device_domain IRQ domain agnostic (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Make iort_match_node_callback walk the ACPI namespace for NC (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: remove redundant assignment to variable rc (Al Stone) [1865698 1851555] - [acpi] ACPI: NUMA: Remove the useless 'node >= MAX_NUMNODES' check (Al Stone) [1865698 1851555] - [acpi] ACPI: NUMA: Remove the useless sub table pointer check (Al Stone) [1865698 1851555] - [acpi] ACPI: tables: Remove the duplicated checks for acpi_parse_entries_array() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200717 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Do not increment operation_region reference counts for field units (Al Stone) [1865698 1851555] - [acpi] ACPICA: Replace one-element array with flexible-array (Al Stone) [1865698 1851555] - [acpi] ACPI: acpi_pad: initialize preferred_cpu (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Clean up the removal of unused memory mappings (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Use deferred unmapping in acpi_os_unmap_iomem() (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Use deferred unmapping in acpi_os_unmap_generic_address() (Al Stone) [1865698 1851555] - [acpi] ACPICA: Preserve memory opregion mappings (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Implement deferred unmapping of ACPI memory (Al Stone) [1865698 1851555] - [acpi] ACPI: Use fallthrough pseudo-keyword (Al Stone) [1865698 1851555] - [acpi] acpi: thermal: Don't call thermal_zone_device_is_enabled() (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Fix Tiger Lake ACPI device ID (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add battery participant for TigerLake (Al Stone) [1865698 1851555] - [acpi] ACPI: tables: avoid relocations for table signature array (Al Stone) [1865698 1851555] - [acpi] ACPI: PAD: Eliminate usage of uninitialized_var() macro (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: add newlines when printing module parameters (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: add newline when printing 'ec_event_clearing' module parameter (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: Fix pm_profile_attr type (Al Stone) [1865698 1851555] - [acpi] ACPI: property: use cached name in acpi_fwnode_get_named_child_node() (Al Stone) [1865698 1851555] - [acpi] sched,acpi_pad: Convert to sched_set_fifo*() (Al Stone) [1865698 1851555] - [acpi] ACPI: PM: Avoid using power resources if there are none for D0 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200528 (Al Stone) [1865698 1851555] - [acpi] ACPICA: iASL: add new OperationRegion subtype keyword PlatformRtMechanism (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe() (Al Stone) [1865698 1851555] - [acpi] ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile() (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: use correct trigger type field in _Exx / _Lxx handling (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Remove the unused __get_pci_rid() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: PM: s2idle: Extend GPE dispatching debug message (Al Stone) [1865698 1851555] - [acpi] ACPI: PM: s2idle: Print type of wakeup debug messages (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Add battery participant driver (Al Stone) [1865698 1851555] - [acpi] ACPI: DPTF: Additional sysfs attributes for power participant driver (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Use native backlight on Acer TravelMate 5735Z (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: Fix PMCG node single ID mapping handling (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Kick the memory_failure() queue for synchronous errors (Al Stone) [1865698 1851555] - [mm] mm/memory-failure: Add memory_failure_queue_kick() (Al Stone) [1865698 1851555] - [acpi] ACPI: IORT: Add comments for not calling acpi_put_table() (Al Stone) [1865698 1851555] - [acpi] ACPI: GTDT: Put GTDT table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI / PMIC: Add i2c address for thermal control (Al Stone) [1865698 1851555] - [acpi] ACPI: GED: add support for _Exx / _Lxx handler methods (Al Stone) [1865698 1851555] - [acpi] ACPI: Delete unused proc filename macros (Al Stone) [1865698 1851555] - [acpi] ACPI: IORT: Add extra message "applying workaround" for off-by-1 issue (Al Stone) [1865698 1851555] - [acpi] ACPI: utils: Add acpi_evaluate_reg() helper (Al Stone) [1865698 1851555] - [acpi] ACPI: debug: Make two functions static (Al Stone) [1865698 1851555] - [acpi] ACPI: sleep: Put the FACS table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: scan: Put SPCR and STAO table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Put the ACPI table after using it (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the HEST table for error path (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the error record serialization table for error path (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the error injection table for error path and module exit (Al Stone) [1865698 1851555] - [acpi] ACPI: APEI: Put the boot error record table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI: watchdog: Put the watchdog action table after parsing (Al Stone) [1865698 1851555] - [acpi] ACPI: LPIT: Put the low power idle table after using it (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200430 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix required parameters for _NIG and _NIH (Al Stone) [1865698 1851555] - [acpi] ACPICA: Dispatcher: add status checks (Al Stone) [1865698 1851555] - [acpi] ACPICA: Disassembler: ignore AE_ALREADY_EXISTS status when parsing create operators (Al Stone) [1865698 1851555] - [acpi] ACPICA: Move acpi_gbl_next_cmd_num definition to acglobal.h (Al Stone) [1865698 1851555] - [acpi] ACPICA: Make acpi_protocol_lengths static (Al Stone) [1865698 1851555] - [acpi] ACPI/IORT: work around num_ids ambiguity (Al Stone) [1865698 1851555] - [acpi] Revert "ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map()" (Al Stone) [1865698 1851555] - [pci] PCI: Constify struct pci_ecam_ops (Al Stone) [1865698 1851555] - [acpi] PM: ACPI: Output correct message on target power state (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: Make some symbols static (Al Stone) [1865698 1851555] - [acpi] ACPI: processor: idle: Allow probing on platforms with one ACPI C-state (Al Stone) [1865698 1851555] - [documentation] PM: sleep: core: Rename DPM_FLAG_LEAVE_SUSPENDED (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rename dev_pm_smart_suspend_and_suspended() (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rename dev_pm_may_skip_resume() (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Rework the power.may_skip_resume handling (Al Stone) [1865698 1851555] - [acpi] PM: sleep: core: Do not skip callbacks in the resume phase (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Switch back to async_schedule_dev() (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Fold functions into their callers (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Simplify the SMART_SUSPEND flag handling (Al Stone) [1865698 1851555] - [base] PM: sleep: core: Use built-in RCU list checking (Al Stone) [1865698 1851555] - [base] PM: core: Fix handling of devices deleted during system-wide resume (Al Stone) [1865698 1851555] - [base] PM: sleep: Drop dpm_noirq_begin() and dpm_noirq_end() (Al Stone) [1865698 1851555] - [kernel] PM: sleep: Integrate suspend-to-idle with generig suspend flow (Al Stone) [1865698 1851555] - [base] PM: sleep: Drop dev_pm_skip_next_resume_phases() (Al Stone) [1865698 1851555] - [acpi] ACPI: button: Drop no longer necessary Asus T200TA lid_init_state quirk (Al Stone) [1865698 1851555] - [acpi] ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Fix up fast path check in acpi_ec_add() (Al Stone) [1865698 1851555] - [x86] ACPI, x86/boot: make acpi_nobgrt static (Al Stone) [1865698 1851555] - [x86] acpi/x86: add a kernel parameter to disable ACPI BGRT (Al Stone) [1865698 1851555] - [acpi] x86: ACPI: fix CPU hotplug deadlock (Al Stone) [1865698 1851555] - [x86] acpi/x86: ignore unspecified bit positions in the ACPI global lock field (Al Stone) [1865698 1851555] - [x86] x86/acpi: make "asmlinkage" part first thing in the function definition (Al Stone) [1865698 1851555] - [x86] x86/ACPI/sleep: Move acpi_get_wakeup_address() into sleep.c, remove from (Al Stone) [1865698 1851555] - [x86] x86/ACPI/sleep: Remove an unnecessary include of asm/realmode.h (Al Stone) [1865698 1851555] - [x86] x86/efi: Explicitly include realmode.h to handle RM trampoline quirk (Al Stone) [1865698 1851555] - [acpi] ACPI: video: Use native backlight on Acer Aspire 5783z (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version 20200326 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fixes for acpiExec namespace init file (Al Stone) [1865698 1851555] - [acpi] ACPICA: WSMT: Fix typo, no functional change (Al Stone) [1865698 1851555] - [acpi] ACPICA: utilities: fix sprintf() (Al Stone) [1865698 1851555] - [acpi] ACPICA: acpiexec: remove redeclaration of acpi_gbl_db_opt_no_region_support (Al Stone) [1865698 1851555] - [acpi] ACPICA: Change PlatformCommChannel ASL keyword to PCC (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix IVRS IVHD type 10h reserved field name (Al Stone) [1865698 1851555] - [acpi] ACPICA: Implement IVRS IVHD type 11h parsing (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a typo in a comment field (Al Stone) [1865698 1851555] - [acpi] ACPICA: Update version to 20200214 (Al Stone) [1865698 1851555] - [acpi] ACPI: CPPC: clean up acpi_get_psd_map() (Al Stone) [1865698 1851555] - [acpi] ACPI: PCI: Use scnprintf() for avoiding potential buffer overflow (Al Stone) [1865698 1851555] - [acpi] ACPI: fan: Use scnprintf() for avoiding potential buffer overflow (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Eliminate EC_FLAGS_QUERY_HANDSHAKE (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Simplify acpi_ec_ecdt_start() and acpi_ec_init() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Consolidate event handler installation code (Al Stone) [1865698 1851555] - [acpi] ACPI: list_for_each_safe() -> list_for_each_entry_safe() (Al Stone) [1865698 1851555] - [acpi] ACPI: video: remove redundant assignments to variable result (Al Stone) [1865698 1851555] - [acpi] ACPI: OSL: Add missing __acquires/__releases annotations (Al Stone) [1865698 1851555] - [acpi] ACPI / battery: Cleanup Lenovo Ideapad Miix 320 DMI table entry (Al Stone) [1865698 1851555] - [acpi] ACPI / AC: Cleanup DMI quirk table (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Simplify acpi_ec_add() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Drop AE_NOT_FOUND special case from ec_install_handlers() (Al Stone) [1865698 1851555] - [acpi] ACPI: EC: Avoid passing redundant argument to functions (Al Stone) [1865698 1851555] - [include] ACPI: NUMA: Up-level "map to online node" functionality (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a couple of typos (Al Stone) [1865698 1851555] - [acpi] ACPICA: use acpi_size instead of u32 for prefix_path_length (Al Stone) [1865698 1851555] - [acpi] ACPICA: cast length arguement to acpi_ns_build_normalized_path() as u32 (Al Stone) [1865698 1851555] - [acpi] ACPICA: cast the result of the pointer difference to u32 (Al Stone) [1865698 1851555] - [acpi] ACPICA: Table Manager: Update comments in a function header (Al Stone) [1865698 1851555] - [acpi] ACPICA: Enable sleep button on ACPI legacy wake (Al Stone) [1865698 1851555] - [acpi] ACPICA: Fix a comment "enable" fixed events -> "disable" all fixed events (Al Stone) [1865698 1851555] - [acpi] ACPICA: ASL-ASL+ converter: make root file a parameter for cv_init_file_tree (Al Stone) [1865698 1851555] - [acpi] ACPICA: ASL-ASL+ converter: remove function parameters from cv_init_file_tree() (Al Stone) [1865698 1851555] - [acpi] ACPI: Add new tiny-power-button driver to directly signal init (Al Stone) [1865698 1851555] - [acpi] ACPI: button: move HIDs to acpi/button.h (Al Stone) [1865698 1851555] - [acpi] ACPI: treewide: remove redundant IS_ERR() before error code check (Al Stone) [1865698 1851555] - [dma] dmaengine: idma64: Use actual device for DMA transfers (Steve Best) [1784118] - [platform] platform/x86: dell-smbios-wmi: Correct a memory leak (David Arcari) [1898516] - [x86] x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned (Aristeu Rozanski) [1850800]- [x86] kvm: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: use kvm_complete_insn_gp in emulating RDMSR/WRMSR (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: remove bogus #GP injection (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Fix split-irqchip vs interrupt injection window request (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: fix error return code in svm_create_vcpu() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Fix offset computation bug in __sev_dbg_decrypt() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use cpuid to determine max gfn (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: mmu: Fix SPTE encoding of MMIO generation upper half (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nvmx: Sync unsync'd vmcs02 state to vmcs12 on migration (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: tracing: Fix unmatched kvm_entry and kvm_exit events (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: documentation: Update description of KVM_{GET, CLEAR}_DIRTY_LOG (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: get smi pending status correctly (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in intel_arch_events[] (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/pmu: Fix UBSAN shift-out-of-bounds warning in intel_pmu_refresh() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Add more protection against undefined behavior in rsvd_bits() (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: documentation: Fix spec for KVM_CAP_ENABLE_CAP_VM (Paolo Bonzini) [1904054 1906893 1904128] - [documentation] kvm: Forbid the use of tagged userspace addresses for memslots (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: allow KVM_REQ_GET_NESTED_STATE_PAGES outside guest mode for VMX (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: cancel KVM_REQ_GET_NESTED_STATE_PAGES on nested vmexit (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: mark vmcb as dirty when forcingly leaving the guest mode (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: correctly restore nested_run_pending on migration (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Clarify TDP MMU page list invariants (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Ensure TDP MMU roots are freed after yield (Paolo Bonzini) [1904054 1906893 1904128] - [security] apparmor: remove duplicate macro list_entry_is_head() (Paolo Bonzini) [1904054 1906893 1904128] - [kernel] linux/list.h: add a macro to test if entry is pointing to the head (Paolo Bonzini) [1904054 1906893 1904128] - [virt] kvm: check tlbs_dirty directly (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: change in pv_eoi_get_pending() to make code more readable (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: fix shift out of bounds reported by UBSAN (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Optimize not-present/MMIO SPTE check in get_mmio_spte() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use raw level to index into MMIO walks' sptes array (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Get root level from walkers when retrieving MMIO SPTE (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Remove the call to sev_platform_status() during setup (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Don't flush cache if hardware enforces cache coherency across encryption domains (Paolo Bonzini) [1904054 1906893 1904128] - [x86] cpu: Add hardware-enforced cache coherency as a CPUID feature (Paolo Bonzini) [1904054 1906893 1904128] - [x86] Remove X86_FEATURE_MFENCE_RDTSC (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm/vmx: Use TEST REG, REG instead of CMP $0, REG in vmenter.S (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: ignore SIPIs that are received while not in wait-for-sipi state (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: nsvm: set fixed bits by hand (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Add TDP MMU SPTE changed trace point (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86/mmu: Add existing trace points to TDP MMU (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: check CR4 changes against vcpu->arch (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: adjust SEV for commit 7e8e6eed75e (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Move asid to vcpu_svm (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: remove unused macro HV_CLOCK_SIZE (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Sink cpuid update into vendor-specific set_cr4 functions (Paolo Bonzini) [1904054 1906893 1904128] - [virt] kvm: remove kvm_clear_guest_page (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Don't track dirty for KVM_SET_[TSS_ADDR|IDENTITY_MAP_ADDR] (Paolo Bonzini) [1904054 1906893 1904128] - [tools] kvm: selftests: test KVM_GET_SUPPORTED_HV_CPUID as a system ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: hyper-v: allow KVM_GET_SUPPORTED_HV_CPUID as a system ioctl (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: emulate wait-for-SIPI and SIPI-VMExit (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: fix apic_accept_events vs check_nested_events (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Return bool instead of int for CR4 and SREGS validity checks (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: x86: Move vendor CR4 validity check to dedicated kvm_x86_ops hook (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: svm: Drop VMXE check from svm_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: vmx: Drop explicit 'nested' check from vmx_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [x86] kvm: vmx: Drop guest CPUID check for VMXE in vmx_set_cr4() (Paolo Bonzini) [1904054 1906893 1904128] - [netdrv] net/mlx5e: Update max_opened_tc also when channels are closed (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Fix leak upon failure of rule creation (Alaa Hleihel) [1918379 1914766] - [netdrv] net/mlx5: Fix function calculation for page trees (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used (Alaa Hleihel) [1918379] - [netdrv] mlx5: Mark BlueField-3 as unsupported device (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Enable host PF HCA after eswitch is initialized (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: Rename peer_pf to host_pf (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: Make API mlx5_core_is_ecpf accept const pointer (Alaa Hleihel) [1923760 1918379] - [netdrv] net/mlx5: simplify the return expression of mlx5_ec_init() (Alaa Hleihel) [1918379] - [infiniband] IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Use strict get/set operations for obj_id (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation (Alaa Hleihel) [1918379] - [include] net/mlx5: Expose ifc bits for query modify header (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: CT: Fix incorrect removal of tuple_nat_node from nat rhashtable (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Revert parameters on errors when changing MTU and LRO state without reset (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Revert parameters on errors when changing trust state without reset (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Correctly handle changing the number of queues when the interface is down (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Fix CT rule + encap slow path offload and deletion (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Disable hw-tc-offload when MLX5_CLS_ACT config is disabled (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Maintain separate page trees for ECPF and PF functions (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Fix IPSEC stats (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Reduce tc unsupported key print level (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: free page before return (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: E-switch, Fix rate calculation for overflow (Alaa Hleihel) [1918379] - [netdrv] net/mlx5: Fix memory leak on flow table creation error flow (Alaa Hleihel) [1918379] - [infiniband] Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" (Alaa Hleihel) [1918379] - [infiniband] RDMA/mlx5: Fix wrong free of blue flame register on error (Alaa Hleihel) [1918379] - [infiniband] IB/mlx5: Fix error unwinding when set_has_smi_cap fails (Alaa Hleihel) [1918379] - [netdrv] net/mlx5e: Add missing capability check for uplink follow (Alaa Hleihel) [1918379] - [netdrv] iavf: Use kzalloc for allocating only one thing (Stefan Assmann) [1838735] - [netdrv] iavf: fix double-release of rtnl_lock (Stefan Assmann) [1838735] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Stefan Assmann) [1838735] - [netdrv] iavf: Fix updating statistics (Stefan Assmann) [1838735] - [netdrv] iavf: fix error return code in iavf_init_get_resources() (Stefan Assmann) [1838735] - [netdrv] ethernet/intel: Convert fallthrough code comments (Stefan Assmann) [1838735] - [netdrv] net/intel: remove driver versions from Intel drivers (Stefan Assmann) [1838735] - [net] Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data (Gopal Tiwari) [1916057] - [fs] fs/fs-writeback.c: fix kernel-doc warning (Waiman Long) [1918047] - [include] memcg: only record foreign writebacks with dirty pages when memcg is not disabled (Waiman Long) [1918047] - [trace] writeback: don't access page->mapping directly in track_foreign_dirty TP (Waiman Long) [1918047] - [fs] writeback: add tracepoints for cgroup foreign writebacks (Waiman Long) [1918047] - [mm] writeback, memcg: Implement foreign dirty flushing (Waiman Long) [1918047] - [mm] mm: remove the account_page_dirtied export (Waiman Long) [1918047] - [fs] writeback, memcg: Implement cgroup_writeback_by_id() (Waiman Long) [1918047] - [mm] writeback: Separate out wb_get_lookup() from wb_get_create() (Waiman Long) [1918047] - [include] bdi: Add bdi->id (Waiman Long) [1918047] - [mm] mm/page-writeback: introduce tracepoint for wait_on_page_writeback() (Waiman Long) [1918047] - [fs] kernfs: fix barrier usage in __kernfs_new_node() (Waiman Long) [1918047] - [fs] kernfs: Allocating memory for kernfs_iattrs with kmem_cache (Waiman Long) [1918047] - [fs] fs: Convert writeback to XArray (Waiman Long) [1918047] - [mm] mm: Convert page-writeback to XArray (Waiman Long) [1918047] - [mm] mm/filemap: add missing mem_cgroup_uncharge() to __add_to_page_cache_locked() (Waiman Long) [1917681] - [mm] mm/slub: fix panic in slab_alloc_node() (Oleksandr Natalenko) [1921056] - [net] xfrm: interface: fix the priorities for ipip and ipv6 tunnels (Sabrina Dubroca) [1923269] - [net] netfilter: ipset: fix shift-out-of-bounds in htable_bits() (Antoine Tenart) [1918684] - [net] tcp: refine tcp_pacing_delay() for very low pacing rates (Antoine Tenart) [1905897] - [net] ensure correct skb->tstamp in various fragmenters (Antoine Tenart) [1905897] - [net] tcp: repaired skbs must init their tso_segs (Antoine Tenart) [1905897] - [net] tcp: address problems caused by EDT misshaps (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: ensure maxrate fq parameter applies to EDT flows (Antoine Tenart) [1905897] - [net] tcp: refine tcp_tso_should_defer() after EDT adoption (Antoine Tenart) [1905897] - [net] tcp_bbr: update comments to reflect pacing_margin_percent (Antoine Tenart) [1905897] - [net] tcp: add tcp_reset_xmit_timer() helper (Antoine Tenart) [1905897] - [net] tcp: fix TCP_REPAIR xmit queue setup (Antoine Tenart) [1905897] - [net] tcp_bbr: adjust TCP BBR for departure time pacing (Antoine Tenart) [1905897] - [net] tcp_bbr: fix typo in bbr_pacing_margin_percent (Antoine Tenart) [1905897] - [net] tcp: optimize tcp internal pacing (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: no longer use skb_is_tcp_pure_ack() (Antoine Tenart) [1905897] - [net] tcp: mitigate scheduling jitter in EDT pacing model (Antoine Tenart) [1905897] - [net] tcp: do not change tcp_wstamp_ns in tcp_mstamp_refresh (Antoine Tenart) [1905897] - [net] tcp/fq: move back to CLOCK_MONOTONIC (Antoine Tenart) [1905897] - [net] tcp: switch tcp_internal_pacing() to tcp_wstamp_ns (Antoine Tenart) [1905897] - [net] tcp: switch tcp and sch_fq to new earliest departure time model (Antoine Tenart) [1905897] - [net] tcp: switch internal pacing timer to CLOCK_TAI (Antoine Tenart) [1905897] - [net] tcp: provide earliest departure time in skb->tstamp (Antoine Tenart) [1905897] - [net] tcp: add tcp_wstamp_ns socket field (Antoine Tenart) [1905897] - [net] net_sched: sch_fq: switch to CLOCK_TAI (Antoine Tenart) [1905897] - [net] tcp: introduce tcp_skb_timestamp_us() helper (Antoine Tenart) [1905897] - [net] tcp: switch tcp_clock_ns() to CLOCK_TAI base (Antoine Tenart) [1905897] - [drm] drm/nouveau/disp/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/dmaobj/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/gpio/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/bar/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/mmu/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/timer/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/fb/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/imem/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/privring/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/mc/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/devinit/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/bios/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/pci/ga10: initial support (Ben Skeggs) [1916583] - [drm] drm/nouveau/core: recognise GA10 (Ben Skeggs) [1916583] - [drm] drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 (Ben Skeggs) [1916583] - [drm] drm/nouveau/mmu: fix vram heap sizing (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gk110-: disable hw-initiated dpcd reads (Ben Skeggs) [1916583] - [drm] drm/nouveau/i2c/gk110: split out from i2c/gk104 (Ben Skeggs) [1916583] - [drm] drm/nouveau/privring: ack interrupts the same way as RM (Ben Skeggs) [1916583] - [drm] drm/nouveau/bios: fix issue shadowing expansion ROMs (Ben Skeggs) [1916583] - [netdrv] net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: Fix two double free cases (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: ethtool, Fix restriction of autoneg with 56G (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: In skb build skip setting mark in switchdev mode (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: E-Switch, fix changing vf VLANID (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: Fix SWP offsets when vlan inserted by driver (Alaa Hleihel) [1899457 1819580] - [netdrv] net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: Check if lag is supported before creating one (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Fix MR cache memory leak (Alaa Hleihel) [1899457] - [netdrv] net/mlx5: Fix passing zero to 'PTR_ERR' (Alaa Hleihel) [1899457] - [netdrv] net/mlx5e: remove unnecessary memset (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Assign dev to DM MR (Alaa Hleihel) [1899457] - [infiniband] RDMA/mlx5: Remove mlx5_ib_mr->npages (Alaa Hleihel) [1899457] - [documentation] scsi: fc: Update documentation of sysfs nodes for FPIN stats (Ewan Milne) [1859967] - [scsi] scsi: fc: Add mechanism to update FPIN signal statistics (Ewan Milne) [1859967] - [scsi] scsi: fc: Parse FPIN packets and update statistics (Ewan Milne) [1859967] - [scsi] scsi: fc: Add FPIN statistics to fc_host and fc_rport objects (Ewan Milne) [1859967] - [uapi] scsi: fc: Update formal FPIN descriptor definitions (Ewan Milne) [1859967] - [scsi] scsi: smartpqi: Update version to 1.2.16-012 (Don Brace) [1890727 1889844] - [scsi] scsi: smartpqi: Correct pqi_sas_smp_handler busy condition (Don Brace) [1890727 1889844] - [scsi] scsi: smartpqi: Correct driver removal with HBA disks (Don Brace) [1890727 1889844] - [target] scsi: target: Fix XCOPY NAA identifier lookup (Maurizio Lombardi) [1900463] {CVE-2020-28374} - [x86] perf/x86/intel/uncore: Add Comet Lake support (Michael Petlan) [1873271]- [net] bridge: Fix a warning when del bridge sysfs (Davide Caratti) [1917518] - [net] bridge: Avoid infinite loop when suppressing NS messages with invalid options (Davide Caratti) [1917518] - [net] bridge: fix stale eth hdr pointer in br_dev_xmit (Davide Caratti) [1917518] - [net] SUNRPC: Handle 0 length opaque XDR object data properly (Dave Wysochanski) [1906400] - [net] SUNRPC: Move simple_get_bytes and simple_get_netobj into private header (Dave Wysochanski) [1906400] - [block] nbd: make the config put is called before the notifying the waiter (Ming Lei) [1743857] - [block] nbd: restore default timeout when setting it to zero (Ming Lei) [1743857] - [kernel] rcu/tree: Defer kvfree_rcu() allocation to a clean context (Waiman Long) [1922453] - [kernel] cgroup: Fix memory leak when parsing multiple source parameters (Waiman Long) [1922453] - [kernel] cpuset: fix race between hotplug work and later CPU offline (Waiman Long) [1922453] - [kernel] cgroup: freezer: call cgroup_enter_frozen() with preemption disabled in ptrace_stop() (Waiman Long) [1922453] - [kernel] cgroup: freezer: fix frozen state inheritance (Waiman Long) [1922453] - [kernel] locking/lockdep: Cure noinstr fail (Waiman Long) [1922453] - [kernel] tick/nohz: Narrow down noise while setting current task's tick dependency (Waiman Long) [1922453] - [fs] fs: Kill DCACHE_DONTCACHE dentry even if DCACHE_REFERENCED is set (Eric Sandeen) [1921903] - [fs] fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode() (Eric Sandeen) [1921903] - [netdrv] ice: update dev_addr in ice_set_mac_address even if HW filter exists (Jonathan Toppins) [1879318] - [tools] libbpf: Fix uninitialized variable in btf_parse_type_sec (Jiri Olsa) [1922197] - [tools] libbpf: Support BTF loading and raw data output in both endianness (Jiri Olsa) [1922197] - [tools] selftests/bpf: Test BTF writing APIs (Jiri Olsa) [1922197] - [tools] libbpf: Add btf__str_by_offset() as a more generic variant of name_by_offset (Jiri Olsa) [1922197] - [tools] libbpf: Add BTF writing APIs (Jiri Olsa) [1922197] - [tools] libbpf: Add btf__new_empty() to create an empty BTF object (Jiri Olsa) [1922197] - [tools] libbpf: Allow modification of BTF and add btf__add_str API (Jiri Olsa) [1922197] - [tools] libbpf: Extract generic string hashing function for reuse (Jiri Olsa) [1922197] - [tools] libbpf: Generalize common logic for managing dynamically-sized arrays (Jiri Olsa) [1922197] - [tools] libbpf: Remove assumption of single contiguous memory for BTF data (Jiri Olsa) [1922197] - [tools] libbpf: Refactor internals of BTF type index (Jiri Olsa) [1922197] - [tools] libbpf: Remove any use of reallocarray() in libbpf (Jiri Olsa) [1922197] - [tools] libbpf: Clean up and improve CO-RE reloc logging (Jiri Olsa) [1922197] - [tools] libbpf: Improve error logging for mismatched BTF kind cases (Jiri Olsa) [1922197] - [scsi] scsi: qla2xxx: Fix mailbox Ch erroneous error (Nilesh Javali) [1894578] - [sound] ALSA: ASoC: Intel: tgl: remove sof_fw_filename set for tgl_3_in_1_default (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: allow soundwire use desc->default_fw_filename (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: sof_sdw: set proper flags for Dell TGL-H SKU 0A5E (Jaroslav Kysela) [1783462] - [sound] ALSA: hda: intel-dsp-config: add PCI id for TGL-H (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Properly unregister DAI on removal (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Fix memory corruption in soc_tplg_denum_create_values() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Add missing size check (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Fix wrong size check (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Simplify remove_widget function (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove empty functions (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Change allocations to resource managed (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Unify all device references (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove unused functions from topology API (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98926: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98925: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98926: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98925: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max9867: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: codecs: max98373-sdw: align regmap use with other codecs (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98371: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98390: Fix error codes in max98390_dsm_init() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98371: drop driver pm=NULL assignment (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98095: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98373: don't access volatile registers in bias level off (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: max98090: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: pcm: DRAIN support reactivation (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt711: mutex between calibration and power state changes (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt711: remove warnings (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt5660: skip of_device_id table when !CONFIG_OF (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: codecs: rt*.c: remove useless pointer cast (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015p: delay 300ms after SDB pulling high for calibration (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015p: move SDB control from trigger to DAPM (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: check the return value of regmap_read during i2c probe (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: modification for calibration to get better performance (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: support TDM slot configuration (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: qcom: Fix build failure when slimbus is module (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: master: use pm_runtime_set_active() on add (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: intel: fix another unused-function warning (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: only clear valid DPN interrupts (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: only clear valid DP0 interrupts (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: registers: add definitions for clearable interrupt fields (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: reset slave_notify status at each loop (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: bus: add comments to explain interrupt loop filter (Jaroslav Kysela) [1783462] - [sound] ALSA: soundwire: SDCA: detect sdca_cascade interrupt (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: update TDM slot_width (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for tgl_rt1011_rt5682 (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: add dpcm_capture flag for speaker_smart_amp (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add quirk for Dooly (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for cml_rt1015_rt5682 (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: sof_sdw: add quirk for new TigerLake-SDCA device (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: add hw specific PCM constraints (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: loader: do not warn about unknown firmware headers (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: Remove multistep topology loading (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: sof-audio: remove goto used for force-nocodec support (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ops: modify the signature of stall op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: topology: remove const in sizeof() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: use inclusive language for bclk and fsync (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: topology: use inclusive language for bclk and fsync (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ops: add parse_platform_ext_manifest() op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: relax PCM period and buffer size constraints (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: nocodec: modify DAI link definitions (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: trace: Add runtime trace filtering mechanism (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Add `memory_info` file to debugfs (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Change section comment for SOF_IPC_TEST_ (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Improve code alignment in header.h (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: IPC: fix implicit type overflow (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ext_manifest: Parse firmware config dictionary (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: fix the condition passed to sof_dev_dbg_or_err (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: modify the SOF_DBG flags (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated status dump (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: ext_manifest: parse cavs extra config data elem (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Intel: hda: define parse_platform_ext_manifest op (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: control: override volume info callback (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: control: remove const in sizeof() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Add .prepare/.complete callbacks (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: SOF: Activate runtime PM with SOF OF device (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: add missing ret=0 at soc_pcm_open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: ignore un-needed mutex_unlock() case on soc_pcm_open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_component_module/open() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_dai_startup() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-pcm: add soc_pcm_clean() and call it from soc_pcm_open/close() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-link: add mark for snd_soc_link_startup/shutdown() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-dai: add mark for snd_soc_dai_startup/shutdown() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-component: add mark for snd_soc_pcm_component_pm_runtime_get/put() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: soc-component: add mark for soc_pcm_components_open/close() (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: KMB: Fix S24_LE configuration (Jaroslav Kysela) [1783462] - [sound] ALSA: ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled clock (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt5682: change SAR voltage threshold (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: increase the time to detect BCLK (Jaroslav Kysela) [1783462] - [sound] ALSA: ASoC: rt1015: add delay to fix pop noise from speaker (Jaroslav Kysela) [1783462] - [powerpc] powerpc/tm: Avoid machine crash on rt_sigreturn() (Gustavo Duarte) [1860550] - [net] udp: Prevent reuseport_select_sock from reading uninitialized socks (Guillaume Nault) [1917953] - [net] flow_offload: Fix memory leak for indirect flow block (Guillaume Nault) [1917953] - [net] sock: set sk_err to ee_errno on dequeue from errq (Guillaume Nault) [1917953] - [net] devlink: Make sure devlink instance and port are in same net namespace (Guillaume Nault) [1917953] - [net] devlink: Hold rtnl lock while reading netdev attributes (Guillaume Nault) [1917953] - [net] devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill() (Guillaume Nault) [1917953] - [net] tipc: fix NULL deref in tipc_link_xmit() (Xin Long) [1918657] - [net] tipc: prevent possible null deref of link (Xin Long) [1918657] - [net] tipc: fix incompatible mtu of transmission (Xin Long) [1918657] - [net] tipc: fix memory leak in tipc_topsrv_start() (Xin Long) [1918657] - [net] tipc: add stricter control of reserved service types (Xin Long) [1918657] - [tools] selftests/bpf/test_offload.py: Filter bpftool internal map when counting maps (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Reset ethtool features after failed setting (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Fix expected case of extack messages (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Only check verifier log on verification fails (Jiri Benc) [1882709] - [netdrv] netdevsim: Add debugfs toggle to reject BPF programs in verifier (Jiri Benc) [1882709] - [tools] selftests/bpf/test_offload.py: Remove check for program load flags match (Jiri Benc) [1882709] - [net] xdp: Remove the xdp_attachment_flags_ok() callback (Jiri Benc) [1882709] - [net] net, xsk: Avoid taking multiple skbuff references (Jiri Benc) [1882709] - [net] increment xmit_recursion level in dev_direct_xmit() (Jiri Benc) [1882709] - [kernel] usermodehelper: reset umask to default before executing user process (Jiri Benc) [1882709] - [net] xsk: Do not discard packet when NETDEV_TX_BUSY (Jiri Benc) [1882709] - [net] xsk: Fix number of pinned pages/umem size discrepancy (Jiri Benc) [1882709] - [include] netdevice.h: fix xdp_state kernel-doc warning (Jiri Benc) [1882709] - [net] bpf: xdp: Fix XDP mode when no mode flags specified (Jiri Benc) [1882709] - [net] bpf: Fix XDP FD-based attach/detach logic around XDP_FLAGS_UPDATE_IF_NOEXIST (Jiri Benc) [1882709] - [kernel] add a kernel_wait helper (Jiri Benc) [1882709] - [tools] selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links (Jiri Benc) [1882709] - [net] bpf: Add support for forced LINK_DETACH command (Jiri Benc) [1882709] - [kernel] bpf: Fix build without CONFIG_NET when using BPF XDP link (Jiri Benc) [1882709] - [net] xdp: Prevent kernel-infoleak in xsk_getsockopt() (Jiri Benc) [1882709] - [net] udp, bpf: Ignore connections in reuseport group after BPF sk lookup (Jiri Benc) [1882709] - [net] Revert "net: optimize the sockptr_t for unified kernel/user address spaces" (Jiri Benc) [1882709] - [net] improve the user pointer check in init_user_sockptr (Jiri Benc) [1882709] - [include] net: remove sockptr_advance (Jiri Benc) [1882709] - [include] net: make sockptr_is_null strict aliasing safe (Jiri Benc) [1882709] - [net] optimize the sockptr_t for unified kernel/user address spaces (Jiri Benc) [1882709] - [net] bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t (Jiri Benc) [1882709] - [net] switch copy_bpf_fprog_from_user to sockptr_t (Jiri Benc) [1882709] - [include] net: add a new sockptr_t type (Jiri Benc) [1882709] - [net] bpfilter: reject kernel addresses (Jiri Benc) [1882709] - [net] bpfilter: split __bpfilter_process_sockopt (Jiri Benc) [1882709] - [net] bpfilter: fix up a sparse annotation (Jiri Benc) [1882709] - [net] udp: Don't discard reuseport selection when group has connections (Jiri Benc) [1882709] - [net] bpf, xdp: Remove XDP_QUERY_PROG and XDP_QUERY_PROG_HW XDP commands (Jiri Benc) [1882709] - [tools] selftests/bpf: Add BPF XDP link selftests (Jiri Benc) [1882709] - [net] bpf: Implement BPF XDP link-specific introspection APIs (Jiri Benc) [1882709] - [net] bpf, xdp: Implement LINK_UPDATE for BPF XDP link (Jiri Benc) [1882709] - [net] bpf, xdp: Add bpf_link-based XDP attachment API (Jiri Benc) [1882709] - [net] bpf, xdp: Extract common XDP program attachment logic (Jiri Benc) [1882709] - [net] bpf, xdp: Maintain info on attached XDP BPF programs in net_device (Jiri Benc) [1882709] - [kernel] bpf, netns: Fix build without CONFIG_INET (Jiri Benc) [1882709] - [net] udp6: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] udp6: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] udp: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] udp: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] ipv6: remove unused arg exact_dif in compute_score (Jiri Benc) [1882709] - [net] ipv4: remove unused arg exact_dif in compute_score (Jiri Benc) [1882709] - [net] udp: Remove unused variable/function (exact_dif) (Jiri Benc) [1882709] - [net] udp: Remove unused parameter (exact_dif) (Jiri Benc) [1882709] - [net] udp: only choose unbound UDP socket for multicast when not in a VRF (Jiri Benc) [1882709] - [net] ensure unbound datagram socket to be chosen when not in a VRF (Jiri Benc) [1882709] - [net] ensure unbound stream socket to be chosen when not in a VRF (Jiri Benc) [1882709] - [net] allow binding socket in a VRF when there's an unbound socket (Jiri Benc) [1882709] - [net] udp6: drop unneeded likely() call around IS_ERR() (Jiri Benc) [1882709] - [net] udp: drop unneeded likely() call around IS_ERR() (Jiri Benc) [1882709] - [net] inet6: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] inet6: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] inet: Run SK_LOOKUP BPF program on socket lookup (Jiri Benc) [1882709] - [net] inet: Extract helper for selecting socket from reuseport group (Jiri Benc) [1882709] - [net] simplify cBPF setsockopt compat handling (Jiri Benc) [1882709] - [net] explicitly include in net/core/sock.c (Jiri Benc) [1882709] - [include] compat: provide compat_ptr() on all architectures (Jiri Benc) [1882709] - [net] socket: move compat timeout handling into sock.c (Jiri Benc) [1882709] - [include] xdp: introduce xdp_get_shared_info_from_{buff, frame} utility routines (Jiri Benc) [1882709] - [net] xsk: Add xdp statistics to xsk_diag (Jiri Benc) [1882709] - [net] xsk: Add new statistics (Jiri Benc) [1882709] - [net] bpfilter: Initialize pos variable (Jiri Benc) [1882709] - [kernel] umd: Stop using split_argv (Jiri Benc) [1882709] - [kernel] umd: Remove exit_umh (Jiri Benc) [1882709] - [net] bpfilter: Take advantage of the facilities of struct pid (Jiri Benc) [1882709] - [kernel] exit: Factor thread_group_exited out of pidfd_poll (Jiri Benc) [1882709] - [kernel] umd: Track user space drivers with struct pid (Jiri Benc) [1882709] - [net] bpfilter: Move bpfilter_umh back into init data (Jiri Benc) [1882709] - [fs] exec: Remove do_execve_file (Jiri Benc) [1882709] - [kernel] umh: Stop calling do_execve_file (Jiri Benc) [1882709] - [kernel] umd: Transform fork_usermode_blob into fork_usermode_driver (Jiri Benc) [1882709] - [kernel] umd: Rename umd_info.cmdline umd_info.driver_name (Jiri Benc) [1882709] - [kernel] umd: For clarity rename umh_info umd_info (Jiri Benc) [1882709] - [kernel] umh: Separate the user mode driver and the user mode helper support (Jiri Benc) [1882709] - [kernel] umh: Move setting PF_UMH into umh_pipe_setup (Jiri Benc) [1882709] - [kernel] umh: Remove call_usermodehelper_setup_file. (Jiri Benc) [1882709] - [kernel] umh: Rename the user mode driver helpers for clarity (Jiri Benc) [1882709] - [kernel] umh: Capture the pid in umh_pipe_setup (Jiri Benc) [1882709] - [net] bpf: Add SO_KEEPALIVE and related options to bpf_setsockopt (Jiri Benc) [1882709] - [net] tcp: Expose tcp_sock_set_keepidle_locked (Jiri Benc) [1882709] - [net] tcp: add tcp_sock_set_keepidle (Jiri Benc) [1882709] - [net] sock: Move sock_valbool_flag to header (Jiri Benc) [1882709] - [net] spread "enum sock_flags" (Jiri Benc) [1882709] - [tools] bpf: Use local copy of headers including uapi/linux/filter.h (Jiri Benc) [1882709] - [net] bpfilter: fix iptables failure if bpfilter_umh is disabled (Jiri Benc) [1882709] - [s390] s390/crypto: add arch_get_random_long() support (Vladis Dronov) [1904274] - [net] net/smc: Add support for obtaining SMCR device list (Philipp Rudo) [1868684] - [net] net/smc: Add support for obtaining SMCD device list (Philipp Rudo) [1868684] - [net] net/smc: Add SMC-D Linkgroup diagnostic support (Philipp Rudo) [1868684] - [net] net/smc: Introduce SMCR get link command (Philipp Rudo) [1868684] - [net] net/smc: Introduce SMCR get linkgroup command (Philipp Rudo) [1868684] - [net] net/smc: Add support for obtaining system information (Philipp Rudo) [1868684] - [net] net/smc: Introduce generic netlink interface for diagnostic purposes (Philipp Rudo) [1868684] - [net] net/smc: Refactor smc ism v2 capability handling (Philipp Rudo) [1868684] - [net] net/smc: Add diagnostic information to link structure (Philipp Rudo) [1868684] - [net] net/smc: Add diagnostic information to smc ib-device (Philipp Rudo) [1868684] - [net] net/smc: Add link counters for IB device ports (Philipp Rudo) [1868684] - [net] net/smc: Add connection counters for links (Philipp Rudo) [1868684] - [net] net/smc: Use active link of the connection (Philipp Rudo) [1868684] - [net] net/smc: use helper smc_conn_abort() in listen processing (Philipp Rudo) [1868684] - [net] sched: sch_frag: add generic packet fragment support. (Marcelo Leitner) [1909262] - [net] sched: act_mirred: refactor the handle of xmit (Marcelo Leitner) [1909262] - [net] sched: fix miss init the mru in qdisc_skb_cb (Marcelo Leitner) [1909262] - [net] openvswitch: using ip6_fragment in ipv6_stub (Marcelo Leitner) [1909262] - [net] ipv6: add ipv6_fragment hook in ipv6_stub (Marcelo Leitner) [1909262] - [x86] x86/resctrl: Fix spelling in user-visible warning messages (Puneet Sethi) [1717078] - [x86] x86/resctrl: Enable user to view thread or core throttling mode (Puneet Sethi) [1717078] - [x86] x86/resctrl: Enumerate per-thread MBA controls (Puneet Sethi) [1717078] - [x86] cacheinfo: Move resctrl's get_cache_id() to the cacheinfo header file (Puneet Sethi) [1717078] - [x86] x86/resctrl: Add struct rdt_cache::arch_has_{sparse, empty}_bitmaps (Puneet Sethi) [1717078] - [x86] x86/resctrl: Merge AMD/Intel parse_bw() calls (Puneet Sethi) [1717078] - [x86] x86/resctrl: Add struct rdt_membw::arch_needs_linear to explain AMD/Intel MBA difference (Puneet Sethi) [1717078] - [x86] x86/resctrl: Use is_closid_match() in more places (Puneet Sethi) [1717078] - [x86] x86/resctrl: Use container_of() in delayed_work handlers (Puneet Sethi) [1717078] - [x86] x86/resctrl: Fix stale comment (Puneet Sethi) [1717078] - [x86] x86/resctrl: Remove struct rdt_membw::max_delay (Puneet Sethi) [1717078] - [x86] x86/resctrl: Remove unused struct mbm_state::chunks_bw (Puneet Sethi) [1717078] - [x86] x86/resctrl: Fix memory bandwidth counter width for AMD (Puneet Sethi) [1845633 1717078] - [documentation] Documentation: x86: fix some typos (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Clarify MBA takes MB as referring to mba_sc (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Remove cdpl2 unspported statement and fix capitalisation (Puneet Sethi) [1717078] - [documentation] Documentation: x86: Contiguous cbm isn't all X86 (Puneet Sethi) [1717078] - [documentation] Documentation: x86: convert resctrl_ui.txt to reST (Puneet Sethi) [1717078] - [kernel] livepatch: Make klp_apply_object_relocs static (Yannick Cote) [1866433] - [kernel] livepatch: Prevent module-specific KLP rela sections from referencing vmlinux symbols (Yannick Cote) [1866433] - [x86] livepatch: Remove .klp.arch (Yannick Cote) [1866433] - [kernel] livepatch: Apply vmlinux-specific KLP relocations early (Yannick Cote) [1866433] - [kernel] livepatch: Disallow vmlinux.ko (Yannick Cote) [1866433]- [sound] ALSA: hda: Add Cometlake-R PCI ID (Jaroslav Kysela) [1915650] - [fs] xfs: don't drain buffer lru on freeze and read-only remount (Brian Foster) [1903387] - [fs] xfs: rename xfs_wait_buftarg() to xfs_buftarg_drain() (Brian Foster) [1903387] - [net] mptcp: implement delegated actions (Paolo Abeni) [1892375] - [net] mptcp: schedule work for better snd subflow selection (Paolo Abeni) [1892375] - [net] mptcp: do not queue excessive data on subflows (Paolo Abeni) [1892375] - [net] mptcp: re-enable sndbuf autotune (Paolo Abeni) [1892375] - [net] mptcp: always graft subflow socket to parent (Paolo Abeni) [1892375] - [include] lockdep: Introduce in_softirq lockdep assert (Paolo Abeni) [1892375] - [net] selinux: handle MPTCP consistently with TCP (Paolo Abeni) [1892375] - [net] mptcp: fix locking in mptcp_disconnect() (Paolo Abeni) [1892375] - [net] mptcp: better msk-level shutdown. (Paolo Abeni) [1892375] - [net] mptcp: more strict state checking for acks (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add the MP_PRIO testcases (Paolo Abeni) [1892375] - [net] mptcp: add the mibs for MP_PRIO (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add set_flags command in pm_nl_ctl (Paolo Abeni) [1892375] - [net] mptcp: add set_flags command in PM netlink (Paolo Abeni) [1892375] - [net] mptcp: add the incoming MP_PRIO support (Paolo Abeni) [1892375] - [net] mptcp: add the outgoing MP_PRIO support (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add testcases for setting the address ID (Paolo Abeni) [1892375] - [net] mptcp: add the address ID assignment bitmap (Paolo Abeni) [1892375] - [net] mptcp: cap forward allocation to 1M (Paolo Abeni) [1892375] - [net] mptcp: fix pending data accounting (Paolo Abeni) [1892375] - [net] mptcp: push pending frames when subflow has free space (Paolo Abeni) [1892375] - [net] mptcp: properly annotate nested lock (Paolo Abeni) [1892375] - [net] mptcp: fix security context on server socket (Paolo Abeni) [1892375] - [net] mptcp: clear use_ack and use_map when dropping other suboptions (Paolo Abeni) [1892375] - [net] mptcp: let MPTCP create max size skbs (Paolo Abeni) [1892375] - [net] mptcp: pm: simplify select_local_address() (Paolo Abeni) [1892375] - [net] mptcp: parse and act on incoming FASTCLOSE option (Paolo Abeni) [1892375] - [net] mptcp: hold mptcp socket before calling tcp_done (Paolo Abeni) [1892375] - [net] mptcp: use MPTCPOPT_HMAC_LEN macro (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add the flush addrs testcase (Paolo Abeni) [1892375] - [net] mptcp: remove address when netlink flushes addrs (Paolo Abeni) [1892375] - [net] mptcp: attach subflow socket to parent cgroup (Paolo Abeni) [1892375] - [net] mptcp: be careful on subflows shutdown (Paolo Abeni) [1892375] - [net] mptcp: plug subflow context memory leak (Paolo Abeni) [1892375] - [net] mptcp: link MPC subflow into msk only after accept (Paolo Abeni) [1892375] - [net] mptcp: use the variable sk instead of open-coding (Paolo Abeni) [1892375] - [net] mptcp: rename add_addr_signal and mptcp_add_addr_status (Paolo Abeni) [1892375] - [net] mptcp: drop rm_addr_signal flag (Paolo Abeni) [1892375] - [net] mptcp: print out port and ahmac when receiving ADD_ADDR (Paolo Abeni) [1892375] - [net] mptcp: add port parameter for mptcp_pm_announce_addr (Paolo Abeni) [1892375] - [net] mptcp: send out dedicated packet for ADD_ADDR using port (Paolo Abeni) [1892375] - [net] mptcp: add the outgoing ADD_ADDR port support (Paolo Abeni) [1892375] - [net] mptcp: use adding up size to get ADD_ADDR length (Paolo Abeni) [1892375] - [net] mptcp: add port support for ADD_ADDR suboption writing (Paolo Abeni) [1892375] - [net] mptcp: unify ADD_ADDR and ADD_ADDR6 suboptions writing (Paolo Abeni) [1892375] - [net] mptcp: unify ADD_ADDR and echo suboptions writing (Paolo Abeni) [1892375] - [net] mptcp: print new line in mptcp_seq_show() if mptcp isn't in use (Paolo Abeni) [1892375] - [net] mptcp: emit tcp reset when a join request fails (Paolo Abeni) [1892375] - [net] tcp: merge 'init_req' and 'route_req' functions (Paolo Abeni) [1892375] - [net] security: add const qualifier to struct sock in various places (Paolo Abeni) [1892375] - [net] mptcp: avoid potential infinite loop in mptcp_recvmsg() (Paolo Abeni) [1892375] - [net] mptcp: use mptcp release_cb for delayed tasks (Paolo Abeni) [1892375] - [net] mptcp: avoid a few atomic ops in the rx path (Paolo Abeni) [1892375] - [net] mptcp: allocate TX skbs in msk context (Paolo Abeni) [1892375] - [net] mptcp: protect the rx path with the msk socket spinlock (Paolo Abeni) [1892375] - [net] mptcp: implement wmem reservation (Paolo Abeni) [1892375] - [net] mptcp: open code mptcp variant for lock_sock (Paolo Abeni) [1892375] - [net] mptcp: fix NULL ptr dereference on bad MPJ (Paolo Abeni) [1892375] - [net] mptcp: be careful on MPTCP-level ack. (Paolo Abeni) [1892375] - [net] mptcp: put reference in mptcp timeout timer (Paolo Abeni) [1892375] - [net] mptcp: refine MPTCP-level ack scheduling (Paolo Abeni) [1892375] - [net] mptcp: track window announced to peer (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add ADD_ADDR IPv6 test cases (Paolo Abeni) [1892375] - [net] mptcp: send out dedicated ADD_ADDR packet (Paolo Abeni) [1892375] - [net] mptcp: change add_addr_signal type (Paolo Abeni) [1892375] - [net] mptcp: keep unaccepted MPC subflow into join list (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add link failure test case (Paolo Abeni) [1892375] - [net] mptcp: skip to next candidate if subflow has unacked data (Paolo Abeni) [1892375] - [net] mptcp: fix state tracking for fallback socket (Paolo Abeni) [1892375] - [net] mptcp: drop WORKER_RUNNING status bit (Paolo Abeni) [1892375] - [net] mptcp: update rtx timeout only if required. (Paolo Abeni) [1892375] - [net] mptcp: send explicit ack on delayed ack_seq incr (Paolo Abeni) [1892375] - [net] mptcp: keep track of advertised windows right edge (Paolo Abeni) [1892375] - [net] mptcp: rework poll+nospace handling (Paolo Abeni) [1892375] - [net] mptcp: try to push pending data on snd una updates (Paolo Abeni) [1892375] - [net] mptcp: move page frag allocation in mptcp_sendmsg() (Paolo Abeni) [1892375] - [net] mptcp: refactor shutdown and close (Paolo Abeni) [1892375] - [net] mptcp: introduce MPTCP snd_nxt (Paolo Abeni) [1892375] - [net] mptcp: add accounting for pending data (Paolo Abeni) [1892375] - [net] mptcp: reduce the arguments of mptcp_sendmsg_frag (Paolo Abeni) [1892375] - [net] mptcp: introduce mptcp_schedule_work (Paolo Abeni) [1892375] - [net] tcp: factor out __tcp_close() helper (Paolo Abeni) [1892375] - [net] mptcp: use tcp_build_frag() (Paolo Abeni) [1892375] - [net] tcp: factor out tcp_build_frag() (Paolo Abeni) [1892375] - [net] tcp: schedule EPOLLOUT after a partial sendmsg (Paolo Abeni) [1892375] - [net] tcp: annotate tp->write_seq lockless reads (Paolo Abeni) [1892375] - [net] mptcp: fix static checker warnings in mptcp_pm_add_timer (Paolo Abeni) [1892375] - [tools] selftests: mptcp: add ADD_ADDR timeout test case (Paolo Abeni) [1892375] - [documentation] networking: mptcp: Add MPTCP sysctl entries (Paolo Abeni) [1892375] - [net] mptcp: add a new sysctl add_addr_timeout (Paolo Abeni) [1892375] - [net] mptcp: split mptcp_clean_una function (Paolo Abeni) [1892375] - [net] tcp: propagate MPTCP skb extensions on xmit splits (Paolo Abeni) [1892375] - [net] mptcp: use _fast lock version in __mptcp_move_skbs (Paolo Abeni) [1892375] - [net] mptcp: adjust mptcp receive buffer limit if subflow has larger one (Paolo Abeni) [1892375] - [net] tcp: fix compile error if !CONFIG_SYSCTL (Paolo Abeni) [1892375] - [net] tcp: add tcp_tx_skb_cache sysctl (Paolo Abeni) [1892375] - [net] tcp: do not recycle cloned skbs (Paolo Abeni) [1892375] - [net] tcp: properly reset skb->truesize for tx recycling (Paolo Abeni) [1892375] - [net] tcp: cleanup sk_tx_skb_cache before reuse (Paolo Abeni) [1892375] - [net] tcp: fix zerocopy and notsent_lowat issues (Paolo Abeni) [1892375] - [net] tcp: add one skb cache for tx (Paolo Abeni) [1892375] - [include] include: fpga: adi-axi-common.h: fixup whitespace tab -> space (Luis Goncalves) [1494702] - [include] include: fpga: adi-axi-common.h: add version helper macros (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: convert get_user_pages() --> pin_user_pages() (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fix bug in port reset handshake (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: reduce the scope of variable 'ret' (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: add device id for Intel FPGA PAC N3000 (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: add AFU interrupt support (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fme: add interrupt support for global error reporting (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: add interrupt support for port error reporting (Luis Goncalves) [1494702] - [fpga] fpga: dfl: introduce interrupt trigger setting API (Luis Goncalves) [1494702] - [fpga] fpga: dfl: pci: add irq info for feature devices enumeration (Luis Goncalves) [1494702] - [fpga] fpga: dfl: parse interrupt info for feature devices on enumeration (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: check INIT_B pin during write_init (Luis Goncalves) [1494702] - [fpga] fpga: Fix dead store in fpga-bridge.c (Luis Goncalves) [1494702] - [fpga] fpga: Fix dead store fpga-mgr.c (Luis Goncalves) [1494702] - [fpga] fpga: dfl: Use struct_size() in kzalloc() (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: remove unneeded, mistyped variables (Luis Goncalves) [1494702] - [fpga] fpga manager: xilinx-spi: valid for the 7 Series too (Luis Goncalves) [1494702] - [fpga] fpga: zynqmp: fix modular build (Luis Goncalves) [1494702] - [fpga] drivers/fpga/dfl-afu-dma-region.c: get rid of pointless access_ok() (Luis Goncalves) [1494702] - [fpga] drivers/fpga/dfl-fme-pr.c: get rid of pointless access_ok() (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: Corrected error handling levels (Luis Goncalves) [1494702] - [fpga] fpga: dfl: afu: support debug access to memory-mapped afu regions (Luis Goncalves) [1494702] - [fpga] fpga: dfl.h: Replace zero-length array with flexible-array member (Luis Goncalves) [1494702] - [fpga] fpga: stratix10-soc: add compatible property value for intel agilex (Luis Goncalves) [1494702] - [fpga] fpga: machxo2-spi: Use new structure for SPI transfer delays (Luis Goncalves) [1494702] - [fpga] fpga: ice40-spi: Use new structure for SPI transfer delays (Luis Goncalves) [1494702] - [fpga] fpga: dfl: support multiple opens on feature device node (Luis Goncalves) [1494702] - [fpga] fpga: dfl: fme: add performance reporting support (Luis Goncalves) [1494702] - [firmware] firmware: fpga: replace the error codes with the standard ones (Luis Goncalves) [1494702] - [net] sched: act_mpls: ensure LSE is pullable before reading it (Guillaume Nault) [1917918] - [net] openvswitch: ensure LSE is pullable before reading it (Guillaume Nault) [1917918] - [net] skbuff: ensure LSE is pullable before decrementing the MPLS ttl (Guillaume Nault) [1917918] - [net] sched: act_mpls: Add softdep on mpls_gso.ko (Guillaume Nault) [1917918] - [net] mpls: load mpls_gso after mpls_iptunnel (Guillaume Nault) [1917918] - [net] netfilter: nf_tables: handle nft_object lookups via rhltable (Phil Sutter) [1848816] - [arm64] kvm: arm64: Remove PMU RAZ/WI handling (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Inject UNDEF on PMU access when no PMU configured (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Set ID_AA64DFR0_EL1.PMUVer to 0 when no PMU support (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Add kvm_vcpu_has_pmu() helper (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Refactor PMU attribute error handling (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Introduce handling of AArch32 TTBCR2 traps (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: pmu: Make overflow handler NMI safe (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Also build dirty_log_perf_test on AArch64 (Auger Eric) [1890373 1907826] - [tools] selftests: kvm/set_memory_region_test: Fix race in move region test (Auger Eric) [1890373 1907826] - [tools] kvm: arm64: selftests: Filter out DEMUX registers (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Add blessed SVE registers to get-reg-list (Auger Eric) [1890373 1907826] - [tools] kvm: selftests: Add aarch64 get-reg-list test (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Don't access PMCR_EL0 when no PMU is available (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Don't hide ID registers from userspace (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Force PTE mapping on fault resulting in a device mapping (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Fix AArch32 handling of DBGD{CCINT, SCRext} and DBGVCR (Auger Eric) [1890373 1907826] - [kernel] kvm: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED (Auger Eric) [1890373 1907826] - [kernel] smccc: Make constants available to assembly (Auger Eric) [1890373 1907826] - [kernel] firmware: smccc: Add the definition for SMCCCv1.2 version/error codes (Auger Eric) [1890373 1907826] - [arm64] kvm: arm64: Ensure user_mem_abort() return value is initialised (Auger Eric) [1890373 1907826] - [] ASoC: SOF: Intel: fix page fault at probe if i915 init fails (Jaroslav Kysela) [1906665] - [include] powerpc: fix the backport macros of hv_24x7 and hv_gpci (Diego Domingos) [1915159] - [net] tcp: Prevent low rmem stalls with SO_RCVLOWAT. (Davide Caratti) [1917976] - [net] tcp: fix to update snd_wl1 in bulk receiver fast path (Davide Caratti) [1917976] - [net] tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers (Davide Caratti) [1917976] - [net] tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key() (Davide Caratti) [1917976] - [net] sunrpc: clean-up cache downcall (J. Bruce Fields) [1887178] - [net] sunrpc: raise kernel RPC channel buffer size (J. Bruce Fields) [1887178] - [netdrv] mlx5: Remove the unsupported mark from ConnectX-6 Lx and BlueField-2 (Alaa Hleihel) [1802118 1790541] - [s390] s390/qeth: make af_iucv TX notification call more robust (Philipp Rudo) [1915919] - [s390] s390/dasd: fix list corruption of lcu list (Philipp Rudo) [1915918] - [s390] s390/dasd: fix list corruption of pavgroup group list (Philipp Rudo) [1915918] - [s390] s390/dasd: prevent inconsistent LCU device data (Philipp Rudo) [1915918] - [s390] s390/dasd: fix hanging device offline processing (Philipp Rudo) [1915918] - [block] Revert "block: Fix a lockdep complaint triggered by request queue flushing" (Ming Lei) [1897404] - [nvme] nvme-loop: use blk_mq_hctx_set_fq_lock_class to set loop's lock class (Ming Lei) [1897404] - [block] blk-mq: add new API of blk_mq_hctx_set_fq_lock_class (Ming Lei) [1897404] - [scsi] scsi: core: Fix race between handling STS_RESOURCE and completion (Ming Lei) [1897404]- [fs] inotify: Increase default inotify.max_user_watches limit to 1048576 (Waiman Long) [1888617] - [kernel] cgroup: fix psi_show() crash on 32bit ino archs (Waiman Long) [1920288] - [kernel] cgroup: fix incorrect WARN_ON_ONCE() in cgroup_setup_root() (Waiman Long) [1920288] - [netdrv] net: bareudp: add missing error handling for bareudp_link_config() (Guillaume Nault) [1920194] - [netdrv] bareudp: Fix use of incorrect min_headroom size (Guillaume Nault) [1920194] - [netdrv] bareudp: set NETIF_F_LLTX flag (Guillaume Nault) [1920194] - [netdrv] vxlan: fix error return code in __vxlan_dev_create() (Guillaume Nault) [1920194] - [netdrv] ip_tunnels: Set tunnel option flag when tunnel metadata is present (Guillaume Nault) [1920194] - [net] vsock/virtio: discard packets only when socket is really closed (Stefano Garzarella) [1920004] - [net] vsock: fix the error return when an invalid ioctl command is used (Stefano Garzarella) [1920004] - [net] vsock: remove ratelimit unknown ioctl message (Stefano Garzarella) [1920004] - [net] vsock: use ns_capable_noaudit() on socket create (Stefano Garzarella) [1920004] - [net] vsock: fix potential null pointer dereference in vsock_poll() (Stefano Garzarella) [1920004] - [net] vsock/vmci: make vmci_vsock_transport_cb() static (Stefano Garzarella) [1920004] - [block] block: add blk_queue_make_request declaration back (Ming Lei) [1919764] - [net] erspan: fix version 1 check in gre_parse_header() (Guillaume Nault) [1919388] - [net] ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() (Guillaume Nault) [1919388] - [net] ipv4: Fix tos mask in inet_rtm_getroute() (Guillaume Nault) [1919388] - [net] inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill() (Guillaume Nault) [1919388] - [mm] usercopy: mark dma-kmalloc caches as usercopy caches (Waiman Long) [1660290] - [mm] mm, slab_common: use enum kmalloc_cache_type to iterate over kmalloc caches (Waiman Long) [1660290] - [mm] mm, slab: remove unused kmalloc_size() (Waiman Long) [1660290] - [mm] mm, slab: make kmalloc_infocontain all types of names (Waiman Long) [1660290] - [netdrv] net: stmmac: fix taprio configuration when base_time is in the past (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes (Mark Salter) [1870102] - [netdrv] net: stmmac: delete the eee_ctrl_timer after napi disabled (Mark Salter) [1870102] - [netdrv] net: stmmac: free tx skb buffer in stmmac_resume() (Mark Salter) [1870102] - [netdrv] net: stmmac: start phylink instance before stmmac_hw_setup() (Mark Salter) [1870102] - [netdrv] net: stmmac: increase the timeout for dma reset (Mark Salter) [1870102] - [netdrv] net: stmmac: fix incorrect merge of patch upstream (Mark Salter) [1870102] - [netdrv] net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac_lib: enlarge dma reset timeout (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix channel lock initialization (Mark Salter) [1870102] - [netdrv] net: stmmac: Add option for VLAN filter fail queue enable (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support to Ethtool get/set ring parameters (Mark Salter) [1870102] - [netdrv] net: stmmac: use netif_tx_start|stop_all_queues() function (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix incorrect location to set real_num_rx|tx_queues (Mark Salter) [1870102] - [netdrv] net: stmmac: add ethtool support for get/set channels (Mark Salter) [1870102] - [netdrv] net: stmmac: set get_rx_header_len() as void for it didn't have any error code to return (Mark Salter) [1870102] - [netdrv] net: stmmac: remove redundant null check before clk_disable_unprepare() (Mark Salter) [1870102] - [netdrv] net: phylink: avoid oops during initialisation (Mark Salter) [1870102] - [netdrv] net: stmmac: Modify configuration method of EEE timers (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: provide multicast filter fallback (Mark Salter) [1870102] - [netdrv] net: stmmac: fix failed to suspend if phy based WOL is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Speed down the PHY if WoL to save energy (Mark Salter) [1870102] - [netdrv] net: stmmac: Support WOL with phy (Mark Salter) [1870102] - [netdrv] net: stmmac: only call pmt() during suspend/resume if HW enables PMT (Mark Salter) [1870102] - [netdrv] net: stmmac: Move device_can_wakeup() check earlier in set_wol (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove WAKE_MAGIC if HW shows no pmt_magic_frame (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove unused inline function stmmac_rx_threshold_count (Mark Salter) [1870102] - [include] net: pylink.h: add kernel-doc descriptions for new fields at phylink_config (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN promiscuous mode (Mark Salter) [1870102] - [netdrv] net: stmmac: removed enabling eee in EEE set callback (Mark Salter) [1870102] - [documentation] net: phy: add PHY_INTERFACE_MODE_10GBASER (Mark Salter) [1870102] - [include] net: mii: convert mii_lpa_to_ethtool_lpa_x() to linkmode variant (Mark Salter) [1870102] - [base] driver core: platform: Add platform_get_irq_byname_optional() (Mark Salter) [1870102] - [netdrv] net: stmmac: enable timestamp snapshot for required PTP packets in dwmac v5.10a (Mark Salter) [1870102] - [netdrv] net: stmmac: don't attach interface until resume finishes (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: fix potential integer overflow on 32 bit multiply (Mark Salter) [1870102] - [netdrv] stmmac: fix pointer check after utilization in stmmac_interrupt (Mark Salter) [1870102] - [netdrv] stmmac: intel: Fix kernel crash due to wrong error path (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable SERDES power up/down sequence (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix sub-second increment (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix VLAN register handling (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix VLAN filtering when HW does not support it (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Rx filtering (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac_lib: remove unnecessary checks in dwmac_dma_reset() (Mark Salter) [1870102] - [netdrv] net: rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Mark Salter) [1870102] - [netdrv] net: stmmac: use readl_poll_timeout() function in dwmac4_dma_reset() (Mark Salter) [1870102] - [netdrv] net: stmmac: use readl_poll_timeout() function in init_systime() (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: convert to devm_platform_ioremap_resource (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate it with DesignWare XPCS (Mark Salter) [1870102] - [netdrv] net: phy: Add Synopsys DesignWare XPCS MDIO module (Mark Salter) [1870102] - [netdrv] net: stmmac: Use resolved link config in mac_link_up() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to dev_fwnode() if needed (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch to linkmode_and()/linkmode_andnot() (Mark Salter) [1870102] - [netdrv] flow_offload: check for basic action hw stats type (Mark Salter) [1870102] - [netdrv] stmmac: let core reject the unsupported coalescing parameters (Mark Salter) [1870102] - [netdrv] net: phylink: propagate resolved link config via mac_link_up() (Mark Salter) [1870102] - [netdrv] net: ethernet: stmmac: demote warnings about missing optional clocks (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: Fix misleading interrupt error msg (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Disable ACS if enhanced descs are not used (Mark Salter) [1870102] - [netdrv] net: stmmac: fix notifier registration (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: fix missing IFF_MULTICAST checki in dwxgmac2_set_filter (Mark Salter) [1870102] - [netdrv] net: stmmac: fix missing IFF_MULTICAST check in dwmac4_set_filter (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: fix incorrect XGMAC_VLAN_TAG register writting (Mark Salter) [1870102] - [netdrv] net: stmmac: fix incorrect GMAC_VLAN_TAG register writting in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Delete txtimer in suspend() (Mark Salter) [1870102] - [netdrv] net: stmmac: modified pcs mode support for RGMII (Mark Salter) [1870102] - [netdrv] net: stmmac: Add missing information in DebugFS capabilities file (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Add TBS support (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add TBS support (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Add support for ETF Scheduler using TBS (Mark Salter) [1870102] - [netdrv] net: stmmac: Initial support for TBS (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: Fix missing return (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix missing return (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Fix TAPRIO division operation (Mark Salter) [1870102] - [netdrv] net: stmmac: mmc: Add Frame Preemption counters on GMAC5+ cores (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac3+: Add support for Frame Preemption (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac5+: Add support for Frame Preemption (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Frame Preemption support using TAPRIO API (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate EST with TAPRIO scheduler API (Mark Salter) [1870102] - [netdrv] net: stmmac: Add basic EST support for XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Add basic EST support for GMAC5+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Always use TX coalesce timer value when rescheduling (Mark Salter) [1870102] - [netdrv] net: stmmac: Let TX and RX interrupts be independently enabled/disabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Print more information in DebugFS DMA Capabilities file (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: avoid clk and reset for acpi device (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: use generic device api (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: fix probe for ACPI devices (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Do not setup flower filtering if RSS is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Fixed link does not need MDIO Bus (Mark Salter) [1870102] - [netdrv] stmmac: debugfs entry name is not be changed when udev rename device name (Mark Salter) [1870102] - [netdrv] net: stmmac: platform: Fix MDIO init for platforms without PHY (Mark Salter) [1870102] - [netdrv] net: stmmac: Always arm TX Timer at end of transmission start (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable 16KB buffer size (Mark Salter) [1870102] - [netdrv] net: stmmac: 16KB buffer must be 16 byte aligned (Mark Salter) [1870102] - [netdrv] net: stmmac: RX buffer size must be 16 byte aligned (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Clear previous RX buffer size (Mark Salter) [1870102] - [netdrv] net: stmmac: Only the last buffer has the FCS field (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not accept invalid MTU values (Mark Salter) [1870102] - [netdrv] net: stmmac: Determine earlier the size of RX buffer (Mark Salter) [1870102] - [netdrv] treewide: Use sizeof_field() macro (Mark Salter) [1870102] - [netdrv] net: stmmac: reset Tx desc base address before restarting Tx (Mark Salter) [1870102] - [netdrv] net: phylink: rename mac_link_state() op to mac_pcs_get_state() (Mark Salter) [1870102] - [netdrv] page_pool: do not release pool until inflight == 0 (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Do not enable TBU interrupt (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework TX Coalesce logic (Mark Salter) [1870102] - [netdrv] net: stmmac: Tune-up default coalesce settings (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Remove uneeded computation for RFA/RFD (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Remove uneeded computation for RFA/RFD (Mark Salter) [1870102] - [netdrv] net: stmmac: Setup a default RX Coalesce value instead of the minimum (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not set RX IC bit if RX Coalesce is zero (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement UDP Segmentation Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework stmmac_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Remove the speed dependency (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add C45 PHY support in the MDIO callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Add Split Header support (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix sparse warning (Mark Salter) [1870102] - [netdrv] net: stmmac: Remove break after a return (Mark Salter) [1870102] - [netdrv] net: stmmac: add flexible PPS to dwmac 4.10a (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement L3/L4 Filters in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to VLAN Perfect filtering if HASH is not available (Mark Salter) [1870102] - [netdrv] net: stmmac: Support enhanced addressing mode for DWMAC 4.10 (Mark Salter) [1870102] - [netdrv] net: stmmac: Only enable enhanced addressing mode when needed (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the TX IOC in xmit path (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix TSO descriptor with Enhanced Addressing (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the packet count in stmmac_rx() (Mark Salter) [1870102] - ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable MMC interrupts by default (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable Flow Control when 1 or more queues are in AV (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix AV Feature detection (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix TSA selection (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Only get SPH header len if available (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: bitrev32 returns u32 (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4: bitrev32 returns u32 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the problem of tso_xmit (Mark Salter) [1870102] - [netdrv] net: stmmac: fix argument to stmmac_pcs_ctrl_ane() (Mark Salter) [1870102] - [netdrv] net: stmmac: disable/enable ptp_ref_clk in suspend/resume flow (Mark Salter) [1870102] - [netdrv] net: stmmac: make tc_flow_parsers static (Mark Salter) [1870102] - [netdrv] net: stmmac: fix disabling flexible PPS output (Mark Salter) [1870102] - [netdrv] net: stmmac: fix length of PTP clock's name string (Mark Salter) [1870102] - [netdrv] net: stmmac: gmac4+: Not all Unicast addresses may be available (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid deadlock on suspend/resume (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix RSS writing wrong keys (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix RSS not writing all Keys to HW (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Disable the Timestamp interrupt by default (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not stop PHY if WoL is enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Correctly take timestamp for PTPv2 (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Always update the MAC Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Detect Hash Table size dinamically (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Not all Unicast addresses may be available (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix page pool size (Mark Salter) [1870102] - [netdrv] net: stmmac: selftest: avoid large stack usage (Mark Salter) [1870102] - [netdrv] net: stmmac: Hold rtnl lock in suspend/resume callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: implement support for passive mode converters via dt (Mark Salter) [1870102] - [netdrv] net: stmmac: ARP Offload for GMAC4+ Cores (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Insertion Offload in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for SA Insertion/Replacement in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Reinitialize correctly a variable (Mark Salter) [1870102] - [netdrv] net: stmmac: Add VLAN HASH filtering support in GMAC4+ (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent divide-by-zero (Mark Salter) [1870102] - [netdrv] net: stmmac: Limit max speeds of XGMAC if asked to (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Enable RX Jumbo frame support (Mark Salter) [1870102] - [netdrv] stmmac: platform: adjust messages and move to dev level (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Enable RX Jumbo frame support (Mark Salter) [1870102] - [netdrv] net: stmmac: Correctly assing MAX MTU in XGMAC cores case (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Correct RAVSEL field interpretation (Mark Salter) [1870102] - [netdrv] net: stmmac: ethtool: Let user configure TX coalesce without RIWT (Mark Salter) [1870102] - [netdrv] net: stmmac: Only consider RX error when HW Timestamping is not enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement ARP Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement L3/L4 Filters using TC Flower (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not return error code in TC Initialization (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add RBU handling in DMA interrupt (Mark Salter) [1870102] - [netdrv] net: stmmac: depend on COMMON_CLK (Mark Salter) [1870102] - [netdrv] net: stmmac: dwc-qos: use devm_platform_ioremap_resource() to simplify code (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for VLAN Insertion Offload (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Add EEE support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for SA Insertion/Replacement in XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: Add ethtool register dump for XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Add Flexible PPS support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add a counter for Split Header packets (Mark Salter) [1870102] - [netdrv] net: page_pool: API cleanup and comments (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Split Header support and enable it in XGMAC cores (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Correctly return that RX descriptor is not last one (Mark Salter) [1870102] - [netdrv] net: stmmac: Prepare to add Split Header support (Mark Salter) [1870102] - [netdrv] net: stmmac: Get correct timestamp values from XGMAC (Mark Salter) [1870102] - [netdrv] stmmac: no need to check return value of debugfs_create functions (Mark Salter) [1870102] - [netdrv] net: stmmac: Add Flexible RX Parser support in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement Safety Features in XGMAC core (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement VLAN Hash Filtering in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement RSS and enable it in XGMAC core (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement tx_queue_prio() (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement set_mtl_tx_queue_weight() (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Implement MMC counters (Mark Salter) [1870102] - [netdrv] net: Remove dev_err() usage after platform_get_irq() (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not request stmmaceth clock (Mark Salter) [1870102] - [netdrv] net: stmmac: Make MDIO bus reset optional (Mark Salter) [1870102] - [netdrv] net: stmmac: tc: Do not return a fragment entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix issues when number of Queues >= 4 (Mark Salter) [1870102] - [netdrv] net: stmmac: xgmac: Fix XGMAC selftests (Mark Salter) [1870102] - [netdrv] net: stmmac: manage errors returned by of_get_mac_address() (Mark Salter) [1870102] - [netdrv] net: stmmac: Use netif_tx_napi_add() for TX polling function (Mark Salter) [1870102] - [netdrv] net: stmmac: Sync RX Buffer upon allocation (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not cut down 1G modes (Mark Salter) [1870102] - [netdrv] net: stmmac: Use kcalloc() instead of kmalloc_array() (Mark Salter) [1870102] - [netdrv] net: stmmac: RX Descriptors need to be clean before setting buffers (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix misuses of GENMASK macro (Mark Salter) [1870102] - [netdrv] net: stmmac: add support for hash table size 128/256 in dwmac4 (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: mac address array boudary violation issue (Mark Salter) [1870102] - [netdrv] net: stmmac: Introducing support for Page Pool (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix descriptors address being in > 32 bits address space (Mark Salter) [1870102] - [netdrv] net: stmmac: Implement RX Coalesce Frames setting (Mark Salter) [1870102] - [netdrv] net: stmmac: Re-work the queue selection for TSO packets (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable dwmac4 jumbo frame more than 8KiB (Mark Salter) [1870102] - [netdrv] net: stmmac: make "snps, reset-delays-us" optional again (Mark Salter) [1870102] - [netdrv] net: stmmac: Re-word Kconfig entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Update Kconfig entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Only disable interrupts if NAPI is scheduled (Mark Salter) [1870102] - [netdrv] net: stmmac: Update RX Tail Pointer to last free entry (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable support for > 32 Bits addressing in XGMAC (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not disable interrupts when cleaning TX (Mark Salter) [1870102] - [netdrv] net: stmmac: Add the missing speeds that XGMAC supports (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Fix the undefined burst setting (Mark Salter) [1870102] - [netdrv] net: stmmac: Decrease default RX Watchdog value (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not try to enable PHY EEE if MAC does not support it (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Enable EDMA by default (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix case when PHY handle is not present (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix crash observed if PHY does not support EEE (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix possible deadlock when disabling EEE support (Mark Salter) [1870102] - [netdrv] net: stmmac: initialize the reset delay array (Mark Salter) [1870102] - [netdrv] net: stmmac: add sanity check to device_property_read_u32_array call (Mark Salter) [1870102] - [netdrv] net: stmmac: fix unused-variable warning (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the phy_reset hook from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the reset delays from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: drop the reset GPIO from struct stmmac_mdio_bus_data (Mark Salter) [1870102] - [netdrv] net: stmmac: use device_property_read_u32_array to read the reset delays (Mark Salter) [1870102] - [netdrv] net: stmmac: drop redundant check in stmmac_mdio_reset (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix wrapper drivers not detecting PHY (Mark Salter) [1870102] - [netdrv] net: stmmac: use GPIO descriptors in stmmac_mdio_reset (Mark Salter) [1870102] - [netdrv] net: stmmac: Convert to phylink and remove phylib logic (Mark Salter) [1870102] - [netdrv] net: stmmac: Start adding phylink support (Mark Salter) [1870102] - [netdrv] net: stmmac: Prepare to convert to phylink (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: fix flow control issue (Mark Salter) [1870102] - [netdrv] net: stmmac: modify default value of tx-frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch to devm_alloc_etherdev_mqs (Mark Salter) [1870102] - [netdrv] net: stmmac: use dev_info() before netdev is registered (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent missing interrupts when running NAPI (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Clear unused address entries (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Do not disable whole RX in dma_stop_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Do not disable whole RX in dma_stop_rx() (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Fix Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Clear unused address entries (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Fix Hash Filter (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Also pass control frames while in promisc mode (Mark Salter) [1870102] - [netdrv] net: stmmac: Switch MMC functions to HWIF callbacks (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4/5: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac1000: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac100: Add MAC loopback support (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MAC loopback callback to HWIF (Mark Salter) [1870102] - [netdrv] net: stmmac: set IC bit when transmitting frames with HW timestamp (Mark Salter) [1870102] - [netdrv] net: stmmac: fixed new system time seconds value calculation (Mark Salter) [1870102] - [netdrv] net: stmmac: Do not output error on deferred probe (Mark Salter) [1870102] - [netdrv] net: stmmac: fix csr_clk can't be zero issue (Mark Salter) [1870102] - [netdrv] net: stmmac: update rx tail pointer register to fix rx dma hang issue (Mark Salter) [1870102] - [netdrv] net: stmmac: fix reset gpio free missing (Mark Salter) [1870102] - [netdrv] net: stmmac: dma channel control register need to be init first (Mark Salter) [1870102] - [netdrv] net: stmmac: fix ethtool flow control not able to get/set (Mark Salter) [1870102] - [netdrv] dwmac4_prog_mtl_tx_algorithms() missing write operation (Mark Salter) [1870102] - [netdrv] net: stmmac: Set Flow Control to automatic mode in the driver (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac: Finish the Flow Control implementation (Mark Salter) [1870102] - [netdrv] net: stmmac: move stmmac_check_ether_addr() to driver probe (Mark Salter) [1870102] - [netdrv] net: stmmac: Use bfsize1 in ndesc_init_rx_desc (Mark Salter) [1870102] - [netdrv] net: stmmac: don't log oversized frames (Mark Salter) [1870102] - [netdrv] net: stmmac: fix dropping of multi-descriptor RX frames (Mark Salter) [1870102] - [netdrv] net: stmmac: don't overwrite discard_frame status (Mark Salter) [1870102] - [netdrv] net: stmmac: don't stop NAPI processing when dropping a packet (Mark Salter) [1870102] - [netdrv] net: stmmac: ratelimit RX error logs (Mark Salter) [1870102] - [netdrv] net: stmmac: use correct DMA buffer size in the RX descriptor (Mark Salter) [1870102] - [netdrv] net: stmmac: fix memory corruption with large MTUs (Mark Salter) [1870102] - [netdrv] net: stmmac: fix jumbo frame sending with non-linear skbs (Mark Salter) [1870102] - [netdrv] net: stmmac: don't set own bit too early for jumbo frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid one more sometimes uninitialized Clang warning (Mark Salter) [1870102] - [netdrv] net: ethernet: stmmac: add management of clk_csr property (Mark Salter) [1870102] - [netdrv] net: stmmac: Avoid sometimes uninitialized Clang warnings (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Also use TBU interrupt to clean TX path (Mark Salter) [1870102] - [netdrv] net: stmmac: dwmac4: Also use TBU interrupt to clean TX path (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix NAPI poll in TX path when in multi-queue (Mark Salter) [1870102] - [netdrv] net: stmmac: use correct define to get rx timestamp on GMAC4 (Mark Salter) [1870102] - [netdrv] net: stmmac: fix ptp timestamping on Rx on gmac4 (Mark Salter) [1870102] - [netdrv] net: stmmac: implement the SIOCGHWTSTAMP ioctl (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix a race in EEE enable callback (Mark Salter) [1870102] - [netdrv] net: stmmac: handle endianness in dwmac4_get_timestamp (Mark Salter) [1870102] - [netdrv] net: stmmac: Disable EEE mode earlier in XMIT callback (Mark Salter) [1870102] - [netdrv] net: stmmac: Send TSO packets always from Queue 0 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fallback to Platform Data clock in Watchdog conversion (Mark Salter) [1870102] - [netdrv] net: stmmac: Prevent RX starvation in stmmac_napi_poll() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix the logic of checking if RX Watchdog must be enabled (Mark Salter) [1870102] - [netdrv] net: stmmac: Check if CBS is supported before configuring (Mark Salter) [1870102] - [netdrv] net: stmmac: dwxgmac2: Only clear interrupts that are active (Mark Salter) [1870102] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Mark Salter) [1870102] - [netdrv] net: stmmac: convert to DEFINE_SHOW_ATTRIBUTE (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix an error code in probe() (Mark Salter) [1870102] - [netdrv] net: stmmac: Move debugfs init/exit to ->probe()/->remove() (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix RX packet size > 8191 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules (Mark Salter) [1870102] - [netdrv] net: stmmac: Set OWN bit for jumbo frames (Mark Salter) [1870102] - [netdrv] net: stmmac: Enable TC Ops for GMAC >= 4 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add CBS support in XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Fixup the tail addr setting in xmit path (Mark Salter) [1870102] - [netdrv] stmmac: fix valid numbers of unicast filter entries (Mark Salter) [1870102] - [netdrv] net: stmmac: Rework coalesce timer and fix multi-queue races (Mark Salter) [1870102] - [netdrv] Revert "net: stmmac: Do not keep rearming the coalesce timer in stmmac_xmit" (Mark Salter) [1870102] - [netdrv] Revert "net: stmmac: fix build failure due to missing COMMON_CLK dependency" (Mark Salter) [1870102] - [netdrv] net: stmmac: Integrate XGMAC into main driver flow (Mark Salter) [1870102] - [netdrv] net: stmmac: Add PTP support for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MDIO related functions for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add descriptor related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add DMA related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add MAC related callbacks for XGMAC2 (Mark Salter) [1870102] - [netdrv] net: stmmac: Add XGMAC 2.10 HWIF entry (Mark Salter) [1870102] - [netdrv] stmmac: fix signed 64-bit division (Mark Salter) [1870102] - [netdrv] net: stmmac_tc: use 64-bit arithmetic instead of 32-bit (Mark Salter) [1870102] - [netdrv] net: stmmac: Add support for CBS QDISC (Mark Salter) [1870102] - [tty] serial: 8250_tegra: Create Tegra specific 8250 driver (Mark Salter) [1870103] - [pci] PCI: Disable MSI for Tegra root ports (Mark Salter) [1870101] - [pci] PCI: Add MCFG quirks for Tegra194 host controllers (Mark Salter) [1870101] - [netdrv] tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS (Antoine Tenart) [1919364 1917563] {CVE-2021-0342} - [netdrv] tun: correct header offsets in napi frags mode (Antoine Tenart) [1919364 1917563] {CVE-2021-0342} - [netdrv] tun: Don't put_page() for all negative return values from XDP program (Antoine Tenart) [1919364] - [netdrv] tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() (Antoine Tenart) [1919364] - [netdrv] tun: fix data-race in gro_normal_list() (Antoine Tenart) [1919364] - [netdrv] tun: fix use-after-free when register netdev failed (Antoine Tenart) [1919364] - [netdrv] tun: mark small packets as owned by the tap sock (Antoine Tenart) [1919364] - [netdrv] tun: use netdev_alloc_frag() in tun_napi_alloc_frags() (Antoine Tenart) [1919364] - [scsi] scsi: ibmvfc: Fix error return in ibmvfc_probe() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Provide modules parameters for MQ settings (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Enable MQ and set reasonable defaults (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Purge SCSI channels after transport loss/reset (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Send Cancel MAD down each hw SCSI channel (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add cancel mad initialization helper (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Register Sub-CRQ handles with VIOS during channel setup (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Send commands down HW Sub-CRQ when channelized (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Set and track hw queue in ibmvfc_event struct (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Advertise client support for using hardware channels (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Implement channel enquiry and setup commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Map/request irq and register Sub-CRQ interrupt handler (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define Sub-CRQ interrupt handler routine (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add handlers to drain and complete Sub-CRQ responses (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add Sub-CRQ IRQ enable/disable routine (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add alloc/dealloc routines for SCSI Sub-CRQ Channels (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add Subordinate CRQ definitions (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define hcall wrapper for registering a Sub-CRQ (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add size parameter to ibmvfc_init_event_pool() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Init/free event pool during queue allocation/free (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Move event pool init/free routines (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add vhost fields and defaults for MQ enablement (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Fix missing cast of ibmvfc_event pointer to u64 handle (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Relax locking around ibmvfc_queuecommand() (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Complete commands outside the host/queue lock (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define per-queue state/list locks (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Make command event pool queue specific (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Define generic queue structure for CRQs (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Advertise client support for targetWWPN using v2 commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add support for target_wwpn field in v2 MADs and vfcFrame (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add FC payload retrieval routines for versioned vfcFrames (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add helper for testing capability flags (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Add new fields for version 2 of several MADs (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Deduplicate common ibmvfc_cmd init code (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Use correlation token to tag commands (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Remove trailing semicolon (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Byte swap login_buf.resp values in attribute show functions (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Interface updates for future FPIN and MQ support (Desnes Augusto Nunes do Rosario) [1868055] - [scsi] scsi: ibmvfc: Protect vhost->task_set increment by the host lock (Desnes Augusto Nunes do Rosario) [1868055] - [net] tcp: Fix potential use-after-free due to double kfree() (Florian Westphal) [1915164] - [nvdimm] libnvdimm/region: Enable MAP_SYNC for volatile regions (Steve Best) [1916650] - [net] bpf: Permit cond_resched for some iterators (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix PID fetching with a lot of results (Yauheni Kaliuta) [1874005] - [net] bpf: verifier: Use target program's type for access verifications (Yauheni Kaliuta) [1874005] - [tools] selftests: bpf: Test sockmap update from BPF (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Allow update from BPF (Yauheni Kaliuta) [1874005] - [net] bpf: Override the meaning of ARG_PTR_TO_MAP_VALUE for sockmap and sockhash (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Call sock_map_update_elem directly (Yauheni Kaliuta) [1874005] - [net] bpf: sockmap: Merge sockmap and sockhash update functions (Yauheni Kaliuta) [1874005] - [net] net: sk_msg: Simplify sk_psock initialization (Yauheni Kaliuta) [1874005] - [net] bpf: Enforce id generation for all may-be-null register type (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Cleanup bpf_load.o from Makefile (Yauheni Kaliuta) [1874005] - [include] bpf: Plug hole in struct bpf_sk_lookup_kern (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix endianness issues in sk_lookup/ctx_narrow_access (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix build slowdown (Yauheni Kaliuta) [1874005] - [net] bpf: Fix scalar32_min_max_or bounds tracking (Yauheni Kaliuta) [1874005] - [net] bpf: Fix "unresolved symbol" build error with resolve_btfids (Yauheni Kaliuta) [1874005] - [powerpc] bpf, powerpc: Fix misuse of fallthrough in bpf_jit_comp() (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix XDP program load regression for old kernels (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix native endian assumption when parsing BTF (Yauheni Kaliuta) [1874005] - [include] bpf: Prevent .BTF section elimination (Yauheni Kaliuta) [1874005] - [net] bpf: Fix sysfs export of empty BTF section (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Support passing BPFTOOL_VERSION to make (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a rcu warning for bpffs map pretty-print (Yauheni Kaliuta) [1874005] - [net] bpf: Bpf_skc_to_* casting helpers require a NULL check on sk (Yauheni Kaliuta) [1874005] - [documentation] docs/bpf: Remove source code links (Yauheni Kaliuta) [1874005] - [documentation] docs/bpf: Fix ringbuf documentation (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix VERSIONED_SYM_COUNT number parsing (Yauheni Kaliuta) [1874005] - [tools] tools/libbpf: Avoid counting local symbols in ABI check (Yauheni Kaliuta) [1874005] - [net] bpf: Fix clobbering of r2 in bpf_gen_ld_abs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add bpf_{update, delete}_map_elem in hashmap iter program (Yauheni Kaliuta) [1874005] - [net] bpf: Do not use bucket_lock for hashmap iterator (Yauheni Kaliuta) [1874005] - [tools] libbpf: Remove arch-specific include path in Makefile (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: build: Make sure resolve_btfids cleans up after itself (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix build failure from uninitialized variable warning (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix massive output from test_maps (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix test_progs-flavor run getting number of tests (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a buffer out-of-bound access when filling raw_tp link_info (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix two typos in uapi/linux/bpf.h (Yauheni Kaliuta) [1874005] - [tools] tools/resolve_btfids: Fix sections with wrong alignment (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix map index used in error message (Yauheni Kaliuta) [1874005] - [tools] bpftool: Handle EAGAIN error code properly in pids collection (Yauheni Kaliuta) [1874005] - [net] bpf: Avoid visit same object multiple times (Yauheni Kaliuta) [1874005] - [net] bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix build on ppc64le architecture (Yauheni Kaliuta) [1874005] - [net] bpf: Use get_file_rcu() instead of get_file() for task_file iterator (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Make test_varlen work with 32-bit user-space arch (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Generate data section struct with conservative alignment (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Correct various core_reloc 64-bit assumptions (Yauheni Kaliuta) [1874005] - [tools] libbpf: Enforce 64-bitness of BTF for BPF object files (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix btf_dump test cases on 32-bit arches (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle BTF pointer sizes more carefully (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix BTF-defined map-in-map initialization on 32-bit host arches (Yauheni Kaliuta) [1874005] - [tools] selftest/bpf: Fix compilation warnings in 32-bit mode (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix compilation warnings in 32-bit mode (Yauheni Kaliuta) [1874005] - [documentation] doc: Add link to bpf helpers man page (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests to sock_ops for loading sk (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests for sock_ops load with r9, r8.r7 registers (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Add tests for ctx access in sock_ops with single register (Yauheni Kaliuta) [1874005] - [net] bpf: sock_ops sk access may stomp registers when dst_reg = src_reg (Yauheni Kaliuta) [1874005] - [net] bpf: sock_ops ctx access may stomp registers in corner case (Yauheni Kaliuta) [1874005] - [net] net/core/filter.c: Use sizeof_field() macro (Yauheni Kaliuta) [1874005] - [tools] libbpf: Prevent overriding errno when logging errors (Yauheni Kaliuta) [1874005] - [net] bpf: Iterate through all PT_NOTE sections when looking for build id (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle GCC built-in types for Arm NEON (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Make skeleton code C++17-friendly by dropping typeof() (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix v4_to_v6 in sk_lookup (Yauheni Kaliuta) [1874005] - [tools] libbpf: Do not use __builtin_offsetof for offsetof (Yauheni Kaliuta) [1874005] - [net] bpf: Delete repeated words in comments (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix silent Makefile output (Yauheni Kaliuta) [1874005] - [documentation] bpf, doc: Remove references to warning message when using bpf_trace_printk() (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix compilation warning of selftests (Yauheni Kaliuta) [1874005] - [kernel] bpf: Remove inline from bpf_do_trace_printk (Yauheni Kaliuta) [1874005] - [tools] bpf: Add missing return to resolve_btfids (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Support new uapi for map element bpf iterator (Yauheni Kaliuta) [1874005] - [net] bpf: Change uapi for bpf iterator map elements (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Prevent runqslower from racing on building bpftool (Yauheni Kaliuta) [1874005] - [net] bpf: Allow to specify ifindex for skb in bpf_prog_test_run_skb (Yauheni Kaliuta) [1874005] - [net] bpf: Setup socket family and addresses in bpf_prog_test_run_skb (Yauheni Kaliuta) [1874005] - [tools] tools/resolve_btfids: Use libbpf's btf__parse() API (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Use libbpf's btf__parse() API for parsing BTF from file (Yauheni Kaliuta) [1874005] - [tools] libbf: Fix uninitialized pointer at btf__parse_raw() (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add btf__parse_raw() and generic btf__parse() APIs (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Fix wrong return value in do_dump() (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix spurious test failures in core_retro selftest (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add documentation and bash-completion for `link detach` (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add `link detach` subcommand (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add bpf_link detach APIs (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: Use single cgroup helpers for both test_sockmap/progs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix register in PT_REGS MIPS macros (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make destructors more robust by handling ERR_PTR(err) cases (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Omit nodad flag when adding addresses to loopback (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Don't destroy failed link (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add xdpdrv mode for test_xdp_redirect (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Verify socket storage in cgroup/sock_{create, release} (Yauheni Kaliuta) [1874005] - [net] bpf: Expose socket storage to BPF_PROG_TYPE_CGROUP_SOCK (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test bpf_iter buffer access with negative offset (Yauheni Kaliuta) [1874005] - [net] bpf: Add missing newline characters in verifier error messages (Yauheni Kaliuta) [1874005] - [arm64] bpf, arm64: Add BPF exception tables (Yauheni Kaliuta) [1874005] - [tools] bpf, selftests: use :: 1 for localhost in tcp_server.py (Yauheni Kaliuta) [1874005] - [net] bpf: Fix swapped arguments in calls to check_buffer_access (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add new bpf_iter context structs to fix build on old kernels (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix bpf_ringbuf_output() signature to return long (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Add LSM type to array of prog names (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Skip type probe if name is not found (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for BPF XDP link (Yauheni Kaliuta) [1874005] - [include] bpf: Make bpf_link API available indepently of CONFIG_BPF_SYSCALL (Yauheni Kaliuta) [1874005] - [net] bpf: Fix build on architectures with special bpf_user_pt_regs_t (Yauheni Kaliuta) [1874005] - [net] bpf/local_storage: Fix build without CONFIG_CGROUP (Yauheni Kaliuta) [1874005] - [documentation] Documentation/bpf: Document CGROUP_STORAGE map type (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test CGROUP_STORAGE behavior on shared egress + ingress (Yauheni Kaliuta) [1874005] - [net] bpf: Make cgroup storages shared between programs on the same cgroup (Yauheni Kaliuta) [1874005] - [net] cgroup: use cgrp->kn->id as the cgroup ID (Yauheni Kaliuta) [1874005] - [net] netprio: use css ID instead of cgroup ID (Yauheni Kaliuta) [1874005] - [fs] kernfs: convert kernfs_node->id from union kernfs_node_id to u64 (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add get_stackid_cannot_attach (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test CGROUP_STORAGE map can't be used by multiple progs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add callchain_stackid (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for CGROUP_STORAGE map on multiple attaches (Yauheni Kaliuta) [1874005] - [tools] libbpf: Print hint when PERF_EVENT_IOC_SET_BPF returns -EPROTO (Yauheni Kaliuta) [1874005] - [net] bpf: Fail PERF_EVENT_IOC_SET_BPF when bpf_get_cannot work (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add a test for out of bound rdonly buf access (Yauheni Kaliuta) [1874005] - [net] bpf: Separate bpf_get_for perf events BPF (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add a test for bpf sk_storage_map iterator (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for bpf array map iterators (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for bpf hash map iterators (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add bpftool support for bpf map element iterator (Yauheni Kaliuta) [1874005] - [tools] tools/libbpf: Add support for bpf map element iterator (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for sock local storage map (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for array maps (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for hash maps (Yauheni Kaliuta) [1874005] - [net] bpf: Implement bpf iterator for map elements (Yauheni Kaliuta) [1874005] - [net] bpf: Fix pos computation for bpf_iter seq_ops->start() (Yauheni Kaliuta) [1874005] - [net] bpf: Support readonly/readwrite buffers in verifier (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test BPF socket lookup and reuseport with connections (Yauheni Kaliuta) [1874005] - [net] bpf: Refactor to provide aux info to bpf_iter_init_seq_priv_t (Yauheni Kaliuta) [1874005] - [net] bpf: Refactor bpf_iter_reg to have separate seq_info member (Yauheni Kaliuta) [1874005] - [net] bpf: Add bpf_prog iterator (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Strip BPF .o files before skeleton generation (Yauheni Kaliuta) [1874005] - [documentation] docs: bpf/bpf_devel_QA.rst: fix reference to nonexistent document (Yauheni Kaliuta) [1874005] - [documentation] docs: bpf/index.rst: Add ringbuf.rst (Yauheni Kaliuta) [1874005] - [tools] bpftool: Use only nftw for file tree parsing (Yauheni Kaliuta) [1874005] - [net] bpf: net: Use precomputed btf_id for bpf iterators (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix test_lwt_seg6local.sh hangs (Yauheni Kaliuta) [1874005] - [net] bpf: Make btf_sock_ids global (Yauheni Kaliuta) [1874005] - [tools] bpf: Add BTF_ID_LIST_GLOBAL in btf_ids.h (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Sync btf_ids.h to tools (Yauheni Kaliuta) [1874005] - [net] bpf: Compute bpf_skc_to_*() helper socket btf ids at build time (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Fix error handing in do_skeleton() (Yauheni Kaliuta) [1874005] - [tools] libbpf bpf_helpers: Use __builtin_offsetof for offsetof (Yauheni Kaliuta) [1874005] - [s390] s390/bpf: Use bpf_skip() in bpf_jit_prologue() (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Fix possible rcpu kthread hung (Yauheni Kaliuta) [1874005] - [s390] s390/bpf: implement BPF_PROBE_MEM (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/kernel: expand exception table logic to allow new handling options (Yauheni Kaliuta) [1874005 1868273] - [s390] s390: fix __EMIT_BUG() macro (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/bug: add entry size to the __bug_table section (Yauheni Kaliuta) [1874005 1868273] - [s390] s390/kernel: unify EX_TABLE* implementations (Yauheni Kaliuta) [1874005 1868273] - [tools] selftests/bpf: Tests for BPF_SK_LOOKUP attach point (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add verifier tests for bpf_sk_lookup context access (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add name mappings for SK_LOOKUP prog and attach type (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for SK_LOOKUP program type (Yauheni Kaliuta) [1874005] - [tools] bpf: Sync linux/bpf.h to tools/ (Yauheni Kaliuta) [1874005] - [include] bpf: Introduce SK_LOOKUP program type with a dedicated attach point (Yauheni Kaliuta) [1874005] - [net] bpf, netns: Handle multiple link attachments (Yauheni Kaliuta) [1874005] - [tools] bpf: Drop duplicated words in uapi helper comments (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix possible hang in sockopt_inherit (Yauheni Kaliuta) [1874005] - [tools] selftest: Add tests for XDP programs in CPUMAP entries (Yauheni Kaliuta) [1874005] - [samples] samples/bpf: xdp_redirect_cpu: Load a eBPF program on cpumap (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add SEC name for xdp programs attached to CPUMAP (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Implement XDP_REDIRECT for eBPF programs attached to map entries (Yauheni Kaliuta) [1874005] - [net] bpf: cpumap: Add the possibility to attach an eBPF program to cpumap (Yauheni Kaliuta) [1874005] - [net] net: Refactor xdp_convert_buff_to_frame (Yauheni Kaliuta) [1874005] - [net] cpumap: Formalize map value as a named struct (Yauheni Kaliuta) [1874005] - [samples] samples/bpf: xdp_redirect_cpu_user: Do not update bpf maps in option loop (Yauheni Kaliuta) [1874005] - [net] cpumap: Use non-locked version __ptr_ring_consume_batched (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Consolidate powerpc instructions from bpf_jit.h (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/bpf_jit: Reuse instruction macros from ppc-opcode.h (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Move ppc instruction encoding from test_emulate_step (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/lib: Fix emulate_step() std test (Yauheni Kaliuta) [1874005] - [powerpc] powerpc/ppc-opcode: Introduce PPC_RAW_* macros for base instruction encoding (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix cross build for CONFIG_DEBUG_INFO_BTF option (Yauheni Kaliuta) [1874005] - [include] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Strip away modifiers from global variables (Yauheni Kaliuta) [1874005] - [tools] libbpf: Support stripping modifiers for btf_dump (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add selftests verifying bpf_trace_printk() behaviour (Yauheni Kaliuta) [1874005] - [kernel] bpf: Use dedicated bpf_trace_printk event instead of trace_printk() (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Remove warning about PID iterator support (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test for resolve_btfids (Yauheni Kaliuta) [1874005] - [tools] tools headers: Adopt verbatim copy of btf_ids.h from kernel sources (Yauheni Kaliuta) [1874005] - [documentation] bpf: Add info about .BTF_ids section to btf.rst (Yauheni Kaliuta) [1874005] - [net] bpf: Use BTF_ID to resolve bpf_ctx_convert struct (Yauheni Kaliuta) [1874005] - [net] bpf: Remove btf_id helpers resolving (Yauheni Kaliuta) [1874005] - [net] bpf: Resolve BTF IDs in vmlinux image (Yauheni Kaliuta) [1874005] - [include] bpf: Add BTF_ID_LIST/BTF_ID/BTF_ID_UNUSED macros (Yauheni Kaliuta) [1874005] - [net] bpf: Support llvm-objcopy for vmlinux BTF (Yauheni Kaliuta) [1874005] - [powerpc] powerpc: Include .BTF section (Yauheni Kaliuta) [1874005] - [scripts] kbuild: Remove debug info from kallsyms linking (Yauheni Kaliuta) [1874005] - [scripts] kbuild: Parameterize kallsyms generation and correct reporting (Yauheni Kaliuta) [1874005] - [tools] bpf: Compile resolve_btfids tool at kernel compilation start (Yauheni Kaliuta) [1874005] - [kernel] tracing: Make struct ring_buffer less ambiguous (Yauheni Kaliuta) [1874005] - [kernel] tracing: Rename trace_buffer to array_buffer (Yauheni Kaliuta) [1874005] - [tools] tools headers: Synchronize linux/bits.h with the kernel sources (Yauheni Kaliuta) [1874005] - [tools] tools headers: Update linux/vdso.h and grab a copy of vdso/const.h (Yauheni Kaliuta) [1874005] - [tools] tools headers: Adopt verbatim copy of compiletime_assert() from kernel sources (Yauheni Kaliuta) [1874005] - [tools] objtool: Query pkg-config for libelf location (Yauheni Kaliuta) [1874005] - [tools] bpf: Add resolve_btfids tool to resolve BTF IDs in ELF object (Yauheni Kaliuta) [1874005] - [samples] bpf: Fix fds_example SIGSEGV error (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix memory leak and optimize BTF sanitization (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Switch perf_buffer test to tracepoint and skeleton (Yauheni Kaliuta) [1874005] - [tools] libbpf: Handle missing BPF_OBJ_GET_INFO_BY_FD gracefully in perf_buffer (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add test relying only on CO-RE and no recent kernel features (Yauheni Kaliuta) [1874005] - [tools] libbpf: Improve BTF sanitization handling (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add btf__set_fd() for more control over loaded BTF FD (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make BTF finalization strict (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: test_progs avoid minus shell exit codes (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: test_progs use another shell exit on non-actions (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix another bpftool segfault without skeleton code enabled (Yauheni Kaliuta) [1874005] - [tools] selftests: bpf: Remove unused bpf_map_def_legacy struct (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Refactor BPF map performance test with libbpf (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Refactor BPF map in map test with libbpf (Yauheni Kaliuta) [1874005] - [samples] samples: bpf: Fix bpf programs with kprobe/sys_connect event (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [tools] bpftool: Add support for BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for BPF_CGROUP_INET_SOCK_RELEASE (Yauheni Kaliuta) [1874005] - [net] bpf: Add BPF_CGROUP_INET_SOCK_RELEASE hook (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Fix compilation error of bpf_iter_task_stack.c (Yauheni Kaliuta) [1874005] - [tools] bpf: Fix bpftool without skeleton code enabled (Yauheni Kaliuta) [1874005] - [net] bpf: Fix build without CONFIG_STACKTRACE (Yauheni Kaliuta) [1874005] - [tools] bpf: selftests: Restore netns after each test (Yauheni Kaliuta) [1874005] - [tools] bpf: selftests: A few improvements to network_helpers.c (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs option for listing test names (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs option for getting number of tests (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test_progs indicate to shell on non-actions (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Turn off -Wnested-externs warning (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Switch test_vmlinux to use hrtimer_range_start_ns (Yauheni Kaliuta) [1874005] - [net] bpf: Fix net/core/filter build errors when INET is not enabled (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add bpf_iter test with bpf_get_task_stack() (Yauheni Kaliuta) [1874005] - [kernel] bpf: Allow pB in bpf_seq_printf() and bpf_trace_printk() (Yauheni Kaliuta) [1874005] - [net] bpf: Introduce helper bpf_get_task_stack() (Yauheni Kaliuta) [1874005] - [net] bpf: Remove redundant synchronize_rcu (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add byte swapping selftest (Yauheni Kaliuta) [1874005] - [tools] libbpf: Make bpf_endian co-exist with vmlinux.h (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Allow substituting custom vmlinux.h for selftests build (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Allow substituting custom vmlinux.h for the build (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test auto-load disabling logic for BPF programs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Support disabling auto-loading BPF programs (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Define attach_type_name array only once (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Define prog_type_name array only once (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add tcp/udp iterator programs to selftests (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Implement sample udp/udp6 bpf_iter programs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Implement sample tcp/tcp6 bpf_iter programs (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add more common macros to bpf_tracing_net.h (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Refactor some net macros to bpf_tracing_net.h (Yauheni Kaliuta) [1874005] - [kernel] bpf: Add bpf_skc_to_udp6_sock() helper (Yauheni Kaliuta) [1874005] - [net] net: bpf: Implement bpf iterator for udp (Yauheni Kaliuta) [1874005] - [net] net: bpf: Add bpf_seq_afinfo in udp_iter_state (Yauheni Kaliuta) [1874005] - [kernel] bpf: Add bpf_skc_to_{tcp, tcp_timewait, tcp_request}_sock() helpers (Yauheni Kaliuta) [1874005] - [net] bpf: Add bpf_skc_to_tcp6_sock() helper (Yauheni Kaliuta) [1874005] - [kernel] bpf: Allow tracing programs to use bpf_jiffies64() helper (Yauheni Kaliuta) [1874005] - [kernel] bpf: Support 'X' in bpf_seq_printf() helper (Yauheni Kaliuta) [1874005] - [net] net: bpf: Implement bpf iterator for tcp (Yauheni Kaliuta) [1874005] - [net] net: bpf: Add bpf_seq_afinfo in tcp_iter_state (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Workaround for get_stack_rawtp test (Yauheni Kaliuta) [1874005] - [tools] libbpf: Prevent loading vmlinux BTF twice (Yauheni Kaliuta) [1874005] - [tools] libbpf: Fix spelling mistake "kallasyms" -> "kallsyms" (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Fix variable shadowing in emit_obj_refs_json() (Yauheni Kaliuta) [1874005] - [tools] tools, bpftool: Correctly evaluate $(BUILD_BPF_SKELS) in Makefile (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add variable-length data concat pattern less than test (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add variable-length data concatenation pattern test (Yauheni Kaliuta) [1874005] - [tools] bpf: Switch most helper return values from 32-bit int to 64-bit long (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Add documentation and sample output for process info (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Show info for processes holding BPF map/prog/link/btf FDs (Yauheni Kaliuta) [1874005] - [tools] libbpf: Wrap source argument of BPF_CORE_READ macro in parentheses (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Generalize BPF skeleton support and generate vmlinux.h (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Minimize bootstrap bpftool (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Move map/prog parsing logic into common (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Add __ksym extern selftest (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add support for extracting kernel symbol addresses (Yauheni Kaliuta) [1874005] - [tools] libbpf: Generalize libbpf externs support (Yauheni Kaliuta) [1874005] - [tools] libbpf: Add a bunch of attribute getters/setters for map definitions (Yauheni Kaliuta) [1874005] - [tools] selftests/bpf: Test access to bpf map pointer (Yauheni Kaliuta) [1874005] - [net] bpf: Set map_btf_{name, id} for all map types (Yauheni Kaliuta) [1874005] - [net] bpf: Support access to bpf map fields (Yauheni Kaliuta) [1874005] - [net] bpf: Rename bpf_htab to bpf_shtab in sock_map (Yauheni Kaliuta) [1874005] - [net] bpf: Switch btf_parse_vmlinux to btf_find_by_name_kind (Yauheni Kaliuta) [1874005] - [tools] tools/bpftool: Relicense bpftool's BPF profiler prog as dual-license GPL/BSD (Yauheni Kaliuta) [1874005] - [tools] tools/bpf: Add verifier tests for 32bit pointer/scalar arithmetic (Yauheni Kaliuta) [1874005] - [net] bpf: Avoid verifier failure for 32bit pointer arithmetic (Yauheni Kaliuta) [1874005] - [net] bpf: sk_storage: Prefer to get a free cache_idx (Yauheni Kaliuta) [1874005] - [tools] libbpf: Bump version to 0.1.0 (Yauheni Kaliuta) [1874005] - [s390] s390/pci: fix hot-plug of PCI function missing bus (Philipp Rudo) [1915916] - [net] tcp: fix race condition when creating child sockets from syncookies (Florian Westphal) [1915164] - [netdrv] bonding: set xfrm feature flags more sanely (Jarod Wilson) [1893979] - [netdrv] bonding: fix feature flag setting at init time (Jarod Wilson) [1893979]- [fs] cifs: handle -EINTR in cifs_setattr (Leif Sahlberg) [1848178] - [tty] serial: 8250: drop the printk from serial8250_interrupt() (Vitaly Kuznetsov) [1919745] - [fs] cifs: do not fail __smb_send_rqst if non-fatal signals are pending (Leif Sahlberg) [1848178] - [netdrv] ibmvnic: continue fatal error reset after passive init (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix: NULL pointer dereference (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix login buffer memory leak (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix rx buffer tracking and index management in replenish_rx_pool partial success (Diego Domingos) [1901513] - [netdrv] ibmvnic: add some debugs (Diego Domingos) [1901513] - [netdrv] ibmvnic: Fix TX completion error handling (Diego Domingos) [1901513] - [netdrv] ibmvnic: Ensure that SCRQ entry reads are correctly ordered (Diego Domingos) [1901513] - [netdrv] ibmvnic: reduce wait for completion time (Diego Domingos) [1901513] - [netdrv] ibmvnic: no reset timeout for 5 seconds after reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: send_login should check for crq errors (Diego Domingos) [1901513] - [netdrv] ibmvnic: track pending login (Diego Domingos) [1901513] - [netdrv] ibmvnic: delay next reset if hard reset fails (Diego Domingos) [1901513] - [netdrv] ibmvnic: restore adapter state on failed reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: avoid memset null scrq msgs (Diego Domingos) [1901513] - [netdrv] ibmvnic: stop free_all_rwi on failed reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: handle inconsistent login with reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: enhance resetting status check during module exit (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues (Diego Domingos) [1901513] - [netdrv] ibmvnic: skip tx timeout reset while in resetting (Diego Domingos) [1901513] - [netdrv] ibmvnic: notify peers when failover and migration happen (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix call_netdevice_notifiers in do_reset (Diego Domingos) [1901513] - [netdrv] ibmvnic: Do not replenish RX buffers after every polling loop (Diego Domingos) [1901513] - [netdrv] ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX buffers (Diego Domingos) [1901513] - [netdrv] ibmvnic: Correctly re-enable interrupts in NAPI polling routine (Diego Domingos) [1901513] - [netdrv] ibmvnic: Ensure that device queue memory is cache-line aligned (Diego Domingos) [1901513] - [netdrv] ibmvnic: Remove send_subcrq function (Diego Domingos) [1901513] - [netdrv] ibmvnic: Clean up TX code and TX buffer data structure (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce xmit_more support using batched subCRQ hcalls (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce batched RX buffer descriptor transmission (Diego Domingos) [1901513] - [netdrv] ibmvnic: Introduce indirect subordinate Command Response Queue buffer (Diego Domingos) [1901513] - [netdrv] ibmvnic: fix ibmvnic_set_mac (Diego Domingos) [1901513] - [netdrv] ibmvnic: save changed mac address to adapter->mac_addr (Diego Domingos) [1901513] - [netdrv] ibmvnic: create send_control_ip_offload (Diego Domingos) [1901513] - [netdrv] ibmvnic: create send_query_ip_offload (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename send_map_query to send_query_map (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename ibmvnic_send_req_caps to send_request_cap (Diego Domingos) [1901513] - [netdrv] ibmvnic: rename send_cap_queries to send_query_cap (Diego Domingos) [1901513] - [netdrv] ibmvnic: set up 200GBPS speed (Diego Domingos) [1901513] - [netdrv] Revert "ibmvnic: remove never executed if statement" (Diego Domingos) [1901513] - [netdrv] ibmvnic: Harden device Command Response Queue handshake (Diego Domingos) [1901513] - [netdrv] ibmvnic: Fix use-after-free of VNIC login response buffer (Diego Domingos) [1901513] - [netdrv] ibmvnic: merge ibmvnic_reset_init and ibmvnic_init (Diego Domingos) [1901513] - [netdrv] ibmvnic: remove never executed if statement (Diego Domingos) [1901513] - [netdrv] ibmvnic: improve ibmvnic_init and ibmvnic_reset_init (Diego Domingos) [1901513] - [netdrv] ibmvnic: compare adapter->init_done_rc with more readable ibmvnic_rc_codes (Diego Domingos) [1901513] - [netdrv] ibmvnic: store RX and TX subCRQ handle array in ibmvnic_adapter struct (Diego Domingos) [1901513] - [netdrv] net: ibm: fix return type of ndo_start_xmit function (Diego Domingos) [1901513] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (David Arcari) [1916478] - [x86] x86/cpu/amd: Call init_amd_zn() om Family 19h processors too (David Arcari) [1916478] - [ata] ahci: Add Intel Emmitsburg PCH RAID PCI IDs (David Arcari) [1894284] - [vfio] vfio iommu: Add dma available capability (Philipp Rudo) [1903970] - [x86] x86/entry/64: Do not include inst.h in calling.h (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix GS == 1, 2, and 3 tests (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Reap a forgotten child (Scott Wood) [1490498] - [x86] x86/fsgsbase: Replace static_cpu_has() with boot_cpu_has() (Scott Wood) [1490498] - [x86] x86/entry/64: Correct the comment over SAVE_AND_SET_GSBASE (Scott Wood) [1490498] - [x86] x86/entry/64: Do not use RDPID in paranoid entry to accomodate KVM (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task (Scott Wood) [1490498] - [x86] x86/fsgsbase: Fix Xen PV support (Scott Wood) [1490498] - [x86] x86/ptrace: Fix 32-bit PTRACE_SETREGS vs fsbase and gsbase (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Add a missing memory constraint (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix a comment in the ptrace_write_gsbase test (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test GS selector on ptracer-induced GS base write (Scott Wood) [1490498] - [documentation] Documentation/x86/64: Add documentation for GS/FS addressing mode (Scott Wood) [1490498] - [x86] x86/elf: Enumerate kernel FSGSBASE capability in AT_HWCAP2 (Scott Wood) [1490498] - [x86] x86/cpu: Enable FSGSBASE on 64bit by default and add a chicken bit (Scott Wood) [1490498] - [x86] x86/entry/64: Handle FSGSBASE enabled paranoid entry/exit (Scott Wood) [1490498] - [x86] x86/entry/64: Remove TRACE_IRQS_*_DEBUG (Scott Wood) [1490498] - [x86] x86/entry/64: Introduce the FIND_PERCPU_BASE macro (Scott Wood) [1490498] - [x86] x86/entry/64: Switch CR3 before SWAPGS in paranoid entry (Scott Wood) [1490498] - [x86] x86/speculation/swapgs: Check FSGSBASE in enabling SWAPGS mitigation (Scott Wood) [1490498] - [x86] x86/process/64: Use FSGSBASE instructions on thread copy and ptrace (Scott Wood) [1490498] - [x86] x86/process: Unify copy_thread_tls() (Scott Wood) [1490498] - [x86] x86/process/64: Use FSBSBASE in switch_to() if available (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Enable FSGSBASE instructions in helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Add intrinsics for FSGSBASE instructions (Scott Wood) [1490498] - [x86] x86/cpu: Add 'unsafe_fsgsbase' to enable CR4.FSGSBASE (Scott Wood) [1490498] - [x86] x86/ptrace: Prevent ptrace from clearing the FS/GS selector (Scott Wood) [1490498] - [x86] x86/ptrace: Document FSBASE and GSBASE ABI oddities (Scott Wood) [1490498] - [x86] Revert "x86/ptrace: Prevent ptrace from clearing the FS/GS selector" and fix the test (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Fix some test case bugs (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test ptracer-induced GSBASE write with FSGSBASE (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test RD/WRGSBASE (Scott Wood) [1490498] - [documentation] kbuild: Raise the minimum required binutils version to 2.21 (Scott Wood) [1490498] - [tools] selftests/x86/fsgsbase: Test ptracer-induced GSBASE write (Scott Wood) [1490498] - [x86] x86/ptrace: Prevent ptrace from clearing the FS/GS selector (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix the base write helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Clean up various details (Scott Wood) [1490498] - [x86] x86/segments: Introduce the 'CPUNODE' naming to better document the segment limit CPU/node NR trick (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Factor out FS/GS segment loading from __switch_to() (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Convert the ELF core dump code to the new FSGSBASE helpers (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Make ptrace use the new FS/GS base helpers (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Introduce FS/GS base helper functions (Scott Wood) [1490498] - [x86] x86/fsgsbase/64: Fix ptrace() to read the FS/GS base accurately (Scott Wood) [1490498] - [net] esp: select CRYPTO_SEQIV (Vladis Dronov) [1905088] - [crypto] treewide: Use fallthrough pseudo-keyword (Vladis Dronov) [1905088] - [crypto] crypto: drbg - always try to free Jitter RNG instance (Vladis Dronov) [1905088] - [crypto] crypto: drbg - should select CTR (Vladis Dronov) [1905088] - [crypto] crypto: ctr - no longer needs CRYPTO_SEQIV (Vladis Dronov) [1905088] - [crypto] crypto: drbg - always seeded with SP800-90B compliant noise source (Vladis Dronov) [1905088] - [crypto] crypto: jitter - SP800-90B compliance (Vladis Dronov) [1905088] - [crypto] crypto: jitter - add header to fix buildwarnings (Vladis Dronov) [1905088] - [crypto] crypto: jitter - fix comments (Vladis Dronov) [1905088] - [crypto] crypto: jitter - update implementation to 2.1.2 (Vladis Dronov) [1905088] - [crypto] crypto: drbg - in-place cipher operation for CTR (Vladis Dronov) [1905088] - [crypto] crypto: drbg - eliminate constant reinitialization of SGL (Vladis Dronov) [1905088] - [vfio] vfio/pci: Implement ioeventfd thread handler for contended memory lock (Alex Williamson) [1861560] - [vfio] vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages (Alex Williamson) [1896568] - [vfio] vfio/pci: Clear token on bypass registration failure (Alex Williamson) [1896568] - [vfio] vfio/type1: fix dirty bitmap calculation in vfio_dma_rw (Alex Williamson) [1497898] - [vfio] vfio: fix a missed vfio group put in vfio_pin_pages (Alex Williamson) [1497898] - [vfio] vfio: add a singleton check for vfio_group_pin_pages (Alex Williamson) [1497898] - [vfio] vfio/pci: Don't regenerate vconfig for all BARs if !bardirty (Alex Williamson) [1896568] - [vfio] vfio/pci: Remove redundant declaration of vfio_pci_driver (Alex Williamson) [1896568] - [uapi] vfio: Fix typo of the device_state (Alex Williamson) [1497898] - [vfio] vfio/type1: Add proper error unwind for vfio_iommu_replay() (Alex Williamson) [1866141] - [vfio] vfio-pci: Avoid recursive read-lock usage (Alex Williamson) [1861560] - [vfio] vfio/type1: Refactor vfio_iommu_type1_ioctl() (Alex Williamson) [1896568] - [vfio] vfio/pci: Add QAT devices to denylist (Alex Williamson) [1896565] - [vfio] vfio/pci: Add device denylist (Alex Williamson) [1896565] - [vfio] vfio/pci: Hold igate across releasing eventfd contexts (Alex Williamson) [1896568] - [vfio] vfio/type1: Add conditional rescheduling after iommu map failed (Alex Williamson) [1896568] - [vfio] vfio/pci: Add Intel X550 to hidden INTx devices (Alex Williamson) [1896567] - [vfio] vfio: Cleanup allowed driver naming (Alex Williamson) [1896568] - [uapi] vfio/type1: Fix migration info capability ID (Alex Williamson) [1497898] - [vfio] vfio iommu: typecast corrections (Alex Williamson) [1497898] - [vfio] vfio iommu: Use shift operation for 64-bit integer division (Alex Williamson) [1497898] - [vfio] vfio/mdev: Fix reference count leak in add_mdev_supported_type (Alex Williamson) [1896568] - [vfio] vfio: Selective dirty page tracking if IOMMU backed device pins pages (Alex Williamson) [1497898] - [vfio] vfio iommu: Add migration capability to report supported features (Alex Williamson) [1497898] - [vfio] vfio iommu: Update UNMAP_DMA ioctl to get dirty bitmap before unmap (Alex Williamson) [1497898] - [vfio] vfio iommu: Implementation of ioctl for dirty pages tracking (Alex Williamson) [1497898] - [uapi] vfio iommu: Add ioctl definition for dirty pages tracking (Alex Williamson) [1497898] - [vfio] vfio iommu: Cache pgsize_bitmap in struct vfio_iommu (Alex Williamson) [1497898] - [vfio] vfio iommu: Remove atomicity of ref_count of pinned pages (Alex Williamson) [1497898] - [uapi] vfio: UAPI for migration interface for device state (Alex Williamson) [1497898] - [vfio] vfio/pci: Remove dev_fmt definition (Alex Williamson) [1896568] - [vfio] vfio: Use dev_printk() when possible (Alex Williamson) [1896568] - [drm] drm: allow limiting the scatter list size (Lyude Paul) [1876018 1851790] - [drm] drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid() (Lyude Paul) [1876018] - [drm] drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid() (Lyude Paul) [1876018] - [drm] DRM Backport 5.8 -> 5.9 (Lyude Paul) [1876018] - [drm] drm/edid: Fix uninitialized variable in drm_cvt_modes() (Lyude Paul) [1876018] - [of] of_graph: add of_graph_is_present() (Lyude Paul) [1876018] - [drm] virtio: virtio_has_iommu_quirk -> virtio_has_dma_quirk (Lyude Paul) [1876018] - [vhost] virtio: VIRTIO_F_IOMMU_PLATFORM -> VIRTIO_F_ACCESS_PLATFORM (Lyude Paul) [1876018] - [include] virtio_config: LE config space accessors (Lyude Paul) [1876018] - [kernel] sched: Remove sched_set_*() return value (Lyude Paul) [1876018] - [include] scatterlist: protect parameters of the sg_table related macros (Lyude Paul) [1876018] - [include] scatterlist: add generic wrappers for iterating over sgtable objects (Lyude Paul) [1876018] - [dma] dma-mapping: add generic helpers for mapping sgtable objects (Lyude Paul) [1876018] - [drm] DRM Backport 5.7 -> 5.8 (Lyude Paul) [1876018] - [drm] drm/fb-helper: Fix vt restore (Lyude Paul) [1876018] - [tty] tty/sysrq: constify the the sysrq_key_op(s) (Lyude Paul) [1876018] - [tools] augmented rbtree: rework the RB_DECLARE_CALLBACKS macro definition (Lyude Paul) [1876018] - [mm] augmented rbtree: add new RB_DECLARE_CALLBACKS_MAX macro (Lyude Paul) [1876018] - [tools] augmented rbtree: add comments for RB_DECLARE_CALLBACKS macro (Lyude Paul) [1876018] - [tools] rbtree: avoid generating code twice for the cached versions (tools copy) (Lyude Paul) [1876018] - [tty] tty/sysrq: constify the sysrq API (Lyude Paul) [1876018] - [tty] tty/sysrq: alpha: export and use __sysrq_get_key_op() (Lyude Paul) [1876018] - [include] uaccess: Add user_read_access_begin/end and user_write_access_begin/end (Lyude Paul) [1876018] - [PATCH] [drm] DRM Backport 5.6 -> 5.7 (Lyude Paul) [1876018] - [vfio] vfio: avoid inefficient operations on VFIO group in vfio_pin/unpin_pages (Lyude Paul) [1876018] - [vfio] vfio: allow external user to get vfio group from device (Lyude Paul) [1876018] - [drm] drm/fbdev-helper: don't force restores (Lyude Paul) [1876018] - [include] vgaswitcheroo: call fbcon_remap_all directly (Lyude Paul) [1876018] - [video] fbcon: Do not takeover the console from atomic context (Lyude Paul) [1878805 1876018] - [video] fbcon: Only defer console takeover if the current console driver is the dummycon (Lyude Paul) [1878805 1876018] - [video] fbcon: Only allow FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER if fbdev is builtin (Lyude Paul) [1878805 1876018] - [video] console/fbcon: Add support for deferred console takeover (Lyude Paul) [1878805 1876018] - [video] fbcon: Call WARN_CONSOLE_UNLOCKED() where applicable (Lyude Paul) [1878805 1876018] - [mm] mm: Split huge pages on write-notify or COW (Chris von Recklinghausen) [1913692] - [mm] mm: Introduce vma_is_special_huge (Chris von Recklinghausen) [1913692]- [tools] kselftests: set rx/txtimestamp.sh to correct permission (Hangbin Liu) [1908269] - [tools] kselftests: set udpgro.sh, udpgro_bench.sh, reuseport_addr_any.sh to correct permission (Hangbin Liu) [1908269] - [net] DCB: Validate DCB_ATTR_DCB_BUFFER argument (Balazs Nemeth) [1891595] - [net] netlabel: remove unused param from audit_log_format() (Balazs Nemeth) [1891595] - [net] netlabel: fix problems with mapping removal (Balazs Nemeth) [1891595] - [net] af_key: pfkey_dump needs parameter validation (Balazs Nemeth) [1891595] - [tools] perf tools: Add 'evlist' control command (Jiri Olsa) [1844111] - [tools] perf tools: Allow to enable/disable events via control file (Jiri Olsa) [1844111] - [tools] perf tools: Add evlist__disable_evsel/evlist__enable_evsel (Jiri Olsa) [1844111] - [tools] perf tools: Reformat record's control fd man text (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' 'find' methods (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' enable event methods (Jiri Olsa) [1844111] - [tools] perf evlist: Use the right prefix for 'struct evlist' 'toggle' methods (Jiri Olsa) [1844111] - [x86] perf/amd/uncore: Inform the user how many counters each uncore PMU has (Michael Petlan) [1884816] - [powercap] powercap: RAPL: Add AMD Fam19h RAPL support (Michael Petlan) [1884816] - [powercap] powercap: Add AMD Fam17h RAPL support (Michael Petlan) [1884816] - [powercap] powercap/intel_rapl_msr: Convert rapl_msr_priv into pointer (Michael Petlan) [1884816] - [x86] x86/msr-index: sort AMD RAPL MSRs by address (Michael Petlan) [1884816] - [thunderbolt] thunderbolt: Add support for Intel Maple Ridge (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add USB4 router operation proxy for firmware connection manager (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Move constants for USB4 router operations to tb_regs.h (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add connection manager specific hooks for USB4 router operations (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Pass TX and RX data directly to usb4_switch_op() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Pass metadata directly to usb4_switch_op() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Perform USB4 router NVM upgrade in two phases (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Return -ENOTCONN when ERR_CONN is received (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Keep the parent runtime resumed for a while on device disconnect (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Log adapter numbers in decimal in path activation/deactivation (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Log which connection manager implementation is used (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Move max_boot_acl field to correct place in struct icm (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Fix use-after-free in remove_unplugged_switch() (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add DMA traffic test driver (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add support for end-to-end flow control (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Make it possible to allocate one directional DMA tunnel (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Create debugfs directory automatically for services (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add functions for enabling and disabling lane bonding on XDomain (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Add link_speed and link_width to XDomain (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Create XDomain devices for loops back to the host (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Find XDomain by route instead of UUID (Torez Smith) [1782721] - [thunderbolt] thunderbolt: Do not clear USB4 router protocol adapter IFC and ISE bits (Torez Smith) [1782721] - [net] ipv6: fib: flush exceptions when purging route (Hangbin Liu) [1916084] - [net] ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init (Hangbin Liu) [1916084] - [net] ipv6: remove unused function ipv6_skb_idev() (Hangbin Liu) [1916084] - [net] ipv6: Fix error path to cancel the meseage (Hangbin Liu) [1916084] - [tools] selftests/net/fib_tests: update addr_metric_test for peer route testing (Hangbin Liu) [1916084] - [net] net/ipv6: remove the old peer route if change it to a new one (Hangbin Liu) [1916084] - [tools] selftests/net: remove not backported tests (Hangbin Liu) [1908340] - [netdrv] bonding: add a vlan+srcmac tx hashing option (Jarod Wilson) [1724795] - [security] selinux: mark selinux_xfrm_refcount as __read_mostly (Ondrej Mosnacek) [1904940] - [net] udp: fix integer overflow while computing available space in sk_rcvbuf (Xin Long) [1916997] - [fs] NFSv4: make cache consistency bitmask dynamic (Steve Dickson) [1881647] - [include] NFSv4: Save a few bytes in the nfs_pgio_args/res (Steve Dickson) [1881647] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1884818 1908305] - [tools] perf test: Use generic event for expand_libpfm_events() (Michael Petlan) [1884818 1908305] - [tools] perf probe: Change function definition check due to broken DWARF (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fix to die_entrypc() returns error correctly (Michael Petlan) [1884818 1908305] - [tools] perf stat: Use proper cpu for shadow stats (Michael Petlan) [1884818 1908305] - [tools] perf record: Synthesize cgroup events only if needed (Michael Petlan) [1884818 1908305] - [tools] perf diff: Fix error return value in __cmd_diff() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Update copy of libbpf's hashmap.c (Michael Petlan) [1884818 1908305] - [tools] perf test: Avoid an msan warning in a copied stack (Michael Petlan) [1884818 1908305] - [tools] perf inject: Fix file corruption due to event deletion (Michael Petlan) [1884818 1908305] - [tools] perf test: Update branch sample pattern for cs-etm (Michael Petlan) [1884818 1908305] - [tools] perf test: Fix a typo in cs-etm testing (Michael Petlan) [1884818 1908305] - [tools] perf lock: Don't free "lock_seq_stat" if read_count isn't zero (Michael Petlan) [1884818 1908305] - [tools] perf lock: Correct field name "flags" (Michael Petlan) [1884818 1908305] - [tools] tools feature: Fixup fast path feature detection (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add missing swap for cgroup events (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add missing swap for ino_generation (Michael Petlan) [1884818 1908305] - [tools] perf tools: Initialize output buffer in build_id__sprintf (Michael Petlan) [1884818 1908305] - [tools] perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() (Michael Petlan) [1884818 1908305] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1884818 1908305] - [tools] perf scripting python: Avoid declaring function pointers with a visibility attribute (Michael Petlan) [1884818 1908305] - [tools] perf tools: Remove broken __no_tail_call attribute (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Fix DRAM_BW_Use 0 issue for CLX/SKX (Michael Petlan) [1884818 1908305] - [tools] perf trace: Fix segfault when trying to trace events by cgroup (Michael Petlan) [1884818 1908305] - [tools] perf tools: Fix crash with non-jited bpf progs (Michael Petlan) [1884818 1908305] - [tools] perf tools: Update copy of libbpf's hashmap.c (Michael Petlan) [1884818 1908305] - [tools] perf tools: Remove LTO compiler options when building perl support (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Update documentation for metrics reorganization (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Add metrics "RMT Load Hit" (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Correct LLC load hit metrics (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Change header for LLC local hit (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Use more explicit headers for HITM (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Change header from "LLC Load Hitm" to "Load Hitm" (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Organize metrics based on memory hierarchy (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Display "Total Stores" as a standalone metrics (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Display the total numbers continuously (Michael Petlan) [1884818 1908305] - [tools] perf bench: Use condition variables in numa (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Fix event code for events referencing std arch events (Michael Petlan) [1884818 1908305] - [tools] perf diff: Support hot streams comparison (Michael Petlan) [1884818 1908305] - [tools] perf streams: Report hot streams (Michael Petlan) [1884818 1908305] - [tools] perf streams: Calculate the sum of total streams hits (Michael Petlan) [1884818 1908305] - [tools] perf streams: Link stream pair (Michael Petlan) [1884818 1908305] - [tools] perf streams: Compare two streams (Michael Petlan) [1884818 1908305] - [tools] perf streams: Get the evsel_streams by evsel_idx (Michael Petlan) [1884818 1908305] - [tools] perf streams: Introduce branch history "streams" (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Improve PT documentation slightly (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add support for exclusive groups/events (Michael Petlan) [1884818 1908305] - [tools] perf test: Add build id shell test (Michael Petlan) [1884818 1908305] - [tools] perf tools: Align buildid list output for short build ids (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add size to 'struct perf_record_header_build_id' (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to dso__build_id_equal() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to dso__set_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to build_id__sprintf() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build id object to sysfs__read_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Pass build_id object to filename__read_build_id() (Michael Petlan) [1884818 1908305] - [tools] perf tools: Use build_id object in dso (Michael Petlan) [1884818 1908305] - [tools] perf config: Export the perf_config_from_file() function (Michael Petlan) [1884818 1908305] - [tools] perf python: Autodetect python3 binary (Michael Petlan) [1884818 1908305] - [tools] perf tests: Show python test script in verbose mode (Michael Petlan) [1884818 1908305] - [tools] perf c2c: Update usage for showing memory events (Michael Petlan) [1884818 1908305] - [tools] perf stat: Fix out of bounds CPU map access when handling armv8_pmu events (Michael Petlan) [1884818 1908305] - [tools] perf python scripting: Fix printable strings in python3 scripts (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Fix uncore metric expressions (Michael Petlan) [1884818 1908305] - [tools] perf parse-event: Release cpu_map refcount if evsel alloc failed (Michael Petlan) [1884818 1908305] - [tools] perf parse-event: Fix cpu map refcounting (Michael Petlan) [1884818 1908305] - [tools] tools lib traceevent: Hide non API functions (Michael Petlan) [1884818 1908305] - [tools] perf sched: Show start of latency as well (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Fix typos in power8 PMU events (Michael Petlan) [1884818 1908305] - [tools] perf bench: Run inject-build-id with --buildid-all option too (Michael Petlan) [1884818 1908305] - [tools] perf inject: Add --buildid-all option (Michael Petlan) [1884818 1908305] - [tools] perf inject: Do not load map/dso when injecting build-id (Michael Petlan) [1884818 1908305] - [tools] perf inject: Enter namespace when reading build-id (Michael Petlan) [1884818 1908305] - [tools] perf inject: Add missing callbacks in perf_tool (Michael Petlan) [1884818 1908305] - [tools] perf bench: Add build-id injection benchmark (Michael Petlan) [1884818 1908305] - [tools] perf trace: Use the autogenerated mmap 'prot' string/id table (Michael Petlan) [1884818 1908305] - [tools] tools beauty: Add script to generate table of mmap's 'prot' argument (Michael Petlan) [1884818 1908305] - [tools] perf beauty mmap_flags: Conditionaly define the mmap flags (Michael Petlan) [1884818 1908305] - [tools] perf trace beauty: Add script to autogenerate mremap's flags args string/id table (Michael Petlan) [1884818 1908305] - [tools] perf tools: Separate the checking of headers only used to build beautification tables (Michael Petlan) [1884818 1908305] - [tools] perf parse-events: Reduce casts around bp_addr (Michael Petlan) [1884818 1908305] - [tools] perf test: Add expand cgroup event test (Michael Petlan) [1884818 1908305] - [tools] perf tools: Allow creation of cgroup without open (Michael Petlan) [1884818 1908305] - [tools] perf tools: Copy metric events properly when expand cgroups (Michael Petlan) [1884818 1908305] - [tools] perf stat: Add --for-each-cgroup option (Michael Petlan) [1884818 1908305] - [tools] perf evsel: Add evsel__clone() function (Michael Petlan) [1884818 1908305] - [tools] perf vendor events: Update SkylakeX events to v1.21 (Michael Petlan) [1884818 1908305] - [tools] perf vendor events intel: Update CascadelakeX events to v1.08 (Michael Petlan) [1884818 1908305] - [tools] perf script: Add min, max to futex-contention output, in addition to avg (Michael Petlan) [1884818 1908305] - [tools] perf script: Autopep8 futex-contention (Michael Petlan) [1884818 1908305] - [tools] perf stat: Skip duration_time in setup_system_wide (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Support cap_user_time_short for event TIME_CONV (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Calculate timestamp with cap_user_time_short (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Add rdtsc() for Arm64 (Michael Petlan) [1884818 1908305] - [tools] perf tsc: Move out common functions from x86 (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fall back to debuginfod query if debuginfo and source not found locally (Michael Petlan) [1884818 1908305] - [tools] perf probe: Fix to adjust symbol address with correct reloc_sym address (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Fix "context_switch event has no tid" error (Michael Petlan) [1884818 1908305] - [tools] perf script: Display negative tid in non-sample events (Michael Petlan) [1884818 1908305] - [tools] perf docs: Improve help information in perf.txt (Michael Petlan) [1884818 1908305] - [tools] perf metric: Remove duplicate include (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add documentation for topdown metrics (Michael Petlan) [1884818 1908305] - [tools] perf stat: Support new per thread TopDown metrics (Michael Petlan) [1884818 1908305] - [tools] perf record: Support sample-read topdown metric group (Michael Petlan) [1884818 1908305] - [tools] perf tools: Rename group to topdown (Michael Petlan) [1884818 1908305] - [tools] perf machine: Add machine__for_each_dso() function (Michael Petlan) [1884818 1908305] - [tools] perf tests: Call test_attr__open() directly (Michael Petlan) [1884818 1908305] - [tools] perf vendor events power9: Add hv_24x7 core level metric events (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Pass pmu_event structure as a parameter for arch_get_runtimeparam() (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Add support for parsing perchip/percore events (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Add new structure to pass json fields (Michael Petlan) [1884818 1908305] - [tools] perf jevents: Make json_events() static and ditch jevents.h file (Michael Petlan) [1884818 1908305] - [tools] perf test: Introduce script for Arm CoreSight testing (Michael Petlan) [1884818 1908305] - [tools] perf metricgroup: Fix typo in comment (Michael Petlan) [1884818 1908305] - [tools] perf stat: Remove dead code: no need to set os.evsel twice (Michael Petlan) [1884818 1908305] - [tools] perf list: Do not print 'Metric Groups:' unnecessarily (Michael Petlan) [1884818 1908305] - [tools] perf list: Remove dead code in argument check (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add build test with GTK+ (Michael Petlan) [1884818 1908305] - [tools] tools feature: Add missing -lzstd to the fast path feature detection (Michael Petlan) [1884818 1908305] - [tools] perf tools: Make GTK2 support opt-in (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Enable Family 19h users by matching Zen2 events (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add recommended events (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add ITLB Instruction Fetch Hits event for zen1 (Michael Petlan) [1884818 1908305] - [tools] perf vendor events amd: Add L2 Prefetch events for zen1 (Michael Petlan) [1884818 1908305] - [tools] perf: ftrace: Add filter support for option -F/--funcs (Michael Petlan) [1884818 1908305] - [tools] perf tools: Consolidate close_control_option()'s into one function (Michael Petlan) [1884818 1908305] - [tools] perf intel-pt: Document snapshot control command (Michael Petlan) [1884818 1908305] - [tools] perf annotate: Add 'ret' (intel disasm style) as an alias for 'retq' (Michael Petlan) [1884818 1908305] - [tools] perf annotate: Allow configuring the 'disassembler_style' knob via 'perf config' (Michael Petlan) [1884818 1908305] - [tools] perf record: Add 'snapshot' control command (Michael Petlan) [1884818 1908305] - [tools] perf tools: Add FIFO file names as alternative options to --control (Michael Petlan) [1884818 1908305] - [tools] perf tools: Use AsciiDoc formatting for --control option documentation (Michael Petlan) [1884818 1908305] - [tools] perf tools: Handle read errors from ctl_fd (Michael Petlan) [1884818 1908305] - [tools] perf tools: Consolidate --control option parsing into one function (Michael Petlan) [1884818 1908305] - [tools] perf tests: Add test for PE binary format support (Michael Petlan) [1884818 1908305] - [tools] perf symbols: Try reading the symbol table with libbfd (Michael Petlan) [1884818 1908305] - [tools] perf dso: Use libbfd to read build_id and .gnu_debuglink section (Michael Petlan) [1884818 1908305] - [tools] tools features: Add feature test to check if libbfd has buildid support (Michael Petlan) [1884818 1908305] - [tools] tools: Remove feature-libelf-mmap feature detection (Michael Petlan) [1884818 1908305] - [tools] perf build: Allow nested externs to enable BUILD_BUG() usage (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Check PEBS status correctly (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS (Michael Petlan) [1884818 1908305] - [x86] perf/x86: fix sysfs type mismatches (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Make anythread filter support conditional (Michael Petlan) [1884818 1908305] - [kernel] perf: Tweak perf_event_attr::exclusive semantics (Michael Petlan) [1884818 1908305] - [kernel] perf: Fix event multiplexing for exclusive groups (Michael Petlan) [1884818 1908305] - [kernel] perf: Simplify group_sched_in() (Michael Petlan) [1884818 1908305] - [kernel] perf: Simplify group_sched_out() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Make dummy_iregs static (Michael Petlan) [1884818 1908305] - [include] perf/arch: Remove perf_sample_data::regs_user_copy (Michael Petlan) [1884818 1908305] - [kernel] perf: Optimize get_recursion_context() (Michael Petlan) [1884818 1908305] - [kernel] perf: Fix get_recursion_context() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Reduce stack usage for x86_pmu::drain_pebs() (Michael Petlan) [1884818 1908305] - [kernel] perf: Reduce stack usage of perf_output_begin() (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Fix a memory leak in perf_event_parse_addr_filter() (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Fix n_metric for cancelled txn (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Fix n_pair for cancelled txn (Michael Petlan) [1884818 1908305] - [x86] x86/events/amd/iommu: Fix sizeof mismatch (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Check perf metrics feature for each CPU (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix Ice Lake event constraint table (Michael Petlan) [1884818 1908305] - [x86] perf/x86/msr: Add Jasper Lake support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Add Jasper Lake support (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Allow F19h user coreid, threadmask, and sliceid specification (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Allow F17h user threadmask and slicemask specification (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Prepare to scale for more attributes that vary per family (Michael Petlan) [1884818 1908305] - [x86] arch/x86/amd/ibs: Fix re-arming IBS Fetch (Michael Petlan) [1884818 1908305] - [x86] perf/x86/rapl: Add AMD Fam19h RAPL support (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Support 27-bit extended Op/cycle counter (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Fix raw sample data accumulation (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/amd: Fix sampling Large Increment per Cycle events (Michael Petlan) [1884818 1908305] - [x86] perf/amd/uncore: Set all slices and threads to restore perf stat -a behaviour (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Pull pmu::sched_task() into perf_event_context_sched_out() (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Pull pmu::sched_task() into perf_event_context_sched_in() (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Support per-thread RDPMC TopDown metrics (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Support TopDown metrics on Ice Lake (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Add a macro for RDPMC offset of fixed counters (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Generic support for hardware TopDown metrics (Michael Petlan) [1884818 1908305] - [kernel] perf/core: Add a new PERF_EV_CAP_SIBLING event capability (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Use switch in intel_pmu_disable/enable_event (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Fix the name of perf METRICS (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Move BTS index to 47 (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Introduce the fourth fixed counter (Michael Petlan) [1884818 1908305] - [x86] perf/x86/intel: Name the global status bit in NMI handler (Michael Petlan) [1884818 1908305] - [x86] perf/x86: Use event_base_rdpmc for the RDPMC userspace support (Michael Petlan) [1884818 1908305] - [powerpc] powerpc/cacheinfo: Print correct cache-sibling map/list for L2 cache (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Add support detecting thread-groups sharing L2 cache (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Rename init_thread_group_l1_cache_map() to make it generic (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Rename cpu_l1_cache_map as thread_group_l1_cache_map (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Parse ibm, thread-groups with multiple properties (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Use GFP_ATOMIC while allocating tmp mask (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Remove unnecessary variable (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize update_coregroup_mask (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Move coregroup mask updation to a new function (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize update_mask_by_l2 (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Check for duplicate topologies and consolidate (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Depend on cpu_l1_cache_map when adding CPUs (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Stop passing mask to update_mask_by_l2 (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Limit CPUs traversed to within a node (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Optimize remove_cpu_from_masks (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Remove get_physical_package_id (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Stop updating cpu_core_mask (Diego Domingos) [1906504] - [powerpc] powerpc/topology: Update topology_core_cpumask (Diego Domingos) [1906504] - [powerpc] powerpc/topology: Override cpu_smt_mask (Diego Domingos) [1906504] - [include] sched/topology: Allow archs to override cpu_smt_mask (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Add per cpu per index shared_cpu_list (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Make cpumap_show code reusable (Diego Domingos) [1906504] - [powerpc] powerpc/cacheinfo: Use cpumap_print to print cpumap (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Use IS_ENABLED() to avoid #ifdef (Diego Domingos) [1906504] - [powerpc] powerpc/smp: Drop superfluous NULL check (Diego Domingos) [1906504] - [vfio] pci: Cleanup .probe() exit paths (Clark Williams) [1860192] - [vfio] pci: Add sriov_configure support (Clark Williams) [1860192] - [vfio] Introduce VFIO_DEVICE_FEATURE ioctl and first user (Clark Williams) [1860192] - [vfio] pci: Introduce VF token (Clark Williams) [1860192] - [vfio] pci: Implement match ops (Clark Williams) [1860192] - [vfio] Include optional device match in vfio_device_ops callbacks (Clark Williams) [1860192] - [infiniband] IB/hfi1: Ensure correct mm is used at all times (Kamal Heib) [1879586] {CVE-2020-27835} - [block] rbd: require global CAP_SYS_ADMIN for mapping and unmapping (Ming Lei) [1887327] {CVE-2020-25284}- [tools] kunit: tool: unmark test_data as binary blobs (Nico Pache) [1900119] - [tools] kunit: tools: fix kunit_tool tests for parsing test plans (Nico Pache) [1900119] - [documentation] Documentation: kunit: Update Kconfig parts for KUNIT's module support (Nico Pache) [1900119] - [tools] kunit: Don't fail test suites if one of them is empty (Nico Pache) [1900119] - [tools] kunit: Fix kunit.py --raw_output option (Nico Pache) [1900119] - [tools] kunit: tool: fix improper treatment of file location (Nico Pache) [1900119] - [tools] kunit: tool: fix broken default args in unit tests (Nico Pache) [1900119] - [tools] kunit: capture stderr on all make subprocess calls (Nico Pache) [1900119] - [documentation] Documentation: kunit: Remove references to --defconfig (Nico Pache) [1900119] - [kernel] kcsan: Add test suite (Nico Pache) [1900119] - [documentation] Documentation: kunit: Add some troubleshooting tips to the FAQ (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Fix invalid result when build fails (Nico Pache) [1900119] - [tools] kunit: show error if kunit results are not present (Nico Pache) [1900119] - [tools] kunit: kunit_config: Fix parsing of CONFIG options with space (Nico Pache) [1900119] - [lib] kunit: add support for named resources (Nico Pache) [1900119] - [lib] kunit: generalize kunit_resource API beyond allocated resources (Nico Pache) [1900119] - [security] security: apparmor: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [fs] fs: ext4: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [base] drivers: base: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] lib: Kconfig.debug: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] kunit: default KUNIT_* fragments to KUNIT_ALL_TESTS (Nico Pache) [1900119] - [lib] kunit: Kconfig: enable a KUNIT_ALL_TESTS fragment (Nico Pache) [1900119] - [tools] kunit: Fix TabError, remove defconfig code and handle when there is no kunitconfig (Nico Pache) [1900119] - [tools] kunit: use KUnit defconfig by default (Nico Pache) [1900119] - [tools] kunit: use --build_dir=.kunit as default (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Separate out config/build/exec/parse (Nico Pache) [1900119] - [lib] lib/test_linear_ranges: add a test for the 'linear_ranges' (Nico Pache) [1900119] - [lib] kunit: Add missing newline in summary message (Nico Pache) [1900119] - [tools] kunit: tool: add missing test data file content (Nico Pache) [1900119] - [documentation] kunit: update documentation to describe debugfs representation (Nico Pache) [1900119] - [lib] kunit: subtests should be indented 4 spaces according to TAP (Nico Pache) [1900119] - [lib] kunit: add log test (Nico Pache) [1900119] - [lib] kunit: add debugfs /sys/kernel/debug/kunit//results display (Nico Pache) [1900119] - [documentation] Documentation: kunit: Make the KUnit documentation less UML-specific (Nico Pache) [1900119] - [lib] Fix linked-list KUnit test when run multiple times (Nico Pache) [1900119] - [tools] kunit: kunit_tool: Allow .kunitconfig to disable config items (Nico Pache) [1900119] - [lib] kunit: Always print actual pointer values in asserts (Nico Pache) [1900119] - [tools] kunit: add --make_options (Nico Pache) [1900119] - [tools] kunit: Run all KUnit tests through allyesconfig (Nico Pache) [1900119] - [tools] kunit: kunit_parser: make parser more robust (Nico Pache) [1900119] - [of] of: unittest: annotate warnings triggered by unittest (Nico Pache) [1900119] - [of] of: unittest: Disable interrupt node tests for old world MAC systems (Nico Pache) [1900119] - [of] of: unittest: add overlay gpio test to catch gpio hog problem (Nico Pache) [1900119] - [tools] kunit: run kunit_tool from any directory (Nico Pache) [1900119] - [tools] kunit: test: Improve error messages for kunit_tool when kunitconfig is invalid (Nico Pache) [1900119] - [documentation] Documentation: kunit: fixed sphinx error in code block (Nico Pache) [1900119] - [base] software node: introduce CONFIG_KUNIT_DRIVER_PE_TEST (Nico Pache) [1900119] - [base] kunit: building kunit as a module breaks allmodconfig (Nico Pache) [1900119] - [documentation] kunit: update documentation to describe module-based build (Nico Pache) [1900119] - [lib] kunit: allow kunit to be loaded as a module (Nico Pache) [1900119] - [lib] kunit: remove timeout dependence on sysctl_hung_task_timeout_seconds (Nico Pache) [1900119] - [lib] kunit: allow kunit tests to be loaded as a module (Nico Pache) [1900119] - [lib] kunit: hide unexported try-catch interface in try-catch-impl.h (Nico Pache) [1900119] - [lib] kunit: move string-stream.h to lib/kunit (Nico Pache) [1900119] - [security] apparmor: add AppArmor KUnit tests for policy unpack (Nico Pache) [1900119] - [tools] kunit/kunit_tool_test: Test '--build_dir' option run (Nico Pache) [1900119] - [tools] kunit: Rename 'kunitconfig' to '.kunitconfig' (Nico Pache) [1900119] - [tools] kunit: Place 'test.log' under the 'build_dir' (Nico Pache) [1900119] - [tools] kunit: Create default config in '--build_dir' (Nico Pache) [1900119] - [tools] kunit: Remove duplicated defconfig creation (Nico Pache) [1900119] - [documentation] docs/kunit/start: Use in-tree 'kunit_defconfig' (Nico Pache) [1900119] - [documentation] Documentation: kunit: add documentation for kunit_tool (Nico Pache) [1900119] - [documentation] Documentation: kunit: fix typos and gramatical errors (Nico Pache) [1900119] - [tools] kunit: testing kunit: Bug fix in test_run_timeout function (Nico Pache) [1900119] - [base] PM / QoS: Initial kunit test (Nico Pache) [1900119] - [lib] lib/list-test: add a test for the 'list' doubly linked list (Nico Pache) [1900119] - [fs] ext4: add kunit test for decoding extended timestamps (Nico Pache) [1900119] - [documentation] Documentation: kunit: Fix verification command (Nico Pache) [1900119] - [tools] kunit: Fix '--build_dir' option (Nico Pache) [1900119] - [lib] kunit: fix failure to build without printk (Nico Pache) [1900119] - [kernel] kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec() (Nico Pache) [1900119] - [documentation] Documentation: kunit: add documentation for KUnit (Nico Pache) [1900119] - [tools] kunit: defconfig: add defconfigs for building KUnit tests (Nico Pache) [1900119] - [tools] kunit: tool: add Python wrappers for running KUnit tests (Nico Pache) [1900119] - [lib] kunit: test: add tests for KUnit managed resources (Nico Pache) [1900119] - [lib] kunit: test: add the concept of assertions (Nico Pache) [1900119] - [lib] kunit: test: add tests for kunit test abort (Nico Pache) [1900119] - [lib] kunit: test: add support for test abort (Nico Pache) [1900119] - [tools] objtool: add kunit_try_catch_throw to the noreturn list (Nico Pache) [1900119] - [tools] objtool: Add rewind_stack_do_exit() to the noreturn list (Nico Pache) [1900119] - [lib] kunit: test: add initial tests (Nico Pache) [1900119] - [lib] lib: enable building KUnit in lib/ (Nico Pache) [1900119] - [lib] kunit: test: add the concept of expectations (Nico Pache) [1900119] - [lib] kunit: test: add assertion printing library (Nico Pache) [1900119] - [lib] kunit: test: add string_stream a std::stream like string builder (Nico Pache) [1900119] - [lib] kunit: test: add test resource management API (Nico Pache) [1900119] - [lib] kunit: test: add KUnit test runner core (Nico Pache) [1900119] - [watchdog] watchdog/hpwdt: Reflect changes (Joseph Szczypek) [1905293] - [watchdog] watchdog/hpwdt: Disable NMI in Crash Kernel (Joseph Szczypek) [1905293] - [idle] intel_idle: add SnowRidge C-state table (Steve Best) [1838554] - [mm] mm: memcg/slab: fix use after free in obj_cgroup_charge (Waiman Long) [1916962] - [mm] mm: memcg/slab: fix return of child memcg objcg for root memcg (Waiman Long) [1916962] - [mm] mm: memcg/slab: fix obj_cgroup_charge() return value handling (Waiman Long) [1916962] - [mm] mm: kmem: move memcg_kmem_bypass() calls to get_mem/obj_cgroup_from_current() (Waiman Long) [1916962] - [s390] s390/kexec_file: fix diag308 subcode when loading crash kernel (Philipp Rudo) [1897184] - [net] ethtool: fix error paths in ethnl_set_channels() (Ivan Vecera) [1906682] - [powerpc] powerpc/pci: Remove LSI mappings on device teardown (Diego Domingos) [1909722] - [powerpc] Revert "powerpc/pci: unmap legacy INTx interrupts of passthrough IO adapters" (Diego Domingos) [1909722] - [block] block: add blk_alloc_queue declaration back (Ming Lei) [1911343] - [net] tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate (Antoine Tenart) [1901863] - [net] tcp_bbr: improve arithmetic division in bbr_update_bw() (Antoine Tenart) [1901863] - [net] tcp_bbr: clarify that bbr_bdp() rounds up in comments (Antoine Tenart) [1901863] - [net] tcp_bbr: adapt cwnd based on ack aggregation estimation (Antoine Tenart) [1901863] - [net] tcp_bbr: fix bbr pacing rate for internal pacing (Antoine Tenart) [1901863]- [wireless] iwlwifi: fw: acpi: Demote non-conformant function headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: dbg: Fix misspelling of 'reg_data' in function header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-phy-db: Add missing struct member description for 'trans' (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-eeprom-parse: Fix 'struct iwl_eeprom_enhanced_txpwr's header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-eeprom-read: Demote one nonconformant function header (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: rs: Demote non-conformant function documentation headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-drv: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Fix fall-through warnings for Clang (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: validate notification size when waiting (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: purge the BSS table upon firmware load (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: check that statistics TLV version match struct version (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add size checks for range response notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: hook up missing RX handlers (Jarod Wilson) [1857772] - [wireless] iwlwifi: tighten RX MPDU bounds checks (Jarod Wilson) [1857772] - [wireless] iwlwifi: Add a new card for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: disconnect if channel switch delay is too long (Jarod Wilson) [1857772] - [wireless] iwlwifi: support firmware reset handshake (Jarod Wilson) [1857772] - [wireless] iwlwifi: add an extra firmware state in the transport (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix a race in CSA that caused assert 0x3420 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: validate firmware sync response size (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: clean up some rx code (Jarod Wilson) [1857772] - [wireless] iwlwifi: use SPDX tags (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg-tlv: fix old length in is_trig_data_contained() (Jarod Wilson) [1857772] - [wireless] iwlwifi: trans: consider firmware dead after errors (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove unnecessary setting of inta_mask (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: file: fix documentation for SAR flag (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove MSIX_HW_INT_CAUSES_REG_IML handling (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clean up scan state on failure (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: do more useful queue sync accounting (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix 22000 series driver NMI (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: change 12k A-MSDU config to use 16k buffers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: move iwl_mvm_stop_device() out of line (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clear up iwl_mvm_notify_rx_queue() argument type (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove sw_csum_tx (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: validate RX descriptor length (Jarod Wilson) [1857772] - [wireless] iwlwifi: validate MPDU length against notification length (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: iterate active stations when updating statistics (Jarod Wilson) [1857772] - [wireless] iwlwifi: sort out the NVM offsets (Jarod Wilson) [1857772] - [wireless] iwlwifi: fix typo in comment (Jarod Wilson) [1857772] - [wireless] iwlwifi: follow the new inclusive terminology (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove the read_nvm from iwl_run_unified_mvm_ucode (Jarod Wilson) [1857772] - [wireless] iwlwifi: avoid endless HW errors at assert time (Jarod Wilson) [1857772] - [wireless] iwlwifi: enable sending/setting debug host event (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for 6GHz (Jarod Wilson) [1857772] - [wireless] iwlwifi: copy iwl_he_capa for modifications (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: remove obsolete pre-release support code (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove the read_nvm from iwl_run_init_mvm_ucode (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Init error table memory to zero (Jarod Wilson) [1857772] - [wireless] iwlwifi: d3: do not send the WOWLAN_CONFIGURATION command for netdetect (Jarod Wilson) [1857772] - [wireless] iwlwifi: move reclaim flows to the queue file (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix sar profile printing issue (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: align the write pointer to DWs (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: add the ability to dump phy periphery (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove all queue resources before free (Jarod Wilson) [1857772] - [wireless] wireless: remove unneeded break (Jarod Wilson) [1857772] - [net] nl80211/cfg80211: fix potential infinite loop (Jarod Wilson) [1857772] - [net] cfg80211: select CONFIG_CRC32 (Jarod Wilson) [1857772] - [net] nl80211/cfg80211: support 6 GHz scanning (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: add some missing entries for AX210 (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: invert values of NO_160 device config entries (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: add one missing entry for AX210 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix kernel panic in case of assert during CSA (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: set LTR to avoid completion timeout (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: write queue_sync_state only for sync (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: properly cancel a session protection for P2P (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC (Jarod Wilson) [1857772] - [wireless] iwlwifi: sta: set max HE max A-MPDU according to HE capa (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: limit memory read spin time (Jarod Wilson) [1857772] - [wireless] Revert "iwlwifi: remove wide_cmd_header field" (Jarod Wilson) [1857772] - [wireless] iwlwifi: bump FW API to 59 for AX devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: read and parse PNVM file (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: implement set_pnvm op (Jarod Wilson) [1857772] - [wireless] iwlwifi: add trans op to set PNVM (Jarod Wilson) [1857772] - [wireless] iwlwifi: move PNVM implementation to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: align to new TLC config command API (Jarod Wilson) [1857772] - [wireless] iwlwifi: fix sar geo table initialization (Jarod Wilson) [1857772] - [wireless] iwlwifi: stats: add new api fields for statistics cmd/ntfy (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: fix suspicious rcu usage warnings (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove memset of kek_kck command (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: don't send a CSA command the firmware doesn't know (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix the xtal latency value for a few qu devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix xtal latency for 9560 devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: fix 0x271B and 0x271C trans cfg struct (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: avoid possible NULL pointer dereference (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support ADD_STA_CMD_API_S ver 12 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add a get lmac id function (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: prepare roc_done_wk to work sync (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: re-enable TX after channel switch (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues (Jarod Wilson) [1857772] - [wireless] iwlwifi: support an additional Qu subsystem id (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: stop claiming NL80211_EXT_FEATURE_SET_SCAN_DWELL (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ring the doorbell and wait for PNVM load completion (Jarod Wilson) [1857772] - [wireless] iwlwifi: update prph scratch structure to include PNVM data (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: read and parse SKU ID if available (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: get number of stations from TLV (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-drv: Provide descriptions debugfs dentries (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: devices: Fix function documentation formatting issues (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: tx: Demote misuse of kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: rxon: Demote non-conformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: scan: Demote a few nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: utils: Fix some doc-rot (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Demote a couple of nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ops: Remove unused static struct 'iwl_mvm_debug_names' (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: sta: Demote a bunch of nonconformant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: calib: Demote seemingly unintentional kerneldoc header (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: lib: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: tx: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: dvm: Demote non-compliant kernel-doc headers (Jarod Wilson) [1857772] - [wireless] iwlwifi: bump FW API to 57 for AX devices (Jarod Wilson) [1857772] - [wireless] iwlwifi: yoyo: add support for internal buffer allocation in D3 (Jarod Wilson) [1857772] - [wireless] iwlwifi: api: fix u32 -> __le32 (Jarod Wilson) [1857772] - [wireless] iwlwifi: use correct group for alive notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: support version 5 of the alive notification (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: ignore the scan duration parameter (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: add debug host notification (DHN) time point (Jarod Wilson) [1857772] - [wireless] iwlwifi: pcie: make iwl_pcie_txq_update_byte_cnt_tbl bus independent (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: clear all scan UIDs (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: d3: parse wowlan status version 11 (Jarod Wilson) [1857772] - [wireless] iwlwifi: align RX status flags with firmware (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove redundant log in iwl_mvm_tvqm_enable_txq() (Jarod Wilson) [1857772] - [wireless] iwlwifi: phy-ctxt: add new API VER 3 for phy context cmd (Jarod Wilson) [1857772] - [wireless] iwlwifi: thermal: support new temperature measurement API (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add d3 prints (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: d3: support GCMP ciphers (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support more GTK rekeying algorithms (Jarod Wilson) [1857772] - [wireless] iwlwifi: move all bus-independent TX functions to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: initiator: add option for adding a PASN responder (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: responder: allow to set only the HLTK for an associated station (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: location: set the HLTK when PASN station is added (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Add FTM initiator RTT smoothing logic (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for responder dynamic config command version 3 (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for range request command ver 11 (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove wide_cmd_header field (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: add default value for iwl_fw_lookup_cmd_ver (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: in non acpi compilations remove iwl_sar_geo_init (Jarod Wilson) [1857772] - [wireless] iwlwifi: rs: set RTS protection for all non legacy rates (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: support new KEK KCK api (Jarod Wilson) [1857772] - [wireless] iwlwifi: support version 3 of GEO_TX_POWER_LIMIT (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: rename geo structs to contain versioning (Jarod Wilson) [1857772] - [wireless] iwlwifi: support REDUCE_TX_POWER_CMD version 6 (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: prepare SAR profile selection code for multiple sizes (Jarod Wilson) [1857772] - [wireless] iwlwifi: add a common struct for all iwl_tx_power_cmd versions (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new card for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: remove dummy definition of iwl_sar_set_profile() (Jarod Wilson) [1857772] - [wireless] iwlwifi: remove iwl_validate_sar_geo_profile() export (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: use CHECKSUM_COMPLETE (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: remove redundant support_umac_log field (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for new WOWLAN_TSC_RSC_PARAM version (Jarod Wilson) [1857772] - [wireless] iwlwifi: don't export acpi functions unnecessarily (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: process ba-notifications also when sta rcu is invalid (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add support for new version of WOWLAN_TKIP_SETTING_API_S (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: Don't install CMAC/GMAC key in AP mode (Jarod Wilson) [1857772] - [wireless] iwl-trans: move dev_cmd_offs, page_offs to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: regulatory: regulatory capabilities api change (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: add dumping special device memory (Jarod Wilson) [1857772] - [wireless] iwlwifi: dbg: remove IWL_FW_INI_TIME_POINT_WDG_TIMEOUT (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: support ppag table command v2 (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new cards for MA family (Jarod Wilson) [1857772] - [wireless] iwlwifi: move bc_table_dword to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-trans: move tfd to trans layer (Jarod Wilson) [1857772] - [wireless] iwlwifi: move bc_pool to a common trans header (Jarod Wilson) [1857772] - [wireless] iwlwifi: iwl-trans: move all txcmd init to trans alloc (Jarod Wilson) [1857772] - [wireless] iwlwifi: enable twt by default (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add an option to add PASN station (Jarod Wilson) [1857772] - [wireless] iwlwifi: add new cards for AX201 family (Jarod Wilson) [1857772] - [wireless] iwlwifi: fw: move assert descriptor parser to common code (Jarod Wilson) [1857772] - [wireless] iwlwifi: wowlan: adapt to wowlan status API version 10 (Jarod Wilson) [1857772] - [wireless] iwlwifi: acpi: evaluate dsm to disable 5.8GHz channels (Jarod Wilson) [1857772] - [wireless] iwlwifi: msix: limit max RX queues for 9000 family (Jarod Wilson) [1857772] - [wireless] iwlwifi: sta: defer ADDBA transmit in case reclaimed SN != next SN (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: set PROTECTED_TWT feature if supported by firmware (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: set PROTECTED_TWT in MAC data policy (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: add PROTECTED_TWT firmware API (Jarod Wilson) [1857772] - [wireless] iwlwifi: mvm: rs-fw: handle VHT extended NSS capability (Jarod Wilson) [1857772] - [x86] sev-es: Use new for_each_insn_prefix() macro to loop over prefixes bytes (Vitaly Kuznetsov) [1915453] - [x86] insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes (Vitaly Kuznetsov) [1915453] - [tools] x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes (Vitaly Kuznetsov) [1915453] - [powercap] powercap/intel_rapl: add support for ElkhartLake (Steve Best) [1847054] - [char] tpm: efi: Don't create binary_bios_measurements file for an empty log (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis: Add a check for invalid status (Jerry Snitselaar) [1887536 1855183] - [char] tpm: use *ph to print small buffer (Jerry Snitselaar) [1887536 1855183] - [char] tpm: Add support for event log pointer found in TPM2 ACPI table (Jerry Snitselaar) [1887536 1855183] - [acpi] acpi: Extend TPM2 ACPI table with missing log fields (Jerry Snitselaar) [1887536] - [char] tpm: Unify the mismatching TPM space buffer sizes (Jerry Snitselaar) [1887536 1855183] - [include] tpm: Require that all digests are present in TCG_PCR_EVENT2 structures (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis_spi: Prefer async probe (Jerry Snitselaar) [1887536 1855183] - [char] tpm/st33zp24: fix spelling mistake "drescription" -> "description" (Jerry Snitselaar) [1887536] - [char] tpm_tis: extra chip->ops check on error path in tpm_tis_core_init (Jerry Snitselaar) [1887536 1855183] - [char] tpm_tis_spi: Don't send anything during flow control (Jerry Snitselaar) [1887536 1855183] - [include] efi/tpm: Verify event log header before parsing (Jerry Snitselaar) [1887536 1855183] - [char] tpm: eventlog: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1887536 1855183] - [char] tpm: fix wrong return value in tpm_pcr_extend (Jerry Snitselaar) [1887536 1855183] - [include] tpm_eventlog.h: Replace zero-length array with flexible-array member (Jerry Snitselaar) [1887536 1855183] - [include] phylink: : fix function prototype kernel-doc warning (Petr Oros) [1878147] - [netdrv] net: phy: call phy_disable_interrupts() in phy_attach_direct() instead (Petr Oros) [1878147] - [net] net: ethtool: Handle missing cable test TDR parameters (Petr Oros) [1878147] - [documentation] docs: networking: fix extra spaces in ethtool-netlink (Petr Oros) [1878147] - [documentation] dt-bindings: net: mvusb: Fix example errors (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: fix null pointer dereference (Petr Oros) [1878147] - [netdrv] net: phy: fix memory leak in device-create error path (Petr Oros) [1878147] - [netdrv] net: mdio device: use flexible sleeping in reset function (Petr Oros) [1878147] - [netdrv] net: mdiobus: add reset-post-delay-us handling (Petr Oros) [1878147] - [netdrv] net: mdiobus: use flexible sleeping for reset-delay-us (Petr Oros) [1878147] - [netdrv] net: phylink: add interface to configure clause 22 PCS PHY (Petr Oros) [1878147] - [netdrv] net: phylink: add struct phylink_pcs (Petr Oros) [1878147] - [netdrv] net: phylink: re-implement interface configuration with PCS (Petr Oros) [1878147] - [netdrv] net: phylink: in-band pause mode advertisement update for PCS (Petr Oros) [1878147] - [netdrv] net: phylink: simplify fixed-link case for ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: use config.an_enabled in ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: simplify phy case for ksettings_set method (Petr Oros) [1878147] - [netdrv] net: phylink: simplify ksettings_set() implementation (Petr Oros) [1878147] - [netdrv] net: phylink: avoid mac_config calls (Petr Oros) [1878147] - [netdrv] net: phylink: update PCS when changing interface during resolution (Petr Oros) [1878147] - [netdrv] net: phylink: ensure link is down when changing interface (Petr Oros) [1878147] - [netdrv] net: phylink: rearrange resolve mac_config() call (Petr Oros) [1878147] - [netdrv] net: phylink: rejig link state tracking (Petr Oros) [1878147] - [netdrv] net: phylink: update ethtool reporting for fixed-link modes (Petr Oros) [1878147] - [netdrv] net: phy: fix check in get_phy_c45_ids (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add mdix configuration support for AR9331 and AR8035 (Petr Oros) [1878147] - [netdrv] net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration (Petr Oros) [1878147] - [netdrv] net: phy: continue searching for C45 MMDs even if first returned ffff:ffff (Petr Oros) [1878147] - [netdrv] net: phy: dp83640: Fixup cast to restricted __be16 warning (Petr Oros) [1878147] - [netdrv] net: phy: Make phy_10gbit_fec_features_array static (Petr Oros) [1878147] - [netdrv] net: phy: Properly define genphy_c45_driver (Petr Oros) [1878147] - [netdrv] net: phy: Fixup parameters in kerneldoc (Petr Oros) [1878147] - [netdrv] net: phy: at803x: Avoid comparison is always false warning (Petr Oros) [1878147] - [netdrv] net: phy: mdio: reset MDIO devices even if probe() is not implemented (Petr Oros) [1878147] - [netdrv] net: phy: reset the PHY even if probe() is not implemented (Petr Oros) [1878147] - [include] net: mdio: add a forward declaration for reset_control to mdio.h (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in phy_device.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in mdio_device.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phy: arrange headers in mdio_bus.c alphabetically (Petr Oros) [1878147] - [netdrv] net: phylink: only restart AN if the link mode is using in-band AN (Petr Oros) [1878147] - [netdrv] net: phylink: add phylink_speed_(up|down) interface (Petr Oros) [1878147] - [netdrv] net: phy: call phy_disable_interrupts() in phy_init_hw() (Petr Oros) [1878147] - [netdrv] net: phy: make phy_disable_interrupts() non-static (Petr Oros) [1878147] - [netdrv] net: phylink: ensure manual pause mode configuration takes effect (Petr Oros) [1878147] - [netdrv] net: phylink: fix ethtool -A with attached PHYs (Petr Oros) [1878147] - [include] net: phy: add support for a common probe between shared PHYs (Petr Oros) [1878147] - [netdrv] net: phy: Allow mdio buses to auto-probe c45 devices (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add Marvell 88E1548P support (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add Marvell 88E1340S support (Petr Oros) [1878147] - [netdrv] net: phy: marvell: use a single style for referencing functions (Petr Oros) [1878147] - [netdrv] net: phy: smsc: fix printing too many logs (Petr Oros) [1878147] - [netdrv] net: phy: Check harder for errors in get_phy_id() (Petr Oros) [1878147] - [of] of: of_mdio: Correct loop scanning logic (Petr Oros) [1878147] - [of] of: mdio: preserve phy dev_flags in of_phy_connect() (Petr Oros) [1878147] - [netdrv] net: phy: read MMD ID from all present MMDs (Petr Oros) [1878147] - [netdrv] net: phy: split devices_in_package (Petr Oros) [1878147] - [netdrv] net: phy: set devices_in_package only after validation (Petr Oros) [1878147] - [netdrv] net: phy: add support for probing MMDs >= 8 for devices-in-package (Petr Oros) [1878147] - [netdrv] net: phy: reword get_phy_device() kerneldoc (Petr Oros) [1878147] - [netdrv] net: phy: clean up get_phy_c22_id() invalid ID handling (Petr Oros) [1878147] - [netdrv] net: phy: clean up get_phy_c45_ids() failure handling (Petr Oros) [1878147] - [netdrv] net: phy: clean up PHY ID reading (Petr Oros) [1878147] - [netdrv] net: phy: clean up cortina workaround (Petr Oros) [1878147] - [netdrv] net: dp83869: Reset return variable if PHY strap is read (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: don't export RDB/legacy access methods (Petr Oros) [1878147] - [netdrv] net: phy: marvell: unlock after phy_select_page() failure (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add cable diagnostics support for ATH9331 and ATH8032 (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Configure TDR pulse based on measurement length (Petr Oros) [1878147] - [netdrv] net : phy: marvell: Speedup TDR data retrieval by only changing page once (Petr Oros) [1878147] - [netdrv] net: ethtool: Allow PHY cable test TDR data to configured (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add support for amplitude graph (Petr Oros) [1878147] - [net] net: ethtool: Add helpers for cable test TDR data (Petr Oros) [1878147] - [net] net: ethtool: Add generic parts of cable test TDR (Petr Oros) [1878147] - [uapi] net: ethtool: Add attributes for cable test TDR data (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: read poll when high resolution timers are disabled (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: improve waiting logic (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: remove redundant timeout check (Petr Oros) [1878147] - [netdrv] net: phy: mscc-miim: use more reasonable delays (Petr Oros) [1878147] - [netdrv] net: mdiobus: add clause 45 mdiobus accessors (Petr Oros) [1878147] - [netdrv] net: phy: at803x: fix PHY ID masks (Petr Oros) [1878147] - [netdrv] net: phy: dp83869: Set opmode from straps (Petr Oros) [1878147] - [netdrv] net: phy: dp83869: Update port-mirroring to read straps (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add SQI support (Petr Oros) [1878147] - [netdrv] net: phy: simplify phy_link_change arguments (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: fix checkpatch complains about tabs (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add support for BCM54811 PHY (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: execute cable test on link up (Petr Oros) [1878147] - [netdrv] net: phy: mdio-moxart: remove unneeded include (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add cable diagnostics support (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add cable diagnostics support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add cable test support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add bcm_phy_modify_exp() (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add exp register access methods without buslock (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add cable-test support (Petr Oros) [1878147] - [netdrv] net: phy: fix aneg restart in phy_ethtool_set_eee (Petr Oros) [1878147] - [net] net: phy: Send notifier when starting the cable test (Petr Oros) [1878147] - [netdrv] net: phy: Put interface into oper testing during cable test (Petr Oros) [1878147] - [netdrv] net: phy: marvell: Add cable test support (Petr Oros) [1878147] - [include] net: ethtool: Add helpers for reporting test results (Petr Oros) [1878147] - [include] net: ethtool: Add infrastructure for reporting cable test results (Petr Oros) [1878147] - [uapi] net: ethtool: Add attributes for cable test reports (Petr Oros) [1878147] - [net] net: ethtool: netlink: Add support for triggering a cable test (Petr Oros) [1878147] - [netdrv] net: phy: Add support for polling cable test (Petr Oros) [1878147] - [netdrv] net: phy: Add cable test support to state machine (Petr Oros) [1878147] - [net] net: ethtool: self_test: Mark interface in testing operative status (Petr Oros) [1878147] - [net] net: Add testing sysfs attribute (Petr Oros) [1878147] - [net] net: Add IF_OPER_TESTING (Petr Oros) [1878147] - [netdrv] net: phy: fix less than zero comparison with unsigned variable val (Petr Oros) [1878147] - [netdrv] net: phy: Make iproc_mdio_resume static (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: use phy_package_shared (Petr Oros) [1878147] - [netdrv] net: phy: add concept of shared storage for PHYs (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add support for master-slave configuration (Petr Oros) [1878147] - [uapi] ethtool: provide UAPI for PHY master/slave configuration (Petr Oros) [1878147] - [netdrv] dp83640: reverse arguments to list_add_tail (Petr Oros) [1878147] - [documentation] dt-bindings: add Qualcomm IPQ4019 MDIO bindings (Petr Oros) [1878147] - [netdrv] net: phy: mdio: add IPQ4019 MDIO driver (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add second PHY ID (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: apply the workaround on b0 chips (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: fix phy_id_mask (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: use genphy_soft_reset() (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add downshift support (Petr Oros) [1878147] - [netdrv] net: phy: DP83TC811: Fix WoL in config init to be disabled (Petr Oros) [1878147] - [netdrv] net: phy: DP83822: Fix WoL in config init to be disabled (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: Make a bunch of functions static (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: fix temperature sensor on 2110 (Petr Oros) [1878147] - [gpio] gpiolib: Rename "chip" variables to "gc" in core header file (Petr Oros) [1878147] - [netdrv] net: phy: dp83867: Remove unneeded semicolon (Petr Oros) [1878147] - [netdrv] net: phy: clear phydev->suspended after soft reset (Petr Oros) [1878147] - [netdrv] net: phy: remove genphy_no_soft_reset (Petr Oros) [1878147] - [netdrv] net: phy: make phy_suspend a no-op if PHY is suspended already (Petr Oros) [1878147] - [netdrv] net: phylink, dsa: eliminate phylink_fixed_state_cb() (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: fix less than zero comparison on an unsigned (Petr Oros) [1878147] - [netdrv] net: phy: bcm84881: clear settings on link down (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add delayed registration of TJA1102 PHY1 (Petr Oros) [1878147] - [of] net: mdio: of: export part of of_mdiobus_register_phy() (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: add initial TJA1102 support (Petr Oros) [1878147] - [documentation] dt-bindings: net: phy: Add support for NXP TJA11xx (Petr Oros) [1878147] - [netdrv] net: phy: Use IS_ERR() to check and simplify code (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: limit soft reset to 88x3310 (Petr Oros) [1878147] - [netdrv] net: phy: bcm54140: add hwmon support (Petr Oros) [1878147] - [netdrv] net: phy: add Broadcom BCM54140 support (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: add helper to write/read RDB registers (Petr Oros) [1878147] - [netdrv] net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy (Petr Oros) [1878147] - [netdrv] net: phy: Propagate error from bus->reset (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Add support for BCM53125 internal PHYs (Petr Oros) [1878147] - [netdrv] net: phy: mdio-bcm-iproc: Do not show kernel pointer (Petr Oros) [1878147] - [netdrv] net: phy: at803x: add support for AR8032 PHY (Petr Oros) [1878147] - [netdrv] net: marvell10g: soft-reset the PHY when coming out of low power (Petr Oros) [1878147] - [netdrv] net: marvell10g: report firmware version (Petr Oros) [1878147] - [netdrv] net: phy: micrel: use genphy_read_status for KSZ9131 (Petr Oros) [1878147] - [netdrv] net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers (Petr Oros) [1878147] - [netdrv] net: phylink: add separate pcs operations structure (Petr Oros) [1878147] - [netdrv] net: phylink: rename 'ops' to 'mac_ops' (Petr Oros) [1878147] - [netdrv] net: phylink: change phylink_mii_c22_pcs_set_advertisement() prototype (Petr Oros) [1878147] - [ptp] ptp: Avoid deadlocks in the programmable pin code (Petr Oros) [1878147] - [netdrv] net: phy: probe PHY drivers synchronously (Petr Oros) [1878147] - [netdrv] net: phy: don't touch suspended flag if there's no suspend/resume callback (Petr Oros) [1878147] - [netdrv] net: phy: micrel.c: add rgmii interface delay possibility to ksz9131 (Petr Oros) [1878147] - [netdrv] net: phy: mdio-mux-bcm-iproc: use readl_poll_timeout() to simplify code (Petr Oros) [1878147] - [netdrv] net: phy: tja11xx: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: smsc: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: use phy_read_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: aquantia: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: bcm84881: use phy_read_mmd_poll_timeout() to simplify the code (Petr Oros) [1878147] - [netdrv] net: phy: add marvell usb to mdio controller (Petr Oros) [1878147] - [documentation] dt-bindings: net: add marvell usb to mdio bindings (Petr Oros) [1878147] - [netdrv] net: phy: aquantia: remove downshift warning now that phylib takes care (Petr Oros) [1878147] - [netdrv] net: phy: marvell: remove downshift warning now that phylib takes care (Petr Oros) [1878147] - [netdrv] net: phy: add and use phy_check_downshift (Petr Oros) [1878147] - [netdrv] net: phylink: pcs: add 802.3 clause 45 helpers (Petr Oros) [1878147] - [netdrv] net: phylink: pcs: add 802.3 clause 22 helpers (Petr Oros) [1878147] - [netdrv] net: mdiobus: add APIs for modifying a MDIO device register (Petr Oros) [1878147] - [netdrv] net: mdiobus: avoid BUG_ON() in mdiobus accessors (Petr Oros) [1878147] - [netdrv] net: phy: improve phy_driver callback handle_interrupt (Petr Oros) [1878147] - [netdrv] net: phylink: Add XLGMII support (Petr Oros) [1878147] - [include] net: phy: Add XLGMII interface define (Petr Oros) [1878147] - [netdrv] net: phylink: Test if MAC/PCS support Autoneg (Petr Oros) [1878147] - [netdrv] net: phylink: Add missing Backplane speeds (Petr Oros) [1878147] - [netdrv] net: mdio: add ipq8064 mdio driver (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: place in powersave mode at probe (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: add energy detect power down tunable (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: add mdix control (Petr Oros) [1878147] - [netdrv] net: phy: mscc: add constants for used interrupt mask bits (Petr Oros) [1878147] - [netdrv] net: phy: marvell10g: read copper results from CSSR1 (Petr Oros) [1878147] - [netdrv] net: phy: mscc: add missing shift for media operation mode selection (Petr Oros) [1878147] - [netdrv] net: phylink: propagate resolved link config via mac_link_up() (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Wire suspend/resume for BCM54810 (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Have bcm54xx_adjust_rxrefclk() check for flags (Petr Oros) [1878147] - [netdrv] net: phy: broadcom: Allow BCM54810 to use bcm54xx_adjust_rxrefclk() (Petr Oros) [1878147] - [netdrv] net: phy: dp83867: Add speed optimization feature (Petr Oros) [1878147] - [netdrv] net: phy: allow bcm84881 to be a module (Petr Oros) [1878147] - [include] net: phylink: clarify flow control settings in documentation (Petr Oros) [1878147] - [netdrv] net: phylink: improve initial mac configuration (Petr Oros) [1878147] - [netdrv] net: phylink: allow ethtool -A to change flow control advertisement (Petr Oros) [1878147] - [netdrv] net: phylink: resolve fixed link flow control (Petr Oros) [1878147] - [netdrv] net: phylink: use phylib resolved flow control modes (Petr Oros) [1878147] - [netdrv] net: phylink: ensure manual flow control is selected appropriately (Petr Oros) [1878147] - [netdrv] net: phylink: remove pause mode ethtool setting for fixed links (Petr Oros) [1878147] - [netdrv] net: add linkmode helper for setting flow control advertisement (Petr Oros) [1878147] - [netdrv] net: add helpers to resolve negotiated flow control (Petr Oros) [1878147] - [include] net: linkmode: make linkmode_test_bit() take const pointer (Petr Oros) [1878147] - [include] net: phylink: further documentation clarifications (Petr Oros) [1878147] - [include] net: phylink: further mac_config documentation improvements (Petr Oros) [1878147] - [netdrv] net: phylink: rename mac_link_state() op to mac_pcs_get_state() (Petr Oros) [1878147] - [md] md/raid5: fix oops during stripe resizing (Nigel Croxon) [1898617] - [md] md/bitmap: fix memory leak of temporary bitmap (Nigel Croxon) [1898617] - [md] md: fix the checking of wrong work queue (Nigel Croxon) [1898617] - [md] md/bitmap: md_bitmap_get_counter returns wrong blocks (Nigel Croxon) [1898617] - [md] md/bitmap: md_bitmap_read_sb uses wrong bitmap blocks (Nigel Croxon) [1898617] - [md] md/raid0: remove unused function is_io_in_chunk_boundary() (Nigel Croxon) [1898617] - [md] md: don't detour through bd_contains for the gendisk (Nigel Croxon) [1898617] - [md] md: compare bd_disk instead of bd_contains (Nigel Croxon) [1898617] - [md] md: Simplify code with existing definition RESYNC_SECTORS in raid10.c (Nigel Croxon) [1898617] - [md] md/raid5: reallocate page array after setting new stripe_size (Nigel Croxon) [1898617] - [md] md/raid5: resize stripe_head when reshape array (Nigel Croxon) [1898617] - [md] md/raid5: let multiple devices of stripe_head share page (Nigel Croxon) [1898617] - [crypto] md/raid6: let async recovery function support different page offset (Nigel Croxon) [1898617] - [crypto] md/raid6: let syndrome computor support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: convert to new xor compution interface (Nigel Croxon) [1898617] - [crypto] md/raid5: add new xor function to support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: make async_copy_data() to support different page offset (Nigel Croxon) [1898617] - [md] md/raid5: add a new member of offset into r5dev (Nigel Croxon) [1898617] - [md] md: only calculate blocksize once and use i_blocksize() (Nigel Croxon) [1898617] - [md] md: update the optimal I/O size on reshape (Nigel Croxon) [1898617] - [md] md/raid5: make sure stripe_size as power of two (Nigel Croxon) [1898617] - [md] md-cluster: Fix potential error pointer dereference in resize_bitmaps() (Nigel Croxon) [1898617] - [md] md: get sysfs entry after redundancy attr group create (Nigel Croxon) [1898617] - [kernel] lockdep: Fix preemption WARN for spurious IRQ-enable (Waiman Long) [1908640] - [powerpc] powerpc/smp: Call rcu_cpu_starting() earlier (Waiman Long) [1908640] - [include] seqlock: Fix multiple kernel-doc warnings (Waiman Long) [1908640] - [kernel] lockdep: Fix usage_traceoverflow (Waiman Long) [1908640] - [kernel] locking/lockdep: Remove more raw_cpu_read() usage (Waiman Long) [1908640] - [include] lockdep: Revert "lockdep: Use raw_cpu_*() for per-cpu variables" (Waiman Long) [1908640] - [kernel] lockdep: Fix lockdep recursion (Waiman Long) [1908640] - [kernel] lockdep,trace: Expose tracepoints (Waiman Long) [1908640] - [x86] locking/lockdep: Fix TRACE_IRQFLAGS vs. NMIs (Waiman Long) [1908640] - [s390] s390: don't trace preemption in percpu macros (Waiman Long) [1908640] - [fs] blkdev: avoid migration stalls for blkdev pages (Chris von Recklinghausen) [1876502] - [netdrv] ionic: account for vlan tag len in rx buffer len (Jonathan Toppins) [1908642] - [netdrv] net/mlx5e: Fix refcount leak on kTLS RX resync (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Fix leak on resync error flow (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add missing dma_unmap in RX resync (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Fix napi sync and possible use-after-free (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Improve rx handler function call (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Cleanup redundant capability check (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: Increase Async ICO SQ size (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add kTLS RX stats (Alaa Hleihel) [1866808] - [netdrv] net/mlx5e: kTLS, Add kTLS RX resync support (Alaa Hleihel) [1866808] - [infiniband] RDMA/siw: Fix handling of zero-sized Read and Receive Queues (Kamal Heib) [1900985 1875703] - [fs] ext4: fix bogus warning in ext4_update_dx_flag() (Lukas Czerner) [1908714] - [fs] ext4: handle dax mount option collision (Lukas Czerner) [1908714] - [fs] jbd2: fix up sparse warnings in checkpoint code (Lukas Czerner) [1908714] - [fs] ext4: unlock xattr_sem properly in ext4_inline_data_truncate() (Lukas Czerner) [1908714] - [fs] ext4: do not use extent after put_bh (Lukas Czerner) [1908714] - [fs] ext4: fix invalid inode checksum (Lukas Czerner) [1908714] - [fs] ext4: clear buffer verified flag if read meta block from disk (Lukas Czerner) [1908714] - [fs] ext4: treat buffers contining write errors as valid in ext4_sb_bread() (Lukas Czerner) [1908714] - [fs] ext4: treat buffers with write errors as containing valid data (Lukas Czerner) [1908714] - [fs] ext4: limit entries returned when counting fsmap records (Lukas Czerner) [1908714] - [fs] ext4: fix error handling code in add_new_gdb (Lukas Czerner) [1908714] - [fs] ext4: fix leaking sysfs kobject after failed mount (Lukas Czerner) [1908714] - [fs] ext4: fix checking of directory entry validity for inline directories (Lukas Czerner) [1908714] - [fs] ext4: correctly restore system zone info when remount fails (Lukas Czerner) [1908714] - [fs] ext4: handle add_system_zone() failure in ext4_setup_system_zone() (Lukas Czerner) [1908714] - [fs] ext4: fold ext4_data_block_valid_rcu() into the caller (Lukas Czerner) [1908714] - [fs] ext4: check journal inode extents more carefully (Lukas Czerner) [1908714] - [fs] ext4: don't allow overlapping system zones (Lukas Czerner) [1908714] - [fs] ext4: handle error of ext4_setup_system_zone() on remount (Lukas Czerner) [1908714] - [fs] jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock() (Lukas Czerner) [1908714] - [fs] ext4: fix mount failure with quota configured as module (Lukas Czerner) [1908714] - [fs] ext4: improve explanation of a mount failure caused by a misconfigured kernel (Lukas Czerner) [1908714] - [include] jbd2: fix kernel-doc notation warning (Lukas Czerner) [1908714] - [base] mm: don't panic when links can't be created in sysfs (Baoquan He) [1890171] - [base] mm: don't rely on system state to detect hot-plug operations (Baoquan He) [1890171] - [mm] mm: replace memmap_context by meminit_context (Baoquan He) [1890171] - [net] Update window_clamp if SOCK_RCVBUF is set (Balazs Nemeth) [1905985] - [cpufreq] cpufreq: acpi-cpufreq: Mark sometimes used ID structs as __maybe_unused (David Arcari) [1857102] - [cpufreq] cpufreq: acpi-cpufreq: Mark 'dummy' variable as __always_unused (David Arcari) [1857102] - [cpufreq] cpufreq: Replace HTTP links with HTTPS ones (David Arcari) [1857102] - [cpufreq] cpufreq: change '.set_boost' to act on one policy (David Arcari) [1857102] - [cpufreq] cpufreq: Fix up cpufreq_boost_set_sw() (David Arcari) [1857102] - [cpufreq] cpufreq: Convert to new X86 CPU match macros (David Arcari) [1857102] - [cpufreq] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (David Arcari) [1857102]- [platform] platform/x86: ISST: Add new PCI device ids (Prarit Bhargava) [1836722] - [net] net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when storing xps_rxqs (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc (Antoine Tenart) [1912253] - [net] net-sysfs: take the rtnl lock when storing xps_cpus (Antoine Tenart) [1912253] - [fs] gfs2: Improve mmap write vs. punch_hole consistency (Andreas Grunbacher) [1872043] - [netdrv] bnx2x: fix spelling mistake "occurd" -> "occurred" (Manish Chopra) [1853224] - [netdrv] bnx2x: Perform Idlechk dump during the debug collection (Manish Chopra) [1853224] - [netdrv] bnx2x: Add support for idlechk tests (Manish Chopra) [1853224] - [netdrv] bnx2x: Add Idlechk related register definitions (Manish Chopra) [1853224] - [netdrv] bnx2x: use generic power management (Manish Chopra) [1853224] - [netdrv] bnx2x: allow bnx2x_bsc_read() to schedule (Manish Chopra) [1853224] - [netdrv] bnx2x: Remove unused inline function bnx2x_vf_vlan_credit (Manish Chopra) [1853224] - [netdrv] bnx2x: Remove Comparison to bool in bnx2x_dcb.c (Manish Chopra) [1853224] - [netdrv] bnx2x: correct a comment mistake in grammar (Manish Chopra) [1853224] - [netdrv] net: bnx2x: reject unsupported coalescing params (Manish Chopra) [1853224] - [net] tls: Implement getsockopt SOL_TLS TLS_RX (Sabrina Dubroca) [1889664] - [net] tls: Protect from calling tls_dev_del for TLS RX twice (Sabrina Dubroca) [1889664] - [net] tls: missing received data after fast remote close (Sabrina Dubroca) [1889664] - [net] tls: Fix wrong record sn in async mode of device resync (Sabrina Dubroca) [1889664] - [net] tls: fix corrupted data in recvmsg (Sabrina Dubroca) [1889664] - [net] tls: sendfile fails with ktls offload (Sabrina Dubroca) [1889664] - [net] tls: race causes kernel panic (Sabrina Dubroca) [1889664] - [net] tls: Fix kmap usage (Sabrina Dubroca) [1889664] - [net] tls: allow MSG_CMSG_COMPAT in sendmsg (Sabrina Dubroca) [1889664] - [net] tls: fix sign extension issue when left shifting u16 value (Sabrina Dubroca) [1889664] - [net] tls: Add asynchronous resync (Sabrina Dubroca) [1889664] - [net] revert "net/tls: Add force_resync for driver resync" (Sabrina Dubroca) [1889664] - [net] net/tls: Add force_resync for driver resync (Sabrina Dubroca) [1889664] - [net] tls: Avoid assigning 'const' pointer to non-const pointer (Sabrina Dubroca) [1889664] - [net] tls: move mark_tech_preview to tls_init (Sabrina Dubroca) [1907477] - [mm] mm/hmm: do not call hmm_vma_walk_hole() while holding a spinlock (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: add 'depth' parameter to pte_hole (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: don't lock PTEs for walk_page_range_novma() (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: allow walking without vma (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: add p4d_entry() and pgd_entry() (Chris von Recklinghausen) [1890943] - [x86] x86: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [s390] s390: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [powerpc] powerpc: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [arm64] arm64: mm: add p?d_leaf() definitions (Chris von Recklinghausen) [1890943] - [mm] mm: add generic p?d_leaf() macros (Chris von Recklinghausen) [1890943] - [mm] mm: move_pages: report the number of non-attempted pages (Chris von Recklinghausen) [1890943] - [mm] autonuma: fix watermark checking in migrate_balanced_pgdat() (Chris von Recklinghausen) [1890943] - [mm] mm/migrate.c: handle freed page at the first place (Chris von Recklinghausen) [1890943] - [mm] mm: pagewalk: Take the pagetable lock in walk_pte_range() (Chris von Recklinghausen) [1890943] - [mm] mm: untag user pointers passed to memory syscalls (Chris von Recklinghausen) [1890943] - [mm] mm: page cache: store only head pages in i_pages (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: fix reference check race between __find_get_block() and migration (Chris von Recklinghausen) [1890943] - [fs] mm: migrate: remove unused mode argument (Chris von Recklinghausen) [1890943] - [mm] powerpc/book3s: Use config independent helpers for page table walk (Chris von Recklinghausen) [1890943] - [mm] mm/mmu_notifier: use correct mmu_notifier events for each invalidation (Chris von Recklinghausen) [1890943] - [mm] mm/mmu_notifier: contextual information for event triggering invalidation (Chris von Recklinghausen) [1890943] - [mm] powerpc/mm: move __find_linux_pte() out of hugetlbpage.c (Chris von Recklinghausen) [1890943] - [mm] mm/filemap.c: remove redundant test from find_get_pages_contig (Chris von Recklinghausen) [1890943] - [mm] mm/hugetlb: distinguish between migratability and movability (Chris von Recklinghausen) [1890943] - [mm] numa: change get_mempolicy() to use nr_node_ids instead of MAX_NUMNODES (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: make buffer_migrate_page_norefs() actually succeed (Chris von Recklinghausen) [1890943] - [mm] mm: treewide: remove unused address argument from pte_alloc functions (Chris von Recklinghausen) [1890943] - [fs] mm: migrate: drop unused argument of migrate_page_move_mapping() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: provide buffer_migrate_page_norefs() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: move migrate_page_lock_buffers() (Chris von Recklinghausen) [1890943] - [mm] mm: migrate: lock buffers before migrate_page_move_mapping() (Chris von Recklinghausen) [1890943] - [mm] mm: Convert huge_memory to XArray (Chris von Recklinghausen) [1890943] - [mm] mm: Convert page migration to XArray (Chris von Recklinghausen) [1890943] - [mm] powerpc/mm/book3s: Check for pmd_large instead of pmd_trans_huge (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move two more functions from pgtable_64.h to pgtable.h (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move pti_set_user_pgtbl() to pgtable.h (Chris von Recklinghausen) [1890943] - [x86] x86/pgtable: Move pgdp kernel/user conversion functions to pgtable.h (Chris von Recklinghausen) [1890943] - [mm] x86/pgtable: Rename pti_set_user_pgd() to pti_set_user_pgtbl() (Chris von Recklinghausen) [1890943] - [mm] mm: memcg/slab: fix root memcg vmstats (Waiman Long) [1877019] - [mm] mm/slub: let number of online CPUs determine the slub page order (Waiman Long) [1877019] - [mm] mm, debug_pagealloc: don't rely on static keys too early (Waiman Long) [1877019] - [mm] mm: memcg: link page counters to root if use_hierarchy is false (Waiman Long) [1877019] - [mm] mm/memcg: unify swap and memsw page counters (Waiman Long) [1877019] - [mm] mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg (Waiman Long) [1877019] - [mm] mlock: fix unevictable_pgs event counts on THP (Waiman Long) [1877019] - [mm] mm/filemap: fix storing to a THP shadow entry (Waiman Long) [1877019] - [lib] XArray: add xas_split (Waiman Long) [1877019] - [lib] XArray: add xa_get_order (Waiman Long) [1877019] - [lib] XArray: Add private interface for workingset node deletion (Waiman Long) [1877019] - [include] XArray: Fix xas_reload for multi-index entries (Waiman Long) [1877019] - [include] xarray.h: correct return code documentation for xa_store_{bh, irq}() (Waiman Long) [1877019] - [mm] mm: memcg/slab: uncharge during kmem_cache_free_bulk() (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix racy access to page->mem_cgroup in mem_cgroup_from_obj() (Waiman Long) [1877019] - [mm] mm: memcontrol: fix missing suffix of workingset_restore (Waiman Long) [1877019] - [mm] mm: memcontrol: fix warning when allocating the root cgroup (Waiman Long) [1877019] - [mm] mm: replace hpage_nr_pages with thp_nr_pages (Waiman Long) [1877019] - [mm] mm: add thp_size (Waiman Long) [1877019] - [include] mm: add thp_order (Waiman Long) [1877019] - [include] include/linux/huge_mm.h: check PageTail in hpage_nr_pages even when !THP (Waiman Long) [1877019] - [mm] mm/page_vma_mapped.c: explicitly compare pfn for normal, hugetlbfs and THP page (Waiman Long) [1877019] - [mm] mm/vmscan: restore active/inactive ratio for anonymous LRU (Waiman Long) [1877019] - [mm] mm/swap: implement workingset detection for anonymous LRU (Waiman Long) [1877019] - [mm] mm/swapcache: support to handle the shadow entries (Waiman Long) [1877019] - [mm] mm: fix swap cache node allocation mask (Waiman Long) [1877019] - [include] include/linux/swap.h: delete meaningless __add_to_swap_cache() declaration (Waiman Long) [1877019] - [mm] mm/swap_state.c: use the same way to count page in_swap_cache (Waiman Long) [1877019] - [mm] mm: shmem: use proper gfp flags for shmem_writepage() (Waiman Long) [1877019] - [mm] mm/workingset: prepare the workingset detection infrastructure for anon LRU (Waiman Long) [1877019] - [mm] mm/vmscan: protect the workingset on anonymous LRU (Waiman Long) [1877019] - [mm] mm/vmscan: make active/inactive ratio as 1:1 for anon lru (Waiman Long) [1877019] - [tools] kselftests: cgroup: add perpcu memory accounting test (Waiman Long) [1877019] - [mm] mm: memcg: charge memcg percpu memory to the parent cgroup (Waiman Long) [1877019] - [mm] mm: memcg/percpu: per-memcg percpu memory statistics (Waiman Long) [1877019] - [mm] mm: memcg/percpu: account percpu memory to memory cgroups (Waiman Long) [1877019] - [mm] percpu: return number of released bytes from pcpu_free_area() (Waiman Long) [1877019] - [mm] percpu: make pcpu_alloc() aware of current gfp context (Waiman Long) [1877019] - [mm] mm/khugepaged: fix filemap page_to_pgoff(page) != offset (Waiman Long) [1877019] - [mm] mm, slub: restore initial kmem_cache flags (Waiman Long) [1877019] - [include] mm: memcg/slab: fix slab statistics in !SMP configuration (Waiman Long) [1877019] - [mm] mm: slab: fix potential double free in ___cache_free (Waiman Long) [1877019] - [mm] ksm: reinstate memcg charge on copied pages (Waiman Long) [1877019] - [mm] mm: slub: fix conversion of freelist_corrupted() (Waiman Long) [1877019] - [mm] memcg: fix use-after-free in uncharge_batch (Waiman Long) [1877019] - [mm] mm/memory: fix IO cost for anonymous page (Waiman Long) [1877019] - [mm] mm: workingset: age nonresident information alongside anonymous pages (Waiman Long) [1877019] - [mm] slub: cure list_slab_objects() from double fix (Waiman Long) [1877019] - [mm] mm: do_swap_page(): fix up the error code (Waiman Long) [1877019] - [misc] lkdtm/heap: Avoid edge and middle of slabs (Waiman Long) [1877019] - [mm] mm: slub: really fix slab walking for init_on_free (Waiman Long) [1877019] - [mm] mm/slab.c: fix kernel-doc warning for __ksize() (Waiman Long) [1877019] - [mm] mm: memcontrol: restore proper dirty throttling when memory.high changes (Waiman Long) [1877019] - [mm] memcg, oom: check memcg margin for parallel oom (Waiman Long) [1877019] - [mm] mm, memcg: avoid stale protection values when cgroup is above protection (Waiman Long) [1877019] - [mm] mm, memcg: unify reclaim retry limits with page allocator (Waiman Long) [1877019] - [mm] mm, memcg: reclaim more aggressively before high allocator throttling (Waiman Long) [1877019] - [mm] mm: memcontrol: avoid workload stalls when lowering memory.high (Waiman Long) [1877019] - [include] mm: kmem: switch to static_branch_likely() in memcg_kmem_enabled() (Waiman Long) [1877019] - [mm] mm: slab: rename (un)charge_slab_page() to (un)account_slab_page() (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove unused argument by charge_slab_page() (Waiman Long) [1877019] - [tools] tools/cgroup: add memcg_slabinfo.py tool (Waiman Long) [1877019] - [tools] kselftests: cgroup: add kernel memory accounting tests (Waiman Long) [1877019] - [mm] mm: memcg/slab: use a single set of kmem_caches for all allocations (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove redundant check in memcg_accumulate_slabinfo() (Waiman Long) [1877019] - [mm] mm: memcg/slab: deprecate slab_root_caches (Waiman Long) [1877019] - [mm] mm: memcg/slab: remove memcg_kmem_get_cache() (Waiman Long) [1877019] - [mm] mm: memcg/slab: simplify memcg cache creation (Waiman Long) [1877019] - [mm] mm: memcg/slab: use a single set of kmem_caches for all accounted allocations (Waiman Long) [1877019] - [mm] mm, slab_common: fix a typo in comment "eariler"->"earlier" (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix memory leak at non-root kmem_cache destroy (Waiman Long) [1877019] - [mm] mm: memcg/slab: fix panic in __free_slab() caused by premature memcg pointer release (Waiman Long) [1877019] - [mm] mm: memcg/slab: move memcg_kmem_bypass() to memcontrol.h (Waiman Long) [1877019] - [mm] mm: memcg/slab: deprecate memory.kmem.slabinfo (Waiman Long) [1877019] - [mm] mm, memcg: fix build error around the usage of kmem_caches (Waiman Long) [1877019] - [mm] mm: memcg/slab: charge individual slab objects instead of pages (Waiman Long) [1877019] - [mm] mm: memcg/slab: save obj_cgroup for non-root slab objects (Waiman Long) [1877019] - [mm] mm: memcg/slab: allocate obj_cgroups for non-root slab pages (Waiman Long) [1877019] - [mm] mm: memcg/slab: obj_cgroup API (Waiman Long) [1877019] - [mm] mm: memcontrol: decouple reference counting from page accounting (Waiman Long) [1877019] - [mm] mm: slub: implement SLUB version of obj_to_index() (Waiman Long) [1877019] - [mm] mm: memcg: convert vmstat slab counters to bytes (Waiman Long) [1877019] - [mm] mm: memcg: prepare for byte-sized vmstat items (Waiman Long) [1877019] - [mm] mm: memcg: factor out memcg- and lruvec-level changes out of __mod_lruvec_state() (Waiman Long) [1877019] - [mm] mm: kmem: make memcg_kmem_enabled() irreversible (Waiman Long) [1877019] - [mm] mm, slab/slub: improve error reporting and overhead of cache_from_obj() (Waiman Long) [1877019] - [mm] mm, slab/slub: move and improve cache_from_obj() (Waiman Long) [1877019] - [mm] mm, slub: extend checks guarded by slub_debug static key (Waiman Long) [1877019] - [mm] mm, slub: introduce kmem_cache_debug_flags() (Waiman Long) [1877019] - [mm] mm, slub: introduce static key for slub_debug() (Waiman Long) [1877019] - [mm] mm, slub: make reclaim_account attribute read-only (Waiman Long) [1877019] - [mm] mm, slub: make remaining slub_debug related attributes read-only (Waiman Long) [1877019] - [mm] mm, slub: remove runtime allocation order changes (Waiman Long) [1877019] - [mm] mm, slub: make some slub_debug related attributes read-only (Waiman Long) [1877019] - [documentation] mm, slub: extend slub_debug syntax for multiple blocks (Waiman Long) [1877019] - [mm] mm/slab.c: update outdated kmem_list3 in a comment (Waiman Long) [1877019] - [mm] mm, slab: check GFP_SLAB_BUG_MASK before alloc_pages in kmalloc_order (Waiman Long) [1877019] - [mm] mm/slab: add naive detection of double free (Waiman Long) [1877019] - [init] mm/slab: expand CONFIG_SLAB_FREELIST_HARDENED to include SLAB (Waiman Long) [1877019] - [mm] mm: ksize() should silently accept a NULL pointer (Waiman Long) [1877019] - [include] include/linux/vmstat.h: remove unused page state adjustment macro (Waiman Long) [1877019] - [include] mm, memcg: fix inconsistent oom event behavior (Waiman Long) [1877019] - [mm] mm/memcg: fix refcount error while moving and swapping (Waiman Long) [1877019] - [mm] mm/memcontrol: fix OOPS inside mem_cgroup_get_nr_swap_pages() (Waiman Long) [1877019] - [mm] mm/memcontrol.c: add missed css_put() (Waiman Long) [1877019] - [mm] mm: memcontrol: handle div0 crash race condition in memory.low (Waiman Long) [1877019] - [kernel] mm: memcontrol: recursive memory.low protection (Waiman Long) [1877019] - [include] mm, memcg: consider subtrees in memory.events (Waiman Long) [1877019] - [net] mm, treewide: rename kzfree() to kfree_sensitive() (Waiman Long) [1877019] - [mm] mm/slab: use memzero_explicit() in kzfree() (Waiman Long) [1877019] - [mm] mm: swap: memcg: fix memcg stats for huge pages (Waiman Long) [1877019] - [mm] mm: swap: fix vmstats for huge pages (Waiman Long) [1877019] - [mm] mm: vmscan: limit the range of LRU type balancing (Waiman Long) [1877019] - [mm] mm: vmscan: reclaim writepage is IO cost (Waiman Long) [1877019] - [mm] mm: vmscan: determine anon/file pressure balance at the reclaim root (Waiman Long) [1877019] - [mm] mm: balance LRU lists based on relative thrashing (Waiman Long) [1877019] - [mm] mm: only count actual rotations as LRU reclaim cost (Waiman Long) [1877019] - [mm] mm: deactivations shouldn't bias the LRU balance (Waiman Long) [1877019] - [mm] mm: base LRU balancing on an explicit cost model (Waiman Long) [1877019] - [mm] mm: vmscan: drop unnecessary div0 avoidance rounding in get_scan_count() (Waiman Long) [1877019] - [mm] mm: remove use-once cache bias from LRU balancing (Waiman Long) [1877019] - [mm] mm: workingset: let cache workingset challenge anon (Waiman Long) [1877019] - [mm] mm: fold and remove lru_cache_add_anon() and lru_cache_add_file() (Waiman Long) [1877019] - [kernel] mm: allow swappiness that prefers reclaiming anon over the file workingset (Waiman Long) [1877019] - [mm] mm: keep separate anon and file statistics on page reclaim activity (Waiman Long) [1877019] - [mm] mm: fix LRU balancing effect of new transparent huge pages (Waiman Long) [1877019] - [mm] mm: replace list_move_tail() with add_page_to_lru_list_tail() (Waiman Long) [1877019] - [mm] mm: memcontrol: update page->mem_cgroup stability rules (Waiman Long) [1877019] - [mm] mm: memcontrol: delete unused lrucare handling (Waiman Long) [1877019] - [documentation] mm: memcontrol: document the new swap control behavior (Waiman Long) [1877019] - [mm] mm: memcontrol: charge swapin pages on instantiation (Waiman Long) [1877019] - [mm] mm: memcontrol: make swap tracking an integral part of memory control (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare swap controller setup for integration (Waiman Long) [1877019] - [mm] mm: memcontrol: drop unused try/commit/cancel charge API (Waiman Long) [1877019] - [mm] mm: memcontrol: convert anon and file-thp to new mem_cgroup_charge() API (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_ANON_THPS counter (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_ANON_MAPPED counter (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to native NR_FILE_PAGES and NR_SHMEM counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare cgroup vmstat infrastructure for native anon counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare move_account for removal of private page type counters (Waiman Long) [1877019] - [mm] mm: memcontrol: prepare uncharging for removal of private page type counters (Waiman Long) [1877019] - [mm] mm: memcontrol: convert page cache to a new mem_cgroup_charge() API (Waiman Long) [1877019] - [mm] mm: memcontrol: move out cgroup swaprate throttling (Waiman Long) [1877019] - [mm] mm: shmem: remove rare optimization when swapin races with hole punching (Waiman Long) [1877019] - [mm] mm: memcontrol: drop @compound parameter from memcg charging API (Waiman Long) [1877019] - [mm] mm: memcontrol: fix stat-corrupting race in charge moving (Waiman Long) [1877019] - [mm] mm: fix NUMA node file count error in replace_page_cache() (Waiman Long) [1877019] - [mm] mm/slub: fix stack overruns with SLUB_STATS (Waiman Long) [1877019] - [mm] slub: remove kmalloc under list_lock from list_slab_objects() V2 (Waiman Long) [1877019] - [mm] slub: Remove userspace notifier for cache add/remove (Waiman Long) [1877019] - [mm] mm/slub.c: fix corrupted freechain in deactivate_slab() (Waiman Long) [1877019] - [mm] mm/slub: fix incorrect interpretation of s->offset (Waiman Long) [1877019] - [mm] slub: avoid redzone when choosing freepointer location (Waiman Long) [1877019] - [mm] slub: relocate freelist pointer to middle of object (Waiman Long) [1877019] - [mm] slub: improve bit diffusion for freelist ptr obfuscation (Waiman Long) [1877019] - [mm] mm, slb: improve memory accounting (Waiman Long) [1877019] - [mm] thp: change CoW semantics for anon-THP (Waiman Long) [1877019] - [mm] khugepaged: allow to collapse PTE-mapped compound pages (Waiman Long) [1877019] - [mm] khugepaged: allow to collapse a page shared across fork (Waiman Long) [1877019] - [mm] khugepaged: drain LRU add pagevec after swapin (Waiman Long) [1877019] - [mm] khugepaged: drain all LRU caches before scanning pages (Waiman Long) [1877019] - [mm] khugepaged: do not stop collapse if less than half PTEs are referenced (Waiman Long) [1877019] - [tools] khugepaged: add self test (Waiman Long) [1877019] - [mm] mm: code cleanup for MADV_FREE (Waiman Long) [1877019] - [mm] mm, thp: track fallbacks due to failed memcg charges separately (Waiman Long) [1877019] - [mm] mm, shmem: add vmstat for hugepage fallback (Waiman Long) [1877019] - [mm] autonuma: reduce cache footprint when scanning page tables (Waiman Long) [1877019] - [trace] mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags (Waiman Long) [1877019] - [mm] mm/memcg: optimize memory.numa_stat like memory.stat (Waiman Long) [1877019] - [mm] memcg: fix memcg_kmem_bypass() for remote memcg charging (Waiman Long) [1877019] - [mm] mm/memcg: automatically penalize tasks with high swap use (Waiman Long) [1877019] - [include] mm/memcg: move cgroup high memory limit setting into struct page_counter (Waiman Long) [1877019] - [mm] mm/memcg: move penalty delay clamping out of calculate_high_delay() (Waiman Long) [1877019] - [mm] mm/memcg: prepare for swap over-high accounting and penalty calculation (Waiman Long) [1877019] - [mm] memcg: expose root cgroup's memory.stat (Waiman Long) [1877019] - [mm] mm, memcg: add workingset_restore in memory.stat (Waiman Long) [1877019] - [documentation] doc: cgroup: improve formatting of mem stats (Waiman Long) [1877019] - [documentation] docs: cgroup: mm: Fix spelling of "list" (Waiman Long) [1877019] - [mm] mm, memcg: fix error return value of mem_cgroup_css_alloc() (Waiman Long) [1877019] - [include] memcontrol.h: Replace zero-length array with flexible-array member (Waiman Long) [1877019] - [mm] mm, memcg: bypass high reclaim iteration for cgroup hierarchy root (Waiman Long) [1877019] - [mm] mm: memcg: make memory.oom.group tolerable to task migration (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.swap.max load tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.low load/store tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.max load tearing (Waiman Long) [1877019] - [mm] mm, memcg: prevent memory.high load/store tearing (Waiman Long) [1877019] - [mm] mm/memcontrol.c: make mem_cgroup_id_get_many() __maybe_unused (Waiman Long) [1877019] - [mm] memcg: css_tryget_online cleanups (Waiman Long) [1877019] - [mm] mm/memcontrol.c: cleanup some useless code (Waiman Long) [1877019] - [mm] mm/memcontrol.c: fix a -Wunused-function warning (Waiman Long) [1877019] - [mm] mm: memcontrol: switch to rcu protection in drain_all_stock() (Waiman Long) [1877019] - [mm] mm/khugepaged.c: fix khugepaged's request size in collapse_file (Waiman Long) [1877019] - [mm] khugepaged: fix null-pointer dereference due to race (Waiman Long) [1877019] - [mm] mm, thp: stop leaking unreleased file pages (Waiman Long) [1877019] - [trace] mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE (Waiman Long) [1877019] - [mm] mm, thp: recheck each page before collapsing file THP (Waiman Long) [1877019] - [mm] mm/thp: allow dropping THP from page cache (Waiman Long) [1877019] - [mm] mm/vmscan.c: support removing arbitrary sized pages from mapping (Waiman Long) [1877019] - [mm] mm/thp: fix node page state in split_huge_page_to_list() (Waiman Long) [1877019] - [fs] proc/meminfo: fix output alignment (Waiman Long) [1877019] - [mm] mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path (Waiman Long) [1877019] - [fs] mm, thp: avoid writes to file with THP in pagecache (Waiman Long) [1877019] - [mm] mm, thp: add read-only THP support for (non-shmem) FS (Waiman Long) [1877019] - [mm] khugepaged: rename collapse_shmem() and khugepaged_scan_shmem() (Waiman Long) [1877019] - [fs] mm,thp: stats for file backed THP (Waiman Long) [1877019] - [mm] filemap: update offset check in filemap_fault() (Waiman Long) [1877019] - [mm] filemap: check compound_head(page)->mapping in pagecache_get_page() (Waiman Long) [1877019] - [mm] filemap: check compound_head(page)->mapping in filemap_fault() (Waiman Long) [1877019] - [mm] mm: mempolicy: fix the wrong return value and potential pages leak of mbind (Waiman Long) [1877019] - [mm] mm: thp: fix false negative of shmem vma's THP eligibility (Waiman Long) [1877019] - [mm] mm: thp: make transhuge_vma_suitable available for anonymous THP (Waiman Long) [1877019] - [mm] mm, thp, proc: report THP eligibility for each vma (Waiman Long) [1877019] - [documentation] mm, proc: be more verbose about unstable VMA flags in /proc//smaps (Waiman Long) [1877019] - [mm] mm: thp: pass correct vm_flags to hugepage_vma_check() (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps_rollup: convert to single value seq_file (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps: factor out common stats printing (Waiman Long) [1877019] - [fs] mm: /proc/pid/smaps: factor out mem stats gathering (Waiman Long) [1877019] - [fs] mm: /proc/pid/*maps remove is_pid and related wrappers (Waiman Long) [1877019] - [mm] mm: workingset: fix vmstat counters for shadow nodes (Waiman Long) [1877019] - [mm] mm: workingset: add vmstat counter for shadow nodes (Waiman Long) [1877019] - [include] mm/memcg: Document access rule regarding mem_cgroup structure (Waiman Long) [1877019] - [mm] mm/page_alloc: silence a KASAN false positive (Waiman Long) [1877019] - [s390] s390/setup: init jump labels before command line parsing (Waiman Long) [1877019] - [mm] s390/maccess: add no DAT mode to kernel_write (Waiman Long) [1877019] - [mm] s390: Change s390_kernel_write() return type to match memcpy() (Waiman Long) [1877019] - [kernel] PM: hibernate: fix crashes with init_on_free=1 (Waiman Long) [1877019] - [mm] mm/slub.c: init_on_free=1 should wipe freelist ptr for bulk allocations (Waiman Long) [1877019] - [mm] mm/page_alloc.c: fix a crash in free_pages_prepare() (Waiman Long) [1877019] - [mm] mm: slub: Fix slab walking for init_on_free (Waiman Long) [1877019] - [mm] mm, slab: move memcg_cache_params structure to mm/slab.h (Waiman Long) [1877019] - [mm] mm, slab: extend slab/shrink to shrink all memcg caches (Waiman Long) [1877019] - [mm] mm: mempolicy: handle vma with unmovable pages mapped correctly in mbind (Waiman Long) [1877019] - [mm] mm: mempolicy: make the behavior consistent when MPOL_MF_MOVE* and MPOL_MF_STRICT were specified (Waiman Long) [1877019] - [init] init/Kconfig: fix neighboring typos (Waiman Long) [1877019] - [mm] mm: security: introduce init_on_alloc=1 and init_on_free=1 boot options (Waiman Long) [1877019] - [mm] memcg, oom: no oom-kill for __GFP_RETRY_MAYFAIL (Waiman Long) [1877019] - [mm] mm/kasan: add object validation in ksize() (Waiman Long) [1877019] - [mm] mm/slab: refactor common ksize KASAN logic into slab_common.c (Waiman Long) [1877019] - [mm] mm/slub.c: avoid double string traverse in kmem_cache_flags() (Waiman Long) [1877019] - [mm] mm/slab: sanity-check page type when looking up cache (Waiman Long) [1877019] - [mm] mm/slab: validate cache membership under freelist hardening (Waiman Long) [1877019] - [mm] mm/migrate: add stable check in migrate_vma_insert_page() (Waiman Long) [1877019] - [mm] mm/migrate: clean up some minor coding style (Waiman Long) [1877019] - [mm] mm/migrate: remove useless mask of start address (Waiman Long) [1877019] - [kernel] uprobe: use original page when all uprobes are removed (Waiman Long) [1877019] - [mm] mm: move memcmp_pages() and pages_identical() (Waiman Long) [1877019] - [mm] mm, thp: do not queue fully unmapped pages for deferred split (Waiman Long) [1877019] - [mm] mm/khugepaged: fix the xas_create_range() error path (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() do not crash on Compound (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() without freezing new_page (Waiman Long) [1877019] - [mm] mm/khugepaged: minor reorderings in collapse_shmem() (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() remember to clear holes (Waiman Long) [1877019] - [mm] mm/khugepaged: collapse_shmem() stop if punched or truncated (Waiman Long) [1877019] - [mm] mm: Convert khugepaged_scan_shmem to XArray (Waiman Long) [1877019] - [mm] mm: Convert collapse_shmem to XArray (Waiman Long) [1877019] - [mm] mm: thp: inc counter for collapsed shmem THP (Waiman Long) [1877019] - [mm] mm: thp: register mm for khugepaged when merging vma for shmem (Waiman Long) [1877019] - [mm] mm: swapoff: shmem_unuse() stop eviction without igrab() (Waiman Long) [1877019] - [mm] mm: swapoff: take notice of completion sooner (Waiman Long) [1877019] - [mm] mm: swapoff: remove too limiting SWAP_UNUSE_MAX_TRIES (Waiman Long) [1877019] - [mm] mm: swapoff: shmem_find_swap_entries() filter out other types (Waiman Long) [1877019] - [mm] mm: rid swapoff of quadratic complexity (Waiman Long) [1877019] - [mm] shmem: Comment fixups (Waiman Long) [1877019] - [mm] memfd: Convert memfd_tag_pins to XArray (Waiman Long) [1877019] - [mm] memfd: Convert memfd_wait_for_pins to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_partial_swap_usage to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_free_swap to XArray (Waiman Long) [1877019] - [lib] shmem: Convert shmem_alloc_hugepage to XArray (Waiman Long) [1877019] - [tools] shmem: Convert find_swap_entry to XArray (Waiman Long) [1877019] - [mm] shmem: Convert shmem_confirm_swap to XArray (Waiman Long) [1877019]- [infiniband] RDMA/core: Do not indicate device ready when device enablement fails (Kamal Heib) [1902144] - [infiniband] RDMA/core: Clean up cq pool mechanism (Kamal Heib) [1902144] - [pci] PCI/ASPM: Disable ASPM on ASMedia ASM1083/1085 PCIe-to-PCI bridge (Myron Stowe) [1897927] - [pci] PCI: Make pcie_find_root_port() work for Root Ports (Myron Stowe) [1897927] - [pci] PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints (Myron Stowe) [1897927] - [pci] PCI: Avoid FLR for AMD Starship USB 3.0 (Myron Stowe) [1897927] - [pci] PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 (Myron Stowe) [1897927] - [pci] PCI/switchtec: Correct bool variable type assignment (Myron Stowe) [1897927] - [pci] PCI: Allow pci_resize_resource() for devices on root bus (Myron Stowe) [1897927] - [pci] PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay (Myron Stowe) [1897927] - [pci] PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect (Myron Stowe) [1897927] - [tty] serial: 8250_pci: Move Pericom IDs to pci_ids.h (Myron Stowe) [1897927] - [pci] PCI/PM: Call .bridge_d3() hook only if non-NULL (Myron Stowe) [1897927] - [pci] PCI: Rename _DSM constants to align with spec (Myron Stowe) [1897927] - [pci] PCI/PME: Fix kernel-doc of pcie_pme_resume() and pcie_pme_remove() (Myron Stowe) [1897927] - [pci] PCI: Unify pcie_find_root_port() and pci_find_pcie_root_port() (Myron Stowe) [1897927] - [pci] PCI: Replace zero-length array with flexible-array (Myron Stowe) [1897927] - [pci] PCI: shpchp: Make shpchp_unconfigure_device() void (Myron Stowe) [1897927] - [pci] PCI: Use of_node_name_eq() for node name comparisons (Myron Stowe) [1897927] - [pci] PCI: pciehp: Remove unused EMI() and HP_SUPR_RM() macros (Myron Stowe) [1897927] - [pcmcia] pcmcia: Use CardBus window names (PCI_CB_BRIDGE_IO_0_WINDOW etc) when freeing (Myron Stowe) [1897927] - [pci] PCI: Use bridge window names (PCI_BRIDGE_IO_WINDOW etc) (Myron Stowe) [1897927] - [pci] PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port (Myron Stowe) [1897927] - [pci] PCI: Program MPS for RCiEP devices (Myron Stowe) [1897927] - [pci] PCI: Fix pci_host_bridge struct device release/free handling (Myron Stowe) [1897927] - [pci] PCI: Fix pci_register_host_bridge() device_register() error handling (Myron Stowe) [1897927] - [pci] PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges (Myron Stowe) [1897927] - [x86] x86/tboot: Don't disable swiotlb when iommu is forced on (Tony Camuso) [1883395] - [iommu] iommu/vt-d: Avoid panic if iommu init fails in tboot system (Tony Camuso) [1883395] - [pci] PCI/ERR: Clear PCIe Device Status errors only if OS owns AER (Myron Stowe) [1838358] - [pci] PCI/ERR: Rename pci_aer_clear_device_status() to pcie_clear_device_status() (Myron Stowe) [1838358] - [pci] PCI/AER: Log correctable errors as warning, not error (Myron Stowe) [1838358] - [pci] PCI/AER: Simplify __aer_print_error() (Myron Stowe) [1838358] - [misc] mei: hdcp: fix mei_hdcp_verify_mprime() input parameter (Tony Camuso) [1874577] - [misc] mei: add device kind to sysfs (Tony Camuso) [1874577] - [misc] mei: hw: don't use one element arrays (Tony Camuso) [1874577] - [misc] mei: hw: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: client: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: bus: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: ioctl: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] mei: hbm: use sizeof of variable instead of struct type (Tony Camuso) [1874577] - [misc] Revert "mei: Avoid the use of one-element arrays" (Tony Camuso) [1874577] - [misc] mei: Avoid the use of one-element arrays (Tony Camuso) [1874577] - [misc] mei: Replace HTTP links with HTTPS ones (Tony Camuso) [1874577] - [misc] mei: hdcp: Replace one-element array with flexible-array member (Tony Camuso) [1874577] - [misc] mei: bus: don't clean driver pointer (Tony Camuso) [1874577] - [misc] mei: me: add MEI device for KBP with ITPS capability (Tony Camuso) [1874577] - [misc] mei: me: add MEI device for SPT with ITPS capability (Tony Camuso) [1874577] - [misc] mei: me: add kdoc for mei_me_fw_type_nm() (Tony Camuso) [1874577] - [misc] mei: me: make mei_me_fw_sku_sps_4() less cryptic (Tony Camuso) [1874577] - [misc] mei: me: constify the device parameter to the probe quirk (Tony Camuso) [1874577] - [misc] mei: hdcp: Constify struct mei_cl_device_id (Tony Camuso) [1874577] - [misc] mei: me: add tiger lake point device ids for H platforms (Tony Camuso) [1874577] - [misc] mei: me: disable mei interface on Mehlow server platforms (Tony Camuso) [1874577] - [misc] mei: release me_cl object reference (Tony Camuso) [1874577] - [misc] mei: me: disable mei interface on LBG servers (Tony Camuso) [1874577] - [fs] NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock (Dave Wysochanski) [1906306] - [fs] NFS: Adjust fs_context error logging (Scott Mayhew) [1907711] - [mm] powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey (Steve Best) [1912294] - [infiniband] IB/isert: add module param to set sg_tablesize for IO cmd (Kamal Heib) [1887359] - [infiniband] IB/isert: allocate RW ctxs according to max IO size (Kamal Heib) [1887359] - [net] sched: flower: Mark MPLS multilabel match as Tech Preview (Guillaume Nault) [1814836] - [net] sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower (Guillaume Nault) [1814836] - [net] cls_flower: remove mpls_opts_policy (Guillaume Nault) [1814836] - [net] flow_dissector: work around stack frame size warning (Guillaume Nault) [1814836] - [net] cls_flower: Support filtering on multiple MPLS Label Stack Entries (Guillaume Nault) [1814836] - [net] flow_dissector: Parse multiple MPLS Label Stack Entries (Guillaume Nault) [1814836] - [netdrv] net/mlx5e: Use generic API to build MPLS label (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Support pedit on mpls over UDP decap (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Add support for hw decapsulation of MPLS over UDP (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Allow to match on mpls parameters (Alaa Hleihel) [1790220] - [netdrv] net/mlx5e: Add support for hw encapsulation of MPLS over UDP (Alaa Hleihel) [1790220]- [netdrv] net: intel: Remove in_interrupt() warnings (Ken Cox) [1838731] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838731] - [netdrv] ixgbe: use eth_zero_addr() to clear mac address (Ken Cox) [1838731] - [netdrv] ixgbe: Remove unnecessary usages of memset (Ken Cox) [1838731] - [netdrv] ixgbe: use generic power management (Ken Cox) [1838731] - [netdrv] ixgbe: convert to new udp_tunnel_nic infra (Ken Cox) [1838731] - [netdrv] ixgbe: don't clear UDP tunnel ports when RXCSUM is disabled (Ken Cox) [1838731] - [netdrv] ixgbe: Cleanup unneeded delay in ethtool test (Ken Cox) [1838731] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838731] - [netdrv] net: ethernet: ixgbe: don't call devm_mdiobus_free() (Ken Cox) [1838731] - [netdrv] net: ethernet: ixgbe: check the return value of ixgbe_mii_bus_init() (Ken Cox) [1838731] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838731] - [netdrv] ixgbe: protect ring accesses with READ- and WRITE_ONCE (Ken Cox) [1838731] - [netdrv] ixgbe: Remove unused inline function ixgbe_irq_disable_queues (Ken Cox) [1838731] - [netdrv] ixgbe: Use true, false for bool variable in __ixgbe_enable_sriov() (Ken Cox) [1838731] - [netdrv] ixgbe: Remove conversion to bool in ixgbe_device_supports_autoneg_fc() (Ken Cox) [1838731] - [netdrv] ixgbe: fix signed-integer-overflow warning (Ken Cox) [1838731] - [netdrv] ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K (Ken Cox) [1838731] - [netdrv] ionic: use mc sync for multicast filters (Jonathan Toppins) [1909329] - [fs] xfs: always return -ENOSPC on project quota reservation failure (Carlos Maiolino) [1908612] - [fs] xfs: group quota should return EDQUOT when prj quota enabled (Carlos Maiolino) [1908612] - [pwm] pwm: Add DesignWare PWM Controller Driver (Steve Best) [1783562] - [pwm] pwm: Ensure pwm_apply_state() doesn't modify the state argument (Steve Best) [1783562] - [net] sched: Mark VLAN_ACT_{POP,PUSH}_ETH as Tech Preview (Guillaume Nault) [1909345] - [vfio] vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn (Claudio Imbrenda) [1903972] - [s390] s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY (Claudio Imbrenda) [1903972] - [pci] PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY (Claudio Imbrenda) [1903972] - [iommu] s390/pci: adaptation of iommu to multifunction (Claudio Imbrenda) [1903972] - [s390] s390/pci: fix leak of DMA tables on hard unplug (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix PF/VF linking on hot plug (Claudio Imbrenda) [1853312] - [s390] s390/pci: re-introduce zpci_remove_device() (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix zpci_bus_link_virtfn() (Claudio Imbrenda) [1853312] - [s390] s390/pci: ignore stale configuration request event (Claudio Imbrenda) [1853312] - [s390] s390/pci: fix enabling a reserved PCI function (Claudio Imbrenda) [1853312] - [s390] s390/pci: create links between PFs and VFs (Claudio Imbrenda) [1853312] - [pci] PCI/IOV: Introduce pci_iov_sysfs_link() function (Claudio Imbrenda) [1853312] - [s390] s390/pci: removes wrong PCI multifunction assignment (Claudio Imbrenda) [1853312] - [s390] s390/pci: Handling multifunctions (Claudio Imbrenda) [1853312] - [s390] s390/pci: Adding bus resource (Claudio Imbrenda) [1853312] - [s390] s390/pci: adapt events for zbus (Claudio Imbrenda) [1853312] - [s390] s390/pci: create zPCI bus (Claudio Imbrenda) [1853312] - [s390] s390/pci: define RID and RID available (Claudio Imbrenda) [1853312] - [s390] s390/pci: define kernel parameters for PCI multifunction (Claudio Imbrenda) [1853312] - [pci] s390/pci: embedding hotplug_slot in zdev (Claudio Imbrenda) [1853312] - [s390] s390/pci: Expose new port attribute for PCIe functions (Claudio Imbrenda) [1853312] - [s390] s390/pci: Improve handling of unset UID (Claudio Imbrenda) [1853312] - [s390] s390/pci: Fix zpci_alloc_domain() over allocation (Claudio Imbrenda) [1853312] - [arm64] arm64: insn: Fix two bugs in encoding 32-bit logical immediates (Yauheni Kaliuta) [1900977] - [iommu] iommu/amd: Set DTEto represent 512 IRTEs (Jerry Snitselaar) [1897492 1894769] - [iommu] iommu/amd: Increase interrupt remapping table limit to 512 entries (Jerry Snitselaar) [1897492 1894769] - [tools] selftests: forwarding: Add MPLS L2VPN test (Guillaume Nault) [1861261] - [net] sched: act_mpls: Add action to push MPLS LSE before Ethernet header (Guillaume Nault) [1861261] - [net] sched: act_vlan: Add {POP,PUSH}_ETH actions (Guillaume Nault) [1861261] - [fs] cifs: Fix incomplete memory allocation on setxattr path (Leif Sahlberg) [1903883] - [fs] cifs: Fix leak when handling lease break for cached root fid (Leif Sahlberg) [1903883] - [fs] Revert "cifs: Fix the target file was deleted when rename failed." (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] cifs: fix reference leak for tlink (Leif Sahlberg) [1903883] - [fs] smb3: fix unneeded error message on change notify (Leif Sahlberg) [1903883] - [fs] cifs: remove the retry in cifs_poxis_lock_set (Leif Sahlberg) [1903883] - [fs] smb3: fix access denied on change notify request to some servers (Leif Sahlberg) [1903883] - [fs] Replace HTTP links with HTTPS ones: CIFS (Leif Sahlberg) [1903883] - [fs] cifs: prevent truncation from long to int in wait_for_free_credits (Leif Sahlberg) [1903883] - [fs] cifs: Fix the target file was deleted when rename failed (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'posix' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'handletimeout' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor lease disabling for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor persistent/resilient handle flags for multiuser mounts (Leif Sahlberg) [1903883] - [fs] SMB3: Honor 'seal' flag for multiuser mounts (Leif Sahlberg) [1903883] - [fs] cifs: Display local UID details for SMB sessions in DebugData (Leif Sahlberg) [1903883] - [fs] cifs: misc: Use array_size() in if-statement controlling expression (Leif Sahlberg) [1903883] - [fs] cifs: update ctime and mtime during truncate (Leif Sahlberg) [1903883] - [fs] cifs/smb3: Fix data inconsistent when punch hole (Leif Sahlberg) [1903883] - [fs] cifs/smb3: Fix data inconsistent when zero file range (Leif Sahlberg) [1903883] - [fs] cifs: Fix double add page to memcg when cifs_readpages (Leif Sahlberg) [1903883] - [fs] cifs: Fix cached_fid refcnt leak in open_shroot (Leif Sahlberg) [1903883] - [fs] smb3: Add debug message for new file creation with idsfromsid mount option (Leif Sahlberg) [1903883] - [fs] cifs: fix chown and chgrp when idsfromsid mount option enabled (Leif Sahlberg) [1903883] - [fs] smb3: allow uid and gid owners to be set on create with idsfromsid mount option (Leif Sahlberg) [1903883] - [fs] smb311: Add tracepoints for new compound posix query info (Leif Sahlberg) [1903883] - [fs] smb311: add support for using info level for posix extensions query (Leif Sahlberg) [1903883] - [fs] smb311: Add support for lookup with posix extensions query info (Leif Sahlberg) [1903883] - [fs] smb311: Add support for SMB311 query info (non-compounded) (Leif Sahlberg) [1903883] - [fs] SMB311: Add support for query info using posix extensions (level 100) (Leif Sahlberg) [1903883] - [fs] smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl (Leif Sahlberg) [1903883] - [fs] smb3: fix typo in mount options displayed in /proc/mounts (Leif Sahlberg) [1903883] - [fs] cifs: Add get_security_type_str function to return sec type (Leif Sahlberg) [1903883] - [fs] smb3: extend fscache mount volume coherency check (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] smb3: fix incorrect number of credits when ioctl MaxOutputResponse > 64K (Leif Sahlberg) [1903883] - [fs] smb3: remove static checker warning (Leif Sahlberg) [1903883] - [fs] cifs: fix minor typos in comments and log messages (Leif Sahlberg) [1903883] - [fs] smb3: minor update to compression header definitions (Leif Sahlberg) [1903883] - [fs] cifs: minor fix to two debug messages (Leif Sahlberg) [1903883] - [fs] cifs: Standardize logging output (Leif Sahlberg) [1903883] - [fs] smb3: Add new parm "nodelete" (Leif Sahlberg) [1903883] - [fs] cifs: get rid of unused parameter in reconn_setup_dfs_targets() (Leif Sahlberg) [1903883] - [fs] cifs: handle hostnames that resolve to same ip in failover (Leif Sahlberg) [1903883] - [fs] cifs: set up next DFS target before generic_ip_connect() (Leif Sahlberg) [1903883] - [fs] cifs: remove redundant initialization of variable rc (Leif Sahlberg) [1903883] - [fs] cifs: handle "nolease" option for vers=1.0 (Leif Sahlberg) [1903883] - [fs] cifs: fix leaked reference on requeued write (Leif Sahlberg) [1903883] - [fs] cifs: Fix null pointer check in cifs_read (Leif Sahlberg) [1903883] - [fs] CIFS: Spelling s/EACCESS/EACCES/ (Leif Sahlberg) [1903883] - [fs] cifs: fix uninitialised lease_key in open_shroot() (Leif Sahlberg) [1903883] - [fs] cifs: ensure correct super block for DFS reconnect (Leif Sahlberg) [1903883] - [fs] cifs: do not share tcons with DFS (Leif Sahlberg) [1903883] - [fs] cifs: minor update to comments around the cifs_tcp_ses_lock mutex (Leif Sahlberg) [1903883] - [fs] cifs: protect updating server->dstaddr with a spinlock (Leif Sahlberg) [1903883] - [fs] smb3: remove overly noisy debug line in signing errors (Leif Sahlberg) [1903883] - [fs] cifs: improve read performance for page size 64KB & cache=strict & vers=2.1+ (Leif Sahlberg) [1903883] - [fs] cifs: dump the session id and keys also for SMB2 sessions (Leif Sahlberg) [1903883] - [fs] smb3: enable swap on SMB3 mounts (Leif Sahlberg) [1903883] - [fs] smb3: change noisy error message to FYI (Leif Sahlberg) [1903883] - [fs] cifs: update internal module version number (Leif Sahlberg) [1903883] - [fs] smb3: use SMB2_SIGNATURE_SIZE define (Leif Sahlberg) [1903883] - [fs] CIFS: Fix bug which the return value by asynchronous read is error (Leif Sahlberg) [1903883] - [fs] CIFS: check new file size when extending file by fallocate (Leif Sahlberg) [1903883] - [fs] SMB3: Minor cleanup of protocol definitions (Leif Sahlberg) [1903883] - [fs] SMB3: Additional compression structures (Leif Sahlberg) [1903883] - [fs] SMB3: Add new compression flags (Leif Sahlberg) [1903883] - [fs] cifs: smb2pdu.h: Replace zero-length array with flexible-array member (Leif Sahlberg) [1903883] - [fs] cifs: clear PF_MEMALLOC before exiting demultiplex thread (Leif Sahlberg) [1903883] - [fs] cifs: cifspdu.h: Replace zero-length array with flexible-array member (Leif Sahlberg) [1903883] - [fs] CIFS: Warn less noisily on default mount (Leif Sahlberg) [1903883] - [fs] fs/cifs: fix gcc warning in sid_to_id (Leif Sahlberg) [1903883] - [fs] cifs: allow unlock flock and OFD lock across fork (Leif Sahlberg) [1903883] - [fs] cifs: do d_move in rename (Leif Sahlberg) [1903883] - [fs] cifs: add SMB2_open() arg to return POSIX data (Leif Sahlberg) [1903883] - [fs] cifs: plumb smb2 POSIX dir enumeration (Leif Sahlberg) [1903883] - [fs] cifs: add smb2 POSIX info level (Leif Sahlberg) [1903883] - [fs] cifs: rename posix create rsp (Leif Sahlberg) [1903883] - [fs] cifs: print warning mounting with vers=1.0 (Leif Sahlberg) [1903883] - [fs] smb3: fix performance regression with setting mtime (Leif Sahlberg) [1903883] - [fs] cifs: make use of cap_unix(ses) in cifs_reconnect_tcon() (Leif Sahlberg) [1903883] - [fs] cifs: use mod_delayed_work() for &server->reconnect if already queued (Leif Sahlberg) [1903883] - [fs] cifs: call wake_up(&server->response_q) inside of cifs_reconnect() (Leif Sahlberg) [1903883] - [fs] cifs: do not ignore the SYNC flags in getattr (Leif Sahlberg) [1903883] - [tools] tools/power/x86/intel-speed-select: Update version for v5.10 (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Fix missing base-freq core IDs (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Update version for v5.9 (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Add retries for mail box commands (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Add option to delay mbox commands (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Ignore -o option processing on error (Prarit Bhargava) [1896211] - [tools] tools/power/x86/intel-speed-select: Change path for caching topology info (Prarit Bhargava) [1896211] - [kernel] perf/core: Fix race in the perf_mmap_close() function (Michael Petlan) [1869925] {CVE-2020-14351} - [kernel] perf: Make struct ring_buffer less ambiguous (Michael Petlan) [1869925] {CVE-2020-14351} - [arm64] arm64: bpf: Fix branch offset in JIT (Yauheni Kaliuta) [1875342]- [hwmon] hwmon: (amd_energy) fix allocation of hwmon_channel_info config (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Add AMD family 19h model 01h x86 match (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) modify the visibility of the counters (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Improve the accumulation logic (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) optimize accumulation interval (David Arcari) [1911220] - [hwmon] hwmon: (amd_energy) Move label out of accumulation structure (David Arcari) [1911220] - [powerpc] powerpc/64s: Remove TM from Power10 features (Gustavo Duarte) [1892471] - [netdrv] ionic: start queues before announcing link up (Jonathan Toppins) [1906250] - [fs] NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy (Benjamin Coddington) [1873897] - [bluetooth] Bluetooth: btusb: Map Typhoon peak controller to BTUSB_INTEL_NEWGEN (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add support for Intel Bluetooth Device Typhoon Peak (8087:0032) (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Helper function to download firmware to Intel adapters (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Define a function to construct firmware filename (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add *setup* function for new generation Intel controllers (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Fix endianness issue for TLV version information (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Functions to send firmware header / payload (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Add infrastructure to read controller information (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btintel: Refactor firmware download function (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Update boot parameter specific to SKU (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Refactor of firmware download flow for Intel conrollers (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Enable Intel events even if already in operational mode (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Configure Intel debug feature based on available support (Gopal Tiwari) [1900356] - [bluetooth] Bluetooth: btusb: Add support to read Intel debug feature (Gopal Tiwari) [1900356] - [kernel] rcuwait: avoid lockdep splats from rcuwait_active() (Auger Eric) [1903095] - [net] udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments (Xin Long) [1879403] - [net] udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO (Xin Long) [1879403] - [net] udp: fix UDP header access on Fast/frag0 UDP GRO (Xin Long) [1879403] - [net] ethtool: add missing NETIF_F_GSO_FRAGLIST feature string (Xin Long) [1879403] - [net] fix fraglist segmentation reference count leak (Xin Long) [1879403] - [net] udp: initialize is_flist with 0 in udp_gro_receive (Xin Long) [1879403] - [include] udp: segment looped gso packets correctly (Xin Long) [1879403] - [net] udp: Support UDP fraglist GRO/GSO. (Xin Long) [1879403] - [net] Support GRO/GSO fraglist chaining. (Xin Long) [1879403] - [net] Add a netdev software feature set that defaults to off. (Xin Long) [1879403] - [net] Add fraglist GRO/GSO feature flags (Xin Long) [1879403] - [include] udp: Avoid post-GRO UDP checksum recalculation (Xin Long) [1879403] - [net] udp: fix GRO packet of death (Xin Long) [1879403] - [net] udp: fix GRO reception in case of length mismatch (Xin Long) [1879403] - [net] udp: cope with UDP GRO packet misdirection (Xin Long) [1879403] - [net] ipv6: factor out protocol delivery helper (Xin Long) [1879403] - [net] ip: factor out protocol delivery helper (Xin Long) [1879403] - [net] udp: add support for UDP_GRO cmsg (Xin Long) [1879403] - [net] udp: implement GRO for plain UDP sockets. (Xin Long) [1879403]- [powerpc] powerpc/perf: Fix Threshold Event Counter Multiplier width for P10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Exclude kernel samples while counting events in user space (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Invoke per-CPU variable access with disabled interrupts (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: MMCR0 control for PMU registers under PMCC=00 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/64s: Convert some cpu_setup() and cpu_restore() functions to C (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/64: Set up a kernel stack for secondaries before cpu_restore() (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc: Wire up memtest (Desnes Augusto Nunes do Rosario) [1906084] - [mm] powerpc/mm: Don't report hugepage tables as memory leaks when using kmemleak (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update cache events with l2l3 events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update generic event codes for power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Add generic and cache event list for power10 DD1 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix the PMU group constraints for threshold events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Update the PMU group constraints for l2l3 events in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [powerpc] powerpc/perf: Fix to update radix_scope_qual in power10 (Desnes Augusto Nunes do Rosario) [1906084] - [nvme] nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN (Gopal Tiwari) [1903513] - [base] driver: core: Fix list corruption after device_del() (Torez Smith) [1900751] - [base] device property: Don't clear secondary pointer for shared primary firmware node (Torez Smith) [1900751] - [base] device property: Keep secondary firmware node secondary by type (Torez Smith) [1900751] - [of] of: property: Fix create device links for all child-supplier dependencies (Torez Smith) [1900751] - [base] drivers/base/test: fix global-out-of-bounds error (Torez Smith) [1900751] - [base] driver core: Fix use-after-free and double free on glue directory (Torez Smith) [1900751] - [thunderbolt] thunderbolt: Add uaccess dependency to debugfs interface (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use "if USB4" instead of "depends on" in Kconfig (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Allow KUnit tests to be built also when CONFIG_USB4=m (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: debugfs: Fix uninitialized return in counters_write() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add debugfs interface (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Report power supply changes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: hisilicon: fix refercence leak in xhci_histb_probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for Intel Tiger Lake-H (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Only configure USB4 wake for lane 0 adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix memory leak if ida_simple_get() fails in enumerate_services() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit FN980 composition 0x1055 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cyberjack: fix write-URB completion race (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add NO_LPM quirk for Kingston flash drive (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't create stream debugfs files with spinlock held (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Workaround for S3 issue on AMD SNPS 3.0 xHC (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix sizeof() mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix signedness comparison issue with enum variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add missing MODULE_DEVICE_TABLE() to stusb160x (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore: Check both id_table and match() when both available (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix an IS_ERR() vs NULL check in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: reset hard_reset_count for any disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: fix cooldown mechanism (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: fix kernel-doc markups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: stusb160x: fix some signedness bugs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Quectel EC200T module support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add the missed ida_simple_remove() in ring_request_msix() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [documentation] usb: docs: document altmode register/unregister functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add QCOM PMIC typec detection driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Cellient MPL200 card (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_maxim: Add support for Sink FRS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Implement callbacks for FRS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: tcpm: Add support for Sink Fast Role SWAP(FRS) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_maxim: Chip level TCPC driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add set_vbus tcpci callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add a getter method to retrieve tcpm_port reference (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: cdc-acm: add quirk to blacklist ETAS ES58X devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: use cur_altsetting for consistency (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: Add Telit FT980-KS composition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: remove polling for /sys/kernel/debug/usb/devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add support for STUSB160x Type-C controller family (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add typec_find_pwr_opmode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Use OF graph API to get the connector fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: displayport: Reduce noise from the driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Add Kconfig option to reduce number of port initialization retries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Clean up use of port initialization schemes and retries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: fix altsetting probing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: clean up jtag quirks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add device-id for HP GC device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: clean up no-union-descriptor handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: use common data-class define (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: handle broken union descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "cdc-acm: hardening against malicious devices" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Accommodate usbip (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] PM: core: introduce pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [kernel] sched: Provide sched_set_fifo() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Fix incorrect downcast (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbcore/driver: Fix specific driver selection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [sound] USB: correct API of usb_control_msg_send/recv in sound driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: correct API of usb_control_msg_send/recv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "USB: legousbtower: use usb_control_msg_recv()" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "USB: core: hub.c: use usb_control_msg_send() in a few places" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: pci-quirks: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: ehci-dbgp: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: convert to readl_poll_timeout_atomic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: appledisplay: use module_usb_driver to simplify the code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: add debugfs support for ep with stream (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: don't create endpoint debugfs entry before ring buffer is set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Tune interrupt blocking for isochronous transfers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: omit duplicate actions when suspending a runtime suspended host (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: improve the comments for xhci_plat_suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add wakeup entry at sysfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add priv quirk for skip PHY initialization (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: delete the unnecessary code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add .suspend_quirk for struct xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add platform data support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: cleanup of data structures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usblp: fix race between disconnect() and read() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: don't inherity DMA properties for USB devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ehci-hcd: Move include to keep CRC stable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Only stop control channel when entering freeze (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Capitalize comment on top of QUIRK_FORCE_POWER_LINK_CONTROLLER (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Correct tb_check_quirks() kernel-doc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Log correct zeroX entries in decode_error() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Handle ERR_LOCK notification (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Handle SCU IPC error conditions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: update ROLE_CONTROL for DRP (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add support when hidden tx registers are inaccessible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Add register definitions to tcpci (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: UAS: use macro for reporting results (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Pass correct USB Type-C port number to SoC (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Add dependency on ACPI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: microtek: use set_host_byte() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: UAS: fix disconnect by unplugging a hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Prevent mode overrun (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Increase command completion timeout value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: use usb_control_msg_recv() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: hub.c: use usb_control_msg_send() in a few places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: message.c: use usb_control_msg_send() in a few places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb typec: mt6360: Add support for mt6360 Type-C driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ehci-sched: Remove ununsed function tt_start_uframe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci: Make distrust_firmware param default to false (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci: Default to per-port over-current protection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Retry DROM read once if parsing fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Support for device role (UFP) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Check the port status before connect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in Alternate modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Do not configure Altmode HPD High (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] device connection: Remove struct device_connection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] uas: bump hw_max_sectors to 2048 blocks for SS or faster drives (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] uas: fix sdev->host->dma_dev (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: fix sdev->host->dma_dev (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/host: ehci-npcm7xx: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/misc: usb3503: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/misc: usb4604: Use pm_ptr() macro (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: driver: fix stray tabs in error messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Check the _DEP dependencies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: fix slab-out-of-bounds Read in read_descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Fix out of sync data toggle if a configured device is reconfigured (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Un-register the USB role switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_is_ice_lake() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_is_tiger_lake() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check for Intel vendor ID when identifying controller (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_port_is_nhi() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Create device links from ACPI description (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to warn in TB_CFG_ERROR_INVALID_CONFIG_SPACE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_switch_next_cap() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Introduce tb_port_next_cap() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Move struct tb_cap_any to tb_regs.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add runtime PM for Software CM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [pci] PCI / thunderbolt: Switch to use device links instead of PCI quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Enable wakes from system suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Tear down DP tunnels when suspending (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Disable lane 1 for XDomain connection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Configure port for XDomain (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Set port configured for both ends of the link (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Configure link after lane bonding is enabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not change default USB4 router notification timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Initialize TMU again on resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Send reset only to first generation routers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not program NFC buffers for USB4 router protocol adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Optimize NHI LC mailbox command processing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Optimize Force Power logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Software CM only should set force power in Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use bit 31 to check if Firmware CM is running in Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to log an error if tb_switch_lane_bonding_enable() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use kobj_to_dev() instead of container_of() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: support dynamic Quectel USB compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Migrate workqueue to RT priority for processing events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: pd: Fix formatting in pd.h header (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: Remove the superfluous break (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: Add unusual_uas entry for Sony PSZ drives (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: atm: don't use snprintf() for sysfs attrs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA 2.3.1.2 failures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use maximum USB3 link rate when reclaiming if link is not up (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add USB3 bandwidth management (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Disable ports that are not implemented (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Do warm-reset when both CAS and XDEV_RESUME are set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: fix ep context print mismatch in debugfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: uas: Add quirk for PNY Pro Elite (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Better name for __check_usb_generic() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix device driver race (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Also match device drivers using the ->match vfunc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: fix tegra_xusb_get_phy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: otg usb2/usb3 port init (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-pci: Add support for reset controllers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Solve race condition in anchor cleanup functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Print error on failure to get VBUS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Make VBUS supply optional (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: remove needless check before usb_free_coherent() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: remove a duplicated entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: isd200: fix spelling mistake "removeable" -> "removable" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: Fix typo (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hcd: Fix use after free in usb_hcd_pci_remove() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Hold con->lock for the entire duration of ucsi_register_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Rework ppm_lock handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix AB BA lock inversion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: lvtest: return proper error code in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: rework notification_buffer resizing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: Add no-lpm quirk for another Raydium touchscreen (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: Fix bad gfp argument (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: merge fix for kunix_resource changes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Register charger (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix ASMedia ASM1142 DMA addressing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: define IDs for various ASMedia host controllers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Simplify USB ID table match (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Add WARN_ON ensure we are not trying to send 2 VDM packets at the same time (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Fix AB BA lock inversion between tcpm code and the alt-mode drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Refactor tcpm_handle_vdm_request (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Refactor tcpm_handle_vdm_request payload handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Add tcpm_queue_vdm_unlocked() helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Move mod_delayed_work(&port->vdm_state_machine) call into tcpm_queue_vdm() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Make function xhci_dbc_ring_alloc() static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgtty: Make some functions static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for pinctrl-0 through pinctrl-8 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for multiple DT bindings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix up report size handling for some devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: remove tty specific port structure from struct xhci_dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgcap: remove dbc dependency on dbctty specific flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Add a operations structure to access driver functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbctty: split dbc tty driver registration and unregistration functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: remove endpoint pointers from dbc_port structure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: simplify dbc requests allocation and queueing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc start and stop functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc memory init and cleanup functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: don't use generic xhci ring allocation functions for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci context allocation for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Use dbc structure in the request completion instead of xhci_hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to get_in/out_ep() helper functions to get endpoints (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbgtty: Pass dbc pointer when registering a dbctty device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to dbc_handle_xfer_event() instead of xhci_hcd pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Change to pass dbc pointer to xhci_do_dbc_stop() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Pass dbc pointer to endpoint init and exit functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Get the device pointer from dbc structure in dbc_ep_do_queue() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't pass the xhci pointer as a parameter to xhci_dbc_init_context() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use xhci_write_64() as it takes xhci as a parameter (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Use dev_info() and similar instead of xhci_info() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Add device pointer to dbc structure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Remove dbc_dma_free_coherent() wrapper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Remove dbc_dma_alloc_coherent() wrapper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci erst allocation and free functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't pass struct xhci_hcd pointer to xhci_link_seg() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: dbc: Don't use generic xhci inc_deq() function for dbc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Make debug message consistent with bus and port number (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: tegra: Fix allocation for the FPCI context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: stop using compat_alloc_user_space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix ASM2142/ASM3142 DMA addressing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: fix the failure of bandwidth allocation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: appledisplay: remove needless check before usb_free_coherent() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbtest: reduce stack usage in test_queue (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Stay in BIST mode till hardreset or unattached (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: Support BIST test data mode for compliance (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Support bist test data mode for compliance (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Error handling for tcpm_register_partner_altmodes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Comment correction for typec_partner_register_altmode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Avoid connect request on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: fix quirks_param_set() writing to a const pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hcd: Try MSI interrupts on PCI devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: add EM7305 QDL product ID (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: fix led-activity helpers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: fix memory corruption (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: sisusbvga: Move static const tables out to different include file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: sisusbvga: sisusb_init: Remove genunine unused static const arrays (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: class: cdc-wdm: Provide description for usb_cdc_wdm_register()'s manage_power arg (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb/serial.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb/pd_vdo.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: linux/usb.h: drop duplicated word in comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Remove pci-dma-compat wrapper APIs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: Fix a potential UB casued by left shifting a negative value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ohci: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: sierra: clean up special-interface handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: use in-kernel types in port data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: drop unnecessary packed attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: add support for TIOCGICOUNT (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: add support for line-status events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: disable interface on errors in open (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OHCI: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: replace HTTP links with HTTPS ones (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Do not define 'struct acpi_device_id' when !CONFIG_ACPI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: xhci-dbc: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: xhci-dbc: Supply missing 'xhci-dbgp.h' headerfile (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: early: ehci-dbgp: Remove set but never checked variable 'ret' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ucsi: Staticify and stop export of ucsi_init() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: legousbtower: Demote function header which is clearly not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: legousbtower: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: ldusb: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: iowarrior: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: iowarrior: Fix odd corruption issue in the file header (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: fusb302: Use 'gnu_printf' format notation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmodes: displayport: Supply missing displayport.h include file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmodes: displayport: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: alauda: Remove set but unchecked variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-debugfs: Use 'gnu_printf' format notation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-dbgtty: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-dbgcap: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-mem: Demote obvious misuse of kerneldoc to standard comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: Demote obvious misuse of kerneldoc to standard comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: adutux: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: atm: ueagle-atm: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: ledtrig-usbport: Demote obvious misuse of kerneldoc to standard comment blocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: drop redundant transfer-buffer casts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: serial: drop extern keyword from function declarations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: serial: drop unnecessary sysrq include (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: add sysrq break-handler dummy (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: inline sysrq dummy function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: only process sysrq when enabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: only set sysrq timestamp for consoles (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: fix break and sysrq handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: clean up receive processing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: make process-packet buffer unsigned (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: use fallthrough pseudo-keyword (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Quectel EG95 LTE modem (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix missing simulated-break margin (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: re-enable auto-RTS on open (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cp210x: enable usb generic throttle/unthrottle (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: simulate break condition if not supported (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: class: usbtmc: File headers are not good candidates for kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ohci: Mark cc_to_error as __maybe_unused (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: ulpi: Fix a few kerneldoc related issues (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Demote comment block which is clearly not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: debug: Demote comment blocks which are obviously not kerneldoc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: pci-quirks: Demote function header from kerneldoc to comment block (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] USB: Fix up terminology in include files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix old style declaration warning (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: console: add support for flow control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: quatech2: drop two stub functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: kobil_sct: log failure to update line settings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan_pda: drop unused firmware reset status (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: iuu_phoenix: drop unused URB submission results (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: don't compile unused packet definitions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Add support for USB4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Definitions for response status bits (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add data structure for Enter_USB message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Combine the definitions for Accessory and USB modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix up terminology (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: fix kernel-doc warnings and formatting in (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for authenticate on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for separating the flush to SPI and authenticate (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Ensure left shift of 512 does not overflow a 32 bit int (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add min and max line-speed macros (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: name prescaler, divisor registers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Poll for U0 after disabling USB2 LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Return if xHCI doesn't support LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-mtk: avoid runtime suspend when removing hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix enumeration issue when setting max packet size for FS devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix incorrect EP_STATE_MASK (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add new Product ID for CH340 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add GosunCn GM500 series (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cypress_m8: enable Simply Automated UPB PIM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for on-board retimers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Implement USB4 port sideband operations for retimer access (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Split common NVM functionality into a separate file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Retry USB4 block read operation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Generalize usb4_switch_do__data() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add Intel USB-IF ID to the NVM upgrade supported list (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Increase DP DPRX wait timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_port_get_link_speed() available to other files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Handle incomplete PCIe/USB3 paths correctly in discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Increase path length in discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add KUnit tests for tunneling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add KUnit tests for path walking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add DP IN resources for all routers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Report consumed bandwidth in both directions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make usb4_switch_map_pcie_down() also return enabled ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make usb4_switch_map_usb3_down() also return enabled ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Do not tunnel USB3 if link is not USB4 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Implement USB3 bandwidth negotiation routines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check that both ports are reachable when allocating path (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_path_alloc() work with tree topologies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Make tb_next_port_on_path() work with tree topologies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Fix path indices used in USB3 tunnel discovery (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [netdrv] thunderbolt: Get rid of E2E workaround (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: NHI can use HopIDs 1-7 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: No need to warn if NHI hop_count != 12 or hop_count != 32 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Build initial XDomain property block upon first connect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OTG: rename product list of devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: scsi: fix up comment to be more specific (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: fix wording in error message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: sierra: unify quirk handling logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: fix up wording in a comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: OHCI: remove obsolete FIXME comment (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rename USB OTG hub configuration option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rename USB quirk to USB_QUIRK_ENDPOINT_IGNORE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [uapi] USB: replace hardcode maximum usb string length by definition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ehci: reopen solution for Synopsys HC bug (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: add USB_QUIRK_DELAY_INIT for Logitech C922 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel_pmc_mux: Fix DP alternate mode entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: change char to u8 for sisusb_copy_memory (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: sisusb_con: Use array_size() helper in memcpy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: tegra: Remove PLL power supplies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] drivers: usb: Fix trivial spelling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: additional Device Classes to debug/usb/devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Improve USB4 config symbol help text (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: kcov: collect coverage from usb complete callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: get rid of pointless access_ok() calls (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix lockup of devices with limited prescaler (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: add basis for quirk detection (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] CDC-ACM: heed quirk also in error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit LE910C1-EUX compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: add DW5816e QDL support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add trivial .shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Ensure USB_ROLE_SWITCH is set as a dependency for tps6598x (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: make symbols static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: usb_wwan: do not resubmit rx urb on fatal errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/xhci-plat: Set PM runtime as active on resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Add support for Renesas controller with memory (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: renesas-xhci: Add the renesas xhci driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hci: add hc_driver as argument for usb_hcd_pci_probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: fix mmap dma mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: keep runtime active when removing host (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Update Kconfig to allow building on other architectures (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel: Fix DP_HPD_LVL bit field (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ehci: Add new EHCI driver for Broadcom STB SoC's (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: xhci-plat: Add support for Broadcom STB SoC's (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Add USB role switching logic (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Add OF probe binding (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Switch on role-switch uevent reporting (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel_pmc_mux: Support for static SBU/HSL orientation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add typec_find_orientation() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usblp: poison URBs upon disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] sierra-ms: do not call scsi_get_host_dev() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] USB: pci-quirks: Add Raspberry Pi 4 quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] thunderbolt: Replace zero-length array with flexible-array (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: correct kernel->user page attribute mismatch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: intel_pmc_mux: Fix the property names (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: intel: Handle alt mode HPD_HIGH (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Fix misleading driver bug report (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: qcserial: Add DW5816e support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: add quirk for LaCie 2Big Quadra (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Do not link to disabled devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Check return value of tb_sw_read() in usb4_switch_op() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: use true, false for bool variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix the stub for ucsi_register_port_psy() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Convert the Intel PMC Mux driver to use new SCU IPC API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: register with power_supply class (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: save power data objects in PD mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Correct bit-mask for CCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: replace magic numbers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Workaround for missed op_mode change (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: set USB data role when partner type is power cable/ufp (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Storage: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Replace an empty statement with a debug message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb/early: remove unused including (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: pci-quirks: use true, false for bool variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: typec: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: sisusbvga: Change port variable from signed to unsigned (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Add unusual_devs entry for JMicron JMS566 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration scheme first for high speed devices") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Fix handling of connect changes during sleep (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add support for Intel Tiger Lake (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: add sanity checking for data length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Don't clear hub TT buffer on ep0 protocol stall (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: prevent bus suspend if a roothub port detected a over-current condition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix handling halted endpoint even if endpoint ring appears empty (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [gpio] usb: fusb302: Convert to use GPIO descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: introduce a cool down (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: close race betrween suspend() and acm_softint (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: fix deadlock in error handling and PM flushing work (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: no use logging any details in case of ENODEV (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: pi3usb30532: Set switch_ / mux_desc name field to NULL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: early: Handle AMD's spec-compliant identifiers, too (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Fix free-while-in-use bug in the USB S-Glibrary (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: host: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: early: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] Revert "thunderbolt: Prevent crash if non-active NVMem file is read" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for extcon (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: restore capability check order (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Correct the documentation for typec_cable_put() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Wistron Neweb D19Q1 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add BroadMobi BM806U (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for ASKEY WWHC050 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Add ACPI support for USB interface devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-tegra: Add OTG support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add control driver for F81534A (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: fix rounding error in TIOCSSERIAL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: Use the correct style for SPDX License Identifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-pci: Allow host runtime PM as default for Intel Tiger Lake xHCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Finetune host initiated USB3 rootport link suspend and resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Tegra186/Tegra194 LPM (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Enable LPM for VIA LABS VL805 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Show host status when watchdog triggers and host is assumed dead (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add a separate debug message for split transaction errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: bail out early if driver can't accress host in resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add device-id for HP LD381 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add ME910G1 ECM composition 0x110b (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: mon: Use scnprintf() for avoiding potential buffer overflow (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi_ccg: workaround for NVIDIA test device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add a shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix a potential race during registration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix NULL pointer dereference (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Disable LPM on WD19's Realtek Hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Use scnprintf() for avoiding potential buffer overflow (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: fix tty cleanup-op kernel-doc (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: clean up carrier-detect helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Delete of_devlink kernel commandline option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: driver for Intel PMC mux control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add definitions for Thunderbolt 3 Alternate Mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Allow the role switches to be named (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Provide the switch drivers handle to the switch in the API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Leave the private driver data pointer to the drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Allow the mux handles to be requested with fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Add helpers for setting the mux state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Allow the muxes to be named (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: port: do error out if usb_autopm_get_interface() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: do error out if usb_autopm_get_interface() fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: fix unhandled return by employing a void function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: storage: Add quirk for Samsung Fit flash (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: quirks: add NO_LPM quirk for Logitech Screen Share (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: fix regulator probe and error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add sysfs node to show cc orientation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: move to SNK_UNATTACHED if sink removed for DRP (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for power-domains and hwlocks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: set F81534A serial port with RS232 mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add F81534A support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: use devm_kzalloc for port data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add tx_empty function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: extract LSR handler (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: uhci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ohci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: ehci-pci: remove useless cast for driver.name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Use ACPI_SUCCESS() at appropriate places (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Make use of acpi_evaluate_object() status (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Use const to reduce object data size (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ucsi: ccg: disable runtime pm during fw flashing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: register DP only for NVIDIA DP VDO (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for the 100 device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add missing annotation for xhci_enter_test_mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add missing annotation for xhci_set_port_power() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Do not open code __print_symbolic() in xhci trace events (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: use kobj_to_dev() API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: Add missing kernel-doc parameter descriptions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: set correct data role for non-DRD (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: icm: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [thunderbolt] thunderbolt: eeprom: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: don't probe unhandled devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: apple-mfi-fastcharge: fix endianess issue in probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Add driver to control USB fast charge for iOS devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fallback to generic driver when specific driver fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Select better matching USB drivers when available (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Implement usb_device_match_id() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Make it possible to "subclass" usb_device_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Export generic USB device driver functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: Replace zero-length array with flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Drop support for device name matching (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: altmode: Remove the notification chain (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Fix the description of struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Allow power role swapping even without USB PD (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Hide the port_type attribute when it's not supported (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Make the attributes read-only when writing is not possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for the 28 and 28L devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: misc: iowarrior: add support for 2 OEMed devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix novation SourceControl XL after suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] Revert "xhci: Fix memory leak when caching protocol extended capability PSI tables" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: remove redundant assignment to variable num (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: host: ehci-platform: add a quirk to avoid stuck (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: clean up endpoint-descriptor parsing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: quirks: blacklist duplicate ep on Sound Devices USBPre2 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: add endpoint-blacklist quirk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [uapi] usb: charger: assign specific number for enum value (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Don't record a connect-change event during reset-resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: uas: fix a plug & unplug racing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: hub: Fix the broken detection of USB3 device in SMSC hub (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix runtime pm enabling for quirky Intel hosts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak when caching protocol extended capability PSI tables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Force Maximum Packet size for Full-speed bulk devices to valid range (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: digi_acceleport: remove redundant assignment to pointer priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: relax unthrottle memory barrier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: fix receiver regression (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: Silence harmless uninitialized variable warning (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: cyberjack: fix spelling mistake "To" -> "Too" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: simplify endpoint check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: make set_termios synchronous (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: fix IrLAP framing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: fix link-speed handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ir-usb: add missing endpoint sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: wcove: fix "op-sink-microwatt" default that was in mW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpci: mask event interrupts when remove driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: Always unlink URBs in reverse order (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: quatech2: handle unbound ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan: handle unbound ports (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: add missing active-port sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: handle unbound ports on URB completion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: handle unbound port at reset_resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: garmin_gps: Use flexible-array member (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: stop all I/O on close() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: add chars_in_buffer() implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: suppress driver bind attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Quectel RM500Q in QDL mode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: hub: Improved device recognition on remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: phy-generic: Delete unused platform data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: opticon: fix control-message timeouts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: Add support for Quectel RM500Q (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: ulpi: Add resource-managed variant of otg_ulpi_create() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Provide definitions for the USB modes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Give the mux drivers all the details regarding the port state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add definitions for the latest specification releases (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Add the Product Type VDOs to struct usb_pd_identity (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: pd: Add definition for DFP and UFP1 VDOs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: pd: Add definitions for the Enter_USB message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: More API for cable handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Add parameter for the VDO to typec_altmode_enter() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Block mode entry if the port has the mode disabled (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: fix spelling mistake "connetor" -> "connector" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: missing parentheses in USE_NEW_SCHEME (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Fix the notification bit offsets (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Actually enable all the interface notifications (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix non-kernel-doc comments (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix: Don't skip endpoint descriptors with maxpacket=0 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB-PD tcpm: bad warning+size, PPS adapters (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb3503: Convert to use GPIO descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: add support for separate DP altmode devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Store the notification mask (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: mtk-xhci: Do not explicitly set the DMA mask (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: fix check for duplicate endpoints (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add ZLP support for 0x1bc7/0x9010 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: Fix build warning seen with CONFIG_PM=n (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Fix an undefined reference to 'extcon_get_state' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: EHCI: Do not return -EPIPE when hub is disconnected (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit ME910G1 0x110a composition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: make sure interrupts are restored to correct state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Increase STS_HALT timeout in xhci_suspend() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: only set D3hot for pci device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix USB3 device initiated resume race with roothub autosuspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix memory leak in xhci_add_in_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Fix incorrect DMA allocations for local memory pool drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: fix interface sanity checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix interface sanity check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: ueagle-atm: add missing endpoint check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: io_edgeport: fix epic endpoint lookup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: mon: Fix a deadlock in usbmon between mmap and read (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: usb-conn-gpio: Don't log an error on probe deferral (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: urb: fix URB structure initialization function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix use after free in typec_register_port() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: fix a potential use after free (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Implement basic ELPG support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add XUSB controller context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add support for XUSB context save/restore (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Enable runtime PM as late as possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Reuse stored register base address (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Extract firmware enable helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Use CNR as firmware ready indicator (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Avoid a fixed duration sleep (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Separate firmware request and load (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Fix "tega" -> "tegra" typo (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: drop comment about 2 uhci drivers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb, kcov: collect coverage from hub_event (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for interrupt-parent, dmas and -gpio(s) (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: serial: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: misc: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for "iommu-map" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Fix the semantics of of_is_ancestor_of() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Disable UAS on JMicron SATA enclosure (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: heed CAPACITY_HEURISTICS (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: uas: honor flag to avoid CAPACITY16 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Correct phy enable sequence (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-serial: cp201x: support Mark-10 digital force gauge (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Remove tcpc_config configuration mechanism (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-pci: Allow host runtime PM as default also for Intel Ice Lake xHCI (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: Support running urb giveback in tasklet context (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Add tracing for xhci doorbell register writes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci: update event ring dequeue pointer on purpose (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Fix documentation for out values (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Foxconn T77W968 LTE modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Clarify documentation for fwnode_operations.add_links() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop port open flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop read-urb check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop port driver data accessors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop serial struct accessor (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop paranoid serial checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop paranoid port checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: drop redundant urb context check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: rip out broken interrupt handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: fix probe error handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: document MCS7810 detection hack (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: clean up device-type handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: fix remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7720: fix remote wakeup (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: chaoskey: fix error case of a timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for DW5821e with eSIM support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] appledisplay: fix error handling in the scheduled work (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop superfluous newlines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop superfluous brackets (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: clean up runaway white space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant endianness comments (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop unnecessary packed attributes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: clean up pointer declarations in driver data (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: remove tower_abort_transfers() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: stop interrupt-out URB unconditionally (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant interrupt-in running flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop noisy disconnect messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant open_count check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: zero driver data at allocation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant NULL check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: drop redundant MODULE_LICENSE ifdef (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: clean up runaway white space (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: drop redundant open-count check from release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: idmouse: simplify disconnect handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Allow USB device to be warm reset in suspended state (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add device link support for iommus, mboxes and io-channels (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Make it easy to add device links from DT properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: mos7840: add USB ID to support Moxa UPort 2210 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Optimise ucsi_unregister() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: New error codes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove all bit-fields (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove struct ucsi_control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Remove the old API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ccg: Move to the new API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: acpi: Move to the new API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Simplified registration and I/O API (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Give the connector fwnode to the port device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: typec: Remove unused members from struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Remove the callback members from struct typec_capability (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Start using struct typec_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Separate the operations vector (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Introduce typec_get_drvdata() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Copy everything from struct typec_capability during registration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: Add support for USB2422 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: Drop some unused defines (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Add usb_role_switch_find_by_fwnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ch341: reimplement line-speed handling (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: Remove redundant vmap checks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: whiteheat: fix line-speed endianness (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: whiteheat: fix potential slab corruption (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] UAS: Revert commit 3ae62a42090f ("UAS: fix alignment of scatter/gather segments") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: Revert commit 747668dbc061 ("usb-storage: Set virt_boundary_mask to avoid SG overflows") (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: fix __le32/__le64 accessors in debugfs code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: fix Immediate Data Transfer endianness (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix use-after-free regression in xhci clear hub TT implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix control-message timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: use unsigned size format specifiers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix ring-buffer locking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Skip endpoints with 0 maxpacket length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: pl2303: add support for PL2303HXN (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix read info leaks (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver: core: Improve documentation for fwnode_operations.add_links() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Minor code formatting/style clean ups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ti_usb_3410_5052: clean up serial data access (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ti_usb_3410_5052: fix port-close races (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: Suppress problematic bind and unbind uevents (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix a signedness bug in tower_probe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix memleak on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix memleak on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fix an IS_ERR() vs NULL bug in hd3ss3220_probe() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] device property: Fix the description of struct fwnode_operations (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: fix NULL-derefs on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: use pr_err() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: drop redundant iowarrior mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: drop redundant disconnect mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: iowarrior: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: chaoskey: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix use-after-free on release (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ldusb: fix NULL-derefs on driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: drop redundant in-urb check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix use-after-free after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix NULL-deref on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: remove duplicated include from hd3ss3220.c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: drop OOM message (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: devio.c: Fix assignment of 0/1 to bool variables (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220: hd3ss3220_probe() warn: passing zero to 'PTR_ERR' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: hub: Check device descriptor before resusciation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: add dependency for TYPEC_HD3SS3220 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: Add Tegra194 XHCI support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: tegra: Parameterize mailbox register addresses (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: image: microtek.c: Remove unused variable (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: hd3ss3220_irq() can be static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] kcov: remote coverage support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Create device links for all child-supplier depencencies (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Add functional dependency link from DT bindings (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usb-skeleton: fix runtime PM after driver unbind (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-ext-caps.c: Add missing platform_device_put() on error in xhci_create_intel_xhci_sw_pdev() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix NULL pointer dereference in xhci_clear_tt_buffer_complete() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Increase STS_SAVE timeout in xhci_suspend() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Prevent deadlock when xhci adapter breaks during init (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: wait for CNR controller not ready bit in xhci resume (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix USB 3.1 capability detection on early xHCI 1.1 spec based hosts (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Check all endpoints for LPM timeout (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Prevent device initiated U1/U2 link pm if exit latency is too long (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: Fix false warning message about wrong bounce buffer write length (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: add pm_ops (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: simplify reset helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb251xb: add vdd supply support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: driver for TI HD3SS3220 USB Type-C DRP port controller (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: use regulator_bulk_set_supply_names() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ftdi-elan: move a couple of statements to next line (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Fix Kconfig indentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-tegra: use devm_platform_ioremap_resource() to simplify code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix open after failed reset request (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix potential NULL-deref on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix deadlock on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: legousbtower: fix slab info leak at probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: displayport: Fix for the mode entering routine (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: ucsi: ccg: Remove run_isr flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: use pr_err() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: drop redundant lcd mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: drop redundant disconnect mutex (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblcd: fix I/O after disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: usb: typec: tcpm: Fix a signedness bug in tcpm_fw_get_caps() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix NULL-derefs on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: adutux: fix use-after-free on disconnect (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: yurex: Don't retry on unexpected errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: microtek: fix info-leak at probe (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: keyspan: fix NULL-derefs on open() and write() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add support for Cinterion CLS8 devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: SCSI glue: use dev_err instead of printk (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: option: add Telit FN980 compositions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add device IDs for Sienna and Echelon PL-20 (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbcore: Fix slab-out-of-bounds bug during device reset (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rio500: Fix lockdep violation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: rio500: simplify locking (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: add USB GPIO based connection detection driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: create Kconfig file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: get usb-role-switch from parent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: Add fwnode_usb_role_switch_get() function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: roles: Introduce stubs for the exiting functions in role.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbip: Implement SG support to vhci-hcd and stub driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: intel: Enable static DRD mode for role switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci-ext-caps.c: Add property to disable Intel SW switch (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: core: phy: add support for PHY calibration (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-rcar: Add a helper macro to set xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: add quirks member into struct xhci_plat_priv (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: fix possible memleak on setup address fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] xhci: add TSP bitflag to TRB tracing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: dbc: Use GFP_KERNEL instead of GFP_ATOMIC in 'xhci_dbc_alloc_requests()' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci: dbc: Simplify error handling in 'xhci_dbc_alloc_requests()' (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tps6598x: Fix build error without CONFIG_REGMAP_I2C (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove commented out dma wrappers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove a stale comment in hcd_alloc_coherent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: use hcd_uses_dma to check for DMA capabilities (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Simplify usb_decode_get_set_descriptor function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Patch simplify usb_decode_set_clear_feature function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: common: Separated decoding functions from dwc3 driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: xhci-mtk: add an optional xhci_ck clock (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ftdi_sio: add support for FT232H CBUS gpios (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] device property: Remove duplicate test for NULL (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: roles: intel_xhci: Supplying software node for the role mux (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: core: document phy_calibrate() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usb-skeleton: make comment block in line with coding style (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: usbfs: only account once for mmap()'ed usb memory usage (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Call fusb302_debugfs_init earlier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Use usb_debug_root as root for our debugfs entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Use usb_debug_root as root for our debugfs entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: ohci-nxp: enable compile-testing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: storage: isd200: remove redundant assignment to variable sendToTransport (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Always provide fwnode for the port (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: fusb302: Remove unused properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbfs: Add a capability flag for runtime suspend (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-storage: remove single-use define for debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: Add definitions for the USB2.0 hub TT requests (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: remove ehci-w90x900 driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usbfs: Add ioctls for runtime power management (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbsevseg: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: trancevibrator: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: atm: cxacru: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: lvstest: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cytherm: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: cypress_cy7c63: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbtmc: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usblp: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: ueagle-atm: convert to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: typec: ucsi_ccg: convert i2c driver to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: add support for dev_groups to struct usb_device_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: add support for dev_groups to struct usb_driver (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: usbip: convert platform driver to use dev_groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: Disable USB2 LPM at shutdown (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-plat: Prevent an abnormally restrictive PHY init skipping (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: Remove dev_err() usage after platform_get_irq() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: xhci-hub: fix extra endianness conversion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: host: Remove call to memset after dma_alloc_coherent (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: mux: Switch to use fwnode_property_count_uXX() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: tcpm: Switch to use fwnode_property_count_uXX() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] usb: host: oxu210hp-hcd: remove include/linux/oxu210hp.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: core: hcd-pci: Use dev_get_drvdata where possible (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: resume ccgx i2c client (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: add runtime pm support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: refactor master_xfer (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb: typec: Registering real device entries for the muxes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: implement break control (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: f81232: add high baud rate support (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: serial: ark3116: drop redundant init_termios (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: Supply CCGx driver the fw build info (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: core: Invoke pm_runtime_get_*/pm_runtime_put_* before invoking reset callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: property: Document that of_graph_get_endpoint_by_regs needs of_node_put (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [phy] phy: make phy-core explicitly non-modular (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] OF: properties: add missing of_node_put (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: mark resume function as __maybe_unused (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [of] of: Use of_node_name_eq for node name comparisons (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: limit reads also for combined messages (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: adhere to I2C fault codes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: nvidia-gpu: make pm_ops static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [i2c] i2c: add i2c bus driver for NVIDIA GPU (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [tty] complete ->et_serial() switchover (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb_wwan: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] whiteheat: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ti_usb_3410_5052: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ssu100: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] quatech2: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] pl2303: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] opticon: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] mos7840: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] mos7720: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] io_ti: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] io_edgeport: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] fdti_sio: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] f81232: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] ark3116: switch to ->get_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] cdc-acm: switch to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [usb] usb-serial: begin switching to ->et_serial() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [tty] tty_ioctl(): start taking TIOCSERIAL into separate methods (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Remove device_connection_add() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Remove device_connection_find() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix device_pm_lock() locking for device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver code: print symbolic error code (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Fix the secondary firmware node handling in set_primary_fwnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: add device probe log helper (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Change delimiter in devlink device's name to "--" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Avoid NULL pointer dereference in device_get_next_child_node() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix sleeping in invalid context during device link deletion (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add waiting_for_supplier sysfs file for devices (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add state_synced sysfs file for devices that support it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [documentation] driver core: Expose device link details in sysfs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Avoid deferred probe due to fw_devlink_pause/resume() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Rename dev_links_info.defer_sync to defer_hook (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Don't do deferred probe in parallel with kernel_init thread (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Use software_node_unregister() when unregistering group of nodes (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device_is_dependent() to linux/device.h (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Update device link status correctly for SYNC_STATE_ONLY links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: implement software_node_unregister() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [lib] lib/test_printf: Add tests for pfw printk modifier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove unnecessary is_fwnode_dev variable in device_add() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers property: When no children in primary, try secondary (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix SYNC_STATE_ONLY device link implementation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove check in driver_deferred_probe_force_trigger() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: fw_devlink: Add support for batching fwnode parsing (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Look for waiting consumers only for a fwnode's primary device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Move code to the right part of the file (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device links from fwnode only for the primary device (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] Revert "Revert "driver core: Set fw_devlink to "permissive" behavior by default"" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix handling of fw_devlink=permissive (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: fw_devlink_flags can be static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add fw_devlink kernel commandline option (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Reevaluate dev->links.need_for_probe as suppliers are added (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Skip unnecessary work when device doesn't have sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add dev_has_sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Call sync_state() even if supplier has no consumers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow device link operations inside sync_state() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add sync_state driver/bus callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device link support for SYNC_STATE_ONLY flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix creation of device links with PM-runtime flags (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove device link creation limitation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add missing description of new struct device_link field (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add device link flag DL_FLAG_AUTOPROBE_CONSUMER (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Make driver core own stateful device links (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Fix adding device links to probing suppliers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: core: Remove glue dirs from sysfs earlier (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Remove the link if there is no driver with AUTO flag (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: silence device link messages unless debugging (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] base: core: Remove WARN_ON from link dependencies check (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: export set_secondary_fwnode() to modules (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Allow register and unregister software node groups (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Export fwnode_get_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] Revert "software node: Simplify software_node_release() function" (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: add basic tests for property entries (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: remove separate handling of references (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: implement reference properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: allow embedding of small arrays into property_entry (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: replace is_array with is_inline (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: unify PROPERTY_ENTRY_XXX macros (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: simplify property_entry_read_string_array() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: remove property_entry_read_uNN_array functions (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: get rid of property_set_pointer() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [firmware] efi/apple-properties: use PROPERTY_ENTRY_U8_ARRAY_LEN (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: mark internal macros with double underscores (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: introduce PROPERTY_ENTRY_XXX_ARRAY_LEN() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] software node: remove DEV_PROP_MAX (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: clean up property_copy_string_array() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow fwnode_operations.add_links to differentiate errors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Allow a device to wait on optional suppliers (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add a function to obtain a node's prefix (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add fwnode_get_name for returning the name of a node (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add functions for accessing node's parents (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Move fwnode_get_parent() up (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Make argument to to_software_node const (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Get reference to parent swnode in get_parent op (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [include] driver core: Add support for linking devices during device addition (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: Add fwnode_to_dev() to look up device from fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Initialize the return value in software_node_find_by_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Initialize the return value in software_node_to_swnode() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Add fwnode_connection_find_match() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add software_node_find_by_name() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: Introduce device lookup variants by device type (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: Introduce device lookup variants by fwnode (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Find connections also by checking the references (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Introduce fwnode_find_reference() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add software_node_get_reference_args() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Use kobject name when finding child nodes by name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Add support for static node descriptors (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Simplify software_node_release() function (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Allow node creation without properties (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Add fwnode_graph_get_endpoint_by_id() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: Make two functions static (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] software node: Implement get_named_child_node fwnode callback (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Find device connections also from device graphs (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device connection: Prepare support for firmware described connections (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: drop use of BUS_ATTR() (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] driver core: bus: convert to use BUS_ATTR_WO and RW (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: check if swnode is NULL before dereferencing it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: check if pointer p is NULL before dereferencing it (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] sysfs: Disable lockdep for driver bind/unbind files (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: fix fwnode_graph_get_next_endpoint() documentation (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: swnode: remove need for a temporary string for the node name (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] kobject: return error code if writing /sys/.../uevent fails (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Remove struct property_set (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] device property: Move device_add_properties() to swnode.c (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [base] drivers: base: Introducing software nodes to the firmware node framework (Torez Smith) [1900751 1856683 1838295 1837563 1783493] - [mm] powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm (Chris von Recklinghausen) [1862347] - [powerpc] powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM (Chris von Recklinghausen) [1862347] - [fs] mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race (Chris von Recklinghausen) [1862347] - [arm64] arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() (Andrew Jones) [1908439] - [arm64] arm64: pgtable: Fix pte_accessible() (Andrew Jones) [1908439] - [kernel] kernel: fork: properly initialize task_struct->task_struct_rh (Rafael Aquini) [1895892] - [s390] s390/dasd: Process FCES path event notification (Philipp Rudo) [1723823] - [s390] s390/dasd: Prepare for additional path event handling (Philipp Rudo) [1723823] - [s390] s390/dasd: Display FC Endpoint Security information via sysfs (Philipp Rudo) [1723823] - [s390] s390/dasd: Fix operational path inconsistency (Philipp Rudo) [1723823] - [s390] s390/dasd: Store path configuration data during path handling (Philipp Rudo) [1723823] - [s390] s390/dasd: Move duplicate code to separate function (Philipp Rudo) [1723823] - [s390] s390/dasd: Remove unused parameter from dasd_generic_probe() (Philipp Rudo) [1723823] - [s390] s390/cio: Add support for FCES status notification (Philipp Rudo) [1723823] - [s390] s390/cio: Provide Endpoint-Security Mode per CU (Philipp Rudo) [1723823] - [s390] s390/cio: Export information about Endpoint-Security Capability (Philipp Rudo) [1723823] - [net] net/af_iucv: fix null pointer dereference on shutdown (Philipp Rudo) [1903966] - [s390] s390/dasd: fix null pointer dereference for ERP requests (Philipp Rudo) [1903965] - [tools] selftests: netfilter: add command usage (Hangbin Liu) [1899374] - [tools] selftests: netfilter: simplify command testing (Hangbin Liu) [1899374] - [tools] selftests: netfilter: remove unused variable in make_file() (Hangbin Liu) [1899374] - [tools] selftests: netfilter: exit on invalid parameters (Hangbin Liu) [1899374] - [tools] selftests: netfilter: fix header example (Hangbin Liu) [1899374] - [tools] selftests: netfilter: kill running process only (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add MTU arguments to flowtables (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add checktool function (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add test case for conntrack helper assignment (Hangbin Liu) [1899374] - [tools] selftests: netfilter: extend nfqueue test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add nfqueue test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs tunnel test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs nat test case (Hangbin Liu) [1899374] - [tools] selftests: netfilter: add ipvs test script (Hangbin Liu) [1899374] - [tools] selftests: netfilter: check icmp pkttoobig errors are set as related (Hangbin Liu) [1899374] - [hwtracing] intel_th: pci: Add Emmitsburg PCH support (Jiri Olsa) [1838703] - [hwtracing] intel_th: pci: Add Tiger Lake PCH-H support (Jiri Olsa) [1783492 1782729] - [hwtracing] intel_th: pci: Add Jasper Lake CPU support (Jiri Olsa) [1783097] - [hwtracing] intel_th: pci: Add Elkhart Lake CPU support (Jiri Olsa) [1783596] - [hwtracing] intel_th: pci: Add Elkhart Lake SOC support (Jiri Olsa) [1783596] - [hwtracing] intel_th: pci: Add Ice Lake CPU support (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix a NULL dereference when hub driver is not loaded (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Make stopping the trace optional (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix user-visible error codes (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Fix the unexpected state warning (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Disallow multi mode on devices where it's broken (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: msu: Fix window switching without windows (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix freeing IRQs (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729] - [hwtracing] intel_th: Fix a double put_device() in error path (Jiri Olsa) [1838703 1783596 1783492 1783097 1782729]- [idle] intel_idle: Fix intel_idle() vs tracing (David Arcari) [1903307] - [idle] intel_idle: Fix max_cstate for processor models without C-state tables (David Arcari) [1903307] - [idle] intel_idle: Ignore _CST if control cannot be taken from the platform (David Arcari) [1903307] - [idle] intel_idle: mention assumption that WBINVD is not needed (David Arcari) [1903307] - [idle] intel_idle: Remove uninitialized_var() usage (David Arcari) [1903307] - [idle] intel_idle: cleanup code to address out of order commits (David Arcari) [1903307] - [s390] Revert "s390/qeth: phase out OSN support" (Philipp Rudo) [1903962] - [net] net/smc: fix matching of existing link groups (Philipp Rudo) [1903961] - [netdrv] mlxsw: core: Use variable timeout for EMAD retries (Ivan Vecera) [1857594] - [netdrv] mlxsw: Fix firmware flashing (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix memory leak on module removal (Ivan Vecera) [1857594] - [netdrv] mlxsw: Only advertise link modes supported by both driver and device (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add a PFC test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add headroom handling test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: qos_lib: Add a wrapper for running mlnx_qos (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Support port-less topologies (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Add devlink_cell_size_get() (Ivan Vecera) [1857594] - [tools] selftests: forwarding: devlink_lib: Split devlink_..._set() into save & set (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Expose transceiver_overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: Update module's settings when module is plugged in (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Initialize netdev's module overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: Enable temperature event for all supported port module sensors (Ivan Vecera) [1857594] - [netdrv] mlxsw: Update transceiver_overheat counter according to MTWE (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add an infrastructure to track transceiver overheat counter (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Query MTMP before writing to set only relevant fields (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Ports Module Administrative and Operational Status Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Port Module Plug/Unplug Event Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Management Temperature Warning Event Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: simplify the return expression of __mlxsw_sp_router_init() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Disable port buffer autoresize with qdiscs (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Implement dcbnl_setbuffer / getbuffer (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Support two headroom modes (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Manage internal buffer in the hdroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Introduce shared buffer ops (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Convert mlxsw_sp_port_headroom_init() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Inline mlxsw_sp_sb_max_headroom_cells() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Move here the new headroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Move here the three-step headroom configuration from DCB (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Convert mlxsw_sp_port_pg_prio_map() to hdroom code (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Convert ETS handler fully to mlxsw_sp_hdroom_configure() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Split headroom autoresize out of buffer configuration (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track buffer sizes in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track lossiness in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track priorities in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Track MTU in struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Unify delay handling between PFC and pause (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Add struct mlxsw_sp_hdroom (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Introduce fw_fatal health reporter (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring FW General Debug Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring FW Debug Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move fw_load_policy devlink param into core.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Push code doing params register/unregister into separate helpers (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move fw flashing code into core.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: Bump firmware version to XX.2008.1310 (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Derive SBIB from maximum port speed & MTU (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Keep maximum speed around (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Keep maximum MTU around (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Introduce ptys_max_speed callback (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Extract a helper to get Ethernet attributes (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Extend hwmon interface with critical and emergency alarms (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Calculate MLXSW_HWMON_ATTR_COUNT more accurately (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_hwmon: Split temperature querying from show functions (Ivan Vecera) [1857594] - [netdrv] treewide: Use fallthrough pseudo-keyword (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Reduce runtime of tc-police scale test (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Fix mausezahn delay parameter in mirror_test() (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Increase burst size for burst test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Increase burst size for rate test (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Decrease required rate accuracy (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ptp: Use generic helper function (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: RED: Test offload of trapping on RED qevents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Offload action trap for qevents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Add early_drop trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Allow for per-ASIC traps initialization (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Allow for per-ASIC trap groups initialization (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: On policer_id_base_ref_count, use dec_and_test (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Use 'size_t' for array sizes (Ivan Vecera) [1857594] - [netdrv] devlink: Pass extack when setting trap's action and group's parameters (Ivan Vecera) [1857594] - [net] devlink: Add early_drop trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_cnt: Use flex_array_size() helper in memcpy() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Fix use-after-free in router init / de-init (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Free EMAD transactions using kfree_rcu() (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Increase scope of RCU read-side critical section (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use different trap group for externally routed packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Allow programming link-local host routes (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add support for temperature thresholds reading for QSFP-DD transceivers (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Add ethtool support for QSFP-DD transceivers (Ivan Vecera) [1857594] - [netdrv] mlxsw: destroy workqueue when trap_register in mlxsw_emad_init (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Fix wrong SFP EEPROM reading for upper pages 1-3 (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Test policers' occupancy (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add scale test for tc-police (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: Test tc-police restrictions (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add tc-police tests (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Offload FLOW_ACTION_POLICE (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Add police action (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Work around hardware limitation (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_policer: Add devlink resource support (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_policer: Add policer core (Ivan Vecera) [1857594] - [netdrv] mlxsw: resources: Add resource identifier for global policers (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add policer bandwidth limits (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Use mirror reason during Rx listener lookup (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Retrieve mirror reason from CQE during receive (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Add mirror reason field to CQEv2 (Ivan Vecera) [1857594] - [netdrv] mlxsw: trap: Add trap identifiers for mirrored packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Increase trap identifier to 10 bits (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Allow setting policer on a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Allow passing parameters to SPAN agents (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add support for mirroring towards CPU port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Do not dereference destination netdev (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add driver private info to parms_set() callback (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add per-ASIC SPAN agent operations (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: add mirroring_pid_base to MOGCR register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add session_id and pid to MPAT register (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: RED: Test offload of mirror on RED early_drop qevent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_qdisc: Offload mirroring on RED qevent early_drop (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Promote binder-type dispatch to spectrum.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Publish matchall data structures (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Drop an unused field (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flow: Convert a goto to a return (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to enable / disable global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add support for global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Prepare for global mirroring triggers (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Move SPAN operations out of global file (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring Port Analyzer Global Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Add Monitoring Mirror Trigger Enable Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: pci: Fix use-after-free in case of failed devlink reload (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Remove inappropriate usage of WARN_ON() (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add tests for ethtool extended state (Ivan Vecera) [1857594] - [tools] selftests: forwarding: forwarding.config.sample: Add port with no cable connected (Ivan Vecera) [1857594] - [tools] selftests: forwarding: ethtool: Move different_speeds_get() to ethtool_lib (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Add link extended state (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Port Diagnostics Database Register (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_ethtool: Move mlxsw_sp_port_type_speed_ops structs (Ivan Vecera) [1857594] - [netdrv] mlxsw: Move ethtool_ops to spectrum_ethtool.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Rename mlxsw_sp_port_headroom_set() (Ivan Vecera) [1857594] - [netdrv] mlxsw: Enforce firmware version for Spectrum-3 (Ivan Vecera) [1857594] - [netdrv] mlxsw: Bump firmware version to XX.2007.1168 (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_dcb: Fix a spelling typo in spectrum_dcb.c (Ivan Vecera) [1857594] - [tools] selftests: forwarding: Add a test for pedit munge tcp, udp sport, dport (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Support FLOW_ACTION_MANGLE for TCP, UDP ports (Ivan Vecera) [1857594] - [netdrv] mlxsw: core_acl_flex_actions: Add L4_PORT_ACTION (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Split handling of pedit mangle by chip type (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Do not rely on machine endianness (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Adjust headroom buffers for 8x ports (Ivan Vecera) [1857594] - [netdrv] mlxsw: core: Use different get_trend() callbacks for different thermal zones (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Add test for control packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register ACL control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register layer 3 control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Register layer 2 control traps (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Factor out common Rx listener function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Move layer 3 exceptions to exceptions trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: remove redundant initialization of pointer br_dev (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Allow programming link-local prefix routes (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Add packet traps for BFD packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Treat IPv6 link-local SIP as an exception (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Share one group for all locally delivered packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Move all trap groups under the same enum (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Do not hard code "thin" policer identifier (Ivan Vecera) [1857594] - [netdrv] mlxsw: switchx2: Move SwitchX-2 trap groups out of main enum (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Reduce priority of locally delivered packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for local routes and link-local destination (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use separate trap group for FID miss (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for various IPv6 packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename IPv6 ND trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same switch case for identical groups (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use dedicated trap group for ACL trap (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Fix spelling mistake in trap's name (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use dedicated trap group for sampled packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for IPv6 ND and ARP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename ARP trap group (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Remove unnecessary field (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Align TC and trap priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_buffers: Assign non-zero quotas to TC 0 of the CPU port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Change default rate and priority of DHCP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Trap IPv4 DHCP packets in router (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Use same trap group for MLD and IGMP packets (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename IGMP trap group (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: Do not hard code trap group name (Ivan Vecera) [1857594] - [tools] selftests: devlink_lib: Remove double blank line (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap group data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Store all trap policer data in one array (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_trap: Move struct definition out of header file (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: add couple of test for the correct matchall-flower ordering (Ivan Vecera) [1857594] - [tools] selftests: mlxsw: tc_restrictions: add test to check sample action restrictions (Ivan Vecera) [1857594] - [] selftests: mlxsw: rename tc_flower_restrictions.sh to tc_restrictions.sh (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flower: Forbid to insert flower rules in collision with matchall rules (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Forbid to insert matchall rules in collision with flower rules (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Expose a function to get min and max rule priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Put matchall list into substruct of flow struct (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_flower: Expose a function to get min and max rule priority (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Restrict sample action to be allowed only on ingress (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Remove old SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Use new analyzed ports list during speed / MTU change (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Convert flower-based mirroring to new SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Convert matchall-based mirroring to new SPAN API (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to bind / unbind a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Wrap buffer change in a function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Rename function (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to get / put an analyzed port (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Add APIs to get / put a SPAN agent (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Move flow offload binding into spectrum_flow.c (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Process matchall events from the same cb as flower (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Avoid copying sample values and use RCU pointer direcly instead (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Push per-port rule add/del into separate functions (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Move ingress indication into mall_entry (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_sample_add() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_matchall: Pass mall_entry as arg to mlxsw_sp_mall_port_mirror_add() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Use block variable in mlxsw_sp_acl_rule_del() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Push matchall bits into a separate file (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Push flow_block related functions into a separate file (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum: Rename acl_block to flow_block (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_acl: Move block helpers into inline header functions (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Replace zero-length array with flexible-array member (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Use 'refcount_t' for reference counting (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Remove unnecessary debug prints (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Rename parms() to parms_set() (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_span: Reduce nesting in mlxsw_sp_span_entry_configure() (Ivan Vecera) [1857594] - [netdrv] net/mlxfw: Remove unneeded semicolon (Ivan Vecera) [1857594] - [netdrv] mlxsw: reg: Increase register field length to 13 bits (Ivan Vecera) [1857594] - [netdrv] mlxsw: spectrum_router: Re-increase scale of IPv6 nexthop groups (Ivan Vecera) [1857594] - [net] ipv6: Fix use of anycast address with loopback (Ivan Vecera) [1899591] - [net] ipv6: addrconf_f6i_alloc - fix non-null pointer check to !IS_ERR() (Ivan Vecera) [1899591] - [net] ipv6: fix excessive RTF_ADDRCONF flag on ::1/128 local route (and others) (Ivan Vecera) [1899591] - [net] ipv6: Change addrconf_f6i_alloc to use ip6_route_info_create (Ivan Vecera) [1899591] - [net] ipv6: Move setting default metric for routes (Ivan Vecera) [1899591] - [net] Add extack argument to ip_fib_metrics_init (Ivan Vecera) [1899591] - [net] ipv6: do not leave garbage in rt->fib6_metrics (Ivan Vecera) [1899591] - [net] Move free of dst_metrics to helper (Ivan Vecera) [1899591] - [net] common metrics init helper for dst_entry (Ivan Vecera) [1899591] - [net] Move free of fib_metrics to helper (Ivan Vecera) [1899591] - [net] common metrics init helper for FIB entries (Ivan Vecera) [1899591] - [net] rtmsg_to_fib6_config() - use new style struct initializer instead of memset (Ivan Vecera) [1899591] - [powercap] powercap/intel_rapl: enumerate Psys RAPL domain together with package RAPL domain (Puneet Sethi) [1893463] - [powercap] powercap/intel_rapl: Fix domain detection (Puneet Sethi) [1893463]- [net] openvswitch: fix TTL decrement exception action execution (Eelco Chaudron) [1902610] - [net] openvswitch: fix error return code in validate_and_copy_dec_ttl() (Eelco Chaudron) [1902610] - [net] openvswitch: fix TTL decrement action netlink message format (Eelco Chaudron) [1902610] - [x86] hyperv: Enable 15-bit APIC ID if the hypervisor supports it (Vitaly Kuznetsov) [1903823] - [x86] kvm: Enable 15-bit extension when KVM_FEATURE_MSI_EXT_DEST_ID detected (Vitaly Kuznetsov) [1903823] - [documentation] x86/kvm: Reserve KVM_FEATURE_MSI_EXT_DEST_ID (Vitaly Kuznetsov) [1903823] - [iommu] hyper-v: Disable IRQ pseudo-remapping if 15 bit APIC IDs are available (Vitaly Kuznetsov) [1903823] - [x86] apic: Support 15 bits of APIC ID in MSI where available (Vitaly Kuznetsov) [1903823] - [x86] msi: Provide msi message shadow structs (Vitaly Kuznetsov) [1903823] - [kernel] genirq/msi: allow shadow declarations of msi_msg:: $member (Vitaly Kuznetsov) [1903823] - [x86] ioapic: Handle Extended Destination ID field in RTE (Vitaly Kuznetsov) [1903823] - [x86] apic: Always provide irq_compose_msi_msg() method for vector domain (Vitaly Kuznetsov) [1903823] - [x86] apic: Cleanup delivery mode defines (Vitaly Kuznetsov) [1903823] - [x86] apic/uv: Fix inconsistent destination mode (Vitaly Kuznetsov) [1903823] - [x86] msi: Only use high bits of MSI address for DMAR unit (Vitaly Kuznetsov) [1903823] - [x86] msi: Move compose message callback where it belongs (Vitaly Kuznetsov) [1903823] - [kernel] genirq/chip: Use the first chip in irq_chip_compose_msi_msg() (Vitaly Kuznetsov) [1903823] - [x86] apic: Fix x2apic enablement without interrupt remapping (Vitaly Kuznetsov) [1903823] - [tools] perf test: Fix msan uninitialized use (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Fix the ratio comments of miss-events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Free formats for perf pmu parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Do not free metric when failed to resolve (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Free metric when it failed to resolve (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Release expr_parse_ctx after testing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix memory leaks in parse-metric test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-event: Fix memory leak in evsel->unit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix cpu/thread map leak (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix some memory leaks - part 2 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix some memory leaks (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Free aliases for PMU event map aliases test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf vendor events amd: Remove trailing commas (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Leader sampling shouldn't clear sample period (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Prevent override of attr->sample_period for libpfm4 events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Set PERF_RECORD_PERIOD if attr->freq is set (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Fix 2 memory sanitizer warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix the "signal" test inline assembly (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record/stat: Explicitly call out event modifiers in the documentation (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fix build warning on 32-bit arches (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf jevents: Fix suspicious code in fixregex() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use uintptr_t when casting numbers to pointers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf report: Disable ordered_events for raw dump (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Correct SNOOPX field offset (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix corrupt data after perf inject from (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf cs-etm: Fix corrupt data after perf inject from (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Avoid an uninitialized read when using fake PMUs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Fix out of bounds array access in the print_counters() evlist method (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Set NULL sentinel in pmu_events table in "Parse and process metrics" test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Set exclude_guest=1 for user-space counting (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Correct the help info of option "--no-bpf-event" (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Use zd for size_t printf formats on 32-bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: arm-spe: Fix check error when synthesizing events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf symbols: Add mwait_idle_with_hints.constprop.0 to the list of idle symbols (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf sched timehist: Fix use of CPU list with summary option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Fix basic bpf filtering test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Make option description initials all capital letters (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf build-ids: Fall back to debuginfod query if debuginfo not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Remove dead code in parse_nodes_opt() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Update POWER9 metrics to utilize other metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add change log (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: ftrace: Add set_tracing_options() to set all trace options (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option --tid to filter by thread id (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option -D/--delay to delay tracing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf: ftrace: Allow set graph depth by '--graph-opts' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option tracing_thresh (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option 'verbose' to show more info for graph tracer (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for tracing option 'irq-info' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option funcgraph-irqs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for trace option sleep-time (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add support for tracing option 'func_stack_trace' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add general function to parse sublevel options (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '--inherit' to trace children processes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Show trace column header (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '-m/--buffer-size' to set per-cpu buffer size (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Factor out function write_tracing_file_int() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Add option '-F/--funcs' to list available functions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf ftrace: Select function/function_graph tracer automatically (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Use numa_node_to_cpus() to bind tasks to nodes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix cpumask memory leak in node_has_cpus() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools build feature: Quote CC and CXX for their arguments (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Fix module symbol processing (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Rename 'enum dso_kernel_type' to 'enum dso_space_type' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Fix man page typos (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Allow multiple probes in record+script_probe_vfs_getname.sh (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench mem: Always memset source before memcpy (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf sched: Prefer sched_waking event when it exists (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Fix a couple of spelling mistakes in options text (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix benchmark names (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench numa: Fix number of processes in "2x3-convergence" test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf trace beauty: Use the autogenerated protocol family table (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf trace beauty: Add script to autogenerate socket families table (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Add 'tod' field to display time of day (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Change the 'enum perf_output_field' enumerators to be 64 bits (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf data: Add support to store time of day in CTF data conversion (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Move clockid_res_ns under clock struct (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf header: Store clock references for -k/--clockid option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add clockid_name function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf clockid: Move parse_clockid() to new clockid object (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Handle possible strdup() error in tep_add_plugin_path() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed description of tep_add_plugin_path() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed type in PRINT_FMT_STING (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fixed broken indentation in parse_ip4_print_args() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Improve error handling of tep_plugin_add_option() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Fix typo in tep_plugin_add_option() description (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Handle strdup() error in parse_option_name() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libtraceevent: Document tep_load_plugins_hook() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evsel: Extend message to mention CAP_SYS_PTRACE and perf security doc link (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for decoding PSB+ only (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for decoding FUP/TIP only (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add itrace 'q' option for quicker, less detailed decoding (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Time filter logged perf events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Use itrace debug log flags to suppress some messages (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add optional log flags to the itrace 'd' option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Use itrace error flags to suppress some errors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add optional error flags to the itrace 'e' option (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf auxtrace: Add missing itrace options to help text (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Improve aux_output not supported error (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix duplicate branch after CBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Fix FUP packet state (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Introduce --control fd:ctl-fdoptions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Implement control commands handling (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf record: Extend -D, --delay option with -1 value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Introduce --control fd:ctl-fdoptions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Add benchmark of find_next_bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools build feature: Use CC and CXX from parent (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename group_list to metric_list (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename struct egroup to metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add metric group test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Make compute_single function more precise (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add recursion check when processing nested metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add DCache_L2 to metric parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add cache_miss_cycles to metric parse test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add events for the current list (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Compute referenced metrics (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add referenced metrics to hash data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Collect referenced metrics in struct metric_expr (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Collect referenced metrics in struct metric_ref_node (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename __metricgroup__add_metric to __add_metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add add_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add macros for iterating map events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add expr__del_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Change expr__get_id to return struct expr_id_data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add expr__add_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Fix memory leak in expr__add_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf test: Ensure sample_period is set libpfm4 events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Fix term parsing for raw syntax (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Allow r0x event syntax (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: No need to cache the PMUs in ARM SPE auxtrace init routine (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf bench: Add basic syscall benchmark (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Implement control commands handling (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: extend -D, --delay option with -1 value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out event handling loop into dispatch_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out body of event handling loop for fork case (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Move target check to loop control statement (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf stat: Factor out body of event handling loop for system wide (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Implement control command handling functions (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Introduce control file descriptors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Avoid counting of nonfilterable fdarray fds (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Add flags to fdarray fds objects (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] libperf: Avoid internal moving of fdarray fds (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Add 'struct expr_id_data' to keep expr value (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf metric: Rename expr__add_id() to expr__add_val() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Warn if the target function is a GNU indirect function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Fix memory leakage when the probe point is not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Fix wrong variable warning when the probe point is not found (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf probe: Avoid setting probes on the same address for the same event (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf kmem: Pass additional arguments to 'perf record' (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Report BPF errors (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Show text poke address symbol (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Add option --show-text-poke-events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf intel-pt: Add support for text poke events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add support for PERF_RECORD_TEXT_POKE (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf annotate: Fix non-null terminated buffer returned by readlink() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf inject jit: Remove //anon mmap events (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf symbols: Add s390 idle functions 'psw_idle' and 'psw_idle_exit' to list of idle symbols (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Fix reporting of unknown SVM exit reasons (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Change to SPDX License format (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add builtin handler for trace_marker_raw (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Move kernel_stack event handler to "function" plugin (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add plugin for decoding syscalls/sys_enter_futex (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add offset option for function plugin (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add more SVM exit reasons (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add plugin for tlb_flush (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Optimize pretty_print() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add support for more printk format specifiers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Introduced new traceevent API, for adding new plugins directories (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add interface for options to plugins (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools lib traceevent: Add tep_load_plugins_hook() API (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Disable a subset of bison warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Disable a subset of flex warnings (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Declare bison header file output (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add missing headers noticed when building with NO_LIBBPF=1 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Declare flex header file output (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add flex debug build flag (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add bison debug build flag (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use automatic variable for yacc input (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse-events: Use automatic variable for flex input (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' branch_type methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' sample_id_all methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' sample_type methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' strerror methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf evlist: Fix the class prefix for 'struct evlist' 'add' evsel methods (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Improve CPU core PMU HW event list ordering (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: List kernel supplied event aliases for arm64 (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf cs-etm: Allow no CoreSight sink to be specified on command line (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add < and > operators (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf expr: Add d_ratio operation (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf script: Fixup some evsel/evlist method names (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add parse metric test for frontend metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add parse metric test for ipc metric (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add test_generic_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Release metric_events rblist (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Factor out prepare_metric function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add metricgroup__parse_groups_test function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add map to parse_groups() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add fake_pmu to parse_group() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse: Factor out parse_groups() function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Add another metric parsing test (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf pmu: Add a perf_pmu__fake object to use with __parse_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf parse: Provide a way to pass a fake_pmu to parse_events() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tests: Factor check_parse_id function (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf tools: Add fake pmu support (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] perf annotate: Remove unneeded conversion to bool (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools/: replace HTTP links with HTTPS ones (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [tools] tools, build: Propagate build failures from tools/build/Makefile.build (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] x86/cpufeatures: Add Architectural LBRs feature bit (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Add support for Intel SPR platform (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Support multiple RAPL unit quirks (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/rapl: Fix missing psys sysfs attributes (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Take over CAP_SYS_PTRACE creds to CAP_PERFMON capability (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf: Expose get/put_callchain_entry() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [include] perf: : drop a duplicated word (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Remove task_ctx_size (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Create kmem_cache for the LBR context data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Use kmem_cache to allocate the PMU specific data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf/core: Factor out functions to allocate/free the task_ctx_data (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Support Architectural LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out intel_pmu_store_lbr (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out rdlbr_all() and wrlbr_all() (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Mark the {rd, wr}lbr_{to, from} wrappers __always_inline (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Unify the stored format of LBR information (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Support LBR_CTL (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] x86/msr-index: Add bunch of MSRs for Arch LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Expose CPUID enumeration bits for arch LBR (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Use dynamic data structure for task_ctx (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Factor out a new struct for generic optimization (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add the function pointers for LBR save and restore (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add a function pointer for LBR read (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/intel/lbr: Add a function pointer for LBR reset (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Keep LBR records unchanged in host context for guest usage (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Add constraint to create guest LBR event without hw counter (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/lbr: Add interface to get LBR information (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Provide stubs of KVM helpers for non-Intel CPUs (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86/core: Refactor hw->idx checks and cleanup (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] perf/x86: Fix variable types for LBR registers (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [kernel] perf: Add perf text poke event (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [uapi] perf: Add perf_event_mmap_page::cap_user_time_short ABI (Michael Petlan) [1811839 1731571 1838555 1838896 1873271] - [x86] sev-es: Do not support MMIO to/from encrypted memory (Vitaly Kuznetsov) [1868080] - [x86] head/64: Check SEV encryption before switching to kernel page-table (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Sanity-check CPUID results in the early #VC handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Check SEV encryption in 64-bit boot-path (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Introduce sev_status (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Use GHCB accessor for setting the MMIO scratch buffer (Vitaly Kuznetsov) [1868080] - [x86] head/64: Disable stack protection for head$(BITS).o (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Check required CPU features for SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] efi: Add GHCB mappings when SEV-ES is active (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle NMI State (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Support CPU offline/online (Vitaly Kuznetsov) [1868080] - [x86] head/64: Don't call verify_cpu() on starting APs (Vitaly Kuznetsov) [1868080] - [x86] smpboot: Load TSS and getcpu GDT entry before loading IDT (Vitaly Kuznetsov) [1868080] - [x86] realmode: Setup AP jump table (Vitaly Kuznetsov) [1868080] - [x86] realmode: Add SEV-ES specific trampoline entry point (Vitaly Kuznetsov) [1868080] - [x86] vmware: Add VMware-specific handling for VMMCALL under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] kvm: Add KVM-specific VMMCALL handling under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] paravirt: Allow hypervisor-specific VMMCALL handling under SEV-ES (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle #DB Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle #AC Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle VMMCALL Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MWAIT/MWAITX Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MONITOR/MONITORX Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle INVD Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle RDPMC Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle RDTSC(P) Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle WBINVD Events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle DR7 read/write events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MSR events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MMIO String Instructions (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle MMIO events (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Handle instruction fetches from user-space (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Wire up existing #VC exit-code handlers (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add a Runtime #VC Exception Handler (Vitaly Kuznetsov) [1868080] - [x86] entry/64: Add entry code for #VC handler (Vitaly Kuznetsov) [1868080] - [x86] dumpstack/64: Add noinstr version of get_stack_info() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Adjust #VC IST Stack on entering NMI handler (Vitaly Kuznetsov) [1868080] - [x86] boot/64: Explicitly map boot_params and command line (Vitaly Kuznetsov) [1868080] - [x86] boot/64: Initialize 5-level paging variables earlier (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Allocate and map an IST stack for #VC handler (Vitaly Kuznetsov) [1868080] - [x86] debug: Allow a single level of #DB recursion (Vitaly Kuznetsov) [1868080] - [x86] entry: Remove DBn stacks (Vitaly Kuznetsov) [1868080] - [x86] entry, nmi: Disable #DB (Vitaly Kuznetsov) [1868080] - [x86] nmi: Protect NMI entry against instrumentation (Vitaly Kuznetsov) [1868080] - [x86] entry: Introduce local_db_{save, restore}() (Vitaly Kuznetsov) [1868080] - [x86] db: Split out dr6/7 handling (Vitaly Kuznetsov) [1868080] - [x86] Replace ist_enter() with nmi_enter() (Vitaly Kuznetsov) [1868080] - [x86] traps: Stop using ist_enter/exit() in do_int3() (Vitaly Kuznetsov) [1868080] - [x86] entry: Get rid of ist_begin/end_non_atomic() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup per-CPU GHCBs for the runtime handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup GHCB-based boot #VC handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Setup an early #VC handler (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Compile early handler code into kernel image (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Print SEV-ES info into the kernel log (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add SEV-ES Feature Detection (Vitaly Kuznetsov) [1868080] - [x86] head/64: Move early exception dispatch to C code (Vitaly Kuznetsov) [1868080] - [x86] idt: Make IDT init functions static inlines (Vitaly Kuznetsov) [1868080] - [x86] head/64: Install a CPU bringup IDT (Vitaly Kuznetsov) [1868080] - [x86] head/64: Switch to initial stack earlier (Vitaly Kuznetsov) [1868080] - [x86] head/64: Load segment registers earlier (Vitaly Kuznetsov) [1868080] - [x86] irq/64: Update stale comment (Vitaly Kuznetsov) [1868080] - [x86] head/64: Load GDT after switch to virtual addresses (Vitaly Kuznetsov) [1868080] - [x86] head/64: Install startup GDT (Vitaly Kuznetsov) [1868080] - [x86] idt: Split idt_data setup out of set_intr_gate() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add CPUID handling to #VC handler (Vitaly Kuznetsov) [1868080] - [x86] fpu: Move xgetbv()/xsetbv() into a separate header (Vitaly Kuznetsov) [1868080] - [x86] cpu: Use XGETBV and XSETBV mnemonics in fpu/internal.h (Vitaly Kuznetsov) [1868080] - [x86] fpu: Reset MXCSR to default in kernel_fpu_begin() (Vitaly Kuznetsov) [1868080] - [x86] sev-es: Add support for handling IOIO exceptions (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Unmap GHCB page before booting the kernel (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Setup a GHCB-based VC Exception handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add set_page_en/decrypted() helpers (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Check return value of kernel_ident_mapping_init() (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Call set_sev_encryption_mask() earlier (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add stage1 #VC handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Change add_identity_map() to take start and end (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Don't pre-map memory in KASLR code (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Always switch to own page table (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add page-fault handler (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Rename kaslr_64.c to ident_map_64.c (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Add IDT Infrastructure (Vitaly Kuznetsov) [1868080] - [x86] traps: Split trap numbers out in a separate header (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Disable red-zone usage (Vitaly Kuznetsov) [1868080] - [x86] insn: Add insn_has_rep_prefix() helper (Vitaly Kuznetsov) [1868080] - [x86] insn: Add insn_get_modrm_reg_off() (Vitaly Kuznetsov) [1868080] - [x86] umip: Factor out instruction decoding (Vitaly Kuznetsov) [1868080] - [x86] umip: Factor out instruction fetch (Vitaly Kuznetsov) [1868080] - [tools] x86/insn: Make inat-tables.c suitable for pre-decompression code (Vitaly Kuznetsov) [1868080] - [x86] traps: Move pf error codes to (Vitaly Kuznetsov) [1868080] - [x86] cpufeatures: Add SEV-ES CPU feature (Vitaly Kuznetsov) [1868080] - [x86] kvm: svm: Use __packed shorthand (Vitaly Kuznetsov) [1868080] - [x86] kvm: svm: Add GHCB Accessor functions (Vitaly Kuznetsov) [1868080] - [x86] cpu: Unify cpu_init() (Vitaly Kuznetsov) [1868080] - [x86] insn-eval: Add support for 64-bit kernel mode (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Get rid of GOT fixup code (Vitaly Kuznetsov) [1868080] - [kernel] x86/boot/compressed: Force hidden visibility for all symbol references (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Move .got.plt entries out of the .got section (Vitaly Kuznetsov) [1868080] - [x86] boot: Correct relocation destination on old linkers (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed/64: Switch to __KERNEL_CS after GDT is loaded (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Fix reloading of GDTR post-relocation (Vitaly Kuznetsov) [1868080] - [x86] boot: Reload GDTR after copying to the end of the buffer (Vitaly Kuznetsov) [1868080] - [x86] boot/compressed: Don't declare __force_order in kaslr_64.c (Vitaly Kuznetsov) [1868080] - [mm] mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() (Philipp Rudo) [1903968] - [s390] s390/ap: fix ap devices reference counting (Philipp Rudo) [1903967] - [infiniband] RDMA/cxgb4: Validate the number of CQEs (Kamal Heib) [1894720] - [net] treewide: Use fallthrough pseudo-keyword (Petr Oros) [1892748] - [net] devlink: Remove overzealous WARN_ON with snapshots (Petr Oros) [1892748] - [net] devlink: ignore -EOPNOTSUPP errors on dumpit (Petr Oros) [1892748] - [net] devlink: Always use user_ptr[0] for devlink and simplify post_doit (Petr Oros) [1892748] - [net] devlink: Constify devlink instance pointer (Petr Oros) [1892748] - [net] devlink: Add comment for devlink instance lock (Petr Oros) [1892748] - [net] devlink: Do not hold devlink mutex when initializing devlink fields (Petr Oros) [1892748] - [docs] ice: add documentation for device-caps region (Petr Oros) [1892748] - [net] devlink: remove new uninitialized_var() usage (Petr Oros) [1892748] - [docs] networking: convert sja1105's devlink info to RTS (Petr Oros) [1892748] - [net] devlink: refactor end checks in devlink_nl_cmd_region_read_dumpit (Petr Oros) [1892748] - [docs] ice: cleanup language in ice.rst for fw.app (Petr Oros) [1892748] - [docs] devlink: don't wrap commands in rST shell blocks (Petr Oros) [1892748] - [net] devlink: Protect devlink port list traversal (Petr Oros) [1895042] - [net] devlink: Fix per port reporter fields initialization (Petr Oros) [1895042] - [net] devlink: Fix use-after-free when destroying health reporters (Petr Oros) [1895042] - [net] devlink: introduce the health reporter test command (Petr Oros) [1895042] - [net] devlink: Add devlink health port reporters API (Petr Oros) [1895042] - [net] devlink: Implement devlink health reporters on per-port basis (Petr Oros) [1895042] - [net] devlink: Create generic devlink health reporter search function (Petr Oros) [1895042] - [net] devlink: Rework devlink health reporter destructor (Petr Oros) [1895042] - [net] devlink: Refactor devlink health reporter constructor (Petr Oros) [1895042]- [md] dm writecache: fix the maximum number of arguments (Mike Snitzer) [1895117] - [md] dm writecache: advance the number of arguments when reporting max_age (Mike Snitzer) [1895117] - [x86] x86/cpu/amd: Make erratum #1054 a legacy erratum (Michael Petlan) [1791459] - [x86] x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF (Michael Petlan) [1791459] - [s390] s390/early: improve machine detection (Claudio Imbrenda) [1896307] - [infiniband] IB/mlx5: Fix fall-through warnings for Clang (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Properly convey driver version to firmware (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Enforce HW TX csum offload with kTLS (Alaa Hleihel) [1858561] - [netdrv] net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix wrong address reclaim when command interface is down (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Disable QoS when min_rates on all VFs are zero (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Clear bw_share upon VF disable (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add handling of port type in rule deletion (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix check if netdev is bond slave (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Set IPsec WAs only in IP's non checksum partial case (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix incorrect access of RCU-protected xdp_prog (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VXLAN synchronization after function reload (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Avoid extack error log for disabled vport (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix deletion of duplicate rules (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Protect encap route dev from concurrent release (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix modify header actions memory leak (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix devlink deadlock on net namespace deletion (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix type warning of sizeof in __mlx5_ib_alloc_counters() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Clarify what the UMR is for when creating MRs (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Remove dead check for EAGAIN after alloc_mr_from_cache() (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix potential race between destroy and CQE poll (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Use kvfree() for memory allocated with kvzalloc() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: TC: Remove unused parameter from mlx5_tc_ct_add_no_trk_match() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Setup all vports' metadata to support peer miss rule (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Dedicated metadata for uplink vport (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-Switch, Check and enable metadata support flag before using (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Release clock lock before scheduling a PPS work (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Rename ptp clock info (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Always use container_of to find mdev pointer from clock struct (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix uninitialized variable warning (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec Tx data path offload (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add TX steering rule per IPsec state (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: Add NIC TX domain namespace (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: Enhanced TX MPWQE for SKBs (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move TX code into functions to be used by MPWQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Rename xmit-related structs to generalize them (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Generalize TX MPWQE checks for full session (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Support multiple SKBs in a TX WQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move the TLS resync check out of the function (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Unify constants for WQE_EMPTY_DS_COUNT (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Small improvements for XDP TX MPWQE logic (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor xmit functions (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move mlx5e_tx_wqe_inline_mode to en_tx.c (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use struct assignment to initialize mlx5e_tx_wqe_info (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor inline header size calculation in the TX path (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add IPv6 traffic class (DSCP) header rewrite support (Alaa Hleihel) [1889981 1858561] - [netdrv] net/mlx5e: Add LAG warning if bond slave is not lag master (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Add LAG warning for unsupported tx type (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Return a valid errno if can't get lag device index (Alaa Hleihel) [1858561 1851709] - [netdrv] net/mlx5e: Fix race condition on nhe->n pointer in neigh update (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VLAN create flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix VLAN cleanup flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix return status when setting unsupported FEC mode (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix driver's declaration to support GRE offload (Alaa Hleihel) [1858561 1819619] - [netdrv] net/mlx5e: CT, Fix coverity issue (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix error path for RQ alloc (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix request_irqs error flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: cmdif, Avoid skipping reclaim pages if FW is not accessible (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add retry mechanism to the command entry index allocation (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: poll cmd EQ in case of command timeout (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Avoid possible free of command entry while timeout comp handler (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix a race when moving command interface to polling mode (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: mlx5e_fec_in_caps() returns a boolean (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix using wrong stats_grps in mlx5e_update_ndo_stats() (Alaa Hleihel) [1870593 1858561] - [netdrv] net/mlx5e: Fix multicast counter not up-to-date in "ip -s" (Alaa Hleihel) [1858561 1693130] - [netdrv] net/mlx5e: Fix endianness when calculating pedit mask first bit (Alaa Hleihel) [1889981 1858561] - [netdrv] net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: CT: Fix freeing ct_label mapping (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix memory leak of tunnel info when rule under multipath not ready (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use synchronize_rcu to sync with NAPI (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use RCU to protect rq->xdp_prog (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Fix FTE cleanup (Alaa Hleihel) [1858561] - [infiniband] mlx5: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Fix flow destination setting for RDMA TX flow table (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Delete extra dump stack that gives nothing (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: convert to new udp_tunnel infrastructure (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: DR, Change push vlan action sequence (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enable users to change VF/PF representors carrier state (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Delete unreachable code (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: drop unnecessary list_empty (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: DR, Reduce print level for matcher print (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add support for PCI relaxed ordering (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Use indirect call wrappers for RX post WQEs functions (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move exposure of datapath function to txrx header (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: RX, Re-work initializaiton of RX function pointers (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Use eswitch total_vports (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Reuse total_vports and avoid duplicate nvports (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Consider maximum vf vports for steering init (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: Add function ID to reclaim pages debug log (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Hold pages RB tree per VF (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7 (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Use MLX5_SET macro instead of local structure (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add missing srcu_read_lock in ODP implicit flow (Alaa Hleihel) [1858561] - [include] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Allow SQ modification (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Do not request completion on every single UMR WQE (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: RX, Avoid indirect call in representor CQE handling (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: XDP, Avoid indirect call in TX flow (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec ESN update offload support (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add Connect-X IPsec Rx data path offload (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5e: IPsec: Add IPsec steering in local NIC RX (Alaa Hleihel) [1858561 1790222] - [include] net/mlx5: Add IPsec related Flow steering entry's fields (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: IPsec: Add HW crypto offload support (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: Accel, Add core IPsec support for the Connect-X family (Alaa Hleihel) [1858561 1790222] - [netdrv] net/mlx5: E-switch, Reduce dependency on num_vfs during mode set (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: E-switch, Avoid function change handler for non ECPF (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Make MLX5_EN_TLS non-prompt (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Enable count action for rules with allow action (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add interface changes required for VDPA (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add VDPA interface type to supported enumerations (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Support setting access rights of dma addresses (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move devlink port register and unregister calls (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Remove unused to_mibmr function (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, When eswitch is unsupported, return -EOPNOTSUPP (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Added support for 100Gbps per lane link modes (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Delete one-time used functions (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Cleanup DEVX initialization flow (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate flow steering logic from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate counters from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Separate restrack callbacks initialization from main.c (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Limit the scope of mlx5_ib_enable_driver function (Alaa Hleihel) [1858561] - [infiniband] RDMA: Move XRCD to be under ib_core responsibility (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Introduce UAPI to query PD attributes (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Implement the query ucontext functionality (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response (Alaa Hleihel) [1858561] - [infiniband] RDMA/core: Optimize XRC target lookup (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Get XRCD number directly for the internal use (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Enable QP number request when creating IPoIB underlay QP (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Introduce ODP prefetch counter (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance TX timeout recovery (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance ICOSQ data on RX reporter's diagnose (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add EQ info to TX/RX reporter's diagnose (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Enhance CQ data on diagnose output (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Rename reporter's helpers (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add helper to get the RQ WQE counter (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add helper to get RQ WQE's head (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move RQ helpers to txrx.h (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Align RX/TX reporters diagnose output format (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Remove redundant RQ state query (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Add a flush timeout define (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Change reporters create functions to return void (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: fix memory leak of tls (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Fix build break when CONFIG_XPS is not set (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Add kTLS RX HW offload support (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Use kernel API to extract private offload context (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: kTLS, Improve TLS feature modularity (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Accel, Expose flow steering API for rules add/del (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Receive flow steering framework for accelerated TCP flows (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: API to manipulate TTC rules destinations (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Refactor build channel params (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Turn XSK ICOSQ into a general asynchronous one (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: kTLS, Improve TLS params layout structures (Alaa Hleihel) [1858561] - [include] net/mlx5: Avoid RDMA file inclusion in core driver (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: vxlan: Return bool instead of opaque ptr in port_lookup() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5e: Move TC-specific function definitions into MLX5_CLS_ACT (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Use kfree(ft->g) in arfs_create_groups() (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: FWTrace: Add missing space (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get MR resource in RAW format (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get CQ resource in RAW format (Alaa Hleihel) [1858561] - [infiniband] RDMA/mlx5: Add support to get QP resource in RAW format (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Add support in query QP, CQ and MKEY segments (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Export resource dump interface (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Supporting setting devlink port function mac address (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Split mac address setting function for using state_lock (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Support querying port function mac address (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: Move helper to eswitch layer (Alaa Hleihel) [1858561] - [netdrv] net/mlx5: E-switch, Introduce and use eswitch support check helper (Alaa Hleihel) [1858583 1858561] - [netdrv] net/mlx5: Constify mac address pointer (Alaa Hleihel) [1858561] - [tty] serial: 8250: export serial8250_do_set_divisor() (Steve Best) [1784119] - [tty] serial: 8250: introduce get_divisor() and set_divisor() hook (Steve Best) [1784119] - [tty] serial: 8250: let serial8250_get_divisor() get uart_port * as param (Steve Best) [1784119] - [tty] serial: 8250_lpss: Add ->setup() for Elkhart Lake ports (Steve Best) [1784119] - [tty] serial: 8250_lpss: Switch over to MSI interrupts (Steve Best) [1784119] - [tty] serial: 8250_lpss: Enable HS UART on Elkhart Lake (Steve Best) [1784119] - [tty] serial: 8250_lpss: Get rid of custom LPSS_DEVICE() macro (Steve Best) [1784119] - [tty] serial: 8250_lpss: register DMA IRQ and pool with instance ID (Steve Best) [1784119] - [tty] serial: 8250_lpss: add fractional divisor support (Steve Best) [1784119] - [tty] serial: 8250_lpss: switch to use 8250_dwlib library (Steve Best) [1784119] - [tty] tty: serial: Use the correct style for SPDX License Identifier (Steve Best) [1784119] - [tty] serial: 8250_dw: split Synopsys DesignWare 8250 common functions (Steve Best) [1784119] - [tty] 8250_lpss: check null return when calling pci_ioremap_bar (Steve Best) [1784119] - [dma] dmaengine: dw: Remove misleading is_private property (Steve Best) [1784119] - [tty] serial: 8250: fix null-ptr-deref in serial8250_start_tx() (John Linville) [1903272] {CVE-2020-15437} - [i2c] i2c: designware-pci: Fix BUG_ON during device removal (Steve Best) [1784122] - [i2c] i2c: designware-pci: Add support for Elkhart Lake PSE I2C (Steve Best) [1784122] - [i2c] i2c: designware-pci: Switch over to MSI interrupts (Steve Best) [1784122] - [mmc] mmc: sdhci: Add LTR support for some Intel BYT based controllers (Steve Best) [1906791] - [mmc] mmc: sdhci-pci: Add max-frequency device property for Intel controllers (Steve Best) [1906791] - [powerpc] powerpc/64s: Trim offlined CPUs from mm_cpumasks (Steve Best) [1905892] - [kernel] kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling (Steve Best) [1905892] - [mm] powerpc/64s/pseries: Fix hash tlbiel_all_isa300 for guest kernels (Steve Best) [1905892] - [mm] powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation (Steve Best) [1905892] - [mm] powerpc/64s: Add cp_abort after tlbiel to invalidate copy-buffer address (Steve Best) [1905892] - [powerpc] powerpc: untangle cputable mce include (Steve Best) [1905892] - [mmc] mmc: sdhci-pci: Add support for Intel EHL (Steve Best) [1783588] - [scsi] qla2xxx: Update version to 10.02.00.104-k (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix device loss on 4G and older HBAs (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: If fcport is undergoing deletion complete I/O with retry (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix the call trace for flush workqueue (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix flash update in 28XX adapters on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Handle aborts correctly for port undergoing deletion (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix N2N and NVMe connect retry failure (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix FW initialization error on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix crash during driver load on big endian machines (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Fix compilation issue in PPC systems (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Don't check for fw_started while posting NVMe command (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Tear down session if FW say it is down (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Limit interrupt vectors to number of CPUs (Nilesh Javali) [1905493] - [scsi] scsi: qla2xxx: Change post del message from debug level to log level (Nilesh Javali) [1905493] - [s390] s390/qeth: Remove pnso workaround (Philipp Rudo) [1903964] - [s390] s390/purgatory: do not build purgatory with kcov, kasan and friends (Philipp Rudo) [1900550] - [fs] iomap: Fix misplaced page flushing (Carlos Maiolino) [1868429] - [fs] iomap: Use round_down/round_up macros in __iomap_write_begin (Carlos Maiolino) [1868429] - [fs] iomap: Mark read blocks uptodate in write_begin (Carlos Maiolino) [1868429] - [fs] iomap: Clear page error before beginning a write (Carlos Maiolino) [1868429] - [fs] iomap: fix WARN_ON_ONCE() from unprivileged users (Carlos Maiolino) [1868429] - [fs] iomap: fall back to buffered writes for invalidation failures (Carlos Maiolino) [1868429] - [fs] iomap: Only invalidate page cache pages on direct IO writes (Carlos Maiolino) [1868429] - [fs] iomap: Make sure iomap_end is called after iomap_begin (Carlos Maiolino) [1868429] - [fs] iomap: Fix unsharing of an extent >2GB on a 32-bit machine (Carlos Maiolino) [1868429] - [fs] iomap: fix the iomap_fiemap prototype (Carlos Maiolino) [1868429] - [fs] iomap: remove lockdep_assert_held() (Carlos Maiolino) [1868429] - [mm] powerpc/numa: Fix a regression on memoryless node 0 (Steve Best) [1903613] - [mm] powerpc/numa: Offline memoryless cpuless node 0 (Steve Best) [1903613] - [mm] powerpc/numa: Prefer node id queried from vphn (Steve Best) [1903613] - [mm] powerpc/numa: Set numa_node for all possible cpus (Steve Best) [1903613] - [powerpc] powerpc/numa: Remove late request for home node associativity (Steve Best) [1903613] - [mm] powerpc/numa: Early request for home node associativity (Steve Best) [1903613] - [mm] powerpc/numa: Use cpu node map of first sibling thread (Steve Best) [1903613] - [x86] xen: don't unbind uninitialized lock_kicker_irq (Brian Masney) [1896786] - [net] Bluetooth: Acquire sk_lock.slock without disabling interrupts (Ivan Vecera) [1889859] - [wireless] mwifiex: fix double free (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: run init_cfg function once per driver load (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: remove no filter condition (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: split a print to avoid a WARNING in ROC (Jarod Wilson) [1860496] - [wireless] qtnfmac: fix resource leaks on unsupported iftype error return path (Jarod Wilson) [1860496] - [net] nl80211: fix OBSS PD min and max offset validation (Jarod Wilson) [1860496] - [wireless] rtw88: Fix potential probe error handling race with wow firmware loading (Jarod Wilson) [1860496] - [wireless] rtw88: Fix probe error handling race with firmware loading (Jarod Wilson) [1860496] - [wireless] ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() (Jarod Wilson) [1860496] - [wireless] ath11k: Add checked value for ath11k_ahb_remove (Jarod Wilson) [1860496] - [wireless] mwifiex: remove function pointer check (Jarod Wilson) [1860496] - [wireless] ath11k: fix uninitialized return in ath11k_spectral_process_data() (Jarod Wilson) [1860496] - [wireless] ath11k: fix a double free and a memory leak (Jarod Wilson) [1860496] - [wireless] rtw88: fix compile warning: (Jarod Wilson) [1860496] - [wireless] mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO (Jarod Wilson) [1860496] - [wireless] rtw88: don't treat NULL pointer as an array (Jarod Wilson) [1860496] - [wireless] mwifiex: Do not use GFP_KERNEL in atomic context (Jarod Wilson) [1860496] - [wireless] brcmfmac: check ndev pointer (Jarod Wilson) [1860496] - [wireless] ath11k: Fix possible memleak in ath11k_qmi_init_service (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path (Jarod Wilson) [1860496] - [wireless] ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Use appropriate rs_datalen type (Jarod Wilson) [1860496] - [wireless] ath6kl: prevent potential array overflow in ath6kl_add_new_sta() (Jarod Wilson) [1860496] - [net] net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reduce maximum VHT MPDU length to 7991 (Jarod Wilson) [1860496] - [net] mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz (Jarod Wilson) [1860496] - [net] mac80211: do not allow bigger VHT MPDUs than the hardware supports (Jarod Wilson) [1860496] - [net] cfg80211: fix 6 GHz channel conversion (Jarod Wilson) [1860496] - [net] mac80211: do not disable HE if HT is missing on 2.4 GHz (Jarod Wilson) [1860496] - [net] mac80211: Fix radiotap header channel flag for 6GHz band (Jarod Wilson) [1860496] - [net] lib80211: fix unmet direct dependendices config warning when !CRYPTO (Jarod Wilson) [1860496] - [net] mac80211: add AQL support for VHT160 tx rates (Jarod Wilson) [1860496] - [net] mac80211: extend AQL aggregation estimation to HE and fix unit mismatch (Jarod Wilson) [1860496] - [wireless] mwifiex: Increase AES key storage size to 256 bits (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: use ieee80211_free_txskb to free tx skbs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing stations (Jarod Wilson) [1860496] - [net] cfg80211: Adjust 6 GHz frequency to channel conversion (Jarod Wilson) [1860496] - [net] mac80211: reduce packet loss event false positives (Jarod Wilson) [1860496] - [net] cfg80211: regulatory: reject invalid hints (Jarod Wilson) [1860496] - [net] wireless: fix wrong 160/80+80 MHz setting (Jarod Wilson) [1860496] - [net] mac80211: improve AQL aggregation estimation for low data rates (Jarod Wilson) [1860496] - [net] mac80211: factor out code to look up the average packet length duration for a rate (Jarod Wilson) [1860496] - [net] mac80211: use rate provided via status->rate on ieee80211_tx_status_ext for AQL (Jarod Wilson) [1860496] - [net] nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage (Jarod Wilson) [1860496] - [wireless] brcmfmac: reserve tx credit only when txctl is ready to send (Jarod Wilson) [1860496] - [net] wireless: Use fallthrough pseudo-keyword (Jarod Wilson) [1860496] - [wireless] rtl818x: constify ioreadX() iomem argument (as in generic implementation) (Jarod Wilson) [1860496] - [net] mac80211: Do not report beacon loss if beacon filtering enabled (Jarod Wilson) [1860496] - [net] mac80211: fix misplaced while instead of if (Jarod Wilson) [1860496] - [net] nl80211: use eth_zero_addr() to clear mac address (Jarod Wilson) [1860496] - [net] mac80211: use eth_zero_addr() to clear mac address (Jarod Wilson) [1860496] - [net] mac8211: fix struct initialisation (Jarod Wilson) [1860496] - [net] mac80211: Handle special status codes in SAE commit (Jarod Wilson) [1860496] - [wireless] brcmfmac: Set timeout value when configuring power save (Jarod Wilson) [1860496] - [wireless] hostap: use generic power management (Jarod Wilson) [1860496] - [wireless] rt2x00: pci: use generic power management (Jarod Wilson) [1860496] - [wireless] mt7601u: add missing release on skb in mt7601u_mcu_msg_send (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't print failure if debug firmware is missing (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: coex: add functions and parameters (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: make symbol 'rtw8821c_rtw_pwr_track_tbl' static (Jarod Wilson) [1860496] - [wireless] rtw88: add h2c command in debugfs (Jarod Wilson) [1860496] - [wireless] rtw88: allows driver to enable/disable beacon (Jarod Wilson) [1860496] - [wireless] rtw88: add ieee80211_ops::change_interface (Jarod Wilson) [1860496] - [wireless] rtw88: coex: only skip coex triggered by BT info (Jarod Wilson) [1860496] - [wireless] rtw88: update tx descriptor of mgmt and reserved page packets (Jarod Wilson) [1860496] - [wireless] rtw88: fix short GI capability based on current bandwidth (Jarod Wilson) [1860496] - [wireless] rtw88: fix LDPC field for RA info (Jarod Wilson) [1860496] - [wireless] prism54: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1860496] - [wireless] prism54: islpci_hotplug: use generic power management (Jarod Wilson) [1860496] - [wireless] prism54: Replace HTTP links with HTTPS ones (Jarod Wilson) [1860496] - [wireless] p54: switch from 'pci_' to 'dma_' API (Jarod Wilson) [1860496] - [wireless] mwifiex: 11n_rxreorder: Remove unnecessary cast in kfree() (Jarod Wilson) [1860496] - [wireless] rtlwifi: btcoex: use *ph to print small buffer (Jarod Wilson) [1860496] - [wireless] rtlwifi: btcoex: remove redundant initialization of variables ant_num and single_ant_path (Jarod Wilson) [1860496] - [net] mac80211: warn only once in check_sdata_in_driver() at each caller (Jarod Wilson) [1860496] - [net] nl80211: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode (Jarod Wilson) [1860496] - [net] cfg80211: invert HE BSS color 'disabled' to 'enabled' (Jarod Wilson) [1860496] - [net] mac80211: add a function for running rx without passing skbs to the stack (Jarod Wilson) [1860496] - [net] mac80211: parse radiotap header when selecting Tx queue (Jarod Wilson) [1860496] - [net] mac80211: remove unused flags argument in transmit functions (Jarod Wilson) [1860496] - [net] mac80211: use same flag everywhere to avoid sequence number overwrite (Jarod Wilson) [1860496] - [net] mac80211: do not overwrite the sequence number if requested (Jarod Wilson) [1860496] - [net] mac80211: add radiotap flag to prevent sequence number overwrite (Jarod Wilson) [1860496] - [net] mac80211: never drop injected frames even if normally not allowed (Jarod Wilson) [1860496] - [uapi] cfg80211: Add support to advertize OCV support (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: avoid bss color setting in non-HE modes (Jarod Wilson) [1860496] - [net] mac80211: calculate skb hash early when using itxq (Jarod Wilson) [1860496] - [net] mac80211: improve AQL tx airtime estimation (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add connected to auth server to station info (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add connected to auth server to meshconf (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: add mesh_param "mesh_nolearn" to skip path discovery (Jarod Wilson) [1860496] - [net] cfg80211: allow the low level driver to flush the BSS table (Jarod Wilson) [1860496] - [net] mac80211: Use fallthrough pseudo-keyword (Jarod Wilson) [1860496] - [net] nl80211: Simplify error handling path in 'nl80211_trigger_scan()' (Jarod Wilson) [1860496] - [net] nl80211: Remove a misleading label in 'nl80211_trigger_scan()' (Jarod Wilson) [1860496] - [uapi] net/wireless: wireless.h: drop duplicate word in comments (Jarod Wilson) [1860496] - [uapi] net/wireless: nl80211.h: drop duplicate words in comments (Jarod Wilson) [1860496] - [net] cfg80211: allow vendor dumpit to terminate by returning 0 (Jarod Wilson) [1860496] - [net] mac80211: remove the need for variable rates_idx (Jarod Wilson) [1860496] - [net] nl80211: S1G band and channel definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add missing release on skb in __mt76x02u_mcu_send_msg (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible memory leak in mt7615_mcu_wtbl_sta_add (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt76s: move queue accounting in mt76s_tx_queue_skb (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663s support (Jarod Wilson) [1860496] - [wireless] mt76: introduce mt76_sdio module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663-usb-sdio-common module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: sdio code must access rate/key regs in preocess context (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_skb_adjust_pad utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: take into account sdio bus configuring txwi (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add missing CONFIG_MAC80211_DEBUGFS (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: potential array overflow in mt7915_mcu_tx_rate_report() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix potential memory leak in mcu message handler (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix memory leak in set key (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reschedule ps work according to last activity (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: avoid scheduling runtime-pm during hw scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: sync probe sampling with rate configuration (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: improve mt7615_driver_own reliability (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add idle-timeout knob in mt7615 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable beacon hw filter for runtime-pm (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add runtime-pm knob in mt7615 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not request {driver, fw}_own if already granted (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: check MT76_STATE_PM flag before accessing the device (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_pm_wake in mt7615_mac_sta_{add, remove} (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before pushing frames in mt7615_tx (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before pulling packets from mac80211 queues (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_mcu_set_roc holding mt76 mutex (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: run mt7615_mcu_set_wmm holding mt76 mutex (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing lock in mt7615_regd_notifier (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before performing freq scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: acquire driver_own before configuring device for suspend (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device in mt7615_update_channel before access regmap (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce pm_power_save delayed work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before configuring hw keys (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: wake device before accessing regmap in debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mutex_{acquire, release} utilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7615_pm_wake utility routine (Jarod Wilson) [1860496] - [wireless] mt76: move mt76 workqueue in common code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: avoid polling in fw_own for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: avoid memcpy in rxv operation (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2u: enable HC-M7662BU1 (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: fix pci suspend/resume on mt7612e (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: update HE capabilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement testmode support (Jarod Wilson) [1860496] - [wireless] mt76: add API for testmode support (Jarod Wilson) [1860496] - [wireless] mt76: vif_mask to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use full on-chip memory address for WF_PHY registers (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for accessing RF registers via MCU (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for accessing mapped registers via bus ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: schedule tx tasklet and sta poll on mac tx free (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2e: rename routines in pci.c (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: overwrite qid for non-bufferable mgmt frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: use ieee80211_tx_queue_params to avoid open coded (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add MU-MIMO support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add a fixed AC queue mapping (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add .set_tsf callback (Jarod Wilson) [1860496] - [wireless] mt76: add U-APSD support on AP side (Jarod Wilson) [1860496] - [wireless] mt76: rely on register macros (Jarod Wilson) [1860496] - [wireless] mt76: fix include in pci.h (Jarod Wilson) [1860496] - [wireless] mt76: allow more channels, allowed in ETSI domain (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix up typo in Kconfig for MT7663U (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce ARP filter offload (Jarod Wilson) [1860496] - [wireless] mt76: usb: rely on mt76_for_each_q_rx (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: re-enable offloading of sequence number assignment (Jarod Wilson) [1860496] - [wireless] wireless: Fix trivial spelling (Jarod Wilson) [1860496] - [wireless] rtlwifi: 8821ae: remove unused path B parameters from swing table (Jarod Wilson) [1860496] - [wireless] rtlwifi: Use const in 8188ee/8723be/8821ae swing_table declarations (Jarod Wilson) [1860496] - [wireless] rtl818x_pci: use generic power management (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Free ieee80211_hw if probing fails (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Prevent leaking urb (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Fix deadlock (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192cu: Remove uninitialized_var() usage (Jarod Wilson) [1860496] - [wireless] orinoco_usb: fix spelling mistake (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: Fix endian issue (Jarod Wilson) [1860496] - [wireless] rtlwifi: Fix endian issue in ps.c (Jarod Wilson) [1860496] - [wireless] broadcom: fix wiki website url (Jarod Wilson) [1860496] - [wireless] wireless: fix wiki website url in main Kconfig (Jarod Wilson) [1860496] - [wireless] rtw88: coex: Fix ACL Tx pause during BT inquiry/page (Jarod Wilson) [1860496] - [wireless] mwifiex: Prevent memory corruption handling keys (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix reporting 'operation not supported' error code (Jarod Wilson) [1860496] - [wireless] mwifiex: Use macro MWIFIEX_MAX_BSS_NUM for specifying limit of interfaces (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: add new RFE type 6 (Jarod Wilson) [1860496] - [wireless] rtw88: 8822ce: add support for device ID 0xc82f (Jarod Wilson) [1860496] - [wireless] rtw88: pci: disable aspm for platform inter-op with module parameter (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: Add 8821CE to Kconfig and Makefile (Jarod Wilson) [1860496] - [wireless] rtw88: single rf path chips don't support TX STBC (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add beamformee support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add cck pd settings (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add phy calibration (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add false alarm statistics (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add query rx desc support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add set channel support (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add dig related settings (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add set tx power index (Jarod Wilson) [1860496] - [wireless] rtw88: 8821c: add basic functions (Jarod Wilson) [1860496] - [wireless] brcm80211: brcmsmac: Move LEDs to GPIO descriptors (Jarod Wilson) [1860496] - [wireless] brcmfmac: Transform compatible string for FW loading (Jarod Wilson) [1860496] - [wireless] brcmfmac: set pacing shift before transmitting skb to bus (Jarod Wilson) [1860496] - [wireless] brcmfmac: set state of hanger slot to FREE when flushing PSQ (Jarod Wilson) [1860496] - [wireless] brcmfmac: reset SDIO bus on a firmware crash (Jarod Wilson) [1860496] - [wireless] brcmfmac: do not disconnect for disassoc frame from unconnected AP (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix for wrong disconnection event source information (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix for unable to return to visible SSID (Jarod Wilson) [1860496] - [wireless] brcmfmac: initialize the requested dwell time (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix throughput zero stalls on PM 1 mode due to credit map (Jarod Wilson) [1860496] - [wireless] brcmfmac: update tx status flags to sync with firmware (Jarod Wilson) [1860496] - [wireless] brcmfmac: reserve 2 credits for host tx control path (Jarod Wilson) [1860496] - [wireless] brcmfmac: increase message buffer size for control packets (Jarod Wilson) [1860496] - [wireless] brcmfmac: allow credit borrowing for all access categories (Jarod Wilson) [1860496] - [wireless] brcmfmac: To fix Bss Info flag definition Bug (Jarod Wilson) [1860496] - [wireless] brcmfmac: reduce maximum station interface from 2 to 1 in RSDB mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: keep SDIO watchdog running when console_interval is non-zero (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix invalid permanent MAC address in wiphy (Jarod Wilson) [1860496] - [wireless] brcmfmac: To fix kernel crash on out of boundary access (Jarod Wilson) [1860496] - [net] net: wireless: kerneldoc fixes (Jarod Wilson) [1860496] - [net] net: mac80211: kerneldoc fixes (Jarod Wilson) [1860496] - [wireless] ath11k: fix wmi peer flags in peer assoc command (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for ring backpressure stats (Jarod Wilson) [1860496] - [wireless] ath11k: Add dp tx err stats (Jarod Wilson) [1860496] - [wireless] ath11k: removing redundant reo unlock followed by immediate lock (Jarod Wilson) [1860496] - [wireless] ath11k: add support for spectral scan (Jarod Wilson) [1860496] - [wireless] ath11k: Add direct buffer ring support (Jarod Wilson) [1860496] - [wireless] ath11k: build HE 6 GHz capability (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for 6g scan hint (Jarod Wilson) [1860496] - [wireless] ath11k: Send multiple scan_chan_list messages if required (Jarod Wilson) [1860496] - [wireless] ath11k: Add 6G scan dwell time parameter in scan request command (Jarod Wilson) [1860496] - [wireless] ath11k: set psc channel flag when sending channel list to firmware (Jarod Wilson) [1860496] - [wireless] ath11k: extend peer_assoc_cmd for 6GHz band (Jarod Wilson) [1860496] - [wireless] ath11k: Use freq instead of channel number in rx path (Jarod Wilson) [1860496] - [wireless] ath11k: add support for 6GHz radio in driver (Jarod Wilson) [1860496] - [wireless] ath11k: add 6G frequency list supported by driver (Jarod Wilson) [1860496] - [wireless] net: wireless: intel: fix wiki website url (Jarod Wilson) [1860496] - [wireless] iwlwifi: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: Remove unused inline function iwl_mvm_tid_to_ac_queue (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: fix gcc-10 zero-length-bounds warning (Jarod Wilson) [1860496] - [wireless] ath: fix wiki website url (Jarod Wilson) [1860496] - [wireless] ath10k: Acquire tx_lock in tx error paths (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove redundant assignment to variable ret (Jarod Wilson) [1860496] - [wireless] iwlwifi: fix config variable name in comment (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: Fix avg-power report (Jarod Wilson) [1860496] - [wireless] iwlwifi: Don't IWL_WARN on FW reconfiguration (Jarod Wilson) [1860496] - [wireless] iwlwifi: Extended Key ID support for mvm and dvm (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix firmware filename for sd8997 chipset (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix firmware filename for sd8977 chipset (Jarod Wilson) [1860496] - [net] mac80211: remove STA txq pending airtime underflow warning (Jarod Wilson) [1860496] - [net] mac80211: Fix bug in Tx ack status reporting in 802.3 xmit path (Jarod Wilson) [1860496] - [net] cfg80211: check vendor command doit pointer before use (Jarod Wilson) [1860496] - [net] mac80211: mesh: Free pending skb when destroying a mpath (Jarod Wilson) [1860496] - [net] mac80211: mesh: Free ie data when leaving mesh (Jarod Wilson) [1860496] - [net] mac80211: fix warning in 6 GHz IE addition in mesh mode (Jarod Wilson) [1860496] - [wireless] ath10k: Fix NULL pointer dereference in AHB device probe (Jarod Wilson) [1860496] - [wireless] iwlwifi: Make some Killer Wireless-AC 1550 cards work again (Jarod Wilson) [1860496] - [wireless] ath9k: Fix regression with Atheros 9271 (Jarod Wilson) [1860496] - [net] nl80211: fix memory leak when parsing NL80211_ATTR_HE_BSS_COLOR (Jarod Wilson) [1860496] - [net] nl80211: don't return err unconditionally in nl80211_start_ap() (Jarod Wilson) [1860496] - [net] mac80211: allow rx of mesh eapol frames with default rx key (Jarod Wilson) [1860496] - [net] mac80211: skip mpath lookup also for control port tx (Jarod Wilson) [1860496] - [net] mac80211: Fix dropping broadcast packets in 802.11 encap (Jarod Wilson) [1860496] - [net] mac80211: simplify mesh code (Jarod Wilson) [1860496] - [net] mac80211: fix control port tx status check (Jarod Wilson) [1860496] - [include] ieee80211: Add missing and new AKM suite selector definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix EEPROM buffer size (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: fix memory leaks in mt7663u_probe (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: do not access uninitialized NAPI structs (Jarod Wilson) [1860496] - [wireless] iwlwifi: fix crash in iwl_dbg_tlv_alloc_trigger (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: don't call iwl_mvm_free_inactive_queue() under RCU (Jarod Wilson) [1860496] - [wireless] wireless: replace '---help---' in Kconfig files with 'help' (Jarod Wilson) [1860496] - [net] net: fix wiki website url mac80211 and wireless files (Jarod Wilson) [1860496] - [uapi] include: fix wiki website url in netlink interface header (Jarod Wilson) [1860496] - [wireless] mt76: overwrite qid for non-bufferable mgmt frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix hw queue mapping (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix lmac queue debugsfs entry (Jarod Wilson) [1860496] - [wireless] mt76: add missing lock configuring coverage class (Jarod Wilson) [1860496] - [net] mac80211: initialize return flags in HE 6 GHz operation parsing (Jarod Wilson) [1860496] - [net] cfg80211: fix management registrations deadlock (Jarod Wilson) [1860496] - [net] cfg80211: support bigger kek/kck key length (Jarod Wilson) [1860496] - [net] mac80211: set short_slot for 6 GHz band (Jarod Wilson) [1860496] - [net] mac80211: Consider 6 GHz band when handling power constraint (Jarod Wilson) [1860496] - [net] mac80211: accept aggregation sessions on 6 GHz (Jarod Wilson) [1860496] - [net] cfg80211: require HE capabilities for 6 GHz band (Jarod Wilson) [1860496] - [net] cfg80211: reject HT/VHT capabilities on 6 GHz band (Jarod Wilson) [1860496] - [net] cfg80211: treat 6 GHz channels as valid regardless of capability (Jarod Wilson) [1860496] - [net] mac80211: Add HE 6GHz capabilities element to probe request (Jarod Wilson) [1860496] - [net] mac80211: use HE 6 GHz band capability and pass it to the driver (Jarod Wilson) [1860496] - [net] mac80211: check the correct bit for EMA AP (Jarod Wilson) [1860496] - [net] mac80211: determine chandef from HE 6 GHz operation (Jarod Wilson) [1860496] - [net] mac80211: avoid using ext NSS high BW if not supported (Jarod Wilson) [1860496] - [net] mac80211: do not allow HT/VHT IEs in 6 GHz mesh mode (Jarod Wilson) [1860496] - [net] mac80211: build HE operation with 6 GHz oper information (Jarod Wilson) [1860496] - [net] mac80211: add HE 6 GHz Band Capability element (Jarod Wilson) [1860496] - [net] cfg80211: add and expose HE 6 GHz band capabilities (Jarod Wilson) [1860496] - [net] mac80211: add HE 6 GHz Band Capabilities into parse extension (Jarod Wilson) [1860496] - [net] cfg80211: handle 6 GHz capability of new station (Jarod Wilson) [1860496] - [include] ieee80211: add HE ext EIDs and 6 GHz capability defines (Jarod Wilson) [1860496] - [include] ieee80211: add code to obtain and parse 6 GHz operation field (Jarod Wilson) [1860496] - [include] ieee80211: definitions for reduced neighbor reports (Jarod Wilson) [1860496] - [net] cfg80211: add a helper to identify 6 GHz PSCs (Jarod Wilson) [1860496] - [net] nl80211: really allow client-only BIGTK support (Jarod Wilson) [1860496] - [net] cfg80211: adapt to new channelization of the 6GHz band (Jarod Wilson) [1860496] - [net] cfg80211: fix 6 GHz frequencies to kHz (Jarod Wilson) [1860496] - [wireless] ath11k: clear DCM max constellation tx value (Jarod Wilson) [1860496] - [wireless] ath11k: reset trigger frame MAC padding duration (Jarod Wilson) [1860496] - [wireless] ath10k: Remove ath10k_qmi_register_service_notifier() declaration (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Set RX filter based to allow broadcast Action frame RX (Jarod Wilson) [1860496] - [wireless] ath9k: Set RX filter based to allow broadcast Action frame RX (Jarod Wilson) [1860496] - [wireless] mwifiex: Add support for NL80211_ATTR_MAX_AP_ASSOC_STA (Jarod Wilson) [1860496] - [wireless] mwifiex: Parse all API_VER_ID properties (Jarod Wilson) [1860496] - [wireless] brcmfmac: 43012 Update MES Watermark (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 43455 CRC error under SDIO 3.0 SDR104 mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: set F2 blocksize and watermark for 4354/4356 SDIO (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 4339 CRC error under SDIO 3.0 SDR104 mode (Jarod Wilson) [1860496] - [wireless] brcmfmac: set F2 blocksize for 4373 (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: remove CCK TX setting when switch channel (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: fix missing brace warning for old compilers (Jarod Wilson) [1860496] - [wireless] rtw88: fix EAPOL 4-way failure by finish IQK earlier (Jarod Wilson) [1860496] - [wireless] rtw88: coex: 8723d: handle BT inquiry cases (Jarod Wilson) [1860496] - [wireless] rtw88: coex: 8723d: set antanna control owner (Jarod Wilson) [1860496] - [wireless] Revert "rtw88: no need to set registers for SDIO" (Jarod Wilson) [1860496] - [wireless] rt2800: enable MFP support unconditionally (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Fix Cypress SDIO IDs macros in common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from b43-sdio driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from ath10k driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Move SDIO IDs from mwifiex driver to common include file (Jarod Wilson) [1860496] - [wireless] mmc: sdio: Change macro names for Marvell 8688 modules (Jarod Wilson) [1860496] - [mmc] mmc: sdio: Fix macro name for Marvell device with ID 0x9134 (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 56 for AX devices (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for range request version 10 (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: fix aux station leak (Jarod Wilson) [1860496] - [wireless] iwlwifi: move txq-specific from trans_pcie to common trans (Jarod Wilson) [1860496] - [wireless] iwlwifi: move iwl_txq and substructures to a common trans header (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen3: indicate 8k/12k RB size to device (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: evaluate dsm to enable 5.2 bands in Indonesia (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: support device specific method (DSM) (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: keep trans instead of trans_pcie in iwl_txq (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: don't count on the FW to set persistence mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: set NO_HE if the regulatory domain forbids it (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: remove set but not used variable 'msta' (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Use kmemdup in mt7615_queue_key_update() (Jarod Wilson) [1860496] - [wireless] mt76: only iterate over initialized rx queues (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for MT7611N (Jarod Wilson) [1860496] - [wireless] mt76: fix wcid allocation issues (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix possible NULL pointer dereference in mt7915_register_ext_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix hw_scan with ssid_type for specified SSID only (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix a handful of spelling mistakes (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch to per-vif power_save support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix some sparse warnings (Jarod Wilson) [1860496] - [wireless] mt76: fix per-driver wcid range checks after wcid array size bump (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix decoded radiotap HE flags (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix NULL pointer deref in mt7615_register_ext_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix sparse warnings: incorrect type initializer (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix some sparse warnings (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add spatial reuse support (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: remove check in mt76x02_mcu_msg_send (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce remain_on_channel support (Jarod Wilson) [1860496] - [net] mac80211: support control port TX status reporting (Jarod Wilson) [1860496] - [net] mac80211: fix HT-Control field reception for management frames (Jarod Wilson) [1860496] - [net] cfg80211: fix CFG82011_CRDA_SUPPORT still mentioning internal regdb (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific Tx rate configuration (Jarod Wilson) [1860496] - [net] mac80211: allow SA-QUERY processing in userspace (Jarod Wilson) [1860496] - [net] nl80211: add ability to report TX status for control port TX (Jarod Wilson) [1860496] - [net] mac80211: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [net] cfg80211: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [include] mac80211: Add new AMPDU factor macro for HE peer caps (Jarod Wilson) [1860496] - [include] ieee80211: S1G defines (Jarod Wilson) [1860496] - [net] nl80211: support scan frequencies in KHz (Jarod Wilson) [1860496] - [net] nl80211: add KHz frequency offset for most wifi commands (Jarod Wilson) [1860496] - [net] cfg80211: add KHz variants of frame RX API (Jarod Wilson) [1860496] - [net] nl80211: simplify peer specific TID configuration (Jarod Wilson) [1860496] - [net] cfg80211: add support for TID specific AMSDU configuration (Jarod Wilson) [1860496] - [net] mac80211: fix variable names in TID config methods (Jarod Wilson) [1860496] - [net] cfg80211: fix mask type in cfg80211_tid_cfg structure (Jarod Wilson) [1860496] - [net] cfg80211: fix debugfs rename crash (Jarod Wilson) [1860496] - [include] ieee80211: Fix incorrect mask for default PE duration (Jarod Wilson) [1860496] - [net] mac80211: mesh: fix discovery timer re-arming issue / crash (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: Fix build error (Jarod Wilson) [1860496] - [wireless] ath11k: Fix some resource leaks in error path in 'ath11k_thermal_register()' (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192ee: remove redundant for-loop (Jarod Wilson) [1860496] - [wireless] mwifiex: Fix memory corruption in dump_station (Jarod Wilson) [1860496] - [wireless] rtw88: no need to set registers for SDIO (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: fix incorrect setting of ldo_pwr (Jarod Wilson) [1860496] - [wireless] rtw88: rename rtw88.ko/rtwpci.ko to rtw88_core.ko/rtw88_pci.ko (Jarod Wilson) [1860496] - [wireless] rtw88: extract: remove the unused after extracting (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8723d an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8822b an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: make 8822c an individual kernel module (Jarod Wilson) [1860496] - [wireless] rtw88: extract: export symbols about pci interface (Jarod Wilson) [1860496] - [wireless] rtw88: extract: export symbols used in chip functionalities (Jarod Wilson) [1860496] - [wireless] rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix typo defining ps work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: configure bss info adding the interface (Jarod Wilson) [1860496] - [wireless] mt76: enable p2p support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: reduce hw scan timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not report scan_complete twice to mac80211 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix the usage WoW with net detect support (Jarod Wilson) [1860496] - [wireless] ath11k: fix htt stats module not handle multiple skbs (Jarod Wilson) [1860496] - [wireless] rtl8187: Remove unused variable rtl8225z2_tx_power_ofdm (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: fix sparse warnings for power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add 8723DE to Kconfig and Makefile (Jarod Wilson) [1860496] - [wireless] rtw88: fill zeros to words 0x06 and 0x07 of security cam entry (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add coex support (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: set ltecoex register address in chip_info (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: implement flush queue (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add shutdown callback to disable BT USB suspend (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add power tracking (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add IQ calibration (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add LC calibration (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix WPA/WPA2-PSK 4-way handshake offload and SAE offload failures (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: fix possible deadlock in mt7915_stop (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: allocate proper size for tlv tags (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add debugfs to track TxBF status (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add TxBF capabilities (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Tx beamformee support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Tx beamformer support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: introduce mt7915_get_he_phy_cap (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: usb: cancel ps work stopping the vif (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: add missing register definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: copy key pointer in mt7663u_mac_write_txwi (Jarod Wilson) [1860496] - [wireless] mt76: set runtime stream caps by mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: enable firmware module debug support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add tsf related callbacks (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: set peer Tx fixed rate through debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add .sta_statistics support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add .sta_add_debugfs support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add Rx radiotap header support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add HE capabilities support for peers (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: add HE bss_conf support for interfaces (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: register per-phy HE capabilities for each interface (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: implement HE per-rate tx power support (Jarod Wilson) [1860496] - [wireless] mt76: mt7915: enable Rx HE rate reporting (Jarod Wilson) [1860496] - [wireless] mt76: add mac80211 driver for MT7915 PCIe-based chipsets (Jarod Wilson) [1860496] - [wireless] mt76: add HE phy modes and hardware queue (Jarod Wilson) [1860496] - [wireless] mt76: adjust wcid size to support new 802.11ax generation (Jarod Wilson) [1860496] - [wireless] mt76: add Rx stats support for radiotap (Jarod Wilson) [1860496] - [wireless] mt76: add support for HE RX rate reporting (Jarod Wilson) [1860496] - [wireless] mt76: avoid rx reorder buffer overflow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: scan all channels if not specified (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: add support to sched scan with randomise addr (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce WoW with net detect support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix delta tx power for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix target power parsing (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix ibss mode for mt7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: check return value of mt7615_eeprom_get_power_index (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: read tx streams from eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce beacon_loss mcu event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add gtk rekey offload support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce PM support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: introduce suspend/resume to mt7663u (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add WoW support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_set_hif_suspend mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce support for hardware beacon filter (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: free pci_vector if mt7615_pci_probe fails (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add passive mode for hw scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not mark sched_scan disabled in mt7615_scan_work (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_check_offload_capability routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix ssid configuration in mt7615_mcu_hw_scan (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: remove duplicate error message (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix getting maximum tx power from eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: set spatial extension index (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: remove check in mt7663_load_n9 (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: add the possibility to load firmware v2 (Jarod Wilson) [1860496] - [wireless] mt76: mt76x0: enable MCS 8 and MCS9 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix event report in mt7615_mcu_bss_event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add sta pointer to mt7615_mcu_add_bss_info signature (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix up BMC entry indicated to unicmd firmware (Jarod Wilson) [1860496] - [wireless] mt76: enable TDLS support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mcu bss upload before creating the sta (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: fix tx status rate index calculation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix tx status rate index calculation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not adjust MAC timings if the device is not running (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: adjust timing in mt7615_mac_set_timing to match fw/hw values (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: never use an 802.11b CF-End rate on 5GHz (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: never use an 802.11b CF-End rate on 5GHz (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use larger rx buffers if VHT is supported (Jarod Wilson) [1860496] - [wireless] mt76: fix A-MPDU density handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix sta ampdu factor for VHT (Jarod Wilson) [1860496] - [wireless] mt76: mt7663u: enable AirTimeFairness (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework mt7615_mac_sta_poll for usb code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix aid configuration in mt7615_mcu_wtbl_generic_tlv (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7615_driver_own routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix max wtbl size for 7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7615_firmware_own for mt7663e (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: parse mcu return code for unified commands (Jarod Wilson) [1860496] - [wireless] mt76: add rx queues info to mt76 debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: make Kconfig entry obvious for MT7663E (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: introduce 802.11 PS support in sta mode (Jarod Wilson) [1860496] - [wireless] mt76: remove PS_NULLFUNC_STACK capability (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: provide aid info to the mcu (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable aspm by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable scs for mt7663 driver (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663u support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move core shared code in mt7615-common module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible deadlock in mt7615_stop (Jarod Wilson) [1860496] - [wireless] mt76: remove unnecessary annotations (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable MSI by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework IRQ handling to prepare for MSI support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix DMA unmap length (Jarod Wilson) [1860496] - [wireless] mt76: mt7622: fix DMA unmap length (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: set hw scan limits only for firmware with offload support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable hw/sched scan ops for non-offload firmware (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix aggr range entry in debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix possible division by 0 in mt7615_mac_update_mib_stats (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for applying tx DPD calibration from EEPROM (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for applying DC offset calibration from EEPROM (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable merge of OTP ROM data by default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Delete an error message in mt7622_wmac_probe() (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: do not always reset the dfs state setting the channel (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: correct the name of the rom patch (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add address parameter to mt7615_eeprom_init (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_wtbl_desc data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework wtbl key configuration (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rely on mt7622 queue scheme for mt7663u (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mac_wtbl_addr in mac.h (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce __mt7663_load_firmware routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mac_update_rate_desc routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663u support to mt7615_write_txwi (Jarod Wilson) [1860496] - [wireless] mt76: add headroom and tailroom to mt76_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove unnecessary register operations (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce rlm tlv in bss_info mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce BSS absence event (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce scheduled scan support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce hw scan support (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: keep Rx filters as the default (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_set_channel_domain mcu command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add ethool support to mt7663 driver (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: disable RDD commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: make scs configurable per phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: enable nf estimation (Jarod Wilson) [1860496] - [wireless] mt76: mt7663: fix mt7615_mac_cca_stats_reset routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add more useful Tx mib counters (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: cleanup mib related defines and structs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: enable aggr_stats for both phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: modify mt7615_ampdu_stat_read for each phy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x0: pci: add mt7610 PCI ID (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2u: introduce Mercury UD13 support (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: Add support for newer versions of the XBox One wifi adapter (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: fix handling MCU timeouts during hw restart (Jarod Wilson) [1860496] - [wireless] rndis_wlan: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] mwl8k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] rndis_wlan: Remove logically dead code (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove Comparison to bool in brcmf_p2p_send_action_frame() (Jarod Wilson) [1860496] - [wireless] brcmfmac: make non-global functions static (Jarod Wilson) [1860496] - [wireless] brcmfmac: Use seq/seq_len and set iv_initialize when plumbing of rxiv in (GTK) keys (Jarod Wilson) [1860496] - [wireless] brcmfmac: use actframe_abort to cancel ongoing action frame (Jarod Wilson) [1860496] - [wireless] brcmfmac: set security after reiniting interface (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix 802.1d priority to ac mapping for pcie dongles (Jarod Wilson) [1860496] - [wireless] brcmfmac: map 802.1d priority to precedence level based on AP WMM params (Jarod Wilson) [1860496] - [wireless] ath11k: convert to devm_platform_get_and_ioremap_resource (Jarod Wilson) [1860496] - [wireless] ath11k: remove redundant initialization of pointer info (Jarod Wilson) [1860496] - [wireless] ath10k: fix ath10k_pci struct layout (Jarod Wilson) [1860496] - [wireless] ath10k: fix gcc-10 zero-length-bounds warnings (Jarod Wilson) [1860496] - [wireless] ath10k: remove experimental tag from SDIO and SNOC busses in Kconfig (Jarod Wilson) [1860496] - [wireless] ath10k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath11k: Remove bus layer includes from upper layer (Jarod Wilson) [1860496] - [wireless] ath11k: Add drv private for bus opaque struct (Jarod Wilson) [1860496] - [wireless] ath11k: Add support for multibus support (Jarod Wilson) [1860496] - [wireless] ath10k: fix __le32 warning in ath10k_wmi_tlv_op_gen_request_peer_stats_info() (Jarod Wilson) [1860496] - [wireless] ath10k: Remove msdu from idr when management pkt send fails (Jarod Wilson) [1860496] - [wireless] ath10k: Skip handling del_server during driver exit (Jarod Wilson) [1860496] - [wireless] ath11k: remove stale monitor status descriptor (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg_ini: differentiate ax210 hw with same hw type (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: skip fragmented receive buffers (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove outdated copyright print/module statement (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: don't transmit on unallocated queue (Jarod Wilson) [1860496] - [wireless] iwlwifi: tx: enable A-MSDU in low latency mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: use longer queues for 256-BA (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen2: use DMA pool for byte-count tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove some dead code (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: mark a variable __maybe_unused (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: attempt to allocate smaller queues (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: allocate much smaller byte-count table (Jarod Wilson) [1860496] - [wireless] iwlwifi: dump api version in yaml format (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: convert all AX101 devices to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove occurrences of 22000 in the FW name defines (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: convert QnJ with Hr to the device table (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove mangling for iwl_ax101_cfg_qu_hr (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: remove outdated comment about PCI RTPM reference (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add IML/ROM information to the assertion dumps (Jarod Wilson) [1860496] - [wireless] iwlwifi: move iwl_set_soc_latency to iwl-drv to be used by other op_modes (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: remove magic number (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: initialize iwl_dev_tx_power_cmd to zero (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: set debug descriptor to NULL outside of iwl_fw_free_dump_desc (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 55 for AX devices (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add D3 resume timepoint (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: set properly station flags in STA_HE_CTXT_CMD (Jarod Wilson) [1860496] - [wireless] iwlwifi: avoid debug max amsdu config overwriting itself (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove iwlmvm's tfd_q_hang_detect module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: stop supporting swcrypto and bt_coex_active module parameters (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for range request command version 9 (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't access TLV before verifying len (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove antenna_coupling module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: use hweight_long instead of bit manipulating (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add support for parsing SHARED_MEM_ALLOC version 4 (Jarod Wilson) [1860496] - [wireless] iwlwifi: fw api: fix PHY data 2/3 position (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: remove Comparison to bool in rf.c (Jarod Wilson) [1860496] - [wireless] mwifiex: avoid -Wstringop-overflow warning (Jarod Wilson) [1860496] - [wireless] rtlwifi: remove comparison of 0/1 to bool variable (Jarod Wilson) [1860496] - [wireless] brcmsmac: remove Comparison to bool in brcms_b_txstatus() (Jarod Wilson) [1860496] - [wireless] brcmfmac: Add P2P Action Frame retry delay to fix GAS Comeback Response failure issue (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix P2P Group Formation failure via Go-neg method (Jarod Wilson) [1860496] - [wireless] brcmfmac: support the second p2p connection (Jarod Wilson) [1860496] - [wireless] rtw88: fix an issue about leak system resources (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add interface configurations table (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Set IG register for CCK rate (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add chip_ops::false_alarm_statistics (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: some chips don't support LDPC (Jarod Wilson) [1860496] - [wireless] rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add set_channel (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add query_rx_desc (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add DIG parameter (Jarod Wilson) [1860496] - [wireless] rtlwifi: use true, false for bool variable in rtl_init_rfkill() (Jarod Wilson) [1860496] - [wireless] rtw88: Use udelay instead of usleep in atomic context (Jarod Wilson) [1860496] - [wireless] ath11k: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath9k_htc: Silence undersized packet warnings (Jarod Wilson) [1860496] - [wireless] ath6kl: Replace zero-length array with flexible-array (Jarod Wilson) [1860496] - [wireless] ath11k: fix kernel panic by freeing the msdu received with invalid length (Jarod Wilson) [1860496] - [wireless] ath11k: Add support to reset htt peer stats (Jarod Wilson) [1860496] - [wireless] ath11k: add tx hw 802.11 encapsulation offloading support (Jarod Wilson) [1860496] - [wireless] ath11k: fix resource unavailability for htt stats after peer stats display (Jarod Wilson) [1860496] - [wireless] ath11k: use true,false for bool variables (Jarod Wilson) [1860496] - [wireless] ath10k: Add support for targets without trustzone (Jarod Wilson) [1860496] - [wireless] ath10k: Setup the msa resources before qmi init (Jarod Wilson) [1860496] - [wireless] ath10k: remove the max_sched_scan_reqs value (Jarod Wilson) [1860496] - [wireless] ath10k: Avoid override CE5 configuration for QCA99X0 chipsets (Jarod Wilson) [1860496] - [wireless] brcmfmac: no need to check return value of debugfs_create functions (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove comparison to bool in brcmf_fws_attach() (Jarod Wilson) [1860496] - [wireless] brcmfmac: add vendor ie for association responses (Jarod Wilson) [1860496] - [wireless] brcmfmac: only generate random p2p address when needed (Jarod Wilson) [1860496] - [wireless] brcmfmac: p2p cert 6.1.9-support GOUT handling p2p presence request (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove arp_hostip_clear from brcmf_netdev_stop (Jarod Wilson) [1860496] - [wireless] brcmfmac: keep apsta enabled when AP starts with MCHAN feature (Jarod Wilson) [1860496] - [wireless] rtw88: fix spelling mistake "fimrware" -> "firmware" (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: update phy parameter tables to v50 (Jarod Wilson) [1860496] - [wireless] ath11k: add DBG_MAC prints to track vdev events (Jarod Wilson) [1860496] - [wireless] ath11k: fix mgmt_tx_wmi cmd sent to FW for deleted vdev (Jarod Wilson) [1860496] - [wireless] ath11k: fix error return code in ath11k_dp_alloc() (Jarod Wilson) [1860496] - [wireless] ath10k: fix possible memory leak in ath10k_bmi_lz_data_large() (Jarod Wilson) [1860496] - [wireless] mac80211: fix memory overlap due to variable length param (Jarod Wilson) [1860496] - [net] mac80211: TX legacy rate control for Beacon frames (Jarod Wilson) [1860496] - [wireless] ath11k: use GFP_ATOMIC under spin lock (Jarod Wilson) [1860496] - [wireless] ath10k: correct tx bitrate of iw for SDIO (Jarod Wilson) [1860496] - [wireless] ath10k: add bitrate parse for peer stats info (Jarod Wilson) [1860496] - [wireless] ath10k: add rx bitrate report for SDIO (Jarod Wilson) [1860496] - [wireless] ath10k: enable firmware peer stats info for wmi tlv (Jarod Wilson) [1860496] - [wireless] ath5k: remove conversion to bool in ath5k_ani_calibration() (Jarod Wilson) [1860496] - [wireless] ath9k: add calibration timeout for AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: invalidate all calibrations at once (Jarod Wilson) [1860496] - [wireless] ath9k: interleaved NF calibration on AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: do not miss longcal on AR9002 (Jarod Wilson) [1860496] - [wireless] ath9k: remove needless NFCAL_PENDING flag setting (Jarod Wilson) [1860496] - [wireless] ath9k: fix AR9002 ADC and NF calibrations (Jarod Wilson) [1860496] - [wireless] rtw88: fix sparse warnings for download firmware routine (Jarod Wilson) [1860496] - [wireless] ath10k: add statistics of tx retries and tx failed when tx complete disable (Jarod Wilson) [1860496] - [wireless] ath10k: enable rx duration report default for wmi tlv (Jarod Wilson) [1860496] - [wireless] ath11k: fix reo flush send (Jarod Wilson) [1860496] - [wireless] iwlwifi: debug: set NPK buffer in context info (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add new structs for So devices with long latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add new structure for Qu devices with medium latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: tell firmware about required LTR delay (Jarod Wilson) [1860496] - [wireless] iwlwifi: update few product names in AX family (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add cfgs for SoCs with device ID 0x4FD0 (Jarod Wilson) [1860496] - [wireless] iwlwifi: add new cards for AX family (Jarod Wilson) [1860496] - [wireless] iwlwifi: acpi: read TAS table from ACPI and send it to the FW (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove fw_monitor module parameter (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove deprecated and unused iwl_mvm_keyinfo struct (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add framework for specific phy configuration (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: move iwl_pcie_ctxt_info_alloc_dma() to user (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: support IWL_FW_INI_TIME_POINT_HOST_ALIVE_TIMEOUT time point (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add DCM flag to rate pretty-print (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: gen2: minor code cleanups in byte table update (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: add n_window/ampdu to tx_queue debugfs (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: use seq_file for tx_queue debugfs file (Jarod Wilson) [1860496] - [wireless] iwlwifi: support version 9 of WOWLAN_GET_STATUS notification (Jarod Wilson) [1860496] - [wireless] iwlwifi: dbg: support multiple dumps in legacy dump flow (Jarod Wilson) [1860496] - [wireless] iwlwifi: move API version lookup to common code (Jarod Wilson) [1860496] - [wireless] iwlwifi: nvm: use iwl_nl80211_band_from_channel_idx (Jarod Wilson) [1860496] - [net] mac80211: fix two missing documentation entries (Jarod Wilson) [1860496] - [net] cfg80211: reject channels/chandefs with KHz offset >= 1000 (Jarod Wilson) [1860496] - [net] mac80211: add freq_offset to RX status (Jarod Wilson) [1860496] - [net] mac80211: handle channel frequency offset (Jarod Wilson) [1860496] - [net] cfg80211: express channels with a KHz component (Jarod Wilson) [1860496] - [net] ieee80211: share 802.11 unit conversion helpers (Jarod Wilson) [1860496] - [net] mac80211: minstrel_ht_assign_best_tp_rates: remove redundant test (Jarod Wilson) [1860496] - [net] mac80211: Fail association when AP has no legacy rates (Jarod Wilson) [1860496] - [net] mac80211: agg-tx: add an option to defer ADDBA transmit (Jarod Wilson) [1860496] - [net] mac80211: agg-tx: refactor sending addba (Jarod Wilson) [1860496] - [net] mac80211: Skip entries with HE membership selector (Jarod Wilson) [1860496] - [net] cfg80211: Parse HE membership selector (Jarod Wilson) [1860496] - [net] mac80211: Don't destroy auth data in case of anti-clogging (Jarod Wilson) [1860496] - [net] mac80211: add twt_protected flag to the bss_conf structure (Jarod Wilson) [1860496] - [net] mac80211: implement Operating Mode Notification extended NSS support (Jarod Wilson) [1860496] - [net] mac80211: Process multicast RX registration for Action frames (Jarod Wilson) [1860496] - [net] nl80211: allow client-only BIGTK support (Jarod Wilson) [1860496] - [net] cfg80211: support multicast RX registration (Jarod Wilson) [1860496] - [net] cfg80211: change internal management frame registration API (Jarod Wilson) [1860496] - [net] mac80211: Report beacon protection failures to user space (Jarod Wilson) [1860496] - [net] cfg80211: Unprotected Beacon frame RX indication (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: remove support for fw scan api v13 (Jarod Wilson) [1860496] - [net] mac80211: fix drv_config_iface_filter() behaviour (Jarod Wilson) [1860496] - [net] mac80211: mlme: remove duplicate AID bookkeeping (Jarod Wilson) [1860496] - [wireless] ath10k: drop the TX packet which size exceed credit size for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the invalid tx/rx chainmask configuration (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: initialize mac/bb/rf basic functions (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Organize chip TX/RX FIFO (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: implement set_tx_power_index ops (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: 11N chips don't support H2C queue (Jarod Wilson) [1860496] - [wireless] rtw88: decompose while(1) loop of power sequence polling command (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add mac power-on/-off function (Jarod Wilson) [1860496] - [wireless] rtw88: no need to send additional information to legacy firmware (Jarod Wilson) [1860496] - [wireless] rtw88: add legacy firmware download for 8723D devices (Jarod Wilson) [1860496] - [wireless] ath10k: add flush tx packets for SDIO chip (Jarod Wilson) [1860496] - [wireless] ath10k: enable alt data of TX path for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: add htt TX bundle for sdio (Jarod Wilson) [1860496] - [wireless] ath11k: remove conversion to bool in ath11k_debug_fw_stats_process() (Jarod Wilson) [1860496] - [wireless] ath11k: remove conversion to bool in ath11k_dp_rxdesc_mpdu_valid() (Jarod Wilson) [1860496] - [wireless] rtw88: set power trim according to efuse PG values (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add read_efuse to recognize efuse info from map (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add new chip op efuse_grant() to control efuse access (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add cfg_ldo25 to control LDO25 (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add RF read/write ops (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add power sequence (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: add beamform wrapper functions (Jarod Wilson) [1860496] - [wireless] rtw88: 8723d: Add basic chip capabilities (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: fix warning comparison to bool (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8821ae: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723be: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8192ee: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8188ee: use true, false for bool variables (Jarod Wilson) [1860496] - [wireless] ath10k: hif: make send_complete_check op optional (Jarod Wilson) [1860496] - [wireless] ath10k: sdio: remove _hif_ prefix from functions not part of hif interface (Jarod Wilson) [1860496] - [wireless] ath10k: improve power save performance for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: rename ath10k_hif_swap_mailbox() to ath10k_hif_start_post() (Jarod Wilson) [1860496] - [wireless] brcmfmac: remove leading space (Jarod Wilson) [1860496] - [wireless] brcmsmac: make brcms_c_stf_ss_update() void (Jarod Wilson) [1860496] - [wireless] brcmsmac: Add missing annotation for brcms_down() (Jarod Wilson) [1860496] - [wireless] brcmsmac: Add missing annotation for brcms_rfkill_set_hw_state() (Jarod Wilson) [1860496] - [wireless] hostap: Add missing annotations for prism2_bss_list_proc_start() and prism2_bss_list_proc_stop (Jarod Wilson) [1860496] - [wireless] rtw88: add support for set/get antennas (Jarod Wilson) [1860496] - [wireless] rtw88: make rtw_chip_ops::set_antenna return int (Jarod Wilson) [1860496] - [wireless] ath11k: Add dynamic tcl ring selection logic with retry mechanism (Jarod Wilson) [1860496] - [wireless] ath11k: cleanup reo command error code overwritten (Jarod Wilson) [1860496] - [wireless] ath10k: Fix typo in warning messages (Jarod Wilson) [1860496] - [wireless] ath11k: Fix rx_filter flags setting for per peer rx_stats (Jarod Wilson) [1860496] - [wireless] ath11k: Fix fw assert by setting proper vht cap (Jarod Wilson) [1860496] - [wireless] ath11k: Cleanup in pdev destroy and mac register during crash on recovery (Jarod Wilson) [1860496] - [wireless] brcmsmac: make brcms_c_set_mac() void (Jarod Wilson) [1860496] - [wireless] rtw88: Add delay on polling h2c command status bit (Jarod Wilson) [1860496] - [wireless] brcm80211: remove redundant pointer 'address' (Jarod Wilson) [1860496] - [wireless] rtlwifi: rtl8723ae: fix spelling mistake "chang" -> "change" (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix wrong location to get firmware feature (Jarod Wilson) [1860496] - [wireless] rtw88: Make two functions static (Jarod Wilson) [1860496] - [net] cfg80211: fix kernel-doc notation (Jarod Wilson) [1860496] - [wireless] ath11k: rx path optimizations (Jarod Wilson) [1860496] - [wireless] ath11k: set IRQ_DISABLE_UNLAZY flag for DP interrupts (Jarod Wilson) [1860496] - [wireless] ath11k: Fix TWT radio count (Jarod Wilson) [1860496] - [wireless] ath11k: Modify the interrupt timer threshold (Jarod Wilson) [1860496] - [wireless] ath11k: fix duplication peer create on same radio (Jarod Wilson) [1860496] - [wireless] ath10k: change ATH10K_SDIO_BUS_REQUEST_MAX_NUM from 64 to 1024 (Jarod Wilson) [1860496] - [wireless] ath10k: disable TX complete indication of htt for sdio (Jarod Wilson) [1860496] - [wireless] ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb (Jarod Wilson) [1860496] - [wireless] ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Write in ath9k_htc_rx_msg (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx (Jarod Wilson) [1860496] - [wireless] ath9k: Fix use-after-free Read in htc_connect_service (Jarod Wilson) [1860496] - [wireless] ath10k: fix kernel null pointer dereference (Jarod Wilson) [1860496] - [wireless] ath10k: enable radar detection in secondary segment (Jarod Wilson) [1860496] - [wireless] ath10k: enable VHT160 and VHT80+80 modes (Jarod Wilson) [1860496] - [wireless] ath11k: Avoid mgmt tx count underflow (Jarod Wilson) [1860496] - [wireless] ath11k: Increase the tx completion ring size (Jarod Wilson) [1860496] - [wireless] ath11k: fix error message to correctly report the command that failed (Jarod Wilson) [1860496] - [wireless] ath11k: add pktlog checksum in trace events to support pktlog (Jarod Wilson) [1860496] - [wireless] ath10k: Fix the race condition in firmware dump work queue (Jarod Wilson) [1860496] - [wireless] ath11k: Add sta debugfs support to configure ADDBA and DELBA (Jarod Wilson) [1860496] - [wireless] ath11k: fix compiler warnings without CONFIG_THERMAL (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: remove newline from rs_pretty_print_rate() (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: make iwl_pcie_cmdq_reclaim static (Jarod Wilson) [1860496] - [wireless] iwlwifi: bump FW API to 53 for 22000 series (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove IWL_FW_DBG_DOMAIN macro (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: enable yoyo by default (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: support FW APIs with variable number of profiles (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: don't block dumping internal memory when not in SRAM mode (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove support for QnJ HR FPGA (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove support for QnJ Hr STEP A (Jarod Wilson) [1860496] - [wireless] iwlwifi: add trans_cfg for devices with long latency (Jarod Wilson) [1860496] - [wireless] iwlwifi: add support for version 2 of SOC_CONFIGURATION_CMD (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add support for non EDCA based measurements (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove unnecessary cfg mangling for Qu C and QuZ with Jf (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert QnJ with Jf devices to new config table (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert all Qu with Jf devices to the new config table (Jarod Wilson) [1860496] - [wireless] iwlwifi: add HW step to new cfg device table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove some unused extern declarations from iwl-config.h (Jarod Wilson) [1860496] - [wireless] iwlwifi: move integrated, extra_phy and soc_latency to trans_cfg (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: enable SF also when we have HE (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove redundant iwl9560_2ac_cfg struct (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: rs-fw: fix some indentation (Jarod Wilson) [1860496] - [wireless] iwlwifi: scan: support scan req cmd ver 14 (Jarod Wilson) [1860496] - [wireless] iwlwifi: pass trans and NVM data to HE capability parsing (Jarod Wilson) [1860496] - [wireless] iwlwifi: pcie: implement read_config32 (Jarod Wilson) [1860496] - [wireless] iwlwifi: yoyo: add PCI config space region type (Jarod Wilson) [1860496] - [wireless] iwlwifi: mvm: add soc latency support (Jarod Wilson) [1860496] - [wireless] hostap: convert to struct proc_ops (Jarod Wilson) [1860496] - [wireless] rtw88: fix non-increase management packet sequence number (Jarod Wilson) [1860496] - [wireless] brcmfmac: add USB autosuspend feature support (Jarod Wilson) [1860496] - [wireless] brcmfmac: increase max hanger slots from 1K to 3K in fws layer (Jarod Wilson) [1860496] - [wireless] brcmfmac: fix the incorrect return value in brcmf_inform_single_bss() (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix double freeing in the fmac usb data path (Jarod Wilson) [1860496] - [wireless] brcmfmac: Fix driver crash on USB control transfer timeout (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: Feed current txrate information for mac80211 (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: add enumeration for channel bandwidth (Jarod Wilson) [1860496] - [wireless] rtw88: add a debugfs entry to enable/disable coex mechanism (Jarod Wilson) [1860496] - [wireless] rtw88: add a debugfs entry to dump coex's info (Jarod Wilson) [1860496] - [wireless] rtl8xxxu: Fix sparse warning: cast from restricted __le16 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing declaration in mt7615.h (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix endianness in unified command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix mt7663e firmware struct endianness (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: config RF table path B before path A (Jarod Wilson) [1860496] - [wireless] rtw88: kick off TX packets once for higher efficiency (Jarod Wilson) [1860496] - [wireless] rtw88: pci: define a mask for TX/RX BD indexes (Jarod Wilson) [1860496] - [wireless] rtw88: associate reserved pages with each vif (Jarod Wilson) [1860496] - [wireless] rtw88: extract alloc rsvd_page and h2c skb routines (Jarod Wilson) [1860496] - [wireless] brcmfmac: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: marvell: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] hostap: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: ti: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] wireless: realtek: Replace zero-length array with flexible-array member (Jarod Wilson) [1860496] - [wireless] ath10k: Fill GCMP MIC length for PMF (Jarod Wilson) [1860496] - [net] mac80211: driver can remain on channel if not using chan_ctx (Jarod Wilson) [1860496] - [net] nl80211: clarify code in nl80211_del_station() (Jarod Wilson) [1860496] - [net] cfg80211: Configure PMK lifetime and reauth threshold for PMKSA entries (Jarod Wilson) [1860496] - [net] mac80211: Read rx_stats with perCPU pointers (Jarod Wilson) [1860496] - [net] mac80211: Allow deleting stations in ibss mode to reset their state (Jarod Wilson) [1860496] - [net] cfg80211: Add support for userspace to reset stations in IBSS mode (Jarod Wilson) [1860496] - [net] mac80211: consider WLAN_EID_EXT_HE_OPERATION for parsing CRC (Jarod Wilson) [1860496] - [uapi] nl80211: add PROTECTED_TWT nl80211 extended feature (Jarod Wilson) [1860496] - [net] mac80211: HE: set missing bss_conf fields in AP mode (Jarod Wilson) [1860496] - [net] nl80211: pass HE operation element to the driver (Jarod Wilson) [1860496] - [net] nl80211/cfg80211: add support for non EDCA based ranging measurement (Jarod Wilson) [1860496] - [net] mac80211: don't leave skb->next/prev pointing to stack (Jarod Wilson) [1860496] - [net] mac80211: update documentation about tx power (Jarod Wilson) [1860496] - [net] mac80211: handle no-preauth flag for control port (Jarod Wilson) [1860496] - [net] nl80211: add no pre-auth attribute and ext. feature flag for ctrl. port (Jarod Wilson) [1860496] - [net] cfg80211: fix documentation format (Jarod Wilson) [1860496] - [wireless] ath11k: Perform per-msdu rx processing (Jarod Wilson) [1860496] - [wireless] ath11k: Configure hash based reo destination ring selection (Jarod Wilson) [1860496] - [wireless] ath11k: Adding proper validation before accessing tx_stats (Jarod Wilson) [1860496] - [wireless] ath11k: dump SRNG stats during FW assert (Jarod Wilson) [1860496] - [wireless] ath11k: fill channel info from rx channel (Jarod Wilson) [1860496] - [wireless] ath11k: Supporting RX ring backpressure HTT event and stats handling (Jarod Wilson) [1860496] - [wireless] iwlwifi: move AX200 devices to the new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove trans entries from COMMON 9260 macro (Jarod Wilson) [1860496] - [wireless] iwlwifi: move shared clock entries to new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: move pu devices to new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: remove 9260 devices with 0x1010 and 0x1210 subsytem IDs (Jarod Wilson) [1860496] - [wireless] iwlwifi: convert the 9260-1x1 device to use the new parameters (Jarod Wilson) [1860496] - [wireless] iwlwifi: move TH1 devices to the new table (Jarod Wilson) [1860496] - [wireless] iwlwifi: map 9461 and 9462 using RF type and RF ID (Jarod Wilson) [1860496] - [wireless] iwlwifi: add Pu/PnJ/Th device values to differentiate them (Jarod Wilson) [1860496] - [wireless] iwlwifi: add GNSS differentiation to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: add mac/rf types and 160MHz to the device tables (Jarod Wilson) [1860496] - [wireless] iwlwifi: combine 9260 cfgs that only change names (Jarod Wilson) [1860496] - [wireless] iwlwifi: move the remaining 0x2526 configs to the new table (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7663e support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: get rid of sta_rec_wtbl data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce set_ba uni command (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add more uni mcu commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce set_bmc and st_sta for uni commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce uni cmd command types (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_init_mac_chain routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_eeprom_parse_hw_band_cap routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_{driver, firmware}_own (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7663e support to mt7615_reg_map (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_register_map (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce MCU_FW_PREFIX for fw mcu commands (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move more mcu commands in mt7615_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework mt7615_mcu_set_bss_info using skb APIs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rely on skb API for mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mcu_set_sta in mt7615_mcu_ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mt7615_mcu_set_bmc to mt7615_mcu_ops (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add mt7615_mcu_ops data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_send_message routine (Jarod Wilson) [1860496] - [wireless] mt76: always init to 0 mcu messages (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_init_device routine (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: cleanup fw queue just for mmio devices (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_wait_response (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce mt7615_mcu_fill_msg (Jarod Wilson) [1860496] - [wireless] mt76: remove variable 'val' set but not used (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove a stray if statement (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: reset MCU timeout counter earlier in watchdog reset (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix monitor injection of beacon frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: make dynamic sensitivity adjustment configurable via debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: add upper limit for dynamic sensitivity minimum receive power (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix antenna mask initialization in DBDC mode (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rely only on data buffer for usb control messagges (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: fix a possible memory leak in mt76u_init (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: loop over all possible rx queues in mt76u_rx_tasklet (Jarod Wilson) [1860496] - [wireless] ath11k: add handling for BSS color (Jarod Wilson) [1860496] - [wireless] ath11k: add WMI calls required for handling BSS color (Jarod Wilson) [1860496] - [wireless] ath11k: set queue_len to 4096 (Jarod Wilson) [1860496] - [wireless] ath11k: enable PN offload (Jarod Wilson) [1860496] - [wireless] ath11k: handle RX fragments (Jarod Wilson) [1860496] - [wireless] rtw88: remove unused member of struct rtw_hal (Jarod Wilson) [1860496] - [wireless] ath5k: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1860496] - [wireless] ath11k: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1860496] - [wireless] ath10k: allow qca988x family to support ack rssi of tx data packets (Jarod Wilson) [1860496] - [wireless] ath5k: Add proper dependency for ATH5K_AHB (Jarod Wilson) [1860496] - [wireless] ath11k: add thermal sensor device support (Jarod Wilson) [1860496] - [wireless] ath11k: add thermal cooling device support (Jarod Wilson) [1860496] - [wireless] ath10k: fix not registering airtime of 11a station with WMM disable (Jarod Wilson) [1860496] - [wireless] ath11k: config reorder queue for all tids during peer setup (Jarod Wilson) [1860496] - [wireless] ath10k: fix unsupported chip reset debugs file write (Jarod Wilson) [1860496] - [wireless] ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read (Jarod Wilson) [1860496] - [wireless] ath10k: start recovery process when read int status fail for sdio (Jarod Wilson) [1860496] - [wireless] ath10k: add QCA9377 sdio hw_param item (Jarod Wilson) [1860496] - [wireless] ath10k: avoid consecutive OTP download to reduce boot time (Jarod Wilson) [1860496] - [net] mac80211: Add api to support configuring TID specific configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific RTSCTS configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific AMPDU configuration (Jarod Wilson) [1860496] - [net] nl80211: Add support to configure TID specific retry configuration (Jarod Wilson) [1860496] - [net] nl80211: modify TID-config API (Jarod Wilson) [1860496] - [net] nl80211: Add NL command to support TID speicific configurations (Jarod Wilson) [1860496] - [net] mac80211: Beacon protection using the new BIGTK (STA) (Jarod Wilson) [1860496] - [net] mac80211: Beacon protection using the new BIGTK (AP) (Jarod Wilson) [1860496] - [net] mac80211: Update BIP to support Beacon frames (Jarod Wilson) [1860496] - [net] mac80211: Support BIGTK configuration for Beacon protection (Jarod Wilson) [1860496] - [net] cfg80211: Support key configuration for Beacon protection (BIGTK) (Jarod Wilson) [1860496] - [net] cfg80211: More error messages for key addition failures (Jarod Wilson) [1860496] - [net] cfg80211: fix indentation errors (Jarod Wilson) [1860496] - [net] cfg80211: merge documentations of field "dev" (Jarod Wilson) [1860496] - [net] cfg80211: merge documentations of field "debugfsdir" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "reg_notifier" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "perm_addr" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "_net" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "registered" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "privid" (Jarod Wilson) [1860496] - [net] cfg80211: drop duplicated documentation of field "probe_resp_offload" (Jarod Wilson) [1860496] - [net] Revert "nl80211: add src and dst addr attributes for control port tx/rx" (Jarod Wilson) [1860496] - [net] Revert "mac80211: support NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS" (Jarod Wilson) [1860496] - [net] cfg80211: remove support for adjacent channel compensation (Jarod Wilson) [1860496] - [net] mac80211: check vif pointer before airtime calculation (Jarod Wilson) [1860496] - [net] cfg80211: Pass lockdep expression to RCU lists (Jarod Wilson) [1860496] - [wireless] mwifiex: change license text from MARVELL to NXP (Jarod Wilson) [1860496] - [wireless] mt76: Introduce mt76_mcu data structure (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove rx_mask in mt7615_eeprom_parse_hw_cap (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: rename stat_wq in wq (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: extend RX scatter gather number (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rely on mt76_queues_read for mt7622 (Jarod Wilson) [1860496] - [wireless] mt76: do not set HOST_BROADCAST_PS_BUFFERING for mt7615 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework rx phy index handling (Jarod Wilson) [1860496] - [wireless] mt76: fix rounding issues on converting per-chain and combined txpower (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: avoid starting the MAC too early (Jarod Wilson) [1860496] - [wireless] mt76: avoid extra RCU synchronization on station removal (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix monitor mode on second PHY (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix adding active monitor interfaces (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch mt7615_mcu_set_rx_ba to v2 format (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: switch mt7615_mcu_set_tx_ba to v2 format (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: use new tag sta_rec_wtbl (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add starec operating flow for firmware v2 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add a helper to encapsulate sta_rec operation (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: simplify mcu_set_sta flow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: simplify mcu_set_bmc flow (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for testing hardware reset (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement hardware reset support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report firmware log event messages (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix and rework tx power handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add Kconfig entry for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable DBDC on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: decrease rx ring size for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement DMA support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: implement probing and firmware loading on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: disable 5 GHz on MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add calibration free support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add eeprom support for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add dma and tx queue initialization for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix MT_INT_TX_DONE_ALL definition for MT7622 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: store N9 firmware version instead of CR4 (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: split up firmware loading functions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move mmio related code from pci.c to mmio.c (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add __aligned(4) to txp structs (Jarod Wilson) [1860496] - [wireless] mt76: enable Airtime Queue Limit support (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: increase dma mcu rx ring size (Jarod Wilson) [1860496] - [wireless] mt76: dma: do not write cpu_idx on rx queue reset until after refill (Jarod Wilson) [1860496] - [wireless] mt76: fix handling full tx queues in mt76_dma_tx_queue_skb_raw (Jarod Wilson) [1860496] - [wireless] mt76: set dma-done flag for flushed descriptors (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce MT_DRV_RX_DMA_HDR flag (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add endpoint to mt76u_bulk_msg signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_skb_dma_info routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: take into account different queue mapping for 7663 (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add {read/write}_extended utility routines (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_alloc_mcu_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: resume all rx queue in mt76u_resume_rx (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add queue parameter to mt76u_rx_urb_alloc (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76u_alloc_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: stop/free all possible rx queues (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: introduce mt76u_free_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: move mcu buffer allocation in mt76x02u drivers (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add queue id parameter to mt76u_submit_rx_buffers (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: use mt76_queue as mt76u_complete_rx context (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_queue to mt76u_refill_rx signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76_queue to mt76u_get_next_rx_entry signature (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: add mt76u_process_rx_queue utility routine (Jarod Wilson) [1860496] - [wireless] mt76: mt76u: check tx_status_data pointer in mt76u_tx_tasklet (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: avoid overwrite max_tx_fragments (Jarod Wilson) [1860496] - [wireless] mt76: rely on mac80211 utility routines to compute airtime (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove leftover routine declaration (Jarod Wilson) [1860496] - [wireless] mt76: move WIPHY_FLAG_HAS_CHANNEL_SWITCH in mt76_phy_init (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix endianness in mt7615_mcu_set_eeprom (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: initialize radar specs from host driver (Jarod Wilson) [1860496] - [wireless] mt76: mt76x2: get rid of leftover target (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add tracing support (Jarod Wilson) [1860496] - [wireless] mt76: move mac_txdone tracepoint in mt76 module (Jarod Wilson) [1860496] - [wireless] mt76: move dev_irq tracepoint in mt76 module (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add a get_stats() callback (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add per-phy mib statistics (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report TSF information (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add set_antenna callback (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework set_channel function (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing settings for simultaneous dual-band support (Jarod Wilson) [1860496] - [wireless] mt76: fix compilation warning in mt76_eeprom_override() (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: simplify led reg definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: simplify led reg definitions (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: introduce LED support (Jarod Wilson) [1860496] - [wireless] mt76: clear skb pointers from rx aggregation reorder buffer during cleanup (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: fix input validation issues for powersave-filtered frames (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: increase MCU command timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: measure channel noise and report it via survey (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: fix MT7615_CFEND_RATE_DEFAULT value (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: minor mt76x02_mac_set_beacon optimization (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02u: do not set NULL beacons (Jarod Wilson) [1860496] - [wireless] mt76: usb: use max packet length for m76u_copy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: add channel switch support for usb interfaces (Jarod Wilson) [1860496] - [wireless] mt76: speed up usb bulk copy (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: remove a copy call for usb speedup (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: add check for invalid vif idx (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: split beaconing (Jarod Wilson) [1860496] - [wireless] mt76: mt76x02: omit beacon slot clearing (Jarod Wilson) [1860496] - [wireless] mt76: use AC specific reorder timeout (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add set_coverage class support (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: set 0 as min coverage_class value (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: report firmware version using ethtool (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: Fix build with older compilers (Jarod Wilson) [1860496] - [wireless] mt76: eeprom: add support for big endian eeprom partition (Jarod Wilson) [1860496] - [wireless] mt76: mt7603: reset STA_CCA counter setting the channel (Jarod Wilson) [1860496] - [wireless] mt76: fix possible undetected invalid MAC address (Jarod Wilson) [1860496] - [wireless] mt76: disable bh in mt76_dma_rx_poll (Jarod Wilson) [1860496] - [wireless] mt76: fix rx dma ring descriptor state on reset (Jarod Wilson) [1860496] - [wireless] mt7615: replace sta_state callback with sta_add/sta_remove (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: defer mcu initialization via workqueue (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: update beacon contents on BSS_CHANGED_BEACON (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add support for registering a second wiphy via debugfs (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: select the correct tx queue for frames sent to the second phy (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: move radio/mac initialization to .start/stop callbacks (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: initialize dbdc settings on interface add (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support to the rx path (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: rework chainmask handling (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support to the dfs support code (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: remove useless MT_HW_RDD0/1 enum (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add missing register init for dual-wiphy support (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add multiple wiphy support for smart carrier sense (Jarod Wilson) [1860496] - [wireless] mt76: mt7615: add dual-phy support for mac80211 ops (Jarod Wilson) [1860496] - [wireless] mt76: do not overwrite max_tx_fragments if it has been set (Jarod Wilson) [1860496] - [wireless] mt76: move ampdu_ref from mt76_dev to driver struct (Jarod Wilson) [1860496] - [wireless] mt76: add ext_phy field to struct mt76_wcid (Jarod Wilson) [1860496] - [wireless] mt76: add function for allocating an extra wiphy (Jarod Wilson) [1860496] - [wireless] mt76: add priv pointer to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: add multiple wiphy support to mt76_get_min_avg_rssi (Jarod Wilson) [1860496] - [wireless] mt76: move txpower and antenna mask to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: move txpower_conf back to driver specific structs (Jarod Wilson) [1860496] - [wireless] mt76: move chainmask back to driver specific structs (Jarod Wilson) [1860496] - [wireless] mt76: move state from struct mt76_dev to mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: keep a set of software tx queues per phy (Jarod Wilson) [1860496] - [wireless] mt76: move channel state to struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in mt76_sta_state() (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the tx status path (Jarod Wilson) [1860496] - [net] mac80211: allow setting queue_len for drivers not using wake_tx_queue (Jarod Wilson) [1860496] - [include] ieee80211: add WPA3 OWE AKM suite selector (Jarod Wilson) [1860496] - [wireless] mac80211: Fix setting txpower to zero (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the main tx path (Jarod Wilson) [1860496] - [wireless] mt76: add support for an extra wiphy in the rx path (Jarod Wilson) [1860496] - [wireless] mt76: introduce struct mt76_phy (Jarod Wilson) [1860496] - [wireless] mt76: move initialization of some struct members to mt76_alloc_device (Jarod Wilson) [1860496] - [wireless] rtw88: Fix incorrect beamformee role setting (Jarod Wilson) [1860496] - [wireless] rtw88: 8822: Make tables const, reduce data object size (Jarod Wilson) [1860496] - [wireless] rtw88: disable TX-AMSDU on 2.4G band (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: modify rf protection setting (Jarod Wilson) [1860496] - [wireless] rtw88: Use secondary channel offset enumeration (Jarod Wilson) [1860496] - [wireless] rtw88: 8822c: update power sequence to v16 (Jarod Wilson) [1860496] - [wireless] rtw88: add ciphers to suppress error message (Jarod Wilson) [1860496] - [wireless] rtw88: avoid holding mutex for cancel_delayed_work_sync() (Jarod Wilson) [1860496] - [wireless] rtw88: move rtw_enter_ips() to the last when config (Jarod Wilson) [1860496] - [wireless] rtw88: pci: 8822c should set clock delay to zero (Jarod Wilson) [1860496] - [wireless] rtw88: add rtw_read8_mask and rtw_read16_mask (Jarod Wilson) [1860496] - [wireless] rtw88: remove unused parameter vif in rtw_lps_pg_info_get() (Jarod Wilson) [1860496] - [wireless] brcmfmac: add the BRCM 4364 found in MacBook Pro 15, 2 (Jarod Wilson) [1860496] - [wireless] ath11k: fix incorrect peer stats counters update (Jarod Wilson) [1860496] - [wireless] ath11k: Fixing dangling pointer issue upon peer delete failure (Jarod Wilson) [1860496] - [wireless] ath11k: fix parsing PPDU_CTRL type in pktlog (Jarod Wilson) [1860496] - [wireless] ath11k: fix warn-on in disassociation (Jarod Wilson) [1860496] - [wireless] ath11k: fix rcu lock protect in peer assoc confirmation (Jarod Wilson) [1860496] - [wireless] ath11k: add HE rate accounting to driver (Jarod Wilson) [1860496] - [wireless] ath11k: drop tx_info from ath11k_sta (Jarod Wilson) [1860496] - [wireless] ath10k: Add support to read btcoex related data from DT (Jarod Wilson) [1860496] - [wireless] ath10k: fix few checkpatch warnings (Jarod Wilson) [1860496] - [net] mac80211: support NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS (Jarod Wilson) [1860496] - [net] nl80211: add src and dst addr attributes for control port tx/rx (Jarod Wilson) [1860496] - [net] mac80211: parse also the RSNXE IE (Jarod Wilson) [1860496] - [net] cfg80211/mac80211: Allow user space to register for station Rx authentication (Jarod Wilson) [1860496] - [include] ieee80211: fix 'the' doubling in comments (Jarod Wilson) [1860496] - [net] mac80211: Remove support for changing AP SMPS mode (Jarod Wilson) [1860496] - [net] mac80211: Handle SMPS mode changes only in AP mode (Jarod Wilson) [1860496] - [net] mac80211: Accept broadcast probe responses on 6GHz band (Jarod Wilson) [1860496] - [net] mac80211: HE: set RX NSS (Jarod Wilson) [1860496] - [net] mac80211: set station bandwidth from HE capability (Jarod Wilson) [1860496] - [net] mac80211: remove supported channels element in 6 GHz if ECSA support (Jarod Wilson) [1860496] - [net] mac80211: update condition for HE disablement (Jarod Wilson) [1860496] - [net] mac80211: make ieee80211_wep_init() return void (Jarod Wilson) [1860496] - [net] mac80211: allow changing TX-related netdev features (Jarod Wilson) [1860496] - [net] mac80211: check whether HE connection is allowed by the reg domain (Jarod Wilson) [1860496] - [net] mac80211: refactor extended element parsing (Jarod Wilson) [1860496] - [net] mac80211: simplify and improve HT/VHT/HE disable code (Jarod Wilson) [1860496] - [net] cfg80211: Enhance the AKM advertizement to support per interface (Jarod Wilson) [1860496] - [net] cfg80211: add no HE indication to the channel flag (Jarod Wilson) [1860496] - [net] mac80211: fix 11w when using encapsulation offloading (Jarod Wilson) [1860496] - [net] mac80211: fix tx status for no ack cases (Jarod Wilson) [1860496] - [net] mac80211: add handling for BSS color (Jarod Wilson) [1860496] - [net] nl80211: add handling for BSS color (Jarod Wilson) [1860496] - [net] mac80211: debugfs: improve airtime_flags handler readability (Jarod Wilson) [1860496] - [net] mac80211: Remove redundant assertion (Jarod Wilson) [1860496] - [net] mac80211: add 802.11 encapsulation offloading support (Jarod Wilson) [1860496] - [net] mac80211: Always show airtime debugfs file when TXQs are enabled (Jarod Wilson) [1860496] - [include] trivial: mac80211: fix indentation (Jarod Wilson) [1860496]- [fs] xfs: force writes to delalloc regions to unwritten (Carlos Maiolino) [1696580] - [fs] xfs: refactor xfs_iomap_prealloc_size (Carlos Maiolino) [1696580] - [fs] xfs: measure all contiguous previous extents for prealloc size (Carlos Maiolino) [1696580] - [fs] xfs: don't fail unwritten extent conversion on writeback due to edquot (Carlos Maiolino) [1696580] - [trace] SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Dave Wysochanski) [1906309] - [trace] Revert "SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow()" (Dave Wysochanski) [1906309] - [uapi] uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT (Eric Sandeen) [1905205] - [trace] SUNRPC: Fix oops in the rpc_xdr_buf event class (Scott Mayhew) [1900157] - [fs] NFS: Fix listxattr receive buffer size (Scott Mayhew) [1900157] - [trace] SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow() (Scott Mayhew) [1900157] - [net] SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() (Scott Mayhew) [1900157] - [net] svcrdma: fix bounce buffers for unaligned offsets and multiple pages (Scott Mayhew) [1900157] - [pci] hv: Document missing hv_pci_protocol_negotiation() parameter (Mohammed Gamal) [1886102] - [pci] hv: Make some functions static (Mohammed Gamal) [1886102] - [pci] hv: Use struct_size() helper (Mohammed Gamal) [1886102] - [pci] hv: Prepare hv_compose_msi_msg() for the VMBus-channel-interrupt-to-vCPU reassignment functionality (Mohammed Gamal) [1886102] - [fs] xfs: allow individual quota grace period extension (Bill O'Donnell) [1827913] - [fs] xfs: per-type quota timers and warn limits (Bill O'Donnell) [1827913] - [fs] xfs: switch xfs_get_defquota to take explicit type (Bill O'Donnell) [1827913] - [fs] xfs: pass xfs_dquot to xfs_qm_adjust_dqtimers (Bill O'Donnell) [1827913] - [fs] xfs: fix up some whitespace in quota code (Bill O'Donnell) [1827913] - [fs] xfs: preserve default grace interval during quotacheck (Bill O'Donnell) [1827913] - [fs] quota: honor quota type in Q_XGETQSTATcalls (Bill O'Donnell) [1827913]- [fs] NFS: Do uncached readdir when we're seeking a cookie in an empty page cache (Dave Wysochanski) [1893882] - [fs] NFS: Reduce number of RPC calls when doing uncached readdir (Dave Wysochanski) [1893882] - [fs] NFS: Optimisations for monotonically increasing readdir cookies (Dave Wysochanski) [1893882] - [fs] NFS: Improve handling of directory verifiers (Dave Wysochanski) [1893882] - [fs] NFS: Handle NFS4ERR_NOT_SAME and NFSERR_BADCOOKIE from readdir calls (Dave Wysochanski) [1893882] - [fs] NFS: Allow the NFS generic code to pass in a verifier to readdir (Dave Wysochanski) [1893882] - [fs] NFS: Cleanup to remove nfs_readdir_descriptor_t typedef (Dave Wysochanski) [1893882] - [fs] NFS: Reduce readdir stack usage (Dave Wysochanski) [1893882] - [fs] NFS: nfs_do_filldir() does not return a value (Dave Wysochanski) [1893882] - [fs] NFS: More readdir cleanups (Dave Wysochanski) [1893882] - [fs] NFS: Support larger readdir buffers (Dave Wysochanski) [1893882] - [fs] NFS: Simplify struct nfs_cache_array_entry (Dave Wysochanski) [1893882] - [fs] NFS: Replace kmap() with kmap_atomic() in nfs_readdir_search_array() (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array() (Dave Wysochanski) [1893882] - [fs] NFS: Don't discard readdir results (Dave Wysochanski) [1893882] - [fs] NFS: Clean up directory array handling (Dave Wysochanski) [1893882] - [fs] NFS: Clean up nfs_readdir_page_filler() (Dave Wysochanski) [1893882] - [fs] NFS: Clean up readdir struct nfs_cache_array (Dave Wysochanski) [1893882] - [fs] NFS: Ensure contents of struct nfs_open_dir_context are consistent (Dave Wysochanski) [1893882] - [fs] NFSv4.2: condition READDIR's mask for security label based on LSM state (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary inode lock in nfs_fsync_dir() (Dave Wysochanski) [1893882] - [fs] NFS: Remove unnecessary inode locking in nfs_llseek_dir() (Dave Wysochanski) [1893882] - [netdrv] net: intel: Remove in_interrupt() warnings (Ken Cox) [1838732] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838732] - [netdrv] ixgbevf: use generic power management (Ken Cox) [1838732] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838732] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838732] - [iommu] vt-d: Don't dereference iommu_device if IOMMU_API is not built (Vitaly Kuznetsov) [1887216] - [iommu] vt-d: Gracefully handle DMAR units with no supported address widths (Vitaly Kuznetsov) [1887216] - [iommu] vt-d: Skip TE disabling on quirky gfx dedicated iommu (Vitaly Kuznetsov) [1887216] - [netdrv] Revert "mark the intel igc driver as tech preview" (Corinna Vinschen) [1838742] - [netdrv] net: intel: Remove in_interrupt() warnings (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up nvm_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Reject schedules with a base_time in the future (Corinna Vinschen) [1838742] - [netdrv] igc: Export a way to read the PTP timer (Corinna Vinschen) [1838742] - [netdrv] igc: Remove reset disable flag (Corinna Vinschen) [1838742] - [netdrv] igc: Save PTP time before a reset (Corinna Vinschen) [1838742] - [netdrv] igc: Remove references to SYSTIMR register (Corinna Vinschen) [1838742] - [netdrv] igc: Expose LPI counters (Corinna Vinschen) [1838742] - [netdrv] igc: Clean RX descriptor error flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove timeout check from ptp_tx work (Corinna Vinschen) [1838742] - [netdrv] igc: Don't reschedule ptp_tx work (Corinna Vinschen) [1838742] - [netdrv] igc: Rename IGC_TSYNCTXCTL_VALID macro (Corinna Vinschen) [1838742] - [netdrv] igc: Add new device ID's (Corinna Vinschen) [1838742] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838742] - [netdrv] igc: Fix not considering the TX delay for timestamps (Corinna Vinschen) [1838742] - [netdrv] igc: Fix wrong timestamp latency numbers (Corinna Vinschen) [1838742] - [netdrv] igc: Fix PTP initialization (Corinna Vinschen) [1838742] - [netdrv] igc: Fix static checker warning (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up the hw_stats structure (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up the mac_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Remove ledctl_ fields from the mac_info structure (Corinna Vinschen) [1838742] - [netdrv] igc: Fix registers definition (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded ICTXQMTC register (Corinna Vinschen) [1838742] - [netdrv] igc: Add Receive Descriptor Minimum Threshold Count to clear HW counters (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded variable (Corinna Vinschen) [1838742] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838742] - [netdrv] igc: Remove checking media type during MAC initialization (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded check for copper media type (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor the igc_power_down_link() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove TCP segmentation TX fail counter (Corinna Vinschen) [1838742] - [netdrv] igc: Add LPI counters (Corinna Vinschen) [1838742] - [netdrv] igc: Fix Rx timestamp disabling (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ptp_set_timestamp_mode() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove UDP filter setup in PTP code (Corinna Vinschen) [1838742] - [netdrv] igc: Check __IGC_PTP_TX_IN_PROGRESS instead of ptp_tx_skb (Corinna Vinschen) [1838742] - [netdrv] igc: Remove duplicate code in Tx timestamp handling (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up Rx timestamping logic (Corinna Vinschen) [1838742] - [netdrv] igc: Add initial LTR support (Corinna Vinschen) [1838742] - [netdrv] igc: Add initial EEE support (Corinna Vinschen) [1838742] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838742] - [netdrv] igc: Fix wrong register name (Corinna Vinschen) [1838742] - [netdrv] igc: Remove Sequence Error Counter (Corinna Vinschen) [1838742] - [netdrv] igc: Add Receive Error Counter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove symbol error counter (Corinna Vinschen) [1838742] - [netdrv] igc: Fix IGC_MAX_RXNFC_RULES (Corinna Vinschen) [1838742] - [netdrv] igc: Reject NFC rules with multiple matches (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused descriptor's flags (Corinna Vinschen) [1838742] - [netdrv] igc: Remove igc_nfc_rule_exit() (Corinna Vinschen) [1838742] - [netdrv] igc: Change adapter->nfc_rule_lock to mutex (Corinna Vinschen) [1838742] - [netdrv] igc: Change return type from igc_disable_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rule validation (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules leak when driver is unloaded (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ethtool_update_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules restoration (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rules with multicast addresses (Corinna Vinschen) [1838742] - [netdrv] igc: Fix NFC rule overwrite cases (Corinna Vinschen) [1838742] - [netdrv] igc: Fix locking issue when retrieving NFC rules (Corinna Vinschen) [1838742] - [netdrv] igc: Fix 'sw_idx' type in struct igc_nfc_rule (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor igc_ethtool_add_nfc_rule() (Corinna Vinschen) [1838742] - [netdrv] igc: Change byte order in struct igc_nfc_filter (Corinna Vinschen) [1838742] - [netdrv] igc: Align terms used in NFC support code (Corinna Vinschen) [1838742] - [netdrv] igc: Add 'igc_ethtool_' prefix to functions in igc_ethtool.c (Corinna Vinschen) [1838742] - [netdrv] igc: Early return in igc_get_ethtool_nfc_entry() (Corinna Vinschen) [1838742] - [netdrv] igc: Cleanup _get|set_rxnfc ethtool ops (Corinna Vinschen) [1838742] - [netdrv] igc: Get rid of igc_max_channels() (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused field from igc_nfc_filter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove per queue good transmited counter register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove header redirection register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove obsolete circuit breaker registers (Corinna Vinschen) [1838742] - [netdrv] igc: Enable NFC rules based source MAC address (Corinna Vinschen) [1838742] - [netdrv] igc: Add support for source address filters in core (Corinna Vinschen) [1838742] - [netdrv] igc: Remove mac_table from igc_adapter (Corinna Vinschen) [1838742] - [netdrv] igc: Remove IGC_MAC_STATE_SRC_ADDR flag (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused registers (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unused IGC_ICS_DRSTA define (Corinna Vinschen) [1838742] - [netdrv] igc: Dump ETQF registers (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor ethertype filtering code (Corinna Vinschen) [1838742] - [netdrv] igc: Fix MAX_ETYPE_FILTER value (Corinna Vinschen) [1838742] - [netdrv] igc: Remove ethertype filter in PTP code (Corinna Vinschen) [1838742] - [netdrv] igc: Remove duplicated IGC_RXPBS macro (Corinna Vinschen) [1838742] - [netdrv] igc: Refactor VLAN priority filtering code (Corinna Vinschen) [1838742] - [netdrv] igc: Return -EOPNOTSUPP when VLAN mask doesn't match (Corinna Vinschen) [1838742] - [netdrv] igc: Dump VLANPQF register (Corinna Vinschen) [1838742] - [netdrv] igc: Rename IGC_VLAPQF macro (Corinna Vinschen) [1838742] - [netdrv] igc: Clean up obsolete NVM defines (Corinna Vinschen) [1838742] - [netdrv] igc: remove IGC_REMOVED function (Corinna Vinschen) [1838742] - [netdrv] igc: Remove PCIe Control register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded register (Corinna Vinschen) [1838742] - [netdrv] igc: Remove unneeded definition (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_base.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_dump.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_ptp.c (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_ethtool.c (Corinna Vinschen) [1838742] - [netdrv] igc: add support to eeprom, registers and link self-tests (Corinna Vinschen) [1838742] - [netdrv] igc: Use netdev log helpers in igc_main.c (Corinna Vinschen) [1838742] - [netdrv] igc: Add ECN support for TSO (Corinna Vinschen) [1838742] - [netdrv] ionic: fix mem leak in rx_empty (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: no rx flush in deinit (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: clean up sparse complaints (Jonathan Toppins) [1892492 1887516] - [netdrv] ionic: add new bad firmware error code (Jonathan Toppins) [1887516] - [netdrv] ionic: use lif ident for filter count (Jonathan Toppins) [1887516] - [netdrv] ionic: refill lif identity after fw_up (Jonathan Toppins) [1887516] - [netdrv] ionic: disable all queue napi contexts on timeout (Jonathan Toppins) [1887516] - [netdrv] ionic: check qcq ptr in ionic_qcq_disable (Jonathan Toppins) [1887516] - [netdrv] ionic: clear linkcheck bit on alloc fail (Jonathan Toppins) [1887516] - [netdrv] ionic: drain the work queue (Jonathan Toppins) [1887516] - [netdrv] ionic: contiguous memory for notifyq (Jonathan Toppins) [1887516] - [netdrv] ionic: prevent early watchdog check (Jonathan Toppins) [1887516] - [netdrv] ionic: stop watchdog timer earlier on remove (Jonathan Toppins) [1887516 1887263] - [netdrv] net: ionic: Remove WARN_ON(in_interrupt()) (Jonathan Toppins) [1887516] - [netdrv] net: ionic: Replace in_interrupt() usage (Jonathan Toppins) [1887516] - [netdrv] ionic: add DIMLIB to Kconfig (Jonathan Toppins) [1861520] - [netdrv] ionic: add devlink firmware update (Jonathan Toppins) [1861520] - [netdrv] ionic: update the fw update api (Jonathan Toppins) [1861520] - [netdrv] ionic: dynamic interrupt moderation (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up debugfs after queue swap (Jonathan Toppins) [1861520] - [netdrv] ionic: clarify boolean precedence (Jonathan Toppins) [1861520] - [netdrv] ionic: remove unused variable (Jonathan Toppins) [1861520] - [netdrv] ionic: clean adminq service routine (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up desc_info and cq_info structs (Jonathan Toppins) [1861520] - [netdrv] ionic: struct reorder for faster access (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up page handling code (Jonathan Toppins) [1861520] - [netdrv] ionic: fix txrx work accounting (Jonathan Toppins) [1861520] - [netdrv] ionic: pull reset_queues into tx_timeout handler (Jonathan Toppins) [1861520] - [netdrv] ionic: change queue count with no reset (Jonathan Toppins) [1861520] - [netdrv] ionic: change the descriptor ring length without full reset (Jonathan Toppins) [1861520] - [netdrv] ionic: change mtu without full queue rebuild (Jonathan Toppins) [1861520] - [netdrv] ionic: use index not pointer for queue tracking (Jonathan Toppins) [1861520] - [netdrv] ionic: reduce contiguous memory allocation requirement (Jonathan Toppins) [1861520] - [netdrv] ionic: clean up unnecessary non-static functions (Jonathan Toppins) [1861520] - [netdrv] ionic: rework and simplify handling of the queue stats block (Jonathan Toppins) [1861520] - [netdrv] ionic: remove lif list concept (Jonathan Toppins) [1861520] - [netdrv] ionic: use kcalloc for new arrays (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up a couple of debug strings (Jonathan Toppins) [1861520] - [netdrv] ionic: set MTU floor at ETH_MIN_MTU (Jonathan Toppins) [1861520] - [netdrv] ionic_lif: Use devm_kcalloc() in ionic_qcq_alloc() (Jonathan Toppins) [1861520] - [netdrv] ionic: separate interrupt for Tx and Rx (Jonathan Toppins) [1861520] - [netdrv] ionic: tx separate servicing (Jonathan Toppins) [1861520] - [netdrv] ionic: use fewer firmware doorbells on rx fill (Jonathan Toppins) [1861520] - [netdrv] ionic: fix memory leak of object 'lid' (Jonathan Toppins) [1861520] - [netdrv] ionic: interface file updates (Jonathan Toppins) [1861520] - [netdrv] ionic: rearrange reset and bus-master control (Jonathan Toppins) [1861520] - [netdrv] ionic: update eid test for overflow (Jonathan Toppins) [1861520] - [netdrv] ionic: remove unused ionic_coal_hw_to_usec (Jonathan Toppins) [1861520] - [netdrv] ionic: set netdev default name (Jonathan Toppins) [1861520] - [netdrv] ionic: get MTU from lif identity (Jonathan Toppins) [1861520] - [netdrv] ionic: keep rss hash after fw update (Jonathan Toppins) [1861520] - [netdrv] ionic: update filter id after replay (Jonathan Toppins) [1861520] - [netdrv] ionic: fix up filter locks and debug msgs (Jonathan Toppins) [1861520] - [netdrv] ionic: use offset for ethtool regs data (Jonathan Toppins) [1861520] - [md] md/raid5: Allow degraded raid6 to do rmw (Nigel Croxon) [1856838] - [md] md/raid5: Fix Force reconstruct-write io stuck in degraded raid5 (Nigel Croxon) [1856838] - [md] raid5: don't duplicate code for different paths in handle_stripe (Nigel Croxon) [1856838] - [md] raid5-cache: hold spinlock instead of mutex in r5c_journal_mode_show (Nigel Croxon) [1856838] - [md] md: print errno in super_written (Nigel Croxon) [1856838] - [md] md/raid5: remove the redundant setting of STRIPE_HANDLE (Nigel Croxon) [1856838] - [md] md: register new md sysfs file 'uuid' read-only (Nigel Croxon) [1856838] - [md] md: fix max sectors calculation for super 1.0 (Nigel Croxon) [1856838] - [md] md/raid5: use do_div() for 64 bit divisions in raid5_sync_request (Nigel Croxon) [1856838] - [md] md/raid10: avoid deadlock on recovery (Nigel Croxon) [1856838] - [md] md-cluster: fix rmmod issue when md_cluster convert bitmap to none (Nigel Croxon) [1856838] - [md] md-cluster: fix safemode_delay value when converting to clustered bitmap (Nigel Croxon) [1856838] - [md] md/raid5: support config stripe_size by sysfs entry (Nigel Croxon) [1856838] - [md] md/raid5: set default stripe_size as 4096 (Nigel Croxon) [1856838] - [md] md/raid456: convert macro STRIPE_* to RAID5_STRIPE_* (Nigel Croxon) [1856838] - [md] raid5: remove the meaningless check in raid5_make_request (Nigel Croxon) [1856838] - [md] raid5: put the comment of clear_batch_ready to the right place (Nigel Croxon) [1856838] - [md] raid5: call clear_batch_ready before set STRIPE_ACTIVE (Nigel Croxon) [1856838] - [md] md: raid10: Fix compilation warning (Nigel Croxon) [1856838] - [md] md: raid5: Fix compilation warning (Nigel Croxon) [1856838] - [md] md: raid5-cache: Remove set but unused variable (Nigel Croxon) [1856838] - [md] md: Fix compilation warning (Nigel Croxon) [1856838] - [md] md-cluster: fix wild pointer of unlock_all_bitmaps() (Nigel Croxon) [1856838] - [md] md/raid5-cache: clear MD_SB_CHANGE_PENDING before flushing stripes (Nigel Croxon) [1856838] - [md] md: fix deadlock causing by sysfs_notify (Nigel Croxon) [1856838] - [md] md: raid0/linear: fix dereference before null check on pointer mddev (Nigel Croxon) [1856838] - [md] md/raid1: Replace zero-length array with flexible-array (Nigel Croxon) [1856838] - [md] md: add a newline when printing parameter 'start_ro' by sysfs (Nigel Croxon) [1856838] - [md] md: stop using ->queuedata (Nigel Croxon) [1856838] - [md] md/raid1: release pending accounting for an I/O only after write-behind is also finished (Nigel Croxon) [1856838] - [md] md: remove redundant memalloc scope API usage (Nigel Croxon) [1856838] - [md] raid5: update code comment of scribble_alloc() (Nigel Croxon) [1856838] - [md] raid5: remove gfp flags from scribble_alloc() (Nigel Croxon) [1856838] - [md] md: use memalloc scope APIs in mddev_suspend()/mddev_resume() (Nigel Croxon) [1856838] - [md] md: remove the extra line for ->hot_add_disk (Nigel Croxon) [1856838] - [md] md: flush md_rdev_misc_wq for HOT_ADD_DISK case (Nigel Croxon) [1856838] - [md] md: don't flush workqueue unconditionally in md_open (Nigel Croxon) [1856838] - [md] md: add new workqueue for delete rdev (Nigel Croxon) [1856838] - [md] md: add checkings before flush md_misc_wq (Nigel Croxon) [1856838] - [md] md: check arrays is suspended in mddev_detach before call quiesce operations (Nigel Croxon) [1856838]- [scsi] storvsc: Fix error return in storvsc_probe() (Cathy Avery) [1895026] - [scsi] storvsc: Support PAGE_SIZE larger than 4K (Cathy Avery) [1895026] - [kernel] hv: hyperv.h: Introduce some hvpfn helper functions (Cathy Avery) [1895026] - [scsi] storvsc: Add validation for untrusted Hyper-V values (Cathy Avery) [1895026] - [scsi] storvsc: Fix spelling mistake (Cathy Avery) [1895026] - [scsi] storvsc: Remove memset before memory freeing in storvsc_suspend() (Cathy Avery) [1895026] - [net] tipc: fix incorrect setting window for bcast link (Xin Long) [1893085] - [net] tipc: re-configure queue limit for broadcast link (Xin Long) [1893085] - [net] tipc: fix NULL pointer dereference in tipc_named_rcv (Xin Long) [1893085] - [net] tipc: Supply missing udp_media.h include file (Xin Long) [1893085] - [net] tipc: add automatic rekeying for encryption key (Xin Long) [1893085] - [net] tipc: add automatic session key exchange (Xin Long) [1893085] - [net] tipc: introduce encryption master key (Xin Long) [1893085] - [net] tipc: optimize key switching time and logic (Xin Long) [1893085] - [net] tipc: Fix memory leak in tipc_group_create_member() (Xin Long) [1893085] - [net] tipc: fix shutdown() of connection oriented socket (Xin Long) [1893085] - [net] tipc: fix a deadlock when flushing scheduled work (Xin Long) [1893085] - [net] tipc: fix shutdown() of connectionless socket (Xin Long) [1893085] - [net] tipc: fix using smp_processor_id() in preemptible (Xin Long) [1893085] - [net] tipc: fix use-after-free in tipc_bcast_get_mode (Xin Long) [1893085] - [net] tipc: call rcu_read_lock() in tipc_aead_encrypt_done() (Xin Long) [1893085] - [net] tipc: fix uninit skb->data in tipc_nl_compat_dumpit() (Xin Long) [1893085] - [net] tipc: update a binding service via broadcast (Xin Long) [1893085] - [hv] hv_balloon: do adjust_managed_page_count() when ballooning/un-ballooning (Vitaly Kuznetsov) [1894717] - [hv] hv_balloon: simplify math in alloc_balloon_pages() (Vitaly Kuznetsov) [1894717] - [md] dm integrity: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [md] dm crypt: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [crypto] crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [include] crypto: algapi - introduce the flag CRYPTO_ALG_ALLOCATES_MEMORY (Vladis Dronov) [1903849] - [fs] iomap: Set all uptodate bits for an Uptodate page (Brian Foster) [1654127] - [scsi] scsi: ibmvfc: Avoid link down on FS9100 canister reboot (Desnes Augusto Nunes do Rosario) [1882613] - [scsi] scsi: ibmvfc: Use compiler attribute defines instead of __attribute__() (Desnes Augusto Nunes do Rosario) [1882613] - [arm64] arm64: Enable PCI write-combine resources under sysfs (Petr Oros) [1872943] - [scsi] scsi: mpt3sas: Bump driver version to 35.101.00.00 (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Add module parameter multipath_on_hba (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Handle vSES vphy object during HBA reset (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Add bypass_dirty_port_flag parameter (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Handling HBA vSES device (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Update hba_port objects after host reset (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Get sas_device objects using device's rphy (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port() (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Get device objects using sas_address & portID (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Update hba_port's sas_address & phy_mask (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device() (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Allocate memory for hba_port objects (Tomas Henzl) [1888543] - [scsi] scsi: mpt3sas: Define hba_port structure (Tomas Henzl) [1888543]- [netdrv] net: phy: realtek: Modify 2.5G PHY name to RTL8226 (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: enable ALDPS to save power for RTL8211F (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: fix rtl8211e rx/tx delay config (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: add support for RTL8125B-internal PHY (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: add delay to resume path of certain internal PHY's (Josef Oskera) [1889854] - [netdrv] net: phy: realtek: read actual speed to detect downshift (Josef Oskera) [1889854] - [netdrv] r8169: fix issue with forced threading in combination with shared interrupts (Josef Oskera) [1889854] - [netdrv] r8169: fix operation under forced interrupt threading (Josef Oskera) [1889854] - [netdrv] r8169: factor out handling rtl8169_stats (Josef Oskera) [1889854] - [netdrv] r8169: consider that PHY reset may still be in progress after applying firmware (Josef Oskera) [1889854] - [netdrv] r8169: fix data corruption issue on RTL8402 (Josef Oskera) [1889854] - [netdrv] r8169: fix handling ether_clk (Josef Oskera) [1889854] - [netdrv] r8169: fix RTL8168f/RTL8411 EPHY config (Josef Oskera) [1889854] - [netdrv] r8169: remove member irq_enabled from struct rtl8169_private (Josef Oskera) [1889854] - [netdrv] r8169: use napi_complete_done return value (Josef Oskera) [1889854] - [netdrv] r8169: allow to enable ASPM on RTL8125A (Josef Oskera) [1889854] - [netdrv] r8169: add support for RTL8125B (Josef Oskera) [1889854] - [netdrv] r8169: sync support for RTL8401 with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: merge handling of RTL8101e and RTL8100e (Josef Oskera) [1889854] - [netdrv] r8169: rename RTL8125 to RTL8125A (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_runtime_resume (Josef Oskera) [1889854] - [netdrv] r8169: remove driver-specific mutex (Josef Oskera) [1889854] - [netdrv] r8169: use RTNL to protect critical sections (Josef Oskera) [1889854] - [netdrv] r8169: add rtl8169_up (Josef Oskera) [1889854] - [netdrv] r8169: remove no longer needed checks for device being runtime-active (Josef Oskera) [1889854] - [netdrv] r8169: mark device as not present when in PCI D3 (Josef Oskera) [1889854] - [netdrv] r8169: allow setting irq coalescing if link is down (Josef Oskera) [1889854] - [netdrv] r8169: move switching optional clock on/off to pll power functions (Josef Oskera) [1889854] - [netdrv] r8169: move updating counters to rtl8169_down (Josef Oskera) [1889854] - [netdrv] r8169: move napi_disable call and rename rtl8169_hw_reset (Josef Oskera) [1889854] - [netdrv] r8169: replace synchronize_rcu with synchronize_net (Josef Oskera) [1889854] - [netdrv] r8169: improve setting WoL on runtime-resume (Josef Oskera) [1889854] - [netdrv] r8169: remove unused constant RsvdMask (Josef Oskera) [1889854] - [netdrv] r8169: add info for DASH being enabled (Josef Oskera) [1889854] - [netdrv] r8169: fix failing WoL (Josef Oskera) [1889854] - [netdrv] r8169: improve handling power management ops (Josef Oskera) [1889854] - [netdrv] r8169: make rtl8169_down central chip quiesce function (Josef Oskera) [1889854] - [netdrv] r8169: move some calls to rtl8169_hw_reset (Josef Oskera) [1889854] - [netdrv] r8169: don't reset tx ring indexes in rtl8169_tx_clear (Josef Oskera) [1889854] - [netdrv] r8169: enable WAKE_PHY as only WoL source when runtime-suspending (Josef Oskera) [1889854] - [netdrv] r8169: change driver data type (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_remove_one (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168f/RTL8411 hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168evl hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168h hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: sync RTL8168g hw config with vendor driver (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from r8168ep_ocp_read (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from r8168dp_ocp_read (Josef Oskera) [1889854] - [netdrv] r8169: remove mask argument from rtl_w0w1_eri (Josef Oskera) [1889854] - [netdrv] r8169: work around an irq coalescing related tx timeout (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_mark_to_asic (Josef Oskera) [1889854] - [netdrv] r8169: make rtl_rx better readable (Josef Oskera) [1889854] - [netdrv] r8169: remove remaining call to mdiobus_unregister (Josef Oskera) [1889854] - [netdrv] r8169: don't include linux/moduleparam.h (Josef Oskera) [1889854] - [netdrv] r8169: remove not needed checks in rtl8169_set_eee (Josef Oskera) [1889854] - [netdrv] r8169: improve reset handling for chips from RTL8168g (Josef Oskera) [1889854] - [netdrv] r8169: add helper rtl_wait_txrx_fifo_empty (Josef Oskera) [1889854] - [netdrv] r8169: add helper rtl_enable_rxdvgate (Josef Oskera) [1889854] - [netdrv] r8169: add helper r8168g_wait_ll_share_fifo_ready (Josef Oskera) [1889854] - [netdrv] r8169: use fsleep in polling functions (Josef Oskera) [1889854] - [netdrv] r8169: use new helper eth_hw_addr_crc (Josef Oskera) [1889854] - [netdrv] r8169: switch from netif_xxx message functions to netdev_xxx (Josef Oskera) [1889854] - [netdrv] r8169: remove "out of memory" error message from rtl_request_firmware (Josef Oskera) [1889854] - [netdrv] r8169: simplify counter handling (Josef Oskera) [1889854] - [netdrv] r8169: remove redundant driver message when entering promiscuous mode (Josef Oskera) [1889854] - [netdrv] r8169: remove not needed parameter in rtl8169_set_magic_reg (Josef Oskera) [1889854] - [netdrv] r8169: configure PME_SIGNAL for RTL8125 too (Josef Oskera) [1889854] - [netdrv] r8169: improve max jumbo packet size definition (Josef Oskera) [1889854] - [netdrv] r8169: add check for invalid parameter combination in rtl_set_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_set_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: improve interrupt coalescing parameter handling (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_coalesce_choose_scale (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl_get_coalesce (Josef Oskera) [1889854] - [netdrv] r8169: merge scale for tx and rx irq coalescing (Josef Oskera) [1889854] - [netdrv] r8169: don't pass net_device to irq coalescing sub-functions (Josef Oskera) [1889854] - [netdrv] r8169: improve error message if no dedicated PHY driver is found (Josef Oskera) [1889854] - [netdrv] r8169: improve configuring RxConfig register (Josef Oskera) [1889854] - [netdrv] r8169: improve handling CPCMD_MASK (Josef Oskera) [1889854] - [netdrv] r8169: use devm_mdiobus_register (Josef Oskera) [1889854] - [netdrv] r8169: change wmb to smb_wmb in rtl8169_start_xmit (Josef Oskera) [1889854] - [netdrv] r8169: inline rtl8169_make_unusable_by_asic (Josef Oskera) [1889854] - [netdrv] r8169: inline rtl8169_mark_as_last_descriptor (Josef Oskera) [1889854] - [netdrv] r8169: remove PHY resume delay that is handled in the PHY driver now (Josef Oskera) [1889854] - [netdrv] r8169: add workaround for RTL8168evl TSO hw issues (Josef Oskera) [1889854] - [netdrv] r8169: improve rtl8169_tso_csum_v2 (Josef Oskera) [1889854] - [netdrv] r8169: use rtl8169_set_features in rtl8169_init_one (Josef Oskera) [1889854] - [netdrv] r8169: preserve VLAN setting on RTL8125 in rtl_init_rxcfg (Josef Oskera) [1889854] - [netdrv] r8169: remove NETIF_F_HIGHDMA from vlan_features (Josef Oskera) [1889854] - [netdrv] r8169: move setting OCP base to generic init code (Josef Oskera) [1889854] - [s390] sclp: provide extended sccb support (Thomas Huth) [1798484] - [s390] sclp: avoid copy of sclp_info_sccb (Thomas Huth) [1798484] - [s390] sclp: use memblock for early read cpu info (Thomas Huth) [1798484] - [include] ptp: add stub function for ptp_get_msgtype() (Ivan Vecera) [1899217] - [include] ptp: Add generic ptp message type function (Ivan Vecera) [1899217] - [net] ptp: Add generic ptp v2 header parsing function (Ivan Vecera) [1899217] - [video] hyperv_fb: Fix the cache type when mapping the VRAM (Mohammed Gamal) [1886106] - [video] hyperv_fb: include vmalloc.h (Mohammed Gamal) [1886106] - [video] hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs (Mohammed Gamal) [1886106] - [video] hyperv_fb: Fix hibernation for the deferred IO feature (Mohammed Gamal) [1886106] - [video] hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver (Mohammed Gamal) [1886106] - [uio] uio_hv_generic: add missed sysfs_remove_bin_file (Mohammed Gamal) [1886106] - [input] hyperv-keyboard: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886106] - [hid] hyperv: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886106] - [netdrv] hv_netvsc: Add validation for untrusted Hyper-V values (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit() (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Remove "unlikely" from netvsc_select_queue (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: do not use VF device if link is down (Mohammed Gamal) [1886097] - [netdrv] hyperv: dump TX indirection table to ethtool regs (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: add support for vlans in AF_PACKET mode (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Fix netvsc_start_xmit's return type (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: Remove unnecessary round_up for recv_completion_cnt (Mohammed Gamal) [1886097] - [netdrv] hv_netvsc: use new helper tcp_v6_gso_csum_prep (Mohammed Gamal) [1886097] - [tools] kvm_stat: add sample systemd unit file (Thomas Huth) [1851123] - [tools] kvm_stat: Add command line switch '-L' to log to file (Thomas Huth) [1851123] - [tools] kvm_stat: add command line switch '-z' to skip zero records (Thomas Huth) [1851123] - [mm] mm/gup: Mark lock taken only after a successful retake (Chris von Recklinghausen) [1885412] - [mm] mm/filemap.c: fix a data race in filemap_fault() (Chris von Recklinghausen) [1885412] - [mm] mm: fix kthread_use_mm() vs TLB invalidate (Chris von Recklinghausen) [1885412] - [fs] kernel: set USER_DS in kthread_use_mm (Chris von Recklinghausen) [1885412] - [drm] kernel: better document the use_mm/unuse_mm API contract (Chris von Recklinghausen) [1885412] - [kernel] kernel: move use_mm/unuse_mm to kthread.c (Chris von Recklinghausen) [1885412] - [drm] drm/i915: convert get_user_pages() --> pin_user_pages() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: introduce pin_user_pages_fast_only() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: refactor and de-duplicate gup_fast() code (Chris von Recklinghausen) [1885412] - [mm] mm/gup: move __get_user_pages_fast() down a few lines in gup.c (Chris von Recklinghausen) [1885412] - [mm] gup: document and work around "COW can break either way" issue (Chris von Recklinghausen) [1885412] - [vfio] vfio: checking of validity of user vaddr in vfio_dma_rw (Chris von Recklinghausen) [1885412] - [fs] mm/userfaultfd: honor FAULT_FLAG_KILLABLE in fault path (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow to react to fatal signals (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow VM_FAULT_RETRY for multiple times (Chris von Recklinghausen) [1885412] - [mm] mm: allow VM_FAULT_RETRY for multiple times (Chris von Recklinghausen) [1885412] - [fs] mm: introduce FAULT_FLAG_INTERRUPTIBLE (Chris von Recklinghausen) [1885412] - [mm] mm: introduce FAULT_FLAG_DEFAULT (Chris von Recklinghausen) [1885412] - [fs] userfaultfd: don't retake mmap_sem to emulate NOPAGE (Chris von Recklinghausen) [1885412] - [include] mm: return faster for non-fatal signals in user mode faults (Chris von Recklinghausen) [1885412] - [mm] powerpc/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] arm64/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] x86/mm: use helper fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] mm: introduce fault_signal_pending() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: fix __get_user_pages() on fault retry of hugetlb (Chris von Recklinghausen) [1885412] - [mm] mm/gup: rename "nonblocking" to "locked" where proper (Chris von Recklinghausen) [1885412] - [mm] mm/gup: rename nr as nr_pinned in get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/gup: require FOLL_GET for get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/filemap.c: don't bother dropping mmap_sem for zero size readahead (Chris von Recklinghausen) [1885412] - [mm] mm/slb: export __kmalloc_track(_node)_caller (Chris von Recklinghausen) [1885412] - [mm] mm: Add vmf_insert_pfn_xxx_prot() for huge page-table entries (Chris von Recklinghausen) [1885412] - [vfio] vfio: introduce vfio_dma_rw to read/write a range of IOVAs (Chris von Recklinghausen) [1885412] - [infiniband] mm, tree-wide: rename put_user_page*() to unpin_user_page*() (Chris von Recklinghausen) [1885412] - [mm] mm/gup_benchmark: use proper FOLL_WRITE flags instead of hard-coding "1" (Chris von Recklinghausen) [1885412] - [mm] powerpc: book3s64: convert to pin_user_pages() and put_user_page() (Chris von Recklinghausen) [1885412] - [vfio] vfio, mm: pin_user_pages (FOLL_PIN) and put_user_page() conversion (Chris von Recklinghausen) [1885412] - [media] media/v4l2-core: pin_user_pages (FOLL_PIN) and put_user_page() conversion (Chris von Recklinghausen) [1885412] - [net] net/xdp: set FOLL_PIN via pin_user_pages() (Chris von Recklinghausen) [1885412] - [drm] drm/via: set FOLL_PIN via pin_user_pages_fast() (Chris von Recklinghausen) [1885412] - [mm] mm/process_vm_access: set FOLL_PIN via pin_user_pages_remote() (Chris von Recklinghausen) [1885412] - [infiniband] IB/{core, hw, umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP (Chris von Recklinghausen) [1885412] - [documentation] mm/gup: introduce pin_user_pages*() and FOLL_PIN (Chris von Recklinghausen) [1885412] - [media] media/v4l2-core: set pages dirty upon releasing DMA buffers (Chris von Recklinghausen) [1885412] - [mm] mm/gup: allow FOLL_FORCE for get_user_pages_fast() (Chris von Recklinghausen) [1885412] - [vfio] vfio: fix FOLL_LONGTERM use, simplify get_user_pages_remote() call (Chris von Recklinghausen) [1885412] - [mm] mm: fix get_user_pages_remote()'s handling of FOLL_LONGTERM (Chris von Recklinghausen) [1885412] - [mm] mm/gup: factor out duplicate code from four routines (Chris von Recklinghausen) [1885412] - [mm] mm: drop mmap_sem before calling balance_dirty_pages() in write fault (Chris von Recklinghausen) [1885412] - [vfio] vfio/type1: untag user pointers in vaddr_get_pfn (Chris von Recklinghausen) [1885412] - [mm] mm: untag user pointers in mm/gup.c (Chris von Recklinghausen) [1885412] - [drm] drivers/gpu/drm/via: convert put_page() to put_user_page*() (Chris von Recklinghausen) [1885412] - [fs] fs/io_uring.c: convert put_page() to put_user_page*() (Chris von Recklinghausen) [1885412] - [mm] mm: mark the page referenced in gup_hugepte (Chris von Recklinghausen) [1885412] - [mm] mm: switch gup_hugepte to use try_get_compound_head (Chris von Recklinghausen) [1885412] - [mm] mm: move the powerpc hugepd code to mm/gup.c (Chris von Recklinghausen) [1885412] - [mm] mm: validate get_user_pages_fast flags (Chris von Recklinghausen) [1885412] - [mm] mm: consolidate the get_user_pages* implementations (Chris von Recklinghausen) [1885412] - [mm] mm: reorder code blocks in gup.c (Chris von Recklinghausen) [1885412] - [mm] mm: rename CONFIG_HAVE_GENERIC_GUP to CONFIG_HAVE_FAST_GUP (Chris von Recklinghausen) [1885412] - [x86] mm: lift the x86_32 PAE version of gup_get_pte to common code (Chris von Recklinghausen) [1885412] - [s390] mm: simplify gup_fast_permitted (Chris von Recklinghausen) [1885412] - [mm] mm: use untagged_addr() for get_user_pages_fast addresses (Chris von Recklinghausen) [1885412] - [mm] powerpc/mm: make gup_hugepte() static (Chris von Recklinghausen) [1885412] - [mm] filemap: drop the mmap_sem for all blocking operations (Chris von Recklinghausen) [1885412] - [mm] filemap: kill page_cache_read usage in filemap_fault (Chris von Recklinghausen) [1885412] - [mm] filemap: pass vm_fault to the mmap ra helpers (Chris von Recklinghausen) [1885412] - [mm] docs/core-api/mm: fix return value descriptions in mm/ (Chris von Recklinghausen) [1885412] - [mm] docs/mm: vmalloc: re-indent kernel-doc comemnts (Chris von Recklinghausen) [1885412] - [drm] drm/via: mark expected switch fall-throughs (Chris von Recklinghausen) [1885412] - [mm] x86/mm: Break out kernel address space handling (Chris von Recklinghausen) [1885412] - [kernel] locking/rwsem: Remove reader optimistic spinning (Waiman Long) [1895046] - [kernel] locking/rwsem: Enable reader optimistic lock stealing (Waiman Long) [1895046] - [kernel] locking/rwsem: Prevent potential lock starvation (Waiman Long) [1895046] - [kernel] locking/rwsem: Pass the current atomic count to rwsem_down_read_slowpath() (Waiman Long) [1895046] - [kernel] locking/rwsem: Fold __down_{read,write}*() (Waiman Long) [1895046] - [kernel] locking/rwsem: Introduce rwsem_write_trylock() (Waiman Long) [1895046] - [kernel] locking/rwsem: Better collate rwsem_read_trylock() (Waiman Long) [1895046] - [kernel] rwsem: Implement down_read_interruptible (Waiman Long) [1895046] - [kernel] rwsem: Implement down_read_killable_nested (Waiman Long) [1895046] - [powerpc] powerpc/perf: Fix crash with is_sier_available when pmu is not set (Steve Best) [1904225] - [powerpc] kvm: ppc: book3s hv: xive: Fix vCPU id sanity check (Greg Kurz) [1902709] - [net] ip6_gre: set dev->hard_header_len when using header_ops (Antoine Tenart) [1895789] - [fs] xfs: flush new eof page on truncate to avoid post-eof corruption (Brian Foster) [1878495] - [netdrv] bonding: set dev->needed_headroom in bond_setup_by_slave() (Antoine Tenart) [1903073] - [net] netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal (Antoine Tenart) [1901026] - [infiniband] RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz() (Kamal Heib) [1857605] - [infiniband] IB/hfi1: Fix error return code in hfi1_init_dd() (Kamal Heib) [1857605] - [infiniband] RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() (Kamal Heib) [1857605] - [infiniband] RDMA/cm: Make the local_id_table xarray non-irq (Kamal Heib) [1857605] - [infiniband] IB/srpt: Fix memory leak in srpt_add_one (Kamal Heib) [1857605] - [infiniband] RDMA/bnxt_re: Set queue pair state when being queried (Kamal Heib) [1894681 1857605] - [infiniband] RDMA/rxe: Handle skb_clone() failure in rxe_recv.c (Kamal Heib) [1857605] - [infiniband] RDMA/rxe: Fix bug rejecting all multicast packets (Kamal Heib) [1857605] - [infiniband] RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() (Kamal Heib) [1857605] - [infiniband] IB/rdmavt: Fix sizeof mismatch (Kamal Heib) [1857605] - [infiniband] RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces (Kamal Heib) [1883480 1883478 1857605] - [infiniband] RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() (Kamal Heib) [1857605] - [rdma] RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() (Kamal Heib) [1857605] - [x86] kretprobe: Prevent triggering kretprobe from within kprobe_flush_task (Jerome Marchand) [1821265] - [netdrv] net: intel: Remove in_interrupt() warnings (Jonathan Toppins) [1891101] - [netdrv] ice: fix adding IP4 IP6 Flow Director rules (Jonathan Toppins) [1891101] - [netdrv] ice: Fix pointer cast warnings (Jonathan Toppins) [1891101] - [netdrv] ice: refactor devlink_port to be per-VSI (Jonathan Toppins) [1891101] - [netdrv] ice: add the DDP Track ID to devlink info (Jonathan Toppins) [1891101] - [netdrv] ice: Change ice_info_get_dsn to be void (Jonathan Toppins) [1891101] - [netdrv] ice: remove repeated words (Jonathan Toppins) [1891101] - [netdrv] ice: devlink: use *phD to print small buffer (Jonathan Toppins) [1891101] - [netdrv] ice: preserve NVM capabilities in safe mode (Jonathan Toppins) [1891101] - [netdrv] ice: increase maximum wait time for flash write commands (Jonathan Toppins) [1891101] - [netdrv] ice: remove unused args from ice_get_open_tunnel_port() (Jonathan Toppins) [1891101] - [netdrv] ice: fix memory leak in ice_vsi_setup (Jonathan Toppins) [1891101] - [netdrv] ice: fix memory leak if register_netdev_fails (Jonathan Toppins) [1891101] - [netdrv] ice: Fix call trace on suspend (Jonathan Toppins) [1891101] - [netdrv] ice: simplify the return expression of ice_finalize_update() (Jonathan Toppins) [1891101] - [netdrv] ice: Misc minor fixes (Jonathan Toppins) [1838737] - [netdrv] ice: adjust profile ID map locks (Jonathan Toppins) [1838737] - [netdrv] ice: update PTYPE lookup table (Jonathan Toppins) [1838737] - [netdrv] ice: Graceful error handling in HW table calloc failure (Jonathan Toppins) [1838737] - [netdrv] ice: port fix for chk_linearlize (Jonathan Toppins) [1838737] - [netdrv] ice: Allow 2 queue pairs per VF on SR-IOV initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Clear and free XLT entries on reset (Jonathan Toppins) [1838737] - [netdrv] ice: add useful statistics (Jonathan Toppins) [1838737] - [netdrv] ice: remove page_reuse statistic (Jonathan Toppins) [1838737] - [netdrv] ice: Fix RSS profile locks (Jonathan Toppins) [1838737] - [netdrv] ice: fix the vsi_id mask to be 10 bit for set_rss_lut (Jonathan Toppins) [1838737] - [netdrv] ice: rename misleading grst_delay variable (Jonathan Toppins) [1838737] - [netdrv] ice: mark PM functions as __maybe_unused (Jonathan Toppins) [1838737] - [netdrv] ice: fix unused parameter warning (Jonathan Toppins) [1838737] - [netdrv] ice: disable no longer needed workaround for FW logging (Jonathan Toppins) [1838737] - [netdrv] ice: reduce scope of variable (Jonathan Toppins) [1838737] - [netdrv] ice: cleanup VSI on probe fail (Jonathan Toppins) [1838737] - [netdrv] ice: Allow all VLANs in safe mode (Jonathan Toppins) [1838737] - [netdrv] ice: need_wakeup flag might not be set for Tx (Jonathan Toppins) [1838737] - [netdrv] ice: distribute Tx queues evenly (Jonathan Toppins) [1838737] - [netdrv] ice: Adjust scheduler default BW weight (Jonathan Toppins) [1838737] - [netdrv] ice: Add RL profile bit mask check (Jonathan Toppins) [1838737] - [netdrv] ice: fix overwriting TX/RX descriptor values when rebuilding VSI (Jonathan Toppins) [1838737] - [netdrv] ice: return correct error code from ice_aq_sw_rules (Jonathan Toppins) [1838737] - [netdrv] ice: restore VF MSI-X state during PCI reset (Jonathan Toppins) [1838737] - [netdrv] ice: fix link event handling timing (Jonathan Toppins) [1838737] - [netdrv] ice: Fix link broken after GLOBR reset (Jonathan Toppins) [1838737] - [netdrv] ice: Implement LFC workaround (Jonathan Toppins) [1838737] - [netdrv] ice: implement device flash update via devlink (Jonathan Toppins) [1838737] - [netdrv] ice: add flags indicating pending update of firmware module (Jonathan Toppins) [1838737] - [netdrv] ice: Add AdminQ commands for FW update (Jonathan Toppins) [1838737] - [netdrv] ice: Add support for unified NVM update flow capability (Jonathan Toppins) [1838737] - [netdrv] ice: add 1G SGMII PHY type (Jonathan Toppins) [1838737] - [netdrv] ice: Report AOC PHY Types as Fiber (Jonathan Toppins) [1838737] - [netdrv] ice: add AQC get link topology handle support (Jonathan Toppins) [1838737] - [netdrv] ice: Rename low_power_ctrl (Jonathan Toppins) [1838737] - [netdrv] ice: update reporting of autoneg capabilities (Jonathan Toppins) [1838737] - [netdrv] ice: add ice_aq_get_phy_caps() debug logs (Jonathan Toppins) [1838737] - [netdrv] ice: support Total Port Shutdown on devices that support it (Jonathan Toppins) [1838737] - [netdrv] ice: add link lenient and default override support (Jonathan Toppins) [1838737] - [netdrv] ice: restore PHY settings on media insertion (Jonathan Toppins) [1838737] - [netdrv] ice: move auto FEC checks into ice_cfg_phy_fec() (Jonathan Toppins) [1838737] - [netdrv] ice: refactor FC functions (Jonathan Toppins) [1838737] - [netdrv] ice: Add advanced power mgmt for WoL (Jonathan Toppins) [1838737] - [netdrv] ice: split ice_discover_caps into two functions (Jonathan Toppins) [1838737] - [netdrv] ice: split ice_parse_caps into separate functions (Jonathan Toppins) [1838737] - [netdrv] ice: refactor ice_discover_caps to avoid need to retry (Jonathan Toppins) [1838737] - [netdrv] ice: replace single-element array used for C struct hack (Jonathan Toppins) [1838737] - [netdrv] ice: avoid unnecessary single-member variable-length structs (Jonathan Toppins) [1838737] - [netdrv] ice: implement snapshot for device capabilities (Jonathan Toppins) [1838737] - [netdrv] net/intel: remove driver versions from Intel drivers (Jonathan Toppins) [1838737] - [netdrv] ice: protect ring accesses with WRITE_ONCE (Jonathan Toppins) [1838737] - [netdrv] ice: Ignore EMODE when setting PHY config (Jonathan Toppins) [1838737] - [netdrv] ice: fix aRFS after flow director delete (Jonathan Toppins) [1838737] - [netdrv] ice: Use coalesce values from q_vector 0 when increasing q_vectors (Jonathan Toppins) [1838737] - [netdrv] ice: fix PCI device serial number to be lowercase values (Jonathan Toppins) [1838737] - [netdrv] ice: fix function signature style format (Jonathan Toppins) [1838737] - [netdrv] ice: Allow VF to request reset as soon as it's initialized (Jonathan Toppins) [1838737] - [netdrv] ice: Fix inability to set channels when down (Jonathan Toppins) [1838737] - [netdrv] ice: Always clear QRXFLXP_CNTXT before writing new value (Jonathan Toppins) [1838737] - [netdrv] ice: Reset VF for all port VLAN changes from host (Jonathan Toppins) [1838737] - [netdrv] ice: Update ICE_PHY_TYPE_HIGH_MAX_INDEX value (Jonathan Toppins) [1838737] - [netdrv] ice: Increase timeout after PFR (Jonathan Toppins) [1838737] - [netdrv] ice: Fix transmit for all software offloaded VLANs (Jonathan Toppins) [1838737] - [netdrv] ice: support adding 16 unicast/multicast filter on untrusted VF (Jonathan Toppins) [1838737] - [netdrv] ice: allow host to clear administratively set VF MAC (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor VF VSI release and setup functions (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor VF reset (Jonathan Toppins) [1838737] - [netdrv] ice: remove VM/VF disable command on CORER/GLOBR reset (Jonathan Toppins) [1838737] - [netdrv] ice: Add functions to rebuild host VLAN/MAC config for a VF (Jonathan Toppins) [1838737] - [netdrv] ice: Add function to set trust mode bit on reset (Jonathan Toppins) [1838737] - [netdrv] ice: Renaming and simplification in VF init path (Jonathan Toppins) [1838737] - [netdrv] ice: Separate VF VSI initialization/creation from reset flow (Jonathan Toppins) [1838737] - [netdrv] ice: Add helper function for clearing VPGEN_VFRTRIG (Jonathan Toppins) [1838737] - [netdrv] ice: Simplify ice_sriov_configure (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor ice_ena_vf_mappings to split MSIX and queue mappings (Jonathan Toppins) [1838737] - [netdrv] ice: Declare functions static (Jonathan Toppins) [1838737] - [netdrv] ice: fix kernel BUG if register_netdev fails (Jonathan Toppins) [1838737] - [netdrv] ice: fix potential double free in probe unrolling (Jonathan Toppins) [1838737] - [netdrv] ice: cleanup VSI context initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Poll for reset completion when DDP load fails (Jonathan Toppins) [1838737] - [netdrv] ice: Check UMEM FQ size when allocating bufs (Jonathan Toppins) [1838737] - [netdrv] ice: Refactor Rx checksum checks (Jonathan Toppins) [1838737] - [netdrv] ice: avoid undefined behavior (Jonathan Toppins) [1838737] - [netdrv] ice: Change number of XDP Tx queues to match number of Rx queues (Jonathan Toppins) [1838737] - [netdrv] ice: Add XDP Tx to VSI ring stats (Jonathan Toppins) [1838737] - [netdrv] ice: Change number of XDP TxQ to 0 when destroying rings (Jonathan Toppins) [1838737] - [netdrv] ice: Handle critical FW error during admin queue initialization (Jonathan Toppins) [1838737] - [netdrv] ice: Don't allow VLAN stripping change when pvid set (Jonathan Toppins) [1838737] - [netdrv] ice: Add more Rx errors to netdev's rx_error counter (Jonathan Toppins) [1838737] - [netdrv] ice: Fix for memory leaks and modify ICE_FREE_CQ_BUFS (Jonathan Toppins) [1838737] - [netdrv] ice: Fix memory leak (Jonathan Toppins) [1838737] - [netdrv] ice: fix MAC write command (Jonathan Toppins) [1838737] - [netdrv] ice: set VF default LAN address (Jonathan Toppins) [1838737] - [netdrv] ice: remove unused macro (Jonathan Toppins) [1838737] - [netdrv] ice: fix signed vs unsigned comparisons (Jonathan Toppins) [1838737] - [netdrv] ice: Fix error return code in ice_add_prof() (Jonathan Toppins) [1838737] - [netdrv] ice: replace "fallthrough" comments with fallthrough reserved word (Jonathan Toppins) [1838737]- [kernel] kernel/crash: reserve more memory for fadump (Pingfan Liu) [1891043] - [powerpc] pseries: Pass MSI affinity to irq_create_mapping() (Laurent Vivier) [1702939] - [kernel] genirq/irqdomain: Add an irq_create_mapping_affinity() function (Laurent Vivier) [1702939] - [powerpc] powerpc/perf: Use regs->nip when SIAR is zero (Steve Best) [1903731] - [powerpc] powerpc/perf: Use the address from SIAR register to set cpumode flags (Steve Best) [1903731] - [powerpc] powerpc/perf: Drop the check for SIAR_VALID (Steve Best) [1903731] - [powerpc] powerpc/perf: Add new power PMU flag "PPMU_P10_DD1" for power10 DD1 (Steve Best) [1903731] - [netdrv] net/mlx5e: fix bpf_prog reference count leaks in mlx5e_alloc_rq (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Initialize QP mutex for the debug kernels (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Allow providing extra scatter CQE QP flag (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Query PPS pin operational status before registering it (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix slab-out-of-bounds in mlx5e_rep_is_lag_netdev (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Verify Hardware supports requested ptp function on a given pin (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix a bug of using ptp channel index as pin index (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix missing cleanup of ethtool steering during rep rx cleanup (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix error path of device attach (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix forward to next namespace (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-switch, Destroy TSAR after reload interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-switch, Destroy TSAR when fail to enable the mode (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix prefetch memory leak if get_prefetchable_mr fails (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Prevent prefetch from racing with implicit destruction (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use xa_lock_irq when access to SRQ table (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fix usage of rcu-protected pointer (Alaa Hleihel) [1858560] - [netdrv] net/mxl5e: Verify that rpriv is not NULL (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Fix vlan or qos setting in legacy mode (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set PD pointers for the error flow unwind (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix legacy IPoIB QP initialization (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Protect from kernel crash if XRC_TGT doesn't have udata (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix integrity enabled QP creation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove ECE limitation from the RAW_PACKET QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix remote gid value in query QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Don't access ib_qp fields in internal destroy QP path (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add missed RST2INIT and INIT2INIT steps during ECE handshake (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix -Wformat warning in check_ucmd_data() (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove duplicated assignment to resp.response_length (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Fix some error pointer dereferences (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return ECE DC support (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Don't rely on FW to set zeros in ECE response (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return an error if copy_to_user fails (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Make mlx5e_dcbnl_ops static (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: reduce stack usage in qp_read_field (Alaa Hleihel) [1858560] - [netdrv] mlx5: fix xdp data_meta setup in mlx5e_fill_xdp_buff (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Support TX port affinity for VF drivers in LAG mode (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Optimize performance for IPv4/IPv6 ethertype (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Helper function to set ethertype (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use change upper event to setup representors' bond_metadata (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Slave representors sharing unique metadata for match (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Alloc and free unique metadata for match (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Add bond_metadata and its slave entries (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Offload flow rules to active lower representor (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Support tc block sharing for representors (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use netdev events to set/del egress acl forward-to-vport rule (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Introduce APIs to enable egress acl forward-to-vport rule (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Refactor eswitch ingress acl codes (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: E-Switch, Refactor eswitch egress acl codes (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return ECE data after modify QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set ECE options during modify QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Convert modify QP to use MLX5_SET macros (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove manually crafted QP context the query call (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use direct modify QP implementation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set ECE options during QP create (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Get ECE options from FW during create QP (Alaa Hleihel) [1858560] - [include] net/mlx5: Add ability to read and write ECE options (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use IS_ERR() to check and simplify code (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Add support for RDMA TX FT headers modifying (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Move iseg access helper routines close to mlx5_core driver (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Cleanup mlx5_ifc_fte_match_set_misc2_bits (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update mlx5_ib driver name (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Calculate SQ stop room in a robust way (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Move internal timer read function to clock library (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Fix a bug of releasing wrong chunks on > 4K page size systems (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Dedicate fw page to the requesting function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Fix query_srq_cmd() function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add support for drop action in DV steering (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Add support in steering default miss (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor DV create flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support in forward to namespace (Alaa Hleihel) [1858560] - [infiniband] {IB/net}/mlx5: Simplify don't trap code (Alaa Hleihel) [1858560] - [include] net/mlx5: Replace zero-length array with flexible-array (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Enhance ICOSQ WQE info fields (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Accel, Remove unnecessary header include (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use struct assignment for WQE info updates (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Take TX WQE info structures out of general EN header (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: kTLS, Do not fill edge for the DUMP WQEs in TX flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: kTLS, Fill work queue edge separately in TX flow (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Split TX acceleration offloads into two phases (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Update UDP fields of the SKB for GSO first (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Make TLS offload independent of wqe and pi (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Pass only eseg to IPSEC offload (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Return void from mlx5e_sq_xmit and mlx5i_sq_xmit (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Unify checks of TLS offloads (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Return bool from TLS and IPSEC offloads (Alaa Hleihel) [1858560] - [netdrv] net: remove newlines in NL_SET_ERR_MSG_MOD (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove duplicated assignment to variable rcqe_sz (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Allow only raw Ethernet QPs when RoCE isn't enabled (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Assign profile before calling stages (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Move all WR logic from qp.c to separate file (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor mlx5_post_send() to improve readability (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update mlx5_ib to use new cmd interface (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set UDP source port based on the grh.flow_label (Alaa Hleihel) [1858560 1851704] - [infiniband] RDMA/mlx5: Define RoCEv2 udp source port when set path (Alaa Hleihel) [1858560 1851704] - [infiniband] RDMA/mlx5: Set lag tx affinity according to slave (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Refactor affinity related code (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support to get lag physical port (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Change lag mutex lock to spin lock (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Consolidate into special function all create QP calls (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove redundant destroy QP call (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Copy response to the user in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Handle udate outlen checks in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Promote RSS RAW QP flags check to higher level (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Group all create QP parameters to simplify in-kernel interfaces (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Reduce amount of duplication in QP destroy (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate to user/kernel create QP flows (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate XRC_TGT QP creation from common flow (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Globally parse DEVX UID (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete impossible inlen check (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Rely on existence of udata to separate kernel/user flows (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove second user copy in create_user_qp (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Combine copy of create QP command in RSS RAW QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Promote RSS RAW QP attribute check in higher level (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Store QP type in the vendor QP structure (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete unsupported QP types (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Unify reserving space for WQEs (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Rename ICOSQ WQE info struct and field (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Fetch WQE: reuse code and enforce typing (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: XDP, Print the offending TX descriptor on error completion (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: TX, Generalise code and usage of error CQE dump (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Use proper name field for the UMR key (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add support for release all pages event (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Rate limit page not found error messages (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add helper function to release fw page (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove unused field in EQ (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Remove unneeded semicolon (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: IPsec, Fix coverity issue (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Process all vendor flags in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Return all configured create flags through query QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Change scatter CQE flag to be set like other vendor flags (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Use flags_en mechanism to mark QP created with WQE signature (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Process create QP flags in one place (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete create QP flags obfuscation (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Initial separation of RAW_PACKET QP from common flow (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Remove second copy from user for non RSS RAW QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Move DRIVER QP flags check into separate function (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Update all DRIVER QP places to use QP subtype (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Split scatter CQE configuration for DCT QP (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Separate create QP flows to be based on type (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Set QP subtype immediately when it is known (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Avoid setting redundant NULL for XRC QPs (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Prepare QP allocation for future removal (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Perform check if QP creation flow is valid (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete impossible GSI port check (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Organize QP types checks in one place (Alaa Hleihel) [1858560] - [include] net/mlx5: TX WQE Add trailer insertion field (Alaa Hleihel) [1858560] - [include] net/mlx5: Add release all pages capability bit (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Introduce TLS RX offload hardware bits (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add structure and defines for pci sync for fw update event (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Add structure layout and defines for MFRL register (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Use aligned variable while allocating ICM memory (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Introduce IPsec Connect-X offload hardware bits and structures (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update transobj.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update SW steering new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update port.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update rl.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update uar.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update pd.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update pagealloc.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mr.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mcg.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update main.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update vxlan.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update mpfs.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update gid.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update lag.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update fw.c new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update fs_core new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update FPGA to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update eswitch to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] ethernet: remove redundant memset (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update statistics to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update eq.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update ecpf.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update debugfs.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Update cq.c to new cmd interface (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Update vport.c to new cmd interface (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: improve some comments (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Read embedded cpu bit only once (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: Handle errors from netif_set_real_num_{tx, rx}_queues (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: IPsec, Refactor SA handle creation and destruction (Alaa Hleihel) [1858560] - [netdrv] net/mlx5e: IPSec, Expose IPsec HW stat only for supporting HW (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Refactor mlx5_accel_esp_create_hw_context parameter list (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Use the correct IPsec capability function for FPGA ops (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Enable SW-defined RoCEv2 UDP source port (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Refactor HCA capability set flow (Alaa Hleihel) [1858560] - [infiniband] net/mlx5: Move QP logic to mlx5_ib (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Alphabetically sort build artifacts (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Delete not-used cmd header (Alaa Hleihel) [1858560] - [infiniband] RDMA/mlx5: Delete Q counter allocations command (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove Q counter low level helper APIs (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Replace hand written QP context struct with automatic getters (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove extra indirection while storing QPN (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in the IPoIB module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in the FPGA module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code modify QP in steering module (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Remove empty QP and CQ events handlers (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Open-code create and destroy QP calls (Alaa Hleihel) [1858560] - [netdrv] net/mlx5: Provide simplified command interfaces (Alaa Hleihel) [1858560] - [x86] kvm: x86/mmu: Fix get_mmio_spte() on CPUs supporting 5-level PT (Vitaly Kuznetsov) [1902184] - [net] netdevsim: devlink flash timeout message (Petr Oros) [1882019] - [net] devlink: collect flash notify params into a struct (Petr Oros) [1882019] - [net] devlink: add timeout information to status_notify (Petr Oros) [1882019] - [firmware] efi/esrt: Only call efi_mem_reserve() for boot services memory (Kairui Song) [1878024] - [firmware] efi: Drop type and attribute checks in efi_mem_desc_lookup() (Kairui Song) [1878024] - [fs] iomap: Fix direct I/O write consistency check (Andreas Grunbacher) [1875556] - [fs] gfs2: fix O_SYNC write handling (Andreas Grunbacher) [1871923] - [fs] gfs2: move setting current->backing_dev_info (Andreas Grunbacher) [1871923] - [fs] gfs2: Don't return NULL from gfs2_inode_lookup (Andreas Grunbacher) [1872061] - [fs] gfs2: If go_sync returns error, withdraw but skip invalidate (Robert S Peterson) [1875035] - [fs] gfs2: Close timing window with GLF_INVALIDATE_IN_PROGRESS (Robert S Peterson) [1875035] - [fs] gfs2: Fix refcount leak in gfs2_glock_poke (Robert S Peterson) [1875035] - [fs] gfs2: Add missing truncate_inode_pages_final for sd_aspace (Robert S Peterson) [1875035] - [fs] gfs2: call truncate_inode_pages_final for address space glocks (Robert S Peterson) [1875035] - [fs] gfs2: simplify the logic in gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: factor evict_linked_inode out of gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: further simplify gfs2_evict_inode with new func evict_should_delete (Robert S Peterson) [1875035] - [fs] gfs2: factor evict_unlinked_inode out of gfs2_evict_inode (Robert S Peterson) [1875035] - [fs] gfs2: rename variable error to ret in gfs2_evict_inode (Robert S Peterson) [1875035] - [net] ethtool: Add link extended state (Ivan Vecera) [1894545] - [documentation] networking: ethtool-netlink: Add link extended state (Ivan Vecera) [1894545] - [net] ethtool: fix error handling in linkstate_prepare_data() (Ivan Vecera) [1894545] - [net] ethtool: provide UAPI for PHY Signal Quality Index (SQI) (Ivan Vecera) [1894545]- [mm] mm/hugetlb: fix a race between hugetlb sysctl handlers (Julia Denham) [1886241] {CVE-2020-25285} - [kernel] audit: do not set FS_EVENT_ON_CHILD in audit marks mask (Richard Guy Briggs) [1896480] - [net] missing barriers in some of unix_sock ->addr and ->path accesses (Richard Guy Briggs) [1896480] - [kernel] audit: fix macros warnings (Richard Guy Briggs) [1896480] - [kernel] audit: trigger accompanying records when no rules present (Richard Guy Briggs) [1896480] - [kernel] audit: fix a kernel-doc markup (Richard Guy Briggs) [1896480] - [kernel] audit: Remove redundant null check (Richard Guy Briggs) [1896480] - [kernel] audit: uninitialize variable audit_sig_sid (Richard Guy Briggs) [1896480] - [kernel] audit: change unnecessary globals into statics (Richard Guy Briggs) [1896480] - [kernel] audit: report audit wait metric in audit status reply (Richard Guy Briggs) [1896480] - [security] audit: purge audit_log_string from the intra-kernel audit API (Richard Guy Briggs) [1896480] - [security] apparmor: Check buffer bounds when mapping permissions mask (Richard Guy Briggs) [1896480] - [kernel] audit: issue CWD record to accompany LSM_AUDIT_DATA_* records (Richard Guy Briggs) [1896480] - [net] audit: use the proper gfp flags in the audit_log_nfcfg() calls (Richard Guy Briggs) [1896480] - [include] audit: remove unused !CONFIG_AUDITSYSCALL __audit_inode* stubs (Richard Guy Briggs) [1896480] - [net] audit: add gfp parameter to audit_log_nfcfg (Richard Guy Briggs) [1896480] - [kernel] audit: log nftables configuration change events (Richard Guy Briggs) [1896480] - [kernel] audit: Use struct_size() helper in alloc_chunk (Richard Guy Briggs) [1896480] - [kernel] revert: 1320a4052ea1 ("audit: trigger accompanying records when no rules present") (Richard Guy Briggs) [1896480] - [include] audit: Replace zero-length array with flexible-array (Richard Guy Briggs) [1896480] - [netdrv] net: usb: lan78xx: Disable interrupts before calling generic_handle_irq() (Waiman Long) [1904213] - [mm] x86/mm/cpa: Prevent large page split when ftrace flips RW on kernel text (Waiman Long) [1904213] - [mm] x86/mm/cpa: Fix cpa_flush_array() TLB invalidation (Waiman Long) [1904213] - [net] netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist() (Ondrej Mosnacek) [1901171] - [net] netlabel: fix our progress tracking in netlbl_unlabel_staticlist() (Ondrej Mosnacek) [1901171] - [netdrv] net: ena: fix packet's addresses for rx_offset feature (Petr Oros) [1861967] - [netdrv] net: ena: handle bad request id in ena_netdev (Petr Oros) [1861967] - [netdrv] net: ena: Change WARN_ON expression in ena_del_napi_in_range() (Petr Oros) [1861967] - [netdrv] net: ena: support new LLQ acceleration mode (Petr Oros) [1861967] - [netdrv] net: ena: move llq configuration from ena_probe to ena_device_init() (Petr Oros) [1861967] - [netdrv] net: ena: enable support of rss hash key and function changes (Petr Oros) [1861967] - [netdrv] net: ena: add support for traffic mirroring (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: change ena_com_stats_admin stats to u64 (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: satisfy gcc warning (Petr Oros) [1861967] - [netdrv] net: ena: add reserved PCI device ID (Petr Oros) [1861967] - [netdrv] net: ena: avoid unnecessary rearming of interrupt vector when busy-polling (Petr Oros) [1861967] - [netdrv] net: ena: Fix using plain integer as NULL pointer in ena_init_napi_in_range (Petr Oros) [1861967] - [netdrv] ena_netdev: use generic power management (Petr Oros) [1861967] - [netdrv] net: ena: xdp: update napi budget for DROP and ABORTED (Petr Oros) [1861967] - [netdrv] net: ena: xdp: XDP_TX: fix memory leak (Petr Oros) [1861967] - [netdrv] xdp: Rename convert_to_xdp_frame in xdp_convert_buff_to_frame (Petr Oros) [1861967] - [netdrv] net: ena: reduce driver load time (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: minor code changes (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix spacing issues (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: code reorderings (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: remove unnecessary code (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix line break issues (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: fix spelling and grammar mistakes in comments (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: set queue sizes to u32 for consistency (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: rename ena_update_tx/rx_rings_intr_moderation() (Petr Oros) [1861967] - [netdrv] net: ena: simplify ena_com_update_intr_delay_resolution() (Petr Oros) [1861967] - [netdrv] net: ena: fix ena_com_comp_status_to_errno() return value (Petr Oros) [1861967] - [netdrv] net: ena: use explicit variable size for clarity (Petr Oros) [1861967] - [netdrv] net: ena: rename ena_com_free_desc to make API more uniform (Petr Oros) [1861967] - [netdrv] net: ena: add support for the rx offset feature (Petr Oros) [1861967] - [netdrv] ena: Add XDP frame size to amazon NIC driver (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: extract code to ena_indirection_table_set() (Petr Oros) [1861967] - [netdrv] net: ena: cosmetic: remove unnecessary spaces and tabs in ena_com.h macros (Petr Oros) [1861967] - [netdrv] net: ena: use SHUTDOWN as reset reason when closing interface (Petr Oros) [1861967] - [netdrv] net: ena: drop superfluous prototype (Petr Oros) [1861967] - [netdrv] net: ena: add support for reporting of packet drops (Petr Oros) [1861967] - [netdrv] net: ena: add unmask interrupts statistics to ethtool (Petr Oros) [1861967] - [netdrv] net: ena: remove code that does nothing (Petr Oros) [1861967] - [netdrv] net: ena: changes to RSS hash key allocation (Petr Oros) [1861967] - [netdrv] net: ena: change default RSS hash function to Toeplitz (Petr Oros) [1861967] - [netdrv] net: ena: allow setting the hash function without changing the key (Petr Oros) [1861967] - [netdrv] net: ena: fix error returning in ena_com_get_hash_function() (Petr Oros) [1861967] - [netdrv] net: ena: avoid unnecessary admin command when RSS function set fails (Petr Oros) [1861967] - [netdrv] net/ena: Fix build warning in ena_xdp_set() (Petr Oros) [1861967] - [netdrv] net: ena: Make some functions static (Petr Oros) [1861967] - [netdrv] net: ena: fix continuous keep-alive resets (Petr Oros) [1861967] - [netdrv] net: ena: avoid memory access violation by validating req_id properly (Petr Oros) [1861967] - [netdrv] net: ena: fix request of incorrect number of IRQ vectors (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrect setting of the number of msix vectors (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: clean up minor indentation issue (Petr Oros) [1861967] - [netdrv] net: ena: reject unsupported coalescing params (Petr Oros) [1861967] - [netdrv] net: ena: fix broken interface between ENA driver and FW (Petr Oros) [1861967] - [netdrv] net/amazon: Ensure that driver version is aligned to the linux kernel (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: remove redundant non-zero check on rc (Petr Oros) [1861967] - [netdrv] net: ena: remove set but not used variable 'hash_key' (Petr Oros) [1861967] - [netdrv] net: ena: ena-com.c: prevent NULL pointer dereference (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: use correct value for crc32 hash (Petr Oros) [1861967] - [netdrv] net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE (Petr Oros) [1861967] - [netdrv] net: ena: fix corruption of dev_idx_to_host_tbl (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrectly saving queue numbers when setting RSS indirection table (Petr Oros) [1861967] - [netdrv] net: ena: rss: store hash function as values and not bits (Petr Oros) [1861967] - [netdrv] net: ena: rss: fix failure to get indirection table (Petr Oros) [1861967] - [netdrv] net: ena: rss: do not allocate key when not supported (Petr Oros) [1861967] - [netdrv] net: ena: fix incorrect default RSS key (Petr Oros) [1861967] - [netdrv] net: ena: add missing ethtool TX timestamping indication (Petr Oros) [1861967] - [netdrv] net: ena: fix uses of round_jiffies() (Petr Oros) [1861967] - [netdrv] net: ena: fix potential crash when rxfh key is NULL (Petr Oros) [1861967] - [netdrv] net: ena: remove set but not used variable 'rx_ring' (Petr Oros) [1861967] - [netdrv] net: ena: fix issues in setting interrupt moderation params in ethtool (Petr Oros) [1861967] - [netdrv] net: ena: fix default tx interrupt moderation interval (Petr Oros) [1861967] - [netdrv] net: ena: Add first_interrupt field to napi struct (Petr Oros) [1861967] - [netdrv] net: ena: Implement XDP_TX action (Petr Oros) [1861967] - [netdrv] net: ena: implement XDP drop support (Petr Oros) [1861967] - [netdrv] net: ena: fix napi handler misbehavior when the napi budget is zero (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: support set_channels callback (Petr Oros) [1861967] - [netdrv] net: ena: remove redundant print of number of queues (Petr Oros) [1861967] - [netdrv] net: ena: make ethtool -l show correct max number of queues (Petr Oros) [1861967] - [netdrv] net: ena: ethtool: get_channels: use combined only (Petr Oros) [1861967] - [netdrv] net: ena: multiple queue creation related cleanups (Petr Oros) [1861967] - [netdrv] net: ena: change num_queues to num_io_queues for clarity and consistency (Petr Oros) [1861967] - [kernel] rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu (Nico Pache) [1894223] - [mm] kasan: don't assume percpu shadow allocations will succeed (Nico Pache) [1894223] - [lib] kasan: update required compiler versions in documentation (Nico Pache) [1894223] - [lib] kasan: improve and simplify Kconfig.kasan (Nico Pache) [1894223] - [lib] kasan: Fix required compiler version (Nico Pache) [1894223] - [lib] kasan: Bump required compiler version (Nico Pache) [1894223] - [documentation] kasan: update documentation for generic kasan (Nico Pache) [1894223] - [mm] kasan: record and print the free track (Nico Pache) [1894223] - [mm] rcu: kasan: record and print call_rcu() call stack (Nico Pache) [1894223] - [kernel] rcu: Support reclaim for head-less object (Nico Pache) [1894223] - [kernel] rcu: Introduce 2 arg kvfree_rcu() interface (Nico Pache) [1894223] - [mm] mm/list_lru.c: Rename kvfree_rcu() to local variant (Nico Pache) [1894223] - [kernel] rcu: Rename *_kfree_callback/*_kfree_rcu_offset/kfree_call_* (Nico Pache) [1894223] - [kernel] rcu/tiny: support vmalloc in tiny-RCU (Nico Pache) [1894223] - [kernel] rcu/tree: Maintain separate array for vmalloc ptrs (Nico Pache) [1894223] - [kernel] rcu/tree: cache specified number of objects (Nico Pache) [1894223] - [kernel] rcu/tree: Use static initializer for krc.lock (Nico Pache) [1894223] - [kernel] rcu/tree: Move kfree_rcu_cpu locking/unlocking to separate functions (Nico Pache) [1894223] - [kernel] rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro (Nico Pache) [1894223] - [kernel] rcu/tree: Make debug_objects logic independent of rcu_head (Nico Pache) [1894223] - [kernel] rcu/tree: Repeat the monitor if any free channel is busy (Nico Pache) [1894223] - [kernel] rcu/tree: Skip entry into the page allocator for PREEMPT_RT (Nico Pache) [1894223] - [kernel] rcu/tree: Keep kfree_rcu() awake during lock contention (Nico Pache) [1894223] - [kernel] rcu: Fix a kernel-doc warnings for "count" (Nico Pache) [1894223] - [kernel] rcu/tree: Count number of batched kfree_rcu() locklessly (Nico Pache) [1894223] - [kernel] rcu/tree: Add a shrinker to prevent OOM due to kfree_rcu() batching (Nico Pache) [1894223] - [kernel] rcuperf: Measure memory footprint during kfree_rcu() test (Nico Pache) [1894223] - [kernel] rcu: Add a trace event for kfree_rcu() use of kfree_bulk() (Nico Pache) [1894223] - [kernel] rcu: Support kfree_bulk() interface in kfree_rcu() (Nico Pache) [1894223] - [mm] kasan: fix clang compilation warning due to stack protector (Nico Pache) [1894223] - [mm] kasan: disable branch tracing for core runtime (Nico Pache) [1894223] - [mm] kasan: add missing functions declarations to kasan.h (Nico Pache) [1894223] - [mm] kasan: consistently disable debugging features (Nico Pache) [1894223] - [mm] kasan: unset panic_on_warn before calling panic() (Nico Pache) [1894223] - [mm] kasan: detect negative size in memory operation function (Nico Pache) [1894223] - [mm] kasan: No KASAN's memmove check if archs don't have it (Nico Pache) [1894223] - [mm] kasan: use apply_to_existing_page_range() for releasing vmalloc shadow (Nico Pache) [1894223] - [mm] kasan: fix crashes on access to memory mapped by vm_map_ram() (Nico Pache) [1894223] - [mm] mm/kasan/common.c: fix compile error (Nico Pache) [1894223] - [mm] kasan: support backing vmalloc space with real shadow memory (Nico Pache) [1894223] - [mm] mm/vmalloc: rework vmap_area_lock (Nico Pache) [1894223] - [mm] mm/vmalloc: remove preempt_disable/enable when doing preloading (Nico Pache) [1894223] - [mm] mm/vmalloc.c: switch to WARN_ON() and move it under unlink_va() (Nico Pache) [1894223] - [mm] mm/vmalloc.c: get rid of one single unlink_va() when merge (Nico Pache) [1894223] - [mm] mm/vmalloc.c: preload a CPU with one object for split purpose (Nico Pache) [1894223] - [mm] mm/vmalloc.c: remove "node" argument (Nico Pache) [1894223] - [mm] mm/vmalloc: modify struct vmap_area to reduce its size (Nico Pache) [1894223] - [mm] mm/vmalloc: do not keep unpurged areas in the busy tree (Nico Pache) [1894223] - [mm] mm/vmalloc.c: fix percpu free VM area search criteria (Nico Pache) [1894223] - [mm] mm/vmalloc.c: avoid bogus -Wmaybe-uninitialized warning (Nico Pache) [1894223] - [mm] mm/vmap: add DEBUG_AUGMENT_LOWEST_MATCH_CHECK macro (Nico Pache) [1894223] - [mm] mm/vmap: add DEBUG_AUGMENT_PROPAGATE_CHECK macro (Nico Pache) [1894223] - [mm] mm/vmalloc.c: keep track of free blocks for vmap allocation (Nico Pache) [1894223] - [mm] mm/vmalloc.c: convert vmap_lazy_nr to atomic_long_t (Nico Pache) [1894223] - [mm] mm/kasan: change kasan_check_{read, write} to return boolean (Nico Pache) [1894223] - [mm] mm/kasan: introduce __kasan_check_{read, write} (Nico Pache) [1894223] - [mm] kasan: fix coccinelle warnings in kasan_p*_table (Nico Pache) [1894223] - [mm] kasan: fix kasan_check_read/write definitions (Nico Pache) [1894223] - [lib] kasan: remove use after scope bugs detection (Nico Pache) [1894223] - [lib] kasan: remove clang version check for KASAN_STACK (Nico Pache) [1894223] - [lib] kasan: turn off asan-stack for clang-8 and earlier (Nico Pache) [1894223] - [block] nbd: fix a block_device refcount leak in nbd_release (Ming Lei) [1901400] - [tools] selftests: Set default protocol for raw sockets in nettest (Hangbin Liu) [1898813] - [tools] selftests/net: improve descriptions for XFAIL cases in psock_snd.sh (Hangbin Liu) [1898813] - [tools] selftests: rtnetlink: make kci_test_encap() return sub-test result (Hangbin Liu) [1898813] - [tools] selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support (Hangbin Liu) [1898813] - [tools] selftests: use LDLIBS for libraries instead of LDFLAGS (Hangbin Liu) [1898813] - [tools] selftests: tls: run all tests for TLS 1.2 and TLS 1.3 (Hangbin Liu) [1898813] - [tools] selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc (Hangbin Liu) [1898813] - [tools] selftests: net: reuseport_addr_any: silence clang warning (Hangbin Liu) [1898813] - [tools] selftests: net: refactor reuseport_addr_any test (Hangbin Liu) [1898813] - [tools] selftests: net: reuseport_addr_any: add DCCP (Hangbin Liu) [1898813] - [tools] selftests: net: test that listening sockets match on address properly (Hangbin Liu) [1898813] - [tools] selftests/net: make udpgso_bench skip unsupported testcases (Hangbin Liu) [1898813] - [tools] net/udpgso_bench.sh test fails on error (Hangbin Liu) [1898813] - [tools] net/udpgso_bench.sh add UDP GSO audit tests (Hangbin Liu) [1898813] - [tools] selftests: extend zerocopy tests to udp (Hangbin Liu) [1898813] - [tools] net/udpgso_bench_tx: options to exercise TX CMSG (Hangbin Liu) [1898813] - [tools] selftests: fixes for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests/net: replace obsolete NFT_CHAIN configuration (Hangbin Liu) [1898813] - [tools] selftests: explicitly require kernel features needed by udpgro tests (Hangbin Liu) [1898813] - [tools] selftests: add explicit test for multiple concurrent GRO sockets (Hangbin Liu) [1898813] - [tools] selftests: add functionals test for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests: add some benchmark for UDP GRO (Hangbin Liu) [1898813] - [tools] selftests: add GRO support to udp bench rx program (Hangbin Liu) [1898813] - [net] sctp: change to hold/put transport for proto_unreach_timer (Xin Long) [1897084] - [scsi] scsi: qedi: Add schedule_hw_err_handler callback for fan failure (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Add support for handling PCIe errors (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Add firmware error recovery invocation support (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Mark all connections for recovery on link down event (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Use snprintf instead of sprintf (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Protect active command list to avoid list corruption (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Fix list_del corruption while removing active I/O (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Skip firmware connection termination for PCI shutdown handler (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Use qed count from set_fp_int in msix allocation (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove redundant NULL check (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Staticify non-external function 'qedi_get_iscsi_error' (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Demote seemingly unintentional kerneldoc header (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove set but unused variable 'tmp' (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove 2 set but unused variables (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove unused variable udev & uctrl (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Remove comparison of 0/1 to bool variable (Nilesh Javali) [1854121] - [scsi] scsi: qedi: Check for buffer overflow in qedi_set_path() (Nilesh Javali) [1854121] - [scsi] scsi: qedf: Remove redundant assignment to variable 'rc' (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Retry qed->probe during recovery (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Add schedule_hw_err_handler callback for fan failure (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Return SUCCESS if stale rport is encountered (Nilesh Javali) [1854122] - [scsi] scsi: qedf: FDMI attributes correction (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Use pci_get_dsn() (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix for the session's E_D_TOV value (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Correct the comment in qedf_initiate_els (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Change the debug parameter permission to read & write (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix null ptr reference in qedf_stag_change_work (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Fix race between ELS completion and flushing ELS request (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Don't process ELS completion if event is flushed or cleaned up (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Initiate cleanup for ELS commands as well (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Send cleanup even for RRQ on timeout (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Do not kill timeout work for original I/O on RRQ completion (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Check the validity of rjt frame before processing (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Check for port type and role before processing an event (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove a whole host of unused variables (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove set but not checked variable 'tmp' (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks (Nilesh Javali) [1854122] - [scsi] scsi: qedf: Remove redundant initialization of variable rc (Nilesh Javali) [1854122] - [infiniband] RDMA/qedr: Fix memory leak in iWARP CM (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix function prototype parameters alignment (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix inline size returned for iWARP (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix iWARP active mtu display (Manish Chopra) [1857857] - [netdrv] qede: Notify qedr when mtu has changed (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix return code if accept is called on a destroyed qp (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix use of uninitialized field (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix doorbell setting (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix qp structure memory leak (Manish Chopra) [1857857] - [netdrv] net: qed: RDMA personality shouldn't fail VF load (Manish Chopra) [1857857] - [netdrv] net: qede: Disable aRFS for NPAR and 100G (Manish Chopra) [1857857] - [netdrv] net: qed: Disable aRFS for NPAR and 100G (Manish Chopra) [1857857] - [netdrv] net: qed: use eth_zero_addr() to clear mac address (Manish Chopra) [1857857] - [netdrv] net: qede: use eth_zero_addr() to clear mac address (Manish Chopra) [1857857] - [netdrv] qede: Use pM format specifier for MAC addresses (Manish Chopra) [1857857] - [netdrv] qed: Use pM format specifier for MAC addresses (Manish Chopra) [1857857] - [infiniband] qed: fix assignment of n_rq_elems to incorrect params field (Manish Chopra) [1857857] - [netdrv] qed: fix the allocation of the chains with an external PBL (Manish Chopra) [1857857] - [netdrv] qede: add .ndo_xdp_xmit() and XDP_REDIRECT support (Manish Chopra) [1857857] - [netdrv] qede: refactor XDP Tx processing (Manish Chopra) [1857857] - [netdrv] qede: reformat net_device_ops declarations (Manish Chopra) [1857857] - [netdrv] qede: reformat several structures in "qede.h" (Manish Chopra) [1857857] - [include] qed: introduce qed_chain_get_elem_used{, u32}() (Manish Chopra) [1857857] - [include] qed: optimize common chain accessors (Manish Chopra) [1857857] - [infiniband] qed: add support for different page sizes for chains (Manish Chopra) [1857857] - [netdrv] qed: simplify chain allocation with init params struct (Manish Chopra) [1857857] - [netdrv] qed: simplify initialization of the chains with an external PBL (Manish Chopra) [1857857] - [netdrv] qed: move chain initialization inlines next to allocation functions (Manish Chopra) [1857857] - [netdrv] qed: sanitize PBL chains allocation (Manish Chopra) [1857857] - [netdrv] qed: prevent possible double-frees of the chains (Manish Chopra) [1857857] - [netdrv] qed: move chain methods to a separate file (Manish Chopra) [1857857] - [netdrv] qed: reformat Makefile (Manish Chopra) [1857857] - [include] qed: reformat "qed_chain.h" a bit (Manish Chopra) [1857857] - [netdrv] net: qed_hsi.h: Avoid the use of one-element array (Manish Chopra) [1857857] - [netdrv] net: qed: Remove unneeded cast from memory allocation (Manish Chopra) [1857857] - [netdrv] qed: suppress false-positives interrupt error messages on HW init (Manish Chopra) [1857857] - [netdrv] qed: suppress "don't support RoCE & iWARP" flooding on HW init (Manish Chopra) [1857857] - [netdrv] qed: Fix ILT and XRCD bitmap memory leaks (Manish Chopra) [1857857] - [netdrv] qed: add support for the extended speed and FEC modes (Manish Chopra) [1857857] - [netdrv] qed: populate supported link modes maps on module init (Manish Chopra) [1857857] - [netdrv] qed: add missing loopback modes (Manish Chopra) [1857857] - [netdrv] qed: add support for new port modes (Manish Chopra) [1857857] - [netdrv] qed: remove unused qed_hw_info::port_mode and QED_PORT_MODE (Manish Chopra) [1857857] - [netdrv] qed: reformat several structures a bit (Manish Chopra) [1857857] - [netdrv] qede: introduce support for FEC control (Manish Chopra) [1857857] - [netdrv] qede: format qede{,_vf}_ethtool_ops (Manish Chopra) [1857857] - [netdrv] qed: add support for Forward Error Correction (Manish Chopra) [1857857] - [netdrv] qed: reformat several structures a bit (Manish Chopra) [1857857] - [netdrv] qed: use transceiver data to fill link partner's advertising speeds (Manish Chopra) [1857857] - [netdrv] qed: add support for multi-rate transceivers (Manish Chopra) [1857857] - [netdrv] qed: reformat public_port::transceiver_data a bit (Manish Chopra) [1857857] - [netdrv] qede: populate supported link modes maps on module init (Manish Chopra) [1857857] - [netdrv] qed, qede, qedf: convert link mode from u32 to ETHTOOL_LINK_MODE (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Add EDPM max size to alloc ucontext response (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Add EDPM mode type for user-fw compatibility (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: SRQ's bug fixes (Manish Chopra) [1857857] - [include] net: qed: drop duplicate words in comments (Manish Chopra) [1857857] - [netdrv] qede: convert to new udp_tunnel_nic infra (Manish Chopra) [1857857] - [netdrv] qed: Disable "MFW indication via attention" SPAM every 5 minutes (Manish Chopra) [1857857] - [netdrv] qed: Populate nvm-file attributes while reading nvm config partition (Manish Chopra) [1857857] - [netdrv] net: qede: fix BE vs CPU comparison (Manish Chopra) [1857857] - [netdrv] net: qede: fix kernel-doc for qede_ptp_adjfreq() (Manish Chopra) [1857857] - [netdrv] net: qed: sanitize BE/LE data processing (Manish Chopra) [1857857] - [netdrv] net: qed: use ptr shortcuts to dedup field accessing in some parts (Manish Chopra) [1857857] - [netdrv] net: qed: improve indentation of some parts of code (Manish Chopra) [1857857] - [netdrv] net: qed: address kernel-doc warnings (Manish Chopra) [1857857] - [netdrv] net: qed: correct qed_hw_err_notify() prototype (Manish Chopra) [1857857] - [netdrv] net: qed: cleanup global structs declarations (Manish Chopra) [1857857] - [netdrv] net: qed: move static iro_arrout of header file (Manish Chopra) [1857857] - [netdrv] qed: Make symbol 'qed_hw_err_type_descr' static (Manish Chopra) [1857857] - [netdrv] net: qede: update copyright years (Manish Chopra) [1857857] - [netdrv] net: qede: convert to SPDX License Identifiers (Manish Chopra) [1857857] - [netdrv] net: qede: correct existing SPDX tags (Manish Chopra) [1857857] - [netdrv] net: qed: update copyright years (Manish Chopra) [1857857] - [netdrv] net: qed: convert to SPDX License Identifiers (Manish Chopra) [1857857] - [netdrv] net: qed: correct existing SPDX tags (Manish Chopra) [1857857] - [netdrv] qed: add missing error test for DBG_STATUS_NO_MATCHING_FRAMING_MODE (Manish Chopra) [1857857] - [netdrv] net: qed: fix "maybe uninitialized" warning (Manish Chopra) [1857857] - [netdrv] net: qed: reset ILT block sizes before recomputing to fix crashes (Manish Chopra) [1857857] - [netdrv] net: qede: fix use-after-free on recovery and AER handling (Manish Chopra) [1857857] - [netdrv] net: qede: fix PTP initialization on recovery (Manish Chopra) [1857857] - [netdrv] net: qed: fix excessive QM ILT lines consumption (Manish Chopra) [1857857] - [netdrv] net: qed: fix NVMe login fails over VFs (Manish Chopra) [1857857] - [netdrv] net: qede: stop adding events on an already destroyed workqueue (Manish Chopra) [1857857] - [netdrv] net: qed: fix async event callbacks unregistering (Manish Chopra) [1857857] - [include] net: qed: fix left elements count calculation (Manish Chopra) [1857857] - [infiniband] RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532 (Manish Chopra) [1857857] - [netdrv] qed: Add EDPM mode type for user-fw compatibility (Manish Chopra) [1857857] - [netdrv] qed: Add XRC to RoCE (Manish Chopra) [1857857] - [netdrv] qed: changes to ILT to support XRC (Manish Chopra) [1857857] - [include] net: qed: fix bad formatting (Manish Chopra) [1857857] - [netdrv] net: qed: introduce critical hardware error handler (Manish Chopra) [1857857] - [netdrv] net: qed: introduce critical fan failure handler (Manish Chopra) [1857857] - [netdrv] net: qede: Implement ndo_tx_timeout (Manish Chopra) [1857857] - [netdrv] net: qede: optional hw recovery procedure (Manish Chopra) [1857857] - [netdrv] net: qed: attention clearing properties (Manish Chopra) [1857857] - [netdrv] net: qed: cleanup debug related declarations (Manish Chopra) [1857857] - [netdrv] net: qed: critical err reporting to management firmware (Manish Chopra) [1857857] - [netdrv] net: qed: invoke err notify on critical areas (Manish Chopra) [1857857] - [netdrv] net: qede: add hw err scheduled handler (Manish Chopra) [1857857] - [netdrv] net: qed: adding hw_err states and handling (Manish Chopra) [1857857] - [netdrv] net: qede: Use true for bool variable in qede_init_fp() (Manish Chopra) [1857857] - [netdrv] qed: Make ll2_cbs static (Manish Chopra) [1857857] - [netdrv] qede: Add support for handling the pcie errors (Manish Chopra) [1857857] - [netdrv] qed: Enable device error reporting capability (Manish Chopra) [1857857] - [netdrv] qed: use true,false for bool variables (Manish Chopra) [1857857] - [netdrv] net: qed: Remove unneeded cast from memory allocation (Manish Chopra) [1857857] - [netdrv] net: qede: reject unsupported coalescing params (Manish Chopra) [1857857] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 440 (Manish Chopra) [1857857] - [scsi] treewide: Add SPDX license identifier - Makefile/Kconfig (Manish Chopra) [1857857] - [netdrv] sfc: don't double-down() filters in ef100_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: Fix error code in probe (Jarod Wilson) [1856681] - [netdrv] sfc: fix boolreturn.cocci warning and rename function (Jarod Wilson) [1856681] - [netdrv] sfc: Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Jarod Wilson) [1856681] - [netdrv] sfc: Use fallthrough pseudo-keyword (Jarod Wilson) [1856681] - [netdrv] sfc: fix build warnings on 32-bit (Jarod Wilson) [1856681] - [netdrv] sfc: don't free_irq()s if they were never requested (Jarod Wilson) [1856681] - [netdrv] sfc: null out channel->rps_flow_id after freeing it (Jarod Wilson) [1856681] - [netdrv] sfc: take correct lock in ef100_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: really check hash is valid before using it (Jarod Wilson) [1856681] - [netdrv] sfc: check hash is valid before using it (Jarod Wilson) [1856681] - [netdrv] sfc: fix ef100 design-param checking (Jarod Wilson) [1856681] - [netdrv] sfc: Fix build with CONFIG_RFS_ACCEL disabled (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add nic-type for VFs, and bind to them (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read pf_index at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: functions for selftests (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: statistics gathering (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: plumb in fini_dmaq (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: RX path for EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: RX filter table management and related gubbins (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: TX path for EF100 NICs (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read Design Parameters at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: fail the probe if NIC uses unsol_ev credits (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: check firmware version at start-of-day (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: remove duplicated include from ef100_netdev.c (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement ndo_get_phys_port_{id, name} (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read device MAC address at probe time (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: probe the PHY and configure the MAC (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: actually perform resets (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: extend ef100_check_caps to cover datapath_caps3 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: read datapath caps, implement check_caps (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: process events for MCDI completions (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement ndo_open/close and EVQ probing (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: implement MCDI transport (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: don't call efx_reset_down()/up() on EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: PHY probe stub (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: reset-handling stub (Jarod Wilson) [1856681] - [netdrv] sfc: skeleton EF100 PF driver (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: register accesses on EF100 (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add EF100 register definitions (Jarod Wilson) [1856681] - [netdrv] sfc: remove efx_ethtool_nway_reset() (Jarod Wilson) [1856681] - [netdrv] sfc: drop unnecessary list_empty (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: helper function to set default RSS table of given size (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: NVRAM selftest support code (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: populate BUFFER_SIZE_BYTES in INIT_RXQ (Jarod Wilson) [1856681] - [netdrv] sfc_ef100: add EF100 to NIC-revision enumeration (Jarod Wilson) [1856681] - [netdrv] sfc: get drvinfo driver name from outside the common code (Jarod Wilson) [1856681] - [netdrv] sfc: initialise RSS context ID to 'no RSS context' in efx_init_struct() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx_fini_dmaq (Jarod Wilson) [1856681] - [netdrv] sfc: factor out efx_mcdi_filter_table_down() from _remove() (Jarod Wilson) [1856681] - [netdrv] sfc: don't call tx_limit_len if NIC type doesn't have one (Jarod Wilson) [1856681] - [netdrv] sfc: assign TXQs without gaps (Jarod Wilson) [1856681] - [netdrv] sfc: commonise netif_set_real_numx_queues calls (Jarod Wilson) [1856681] - [netdrv] sfc: make tx_queues_per_channel variable at runtime (Jarod Wilson) [1856681] - [netdrv] sfc: move modparam 'rss_cpus' out of common channel code (Jarod Wilson) [1856681] - [netdrv] sfc: move modparam 'interrupt_mode' out of common channel code (Jarod Wilson) [1856681] - [netdrv] sfc: remove max_interrupt_mode (Jarod Wilson) [1856681] - [netdrv] sfc: support setting MTU even if not privileged to configure MAC fully (Jarod Wilson) [1856681] - [netdrv] sfc: don't call tx_remove if there isn't one (Jarod Wilson) [1856681] - [netdrv] sfc: commonise initialisation of efx->vport_id (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx->xq_entries initialisation (Jarod Wilson) [1856681] - [netdrv] sfc: initialise max_channels in efx_init_channels() (Jarod Wilson) [1856681] - [netdrv] sfc: move definition of EFX_MC_STATS_GENERATION_INVALID (Jarod Wilson) [1856681] - [netdrv] sfc: factor out efx_tx_tso_header_length() and understand encapsulation (Jarod Wilson) [1856681] - [netdrv] sfc: remove duplicate declaration of efx_enqueue_skb_tso() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise TSO fallback code (Jarod Wilson) [1856681] - [netdrv] sfc: commonise efx_sync_rx_buffer() (Jarod Wilson) [1856681] - [netdrv] sfc: commonise some MAC configuration code (Jarod Wilson) [1856681] - [netdrv] sfc: commonise miscellaneous efx functions (Jarod Wilson) [1856681] - [netdrv] sfc: add missing licence info to mcdi_filters.c (Jarod Wilson) [1856681] - [netdrv] sfc: commonise MCDI MAC stats handling (Jarod Wilson) [1856681] - [netdrv] sfc: move NIC-specific mcdi_port declarations out of common header (Jarod Wilson) [1856681] - [netdrv] sfc: extend common GRO interface to support CHECKSUM_COMPLETE (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ARFS handling (Jarod Wilson) [1856681] - [netdrv] sfc: commonise drain event handling (Jarod Wilson) [1856681] - [netdrv] sfc: commonise PCI error handlers (Jarod Wilson) [1856681] - [netdrv] sfc: track which BAR is mapped (Jarod Wilson) [1856681] - [netdrv] sfc: commonise FC advertising (Jarod Wilson) [1856681] - [netdrv] sfc: commonise other ethtool bits (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ethtool NFC and RXFH/RSS functions (Jarod Wilson) [1856681] - [netdrv] sfc: commonise ethtool link handling functions (Jarod Wilson) [1856681] - [netdrv] sfc: split up nic.h (Jarod Wilson) [1856681] - [netdrv] sfc: refactor EF10 stats handling (Jarod Wilson) [1856681] - [netdrv] sfc: don't try to create more channels than we can have VIs (Jarod Wilson) [1856681] - [netdrv] sfc: extend bitfield macros up to POPULATE_DWORD_13 (Jarod Wilson) [1856681] - [netdrv] sfc: determine flag word automatically in efx_has_cap() (Jarod Wilson) [1856681] - [netdrv] sfc: update MCDI protocol headers (Jarod Wilson) [1856681] - [netdrv] sfc: replace '---help---' in Kconfig files with 'help' (Jarod Wilson) [1856681] - [netdrv] sfc: add missing annotation for efx_ef10_try_update_nic_stats_vf() (Jarod Wilson) [1856681] - [netdrv] sfc: avoid an unused-variable warning (Jarod Wilson) [1856681] - [netdrv] sfc: fix dereference of table before it is null checked (Jarod Wilson) [1856681] - [netdrv] sfc: siena_check_caps() can be static (Jarod Wilson) [1856681] - [netdrv] sfc: actually wire up siena_check_caps() (Jarod Wilson) [1856681] - [netdrv] sfc: make firmware-variant printing a nic_type function (Jarod Wilson) [1856681] - [netdrv] sfc: make filter table probe caller responsible for adding VLANs (Jarod Wilson) [1856681] - [netdrv] sfc: move rx_rss_context_exclusive into struct efx_mcdi_filter_table (Jarod Wilson) [1856681] - [netdrv] sfc: rework handling of (firmware) multicast chaining state (Jarod Wilson) [1856681] - [netdrv] sfc: move 'must restore' flags out of ef10-specific nic_data (Jarod Wilson) [1856681] - [netdrv] sfc: use efx_has_cap for capability checks outside of NIC-specific code (Jarod Wilson) [1856681] - [netdrv] sfc: make capability checking a nic_type function (Jarod Wilson) [1856681] - [netdrv] sfc: move vport_id to struct efx_nic (Jarod Wilson) [1856681] - [ntb] NTB: Revert "Add Hygon Device ID" (Myron Stowe) [1880468] - [tools] NTB: ntb_test: Fix bug when counting remote files (Myron Stowe) [1908031] - [ntb] NTB: perf: Fix race condition when run with ntb_test (Myron Stowe) [1908031] - [ntb] NTB: perf: Fix support for hardware that doesn't have port numbers (Myron Stowe) [1908031] - [ntb] NTB: perf: Don't require one more memory window than number of peers (Myron Stowe) [1908031] - [ntb] NTB: ntb_pingpong: Choose doorbells based on port number (Myron Stowe) [1908031] - [ntb] NTB: Fix the default port and peer numbers for legacy drivers (Myron Stowe) [1908031] - [ntb] NTB: Revert the change to use the NTB device dev for DMA allocations (Myron Stowe) [1908031] - [ntb] NTB: ntb_tool: reading the link file should not end in a NULL byte (Myron Stowe) [1908031] - [ntb] ntb_perf: avoid false dma unmap of destination address (Myron Stowe) [1908031] - [ntb] ntb_perf: increase sleep time from one milli sec to one sec (Myron Stowe) [1908031] - [ntb] ntb_tool: pass correct struct device to dma_alloc_coherent (Myron Stowe) [1908031] - [ntb] ntb_perf: pass correct struct device to dma_alloc_coherent (Myron Stowe) [1908031] - [include] NTB: correct ntb_peer_spad_addr and ntb_peer_spad_read comment typos (Myron Stowe) [1908031] - [ntb] ntb: intel: fix static declaration (Myron Stowe) [1908031] - [ntb] ntb: intel: add hw workaround for NTB BAR alignment (Myron Stowe) [1908031] - [ntb] ntb: intel: Add Icelake (gen4) support for Intel NTB (Myron Stowe) [1908031] - [ntb] NTB: Fix static check warning in perf_clear_test (Myron Stowe) [1908031] - [include] include/ntb: Fix typo in ntb_unregister_device description (Myron Stowe) [1908031] - [ntb] NTB: add pci shutdown handler for AMD NTB (Myron Stowe) [1908031] - [ntb] NTB: send DB event when driver is loaded or un-loaded (Myron Stowe) [1908031] - [ntb] NTB: remove redundant setting of DB valid mask (Myron Stowe) [1908031] - [ntb] NTB: return link up status correctly for PRI and SEC (Myron Stowe) [1908031] - [ntb] NTB: add helper functions to set and clear sideinfo (Myron Stowe) [1908031] - [ntb] NTB: move ntb_ctrl handling to init and deinit (Myron Stowe) [1908031] - [ntb] NTB: handle link up, D0 and D3 events correctly (Myron Stowe) [1908031] - [ntb] NTB: handle link down event correctly (Myron Stowe) [1908031] - [ntb] NTB: remove handling of peer_sta from amd_link_is_up (Myron Stowe) [1908031] - [ntb] NTB: set peer_sta within event handler itself (Myron Stowe) [1908031] - [ntb] NTB: return the side info status from amd_poll_link (Myron Stowe) [1908031] - [ntb] NTB: define a new function to get link status (Myron Stowe) [1908031] - [ntb] NTB: Enable link up and down event notification (Myron Stowe) [1908031] - [ntb] NTB: clear interrupt status register (Myron Stowe) [1908031] - [ntb] NTB: Fix access to link status and control register (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Use scnprintf() for avoiding potential buffer overflow (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Fix ntb_mw_clear_trans error if size == 0 (Myron Stowe) [1908031] - [ntb] ntb_tool: Fix printk format (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Fix address err in perf_copy_chunk (Myron Stowe) [1908031] - [ntb] NTB: Fix an error in get link status (Myron Stowe) [1908031] - [ntb] NTB: Add Hygon Device ID (Myron Stowe) [1908031] - [ntb] NTB: fix IDT Kconfig typos/spellos (Myron Stowe) [1908031] - [ntb] ntb_hw_amd: Add memory window support for new AMD hardware (Myron Stowe) [1908031] - [ntb] ntb_hw_amd: Add a new NTB PCI device ID (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: remove redundant assignment to rc (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: make ntb_mw_set_trans() work when addr == 0 (Myron Stowe) [1908031] - [ntb] ntb: point to right memory window index (Myron Stowe) [1908031] - [ntb] NTB/msi: remove incorrect MODULE defines (Myron Stowe) [1908031] - [documentation] NTB: Describe the ntb_msi_test client in the documentation (Myron Stowe) [1908031] - [ntb] NTB: Add MSI interrupt support to ntb_transport (Myron Stowe) [1908031] - [tools] NTB: Add ntb_msi_test support to ntb_test (Myron Stowe) [1908031] - [ntb] NTB: Introduce NTB MSI Test Client (Myron Stowe) [1908031] - [ntb] NTB: Introduce MSI library (Myron Stowe) [1908031] - [ntb] NTB: Rename ntb.c to support multiple source files in the module (Myron Stowe) [1908031] - [include] NTB: Introduce functions to calculate multi-port resource index (Myron Stowe) [1908031] - [include] NTB: Introduce helper functions to calculate logical port number (Myron Stowe) [1908031] - [pci] PCI/switchtec: Add module parameter to request more interrupts (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Fix setup MW with failure bug (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Skip unnecessary re-setup of shared memory window for crosslink case (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Remove redundant steps of switchtec_ntb_reinit_peer() function (Myron Stowe) [1908031] - [include] NTB: correct ntb_dev_ops and ntb_dev comment typos (Myron Stowe) [1908031] - [ntb] NTB: amd: Silence shift wrapping warning in amd_ntb_db_vector_mask() (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev() (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed (Myron Stowe) [1908031] - [ntb] NTB: ntb_hw_amd: set peer limit register (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Clear stale values in doorbell and command SPAD register (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Disable NTB link after clearing peer XLAT registers (Myron Stowe) [1908031] - [ntb] NTB: ntb_perf: Increased the number of message retries to 1000 (Myron Stowe) [1908031] - [ntb] ntb: intel: Make intel_ntb3_peer_db_addr static (Myron Stowe) [1908031] - [ntb] NTB: add new parameter to peer_db_addr() db_bit and db_data (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA (Myron Stowe) [1908031] - [ntb] NTB: ntb_transport: Free MWs in ntb_transport_link_cleanup() (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: Added support of >=4G memory windows (Myron Stowe) [1908031] - [include] ntb_hw_switchtec: NT req id mapping table register entry number should be 512 (Myron Stowe) [1908031] - [ntb] ntb_hw_switchtec: debug print 64bit aligned crosslink BAR Numbers (Myron Stowe) [1908031] - [ntb] ntb: idt: Alter the driver info comments (Myron Stowe) [1908031] - [ntb] ntb: idt: Discard temperature sensor IRQ handler (Myron Stowe) [1908031] - [ntb] ntb: idt: Add basic hwmon sysfs interface (Myron Stowe) [1908031] - [ntb] ntb: idt: Alter temperature read method (Myron Stowe) [1908031] - [netdrv] ntb_netdev: Simplify remove with client device drvdata (Myron Stowe) [1908031] - [ntb] NTB: transport: Try harder to alloc an aligned MW buffer (Myron Stowe) [1908031] - [ntb] ntb: ntb_transport: Mark expected switch fall-throughs (Myron Stowe) [1908031] - [ntb] ntb: idt: Set PCIe bus address to BARLIMITx (Myron Stowe) [1908031] - [ntb] NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks (Myron Stowe) [1908031] - [ntb] ntb: intel: fix return value for ndev_vec_mask() (Myron Stowe) [1908031] - [netdrv] ntb_netdev: fix sleep time mismatch (Myron Stowe) [1908031]- [block] block: fix incorrect branching in blk_max_size_offset() (Mike Snitzer) [1903722] - [md] dm: fix IO splitting (Mike Snitzer) [1903722] - [block] block: fix get_max_io_size() (Mike Snitzer) [1903722] - [block] block: Improve physical block alignment of split bios (Mike Snitzer) [1903722] - [block] block: use gcd() to fix chunk_sectors limit stacking (Mike Snitzer) [1903722] - [kernel] sched/deadline: Fix priority inheritance with multiple scheduling classes (Phil Auld) [1780490] - [fs] Convert trailing spaces and periods in path components (Leif Sahlberg) [1882457] - [block] loop: Fix occasional uevent drop (Ming Lei) [1897401] - [block] block: add a return value to set_capacity_revalidate_and_notify (Ming Lei) [1897401] - [fs] fat: truncate inode timestamp updates in setattr (Pavel Reichl) [1533270] - [fs] fat: change timestamp updates to use fat_truncate_time (Pavel Reichl) [1533270] - [fs] fat: add functions to update and truncate timestamps appropriately (Pavel Reichl) [1533270] - [fs] fat: create a function to calculate the timezone offest (Pavel Reichl) [1533270] - [net] icmp: randomize the global rate limiter (Guillaume Nault) [1899137] - [net] ipv4: Restore flowi4_oif update before call to xfrm_lookup_route (Guillaume Nault) [1899137] - [net] ipv4: Update exception handling for multipath routes via same device (Guillaume Nault) [1899137] - [net] ip: fix tos reflection in ack and reset packets (Guillaume Nault) [1899137] - [net] initialize fastreuse on inet_inherit_port (Guillaume Nault) [1899137] - [net] refactor bind_bucket fastreuse into helper (Guillaume Nault) [1899137] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'qplib_ctx' (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Restrict the max_gids to 256 (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Static NQ depth allocation (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Fix the qp table indexing (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Do not report transparent vlan from QP1 (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Change wr posting logic to accommodate variable wqes (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Add helper data structures (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Pull psn buffer dynamically based on prod (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: introduce a function to allocate swq (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: introduce wqe mode to select execution path (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt: Delete 'nq_ptr' variable which is not used (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove dead code from rcfw (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Simplify obtaining queue entry from hw ring (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Update missing hsi data structures (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Reduce device page size detection code (Selvin Xavier) [1861886] - [infiniband] RDMA/bnxt_re: Remove unsupported modify_device callback (Selvin Xavier) [1861886] - [include] net: Add netif_is_bareudp() API to identify bareudp devices (Guillaume Nault) [1839788] - [net] Removed the device type check to add mpls support for devices (Guillaume Nault) [1839788] - [tools] selftests: set conf.all.rp_filter=0 in bareudp.sh (Guillaume Nault) [1839788] - [tools] selftests: disable rp_filter when testing bareudp (Guillaume Nault) [1839788] - [tools] selftests: add test script for bareudp tunnels (Guillaume Nault) [1839788] - [documentation] bareudp: Corrected description of bareudp module. (Guillaume Nault) [1839788] - [netdrv] bareudp: forbid mixing IP and MPLS in multiproto mode (Guillaume Nault) [1839788] - [netdrv] bareudp: Reverted support to enable & disable rx metadata collection (Guillaume Nault) [1839788] - [documentation] bareudp: update iproute2 sample commands (Guillaume Nault) [1839788] - [netdrv] bareudp: Added attribute to enable & disable rx metadata collection (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed multiproto mode configuration (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed configuration to avoid having garbage values (Guillaume Nault) [1839788] - [netdrv] net: bareudp: avoid uninitialized variable warning (Guillaume Nault) [1839788] - [netdrv] bareudp: Fixed bareudp receive handling (Guillaume Nault) [1839788] - [netdrv] bareudp: remove unnecessary udp_encap_enable() in bareudp_socket_create() (Guillaume Nault) [1839788] - [netdrv] bareudp: print error message when command fails (Guillaume Nault) [1839788] - [netdrv] bareudp: add module alias (Guillaume Nault) [1839788] - [netdrv] bareudp: Fix uninitialized variable warnings. (Guillaume Nault) [1839788] - [netdrv] Special handling for IP & MPLS. (Guillaume Nault) [1839788] - [net] UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc. (Guillaume Nault) [1839788] - [arm64] arm64: remove arm64ksyms.c (Mark Salter) [1883365] - [arm64] arm64: frace: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: string: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: uaccess: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: page: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: smccc: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: tishift: use asm EXPORT_SYMBOL() (Mark Salter) [1883365] - [arm64] arm64: add EXPORT_SYMBOL_NOKASAN() (Mark Salter) [1883365] - [mm] arm64: move memstart_addr export inline (Mark Salter) [1883365] - [arm64] arm64: remove bitop exports (Mark Salter) [1883365] - [arm64] arm64: lib: use C string functions with KASAN enabled (Mark Salter) [1883365] - [arm64] arm64: add (Mark Salter) [1883365] - [arm64] locking/atomics/arm64, arm64/bitops: Include (Mark Salter) [1883365] - [arm64] locking/atomics/arm64: Replace our atomic/lock bitop implementations with asm-generic (Mark Salter) [1883365] - [include] locking/atomics, asm-generic/bitops/lock.h: Rewrite using atomic_fetch_*() (Mark Salter) [1883365] - [include] locking/atomics, asm-generic/bitops/atomic.h: Rewrite using atomic_*() APIs (Mark Salter) [1883365] - [thermal] thermal: rcar_thermal: Add missing braces to conditional statement (Ivan Vecera) [1894564] - [thermal] thermal: Rename set_mode() to change_mode() (Ivan Vecera) [1894564] - [thermal] thermal: Simplify or eliminate unnecessary set_mode() methods (Ivan Vecera) [1894564] - [thermal] thermal: core: Stop polling DISABLED thermal devices (Ivan Vecera) [1894564] - [thermal] thermal: Explicitly enable non-changing thermal zone devices (Ivan Vecera) [1894564] - [thermal] thermal: Use mode helpers in drivers (Ivan Vecera) [1894564] - [thermal] thermal: Add mode helpers (Ivan Vecera) [1894564] - [thermal] thermal: remove get_mode() operation of drivers (Ivan Vecera) [1894564] - [thermal] thermal: Store device mode in struct thermal_zone_device (Ivan Vecera) [1894564] - [include] thermal: Add current mode to thermal zone device (Ivan Vecera) [1894564] - [acpi] thermal: Store thermal mode in a dedicated enum (Ivan Vecera) [1894564] - [acpi] acpi: thermal: Fix error handling in the register function (Ivan Vecera) [1894564] - [thermal] thermal: core: skip update disabled thermal zones after suspend (Ivan Vecera) [1894564] - [thermal] Thermal: do not clear passive state during system sleep (Ivan Vecera) [1894564] - [thermal] thermal: of-thermal: disable passive polling when thermal zone is disabled (Ivan Vecera) [1894564] - [crypto] crypto: qat - drop input parameter from adf_enable_aer() (Vladis Dronov) [1855190] - [crypto] crypto: qat - fix function parameters descriptions (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove unnecessary mutex_init() (Vladis Dronov) [1855190] - [crypto] crypto: qat - use PCI_VDEVICE (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace device ids defines (Vladis Dronov) [1855190] - [crypto] crypto: qat - include domain in top level debugfs path (Vladis Dronov) [1855190] - [crypto] crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA (Vladis Dronov) [1855190] - [crypto] crypto: qat - Use fallthrough pseudo-keyword (Vladis Dronov) [1855190] - [crypto] crypto: qat - add delay before polling mailbox (Vladis Dronov) [1855190] - [include] PCI: Add Intel QuickAssist device IDs (Vladis Dronov) [1855190] - [crypto] crypto: qat - fix double free in qat_uclo_create_batch_init_list (Vladis Dronov) [1855190] - [crypto] crypto: qat - fallback for xts with 192 bit keys (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove unused field in skcipher ctx (Vladis Dronov) [1855190] - [crypto] crypto: qat - validate xts key (Vladis Dronov) [1855190] - [crypto] crypto: qat - allow xts requests not multiple of block (Vladis Dronov) [1855190] - [crypto] crypto: qat - update timeout logic in put admin msg (Vladis Dronov) [1855190] - [crypto] crypto: qat - send admin messages to set of AEs (Vladis Dronov) [1855190] - [crypto] crypto: qat - update fw init admin msg (Vladis Dronov) [1855190] - [crypto] crypto: qat - remove packed attribute in etr structs (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace user types with kernel ABI __u types (Vladis Dronov) [1855190] - [crypto] crypto: qat - replace user types with kernel u types (Vladis Dronov) [1855190] - [crypto] crypto: qat - convert to SPDX License Identifiers (Vladis Dronov) [1855190] - [crypto] crypto: qat - simplify the qat_crypto function (Vladis Dronov) [1855190] - [crypto] crypto: qat - spelling s/Decrytp/Decrypt/ (Vladis Dronov) [1855190] - [crypto] crypto: qat/adf_aer - Replace GFP_ATOMIC with GFP_KERNEL in adf_dev_aer_schedule_reset() (Vladis Dronov) [1855190] - [thermal] thermal: int340x: processor_thermal: fix: update Jasper Lake PCI id (David Arcari) [1889331] - [thermal] thermal: int3403_thermal: Downgrade error message (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Prevent page fault on .set_mode() op (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Don't require IDSP to exist (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Export OEM vendor variables (David Arcari) [1889331] - [thermal] thermal/int340x_thermal: Export GDDV (David Arcari) [1889331] - [thermal] thermal: int3400_thermal: Statically initialize .get_mode()/.set_mode() ops (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: fix: Update Tiger Lake ACPI device IDs (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: Use scnprintf() for avoiding potential buffer overflow (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Tiger Lake support (David Arcari) [1889331] - [platform] acpi: Remove header dependency (David Arcari) [1889331] - [thermal] thermal: int340x: switch to use helpers (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Jasper Lake support (David Arcari) [1889331] - [thermal] thermal: int340x_thermal: Add Tiger Lake ACPI device IDs (David Arcari) [1889331] - [thermal] thermal: intel: int3403: replace printk(KERN_WARN...) with pr_warn(...) (David Arcari) [1889331] - [thermal] thermal: intel: int340x_thermal: Remove unnecessary acpi_has_method() uses (David Arcari) [1889331] - [thermal] thermal: int340x: processor_thermal: Add Ice Lake support (David Arcari) [1889331] - [thermal] drivers: thermal: processor_thermal_device: Export sysfs interface for TCC offset (David Arcari) [1889331] - [netdrv] net/mlx5e: Fix arch depending casting issue in FEC (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Kconfig: convert imply usage to weak dependency (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Fix condition for termination table cleanup (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Use a separate work queue for fib event handling (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Add support for RDMA TX flow table (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Add support for RDMA TX steering (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Move to fully dynamic UAR mode once user space supports it (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Limit the scope of struct mlx5_bfreg_info to mlx5_ib (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Extend QP creation to get uar page index from user space (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Extend CQ creation to get uar page index from user space (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid group version scan when not necessary (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid incrementing FTE version (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Simplify matching group searches (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Generally use the WC auto detection test result (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Avoid forwarding to other eswitch uplink (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Eswitch, enable forwarding back to uplink port (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5e: Add support for offloading traffic from uplink to uplink (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Don't use termination tables in slow path (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: Avoid configuring eswitch QoS if not supported (Alaa Hleihel) [1858559 1851700] - [netdrv] net/mlx5: DR, Add support for flow table id destination action (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Refactor unload all reps per rep type (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Update VF vports config when num of VFs changed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Introduce per vport configuration for eswitch modes (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-switch, Make vport setup/cleanup sequence symmetric (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Prepare for vport enable/disable refactor (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Remove redundant warning when QoS enable failed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-Switch, Remove redundant check of eswitch manager cap (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Allow MRs to be created in the cache synchronously (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Revise how the hysteresis scheme works for cache filling (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Fix locking in MR cache work queue (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Lock access to ent->available_mrs/limit when doing queue_work (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Fix MR cache size and limit debugfs (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Always remove MRs from the cache before destroying them (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Simplify how the MR cache bucket is located (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Rename the tracking variables for the MR cache (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Replace spinlock protected write with atomic var (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Move asynchronous mkey creation to mlx5_ib (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Assign mkey variant in mlx5_ib only (Alaa Hleihel) [1858559] - [infiniband] {IB, net}/mlx5: Setup mkey variant before mr create command invocation (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Use offsetofend() instead of duplicated variant (Alaa Hleihel) [1858559] - [infiniband] RDMA/mlx5: Remove duplicate definitions of SW_ICM macros (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: E-switch, make query inline mode a static function (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Allocate smaller size tables for ft offload (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Introduce TLS and IPSec objects enums (Alaa Hleihel) [1858559] - [include] net/mlx5: Introduce egress acl forward-to-vport capability (Alaa Hleihel) [1858559] - [infiniband] IB/mlx5: Add np_min_time_between_cnps and rp_max_rate debug params (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Fix header guard in rsc_dump.h (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Replace zero-length array with flexible-array member (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Remove a useless 'drain_workqueue()' call in 'mlx5e_ipsec_cleanup()' (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Add support for FEC modes based on 50G per lane links (Alaa Hleihel) [1858559] - [netdrv] net/mlxe5: Separate between FEC and current speed (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Advertise globaly supported FEC modes (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Enforce setting of a single FEC mode (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Set FEC to auto when configured mode is not supported (Alaa Hleihel) [1858559] - [netdrv] mlx5: Use proper logging and tracing line terminations (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Support dump callback in RX reporter (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Support dump callback in TX reporter (Alaa Hleihel) [1858559] - [netdrv] net/mlx5e: Gather reporters APIs together (Alaa Hleihel) [1858559] - [netdrv] net/mlx5: Add support for resource dump (Alaa Hleihel) [1858559] - [netdrv] bnxt_en: Fix wrong flag value passed to HWRM_PORT_QSTATS_EXT fw call (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix HWRM_FUNC_QSTATS_EXT firmware call (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return -EOPNOTSUPP for ETHTOOL_GREGS on VFs (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: return proper error codes in bnxt_show_temp (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Use memcpy to copy VPD field info (Jonathan Toppins) [1861885] - [netdrv] net: ethernet: broadcom: have drivers select DIMLIB as needed (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Avoid sending firmware messages when AER error is detected (Jonathan Toppins) [1861885] - [netdrv] bnxt: don't enable NAPI until rings are ready (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Setup default RSS map in all scenarios (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: init RSS table for Minimal-Static VF reservation (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix HWRM error when querying VF temperature (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix possible crash in bnxt_fw_reset_task() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix PCI AER error recovery flow (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Check for zero dir entries in NVRAM (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Don't query FW when netif_running() is false (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Remove superfluous memset() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add support for 'ethtool -d' (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Switch over to use the 64-bit software accumulated counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Accumulate all counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Retrieve hardware masks for port counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Retrieve hardware counter masks from firmware if available (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Allocate additional memory for all statistics blocks (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Refactor statistics code and structures (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Use macros to define port statistics size and offset (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Update firmware interface to 1.10.1.54 (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Remove PCIe non-counters from ethtool statistics (Jonathan Toppins) [1861885] - [netdrv] net: bnxt: don't complain if TC flower can't be supported (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix completion ring sizing with TPA enabled (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Init ethtool link settings after reading updated PHY configuration (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix race when modifying pause settings (Jonathan Toppins) [1861885] - [netdrv] bnxt: convert to new udp_tunnel_nic infra (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: allow firmware to disable VLAN offloads (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: clean up VLAN feature bit handling (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Implement ethtool -X to set indirection table (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return correct RSS indirection table entries to ethtool -x (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fill HW RSS table from the RSS logical indirection table (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add helper function to return the number of RSS contexts (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add logical RSS indirection table structure (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix up bnxt_get_rxfh_indir_size() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Set up the chip specific RSS table size (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Read VPD info only for PFs (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix statistics counters issue during ifdown with older firmware (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Do not enable legacy TX push on older firmware (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Store the running firmware version code (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add board.serial_number field to info_get cb (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Return from timer if interface is not in open state (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix AER reset logic on 57500 chips (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Re-enable SRIOV during resume (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Simplify bnxt_resume() (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix firmware message length endianness (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix return code to "flash_device" (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Fix accumulation of bp->net_stats_prev (Jonathan Toppins) [1861885] - [netdrv] net: bnxt: Remove Comparison to bool in bnxt_ethtool.c (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: show only relevant ethtool stats for a TX or RX ring (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Split HW ring statistics strings into RX and TX parts (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Refactor the software ring counters (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add doorbell information to bnxt_en_dev struct (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Add support for L2 doorbell size (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Set the db_offset on 57500 chips for the RDMA MSIX entries (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Define the doorbell offsets on 57500 chips (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Improve kernel log messages related to ethtool reset (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: fix ethtool_reset_flags ABI violations (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: refactor ethtool firmware reset types (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: prepare to refactor ethtool reset types (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Do not include ETH_FCS_LEN in the max packet length sent to fw (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Improve TQM ring context memory sizing formulas (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Allocate TQM ring context memory according to fw specification (Jonathan Toppins) [1861885] - [netdrv] bnxt_en: Update firmware spec. to 1.10.1.33 (Jonathan Toppins) [1861885] - [fs] fs/namespace.c: fix mountpoint reference counter race (Pavel Reichl) [1852651] {CVE-2020-12114}- [powerpc] powerpc/64: Fix kernel stack 16-byte alignment (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/aout: Fix struct user definition to use user_pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/uapi: Fix sigcontext definition to use user_pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] bpf: powerpc: fix broken uapi for BPF_PROG_TYPE_PERF_EVENT (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Tests for kernel accessing user memory (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix exception handling for CONFIG_HAVE_HW_BREAKPOINT=N (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix length calculation for unaligned target (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Move DAWR detection logic outside of hw_breakpoint.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix handling of vector instructions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/hw_breakpoint.h: delete duplicated word (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Remove 512 byte boundary (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Return available watchpoints dynamically (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Guest support for 2nd DAWR hcall (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Set CPU_FTR_DAWR1 based on pa-features bit (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/dt_cpu_ftrs: Add feature for 2nd DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Enable watchpoint functionality on power10 guest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix DAWR exception for CACHEOP (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix DAWR exception constraint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Fix 512 byte boundary limit (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] hw-breakpoints: Fix build warnings with clang (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/xmon: Support 2nd DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/xmon: Don't allow breakpoint overwriting (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Don't allow concurrent perf and ptrace events (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Prepare handler to handle more than one watchpoint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Use builtin ALIGN*() macros (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Introduce is_ptrace_bp() function (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Use loop for thread_struct->ptrace_bps (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Convert thread_struct->hw_brk to an array (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Disable all available watchpoints when !dawr_force_enable (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Get watchpoint count dynamically while disabling them (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Provide DAWR number to __set_breakpoint (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Provide DAWR number to set_dawr (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint/ptrace: Return actual num of available watchpoints (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Introduce function to get nr watchpoints dynamically (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Add SPRN macros for second DAWR (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: move ptrace_triggered() into hw_breakpoint.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: create ppc_gethwdinfo() (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: create ptrace_get_debugreg() (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out ADV_DEBUG_REGS related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: move register viewing functions out of ptrace.c (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out TRANSACTIONAL_MEM related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out SPE related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out ALTIVEC related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: split out VSX related functions (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: drop PARAMETER_SAVE_AREA_OFFSET (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: drop unnecessary #ifdefs CONFIG_PPC64 (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: remove unused header includes (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Move ptrace into a subdirectory (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/watchpoint: Don't call dar_within_range() for Book3S (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Enable range tests on 8xx in ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/hw_breakpoints: Rewrite 8xx breakpoints to allow any address range size (Desnes Augusto Nunes do Rosario) [1854528] - [tools] powerpc/watchpoint: Support for 8xx in ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [tools] powerpc/watchpoint: Add DAR outside test in perf-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [tools] selftests/powerpc: Rewrite ptrace-hwbreak.c selftest (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: permanently include 8xx registers in reg.h (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/64: Interrupts save PPR on stack rather than thread_struct (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Use SWITCH_FRAME_SIZE for prom and rtas entry (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc/ptrace: Don't use sizeof(struct pt_regs) in ptrace code (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: Split user/kernel definitions of struct pt_regs (Desnes Augusto Nunes do Rosario) [1854528] - [powerpc] powerpc: declare set_breakpoint() static (Desnes Augusto Nunes do Rosario) [1854528] - [tools] perf vendor events power9: Added nest imc metric events (Michael Petlan) [1780258] - [powerpc] powerpc/perf: Fix crashes with generic_compat_pmu & BHRB (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints (Michael Petlan) [1854525] - [powerpc] powerpc/powernv/idle: add a basic stop 0-3 driver for POWER10 (Michael Petlan) [1854525] - [powerpc] powerpc/kernel: Cleanup machine check function declarations (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Fix soft lockups due to missed interrupt accounting (Michael Petlan) [1854525] - [powerpc] powerpc: Add POWER10 raw mode cputable entry (Michael Petlan) [1854525] - [powerpc] powerpc/powernv: Machine check handler for POWER10 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add extended regs support for power10 platform (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add support for outputting extended regs in perf intr_regs (Michael Petlan) [1854525] - [tools] perf tools powerpc: Add support for extended regs in power10 (Michael Petlan) [1854525] - [tools] perf tools powerpc: Add support for extended register capability (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Fix MMCRA_BHRB_DISABLE define for binutils < 2.28 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Initialize power10 PMU registers in cpu setup routine (Michael Petlan) [1854525] - [powerpc] powerpc/perf: BHRB control to disable BHRB logic when not used (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add Power10 BHRB filter support for PERF_SAMPLE_BRANCH_IND_CALL/COND (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Ignore the BHRB kernel address filtering for P10 (Michael Petlan) [1854525] - [powerpc] powerpc/perf: power10 Performance Monitoring support (Michael Petlan) [1854525] - [powerpc] powerpc/perf: Add Power10 PMU feature to DT CPU features (Michael Petlan) [1854525] - [powerpc] powerpc/xmon: Add PowerISA v3.1 PMU SPRs (Michael Petlan) [1854525] - [powerpc] powerpc64: Break asm/percpu.h vs spinlock_types.h dependency (Greg Kurz) [1882796] - [powerpc] watchpoint: Rename current DAWR macros (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Make struct kernel_param_ops definition const (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: simplify kvm_cma_reserve() (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Fix symbol undeclared warnings (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Remove redundant initialization of variable ret (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: xive: Convert to DEFINE_SHOW_ATTRIBUTE (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Set LPCR[HDICE] before writing HDEC (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Do not allocate HPT for a nested guest (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Don't return -ENOTSUPP to userspace in ioctls (Greg Kurz) [1882796] - [powerpc] 64s: handle ISA v3.1 local copy-paste context switches (Greg Kurz) [1882796] - [powerpc] 64s: Move HMI IRQ stat from percpu variable to paca (Greg Kurz) [1882796] - [powerpc] kvm/cma: Improve kernel log during boot (Greg Kurz) [1882796] - [powerpc] kvm: Use correct CONFIG symbol in comment (Greg Kurz) [1882796] - [powerpc] watchpoint: Rename current H_SET_MODE DAWR macro (Greg Kurz) [1882796] - [tools] kvm: ppc: Fix typo on H_DISABLE_AND_GET hcall (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Clean up redundant kvm_run parameters in assembly (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Save/restore new PMU registers (Greg Kurz) [1882796] - [powerpc] perf: Add support for ISA3.1 PMU SPRs (Greg Kurz) [1882796] - [powerpc] perf: Update Power PMU cache_events to u64 type (Greg Kurz) [1882796] - [powerpc] perf: Update cpu_hw_event to use `struct` for storing MMCR registers (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Cleanup updates for kvm vcpu MMCR (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Protect kvm_vcpu_read_guest with srcu locks (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Increase KVMPPC_NR_LPIDS on POWER8 and POWER9 (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3shv: Enable support for ISA v3.1 guests (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s pr: Remove uninitialized_var() usage (Greg Kurz) [1882796] - [powerpc] kvm/book3s64: Fix kernel crash with nested kvm & DEBUG_VIRTUAL (Greg Kurz) [1882796] - [powerpc] book3s64/kvm: Fix secondary page table walk warning during migration (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s: Fix some RCU-list locks (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Ignore kmemleak false positives (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Clean up redundant 'kvm_run' parameters (Greg Kurz) [1882796] - [powerpc] kvm: ppc: Remove redundant kvm_run from vcpu_arch (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Remove redundant NULL check (Greg Kurz) [1882796] - [powerpc] Fix compile issue with force DAWR (Greg Kurz) [1882796] - [powerpc] silence a -Wcast-function-type warning in dawr_write_file_bool (Greg Kurz) [1882796] - [powerpc] kvm: ppc: book3s hv: Fix r3 corruption in h_set_dabr() (Greg Kurz) [1882796] - [powerpc] Add force enable of DAWR on P9 option (Greg Kurz) [1882796] - [documentation] powerpc: Document issues with the DAWR on POWER9 (Greg Kurz) [1882796] - [powerpc] Replace _ALIGN_UP() by ALIGN() (Greg Kurz) [1882796] - [powerpc] Replace _ALIGN_DOWN() by ALIGN_DOWN() (Greg Kurz) [1882796] - [netdrv] tg3: Fix soft lockup when tg3_reset_task() fails (Jonathan Toppins) [1899595] - [tools] tools/power turbostat: update version number (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: harden against cpu hotplug (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: adjust for temperature offset (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Build with _FILE_OFFSET_BITS=64 (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support AMD Family 19h (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Remove empty columns for Jacobsville (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Add a new GFXAMHz column that exposes gt_act_freq_mhz (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Skip pc8, pc9, pc10 columns, if they are disabled (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix output formatting for ACPI CST enumeration (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Replace HTTP links with HTTPS ones: TURBOSTAT UTILITY (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Enable accumulate RAPL display (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Introduce functions to accumulate RAPL consumption (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Make the energy variable to be 64 bit (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Always print idle in the system configuration header (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Print /dev/cpu_dma_latency (Prarit Bhargava) [1857136] - [tools] turbostat/.gitignore: add SPDX License Identifier (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: update version (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Print cpuidle information (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix 32-bit capabilities warning (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Fix gcc build warnings (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support Elkhart Lake (Prarit Bhargava) [1857136] - [tools] tools/power turbostat: Support Jasper Lake (Prarit Bhargava) [1857136] - [scsi] scsi: core: Return BLK_STS_AGAIN for ALUA transitioning (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Set 'transitioning' state on Unit Attention (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Return BLK_STS_AGAIN for ALUA transitioning state (Ewan Milne) [1867264] - [block] scsi: block: Return status code in blk_mq_end_request() (Ewan Milne) [1867264] - [scsi] scsi: scsi_dh_alua: Avoid crash during alua_bus_detach() (Ewan Milne) [1877156] - [fs] gfs2: check for live vs. read-only file system in gfs2_fitrim (Abhijith Das) [1335139] - [fs] gfs2: don't initialize statfs_change inodes in spectator mode (Abhijith Das) [1335139] - [fs] gfs2: init_journal's undo directive should also undo the statfs inodes (Abhijith Das) [1335139] - [fs] gfs2: Recover statfs info in journal head (Abhijith Das) [1335139] - [fs] gfs2: lookup local statfs inodes prior to journal recovery (Abhijith Das) [1335139] - [fs] gfs2: Add fields for statfs info in struct gfs2_log_header_host (Abhijith Das) [1335139] - [block] nbd: don't update block size after device is started (Ming Lei) [1891363] - [platform] platform/x86: thinkpad_acpi: lap or desk mode interface (David Arcari) [1889642] - [infiniband] IB/mlx4: Convert rej_tmout radix-tree to XArray (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Adjust delayed work when a dup is observed (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add support for REJ due to timeout (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Fix starvation in paravirt mux/demux (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Separate tunnel and wire bufs parameters (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add support for MRA (Alaa Hleihel) [1858564] - [infiniband] IB/mlx4: Add and improve logging (Alaa Hleihel) [1858564] - [netdrv] net: ethernet: mlx4: Avoid assigning a value to ring_cons but not used it anymore in mlx4_en_xmit() (Alaa Hleihel) [1858564] - [netdrv] net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() (Alaa Hleihel) [1858564] - [infiniband] treewide: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858564] - [netdrv] net/mlx4: Use fallthrough pseudo-keyword (Alaa Hleihel) [1858564] - [netdrv] mlx4: convert to new udp_tunnel_nic infra (Alaa Hleihel) [1858564] - [netdrv] mlx4: Mark PM functions as __maybe_unused (Alaa Hleihel) [1858564] - [netdrv] mlx4: use generic power management (Alaa Hleihel) [1858564] - [netdrv] mlx4: disable device on shutdown (Alaa Hleihel) [1858564 1858563] - [include] IB/mlx4: Replace zero-length array with flexible-array (Alaa Hleihel) [1858564 1858563] - [netdrv] net: mlx4: remove unneeded variable "err" in mlx4_en_ethtool_add_mac_rule() (Alaa Hleihel) [1858564 1858563] - [netdrv] net: mlx4: remove unneeded variable "err" in mlx4_en_get_rxfh() (Alaa Hleihel) [1858564 1858563] - [netdrv] net/mlx4_en: use napi_complete_done() in TX completion (Alaa Hleihel) [1858564 1858563] - [netdrv] net/mlx4_en: avoid indirect call in TX completion (Alaa Hleihel) [1858564 1858562] - [infiniband] RDMA/mlx4: Delete duplicated offsetofend implementation (Alaa Hleihel) [1858564 1858562] - [netdrv] net: mlx4: reject unsupported coalescing params (Alaa Hleihel) [1858564 1858562] - [hwmon] hwmon: (amd_energy) match for supported models (David Arcari) [1860387] - [hwmon] hwmon: (amd_energy) Missing platform_driver_unregister() on error in amd_energy_init() (David Arcari) [1860387] - [hwmon] hwmon: Add amd_energy driver to report energy counters (David Arcari) [1860387] - [include] include/asm-generic/topology.h: guard cpumask_of_node() macro argument (David Arcari) [1860387]- [x86] x86/dumpstack: Fix misleading instruction pointer error message (Kenneth Yin) [1903506] - [powerpc] powerpc/powernv/opal-dump : Use IRQ_HANDLED instead of numbers in interrupt handler (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/dump: Handle multiple writes to ack attribute (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/dump: Fix race while processing OPAL dump (Diego Domingos) [1891822] - [powerpc] powerpc/opal_elog: Handle multiple writes to ack attribute (Diego Domingos) [1891822] - [powerpc] powerpc/powernv/elog: Fix race while processing OPAL error log event (Diego Domingos) [1891822] - [hid] HID: logitech-dj: Fix an error in mse_bluetooth_descriptor (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Add PID for MX Anywhere 2 (Benjamin Tissoires) [1885560] - [hid] HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery (Benjamin Tissoires) [1885560] - [hid] HID: ite: Add USB id match for Acer One S1003 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons (Benjamin Tissoires) [1885560] - [hid] HID: hid-input: fix stylus battery reporting (Benjamin Tissoires) [1885560] - [hid] HID: roccat: add bounds checking in kone_sysfs_write_settings() (Benjamin Tissoires) [1885560] - [hid] HID: core: Sanitize event code and type when mapping input (Benjamin Tissoires) [1885560] - [hid] HID: core: Correctly handle ReportSize being zero (Benjamin Tissoires) [1885560] - [hid] HID: elan: Fix memleak in elan_input_configured (Benjamin Tissoires) [1885560] - [hid] HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices (Benjamin Tissoires) [1885560] - [hid] Revert "HID: usbhid: do not sleep when opening device" (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Always poll three more Lenovo PixArt mice (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands (Benjamin Tissoires) [1885560] - [hid] HID: macally: Constify macally_id_table (Benjamin Tissoires) [1885560] - [hid] HID: cougar: Constify cougar_id_table (Benjamin Tissoires) [1885560] - [hid] HID: quirks: add NOGET quirk for Logitech GROUP (Benjamin Tissoires) [1885560] - [hid] HID: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [1885560] - [hid] HID: udraw-ps3: Replace HTTP links with HTTPS ones (Benjamin Tissoires) [1885560] - [hid] HID: input: Fix devices that return multiple bytes in battery report (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Fix spurious F23 key press report during resume from suspend (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard fn_lock support (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Add ThinkPad 10 Ultrabook Keyboard support (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Rename fn_lock sysfs attr handlers to make them generic (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Factor out generic parts of the LED code (Benjamin Tissoires) [1885560] - [hid] HID: lenovo: Merge tpkbd and cptkbd data structures (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: avoid repeated "multiplier = " log messages (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Use HIDPP_RECEIVER_INDEX instead of 0xff (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: Replace PCI_DEV_FLAGS_NO_D3 with pci_save_state (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Ignore Simply Automated UPB PIM (Benjamin Tissoires) [1885560] - [hid] HID: apple: Disable Fn-key key-re-mapping on clone keyboards (Benjamin Tissoires) [1885560] - [hid] HID: Wiimote: Treat the d-pad as an analogue stick (Benjamin Tissoires) [1885560] - [hid] HID: steam: fixes race in handling device list (Benjamin Tissoires) [1885560] - [hid] HID: magicmouse: do not set up autorepeat (Benjamin Tissoires) [1885560] - [hid] HID: alps: support devices with report id 2 (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Always poll Obins Anne Pro 2 keyboard (Benjamin Tissoires) [1885560] - [hid] HID: input: do not run GET_REPORT unless there's a Resolution Multiplier (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: remove redundant assignment to variable retval (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: do not sleep when opening device (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: Remove MT_CLS_WIN_8_DUAL (Benjamin Tissoires) [1885560] - [hid] HID: sony: Fix for broken buttons on DS3 USB dongles (Benjamin Tissoires) [1885560] - [hid] HID: Add quirks for Trust Panora Graphic Tablet (Benjamin Tissoires) [1885560] - [hid] HID: apple: Swap the Fn and Left Control keys on Apple keyboards (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Schneider SCL142ALM to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: avoid bogus uninitialized-variable warning (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: reset Synaptics SYNA2393 on resume (Benjamin Tissoires) [1885560] - [hid] HID: usbhid: Fix race between usbhid_close() and usbhid_stop() (Benjamin Tissoires) [1885560] - [hid] HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead (Benjamin Tissoires) [1885560] - [hid] HID: alps: Add AUI1657 device ID (Benjamin Tissoires) [1885560] - [hid] HID: fix typo in Kconfig (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add support for Logitech G11 extra keys (Benjamin Tissoires) [1885560] - [hid] HID: multitouch: add eGalaxTouch P80H84 support (Benjamin Tissoires) [1885560] - [hid] HID: logitech: drop outdated references to unifying receivers (Benjamin Tissoires) [1885560] - [hid] HID: rmi: Simplify an error handling path in 'rmi_hid_read_block()' (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: hbm.h: Replace zero-length array with flexible-array member (Benjamin Tissoires) [1885560] - [hid] HID: intel-ish-hid: ishtp-dev.h: Replace zero-length array with flexible-array member (Benjamin Tissoires) [1885560] - [hid] HID: Add driver fixing Glorious PC Gaming Race mouse report descriptor (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Do not fail the probe when we fail to disable F# emulation (Benjamin Tissoires) [1885560] - [hid] HID: fix Kconfig word ordering (Benjamin Tissoires) [1885560] - [hid] HID: add ALWAYS_POLL quirk to lenovo pixart mouse (Benjamin Tissoires) [1885560] - [hid] HID: google: add moonball USB id (Benjamin Tissoires) [1885560] - [hid] HID: appleir: Use devm_kzalloc() instead of kzalloc() (Benjamin Tissoires) [1885560] - [hid] HID: appleir: Remove unnecessary goto label (Benjamin Tissoires) [1885560] - [hid] HID: hid-sensor-custom: Use scnprintf() for avoiding potential buffer overflow (Benjamin Tissoires) [1885560] - [hid] HID: hid-picolcd_fb: Use scnprintf() for avoiding potential buffer overflow (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add support for the static device in the Powerplay mat/receiver (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: fix race condition for scheduled work during removal (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: call hid_hw_stop() in case of error (Benjamin Tissoires) [1885560] - [hid] HID: hid-bigbenff: fix general protection fault caused by double kfree (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: add Trekstor Surfbook E11B to descriptor override (Benjamin Tissoires) [1885560] - [hid] HID: alps: Fix an error handling path in 'alps_input_configured()' (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: Fix race in in hiddev_disconnect() (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add debug msg when exporting a HID++ report descriptors (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Remove ITE 8595 entry from hid_have_special_driver (Benjamin Tissoires) [1885560] - [include] HID: core: increase HID report buffer size to 8KiB (Benjamin Tissoires) [1885560] - [hid] HID: core: fix off-by-one memset in hid_report_raw_event() (Benjamin Tissoires) [1885560] - [hid] HID: apple: Add support for recent firmware on Magic Keyboards (Benjamin Tissoires) [1885560] - [hid] HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: BatteryVoltage: only read chargeStatus if extPower is active (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: avoid duplicate error handling code in 'hidpp_probe()' (Benjamin Tissoires) [1885560] - [hid] HID: hidraw, uhid: Always report EPOLLOUT (Benjamin Tissoires) [1885560] - [hid] HID: steam: Fix input device disappearing (Benjamin Tissoires) [1885560] - [hid] hid-logitech-hidpp: read battery voltage from newer devices (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add MX Master 3 Mouse (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Support WirelessDeviceStatus connect events (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Support translations from short to long reports (Benjamin Tissoires) [1885560] - [hid] HID: hiddev: fix mess in hiddev_open() (Benjamin Tissoires) [1885560] - [hid] HID: hid-input: clear unmapped usages (Benjamin Tissoires) [1885560] - [hid] HID: Add quirk for incorrect input length on Lenovo Y720 (Benjamin Tissoires) [1885560] - [hid] HID: ite: Add USB id match for Acer SW5-012 keyboard dock (Benjamin Tissoires) [1885560] - [hid] HID: Add quirk for Xin-Mo Dual Controller (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: add support uniq ioctl (Benjamin Tissoires) [1885560] - [hid] HID: Fix slab-out-of-bounds read in hid_field_extract (Benjamin Tissoires) [1885560] - [hid] HID: picoLCD: constify fb ops (Benjamin Tissoires) [1885560] - [hid] HID: uhid: Fix returning EPOLLOUT from uhid_char_poll (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: Fix returning EPOLLOUT from hidraw_poll (Benjamin Tissoires) [1885560] - [hid] HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device (Benjamin Tissoires) [1885560] - [hid] HID: quirks: remove hid-led devices from hid_have_special_driver (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Reset ALPS touchpads on resume (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: fix no irq after reset on raydium 3118 (Benjamin Tissoires) [1885560] - [hid] HID: logitech-hidpp: Silence intermittent get_battery_capacity errors (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: remove orphaned member sleep_delay (Benjamin Tissoires) [1885560] - [hid] HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse (Benjamin Tissoires) [1885560] - [hid] HID: core: check whether Usage Page item is after Usage ID items (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Send power-on command after reset (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: Remove runtime power management (Benjamin Tissoires) [1885560] - [hid] HID: google: Detect base folded usage instead of hard-coding whiskers (Benjamin Tissoires) [1885560] - [hid] HID: google: add magnemite/masterball USB ids (Benjamin Tissoires) [1885560] - [hid] HID: logitech: Add depends on LEDS_CLASS to Logitech Kconfig entry (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the G510's M1-M3 and MR LEDs (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for controlling the G510's RGB backlight (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the G510 keyboards' gaming keys (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add support for the M1-M3 and MR LEDs (Benjamin Tissoires) [1885560] - [hid] HID: lg-g15: Add keyboard and LCD backlight control (Benjamin Tissoires) [1885560] - [hid] HID: Add driver for Logitech gaming keyboards (G15, G15 v2) (Benjamin Tissoires) [1885560] - [hid] HID: hidraw: replace printk() with corresponding pr_xx() variant (Benjamin Tissoires) [1885560] - [hid] HID: prodikeys: make array keys static const, makes object smaller (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: signal tablet mode on connect (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: signal tablet mode switch on disconnect (Benjamin Tissoires) [1885560] - [hid] HID: google: whiskers: more robust tablet mode detection (Benjamin Tissoires) [1885560] - [hid] HID: core: fix dmesg flooding if report field larger than 32bit (Benjamin Tissoires) [1885560] - [include] HID: core: Add printk_once variants to hid_warn() etc (Benjamin Tissoires) [1885560] - [include] HID: core: reformat and reduce hid_printk macros (Benjamin Tissoires) [1885560] - [hid] HID: i2c-hid: modify quirks for weida's devices (Benjamin Tissoires) [1885560] - [hid] hid-logitech-dj: add the new Lightspeed receiver (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: add support of the G700(s) receiver (Benjamin Tissoires) [1885560] - [hid] HID: do not call hid_set_drvdata(hdev, NULL) in drivers (Benjamin Tissoires) [1885560] - [hid] HID: logitech-dj: extend consumer usages range (Benjamin Tissoires) [1885560] - [hid] hiddev: Return EPOLLOUT from hiddev_poll (Benjamin Tissoires) [1885560] - [hid] hidraw: Return EPOLLOUT from hidraw_poll (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists (Benjamin Tissoires) [1885560] - [input] input: i8042 - Remove special Cayman handling (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - only increment wakeup count on touch (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add ic type 0x15 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add support for high resolution reports (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - do not constantly re-query pattern ID (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add firmware update info for ICs 0x11, 0x13, 0x14 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle firmware updated on newer ICs (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - add support for different firmware page sizes (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - fix detecting IAP version on older controllers (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle devices with patterns above 1 (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - make fetching IC type of older controllers more robust (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - handle firmware not implementing "get pattern" command (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list (Benjamin Tissoires) [1885560] - [input] Input: elantech - remove redundant assignments to variable error (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen (Benjamin Tissoires) [1885560] - [uapi] Input: add `SW_MACHINE_COVER` (Benjamin Tissoires) [1885560] - [input] input: i8042 - Remove special PowerPC handling (Benjamin Tissoires) [1885560] - [input] Input: synaptics - add a second working PNP_ID for Lenovo T470s (Benjamin Tissoires) [1885560] - [input] Input: introduce input_mt_report_slot_inactive() (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add ThinkPad S230u to i8042 reset list (Benjamin Tissoires) [1885560] - [input] Revert "Input: i8042 - add ThinkPad S230u to i8042 nomux list" (Benjamin Tissoires) [1885560] - [input] Input: i8042 - attach fwnode to serio i8042 kbd device (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add ThinkPad S230u to i8042 nomux list (Benjamin Tissoires) [1885560] - [uapi] Input: update SPDX tag for input-event-codes.h (Benjamin Tissoires) [1885560] - [input] Input: i8042 - add Acer Aspire 5738z to nomux list (Benjamin Tissoires) [1885560] - [uapi] Input: move the new KEY_SELECTIVE_SCREENSHOT keycode (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable RMI on HP Envy 13-ad105ng (Benjamin Tissoires) [1885560] - [uapi] Input: allocate keycode for "Selective Screenshot" key (Benjamin Tissoires) [1885560] - [input] Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list (Benjamin Tissoires) [1885560] - [input] Input: synaptics - enable SMBus on ThinkPad L470 (Benjamin Tissoires) [1885560] - [input] Input: synaptics - switch T470s to RMI4 by default (Benjamin Tissoires) [1885560] - [input] Input: input_event - fix struct padding on sparc64 (Benjamin Tissoires) [1885560] - [uapi] Input: add privacy screen toggle keycode (Benjamin Tissoires) [1885560] - [input] Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus (Benjamin Tissoires) [1885560] - [uapi] Input: Add event-codes for macro keys found on various keyboards (Benjamin Tissoires) [1885560] - [input] Input: i8042 - enable wakeup on a stable struct device (Benjamin Tissoires) [1885560] - [input] Input: psmouse - drop all unneeded functions from mouse headers (Benjamin Tissoires) [1885560] - [input] Input: remove dev_err() usage after platform_get_irq() (Benjamin Tissoires) [1885560] - [input] Input: synaptics - fix a typo (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - switch to using devm_add_action_or_reset() (Benjamin Tissoires) [1885560] - [input] Input: elan_i2c - switch to using devm_device_add_groups() (Benjamin Tissoires) [1885560] - [power] power: supply: core: Add Standard, Adaptive, and Custom charge types (Benjamin Tissoires) [1885560] - [scsi] scsi: mpt3sas: Fix timeouts observed while reenabling IRQ (Tomas Henzl) [1880114] - [fs] ext4: handle option set by mount flags correctly (Pavel Reichl) [1848084] - [fs] xfs: preserve inode versioning across remounts (Pavel Reichl) [1848084] - [kernel] kheaders: explain why include/config/autoconf.h is excluded from md5sum (Jiri Olsa) [1899585] - [kernel] kheaders: remove the last bashism to allow sh to run it (Jiri Olsa) [1899585] - [kernel] kheaders: optimize header copy for in-tree builds (Jiri Olsa) [1899585] - [kernel] kheaders: optimize md5sum calculation for in-tree builds (Jiri Olsa) [1899585] - [kernel] kheaders: remove unneeded 'cat' command piped to 'head' / 'tail' (Jiri Olsa) [1899585] - [kernel] kheaders: substituting --sort in archive creation (Jiri Olsa) [1899585] - [kernel] kheaders: make headers archive reproducible (Jiri Olsa) [1899585] - [kernel] kheaders: include only headers into kheaders_data.tar.xz (Jiri Olsa) [1899585] - [kernel] kheaders: remove meaningless -R option of 'ls' (Jiri Olsa) [1899585] - [kernel] kheaders: Do not regenerate archive if config is not changed (Jiri Olsa) [1899585] - [kernel] kheaders: Move from proc to sysfs (Jiri Olsa) [1899585] - [kernel] kernel/Makefile: don't assume that kernel/gen_ikh_data.sh is executable (Jiri Olsa) [1899585] - [init] init/config: Do not select BUILD_BIN2C for IKCONFIG (Jiri Olsa) [1899585] - [kernel] Provide in-kernel headers to make extending kernel easier (Jiri Olsa) [1899585] - [tty] pty: do tty_flip_buffer_push without port->lock in pty_write (Artem Savkov) [1787975] - [virtio] virtio_balloon: fix sparse warning (Nico Pache) [1839055] - [virtio] virtio_balloon: fix up endian-ness for free cmd id (Nico Pache) [1839055] - [virtio] virtio-balloon: Document byte ordering of poison_val (Nico Pache) [1839055] - [virtio] virtio-mmio: Reject invalid IRQ 0 command line argument (Nico Pache) [1839055] - [virtio] virtio-balloon: Disable free page reporting if page poison reporting is not enabled (Nico Pache) [1839055] - [virtio] virtio-mmio: Delete an error message in vm_find_vqs() (Nico Pache) [1839055] - [virtio] virtio: add VIRTIO_RING_NO_LEGACY (Nico Pache) [1839055] - [virtio] virtio-balloon: Avoid using the word 'report' when referring to free page hinting (Nico Pache) [1839055] - [virtio] virtio-balloon: make virtballoon_free_page_report() static (Nico Pache) [1839055] - [virtio] virtio-balloon: switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM (Nico Pache) [1839055] - [documentation] mm/page_reporting: add free page reporting documentation (Nico Pache) [1839055] - [mm] mm/page_reporting: add budget limit on how many pages can be reported per pass (Nico Pache) [1839055] - [mm] mm/page_reporting: rotate reported pages to the tail of the list (Nico Pache) [1839055] - [virtio] virtio-balloon: add support for providing free page reports to host (Nico Pache) [1839055] - [virtio] virtio-balloon: pull page poisoning config out of free page hinting (Nico Pache) [1839055] - [mm] mm: introduce Reported pages (Nico Pache) [1839055] - [mm] mm: add function __putback_isolated_page (Nico Pache) [1839055] - [mm] mm: use zone and order instead of free area in free_list manipulators (Nico Pache) [1839055] - [mm] mm: adjust shuffle code to allow for future coalescing (Nico Pache) [1839055] - [virtio] virtio_balloon: Adjust label in virtballoon_probe (Nico Pache) [1839055] - [virtio] virtio_ring: Fix mem leak with vring_new_virtqueue() (Nico Pache) [1839055] - [virtio] virtio_balloon: Fix memory leaks on errors in virtballoon_probe() (Nico Pache) [1839055] - [virtio] virtio-balloon: Fix memory leak when unloading while hinting is in progress (Nico Pache) [1839055] - [virtio] virtio_balloon: prevent pfn array overflow (Nico Pache) [1839055] - [virtio] virtio-pci: check name when counting MSI-X vectors (Nico Pache) [1839055] - [virtio] virtio-balloon: initialize all vq callbacks (Nico Pache) [1839055] - [virtio] virtio-mmio: convert to devm_platform_ioremap_resource (Nico Pache) [1839055] - [virtio] virtio_balloon: divide/multiply instead of shifts (Nico Pache) [1839055] - [virtio] virtio_balloon: name cleanups (Nico Pache) [1839055] - [virtio] virtio_balloon: fix shrinker count (Nico Pache) [1839055] - [virtio] virtio_balloon: fix shrinker scan number of pages (Nico Pache) [1839055] - [virtio] virtio-mmio: add error check for platform_get_irq (Nico Pache) [1839055] - [virtio] virtio: Fix indentation of VIRTIO_MMIO (Nico Pache) [1839055] - [virtio] virtio/virtio_ring: do some comment fixes (Nico Pache) [1839055] - [virtio] virtio_pci: fix a NULL pointer reference in vp_del_vqs (Nico Pache) [1839055] - [virtio] virtio: hint if callbacks surprisingly might sleep (Nico Pache) [1839055] - [virtio] virtio_balloon: remove the unnecessary 0-initialization (Nico Pache) [1839055] - [virtio] virtio-balloon: improve update_balloon_size_func (Nico Pache) [1839055] - [virtio] virtio-balloon: tweak config_changed implementation (Nico Pache) [1839055] - [misc] virtio: don't allocate vqs when names= NULL (Nico Pache) [1839055] - [virtio] virtio_pci: use queue idx instead of array idx to set up the vq (Nico Pache) [1839055] - [virtio] virtio: remove deprecated VIRTIO_PCI_CONFIG() (Nico Pache) [1839055] - [mm] mm/page_poison: expose page_poisoning_enabled to kernel modules (Nico Pache) [1839055] - [virtio] virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON (Nico Pache) [1839055] - [virtio] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT (Nico Pache) [1839055] - [virtio] virtio: pci-legacy: Validate queue pfn (Nico Pache) [1839055] - [virtio] virtio: mmio-v1: Validate queue PFN (Nico Pache) [1839055] - [virtio] virtio_balloon: replace oom notifier with shrinker (Nico Pache) [1839055] - [virtio] virtio-balloon: kzalloc the vb struct (Nico Pache) [1839055] - [virtio] virtio-balloon: remove BUG() in init_vqs (Nico Pache) [1839055] - [mm] mm, debug_pagealloc: use a page type instead of page_ext flag (Nico Pache) [1839055] - [mm] mm, page_alloc: more extensive free page checking with debug_pagealloc (Nico Pache) [1839055] - [mm] mm, debug_pagelloc: use static keys to enable debugging (Nico Pache) [1839055] - [include] include/linux/page_ext.h: drop definition of unused PAGE_EXT_DEBUG_POISON (Nico Pache) [1839055] - [tty] vt: vt_ioctl: fix use-after-free in vt_in_use() (Vladis Dronov) [1875585] - [tty] vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console (Vladis Dronov) [1875585] - [tty] vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines (Vladis Dronov) [1875585] - [tty] vt: selection, introduce vc_is_sel (Vladis Dronov) [1875585] - [fs] gfs2: Don't sleep during glock hash walk (Andreas Grunbacher) [1871173]- [powerpc] powerpc/64s/hash: Fix hash_preload running with interrupts enabled (Diego Domingos) [1884152] - [powerpc] powerpc/pseries: Avoid using addr_to_pfn in real mode (Diego Domingos) [1822675] - [powerpc] powerpc/pseries: Handle UE event for memcpy_mcsafe (Diego Domingos) [1822675] - [powerpc] powerpc/pseries: Fix MCE handling on pseries (Diego Domingos) [1822675] - [powerpc] powerpc/64s/pseries: machine check convert to use common event code (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Print additional information about MCE error (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Print correct severity for MCE error (Diego Domingos) [1822675] - [powerpc] powerpc/64s: Report SLB multi-hit rather than parity error (Diego Domingos) [1822675] - [powerpc] powerpc/powernv/mce: Reduce MCE console logs to lesser lines (Diego Domingos) [1822675] - [powerpc] powerpc/pseries/mce: Improve array initialization (Diego Domingos) [1822675] - [powerpc] powerpc/pseries/mce: Fix misleading print for TLB mutlihit (Diego Domingos) [1822675] - [netdrv] i40e: fix crash when Rx descriptor count is changed (Jiri Benc) [1882708] - [netdrv] virtio_net: Fix out of bounds access of sq (Jiri Benc) [1882708] - [tools] tools/bpftool: Fix attaching flow dissector (Jiri Benc) [1882708] - [docs] bpf: Use valid and new links in index.rst (Jiri Benc) [1882708] - [netdrv] netdevsim: fix unbalaced locking in nsim_create() (Jiri Benc) [1882708] - [net] bpfilter: Allow to build bpfilter_umh as a module without static library (Jiri Benc) [1882708] - [net] bpf, netns: Fix use-after-free in pernet pre_exit callback (Jiri Benc) [1882708] - [net] xsk: Use dma_need_sync instead of reimplenting it (Jiri Benc) [1882708] - [net] xsk: Remove a double pool->dev assignment in xp_dma_map (Jiri Benc) [1882708] - [net] xsk: Replace the cheap_dma flag with a dma_need_sync flag (Jiri Benc) [1882708] - [net] dma-mapping: Add a new dma_need_sync API (Jiri Benc) [1882708] - [tools] selftests: bpf: Pass program to bpf_prog_detach in flow_dissector (Jiri Benc) [1882708] - [tools] selftests: bpf: Pass program and target_fd in flow_dissector_reattach (Jiri Benc) [1882708] - [net] bpf: flow_dissector: Check value of unused flags to BPF_PROG_DETACH (Jiri Benc) [1882708] - [net] bpf: flow_dissector: Check value of unused flags to BPF_PROG_ATTACH (Jiri Benc) [1882708] - [tools] libbpf: Adjust SEC short cut for expected attach type BPF_XDP_DEVMAP (Jiri Benc) [1882708] - [tools] selftests/bpf: Test updating flow_dissector link with same program (Jiri Benc) [1882708] - [net] bpf, netns: Keep a list of attached bpf_link's (Jiri Benc) [1882708] - [net] bpf, netns: Keep attached programs in bpf_prog_array (Jiri Benc) [1882708] - [net] flow_dissector: Pull BPF program assignment up to bpf-netns (Jiri Benc) [1882708] - [tools] libbpf: Fix CO-RE relocs against .text section (Jiri Benc) [1882708] - [tools] selftests/bpf: Move newer bpf_iter_* type redefining to a new header file (Jiri Benc) [1882708] - [net] xdp: Handle frame_sz in xdp_convert_zc_to_xdp_frame() (Jiri Benc) [1882708] - [net] xdp: Fix xsk_generic_xmit errno (Jiri Benc) [1882708] - [tools] bpf: Selftests and tools use struct bpf_devmap_val from uapi (Jiri Benc) [1882708] - [net] xdp: use shift instead of 64 bit division (Jiri Benc) [1882708] - [net] bpf: Fix unused-var without NETDEVICES (Jiri Benc) [1882708] - [net] seg6: fix seg6_validate_srh() to avoid slab-out-of-bounds (Jiri Benc) [1882708] - [net] seg6: fix SRH processing to comply with RFC8754 (Jiri Benc) [1882708] - [tools] selftests/bpf: Extend test_flow_dissector to cover link creation (Jiri Benc) [1882708] - [tools] selftests/bpf: Convert test_flow_dissector to use BPF skeleton (Jiri Benc) [1882708] - [tools] selftests/bpf, flow_dissector: Close TAP device FD after the test (Jiri Benc) [1882708] - [tools] selftests/bpf: Add tests for attaching bpf_link to netns (Jiri Benc) [1882708] - [tools] bpftool: Support link show for netns-attached links (Jiri Benc) [1882708] - [tools] bpftool: Extract helpers for showing link attach type (Jiri Benc) [1882708] - [tools] libbpf: Add support for bpf_link-based netns attachment (Jiri Benc) [1882708] - [net] bpf: Add link-based BPF program attachment to network namespace (Jiri Benc) [1882708] - [net] flow_dissector: Move out netns_bpf prog callbacks (Jiri Benc) [1882708] - [net] Introduce netns_bpf for BPF programs attached to netns (Jiri Benc) [1882708] - [net] flow_dissector: Pull locking up from prog attach callback (Jiri Benc) [1882708] - [net] bpf: Allow SO_BINDTODEVICE opt in bpf_setsockopt (Jiri Benc) [1882708] - [net] Make locking in sock_bindtoindex optional (Jiri Benc) [1882708] - [net] add sock_bindtoindex (Jiri Benc) [1882708] - [tools] selftest: Add tests for XDP programs in devmap entries (Jiri Benc) [1882708] - [net] xdp: Add xdp_txq_info to xdp_buff (Jiri Benc) [1882708] - [net] xdp: Introduce xdp_convert_frame_to_buff utility routine (Jiri Benc) [1882708] - [net] maintainers: Adjust entry in XDP SOCKETS to actual file name (Jiri Benc) [1882708] - [net] maintainers, xsk: Update AF_XDP section after moves/adds (Jiri Benc) [1882708] - [net] xsk: Explicitly inline functions and move definitions (Jiri Benc) [1882708] - [net] xdp: Simplify xdp_return_{frame, frame_rx_napi, buff} (Jiri Benc) [1882708] - [net] xsk: Remove MEM_TYPE_ZERO_COPY and corresponding code (Jiri Benc) [1882708] - [netdrv] mlx5, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] ixgbe, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] ice, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] i40e, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL (Jiri Benc) [1882708] - [netdrv] i40e: Separate kernel allocated rx_bi rings from AF_XDP rings (Jiri Benc) [1882708] - [netdrv] i40e: Refactor rx_bi accesses (Jiri Benc) [1882708] - [net] xsk: Introduce AF_XDP buffer allocation API (Jiri Benc) [1867206 1882708] - [net] xsk: Move defines only used by AF_XDP internals to xsk.h (Jiri Benc) [1882708] - [net] xsk: Move driver interface to xdp_sock_drv.h (Jiri Benc) [1882708] - [net] xsk: Move xskmap.c to net/xdp/ (Jiri Benc) [1882708] - [net] xsk: Fix xsk_umem_xdp_frame_sz() (Jiri Benc) [1882708] - [tools] selftests/bpf: Convert bpf_iter_test_kern{3, 4}.c to define own bpf_iter_meta (Jiri Benc) [1882708] - [tools] selftest/bpf: Make bpf_iter selftest compilable against old vmlinux.h (Jiri Benc) [1882708] - [net] bpf: Fix too large copy from user in bpf_test_init (Jiri Benc) [1882708] - [tools] selftests/bpf: Xdp_adjust_tail add grow tail tests (Jiri Benc) [1882708] - [tools] selftests/bpf: Adjust BPF selftest for xdp_adjust_tail (Jiri Benc) [1882708] - [net] bpf: Add xdp.frame_sz in bpf_prog_test_run_xdp(). (Jiri Benc) [1882708] - [net] xdp: Clear grow memory in bpf_xdp_adjust_tail() (Jiri Benc) [1882708] - [net] xdp: Allow bpf_xdp_adjust_tail() to grow packet size (Jiri Benc) [1882708] - [netdrv] mlx5: Rx queue setup time determine frame_sz for XDP (Jiri Benc) [1882708] - [netdrv] xdp: For Intel AF_XDP drivers add XDP frame_sz (Jiri Benc) [1882708] - [netdrv] ice: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] i40e: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] ixgbevf: Add XDP frame size to VF driver (Jiri Benc) [1882708] - [netdrv] ixgbe: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP frame size in two code paths (Jiri Benc) [1882708] - [netdrv] vhost_net: Also populate XDP frame size (Jiri Benc) [1882708] - [netdrv] tun: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] nfp: Add XDP frame size to netronome driver (Jiri Benc) [1882708] - [netdrv] net: thunderx: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] mlx4: Add XDP frame size and adjust max XDP MTU (Jiri Benc) [1882708] - [netdrv] qlogic/qede: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] hv_netvsc: Add XDP frame size to driver (Jiri Benc) [1882708] - [netdrv] veth: Xdp using frame_sz in veth driver (Jiri Benc) [1882708] - [netdrv] veth: Adjust hard_start offset on redirect XDP frames (Jiri Benc) [1882708] - [net] xdp: Cpumap redirect use frame_sz and increase skb_tailroom (Jiri Benc) [1882708] - [net] xdp: Xdp_frame add member frame_sz and handle in convert_to_xdp_frame (Jiri Benc) [1882708] - [net] XDP-generic determining XDP frame size (Jiri Benc) [1882708] - [netdrv] sfc: Add XDP frame size (Jiri Benc) [1882708] - [netdrv] bnxt: Add XDP frame size to driver (Jiri Benc) [1882708] - [net] xdp: Add frame size to xdp_buff (Jiri Benc) [1867209 1882708] - [net] bpfilter: switch to kernel_write (Jiri Benc) [1882708] - [tools] bpf: selftests: Add bpf_iter selftests (Jiri Benc) [1882708] - [tools] bpf: selftests: Add iterator programs for ipv6_route and netlink (Jiri Benc) [1882708] - [net] bpf: Enable bpf_iter targets registering ctx argument types (Jiri Benc) [1882708] - [net] bpf: Change func bpf_iter_unreg_target() signature (Jiri Benc) [1882708] - [net] bpf: Refactor bpf_iter target registration (Jiri Benc) [1882708] - [net] bpf: Add netlink and ipv6_route bpf_iter targets (Jiri Benc) [1882708] - [net] bpfilter: check if $(CC) can link static libc in Kconfig (Jiri Benc) [1882708] - [net] bpfilter: document build requirements for bpfilter_umh (Jiri Benc) [1882708] - [net] xsk: Remove unnecessary member in xdp_umem (Jiri Benc) [1882708] - [net] xsk: Change two variable names for increased clarity (Jiri Benc) [1882708] - [net] bpfilter: match bit size of bpfilter_umh to that of the kernel (Jiri Benc) [1882708] - [docs] networking: convert filter.txt to ReST (Jiri Benc) [1882708] - [net] xsk: Fix typo in xsk_umem_consume_tx and xsk_generic_xmit comments (Jiri Benc) [1882708] - [net] introduce SO_BINDTOIFINDEX sockopt (Jiri Benc) [1882708] - [net] netlink: Use sizeof_field() macro (Jiri Benc) [1882708] - [net] xdp: Add SPDX license identifier - Makefile/Kconfig (Jiri Benc) [1882708] - [net] bpfilter: prefix header search paths with $(srctree)/ (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP meta data support (Jiri Benc) [1882708] - [netdrv] virtio_net: Keep vnet header zeroed if XDP is loaded for small buffer (Jiri Benc) [1882708] - [netdrv] virtio-net: keep vnet header zeroed after processing XDP (Jiri Benc) [1882708] - [netdrv] virtio-net: get rid of unnecessary container of rq stats (Jiri Benc) [1882708] - [netdrv] virtio-net: correctly update XDP_TX counters (Jiri Benc) [1882708] - [netdrv] virtio_net: Add kick stats (Jiri Benc) [1882708] - [netdrv] virtio_net: Add XDP related stats (Jiri Benc) [1882708] - [netdrv] virtio_net: Factor out the logic to determine xdp sq (Jiri Benc) [1882708] - [netdrv] virtio_net: Make drop counter per-queue (Jiri Benc) [1882708] - [netdrv] virtio_net: Use temporary storage for accounting rx stats (Jiri Benc) [1882708] - [netdrv] bnx2: mark driver deprecated (Jonathan Toppins) [1878183] - [net] openvswitch: silence suspicious RCU usage warning (Eelco Chaudron) [1895862] - [net] openswitch: reuse the helper variable to improve the code readablity (Eelco Chaudron) [1895862] - [net] openvswitch: remove unused keep_flows (Eelco Chaudron) [1895862] - [net] openvswitch: refactor flow free function (Eelco Chaudron) [1895862] - [net] openvswitch: improve the coding style (Eelco Chaudron) [1895862] - [net] openvswitch: use skb_list_walk_safe helper for gso segments (Eelco Chaudron) [1895862] - [net] openvswitch: do not update max_headroom if new headroom is equal to old headroom (Eelco Chaudron) [1895862] - [net] openvswitch: drop unneeded likely() call around IS_ERR() (Eelco Chaudron) [1895862] - [net] openvswitch: convert to kvmalloc (Eelco Chaudron) [1895862] - [infiniband] RDMA/rxe: Mark Soft-RoCE driver as unsupported (Kamal Heib) [1878207] - [net] netfilter: nf_log: missing vlan offload tag and proto (Florian Westphal) [1889990] - [net] ipvs: clear skb->tstamp in forwarding path (Florian Westphal) [1889990] - [net] netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid (Florian Westphal) [1889990] - [net] netfilter: ctnetlink: add a range check for l3/l4 protonum (Florian Westphal) [1889990] {CVE-2020-25211} - [net] netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS (Florian Westphal) [1889990] - [net] netfilter: nf_tables: fix destination register zeroing (Florian Westphal) [1889990] - [net] netfilter: nf_tables: add NFTA_SET_USERDATA if not null (Florian Westphal) [1889990] - [net] netfilter: flowtable: Set offload timeout when adding flow (Florian Westphal) [1889990] - [net] netfilter: conntrack: Move nf_ct_offload_timeout to header file (Florian Westphal) [1889990] - [net] netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap detection (Florian Westphal) [1889990] - [net] netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian (Florian Westphal) [1889990] - [net] netfilter: nft_set_pipapo: Drop useless assignment of scratch map index on insert (Florian Westphal) [1889990] - [net] netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct (Florian Westphal) [1889990] - [net] netfilter: arp_tables: init netns pointer in xt_tgchk_param struct (Florian Westphal) [1889990] - [net] ipvs: do not schedule icmp errors from tunnels (Florian Westphal) [1889990] - [powercap] powercap: intel_rapl: add support for Sapphire Rapids (Steve Best) [1837373] - [powercap] powercap/intel_rapl: add support for RocketLake (Steve Best) [1782715] - [char] ipmi: Use fallthrough pseudo-keyword (Tony Camuso) [1877848] - [char] ipmi/watchdog: add missing newlines when printing parameters by sysfs (Tony Camuso) [1877848] - [char] ipmi: remve duplicate code in __ipmi_bmc_register() (Tony Camuso) [1877848] - [documentation] docs: ipmi: Replace HTTP links with HTTPS ones (Tony Camuso) [1877848] - [char] ipmi: ssif: Remove finished TODO comment about SMBus alert (Tony Camuso) [1877848] - [documentation] Doc: driver-api: ipmi: Add description of alerts_broken module param (Tony Camuso) [1877848] - [char] ipmi:ssif: Remove dynamic platform device handing (Tony Camuso) [1877848] - [char] Try to load acpi_ipmi when an SSIF ACPI IPMI interface is added (Tony Camuso) [1877848] - [char] ipmi_si: Load acpi_ipmi when ACPI IPMI interface added (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Fix error handling and status check (Tony Camuso) [1877848] - [char] ipmi: Replace guid_copy() with import_guid() where it makes sense (Tony Camuso) [1877848] - [char] ipmi: use vzalloc instead of kmalloc for user creation (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Fix some format issue of the code (Tony Camuso) [1877848] - [char] ipmi:bt-bmc: Avoid unnecessary check (Tony Camuso) [1877848] - [char] docs: fix references for ipmi.rst file (Tony Camuso) [1877848] - [documentation] docs: move IPMI.txt to the driver API book (Tony Camuso) [1877848]- [powerpc] pseries: Fix 64 bit logical memory block panic (Steve Best) [1894922] - [mm] powerpc/book3s64/radix: Make radix_mem_block_size 64bit (Steve Best) [1894922] - [powerpc] powerpc/64s/radix: Fix build failure with RADIX_MMU=n (Steve Best) [1894922] - [x86] kvm: mmu: fix is_tdp_mmu_check when the TDP MMU is not in use (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: svm: Update cr3_lm_rsvd_bits for AMD SEV guests (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: Introduce cr3_lm_rsvd_bits in kvm_vcpu_arch (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: clflushopt should be treated as a no-op by emulation (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: handle MSR_IA32_DEBUGCTLMSR with report_ignored_msrs (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: request masterclock update any time guest uses different msr (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: ensure pv_cpuid.features is initialized when enabling cap (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: reads of restricted pv msrs should also result in #GP (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: use positive error values for msr emulation that causes #GP (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86/mmu: fix counting of rmap entries in pte_list_add (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: x86: bump KVM_MAX_CPUID_ENTRIES (Vitaly Kuznetsov) [1898914 1878097] - [x86] vmxfeatures: rename features for consistency with KVM and manual (Vitaly Kuznetsov) [1898914 1878097] - [x86] kvm: vmx: Add VMX_FEATURE_USR_WAIT_PAUSE (Vitaly Kuznetsov) [1878097 1898914] - [x86] Expose SERIALIZE for supported cpuid (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: x86: Expose fast short REP MOV for supported cpuid (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: x86: Expose AVX512 VP2INTERSECT in cpuid for TGL (Vitaly Kuznetsov) [1878097 1898914] - [x86] kvm: Convert to new CPU match macros (Vitaly Kuznetsov) [1878097 1898914] - [documentation] docs: kvm: fix referenced ioctl symbol (Vitaly Kuznetsov) [1878097 1898914] - [documentation] docs: kvm: api.rst: add missing spaces (Vitaly Kuznetsov) [1878097 1898914] - [virt] kvm: use struct_size() and flex_array_size() helpers in kvm_io_bus_unregister_dev() (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix a typo (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix some typos in cpuid.rst (Vitaly Kuznetsov) [1878097 1898914] - [documentation] documentation: kvm: fix a typo (Vitaly Kuznetsov) [1878097 1898914] - [x86] x86/cpu: Fix typos and improve the comments in sync_core() (David Arcari) [1837457] - [x86] x86/cpu: Use SERIALIZE in sync_core() when available (David Arcari) [1837457] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (David Arcari) [1837457] - [x86] x86/cpufeatures: Add enumeration for SERIALIZE instruction (David Arcari) [1837457] - [x86] x86/cpu: Refactor sync_core() for readability (David Arcari) [1837457] - [x86] x86/cpu: Relocate sync_core() to sync_core.h (David Arcari) [1837457] - [arm64] kvm: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception (Auger Eric) [1882794] - [arm64] kvm: arm64: Survive synchronous exceptions caused by AT instructions (Auger Eric) [1882794] - [arm64] kvm: arm64: Add kvm_extable for vaxorcism code (Auger Eric) [1882794] - [arm64] kvm: arm64: Print warning when cpu erratum can cause guests to deadlock (Auger Eric) [1882794] - [arm64] kvm: arm64: clean up redundant 'kvm_run' parameters (Auger Eric) [1882794] - [arm64] kvm: arm64: Use common KVM implementation of MMU memory caches (Auger Eric) [1882794] - [arm64] kvm: arm64: Use common code's approach for __GFP_ZERO with memory caches (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop @max param from mmu_topup_memory_cache() (Auger Eric) [1882794] - [arm64] s/AMEVTYPE/AMEVTYPER (Auger Eric) [1882794] - [arm64] kvm: arm64: bti: Reset BTYPE when skipping emulated instructions (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove S1PTW check from kvm_vcpu_dabt_iswrite() (Auger Eric) [1882794] - [arm64] kvm: arm64: Assume write fault on S1PTW permission fault on instruction fetch (Auger Eric) [1882794] - [arm64] kvm: arm64: Update page shift if stage 2 block mapping not supported (Auger Eric) [1882794] - [arm64] kvm: arm64: Fix address truncation in traces (Auger Eric) [1882794] - [arm64] kvm: arm64: Do not try to map PUDs when they are folded into PMD (Auger Eric) [1882794] - [documentation] arm64/x86: kvm: Introduce steal-time cap (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Fix stolen time accounting across migration (Auger Eric) [1882794] - [kernel] kvm: arm64: Drop type input from kvm_put_guest (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Fix potential loss of stolen time (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: steal-time is only supported when configured (Auger Eric) [1882794] - [arm64] kvm: arm64: Move S1PTW S2 fault logic out of io_mem_abort() (Auger Eric) [1882794] - [arm64] kvm: arm64: Don't skip cache maintenance for read-only memslots (Auger Eric) [1882794] - [arm64] kvm: arm64: Handle data and instruction external aborts the same way (Auger Eric) [1882794] - [arm64] kvm: arm64: Rename kvm_vcpu_dabt_isextabt() (Auger Eric) [1882794] - [trace] kvm: arm: Add trace name for ARM_NISV (Auger Eric) [1882794] - [arm64] kvm: arm64: Ensure that all nVHE hyp code is in .hyp.text (Auger Eric) [1882794] - [arm64] kvm: arm64: Don't use has_vhe() for CHOOSE_HYP_SYM() (Auger Eric) [1882794] - [arm64] kvm: arm64: timers: Move timer registers to the sys_regs file (Auger Eric) [1882794] - [arm64] kvm: arm64: timers: Rename kvm_timer_sync_hwstate to kvm_timer_sync_user (Auger Eric) [1882794] - [arm64] kvm: arm64: Move SPSR_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Disintegrate SPSR array (Auger Eric) [1882794] - [arm64] kvm: arm64: Move SP_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Move ELR_EL1 to the system register array (Auger Eric) [1882794] - [arm64] kvm: arm64: Make struct kvm_regs userspace-only (Auger Eric) [1882794] - [arm64] kvm: arm64: debug: Drop useless vpcu parameter (Auger Eric) [1882794] - [arm64] kvm: arm64: pauth: Use ctxt_sys_reg() instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: sve: Use __vcpu_sys_reg() instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: hyp: Use ctxt_sys_reg/__vcpu_sys_reg instead of raw sys_regs access (Auger Eric) [1882794] - [arm64] kvm: arm64: Introduce accessor for ctxt->sys_reg (Auger Eric) [1882794] - [arm64] kvm: arm64: Rename HSR to ESR (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop long gone function parameter documentation (Auger Eric) [1882794] - [arm64] kvm: arm64: vgic-its: Change default outer cacheability for {PEND, PROP}BASER (Auger Eric) [1882794] - [arm64] kvm: arm64: Lift instrumentation restrictions on VHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove __hyp_text macro, use build rules instead (Auger Eric) [1882794] - [arm64] kvm: arm64: Compile remaining hyp/ files for both VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Duplicate hyp/timer-sr.c for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/sysreg-sr.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/debug-sr.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Split hyp/switch.c to VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Duplicate hyp/tlb.c for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Move hyp-init.S to nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Build hyp-entry.S separately for VHE/nVHE (Auger Eric) [1882794] - [arm64] kvm: arm64: Handle calls to prefixed hyp functions (Auger Eric) [1882794] - [arm64] kvm: arm64: Use build-time defines in has_vhe() (Auger Eric) [1882794] - [arm64] kvm: arm64: Add build rules for separate VHE/nVHE object files (Auger Eric) [1882794] - [arm64] kvm: arm64: Move __smccc_workaround_1_smc to .rodata (Auger Eric) [1882794] - [arm64] kvm: arm64: Fix symbol dependency in __hyp_call_panic_nvhe (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove the target table (Auger Eric) [1882794] - [arm64] kvm: arm64: Remove target_table from exit handlers (Auger Eric) [1882794] - [arm64] kvm: arm64: Move ACTLR_EL1 emulation to the sys_reg_descs array (Auger Eric) [1882794] - [arm64] kvm: arm64: Tolerate an empty target_table list (Auger Eric) [1882794] - [arm64] kvm: arm64: Drop the target_table[] indirection (Auger Eric) [1882794] - [arm64] kvm: Remove kern_hyp_va from get_vcpu_ptr (Auger Eric) [1882794] - [arm64] kvm: arm64: Allow in-atomic injection of SPIs (Auger Eric) [1882794] - [arm64] kvm: arm64: Add emulation for 32bit guests accessing ACTLR2 (Auger Eric) [1882794] - [arm64] kvm: arm64: Use cpus_have_final_cap for has_vhe() (Auger Eric) [1882794] - [arm64] efi: Move variable assignments after SECTIONS (Auger Eric) [1882794] - [arm64] efi: Mark __efistub_stext_offset as an absolute symbol explicitly (Auger Eric) [1882794] - [arm64] drop linker script hack to hide __efistub_ symbols (Auger Eric) [1882794] - [arm64] kvm: arm64: Synchronize sysreg state on injecting an AArch32 exception (Auger Eric) [1882794] - [arm64] kvm: arm64: Make vcpu_cp1x() work on Big Endian hosts (Auger Eric) [1882794] - [arm64] kvm: arm64: Stop sparse from moaning at __hyp_this_cpu_ptr (Auger Eric) [1882794] - [arm64] kvm: arm64: Check advertised Stage-2 page size capability (Auger Eric) [1882794] - [arm64] cpufeature: Don't treat granule sizes as strict (Auger Eric) [1882794] - [arm64] cpufeature: Validate hypervisor capabilities during CPU hotplug (Auger Eric) [1882794] - [arm64] kvm: hyp: use cpus_have_final_cap() (Auger Eric) [1882794] - [arm64] cpufeature: add cpus_have_final_cap() (Auger Eric) [1882794] - [arm64] mark (__)cpus_have_const_cap as __always_inline (Auger Eric) [1882794] - [arm64] Mark call_smc_arch_workaround_1 as __maybe_unused (Auger Eric) [1882794] - [arm64] Make use of ARCH_WORKAROUND_1 even when KVM is not enabled (Auger Eric) [1882794] - [arm64] kvm: arm64: Delete duplicated label in invalid_vector (Auger Eric) [1882794] - [arm64] use mov_q instead of literal ldr (Auger Eric) [1882794] - [arm64] kvm: Modernize __smccc_workaround_1_smc_start annotations (Auger Eric) [1882794] - [arm64] kvm: Modernize annotation for __bp_harden_hyp_vecs (Auger Eric) [1882794] - [arm64] kvm: Annotate assembly using modern annoations (Auger Eric) [1882794] - [arm64] kvm: arm64: Prevent vcpu_has_ptrauth from generating OOL functions (Auger Eric) [1882794] - [arm64] kvm: disable access to AMU registers from kvm guests (Auger Eric) [1882794] - [arm64] kvm: arm64: pvtime: Ensure task delay accounting is enabled (Auger Eric) [1882794] - [arm64] kvm: arm64: Stop writing aarch32's CSSELR into ACTLR (Auger Eric) [1882794] - [arm64] kvm: Annotate guest entry/exit as a single function (Auger Eric) [1882794] - [kernel] linkage: Introduce new macros for assembler symbols (Auger Eric) [1882794] - [s390] kvm: s390: remove diag318 reset code (Thomas Huth) [1899497] - [powerpc] powerpc/hv-gpci: Add sysfs files inside hv-gpci device to show cpumask (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-gpci: Add cpu hotplug support (Michael Petlan) [1844416] - [documentation] Documentation/ABI: Add ABI documentation for hv-gpci format (Michael Petlan) [1844416] - [documentation] Documentation/ABI: Add ABI documentation for hv-24x7 format (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-gpci: Fix starting index value (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-24x7: Move cpumask file to top folder of hv-24x7 driver (Michael Petlan) [1844416] - [powerpc] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show cpumask (Michael Petlan) [1844416] - [powerpc] powerpc/perf/hv-24x7: Add cpu hotplug support (Michael Petlan) [1844416] - [powerpc] powerpc/perf: Fix reading of MSRbits in trace-imc (Michael Petlan) [1854536] - [powerpc] powerpc/perf: Add kernel support for new MSRbits in trace-imc (Michael Petlan) [1854536] - [documentation] kdump: update kdump documentation due to change of crash URL (Lianbo Jiang) [1896236] - [pinctrl] pinctrl: intel: Add Intel Emmitsburg pin controller support (David Arcari) [1837409] - [x86] x86/platform/uv: Fix copied UV5 output archtype (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Drop last traces of uv_flush_tlb_others (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Recognize UV5 hubless system identifier (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove spaces from OEM IDs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Fix missing OEM_TABLE_ID (Frank Ramsay) [1861439] - [misc] x86/platform/uv: Update Copyrights to conform to HPE standards (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update for UV5 NMI MMR changes (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV5 TSC checking (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update node present counting (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV5 MMR references in UV GRU (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Adjust GAM MMR references affected by UV5 updates (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update MMIOH references based on new UV5 MMRs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Add and decode Arch Type in UVsystab (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Add UV5 direct references (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Update UV MMRs for UV5 (Frank Ramsay) [1861439] - [misc] drivers/misc/sgi-xp: Adjust references in UV kernel modules (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove SCIR MMR references for UV systems (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove UV BAU TLB Shootdown Handler (Frank Ramsay) [1861439] - [x86] x86/kernel: Fix more -Wmissing-prototypes warnings (Frank Ramsay) [1861439] - [x86] x86/apic/uv: Avoid unused variable warning (Frank Ramsay) [1861439] - [misc] misc: sgi-xp: xp_main: Staticify local functions xp_init() and xp_exit() (Frank Ramsay) [1861439] - [misc] misc/sgi-xp: remove SGI SN2 support (Frank Ramsay) [1861439] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Frank Ramsay) [1861439] - [x86] efi/x86: Remove unreachable code in kexec_enter_virtual_mode() (Frank Ramsay) [1861439] - [x86] x86/efi: Remove unused EFI_UV1_MEMMAP code (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove uv bios and efi code related to EFI_UV1_MEMMAP (Frank Ramsay) [1861439] - [x86] x86/efi: Remove references to no-longer-used efi_have_uv1_memmap() (Frank Ramsay) [1861439] - [x86] x86/efi: Delete SGI UV1 detection (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove efi=old_map command line option (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove vestigial mention of UV1 platform from bios header (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for uv1 platform from uv_hub (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_bau (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_mmrs (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from x2apic_uv_x (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_tlb (Frank Ramsay) [1861439] - [x86] x86/platform/uv: Remove support for UV1 platform from uv_time (Frank Ramsay) [1861439] - [x86] x86/apic/uv: Make x2apic_extra_bits static (Frank Ramsay) [1861439] - [s390] uv: add destroy page call (Thomas Huth) [1882800] - [s390] gmap: improve THP splitting (Thomas Huth) [1882800] - [s390] kvm: s390: clean up redundant 'kvm_run' parameters (Thomas Huth) [1882800] - [documentation] documentation: virt: kvm/s390-pv: drop doubled words (Thomas Huth) [1882800] - [s390] kvm: s390: reduce number of IO pins to 1 (Thomas Huth) [1882800] - [s390] protvirt: use scnprintf() instead of snprintf() (Thomas Huth) [1882800] - [s390] kvm: s390: remove unneeded semicolon in gisa_vcpu_kicker() (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: gmap_table_walk() simplifications (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Move conditional reschedule (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Fix possible race when shadowing region 3 tables (Thomas Huth) [1882800] - [s390] kvm: s390: vsie: Fix region 1 ASCE sanity shadow address checks (Thomas Huth) [1882800] - [s390] kvm: s390: Use fallthrough; (Thomas Huth) [1882800] - [s390] mm: use refcount_t for refcount (Thomas Huth) [1882800] - [s390] mm: make gmap_test_and_clear_dirty_pmd static (Thomas Huth) [1882800] - [s390] mm: optimize locking without huge pages in gmap_pmd_op_walk() (Thomas Huth) [1882800] - [net] openvswitch: introduce common code for flushing flows (Eelco Chaudron) [1888576] - [net] openvswitch: silence suspicious RCU usage warning (Eelco Chaudron) [1888576] - [net] openvswitch: make masks cache size configurable (Eelco Chaudron) [1888576] - [net] openvswitch: add masks cache hit counter (Eelco Chaudron) [1888576] - [net] openvswitch: Prevent kernel-infoleak in ovs_ct_put_key() (Eelco Chaudron) [1888576] - [net] openvswitch: kerneldoc fixes (Eelco Chaudron) [1888576] - [net] openvswitch: use div_u64() for 64-by-32 divisions (Eelco Chaudron) [1888576] - [net] openvswitch: suitable access to the dp_meters (Eelco Chaudron) [1888576] - [net] openvswitch: use u64 for meter bucket (Eelco Chaudron) [1888576] - [net] openvswitch: make EINVAL return value more obvious (Eelco Chaudron) [1888576] - [net] openvswitch: remove the unnecessary check (Eelco Chaudron) [1888576] - [net] openvswitch: set max limitation to meters (Eelco Chaudron) [1888576] - [net] openvswitch: expand the meters supported number (Eelco Chaudron) [1888576] - [net] openvswitch: use hlist_for_each_entry_rcu instead of hlist_for_each_entry (Eelco Chaudron) [1888576] - [net] ovs: datapath: hide clang frame-overflow warnings (Eelco Chaudron) [1888576] - [net] openvswitch: use netif_ovs_is_port() instead of opencode (Eelco Chaudron) [1888576] - [platform] platform/x86: intel_pmc_core: avoid unused-function warnings (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: fix bound check in pmc_core_mphy_pg_show() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: update TGL's LPM0 reg bit map name (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make pmc_core_substate_res_show() generic (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make pmc_core_lpm_display() generic for platforms that support sub-states (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add slp_s0_offset attribute back to tgl_reg_map (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove duplicate 'if' to create debugfs entry (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Relocate pmc_core_*_display() to outside of CONFIG_DEBUG_FS (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs support to access live status registers (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Dump low power status registers on an S0ix.y failure (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add an additional parameter to pmc_core_lpm_display() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove slp_s0 attributes from tgl_reg_map (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Refactor the driver by removing redundant code (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs entry for low power mode status registers (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Add debugfs entry to access sub-state residencies (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Fix spelling of MHz unit (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Fix indentation in function definitions (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Put more stuff under #ifdef DEBUG_FS (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Respect error code of kstrtou32_from_user() (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Make debugfs entry for pch_ip_power_gating_status conditional (David Arcari) [1783140] - [platform] platform/x86: intel_pmc_core: Remove unnecessary assignments (David Arcari) [1783140]- [net] mptcp: provide rmem[0] limit (Davide Caratti) [1874368] - [net] mptcp: add missing memory scheduling in the rx path (Davide Caratti) [1874368] - [net] mptcp: depends on IPV6 but not as a module (Davide Caratti) [1874368] - [tools] selftests: mptcp: depends on built-in IPv6 (Davide Caratti) [1874368] - [net] mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it (Davide Caratti) [1874368] - [net] mptcp: subflows garbage collection (Davide Caratti) [1874368] - [net] mptcp: fix fallback for MP_JOIN subflows (Davide Caratti) [1874368] - [net] mptcp: make DACK4/DACK8 usage consistent among all subflows (Davide Caratti) [1874368] - [net] mptcp: fix infinite loop on recvmsg()/worker() race. (Davide Caratti) [1874368] - [net] mptcp: don't skip needed ack (Davide Caratti) [1874368] - [net] mptcp: more DATA FIN fixes (Davide Caratti) [1874368] - [net] mptcp: Constify mptcp_pm_ops (Davide Caratti) [1874368] - [net] mptcp: ADD_ADDRs with echo bit are smaller (Davide Caratti) [1874368] - [net] mptcp: Handle incoming 32-bit DATA_FIN values (Davide Caratti) [1874368] - [net] mptcp: Consistently use READ_ONCE/WRITE_ONCE with msk->ack_seq (Davide Caratti) [1874368] - [net] tcp: drop unused function argument from mptcp_incoming_options (Davide Caratti) [1874368] - [net] mptcp: retransmit ADD_ADDR when timeout (Davide Caratti) [1874368] - [net] mptcp: add sk_stop_timer_sync helper (Davide Caratti) [1874368] - [net] mptcp: add struct mptcp_pm_add_entry (Davide Caratti) [1874368] - [tools] selftests: mptcp: add remove addr and subflow test cases (Davide Caratti) [1874368] - [tools] selftests: mptcp: add remove cfg in mptcp_connect (Davide Caratti) [1874368] - [net] mptcp: add mptcp_destroy_common helper (Davide Caratti) [1874368] - [net] mptcp: add RM_ADDR related mibs (Davide Caratti) [1874368] - [net] mptcp: implement mptcp_pm_remove_subflow (Davide Caratti) [1874368] - [net] mptcp: remove addr and subflow in PM netlink (Davide Caratti) [1874368] - [net] mptcp: add accept_subflow re-check (Davide Caratti) [1874368] - [tools] selftests: mptcp: add ADD_ADDR mibs check function (Davide Caratti) [1874368] - [net] tcp: change pingpong threshold to 3 (Davide Caratti) [1874368] - [net] tcp: Refactor pingpong code (Davide Caratti) [1874368] - [net] mptcp: add ADD_ADDR related mibs (Davide Caratti) [1874368] - [net] mptcp: send out ADD_ADDR with echo flag (Davide Caratti) [1874368] - [net] mptcp: add the incoming RM_ADDR support (Davide Caratti) [1874368] - [net] mptcp: add the outgoing RM_ADDR support (Davide Caratti) [1874368] - [net] mptcp: rename addr_signal and the related functions (Davide Caratti) [1874368] - [net] mptcp: Wake up MPTCP worker when DATA_FIN found on a TCP FIN packet (Davide Caratti) [1874368] - [net] mptcp: fix integer overflow in mptcp_subflow_discard_data() (Davide Caratti) [1874368] - [net] mptcp: Fix unsigned 'max_seq' compared with zero in mptcp_data_queue_ofo (Davide Caratti) [1874368] - [tools] selftests: mptcp: interpret \n as a new line (Davide Caratti) [1874368] - [tools] selftests: mptcp: interpret \n as a new line (Davide Caratti) [1874368] - [tools] mptcp: simult flow self-tests (Davide Caratti) [1874368] - [net] mptcp: call tcp_cleanup_rbuf on subflows (Davide Caratti) [1874368] - [net] mptcp: allow picking different xmit subflows (Davide Caratti) [1874368] - [net] mptcp: allow creating non-backup subflows (Davide Caratti) [1874368] - [net] mptcp: move address attribute into mptcp_addr_info (Davide Caratti) [1874368] - [net] mptcp: add OoO related mibs (Davide Caratti) [1874368] - [net] mptcp: cleanup mptcp_subflow_discard_data() (Davide Caratti) [1874368] - [net] mptcp: move ooo skbs into msk out of order queue. (Davide Caratti) [1874368] - [net] mptcp: introduce and use mptcp_try_coalesce() (Davide Caratti) [1874368] - [net] mptcp: basic sndbuf autotuning (Davide Caratti) [1874368] - [net] mptcp: trigger msk processing even for OoO data (Davide Caratti) [1874368] - [net] mptcp: set data_ready status bit in subflow_check_data_avail() (Davide Caratti) [1874368] - [net] mptcp: rethink 'is writable' conditional (Davide Caratti) [1874368] - [net] tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT (Davide Caratti) [1874368] - [net] mptcp: fix kmalloc flag in mptcp_pm_nl_get_local_id (Davide Caratti) [1874368] - [net] mptcp: fix subflow's remote_id issues (Davide Caratti) [1874368] - [net] mptcp: fix subflow's local_id issues (Davide Caratti) [1874368] - [net] mptcp: Remove unused macro MPTCP_SAME_STATE (Davide Caratti) [1874368] - [net] treewide: Use fallthrough pseudo-keyword (Davide Caratti) [1874368] - [net] netlink: consistently use NLA_POLICY_EXACT_LEN() (Davide Caratti) [1874368] - [net] mptcp: free acked data before waiting for more memory (Davide Caratti) [1874368] - [net] mptcp: sendmsg: reset iter on error redux (Davide Caratti) [1874368] - [net] mptcp: sendmsg: reset iter on error (Davide Caratti) [1874368] - [net] mptcp: fix warn at shutdown time for unaccepted msk sockets (Davide Caratti) [1874368] - [net] mptcp: use mptcp_for_each_subflow in mptcp_stream_accept (Davide Caratti) [1874368] - [net] mptcp: fix syncookie build error on UP (Davide Caratti) [1874368] - [net] tcp: fix syn cookied MPTCP request socket leak (Davide Caratti) [1874368] - [net] tcp: fix build fong CONFIG_MPTCP=n (Davide Caratti) [1874368] - [tools] selftests: mptcp: add test cases for mptcp join tests with syn cookies (Davide Caratti) [1874368] - [tools] selftests: mptcp: make 2nd net namespace use tcp syn cookies unconditionally (Davide Caratti) [1874368] - [net] mptcp: enable JOIN requests even if cookies are in use (Davide Caratti) [1874368] - [net] tcp: free request sock directly upon TFO or syncookies error (Davide Caratti) [1874368] - [include] net: keep refcount warning in reqsk_free() (Davide Caratti) [1874368] - [net] tcp: syncookies: create mptcp request socket for ACK cookies with MPTCP option (Davide Caratti) [1874368] - [net] mptcp: subflow: add mptcp_subflow_init_cookie_req helper (Davide Caratti) [1874368] - [net] mptcp: rename and export mptcp_subflow_request_sock_ops (Davide Caratti) [1874368] - [net] mptcp: subflow: split subflow_init_req (Davide Caratti) [1874368] - [net] mptcp: token: move retry to caller (Davide Caratti) [1874368] - [net] tcp: rename request_sock cookie_ts bit to syncookie (Davide Caratti) [1874368] - [net] mptcp: Safely store sequence number when sending data (Davide Caratti) [1874368] - [net] mptcp: Safely read sequence number when lock isn't held (Davide Caratti) [1874368] - [net] mptcp: Skip unnecessary skb extension allocation for bare acks (Davide Caratti) [1874368] - [net] mptcp: Only use subflow EOF signaling on fallback connections (Davide Caratti) [1874368] - [net] mptcp: Use full MPTCP-level disconnect state machine (Davide Caratti) [1874368] - [net] mptcp: Add helper to process acks of DATA_FIN (Davide Caratti) [1874368] - [net] mptcp: Add mptcp_close_state() helper (Davide Caratti) [1874368] - [net] mptcp: Track received DATA_FIN sequence number and add related helpers (Davide Caratti) [1874368] - [net] mptcp: Use MPTCP-level flag for sending DATA_FIN (Davide Caratti) [1874368] - [net] mptcp: Remove outdated and incorrect comment (Davide Caratti) [1874368] - [net] mptcp: Return EPIPE if sending is shut down during a sendmsg (Davide Caratti) [1874368] - [net] mptcp: Allow DATA_FIN in headers without TCP FIN (Davide Caratti) [1874368] - [net] subflow: introduce and use mptcp_can_accept_new_subflow() (Davide Caratti) [1874368] - [net] subflow: use rsk_ops->send_reset() (Davide Caratti) [1874368] - [net] mptcp: cleanup subflow_finish_connect() (Davide Caratti) [1874368] - [net] mptcp: explicitly track the fully established status (Davide Caratti) [1874368] - [net] mptcp: mark as fallback even early ones (Davide Caratti) [1874368] - [net] mptcp: avoid data corruption on reinsert (Davide Caratti) [1874368] - [net] subflow: always init 'rel_write_seq' (Davide Caratti) [1874368] - [net] mptcp: zero token hash at creation time. (Davide Caratti) [1874368] - [net] mptcp: move helper to where its used (Davide Caratti) [1874368] - [tools] selftests/mptcp: Better delay & reordering configuration (Davide Caratti) [1874368] - [tools] selftests: mptcp: fix typo in mptcp_connect usage (Davide Caratti) [1874368] - [tools] mptcp: more stable diag self-tests (Davide Caratti) [1874368] - [tools] selftests: mptcp: fix dependecies (Davide Caratti) [1874368] - [net] inet_diag: validate INET_DIAG_REQ_PROTOCOL attribute (Davide Caratti) [1874368] - [tools] selftests/mptcp: add diag interface tests (Davide Caratti) [1874368] - [net] mptcp: add MPTCP socket diag interface (Davide Caratti) [1874368] - [net] mptcp: add msk interations helper (Davide Caratti) [1874368] - [net] inet_diag: support for wider protocol numbers (Davide Caratti) [1874368] - [net] mptcp: use mptcp worker for path management (Davide Caratti) [1874368] - [include] mptcp: Remove unused inline function mptcp_rcv_synsent() (Davide Caratti) [1874368] - [net] mptcp: support IPV6_V6ONLY setsockopt (Davide Caratti) [1874368] - [net] mptcp: add REUSEADDR/REUSEPORT support (Davide Caratti) [1874368] - [net] use mptcp setsockopt function for SOL_SOCKET on mptcp sockets (Davide Caratti) [1874368] - [net] mptcp: do nonce initialization at subflow creation time (Davide Caratti) [1874368] - [net] mptcp: close poll() races (Davide Caratti) [1874368] - [net] mptcp: __mptcp_tcp_fallback() returns a struct sock (Davide Caratti) [1874368] - [net] mptcp: create first subflow at msk creation time (Davide Caratti) [1874368] - [net] mptcp: check for plain TCP sock at accept time (Davide Caratti) [1874368] - [net] mptcp: move mptcp_options_received's port initialization (Davide Caratti) [1874368] - [net] mptcp: initialize mptcp_options_received's ahmac (Davide Caratti) [1874368] - [net] mptcp: MPTCP_KUNIT_TESTS should depend on MPTCP instead of selecting it (Davide Caratti) [1874368] - [net] mptcp: introduce token KUNIT self-tests (Davide Caratti) [1874368] - [net] mptcp: move crypto test to KUNIT (Davide Caratti) [1874368] - [net] mptcp: refactor token container (Davide Caratti) [1874368] - [net] mptcp: add __init annotation on setup functions (Davide Caratti) [1874368] - [net] tcp: move ipv4_specific to tcp include file (Davide Caratti) [1874368] - [net] tcp: move ipv6_specific declaration to remove a warning (Davide Caratti) [1874368] - [net] mptcp: use list_first_entry_or_null (Davide Caratti) [1874368] - [net] mptcp: attempt coalescing when moving skbs to mptcp rx queue (Davide Caratti) [1874368] - [net] allow __skb_ext_alloc to sleep (Davide Caratti) [1874368] - [net] mptcp: remove inner wait loop from mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: fill skb page frag cache outside of mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: fill skb extension cache outside of mptcp_sendmsg_frag (Davide Caratti) [1874368] - [net] mptcp: move common nospace-pattern to a helper (Davide Caratti) [1874368] - [net] mptcp: Use 32-bit DATA_ACK when possible (Davide Caratti) [1874368] - [s390] s390/qeth: implement ndo_bridge_setlink for learning_sync (Philipp Rudo) [1651745] - [s390] s390/qeth: implement ndo_bridge_getlink for learning_sync (Philipp Rudo) [1651745] - [s390] s390/qeth: Reset address notification in case of buffer overflow (Philipp Rudo) [1651745] - [net] bridge: Add SWITCHDEV_FDB_FLUSH_TO_BRIDGE notifier (Philipp Rudo) [1651745] - [s390] s390/qeth: Translate address events into switchdev notifiers (Philipp Rudo) [1651745] - [s390] s390/qeth: Detect PNSO OC3 capability (Philipp Rudo) [1651745] - [s390] s390/cio: Helper functions to read CSSID, IID, and CHID (Philipp Rudo) [1651745] - [s390] s390/cio: Add new Operation Code OC3 to PNSO (Philipp Rudo) [1651745] - [cpuidle] cpuidle: Drop misleading comments about RCU usage (David Arcari) [1888014] - [cpuidle] cpuidle: Allow cpuidle drivers to take over RCU-idle (David Arcari) [1888014] - [include] cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED generic (David Arcari) [1888014] - [cpuidle] sched, idle, rcu: Push rcu_idle deeper into the idle path (David Arcari) [1888014] - [cpuidle] cpuidle: Fixup IRQ state (David Arcari) [1888014] - [kernel] cpuidle: Add RH_KABI warnings (David Arcari) [1878232] - [acpi] cpuidle: ACPI: fix 'return' with no value build warning (David Arcari) [1878232] - [acpi] cpuidle: change enter_s2idle() prototype (David Arcari) [1878232] - [cpuidle] cpuidle/pseries: Make symbol 'pseries_idle_driver' static (David Arcari) [1878232] - [cpuidle] cpuidle/powernv : Remove dead code block (David Arcari) [1878232] - [cpuidle] cpuidle: Rearrange s2idle-specific idle state entry code (David Arcari) [1878232] - [cpuidle] PM: s2idle: Clear _TIF_POLLING_NRFLAG before suspend to idle (David Arcari) [1878232] - [cpuidle] cpuidle: Fix three reference count leaks (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Remove sysfs_switch and switch attributes (David Arcari) [1878232] - [cpuidle] cpuidle: Make cpuidle governor switchable to be the default behaviour (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Accept governor name with 15 characters (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Fix the overlap for showing available governors (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Minor coding style corrections (David Arcari) [1878232] - [cpuidle] cpuidle: sysfs: Remove the unused define_one_r(o/w) macros (David Arcari) [1878232] - [cpuidle] cpuidle-haltpoll: Fix small typo (David Arcari) [1878232] - [idle] intel_idle: Customize IceLake server support (David Arcari) [1881620 1857129] - [idle] intel_idle: Eliminate redundant static variable (David Arcari) [1857129] - [idle] intel_idle: Update copyright notice, known limitations and version (David Arcari) [1857129] - [idle] intel_idle: Define CPUIDLE_FLAG_TLB_FLUSHED as BIT(16) (David Arcari) [1857129] - [idle] intel_idle: Clean up kerneldoc comments for multiple functions (David Arcari) [1857129] - [idle] intel_idle: Reorder declarations of static variables (David Arcari) [1857129] - [idle] intel_idle: Annotate init time data structures (David Arcari) [1857129] - [idle] intel_idle: Add __initdata annotations to init time variables (David Arcari) [1857129] - [idle] intel_idle: Relocate definitions of cpuidle callbacks (David Arcari) [1857129] - [idle] intel_idle: Clean up definitions of cpuidle callbacks (David Arcari) [1857129] - [idle] intel_idle: Simplify LAPIC timer reliability checks (David Arcari) [1857129] - [idle] intel_idle: Introduce 'states_off' module parameter (David Arcari) [1857129] - [idle] intel_idle: Clean up irtl_2_usec() (David Arcari) [1857129] - [idle] intel_idle: Move 3 functions closer to their callers (David Arcari) [1857129] - [idle] intel_idle: Annotate initialization code and data structures (David Arcari) [1857129] - [idle] intel_idle: Move and clean up intel_idle_cpuidle_devices_uninit() (David Arcari) [1857129] - [idle] intel_idle: Rearrange intel_idle_cpuidle_driver_init() (David Arcari) [1857129] - [idle] intel_idle: Clean up NULL pointer check in intel_idle_init() (David Arcari) [1857129] - [idle] intel_idle: Fold intel_idle_probe() into intel_idle_init() (David Arcari) [1857129] - [idle] intel_idle: Eliminate __setup_broadcast_timer() (David Arcari) [1857129] - [idle] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (David Arcari) [1857129]- [hv] hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Add parsing of VMbus interrupt in ACPI DSDT (Mohammed Gamal) [1886096] - [hv] driver: hv: util: Use VMBUS_RING_SIZE() for ringbuffer sizes (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Move virt_to_hvpfn() to hyperv header (Mohammed Gamal) [1886096] - [hv] hv: Use HV_HYP_PAGE in hv_synic_enable_regs() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Introduce types of GPADL (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Move __vmbus_open() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Always use HV_HYP_PAGE_SIZE for gpadl (Mohammed Gamal) [1886096] - [hv] hv: remove cast from hyperv_die_event (Mohammed Gamal) [1886096] - [hv] hv: Change flag to write log level in panic msg to false (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Remove the lock field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [scsi] storvsc: Introduce the per-storvsc_device spinlock (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove unnecessary channel->lock critical sections (sc_list updaters) (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Use channel_mutex in channel_vp_mapping_show() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove unnecessary channel->lock critical sections (sc_list readers) (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Replace cpumask_test_cpu(, cpu_online_mask) with cpu_online() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove the numa_node field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [kernel] hv: vmbus: Remove the target_vp field from the vmbus_channel struct (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Resolve more races involving init_vp_index() (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Resolve race between init_vp_index() and CPU hotplug (Mohammed Gamal) [1886096] - [hv] driver: hv: vmbus: drop a no long applicable comment (Mohammed Gamal) [1886096] - [hv] hyper-v: Replace open-coded variant of *phN specifier (Mohammed Gamal) [1886096] - [hv] hyper-v: Supply GUID pointer to printf() like functions (Mohammed Gamal) [1886096] - [hv] hyper-v: Use UUID API for exporting the GUID (part 2) (Mohammed Gamal) [1886096] - [hv] hv: remove redundant assignment to pointer primary_channel (Mohammed Gamal) [1886096] - [scsi] storvsc: Re-init stor_chns when a channel interrupt is re-assigned (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Introduce the CHANNELMSG_MODIFYCHANNEL message type (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Synchronize init_vp_index() vs. CPU hotplug (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Remove the unused HV_LOCALIZED channel affinity logic (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Use a spin lock for synchronizing channel scheduling vs. channel removal (Mohammed Gamal) [1886096] - [hv] hv_utils: Always execute the fcopy and vss callbacks in a tasklet (Mohammed Gamal) [1886096] - [netdrv] hv_netvsc: Disable NAPI before closing the VMBus channel (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Replace the per-CPU channel lists with a global array of channels (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Don't bind the offer&rescind works to a specific CPU (Mohammed Gamal) [1886096] - [hv] hv: vmbus: Always handle the VMBus messages on CPU0 (Mohammed Gamal) [1886096] - [hv] hv: check VMBus messages lengths (Mohammed Gamal) [1886096] - [hv] hv: make sure that 'struct vmbus_channel_message_header' compiles correctly (Mohammed Gamal) [1886096] - [hv] hv: avoid passing opaque pointer to vmbus_onmessage() (Mohammed Gamal) [1886096] - [hv] hv: allocate the exact needed memory for messages (Mohammed Gamal) [1886096] - [hv] hv: copy from message page only what's needed (Mohammed Gamal) [1886096] - [x86] hyperv: Clarify comment on x2apic mode (Mohammed Gamal) [1886099] - [x86] hyperv: report value of misc_features (Mohammed Gamal) [1886099] - [x86] hyperv: Make hv_setup_sched_clock inline (Mohammed Gamal) [1886099] - [net] ipv6: reply ICMP error if the first fragment don't include all headers (Hangbin Liu) [1874734] - [net] icmpv6: Add ICMPv6 Parameter Problem, code 3 definition (Hangbin Liu) [1874734] - [powerpc] powerpc/process: Add missing include of stacktrace.h (Desnes Augusto Nunes do Rosario) [1883975] - [powerpc] powerpc/test_emulate_sstep: Fix build error (Desnes Augusto Nunes do Rosario) [1883975] - [nvdimm] powerpc/pmem: Initialize pmem device on newer hardware (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Avoid the barrier in flush routines (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Update ppc64 to use the new barrier instruction (Desnes Augusto Nunes do Rosario) [1878632] - [md] libnvdimm/nvdimm/flush: Allow architecture to override the flush barrier (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Add flush routines using new pmem store and sync instruction (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Add new instructions for persistent storage and sync (Desnes Augusto Nunes do Rosario) [1878632] - [powerpc] powerpc/pmem: Restrict papr_scm to P8 and above (Desnes Augusto Nunes do Rosario) [1878632] - [i2c] i2c: ismt: Add support for Intel Emmitsburg PCH (David Arcari) [1886162] - [include] timer: add fsleep for flexible sleeping (Josef Oskera) [1892674] - [scsi] qla2xxx: Update driver version to 10.02.00.103-k (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Return EBUSY on fcport deletion (Nilesh Javali) [1887427] - [trace] scsi: qla2xxx: Suppress two recently introduced compiler warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix return of uninitialized value in rval (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Convert to DEFINE_SHOW_ATTRIBUTE (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Initialize variable in qla8044_poll_reg() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Do not consume srb greedily (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use constant when it is known (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in qla_dbg.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in qla_os.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix inconsistent format argument type in tcm_qla2xxx.c (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix point-to-point (N2N) device discovery issue (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix crash on session cleanup with unload (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix reset of MPI firmware (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix MPI reset needed message (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix buffer-buffer credit extraction error (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Correct the check for sscanf() return value (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add SLER and PI control support (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add IOCB resource tracking (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add rport fields in debugfs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make tgt_port_database available in initiator mode (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix I/O errors during LIP reset tests (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Performance tweak (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix memory size truncation (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Reduce duplicate code in reporting speed (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Honor status qualifier in FCP_RSP per spec (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Allow dev_loss_tmo setting for FC-NVMe devices (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Setup debugfs entries for remote ports (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix I/O failures during remote port toggle testing (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove unneeded variable 'rval' (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Handle incorrect entry_type entries (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Log calling function name in qla2x00_get_sp_from_handle() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify return value logic in qla2x00_get_sp_from_handle() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Warn if done() or free() are called on an already freed srb (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the return value (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove redundant variable initialization (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove pci-dma-compat wrapper API (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove superfluous memset() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix regression on sparc64 (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use MBX_TOV_SECONDS for mailbox command timeout values (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Address a set of sparse warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: SAN congestion management implementation (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change in PUREX to handle FPIN ELS requests (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Introduce a function for computing the debug message prefix (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla2x00_restart_isp() easier to read (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix a Coverity complaint in qla2100_fw_dump() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make __qla2x00_alloc_iocbs() initialize 32 bits of request_t.handle (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove a superfluous cast (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Initialize 'n' before using it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla82xx_flash_wait_write_finish() easier to read (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove the __packed annotation from struct fcp_hdr and fcp_hdr_le (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Check the size of struct fcp_hdr at compile time (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix a condition in qla2x00_find_all_fabric_devs() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Set NVMe status code for failed NVMe FCP request (Nilesh Javali) [1887427] - [scsi] scsi: Fix trivial spelling (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove return value from qla_nvme_ls() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove an unused function (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix endianness annotations in source files (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix endianness annotations in header files (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use make_handle() instead of open-coding it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Cast explicitly to uint16_t / uint32_t (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change {RD, WRT}_REG_*() function names from upper case into lower case (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix the code that reads from mailbox registers (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use register names instead of register offsets (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Change two hardcoded constants into offsetof() / sizeof() expressions (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Increase the size of struct qla_fcp_prio_cfg to FCP_PRIO_CFG_SIZE (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make a gap in struct qla2xxx_offld_chain explicit (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add more BUILD_BUG_ON() statements (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Sort BUILD_BUG_ON() statements alphabetically (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify the functions for dumping firmware (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix spelling of a variable name (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Do not log message when reading port speed via sysfs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qlafx00_process_aen() return void (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use true, false for ha->fw_dumped (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use true, false for need_mpi_reset (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Make qla_set_ini_mode() return void (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix issue with adapter's stopping state (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix failure message in qlt_disable_vha() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix warning after FC target reset (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: check UNLOADING before posting async work (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: set UNLOADING before waiting for session deletion (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use ARRAY_SIZE() instead of open-coding it (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Split qla2x00_configure_local_loop() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix regression warnings (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Remove non functional code (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: add ring buffer for tracing debug logs (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix RDP respond data format (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: fix FW resource count values (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Improved secure flash support messages (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Use FC generic update firmware options routine for ISP27xx (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Avoid setting firmware options twice in 24xx_update_fw_options (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Convert MAKE_HANDLE() from a define into an inline function (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix sparse warnings triggered by the PCI state checking code (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Suppress endianness complaints in qla2x00_configure_local_loop() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Simplify the code for aborting SCSI commands (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix sparse warning reported by kbuild bot (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Print portname for logging in qla24xx_logio_entry() (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix qla2x00_echo_test() based on ISP type (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Correction to selection of loopback/echo test (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix RDP response size (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Handle cases for limiting RDP response payload length (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add deferred queue for processing ABTS and RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Cleanup ELS/PUREX iocb fields (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Show correct port speed capabilities for RDP command (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Display message for FCE enabled (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add vendor extended FDMI commands (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add ql2xrdpenable module parameter for RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add vendor extended RDP additions and amendments (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Add changes in preparation for vendor extended FDMI/RDP (Nilesh Javali) [1887427] - [scsi] scsi: qla2xxx: Fix gnl.l memory leak on adapter init failure (Nilesh Javali) [1887427]- [kernel] PM: hibernate: Batch hibernate and resume IO requests (Lenny Szubowicz) [1868096] - [net] tunnels: Fix off-by-one in lower MTU bounds for ICMP/ICMPv6 replies (Antoine Tenart) [1895765] - [block] block: mark flush request as IDLE when it is really finished (Ming Lei) [1895913] - [net] vsock: forward all packets to the host when no H2G is registered (Vitaly Kuznetsov) [1893826] - [maintainers] maintainers: Add entry for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [documentation] nitro_enclaves: Add overview documentation (Vitaly Kuznetsov) [1893826] - [samples] nitro_enclaves: Add sample for ioctl interface usage (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add Makefile for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add Kconfig for the Nitro Enclaves driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for terminating an enclave (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for starting an enclave (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for setting an enclave memory region (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for getting the enclave image load info (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for setting an enclave vCPU (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Add logic for creating an enclave VM (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Init misc device providing the ioctl interface (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Handle out-of-band PCI device events (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Handle PCI device command requests (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Init PCI device driver (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Define enclave info for internal bookkeeping (Vitaly Kuznetsov) [1893826] - [virt] nitro_enclaves: Define the PCI device interface (Vitaly Kuznetsov) [1893826] - [uapi] nitro_enclaves: Add ioctl interface definition (Vitaly Kuznetsov) [1893826] - [kernel] cpu/hotplug: Add new {add, remove}_cpu() functions (Vitaly Kuznetsov) [1893826] - [x86] x86/delay: Introduce TPAUSE delay (Prarit Bhargava) [1838636] - [x86] x86/delay: Refactor delay_mwaitx() for TPAUSE support (Prarit Bhargava) [1838636] - [x86] x86/delay: Preparatory code cleanup (Prarit Bhargava) [1838636] - [net] netfilter: ipset: Update byte and packet counters regardless of whether they match (Phil Sutter) [1806882] - [net] ethtool: add and use message type for tunnel info reply (Ivan Vecera) [1867211] - [infiniband] RDMA/hns: Mark hns_roce driver as unsupported (Kamal Heib) [1878211] - [net] tipc: fix memory leak caused by tipc_buf_append() (Xin Long) [1865774] - [net] tipc: fix the skb_unshare() in tipc_buf_append() (Xin Long) [1865774] - [net] tipc: use skb_unshare() instead in tipc_buf_append() (Xin Long) [1865774] - [netdrv] net: team: fix memory leak in __team_options_register (Hangbin Liu) [1892142] - [netdrv] team: set dev->needed_headroom in team_setup_by_port() (Hangbin Liu) [1892142] - [netdrv] team: use netif_is_team_port() (Hangbin Liu) [1892142] - [char] random: decouple random and urandom extrng fops (Vladis Dronov) [1890711] - [platform] platform/x86: intel_pmc_core: Add Intel RocketLake (RKL) support (Steve Best) [1782713] - [netdrv] fm10k: convert to new udp_tunnel_nic infra (Vladis Dronov) [1884254] - [netdrv] ethernet/intel: Convert fallthrough code comments (Vladis Dronov) [1884254] - [netdrv] docs: networking: reorganize driver documentation again (Vladis Dronov) [1884254] - [netdrv] net/intel: remove driver versions from Intel drivers (Vladis Dronov) [1884254] - [infiniband] RDMA/core: Fix ordering of CQ pool destruction (Kamal Heib) [1878969 1857603] - [infiniband] IB/isert: Fix unaligned immediate-data handling (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix reported speed and width (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Fix panic when calling kmem_cache_create() (Kamal Heib) [1867296 1857603] - [infiniband] RDMA/rxe: Fix memleak in rxe_mem_init_user (Kamal Heib) [1857603] - [net] xprtrdma: Release in-flight MRs on disconnect (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars (Kamal Heib) [1870430 1857603] - [infiniband] RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request (Kamal Heib) [1870281 1857603] - [infiniband] RDMA/core: Fix spelling mistake "Could't" -> "Couldn't" (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove pkey table (Kamal Heib) [1857603] - [infiniband] RDMA/umem: Add a schedule point in ib_umem_get() (Kamal Heib) [1857603] - [infiniband] RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP (Kamal Heib) [1857603] - [rdma] RDMA/include: Replace license text with SPDX tags (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Execute rdma_cm destruction from a handler properly (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Remove unneeded locking for req paths (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Using the standard locking pattern when delivering the removal event (Kamal Heib) [1857603] - [infiniband] RDMA/cma: Simplify DEVICE_REMOVAL for internal_id (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Add EFA 0xefa1 PCI ID (Kamal Heib) [1857603] - [infiniband] RDMA/efa: User/kernel compatibility handshake mechanism (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Expose minimum SQ size (Kamal Heib) [1857603] - [infiniband] RDMA/efa: Expose maximum TX doorbell batch (Kamal Heib) [1857603] - [infiniband] IB/srpt: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] IB/isert: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] IB/iser: use new shared CQ mechanism (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix return error value in _ib_modify_qp() to negative (Kamal Heib) [1857603] - [infiniband] RDMA/uverbs: Silence shiftTooManyBitsSigned warning (Kamal Heib) [1857603] - [infiniband] RDMA/core: Update write interface to use automatic object lifetime (Kamal Heib) [1857603] - [infiniband] RDMA/core: Align abort/commit object scheme for write() and ioctl() paths (Kamal Heib) [1857603] - [uapi] RDMA: rdma_user_ioctl.h: fix a duplicated word + clarify (Kamal Heib) [1857603] - [infiniband] RDMA/qedr: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/i40iw: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/cxgb4: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/siw: Remove the query_pkey callback (Kamal Heib) [1857603] - [infiniband] RDMA/core: Remove query_pkey from the mandatory ops (Kamal Heib) [1857603] - [infiniband] RDMA/core: Allocate the pkey cache only if the pkey_tbl_len is set (Kamal Heib) [1857603] - [infiniband] RDMA/core: Expose pkeys sysfs files only if pkey_tbl_len is set (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue (Kamal Heib) [1857603] - [infiniband] IB/hfi1: Remove unnecessary fall-through markings (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove rxe_link_layer() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Return void from rxe_mem_init_dma() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Return void from rxe_init_port_param() (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Drop pointless checks in rxe_init_ports (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Allow manually bind QPs with different pids to same counter (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Only bind user QPs in auto mode (Kamal Heib) [1857603] - [infiniband] RDMA/counter: Add PID category support in auto mode (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Skip dgid check in loopback mode (Kamal Heib) [1857603] - [infiniband] RDMA/core: Create and destroy counters in the ib_core (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Expose UAPI to query MR (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Expose UAPI to query ucontext (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Set IOVA on IB MR in uverbs layer (Kamal Heib) [1857603] - [infiniband] IB/uverbs: Enable CQ ioctl commands by default (Kamal Heib) [1857603] - [infiniband] RDMA/core: Clean ib_alloc_xrcd() and reuse it to allocate XRC domain (Kamal Heib) [1857603] - [infiniband] RDMA: Remove the udata parameter from alloc_mr callback (Kamal Heib) [1857603] - [infiniband] RDMA/core: Remove ib_alloc_mr_user function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Check for error instead of success in alloc MR function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Clean up tracepoint headers (Kamal Heib) [1857603] - [infiniband] RDMA/ipoib: Handle user-supplied address when creating child (Kamal Heib) [1857603] - [infiniband] RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued() (Kamal Heib) [1857603] - [infiniband] IB/hfi1: Convert PCIBIOS_* errors to generic -E* errors (Kamal Heib) [1857603] - [infiniband] RDMA/core: Delete not-used create RWQ table function (Kamal Heib) [1857603] - [infiniband] IB/mad: Delete RMPP_STATE_CANCELING state (Kamal Heib) [1857603] - [infiniband] IB/mad: Change atomics to refcount API (Kamal Heib) [1857603] - [infiniband] IB/mad: Issue complete whenever decrements agent refcount (Kamal Heib) [1857603] - [infiniband] RDMA: Add support to dump resource tracker in RAW format (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated CM_ID resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated QP resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add a dedicated CQ resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA: Add dedicated MR resource tracker function (Kamal Heib) [1857603] - [infiniband] RDMA/core: Don't call fill_res_entry for PD (Kamal Heib) [1857603] - [infiniband] RDMA/rxe: Remove unused rxe_mem_map_pages (Kamal Heib) [1857603] - [infiniband] RDMA/hfi1: Remove hfi1_create_qp declaration (Kamal Heib) [1857603] - [infiniband] RDMA/ipoib: Return void from ipoib_mcast_stop_thread() (Kamal Heib) [1857603] - [infiniband] RDMA: Correct trivial kernel-doc inconsistencies (Kamal Heib) [1857603] - [infiniband] IB/srpt: Remove WARN_ON from srpt_cm_req_recv (Kamal Heib) [1857603] - [tools] tools/power turbostat: Support additional CPU model numbers (Steve Best) [1782718] - [net] udp_tunnel: add the ability to hard-code IANA VXLAN (Ivan Vecera) [1879204] - [tools] selftests: net: add a test for UDP tunnel info infra (Ivan Vecera) [1867211] - [netdrv] netdevsim: add UDP tunnel port offload support (Ivan Vecera) [1867211] - [net] ethtool: add tunnel info interface (Ivan Vecera) [1867211] - [net] ethtool: Make helpers public (Ivan Vecera) [1867211] - [net] udp_tunnel: add central NIC RX port offload infrastructure (Ivan Vecera) [1867211] - [net] udp_tunnel: re-number the offload tunnel types (Ivan Vecera) [1867211] - [fs] debugfs: make sure we can remove u32_array files cleanly (Ivan Vecera) [1867211] - [fs] debugfs: make debugfs_create_u32_array() return void (Ivan Vecera) [1867211] - [fs] debugfs: update documented return values of debugfs helpers (Ivan Vecera) [1867211]- [net] openvswitch: fix to make sure flow_lookup() is not preempted (Eelco Chaudron) [1888237] - [netdrv] powerpc/vnic: Extend "failover pending" window (Steve Best) [1897280] - [net] ipv6: Set SIT tunnel hard_header_len to zero (Davide Caratti) [1897244] - [net] ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags (Davide Caratti) [1897244] - [net] gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY (Davide Caratti) [1897244] - [netdrv] vxlan: fix memleak of fdb (Davide Caratti) [1897244] - [net] vxlan: Ensure FDB dump is performed under RCU (Davide Caratti) [1897244] - [net] gre: refetch erspan header from skb->data after pskb_may_pull() (Davide Caratti) [1897244] - [net] erspan: fix the tun_info options_len check for erspan (Davide Caratti) [1897244] - [net] ip_gre: fix possible use-after-free in erspan_rcv (Davide Caratti) [1897244] - [net] erspan: fix error handling for erspan tunnel (Davide Caratti) [1897244] - [net] erspan: return PACKET_REJECT when the appropriate tunnel is not found (Davide Caratti) [1897244] - [netdrv] net: atlantic: fix build when object tree is separate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Use readx_poll_timeout() for large timeout (Igor Russkikh) [1857861] - [netdrv] net: ethernet: aquantia: Fix wrong return value (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix PTP on AQC10X (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add hwmon getter for MAC temperature (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A0 ntuple filters (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use intermediate variable to improve readability a bit (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use U32_MAX in aq_hw_utils.c (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add support for 64-bit reads/writes (Igor Russkikh) [1857861] - [netdrv] net: atlantic: enable ipv6 support for TCP LSO and UDP GSO (Igor Russkikh) [1857861] - [netdrv] net: atlantic: PTP statistics (Igor Russkikh) [1857861] - [netdrv] net: atlantic: additional per-queue stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use u64_stats_update_* to protect access to 64-bit stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: split rx and tx per-queue stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make _get_sw_stats return count as return value (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use simple assignment in _get_stats and _get_sw_stats (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move FRAC_PER_NS to aq_hw.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add support for FW 4.x (Igor Russkikh) [1857861] - [netdrv] net: atlantic: align return value of ver_match function with function name (Igor Russkikh) [1857861] - [netdrv] net: atlantic: disable PTP on AQC111, AQC112 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix ip dst and ipv6 address filters (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix aq_ndev_start_xmit()'s return type (Igor Russkikh) [1857861] - [netdrv] net: atlantic: put ptp code under IS_REACHABLE check (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add alignment checks in hw_atl2_utils_fw.c (Igor Russkikh) [1857861] - [netdrv] net: atlantic: missing space in a comment in aq_nic.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix typo in aq_ring_tx_clean (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make aq_pci_func_init static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Replace ENOTSUPP usage to EOPNOTSUPP (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix variable type in aq_ethtool_get_pauseparam (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: phy loopback support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: report link partner capabilities (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: flow control support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: EEE support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove baseX usage (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2: half duplex support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: proper rss_ctrl1 (54c0) initialization (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: min_rate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: change the order of arguments for TC weight/credit setters (Igor Russkikh) [1857861] - [netdrv] net: atlantic: always use random TC-queue mapping for TX on A2 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: automatically downgrade the number of queues if necessary (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: max_rate (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make TCVEC2RING accept nic_cfg (Igor Russkikh) [1857861] - [netdrv] net: atlantic: per-TC queue statistics (Igor Russkikh) [1857861] - [netdrv] net: atlantic: QoS implementation: multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: changes for multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move PTP TC initialization to a separate function (Igor Russkikh) [1857861] - [netdrv] net: atlantic: changes for multi-TC support (Igor Russkikh) [1857861] - [netdrv] net: atlantic: unify MAC generation (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove check for boot code survivability before reset request (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove hw_atl_b0_hw_rss_set call from A2 code (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove TPO2 check from A0 code (Igor Russkikh) [1857861] - [netdrv] net: atlantic: rename AQ_NIC_RATE_2GS to AQ_NIC_RATE_2G5 (Igor Russkikh) [1857861] - [netdrv] net: atlantic: use __packed instead of the full expansion (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 ingress / egress hw configuration (Igor Russkikh) [1857861] - [netdrv] net: atlantic: basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: common functions needed for basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: HW bindings for basic A2 init/deinit hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add A2 RPF hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: HW bindings for A2 RFP (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 hw_ops skeleton (Igor Russkikh) [1857861] - [netdrv] net: atlantic: minimal A2 fw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: minimal A2 HW bindings required for fw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: A2 driver-firmware interface (Igor Russkikh) [1857861] - [netdrv] net: atlantic: move IS_CHIP_FEATURE to aq_hw.h (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make hw_get_regs optional (Igor Russkikh) [1857861] - [netdrv] net: atlantic: simplify hw_get_fw_version() usage (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add hw_soft_reset, hw_prepare to hw_ops (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add defines for 10M and EEE 100M link mode (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add A2 device IDs (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update company name in the driver description (Igor Russkikh) [1857861] - [netdrv] aquantia: Fix the media type of AQC100 ethernet controller in the driver (Igor Russkikh) [1857861] - [netdrv] net: atlantic: MACSec offload statistics implementation (Igor Russkikh) [1857861] - [netdrv] net: aquantia: reject all unsupported coalescing params (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Replace zero-length array with flexible-array member (Igor Russkikh) [1857861] - [netdrv] net/aquantia: Delete module version (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix out of range usage of active_vlans array (Igor Russkikh) [1857861] - [netdrv] net: atlantic: possible fault in transition to hibernation (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix potential error handling (Igor Russkikh) [1857861] - [netdrv] net: atlantic: fix use after free kasan warn (Igor Russkikh) [1857861] - [netdrv] net: atlantic: better loopback mode handling (Igor Russkikh) [1857861] - [netdrv] net: atlantic: ptp gpio adjustments (Igor Russkikh) [1857861] - [netdrv] net: atlantic: check rpc result and wait for rpc address (Igor Russkikh) [1857861] - [netdrv] net: atlantic: checksum compat issue (Igor Russkikh) [1857861] - [netdrv] net: atlantic: remove duplicate entries (Igor Russkikh) [1857861] - [netdrv] net: atlantic: loopback configuration in improper place (Igor Russkikh) [1857861] - [netdrv] net: atlantic: broken link status on old fw (Igor Russkikh) [1857861] - [netdrv] net: atlantic: Signedness bug in aq_vec_isr_legacy() (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make function 'aq_ethtool_get_priv_flags', 'aq_ethtool_set_priv_flags' static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: make symbol 'aq_pm_ops' static (Igor Russkikh) [1857861] - [netdrv] net: atlantic: change email domains to Marvell (Igor Russkikh) [1857861] - [netdrv] net: atlantic: implement UDP GSO offload (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update flow control logic (Igor Russkikh) [1857861] - [netdrv] net: atlantic: stylistic renames (Igor Russkikh) [1857861] - [netdrv] net: atlantic: code style cleanup (Igor Russkikh) [1857861] - [netdrv] net: atlantic: loopback tests via private flags (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add fw configuration memory area (Igor Russkikh) [1857861] - [netdrv] net: atlantic: adding ethtool physical identification (Igor Russkikh) [1857861] - [netdrv] net: atlantic: add msglevel configuration (Igor Russkikh) [1857861] - [netdrv] net: atlantic: refactoring pm logic (Igor Russkikh) [1857861] - [netdrv] net: atlantic: implement wake_phy feature (Igor Russkikh) [1857861] - [netdrv] net: atlantic: update firmware interface (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix return value check in aq_ptp_init() (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix error handling in aq_ptp_poll (Igor Russkikh) [1857861] - [netdrv] net: aquantia: remove unused including (Igor Russkikh) [1857861] - [netdrv] net: aquantia: make two symbols be static (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix unintention integer overflow on left shift (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix spelling mistake: tx_queus -> tx_queues (Igor Russkikh) [1857861] - [netdrv] net: aquantia: disable ptp object build if no config (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix warnings on endianness (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix var initialization warning (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for PIN funcs (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for Phy access (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement get_ts_info ethtool (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add support for ptp ioctls (Igor Russkikh) [1857861] - [netdrv] net: aquantia: rx filters for ptp (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement data PTP datapath (Igor Russkikh) [1857861] - [netdrv] net: aquantia: styling fixes on ptp related functions (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add PTP rings infrastructure (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add basic ptp_clock callbacks (Igor Russkikh) [1857861] - [netdrv] net: aquantia: unify styling of bit enums (Igor Russkikh) [1857861] - [netdrv] net: aquantia: PTP skeleton declarations and callbacks (Igor Russkikh) [1857861] - [netdrv] net: aquantia: add an error handling in aq_nic_set_multicast_list (Igor Russkikh) [1857861] - [netdrv] net: aquantia: correctly handle macvlan and multicast coexistence (Igor Russkikh) [1857861] - [netdrv] net: aquantia: do not pass lro session with invalid tcp checksum (Igor Russkikh) [1857861] - [netdrv] net: aquantia: when cleaning hw cache it should be toggled (Igor Russkikh) [1857861] - [netdrv] net: aquantia: temperature retrieval fix (Igor Russkikh) [1857861] - [netdrv] net: aquantia: Fix aq_vec_isr_legacy() return value (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix out of memory condition on rx side (Igor Russkikh) [1857861] - [netdrv] net: aquantia: linkstate irq should be oneshot (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix limit of vlan filters (Igor Russkikh) [1857861] - [netdrv] net: aquantia: fix removal of vlan 0 (Igor Russkikh) [1857861] - [netdrv] net: aquantia: implement vlan offload configuration (Igor Russkikh) [1857861] - [netdrv] net: aquantia: vlan offloads logic in datapath (Igor Russkikh) [1857861] - [netdrv] net: aquantia: adding fields and device features for vlan offload (Igor Russkikh) [1857861] - [netdrv] net: aquantia: added vlan offload related macros and functions (Igor Russkikh) [1857861] - [netdrv] net: aquantia: make all files GPL-2.0-only (Igor Russkikh) [1857861] - [netdrv] net: aquantia: replace internal driver version code with uts (Igor Russkikh) [1857861] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Igor Russkikh) [1857861] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 308 (Igor Russkikh) [1857861] - [include] net: phy: introduce phy_read_mmd_poll_timeout macro (Josef Oskera) [1892739] - [include] net: phy: introduce phy_read_poll_timeout macro (Josef Oskera) [1892739] - [netdrv] phy: add device-managed devm_mdiobus_register (Josef Oskera) [1892740] - [include] net: add helper eth_hw_addr_crc (Josef Oskera) [1892738] - [netdrv] LiquidIO: mark liquidio and liquidio_vf as deprecated in RHEL8 (Stefan Assmann) [1878178] - [net] tcp: remove SOCK_QUEUE_SHRUNK (Paolo Abeni) [1890058] - [net] tcp: fix receive window update in tcp_add_backlog() (Paolo Abeni) [1890058] - [net] tcp: md5: allow changing MD5 keys in all socket states (Paolo Abeni) [1890058] - [net] tcp: fix SO_RCVLOWAT possible hangs under high mem pressure (Paolo Abeni) [1890058] - [net] tcp: md5: do not send silly options in SYNCOOKIES (Paolo Abeni) [1890058] - [net] tcp: grow window for OOO packets only for SACK flows (Paolo Abeni) [1890058] - [net] tcp: fix error recovery in tcp_zerocopy_receive() (Paolo Abeni) [1890058] - [net] tcp: fix SO_RCVLOWAT hangs with fat skbs (Paolo Abeni) [1890058] - [net] tcp: fix rx timestamp behavior for tcp_recvmsg (Paolo Abeni) [1890058] - [fs] smb3: smbdirect support can be configured by default (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Do not schedule work to send immediate packet on every receive (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Properly process errors on ib_post_send (Leif Sahlberg) [1887940] - [fs] cifs: Allocate crypto structures on the fly for calculating signatures of incoming packets (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Update receive credits before sending and deal with credits roll back on failure before sending (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Check send queue size before posting a send (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Merge code to track pending packets (Leif Sahlberg) [1887940] - [fs] cifs: Allocate encryption header through kmalloc (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Check and extend sender credits in interrupt context (Leif Sahlberg) [1887940] - [fs] cifs: smbd: Calculate the correct maximum packet size for segmented SMBDirect send/receive (Leif Sahlberg) [1887940] - [net] core: device_rename: Use rwsem instead of a seqcount (Patrick Talbert) [1883310]- [tools] perf tools: Add bpf image check to __map__is_kmodule (Michael Petlan) [1873270] - [tools] perf tools: Add support for PERF_RECORD_KSYMBOL_TYPE_OOL (Michael Petlan) [1873270] - [tools] perf record: Don't clear event's period if set by a term (Michael Petlan) [1873270] - [tools] perf bench: The do_run_multi_threaded() function must use IS_ERR(perf_session__new()) (Michael Petlan) [1873270] - [tools] perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set (Michael Petlan) [1873270] - [tools] perf record: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set (Michael Petlan) [1873270] - [tools] perf evsel: Don't set sample_regs_intr/sample_regs_user for dummy event (Michael Petlan) [1873270] - [tools] perf stat: Turn off summary for interval mode by default (Michael Petlan) [1873270] - [tools] perf trace: Fix off by ones in memset() after realloc() in arches using libaudit (Michael Petlan) [1873270] - [tools] perf top/report: Fix infinite loop in the TUI for grouped events (Michael Petlan) [1873270] - [tools] redhat: use local hashmap library in perf (Michael Petlan) [1873270] - [tools] libtraceevent: Fix build with binutils 2.35 (Michael Petlan) [1873270] - [tools] perf tools: Fix record failure when mixed with ARM SPE event (Michael Petlan) [1873270] - [tools] perf tests: Fix test 68 zstd compression for s390 (Michael Petlan) [1873270] - [tools] tools lib traceevent: Fix memory leak in process_dynamic_array_len (Michael Petlan) [1873270] - [tools] perf tools: Sync hashmap.h with libbpf's (Michael Petlan) [1873270] - [tools] libsubcmd: Fix OPT_CALLBACK_SET() (Michael Petlan) [1873270] - [tools] perf report TUI: Remove needless 'dummy' event from menu (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix PEBS sample for XMM registers (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix displaying PEBS-via-PT with registers (Michael Petlan) [1873270] - [tools] perf intel-pt: Fix recording PEBS-via-PT with registers (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add proper KBUFFER_TYPE_TIME_STAMP handling (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add API to read time information from kbuffer (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix time chart call tree (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix zero id in call tree 'Find' result (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix zero id in call graph 'Find' result (Michael Petlan) [1873270] - [tools] perf scripts python: exported-sql-viewer.py: Fix unexpanded 'Find' result (Michael Petlan) [1873270] - [tools] perf record: Fix duplicated sideband events with Intel PT system wide tracing (Michael Petlan) [1873270] - [tools] perf scripts python: export-to-postgresql.py: Fix struct.pack() int argument (Michael Petlan) [1873270] - [tools] perf build: Fix error message when asking for -fsanitize=address without required libraries (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add handler for __builtin_expect() (Michael Petlan) [1873270] - [tools] tools lib traceevent: Handle __attribute__((user)) in field names (Michael Petlan) [1873270] - [tools] tools lib traceevent: Add append() function helper for appending strings (Michael Petlan) [1873270] - [tools] perf script: Initialize zstd_data (Michael Petlan) [1873270] - [tools] perf pmu: Remove unused declaration (Michael Petlan) [1873270] - [tools] perf parse-events: Fix an old style declaration (Michael Petlan) [1873270] - [tools] perf parse-events: Fix an incompatible pointer (Michael Petlan) [1873270] - [tools] perf bpf: Fix bpf prologue generation (Michael Petlan) [1873270] - [tools] perf probe: Fix user attribute access in kprobes (Michael Petlan) [1873270] - [tools] perf stat: Fix NULL pointer dereference (Michael Petlan) [1873270] - [tools] perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events() (Michael Petlan) [1873270] - [tools] perf tools: Remove some duplicated includes (Michael Petlan) [1873270] - [tools] perf symbols: Fix kernel maps for kcore and eBPF (Michael Petlan) [1873270] - [tools] perf stat: Ensure group is defined on top of the same cpu mask (Michael Petlan) [1873270] - [tools] perf libdw: Fix off-by 1 relative directory includes (Michael Petlan) [1873270] - [tools] perf arm-spe: Support synthetic events (Michael Petlan) [1873270] - [tools] perf auxtrace: Add four itrace options (Michael Petlan) [1873270] - [tools] perf tools: Move arm-spe-pkt-decoder.h/c to the new dir (Michael Petlan) [1873270] - [tools] perf test: Initialize memory in dwarf-unwind (Michael Petlan) [1873270] - [tools] perf tests: Don't tail call optimize in unwind test (Michael Petlan) [1873270] - [tools] tools compiler.h: Add attribute to disable tail calls (Michael Petlan) [1873270] - [tools] perf build: Add a LIBPFM4=1 build test entry (Michael Petlan) [1873270] - [tools] perf tools: Add optional support for libpfm4 (Michael Petlan) [1873270] - [tools] perf tools: Correct license on jsmn JSON parser (Michael Petlan) [1873270] - [tools] perf jit: Fix inaccurate DWARF line table (Michael Petlan) [1873270] - [tools] perf jvmti: Remove redundant jitdump line table entries (Michael Petlan) [1873270] - [tools] perf build: Add NO_SDT=1 to the default set of build tests (Michael Petlan) [1873270] - [tools] perf build: Add NO_LIBCRYPTO=1 to the default set of build tests (Michael Petlan) [1873270] - [tools] perf build: Add NO_SYSCALL_TABLE=1 to the build tests (Michael Petlan) [1873270] - [tools] perf build: Remove libaudit from the default feature checks (Michael Petlan) [1873270] - [tools] perf trace: Grow the syscall table as needed when using libaudit (Michael Petlan) [1873270] - [tools] perf trace: Use zalloc() to make sure all fields are zeroed in the syscalltbl constructor (Michael Petlan) [1873270] - [tools] perf trace: Remove union from syscalltbl, all the fields are needed (Michael Petlan) [1873270] - [tools] perf build: Allow explicitely disabling the NO_SYSCALL_TABLE variable (Michael Petlan) [1873270] - [tools] perf build: Group the NO_SYSCALL_TABLE logic (Michael Petlan) [1873270] - [tools] perf intel-pt: Refine kernel decoding only warning message (Michael Petlan) [1873270] - [tools] perf record: Respect --no-switch-events (Michael Petlan) [1873270] - [tools] perf script: Fix --call-trace for Intel PT (Michael Petlan) [1873270] - [tools] perf evlist: Disable 'immediate' events last (Michael Petlan) [1873270] - [tools] perf kcore_copy: Fix module map when there are no modules loaded (Michael Petlan) [1873270] - [tools] perf jvmti: Fix demangling Java symbols (Michael Petlan) [1873270] - [tools] perf tests: Add test for the java demangler (Michael Petlan) [1873270] - [tools] perf jvmti: Do not report error when missing debug information (Michael Petlan) [1873270] - [tools] perf jvmti: Fix jitdump for methods without debug info (Michael Petlan) [1873270] - [tools] perf symbols: Fix debuginfo search for Ubuntu (Michael Petlan) [1873270] - [tools] perf parse: Add 'struct parse_events_state' pointer to scanner (Michael Petlan) [1873270] - [tools] perf stat: Do not pass avg to generic_metric (Michael Petlan) [1873270] - [tools] perf tests: Consider subtests when searching for user specified tests (Michael Petlan) [1873270] - [tools] perf list: Add metrics to command line usage (Michael Petlan) [1873270] - [tools] perf script: Don't force less for non tty output with --xed (Michael Petlan) [1873270] - [tools] perf metricgroup: Remove unnecessary ', ' from events (Michael Petlan) [1873270] - [tools] perf metricgroup: Add options to not group or merge (Michael Petlan) [1873270] - [tools] perf metricgroup: Remove duped metric group events (Michael Petlan) [1873270] - [tools] perf metricgroup: Order event groups by size (Michael Petlan) [1873270] - [tools] perf metricgroup: Delay events string creation (Michael Petlan) [1873270] - [tools] perf metricgroup: Use early return in add_metric (Michael Petlan) [1873270] - [tools] perf metricgroup: Always place duration_time last (Michael Petlan) [1873270] - [tools] perf metricgroup: Free metric_events on error (Michael Petlan) [1873270] - [tools] perf util: Fix potential SEGFAULT in put_tracepoints_path error path (Michael Petlan) [1873270] - [tools] perf util: Fix memory leak of prefix_if_not_in (Michael Petlan) [1873270] - [tools] perf ftrace: Detect workload failure (Michael Petlan) [1873270] - [tools] perf ftrace: Trace system wide if no target is given (Michael Petlan) [1873270] - [tools] perf branch: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [tools] perf config: Add stat.big-num support (Michael Petlan) [1873270] - [tools] perf bpf-loader: Add missing '*' for key_scan_pos (Michael Petlan) [1873270] - [tools] perf stat: Report summary for interval mode (Michael Petlan) [1873270] - [tools] perf stat: Save aggr value to first member of prev_raw_counts (Michael Petlan) [1873270] - [tools] perf stat: Copy counts from prev_raw_counts to evsel->counts (Michael Petlan) [1873270] - [tools] perf counts: Reset prev_raw_counts counts (Michael Petlan) [1873270] - [tools] perf stat: Fix wrong per-thread runtime stat for interval mode (Michael Petlan) [1873270] - [tools] perf expr: Allow numbers to be followed by a dot (Michael Petlan) [1873270] - [tools] perf metricgroup: Make 'evlist_used' variable a bitmap instead of array of bools (Michael Petlan) [1873270] - [tools] perf stat: Fail on extra comma while parsing events (Michael Petlan) [1873270] - [tools] perf script: Better align register values in dump (Michael Petlan) [1873270] - [tools] perf stat: POWER9 metrics: expand "ICT" acronym (Michael Petlan) [1873270] - [tools] perf tools: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [tools] perf intel-pt: Use allocated branch stack for PEBS sample (Michael Petlan) [1873270] - [tools] perf docs: Introduce security.txt file to document related issues (Michael Petlan) [1873270] - [tools] perf tool: Make perf tool aware of SELinux access control (Michael Petlan) [1873270] - [tools] perf docs: Extend CAP_SYS_ADMIN with CAP_PERFMON where needed (Michael Petlan) [1873270] - [tools] perf expr: Migrate expr ids table to a hashmap (Michael Petlan) [1873270] - [tools] perf tools: Grab a copy of libbpf's hashmap (Michael Petlan) [1873270] - [tools] perf stat: Fix duration_time value for higher intervals (Michael Petlan) [1873270] - [tools] perf trace: Fix compilation error for make NO_LIBBPF=1 DEBUG=1 (Michael Petlan) [1873270] - [tools] perf beauty: Allow the CC used in the arch errno names script to acccept CFLAGS (Michael Petlan) [1873270] - [tools] perf trace: Fix the selection for architectures to generate the errno name tables (Michael Petlan) [1873270] - [tools] perf test: Improve pmu event metric testing (Michael Petlan) [1873270] - [tools] perf test: Provide a subtest callback to ask for the reason for skipping a subtest (Michael Petlan) [1873270] - [tools] perf parse-events: Make add PMU verbose output clearer (Michael Petlan) [1873270] - [tools] perf expr: Fix memory leaks in metric bison (Michael Petlan) [1873270] - [tools] perf expr: Test parsing of floating point numbers (Michael Petlan) [1873270] - [tools] perf record: Use an eventfd to wakeup when done (Michael Petlan) [1873270] - [tools] tools feature: Rename HAVE_EVENTFD to HAVE_EVENTFD_SUPPORT (Michael Petlan) [1873270] - [tools] perf evsel: Initialize evsel->per_pkg_mask to NULL in evsel__init() (Michael Petlan) [1873270] - [tools] perf evsel: Fix 2 memory leaks (Michael Petlan) [1873270] - [tools] perf parse-events: Fix incorrect conversion of 'if () free()' to 'zfree()' (Michael Petlan) [1873270] - [tools] perf tools: Fix is_bpf_image function logic (Michael Petlan) [1873270] - [tools] perf c2c: Fix 'perf c2c record -e list' to show the default events used (Michael Petlan) [1873270] - [tools] perf record: Add dummy event during system wide synthesis (Michael Petlan) [1873270] - [tools] perf evsel: Dummy events never triggers, no need to ask for PERF_SAMPLE_BRANCH_STACK (Michael Petlan) [1873270] - [tools] perf parse-events: Use strcmp() to compare the PMU name (Michael Petlan) [1873270] - [tools] perf expr: Print a debug message for division by zero (Michael Petlan) [1873270] - [tools] perf expr: Debug lex if debugging yacc (Michael Petlan) [1873270] - [tools] perf expr: Parse numbers as doubles (Michael Petlan) [1873270] - [tools] perf expr: Increase max other (Michael Petlan) [1873270] - [tools] perf expr: Allow ',' to be an other token (Michael Petlan) [1873270] - [tools] perf metrics: Fix parse errors in skylake metrics (Michael Petlan) [1873270] - [tools] perf metrics: Fix parse errors in cascade lake metrics (Michael Petlan) [1873270] - [tools] perf expr: Allow for unlimited escaped characters in a symbol (Michael Petlan) [1873270] - [tools] perf script: Enable IP fields for callchains (Michael Petlan) [1873270] - [tools] perf callchain: Setup callchain properly in pipe mode (Michael Petlan) [1873270] - [tools] perf session: Try to read pipe data from file (Michael Petlan) [1873270] - [tools] perf tools: Do not seek in pipe fd during tracing data processing (Michael Petlan) [1873270] - [tools] perf tools: Do not display extra info when there is nothing to build (Michael Petlan) [1873270] - [tools] perf probe: Do not show the skipped events (Michael Petlan) [1873270] - [tools] perf probe: Check address correctness by map instead of _etext (Michael Petlan) [1873270] - [tools] perf probe: Fix to check blacklist address correctly (Michael Petlan) [1873270] - [tools] perf probe: Accept the instance number of kretprobe event (Michael Petlan) [1873270] - [tools] perf counts: Rename perf_evsel__*counts() to evsel__*counts() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__w_cache* to evsel__w_cache* (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__new*() to evsel__new*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__resort*() to evsel__resort*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__object_config() to evsel__object_config() (Michael Petlan) [1873270] - [tools] perf cs-etm: Move definition of 'traceid_list' global variable from header file (Michael Petlan) [1873270] - [tools] libsymbols kallsyms: Move hex2u64 out of header (Michael Petlan) [1873270] - [tools] libsymbols kallsyms: Parse using io api (Michael Petlan) [1873270] - [tools] perf bench: Add kallsyms parsing (Michael Petlan) [1873270] - [tools] perf: cs-etm: Update to build with latest opencsd version (Michael Petlan) [1873270] - [tools] perf symbol: Fix kernel symbol address display (Michael Petlan) [1873270] - [tools] perf inject: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf annotate: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf trace: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf script: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf sched: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf lock: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf kmem: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf stat: Rename perf_evsel__*() operating on 'struct evsel *' to evsel__*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__store_ids() to evsel__store_id() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__env() to evsel__env() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__group_idx() to evsel__group_idx() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__fallback() to evsel__fallback() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__has*() to evsel__has*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__{prev, next}() to evsel__{prev, next}() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__parse_sample*() to evsel__parse_sample*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__read*() to *evsel__read() (Michael Petlan) [1873270] - [tools] perf evsel: Ditch perf_evsel__cmp(), not used for quite a while (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__is_*() to evsel__is*() (Michael Petlan) [1873270] - [tools] perf pmu: Add perf_pmu__find_by_type helper (Michael Petlan) [1873270] - [tools] tools feature: Add support for detecting libpfm4 (Michael Petlan) [1873270] - [tools] perf doc: Pass ASCIIDOC_EXTRA as an argument (Michael Petlan) [1873270] - [tools] perf mem2node: Avoid double free related to realloc (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__{str, int}val() and other tracepoint field metehods to to evsel__*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__open_per_*() to evsel__open_per_*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__*filter*() to evsel__*filter*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__*set_sample_*() to *evsel__*set_sample_*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__group_desc() to evsel__group_desc() (Michael Petlan) [1873270] - [tools] perf evsel: Rename *perf_evsel__*name() to *evsel__*name() (Michael Petlan) [1873270] - [tools] perf evsel: Rename __perf_evsel__sample_size() to __evsel__sample_size() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__calc_id_pos() to evsel__calc_id_pos() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__config*() to evsel__config*() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__exit() to evsel__exit() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__is_aux_event() to evsel__is_aux_event() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__find_pmu() to evsel__find_pmu() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__compute_deltas() to evsel__compute_deltas() (Michael Petlan) [1873270] - [tools] perf evsel: Rename perf_evsel__nr_cpus() to evsel__nr_cpus() (Michael Petlan) [1873270] - [tools] perf evsel: Rename 'struct perf_evsel__sb_cb_t' to 'struct evsel__sb_cb_t' (Michael Petlan) [1873270] - [tools] perf intel-pt: Update documentation about using /proc/kcore (Michael Petlan) [1873270] - [tools] perf intel-pt: Update documentation about itrace G and L options (Michael Petlan) [1873270] - [tools] perf intel-pt: Add support for synthesizing branch stacks for regular events (Michael Petlan) [1873270] - [tools] perf thread-stack: Add thread_stack__br_sample_late() (Michael Petlan) [1873270] - [tools] perf evsel: Add support for synthesized branch stack sample type (Michael Petlan) [1873270] - [tools] perf auxtrace: Add option to synthesize branch stack for regular events (Michael Petlan) [1873270] - [tools] perf intel-pt: Change branch stack support to use thread-stacks (Michael Petlan) [1873270] - [tools] perf intel-pt: Consolidate thread-stack use condition (Michael Petlan) [1873270] - [tools] perf thread-stack: Add branch stack support (Michael Petlan) [1873270] - [tools] perf tools: Simplify checking if SMT is active (Michael Petlan) [1873270] - [tools] perf tools: Fix reading new topology attribute "core_cpus" (Michael Petlan) [1873270] - [tools] libperf evlist: Fix a refcount leak (Michael Petlan) [1873270] - [tools] perf parse-events: Fix another memory leaks found on parse_events() (Michael Petlan) [1873270] - [tools] perf parse-events: Fix memory leaks found on parse_events (Michael Petlan) [1873270] - [tools] perf parse-events: Fix memory leaks found on parse_events (Michael Petlan) [1873270] - [tools] libperf: Add NULL pointer check for cpu_map iteration and NULL assignment for all_cpus (Michael Petlan) [1873270] - [tools] perf record: Move side band evlist setup to separate routine (Michael Petlan) [1873270] - [tools] perf record: Introduce --switch-output-event (Michael Petlan) [1873270] - [tools] libsubcmd: Introduce OPT_CALLBACK_SET() (Michael Petlan) [1873270] - [tools] perf evlist: Allow reusing the side band thread for more purposes (Michael Petlan) [1873270] - [tools] perf evlist: Move the sideband thread routines to separate object (Michael Petlan) [1873270] - [tools] perf parse-events: Add parse_events_option() variant that creates evlist (Michael Petlan) [1873270] - [tools] perf bpf: Decouple creating the evlist from adding the SB event (Michael Petlan) [1873270] - [tools] perf top: Move sb_evlist to 'struct perf_top' (Michael Petlan) [1873270] - [tools] perf record: Move sb_evlist to 'struct record' (Michael Petlan) [1873270] - [tools] perf tools: Move routines that probe for perf API features to separate file (Michael Petlan) [1873270] - [tools] perf vendor events power9: Add hv_24x7 socket/chip level metric events (Michael Petlan) [1873270] - [tools] perf tools: Enable Hz/hz prinitg for --metric-only option (Michael Petlan) [1873270] - [tools] perf tests expr: Added test for runtime param in metric expression (Michael Petlan) [1873270] - [tools] perf metricgroups: Enhance JSON/metric infrastructure to handle "?" (Michael Petlan) [1873270] - [tools] perf pmu: Fix function name in comment, its get_cpuid_str(), not get_cpustr() (Michael Petlan) [1873270] - [tools] perf report: Fix warning assignment of 0/1 to bool variable (Michael Petlan) [1873270] - [tools] perf tools: Remove unneeded semicolons (Michael Petlan) [1873270] - [tools] perf c2c: Remove unneeded semicolon (Michael Petlan) [1873270] - [tools] libtraceevent: Remove unneeded semicolon (Michael Petlan) [1873270] - [tools] perf script: Remove extraneous newline in perf_sample__fprintf_regs() (Michael Petlan) [1873270] - [tools] perf synthetic events: Remove use of sscanf from /proc reading (Michael Petlan) [1873270] - [tools] tools api: Add a lightweight buffered reading api (Michael Petlan) [1873270] - [tools] perf bench: Add a multi-threaded synthesize benchmark (Michael Petlan) [1873270] - [tools] perf record: Add num-synthesize-threads option (Michael Petlan) [1873270] - [tools] perf test session topology: Fix data path (Michael Petlan) [1873270] - [tools] perf stat: Improve runtime stat for interval mode (Michael Petlan) [1873270] - [tools] perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode (Michael Petlan) [1873270] - [tools] perf evlist: Remove duplicate headers (Michael Petlan) [1873270] - [tools] perf bench: Fix div-by-zero if runtime is zero (Michael Petlan) [1873270] - [tools] perf cgroup: Avoid needless closing of unopened fd (Michael Petlan) [1873270] - [tools] perf hist: Add fast path for duplicate entries check (Michael Petlan) [1873270] - [tools] perf c2c: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf top: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf script: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf report: Add option to enable the LBR stitching approach (Michael Petlan) [1873270] - [tools] perf callchain: Stitch LBR call stack (Michael Petlan) [1873270] - [tools] perf callchain: Save previous cursor nodes for LBR stitching approach (Michael Petlan) [1873270] - [tools] perf thread: Save previous sample for LBR stitching approach (Michael Petlan) [1873270] - [tools] perf thread: Add a knob for LBR stitch approach (Michael Petlan) [1873270] - [tools] perf machine: Factor out lbr_callchain_add_lbr_ip() (Michael Petlan) [1873270] - [tools] perf machine: Factor out lbr_callchain_add_kernel_ip() (Michael Petlan) [1873270] - [tools] perf machine: Refine the function for LBR call stack reconstruction (Michael Petlan) [1873270] - [tools] perf machine: Remove the indent in resolve_lbr_callchain_sample (Michael Petlan) [1873270] - [tools] perf header: Support CPU PMU capabilities (Michael Petlan) [1873270] - [tools] perf parser: Add support to specify rXXX event with pmu (Michael Petlan) [1873270] - [tools] perf doc: allow ASCIIDOC_EXTRA to be an argument (Michael Petlan) [1873270] - [tools] perf pmu: Add support for PMU capabilities (Michael Petlan) [1873270] - [tools] tools lib traceevent: Take care of return value of asprintf (Michael Petlan) [1873270] - [tools] perf stat: Force error in fallback on :k events (Michael Petlan) [1873270] - [tools] perf tools: Add support for leader-sampling with AUX area events (Michael Petlan) [1873270] - [tools] perf evlist: Allow multiple read formats (Michael Petlan) [1873270] - [tools] perf evsel: Rearrange perf_evsel__config_leader_sampling() (Michael Petlan) [1873270] - [tools] perf evlist: Move leader-sampling configuration (Michael Petlan) [1873270] - [tools] perf evsel: Move and globalize perf_evsel__find_pmu() and perf_evsel__is_aux_event() (Michael Petlan) [1873270] - [tools] perf intel-pt: Add support for synthesizing callchains for regular events (Michael Petlan) [1873270] - [tools] perf evsel: Add support for synthesized sample type (Michael Petlan) [1873270] - [tools] perf evsel: Be consistent when looking which evsel PERF_SAMPLE_ bits are set (Michael Petlan) [1873270] - [tools] perf thread-stack: Add thread_stack__sample_late() (Michael Petlan) [1873270] - [tools] perf auxtrace: Add an option to synthesize callchains for regular events (Michael Petlan) [1873270] - [tools] perf auxtrace: For reporting purposes, un-group AUX area event (Michael Petlan) [1873270] - [tools] perf s390-cpumsf: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf cs-etm: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf arm-spe: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf intel-bts: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf intel-pt: Implement ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf auxtrace: Add ->evsel_is_auxtrace() callback (Michael Petlan) [1873270] - [tools] perf metrictroup: Split the metricgroup__add_metric function (Michael Petlan) [1873270] - [tools] perf expr: Add expr_scanner_ctx object (Michael Petlan) [1873270] - [tools] perf expr: Add expr_ prefix for parse_ctx and parse_id (Michael Petlan) [1873270] - [tools] perf synthetic-events: save 4kb from 2 stack frames (Michael Petlan) [1873270] - [tools] tools api fs: Make xxx__mountpoint() more scalable (Michael Petlan) [1873270] - [tools] perf bench: Add event synthesis benchmark (Michael Petlan) [1873270] - [tools] perf script: Simplify auxiliary event printing functions (Michael Petlan) [1873270] - [tools] perf tools: Support CAP_PERFMON capability (Michael Petlan) [1873270] - [tools] perf annotate: Add basic support for bpf_image (Michael Petlan) [1873270] - [tools] perf machine: Set ksymbol dso as loaded on arrival (Michael Petlan) [1873270] - [tools] perf tools: Synthesize bpf_trampoline/dispatcher ksymbol event (Michael Petlan) [1873270] - [tools] perf stat: Honour --timeout for forked workloads (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Add hw_len wherever missing (Michael Petlan) [1873270] - [kernel] perf: Fix task_function_call() error handling (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Fix RAPL config variable bug (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Add AMD Fam17h RAPL support (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Make perf_probe_msr() more robust and flexible (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Flip logic on default events visibility (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Refactor to share the RAPL code between Intel and AMD CPUs (Michael Petlan) [1873270] - [x86] perf/x86/rapl: Move RAPL support to common x86 code (Michael Petlan) [1873270] - [kernel] perf/core: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [x86] perf/x86: Replace zero-length array with flexible-array (Michael Petlan) [1873270] - [x86] perf/x86/intel: Add more available bits for OFFCORE_RESPONSE of Intel Tremont (Michael Petlan) [1873270] - [x86] perf/x86/intel/pt: Drop pointless NULL assignment (Michael Petlan) [1873270] - [kernel] perf: Add cond_resched() to task_function_call() (Michael Petlan) [1873270] - [powerpc] powerpc/perf: open access for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [kernel] perf/core: open access to probes for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [kernel] perf/core: Open access to the core for CAP_PERFMON privileged process (Michael Petlan) [1873270] - [include] perf/core: Fix !CONFIG_PERF_EVENTS build warnings and failures (Michael Petlan) [1873270] - [security] perf_event: Add support for LSM and SELinux checks (Michael Petlan) [1873270] - [powerpc] powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run (Michael Petlan) [1873270] - [powerpc] powerpc/hv-24x7: Add rtas call in hv-24x7 driver to get processor details (Michael Petlan) [1873270] - [powerpc] powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show processor details (Michael Petlan) [1873270] - [documentation] Documentation/ABI: Add ABI documentation for chips and sockets (Michael Petlan) [1873270] - [powerpc] powerpc/pseries: Update hv-24x7 information after migration (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Fix ptrace code that muck around with address/len (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Fix length calculation for unaligned target (Michael Petlan) [1873270] - [powerpc] powerpc/watchpoint: Introduce macros for watchpoint length (Michael Petlan) [1873270] - [powerpc] powerpc/perf: fix imc allocation failure handling (Michael Petlan) [1873270] - [powerpc] powerpc/perf/24x7: use rb_entry (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix MMCRA corruption by bhrb_filter (Michael Petlan) [1873270] - [powerpc] perf/core, arch/powerpc: use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1873270] - [powerpc] Powerpc/perf: Wire up PMI throttling (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Remove l2 bus events from HW cache event array (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Add constraints for power9 l2/l3 bus events (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix unit_sel/cache_sel checks (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Cleanup cache_sel bits comment (Michael Petlan) [1873270] - [powerpc] powerpc/perf: Fix thresholding counter data for unknown type (Michael Petlan) [1873270] - [fs] writeback: Drop I_DIRTY_TIME_EXPIRE (Waiman Long) [1860031] - [fs] writeback: Fix sync livelock due to b_dirty_time processing (Waiman Long) [1860031] - [fs] writeback: Avoid skipping inode writeback (Waiman Long) [1860031] - [fs] writeback: Protect inode->i_io_list with inode->i_lock (Waiman Long) [1860031] - [fs] dcache: sort the freeing-without-RCU-delay mess for good (Waiman Long) [1860031] - [net] udp: Improve load balancing for SO_REUSEPORT. (Davide Caratti) [1894075] - [net] udp: Fix wrong clean up for IS_UDPLITE macro (Davide Caratti) [1894075] - [fs] ext4: disallow modifying DAX inode flag if inline_data has been set (Eric Sandeen) [1838344] - [include] dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Fix stack overflow when mounting fsdax pmem device (Eric Sandeen) [1838876 1854346 1838344] - [dax] dm: Call proper helper to determine dax support (Eric Sandeen) [1838876 1854346 1838344] - [md] dm/dax: Fix table reference counts (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: fix detection of dax support for non-persistent memory block devices (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: do not print error message for non-persistent memory block device (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Fix incorrect argument passed to xas_set_err() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Support that ioctl(SETXFLAGS/GETXFLAGS) can set/get inode DAX on XFS (Eric Sandeen) [1838876 1854346 1838344] - [dax] drivers/dax: Expand lock scope to cover the use of addresses (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/dax: Remove unused size parameter (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: print error message by pr_info() in __generic_fsdax_supported() (Eric Sandeen) [1838876 1854346 1838344] - [fs] ext4: avoid race conditions when remounting with options that change dax (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Update xfs_ioctl_setattr_dax_invalidate() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Combine xfs_diflags_to_linux() and xfs_diflags_to_iflags() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Create function xfs_inode_should_enable_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Make DAX mount option a tri-state (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Change XFS_MOUNT_DAX to XFS_MOUNT_DAX_ALWAYS (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/xfs: Remove unnecessary initialization of i_rwsem (Eric Sandeen) [1838876 1854346 1838344] - [documentation] Documentation/dax: Update DAX enablement for ext4 (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Introduce DAX inode flag (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Remove jflag variable (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Make DAX mount option a tri-state (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Only change S_DAX on inode load (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Update ext4_should_use_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Change EXT4_MOUNT_DAX to EXT4_MOUNT_DAX_ALWAYS (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/ext4: Narrow scope of DAX check in setflags (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Introduce DCACHE_DONTCACHE (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Lift XFS_IDONTCACHE to the VFS layer (Eric Sandeen) [1838876 1854346 1838344] - [documentation] Documentation/dax: Update Usage section (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs/stat: Define DAX statx attribute (Eric Sandeen) [1838876 1854346 1838344] - [block] fs: Remove unneeded IS_DAX() check in io_is_direct() (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Move mandatory ->zero_page_range() check in alloc_dax() (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax, iomap: Add helper dax_iomap_zero() to zero a range (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Use new dax zero page method for zeroing a page (Eric Sandeen) [1838876 1854346 1838344] - [md] dm,dax: Add dax zero_page_range operation (Eric Sandeen) [1838876 1854346 1838344] - [s390] s390, dcssblk, dax: Add dax zero_page_range operation to dcssblk driver (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax, pmem: Add a dax operation zero_page_range (Eric Sandeen) [1838876 1854346 1838344] - [nvdimm] pmem: Add functions for reading/writing page to/from pmem (Eric Sandeen) [1838876 1854346 1838344] - [fs] fs: Constify vma argument to vma_is_dax (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: pass NOWAIT flag to iomap_apply (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Get rid of fs_dax_get_by_host() helper (Eric Sandeen) [1838876 1854346 1838344] - [fs] dax: Pass dax_dev instead of bdev to dax_writeback_mapping_range() (Eric Sandeen) [1838876 1854346 1838344] - [dax] dax: Fix alloc_dax_region() compile warning (Eric Sandeen) [1838876 1854346 1838344] - [fs] xfs: disable map_sync for async flush (Eric Sandeen) [1838876 1854346 1838344] - [fs] ext4: disable map_sync for async flush (Eric Sandeen) [1838876 1854346 1838344] - [include] dax: check synchronous mapping is supported (Eric Sandeen) [1838876 1854346 1838344] - [dax] libnvdimm: add dax_dev sync flag (Eric Sandeen) [1838876 1854346 1838344] - [nvdimm] libnvdimm: nd_region flush callback support (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: only allow FSSETXATTR to set DAX flag on files and dirs (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: teach vfs_ioc_fssetxattr_check to check extent size hints (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: teach vfs_ioc_fssetxattr_check to check project id info (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: create a generic checking function for FS_IOC_FSSETXATTR (Eric Sandeen) [1838876 1854346 1838344] - [fs] vfs: create a generic checking and prep function for FS_IOC_SETFLAGS (Eric Sandeen) [1838876 1854346 1838344] - [dax] drivers/dax: Allow to include DEV_DAX_PMEM as builtin (Eric Sandeen) [1838876 1854346 1838344] - [netdrv] net: intel: Remove in_interrupt() warnings (Corinna Vinschen) [1838746] - [netdrv] igb: read PBA number from flash (Corinna Vinschen) [1838746] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838746] - [netdrv] treewide: Use fallthrough pseudo-keyword (Corinna Vinschen) [1838746] - [netdrv] igb: use eth_zero_addr() to clear mac address (Corinna Vinschen) [1838746] - [netdrv] igb: Remove unnecessary usages of memset (Corinna Vinschen) [1838746] - [netdrv] igb: reinit_locked() should be called with rtnl_lock (Corinna Vinschen) [1838746] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838746] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838746] - [netdrv] igb: make igb_set_fc_watermarks() return void (Corinna Vinschen) [1838746] - [netdrv] igb: Report speed and duplex as unknown when device is runtime suspended (Corinna Vinschen) [1838746] - [netdrv] igb: convert to use i2c_new_client_device() (Corinna Vinschen) [1838746] - [net] Bluetooth: Allow suspend even when preparation has failed (Gopal Tiwari) [1881485] - [net] Bluetooth: Check scan state before disabling during suspend (Gopal Tiwari) [1881485] - [fs] fuse: fix the ->direct_IO() treatment of iov_iter (Miklos Szeredi) [1875608] - [net] openvswitch: handle DNAT tuple collision (Dumitru Ceara) [1877128] - [net] xdp: Rename convert_to_xdp_frame in xdp_convert_buff_to_frame (Petr Oros) [1867194]- [fs] NFSv4.2: fix failure to unregister shrinker (Scott Mayhew) [1897988] - [tools] cpupower: Provide online and offline CPU information (Diego Domingos) [1893779] - [net] net/smc: improve return codes for SMC-Dv2 (Claudio Imbrenda) [1731027] - [s390] s390/ism: fix incorrect system EID (Claudio Imbrenda) [1731027] - [net] net/smc: fix suppressed return code (Claudio Imbrenda) [1731027] - [net] net/smc: fix null pointer dereference in smc_listen_decline() (Claudio Imbrenda) [1731027] - [net] net/smc: fix invalid return code in smcd_new_buf_create() (Claudio Imbrenda) [1731027] - [net] net/smc: fix valid DMBE buffer sizes (Claudio Imbrenda) [1731027] - [net] net/smc: fix use-after-free of delayed events (Claudio Imbrenda) [1731027] - [net] net/smc: restore smcd_version when all ISM V2 devices failed to init (Claudio Imbrenda) [1731027] - [net] net/smc: cleanup buffer usage in smc_listen_work() (Claudio Imbrenda) [1731027] - [net] net/smc: consolidate unlocking in same function (Claudio Imbrenda) [1731027] - [net] net/smc: use an array to check fields in system EID (Claudio Imbrenda) [1731027] - [net] net/smc: send ISM devices with unique chid in CLC proposal (Claudio Imbrenda) [1731027] - [net] net/smc: CLC decline - V2 enhancements (Claudio Imbrenda) [1731027] - [net] net/smc: introduce CLC first contact extension (Claudio Imbrenda) [1731027] - [net] net/smc: CLC accept / confirm V2 (Claudio Imbrenda) [1731027] - [net] net/smc: determine accepted ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: build and send V2 CLC proposal (Claudio Imbrenda) [1731027] - [net] net/smc: determine proposed ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce list of pnetids for Ethernet devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce CHID callback for ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: introduce System Enterprise ID (SEID) (Claudio Imbrenda) [1731027] - [net] net/smc: prepare for more proposed ISM devices (Claudio Imbrenda) [1731027] - [net] net/smc: split CLC confirm/accept data to be sent (Claudio Imbrenda) [1731027] - [net] net/smc: separate find device functions (Claudio Imbrenda) [1731027] - [net] net/smc: CLC header fields renaming (Claudio Imbrenda) [1731027] - [net] net/smc: remove constant and introduce helper to check for a pnet id (Claudio Imbrenda) [1731027] - [netdrv] vmxnet3: fix cksum offload issues for non-udp tunnels (Cathy Avery) [1868451] - [netdrv] vmxnet3: use correct tcp hdr length when packet is encapsulated (Cathy Avery) [1868451] - [scsi] scsi: vmw_pvscsi: Use true, false for adapter->use_msg (Cathy Avery) [1895014] - [scsi] scsi: vmw_pvscsi: Silence dma mapping errors (Cathy Avery) [1895014] - [scsi] scsi: vmw_pvscsi: Fix swiotlb operation (Cathy Avery) [1895014] - [scsi] scsi: vmw_pscsi: use sg helper to iterate over scatterlist (Cathy Avery) [1895014] - [scsi] Revert "vmw_pvscsi: Fixed to work with SG_CHAIN" (Cathy Avery) [1895014] - [scsi] scsi: vmw_pscsi: switch to generic DMA API (Cathy Avery) [1895014] - [netdrv] mdiobus: Disable preemption upon u64_stats update (Petr Oros) [1889849] - [net] u64_stats: Document writer non-preemptibility requirement (Petr Oros) [1889849] - [netdrv] phy: fixed_phy: Remove unused seqcount (Petr Oros) [1889849] - [net] net/smc: fix double kfree in smc_listen_work() (Claudio Imbrenda) [1847444] - [net] net/smc: check variable before dereferencing in smc_close.c (Claudio Imbrenda) [1847444] - [net] net/smc: use separate work queues for different worker types (Claudio Imbrenda) [1847444] - [net] net/smc: use the retry mechanism for netlink messages (Claudio Imbrenda) [1847444] - [net] net/smc: immediate freeing in smc_lgr_cleanup_early() (Claudio Imbrenda) [1847444] - [net] net/smc: reduce smc_listen_decline() calls (Claudio Imbrenda) [1847444] - [net] net/smc: improve server ISM device determination (Claudio Imbrenda) [1847444] - [net] net/smc: common routine for CLC accept and confirm (Claudio Imbrenda) [1847444] - [net] net/smc: dynamic allocation of CLC proposal buffer (Claudio Imbrenda) [1847444] - [net] net/smc: introduce better field names (Claudio Imbrenda) [1847444] - [net] net/smc: reduce active tcp_listen workers (Claudio Imbrenda) [1847444] - [net] net/smc: fix sock refcounting in case of termination (Claudio Imbrenda) [1847444] - [net] net/smc: reset sndbuf_desc if freed (Claudio Imbrenda) [1847444] - [net] net/smc: fix toleration of fake add_link messages (Claudio Imbrenda) [1847444] - [net] net/smc: Prevent kernel-infoleak in __smc_diag_dump() (Claudio Imbrenda) [1847444] - [s390] s390/ism: fix error return code in ism_probe() (Claudio Imbrenda) [1847444] - [s390] s390/zcrypt: Introduce Failure Injection feature (Philipp Rudo) [1851124] - [s390] s390/zcrypt: move ap_msg param one level up the call chain (Philipp Rudo) [1851124] - [s390] s390/ap/zcrypt: revisit ap and zcrypt error handling (Philipp Rudo) [1851124] - [s390] s390/ap: Support AP card SCLP config and deconfig operations (Philipp Rudo) [1851124] - [s390] s390/sclp: Add support for SCLP AP adapter config/deconfig (Philipp Rudo) [1851124] - [s390] s390/ap: add card/queue deconfig state (Philipp Rudo) [1851124] - [s390] s390/ap: add error response code field for ap queue devices (Philipp Rudo) [1851124] - [s390] s390/ap: split ap queue state machine state from device state (Philipp Rudo) [1851124] - [crypto] s390/zcrypt: New config switch CONFIG_ZCRYPT_DEBUG (Philipp Rudo) [1851124] - [s390] s390/zcrypt: introduce msg tracking in zcrypt functions (Philipp Rudo) [1851124] - [s390] s390/ap: rework crypto config info and default domain code (Philipp Rudo) [1851124] - [s390] s390/zcrypt: provide cex4 cca sysfs attributes for cex3 (Philipp Rudo) [1851124] - [s390] s390/ap: rename and clarify ap state machine related stuff (Philipp Rudo) [1851124] - [s390] s390/zcrypt: split ioctl function into smaller code units (Philipp Rudo) [1851124] - [s390] s390/zcrypt: code beautification and struct field renames (Philipp Rudo) [1851124] - [s390] s390/zcrypt: fix smatch warnings (Philipp Rudo) [1851124] - [s390] s390/ap: introduce new ap function ap_get_qdev() (Philipp Rudo) [1851124] - [s390] s390/zcrypt: replace snprintf/sprintf with scnprintf (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Use scnprintf() for avoiding potential buffer overflow (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Support for CCA protected key block version 2 (Philipp Rudo) [1851124] - [s390] s390/zcrypt: fix card and queue total counter wrap (Philipp Rudo) [1851124] - [s390] s390/zcrypt: move ap device reset from bus to driver code (Philipp Rudo) [1851124] - [s390] s390/zcrypt: Fix CCA cipher key gen with clear key value function (Philipp Rudo) [1851124] - [s390] s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR (Philipp Rudo) [1851124] - [fs] NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1888612] - [fs] NFSv4.x recover from pre-mature loss of openstateid (Benjamin Coddington) [1888612] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1888612] - [hv] hv: vmbus: Add timeout to vmbus_wait_for_unload (Mohammed Gamal) [1888980] - [net] sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() (Ivan Vecera) [1874071] - [net] sched: act_ct: Fix adding udp port mangle operation (Ivan Vecera) [1874071] - [net] sched: Fix suspicious RCU usage while accessing tcf_tunnel_info (Ivan Vecera) [1874071] - [net] sched: get rid of qdisc->padded (Ivan Vecera) [1874071] - [net] sched: check error pointer in tcf_dump_walker() (Ivan Vecera) [1874071] - [net] sched: remove a redundant goto chain check (Ivan Vecera) [1874071] - [net] sched: cls_u32: Replace one-element array with flexible-array member (Ivan Vecera) [1874071] - [net] sched: commit action insertions together (Ivan Vecera) [1874071] - [net] sched: defer tcf_idr_insert() in tcf_action_init_1() (Ivan Vecera) [1874071] - [net] sched: Remove unused function qdisc_queue_drop_head() (Ivan Vecera) [1874071] - [net] sched: taprio: Fix allowing too small intervals (Ivan Vecera) [1874071] - [net] sched: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc (Ivan Vecera) [1874071] - [net] sched: skip an unnecessay check (Ivan Vecera) [1874071] - [net] sched: act_ife: load meta modules before tcf_idr_check_alloc() (Ivan Vecera) [1874071] - [net] sched: fix error path in red_init() (Ivan Vecera) [1874071] - [net] sched: taprio: Fix using wrong queues in gate mask (Ivan Vecera) [1874071] - [net] sched: Use fallthrough pseudo-keyword (Ivan Vecera) [1874071] - [net] netlink: consistently use NLA_POLICY_EXACT_LEN() (Ivan Vecera) [1874071] - [net] sched: act_ct: fix miss set mru for ovs after defrag in act_ct (Ivan Vecera) [1874071] - [net] sched: cls_u32: Use struct_size() helper (Ivan Vecera) [1874071] - [net] sched: act_pedit: Use flex_array_size() helper in memcpy() (Ivan Vecera) [1874071] - [net] sched: initialize timer earlier in red_init() (Ivan Vecera) [1874071] - [net] sched: cls_flower: Add hash info to flow classification (Ivan Vecera) [1874071] - [net] flow_dissector: add packet hash dissection (Ivan Vecera) [1874071] - [net] sched: sch_api: add missing rcu read lock to silence the warning (Ivan Vecera) [1874071] - [tools] tc-testing: Add tdc to kselftests (Ivan Vecera) [1874071] - [net] sched: Do not drop root lock in tcf_qevent_handle() (Ivan Vecera) [1874071] - [net] sched: kerneldoc fixes (Ivan Vecera) [1874071] - [net] sched: Pass qdisc reference in struct flow_block_offload (Ivan Vecera) [1874071] - [net] sched: Use fallthrough pseudo-keyword (Ivan Vecera) [1874071] - [net] sched: Allow changing default qdisc to FQ-PIE (Ivan Vecera) [1874071] - [net] qos: police action offloading parameter 'burst' change to the original value (Ivan Vecera) [1874071] - [tools] selftests: forwarding: Add a RED test for SW datapath (Ivan Vecera) [1874071] - [net] sched: sch_red: Add qevents "early_drop" and "mark" (Ivan Vecera) [1874071] - [net] sched: sch_red: Split init and change callbacks (Ivan Vecera) [1874071] - [net] sched: Introduce helpers for qevent blocks (Ivan Vecera) [1874071] - [net] sched: sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling (Ivan Vecera) [1874071] - [net] qos: police action add index for tc flower offloading (Ivan Vecera) [1874071] - [net] qos: add tc police offloading action with max frame size limit (Ivan Vecera) [1874071] - [net] sched: tcindex_change: Remove redundant null check (Ivan Vecera) [1874071] - [net] sched: Remove redundant skb null check (Ivan Vecera) [1874071] - [net] sched: Remove redundant condition in qdisc_graft (Ivan Vecera) [1874071] - [net] sched: cls_u32: Use struct_size() in kzalloc() (Ivan Vecera) [1874071] - [net] sched: taprio: Use struct_size() in kzalloc() (Ivan Vecera) [1874071] - [net] vlan: consolidate VLAN parsing code and limit max parsing depth (Ivan Vecera) [1874071] - [net] flow_offload: Move rhashtable inclusion to the source file (Ivan Vecera) [1874071] - [net] sched: act_ct: fix restore the qdisc_skb_cb after defrag (Ivan Vecera) [1874071] - [net] sched: fix a memory leak in atm_tc_init() (Ivan Vecera) [1874071] - [net] sched: act_ct: add miss tcf_lastuse_update. (Ivan Vecera) [1874071] - [net] sched: consistently handle layer3 header accesses in the presence of VLANs (Ivan Vecera) [1874071] - [net] tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 (Ivan Vecera) [1874071] - [net] sched: sch_cake: fix a few style nits (Ivan Vecera) [1874071] - [net] sched: sch_cake: don't call diffserv parsing code when it is not needed (Ivan Vecera) [1874071] - [net] sched: sch_cake: don't try to reallocate or unshare skb unconditionally (Ivan Vecera) [1874071] - [tools] tc-testing: avoid action cookies with odd length. (Ivan Vecera) [1874071] - [net] sched: Add MODULE_DESCRIPTION entries to network modules (Ivan Vecera) [1874071] - [tools] tc-testing: update geneve options match in tunnel_key unit tests (Ivan Vecera) [1874071] - [net] flow_offload: fix flow_indr_dev_unregister path (Ivan Vecera) [1874071] - [net] flow_offload: use flow_indr_block_cb_alloc/remove function (Ivan Vecera) [1874071] - [net] flow_offload: add flow_indr_block_cb_alloc/remove function (Ivan Vecera) [1874071] - [net] sched: act_gate: fix configuration of the periodic timer (Ivan Vecera) [1874071] - [net] sched: act_gate: fix NULL dereference in tcf_gate_init() (Ivan Vecera) [1874071] - [net] flow_offload: remove indirect flow_block declarations leftover (Ivan Vecera) [1874071] - [net] sched: export __netdev_watchdog_up() (Ivan Vecera) [1874071] - [net] sched: act_ct: add nat mangle action only for NAT-conntrack (Ivan Vecera) [1874071] - [net] sched: sch_cake: Take advantage of skb->hash where appropriate (Ivan Vecera) [1874071] - [net] sched: fix a couple of splats in the error path of tfc_gate_init() (Ivan Vecera) [1874071] - [net] sched: get rid of unnecessary dev_qdisc_reset() (Ivan Vecera) [1874071] - [net] sched: avoid resetting active qdisc for multiple times (Ivan Vecera) [1874071] - [net] sched: add a tracepoint for qdisc creation (Ivan Vecera) [1874071] - [net] sched: add tracepoints for qdisc_reset() and qdisc_destroy() (Ivan Vecera) [1874071] - [net] sched: use qdisc_reset() in qdisc_destroy() (Ivan Vecera) [1874071] - [net] sched: fix infinite loop in sch_fq_pie (Ivan Vecera) [1874071] - [net] sched: fix reporting the first-time use timestamp (Ivan Vecera) [1874071] - [net] tracing: Fix header include guards in trace event headers (Ivan Vecera) [1874071] - [netdrv] ipvlan: fix device features (Davide Caratti) [1892621] - [netdrv] ipvlan: consolidate TSO flags using NETIF_F_ALL_TSO (Davide Caratti) [1892621] - [netdrv] ipvlan: set hw_enc_features like macvlan (Davide Caratti) [1892621] - [tools] ACPI: Use valid link to the ACPI specification (David Arcari) [1857138] - [tools] cpupower: Replace HTTP links with HTTPS ones (David Arcari) [1857138] - [tools] cpupower: Fix NULL but dereferenced coccicheck errors (David Arcari) [1857138] - [tools] cpupower: Fix comparing pointer to 0 coccicheck warns (David Arcari) [1857138] - [tools] cpupower: Remove unneeded semicolon (David Arcari) [1857138] - [tools] cpupower: .gitignore: add SPDX License Identifier (David Arcari) [1857138] - [tools] cpupower: avoid multiple definition with gcc -fno-common (David Arcari) [1857138] - [tools] cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e (David Arcari) [1857138] - [tools] cpupower: ToDo: Update ToDo with ideas for per_cpu_schedule handling (David Arcari) [1857138] - [tools] tools/power/cpupower: Fix initializer override in hsw_ext_cstates (David Arcari) [1857138] - [tools] cpupower: update German translation (David Arcari) [1857138] - [tools] tools/power/cpupower: fix 64bit detection when cross-compiling (David Arcari) [1857138] - [tools] cpupower: Add missing newline at end of file (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (David Arcari) [1857138] - [tools] cpupower: correct spelling of interval (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 167 (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 166 (David Arcari) [1857138] - [tools] cpupower: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (David Arcari) [1857138] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 155 (David Arcari) [1857138] - [tools] cpupower: Add SPDX license identifier for more missed files (David Arcari) [1857138] - [tools] tools/power/cpupower: Display boost frequency separately (David Arcari) [1857138] - [tools] cpupower : Auto-completion for cpupower tool (David Arcari) [1857138] - [tools] tools/power/cpupower: fix compilation with STATIC=true (David Arcari) [1857138] - [tools] cpupower: remove stringop-truncation waring (David Arcari) [1857138] - [tools] cpupower: convert ISO_8859-1 text comments to utf-8 (David Arcari) [1857138] - [x86] x86/resctrl: Support wider MBM counters (Puneet Sethi) [1834658] - [x86] x86/resctrl: Support CPUID enumeration of MBM counter width (Puneet Sethi) [1834658] - [x86] x86/resctrl: Maintain MBM counter width per resource (Puneet Sethi) [1834658] - [x86] x86/resctrl: Query LLC monitoring properties once during boot (Puneet Sethi) [1834658] - [x86] x86/resctrl: Remove unnecessary RMID checks (Puneet Sethi) [1834658] - [x86] x86/cpu: Move resctrl CPUID code to resctrl/ (Puneet Sethi) [1834658] - [x86] x86/resctrl: Rename asm/resctrl_sched.h to asm/resctrl.h (Puneet Sethi) [1834658] - [x86] x86/resctrl: Preserve CDP enable over CPU hotplug (Puneet Sethi) [1834658] - [net] af_packet: TPACKET_V3: fix fill status rwlock imbalance (Ivan Vecera) [1889829] - [net] packet: tpacket_rcv: do not increment ring index on drop (Ivan Vecera) [1889829] - [net] af_packet: TPACKET_V3: replace busy-wait loop (Ivan Vecera) [1889829] - [net] SUNRPC: Fix svc_flush_dcache() (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Be consistent about mirror index types (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Ensure we initialise the mirror bsizes correctly on read (Scott Mayhew) [1888214] - [fs] NFSv4.2: fix client's attribute cache management for copy_file_range (Scott Mayhew) [1888214] - [fs] nfs: Fix security label length not being reset (Scott Mayhew) [1888214] - [net] SUNRPC: stop printk reading past end of string (Scott Mayhew) [1888214] - [fs] NFS: Zero-stateid SETATTR should first return delegation (Scott Mayhew) [1888214] - [fs] NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall (Scott Mayhew) [1888214] - [net] SUNRPC: remove duplicate include (Scott Mayhew) [1888214] - [fs] nfsd: fix oops on mixed NFSv4/NFSv3 client access (Scott Mayhew) [1888214] - [fs] NFS: Fix flexfiles read failover (Scott Mayhew) [1888214] - [fs] fs: nfs: delete repeated words in comments (Scott Mayhew) [1888214] - [fs] rpc_pipefs: convert comma to semicolon (Scott Mayhew) [1888214] - [fs] NFS: Don't return layout segments that are in use (Scott Mayhew) [1888214] - [fs] NFS: Don't move layouts to plh_return_segs list while in use (Scott Mayhew) [1888214] - [fs] NFS: Add layout segment info to pnfs read/write/commit tracepoints (Scott Mayhew) [1888214] - [fs] NFS: Add tracepoints for layouterror and layoutstats (Scott Mayhew) [1888214] - [fs] NFS: Report the stateid + status in trace_nfs4_layoutreturn_on_close() (Scott Mayhew) [1888214] - [fs] NFSv4.2: xattr cache: get rid of cache discard work queue (Scott Mayhew) [1888214] - [fs] NFS: remove redundant initialization of variable result (Scott Mayhew) [1888214] - [net] svcrdma: CM event handler clean up (Scott Mayhew) [1888214] - [net] svcrdma: Remove transport reference counting (Scott Mayhew) [1888214] - [net] svcrdma: Fix another Receive buffer leak (Scott Mayhew) [1888214] - [trace] SUNRPC: Refresh the show_rqstp_flags() macro (Scott Mayhew) [1888214] - [fs] nfsd: netns.h: delete a duplicated word (Scott Mayhew) [1888214] - [net] sunrpc: destroy rpc_inode_cachep after unregister_filesystem (Scott Mayhew) [1888214] - [fs] freezer: Add unsafe version of freezable_schedule_timeout_interruptible() for NFS (Scott Mayhew) [1888214] - [fs] NFSv4.2: add client side xattr caching (Scott Mayhew) [1888214] - [fs] NFSv4.2: hook in the user extended attribute handlers (Scott Mayhew) [1888214] - [fs] NFSv4.2: add the extended attribute proc functions (Scott Mayhew) [1888214] - [fs] nfs: make the buf_to_pages_noslab function available to the nfs code (Scott Mayhew) [1888214] - [fs] nfs: define and use the NFS_INO_INVALID_XATTR flag (Scott Mayhew) [1888214] - [fs] NFS: Update symbolic flags displayed by trace events (Scott Mayhew) [1888214] - [fs] nfs: modify update_changeattr to deal with regular files (Scott Mayhew) [1888214] - [fs] NFSv4.2: query the extended attribute access bits (Scott Mayhew) [1888214] - [fs] nfs: define nfs_access_get_cached function (Scott Mayhew) [1888214] - [fs] NFSv4.2: add client side XDR handling for extended attributes (Scott Mayhew) [1888214] - [fs] NFSv4.2: query the server for extended attribute support (Scott Mayhew) [1888214] - [fs] NFSv4.2: define limits and sizes for user xattr handling (Scott Mayhew) [1888214] - [include] nfs: add client side only definitions for user xattrs (Scott Mayhew) [1888214] - [fs] nfsd: Use seq_putc() in two functions (Scott Mayhew) [1888214] - [net] svcrdma: Display chunk completion ID when posting a rw_ctxt (Scott Mayhew) [1888214] - [net] svcrdma: Record send_ctxt completion ID in trace_svcrdma_post_send() (Scott Mayhew) [1888214] - [net] svcrdma: Introduce Send completion IDs (Scott Mayhew) [1888214] - [net] svcrdma: Record Receive completion ID in svc_rdma_decode_rqst (Scott Mayhew) [1888214] - [net] svcrdma: Introduce Receive completion IDs (Scott Mayhew) [1888214] - [trace] svcrdma: Introduce infrastructure to support completion IDs (Scott Mayhew) [1888214] - [net] svcrdma: Add common XDR encoders for RDMA and Read segments (Scott Mayhew) [1888214] - [net] svcrdma: Add common XDR decoders for RDMA and Read segments (Scott Mayhew) [1888214] - [net] SUNRPC: Add helpers for decoding list discriminators symbolically (Scott Mayhew) [1888214] - [include] svcrdma: Remove declarations for functions long removed (Scott Mayhew) [1888214] - [net] svcrdma: Clean up trace_svcrdma_send_failed() tracepoint (Scott Mayhew) [1888214] - [net] svcrdma: Consolidate send_error helper functions (Scott Mayhew) [1888214] - [net] svcrdma: Make svc_rdma_send_error_msg() a global function (Scott Mayhew) [1888214] - [net] svcrdma: Eliminate return value for svc_rdma_send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Add a @status parameter to svc_rdma_send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Add @rctxt parameter to svc_rdma_send_error() functions (Scott Mayhew) [1888214] - [net] svcrdma: Remove save_io_pages() call from send_error_msg() (Scott Mayhew) [1888214] - [net] svcrdma: Fix page leak in svc_rdma_recv_read_chunk() (Scott Mayhew) [1888214] - [net] SUNRPC: Augment server-side rpcgss tracepoints (Scott Mayhew) [1888214] - [fs] nfsd: add fattr support for user extended attributes (Scott Mayhew) [1888214] - [fs] nfsd: implement the xattr functions and en/decode logic (Scott Mayhew) [1888214] - [fs] nfsd: add structure definitions for xattr requests / responses (Scott Mayhew) [1888214] - [fs] nfsd: take xattr bits into account for permission checks (Scott Mayhew) [1888214] - [fs] nfsd: define xattr functions to call into their vfs counterparts (Scott Mayhew) [1888214] - [fs] nfsd: add defines for NFSv4.2 extended attribute support (Scott Mayhew) [1888214] - [fs] nfsd: split off the write decode code into a separate function (Scott Mayhew) [1888214] - [fs] xattr: add a function to check if a namespace is supported (Scott Mayhew) [1888214] - [fs] xattr: break delegations in {set, remove}xattr (Scott Mayhew) [1888214] - [uapi] nfs, nfsd: NFSv4.2 extended attribute protocol definitions (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: The mirror count could depend on the layout segment range (Scott Mayhew) [1888214] - [fs] pNFS/flexfiles: Clean up redundant calls to pnfs_put_lseg() (Scott Mayhew) [1888214] - [fs] NFS: Allow applications to speed up readdir+statx() using AT_STATX_DONT_SYNC (Scott Mayhew) [1888214] - [include] NFS: Replace zero-length array with flexible-array (Scott Mayhew) [1888214] - [include] nfs4: Remove unneeded semicolon (Scott Mayhew) [1888214] - [tools] selftests/livepatch: adopt to newer sysctl error format (Yannick Cote) [1869880] - [tools] selftests/livepatch: Use "comm" instead of "diff" for dmesg (Yannick Cote) [1869880] - [tools] selftests/livepatch: add test delimiter to dmesg (Yannick Cote) [1869880] - [tools] selftests/livepatch: refine dmesg 'taints' in dmesg comparison (Yannick Cote) [1869880] - [tools] selftests/livepatch: Don't clear dmesg when running tests (Yannick Cote) [1869880] - [lib] selftests/livepatch: fix mem leaks in test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: more verification in test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: rework test-klp-shadow-vars (Yannick Cote) [1869880] - [lib] selftests/livepatch: simplify test-klp-callbacks busy target tests (Yannick Cote) [1869880] - [tools] selftests: Install settings files to fix TIMEOUT failures (Yannick Cote) [1869880] - [cpufreq] cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Free memory only when turning off (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Add ->offline and ->online callbacks (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Tweak the EPP sysfs interface (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Update cached EPP in the active mode (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Refuse to turn off with HWP enabled (Puneet Sethi) [1881199] - [documentation] Documentation: fix pm/intel_pstate build warning and wording (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Implement passive mode with HWP enabled (Puneet Sethi) [1881199] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0 (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Rearrange the storing of new EPP values (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Avoid enabling HWP if EPP is not supported (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Clean up aperf_mperf_shift description (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Supply struct attribute description for get_aperf_mperf_shift() (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Fix static checker warning for epp variable (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Allow raw energy performance preference value (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Allow enable/disable energy efficiency (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Add one more OOB control bit (Puneet Sethi) [1881199] - [cpufreq] cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: update links for references (Puneet Sethi) [1881199] - [documentation] Documentation: PM: Unify copyright notices (Puneet Sethi) [1881199] - [documentation] Documentation: PM: Add SPDX license tags to multiple files (Puneet Sethi) [1881199] - [documentation] cpufreq: intel_pstate: Documentation: Add references sections (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: Clarify coordination of P-State limits (Puneet Sethi) [1881199] - [documentation] Documentation: intel_pstate: Add base_frequency information (Puneet Sethi) [1881199] - [i2c] i2c: ismt: Remove call to memset after dmam_alloc_coherent (Tony Camuso) [1875395] - [i2c] i2c: ismt: Add support for Intel Cedar Fork (Tony Camuso) [1875395] - [documentation] docs: net: fm10k: add documentation for fm10k driver (Vladis Dronov) [1838728] - [netdrv] net: fm10k: reject unsupported coalescing params (Vladis Dronov) [1838728] - [netdrv] intel: Replace zero-length array with flexible-array member (Vladis Dronov) [1838728] - [netdrv] net: Use skb accessors in network drivers (Vladis Dronov) [1838728] - [netdrv] hdlc_ppp: add range checks in ppp_cp_parse_cr() (Guillaume Nault) [1882082] {CVE-2020-25643}- [pinctrl] pinctrl: sunrisepoint: Modify COMMUNITY macros to be consistent (David Arcari) [1783488] - [pinctrl] pinctrl: cannonlake: Modify COMMUNITY macros to be consistent (David Arcari) [1783488] - [pinctrl] pinctrl: tigerlake: Fix register offsets for TGL-H variant (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Update header block to reflect direct dependencies (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Switch to use intel_pinctrl_get_soc_data() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Extract intel_pinctrl_get_soc_data() helper for wider use (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Use fallthrough pseudo-keyword (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH) (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Drop no-op ACPI_PTR() call (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Make use of for_each_requested_gpio_in_range() (David Arcari) [1783488] - [include] gpiolib: Introduce for_each_requested_gpio_in_range() macro (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Protect IO in few call backs by lock (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Split intel_config_get() to three functions (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Drop the only label in the code for consistency (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Get rid of redundant 'else' in intel_config_set_debounce() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Make use of IRQ_RETVAL() (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Reduce scope of the lock (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Disable input and output buffer when switching to GPIO (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Allow drivers to define ACPI address space ID (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Allow drivers to define total amount of IRQs per community (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Move npins closer to pin_base in struct intel_community (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Update description in struct intel_community (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Use platform_get_irq_optional() explicitly (David Arcari) [1783488] - [pinctrl] pinctrl: intel: Introduce new flag to force GPIO base to be 0 (David Arcari) [1783488] - [pinctrl] pinctrl: tigerlake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: icelake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: cannonlake: Use generic flag for special GPIO base treatment (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Enable pin configuration setting for GPIO chip (David Arcari) [1783488] - [pinctrl] pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H (David Arcari) [1783488] - [pinctrl] pinctrl: baytrail: Mark expected switch fall-throughs (David Arcari) [1783488] - [kernel] mm: disable proactive compaction by default (Rafael Aquini) [1848427] - [mm] mm: use unsigned types for fragmentation score (Rafael Aquini) [1848427] - [mm] mm: fix compile error due to COMPACTION_HPAGE_ORDER (Rafael Aquini) [1848427] - [mm] mm: proactive compaction (Rafael Aquini) [1848427] - [i2c] i2c: mlxbf: I2C_MLXBF should depend on MELLANOX_PLATFORM (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Update author and maintainer email info (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Update reference clock frequency (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Remove unecessary wrapper functions (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Fix resrticted cast warning of sparse (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: Add CONFIG_ACPI to guard ACPI function call (Alaa Hleihel) [1655741 1655709] - [documentation] dt-bindings: i2c: I2C binding for Mellanox BlueField SoC (Alaa Hleihel) [1655741 1655709] - [i2c] i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC (Alaa Hleihel) [1655741 1655709] - [misc] misc: eeprom: ee1004: convert to i2c_new_dummy_device (Alaa Hleihel) [1655741] - [misc] eeprom: ee1004: Deal with nack on page selection (Alaa Hleihel) [1655741] - [misc] eeprom: ee1004: Move selected page detection to a separate function (Alaa Hleihel) [1655741] - [misc] eeprom: New ee1004 driver for DDR4 memory (Alaa Hleihel) [1655741] - [net] xfrm: Use correct address family in xfrm_state_find (Xin Long) [1892641] - [net] xfrm: clone whole liftime_cur structure in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate (Xin Long) [1892641] - [net] xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate (Xin Long) [1892641] - [net] ip_vti: Fix unused variable warning (Xin Long) [1892641] - [net] xfrm: Make the policy hold queue work with VTI. (Xin Long) [1892641] - [s390] s390/qeth: delay draining the TX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: strictly order bridge address events (Philipp Rudo) [1847443] - [s390] s390/qeth: unify structs for bridge port state (Philipp Rudo) [1847443] - [s390] s390/qeth: copy less data from bridge state events (Philipp Rudo) [1847443] - [s390] s390/qeth: don't let HW override the configured port role (Philipp Rudo) [1847443] - [s390] s390/qeth: don't disable address events during initialization (Philipp Rudo) [1847443] - [s390] s390/qeth: make queue lock a proper spinlock (Philipp Rudo) [1847443] - [s390] s390/qeth: use to_delayed_work() (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up qeth_l3_send_setdelmc()'s declaration (Philipp Rudo) [1847443] - [s390] s390/qeth: use all configured RX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: don't process empty bridge port events (Philipp Rudo) [1847443] - [s390] s390/qeth: integrate RX refill worker with NAPI (Philipp Rudo) [1847443] - [s390] s390/qeth: tolerate pre-filled RX buffer (Philipp Rudo) [1847443] - [s390] s390/qdio: remove internal polling in non-thinint path (Philipp Rudo) [1847443] - [s390] s390/qdio: allow to scan all 128 Input SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: fix statistics for 128 SBALs (Philipp Rudo) [1847443] - [s390] s390/qeth: constify the MPC initialization data (Philipp Rudo) [1847443] - [s390] s390/qeth: unify RX-mode hashtables (Philipp Rudo) [1847443] - [s390] s390/qeth: cleanup OAT code (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up a magic number in the OAT callback (Philipp Rudo) [1847443] - [s390] s390/qeth: use u64_to_user_ptr() in the OAT code (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up error handling for isolation mode cmds (Philipp Rudo) [1847443] - [s390] s390/qeth: don't clear the configured isolation mode (Philipp Rudo) [1847443] - [s390] s390/qeth: only init the isolation mode when necessary (Philipp Rudo) [1847443] - [s390] s390/qeth: fine-tune errno when cmds are cancelled (Philipp Rudo) [1847443] - [s390] s390/qeth: reject unsupported link type earlier (Philipp Rudo) [1847443] - [s390] s390/qeth: let isolation mode override HW offload restrictions (Philipp Rudo) [1847443] - [s390] s390/qeth: fix error handling for isolation mode cmds (Philipp Rudo) [1847443] - [s390] s390/qdio: warn about unexpected SLSB states (Philipp Rudo) [1847443] - [s390] s390/qdio: clean up usage of qdio_data (Philipp Rudo) [1847443] - [s390] s390/qdio: reduce SLSB writes during Input Queue processing (Philipp Rudo) [1847443] - [s390] s390/qdio: fine-tune SLSB update (Philipp Rudo) [1847443] - [s390] s390/cio, s390/qeth: cleanup PNSO CHSC (Philipp Rudo) [1847443] - [s390] s390/qdio: remove q->first_to_kick (Philipp Rudo) [1847443] - [s390] s390/qdio: fix up qdio_start_irq() kerneldoc (Philipp Rudo) [1847443] - [s390] s390/qdio: add IRQ reduction for error SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: refactor ACK processing for primed SBALs (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify overlap calculation on Input refill (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up Kconfig help text (Philipp Rudo) [1847443] - [s390] s390/qeth: return error when starting a reset fails (Philipp Rudo) [1847443] - [s390] s390/qeth: set TX IRQ marker on last buffer in a group (Philipp Rudo) [1847443] - [s390] s390/qeth: indicate contiguous TX buffer elements (Philipp Rudo) [1847443] - [s390] s390/qeth: merge TX skb mapping code (Philipp Rudo) [1847443] - [s390] s390/qeth: don't use restricted offloads for local traffic (Philipp Rudo) [1847443] - [s390] s390/qeth: extract helpers for next-hop lookup (Philipp Rudo) [1847443] - [s390] s390/qeth: add debugfs file for local IP addresses (Philipp Rudo) [1847443] - [s390] s390/qeth: process local address events (Philipp Rudo) [1847443] - [s390] s390/qeth: keep track of LP2LP capability for csum offload (Philipp Rudo) [1847443] - [s390] s390/qeth: fix cancelling of TX timer on dev_close() (Philipp Rudo) [1847443] - [s390] s390/qdio: remove always-true condition (Philipp Rudo) [1847443] - [s390] s390/qdio: de-duplicate tiqdio_inbound_processing() (Philipp Rudo) [1847443] - [s390] s390/qdio: keep track of allocated queue count (Philipp Rudo) [1847443] - [s390] s390/qdio: roll-back after queue allocation error (Philipp Rudo) [1847443] - [s390] s390/qdio: do more fine-grained allocation roll-back (Philipp Rudo) [1847443] - [s390] s390/qdio: consolidate thinint init/exit (Philipp Rudo) [1847443] - [s390] s390/qdio: put thinint indicator after early error (Philipp Rudo) [1847443] - [s390] s390/qdio: tear down thinint indicator after early error (Philipp Rudo) [1847443] - [s390] s390/qdio: consistently restore the IRQ handler (Philipp Rudo) [1847443] - [s390] s390/qdio: clear DSCI early for polling drivers (Philipp Rudo) [1847443] - [s390] s390/qdio: inline shared_ind() (Philipp Rudo) [1847443] - [s390] s390/qdio: remove cdev from init_data (Philipp Rudo) [1847443] - [s390] s390/qdio: allow for non-contiguous SBAL array in init_data (Philipp Rudo) [1847443] - [s390] zfcp: inline zfcp_qdio_setup_init_data() (Philipp Rudo) [1847443] - [s390] s390/qdio: cleanly split alloc and establish (Philipp Rudo) [1847443] - [s390] s390/qeth: phase out OSN support (Philipp Rudo) [1847443] - [s390] s390/qeth: make OSN / OSX support configurable (Philipp Rudo) [1847443] - [s390] s390/qeth: remove fake_broadcast attribute (Philipp Rudo) [1847443] - [s390] s390/qdio: set qdio_irq->cdev at allocation time (Philipp Rudo) [1847443] - [s390] s390/qdio: remove unused function declarations (Philipp Rudo) [1847443] - [s390] s390/qeth: modernize two list helpers (Philipp Rudo) [1847443] - [s390] s390/qeth: keep track of fixed prio-queue configuration (Philipp Rudo) [1847443] - [s390] s390/qeth: fine-tune MAC Address-related errnos (Philipp Rudo) [1847443] - [s390] s390/qeth: add TX IRQ coalescing support for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: collect more TX statistics (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up the mac_bits (Philipp Rudo) [1847443] - [s390] s390/qeth: simplify L3 dev_id logic (Philipp Rudo) [1847443] - [s390] s390/qdio: extend polling support to multiple queues (Philipp Rudo) [1847443] - [s390] s390/qeth: remove redundant if-clause in RX poll code (Philipp Rudo) [1847443] - [s390] s390/qeth: split out RX poll code (Philipp Rudo) [1847443] - [s390] s390/qeth: simplify RX buffer tracking (Philipp Rudo) [1847443] - [s390] s390/qdio: pass ISC as parameter to chsc_sadc() (Philipp Rudo) [1847443] - [s390] s390/qeth: use dev->reg_state (Philipp Rudo) [1847443] - [s390] s390/qeth: remove gratuitous NULL checks (Philipp Rudo) [1847443] - [s390] s390/qeth: add phys_to_virt() translation for AOB (Philipp Rudo) [1847443] - [s390] s390/qeth: don't report hard-coded driver version (Philipp Rudo) [1847443] - [s390] s390/qeth: add SW timestamping support for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: balance the TX queue selection for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: allow configuration of TX queues for IQD devices (Philipp Rudo) [1847443] - [s390] s390/qeth: allow configuration of TX queues for z/VM NICs (Philipp Rudo) [1847443] - [s390] s390/qeth: remove prio-queueing support for z/VM NICs (Philipp Rudo) [1847443] - [s390] s390/qeth: use memory reserves in TX slow path (Philipp Rudo) [1847443] - [s390] s390/qeth: use memory reserves to back RX buffers (Philipp Rudo) [1847443] - [s390] s390/qeth: remove VNICC callback parameter struct (Philipp Rudo) [1847443] - [s390] s390/qdio: add tighter controls for IRQ polling (Philipp Rudo) [1847443] - [s390] s390/qdio: export SSQD via debugfs (Philipp Rudo) [1847443] - [s390] s390/qeth: support configurable RX copybreak (Philipp Rudo) [1847443] - [s390] s390/qeth: don't check for IFF_UP when scheduling napi (Philipp Rudo) [1847443] - [s390] s390/qeth: don't re-start read cmd when IDX has terminated (Philipp Rudo) [1847443] - [s390] s390/qeth: reset seqnos on connection startup (Philipp Rudo) [1847443] - [s390] s390/qeth: remove unused cmd definitions (Philipp Rudo) [1847443] - [s390] s390/qeth: validate device-provided MAC address (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up CREATE_ADDR cmd code (Philipp Rudo) [1847443] - [s390] s390/qeth: remove dead code in qeth_l3_iqd_read_initial_mac() (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify debugfs code (Philipp Rudo) [1847443] - [s390] s390/qdio: use QDIO_IRQ_STATE_INACTIVE instead of 0 (Philipp Rudo) [1847443] - [s390] s390/qeth: don't warn for napi with 0 budget (Philipp Rudo) [1847443] - [s390] s390/qdio: reduce access to cdev->private->qdio_data (Philipp Rudo) [1847443] - [s390] s390/qdio: clean up cdev access in qdio_setup_irq() (Philipp Rudo) [1847443] - [s390] s390/qdio: fill SL with absolute addresses (Philipp Rudo) [1847443] - [s390] s390/qdio: don't allocate *aob array with GFP_ATOMIC (Philipp Rudo) [1847443] - [s390] s390/qdio: simplify ACK tracking (Philipp Rudo) [1847443] - [s390] s390/qeth: remove HARDSETUP state (Philipp Rudo) [1847443] - [s390] s390/qeth: make cmd/reply matching more flexible (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate online/offline code (Philipp Rudo) [1847443] - [s390] s390/qeth: shift some bridgeport code around (Philipp Rudo) [1847443] - [s390] s390/qeth: remove QETH_RX_PULL_LEN (Philipp Rudo) [1847443] - [s390] s390/qeth: use napi_gro_frags() for SG skbs (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate RX code (Philipp Rudo) [1847443] - [s390] s390/qeth: make use of napi_schedule_irqoff() (Philipp Rudo) [1847443] - [s390] s390/qeth: consolidate helpers for capability checking (Philipp Rudo) [1847443] - [s390] s390/qeth: stop yielding the ip_lock during IPv4 registration (Philipp Rudo) [1847443] - [s390] s390/qeth: don't raise NETDEV_REBOOT event from L3 offline path (Philipp Rudo) [1847443] - [s390] s390/qeth: remove open-coded inet_make_mask() (Philipp Rudo) [1847443] - [s390] s390/qeth: clean up L3 sysfs code (Philipp Rudo) [1847443] - [s390] s390/qeth: overhaul L3 IP address dump code (Philipp Rudo) [1847443] - [s390] s390/qeth: wake up all waiters from qeth_irq() (Philipp Rudo) [1847443] - [s390] s390/qeth: only handle IRQs while device is online (Philipp Rudo) [1847443] - [s390] s390: clean up qdio.h (Philipp Rudo) [1847443] - [s390] s390/cio: fix kdoc for tiqdio_thinint_handler (Philipp Rudo) [1847443] - [s390] s390/drivers: fix proc/debugfs file permissions (Philipp Rudo) [1847443] - [s390] s390: convert to DEFINE_SHOW_ATTRIBUTE (Philipp Rudo) [1847443] - [s390] scsi: zfcp: Avoid benign overflow of the Request Queue's free-level (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Replace open-coded list move (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Clean up zfcp_erp_action_ready() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Fix an outdated comment for zfcp_qdio_send() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: Use prandom_u32_max() for backoff (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix wrong data and display format of SFP+ temperature (Philipp Rudo) [1874100] - [s390] scsi: zfcp: trace channel log even for FCP command responses (Philipp Rudo) [1874100] - [s390] scsi: zfcp: proper indentation to reduce confusion in zfcp_erp_required_act (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move maximum age of diagnostic buffers into a per-adapter variable (Philipp Rudo) [1874100] - [s390] scsi: zfcp: implicitly refresh config-data diagnostics when reading sysfs (Philipp Rudo) [1874100] - [s390] scsi: zfcp: introduce sysfs interface to read the local B2B-Credit (Philipp Rudo) [1874100] - [s390] scsi: zfcp: implicitly refresh port-data diagnostics when reading sysfs (Philipp Rudo) [1874100] - [s390] scsi: zfcp: introduce sysfs interface for diagnostics of local SFP transceiver (Philipp Rudo) [1874100] - [s390] scsi: zfcp: support retrieval of SFP Data via Exchange Port Data (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized (Philipp Rudo) [1874100] - [s390] scsi: zfcp: fix request object use-after-free in send path causing seqno errors (Philipp Rudo) [1874100] - [s390] scsi: s390: zfcp_fc: use sg helper to iterate over scatterlist (Philipp Rudo) [1874100] - [s390] scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN (Philipp Rudo) [1874100] - [s390] scsi: zfcp: improve kdoc for return of zfcp_status_read_refill() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop old default switch case which might paper over missing case (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop default switch case which might paper over missing case (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence -Wimplicit-fallthrough in zfcp_erp_lun_strategy() (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence remaining kdoc warnings in header files (Philipp Rudo) [1874100] - [s390] scsi: zfcp: silence all W=1 build warnings for existing kdoc (Philipp Rudo) [1874100] - [s390] scsi: zfcp: properly format LUN (and WWPN) for LUN sharing violation kmsg (Philipp Rudo) [1874100] - [s390] scsi: zfcp: use enum zfcp_erp_act_result for argument/return of affected functions (Philipp Rudo) [1874100] - [s390] scsi: zfcp: use enum zfcp_erp_steps for struct zfcp_erp_action.step (Philipp Rudo) [1874100] - [s390] scsi: zfcp: the action field of zfcp_erp_action is actually the type (Philipp Rudo) [1874100] - [s390] scsi: zfcp: clarify function argument name for trace tag string (Philipp Rudo) [1874100] - [s390] scsi: zfcp: ERP thread setup kdoc update (Philipp Rudo) [1874100] - [s390] scsi: zfcp: update kernel message for invalid FCP_CMND length, it's not the CDB (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop duplicate seq_no from zfcp_fsf_req which is also in QTCB header (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop duplicate fsf_command from zfcp_fsf_req which is also in QTCB header (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop unnecessary forward prototype for struct zfcp_fsf_req (Philipp Rudo) [1874100] - [s390] scsi: zfcp: group sort internal structure definitions for proximity (Philipp Rudo) [1874100] - [s390] scsi: zfcp: namespace prefix for internal latency data structures (Philipp Rudo) [1874100] - [s390] scsi: zfcp: update width in comment for ZFCP_COMMON_FLAGS mask (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move scsi_eh & non-ERP timeout defines owned by and local to zfcp_fsf.c (Philipp Rudo) [1874100] - [s390] scsi: zfcp: drop unnecessary forward prototype for struct zfcp_reqlist (Philipp Rudo) [1874100] - [s390] scsi: zfcp: move SG table helper from aux to fc and make them static (Philipp Rudo) [1874100] - [s390] scsi: zfcp: remove unnecessary null pointer check before mempool_destroy (Philipp Rudo) [1874100] - [s390] s390/dasd, zfcp: fix gcc 8 stringop-truncation warnings (Philipp Rudo) [1874100] - [s390] s390/stp: unify stp_work_mutex and clock_sync_mutex (Philipp Rudo) [1856342] - [s390] s390/stp: add sysfs file to show scheduled leap seconds (Philipp Rudo) [1856342] - [s390] s390/stp: add support for leap seconds (Philipp Rudo) [1856342] - [s390] s390/stp: use u32 instead of unsigned int (Philipp Rudo) [1856342] - [s390] s390/stp: use __packed (Philipp Rudo) [1856342] - [s390] s390/stp: add locking to sysfs functions (Philipp Rudo) [1856342] - [s390] s390/stp: allow group and users to read stp sysfs files (Philipp Rudo) [1856342] - [s390] s390/ipl: add support to control memory clearing for nvme re-IPL (Philipp Rudo) [1851122] - [kernel] tick: broadcast-hrtimer: Fix a race in bc_set_next (Vladis Dronov) [1876567] - [fs] gfs2: Make sure we don't miss any delayed withdraws (Robert S Peterson) [1873565] - [fs] gfs2: add some much needed cleanup for log flushes that fail (Robert S Peterson) [1873565] - [fs] gfs2: fix trans slab error when withdraw occurs inside log_flush (Robert S Peterson) [1873565] - [block] blk-mq: mark flush request as IDLE in flush_end_io() (Gopal Tiwari) [1894347] - [nvme] nvme-tcp: avoid repeated request completion (Gopal Tiwari) [1894347] - [nvme] nvme-rdma: avoid repeated request completion (Gopal Tiwari) [1894347] - [nvme] nvme-tcp: avoid race between time out and tear down (Gopal Tiwari) [1894347] - [nvme] nvme-rdma: avoid race between time out and tear down (Gopal Tiwari) [1894347] - [nvme] nvme: introduce nvme_sync_io_queues (Gopal Tiwari) [1894347] - [documentation] kvm: x86: hyper-v: Mention SynDBG CPUID leaves in api.rst (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: remove unused variable (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: Don't require THP to run tests (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: evmcs: make evmcs_sanitize_exec_ctrls() work again (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: test behavior of unmapped L2 APIC-access address (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix NULL dereference at kvm_msr_ignored_check() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: replace static const variables with macros (Vitaly Kuznetsov) [1882793] - [x86] kvm: ioapic: break infinite recursion on lazy EOI (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: rename pi_init to avoid conflict with paride (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid modulo operator on 64-bit value to fix i386 build (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: NX largepage recovery for TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Don't clear write flooding count for direct roots (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support MMIO in the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support write protection for nesting in tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support disabling dirty logging for the tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support dirty logging for the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support changed pte notifier in tdp MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add access tracking for tdp_mmu (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support invalidate range MMU notifier for TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Allocate struct kvm_mmu_pages for all pages in TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add TDP MMU PF handler (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Remove disallowed_hugepage_adjust shadow_walk_iterator arg (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Support zapping SPTEs in the TDP MMU (Vitaly Kuznetsov) [1882793] - [virt] kvm: Cache as_id in kvm_memory_slot (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add functions to handle changed TDP SPTEs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Allocate and free TDP MMU roots (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Init / Uninit the TDP MMU (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Introduce tdp_iter (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: extract spte.h and spte.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: Separate updating a PTE from kvm_set_pte_rmapp (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Separate making SPTEs from set_spte (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: Separate making non-leaf sptes from link_shadow_page (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Let the guest own CR4.FSGSBASE (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Intercept guest reserved CR4 bits to inject #GP fault (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move call to update_exception_bitmap() into VMX code (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Invoke vendor's vcpu_after_set_cpuid() after all common updates (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Intercept LA57 to inject #GP fault when it's reserved (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Initialize prev_ga_tag before use (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: implement on demand allocation of the nested state (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allow kvm_x86_ops.set_efer to return an error value (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: report negative values from wrmsr emulation to userspace (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: xen_hvm_config: cleanup return values (Vitaly Kuznetsov) [1882793] - [x86] kvm x86/mmu: Make struct kernel_param_ops definitions const (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allocate vcpu->arch.cpuid_entries dynamically (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: disconnect kvm_check_cpuid() from vcpu->arch.cpuid_entries (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: only provide PV features if enabled in guest's CPUID (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: set wall_clock in kvm_write_wall_clock() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: encapsulate wrmsr(MSR_KVM_SYSTEM_TIME) emulation in helper fn (Vitaly Kuznetsov) [1882793] - [x86] kvm: hide KVM options from menuconfig when KVM is not compiled (Vitaly Kuznetsov) [1882793] - [documentation] kvm: vmx: Forbid userspace MSR filters for x2APIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Ignore userspace MSR filters for x2APIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Fix x2APIC MSR intercept handling on !APICV platforms (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: vmx_uret_msrs_list[] can be static (Vitaly Kuznetsov) [1882793] - [tools] kvm: x86: do not attempt TSC synchronization on guest writes (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: delay MSR permission processing to first nested VM run (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: rename KVM_REQ_GET_VMCS12_PAGES (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: Add test for user space MSR handling (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Introduce MSR filtering (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: vmx: Prevent MSR passthrough when MSR access is denied (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: svm: Prevent MSR passthrough when MSR access is denied (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Prepare MSR bitmaps for userspace tracked MSRs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add infrastructure for MSR filtering (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Allow deflecting unknown MSR accesses to user space (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Return -ENOENT on unimplemented MSRs (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vmx_uret_msr's "index" to "slot" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_msr_index" to "vmx_uret_msrs_list" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_set_guest_msr" to "vmx_set_guest_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "find_msr_entry" to "vmx_find_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add vmx_setup_uret_msr() to handle lookup and swap (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Move uret MSR lookup into update_transition_efer() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Check guest support for RDTSCP before processing MSR_TSC_AUX (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "__find_msr_index" to "__vmx_find_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "guest_msrs_ready" to "guest_uret_msrs_loaded" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "save_nmsrs" to "nr_active_uret_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vcpu_vmx's "nmsrs" to "nr_uret_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename the "shared_msr_entry" struct to "vmx_uret_msr" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename "vmx_find_msr_index" to "vmx_find_loadstore_msr_slot" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Prepend "MAX_" to MSR array size defines (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename "shared_msrs" to "user_return_msrs" (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move individual kvm_mmu initialization into common helper (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Read EXIT_QUAL and INTR_INFO only when needed for nested exit (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Use common definition for kvm_nested_vmexit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add macro wrapper for defining kvm_exit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add intr/vectoring info and error code to kvm_exit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add a helper to test for a valid error code given an intr info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Read guest RIP from within the kvm_nested_vmexit tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add RIP to the kvm_entry, i.e. VM-Enter, tracepoint (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: WARN on attempt to switch the currently loaded VMCS (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Drop redundant VMCS switch and free_nested() call (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Ensure vmcs01 is the loaded VMCS when freeing nested state (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Move free_nested() below vmx_switch_vmcs() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Explicitly check for valid guest state for !unrestricted guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Reload vmcs01 if getting vmcs12's pages fails (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Reset the segment cache when stuffing guest segs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Track write/user faults using bools (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Hoist ITLB multi-hit workaround check up a level (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename 'hlevel' to 'level' in FNAME(fetch) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Account NX huge page disallowed iff huge page was requested (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Capture requested page level before NX huge page workaround (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move "huge page disallowed" calculation into mapping helpers (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Refactor the zap loop for recovering NX lpages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Commit zap of remaining invalid pages when recovering lpages (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename ops.h to vmx_ops.h (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Extract posted interrupt support to separate files (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Bail early from final #PF handling on spurious faults (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Return unique RET_PF_* values if the fault was fixed (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Invert RET_PF_* check when falling through to emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Return -EIO if page fault returns RET_PF_INVALID (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Recursively zap nested TDP SPs when zapping last/only parent (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move flush logic from mmu_page_zap_pte() to FNAME(invlpg) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: hyper-v: disallow configuring SynIC timers with no SynIC (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Stash 'kvm' in a local variable in kvm_mmu_free_roots() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add a helper and macros to reduce boilerplate for sec exec ctls (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename RDTSCP secondary exec control name to insert "ENABLE" (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use VMX_FEATURE_* flags to define VMCS control bits (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Unconditionally clear CPUID.INVPCID if !CPUID.PCID (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Rename vmx_*_supported() helpers to cpu_has_vmx_*() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use "illegal GPA" helper for PT/RTIT output base check (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move illegal GPA helper out of the MMU code (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Replace MSR_IA32_RTIT_OUTPUT_BASE_MASK with helper function (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Unexport cpuid_query_maxphyaddr() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use precomputed MAXPHYADDR for RTIT base MSR check (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Do not perform emulation for INVD intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: sev: shorten comments around sev_clflush_pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Mark SEV launch secret pages as dirty (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Add VM-Enter failed tracepoints for super early checks (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: CR3 MBZ bits are only 63:52 (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: emulating RDPID failure shall return #UD rather than #GP (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Morph notification vector IRQ on nested VM-Enter to pending PI (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add tracepoint for cr_interception (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Analyze is_guest_mode() in svm_vcpu_run() (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Invoke NMI handler via indirect call instead of INTn (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Move IRQ invocation to assembly subroutine (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add kvm_x86_ops hook to short circuit emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: use __GFP_ZERO instead of clear_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: KVM needs to unset "unrestricted guest" VM-execution control in vmcs02 if vmcs12 doesn't set it (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Enable INVPCID feature on AMD (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move handling of INVPCID types to x86 (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename and move the function vmx_handle_memory_failure to x86.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Remove set_cr_intercept, clr_cr_intercept and is_cr_intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add new intercept word in vmcb_control_area (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Modify 64 bit intercept field to two 32 bit vectors (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Modify intercept_exceptions to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Change intercept_dr to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Change intercept_cr to generic intercepts (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Introduce vmcb_(set_intercept/clr_intercept/_is_intercept) (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Remove unused field (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: refactor exit labels in svm_create_vcpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: use __GFP_ZERO instead of clear_page (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: refactor msr permission bitmap allocation (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: rename nested vmcb to vmcb12 (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: rename a variable in the svm_create_vcpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Reduce world switch latency caused by timer_advance_ns (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Narrow down the kick target vCPU (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Guarantee the timer is in tsc-deadline mode when setting (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Return 0 when getting the tscdeadline timer if the lapic is hw disabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Fix updating DFR missing apic map recalculation (Vitaly Kuznetsov) [1882793] - [virt] kvm/eventfd: move wildcard calculation outside loop (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Simplify the initialization of nested_vmx_msrs (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Fix VMX controls MSRs setup when nested VMX enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Avoid freeing uninitialized pointers in svm_set_nested_state() (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Remove aliases with X64 in their name (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Split hyperv-tlfs.h into arch dependent and independent files (Vitaly Kuznetsov) [1882793] - [x86] hyperv: Remove HV_PROCESSOR_POWER_STATE #defines (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add GHCB definitions (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: nested: Don't allocate VMCB structures on stack (Vitaly Kuznetsov) [1882793] - [x86] kvm: mmu: page_track: Fix RCU list API usage (Vitaly Kuznetsov) [1882793] - [kernel] rculist: Introduce list/hlist_for_each_entry_srcu() macros (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: update PFEC_MASK/PFEC_MATCH together with PF intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add a dedicated INVD intercept routine (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: fix MSR_IA32_TSC read for nested migration (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: Fix assert failure in single-step test (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: vmx: Make smaller physical guest address space support user-configurable (Vitaly Kuznetsov) [1882793] - [x86] revert "kvm: Check the allocation of pv cpu mask" (Vitaly Kuznetsov) [1882793] - [x86] kvm: emulator: more strict rsm checks (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: more strict SMM checks when returning to nested guest (Vitaly Kuznetsov) [1882793] - [x86] svm: nsvm: setup nested msr permission bitmap on nested state load (Vitaly Kuznetsov) [1882793] - [x86] svm: nsvm: correctly restore GIF on vmexit from nesting after migration (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Don't freeze guest when event delivery causes an APIC-access exit (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: avoid emulation with stale next_rip (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Periodically schedule when unregistering regions on destroy (Vitaly Kuznetsov) [1882793] - [x86] kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control (Vitaly Kuznetsov) [1882793] - [virt] kvm: fix memory leak in kvm_io_bus_unregister_dev() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Check the allocation of pv cpu mask (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Update VMCS02 when L2 PAE PDPTE updates detected (Vitaly Kuznetsov) [1882793] - [documentation] kvm: documentation: Minor fixups (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Toggling CR4.PKE does not load PDPTEs in PAE mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: fix access code passed to gva_to_gpa (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: Use a shorter encoding to clear RAX (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Synic default SCONTROL MSR needs to be enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Don't attempt to load PDPTRs when 64-bit mode is enabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: detect assigned device via irqbypass manager (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Fix sev_pin_memory() error handling (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Set the TDCR settable bits (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Fix disable pause loop exit/pause filtering capability on SVM (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Prevent setting the tscdeadline timer if the lapic is hw disabled (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Specify max TDP level via kvm_configure_mmu() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename max_page_level to max_huge_page_level (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Dynamically calculate TDP level from max level and MAXPHYADDR (Vitaly Kuznetsov) [1882793] - [x86] kvm: vxm: Remove temporary WARN on expected vs. actual EPTP level mismatch (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Pull the PGD's level from the MMU instead of recalculating it (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Make vmx_load_mmu_pgd() static (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add separate helper for shadow NPT root page role calc (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Drop a duplicate declaration of construct_eptp() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Using macros instead of magic values (Vitaly Kuznetsov) [1882793] - [tools] kvm: nvmx: check for invalid hdr.vmx.flags (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: check for required but missing VMCS12 in KVM_SET_NESTED_STATE (Vitaly Kuznetsov) [1882793] - [tools] selftests: kvm: do not set guest mode flag (Vitaly Kuznetsov) [1882793] - [documentation] documentation: virt/kvm/api: eliminate duplicated word (Vitaly Kuznetsov) [1882793] - [documentation] docs: kvm: Replace HTTP links with HTTPS ones (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: remove nonsensical EXITINFO1 adjustment on nested NPF (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add a capability for GUEST_MAXPHYADDR < HOST_MAXPHYADDR support (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: optimize #PF injection when MAXPHYADDR does not match (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add guest physical address check in EPT violation and misconfig (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: introduce vmx_need_pf_intercept (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: update exception bitmap on CPUID changes (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: rename update_bp_intercept to update_exception_bitmap (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: mmu: Add guest physical address check in translate_gpa() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: mmu: Move translate_gpa() to mmu.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add helper functions for illegal GPA checking and page fault injection (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: move MSR_IA32_PERF_CAPABILITIES emulation to common x86 code (Vitaly Kuznetsov) [1882793] - [virt] kvm: Move x86's MMU memory cache helpers to common KVM code (Vitaly Kuznetsov) [1882793] - [kernel] kvm: Move x86's version of struct kvm_mmu_memory_cache to common code (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Prepend "kvm_" to memory cache helpers that will be global (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Skip filling the gfn cache for guaranteed direct MMU topups (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Zero allocate shadow pages (outside of mmu_lock) (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make __GFP_ZERO a property of the memory cache (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Separate the memory caches for shadow pages and gfn arrays (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Clean up the gorilla math in mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Topup memory caches after walking GVA->GPA (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move fast_page_fault() call above mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Try to avoid crashing KVM if a MMU memory cache is empty (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Remove superfluous gotos from mmu_topup_memory_caches() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Use consistent "mc" name for kvm_mmu_memory_cache locals (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Consolidate "page" variant of memory cache helpers (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Track the associated kmem_cache in the MMU caches (Vitaly Kuznetsov) [1882793] - [x86] kvm/x86: pmu: Fix #GP condition check for RDPMC emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move kvm_x86_ops.vcpu_after_set_cpuid() into kvm_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename cpuid_update() callback to vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Rename kvm_update_cpuid() to kvm_vcpu_after_set_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Extract kvm_update_cpuid_runtime() from kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Introduce kvm_check_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move kvm_apic_set_version() to kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: lapic: Use guest_cpuid_has() in kvm_apic_set_version() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Go on updating other CPUID leaves when leaf 1 is absent (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Reset vcpu->arch.cpuid_nent to 0 if SET_CPUID* fails (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: limit the maximum number of vPMU fixed counters to 3 (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Check that MBZ bits in CR3 and CR4 are not set on vmrun of nested guests (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Make CR4.VMXE reserved for the guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Create mask for guest CR4 reserved bits in kvm_update_cpuid() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Read PDPTEs on CR0.CD and CR0.NW changes (Vitaly Kuznetsov) [1882793] - [x86] kvm: Add "nopvspin" parameter to disable PV spinlocks (Vitaly Kuznetsov) [1882793] - [x86] kvm: Change print code to use pr_*() format (Vitaly Kuznetsov) [1882793] - [x86] revert "kvm: x86: Fix setup the virt_spin_lock_key before static key get initialized" (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Rename page_header() to to_shadow_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add sptep_to_sp() helper to wrap shadow page lookup (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make kvm_mmu_page definition and accessor internal-only (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Add MMU-internal header (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move kvm_mmu_available_pages() into mmu.c (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Move mmu_audit.c and mmutrace.h into the mmu/ sub-directory (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Exit to userspace on make_mmu_pages_available() error (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Batch zap MMU pages when shrinking the slab (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Batch zap MMU pages when recycling oldest pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Don't put invalid SPs back on the list of active pages (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Optimize MMU page cache lookup for fully direct MMUs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid multiple hash lookups in kvm_get_mmu_page() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Use VMCALL and VMMCALL mnemonics in kvm_para.h (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Rename svm_nested_virtualize_tpr() to nested_svm_virtualize_tpr() (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add svm_ prefix to set/clr/is_intercept() (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Add vmcb_ prefix to mark_*() functions (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Rename struct nested_state to svm_nested_state (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Wrap VM-Fail valid path in generic VM-Fail helper (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Set last_vmentry_cpu in vcpu_enter_guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move last_cpu into kvm_vcpu_arch as last_vmentry_cpu (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Add "last CPU" to some KVM_EXIT information (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add last_cpu to struct vcpu_vmx (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Always set svm->last_cpu on VMRUN (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: Prefer vcpu->cpu to raw_smp_processor_id() (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: report sev_pin_memory errors with PTR_ERR (Vitaly Kuznetsov) [1882793] - [x86] kvm: svm: fix svn_pin_memory()'s use of get_user_pages_fast() (Vitaly Kuznetsov) [1882793] - [x86] kvm: nsvm: Check that DR6[63:32] and DR7[64:32] are not set on vmrun of nested guests (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move the check for upper 32 reserved bits of DR6 to separate function (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Do the same ignore_msrs check for feature msrs (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Move ignore_msrs handling upper the stack (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Make .write_log_dirty a nested operation (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: WARN if PML emulation helper is invoked outside of nested guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Drop kvm_arch_write_log_dirty() wrapper (Vitaly Kuznetsov) [1882793] - [s390] kvm: async_pf: change kvm_setup_async_pf()/kvm_arch_setup_async_pf() return type to bool (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: drop KVM_PV_REASON_PAGE_READY case from kvm_handle_page_fault() (Vitaly Kuznetsov) [1882793] - [documentation] documentation: virt: kvm/api: drop doubled words (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Use KVM_POSSIBLE_CR*_GUEST_BITS to initialize guest/host masks (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Mark CR4.TSD as being possibly owned by the guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Inject #GP if guest attempts to toggle CR4.LA57 in 64-bit mode (Vitaly Kuznetsov) [1882793] - [virt] kvm: use more precise cast and do not drop __user (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: bit 8 of non-leaf PDPEs is not reserved (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix async pf caused null-ptr-deref (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Remove vcpu_vmx's defunct copy of host_pkru (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: allow TSC to differ by NTP correction bounds without TSC scaling (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Fix MSR range of APIC registers in X2APIC mode (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Stop context switching MSR_IA32_UMWAIT_CONTROL (Vitaly Kuznetsov) [1882793] - [x86] cpu: Move prototype for get_umwait_control_msr() to a global location (Vitaly Kuznetsov) [1882793] - [x86] kvm: nvmx: Plumb L2 GPA through to PML emulation (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/mmu: Avoid mixing gpa_t with gfn_t in walk_addr_generic() (Vitaly Kuznetsov) [1882793] - [x86] process/64: Make save_fsgs_for_kvm() ready for FSGSBASE (Vitaly Kuznetsov) [1882793] - [kernel] kvm: Replace zero-length array with flexible-array (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Add helpers to identify interrupt type from intr_info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Switch KVM guest to using interrupts for page ready APF delivery (Vitaly Kuznetsov) [1882793] - [x86] kvm: Remove defunct KVM_DEBUG_FS Kconfig (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Always treat MSR_IA32_PERF_CAPABILITIES as a valid PMU MSR (Vitaly Kuznetsov) [1882793] - [x86] kvm_hv_set_msr(): use __put_user() instead of 32bit __clear_user() (Vitaly Kuznetsov) [1882793] - [tools] kvm: selftests: update hyperv_cpuid with SynDBG tests (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Add support for synthetic debugger via hypercalls (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: enable hypercalls regardless of hypercall page (Vitaly Kuznetsov) [1882793] - [x86] kvm/hyper-v: Add support for synthetic debugger interface (Vitaly Kuznetsov) [1882793] - [x86] hyper-v: Add synthetic debugger definitions (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86/pmu: Support full width counting (Vitaly Kuznetsov) [1882793] - [documentation] kvm: x86: announce KVM_FEATURE_ASYNC_PF_INT (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: acknowledgment mechanism for async pf page ready notifications (Vitaly Kuznetsov) [1882793] - [documentation] kvm: x86: interrupt based APF 'page ready' event delivery (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: extend struct kvm_vcpu_pv_apf_data with token info (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: hyperv: Remove duplicate definitions of Reference TSC Page (Vitaly Kuznetsov) [1882793] - [x86] kvm: Restrict ASYNC_PF to user space (Vitaly Kuznetsov) [1882793] - [x86] kvm: Sanitize kvm_async_pf_task_wait() (Vitaly Kuznetsov) [1882793] - [x86] kvm: Handle async page faults directly through do_page_fault() (Vitaly Kuznetsov) [1882793] - [virt] kvm: add halt-polling cpu usage stats (Vitaly Kuznetsov) [1882793] - [powerpc] kvm: Replace vcpu->swait with rcuwait (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Introduce rcuwait_active() (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Introduce prepare_to and finish_rcuwait (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Add @state argument to rcuwait_wait_event() (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Let rcuwait_wake_up() return whether or not a task was awoken (Vitaly Kuznetsov) [1882793] - [kernel] rcuwait: Fix stale wake call name in comment (Vitaly Kuznetsov) [1882793] - [s390] kvm: s390: Use kvm_vcpu_wake_up in kvm_s390_vcpu_wakeup (Vitaly Kuznetsov) [1882793] - [documentation] docs/virt/kvm: Document configuring and running nested guests (Vitaly Kuznetsov) [1882793] - [tools] docs: fix broken references for ReST files that moved around (Vitaly Kuznetsov) [1882793] - [x86] kvm: vmx: Extend VMXs #AC interceptor to handle split lock #AC in guest (Vitaly Kuznetsov) [1882793] - [x86] kvm: x86: Emulate split-lock access as a write in emulator (Vitaly Kuznetsov) [1882793] - [net] core: check length before updating Ethertype in skb_mpls_{push,pop} (Guillaume Nault) [1893886] - [net] pktgen: fix error message with wrong function name (Guillaume Nault) [1893886] - [net] handle the return value of pskb_carve_frag_list() correctly (Guillaume Nault) [1893886] - [net] Fix potential wrong skb->protocol in skb_vlan_untag() (Guillaume Nault) [1893886] - [net] make symbol 'flush_works' static (Guillaume Nault) [1893886] - [net] compat: Add missing sock updates for SCM_RIGHTS (Guillaume Nault) [1893886] - [net] mpls: drop skb's dst in mpls_forward() (Guillaume Nault) [1893886] - [include] net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb (Guillaume Nault) [1893886] - [net] fix skb_panic to output real address (Guillaume Nault) [1893886] - [net] fix a potential recursive NETDEV_FEAT_CHANGE (Guillaume Nault) [1893886] - [net] neigh: send protocol value in neighbor create notification (Guillaume Nault) [1893886] - [net] revert default NAPI poll timeout to 2 jiffies (Guillaume Nault) [1893886] - [net] compat_ioctl: handle SIOCOUTQNSD (Guillaume Nault) [1893886] - [net] neigh: use long type to store jiffies delta (Guillaume Nault) [1893886] - [documentation] dev-tools: kselftest.rst: Update examples and paths (Hangbin Liu) [1876011] - [tools] selftests/run_kselftest.sh: Make each test individually selectable (Hangbin Liu) [1876011] - [tools] selftests: Extract run_kselftest.sh and generate stand-alone test list (Hangbin Liu) [1876011] - [tools] selftests/harness: Flush stdout before forking (Hangbin Liu) [1876011] - [tools] selftests: forwarding: Add missing 'rp_filter' configuration (Hangbin Liu) [1892298] - [tools] selftests/net: relax cpu affinity requirement in msg_zerocopy test (Hangbin Liu) [1892298] - [tools] selftests: ethtool: Fix test when only two speeds are supported (Hangbin Liu) [1892298] - [tools] selftests/net: tcp_mmap: fix clang warning for target arch PowerPC (Hangbin Liu) [1892298] - [tools] selftests/net: psock_fanout: fix clang issues for target arch PowerPC (Hangbin Liu) [1892298] - [netdrv] netxen: mark netxen_nic as deprecated in RHEL8 (Ivan Vecera) [1878188] - [net] linkmode: introduce linkmode_intersects() (Ivan Vecera) [1893193] - [net] ipv6: avoid lockdep issue in fib6_del() (Hangbin Liu) [1892196] - [net] ipv6: fix memory leaks on IPV6_ADDRFORM path (Hangbin Liu) [1892196] - [net] ila: remove unused inline function ila_addr_is_ila (Hangbin Liu) [1892196] - [net] ila: Fix uninitialised return value in ila_xlat_nl_cmd_flush (Hangbin Liu) [1892196] - [netdrv] i40e: always propagate error value in i40e_set_vsi_promisc() (Stefan Assmann) [1835705] - [netdrv] i40e: fix return of uninitialized aq_ret in i40e_set_vsi_promisc (Stefan Assmann) [1835705] - [netdrv] i40e: Remove scheduling while atomic possibility (Stefan Assmann) [1835705] - [pci] hv: Fix hibernation in case interrupts are not re-created (Mohammed Gamal) [1846838] - [powerpc] kvm: ppc: book3s hv: xics: Replace the 'destroy' method by a 'release' method (Greg Kurz) [1857527] - [security] selinux: complete the inlining of hashtab functions (Ondrej Mosnacek) [1878149] - [security] selinux: prepare for inlining of hashtab functions (Ondrej Mosnacek) [1878149] - [security] selinux: specialize symtab insert and search functions (Ondrej Mosnacek) [1878149] - [security] selinux: fixed a checkpatch warning with the sizeof macro (Ondrej Mosnacek) [1878149] - [security] selinux: log error messages on required process class / permissions (Ondrej Mosnacek) [1878149] - [security] selinux: fix undefined return of cond_evaluate_expr (Ondrej Mosnacek) [1878149] - [security] selinux: fix a double free in cond_read_node()/cond_read_list() (Ondrej Mosnacek) [1878149] - [security] selinux: fix double free (Ondrej Mosnacek) [1878149] - [security] selinux: netlabel: Remove unused inline function (Ondrej Mosnacek) [1878149] - [security] selinux: do not allocate hashtabs dynamically (Ondrej Mosnacek) [1878149] - [security] selinux: fix return value on error in policydb_read() (Ondrej Mosnacek) [1878149] - [security] selinux: simplify range_write() (Ondrej Mosnacek) [1878149] - [security] selinux: fix error return code in policydb_read() (Ondrej Mosnacek) [1878149] - [security] selinux: don't produce incorrect filename_trans_count (Ondrej Mosnacek) [1878149] - [security] selinux: implement new format of filename transitions (Ondrej Mosnacek) [1878149] - [security] selinux: move context hashing under sidtab (Ondrej Mosnacek) [1878149] - [security] selinux: hash context structure directly (Ondrej Mosnacek) [1878149] - [security] selinux: store role transitions in a hash table (Ondrej Mosnacek) [1878149] - [security] selinux: drop unnecessary smp_load_acquire() call (Ondrej Mosnacek) [1878149] - [security] selinux: fix warning Comparison to bool (Ondrej Mosnacek) [1878149] - [security] selinux: fix error return code in cond_read_list() (Ondrej Mosnacek) [1878149] - [security] selinux: free str on error in str_read() (Ondrej Mosnacek) [1878149] - [security] selinux: clean up indentation issue with assignment statement (Ondrej Mosnacek) [1878149] - [security] selinux: avtab_init() and cond_policydb_init() return void (Ondrej Mosnacek) [1878149] - [security] selinux: clean up error path in policydb_init() (Ondrej Mosnacek) [1878149] - [security] selinux: remove unused initial SIDs and improve handling (Ondrej Mosnacek) [1878149] - [security] selinux: reduce the use of hard-coded hash sizes (Ondrej Mosnacek) [1878149] - [security] selinux: Add xfs quota command types (Ondrej Mosnacek) [1878149] - [security] selinux: optimize storage of filename transitions (Ondrej Mosnacek) [1878149] - [security] selinux: factor out loop body from filename_trans_read() (Ondrej Mosnacek) [1878149] - [security] selinux: generalize evaluate_cond_node() (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_expr to array (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_av_list to array (Ondrej Mosnacek) [1878149] - [security] selinux: convert cond_list to array (Ondrej Mosnacek) [1878149] - [security] selinux: sel_avc_get_stat_idx should increase position index (Ondrej Mosnacek) [1878149] - [security] selinux: simplify evaluate_cond_node() (Ondrej Mosnacek) [1878149] - [security] selinux: move status variables out of selinux_ss (Ondrej Mosnacek) [1878149] - [scripts] selinux: use kernel linux/socket.h for genheaders and mdp (Ondrej Mosnacek) [1878149] - [scripts] genheaders: -s had been there since v6; -*s - since v7 (Ondrej Mosnacek) [1878149] - [scsi] scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug (Ming Lei) [1876863] - [scsi] scsi: scsi_debug: Support host tagset (Ming Lei) [1876863] - [scsi] scsi: core: Show nr_hw_queues in sysfs (Ming Lei) [1876863] - [scsi] scsi: Add host and host template flag 'host_tagset' (Ming Lei) [1876863] - [block] null_blk: Support shared tag bitmap (Ming Lei) [1876863] - [block] blk-mq, elevator: Count requests per hctx to improve performance (Ming Lei) [1876863] - [block] blk-mq: Record active_queues_shared_sbitmap per tag_set for when using shared sbitmap (Ming Lei) [1876863] - [block] blk-mq: Record nr_active_requests per queue for when using shared sbitmap (Ming Lei) [1876863] - [block] blk-mq: Relocate hctx_may_queue() (Ming Lei) [1876863] - [block] blk-mq: Facilitate a shared sbitmap per tagset (Ming Lei) [1876863] - [block] blk-mq: Use pointers for blk_mq_tags bitmap tags (Ming Lei) [1876863] - [block] blk-mq: Pass flags for tag init/free (Ming Lei) [1876863] - [block] blk-mq: Free tags in blk_mq_init_tags() upon error (Ming Lei) [1876863] - [block] blk-mq: Rename blk_mq_update_tag_set_depth() (Ming Lei) [1876863] - [block] blk-mq: Rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHARED (Ming Lei) [1876863] - [block] block: fix double account of flush request's driver tag (Ming Lei) [1876863] - [block] blk-mq: centralise related handling into blk_mq_get_driver_tag (Ming Lei) [1876863] - [block] blk-mq: streamline handling of q->mq_ops->queue_rq result (Ming Lei) [1876863] - [block] blk-mq: remove pointless call of list_entry_rq() in hctx_show_busy_rq() (Ming Lei) [1876863] - [block] blk-mq: move blk_mq_get_driver_tag into blk-mq.c (Ming Lei) [1876863] - [block] blk-mq: support batching dispatch in case of io (Ming Lei) [1876863] - [block] blk-mq: pass obtained budget count to blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: remove dead check from blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: move getting driver tag and budget into one helper (Ming Lei) [1876863] - [block] blk-mq: pass hctx to blk_mq_dispatch_rq_list (Ming Lei) [1876863] - [block] blk-mq: remove the BLK_MQ_REQ_INTERNAL flag (Ming Lei) [1876863] - [net] netns: Constify exported functions (Guillaume Nault) [1806134] - [net] netns: protect netns ID lookups with RCU (Guillaume Nault) [1806134] - [net] netns: Remove __peernet2id_alloc() (Guillaume Nault) [1806134] - [net] netns: read NETNSA_NSID as s32 attribute in rtnl_net_getid() (Guillaume Nault) [1806134] - [tools] selftests: txtimestamp: add flag for timestamp validation tolerance. (Hangbin Liu) [1861175] - [tools] selftests/net: so_txtime: fix clang issues for target arch PowerPC (Hangbin Liu) [1861175] - [tools] selftests/net: rxtimestamp: fix clang issues for target arch PowerPC (Hangbin Liu) [1861175] - [tools] selftest: txtimestamp: fix net ns entry logic (Hangbin Liu) [1861175] - [tools] selftests/net: update initializer syntax to use c99 designators (Hangbin Liu) [1861175] - [tools] selftests/net: add ipv6 test coverage in rxtimestamp test (Hangbin Liu) [1861175] - [tools] selftests/net: plug rxtimestamp test into kselftest framework (Hangbin Liu) [1861175] - [tools] selftests/net: in rxtimestamp getopt_long needs terminating null entry (Hangbin Liu) [1861175] - [tools] selftests/net: in timestamping, strncpy needs to preserve null byte (Hangbin Liu) [1861175] - [tools] selftests: move timestamping selftests to net folder (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: print statistics for timestamp events. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: add support for epoll(). (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: add new command-line flags. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: allow printing latencies in nsec. (Hangbin Liu) [1861175] - [tools] selftests: txtimestamp: allow individual txtimestamp tests. (Hangbin Liu) [1861175] - [tools] selftests: timestamping: Fix SIOCGSTAMP undeclared build failure (Hangbin Liu) [1861175] - [tools] selftests: fix timestamping Makefile (Hangbin Liu) [1861175] - [tools] selftests: add missing include unistd (Hangbin Liu) [1861175] - [tools] selftests/txtimestamp: Fix an equals vs assign bug (Hangbin Liu) [1861175] - [tools] selftests: add txtimestamp kselftest (Hangbin Liu) [1861175] - [tools] selftests: expand txtimestamp with ipv6 dgram + raw and pf_packet (Hangbin Liu) [1861175] - [tools] selftests: expand txtimestamp with cmsg support (Hangbin Liu) [1861175] - [hwmon] hwmon: (k10temp) Add support for Zen3 CPUs (Wei Huang) [1846851] - [powerpc] vfs: add faccessat2 syscall (Miklos Szeredi) [1333764] - [fs] vfs: split out access_override_creds() (Miklos Szeredi) [1333764] - [md] Revert "dm writecache: set "Tech Preview" taint using mark_tech_preview()" (Mike Snitzer) [1859413] - [s390] mm: fix huge pte soft dirty copying (Cornelia Huck) [1700709] - [fs] proc/mounts: add cursor (Miklos Szeredi) [1759472]- [char] random: Add a poll handler to extrng_fops (Vladis Dronov) [1884857] - [platform] platform/mellanox: mlxbf-pmc: Add Mellanox BlueField PMC driver (Alaa Hleihel) [1655729] - [mm] mm/page_idle.c: skip offline pages (Chris von Recklinghausen) [1867490] - [powerpc] powerpc/pseries: Detect secure and trusted boot state of the system (Diego Domingos) [1853411] - [net] bpf: Check correct cred for CAP_SYSLOG in bpf_dump_raw_ok() (Yauheni Kaliuta) [1874003] - [kernel] kallsyms: Refactor kallsyms_show_value() to take cred (Yauheni Kaliuta) [1874003] - [kernel] kprobes: Show blacklist addresses as same as kallsyms does (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Report PAC and BTI instructions as skippable (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Don't assume unrecognized HINTs are skippable (Yauheni Kaliuta) [1874003] - [lib] usercopy: Avoid soft lockups in test_check_nonzero_user() (Yauheni Kaliuta) [1874003] - [security] selinux: map CAP_PERFMON and CAP_BPF to CAP_SYS_ADMIN (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: fix netdevsim trap_flow_action_cookie read (Yauheni Kaliuta) [1874003] - [net] net/bpfilter: Initialize pos in __bpfilter_process_sockopt (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Extend map-in-map selftest to detect memory leaks (Yauheni Kaliuta) [1874003] - [net] bpf: Fix map leak in HASH_OF_MAPS map (Yauheni Kaliuta) [1874003] - [net] bpf: Fix NULL pointer dereference in __btf_resolve_helper_id() (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix cgroup sockopt verifier test (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix libbpf hashmap on (I)LP32 architectures (Yauheni Kaliuta) [1874003] - [tools] selftests: bpf: Fix detach from sockmap tests (Yauheni Kaliuta) [1874003] - [net] bpf: net: Avoid incorrect bpf_sk_reuseport_detach call (Yauheni Kaliuta) [1874003] - [net] bpf: net: Avoid copying sk_user_data of reuseport_array during sk_clone (Yauheni Kaliuta) [1874003] - [tools] bpf: Add tests for PTR_TO_BTF_ID vs. null comparison (Yauheni Kaliuta) [1874003] - [net] bpf: Fix an incorrect branch elimination by verifier (Yauheni Kaliuta) [1874003] - [include] bpf: sockmap: Require attach_bpf_fd when detaching a program (Yauheni Kaliuta) [1874003] - [net] bpf: sockmap: Check value of unused args to BPF_PROG_ATTACH (Yauheni Kaliuta) [1874003] - [net] bpf: Enforce BPF ringbuf size to be the power of 2 (Yauheni Kaliuta) [1874003] - [tools] bpf, sockmap: Add ingres skb tests that utilize merge skbs (Yauheni Kaliuta) [1874003] - [net] bpf, sockmap: RCU dereferenced psock may be used outside RCU block (Yauheni Kaliuta) [1874003] - [net] bpf, sockmap: RCU splat with redirect and strparser error or TLS (Yauheni Kaliuta) [1874003] - [tools] bpf: tcp: bpf_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT (Yauheni Kaliuta) [1874003] - [net] bpf: Do not allow btf_ctx_access with __int128 types (Yauheni Kaliuta) [1874003] - [tools] bpf: Fix formatting in documentation for BPF helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Restore behaviour of CAP_SYS_ADMIN allowing the loading of networking bpf programs (Yauheni Kaliuta) [1874003] - [net] bpf: Set the number of exception entries properly for subprograms (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix CO-RE relocs against .text section (Yauheni Kaliuta) [1874003] - [tools] libbpf: Forward-declare bpf_stats_type for systems with outdated UAPI headers (Yauheni Kaliuta) [1874003] - [documentation] bpf: Document optval > PAGE_SIZE behavior for sockopt hooks (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Make sure optvals > PAGE_SIZE are bypassed (Yauheni Kaliuta) [1874003] - [net] bpf: Don't return EINVAL from {get, set}sockopt when optlen > PAGE_SIZE (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Add ringbuf map type to map command docs (Yauheni Kaliuta) [1874003] - [samples] bpf, xdp, samples: Fix null pointer dereference in *_user code (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Add ringbuf map to a list of known map types (Yauheni Kaliuta) [1874003] - [tools] bpf: Fix definition of bpf_ringbuf_output() helper in UAPI comments (Yauheni Kaliuta) [1874003] - [net] bpf: Undo internal BPF_PROBE_MEM in BPF insns dump (Yauheni Kaliuta) [1874003] - [tools] libbpf: Support pre-initializing .bss global variables (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Fix skeleton codegen (Yauheni Kaliuta) [1874003] - [net] bpf: Fix memlock accounting for sock_hash (Yauheni Kaliuta) [1874003] - [net] bpf: tcp: Recv() should return 0 when the peer socket is closed (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Exit on error in function codegen (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Fix memory leak in codegen error cases (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add cgroup_skb/egress test for load_bytes_relative (Yauheni Kaliuta) [1874003] - [net] net/filter: Permit reading NET in load_bytes_relative when MAC not set (Yauheni Kaliuta) [1874003] - [tools] tools, bpf: Do not force gcc as CC (Yauheni Kaliuta) [1874003] - [tools] libbpf: Define __WORDSIZE if not available (Yauheni Kaliuta) [1874003] - [net] bpf: Devmap adjust uapi for attach bpf program (Yauheni Kaliuta) [1874003] - [net] bpf: Reset data_meta before running programs attached to devmap entry (Yauheni Kaliuta) [1874003] - [scripts] scripts: Require pahole v1.16 when generating BTF (Yauheni Kaliuta) [1874003] - [net] bpf, sockhash: Synchronize delete from bucket list on map free (Yauheni Kaliuta) [1874003] - [net] bpf, sockhash: Fix memory leak when unlinking sockets in sock_hash_free (Yauheni Kaliuta) [1874003] - [net] bpf/sockmap: Fix kernel panic at __tcp_bpf_recvmsg (Yauheni Kaliuta) [1874003] - [kernel] bpf: rework the compat kernel probe handling (Yauheni Kaliuta) [1874003] - [kernel] bpf: handle the compat string in bpf_trace_copy_string better (Yauheni Kaliuta) [1874003] - [kernel] bpf: factor out a bpf_trace_copy_string helper (Yauheni Kaliuta) [1874003] - [net] mmap locking API: add mmap_read_trylock_non_owner() (Yauheni Kaliuta) [1874003] - [net] bpf: sockmap: use mmap locking API (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix ringbuf selftest sample counting undeterminism (Yauheni Kaliuta) [1874003] - [net] bpf: Fix an error code in check_btf_func() (Yauheni Kaliuta) [1874003] - [net] bpf: make bpf_check_uarg_tail_zero() use check_zeroed_user() (Yauheni Kaliuta) [1874003] - [lib] lib: introduce copy_struct_from_user() helper (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add a default $(CXX) value (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: Don't use $(COMPILE.c) (Yauheni Kaliuta) [1874003] - [s390] s390/bpf: Use bcr 0, 0 as tail call nop filler (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix verifier test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix sample_cnt shared between two threads (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Adapt cls_redirect to call csum_level helper (Yauheni Kaliuta) [1874003] - [net] bpf: Add csum_level helper for fixing up csum levels (Yauheni Kaliuta) [1874003] - [net] bpf: Fix up bpf_skb_adjust_room helper's skb csum setting (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add _GNU_SOURCE for reallocarray to ringbuf.c (Yauheni Kaliuta) [1874003] - [net] bpf: Use tracing helpers for lsm programs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add test for SO_BINDTODEVICE opt of bpf_setsockopt (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Add test for ktls with skb bpf ingress policy (Yauheni Kaliuta) [1874003] - [net] bpf: Fix running sk_skb program types with ktls (Yauheni Kaliuta) [1874003] - [net] bpf: Refactor sockmap redirect code so its easy to reuse (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add SEC name for xdp programs attached to device map (Yauheni Kaliuta) [1874003] - [net] bpf: Add support to attach bpf program to a devmap entry (Yauheni Kaliuta) [1874003] - [kernel] bpf: Use strncpy_from_unsafe_strict() in bpf_seq_printf() helper (Yauheni Kaliuta) [1874003] - [net] devmap: Formalize map value as a named struct (Yauheni Kaliuta) [1874003] - [net] bpf: Add rx_queue_mapping to bpf_sock (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add tests for write-only stacks/queues (Yauheni Kaliuta) [1874003] - [documentation] docs/bpf: Add BPF ring buffer design notes (Yauheni Kaliuta) [1874003] - [tools] bpf: Add BPF ringbuf and perf buffer benchmarks (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add BPF ringbuf selftests (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add BPF ring buffer support (Yauheni Kaliuta) [1874003] - [tools] bpf: Implement BPF ring buffer and verifier support for it (Yauheni Kaliuta) [1874003] - [net] bpf: Fix map permissions check (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Cleanup comments in test_maps (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Cleanup some file descriptors in test_maps (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix a typo in test_maps (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix perf_buffer__free() API for sparse allocs (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Test probe_* helpers from SCHED_CLS (Yauheni Kaliuta) [1874003] - [tools] bpf, selftests: Add sk_msg helpers load and attach test (Yauheni Kaliuta) [1874003] - [net] bpf, sk_msg: Add get socket storage helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Extend bpf_base_func_proto helpers with probe_* and *current_task* (Yauheni Kaliuta) [1874003] - [net] bpf, sk_msg: Add some generic helpers that may be useful from sk_msg (Yauheni Kaliuta) [1874003] - [net] bpf: Fix spelling in comment explaining ARG1 in ___bpf_prog_run (Yauheni Kaliuta) [1874003] - [tools] libbpf: Install headers as part of make install (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add API to consume the perf ring buffer content (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Print correct error message when failing to load BTF (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Make capability check account for new BPF caps (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Clean subcommand help messages (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: CONFIG_LIRC required for test_lirc_mode2.sh (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: CONFIG_IPV6_SEG6_BPF required for test_seg6_loop.o (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add general instructions for test execution (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add printk to test_sk_lookup_kern to encode null ptr check (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, verifier case for non null pointer map value branch (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, verifier case for non null pointer check branch taken (Yauheni Kaliuta) [1874003] - [net] bpf: Verifier track null pointer branch_taken with JNE and JEQ (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1874003] - [tools] bpf, testing: Add get{peer, sock}name selftests to test_progs (Yauheni Kaliuta) [1874003] - [tools] bpf, bpftool: Enable get{peer, sock}name attach types (Yauheni Kaliuta) [1874003] - [tools] bpf, libbpf: Enable get{peer, sock}name attach types (Yauheni Kaliuta) [1874003] - [net] bpf: Add get{peer, sock}name attach types for sock_addr (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor kprobe, tail call kern progs map definition (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Add tracex7 test file to .gitignore (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor tail call user progs with libbpf (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor kprobe tracing user progs with libbpf (Yauheni Kaliuta) [1874003] - [samples] samples, bpf: Refactor pointer error check with libbpf (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add ktls tests to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add blacklist to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, add whitelist option to test_sockmap (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, provide verbose option for selftests execution (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, break down test_sockmap into subtests (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, improve test_sockmap total bytes counter (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, print error in test_sockmap error cases (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, sockmap test prog run without setting cgroup (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, remove prints from sockmap tests (Yauheni Kaliuta) [1874003] - [tools] bpf: Selftests, move sockmap bpf prog header into progs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Remove test_align leftovers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Move test_align under test_progs (Yauheni Kaliuta) [1874003] - [tools] libbpf, hashmap: Fix signedness warnings (Yauheni Kaliuta) [1874003] - [tools] libbpf, hashmap: Remove unused #include (Yauheni Kaliuta) [1874003] - [net] bpf: Fix check_return_code to only allowin trace_iter progs (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use CAP_BPF and CAP_PERFMON in tests (Yauheni Kaliuta) [1874003] - [net] bpf: Implement CAP_BPF (Yauheni Kaliuta) [1874003] - [security] bpf, capability: Introduce CAP_BPF (Yauheni Kaliuta) [1874003] - [security] capabilities: Introduce CAP_PERFMON to kernel and user space (Yauheni Kaliuta) [1874003] - [tools] bpf, bpftool: Allow probing for CONFIG_HZ from kernel config (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test for sk helpers in cgroup skb (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add connect_fd_to_fd, connect_wait net helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Introduce bpf_sk_{, ancestor_}cgroup_id helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Allow skb_ancestor_cgroup_id helper in cgroup skb (Yauheni Kaliuta) [1874003] - [net] bpf: Allow sk lookup helpers in cgroup skb (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Fix spelling mistake "SIGALARM" -> "SIGALRM" (Yauheni Kaliuta) [1874003] - [net] bpf: Fix bpf_iter's task iterator logic (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test narrow loads for bpf_sock_addr.user_port (Yauheni Kaliuta) [1874003] - [net] bpf: Support narrow loads from bpf_sock_addr.user_port (Yauheni Kaliuta) [1874003] - [samples] samples/bpf: xdp_redirect_cpu: Set MAX_CPUS according to NR_CPUS (Yauheni Kaliuta) [1874003] - [samples] samples/bpf: Remove compiler warnings (Yauheni Kaliuta) [1874003] - [net] bpf: Enable bpf_iter targets registering ctx argument types (Yauheni Kaliuta) [1874003] - [net] bpf: Change func bpf_iter_unreg_target() signature (Yauheni Kaliuta) [1874003] - [net] bpf: net: Refactor bpf_iter target registration (Yauheni Kaliuta) [1874003] - [net] bpf: Add comments to interpret bpf_prog return values (Yauheni Kaliuta) [1874003] - [tools] bpf: Change btf_iter func proto prefix to "bpf_iter_" (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: selftests : Explain bpf_iter test failures with llvm 10.0.0 (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Add BPF triggering benchmark (Yauheni Kaliuta) [1874003] - [tools] selftest/bpf: Fmod_ret prog and implement test_overhead as part of bench (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add benchmark runner infrastructure (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Extract parse_num_list into generic testing_helpers.c (Yauheni Kaliuta) [1874003] - [tools] tools, bpf: Synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1874003] - [scripts] bpf: Minor fixes to BPF helpers documentation (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Minor fixes for documentation (Yauheni Kaliuta) [1874003] - [tools] tools, bpftool: Poison and replace kernel integer typedefs (Yauheni Kaliuta) [1874003] - [tools] bpf, libbpf: Replace zero-length array with flexible-array (Yauheni Kaliuta) [1874003] - [arm64] bpf, arm64: Optimize ADD, SUB, JMP BPF_K using arm64 add/sub immediates (Yauheni Kaliuta) [1874003] - [arm64] bpf, arm64: Optimize AND, OR, XOR, JSET BPF_K using arm64 logical immediates (Yauheni Kaliuta) [1874003] - [tools] bpf, runqslower: include proper uapi/bpf.h (Yauheni Kaliuta) [1874003] - [tools] tools/bpf: selftests: Add iter progs for bpf_map/task/task_file (Yauheni Kaliuta) [1874003] - [tools] tools/bpftool: Add bpf_iter support for bptool (Yauheni Kaliuta) [1874003] - [tools] tools/libpf: Add offsetof/container_of macro in bpf_helpers.h (Yauheni Kaliuta) [1874003] - [tools] tools/libbpf: Add bpf_iter support (Yauheni Kaliuta) [1874003] - [net] bpf: Support variable length array in tracing programs (Yauheni Kaliuta) [1874003] - [net] bpf: Handle spilled PTR_TO_BTF_ID properly when checking stack_boundary (Yauheni Kaliuta) [1874003] - [kernel] bpf: Add bpf_seq_printf and bpf_seq_write helpers (Yauheni Kaliuta) [1874003] - [net] bpf: Add PTR_TO_BTF_ID_OR_NULL support (Yauheni Kaliuta) [1874003] - [net] bpf: Add task and task/file iterator targets (Yauheni Kaliuta) [1874003] - [net] bpf: Add bpf_map iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Implement common macros/helpers for target iterators (Yauheni Kaliuta) [1874003] - [net] bpf: Create file bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Create anonymous bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Implement bpf_seq_read() for bpf iterator (Yauheni Kaliuta) [1874003] - [net] bpf: Support bpf tracing/iter programs for BPF_LINK_UPDATE (Yauheni Kaliuta) [1874003] - [net] bpf: Support bpf tracing/iter programs for BPF_LINK_CREATE (Yauheni Kaliuta) [1874003] - [net] bpf: Allow loading of a bpf_iter program (Yauheni Kaliuta) [1874003] - [net] bpf: Implement an interface to register bpf_iter targets (Yauheni Kaliuta) [1874003] - [tools] bpf: Allow any port in bpf_bind helper (Yauheni Kaliuta) [1874003] - [net] net: Refactor arguments of inet{,6}_bind (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Move existing common networking parts into network_helpers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Generalize helpers to control background listener (Yauheni Kaliuta) [1874003] - [net] crypto: lib/sha1 - rename "sha" to "sha1" (Yauheni Kaliuta) [1874003] - [arm64] arm64: bpf: Annotate JITed code for BTI (Yauheni Kaliuta) [1874003] - [arm64] arm64: insn: Add constants for new HINT instruction decode (Yauheni Kaliuta) [1874003] - [kernel] sysctl: Fix unused function warning (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use reno instead of dctcp (Yauheni Kaliuta) [1874003] - [net] bpf: Fix use-after-free of bpf_link when priming half-fails (Yauheni Kaliuta) [1874003] - [tools] bpf: Bpf_{g, s}etsockopt for struct bpf_sock_addr (Yauheni Kaliuta) [1874003] - [tools] bpf: Add selftest for BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add support for command BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [net] bpf: Sharing bpf runtime stats with BPF_ENABLE_STATS (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test allowed maps for bpf_sk_select_reuseport (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix false uninitialized variable warning (Yauheni Kaliuta) [1874003] - [net] bpf: Fix unused variable warning (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Use SOCKMAP for server sockets in bpf_sk_assign test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test that lookup on SOCKMAP/SOCKHASH is allowed (Yauheni Kaliuta) [1874003] - [net] bpf: Allow bpf_map_lookup_elem for SOCKMAP and SOCKHASH (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: Make libcap dependency optional (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: Allow unprivileged users to probe features (Yauheni Kaliuta) [1874003] - [tools] tools: bpftool: For "feature probe" define "full_mode" bool as global (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Disable ASAN instrumentation for mmap()'ed memory read (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix invalid memory reads in core_relo selftest (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Fix memory leak in extract_build_id() (Yauheni Kaliuta) [1874003] - [tools] libbpf: Fix memory leak and possible double-free in hashmap__clear (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Convert test_hashmap into test_progs test (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add SAN_CFLAGS param to selftests build to allow sanitizers (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Ensure test flavors use correct skeletons (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add BTF-defined map-in-map support (Yauheni Kaliuta) [1874003] - [tools] libbpf: Refactor map creation logic and fix cleanup leak (Yauheni Kaliuta) [1874003] - [tools] libbpf: Refactor BTF-defined map definition parsing logic (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add link bash completions (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add bpftool-link manpage (Yauheni Kaliuta) [1874003] - [tools] bpftool: Add bpf_link show and pin support (Yauheni Kaliuta) [1874003] - [tools] bpftool: Expose attach_type-to-string array to non-cgroup code (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Test bpf_link's get_next_id, get_fd_by_id, and get_obj_info (Yauheni Kaliuta) [1874003] - [tools] libbpf: Add low-level APIs for new bpf_link commands (Yauheni Kaliuta) [1874003] - [net] bpf: Add support for BPF_OBJ_GET_INFO_BY_FD for bpf_link (Yauheni Kaliuta) [1874003] - [net] bpf: Support GET_FD_BY_ID and GET_NEXT_ID for bpf_link (Yauheni Kaliuta) [1874003] - [net] bpf: Allocate ID for bpf_link (Yauheni Kaliuta) [1874003] - [tools] libbpf: Remove unneeded semicolon in btf_dump_emit_type (Yauheni Kaliuta) [1874003] - [net] bpf, cgroup: Remove unused exports (Yauheni Kaliuta) [1874003] - [tools] libbpf: Return err if bpf_object__load failed (Yauheni Kaliuta) [1874003] - [tools] selftests/bpf: Add cls_redirect classifier (Yauheni Kaliuta) [1874003] - [net] bpf: Make verifier log more relevant by default (Yauheni Kaliuta) [1874003] - [net] bpf: add bpf_ktime_get_boot_ns() (Yauheni Kaliuta) [1874003] - [net] net: bpf: Make bpf_ktime_get_ns() available to non GPL programs (Yauheni Kaliuta) [1874003] - [net] net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head (Yauheni Kaliuta) [1874003] - [net] bpf: Fix missing bpf_base_func_proto in cgroup_base_func_proto for CGROUP_NET=n (Yauheni Kaliuta) [1874003] - [tools] bpf_helpers.h: Add note for building with vmlinux.h or linux/types.h (Yauheni Kaliuta) [1874003] - [net] bpf: Enable more helpers for BPF_PROG_TYPE_CGROUP_{DEVICE, SYSCTL, SOCKOPT} (Yauheni Kaliuta) [1874003] - [tools] tools/bpf/bpftool: Remove duplicate headers (Yauheni Kaliuta) [1874003] - [net] bpf: Remove set but not used variable 'dst_known' (Yauheni Kaliuta) [1874003] - [net] xdp: export the DEV_MAP_BULK_SIZE macro (Yauheni Kaliuta) [1874003] - [kernel] trace/bpf_trace: Open access for CAP_PERFMON privileged process (Yauheni Kaliuta) [1874003] - [scsi] scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.5 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Reject CT request for MIB commands (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add FDMI Vendor MIB support (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix duplicate wq_create_version check (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Removed unused macros in lpfc_attr.c (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix scheduling call while in softirq context in lpfc_unreg_rpi (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() (Dick Kennedy) [1887549] - [scsi] scsi: Remove unneeded break statements (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add dependency on CPU_FREQ (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove unneeded variable 'status' in lpfc_fcp_cpu_map_store() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Drop nodelist reference on error in lpfc_gen_req() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove set but not used 'qp' (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.4 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Extend the RDF FPIN Registration descriptor for additional events (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix spelling mistake "Cant" -> "Can't" (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.3 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix validation of bsg reply lengths (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix retry of PRLI when status indicates its unsupported (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix oops when unloading driver while running mds diags (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix RSCN timeout due to incorrect gidft counter (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix no message shown for lpfc_hdw_queue out of range value (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix FCoE speed reporting (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add missing misc_deregister() for lpfc_init() (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying targetport (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix typo in comment for ULP (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add description for lpfc_release_rpi()'s 'ndlpl param (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix a bunch of kerneldoc misdemeanors (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add and rename a whole bunch of function parameter descriptions (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Use __printf() format notation (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix kerneldoc parameter formatting/misnaming/missing issues (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix some function parameter descriptions (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Ensure variable has the same stipulations as code using it (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix-up formatting/docrot where appropriate (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Provide description for lpfc_mem_alloc()'s 'align' param (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix-up around 120 documentation issues (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Remove unused variable 'pg_addr' (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Correct some pretty obvious misdocumentation (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix less-than-zero comparison of unsigned value (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix interrupt assignments when multiple vectors are supported on same CPU (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix inconsistent indenting (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.2 (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add an internal trace log buffer (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add blk_io_poll support for latency improvment (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Add support to display if adapter dumps are available (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Allow applications to issue Common Set Features mailbox command (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix language in 0373 message to reflect non-error message (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix shost refcount mismatch when deleting vport (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix stack trace seen while setting rrq active (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix oops due to overrun when reading SLI3 data (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix missing MDS functionality (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Fix unused assignment in lpfc_sli4_bsg_link_diag_test (Dick Kennedy) [1887549] - [scsi] scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset() (Dick Kennedy) [1887549] - [scsi] lpfc_debugfs: get rid of pointless access_ok() (Dick Kennedy) [1887549] - [scsi] lpfc: add nvmet discovery_event op support (Dick Kennedy) [1887549] - [scsi] scsi: core: Don't start concurrent async scan on same host (Ming Lei) [1874501] - [crypto] crypto: bcm - Verify GCM/CCM key length in setkey (Vladis Dronov) [1887389] - [x86] x86/cpufeatures: Add support for fast short REP; MOVSB (Steve Best) [1838265] - [scsi] scsi: mpt3sas: A small correction in _base_process_reply_queue (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix sync irqs (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Detect tampered Aero and Sea adapters (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Don't call disable_irq from IRQ poll handler (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Remove pci-dma-compat wrapper API (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Remove superfluous memset() (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Update driver version to 35.100.00.00 (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Postprocessing of target and LUN reset (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Add functions to check if any cmd is outstanding on Target and LUN (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Rename and export interrupt mask/unmask functions (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Cancel the running work during host reset (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Dump system registers for debugging (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Memset config_cmds.reply buffer with zeros (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix kdoc comments format (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix set but unused variable (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix error returns in BRM_status_show (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix unlock imbalance (Tomas Henzl) [1851440] - [scsi] scsi: mpt3sas: Fix spelling mistake (Tomas Henzl) [1851440] - [s390] s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl (Claudio Imbrenda) [1885962] - [scsi] scsi: megaraid: Make smp_affinity_enable static (Tomas Henzl) [1860910] - [scsi] remove ioremap_nocache and devm_ioremap_nocache (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Remove set but unused variable (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Fix compilation warnings (Tomas Henzl) [1860910] - [scsi] scsi: megaraid: Fix kdoc comments format (Tomas Henzl) [1860910] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Tomas Henzl) [1860910] - [net] ethtool: Add support for 100Gbps per lane link modes (Ivan Vecera) [1879202]- [netdrv] ibmveth: Fix use of ibmveth in a bridge (Steve Best) [1893294] - [x86] ima: add a new CONFIG for loading arch-specific policies (Bruno Meneguele) [1869758] - [netdrv] e1000e: Add support for Meteor Lake (Ken Cox) [1838750] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Ken Cox) [1838750] - [netdrv] treewide: Use fallthrough pseudo-keyword (Ken Cox) [1838750] - [netdrv] e1000e: Remove unnecessary usages of memset (Ken Cox) [1838750] - [netdrv] e1000e: continue to init PHY even when failed to disable ULP (Ken Cox) [1838750] - [netdrv] ethernet/intel: Convert fallthrough code comments (Ken Cox) [1838750] - [netdrv] net/intel: remove driver versions from Intel drivers (Ken Cox) [1838750] - [netdrv] e1000e: fix unused-function warning (Ken Cox) [1838750] - [netdrv] e1000e: Do not wake up the system via WOL if device wakeup is disabled (Ken Cox) [1838750] - [netdrv] e1000e: Relax condition to trigger reset for ME workaround (Ken Cox) [1838750] - [netdrv] e1000e: disable s0ix entry and exit flows for ME systems (Ken Cox) [1838750] - [netdrv] e1000e: Disable TSO for buffer overrun workaround (Ken Cox) [1838750] - [netdrv] e1000e: Warn if disabling ULP failed (Ken Cox) [1838750] - [scsi] scsi: fnic: Do not call 'scsi_done()' for unhandled commands (Govindarajulu Varadarajan) [1870397] - [netdrv] intel-ethernet: clean up W=1 warnings in kdoc (Corinna Vinschen) [1838749] - [netdrv] igbvf: use generic power management (Corinna Vinschen) [1838749] - [netdrv] ethernet/intel: Convert fallthrough code comments (Corinna Vinschen) [1838749] - [netdrv] net/intel: remove driver versions from Intel drivers (Corinna Vinschen) [1838749] - [net] SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment() (Steve Dickson) [1884361] - [net] SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()") (Steve Dickson) [1884361] - [net] netfilter: nf_queue: do not release refcouts until nf_reinject is done (Florian Westphal) [1886557] - [net] netfilter: nf_queue: place bridge physports into queue_entry struct (Florian Westphal) [1886557] - [net] netfilter: nf_queue: make nf_queue_entry_release_refs static (Florian Westphal) [1886557] - [firewire] firewire: Deprecate Firewire support in RHEL8 (Prarit Bhargava) [1871863] - [lib] Add pldmfw library for PLDM firmware update (Patrick Talbert) [1878278] - [lib] bitops: introduce the for_each_set_clump8 macro (Patrick Talbert) [1878278] - [mm] x86/ioremap: Map EFI runtime services data as encrypted for SEV (Lenny Szubowicz) [1883134] - [powerpc] Revert "powerpc/powernv/idle: Replace CPU feature check with PVR check" (Steve Best) [1882365] - [powerpc] powerpc/xive: Do not expose a debugfs file when XIVE is disabled (Steve Best) [1854526] - [kvm] powerpc/xive: Enforce load-after-store ordering when StoreEOI is active (Steve Best) [1854526] - [powerpc] powerpc/xive: Add a debugfs file to dump internal XIVE state (Steve Best) [1854526] - [net] openvswitch: add TTL decrement action (Eelco Chaudron) [1762450]- [kernel] futex: Adjust absolute futex timeouts with per time namespace offset (Waiman Long) [1548297] - [kernel] futex: Remove unused or redundant includes (Waiman Long) [1548297] - [include] vdso: Fix clocksource.h macro detection (Waiman Long) [1548297] - [x86] um: Fix header inclusion (Waiman Long) [1548297] - [arm64] arm64: vdso32: make vdso32 install conditional (Waiman Long) [1548297] - [arm64] ARM64: vdso32: Install vdso32 from vdso_install (Waiman Long) [1548297] - [arm64] vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Provide vdso_update_begin/end() (Waiman Long) [1548297] - [include] lib/vdso: Allow to add architecture-specific vdso data (Waiman Long) [1548297] - [arm64] arm64: enable time namespace support (Waiman Long) [1548297] - [arm64] arm64/vdso: Restrict splitting VVAR VMA (Waiman Long) [1548297] - [arm64] arm64/vdso: Handle faults on timens page (Waiman Long) [1548297] - [arm64] arm64/vdso: Add time namespace page (Waiman Long) [1548297] - [arm64] arm64/vdso: Zap vvar pages when switching to a time namespace (Waiman Long) [1548297] - [arm64] arm64/vdso: use the fault callback to map vvar pages (Waiman Long) [1548297] - [arm64] arm64: compat: Allow 32-bit vdso and sigpage to co-exist (Waiman Long) [1548297] - [x86] x86/vdso: Unbreak paravirt VDSO clocks (Waiman Long) [1548297] - [lib] lib/vdso: Provide sanity check for cycles (again) (Waiman Long) [1548297] - [kernel] clocksource: Remove obsolete ifdef (Waiman Long) [1548297] - [tools] selftests/timens: handle a case when alarm clocks are not supported (Waiman Long) [1548297] - [arm64] arm64: vdso: Add --eh-frame-hdr to ldflags (Waiman Long) [1548297] - [arm64] arm64: vdso: Add -fasynchronous-unwind-tables to cflags (Waiman Long) [1548297] - [arm64] arm64: vdso: use consistent 'map' nomenclature (Waiman Long) [1548297] - [arm64] arm64: vdso: use consistent 'abi' nomenclature (Waiman Long) [1548297] - [arm64] arm64: vdso: simplify arch_vdso_type ifdeffery (Waiman Long) [1548297] - [arm64] arm64: vdso: remove aarch32_vdso_pages (Waiman Long) [1548297] - [arm64] arm64: vdso: Add '-Bsymbolic' to ldflags (Waiman Long) [1548297] - [x86] x86/vdso/vdso2c: Convert iterators to unsigned (Waiman Long) [1548297] - [x86] x86/vdso/vdso2c: Correct error messages on file open (Waiman Long) [1548297] - [include] vdso/datapage: Use correct clock mode name in comment (Waiman Long) [1548297] - [arm64] arm64: vdso: don't free unallocated pages (Waiman Long) [1548297] - [fs] proc, time/namespace: Show clock symbolic names in /proc/pid/timens_offsets (Waiman Long) [1548297] - [kernel] time/namespace: Add max_time_namespaces ucount (Waiman Long) [1548297] - [kernel] time/namespace: Fix time_for_children symlink (Waiman Long) [1548297] - [arm64] arm64: compat: Fix syscall number of compat_clock_getres (Waiman Long) [1548297] - [tools] selftests/timens: Remove duplicated include (Waiman Long) [1548297] - [kernel] sys/sysinfo: Respect boottime inside time namespace (Waiman Long) [1548297] - [clocksource] clocksource/drivers/arm_arch_timer: Fix vDSO clockmode when vDSO disabled (Waiman Long) [1548297] - [lib] lib/vdso: Enable common headers (Waiman Long) [1548297] - [x86] x86/vdso: Enable x86 to use common headers (Waiman Long) [1548297] - [arm64] arm64: vdso32: Include common headers in the vdso library (Waiman Long) [1548297] - [arm64] arm64: vdso: Include common headers in the vdso library (Waiman Long) [1548297] - [arm64] arm64: Introduce asm/vdso/processor.h (Waiman Long) [1548297] - [arm64] arm64: vdso32: Code clean up (Waiman Long) [1548297] - [include] linux/elfnote.h: Replace elf.h with UAPI equivalent (Waiman Long) [1548297] - [include] common: Introduce processor.h (Waiman Long) [1548297] - [include] linux/ktime.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/jiffies.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time64.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time32.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/time.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/math64.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/clocksource.h: Extract common header for vDSO (Waiman Long) [1548297] - [arm64] arm64: Introduce asm/vdso/clocksource.h (Waiman Long) [1548297] - [x86] x86: Introduce asm/vdso/clocksource.h (Waiman Long) [1548297] - [include] linux/limits.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/bits.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/const.h: Extract common header for vDSO (Waiman Long) [1548297] - [include] linux/bits.h: make BIT(), GENMASK(), and friends available in assembly (Waiman Long) [1548297] - [lib] lib/vdso: Allow architectures to provide the vdso data pointer (Waiman Long) [1548297] - [lib] lib/vdso: Allow architectures to override the ns shift operation (Waiman Long) [1548297] - [lib] lib/vdso: Allow fixed clock mode (Waiman Long) [1548297] - [include] lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes (Waiman Long) [1548297] - [kernel] lib/vdso: Avoid highres update if clocksource is not VDSO capable (Waiman Long) [1548297] - [lib] lib/vdso: Cleanup clock mode storage leftovers (Waiman Long) [1548297] - [arm64] ARM/arm64: vdso: Use common vdso clock mode storage (Waiman Long) [1548297] - [x86] x86/vdso: Use generic VDSO clock mode storage (Waiman Long) [1548297] - [kernel] clocksource: Add common vdso clock mode storage (Waiman Long) [1548297] - [x86] x86/vdso: Move VDSO clocksource state tracking to callback (Waiman Long) [1548297] - [include] clocksource: Cleanup struct clocksource and documentation (Waiman Long) [1548297] - [lib] lib/vdso: Allow the high resolution parts to be compiled out (Waiman Long) [1548297] - [lib] lib/vdso: Only read hrtimer_res when needed in __cvdso_clock_getres() (Waiman Long) [1548297] - [x86] x86/vdso: Mark the TSC clocksource path likely (Waiman Long) [1548297] - [kernel] lib/vdso: Update coarse timekeeper unconditionally (Waiman Long) [1548297] - [kernel] lib/vdso: Make __arch_update_vdso_data() logic understandable (Waiman Long) [1548297] - [kernel] alarmtimer: Unregister wakeup source when module get fails (Waiman Long) [1548297] - [tools] selftests/timens: Check for right timens offsets after fork and exec (Waiman Long) [1548297] - [tools] selftests/timens: Add a simple perf test for clock_gettime() (Waiman Long) [1548297] - [tools] selftests/timens: Add timer offsets test (Waiman Long) [1548297] - [tools] selftests/timens: Add procfs selftest (Waiman Long) [1548297] - [tools] selftests/timens: Add a test for clock_nanosleep() (Waiman Long) [1548297] - [tools] selftests/timens: Add a test for timerfd (Waiman Long) [1548297] - [tools] selftests/timens: Add Time Namespace test for supported clocks (Waiman Long) [1548297] - [fs] fs/proc: Introduce /proc/pid/timens_offsets (Waiman Long) [1548297] - [x86] x86/vdso: Zap vvar pages when switching to a time namespace (Waiman Long) [1548297] - [x86] x86/vdso: On timens page fault prefault also VVAR page (Waiman Long) [1548297] - [x86] x86/vdso: Handle faults on timens page (Waiman Long) [1548297] - [kernel] time: Allocate per-timens vvar page (Waiman Long) [1548297] - [x86] x86/vdso: Add time napespace page (Waiman Long) [1548297] - [x86] x86/vdso: Provide vdso_data offset on vvar_page (Waiman Long) [1548297] - [lib] lib/vdso: Prepare for time namespace support (Waiman Long) [1548297] - [x86] x86/vdso: Restrict splitting VVAR VMA (Waiman Long) [1548297] - [fs] fs/proc: Respect boottime inside time namespace for /proc/uptime (Waiman Long) [1548297] - [kernel] posix-timers: Make clock_nanosleep() time namespace aware (Waiman Long) [1548297] - [kernel] hrtimers: Prepare hrtimer_nanosleep() for time namespaces (Waiman Long) [1548297] - [kernel] alarmtimer: Make nanosleep() time namespace aware (Waiman Long) [1548297] - [kernel] posix-timers: Make timer_settime() time namespace aware (Waiman Long) [1548297] - [fs] timerfd: Make timerfd_settime() time namespace aware (Waiman Long) [1548297] - [kernel] time: Add do_timens_ktime_to_host() helper (Waiman Long) [1548297] - [kernel] posix-clocks: Wire up clock_gettime() with timens offsets (Waiman Long) [1548297] - [kernel] posix-timers: Use clock_get_ktime() in common_timer_get() (Waiman Long) [1548297] - [kernel] posix-clocks: Introduce clock_get_ktime() callback (Waiman Long) [1548297] - [kernel] alarmtimer: Provide get_timespec() callback (Waiman Long) [1548297] - [kernel] alarmtimer: Rename gettime() callback to get_ktime() (Waiman Long) [1548297] - [kernel] posix-clocks: Rename .clock_get_timespec() callbacks accordingly (Waiman Long) [1548297] - [kernel] posix-clocks: Rename the clock_get() callback to clock_get_timespec() (Waiman Long) [1548297] - [kernel] time: Add timens_offsets to be used for tasks in time namespace (Waiman Long) [1548297] - [kernel] ns: Introduce Time Namespace (Waiman Long) [1548297] - [lib] lib/vdso: Mark do_hres() and do_coarse() as __always_inline (Waiman Long) [1548297] - [lib] lib/vdso: Avoid duplication in __cvdso_clock_getres() (Waiman Long) [1548297] - [lib] lib/vdso: Let do_coarse() return 0 to simplify the callsite (Waiman Long) [1548297] - [x86] x86/vdso: Remove unused VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Remove unused VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [lib] lib/vdso: Remove checks on return value for 32 bit vDSO (Waiman Long) [1548297] - [lib] lib/vdso: Remove VDSO_HAS_32BIT_FALLBACK (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Expose BUILD_VDSO32 (Waiman Long) [1548297] - [include] lib/vdso: Add unlikely() hint into vdso_read_begin() (Waiman Long) [1548297] - [x86] y2038: vdso: change time_t to __kernel_old_time_t (Waiman Long) [1548297] - [uapi] y2038: add __kernel_old_timespec and __kernel_old_time_t (Waiman Long) [1548297] - [arm64] timekeeping/vsyscall: Update VDSO data unconditionally (Waiman Long) [1548297] - [x86] um: Fix VDSO compiler warning (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Prevent math overflow in BOOTTIME update (Waiman Long) [1548297] - [arm64] arm64: compat: vdso: Use legacy syscalls as fallback (Waiman Long) [1548297] - [x86] x86/vdso/32: Use 32bit syscall fallback (Waiman Long) [1548297] - [arm64] arm64: vdso: Cleanup Makefiles (Waiman Long) [1548297] - [arm64] arm64: vdso: fix flip/flop vdso build bug (Waiman Long) [1548297] - [x86] x86/vdso: Fix flip/flop vdso build bug (Waiman Long) [1548297] - [kernel] timekeeping/vsyscall: Use __iter_div_u64_rem() (Waiman Long) [1548297] - [arm64] arm64: compat: Fix __arch_get_hw_counter() implementation (Waiman Long) [1548297] - [arm64] arm64: Fix __arch_get_hw_counter() implementation (Waiman Long) [1548297] - [arm64] arm64: compat: No need for pre-ARMv7 barriers on an ARMv8 system (Waiman Long) [1548297] - [arm64] arm64: vdso: Remove unnecessary asm-offsets.c definitions (Waiman Long) [1548297] - [include] vdso: Remove superfluous #ifdef __KERNEL__ in vdso/datapage.h (Waiman Long) [1548297] - [arm64] arm64: vdso: Enable vDSO compat support (Waiman Long) [1548297] - [arm64] arm64: compat: Get sigreturn trampolines from vDSO (Waiman Long) [1548297] - [arm64] arm64: elf: VDSO code page discovery (Waiman Long) [1548297] - [arm64] arm64: compat: VDSO setup for compat layer (Waiman Long) [1548297] - [arm64] arm64: vdso: Refactor vDSO code (Waiman Long) [1548297] - [arm64] arm64: compat: Add vDSO (Waiman Long) [1548297] - [arm64] arm64: compat: Generate asm offsets for signals (Waiman Long) [1548297] - [arm64] arm64: compat: Expose signal related structures (Waiman Long) [1548297] - [arm64] arm64: compat: Add missing syscall numbers (Waiman Long) [1548297] - [arm64] arm64: vdso: Build vDSO with -ffixed-x18 (Waiman Long) [1548297] - [arm64] arm64: vdso: Substitute gettimeofday() with C implementation (Waiman Long) [1548297] - [lib] lib/vdso: Build 32 bit specific functions in the right context (Waiman Long) [1548297] - [lib] lib/vdso: Make __cvdso_clock_getres() static (Waiman Long) [1548297] - [lib] lib/vdso: Make clock_getres() POSIX compliant again (Waiman Long) [1548297] - [lib] lib/vdso/32: Provide legacy syscall fallbacks (Waiman Long) [1548297] - [lib] lib/vdso: Move fallback invocation to the callers (Waiman Long) [1548297] - [lib] lib/vdso/32: Remove inconsistent NULL pointer checks (Waiman Long) [1548297] - [x86] lib/vdso: Make delta calculation work correctly (Waiman Long) [1548297] - [x86] x86/vdso: Add clock_gettime64() entry point (Waiman Long) [1548297] - [x86] x86/vdso: Add clock_getres() entry point (Waiman Long) [1548297] - [x86] x86/vdso: Switch to generic vDSO implementation (Waiman Long) [1548297] - [x86] x86/vdso: Prevent segfaults due to hoisted vclock reads (Waiman Long) [1548297] - [kernel] timekeeping: Provide a generic update_vsyscall() implementation (Waiman Long) [1548297] - [lib] lib/vdso: Add compat support (Waiman Long) [1548297] - [lib] lib/vdso: Provide generic VDSO implementation (Waiman Long) [1548297] - [include] hrtimer: Split out hrtimer defines into separate header (Waiman Long) [1548297] - [include] vdso: Define standardized vdso_datapage (Waiman Long) [1548297] - [arm64] arm64: arch_timer: mark functions as __always_inline (Waiman Long) [1548297] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 223 (Waiman Long) [1548297] - [clocksource] clocksource/drivers/arm_arch_timer: Don't trace count reader functions (Waiman Long) [1548297] - [arm64] arm64: vdso: Explicitly add build-id option (Waiman Long) [1548297] - [x86] gcc-9: properly declare the {pv, hv}clock_page storage (Waiman Long) [1548297] - [arm64] arm64: vdso: Fix clock_getres() for CLOCK_REALTIME (Waiman Long) [1548297] - [arm64] arm64: compat: Refactor aarch32_alloc_vdso_pages() (Waiman Long) [1548297] - [arm64] arm64: compat: Split kuser32 (Waiman Long) [1548297] - [arm64] arm64: compat: Alloc separate pages for vectors and sigpage (Waiman Long) [1548297] - [arm64] arm64: arch_timer: Ensure counter register reads occur with seqlock held (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Remove use of workaround static key (Waiman Long) [1548297] - [arm64] clocksource/arm_arch_timer: Drop use of static key in arch_timer_reg_read_stable (Waiman Long) [1548297] - [clocksource] clocksource/arm_arch_timer: Direcly assign set_next_event workaround (Waiman Long) [1548297] - [arm64] arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct (Waiman Long) [1548297] - [watchdog] watchdog/sbsa: Use arch_timer_read_counter instead of arch_counter_get_cntvct (Waiman Long) [1548297] - [kernel] alarmtimer: Return correct remaining time (Waiman Long) [1548297] - [arm64] arm64: vdso: use $(LD) instead of $(CC) to link VDSO (Waiman Long) [1548297] - [arm64] arm64: vdso: fix and clean-up Makefile (Waiman Long) [1548297] - [x86] x86/vdso: Remove hpet_page from vDSO (Waiman Long) [1548297] - [scripts] checksyscalls: fix up mq_timedreceive and stat exceptions (Waiman Long) [1548297] - [uapi] time: Add time_types.h (Waiman Long) [1548297] - [uapi] socket: Add struct __kernel_sock_timeval (Waiman Long) [1548297] - [arm64] arm64: asm-offsets: remove unused offsets (Waiman Long) [1548297] - [arm64] y2038: add 64-bit time_t syscalls to all 32-bit architectures (Waiman Long) [1548297] - [arm64] arm64: replace arm64-obj-* in Makefile with obj-* (Waiman Long) [1548297] - [x86] x86/vdso: Remove obsolete "fake section table" reservation (Waiman Long) [1548297] - [x86] x86/vdso: Rename variable to fix -Wshadow warning (Waiman Long) [1548297] - [x86] x86/vdso: Rearrange do_hres() to improve code generation (Waiman Long) [1548297] - [x86] x86/vdso: Document vgtod_ts better (Waiman Long) [1548297] - [x86] x86/vdso: Remove "memory" clobbers in the vDSO syscall fallbacks (Waiman Long) [1548297] - [x86] x86/vdso: Initialize the CPU/node NR segment descriptor earlier (Waiman Long) [1548297] - [x86] x86/vdso: Introduce helper functions for CPU and node number (Waiman Long) [1548297] - [x86] x86/segments/64: Rename the GDT PER_CPU entry to CPU_NUMBER (Waiman Long) [1548297] - [x86] x66/vdso: Add CLOCK_TAI support (Waiman Long) [1548297] - [x86] x86/vdso: Move cycle_last handling into the caller (Waiman Long) [1548297] - [x86] x86/vdso: Simplify the invalid vclock case (Waiman Long) [1548297] - [x86] x86/vdso: Replace the clockid switch case (Waiman Long) [1548297] - [x86] x86/vdso: Collapse coarse functions (Waiman Long) [1548297] - [x86] x86/vdso: Collapse high resolution functions (Waiman Long) [1548297] - [x86] x86/vdso: Introduce and use vgtod_ts (Waiman Long) [1548297] - [x86] x86/vdso: Use unsigned int consistently for vsyscall_gtod_data:: Seq (Waiman Long) [1548297] - [x86] x86/vdso: Enforce 64bit clocksource (Waiman Long) [1548297] - [x86] x86/time: Implement clocksource_arch_init() (Waiman Long) [1548297] - [kernel] clocksource: Provide clocksource_arch_init() (Waiman Long) [1548297] - [fs] fs/proc/uptime.c: use ktime_get_boottime_ts64 (Waiman Long) [1548297] - [include] y2038: Provide aliases for compat helpers (Waiman Long) [1548297] - [fs] kernel: add kcompat_sys_{f,}statfs64() (Waiman Long) [1548297] - [kernel] sysinfo: Remove get_monotonic_boottime() (Waiman Long) [1548297] - [kernel] posix-timers: Use new ktime_get_*_ts64() helpers (Waiman Long) [1548297] - [kernel] time: Use ktime_get_real_seconds() in time syscall (Waiman Long) [1548297] - [include] time: Introduce struct __kernel_itimerspec (Waiman Long) [1548297] - [scripts] kconfig: improve the recursive dependency report (Bruno Meneguele) [1890578] - [scripts] kconfig: report recursive dependency involving 'imply' (Bruno Meneguele) [1890578] - [scripts] kconfig: error out when seeing recursive dependency (Bruno Meneguele) [1890578] - [scsi] scsi: hpsa: Update copyright (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Remove pci-dma-compat wrapper API (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Use fallthrough pseudo-keyword (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Correct ctrl queue depth (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Bump version (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Increase controller error handling timeout (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Increase queue depth for external LUNs (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Correct rare oob condition (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: hpsa_ioctl(): Tidy up a bit (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Get rid of compat_alloc_user_space() (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Don't bother with vmalloc for BIG_IOCTL_Command_struct (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: Lift {BIG_, }IOCTL_Command_struct copy{in, out} into hpsa_ioctl() (Joseph Szczypek) [1861541] - [scsi] scsi: hpsa: remove ioremap_nocache and devm_ioremap_nocache (Joseph Szczypek) [1861541] - [tools] selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load workaround (Gustavo Duarte) [1887442] - [powerpc] powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation (Gustavo Duarte) [1887442] - [scsi] scsi: smartpqi: Update copyright (Don Brace) [1861538] - [scsi] scsi: smartpqi: Bump version to 1.2.16-010 (Don Brace) [1861538] - [scsi] scsi: smartpqi: Add RAID bypass counter (Don Brace) [1861538] - [scsi] scsi: smartpqi: Avoid crashing kernel for controller issues (Don Brace) [1861538] - [scsi] scsi: smartpqi: Update logical volume size after expansion (Don Brace) [1861538] - [scsi] scsi: smartpqi: Add id support for SmartRAID 3152-8i (Don Brace) [1861538] - [scsi] scsi: smartpqi: Identify physical devices without issuing INQUIRY (Don Brace) [1861538] - [mm] mm: simplify find_min_pfn_with_active_regions() (Baoquan He) [1844157] - [mm] mm: clean up free_area_init_node() and its helpers (Baoquan He) [1844157] - [mm] mm: rename free_area_init_node() to free_area_init_memoryless_node() (Baoquan He) [1844157] - [mm] mm: free_area_init: allow defining max_zone_pfn in descending order (Baoquan He) [1844157] - [powerpc] mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES (Baoquan He) [1844157] - [mm] mm: memmap_init: iterate over memblock regions rather that check each PFN (Baoquan He) [1844157] - [mm] arm64: simplify detection of memory zone boundaries for UMA configs (Baoquan He) [1844157] - [mm] mm: use free_area_init() instead of free_area_init_nodes() (Baoquan He) [1844157] - [mm] mm: free_area_init: use maximal zone PFNs rather than zone sizes (Baoquan He) [1844157] - [mm] mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option (Baoquan He) [1844157] - [mm] numa: make "nr_node_ids" unsigned int (Baoquan He) [1844157] - [mm] mm: make early_pfn_to_nid() and related defintions close to each other (Baoquan He) [1844157] - [mm] mm: memblock: replace dereferences of memblock_region.nid with API calls (Baoquan He) [1844157] - [mm] mm: factor out next_present_section_nr() (Baoquan He) [1844157] - [mm] mm/page_alloc: fix and rework pfn handling in memmap_init_zone() (Baoquan He) [1844157] - [mm] mm/page_alloc: skip non present sections on zone initialization (Baoquan He) [1844157] - [mm] mm: move mirrored memory specific code outside of memmap_init_zone (Baoquan He) [1844157] - [mm] mm: calculate deferred pages after skipping mirrored memory (Baoquan He) [1844157] - [mm] mm/memblock.c: fix a typo in __next_mem_pfn_range() comments (Baoquan He) [1844157] - [mm] memblock: remove memblock_{set, clear}_region_flags (Baoquan He) [1844157] - [mm] mm: replace all open encodings for NUMA_NO_NODE (Baoquan He) [1844157] - [powerpc] lockdep: Only trace IRQ edges (Waiman Long) [1885084] - [arm64] arm64: Implement arch_irqs_disabled() (Waiman Long) [1885084] - [include] locking/lockdep: Cleanup (Waiman Long) [1885084] - [include] lockdep: Use raw_cpu_*() for per-cpu variables (Waiman Long) [1885084] - [x86] locking/seqlock, headers: Untangle the spaghetti monster (Waiman Long) [1885084] - [misc] vmw_balloon: Explicitly include linux/io.h for virt_to_phys() (Waiman Long) [1885084] - [x86] x86: i8259: Add missing include file (Waiman Long) [1885084] - [include] seqcount: More consistent seqprop names (Waiman Long) [1885084] - [include] seqcount: Compress SEQCNT_LOCKNAME_ZERO() (Waiman Long) [1885084] - [include] seqlock: Fold seqcount_LOCKNAME_init() definition (Waiman Long) [1885084] - [include] seqlock: Fold seqcount_LOCKNAME_t definition (Waiman Long) [1885084] - [include] seqlock: s/__SEQ_LOCKDEP/__SEQ_LOCK/g (Waiman Long) [1885084] - [kernel] hrtimer: Use sequence counter with associated raw spinlock (Waiman Long) [1885084] - [kernel] timekeeping: Use sequence counter with associated raw spinlock (Waiman Long) [1885084] - [kernel] timekeeping: Use proper seqcount initializer (Waiman Long) [1885084] - [init] sched: tasks: Use sequence counter with associated spinlock (Waiman Long) [1885084] - [kernel] lockdep: Refactor IRQ trace events fields into struct (Waiman Long) [1885084] - [drm] dma-buf: Use sequence counter with associated wound/wait mutex (Waiman Long) [1885084] - [dma-buf] dma-buf: Remove custom seqcount lockdep class key (Waiman Long) [1885084] - [include] seqlock: Align multi-line macros newline escapes at 72 columns (Waiman Long) [1885084] - [documentation] seqlock: Extend seqcount API with associated locks (Waiman Long) [1885084] - [include] seqlock: lockdep assert non-preemptibility on seqcount_t write (Waiman Long) [1885084] - [lib] lockdep: Add preemption enabled/disabled assertion APIs (Waiman Long) [1885084] - [include] seqlock: Implement raw_seqcount_begin() in terms of raw_read_seqcount() (Waiman Long) [1885084] - [include] seqlock: Add kernel-doc for seqcount_t and seqlock_t APIs (Waiman Long) [1885084] - [include] seqlock: Reorder seqcount_t and seqlock_t API definitions (Waiman Long) [1885084] - [include] seqlock: seqcount_t latch: End read sections with read_seqcount_retry() (Waiman Long) [1885084] - [include] seqlock: Properly format kernel-doc code samples (Waiman Long) [1885084] - [documentation] Documentation: locking: Describe seqlock design and usage (Waiman Long) [1885084] - [include] seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier (Waiman Long) [1885084] - [include] seqlock, kcsan: Add annotations for KCSAN (Waiman Long) [1885084] - [include] include/linux/compiler.h: Introduce data_race(expr) macro (Waiman Long) [1885084] - [kernel] kcsan: Add Kernel Concurrency Sanitizer infrastructure (Waiman Long) [1885084] - [include] locking/qspinlock: Do not include atomic.h from qspinlock_types.h (Waiman Long) [1885084] - [include] locking/atomic: Move ATOMIC_INIT into linux/types.h (Waiman Long) [1885084] - [connector] connector/cn_proc: Protect send_msg() with a local lock (Waiman Long) [1885084] - [mm] mm/swap: Use local_lock for protection (Waiman Long) [1885084] - [include] radix-tree: Use local_lock for protection (Waiman Long) [1885084] - [include] locking: Introduce local_lock() (Waiman Long) [1885084] - [documentation] Documentation/locking/locktypes: Minor copy editor fixes (Waiman Long) [1885084] - [documentation] Documentation/locking/locktypes: Further clarifications and wordsmithing (Waiman Long) [1885084] - [documentation] Documentation: Add lock ordering and nesting documentation (Waiman Long) [1885084] - [mm] mm/swap.c: trivial mark_page_accessed() cleanup (Waiman Long) [1885084] - [lib] radix tree: Remove radix_tree_maybe_preload_order (Waiman Long) [1885084] - [kernel] locking/lockdep: Fix "USED" <- "IN-NMI" inversions (Waiman Long) [1885084] - [kernel] lockdep: Remove lockdep_hardirq{s_enabled, _context}() argument (Waiman Long) [1885084] - [kernel] lockdep: Change hardirq{s_enabled, _context} to per-cpu variables (Waiman Long) [1885084] - [kernel] x86/entry: Rename trace_hardirqs_off_prepare() (Waiman Long) [1885084] - [kernel] lockdep: Prepare for NMI IRQ state tracking (Waiman Long) [1885084] - [include] lockdep: Move list.h inclusion into lockdep.h (Waiman Long) [1885084] - [include] lockdep: Split header file into lockdep and lockdep_types (Waiman Long) [1885084] - [kernel] lockdep: __always_inline more for noinstr (Waiman Long) [1885084] - [kernel] lockdep: Prepare for noinstr sections (Waiman Long) [1885084] - [kernel] tracing: Provide lockdep less trace_hardirqs_on/off() variants (Waiman Long) [1885084] - [include] vmlinux.lds.h: Create section for protection against instrumentation (Waiman Long) [1885084] - [kernel] locking/lockdep: Replace zero-length array with flexible-array (Waiman Long) [1885084] - [kernel] hrtimer: Don't dereference the hrtimer pointer after the callback (Waiman Long) [1885084] - [kernel] hrtimer: Add missing sparse annotation for __run_timer() (Waiman Long) [1885084] - [kernel] lockdep: Always inline lockdep_{off,on}() (Waiman Long) [1885084] - [kernel] locking/lockdep: Improve 'invalid wait context' splat (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_{hard, soft}{irq_context, irqs_enabled}() (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_softirqs_{on,off}() (Waiman Long) [1885084] - [kernel] lockdep: Rename trace_hardirq_{enter, exit}() (Waiman Long) [1885084] - [kernel] completion: Use lockdep_assert_RT_in_threaded_ctx() in complete_all() (Waiman Long) [1885084] - [usb] completion: Use simple wait queues (Waiman Long) [1885084] - [kernel] sched/swait: Prepare usage in completions (Waiman Long) [1885084] - [kernel] lockdep: Add posixtimer context tracing bits (Waiman Long) [1885084] - [kernel] lockdep: Annotate irq_work (Waiman Long) [1885084] - [kernel] lockdep: Add hrtimer context tracing bits (Waiman Long) [1885084] - [include] lockdep: Introduce wait-type checks (Waiman Long) [1885084] - [kernel] lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions (Waiman Long) [1885084] - [kernel] locking/lockdep: Rework lockdep_lock (Waiman Long) [1885084] - [kernel] locking/lockdep: Fix bad recursion pattern (Waiman Long) [1885084] - [s390] s390/ftrace: fix endless recursion in function_graph tracer (Waiman Long) [1885084] - [s390] s390/time: ensure get_clock_monotonic() returns monotonic values (Waiman Long) [1885084] - [kernel] irq_work: Fix IRQ_WORK_BUSY bit clearing (Waiman Long) [1885084] - [kernel] irq_work: Slightly simplify IRQ_WORK_PENDING clearing (Waiman Long) [1885084] - [kernel] irq_work: Fix irq_work_claim() memory ordering (Waiman Long) [1885084] - [kernel] irq_work: Convert flags to atomic_t (Waiman Long) [1885084] - [kernel] kprobes: Prohibit probing on lockdep functions (Waiman Long) [1885084] - [kernel] kprobes: Prohibit probing on hardirq tracers (Waiman Long) [1885084] - [lib] locking/lockdep: Make global debug_locks* variables read-mostly (Waiman Long) [1885084] - [kernel] locking/lockdep: Delete unnecessary #include (Waiman Long) [1885084] - [kernel] tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage" (Waiman Long) [1885084] - [kernel] tracing/irqsoff: Handle preempt_count for different configs (Waiman Long) [1885084] - [kernel] tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage" (Waiman Long) [1885084] - [kernel] tracing: irqsoff: Account for additional preempt_disable (Waiman Long) [1885084] - [kernel] tracing: Centralize preemptirq tracepoints and unify their usage (Waiman Long) [1885084] - [kernel] tracing/irqsoff: Split reset into separate functions (Waiman Long) [1885084] - [kernel] sched/fair: Use dst group while checking imbalance for NUMA balancer (Phil Auld) [1877360] - [kernel] sched/fair: Reduce busy load balance interval (Phil Auld) [1877360] - [kernel] sched/fair: Reduce minimal imbalance threshold (Phil Auld) [1877360] - [kernel] sched/fair: Minimize concurrent LBs between domain level (Phil Auld) [1877360] - [kernel] sched/fair: Fix wrong cpu selecting from isolated domain (Phil Auld) [1877360] - [kernel] sched/fair: Relax constraint on task's load during load balance (Phil Auld) [1877360] - [kernel] sched/numa: Use runnable_avg to classify node (Phil Auld) [1877360] - [kernel] sched: Remove duplicated tick_nohz_full_enabled() check (Phil Auld) [1877360] - [kernel] sched: Warn if garbage is passed to default_wake_function() (Phil Auld) [1877360] - [kernel] sched: nohz: stop passing around unused "ticks" parameter (Phil Auld) [1877360] - [kernel] sched/fair: update_pick_idlest() Select group with lowest group_util when idle_cpus are equal (Phil Auld) [1877360] - [kernel] sched: Better document ttwu() (Phil Auld) [1877360] - [kernel] sched/fair: handle case of task_h_load() returning 0 (Phil Auld) [1877360] - [kernel] sched: Fix unreliable rseq cpu_id for new tasks (Phil Auld) [1877360] - [kernel] sched/core: s/WF_ON_RQ/WQ_ON_CPU/ (Phil Auld) [1877360] - [include] sched/core: Remove mmdrop() definition (Phil Auld) [1877360] - [kernel] sched/fair: Optimize dequeue_task_fair() (Phil Auld) [1877360] - [kernel] sched/pelt: Cleanup PELT divider (Phil Auld) [1877360] - [kernel] sched/fair: Fix NOHZ next idle balance (Phil Auld) [1877360] - [kernel] sched: correct SD_flags returned by tl->sd_flags() (Phil Auld) [1877360] - [kernel] sched/fair: Remove unused 'sd' parameter from scale_rt_capacity() (Phil Auld) [1877360] - [kernel] sched/idle, stop: Remove .get_rr_interval from sched_class (Phil Auld) [1877360] - [kernel] sched/core: Remove redundant 'preempt' param from sched_class->yield_to_task() (Phil Auld) [1877360] - [kernel] sched/pelt: Remove redundant cap_scale() definition (Phil Auld) [1877360] - [kernel] sched/pelt: Sync util/runnable_sum with PELT window when propagating (Phil Auld) [1877360] - [kernel] sched/cpuacct: Fix charge cpuacct.usage_sys (Phil Auld) [1877360] - [kernel] sched/cpuacct: Use __this_cpu_add() instead of this_cpu_ptr() (Phil Auld) [1877360] - [kernel] sched/fair: Fix unthrottle_cfs_rq() for leaf_cfs_rq list (Phil Auld) [1877360] - [kernel] sched/core: Simplify sched_init() (Phil Auld) [1877360] - [kernel] sched/fair: Mark sched_init_granularity __init (Phil Auld) [1877360] - [kernel] sched/core: Fix illegal RCU from offline CPUs (Phil Auld) [1877360] - [kernel] sched/fair: Use __this_cpu_read() in wake_wide() (Phil Auld) [1877360] - [kernel] sched: Extract the task putting code from pick_next_task() (Phil Auld) [1877360] - [kernel] sched: Make newidle_balance() static again (Phil Auld) [1877360] - [kernel] sched/fair: Remove distribute_running from CFS bandwidth (Phil Auld) [1877360] - [kernel] sched/fair: Simplify the code of should_we_balance() (Phil Auld) [1877360] - [kernel] sched/debug: Fix trival print_task() format (Phil Auld) [1877360] - [kernel] sched/debug: Factor out printing formats into common macros (Phil Auld) [1877360] - [kernel] sched/debug: Remove redundant macro define (Phil Auld) [1877360] - [kernel] sched/core: Remove unused rq::last_load_update_tick (Phil Auld) [1877360] - [kernel] sched/fair: Align rq->avg_idle and rq->avg_scan_cost (Phil Auld) [1877360] - [kernel] sched/fair: Improve spreading of utilization (Phil Auld) [1877360] - [kernel] sched/fair: Fix condition of avg_load calculation (Phil Auld) [1877360] - [kernel] kthread: Do not preempt current task if it is going to call schedule() (Phil Auld) [1877360] - [kernel] sched/core: Distribute tasks within affinity masks (Phil Auld) [1877360] - [kernel] time/sched_clock: Expire timer in hardirq context (Phil Auld) [1877360] - [kernel] sched/deadline: Make two functions static (Phil Auld) [1877360] - [mm] slab: store tagged freelist for off-slab slabmgmt (Waiman Long) [1887067] - [mm] mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y (Waiman Long) [1887067] - [arm64] arm64: avoid clang warning about self-assignment (Waiman Long) [1887067] - [mm] kasan: add memory corruption identification for software tag-based mode (Waiman Long) [1887067] - [mm] mm/kasan: print frame description for stack bugs (Waiman Long) [1887067] - [mm] kasan: initialize tag to 0xff in __kasan_kmalloc (Waiman Long) [1887067] - [mm] kasan: Makefile: Replace -pg with CC_FLAGS_FTRACE (Waiman Long) [1887067] - [mm] x86/uaccess, kasan: Fix KASAN vs SMAP (Waiman Long) [1887067] - [mm] mm/kasan: Simplify stacktrace handling (Waiman Long) [1887067] - [mm] kasan: fix variable 'tag' set but not used warning (Waiman Long) [1887067] - [mm] slub: fix a crash with SLUB_DEBUG + KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan, slab: remove redundant kasan_slab_alloc hooks (Waiman Long) [1887067] - [mm] kasan, slab: make freelist stored without tags (Waiman Long) [1887067] - [mm] kasan, slab: fix conflicts with CONFIG_HARDENED_USERCOPY (Waiman Long) [1887067] - [mm] kasan: prevent tracing of tags.c (Waiman Long) [1887067] - [mm] kasan: fix random seed generation for tag-based mode (Waiman Long) [1887067] - [mm] slub: fix SLAB_CONSISTENCY_CHECKS + KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan, slub: fix more conflicts with CONFIG_SLAB_FREELIST_HARDENED (Waiman Long) [1887067] - [mm] kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED (Waiman Long) [1887067] - [mm] kasan, slub: move kasan_poison_slab hook before page_address (Waiman Long) [1887067] - [mm] kmemleak: account for tagged pointers when calculating pointer range (Waiman Long) [1887067] - [mm] kasan, kmemleak: pass tagged pointers to kmemleak (Waiman Long) [1887067] - [mm] kasan: fix assigning tags twice (Waiman Long) [1887067] - [mm] kasan: mark file common so ftrace doesn't trace it (Waiman Long) [1887067] - [mm] kasan: fix krealloc handling for tag-based mode (Waiman Long) [1887067] - [mm] kasan: make tag based mode work with CONFIG_HARDENED_USERCOPY (Waiman Long) [1887067] - [arm64] kasan, arm64: use ARCH_SLAB_MINALIGN instead of manual aligning (Waiman Long) [1887067] - [mm] kasan: add SPDX-License-Identifier mark to source files (Waiman Long) [1887067] - [documentation] kasan: update documentation (Waiman Long) [1887067] - [arm64] kasan, arm64: select HAVE_ARCH_KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan: add __must_check annotations to kasan hooks (Waiman Long) [1887067] - [mm] kasan, mm, arm64: tag non slab memory allocated via pagealloc (Waiman Long) [1887067] - [arm64] kasan, arm64: add brk handler for inline instrumentation (Waiman Long) [1887067] - [mm] kasan: add hooks implementation for tag-based mode (Waiman Long) [1887067] - [mm] kasan: add bug reporting routines for tag-based mode (Waiman Long) [1887067] - [mm] kasan: split out generic_report.c from report.c (Waiman Long) [1887067] - [mm] kasan, mm: perform untagged pointers comparison in krealloc (Waiman Long) [1887067] - [mm] kasan, arm64: enable top byte ignore for the kernel (Waiman Long) [1887067] - [mm] kasan, arm64: fix up fault handling logic (Waiman Long) [1887067] - [mm] kasan: preassign tags to objects with ctors or SLAB_TYPESAFE_BY_RCU (Waiman Long) [1887067] - [arm64] kasan, arm64: untag address in _virt_addr_is_linear (Waiman Long) [1887067] - [arm64] kasan: add tag related helper functions (Waiman Long) [1887067] - [mm] kasan: initialize shadow to 0xff for tag-based mode (Waiman Long) [1887067] - [mm] kasan: rename kasan_zero_page to kasan_early_shadow_page (Waiman Long) [1887067] - [arm64] kasan, arm64: adjust shadow size for tag-based mode (Waiman Long) [1887067] - [mm] kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS (Waiman Long) [1887067] - [mm] kasan: rename source files to reflect the new naming scheme (Waiman Long) [1887067] - [mm] kasan: move common generic and tag-based code to common.c (Waiman Long) [1887067] - [mm] kasan, slub: handle pointer tags in early_kmem_cache_node_alloc (Waiman Long) [1887067] - [mm] kasan, mm: change hooks signatures (Waiman Long) [1887067] - [arm64] arm64: kasan: Increase stack size for KASAN_EXTRA (Waiman Long) [1887067] - [s390] s390/cio: add cond_resched() in the slow_eval_known_fn() loop (Claudio Imbrenda) [1885961] - [s390] scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point (Claudio Imbrenda) [1885876] - [tools] selftests/vm/gup_benchmark.c: match gup struct to kernel (Rafael Aquini) [1873952] - [uapi] redhat: Fix the number of KVM_CAP_S390_DIAG318 (Thomas Huth) [1659413] - [s390] setup: diag 318: refactor struct (Thomas Huth) [1659413] - [s390] kvm: diagnose 0x318 sync and reset (Thomas Huth) [1659413] - [mm] swap: reduce lock contention on swap cache from swap slots allocation (Nico Pache) [1839049] - [mm] mm/swapfile.c: use prandom_u32_max() (Nico Pache) [1839049] - [mm] swap: try to scan more free slots even when fragmented (Nico Pache) [1839049] - [mm] mm/swapfile.c: move inode_lock out of claim_swapfile (Nico Pache) [1839049] - [mm] vfs: don't allow writes to swap files (Nico Pache) [1839049] - [mm] mm: set S_SWAPFILE on blockdev swap devices (Nico Pache) [1839049] - [edac] EDAC/ie31200: Add Intel Coffee Lake CPU support (Aristeu Rozanski) [1847567]- [netdrv] macsec: avoid use-after-free in macsec_handle_frame() (Balazs Nemeth) [1890122] - [include] netlink: check for null extack in cookie helpers (Ivan Vecera) [1878274] - [net] ethtool: Don't omit the netlink reply if no features were changed (Ivan Vecera) [1878274] - [net] ethtool: Account for hw_features in netlink interface (Ivan Vecera) [1878274] - [net] ethtool: Fix preserving of wanted feature bits in netlink interface (Ivan Vecera) [1878274] - [net] ethtool: ethnl_set_linkmodes: remove redundant null check (Ivan Vecera) [1878274] - [net] ethtool: fix genlmsg_put() failure handling in ethnl_default_dumpit() (Ivan Vecera) [1878274] - [net] ethtool: add missing string for NETIF_F_GSO_TUNNEL_REMCSUM (Ivan Vecera) [1878274] - [net] ethtool: Fix check in ethtool_rx_flow_rule_create (Ivan Vecera) [1878274] - [net] ethtool: linkinfo: remove an unnecessary NULL check (Ivan Vecera) [1878274] - [net] ethtool: propagate get_coalesce return value (Ivan Vecera) [1878274] - [net] ethtool: don't call set_channels in drivers if config didn't change (Ivan Vecera) [1878274] - [net] ethtool: check if there is at least one channel for TX/RX in the core (Ivan Vecera) [1878274] - [net] drivers: Remove inclusion of vermagic header (Ivan Vecera) [1878274] - [net] ethtool: count header size in reply size estimate (Ivan Vecera) [1878274] - [net] ethtool: provide timestamping information with TSINFO_GET request (Ivan Vecera) [1878274] - [net] ethtool: add timestamping related string sets (Ivan Vecera) [1878274] - [net] ethtool: add EEE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set EEE settings with EEE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide EEE settings with EEE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add PAUSE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set pause parameters with PAUSE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide pause parameters with PAUSE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add COALESCE_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set coalescing parameters with COALESCE_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide coalescing parameters with COALESCE_GET request (Ivan Vecera) [1878274] - [net] ethtool: fix reference leak in ethnl_set_privflags() (Ivan Vecera) [1878274] - [net] ethtool: fix incorrect tx-checksumming settings reporting (Ivan Vecera) [1878274] - [include] ethtool.h: Replace zero-length array with flexible-array member (Ivan Vecera) [1878274] - [net] ethtool: fix reference leak in some *_SET handlers (Ivan Vecera) [1878274] - [net] ethtool: reject unrecognized request flags (Ivan Vecera) [1878274] - [include] netlink: add nl_set_extack_cookie_u32() (Ivan Vecera) [1878274] - [net] netlink: allow extack cookie also for error messages (Ivan Vecera) [1878274] - [net] ethtool: fix spelling mistake "exceeeds" -> "exceeds" (Ivan Vecera) [1878274] - [net] ethtool: add CHANNELS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device channel counts with CHANNELS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide channel counts with CHANNELS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add RINGS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device ring sizes with RINGS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide ring sizes with RINGS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add PRIVFLAGS_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set device private flags with PRIVFLAGS_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide private flags with PRIVFLAGS_GET request (Ivan Vecera) [1878274] - [net] ethtool: add FEATURES_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set netdev features with FEATURES_SET request (Ivan Vecera) [1878274] - [net] ethtool: add ethnl_parse_bitset() helper (Ivan Vecera) [1878274] - [net] ethtool: provide netdev features with FEATURES_GET request (Ivan Vecera) [1878274] - [net] ethtool: update mapping of features to legacy ioctl requests (Ivan Vecera) [1878274] - [net] ethtool: rename ethnl_parse_header() to ethnl_parse_header_dev_get() (Ivan Vecera) [1878274] - [include] hns: reject unsupported coalescing params (Ivan Vecera) [1878274] - [include] net: liquidio: reject unsupported coalescing params (Ivan Vecera) [1878274] - [net] ethtool: Factored out similar ethtool link settings for virtual devices to core (Ivan Vecera) [1878274] - [net] ethtool: limit bitset size (Ivan Vecera) [1878274] - [net] ethtool: fix application of verbose no_mask bitset (Ivan Vecera) [1878274] - [net] ethtool: Add support for low latency RS FEC (Ivan Vecera) [1878274] - [net] ethtool: add WOL_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set wake-on-lan settings with WOL_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide WoL settings with WOL_GET request (Ivan Vecera) [1878274] - [net] ethtool: add DEBUG_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set message mask with DEBUG_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide message mask with DEBUG_GET request (Ivan Vecera) [1878274] - [net] ethtool: fix kernel-doc descriptions (Ivan Vecera) [1878274] - [net] ethtool: potential NULL dereference in strset_prepare_data() (Ivan Vecera) [1878274] - [net] ethtool: fix ->reply_size() error handling (Ivan Vecera) [1878274] - [net] ethtool: fix a memory leak in ethnl_default_start() (Ivan Vecera) [1878274] - [net] ethtool: remove set but not used variable 'lsettings' (Ivan Vecera) [1878274] - [net] ethtool: provide link state with LINKSTATE_GET request (Ivan Vecera) [1878274] - [net] ethtool: add LINKMODES_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: set link modes related data with LINKMODES_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide link mode information with LINKMODES_GET request (Ivan Vecera) [1878274] - [net] ethtool: add LINKINFO_NTF notification (Ivan Vecera) [1878274] - [net] ethtool: add default notification handler (Ivan Vecera) [1878274] - [net] ethtool: set link settings with LINKINFO_SET request (Ivan Vecera) [1878274] - [net] ethtool: provide link settings with LINKINFO_GET request (Ivan Vecera) [1878274] - [net] ethtool: provide string sets with STRSET_GET request (Ivan Vecera) [1878274] - [net] ethtool: default handlers for GET requests (Ivan Vecera) [1878274] - [net] ethtool: support for netlink notifications (Ivan Vecera) [1878274] - [net] ethtool: netlink bitset handling (Ivan Vecera) [1878274] - [net] ethtool: helper functions for netlink interface (Ivan Vecera) [1878274] - [net] ethtool: introduce ethtool netlink interface (Ivan Vecera) [1878274] - [net] ethtool: provide link mode names as a string set (Ivan Vecera) [1878274] - [net] ethtool: move string arrays into common file (Ivan Vecera) [1878274] - [net] ethtool: move RHEL specific stuff to separate header file (Ivan Vecera) [1878274] - [net] ethtool: move to its own directory (Ivan Vecera) [1878274] - [net] rtnetlink: provide permanent hardware address in RTM_NEWLINK (Ivan Vecera) [1878274] - [net] Zeroing the structure ethtool_wolinfo in ethtool_get_wol() (Ivan Vecera) [1878274] - [net] ethtool: Allow parsing ETHER_FLOW types when using flow_rule (Ivan Vecera) [1878274] - [net] ethtool: Allow matching on vlan DEI bit (Ivan Vecera) [1878274] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Ivan Vecera) [1878274] - [include] net: ethtool: Document get_rxfh_context and set_rxfh_context ethtool ops (Ivan Vecera) [1878274] - [include] ethtool: avoid signed-unsigned comparison in ethtool_validate_speed() (Ivan Vecera) [1878274] - [net] ethtool: not call vzalloc for zero sized memory request (Ivan Vecera) [1878274] - [net] ethtool: reduce stack usage with clang (Ivan Vecera) [1878274] - [net] ethtool: Use explicit designated initializers for .cmd (Ivan Vecera) [1878274] - [net] ethtool: remove unnecessary check in ethtool_get_regs() (Ivan Vecera) [1878274] - [include] uapi/ethtool: fix spelling errors (Ivan Vecera) [1878274] - [net] ethtool: fix a missing-check bug (Ivan Vecera) [1878274] - [include] ethtool: Remove trailing semicolon for static inline (Ivan Vecera) [1878274] - [net] ipv6: some fixes for ipv6_dev_find() (Xin Long) [1862458] - [net] tipc: not enable tipc when ipv6 works as a module (Xin Long) [1862458] - [net] tipc: set ub->ifindex for local ipv6 address (Xin Long) [1862458] - [net] ipv6: add ipv6_dev_find() (Xin Long) [1862458] - [powerpc] powerpc/pseries: explicitly reschedule during drmem_lmb list traversal (Steve Best) [1892377] - [scsi] scsi: ibmvscsi: Fix potential race after loss of transport (Steve Best) [1892316] - [mm] mm: fix a race during THP splitting (Rafael Aquini) [1865813 1739593] - [mm] mm, memcg: do not high throttle allocators based on wraparound (Waiman Long) [1873759] - [mm] mm, memcg: throttle allocators based on ancestral memory.high (Waiman Long) [1873759] - [mm] mm, memcg: fix corruption on 64-bit divisor in memory.high throttling (Waiman Long) [1873759] - [mm] mm, memcg: throttle allocators when failing reclaim over memory.high (Waiman Long) [1873759] - [mm] mm, oom: dump stack of victim when reaping failed (Waiman Long) [1873759] - [mm] mm/oom: fix pgtables units mismatch in Killed process message (Waiman Long) [1873759] - [mm] mm, oom: consider present pages for the node size (Waiman Long) [1873759] - [mm] mm/oom_kill.c: fix oom_cpuset_eligible() comment (Waiman Long) [1873759] - [mm] mm/oom: add oom_score_adj and pgtables to Killed process message (Waiman Long) [1873759] - [mm] mm/oom_kill.c: remove redundant OOM score normalization in select_bad_process() (Waiman Long) [1873759] - [fs] oom: decouple mems_allowed from oom_unkillable_task (Waiman Long) [1873759] - [mm] mm, oom: remove redundant task_in_mem_cgroup() check (Waiman Long) [1873759] - [mm] mm, oom: refactor dump_tasks for memcg OOMs (Waiman Long) [1873759] - [mm] mm, oom: describe task memory unit, larger PID pad (Waiman Long) [1873759] - [mm] mm, oom: remove oom_lock from oom_reaper (Waiman Long) [1873759] - [mm] mm/vmscan: remove unused RECLAIM_OFF/RECLAIM_ZONE (Waiman Long) [1873759] - [mm] mm/vmscan: remove prefetch_prev_lru_page (Waiman Long) [1873759] - [mm] mm/vmscan.c: remove unused return value of shrink_node (Waiman Long) [1873759] - [mm] mm/vmscan.c: clean code by removing unnecessary assignment (Waiman Long) [1873759] - [mm] mm: vmscan: protect shrinker idr replace with CONFIG_MEMCG (Waiman Long) [1873759] - [mm] mm/vmscan.c: fix typo in comment (Waiman Long) [1873759] - [mm] mm: vmscan: enforce inactive:active ratio at the reclaim root (Waiman Long) [1873759] - [mm] mm: vmscan: detect file thrashing at the reclaim root (Waiman Long) [1873759] - [mm] mm: vmscan: move file exhaustion detection to the node level (Waiman Long) [1873759] - [include] mm: vmscan: harmonize writeback congestion tracking for nodes & memcgs (Waiman Long) [1873759] - [mm] mm: vmscan: split shrink_node() into node part and memcgs part (Waiman Long) [1873759] - [mm] mm: vmscan: turn shrink_node_memcg() into shrink_lruvec() (Waiman Long) [1873759] - [mm] mm: vmscan: replace shrink_node() loop with a retry jump (Waiman Long) [1873759] - [mm] mm: vmscan: naming fixes: global_reclaim() and sane_reclaim() (Waiman Long) [1873759] - [mm] mm: vmscan: move inactive_list_is_low() swap check to the caller (Waiman Long) [1873759] - [mm] mm: vmscan: simplify lruvec_lru_size() (Waiman Long) [1873759] - [mm] mm/vmscan.c: remove unused scan_control parameter from pageout() (Waiman Long) [1873759] - [mm] mm/vmscan: remove unused lru_pages argument (Waiman Long) [1873759] - [mm] mm: do not allow MADV_PAGEOUT for CoW pages (Waiman Long) [1873759] - [mm] mm: fix trying to reclaim unevictable lru page when calling madvise_pageout (Waiman Long) [1873759] - [mm] mm: factor out common parts between MADV_COLD and MADV_PAGEOUT (Waiman Long) [1873759] - [mm] mm: introduce MADV_PAGEOUT (Waiman Long) [1873759] - [mm] mm: change PAGEREF_RECLAIM_CLEAN with PAGE_REFRECLAIM (Waiman Long) [1873759] - [mm] mm: introduce MADV_COLD (Waiman Long) [1873759] - [mm] mm: thp: don't need care deferred split queue in memcg charge move path (Waiman Long) [1873759] - [mm] mm: thp: make deferred split shrinker memcg aware (Waiman Long) [1873759] - [mm] mm: shrinker: make shrinker not depend on memcg kmem (Waiman Long) [1873759] - [mm] mm: move mem_cgroup_uncharge out of __page_cache_release() (Waiman Long) [1873759] - [mm] mm: thp: extract split_queue_* into a struct (Waiman Long) [1873759] - [mm] mm/page_alloc.c: move ifdefery out of free_area_init_core (Waiman Long) [1873759] - [mm] mm, memcg: do not set reclaim_state on soft limit reclaim (Waiman Long) [1873759] - [mm] mm, vmscan: do not special-case slab reclaim when watermarks are boosted (Waiman Long) [1873759] - [mm] mm/vmscan.c: add checks for incorrect handling of current->reclaim_state (Waiman Long) [1873759] - [mm] mm/vmscan.c: calculate reclaimed slab caches in all reclaim paths (Waiman Long) [1873759] - [mm] mm/vmscan.c: add a new member reclaim_state in struct shrink_control (Waiman Long) [1873759] - [mm] mm: vmscan: remove double slab pressure by inc'ing sc->nr_scanned (Waiman Long) [1873759] - [mm] mm: limit boost_watermark on small zones (Waiman Long) [1873759] - [mm] mm: do not boost watermarks to avoid fragmentation for the DISCONTIG memory model (Waiman Long) [1873759] - [mm] mm, page_alloc: fix a division by zero error when boosting watermarks v2 (Waiman Long) [1873759] - [mm] mm, page_alloc: do not wake kswapd with zone lock held (Waiman Long) [1873759] - [mm] mm/page_alloc.c: drop uneeded __meminit and __meminitdata (Waiman Long) [1873759] - [mm] mm/page_alloc.c: fix never set ALLOC_NOFRAGMENT flag (Waiman Long) [1873759] - [mm] mm/page_alloc.c: avoid potential NULL pointer dereference (Waiman Long) [1873759] - [mm] mm/vmscan.c: don't disable irq again when count pgrefill for memcg (Waiman Long) [1873759] - [mm] mm/vmscan: drop may_writepage and classzone_idx from direct reclaim begin template (Waiman Long) [1873759] - [mm] mm/vmscan: add tracepoints for node reclaim (Waiman Long) [1873759] - [mm] mm: generalize putback scan functions (Waiman Long) [1873759] - [mm] mm: remove pages_to_free argument of move_active_pages_to_lru() (Waiman Long) [1873759] - [mm] mm/workingset: remove unused @mapping argument in workingset_eviction() (Waiman Long) [1873759] - [mm] Revert "mm: slowly shrink slabs with a relatively small number of objects" (Waiman Long) [1873759] - [mm] mm: reclaim small amounts of memory when an external fragmentation event occurs (Waiman Long) [1873759] - [mm] mm: use alloc_flags to record if kswapd can wake (Waiman Long) [1873759] - [mm] mm: move zone watermark accesses behind an accessor (Waiman Long) [1873759] - [mm] mm, page_alloc: spread allocations across zones before introducing fragmentation (Waiman Long) [1873759] - [mm] mm: Convert delete_from_swap_cache to XArray (Waiman Long) [1873759] - [fs] mm: zero-seek shrinkers (Waiman Long) [1873759] - [mm] mm/vmscan.c: fix int overflow in callers of do_shrink_slab() (Waiman Long) [1873759] - [mm] mm: slowly shrink slabs with a relatively small number of objects (Waiman Long) [1873759] - [mm] mm: fix page_freeze_refs and page_unfreeze_refs in comments (Waiman Long) [1873759] - [mm] mm: check shrinker is memcg-aware in register_shrinker_prepared() (Waiman Long) [1873759] - [mm] mm: use special value SHRINKER_REGISTERING instead of list_empty() check (Waiman Long) [1873759] - [mm] mm/vmscan.c: move check for SHRINKER_NUMA_AWARE to do_shrink_slab() (Waiman Long) [1873759] - [mm] mm/vmscan.c: condense scan_control (Waiman Long) [1873759] - [arch] asm-generic/tlb: add missing CONFIG symbol (Waiman Long) [1873759] - [include] asm-gemeric/tlb: remove stray function declarations (Waiman Long) [1873759] - [x86] x86/ldt: Remove unused variable in map_ldt_struct() (Waiman Long) [1873759] - [x86] x86/ldt: Unmap PTEs for the slot before freeing LDT pages (Waiman Long) [1873759] - [x86] x86/mm/tlb: Add freed_tables argument to flush_tlb_mm_range (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove tlb_table_flush() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove tlb_flush_mmu_free() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove CONFIG_HAVE_GENERIC_MMU_GATHER (Waiman Long) [1873759] - [mm] asm-generic/tlb: Remove arch_tlb*_mmu() (Waiman Long) [1873759] - [s390] s390/tlb: Convert to generic mmu_gather (Waiman Long) [1873759] - [mm] asm-generic/tlb: Introduce CONFIG_HAVE_MMU_GATHER_NO_GATHER=y (Waiman Long) [1873759] - [include] asm-generic/tlb, ia64: Conditionally provide tlb_migrate_finish() (Waiman Long) [1873759] - [include] asm-generic/tlb: Provide generic tlb_flush() based on flush_tlb_mm() (Waiman Long) [1873759] - [arm64] asm-generic/tlb, arch: Provide generic tlb_flush() based on flush_tlb_range() (Waiman Long) [1873759] - [mm] asm-generic/tlb, arch: Provide CONFIG_HAVE_MMU_GATHER_PAGE_SIZE (Waiman Long) [1873759] - [include] asm-generic/tlb: Provide a comment (Waiman Long) [1873759] - [mm] mm/memory: Move mmu_gather and TLB invalidation code into its own file (Waiman Long) [1873759] - [x86] x86/mm: Page size aware flush_tlb_mm_range() (Waiman Long) [1873759] - [x86] x86/ldt: Split out sanity check in map_ldt_struct() (Waiman Long) [1873759] - [mm] asm-generic/tlb: Track which levels of the page tables have been cleared (Waiman Long) [1873759] - [include] asm-generic/tlb: Track freeing of page-table directories in struct mmu_gather (Waiman Long) [1873759] - [mm] mm/cow: don't bother write protecting already write-protected pages (Waiman Long) [1873759] - [powerpc] mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush (Diego Domingos) [1805031] - [powerpc] powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case (Diego Domingos) [1805031] - [fs] cifs: smb1: Try failing back to SetFileInfo if SetPathInfo fails (Leif Sahlberg) [1857038]- [scsi] scsi: libfc: Fix passing zero to 'PTR_ERR' warning (Chris Leech) [1849542] - [scsi] scsi: libfc: Fix for double free() (Chris Leech) [1849542] - [scsi] scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases (Chris Leech) [1849542] - [scsi] scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() (Chris Leech) [1849542] - [scsi] scsi: fcoe: Use eth_zero_addr() to clear mac address (Chris Leech) [1849542] - [scsi] scsi: libfc: Provide missing and repair existing function documentation (Chris Leech) [1849542] - [scsi] scsi: libfc: Fix a couple of misdocumented function parameters (Chris Leech) [1849542] - [scsi] scsi: libfc: Repair function parameter documentation (Chris Leech) [1849542] - [scsi] scsi: fcoe: Correct some kernel-doc issues (Chris Leech) [1849542] - [scsi] scsi: fcoe: Fix a myriad of documentation issues (Chris Leech) [1849542] - [scsi] scsi: fcoe: Fix various kernel-doc infringements (Chris Leech) [1849542] - [scsi] scsi: libfc: trivial: Fix spelling mistake of 'discovery' (Chris Leech) [1849542] - [scsi] scsi: libfc: Supply some missing kerneldoc struct/function attributes/params (Chris Leech) [1849542] - [scsi] scsi: libfc: fc_disc: Fix-up some incorrectly referenced function parameters (Chris Leech) [1849542] - [scsi] scsi: libfc: Skip additional kref updating work event (Chris Leech) [1849542] - [scsi] scsi: libfc: Handling of extra kref (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove unneeded semicolon in fcoe.c (Chris Leech) [1849542] - [scsi] scsi: libfc: rport state move to PLOGI if all PRLI retry exhausted (Chris Leech) [1849542] - [scsi] scsi: libfc: If PRLI rejected, move rport to PLOGI state (Chris Leech) [1849542] - [scsi] scsi: libfc: free response frame from GPN_ID (Chris Leech) [1849542] - [scsi] scsi: fcoe: fix null-ptr-deref Read in fc_release_transport (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove redundant call to skb_transport_header (Chris Leech) [1849542] - [scsi] scsi: fcoe: pass in fcoe_rport structure instead of fc_rport_priv (Chris Leech) [1849542] - [scsi] scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure (Chris Leech) [1849542] - [scsi] scsi: libfc: Whitespace cleanup in libfc.h (Chris Leech) [1849542] - [scsi] scsi: fcoe: fix a typo (Chris Leech) [1849542] - [scsi] scsi: libfc: fix null pointer dereference on a null lport (Chris Leech) [1849542] - [scsi] scsi: libfcoe: switch to SPDX tags (Chris Leech) [1849542] - [scsi] scsi: libfc: switch to SPDX tags (Chris Leech) [1849542] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove unneeded fcoe_ctlr_destroy_store export (Chris Leech) [1849542] - [scsi] scsi: fcoe: convert to use BUS_ATTR_WO (Chris Leech) [1849542] - [scsi] scsi: libfc: free skb when receiving invalid flogi resp (Chris Leech) [1849542] - [scsi] scsi: fcoe: remove set but not used variable 'port' (Chris Leech) [1849542] - [scsi] scsi: libfc: fc_rport: Mark expected switch fall-through (Chris Leech) [1849542] - [scsi] scsi: libfc: Remove set but not used variable 'disc' (Chris Leech) [1849542] - [scsi] scsi: libfc: remove set but not used variable 'rpriv' (Chris Leech) [1849542] - [scsi] scsi: libfc: remove unnecessary condition check (Chris Leech) [1849542] - [scsi] scsi: fcoe: hold disc_mutex when traversing rport lists (Chris Leech) [1849542] - [net] netfilter: nftables: allow re-computing sctp CRC-32C in 'payload' statements (Davide Caratti) [1741052] - [fs] nfsd4: fix NULL dereference in nfsd/clients display code (Scott Mayhew) [1872311] - [fs] nfsd: Fix old-style function definition (Scott Mayhew) [1872311] - [fs] nfsd: clients don't need to break their own delegations (Scott Mayhew) [1872311] - [kernel] kthread: save thread function (Scott Mayhew) [1872311] - [fs] locks: Add trace_leases_conflict (Scott Mayhew) [1872311] - [fs] SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion") (Scott Mayhew) [1872311] - [fs] NFS: Fix interrupted slots by sending a solo SEQUENCE operation (Scott Mayhew) [1872311] - [net] SUNRPC: Add missing definition of ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE (Scott Mayhew) [1872311] - [fs] NFSv4 fix CLOSE not waiting for direct IO compeletion (Scott Mayhew) [1872311] - [fs] nfs: Fix memory leak of export_path (Scott Mayhew) [1872311] - [net] sunrpc: fixed rollback in rpc_gssd_dummy_populate() (Scott Mayhew) [1872311] - [net] xprtrdma: Clean up disconnect (Scott Mayhew) [1872311] - [fs] nfsd: apply umask on fs without ACL support (Scott Mayhew) [1872311] - [fs] NFS: Fix direct WRITE throughput regression (Scott Mayhew) [1872311] - [trace] SUNRPC: rpc_xprt lifetime events should record xprt->state (Scott Mayhew) [1872311] - [fs] nfs: set invalid blocks after NFSv4 writes (Scott Mayhew) [1872311] - [fs] NFS: remove redundant initialization of variable result (Scott Mayhew) [1872311] - [fs] NFS: Add a tracepoint in nfs_set_pgio_error() (Scott Mayhew) [1872311] - [fs] NFS: Trace short NFS READs (Scott Mayhew) [1872311] - [fs] NFS: nfs_xdr_status should record the procedure name (Scott Mayhew) [1872311] - [net] SUNRPC: Set SOFTCONN when destroying GSS contexts (Scott Mayhew) [1872311] - [net] SUNRPC: rpc_call_null_helper() should set RPC_TASK_SOFT (Scott Mayhew) [1872311] - [net] SUNRPC: rpc_call_null_helper() already sets RPC_TASK_NULLCREDS (Scott Mayhew) [1872311] - [net] SUNRPC: trace RPC client lifetime events (Scott Mayhew) [1872311] - [net] SUNRPC: Trace transport lifetime events (Scott Mayhew) [1872311] - [net] SUNRPC: Split the xdr_buf event class (Scott Mayhew) [1872311] - [net] SUNRPC: Add tracepoint to rpc_call_rpcerror() (Scott Mayhew) [1872311] - [trace] SUNRPC: Update the RPC_SHOW_SOCKET() macro (Scott Mayhew) [1872311] - [trace] SUNRPC: Update the rpc_show_task_flags() macro (Scott Mayhew) [1872311] - [net] SUNRPC: Trace GSS context lifetimes (Scott Mayhew) [1872311] - [net] SUNRPC: receive buffer size estimation values almost never change (Scott Mayhew) [1872311] - [net] sunrpc: use kmemdup_nul() in gssp_stringify() (Scott Mayhew) [1872311] - [fs] nfsd: safer handling of corrupted c_type (Scott Mayhew) [1872311] - [fs] mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK instead (Scott Mayhew) [1872311] - [mm] mm/writeback: replace PF_LESS_THROTTLE with PF_LOCAL_THROTTLE (Scott Mayhew) [1872311] - [net] SUNRPC: Remove unreachable error condition in rpcb_getport_async() (Scott Mayhew) [1872311] - [fs] nfsd: Fix svc_xprt refcnt leak when setup callback client failed (Scott Mayhew) [1872311] - [net] sunrpc: check that domain table is empty at module unload (Scott Mayhew) [1872311] - [fs] NFS: remove duplicate headers (Scott Mayhew) [1872311] - [fs] NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION (Scott Mayhew) [1872311] - [fs] NFS: Use the correct style for SPDX License Identifier (Scott Mayhew) [1872311] - [net] net: sunrpc: Fix off-by-one issues in 'rpc_ntop6' (Scott Mayhew) [1872311] - [fs] NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup (Scott Mayhew) [1872311] - [fs] NFSD: Fix improperly-formatted Doxygen comments (Scott Mayhew) [1872311] - [fs] NFSD: Squash an annoying compiler warning (Scott Mayhew) [1872311] - [net] SUNRPC: Clean up request deferral tracepoints (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints for monitoring NFSD callbacks (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints to the NFSD state management code (Scott Mayhew) [1872311] - [fs] NFSD: Add tracepoints to NFSD's duplicate reply cache (Scott Mayhew) [1872311] - [trace] SUNRPC: svc_show_status() macro should have enum definitions (Scott Mayhew) [1872311] - [net] SUNRPC: Restructure svc_udp_recvfrom() (Scott Mayhew) [1872311] - [net] SUNRPC: Refactor svc_recvfrom() (Scott Mayhew) [1872311] - [net] SUNRPC: Clean up svc_release_skb() functions (Scott Mayhew) [1872311] - [net] SUNRPC: Refactor recvfrom path dealing with incomplete TCP receives (Scott Mayhew) [1872311] - [net] SUNRPC: Replace dprintk() call sites in TCP receive path (Scott Mayhew) [1872311] - [net] SUNRPC: Restructure svc_tcp_recv_record() (Scott Mayhew) [1872311] - [net] SUNRPC: Rename svc_sock::sk_reclen (Scott Mayhew) [1872311] - [net] SUNRPC: Trace server-side rpcbind registration events (Scott Mayhew) [1872311] - [net] SUNRPC: Replace dprintk call sites in TCP state change callouts (Scott Mayhew) [1872311] - [net] SUNRPC: Add more svcsock tracepoints (Scott Mayhew) [1872311] - [net] SUNRPC: Remove "#include " (Scott Mayhew) [1872311] - [net] SUNRPC: Trace a few more generic svc_xprt events (Scott Mayhew) [1872311] - [net] SUNRPC: Tracepoint to record errors in svc_xpo_create() (Scott Mayhew) [1872311] - [trace] SUNRPC: Remove kernel memory address from svc_xprt tracepoints (Scott Mayhew) [1872311] - [net] svcrdma: Add tracepoints to report ->xpo_accept failures (Scott Mayhew) [1872311] - [net] svcrdma: Displayed remote IP address should match stored address (Scott Mayhew) [1872311] - [include] svcrdma: Remove the SVCRDMA_DEBUG macro (Scott Mayhew) [1872311] - [net] svcrdma: Rename tracepoints that record header decoding errors (Scott Mayhew) [1872311] - [net] svcrdma: Remove backchannel dprintk call sites (Scott Mayhew) [1872311] - [net] SUNRPC: Move xpt_mutex into socket xpo_sendto methods (Scott Mayhew) [1872311] - [net] sunrpc: add missing newline when printing parameter 'pool_mode' by sysfs (Scott Mayhew) [1872311] - [net] sunrpc: Remove unused function ip_map_update (Scott Mayhew) [1872311] - [fs] nfsd: handle repeated BIND_CONN_TO_SESSION (Scott Mayhew) [1872311] - [net] ip_tunnel_core: Fix build for archs without _HAVE_ARCH_IPV6_CSUM (Aaron Conole) [1849736] - [tools] selftests: pmtu.sh: Add tests for UDP tunnels handled by Open vSwitch (Aaron Conole) [1849736] - [tools] selftests: pmtu.sh: Add tests for bridged UDP tunnels (Aaron Conole) [1849736] - [net] geneve: Support for PMTU discovery on directly bridged links (Aaron Conole) [1849736] - [net] vxlan: Support for PMTU discovery on directly bridged links (Aaron Conole) [1849736] - [net] tunnels: PMTU discovery support for directly bridged IP packets (Aaron Conole) [1849736] - [net] ipv4: route: Ignore output interface in FIB lookup for PMTU route (Aaron Conole) [1849736] - [infiniband] RDMA/core: Free DIM memory in error unwind (Kamal Heib) [1857602] - [infiniband] RDMA/core: Stop DIM before destroying CQ (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Add min length checks to user structure copies (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Protect access to remote_sidr_table (Kamal Heib) [1857602] - [infiniband] RDMA/core: Fix race in rdma_alloc_commit_uobject() (Kamal Heib) [1857602] - [net] xprtrdma: fix incorrect header size calculations (Kamal Heib) [1857602] - [net] xprtrdma: Fix handling of connect errors (Kamal Heib) [1857602] - [net] xprtrdma: Fix return code from rpcrdma_xprt_connect() (Kamal Heib) [1857602] - [net] xprtrdma: Fix recursion into rpcrdma_xprt_disconnect() (Kamal Heib) [1857602] - [net] xprtrdma: Fix double-free in rpcrdma_ep_create() (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Fix reporting vendor_part_id (Kamal Heib) [1857602] - [infiniband] IB/sa: Resolv use-after-free in ib_nl_make_request() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add explicit cast OPA_MTU_8192 to 'enum ib_mtu' (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add atomic triggered sleep/wakeup (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Correct -EBUSY handling in tx code (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Restore kfree in dummy_netdev cleanup (Kamal Heib) [1857602] - [infiniband] IB/mad: Fix use after free when destroying MAD agent (Kamal Heib) [1857602] - [infiniband] RDMA/counter: Query a counter before release (Kamal Heib) [1857602] - [net] xprtrdma: Fix handling of RDMA_ERROR replies (Kamal Heib) [1857602] - [net] xprtrdma: Clean up synopsis of rpcrdma_flush_disconnect() (Kamal Heib) [1857602] - [net] xprtrdma: Use re_connect_status safely in rpcrdma_xprt_connect() (Kamal Heib) [1857602] - [net] xprtrdma: Prevent dereferencing r_xprt->rx_ep after it is freed (Kamal Heib) [1857602] - [infiniband] RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads() (Kamal Heib) [1857602] - [infiniband] RDMA/core: Check that type_attrs is not NULL prior access (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Protect bind_list and listen_list while finding matching cm id (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Set maximum pkeys device attribute (Kamal Heib) [1857602] - [infiniband] RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq (Kamal Heib) [1857602] - [infiniband] RDMA/core: Annotate CMA unlock helper routine (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl() (Kamal Heib) [1857602] - [infiniband] RDMA/hfi1: Fix trivial mis-spelling of 'descriptor' (Kamal Heib) [1857602] - [net] xprtrdma: Make xprt_rdma_slot_table_entries static (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Spurious WARNING triggered in cm_destroy_id() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Use free_netdev() in hfi1_netdev_free() (Kamal Heib) [1857602] - [infiniband] RDMA/core: Move and rename trace_cm_id_create() (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Fix hfi1_netdev_rx_init() error handling (Kamal Heib) [1857602] - [infiniband] RDMA: Remove 'max_map_per_fmr' (Kamal Heib) [1857602] - [infiniband] RDMA: Remove 'max_fmr' (Kamal Heib) [1857602] - [net] RDMA/rds: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/core: Remove FMR device ops (Kamal Heib) [1857602] - [infiniband] RDMA/rdmavt: Remove FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/mthca: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/mlx4: Remove FMR support for memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/i40iw: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/bnxt_re: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/mlx5: Remove FMR leftovers (Kamal Heib) [1857602] - [infiniband] RDMA/core: Remove FMR pool API (Kamal Heib) [1857602] - [infiniband] RDMA/srp: Remove support for FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/iser: Remove support for FMR memory registration (Kamal Heib) [1857602] - [infiniband] RDMA/core: Fix several reference count leaks (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Fix spelling mistake "enought" -> "enough" (Kamal Heib) [1857602] - [rdma] RDMA/core: Use offsetofend() instead of open coding (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Increase max_send_sge (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Reduce max_recv_sge to 1 (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Make debug output more detailed (Kamal Heib) [1857602] - [infiniband] RDMA/srp: Make the channel count configurable per target (Kamal Heib) [1857602] - [infiniband] hfi1: get rid of pointless access_ok() (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Provide ECE reject reason (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Connect ECE to rdma_accept (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Send and receive ECE parameter over the wire (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Deliver ECE parameters through UCMA events (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Extend ucma_connect to receive ECE parameters (Kamal Heib) [1857602] - [rdma] RDMA/cm: Add Enhanced Connection Establishment (ECE) bits (Kamal Heib) [1857602] - [infiniband] RDMA/core: Use sizeof_field() helper (Kamal Heib) [1857602] - [infiniband] RDMA/ipoib: Remove can_sleep parameter from iboib_mcast_alloc (Kamal Heib) [1857602] - [infiniband] IB/cma: Fix ports memory leak in cma_configfs (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy QP commands over ioctl (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy WQ commands over ioctl (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Introduce create/destroy SRQ commands over ioctl (Kamal Heib) [1857602] - [rdma] IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Extend CQ to get its own asynchronous event FD (Kamal Heib) [1857602] - [infiniband] IB/uverbs: Refactor related objects to use their own asynchronous event FD (Kamal Heib) [1857602] - [infiniband] RDMA/core: Allow the ioctl layer to abort a fully created uobject (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Expose UAR object and its alloc/destroy commands (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Fix a NULL vs IS_ERR() check (Kamal Heib) [1857602] - [infiniband] IB/mlx5: Introduce UAPIs to manage packet pacing (Kamal Heib) [1857602] - [netdrv] net/mlx5: Expose raw packet pacing APIs (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Enable the transmit side of the datagram ipoib netdev (Kamal Heib) [1857602] - [infiniband] IB/ipoib: Add capability to switch between datagram and connected mode (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add packet histogram trace event (Kamal Heib) [1857602] - [infiniband] IB/{hfi1, ipoib, rdma}: Broadcast ping sent packets which exceeded mtu size (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Activate the dummy netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add rx functions for dummy netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add interrupt handler functions for accelerated ipoib (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add functions to receive accelerated ipoib packets (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Rename num_vnic_contexts as num_netdev_contexts (Kamal Heib) [1857602] - [infiniband] IB/ipoib: Increase ipoib Datagram mode MTU's upper limit (Kamal Heib) [1857602] - [infiniband] IB/hfi1: RSM rules for AIP (Kamal Heib) [1857602] - [infiniband] IB/{rdmavt, hfi1}: Implement creation of accelerated UD QPs (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Remove module parameter for KDETH qpns (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add the transmit side of a datagram ipoib RDMA netdev (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add functions to transmit datagram ipoib packets (Kamal Heib) [1857602] - [infiniband] IB/hfi1: Add accelerated IP capability bit (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Report host information to the device (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Fix setting of wrong bit in get/set_feature commands (Kamal Heib) [1857602] - [infiniband] RDMA/siw: Replace one-element array and use struct_size() helper (Kamal Heib) [1857602] - [net] svcrdma: Fix backchannel return code (Kamal Heib) [1857602] - [net] svcrdma: trace undersized Write chunks (Kamal Heib) [1857602] - [net] svcrdma: Trace page overruns when constructing RDMA Reads (Kamal Heib) [1857602] - [net] svcrdma: Clean up handling of get_rw_ctx errors (Kamal Heib) [1857602] - [net] svcrdma: Clean up the tracing for rw_ctx_init errors (Kamal Heib) [1857602] - [infiniband] RDMA/srpt: Add a newline when printing parameter 'srpt_service_guid' by sysfs (Kamal Heib) [1857602] - [infiniband] RDMA/core: Consolidate ib_create_srq flows (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Fix create WQ to use the given user handle (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Cleanup wq/srq context usage from uverbs layer (Kamal Heib) [1857602] - [rdma] IB/rdmavt: Replace zero-length array with flexible-array (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Increment the refcount inside cm_find_listen() (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove needless cm_id variable (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove the cm_free_id() wrapper function (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Make find_remote_id() return a cm_id_private (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Add a note explaining how the timewait is eventually freed (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Pass the cm_id_private into cm_cleanup_timewait (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Pull duplicated code into cm_queue_work_unlock() (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove unused store to ret in cm_rej_handler (Kamal Heib) [1857602] - [infiniband] RDMA/cm: Remove return code from add_cm_id_to_port_list (Kamal Heib) [1857602] - [infiniband] RDMA/addr: Mark addr_resolve as might_sleep() (Kamal Heib) [1857602] - [infiniband] RDMA/ucma: Return stable IB device index as identifier (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Initialize the flow label of CM's route path record (Kamal Heib) [1857602] - [infiniband] RDMA/core: Consider flow label when building skb (Kamal Heib) [1857602] - [rdma] RDMA/core: Add hash functions to calculate RoCEv2 flowlabel and UDP source port (Kamal Heib) [1857602] - [infiniband] RDMA: Allow ib_client's to fail when add() is called (Kamal Heib) [1857602] - [infiniband] RDMA/mad: Remove snoop interface (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Count admin commands errors (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Count mmap failures (Kamal Heib) [1857602] - [infiniband] RDMA/efa: Report create CQ error counter (Kamal Heib) [1857602] - [infiniband] RDMA/core: Get xmit slave for LAG (Kamal Heib) [1857602] - [infiniband] RDMA/core: Add LAG functionality (Kamal Heib) [1857602] - [infiniband] RDMA: Group create AH arguments in struct (Kamal Heib) [1857602] - [infiniband] RDMA/rw: use DIV_ROUND_UP to calculate nr_ops (Kamal Heib) [1857602] - [infiniband] RDMA/cma: Limit the scope of rdma_is_consumer_reject function (Kamal Heib) [1857602] - [infiniband] IB: Fix some documentation warnings (Kamal Heib) [1857602] - [infiniband] RDMA: Remove a few extra calls to ib_get_client_data() (Kamal Heib) [1857602] - [infiniband] RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated (Kamal Heib) [1857602] - [infiniband] RDMA/rxe: Set default vendor ID (Kamal Heib) [1857602] - [netdrv] bonding: Use fallthrough pseudo-keyword (Jarod Wilson) [1860495] - [netdrv] bonding: fix active-backup failover for current ARP slave (Jarod Wilson) [1860495] - [netdrv] bonding: fix a potential double-unregister (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_alb: Describe alb_handle_addr_collision_on_attach()'s 'bond' and 'addr' params (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_main: Document 'proto' and rename 'new_active' parameters (Jarod Wilson) [1860495] - [netdrv] net: bonding: bond_3ad: Fix a bunch of kerneldoc parameter issues (Jarod Wilson) [1860495] - [netdrv] bonding: show saner speed for broadcast mode (Jarod Wilson) [1868265 1860495] - [netdrv] bonding: check return value of register_netdevice() in bond_newlink() (Jarod Wilson) [1860495] - [netdrv] bonding: check error value of register_netdevice() immediately (Jarod Wilson) [1860495] - [netdrv] bonding: don't need RTNL for ipsec helpers (Jarod Wilson) [1860495] - [netdrv] bonding: deal with xfrm state in all modes and add more error-checking (Jarod Wilson) [1860495] - [netdrv] bonding: allow xfrm offload setup post-module-load (Jarod Wilson) [1860495] - [netdrv] bonding: Remove extraneous parentheses in bond_setup (Jarod Wilson) [1860495] - [netdrv] bonding/xfrm: use real_dev instead of slave_dev (Jarod Wilson) [1860495] - [netdrv] bonding: support hardware encryption offload to slaves (Jarod Wilson) [1860495] - [netdrv] mlx5: become aware of when running as a bonding slave (Jarod Wilson) [1860495] - [netdrv] ixgbe_ipsec: become aware of when running as a bonding slave (Jarod Wilson) [1860495] - [net] xfrm: bail early on slave pass over skb (Jarod Wilson) [1860495] - [netdrv] bonding: Fix reference count leak in bond_sysfs_slave_add (Jarod Wilson) [1860495] - [netdrv] bonding: propagate transmit status (Jarod Wilson) [1860495] - [netdrv] bonding: remove useless stats_lock_key (Jarod Wilson) [1860495] - [netdrv] bonding: Implement ndo_get_xmit_slave (Jarod Wilson) [1860495] - [netdrv] bonding: Add array of all slaves (Jarod Wilson) [1860495] - [netdrv] bonding: Add function to get the xmit slave in active-backup mode (Jarod Wilson) [1860495] - [netdrv] bonding: Add helper function to get the xmit slave in rr mode (Jarod Wilson) [1860495] - [netdrv] bonding: Add helper function to get the xmit slave based on hash (Jarod Wilson) [1860495] - [netdrv] bonding/alb: Add helper functions to get the xmit slave (Jarod Wilson) [1860495] - [netdrv] bonding: Rename slave_arr to usable_slaves (Jarod Wilson) [1860495] - [netdrv] bonding: Export skip slave logic to function (Jarod Wilson) [1860495] - [netdrv] bonding: Remove inclusion of vermagic header (Jarod Wilson) [1860495] - [netdrv] net/bond: Delete driver and module versions (Jarod Wilson) [1860495]- [mm] powerpc/book3s64/radix: Fix boot failure with large amount of guest memory (Steve Best) [1854543] - [powerpc] powerpc/book3s64/radix: Add kernel command line option to disable radix GTSE (Steve Best) [1854543] - [powerpc] powerpc/prom: Enable Radix GTSE in cpu pa-features (Steve Best) [1854543] - [powerpc] powerpc/mm/book3s64/radix: Off-load TLB invalidations to host when !GTSE (Steve Best) [1854543] - [powerpc] powerpc/pseries: H_REGISTER_PROC_TBL should ask for GTSE only if enabled (Steve Best) [1854543] - [powerpc] powerpc/mm: Enable radix GTSE only if supported (Steve Best) [1854543] - [misc] powerpc/64s/radix: introduce options to disable use of the tlbie instruction (Steve Best) [1854543] - [mm] powerpc/64s: remove unnecessary translation cache flushes at boot (Steve Best) [1854543] - [mm] powerpc/64s/pseries: radix flush translations before MMU is enabled at boot (Steve Best) [1854543] - [mm] powerpc/64s: make mmu_partition_table_set_entry TLB flush optional (Steve Best) [1854543] - [mm] powerpc/64s/radix: tidy up TLB flushing code (Steve Best) [1854543] - [mm] powerpc/64s: remove register_process_table callback (Steve Best) [1854543] - [mm] powerpc/mm: Limit resize_hpt_for_hotplug() call to hash guests only (Steve Best) [1854543] - [powerpc] powerpc/mm/radix: Create separate mappings for hot-plugged memory (Steve Best) [1854543] - [mm] powerpc/mm/radix: Remove split_kernel_mapping() (Steve Best) [1854543] - [mm] powerpc/mm/radix: Free PUD table when freeing pagetable (Steve Best) [1854543] - [mm] powerpc/mm/radix: Fix PTE/PMD fragment count for early page table mappings (Steve Best) [1854543] - [mm] powerpc/64s: Fix page table fragment refcount race vs speculative references (Steve Best) [1854543] - [powerpc] powerpc/security: Fix link stack flush instruction (Gustavo Duarte) [1862103] - [powerpc] powerpc/pseries: add new branch prediction security bits for link stack (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: Allow for processors that flush the link stack using the special bcctr (Gustavo Duarte) [1862103] - [powerpc] powerpc/64s: Move branch cache flushing bcctr variant to ppc-ops.h (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: split branch cache flush toggle from code patching (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: make display of branch cache flush more consistent (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: change link stack flush state to the flush type enum (Gustavo Duarte) [1862103] - [powerpc] powerpc/security: re-name count cache flush to branch cache flush (Gustavo Duarte) [1862103] - [kernel] smp: Remove superfluous cond_func check in smp_call_function_many_cond() (Prarit Bhargava) [1882551] - [kernel] smp: Remove allocation mask from on_each_cpu_cond.*() (Prarit Bhargava) [1882551] - [kernel] smp: Add a smp_cond_func_t argument to smp_call_function_many() (Prarit Bhargava) [1882551] - [kernel] smp: Use smp_cond_func_t as type for the conditional function (Prarit Bhargava) [1882551] - [kernel] smp, cpumask: introduce on_each_cpu_cond_mask (Prarit Bhargava) [1882551] - [kernel] smp: use __cpumask_set_cpu in on_each_cpu_cond (Prarit Bhargava) [1882551] - [pci] PCI: Add support for root bus sizing (Myron Stowe) [1886036] - [drm] PCI: Use ioremap(), not phys_to_virt() for platform ROM (Myron Stowe) [1886036] - [pci] PCI: Avoid ASMedia XHCI USB PME# from D0 defect (Myron Stowe) [1886036] - [pci] PCI/ACPI: Move pcie_to_hpx3_typefrom stack to static data (Myron Stowe) [1886036] - [documentation] Documentation: PCI: Add background on Boot Interrupts (Myron Stowe) [1886036] - [pci] PCI: Add boot interrupt quirk mechanism for Xeon chipsets (Myron Stowe) [1886036] - [pci] PCI: Add PCIE_LNKCAP2_SLS2SPEED() macro (Myron Stowe) [1886036] - [pci] PCI: Use pci_speed_string() for all PCI/PCI-X/PCIe strings (Myron Stowe) [1886036] - [pci] PCI: Add pci_speed_string() (Myron Stowe) [1886036] - [pci] PCI: Add 32 GT/s decoding in some macros (Myron Stowe) [1886036] - [powerpc] powerpc/test_emulate_step: Move extern declaration to sstep.h (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/sstep: Introduce macros to retrieve Prefix instruction operands (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/test_emulate_step: Add negative tests for prefixed addi (Desnes Augusto Nunes do Rosario) [1854542] - [powerpc] powerpc/test_emulate_step: Enhancement to test negative scenarios (Desnes Augusto Nunes do Rosario) [1854542] - [netdrv] drivers/net/ibmvnic: Update VNIC protocol version reporting (Steve Best) [1882269] - [s390] s390/zcrypt: fix kmalloc 256k failure (Claudio Imbrenda) [1885963] - [x86] crypto: x86/aesni-gcm - fix crash on empty plaintext (Herbert Xu) [1882868] - [x86] crypto: x86/aesni-gcm - make 'struct aesni_gcm_tfm_s' static const (Herbert Xu) [1882868] - [x86] crypto: aesni - Add scatter/gather avx stubs, and use them in C (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce partial block macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce READ_PARTIAL_BLOCK macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Move ghash_mul to GCM_COMPLETE (Herbert Xu) [1882868] - [x86] crypto: aesni - Fill in new context data structures (Herbert Xu) [1882868] - [x86] crypto: aesni - Merge avx precompute functions (Herbert Xu) [1882868] - [x86] crypto: aesni - Split AAD hash calculation to separate macro (Herbert Xu) [1882868] - [x86] crypto: aesni - Add GCM_COMPLETE macro (Herbert Xu) [1882868] - [x86] crypto: aesni - support 256 byte keys in avx asm (Herbert Xu) [1882868] - [x86] crypto: aesni - Macro-ify func save/restore (Herbert Xu) [1882868] - [x86] crypto: aesni - Introduce gcm_context_data (Herbert Xu) [1882868] - [x86] crypto: aesni - Merge GCM_ENC_DEC (Herbert Xu) [1882868] - [pci] PCI: Add DMA alias quirk for PLX PEX NTB (Myron Stowe) [1884657] - [pci] PCI: Add nr_devfns parameter to pci_add_dma_alias() (Myron Stowe) [1884657] - [pci] PCI: Fix pci_add_dma_alias() bitmask size (Myron Stowe) [1884657] - [pci] PCI/IOV: Fix memory leak in pci_iov_add_virtfn() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 device IDs (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 MRPC GAS access permission check (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 flash information interface support (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add Gen4 system info register support (Myron Stowe) [1884657] - [pci] PCI/switchtec: Separate Gen3 register structures into unions (Myron Stowe) [1884657] - [pci] PCI/switchtec: Factor out Gen3 ioctl_flash_part_info() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add 'generation' variable (Myron Stowe) [1884657] - [pci] PCI/switchtec: Rename generation-specific constants (Myron Stowe) [1884657] - [pci] PCI/switchtec: Move check event ID from mask_event() to switchtec_event_isr() (Myron Stowe) [1884657] - [pci] PCI/switchtec: Remove redundant valid PFF number count (Myron Stowe) [1884657] - [pci] PCI/switchtec: Add support for Intercomm Notify and Upstream Error Containment (Myron Stowe) [1884657] - [pci] PCI/switchtec: Fix vep_vector_number ioread width (Myron Stowe) [1884657] - [pci] PCI/switchtec: Use dma_set_mask_and_coherent() (Myron Stowe) [1884657] - [pci] PCI: Allow adjust_bridge_window() to shrink resource if necessary (Myron Stowe) [1884657] - [pci] PCI: Set resource size directly in adjust_bridge_window() (Myron Stowe) [1884657] - [pci] PCI: Rename extend_bridge_window() to adjust_bridge_window() (Myron Stowe) [1884657] - [pci] PCI: Rename extend_bridge_window() parameter (Myron Stowe) [1884657] - [pci] PCI: Consider alignment of hot-added bridges when assigning resources (Myron Stowe) [1884657] - [pci] PCI: Remove local variable usage in pci_bus_distribute_available_resources() (Myron Stowe) [1884657] - [pci] PCI: Pass size + alignment to pci_bus_distribute_available_resources() (Myron Stowe) [1884657] - [pci] PCI: Rename variables (Myron Stowe) [1884657] - [pci] PCI: Remove unnecessary braces (Myron Stowe) [1884657] - [pci] PCI: Don't disable bridge BARs when assigning bus resources (Myron Stowe) [1884657] - [documentation] Documentation: PCI: Fix pci_alloc_irq_vectors() function name typo (Myron Stowe) [1884657] - [pci] PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers (Myron Stowe) [1884657] - [pci] PCI: Add generic quirk for increasing D3hot delay (Myron Stowe) [1884657] - [edac] x86/mce, EDAC/mce_amd: Print PPIN in machine check records (Prarit Bhargava) [1860381]- [netdrv] geneve: add transport ports in route lookup for geneve (Mark Gray) [1884481] {CVE-2020-25645} - [drm] PM: sleep: core: Rename DPM_FLAG_NEVER_SKIP (Ivan Vecera) [1867164] - [base] PM: sleep: core: Drop racy and redundant checks from device_prepare() (Ivan Vecera) [1867164] - [mm] mm/page_isolation: fix potential warning from user (Waiman Long) [1811009] - [mm] mm/hotplug: silence a lockdep splat with printk() (Waiman Long) [1811009] - [mm] mm/debug.c: always print flags in dump_page() (Waiman Long) [1811009] - [mm] mm/debug.c: PageAnon() is true for PageKsm() pages (Waiman Long) [1811009] - [mm] mm/debug.c: __dump_page() prints an extra line (Waiman Long) [1811009] - [mm] mm: fix some typos in mm directory (Waiman Long) [1811009] - [mm] mm, fault_around: do not take a reference to a locked page (Waiman Long) [1811009] - [mm] mm: remove the exporting of totalram_pages (Waiman Long) [1880090] - [mm] mm: remove managed_page_count_lock spinlock (Waiman Long) [1880090] - [mm] mm: convert totalram_pages and totalhigh_pages variables to atomic (Waiman Long) [1880090] - [mm] mm: convert zone->managed_pages to atomic variable (Waiman Long) [1880090] - [net] mm: reference totalram_pages and managed_pages once per function (Waiman Long) [1880090] - [mm] mm/page_alloc: Introduce free_area_init_core_hotplug (Waiman Long) [1880090] - [mm] mm/page_alloc: inline function to handle CONFIG_DEFERRED_STRUCT_PAGE_INIT (Waiman Long) [1880090] - [mm] mm: remove __paginginit (Waiman Long) [1880090] - [mm] mm: access zone->node via zone_to_nid() and zone_set_nid() (Waiman Long) [1880090] - [mm] mm, page_alloc: double zone's batchsize (Waiman Long) [1880090] - [powerpc] powerpc/pseries/cmm: fix managed page counts when migrating pages between zones (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: drain per-cpu pages again during memory offline (Chris von Recklinghausen) [1754739] - [mm] mm: move nr_deactivate accounting to shrink_active_list() (Chris von Recklinghausen) [1754739] - [mm] sh: fix build error in mm/init.c (Chris von Recklinghausen) [1754739] - [mm] mm/memremap: set caching mode for PCI P2PDMA memory to WC (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: add pgprot_t to mhp_params (Chris von Recklinghausen) [1754739] - [mm] powerpc/mm: thread pgprot_t through create_section_mapping() (Chris von Recklinghausen) [1754739] - [mm] x86/mm: thread pgprot_t through init_memory_mapping() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: rename mhp_restrictions to mhp_params (Chris von Recklinghausen) [1754739] - [include] mm/memory_hotplug: drop the flags field from struct mhp_restrictions (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: cleanup __add_pages() (Chris von Recklinghausen) [1754739] - [mm] mm, hotplug: fix page online with DEBUG_PAGEALLOC compiled but not enabled (Chris von Recklinghausen) [1754739] - [mm] arm64/mm: Enable memory hot remove (Chris von Recklinghausen) [1754739] - [firmware] arm/efi: EFI soft reservation to memblock (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: convert mm/dump.c to use walk_page_range() (Chris von Recklinghausen) [1754739] - [base] mm/memory_hotplug: drop valid_start/valid_end from test_pages_in_a_zone() (Chris von Recklinghausen) [1754739] - [base] mm/memory_hotplug: pass in nid to online_pages() (Chris von Recklinghausen) [1754739] - [mm] mm: remove "count" parameter from has_unmovable_pages() (Chris von Recklinghausen) [1754739] - [base] mm: remove the memory isolate notifier (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Disable instrumentation in the EFI runtime handling code (Chris von Recklinghausen) [1754739] - [x86] efi/x86: avoid KASAN false positives when accessing the 1: 1 mapping (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Limit EFI old memory map to SGI UV machines (Chris von Recklinghausen) [1754739] - [x86] efi/libstub/x86: Fix unused-variable warning (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Simplify mixed mode call wrapper (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Simplify 64-bit EFI firmware call wrapper (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Split SetVirtualAddresMap() wrappers into 32 and 64 bit versions (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Split off some old memmap handling into separate routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Re-disable RT services for 32-bit kernels running on 64-bit EFI (Chris von Recklinghausen) [1754739] - [x86] efi/libstub: Distinguish between native/mixed not 32/64 bit (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub: Extend native protocol definitions with mixed_mode aliases (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub: Use a helper to iterate over a EFI handle array (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Rename efi_is_native() to efi_is_mixed() (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Unify 32/64-bit functions (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Convert GOP structures to typedef and clean up some types (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Remove unused typedef (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Remove bogus packed attribute from GOP structures (Chris von Recklinghausen) [1754739] - [firmware] efi/libstub/random: Initialize pointer variables to zero for mixed mode (Chris von Recklinghausen) [1754739] - [firmware] efi: Fix efi_loaded_image_t::unload type (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Fix memory leak in __gop_query32/64() (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Return EFI_SUCCESS if a usable GOP was found (Chris von Recklinghausen) [1754739] - [firmware] efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs (Chris von Recklinghausen) [1754739] - [hv] mm/memory_hotplug.c: remove __online_page_set_limits() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: don't allow to online/offline memory blocks with holes (Chris von Recklinghausen) [1754739] - [mm] mm/page_isolation.c: convert SKIP_HWPOISON to MEMORY_OFFLINE (Chris von Recklinghausen) [1754739] - [mm] mm/page_alloc.c: don't set pages PageReserved() when offlining (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: remove __online_page_free() and __online_page_increment_counters() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: add a bounds check to __add_pages() (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Fix NMI vs ESPFIX (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Unwind the ESPFIX stack earlier on exception entry (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Move FIXUP_FRAME after pushing fs in SAVE_ALL (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Simplify common_exception (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Use ss segment where required (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Fix IRET exception (Chris von Recklinghausen) [1754739] - [x86] x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Repair 32-bit Xen PV (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Allow int3_emulate_push() (Chris von Recklinghausen) [1754739] - [x86] x86: Hide the int3_emulate_call/jmp functions from UML (Chris von Recklinghausen) [1754739] - [x86] ftrace/x86_64: Emulate call function while updating in breakpoint handler (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe/32: Provide consistent pt_regs (Chris von Recklinghausen) [1754739] - [x86] kprobes, x86/ptrace.h: Make regs_get_kernel_stack_nth() not fault on bad stack (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe, x86/ftrace: Add pt_regs frame annotations (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe, x86/kprobes: Fix frame pointer annotations (Chris von Recklinghausen) [1754739] - [x86] x86/stackframe: Move ENCODE_FRAME_POINTER to asm/frame.h (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Clean up return from interrupt preemption path (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Simulation mode (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Switch to balloon_page_alloc() (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Implement balloon compaction (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Convert loaned_pages to an atomic_long_t (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Rip out memory isolate notifier (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Use adjust_managed_page_count() insted of totalram_pages_* (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Drop page array (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Cleanup rc handling in cmm_init() (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Report errors when registering notifiers fails (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries/cmm: Implement release() function for sysfs device (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Push EFI_MEMMAP check into leaf routines (Chris von Recklinghausen) [1754739] - [mm] powerpc: Don't flush caches when adding memory (Chris von Recklinghausen) [1754739] - [firmware] efi/random: use arch-independent efi_call_proto() (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Don't evaluate exception stacks before setup (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Mark pages PG_offline in balloon_append() (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Drop __balloon_append() (Chris von Recklinghausen) [1754739] - [xen] xen/balloon: Set pages PageOffline() in balloon_add_region() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: prevent memory leak when reusing pgdat (Chris von Recklinghausen) [1754739] - [base] drivers/base/memory.c: don't store end_section_nr in memory blocks (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug: remove move_pfn_range() (Chris von Recklinghausen) [1754739] - [mm] mm: introduce compound_nr() (Chris von Recklinghausen) [1754739] - [x86] x86/asm: Make some functions local labels (Chris von Recklinghausen) [1754739] - [firmware] efi-stub: Fix get_efi_config_table on mixed-mode setups (Chris von Recklinghausen) [1754739] - [x86] efi/x86: move UV_SYSTAB handling into arch/x86 (Chris von Recklinghausen) [1754739] - [x86] efi: x86: move efi_is_table_address() into arch/x86 (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: remove unneeded return for void function (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Remove redundant CLACs in getuser/putuser error paths (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Remove ELF function annotation from copy_user_handle_tail() (Chris von Recklinghausen) [1754739] - [x86] x86/entry: Fix thunk function ELF sizes (Chris von Recklinghausen) [1754739] - [x86] x86/entry/64: Simplify idtentry a little (Chris von Recklinghausen) [1754739] - [mm] mm: vmscan: correct some vmscan counters for THP swapout (Chris von Recklinghausen) [1754739] - [mm] mm/gup: speed up check_and_migrate_cma_pages() on huge page (Chris von Recklinghausen) [1754739] - [x86] x86/ldt: Initialize the context lock for init_mm (Chris von Recklinghausen) [1754739] - [powerpc] powerpc/pseries: avoid blocking in irq when queuing hotplug events (Chris von Recklinghausen) [1754739] - [arm64] arm64/mm: don't initialize pgd_cache twice (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: fix recent_rotated history (Chris von Recklinghausen) [1754739] - [x86] efi/x86/Add missing error handling to old_memmap 1:1 mapping code (Chris von Recklinghausen) [1754739] - [mm] arm64/mm: Inhibit huge-vmap with ptdump (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: simplify shrink_inactive_list() (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: cleanup memory offline path (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: fix the wrong usage of N_HIGH_MEMORY (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: drop redundant hugepage_migration_supported check (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: unlock 1GB-hugetlb on x86_64 (Chris von Recklinghausen) [1754739] - [mm] mm: move recent_rotated pages calculation to shrink_inactive_list() (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Initialize PGD cache during mm initialization (Chris von Recklinghausen) [1754739] - [x86] x86/alternatives: Initialize temporary mm for patching (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Fix a crash with kmemleak_scan() (Chris von Recklinghausen) [1754739] - [x86] x86/irq: Fix outdated comments (Chris von Recklinghausen) [1754739] - [mm] mm/hotplug: treat CMA pages as unmovable (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remove stack overflow debug code (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remap the IRQ stack with guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Split the IRQ stack into its own pages (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Init hardirq_stack_ptr during CPU hotplug (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Handle irq stack allocation failure proper (Chris von Recklinghausen) [1754739] - [xen] x86/irq/32: Invoke irq_ctx_init() from init_IRQ() (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Rename irq_stack_ptr to hardirq_stack_ptr (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Rename hard/softirq_stack to hard/softirq_stack_ptr (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Make irq stack a character array (Chris von Recklinghausen) [1754739] - [x86] x86/irq/32: Define IRQ_STACK_SIZE (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Speedup in_exception_stack() (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Split debug IST stack (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Enable IST guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Disconnect IST index and stack order (Chris von Recklinghausen) [1754739] - [x86] x86/cpu: Remove orig_ist array (Chris von Recklinghausen) [1754739] - [x86] x86/cpu: Prepare TSS.IST setup for guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack/64: Use cpu_entry_area instead of orig_ist (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Use cpu entry area instead of orig_ist (Chris von Recklinghausen) [1754739] - [mm] x86/traps: Use cpu_entry_area instead of orig_ist (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Provide exception stack accessor (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Prepare for IST guard pages (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Add structs for exception stacks (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Cleanup setup functions (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Make IST index zero based (Chris von Recklinghausen) [1754739] - [x86] x86/exceptions: Remove unused stack defines on 32bit (Chris von Recklinghausen) [1754739] - [x86] x86/64: Remove stale CURRENT_MASK (Chris von Recklinghausen) [1754739] - [x86] x86/idt: Remove unused macro SISTG (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Sanitize the top/bottom confusion (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Remove a hardcoded irq_stack_union access (Chris von Recklinghausen) [1754739] - [x86] x86/dumpstack: Fix off-by-one errors in stack identification (Chris von Recklinghausen) [1754739] - [x86] x86/irq/64: Limit IST stack overflow check to #DB stack (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: Consolidate early page table allocation (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: don't call page table ctors for init_mm (Chris von Recklinghausen) [1754739] - [mm] arm64: mm: use appropriate ctors for page tables (Chris von Recklinghausen) [1754739] - [x86] x86/uaccess: Move copy_user_handle_tail() into asm (Chris von Recklinghausen) [1754739] - [mm] mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: fix notification in offline error path (Chris von Recklinghausen) [1754739] - [mm] mm/hotplug: fix an imbalance with DEBUG_PAGEALLOC (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: explicitly pass the head to isolate_huge_page (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: do not allocate duplicate stack variables in shrink_page_list() (Chris von Recklinghausen) [1754739] - [mm] mm: refactor swap-in logic out of shmem_getpage_gfp (Chris von Recklinghausen) [1754739] - [mm] mm/vmscan.c: remove 7th argument of isolate_lru_pages() (Chris von Recklinghausen) [1754739] - [mm] mm: remove extra drain pages on pcp list (Chris von Recklinghausen) [1754739] - [mm] mm/memory-hotplug: Allow memory resources to be children (Chris von Recklinghausen) [1754739] - [kernel] mm/resource: Move HMM pr_debug() deeper into resource code (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: fix off-by-one in is_pageblock_removable (Chris von Recklinghausen) [1754739] - [mm] x86/cpu_entry_area: Move percpu_setup_debug_store() to __init section (Chris von Recklinghausen) [1754739] - [mm] arm64: ptdump: Don't iterate kernel page tables using PTRS_PER_PXX (Chris von Recklinghausen) [1754739] - [firmware] efi: Use 32-bit alignment for efi_guid_t (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: __offline_pages fix wrong locking (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: test_pages_in_a_zone do not pass the end of zone (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: is_mem_section_removable do not pass the end of a zone (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: don't bail out in do_migrate_range() prematurely (Chris von Recklinghausen) [1754739] - [mm] arm64: dump: no need to check return value of debugfs_create functions (Chris von Recklinghausen) [1754739] - [x86] x86/asm/suspend: Drop ENTRY from local data (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: deobfuscate migration part of offlining (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: try to migrate full pfn range (Chris von Recklinghausen) [1754739] - [mm] mm, hotplug: move init_currently_empty_zone() under zone_span_lock protection (Chris von Recklinghausen) [1754739] - [mm] mm: only report isolation failures when offlining memory (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: be more verbose for memory offline failures (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: print reason for the offlining failure (Chris von Recklinghausen) [1754739] - [mm] mm, memory_hotplug: drop pointless block alignment checks from __offline_pages (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Don't unmap EFI boot services code/data regions for EFI_OLD_MEMMAP and EFI_MIXED_MODE (Chris von Recklinghausen) [1754739] - [x86] kprobes/x86: Blacklist non-attachable interrupt functions (Chris von Recklinghausen) [1754739] - [include] linkage: add generic GLOBAL() macro (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Move efi__boot_services() to arch/x86 (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Unmap EFI boot services code/data regions from efi_pgd (Chris von Recklinghausen) [1754739] - [mm] x86/mm/pageattr: Introduce helper function to unmap EFI boot services (Chris von Recklinghausen) [1754739] - [x86] x86/fpu: Use the correct exception table macro in the XSTATE_OP wrapper (Chris von Recklinghausen) [1754739] - [firmware] efi/arm/libstub: Pack FDT after populating it (Chris von Recklinghausen) [1754739] - [x86] x86/traps: Complete prototype declarations (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: clean up node_states_check_changes_offline() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: simplify node_states_check_changes_online (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: tidy up node_states_clear_node() (Chris von Recklinghausen) [1754739] - [mm] mm/memory_hotplug.c: spare unnecessary calls to node_set_state (Chris von Recklinghausen) [1754739] - [include] include/linux/linkage.h: align weak symbols (Chris von Recklinghausen) [1754739] - [mm] shmem: Convert shmem_add_to_page_cache to XArray (Chris von Recklinghausen) [1754739] - [mm] shmem: Convert shmem_radix_tree_replace to XArray (Chris von Recklinghausen) [1754739] - [mm] mm: Convert add_to_swap_cache to XArray (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Clear the CS high bits (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Set up temporary text mapping for 32bit system (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Switch to original page table after resumed (Chris von Recklinghausen) [1754739] - [x86] x86-32, hibernate: Enable CONFIG_ARCH_HIBERNATION_HEADER on 32bit system (Chris von Recklinghausen) [1754739] - [x86] x86, hibernate: Extract the common code of 64/32 bit system (Chris von Recklinghausen) [1754739] - [x86] x86-32/asm/power: Create stack frames in hibernate_asm_32.S (Chris von Recklinghausen) [1754739] - [x86] PM / hibernate: Check the success of generating md5 digest before hibernation (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Load fixmap GDT in efi_call_phys_epilog() before setting cr3 (Chris von Recklinghausen) [1754739] - [x86] x86/xen: Move pv irq related functions under CONFIG_XEN_PV umbrella (Chris von Recklinghausen) [1754739] - [x86] x86/extable: Introduce _ASM_EXTABLE_UA for uaccess fixups (Chris von Recklinghausen) [1754739] - [x86] x86/efi: Load fixmap GDT in efi_call_phys_epilog() (Chris von Recklinghausen) [1754739] - [tools] tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy' (Chris von Recklinghausen) [1754739] - [mm] x86/mm: Remove redundant check for kmem_cache_create() (Chris von Recklinghausen) [1754739] - [x86] x86/power/hibernate_64: Remove VLA usage (Chris von Recklinghausen) [1754739] - [firmware] efi: Deduplicate efi_open_volume() (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Merge 32-bit and 64-bit UGA draw protocol setup routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Align efi_uga_draw_protocol typedef names to convention (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Merge the setup_efi_pci32() and setup_efi_pci64() routines (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Prevent reentrant firmware calls in mixed mode (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add debug code to check entry/exit CR3 (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add PTI CR3 switches to NMI handler code (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Add PTI cr3 switch to non-NMI entry/exit points (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Handle Entry from Kernel-Mode on Entry-Stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Introduce SAVE_ALL_NMI and RESTORE_ALL_NMI (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Leave the kernel via trampoline stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Enter the kernel via trampoline stack (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Load task stack from x86_tss.sp1 in SYSENTER handler (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Split off return-to-kernel path (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Unshare NMI return path (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Put ESPFIX code into a macro (Chris von Recklinghausen) [1754739] - [x86] x86/entry/32: Rename TSS_sysenter_sp0 to TSS_entry2task_stack (Chris von Recklinghausen) [1754739] - [x86] efi/x86: Clean up the eboot code (Chris von Recklinghausen) [1754739] - [x86] x86/asm/64: Use 32-bit XOR to zero registers (Chris von Recklinghausen) [1754739] - [x86] Revert "x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static" (Frank Ramsay) [1833121] - [x86] Revert "x86/platform/uv: Unexport sn_coherency_id" (Frank Ramsay) [1833121] - [x86] Revert "x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c" (Frank Ramsay) [1833121] - [x86] x86/apic: Cleanup the include maze (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Fix missing checks of kcalloc() return values (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Replace kmalloc() and memset() with kalloc() calls (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the unused _uv_cpu_blade_processor_id() macro (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport uv_apicid_hibits (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove _uv_hub_info_check() (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Simplify uv_send_IPI_one() (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark uv_min_hub_revision_id static (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark is_uv_hubless() static (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the UV*_HUB_IS_SUPPORTED macros (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport symbols only used by x2apic_uv_x.c (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Unexport sn_coherency_id (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Remove the uv_partition_coherence_id() macro (Frank Ramsay) [1833121] - [x86] x86/platform/uv: Mark uv_bios_call() and uv_bios_call_irqsave() static (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Mark memblock related init code and data correctly (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Remove unnecessary #ifdef CONFIG_EFI (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Remove uv_bios_call_reentrant() (Frank Ramsay) [1833121] - [x86] x86/platform/UV: Use efi_enabled() instead of test_bit() (Frank Ramsay) [1833121] - [x86] x86/apic/uv: Remove code for unused distributed GRU mode (Frank Ramsay) [1833121]- [thermal] thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t (Prarit Bhargava) [1890657] - [net] sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels (Davide Caratti) [1889601] - [netdrv] ibmveth: Identify ingress large send packets (Gustavo Duarte) [1887038] - [netdrv] ibmveth: Switch order of ibmveth_helper calls (Gustavo Duarte) [1887038] - [sound] ALSA: redhat: add drivers/soundwire tree and regmap-sdw to the redhat/filter-modules.sh (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC - enable AMD Renoir support for DMIC (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC - enable the Intel's SoundWire driver (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix jack detection with Realtek codecs when in D3 (Jaroslav Kysela) [1869536] - [sound] ALSA: fireworks: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: use semicolons rather than commas to separate statements (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/i915 - fix list corruption with concurrent probes (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - The front Mic on a HP machine doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: hdspm: Fix typo arbitary (Jaroslav Kysela) [1869536] - [sound] ALSA: bebob: potential info leak in hwdep_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: endpoint.c: fix repeated word 'there' (Jaroslav Kysela) [1869536] - [sound] ALSA: portman2x4: fix repeated word 'if' (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: handle all SOF_IPC_EXT types (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Mark FE DAIs as nonatomic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add version_id to avoid rt714/rt715 confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715-sdw: probe with RT714 Device ID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1316: add missing component string (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1308: add extra check on init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: add ifdef CONFIG_OF around of_device_id (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Enable MI2S BCLK and LRCLK together (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: add codec prefix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Remove unused variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Remove ti, asi-format code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Set regcache when shutting down and waking device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Add shutdown capability via a GPIO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Remove duplicate code for I/V sense (Jaroslav Kysela) [1869536] - [sound] ALSA: ASOC: Intel: sof_sdw: restore playback functionality with max98373 amps (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: add support for new SoundWire hardware layout on TGL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: remove hard-coded codec_conf table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: remove ternary operator (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_max98090: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: hda_dsp_common: use static function in conditional block (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: mx27vis-aic32x4: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-mc13783: use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Pass full name to snd_ctl_notify (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715: Add power-up delay to fix dmic pop sound issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Enable the power of "MICBIAS" and "Vref2" for the DMIC clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: allow runtime pm at end of probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: add codec name prefix to ACPI machine description (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sysfs: add slave status and device number before probe (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: add enumerated Slave device to device list (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove an unnecessary NULL check (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: add data port test fail interrupt (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: enable test modes (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: enable Data Port test modes (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - set mic to auto detect on a HP AIO machine (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - Don't register a cb func if it is registered already (Jaroslav Kysela) [1869536] - [sound] ALSA: HDA: Early Forbid of runtime PM (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - remove kerneldoc for internal hdac_i915 function (Jaroslav Kysela) [1869536] - [sound] ALSA: ctl: Workaround for lockdep warning wrt card->ctl_files_rwlock (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Disable autosuspend for Lenovo ThinkStation P620 (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: Remove uninitialized_var() usage (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: arm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: add dpcm_create/remove_debugfs_state() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: move CONFIG_DEBUG_FS functions to top side (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: magician: convert to use i2c_new_client_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: Enable AC'97 bus support for PXA machines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: Select regmap from AC'97 machines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support TDM out and 8ch I2S out (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: kirkwood: fix external clock probe defer (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: keywest: convert to use i2c_new_client_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: Use sizeof_field() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: hdac_hdmi: Set ops to NULL on remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: More constifications (Jaroslav Kysela) [1869536] - [sound] ALSA: i2c: Constify snd_kcontrol_new items (Jaroslav Kysela) [1869536] - [sound] ALSA: ppc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1869536] - [sound] ALSA: vxpocket: Support PCM sync_stop (Jaroslav Kysela) [1869536] - [sound] ALSA: mips: Constify snd_device_ops definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: i2c: Constify snd_device_ops definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: Fix running status after receiving sysex (Jaroslav Kysela) [1869536] - [sound] ALSA: arm: More constification (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers (Jaroslav Kysela) [1869536] - [sound] ALSA: treewide: replace '---help---' in Kconfig files with 'help' (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix SPDX license for header file (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac: make SOF HDA codec driver probe deterministic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Refactor sample rate function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix the spacing and new lines (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Convert bit mask to GENMASK in header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix unbalanced calls to pm_runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add the TAS2110 class-D amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: add size checks for ext_bytes control .put() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: fix size checks for volatile ext_bytes control .get() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: fix size checks for ext_bytes control .get() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tlv320aic32x4: Enable fast charge (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tlv320aic32x4: Ensure a minimum delay before clock stabilization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt711: wait for the delayed work to finish when the system suspends (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix error handling with update_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix required DT properties in the code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Add missing bias level power states (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix calling reset in probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt700: wait for the delayed work to finish when the system suspends (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add the TAS2564 compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: add missing MODULE_LICENSE() for imx-common (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pm: Fix prepare callback behavior for OF usecase (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cs42l51: add additional ADC volume controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix the process being scheduled on core0 always (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - fix CONTROLLER_IN_GPU macro name (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - handle multiple i915 device instances (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - controller is in GPU on the DG1 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - add Intel DG1 PCI and HDMI ids (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO" (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add delay quirk for H570e USB headsets (Jaroslav Kysela) [1869536] - [sound] ALSA: compat_ioctl: avoid compat_alloc_user_space (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: fix spellint typo in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: fix iounmap in error handler (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use {u32|u16}p_replace_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: use u32p_replace_bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: get max rows and cols info from compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add support to block packing mode (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: clear BIT FIELDs before value set (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: Add generic bandwidth allocation algorithm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak4458: Add DSD support for ak4458 and ak4497 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-sc7180: Add MODULE_DEVICE_TABLE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Add support for tgl-h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv320aic32x4: do software reset before clock registration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv320aic32x4: fix missing aic32x4_disable_regulators() in error path (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Set MCLK input or output direction (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add fsl_sai_check_version function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add new added registers and new bit definition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe-clocks: add q6afe clock controller (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce verbosity of boot error logs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: fix range checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: remove several superfluous type-casts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: (cosmetic) remove redundant "ret" variable uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: control: update test for pm_runtime_get_sync() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: debug: update test for pm_runtime_get_sync() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add `src_hash` to `sof_ipc_fw_version` structure (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Add debug support for imx platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: disable size checks for bytes_ext controls if needed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_audmix: make clock and output src write only (Jaroslav Kysela) [1869536] - [sound] ALSA: remove calls to usb_pipe_type_check for control endpoints (Jaroslav Kysela) [1869536] - [sound] ALSA: hiface: move to use usb_control_msg_send() (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: move to use usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: 6fire: move to use usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: usx2y: move to use usb_control_msg_send() (Jaroslav Kysela) [1869536] - [sound] ALSA: USB: add usb_control_msg_send() and usb_control_msg_recv() (Jaroslav Kysela) [1869536] - [sound] ALSA: USB: move snd_usb_pipe_sanity_check into the USB core (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Fix the failure to flush DAC data before playback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Fix DC calibration on bypass boost mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: stm32: sai: add pm_runtime support (Jaroslav Kysela) [1869536] - [sound] ALSA: rockchip_i2s: fix a possible divide-by-zero bug in rockchip_i2s_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Use DMI oem string search for tgl_max98373_rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: s/master/primary (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: remove the HDA_DSP_CORE_MASK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: modify core_power_up/down op (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: rename cores_mask to host_managed_cores_mask (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: j721e-evm: Add support for j7200-cpb audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support machine driver with rt1015p (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe-dai: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add codec lpass clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: update q6afe_set_param to support global clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add lpass hw voting support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add global q6afe waitqueue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: prepare afe_apr_send_pkt to take response opcode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6routing: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6dsp: q6afe: add support to Codec DMA ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: dt-bindings: Add q6afe display_port dt binding (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015p: add codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: add parity error injection through debugfs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: export broadcast read/write capability for tests (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: realtek-soundwire: ignore initial PARITY errors (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: use quirk to filter out invalid parity errors (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: add first_interrupt_done status (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: filter-out unwanted interrupt reports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC/soundwire: bus: use property to set interrupt masks (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Remove unused inline function snd_mask_sizeof (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: Remove unused function hpi_stream_group_get_map() (Jaroslav Kysela) [1869536] - [sound] ALSA: mixart: Correct comment wrt obsoleted tasklet usage (Jaroslav Kysela) [1869536] - [sound] ALSA: aloop: Replace tasklet with work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mchp-spdiftx: add driver for S/PDIF TX Controller (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix SLIBMUS/SLIMBUS typo (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: fix race condition between suspend and Slave device alerts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Parse auxiliary devices from device tree (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mt6359: fix failed to parse DT properties (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Implement snd_sof_bytes_ext_volatile_get kcontrol IO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: Add support for WO and RO TLV byte kcontrols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Kconfig: Allow the j721e machine driver to be used on K3 platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KeemBay: Fix warning potential ! vs ~ typo (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add v1.5.1 compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: dt-bindings: soundwire: add bindings for Qcom controller (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: add support for mmio soundwire master devices (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: avoid dependency on CONFIG_SLIMBUS (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix abh/ahb typo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: make process type optional (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_mux (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_process (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_tone (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_asrc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_src (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_host (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_volume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: append extended data to sof_ipc_comp_dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: add helper for setting up IPC component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: use the sof_ipc_comp reserved bytes for extended data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: parse comp_ext_tokens for all widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: create component extended tokens (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add comp_ext to struct snd_sof_widget (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: tokens: add token for component UUID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Manage module clock via DAPM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Attach the bus clock to the regmap (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Sort masks in a consistent order (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix field bit number indentation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix ADC_DIG_CTRL field name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1_MXR_SRC field names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1_ADCDAT_CTRL field names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix AIF1 MODCLK widget name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Remove extraneous widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add dailink .prepare and .hw_free callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add dailink .trigger callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: clarify return value for get_sdw_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove stream handling from .prepare and .hw_free (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove .trigger operation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix NULL/ERR_PTR confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: fix NULL/IS_ERR confusion (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove SDW_REG_SHIFT() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom : use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: use FIELD_{GET|PREP} (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: use SDW_DISCO_LINK_ID() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: use FIELD_GET() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: define and use addr bit masks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix core enable sequence (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: support topology components on secondary cores (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add a "core" parameter to widget loading functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Set SAI Channel Mode to Output Mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Support multiple data channel enable bits (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: don't manage link power individually (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: pass link_mask information to each master (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add error log for clock-stop invalid configs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: enable hw_sync as needed by hardware (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add multi-link hw_synchronization information (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: update multi-link definition with hw sync details (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add missing support for all clock stop modes (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add multi-link support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: ignore software command retries (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: disable shim wake on suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix port_readydynamic allocation in mipi_disco (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add definition for maximum number of ports (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: soundwire: remove port_readyusage from codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: vx: vx_core: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: rawmidi: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: atmel: ac97: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: (cosmetic) align argument names (Jaroslav Kysela) [1869536] - [sound] ALSA: usb: scarless_gen2: fix endianness issue (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: auto_parser: remove shadowed variable declaration (Jaroslav Kysela) [1869536] - [sound] ALSA: aoa: i2sbus: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: core: init: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: compress_offload: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: compress_offload: dereference after checking for NULL pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: core: timer: clarify operator precedence (Jaroslav Kysela) [1869536] - [sound] ALSA: core: timer: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm_memory: dereference pointer after NULL checks (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm: simplify locking for timers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Prefer async probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: remove artificial component and DAI name constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: shutdown codec when changing filter type (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Clean kernel log from deferred probe error messages (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Simplify error handling during FW boot (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Add sof_tgl_ops for TGL platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Define FW boot sequence with ICCMAX (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: define macro for code loader stream format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: modify the signature of get_stream_with_tag() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Add helper function to program ICCMAX stream (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Remove unused parameters in cl_dsp_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix VS_LTRC register name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sof-of-dev: Add .arch_ops field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Replace sdev->private with sdev->pdata->hw_pdata (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: add extended rom status dump to error log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix the ipc_size calculation for process component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: intel: hda: support also devices with 1 and 3 dmics (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: report error only for the last ROM init iteration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: Add debug box region (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: Parse debug ABI version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: fix memory leak in get_ext_windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: IPC: make sof_ipc_window monosized (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix intel_suspend/resume defined but not used warning (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 exit commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 custom controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add AE-7 microphone selection commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add output selection for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add DSP setup functions for AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add init data for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add pre-init function for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add ca0132_mmio_init data for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Set AE-7 bools and select mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add SoundBlaster AE-7 pincfg (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix Recon3D Center/LFE output (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add quirk output selection structures (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Clean up ca0132_alt_out_select (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Remove surround output selection (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add bass redirection controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add full-range speaker selection controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add surround channel config control (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add speaker tuning initialization commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Cleanup ca0132_mmio_init function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hdmi: tidy up a memset() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: use consistent HDAudio spelling in comments/docs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add dev_dbg log when driver is not selected (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: acpi: add dev_dbg() log for probe completion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: IPC: reduce verbosity of IPC pointer updates (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: reduce the log level for unhandled widgets (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: remove unnecessary memory alloc for sdev->private (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: (cosmetic) use the "bool" type where it makes sense (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Add -EPROBE_DEFER check for regmap init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak5558: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: clean-up inclusion of header files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add topology filename override based on dmi data match (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: SoC: Intel: sof_sdw: Add support for product Ripto (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: rename id as part_id (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: check SoundWire version when matching codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373-sdw: add missing test on resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: add support for SDCA boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: mirror CML and TGL configurations (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-soundwire: add support for rt5682 on link2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: cnl: add support for rt5682 on SoundWire link2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: modify SoundWire version id in acpi match table (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Correct wrongly matching entries with audio class (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Fix I/O voltage range configuration during probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: add .exit callback function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: add support for TLV320AIC32x4 codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add build support for SoundWire (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: add missing out of memory check on drvdata->clks allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt6359: add codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Properly match with audio interface class (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Simplify quirk entries with a macro (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Move device rename and profile quirks to an internal table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Hook up component probe function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: s3c2412-i2s: avoid hardcoded S3C2410_PA_IIS (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: rx1950: turn into platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: neo1973: turn into platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: use SDW_SLAVE_ENTRY_EXT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Update naming in error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Get "extal" clock rate by clk_get_rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: add a dedicated menuconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Export DAC/ADC monomix switches (Jaroslav Kysela) [1869536] - [sound] ALSA: remove duplicate "the the" phrase in Kconfig text (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm0010: use DECLARE_COMPLETION_ONSTACK() macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: simple-card: Use snd_soc_of_parse_aux_devs() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Add common helper to parse aux devs from device tree (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ak4458: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hdmi: support 'ELD' mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: sound/soc/intel: Fix spelling mistake "cant" --> "can't" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: various vendors: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-topology: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-topology: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: sst-utils: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: cldma: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: skl-nhlt: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell-ipc: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Baytrail: (cosmetic) align function parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: (cosmetic) align parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_pvt: simplify return handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_loader: remove always-true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: remove useless assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: platform-pcm: fix redundant return (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst_pvt: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: remove redundant initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst: remove useless NULL assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: platform-pcm: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: compress: remove redundant assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Atom: sst-atom-controls: remove redundant assignments (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: refine runtime pm for SDW_INTEL_CLK_STOP_BUS_RESET (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: support clock_stop mode without quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: handle power rail dependencies for clock stop mode (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_NOT_ALLOWED support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_BUS_RESET support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add CLK_STOP_TEARDOWN for pm_runtime suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: pm_runtime idle scheduling (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reinitialize IP+DSP in .prepare(), but only when resuming (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: call helper to reset Slave states on resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix race condition on system resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reset pm_runtime status during system resume (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add pm_runtime support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Fix clock handling around codec level probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Move soft reset handling to codec level probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7219: Move required devm_* allocations to device level code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add support to copy callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add gapless support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: prepare set params to accept profile change (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm-dai: add next track metadata support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add support to gapless flag in q6asm open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add support to remove intial and trailing silence (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add length to write command token (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: use flags directly from q6asm-dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: make commands specific to streams (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: rename misleading session id variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Enable TDM audio capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Moving GPIO reset and add ADC reset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Increased maximum supported channels (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: tlv3204: Enable 24 bit audio support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for earpiece switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for line out switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Make line out routes stereo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Enable DAPM for headphone switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Make headphone routes stereo (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Group and sort mixer routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Gate the amplifier clock during suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun50i-codec-analog: Fix duplicate use of ADC enable bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcht_cx2072x: simplify return handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: rename shadowed variable for all broadwell boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda-codec: move variable used conditionally (Jaroslav Kysela) [1869536] - [sound] ALSA: ASOC: SOF: Intel: hda-codec: move unused label to correct position (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Add a quirk for LRCK inversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Add missing mixer routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sun8i-codec: Fix DAPM to match the hardware topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Replace synchronous check with fsl_sai_dir_is_synced (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Drop TMR/RMR settings for synchronous mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Refine enable/disable TE/RE sequence in trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: Use platform_get_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Use platform_get_resource (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-sc7180: Add platform driver for lpass audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: fix concurrency issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass: Use regmap_field for i2sctl and dmactl registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: fix memory leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-platform: Replace card->dev with component->dev (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Move ahbix clk to platform specific function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Add common array to initialize soc based core clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Use dev_dbg() in rt5682_clk_check() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: Add basic power management support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: enable pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add argument to function definition (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add module_sdw_driver helper macro (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sdw.h: fix indentation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: sdw.h: fix PRBS/Static_1 swapped definitions (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: virmidi: Fix running status after receiving sysex (Jaroslav Kysela) [1869536] - [sound] ALSA: bt87x: use pci_status_get_and_clear_errors (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - The Mic on a RedmiBook doesn't work (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Do not cleanup uninitialized dais on soc_pcm_open failure (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fixup headset for ASUS GX502 laptop (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix double free of dangling pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: use consistent HDAudio spelling in comments/docs (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add dev_dbg log when driver is not selected (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: hdmi - add Rocketlake support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Fix power transition refactor (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-toddr: fix channel order on g12 platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: add snd_soc_find_dai_with_mutex() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: always check pin power status in i915 pin fixup (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Fix refcount imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt700: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt715: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt711: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1308-sdw: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98373: Fix return check for devm_regmap_init_sdw() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for UR22C (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: fixup ams_delta_mute() function name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pcm3168a: ignore 0 Hz settings (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda: Add support for Loongson 7A1000 controller" (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Program WAKEEN register for Tegra (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Fix 2 channel swapping for Tegra (Jaroslav Kysela) [1869536] - [sound] ALSA: ca0106: fix error code handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: tgl_max98373: fix a runtime pm issue in multi-thread case (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-digi00x: exclude Avid Adrenaline from detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ALSA; firewire-tascam: exclude Tascam FE-8 from detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Set card->owner to avoid warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: atom: Add period size constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: avoid reset of sdo_limit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic: Fix NULLptr dereference in autosuspend delay (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: fix typo in comment on INTSTAT registers (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: ignore broken processing/extension unit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: Fix memleak in sst_media_open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Avoid attempts to read unreadable registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: msm8916-wcd-analog: fix register Interrupt offset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: Prevent access to invalid VU register bits on WM1811 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add model alc298-samsung-headphone (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Update documentation comment for MS2109 quirk (Jaroslav Kysela) [1869536] - [sound] ALSA: isa: fix spelling mistakes in the comments (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Fix potential Oops in snd_echo_resume() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6routing: add dummy register read/write function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Make soc_component_read() returning an error code again (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - reverse the setting value in the micmute_led_set (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaduio: Drop superfluous volatile modifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Replacing component->name with codec_dai->name (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Pioneer DDJ-RB (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fix spelling mistake "buss" -> "bus" (Jaroslav Kysela) [1869536] - [sound] ALSA: pci: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: isa: delete repeated words in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Add 100us dma stop delay (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add dma stop delay variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hda/tegra: Set buffer alignment to 128 bytes (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: Serialize ioctls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Add quirk to force connectivity (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add startech usb audio dock name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_i2s: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_dmic: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_ahub: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra210_admaif: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra186_dspk: Fix compile warning with CONFIG_PM=n (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add support for Lenovo ThinkStation P620 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: renoir: restore two more registers during resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Do not remove ADDITIONAL_CONTROL_4 from readable register list (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Remove fsl_asoc_card_set_bias_level function (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda: call runtime_allow() for all hda controllers" (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix AE-5 microphone selection commands (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Add new quirk ID for Recon3D (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Two step component registration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Simplify snd_soc_component_initialize declaration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Relocate and expose snd_soc_component_initialize (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sh: Replace 'select' DMADEVICES 'with depends on' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: use less strict tests for dailink capabilities (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rk3399_gru_sound: Add DAPM pins, kcontrols for jack detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Do not access WM8962_GPIO_BASE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: use resource_size (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: drop unnecessary list_empty (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Added hw_params support for ALC1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Passing card structure based on codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Renaming snd-soc-card structure and fields (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Add sound support for Midas boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Rework disable channel function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KMB: Add 8kHz audio support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Fix regression causing sysfs entries to disappear (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdm-formatters: fix sclk inversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdmin: fix g12a skew (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: axg-tdm-interface: fix link fmt setup (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fixed HP right speaker no sound (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix NULL pointer dereference during suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm2835: Silence clk_get() error on -EPROBE_DEFER (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Update shutdown GPIO property (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: disable traces when switching to S0Ix D0I3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: fix the suspend procedure to support s0ix entry (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Fix keep_power assignment for non-component devices (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Workaround for spurious wakeups on some Intel platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: endpoint : remove needless check before usb_free_coherent() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Restore PME_EN state at Power On (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/boards: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fix add a "ultra_low_power" function for intel reference board (alc256) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: don't call pm_runtime_* on card device (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: typo_fix: enable headset mic of ASUS ROG Zephyrus G14(GA401) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G15(GA502) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: update dsm param bin max size (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Update dsm init sequence and condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: don't report of_xlate_dai_name failures (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Avoid printing errors for -EPROBE_DEFER (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: apq8016_sbc: Use qcom_snd_parse_of() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Parse properties with "qcom, " prefix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Support parsing links without DPCM (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6afe: Remove unused q6afe_is_rx_port() function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: Use snd_soc_dai_link_set_capabilities() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Use devm for resource management (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix dac event dapm mixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support configuring dai fmt from DT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: add IRQF_SHARED for devm_request_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Fix build error due to 64-by-32 division (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: fix SND_SOC_J721E_EVM warnings & errors (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: omap: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Support new metadata block ID's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: xtensa: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: kirkwood: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sprd: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: generic: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: au1x: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dwc: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cirrus: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sh: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: stm: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: use asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-xxx: add asoc_substream_to_rtd() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: Fix kabylake_ssp_fixup function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix deadlock after PCM open error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix memleak on module unload (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: call patch_ops.free() on probe error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support machine driver with max98357b (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support left justified format for I2S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - fix probe regression on systems without i915 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pcm: Update rate/channels for SAI/ESAI DAIs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Update SAI config bclk/fsync rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Add SAI dai driver for i.MX/i.MX8X (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8m: Fix SAI DAI driver for i.MX8M (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Fix ESAI DAI driver name for i.MX8/iMX8X (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Use ARRAY_SIZE instead of hardcoded value (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops for imx8 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for SSL2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based ADMAIF driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2770: Fix reset gpio property name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98357a: move control of SD_MODE back to DAI ops (Jaroslav Kysela) [1869536] - [sound] ALSA: Soundwire: intel_init: save Slave(s) _ADR info in sdw_intel_ctx (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add wake interrupt support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel/cadence: merge Soundwire interrupt handlers/threads (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: add implementation of sdw_intel_enable_irq() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: introduce helper for link synchronization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: introduce a helper to arm link synchronization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: revisit SHIM programming sequences (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: report slave_ids for each link to SOF driver (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add clock stop quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add mutex for shared SHIM register access (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add prototype for WAKEEN interrupt processing (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: add link_list to handle interrupts with a single thread (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: update headers for interrupts (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: reuse code for wait loops to set/clear bits (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: board: sof_rt5682: Update rt1015 pll input clk freq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: avoid crash if invalid DSP topology loaded (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add support for systems without i915 audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove properties in card remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove hard-coded codec name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.h: drop a duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd9335.h: fix duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra20_das.h: delete duplicated words (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Avoid the use of one-element array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra186 based DSPK driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based AHUB driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based I2S driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add Tegra210 based DMIC driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add support for CIF programming (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: change match table ehl-rt5660 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: remove .digital_mute (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace the word "slave" in vmaster API (Jaroslav Kysela) [1869536] - [sound] ALSA: asihpi: delete duplicated word (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace HTTP links with HTTPS ones (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Fixed ALC298 sound bug by adding quirk for Samsung Notebook Pen S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: optimize the power consumption (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.h: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: Use IS_ERR() instead of IS_ERR_OR_NULL() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: disable MICBIAS and Vref2 widget in default (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: Use the defined variable to clean code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: snd_soc_dai_digital_mute() for both CPU/Codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback (Jaroslav Kysela) [1869536] - [sound] ALSA: info: Drop WARN_ON() from buffer NULL sanity check (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Use kmemdup in podhd_set_monitor_level() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add support for Loongson 7A1000 controller (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: Add missed return for calling soc_component_ret (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: Trivial: Fix misspelling of 'exists' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support Headphone and Microphone Jack detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: simple-card-utils: Support configure pin_name for asoc_simple_init_jack (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: es*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: alc*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: pcm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ssm*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tas*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: spear: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdmi-codec: merge .digital_mute() into .mute_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: drm/mediatek: exit earlier if failed to register audio driver (Jaroslav Kysela) [1869536] - [sound] ALSA: drm/i2c/tda998x: Make tda998x_audio_digital_mute static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai.c: add .no_capture_mute support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdmi-codec: return -ENOTSUPP for digital_mute (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix snd_hda_codec_cleanup() documentation (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: export snd_hda_codec_cleanup_for_unbind() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Report the button event in the headset type only (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add missed put_device() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - fixup for yet another Intel reference board (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable Speaker for ASUS UX563 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534 (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix the kernel-doc comment (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Replace blacklist word (Jaroslav Kysela) [1869536] - [sound] ALSA: via82xx: Replace the words whitelist (Jaroslav Kysela) [1869536] - [sound] ALSA: nm256: Replace the words blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: intel8x0: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: es1968: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: ctxfi: Replace the word blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: bt87x: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: Replace the words white/blacklist (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: don't free dma_data in DAI shutdown (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: cadence: allocate/free dma_data in set_sdw_stream (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: remove stream allocation/free (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: stream: add helper to startup/shutdown streams (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: implement get_sdw_stream() operations (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: Disable sync-write operation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ssi: don't use discriminatory terms for debug log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: siu: don't use discriminatory terms for parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsi: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rsnd: don't use discriminatory terms for comment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rsnd: don't use discriminatory terms for function names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Enable Vref2 under using PLL2 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: spdif: Handle clk by pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: re-enable IRQs on failure path (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: add hw monitor volume control for POD HD500 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - change to suitable link model for ASUS platform (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix race against the error recovery URB submission (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Improve dai-set-fmt comment in cht_codec_fixup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support HDMI jack reporting (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: use hdmi-codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: use hdmi-codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add kctl for configuring TX validity bit (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Clear the validity bit for TX (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Sync the pending work cancel at disconnection (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Perform sanity check for each URB creation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak4458: Remove set but never checked variable 'ret' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv320aic26: Demote seemingly unintentional kerneldoc header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt5659: Remove many unused const variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt5631: fix spurious kernel-doc start and missing arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: ux500_msp_i2s: Remove unused variables 'reg_val_DR' and 'reg_val_TSTDR' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: pxa-ssp: Demote seemingly unintentional kerneldoc header (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: sun4i-spdif: Fix misspelling of 'reg_dac_txdata' in kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sunxi: sun4i-i2s: add missing clock and format arguments in kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: qdsp6: q6asm: Provide documentation for 'codec_profile' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sti: uniperif: fix 'defined by not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel-pdmic: remove codec component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel-classd: remove codec component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98390: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: es8316: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: omap-mcbsp-st: Remove set, but unused variable 'w' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: jz4770: Remove defined but never used variable 'mic_boost_tlv' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da7219: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da7210: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: aio-core: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra20_das: remove always-true comparison (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: pcm: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: spdif: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sdw_max98373: add card_late_probe support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-sdw: add MAX98373 I2C dependencies (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: add SoundWire support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: split I2C and common parts (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: support machine driver with rt1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: extract codec and DAI names (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: remove forward declaration of headset_init (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: sort header inclusions in alphabetical (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt286: fix unexpected interrupt happens (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8974: remove unsupported clock mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8974: fix Boost Mixer Aux Switch (Jaroslav Kysela) [1869536] - [sound] ALSA: xen: Remove superfluous fall through comments (Jaroslav Kysela) [1869536] - [sound] ALSA: atmel: Remove invalid "fall through" comments (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Address bugs in the interrupt handling (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Prevent some noise on unloading the module (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Prevent races in calls to set_audio_format() (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Race conditions around "opencount" (Jaroslav Kysela) [1869536] - [sound] ALSA: echoaudio: Remove redundant check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: fixed kernel warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: support machine driver with rt1015 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: sort header inclusions in alphabetical (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qdsp6: use dev_err instead of pr_err (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: add command opcode to timeout error report (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: core: fix null-ptr-deref bug during device removal (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: codecs: max98373: remove Idle_bias_on to let codec suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max98373: Removed superfluous volume control from chip default (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: add more logs when topology load fails (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: factor kfree(se) in error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: use break on errors, not continue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: fix tlvs in error handling for widget_dmixer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: fix kernel oops on route addition error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: add min/max channels for SAI/ESAI on i.MX8/i.MX8M (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix non BE conversion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: set dai_link dpcm_ flags with a helper (Jaroslav Kysela) [1869536] - [sound] ALSA: usb/line6: remove 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: mpc8610_hpcd: Add missing of_node_put() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: add default clock handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACPI dependency check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-i2s: remove unused-but-set variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-pcm-dma: remove unused-but-set variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-i2s: fix 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: acp3x-pcm-dma: fix 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: acp-rt5645: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: acp-da7219-max98357a: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Fix build error on m68k and others (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: Remove only the registered component in devm functions (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: Add Intel silent stream support (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/au88x0: remove "defined but not used" warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: vx_core: remove warning for empty loop body (Jaroslav Kysela) [1869536] - [sound] ALSA: pcmcia/pdaudiocf: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/via82xx: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/fm801: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/es1938: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: xen: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/oxygen/xonar_wm87x6: remove always true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/rme9652/hdspm: remove always true condition (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/korg1212: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/emu10k1: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pci/emu10k1: remove "set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/ctxfi: fix kernel-doc warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/ctxfi/ctatc: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/aw2-saa7146: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/echoaudio: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: pci/asihpi: remove 'set but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/gus: remove 'set but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/gus: remove -Wmissing-prototypes warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: compress: fix partial_drain completion state (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for RTX6001 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: fix SND_HDA_GENERIC kconfig & build (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for MacroSilicon MS2109 (Jaroslav Kysela) [1869536] - [sound] ALSA: core: pcm_iec958: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer Veriton N4660G with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of Acer C20-820 with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable audio jacks of Acer vCopperbox with ALC269VC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix Lenovo Thinkpad X1 Carbon 7th quirk subdevice id (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: improve debug traces for stream lookups (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later (Jaroslav Kysela) [1869536] - [sound] ALSA: opl3: fix infoleak in opl3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8400: remove unused variables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-ac97: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add logic to check dmic hardware runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: j721e-evm: Fix missing unlock on error in j721e_audio_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_esai: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_asrc: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_spdif: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_ssi: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: fsl_ssi_dbg: remove spurious kernel-doc comment start (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Rename dev_gpio to gpio1_is_irq (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Remove struct rt5670_platform_data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: return -EINVAL on unrecognized speaker amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8994: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm9713: remove spurious kernel-doc comment start (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8960: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm8986: fix missing kernel-doc arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs42l42: remove always-true comparisons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs4270: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sof-acpi-dev: fix 'defined but unused' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: atom: fix 'defined but not used' warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: atom: fix kernel-doc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Add an option to select internal ratio mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Enable interrupt in dma_open (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: KeemBay: Fix header guard (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_sai: Refine regcache usage with pm runtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: davinci-mcasp: Specify stream_name for playback/capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: add format and rate constraints on rk3399 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Rectifying Unbalanced pm_runtime_enable! issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: cancel jack_detect_work if hs_jack is set to null even soundwire mode (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix some typos (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Replace s/frame/packet/ where appropriate (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix packet size calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: initialize bus clock base and scale registers (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add definitions for 1.2 spec (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: remove multiple blank lines (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: extend SDW_SLAVE_ENTRY (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: convert open-coded while() to for() loop (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Fix dac- and adc- vol-tlv values being off by a factor of 10 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5670: Correct RT5670_LDO_SEL_MASK (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Change bus format to I2S 2 channel (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add voltage sense slot configuration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Add right and left channel slot programming (Jaroslav Kysela) [1869536] - [sound] ALSA: asoc: Update supported rate and format for dummy dai (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Drop HAS_DMA dependency to fix link failure (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: Add MAX98373 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Fix a typo in Kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: common: add match table for TGL MAX98373 + RT5682 SoundWire driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: Intel: cml_rt1011_rt5682: explicitly access first codec (Jaroslav Kysela) [1869536] - [sound] ALSA: snd/soc: correct trivial kernel-doc inconsistency (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: Update TDM configuration in hw_params (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: use for_each_card_prelinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: cml_rt1011_rt5682: use statically define codec config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: cml_rt1011_rt5682: reduce log level for printing quirk (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for jsl-max98360a-rt5682 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: Fix the comment for max_98373_components (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Boards: tgl_max98373: add dai_trigger function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: byt*.c: remove cast in dev_info quirk log (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add quirk override with kernel parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bxt_rt298: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cml_rt1011_rt5682: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: nocodec: add missing .owner field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: add missing header inclusion (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: declare missing structure prototypes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: move definition of enum snd_soc_bias_level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Fix format issue for extra space before a comma (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2562: Update shutdown GPIO property (Jaroslav Kysela) [1869536] - [sound] ALSA: AsoC: amd: add missing snd- module prefix to the acp3x-rn driver kernel module (Jaroslav Kysela) [1869536] - [sound] ALSA: core: Warn on empty module (Jaroslav Kysela) [1869536] - [sound] ALSA: hda - let hs_mic be picked ahead of hp_mic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Add WM8524 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix the pop noise while OMTP type headset plugin (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix OOB access of mixer element list (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1011: fix KASAN out-of-bounds bug in find_next_bit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: set playback and capture constraints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix uninitialized scalar variable in fsl_easrc_set_ctx_format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: disable jack in dailink .exit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_rt5682: move disabling jack to dai link's exit() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: kbl-rt5660: use .exit() dailink callback to release gpiod (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix module load/unload issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: introduce exit() callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_mqs: Fix unchecked return value for clk_prepare_enable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_mqs: Don't check clock is NULL before calling clk API (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm_adsp: Add controls for calibration and diagnostic FW (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: remove snd_soc_component_read32() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: ak*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: cs*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: da*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: alc*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: msm*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: tlv*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wcd*: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atmel: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: rename to snd_soc_component_read() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: use io_mutex correctly (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: Constify static structs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: transition to 3 steps initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: pass link information as platform data (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: use devm_ allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel_init: remove useless test (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: clarify drvdata and remove more indirections (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: cleanups for indirections/logs (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: fix memory leak with devm_kasprintf (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: clock_stop: don't deal with UNATTACHED Slave devices (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: Replace 'objs' by 'y' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add pm runtime function (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Enable sync-write operation as default for all controllers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rockchip: Fix a reference count leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Removing unnecessary instance initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: closing specific instance (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Let LED cdev handling suspend/resume (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Unify LED helper code (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/sigmatel: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/conexant: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Use the new vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Add vmaster mute LED helper (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Drop the old mic-mute LED hook (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/conexant: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: generic: Always call led-trigger for mic mute LED (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Intel: add missing PCI IDs for ICL-H, TGL-H and EKL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht*: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: byt*: simplify card names for SOF uses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hdac_hda: fix memleak with regmap not freed on remove (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI IDs for ICL-H and TGL-H (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for CometLake-S (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: SOF: merge COMETLAKE_LP and COMETLAKE_H (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: imply acodec glue on axg sound card (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_spdif: Add support for imx6sx platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Add MQS support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Fix reference count leaks (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix potential use-after-free of streams (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add quirk for MSI GE63 laptop (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Flush DAC data before playback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_ssi: Fix bclk calculation for mono channel (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: AMD: Use mixer control to switch between DMICs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Add Amp init common setting func (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: DAI wclk supports 44100 Hz output (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Let PLL2 support the freq conversion for 44100Hz sample rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Add new supports on rl6231 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-parallel-out: Fix a reference count leak (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8960: Support headphone jack detection function (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: samsung: Add driver for Aries boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm0010: Use kmemdup rather than duplicating its implementation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Add makefiles and kconfig changes for KeemBay (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Add KeemBay platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt6358: support DMIC one-wire mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix "Function parameter not described" warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix -Wunused-but-set-variable (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Fix -Wmissing-prototypes warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: tidyup Copyright (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge soc_pcm_trigger_start/stop() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: merge soc-io.c into soc-component.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_hw_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_hw_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_prepare() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add soc_component_err() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add soc_component_pin() and share code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm/compress: reduce verbosity on mapping ok messages (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: improve error messages in soc_pcm_new() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: reduce verbosity of BE override message (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Use SG-buffer only when direct DMA is available (Jaroslav Kysela) [1869536] - [sound] ALSA: memalloc: Make SG-buffer helper usable for continuous buffer, too (Jaroslav Kysela) [1869536] - [sound] ALSA: memalloc: Initialize all fields of snd_dma_buffer properly (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: Use dma_mmap_coherent() on x86, too (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98357a: add compatible string for MAX98360A (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: Clear RIRB status before reading WP (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Update rt1015 default register value according to spec modification (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: common: set correct directions for dailinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: q6afe: add support to get port direction (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: fix checks for multi-cpu FE dailinks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: Let dai clks be registered whether mclk exists or not (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: wait for notification when changing clock configuration for protocol v3 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-topology: use devm_snd_soc_register_dai() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-devres: add devm_snd_soc_register_dai() (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Set 48 kHz rate for Rodecaster (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add quirk for Denon DCD-1500RE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Fix data copying speed issue with EDMA (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Reuse the dma channel if available in Back-End (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dmaengine_pcm: export soc_component_to_pcm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: export snd_soc_lookup_component_nolocked (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add implicit feedback quirk for SSL2+ (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: q6asm: handle EOS correctly (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Update regmap readable reg and volatile (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5645: Add platform-data for Asus T101HA (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT10-A tablet (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: nocodec: conditionally set dpcm_capture/dpcm_playback flags (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: replace capture_only by dpcm_capture (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: core: only convert non DPCM link to DPCM link (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: dpcm: fix playback/capture checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: dpcm: Only allow playback/capture if supported (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: add missing free_irq() in error path (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: disallow linking stream to itself (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Manage auto-pm of all bundled interfaces (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: fix snd_pcm_link() lockdep splat (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Use the new macro for HP Dock rename quirks (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock (Jaroslav Kysela) [1869536] - [sound] ALSA: emu10k1: delete an unnecessary condition (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix inconsistent card PM state after resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix potential crash during param fw loading (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Fix incorrect printf qualifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Defer probe when fail to find codec device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Modify the target DMIC clock rate (Jaroslav Kysela) [1869536] - [sound] ALSA: es1688: Add the missed snd_card_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add sienna_cichlid audio asic id for sienna_cichlid up (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add Pioneer DJ DJM-900NXS2 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: q6asm-dai: kCFI fix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_remove_dai_link() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_add_dai_link() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_set_bias_level_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_set_bias_level() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_remove() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_late_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add probed bit field to snd_soc_card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_resume_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_resume_pre() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_suspend_post() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: add snd_soc_card_suspend_pre() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_subclass to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_get_codec_dai() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_set/get_drvdata() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_jack_new() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-card: move snd_soc_card_get_kcontrol() to soc-card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: add soc-card.c (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc.h: convert bool to bit field for snd_soc_card (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof_pcm512x: remove CONFIG_SND_HDA_CODEC_HDMI condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof-sdw: remove CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC condition (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: add depends on SND_SOC_SOF_HDA_AUDIO_CODEC for common hdmi (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fixing usage of plain int instead of NULL (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: fix generic hda codec support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Baytrail: fix 'defined but not used' warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: Subject:ASoC: soc-pcm: fix BE dai not hw_free and shutdown during mixer update (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: reduce verbosity of error messages for sof-dai and sof-link (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Enable class-D silence and clock detections (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-i2s-out: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: remove the redundant pass checks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: refine and log the header in the correct pass (Jaroslav Kysela) [1869536] - [sound] ALSA: ac97: Remove sound driver for ancient platform (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: Removing unnecessary instance initialization (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sta32x: add missed function calls in error paths (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: split i2c driver into separate module (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: nau8810: add I2C device and compatible ID (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ingenic: Unconditionally depend on devicetree (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Clean up quirk entries with macros (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Fix return value check in asoc_mmp_sspa_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-spdif-in: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: img-spdif-out: Fix runtime PM imbalance on error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: harden IPC initialization and handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: mask BUSY or DONE interrupts in handler (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: BYT: add .remove op (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ipc: ignore DSP replies received when they are not expected (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: byt/cht: add .pm_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640/51: remove .ignore_suspend (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: pm: handle resume on legacy Intel platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: byt: Add PM callbacks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dapm: Move dai_link widgets to runtime to fix use after free (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add new codec supported for ALC287 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tas2552: Fix runtime PM imbalance in tas2552_component_probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fix incomplete error-handling in img_i2s_in_probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: Fix runtime PM imbalance in omap2_mcbsp_set_clks_src (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fix semicolon.cocci warnings (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround (Jaroslav Kysela) [1869536] - [sound] ALSA: hwdep: fix a left shifting 1 by 31 UB bug (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Merge suspend/resume function to runtime_suspend/resume (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: imx-audmix: Fix unused assignment to variable 'ret' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Fix -Wmissing-prototypes warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98390: Added Amplifier Driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse compiler version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse firmware version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce extended manifest (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: loader: Adjust validation condition for fw_offset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_set_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_shutdown() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_compr_startup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: add snd_soc_link_be_hw_params_fixup() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: remove unneeded parameter from snd_soc_link_xxx() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-link: move soc_rtd_xxx() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: add soc-link.c (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add support for MOTU UltraLite-mk3 (FireWire only model) (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: keep ADCs and DACs always on (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add digital microphone controls (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v2 for fetching mode switch (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v3 for clock source getter (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: refactoring protocol v2 for clock source getter (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: remove obsoleted codes (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: use table-based calculation of packet formats for stream management (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: use table-based calculation of packet formats for proc (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add alternative functions to detect packet format for protocol v3 (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add alternative functions to detect packet format for protocol v2 (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add model-specific table of chunk count (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: drop protocol structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: add wrapper functions for protocol-dependent operations (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: localize protocol data (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: move spec data to v3 protocol file (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: move spec data to v2 protocol file (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: remove Compulab pxa2xx boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add mono playback switch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: add filter controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: don't use regmap defaults (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Fix the error handling in probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use a single module (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: fix ADC level control (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix spelling mistake (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: fix trailing line in sysfs_slave.c (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: add Slave sysfs support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: add sysfs support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: disco: s/ch/channels/ (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add Device Tree support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: return error when acp de-init fails (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: refactoring dai_hw_params() callback (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: fix kernel warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Do not pass irq numbers in comments (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Remove unneeded ifdef's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Set ASR76K and ASR56K based on processing clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: enable build for RN machine driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: RN machine driver using dmic (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: create platform devices for Renoir (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: enable Renoir acp3x drivers build (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP PDM DMA driver pm ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP PCI driver PM ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP PDM DMA driver dai ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add acp3x pdm driver dma ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: irq handler changes for ACP3x PDM dma driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add ACP3x PDM platform driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: create acp3x pdm platform device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add acp init/de-init functions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP PCI driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: add Renoir ACP3x IP register header (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add more fixup entries for Clevo machines (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: master: add runtime pm support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: add sdw_master_device support (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: add unique bus id (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus_type: introduce sdw_slave_type and sdw_master_type (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: rename sdw_bus_master_add/delete, add arguments (Jaroslav Kysela) [1869536] - [sound] ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT8-A tablet (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max9867: fix volume controls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Fix unused assignment in fsl_set_clock_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd: raven: Make the driver name consistent across files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Fix indentation to put on one line affected code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cleanup dai / component active code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dwc: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: pxa: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: meson: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: jz4740: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: cirrus: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bcm: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: atomel: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: use snd_soc_xxx_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_stream_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_active() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dapm: use snd_soc_dai_activate()/deactivate() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_action() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-pcm: replace snd_soc_runtime_activate()/deactivate() to macro (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: move set_pll to codec level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: move set_sysclk to codec level (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: Add regulator support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: da7213: Add da7212 DT compatible (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: remap BTN_0 as KEY_PLAYPAUSE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: remap buttons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remap buttons (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: fix typo in components string (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: soc-acpi: change machine driver name for WM8804 platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: make imx8m_dsp_ops static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: make dsp_ops static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: sdw: relax sdw machine select constraints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: add support to smart amplifier (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: inform DSP that driver is going to be removed (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add a power_down_notify method (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Do nothing when DSP PM callbacks are not set (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt1308-sdw: remove duplicate allocation (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: fix memory leak in set_sdw_stream() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt*-sdw: don't assign slave_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm: fix incorrect hw_base increase (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Unexport some local helper functions (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Drop unused snd_hda_queue_unsol_event() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Fix potential race in unsol event handler (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add duplex sound support for USB devices using implicit feedback (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: fixing upper volume limit for RME Babyface Pro routing crosspoints (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: introduce SoC specific data (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: Use force clear for WM8962_SYSCLK_ENA after reset (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Set appropriate bus format for given bit width (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add support for the runtime power management (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Prepare/unprepare the clocks (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Remove the embedded struct ssp_device (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Add support for soc-generic-dmaengine-pcm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Get rid of dma_params and phys_base (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: A trivial typo fix (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: omap-mcbsp: Fix an error handling path in 'asoc_mcbsp_probe()' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Update description for HDaudio kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ux500: mop500: Fix some refcounted resources issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Drop S20_3LE case (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mmp-sspa: Flip SNDRV_PCM_FMTBIT_S24_3LE on (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Use readq to read 64 bit registers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: baytrail: Fix register access (Jaroslav Kysela) [1869536] - [sound] ALSA: SoC: rsnd: add interrupt support for SSI BUSIF buffer (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 (Jaroslav Kysela) [1869536] - [sound] ALSA: drivers/powerpc: Replace _ALIGN_UP() by ALIGN() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: core: fix error return code in sof_probe_continue() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: set headset button maps (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-motu: fulfill missing entries in Kconfig (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: (cosmetic) remove multiple superfluous "else" statements (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: (cosmetic) remove multiple superfluous "else" statements (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: Use IRQF_ONESHOT (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: add support for RME Fireface UFX (untested) (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: add support for RME FireFace 802 (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: code refactoring to decide name of sound card (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: code refactoring to add enumeration constants for model identification (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: start IR context immediately (Jaroslav Kysela) [1869536] - [sound] ALSA: fireface: fix configuration error for nominal sampling transfer frequency (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek: Add quirk for Samsung Notebook (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Fix unused variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: use sequence of syt offset and data block on pool in AMDTP domain (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: pool ideal sequence of syt offset and data block (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: add cache for packet sequence to AMDTP domain structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for data block calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for syt offset calculation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for syt computation (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: code refactoring for parameters of packet queue and IRQ timing (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: add reference to domain structure from stream structure (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: use macro for maximum value of second in 1394 OHCI isoc descriptor (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: fix invalid assignment to union data for directional parameter (Jaroslav Kysela) [1869536] - [sound] ALSA: fireworks: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: Replace zero-length array with flexible-array (Jaroslav Kysela) [1869536] - [sound] ALSA: rawmidi: Fix racy buffer resize under concurrent accesses (Jaroslav Kysela) [1869536] - [sound] ALSA: soc: fsl_asrc: Make some functions static (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1016: Add the rt1016 support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5677: Use devm_snd_soc_register_component() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: mt8183: fix error handling of platform_get_irq() (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Allow SST driver on SKL and KBL platforms with DMIC (Jaroslav Kysela) [1869536] - [sound] ALSA: portman2x4: Use bitwise instead of arithmetic operator for flags (Jaroslav Kysela) [1869536] - [sound] ALSA: sound/ppc: Use bitwise instead of arithmetic operator for flags (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mediatek: Fix error handling (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: amd :High hw_level while simultaneous capture (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Return true, false for return type bool (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: lpass-cpu: Make I2S SD lines configurable (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Use hdac_to_hda_codec macro (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Use dev_to_hdac_dev macro (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: bus: reduce verbosity on enumeration (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: debugfs: clarify SDPX license with GPL-2.0-only (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: slave: don't init debugfs on device registration error (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: qcom: fix error handling in probe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8524: Add support S32_LE (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: Use the defined variable to simplify code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt1015: Add condition to prevent SoC providing bclk in ratio of 50 times of sample rate (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rl6231: Add the K bypass for the PLL parameters (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: adau7118: Mark the ADAU7118 reset register as volatile (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: max9768: update contact email (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: max98373: reorder max98373_reset() in resume (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: workaround playback failure on Tegra194 (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add member to store ratio for stripe control (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/tegra: correct number of SDO lines for Tegra194 (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: add mapping for ASRock TRX40 Creator (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse (Jaroslav Kysela) [1869536] - [sound] ALSA: Revert "ALSA: hda/realtek: Fix pop noise on ALC225" (Jaroslav Kysela) [1869536] - [sound] ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints format (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: Add poll callback for hwdep (Jaroslav Kysela) [1869536] - [sound] ALSA: line6: hwdep: add support for O_NONBLOCK opening mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF/Intel: clarify SPDX license with GPL-2.0-only (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ipc: channel map structures (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: sof-wm8804: support for Hifiberry Digiplus boards (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Update correct LED status at the first time usage of update_mute_led() (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset (Jaroslav Kysela) [1869536] - [sound] ALSA: isa/wavefront: prevent out of bounds write in ioctl (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Fix unused variable warning w/o CONFIG_LEDS_TRIGGER_AUDIO (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Add LED class support for micmute LED (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Enable micmute LED on and HP system (Jaroslav Kysela) [1869536] - [sound] ALSA: hda/realtek - Introduce polarity for micmute LED GPIO (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: sort out Kconfig, again (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove unwanted btn_type assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove duplicate rt5682_reset() calls (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: replace message printing from pr_() to dev_() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: remove empty default case (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix space issues (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: simplify assertions (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: change trigger sequence to fix pop noise when stopping playback on sdw platforms (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: replace sof_link_hda_process by sof_set_dai_config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: set component dai_index to ipc dai config dai_index (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: send ipc for all found DAIs in sof_set_dai_config (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: broadwell: Fix oops during module removal (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: rt5682: fix I2C/Soundwire dependencies (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: mark PM functions __maybe_unused (Jaroslav Kysela) [1869536] - [sound] ALSA: seq: oss: remove unused inline function snd_seq_oss_timer_is_realtime (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs-saif: Fix unused assignment (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoc: nau8810: add AUX related dapm widgets and routes (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: wm97xx: fix ac97 dependency (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: component: suppress uninitialized-variable warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_get_metadata() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_set_metadata() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_pointer() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_ack() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_get_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_set_params() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_shutdown() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compr_start() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_remove() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_bespoke_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_trigger() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_prepare() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add snd_soc_pcm_dai_new() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: don't overwide dai->driver->ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-dai: add soc_dai_err() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Use devm_snd_soc_register_card() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: broadwell: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bdw-rt5650: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: bdw-rt5677: add channel constraint (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: add explicit dependency on GPIOLIB when DMIC is used (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: davinci-mcasp: Fix dma_chan refcnt leak when getting dma type (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Multiple I/O PCM format support for pipe (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Add alternative topology binary name (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hisilicon: Use the defined variable to clean code (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Check for null pointer before dereferencing "ctx" in fsl_easrc_hw_free() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: ti: remove comparison to bool in omap_mcbsp_dai_set_dai_fmt() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: mxs-saif: Avoid unnecessary check (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw: add amp number in components string for ucm (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: hisilicon: Use IS_ERR() instead of IS_ERR_OR_NULL() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_esai: Disable exception interrupt before scheduling tasklet (Jaroslav Kysela) [1869536] - [sound] ALSA: pcm_native: result of put_user() needs to be checked (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: snd-sof-intel-hda-common - add hda_model parameter and pass it to HDA codec driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: avoid false-positive Wuninitialized warning (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8962: set CLOCKING2 as non-volatile register (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix racy list management in output queue (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Remove async workaround for Scarlett 2nd gen (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Improve frames size computation (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Refactor Intel NHLT init (Jaroslav Kysela) [1869536] - [sound] ALSA: ACPICA: Add NHLT table signature (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add missing dependency on IMX_SCU (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: fix spelling mistake "prefitler" -> "prefilter" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: Skylake: Replace guid_copy() with import_guid() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: dmic: Allow GPIO operations to sleep (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: return true, false in snd_soc_volsw_is_stereo() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Fix build (Jaroslav Kysela) [1869536] - [sound] ALSA: oxygen: use true, false for bool variables (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Fix a limit check in proc_dump_substream_formats() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - fix oops on systems without i915 audio codec (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Add initial ZL38060 driver (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: remove snd_compr_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sprd: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: sof: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: atom: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: qcom: q6sp6: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: uniphier: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codec: wm_adsp: use snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-compress: add snd_compress_ops (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: txx9: add back the hack for a too small resource_size_t (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_easrc: Add EASRC ASoC CPU DAI drivers (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Move common definition to fsl_asrc_common (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: Support new property fsl, asrc-format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl-asoc-card: Support new property fsl, asrc-format (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_asrc: rename asrc_priv to asrc (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Enable audio mclk during tegra_asoc_utils_init() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Add audio mclk parent configuration (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: Use device managed resource APIs to get the clock (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd934x: remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd9335: remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wcd934x: remove unnecessary comparisons to bool (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: split woofer and tweeter support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Fix wrong dependency of da7210 and wm8983 (Jaroslav Kysela) [1869536] - [sound] ALSA: soundwire: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: Print more information in stream proc files (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: txx9: don't work around too small resource_size_t (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: haswell: Power transition refactor (Jaroslav Kysela) [1869536] - [sound] ALSA: Fix misspellings of "Analog Devices" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Fix misspellings of "Analog Devices" (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: handle multiple sets of tuple arrays (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: stop parsing when all tokens have been found (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Get HDA rate and channels from topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix: parse hda_tokens to &config->hda (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Get ALH rate amd channels from topology (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: align sof_ipc_dai_alh_params with FW (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Rename deprecated DMIC IPC struct field (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Change DMIC load IPC to fixed length (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: Fix typo in header file comment text (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add XRUN flags field to struct sof_ipc_buffer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: make sof_ipc_cc_version to fixed length (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in topology.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in trace.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: change type char to uint8_t in info.h (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add debug ABI version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: add probe support extend data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: Add support for DC Blocker (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse compiler version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse windows (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: ext_manifest: parse firmware version (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce extended manifest (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Introduce offset in firmware data (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Mark get_ext* function ext_hdr arguments as const (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: topology: fix: handle DAI widget connections properly with multiple CPU DAI's (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Add i.MX8MP device descriptor (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: Add i.MX8M HW support (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx: fix undefined reference issue (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: imx8: Fix randbuild error (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: topology: Remove unneeded semicolon (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: fsl_micfil: Omit superfluous error message in fsl_micfil_probe() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: skl_hda_generic: remove rtd->codec_dai (Jaroslav Kysela) [1869536] - [sound] ALSA: usb-audio: RME Babyface Pro mixer patch (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8900: remove some defined but not used symbols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8990: remove some defined but unused symbols (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8991: remove defined but not used 'wm8991_dapm_rxvoice_controls' (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: wm8994: remove wm1811_snd_controls and mixin_boost_tlv (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Support nvidia, headset property (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt711: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt700: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt5682: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_rt1308: remove codec dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_hdmi: remove codec_dai use (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_sdw_hdmi: fix compilation issue in fallback mode (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof-da7219-max98373: add DMIC widget and route (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel: sof_sdw: init all aggregated codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: boards: support Elkhart Lake with rt5660 (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for ElkhartLake (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: Add ElkhartLake HDMI codec vid (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: intel/skl/hda - set autosuspend timeout for hda codecs (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: Intel: sof_da7219_max98373: Add BE dailink for dmic16k (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: remove cpu_dai/codec_dai/cpu_dais/codec_dais (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: tidyup soc_new_pcm_runtime() rtd setups (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: set rtd->num_cpu/codec at soc_new_pcm_runtime() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: soc-core: Add dynamic debug logs in soc_dai_link_sanity_check() (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: log number of microphones detected in NHLT tables (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce verbosity on SoundWire detection (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: codecs: rt1308-sdw: reduce verbosity (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: Intel: hda: remove unnecessary parentheses (Jaroslav Kysela) [1869536] - [sound] ALSA: ASoC: SOF: remove unneeded variables (Jaroslav Kysela) [1869536] - [sound] ALSA: hda: add autodetection for SoundWire (Jaroslav Kysela) [1869536] - [s390] mm/gup: fix gup_fast with dynamic page table folding (Philipp Rudo) [1879401 1768713 1883266]- [netdrv] Take common prefetch code structure into a function (Ivan Vecera) [1882011] - [net] lwtunnel: only keep the available bits when setting vxlan md->gbp (Xin Long) [1879363] - [net] sched: only keep the available bits when setting vxlan md->gbp (Xin Long) [1879363] - [vhost] Don't call access_ok() when using IOTLB (Greg Kurz) [1883084] - [clocksource] hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions (Mohammed Gamal) [1880230] - [net] core: Replace driver version to be kernel version (Petr Oros) [1867192] - [net] use netif_is_bridge_port() to check for IFF_BRIDGE_PORT (Josef Oskera) [1867923] - [net] sctp: fix sctp_auth_init_hmacs() error path (Xin Long) [1891413] - [net] sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant (Xin Long) [1891413] - [net] sctp: add SCTP_PEER_ADDR_THLDS_V2 sockopt (Xin Long) [1891413] - [net] sctp: add support for Primary Path Switchover (Xin Long) [1891413] - [net] sctp: add SCTP_EXPOSE_POTENTIALLY_FAILED_STATE sockopt (Xin Long) [1891413] - [net] sctp: add SCTP_ADDR_POTENTIALLY_FAILED notification (Xin Long) [1891413] - [net] sctp: add pf_expose per netns and sock and asoc (Xin Long) [1891413] - [net] qos offload add flow status with dropped count (Ivan Vecera) [1890263] - [i2c] i2c: i801: Add support for Intel Tiger Lake PCH-H (Steve Best) [1782725] - [i2c] i2c: i801: Add support for Intel Emmitsburg PCH (David Arcari) [1837403] - [mfd] mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs (David Arcari) [1837403] - [powerpc] powerpc/papr_scm: Fix warning triggered by perf_stats_show() (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Limit the readability of 'perf_stats' sysfs attribute (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Add support for fetching nvdimm 'fuel-gauge' metric (Diego Domingos) [1875364] - [powerpc] powerpc/papr_scm: Fetch nvdimm performance stats from PHYP (Diego Domingos) [1875364] - [include] driver-core: Introduce DEVICE_ATTR_ADMIN_{RO, RW} (Diego Domingos) [1875364] - [net] netfilter: reject: skip csum verification for protocols that don't support it (Florian Westphal) [1740082] - [net] netfilter: Fix remainder of pseudo-header protocol 0 (Florian Westphal) [1740082] - [powerpc] powerpc/pseries: Add KVM guest doorbell restrictions (Diego Domingos) [1870221] - [powerpc] powerpc: Inline doorbell sending functions (Diego Domingos) [1870221] - [powerpc] powerpc/pseries: Use doorbells even if XIVE is available (Diego Domingos) [1870221] - [powerpc] powerpc: Fix P10 PVR revision in /proc/cpuinfo for SMT4 cores (Steve Best) [1885927] - [tools] selftests: implement flower classifier terse dump tests (Ivan Vecera) [1879189] - [net] sched: cls_flower: implement terse dump support (Ivan Vecera) [1879189] - [net] sched: implement terse dump support in act (Ivan Vecera) [1879189] - [net] sched: introduce terse dump flag (Ivan Vecera) [1879189] - [netdrv] net/mlx5e: Fix missing switch_id for representors (Petr Oros) [1874073] - [tools] selftests: net: Add port split test (Petr Oros) [1874073] - [net] devlink: Move input checks from driver to devlink (Petr Oros) [1874073] - [net] devlink: Add a new devlink port split ability attribute and pass to netlink (Petr Oros) [1874073] - [netdrv] mlxsw: Set port split ability attribute in driver (Petr Oros) [1874073] - [net] devlink: Add a new devlink port lanes attribute and pass to netlink (Petr Oros) [1874073] - [netdrv] mlxsw: Set number of port lanes attribute in driver (Petr Oros) [1874073] - [net] devlink: Replace devlink_port_attrs_set parameters with a struct (Petr Oros) [1874073] - [net] devlink: Move switch_port attribute of devlink_port_attrs to devlink_port (Petr Oros) [1874073] - [net] devlink: Move set attribute of devlink_port_attrs to devlink_port (Petr Oros) [1874073] - [netdrv] mlx5e: Use helper API to get devlink port index for all port flavours (Petr Oros) [1874073] - [net] devlink: Add support for board.serial_number to info_get cb. (Petr Oros) [1879194] - [net] devlink: Support setting hardware address of port function (Petr Oros) [1879195] - [net] devlink: Support querying hardware address of port function (Petr Oros) [1879195] - [net] devlink: Prepare devlink port functions to fill extack (Petr Oros) [1879195] - [net] sctp: not disable bh in the whole sctp_get_port_local() (Xin Long) [1704525] - [net] sctp: replace some sock_net(sk) with just 'net' (Xin Long) [1704525] - [x86] x86/resctrl: Fix a NULL vs IS_ERR() static checker warning in rdt_cdp_peer_get() (Terry Bowman) [1873124]- [net] sched: initialize with 0 before setting erspan md->u (Xin Long) [1879358] - [net] ipv6: Discard next-hop MTU less than minimum link MTU (Balazs Nemeth) [1879893] - [kvm] Revert "x86/kvm: Move context tracking where it belongs" (Nitesh Narayan Lal) [1890284] - [video] hyperv_fb: Update screen_info after removing old framebuffer (Kairui Song) [1870081] - [x86] x86/kexec: Use up-to-dated screen_info copy to fill boot params (Kairui Song) [1870081] - [netdrv] netdevsim: Register control traps (Petr Oros) [1888724] - [net] devlink: Add ACL control packet traps (Petr Oros) [1888724] - [net] devlink: Add layer 3 control packet traps (Petr Oros) [1888724] - [net] devlink: Add layer 2 control packet traps (Petr Oros) [1888724] - [net] devlink: Add 'control' trap type (Petr Oros) [1888724] - [net] devlink: Add 'mirror' trap action (Petr Oros) [1888724] - [netdrv] netdevsim: Move layer 3 exceptions to exceptions trap group (Petr Oros) [1888724] - [net] devlink: Create dedicated trap group for layer 3 exceptions (Petr Oros) [1888724] - [net] xfrmi: drop ignore_df check before updating pmtu (Balazs Nemeth) [1857679] - [kernel] sched/features: Fix !CONFIG_JUMP_LABEL case (Daniel Bristot de Oliveira) [1885850] - [net] flow_offload: simplify hw stats check handling (Ivan Vecera) [1888317] - [scsi] scsi: core: Only re-run queue in scsi_end_request() if device queue is busy (Ewan Milne) [1885733] - [scsi] scsi: core: Clean up scsi_noretry_cmd() (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Make sdebug_build_parts() respect virtual_gb (Ewan Milne) [1885733] - [scsi] scsi: fc: Add 256GBit speed setting to SCSI FC transport (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement lun_format (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Remove superfluous close zone in resp_open_zone() (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_sas: Add spaces around binary operator "|" (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_srp: Sanitize scsi_target_block/unblock sequences (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement tur_ms_to_ready parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix request sense (Ewan Milne) [1885733] - [scsi] scsi: core: Delete unnecessary buffer allocation for every loop iteration (Ewan Milne) [1885733] - [scsi] scsi: core: Add missing scsi_device_put() in scsi_host_block() (Ewan Milne) [1885733] - [scsi] scsi: core: Only return started requests from scsi_host_find_tag() (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_iscsi: Drop a duplicated word (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_sas: Add missing newline in sysfs 'enable' attribute (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_fc: Match HBA Attribute Length with HBAAPI V2.0 definitions (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Update documentation url and bump version (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: every_nth triggered error injection (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Support hostwide tags (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add check for sdebug_max_queue during module init (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Fix kdoc comment format (Ewan Milne) [1885733] - [scsi] scsi: sd: Fix kdoc comment format (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix in_use bitmap corruption (Ewan Milne) [1885733] - [scsi] scsi: core: Register sysfs for SCSI workqueue (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport_spi: Fix function pointer check (Ewan Milne) [1885733] - [scsi] scsi: core: Fix formatting errors in scsi_lib.c (Ewan Milne) [1885733] - [scsi] scsi: core: Remove scsi_sdb_cache (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_probe() missing deallocate of device minor (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_probe() missing mutex_destroy (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Parser tables and code interaction (Ewan Milne) [1885733] - [scsi] scsi: core: Refactor scsi_mq_setup_tags function (Ewan Milne) [1885733] - [scsi] scsi: core: Fix incorrect usage of shost_for_each_device (Ewan Milne) [1885733] - [scsi] scsi: sd: Add zoned capabilities device attribute (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Fix an error handling bug in sdeb_zbc_model_str() (Ewan Milne) [1885733] - [scsi] scsi: pm: Balance pm_only counter of request queue during system resume (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Disallow zone sizes that are not powers of 2 (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement ZBC host-aware emulation (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_size_mb module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_nr_conv module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add zone_max_open module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC module parameter (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC zone commands (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add ZBC mode and VPD pages (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Bump to version 1.89 (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Re-arrange parameters alphabetically (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement PRE-FETCH commands (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Weaken rwlock around ramdisk access (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Implement VERIFY(10), add VERIFY(16) (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Add per_host_store option (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Use scsi_et_resid() where appropriate (Ewan Milne) [1885733] - [scsi] scsi: scsi_debug: Randomize command completion time (Ewan Milne) [1885733] - [scsi] scsi: core: doc: Change function comments to kernel-doc style (Ewan Milne) [1885733] - [scsi] scsi: sr: Use {get, put}_unaligned_be*() instead of open-coding these functions (Ewan Milne) [1885733] - [scsi] scsi_ioctl.c: switch SCSI_IOCTL_GET_IDLUN to copy_to_user() (Ewan Milne) [1885733] - [scsi] scsi: core: Avoid calling synchronize_rcu() for each device in scsi_host_block() (Ewan Milne) [1885733] - [scsi] scsi: st: remove unneeded variable 'result' in st_release() (Ewan Milne) [1885733] - [scsi] scsi: sr: Fix sr_block_release() (Ewan Milne) [1885733] - [scsi] scsi: scsi_trace: Use get_unaligned_be24() (Ewan Milne) [1885733] - [scsi] scsi: st: Use get_unaligned_be24() and sign_extend32() (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_busy_iter() (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_(block, unblock) helper function (Ewan Milne) [1885733] - [scsi] scsi: core: add scsi_host_complete_all_commands() helper (Ewan Milne) [1885733] - [scsi] scsi: sr: get rid of sr global mutex (Ewan Milne) [1885733] - [powerpc] scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled (Ewan Milne) [1885733] - [scsi] scsi: core: remove .for_blk_mq (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Rename sd_zbc_check_zones() (Ewan Milne) [1885733] - [scsi] scsi: sd_zbc: Simplify sd_zbc_check_zones() (Ewan Milne) [1885733] - [ata] scsi: core: Clean up SG_NONE (Ewan Milne) [1885733] - [scsi] scsi: scsi_transport.h: switch to SPDX tags (Ewan Milne) [1885733] - [scsi] scsi: libsas: Inject revalidate event for root port event (Ewan Milne) [1885733] - [scsi] scsi: libsas: Stop hardcoding SAS address length (Ewan Milne) [1885733] - [scsi] scsi: clean obsolete return values of eh_timed_out (Ewan Milne) [1885733] - [scsi] scsi: libsas: Fix some indentation in libsas.h (Ewan Milne) [1885733] - [scsi] scsi: st: mark expected switch fall-throughs (Ewan Milne) [1885733] - [scsi] scsi: libsas: delete dead code in scsi_transport_sas.c (Ewan Milne) [1885733] - [nvme] nvme-rdma: params to enable pi_capable devices (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Fix return value in __lpfc_nvme_ls_abort (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: fix axchg pointer reference after free and double frees (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Fix pointer checks and comments in (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] scsi: lpfc: Remove redundant initialization to variable rc (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Response support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Abort support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvme: Add Receive LS Request and Send LS Response support to nvme (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor Send LS Request support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvmet: Add Send LS Request and Abort LS Request support (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: nvmet: Add support for NVME LS request hosthandle (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor NVME LS receive handling (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Commonize lpfc_async_xchg_ctx state and flag definitions (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor nvmet_rcv_ctx to create lpfc_async_xchg_ctx (Gopal Tiwari) [1857052 1857051 1853231] - [scsi] lpfc: Refactor lpfc nvme headers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: allow to queue requests for live queues (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: cancel async events before freeing event struct (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Revert: Fix controller creation races with teardown flow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: only use power of two io boundaries (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix reset hang if controller died in the middle of a reset (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix NULL dereference for pci nvme controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: cancel nvme device request before disabling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()' (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: serialize controller teardown sequences (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix reset hang if controller died in the middle of a reset (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix timeout handler (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix controller instance leak (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix timeout handler (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: serialize controller teardown sequences (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: have nvme_wait_freeze_timeout return if it timed out (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Disable keep-alive timer when kato is cleared to 0h (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Fix wrong return value in __nvme_fc_init_request() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Use spin_lock_irq() when taking the ctrl->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: skip noiob for zoned devices (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: call blk_mq_free_request() directly (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix oops in pt cmd execution (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Use u32 for nvme_dev.q_depth and nvme_queue.q_depth (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add ns tear down label for pt-cmd handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix a memory leak (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-passthru: Reject commands with non-sgl flags set (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: remove extra variable in create ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: set ctrl state connecting after init (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce nvme_ctrl_get_by_path() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce the passthru Kconfig option (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce the passthru configfs interface (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Add passthru enable/disable helpers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add passthru code to process commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: export nvme_find_get_ns() and nvme_put_ns() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce nvme_execute_passthru_rq to call nvme_passthru_() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: remove redundant del_work_active flag (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: create helper function to obtain command effects (Gopal Tiwari) [1857052 1853231] - [nvme] nvme-hwmon: log the controller device name (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: check successful reference in nvmet_fc_find_target_assoc (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clear any SGL flags in passthru commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix deadlock in disconnect during scan_work and/or ana_work (Gopal Tiwari) [1857052 1857051 1853231] - [acpi] nvme-pci: add support for ACPI StorageD3Enable property (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: use new shared CQ mechanism (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use xarray for ctrl ns storing (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: document nvme controller states (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: use new shared CQ mechanism (Gopal Tiwari) [1857052 1857051 1853231] - [infiniband] RDMA/core: Add protection for shared CQs used by ULPs (Gopal Tiwari) [1857052 1853231] - [infiniband] RDMA/core: Introduce shared CQ pool API (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove an unnecessary condition (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove redundant validation in nvme_start_ctrl() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: prevent SK hynix PC400 from using Write Zeroes command (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: fix possible hang waiting for icresp response (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: explicitly update mpath disk capacity on revalidation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove ns->disk checks (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: fix some comments issues (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove redundant segment validation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use the consistent return type of nvme_pci_iod_alloc_size() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: add a blank line after declarations (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: support for multiple Command Sets Supported and Effects log pages (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: document quirked Intel models (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose reconnect_delay and ctrl_loss_tmo via sysfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: use USEC_PER_SEC instead of magic numbers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: implement multiple I/O Command Set support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: simplify nvmet_process_resp_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: leverage request plugging (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: have queue prod/cons send list become a llist (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: optimize network stack with setting msg flags according to batch size (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: verify wwnn and wwpn format (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use unsigned type for u64 (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: introduce flags member in nvmet_fabrics_ops (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: remove has_keyed_sgls initialization (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-loop: remove unused 'target_ctrl' in nvme_loop_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove the empty line at the beginning of nvme_should_reset() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: code cleanup for nvme_alloc_host_mem() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use unsigned for io queue depth (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-core: use u16 type for ctrl->sqsize (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-core: use u16 type for directives (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix a crash in nvme_mpath_add_disk (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: fix a missing completion with remove invalidation (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: factor out a nvme_rdma_end_request helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix deadlock due to head->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: don't protect ns mutation with ns->head->lock (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix bogus request queue reference put (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: fix deadlock between ana_work and scan_work (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix possible deadlock when I/O is blocked (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: assign completion vector correctly (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: override the value of the controller's numa node (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: set initial value for controller's numa node (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-loop: initialize tagset numa value to the value of the ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: use simple suspend when a HMB is enabled (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: constify nvmet_tcp_ops (Gopal Tiwari) [1857052 1857051 1853231] - [net] net: add sock_set_keepalive (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: constify nvme_tcp_mq_ops and nvme_tcp_admin_mq_ops (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: do not call del_gendisk() on a disk that was never added (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] ipv4: add ip_sock_set_tos (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] tcp: add tcp_sock_set_syncnt (Gopal Tiwari) [1857052 1857051 1853231] - [net] tcp: add tcp_sock_set_nodelay (Gopal Tiwari) [1857052 1857051 1853231] - [net] net: add sock_no_linger (Gopal Tiwari) [1857052 1857051 1853231] - [target] net: add sock_set_reuseaddr (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] net: add sock_set_priority (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: avoid race between nvme_reap_pending_cqes() and nvme_poll() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata support for block devices (Gopal Tiwari) [1857052 1857051 1853231] - [include] nvme: add Metadata Capabilities enumerations (Gopal Tiwari) [1857052 1853231] - [nvme] nvme: set dma alignment to qword (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add metadata characteristics for a namespace (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce NVME_INLINE_METADATA_SG_CNT (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce max_integrity_segments ctrl attribute (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: add metadata/T10-PI support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: enforce extended LBA format for fabrics metadata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: introduce nvme_rdma_sgl structure (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: rename nvmet_check_data_len to nvmet_check_transfer_len (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: rename nvmet_rw_len to nvmet_rw_data_len (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: generate AEN for ns revalidate size change (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce NVME_NS_METADATA_SUPPORTED flag (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: introduce namespace features flag (Gopal Tiwari) [1857052 1857051 1853231] - [lightnvm] lightnvm: disable interleaved metadata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: make nvme_ns_has_pi accessible to transports (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add helper to revalidate bdev and file ns (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: revalidate-ns & generate AEN from configfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: set MSG_EOR if we send last payload in the batch (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: replace zero-length array with flexible-array (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: delete an unnecessary declaration (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: make sure write/poll_queues less or equal then cpu count (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: disable streams when get stream params failed (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix io_opt limit setting (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-tcp: move send/recv error handling in the send/recv methods instead of call-sites (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: mark nvmet_ana_state static (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: set MSG_SENDPAGE_NOTLAST with MSG_MORE when we have more to send (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: replace kstrndup() with kmemdup_nul() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: dma read memory barrier for completions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: try to send request in queue_rq context (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: align addrfam list to spec (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: flush scan work on passthrough commands (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: define constants for identification values (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for address treq (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for ana states (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: use type-name map for address family (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: stop using ->queuedata (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove volatile cqes (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: avoid scheduling io_work if we are already polling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clean up error handling in nvme_init_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: remove last_sq_tail (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add generic type-name mapping (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: centralize port enable access for configfs (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: avoid gcc-10 zero-length-bounds warning (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-tcp: use bh_lock in data_ready (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: add ns revalidation support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: slight cleanup for kbuild test warnings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: unlink head after removing last namespace (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-multipath: set bdi capabilities once (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: revalidate after verifying identifiers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: use SRQ per completion vector (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: add an error flow for post_recv failures (Gopal Tiwari) [1857052 1853231] - [nvme] nvme: remove the magic 1024 constant in nvme_scan_ns_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: release namespace head reference on error (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: avoid an Identify Controller command for each namespace scan (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: factor out a nvme_ns_remove_by_nsid helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: consolidate chunk_sectors settings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: consolodate io settings (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: revalidate namespace stream parameters (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: clean up nvme_scan_work (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: refine the Qemu Identify CNS quirk (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: check namespace head shared property (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: always search for namespace head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove unused parameter (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: add LS failure messages (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: provide num dword helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Add Disconnect Association Xmt support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: track hostport handle for associations (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: add target to host LS request support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: refactor to enable target to host LS (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: rename ls_list to ls_rcv_list (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: perform small cleanups on unneeded checks (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Update header and host for common definitions for LS handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Update target for common definitions for LS handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: Better size LS buffers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc nvmet-fc: refactor for common LS definitions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fc: Add Disconnect Association Rcv support (Gopal Tiwari) [1857052 1857051 1853231] - [include] nvme-fc: Sync header to FC-NVME-2 rev 1.08 (Gopal Tiwari) [1857052 1853231] - [nvme] nvme-fc and nvmet-fc: revise LLDD api for LS reception and LS request (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: fix "slimmer CQ head update" (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: prevent double free in nvme_alloc_ns() error handling (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: fix double free of rdma queue (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: fix bonding failover possible NULL deref (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: fix NULL dereference when removing a referral (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: inherit stable pages constraint in the mpath stack device (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-fc: fix typo in comment (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: Replace comma with a semicolon (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fcloop: fix deallocation of working context (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: fix compat address handling in several ioctls (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix controller creation races with teardown flow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-rdma: Add warning on state change failure at nvme_rdma_setup_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: cleanup namespace identifier reporting in nvme_init_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: rename __nvme_find_ns_head to nvme_find_ns_head (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: release ida resources (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: Implement get_mdts controller op (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Use nvme_state_terminal helper (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet-rdma: allocate RW ctxs according to mdts (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Add compat_ioctl handler for NVME_IOCTL_SUBMIT_IO (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-fabrics: Use scnprintf() for avoiding potential buffer overflow (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Remove unused return code from nvme_delete_ctrl_sync (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Re-order nvme_pci_free_ctrl (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: properly print controller address (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: Add get_mdts op for controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Simplify nvme_poll_irqdisable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: slimmer CQ head update (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Remove two-pass completions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Remove tag from process cq (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: check ncqr & nsqr for set-features cmd (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Check for readiness more quickly, to speed up boot time (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: code cleanup nvme_identify_ns_desc() (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Don't deter users from enabling hwmon support (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose hostid via sysfs for fabrics controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: expose hostnqn via sysfs for fabrics controllers (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] scsi: treewide: Consolidate {get, put}_unaligned_e24() definitions (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: check sscanf value for subsys serial attr (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: remove unused return code from nvme_alloc_ns (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: configfs code cleanup (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: make ctrl model configurable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvmet: make ctrl-id configurable (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme: Fix uninitialized-variable warning (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme-pci: Use single IRQ vector for old Apple models (Gopal Tiwari) [1857052 1857051 1853231] - [nvme] nvme/pci: Add sleep quirk for Samsung and Toshiba drives (Gopal Tiwari) [1857052 1857051 1853231] - [md] dm: fix request-based DM to not bounce through indirect dm_make_request (Mike Snitzer) [1885650] - [md] dm: add support for REQ_NOWAIT and enable it for linear target (Mike Snitzer) [1885650] - [block] block: add QUEUE_FLAG_NOWAIT (Mike Snitzer) [1885650] - [md] dm: export dm_copy_name_and_uuid (Mike Snitzer) [1885650] - [md] dm snap persistent: simplify area_io() (Mike Snitzer) [1885650] - [md] dm thin metadata: Remove unused local variable when create thin and snap (Mike Snitzer) [1885650] - [md] dm raid: fix discard limits for raid0, raid1 and raid10 (Mike Snitzer) [1885650] - [md] dm: use dm_table_get_device_name() where appropriate in targets (Mike Snitzer) [1885650] - [md] dm table: make 'struct dm_table' definition accessible to all of DM core (Mike Snitzer) [1885650] - [md] dm: eliminate need for start_io_acct() forward declaration (Mike Snitzer) [1885650] - [md] dm: simplify __process_abnormal_io() (Mike Snitzer) [1885650] - [md] dm: push use of on-stack flush_bio down to __send_empty_flush() (Mike Snitzer) [1885650] - [md] dm thin metadata: Fix use-after-free in dm_bm_set_read_only (Mike Snitzer) [1885650] - [md] dm thin metadata: Avoid returning cmd->bm wild pointer on error (Mike Snitzer) [1885650] - [md] dm cache metadata: Avoid returning cmd->bm wild pointer on error (Mike Snitzer) [1885650] - [md] dm integrity: fix error reporting in bitmap mode after creation (Mike Snitzer) [1885650] - [md] dm crypt: Initialize crypto wait structures (Mike Snitzer) [1885650] - [md] dm mpath: fix racey management of PG initialization (Mike Snitzer) [1885650] - [md] dm writecache: handle DAX to partitions on persistent memory correctly (Mike Snitzer) [1885650] - [md] dm ioctl: Fix compilation warning (Mike Snitzer) [1885650] - [md] dm raid: Remove empty if statement (Mike Snitzer) [1885650] - [md] dm verity: Fix compilation warning (Mike Snitzer) [1885650] - [md] dm bufio: do buffer cleanup from a workqueue (Mike Snitzer) [1885650] - [md] dm verity: add "panic_on_corruption" error handling mode (Mike Snitzer) [1885650] - [md] dm: use noio when sending kobject event (Mike Snitzer) [1885650] - [md] dm writecache: add cond_resched to loop in persistent_memory_claim() (Mike Snitzer) [1885650] - [md] dm ioctl: use struct_size() helper in retrieve_deps() (Mike Snitzer) [1885650] - [md] dm writecache: skip writecache_wait when using pmem mode (Mike Snitzer) [1885650] - [md] dm writecache: correct uncommitted_block when discarding uncommitted entry (Mike Snitzer) [1885650] - [md] dm crypt: avoid truncating the logical block size (Mike Snitzer) [1885650] - [md] dm bufio: clean up rbtree block ordering (Mike Snitzer) [1885650] - [documentation] dm integrity: add status line documentation (Mike Snitzer) [1885650] - [md] dm: replace zero-length array with flexible-array (Mike Snitzer) [1885650] - [md] dm mpath: add Historical Service Time Path Selector (Mike Snitzer) [1885650] - [md] dm mpath: pass IO start time to path selector (Mike Snitzer) [1885650] - [md] dm writecache: improve performance on DDR persistent memory (Optane) (Mike Snitzer) [1885650] - [md] dm writecache: remove superfluous test in persistent_memory_claim (Mike Snitzer) [1885650] - [md] dm persistent data: switch exit_ro_spine to return void (Mike Snitzer) [1885650] - [md] dm integrity: remove set but not used variables (Mike Snitzer) [1885650] - [documentation] dm crypt: document encrypted keyring key option (Mike Snitzer) [1885650] - [md] dm crypt: support using encrypted keys (Mike Snitzer) [1885650] - [md] dm verity fec: fix hash block number in verity_fec_decode (Mike Snitzer) [1885650] - [documentation] dm integrity: document allow_discard option (Mike Snitzer) [1885650] - [net] bridge: always clear mcast matching struct on reports and leaves (Ivan Vecera) [1859244] - [net] bridge: increase multicast's default maximum number of entries (Ivan Vecera) [1859244] - [net] bridge: mark hash_elasticity as obsolete (Ivan Vecera) [1859244] - [net] bridge: multicast: use non-bh rcu flavor (Ivan Vecera) [1859244] - [net] bridge: convert multicast to generic rhashtable (Ivan Vecera) [1859244] - [net] revert "net/bridge: Replace call_rcu_bh() and rcu_barrier_bh()" (Ivan Vecera) [1859244] - [net] ip6gre: avoid tx_error when sending MLD/DAD on external tunnels (Davide Caratti) [1847838] - [nvme] nvme-rdma: fix controller reset hang during traffic (Ming Lei) [1881760] - [nvme] nvme-tcp: fix controller reset hang during traffic (Ming Lei) [1881760] - [scsi] scsi: sd: sd_zbc: Fix ZBC disk initialization (Ming Lei) [1881760] - [md] dm: update original bio sector on Zone Append (Ming Lei) [1881760] - [s390] s390/dasd: Fix zero write for FBA devices (Ming Lei) [1881760] - [block] block: restore a specific error code in bdev_del_partition (Ming Lei) [1881760] - [block] blk-stat: make q->stats->lock irqsafe (Ming Lei) [1881760] - [block] blk-iocost: ioc_pd_free() shouldn't assume irq disabled (Ming Lei) [1881760] - [block] block: fix locking in bdev_del_partition (Ming Lei) [1881760] - [block] block: release disk reference in hd_struct_free_work (Ming Lei) [1881760] - [block] loop: Set correct device size when using LOOP_CONFIGURE (Ming Lei) [1881760] - [block] loop: unset GENHD_FL_NO_PART_SCAN on LOOP_CONFIGURE (Ming Lei) [1881760] - [block] block: check queue's limits.discard_granularity in __blkdev_issue_discard() (Ming Lei) [1881760] - [block] block: don't do revalidate zones on invalid devices (Ming Lei) [1881760] - [s390] s390/dasd: fix inability to use DASD with DIAG driver (Ming Lei) [1881760] - [tools] iocost_monitor: start from the oldest usage index (Ming Lei) [1881760] - [block] iocost: Fix check condition of iocg abs_vdebt (Ming Lei) [1881760] - [block] block: Use non _rcu version of list functions for tag_set_list (Ming Lei) [1881760] - [block] blk-cgroup: show global disk stats in root cgroup io.stat (Ming Lei) [1881760] - [block] blk-cgroup: make iostat functions visible to stat printing (Ming Lei) [1881760] - [block] block: improve discard bio alignment in __blkdev_issue_discard() (Ming Lei) [1881760] - [block] block: defer flush request no matter whether we have elevator (Ming Lei) [1881760] - [block] block: make blk_timeout_init() static (Ming Lei) [1881760] - [block] Revert "blk-rq-qos: remove redundant finish_wait to rq_qos_wait." (Ming Lei) [1881760] - [block] block: relax jiffies rounding for timeouts (Ming Lei) [1881760] - [lib] sbitmap: Consider cleared bits in sbitmap_bitmap_show() (Ming Lei) [1881760] - [block] blk-cgroup: clean up indentation (Ming Lei) [1881760] - [block] blk-cgroup: remove a dead check in blk_throtl_bio (Ming Lei) [1881760] - [block] blk-cgroup: remove blkcg_bio_issue_check (Ming Lei) [1881760] - [block] blk-cgroup: move rcu locking from blkcg_bio_issue_check to blk_throtl_bio (Ming Lei) [1881760] - [kernel] cgroup: unexport cgroup_rstat_updated (Ming Lei) [1881760] - [block] blk-cgroup: remove the !bio->bi_blkg check in blkcg_bio_issue_check (Ming Lei) [1881760] - [block] block: move the initial blkg lookup into blkg_tryget_closest (Ming Lei) [1881760] - [block] block: bypass blkg_tryget_closest for the root_blkg (Ming Lei) [1881760] - [block] block: merge blkg_lookup_create and __blkg_lookup_create (Ming Lei) [1881760] - [block] block: move the bio cgroup associatation helpers to blk-cgroup.c (Ming Lei) [1881760] - [block] block: move bio_associate_blkg_from_page to mm/page_io.c (Ming Lei) [1881760] - [block] block: merge __bio_associate_blkg into bio_associate_blkg_from_css (Ming Lei) [1881760] - [block] block: really clone the block cgroup in bio_clone_blkg_association (Ming Lei) [1881760] - [block] blkcg: clean up blkg_tryget_closest() (Ming Lei) [1881760] - [block] block: remove bio_disassociate_blkg (Ming Lei) [1881760] - [md] dm: use bio_uninit instead of bio_disassociate_blkg (Ming Lei) [1881760] - [block] blk-rq-qos: remove redundant finish_wait to rq_qos_wait (Ming Lei) [1881760] - [block] blktrace: Provide event for request merging (Ming Lei) [1881760] - [fs] block: simplify sb_is_blkdev_sb (Ming Lei) [1881760] - [fs] block: mark bd_finish_claiming static (Ming Lei) [1881760] - [tty] tty/sysrq: emergency_thaw_all does not depend on CONFIG_BLOCK (Ming Lei) [1881760] - [block] blk-iocost: Use struct_size() in kzalloc_node() (Ming Lei) [1881760] - [block] block: bio: Use struct_size() in kmalloc() (Ming Lei) [1881760] - [block] block: create the request_queue debugfs_dir on registration (Ming Lei) [1881760] - [block] blk-mq: add a new blk_mq_complete_request_remote API (Ming Lei) [1881760] - [block] blk-mq: factor out a blk_mq_complete_need_ipi helper (Ming Lei) [1881760] - [block] blk-mq: remove the get_cpu/put_cpu pair in blk_mq_complete_request (Ming Lei) [1881760] - [block] blk-mq: move failure injection out of blk_mq_complete_request (Ming Lei) [1881760] - [block] blk-mq: merge the softirq vs non-softirq IPI logic (Ming Lei) [1881760] - [block] blk-mq: short cut the IPI path in blk_mq_force_complete_rq for !SMP (Ming Lei) [1881760] - [block] blk-mq: complete polled requests directly (Ming Lei) [1881760] - [block] blk-mq: remove raise_blk_irq (Ming Lei) [1881760] - [block] blk-mq: factor out a helper to reise the block softirq (Ming Lei) [1881760] - [block] blk-mq: merge blk-softirq.c into blk-mq.c (Ming Lei) [1881760] - [block] nbd: Fix memory leak in nbd_add_socket (Ming Lei) [1881760] - [block] block: make function __bio_integrity_free() static (Ming Lei) [1881760] - [block] virtio-blk: free vblk-vqs in error path of virtblk_probe() (Ming Lei) [1881760] - [block] blk-mq-debugfs: update blk_queue_flag_nameaccordingly for new flags (Ming Lei) [1881760] - [block] block: release bip in a right way in error path (Ming Lei) [1881760] - [fs] block: make function 'kill_bdev' static (Ming Lei) [1881760] - [block] loop: replace kill_bdev with invalidate_bdev (Ming Lei) [1881760] - [block] partitions/ldm: Replace uuid_copy() with import_uuid() where it makes sense (Ming Lei) [1881760] - [block] block: update hctx map when use multiple maps (Ming Lei) [1881760] - [trace] trace/events/block.h: drop kernel-doc for dropped function parameter (Ming Lei) [1881760] - [block] blk-mq: Remove redundant 'return' statement (Ming Lei) [1881760] - [block] umem: remove redundant initialization of variable ret (Ming Lei) [1881760] - [block] pktcdvd: remove redundant initialization of variable ret (Ming Lei) [1881760] - [kernel] blktrace: fix endianness for blk_log_remap() (Ming Lei) [1881760] - [kernel] blktrace: fix endianness in get_pdu_int() (Ming Lei) [1881760] - [kernel] blktrace: use errno instead of bi_status (Ming Lei) [1881760] - [block] block: nr_sects_write(): Disable preemption on seqcount write (Ming Lei) [1881760] - [nvme] block: remove the error argument to the block_bio_complete tracepoint (Ming Lei) [1881760] - [block] loop: Fix wrong masking of status flags (Ming Lei) [1881760] - [block] block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed (Ming Lei) [1881760] - [block] block: always define struct blk_integrity in genhd.h (Ming Lei) [1881760] - [s390] dasd: refactor dasd_ioctl_information (Ming Lei) [1881760] - [block] loop: Add LOOP_CONFIGURE ioctl (Ming Lei) [1881760] - [block] loop: Clean up LOOP_SET_STATUS lo_flags handling (Ming Lei) [1881760] - [block] loop: Rework lo_ioctl() __user argument casting (Ming Lei) [1881760] - [block] loop: Move loop_set_status_from_info() and friends up (Ming Lei) [1881760] - [block] loop: Factor out configuring loop from status (Ming Lei) [1881760] - [block] loop: Remove figure_loop_size() (Ming Lei) [1881760] - [block] loop: Refactor loop_set_status() size calculation (Ming Lei) [1881760] - [block] loop: Switch to set_capacity_revalidate_and_notify() (Ming Lei) [1881760] - [block] loop: Factor out setting loop device size (Ming Lei) [1881760] - [block] loop: Remove sector_t truncation checks (Ming Lei) [1881760] - [block] loop: Call loop_config_discard() only after new config is applied (Ming Lei) [1881760] - [block] block/swim3: use set_current_state macro (Ming Lei) [1881760] - [block] block: mark bio_wouldblock_error() bio with BIO_QUIET (Ming Lei) [1881760] - [block] blk-wbt: rename __wbt_update_limits to wbt_update_limits (Ming Lei) [1881760] - [block] blk-wbt: remove wbt_update_limits (Ming Lei) [1881760] - [block] blk-throttle: remove tg_drain_bios (Ming Lei) [1881760] - [block] blk-throttle: remove blk_throtl_drain (Ming Lei) [1881760] - [block] null_blk: force complete for timeout request (Ming Lei) [1881760] - [block] block: fix a warning when blkdev.h is included for !CONFIG_BLOCK builds (Ming Lei) [1881760] - [block] block: reduce part_stat_lock() scope (Ming Lei) [1881760] - [block] block: use __this_cpu_add() instead of access by smp_processor_id() (Ming Lei) [1881760] - [block] block: remove rcu_read_lock() from part_stat_lock() (Ming Lei) [1881760] - [block] block: add a blk_account_io_merge_bio helper (Ming Lei) [1881760] - [block] block: account merge of two requests (Ming Lei) [1881760] - [block] zram: nvdimm: use bio_{start, end}_io_acct and disk_{start, end}_io_acct (Ming Lei) [1881760] - [nvdimm] nvdimm: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [md] dm: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] rsxx: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] drbd: use bio_{start,end}_io_acct (Ming Lei) [1881760] - [block] block: add disk/bio-based accounting helpers (Ming Lei) [1881760] - [block] block: remove the disk and queue NULL checks in blkdev_issue_flush (Ming Lei) [1881760] - [fs] block: remove the error_sector argument to blkdev_issue_flush (Ming Lei) [1881760] - [block] block: Remove unused flush_queue_delayed in struct blk_flush_queue (Ming Lei) [1881760] - [block] null_blk: Zero-initialize read buffers in non-memory-backed mode (Ming Lei) [1881760] - [include] block: Document the bio_vec properties (Ming Lei) [1881760] - [block] bio.h: Declare the arguments of the bio iteration functions const (Ming Lei) [1881760] - [block] block: Fix type of first compat_put_{, u}long() argument (Ming Lei) [1881760] - [block] block: merge part_{inc, dev}_in_flight into their only callers (Ming Lei) [1881760] - [block] block: don't call part_{inc, dec}_in_flight for blk-mq devices (Ming Lei) [1881760] - [block] block: move the blk-mq calls out of part_in_flight{, _rw} (Ming Lei) [1881760] - [block] block: mark blk_account_io_completion static (Ming Lei) [1881760] - [block] blk-mq: allow blk_mq_make_request to consume the q_usage_counter reference (Ming Lei) [1881760] - [kernel] blktrace: Report pid with note messages (Ming Lei) [1881760] - [block] iocost: don't let vrate run wild while there's no saturation signal (Ming Lei) [1881760] - [block] block: move blk_io_schedule() out of header file (Ming Lei) [1881760] - [block] block: export bio_release_pages and bio_iov_iter_get_pages (Ming Lei) [1881760] - [block] null_blk: Support REQ_OP_ZONE_APPEND (Ming Lei) [1881760] - [scsi] scsi: sd_zbc: emulate ZONE_APPEND commands (Ming Lei) [1881760] - [scsi] scsi: sd_zbc: factor out sanity checks for zoned commands (Ming Lei) [1881760] - [block] block: Modify revalidate zones (Ming Lei) [1881760] - [block] block: introduce blk_req_zone_write_trylock (Ming Lei) [1881760] - [block] block: Introduce REQ_OP_ZONE_APPEND (Ming Lei) [1881760] - [block] block: rename __bio_add_pc_page to bio_add_hw_page (Ming Lei) [1881760] - [block] block: provide fallbacks for blk_queue_zone_is_seq and blk_queue_zone_no (Ming Lei) [1881760] - [fs] block: add blk_io_schedule() for avoiding task hung in sync dio (Ming Lei) [1881760] - [block] block: don't hold part0's refcount in IO path (Ming Lei) [1881760] - [block] block: only define 'nr_sects_seq' in hd_part for 32bit SMP (Ming Lei) [1881760] - [block] bdi: fix up for "remove the name field in struct backing_dev_info" (Ming Lei) [1881760] - [fs] hfs: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] bdi: remove the name field in struct backing_dev_info (Ming Lei) [1881760] - [mtd] bdi: simplify bdi_alloc (Ming Lei) [1881760] - [block] bdi: remove bdi_register_owner (Ming Lei) [1881760] - [mm] bdi: unexport bdi_register_va (Ming Lei) [1881760] - [base] driver core: remove device_create_vargs (Ming Lei) [1881760] - [block] block: rename blk_mq_alloc_rq_maps (Ming Lei) [1881760] - [block] block: rename __blk_mq_alloc_rq_map (Ming Lei) [1881760] - [fs] udf: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] isofs: stop using ioctl_by_bdev (Ming Lei) [1881760] - [fs] hfsplus: stop using ioctl_by_bdev (Ming Lei) [1881760] - [cdrom] cdrom: factor out a cdrom_multisession helper (Ming Lei) [1881760] - [cdrom] cdrom: factor out a cdrom_read_tocentry helper (Ming Lei) [1881760] - [ide] ide-cd: rename cdrom_read_tocentry (Ming Lei) [1881760] - [cdrom] block: add a cdrom_device_info pointer to struct gendisk (Ming Lei) [1881760] - [block] block: add a bio_queue_enter helper (Ming Lei) [1881760] - [block] block: replace BIO_QUEUE_ENTERED with BIO_CGROUP_ACCT (Ming Lei) [1881760] - [block] block: improve the submit_bio and generic_make_request documentation (Ming Lei) [1881760] - [block] blk-mq: make function '__blk_mq_sched_dispatch_requests' static (Ming Lei) [1881760] - [block] block: bypass ->make_request_fn for blk-mq drivers (Ming Lei) [1881760] - [md] dm: remove the make_request_fn check in device_area_is_invalid (Ming Lei) [1881760] - [block] block: remove create_io_context (Ming Lei) [1881760] - [fs] block: unexport bdev_read_page and bdev_write_page (Ming Lei) [1881760] - [scsi] scsi: merge scsi_init_sgtable into scsi_init_io (Ming Lei) [1881760] - [block] block: provide a blk_rq_map_sg variant that returns the last element (Ming Lei) [1881760] - [block] block: remove RQF_COPY_USER (Ming Lei) [1881760] - [block] block: fold bdev_unhash_inode into invalidate_partition (Ming Lei) [1881760] - [block] block: simplify block device syncing in bdev_del_partition (Ming Lei) [1881760] - [block] block: don't call invalidate_partition from blk_drop_partitions (Ming Lei) [1881760] - [s390] dasd: use blk_drop_partitions instead of badly reimplementing it (Ming Lei) [1881760] - [block] block: remove the disk argument from blk_drop_partitions (Ming Lei) [1881760] - [block] block: remove hd_struct_kill (Ming Lei) [1881760] - [block] block: cleanup hd_struct freeing (Ming Lei) [1881760] - [block] block: pass a hd_struct to delete_partition (Ming Lei) [1881760] - [block] block: refactor blkpg_ioctl (Ming Lei) [1881760] - [block] null_blk: don't allow discard for zoned mode (Ming Lei) [1881760] - [block] null_blk: return error for invalid zone size (Ming Lei) [1881760] - [block] iocost: protect iocg->abs_vdebt with iocg->waitq.lock (Ming Lei) [1881760] - [block] block: remove the bd_openers checks in blk_drop_partitions (Ming Lei) [1881760] - [block] null_blk: Cleanup zoned device initialization (Ming Lei) [1881760] - [block] null_blk: Fix zoned command handling (Ming Lei) [1881760] - [fs] block: remove unused header (Ming Lei) [1881760] - [fs] bdev: Reduce time holding bd_mutex in sync in blkdev_close() (Ming Lei) [1881760] - [trace] blk-wbt: Drop needless newlines from tracepoint format strings (Ming Lei) [1881760] - [block] blk-wbt: Use tracepoint_string() for wbt_step tracepoint string literals (Ming Lei) [1881760] - [s390] s390/dasd: remove IOSCHED_DEADLINE from DASD Kconfig (Ming Lei) [1881760] - [block] block: fix busy device checking in blk_drop_partitions again (Ming Lei) [1881760] - [block] block: fix busy device checking in blk_drop_partitions (Ming Lei) [1881760] - [block] blkcg: don't offline parent blkcg first (Ming Lei) [1881760] - [block] blkcg: rename blkcg->cgwb_refcnt to ->online_pin and always use it (Ming Lei) [1881760] - [block] null_blk: add trace in null_blk_zoned.c (Ming Lei) [1881760] - [block] null_blk: add tracepoint helpers for zoned mode (Ming Lei) [1881760] - [block] block: add a zone condition debug helper (Ming Lei) [1881760] - [block] rsxx: Replace zero-length array with flexible-array member (Ming Lei) [1881760] - [block] null_blk: describe the usage of fault injection param (Ming Lei) [1881760] - [block] null_blk: fix spurious IO errors after failed past-wp access (Ming Lei) [1881760] - [block] nbd: requeue command if the soecket is changed (Ming Lei) [1881760] - [block] nbd: enable replace socket if only one connection is configured (Ming Lei) [1881760] - [block] block/drbd: delete invalid function drbd_md_mark_dirty_ (Ming Lei) [1881760] - [block] loop: Only freeze block queue when needed (Ming Lei) [1881760] - [block] loop: Only change blocksize when needed (Ming Lei) [1881760] - [block] block: move bdevname() into block/generic-partition-rh.c (Ming Lei) [1881760] - [block] block: return NULL in blk_alloc_queue() on error (Ming Lei) [1881760] - [block] block: simplify queue allocation (Ming Lei) [1881760] - [block] Revert "blkdev: check for valid request queue before issuing flush" (Ming Lei) [1881760] - [block] null_blk: use blk_mq_init_queue_data (Ming Lei) [1881760] - [block] block: add a blk_mq_init_queue_data helper (Ming Lei) [1881760] - [block] block: move the ->devnode callback to struct block_device_operations (Ming Lei) [1881760] - [block] block: move block layer internals out of include/linux/genhd.h (Ming Lei) [1881760] - [fs] block: move guard_bio_eod to bio.c (Ming Lei) [1881760] - [block] block: unexport disk_map_sector_rcu (Ming Lei) [1881760] - [block] block: unexport disk_get_part (Ming Lei) [1881760] - [block] block: mark part_in_flight and part_in_flight_rw static (Ming Lei) [1881760] - [block] block: mark block_depr static (Ming Lei) [1881760] - [block] block: factor out requeue handling from dispatch code (Ming Lei) [1881760] - [block] block/diskstats: replace time_in_queue with sum of request times (Ming Lei) [1881760] - [block] block/diskstats: accumulate all per-cpu counters in one pass (Ming Lei) [1881760] - [block] block: merge partition-generic.c and check.c (Ming Lei) [1881760] - [block] block: move the various x86 Unix label formats out of genhd.h (Ming Lei) [1881760] - [block] partitions/msdos: remove LINUX_SWAP_PARTITION (Ming Lei) [1881760] - [block] block: move the *_PARTITION enum out of genhd.h (Ming Lei) [1881760] - [scsi] block: move struct partition out of genhd.h (Ming Lei) [1881760] - [block] block: remove block/partitions/sun.h (Ming Lei) [1881760] - [block] block: remove block/partitions/sgi.h (Ming Lei) [1881760] - [block] block: remove block/partitions/osf.h (Ming Lei) [1881760] - [block] block: remove block/partitions/karma.h (Ming Lei) [1881760] - [block] block: declare all partition detection routines in check.h (Ming Lei) [1881760] - [block] block: remove warn_no_part (Ming Lei) [1881760] - [md] block: cleanup how md_autodetect_dev is called (Ming Lei) [1881760] - [block] block: unexport read_dev_sector and put_dev_sector (Ming Lei) [1881760] - [scsi] scsi: simplify scsi_partsize (Ming Lei) [1881760] - [block] block: remove alloc_part_info and free_part_info (Ming Lei) [1881760] - [block] block: move sysfs methods shared by disks and partitions to genhd.c (Ming Lei) [1881760] - [block] block: move disk_name and related helpers out of partition-generic.c (Ming Lei) [1881760] - [fs] block: remove __bdevname (Ming Lei) [1881760] - [block] block: remove the blk_lookup_devt export (Ming Lei) [1881760] - [block] block, bfq: invoke flush_idle_tree after reparent_active_queues in pd_offline (Ming Lei) [1881760] - [block] block, bfq: make reparent_leaf_entity actually work only on leaf entities (Ming Lei) [1881760] - [block] block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup (Ming Lei) [1881760] - [block] block, bfq: move forward the getting of an extra ref in bfq_bfqq_move (Ming Lei) [1881760] - [scsi] scsi: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [nvme] nvme: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [block] virtio_blk.c: Convert to use set_capacity_revalidate_and_notify (Ming Lei) [1881760] - [block] block/genhd: Notify udev about capacity change (Ming Lei) [1881760] - [fs] block: fix a device invalidation regression (Ming Lei) [1881760] - [block] blk-iocost: remove duplicated lines in comments (Ming Lei) [1881760] - [block] block: sed-opal: Change the check condition for regular session validity (Ming Lei) [1881760] - [block] block: Document genhd capability flags (Ming Lei) [1881760] - [block] block: cleanup comment for blk_flush_complete_seq (Ming Lei) [1881760] - [block] block: remove unneeded argument from blk_alloc_flush_queue (Ming Lei) [1881760] - [block] block: cleanup for _blk/blk_rq_prep_clone (Ming Lei) [1881760] - [block] block: remove redundant setting of QUEUE_FLAG_DYING (Ming Lei) [1881760] - [block] block: use bio_{wouldblock, io}_error in direct_make_request (Ming Lei) [1881760] - [block] block: fix comment for blk_cloned_rq_check_limits (Ming Lei) [1881760] - [block] null_blk: Add support for init_hctx() fault injection (Ming Lei) [1881760] - [block] null_blk: Handle null_add_dev() failures properly (Ming Lei) [1881760] - [block] null_blk: Fix the null_add_dev() error path (Ming Lei) [1881760] - [block] compat_ioctl: simplify up block/ioctl.c (Ming Lei) [1881760] - [block] compat_ioctl: block: simplify compat_blkpg_ioctl() (Ming Lei) [1881760] - [block] compat_ioctl: block: move blkdev_compat_ioctl() into ioctl.c (Ming Lei) [1881760] - [block] blk-mq: insert flush request to the front of dispatch queue (Ming Lei) [1881760] - [block] block: Remove used kblockd_schedule_work_on() (Ming Lei) [1881760] - [block] null_blk: remove unused fields in 'nullb_cmd' (Ming Lei) [1881760] - [block] drbd: fifo_alloc() should use struct_size (Ming Lei) [1881760] - [block] partitions/ldm: fix spelling mistake "to" -> "too" (Ming Lei) [1881760] - [block] block: mark zone-mgmt bios with REQ_SYNC (Ming Lei) [1881760] - [block] blk-mq: Document functions for sending request (Ming Lei) [1881760] - [block] block: Allow t10-pi to be modular (Ming Lei) [1881760] - [block] blk-mq: optimise blk_mq_flush_plug_list() (Ming Lei) [1881760] - [include] list: introduce list_for_each_continue() (Ming Lei) [1881760] - [block] blk-mq: optimise rq sort function (Ming Lei) [1881760] - [block] blk-cgroup: cgroup_rstat_updated() shouldn't be called on cgroup1 (Ming Lei) [1881760] - [block] blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTAT (Ming Lei) [1881760] - [block] blk-cgroup: reimplement basic IO stats using cgroup rstat (Ming Lei) [1881760] - [block] blk-cgroup: remove now unused blkg_print_stat_{bytes|ios}_recursive() (Ming Lei) [1881760] - [block] blk-throtl: stop using blkg->stat_bytes and ->stat_ios (Ming Lei) [1881760] - [block] bfq-iosched: Ensure bio->bi_blkg is valid before using it (Ming Lei) [1881760] - [block] bfq-iosched: stop using blkg->stat_bytes and ->stat_ios (Ming Lei) [1881760] - [block] bfq-iosched: relocate bfqg_*rwstat*() helpers (Ming Lei) [1881760] - [md] dm: fix comment in __dm_suspend() (Mike Snitzer) [1881531] - [md] dm: fold dm_process_bio() into dm_make_request() (Mike Snitzer) [1881531] - [md] dm: fix missing imposition of queue_limits from dm_wq_work() thread (Mike Snitzer) [1881531] - [md] dm: optimize max_io_len() by inlining max_io_len_target_boundary() (Mike Snitzer) [1881531] - [md] dm: push md->immutable_target optimization down to __process_bio() (Mike Snitzer) [1881531] - [md] dm: change max_io_len() to use blk_max_size_offset() (Mike Snitzer) [1881531] - [md] dm table: stack 'chunk_sectors' limit to account for target-specific splitting (Mike Snitzer) [1881531] - [block] block: allow 'chunk_sectors' to be non-power-of-2 (Mike Snitzer) [1881531] - [block] block: use lcm_not_zero() when stacking chunk_sectors (Mike Snitzer) [1881531] - [md] dm: fix bio splitting and its bio completion order for regular IO (Mike Snitzer) [1881531] - [net] net-sysfs: add backlog len and CPU id to softnet data (Paolo Abeni) [1866909] - [net] try to avoid unneeded backlog flush (Paolo Abeni) [1866909] - [net] skbuff: fix a data race in skb_queue_len() (Paolo Abeni) [1866909] - [cpuidle] cpuidle: pseries: Fix CEDE latency conversion from tb to us (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Fixup exit latency for CEDE(0) (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Add function to parse extended CEDE records (Diego Domingos) [1608791] - [cpuidle] cpuidle: pseries: Set the latency-hint before entering CEDE (Diego Domingos) [1608791] - [arm64] paravirt: Initialize steal time when cpu is online (Andrew Jones) [1879137]- [infiniband] i40iw: Add support to make destroy QP synchronous (Stefan Assmann) [1757949] - [fs] xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork (Carlos Maiolino) [1859160] - [fs] xfs: fix inode allocation block res calculation precedence (Carlos Maiolino) [1859160] - [fs] xfs: fix reflink quota reservation accounting error (Carlos Maiolino) [1859160] - [fs] xfs: preserve rmapbt swapext block reservation from freed blocks (Carlos Maiolino) [1859160] - [fs] xfs: fix duplicate verification from xfs_qm_dqflush() (Carlos Maiolino) [1859160] - [fs] xfs: fix unmount hang and memory leak on shutdown during quotaoff (Carlos Maiolino) [1859160] - [fs] xfs: factor out quotaoff intent AIL removal and memory free (Carlos Maiolino) [1859160] - [fs] xfs: fix incorrect test in xfs_alloc_ag_vextent_lastblock (Carlos Maiolino) [1859160] - [fs] xfs: fix regression in "cleanup xfs_dir2_block_getdents" (Carlos Maiolino) [1859160] - [fs] xfs: fix use-after-free when aborting corrupt attr inactivation (Carlos Maiolino) [1859160] - [fs] xfs: fix iclog release error check race with shutdown (Carlos Maiolino) [1859160] - [fs] xfs: Add the missed xfs_perag_put() for xfs_ifree_cluster() (Carlos Maiolino) [1859160] - [fs] xfs: clean up the error handling in xfs_swap_extents (Carlos Maiolino) [1859160] - [fs] xfs: acquire superblock freeze protection on eofblocks scans (Carlos Maiolino) [1859160] - [fs] xfs: xfs_dabuf_map should return ENOMEM when map allocation fails (Carlos Maiolino) [1859160] - [fs] xfs: fix xfs_buf_ioerror_alert location reporting (Carlos Maiolino) [1859160] - [fs] xfs: remove unnecessary null pointer checks from _read_agf callers (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_*read_agf return EAGAIN to ALLOC_FLAG_TRYLOCK callers (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_btree_get_buffunctions (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_trans_get_buf return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_trans_get_buf_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_read return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get_uncached return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_read_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_get_map return an error code (Carlos Maiolino) [1859160] - [fs] xfs: make xfs_buf_alloc return an error code (Carlos Maiolino) [1859160] - [fs] xfs: fix uninitialized variable in xfs_attr3_leaf_inactive (Carlos Maiolino) [1859160] - [fs] xfs: change return value of xfs_inode_need_cow to int (Carlos Maiolino) [1859160] - [fs] xfs: check log iovec size to make sure it's plausibly a buffer log format (Carlos Maiolino) [1859160] - [fs] xfs: make struct xfs_buf_log_format have a consistent size (Carlos Maiolino) [1859160] - [fs] xfs: complain if anyone tries to create a too-large buffer log item (Carlos Maiolino) [1859160] - [fs] xfs: clean up xfs_buf_item_get_format return value (Carlos Maiolino) [1859160] - [fs] xfs: streamline xfs_attr3_leaf_inactive (Carlos Maiolino) [1859160] - [fs] xfs: fix memory corruption during remote attr value buffer invalidation (Carlos Maiolino) [1859160] - [fs] xfs: refactor remote attr value buffer invalidation (Carlos Maiolino) [1859160] - [fs] xfs: fix IOCB_NOWAIT handling in xfs_file_dio_aio_read (Carlos Maiolino) [1859160] - [fs] xfs: Add __packed to xfs_dir2_sf_entry_t definition (Carlos Maiolino) [1859160] - [fs] xfs: fix s_maxbytes computation on 32-bit kernels (Carlos Maiolino) [1859160] - [fs] xfs: truncate should remove all blocks, not just to the end of the page cache (Carlos Maiolino) [1859160] - [fs] xfs: introduce XFS_MAX_FILEOFF (Carlos Maiolino) [1859160] - [fs] xfs: remove bogus assertion when online repair isn't enabled (Carlos Maiolino) [1859160] - [fs] xfs: Remove all strlen in all xfs_attr_* functions for attr names (Carlos Maiolino) [1859160] - [fs] xfs: fix misuse of the XFS_ATTR_INCOMPLETE flag (Carlos Maiolino) [1859160] - [fs] xfs: also remove cached ACLs when removing the underlying attr (Carlos Maiolino) [1859160] - [fs] xfs: reject invalid flags combinations in XFS_IOC_ATTRMULTI_BY_HANDLE (Carlos Maiolino) [1859160] - [fs] xfs: remove shadow variable in xfs_btree_lshift (Carlos Maiolino) [1859160] - [fs] xfs: quota: move to time64_t interfaces (Carlos Maiolino) [1859160] - [fs] xfs: Make the symbol 'xfs_rtalloc_log_count' static (Carlos Maiolino) [1859160] - [fs] libxfs: resync with the userspace libxfs (Carlos Maiolino) [1859160] - [fs] xfs: fix log reservation overflows when allocating large rt extents (Carlos Maiolino) [1859160] - [fs] xfs: fix mount failure crash on invalid iclog memory access (Carlos Maiolino) [1859160] - [fs] xfs: don't check for AG deadlock for realtime files in bunmapi (Carlos Maiolino) [1859160] - [fs] xfs: fix realtime file data space leak (Carlos Maiolino) [1859160] - [fs] xfs: allow parent directory scans to be interrupted with fatal signals (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_get_buf (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_read_buf (Carlos Maiolino) [1859160] - [fs] xfs: split xfs_da3_node_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_dir3_leafn_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_dir3_leaf_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_attr3_leaf_read (Carlos Maiolino) [1859160] - [fs] xfs: remove the mappedbno argument to xfs_da_reada_buf (Carlos Maiolino) [1859160] - [fs] xfs: improve the xfs_dabuf_map calling conventions (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_dabuf_map (Carlos Maiolino) [1859160] - [fs] xfs: simplify mappedbno handling in xfs_da_{get, read}_buf (Carlos Maiolino) [1859160] - [fs] xfs: report corruption only as a regular error (Carlos Maiolino) [1859160] - [fs] xfs: Remove kmem_zone_free() wrapper (Carlos Maiolino) [1859160] - [fs] xfs: Remove kmem_zone_destroy() wrapper (Carlos Maiolino) [1859160] - [fs] xfs: Remove slab init wrappers (Carlos Maiolino) [1859160] - [fs] xfs: fix another missing include (Carlos Maiolino) [1859160] - [fs] xfs: remove XFS_IOC_FSSETDM and XFS_IOC_FSSETDM_BY_HANDLE (Carlos Maiolino) [1859160] - [fs] xfs: remove duplicated include from xfs_dir2_data.c (Carlos Maiolino) [1859160] - [fs] xfs: remove unused structure members & simple typedefs (Carlos Maiolino) [1859160] - [fs] xfs: remove unused typedef definitions (Carlos Maiolino) [1859160] - [fs] xfs: Replace function declaration by actual definition (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_qoff_logitem_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_dq_logitem_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_quotainfo_t typedef (Carlos Maiolino) [1859160] - [fs] xfs: remove the xfs_disk_dquot_t and xfs_dquot_t (Carlos Maiolino) [1859160] - [fs] xfs: avoid time_t in user api (Carlos Maiolino) [1859160] - [fs] xfs: don't reset the "inode core" in xfs_iread (Carlos Maiolino) [1859160] - [fs] xfs: merge the projid fields in struct xfs_icdinode (Carlos Maiolino) [1859160] - [fs] xfs: use a struct timespec64 for the in-core crtime (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->m_dirnameops (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused m_chsize field (Carlos Maiolino) [1859160] - [fs] xfs: convert open coded corruption check to use XFS_IS_CORRUPT (Carlos Maiolino) [1859160] - [fs] xfs: kill the XFS_WANT_CORRUPT_* macros (Carlos Maiolino) [1859160] - [fs] xfs: add a XFS_IS_CORRUPT macro (Carlos Maiolino) [1859160] - [fs] xfs: attach dquots before performing xfs_swap_extents (Carlos Maiolino) [1859160] - [fs] xfs: actually check xfs_btree_check_block return in xfs_btree_islastblock (Carlos Maiolino) [1859160] - [fs] xfs: always pass a valid hdr to xfs_dir3_leaf_check_int (Carlos Maiolino) [1859160] - [fs] xfs: merge xfs_dir2_data_freescan and xfs_dir2_data_freescan_int (Carlos Maiolino) [1859160] - [fs] xfs: remove the now unused dir ops infrastructure (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_get_ftype and ->data_put_ftype (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_bestfree_p (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_data_entsize (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 data block fixed offsets to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_entry_tag_p (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->data_entsize (Carlos Maiolino) [1859160] - [fs] xfs: replace xfs_dir3_data_endp with xfs_dir3_data_end_offset (Carlos Maiolino) [1859160] - [fs] xfs: remove the now unused ->data_entry_p method (Carlos Maiolino) [1859160] - [fs] xfs: cleanup __xfs_dir3_data_check (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_data_freescan_int (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_block_to_sf (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xchk_directory_data_bestfree (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xchk_dir_rec (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_leaf_getdents (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_dir2_block_getdents (Carlos Maiolino) [1859160] - [fs] xfs: remove the ->data_unused_p method (Carlos Maiolino) [1859160] - [fs] xfs: remove the ->data_dot_entry_p and ->data_dotdot_entry_p methods (Carlos Maiolino) [1859160] - [fs] xfs: remove the data_dotdot_offset field in struct xfs_dir_ops (Carlos Maiolino) [1859160] - [fs] xfs: remove the data_dot_offset field in struct xfs_dir_ops (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused ->data_first_entry_p method (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_ftype and ->sf_put_ftype (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_ino and ->sf_put_ino (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_entsize and ->sf_nextentry (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->sf_get_parent_ino and ->sf_put_parent_ino (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->db_to_fdb and ->db_to_fdindex (Carlos Maiolino) [1859160] - [fs] xfs: move the max dir2 free bests count to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 free header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add a bests pointer to struct xfs_dir3_icfree_hdr (Carlos Maiolino) [1859160] - [fs] xfs: make the xfs_dir3_icfree_hdr available to xfs_dir2_node_addname_int (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->free_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->free_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: move the max dir2 leaf entries count to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move the dir2 leaf header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add an entries pointer to struct xfs_dir3_icleaf_hdr (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->leaf_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->leaf_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: move the node header size to struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: add a btree entries pointer to struct xfs_da3_icnode_hdr (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->node_hdr_to_disk (Carlos Maiolino) [1859160] - [fs] xfs: devirtualize ->node_hdr_from_disk (Carlos Maiolino) [1859160] - [fs] xfs: refactor btree node scrubbing (Carlos Maiolino) [1859160] - [fs] xfs: use unsigned int for all size values in struct xfs_da_geometry (Carlos Maiolino) [1859160] - [fs] xfs: move incore structures out of xfs_da_format.h (Carlos Maiolino) [1859160] - [fs] xfs: remove a stray tab in xfs_remount_rw() (Carlos Maiolino) [1859160] - [fs] xfs: convert EIO to EFSCORRUPTED when log contents are invalid (Carlos Maiolino) [1859160] - [fs] xfs: refactor "does this fork map blocks" predicate (Carlos Maiolino) [1859160] - [fs] xfs: clean up weird while loop in xfs_alloc_ag_vextent_near (Carlos Maiolino) [1859160] - [fs] xfs: annotate functions that trip static checker locking checks (Carlos Maiolino) [1859160] - [fs] xfs: Correct comment tyops -> typos (Carlos Maiolino) [1859160] - [fs] xfs: range check ri_cnt when recovering log items (Carlos Maiolino) [1859160] - [fs] xfs: "optimize" buffer item log segment bitmap setting (Carlos Maiolino) [1859160] - [fs] xfs: null out bma->prev if no previous extent (Carlos Maiolino) [1859160] - [fs] xfs: fix missing header includes (Carlos Maiolino) [1859160] - [fs] xfs: periodically yield scrub threads to the scheduler (Carlos Maiolino) [1859160] - [fs] xfs: remove redundant assignment to variable error (Carlos Maiolino) [1859160] - [fs] xfs: add missing early termination checks to record scrubbing functions (Carlos Maiolino) [1859160] - [fs] xfs: make the assertion message functions take a mount parameter (Carlos Maiolino) [1859160] - [fs] xfs: add missing assert in xfs_fsmap_owner_from_rmap (Carlos Maiolino) [1859160] - [fs] xfs: decrease indenting problems in xfs_dabuf_map (Carlos Maiolino) [1859160] - [fs] xfs: fold xfs_mount-alloc() into xfs_init_fs_context() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_parse_param() above xfs_fc_get_tree() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_get_tree() above xfs_fc_reconfigure() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_fc_reconfigure() above xfs_fc_free() (Carlos Maiolino) [1859160] - [fs] xfs: switch to use the new mount-api (Carlos Maiolino) [1859160] - [fs] xfs: dont set sb in xfs_mount_alloc() (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_parseargs() validation to a helper (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_parseags() (Carlos Maiolino) [1859160] - [fs] xfs: avoid redundant checks when options is empty (Carlos Maiolino) [1859160] - [fs] xfs: refactor suffix_kstrtoint() (Carlos Maiolino) [1859160] - [fs] xfs: add xfs_remount_ro() helper (Carlos Maiolino) [1859160] - [fs] xfs: add xfs_remount_rw() helper (Carlos Maiolino) [1859160] - [fs] xfs: merge freeing of mp names and mp (Carlos Maiolino) [1859160] - [fs] xfs: use kmem functions for struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: dont use XFS_IS_QUOTA_RUNNING() for option check (Carlos Maiolino) [1859160] - [fs] xfs: use super s_id instead of struct xfs_mount m_fsname (Carlos Maiolino) [1859160] - [fs] xfs: remove unused struct xfs_mount field m_fsname_len (Carlos Maiolino) [1859160] - [fs] xfs: always log corruption errors (Carlos Maiolino) [1859160] - [fs] xfs: constify the buffer pointer arguments to error functions (Carlos Maiolino) [1859160] - [fs] xfs: relax shortform directory size checks (Carlos Maiolino) [1859160] - [fs] xfs: cleanup use of the XFS_ALLOC_ flags (Carlos Maiolino) [1859160] - [fs] xfs: move extent zeroing to xfs_bmapi_allocate (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_bmapi_allocate (Carlos Maiolino) [1859160] - [fs] xfs: simplify the xfs_iomap_write_direct calling (Carlos Maiolino) [1859160] - [fs] xfs: don't log the inode in xfs_fs_map_blocks if it (Carlos Maiolino) [1859160] - [fs] xfs: slightly tweak an assert in xfs_fs_map_blocks (Carlos Maiolino) [1859160] - [fs] xfs: remove the extsize argument to xfs_eof_alignment (Carlos Maiolino) [1859160] - [fs] xfs: mark xfs_eof_alignment static (Carlos Maiolino) [1859160] - [fs] xfs: simplify xfs_iomap_eof_align_last_fsb (Carlos Maiolino) [1859160] - [fs] xfs: merge xfs_showargs into xfs_fs_show_options (Carlos Maiolino) [1859160] - [fs] xfs: clean up printing inode32/64 in xfs_showargs (Carlos Maiolino) [1859160] - [fs] xfs: clean up printing the allocsize option in (Carlos Maiolino) [1859160] - [fs] xfs: reverse the polarity of XFS_MOUNT_COMPAT_IOSIZE (Carlos Maiolino) [1859160] - [fs] xfs: rename the XFS_MOUNT_DFLT_IOSIZE option to (Carlos Maiolino) [1859160] - [fs] xfs: simplify parsing of allocsize mount option (Carlos Maiolino) [1859160] - [fs] xfs: rename the m_writeio_* fields in struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: remove the m_readio_* fields in struct xfs_mount (Carlos Maiolino) [1859160] - [fs] xfs: don't use a different allocsice for -o wsync (Carlos Maiolino) [1859160] - [fs] xfs: cleanup calculating the stat optimal I/O size (Carlos Maiolino) [1859160] - [fs] xfs: remove the dsunit and dswidth variables in (Carlos Maiolino) [1859160] - [fs] xfs: simplify setting bio flags (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_iread_extents to use xfs_btree_visit_blocks (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_bmap_count_blocks using newer btree helpers (Carlos Maiolino) [1859160] - [fs] xfs: replace -EIO with -EFSCORRUPTED for corrupt metadata (Carlos Maiolino) [1859160] - [fs] xfs: namecheck directory entry names before listing them (Carlos Maiolino) [1859160] - [fs] xfs: namecheck attribute names before listing them (Carlos Maiolino) [1859160] - [fs] xfs: check attribute leaf block structure (Carlos Maiolino) [1859160] - [fs] xfs: consolidate preallocation in xfs_file_fallocate (Carlos Maiolino) [1859160] - [fs] xfs: disable xfs_ioc_space for always COW inodes (Carlos Maiolino) [1859160] - [fs] fs: add generic UNRESVSP and ZERO_RANGE ioctl handlers (Carlos Maiolino) [1859160] - [fs] xfs: don't implement XFS_IOC_RESVSP / XFS_IOC_RESVSP64 (Carlos Maiolino) [1859160] - [fs] xfs: use xfs_inode_buftarg in xfs_file_ioctl (Carlos Maiolino) [1859160] - [fs] xfs: use xfs_inode_buftarg in xfs_file_dio_aio_write (Carlos Maiolino) [1859160] - [fs] xfs: add a xfs_inode_buftarg helper (Carlos Maiolino) [1859160] - [fs] xfs: mark xfs_buf_free static (Carlos Maiolino) [1859160] - [fs] xfs: add mising include of xfs_pnfs.h for missing declarations (Carlos Maiolino) [1859160] - [fs] xfs: don't set bmapi total block req where minleft is (Carlos Maiolino) [1859160] - [fs] xfs: cap longest free extent to maximum allocatable (Carlos Maiolino) [1859160] - [fs] xfs: remove the duplicated inode log fieldmask set (Carlos Maiolino) [1859160] - [fs] xfs: improve the IOMAP_NOWAIT check for COW inodes (Carlos Maiolino) [1859160] - [fs] xfs: cleanup xfs_direct_write_iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: rename the whichfork variable in xfs_buffered_write_iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: split the iomap ops for buffered vs direct writes (Carlos Maiolino) [1859160] - [fs] xfs: move xfs_file_iomap_begin_delay around (Carlos Maiolino) [1859160] - [fs] xfs: split out a new set of read-only iomap ops (Carlos Maiolino) [1859160] - [fs] xfs: factor out a helper to calculate the end_fsb (Carlos Maiolino) [1859160] - [fs] xfs: fill out the srcmap in iomap_begin (Carlos Maiolino) [1859160] - [fs] xfs: refactor xfs_file_iomap_begin_delay (Carlos Maiolino) [1859160] - [fs] xfs: pass two imaps to xfs_reflink_allocate_cow (Carlos Maiolino) [1859160] - [fs] xfs: remove xfs_reflink_dirty_extents (Carlos Maiolino) [1859160] - [fs] xfs: also call xfs_file_iomap_end_delalloc for zeroing operations (Carlos Maiolino) [1859160] - [fs] xfs: remove the XLOG_STATE_DO_CALLBACK state (Carlos Maiolino) [1859160] - [fs] xfs: turn ic_state into an enum (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused XLOG_STATE_ALL and XLOG_STATE_UNUSED flags (Carlos Maiolino) [1859160] - [fs] xfs: remove dead ifdef XFSERRORDEBUG code (Carlos Maiolino) [1859160] - [fs] xfs: call xlog_state_release_iclog with l_icloglock held (Carlos Maiolino) [1859160] - [fs] xfs: move the locking from xlog_state_finish_copy to the callers (Carlos Maiolino) [1859160] - [fs] xfs: remove the unused ic_io_size field from xlog_in_core (Carlos Maiolino) [1859160] - [fs] xfs: pass the correct flag to xlog_write_iclog (Carlos Maiolino) [1859160] - [fs] xfs: optimize near mode bnobt scans with concurrent cntbt lookups (Carlos Maiolino) [1859160] - [fs] xfs: factor out tree fixup logic into helper (Carlos Maiolino) [1859160] - [fs] xfs: refactor near mode alloc bnobt scan into separate function (Carlos Maiolino) [1859160] - [fs] xfs: refactor and reuse best extent scanning logic (Carlos Maiolino) [1859160] - [fs] xfs: refactor allocation tree fixup code (Carlos Maiolino) [1859160] - [fs] xfs: reuse best extent tracking logic for bnobt scan (Carlos Maiolino) [1859160] - [fs] xfs: refactor cntbt lastblock scan best extent logic into helper (Carlos Maiolino) [1859160] - [fs] xfs: track best extent from cntbt lastblock scan in alloc cursor (Carlos Maiolino) [1859160] - [fs] xfs: track allocation busy state in allocation cursor (Carlos Maiolino) [1859160] - [fs] xfs: introduce allocation cursor data structure (Carlos Maiolino) [1859160] - [fs] xfs: track active state of allocation btree cursors (Carlos Maiolino) [1859160] - [fs] xfs: ignore extent size hints for always COW inodes (Carlos Maiolino) [1859160] - [fs] xfs: include QUOTA, FATAL ASSERT build options in XFS_BUILD_OPTIONS (Carlos Maiolino) [1859160] - [pinctrl] pinctrl: tigerlake: Add support for Tiger Lake-H (Steve Best) [1782722] - [pinctrl] pinctrl: intel: Introduce common flags for GPIO mapping scheme (Steve Best) [1782722] - [mfd] mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs (Steve Best) [1782724]- [netdrv] iavf: Fix incorrect adapter get in iavf_resume (Stefan Assmann) [1842896] - [netdrv] iavf: use generic power management (Stefan Assmann) [1842896] - [net] openvswitch: fixes crash if nf_conncount_init() fails (Eelco Chaudron) [1876445] - [fs] cifs`: handle ERRBaduid for SMB1 (Leif Sahlberg) [1875184] - [net] SUNRPC: 'Directory with parent 'rpc_clnt' already present!' (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Don't use RPC_TASK_CRED_NOREF with pnfs (Scott Mayhew) [1872310] - [fs] NFS: Don't use RPC_TASK_CRED_NOREF with delegreturn (Scott Mayhew) [1872310] - [net] SUNRPC: Signalled ASYNC tasks need to exit (Scott Mayhew) [1872310] - [net] SUNRPC: fix use-after-free in rpc_free_client_work() (Scott Mayhew) [1872310] - [fs] NFS: Fix a race in __nfs_list_for_each_server() (Scott Mayhew) [1872310] - [net] SUNRPC: defer slow parts of rpc_free_client() to a workqueue (Scott Mayhew) [1872310] - [net] SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()") (Scott Mayhew) [1872310] - [fs] NFSv4: Remove unreachable error condition due to rpc_run_task() (Scott Mayhew) [1872310] - [net] SUNRPC: Remove unreachable error condition (Scott Mayhew) [1872310] - [fs] nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Fix a credential use-after-free issue in pnfs_roc() (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Ensure that _pnfs_return_layout() waits for layoutreturn completion (Scott Mayhew) [1872310] - [net] svcrdma: Fix leak of svc_rdma_recv_ctxt objects (Scott Mayhew) [1872310] - [fs] NFS: Fix an ABBA spinlock issue in pnfs_update_layout() (Scott Mayhew) [1872310] - [net] SUNRPC/cache: Fix unsafe traverse caused double-free in cache_purge (Scott Mayhew) [1872310] - [fs] nfsd: memory corruption in nfsd4_lock() (Scott Mayhew) [1872310] - [fs] pNFS: Fix RCU lock leakage (Scott Mayhew) [1872310] - [fs] NFS: Clean up process of marking inode stale (Scott Mayhew) [1872310] - [fs] NFS: Add softreval behaviour to nfs_lookup_revalidate() (Scott Mayhew) [1872310] - [fs] NFS: Add mount option 'softreval' (Scott Mayhew) [1872310] - [net] SUNRPC: Don't start a timer on an already queued rpc task (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Reference the layout cred in pnfs_prepare_layoutreturn() (Scott Mayhew) [1872310] - [fs] NFS/pnfs: Fix dereference of layout cred in pnfs_layoutcommit_inode() (Scott Mayhew) [1872310] - [fs] NFS: Beware when dereferencing the delegation cred (Scott Mayhew) [1872310] - [fs] NFS: Add a module parameter to set nfs_mountpoint_expiry_timeout (Scott Mayhew) [1872310] - [fs] NFS: Try to join page groups before an O_DIRECT retransmission (Scott Mayhew) [1872310] - [fs] NFS: Refactor nfs_lock_and_join_requests() (Scott Mayhew) [1872310] - [fs] NFS: Reverse the submission order of requests in __nfs_pageio_add_request() (Scott Mayhew) [1872310] - [fs] NFS: Clean up nfs_lock_and_join_requests() (Scott Mayhew) [1872310] - [fs] NFS: Remove the redundant function nfs_pgio_has_mirroring() (Scott Mayhew) [1872310] - [fs] NFS: Fix memory leaks in nfs_pageio_stop_mirroring() (Scott Mayhew) [1872310] - [fs] NFS: Fix a request reference leak in nfs_direct_write_clear_reqs() (Scott Mayhew) [1872310] - [fs] NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() (Scott Mayhew) [1872310] - [fs] NFS: Remove unused FLUSH_SYNC support in nfs_initiate_pgio() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Specify the layout segment range in LAYOUTGET (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: remove requirement for whole file layouts (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Check the layout segment range before doing I/O (Scott Mayhew) [1872310] - [fs] pNFS/flexfile: Don't merge layout segments if the mirrors don't match (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Fix pnfs_layout_mark_request_commit() invalid layout segment handling (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Simplify bucket layout segment reference counting (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Clean up pNFS commit operations (Scott Mayhew) [1872310] - [fs] NFS: Remove bucket array from struct pnfs_ds_commit_info (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Add a helper pnfs_generic_search_commit_reqs() (Scott Mayhew) [1872310] - [fs] pNFS: Enable per-layout segment commit structures (Scott Mayhew) [1872310] - [fs] pNFS: Add infrastructure for cleaning up per-layout commit structures (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Support commit arrays in nfs_clear_pnfs_ds_commit_verifiers() (Scott Mayhew) [1872310] - [fs] NFS: Fix O_DIRECT commit verifier handling (Scott Mayhew) [1872310] - [fs] NFS: commit errors should be fatal (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Allow O_DIRECT to release the DS commitinfo (Scott Mayhew) [1872310] - [fs] pNFS: Support per-layout segment commits in pnfs_generic_commit_pagelist() (Scott Mayhew) [1872310] - [fs] pNFS: Support per-layout segment commits in pnfs_generic_recover_commit_reqs() (Scott Mayhew) [1872310] - [fs] NFSv4/pNFS: Scan the full list of commit arrays when committing (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Support a list of commit arrays in struct pnfs_ds_commit_info (Scott Mayhew) [1872310] - [net] SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()' (Scott Mayhew) [1872310] - [include] SUNRPC/cache: don't allow invalid entries to be flushed (Scott Mayhew) [1872310] - [fs] pNFS: Add a helper to allocate the array of buckets (Scott Mayhew) [1872310] - [fs] NFS/pNFS: Refactor pnfs_generic_commit_pagelist() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Simplify allocation of the mirror array (Scott Mayhew) [1872310] - [fs] NFS: Don't specify NFS version in "UDP not supported" error (Scott Mayhew) [1872310] - [fs] nfsroot: set tcp as the default transport protocol (Scott Mayhew) [1872310] - [fs] NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails (Scott Mayhew) [1872310] - [fs] nfs: Fix up documentation in nfs_follow_referral() and nfs_do_submount() (Scott Mayhew) [1872310] - [net] sunrpc: Add tracing for cache events (Scott Mayhew) [1872310] - [net] SUNRPC/cache: Allow garbage collection of invalid cache entries (Scott Mayhew) [1872310] - [net] sunrpc: clean up cache entry add/remove from hashtable (Scott Mayhew) [1872310] - [net] sunrpc: Fix potential leaks in sunrpc_cache_unhash() (Scott Mayhew) [1872310] - [fs] nfsd: export upcalls must not return ESTALE when mountd is down (Scott Mayhew) [1872310] - [fs] nfsd: Don't add locks to closed or closing open stateids (Scott Mayhew) [1872310] - [net] SUNRPC: Teach server to use xprt_sock_sendmsg for socket sends (Scott Mayhew) [1872310] - [net] SUNRPC: Refactor xs_sendpages() (Scott Mayhew) [1872310] - [fs] NFSD: Clean up nfsd4_encode_readv (Scott Mayhew) [1872310] - [fs] fs: nfsd: nfs4state.c: Use built-in RCU list checking (Scott Mayhew) [1872310] - [net] sunrpc: Pass lockdep expression to RCU lists (Scott Mayhew) [1872310] - [include] sunrpc: Replace zero-length array with flexible-array member (Scott Mayhew) [1872310] - [net] SUNRPC: Trim stack utilization in the wrap and unwrap paths (Scott Mayhew) [1872310] - [net] SUNRPC: Remove xdr_buf_read_mic() (Scott Mayhew) [1872310] - [net] sunrpc: Fix gss_unwrap_resp_integ() again (Scott Mayhew) [1872310] - [fs] nfs: Replace zero-length array with flexible-array member (Scott Mayhew) [1872310] - [fs] NFSv4.2: error out when relink swapfile (Scott Mayhew) [1872310] - [fs] NFS:remove redundant call to nfs_do_access (Scott Mayhew) [1872310] - [net] SUNRPC: remove redundant assignments to variable status (Scott Mayhew) [1872310] - [fs] NFSv4: Add support for CB_RECALL_ANY for flexfiles layouts (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_delegation_reap_expired() (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_delegation_reap_unclaimed() (Scott Mayhew) [1872310] - [fs] NFSv4: Clean up nfs_client_return_marked_delegations() (Scott Mayhew) [1872310] - [fs] NFS: Add a helper nfs_client_for_each_server() (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Clean up nfs_layout_find_inode() (Scott Mayhew) [1872310] - [fs] NFSv4: Ensure layout headers are RCU safe (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() (Scott Mayhew) [1872310] - [fs] pNFS/flexfiles: Report DELAY and GRACE errors from the DS to the server (Scott Mayhew) [1872310] - [fs] NFS: Limit the size of the access cache by default (Scott Mayhew) [1872310] - [fs] NFS: Avoid referencing the cred twice in async rename/unlink (Scott Mayhew) [1872310] - [fs] NFSv4: Avoid unnecessary credential references in layoutget (Scott Mayhew) [1872310] - [fs] NFSv4: Avoid referencing the cred unnecessarily during NFSv4 I/O (Scott Mayhew) [1872310] - [fs] NFS: Assume cred is pinned by open context in I/O requests (Scott Mayhew) [1872310] - [net] SUNRPC: Don't take a reference to the cred on synchronous tasks (Scott Mayhew) [1872310] - [net] SUNRPC: Add a flag to avoid reference counts on credentials (Scott Mayhew) [1872310] - [fs] NFS: Ensure we time out if a delegreturn does not complete (Scott Mayhew) [1872310] - [fs] NFSv4/pnfs: pnfs_set_layout_stateid() should update the layout cred (Scott Mayhew) [1872310] - [fs] NFSv4: nfs_update_inplace_delegation() should update delegation cred (Scott Mayhew) [1872310] - [fs] NFS: Use the 64-bit server readdir cookies when possible (Scott Mayhew) [1872310] - [net] Documentation: nfsroot.rst: Fix references to nfsroot.rst (Scott Mayhew) [1872310] - [fs] nfs: add missing "posix" local_lock constant table definition (Scott Mayhew) [1622041] - [samples] samples/vfs: avoid warning in statx override (Scott Mayhew) [1622041] - [fs] Fix use after free in get_tree_bdev() (Scott Mayhew) [1622041] - [security] selinux: fix regression introduced by move_mount(2) syscall (Scott Mayhew) [1622041] - [fs] mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs() (Scott Mayhew) [1622041] - [fs] mm/hugetlbfs: fix error handling when setting up mounts (Scott Mayhew) [1622041] - [fs] cramfs: fix usage on non-MTD device (Scott Mayhew) [1622041] - [fs] vfs: move_mount: reject moving kernel internal mounts (Scott Mayhew) [1622041] - [fs] do_move_mount(): fix an unsafe use of is_anon_ns() (Scott Mayhew) [1622041] - [fs] fs/namespace: fix unprivileged mount propagation (Scott Mayhew) [1622041] - [fs] vfs: fsmount: add missing mntget() (Scott Mayhew) [1622041] - [fs] get rid of checking for absent device name in vfs_get_tree() (Scott Mayhew) [1622041] - [scripts] scripts/gdb: replace flags (MS_xyz -> SB_xyz) (Scott Mayhew) [1622041] - [mm] tmpfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [kernel] cgroup1: switch to use of errorfc() et.al (Scott Mayhew) [1622041] - [fs] procfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [fs] hugetlbfs: switch to use of invalfc() (Scott Mayhew) [1622041] - [fs] cramfs: switch to use of errofc() et.al (Scott Mayhew) [1622041] - [fs] gfs2: switch to use of errorfc() et.al (Scott Mayhew) [1622041] - [include] prefix-handling analogues of errorf() and friends (Scott Mayhew) [1622041] - [fs] turn fs_param_is_... into functions (Scott Mayhew) [1622041] - [fs] fs_parse: handle optional arguments sanely (Scott Mayhew) [1622041] - [fs] fs_parse: fold fs_parameter_desc/fs_parameter_spec (Scott Mayhew) [1622041] - [x86] x86/resctrl: Fix typos in the mba_sc mount option (Scott Mayhew) [1622041] - [fs] fs_parser: remove fs_parameter_description name field (Scott Mayhew) [1622041] - [documentation] vfs: Update mount API docs (Scott Mayhew) [1622041] - [fs] add prefix to fs_context->log (Scott Mayhew) [1622041] - [include] new primitive: __fs_parse() (Scott Mayhew) [1622041] - [include] struct p_log, variants of warnf() et.al. taking that one instead (Scott Mayhew) [1622041] - [fs] teach logfc() to handle prefices, give it saner calling conventions (Scott Mayhew) [1622041] - [kernel] get rid of cg_invalf() (Scott Mayhew) [1622041] - [fs] get rid of fs_value_is_filename_empty (Scott Mayhew) [1622041] - [fs] don't bother with explicit length argument for __lookup_constant() (Scott Mayhew) [1622041] - [fs] fold struct fs_parameter_enum into struct constant_table (Scott Mayhew) [1622041] - [fs] fs_parse: get rid of ->enums (Scott Mayhew) [1622041] - [fs] fs: fs_parser: fix printk format warning (Scott Mayhew) [1622041] - [fs] Pass consistent param->type to fs_parse() (Scott Mayhew) [1622041] - [fs] vfs: add missing blkdev_put() in get_tree_bdev() (Scott Mayhew) [1622041] - [mm] shmem: fix LSM options parsing (Scott Mayhew) [1622041] - [fs] gfs2: make gfs2_fs_parameters static (Scott Mayhew) [1622041] - [fs] gfs2: Fix initialisation of args for remount (Scott Mayhew) [1622041] - [fs] gfs2: Fix memory leak when gfs2meta's fs_context is freed (Scott Mayhew) [1622041] - [fs] gfs2: Convert gfs2 to fs_context (Scott Mayhew) [1622041] - [fs] NFS: Fix fscache super_cookie allocation (Scott Mayhew) [1622041] - [fs] NFS: Fix a few constant_table array definitions (Scott Mayhew) [1622041] - [fs] NFS: Fix leak of ctx->nfs_server.hostname (Scott Mayhew) [1622041] - [fs] NFS: Don't hard-code the fs_type when submounting (Scott Mayhew) [1622041] - [fs] NFS: Ensure the fs_context has the correct fs_type before mounting (Scott Mayhew) [1622041] - [fs] nfs: Return EINVAL rather than ERANGE for mount parse errors (Scott Mayhew) [1622041] - [fs] NFS: Attach supplementary error information to fs_context (Scott Mayhew) [1622041] - [fs] NFS: Additional refactoring for fs_context conversion (Scott Mayhew) [1622041] - [fs] NFS: Add fs_context support (Scott Mayhew) [1622041] - [fs] NFS: Convert mount option parsing to use functionality from fs_parser.h (Scott Mayhew) [1622041] - [fs] NFS: rename nfs_fs_context pointer arg in a few functions (Scott Mayhew) [1622041] - [fs] NFS: Do some tidying of the parsing code (Scott Mayhew) [1622041] - [fs] NFS: Add a small buffer in nfs_fs_context to avoid string dup (Scott Mayhew) [1622041] - [fs] NFS: Deindent nfs_fs_context_parse_option() (Scott Mayhew) [1622041] - [fs] NFS: Split nfs_parse_mount_options() (Scott Mayhew) [1622041] - [fs] NFS: Rename struct nfs_parsed_mount_data to struct nfs_fs_context (Scott Mayhew) [1622041] - [fs] NFS: Constify mount argument match tables (Scott Mayhew) [1622041] - [fs] NFS: Move mount parameterisation bits into their own file (Scott Mayhew) [1622041] - [fs] nfs: get rid of ->set_security() (Scott Mayhew) [1622041] - [fs] nfs_clone_sb_security(): simplify the check for server bogosity (Scott Mayhew) [1622041] - [fs] nfs: get rid of mount_info ->fill_super() (Scott Mayhew) [1622041] - [fs] nfs: don't pass nfs_subversion to ->create_server() (Scott Mayhew) [1622041] - [fs] nfs: unexport nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] nfs: merge xdev and remote file_system_type (Scott Mayhew) [1622041] - [fs] nfs: don't bother passing nfs_subversion to ->try_mount() and nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] nfs: stash nfs_subversion reference into nfs_mount_info (Scott Mayhew) [1622041] - [fs] nfs: lift setting mount_info from nfs_xdev_mount() (Scott Mayhew) [1622041] - [fs] nfs4: fold nfs_do_root_mount/nfs_follow_remote_path (Scott Mayhew) [1622041] - [fs] nfs: don't bother setting/restoring export_path around do_nfs_root_mount() (Scott Mayhew) [1622041] - [fs] nfs: fold nfs4_remote_fs_type and nfs4_remote_referral_fs_type (Scott Mayhew) [1622041] - [fs] nfs: lift setting mount_info from nfs4_remote{, _referral}_mount (Scott Mayhew) [1622041] - [fs] nfs: stash server into struct nfs_mount_info (Scott Mayhew) [1622041] - [fs] saner calling conventions for nfs_fs_mount_common() (Scott Mayhew) [1622041] - [fs] NFS: Make "port=" mount option optional for RDMA mounts (Scott Mayhew) [1622041] - [fs] vfs: Make fs_parse() handle fs_param_is_fd-type params better (Scott Mayhew) [1622041] - [include] vfs: Convert ramfs, shmem, tmpfs, devtmpfs, rootfs to use the new mount API (Scott Mayhew) [1622041] - [mm] shmem_parse_one(): switch to use of fs_parse() (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): take handling a single option into a helper (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): don't bother with mpol in separate variable (Scott Mayhew) [1622041] - [mm] shmem_parse_options(): use a separate structure to keep the results (Scott Mayhew) [1622041] - [base] make shmem_fill_super() static (Scott Mayhew) [1622041] - [fs] make ramfs_fill_super() static (Scott Mayhew) [1622041] - [base] devtmpfs: don't mix {ramfs, shmem}_fill_super() with mount_single() (Scott Mayhew) [1622041] - [fs] vfs: Convert squashfs to use the new mount API (Scott Mayhew) [1622041] - [mtd] mtd: Kill mount_mtd() (Scott Mayhew) [1622041] - [fs] vfs: Convert cramfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Add a single-or-reconfig keying to vfs_get_super() (Scott Mayhew) [1622041] - [mtd] mtd: Provide fs_context-aware mount_mtd() replacement (Scott Mayhew) [1622041] - [fs] vfs: Create fs_context-aware mount_bdev() replacement (Scott Mayhew) [1622041] - [fs] new helper: get_tree_keyed() (Scott Mayhew) [1622041] - [fs] vfs: set fs_context::user_ns for reconfigure (Scott Mayhew) [1622041] - [init] mnt_init(): call shmem_init() unconditionally (Scott Mayhew) [1622041] - [base] constify ksys_mount() string arguments (Scott Mayhew) [1622041] - [fs] don't bother with registering rootfs (Scott Mayhew) [1622041] - [fs] init_rootfs(): don't bother with init_ramfs_fs() (Scott Mayhew) [1622041] - [security] vfs: Convert selinuxfs to use the new mount API (Scott Mayhew) [1622041] - [security] vfs: Convert securityfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert openpromfs to use the new mount API (Scott Mayhew) [1622041] - [xen] vfs: Convert xenfs to use the new mount API (Scott Mayhew) [1622041] - [oprofile] vfs: Convert oprofilefs to use the new mount API (Scott Mayhew) [1622041] - [misc] vfs: Convert ibmasmfs to use the new mount API (Scott Mayhew) [1622041] - [infiniband] vfs: Convert qib_fs/ipathfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert efivarfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert configfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert binfmt_misc to use the new mount API (Scott Mayhew) [1622041] - [fs] convenience helper: get_tree_single() (Scott Mayhew) [1622041] - [fs] convenience helper get_tree_nodev() (Scott Mayhew) [1622041] - [fs] vfs: Kill sget_userns() (Scott Mayhew) [1622041] - [fs] vfs: Use sget_fc() for pseudo-filesystems (Scott Mayhew) [1622041] - [dma-buf] fold mount_pseudo_xattr() into pseudo_fs_get_tree() (Scott Mayhew) [1622041] - [virtio] vfs: Convert virtio_balloon to use the new mount API (Scott Mayhew) [1622041] - [scsi] vfs: Convert ocxlflash to use the new mount API (Scott Mayhew) [1622041] - [misc] vfs: Convert cxl to use the new mount API (Scott Mayhew) [1622041] - [drm] vfs: Convert drm to use the new mount API (Scott Mayhew) [1622041] - [dax] vfs: Convert dax to use the new mount API (Scott Mayhew) [1622041] - [net] vfs: Convert sockfs to use the new mount API (Scott Mayhew) [1622041] - [mm] vfs: Convert zsmalloc to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert pipe to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert nsfs to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert bdev to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert anon_inodes to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Convert aio to use the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Provide a mount_pseudo-replacement for the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Provide sb->s_iflags settings in fs_context struct (Scott Mayhew) [1622041] - [fs] vfs: Fix refcounting of filenames in fs_parser (Scott Mayhew) [1622041] - [fs] move mount_capable() further out (Scott Mayhew) [1622041] - [fs] move mount_capable() calls to vfs_get_tree() (Scott Mayhew) [1622041] - [kernel] cpuset: move mount -t cpuset logics into cgroup.c (Scott Mayhew) [1622041] - [fs] procfs: set ->user_ns before calling ->get_tree() (Scott Mayhew) [1622041] - [ipc] mqueue: set ->user_ns before ->get_tree() (Scott Mayhew) [1622041] - [fs] switch mount_capable() to fs_context (Scott Mayhew) [1622041] - [fs] legacy_get_tree(): pass fc->user_ns to mount_capable() (Scott Mayhew) [1622041] - [fs] move the capability checks from sget_userns() to legacy_get_tree() (Scott Mayhew) [1622041] - [fs] vfs: Kill mount_ns() (Scott Mayhew) [1622041] - [fs] vfs: Convert nfsctl to use the new mount API (Scott Mayhew) [1622041] - [net] vfs: Convert rpc_pipefs to use the new mount API (Scott Mayhew) [1622041] - [fs] consolidate the capability checks in sget_{fc, userns}() (Scott Mayhew) [1622041] - [fs] start massaging the checks in sget_...(): move to sget_userns() (Scott Mayhew) [1622041] - [x86] no need to protect against put_user_ns(NULL) (Scott Mayhew) [1622041] - [fs] mount_pseudo(): drop 'name' argument, switch to d_make_root() (Scott Mayhew) [1622041] - [mm] zsmalloc: don't bother with dentry_operations (Scott Mayhew) [1622041] - [virtio] balloon: don't bother with dentry_operations (Scott Mayhew) [1622041] - [scsi] cxlflash: don't bother with dentry_operations (Scott Mayhew) [1622041] - [misc] cxl: don't bother with dentry_operations (Scott Mayhew) [1622041] - [fs] fs: VALIDATE_FS_PARSER should default to n (Scott Mayhew) [1622041] - [security] selinux: fix a missing-check bug in selinux_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] selinux: fix a missing-check bug in selinux_add_mnt_opt( ) (Scott Mayhew) [1622041] - [powerpc] uapi: Wire up the mount API syscalls on non-x86 arches (Scott Mayhew) [1622041] - [x86] uapi, x86: Fix the syscall numbering of the mount API syscalls (Scott Mayhew) [1622041] - [fs] uapi, fsopen: use square brackets around "fscontext" (Scott Mayhew) [1622041] - [samples] vfs: Add a sample program for the new mount API (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add fspick() to select a superblock for reconfiguration (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add fsmount() to create a mount for a superblock (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add fsconfig() for configuring and managing a context (Scott Mayhew) [1622041] - [fs] vfs: Implement logging through fs_context (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add fsopen() to prepare for superblock creation (Scott Mayhew) [1622041] - [fs] Make anon_inodes unconditional (Scott Mayhew) [1622041] - [fs] teach move_mount(2) to work with OPEN_TREE_CLONE (Scott Mayhew) [1622041] - [x86] vfs: syscall: Add move_mount(2) to move mounts around (Scott Mayhew) [1622041] - [fs] vfs: syscall: Add open_tree(2) to reference or clone a mount (Scott Mayhew) [1622041] - [fs] fix sysfs_init_fs_context() in !CONFIG_NET_NS case (Scott Mayhew) [1622041] - [fs] vfs: Add some logging to the core users of the fs_context log (Scott Mayhew) [1622041] - [fs] vfs: Implement logging through fs_context (Scott Mayhew) [1622041] - [documentation] vfs: Provide documentation for new mount API (Scott Mayhew) [1622041] - [fs] vfs: Remove kern_mount_data() (Scott Mayhew) [1622041] - [fs] hugetlbfs: Convert to fs_context (Scott Mayhew) [1622041] - [kernel] cpuset: Use fs_context (Scott Mayhew) [1622041] - [fs] kernfs, sysfs, cgroup, intel_rdt: Support fs_context (Scott Mayhew) [1622041] - [kernel] cgroup: store a reference to cgroup_ns into cgroup_fs_context (Scott Mayhew) [1622041] - [kernel] cgroup1_get_tree(): separate "get cgroup_root to use" into a separate helper (Scott Mayhew) [1622041] - [kernel] cgroup_do_mount(): massage calling conventions (Scott Mayhew) [1622041] - [kernel] cgroup: stash cgroup_root reference into cgroup_fs_context (Scott Mayhew) [1622041] - [kernel] cgroup2: switch to option-by-option parsing (Scott Mayhew) [1622041] - [kernel] cgroup1: switch to option-by-option parsing (Scott Mayhew) [1622041] - [kernel] cgroup: take options parsing into ->parse_monolithic() (Scott Mayhew) [1622041] - [kernel] cgroup: fold cgroup1_mount() into cgroup1_get_tree() (Scott Mayhew) [1622041] - [kernel] cgroup: start switching to fs_context (Scott Mayhew) [1622041] - [ipc] ipc: Convert mqueue fs to fs_context (Scott Mayhew) [1622041] - [fs] proc: Add fs_context support to procfs (Scott Mayhew) [1622041] - [fs] procfs: Move proc_fill_super() to fs/proc/root.c (Scott Mayhew) [1622041] - [include] introduce cloning of fs_context (Scott Mayhew) [1622041] - [fs] convenience helpers: vfs_get_super() and sget_fc() (Scott Mayhew) [1622041] - [fs] vfs: Implement a filesystem superblock creation/configuration context (Scott Mayhew) [1622041] - [include] vfs: Put security flags into the fs_context struct (Scott Mayhew) [1622041] - [security] selinux: Implement the new mount API LSM hooks (Scott Mayhew) [1622041] - [include] vfs: Add LSM hooks for the new mount API (Scott Mayhew) [1622041] - [fs] vfs: Add configuration parser helpers (Scott Mayhew) [1622041] - [include] vfs: Introduce logging functions (Scott Mayhew) [1622041] - [fs] introduce fs_context methods (Scott Mayhew) [1622041] - [fs] fs_context flavour for submounts (Scott Mayhew) [1622041] - [fs] convert do_remount_sb() to fs_context (Scott Mayhew) [1622041] - [fs] vfs_get_tree(): evict the call of security_sb_kern_mount() (Scott Mayhew) [1622041] - [fs] new helper: do_new_mount_fc() (Scott Mayhew) [1622041] - [fs] teach vfs_get_tree() to handle subtype, switch do_new_mount() to it (Scott Mayhew) [1622041] - [fs] new helpers: vfs_create_mount(), fc_mount() (Scott Mayhew) [1622041] - [fs] vfs: Introduce fs_context, switch vfs_kern_mount() to it (Scott Mayhew) [1622041] - [fs] saner handling of temporary namespaces (Scott Mayhew) [1622041] - [fs] separate copying and locking mount tree on cross-userns copies (Scott Mayhew) [1622041] - [fs] kill kernfs_pin_sb() (Scott Mayhew) [1622041] - [fs] mount_fs: suppress MAC on MS_SUBMOUNT as well as MS_KERNMOUNT (Scott Mayhew) [1622041] - [security] LSM: new method: ->sb_add_mnt_opt() (Scott Mayhew) [1622041] - [security] selinux: rewrite selinux_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] selinux: regularize Opt_... names a bit (Scott Mayhew) [1622041] - [security] selinux: switch away from match_token() (Scott Mayhew) [1622041] - [security] selinux: new helper - selinux_add_opt() (Scott Mayhew) [1622041] - [include] LSM: bury struct security_mnt_opts (Scott Mayhew) [1622041] - [security] selinux: switch to private struct selinux_mnt_opts (Scott Mayhew) [1622041] - [fs] LSM: hide struct security_mnt_opts from any generic code (Scott Mayhew) [1622041] - [security] LSM: turn sb_eat_lsm_opts() into a method (Scott Mayhew) [1622041] - [fs] nfs_remount(): don't leak, don't ignore LSM options quietly (Scott Mayhew) [1622041] - [security] LSM: split ->sb_set_mnt_opts() out of ->sb_kern_mount() (Scott Mayhew) [1622041] - [fs] new helper: security_sb_eat_lsm_opts() (Scott Mayhew) [1622041] - [security] LSM: lift extracting and parsing LSM options into the caller of ->sb_remount() (Scott Mayhew) [1622041] - [security] LSM: lift parsing LSM options into the caller of ->sb_kern_mount() (Scott Mayhew) [1622041] - [fs] vfs: Separate changing mount flags full remount (Scott Mayhew) [1622041] - [fs] vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled (Scott Mayhew) [1622041]- [hv] hv_utils: drain the timesync packets on onchannelcallback (Vitaly Kuznetsov) [1884733] - [hv] hv_utils: return error if host timesysnc update is stale (Vitaly Kuznetsov) [1884733] - [netdrv] hv_netvsc: Cache the current data path to avoid duplicate call and message (Mohammed Gamal) [1876527] - [netdrv] hv_netvsc: Switch the data path at the right time during hibernation (Mohammed Gamal) [1876527] - [netdrv] hv_netvsc: Fix hibernation for mlx5 VF driver (Mohammed Gamal) [1876527] - [hv] hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume() (Mohammed Gamal) [1876519] - [target] scsi: target: Fix lun lookup for TARGET_SCF_LOOKUP_LUN_FROM_TAG case (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix data digest calculation (Maurizio Lombardi) [1880395] - [target] scsi: target: Make iscsit_register_transport() return void (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Make TMR notification optional (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Implement tmr_notify callback (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix and simplify timeout handling (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Factor out new helper ring_insert_padding (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Do not queue aborted commands (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Use priv pointer in se_cmd (Maurizio Lombardi) [1880395] - [target] scsi: target: Add tmr_notify backend function (Maurizio Lombardi) [1880395] - [target] scsi: target: Modify core_tmr_abort_task() (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix inconsistent debug message (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Fix login error when receiving (Maurizio Lombardi) [1880395] - [target] scsi: target: Remove unused variable 'tpg' (Maurizio Lombardi) [1880395] - [target] scsi: target: cxgbit: Remove tx flow control code (Maurizio Lombardi) [1880395] - [target] scsi: target: cxgbit: Check connection state before issuing hardware command (Maurizio Lombardi) [1880395] - [target] scsi: target: Handle short iSIDs (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id buf len calculation (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id buffer setup (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix iscsi transport id parsing (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix crash during SPEC_I_PT handling (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix xcopy sess release leak (Maurizio Lombardi) [1880395] - [target] scsi: target: Check enforce_pr_isids during registration (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix crash on ARM during cmd completion (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Optimize use of flush_dcache_page (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Remove unnecessary bit TCMU_CMD_BIT_INFLIGHT (Maurizio Lombardi) [1880395] - [target] scsi: target: Rename target_setup_cmd_from_cdb() to target_cmd_parse_cdb() (Maurizio Lombardi) [1880395] - [target] scsi: target: Fix NULL pointer dereference (Maurizio Lombardi) [1880395] - [target] scsi: target: Initialize LUN in transport_init_se_cmd() (Maurizio Lombardi) [1880395] - [target] scsi: target: Factor out a new helper, target_cmd_init_cdb() (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix size in calls to tcmu_flush_dcache_range (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd() (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Userspace must not complete queued commands (Maurizio Lombardi) [1880395] - [target] scsi: target: core: Add initiatorname to NON_EXISTENT_LUN error (Maurizio Lombardi) [1880395] - [target] scsi: target: loopback: Fix READ with data and sensebytes (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Make pgr_support and alua_support attributes writable (Maurizio Lombardi) [1880395] - [target] scsi: target: Make transport_flags per device (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: Add attributes enforce_pr_isids and force_pr_aptpl (Maurizio Lombardi) [1880395] - [target] scsi: target: Add missing emulate_pr attribute to passthrough backends (Maurizio Lombardi) [1880395] - [target] scsi: target: iscsi: Remove the iscsi_data_count structure (Maurizio Lombardi) [1880395] - [target] scsi: target: Put lun_ref at end of tmr processing (Maurizio Lombardi) [1880395] - [target] scsi: target/iblock: fix WRITE SAME zeroing (Maurizio Lombardi) [1880395] - [target] scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN (Maurizio Lombardi) [1880395] - [target] scsi: target: fix PR IN / READ FULL STATUS for FC (Maurizio Lombardi) [1880395] - [target] scsi: target: Write NULL to *port_nexus_ptr if no ISID (Maurizio Lombardi) [1880395] - [target] scsi: target: use the stack for XCOPY passthrough cmds (Maurizio Lombardi) [1880395] - [target] scsi: target: increase XCOPY I/O size (Maurizio Lombardi) [1880395] - [target] scsi: target: avoid per-loop XCOPY buffer allocations (Maurizio Lombardi) [1880395] - [target] scsi: target: drop xcopy DISK BLOCK LENGTH debug (Maurizio Lombardi) [1880395] - [target] scsi: target: use #define for xcopy descriptor len (Maurizio Lombardi) [1880395] - [crypto] crypto: testmgr - mark cts(cbc(aes)) as FIPS allowed (Vladis Dronov) [1855161] - [kernel] sched/deadline: Unthrottle PI boosted threads while enqueuing (Daniel Bristot de Oliveira) [1869760] - [kernel] sched/deadline: Fix stale throttling on de-/boosted tasks (Daniel Bristot de Oliveira) [1869760] - [netdrv] treewide: Use fallthrough pseudo-keyword (Jonathan Toppins) [1871286] - [netdrv] tg3: Avoid the use of one-element array (Jonathan Toppins) [1871286] - [netdrv] net: tg3: tidy up loop, remove need to compute off with a multiply (Jonathan Toppins) [1871286] - [netdrv] net: tg3: reject unsupported coalescing params (Jonathan Toppins) [1871286] - [netdrv] net: tg3: use skb_list_walk_safe helper for gso segments (Jonathan Toppins) [1871286] - [gpio] gpio: gpio-mlxbf2.c: Provide __releases() annotation to stop confusing Sparse (Alaa Hleihel) [1816931] - [gpio] gpio: gpio-mlxbf2: Tell the compiler that ACPI functions may not be use (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: Fix sleeping while holding spinlock (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: fix return value check in mlxbf2_gpio_get_lock_res() (Alaa Hleihel) [1816931] - [gpio] gpio: mlxbf2: remove unused including (Alaa Hleihel) [1816931] - [gpio] gpio: add driver for Mellanox BlueField 2 GPIO controller (Alaa Hleihel) [1816931] - [include] compiler_attributes.h: Add 'fallthrough' pseudo keyword for switch/case use (Ivan Vecera) [1867168] - [net] net: sctp: Rename fallthrough label to unhandled (Ivan Vecera) [1867168]- [pci] PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken (Myron Stowe) [1888310] - [netdrv] nfp: flower: fix ABI mismatch between driver and firmware (Ivan Vecera) [1886717] - [netdrv] netronome: fix ipv6 link error (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix incorrect flag assignment (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix used time of merge flow statistics (Ivan Vecera) [1886717] - [netdrv] nfp: flower: inform firmware of flower features (Ivan Vecera) [1886717] - [netdrv] nfp: flower: renaming of feature bits (Ivan Vecera) [1886717] - [netdrv] nfp: don't check lack of RX/TX channels (Ivan Vecera) [1886717] - [netdrv] nfp: abm: fix error return code in nfp_abm_vnic_alloc() (Ivan Vecera) [1886717] - [netdrv] nfp: abm: fix a memory leak bug (Ivan Vecera) [1886717] - [netdrv] net/nfp: Update driver to use global kernel version (Ivan Vecera) [1886717] - [netdrv] nfp: allow explicitly selected delayed stats (Ivan Vecera) [1886717] - [netdrv] net: nfp: Use scnprintf() for avoiding potential buffer overflow (Ivan Vecera) [1886717] - [netdrv] nfp: let core reject the unsupported coalescing parameters (Ivan Vecera) [1886717] - [netdrv] nfp: Use pci_get_dsn() (Ivan Vecera) [1886717] - [netdrv] netronome: Replace zero-length array with flexible-array member (Ivan Vecera) [1886717] - [netdrv] devlink: move devlink documentation to subfolder (Ivan Vecera) [1886717] - [netdrv] remove ioremap_nocache and devm_ioremap_nocache (Ivan Vecera) [1886717] - [netdrv] nfp: tls: implement the stream sync RX resync (Ivan Vecera) [1886717] - [netdrv] nfp: pass packet pointer to nfp_net_parse_meta() (Ivan Vecera) [1886717] - [netdrv] nfp: flower: update flow merge code to support IPv6 tunnels (Ivan Vecera) [1886717] - [netdrv] nfp: flower: support ipv6 tunnel keep-alive messages from fw (Ivan Vecera) [1886717] - [netdrv] nfp: flower: handle notifiers for ipv6 route changes (Ivan Vecera) [1886717] - [netdrv] nfp: flower: handle ipv6 tunnel no neigh request (Ivan Vecera) [1886717] - [netdrv] nfp: flower: modify pre-tunnel and set tunnel action for ipv6 (Ivan Vecera) [1886717] - [netdrv] nfp: flower: offload list of IPv6 tunnel endpoint addresses (Ivan Vecera) [1886717] - [netdrv] nfp: flower: compile match for IPv6 tunnels (Ivan Vecera) [1886717] - [netdrv] nfp: flower: move udp tunnel key match compilation to helper function (Ivan Vecera) [1886717] - [netdrv] nfp: flower: pass flow rule pointer directly to match functions (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix stats id allocation (Ivan Vecera) [1886717] - [netdrv] netronome: use the new txqueue timeout argument (Ivan Vecera) [1886717] - [netdrv] nfp: add support for TLV device stats (Ivan Vecera) [1886717] - [netdrv] treewide: Use sizeof_field() macro (Ivan Vecera) [1886717] - [netdrv] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: make array exp_mask static, makes object smaller (Ivan Vecera) [1886717] - [netdrv] nfp: flower: fix memory leak in nfp_flower_spawn_vnic_reprs (Ivan Vecera) [1886717] - [netdrv] nfp: flower: prevent memory leak in nfp_flower_spawn_phy_reprs (Ivan Vecera) [1886717] - [netdrv] nfp: read chip model from the PluDevice register (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: set unknown fw_load_policy (Ivan Vecera) [1886717] - [documentation] Documentation: nfp: add nfp driver specific notes (Ivan Vecera) [1886717] - [netdrv] kdoc: fix nfp_fw_load documentation (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: add 'reset_dev_on_drv_probe' support (Ivan Vecera) [1886717] - [netdrv] nfp: devlink: add 'fw_load_policy' support (Ivan Vecera) [1886717] - [netdrv] nfp: add devlink param infrastructure (Ivan Vecera) [1886717] - [netdrv] nfp: honor FW reset and loading policies (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for hwinfo set operation (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for optional hwinfo lookup (Ivan Vecera) [1886717] - [netdrv] nfp: nsp: add support for fw_loaded command (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: add simple map op cache (Ivan Vecera) [1886717] - [netdrv] nfp: bpf: rework MTU checking (Ivan Vecera) [1886717] - [netdrv] net: Use skb accessors in network drivers (Ivan Vecera) [1886717] - [netdrv] nfp: tls: rename tls packet counters (Ivan Vecera) [1886717] - [netdrv] nfp: tls: undo TLS sequence tracking when dropping the frame (Ivan Vecera) [1886717] - [netdrv] nfp: tls: avoid one of the ifdefs for TLS (Ivan Vecera) [1886717] - [netdrv] nfp: tls: don't leave key material in freed FW cmsg skbs (Ivan Vecera) [1886717] - [netdrv] nfp: tls: count TSO segments separately for the TLS offload (Ivan Vecera) [1886717] - [netdrv] nfp: tls: use unique connection ids instead of 4-tuple for TX (Ivan Vecera) [1886717] - [netdrv] nfp: tls: move setting ipver_vlan to a helper (Ivan Vecera) [1886717] - [netdrv] nfp: tls: ignore queue limits for delete commands (Ivan Vecera) [1886717] - [netdrv] nfp: tls: fix error return code in nfp_net_tls_add() (Ivan Vecera) [1886717] - [netdrv] nfp: tls: enable TLS RX offload (Ivan Vecera) [1886717] - [netdrv] net/tls: don't clear TX resync flag on error (Ivan Vecera) [1886717] - [netdrv] net/tls: add tracing for device/offload events (Ivan Vecera) [1886717] - [netdrv] nfp: tls: make use of kernel-driven TX resync (Ivan Vecera) [1886717] - [netdrv] net/tls: generalize the resync callback (Ivan Vecera) [1886717] - [netdrv] nfp: tls: implement RX TLS resync (Ivan Vecera) [1886717] - [netdrv] nfp: add async version of mailbox communication (Ivan Vecera) [1886717] - [netdrv] nfp: rename nfp_ccm_mbox_alloc() (Ivan Vecera) [1886717] - [netdrv] nfp: tls: set skb decrypted flag (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add basic statistics (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add/delete TLS TX connections (Ivan Vecera) [1886717] - [netdrv] nfp: tls: add datapath support for TLS TX (Ivan Vecera) [1886717] - [netdrv] nfp: flower: use struct_size() helper (Ivan Vecera) [1886717] - [netdrv] nfp: add missing kdoc (Ivan Vecera) [1886717] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Ivan Vecera) [1886717] - [iommu] iommu/amd: Fix the overwritten field in IVMD header (Baoquan He) [1869148] - [powerpc] pseries/drmem: don't cache node id in drmem_lmb struct (Diego Domingos) [1816543] - [include] cgroup: Fix sock_cgroup_data on big-endian (Vladis Dronov) [1868659] {CVE-2020-14356} - [include] cgroup: fix cgroup_sk_alloc() for sk_clone_lock() (Vladis Dronov) [1868659] {CVE-2020-14356} - [net] netprio_cgroup: Fix unlimited memory leak of v2 cgroups (Vladis Dronov) [1868659] {CVE-2020-14356} - [netdrv] net/broadcom: Clean broadcom code from driver versions (Jonathan Toppins) [1872443]- [net] Bluetooth: fix kernel oops in store_pending_adv_report (Gopal Tiwari) [1888455] {CVE-2020-24490} - [net] Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel (Gopal Tiwari) [1888258] {CVE-2020-12351} - [net] Bluetooth: A2MP: Fix not initializing all members (Gopal Tiwari) [1888807] {CVE-2020-12352} - [mm] mm, compaction: make capture control handling safe wrt interrupts (Rafael Aquini) [1862175] - [mm] mm/compaction: fix a typo in comment "pessemistic"->"pessimistic" (Rafael Aquini) [1862175] - [mm] mm/compaction: add missing annotation for compact_lock_irqsave (Rafael Aquini) [1862175] - [mm] mm/compaction.c: clean code by removing unnecessary assignment (Rafael Aquini) [1862175] - [kernel] mm/compaction: Disable compact_unevictable_allowed on RT (Rafael Aquini) [1862175] - [kernel] mm/compaction: really limit compact_unevictable_allowed to 0 and 1 (Rafael Aquini) [1862175] - [mm] mm, compaction: fully assume capture is not NULL in compact_zone_order() (Rafael Aquini) [1862175] - [mm] mm, compaction: fix wrong pfn handling in __reset_isolation_pfn() (Rafael Aquini) [1862175] - [mm] mm/compaction.c: remove unnecessary zone parameter in isolate_migratepages() (Rafael Aquini) [1862175] - [mm] mm: compaction: avoid 100 CPU usage during compaction when a task is killed (Rafael Aquini) [1862175] - [mm] mm, compaction: make sure we isolate a valid PFN (Rafael Aquini) [1862175] - [mm] mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock (Rafael Aquini) [1862175] - [trace] mm, compaction: some tracepoints should be defined only when CONFIG_COMPACTION is set (Rafael Aquini) [1862175] - [trace] mm: compaction: show gfp flag names in try_to_compact_pages tracepoint (Rafael Aquini) [1862175] - [mm] mm/compaction.c: fix an undefined behaviour (Rafael Aquini) [1862175] - [mm] mm, page_alloc: always use a captured page regardless of compaction result (Rafael Aquini) [1862175] - [mm] mm/compaction.c: abort search if isolation fails (Rafael Aquini) [1862175] - [mm] mm/compaction.c: correct zone boundary handling when resetting pageblock skip hints (Rafael Aquini) [1862175] - [include] include/linux/list.h: fix list_is_first() kernel-doc (Rafael Aquini) [1862175] - [mm] mm/compaction: pass pgdat to too_many_isolated() instead of zone (Rafael Aquini) [1862175] - [mm] mm: remove zone_lru_lock() function, access ->lru_lock directly (Rafael Aquini) [1862175] - [mm] mm, compaction: capture a page under direct compaction (Rafael Aquini) [1862175] - [mm] mm, compaction: be selective about what pageblocks to clear skip hints (Rafael Aquini) [1862175] - [mm] mm, compaction: sample pageblocks for free pages (Rafael Aquini) [1862175] - [mm] mm, compaction: round-robin the order while searching the free lists for a target (Rafael Aquini) [1862175] - [mm] mm, compaction: reduce premature advancement of the migration target scanner (Rafael Aquini) [1862175] - [mm] mm, compaction: do not consider a need to reschedule as contention (Rafael Aquini) [1862175] - [mm] mm, compaction: rework compact_should_abort as compact_check_resched (Rafael Aquini) [1862175] - [mm] mm, compaction: keep cached migration PFNs synced for unusable pageblocks (Rafael Aquini) [1862175] - [mm] mm, compaction: check early for huge pages encountered by the migration scanner (Rafael Aquini) [1862175] - [mm] mm, compaction: finish pageblock scanning on contention (Rafael Aquini) [1862175] - [mm] mm, compaction: avoid rescanning the same pageblock multiple times (Rafael Aquini) [1862175] - [mm] mm, compaction: use free lists to quickly locate a migration target (Rafael Aquini) [1862175] - [mm] mm, compaction: keep migration source private to a single compaction instance (Rafael Aquini) [1862175] - [mm] mm, compaction: use free lists to quickly locate a migration source (Rafael Aquini) [1862175] - [mm] mm, compaction: always finish scanning of a full pageblock (Rafael Aquini) [1862175] - [mm] mm, migrate: immediately fail migration of a page with no migration handler (Rafael Aquini) [1862175] - [mm] mm, compaction: rename map_pages to split_map_pages (Rafael Aquini) [1862175] - [mm] mm, compaction: remove unnecessary zone parameter in some instances (Rafael Aquini) [1862175] - [mm] mm, compaction: remove last_migrated_pfn from compact_control (Rafael Aquini) [1862175] - [mm] mm, compaction: rearrange compact_control (Rafael Aquini) [1862175] - [mm] mm, compaction: shrink compact_control (Rafael Aquini) [1862175] - [kernel] mm: remove sysctl_extfrag_handler() (Rafael Aquini) [1862175] - [net] netlink: fix state reallocation in policy export (Petr Oros) [1874050] - [net] netlink: add infrastructure to expose policies to userspace (Petr Oros) [1874050] - [lib] netlink: factor out policy range helpers (Petr Oros) [1874050] - [net] netlink: remove NLA_EXACT_LEN_WARN (Petr Oros) [1874050] - [include] netlink: allow NLA_MSECS to have range validation (Petr Oros) [1874050] - [net] netlink: extend policy range validation (Petr Oros) [1874050] - [net] nl80211: link recursive netlink nested policy (Petr Oros) [1874050] - [lib] netlink: limit recursion depth in policy validation (Petr Oros) [1874050] - [net] netlink: remove type-unsafe validation_data pointer (Petr Oros) [1874050] - [powerpc] powerpc/pseries: new lparcfg key/value pair: partition_affinity_score (Steve Best) [1879420] - [powerpc] powerpc/perf: consolidate GPCI hcall structs into asm/hvcall.h (Steve Best) [1879420] - [include] iopoll: Introduce read_poll_timeout_atomic macro (Patrick Talbert) [1879211] - [include] iopoll: redefined readx_poll_timeout macro to simplify the code (Patrick Talbert) [1879211] - [include] iopoll: introduce read_poll_timeout macro (Patrick Talbert) [1879211] - [infiniband] IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode (Kamal Heib) [1857600] - [infiniband] RDMA/core: Fix double destruction of uobject (Kamal Heib) [1857600] - [infiniband] RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() (Kamal Heib) [1857600] - [net] xprtrdma: Fix use of xdr_stream_encode_item_{present, absent} (Kamal Heib) [1857600] - [net] xprtrdma: Fix trace point use-after-free race (Kamal Heib) [1857600] - [net] xprtrdma: Restore wake-up-all to rpcrdma_cm_event_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Fix missing RDMA_CM_EVENT_REJECTED event after receiving REJ message (Kamal Heib) [1857600] - [net] xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt (Kamal Heib) [1857600] - [net] xprtrdma: Extract sockaddr from struct rdma_cm_id (Kamal Heib) [1857600] - [net] xprtrdma: Merge struct rpcrdma_ia into struct rpcrdma_ep (Kamal Heib) [1857600] - [net] xprtrdma: Disconnect on flushed completion (Kamal Heib) [1857600] - [net] xprtrdma: Remove rpcrdma_ia::ri_flags (Kamal Heib) [1857600] - [net] xprtrdma: Invoke rpcrdma_ia_open in the connect worker (Kamal Heib) [1857600] - [net] xprtrdma: Allocate Protection Domain in rpcrdma_ep_create() (Kamal Heib) [1857600] - [net] xprtrdma: Refactor rpcrdma_ep_connect() and rpcrdma_ep_disconnect() (Kamal Heib) [1857600] - [net] xprtrdma: Clean up the post_send path (Kamal Heib) [1857600] - [net] xprtrdma: Refactor frwr_init_mr() (Kamal Heib) [1857600] - [net] xprtrdma: Invoke rpcrdma_ep_create() in the connect worker (Kamal Heib) [1857600] - [net] xprtrdma: Enhance MR-related trace points (Kamal Heib) [1857600] - [infiniband] IB/iser: Always check sig MR before putting it to the free pool (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Use in-kernel offsetofend() to check field availability (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make sure the cm_id is in the IB_CM_IDLE state in destroy (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_sidr_rep() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_rej() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_drep() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Allow ib_send_cm_dreq() to be done under lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Add some lockdep assertions for cm_id_priv->lock (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make it clearer how concurrency works in cm_req_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make it clear that there is no concurrency in cm_sidr_req_handler() (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Simplify establishing a listen cm_id (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Make the destroy_id flow more robust (Kamal Heib) [1857600] - [net] svcrdma: Avoid DMA mapping small RPC Replies (Kamal Heib) [1857600] - [net] svcrdma: Fix double sync of transport header buffer (Kamal Heib) [1857600] - [net] svcrdma: Refactor chunk list encoders (Kamal Heib) [1857600] - [net] SUNRPC: Add encoders for list item discriminators (Kamal Heib) [1857600] - [net] svcrdma: Rename svcrdma_encode trace points in send routines (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_send_reply_msg() (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_map_reply_msg() (Kamal Heib) [1857600] - [net] svcrdma: Update synopsis of svc_rdma_send_reply_chunk() (Kamal Heib) [1857600] - [net] svcrdma: De-duplicate code that locates Write and Reply chunks (Kamal Heib) [1857600] - [include] svcrdma: Use struct xdr_stream to decode ingress transport headers (Kamal Heib) [1857600] - [net] svcrdma: Remove svcrdma_cm_event() trace point (Kamal Heib) [1857600] - [net] SUNRPC: Add xdr_pad_size() helper (Kamal Heib) [1857600] - [net] nfsd: Fix NFSv4 READ on RDMA when using readv (Kamal Heib) [1857600] - [net] svcrdma: Replace zero-length array with flexible-array member (Kamal Heib) [1857600] - [infiniband] RDMA/cm: Delete not implemented CM peer to peer communication (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Teach lockdep about the order of rtnl and lock (Kamal Heib) [1857600] - [infiniband] RDMA/rw: map P2P memory correctly for signature operations (Kamal Heib) [1857600] - [infiniband] RDMA/ipoib: reject unsupported coalescing params (Kamal Heib) [1857600] - [infiniband] RDMA/providers: Fix return value when QP type isn't supported (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Use the new APIs for printing log (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Optimize hns_roce_modify_qp function (Kamal Heib) [1857600] - [infiniband] RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db (Kamal Heib) [1857600] - [infiniband] RDMA/hns: Update the prompt message for creating and destroy qp (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Do not delay freeing of DMA pages (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Properly document the interrupt mask register (Kamal Heib) [1857600] - [infiniband] RDMA/efa: Unified getters/setters for device structs bitmask access (Kamal Heib) [1857600] - [infiniband] RDMA/ipoib: Don't set constant driver version (Kamal Heib) [1857600] - [infiniband] RDMA: Replace zero-length array with flexible-array member (Kamal Heib) [1857600] - [infiniband] RDMA/ucma: Use refcount_t for the ctx->ref (Kamal Heib) [1857600] - [infiniband] RDMA/core: Get rid of ib_create_qp_user (Kamal Heib) [1857600] - [infiniband] RDMA/core: Add weak ordering dma attr to dma mapping (Kamal Heib) [1857600] - [infiniband] RDMA/ucma: Mask QPN to be 24 bits according to IBTA (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use refcount API to reflect refcount (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Rename cma_device ref/deref helpers to to get/put (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use refcount API to reflect refcount (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Rename cma_device ref/deref helpers to to get/put (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use RDMA device port iterator (Kamal Heib) [1857600] - [infiniband] RDMA/cma: Use a helper function to enqueue resolve work items (Kamal Heib) [1857600] - [infiniband] RDMA/rw: Fix error flow during RDMA context initialization (Kamal Heib) [1857600] - [infiniband] IB/core: Add interface to advise_mr for kernel users (Kamal Heib) [1857600] - [infiniband] IB/core: Introduce ib_reg_user_mr (Kamal Heib) [1857600] - [uapi] RDMA/core: Add the core support field to METHOD_GET_CONTEXT (Kamal Heib) [1857600] - [infiniband] RDMA/uverbs: Add ioctl command to get a device context (Kamal Heib) [1857600] - [fs] xfs: Fix false positive lockdep warning with sb_internal & fs_reclaim (Waiman Long) [1838643] - [mm] mm/mmu_notifier: mm/rmap.c: Fix a mmu_notifier range bug in try_to_unmap_one (Waiman Long) [1871883] - [mm] mm/memory.c: initialise mmu_notifier_range correctly (Waiman Long) [1871883] - [mm] mm/mmu_notifier: use structure for invalidate_range_start/end calls v2 (Waiman Long) [1871883] - [mm] hugetlb: take PMD sharing into account when flushing tlb/caches (Waiman Long) [1871883] - [mm] mm, hugetlbfs: pass fault address to cow handler (Waiman Long) [1871883] - [mm] mm, hugetlbfs: rename address to haddr in hugetlb_cow() (Waiman Long) [1871883] - [mm] mm, huge page: copy target sub-page last when copy huge page (Waiman Long) [1871883] - [mm] mm, clear_huge_page: move order algorithm into a separate function (Waiman Long) [1871883] - [mm] Revert "mm: always flush VMA ranges affected by zap_page_range" (Waiman Long) [1871883] - [kernel] psi: eliminate kthread_worker from psi trigger scheduling mechanism (Waiman Long) [1873040] - [kernel] psi: get poll_work to run when calling poll syscall next time (Waiman Long) [1873040] - [block] block: loop: set discard granularity and alignment for block device backed loop (Ming Lei) [1866712] - [net] gre: recompute gre csum for sctp over gre tunnels (Lorenzo Bianconi) [1755200] - [include] mm/hugetlb: enable arch specific huge page size support for migration (Donghai Qiao) [1869887] - [mm] arm64/mm: enable HugeTLB migration for contiguous bit HugeTLB pages (Donghai Qiao) [1869887] - [lib] idr: Fix idr_get_next_ul race with idr_remove (Felix Ansell) [1866062] - [lib] genalloc: Fix a set of docs build warnings (Felix Ansell) [1866062] - [lib] lib/Kconfig: fix OBJAGG in lib/ menu structure (Felix Ansell) [1866062] - [lib] lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() (Felix Ansell) [1866062]- [char] random32: update the net random state on interrupt and activity (Donghai Qiao) [1867569] {CVE-2020-16166} - [fs] nfs: Fix getxattr kernel panic and memory overflow (Benjamin Coddington) [1880894] {CVE-2020-25212} - [tools] selftests: rtnetlink: Test bridge enslavement with different parent IDs (Jonathan Toppins) [1860479] - [tools] selftests: rtnetlink: correct the final return value for the test (Jonathan Toppins) [1860479] - [net] Fix bridge enslavement failure (Jonathan Toppins) [1860479] - [net] Make mpls_entry_encode() available for generic users (Patrick Talbert) [1878818] - [net] SUNRPC dont update timeout value on connection reset (Steve Dickson) [1861895] - [kernel] overflow.h: Add flex_array_size() helper (Petr Oros) [1876924] - [net] netpoll: accept NULL np argument in netpoll_send_skb() (Ivan Vecera) [1867968] - [net] netpoll: netpoll_send_skb() returns transmit status (Ivan Vecera) [1867968] - [net] netpoll: move netpoll_send_skb() out of line (Ivan Vecera) [1867968] - [net] netpoll: remove dev argument from netpoll_send_skb_on_dev() (Ivan Vecera) [1867968] - [net] netpoll: Fix use correct return type for ndo_start_xmit() (Ivan Vecera) [1867968] - [net] core: Introduce netdev_get_xmit_slave (Ivan Vecera) [1867974] - [net] get rid of lockdep_set_class_and_subclass() (Ivan Vecera) [1867961] - [net] change addr_list_lock back to static key (Ivan Vecera) [1867961] - [net] batman-adv: Revert "Drop lockdep.h include for soft-interface.c" (Ivan Vecera) [1867961] - [net] partially revert dynamic lockdep key changes (Ivan Vecera) [1867961] - [kernel] rcu: Maintain RHEL kABI (Waiman Long) [1862812] - [kernel] rcu: Don't acquire lock in NMI handler in rcu_nmi_enter_common() (Waiman Long) [1862812] - [kernel] rcu: Add *_ONCE() to rcu_data ->rcu_forced_tick (Waiman Long) [1862812] - [kernel] rcu: Make rcu_barrier() account for offline no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu: Clear ->core_needs_qs at GP end or self-reported QS (Waiman Long) [1862812] - [kernel] rcu: Forgive slow expedited grace periods at boot time (Waiman Long) [1862812] - [tools] torture: Hoist calls to lscpu to higher-level kvm.sh script (Waiman Long) [1862812] - [tools] torture: Allow "CFLIST" to specify default list of scenarios (Waiman Long) [1862812] - [kernel] rcutorture: Dynamically allocate rcu_fwds structure (Waiman Long) [1862812] - [kernel] rcutorture: Complete threading rcu_fwd pointers through functions (Waiman Long) [1862812] - [kernel] rcutorture: Move to dynamic initialization of rcu_fwds (Waiman Long) [1862812] - [kernel] rcutorture: Thread rcu_fwd pointer through forward-progress functions (Waiman Long) [1862812] - [kernel] rcutorture: Pull callback forward-progress data into rcu_fwd struct (Waiman Long) [1862812] - [tools] rcutorture: Add worst-case call_rcu() forward-progress results (Waiman Long) [1862812] - [tools] torture: Handle systems lacking the mpstat command (Waiman Long) [1862812] - [tools] torture: Handle jitter for CPUs that cannot be offlined (Waiman Long) [1862812] - [tools] rcutorture: Dispense with Dracut for initrd creation (Waiman Long) [1862812] - [tools] torture: Use gawk instead of awk for systime() function (Waiman Long) [1862812] - [kernel] rcu: Avoid tick_dep_set_cpu() misordering (Waiman Long) [1862812] - [kernel] rcu: Provide wrappers for uses of ->rcu_read_lock_nesting (Waiman Long) [1862812] - [kernel] rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special() (Waiman Long) [1862812] - [kernel] rcu: Clear ->rcu_read_unlock_special only once (Waiman Long) [1862812] - [kernel] rcu: Clear .exp_hint only when deferred quiescent state has been reported (Waiman Long) [1862812] - [kernel] rcu: Rename some instance of CONFIG_PREEMPTION to CONFIG_PREEMPT_RCU (Waiman Long) [1862812] - [kernel] rcu: Use CONFIG_PREEMPTION where appropriate (Waiman Long) [1862812] - [kernel] rcu: Make PREEMPT_RCU be a modifier to TREE_RCU (Waiman Long) [1862812] - [kernel] rcu: Use lockdep rather than comment to enforce lock held (Waiman Long) [1862812] - [kernel] rcu: Avoid data-race in rcu_gp_fqs_check_wake() (Waiman Long) [1862812] - [kernel] rcu/nocb: Fix dump_tree hierarchy print always active (Waiman Long) [1862812] - [kernel] rculist.h: Add list_tail_rcu() (Waiman Long) [1862812] - [kernel] rculist_nulls: Change docbook comment headers (Waiman Long) [1862812] - [kernel] rculist_nulls: Add docbook comments (Waiman Long) [1862812] - [include] rcu: Add a hlist_nulls_unhashed_lockless() function (Waiman Long) [1862812] - [kernel] rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls (Waiman Long) [1862812] - [kernel] rcu: Remove kfree_call_rcu_nobatch() (Waiman Long) [1862812] - [kernel] rcu: Remove kfree_rcu() special casing and lazy-callback handling (Waiman Long) [1862812] - [kernel] rcu: Add support for debug_objects debugging for kfree_rcu() (Waiman Long) [1862812] - [kernel] rcu: Add multiple in-flight batches of kfree_rcu() work (Waiman Long) [1862812] - [kernel] rcu: Make kfree_rcu() use a non-atomic ->monitor_todo (Waiman Long) [1862812] - [kernel] rcuperf: Add kfree_rcu() performance Tests (Waiman Long) [1862812] - [kernel] rcu: Add basic support for kfree_rcu() batching (Waiman Long) [1862812] - [kernel] rcu: Remove unused stop-machine #include (Waiman Long) [1862812] - [kernel] srcu: Apply *_ONCE() to ->srcu_last_gp_end (Waiman Long) [1862812] - [kernel] rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask() (Waiman Long) [1862812] - [kernel] rcu: Move rcu_{expedited, normal} definitions into rcupdate.h (Waiman Long) [1862812] - [kernel] rcu: Move gp_state_namesand gp_state_getname() to tree_stall.h (Waiman Long) [1862812] - [kernel] rcu: Remove the declaration of call_rcu() in tree.h (Waiman Long) [1862812] - [kernel] rcu: Fix tracepoint tracking RCU CPU kthread utilization (Waiman Long) [1862812] - [kernel] rcu: Fix harmless omission of "CONFIG_" from #if condition (Waiman Long) [1862812] - [kernel] rcu: Mark non-global functions and variables as static (Waiman Long) [1862812] - [kernel] rcu: Enable tick for nohz_full CPUs slow to provide expedited QS (Waiman Long) [1862812] - [kernel] rcu: Replace synchronize_sched_expedited_wait() "_sched" with "_rcu" (Waiman Long) [1862812] - [kernel] rcu: Update tree_exp.h function-header comments (Waiman Long) [1862812] - [kernel] rcu: Rename sync_rcu_preempt_exp_done() to sync_rcu_exp_done() (Waiman Long) [1862812] - [kernel] rcu: Allow only one expedited GP to run concurrently with wakeups (Waiman Long) [1862812] - [kernel] rcu: Fix missed wakeup of exp_wq waiters (Waiman Long) [1862812] - [kernel] rcu: Substitute lookup for bit-twiddling in sync_rcu_exp_select_node_cpus() (Waiman Long) [1862812] - [kernel] rcu: Fix data-race due to atomic_t copy-by-value (Waiman Long) [1862812] - [kernel] rcu: Avoid modifying mask_ofl_ipi in sync_rcu_exp_select_node_cpus() (Waiman Long) [1862812] - [kernel] rcu: Use *_ONCE() to protect lockless ->expmask accesses (Waiman Long) [1862812] - [kernel] rcutorture: Make in-kernel-loop testing more brutal (Waiman Long) [1862812] - [kernel] rcutorture: Separate warnings for each failure type (Waiman Long) [1862812] - [kernel] rcu: Remove unused variable rcu_perf_writer_state (Waiman Long) [1862812] - [tools] rcutorture: Remove CONFIG_HOTPLUG_CPU=n from scenarios (Waiman Long) [1862812] - [kernel] rcu: Remove unused function rcutorture_record_progress() (Waiman Long) [1862812] - [kernel] rcu: Make kernel-mode nohz_full CPUs invoke the RCU core processing (Waiman Long) [1862812] - [kernel] rcu: Confine ->core_needs_qs accesses to the corresponding CPU (Waiman Long) [1862812] - [kernel] rcu: Reset CPU hints when reporting a quiescent state (Waiman Long) [1862812] - [kernel] rcu: Force nohz_full tick on upon irq enter instead of exit (Waiman Long) [1862812] - [kernel] rcu: Force tick on for nohz_full CPUs not reaching quiescent states (Waiman Long) [1862812] - [kernel] rcutorture: Emulate dyntick aspect of userspace nohz_full sojourn (Waiman Long) [1862812] - [kernel] rcu: Make CPU-hotplug removal operations enable tick (Waiman Long) [1862812] - [kernel] stop_machine: Provide RCU quiescent state in multi_cpu_stop() (Waiman Long) [1862812] - [kernel] rcutorture: Force on tick for readers and callback flooders (Waiman Long) [1862812] - [kernel] rcu: Force on tick when invoking lots of callbacks (Waiman Long) [1862812] - [kernel] time: Export tick start/stop functions for rcutorture (Waiman Long) [1862812] - [kernel] nohz: Add TICK_DEP_BIT_RCU (Waiman Long) [1862812] - [kernel] rcu: Suppress levelspread uninitialized messages (Waiman Long) [1862812] - [kernel] rcu: Fix uninitialized variable in nocb_gp_wait() (Waiman Long) [1862812] - [trace] rcu: Update descriptions for rcu_future_grace_period tracepoint (Waiman Long) [1862812] - [trace] rcu: Update descriptions for rcu_nocb_wake tracepoint (Waiman Long) [1862812] - [trace] rcu: Remove obsolete descriptions for rcu_barrier tracepoint (Waiman Long) [1862812] - [kernel] rcu: Ensure that ->rcu_urgent_qs is set before resched IPI (Waiman Long) [1862812] - [kernel] rcu: Several rcu_segcblist functions can be static (Waiman Long) [1862812] - [kernel] rcu: Remove unused function hlist_bl_del_init_rcu() (Waiman Long) [1862812] - [kernel] rcu: Allow rcu_do_batch() to dynamically adjust batch sizes (Waiman Long) [1862812] - [kernel] srcu: Avoid srcutorture security-based pointer obfuscation (Waiman Long) [1862812] - [kernel] rcu/nocb: Don't wake no-CBs GP kthread if timer posted under overload (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce __call_rcu_nocb_wake() leaf rcu_node ->lock contention (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce nocb_cb_wait() leaf rcu_node ->lock contention (Waiman Long) [1862812] - [kernel] rcu/nocb: Advance CBs after merge in rcutree_migrate_callbacks() (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid synchronous wakeup in __call_rcu_nocb_wake() (Waiman Long) [1862812] - [kernel] rcu/nocb: Print no-CBs diagnostics when rcutorture writer unduly delayed (Waiman Long) [1862812] - [kernel] rcu/nocb: EXP Check use and usefulness of ->nocb_lock_contended (Waiman Long) [1862812] - [kernel] rcu/nocb: Add bypass callback queueing (Waiman Long) [1862812] - [kernel] rcu/nocb: Atomic ->len field in rcu_segcblist structure (Waiman Long) [1862812] - [kernel] rcu/nocb: Unconditionally advance and wake for excessive CBs (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce ->nocb_lock contention with separate ->nocb_gp_lock (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce contention at no-CBs invocation-done time (Waiman Long) [1862812] - [kernel] rcu/nocb: Reduce contention at no-CBs registry-time CB advancement (Waiman Long) [1862812] - [kernel] rcu/nocb: Round down for number of no-CBs grace-period kthreads (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid ->nocb_lock capture by corresponding CPU (Waiman Long) [1862812] - [kernel] rcu/nocb: Avoid needless wakeups of no-CBs grace-period kthread (Waiman Long) [1862812] - [kernel] rcu/nocb: Make __call_rcu_nocb_wake() safe for many callbacks (Waiman Long) [1862812] - [kernel] rcu/nocb: Never downgrade ->nocb_defer_wakeup in wake_nocb_gp_defer() (Waiman Long) [1862812] - [kernel] rcu/nocb: Enable re-awakening under high callback load (Waiman Long) [1862812] - [kernel] rcu/nohz: Turn off tick for offloaded CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Suppress uninitialized false-positive in nocb_gp_wait() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_pending() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_core() (Waiman Long) [1862812] - [kernel] rcu/nocb: Use build-time no-CBs check in rcu_do_batch() (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_gp_head and nocb_gp_tail fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_cb_tail and nocb_cb_head fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_q_count and nocb_q_count_lazy fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove obsolete nocb_head and nocb_tail fields (Waiman Long) [1862812] - [kernel] rcu/nocb: Use rcu_segcblist for no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Leave ->cblist enabled for no-CBs CPUs (Waiman Long) [1862812] - [kernel] rcu/nocb: Allow lockless use of rcu_segcblist_empty() (Waiman Long) [1862812] - [kernel] rcu/nocb: Allow lockless use of rcu_segcblist_restempty() (Waiman Long) [1862812] - [kernel] rcu/nocb: Remove deferred wakeup checks for extended quiescent states (Waiman Long) [1862812] - [kernel] rcu/nocb: Check for deferred nocb wakeups before nohz_full early exit (Waiman Long) [1862812] - [kernel] rcu/nocb: Make rcutree_migrate_callbacks() start at leaf rcu_node structure (Waiman Long) [1862812] - [kernel] rcu/nocb: Add checks for offloaded callback processing (Waiman Long) [1862812] - [kernel] rcu/nocb: Use separate flag to indicate offloaded ->cblist (Waiman Long) [1862812] - [kernel] rcu/nocb: Use separate flag to indicate disabled ->cblist (Waiman Long) [1862812] - [kernel] rcu/nocb: Print gp/cb kthread hierarchy if dump_tree (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_nocb_leader_stride kernel boot parameter (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename and document no-CB CB kthread sleep trace event (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_organize_nocb_kthreads() local variable (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename wake_nocb_leader_defer() to wake_nocb_gp_defer() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename __wake_nocb_leader() to __wake_nocb_gp() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename wake_nocb_leader() to wake_nocb_gp() (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename nocb_follower_wait() to nocb_cb_wait() (Waiman Long) [1862812] - [kernel] rcu/nocb: Provide separate no-CBs grace-period kthreads (Waiman Long) [1862812] - [kernel] rcu/nocb: Update comments to prepare for forward-progress work (Waiman Long) [1862812] - [kernel] rcu/nocb: Rename rcu_data fields to prepare for forward-progress work (Waiman Long) [1862812] - [kernel] rcutorture: Aggressive forward-progress tests shouldn't block shutdown (Waiman Long) [1862812] - [kernel] rcuperf: Make rcuperf kernel test more robust for !expedited mode (Waiman Long) [1862812] - [kernel] rcutorture: Emulate userspace sojourn during call_rcu() floods (Waiman Long) [1862812] - [tools] rcutorture: Test TREE03 with the threadirqs kernel boot parameter (Waiman Long) [1862812] - [tools] torture: Expand last_ts variable in kvm-test-1-run.sh (Waiman Long) [1862812] - [kernel] rcuperf: Fix perf_type module-parameter description (Waiman Long) [1862812] - [documentation] doc: Add rcutree.kthread_prio pointer to stallwarn.txt (Waiman Long) [1862812] - [kernel] rcu: Change return type of rcu_spawn_one_boost_kthread() (Waiman Long) [1862812] - [kernel] rcu: Add destroy_work_on_stack() to match INIT_WORK_ONSTACK() (Waiman Long) [1862812] - [kernel] rcu: Add kernel parameter to dump trace after RCU CPU stall warning (Waiman Long) [1862812] - [kernel] rcu: Restore barrier() to rcu_read_lock() and rcu_read_unlock() (Waiman Long) [1862812] - [kernel] rcu: Simplify rcu_note_context_switch exit from critical section (Waiman Long) [1862812] - [kernel] rcu: Make rcu_read_unlock_special() checks match raise_softirq_irqoff() (Waiman Long) [1862812] - [kernel] rcu: Simplify rcu_read_unlock_special() deferred wakeups (Waiman Long) [1862812] - [tools] rcu: Don't return a value from rcu_assign_pointer() (Waiman Long) [1862812] - [kernel] rcu: Force inlining of rcu_read_lock() (Waiman Long) [1862812] - [kernel] rcu: Fix irritating whitespace error in rcu_assign_pointer() (Waiman Long) [1862812] - [kernel] rcu: validate arguments for rcu tracepoints (Waiman Long) [1862812] - [trace] tracing: introduce TRACE_EVENT_NOP() (Waiman Long) [1862812] - [kernel] kprobes: Prohibit probing on RCU debug routine (Waiman Long) [1862812] - [init] time: Make VIRT_CPU_ACCOUNTING_GEN depend on GENERIC_CLOCKEVENTS (Waiman Long) [1862812] - [kernel] time: Move CONTEXT_TRACKING to kernel/time/Kconfig (Waiman Long) [1862812]- [fs] xfs: don't commit sunit/swidth updates to disk if that would cause repair failures (Bill O'Donnell) [1849407] - [fs] xfs: split the sunit parameter update into two parts (Bill O'Donnell) [1849407] - [fs] xfs: refactor agfl length computation function (Bill O'Donnell) [1849407] - [net] netfilter: conntrack: proc: rename stat column (Florian Westphal) [1875681] - [net] netfilter: conntrack: add clash resolution stat counter (Florian Westphal) [1875681] - [net] netfilter: conntrack: remove ignore stats (Florian Westphal) [1875681] - [net] netfilter: conntrack: do not increment two error counters at same time (Florian Westphal) [1875681] - [net] netfilter: conntrack: do not auto-delete clash entries on reply (Florian Westphal) [1875681] - [powerpc] powerpc/pseries/iommu: Allow bigger 64bit window by removing default DMA window (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Move window-removing part of remove_ddw into remove_dma_window (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Update call to ibm, query-pe-dma-windows (Steve Best) [1725198] - [powerpc] powerpc/pseries/iommu: Create defines for operations in ibm, ddw-applicable (Steve Best) [1725198] - [x86] x86/cpu: Add Sapphire Rapids CPU model number (Puneet Sethi) [1872367] - [x86] x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family (Steve Best) [1838902]- [powerpc] powerpc/xmon: Improve dumping prefixed instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a ppc_inst_as_str() helper (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add ppc_inst_as_u64() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add ppc_inst_next() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for Prefixed Add Immediate (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Let compute tests specify a required cpu feature (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Set NIP in instruction emulation tests (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for prefixed floating-point load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Add tests for prefixed integer load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add POWER10 architected mode (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Add MMA feature (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Enable Prefixed Instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add support for ISA v3.1 (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add new HWCAP bits (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for prefixed fixed-point arithmetic (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for prefixed load/stores (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Support prefixed instructions in alignment handler (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kprobes: Don't allow breakpoints on suffixes (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Don't allow breakpoints on suffixes (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Test prefixed instructions in feature fixups (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Test prefixed code patching (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add prefixed instructions to instruction data type (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/optprobes: Add register argument to patch_imm64_load_insns() (Desnes Augusto Nunes do Rosario) [1854524] - [kvm] powerpc: Define new SRR1 bits for a ISA v3.1 (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/83xx: handle machine check caused by watchdog timer (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Enable Prefixed Instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Make test_translate_branch() independent of instruction length (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move insertion of breakpoint for xol'ing (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Use a function for reading instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Introduce a function for reporting instruction length (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Define and use get_user_instr() et. al (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kprobes: Use patch_instruction() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a probe_kernel_read_inst() function (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add a probe_user_read_inst() function (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for reading instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a datatype for instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: Refactor __patch_instruction() to use __put_user_asm() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: use probe_user_read() and probe_user_write() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Constify the number of insns printed by show instructions functions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Fix interleaved output in show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/process: Fix sparse address space warnings (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Don't print kernel instructions in show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Add show_user_instructions() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: fix book3s/32 boot failure due to code patching (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Introduce functions for instruction equality (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for byte swapping instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a function for getting the instruction op code (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use an accessor for instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc sstep: Add support for extswsli instruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add support for maddhd, maddhdu, maddld instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Use a macro for creating instructions from u32s (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/fsl: Add infrastructure to fixup branch predictor flush (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/smp: Use code patching to restore reset vector (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for addcinstruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for addinstruction (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: sstep: Add tests for compute type instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/sstep: Fix DS operand in ld encoding to appropriate value (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/watchpoint: Don't ignore extraneous exceptions blindly (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/watchpoint: Disable watchpoint hit by larx/stcx instructions (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/kgdb: add kgdb_arch_set/remove_breakpoint() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/hw_breakpoint: move instruction stepping out of hw_breakpoint_handler() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: add modify_instruction() and modify_instruction_site() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: Change calling convention for create_branch() et. al (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc: simplify patch_instruction_site() and patch_branch_site() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/code-patching: Add a helper to get the address of a patch_site (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/ftrace: Handle large kernel configs (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/32: use patch_site_addr() in machine_init() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/lib: Use patch_site to patch copy_32 functions once cache is enabled (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Use bitwise calculations in_breakpoint_table() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move breakpoints to text section (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Move breakpoint instructions to own array (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/xmon: Remove store_inst() for patch_instruction() (Desnes Augusto Nunes do Rosario) [1854524] - [powerpc] powerpc/powernv/idle: Exclude mfspr on HID1, 4, 5 on P9 and above (Steve Best) [1854539] - [powerpc] powerpc/powernv/idle: Rename pnv_first_spr_loss_level variable (Steve Best) [1854539] - [powerpc] powerpc/powernv/idle: Replace CPU feature check with PVR check (Steve Best) [1854539] - [powerpc] powerpc/64s: Don't set FSCR bits in INIT_THREAD (Steve Best) [1854523] - [powerpc] powerpc/64s: Save FSCR to init_task.thread.fscr after feature init (Steve Best) [1854523] - [powerpc] powerpc/64s: Don't let DT CPU features set FSCR_DSCR (Steve Best) [1854523] - [powerpc] powerpc/64s: Don't init FSCR_DSCR in __init_FSCR() (Steve Best) [1854523]- [kernel] sched/cfs: change initial value of runnable_avg (Phil Auld) [1875995] - [kernel] sched/fair: Fix runnable_avg for throttled cfs (Phil Auld) [1875995] - [kernel] sched/fair: Fix kernel build warning in test_idle_cores() for !SMT NUMA (Phil Auld) [1875995] - [kernel] sched/numa: Acquire RCU lock for checking idle cores during NUMA balancing (Phil Auld) [1875995] - [kernel] sched/numa: Stop an exhastive search if a reasonable swap candidate or idle CPU is found (Phil Auld) [1875995] - [kernel] sched/numa: Bias swapping tasks based on their preferred node (Phil Auld) [1875995] - [kernel] sched/numa: Find an alternative idle CPU if the CPU is part of an active NUMA balance (Phil Auld) [1875995] - [kernel] sched/numa: Prefer using an idle CPU as a migration target instead of comparing tasks (Phil Auld) [1875995] - [kernel] sched/fair: Take into account runnable_avg to classify group (Phil Auld) [1875995] - [kernel] sched/pelt: Add a new runnable average signal (Phil Auld) [1875995] - [kernel] sched/pelt: Remove unused runnable load average (Phil Auld) [1875995] - [kernel] sched: Disable allowing small imbalance to preserve RHEL performance (Phil Auld) [1875995] - [kernel] sched/numa: Use similar logic to the load balancer for moving between domains with spare capacity (Phil Auld) [1875995] - [kernel] sched/numa: Replace runnable_load_avg by load_avg (Phil Auld) [1875995] - [kernel] sched/numa: Distinguish between the different task_numa_migrate() failure cases (Phil Auld) [1875995] - [kernel] sched/numa: Trace when no candidate CPU was found on the preferred node (Phil Auld) [1875995] - [kernel] sched/fair: Allow a small load imbalance between low utilisation SD_NUMA domains (Phil Auld) [1875995] - [mm] powerpc/smp: Implement cpu_to_coregroup_id (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Create coregroup domain (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Allocate cpumask only after searching thread group (Diego Domingos) [1854541] - [powerpc] powerpc/numa: Detect support for coregroup (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Optimize start_secondary (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Dont assume l2-cache to be superset of sibling (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Move topology fixups into a new function (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Move powerpc_topology above (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Merge Power9 topology with Power topology (Diego Domingos) [1854541] - [powerpc] powerpc/smp: Fix a warning under !NEED_MULTIPLE_NODES (Diego Domingos) [1854541] - [mm] powerpc/numa: Restrict possible nodes based on platform (Diego Domingos) [1854541] - [mm] powerpc/numa: Limit possible nodes to within num_possible_nodes (Diego Domingos) [1854541] - [powerpc] powerpc: Fix misleading small cores print (Diego Domingos) [1854541] - [netdrv] ibmvnic: add missing parenthesis in do_reset() (Steve Best) [1879547] - [wireless] rtw88: don't hold all IRQs disabled for PS operations (Jarod Wilson) [1874730] - [netdrv] ibmvnic fix NULL tx_pools and rx_tools issue at do_reset (Steve Best) [1872676]- [kernel] sched: Fix use of count for nr_running tracepoint (Phil Auld) [1861444] - [kernel] sched: Add a tracepoint to track rq->nr_running (Phil Auld) [1861444] - [kernel] sched/debug: Add new tracepoints to track util_est (Phil Auld) [1861444] - [kernel] sched/debug: Export the newly added tracepoints (Phil Auld) [1861444] - [kernel] sched/debug: Add sched_overutilized tracepoint (Phil Auld) [1861444] - [kernel] sched/debug: Add new tracepoint to track PELT at se level (Phil Auld) [1861444] - [kernel] sched/debug: Add a new sched_trace_*() helper functions (Phil Auld) [1861444] - [kernel] sched/autogroup: Make autogroup_path() always available (Phil Auld) [1861444]- [mm] mm/kmemleak.c: fix check for softirq context (Waiman Long) [1878006] - [include] mm/hotplug: invalid PFNs from pfn_to_online_page() (Waiman Long) [1878006] - [mm] mm, kmemleak: little optimization while scanning (Waiman Long) [1878006] - [mm] kmemleak: add module param to print warnings to dmesg (Waiman Long) [1878006] - [mm] kmemleak: always register debugfs file (Waiman Long) [1878006] - [scsi] scsi: megaraid_sas: Don't call disable_irq from process IRQ poll (Tomas Henzl) [1837200] - [scsi] scsi: megaraid_sas: Remove undefined ENABLE_IRQ_POLL macro (Tomas Henzl) [1837200] - [platform] platform/x86: dcdbas: Check SMBIOS for protected buffer address (David Arcari) [1858680] - [platform] firmware: dcdbas: Move dcdbas to drivers/platform/x86 (David Arcari) [1858680] - [fs] cifs: fix DFS mount with cifsacl/modefromsid (Leif Sahlberg) [1871246] - [fs] ext4: fix potential negative array index in do_split() (Pavel Reichl) [1846165] {CVE-2020-14314} - [include] block: allow for_each_bvec to support zero len bvec (Ming Lei) [1872032] - [nvme] nvme-pci: disable the write zeros command for Intel 600P/P3100 (David Milburn) [1875391]- [netdrv] ice: Disable VLAN pruning in promiscuous mode (Jonathan Toppins) [1787477] - [mm] mm: slub: introduce 'slub_merge' kernel parameter (Rafael Aquini) [1871214] - [kernel] time/tick-broadcast: Fix tick_broadcast_offline() lockdep complaint (Alexey Klimov) [1877380]- [init] init/Kconfig: disable io_uring (Jeff Moyer) [1879754] - [block] blk-mq: always allow reserved allocation in hctx_may_queue (Ming Lei) [1740874] - [nvme] nvme-rdma: Avoid double freeing of async event data (Gopal Tiwari) [1878140] - [kernel] printk: queue wake_up_klogd irq_work only if per-CPU areas are ready (Igor Mammedov) [1867022]- [firmware] efi: don't reserve MOK config table memory region (Kairui Song) [1878584] - [fs] xfs: fix boundary test in xfs_attr_shortform_verify (Eric Sandeen) [1875316] {CVE-2020-14385} - [powerpc] powerpc/pseries: Do not initiate shutdown when system is running on UPS (Diego Domingos) [1870477]- [fs] nfsd: avoid a NULL dereference in __cld_pipe_upcall() (Scott Mayhew) [1847225] - [net] packet: fix overflow in tpacket_rcv (Hangbin Liu) [1876224] {CVE-2020-14386} - [net] packet: make tp_drops atomic (Hangbin Liu) [1876224] {CVE-2020-14386} - [net] espintcp: restore IP CB before handing the packet to xfrm (Sabrina Dubroca) [1868201] - [fs] Revert "NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE" (Benjamin Coddington) [1865978] - [fs] Revert "NFSv4.x recover from pre-mature loss of openstateid" (Benjamin Coddington) [1865978] - [infiniband] RDMA/mlx4: Read pkey table length instead of hardcoded value (Alaa Hleihel) [1853564] - [net] net/smc: set rx_off for SMCR explicitly (Philipp Rudo) [1875833] - [drm] drm/i915: Auto detect DPCD backlight support by default (Lyude Paul) [1872381] - [drm] drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() (Lyude Paul) [1872381] - [drm] drm/i915: Assume 100 brightness when not in DPCD control mode (Lyude Paul) [1872381] - [drm] drm/i915: Fix eDP DPCD aux max backlight calculations (Lyude Paul) [1872381] - [kernel] tracing: Define MCOUNT_INSN_SIZE when not defined without direct calls (Jiri Olsa) [1857599] - [kernel] ftrace: Fix function_graph tracer interaction with BPF trampoline (Jiri Olsa) [1857599] - [x86] x86/function_graph: Simplify with function_graph_enter() (Jiri Olsa) [1857599] - [kernel] function_graph: Create function_graph_enter() to consolidate architecture code (Jiri Olsa) [1857599]- [crypto] pefile: Support multiple signatures in verify_pefile_signature (Lenny Szubowicz) [1862072] - [security] integrity: Load certs from the EFI MOK config table (Lenny Szubowicz) [1868306] - [security] integrity: Move import of MokListRT certs to a separate routine (Lenny Szubowicz) [1868306] - [firmware] efi: Support for MOK variable config table (Lenny Szubowicz) [1868306] - [kernel] Move to dual-signing to split signing keys up better (Frantisek Hrbata) [1837434] {CVE-2020-10713} - [powerpc] pseries/hotplug-cpu: wait indefinitely for vCPU death (Michael Roth) [1856588] - [powerpc] kvm: ppc: book3s hv: Rework secure mem slot dropping (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Move kvmppc_svm_page_out up (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Migrate hot plugged memory (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: In H_SVM_INIT_DONE, migrate remaining normal-GFNs to secure-GFNs (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Track the state GFNs associated with secure VMs (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Disable page merging in H_SVM_INIT_START (Michael Roth) [1851259] - [powerpc] kvm: ppc: book3s hv: Fix function definition in book3s_hv_uvmem.c (Michael Roth) [1851259] - [kernel] mmap locking api: initial implementation as rwsem wrappers (Michael Roth) [1851259] - [mm] handle multiple owners of device private pages in migrate_vma (Michael Roth) [1851259] - [mm] migrate.c: clean up useless code in migrate_vma_collect_pmd() (Michael Roth) [1851259] - [mm] remove the unused MIGRATE_PFN_DEVICE flag (Michael Roth) [1851259] - [powerpc] rhel: powerpc: kvm: Increase HDEC threshold to enter guest (David Gibson) [1733467] - [netdrv] r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2 (Michal Schmidt) [1851966] - [fs] ceph: fix inode number handling on arches with 32-bit ino_t (Jeff Layton) [1869679] - [fs] ceph: don't allow setlease on cephfs (Jeff Layton) [1872382] - [block] blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART (Ming Lei) [1859628]- [s390] scsi: zfcp: Move allocation of the shost object to after xconf- and xport-data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence early sysfs interfaces for accesses of shost objects (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence adapter status propagation for common statuses (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move p-t-p port allocation to after xport data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fence fc_host updates during link-down handling (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move fc_host updates during xport data handling into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move shost updates during xconfig data handling into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Move shost modification after QDIO (re-)open into fenced function (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: fix fc_host attributes that should be unknown on local link down (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: wire previously driver-specific sysfs attributes also to fc_host (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: expose fabric name as common fc_host sysfs attribute (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: add diagnostics buffer for exchange config data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: diagnostics buffer caching and use for exchange port data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: signal incomplete or error for sync exchange config/port data (Claudio Imbrenda) [1872799] - [s390] scsi: zfcp: Fix use-after-free in request timeout handlers (Claudio Imbrenda) [1872796] - [tools] selftests/powerpc: Update the stack expansion test (Gustavo Duarte) [1869755] - [mm] powerpc: Allow 4224 bytes of stack expansion for the signal frame (Gustavo Duarte) [1869755] - [tools] selftests/powerpc: Add test of stack expansion logic (Gustavo Duarte) [1869755] - [mm] mm: check that mm is still valid in madvise() (Jeff Moyer) [1874560] - [block] block: virtio_blk: fix handling single range discard request (Ming Lei) [1842035] - [block] block: respect queue limit of max discard segment (Ming Lei) [1842035] - [fs] io_uring: Fix NULL pointer dereference in loop_rw_iter() (Jeff Moyer) [1854649] - [fs] io_uring: return locked and pinned page accounting (Jeff Moyer) [1854649] - [fs] io_uring: always allow drain/link/hardlink/async sqe flags (Jeff Moyer) [1854649] - [fs] io_uring: ensure double poll additions work with both request types (Jeff Moyer) [1854649] - [fs] io_uring: fix recvmsg memory leak with buffer selection (Jeff Moyer) [1854649] - [fs] io_uring: fix missing msg_name assignment (Jeff Moyer) [1854649] - [fs] io_uring: fix memleak in io_sqe_files_register() (Jeff Moyer) [1854649] - [fs] io_uring: account user memory freed when exit has been queued (Jeff Moyer) [1854649] - [fs] io_uring: fix memleak in __io_sqe_files_update() (Jeff Moyer) [1854649] - [fs] io_uring: fix regression with always ignoring signals in io_cqring_wait() (Jeff Moyer) [1854649] - [fs] io_uring: use signal based task_work running (Jeff Moyer) [1854649] - [kernel] task_work: teach task_work_add() to do signal_wake_up() (Jeff Moyer) [1854649] - [fs] io_uring: fix missing ->mm on exit (Jeff Moyer) [1854649] - [fs] io_uring: fix potential use after free on fallback request free (Jeff Moyer) [1854649] - [fs] io_uring: fix req->work corruption (Jeff Moyer) [1854649] - [fs] io_uring: fix NULL-mm for linked reqs (Jeff Moyer) [1854649] - [fs] io_uring: fix current->mm NULL dereference on exit (Jeff Moyer) [1854649] - [fs] io_uring: fix hanging iopoll in case of -EAGAIN (Jeff Moyer) [1854649] - [fs] io_uring: fix io_sq_thread no schedule when busy (Jeff Moyer) [1854649] - [fs] io_uring: fix possible race condition against REQ_F_NEED_CLEANUP (Jeff Moyer) [1854649] - [fs] io_uring: reap poll completions while waiting for refs to drop on exit (Jeff Moyer) [1854649] - [fs] io_uring: acquire 'mm' for task_work for SQPOLL (Jeff Moyer) [1854649] - [fs] io_uring: add memory barrier to synchronize io_kiocb's result and iopoll_completed (Jeff Moyer) [1854649] - [fs] io_uring: don't fail links for EAGAIN error in IOPOLL mode (Jeff Moyer) [1854649] - [fs] io_uring: fix io_kiocb.flags modification race in IOPOLL mode (Jeff Moyer) [1854649] - [fs] io_uring: allow O_NONBLOCK async retry (Jeff Moyer) [1854649] - [fs] io_uring: use kvfree() in io_sqe_buffer_register() (Jeff Moyer) [1854649] - [fs] io_uring: validate the full range of provided buffers for access (Jeff Moyer) [1854649] - [fs] io_uring: re-set iov base/len for buffer select retry (Jeff Moyer) [1854649] - [fs] io_uring: fix {SQ, IO}POLL with unsupported opcodes (Jeff Moyer) [1854649] - [fs] io_uring: disallow close of ring itself (Jeff Moyer) [1854649] - [fs] io_uring: fix overflowed reqs cancellation (Jeff Moyer) [1854649] - [fs] io_uring: fix flush req->refs underflow (Jeff Moyer) [1854649] - [fs] io_uring: async task poll trigger cleanup (Jeff Moyer) [1854649] - [fs] io_uring: allow POLL_ADD with double poll_wait() users (Jeff Moyer) [1854649] - [fs] io_uring: remove 'fd is io_uring' from close path (Jeff Moyer) [1854649] - [nvme] nvme: allow retry for requests with REQ_FAILFAST_TRANSPORT set (Mike Snitzer) [1843515] - [nvme] nvme: decouple basic ANA log page re-read support from native multipathing (Mike Snitzer) [1843515] - [nvme] nvme: update failover handling to work with REQ_FAILFAST_TRANSPORT (Mike Snitzer) [1843515] - [nvme] nvme: Return BLK_STS_TARGET if the DNR bit is set (Mike Snitzer) [1843515] - [nvme] nvme: redirect commands on dying queue (Mike Snitzer) [1843515] - [nvme] nvme: just check the status code type in nvme_is_path_error (Mike Snitzer) [1843515] - [nvme] nvme: refactor command completion (Mike Snitzer) [1843515] - [nvme] nvme-multipath: do not reset on unknown status (Mike Snitzer) [1843515] - [nvme] Revert "nvme: allow ANA support to be independent of native multipathing" (Mike Snitzer) [1843515] - [nvme] Revert "nvme-multipath: do not reset on unknown status" (Mike Snitzer) [1843515] - [mm] mm, THP, swap: fix allocating cluster for swapfile by mistake (Gao Xiang) [1855474] - [net] sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error flow (Marcelo Leitner) [1866391] - [net] netfilter: conntrack: allow sctp hearbeat after connection re-use (Florian Westphal) [1865798] - [video] vgacon: Fix for missing check in scrollback handling (Lyude Paul) [1859472] {CVE-2020-14331} - [scsi] Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe" (Nilesh Javali) [1866744] - [scsi] Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix null pointer access during disconnect from subsystem (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Check if FW supports MQ before enabling (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix WARN_ON in qla_nvme_register_hba (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Allow ql2xextended_error_logging special value 1 to be set anytime (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Reduce noisy debug message (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Fix login timeout (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Flush I/O on zone disable (Nilesh Javali) [1866744] - [scsi] scsi: qla2xxx: Flush all sessions on zone disable (Nilesh Javali) [1866744] - [tools] bpf: selftests: global_funcs: Check err_str before strstr (Yauheni Kaliuta) [1873163] - [netdrv] net/mlx5e: E-Switch, Specify flow_source for rule with no in_port (Alaa Hleihel) [1869602] - [netdrv] net/mlx5e: E-Switch, Add misc bit when misc fields changed for mirroring (Alaa Hleihel) [1869602] - [tools] selftests/bpf: test for map update access from within EXT programs (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [tools] selftests/bpf: test for checking return code for the extended prog (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [tools] selftests/bpf: Add test for freplace program with write access (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [net] bpf: verifier: use target program's type for access verifications (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1871071] - [scsi] scsi: lpfc: Fix NVMe rport deregister and registration during ADISC (Dick Kennedy) [1871223] - [scsi] scsi: lpfc: Fix LUN loss after cable pull (Dick Kennedy) [1871223] - [infiniband] RDMA/bnxt_re: Do not add user qps to flushlist (Selvin Xavier) [1858674] - [fs] NFSv4.0 allow nconnect for v4.0 (Benjamin Coddington) [1842746] - [mm] mm/vunmap: add cond_resched() in vunmap_pmd_range (Rafael Aquini) [1871710] - [s390] s390/bpf: Maintain 8-byte stack alignment (Jiri Olsa) [1871040]- [netdrv] vrf: Fix IPv6 with qdisc and xfrm (Sabrina Dubroca) [1868565] - [netdrv] vrf: make sure skb->data contains ip header to make routing (Sabrina Dubroca) [1868565] - [netdrv] vrf: Check skb for XFRM_TRANSFORMED flag (Sabrina Dubroca) [1868565] - [net] Do not clear the sock TX queue in sk_set_socket() (Andrea Claudi) [1850421] - [net] Use RCU_INIT_POINTER() to set sk_wq (Andrea Claudi) [1850421] - [net] netfilter: ip6tables: Add a .pre_exit hook in all ip6table_foo.c. (Florian Westphal) [1862384] - [net] netfilter: iptables: Add a .pre_exit hook in all iptable_foo.c. (Florian Westphal) [1862384] - [net] netfilter: ipset: Fix an error code in ip_set_sockfn_get() (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Don't account for expired elements on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Drop spurious condition for overlap detection on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Detect partial overlaps on insertion (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() (Florian Westphal) [1862384] - [net] netfilter: nf_tables: fix nat hook table deletion (Florian Westphal) [1862384] - [net] netfilter: ipset: call ip_set_free() instead of kfree() (Florian Westphal) [1862384] - [net] netfilter: ip6tables: Split ip6t_unregister_table() into pre_exit and exit helpers. (Florian Westphal) [1862384] - [net] netfilter: iptables: Split ipt_unregister_table() into pre_exit and exit helpers. (Florian Westphal) [1862384] - [net] netfilter: nft_set_pipapo: Disable preemption before getting per-CPU pointer (Florian Westphal) [1862384] - [net] netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported (Florian Westphal) [1862384] - [net] netfilter: conntrack: comparison of unsigned in cthelper confirmation (Florian Westphal) [1862384] - [net] netfilter: conntrack: refetch conntrack after nf_conntrack_update() (Florian Westphal) [1862384] - [net] netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update (Florian Westphal) [1862384] - [net] netfilter: conntrack: make conntrack userspace helpers work again (Florian Westphal) [1862384] - [net] netfilter: nfnetlink_cthelper: unbreak userspace helper support (Florian Westphal) [1862384] - [net] netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build (Florian Westphal) [1862384] - [net] netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code (Florian Westphal) [1862384] - [net] netfilter: nft_set_bitmap: initialize set element extension in lookups (Florian Westphal) [1862384] - [net] netfilter: nft_fwd_netdev: validate family and chain type (Florian Westphal) [1862384] - [net] netfilter: nft_payload: add missing attribute validation for payload csum flags (Florian Westphal) [1862384] - [net] netfilter: cthelper: add missing attribute validation for cthelper (Florian Westphal) [1862384] - [net] netfilter: ipset: Fix forceadd evaluation path (Florian Westphal) [1862384] - [net] netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() (Florian Westphal) [1862384] - [net] netfilter: nft_set_rbtree: bogus lookup/get on consecutive elements in named sets (Florian Westphal) [1862384] - [net] netfilter: ctnetlink: netns exit must wait for callbacks (Florian Westphal) [1862384] - [arm64] kvm: arm64: Don't inherit exec permission across page-table levels (Andrew Jones) [1869297] - [arm64] kvm: arm64: Flush the instruction cache if not unmapping the VM on reboot (Andrew Jones) [1869297] - [s390] s390, dcssblk: kaddr and pfn can be NULL to ->direct_access() (Claudio Imbrenda) [1868927] - [fs] chardev: Avoid potential use-after-free in 'chrdev_open()' (Vladis Dronov) [1866324] {CVE-2020-0305} - [net] net: accept an empty mask in /sys/class/net/*/queues/rx-*/rps_cpus (Nitesh Narayan Lal) [1868433] - [x86] Revert "x86/intel: Disable HPET on Intel Ice Lake platforms" (David Arcari) [1868405] - [kernel] sched: Fix race against ptrace_freeze_trace() (Oleg Nesterov) [1862560] - [kernel] sched: Fix loadavg accounting race (Oleg Nesterov) [1862560] - [kernel] kernel/sched/: remove caller signal_pending branch predictions (Oleg Nesterov) [1862560] - [kernel] locking/spinlock, sched/core: Clarify requirements for smp_mb__after_spinlock() (Oleg Nesterov) [1862560] - [nvme] nvme: multipath: round-robin: eliminate "fallback" variable (Gopal Tiwari) [1868443] - [nvme] nvme: multipath: round-robin: fix single non-optimized path case (Gopal Tiwari) [1868443] - [nvme] nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths (Gopal Tiwari) [1868443] - [nvme] nvme-multipath: fix logic for non-optimized paths (Gopal Tiwari) [1868443] - [tools] selftests/bpf: Fix segmentation fault in test_progs (Yauheni Kaliuta) [1868494] - [pci] hv: Fix a timing issue which causes kdump to fail occasionally (Mohammed Gamal) [1861960] - [hv] hv: vmbus: Only notify Hyper-V for die events that are oops (Vitaly Kuznetsov) [1868131] - [x86] kvm: nsvm: Correctly set the shadow NPT root level in its MMU role (Vitaly Kuznetsov) [1845507] - [x86] kvm: x86: drop superfluous mmu_check_root() from fast_pgd_switch() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: use nested_svm_load_cr3() on guest->host switch (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: implement nested_svm_load_cr3() and use it for host->guest switch (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: move kvm_set_cr3() after nested_svm_uninit_mmu_context() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: introduce nested_svm_load_cr3()/nested_npt_enabled() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: prepare to handle errors from enter_svm_guest_mode() (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: reset nested_run_pending upon nested_svm_vmrun_msrpm() failure (Vitaly Kuznetsov) [1845507] - [x86] kvm: mmu: stop dereferencing vcpu->arch.mmu to get the context for MMU init (Vitaly Kuznetsov) [1845507] - [x86] kvm: nsvm: split kvm_init_shadow_npt_mmu() from kvm_init_shadow_mmu() (Vitaly Kuznetsov) [1845507] - [security] selinux: compute genfs symlink context in case of CephFS (Ondrej Mosnacek) [1865800] - [fs] ceph: set sec_context xattr on symlink creation (Ondrej Mosnacek) [1861509] - [tools] selftests: bpf: define SO_RCVTIMEO and SO_SNDTIMEO properly for ppc64le (Jiri Benc) [1860386] - [tools] bpf: Sync RHEL version of asm-generic/socket.h to tools/ (Jiri Benc) [1860386] - [tools] selftests: bpf: skip tests not working on RHEL (Jiri Benc) [1866908] - [tools] Revert "selftests: bpf: disable test_lwt_seg6local" (Jiri Benc) [1866908] - [tools] Revert "bpf: selftests: remove test_bpftool_build.sh from TEST_PROGS" (Jiri Benc) [1866908] - [tools] selftests: add option to skip specific tests in RHEL (Jiri Benc) [1866908] - [tools] selftests: bpf: switch off timeout (Jiri Benc) [1866908] - [tools] selftest/firmware: Add selftest timeout in settings (Jiri Benc) [1866908] - [tools] selftests/harness: Limit step counter reporting (Jiri Benc) [1866908] - [tools] selftests/harness: Clean up kern-doc for fixtures (Jiri Benc) [1866908] - [tools] selftests: fix condition in run_tests (Jiri Benc) [1866908] - [tools] selftests: do not use .ONESHELL (Jiri Benc) [1866908] - [tools] selftests/harness: Report skip reason (Jiri Benc) [1866908] - [tools] selftests/harness: Display signed values correctly (Jiri Benc) [1866908] - [tools] selftests/harness: Refactor XFAIL into SKIP (Jiri Benc) [1866908] - [tools] selftests/harness: Switch to TAP output (Jiri Benc) [1866908] - [tools] selftests: Add header documentation and helpers (Jiri Benc) [1866908] - [tools] kselftest: fix TAP output for skipped tests (Jiri Benc) [1866908] - [tools] kselftest: ksft_test_num return type should be unsigned (Jiri Benc) [1866908] - [tools] selftests: introduce gen_tar Makefile target (Jiri Benc) [1866908] - [tools] kselftest: add fixture variants (Jiri Benc) [1866908] - [tools] kselftest: run tests by fixture (Jiri Benc) [1866908] - [tools] kselftest: create fixture objects (Jiri Benc) [1866908] - [tools] kselftest: factor out list manipulation to a helper (Jiri Benc) [1866908] - [tools] selftests: add build/cross-build dependency check script (Jiri Benc) [1866908] - [tools] kselftest/runner: allow to properly deliver signals to tests (Jiri Benc) [1866908] - [tools] selftests/harness: fix spelling mistake "SIGARLM" -> "SIGALRM" (Jiri Benc) [1866908] - [tools] selftests: enforce local header dependency in lib.mk (Jiri Benc) [1866908] - [tools] selftests/harness: Handle timeouts cleanly (Jiri Benc) [1866908] - [tools] selftests/harness: Move test child waiting logic (Jiri Benc) [1866908] - [tools] selftests: Fix kselftest O=objdir build from cluttering top level objdir (Jiri Benc) [1866908] - [tools] selftests: allow detection of build failures (Jiri Benc) [1866908] - [tools] selftests: fix build behaviour on targets' failures (Jiri Benc) [1866908] - [tools] kselftest: Support old perl versions (Jiri Benc) [1866908] - [tools] kselftest/runner: Print new line in print of timeout log (Jiri Benc) [1866908] - [tools] selftests: Fix dangling documentation references to kselftest_module.sh (Jiri Benc) [1866908] - [tools] kselftest: Fix NULL INSTALL_PATH for TARGETS runlist (Jiri Benc) [1866908] - [tools] selftests: Move kselftest_module.sh into kselftest/ (Jiri Benc) [1866908] - [tools] selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ (Jiri Benc) [1866908] - [tools] selftests/kselftest/runner.sh: Add 45 second timeout per test (Jiri Benc) [1866908] - [tools] kselftest: exclude failed TARGETS from runlist (Jiri Benc) [1866908] - [tools] kselftest: add capability to skip chosen TARGETS (Jiri Benc) [1866908] - [tools] selftests: Add kselftest-all and kselftest-install targets (Jiri Benc) [1866908] - [tools] selftests: use "$(MAKE)" instead of "make" (Jiri Benc) [1866908] - [tools] kselftest: save-and-restore errno to allow for m formatting (Jiri Benc) [1866908] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 481 (Jiri Benc) [1866908] - [tools] selftests/harness: Allow test to configure timeout (Jiri Benc) [1866908] - [tools] selftests: avoid KBUILD_OUTPUT dir cluttering with selftest objects (Jiri Benc) [1866908] - [tools] selftests: fix bpf build/test workflow regression when KBUILD_OUTPUT is set (Jiri Benc) [1866908] - [tools] selftests: fix install target to use default install path (Jiri Benc) [1866908] - [tools] selftests: build and run gpio when output directory is the src dir (Jiri Benc) [1866908] - [documentation] doc: kselftest: Fix KBUILD_OUTPUT usage instructions (Jiri Benc) [1866908] - [tools] selftests: fix headers_install circular dependency (Jiri Benc) [1866908] - [tools] selftests/harness: Add 30 second timeout per test (Jiri Benc) [1866908] - [tools] kselftest: Add test module framework header (Jiri Benc) [1866908] - [tools] kselftest: Add test runner creation script (Jiri Benc) [1866908] - [tools] selftests/harness: Update named initializer syntax (Jiri Benc) [1866908] - [tools] selftest: include stdio.h in kselftest.h (Jiri Benc) [1866908] - [tools] selftests: do not macro-expand failed assertion expressions (Jiri Benc) [1866908] - [documentation] Documentation/dev-tools: clean up kselftest.rst (Jiri Benc) [1866908] - [documentation] doc: dev-tools: kselftest.rst: update config file location (Jiri Benc) [1866908] - [documentation] doc: dev-tools: kselftest.rst: update contributing new tests (Jiri Benc) [1866908]- [fs] nfs: ensure correct writeback errors are returned on close() (Scott Mayhew) [1849424] - [netdrv] net: thunderx: use spin_lock_bh in nicvf_set_rx_mode_task() (Dean Nelson) [1824858] - [crypto] crypto: ecc - SP800-56A rev 3 local public key validation (Herbert Xu) [1855817] - [crypto] crypto: dh - SP800-56A rev 3 local public key validation (Herbert Xu) [1855817] - [crypto] crypto: dh - check validity of Z before export (Herbert Xu) [1855817] - [lib] lib/mpi: Add mpi_sub_ui() (Herbert Xu) [1855817] - [crypto] crypto: ecdh - check validity of Z before export (Herbert Xu) [1855817] - [netdrv] net: thunderx: initialize VF's mailbox mutex before first usage (Dean Nelson) [1866827] - [kernel] timers: Lower base clock forwarding threshold (Phil Auld) [1833096] - [kernel] timers: Remove must_forward_clk (Phil Auld) [1833096] - [kernel] timers: Spare timer softirq until next expiry (Phil Auld) [1833096] - [kernel] timers: Expand clk forward logic beyond nohz (Phil Auld) [1833096] - [kernel] timers: Reuse next expiry cache after nohz exit (Phil Auld) [1833096] - [kernel] timers: Always keep track of next expiry (Phil Auld) [1833096] - [kernel] timers: Optimize _next_timer_interrupt() level iteration (Phil Auld) [1833096] - [kernel] timers: Add comments about calc_index() ceiling work (Phil Auld) [1833096] - [kernel] timers: Move trigger_dyntick_cpu() to enqueue_timer() (Phil Auld) [1833096] - [kernel] timers: Use only bucket expiry for base->next_expiry value (Phil Auld) [1833096] - [kernel] timers: Preserve higher bits of expiration on index calculation (Phil Auld) [1833096] - [kernel] timer: Fix wheel index calculation on last level (Phil Auld) [1833096] - [kernel] timer: Prevent base->clk from moving backward (Phil Auld) [1833096] - [kernel] timer: Read jiffies once when forwarding base clk (Phil Auld) [1833096] - [powerpc] powerpc/64: Update Speculation_Store_Bypass in /proc//status (Gustavo Duarte) [1773868] - [scsi] scsi: virtio-scsi: Correctly handle the case where all LUNs are unplugged (Maxim Levitsky) [1756093] - [kvm] kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host (Maxim Levitsky) [1853447] - [kvm] x86/kvm: Move context tracking where it belongs (Nitesh Narayan Lal) [1854011] - [scsi] scsi: megaraid_sas: Clear affinity hint (Tomas Henzl) [1828351] - [netdrv] revert "vxlan: fix tos value before xmit" (Andrea Claudi) [1862166] - [net] udp: Copy has_conns in reuseport_grow(). (Marcelo Leitner) [1867160] - [net] dev: Defer free of skbs in flush_backlog (Marcelo Leitner) [1867160] - [include] net: core: reduce recursion limit value (Marcelo Leitner) [1867160] - [netdrv] pppoe: only process PADT targeted at local interfaces (Andrea Claudi) [1866850] - [net] espintcp: count packets dropped in espintcp_rcv (Sabrina Dubroca) [1866393] - [net] espintcp: handle short messages instead of breaking the encap socket (Sabrina Dubroca) [1866393] - [net] espintcp: recv() should return 0 when the peer socket is closed (Sabrina Dubroca) [1866393] - [net] espintcp: support non-blocking sends (Sabrina Dubroca) [1866393] - [net] mptcp: be careful on subflow creation (Davide Caratti) [1862200] - [net] mptcp: fix bogus sendmsg() return code under pressure (Davide Caratti) [1862200] - [net] mptcp: fix joined subflows with unblocking sk (Davide Caratti) [1862200] - [net] subflow: explicitly check for plain tcp rsk (Davide Caratti) [1862200] - [net] mptcp: silence warning in subflow_data_ready() (Davide Caratti) [1862200] - [net] mptcp: fix race in subflow_data_ready() (Davide Caratti) [1862200] - [net] mptcp: fix memory leak in mptcp_subflow_create_socket() (Davide Caratti) [1862200] - [net] mptcp: don't leak msk in token container (Davide Caratti) [1862200] - [net] ipv4: Silence suspicious RCU usage warning (Guillaume Nault) [1866430] - [net] devinet: fix memleak in inetdev_init() (Guillaume Nault) [1866430] - [net] ipip: fix wrong address family in init error path (Guillaume Nault) [1866430] - [net] inet_csk: Fix so_reuseport bind-address cache in tb->fast* (Guillaume Nault) [1866430] - [net] ipmr: Add lockdep expression to ipmr_for_each_table macro (Guillaume Nault) [1866430] - [net] ipmr: Fix RCU list debugging warning (Guillaume Nault) [1866430] - [net] tcp: make sure listeners don't initialize congestion-control state (Paolo Abeni) [1865904] - [net] sched: The error lable position is corrected in ct_init_module (Davide Caratti) [1865890] - [net] sched: cls_api: fix nooffloaddevcnt warning dmesg log (Davide Caratti) [1865890] - [net] tls: fix race condition causing kernel panic (Sabrina Dubroca) [1861756] - [net] tls: free record only on encryption error (Sabrina Dubroca) [1861756] - [net] tls: fix encryption error checking (Sabrina Dubroca) [1861756] - [net] l2tp: add sk_family checks to l2tp_validate_socket (Guillaume Nault) [1861453] - [net] l2tp: do not use inet_hash()/inet_unhash() (Guillaume Nault) [1861453] - [net] tipc: allow to build NACK message in link timeout function (Xin Long) [1860877] - [net] tipc: fix retransmission on unicast links (Xin Long) [1860877] - [net] tipc: fix NULL pointer dereference in tipc_disc_rcv() (Xin Long) [1860877] - [net] tipc: remove set but not used variable 'prev' (Xin Long) [1860877] - [net] tipc: call tsk_set_importance from tipc_topsrv_create_listener (Xin Long) [1860877] - [net] tipc: add support for broadcast rcv stats dumping (Xin Long) [1860877] - [net] tipc: enable broadcast retrans via unicast (Xin Long) [1860877] - [net] tipc: add back link trace events (Xin Long) [1860877] - [net] tipc: introduce Gap ACK blocks for broadcast link (Xin Long) [1860877] - [net] tipc: block BH before using dst_cache (Xin Long) [1860877] - [net] tipc: fix partial topology connection closure (Xin Long) [1860877] - [net] xfrm: policy: match with both mark and mask on user interfaces (Xin Long) [1854116] - [scsi] scsi: dh: Add Fujitsu device to devinfo and dh lists (Ewan Milne) [1861418] - [x86] kvm: Set KVM_SOFT_MAX_VCPUS to 1024 (Eduardo Habkost) [1856996] - [md] dm integrity: fix integrity recalculation that is improperly skipped (Mike Snitzer) [1860160] - [netdrv] ibmvnic: Fix IRQ mapping disposal in error path (Steve Best) [1867498] - [infiniband] IB/hfi1: Do not destroy link_wq when the device is shut down (Kamal Heib) [1858392] - [infiniband] IB/hfi1: Do not destroy hfi1_wq when the device is shut down (Kamal Heib) [1858392] - [netdrv] Revert "net/broadcom: Clean broadcom code from driver versions" (Jonathan Toppins) [1867146] - [net] devmap: Use bpf_map_area_alloc() for allocating hash buckets (Jiri Benc) [1842380] - [kernel] kexec_file: Correctly output debugging information for the PT_LOAD ELF header (Lianbo Jiang) [1861186] - [kernel] kexec: Improve & fix crash_exclude_mem_range() to handle overlapping ranges (Lianbo Jiang) [1861186] - [x86] x86/crash: Correct the address boundary of function parameters (Lianbo Jiang) [1861186] - [fs] ceph: handle zero-length feature mask in session messages (Jeff Layton) [1866018] - [s390] s390/bpf: Tolerate not converging code shrinking (Yauheni Kaliuta) [1857120] - [s390] s390/bpf: Use brcl for jumping to exit_ip if necessary (Yauheni Kaliuta) [1857120] - [s390] s390/bpf: Fix sign extension in branch_ku (Yauheni Kaliuta) [1857120] - [tools] selftests: bpf: test_kmod.sh: Fix running out of srctree (Yauheni Kaliuta) [1857120] - [lib] bpf: revert "test_bpf: Flag tests that cannot be jited on s390" (Yauheni Kaliuta) [1857120] - [kernel] uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned (Oleg Nesterov) [1848596]- [fs] nfs: nfs_file_write() should check for writeback errors (Scott Mayhew) [1852788] - [s390] s390/cpum_cf, perf: change DFLT_CCERROR counter name (Philipp Rudo) [1865794] - [net] net/smc: unique reason code for exceeded max dmb count (Philipp Rudo) [1865792] - [s390] s390/ism: indicate correct error reason in ism_alloc_dmb() (Philipp Rudo) [1865792] - [net] net/smc: fix dmb buffer shortage (Philipp Rudo) [1865792] - [net] net/smc: put slot when connection is killed (Philipp Rudo) [1865792] - [net] net/smc: fix restoring of fallback changes (Philipp Rudo) [1865792] - [net] net/smc: remove freed buffer from list (Philipp Rudo) [1865792] - [net] net/smc: do not call dma sync for unmapped memory (Philipp Rudo) [1865792] - [net] net/smc: fix handling of delete link requests (Philipp Rudo) [1865792] - [net] net/smc: move add link processing for new device into llc layer (Philipp Rudo) [1865792] - [net] net/smc: drop out-of-flow llc response messages (Philipp Rudo) [1865792] - [net] net/smc: protect smc ib device initialization (Philipp Rudo) [1865792] - [net] net/smc: fix link lookup for new rdma connections (Philipp Rudo) [1865792] - [net] net/smc: clear link during SMC client link down processing (Philipp Rudo) [1865792] - [net] net/smc: handle unexpected response types for confirm link (Philipp Rudo) [1865792] - [net] net/smc: switch smcd_dev_list spinlock to mutex (Philipp Rudo) [1865792] - [net] net/smc: fix sleep bug in smc_pnet_find_roce_resource() (Philipp Rudo) [1865792] - [net] net/smc: fix work request handling (Philipp Rudo) [1865792] - [net] net/smc: separate LLC wait queues for flow and messages (Philipp Rudo) [1865792] - [net] net/smc: pre-fetch send buffer outside of send_lock (Philipp Rudo) [1865792] - [nvme] nvme-fc: set max_segments to lldd max value (Ewan Milne) [1853181] - [powerpc] ppc64/kexec_file: enable early kernel's OPAL calls (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: fix kexec load failure with lack of memory hole (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: add appropriate regions for memory reserve map (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: prepare elfcore header for crashing kernel (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: setup backup region for kdump kernel (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: restrict memory usage of kdump kernel (Diego Domingos) [1829715] - [mm] powerpc/drmem: make lmb walk a bit more flexible (Diego Domingos) [1829715] - [powerpc] ppc64/kexec_file: avoid stomping memory used by special regions (Diego Domingos) [1829715] - [powerpc] powerpc/kexec_file: add helper functions for getting memory ranges (Diego Domingos) [1829715] - [powerpc] powerpc/kexec_file: mark PPC64 specific code (Diego Domingos) [1829715] - [kernel] kexec_file: allow archs to handle special regions while locating memory hole (Diego Domingos) [1829715] - [netdrv] net/mlx5e: CT: Support restore ipv6 tunnel (Alaa Hleihel) [1862975] - [netdrv] ionic: unlock queue mutex in error path (Jonathan Toppins) [1854270] - [netdrv] ionic: use mutex to protect queue operations (Jonathan Toppins) [1854270] - [net] xfrm: esp6: fix the location of the transport header with encapsulation (Sabrina Dubroca) [1857653] - [net] ipv4: fill fl4_icmp_{type, code} in ping_v4_sendmsg (Sabrina Dubroca) [1861324] - [netdrv] geneve: fix an uninitialized value in geneve_changelink() (Sabrina Dubroca) [1860945] - [net] ip_tunnel: fix use-after-free in ip_tunnel_lookup() (Sabrina Dubroca) [1860945] - [netdrv] vxlan: Avoid infinite loop when suppressing NS messages with invalid options (Sabrina Dubroca) [1860945] - [tools] selftests: mptcp: capture pcap on both sides (Hangbin Liu) [1859880] - [tools] selftests/net: report etf errors correctly (Hangbin Liu) [1859880] - [tools] selftests: net: ip_defrag: ignore EPERM (Hangbin Liu) [1859880] - [tools] selftests: forwarding: pedit_dsfield: Check counter value (Hangbin Liu) [1859880] - [tools] selftests: net: tcp_mmap: fix SO_RCVLOWAT setting (Hangbin Liu) [1859880] - [tools] selftests: net: tcp_mmap: clear whole tcp_zerocopy_receive struct (Hangbin Liu) [1859880] - [tools] selftests: A few improvements to fib_nexthops.sh (Hangbin Liu) [1859880] - [tools] selftests: Add tests for vrf and xfrms (Hangbin Liu) [1859880] - [tools] selftests: pmtu: implement IPIP, SIT and ip6tnl PMTU discovery tests (Hangbin Liu) [1859880] - [tools] selftests/net/forwarding: define libs as TEST_PROGS_EXTENDED (Hangbin Liu) [1859880] - [tools] selftests/net/forwarding: add Makefile to install tests (Hangbin Liu) [1859880] - [tools] selftests: nft_concat_range: Move option for 'list ruleset' before command (Hangbin Liu) [1859880] - [tools] selftests: netfilter: use randomized netns names (Hangbin Liu) [1859880] - [tools] kselftests: netfilter: fix leftover net/net-next merge conflict (Hangbin Liu) [1859880] - [tools] selftests: netfilter: missing error check when setting up veth interface (Hangbin Liu) [1859880] - [net] sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket (Xin Long) [1860673] - [net] sctp: check assoc before SCTP_ADDR_{MADE_PRIM, ADDED} event (Xin Long) [1860673] - [net] sctp: fix typo sctp_ulpevent_nofity_peer_addr_change (Xin Long) [1860673] - [net] sctp: Fix spelling in Kconfig help (Xin Long) [1860673] - [net] sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed (Xin Long) [1860673] - [net] sctp: Don't add the shutdown timer if its already been added (Xin Long) [1860673] - [net] sctp: Fix SHUTDOWN CTSN Ack in the peer restart case (Xin Long) [1860673] - [net] sctp: Fix bundling of SHUTDOWN with COOKIE-ACK (Xin Long) [1860673] - [net] ip6_vti: use IS_REACHABLE to avoid some compile errors (Xin Long) [1840976 1835075] - [net] xfrm: interface: use IS_REACHABLE to avoid some compile errors (Xin Long) [1840976 1835075] - [net] xfrm: interface: not xfrmi_ipv6/ipip_handler twice (Xin Long) [1840976 1835075] - [net] ip6_vti: not register vti_ipv6_handler twice (Xin Long) [1840976 1835075] - [net] ip_vti: not register vti_ipip_handler twice (Xin Long) [1840976 1835075] - [net] xfrm: interface: support IPIP and IPIP6 tunnels processing with .cb_handler (Xin Long) [1840976 1835075] - [net] xfrm: interface: support IP6IP6 and IP6IP tunnels processing with .cb_handler (Xin Long) [1840976 1835075] - [net] ipcomp: assign if_id to child tunnel from parent tunnel (Xin Long) [1840976 1835075] - [net] ip6_vti: support IP6IP tunnel processing (Xin Long) [1840976 1835075] - [net] ip6_vti: support IP6IP6 tunnel processing with .cb_handler (Xin Long) [1840976 1835075] - [net] ip_vti: support IPIP6 tunnel processing (Xin Long) [1840976 1835075] - [net] ip_vti: support IPIP tunnel processing with .cb_handler (Xin Long) [1840976 1835075] - [net] tunnel6: add tunnel6_input_afinfo for ipip and ipv6 tunnels (Xin Long) [1840976 1835075] - [net] tunnel4: add cb_handler to struct xfrm_tunnel (Xin Long) [1840976 1835075] - [net] xfrm: add is_ipip to struct xfrm_input_afinfo (Xin Long) [1840976 1835075] - [net] tunnel6: support for IPPROTO_MPLS (Xin Long) [1840976 1835075] - [net] virtio_vsock: Enhance connection semantics (Stefano Garzarella) [1861735] - [net] virtio_vsock: Fix race condition in virtio_transport_recv_pkt (Stefano Garzarella) [1858135] - [net] vsock/virtio: annotate 'the_virtio_vsock' RCU pointer (Stefano Garzarella) [1861762] - [vhost] vsock/virtio: fix multiple packet delivery to monitoring devices (Stefano Garzarella) [1861762] - [vhost] vsock: fix packet delivery order to monitoring devices (Stefano Garzarella) [1861762] - [vhost] vsock: accept only packets with the right dst_cid (Stefano Garzarella) [1861762] - [vhost] vsock: refuse CID assigned to the guest->host transport (Stefano Garzarella) [1861762] - [vhost] vsock: switch to a mutex for vhost_vsock_hash (Stefano Garzarella) [1861762] - [net] vsock: fix timeout in vsock_accept() (Stefano Garzarella) [1861762] - [net] vsock: Simplify '__vsock_release()' (Stefano Garzarella) [1861762] - [netdrv] net/mlx5e: Fix kernel crash when setting vf VLANID on a VF dev (Alaa Hleihel) [1859477] - [netdrv] net/mlx5e: Modify uplink state on interface up/down (Alaa Hleihel) [1861720 1859477] - [netdrv] net/mlx5e: Fix missing cleanup of ethtool steering during rep rx cleanup (Alaa Hleihel) [1859477 1856660] - [netdrv] ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support (Ken Cox) [1835962] - [x86] x86/purgatory: Add -fno-stack-protector (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Fail the build if purgatory.ro has missing symbols (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Do not use __builtin_memcpy and __builtin_memset (Lianbo Jiang) [1857528] - [x86] x86/boot: Provide KASAN compatible aliases for string routines (Lianbo Jiang) [1857528] - [x86] x86/purgatory: Disable various profiling and sanitizing options (Lianbo Jiang) [1857528] - [x86] x86/boot: Restrict header scope to make Clang happy (Lianbo Jiang) [1857528]- [x86] x86/entry/64: Update comments and sanity tests for create_gap (Jiri Olsa) [1850831] - [x86] x86/alternatives: add missing insn.h include (Jiri Olsa) [1850831] - [x86] x86/alternatives: Teach text_poke_bp() to emulate instructions (Jiri Olsa) [1850831] - [x86] x86/paravirt: Standardize 'insn_buff' variable names (Jiri Olsa) [1850831] - [x86] x86_64: Allow breakpoints to emulate call instructions (Jiri Olsa) [1850831] - [x86] x86_64: Add gap to int3 to allow for call emulation (Jiri Olsa) [1850831] - [x86] x86/alternatives: Sync bp_patching update for avoiding NULL pointer exception (Jiri Olsa) [1850831] - [nvme] nvme: add a Identify Namespace Identification Descriptor list quirk (Gopal Tiwari) [1862136] - [nvme] nvme: fix identify error status silent ignore (Gopal Tiwari) [1862136] - [nvme] nvme: fix possible hang when ns scanning fails during error recovery (Gopal Tiwari) [1862136] - [nvme] nvme: refactor nvme_identify_ns_descs error handling (Gopal Tiwari) [1862136] - [infiniband] IB/rdmavt: Fix RQ counting issues causing use of an invalid RWQE (Kamal Heib) [1850314] - [powerpc] powerpc/pseries: PCIE PHB reset (Steve Best) [1747345] - [drm] drm/nouveau/kms: Handle -EINPROGRESS in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Fix runtime PM leak in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Invert conditionals in nouveau_display_acpi_ntfy() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Use pm_runtime_put_autosuspend() in hpd_work (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Use pm_runtime_put_autosuspend() in suspend work (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Fix pm_runtime calls in nouveau_fbcon_output_poll_changed() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/fbcon: Correct pm_runtime calls in nouveau_fbcon_release() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Fix rpm leak in nouveau_connector_hotplug() (Lyude Paul) [1827812] - [drm] drm/nouveau/kms: Handle -EINPROGRESS in nouveau_connector_hotplug() (Lyude Paul) [1827812] - [drm] drm/nouveau/fbcon: fix module unload when fbcon init has failed for some reason (Lyude Paul) [1827812] - [drm] drm/nouveau/kms/tu102: wait for core update to complete when assigning windows (Lyude Paul) [1827812] - [drm] drm/nouveau/disp/gm200-: fix regression from HDA SOR selection changes (Lyude Paul) [1827812] - [drm] drm/amd/powerplay: fix a crash when overclocking Vega M (Lyude Paul) [1827812] - [drm] drm/amdgpu: Fix NULL dereference in dpm sysfs handlers (Lyude Paul) [1827812] - [drm] drm/amdgpu: fix preemption unit test (Lyude Paul) [1827812] - [drm] drm/amdgpu/gfx10: fix race condition for kiq (Lyude Paul) [1827812] - [drm] drm/amd/display: add dmcub check on RENOIR (Lyude Paul) [1827812] - [drm] drm/amd/display: Check DMCU Exists Before Loading (Lyude Paul) [1827812] - [drm] drm/nouveau/nouveau: fix page fault on device private memory (Lyude Paul) [1827812] - [drm] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout (Lyude Paul) [1827812] - [drm] drm/i915/perf: Use GTT when saving/restoring engine GPR (Lyude Paul) [1827812] - [drm] drm/i915/gvt: Fix two CFL MMIO handling caused by regression (Lyude Paul) [1827812] - [drm] drm/i915/gt: Only swap to a random sibling once upon creation (Lyude Paul) [1827812] - [drm] drm/i915/gt: Ignore irq enabling on the virtual engines (Lyude Paul) [1827812] - [drm] drm/i915: Move cec_notifier to intel_hdmi_connector_unregister, v2 (Lyude Paul) [1827812] - [drm] drm/amdgpu/display: create fake mst encoders ahead of time (v4) (Lyude Paul) [1827812] - [drm] drm/amd/display: handle failed allocation during stream construction (Lyude Paul) [1827812] - [drm] drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr() (Lyude Paul) [1827812] - [drm] drm/amdgpu/powerplay: Modify SMC message name for setting power profile mode (Lyude Paul) [1827812] - [drm] drm/i915: Also drop vm.ref along error paths for vma construction (Lyude Paul) [1827812] - [drm] drm/i915: Drop vm.ref for duplicate vma on construction (Lyude Paul) [1827812] - [drm] drm/amdgpu: asd function needs to be unloaded in suspend phase (Lyude Paul) [1827812] - [drm] drm/amdgpu: add TMR destory function for psp (Lyude Paul) [1827812] - [drm] drm/amdgpu: don't do soft recovery if gpu_recovery=0 (Lyude Paul) [1827812] - [drm] drm/i915: Skip stale object handle for debugfs per-file-stats (Lyude Paul) [1827812] - [drm] drm/i915/gt: Pin the rings before marking active (Lyude Paul) [1827812] - [drm] drm/radeon: fix double free (Lyude Paul) [1827812] - [drm] drm: panel-orientation-quirks: Use generic orientation-data for Acer S1003 (Lyude Paul) [1827812] - [drm] drm: panel-orientation-quirks: Add quirk for Asus T101HA panel (Lyude Paul) [1827812] - [iommu] iommu/vt-d: Don't apply gfx quirks to untrusted devices (Lyude Paul) [1827812] - [drm] drm/tegra: hub: Do not enable orphaned window group (Lyude Paul) [1827812] - [drm] drm/ttm: Fix dma_fence refcnt leak when adding move fence (Lyude Paul) [1827812] - [drm] drm/ttm: Fix dma_fence refcnt leak in ttm_bo_vm_fault_reserved (Lyude Paul) [1827812] - [drm] drm/amdgpu/atomfirmware: fix vram_info fetching for renoir (Lyude Paul) [1827812] - [drm] drm/amdgpu: use u rather than d for sclk/mclk (Lyude Paul) [1827812] - [drm] drm/amd/display: Only revalidate bandwidth on medium and fast updates (Lyude Paul) [1827812] - [drm] drm/i915/gt: Mark timeline->cacheline as destroyed after rcu grace period (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix ineffective setting of max bpc property (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix incorrectly pruned modes with deep color (Lyude Paul) [1827812] - [drm] drm/amdgpu: add fw release for sdma v5_0 (Lyude Paul) [1827812] - [drm] drm/radeon: fix fb_div check in ni_init_smc_spll_table() (Lyude Paul) [1827812] - [drm] drm/amd: fix potential memleak in err branch (Lyude Paul) [1827812] - [drm] drm/amd/display: Enable output_bpc property on all outputs (Lyude Paul) [1827812] - [drm] drm/amd/display: Use kfree() to free rgb_user in calculate_user_regamma_ramp() (Lyude Paul) [1827812] - [drm] Revert "drm/amd/display: disable dcn20 abm feature for bring up" (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move gen4 GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move vlv GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move ilk GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move snb GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move ivb GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Move hsw GT workarounds from init_clock_gating to workarounds (Lyude Paul) [1827812] - [drm] drm/i915/gt: Incrementally check for rewinding (Lyude Paul) [1827812] - [drm] drm/i915/tc: fix the reset of ln0 (Lyude Paul) [1827812] - [drm] drm/i915/icl+: Fix hotplug interrupt disabling after storm detection (Lyude Paul) [1827812] - [drm] drm/amd/display: Use kvfree() to free coeff in build_regamma() (Lyude Paul) [1827812] - [drm] drm/amdkfd: Use correct major in devcgroup check (Lyude Paul) [1827812] - [drm] drm/connector: notify userspace on hotplug after register complete (Lyude Paul) [1827812] - [drm] drm/i915: Whitelist context-local timestamp in the gen9 cmdparser (Lyude Paul) [1827812] - [drm] drm/i915/gem: Avoid iterating an empty list (Lyude Paul) [1827812] - [drm] drm/i915: Fix AUX power domain toggling across TypeC mode resets (Lyude Paul) [1827812] - [drm] drm/dp_mst: Increase ACT retry timeout to 3s (Lyude Paul) [1827812] - [drm] drm/ast: Don't check new mode if CRTC is being disabled (Lyude Paul) [1827812] - [drm] drm/amdgpu: Replace invalid device ID with a valid device ID (Lyude Paul) [1827812] - [drm] drm/amdgpu/display: use blanked rather than plane state for sync groups (Lyude Paul) [1827812] - [drm] drm/qxl: Use correct notify port address when creating cursor ring (Lyude Paul) [1827812] - [drm] drm/dp_mst: Reformat drm_dp_check_act_status() a bit (Lyude Paul) [1827812] - [drm] drm/ast: fix missing break in switch statement for format->cppcase 4 (Lyude Paul) [1827812] - [drm] drm/amd/display: Revalidate bandwidth before commiting DC updates (Lyude Paul) [1827812] - [drm] drm/nouveau: gr/gk20a: Use firmware version 0 (Lyude Paul) [1827812] - [drm] drm/amdgpu: Sync with VM root BO when switching VM to CPU update mode (Lyude Paul) [1827812] - [drm] drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and raven (Lyude Paul) [1827812] - [drm] drm/amd/display: Do not disable pipe split if mode is not supported (Lyude Paul) [1827812] - [drm] drm/amd/display: dmcu wait loop calculation is incorrect in RV (Lyude Paul) [1827812] - [drm] drm/amd/display: Correct updating logic of dcn21's pipe VM flags (Lyude Paul) [1827812] - [drm] drm/ast: Allocate initial CRTC state of the correct size (Lyude Paul) [1827812] - [drm] drm/hisilicon: Enforce 128-byte stride alignment to fix the hardware limitation (Lyude Paul) [1827812] - [drm] drm/dp: Lenovo X13 Yoga OLED panel brightness fix (Lyude Paul) [1827812] - [drm] drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam (Lyude Paul) [1827812] - [drm] drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels (Lyude Paul) [1827812] - [drm] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel (Lyude Paul) [1827812] - [drm] drm/dp: Introduce EDID-based quirks (Lyude Paul) [1827812] - [drm] drm/amdgpu: Init data to avoid oops while reading pp_num_states (Lyude Paul) [1827812] - [drm] drm/amd/display: fix virtual signal dsc setup (Lyude Paul) [1827812] - [drm] drm/amd/display: Force watermark value propagation (Lyude Paul) [1827812] - [drm] drm: bridge: adv7511: Extend list of audio sample rates (Lyude Paul) [1827812] - [drm] drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4 (Lyude Paul) [1827812] - [drm] drm/vkms: Hold gem object while still in-use (Lyude Paul) [1827812] - [drm] drm/amd/display: Not doing optimize bandwidth if flip pending (Lyude Paul) [1827812] - [drm] drm/amd/display: remove invalid dc_is_hw_initialized function (Lyude Paul) [1827812] - [drm] drm/amd/display: DP training to set properly SCRAMBLING_DISABLE (Lyude Paul) [1827812] - [drm] drm/edid: Add Oculus Rift S to non-desktop list (Lyude Paul) [1827812] - [drm] drm/amd/display: Fix potential integer wraparound resulting in a hang (Lyude Paul) [1827812] - [drm] drm/amd/display: Added locking for atomic update stream and update planes (Lyude Paul) [1827812] - [drm] drm/amd/display: Indicate dsc updates explicitly (Lyude Paul) [1827812] - [drm] drm/amd/display: Split program front end part that occur outside lock (Lyude Paul) [1827812] - [drm] drm/amd/display: drop cursor position check in atomic test (Lyude Paul) [1827812] - [drm] drm/amd/amdgpu: Update update_config() logic (Lyude Paul) [1827812] - [drm] drm/amdgpu: Use GEM obj reference for KFD BOs (Lyude Paul) [1827812] - [drm] drm/amd/powerplay: perform PG ungate prior to CG ungate (Lyude Paul) [1827812] - [drm] drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate (Lyude Paul) [1827812] - [drm] drm/i915: Propagate error from completed fences (Lyude Paul) [1827812] - [drm] drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance (Lyude Paul) [1827812] - [drm] drm/amd/display: Prevent dpcd reads with passive dongles (Lyude Paul) [1827812] - [drm] drm/amd/display: fix counter in wait_for_no_pipes_pending (Lyude Paul) [1827812] - [gpu] vgaarb: Keep adding VGA device in queue (Lyude Paul) [1827812]- [net] openvswitch: fixes potential deadlock in dp cleanup code (Eelco Chaudron) [1845662] - [net] openvswitch: reorder masks array based on usage (Eelco Chaudron) [1845662] - [net] openvswitch: ovs_ct_exit to be done under ovs_lock (Eelco Chaudron) [1860853] - [net] ip6_gre: fix null-ptr-deref in ip6gre_init_net() (Hangbin Liu) [1860221] - [net] ip6_gre: fix use-after-free in ip6gre_tunnel_lookup() (Hangbin Liu) [1860221] - [net] mld: fix memory leak in ipv6_mc_destroy_dev() (Hangbin Liu) [1860221] - [net] ipv6: Fix suspicious RCU usage warning in ip6mr (Hangbin Liu) [1860221] - [net] ip6mr: Fix RCU list debugging warning (Hangbin Liu) [1860221] - [net] revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" (Hangbin Liu) [1860221] - [netdrv] macsec: avoid to set wrong mtu (Sabrina Dubroca) [1860944] - [netdrv] team: fix hang in team_mode_get() (Hangbin Liu) [1860219] - [include] xfrm: Fix crash when the hold queue is used. (Xin Long) [1860672] - [net] xfrm: policy: fix IPv6-only espintcp compilation (Xin Long) [1860672] - [net] xfrm: esp6: fix encapsulation header offset computation (Xin Long) [1860672] - [net] xfrm: Fix double ESP trailer insertion in IPsec crypto offload. (Xin Long) [1860672] - [net] esp4: improve xfrm4_beet_gso_segment() to be more readable (Xin Long) [1860672] - [net] xfrm interface: don't take extra reference to netdev (Xin Long) [1860672] - [net] xfrm interface: fix oops when deleting a x-netns interface (Xin Long) [1860672] - [net] xfrm: remove the unnecessary .net_exit for xfrmi (Xin Long) [1860672] - [net] xfrm: Always set XFRM_TRANSFORMED in xfrm{4, 6}_output_finish (Xin Long) [1860672] - [include] xfrm: fix error in comment (Xin Long) [1860672] - [net] sctp: shrink stream outq when fails to do addstream reconf (Xin Long) [1853535] - [net] sctp: shrink stream outq only when new outcnt < old outcnt (Xin Long) [1853535] - [net] tipc: fix kernel WARNING in tipc_msg_append() (Xin Long) [1844377] - [net] tipc: fix NULL pointer dereference in streaming (Xin Long) [1844377] - [net] tipc: add test for Nagle algorithm effectiveness (Xin Long) [1844377] - [net] tipc: fix failed service subscription deletion (Xin Long) [1844377] - [net] tipc: fix memory leak in service subscripting (Xin Long) [1844377] - [net] tipc: fix large latency in smart Nagle streaming (Xin Long) [1844377] - [net] mptcp: add receive buffer auto-tuning (Florian Westphal) [1858276] - [tools] selftests: mptcp: add option to specify size of file to transfer (Florian Westphal) [1858276] - [net] mptcp: fallback in case of simultaneous connect (Florian Westphal) [1858276] - [net] mptcp: improve fallback to TCP (Florian Westphal) [1858276] - [net] mptcp: fix unblocking connect() (Florian Westphal) [1858276] - [net] mptcp: cache msk on MP_JOIN init_req (Florian Westphal) [1858276] - [net] mptcp: remove msk from the token container at destruction time. (Florian Westphal) [1858276] - [net] mptcp: fix races between shutdown and recvmsg (Florian Westphal) [1858276] - [net] mptcp: fix race between MP_JOIN and close (Florian Westphal) [1858276] - [net] mptcp: drop MPTCP_PM_MAX_ADDR (Florian Westphal) [1858276] - [net] mptcp: bugfix for RM_ADDR option parsing (Florian Westphal) [1858276] - [net] mptcp: drop MP_JOIN request sock on syn cookies (Florian Westphal) [1858276] - [net] mptcp: avoid NULL-ptr derefence on fallback (Florian Westphal) [1858276] - [net] mptcp: drop sndr_key in mptcp_syn_options (Florian Westphal) [1858276] - [net] mptcp: MPTCP_HMAC_TEST should depend on MPTCP (Florian Westphal) [1858276] - [net] mptcp: fix DSS map generation on fin retransmission (Florian Westphal) [1858276] - [net] inet_connection_sock: clear inet_num out of destroy helper (Florian Westphal) [1858276] - [net] mptcp: fix NULL ptr dereference in MP_JOIN error path (Florian Westphal) [1858276] - [net] mptcp: avoid blocking in tcp_sendpages (Florian Westphal) [1858276] - [net] mptcp: break and restart in case mptcp sndbuf is full (Florian Westphal) [1858276] - [net] l2tp: remove skb_dst_set() from l2tp_xmit_skb() (Xin Long) [1832799] - [net] rtnetlink: prevent underflows in do_setvfinfo() (Davide Caratti) [1854740] - [net] netfilter: nf_tables: reintroduce the NFT_SET_CONCAT flag (Phil Sutter) [1847553] - [net] netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type (Phil Sutter) [1847553] - [net] openvswitch: take into account de-fragmentation/gso_size in execute_check_pkt_len (Lorenzo Bianconi) [1851888] - [tools] selftests: forwarding: mirror_lib: Use mausezahn (Davide Caratti) [1816443] - [x86] perf/x86/rapl: Add Ice Lake RAPL support (Michael Petlan) [1841266] - [arm64] arm64/mm: enable HugeTLB migration (Donghai Qiao) [1758717] - [scsi] scsi: core: Run queue in case of I/O resource contention failure (Ewan Milne) [1854958] - [message] scsi: mptscsih: Fix read sense data size (Tomas Henzl) [1850563] - [netdrv] net: qed: fix buffer overflow on ethtool -d (Manish Chopra) [1858915] - [x86] sched/cputime: Improve cputime_adjust() (Oleg Nesterov) [1859977] - [kernel] uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression (Oleg Nesterov) [1855390] - [x86] x86/asm: Fix MWAITX C-state hint value (Vladis Dronov) [1767064] - [x86] x86/kexec: Fill in acpi_rsdp_addr from the first kernel (Kairui Song) [1684462] - [x86] x86/kexec: Don't setup EFI info if EFI runtime is not enabled (Kairui Song) [1684462] - [vfio] vfio/pci: fix racy on error and request eventfd ctx (Alex Williamson) [1858346] - [platform] platform/x86: ISST: Increase timeout (Prarit Bhargava) [1854682] - [mm] x86/mm: split vmalloc_sync_all() (Al Stone) [1851547] - [acpi] ACPI: watchdog: Fix gas->access_width usage (Al Stone) [1851547] - [acpi] ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro (Al Stone) [1851547]- [virt] kvm: x86: take as_id into account when checking PGD (Vitaly Kuznetsov) [1615704] - [arm64] kvm: arm64: Stop clobbering x0 for HVC_SOFT_RESTART (Andrew Jones) [1855788] - [arm64] kvm: arm64: pmu: Fix per-CPU access in preemptible context (Andrew Jones) [1855788] - [arm64] kvm: arm64: Fix kvm_reset_vcpu() return code being incorrect with SVE (Andrew Jones) [1855788] - [arm64] kvm: arm64: Annotate hyp NMI-related functions as __always_inline (Andrew Jones) [1855788] - [arm64] kvm: arm64: Remove host_cpu_context member from vcpu structure (Andrew Jones) [1855788] - [arm64] kvm: arm64: Move hyp_symbol_addr() to kvm_asm.h (Andrew Jones) [1855788] - [arm64] kvm: arm64: Handle PtrAuth traps early (Andrew Jones) [1855788] - [arm64] kvm: arm64: Save the host's PtrAuth keys in non-preemptible context (Andrew Jones) [1855788] - [arm64] kvm: arm64: Stop save/restoring ACTLR_EL1 (Andrew Jones) [1855788] - [kernel] firmware: smccc: Update link to latest SMCCC specification (Andrew Jones) [1855788] - [kernel] arm/arm64: smccc-1.1: Handle function result as parameters (Andrew Jones) [1855788] - [kernel] arm/arm64: smccc-1.1: Make return values unsigned long (Andrew Jones) [1855788] - [video] Revert "hyperv_fb: Fix hibernation for the deferred IO feature" (Mohammed Gamal) [1858755] - [netdrv] net/mlx5e: CT: Map 128 bits labels to 32 bit map ID (Alaa Hleihel) [1859540] - [security] ima: move APPRAISE_BOOTPARAM dependency on ARCH_POLICY to runtime (Bruno Meneguele) [1847219] - [scsi] scsi: lpfc: NVMe remote port devloss_tmo from lldd (Dick Kennedy) [1859344] - [netdrv] net/mlx5e: Disable devlink port support for non-switchdev mode (Alaa Hleihel) [1858501 1852904 1849623] - [tools] perf powerpc: Don't ignore sym-handling.c file (Michael Petlan) [1858133] - [fs] ext4: reserve revoke credits in __ext4_new_inode (Lukas Czerner) [1856760] - [include] jbd2: make jbd2_handle_buffer_credits() handle reserved handles (Lukas Czerner) [1856760] - [fs] jbd2: avoid leaking transaction credits when unreserving handle (Lukas Czerner) [1856760] - [fs] jbd2: Fine tune estimate of necessary descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Provide trace event for handle restarts (Lukas Czerner) [1856760] - [fs] ext4: Reserve revoke credits for freed blocks (Lukas Czerner) [1856760] - [fs] jbd2: Make credit checking more strict (Lukas Czerner) [1856760] - [fs] jbd2: Rename h_buffer_credits to h_total_credits (Lukas Czerner) [1856760] - [fs] jbd2: add missing tracepoint for reserved handle (Lukas Czerner) [1856760] - [fs] jbd2: Reserve space for revoke descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Drop jbd2_space_needed() (Lukas Czerner) [1856760] - [fs] jbd2: remove repeated assignments in __jbd2_log_wait_for_space() (Lukas Czerner) [1856760] - [fs] jbd2: Account descriptor blocks into t_outstanding_credits (Lukas Czerner) [1856760] - [include] jbd2: update locking documentation for transaction_t (Lukas Czerner) [1856760] - [fs] jbd2: Factor out common parts of stopping and restarting a handle (Lukas Czerner) [1856760] - [fs] jbd2: Drop pointless wakeup from jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] jbd2: Drop pointless check from jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] jbd2: Reorganize jbd2_journal_stop() (Lukas Czerner) [1856760] - [fs] ext4, jbd2: Provide accessor function for handle credits (Lukas Czerner) [1856760] - [fs] ext4: Provide function to handle transaction restarts (Lukas Czerner) [1856760] - [fs] ext4: Avoid unnecessary revokes in ext4_alloc_branch() (Lukas Czerner) [1856760] - [fs] ext4: Use ext4_journal_extend() instead of jbd2_journal_extend() (Lukas Czerner) [1856760] - [fs] jbd2: Completely fill journal descriptor blocks (Lukas Czerner) [1856760] - [fs] jbd2: Fixup stale comment in commit code (Lukas Czerner) [1856760] - [include] jbd2: Fix possible overflow in jbd2_log_space_left() (Lukas Czerner) [1856760] - [fs] ext4, jbd2: ensure panic by fix a race between jbd2 abort and ext4 error handlers (Lukas Czerner) [1856760] - [fs] ext4: remove set but not used variable 'es' in ext4_jbd2.c (Lukas Czerner) [1856760] - [fs] ext4: remove set but not used variable 'es' (Lukas Czerner) [1856760] - [fs] ext4: save all error info in save_error_info() and drop ext4_set_errno() (Lukas Czerner) [1856760] - [fs] ext4: save the error code which triggered an ext4_error() in the superblock (Lukas Czerner) [1856760] - [fs] jbd2: clean __jbd2_journal_abort_hard() and __journal_abort_soft() (Lukas Czerner) [1856760] - [fs] ext4: stop overwrite the errcode in ext4_setup_super (Lukas Czerner) [1856760] - [fs] ext4: fix partial cluster initialization when splitting extent (Lukas Czerner) [1856760] - [fs] ext4: avoid ext4_error()'s caused by ENOMEM in the truncate path (Lukas Czerner) [1856760] - [fs] ext4: fix race between ext4_sync_parent() and rename() (Lukas Czerner) [1856760] - [fs] ext4: clean up ext4_ext_convert_to_initialized() error handling (Lukas Czerner) [1856760] - [fs] ext4: clean up GET_BLOCKS_PRE_IO error handling (Lukas Czerner) [1856760] - [fs] ext4: fix error pointer dereference (Lukas Czerner) [1856760] - [fs] ext4: Avoid freeing inodes on dirty list (Lukas Czerner) [1856760] - [fs] writeback: Export inode_io_list_del() (Lukas Czerner) [1856760] - [fs] ext4: fix buffer_head refcnt leak when ext4_iget() fails (Lukas Czerner) [1856760] - [fs] ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max (Lukas Czerner) [1856760] - [fs] ext4: fix a style issue in fs/ext4/acl.c (Lukas Czerner) [1856760] - [fs] ext4: fix return-value types in several function comments (Lukas Czerner) [1856760] - [fs] ext4: use non-movable memory for superblock readahead (Lukas Czerner) [1856760] - [fs] ext4: fix incorrect group count in ext4_fill_super error message (Lukas Czerner) [1856760] - [fs] ext4: fix incorrect inodes per group in error message (Lukas Czerner) [1856760] - [fs] ext4: avoid ENOSPC when avoiding to reuse recently deleted inodes (Lukas Czerner) [1856760] - [fs] ext4: fix a data race at inode->i_disksize (Lukas Czerner) [1856760] - [fs] ext4: fix a data race at inode->i_blocks (Lukas Czerner) [1856760] - [fs] ext4: clean up error return for convert_initialized_extent() (Lukas Czerner) [1856760] - [fs] ext4: force buffer up-to-date while marking it dirty (Lukas Czerner) [1856760] - [fs] ext4: fix race between writepages and enabling EXT4_EXTENTS_FL (Lukas Czerner) [1856760] - [fs] ext4: rename s_journal_flag_rwsem to s_writepages_rwsem (Lukas Czerner) [1856760] - [fs] ext4: potential crash on allocation error in ext4_alloc_flex_bg_array() (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between s_flex_groups online resizing and access (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between s_group_info online resizing and access (Lukas Czerner) [1856760] - [fs] ext4: fix potential race between online resizing and write operations (Lukas Czerner) [1856760] - [fs] ext4: add cond_resched() to __ext4_find_entry() (Lukas Czerner) [1856760] - [fs] ext4: fix a data race in EXT4_I(inode)->i_disksize (Lukas Czerner) [1856760] - [fs] ext4: fix checksum errors with indexed dirs (Lukas Czerner) [1856760] - [fs] ext4: simplify checking quota limits in ext4_statfs() (Lukas Czerner) [1856760] - [fs] ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() (Lukas Czerner) [1856760] - [fs] ext4: don't assume that mmp_nodename/bdevname have NUL (Lukas Czerner) [1856760] - [fs] jbd2: make sure ESHUTDOWN to be recorded in the journal superblock (Lukas Czerner) [1856760] - [fs] ext4, jbd2: ensure panic when aborting with zero errno (Lukas Czerner) [1856760] - [fs] jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record (Lukas Czerner) [1856760] - [fs] jbd2_seq_info_next should increase position index (Lukas Czerner) [1856760] - [fs] ext4,jbd2: fix comment and code style (Lukas Czerner) [1856760] - [fs] ext4: fix extent_status trace points (Lukas Czerner) [1856760] - [fs] ext4: fix extent_status fragmentation for plain files (Lukas Czerner) [1856760] - [fs] jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal (Lukas Czerner) [1856760] - [fs] ext4: fix some nonstandard indentation in extents.c (Lukas Czerner) [1856760] - [fs] ext4: fix documentation for ext4_ext_try_to_merge() (Lukas Czerner) [1856760] - [fs] ext4: avoid fetching btime in ext4_getattr() unless requested (Lukas Czerner) [1856760] - [fs] ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT (Lukas Czerner) [1856760] - [fs] ext4: optimize __ext4_check_dir_entry() (Lukas Czerner) [1856760] - [fs] ext4: check for directory entries too close to block end (Lukas Czerner) [1856760] - [fs] ext4: fix a bug in ext4_wait_for_tail_page_commit (Lukas Czerner) [1856760] - [fs] jbd2: Fix statistics for the number of logged blocks (Lukas Czerner) [1856760] - [fs] ext4: Fix ext4_should_journal_data() for EA inodes (Lukas Czerner) [1856760] - [fs] ext4: Fix credit estimate for final inode freeing (Lukas Czerner) [1856760] - [fs] ext4: Do not iput inode under running transaction (Lukas Czerner) [1856760] - [fs] ext4: Move marking of handle as sync to ext4_add_nondir() (Lukas Czerner) [1856760] - [fs] ext4: update direct I/O read lock pattern for IOCB_NOWAIT (Lukas Czerner) [1856760] - [fs] jbd2: flush_descriptor(): Do not decrease buffer head's ref count (Lukas Czerner) [1856760] - [fs] ext4: fix prefetchw of NULL page (Lukas Czerner) [1856760] - [fs] ext4: check for non-zero journal inum in ext4_calculate_overhead (Lukas Czerner) [1814574] - [fs] ext4: do not commit super on read-only bdev (Lukas Czerner) [1814574] - [kernel] isolcpus: Affine unbound kernel threads to housekeeping cpus (Marcelo Tosatti) [1791930] - [kernel] kthread: Switch to cpu_possible_mask (Marcelo Tosatti) [1791930] - [scsi] scsi: lpfc: Quieten some printks (Dick Kennedy) [1859338] - [scsi] Revert "scsi: lpfc: Fix scsi host template for SLI3 vports" (Dick Kennedy) [1851189] - [md] dm mpath: use double checked locking in fast path (Mike Snitzer) [1848651] - [md] dm mpath: rename current_pgpath to pgpath in multipath_prepare_ioctl (Mike Snitzer) [1848651] - [md] dm mpath: rework __map_bio() (Mike Snitzer) [1848651] - [md] dm mpath: factor out multipath_queue_bio (Mike Snitzer) [1848651] - [md] dm mpath: push locking down to must_push_back_rq() (Mike Snitzer) [1848651] - [md] dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH (Mike Snitzer) [1848651] - [md] dm mpath: changes from initial m->flags locking audit (Mike Snitzer) [1848651] - [md] dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue() (Mike Snitzer) [1848651] - [md] dm: do not use waitqueue for request-based DM (Mike Snitzer) [1848651] - [block] blk-mq: consider non-idle request as "inflight" in blk_mq_rq_inflight() (Mike Snitzer) [1848651] - [powerpc] powerpc/fadump: fix race between pstore write and fadump crash trigger (Steve Best) [1820109] - [tools] libbpf: Fix probe code to return EPERM if encountered (=?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?=) [1856592] - [tools] tools selftests/bpf: Fix vmlinux test for kprobe and trampoline probes (Jiri Olsa) [1855778] - [net] net: Restrict receive packets queuing to housekeeping CPUs (Nitesh Narayan Lal) [1844520] - [pci] PCI: Restrict probe functions to housekeeping CPUs (Nitesh Narayan Lal) [1844520] - [lib] lib: Restrict cpumask_local_spread to houskeeping CPUs (Nitesh Narayan Lal) [1844520]- [tools] selftests/powerpc: Purge extra count_pmc() calls of ebb selftests (Desnes Augusto Nunes do Rosario) [1739769] - [netdrv] bonding: symmetric ICMP transmit (Jarod Wilson) [1760293] - [netdrv] bonding: balance ICMP echoes in layer3+4 mode (Jarod Wilson) [1760362] - [powerpc] powerpc/vas: Report proper error code for address translation failure (Steve Best) [1858160] - [infiniband] IB/hfi1: Fix module use count flaw due to leftover module put calls (Kamal Heib) [1858388] - [gpu] vgaarb: Add support for 64-bit frame buffer address (Karol Herbst) [1735217] - [netdrv] ionic: centralize queue reset code (Jonathan Toppins) [1857851] - [s390] s390/qeth: support net namespaces for L3 devices (Philipp Rudo) [1857311] - [s390] s390/qeth: implement smarter resizing of the RX buffer pool (Philipp Rudo) [1857311] - [s390] s390/qeth: refactor buffer pool code (Philipp Rudo) [1857311] - [s390] s390/qeth: use page pointers to manage RX buffer pool (Philipp Rudo) [1857311] - [s390] s390/qeth: cancel RX reclaim work earlier (Philipp Rudo) [1857311] - [s390] s390/qeth: handle error when backing RX buffer (Philipp Rudo) [1857311] - [s390] s390/qeth: don't reset default_out_queue (Philipp Rudo) [1857311] - [s390] s390/qdio: fill SBALEs with absolute addresses (Philipp Rudo) [1857311] - [s390] s390/qeth: fix off-by-one in RX copybreak check (Philipp Rudo) [1857311] - [s390] s390/qeth: vnicc Fix EOPNOTSUPP precedence (Philipp Rudo) [1857311] - [s390] s390/qeth: consolidate QDIO queue setup (Philipp Rudo) [1857311] - [s390] s390/pci: Fix s390_mmio_read/write with MIO (Philipp Rudo) [1857315] - [s390] scsi: zfcp: Fix panic on ERP timeout for previously dismissed ERP action (Philipp Rudo) [1857312] - [net] net/smc: tolerate future SMCD versions (Philipp Rudo) [1854992] - [fs] ext4: use RCU API in debug_print_tree (Lukas Czerner) [1837777] - [fs] ext4: fix potential use after free after remounting with noblock_validity (Lukas Czerner) [1837777] - [fs] ext4: add cond_resched() to ext4_protect_reserved_inode (Lukas Czerner) [1837777] - [fs] fibmap: Reject negative block numbers (Carlos Maiolino) [1687121] - [vfio] vfio/pci: Fix SR-IOV VF handling with MMIO blocking (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio-pci: Invalidate mmaps and block MMIO access on disabled memory (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio-pci: Fault mmaps to enable vma tracking (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/type1: Support faulting PFNMAP vmas (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio/pci: call irq_bypass_unregister_producer() before freeing irq (Alex Williamson) [1837310] {CVE-2020-12888} - [vfio] vfio_pci: Enable memory accesses before calling pci_map_rom (Alex Williamson) [1837310] {CVE-2020-12888} - [x86] mm: Fix mremap not considering huge pmd devmap (Rafael Aquini) [1843441] {CVE-2020-10757} - [x86] x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches (Waiman Long) [1847396 1846029] {CVE-2020-10768} - [x86] x86/speculation: Prevent rogue cross-process SSBD shutdown (Waiman Long) [1847358 1846029] {CVE-2020-10766} - [x86] x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS (Waiman Long) [1847379 1846029] {CVE-2020-10767} - [x86] x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline (Waiman Long) [1846029] - [arm64] Return ENODEV when the selected speculation misfeature is unsupported (Waiman Long) [1846029] - [x86] x86/speculation: Add support for STIBP always-on preferred mode (Waiman Long) [1846029] - [x86] x86/speculation: Change misspelled STIPB to STIBP (Waiman Long) [1846029]- [powerpc] powernv/iov: Ensure the pdn for VFs always contains a valid PE number (David Gibson) [1848235] - [powerpc] don't use ioremap_prot() nor __ioremap() unless really needed (Greg Kurz) [1855957] - [char] tpm: ibmvtpm: Wait for ready buffer before probing for TPM2 attributes (David Gibson) [1837283] - [powerpc] Check prom_init for disallowed sections (Michael Roth) [1856099] - [powerpc] prom_init: Move __prombss to it's own section and store it in .bss (Michael Roth) [1856099] - [powerpc] prom_init: Move const structures to __initconst (Michael Roth) [1856099] - [powerpc] prom_init: Make "default_colors" const (Michael Roth) [1856099] - [powerpc] prom_init: Move ibm_arch_vec to __prombss (Michael Roth) [1856099] - [fs] ext4: unregister sysfs path before destroying jbd2 journal (Lukas Czerner) [1814577] - [powerpc] powerpc/pseries/svm: Fix incorrect check for shared_lppaca_size (Steve Best) [1856889] - [netdrv] bnxt_en: fix NULL dereference in case SR-IOV configuration fails (Jonathan Toppins) [1856372] - [security] kexec: Allow kexec_file() with appropriate IMA policy when locked down (Bruno Meneguele) [1854097] - [x86] x86/apic/vector: Warn when vector space exhaustion breaks affinity (Neil Horman) [1714686] - [tools] perf report TUI: Fix segmentation fault in perf_evsel__hists_browse() (Michael Petlan) [1855737] - [fs] ext4: do not zeroout extents beyond i_disksize (Lukas Czerner) [1817816] - [pci] PCI/DPC: Print IRQ number used by port (Myron Stowe) [1855343] - [pci] PCI/AER: Use "aer" variable for capability offset (Myron Stowe) [1855343] - [pci] PCI/AER: Remove redundant dev->aer_cap checks (Myron Stowe) [1855343] - [pci] PCI/AER: Remove redundant pci_is_pcie() checks (Myron Stowe) [1855343] - [pci] PCI/AER: Remove HEST/FIRMWARE_FIRST parsing for AER ownership (Myron Stowe) [1855343] - [tools] selftests: bpf: use __u32 for sock::sk_pacing_rate (Yauheni Kaliuta) [1856324] - [tools] libbpf: Handle GCC noreturn-turned-volatile quirk (Yauheni Kaliuta) [1854327] - [netdrv] net/mlx5e: CT: Fix releasing ft entries (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Remove unused function param (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Return err_ptr from internal functions (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Expand tunnel register mappings (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Use mapping for zone restore register (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Re-use tuple modify headers for identical modify actions (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Export sharing of mod headers to a new file (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Add support for COPY steering action (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Accept flow rules without match (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Restore ct state from lookup in zone instead of tupleid (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Don't offload tuple rewrites for established tuples (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Use netdev_info instead of pr_info (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Allow header rewrite of 5-tuple and ct clear action (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Save ct entries tuples in hashtables (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: CT: Remove unused variables (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Avoid eswitch header inclusion in fs core layer (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: vxlan: Use RCU for vxlan table lookup (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Remove unused mlx5e_xsk_first_unused_channel (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: CT: Fix memory leak in cleanup (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix port buffers cell size value (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix 50G per lane indication (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix CPU mapping after function reload to avoid aRFS RX crash (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Fix VXLAN configuration restore after function reload (Alaa Hleihel) [1856057] - [netdrv] net/mlx5: Fix eeprom support for SFP module (Alaa Hleihel) [1856057] - [infiniband] IB/mlx5: Fix 50G per lane indication (Alaa Hleihel) [1856057] - [netdrv] net/mlx5e: Do not include rwlock.h directly (Alaa Hleihel) [1856057] - [fs] jbd2: fix data races at struct journal_head (Lukas Czerner) [1792518] - [fs] jbd2: remove pointless assertion in __journal_remove_journal_head (Lukas Czerner) [1792518] - [fs] jbd2: improve comments about freeing data buffers whose page mapping is NULL (Lukas Czerner) [1792518] - [fs] jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer (Lukas Czerner) [1792518] - [fs] jbd2: move the clearing of b_modified flag to the journal_unmap_buffer() (Lukas Czerner) [1792518] - [fs] ext4: unlock on error in ext4_expand_extra_isize() (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: fix support for inode sizes > 1024 bytes (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: validate the debug_want_extra_isize mount option at parse time (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: add more paranoia checking in ext4_expand_extra_isize handling (Lukas Czerner) [1817636] {CVE-2019-19767} - [fs] ext4: unsigned int compared against zero (Lukas Czerner) [1836666] {CVE-2019-19319} - [fs] ext4: protect journal inode's blocks using block_validity (Lukas Czerner) [1836666] {CVE-2019-19319} - [powerpc] powerpc/kernel/sysfs: Add new config option PMU_SYSFS to enable PMU SPRs sysfs file creation (Michael Petlan) [1821284] - [powerpc] powerpc/kernel/sysfs: Refactor current sysfs.c (Michael Petlan) [1821284] - [kernel] irqdomain: Add the missing assignment of domain->fwnode for named fwnode (Mohammed Gamal) [1846666] - [security] lockdown: Allow unprivileged users to see lockdown status (Vladis Dronov) [1805299] - [edac] EDAC/ghes: Setup DIMM label from DMI and use it in error reports (Robert Richter) [1726153]- [x86] kvm: nvmx: fixes for preemption timer migration (Paolo Bonzini) [1854831] - [powerpc] pci/of: Parse unassigned resources (Greg Kurz) [1849921] - [video] revert "hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver" (Vitaly Kuznetsov) [1848840] - [video] revert "hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs" (Vitaly Kuznetsov) [1848840] - [pci] hv: Retry PCI bus D0 entry on invalid device state (Mohammed Gamal) [1846666] - [pci] hv: Fix the PCI HyperV probe failure path to release resource properly (Mohammed Gamal) [1846666] - [pci] hv: Allocate a named fwnode instead of an address-based one (Mohammed Gamal) [1846666] - [netdrv] tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes (Jonathan Toppins) [1850176] - [scsi] scsi: lpfc: Fix kdump hang on PPC (Dick Kennedy) [1722596] - [fs] nfsd: fix nfsdfs inode reference count leak ("J. Bruce Fields") [1846235] - [fs] nfsd4: fix nfsdfs reference count loop ("J. Bruce Fields") [1846235] - [kernel] sched: Defend cfs and rt bandwidth quota against overflow (Phil Auld) [1854180] - [kernel] sched/core: Make some functions static (Phil Auld) [1854180] - [kernel] sched/fair: Refill bandwidth before scaling (Phil Auld) [1854180] - [kernel] sched/fair: Eliminate bandwidth race between throttling and distribution (Phil Auld) [1854180] - [kernel] sched/fair: Fix race between runtime distribution and assignment (Phil Auld) [1854180] - [kernel] sched/deadline: Initialize ->dl_boosted (Phil Auld) [1854179] - [kernel] sched/core: Fix PI boosting between RT and DEADLINE tasks (Phil Auld) [1854179] - [netdrv] ibmveth: Fix max MTU limit (Diego Domingos) [1846435] - [kernel] sched/core: Fix ttwu() race (Phil Auld) [1854178] - [tools] perf flamegraph: Explicitly set utf-8 encoding (Michael Petlan) [1849027] - [kernel] sched/core: Check cpus_mask, not cpus_ptr in __set_cpus_allowed_ptr(), to fix mask corruption (Phil Auld) [1854174] - [kernel] workqueue: Remove the warning in wq_worker_sleeping() (Phil Auld) [1854174] - [kernel] sched/fair: Fix negative imbalance in imbalance calculation (Phil Auld) [1854174] - [kernel] sched/fair: Optimize select_idle_core() (Phil Auld) [1854174] - [x86] x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs (Myron Stowe) [1854184] - [netdrv] r8169: fix firmware not resetting tp->ocp_base (Josef Oskera) [1851960] - [acpi] ACPI: configfs: Disallow loading ACPI tables when locked down (Lenny Szubowicz) [1852969] - [arm64] Revert "bpf: Restrict bpf_probe_read{, str}() only to archs where they work" (Jiri Olsa) [1847837] - [s390] s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range (Jiri Olsa) [1847837] - [net] Bluetooth: Modify LE window and interval for suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix incorrect type for window and interval (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Use DEFER_SETUP to group ECRED connections (Gopal Tiwari) [1838924] - [net] Bluetooth: don't assume key size is 16 when the command fails (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add get_peer_pid callback (Gopal Tiwari) [1838924] - [net] Bluetooth: Restore running state if suspend fails (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix incorrect branch in connection complete (Gopal Tiwari) [1838924] - [net] Bluetooth: Do not cancel advertising when starting a scan (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: remove set but not used variable 'credits' (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Fix a condition in l2cap_sock_recvmsg() (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: handle l2cap config request during open state (Gopal Tiwari) [1838924] - [net] Bluetooth: clean up connection in hci_cs_disconnect (Gopal Tiwari) [1838924] - [net] Bluetooth: Pause discovery and advertising during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle LE devices during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle BR/EDR devices during suspend (Gopal Tiwari) [1838924] - [net] Bluetooth: Handle PM_SUSPEND_PREPARE and PM_POST_SUSPEND (Gopal Tiwari) [1838924] - [net] Bluetooth: mgmt: add mgmt_cmd_status in add_advertising (Gopal Tiwari) [1838924] - [net] Bluetooth: fix off by one in err_data_reporting cmd masks (Gopal Tiwari) [1838924] - [net] Bluetooth: Use bt_dev_err for RPA generation failure message (Gopal Tiwari) [1838924] - [net] Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add module option to enable ECRED mode (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add initial code for Enhanced Credit Based Mode (Gopal Tiwari) [1838924] - [net] Bluetooth: L2CAP: Add definitions (Gopal Tiwari) [1838924] - [net] Bluetooth: Increment management interface revision (Gopal Tiwari) [1838924] - [net] Bluetooth: Make use of skb_pull to parse L2CAP signaling PDUs (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix calculation of SCO handle for packet processing (Gopal Tiwari) [1838924] - [net] Bluetooth: guard against controllers sending zero'd events (Gopal Tiwari) [1838924] - [net] Bluetooth: During le_conn_timeout disable EXT_ADV (Gopal Tiwari) [1838924] - [net] Bluetooth: Remove adv set for directed advertising (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix Suspicious RCU usage warnings (Gopal Tiwari) [1838924] - [net] Bluetooth: Use list_for_each_entry_rcu() to traverse RCU list in RCU read-side CS (Gopal Tiwari) [1838924] - [net] Bluetooth: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [net] Bluetooth: fix passkey uninitialized when used (Gopal Tiwari) [1838924] - [net] Bluetooth: RFCOMM: Use MTU auto tune logic (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix crash when using new BT_PHY option (Gopal Tiwari) [1838924] - [net] Bluetooth: Disable Extended Adv if enabled (Gopal Tiwari) [1838924] - [net] Bluetooth: Add BT_PHY socket option (Gopal Tiwari) [1838924] - [net] Bluetooth: secure bluetooth stack from bluedump attack (Gopal Tiwari) [1838924] - [net] Bluetooth: remove __get_channel/dir and __dir (Gopal Tiwari) [1838924] - [net] Bluetooth: prefetch channel before killing sock (Gopal Tiwari) [1838924] - [net] Bluetooth: optimize barrier usage for Rmw atomics (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix refcount use-after-free issue (Gopal Tiwari) [1838924] - [net] Bluetooth: SMP: Fix SALT value in some comments (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix race condition in hci_release_sock() (Gopal Tiwari) [1838924] - [net] Bluetooth: Move {min, max}_key_size debugfs into hci_debugfs_create_le (Gopal Tiwari) [1838924] - [net] Bluetooth: Add missing checks for HCI_ISODATA_PKT packet type (Gopal Tiwari) [1838924] - [net] Bluetooth: fix appearance typo in mgmt.c (Gopal Tiwari) [1838924] - [net] Bluetooth: adding missing const decoration to mgmt_status_table (Gopal Tiwari) [1838924] - [net] Bluetooth: Increment management interface revision (Gopal Tiwari) [1838924] - [net] Bluetooth: monitor: Add support for ISO packets (Gopal Tiwari) [1838924] - [net] Bluetooth: Make use of __check_timeout on hci_sched_le (Gopal Tiwari) [1838924] - [net] Bluetooth: Implementation of MGMT_OP_SET_BLOCKED_KEYS (Gopal Tiwari) [1838924] - [net] Bluetooth: remove redundant assignment to variable icid (Gopal Tiwari) [1838924] - [net] Bluetooth: Auto tune if input MTU is set to 0 (Gopal Tiwari) [1838924] - [net] Bluetooth: Remove usage of BT_ERR_RATELIMITED macro (Gopal Tiwari) [1838924] - [net] Bluetooth: Adding a bt_dev_warn_ratelimited macro (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix memory leak in hci_connect_le_scan (Gopal Tiwari) [1838924] - [net] Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks (Gopal Tiwari) [1838924] - [net] Bluetooth: delete a stray unlock (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix advertising duplicated flags (Gopal Tiwari) [1838924] - [net] net: use skb_queue_empty_lockless() in poll() handlers (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix not using LE_ADV_NONCONN_IND for instance 0 (Gopal Tiwari) [1838924] - [net] Bluetooth: Fix using advertising instance duration as timeout (Gopal Tiwari) [1838924] - [fs] compat_ioctl: move hci_sock handlers into driver (Gopal Tiwari) [1838924] - [fs] compat_ioctl: move rfcomm handlers into driver (Gopal Tiwari) [1838924] - [net] Bluetooth: hci_core: fix init for HCI_USER_CHANNEL (Gopal Tiwari) [1838924] - [net] Bluetooth: Workaround directed advertising bug in Broadcom controllers (Gopal Tiwari) [1838924] - [net] Bluetooth: missed cpu_to_le16 conversion in hci_init4_req (Gopal Tiwari) [1838924] - [hid] Bluetooth: hidp: Fix assumptions on the return value of hidp_send_message (Gopal Tiwari) [1838924] - [net] Bluetooth: mgmt: Use struct_size() helper (Gopal Tiwari) [1838924] - [net] Bluetooth: Add support for utilizing Fast Advertising Interval (Gopal Tiwari) [1838924] - [net] Bluetooth: 6lowpan: Make variable header_ops constant (Gopal Tiwari) [1838924] - [net] Revert "Bluetooth: validate BLE connection interval updates" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: print Intel fw build version in power-on boot (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Switch from BT_ERR to bt_dev_err where possible (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: bfusb: Switch from BT_ERR to bt_dev_err where possible (Gopal Tiwari) [1838924] - [net] Bluetooth: Enable erroneous data reporting if WBS is supported (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Replace devm_gpiod_get() with devm_gpiod_get_optional() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Make bt_en and susclk not mandatory for QCA Rome (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btqca: Fix the NVM baudrate tag offcet for wcn3991 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Not send vendor pre-shutdown command for QCA Rome (Gopal Tiwari) [1838924] - [net] Bluetooth: Support querying for WBS support through MGMT (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add flag to define wideband speech capability (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Remove a redundant assignment in 'h4_flush()' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Fix a typo in a comment (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Move variable into local scope (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Bug fixes while collecting controller memory dump (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: btrtl: Add support for RTL8822C (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: Fix a typo in Kconfig (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_uart: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_intel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btintel: Replace zero-length array with flexible-array member (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add support for 13d3:3548 Realtek 8822CE device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Optimized code while enabling clocks for BT SOC (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Enable clocks required for BT SOC (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Use kvmalloc for FW allocations (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Retry btsoc initialize when it fails (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: enable IRQ capability from devicetree (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_vhci: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h4: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btsdio: Check for valid packet type (Gopal Tiwari) [1838924] - [net] Bluetooth: Add definitions (Gopal Tiwari) [1838924] - [net] Bluetooth: Add support for (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_h5: Add support for ISO packets (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add qca_power_on() API to support both wcn399x and Rome power up (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm : Fix warning about missing blank lines after declarations (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Remove set but not used variable 'opcode' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Use vfree() instead of kfree() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Add support for 04ca:3021 QCA_ROME device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Collect controller memory dump during SSR (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Drive RTS only for BCM43438 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Replace of_device_get_match_data with device_get_match_data (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add missing static inline in header (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Disable runtime suspend on Realtek devices (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix memory leak on fw (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix non-atomic allocation in completion handler (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Support pcm params in dts (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Support pcm configuration (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Disallow set_baudrate for BCM4354 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Edit the logical value for Realtek Bluetooth reset (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add entry for BCM4335A0 UART bluetooth (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btbcm: Add entry for BCM4334B0 UART Bluetooth (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: fix PM leak in error case of setup (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btqca: Rename ROME specific variables to generic variables (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btmtksdio: add MODULE_DEVICE_TABLE() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: Fix invalid-free in bcsp_close() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: add PM support (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Add compatible string for BCM43540 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: remove unneeded semicolon (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Fix RTS handling during startup (Gopal Tiwari) [1838924] - [bluetooth] Revert "Bluetooth: hci_qca: Add delay for wcn3990 stability" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Remove return statement in btintel_reset_to_bootloader (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Split qca_power_setup() (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Use regulator bulk enable/disable (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Don't vote for specific voltage (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Update regulator_set_load() usage (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Add delay for wcn3990 stability (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Trigger Intel FW download error recovery (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btwilink: drop superseded driver (Gopal Tiwari) [1838924] - [bluetooth] Revert "Bluetooth: hci_ll: set operational frequency earlier" (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Fix an issue for the incorrect error return code (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Use IS_ENABLED instead of #ifdef (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: print FW version after FW download (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: avoid unused function warning (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_nokia: Save a few cycles in 'nokia_enqueue()' (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Use cmd_timeout to reset Realtek device (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Fix an issue that failing to download the FW which size is over 32K bytes (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Remove trailing newline from calls to rtl_dev macros (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for QCA UART Radio (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Remove redundant prefix from calls to rtl_dev macros (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY (Gopal Tiwari) [1838924] - [bluetooth] bluetooth: bcm: Add support for loading firmware for BCM4345C5 (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Add firmware version print (Gopal Tiwari) [1838924] - [bluetooth] bluetooth: hci_bcm: Give more time to come out of reset (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: wait for Pre shutdown complete event before sending the Power off pulse (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_bcm: Fix -Wunused-const-variable warnings (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btusb: Fix suspend issue for Realtek devices (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Remove redundant initializations to zero (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: Make structure qca_proto constant (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: bpa10x: change return value (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: hci_qca: disable irqs when spinlock is acquired (Gopal Tiwari) [1838924] - [bluetooth] Bluetooth: btrtl: Additional Realtek 8822CE Bluetooth devices (Gopal Tiwari) [1838924]- [powerpc] powerpc/papr_scm: Implement support for PAPR_PDSM_HEALTH (Gustavo Duarte) [1782178] - [powerpc] ndctl/papr_scm, uapi: Add support for PAPR nvdimm specific methods (Gustavo Duarte) [1782178] - [powerpc] powerpc/papr_scm: Improve error logging and handling papr_scm_ndctl() (Gustavo Duarte) [1782178] - [powerpc] powerpc/papr_scm: Fetch nvdimm health information from PHYP (Gustavo Duarte) [1782178] - [lib] seq_buf: Export seq_buf_printf (Gustavo Duarte) [1782178] - [firmware] efi: Restrict efivar_ssdt_load when the kernel is locked down (Lenny Szubowicz) [1852949] - [netdrv] vmxnet3: allow rx flow hash ops only when rss is enabled (Cathy Avery) [1845417] - [netdrv] net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss() (Cathy Avery) [1845417] - [netdrv] vmxnet3: use correct hdr reference when packet is encapsulated (Cathy Avery) [1845417] - [netdrv] vmxnet3: update to version 4 (Cathy Avery) [1845417] - [netdrv] vmxnet3: add geneve and vxlan tunnel offload support (Cathy Avery) [1845417] - [netdrv] vmxnet3: add support to get/set rx flow hash (Cathy Avery) [1845417] - [netdrv] vmxnet3: prepare for version 4 changes (Cathy Avery) [1845417] - [netdrv] vmxnet3: let core reject the unsupported coalescing parameters (Cathy Avery) [1845417] - [netdrv] vmxnet3: use new helper tcp_v6_gso_csum_prep (Cathy Avery) [1845417] - [netdrv] vmxnet3: Remove always false conditional statement (Cathy Avery) [1845417] - [kernel] kexec: do not verify the signature without the lockdown or mandatory signature (Lianbo Jiang) [1836148] - [fs] block: Fix use-after-free in blkdev_get() (Ming Lei) [1847779] - [kernel] kernel: rh_features: fix reading empty feature list from /proc (Jiri Benc) [1843064] {CVE-2020-10774} - [netdrv] ice: cleanup unsigned loops (Jonathan Toppins) [1781403] - [netdrv] ice: fix usage of incorrect variable (Jonathan Toppins) [1781403] - [netdrv] ice: Fix bad register reads (Jonathan Toppins) [1781403] - [netdrv] ice: check for compatibility between DDP package and firmware (Jonathan Toppins) [1781403] - [netdrv] ice: Check if unicast MAC exists before setting VF MAC (Jonathan Toppins) [1781403] - [netdrv] ice: print Rx MDD auto reset message before VF reset (Jonathan Toppins) [1781403] - [netdrv] ice: Call ice_aq_set_mac_cfg (Jonathan Toppins) [1781403] - [netdrv] ice: Implement aRFS (Jonathan Toppins) [1781403] - [netdrv] ice: Restore filters following reset (Jonathan Toppins) [1781403] - [netdrv] ice: Enable flex-bytes support (Jonathan Toppins) [1781403] - [netdrv] ice: Support IPv6 Flow Director filters (Jonathan Toppins) [1781403] - [netdrv] ice: Support IPv4 Flow Director filters (Jonathan Toppins) [1781403] - [netdrv] ice: Support displaying ntuple rules (Jonathan Toppins) [1781403] - [netdrv] ice: Initialize Flow Director resources (Jonathan Toppins) [1781403] - [netdrv] ice: Rename build_ctob to ice_build_ctob (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary backslash (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary check (Jonathan Toppins) [1781405] - [netdrv] ice: remove unnecessary expression that is always true (Jonathan Toppins) [1781405] - [netdrv] ice: Fix check for removing/adding mac filters (Jonathan Toppins) [1781405] - [netdrv] ice: refactor filter functions (Jonathan Toppins) [1781405] - [netdrv] ice: Fix resource leak on early exit from function (Jonathan Toppins) [1781405] - [netdrv] ice: cleanup vf_id signedness (Jonathan Toppins) [1781405] - [netdrv] ice: Fix casting issues (Jonathan Toppins) [1781405] - [netdrv] ice: Provide more meaningful error message (Jonathan Toppins) [1781405] - [netdrv] ice: Fix probe/open race condition (Jonathan Toppins) [1781405] - [netdrv] ice: only drop link once when setting pauseparams (Jonathan Toppins) [1781405] - [netdrv] ice: Fix check for contiguous TCs (Jonathan Toppins) [1781405] - [netdrv] ice: Don't reset and rebuild for Tx timeout on PFC enabled queue (Jonathan Toppins) [1781405] - [netdrv] ice: Add VF promiscuous support (Jonathan Toppins) [1781405] - [netdrv] ice: Add support for tunnel offloads (Jonathan Toppins) [1781405] - [netdrv] ice: report netlist version in .info_get (Jonathan Toppins) [1781405] - [netdrv] ice: add additional E810 device id (Jonathan Toppins) [1725447] - [x86] x86/split_lock: Update to use X86_MATCH_INTEL_FAM6_MODEL() (Prarit Bhargava) [1482757] - [x86] x86/intel_split_lock: Disable split lock detector by default in RHEL8 (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Provide handle_guest_split_lock() (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Add Tremont family CPU models (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Bits in IA32_CORE_CAPABILITIES are not architectural (Prarit Bhargava) [1482757] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (Prarit Bhargava) [1482757] - [tools] tools arch x86: Sync the msr-index.h copy with the kernel sources (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Avoid runtime reads of the TEST_CTRL MSR (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Rework the initialization flow of split lock detection (Prarit Bhargava) [1482757] - [x86] x86/split_lock: Enable split lock detection by kernel (Prarit Bhargava) [1482757] - [netdrv] drivers/net/b44: Change to non-atomic bit operations on pwol_mask (Prarit Bhargava) [1482757] - [x86] x86/cpu: Align cpu_caps_cleared and cpu_caps_set to unsigned long (Prarit Bhargava) [1482757] - [x86] x86/boot: Make the GDT 8-byte aligned (Prarit Bhargava) [1482757] - [wireless] wlcore: simplify/fix/optimize reg_ch_conf_pending operations (Prarit Bhargava) [1482757] - [uapi] prctl: PR_{G, S}ET_IO_FLUSHER to support controlling memory reclaim (Waiman Long) [1757240]- [kernel] kernel: fork: avoid utilizing a non-initialized task_struct_rh pointer in the error exit path (Rafael Aquini) [1838475 1820041] - [infiniband] RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() (Kamal Heib) [1846063] - [infiniband] RDMA/ipoib: Return void from ipoib_ib_dev_stop() (Kamal Heib) [1846063] - [powerpc] mm/pkeys: Make pkey access check work on execute_only_key (Greg Kurz) [1748772] - [powerpc] mm/book3s64: Fix MADV_DONTNEED and parallel page fault race (Greg Kurz) [1748772] - [mm] change pmdp_huge_get_and_clear_full take vm_area_struct as arg (Greg Kurz) [1748772] - [powerpc] mm/book3s64: Avoid sending IPI on clearing PMD (Greg Kurz) [1748772] - [powerpc] 64s: Fix THP PMD collapse serialisation (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use pte_present instead of opencoding _PAGE_PRESENT check (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in kvmppc_get_hpa (Greg Kurz) [1748772] - [powerpc] kvm/book3s: use find_kvm_host_pte in kvmppc_book3s_instantiate_page (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Avoid using rmap to protect parallel page table update (Greg Kurz) [1748772] - [powerpc] kvm/book3s: use find_kvm_host_pte in pute_tce functions (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in h_enter (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use find_kvm_host_pte in page fault handler (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Add helper for host page table walk (Greg Kurz) [1748772] - [powerpc] kvm: ppc: Fix nested guest RC bits update (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Use kvm helpers to walk shadow or secondary table (Greg Kurz) [1748772] - [powerpc] kvm/nested: Add helper to walk nested shadow linux page table (Greg Kurz) [1748772] - [powerpc] kvm/book3s: Add helper to walk partition scoped linux page table (Greg Kurz) [1748772] - [powerpc] kvm/book3s: switch from raw_spin_*lock to arch_spin_lock (Greg Kurz) [1748772] - [powerpc] perf/callchain: Use __get_user_pages_fast in read_user_stack_slow (Greg Kurz) [1748772] - [powerpc] mce: Don't reload pte val in addr_to_pfn (Greg Kurz) [1748772] - [powerpc] book3s64/hash: Use the pte_t address from the caller (Greg Kurz) [1748772] - [powerpc] hash64: Restrict page table lookup using init_mm with __flush_hash_table_range (Greg Kurz) [1748772] - [powerpc] mm/hash64: use _PAGE_PTE when checking for pte_present (Greg Kurz) [1748772] - [powerpc] pkeys: Check vma before returning key fault error to the user (Greg Kurz) [1748772] - [powerpc] pkeys: Avoid using lockless page table walk (Greg Kurz) [1748772] - [powerpc] mmu: add is_strict_kernel_rwx() helper (Greg Kurz) [1748772] - [powerpc] mm: move update_mmu_cache() into book3s hash utils (Greg Kurz) [1748772] - [powerpc] mm: Move book3s32 specifics in subdirectory mm/book3s64 (Greg Kurz) [1748772] - [powerpc] mm: move FSL_BOOK3 version of update_mmu_cache() (Greg Kurz) [1748772] - [powerpc] mm: define empty update_mmu_cache() as static inline (Greg Kurz) [1748772] - [powerpc] change CONFIG_PPC_STD_MMU to CONFIG_PPC_BOOK3S (Greg Kurz) [1748772] - [powerpc] mm: don't use _PAGE_EXEC for calling hash_preload() (Greg Kurz) [1748772] - [powerpc] change CONFIG_PPC_STD_MMU_32 to CONFIG_PPC_BOOK3S_32 (Greg Kurz) [1748772] - [powerpc] handover page flags with a pgprot_t parameter (Greg Kurz) [1748772] - [powerpc] mm: properly set PAGE_KERNEL flags in ioremap() (Greg Kurz) [1748772] - [powerpc] 32: Add ioremap_wt() and ioremap_coherent() (Greg Kurz) [1748772] - [netdrv] crypto/chcr: error seen if CONFIG_CHELSIO_TLS_DEVICE isn't set (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: avoid -Wreturn-local-addr warning (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: fix EOTID leak when disabling TC-MQPRIO offload (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4/chcr: Enable ktls settings at run time (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: cleanup error code in setup_sge_queues_uld() (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4: add adapter hotplug support for ULDs (Christoph von Recklinghausen) [1797945] - [crypto] Crypto: chelsio - Fixes a deadlock between rtnl_lock and uld_mutex (Christoph von Recklinghausen) [1797945] - [netdrv] cxgb4/chcr: nic-tls stats in ethtool (Christoph von Recklinghausen) [1797945] - [crypto] crypto/chcr: fix incorrect ipv6 packet length (Christoph von Recklinghausen) [1797945] - [crypto] crypto/chcr: Add missing include file (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: Add ipv6 support and statistics (Christoph von Recklinghausen) [1797945] - [crypto] chcr: Handle first or middle part of record (Christoph von Recklinghausen) [1797945] - [crypto] chcr: handle partial end part of a record (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: complete record tx handling (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr: Save tx keys and handle HW response (Christoph von Recklinghausen) [1797945] - [crypto] cxgb4/chcr : Register to tls add and del callback (Christoph von Recklinghausen) [1797945] - [hwmon] hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap' (Al Stone) [1749529] - [netdrv] net/mlx4_core: fix a memory leak bug (Alaa Hleihel) [1846792] - [netdrv] net/mlx4_core: Add missing iounmap() in error path (Alaa Hleihel) [1846792] - [netdrv] net/mlx5: E-switch, Fix error unwinding flow for steering init failure (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: E-Switch, Enable chains only if regs loopback is enabled (Alaa Hleihel) [1848830 1846791] - [netdrv] net/mlx5e: en_tc: Rely just on register loopback for tunnel restoration (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: E-Switch, Skip restore modify header between prios of same chain (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: CT: Fix ipv6 nat header rewrite actions (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Don't fail driver on failure to create debugfs (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Add missing mutex destroy (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Fix devlink objects and devlink device unregister sequence (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Wait for inactive autogroups (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Disable reload while removing the device (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: Fix ethtool hfunc configuration change (Alaa Hleihel) [1846791] - [netdrv] net/mlx5e: Fix repeated XSK usage on one channel (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Split RX and TX lock for parallel insertion (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Add a spinlock to protect the send ring (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: DR, Fix freeing in dr_create_rc_qp() (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Fix fatal error handling during device load (Alaa Hleihel) [1846791 1841363] - [netdrv] net/mlx5: drain health workqueue in case of driver load error (Alaa Hleihel) [1846791 1841363] - [netdrv] net/mlx5: Drain wq first during PCI device removal (Alaa Hleihel) [1846791] - [netdrv] net/mlx5: Have single error unwinding path (Alaa Hleihel) [1846791] - [netdrv] mlx5: reject unsupported coalescing params (Alaa Hleihel) [1846791] - [crypto] Crypto: chelsio - Fixes a hang issue during driver registration (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Use multiple txq/rxq per tfm to process the requests (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Recalculate iv only if it is needed (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - un-register crypto algorithms (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Endianess bug in create_authenc_wr (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Print the chcr driver information while module load (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - This fixes the libkcapi's cbc(aes) aio fail test cases (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - Resetting crypto counters during the driver unregister (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - fix writing tfm flags to wrong place (Vishal Kulkarni) [1845004] - [crypto] crypto: chelsio - calculating tx_channel_id as per the max number of channels (Vishal Kulkarni) [1845004] - [firmware] tpm: check event log version before reading final events (Jerry Snitselaar) [1839284] - [char] tpm: Fix TIS locality timeout problems (Jerry Snitselaar) [1840789]- [vfio] vfio/pci: Clear error and request eventfd ctx after releasing (Alex Williamson) [1847731] - [fs] pNFS/flexfiles: Fix list corruption if the mirror count changes (Benjamin Coddington) [1852500] - [netdrv] ionic: update the queue count on open (Michal Schmidt) [1846879] - [tools] turbostat: Use sched_getcpu() instead of hardcoded cpu 0 (Prarit Bhargava) [1852123] - [infiniband] RDMA/hfi1: Fix null-pointer dereference when calling mmu_notifier_register (Kamal Heib) [1850345] - [platform] Revert "intel-speed-select: Firmware workarounds for Icelake" (Prarit Bhargava) [1820597] - [powerpc] powerpc/crashkernel: Take "mem=" option into account (Pingfan Liu) [1747969] - [tools] perf stat: Increase perf metric output resolution (Michael Petlan) [1844632] - [tools] perf vendor events power9: Add missing metrics to POWER9 'cpi_breakdown' (Michael Petlan) [1844632] - [tools] perf metrics: Fix parse errors in power8 metrics (Michael Petlan) [1844632] - [tools] perf metrics: Fix parse errors in power9 metrics (Michael Petlan) [1844632] - [s390] s390/kaslr: add support for R_390_JMP_SLOT relocation type (Claudio Imbrenda) [1850908] - [s390] s390: prevent leaking kernel address in BEAR (Claudio Imbrenda) [1850907] - [s390] s390/cpumf: Adjust registration of s390 PMU device drivers (Claudio Imbrenda) [1850906] - [firmware] efi/x86: Add TPM related EFI tables to unencrypted mapping checks (Lenny Szubowicz) [1849922] - [security] selinux: allow reading labels before policy is loaded (Ondrej Mosnacek) [1839819] - [idle] intel_idle: Introduce 'use_acpi' module parameter (Prarit Bhargava) [1849666] - [net] xsk: Add overflow check for u64 division, stored into u32 (Jiri Benc) [1838075] - [tools] selftests: netdevsim: Always initialize 'RET' variable (Jiri Benc) [1838075] - [netdrv] netdevsim: Ensure policer drop counter always increases (Jiri Benc) [1838075] - [tools] selftests/bpf: Check for correct program attach/detach in xdp_attach test (Jiri Benc) [1838075] - [tools] libbpf: Fix type of old_fd in bpf_xdp_set_link_opts (Jiri Benc) [1838075] - [net] xsk: Add missing check on user supplied headroom size (Jiri Benc) [1838075] - [net] xdp: Reset prog in dev_change_xdp_fd when fd is negative (Jiri Benc) [1838075] - [netdrv] veth: rely on peer veth_rq for ndo_xdp_xmit accounting (Jiri Benc) [1838075] - [netdrv] veth: rely on veth_rq in veth_xdp_flush_bq signature (Jiri Benc) [1838075] - [net] page pool: allow to pass zero flags to page_pool_init() (Jiri Benc) [1838075] - [tools] selftests/bpf: Add tests for attaching XDP programs (Jiri Benc) [1838075] - [tools] libbpf: Add function to set link XDP fd while specifying old program (Jiri Benc) [1838075] - [tools] Add EXPECTED_FD-related definitions in if_link.h (Jiri Benc) [1838075] - [net] xdp: Support specifying expected existing program when attaching XDP (Jiri Benc) [1838075] - [netdrv] veth: remove atomic64_add from veth_xdp_xmit hotpath (Jiri Benc) [1838075] - [netdrv] veth: introduce more xdp counters (Jiri Benc) [1838075] - [netdrv] veth: distinguish between rx_drops and xdp_drops (Jiri Benc) [1838075] - [netdrv] veth: introduce more specialized counters in veth_stats (Jiri Benc) [1838075] - [netdrv] veth: move xdp stats in a dedicated structure (Jiri Benc) [1838075] - [net] xdp: Replace zero-length array with flexible-array member (Jiri Benc) [1838075] - [net] bpf: inet_diag: Dump bpf_sk_storages in inet_diag_dump() (Jiri Benc) [1838075] - [net] bpf: INET_DIAG support in bpf_sk_storage (Jiri Benc) [1838075] - [net] inet_diag: Move the INET_DIAG_REQ_BYTECODE nlattr to cb->data (Jiri Benc) [1838075] - [net] inet_diag: Refactor inet_sk_diag_fill(), dump(), and dump_one() (Jiri Benc) [1838075] - [net] inet_diag: return classid for all socket types (Jiri Benc) [1838075] - [net] inet_diag: fix reporting cgroup classid and fallback to priority (Jiri Benc) [1838075] - [net] Remove unneeded export of a couple of xdp generic functions (Jiri Benc) [1838075] - [net] page_pool: API cleanup and comments (Jiri Benc) [1838075] - [net] bpf, sockmap: Replace zero-length array with flexible-array member (Jiri Benc) [1838075] - [netdrv] geneve: allow changing DF behavior after creation (Sabrina Dubroca) [1847861] - [net] netfilter: nf_tables: add missing ->release_ops() in error path of newrule() (Andrea Claudi) [1846236] - [net] netfilter: nft_compat: use .release_ops and remove list of extension (Andrea Claudi) [1846236] - [net] ipv6: fix IPV6_ADDRFORM operation logic (Hangbin Liu) [1842025] - [net] ipv6: fix restrict IPV6_ADDRFORM operation (Hangbin Liu) [1842025] - [net] netfilter: nat: fix error handling upon registering inet hook (Florian Westphal) [1579145] - [net] netfilter: nf_tables: fix module autoload for redir (Florian Westphal) [1579145] - [net] netfilter: nf_tables: fix module autoload with inet family (Florian Westphal) [1579145] - [net] netfilter: nft_chain_nat: inet family is missing module ownership (Florian Westphal) [1579145] - [net] netfilter: nf_tables: Support auto-loading for inet nat (Florian Westphal) [1579145] - [net] netfilter: nft_redir: fix module autoload with ip4 (Florian Westphal) [1579145] - [net] netfilter: nat: fix udp checksum corruption (Florian Westphal) [1579145] - [tools] kselftests: extend nft_nat with inet family based nat hooks (Florian Westphal) [1579145] - [net] netfilter: nft_redir: add inet support (Florian Westphal) [1579145] - [net] netfilter: nft_masq: add inet support (Florian Westphal) [1579145] - [net] netfilter: nf_tables: merge route type into core (Florian Westphal) [1579145] - [net] netfilter: nat: add inet family nat support (Florian Westphal) [1579145] - [net] netfilter: nat: don't register device notifier twice (Florian Westphal) [1579145] - [net] netfilter: nf_tables: merge ipv4 and ipv6 nat chain types (Florian Westphal) [1579145] - [net] netfilter: nf_tables: nat: merge nft_masq protocol specific modules (Florian Westphal) [1579145] - [net] netfilter: nf_tables: nat: merge nft_redir protocol specific modules (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l3proto.h and nf_nat_core.h (Florian Westphal) [1579145] - [net] netfilter: nat: remove l3proto struct (Florian Westphal) [1579145] - [net] netfilter: nat: remove csum_recalc hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove csum_update hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove l3 manip_pkt hook (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l4proto.h (Florian Westphal) [1579145] - [net] netfilter: nat: merge nf_nat_ipv4, 6 into nat core (Florian Westphal) [1579145] - [net] netfilter: nat: fix spurious connection timeouts (Florian Westphal) [1579145] - [net] netfilter: nat: move nlattr parse and xfrm session decode to core (Florian Westphal) [1579145] - [net] netfilter: nat: merge ipv4 and ipv6 masquerade functionality (Florian Westphal) [1579145] - [net] netfilter: kconfig: nat related expression depend on nftables core (Florian Westphal) [1579145] - [net] netfilter: conntrack: fix bogus port values for other l4 protocols (Florian Westphal) [1579145] - [net] netfilter: conntrack: avoid unneeded nf_conntrack_l4proto lookups (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove pernet l4 proto register interface (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove remaining l4proto indirect packet calls (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove module owner field (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove invert_tuple callback (Florian Westphal) [1579145] - [net] netfilter: conntrack: remove pkt_to_tuple callback (Florian Westphal) [1579145] - [net] netfilter: conntrack: udp: set stream timeout to 2 minutes (Florian Westphal) [1579145] - [net] netfilter: conntrack: udp: only extend timeout to stream mode after 2s (Florian Westphal) [1579145] - [net] netfilter: nat: un-export nf_nat_used_tuple (Florian Westphal) [1579145] - [net] netfilter: nat: fix ICMP header corruption on ICMP errors (Florian Westphal) [1579145] - [net] netfilter: nat: fix icmp id randomization (Florian Westphal) [1579145] - [net] netfilter: nat: remove nf_nat_l4proto struct (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->manip_pkt (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->nlattr_to_range (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->in_range (Florian Westphal) [1579145] - [net] netfilter: nat: fold in_range indirection into caller (Florian Westphal) [1579145] - [net] netfilter: nat: remove l4proto->unique_tuple (Florian Westphal) [1579145] - [net] netfilter: nat: un-export nf_nat_l4proto_unique_tuple (Florian Westphal) [1579145] - [net] netfilter: remove NF_NAT_RANGE_PROTO_RANDOM support (Florian Westphal) [1579145] - [x86] kvm: x86/pmu: Tweak kvm_pmu_get_msr to pass 'struct msr_data' in (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: do not pass poisoned hva to __kvm_set_memory_region (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: fix sync_with_host() in smm_test (Vitaly Kuznetsov) [1849987] - [x86] kvm: async_pf: Inject 'page ready' event only if 'page not present' was previously injected (Vitaly Kuznetsov) [1849987] - [x86] revert "kvm: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously" (Vitaly Kuznetsov) [1849987] - [virt] kvm: async_pf: Cleanup kvm_setup_async_pf() (Vitaly Kuznetsov) [1849987] - [x86] kvm: i8254: remove redundant assignment to pointer s (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: respect singlestep when emulating instruction (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Don't probe KVM_CAP_HYPERV_ENLIGHTENED_VMCS when nested VMX is unsupported (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: do not substitute SVM/VMX check with KVM_CAP_NESTED_STATE check (Vitaly Kuznetsov) [1849987] - [x86] kvm: nvmx: Consult only the "basic" exit reason when routing nested exit (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Unexport x86_fpu_cache and make it static (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Ignore KVM 5-level paging support for VM_MODE_PXXV48_4K (Vitaly Kuznetsov) [1849987] - [virt] kvm: x86: Fix APIC page invalidation race (Vitaly Kuznetsov) [1849987] - [x86] kvm: svm: fix calls to is_intercept (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: fix vmx_preemption_timer_test build with GCC10 (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Add x86_64/debug_regs to .gitignore (Vitaly Kuznetsov) [1849987] - [x86] revert "kvm: x86: work around leak of uninitialized stack contents" (Vitaly Kuznetsov) [1849987] - [x86] kvm: vmx: Properly handle kvm_read/write_guest_virt*() result (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: emulate reserved nops from 0f/18 to 0f/1f (Vitaly Kuznetsov) [1849987] - [tools] kvm: selftests: Fix build with "make ARCH=x86_64" (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: minor code refactor and comments fixup around dirty logging (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: avoid unnecessary rmap walks when creating/moving slots (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: remove unnecessary rmap walk of read-only memslots (Vitaly Kuznetsov) [1849987] - [virt] kvm: Use vmemdup_user() (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Move MPK feature detection to common code (Vitaly Kuznetsov) [1849987] - [x86] kvm: x86: Assign correct value to array.maxnent (Vitaly Kuznetsov) [1849987] - [x86] kvm: let kvm_destroy_vm_debugfs clean up vCPU debugfs directories (Vitaly Kuznetsov) [1849987] - [x86] kvm: Handle reads of SandyBridge RAPL PMU MSRs rather than injecting #GP (Vitaly Kuznetsov) [1849987] - [documentation] docs: virt/kvm: close inline string literal (Vitaly Kuznetsov) [1849987] - [documentation] docs: kvm: Fix KVM_KVMCLOCK_CTRL API doc (Vitaly Kuznetsov) [1849987] - [x86] arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() (Vitaly Kuznetsov) [1849987] - [virt] kvm/eventfd: remove unneeded conversion to bool (Vitaly Kuznetsov) [1849987] - [tools] selftests: fix kvm relocatable native/cross builds and installs (Vitaly Kuznetsov) [1849987] - [virt] kvm: x86: move kvm_create_vcpu_debugfs after last failure point (Vitaly Kuznetsov) [1849987] - [powerpc] xive: Share the event-queue page with the Hypervisor (Michael Roth) [1837232] - [powerpc] kvm: ppc: book3s hv: Read ibm, secure-memory nodes (Michael Roth) [1837232] - [powerpc] kvm: ppc: book3s hv: Relax check on H_SVM_INIT_ABORT (Michael Roth) [1837232]- [scsi] scsi: be2iscsi: Use scnprintf() for avoiding potential buffer overflow (Maurizio Lombardi) [1849586] - [edac] EDAC/i10nm: Update driver to support different bus number config register offsets (Aristeu Rozanski) [1838508] - [edac] EDAC, {skx, i10nm}: Make some configurations CPU model specific (Aristeu Rozanski) [1838508] - [fs] fuse: copy_file_range should truncate cache (Miklos Szeredi) [1849786] - [fs] fuse: fix copy_file_range cache issues (Miklos Szeredi) [1849786] - [fs] fuse: update attr_version counter on fuse_notify_inval_inode() (Miklos Szeredi) [1849786] - [fs] fuse: don't check refcount after stealing page (Miklos Szeredi) [1849786] - [fs] fuse: fix weird page warning (Miklos Szeredi) [1849786] - [fs] fuse: use dump_page (Miklos Szeredi) [1849786] - [fs] fuse: always allow query of st_dev (Miklos Szeredi) [1849786] - [fs] fuse: always flush dirty data on close(2) (Miklos Szeredi) [1849786] - [fs] fuse: invalidate inode attr in writeback cache mode (Miklos Szeredi) [1849786] - [fs] virtiofs: schedule blocking async replies in separate worker (Miklos Szeredi) [1849786] - [fs] fuse: Support RENAME_WHITEOUT flag (Miklos Szeredi) [1849786] - [fs] fuse: don't overflow LLONG_MAX with end offset (Miklos Szeredi) [1849786] - [fs] fix up iter on short count in fuse_direct_io() (Miklos Szeredi) [1849786] - [fs] fuse: fix fuse_send_readpages() in the syncronous read case (Miklos Szeredi) [1849786] - [fs] fuse: fix Kconfig indentation (Miklos Szeredi) [1849786] - [fs] virtiofs: Use completions while waiting for queue to be drained (Miklos Szeredi) [1849786] - [fs] virtiofs: Do not send forget request "struct list_head" element (Miklos Szeredi) [1849786] - [fs] virtiofs: Use a common function to send forget (Miklos Szeredi) [1849786] - [fs] virtiofs: Fix old-style declaration (Miklos Szeredi) [1849786] - [fs] fuse: verify nlink (Miklos Szeredi) [1849786] - [fs] fuse: verify write return (Miklos Szeredi) [1849786] - [fs] fuse: verify attributes (Miklos Szeredi) [1849786] - [fs] fuse: redundant get_fuse_inode() calls in fuse_writepages_fill() (Miklos Szeredi) [1849786] - [fs] fuse: truncate pending writes on O_TRUNC (Miklos Szeredi) [1849786] - [fs] fuse: flush dirty data/metadata before non-truncate setattr (Miklos Szeredi) [1849786] - [fs] ovl: initialize error in ovl_copy_xattr (Miklos Szeredi) [1849770] - [fs] ovl: fix redirect traversal on metacopy dentries (Miklos Szeredi) [1849770] - [fs] ovl: initialize OVL_UPPERDATA in ovl_lookup() (Miklos Szeredi) [1849770] - [fs] ovl: use only uppermetacopy state in ovl_lookup() (Miklos Szeredi) [1849770] - [fs] ovl: simplify setting of origin for index lookup (Miklos Szeredi) [1849770] - [fs] ovl: fix out of bounds access warning in ovl_check_fb_len() (Miklos Szeredi) [1849770] - [fs] ovl: return required buffer size for file handles (Miklos Szeredi) [1849770] - [fs] ovl: sync dirty data when remounting to ro mode (Miklos Szeredi) [1849770] - [fs] ovl: resolve more conflicting mount options (Miklos Szeredi) [1849770] - [fs] ovl: potential crash in ovl_fid_to_fh() (Miklos Szeredi) [1849770] - [fs] ovl: clear ATTR_OPEN from attr->ia_valid (Miklos Szeredi) [1849770] - [fs] ovl: clear ATTR_FILE from attr->ia_valid (Miklos Szeredi) [1849770] - [documentation] ovl: document xino expected behavior (Miklos Szeredi) [1849770] - [fs] ovl: enable xino automatically in more cases (Miklos Szeredi) [1849770] - [fs] ovl: avoid possible inode number collisions with xino=on (Miklos Szeredi) [1849770] - [fs] ovl: use a private non-persistent ino pool (Miklos Szeredi) [1849770] - [fs] ovl: fix WARN_ON nlink drop to zero (Miklos Szeredi) [1849770] - [fs] ovl: fix a typo in comment (Miklos Szeredi) [1849770] - [fs] ovl: replace zero-length array with flexible-array member (Miklos Szeredi) [1849770] - [fs] ovl: ovl_obtain_alias(): don't call d_instantiate_anon() for old (Miklos Szeredi) [1849770] - [fs] ovl: strict upper fs requirements for remote upper fs (Miklos Szeredi) [1849770] - [fs] ovl: check if upper fs supports RENAME_WHITEOUT (Miklos Szeredi) [1849770] - [fs] ovl: allow remote upper (Miklos Szeredi) [1849770] - [fs] ovl: decide if revalidate needed on a per-dentry basis (Miklos Szeredi) [1849770] - [fs] ovl: separate detection of remote upper layer from stacked overlay (Miklos Szeredi) [1849770] - [fs] ovl: restructure dentry revalidation (Miklos Szeredi) [1849770] - [fs] ovl: ignore failure to copy up unknown xattrs (Miklos Szeredi) [1849770] - [documentation] ovl: document permission model (Miklos Szeredi) [1849770] - [fs] ovl: simplify i_ino initialization (Miklos Szeredi) [1849770] - [fs] ovl: factor out helper ovl_get_root() (Miklos Szeredi) [1849770] - [fs] ovl: fix out of date comment and unreachable code (Miklos Szeredi) [1849770] - [fs] ovl: fix value of i_ino for lower hardlink corner case (Miklos Szeredi) [1849770] - [fs] ovl: fix lockdep warning for async write (Miklos Szeredi) [1849770] - [fs] ovl: fix some xino configurations (Miklos Szeredi) [1849770] - [fs] ovl: fix lock in ovl_llseek() (Miklos Szeredi) [1849770] - [fs] ovl: fix lseek overflow on 32bit (Miklos Szeredi) [1849770] - [documentation] docs: filesystems: add overlayfs to index.rst (Miklos Szeredi) [1849770] - [fs] ovl: add splice file read write helper (Miklos Szeredi) [1849770] - [fs] ovl: implement async IO routines (Miklos Szeredi) [1849770] - [fs] vfs: add vfs_iocb_iter_helper functions (Miklos Szeredi) [1849770] - [fs] ovl: layer is const (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of non-constant st_dev; st_ino (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of conflicting lower layer uuid (Miklos Szeredi) [1849770] - [fs] ovl: generalize the lower_fsarray (Miklos Szeredi) [1849770] - [fs] ovl: simplify ovl_same_sb() helper (Miklos Szeredi) [1849770] - [fs] ovl: generalize the lower_layersarray (Miklos Szeredi) [1849770] - [fs] ovl: improving copy-up efficiency for big sparse file (Miklos Szeredi) [1849770] - [fs] ovl: use ovl_inode_lock in ovl_llseek() (Miklos Szeredi) [1849770] - [fs] ovl: use pr_fmt auto generate prefix (Miklos Szeredi) [1849770] - [fs] ovl: fix wrong WARN_ON() in ovl_cache_update_ino() (Miklos Szeredi) [1849770] - [fs] locks: print unsigned ino in /proc/locks (Miklos Szeredi) [1849770] - [documentation] docs: filesystems: overlayfs: Fix restview warnings (Miklos Szeredi) [1849770] - [fs] ovl: relax WARN_ON() on rename to self (Miklos Szeredi) [1849770] - [fs] ovl: fix corner case of non-unique st_dev; st_ino (Miklos Szeredi) [1849770] - [fs] ovl: don't use a temp buf for encoding real fh (Miklos Szeredi) [1849770] - [fs] ovl: make sure that real fid is 32bit aligned in memory (Miklos Szeredi) [1849770] - [fs] ovl: fix lookup failure on multi lower squashfs (Miklos Szeredi) [1849770] - [fs] ovl: filter of trusted xattr results in audit (Miklos Szeredi) [1849770] - [fs] ovl: Fix dereferencing possible ERR_PTR() (Miklos Szeredi) [1849770] - [fs] ovl: fix regression caused by overlapping layers detection (Miklos Szeredi) [1849770] - [fs] ovl: make i_ino consistent with st_ino in more cases (Miklos Szeredi) [1849770] - [fs] ovl: fix typo in MODULE_PARM_DESC (Miklos Szeredi) [1849770] - [fs] ovl: fix bogus -Wmaybe-unitialized warning (Miklos Szeredi) [1849770] - [fs] ovl: don't fail with disconnected lower NFS (Miklos Szeredi) [1849770] - [fs] ovl: detect overlapping layers (Miklos Szeredi) [1849770] - [fs] ovl: using posix_acl_xattr_size() to get size instead of posix_acl_to_xattr() (Miklos Szeredi) [1849770] - [fs] ovl: abstract ovl_inode lock with a helper (Miklos Szeredi) [1849770] - [fs] ovl: remove the 'locked' argument of ovl_nlink_{start, end} (Miklos Szeredi) [1849770] - [fs] ovl: relax requirement for non null uuid of lower fs (Miklos Szeredi) [1849770] - [fs] ovl: fold copy-up helpers into callers (Miklos Szeredi) [1849770] - [fs] ovl: untangle copy up call chain (Miklos Szeredi) [1849770] - [fs] ovl: clean up error handling in ovl_get_tmpfile() (Miklos Szeredi) [1849770] - [netdrv] ionic: tame the watchdog timer on reconfig (Jonathan Toppins) [1846879 1846280] - [remoteproc] remoteproc: pull in slab.h (Jarod Wilson) [1849080]- [x86] revert "kvm: vmx: Micro-optimize vmexit time when not exposing PMU" (Vitaly Kuznetsov) [1844099] - [fs] nfsd4: kill warnings on testing stateids with mismatched clientids (Benjamin Coddington) [1765672] - [fs] NFS: Ensure security label is set for root inode (Scott Mayhew) [1660798] - [s390] kexec: Fix file verification on S390 (Lianbo Jiang) [1815369] - [s390] kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE (Lianbo Jiang) [1815369] - [netdrv] ibmvnic: continue to init in CRQ reset returns H_CLOSED (Steve Best) [1850179] - [net] sunrpc: add missing newline when printing parameter 'auth_hashtable_size' by sysfs (Benjamin Coddington) [1849998] - [net] sunrpc: clean up properly in gss_mech_unregister() (Benjamin Coddington) [1849998] - [net] sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations (Benjamin Coddington) [1849998] - [net] SUNRPC: Fix backchannel RPC soft lockups (Benjamin Coddington) [1849998] - [fs] NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() (Benjamin Coddington) [1849998] - [fs] nfsd4: make drc_slab global, not per-net (Benjamin Coddington) [1849998] - [net] SUNRPC: Fix GSS privacy computation of auth->au_ralign (Benjamin Coddington) [1849998] - [net] SUNRPC: Add "@len" parameter to gss_unwrap() (Benjamin Coddington) [1849998] - [fs] NFS: finish_automount() requires us to hold 2 refs to the mount record (Benjamin Coddington) [1849998] - [fs] NFS: Fix use-after-free issues in nfs_pageio_add_request() (Benjamin Coddington) [1849998] - [fs] NFS: alloc_nfs_open_context() must use the file cred when available (Benjamin Coddington) [1849998] - [net] libceph: don't omit used_replica in target_copy() (Jeff Layton) [1847528] - [net] libceph: don't omit recovery_deletes in target_copy() (Jeff Layton) [1847528] - [net] libceph: move away from global osd_req_flags (Jeff Layton) [1847528] - [fs] ceph: skip checking caps when session reconnecting and releasing reqs (Jeff Layton) [1847528] - [fs] ceph: make sure mdsc->mutex is nested in s->s_mutex to fix dead lock (Jeff Layton) [1847528] - [fs] ceph: don't return -ESTALE if there's still an open file (Jeff Layton) [1847528] - [include] libceph, rbd: replace zero-length array with flexible-array (Jeff Layton) [1847528] - [fs] ceph: allow rename operation under different quota realms (Jeff Layton) [1847528] - [fs] ceph: normalize 'delta' parameter usage in check_quota_exceeded (Jeff Layton) [1847528] - [fs] ceph: ceph_kick_flushing_caps needs the s_mutex (Jeff Layton) [1847528] - [fs] ceph: request expedited service on session's last cap flush (Jeff Layton) [1847528] - [fs] ceph: convert mdsc->cap_dirty to a per-session list (Jeff Layton) [1847528] - [fs] ceph: reset i_requested_max_size if file write is not wanted (Jeff Layton) [1847528] - [fs] ceph: throw a warning if we destroy session with mutex still locked (Jeff Layton) [1847528] - [fs] ceph: fix potential race in ceph_check_caps (Jeff Layton) [1847528] - [fs] ceph: document what protects i_dirty_item and i_flushing_item (Jeff Layton) [1847528] - [fs] ceph: don't take i_ceph_lock in handle_cap_import (Jeff Layton) [1847528] - [fs] ceph: don't release i_ceph_lock in handle_cap_trunc (Jeff Layton) [1847528] - [fs] ceph: add comments for handle_cap_flush_ack logic (Jeff Layton) [1847528] - [fs] ceph: split up __finish_cap_flush (Jeff Layton) [1847528] - [fs] ceph: reorganize __send_cap for less spinlock abuse (Jeff Layton) [1847528] - [fs] ceph: flush release queue when handling caps for unknown inode (Jeff Layton) [1847528] - [net] libceph: ignore pool overlay and cache logic on redirects (Jeff Layton) [1847528] - [x86] kvm: lapic: ensure APIC map is up to date on concurrent update requests (Igor Mammedov) [1835330] - [x86] kvm: lapic: fix broken vcpu hotplug (Igor Mammedov) [1835330] - [netdrv] net: hns3: add some error checking in hclge_tm module (Mark Langsdorf) [1809057] {CVE-2019-15925} - [fs] udf: Fix mounting of Win7 created UDF filesystems (Oleksandr Natalenko) [1842400] - [netdrv] net: qed: fixes crash while running driver in kdump kernel (Manish Chopra) [1727746] - [netdrv] net: qed: Disable SRIOV functionality inside kdump kernel (Manish Chopra) [1727746] - [netdrv] net: qed*: Reduce RX and TX default ring count when running inside kdump kernel (Manish Chopra) [1727746] - [fs] cifs: dump Security Type info in DebugData (Leif Sahlberg) [1845390] - [net] netfilter: flowtable: Make nf_flow_table_offload_add/del_cb inline (Marcelo Leitner) [1840938] - [net] sched: act_ct: Make tcf_ct_flow_table_restore_skb inline (Marcelo Leitner) [1840938] - [net] netfilter: flowtable: Add pending bit for offload work (Marcelo Leitner) [1842670] - [net] Evict neighbor entries on carrier down (Ivan Vecera) [1845352] - [net] bridge: explicitly zero is_sticky in fdb_create (Ivan Vecera) [1845350] - [net] bridge: add support for sticky fdb entries (Ivan Vecera) [1845350] - [net] remove indirect block netdev event registration (Marcelo Leitner) [1841300] - [netdrv] bnxt_tc: update indirect block support (Marcelo Leitner) [1841300] - [netdrv] nfp: update indirect block support (Marcelo Leitner) [1841300] - [netdrv] mlx5: update indirect block support (Marcelo Leitner) [1841300] - [net] use flow_indr_dev_setup_offload() (Marcelo Leitner) [1841300] - [net] cls_api: add tcf_block_offload_init() (Marcelo Leitner) [1841300] - [net] flow_offload: consolidate indirect flow_block infrastructure (Marcelo Leitner) [1841300] - [net] netfilter: nf_flowtable: expose nf_flow_table_gc_cleanup() (Marcelo Leitner) [1841300] - [fs] iomap: Handle memory allocation failure in readahead (Carlos Maiolino) [1828792] - [fs] iomap: fix comments in iomap_dio_rw (Carlos Maiolino) [1828792] - [fs] iomap: Remove pgoff from tracepoints (Carlos Maiolino) [1828792] - [fs] fs: Fix page_mkwrite off-by-one errors (Carlos Maiolino) [1828792] - [fs] iomap: stop using ioend after it's been freed in iomap_finish_ioend() (Carlos Maiolino) [1828792] - [fs] iomap: fix sub-page uptodate handling (Carlos Maiolino) [1828792] - [fs] iomap: remove unneeded variable in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: Do not create fake iter in iomap_dio_bio_actor() (Carlos Maiolino) [1828792] - [fs] iomap: trace iomap_appply results (Carlos Maiolino) [1828792] - [fs] fs/iomap: remove redundant check in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: use a srcmap for a read-modify-write I/O (Carlos Maiolino) [1828792] - [fs] iomap: renumber IOMAP_HOLE to 0 (Carlos Maiolino) [1828792] - [fs] iomap: use write_begin to read pages to unshare (Carlos Maiolino) [1828792] - [fs] iomap: move the zeroing case out of iomap_read_page_sync (Carlos Maiolino) [1828792] - [fs] iomap: ignore non-shared or non-data blocks in xfs_file_dirty (Carlos Maiolino) [1828792] - [fs] iomap: always use AOP_FLAG_NOFS in iomap_write_begin (Carlos Maiolino) [1828792] - [fs] iomap: remove the unused iomap argument to __iomap_write_end (Carlos Maiolino) [1828792] - [fs] iomap: better document the IOMAP_F_* flags (Carlos Maiolino) [1828792] - [fs] iomap: enhance writeback error message (Carlos Maiolino) [1828792] - [fs] iomap: pass a struct page to iomap_finish_page_writeback (Carlos Maiolino) [1828792] - [fs] iomap: cleanup iomap_ioend_compare (Carlos Maiolino) [1828792] - [fs] iomap: move struct iomap_page out of iomap.h (Carlos Maiolino) [1828792] - [fs] iomap: warn on inline maps in iomap_writepage_map (Carlos Maiolino) [1828792] - [fs] iomap: lift the xfs writeback code to iomap (Carlos Maiolino) [1828792] - [fs] iomap: lift common tracing code from xfs to iomap (Carlos Maiolino) [1828792] - [fs] iomap: zero newly allocated mapped blocks (Carlos Maiolino) [1828792] - [fs] xfs: remove the fork fields in the writepage_ctx and ioend (Carlos Maiolino) [1828792] - [fs] xfs: turn io_append_trans into an io_private void pointer (Carlos Maiolino) [1828792] - [fs] xfs: refactor the ioend merging code (Carlos Maiolino) [1828792] - [fs] xfs: use a struct iomap in xfs_writepage_ctx (Carlos Maiolino) [1828792] - [fs] xfs: set IOMAP_F_NEW more carefully (Carlos Maiolino) [1828792] - [fs] xfs: initialize iomap->flags in xfs_bmbt_to_iomap (Carlos Maiolino) [1828792] - [fs] xfs: Use iomap_dio_rw to wait for unaligned direct IO (Carlos Maiolino) [1828792] - [fs] iomap: Allow forcing of waiting for running DIO in iomap_dio_rw() (Carlos Maiolino) [1828792] - [fs] iomap: move the iomap_dio_rw ->end_io callback into a structure (Carlos Maiolino) [1828792] - [fs] iomap: split size and error for iomap_dio_rw ->end_io (Carlos Maiolino) [1828792] - [fs] iomap: fix Invalid License ID (Carlos Maiolino) [1828792] - [fs] iomap: move internal declarations into fs/iomap/ (Carlos Maiolino) [1828792] - [fs] iomap: move the main iteration code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the buffered IO code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the direct IO code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the SEEK_HOLE code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the file mapping reporting code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: move the swapfile code into a separate file (Carlos Maiolino) [1828792] - [fs] iomap: start moving code to fs/iomap/ (Carlos Maiolino) [1828792] - [fs] iomap: move iomap_read_inline_data around (Carlos Maiolino) [1828792] - [fs] iomap: convert to SPDX identifier (Carlos Maiolino) [1828792] - [fs] iomap: remove duplicated include from iomap.c (Carlos Maiolino) [1828792] - [netdrv] fjes: Handle workqueue allocation failure (Masayoshi Mizuma) [1830565] {CVE-2019-16231}- [fs] NFSv4: Ensure the delegation cred is pinned when we call delegreturn (Benjamin Coddington) [1848933] - [fs] NFSv4: Ensure the delegation is pinned in nfs_do_return_delegation() (Benjamin Coddington) [1848933] - [fs] NFSv4.1 make cachethis=no for writes (Benjamin Coddington) [1848933] - [fs] NFSv4: Fix revalidation of dentries with delegations (Benjamin Coddington) [1848933] - [fs] NFSv4: Fix races between open and dentry revalidation (Benjamin Coddington) [1848933] - [fs] NFS: Fix up directory verifier races (Benjamin Coddington) [1848933] - [net] sunrpc: expiry_time should be seconds not timeval (Benjamin Coddington) [1848933] - [fs] NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals (Benjamin Coddington) [1848933] - [fs] NFSv4: try lease recovery on NFS4ERR_EXPIRED (Benjamin Coddington) [1848933] - [fs] NFS: Fix memory leaks (Benjamin Coddington) [1848933] - [fs] nfs: optimise readdir cache page invalidation (Benjamin Coddington) [1848933] - [fs] NFS: Switch readdir to using iterate_shared() (Benjamin Coddington) [1848933] - [fs] NFS: Use kmemdup_nul() in nfs_readdir_make_qstr() (Benjamin Coddington) [1848933] - [fs] NFS: Directory page cache pages need to be locked when read (Benjamin Coddington) [1848933] - [fs] NFS: Fix memory leaks and corruption in readdir (Benjamin Coddington) [1848933] - [net] SUNRPC: Use kmemdup_nul() in rpc_parse_scope_id() (Benjamin Coddington) [1848933] - [fs] NFS: Replace various occurrences of kstrndup() with kmemdup_nul() (Benjamin Coddington) [1848933] - [fs] NFSv4: Limit the total number of cached delegations (Benjamin Coddington) [1848933] - [fs] NFSv4: Add accounting for the number of active delegations held (Benjamin Coddington) [1848933] - [fs] NFSv4: Try to return the delegation immediately when marked for return on close (Benjamin Coddington) [1848933] - [fs] NFS: Clear NFS_DELEGATION_RETURN_IF_CLOSED when the delegation is returned (Benjamin Coddington) [1848933] - [fs] NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNING (Benjamin Coddington) [1848933] - [fs] NFS: nfs_find_open_context() should use cred_fscmp() (Benjamin Coddington) [1848933] - [fs] NFS: nfs_access_get_cached_rcu() should use cred_fscmp() (Benjamin Coddington) [1848933] - [fs] NFSv3: FIx bug when using chacl and chmod to change acl (Benjamin Coddington) [1848933] - [fs] NFSv4.x recover from pre-mature loss of openstateid (Benjamin Coddington) [1848933] - [fs] NFS: Trust cached access if we've already revalidated the inode once (Benjamin Coddington) [1848933] - [fs] NFS: Fix nfs_direct_write_reschedule_io() (Benjamin Coddington) [1848933] - [fs] NFS: When resending after a short write, reset the reply count to zero (Benjamin Coddington) [1848933] - [fs] NFS: Improve tracing of permission calls (Benjamin Coddington) [1848933] - [fs] NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() (Benjamin Coddington) [1848933] - [fs] NFS: Fix up fsync() when the server rebooted (Benjamin Coddington) [1848933] - [net] SUNRPC: Remove broken gss_mech_list_pseudoflavors() (Benjamin Coddington) [1848933] - [fs] NFS: Revalidate the file mapping on all fatal writeback errors (Benjamin Coddington) [1848933] - [fs] NFS: Revalidate the file size on a fatal write error (Benjamin Coddington) [1848933] - [fs] nfs: NFS_SWAP should depend on SWAP (Benjamin Coddington) [1848933] - [net] SUNRPC: constify copied structure (Benjamin Coddington) [1848933] - [fs] fs/nfs, swapon: check holes in swapfile (Benjamin Coddington) [1848933] - [net] SUNRPC: call_connect_status should handle -EPROTO (Benjamin Coddington) [1848933] - [fs] NFS: Introduce trace events triggered by page writeback errors (Benjamin Coddington) [1848933] - [net] SUNRPC: Capture signalled RPC tasks (Benjamin Coddington) [1848933] - [fs] NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup (Benjamin Coddington) [1848933] - [fs] NFS4: Remove unneeded semicolon (Benjamin Coddington) [1848933] - [fs] nfs: encode nfsv4 timestamps as 64-bit (Benjamin Coddington) [1848933] - [fs] nfs: remove timespec from xdr_encode_nfstime (Benjamin Coddington) [1848933] - [fs] nfs: use timespec64 in nfs_fattr (Benjamin Coddington) [1848933] - [net] sunrpc: convert to time64_t for expiry (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in nfssvc.c (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in nfs4proc.c (Benjamin Coddington) [1848933] - [fs] nfsd: use true, false for bool variable in vfs.c (Benjamin Coddington) [1848933] - [fs] nfsd: remove nfs4_reset_lease() declarations (Benjamin Coddington) [1848933] - [fs] nfsd: use ktime_get_real_seconds() in nfs4_verifier (Benjamin Coddington) [1848933] - [fs] nfsd: use boottime for lease expiry calculation (Benjamin Coddington) [1848933] - [fs] nfsd: fix jiffies/time_t mixup in LRU list (Benjamin Coddington) [1848933] - [fs] nfsd: fix delay timer on 32-bit architectures (Benjamin Coddington) [1848933] - [fs] nfsd: use time64_t in nfsd_proc_setattr() check (Benjamin Coddington) [1848933] - [fs] nfsd: pass a 64-bit guardtime to nfsd_setattr() (Benjamin Coddington) [1848933] - [fs] nfsd: make 'boot_time' 64-bit wide (Benjamin Coddington) [1848933] - [fs] nfsd: use timespec64 in encode_time_delta (Benjamin Coddington) [1848933] - [fs] nfsd: handle nfs3 timestamps as unsigned (Benjamin Coddington) [1848933] - [fs] nfsd: print 64-bit timestamps in client_info_show (Benjamin Coddington) [1848933] - [fs] nfsd: use ktime_get_seconds() for timestamps (Benjamin Coddington) [1848933] - [fs] nfsd: remove unnecessary assertion in nfsd4_encode_replay (Benjamin Coddington) [1848933] - [fs] nfsd: Clone should commit src file metadata too (Benjamin Coddington) [1848933] - [fs] nfsd4: Remove unneeded semicolon (Benjamin Coddington) [1848933] - [fs] nfs: fix timstamp debug prints (Benjamin Coddington) [1848933] - [net] nfs: use time64_t internally (Benjamin Coddington) [1848933] - [fs] nfsd: Return the correct number of bytes written to the file (Benjamin Coddington) [1848933] - [fs] nfsd: Fix up some unused variable warnings (Benjamin Coddington) [1848933] - [kernel] blktrace: ensure our debugfs dir exists (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: fix debugfs use after free (Ming Lei) [1816559] {CVE-2019-19770} - [block] loop: be paranoid on exit and prevent new additions / removals (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: annotate required lock on do_blk_trace_setup() (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: revert back to synchronous request_queue removal (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: clarify context for refcount increment helpers (Ming Lei) [1816559] {CVE-2019-19770} - [block] block: add docs for gendisk / request_queue refcount helpers (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: no need to check return value of debugfs_create functions (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: Avoid sparse warnings when assigning q->blk_trace (Ming Lei) [1816559] {CVE-2019-19770} - [kernel] blktrace: break out of blktrace setup on concurrent calls (Ming Lei) [1816559] {CVE-2019-19770} - [nvme] nvme-fc: don't call nvme_cleanup_cmd() for AENs (Ewan Milne) [1847572] - [nvme] nvme-fc: convert assoc_active flag to bit op (Ewan Milne) [1847572] - [nvme] nvme-fc: Ensure private pointers are NULL if no data (Ewan Milne) [1847572] - [nvme] nvme-multipath: do not reset on unknown status (Ewan Milne) [1847572] - [documentation] x86/speculation: Add Ivy Bridge to affected list (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [documentation] x86/speculation: Add SRBDS vulnerability and mitigation documentation (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu: Add 'table' argument to cpu_matches() (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu: Add a steppings field to struct x86_cpu_id (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [x86] x86/cpu/bugs: Convert to new matching macros (Josh Poimboeuf) [1827192] {CVE-2020-0543} - [crypto] crypto: simd - correctly take reqsize of wrapped skcipher into account (Mark Salter) [1830471] - [fs] nfsd: depend on CRYPTO_MD5 for legacy client tracking (Benjamin Coddington) [1847468] - [fs] nfsd: check for EBUSY from vfs_rmdir/vfs_unink (Benjamin Coddington) [1847468] - [fs] NFS: Fallocate should use the nfs4_fattr_bitmap (Benjamin Coddington) [1847468] - [fs] NFS: Return -ETXTBSY when attempting to write to a swapfile (Benjamin Coddington) [1847468] - [fs] fs: nfs: sysfs: Remove NULL check before kfree (Benjamin Coddington) [1847468] - [fs] NFS: remove unneeded semicolon (Benjamin Coddington) [1847468] - [fs] NFSv4: add declaration of current_stateid (Benjamin Coddington) [1847468] - [include] sunrpc: remove __KERNEL__ ifdefs (Benjamin Coddington) [1847468] - [fs] nfsd: document callback_wq serialization of callback code (Benjamin Coddington) [1847468] - [fs] nfsd: mark cb path down on unknown errors (Benjamin Coddington) [1847468] - [net] SUNRPC: Avoid RPC delays when exiting suspend (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't retry the GETATTR on old stateid in nfs4_delegreturn_done() (Benjamin Coddington) [1847468] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in delegreturn (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix races between open and delegreturn (Benjamin Coddington) [1847468] - [fs] NFS: nfs_inode_find_state_and_recover() fix stateid matching (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix nfs4_inode_make_writeable() (Benjamin Coddington) [1847468] - [fs] NFSv4: nfs4_return_incompatible_delegation() should check delegation validity (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't reclaim delegations that have been returned or revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Ignore requests to return the delegation if it was revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Revoke the delegation on success in nfs4_delegreturn_done() (Benjamin Coddington) [1847468] - [fs] NFSv4: Update the stateid seqid in nfs_revoke_delegation() (Benjamin Coddington) [1847468] - [fs] NFSv4: Clear the NFS_DELEGATION_REVOKED flag in nfs_update_inplace_delegation() (Benjamin Coddington) [1847468] - [fs] NFSv4: Hold the delegation spinlock when updating the seqid (Benjamin Coddington) [1847468] - [fs] NFSv4: Don't remove the delegation from the super_list more than once (Benjamin Coddington) [1847468] - [fs] NFS: Rename nfs_inode_return_delegation_noreclaim() (Benjamin Coddington) [1847468] - [fs] NFSv4: fail nfs4_refresh_delegation_stateid() when the delegation was revoked (Benjamin Coddington) [1847468] - [fs] NFSv4: Delegation recalls should not find revoked delegations (Benjamin Coddington) [1847468] - [fs] NFSv4: nfs4_callback_getattr() should ignore revoked delegations (Benjamin Coddington) [1847468] - [fs] NFSv4: Fix delegation handling in update_open_stateid() (Benjamin Coddington) [1847468] - [fs] NFSv4.1: Don't rebind to the same source port when reconnecting to the server (Benjamin Coddington) [1847468] - [fs] NFS/pnfs: Separate NFSv3 DS and MDS traffic (Benjamin Coddington) [1847468] - [fs] pNFS: nfs3_set_ds_client should set NFS_CS_NOPING (Benjamin Coddington) [1847468] - [fs] NFS: Add a flag to tell nfs_client to set RPC_CLNT_CREATE_NOPING (Benjamin Coddington) [1847468] - [fs] NFS: Use non-atomic bit ops when initialising struct nfs_client_initdata (Benjamin Coddington) [1847468] - [fs] NFSv3: Clean up timespec encode (Benjamin Coddington) [1847468] - [fs] NFSv2: Clean up timespec encode (Benjamin Coddington) [1847468] - [fs] NFSv2: Fix a typo in encode_sattr() (Benjamin Coddington) [1847468] - [fs] NFSv4: NFSv4 callbacks also support 64-bit timestamps (Benjamin Coddington) [1847468] - [fs] NFSv4: Encode 64-bit timestamps (Benjamin Coddington) [1847468] - [fs] NFS: Convert struct nfs_fattr to use struct timespec64 (Benjamin Coddington) [1847468] - [fs] NFS: If nfs_mountpoint_expiry_timeout < 0, do not expire submounts (Benjamin Coddington) [1847468] - [net] SUNRPC: Add trace points to observe transport congestion control (Benjamin Coddington) [1847468] - [net] SUNRPC: Eliminate log noise in call_reserveresult (Benjamin Coddington) [1847468] - [fs] nfsd: remove private bin2hex implementation (Benjamin Coddington) [1847468] - [fs] nfsd: remove set but not used variable 'len' (Benjamin Coddington) [1847468] - [fs] NFSv3: fix rpc receive buffer size for MOUNT call (Steve Dickson) [1837034] - [fs] NFS: remove unused macros (Steve Dickson) [1837034] - [mm] mm, slab: fix sign conversion problem in memcg_uncharge_slab() (Waiman Long) [1849016] - [mm] mm: fix false-positive OVERCOMMIT_GUESS failures (Waiman Long) [1849016] - [mm] mm: remove CONFIG_MIGRATE_VMA_HELPER (Karol Herbst) [1847908] - [nvdimm] libnvdimm: Export the target_node attribute for regions and namespaces (Jeff Moyer) [1783157] - [dax] dax: Add numa_node to the default device-dax attributes (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Simplify root read-only definition for the 'resource' attribute (Jeff Moyer) [1783157] - [dax] dax: Simplify root read-only definition for the 'resource' attribute (Jeff Moyer) [1783157] - [dax] dax: Create a dax device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nvdimm_bus_attribute_group to device_type (Jeff Moyer) [1783157] - [acpi] libnvdimm: Move nvdimm_attribute_group to device_type (Jeff Moyer) [1783157] - [acpi] libnvdimm: Move nd_mapping_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_region_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_numa_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move nd_device_attribute_group to device_type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move region attribute group definition (Jeff Moyer) [1783157] - [nvdimm] libnvdimm: Move attribute groups to device type (Jeff Moyer) [1783157] - [nvdimm] libnvdimm/region: Initialize bad block for volatile namespaces (Jeff Moyer) [1783157] - [x86] x86/mce: Add Xeon Icelake to list of CPUs that support PPIN (Steve Best) [1848710] - [powerpc] powerpc/kernel: Enables memory hot-remove after reboot on pseries guests (David Gibson) [1848844] - [fs] cifs: multichannel: try to rebind when reconnecting a channel (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: use pointer for binding channel (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: move channel selection above transport layer (Leif Sahlberg) [1842759] - [fs] cifs: move some variables off the stack in smb2_ioctl_query_info (Leif Sahlberg) [1842759] - [fs] cifs: reduce stack use in smb2_compound_op (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: always zero struct cifs_io_parms (Leif Sahlberg) [1842759] - [fs] smb3: default to minimum of two channels when multichannel specified (Leif Sahlberg) [1842759] - [fs] cifs: multichannel: move channel selection in function (Leif Sahlberg) [1842759] - [mm] x86/init: fix build with CONFIG_SWAP=n (Waiman Long) [1839415] - [netdrv] ionic: add pcie_print_link_status (Jonathan Toppins) [1846506] - [netdrv] ionic: no link check while resetting queues (Jonathan Toppins) [1846953] - [netdrv] ionic: export features for vlans to use (Jonathan Toppins) [1846868] - [netdrv] ionic: remove support for mgmt device (Jonathan Toppins) [1846506] - [netdrv] ionic: wait on queue start until after IFF_UP (Jonathan Toppins) [1844924] - [netdrv] ionic: add more ethtool stats (Jonathan Toppins) [1848149] - [netdrv] ionic: more ionic name tweaks (Jonathan Toppins) [1848149] - [netdrv] ionic: ionic_intr_free parameter change (Jonathan Toppins) [1848149] - [netdrv] ionic: reset device at probe (Jonathan Toppins) [1848149] - [netdrv] ionic: shorter dev cmd wait time (Jonathan Toppins) [1848149] - [netdrv] ionic: add support for more xcvr types (Jonathan Toppins) [1848149] - [netdrv] ionic: protect vf calls from fw reset (Jonathan Toppins) [1848149] - [netdrv] ionic: updates to ionic FW api description (Jonathan Toppins) [1848149] - [netdrv] ionic: support longer tx sg lists (Jonathan Toppins) [1848149] - [netdrv] ionic: Use debugfs_create_bool() to export bool (Jonathan Toppins) [1848149] - [netdrv] drivers:Remove inclusion of vermagic header (Jonathan Toppins) [1848149] - [net] SUNRPC: Destroy the back channel when we destroy the host transport (Benjamin Coddington) [1846984] - [net] SUNRPC: fix race to sk_err after xs_error_report (Benjamin Coddington) [1846984] - [fs] NFS: Remove redundant mirror tracking in O_DIRECT (Benjamin Coddington) [1846984] - [fs] nfs: Fix nfsi->nrequests count error on nfs_inode_remove_request (Benjamin Coddington) [1846984] - [net] sunrpc: clean up indentation issue (Benjamin Coddington) [1846984] - [fs] NFS: Optimise the default readahead size (Benjamin Coddington) [1846984] - [fs] nfsd: fix nfs read eof detection (Benjamin Coddington) [1846984] - [fs] nfsd: Make nfsd_reset_boot_verifier_locked static (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in LOCKU (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE (Benjamin Coddington) [1846984] - [fs] NFSv4: Fix OPEN_DOWNGRADE error handling (Benjamin Coddington) [1846984] - [fs] pNFS: Handle NFS4ERR_OLD_STATEID on layoutreturn by bumping the state seqid (Benjamin Coddington) [1846984] - [fs] NFSv4: Add a helper to increment stateid seqids (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle RPC level errors in LAYOUTRETURN (Benjamin Coddington) [1846984] - [fs] NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close (Benjamin Coddington) [1846984] - [fs] NFSv4: Clean up pNFS return-on-close error handling (Benjamin Coddington) [1846984] - [fs] NFS: remove unused check for negative dentry (Benjamin Coddington) [1846984] - [fs] NFSv3: use nfs_add_or_obtain() to create and reference inodes (Benjamin Coddington) [1846984] - [fs] NFS: Refactor nfs_instantiate() for dentry referencing callers (Benjamin Coddington) [1846984] - [fs] nfs_instantiate(): prevent multiple aliases for directory inode (Benjamin Coddington) [1846984] - [net] SUNRPC: Rename xdr_buf_read_netobj to xdr_buf_read_mic (Benjamin Coddington) [1846984] - [fs] nfsd: degraded slot-count more gracefully as allocation nears exhaustion (Benjamin Coddington) [1846984] - [fs] nfsd: handle drc over-allocation gracefully (Benjamin Coddington) [1846984] - [net] SUNRPC: RPC level errors should always set task->tk_rpc_status (Benjamin Coddington) [1846984] - [fs] nfsd: Support the server resetting the boot verifier (Benjamin Coddington) [1846984] - [net] sunrpc: Use kzfree rather than its implementation (Benjamin Coddington) [1846984] - [fs] nfsd: eliminate an unnecessary acl size limit (Benjamin Coddington) [1846984] - [fs] Deprecate nfsd fault injection (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs4_proc_get_lease_time() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs41_proc_secinfo_no_name() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs41_proc_reclaim_complete() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have _nfs4_proc_secinfo() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Have nfs4_proc_setclientid() call nfs4_call_sync_custom() (Benjamin Coddington) [1846984] - [fs] NFS: Add an nfs4_call_sync_custom() function (Benjamin Coddington) [1846984] - [fs] NFSv4: Fix a memory leak bug (Benjamin Coddington) [1846984] - [net] xprtrdma: Fix bc_max_slots return value (Benjamin Coddington) [1846984] - [net] SUNRPC: Inline xdr_commit_encode (Benjamin Coddington) [1846984] - [net] SUNRPC: Remove rpc_wake_up_queued_task_on_wq() (Benjamin Coddington) [1846984] - [fs] fs: nfs: Fix possible null-pointer dereferences in encode_attrs() (Benjamin Coddington) [1846984] - [fs] nfsd: Fix the documentation for svcxdr_tmpalloc() (Benjamin Coddington) [1846984] - [fs] nfsd: Remove unnecessary NULL checks (Benjamin Coddington) [1846984] - [s390] vfio-ccw: make vfio_ccw_regops variables declarations static (Cornelia Huck) [1660917] - [s390] vfio-ccw: Add trace for CRW event (Cornelia Huck) [1660917] - [s390] vfio-ccw: Wire up the CRW irq and CRW region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce a new CRW region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor IRQ handlers (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce a new schib region (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor the unregister of the async regions (Cornelia Huck) [1660917] - [s390] vfio-ccw: Register a chp_event callback for vfio-ccw (Cornelia Huck) [1660917] - [s390] vfio-ccw: Introduce new helper functions to free/destroy regions (Cornelia Huck) [1660917] - [documentation] vfio-ccw: document possible errors (Cornelia Huck) [1660917] - [s390] vfio-ccw: Enable transparent CCW IPL from DASD (Cornelia Huck) [1660917] - [s390] cio: generate delayed uevent for vfio-ccw subchannels (Cornelia Huck) [1660917] - [s390] vfio-ccw: Use the correct style for SPDX License Identifier (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rework the io_fctl trace (Cornelia Huck) [1660917] - [s390] vfio-ccw: Add a trace for asynchronous requests (Cornelia Huck) [1660917] - [s390] vfio-ccw: Trace the FSM jumptable (Cornelia Huck) [1660917] - [s390] vfio-ccw: Refactor how the traces are built (Cornelia Huck) [1660917] - [s390] vfio-ccw: fix error return code in vfio_ccw_sch_init() (Cornelia Huck) [1660917] - [s390] vfio-ccw: add some logging (Cornelia Huck) [1660917] - [s390] vfio-ccw: make vfio_ccw_async_region_ops static (Cornelia Huck) [1660917] - [documentation] documentation: fix vfio-ccw doc (Cornelia Huck) [1660917] - [documentation] vfio-ccw: Update documentation for csch/hsch (Cornelia Huck) [1660917] - [s390] vfio-ccw: Don't call cp_free if we are processing a channel program (Cornelia Huck) [1660917] - [s390] vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix memory leak and don't call cp_free in cp_init (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix misleading comment when setting orb.cmd.c64 (Cornelia Huck) [1660917] - [s390] vfio-ccw: Fix the conversion of Format-0 CCWs to Format-1 (Cornelia Huck) [1660917] - [s390] cio: introduce driver_override on the css bus (Cornelia Huck) [1660917] - [s390] vfio-ccw: make convert_ccw0_to_ccw1 static (Cornelia Huck) [1660917] - [s390] vfio-ccw: Remove copy_ccw_from_iova() (Cornelia Huck) [1660917] - [s390] vfio-ccw: Factor out the ccw0-to-ccw1 transition (Cornelia Huck) [1660917] - [s390] vfio-ccw: Copy CCW data outside length calculation (Cornelia Huck) [1660917] - [s390] vfio-ccw: Skip second copy of guest cp to host (Cornelia Huck) [1660917] - [s390] vfio-ccw: Move guest_cp storage into common struct (Cornelia Huck) [1660917] - [s390] cio: Combine direct and indirect CCW paths (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rearrange IDAL allocation in direct CCW (Cornelia Huck) [1660917] - [s390] vfio-ccw: Remove pfn_array_table (Cornelia Huck) [1660917] - [s390] vfio-ccw: Adjust the first IDAW outside of the nested loops (Cornelia Huck) [1660917] - [s390] vfio-ccw: Rearrange pfn_array and pfn_array_table arrays (Cornelia Huck) [1660917] - [s390] cio: Use generalized CCW handler in cp_init() (Cornelia Huck) [1660917] - [s390] cio: Generalize the TIC handler (Cornelia Huck) [1660917] - [s390] cio: Refactor the routine that handles TIC CCWs (Cornelia Huck) [1660917] - [s390] cio: Squash cp_free() and cp_unpin_free() (Cornelia Huck) [1660917] - [s390] vfio-ccw: Destroy kmem cache region on module exit (Cornelia Huck) [1660917] - [documentation] docs: s390: convert docs to ReST and rename to *.rst (Cornelia Huck) [1660917] - [s390] cio: Remove vfio-ccw checks of command codes (Cornelia Huck) [1660917] - [s390] cio: Allow zero-length CCWs in vfio-ccw (Cornelia Huck) [1660917] - [s390] cio: Don't pin vfio pages for empty transfers (Cornelia Huck) [1660917] - [s390] cio: Initialize the host addresses in pfn_array (Cornelia Huck) [1660917] - [s390] cio: Split pfn_array_alloc_pin into pieces (Cornelia Huck) [1660917] - [s390] cio: Set vfio-ccw FSM state before ioeventfd (Cornelia Huck) [1660917] - [s390] cio: Update SCSW if it points to the end of the chain (Cornelia Huck) [1660917] - [s390] vfio-ccw: Prevent quiesce function going into an infinite loop (Cornelia Huck) [1660917] - [s390] vfio-ccw: Release any channel program when releasing/removing vfio-ccw mdev (Cornelia Huck) [1660917] - [s390] vfio-ccw: Do not call flush_workqueue while holding the spinlock (Cornelia Huck) [1660917] - [s390] vfio-ccw: add handling for async channel instructions (Cornelia Huck) [1660917] - [s390] cio: export hsch to modules (Cornelia Huck) [1660917] - [s390] vfio-ccw: add capabilities chain (Cornelia Huck) [1660917] - [s390] vfio-ccw: protect the I/O region (Cornelia Huck) [1660917] - [s390] vfio-ccw: rework ssch state handling (Cornelia Huck) [1660917] - [s390] vfio-ccw: make it safe to access channel programs (Cornelia Huck) [1660917] - [s390] vfio: ccw: only free cp on final interrupt (Cornelia Huck) [1660917] - [s390] cio: Use cpa range elsewhere within vfio-ccw (Cornelia Huck) [1660917] - [s390] cio: Fix vfio-ccw handling of recursive TICs (Cornelia Huck) [1660917] - [s390] vfio-ccw: Don't assume there are more ccws after a TIC (Cornelia Huck) [1660917] - [s390] vfio: ccw: Merge BUSY and BOXED states (Cornelia Huck) [1660917] - [s390] cio: Fix cleanup when unsupported IDA format is used (Cornelia Huck) [1660917] - [s390] cio: Fix cleanup of pfn_array alloc failure (Cornelia Huck) [1660917] - [s390] vfio: ccw: Register mediated device once all structures are initialized (Cornelia Huck) [1660917] - [s390] cio: make vfio_ccw_io_region static (Cornelia Huck) [1660917] - [s390] cio: Fix how vfio-ccw checks pinned pages (Cornelia Huck) [1660917] - [s390] cio: Refactor alloc of ccw_io_region (Cornelia Huck) [1660917] - [s390] cio: Convert ccw_io_region to pointer (Cornelia Huck) [1660917] - [netdrv] ibmvnic: Harden device login requests (Steve Best) [1847183] - [mm] s390/cmm: fix information leak in cmm_timeout_handler() (Nico Pache) [1846532] {CVE-2020-10773} - [fs] kernfs: fix potential null pointer dereference (Carlos Maiolino) [1847872] - [netdrv] net: sfc: reject unsupported coalescing params (Jarod Wilson) [1844659] - [netdrv] iavf: increase reset complete wait time (Stefan Assmann) [1844598] - [netdrv] iavf: Fix reporting 2.5 Gb and 5Gb speeds (Stefan Assmann) [1844598] - [netdrv] iavf: use appropriate enum for comparison (Stefan Assmann) [1844598] - [netdrv] iavf: fix speed reporting over virtchnl (Stefan Assmann) [1844598] - [block] blk-mq: fix blk_mq_all_tag_iter (Ming Lei) [1824037] - [block] blk-mq: split out a __blk_mq_get_driver_tag helper (Ming Lei) [1824037] - [block] blk-mq: drain I/O when all CPUs in a hctx are offline (Ming Lei) [1824037] - [block] blk-mq: add blk_mq_all_tag_iter (Ming Lei) [1824037] - [block] blk-mq: open code __blk_mq_alloc_request in blk_mq_alloc_request_hctx (Ming Lei) [1824037] - [block] blk-mq: use BLK_MQ_NO_TAG in more places (Ming Lei) [1824037] - [block] blk-mq: rename BLK_MQ_TAG_FAIL to BLK_MQ_NO_TAG (Ming Lei) [1824037] - [block] blk-mq: move more request initialization to blk_mq_rq_ctx_init (Ming Lei) [1824037] - [block] blk-mq: simplify the blk_mq_get_request calling convention (Ming Lei) [1824037] - [block] blk-mq: remove a pointless queue enter pair in blk_mq_alloc_request_hctx (Ming Lei) [1824037] - [block] blk-mq: remove a pointless queue enter pair in blk_mq_alloc_request (Ming Lei) [1824037] - [block] blk-mq: move the call to blk_queue_enter_live out of blk_mq_get_request (Ming Lei) [1824037] - [nvme] nvme: force complete cancelled requests (Ming Lei) [1824037] - [block] blk-mq: blk-mq: provide forced completion method (Ming Lei) [1824037] - [block] block: Limit number of items taken from the I/O scheduler in one go (Ming Lei) [1824037] - [scsi] Revert "scsi: core: run queue if SCSI device queue isn't ready and queue is idle" (Ming Lei) [1824037] - [block] blk-mq: Rerun dispatching in the case of budget contention (Ming Lei) [1824037] - [block] blk-mq: Add blk_mq_delay_run_hw_queues() API call (Ming Lei) [1824037] - [block] blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick (Ming Lei) [1824037] - [block] blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget (Ming Lei) [1824037] - [block] blk-mq: don't commit_rqs() if none were queued (Ming Lei) [1824037] - [block] blk-mq: Remove some unused function arguments (Ming Lei) [1824037] - [block] blk-mq-tag: document tag iteration helper return value (Ming Lei) [1824037] - [block] blk-mq: Document the functions that iterate over requests (Ming Lei) [1824037] - [block] loop: Better discard support for block devices (Ming Lei) [1824037] - [block] loop: Report EOPNOTSUPP properly (Ming Lei) [1824037] - [block] block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices (Ming Lei) [1824037] - [block] block, zoned: fix integer overflow with BLKRESETZONE et al (Ming Lei) [1824037] - [block] block: Fix use-after-free issue accessing struct io_cq (Ming Lei) [1824037] - [netdrv] cxgb4: add EOTID tracking and software context dump (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: tune burst buffer size for TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: improve credits recovery in TC-MQPRIO Tx path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix delete filter entry fail in unload path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix large delays in PTP synchronization (Vishal Kulkarni) [1828665] - [netdrv] net/cxgb4: Check the return from t4_query_params properly (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: free MQPRIO resources in shutdown path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix MPS index overwrite when setting MAC address (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Add support to catch bits set in INT_CAUSE5 (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove set but not used variable 'tab' (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/ptp: pass the sign of offset delta in FW CMD (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix Txq restart check during backpressure (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix throughput drop during Tx backpressure (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: rework TC filter rule insertion across regions (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: update T5/T6 adapter register ranges (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix checks for max queues to allocate (Vishal Kulkarni) [1828665] - [netdrv] net/chelsio: Don't set N/A for not available FW (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Added tls stats prints (Vishal Kulkarni) [1828665] - [netdrv] l2t_seq_next should increase position index (Vishal Kulkarni) [1828665] - [netdrv] seq_tab_next() should increase position index (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: reject overlapped queues in TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix Tx multi channel port rate limit (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/cxgb4vf: fix flow control display for auto negotiation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix refcount init for TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/chtls: fix ULD connection failures due to wrong TID base (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix missed high priority region calculation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Fix kernel panic while accessing sge_info (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add support for high priority filters (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add stats for MQPRIO QoS offload Tx path (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add UDP segmentation offload support (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/chcr: update SGL DMA unmap for USO (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add TC-MATCHALL classifier ingress offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: check rule prio conflicts before offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add TC-MATCHALL classifier egress offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove unneeded semicolon for switch block (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Fix an error code in cxgb4_mqprio_alloc_hw_resources() (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: make function 'cxgb4_mqprio_free_hw_resources' static (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: remove redundant assignment to hdr_len (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix 64-bit division on i386 (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Use match_string() helper to simplify the code (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add FLOWC based QoS offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add Tx and Rx path for ETHOFLD traffic (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: add ETHOFLD hardware queue support (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: parse and configure TC-MQPRIO offload (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: rework queue config and MSI-X allocation (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: query firmware for QoS offload resources (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Add pci reset handler (Vishal Kulkarni) [1828665] - [netdrv] cxgb4/l2t: Simplify 't4_l2e_free()' and '_t4_l2e_free()' (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: fix panic when attaching to ULD fail (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: request the TX CIDX updates to status page (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: Signedness bug in init_one() (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: no need to check return value of debugfs_create functions (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: smt: Use normal int for refcount (Vishal Kulkarni) [1828665] - [netdrv] cxgb4: smt: Add lock for atomic_dec_and_test (Vishal Kulkarni) [1828665] - [fs] xfs: clear PF_MEMALLOC before exiting xfsaild thread (Brian Foster) [1827912]- [drm] drm/amd/display: Defer cursor lock until after VUPDATE (Lyude Paul) [1814893] - [drm] drm/amd/display: Use cursor locking to prevent flip delays (Lyude Paul) [1814893] - [drm] drm/amdgpu/display: Fix Pollock Variant Detection (Lyude Paul) [1814893] - [drm] drm/amd/display: Fix RV2 Variant Detection (Lyude Paul) [1814893] - [drm] drm/amdgpu/display: fix pci revision id fetching (Lyude Paul) [1814893] - [drm] drm/nouveau/device: detect vGPUs (Lyude Paul) [1814893] - [drm] drm/nouveau/device: detect if changing endianness failed (Lyude Paul) [1814893] - [drm] drm/nouveau/device: rework mmio mapping code to get rid of second map (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gm200-: detect and potentially disable HDA support on some SORs (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gp100: split SOR implementation from gm200 (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: modify OR allocation policy to account for HDA requirements (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: split part of OR allocation logic into a function (Lyude Paul) [1814893] - [drm] drm/nouveau/disp: provide hint to OR allocation about HDA requirements (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/gt215-: fix race with audio driver runpm (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gv100-: NV_PDISP_SF_AUDIO_CNTRL0 register moved (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gf119-: select HDA device entry based on bound head (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gf119-: add HAL for programming device entry in SF (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/hda/gt215-: pass head to nvkm_ior.hda.eld() (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gm200-: fix NV_PDISP_SOR_HDMI2_CTRL(n) selection (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Share DP SST mode_valid() handling with MST (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Move 8BPC limit for MST into nv50_mstc_get_modes() (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/gv100-: Add support for interlaced modes (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: Initialize core channel in nouveau_display_create() (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/gv100-: expose capabilities class (Lyude Paul) [1814893] - [drm] drm/nouveau/disp/nv50-: increase timeout on pio channel free() polling (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: wait for FIFO space on PIO channels (Lyude Paul) [1814893] - [drm] drm/nouveau/nvif: protect waits against GPU falling off the bus (Lyude Paul) [1814893] - [drm] drm/nouveau/nvif: access PTIMER through usermode class, if available (Lyude Paul) [1814893] - [drm] drm/nouveau/ttm: evict other IO mappings when running out of BAR1 space (Lyude Paul) [1814893] - [drm] drm/nouveau/kms/nv50-: clear SW state of disabled windows harder (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Add aux table invalidate for all engines (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Invalidate aux table entries forcibly (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Flush L3 (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Fix HDC pipeline flush (Lyude Paul) [1814893] - [drm] Revert "drm/i915/tgl: Include ro parts of l3 to invalidate" (Lyude Paul) [1814893] - [drm] drm/i915: Push MST link retraining to the hotplug work (Lyude Paul) [1814893] - [drm] drm/i915: Flatten intel_dp_check_mst_status() a bit (Lyude Paul) [1814893] - [drm] drm/i915/tc: Do not warn when aux power well of static TC ports timeout (Lyude Paul) [1814893] - [drm] drm/i915/tc: Catch TC users accessing FIA registers without enable aux (Lyude Paul) [1814893] - [drm] drm/i915/tc/tgl: Implement TC cold sequences (Lyude Paul) [1814893] - [drm] drm/i915/tc: Skip ref held check for TC legacy aux power wells (Lyude Paul) [1814893] - [drm] drm/i915/tc/icl: Implement TC cold sequences (Lyude Paul) [1814893] - [drm] drm/i915/display: Split hsw_power_well_enable() into two (Lyude Paul) [1814893] - [drm] drm/i915/display: Add intel_legacy_aux_to_power_domain() (Lyude Paul) [1814893] - [drm] drm/i915/display: Move out code to return the digital_port of the aux ch (Lyude Paul) [1814893] - [drm] drm/i915: Add missing deinitialization cases of load failure (Lyude Paul) [1814893] - [drm] drm/i915: split intel_modeset_init() to pre/post irq install (Lyude Paul) [1814893] - [drm] drm/i915: split i915_driver_modeset_probe() to pre/post irq install (Lyude Paul) [1814893] - [drm] drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall (Lyude Paul) [1814893] - [drm] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall (Lyude Paul) [1814893] - [drm] drm/i915: Extract skl SAGV checking (Lyude Paul) [1814893] - [drm] drm/i915: Track active_pipes in bw_state (Lyude Paul) [1814893] - [drm] drm/i915: Use bw state for per crtc SAGV evaluation (Lyude Paul) [1814893] - [drm] drm/i915: Introduce intel_calc_active_pipes() (Lyude Paul) [1814893] - [drm] drm/i915: Add pre/post plane updates for SAGV (Lyude Paul) [1814893] - [drm] drm/i915: Prepare to extract gen specific functions from intel_can_enable_sagv (Lyude Paul) [1814893] - [drm] drm/i915: Add intel_atomic_get_bw_*_state helpers (Lyude Paul) [1814893] - [drm] drm/i915: Introduce skl_plane_wm_level accessor (Lyude Paul) [1814893] - [drm] drm/i915: do AUD_FREQ_CNTRL state save on all gen9+ platforms (Lyude Paul) [1814893] - [drm] drm/i915: Extend hotplug detect retry on TypeC connectors to 5 seconds (Lyude Paul) [1814893] - [drm] drm/i915: Add a retry counter for hotplug detect retries (Lyude Paul) [1814893] - [drm] drm/i915: Introduce intel_connector_hpd_pin() (Lyude Paul) [1814893] - [drm] drm/i915: Prefer intel_connector over drm_connector in hotplug code (Lyude Paul) [1814893] - [drm] drm/i915: Use intel_attached_encoder() (Lyude Paul) [1814893] - [drm] drm/i915/ehl: Restrict w/a 1607087056 for EHL/JSL (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Initialize multicast register steering for workarounds (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Make Wa_14010229206 permanent (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1605460711 / Wa_1408767742 to ICL and EHL (Lyude Paul) [1814893] - [drm] drm/i915: Apply Wa_1406680159:icl, ehl as an engine workaround (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1406306137:icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915: Add Wa_1604278689:icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Don't treat unslice registers as masked (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Make Wa_1606700617 permanent (Lyude Paul) [1814893] - [drm] drm/i915/tgl: WaDisableGPGPUMidThreadPreemption (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Move and restrict Wa_1408615072 (Lyude Paul) [1814893] - [drm] drm/i915/gen11: Moving WAs to rcs_engine_wa_init() (Lyude Paul) [1814893] - [drm] drm/i915: add Wa_14010594013: icl,ehl (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa number to WaAllowPMDepthAndInvocationCountAccessFromUMD (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note about Wa_1409142259 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Fix the Wa number of a fix (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note about Wa_1607063988 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add note to Wa_1607297627 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Extend Wa_1606931601 for all steppings (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_1409085225, Wa_14010229206 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Implement Wa_1806527549 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Implement Wa_1409804808 (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_1808121037 to tgl (Lyude Paul) [1814893] - [drm] drm/i915: Use engine wa list for Wa_1607090982 (Lyude Paul) [1814893] - [drm] drm/i915: Implement Wa_1607090982 (Lyude Paul) [1814893] - [drm] drm/i915: Disable tesselation clock gating on tgl A0 (Lyude Paul) [1814893] - [drm] drm/i915: Move ringbuffer WAs to engine workaround list (Lyude Paul) [1814893] - [drm] drm/i915/gt: Skip rmw for masked registers (Lyude Paul) [1814893] - [drm] drm/i915/selftests: Also wait for the scratch buffer to be bound (Lyude Paul) [1814893] - [drm] drm/i915/dp: Return the right vswing tables (Lyude Paul) [1814893] - [drm] drm/i915/dp/tgl+: Update combo phy vswing tables (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add definitions for VRR registers and bits (Lyude Paul) [1814893] - [drm] drm/i915: use forced codec wake on all gen9+ platforms (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add new PCI IDs to TGL (Lyude Paul) [1814893] - [drm] drm/i915/perf: Invalidate OA TLB on when closing perf stream (Lyude Paul) [1814893] - [drm] Bump DRM backport version to 5.6.14 (Lyude Paul) [1814893] - [drm] drm/i915/tgl+: Fix interrupt handling for DP AUX transactions (Lyude Paul) [1814893] - [drm] drm/amd/amdgpu: add raven1 part to the gfxoff quirk list (Lyude Paul) [1814893] - [drm] drm/amd/display: add basic atomic check for cursor plane (Lyude Paul) [1814893] - [drm] Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() (Lyude Paul) [1814893] - [drm] drm/i915: Handle idling during i915_gem_evict_something busy loops (Lyude Paul) [1814893] - [drm] drm/i915: Mark concurrent submissions with a weak-dependency (Lyude Paul) [1814893] - [drm] drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest (Lyude Paul) [1814893] - [drm] drm/amdgpu: force fbdev into vram (Lyude Paul) [1814893] - [drm] drm/i915/gem: Remove object_is_locked assertion from unpin_from_display_plane (Lyude Paul) [1814893] - [drm] drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled (Lyude Paul) [1814893] - [drm] drm/i915/gt: Make timeslicing an explicit engine property (Lyude Paul) [1814893] - [drm] drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() (Lyude Paul) [1814893] - [drm] drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 (Lyude Paul) [1814893] - [drm] drm/amd/display: Defer cursor update around VUPDATE for all ASIC (Lyude Paul) [1814893] - [drm] drm/amd/display: check if REFCLK_CNTL register is present (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: avoid using pm_en before it is initialized revised (Lyude Paul) [1814893] - [drm] drm/amd/display: blank dp stream before re-train the link (Lyude Paul) [1814893] - [drm] drm/i915/display: Load DP_TP_CTL/STATUS offset before use it (Lyude Paul) [1814893] - [drm] drm/i915/tgl: TBT AUX should use TC power well ops (Lyude Paul) [1814893] - [drm] drm/i915/tgl: Add Wa_14010477008:tgl (Lyude Paul) [1814893] - [drm] drm/amd/display: work around fp code being emitted outside of DC_FP_START/END (Lyude Paul) [1814893] - [drm] drm/amdgpu: drop redundant cg/pg ungate on runpm enter (Lyude Paul) [1814893] - [drm] drm/amdgpu: move kfd suspend after ip_suspend_phase1 (Lyude Paul) [1814893] - [drm] drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event (Lyude Paul) [1814893] - [drm] drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii) (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: fix resume failed as smu table initialize early exit (Lyude Paul) [1814893] - [drm] drm/bridge: anx6345: set correct BPC for display_info of connector (Lyude Paul) [1814893] - [drm] drm/i915: Use proper fault mask in interrupt postinstall too (Lyude Paul) [1814893] - [drm] drm/i915/selftests: Fix i915_address_space refcnt leak (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release use after free (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release leak in qxl_hw_surface_alloc() (Lyude Paul) [1814893] - [drm] drm/qxl: qxl_release leak in qxl_draw_dirty_fb() (Lyude Paul) [1814893] - [drm] drm/i915/gt: Check cacheline is valid before acquiring (Lyude Paul) [1814893] - [drm] drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma() (Lyude Paul) [1814893] - [drm] drm/amd/display: Fix green screen issue after suspend (Lyude Paul) [1814893] - [drm] drm/edid: Fix off-by-one in DispID DTD pixel clock (Lyude Paul) [1814893] - [drm] drm/amdgpu: invalidate L2 before SDMA IBs (v2) (Lyude Paul) [1814893] - [dma-buf] dma-buf: Fix SET_NAME ioctl uapi (Lyude Paul) [1814893] - [drm] drm/scheduler: fix drm_sched_get_cleanup_job (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix wrong vram lost counter increment V2 (Lyude Paul) [1814893] - [drm] drm/dp_mst: Zero assigned PBN when releasing VCPI slots (Lyude Paul) [1814893] - [drm] drm/amd/display: Calculate scaling ratios on every medium/full update (Lyude Paul) [1814893] - [drm] drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax (Lyude Paul) [1814893] - [video] fbdev: potential information leak in do_fb_ioctl() (Lyude Paul) [1814893] - [drm] drm/nouveau/gr/gp107, gp108: implement workaround for HW hanging during init (Lyude Paul) [1814893] - [drm] drm/amdkfd: kfree the wrong pointer (Lyude Paul) [1814893] - [drm] drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges (Lyude Paul) [1814893] - [drm] drm/nouveau/svm: fix vma range check for migration (Lyude Paul) [1814893] - [drm] drm/nouveau/svm: check for SVM initialized before migrating (Lyude Paul) [1814893] - [drm] drm/amd/display: Don't try hdcp1.4 when content_type is set to type1 (Lyude Paul) [1814893] - [drm] drm/ttm: flush the fence on the bo after we individualize the reservation object (Lyude Paul) [1814893] - [drm] drm/i915/perf: Do not clear pollin for small user read buffers (Lyude Paul) [1814893] - [drm] drm/nouveau/sec2/gv100-: add missing MODULE_FIRMWARE() (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix the hw hang during perform system reboot and reset (Lyude Paul) [1814893] - [drm] drm/amdgpu/gfx9: add gfxoff quirk (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled (Lyude Paul) [1814893] - [drm] drm/i915/gt: Fill all the unused space in the GGTT (Lyude Paul) [1814893] - [drm] drm/i915/ggtt: do not set bits 1-11 in gen12 ptes (Lyude Paul) [1814893] - [drm] drm/amdgpu: fix gfx hang during suspend with video playback (v2) (Lyude Paul) [1814893] - [drm] drm/dp_mst: Fix clearing payload state on topology disable (Lyude Paul) [1814893] - [drm] Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" (Lyude Paul) [1814893] - [drm] drm/i915/gt: Treat idling as a RPS downclock event (Lyude Paul) [1814893] - [drm] drm/vboxvideo: Add missing remove_conflicting_pci_framebuffers call, v2 (Lyude Paul) [1814893] - [drm] drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode (Lyude Paul) [1814893] - [drm] drm/amd/display: Check for null fclk voltage when parsing clock table (Lyude Paul) [1814893] - [drm] drm/amdgpu: unify fw_write_wait for new gfx9 asics (Lyude Paul) [1814893] - [drm] drm/amd/powerplay: implement the is_dpm_running() (Lyude Paul) [1814893] - [drm] drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK (Lyude Paul) [1814893] - [drm] drm: Remove PageReserved manipulation from drm_pci_alloc (Lyude Paul) [1814893] - [drm] drm/bridge: analogix-anx78xx: Fix drm_dp_link helper removal (Lyude Paul) [1814893] - [drm] drm/i915/gem: Flush all the reloc_gpu batch (Lyude Paul) [1814893] - [drm] drm/i915/gen12: Disable preemption timeout (Lyude Paul) [1814893] - [drm] drm/i915/display: Fix mode private_flags comparison at atomic_check (Lyude Paul) [1814893] - [drm] drm/bridge: analogix-anx6345: Avoid duplicate -supply suffix (Lyude Paul) [1814893] - [drm] drm/i915: Allow for different modes of interruptible i915_active_wait (Lyude Paul) [1814893] - [gpu] DRM Backport 5.5 -> 5.6 (Lyude Paul) [1814893] - [video] video: fbdev: intelfb: use const pointer for fb_ops (Lyude Paul) [1814893] - [include] video: fbdev: make fbops member of struct fb_info a const pointer (Lyude Paul) [1814893] - [video] video: fbdev: uvesafb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: nvidia: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: mb862xx: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbdev: atyfb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: fbmem: use const pointer for fb_ops (Lyude Paul) [1814893] - [video] video: fbdev: vesafb: modify the static fb_ops directly (Lyude Paul) [1814893] - [video] video: udlfb: don't restore fb_mmap after deferred IO cleanup (Lyude Paul) [1814893] - [video] video: smscufx: don't restore fb_mmap after deferred IO cleanup (Lyude Paul) [1814893] - [drm] drm/fb-helper: don't preserve fb_ops across deferred IO use (Lyude Paul) [1814893] - [drm] drm/fb-helper: Remove drm_fb_helper_fbdev_{setup, teardown}() (Lyude Paul) [1814893] - [video] video: fb_defio: preserve user fb_ops (Lyude Paul) [1814893] - [drm] mm, drm/ttm: Fix vm page protection handling (Lyude Paul) [1814893] - [dma-buf] udmabuf: Remove deleted map/unmap handlers (Lyude Paul) [1814893] - [include] dma-buf: Remove kernel map/unmap hooks (Lyude Paul) [1814893] - [drm] drm/udl: Remove udl implementation of GEM's free_object() (Lyude Paul) [1814893] - [drm] drm/udl: Unmap buffer object after damage update (Lyude Paul) [1814893] - [drm] drm/udl: Fix Kconfig indentation (Lyude Paul) [1814893] - [drm] drm/udl: Replace fbdev code with generic emulation (Lyude Paul) [1814893] - [drm] drm/udl: Remove struct udl_gem_object and functions (Lyude Paul) [1814893] - [drm] drm/udl: Switch to SHMEM (Lyude Paul) [1814893] - [drm] drm/udl: Allocate GEM object via struct drm_driver.gem_create_object (Lyude Paul) [1814893] - [drm] drm/udl: Remove flags field from struct udl_gem_object (Lyude Paul) [1814893] - [drm] drm/armada: Delete dma_buf->k(un)map implemenation (Lyude Paul) [1814893] - [tee] drm/tee_shm: Drop dma_buf_k(unmap) support (Lyude Paul) [1814893] - [samples] sample/vfio-mdev/mbocs: Remove dma_buf_k(un)map support (Lyude Paul) [1814893] - [media] media/videobuf2: Drop dma_buf->k(un)map support (Lyude Paul) [1814893] - [drm] drm/vmwgfx: Delete mmaping functions (Lyude Paul) [1814893] - [dma-buf] dma-buf: Drop dma_buf_k(un)map (Lyude Paul) [1814893] - [drm] drm/tegra: Remove dma_buf->k(un)map (Lyude Paul) [1814893] - [drm] drm/omapdrm: Drop dma_buf->k(un)map (Lyude Paul) [1814893] - [drm] drm/i915: Drop dma_buf->k(un)map (Lyude Paul) [1814893] - [staging] staging/android/ion: delete dma_buf->kmap/unmap implemenation (Lyude Paul) [1814893] - [drm] drm/i915: Remove dma_buf_kmap selftest (Lyude Paul) [1814893] - [drm] drm/tegra: Delete host1x_bo_ops->k(un)map (Lyude Paul) [1814893] - [gpu] drm/tegra: Map cmdbuf once for reloc processing (Lyude Paul) [1814893] - [pinctrl] pinctrl: Allow modules to use pinctrl_register_mappings (Lyude Paul) [1814893] - [include] lockdep: add might_lock_nested() (Lyude Paul) [1814893] - [gpu] DRM Backport 5.4 -> 5.5 (Lyude Paul) [1814893] - [security] device_cgroup: Export devcgroup_check_permission (Lyude Paul) [1814893] - [video] fbdev: drop res_id parameter from remove_conflicting_pci_framebuffers (Lyude Paul) [1814893] - [media] media: cec: check 'transmit_in_progress', not 'transmitting' (Lyude Paul) [1814893] - [media] media: cec: avoid decrementing transmit_queue_sz if it is 0 (Lyude Paul) [1814893] - [media] media: cec: CEC 2.0-only bcast messages were ignored (Lyude Paul) [1814893] - [media] cec: add cec_adapter to cec_notifier_cec_adap_unregister() (Lyude Paul) [1814893] - [media] media: cec-pin: add 'received' callback (Lyude Paul) [1814893] - [media] media: cec: expose the new connector info API (Lyude Paul) [1814893] - [media] media: cec/cec-adap.c: use new UI_CMD defines (Lyude Paul) [1814893] - [media] media: cec-notifier: clear cec_adap in cec_notifier_unregister (Lyude Paul) [1814893] - [media] media: cec-adap: return from cec_s_conn_info() if adap is invalid (Lyude Paul) [1814893] - [media] media: cec-notifier: add new notifier functions (Lyude Paul) [1814893] - [media] media: cec: add struct cec_connector_info support (Lyude Paul) [1814893] - [media] media: cec-notifier: rename variables, check kstrdup and n->conn_name (Lyude Paul) [1814893] - [media] media: cec-adap: fix regression in ping sanity check (Lyude Paul) [1814893] - [media] media: cec: allow any initiator for Ping and Image/Text View On (Lyude Paul) [1814893] - [media] media: cec: support CEC_MSG_FL_RAW (Lyude Paul) [1814893] - [media] media: cec: add CEC_MSG_FL_RAW flag and msg_is_raw helper function (Lyude Paul) [1814893] - [media] media: cec: move check from cec_transmit to cec_transmit_msg_fh (Lyude Paul) [1814893] - [media] media: cec: cec_transmit_msg_fh: do sanity checks first (Lyude Paul) [1814893] - [media] media: cec: mark devnode as registered before actually registering it (Lyude Paul) [1814893] - [media] media: cec-notifier: add cec_notifier_parse_hdmi_phandle helper (Lyude Paul) [1814893] - [media] media: Kconfig files: use the right help coding style (Lyude Paul) [1814893] - [media] media: cec: fill in cec chardev kobject to ease debugging (Lyude Paul) [1814893] - [media] media: cec: fix epoll() by calling poll_wait first (Lyude Paul) [1814893] - [media] media: cec: keep track of outstanding transmits (Lyude Paul) [1814893] - [media] media: cec: add debug_phys_addr module option (Lyude Paul) [1814893] - [media] media: cec: report Vendor ID after initialization (Lyude Paul) [1814893] - [media] media: cec-pin: fix broken tx_ignore_nack_until_eom error injection (Lyude Paul) [1814893] - [media] media: cec: increase debug level for 'queue full' (Lyude Paul) [1814893] - [media] media: cec: check for non-OK/NACK conditions while claiming a LA (Lyude Paul) [1814893] - [media] media: cec: forgot to cancel delayed work (Lyude Paul) [1814893] - [media] media: cec: name for RC passthrough device does not need 'RC for' (Lyude Paul) [1814893] - [media] media: cec-gpio: select correct Signal Free Time (Lyude Paul) [1814893] - [media] media: cec: fix the Signal Free Time calculation (Lyude Paul) [1814893] - [media] media: cec: add new tx/rx status bits to detect aborts/timeouts (Lyude Paul) [1814893] - [media] media: cec: remove cec-edid.c (Lyude Paul) [1814893] - [media] media: cec/v4l2: move V4L2 specific CEC functions to V4L2 (Lyude Paul) [1814893] - [media] media: cec: integrate cec_validate_phys_addr() in cec-api.c (Lyude Paul) [1814893] - [media] media: cec: make cec_get_edid_spa_location() an inline function (Lyude Paul) [1814893] - [media] media: use strscpy() instead of strlcpy() (Lyude Paul) [1814893] - [media] media: cec: move compat_ioctl handling to cec-api.c (Lyude Paul) [1814893] - [media] media: cec: add support for 5V signal testing (Lyude Paul) [1814893] - [uapi] media: uapi/linux/cec.h: add 5V events (Lyude Paul) [1814893] - [scsi] compat_ioctl: move more drivers to compat_ptr_ioctl (Lyude Paul) [1814893] - [vhost] compat_ioctl: move drivers to compat_ptr_ioctl (Lyude Paul) [1814893] - [rtc] compat_ioctl: move rtc handling into drivers/rtc/dev.c (Lyude Paul) [1814893] - [fs] ceph: fix compat_ioctl for ceph_dir_operations (Lyude Paul) [1814893] - [fs] compat_sys_ioctl(): make parallel to do_vfs_ioctl() (Lyude Paul) [1814893] - [fs] compat: move FS_IOC_RESVSP_32 handling to fs/ioctl.c (Lyude Paul) [1814893] - [fs] do_vfs_ioctl(): use saner types (Lyude Paul) [1814893] - [fs] compat: itanic doesn't have one (Lyude Paul) [1814893] - [fs] FIGETBSZ: fix compat (Lyude Paul) [1814893] - [fs] fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP (Lyude Paul) [1814893] - [gpu] DRM Backport 5.3 -> 5.4 (Lyude Paul) [1814893] - [include] Add wait_var_event_interruptible() (Lyude Paul) [1814893] - [kernel] kthread: Add __kthread_should_park() (Lyude Paul) [1814893] - [kernel] PM / sleep: Refactor filesystems sync to reduce duplication (Lyude Paul) [1814893] - [fpga] drivers: Introduce device lookup variants by of_node (Lyude Paul) [1814893] - [s390] drivers: Introduce device lookup variants by name (Lyude Paul) [1814893] - [base] drivers: Add generic helper to match by of_node (Lyude Paul) [1814893] - [drm] kbuild: change *FLAGS_.o to take the path relative to $(obj) (Lyude Paul) [1814893] - [video] fbdev: lock_fb_info cannot fail (Lyude Paul) [1814893] - [video] fbdev/atyfb: lock_fb_info can't fail (Lyude Paul) [1814893] - [video] fbdev: sysfs files can't disappear before the device is gone (Lyude Paul) [1814893] - [video] fbcon: call fbcon_fb_(un)registered directly (Lyude Paul) [1814893] - [video] fbcon: Remove fbcon_has_exited (Lyude Paul) [1814893] - [video] fbcon: s/struct display/struct fbcon_display/ (Lyude Paul) [1814893] - [video] fbdev: locking check for fb_set_suspend (Lyude Paul) [1814893] - [tty] vt/fbcon: deinitialize resources in visual_init() after failed memory allocation (Lyude Paul) [1814893] - [video] fbcon: Don't reset logo_shown when logo is currently shown (Lyude Paul) [1814893] - [video] fbdev: fix WARNING in __alloc_pages_nodemask bug (Lyude Paul) [1814893] - [video] fbdev: fix divide error in fb_var_to_videomode (Lyude Paul) [1814893] - [video] fbdev: list all pci memory bars as conflicting apertures (Lyude Paul) [1814893]- [block] Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT" (Jeff Moyer) [1784478] - [fs] io_uring: reset -EBUSY error when io sq thread is waken up (Jeff Moyer) [1784478] - [fs] io_uring: don't add non-IO requests to iopoll pending list (Jeff Moyer) [1784478] - [fs] io_uring: don't use kiocb.private to store buf_index (Jeff Moyer) [1784478] - [fs] io_uring: cancel work if task_work_add() fails (Jeff Moyer) [1784478] - [fs] io_uring: remove dead check in io_splice() (Jeff Moyer) [1784478] - [fs] io_uring: fix FORCE_ASYNC req preparation (Jeff Moyer) [1784478] - [fs] io_uring: don't prepare DRAIN reqs twice (Jeff Moyer) [1784478] - [fs] io_uring: initialize ctx->sqo_wait earlier (Jeff Moyer) [1784478] - [fs] io_uring: polled fixed file must go through free iteration (Jeff Moyer) [1784478] - [fs] io_uring: fix zero len do_splice() (Jeff Moyer) [1784478] - [fs] io_uring: don't use 'fd' for openat/openat2/statx (Jeff Moyer) [1784478] - [fs] splice: move f_mode checks to do_{splice, tee}() (Jeff Moyer) [1784478] - [fs] io_uring: handle -EFAULT properly in io_uring_setup() (Jeff Moyer) [1784478] - [fs] io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files() (Jeff Moyer) [1784478] - [fs] io_uring: punt splice async because of inode mutex (Jeff Moyer) [1784478] - [fs] io_uring: check non-sync defer_list carefully (Jeff Moyer) [1784478] - [fs] io_uring: fix extra put in sync_file_range() (Jeff Moyer) [1784478] - [fs] io_uring: use cond_resched() in io_ring_ctx_wait_and_kill() (Jeff Moyer) [1784478] - [fs] io_uring: use proper references for fallback_req locking (Jeff Moyer) [1784478] - [fs] io_uring: only force async punt if poll based retry can't handle it (Jeff Moyer) [1784478] - [fs] io_uring: enable poll retry for any file with ->read_iter / ->write_iter (Jeff Moyer) [1784478] - [fs] io_uring: statx must grab the file table for valid fd (Jeff Moyer) [1784478] - [fs] io_uring: only restore req->work for req that needs do completion (Jeff Moyer) [1784478] - [fs] io_uring: don't count rqs failed after current one (Jeff Moyer) [1784478] - [fs] io_uring: kill already cached timeout.seq_offset (Jeff Moyer) [1784478] - [fs] io_uring: fix cached_sq_head in io_timeout() (Jeff Moyer) [1784478] - [fs] io_uring: only post events in io_poll_remove_all() if we completed some (Jeff Moyer) [1784478] - [fs] io_uring: io_async_task_func() should check and honor cancelation (Jeff Moyer) [1784478] - [fs] io_uring: check for need to re-wait in polled async handling (Jeff Moyer) [1784478] - [fs] io_uring: correct O_NONBLOCK check for splice punt (Jeff Moyer) [1784478] - [fs] io_uring: restore req->work when canceling poll request (Jeff Moyer) [1784478] - [fs] io_uring: move all request init code in one place (Jeff Moyer) [1784478] - [fs] io_uring: keep all sqe->flags in req->flags (Jeff Moyer) [1784478] - [fs] io_uring: early submission req fail code (Jeff Moyer) [1784478] - [fs] io_uring: track mm through current->mm (Jeff Moyer) [1784478] - [fs] io_uring: remove obsolete @mm_fault (Jeff Moyer) [1784478] - [fs] io_uring: punt final io_ring_ctx wait-and-free to workqueue (Jeff Moyer) [1784478] - [fs] io_uring: fix fs cleanup on cqe overflow (Jeff Moyer) [1784478] - [fs] io_uring: don't read user-shared sqe flags twice (Jeff Moyer) [1784478] - [fs] io_uring: remove req init from io_get_req() (Jeff Moyer) [1784478] - [fs] io_uring: alloc req only after getting sqe (Jeff Moyer) [1784478] - [fs] io_uring: simplify io_get_sqring (Jeff Moyer) [1784478] - [fs] io_uring: do not always copy iovec in io_req_map_rw() (Jeff Moyer) [1784478] - [fs] io_uring: ensure openat sets O_LARGEFILE if needed (Jeff Moyer) [1784478] - [fs] io_uring: initialize fixed_file_data lock (Jeff Moyer) [1784478] - [fs] io_uring: remove redundant variable pointer nxt and io_wq_assign_next call (Jeff Moyer) [1784478] - [fs] io_uring: fix ctx refcounting in io_submit_sqes() (Jeff Moyer) [1784478] - [fs] io_uring: process requests completed with -EAGAIN on poll list (Jeff Moyer) [1784478] - [fs] io_uring: remove bogus RLIMIT_NOFILE check in file registration (Jeff Moyer) [1784478] - [fs] io_uring: use io-wq manager as backup task if task is exiting (Jeff Moyer) [1784478] - [fs] io_uring: grab task reference for poll requests (Jeff Moyer) [1784478] - [fs] io_uring: retry poll if we got woken with non-matching mask (Jeff Moyer) [1784478] - [fs] io_uring: add missing finish_wait() in io_sq_thread() (Jeff Moyer) [1784478] - [fs] io_uring: refactor file register/unregister/update handling (Jeff Moyer) [1784478] - [fs] io_uring: cleanup io_alloc_async_ctx() (Jeff Moyer) [1784478] - [fs] io_uring: fix missing 'return' in comment (Jeff Moyer) [1784478] - [fs] io-wq: handle hashed writes in chains (Jeff Moyer) [1784478] - [fs] io-uring: drop 'free_pfile' in struct io_file_put (Jeff Moyer) [1784478] - [fs] io-uring: drop completion when removing file (Jeff Moyer) [1784478] - [fs] io_uring: Fix ->data corruption on re-enqueue (Jeff Moyer) [1784478] - [fs] io-wq: close cancel gap for hashed linked work (Jeff Moyer) [1784478] - [uapi] io_uring: make spdxcheck.py happy (Jeff Moyer) [1784478] - [fs] io_uring: honor original task RLIMIT_FSIZE (Jeff Moyer) [1784478] - [fs] io_uring: make sure accept honor rlimit nofile (Jeff Moyer) [1784478] - [fs] io_uring: make sure openat/openat2 honor rlimit nofile (Jeff Moyer) [1784478] - [fs] io-wq: hash dependent work (Jeff Moyer) [1784478] - [fs] io-wq: split hashing and enqueueing (Jeff Moyer) [1784478] - [fs] io-wq: don't resched if there is no work (Jeff Moyer) [1784478] - [fs] io_uring: NULL-deref for IOSQE_{ASYNC,DRAIN} (Jeff Moyer) [1784478] - [fs] io-wq: remove duplicated cancel code (Jeff Moyer) [1784478] - [fs] io_uring: fix truncated async read/readv and write/writev retry (Jeff Moyer) [1784478] - [uapi] io_uring: dual license io_uring.h uapi header (Jeff Moyer) [1784478] - [fs] io_uring: io_uring_enter(2) don't poll while SETUP_IOPOLL|SETUP_SQPOLL enabled (Jeff Moyer) [1784478] - [fs] io_uring: Fix unused function warnings (Jeff Moyer) [1784478] - [fs] io_uring: add end-of-bits marker and build time verify it (Jeff Moyer) [1784478] - [fs] io_uring: provide means of removing buffers (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_RECVMSG (Jeff Moyer) [1784478] - [net] net: abstract out normal and compat msghdr import (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_READV (Jeff Moyer) [1784478] - [fs] io_uring: support buffer selection for OP_READ and OP_RECV (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_PROVIDE_BUFFERS (Jeff Moyer) [1784478] - [fs] io_uring: ensure RCU callback ordering with rcu_barrier() (Jeff Moyer) [1784478] - [fs] io_uring: fix lockup with timeouts (Jeff Moyer) [1784478] - [fs] io_uring: free fixed_file_data after RCU grace period (Jeff Moyer) [1784478] - [fs] io_uring: buffer registration infrastructure (Jeff Moyer) [1784478] - [fs] io_uring/io-wq: forward submission ref to async (Jeff Moyer) [1784478] - [fs] io-wq: optimise out *next_work() double lock (Jeff Moyer) [1784478] - [fs] io-wq: optimise locking in io_worker_handle_work() (Jeff Moyer) [1784478] - [fs] io-wq: shuffle io_worker_handle_work() code (Jeff Moyer) [1784478] - [fs] io_uring: get next work with submission ref drop (Jeff Moyer) [1784478] - [fs] io_uring: remove @nxt from handlers (Jeff Moyer) [1784478] - [fs] io_uring: make submission ref putting consistent (Jeff Moyer) [1784478] - [fs] io_uring: clean up io_close (Jeff Moyer) [1784478] - [fs] io_uring: Ensure mask is initialized in io_arm_poll_handler (Jeff Moyer) [1784478] - [fs] io_uring: remove io_prep_next_work() (Jeff Moyer) [1784478] - [fs] io_uring: remove extra nxt check after punt (Jeff Moyer) [1784478] - [fs] io_uring: use poll driven retry for files that support it (Jeff Moyer) [1784478] - [fs] io_uring: mark requests that we can do poll async in io_op_defs (Jeff Moyer) [1784478] - [fs] io_uring: add per-task callback handler (Jeff Moyer) [1784478] - [fs] io_uring: store io_kiocb in wait->private (Jeff Moyer) [1784478] - [fs] io-wq: use BIT for ulong hash (Jeff Moyer) [1784478] - [fs] io_uring: remove IO_WQ_WORK_CB (Jeff Moyer) [1784478] - [fs] io-wq: remove unused IO_WQ_WORK_HAS_MM (Jeff Moyer) [1784478] - [fs] io_uring: extract kmsg copy helper (Jeff Moyer) [1784478] - [fs] io_uring: clean io_poll_complete (Jeff Moyer) [1784478] - [fs] io_uring: add splice(2) support (Jeff Moyer) [1784478] - [fs] io_uring: add interface for getting files (Jeff Moyer) [1784478] - [fs] splice: make do_splice public (Jeff Moyer) [1784478] - [fs] io_uring: remove req->in_async (Jeff Moyer) [1784478] - [fs] io_uring: don't do full *prep_worker() from io-wq (Jeff Moyer) [1784478] - [fs] io_uring: don't call work.func from sync ctx (Jeff Moyer) [1784478] - [fs] io_uring: io_accept() should hold on to submit reference on retry (Jeff Moyer) [1784478] - [fs] io_uring: consider any io_read/write -EAGAIN as final (Jeff Moyer) [1784478] - [fs] io-wq: remove io_wq_flush and IO_WQ_WORK_INTERNAL (Jeff Moyer) [1784478] - [fs] io-wq: fix IO_WQ_WORK_NO_CANCEL cancellation (Jeff Moyer) [1784478] - [fs] io_uring: fix 32-bit compatability with sendmsg/recvmsg (Jeff Moyer) [1784478] - [fs] io_uring: define and set show_fdinfo only if procfs is enabled (Jeff Moyer) [1784478] - [fs] io_uring: drop file set ref put/get on switch (Jeff Moyer) [1784478] - [fs] io_uring: import_single_range() returns 0/-ERROR (Jeff Moyer) [1784478] - [fs] io_uring: pick up link work on submit reference drop (Jeff Moyer) [1784478] - [fs] io-wq: ensure work->task_pid is cleared on init (Jeff Moyer) [1784478] - [fs] io-wq: remove spin-for-work optimization (Jeff Moyer) [1784478] - [fs] io_uring: fix poll_list race for SETUP_IOPOLL|SETUP_SQPOLL (Jeff Moyer) [1784478] - [fs] io_uring: fix personality idr leak (Jeff Moyer) [1784478] - [fs] io_uring: handle multiple personalities in link chains (Jeff Moyer) [1784478] - [fs] io_uring: fix __io_iopoll_check deadlock in io_sq_thread (Jeff Moyer) [1784478] - [fs] io_uring: prevent sq_thread from spinning when it should stop (Jeff Moyer) [1784478] - [fs] io_uring: fix use-after-free by io_cleanup_req() (Jeff Moyer) [1784478] - [fs] io_uring: remove unnecessary NULL checks (Jeff Moyer) [1784478] - [fs] io_uring: add missing io_req_cancelled() (Jeff Moyer) [1784478] - [fs] io_uring: prune request from overflow list on flush (Jeff Moyer) [1784478] - [fs] io-wq: don't call kXalloc_node() with non-online node (Jeff Moyer) [1784478] - [fs] io_uring: retain sockaddr_storage across send/recvmsg async punt (Jeff Moyer) [1784478] - [fs] io_uring: cancel pending async work if task exits (Jeff Moyer) [1784478] - [fs] io-wq: add io_wq_cancel_pid() to cancel based on a specific pid (Jeff Moyer) [1784478] - [fs] io-wq: make io_wqe_cancel_work() take a match handler (Jeff Moyer) [1784478] - [fs] io_uring: fix openat/statx's filename leak (Jeff Moyer) [1784478] - [fs] io_uring: fix double prep iovec leak (Jeff Moyer) [1784478] - [fs] io_uring: fix async close() with f_op->flush() (Jeff Moyer) [1784478] - [fs] io_uring: allow AT_FDCWD for non-file openat/openat2/statx (Jeff Moyer) [1784478] - [fs] io_uring: grab ->fs as part of async preparation (Jeff Moyer) [1784478] - [fs] io-wq: add support for inheriting ->fs (Jeff Moyer) [1784478] - [fs] io_uring: retry raw bdev writes if we hit -EOPNOTSUPP (Jeff Moyer) [1784478] - [fs] io_uring: add cleanup for openat()/statx() (Jeff Moyer) [1784478] - [fs] io_uring: fix iovec leaks (Jeff Moyer) [1784478] - [fs] io_uring: remove unused struct io_async_open (Jeff Moyer) [1784478] - [fs] io_uring: flush overflowed CQ events in the io_uring_poll() (Jeff Moyer) [1784478] - [fs] io_uring: statx/openat/openat2 don't support fixed files (Jeff Moyer) [1784478] - [fs] io_uring: fix deferred req iovec leak (Jeff Moyer) [1784478] - [fs] io_uring: fix 1-bit bitfields to be unsigned (Jeff Moyer) [1784478] - [fs] io_uring: get rid of delayed mm check (Jeff Moyer) [1784478] - [fs] io_uring: cleanup fixed file data table references (Jeff Moyer) [1784478] - [fs] io_uring: spin for sq thread to idle on shutdown (Jeff Moyer) [1784478] - [fs] io_uring: put the flag changing code in the same spot (Jeff Moyer) [1784478] - [fs] io_uring: iterate req cache backwards (Jeff Moyer) [1784478] - [fs] io_uring: punt even fadvise() WILLNEED to async context (Jeff Moyer) [1784478] - [fs] io_uring: fix sporadic double CQE entry for close (Jeff Moyer) [1784478] - [fs] io_uring: remove extra ->file check (Jeff Moyer) [1784478] - [fs] io_uring: don't map read/write iovec potentially twice (Jeff Moyer) [1784478] - [fs] io_uring: use the proper helpers for io_send/recv (Jeff Moyer) [1784478] - [fs] io_uring: prevent potential eventfd recursion on poll (Jeff Moyer) [1784478] - [fs] eventfd: track eventfd_signal() recursion depth (Jeff Moyer) [1784478] - [fs] io_uring: add BUILD_BUG_ON() to assert the layout of struct io_uring_sqe (Jeff Moyer) [1784478] - [fs] io_uring: add ->show_fdinfo() for the io_uring file descriptor (Jeff Moyer) [1784478] - [fs] io_uring: add support for epoll_ctl(2) (Jeff Moyer) [1784478] - [fs] eventpoll: support non-blocking do_epoll_ctl() calls (Jeff Moyer) [1784478] - [fs] eventpoll: abstract out epoll_ctl() handler (Jeff Moyer) [1784478] - [fs] io_uring: fix linked command file table usage (Jeff Moyer) [1784478] - [fs] io_uring: support using a registered personality for commands (Jeff Moyer) [1784478] - [fs] io_uring: allow registering credentials (Jeff Moyer) [1784478] - [fs] io_uring: add io-wq workqueue sharing (Jeff Moyer) [1784478] - [fs] io-wq: allow grabbing existing io-wq (Jeff Moyer) [1784478] - [fs] io_uring/io-wq: don't use static creds/mm assignments (Jeff Moyer) [1784478] - [fs] io-wq: make the io_wq ref counted (Jeff Moyer) [1784478] - [fs] io_uring: fix refcounting with batched allocations at OOM (Jeff Moyer) [1784478] - [fs] io_uring: add comment for drain_next (Jeff Moyer) [1784478] - [fs] io_uring: don't attempt to copy iovec for READ/WRITE (Jeff Moyer) [1784478] - [fs] io_uring: don't cancel all work on process exit (Jeff Moyer) [1784478] - [fs] Revert "io_uring: only allow submit from owning task" (Jeff Moyer) [1784478] - [fs] io_uring: honor IOSQE_ASYNC for linked reqs (Jeff Moyer) [1784478] - [fs] io_uring: prep req when do IOSQE_ASYNC (Jeff Moyer) [1784478] - [fs] io_uring: use labeled array init in io_op_defs (Jeff Moyer) [1784478] - [fs] io_uring: optimise sqe-to-req flags translation (Jeff Moyer) [1784478] - [fs] io_uring: remove REQ_F_IO_DRAINED (Jeff Moyer) [1784478] - [fs] io_uring: file switch work needs to get flushed on exit (Jeff Moyer) [1784478] - [fs] io_uring: hide uring_fd in ctx (Jeff Moyer) [1784478] - [fs] io_uring: remove extra check in __io_commit_cqring (Jeff Moyer) [1784478] - [fs] io_uring: optimise use of ctx->drain_next (Jeff Moyer) [1784478] - [fs] RHEL-only: Add IORING_OP_OPENAT2 opcode (Jeff Moyer) [1784478] - [fs] io_uring: add support for probing opcodes (Jeff Moyer) [1784478] - [fs] io_uring: account fixed file references correctly in batch (Jeff Moyer) [1784478] - [fs] io_uring: add opcode to issue trace event (Jeff Moyer) [1784478] - [fs] io_uring: enable option to only trigger eventfd for async completions (Jeff Moyer) [1784478] - [fs] io_uring: change io_ring_ctx bool fields into bit fields (Jeff Moyer) [1784478] - [fs] io_uring: file set registration should use interruptible waits (Jeff Moyer) [1784478] - [fs] io_uring: Remove unnecessary null check (Jeff Moyer) [1784478] - [fs] io_uring: add support for send(2) and recv(2) (Jeff Moyer) [1784478] - [fs] io_uring: remove extra io_wq_current_is_worker() (Jeff Moyer) [1784478] - [fs] io_uring: optimise commit_sqring() for common case (Jeff Moyer) [1784478] - [fs] io_uring: optimise head checks in io_get_sqring() (Jeff Moyer) [1784478] - [fs] io_uring: clamp to_submit in io_submit_sqes() (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_SETUP_CLAMP (Jeff Moyer) [1784478] - [fs] io_uring: extend batch freeing to cover more cases (Jeff Moyer) [1784478] - [fs] io_uring: wrap multi-req freeing in struct req_batch (Jeff Moyer) [1784478] - [fs] io_uring: batch getting pcpu references (Jeff Moyer) [1784478] - [include] pcpu_ref: add percpu_ref_tryget_many() (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_MADVISE (Jeff Moyer) [1784478] - [mm] mm: make do_madvise() available internally (Jeff Moyer) [1784478] - [fs] io_uring: add IORING_OP_FADVISE (Jeff Moyer) [1784478] - [fs] io_uring: allow use of offset == -1 to mean file position (Jeff Moyer) [1784478] - [fs] io_uring: add non-vectored read/write commands (Jeff Moyer) [1784478] - [fs] io_uring: improve poll completion performance (Jeff Moyer) [1784478] - [fs] io_uring: split overflow state into SQ and CQ side (Jeff Moyer) [1784478] - [fs] io_uring: add lookup table for various opcode needs (Jeff Moyer) [1784478] - [fs] io_uring: remove two unnecessary function declarations (Jeff Moyer) [1784478] - [fs] io_uring: move *queue_link_head() from common path (Jeff Moyer) [1784478] - [fs] io_uring: rename prev to head (Jeff Moyer) [1784478] - [fs] io_uring: add IOSQE_ASYNC (Jeff Moyer) [1784478] - [fs] io-wq: support concurrent non-blocking work (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_STATX (Jeff Moyer) [1784478] - [fs] fs: make two stat prep helpers available (Jeff Moyer) [1784478] - [fs] io_uring: avoid ring quiesce for fixed file set unregister and update (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_CLOSE (Jeff Moyer) [1784478] - [fs] io-wq: add support for uncancellable work (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_OPENAT (Jeff Moyer) [1784478] - [fs] fs: make build_open_flags() available internally (Jeff Moyer) [1784478] - [fs] io_uring: add support for fallocate() (Jeff Moyer) [1784478] - [fs] io_uring: fix compat for IORING_REGISTER_FILES_UPDATE (Jeff Moyer) [1784478] - [fs] io_uring: only allow submit from owning task (Jeff Moyer) [1784478] - [fs] io_uring: ensure workqueue offload grabs ring mutex for poll list (Jeff Moyer) [1784478] - [fs] io_uring: clear req->result always before issuing a read/write request (Jeff Moyer) [1784478] - [fs] io_uring: be consistent in assigning next work from handler (Jeff Moyer) [1784478] - [fs] io-wq: cancel work if we fail getting a mm reference (Jeff Moyer) [1784478] - [fs] io_uring: don't setup async context for read/write fixed (Jeff Moyer) [1784478] - [fs] io_uring: remove punt of short reads to async context (Jeff Moyer) [1784478] - [fs] io-wq: add cond_resched() to worker thread (Jeff Moyer) [1784478] - [fs] io-wq: remove unused busy list from io_sqe (Jeff Moyer) [1784478] - [fs] io_uring: pass in 'sqe' to the prep handlers (Jeff Moyer) [1784478] - [fs] io_uring: standardize the prep methods (Jeff Moyer) [1784478] - [fs] io_uring: read 'count' for IORING_OP_TIMEOUT in prep handler (Jeff Moyer) [1784478] - [fs] io_uring: move all prep state for IORING_OP_{SEND, RECV}_MGS to prep handler (Jeff Moyer) [1784478] - [fs] io_uring: move all prep state for IORING_OP_CONNECT to prep handler (Jeff Moyer) [1784478] - [fs] io_uring: add and use struct io_rw for read/writes (Jeff Moyer) [1784478] - [fs] io_uring: use u64_to_user_ptr() consistently (Jeff Moyer) [1784478] - [fs] io_uring: io_wq_submit_work() should not touch req->rw (Jeff Moyer) [1784478] - [fs] io_uring: don't wait when under-submitting (Jeff Moyer) [1784478] - [fs] io_uring: warn about unhandled opcode (Jeff Moyer) [1784478] - [fs] io_uring: read opcode and user_data from SQE exactly once (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_OP_TIMEOUT_REMOVE deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_OP_CANCEL_ASYNC deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make IORING_POLL_ADD and IORING_POLL_REMOVE deferrable (Jeff Moyer) [1784478] - [fs] io_uring: make HARDLINK imply LINK (Jeff Moyer) [1784478] - [fs] io_uring: any deferred command must have stable sqe data (Jeff Moyer) [1784478] - [fs] io_uring: remove 'sqe' parameter to the OP helpers that take it (Jeff Moyer) [1784478] - [fs] io_uring: fix pre-prepped issue with force_nonblock == true (Jeff Moyer) [1784478] - [fs] io-wq: re-add io_wq_current_is_worker() (Jeff Moyer) [1784478] - [fs] io_uring: fix sporadic -EFAULT from IORING_OP_RECVMSG (Jeff Moyer) [1784478] - [fs] io_uring: fix stale comment and a few typos (Jeff Moyer) [1784478] - [fs] io_uring: ensure we return -EINVAL on unknown opcode (Jeff Moyer) [1784478] - [fs] io_uring: add sockets to list of files that support non-blocking issue (Jeff Moyer) [1784478] - [net] net: make socket read/write_iter() honor IOCB_NOWAIT (Jeff Moyer) [1784478] - [fs] io_uring: only hash regular files for async work execution (Jeff Moyer) [1784478] - [fs] io_uring: run next sqe inline if possible (Jeff Moyer) [1784478] - [fs] io_uring: don't dynamically allocate poll data (Jeff Moyer) [1784478] - [fs] io_uring: deferred send/recvmsg should assign iov (Jeff Moyer) [1784478] - [fs] io_uring: sqthread should grab ctx->uring_lock for submissions (Jeff Moyer) [1784478] - [fs] io-wq: briefly spin for new work after finishing work (Jeff Moyer) [1784478] - [fs] io-wq: remove worker->wait waitqueue (Jeff Moyer) [1784478] - [fs] io_uring: allow unbreakable links (Jeff Moyer) [1784478] - [fs] io_uring: fix a typo in a comment (Jeff Moyer) [1784478] - [fs] io_uring: hook all linked requests via link_list (Jeff Moyer) [1784478] - [fs] io_uring: fix error handling in io_queue_link_head (Jeff Moyer) [1784478] - [fs] io_uring: use hash table for poll command lookups (Jeff Moyer) [1784478] - [fs] io-wq: clear node->next on list deletion (Jeff Moyer) [1784478] - [fs] io_uring: ensure deferred timeouts copy necessary data (Jeff Moyer) [1784478] - [fs] io_uring: allow IO_SQE_* flags on IORING_OP_TIMEOUT (Jeff Moyer) [1784478] - [fs] io_uring: handle connect -EINPROGRESS like -EAGAIN (Jeff Moyer) [1784478] - [fs] io_uring: remove io_wq_current_is_worker (Jeff Moyer) [1784478] - [fs] io_uring: remove parameter ctx of io_submit_state_start (Jeff Moyer) [1784478] - [fs] io_uring: mark us with IORING_FEAT_SUBMIT_STABLE (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted connect requests copy data (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted sendmsg/recvmsg requests copy data (Jeff Moyer) [1784478] - [fs] io_uring: ensure async punted read/write requests copy iovec (Jeff Moyer) [1784478] - [fs] io_uring: add general async offload context (Jeff Moyer) [1784478] - [fs] io_uring: transform send/recvmsg() -ERESTARTSYS to -EINTR (Jeff Moyer) [1784478] - [fs] io_uring: use current task creds instead of allocating a new one (Jeff Moyer) [1784478] - [fs] io_uring: fix missing kmap() declaration on powerpc (Jeff Moyer) [1784478] - [fs] io_uring: add mapping support for NOMMU archs (Jeff Moyer) [1784478] - [fs] io_uring: make poll->wait dynamically allocated (Jeff Moyer) [1784478] - [fs] io-wq: shrink io_wq_work a bit (Jeff Moyer) [1784478] - [fs] io-wq: fix handling of NUMA node IDs (Jeff Moyer) [1784478] - [fs] io_uring: use kzalloc instead of kcalloc for single-element allocations (Jeff Moyer) [1784478] - [fs] io_uring: cleanup io_import_fixed() (Jeff Moyer) [1784478] - [fs] io_uring: inline struct sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: store timeout's sqe->off in proper place (Jeff Moyer) [1784478] - [net] net: disallow ancillary data for __sys_{send, recv}msg_file() (Jeff Moyer) [1784478] - [net] net: separate out the msghdr copy from ___sys_{send, recv}msg() (Jeff Moyer) [1784478] - [fs] io_uring: remove superfluous check for sqe->off in io_accept() (Jeff Moyer) [1784478] - [fs] io_uring: async workers should inherit the user creds (Jeff Moyer) [1784478] - [fs] io-wq: have io_wq_create() take a 'data' argument (Jeff Moyer) [1784478] - [fs] io_uring: fix dead-hung for non-iter fixed rw (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_CONNECT (Jeff Moyer) [1784478] - [net] net: add __sys_connect_file() helper (Jeff Moyer) [1784478] - [fs] io_uring: only return -EBUSY for submit on non-flushed backlog (Jeff Moyer) [1784478] - [fs] io_uring: only !null ptr to io_issue_sqe() (Jeff Moyer) [1784478] - [fs] io_uring: simplify io_req_link_next() (Jeff Moyer) [1784478] - [fs] io_uring: pass only !null to io_req_find_next() (Jeff Moyer) [1784478] - [fs] io_uring: remove io_free_req_find_next() (Jeff Moyer) [1784478] - [fs] io_uring: add likely/unlikely in io_get_sqring() (Jeff Moyer) [1784478] - [fs] io_uring: rename __io_submit_sqe() (Jeff Moyer) [1784478] - [fs] io_uring: improve trace_io_uring_defer() trace point (Jeff Moyer) [1784478] - [fs] io_uring: drain next sqe instead of shadowing (Jeff Moyer) [1784478] - [fs] io_uring: close lookup gap for dependent next work (Jeff Moyer) [1784478] - [fs] io_uring: allow finding next link independent of req reference count (Jeff Moyer) [1784478] - [fs] io_uring: io_allocate_scq_urings() should return a sane state (Jeff Moyer) [1784478] - [fs] io_uring: Always REQ_F_FREE_SQE for allocated sqe (Jeff Moyer) [1784478] - [fs] io_uring: io_fail_links() should only consider first linked timeout (Jeff Moyer) [1784478] - [fs] io_uring: Fix leaking linked timeouts (Jeff Moyer) [1784478] - [fs] io_uring: remove redundant check (Jeff Moyer) [1784478] - [fs] io_uring: break links for failed defer (Jeff Moyer) [1784478] - [fs] io-wq: remove extra space characters (Jeff Moyer) [1784478] - [fs] io-wq: wait for io_wq_create() to setup necessary workers (Jeff Moyer) [1784478] - [fs] io_uring: request cancellations should break links (Jeff Moyer) [1784478] - [fs] io_uring: correct poll cancel and linked timeout expiration completion (Jeff Moyer) [1784478] - [fs] io_uring: remove dead REQ_F_SEQ_PREV flag (Jeff Moyer) [1784478] - [fs] io_uring: fix sequencing issues with linked timeouts (Jeff Moyer) [1784478] - [fs] io_uring: make req->timeout be dynamically allocated (Jeff Moyer) [1784478] - [fs] io_uring: make io_double_put_req() use normal completion path (Jeff Moyer) [1784478] - [fs] io_uring: cleanup return values from the queueing functions (Jeff Moyer) [1784478] - [fs] io_uring: io_async_cancel() should pass in 'nxt' request pointer (Jeff Moyer) [1784478] - [fs] io_uring: make POLL_ADD/POLL_REMOVE scale better (Jeff Moyer) [1784478] - [fs] io-wq: remove now redundant struct io_wq_nulls_list (Jeff Moyer) [1784478] - [fs] io_uring: Fix getting file for non-fd opcodes (Jeff Moyer) [1784478] - [fs] io_uring: introduce req_need_defer() (Jeff Moyer) [1784478] - [fs] io_uring: clean up io_uring_cancel_files() (Jeff Moyer) [1784478] - [fs] io-wq: ensure free/busy list browsing see all items (Jeff Moyer) [1784478] - [fs] io_uring: ensure registered buffer import returns the IO length (Jeff Moyer) [1784478] - [fs] io_uring: Fix getting file for timeout (Jeff Moyer) [1784478] - [fs] io-wq: ensure we have a stable view of ->cur_work for cancellations (Jeff Moyer) [1784478] - [fs] io_wq: add get/put_work handlers to io_wq_create() (Jeff Moyer) [1784478] - [fs] io_uring: check for validity of ->rings in teardown (Jeff Moyer) [1784478] - [fs] io_uring: fix potential deadlock in io_poll_wake() (Jeff Moyer) [1784478] - [fs] io_uring: use correct "is IO worker" helper (Jeff Moyer) [1784478] - [fs] io_uring: make timeout sequence == 0 mean no sequence (Jeff Moyer) [1784478] - [fs] io_uring: fix -ENOENT issue with linked timer with short timeout (Jeff Moyer) [1784478] - [fs] io_uring: don't do flush cancel under inflight_lock (Jeff Moyer) [1784478] - [fs] io_uring: flag SQPOLL busy condition to userspace (Jeff Moyer) [1784478] - [fs] io_uring: make ASYNC_CANCEL work with poll and timeout (Jeff Moyer) [1784478] - [fs] io_uring: provide fallback request for OOM situations (Jeff Moyer) [1784478] - [fs] io_uring: convert accept4() -ERESTARTSYS into -EINTR (Jeff Moyer) [1784478] - [fs] io_uring: fix error clear of ->file_table in io_sqe_files_register() (Jeff Moyer) [1784478] - [fs] io_uring: separate the io_free_req and io_free_req_find_next interface (Jeff Moyer) [1784478] - [fs] io_uring: keep io_put_req only responsible for release and put req (Jeff Moyer) [1784478] - [fs] io_uring: remove passed in 'ctx' function parameter ctx if possible (Jeff Moyer) [1784478] - [fs] io_uring: reduce/pack size of io_ring_ctx (Jeff Moyer) [1784478] - [fs] io_uring: properly mark async work as bounded vs unbounded (Jeff Moyer) [1784478] - [fs] io-wq: add support for bounded vs unbunded work (Jeff Moyer) [1784478] - [fs] io-wq: io_wqe_run_queue() doesn't need to use list_empty_careful() (Jeff Moyer) [1784478] - [fs] io_uring: add support for backlogged CQ ring (Jeff Moyer) [1784478] - [fs] io_uring: pass in io_kiocb to fill/add CQ handlers (Jeff Moyer) [1784478] - [fs] io_uring: make io_cqring_events() take 'ctx' as argument (Jeff Moyer) [1784478] - [fs] io_uring: add support for linked SQE timeouts (Jeff Moyer) [1784478] - [fs] io_uring: abstract out io_async_cancel_one() helper (Jeff Moyer) [1784478] - [fs] io_uring: use inlined struct sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: Use submit info inlined into req (Jeff Moyer) [1784478] - [fs] io_uring: allocate io_kiocb upfront (Jeff Moyer) [1784478] - [fs] io_uring: io_queue_link*() right after submit (Jeff Moyer) [1784478] - [fs] io_uring: Merge io_submit_sqes and io_ring_submit (Jeff Moyer) [1784478] - [fs] io_uring: kill dead REQ_F_LINK_DONE flag (Jeff Moyer) [1784478] - [fs] io_uring: fixup a few spots where link failure isn't flagged (Jeff Moyer) [1784478] - [fs] io_uring: enable optimized link handling for IORING_OP_POLL_ADD (Jeff Moyer) [1784478] - [fs] io-wq: use proper nesting IRQ disabling spinlocks for cancel (Jeff Moyer) [1784478] - [fs] io_uring: add completion trace event (Jeff Moyer) [1784478] - [fs] io-wq: use kfree_rcu() to simplify the code (Jeff Moyer) [1784478] - [fs] io_uring: set -EINTR directly when a signal wakes up in io_cqring_wait (Jeff Moyer) [1784478] - [fs] io_uring: support for generic async request cancel (Jeff Moyer) [1784478] - [fs] io_uring: ensure we clear io_kiocb->result before each issue (Jeff Moyer) [1784478] - [fs] io_uring: io_wq_create() returns an error pointer, not NULL (Jeff Moyer) [1784478] - [fs] io_uring: fix race with canceling timeouts (Jeff Moyer) [1784478] - [fs] io_uring: support for larger fixed file sets (Jeff Moyer) [1784478] - [fs] io_uring: protect fixed file indexing with array_index_nospec() (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_OP_ACCEPT (Jeff Moyer) [1784478] - [net] net: add __sys_accept4_file() helper (Jeff Moyer) [1784478] - [fs] io_uring: io_uring: add support for async work inheriting files (Jeff Moyer) [1784478] - [fs] io_uring: replace workqueue usage with io-wq (Jeff Moyer) [1784478] - [fs] io-wq: small threadpool implementation for io_uring (Jeff Moyer) [1784478] - [fs] io_uring: Fix mm_fault with READ/WRITE_FIXED (Jeff Moyer) [1784478] - [fs] io_uring: remove index from sqe_submit (Jeff Moyer) [1784478] - [fs] io_uring: add set of tracing events (Jeff Moyer) [1784478] - [fs] io_uring: add support for canceling timeout requests (Jeff Moyer) [1784478] - [fs] io_uring: add support for absolute timeouts (Jeff Moyer) [1784478] - [fs] io_uring: replace s->needs_lock with s->in_async (Jeff Moyer) [1784478] - [fs] io_uring: allow application controlled CQ ring size (Jeff Moyer) [1784478] - [fs] io_uring: add support for IORING_REGISTER_FILES_UPDATE (Jeff Moyer) [1784478] - [fs] io_uring: allow sparse fixed file sets (Jeff Moyer) [1784478] - [fs] io_uring: run dependent links inline if possible (Jeff Moyer) [1784478] - [fs] io_uring: don't touch ctx in setup after ring fd install (Jeff Moyer) [1784478] - [fs] io_uring: Fix leaked shadow_req (Jeff Moyer) [1784478] - [fs] io_uring: fix bad inflight accounting for SETUP_IOPOLL|SETUP_SQTHREAD (Jeff Moyer) [1784478] - [fs] io_uring: used cached copies of sq->dropped and cq->overflow (Jeff Moyer) [1784478] - [fs] io_uring: Fix race for sqes with userspace (Jeff Moyer) [1784478] - [fs] io_uring: Fix broken links with offloading (Jeff Moyer) [1784478] - [fs] io_uring: Fix corrupted user_data (Jeff Moyer) [1784478] - [fs] io_uring: correct timeout req sequence when inserting a new entry (Jeff Moyer) [1784478] - [fs] io_uring : correct timeout req sequence when waiting timeout (Jeff Moyer) [1784478] - [fs] io_uring: revert "io_uring: optimize submit_and_wait API" (Jeff Moyer) [1784478] - [fs] io_uring: fix logic error in io_timeout (Jeff Moyer) [1784478] - [fs] io_uring: fix up O_NONBLOCK handling for sockets (Jeff Moyer) [1784478] - [fs] io_uring: consider the overflow of sequence for timeout req (Jeff Moyer) [1784478] - [fs] io_uring: fix sequence logic for timeout requests (Jeff Moyer) [1784478] - [fs] io_uring: only flush workqueues on fileset removal (Jeff Moyer) [1784478] - [fs] io_uring: remove wait loop spurious wakeups (Jeff Moyer) [1784478] - [fs] io_uring: fix reversed nonblock flag for link submission (Jeff Moyer) [1784478] - [fs] io_uring: use __kernel_timespec in timeout ABI (Jeff Moyer) [1784478] - [fs] io_uring: make CQ ring wakeups be more efficient (Jeff Moyer) [1784478] - [fs] io_uring: compare cached_cq_tail with cq.head in_io_uring_poll (Jeff Moyer) [1784478] - [fs] io_uring: correctly handle non ->{read, write}_iter() file_operations (Jeff Moyer) [1784478] - [fs] io_uring: IORING_OP_TIMEOUT support (Jeff Moyer) [1784478] - [fs] io_uring: use cond_resched() in sqthread (Jeff Moyer) [1784478] - [fs] io_uring: fix potential crash issue due to io_get_req failure (Jeff Moyer) [1784478] - [fs] io_uring: ensure poll commands clear ->sqe (Jeff Moyer) [1784478] - [fs] io_uring: fix use-after-free of shadow_req (Jeff Moyer) [1784478] - [fs] io_uring: use kmemdup instead of kmalloc and memcpy (Jeff Moyer) [1784478] - [fs] io_uring: increase IORING_MAX_ENTRIES to 32K (Jeff Moyer) [1784478] - [fs] io_uring: make sqpoll wakeup possible with getevents (Jeff Moyer) [1784478] - [fs] io_uring: extend async work merging (Jeff Moyer) [1784478] - [fs] io_uring: limit parallelism of buffered writes (Jeff Moyer) [1784478] - [fs] io_uring: add io_queue_async_work() helper (Jeff Moyer) [1784478] - [fs] io_uring: optimize submit_and_wait API (Jeff Moyer) [1784478] - [fs] io_uring: add support for link with drain (Jeff Moyer) [1784478] - [fs] io_uring: fix wrong sequence setting logic (Jeff Moyer) [1784478] - [fs] io_uring: expose single mmap capability (Jeff Moyer) [1784478] - [fs] io_uring: allocate the two rings together (Jeff Moyer) [1784478] - [lib] percpu_ref: release percpu memory early without PERCPU_REF_ALLOW_REINIT (Jeff Moyer) [1784478] - [fs] io_uring: initialize percpu refcounters using PERCU_REF_ALLOW_REINIT (Jeff Moyer) [1784478] - [include] percpu_ref: introduce PERCPU_REF_ALLOW_REINIT flag (Jeff Moyer) [1784478] - [fs] binder: fix use-after-free due to ksys_close() during fdget() (Jeff Moyer) [1784478] - [init] RHEL-only: Enable io_uring for x86 builds (Jeff Moyer) [1784478] - [arm64] compat: ARM64: always include asm-generic/compat.h (Jeff Moyer) [1784478] - [include] asm-generic: Move common compat types to asm-generic/compat.h (Jeff Moyer) [1784478]- [fs] coredump: fix crash when umh is disabled (Yauheni Kaliuta) [1845114] - [kernel] umh: fix memory leak on execve failure (Yauheni Kaliuta) [1845114] - [net] bpf: Replace zero-length array with flexible-array member (Yauheni Kaliuta) [1845114] - [net] bpf: Fix returned error sign when link doesn't support updates (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Don't attach programs to UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: cgroup: Allow multi-attach program to replace itself (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: use struct timespec instead of __kernel_timespec (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix bpf_link leak in ns_current_pid_tgid selftest (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix test_align verifier log patterns (Yauheni Kaliuta) [1845114] - [net] bpf, cgroup: Return ENOLINK for auto-detached links on update (Yauheni Kaliuta) [1845114] - [net] bpf: Refactor bpf_link update handling (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Add a verifier test for assigning 32bit reg states to 64bit ones (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Verifier bounds tests need to be updated (Yauheni Kaliuta) [1845114] - [net] bpf: Fix a verifier issue when assigning 32bit reg states to 64bit ones (Yauheni Kaliuta) [1845114] - [net] bpf: Fix use-after-free in fmod_ret check (Yauheni Kaliuta) [1845114] - [net] flow_dissector: Drop BPF flow dissector prog ref on netns cleanup (Yauheni Kaliuta) [1845114] - [tools] bpf: Prevent mmap()'ing read-only maps as writable (Yauheni Kaliuta) [1845114] - [net] bpf: Enforce returning 0 for fentry/fexit progs (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix register naming in PT_REGS s390 macros (Yauheni Kaliuta) [1845114] - [samples] samples: bpf: Fix build error (Yauheni Kaliuta) [1845114] - [net] bpf: Fix error return code in map_lookup_and_delete_elem() (Yauheni Kaliuta) [1845114] - [net] bpf: Fix sk_psock refcnt leak when receiving message (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Ensure own vmlinux.h is picked up first (Yauheni Kaliuta) [1845114] - [net] bpf: Make bpf_link_fops static (Yauheni Kaliuta) [1845114] - [tools] bpftool: Respect the -d option in struct_ops cmd (Yauheni Kaliuta) [1845114] - [net] bpf: Fix leak in LINK_UPDATE and enforce empty old_prog_fd (Yauheni Kaliuta) [1845114] - [tools] bpf: Fix reStructuredText markup (Yauheni Kaliuta) [1845114] - [tools] libbpf: Only check mode flags in get_xdp_id (Yauheni Kaliuta) [1845114] - [tools] bpf, selftests: Add test for BPF_STX BPF_B storing R10 (Yauheni Kaliuta) [1845114] - [x86] bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B (Yauheni Kaliuta) [1845114] - [net] bpf: Forbid XADD on spilled pointers for unprivileged users (Yauheni Kaliuta) [1845114] - [tools] libbpf: Always specify expected_attach_type on program load if supported (Yauheni Kaliuta) [1845114] - [net] bpf: remove unneeded conversion to bool in __mark_reg_unknown (Yauheni Kaliuta) [1845114] - [tools] tools, bpftool: Fix struct_ops command invalid pointer free (Yauheni Kaliuta) [1845114] - [net] bpf: Fix use of sk->sk_reuseport from sk_assign (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add test for bpf_get_link_xdp_id (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix bpf_get_link_xdp_id flags handling (Yauheni Kaliuta) [1845114] - [net] bpf: Fix a typo "inacitve" -> "inactive" (Yauheni Kaliuta) [1845114] - [tools] libbpf: Initialize *nl_pid so gcc 10 is happy (Yauheni Kaliuta) [1845114] - [tools] bpf, lsm: Fix the file_mprotect LSM test (Yauheni Kaliuta) [1845114] - [tools] bpf: Fix spelling mistake "arithmatic" -> "arithmetic" in test_verifier (Yauheni Kaliuta) [1845114] - [lib] kbuild, btf: Fix dependencies for DEBUG_INFO_BTF (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Test FD-based cgroup attachment (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add support for bpf_link-based cgroup attachment (Yauheni Kaliuta) [1845114] - [net] bpf: Implement bpf_prog replacement for an active bpf_cgroup_link (Yauheni Kaliuta) [1845114] - [net] bpf: Implement bpf_link-based cgroup BPF program attachment (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, add alu32 bounds tracking tests (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, #65 error message updates for trunc of boundary-cross (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, bpf_get_stack return value add <0 (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_progs, add test to catch retval refine error handling (Yauheni Kaliuta) [1845114] - [net] bpf: Verifier, refine 32bit bound in do_refine_retval_range (Yauheni Kaliuta) [1845114] - [include] bpf: Verifier, do explicit ALU32 bounds tracking (Yauheni Kaliuta) [1845114] - [net] bpf: Verifier, do_refine_retval_range may clamp umin to 0 incorrectly (Yauheni Kaliuta) [1845114] - [init] bpf, lsm: Make BPF_LSM depend on BPF_EVENTS (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Extend sk_assign tests for UDP (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Add test for sk_assign (Yauheni Kaliuta) [1845114] - [net] bpf: Don't refcount LISTEN sockets in sk_assign() (Yauheni Kaliuta) [1845114] - [net] net: Track socket refcounts in skb_steal_sock() (Yauheni Kaliuta) [1845114] - [net] bpf: Add socket assign support (Yauheni Kaliuta) [1845114] - [net] bpf: btf: Fix arg verification in btf_ctx_access() (Yauheni Kaliuta) [1845114] - [net] bpf: Simplify reg_set_min_max_inv handling (Yauheni Kaliuta) [1845114] - [documentation] bpf: lsm: Add Documentation (Yauheni Kaliuta) [1845114] - [tools] bpf: lsm: Add selftests for BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [tools] tools/libbpf: Add support for BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [net] bpf: lsm: Implement attach, detach and execution (Yauheni Kaliuta) [1845114] - [net] bpf: lsm: Provide attachment points for BPF LSM programs (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce BPF_PROG_TYPE_LSM (Yauheni Kaliuta) [1845114] - [tools] selftests: Add test for overriding global data value before load (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add setter for initial value for internal maps (Yauheni Kaliuta) [1845114] - [net] bpf, net: Fix build issue when net ns not configured (Yauheni Kaliuta) [1845114] - [net] bpf: Fix build warning regarding missing prototypes (Yauheni Kaliuta) [1845114] - [tools] libbpf, xsk: Init all ring members in xsk_umem__create and xsk_socket__create (Yauheni Kaliuta) [1845114] - [tools] bpf: Add selftest cases for ctx_or_null argument type (Yauheni Kaliuta) [1845114] - [net] bpf: Enable retrival of pid/tgid/comm from bpf cgroup hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Enable bpf cgroup hooks to retrieve cgroup v2 and ancestor id (Yauheni Kaliuta) [1845114] - [net] bpf: Allow to retrieve cgroup v1 classid from v2 hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Add netns cookie and enable it for bpf cgroup hooks (Yauheni Kaliuta) [1845114] - [net] bpf: Enable perf event rb output for bpf cgroup progs (Yauheni Kaliuta) [1845114] - [net] bpf: Enable retrieval of socket cookie for bind/post-bind hook (Yauheni Kaliuta) [1845114] - [net] bpf: Remove unused vairable 'bpf_xdp_link_lops' (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out attach_type to prog_type mapping for attach/detach (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out cgroup storages operations (Yauheni Kaliuta) [1845114] - [tools] bpf: Test_verifier, #70 error message updates for 32-bit right shift (Yauheni Kaliuta) [1845114] - [net] bpf: Verifer, adjust_scalar_min_max_vals to always call update_reg_bounds() (Yauheni Kaliuta) [1845114] - [net] bpf: Verifer, refactor adjust_scalar_min_max_vals (Yauheni Kaliuta) [1845114] - [tools] libbpf: Don't allocate 16M for log buffer by default (Yauheni Kaliuta) [1845114] - [tools] libbpf: Remove unused parameter `def` to get_map_field_int (Yauheni Kaliuta) [1845114] - [documentation] bpf: Document bpf_inspect drgn tool (Yauheni Kaliuta) [1845114] - [samples] samples, bpf: Refactor perf_event user program with libbpf bpf_link (Yauheni Kaliuta) [1845114] - [samples] samples, bpf: Move read_trace_pipe to trace_helpers (Yauheni Kaliuta) [1845114] - [tools] bpf: Add tests for bpf_sk_storage to bpf_tcp_ca (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_sk_storage support to bpf_tcp_ca (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix mix of tabs and spaces (Yauheni Kaliuta) [1845114] - [net] bpf, tcp: Make tcp_bpf_recvmsg static (Yauheni Kaliuta) [1845114] - [net] bpf, tcp: Fix unused function warnings (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add struct_ops support (Yauheni Kaliuta) [1845114] - [tools] bpftool: Translate prog_id to its bpf prog_name (Yauheni Kaliuta) [1845114] - [tools] bpftool: Print as a string for char array (Yauheni Kaliuta) [1845114] - [tools] bpftool: Print the enum's name instead of value (Yauheni Kaliuta) [1845114] - [tools] bpf, libbpf: Fix ___bpf_kretprobe_args1(x) macro definition (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Reset process and thread affinity after each test/sub-test (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix test_progs's parsing of test numbers (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix race in tcp_rtt test (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix nanosleep for real this time (Yauheni Kaliuta) [1845114] - [tools] selftest/bpf: Fix compilation warning in sockmap_parse_prog.c (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add vmlinux.h selftest exercising tracing of syscalls (Yauheni Kaliuta) [1845114] - [tools] libbpf: Provide CO-RE variants of PT_REGS macros (Yauheni Kaliuta) [1845114] - [tools] libbpf: Ignore incompatible types with matching name during CO-RE relocation (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Ensure consistent test failure output (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix spurious failures in accept due to EAGAIN (Yauheni Kaliuta) [1845114] - [tools] tools/bpf: Move linux/types.h for selftests and bpftool (Yauheni Kaliuta) [1845114] - [net] bpf: Add missing annotations for __bpf_prog_enter() and __bpf_prog_exit() (Yauheni Kaliuta) [1845114] - [scripts] bpf_helpers_doc.py: Fix warning when compiling bpftool (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Fix usleep() implementation (Yauheni Kaliuta) [1845114] - [net] bpf: Remove bpf_image tree (Yauheni Kaliuta) [1845114] - [net] bpf: Add dispatchers to kallsyms (Yauheni Kaliuta) [1845114] - [net] bpf: Add trampolines to kallsyms (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_ksym_add/del functions (Yauheni Kaliuta) [1845114] - [net] bpf: Add prog flag to struct bpf_ksym object (Yauheni Kaliuta) [1845114] - [net] bpf: Abstract away entire bpf_link clean up procedure (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_ksym_find function (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Make tcp_rtt test more robust to failures (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: test_progs: Don't leak server_fd in tcp_rtt (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: test_progs: fix client/server race in tcp_rtt (Yauheni Kaliuta) [1845114] - [net] bpf: Move ksym_tnode to bpf_ksym (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Guarantee that useep() calls nanosleep() syscall (Yauheni Kaliuta) [1845114] - [net] bpf: Move lnode list node to struct bpf_ksym (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Restore message on failure to guess program type (Yauheni Kaliuta) [1845114] - [include] bpf: Add name to struct bpf_ksym (Yauheni Kaliuta) [1845114] - [net] bpf: Add struct bpf_ksym (Yauheni Kaliuta) [1845114] - [include] bpf: Add bpf_trampoline_ name prefix for DECLARE_BPF_DISPATCHER (Yauheni Kaliuta) [1845114] - [mm] x86/mm: Rename is_kernel_text to __is_kernel_text (Yauheni Kaliuta) [1845114] - [tools] bpf: Add bpf_xdp_output() helper (Yauheni Kaliuta) [1845114] - [tools] tools/testing/selftests/bpf: Add self-tests for new helper bpf_get_ns_current_pid_tgid (Yauheni Kaliuta) [1845114] - [net] bpf: Added new helper bpf_get_ns_current_pid_tgid (Yauheni Kaliuta) [1845114] - [fs] fs/nsfs.c: Added ns_match (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Fix minor bash completion mistakes (Yauheni Kaliuta) [1845114] - [tools] tools: bpftool: Allow all prog/map handles for pinning objects (Yauheni Kaliuta) [1845114] - [tools] libbpf: Split BTF presence checks into libbpf- and kernel-specific parts (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add _bpftool and profiler.skel.h to .gitignore (Yauheni Kaliuta) [1845114] - [tools] bpftool: Skeleton should depend on libbpf (Yauheni Kaliuta) [1845114] - [tools] bpftool: Only build bpftool-prog-profile if supported by clang (Yauheni Kaliuta) [1845114] - [tools] bpftool: Use linux/types.h from source tree for profiler build (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Add BPF_F_CURRENT_CPU for running selftest on older kernels (Yauheni Kaliuta) [1845114] - [x86] bpf: Fix trampoline generation for fmod_ret programs (Yauheni Kaliuta) [1845114] - [net] bpf: Add bpf_link_new_file that doesn't install FD (Yauheni Kaliuta) [1845114] - [tools] bpftool: Bash completion for "bpftool prog profile" (Yauheni Kaliuta) [1845114] - [tools] bpftool: Documentation for bpftool prog profile (Yauheni Kaliuta) [1845114] - [tools] bpftool: Introduce "prog profile" command (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Enable UDP sockmap reuseport tests (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Add tests for UDP sockets in sockmap (Yauheni Kaliuta) [1845114] - [tools] selftests: bpf: Don't listen() on UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Add UDP support (Yauheni Kaliuta) [1845114] - [net] bpf: Add sockmap hooks for UDP sockets (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Simplify sock_map_init_proto (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Move generic sockmap hooks from BPF TCP (Yauheni Kaliuta) [1845114] - [net] bpf: tcp: Guard declarations with CONFIG_NET_SOCK_MSG (Yauheni Kaliuta) [1845114] - [net] bpf: tcp: Move assertions into tcp_bpf_get_proto (Yauheni Kaliuta) [1845114] - [net] skmsg: Update saved hooks only once (Yauheni Kaliuta) [1845114] - [net] bpf: sockmap: Only check ULP for TCP sockets (Yauheni Kaliuta) [1845114] - [kernel] bpf: Fix bpf_prog_test_run_tracing for !CONFIG_NET (Yauheni Kaliuta) [1845114] - [net] bpf: Remove unnecessary CAP_MAC_ADMIN check (Yauheni Kaliuta) [1845114] - [tools] bpf: Add selftests for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [tools] bpf: Add test ops for BPF_PROG_TYPE_TRACING (Yauheni Kaliuta) [1845114] - [tools] tools/libbpf: Add support for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [net] bpf: Attachment verification for BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce BPF_MODIFY_RETURN (Yauheni Kaliuta) [1845114] - [x86] bpf: JIT helpers for fmod_ret progs (Yauheni Kaliuta) [1845114] - [net] bpf: Refactor trampoline update code (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Support out-of-tree vmlinux builds for VMLINUX_BTF (Yauheni Kaliuta) [1845114] - [tools] tools/runqslower: Drop copy/pasted BPF_F_CURRENT_CPU definiton (Yauheni Kaliuta) [1845114] - [tools] libbpf: Assume unsigned values for BTF_KIND_ENUM (Yauheni Kaliuta) [1845114] - [tools] bpf: Switch BPF UAPI #define constants used from BPF program side to enums (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Test new __sk_buff field gso_size (Yauheni Kaliuta) [1845114] - [tools] bpf: Sync uapi bpf.h to tools/ (Yauheni Kaliuta) [1845114] - [net] bpf: Add gso_size to __sk_buff (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add link pinning selftests (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add bpf_link pinning/unpinning (Yauheni Kaliuta) [1845114] - [net] bpf: Introduce pinnable bpf_link abstraction (Yauheni Kaliuta) [1845114] - [tools] libbpf: Merge selftests' bpf_trace_helpers.h into libbpf's bpf_tracing.h (Yauheni Kaliuta) [1845114] - [tools] libbpf: Fix use of PT_REGS_PARM macros with vmlinux.h (Yauheni Kaliuta) [1845114] - [tools] bpftool: Add header guards to generated vmlinux.h (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add test for "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] selftests/tpm2: Add log and *.pyc to .gitignore (Yauheni Kaliuta) [1845114] - [tools] bpftool: Update bash completion for "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] bpftool: Update documentation of "bpftool feature" command (Yauheni Kaliuta) [1845114] - [tools] bpftool: Make probes which emit dmesg warnings optional (Yauheni Kaliuta) [1845114] - [tools] bpftool: Move out sections to separate functions (Yauheni Kaliuta) [1845114] - [tools] bpftool: Support struct_ops, tracing, ext prog types (Yauheni Kaliuta) [1845114] - [scripts] scripts/bpf: Switch to more portable python3 shebang (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Print backtrace on SIGSEGV in test_progs (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Run reuseport tests only with supported socket types (Yauheni Kaliuta) [1845114] - [net] bpf/stackmap: Dont trylock mmap_sem with PREEMPT_RT and interrupts disabled (Yauheni Kaliuta) [1845114] - [net] bpf, lpm: Make locking RT friendly (Yauheni Kaliuta) [1845114] - [net] bpf: Prepare hashtab locking for PREEMPT_RT (Yauheni Kaliuta) [1845114] - [net] bpf: Factor out hashtab bucket lock operations (Yauheni Kaliuta) [1845114] - [net] bpf: Replace open coded recursion prevention in sys_bpf() (Yauheni Kaliuta) [1845114] - [net] bpf: Use recursion prevention helpers in hashtab code (Yauheni Kaliuta) [1845114] - [include] bpf: Provide recursion prevention helpers (Yauheni Kaliuta) [1845114] - [include] bpf: Use migrate_disable/enable in array macros and cgroup/lirc code (Yauheni Kaliuta) [1845114] - [net] bpf: Use migrate_disable/enabe() in trampoline code (Yauheni Kaliuta) [1845114] - [lib] bpf/tests: Use migrate disable instead of preempt disable (Yauheni Kaliuta) [1845114] - [net] bpf: Use bpf_prog_run_pin_on_cpu() at simple call sites (Yauheni Kaliuta) [1845114] - [include] bpf: Replace cant_sleep() with cant_migrate() (Yauheni Kaliuta) [1845114] - [include] bpf: Provide bpf_prog_run_pin_on_cpu() helper (Yauheni Kaliuta) [1845114] - [include] sched/rt: Provide migrate_disable/enable() inlines (Yauheni Kaliuta) [1845114] - [include] sched: Provide cant_migrate() (Yauheni Kaliuta) [1845114] - [net] bpf: Dont iterate over possible CPUs with interrupts disabled (Yauheni Kaliuta) [1845114] - [net] bpf: Remove recursion prevention from rcu free callback (Yauheni Kaliuta) [1845114] - [kernel] perf/bpf: Remove preempt disable around BPF invocation (Yauheni Kaliuta) [1845114] - [kernel] bpf/trace: Remove redundant preempt_disable from trace_call_bpf() (Yauheni Kaliuta) [1845114] - [kernel] bpf: disable preemption for bpf progs attached to uprobe (Yauheni Kaliuta) [1845114] - [kernel] bpf/trace: Remove EXPORT from trace_call_bpf() (Yauheni Kaliuta) [1845114] - [kernel] bpf/tracing: Remove redundant preempt_disable() in __bpf_trace_run() (Yauheni Kaliuta) [1845114] - [net] bpf: Update locking comment in hashtab code (Yauheni Kaliuta) [1845114] - [net] bpf: Enforce preallocation for instrumentation programs on RT (Yauheni Kaliuta) [1845114] - [net] bpf: Tighten the requirements for preallocated hash maps (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Tests for sockmap/sockhash holding listening sockets (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Extend SK_REUSEPORT tests to cover SOCKMAP/SOCKHASH (Yauheni Kaliuta) [1845114] - [documentation] docs/bpf: Update bpf development Q/A file (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Update xdp_bpf2bpf test to use new set_attach_target API (Yauheni Kaliuta) [1845114] - [tools] libbpf: Add support for dynamic program attach target (Yauheni Kaliuta) [1845114] - [tools] libbpf: Bump libpf current version to v0.0.8 (Yauheni Kaliuta) [1845114] - [tools] libbpf: Relax check whether BTF is mandatory (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Change llvm flag -mcpu=probe to -mcpu=v3 (Yauheni Kaliuta) [1845114] - [tools] selftests/bpf: Add bpf_read_branch_records() selftest (Yauheni Kaliuta) [1845114] - [kernel] bpf: Add bpf_read_branch_records() helper (Yauheni Kaliuta) [1845114] - [kernel] bpf: Allow bpf_perf_event_read_value in all BPF programs (Yauheni Kaliuta) [1845114] - [dma] dma-direct: improve DMA mask overflow reporting (Don Dutile) [1816437] - [dma] dma-direct: improve swiotlb error reporting (Don Dutile) [1816437] - [dma] dma-direct: relax addressability checks in dma_direct_supported (Don Dutile) [1816437] - [dma] dma-contiguous: CMA: give precedence to cmdline (Don Dutile) [1816437] - [misc] lib/genalloc.c: rename addr_in_gen_pool to gen_pool_has_addr (Don Dutile) [1816437] - [lib] lib/genalloc.c: export symbol addr_in_gen_pool (Don Dutile) [1816437] - [acpi] dma-mapping: treat dev->bus_dma_mask as a DMA limit (Don Dutile) [1816437] - [powerpc] dma-direct: unify the dma_capable definitions (Don Dutile) [1816437] - [of] of/device: Really only set bus DMA mask when appropriate (Don Dutile) [1816437] - [dma] dma-direct: exclude dma_direct_map_resource from the min_low_pfn check (Don Dutile) [1816437] - [dma] dma-debug: clean up put_hash_bucket() (Don Dutile) [1816437] - [iommu] dma-mapping: drop the dev argument to arch_sync_dma_for_* (Don Dutile) [1816437] - [xen] swiotlb-xen: simplify cache maintainance (Don Dutile) [1816437] - [xen] swiotlb-xen: simplify the DMA sync method implementations (Don Dutile) [1816437] - [dma] dma-debug: increase HASH_SIZE (Don Dutile) [1816437] - [dma] dma-debug: reorder struct dma_debug_entry fields (Don Dutile) [1816437] - [dma] dma-mapping: merge the generic remapping helpers into dma-direct (Don Dutile) [1816437] - [dma] dma-direct: provide mmap and get_sgtable method overrides (Don Dutile) [1816437] - [dma] dma-direct: remove the dma_handle argument to __dma_direct_alloc_pages (Don Dutile) [1816437] - [dma] dma-direct: remove __dma_direct_free_pages (Don Dutile) [1816437] - [mm] dma/direct: turn ARCH_ZONE_DMA_BITS into a variable (Don Dutile) [1816437] - [dma] dma-direct: check for overflows on 32 bit DMA addresses (Don Dutile) [1816437] - [s390] s390/dma: provide proper ARCH_ZONE_DMA_BITS value (Don Dutile) [1816437] - [mm] powerpc: fix off by one in max_zone_pfn initialization for ZONE_DMA (Don Dutile) [1816437] - [powerpc] powerpc: enable a 30-bit ZONE_DMA for 32-bit pmac (Don Dutile) [1816437] - [mm] arm64: rename variables used to calculate ZONE_DMA32's size (Don Dutile) [1816437] - [mm] arm64: mm: use arm64_dma_phys_limit instead of calling max_zone_dma_phys() (Don Dutile) [1816437] - [mm] arm64: mm: make CONFIG_ZONE_DMA32 configurable (Don Dutile) [1816437] - [dma] kernel: dma-contiguous: mark CMA parameters __initdata/__initconst (Don Dutile) [1816437] - [dma] dma-debug: add a schedule point in debug_dma_dump_mappings() (Don Dutile) [1816437] - [dma] dma-debug: Use pr_warn instead of pr_warning (Don Dutile) [1816437] - [dma] dma-mapping: fix false positivse warnings in dma_common_free_remap() (Don Dutile) [1816437] - [xen] swiotlb-xen: ensure we have a single callsite for xen_dma_map_page (Don Dutile) [1816437] - [iommu] dma-mapping: introduce a dma_common_find_pages helper (Don Dutile) [1816437] - [iommu] dma-mapping: always use VM_DMA_COHERENT for generic DMA remap (Don Dutile) [1816437] - [mm] vmalloc: lift the arm flag for coherent mappings to common code (Don Dutile) [1816437] - [mm] dma-mapping: provide a better default ->get_required_mask (Don Dutile) [1816437] - [dma] dma-mapping: remove the dma_declare_coherent_memory export (Don Dutile) [1816437] - [dma] dma-mapping: remove the dma_mmap_from_dev_coherent export (Don Dutile) [1816437] - [dma] dma-mapping: remove CONFIG_ARCH_NO_COHERENT_DMA_MMAP (Don Dutile) [1816437] - [dma] dma-mapping: add a dma_can_mmap helper (Don Dutile) [1816437] - [powerpc] dma-mapping: explicitly wire up ->mmap and ->get_sgtable (Don Dutile) [1816437] - [mm] dma-mapping: move the dma_get_sgtable API comments from arm to common code (Don Dutile) [1816437] - [dma] dma-mapping: introduce dma_get_merge_boundary() (Don Dutile) [1816437] - [mm] dma-mapping: make dma_atomic_pool_init self-contained (Don Dutile) [1816437] - [arm64] dma-mapping: remove arch_dma_mmap_pgprot (Don Dutile) [1816437] - [scsi] scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM (Steve Best) [1847078] - [fs] NFS: Fix inode fileid checks in attribute revalidation code (Benjamin Coddington) [1846295] - [fs] NFS: remove set but not used variable 'mapping' (Benjamin Coddington) [1846295] - [fs] NFSv2: Fix write regression (Benjamin Coddington) [1846295] - [fs] NFSv2: Fix eof handling (Benjamin Coddington) [1846295] - [fs] NFS: Fix writepage(s) error handling to not report errors twice (Benjamin Coddington) [1846295] - [fs] NFS: Fix spurious EIO read errors (Benjamin Coddington) [1846295] - [fs] pNFS/flexfiles: Don't time out requests on hard mounts (Benjamin Coddington) [1846295] - [net] SUNRPC: Handle EADDRINUSE and ENOBUFS correctly (Benjamin Coddington) [1846295] - [fs] pNFS/flexfiles: Turn off soft RPC calls (Benjamin Coddington) [1846295] - [fs] NFS: On fatal writeback errors, we need to call nfs_inode_remove_request() (Benjamin Coddington) [1846295] - [fs] NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup (Benjamin Coddington) [1846295] - [fs] NFSv4: Fix return value in nfs_finish_open() (Benjamin Coddington) [1846295] - [fs] NFSv4: Fix return values for nfs4_file_open() (Benjamin Coddington) [1846295] - [fs] NFS: Don't refresh attributes with mounted-on-file information (Benjamin Coddington) [1846295] - [fs] NFSv4: Ensure state recovery handles ETIMEDOUT correctly (Benjamin Coddington) [1846295] - [fs] NFSv4: Report the error from nfs4_select_rw_stateid() (Benjamin Coddington) [1846295] - [fs] NFSv4: Print an error in the syslog when state is marked as irrecoverable (Benjamin Coddington) [1846295] - [net] SUNRPC: Optimise transport balancing code (Benjamin Coddington) [1846295] - [fs] NFSv4: Don't use the zero stateid with layoutget (Benjamin Coddington) [1846295] - [net] SUNRPC: Fix up backchannel slot table accounting (Benjamin Coddington) [1846295] - [net] SUNRPC: Skip zero-refcount transports (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace division by multiplication in calculation of queue length (Benjamin Coddington) [1846295] - [fs] NFSv4: Validate the stateid before applying it to state recovery (Benjamin Coddington) [1846295] - [fs] nfs4.0: Refetch lease_time after clientid update (Benjamin Coddington) [1846295] - [fs] nfs4: Rename nfs41_setup_state_renewal (Benjamin Coddington) [1846295] - [fs] nfs4: Make nfs4_proc_get_lease_time available for nfs4.0 (Benjamin Coddington) [1846295] - [fs] nfs: Fix copy-and-paste error in debug message (Benjamin Coddington) [1846295] - [fs] NFS: Replace 16 seq_printf() calls by seq_puts() (Benjamin Coddington) [1846295] - [fs] NFS: Use seq_putc() in nfs_show_stats() (Benjamin Coddington) [1846295] - [fs] nfsd: Fix misuse of strlcpy (Benjamin Coddington) [1846295] - [net] SUNRPC: Drop redundant CONFIG_ from CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES (Benjamin Coddington) [1846295] - [fs] NFS: Cleanup if nfs_match_client is interrupted (Benjamin Coddington) [1846295] - [fs] nfs: disable client side deduplication (Benjamin Coddington) [1846295] - [fs] NFS: Clean up writeback code (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove warning in debugfs.c when compiling with W=1 (Benjamin Coddington) [1846295] - [fs] NFS: Add sysfs support for per-container identifier (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove the bh-safe lock requirement on the rpc_wait_queue->lock (Benjamin Coddington) [1846295] - [fs] NFS: Cleanup - add nfs_clients_exit to mirror nfs_clients_init (Benjamin Coddington) [1846295] - [fs] NFS: Create a root NFS directory in /sys/fs/nfs (Benjamin Coddington) [1846295] - [net] SUNRPC: Remove the bh-safe lock requirement on xprt->transport_lock (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace direct task wakeups from softirq context (Benjamin Coddington) [1846295] - [net] SUNRPC: Replace the queue timer with a delayed work function (Benjamin Coddington) [1846295] - [fs] NFSv4: Handle open for execute correctly (Benjamin Coddington) [1846295] - [fs] nfs: dget_parent() never returns NULL (Benjamin Coddington) [1846295] - [net] nfs: fix out-of-date connectathon talk URL (Benjamin Coddington) [1846295] - [fs] nfsd4: remove outdated nfsd4_decode_time comment (Benjamin Coddington) [1846295] - [fs] nfsd: Spelling s/EACCESS/EACCES/ (Benjamin Coddington) [1846295] - [fs] lockd: Make two symbols static (Benjamin Coddington) [1846295] - [fs] lockd: Show pid of lockd for remote locks (Benjamin Coddington) [1846295] - [fs] lockd: Remove lm_compare_owner and lm_owner_key (Benjamin Coddington) [1846295] - [fs] lockd: Convert NLM service fl_owner to nlm_lockowner (Benjamin Coddington) [1846295] - [fs] lockd: prepare nlm_lockowner for use by the server (Benjamin Coddington) [1846295] - [net] sunrpc: no need to check return value of debugfs_create functions (Benjamin Coddington) [1846295] - [fs] nfsd: no need to check return value of debugfs_create functions (Benjamin Coddington) [1846295] - [fs] xfs: add agf freeblocks verify in xfs_agf_verify (Brian Foster) [1837192] {CVE-2020-12655} - [scsi] scsi: iscsi: Fix deadlock on recovery path during GFP_IO reclaim (Chris Leech) [1830140] - [scsi] scsi: iscsi: Register sysfs for iscsi workqueue (Chris Leech) [1830140] - [scsi] scsi: iscsi: Report unbind session event when the target has been removed (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Fix error count for active session (Chris Leech) [1830140] - [scsi] scsi: iscsi: Report connection state in sysfs (Chris Leech) [1830140] - [scsi] scsi: iscsi: Add support for asynchronous iSCSI session destruction (Chris Leech) [1830140] - [scsi] scsi: iscsi: Perform connection failure entirely in kernel space (Chris Leech) [1830140] - [scsi] scsi: iscsi: Don't destroy session if there are outstanding connections (Chris Leech) [1830140] - [scsi] scsi: iscsi: Fix a potential deadlock in the timeout handler (Chris Leech) [1830140] - [scsi] scsi: iscsi: Don't send data to unbound connection (Chris Leech) [1830140] - [scsi] scsi: libiscsi: switch to SPDX tags (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Hold back_lock when calling iscsi_complete_task (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Use scsi_et_resid() where appropriate (Chris Leech) [1830140] - [scsi] scsi: iscsi: Capture iscsi debug messages using tracepoints (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Fix NULL pointer dereference in iscsi_eh_session_reset (Chris Leech) [1830140] - [scsi] scsi: iscsi_tcp: Explicitly cast param in iscsi_sw_tcp_host_get_param (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Annotate fall-through (Chris Leech) [1830140] - [scsi] scsi: libiscsi: Annotate locking assumptions (Chris Leech) [1830140] - [nvme] nvmet: fail outstanding host posted AEN req (David Milburn) [1833642] - [nvme] nvmet: add async event tracing support (David Milburn) [1833642] - [nvme] nvmet: cleanups the loop in nvmet_async_events_process (David Milburn) [1833642] - [nvme] nvmet: fix memory leak when removing namespaces and controllers concurrently (David Milburn) [1833642] - [netdrv] ibmvnic: Flush existing work items before device removal (Steve Best) [1846761] - [kernel] signal: Extend exec_id to 64bits (Chris von Recklinghausen) [1834652] {CVE-2020-12826}- [arm64] docs: fix broken references to text files (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move __load_guest_stage2 to kvm_mmu.h (Andrew Jones) [1842468] - [arm64] kvm: arm64: Drop obsolete comment about sys_reg ordering (Andrew Jones) [1842468] - [arm64] kvm: arm64: Parametrize exception entry with a target EL (Andrew Jones) [1842468] - [arm64] kvm: arm64: Don't use empty structures as CPU reset state (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move sysreg reset check to boot time (Andrew Jones) [1842468] - [arm64] kvm: arm64: Add missing reset handlers for PMU emulation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Refactor vcpu_{read, write}_sys_reg (Andrew Jones) [1842468] - [arm64] kvm: arm64: vgic-v3: Take cpu_if pointer directly instead of vcpu (Andrew Jones) [1842468] - [arm64] kvm: arm64: Remove obsolete kvm_virt_to_phys abstraction (Andrew Jones) [1842468] - [arm64] kvm: arm64: Fix incorrect comment on kvm_get_hyp_vector() (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up cpu_init_hyp_mode() (Andrew Jones) [1842468] - [arm64] cpufeature: Drop open encodings while extracting parange (Andrew Jones) [1842468] - [arm64] kvm: arm64: Make KVM_CAP_MAX_VCPUS compatible with the selected GIC version (Andrew Jones) [1842468] - [arm64] kvm: arm64: Support enabling dirty log gradually in small chunks (Andrew Jones) [1842468] - [arm64] kvm: arm64: Unify handling THP backed host memory (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up the checking for huge mapping (Andrew Jones) [1842468] - [arm64] kvm: arm/arm64: Release kvm->mmu_lock in loop to prevent starvation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Sidestep stage2_unmap_vm() on vcpu reset when S2FWB is supported (Andrew Jones) [1842468] - [arm64] kvm: Fix spelling in code comments (Andrew Jones) [1842468] - [arm64] kvm: arm64: Simplify __kvm_timer_set_cntvoff implementation (Andrew Jones) [1842468] - [arm64] kvm: arm64: Clean up kvm makefiles (Andrew Jones) [1842468] - [arm64] kvm: arm64: Change CONFIG_KVM to a menuconfig entry (Andrew Jones) [1842468] - [arm64] kvm: arm64: Update help text (Andrew Jones) [1842468] - [arm64] kvm: arm64: Kill off CONFIG_KVM_ARM_HOST (Andrew Jones) [1842468] - [arm64] kvm: arm64: Move virt/kvm/arm to arch/arm64 (Andrew Jones) [1842468] - [arm64] Unify WORKAROUND_SPECULATIVE_AT_{NVHE, VHE} (Andrew Jones) [1842468] - [arm64] cpufeature: Add CPU capability for AArch32 EL1 support (Andrew Jones) [1842468] - [net] SUNRPC: Fix a credential refcount leak (Benjamin Coddington) [1831672] - [net] Revert "SUNRPC: Declare RPC timers as TIMER_DEFERRABLE" (Benjamin Coddington) [1831672] - [net] net :sunrpc :clnt :Fix xps refcount imbalance on the error path (Benjamin Coddington) [1831672] - [net] SUNRPC: Rebalance a kref in auth_gss.c (Benjamin Coddington) [1831672] - [fs] NFS: Fix a double unlock from nfs_match, get_client (Benjamin Coddington) [1831672] - [fs] nfs: pass the correct prototype to read_cache_page (Benjamin Coddington) [1831672] - [fs] NFSv4: don't mark all open state for recovery when handling recallable state revoked flag (Benjamin Coddington) [1831672] - [net] SUNRPC: Fix an error code in gss_alloc_msg() (Benjamin Coddington) [1831672] - [net] SUNRPC: task should be exit if encode return EKEYEXPIRED more times (Benjamin Coddington) [1831672] - [fs] NFS: make nfs_match_client killable (Benjamin Coddington) [1831672] - [fs] nfsd: update callback done processing (Benjamin Coddington) [1831672] - [fs] lockd: Store the lockd client credential in struct nlm_host (Benjamin Coddington) [1831672] - [fs] NFS: When mounting, don't share filesystems between different user namespaces (Benjamin Coddington) [1831672] - [fs] NFS: Convert NFSv2 to use the container user namespace (Benjamin Coddington) [1831672] - [fs] NFSv4: Convert the NFS client idmapper to use the container user namespace (Benjamin Coddington) [1831672] - [fs] NFS: Convert NFSv3 to use the container user namespace (Benjamin Coddington) [1831672] - [net] SUNRPC: Use namespace of listening daemon in the client AUTH_GSS upcall (Benjamin Coddington) [1831672] - [net] net: Remove some unneeded semicolon (Benjamin Coddington) [1831672] - [net] SUNRPC: Use the client user namespace when encoding creds (Benjamin Coddington) [1831672] - [fs] NFS: Store the credential of the mount process in the nfs_server (Benjamin Coddington) [1831672] - [fs] SUNRPC: Cache cred of process creating the rpc_client (Benjamin Coddington) [1831672] - [net] SUNRPC: Update comments based on recent changes (Benjamin Coddington) [1831672] - [net] SUNRPC: Avoid digging into the ATOMIC pool (Benjamin Coddington) [1831672] - [net] xprtrdma: Recognize XDRBUF_SPARSE_PAGES (Benjamin Coddington) [1831672] - [fs] Fix nfs4.2 return -EINVAL when do dedupe operation (Benjamin Coddington) [1831672] - [fs] NFS: Remove redundant open context from nfs_page (Benjamin Coddington) [1831672] - [fs] NFS: Add a helper to return a pointer to the open context of a struct nfs_page (Benjamin Coddington) [1831672] - [fs] NFS: Ensure that all nfs lock contexts have a valid open context (Benjamin Coddington) [1831672] - [fs] NFS: Allow signal interruption of NFS4ERR_DELAYed operations (Benjamin Coddington) [1831672] - [fs] pNFS: Add tracking to limit the number of pNFS retries (Benjamin Coddington) [1831672] - [fs] NFS: Remove unused argument from nfs_create_request() (Benjamin Coddington) [1831672] - [fs] NFS: Fix up NFS I/O subrequest creation (Benjamin Coddington) [1831672] - [fs] NFS: Replace custom error reporting mechanism with generic one (Benjamin Coddington) [1831672] - [fs] NFS: Don't inadvertently clear writeback errors (Benjamin Coddington) [1831672] - [fs] NFS: Don't call generic_error_remove_page() while holding locks (Benjamin Coddington) [1831672] - [fs] NFS: Don't interrupt file writeout due to fatal errors (Benjamin Coddington) [1831672] - [fs] NFS: Add a mount option "softerr" to allow clients to see ETIMEDOUT errors (Benjamin Coddington) [1831672] - [uapi] NFS: Move internal constants out of uapi/linux/nfs_mount.h (Benjamin Coddington) [1831672] - [fs] NFS: Consider ETIMEDOUT to be a fatal error (Benjamin Coddington) [1831672] - [net] SUNRPC: Add the 'softerr' rpc_client flag (Benjamin Coddington) [1831672] - [net] SUNRPC: Ensure to ratelimit the "server not responding" syslog messages (Benjamin Coddington) [1831672] - [net] SUNRPC: Start the first major timeout calculation at task creation (Benjamin Coddington) [1831672] - [net] SUNRPC: Ensure that the transport layer respect major timeouts (Benjamin Coddington) [1831672] - [net] SUNRPC: Declare RPC timers as TIMER_DEFERRABLE (Benjamin Coddington) [1831672] - [net] SUNRPC: Simplify queue timeouts using timer_reduce() (Benjamin Coddington) [1831672] - [net] SUNRPC: Fix up tracking of timeouts (Benjamin Coddington) [1831672] - [net] SUNRPC: Add function rpc_sleep_on_timeout() (Benjamin Coddington) [1831672] - [fs] SUNRPC: Remove unused argument 'action' from rpc_sleep_on_priority() (Benjamin Coddington) [1831672] - [net] SUNRPC: Refactor rpc_sleep_on() (Benjamin Coddington) [1831672] - [net] SUNRPC: Refactor xprt_request_wait_receive() (Benjamin Coddington) [1831672] - [fs] nfsd: fh_drop_write in nfsd_unlink (Benjamin Coddington) [1831672] - [fs] nfsd: avoid uninitialized variable warning (Benjamin Coddington) [1831672] - [netdrv] Revert "net: phy: realtek: fix using paged operations with RTL8105e / RTL8208" (Josef Oskera) [1846022] - [netdrv] ice: Fix Tx timeout when link is toggled on a VF's interface (Jonathan Toppins) [1843144] - [netdrv] ice: add a devlink region for dumping NVM contents (Jonathan Toppins) [1843144] - [nvme] nvme-fc: print proper nvme-fc devloss_tmo value (Gopal Tiwari) [1846049] - [acpi] ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() (Al Stone) [1803969] - [acpi] ACPI: PM: Add acpi_register_wakeup_handler() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Refine active GPEs check (Al Stone) [1803969] - [acpi] ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE (Al Stone) [1803969] - [base] PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late() (Al Stone) [1803969] - [platform] platform/x86: sony-laptop: Make resuming thermal profile safer (Al Stone) [1803969] - [platform] platform/x86: sony-laptop: SNC calls should handle BUFFER types (Al Stone) [1803969] - [acpi] ACPI: Update Tiger Lake ACPI device IDs (Al Stone) [1803969] - [acpi] ACPI: EC: Avoid printing confusing messages in acpi_ec_setup() (Al Stone) [1803969] - [acpi] ACPI: EC: Fix flushing of pending work (Al Stone) [1803969] - [base] PM / wakeup: Register wakeup class kobj after device is added (Al Stone) [1803969] - [base] PM / wakeup: Fix sysfs registration error path (Al Stone) [1803969] - [base] PM / wakeup: Unexport wakeup_source_sysfs_{add, remove}() (Al Stone) [1803969] - [kernel] PM: suspend: Fix platform_suspend_prepare_noirq() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system (Al Stone) [1803969] - [acpi] ACPICA: Introduce acpi_any_gpe_status_set() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Avoid possible race related to the EC GPE (Al Stone) [1803969] - [acpi] ACPI: watchdog: Allow disabling WDAT at boot (Al Stone) [1803969] - [acpi] ACPI / APD: Add clock frequency for Hisilicon Hip08-Lite I2C controller (Al Stone) [1803969] - [acpi] ACPI: thermal: switch to use helpers (Al Stone) [1803969] - [acpi] ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map() (Al Stone) [1803969] - [acpi] ACPI/IORT: Parse SSID property of named component node (Al Stone) [1803969] - [iommu] iommu/arm-smmu-v3: Parse PASID devicetree property of platform devices (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20200110 (Al Stone) [1803969] - [acpi] ACPICA: All acpica: Update copyrights to 2020 Including tool signons (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch (Al Stone) [1803969] - [acpi] ACPI: PPTT: Consistently use unsigned int as parameter type (Al Stone) [1803969] - [acpi] ACPI: EC: Reference count query handlers under lock (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20191213 (Al Stone) [1803969] - [acpi] ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator (Al Stone) [1803969] - [acpi] ACPICA: acpisrc: add unix line ending support for non-windows build (Al Stone) [1803969] - [acpi] ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 (Al Stone) [1803969] - [acpi] ACPICA: debugger: fix spelling mistake "adress" -> "address" (Al Stone) [1803969] - [acpi] ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards (Al Stone) [1803969] - [acpi] ACPI: fan: Add Tiger Lake ACPI device ID (Al Stone) [1803969] - [acpi] ACPI: DPTF: Add Tiger Lake ACPI device IDs (Al Stone) [1803969] - [acpi] ACPI: fan: Expose fan performance state information (Al Stone) [1803969] - [acpi] ACPI / LPSS: Rename pwm_backlight pwm-lookup to pwm_soc_backlight (Al Stone) [1803969] - [acpi] ACPI: video: Use native backlight on Lenovo E41-25/45 (Al Stone) [1803969] - [acpi] ACPI: video: fix typo in comment (Al Stone) [1803969] - [acpi] ACPI / battery: Deal better with neither design nor full capacity not being reported (Al Stone) [1803969] - [acpi] ACPI / battery: Use design-cap for capacity calculations if full-cap is not available (Al Stone) [1803969] - [acpi] ACPI / battery: Deal with design or full capacity being reported as -1 (Al Stone) [1803969] - [acpi] ACPI/sleep: Convert acpi_wakeup_address into a function (Al Stone) [1803969] - [acpi] ACPI: PM: Avoid attaching ACPI PM domain to certain devices (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Rework ACPI events synchronization (Al Stone) [1803969] - [acpi] ACPI: EC: Rework flushing of pending work (Al Stone) [1803969] - [acpi] ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data() (Al Stone) [1803969] - [acpi] ACPI: Fix Kconfig indentation (Al Stone) [1803969] - [acpi] ACPI: OSL: only free map once in osl.c (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Acer Switch 10 SW5-032 lid-switch (Al Stone) [1803969] - [acpi] ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 (Al Stone) [1803969] - [acpi] ACPI: OSI: Shoot duplicate word (Al Stone) [1803969] - [acpi] ACPI: HMAT: use u instead of d to print u32 values (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: fix a section mismatch (Al Stone) [1803969] - [acpi] ACPI: HMAT: don't mix pxm and nid when setting memory target processor_pxm (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: Register "soft reserved" memory as an "hmem" device (Al Stone) [1803969] - [acpi] ACPI: NUMA: HMAT: Register HMAT at device_initcall level (Al Stone) [1803969] - [acpi] ACPI: NUMA: Establish a new drivers/acpi/numa/ directory (Al Stone) [1803969] - [x86] x86/efi: EFI soft reservation to E820 enumeration (Al Stone) [1803969] - [firmware] efi: Common enable/disable infrastructure for EFI soft reservation (Al Stone) [1803969] - [firmware] efi: Enumerate EFI_MEMORY_SP (Al Stone) [1803969] - [dax] device-dax: Add a driver for "hmem" devices (Al Stone) [1803969] - [nvdimm] lib: Uplevel the pmem "region" ida to a global allocator (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20191018 (Al Stone) [1803969] - [acpi] ACPICA: debugger: remove leading whitespaces when converting a string to a buffer (Al Stone) [1803969] - [acpi] ACPICA: acpiexec: initialize all simple types and field units from user input (Al Stone) [1803969] - [acpi] ACPICA: debugger: add field unit support for acpi_db_get_next_token (Al Stone) [1803969] - [acpi] ACPICA: debugger: surround field unit output with braces '{' (Al Stone) [1803969] - [acpi] ACPICA: debugger: add command to dump all fields of particular subtype (Al Stone) [1803969] - [acpi] ACPICA: utilities: add flag to only display data when dumping buffers (Al Stone) [1803969] - [acpi] ACPICA: make acpi_load_table() return table index (Al Stone) [1803969] - [acpi] ACPICA: Add new external interface, acpi_unload_table() (Al Stone) [1803969] - [acpi] ACPICA: More Clang changes (Al Stone) [1803969] - [acpi] ACPICA: Win OSL: Replace get_tick_count with get_tick_count64 (Al Stone) [1803969] - [acpi] ACPICA: Results from Clang (Al Stone) [1803969] - [acpi] ACPI: EC: add support for hardware-reduced systems (Al Stone) [1803969] - [acpi] ACPI: EC: tweak naming in preparation for GpioInt support (Al Stone) [1803969] - [acpi] ACPI: button: Remove unused acpi_lid_notifier_register() functions (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Asus T200TA (Al Stone) [1803969] - [acpi] ACPI: button: Add DMI quirk for Medion Akoya E2215T (Al Stone) [1803969] - [acpi] ACPI: button: Turn lid_blacklst DMI table into a generic quirk table (Al Stone) [1803969] - [acpi] ACPI: button: Allow disabling LID support with the lid_init_state module option (Al Stone) [1803969] - [acpi] ACPI: button: Refactor lid_init_state module parsing code (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add dmi quirk for skipping _DEP check for some device-links (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add LNXVIDEO -> BYT I2C1 to lpss_device_links (Al Stone) [1803969] - [acpi] ACPI: LPSS: Add LNXVIDEO -> BYT I2C7 to lpss_device_links (Al Stone) [1803969] - [acpi] ACPI / PMIC: Add Cherry Trail Crystal Cove PMIC OpRegion driver (Al Stone) [1803969] - [acpi] ACPI / PMIC: Add byt prefix to Crystal Cove PMIC OpRegion driver (Al Stone) [1803969] - [acpi] ACPI / PMIC: Do not register handlers for unhandled OpRegions (Al Stone) [1803969] - [acpi] ACPI: processor_idle: Skip dummy wait if kernel is in guest (Al Stone) [1803969] - [acpi] acpi: Use pr_warn instead of pr_warning (Al Stone) [1803969] - [acpi] ACPI: CPPC: Set pcc_datato NULL in acpi_cppc_processor_exit() (Al Stone) [1803969] - [mfd] rhel: constify some function arguments when searching for devices (Al Stone) [1803969] - [acpi] ACPI: platform: Unregister stale platform devices (Al Stone) [1803969] - [i2c] i2c: Revert incorrect conversion to use generic helper (Al Stone) [1803969] - [base] drivers: Introduce device lookup variants by ACPI_COMPANION device (Al Stone) [1803969] - [s390] drivers: s390/cio: Fix compilation warning about const qualifiers (Al Stone) [1803969] - [s390] driver_find_device: Unify the match function with class_find_device() (Al Stone) [1803969] - [acpi] ACPI / LPSS: Switch to use acpi_dev_hid_uid_match() (Al Stone) [1803969] - [acpi] ACPI / utils: Move acpi_dev_get_first_match_dev() under CONFIG_ACPI (Al Stone) [1803969] - [acpi] ACPI / utils: Describe function parameters in kernel-doc (Al Stone) [1803969] - [acpi] ACPI: Always build evged in (Al Stone) [1803969] - [acpi] ACPI: video: update doc for acpi_video_bus_DOS() (Al Stone) [1803969] - [acpi] ACPI: PM: Drop Dell XPS13 9360 from LPS0 Idle _DSM blacklist (Al Stone) [1803969] - [acpi] ACPI: HMAT: ACPI_HMAT_MEMORY_PD_VALID is deprecated since ACPI-6.3 (Al Stone) [1803969] - [acpi] i2c: imx: ACPI support for NXP i2c controller (Al Stone) [1803969] - [acpi] ACPI / PCI: fix acpi_pci_irq_enable() memory leak (Al Stone) [1803969] - [acpi] ACPI: custom_method: fix memory leaks (Al Stone) [1803969] - [acpi] ACPI: thermal: Remove redundant acpi_has_method() calls (Al Stone) [1803969] - [acpi] ACPI / property: Fix acpi_graph_get_remote_endpoint() name in kerneldoc (Al Stone) [1803969] - [acpi] ACPI / CPPC: do not require the _PSD method (Al Stone) [1803969] - [acpi] ACPI: SBS: remove unused const variable 'SMBUS_PEC' (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Always set up EC GPE for system wakeup (Al Stone) [1803969] - [platform] intel-hid: Disable button array during suspend-to-idle (Al Stone) [1803969] - [platform] intel-hid: intel-vbtn: Avoid leaking wakeup_mode set (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Missing power button release on some Dell models (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Convert to use SPDX identifier (Al Stone) [1803969] - [platform] platform/x86: intel-hid: Add support for Device Specific Methods (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Avoid rearming SCI for wakeup unnecessarily (Al Stone) [1803969] - [base] PM / wakeup: Show wakeup sources stats in sysfs (Al Stone) [1803969] - [kernel] PM / wakeup: Use wakeup_source_register() in wakelock.c (Al Stone) [1803969] - [base] PM / wakeup: Drop wakeup_source_init(), wakeup_source_prepare() (Al Stone) [1803969] - [base] PM: sleep: Fix possible overflow in pm_system_cancel_wakeup() (Al Stone) [1803969] - [acpi] ACPI/PCI: Remove surplus parentheses from a return statement (Al Stone) [1803969] - [acpi] ACPICA: Update version to 20190816 (Al Stone) [1803969] - [acpi] ACPICA: Add "Windows 2019" string to _OSI support (Al Stone) [1803969] - [acpi] ACPICA: Differentiate Windows 8.1 from Windows 8 (Al Stone) [1803969] - [acpi] ACPICA: Fully deploy ACPI_PRINTF_LIKE macro (Al Stone) [1803969] - [acpi] ACPICA: Fix issues with arg types within printf format strings (Al Stone) [1803969] - [acpi] ACPICA: Macros: remove pointer math on a null pointer (Al Stone) [1803969] - [acpi] ACPICA: Debugger: remove redundant assignment on obj_desc (Al Stone) [1803969] - [acpi] ACPI / APEI: Release resources if gen_pool_add() fails (Al Stone) [1803969] - [acpi] acpi: Use built-in RCU list checking for acpi_ioremaps list (Al Stone) [1803969] - [acpi] HMAT: Skip publishing target info for nodes with no online memory (Al Stone) [1803969] - [acpi] HMAT: Register attributes for memory hot add (Al Stone) [1803969] - [acpi] HMAT: Register memory-side cache after parsing (Al Stone) [1803969] - [acpi] ACPI / processor: don't print errors for processorIDs == 0xff (Al Stone) [1803969] - [acpi] ACPI: PM: Print debug messages on device power state changes (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Make acpi_ec_dispatch_gpe() print debug message (Al Stone) [1803969] - [acpi] ACPI: EC: PM: Consolidate some code depending on PM_SLEEP (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Eliminate acpi_sleep_no_ec_events() (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Switch EC over to polling during "noirq" suspend (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Add acpi.sleep_no_lps0 module parameter (Al Stone) [1803969] - [acpi] ACPI: PM: s2idle: Rearrange lps0_device_attach() (Al Stone) [1803969] - [acpi] ACPI / APEI: Get rid of NULL_UUID_LE constant (Al Stone) [1803969] - [acpi] ACPI: PM: Set up EC GPE for system wakeup from drivers that need it (Al Stone) [1803969] - [acpi] PM: sleep: Simplify suspend-to-idle control flow (Al Stone) [1803969] - [kernel] PCI: irq: Introduce rearm_wake_irq() (Al Stone) [1803969] - [acpi] ACPI: PM: Set s2idle_wakeup earlier and clear it later (Al Stone) [1803969] - [acpi] ACPI: EC: Return bool from acpi_ec_dispatch_gpe() (Al Stone) [1803969] - [acpi] ACPICA: Return u32 from acpi_dispatch_gpe() (Al Stone) [1803969] - [kernel] kernel/sysctl.c: ignore out-of-range taint bits introduced via kernel.tainted (Rafael Aquini) [1845358] - [documentation] kernel: add panic_on_taint (Rafael Aquini) [1845358] - [mm] hugetlbfs: fix changes to command line processing (Baoquan He) [1823769] - [documentation] hugetlbfs: clean up command line processing (Baoquan He) [1823769] - [mm] hugetlbfs: remove hugetlb_add_hstate() warning for existing hstate (Baoquan He) [1823769] - [mm] hugetlbfs: move hugepagesz= parsing to arch independent code (Baoquan He) [1823769] - [mm] mm: simplify MEMORY_ISOLATION && COMPACTION || CMA into CONTIG_ALLOC (Baoquan He) [1823769] - [mm] hugetlbfs: add arch_hugetlb_valid_size (Baoquan He) [1823769] - [mm] arm64/hugetlb: Use macros for contiguous huge page sizes (Baoquan He) [1823769] - [mm] arm64: hugetlb: Register hugepages during arch init (Baoquan He) [1823769] - [fs] xfs: prohibit fs freezing when using empty transactions (Brian Foster) [1845099] - [security] selinux: properly handle multiple messages in selinux_netlink_send() (Ondrej Mosnacek) [1839643] {CVE-2020-10751} - [mm] bdi: add a ->dev_name field to struct backing_dev_info (Ming Lei) [1788378] - [block] bdi: use bdi_dev_name() to get device name (Ming Lei) [1788378] - [mm] bdi: move bdi_dev_name out of line (Ming Lei) [1788378] - [fs] memcg: fix a crash in wb_workfn when a device disappears (Ming Lei) [1788378]- [tools] libbpf: provide backported RHEL symbols as upstream aliases 2 (Yauheni Kaliuta) [1813372] - [include] bpf: include/linux/bpf.h: fix spaces (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test for freplace program with expected_attach_type (Yauheni Kaliuta) [1813372] - [scripts] checkpatch: don't warn about new vsprintf pointer extension 'pe' (Yauheni Kaliuta) [1813372] - [s390] s390: enable bpf jit by default when not built as always-on (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Copy runqslower to OUTPUT directory (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix memory leak in test selector (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix huge memory leak in libbpf_find_vmlinux_btf_id() (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add runqslower binary to .gitignore (Yauheni Kaliuta) [1813372] - [net] bpf: Change kvfree to kfree in generic_map_lookup_batch() (Yauheni Kaliuta) [1813372] - [tools] bpf, selftests: Use bpf_probe_read_kernel (Yauheni Kaliuta) [1813372] - [net] bpf/cgroup: Replace rcu_swap_protected() with rcu_replace_pointer() (Yauheni Kaliuta) [1813372] - [net] bpf: Fix bug in mmap() implementation for BPF array map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Validate frozen map contents stays frozen (Yauheni Kaliuta) [1813372] - [net] bpf: Fix handling of XADD on BTF memory (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Run SYN cookies with reuseport BPF test only for TCP (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix typo in bash-completion (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix handling of optional field_name in btf_dump__emit_type_decl (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Declare bpf_log_buf variables as static (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix a couple of broken test_btf cases (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Enforce returning 0 for fentry/fexit programs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix BPF_KRETPROBE macro and use it in attach_probe test (Yauheni Kaliuta) [1813372] - [net] bpf: Propagate expected_attach_type when verifying freplace programs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix trampoline_count clean up logic (Yauheni Kaliuta) [1813372] - [net] bpf: Explicitly memset some bpf info structures declared on the stack (Yauheni Kaliuta) [1813372] - [net] bpf: Explicitly memset the bpf_attr structure (Yauheni Kaliuta) [1813372] - [net] bpf: Sanitize the bpf_struct_ops tcp-cc name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test for the packed enum member in struct/union (Yauheni Kaliuta) [1813372] - [net] bpf/btf: Fix BTF verification of enum members in struct/union (Yauheni Kaliuta) [1813372] - [net] bpf: Fix cgroup ref leak in cgroup_bpf_inherit on out-of-memory (Yauheni Kaliuta) [1813372] - [net] bpf: Initialize storage pointers to NULL to prevent freeing garbage pointer (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Add test for JMP32 JSET BPF_X with upper bits set (Yauheni Kaliuta) [1813372] - [x86] bpf, x32: Fix bug with JMP32 JSET BPF_X checking upper bits (Yauheni Kaliuta) [1813372] - [net] bpf: Do not allow map_freeze in struct_ops map (Yauheni Kaliuta) [1813372] - [net] bpf: Return better error value in delete_elem for struct_ops map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add send_signal_sched_switch test (Yauheni Kaliuta) [1813372] - [kernel] bpf: Fix deadlock with rq_lock in bpf_send_signal() (Yauheni Kaliuta) [1813372] - [net] bpf: Fix a potential deadlock with bpf_map_do_batch (Yauheni Kaliuta) [1813372] - [net] bpf: Do not grab the bucket spinlock by default on htab batch ops (Yauheni Kaliuta) [1813372] - [tools] libbpf: Sanitise internal map names so they are not rejected by the kernel (Yauheni Kaliuta) [1813372] - [tools] bpf, uapi: Remove text about bpf_redirect_map() giving higher performance (Yauheni Kaliuta) [1813372] - [net] bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Mark SYN cookie test skipped for UDP sockets (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix error checking on reading the tcp_fastopen sysctl (Yauheni Kaliuta) [1813372] - [net] bpf: Make btf_check_func_type_match() static (Yauheni Kaliuta) [1813372] - [tools] bpf: Selftests build error in sockmap_basic.c (Yauheni Kaliuta) [1813372] - [net] bpf: Improve bucket_log calculation logic (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test freeing sockmap/sockhash with a socket in it (Yauheni Kaliuta) [1813372] - [tools] tools/bpf/runqslower: Rebuild libbpf.a on libbpf source change (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix trampoline_count.c selftest compilation warning (Yauheni Kaliuta) [1813372] - [net] bpf: Fix modifier skipping logic (Yauheni Kaliuta) [1813372] - [tools] bpftool: Remove redundant "HAVE" prefix from the large INSN limit check (Yauheni Kaliuta) [1813372] - [tools] runqslower: Fix Makefile (Yauheni Kaliuta) [1813372] - [net] bpf: Reuse log from btf_prase_vmlinux() in btf_struct_ops_init() (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test based on port range for BPF flow dissector (Yauheni Kaliuta) [1813372] - [net] bpf: map_seq_next should always increase position index (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Allow overriding llvm tools for runqslower (Yauheni Kaliuta) [1813372] - [tools] selftest/bpf: Add test for allowed trampolines count (Yauheni Kaliuta) [1813372] - [net] bpf: Allow to resolve bpf trampoline and dispatcher in unwind (Yauheni Kaliuta) [1813372] - [net] bpf: Allow BTF ctx access for string pointers (Yauheni Kaliuta) [1813372] - [tools] libbpf: Improve handling of failed CO-RE relocations (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Reset global state between reuseport test runs (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Make reuseport test output more legible (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Ignore FIN packets for reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Use a temporary file in test_sockmap (Yauheni Kaliuta) [1813372] - [tools] bpftool: Print function linkage in BTF dump (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Improve bpftool changes detection (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Initialize duration variable before using (Yauheni Kaliuta) [1813372] - [tools] bpf: tcp: Add bpf_cubic example (Yauheni Kaliuta) [1813372] - [tools] bpf: Sync uapi bpf.h to tools/ (Yauheni Kaliuta) [1813372] - [net] bpf: Add BPF_FUNC_jiffies64 (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add tests for program extensions (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add support for program extensions (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce dynamic program extensions (Yauheni Kaliuta) [1813372] - [scripts] bpf, btf: Always output invariant hit in pahole DWARF to BTF transform (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Build urandom_read with LDFLAGS and LDLIBS (Yauheni Kaliuta) [1813372] - [net] bpf: Fix error path under memory pressure (Yauheni Kaliuta) [1813372] - [net] bpf: don't bother with getname/kern_path - use user_path_at (Yauheni Kaliuta) [1813372] - [tools] selftests: Refactor build to remove tools/lib/bpf from include path (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] bpftool: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] runsqslower: Support user-specified libbpf include and object paths (Yauheni Kaliuta) [1813372] - [tools] tools/runqslower: Remove tools/lib/bpf from include path (Yauheni Kaliuta) [1813372] - [tools] selftests: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] tools/runqslower: Use consistent include paths for libbpf (Yauheni Kaliuta) [1813372] - [tools] selftests: Pass VMLINUX_BTF to runqslower Makefile (Yauheni Kaliuta) [1813372] - [tools] tools/bpf/runqslower: Fix override option for VMLINUX_BTF (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Don't try to remove user's homedir on clean (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Skip perf hw events test if the setup disabled it (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Don't check for btf fd in test_btf (Yauheni Kaliuta) [1813372] - [net] bpf: Fix memory leaks in generic update/delete batch ops (Yauheni Kaliuta) [1813372] - [tools] libbpf: Load btf_vmlinux only once per object (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix potential multiplication overflow in mmap() size calculation (Yauheni Kaliuta) [1813372] - [tools] libbpf: Simplify BTF initialization logic (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix error handling bug in btf_dump__new (Yauheni Kaliuta) [1813372] - [net] bpf: Remove set but not used variable 'first_key' (Yauheni Kaliuta) [1813372] - [tools] libbpf: Revert bpf_helper_defs.h inclusion regression (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix test_progs send_signal flakiness with nmi mode (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix unneeded extra initialization in bpf_map_batch_common (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add whitelist/blacklist of test names to test_progs (Yauheni Kaliuta) [1813372] - [tools] bpftool: Support dumping a map with btf_vmlinux_value_type_id (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add struct_ops map name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose bpf_find_kernel_btf as a LIBBPF_API (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix missing BTF output for json during map dump (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix a leak of btf object (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add batch ops testing to array bpf map (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add batch ops testing for htab and htab_percpu map (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add libbpf support to batch ops (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Sync uapi header bpf.h (Yauheni Kaliuta) [1813372] - [net] bpf: Add batch ops to all htab bpf map (Yauheni Kaliuta) [1813372] - [net] bpf: Add lookup and update batch ops to arraymap (Yauheni Kaliuta) [1813372] - [net] bpf: Add generic support for update and delete batch ops (Yauheni Kaliuta) [1813372] - [net] bpf: Add generic support for lookup batch op (Yauheni Kaliuta) [1813372] - [net] bpf: Add bpf_map_{value_size, update_value, map_copy_value} functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add a test for attaching a bpf fentry/fexit trace to an XDP program (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Add self tests for bpf_send_signal_thread() (Yauheni Kaliuta) [1813372] - [kernel] bpf: Add bpf_send_signal_thread() helper (Yauheni Kaliuta) [1813372] - [net] bpf: Fix seq_show for BPF_MAP_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Build runqslower from selftests (Yauheni Kaliuta) [1813372] - [tools] tools/bpf: Add runqslower tool to tools/bpf (Yauheni Kaliuta) [1813372] - [tools] bpftool: Apply preserve_access_index attribute to all types in BTF dump (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Conform selftests/bpf Makefile output to libbpf and bpftool (Yauheni Kaliuta) [1813372] - [scripts] libbpf: Clean up bpf_helper_defs.h generation output (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add BPF_PROG, BPF_KPROBE, and BPF_KRETPROBE macros (Yauheni Kaliuta) [1813372] - [tools] libbpf: Poison kernel-only integer types (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add unit tests for global functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Modify a test to check global functions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add a test for a large global function (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add fexit-to-skb test for global funcs (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce function-by-function verification (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Further clean up Makefile output (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir (Yauheni Kaliuta) [1813372] - [tools] libbpf,selftests/bpf: Fix clean targets (Yauheni Kaliuta) [1813372] - [tools] libbpf: Make bpf_map order and indices stable (Yauheni Kaliuta) [1813372] - [tools] bpf: Document BPF_F_QUERY_EFFECTIVE flag (Yauheni Kaliuta) [1813372] - [tools] bpf: Add bpf_dctcp example (Yauheni Kaliuta) [1813372] - [tools] bpf: libbpf: Add STRUCT_OPS support (Yauheni Kaliuta) [1813372] - [tools] bpf: Synch uapi bpf.h to tools/ (Yauheni Kaliuta) [1813372] - [net] bpf: Add BPF_FUNC_tcp_send_ack helper (Yauheni Kaliuta) [1813372] - [net] bpf: tcp: Support tcp_congestion_ops in bpf (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF_MAP_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF_PROG_TYPE_STRUCT_OPS (Yauheni Kaliuta) [1813372] - [net] bpf: Support bitfield read access in btf_struct_access (Yauheni Kaliuta) [1813372] - [net] bpf: Add enum support to btf_ctx_access() (Yauheni Kaliuta) [1813372] - [net] bpf: Avoid storing modifier to info->btf_id (Yauheni Kaliuta) [1813372] - [net] bpf: Save PTR_TO_BTF_ID register state when spilling to stack (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Restore original comm in test_overhead (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add misc section and probe for large INSN limit (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add probe for large INSN limit (Yauheni Kaliuta) [1813372] - [tools] bpftool: Make skeleton C code compilable with C++ compiler (Yauheni Kaliuta) [1813372] - [tools] bpf: Print error message for bpftool cgroup show (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify transmit fill pattern (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify tx packet size (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify number of packets to send (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add option to specify batch size (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Use common code to handle signal and main exit (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: xdpsock: Add duration option to specify how long to run (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Preserve errno in test_progs CHECK macros (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test BPF_F_REPLACE in cgroup_attach_multi (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Convert test_cgroup_attach to prog_tests (Yauheni Kaliuta) [1813372] - [tools] libbpf: Introduce bpf_prog_attach_xattr (Yauheni Kaliuta) [1813372] - [net] bpf: Support replacing cgroup-bpf program in MULTI mode (Yauheni Kaliuta) [1813372] - [net] bpf: Remove unused new_flags in hierarchy_allows_attach() (Yauheni Kaliuta) [1813372] - [net] bpf: Simplify __cgroup_bpf_attach (Yauheni Kaliuta) [1813372] - [net] bpf: Remove unnecessary assertion on fp_old (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix another __u64 printf warning (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix printing of ulimit value (Yauheni Kaliuta) [1813372] - [tools] libbpf: BTF is required when externs are present (Yauheni Kaliuta) [1813372] - [tools] libbpf: Allow to augment system Kconfig through extra optional config (Yauheni Kaliuta) [1813372] - [tools] libbpf: Put Kconfig externs into .kconfig section (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add bpf_link__disconnect() API to preserve underlying BPF resource (Yauheni Kaliuta) [1813372] - [tools] bpf: Allow to change skb mark in test_run (Yauheni Kaliuta) [1813372] - [tools] bpftool: Work-around rst2man conversion bug (Yauheni Kaliuta) [1813372] - [tools] bpftool: Simplify format string to not use positional args (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add gen subcommand manpage (Yauheni Kaliuta) [1813372] - [tools] libbpf: Remove BPF_EMBED_OBJ macro from libbpf.h (Yauheni Kaliuta) [1813372] - [tools] bpftool, selftests/bpf: Embed object file inside skeleton (Yauheni Kaliuta) [1813372] - [tools] libbpf: Reduce log level for custom section names (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix libbpf_common.h when installing libbpf through 'make install' (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: More succinct Makefile output (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add zlib as a dependency in pkg-config template (Yauheni Kaliuta) [1813372] - [tools] libbpf: Print hint about ulimit when getting permission denied error (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Attach XDP programs in driver mode by default (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Set -fno-stack-protector when building BPF programs (Yauheni Kaliuta) [1813372] - [samples] samples/bpf: Add missing -lz to TPROGS_LDLIBS (Yauheni Kaliuta) [1813372] - [tools] bpftool: Fix compilation warning on shadowed variable (Yauheni Kaliuta) [1813372] - [tools] libbpf: Fix build by renaming variables (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add flexible array relocation tests (Yauheni Kaliuta) [1813372] - [tools] libbpf: Support flexible arrays in CO-RE (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add tests for libbpf-provided externs (Yauheni Kaliuta) [1813372] - [tools] bpftool: Generate externs datasec in BPF skeleton (Yauheni Kaliuta) [1813372] - [tools] libbpf: Support libbpf-provided extern variables (Yauheni Kaliuta) [1813372] - [tools] libbpf: Extract internal map names into constants (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add `gen skeleton` BASH completions (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add test validating data section to struct convertion layout (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Convert few more selftest to skeletons (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add BPF skeletons selftests and convert attach_probe.c (Yauheni Kaliuta) [1813372] - [tools] bpftool: Add skeleton codegen command (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add BPF object skeleton support (Yauheni Kaliuta) [1813372] - [tools] libbpf: Reduce log level of supported section names dump (Yauheni Kaliuta) [1813372] - [tools] libbpf: Postpone BTF ID finding for TRACING programs to load phase (Yauheni Kaliuta) [1813372] - [tools] libbpf: Refactor global data map initialization (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose BPF program's function name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose BTF-to-C type declaration emitting API (Yauheni Kaliuta) [1813372] - [tools] libbpf: Expose btf__align_of() API (Yauheni Kaliuta) [1813372] - [tools] libbpf: Extract common user-facing helpers (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add BPF_EMBED_OBJ macro for embedding BPF .o files (Yauheni Kaliuta) [1813372] - [tools] libbpf: Move non-public APIs from libbpf.h to libbpf_internal.h (Yauheni Kaliuta) [1813372] - [tools] libbpf: Add generic bpf_program__attach() (Yauheni Kaliuta) [1813372] - [tools] libbpf: Don't require root for bpf_object__open() (Yauheni Kaliuta) [1813372] - [tools] bpftool: Match maps by name (Yauheni Kaliuta) [1813372] - [tools] bpftool: Match programs by name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Test wire_len/gso_segs in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [net] bpf: Expose __sk_buff wire_len/gso_segs to BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [x86] bpf, x86: Align dispatcher branch targets to 16B (Yauheni Kaliuta) [1813372] - [tools] selftests: bpf: Add xdp_perf test (Yauheni Kaliuta) [1813372] - [net] bpf: Start using the BPF dispatcher in BPF_TEST_RUN (Yauheni Kaliuta) [1813372] - [net] bpf, xdp: Start using the BPF dispatcher for XDP (Yauheni Kaliuta) [1813372] - [net] bpf: Introduce BPF dispatcher (Yauheni Kaliuta) [1813372] - [net] bpf: Move trampoline JIT image allocation to a function (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add CPU mask parsing tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Switch reuseport tests for test_progs framework (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Move reuseport tests under prog_tests/ (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Pull up printing the test name into test runner (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Propagate errors during setup for reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Run reuseport tests in a loop (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Unroll the main loop in reuseport test (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Add helpers for getting socket family & type name (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Use sa_family_t everywhere in reuseport tests (Yauheni Kaliuta) [1813372] - [tools] selftests/bpf: Let libbpf determine program type from section name (Yauheni Kaliuta) [1813372] - [tools] libbpf: Recognize SK_REUSEPORT programs from section name (Yauheni Kaliuta) [1813372] - [arm64] bpf, x86, arm64: Enable jit by default when not built as always-on (Yauheni Kaliuta) [1813372] - [net] bpf: Switch to offsetofend in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813372] - [tools] libbpf: Bump libpf current version to v0.0.7 (Yauheni Kaliuta) [1813372] - [fs] vmalloc: fix remap_vmalloc_range() bounds checks (Yauheni Kaliuta) [1813370] - [net] bpf: Prevent re-mmap()'ing BPF map as writable for initially r/o mapping (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: fix test_sysctl_prog with alu32 (Yauheni Kaliuta) [1813370] - [powerpc] powerpc/bpf: Enable bpf_probe_read{, str}() on powerpc again (Yauheni Kaliuta) [1813370] - [kernel] bpf: Restrict bpf_trace_printk()'s s usage and add pks, pus specifier (Yauheni Kaliuta) [1813370] - [lib] printf: add support for printing symbolic error names (Yauheni Kaliuta) [1813370] - [net] bpf: Add bpf_probe_read_{user, kernel}_str() to do_refine_retval_range (Yauheni Kaliuta) [1813370] - [arm64] bpf: Restrict bpf_probe_read{, str}() only to archs where they work (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Fix accounting bug with direct->count in register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Return the first found result in lookup_rec() (Yauheni Kaliuta) [1813370] - [net] bpf: Undo incorrect __reg_bound_offset32 handling (Yauheni Kaliuta) [1813370] - [net] bpf: Fix tnum constraints for 32-bit comparisons (Yauheni Kaliuta) [1813370] - [x86] x86: Fix kernel-doc atomic.h warnings (Yauheni Kaliuta) [1813370] - [net] bpf: Fix trampoline usage in preempt (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Reintroduce missed build targets (Yauheni Kaliuta) [1813370] - [trace] bpf: Reliably preserve btf_trace_xxx types (Yauheni Kaliuta) [1813370] - [include] bpf: Avoid setting bpf insns pages read-only when prog is jited (Yauheni Kaliuta) [1813370] - [scripts] bpf: Force .BTF section start to zero when dumping from vmlinux (Yauheni Kaliuta) [1813370] - [scripts] bpf: Support pre-2.25-binutils objcopy for vmlinux BTF (Yauheni Kaliuta) [1813370] - [net] bpfilter: remove superfluous testing message (Jiri Benc) [1819632] - [net] bpfilter: fix dprintf usage for /dev/kmsg (Jiri Benc) [1819632] - [net] bpf, sockmap: Remove bucket->lock from sock_{hash|map}_free (Jiri Benc) [1819632] - [netdrv] veth: ignore peer tx_dropped when counting local rx_dropped (Jiri Benc) [1819632] - [net] xsk: Publish global consumer pointers when NAPI is finished (Jiri Benc) [1819632] - [kernel] bpf, xdp: Remove no longer required rcu_read_{un}lock() (Jiri Benc) [1819632] - [netdrv] bpf, xdp: virtio_net use access ptr macro for xdp enable check (Jiri Benc) [1819632] - [kernel] bpf, xdp: Update devmap comments to reflect napi/rcu usage (Jiri Benc) [1819632] - [net] xsk, net: Make sock_def_readable() have external linkage (Jiri Benc) [1819632] - [kernel] devmap: Adjust tracepoint for map-less queue flush (Jiri Benc) [1819632] - [net] xdp: Use bulking for non-map XDP_REDIRECT and consolidate code paths (Jiri Benc) [1819632] - [net] xdp: Move devmap bulk queue into struct net_device (Jiri Benc) [1819632] - [net] xsk: Support allocations of large umems (Jiri Benc) [1819632] - [tools] Sync uapi/linux/if_link.h (Jiri Benc) [1819632] - [net] bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map (Jiri Benc) [1819632] - [net] flow_dissector: fix document for skb_flow_get_icmp_tci (Jiri Benc) [1819632] - [net] xsk: Use struct_size() helper (Jiri Benc) [1819632] - [net] xsk: Add function naming comments and reorder functions (Jiri Benc) [1819632] - [net] xsk: Remove unnecessary READ_ONCE of data (Jiri Benc) [1819632] - [net] xsk: ixgbe: i40e: ice: mlx5: Xsk_umem_discard_addr to xsk_umem_release_addr (Jiri Benc) [1819632] - [net] xsk: Change names of validation functions (Jiri Benc) [1819632] - [net] xsk: Simplify the consumer ring access functions (Jiri Benc) [1819632] - [net] xsk: Simplify xskq_nb_avail and xskq_nb_free (Jiri Benc) [1819632] - [net] xsk: Eliminate the RX batch size (Jiri Benc) [1819632] - [net] xsk: Standardize naming of producer ring access functions (Jiri Benc) [1819632] - [net] xsk: Consolidate to one single cached producer pointer (Jiri Benc) [1819632] - [net] xsk: Simplify detection of empty and full rings (Jiri Benc) [1819632] - [net] xsk: Eliminate the lazy update threshold (Jiri Benc) [1819632] - [net] xdp: Simplify __bpf_tx_xdp_map() (Jiri Benc) [1819632] - [net] xdp: Remove map_to_flush and map swap detection (Jiri Benc) [1819632] - [net] xdp: Make cpumap flush_list common for all map instances (Jiri Benc) [1819632] - [net] xdp: Make devmap flush_list common for all map instances (Jiri Benc) [1819632] - [net] xsk: Make xskmap flush_list common for all map instances (Jiri Benc) [1819632] - [kernel] xdp: Fix graze->grace type-o in cpumap comments (Jiri Benc) [1819632] - [kernel] xdp: Simplify cpumap cleanup (Jiri Benc) [1819632] - [kernel] xdp: Simplify devmap cleanup (Jiri Benc) [1819632] - [net] sysctl: Fix compiler warning when only cBPF is present (Jiri Benc) [1819631] - [net] dsa: fix flow dissection on Tx path (Jiri Benc) [1819631] - [net] page_pool: add the possibility to sync DMA memory for device (Jiri Benc) [1819631] - [net] xsk: Fix xsk_poll()'s return type (Jiri Benc) [1819631] - [tools] net-af_xdp: Use correct number of channels from ethtool (Jiri Benc) [1819631] - [net] xdp: remove memory poison on free for struct xdp_mem_allocator (Jiri Benc) [1819631] - [documentation] xsk: Extend documentation for Rx|Tx-only sockets and shared umems (Jiri Benc) [1819631] - [net] xsk: Restructure/inline XSKMAP lookup/redirect/flush (Jiri Benc) [1819631] - [kernel] xsk: Store struct xdp_sock as a flexible array member of the XSKMAP (Jiri Benc) [1819631] - [include] xdp: Fix type of string pointer in __XDP_ACT_SYM_TAB (Jiri Benc) [1819631] - [documentation] xsk: Improve documentation for AF_XDP (Jiri Benc) [1819631] - [tools] Sync if_link.h (Jiri Benc) [1819631] - [net] xdp: Trivial, fix spelling in function description (Jiri Benc) [1819631] - [netdrv] netdevsim: Use scnprintf() for avoiding potential buffer overflow (Jiri Benc) [1819631] - [netdrv] netdevsim: fix ptr_ret.cocci warnings (Jiri Benc) [1819631] - [netdrv] netdevsim: remove unused sdev code (Jiri Benc) [1819631] - [netdrv] netdevsim: use IS_ERR instead of IS_ERR_OR_NULL for debugfs (Jiri Benc) [1819631] - [netdrv] netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() (Jiri Benc) [1819631] - [netdrv] netdevsim: fix panic in nsim_dev_take_snapshot_write() (Jiri Benc) [1819631] - [net] openvswitch: New MPLS actions for layer 2 tunnelling (Guillaume Nault) [1839760] - [net] Rephrased comments section of skb_mpls_pop() (Guillaume Nault) [1839760] - [net] skb_mpls_push() modified to allow MPLS header push at start of packet. (Guillaume Nault) [1839760] - [net] Change in Openvswitch to support MPLS label depth of 3 in ingress direction (Guillaume Nault) [1839182] - [block] block: fix use-after-free on cached last_lookup partition (Ming Lei) [1787968]- [drm] drm/prime: fix extracting of the DMA addresses from a scatterlist (Jerry Snitselaar) [1815610] - [iommu] iommu: Check for deferred attach in iommu_group_do_dma_attach() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add get_domain_info() helper (Jerry Snitselaar) [1815610] - [iommu] iommu: Don't take group reference in iommu_alloc_default_domain() (Jerry Snitselaar) [1815610] - [iommu] iommu: Don't call .probe_finalize() under group->mutex (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Apply per-device dma_ops (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allow PCI sub-hierarchy to use DMA domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allow 32bit devices to uses DMA domain (Jerry Snitselaar) [1815610] - [iommu] iommu: Do not probe devices on IOMMU-less busses (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix variable "iommu" set but not used (Jerry Snitselaar) [1815610] - [iommu] iommu: Unexport iommu_group_get_for_dev() (Jerry Snitselaar) [1815610] - [iommu] iommu: Move more initialization to __iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove add_device()/remove_device() code-paths (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Axe a useless test in 'arm_smmu_master_alloc_smes()' (Jerry Snitselaar) [1815610] - [iommu] iommu/s390: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Convert to probe/release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove dev_data->passthrough (Jerry Snitselaar) [1815610] - [iommu] iommu: Export bus_iommu_probe() and make is safe for re-probing (Jerry Snitselaar) [1815610] - [iommu] iommu: Move iommu_group_create_direct_mappings() out of iommu_group_add_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Split off default domain allocation from group assignment (Jerry Snitselaar) [1815610] - [iommu] iommu: Move new probe_device path to separate function (Jerry Snitselaar) [1815610] - [iommu] iommu: Keep a list of allocated groups in __iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Move default domain allocation to iommu_probe_device() (Jerry Snitselaar) [1815610] - [iommu] iommu: Add probe_device() and release_device() call-backs (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Return -ENODEV in add_device when device is not handled by IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove dma_mask check from check_device() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Wire up iommu_ops->def_domain_type (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Implement iommu_ops->def_domain_type call-back (Jerry Snitselaar) [1815610] - [iommu] iommu: Add def_domain_type() callback in iommu_ops (Jerry Snitselaar) [1815610] - [iommu] iommu: Move default domain allocation to separate function (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix reference count leak in iommu_group_alloc (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove real DMA lookup in find_domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Allocate domain info for real DMA sub-devices (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Only clear real DMA device's context entries (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix get_acpihid_device_id() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Switch to use acpi_dev_hid_uid_match() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix over-read of ACPI UID from IVRS table (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix deferred domain attachment (Jerry Snitselaar) [1815610] - [include] iommu: Move fwspec->iommu_priv to struct dev_iommu (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Use accessor functions for iommu private data (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Refactor master_cfg/fwspec usage (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Use accessor functions for iommu private data (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Improve add_device() error handling (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Return -EBUSY when trying to re-add a device (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Fix resource_size check (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu-v3: Drop __GFP_ZERO flag from DMA allocation (Jerry Snitselaar) [1815610] - [include] iommu: Introduce accessors for iommu private data (Jerry Snitselaar) [1815610] - [acpi] ACPI/IORT: Remove direct access of dev->iommu_fwspec (Jerry Snitselaar) [1815610] - [include] iommu: Define dev_iommu_fwspec_get() for !CONFIG_IOMMU_API (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not flush Device Table in iommu_map_page() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Update Device Table in increase_address_space() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Call domain_flush_complete() in update_domain() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not loop forever when trying to increase address space (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix race in increase_address_space()/fetch_pte() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix the memory leak in dev_iommu_free() (Jerry Snitselaar) [1815610] - [include] iommu: Move iommu_fwspec to struct dev_iommu (Jerry Snitselaar) [1815610] - [include] iommu: Rename struct iommu_param to dev_iommu (Jerry Snitselaar) [1815610] - [iommu] iommu/of: Take a ref to the IOMMU driver during ->of_xlate() (Jerry Snitselaar) [1815610] - [iommu] drivers/iommu: Take a ref to the IOMMU driver prior to ->add_device() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix mm reference leak (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix the configuration of GCR3 table root pointer (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix page request descriptor size (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Populate debugfs if IOMMUs are detected (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Ignore devices with out-of-spec domain number (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix the wrong printing in RHSA parsing (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix debugfs register reads (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: quirk_ioat_snb_local_iommu: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: dmar_parse_one_rmrr: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: dmar: replace WARN_TAINT with pr_warn + add_taint (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Silence RCU-list debugging warnings (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix RCU-list bugs in intel_iommu_init() (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Fix MSI reservation allocation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Disable IOMMU on Stoney Ridge systems (Jerry Snitselaar) [1815610] - [iommu] iommu: intel: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: amd: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: arm: Use generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu: Implement generic_iommu_put_resv_regions() (Jerry Snitselaar) [1815610] - [iommu] iommu/iova: Silence warnings under memory pressure (Jerry Snitselaar) [1815610] - [iommu] iommu: Fix Kconfig indentation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove unnecessary WARN_ON_ONCE() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Unnecessary to handle default identity domain (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add RMRR base and end addresses sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Mark firmware tainted if RMRR fails sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Don't reject Host Bridge due to scope mismatch (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Loose requirement for flush queue initializaton (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid iova flush queue in strict mode (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: trace: Extend map_sg trace event (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid sending invalid page response (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix off-by-one in PASID allocation (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Avoid duplicated code for PASID setup (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Reject SVM bind for failed capability check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Match CPU and IOMMU paging mode (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix CPU and IOMMU SVM feature matching checks (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove VMD child device sanity check (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use pci_real_dma_dev() for mapping (Jerry Snitselaar) [1815610] - [pci] PCI: Introduce pci_real_dma_dev() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove the unnecessary assignment (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unused struct member (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Replace two consecutive readl calls with one readq (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix typos for PPR macros (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove local variables (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unused variable (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Only support x2APIC with IVHD type 11h/40h (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Check feature support bit before accessing MSI capability registers (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Treat per-device exclusion ranges as r/w unity-mapped regions (Jerry Snitselaar) [1815610] - [iommu] iommu: Use C99 flexible array in fwspec (Jerry Snitselaar) [1833512 1815610] - [iommu] drivers/iommu: Allow IOMMU bus ops to be unregistered (Jerry Snitselaar) [1815610] - [iommu] iommu/of: Request ACS from the PCI core when configuring IOMMU linkage (Jerry Snitselaar) [1815610] - [iommu] drivers/iommu: Export core IOMMU API symbols to permit modular drivers (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Fix IOMMU perf counter clobbering during init (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: fix variable 'cookie' set but not used (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Unlink device if failed to add to group (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove device link to group on failure (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Fix adding non-PCI devices to Intel IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Relax locking in iommu_dma_prepare_msi() (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Remove incorrect PSI capability check (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Rationalise types for DMA masks (Jerry Snitselaar) [1815610] - [iommu] iommu/iova: Init the struct iova to fix the possible memleak (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Check VT-d RMRR region in BIOS is reported as reserved (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Turn off translations at shutdown (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Support multiple PCI DMA aliases in device table (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Do not re-fetch iommu->cmd_buf_tail (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Pass gfp flags to iommu_map_page() in amd_iommu_map() (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Simpify decoding logic for INVALID_PPR_REQUEST event (Jerry Snitselaar) [1815610] - [drm] drm/prime: use dma length macro when mapping sg (Jerry Snitselaar) [1815610] - [drm] drm/amdgpu: fix scatter-gather mapping with user pages (Jerry Snitselaar) [1815610] - [drm] drm/radeon: fix scatter-gather mapping with user pages (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Convert AMD iommu driver to the dma-iommu api (Jerry Snitselaar) [1815610] - [iommu] iommu/dma-iommu: Use the dev->coherent_dma_mask (Jerry Snitselaar) [1815610] - [iommu] iommu/dma-iommu: Handle deferred devices (Jerry Snitselaar) [1815610] - [include] iommu: KABI cleanup (Jerry Snitselaar) [1815610] - [iommu] iommu: Add gfp parameter to iommu_ops::map (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Remove unnecessary locking from AMD iommu driver (Jerry Snitselaar) [1815610] - [iommu] drivers: iommu: hyperv: Make HYPERV_IOMMU only available on x86 (Jerry Snitselaar) [1815610] - [include] iommu/vt-d: Fix QI_DEV_IOTLB_PFSID and QI_DEV_EIOTLB_PFSID macros (Jerry Snitselaar) [1815610] - [iommu] iommu: pass cell_count = -1 to of_for_each_phandle with cells_name (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Free context bitmap in the err path of arm_smmu_init_domain_context (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Return the correct dma mask when we are bypassing the IOMMU (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41 (Jerry Snitselaar) [1815610] - [iommu] iommu/arm-smmu: Mask TLBI address correctly (Jerry Snitselaar) [1815610] - [iommu] iommu: Remove wrong default domain comments (Jerry Snitselaar) [1815610] - [iommu] iommu/dma: Fix for dereferencing before null checking (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Declare Broadwell igfx dmar support snafu (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add Scalable Mode fault information (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use bounce buffer for untrusted devices (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Add trace events for device dma map/unmap (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Don't switch off swiotlb if bounce page is used (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Check whether device requires bounce buffer (Jerry Snitselaar) [1815610] - [dma] swiotlb: Split size parameter to map/unmap APIs (Jerry Snitselaar) [1815610] - [xen] swiotlb-xen: use ->map_page to implement ->map_sg (Jerry Snitselaar) [1815610] - [xen] swiotlb-xen: make instances match their method names (Jerry Snitselaar) [1815610] - [uapi] iommu: Add padding to struct iommu_fault (Jerry Snitselaar) [1815610] - [iommu] iommu: Add recoverable fault reporting (Jerry Snitselaar) [1815610] - [iommu] iommu: Introduce device fault report API (Jerry Snitselaar) [1815610] - [include] driver core: Add per device iommu param (Jerry Snitselaar) [1815610] - [uapi] iommu: Introduce device fault data (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Silence warnings under memory pressure (Jerry Snitselaar) [1815610] - [iommu] iommu/amd: Override wrong IVRS IOAPIC on Raven Ridge systems (Jerry Snitselaar) [1815610] - [iommu] iommu/vt-d: Use dma_direct for bypass devices (Jerry Snitselaar) [1815610] - [dma] dma-direct: don't check swiotlb=force in dma_direct_map_resource (Jerry Snitselaar) [1815610] - [mm] dma-mapping: remove the default map_resource implementation (Jerry Snitselaar) [1815610] - [iommu] Revert "iommu/vt-d: Fix lock inversion between iommu->lock and device_domain_lock" (Jerry Snitselaar) [1815610 1813666] - [dma] dma-direct: don't truncate dma_required_mask to bus addressing capabilities (Jerry Snitselaar) [1815610] - [acpi] ACPI / utils: Introduce acpi_dev_hid_uid_match() helper (Jerry Snitselaar) [1815610] - [security] efi: Only print errors about failing to get certs if EFI vars are found (Lenny Szubowicz) [1804969] - [infiniband] RDMA/iw_cxgb4: Fix incorrect function parameters (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cxgb4: initiate CLOSE when entering TERM (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()' (Vishal Kulkarni) [1828676] - [infiniband] RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case (Vishal Kulkarni) [1828676] - [infiniband] iw_cxgb4: fix ECN check on the passive accept (Vishal Kulkarni) [1828676] - [vfio] vfio/pci: fix memory leaks of eventfd ctx (Alex Williamson) [1837678] - [vfio] vfio/pci: fix memory leaks in alloc_perm_bits() (Alex Williamson) [1837678] - [vfio] vfio: avoid possible overflow in vfio_iommu_type1_pin_pages (Alex Williamson) [1837678] - [vfio] vfio/mdev: make create attribute static (Alex Williamson) [1837678] - [vfio] vfio/type1: remove hugepage checks in is_invalid_reserved_pfn() (Alex Williamson) [1837678] - [vfio] vfio/type1: Initialize resv_msi_base (Alex Williamson) [1837678] - [vfio] vfio_pci: Restore original state on release (Alex Williamson) [1837678] - [uapi] vfio: re-arrange vfio region definitions (Alex Williamson) [1837678] - [vfio] mdev: Send uevents around parent device registration (Alex Williamson) [1837678] - [vfio] vfio/mdev: Synchronize device create/remove with parent removal (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid creating sysfs remove file on stale device removal (Alex Williamson) [1837678] - [vfio] vfio/mdev: Improve the create/remove sequence (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid inline get and put parent helpers (Alex Williamson) [1837678] - [vfio] vfio/mdev: Fix aborting mdev child device removal if one fails (Alex Williamson) [1837678] - [vfio] vfio/mdev: Follow correct remove sequence (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid masking error code to EBUSY (Alex Williamson) [1837678] - [vfio] vfio/mdev: Removed unused kref (Alex Williamson) [1837678] - [vfio] vfio/mdev: Avoid release parent reference during error path (Alex Williamson) [1837678] - [uapi] vfio-ccw: add handling for async channel instructions (Alex Williamson) [1837678] - [uapi] vfio-ccw: add capabilities chain (Alex Williamson) [1837678] - [vfio] vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING" (Alex Williamson) [1837678] - [vfio] vfio/pci: use correct format characters (Alex Williamson) [1837678] - [vfio] vfio: expand minor range when registering chrdev region (Alex Williamson) [1837678] - [vfio] vfio/mdev: add static modifier to add_mdev_supported_type (Alex Williamson) [1837678] - [vfio] vfio/type1: Remove map_try_harder() code path (Alex Williamson) [1837678] - [vfio] vfio/pci: Fix potential memory leak in vfio_msi_cap_len (Alex Williamson) [1837678] - [vfio] vfio: Mark expected switch fall-throughs (Alex Williamson) [1837678] - [fs] gfs2: Only do glock put in gfs2_create_inode for free inodes (Robert S Peterson) [1831666] - [fs] gfs2: Grab glock reference sooner in gfs2_add_revoke (Robert S Peterson) [1831666] - [fs] Revert "gfs2: Don't demote a glock until its revokes are written" (Robert S Peterson) [1831666] - [fs] signal: Fix wrong PIDTYPE_TGID check in send_sigio() & send_sigurg() (Waiman Long) [1845597] - [md] dm mpath: add DM device name to Failing/Reinstating path log messages (Mike Snitzer) [1822975] - [md] dm mpath: enhance queue_if_no_path debugging (Mike Snitzer) [1822975] - [md] dm mpath: restrict queue_if_no_path state machine (Mike Snitzer) [1822975] - [md] dm mpath: simplify __must_push_back (Mike Snitzer) [1822975] - [md] dm: use DMDEBUG macros now that they use pr_debug variants (Mike Snitzer) [1822975] - [include] dm: use dynamic debug instead of compile-time config option (Mike Snitzer) [1822975] - [md] dm mpath: switch paths in dm_blk_ioctl() code path (Mike Snitzer) [1822975] - [md] dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath (Mike Snitzer) [1822975] - [tools] selftests: mlxsw: qos_mc_aware: Specify arping timeout as an integer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly (Ivan Vecera) [1821646] - [netdrv] mlxsw: Fix some IS_ERR() vs NULL bugs (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_PRIORITY (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: fix unintention integer overflow on left shift (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap policers (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add support for setting of packet trap group parameters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Switch to use correct packet trap group (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Do not initialize dedicated discard policer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add devlink-trap policer support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Prepare policers for registration with devlink (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Track used packet trap policer IDs (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend QPCR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_ptp: Fix build warnings (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Avoid uninitialized symbol errors (Ivan Vecera) [1821646] - [netdrv] mlxsw: switchx2: Remove unnecessary conversion to bool (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl: Avoid defining static variable in header file (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remove unused RIF and FID families (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Add proper function documentation (Ivan Vecera) [1821646] - [netdrv] mlxsw: i2c: Add missing field documentation (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Fix list iteration in error path (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_dscp_router: Test no DSCP rewrite after pedit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Offload FLOW_ACTION_MANGLE (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add DSCP, ECN, dscp_rw to QOS_ACTION (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Rename mlxsw_afa_qos_cmd to mlxsw_afa_qos_switch_prio_cmd (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Explicitly register packet trap groups (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Fix 64-bit division in mlxsw_sp_counter_resources_register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Offload FLOW_ACTION_PRIORITY (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add QOS_ACTION (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Only issue reset when system is ready (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add tc action hw_stats tests (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Expose devlink resource occupancy for counters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Consolidate subpools initialization (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Move config validation along with resource register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Expose subpool sizes over devlink resources (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Add entry_size_res_id for each subpool and use it to query entry size (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Move sub_pools under per-instance pool struct (Ivan Vecera) [1821646] - [tools] selftests: spectrum-2: Adjust tc_flower_scale limit according to current counter count (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_cnt: Query bank size from FW resources (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase register field length to 31 bits (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: RED: Test RED ECN nodrop offload (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Offload RED ECN nodrop mode (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Ask device for rule stats only if counter was created (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of FIFO Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Add handle parameter to ..._ops.replace (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Introduce struct mlxsw_sp_qdisc_state (Ivan Vecera) [1821646] - [netdrv] net: mlxfw: Replace zero-length array with flexible-array member (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_defprio: Use until_counter_is (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Wait longer before accessing the device after reset (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Update module_type values in PMTM register and map them to width (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: resource_scale: Invoke for Spectrum-3 (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Reduce router scale running time using offload indication (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Reduce running time using offload indication (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add shared buffer traffic test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add mlxsw lib (Ivan Vecera) [1821646] - [tools] selftests: devlink_lib: Add devlink port helpers (Ivan Vecera) [1821646] - [tools] selftests: devlink_lib: Check devlink info command is supported (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add shared buffer configuration test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in rtnetlink test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in vxlan test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Use busywait helper in blackhole routes test (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_l3_drops: Avoid race condition (Ivan Vecera) [1821646] - [tools] selftests: add a mirror test to mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [tools] selftests: add egress redirect test to mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add mlxsw_sp_span_ops.buffsize_get for Spectrum-3 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Initialize advertised speeds to supported speeds (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Move the ECN-marked packet counter to ethtool (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Optimize SFN records processing (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Lookup and pass cookie down to devlink_trap_report() (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Extract cookie index for ACL discard trap packets (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Implement flow_offload action cookie offload (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Add trap with userdef action (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: fix spelling mistake: "progamming" -> "programming" (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_acl_drops: Add ACL traps test (Ivan Vecera) [1821646] - [tools] selftests: pass pref and handle to devlink_trap_drop_* helpers (Ivan Vecera) [1821646] - [tools] selftests: introduce test for mlxsw tc flower restrictions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Add ACL devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Introduce dummy group with thin policer (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend MLXSW_RXL_DIS to register disabled trap group (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Allow to enable/disable rx_listener for trap (Ivan Vecera) [1821646] - [netdrv] mlxsw: acl_flex_actions: Trap all ACL dropped packets to DISCARD_*_ACL traps (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Pass the ingress indication down to flex action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Disable mixed bound blocks to contain action drop (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Track ingress and egress block bindings (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Prepare mlxsw_core_trap_action_set() to handle not only action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Use listener->en/dis_action instead of hard-coded values (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Allow to register disabled traps using MLXSW_RXL_DIS (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Set unreg_action to be SET_FW_DEFAULT (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Remove unused values (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove priv from listener equality comparison (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Make block arg const where appropriate (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Make global arrays const as they should be (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove initialization to false of mlxsw_listener struct (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Convert is_event and is_ctrl bools to be single bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove dummy union name from struct mlxsw_listener (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Remove unused action field from mlxsw_rx_listener struct (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Move policer initialization to mlxsw_sp_trap_init() (Ivan Vecera) [1821646] - [netdrv] mlxsw: core_acl_flex_actions: Rename Trap / Discard Action to Trap Action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Move functions to avoid their forward declarations (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Use err variable instead of directly checking func return value (Ivan Vecera) [1821646] - [netdrv] net/mlx5: Add fsm_reactivate callback support (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Add reactivate flow support to FSM burn flow (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Use MLXFW_ERR_MSG macro for error reporting (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Convert pr_* to dev_* in mlxfw_fsm.c (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: More error messages coverage (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Improve FSM err message reporting and return codes (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Generic mlx FW flash status notify (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remove RTNL where possible (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from exported helpers (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from inetaddr listeners (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from netdev listener (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dpipe: Take router lock from dpipe code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Take router lock from inside routing code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Introduce router lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Store NVE decapsulation configuration in router (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Expose router struct to internal users (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Protect multicast route list with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Protect multicast table list with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_mr: Publish multicast route after writing it to the device (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_nve: Make tunnel initialization symmetric (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Export function to check if RIF exists (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Prevent RIF access outside of routing code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Prepare function for router lock introduction (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Prepare function for router lock introduction (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken when resolving underlay device (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken during RIF teardown (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Do not assume RTNL is taken during nexthop init (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Only update mirroring agents if present (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Convert callers to use new mirroring API (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Prepare work item to update mirroring agents (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Use struct_size() to simplify allocation (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Do no expose mirroring agents to entire driver (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Protect counter pool with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_kvdl: Protect allocations with a lock (Ivan Vecera) [1821646] - [netdrv] mlxsw: Replace zero-length array with flexible-array member (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: vxlan: Add test for error path (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: vxlan: Adjust test to recent changes (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: extack: Test creation of multiple VLAN-aware bridges (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: extack: Test bridge creation with VXLAN (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Remove deprecated test (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Reduce dependency between bridge and router code (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Remove VXLAN checks during FID membership (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Have VXLAN device take reference on FID (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack to bridge creation function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_fid: Use 'refcount_t' for FID reference counting (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dpipe: Add missing error path (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add validation of hardware device types for MGPIR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Clear offload indication from IPv6 nexthops on abort (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for local table route replacement (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Fix 64-bit division error in mlxsw_sp_qdisc_tbf_rate_kbps (Ivan Vecera) [1821646] - [netdrv] mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of TBF Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Configure shaper rate and burst size together (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add lowest_shaper_bs to struct mlxsw_sp (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase MLXSW_REG_QEEC_MAS_DIS (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add max_shaper_bs to QoS ETS Element Configuration (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Extract a common leaf unoffload function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Add mlxsw_sp_qdisc_get_class_stats() (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Extract a per-TC stat function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Fix use-after-free during reload (Ivan Vecera) [1821646] - [netdrv] spectrum: Add a delayed work to update SPAN buffsize according to speed (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix SPAN egress mirroring buffer size for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_span: Put buffsize update code into helper function (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Push code getting port speed into a helper (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_vxlan: Add test case for overlay_smac_is_mc (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add OVERLAY_SMAC_MC trap (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_ipip: Add test case for decap_error (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_tunnel_vxlan: Add test case for decap_error (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add tunnel devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Reorder cases according to enum order (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add ECN configurations with IPinIP tunnels (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Tunneling IPinIP Decapsulation ECN Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Tunneling IPinIP Encapsulation ECN Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add NON_ROUTABLE trap (Ivan Vecera) [1821646] - [tools] selftests: devlink_trap_l3_drops: Add test cases of irif and erif disabled (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add irif and erif disabled traps (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Wipe xstats.backlog of down ports (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation (Ivan Vecera) [1821646] - [netdrv] mlxsw: switchx2: Do not modify cloned SKBs during xmit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Do not modify cloned SKBs during xmit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Do not enforce same firmware version for multiple ASICs (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test for FIB offload API (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Set hardware flags for routes (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Separate nexthop offload indication from route (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Only require minimum firmware version (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Update firmware version to xx.2000.2714 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Ignore grafting of invisible FIFO (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable DIP_LINK_LOCAL check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable SIP_DIP check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable MC_DMAC check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Disable SIP_CLASS_E check in hardware pipeline (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_dcb: Allow setting default port priority (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add QoS Port DSCP to Priority Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Support offloading of ETS Qdisc (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Generalize PRIO offload to support ETS (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Rename MLXSW_REG_QEEC_HIERARCY_* enumerators (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_qdisc: Clarify a comment (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use dedicated policer for VRRP packets (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Skip loopback RIFs during MAC validation (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Fix out-of-memory error in mfa2 flash burning (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Fix use of uninitialized adjacency index (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: After underlay moves, demote conflicting tunnels (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Check devlink device before running test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add router scale test for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Fix determining underlay for a GRE tunnel (Ivan Vecera) [1821646] - [netdrv] net/mlxfw: Verify FSM error code translation doesn't exceed array size (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Allocate discard adjacency entry when needed (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Enable EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add support for using EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend EMAD information reported to devlink hwerr (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add support for EMAD string TLV parsing (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add EMAD string TLV (Ivan Vecera) [1821646] - [netdrv] mlxsw: emad: Remove deprecated EMAD TLVs (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Parse TLVs' offsets of incoming EMADs (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Enable devlink reload only on probe (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap layer 3 exceptions (Ivan Vecera) [1821646] - [tools] selftests: forwarding: devlink: Add functionality for trap exceptions test (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 3 devlink-trap exceptions support (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add specific trap for packets routed via invalid nexthops (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add new FIB entry type for reject routes (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap layer 3 drops (Ivan Vecera) [1821646] - [tools] selftests: devlink: Make devlink_trap_cleanup() more generic (Ivan Vecera) [1821646] - [tools] selftests: devlink: Export functions to devlink library (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 3 devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix error return code in mlxsw_sp_port_module_info_init() (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Generalize split count check (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Iterate over all ports in gap during unsplit create (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Fix base port get for split count 4 and 8 (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use port_module_max_width to compute base port index (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Remember split base local port and use it in unsplit (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Introduce resource for getting offset of 4 lanes split port (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Push getting offsets of split ports into a helper (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add sanity checks into module info get (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Pass mapping values in port mapping structure (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use mapping of port being split for creating split ports (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Replace port_to_module array with array of structs (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Distinguish between unsplittable and split port (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Move max_width check up before count check (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use PMTM register to get max module width (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add Port Module Type Mapping Register (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend PMLP tx/rx lane value size to 4 bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: Fix 64-bit division in mlxsw_sp_sb_prs_init (Ivan Vecera) [1821646] - [netdrv] mlxsw: Enforce firmware version for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] mlxsw: Bump firmware version to 13.2000.2308 (Ivan Vecera) [1821646] - [netdrv] mlxsw: pci: Increase PCI reset timeout for SN3800 systems (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Increase size of MPAR register (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Unpublish devlink parameters during reload (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: remove unneeded semicolon (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Calculate the size of the main pool (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use guaranteed buffer size as pool size limit (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Extend QSFP EEPROM size for ethtool (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add macro for getting QSFP module EEPROM page number (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_trap: Push Ethernet header before reporting trap (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add Spectrum-2 target scale for tc flower scale test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add a resource scale test for Spectrum-2 (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add Spectrum-2 mirror-to-gretap target scale test (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Generalize the parameters of mirror_gre test (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Register switched port analyzers (SPAN) as resource (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add support for 400Gbps (50Gbps per lane) link modes (Ivan Vecera) [1821646] - [netdrv] mlxsw: minimal: Add validation for FW version (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Push minor/subminor fw version check into helper (Ivan Vecera) [1821646] - [netdrv] mlxsw: thermal: Provide optimization for QSFP modules number detection (Ivan Vecera) [1821646] - [netdrv] mlxsw: hwmon: Provide optimization for QSFP modules number detection (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Extend MGPIR register with new field exposing the number of QSFP modules (Ivan Vecera) [1821646] - [netdrv] mlxsw: Propagate extack down to register_fib_notifier() (Ivan Vecera) [1821646] - [netdrv] mlxsw: Register port netdevices into net of core (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Take devlink net instead of init_net (Ivan Vecera) [1821646] - [netdrv] mlxsw: PCI: Send EMAD traffic on a separate queue (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Use per-netns netdevice notifier registration (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Clear VLAN filters during port initialization (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Add the ability to query the CPU port's shared buffer (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Register CPU port with devlink (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_buffers: Prevent changing CPU port's configuration (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add a test case for devlink-trap (Ivan Vecera) [1821646] - [tools] selftests: mlxsw: Add test cases for devlink-trap L2 drops (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Add devlink-trap support (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add trap group for layer 2 discards (Ivan Vecera) [1821646] - [netdrv] mlxsw: Add layer 2 discard trap IDs (Ivan Vecera) [1821646] - [netdrv] mlxsw: reg: Add new trap actions (Ivan Vecera) [1821646] - [netdrv] mlxsw: core: Add API to set trap action (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Extend to support Spectrum-3 ASIC (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Forbid to offload match on reserved TCP flags bits (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_acl: Track rules that forbid egress block bind (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_flower: Forbid to offload mirred redirect on egress (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum_router: Increase scale of IPv6 nexthop groups (Ivan Vecera) [1821646] - [netdrv] mlxsw: spectrum: Expose KVD size for Spectrum-2 (Ivan Vecera) [1821646] - [netdrv] geneve: change from tx_error to tx_dropped on missing metadata (Jiri Benc) [1843412] - [net] mptcp: use untruncated hash in ADD_ADDR HMAC (Florian Westphal) [1840167] - [net] mptcp: use rightmost 64 bits in ADD_ADDR HMAC (Florian Westphal) [1840167] - [tools] selftests: mptcp: pm: rm the right tmp file (Florian Westphal) [1840167] - [net] mptcp: cope better with MP_JOIN failure (Florian Westphal) [1840167] - [net] inet_connection_sock: factor out destroy helper. (Florian Westphal) [1840167] - [net] mptcp: add new sock flag to deal with join subflows (Florian Westphal) [1840167] - [net] mptcp: Initialize map_seq upon subflow establishment (Florian Westphal) [1840167] - [net] mptcp: set correct vfs info for subflows (Florian Westphal) [1840167] - [net] mptcp: fix uninitialized value access (Florian Westphal) [1840167] - [net] mptcp: initialize the data_fin field for mpc packets (Florian Westphal) [1840167] - [net] mptcp: fix 'use_ack' option access. (Florian Westphal) [1840167] - [net] mptcp: avoid a WARN on bad input. (Florian Westphal) [1840167] - [net] mptcp: move option parsing into mptcp_incoming_options() (Florian Westphal) [1840167] - [net] mptcp: consolidate synack processing. (Florian Westphal) [1840167] - [net] mptcp: replace mptcp_disconnect with a stub (Florian Westphal) [1840167] - [net] mptcp: fix race in msk status update (Florian Westphal) [1840167] - [net] tcp: mptcp: use mptcp receive buffer space to select rcv window (Florian Westphal) [1840167] - [net] mptcp/pm_netlink.c : add check for nla_put_in/6_addr (Florian Westphal) [1840167] - [net] mptcp: fix data_fin handing in RX path (Florian Westphal) [1840167] - [net] mptcp: drop req socket remote_key* fields (Florian Westphal) [1840167] - [net] mptcp: avoid flipping mp_capable field in syn_recv_sock() (Florian Westphal) [1840167] - [net] mptcp: handle mptcp listener destruction via rcu (Florian Westphal) [1840167] - [net] mptcp: fix 'Attempt to release TCP socket in state' warnings (Florian Westphal) [1840167] - [net] mptcp: fix splat when incoming connection is never accepted before exit/close (Florian Westphal) [1840167] - [net] mptcp: fix double-unlock in mptcp_poll (Florian Westphal) [1840167] - [net] mptcp: add some missing pr_fmt defines (Florian Westphal) [1840167] - [net] mptcp: fix "fn parameter not described" warnings (Florian Westphal) [1840167] - [net] mptcp: re-check dsn before reading from subflow (Florian Westphal) [1840167] - [net] mptcp: subflow: check parent mptcp socket on subflow state change (Florian Westphal) [1840167] - [net] mptcp: fix tcp fallback crash (Florian Westphal) [1840167] - [tools] selftests:mptcp: fix failure due to whitespace damage (Florian Westphal) [1840167] - [tools] selftests: add test-cases for MPTCP MP_JOIN (Florian Westphal) [1840167] - [tools] selftests: add PM netlink functional tests (Florian Westphal) [1840167] - [net] mptcp: add netlink-based PM (Florian Westphal) [1840167] - [net] mptcp: add and use MIB counter infrastructure (Florian Westphal) [1840167] - [net] mptcp: allow dumping subflow context to userspace (Florian Westphal) [1840167] - [net] mptcp: implement and use MPTCP-level retransmission (Florian Westphal) [1840167] - [net] mptcp: rework mptcp_sendmsg_frag to accept optional dfrag (Florian Westphal) [1840167] - [net] mptcp: allow partial cleaning of rtx head dfrag (Florian Westphal) [1840167] - [net] mptcp: implement memory accounting for mptcp rtx queue (Florian Westphal) [1840167] - [net] mptcp: introduce MPTCP retransmission timer (Florian Westphal) [1840167] - [net] mptcp: queue data for mptcp level retransmission (Florian Westphal) [1840167] - [net] mptcp: update per unacked sequence on pkt reception (Florian Westphal) [1840167] - [net] mptcp: Implement path manager interface commands (Florian Westphal) [1840167] - [net] mptcp: Add handling of outgoing MP_JOIN requests (Florian Westphal) [1840167] - [net] mptcp: Add handling of incoming MP_JOIN requests (Florian Westphal) [1840167] - [net] mptcp: Add path manager interface (Florian Westphal) [1840167] - [net] mptcp: Add ADD_ADDR handling (Florian Westphal) [1840167] - [net] tcp: annotate sk->sk_wmem_queued lockless reads (Florian Westphal) [1840167] - [net] mptcp: don't hang in mptcp_sendmsg() after TCP fallback (Florian Westphal) [1840167] - [net] mptcp: Remove set but not used variable 'can_ack' (Florian Westphal) [1840167] - [net] mptcp: rename fourth ack field (Florian Westphal) [1840167] - [net] mptcp: move msk state update to subflow_syn_recv_sock() (Florian Westphal) [1840167] - [net] mptcp: drop unneeded checks (Florian Westphal) [1840167] - [net] mptcp: create msk early (Florian Westphal) [1840167] - [net] mptcp: don't hang before sending 'MP capable with data' (Florian Westphal) [1840167] - [net] mptcp: don't grow mptcp socket receive buffer when rcvbuf is locked (Florian Westphal) [1840167] - [tools] mptcp: selftests: add rcvbuf set option (Florian Westphal) [1840167] - [net] mptcp: always include dack if possible. (Florian Westphal) [1840167] - [net] mptcp: Only send DATA_FIN with final mapping (Florian Westphal) [1840167] - [net] mptcp: Use per-subflow storage for DATA_FIN sequence number (Florian Westphal) [1840167] - [net] mptcp: Check connection state before attempting send (Florian Westphal) [1840167] - [net] mptcp: add dummy icsk_sync_mss() (Florian Westphal) [1840167] - [net] mptcp: defer work schedule until mptcp lock is released (Florian Westphal) [1840167] - [net] mptcp: avoid work queue scheduling if possible (Florian Westphal) [1840167] - [net] mptcp: remove mptcp_read_actor (Florian Westphal) [1840167] - [net] mptcp: add rmem queue accounting (Florian Westphal) [1840167] - [net] mptcp: update mptcp ack sequence from work queue (Florian Westphal) [1840167] - [net] mptcp: add work queue skeleton (Florian Westphal) [1840167] - [net] mptcp: add and use mptcp_data_ready helper (Florian Westphal) [1840167] - [net] xfrm: fix a NULL-ptr deref in xfrm_local_error (Xin Long) [1835208] - [net] xfrm: add IPv6 support for espintcp (Sabrina Dubroca) [1446392] - [net] xfrm: add support for UDPv6 encapsulation of ESP (Sabrina Dubroca) [1446392] - [net] xfrm: ifdef setsockopt(UDP_ENCAP_ESPINUDP/UDP_ENCAP_ESPINUDP_NON_IKE) (Sabrina Dubroca) [1446392] - [net] esp: Export esp_output_fill_trailer function (Sabrina Dubroca) [1446392] - [net] udp: fix jump label misuse (Sabrina Dubroca) [1446392] - [net] udp: implement complete book-keeping for encap_needed (Sabrina Dubroca) [1446392] - [net] xfrm: espintcp: save and call old ->sk_destruct (Sabrina Dubroca) [1446392] - [net] xfrm: add espintcp (RFC 8229) (Sabrina Dubroca) [1446392] - [net] esp4: split esp_output_udp_encap and introduce esp_output_encap (Sabrina Dubroca) [1446392] - [net] esp4: prepare esp_input_done2 for non-UDP encapsulation (Sabrina Dubroca) [1446392] - [net] xfrm: add route lookup to xfrm4_rcv_encap (Sabrina Dubroca) [1446392] - [net] xfrm: introduce xfrm_trans_queue_net (Sabrina Dubroca) [1446392] - [net] add queue argument to __skb_wait_for_more_packets and __skb_{, try_}recv_datagram (Sabrina Dubroca) [1446392] - [net] use skb_queue_empty_lockless() in busy poll contexts (Sabrina Dubroca) [1446392] - [include] net: add skb_queue_empty_lockless() (Sabrina Dubroca) [1446392] - [net] add READ_ONCE() annotation in __skb_wait_for_more_packets() (Sabrina Dubroca) [1446392] - [net] datagram: remove rendundant 'peeked' argument (Sabrina Dubroca) [1446392] - [tools] kvm: selftests: fix rdtsc() for vmx_tsc_adjust_test (Vitaly Kuznetsov) [1841490] - [x86] kvm: lapic: Also cancel preemption timer when disarm LAPIC timer (Vitaly Kuznetsov) [1841490] - [s390] kvm_host: unify VM_STAT and VCPU_STAT definitions in a single place (Vitaly Kuznetsov) [1841490] - [x86] kvm/x86: Remove redundant function implementations (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: VMX preemption timer migration test (Vitaly Kuznetsov) [1841490] - [tools] tools arch kvm: Sync kvm headers with the kernel sources (Vitaly Kuznetsov) [1841490] - [tools] tools headers uapi: Update tools's copy of kvm.h headers (Vitaly Kuznetsov) [1841490] - [tools] tools headers: Sync the various kvm.h header copies (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Fix VMX preemption timer migration (Vitaly Kuznetsov) [1841490] - [uapi] x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit (Vitaly Kuznetsov) [1841490] - [virt] kvm: introduce kvm_read_guest_offset_cached() (Vitaly Kuznetsov) [1841490] - [virt] kvm: rename kvm_arch_can_inject_async_page_present() to kvm_arch_can_dequeue_async_page_present() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Replace zero-length array with flexible-array (Vitaly Kuznetsov) [1841490] - [virt] revert "kvm: No need to retry for hva_to_pfn_remapped()" (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: implement KVM_GET_NESTED_STATE and KVM_SET_NESTED_STATE (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: fix smm test on SVM (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: add a SVM version of state-test (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: introduce cpu_has_svm() check (Vitaly Kuznetsov) [1841490] - [x86] kvm: mmu: pass arbitrary CR0/CR4/EFER to kvm_init_shadow_mmu (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: leave guest mode when clearing EFER.SVME (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: split nested_vmcb_check_controls (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove HF_HIF_MASK (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove HF_VINTR_MASK (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: synthesize correct EXITINTINFO on vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: preserve VGIF across VMCB switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract svm_set_gif (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove unnecessary if (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: synchronize VMCB controls updated by the processor on every vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: restore clobbered INT_CTL fields after clearing VINTR (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: save all control fields in svm->nested (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove trailing padding for struct vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: pass vmcb_control_area to copy_vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: clean up tsc_offset update (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: move MMU setup to nested_prepare_vmcb_control (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract preparation of VMCB for nested run (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: extract load_nested_vmcb_control (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: move map argument out of enter_svm_guest_mode (Vitaly Kuznetsov) [1841490] - [virt] kvm: check userspace_addr for all memslots (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: always update CR3 in VMCS (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: always update CR3 in VMCB (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: correctly inject INIT vmexits (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: remove exit_required (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: inject exceptions via svm_check_nested_events (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: enable event window in inject_pending_event (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: track manually whether an event has been injected (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Preserve registers modifications done before nested_svm_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Initialize tdp_level during vCPU creation (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: leave ASID aside in copy_vmcb_control_area (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: fix condition for filtering async PF (Vitaly Kuznetsov) [1841490] - [x86] kvm: Fix the indentation to match coding style (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: replace "fall through" with "return" to indicate different case (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Take an unsigned 32-bit int for has_emulated_msr()'s index (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Remove superfluous brackets from case statement (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: allow KVM_STATE_NESTED_MTF_PENDING in kvm_state flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: simplify is_mmio_spte (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: enable X86_FEATURE_WAITPKG in KVM capabilities (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Set mmio_value to '0' if reserved #PF can't be generated (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: only do L1TF workaround on affected processors (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Migrate the VMX-preemption timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Change emulated VMX-preemption timer hrtimer to absolute (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Really make emulated nested preemption timer pinned (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Remove unused 'ops' param from nested_vmx_hardware_setup() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Remove unnecessary V_IRQ unsetting (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Merge svm_enable_vintr into svm_set_vintr (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Handle preemption timer fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: TSCDEADLINE MSR emulation fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: introduce kvm_can_use_hv_timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Optimize posted-interrupt delivery for timer fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce more exit_fastpath_completion enum values (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce kvm_vcpu_exit_request() helper (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Print symbolic names of VMX VM-Exit flags in traces (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Introduce generic fastpath handler (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop superfluous VMREAD of vmcs02.GUEST_SYSENTER_* (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Truncate writes to vmcs.SYSENTER_EIP/ESP for 32-bit vCPU (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Improve handle_external_interrupt_irqoff inline assembly (Vitaly Kuznetsov) [1841490] - [documentation] kvm: documentation: Fix up cpuid page (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Sanity check on gfn before removal (Vitaly Kuznetsov) [1841490] - [virt] kvm: No need to retry for hva_to_pfn_remapped() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Force ASYNC_PF_PER_VCPU to be power of two (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Remove unneeded __ASM_SIZE usage with POP instruction (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add a helper to consolidate root sp allocation (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Drop KVM's hugepage enums in favor of the kernel's enums (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Move max hugepage level to a separate #define (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Tweak PSE hugepage handling to avoid 2M vs 4M conundrum (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Cleanup vcpu->arch.guest_xstate_size (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Tweak handling of failure code for nested VM-Enter failure (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Capture TDP level when updating CPUID (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move nested EPT out of kvm_x86_ops.get_tdp_level() hook (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Add proper cache tracking for CR0 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Add proper cache tracking for CR4 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Unconditionally validate CR3 during nested transitions (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Save L1 TSC offset in 'struct kvm_vcpu_arch' (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip IBPB when temporarily switching between vmcs01 and vmcs02 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip IBPB when switching between vmcs01 and vmcs02 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use accessor to read vmcs.INTR_INFO when handling exception (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: handle wrap around 32-bit address space (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Replace late check_nested_events() hack with more precise fix (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vmx_get_rflags() to query RFLAGS in vmx_interrupt_blocked() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vmx_interrupt_blocked() directly from vmx_handle_exit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: WARN on injected+pending exception even in nested case (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Preserve IRQ/NMI/SMI priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Report interrupts as allowed when in L2 and exit-on-interrupt is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Prioritize SMI over nested IRQ/NMI (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Preserve IRQ/NMI priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Split out architectural interrupt/NMI/SMI blocking checks (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Split out architectural interrupt/NMI blocking checks (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Move SMI vmexit handling to svm_check_nested_events() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Report NMIs as allowed when in L2 and Exit-on-NMI is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Report NMIs as allowed when in L2 and Exit-on-NMI is set (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: replace is_smm checks with kvm_x86_ops.smi_allowed (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Make return for {interrupt_nmi, smi}_allowed() a bool instead of int (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Set KVM_REQ_EVENT if run is canceled with req_immediate_exit set (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Open a window for pending nested VMX preemption timer (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Preserve exception priority irrespective of exiting behavior (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Implement check_nested_events for NMI (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: immediately inject INTR vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: leave halted state on vmexit (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: introduce nested_run_pending (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Disable AVIC before setting V_IRQ (Vitaly Kuznetsov) [1841490] - [virt] kvm: Introduce kvm_make_all_cpus_request_except() (Vitaly Kuznetsov) [1841490] - [tools] kvm: vmx: pass correct DR6 for GD userspace exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86, svm: isolate vcpu->arch.dr6 from vmcb->save.dr6 (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: keep DR6 synchronized with vcpu->arch.dr6 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: trap #DB and #BP to userspace if guest debugging is on (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add KVM_SET_GUEST_DEBUG test (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fix single-step with KVM_SET_GUEST_DEBUG (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Set RTM for DB_VECTOR too for KVM_EXIT_DEBUG (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: fix DR6 delivery for various cases of #DB injection (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Declare KVM_CAP_SET_GUEST_DEBUG properly (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Fix build for evmcs.h (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Use KVM CPU capabilities to determine CR4 reserved bits (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path (Vitaly Kuznetsov) [1841490] - [x86] kvm: ioapic: Restrict lazy EOI update to edge-triggered interrupts (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Fixes posted interrupt check for IRQs delivery modes (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: fill in kvm_run->debug.arch.dr[67] (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Replace a BUG_ON(1) with BUG() to squash clang warning (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: do not allow VMRUN inside SMM (Vitaly Kuznetsov) [1841490] - [virt] kvm: add capability for halt polling (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Store vmcs.EXIT_QUALIFICATION as an unsigned long, not u32 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop a redundant call to vmx_get_intr_info() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: move nested-related kvm_x86_ops to a separate struct (Vitaly Kuznetsov) [1841490] - [x86] kvm: evmcs: check if nesting is enabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: check_nested_events is never NULL (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm/set_memory_region_test: do not check RIP if the guest shuts down (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: avoid infinite loop on NPF from bad address (Vitaly Kuznetsov) [1841490] - [x86] kvm: Remove redundant argument to kvm_arch_vcpu_ioctl_run (Vitaly Kuznetsov) [1841490] - [x86] kvm: nsvm: Check for CR0.CD and CR0.NW on VMRUN of nested guests (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Improve latency for single target IPI fastpath (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Optimize handling of VM-Entry failures in vmx_vcpu_run() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Remove non-functional "support" for CR3 target values (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Avoid an extra memslot lookup in try_async_pf() for L2 (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Set @writable to false for non-visible accesses by L2 (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Cache vmcs.EXIT_INTR_INFO using arch avail_reg flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Cache vmcs.EXIT_QUALIFICATION using arch avail_reg flags (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop manual clearing of segment cache on nested VMCS switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Reset register cache (available and dirty masks) on VMCS switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invoke ept_save_pdptrs() if and only if PAE paging is enabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Rename exit_reason to vm_exit_reason for nested VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Cast exit_reason to u16 to check for nested EXTERNAL_INTERRUPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Pull exit_reason from vcpu_vmx in nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Drop a superfluous WARN on reflecting EXTERNAL_INTERRUPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Split VM-Exit reflection logic into L0 vs. L1 wants (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: match comment with return type for nested_vmx_exit_reflected (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move nested VM-Exit tracepoint into nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move VM-Fail check out of nested_vmx_exit_reflected() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Uninline nested_vmx_reflect_vmexit(), i.e. move it to nested.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move reflection check into nested_vmx_reflect_vmexit() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Use do_machine_check to pass MCE to the host (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Clean cr3/pgd handling in vmx_load_mmu_pgd() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Replace "cr3" with "pgd" in "new cr3/pgd" related code (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Free only the affected contexts when emulating INVEPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Don't flush TLB on nested VMX transition (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Skip MMU sync on nested VMX transition when possible (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add module param to force TLB flush on root reuse (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Add separate override for MMU sync during fast CR3 switch (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Move fast_cr3_switch() side effects to __kvm_mmu_new_cr3() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Don't reload APIC access page if its control is disabled (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Retrieve APIC access page HPA only when necessary (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Reload APIC access page on nested VM-Exit only if necessary (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Selectively use TLB_FLUSH_CURRENT for nested VM-Enter/VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86/mmu: Use KVM_REQ_TLB_FLUSH_CURRENT for MMU specific flushes (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Introduce KVM_REQ_TLB_FLUSH_CURRENT to flush current ASID (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Add helper to handle TLB flushes on nested VM-Enter/VM-Exit (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Rename ->tlb_flush() to ->tlb_flush_all() (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Document the ASID logic in svm_flush_tlb() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Introduce vmx_flush_tlb_current() (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Move nested_get_vpid02() to vmx/nested.h (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move vmx_flush_tlb() to vmx.c (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Wire up ->tlb_flush_guest() directly to svm_flush_tlb() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Drop @invalidate_gpa param from kvm_x86_ops' tlb_flush() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Clean up vmx_flush_tlb_gva() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: make Hyper-V PV TLB flush use tlb_flush_guest() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Move "flush guest's TLB" logic to separate kvm_x86_ops hook (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Use vpid_sync_vcpu_addr() to emulate INVVPID with address (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Drop redundant capability checks in low level INVVPID helpers (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Handle INVVPID fallback logic in vpid_sync_vcpu_addr() (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Move vpid_sync_vcpu_addr() down a few lines (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Use vpid_sync_context() directly when possible (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Skip global INVVPID fallback if vpid==0 in vpid_sync_context() (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Sync SPTEs when injecting page/EPT fault into L1 (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: cleanup kvm_inject_emulated_page_fault (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: introduce kvm_mmu_invalidate_gva (Vitaly Kuznetsov) [1841490] - [x86] kvm: Disable objtool frame pointer checking for vmenter.S (Vitaly Kuznetsov) [1841490] - [x86] kvm: Remove CREATE_IRQCHIP/SET_PIT2 race (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Export kvm_propagate_fault() (as kvm_inject_emulated_page_fault) (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invalidate all roots when emulating INVVPID without EPT (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Invalidate all EPTP contexts when emulating INVEPT for L1 (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: Validate the EPTP when emulating INVEPT(EXTENT_CONTEXT) (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Flush all EPTP/VPID contexts on remote TLB flush (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: Add testcase for creating max number of memslots (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Make set_memory_region_test common to all architectures (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add "zero" testcase to set_memory_region_test (Vitaly Kuznetsov) [1841490] - [tools] selftests: kvm: Add vm_get_fd() in kvm_util (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add "delete" testcase to set_memory_region_test (Vitaly Kuznetsov) [1841490] - [tools] kvm: sefltests: Add explicit synchronization to move mem region test (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add GUEST_ASSERT variants to pass values to host (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Add util to delete memory region (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Use kernel's list instead of homebrewed replacement (Vitaly Kuznetsov) [1841490] - [tools] kvm: selftests: Take vcpu pointer instead of id in vm_vcpu_rm() (Vitaly Kuznetsov) [1841490] - [x86] kvm: pass through CPUID(0x80000006) (Vitaly Kuznetsov) [1841490] - [x86] kvm: x86: Return updated timer current count register from KVM_GET_LAPIC (Vitaly Kuznetsov) [1841490] - [virt] kvm: remove redundant assignment to variable r (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Fix __svm_vcpu_run declaration (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Do not setup frame pointer in __svm_vcpu_run (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: Do not mark svm_vcpu_run with STACK_FRAME_NON_STANDARD (Vitaly Kuznetsov) [1841490] - [x86] kvm: nvmx: reflect MTF VM-exits if injected by L1 (Vitaly Kuznetsov) [1841490] - [kernel] kvm: Check validity of resolved slot when searching memslots (Vitaly Kuznetsov) [1841490] - [x86] kvm: vmx: Enable machine check support for 32bit targets (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: move more vmentry code to assembly (Vitaly Kuznetsov) [1841490] - [x86] kvm: svm: fix compilation with modular PSP and non-modular KVM (Vitaly Kuznetsov) [1841490] - [x86] Increase KVM_MAX_VCPUS to 1024, KVM_MAX_VCPU_ID to 2048 (Eduardo Habkost) [1810811] - [scsi] scsi: core: avoid host-wide host_busy counter for scsi_mq (Ewan Milne) [1761928] - [gpio] gpio: xgene-sb: set valid IRQ type in to_irq() (Brian Masney) [1802402] - [block] rbd: compression_hint option (Ilya Dryomov) [1835925] - [include] libceph: support for alloc hint flags (Ilya Dryomov) [1835925] - [net] libceph: read_from_replica option (Ilya Dryomov) [1835925] - [net] libceph: support for balanced and localized reads (Ilya Dryomov) [1835925] - [net] libceph: crush_location infrastructure (Ilya Dryomov) [1835925] - [net] libceph: decode CRUSH device/bucket types and names (Ilya Dryomov) [1835925] - [net] libceph: add non-asserting rbtree insertion helper (Ilya Dryomov) [1835925] - [pci] PCI: pciehp: Fix MSI interrupt race (Myron Stowe) [1779610] - [security] ima: Remove __init annotation from ima_pcrread() (Bruno Meneguele) [1843774] - [security] ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init() (Bruno Meneguele) [1843774] - [security] ima: Directly assign the ima_default_policy pointer to ima_rules (Bruno Meneguele) [1843774] - [documentation] powerpc/fadump: sysfs for fadump memory reservation (Diego Domingos) [1804202] - [documentation] Documentation/ABI: Mark /sys/kernel/fadump_* sysfs files deprecated (Diego Domingos) [1804202] - [documentation] powerpc/powernv: Move core and fadump_release_opalcore under new kobject (Diego Domingos) [1804202] - [powerpc] powerpc/fadump: Reorganize /sys/kernel/fadump_* sysfs files (Diego Domingos) [1804202] - [fs] sysfs: wrap __compat_only_sysfs_link_entry_to_kobj function to change the symlink name (Diego Domingos) [1804202] - [documentation] Documentation/ABI: Add ABI documentation for /sys/kernel/fadump_* (Diego Domingos) [1804202] - [hwtracing] intel_th: pci: Add Tiger Lake CPU support (Jiri Olsa) [1483079] - [netdrv] e1000e: fix S0ix flows for cable connected case (Ken Cox) [1781385] - [netdrv] e1000e: reject unsupported coalescing params (Ken Cox) [1781385] - [netdrv] e1000e: Add support for Tiger Lake device (Ken Cox) [1781385] - [netdrv] e1000e: Add support for Alder Lake (Ken Cox) [1781385] - [netdrv] net: intel: e1000e: fix possible sleep-in-atomic-context bugs in e1000e_get_hw_semaphore() (Ken Cox) [1781385] - [netdrv] e1000e: fix missing cpu_to_le64 on buffer_addr (Ken Cox) [1781385] - [netdrv] e1000(e): use new helper tcp_v6_gso_csum_prep (Ken Cox) [1781385] - [netdrv] e1000e: Revert "e1000e: Make watchdog use delayed work" (Ken Cox) [1781385] - [netdrv] e1000e: Use netdev_info instead of pr_info for link messages (Ken Cox) [1781385] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Ken Cox) [1781385] - [netdrv] e1000e: Fix compiler warning when CONFIG_PM_SLEEP is not set (Ken Cox) [1781385] - [netdrv] net: ixgbevf: reject unsupported coalescing params (Ken Cox) [1781379] - [netdrv] ixgbevf: Remove limit of 10 entries for unicast filter list (Ken Cox) [1781379] - [netdrv] net: ixgbe: reject unsupported coalescing params (Ken Cox) [1781378] - [netdrv] ixgbe: Use pci_get_dsn() (Ken Cox) [1781378] - [netdrv] intel: Replace zero-length array with flexible-array member (Ken Cox) [1781378] - [netdrv] ixgbe: Fix calculation of queue with VFs and flow director on interface flap (Ken Cox) [1781378] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Ken Cox) [1781378] - [netdrv] ixgbe: protect TX timestamping from API misuse (Ken Cox) [1781378] - [netdrv] ixgbe: Make use of cpumask_local_spread to improve RSS locality (Ken Cox) [1781378] - [netdrv] ixgbe: Remove duplicate clear_bit() call (Ken Cox) [1781378] - [netdrv] ixgbe: Add UDP segmentation offload support (Ken Cox) [1781378] - [x86] x86/resctrl: Fix invalid attempt at removing the default resource group (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Clean up unused function parameter in mkdir path (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix a deadlock due to inaccurate reference (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix use-after-free when deleting resource groups (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Add task resctrl information display (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Check monitoring static key in the MBM overflow handler (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Do not reconfigure exiting tasks (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix potential memory leak (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix an imbalance in domain_remove_cpu() (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Fix potential lockdep warning (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Prevent NULL pointer dereference when reading mondata (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Cleanup cbm_ensure_valid() (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Prevent possible overrun during bitmap operations (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Don't stop walking closids when a locksetup group is found (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Use _ASM_BX to avoid ifdeffery (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Remove unused variable (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Remove duplicate MSR_MISC_FEATURE_CONTROL definition (Alexander Beregalov) [1830948] - [x86] x86/resctrl: Avoid confusion over the new X86_RESCTRL config (Alexander Beregalov) [1830948] - [x86] x86/cache: Rename config option to CONFIG_X86_RESCTRL (Alexander Beregalov) [1830948] - [tools] perf flamegraph: Use /bin/bash for report and record scripts (Michael Petlan) [1281843] - [tools] perf script: Add flamegraph.py script (Michael Petlan) [1281843] - [tools] perf script: Avoid NULL dereference on symbol (Michael Petlan) [1841130] - [tools] tools/build: tweak unused value workaround (Michael Petlan) [1841130] - [tools] perf stat: Fix no metric header if --per-socket and --metric-only set (Michael Petlan) [1841130] - [tools] perf python: Check if clang supports -fno-semantic-interposition (Michael Petlan) [1841130] - [tools] perf tools: Support Python 3.8+ in Makefile (Michael Petlan) [1841130] - [tools] perf script: Fix invalid read of directory entry after closedir() (Michael Petlan) [1841130] - [tools] perf script report: Fix SEGFAULT when using DWARF mode (Michael Petlan) [1841130] - [tools] perf script: add -S/--symbols documentation (Michael Petlan) [1841130] - [tools] perf pmu-events x86: Use CPU_CLK_UNHALTED.THREAD in Kernel_Utilization metric (Michael Petlan) [1841130] - [tools] perf events parser: Add missing Intel CPU events to parser (Michael Petlan) [1841130] - [tools] perf script: Allow --symbol to accept hexadecimal addresses (Michael Petlan) [1841130] - [tools] perf top: Support hotkey to change sort order (Michael Petlan) [1841130] - [tools] perf top: Support --group-sort-idx to change the sort order (Michael Petlan) [1841130] - [tools] perf symbols: Fix arm64 gap between kernel start and module end (Michael Petlan) [1841130] - [tools] perf build-test: Honour JOBS to override detection of number of cores (Michael Petlan) [1841130] - [tools] perf script: Add --show-cgroup-events option (Michael Petlan) [1841130] - [tools] perf top: Add --all-cgroups option (Michael Petlan) [1841130] - [tools] perf record: Add --all-cgroups option (Michael Petlan) [1841130] - [tools] perf record: Support synthesizing cgroup events (Michael Petlan) [1841130] - [tools] perf report: Add 'cgroup' sort key (Michael Petlan) [1841130] - [tools] perf cgroup: Maintain cgroup hierarchy (Michael Petlan) [1841130] - [tools] perf tools: Basic support for CGROUP event (Michael Petlan) [1841130] - [tools] perf tools: Add file-handle feature test (Michael Petlan) [1841130] - [tools] perf python: Include rwsem.c in the pythong biding (Michael Petlan) [1841130] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1841130] - [tools] perf script: Introduce --deltatime option (Michael Petlan) [1841130] - [tools] perf: Normalize gcc parameter when generating arch errno table (Michael Petlan) [1841130] - [tools] perf parse-events: Add defensive NULL check (Michael Petlan) [1841130] - [tools] perf callchain: Update docs regarding kernel/user space unwinding (Michael Petlan) [1841130] - [tools] perf cpumap: Fix snprintf overflow check (Michael Petlan) [1841130] - [tools] perf test: Test pmu-events aliases (Michael Petlan) [1841130] - [tools] perf pmu: Make pmu_uncore_alias_match() public (Michael Petlan) [1841130] - [tools] perf pmu: Add is_pmu_core() (Michael Petlan) [1841130] - [tools] perf test: Add pmu-events test (Michael Petlan) [1841130] - [tools] perf pmu: Refactor pmu_add_cpu_aliases() (Michael Petlan) [1841130] - [tools] perf jevents: Support test events folder (Michael Petlan) [1841130] - [tools] perf jevents: Add some test events (Michael Petlan) [1841130] - [tools] perf tools: Unify a bit the build directory output (Michael Petlan) [1841130] - [tools] perf metricgroup: Fix printing event names of metric group with multiple events incase of overlapping events (Michael Petlan) [1841130] - [tools] perf stat: Align the output for interval aggregation mode (Michael Petlan) [1841130] - [tools] perf report/top TUI: Support hotkeys to let user select any event for sorting (Michael Petlan) [1841130] - [tools] perf report: Support a new key to reload the browser (Michael Petlan) [1841130] - [tools] perf report: Allow specifying event to be used as sort key in --group output (Michael Petlan) [1841130] - [tools] perf report/top TUI: Support hotkey 'a' for annotation of unresolved addresses (Michael Petlan) [1841130] - [tools] perf report: Support interactive annotation of code without symbols (Michael Petlan) [1841130] - [tools] perf report: Print al_addr when symbol is not found (Michael Petlan) [1841130] - [tools] perf symbols: Consolidate symbol fixup issue (Michael Petlan) [1841130] - [tools] perf parse-events: Fix 3 use after frees found with clang ASAN (Michael Petlan) [1841130] - [tools] perf/tests: Add CET instructions to the new instructions test (Michael Petlan) [1841130] - [tools] perf expr: Fix copy/paste mistake (Michael Petlan) [1841130] - [tools] perf report: Fix no branch type statistics report issue (Michael Petlan) [1841130] - [tools] perf tools: Give synthetic mmap events an inode generation (Michael Petlan) [1841130] - [tools] perf test: Print if shell directory isn't present (Michael Petlan) [1841130] - [tools] perf record: Fix binding of AIO user space buffers to nodes (Michael Petlan) [1841130] - [tools] perf intel-pt: Update intel-pt.txt file with new location of the documentation (Michael Petlan) [1841130] - [tools] perf intel-pt: Add Intel PT man page references (Michael Petlan) [1841130] - [tools] perf intel-pt: Rename intel-pt.txt and put it in man page format (Michael Petlan) [1841130] - [tools] perf doc: Set man page date to last git commit (Michael Petlan) [1841130] - [tools] perf cs-etm: Fix unsigned variable comparison to zero (Michael Petlan) [1841130] - [tools] perf cs-etm: Optimize copying last branches (Michael Petlan) [1841130] - [tools] perf cs-etm: Correct synthesizing instruction samples (Michael Petlan) [1841130] - [tools] perf cs-etm: Continuously record last branch (Michael Petlan) [1841130] - [tools] perf cs-etm: Swap packets for instruction samples (Michael Petlan) [1841130] - [tools] perf map: Use strstarts() to look for Android libraries (Michael Petlan) [1841130] - [tools] perf vendor events intel: Add NO_NMI_WATCHDOG metric constraint (Michael Petlan) [1841130] - [tools] perf metricgroup: Support metric constraint (Michael Petlan) [1841130] - [tools] perf util: Factor out sysctl__nmi_watchdog_enabled() (Michael Petlan) [1841130] - [tools] perf metricgroup: Factor out metricgroup__add_metric_weak_group() (Michael Petlan) [1841130] - [tools] perf jevents: Support metric constraint (Michael Petlan) [1841130] - [tools] perf block-info: Support color ops to print block percents in color (Michael Petlan) [1841130] - [tools] perf block-info: Allow selecting which columns to report and its order (Michael Petlan) [1841130] - [tools] perf diff: Use __block_info__cmp() to replace block_pair_cmp() (Michael Petlan) [1841130] - [tools] perf expr: Make expr__parse() return -1 on error (Michael Petlan) [1841130] - [tools] perf expr: Straighten expr__parse()/expr__find_other() interface (Michael Petlan) [1841130] - [tools] perf expr: Increase EXPR_MAX_OTHER to support metrics with more than 15 variables (Michael Petlan) [1841130] - [tools] perf expr: Move expr lexer to flex (Michael Petlan) [1841130] - [tools] perf expr: Add expr.c object (Michael Petlan) [1841130] - [tools] perf header: Add check for unexpected use of reserved membrs in event attr (Michael Petlan) [1841130] - [tools] perf evsel: Support PERF_SAMPLE_BRANCH_HW_INDEX (Michael Petlan) [1841130] - [tools] perf tools: Add hw_idx in struct branch_stack (Michael Petlan) [1841130] - [tools] tools headers UAPI: Update tools's copy of linux/perf_event.h (Michael Petlan) [1841130] - [tools] tools lib traceevent: Remove extra '\n' in print_event_time() (Michael Petlan) [1841130] - [tools] perf annotate: Get rid of annotation->nr_jumps (Michael Petlan) [1841130] - [tools] perf llvm: Add debug hint message about missing kernel-devel package (Michael Petlan) [1841130] - [tools] perf stat: Show percore counts in per CPU output (Michael Petlan) [1841130] - [tools] tools lib api fs: Move cgroupsfs_find_mountpoint() (Michael Petlan) [1841130] - [kernel] perf/core: fix parent pid/tid in task exit events (Michael Petlan) [1841130] - [x86] perf/x86/cstate: Add Jasper Lake CPU support (Michael Petlan) [1841130] - [kernel] perf/core: Disable page faults when getting phys address (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Add Ice Lake server uncore support (Michael Petlan) [1841130] - [kernel] perf/cgroup: Correct indirection in perf_less_group_idx() (Michael Petlan) [1841130] - [kernel] perf/core: Fix event cgroup tracking (Michael Petlan) [1841130] - [init] perf/core: Add PERF_SAMPLE_CGROUP feature (Michael Petlan) [1841130] - [kernel] perf/core: Add PERF_RECORD_CGROUP event (Michael Petlan) [1841130] - [x86] x86 user stack frame reads: switch to explicit __get_user() (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Factor out __snr_uncore_mmio_init_box (Michael Petlan) [1841130] - [x86] perf/x86/intel/uncore: Add box_offsets for free-running counters (Michael Petlan) [1841130] - [kernel] perf/core: Fix reversed NULL check in perf_event_groups_less() (Michael Petlan) [1841130] - [kernel] perf/core: Fix endless multiplex timer (Michael Petlan) [1841130] - [kernel] perf/cgroup: Order events in RB tree by cgroup id (Michael Petlan) [1841130] - [kernel] perf/cgroup: Grow per perf_cpu_context heap storage (Michael Petlan) [1841130] - [kernel] perf/core: Add per perf_cpu_context min_heap storage (Michael Petlan) [1841130] - [kernel] perf/core: Use min_heap in visit_groups_merge() (Michael Petlan) [1841130] - [lib] lib: Introduce generic min-heap (Michael Petlan) [1841130] - [kernel] perf/cgroup: Reorder perf_cgroup_connect() (Michael Petlan) [1841130] - [kernel] perf/core: Remove 'struct sched_in_data' (Michael Petlan) [1841130] - [kernel] perf/core: Unify {pinned, flexible}_sched_in() (Michael Petlan) [1841130] - [x86] perf/x86: Add Intel Tiger Lake uncore support (Michael Petlan) [1841130] - [x86] perf/x86/intel: Output LBR TOS information correctly (Michael Petlan) [1841130] - [powerpc] perf/core: Add new branch sample type for HW index of raw branch records (Michael Petlan) [1841130] - [x86] perf/x86/intel: Avoid unnecessary PEBS_ENABLE MSR access in PMI (Michael Petlan) [1841130] - [x86] x86/cpu: Add Jasper Lake to Intel family (Michael Petlan) [1841130] - [fs] pstore/ram: Run without kernel crash dump region (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore/ram: Avoid NULL deref in ftrace merging failure path (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore: Convert buf_lock to semaphore (Desnes Augusto Nunes do Rosario) [1824906] - [fs] pstore/ram: Correctly calculate usable PRZ bytes (Desnes Augusto Nunes do Rosario) [1824906] - [drm] memremap: add an owner field to struct dev_pagemap (Don Dutile) [1816441] - [mm] mm: devmap: refactor 1-based refcounting for ZONE_DEVICE pages (Don Dutile) [1816441] - [mm] mm/swap: fix release_pages() when releasing devmap pages (Don Dutile) [1816441] - [mm] mm: revert remove MEMORY_DEVICE_PUBLIC support in swap.c (Don Dutile) [1816441] - [nvdimm] mm: Cleanup __put_devmap_managed_page() vs ->page_free() (Don Dutile) [1816441] - [documentation] hv_netvsc: Update document for XDP support (Mohammed Gamal) [1815497] - [netdrv] hv_netvsc: Fix XDP refcnt for synthetic and VF NICs (Mohammed Gamal) [1815497] - [netdrv] hv_netvsc: Add XDP support (Mohammed Gamal) [1815497] - [powerpc] kvm: ppc: book3s hv: Remove user-triggerable WARN_ON (Laurent Vivier) [1784050] - [powerpc] kvm: ppc: book3s hv: Close race with page faults around memslot flushes (Laurent Vivier) [1784050] - [powerpc] pseries/svm: Allow IOMMU to work in SVM (Michael Roth) [1730194] - [powerpc] pseries/iommu: Separate FW_FEATURE_MULTITCE to put/stuff features (Michael Roth) [1730194] - [powerpc] pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW (Michael Roth) [1730194] - [powerpc] revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests" (Michael Roth) [1730194] - [powerpc] ultravisor: Add PPC_UV config option (Michael Roth) [1730194] - [mm] ksm: Export ksm_madvise() (Michael Roth) [1730194] - [powerpc] configs: Enable secure guest support in pseries and ppc64 defconfigs (Michael Roth) [1730194] - [powerpc] prom_init: Undo relocation before entering secure mode (Michael Roth) [1730194] - [powerpc] pseries/svm: Force SWIOTLB for secure guests (Michael Roth) [1730194] - [powerpc] pseries/iommu: Don't use dma_iommu_ops on secure guests (Michael Roth) [1730194] - [powerpc] pseries/svm: Disable doorbells in SVM guests (Michael Roth) [1730194] - [powerpc] pseries/svm: Export guest SVM status to user space via sysfs (Michael Roth) [1730194] - [powerpc] pseries/svm: Use shared memory for Debug Trace Log (DTL) (Michael Roth) [1730194] - [powerpc] prom_init: Pass the "os-term" message to hypervisor (Michael Roth) [1730194] - [powerpc] Add support for adding an ESM blob to the zImage wrapper (Michael Roth) [1730194] - [powerpc] pseries: Introduce option to build secure virtual machines (Michael Roth) [1730194] - [s390] mm: Remove sev_active() function (Michael Roth) [1730194] - [kernel] fs/core/vmcore: Move sev_active() reference to x86 arch code (Michael Roth) [1730194] - [kernel] x86, s390/mm: Move sme_active() and sme_me_mask to x86-specific header (Michael Roth) [1730194] - [kernel] dma-mapping: Remove dma_check_mask() (Michael Roth) [1730194] - [kernel] swiotlb: Remove call to sme_active() (Michael Roth) [1730194] - [x86] s390: Move ARCH_HAS_MEM_ENCRYPT definition to arch/Kconfig (Michael Roth) [1730194] - [powerpc] xmon: don't access ASDR in VMs (Michael Roth) [1730194] - [powerpc] xmon: Fix compile error in print_insn* functions (Michael Roth) [1730194] - [mm] memremap: provide a not device managed memremap_pages (Michael Roth) [1730194] - [mm] memremap: don't use a separate devm action for devmap_managed_enable_get (Michael Roth) [1730194] - [mm] memremap: remove the dev field in struct dev_pagemap (Michael Roth) [1730194] - [kernel] resource: add a not device managed request_free_mem_region variant (Michael Roth) [1730194] - [mm] turn migrate_vma upside down (Michael Roth) [1730194] - [kernel] mm: simplify ZONE_DEVICE page private data (Michael Roth) [1730194] - [kernel] mm: remove hmm_devmem_add (Michael Roth) [1730194] - [mm] remove hmm_vma_alloc_locked_page (Michael Roth) [1730194] - [dax] device-dax: use the dev_pagemap internal refcount (Michael Roth) [1730194] - [mm] export alloc_pages_vma (Michael Roth) [1730194] - [netdrv] net/mlx5: Kconfig: Fix spelling typo (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Introduce kconfig var for TC support (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Move TC-specific code from en_main.c to en_tc.c (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Extract neigh-specific code from en_rep.c to rep/neigh.c (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Extract TC-specific code from en_rep.c to rep/tc.c (Alaa Hleihel) [1843359] - [infiniband] net/mlx5: Refactor imm_inval_pkey field in cqe struct (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: Take DCBNL-related definitions into dedicated files (Alaa Hleihel) [1843359] - [netdrv] net/mlx5: E-Switch: Move eswitch chains to a new directory (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: remove duplicated check chain_index in mlx5e_rep_setup_ft_cb (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: add mlx5e_rep_indr_setup_ft_cb support (Alaa Hleihel) [1843359] - [netdrv] net/mlx5e: refactor indr setup block (Alaa Hleihel) [1843359] - [infiniband] IB/mlx5: Fix DEVX support for MLX5_CMD_OP_INIT2INIT_QP command (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Remove warning "devices are not on same switch HW" (Alaa Hleihel) [1842258] - [infiniband] RDMA/mlx5: Add init2init as a modify command (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta() (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix MLX5_TC_CT dependencies (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Properly set default values when disabling adaptive moderation (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix stats update for matchall classifier (Alaa Hleihel) [1842258] - [netdrv] net: sched: expose HW stats types per action used by drivers (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: en_tc: Fix cast to restricted __be32 warning (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: en_tc: Fix incorrect type in initializer warnings (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Allow partial data mask for tunnel options (Alaa Hleihel) [1842258] - [include] net/mlx5: IPSec: Fix incorrect type for spi (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Accel: fpga tls fix cast to __be64 and incorrect argument types (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: cmd: Fix memset with byte count warning (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix incorrect type in return expression (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix cast to restricted __be32 (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: DR: Fix incorrect type in argument (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: IPoIB, Drop multicast packets that this interface sent (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: IPoIB, Enable loopback packets for IPoIB interfaces (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix error flow in case of function_setup failure (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: CT: Correctly get flow rule (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5e: Update netdev txq on completions during closure (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Annotate mutex destroy for root ns (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Don't maintain a case of del_sw_func being null (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Fix cleaning unmanaged flow tables (Alaa Hleihel) [1842258 1840408] - [netdrv] net/mlx5: Fix memory leak in mlx5_events_init (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix inner tirs handling (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: kTLS, Destroy key object after destroying the TIS (Alaa Hleihel) [1842258] - [netdrv] net/mlx5e: Fix allowed tc redirect merged eswitch offload cases (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Avoid processing commands before cmdif is ready (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix a race when moving command interface to events mode (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Add command entry handling completion (Alaa Hleihel) [1842258] - [infiniband] RDMA/mlx5: Fix NULL pointer dereference in destroy_prefetch_work (Alaa Hleihel) [1842258] - [netdrv] net/mlx5: Fix crash upon suspend/resume (Alaa Hleihel) [1842258 1841973] - [netdrv] net/mlx5e: Fix devlink port netdev unregistration sequence (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Fix devlink port register sequence (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Use devlink virtual flavour for VF devlink port (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Add support for devlink-port in non-representors mode (Alaa Hleihel) [1842258 1790226] - [netdrv] net/mlx5e: Rename representor get devlink port function (Alaa Hleihel) [1842258 1790226] - [fs] nfsd4: add filename to states output ("J. Bruce Fields") [1475182] - [fs] nfsd4: stid display should preserve on-the-wire byte order ("J. Bruce Fields") [1475182] - [fs] nfsd4: common stateid-printing code ("J. Bruce Fields") [1475182] - [fs] nfsd: remove read permission bit for ctl sysctl ("J. Bruce Fields") [1475182] - [fs] nfsd: "\s" should be "s" ("J. Bruce Fields") [1475182] - [fs] nfsd: initialize i_private before d_add ("J. Bruce Fields") [1475182] - [fs] nfsd: use i_wrlock instead of rcu for nfsdfs i_private ("J. Bruce Fields") [1475182] - [fs] nfsd: fix dentry leak upon mkdir failure ("J. Bruce Fields") [1475182] - [fs] nfsd: Make __get_nfsdfs_client() static ("J. Bruce Fields") [1475182] - [fs] nfsd: Make two functions static ("J. Bruce Fields") [1475182] - [fs] nfsd: decode implementation id ("J. Bruce Fields") [1475182] - [fs] nfsd: use 64-bit seconds fields in nfsd v4 code ("J. Bruce Fields") [1475182] - [fs] nfsd: create xdr_netobj_dup helper ("J. Bruce Fields") [1475182] - [fs] nfsd: allow forced expiration of NFSv4 clients ("J. Bruce Fields") [1475182] - [fs] nfsd: create get_nfsdfs_clp helper ("J. Bruce Fields") [1475182] - [fs] nfsd4: show layout stateids ("J. Bruce Fields") [1475182] - [fs] nfsd: show lock and deleg stateids ("J. Bruce Fields") [1475182] - [fs] nfsd4: add file to display list of client's opens ("J. Bruce Fields") [1475182] - [fs] nfsd: add more information to client info file ("J. Bruce Fields") [1475182] - [include] nfsd: escape high characters in binary data ("J. Bruce Fields") [1475182] - [fs] nfsd: copy client's address including port number to cl_addr ("J. Bruce Fields") [1475182] - [fs] nfsd4: add a client info file ("J. Bruce Fields") [1475182] - [fs] nfsd: make client/ directory names small ints ("J. Bruce Fields") [1475182] - [fs] nfsd: add nfsd/clients directory ("J. Bruce Fields") [1475182] - [fs] nfsd4: use reference count to free client ("J. Bruce Fields") [1475182] - [fs] nfsd: rename cl_refcount ("J. Bruce Fields") [1475182] - [fs] nfsd: persist nfsd filesystem across mounts ("J. Bruce Fields") [1475182]- [wireless] iwlwifi: pcie: handle QuZ configs with killer NICs as well (Jarod Wilson) [1844129 1842382] - [net] mac80211: add ieee80211_is_any_nullfunc() (Jarod Wilson) [1844129] - [net] mac80211: sta_info: Add lockdep condition for RCU list usage (Jarod Wilson) [1844129] - [net] mac80211: fix channel switch trigger from unknown mesh peer (Jarod Wilson) [1844129] - [wireless] rtw88: avoid unused function warnings (Jarod Wilson) [1844129] - [wireless] brcmfmac: add stub for monitor interface xmit (Jarod Wilson) [1844129] - [wireless] iwlwifi: actually check allocated conf_tlv pointer (Jarod Wilson) [1844129] - [wireless] iwlwifi: fix WGDS check when WRDS is disabled (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: fix inactive TID removal return value usage (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: limit maximum queue appropriately (Jarod Wilson) [1844129] - [wireless] iwlwifi: pcie: indicate correct RB size to device (Jarod Wilson) [1844129] - [wireless] iwlwifi: mvm: beacon statistics shouldn't go backwards (Jarod Wilson) [1844129] - [wireless] iwlwifi: pcie: actually release queue memory in TVQM (Jarod Wilson) [1844129] - [wireless] mac80211: populate debugfs only after cfg80211 init (Jarod Wilson) [1844129] - [net] mac80211: fix race in ieee80211_register_hw() (Jarod Wilson) [1844129] - [net] nl80211: fix NL80211_ATTR_FTM_RESPONDER policy (Jarod Wilson) [1844129] - [powerpc] powerpc/fadump: Account for memory_limit while reserving memory (Steve Best) [1840646] - [mm] mm: make deferred init's max threads arch-specific (David Hildenbrand) [1818764] - [mm] mm: parallelize deferred_init_memmap() (David Hildenbrand) [1818764] - [mm] mm: don't track number of pages during deferred initialization (David Hildenbrand) [1818764] - [kernel] padata: add basic support for multithreaded jobs (David Hildenbrand) [1818764] - [kernel] padata: allocate work structures for parallel jobs from a pool (David Hildenbrand) [1818764] - [init] padata: initialize earlier (David Hildenbrand) [1818764] - [kernel] padata: remove exit routine (David Hildenbrand) [1818764] - [documentation] padata: update documentation (David Hildenbrand) [1818764] - [mm] mm: call cond_resched() from deferred_init_memmap() (David Hildenbrand) [1818764] - [mm] mm: initialize deferred pages with interrupts enabled (David Hildenbrand) [1818764] - [mm] mm/pagealloc.c: call touch_nmi_watchdog() on max order boundaries in deferred init (David Hildenbrand) [1818764] - [mm] mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() (David Hildenbrand) [1818764] - [mm] mm/page_alloc.c: fix regression with deferred struct page init (David Hildenbrand) [1818764] - [mm] mm: initialize MAX_ORDER_NR_PAGES at a time instead of doing larger sections (David Hildenbrand) [1818764] - [mm] mm: implement new zone specific memblock iterator (David Hildenbrand) [1818764] - [mm] mm: drop meminit_pfn_in_nid as it is redundant (David Hildenbrand) [1818764] - [kernel] audit: add subj creds to NETFILTER_CFG record to (Richard Guy Briggs) [1478533] - [kernel] audit: make symbol 'audit_nfcfgs' static (Richard Guy Briggs) [1478533] - [net] netfilter: add audit table unregister actions (Richard Guy Briggs) [1478533] - [net] audit: tidy and extend netfilter_cfg x_tables (Richard Guy Briggs) [1478533] - [x86] x86/efi: Allocate e820 buffer before calling efi_exit_boot_service (Lenny Szubowicz) [1824005] - [mm] hugetlb_cgroup: fix possible illegal access to memory (Joel Savitz) [1835398] - [kvm] KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction (Claudio Imbrenda) [1836184] - [sound] ASoC: Intel: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [thermal] thermal: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [powercap] powercap/intel_rapl: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [platform] platform/x86: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [pci] PCI: intel-mid: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [mmc] mmc: sdhci-acpi: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [idle] intel_idle: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [extcon] extcon: axp288: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [edac] EDAC: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [acpi] ACPI: Convert to new X86 CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/platform: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/kernel: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/perf/events: Convert to new CPU match macros (Prarit Bhargava) [1841649] - [x86] x86/cpu: Add consistent CPU match macros (Prarit Bhargava) [1841649] - [fs] fix autofs regression caused by follow_managed() changes (Miklos Szeredi) [1784857] - [fs] fs/namei.c: fix missing barriers when checking positivity (Miklos Szeredi) [1784857] - [fs] fix dget_parent() fastpath race (Miklos Szeredi) [1784857] - [fs] new helper: lookup_positive_unlocked() (Miklos Szeredi) [1784857] - [fs] fs/namei.c: pull positivity check into follow_managed() (Miklos Szeredi) [1784857] - [mm] x86/kasan: Fix boot with 5-level paging and KASAN (Baoquan He) [1838418] - [netdrv] bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return error when allocating zero size context memory (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve AER slot reset (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix VF anti-spoof filter setup (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix "fw.mgmt" and "fw.nsci" info via devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add partno to devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Read partno and serialno of the board from VPD (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add fw.mgmt.api version to devlink info_get cb (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Reset rings if ring reservation fails during open() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Free context memory after disabling PCI in probe error path (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return error if bnxt_alloc_ctx_mem() fails (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix Priority Bytes and Packets counters in ethtool -S (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Call devlink_port_type_clear() in remove() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Return -EAGAIN if fw command returns BUSY (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Modify some bnxt_hwrm_*_free() functions to void (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Remove unnecessary assignment of return code (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Clear DCB settings after firmware reset (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Process the NQ under NAPI continuous polling (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Simplify __bnxt_poll_cqs_done() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Handle all NQ notifications in bnxt_poll_p5() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Use pci_get_dsn() (Jonathan Toppins) [1790621] - [netdrv] bnxt: reject unsupported coalescing params (Jonathan Toppins) [1790621] - [netdrv] net/broadcom: Clean broadcom code from driver versions (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: fix error handling when flashing from file (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: reinitialize IRQs when MTU is modified (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: add newline to netdev_*() format strings (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve device shutdown method (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for devlink info command (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Rename switch_id to dsn (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support to update progress of flash update (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Move devlink_register before registering netdev (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Register devlink irrespective of firmware spec version (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Refactor bnxt_dl_register() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Disable workaround for lost interrupts on 575XX B0 and newer chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Periodically check and remove aged-out ntuple filters (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Do not accept fragments for aRFS flow steering (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Support UDP RSS hashing on 575XX chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve bnxt_probe_phy() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Improve link up detection (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Call recovery done after reset is successfully done (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Remove unnecessary NULL checks for fw_health (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for flashing the device via devlink (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Allow PHY settings on multi-function or NPAR PFs if allowed by FW (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add async. event logic for PHY configuration changes (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Refactor the initialization of the ethtool link settings (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Skip disabling autoneg before PHY loopback when appropriate (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Assign more RSS context resources to the VFs (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Initialize context memory to the value specified by firmware (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add chip IDs for 57452 and 57454 chips (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Report health status update after reset is done (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Set MASTER flag during driver registration (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Update firmware interface spec to 1.10.1.12 (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Fix array overrun in bnxt_fill_l2_rewrite_fields() (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for NAT(L3/L4 rewrite) (Jonathan Toppins) [1790621] - [netdrv] bnxt_en: Add support for L2 rewrite (Jonathan Toppins) [1790621] - [netdrv] net/mlx5: E-switch, Protect eswitch mode changes (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Extend eswitch enable to handle num_vfs change (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Split eswitch mode check to different helper function (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Simplify mlx5_unload_one() and its callers (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Simplify mlx5_register_device to return void (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: Avoid deriving mlx5_core_dev second time (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Annotate esw state_lock mutex destroy (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5: E-switch, Annotate termtbl_mutex mutex destroy (Alaa Hleihel) [1835595 1663246] - [netdrv] net/mlx5e: CT: Fix offload with CT action after CT NAT action (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix missing pedit action after ct clear action (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: remove set but not used variable 'unnew' (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Fix insert rules when TC_CT config isn't enabled (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix actions_match_supported() return (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Avoid false warning about rule may be used uninitialized (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Use correct type for chain, prio and level values (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-switch, Fix printing wrong error value (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Fix rejecting all egress rules not on vlan (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch: Fix using fwd and modify when firmware doesn't support it (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: Add missing inline to stub esw_add_restore_rule (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Enable restore table only if reg_c1 is supported (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, free flow_group_in after creating the restore table (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-switch, Fix mutex init order (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: CT: Change idr to xarray to protect parallel tuple id allocation (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Use rhashtable's ct entries instead of a separate list (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Fix stack usage compiler warning (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: CT: Support clear action (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Handle misses after executing CT action (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Offload established flows (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: CT: Introduce connection tracking (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Support getting chain mapping (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Add support for offloading rules with no in_port (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Introduce global tables (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: en_rep: Create uplink rep root table after eswitch offloads table (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5: E-Switch, Enable reg c1 loopback when possible (Alaa Hleihel) [1790219 1663246] - [netdrv] net/mlx5e: Restore tunnel metadata on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Get reg_c1 value on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Support inner header rewrite with goto action (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Disallow inserting vxlan/vlan egress rules without decap/pop (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Move tc tunnel parsing logic with the rest at tc_tun module (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Allow re-allocating mod header actions (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Restore chain id on miss (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Rx, Split rep rx mpwqe handler from nic (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Mark miss packets with new chain id mapping (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: E-Switch, Get reg_c0 value on CQE (Alaa Hleihel) [1790219 1790218 1663246] - [infiniband] net/mlx5: E-Switch, Move source port on reg_c0 to the upper 16 bits (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5: Introduce mapping infra for mapping unique ids to data (Alaa Hleihel) [1790219 1790218 1663246] - [netdrv] net/mlx5e: Add devlink fdb_large_groups parameter (Alaa Hleihel) [1790203 1663246] - [netdrv] net/mlx5: Change the name of steering mode param id (Alaa Hleihel) [1790203 1663246] - [netdrv] net/mlx5e: Fix an IS_ERR() vs NULL check (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: Verify goto chain offload support (Alaa Hleihel) [1663246] - [include] net/mlx5: HW bit for goto chain offload support (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Remove redundant comment about goto slow path (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Reduce number of arguments in slow path handling (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Use NL_SET_ERR_MSG_MOD() extack for errors (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Allow goto earlier chain if FW supports it (Alaa Hleihel) [1663246] - [netdrv] net/mlx5e: Eswitch, Use per vport tables for mirroring (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: make the symbol 'ESW_POOLS' static (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Increase number of chains and priorities (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: E-Switch, Refactor chains and priorities (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: ft: Check prio and chain sanity for ft offload (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: ft: Use getter function to get ft chain (Alaa Hleihel) [1663246] - [netdrv] net/mlx5: TC: Offload flow table rules (Alaa Hleihel) [1663246]- [net] neigh: fix ARP retransmit timer guard (Hangbin Liu) [1767282] - [net] xfrm: fix a warning in xfrm_policy_insert_list (Xin Long) [1820956] - [net] netfilter: ipset: Fix subcounter update skip (Phil Sutter) [1834881] - [netdrv] macvlan: return correct error value (Matteo Croce) [1806146] - [net] core: properly remove skb from list (Ivan Vecera) [1839657] - [tools] selftests: fix flower parent qdisc (Ivan Vecera) [1824071] - [net] sch_choke: Remove classid from choke_skb_cb. (Ivan Vecera) [1824071] - [net] sched: choke: Remove unused inline function choke_set_classid (Ivan Vecera) [1824071] - [net] schedule: add action gate offloading (Ivan Vecera) [1824071] - [net] qos: introduce a gate control flow action (Ivan Vecera) [1824071] - [net] sched: fallback to qdisc noqueue if default qdisc setup fail (Ivan Vecera) [1824071] - [tools] selftests: forwarding: tc_actions.sh: add matchall mirror test (Ivan Vecera) [1824071] - [net] sched: report ndo_setup_tc failures via extack (Ivan Vecera) [1824071] - [net] sched : Remove unnecessary cast in kfree (Ivan Vecera) [1824071] - [tools] selftests: tc-testing: Add a TDC test for pedit munge ip6 dsfield (Ivan Vecera) [1824071] - [tools] selftests: forwarding: pedit_dsfield: Add pedit munge ip6 dsfield (Ivan Vecera) [1824071] - [net] sched: act_ct: update nf_conn_acct for act_ct SW offload in flowtable (Ivan Vecera) [1824071] - [net] net_sched: gen_estimator: extend packet counter to 64bit (Ivan Vecera) [1824071] - [net] flow_offload: skip hw stats check for FLOW_ACTION_HW_STATS_DONT_CARE (Ivan Vecera) [1824071] - [net] net_sched: sch_skbprio: add message validation to skbprio_change() (Ivan Vecera) [1824071] - [net] net_sched: fix tcm_parent in tc filter dump (Ivan Vecera) [1824071] - [net] sch_sfq: validate silly quantum values (Ivan Vecera) [1824071] - [net] sch_choke: avoid potential panic in choke_reset() (Ivan Vecera) [1824071] - [net] fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks (Ivan Vecera) [1824071] - [net] sched: etf: do not assume all sockets are full blown (Ivan Vecera) [1824071] - [tools] tc-testing: remove duplicate code in tdc.py (Ivan Vecera) [1824071] - [net] sched: Fix setting last executed chain on skb extension (Ivan Vecera) [1824071] - [net] net_sched: fix a missing refcnt in tcindex_init() (Ivan Vecera) [1824071] - [net] net_sched: add a temporary refcnt for struct tcindex_data (Ivan Vecera) [1824071] - [net] sched: expose HW stats types per action used by drivers (Ivan Vecera) [1824071] - [net] introduce nla_put_bitfield32() helper and use it (Ivan Vecera) [1824071] - [tools] selftests: skbedit_priority: Test counters at the skbedit rule (Ivan Vecera) [1824071] - [net] sched: act_pedit: Implement stats_update callback (Ivan Vecera) [1824071] - [net] sched: act_skbedit: Implement stats_update callback (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Add a forwarding test for pedit munge dsfield (Ivan Vecera) [1824071] - [net] flow_offload.h: Fix a comment at flow_action_entry.mangle (Ivan Vecera) [1824071] - [net] Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build (Ivan Vecera) [1824071] - [net] netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress (Ivan Vecera) [1824071] - [net] cbs: Fix software cbs to consider packet sending time (Ivan Vecera) [1824071] - [include] taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for flags key (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for src and dst port range options (Ivan Vecera) [1824071] - [net] cls_flower: Add extack support for mpls options (Ivan Vecera) [1824071] - [include] net: sched: refine extack messages in tcf_change_indev (Ivan Vecera) [1824071] - [net] sched: rename more stats_types (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Add an skbedit priority selftest (Ivan Vecera) [1824071] - [net] tc_skbedit: Make the skbedit priority offloadable (Ivan Vecera) [1824071] - [include] tc_skbedit: Factor a helper out of is_tcf_skbedit_{mark, ptype}() (Ivan Vecera) [1824071] - [include] net: sched: Do not assume RTNL is held in tunnel key action helpers (Ivan Vecera) [1824071] - [net] sched: act_ct: Fix leak of ct zone template on replace (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: enable use of hrtimer slack (Ivan Vecera) [1824071] - [net] net_sched: do not reprogram a timer about to expire (Ivan Vecera) [1824071] - [net] net_sched: add qdisc_watchdog_schedule_range_ns() (Ivan Vecera) [1824071] - [net] rename flow_action_hw_stats_types* -> flow_action_hw_stats* (Ivan Vecera) [1824071] - [net] net_sched: cls_route: remove the right filter from hashtable (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: RED: Add nodrop tests (Ivan Vecera) [1824071] - [net] sched: RED: Introduce an ECN nodrop mode (Ivan Vecera) [1824071] - [net] sched: Allow extending set of supported RED flags (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: Add TDC test for RED (Ivan Vecera) [1824071] - [tools] tc-testing: add ETS scheduler to tdc build configuration (Ivan Vecera) [1824071] - [net] sched: act_ct: Enable hardware offload of flow table entires (Ivan Vecera) [1824071] - [net] sched: act_ct: Support refreshing the flow table entries (Ivan Vecera) [1824071] - [net] sched: act_ct: Support restoring conntrack info on skbs (Ivan Vecera) [1824071] - [net] sched: act_ct: Instantiate flow table entry actions (Ivan Vecera) [1824071] - [net] net_sched: keep alloc_hash updated after hash allocation (Ivan Vecera) [1824071] - [net] net_sched: hold rtnl lock in tcindex_partial_destroy_work() (Ivan Vecera) [1824071] - [include] flow_offload: restrict driver to pass one allowed bit to flow_action_hw_stats_types_check() (Ivan Vecera) [1824071] - [netdrv] flow_offload: introduce "delayed" HW stats type and allow it in mlx5 (Ivan Vecera) [1824071] - [include] flow_offload: turn hw_stats_type into dedicated enum (Ivan Vecera) [1824071] - [include] flow_offload: use flow_action_for_each in flow_action_mixed_hw_stats_types_check() (Ivan Vecera) [1824071] - [net] sched: pie: change tc_pie_xstats->prob (Ivan Vecera) [1824071] - [net] taprio: Fix sending packets without dequeueing them (Ivan Vecera) [1824071] - [net] sched: act_ct: fix lockdep splat in tcf_ct_flow_table_get (Ivan Vecera) [1824071] - [tools] selftests: forwarding: ETS: Use Qdisc counters (Ivan Vecera) [1824071] - [net] sched: Make FIFO Qdisc offloadable (Ivan Vecera) [1824071] - [include] pie: realign comment (Ivan Vecera) [1824071] - [net] pie: remove pie_vars->accu_prob_overflows (Ivan Vecera) [1824071] - [net] pie: remove unnecessary type casting (Ivan Vecera) [1824071] - [net] pie: use term backlog instead of qlen (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with canid extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: list kernel options for basic filter with canid ematch. (Ivan Vecera) [1824071] - [net] sched: act_ct: Use pskb_network_may_pull() (Ivan Vecera) [1824071] - [net] sched: act_ct: Fix ipv6 lookup of offloaded connections (Ivan Vecera) [1824071] - [net] sched: act_ct: Software offload of established flows (Ivan Vecera) [1824071] - [net] sched: act_ct: Offload established connections to flow table (Ivan Vecera) [1824071] - [net] sched: act_ct: Create nf flow table per zone (Ivan Vecera) [1824071] - [net] taprio: add missing attribute validation for txtime delay (Ivan Vecera) [1824071] - [net] fq: add missing attribute validation for orphan mask (Ivan Vecera) [1824071] - [tools] selftests: forwarding: tc_common: Convert to use busywait (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Convert until_counter_is() to take expression (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Add tc_rule_handle_stats_get() (Ivan Vecera) [1824071] - [include] net: flow_offload: Replace zero-length array with flexible-array member (Ivan Vecera) [1824071] - [net] sched: Replace zero-length array with flexible-array member (Ivan Vecera) [1824071] - [net] sched: act: count in the size of action flags bitfield (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with u32 extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter with u16 extended match rules (Ivan Vecera) [1824071] - [tools] tc-testing: updated tdc tests for basic filter (Ivan Vecera) [1824071] - [net] sched: correct flower port blocking (Ivan Vecera) [1824071] - [net] sched: Support specifying a starting chain via tc skb ext (Ivan Vecera) [1824071] - [net] sched: Change the block's chain list to an rcu list (Ivan Vecera) [1824071] - [net] sched: Pass ingress block to tcf_classify_ingress (Ivan Vecera) [1824071] - [net] sched: Introduce ingress classification function (Ivan Vecera) [1824071] - [net] sched: flower: add missing validation of TCA_FLOWER_FLAGS (Ivan Vecera) [1824071] - [net] sched: matchall: add missing validation of TCA_MATCHALL_FLAGS (Ivan Vecera) [1824071] - [net] taprio: Fix dropping packets when using taprio + ETF offloading (Ivan Vecera) [1824071] - [net] taprio: Use taprio_reset_tc() to reset Traffic Classes configuration (Ivan Vecera) [1824071] - [net] taprio: Add missing policy validation for flags (Ivan Vecera) [1824071] - [net] taprio: Fix still allowing changing the flags during runtime (Ivan Vecera) [1824071] - [net] taprio: Fix enabling offload with wrong number of traffic classes (Ivan Vecera) [1824071] - [net] sched: prevent a use after free (Ivan Vecera) [1824071] - [tools] tc-testing: add missing 'nsPlugin' to basic.json (Ivan Vecera) [1824071] - [net] sch_choke: Use kvcalloc (Ivan Vecera) [1824071] - [tools] selftests: mlxsw: Add a RED selftest (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib.sh: Add start_tcp_traffic (Ivan Vecera) [1824071] - [tools] selftests: mlxsw: Add a TBF selftest (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Allow reading TC rule byte counters (Ivan Vecera) [1824071] - [tools] selftests: forwarding: lib: Add helpers for busywaiting (Ivan Vecera) [1824071] - [tools] selftests: Move two functions from mlxsw's qos_lib to lib (Ivan Vecera) [1824071] - [net] sched: Make TBF Qdisc offloadable (Ivan Vecera) [1824071] - [net] sched: sch_tbf: Don't overwrite backlog before dumping (Ivan Vecera) [1824071] - [net] sched: add Flow Queue PIE packet scheduler (Ivan Vecera) [1824071] - [net] sched: pie: export symbols to be reused by FQ-PIE (Ivan Vecera) [1824071] - [net] sched: pie: fix alignment in struct instances (Ivan Vecera) [1824071] - [net] sched: pie: fix commenting (Ivan Vecera) [1824071] - [include] pie: improve comments and commenting style (Ivan Vecera) [1824071] - [net] pie: rearrange structure members and their initializations (Ivan Vecera) [1824071] - [include] pie: use u8 instead of bool in pie_vars (Ivan Vecera) [1824071] - [include] pie: rearrange macros in order of length (Ivan Vecera) [1824071] - [include] pie: use U64_MAX to denote (2^64 - 1) (Ivan Vecera) [1824071] - [net] sched: pie: move common code to pie.h (Ivan Vecera) [1824071] - [net] sched: use skb_list_walk_safe helper for gso segments (Ivan Vecera) [1824071] - [tools] selftests: qdiscs: Add test coverage for ETS Qdisc (Ivan Vecera) [1824071] - [tools] selftests: forwarding: sch_ets: Add test coverage for ETS Qdisc (Ivan Vecera) [1824071] - [tools] selftests: forwarding: Move start_/stop_traffic from mlxsw to lib.sh (Ivan Vecera) [1824071] - [net] sch_ets: Make the ETS qdisc offloadable (Ivan Vecera) [1824071] - [net] sch_ets: Add a new Qdisc (Ivan Vecera) [1824071] - [include] net: pkt_cls: Clarify a comment (Ivan Vecera) [1824071] - [net] sch_cake: drop unused variable tin_quantum_prio (Ivan Vecera) [1824071] - [net] sched: act_ctinfo: fix memory leak (Ivan Vecera) [1824071] - [net] sched: act_ife: initalize ife->metalist earlier (Ivan Vecera) [1824071] - [net] sch_cake: avoid possible divide by zero in cake_enqueue() (Ivan Vecera) [1824071] - [tools] tc-testing: initial tdc selftests for cls_u32 (Ivan Vecera) [1824071] - [net] treewide: Use sizeof_field() macro (Ivan Vecera) [1824071] - [tools] tc-testing: unbreak full listing of tdc testcases (Ivan Vecera) [1824071] - [net] act_ct: support asymmetric conntrack (Ivan Vecera) [1824071] - [net] sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO (Ivan Vecera) [1824071] - [net] remove the unnecessary strict_start_type in some policies (Ivan Vecera) [1824071] - [net] sched: pie: enable timestamp based delay calculation (Ivan Vecera) [1824071] - [net] taprio: don't reject same mqprio settings (Ivan Vecera) [1824071] - [tools] tc-testing: Introduced tdc tests for basic filter (Ivan Vecera) [1824071] - [tools] tc-testing: updated pedit TDC tests (Ivan Vecera) [1824071] - [net] net_sched: add TCA_STATS_PKT64 attribute (Ivan Vecera) [1824071] - [net] net_sched: extend packet counter to 64bit (Ivan Vecera) [1824071] - [include] net_sched: do not export gnet_stats_basic_packed to uapi (Ivan Vecera) [1824071] - [tools] tc-testing: added tests with cookie for mpls TC action (Ivan Vecera) [1824071] - [net] icmp: remove duplicate code (Ivan Vecera) [1824071] - [include] icmp: add helpers to recognize ICMP error packets (Ivan Vecera) [1824071] - [net] taprio: fix panic while hw offload sched list swap (Ivan Vecera) [1824071] - [net] sched: Replace rcu_swap_protected() with rcu_replace_pointer() (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: avoid calling ktime_get_ns() if not needed (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: add dctcp-like marking (Ivan Vecera) [1824071] - [net] net_sched: sch_fq: remove dead code dealing with retransmits (Ivan Vecera) [1824071] - [net] sched: act_ct: fix build failure in RHEL8 (Ivan Vecera) [1824071] - [net] don't return invalid table id error when we fall back to PF_UNSPEC (Sabrina Dubroca) [1814093] - [net] netfilter: update include directives. (Marcelo Leitner) [1837856] - [include] netfilter: fix include guards. (Marcelo Leitner) [1837856] - [include] netfilter: add include guard to xt_connlabel.h (Marcelo Leitner) [1837856] - [net] sk_msg: Don't use RCU_INIT_POINTER on sk_user_data (Sabrina Dubroca) [1819627] - [tools] selftests/bpf: Fix build of sockmap_ktls.c (Sabrina Dubroca) [1819627] - [net] Generate reuseport group ID on group creation (Sabrina Dubroca) [1819627] - [net] bpf: Allow selecting reuseport socket from a SOCKMAP/SOCKHASH (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Let all kernel-land lookup values in SOCKMAP/SOCKHASH (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Return socket cookie on lookup from syscall (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Don't set up upcalls and progs for listening sockets (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: Allow inserting listening TCP sockets into sockmap (Sabrina Dubroca) [1819627] - [net] tcp_bpf: Don't let child socket inherit parent protocol ops on copy (Sabrina Dubroca) [1819627] - [net] net, sk_msg: Clear sk_user_data pointer on clone if tagged (Sabrina Dubroca) [1819627] - [net] net, sk_msg: Annotate lockless access to sk_prot on clone (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size (Sabrina Dubroca) [1819627] - [net] bpf, sockmap: msg_pop_data can incorrecty set an sge length (Sabrina Dubroca) [1819627] - [net] tls: fix const assignment warning (Sabrina Dubroca) [1819627] - [net] tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() (Sabrina Dubroca) [1819627] - [net] tls: Fix sk_psock refcnt leak when in tls_data_ready() (Sabrina Dubroca) [1819627] - [tools] selftests/bpf: Test unhashing kTLS socket after removing from map (Sabrina Dubroca) [1819627] - [include] bpf, sk_msg: Don't clear saved sock proto on restore (Sabrina Dubroca) [1819627] - [include] bpf, sk_msg: Let ULP restore sk_proto and write_space callback (Sabrina Dubroca) [1819627] - [net] tls: Annotate access to sk_prot with READ_ONCE/WRITE_ONCE (Sabrina Dubroca) [1819627] - [net] tls: Read sk_prot once when building tls proto ops (Sabrina Dubroca) [1819627] - [net] tls: Constify base proto ops used for building tls proto (Sabrina Dubroca) [1819627] - [net] tls: Fix to avoid gettig invalid tls record (Sabrina Dubroca) [1819627] - [net] tls: avoid spurious decryption error with HW resync (Sabrina Dubroca) [1819627] - [net] tls: add helper for testing if socket is RX offloaded (Sabrina Dubroca) [1819627] - [tools] selftests: net: tls: remove recv_rcvbuf test (Sabrina Dubroca) [1819627] - [net] tls: use sg_next() to walk sg entries (Sabrina Dubroca) [1819627] - [net] tls: remove the dead inplace_crypto code (Sabrina Dubroca) [1819627] - [tools] selftests/tls: add a test for fragmented messages (Sabrina Dubroca) [1819627] - [net] tls: Fix unused function warning (Sabrina Dubroca) [1819627] - [net] tls: store decrypted on a single bit (Sabrina Dubroca) [1819627] - [net] tls: store async_capable on a single bit (Sabrina Dubroca) [1819627] - [net] tls: pass context to tls_device_decrypted() (Sabrina Dubroca) [1819627] - [net] tls: make allocation failure unlikely (Sabrina Dubroca) [1819627] - [net] tls: mark sk->err being set as unlikely (Sabrina Dubroca) [1819627] - [net] sockmap: use bitmap for copy info (Sabrina Dubroca) [1819627] - [net] tls: add TlsDeviceRxResync statistic (Sabrina Dubroca) [1819627] - [net] tls: add TlsDecryptError stat (Sabrina Dubroca) [1819627] - [net] tls: add statistics for installed sessions (Sabrina Dubroca) [1819627] - [net] tls: add skeleton of MIB statistics (Sabrina Dubroca) [1819627] - [net] tls: add device decrypted trace point (Sabrina Dubroca) [1819627] - [net] tls: add tracing for device/offload events (Sabrina Dubroca) [1819627] - [net] tls: allow compiling TLS TOE out (Sabrina Dubroca) [1819627] - [net] tls: rename tls_hw_* functions tls_toe_* (Sabrina Dubroca) [1819627] - [net] tls: move TOE-related code to a separate file (Sabrina Dubroca) [1819627] - [net] tls: move tls_build_proto() on init path (Sabrina Dubroca) [1819627] - [net] tls: use the full sk_proto pointer (Sabrina Dubroca) [1819627] - [net] tls: rename tls_device to tls_toe_device (Sabrina Dubroca) [1819627] - [net] tls: move TOE-related structures to a separate header (Sabrina Dubroca) [1819627] - [net] tls: sleeping function from invalid context (Sabrina Dubroca) [1819627] - [net] netfilter: nft_set_rbtree: Add missing expired checks (Phil Sutter) [1778020] - [tools] selftests: netfilter: extend flowtable test script with dnat rule (Marcelo Leitner) [1811193] - [tools] selftests: netfilter: extend flowtable test script for ipsec (Marcelo Leitner) [1811193] - [tools] selftests: netfilter: add flowtable test script (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: set NF_FLOW_TEARDOWN flag on entry expiration (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Remove WQ_MEM_RECLAIM from workqueue (Marcelo Leitner) [1811193] - [net] netfilter: nf_conntrack: add IPS_HW_OFFLOAD status bit (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Free block_cb when being deleted (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add counter support in HW offload (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: add nf_ct_acct_add() (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: export nf_ct_acct_update() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use work entry per offload command (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use rw sem as flow block lock (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add counter support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add enum nft_flowtable_flags to uapi (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix incorrect tc_setup_type type (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: populate addr_type mask (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix flushing of offloaded flows on free (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: fix NULL pointer dereference in tunnel offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: reload ip{v6}h in nf_flow_tuple_ip{v6} (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: reload ip{v6}h in nf_flow_nat_ip{v6} (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: dump NFTA_CHAIN_FLAGS attribute (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: free flowtable hooks on hook register error (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add tunnel encap/decap action offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add indr block setup support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_table_block_offload_init() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add tunnel match offload support (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: skip offload setup if disabled (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Use nf_flow_offload_tuple for stats as well (Marcelo Leitner) [1811193] - [net] flow_offload: Add flow_match_ct to get rule ct match (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Enable hardware offload of flow table entires (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Support refreshing the flow table entries (Marcelo Leitner) [1811193] - [include] net/sched: act_ct: Support restoring conntrack info on skbs (Marcelo Leitner) [1811193] - [net] sched: act_ct: Instantiate flow table entry actions (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Add API for registering to flow table events (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix setting forgotten NF_FLOW_HW_DEAD flag (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix missing flush hardware on table free (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: Fix hardware flush order on nf_flow_table_cleanup (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: fix check the chain offload flag (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: fix memory leak in nf_tables_parse_netdev_hooks() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_table_offload_cmd() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_offload_tuple() helper (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: refresh flow if hardware offload fails (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flowtable_hw_offload() helper function (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: use atomic bitwise operations for flow flags (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: remove dying bit, use teardown bit instead (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flow_offload_work_alloc() (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: restrict flow dissector match on meta ingress device (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: fetch stats only if flow is still alive (Marcelo Leitner) [1811193] - [net] netfilter: flowtable: add nf_flowtable_time_stamp (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: unbind callbacks from flowtable destroy path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: fix the nat port mangle. (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: check the status of dst_neigh (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: fix incorrect ethernet dst address (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix big-endian integer overflow (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Correct memcpy size for flow_overload_mangle() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: return EOPNOTSUPP if rule specifies no actions (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add IPv6 match description (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Don't use offset uninitialized in flow_offload_port_{d, s}nat (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix block_cb tc_setup_type as TC_SETUP_CLSFLOWER (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix block setup as TC_SETUP_FT cmd (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: check if bind callback fails and unbind if hook registration fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add nft_unregister_flowtable_hook() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: undo updates if transaction fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: release flow_rule on error from commit path (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove reference to flow rule from deletion path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add IPv6 support (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: add flow_action_entry_next() and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary parameter in flow_offload_fill_dir (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table_offload: Fix check ndo_setup_tc when setup_block (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: Check for the NETDEV_UNREGISTER event (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: hardware offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add flowtable offload control plane (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: detach routing information from flow description (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: skip tcp rst and fin packets (Marcelo Leitner) [1811193] - [net] netfilter: nf_flowtable: remove flow_offload_entry structure (Marcelo Leitner) [1811193] - [include] netfilter: nf_flow_table: remove union from flow_offload structure (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: move conntrack object to struct flow_offload (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: skip EBUSY on chain update (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: bogus EOPNOTSUPP on basechain update (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: pass extack to nft_flow_cls_offload_setup() (Marcelo Leitner) [1811193] - [net] netfilter: nft_meta: offload support for interface index (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: white-space fixes. (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: check for register data length mismatches (Marcelo Leitner) [1811193] - [net] netfilter: nft_bitwise: Adjust parentheses to fix memcmp size argument (Marcelo Leitner) [1811193] - [net] netfilter: nft_bitwise: add offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: unbind if multi-device binding fails (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_block_offload_init() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_chain_offload_cmd() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: restore basechain deletion (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: support for multiple devices per netdev hook (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: fix base chain stat rcu_dereference usage (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove rules on unregistered device only (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_cls_offload_setup() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: Pass callback list to nft_setup_cb_call() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add nft_flow_block_chain() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: increase maximum devices number per flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: allow netdevice to be used only once per flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: dynamically allocate hooks per net_device in flowtables (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove flowtable hook flush routine in netns exit routine (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: move priority to struct nf_flowtable (Marcelo Leitner) [1811193] - [net] netfilter: nft_payload: fix missing check for matching length in offloads (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: set timeout before insertion into hashes (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: fix always true policy is unset check (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add NFT_CHAIN_POLICY_UNSET and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: remove rules when the device unregisters (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: refactor the nft_flow_offload_rule function (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: refactor the nft_flow_offload_chain function (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: add __nft_offload_get_chain function (Marcelo Leitner) [1811193] - [net] netfilter: nft_{fwd, dup}_netdev: add offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: avoid excessive stack usage (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: move indirect flow_block callback logic to core (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: set default timeout after successful insertion (Marcelo Leitner) [1811193] - [net] netfilter: ctnetlink: honor IPS_OFFLOAD flag (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: clear skb tstamp before xmit (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: map basechain priority to hardware priority (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: teardown flow timeout race (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: conntrack picks up expired flows (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables_offload: support indr block call (Marcelo Leitner) [1811193] - [net] flow_offload: add flow_block structure and use it (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: store data in offload context registers (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix offload for flows that are subject to xfrm (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: don't fail when updating base chain policy (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: add hardware offload support (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: delay chain policy update until transaction is complete (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: IPCB is only valid for ipv4 family (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: don't offload when sequence numbers need adjustment (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: set liberal tracking mode for tcp (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: ignore DF bit setting (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary variable in flow_offload_tuple (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: add entry to flowtable after confirmation (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: fix checking method of conntrack helper (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: do not flow offload deleted conntrack entries (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: simplify nf_flow_offload_gc_step() (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: check ttl value in flow offload data path (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: fix netdev refcnt leak (Marcelo Leitner) [1811193] - [net] netfilter: nf_flowtable: skip device lookup from interface index (Marcelo Leitner) [1811193] - [net] netfilter: conntrack: fix IPV6=n builds (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: fix interaction with vrf slave device (Marcelo Leitner) [1811193] - [net] netfilter: nft_flow_offload: Fix reverse route lookup (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: make nf_flow_table_iterate() static (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: do not remove offload when other netns's interface is down (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary parameter of nf_flow_table_cleanup() (Marcelo Leitner) [1811193] - [net] netfilter: nf_tables: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Marcelo Leitner) [1811193] - [net] netfilter: nf_flow_table: remove unnecessary nat flag check code (Marcelo Leitner) [1811193] - [net] mptcp: mark tech preview and disable by default (Florian Westphal) [1835796] - [net] mptcp: fix bogus socket flag values (Florian Westphal) [1835796] - [net] mptcp: select CRYPTO (Florian Westphal) [1835796] - [net] mptcp: Protect subflow socket options before connection completes (Florian Westphal) [1835796] - [net] mptcp: make the symbol 'mptcp_sk_clone_lock' static (Florian Westphal) [1835796] - [net] mptcp: fix use-after-free for ipv6 (Florian Westphal) [1835796] - [net] mptcp: fix use-after-free on tcp fallback (Florian Westphal) [1835796] - [net] mptcp: Fix undefined mptcp_handle_ipv6_mapped for modular IPV6 (Florian Westphal) [1835796] - [net] mptcp: Fix incorrect IPV6 dependency check (Florian Westphal) [1835796] - [net] mptcp: handle tcp fallback when using syn cookies (Florian Westphal) [1835796] - [net] mptcp: avoid a lockdep splat when mcast group was joined (Florian Westphal) [1835796] - [net] mptcp: fix panic on user pointer access (Florian Westphal) [1835796] - [net] mptcp: defer freeing of cached ext until last moment (Florian Westphal) [1835796] - [net] mptcp: Fix build with PROC_FS disabled. (Florian Westphal) [1835796] - [tools] selftests: settings: tests can be in subsubdirs (Florian Westphal) [1835796] - [net] mptcp: Fix code formatting (Florian Westphal) [1835796] - [net] mptcp: do not inherit inet proto ops (Florian Westphal) [1835796] - [net] add and use MPTCP_PROTO_KERN (Florian Westphal) [1835796] - [net] mptcp: cope with later TCP fallback (Florian Westphal) [1835796] - [net] mptcp: process MP_CAPABLE data option (Florian Westphal) [1835796] - [net] mptcp: parse and emit MP_CAPABLE option according to v1 spec (Florian Westphal) [1835796] - [net] mptcp: move from sha1 (v0) to sha256 (v1) (Florian Westphal) [1835796] - [tools] mptcp: add basic kselftest for mptcp (Florian Westphal) [1835796] - [net] mptcp: new sysctl to control the activation per NS (Florian Westphal) [1835796] - [net] mptcp: allow collapsing consecutive sendpages on the same substream (Florian Westphal) [1835796] - [net] mptcp: recvmsg() can drain data from multiple subflows (Florian Westphal) [1835796] - [net] mptcp: add subflow write space signalling and mptcp_poll (Florian Westphal) [1835796] - [net] mptcp: Implement MPTCP receive path (Florian Westphal) [1835796] - [net] mptcp: Write MPTCP DSS headers to outgoing data packets (Florian Westphal) [1835796] - [net] mptcp: Add setsockopt()/getsockopt() socket operations (Florian Westphal) [1835796] - [net] mptcp: Add shutdown() socket operation (Florian Westphal) [1835796] - [net] mptcp: Add key generation and token tree (Florian Westphal) [1835796] - [net] mptcp: Create SUBFLOW socket for incoming connections (Florian Westphal) [1835796] - [net] mptcp: Handle MP_CAPABLE options for outgoing connections (Florian Westphal) [1835796] - [net] mptcp: Associate MPTCP context with TCP socket (Florian Westphal) [1835796] - [net] mptcp: Handle MPTCP TCP options (Florian Westphal) [1835796] - [net] mptcp: Add MPTCP socket stubs (Florian Westphal) [1835796] - [net] netfilter: conntrack: fix infinite loop on rmmod (Florian Westphal) [1832381] - [tools] selftests: add netdevsim devlink dev info test (Petr Oros) [1830928] - [tools] selftests: test netdevsim reload forbid and fail (Petr Oros) [1830928] - [netdrv] mlx4: fix "initializer element not constant" compiler error (Petr Oros) [1830928] - [netdrv] netdevsim: dev: Fix memory leak in nsim_dev_take_snapshot_write (Petr Oros) [1830928] - [net] devlink: fix return value after hitting end in region read (Petr Oros) [1830928] - [net] devlink: Fix reporter's recovery condition (Petr Oros) [1830928] - [documentation] docs: devlink: clarify the scope of snapshot id (Petr Oros) [1830928] - [net] devlink: let kernel allocate region snapshot id (Petr Oros) [1830928] - [net] devlink: factor out building a snapshot notification (Petr Oros) [1830928] - [documentation] devlink: fix broken link warning (Petr Oros) [1830928] - [net] devlink: use NL_SET_ERR_MSG_MOD instead of NL_SET_ERR_MSG (Petr Oros) [1830928] - [include] devlink: Add macro for "fw.mgmt.api" to info_get cb. (Petr Oros) [1830928] - [netdrv] netdevsim: support taking immediate snapshot via devlink (Petr Oros) [1830928] - [net] devlink: implement DEVLINK_CMD_REGION_NEW (Petr Oros) [1830928] - [net] devlink: track snapshot id usage count using an xarray (Petr Oros) [1830928] - [net] devlink: report error once U32_MAX snapshot ids have been used (Petr Oros) [1830928] - [net] devlink: extract snapshot id allocation to helper function (Petr Oros) [1830928] - [net] devlink: use -ENOSPC to indicate no more room for snapshots (Petr Oros) [1830928] - [net] devlink: add function to take snapshot while locked (Petr Oros) [1830928] - [net] devlink: trivial: fix tab in function documentation (Petr Oros) [1830928] - [net] devlink: convert snapshot destructor callback to region op (Petr Oros) [1830928] - [net] devlink: prepare to support region operations (Petr Oros) [1830928] - [documentation] devlink: expand the devlink-info documentation (Petr Oros) [1830928] - [net] devlink: Introduce devlink port flavour virtual (Petr Oros) [1830928] - [net] devlink: validate length of region addr/len (Petr Oros) [1830928] - [net] devlink: validate length of param values (Petr Oros) [1830928] - [net] core: Replace zero-length array with flexible-array member (Petr Oros) [1830928] - [net] core: devlink.c: Use built-in RCU list checking (Petr Oros) [1830928] - [net] devlink: Rely on driver eswitch thread safety instead of devlink (Petr Oros) [1830928] - [net] core: devlink.c: Hold devlink->lock from the beginning of devlink_dpipe_table_register() (Petr Oros) [1830928] - [net] devlink: Force enclosing array on binary fmsg data (Petr Oros) [1830928] - [net] devlink: report 0 after hitting end in region read (Petr Oros) [1830928] - [net] devlink: correct misspelling of snapshot (Petr Oros) [1830928] - [tools] selftests: Add a test of large binary to devlink health test (Petr Oros) [1830928] - [netdrv] netdevsim: Update dummy reporter's devlink binary interface (Petr Oros) [1830928] - [net] devlink: Allow large formatted message of binary output (Petr Oros) [1830928] - [tools] selftests: netdevsim: Add test cases for devlink-trap policers (Petr Oros) [1823743] - [netdrv] netdevsim: Add support for setting of packet trap group parameters (Petr Oros) [1823743] - [net] devlink: Allow setting of packet trap group parameters (Petr Oros) [1823743] - [net] devlink: Add packet trap group parameters support (Petr Oros) [1823743] - [netdrv] netdevsim: Add devlink-trap policer support (Petr Oros) [1823743] - [documentation] Add description of packet trap policers (Petr Oros) [1823743] - [net] devlink: Add packet trap policers support (Petr Oros) [1823743] - [net] devlink: Add auto dump flag to health reporter (Petr Oros) [1823743] - [net] devlink: Implicitly set auto recover flag when registering health reporter (Petr Oros) [1823743] - [netdrv] netdevsim: Change dummy reporter auto recover default (Petr Oros) [1823743] - [net] devlink: Only pass packet trap group identifier in trap structure (Petr Oros) [1823743] - [net] devlink: Stop reference counting packet trap groups (Petr Oros) [1823743] - [netdrv] netdevsim: Explicitly register packet trap groups (Petr Oros) [1823743] - [net] devlink: Add API to register packet trap groups (Petr Oros) [1823743] - [net] esp6: calculate transport_header correctly when sel.family != AF_INET6 (Xin Long) [1815980 1761579] - [net] esp4: support ipv6 nexthdrs process for beet gso segment (Xin Long) [1815980 1761579] - [net] esp6: support ipv6 nexthdrs process for beet gso segment (Xin Long) [1815980 1761579] - [net] xfrm: remove the xfrm_state_put call becofe going to out_reset (Xin Long) [1815980 1761579] - [net] esp6: get the right proto for transport mode in esp6_gso_encap (Xin Long) [1815980 1761579] - [net] xfrm: do pskb_pull properly in __xfrm_transport_prep (Xin Long) [1815980 1761579] - [net] xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input (Xin Long) [1815980 1761579] - [net] xfrm: add prep for esp beet mode offload (Xin Long) [1815980 1761579] - [net] esp6: add gso_segment for esp6 beet mode (Xin Long) [1815980 1761579] - [net] esp4: add gso_segment for esp4 beet mode (Xin Long) [1815980 1761579] - [net] xfrm: kconfig: make xfrm depend on inet (Xin Long) [1815980 1761579] - [net] xfrm: make xfrm modes builtin (Xin Long) [1815980 1761579] - [net] xfrm: remove afinfo pointer from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove output2 indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove input2 indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove gso_segment indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove xmit indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove output indirection from xfrm_mode (Xin Long) [1815980 1761579] - [net] xfrm: remove input indirection from xfrm_mode (Xin Long) [1761579 1815980] - [net] xfrm: prefer family stored in xfrm_mode struct (Xin Long) [1815980 1761579] - [net] xfrm: place af number into xfrm_mode struct (Xin Long) [1761579 1815980] - [net] xfrm: gso partial offload support (Xin Long) [1761579 1815980] - [net] netfilter: cttimeout: remove set but not used variable 'l3num' (Florian Westphal) [1822085] - [net] netfilter: conntrack: handle icmp pkt_to_tuple helper via direct calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: handle builtin l4proto packet functions via direct calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove net_id (Florian Westphal) [1822085] - [net] netfilter: conntrack: gre: switch module to be built-in (Florian Westphal) [1822085] - [net] netfilter: remove unused parameters in nf_ct_l4proto_[un]register_sysctl() (Florian Westphal) [1822085] - [net] netfilter: conntrack: gre: convert rwlock to rcu (Florian Westphal) [1822085] - [net] netfilter: nfnetlink_cttimeout: fetch timeouts for udplite and gre, too (Florian Westphal) [1822085] - [net] netfilter: nfnetlink_cttimeout: pass default timeout policy to obj_to_nlattr (Florian Westphal) [1822085] - [net] netfilter: conntrack: add nf_{tcp, udp, sctp, icmp, dccp, icmpv6, generic}_pernet() (Florian Westphal) [1822085] - [net] netfilter: conntrack: clamp l4proto array size at largers supported protocol (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove l3->l4 mapping information (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove unused proto arg from netns init functions (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove error callback and handle icmp from core (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid using ->error callback if possible (Florian Westphal) [1822085] - [net] netfilter: conntrack: deconstify packet callback skb pointer (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove the l4proto->new() function (Florian Westphal) [1822085] - [net] netfilter: conntrack: timeout interface depend on CONFIG_NF_CONNTRACK_TIMEOUT (Florian Westphal) [1822085] - [net] netfilter: conntrack: pass nf_hook_state to packet and error handlers (Florian Westphal) [1822085] - [net] netfilter: conntrack: place 'new' timeout in first location too (Florian Westphal) [1822085] - [net] netfilter: nf_conntrack_h323: Remove deprecated config check (Florian Westphal) [1822085] - [include] netfilter: nf_tables: merge route type into core (Florian Westphal) [1822085] - [net] netfilter: ipv6: avoid indirect calls for IPV6=y case (Florian Westphal) [1822085] - [net] netfilter: nat: remove module dependency on ipv6 core (Florian Westphal) [1822085] - [net] netfilter: remove obsolete need_conntrack stub (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid use-after free on rmmod (Florian Westphal) [1822085] - [net] netfilter: conntrack: dccp, sctp: handle null timeout argument (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove duplicated include from nf_conntrack_proto_udp.c (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove l3proto abstraction (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove get_timeout() indirection (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid l4proto pkt_to_tuple calls (Florian Westphal) [1822085] - [net] netfilter: conntrack: avoid calls to l4proto invert_tuple (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove get_l4proto indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove invert_tuple indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove pkt_to_tuple indirection from l3 protocol trackers (Florian Westphal) [1822085] - [net] netfilter: conntrack: remove ctnetlink callbacks from l3 protocol trackers (Florian Westphal) [1822085] - [net] openvswitch: use nf_ct_get_tuplepr, invert_tuplepr (Florian Westphal) [1822085] - [net] netfilter: utils: move nf_ip6_checksum* from ipv6 to utils (Florian Westphal) [1822085] - [net] netfilter: utils: move nf_ip_checksum* from ipv4 to utils (Florian Westphal) [1822085] - [net] netfilter: flowtables: use fixed renew timeout on teardown (Florian Westphal) [1822085] - [netdrv] geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR (Xin Long) [1809503] - [netdrv] vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR (Xin Long) [1809503] - [netdrv] geneve: Allow configuration of DF behaviour (Xin Long) [1809503] - [netdrv] vxlan: Allow configuration of DF behaviour (Xin Long) [1809503] - [netdrv] net: phy: realtek: fix using paged operations with RTL8105e / RTL8208 (Josef Oskera) [1841511] - [netdrv] r8169: fix OCP access on RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: re-establish support for RTL8401 chip version (Josef Oskera) [1841511] - [netdrv] r8169: change back SG and TSO to be disabled by default (Josef Oskera) [1841511] - [netdrv] r8169: factor out rtl8169_tx_map (Josef Oskera) [1841511] - [netdrv] r8169: improve handling of TD_MSS_MAX (Josef Oskera) [1841511] - [netdrv] r8169: fix PHY driver check on platforms w/o module softdeps (Josef Oskera) [1841511] - [netdrv] r8169: re-enable MSI on RTL8168c (Josef Oskera) [1841511] - [netdrv] r8169: don't use MSI before RTL8168d (Josef Oskera) [1841511] - [netdrv] r8169: improve RTL8168b FIFO overflow workaround (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl_schedule_task (Josef Oskera) [1841511] - [netdrv] r8169: simplify rtl_task (Josef Oskera) [1841511] - [netdrv] r8169: add new helper rtl8168g_enable_gphy_10m (Josef Oskera) [1841511] - [netdrv] net: r8169: reject unsupported coalescing params (Josef Oskera) [1841511] - [netdrv] r8169: simplify getting stats by using netdev_stats_to_stats64 (Josef Oskera) [1841511] - [netdrv] r8169: let rtl8169_mark_to_asic clear rx descriptor field opts2 (Josef Oskera) [1841511] - [netdrv] r8169: remove now unneeded barrier in rtl_tx (Josef Oskera) [1841511] - [netdrv] r8169: simplify usage of rtl8169_unmap_tx_skb (Josef Oskera) [1841511] - [netdrv] r8169: ensure tx_skb is fully reset after calling rtl8169_unmap_tx_skb (Josef Oskera) [1841511] - [netdrv] r8169: convert while to for loop in rtl_tx (Josef Oskera) [1841511] - [netdrv] r8169: use pci_status_get_and_clear_errors (Josef Oskera) [1841511] - [netdrv] r8169: add PCI_STATUS_PARITY to PCI status error bits (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_start_xmit (Josef Oskera) [1841511] - [netdrv] r8169: remove RTL_EVENT_NAPI constants (Josef Oskera) [1841511] - [netdrv] r8169: use new helper tcp_v6_gso_csum_prep (Josef Oskera) [1841511] - [netdrv] r8169: improve statistics of missed rx packets (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl_jumbo_config (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_get_mac_version (Josef Oskera) [1841511] - [netdrv] r8169: add helper rtl_pci_commit (Josef Oskera) [1841511] - [netdrv] r8169: simplify setting netdev features (Josef Oskera) [1841511] - [netdrv] r8169: remove setting PCI_CACHE_LINE_SIZE in rtl_hw_start_8169 (Josef Oskera) [1841511] - [netdrv] r8169: remove unneeded check from rtl_link_chg_patch (Josef Oskera) [1841511] - [netdrv] r8169: fix performance regression related to PCIe max read request size (Josef Oskera) [1841511] - [netdrv] r8169: don't set min_mtu/max_mtu if not needed (Josef Oskera) [1841511] - [netdrv] r8169: factor out PHY configuration to r8169_phy_config.c (Josef Oskera) [1841511] - [netdrv] r8169: add r8169.h (Josef Oskera) [1841511] - [netdrv] r8169: rename rtl_apply_firmware (Josef Oskera) [1841511] - [netdrv] r8169: add phydev argument to rtl8168d_apply_firmware_cond (Josef Oskera) [1841511] - [netdrv] r8169: use phy_read/write instead of rtl_readphy/writephy (Josef Oskera) [1841511] - [netdrv] r8169: replace rtl_w0w1_phy (Josef Oskera) [1841511] - [netdrv] r8169: replace rtl_patchphy (Josef Oskera) [1841511] - [netdrv] r8169: move disabling MAC EEE for RTL8402/RTL8106e (Josef Oskera) [1841511] - [netdrv] r8169: move setting ERI register 0x1d0 for RTL8106 (Josef Oskera) [1841511] - [netdrv] r8169: switch to phylib functions in rtl_writephy_batch (Josef Oskera) [1841511] - [netdrv] r8169: change argument type of RTL8168g-specific PHY config functions (Josef Oskera) [1841511] - [netdrv] r8169: change argument type of EEE PHY functions (Josef Oskera) [1841511] - [netdrv] r8169: move RTL8169scd Gigabyte PHY quirk (Josef Oskera) [1841511] - [netdrv] r8169: remove not needed debug print in rtl8169_init_phy (Josef Oskera) [1841511] - [netdrv] r8169: prepare for exporting rtl_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: add constant EnAnaPLL (Josef Oskera) [1841511] - [netdrv] r8169: move enabling EEE to rtl8169_init_phy (Josef Oskera) [1841511] - [netdrv] r8169: remove MAC workaround in rtl8168e_2_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: factor out rtl8168h_2_get_adc_bias_ioffset (Josef Oskera) [1841511] - [netdrv] r8169: check that Realtek PHY driver module is loaded (Josef Oskera) [1841511] - [netdrv] treewide: Use sizeof_field() macro (Josef Oskera) [1841511] - [netdrv] r8169: fix rtl_hw_jumbo_disable for RTL8168evl (Josef Oskera) [1841511] - [netdrv] r8169: add missing RX enabling for WoL on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: fix jumbo configuration for RTL8168evl (Josef Oskera) [1841511] - [netdrv] r8169: add check for PHY_MDIO_CHG to rtl_nic_fw_data_ok (Josef Oskera) [1841511] - [netdrv] r8169: use macro FIELD_SIZEOF in definition of FW_OPCODE_SIZE (Josef Oskera) [1841511] - [netdrv] r8169: change mdelay to msleep in rtl_fw_write_firmware (Josef Oskera) [1841511] - [netdrv] r8169: load firmware for RTL8168fp/RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: improve conditional firmware loading for RTL8168d (Josef Oskera) [1841511] - [netdrv] r8169: use r8168d_modify_extpage in rtl8168f_config_eee_phy (Josef Oskera) [1841511] - [netdrv] r8169: add support for RTL8117 (Josef Oskera) [1841511] - [netdrv] r8169: respect EEE user setting when restarting network (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl8168c_4_hw_phy_config (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168d_modify_extpage (Josef Oskera) [1841511] - [netdrv] r8169: switch to phylib functions in more places (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168d_phy_param (Josef Oskera) [1841511] - [netdrv] r8169: add helper r8168g_phy_param (Josef Oskera) [1841511] - [netdrv] r8169: fix page read in r8168g_mdio_read (Josef Oskera) [1841511] - [netdrv] r8169: fix wrong PHY ID issue with RTL8168dp (Josef Oskera) [1841511] - [netdrv] r8169: use helper rtl_hw_aspm_clkreq_enable also in rtl_hw_start_8168g_2 (Josef Oskera) [1841511] - [netdrv] r8169: improve rtl8169_rx_fill (Josef Oskera) [1841511] - [netdrv] r8169: align fix_features callback with vendor driver (Josef Oskera) [1841511] - [netdrv] r8169: never set PCI_EXP_DEVCTL_NOSNOOP_EN (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl_hw_start_8168bef (Josef Oskera) [1841511] - [netdrv] r8169: remove rtl_hw_start_8168dp (Josef Oskera) [1841511] - [netdrv] r8169: simplify setting PCI_EXP_DEVCTL_NOSNOOP_EN (Josef Oskera) [1841511] - [netdrv] r8169: remove fiddling with the PCIe max read request size (Josef Oskera) [1841511] - [netdrv] r8169: fix jumbo packet handling on resume from suspend (Josef Oskera) [1841511] - [netdrv] r8169: don't set bit RxVlan on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: add support for EEE on RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: add RTL8125 PHY initialization (Josef Oskera) [1841511] - [netdrv] r8169: add support for RTL8125 (Josef Oskera) [1841511] - [netdrv] r8169: don't use bit LastFrag in tx descriptor after send (Josef Oskera) [1841511] - [netdrv] r8169: read common register for PCI commit (Josef Oskera) [1841511] - [netdrv] r8169: move disabling interrupt coalescing to RTL8169/RTL8168 init (Josef Oskera) [1841511] - [netdrv] r8169: factor out reading MAC address from registers (Josef Oskera) [1841511] - [netdrv] r8169: restrict rtl_is_8168evl_up to RTL8168 chip versions (Josef Oskera) [1841511] - [netdrv] r8169: change interrupt mask type to u32 (Josef Oskera) [1841511] - [netdrv] r8169: improve DMA handling in rtl_rx (Josef Oskera) [1841511] - [netdrv] r8169: fix DMA issue on MIPS platform (Josef Oskera) [1841511] - [netdrv] r8169: sync EEE handling for RTL8168h with vendor driver (Josef Oskera) [1841511] - [netdrv] r8169: use the generic EEE management functions (Josef Oskera) [1841511] - [fs] gfs2: Even more gfs2_find_jhead fixes (Abhijith Das) [1828653] - [kernel] sched/fair: Don't NUMA balance for kthreads (Phil Auld) [1842543] - [kernel] sched/core: Offload wakee task activation if it the wakee is descheduling (Phil Auld) [1842543] - [kernel] sched/core: Optimize ttwu() spinning on p->on_cpu (Phil Auld) [1842543] - [fs] gfs2: Smarter iopen glock waiting (Andreas Grunbacher) [1582655] - [fs] gfs2: Wake up when setting GLF_DEMOTE (Andreas Grunbacher) [1582655] - [fs] gfs2: Check inode generation number in delete_work_func (Andreas Grunbacher) [1582655] - [fs] gfs2: Move inode generation number check into gfs2_inode_lookup (Andreas Grunbacher) [1582655] - [fs] gfs2: Minor gfs2_lookup_by_inum cleanup (Andreas Grunbacher) [1582655] - [fs] gfs2: Try harder to delete inodes locally (Andreas Grunbacher) [1582655] - [fs] gfs2: Give up the iopen glock on contention (Andreas Grunbacher) [1582655] - [fs] gfs2: Turn gl_delete into a delayed work (Andreas Grunbacher) [1582655] - [fs] gfs2: Keep track of deleted inode generations in LVBs (Andreas Grunbacher) [1582655] - [fs] gfs2: Allow ASPACE glocks to also have an lvb (Andreas Grunbacher) [1582655] - [fs] gfs2: Avoid access time thrashing in gfs2_inode_lookup (Andreas Grunbacher) [1582655] - [fs] gfs2: Use IS_ERR_OR_NULL (Andreas Grunbacher) [1582655] - [fpga] fpga: mark the intel fpga drivers as tech preview (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: stratix10-svc: Remove unneeded semicolon (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: Fix incompatible function behavior for RSU driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: add Intel Stratix10 remote system update driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] firmware: stratix10-svc: extend svc to support new RSU features (Luis Goncalves) [1689274 1660310 1494701 1494699] - [edac] EDAC/altera, firmware/intel: Add Stratix10 ECC DBE SMC call (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: stratix10-svc: fix wrong of_node_put() in init function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] firmware: add remote status update client support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [firmware] firmware: add Intel Stratix10 service layer driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: pci: fix return value of cci_pci_sriov_configure (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: xilinx-pr-decoupler: Remove clk_get error message for probe defer (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: remove redundant dev_err message (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: remove set but not used variable 'afu' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove set but not used variable 'fme' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add power management support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add thermal management support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] Documentation: fpga: dfl: add descriptions for thermal/power management interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: Remove dev_err() usage after platform_get_irq() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] Documentation: fpga: dfl: add descriptions for virtualization and new interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add global error reporting support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add STP (SignalTap) support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add error reporting support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: expose __afu_port_enable/disable function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add userclock sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: convert platform_driver to use dev_groups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: convert platform_driver to use dev_groups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: make init callback optional (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Add Stratix10 (V2) Support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Preparation for V2 parts (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Discover Vendor Specific offset (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-ps-spi: Fix getting of optional confd gpio (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add capability sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: make uinit callback optional (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add id_table for dfl private feature driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add AFU state related sysfs interfaces (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: pci: enable SRIOV support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add DFL_FPGA_FME_PORT_RELEASE/ASSIGN ioctl support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: use driver core functions, not sysfs ones (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-pr-ip: Make alt_pr_unregister function void (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Fix function definition argument (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga-manager: altera-ps-spi: Fix build error (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: align PR buffer size per PR datawidth (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove copy_to_user() in ioctl for PR (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-fme-mgr: fix FME_PR_INTFC_ID register address (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] drivers: fpga: Kconfig: pedantic cleanups (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: convert docs to ReST and rename to *.rst (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: zynqmp-fpga: Correctly handle error pointer (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] include: fpga: adi-axi-common.h: add common regs & defs header (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: expand minor range when registering chrdev region (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: Add lockdep classes for pdata->lock (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: Pass the correct device to dma_mapping_error() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: stratix10-soc: fix use-after-free on s10_init() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] treewide: Add SPDX license identifier - Makefile/Kconfig (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] mm/gup: change GUP fast to use flags rather than a write 'bool' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga manager: Adding FPGA Manager support for Xilinx zynqmp (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera_freeze_bridge: remove restriction to socfpga (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: altera-ps-spi: make array dummy static, shrinks object size (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: stratix10-soc: fix wrong of_node_put() in init function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] Remove 'type' argument from access_ok() function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: of-fpga-region: Use platform_set_drvdata (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-fme-region: Use platform_get_drvdata() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add intel stratix10 soc fpga manager driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: altera-ps-spi: enable usage on non-dt platforms (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: fix probing for multiple FPGAs on the bus (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] zynq-fpga: Only route PR via PCAP when required (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: Fix registration for CvP incapable devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: remove set but not used variable 'priv' (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: altera-cvp: fix 'bad IO access' on x86_64 (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add devm_fpga_region_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: bridge: add devm_fpga_bridge_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: add devm_fpga_mgr_create (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: document fpga manager flags (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: bridge: fix obvious function documentation error (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: do not access region struct after fpga_region_unregister (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] drivers: fpga: fix two trivial spelling mistakes (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: fix return value check in in pr_mgmt_init() (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add DFL_FPGA_PORT_DMA_MAP/UNMAP ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add afu sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add DFL_FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add header sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: afu: add port ops support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add FPGA Accelerated Function Unit driver basic framework (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme-region: add support for compat_id (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga region platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga bridge platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme-mgr: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add fpga manager platform driver for FME (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add partial reconfiguration sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add DFL_FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: fme: add header sub feature support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add FPGA Management Engine driver basic framework (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl-pci: add enumeration for feature devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add FPGA DFL PCIe device driver (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_check_port_id function (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_port_ops support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add feature device infrastructure (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add dfl_fpga_cdev_find_port (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: dfl: add chardev support for feature devices (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: add device feature list support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: region: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] fpga: mgr: add compat_id support (Luis Goncalves) [1689274 1660310 1494701 1494699] - [fpga] fpga: mgr: add status for fpga-manager (Luis Goncalves) [1689274 1660310 1494701 1494699] - [include] fpga: mgr: add region_id to fpga_image_info (Luis Goncalves) [1689274 1660310 1494701 1494699] - [documentation] docs: fpga: add a document for FPGA Device Feature List (DFL) Framework Overview (Luis Goncalves) [1689274 1660310 1494701 1494699] - [mm] mm: Add a vmf_insert_mixed_prot() function (Dave Airlie) [1838335] - [mm] mm: Add write-protect and clean utilities for address space ranges (Dave Airlie) [1838335] - [mm] mm: Add a walk_page_mapping() function to the pagewalk code (Dave Airlie) [1838335] - [mm] pagewalk: separate function pointers from iterator data (Dave Airlie) [1838335] - [mm] mm: split out a new pagewalk.h header from mm.h (Dave Airlie) [1838335] - [mm] mm: update ptep_modify_prot_commit to take old pte value as arg (Dave Airlie) [1838335] - [x86] mm: update ptep_modify_prot_start/commit to take vm_area_struct as arg (Dave Airlie) [1838335] - [mm] mm/mmu_notifier: add an interval tree notifier (Dave Airlie) [1838335] - [mm] mm/mmu_notifier: define the header pre-processor parts even if disabled (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end (Dave Airlie) [1838335] - [misc] misc/sgi-gru: use mmu_notifier_get/put for struct gru_mm_struct (Dave Airlie) [1838335] - [drm] drm/backport: add mmu notifier get/put support to drm backport (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: add a get/put scheme for the registration (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: do not speculatively allocate a mmu_notifier_mm (Dave Airlie) [1838335] - [mm] mm/mmu_notifiers: hoist do_mmu_notifier_register down_write to the caller (Dave Airlie) [1838335] - [mm] mm/mmu_notifier.c: remove mmu_notifier_synchronize() (Dave Airlie) [1838335] - [infiniband] locking/lockdep: Rename lockdep_assert_held_exclusive() -> lockdep_assert_held_write() (Dave Airlie) [1838335] - [include] mm/mmu_notifier: contextual information for event enums (Dave Airlie) [1838335] - [mm] mm/memory_hotplug.c: only respect mem= parameter during boot stage (Baoquan He) [1838809 1781472] - [scsi] scsi: mpt3sas: Remove unused including (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix double free warnings (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Disable DIF when prot_mask set to zero (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Capture IOC data for debugging purposes (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Use true, false for ioc->use_32bit_dma (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Remove NULL check before freeing function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update mpt3sas version to 33.101.00.00 (Tomas Henzl) [1790760] - [scsi] mpt3sas: Fix memset in non-rdpq mode (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix reply queue count in non RDPQ mode (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Handle RDPQ DMA allocation in same 4G region (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Separate out RDPQ allocation to new function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Rename function name is_MSB_are_same (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Don't change the DMA coherent mask after allocations (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: use true, false for bool variables (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug (Tomas Henzl) [1790760] - [scsi] scsi: Replace zero-length array with flexible-array member (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update drive version to 33.100.00.00 (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Remove usage of device_busy counter (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Print function name in which cmd timed out (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Optimize mpt3sas driver logging (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: print in which path firmware fault occurred (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Handle CoreDump state from watchdog thread (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Add support IOCs new state named COREDUMP (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: renamed _base_after_reset_handler function (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Add support for NVMe shutdown (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Update MPI Headers to v02.00.57 (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Fix double free in attach error handling (Tomas Henzl) [1790760] - [scsi] scsi: mpt3sas: Clean up some indenting (Tomas Henzl) [1790760] - [crypto] crypto: af_alg - cast ki_complete ternary op to int (Herbert Xu) [1837499] - [netdrv] virtio-net: per-queue RPS config (Eugenio Perez) [1718086] - [netdrv] virtio_net: Differentiate sk_buff and xdp_frame on freeing (Eugenio Perez) [1718086] - [netdrv] virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs (Eugenio Perez) [1718086] - [netdrv] virtio_net: enable napi_tx by default (Eugenio Perez) [1718086] - [netdrv] virtio_net: Don't call free_old_xmit_skbs for xdp_frames (Eugenio Perez) [1718086] - [netdrv] virtio_net: Don't enable NAPI when interface is down (Eugenio Perez) [1718086] - [include] cpumask: make cpumask_next_wrap available without smp (Eugenio Perez) [1718086] - [netdrv] virtio_net: Stripe queue affinities across cores (Eugenio Perez) [1718086] - [virtio] virtio: Make vp_set_vq_affinity() take a mask (Eugenio Perez) [1718086]- [netdrv] ice: add board identifier info to devlink .info_get (Jonathan Toppins) [1796682] - [netdrv] ice: add basic handler for devlink .info_get (Jonathan Toppins) [1796682] - [netdrv] ice: enable initial devlink support (Jonathan Toppins) [1796682] - [netdrv] ice: implement full NVM read from ETHTOOL_GEEPROM (Jonathan Toppins) [1796682] - [netdrv] ice: discover and store size of available flash (Jonathan Toppins) [1796682] - [netdrv] ice: store NVM version info in extracted format (Jonathan Toppins) [1796682] - [netdrv] ice: create function to read a section of the NVM and Shadow RAM (Jonathan Toppins) [1796682] - [netdrv] ice: use __le16 types for explicitly Little Endian values (Jonathan Toppins) [1796682] - [netdrv] ice: fix incorrect size description of ice_get_nvm_version (Jonathan Toppins) [1781388] - [netdrv] ice: use variable name more descriptive than type (Jonathan Toppins) [1781388] - [netdrv] ice: Use EOPNOTSUPP instead of ENOTSUPP (Jonathan Toppins) [1781388] - [netdrv] ice: Fix format specifier (Jonathan Toppins) [1781388] - [netdrv] ice: fix use of deprecated strlcpy() (Jonathan Toppins) [1781388] - [netdrv] ice: Increase mailbox receive queue length to maximum (Jonathan Toppins) [1781388] - [netdrv] ice: Correct setting VLAN pruning (Jonathan Toppins) [1781388] - [netdrv] ice: renegotiate link after FW DCB on (Jonathan Toppins) [1781388] - [netdrv] ice: Fix corner case when switching from IEEE to CEE (Jonathan Toppins) [1781388] - [netdrv] ice: Display Link detected via Ethtool in safe mode (Jonathan Toppins) [1781388] - [netdrv] ice: Fix removing driver while bare-metal VFs pass traffic (Jonathan Toppins) [1781388] - [netdrv] ice: Improve clarity of prints and variables (Jonathan Toppins) [1781388] - [netdrv] ice: allow bigger VFs (Jonathan Toppins) [1781388] - [netdrv] ice: Cleanup unneeded parenthesis (Jonathan Toppins) [1781388] - [netdrv] ice: Use pci_get_dsn() (Jonathan Toppins) [1781388] - [netdrv] ice: let core reject the unsupported coalescing parameters (Jonathan Toppins) [1781388] - [netdrv] ice: fix define for E822 backplane device (Jonathan Toppins) [1781388] - [netdrv] ice: add support for E823 devices (Jonathan Toppins) [1795812] - [netdrv] ice: add backslash-n to strings (Jonathan Toppins) [1781388] - [netdrv] ice: increase PF reset wait timeout to 300 milliseconds (Jonathan Toppins) [1781388] - [netdrv] ice: Support XDP UMEM wake up mechanism (Jonathan Toppins) [1781388] - [netdrv] ice: SW DCB, report correct max TC value (Jonathan Toppins) [1781388] - [netdrv] ice: Report correct DCB mode (Jonathan Toppins) [1781388] - [netdrv] ice: Add DCBNL ops required to configure ETS in CEE for SW DCB (Jonathan Toppins) [1781388] - [netdrv] ice: Always clear the QRXFLXP_CNTXT register for VF Rx queues (Jonathan Toppins) [1781388] - [netdrv] ice: Fix for TCAM entry management (Jonathan Toppins) [1781388] - [netdrv] ice: update malicious driver detection event handling (Jonathan Toppins) [1781388] - [netdrv] ice: Validate config for SW DCB map (Jonathan Toppins) [1781388] - [netdrv] ice: Wait for VF to be reset/ready before configuration (Jonathan Toppins) [1792691] - [netdrv] ice: Don't reject odd values of usecs set by user (Jonathan Toppins) [1781388] - [netdrv] ice: use true/false for bool types (Jonathan Toppins) [1781388] - [netdrv] ice: add function argument description to function header comment (Jonathan Toppins) [1781388] - [netdrv] ice: use proper format for function pointer as a function parameter (Jonathan Toppins) [1781388] - [netdrv] ice: remove unnecessary fallthrough comments (Jonathan Toppins) [1781388] - [netdrv] ice: Fix virtchnl_queue_select bitmap validation (Jonathan Toppins) [1781388] - [netdrv] ice: Fix and refactor Rx queue disable for VFs (Jonathan Toppins) [1781388] - [netdrv] ice: Handle LAN overflow event for VF queues (Jonathan Toppins) [1781388] - [netdrv] ice: Fix implicit queue mapping mode in ice_vsi_get_qs (Jonathan Toppins) [1781388] - [netdrv] ice: Add support to enable/disable all Rx queues before waiting (Jonathan Toppins) [1781388] - [netdrv] ice: Only allow tagged bcast/mcast traffic for VF in port VLAN (Jonathan Toppins) [1781388] - [netdrv] ice: Fix Port VLAN priority bits (Jonathan Toppins) [1781388] - [netdrv] ice: Add helper to determine if VF link is up (Jonathan Toppins) [1781388] - [netdrv] ice: Refactor port vlan configuration for the VF (Jonathan Toppins) [1781388] - [netdrv] ice: Add initial support for QinQ (Jonathan Toppins) [1781388] - [netdrv] ice: Trivial fixes (Jonathan Toppins) [1781388] - [netdrv] ice: Use correct netif error function (Jonathan Toppins) [1781388] - [netdrv] ice: Cleanup ice_vsi_alloc_q_vectors (Jonathan Toppins) [1781388] - [netdrv] ice: Make print statements more compact (Jonathan Toppins) [1781388] - [netdrv] ice: Use ice_pf_to_dev (Jonathan Toppins) [1781388] - [netdrv] ice: Remove possible null dereference (Jonathan Toppins) [1781388] - [netdrv] ice: update Unit Load Status bitmask to check after reset (Jonathan Toppins) [1781388] - [netdrv] ice: fix and consolidate logging of NVM/firmware version information (Jonathan Toppins) [1781388] - [netdrv] ice: Modify link message logging (Jonathan Toppins) [1781388] - [netdrv] ice: Remove CONFIG_PCI_IOV wrap in ice_set_pf_caps (Jonathan Toppins) [1781388] - [netdrv] ice: Remove ice_dev_onetime_setup() (Jonathan Toppins) [1781388] - [netdrv] ice: Don't allow same value for Rx tail to be written twice (Jonathan Toppins) [1781388] - [netdrv] ice: display supported and advertised link modes (Jonathan Toppins) [1781388] - [netdrv] ice: Fix switch between FW and SW LLDP (Jonathan Toppins) [1781388] - [netdrv] ice: Fix DCB rebuild after reset (Jonathan Toppins) [1781388] - [netdrv] ice: Bump version (Jonathan Toppins) [1781401] - [netdrv] ice: Implement ethtool get/set rx-flow-hash (Jonathan Toppins) [1781401] - [netdrv] ice: Initilialize VF RSS tables (Jonathan Toppins) [1781401] - [netdrv] ice: Optimize table usage (Jonathan Toppins) [1781401] - [netdrv] ice: Enable writing filtering tables (Jonathan Toppins) [1781401] - [netdrv] ice: Populate TCAM filter software structures (Jonathan Toppins) [1781401] - [netdrv] ice: Allocate flow profile (Jonathan Toppins) [1781401] - [netdrv] ice: Enable writing hardware filtering tables (Jonathan Toppins) [1781401] - [netdrv] ice: remove redundant assignment to variable xmit_done (Jonathan Toppins) [1781388] - [netdrv] ice: Removing hung_queue variable to use txqueue function parameter (Jonathan Toppins) [1781388] - [netdrv] ice: Add device ids for E822 devices (Jonathan Toppins) [1781951] - [netdrv] ice: Suppress Coverity warnings for xdp_rxq_info_reg (Jonathan Toppins) [1781388] - [netdrv] ice: Add a boundary check in ice_xsk_umem() (Jonathan Toppins) [1781388] - [netdrv] ice: add extra check for null Rx descriptor (Jonathan Toppins) [1781388] - [netdrv] ice: suppress checked_return error (Jonathan Toppins) [1781388] - [netdrv] ice: Demote MTU change print to debug (Jonathan Toppins) [1781388] - [netdrv] ice: Enable ip link show on the PF to display VF unicast MAC(s) (Jonathan Toppins) [1781388] - [netdrv] ice: Fix VF link state when it's IFLA_VF_LINK_STATE_AUTO (Jonathan Toppins) [1781388] - [netdrv] ice: Remove Rx flex descriptor programming (Jonathan Toppins) [1781388] - [netdrv] ice: Return error on not supported ethtool -C parameters (Jonathan Toppins) [1781388] - [netdrv] ice: Restore interrupt throttle settings after VSI rebuild (Jonathan Toppins) [1781388] - [netdrv] ice: Set default value for ITR in alloc function (Jonathan Toppins) [1781388] - [netdrv] ice: Add ice_for_each_vf() macro (Jonathan Toppins) [1781388] - [netdrv] ice: Add code to keep track of current dflt_vsi (Jonathan Toppins) [1781388] - [netdrv] ice: Fix VF spoofchk (Jonathan Toppins) [1781388] - [netdrv] ice: Support UDP segmentation offload (Jonathan Toppins) [1781388] - [netdrv] ice: Update FW API minor version (Jonathan Toppins) [1781388] - [netdrv] ice: remove pointless NULL check of port_info (Jonathan Toppins) [1781388] - [netdrv] ice: Implement ethtool ops for channels (Jonathan Toppins) [1781388] - [netdrv] ice: implement VF stats NDO (Jonathan Toppins) [1781388] - [netdrv] ice: add helpers for virtchnl (Jonathan Toppins) [1781388] - [netdrv] ice: Add ice_pf_to_dev(pf) macro (Jonathan Toppins) [1781388] - [netdrv] ice: Do not use devm* functions for local uses (Jonathan Toppins) [1781388] - [netdrv] ice: Refactor removal of VLAN promiscuous rules (Jonathan Toppins) [1781388] - [netdrv] ice: Fix setting coalesce to handle DCB configuration (Jonathan Toppins) [1781388] - [netdrv] ice: Only disable VF state when freeing each VF resources (Jonathan Toppins) [1781388] - [netdrv] ice: fix stack leakage (Jonathan Toppins) [1781388] - [netdrv] ice: Don't modify stripping for add/del VLANs on VF (Jonathan Toppins) [1781388] - [netdrv] ice: Disallow VF VLAN opcodes if VLAN offloads disabled (Jonathan Toppins) [1781388] - [netdrv] ice: Correct capabilities reporting of max TCs (Jonathan Toppins) [1781388] - [netdrv] ice: Store number of functions for the device (Jonathan Toppins) [1781388] - [netdrv] ice: fix potential infinite loop because loop counter being too small (Jonathan Toppins) [1781388] - [netdrv] ice: print opcode when printing controlq errors (Jonathan Toppins) [1781388] - [netdrv] ice: use more accurate ICE_DBG mask types (Jonathan Toppins) [1781388] - [netdrv] ice: Introduce and use ice_vsi_type_str (Jonathan Toppins) [1781388] - [netdrv] ice: remove unnecessary conditional check (Jonathan Toppins) [1781388] - [netdrv] ice: Update enum ice_flg64_bits to current specification (Jonathan Toppins) [1781388] - [netdrv] ice: delay less (Jonathan Toppins) [1781388] - [netdrv] ice: use pkg_dwnld_status instead of sq_last_status (Jonathan Toppins) [1781388] - [netdrv] ice: Change max MSI-x vector_id check in cfg_irq_map (Jonathan Toppins) [1781388] - [netdrv] ice: Check if VF is disabled for Opcode and other operations (Jonathan Toppins) [1781388] - [netdrv] ice: configure software LLDP in ice_init_pf_dcb (Jonathan Toppins) [1781388] - [netdrv] ice: Fix to change Rx/Tx ring descriptor size via ethtool with DCBx (Jonathan Toppins) [1781388] - [netdrv] ice: avoid setting features during reset (Jonathan Toppins) [1781388] - [netdrv] ice: Implement DCBNL support (Jonathan Toppins) [1781388] - [netdrv] ice: Add NDO callback to set the maximum per-queue bitrate (Jonathan Toppins) [1781388] - [netdrv] ice: Use ice_ena_vsi and ice_dis_vsi in DCB configuration flow (Jonathan Toppins) [1781388] - [netdrv] ice: Fix return value when SR-IOV is not supported (Jonathan Toppins) [1781388] - [netdrv] ice: Rename VF function ice_vc_dis_vf to match its behavior (Jonathan Toppins) [1781388] - [netdrv] ice: Get rid of ice_cleanup_header (Jonathan Toppins) [1781388] - [netdrv] ice: print PCI link speed and width (Jonathan Toppins) [1781388] - [netdrv] ice: print unsupported module message (Jonathan Toppins) [1781388] - [netdrv] ice: write register with correct offset (Jonathan Toppins) [1781388] - [netdrv] ice: Check for null pointer dereference when setting rings (Jonathan Toppins) [1781388] - [netdrv] ice: save PCI state in probe (Jonathan Toppins) [1781388] - [netdrv] ice: Adjust DCB INIT for SW mode (Jonathan Toppins) [1781388] - [netdrv] ice: fix driver unload flow (Jonathan Toppins) [1781388] - [netdrv] ice: handle DCBx non-contiguous TC request (Jonathan Toppins) [1781388] - [netdrv] ice: Update Boot Configuration Section read of NVM (Jonathan Toppins) [1781388] - [netdrv] ice: add ethtool -m support for reading i2c eeprom modules (Jonathan Toppins) [1781388] - [netdrv] ice: allow 3k MTU for XDP (Jonathan Toppins) [1781388] - [netdrv] ice: add build_skb() support (Jonathan Toppins) [1781388] - [netdrv] ice: introduce frame padding computation logic (Jonathan Toppins) [1781388] - [netdrv] ice: introduce legacy Rx flag (Jonathan Toppins) [1781388] - [netdrv] ice: Add support for AF_XDP (Jonathan Toppins) [1730487] - [netdrv] ice: Move common functions to ice_txrx_lib.c (Jonathan Toppins) [1781388] - [netdrv] ice: Add support for XDP (Jonathan Toppins) [1730487] - [netdrv] ice: get rid of per-tc flow in Tx queue configuration routines (Jonathan Toppins) [1781388] - [netdrv] ice: Introduce ice_base.c (Jonathan Toppins) [1781388] - [netdrv] net:Use skb accessors in network drivers (Jonathan Toppins) [1781388] - [powerpc] powerpc/eeh: Remove eeh_add_device_tree_late() (Myron Stowe) [1840904] - [powerpc] powerpc/eeh: Add sysfs files in late probe (Myron Stowe) [1840904] - [powerpc] powerpc: Drop using struct of_pci_range.pci_space field (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Fold pcibios_setup_device() into pcibios_bus_add_device() (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Remove pcibios_setup_bus_devices() (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Fix pcibios_setup_device() ordering (Myron Stowe) [1840904] - [powerpc] powerpc/pci: Remove legacy debug code (Myron Stowe) [1840904] - [x86] x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE (David Arcari) [1826966] - [x86] x86/microcode/AMD: Make stub function static inline (David Arcari) [1826966] - [x86] x86/microcode/intel: Issue the revision updated message only on the BSP (David Arcari) [1826966] - [x86] x86/microcode: Update late microcode in parallel (David Arcari) [1826966] - [x86] x86/microcode/amd: Fix two -Wunused-but-set-variable warnings (David Arcari) [1826966] - [x86] x86/microcode: Fix the microcode load on CPU hotplug for real (David Arcari) [1826966] - [x86] x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback (David Arcari) [1826966] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 353 (David Arcari) [1826966] - [x86] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1826966] - [x86] treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1826966] - [x86] x86/microcode: Fix the ancient deprecated microcode loading method (David Arcari) [1826966] - [x86] x86/microcode/intel: Refactor Intel microcode blob loading (David Arcari) [1826966] - [x86] x86/microcode: Announce reload operation's completion (David Arcari) [1826966] - [x86] x86/microcode/AMD: Update copyright (David Arcari) [1826966] - [x86] x86/microcode/AMD: Check the equivalence table size when scanning it (David Arcari) [1826966] - [x86] x86/microcode/AMD: Convert CPU equivalence table variable into a struct (David Arcari) [1826966] - [x86] x86/microcode/AMD: Check microcode container data in the late loader (David Arcari) [1826966] - [x86] x86/microcode/AMD: Fix container size's type (David Arcari) [1826966] - [x86] x86/microcode/AMD: Convert early parser to the new verification routines (David Arcari) [1826966] - [x86] x86/microcode/AMD: Change verify_patch()'s return value (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move chipset-specific check into verify_patch() (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move patch family check to verify_patch() (David Arcari) [1826966] - [x86] x86/microcode/AMD: Simplify patch family detection (David Arcari) [1826966] - [x86] x86/microcode/AMD: Concentrate patch verification (David Arcari) [1826966] - [x86] x86/microcode/AMD: Cleanup verify_patch_size() more (David Arcari) [1826966] - [x86] x86/microcode/AMD: Clean up per-family patch size checks (David Arcari) [1826966] - [x86] x86/microcode/AMD: Move verify_patch_size() up in the file (David Arcari) [1826966] - [x86] x86/microcode/AMD: Add microcode container verification (David Arcari) [1826966] - [x86] x86/microcode/AMD: Subtract SECTION_HDR_SIZE from file leftover length (David Arcari) [1826966] - [x86] x86/microcode: Make revision and processor flags world-readable (David Arcari) [1826966] - [pci] PCI: Add pci_status_get_and_clear_errors (Josef Oskera) [1840535] - [pci] PCI: Add constant PCI_STATUS_ERROR_BITS (Josef Oskera) [1840535] - [arm64] arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode (Petr Oros) [1816982] - [arm64] arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id (Petr Oros) [1816982] - [netdrv] net: phy: marvell: Fix pause frame negotiation (Petr Oros) [1816982] - [netdrv] net: phy: propagate an error back to the callers of phy_sfp_probe (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix clock sink configuration on ATH8030 and ATH8035 (Petr Oros) [1816982] - [netdrv] r8169: fix resume on cable plug-in (Petr Oros) [1816982] - [documentation] dt-bindings: net: remove un-implemented property (Petr Oros) [1816982] - [netdrv] net: phy: mdio-bcm-unimac: Fix clock handling (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: w/a for fld detect threshold bootstrapping issue (Petr Oros) [1816982] - [netdrv] net: phy: sfp-bus.c: get rid of docs warnings (Petr Oros) [1816982] - [netdrv] net: phy: mdio-mux-bcm-iproc: check clk_prepare_enable() return value (Petr Oros) [1816982] - [netdrv] net: phy: fix MDIO bus PM PHY resuming (Petr Oros) [1816982] - [of] drivers/of/of_mdio.c:fix of_mdiobus_register() (Petr Oros) [1816982] - [netdrv] net: phy: bcm63xx: fix OOPS due to missing driver name (Petr Oros) [1816982] - [netdrv] phylink: Improve error message when validate failed (Petr Oros) [1816982] - [netdrv] net: phy: avoid clearing PHY interrupts twice in irq handler (Petr Oros) [1816982] - [netdrv] net: phy: marvell: don't interpret PHY status unless resolved (Petr Oros) [1816982] - [netdrv] net: phy: mscc: fix firmware paths (Petr Oros) [1816982] - [netdrv] net: phy: corrected the return value for genphy_check_and_restart_aneg and genphy_c45_check_and_restart_aneg (Petr Oros) [1816982] - [documentation] docs: networking: phy: Rephrase paragraph for clarity (Petr Oros) [1816982] - [netdrv] net: phy: Avoid multiple suspends (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Fix a typo ("firsly") (Petr Oros) [1816982] - [netdrv] net: phy: restore mdio regs in the iproc mdio driver (Petr Oros) [1816982] - [netdrv] net: phy: at803x: disable vddio regulator (Petr Oros) [1816982] - [netdrv] net: mii_timestamper: fix static allocation by PHY driver (Petr Oros) [1816982] - [of] net: mdio: of: fix potential NULL pointer derefernce (Petr Oros) [1816982] - [netdrv] net: phy: add default ARCH_BCM_IPROC for MDIO_BCM_IPROC (Petr Oros) [1816982] - [netdrv] net: phy: DP83822: Add support for additional DP83825 devices (Petr Oros) [1816982] - [netdrv] phy: dp83826: Add phy IDs for DP83826N and 826NC (Petr Oros) [1816982] - [netdrv] net: phy: add new version of phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phy: rename phy_do_ioctl to phy_do_ioctl_running (Petr Oros) [1816982] - [netdrv] r8169: use generic ndo_do_ioctl handler phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phy: add generic ndo_do_ioctl handler phy_do_ioctl (Petr Oros) [1816982] - [netdrv] net: phylink: allow in-band AN for USXGMII (Petr Oros) [1816982] - [netdrv] net: phy: adin: fix a warning about msleep (Petr Oros) [1816982] - [netdrv] net: phy: don't crash in phy_read/_write_mmd without a PHY driver (Petr Oros) [1816982] - [netdrv] net: phylink: Allow 2.5BASE-T, 5GBASE-T and 10GBASE-T for the 10G link modes (Petr Oros) [1816982] - [netdrv] net: phy: adin: const-ify static data (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset (Petr Oros) [1816982] - [netdrv] net: phy: Maintain MDIO device and bus statistics (Petr Oros) [1816982] - [powerpc] powerpc: Add const qual to local_read() parameter (Petr Oros) [1816982] - [include] u64_stats: provide u64_stats_t type (Petr Oros) [1816982] - [documentation] Documentation: net-sysfs: Remove duplicate PHY device documentation (Petr Oros) [1816982] - [netdrv] mdio_bus: Simplify reset handling and extend to non-DT systems (Petr Oros) [1816982] - [netdrv] net: phy: Added IRQ print to phylink_bringup_phy() (Petr Oros) [1816982] - [netdrv] net: phy: DP83822: Update Kconfig with DP83825I support (Petr Oros) [1816982] - [netdrv] net: phy: DP83TC811: Fix typo in Kconfig (Petr Oros) [1816982] - [netdrv] net: phylink: add support for polling MAC PCS (Petr Oros) [1816982] - [netdrv] net: phylink: make QSGMII a valid PHY mode for in-band AN (Petr Oros) [1816982] - [uapi] mii: Add helpers for parsing SGMII auto-negotiation (Petr Oros) [1816982] - [netdrv] net: phylink: fix failure to register on x86 systems (Petr Oros) [1816982] - [netdrv] net: phy: fixed_phy: switch to using fwnode_gpiod_get_index (Petr Oros) [1816982] - [netdrv] net: phy: fixed_phy: fix use-after-free when checking link GPIO (Petr Oros) [1816982] - [netdrv] net: phylink: switch to using fwnode_gpiod_get_index() (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for configuring the RX delay on RTL8211F (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add logging for the RGMII TX delay configuration (Petr Oros) [1816982] - [netdrv] net: mdio: of: Register discovered MII time stampers (Petr Oros) [1816982] - [documentation] dt-bindings: ptp: Introduce MII time stamping devices (Petr Oros) [1816982] - [netdrv] net: Add a layer for non-PHY MII time stamping drivers (Petr Oros) [1816982] - [netdrv] net: Introduce a new MII time stamping interface (Petr Oros) [1816982] - [netdrv] net: phy: dp83640: Move the probe and remove methods around (Petr Oros) [1816982] - [netdrv] net: netcp_ethss: Use the PHY time stamping interface (Petr Oros) [1816982] - [net] net: ethtool: Use the PHY time stamping interface (Petr Oros) [1816982] - [net] net: vlan: Use the PHY time stamping interface (Petr Oros) [1816982] - [netdrv] net: macvlan: Use the PHY time stamping interface (Petr Oros) [1816982] - [include] net: phy: Introduce helper functions for time stamping support (Petr Oros) [1816982] - [include] of: mdio: Add missing inline to of_mdiobus_child_is_phy() dummy (Petr Oros) [1816982] - [netdrv] net: phy: aquantia: add suspend / resume ops for AQR105 (Petr Oros) [1816982] - [netdrv] net: phy: ensure that phy IDs are correctly typed (Petr Oros) [1816982] - [include] mod_devicetable: fix PHY module format (Petr Oros) [1816982] - [of] of: mdio: export of_mdiobus_child_is_phy (Petr Oros) [1816982] - [netdrv] net: sfp: report error on failure to read sfp soft status (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use genphy_check_and_restart_aneg() (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use phy_modify_changed() (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use existing clause 37 definitions (Petr Oros) [1816982] - [netdrv] net: phy: marvell: consolidate phy status reading (Petr Oros) [1816982] - [netdrv] net: phy: marvell: use positive logic for link state (Petr Oros) [1816982] - [netdrv] net: phy: marvell: initialise link partner state earlier (Petr Oros) [1816982] - [netdrv] net: phy: marvell: rearrange to use genphy_read_lpa() (Petr Oros) [1816982] - [netdrv] net: phy: provide and use genphy_read_status_fixed() (Petr Oros) [1816982] - [netdrv] net: phy: add genphy_check_and_restart_aneg() (Petr Oros) [1816982] - [netdrv] net: phy: use phy_resolve_aneg_pause() (Petr Oros) [1816982] - [netdrv] net: phy: remove redundant .aneg_done initialisers (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Remove unneeded semicolon (Petr Oros) [1816982] - [netdrv] net: phylink: extend clause 45 PHY validation workaround (Petr Oros) [1816982] - [netdrv] net: phylink: improve clause 45 PHY ksettings_set implementation (Petr Oros) [1816982] - [netdrv] net: phylink: fix interface passed to mac_link_up (Petr Oros) [1816982] - [netdrv] net: phylink: propagate phy_attach_direct() return code (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add rx-fifo-depth and tx-fifo-depth (Petr Oros) [1816982] - [documentation] dt-bindings: dp83867: Convert fifo-depth to common fifo-depth and make optional (Petr Oros) [1816982] - [netdrv] net: sfp: re-attempt probing for phy (Petr Oros) [1816982] - [netdrv] net: sfp: error handling for phy probe (Petr Oros) [1816982] - [netdrv] net: sfp: rename sm_retries (Petr Oros) [1816982] - [netdrv] net: sfp: use a definition for the fault recovery attempts (Petr Oros) [1816982] - [netdrv] net: sfp: add support for Clause 45 PHYs (Petr Oros) [1816982] - [netdrv] net: phy: add Broadcom BCM84881 PHY driver (Petr Oros) [1816982] - [netdrv] net: phylink: make Broadcom BCM84881 based SFPs work (Petr Oros) [1816982] - [netdrv] net: phylink: delay MAC configuration for copper SFP modules (Petr Oros) [1816982] - [netdrv] net: phylink: split phylink_sfp_module_insert() (Petr Oros) [1816982] - [netdrv] net: phylink: split link_an_mode configured and current settings (Petr Oros) [1816982] - [netdrv] net: phylink: support Clause 45 PHYs on SFP+ modules (Petr Oros) [1816982] - [netdrv] net: phylink: re-split __phylink_connect_phy() (Petr Oros) [1816982] - [netdrv] net: mdio-i2c: add support for Clause 45 accesses (Petr Oros) [1816982] - [netdrv] net: sfp: move phy_start()/phy_stop() to phylink (Petr Oros) [1816982] - [netdrv] net: sfp: add module start/stop upstream notifications (Petr Oros) [1816982] - [netdrv] net: sfp: derive interface mode from ethtool link modes (Petr Oros) [1816982] - [netdrv] net: sfp: remove incomplete 100BASE-FX and 100BASE-LX support (Petr Oros) [1816982] - [netdrv] net: sfp: avoid tx-fault with Nokia GPON module (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: fix hfs boot in rgmii mode (Petr Oros) [1816982] - [netdrv] phy: mdio-thunder: add missed pci_release_regions in remove (Petr Oros) [1816982] - [netdrv] net: sfp: fix hwmon (Petr Oros) [1816982] - [netdrv] net: sfp: fix unbind (Petr Oros) [1816982] - [netdrv] net: phy: realtek: fix using paged operations with RTL8105e / RTL8208 (Petr Oros) [1816982] - [netdrv] net: phy: Use the correct style for SPDX License Identifier (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Fix return paths to return proper values (Petr Oros) [1816982] - [netdrv] net: phy: add helpers phy_(un)lock_mdio_bus (Petr Oros) [1816982] - [netdrv] mdio_bus: don't use managed reset-controller (Petr Oros) [1816982] - [netdrv] net: phy: initialise phydev speed and duplex sanely (Petr Oros) [1816982] - [netdrv] net: phy: remove phy_ethtool_sset() (Petr Oros) [1816982] - [netdrv] net: sfp: soft status and control support (Petr Oros) [1816982] - [netdrv] net: sfp: add some quirks for GPON modules (Petr Oros) [1816982] - [netdrv] net: sfp: add support for module quirks (Petr Oros) [1816982] - [netdrv] net: phylink: fix link mode modification in PHY mode (Petr Oros) [1816982] - [netdrv] net: phylink: update documentation on create and destroy (Petr Oros) [1816982] - [netdrv] mdio_bus: Fix init if CONFIG_RESET_CONTROLLER=n (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: fix return of uninitialized variable ret (Petr Oros) [1816982] - [netdrv] phy: mdio-sun4i: add missed regulator_disable in remove (Petr Oros) [1816982] - [netdrv] mscc.c: fix semicolon.cocci warnings (Petr Oros) [1816982] - [netdrv] net: phy: avoid matching all-ones clause 45 PHY IDs (Petr Oros) [1816982] - [netdrv] net: phylink: update to use phy_support_asym_pause() (Petr Oros) [1816982] - [netdrv] net: phy: marvell10g: add SFP+ support (Petr Oros) [1816982] - [netdrv] net: phy: add core phylib sfp support (Petr Oros) [1816982] - [netdrv] net: phy: dp83869: Add TI dp83869 phy (Petr Oros) [1816982] - [documentation] dt-bindings: net: dp83869: Add TI dp83869 phy (Petr Oros) [1816982] - [netdrv] mscc.c: Add support for additional VSC PHYs (Petr Oros) [1816982] - [netdrv] net: sfp: fix spelling mistake "requies" -> "requires" (Petr Oros) [1816982] - [netdrv] net: sfp: allow modules with slow diagnostics to probe (Petr Oros) [1816982] - [netdrv] net: sfp: allow sfp to probe slow to initialise GPON modules (Petr Oros) [1816982] - [netdrv] net: sfp: move module insert reporting out of probe (Petr Oros) [1816982] - [netdrv] net: sfp: split power mode switching from probe (Petr Oros) [1816982] - [netdrv] net: sfp: track upstream's attachment state in state machine (Petr Oros) [1816982] - [netdrv] net: sfp: ensure TX_FAULT has deasserted before probing the PHY (Petr Oros) [1816982] - [netdrv] net: sfp: allow fault processing to transition to other states (Petr Oros) [1816982] - [netdrv] net: sfp: eliminate mdelay() from PHY probe (Petr Oros) [1816982] - [netdrv] net: sfp: split the PHY probe from sfp_sm_mod_init() (Petr Oros) [1816982] - [netdrv] net: sfp: control TX_DISABLE and phy only from main state machine (Petr Oros) [1816982] - [netdrv] net: sfp: avoid power switch on address-change modules (Petr Oros) [1816982] - [netdrv] net: sfp: parse SFP power requirement earlier (Petr Oros) [1816982] - [netdrv] net: sfp: rename T_PROBE_WAIT to T_SERIAL (Petr Oros) [1816982] - [netdrv] net: sfp: handle module remove outside state machine (Petr Oros) [1816982] - [netdrv] net: sfp: rename sfp_sm_ins_next() as sfp_sm_mod_next() (Petr Oros) [1816982] - [netdrv] net: sfp: move tx disable on device down to main state machine (Petr Oros) [1816982] - [netdrv] net: sfp: move sfp sub-state machines into separate functions (Petr Oros) [1816982] - [netdrv] net: sfp: fix sfp_bus_put() kernel documentation (Petr Oros) [1816982] - [include] net: sfp: fix sfp_bus_add_upstream() warning (Petr Oros) [1816982] - [netdrv] net: sfp: rework upstream interface (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add missing dependency on CONFIG_REGULATOR (Petr Oros) [1816982] - [netdrv] net: phy: at803x: remove config_init for AR9331 (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix the PHY names (Petr Oros) [1816982] - [netdrv] net: phy: at803x: mention AR8033 as same as AR8031 (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add device tree binding (Petr Oros) [1816982] - [documentation] dt-bindings: net: phy: Add support for AT803X (Petr Oros) [1816982] - [netdrv] net: phy: at803x: fix Kconfig description (Petr Oros) [1816982] - [netdrv] net: phylink: Fix phylink_dbg() macro (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add downshift support for 88E1145 (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add PHY tunable support for more PHY versions (Petr Oros) [1816982] - [netdrv] net: phy: marvell: add downshift support for M88E1111 (Petr Oros) [1816982] - [netdrv] net: phy: marvell: fix downshift function naming (Petr Oros) [1816982] - [netdrv] net: phy: marvell: fix typo in constant MII_M1011_PHY_SRC_DOWNSHIFT_MASK (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: support Wake on LAN (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: move dt parsing to probe (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: enable robust auto-mdix (Petr Oros) [1816982] - [netdrv] net: phy: smsc: LAN8740: add PHY_RST_AFTER_CLK_EN flag (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: add 1000Base-X support for BCM54616S (Petr Oros) [1816982] - [netdrv] net: phy: add support for clause 37 auto-negotiation (Petr Oros) [1816982] - [netdrv] net: phy: modify assignment to OR for dev_flags in phy_attach_direct (Petr Oros) [1816982] - [netdrv] net: phy: marvell: remove superseded function marvell_set_downshift (Petr Oros) [1816982] - [netdrv] net: phy: marvell: support downshift as PHY tunable (Petr Oros) [1816982] - [netdrv] net: phy: avoid NPE if read_page/write_page callbacks are not available (Petr Oros) [1816982] - [netdrv] net: phy: micrel: Update KSZ87xx PHY name (Petr Oros) [1816982] - [netdrv] net: phy: micrel: Discern KSZ8051 and KSZ8795 PHYs (Petr Oros) [1816982] - [netdrv] net: phy: Fix "link partner" information disappear issue (Petr Oros) [1816982] - [netdrv] net: sfp: move fwnode parsing into sfp-bus layer (Petr Oros) [1816982] - [netdrv] net: phylink: use more linkmode_* (Petr Oros) [1816982] - [netdrv] phylink: fix kernel-doc warnings (Petr Oros) [1816982] - [netdrv] net: phy: mscc: make arrays static, makes object smaller (Petr Oros) [1816982] - [netdrv] net: phy: at803x: use operating parameters from PHY-specific status (Petr Oros) [1816982] - [netdrv] net: phy: extract pause mode (Petr Oros) [1816982] - [netdrv] net: phy: extract link partner advertisement reading (Petr Oros) [1816982] - [netdrv] net: phy: allow for reset line to be tied to a sleepy GPIO controller (Petr Oros) [1816982] - [documentation] docs: networking: phy: Improve phrasing (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Use bcm54xx_config_clock_delay() for BCM54612E (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Fix RGMII delays configuration for BCM54210E (Petr Oros) [1816982] - [netdrv] net: phy: at803x: remove probe and struct at803x_priv (Petr Oros) [1816982] - [netdrv] net: phy: at803x: add ar9331 support (Petr Oros) [1816982] - [of] of: mdio: Fix a signedness bug in of_phy_get_and_connect() (Petr Oros) [1816982] - [netdrv] net/phy: fix DP83865 10 Mbps HDX loopback disable function (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable (Petr Oros) [1816982] - [net] ethtool: implement Energy Detect Powerdown support via phy-tunable (Petr Oros) [1816982] - [netdrv] net: mdio: switch to using gpiod_get_optional() (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add SGMII mode type switching (Petr Oros) [1816982] - [documentation] net: phy: dp83867: Add documentation for SGMII mode type (Petr Oros) [1816982] - [netdrv] net: phylink: Fix flow control resolution (Petr Oros) [1816982] - [netdrv] net: phy: Do not check Link status when loopback is enabled (Petr Oros) [1816982] - [netdrv] net: phy: gmii2rgmii: Dont use priv field in phy device (Petr Oros) [1816982] - [include] include: mdio: Add driver data helpers (Petr Oros) [1816982] - [netdrv] net: phy: force phy suspend when calling phy_stop (Petr Oros) [1816982] - [netdrv] phy: mdio-sun4i: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-mux-meson-g12a: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-moxart: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-hisi-femac: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] phy: mdio-bcm-iproc: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] net: phy: sfp: Add labels to hwmon sensors (Petr Oros) [1816982] - [netdrv] net: phy: remove genphy_config_init (Petr Oros) [1816982] - [netdrv] net: phy: remove calls to genphy_config_init (Petr Oros) [1816982] - [netdrv] net: phy: realtek: support NBase-T MMD EEE registers on RTL8125 (Petr Oros) [1816982] - [uapi] net: phy: add EEE-related constants (Petr Oros) [1816982] - [documentation] dt-bindings: net: add bindings for ADIN PHY driver (Petr Oros) [1816982] - [netdrv] net: phy: adin: add ethtool get_stats support (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement downshift configuration via phy-tunable (Petr Oros) [1816982] - [netdrv] net: phy: adin: implement PHY subsystem software reset (Petr Oros) [1816982] - [netdrv] net: phy: adin: add EEE translation layer from Clause 45 to Clause 22 (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support MDI/MDIX/Auto-MDI selection (Petr Oros) [1816982] - [netdrv] net: phy: adin: make RMII fifo depth configurable (Petr Oros) [1816982] - [netdrv] net: phy: adin: make RGMII internal delays configurable (Petr Oros) [1816982] - [netdrv] net: phy: adin: configure RGMII/RMII/MII modes on config (Petr Oros) [1816982] - [netdrv] net: phy: adin: add {write,read}_mmd hooks (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support for interrupts (Petr Oros) [1816982] - [netdrv] net: phy: adin: hook genphy_{suspend, resume} into the driver (Petr Oros) [1816982] - [netdrv] net: phy: adin: add support for Analog Devices PHYs (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for EEE registers on integrated PHY's (Petr Oros) [1816982] - [netdrv] net: phy: swphy: emulate register MII_ESTATUS (Petr Oros) [1816982] - [netdrv] net: phy: read MII_CTRL1000 in genphy_read_status only if needed (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add NBase-T PHY auto-detection (Petr Oros) [1816982] - [netdrv] net: phy: let phy_speed_down/up support speeds >1Gbps (Petr Oros) [1816982] - [netdrv] net: phy: add phy_speed_down_core and phy_resolve_min_speed (Petr Oros) [1816982] - [netdrv] net: phy: add __set_linkmode_max_speed (Petr Oros) [1816982] - [netdrv] net: phy: realtek: add support for the 2.5Gbps PHY in RTL8125 (Petr Oros) [1816982] - [netdrv] net: phy: add phy_modify_paged_changed (Petr Oros) [1816982] - [netdrv] net: phy: prepare phylib to deal with PHY's extending Clause 22 (Petr Oros) [1816982] - [netdrv] net: phy: simplify genphy_config_advert by using the linkmode_adv_to_xxx_t functions (Petr Oros) [1816982] - [netdrv] net: phy: at803x: stop switching phy delay config needlessly (Petr Oros) [1816982] - [netdrv] net: mdio-octeon: Fix Kconfig warnings and build errors (Petr Oros) [1816982] - [netdrv] net: phy: xgene: use devm_platform_ioremap_resource() to simplify code (Petr Oros) [1816982] - [netdrv] net: phy: Add mdio-aspeed (Petr Oros) [1816982] - [netdrv] net: phy: phy_led_triggers: Fix a possible null-pointer dereference in phy_led_trigger_change_speed() (Petr Oros) [1816982] - [netdrv] net: phylink: Fix flow control for fixed-link (Petr Oros) [1816982] - [netdrv] net: phylink: don't start and stop SGMII PHYs in SFP modules twice (Petr Oros) [1816982] - [netdrv] net: phy: Make use of linkmode_mod_bit helper (Petr Oros) [1816982] - [netdrv] net: stmmac: enable clause 45 mdio support (Petr Oros) [1816982] - [documentation] doc: phy: document some PHY_INTERFACE_MODE_xxx settings (Petr Oros) [1816982] - [netdrv] Revert "net: phylink: set the autoneg state in phylink_phy_change" (Petr Oros) [1816982] - [netdrv] net: phy: sfp: clean up a condition (Petr Oros) [1816982] - [netdrv] net: phylink: set the autoneg state in phylink_phy_change (Petr Oros) [1816982] - [netdrv] net: phy: Add more 1000BaseX support detection (Petr Oros) [1816982] - [netdrv] net: phy: broadcom: Add genphy_suspend and genphy_resume for BCM5464 (Petr Oros) [1816982] - [netdrv] net: sfp: add mutex to prevent concurrent state checks (Petr Oros) [1816982] - [netdrv] net: sfp: Stop SFP polling and interrupt handling during shutdown (Petr Oros) [1816982] - [netdrv] net: phy: Add detection of 1000BaseX link mode support (Petr Oros) [1816982] - [netdrv] net: phy: remove state PHY_FORCING (Petr Oros) [1816982] - [netdrv] net: phy: export phy_queue_state_machine (Petr Oros) [1816982] - [netdrv] net: phy: add callback for custom interrupt handler to struct phy_driver (Petr Oros) [1816982] - [netdrv] net: phy: enable interrupts when PHY is attached already (Petr Oros) [1816982] - [netdrv] net: phy: sfp: enable i2c-bus detection on ACPI based systems (Petr Oros) [1816982] - [netdrv] net: phy: tja11xx: Switch to HWMON_CHANNEL_INFO() (Petr Oros) [1816982] - [netdrv] net: phylink: Add phylink_{printk, err, warn, info, dbg} macros (Petr Oros) [1816982] - [netdrv] net: phylink: Add PHYLINK_DEV operation type (Petr Oros) [1816982] - [netdrv] net: phylink: Add struct phylink_config to PHYLINK API (Petr Oros) [1816982] - [netdrv] net: phylink: Add phylink_mac_link_{up, down} wrapper functions (Petr Oros) [1816982] - [netdrv] net: phy: Add phy_standalone sysfs entry (Petr Oros) [1816982] - [netdrv] net: phy: Check against net_device being NULL (Petr Oros) [1816982] - [netdrv] net: phy: Guard against the presence of a netdev (Petr Oros) [1816982] - [netdrv] net: phy: Add phy_sysfs_create_links helper function (Petr Oros) [1816982] - [netdrv] net: sfp: remove sfp-bus use of netdevs (Petr Oros) [1816982] - [netdrv] net: sfp: add mandatory attach/detach methods for sfp buses (Petr Oros) [1816982] - [netdrv] net: phy: allow Clause 45 access via mii ioctl (Petr Oros) [1816982] - [netdrv] net: phylink: support for link gpio interrupt (Petr Oros) [1816982] - [netdrv] net: phylink: remove netdev from phylink mii ioctl emulation (Petr Oros) [1816982] - [netdrv] net: phy: bcm87xx: improve bcm87xx_config_init and feature detection (Petr Oros) [1816982] - [netdrv] net: phy: tja11xx: Add TJA11xx PHY driver (Petr Oros) [1816982] - [netdrv] net: phy: aquantia: add USXGMII support and warn if XGMII mode is set (Petr Oros) [1816982] - [documentation] dt-bindings: net: document new usxgmii phy mode (Petr Oros) [1816982] - [include] net: phy: add interface mode PHY_INTERFACE_MODE_USXGMII (Petr Oros) [1816982] - [netdrv] net: phy: lxt: Add suspend/resume support to LXT971 and LXT973 (Petr Oros) [1816982] - [netdrv] net: phy: Make phy_basic_t1_features use base100t1 (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Allocate state struct in probe (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Validate FIFO depth property (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: IO impedance is not dependent on RGMII delay (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Use unsigned variables to store unsigned properties (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Rework delay rgmii delay handling (Petr Oros) [1816982] - [netdrv] net: phy: dp83867: Add ability to disable output clock (Petr Oros) [1816982] - [documentation] dt-bindings: phy: dp83867: Add documentation for disabling clock output (Petr Oros) [1816982] - [documentation] dt-bindings: phy: dp83867: Describe how driver behaves w.r.t rgmii delay (Petr Oros) [1816982] - [documentation] Documentation: net: phy: switch documentation to rst format (Petr Oros) [1816982] - [of] of: mdio: Support fixed links in of_phy_get_and_connect() (Petr Oros) [1816982] - [documentation] doc: add phylink documentation to the networking book (Petr Oros) [1816982] - [include] net: phylink: update mac_config() documentation (Petr Oros) [1816982] - [tools] libbpf: use .so dynamic symbols for abi check (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Install generated test progs (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Fix memory leak caused by not freeing entry in unregister_ftrace_direct() (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support CO-RE relocations for LDX/ST/STX instructions (Yauheni Kaliuta) [1813370] - [include] bpf: Add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT (Yauheni Kaliuta) [1813370] - [tools] tools, bpf_asm: Warn when jumps are out of range (Yauheni Kaliuta) [1813370] - [include] bpf: Add typecast to bpf helpers to help BTF generation (Yauheni Kaliuta) [1813370] - [trace] bpf: Add typecast to raw_tracepoints to help BTF generation (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix build on read-only filesystems (Yauheni Kaliuta) [1813370] - [tools] bpf: Add further test_verifier cases for record_func_key (Yauheni Kaliuta) [1813370] - [net] bpf: Fix record_func_key to perform backtracking on r3 (Yauheni Kaliuta) [1813370] - [net] bpf: Fix missing prog untrack in release_maps (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: fix syscall_tp due to unused syscall (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Replace symbol compare of trace_event (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Test function_graph tracer and bpf trampoline together (Yauheni Kaliuta) [1813370] - [net] bpf: Make BPF trampoline use register_ftrace_direct() API (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add modify_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add information on number of page groups allocated (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Tell objtool to ignore nondeterministic ftrace stack layout (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Add a counter to test function_graph with direct (Yauheni Kaliuta) [1813370] - [x86] ftrace/x86: Add register_ftrace_direct() for custom trampolines (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add another check for match in register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add ftrace_find_direct_func() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Add register_ftrace_direct() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Separate out the copying of a ftrace_hash from __ftrace_hash_move() (Yauheni Kaliuta) [1813370] - [kernel] ftrace: Separate out functionality from ftrace_location_range() (Yauheni Kaliuta) [1813370] - [net] bpf: Fix build in minimal configurations, again (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add a fexit/bpf2bpf test with target bpf prog no callees (Yauheni Kaliuta) [1813370] - [net] bpf: Fix a bug when getting subprog 0 jited image in check_attach_btf_id (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Bring back c++ include/link test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Don't hard-code root cgroup id (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix broken xdp_rxq_info due to map order assumptions (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix readelf output parsing for Fedora (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix readelf output parsing on powerpc with recent binutils (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: correct perror strings (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: test_sockmap: handle file creation failures gracefully (Yauheni Kaliuta) [1813370] - [net] bpf: Fix build in minimal configurations (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix up generation of bpf_helper_defs.h (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix global variable relocation (Yauheni Kaliuta) [1813370] - [net] bpf: Fix static checker warning (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix usage of u32 in userspace code (Yauheni Kaliuta) [1813370] - [net] bpf: Simplify __bpf_arch_text_poke poke type handling (Yauheni Kaliuta) [1813370] - [tools] bpf: Introduce BPF_TRACE_x helper for the tracing tests (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add various tail call test cases (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Emit patchable direct jump as tail call (Yauheni Kaliuta) [1813370] - [net] bpf: Constant map key tracking for prog array pokes (Yauheni Kaliuta) [1813370] - [net] bpf: Add poke dependency tracking for prog array maps (Yauheni Kaliuta) [1813370] - [include] bpf: Add initial poke descriptor table for jit images (Yauheni Kaliuta) [1813370] - [net] bpf: Move owner type, jited info into array auxiliary data (Yauheni Kaliuta) [1813370] - [net] bpf: Move bpf_free_used_maps into sleepable section (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Generalize and extend bpf_arch_text_poke for direct jumps (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add BPF trampoline performance test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Ensure core_reloc_kernel is reading test_progs's data only (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add verifier tests for better jmp32 register bounds (Yauheni Kaliuta) [1813370] - [net] bpf: Provide better register bounds after jmp32 instructions (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Integrate verbose verifier log into test_progs (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support initialized global variables (Yauheni Kaliuta) [1813370] - [tools] selftests, bpftool: Skip the build test if not in tree (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix various errors and warning reported by checkpatch.pl (Yauheni Kaliuta) [1813370] - [tools] selftests, bpftool: Set EXIT trap after usage function (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Ensure no DWARF relocations for BPF object files (Yauheni Kaliuta) [1813370] - [tools] tools, bpftool: Fix warning on ignored return value for 'read' (Yauheni Kaliuta) [1813370] - [net] bpf: Switch bpf_map_{area_alloc, area_mmapable_alloc}() to u64 size (Yauheni Kaliuta) [1813370] - [net] bpf: Make array_map_mmap static (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Enforce no-ALU32 for test_progs-no_alu32 (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Remove JITed image size limitations (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use lg(f)rl when long displacement cannot be used (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use lgrl instead of lg where possible (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Load literal pool register using larl (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Align literal pool entries (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use relative long branches (Yauheni Kaliuta) [1813370] - [net] bpf: Fix memory leak on object 'data' (Yauheni Kaliuta) [1813370] - [tools] selftests, bpf: Workaround an alu32 sub-register spilling issue (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add BPF_TYPE_MAP_ARRAY mmap() tests (Yauheni Kaliuta) [1813370] - [tools] libbpf: Make global data internal arrays mmap()-able, if possible (Yauheni Kaliuta) [1813370] - [net] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY (Yauheni Kaliuta) [1813370] - [netdrv] bpf: Convert bpf_prog refcnt to atomic64_t (Yauheni Kaliuta) [1813370] - [netdrv] net: thunderx: set xdp_prog to NULL if bpf_prog_add fails (Yauheni Kaliuta) [1813370] - [net] bpf: Switch bpf_map ref counter to atomic64_t so bpf_map_inc() never fails (Yauheni Kaliuta) [1813370] - [lib] locking/atomic: Use s64 for atomic64 (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make conditional inc/dec ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make unconditional inc/dec ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make test ops optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic64_fetch_add_unless() optional (Yauheni Kaliuta) [1813370] - [powerpc] atomics/powerpc: Define atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [lib] atomics/generic: Define atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [include] atomics: Prepare for atomic64_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic_fetch_add_unless() optional (Yauheni Kaliuta) [1813370] - [include] atomics/treewide: Make atomic64_inc_not_zero() optional (Yauheni Kaliuta) [1813370] - [include] atomics: Make conditional ops return 'bool' (Yauheni Kaliuta) [1813370] - [net] atomics/treewide: Remove atomic_inc_not_zero_hint() (Yauheni Kaliuta) [1813370] - [net] atomics/treewide: Rename __atomic_add_unless() => atomic_fetch_add_unless() (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add a test for attaching BPF prog to another BPF prog and subprog (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Extend test_pkt_access test (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for attaching BPF programs to other BPF programs (Yauheni Kaliuta) [1813370] - [net] bpf: Support attaching tracing BPF program to other BPF programs (Yauheni Kaliuta) [1813370] - [net] bpf: Compare BTF types of functions arguments with actual types (Yauheni Kaliuta) [1813370] - [net] bpf: Annotate context types (Yauheni Kaliuta) [1813370] - [net] bpf: Fix race in btf_resolve_helper_id() (Yauheni Kaliuta) [1813370] - [x86] bpf: Reserve space for BPF trampoline in BPF programs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add stress test for maximum number of progs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add combined fentry/fexit test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add fexit tests for BPF trampoline (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add test for BPF trampoline (Yauheni Kaliuta) [1813370] - [net] bpf: Add kernel test functions for fentry testing (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Simple test for fentry/fexit (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support to attach to fentry/fexit tracing progs (Yauheni Kaliuta) [1813370] - [tools] libbpf: Introduce btf__find_by_name_kind() (Yauheni Kaliuta) [1813370] - [net] bpf: Introduce BPF trampoline (Yauheni Kaliuta) [1813370] - [x86] bpf: Add bpf_arch_text_poke() helper (Yauheni Kaliuta) [1813370] - [x86] bpf: Refactor x86 JIT into helpers (Yauheni Kaliuta) [1813370] - [documentation] bpf, doc: Change right arguments for JIT example code (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add missing option to xdpsock usage (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Remove duplicate option from xdpsock (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Make sure JIT passes do not increase code size (Yauheni Kaliuta) [1813370] - [net] bpf: Support doubleword alignment in bpf_jit_binary_alloc (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: adjust Makefile and README.rst (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add missing object file to TEST_FILES (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Workaround a verifier failure for test_progs (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use Rx-only and Tx-only sockets in xdpsock (Yauheni Kaliuta) [1813370] - [tools] libbpf: Allow for creating Rx or Tx only AF_XDP sockets (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add XDP_SHARED_UMEM support to xdpsock (Yauheni Kaliuta) [1813370] - [tools] libbpf: Support XDP_SHARED_UMEM with external XDP program (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add tests for automatic map unpinning on load failure (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: update map definition to new syntax BTF-defined map (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Update outdated error message (Yauheni Kaliuta) [1813370] - [tools] bpf: Add cb access in kfree_skb test (Yauheni Kaliuta) [1813370] - [net] bpf: Add array support to btf_struct_access (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Remove unused SEEN_RET0, SEEN_REG_AX and ret0_ip (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Wrap JIT macro parameter usages in parentheses (Yauheni Kaliuta) [1813370] - [s390] s390/bpf: Use kvcalloc for addrs array (Yauheni Kaliuta) [1813370] - [net] bpf: Account for insn->off when doing bpf_probe_read_kernel (Yauheni Kaliuta) [1813370] - [tools] libbpf: Simplify BPF_CORE_READ_BITFIELD_PROBED usage (Yauheni Kaliuta) [1813370] - [tools] selftests/bps: Clean up removed ints relocations negative tests (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: log direct file writes (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add field size relocation tests (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Add relocatable bitfield reading tests (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for field size relocations (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for relocatable bitfields (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Remove too strict field offset relo test cases (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Add selftest to read/write sockaddr from user space (Yauheni Kaliuta) [1813370] - [tools] bpf, testing: Convert prog tests to probe_read_{user, kernel}{, _str} helper (Yauheni Kaliuta) [1813370] - [samples] bpf, samples: Use bpf_probe_read_user where appropriate (Yauheni Kaliuta) [1813370] - [net] bpf: Switch BPF probe insns to bpf_probe_read_kernel (Yauheni Kaliuta) [1813370] - [kernel] bpf: Add probe_read_{user, kernel} and probe_read_{user, kernel}_str helpers (Yauheni Kaliuta) [1813370] - [kernel] bpf: Make use of probe_user_write in probe write helper (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add strict non-pagefault kernel-space read function (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add non-pagefault user-space write function (Yauheni Kaliuta) [1813370] - [mm] uaccess: Add non-pagefault user-space read functions (Yauheni Kaliuta) [1813370] - [tools] selftests: Add tests for automatic map pinning (Yauheni Kaliuta) [1813370] - [net] bpf: Implement map_gen_lookup() callback for XSKMAP (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add support for prog_tracing (Yauheni Kaliuta) [1813370] - [net] bpf: Replace prog_raw_tp+btf_id with prog_tracing (Yauheni Kaliuta) [1813370] - [net] bpf: Fix bpf jit kallsym access (Yauheni Kaliuta) [1813370] - [documentation] bpf: Add s390 testing documentation (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Test narrow load from bpf_sysctl.write (Yauheni Kaliuta) [1813370] - [net] bpf: Enforce 'return 0' in BTF-enabled raw_tp programs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Restore $(OUTPUT)/test_stub.o rule (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Use -m{little, big}-endian for clang (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix .gitignore to ignore no_alu32/ (Yauheni Kaliuta) [1813370] - [net] bpf: Prepare btf_ctx_access for non raw_tp use case (Yauheni Kaliuta) [1813370] - [tools] libbpf: Fix strncat bounds error in libbpf_prog_type_by_name (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix LDLIBS order (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Move test_section_names into test_progs and fix it (Yauheni Kaliuta) [1813370] - [tools] tools/bpf: Turn on llvm alu32 attribute by default (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Get rid of a bunch of explicit BPF program type setting (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Make reference_tracking test use subtests (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Make a copy of subtest name (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add uprobe/uretprobe and tp/raw_tp section suffixes (Yauheni Kaliuta) [1813370] - [tools] bpf, libbpf: Add kernel version section parsing back (Yauheni Kaliuta) [1813370] - [kernel] bpf: Fix build error without CONFIG_NET (Yauheni Kaliuta) [1813370] - [net] bpf: Fix bpf_attr.attach_btf_id check (Yauheni Kaliuta) [1813370] - [tools] selftest/bpf: Remove test_libbpf.sh and test_libbpf_open (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Move test_queue_stack_map.h into progs/ where it belongs (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Replace test_progs and test_maps w/ general rule (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add simple per-test targets to Makefile (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Switch test_maps to test_progs' test.h format (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Teach test_progs to cd into subdir (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Restore the netns after flow dissector reattach test (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add kfree_skb raw_tp test (Yauheni Kaliuta) [1813370] - [net] bpf: Check types of arguments passed into helpers (Yauheni Kaliuta) [1813370] - [net] bpf: Add support for BTF pointers to x86 JIT (Yauheni Kaliuta) [1813370] - [net] bpf: Add support for BTF pointers to interpreter (Yauheni Kaliuta) [1813370] - [net] bpf: Attach raw_tp program with BTF via type name (Yauheni Kaliuta) [1813370] - [net] bpf: Implement accurate raw_tp context access via BTF (Yauheni Kaliuta) [1813370] - [tools] libbpf: Auto-detect btf_id of BTF-based raw_tracepoints (Yauheni Kaliuta) [1813370] - [net] bpf: Add attach_btf_id attribute to program load (Yauheni Kaliuta) [1813370] - [net] bpf: Process in-kernel BTF (Yauheni Kaliuta) [1813370] - [tools] selftests: bpf: Add selftest for __sk_buff tstamp (Yauheni Kaliuta) [1813370] - [net] bpf: Allow __sk_buff tstamp in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Remove obsolete pahole/BTF support detection (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Enforce libbpf build before BPF programs are built (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add preparation steps and sysroot info to readme (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add sysroot support (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Provide C/LDFLAGS to libbpf (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add C/LDFLAGS to libbpf.so and test_libpf targets (Yauheni Kaliuta) [1813370] - [tools] libbpf: Don't use cxx to test_libpf target (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use target CC environment for HDR_PROBE (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use own flags but not HOSTCFLAGS (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Base target programs rules on Makefile.target (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Add makefile.target for separate CC target build (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Drop unnecessarily inclusion for bpf_load (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use __LINUX_ARM_ARCH__ selector for arm (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use own EXTRA_CFLAGS for clang commands (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Use --target from cross-compile (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix cookie_uid_helper_example obj build (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Fix HDR_PROBE "echo" (Yauheni Kaliuta) [1813370] - [tools] libbpf: Handle invalid typedef emitted by old GCC (Yauheni Kaliuta) [1813370] - [tools] libbpf: Generate more efficient BPF_CORE_READ code (Yauheni Kaliuta) [1813370] - [net] bpf: Fix cast to pointer from integer of different size warning (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Check that flow dissector can be re-attached (Yauheni Kaliuta) [1813370] - [net] flow_dissector: Allow updating the flow dissector program atomically (Yauheni Kaliuta) [1813370] - [include] bpf: Align struct bpf_prog_stats (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add read-only map values propagation tests (Yauheni Kaliuta) [1813370] - [net] bpf: Track contents of read-only maps as scalars (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Convert test_btf_dump into test_progs test (Yauheni Kaliuta) [1813370] - [samples] samples: bpf: Add max_pckt_size option at xdp_adjust_tail (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: add test for BPF flow dissector in the root namespace (Yauheni Kaliuta) [1813370] - [net] bpf/flow_dissector: add mode to enforce global BPF flow dissector (Yauheni Kaliuta) [1813370] - [samples] samples/bpf: Trivial - fix spelling mistake in usage (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Fix dependency ordering for attach_probe test (Yauheni Kaliuta) [1813370] - [tools] libbpf: Add cscope and tags targets to Makefile (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: switch tests to new bpf_object__open_{file, mem}() APIs (Yauheni Kaliuta) [1813370] - [tools] bpf: Add loop test case with 32 bit reg comparison against 0 (Yauheni Kaliuta) [1813370] - [x86] bpf, x86: Small optimization in comparing against imm0 (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Correct path to include msg + path (Yauheni Kaliuta) [1813370] - [tools] selftests/bpf: Add static to enable_all_controllers() (Yauheni Kaliuta) [1813370] - [tools] libbpf: provide backported RHEL symbols as upstream aliases (Yauheni Kaliuta) [1813370] - [tools] libbpf: Bump current version to v0.0.6 (Yauheni Kaliuta) [1813370] - [tools] libbpf: bump up version, 0.0.5 (Yauheni Kaliuta) [1813370] - [net] cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled (Yauheni Kaliuta) [1823623 1813370] - [vfio] vfio-pci: Mask cap zero (Alex Williamson) [1840248] - [vfio] spapr_tce: Fix incorrect tce_iommu_group memory free (David Gibson) [1832386] - [fs] CIFS: fiemap: do not return EINVAL if get nothing (Leif Sahlberg) [1837180] - [fs] CIFS: Increment num_remote_opens stats counter even in case of smb2_query_dir_first (Leif Sahlberg) [1837180] - [fs] cifs: potential unintitliazed error code in cifs_getattr() (Leif Sahlberg) [1837180] - [fs] cifs: Use #define in cifs_dbg (Leif Sahlberg) [1837180] - [fs] cifs: fix rename() by ensuring source handle opened with DELETE bit (Leif Sahlberg) [1837180] - [fs] cifs: add missing mount option to /proc/mounts (Leif Sahlberg) [1837180] - [fs] cifs: fix potential mismatch of UNC paths (Leif Sahlberg) [1837180] - [fs] cifs: enable change notification for SMB2.1 dialect (Leif Sahlberg) [1837180] - [fs] cifs: Fix mode output in debugging statements (Leif Sahlberg) [1837180] - [fs] cifs: fix mount option display for sec=krb5i (Leif Sahlberg) [1837180] - [fs] smb3: Add defines for new information level, FileIdInformation (Leif Sahlberg) [1837180] - [fs] smb3: print warning once if posix context returned on open (Leif Sahlberg) [1837180] - [fs] smb3: add one more dynamic tracepoint missing from strict fsync path (Leif Sahlberg) [1837180] - [fs] cifs: fix mode bits from dir listing when mounted with modefromsid (Leif Sahlberg) [1837180] - [fs] cifs: fix channel signing (Leif Sahlberg) [1837180] - [fs] cifs: add SMB3 change notification support (Leif Sahlberg) [1837180] - [fs] cifs: make multichannel warning more visible (Leif Sahlberg) [1837180] - [fs] cifs: Add tracepoints for errors on flush or fsync (Leif Sahlberg) [1837180] - [fs] cifs: log warning message (once) if out of disk space (Leif Sahlberg) [1837180] - [fs] smb3: fix problem with null cifs super block with previous patch (Leif Sahlberg) [1837180] - [fs] SMB3: Backup intent flag missing from some more ops (Leif Sahlberg) [1837180] - [fs] cifs: update internal module version number (Leif Sahlberg) [1837180] - [fs] CIFS: Fix task struct use-after-free on reconnect (Leif Sahlberg) [1837180] - [fs] cifs: use PTR_ERR_OR_ZERO() to simplify code (Leif Sahlberg) [1837180] - [fs] cifs: add support for fallocate mode 0 for non-sparse files (Leif Sahlberg) [1837180] - [fs] CIFS: Add support for setting owner info, dos attributes, and create time (Leif Sahlberg) [1837180] - [fs] cifs: remove set but not used variable 'server' (Leif Sahlberg) [1837180] - [fs] cifs: fix unitialized variable poential problem with network I/O cache lock patch (Leif Sahlberg) [1837180] - [fs] cifs: Fix return value in __update_cache_entry (Leif Sahlberg) [1837180] - [fs] cifs: Avoid doing network I/O while holding cache lock (Leif Sahlberg) [1837180] - [fs] cifs: Fix potential deadlock when updating vol in cifs_reconnect() (Leif Sahlberg) [1837180] - [fs] cifs: Merge is_path_valid() into get_normalized_path() (Leif Sahlberg) [1837180] - [fs] cifs: Introduce helpers for finding TCP connection (Leif Sahlberg) [1837180] - [fs] cifs: Get rid of kstrdup_const()'d paths (Leif Sahlberg) [1837180] - [fs] cifs: Clean up DFS referral cache (Leif Sahlberg) [1837180] - [fs] cifs: Don't use iov_iter::type directly (Leif Sahlberg) [1837180] - [fs] cifs: set correct max-buffer-size for smb2_ioctl_init() (Leif Sahlberg) [1837180] - [fs] fs/cifs/cifssmb.c: use true, false for bool variable (Leif Sahlberg) [1837180] - [fs] fs/cifs/smb2ops.c: use true, false for bool variable (Leif Sahlberg) [1837180]- [lib] XArray: Optimise xas_sibling() if !CONFIG_XARRAY_MULTI (Don Dutile) [1840916] - [include] XArray: Fix incorrect comment in header file (Don Dutile) [1840916] - [lib] XArray: Fix xas_pause for large multi-index entries (Don Dutile) [1840916] - [lib] XArray: Fix xa_find_next for large multi-index entries (Don Dutile) [1840916] - [lib] XArray tests: Add check_insert (Don Dutile) [1840916] - [documentation] XArray: Add xa_for_each_range (Don Dutile) [1840916] - [documentation] XArray: Improve documentation of search marks (Don Dutile) [1840916] - [documentation] docs: remove :c:func: annotations from xarray.rst (Don Dutile) [1840916] - [lib] XArray: Fix xas_find returning too many entries (Don Dutile) [1840916] - [lib] XArray: Fix xa_find_after with multi-index entries (Don Dutile) [1840916] - [lib] XArray: Fix infinite loop with entry at ULONG_MAX (Don Dutile) [1840916] - [include] XArray: Add wrappers for nested spinlocks (Don Dutile) [1840916] - [lib] XArray: Fix xas_pause at ULONG_MAX (Don Dutile) [1840916] - [include] xarray.h: fix kernel-doc warning (Don Dutile) [1840916] - [lib] XArray: Fix xas_next() with a single entry at 0 (Don Dutile) [1840916] - [fs] mm: fix page cache convergence regression (Don Dutile) [1840916] - [netdrv] ionic: call ionic_port_init after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: leave netdev mac alone after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: add device reset to fw upgrade down (Jonathan Toppins) [1830969] - [netdrv] ionic: refresh devinfo after fw-upgrade (Jonathan Toppins) [1830969] - [netdrv] ionic: no link check until after probe (Jonathan Toppins) [1830969] - [netdrv] phy: avoid unnecessary link-up delay in polling mode (Petr Oros) [1785663] - [x86] x86: Select HARDIRQS_SW_RESEND on x86 (David Arcari) [1840433] - [pci] PCI/AER: Fix the broken interrupt injection (David Arcari) [1840433] - [kernel] genirq: Provide interrupt injection mechanism (David Arcari) [1840433] - [kernel] genirq: Sanitize state handling in check_irq_resend() (David Arcari) [1840433] - [kernel] genirq: Add return value to check_irq_resend() (David Arcari) [1840433] - [x86] x86/apic/vector: Force interupt handler invocation to irq context (David Arcari) [1840433] - [kernel] genirq: Add protection against unsafe usage of generic_handle_irq() (David Arcari) [1840433] - [kernel] genirq/debugfs: Add missing sanity checks to interrupt injection (David Arcari) [1840433] - [include] genirq/irqdomain: Make sure all irq domain flags are distinct (David Arcari) [1840433] - [x86] x86/apic/msi: Plug non-maskable MSI affinity race (David Arcari) [1840433] - [char] char: ipmi: convert to use i2c_new_client_device() (Tony Camuso) [1832408] - [char] ipmi: kcs: Fix aspeed_kcs_probe_of_v1() (Tony Camuso) [1832408] - [char] ipmi: Add missing annotation for ipmi_ssif_lock_cond() and ipmi_ssif_unlock_cond() (Tony Camuso) [1832408] - [char] ipmi: kcs: aspeed: Implement v2 bindings (Tony Camuso) [1832408] - [char] ipmi: kcs: Finish configuring ASPEED KCS device before enable (Tony Camuso) [1832408] - [char] ipmi: fix hung processes in __get_guid() (Tony Camuso) [1832408] - [char] drivers: char: ipmi: ipmi_msghandler: Pass lockdep expression to RCU lists (Tony Camuso) [1832408] - [char] ipmi_si: Avoid spurious errors for optional IRQs (Tony Camuso) [1832408] - [base] driver core: platform: Export platform_get_irq_optional() (Tony Camuso) [1832408] - [base] driver core: platform: Introduce platform_get_irq_optional() (Tony Camuso) [1832408] - [x86] x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage (Kairui Song) [1779544] - [powerpc] powerpc/nvdimm: use H_SCM_QUERY hcall on H_OVERLAP error (Pingfan Liu) [1792125] - [powerpc] powerpc/nvdimm: Use HCALL error as the return value (Pingfan Liu) [1792125] - [scsi] scsi: sd: Signal drive managed SMR disks (Ewan Milne) [1838784] - [scsi] scsi: core: free sgtables in case command setup fails (Ewan Milne) [1838784] - [scsi] scsi: core: Allow the state change from SDEV_QUIESCE to SDEV_BLOCK (Ewan Milne) [1838784] - [scsi] scsi: sg: add sg_remove_request in sg_write (Ewan Milne) [1838784] - [scsi] scsi: sg: add sg_remove_request in sg_common_write (Ewan Milne) [1838784] - [scsi] scsi: sd: Fix optimal I/O size for devices that change reported values (Ewan Milne) [1838784] - [scsi] scsi: move scsicam_bios_param to the end of scsicam.c (Ewan Milne) [1838784] - [scsi] scsi: simplify scsi_bios_ptable (Ewan Milne) [1838784] - [scsi] scsi: core: Use scnprintf() for avoiding potential buffer overflow (Ewan Milne) [1838784] - [scsi] scsi: core: avoid repetitive logging of device offline messages (Ewan Milne) [1838784] - [scsi] scsi: core: use kobj_to_dev (Ewan Milne) [1838784] - [scsi] scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI (Ewan Milne) [1838784] - [scsi] scsi: core: Fix a compiler warning triggered by the SCSI logging code (Ewan Milne) [1838784] - [scsi] scsi: core: Adjust DBD setting in MODE SENSE for caching mode page per LLD (Ewan Milne) [1838784] - [scsi] scsi: sd_zbc: Improve report zones error printout (Ewan Milne) [1838784] - [scsi] scsi: scsi_transport_sas: Fix memory leak when removing devices (Ewan Milne) [1838784] - [scsi] scsi: scsi_debug: num_tgts must be >= 0 (Ewan Milne) [1838784] - [scsi] scsi: core: Handle drivers which set sg_tablesize to zero (Ewan Milne) [1838784] - [scsi] scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_ioctl(): get rid of access_ok() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_write(): get rid of access_ok()/__copy_from_user()/__get_user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_read(): get rid of access_ok()/__copy_..._user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_new_write(): don't bother with access_ok (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_write(): __get_user() can fail.. (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_new_write(): replace access_ok() + __copy_from_user() with copy_from_user() (Ewan Milne) [1838784] - [scsi] scsi: sg: sg_ioctl(): fix copyout handling (Ewan Milne) [1838784] - [scsi] scsi: core: scsi_trace: Use get_unaligned_be*() (Ewan Milne) [1838784] - [scsi] drivers/scsi: Replace rcu_swap_protected() with rcu_replace_pointer() (Ewan Milne) [1838784] - [scsi] scsi: sd: define variable dif as unsigned int instead of bool (Ewan Milne) [1838784] - [scsi] scsi: core: try to get module before removing device (Ewan Milne) [1838784] - [scsi] scsi: scsi_dh_alua: handle RTPG sense code correctly during state transitions (Ewan Milne) [1838784] - [powerpc] powerpc/64: flush_inval_dcache_range() becomes flush_dcache_range() (Gustavo Duarte) [1834180] - [x86] x86/ima: use correct identifier for SetupMode variable (Diego Domingos) [1781925] - [lib] kobject: fix dereference before null check on kobj (Diego Domingos) [1781925] - [include] MODSIGN: make new include file self contained (Diego Domingos) [1781925] - [security] ima: initialize the "template" field with the default template (Diego Domingos) [1781925] - [x86] x86/ima: Check EFI_RUNTIME_SERVICES before using (Diego Domingos) [1781925] - [x86] x86/ima: check EFI SetupMode too (Diego Domingos) [1781925] - [security] ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() (Diego Domingos) [1781925] - [security] evm: check hash algorithm passed to init_desc() (Diego Domingos) [1781925] - [base] firmware: improve LSM/IMA security behaviour (Diego Domingos) [1781925] - [lib] kobject: Add support for default attribute groups to kobj_type (Diego Domingos) [1781925] - [samples] samples/kobject: Replace foo_ktype's default_attrs field with groups (Diego Domingos) [1781925] - [x86] x86/ima: require signed kernel modules (Diego Domingos) [1781925] - [security] powerpc: Load firmware trusted keys/hashes into kernel keyring (Diego Domingos) [1781925] - [powerpc] powerpc: expose secure variables to userspace via sysfs (Diego Domingos) [1781925] - [powerpc] powerpc/powernv: Add OPAL API interface to access secure variable (Diego Domingos) [1781925] - [powerpc] powerpc/ima: fix secure boot rules in ima arch policy (Diego Domingos) [1781925] - [security] ima: Set again build_ima_appraise variable (Diego Domingos) [1781925] - [security] ima: Remove redundant policy rule set in add_rules() (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Indicate kernel modules appended signatures are enforced (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Update ima arch policy to check for blacklist (Diego Domingos) [1781925] - [security] ima: Check against blacklisted hashes for files with modsig (Diego Domingos) [1781925] - [security] ima: prevent a file already mmap'ed write to be mmap'ed execute (Diego Domingos) [1781925] - [certs] certs: Add wrapper function to check blacklisted binary hash (Diego Domingos) [1781925] - [security] ima: Make process_buffer_measurement() generic (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Define trusted boot policy (Diego Domingos) [1781925] - [powerpc] powerpc: Detect the trusted boot state of the system (Diego Domingos) [1781925] - [powerpc] powerpc/ima: Add support to initialize ima policy rules (Diego Domingos) [1781925] - [powerpc] powerpc: Detect the secure boot mode of the system (Diego Domingos) [1781925] - [security] ima: use struct_size() in kzalloc() (Diego Domingos) [1781925] - [tools] sefltest/ima: support appended signatures (modsig) (Diego Domingos) [1781925] - [security] ima: Fix use after free in ima_read_modsig() (Diego Domingos) [1781925] - [security] ima: fix freeing ongoing ahash_request (Diego Domingos) [1781925] - [security] ima: always return negative code for error (Diego Domingos) [1781925] - [security] ima: Store the measurement again when appraising a modsig (Diego Domingos) [1781925] - [security] ima: Define ima-modsig template (Diego Domingos) [1781925] - [security] ima: Collect modsig (Diego Domingos) [1781925] - [security] ima: Implement support for module-style appended signatures (Diego Domingos) [1781925] - [security] ima: Factor xattr_verify() out of ima_appraise_measurement() (Diego Domingos) [1781925] - [security] integrity: Introduce struct evm_xattr (Diego Domingos) [1781925] - [security] ima: Add modsig appraise_type option for module-style appended signatures (Diego Domingos) [1781925] - [kernel] MODSIGN: Export module signature definitions (Diego Domingos) [1781925] - [kernel] modsign: log module name in the event of an error (Diego Domingos) [1781925] - [kernel] KEXEC: Call ima_kexec_cmdline to measure the boot command line args (Diego Domingos) [1781925] - [security] IMA: Define a new template field buf (Diego Domingos) [1781925] - [security] IMA: Define a new hook to measure the kexec boot command line arguments (Diego Domingos) [1781925] - [security] IMA: support for per policy rule template formats (Diego Domingos) [1781925] - [security] integrity: Fix __integrity_init_keyring() section mismatch (Diego Domingos) [1781925] - [security] x86/ima: fix the Kconfig dependency for IMA_ARCH_POLICY (Diego Domingos) [1781925] - [security] ima: Make arch_policy_entry static (Diego Domingos) [1781925] - [security] ima: show rules with IMA_INMASK correctly (Diego Domingos) [1781925] - [security] ima: fix wrong signed policy requirement when not appraising (Diego Domingos) [1781925] - [tools] selftests/kexec: update get_secureboot_mode (Diego Domingos) [1781925] - [tools] selftests/kexec: make kexec_load test independent of IMA being enabled (Diego Domingos) [1781925] - [tools] selftests/kexec: check kexec_load and kexec_file_load are enabled (Diego Domingos) [1781925] - [tools] selftests/kexec: Add missing '=y' to config options (Diego Domingos) [1781925] - [tools] selftests/kexec: kexec_file_load syscall test (Diego Domingos) [1781925] - [tools] selftests/kexec: define "require_root_privileges" (Diego Domingos) [1781925] - [tools] selftests/kexec: define common logging functions (Diego Domingos) [1781925] - [tools] selftests/kexec: define a set of common functions (Diego Domingos) [1781925] - [tools] selftests/kexec: cleanup the kexec selftest (Diego Domingos) [1781925] - [tools] selftests/kexec: move the IMA kexec_load selftest to selftests/kexec (Diego Domingos) [1781925] - [security] evm: remove set but not used variable 'xattr' (Diego Domingos) [1781925] - [security] security: integrity: partial revert of make ima_main explicitly non-modular (Diego Domingos) [1781925] - [security] ima: cleanup the match_token policy code (Diego Domingos) [1781925] - [security] ima: Use inode_is_open_for_write (Diego Domingos) [1781925] - [security] security: fs: make inode explicitly non-modular (Diego Domingos) [1781925] - [security] security: audit and remove any unnecessary uses of module.h (Diego Domingos) [1781925] - [security] security: integrity: make evm_main explicitly non-modular (Diego Domingos) [1781925] - [security] security: integrity: make ima_main explicitly non-modular (Diego Domingos) [1781925] - [tools] selftests/ima: kexec_load syscall test (Diego Domingos) [1781925] - [security] ima: don't measure/appraise files on efivarfs (Diego Domingos) [1781925] - [x86] x86/ima: retry detecting secure boot mode (Diego Domingos) [1781925] - [x86] x86/ima: define arch_get_ima_policy() for x86 (Diego Domingos) [1781925] - [kernel] kernel/kexec_file.c: remove some duplicated includes (Diego Domingos) [1781925] - [security] ima: open a new file instance if no read permissions (Diego Domingos) [1781925] - [security] security/integrity: constify some read-only data (Diego Domingos) [1781925] - [documentation] security: fix LSM description location (Diego Domingos) [1781925] - [security] evm: Allow non-SHA1 digital signatures (Diego Domingos) [1781925] - [security] security: export security_kernel_load_data function (Diego Domingos) [1781925] - [security] ima: based on policy warn about loading firmware (pre-allocated buffer) (Diego Domingos) [1781925] - [security] ima: prevent kexec_load syscall based on runtime secureboot flag (Diego Domingos) [1781925] - [security] module: replace the existing LSM hook in init_module (Diego Domingos) [1781925] - [security] ima: based on policy require signed firmware (sysfs fallback) (Diego Domingos) [1781925] - [security] ima: add support for arch specific policies (Diego Domingos) [1781925] - [security] ima: based on policy require signed kexec kernel images (Diego Domingos) [1781925] - [security] ima: refactor ima_init_policy() (Diego Domingos) [1781925] - [include] sysfs: Fixes __BIN_ATTR_WO() macro (Diego Domingos) [1781925] - [include] security: define new LSM hook named security_kernel_load_data (Diego Domingos) [1781925] - [kernel] kexec: add call to LSM hook in original kexec_load syscall (Diego Domingos) [1781925] - [base] firmware: add call to LSM hook before firmware sysfs fallback (Diego Domingos) [1781925] - [security] ima: add build time policy (Diego Domingos) [1781925] - [security] ima: Support platform keyring for kernel appraisal (Diego Domingos) [1781925] - [security] integrity: Remove references to module keyring (Diego Domingos) [1781925] - [powerpc] powerpc/kexec: Fix loading of kernel + initramfs with kexec_file_load() (Diego Domingos) [1781925] - [security] ima: Use designated initializers for struct ima_event_data (Diego Domingos) [1781925] - [security] ima: Update MAX_TEMPLATE_NAME_LEN to fit largest reasonable definition (Diego Domingos) [1781925] - [certs] PKCS#7: Refactor verify_pkcs7_signature() (Diego Domingos) [1781925] - [crypto] PKCS#7: Introduce pkcs7_get_digest() (Diego Domingos) [1781925] - [security] integrity: Select CONFIG_KEYS instead of depending on it (Diego Domingos) [1781925] - [powerpc] powerpc/powernv: Move opal_power_control_init() call in opal_init() (Diego Domingos) [1781925] - [security] x86/efi: move common keyring handler functions to new file (Diego Domingos) [1781925] - [security] x86/efi: remove unused variables (Diego Domingos) [1781925] - [include] sysfs: add BIN_ATTR_WO() macro (Diego Domingos) [1781925] - [x86] x86/ima: define arch_ima_get_secureboot (Diego Domingos) [1781925] - [powerpc] powerpc/pci: unmap legacy INTx interrupts of passthrough IO adapters (Steve Best) [1840279] - [powerpc] powerpc/xive: Clear the page tables for the ESB IO mapping (Steve Best) [1840279] - [hv] hyper-v: Use UUID API for exporting the GUID (Mohammed Gamal) [1828451 1815498] - [kernel] uuid: Add inline helpers to import / export UUIDs (Mohammed Gamal) [1828451 1815498] - [hv] hv: Move AEOI determination to architecture dependent code (Mohammed Gamal) [1828451 1815498] - [x86] hyper-v: Report crash data in die() when panic_on_oops is set (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Report crash register data when sysctl_record_panic_msg is not set (Mohammed Gamal) [1828451 1815498] - [x86] hyper-v: Report crash register data or kmsg before running crash kernel (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Trigger crash enlightenment only once during system crash (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Free hv_panic_page when fail to register kmsg dump (Mohammed Gamal) [1828451 1815498] - [hv] x86/hyper-v: Unload vmbus channel in hv panic callback (Mohammed Gamal) [1828451 1815498] - [hv] hv_debugfs: Make hv_debug_root static (Mohammed Gamal) [1828451 1815498] - [hv] hyperv_vmbus.h: Replace zero-length array with flexible-array member (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23) (Mohammed Gamal) [1828451 1815498] - [hv] hv_balloon: Balloon up according to request page number (Mohammed Gamal) [1828451 1815498] - [hv] hv_balloon: use generic_online_page() (Mohammed Gamal) [1828451 1815498] - [mm] memory_hotplug: export generic_online_page() (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Fix crash handler reset of Hyper-V synic (Mohammed Gamal) [1828451 1815498] - [hv] hv: Replace binary semaphore with mutex (Mohammed Gamal) [1828451 1815498] - [hv] hv: balloon: Remove dependencies on guest page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Remove dependencies on guest page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: util: Specify ring buffer size using Hyper-V page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: Specify receive buffer size using Hyper-V page size (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Add module parameter to cap the VMBus version (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Enable VMBus protocol versions 4.1, 5.1 and 5.2 (Mohammed Gamal) [1828451 1815498] - [hv] hv: vmbus: Introduce table of VMBus protocol versions (Mohammed Gamal) [1828451 1815498] - [pci] hv: Replace zero-length array with flexible-array member (Mohammed Gamal) [1793636] - [pci] hv: Decouple the func definition in hv_dr_state from VSP message (Mohammed Gamal) [1793636] - [pci] hv: Add support for protocol 1.3 and support PCI_BUS_RELATIONS2 (Mohammed Gamal) [1793636] - [pci] hv: Add missing kfree(hbus) in hv_pci_probe()'s error handling path (Mohammed Gamal) [1793636] - [pci] hv: Remove unnecessary type casting from kzalloc (Mohammed Gamal) [1793636] - [pci] hv: Avoid a kmemleak false positive caused by the hbus buffer (Mohammed Gamal) [1793636] - [infiniband] RDMA/srpt: Fix disabling device management (Kamal Heib) [1840016] - [misc] vhost: disable for OABI (Jason Wang) [1771441] - [include] virtio: drop vringh.h dependency (Jason Wang) [1771441] - [virtio] virtio_input: pull in slab.h (Jason Wang) [1771441] - [char] virtio-rng: pull in slab.h (Jason Wang) [1771441] - [block] virtio_blk: add a missing include (Jason Wang) [1771441] - [vdpa] vdpa: fix comment of vdpa_register_device() (Jason Wang) [1771441] - [vhost] vdpa: make vhost, virtio depend on menu (Jason Wang) [1771441] - [include] vdpa: allow a 32 bit vq alignment (Jason Wang) [1771441] - [vdpa] vdpasim: Return status in vdpasim_get_status (Jason Wang) [1771441] - [vdpa] vdpa: remove unused variables 'ifcvf' and 'ifcvf_lm' (Jason Wang) [1771441] - [vdpa] vdpa-sim: depend on HAS_DMA (Jason Wang) [1771441] - [virtio] vdpa: move to drivers/vdpa (Jason Wang) [1771441] - [virtio] virtio: Intel IFC VF driver for VDPA (Jason Wang) [1771441] - [virtio] vdpasim: vDPA device simulator (Jason Wang) [1771441] - [vhost] vhost: introduce vDPA-based backend (Jason Wang) [1771441] - [virtio] virtio: introduce a vDPA based transport (Jason Wang) [1771441] - [virtio] vDPA: introduce vDPA bus (Jason Wang) [1771441] - [vhost] vringh: IOTLB support (Jason Wang) [1771441] - [vhost] vhost: factor out IOTLB (Jason Wang) [1771441] - [vhost] vhost: allow per device message handler (Jason Wang) [1771441] - [misc] vhost: refine vhost and vringh kconfig (Jason Wang) [1771441] - [vhost] vringh: fix copy direction of vringh_iov_push_kern() (Jason Wang) [1771441] - [vhost] vhost: factor out setting vring addr and num (Jason Wang) [1771441] - [vhost] vhost: introduce helpers to get the size of metadata area (Jason Wang) [1771441] - [vhost] vhost: rename vq_iotlb_prefetch() to vq_meta_prefetch() (Jason Wang) [1771441] - [vhost] vhost: fine grain userspace memory accessors (Jason Wang) [1771441] - [vhost] vhost: generalize adding used elem (Jason Wang) [1771441] - [misc] mic: vop: Allow building on more systems (Jason Wang) [1771441] - [virtio] virtio: support VIRTIO_F_ORDER_PLATFORM (Jason Wang) [1771441] - [uapi] vhost: split structs into a separate header file (Jason Wang) [1771441] - [fs] compat_ioctl: add compat_ptr_ioctl() (Jason Wang) [1771441] - [vhost] vhost: allow vhost-scsi driver to be built-in (Jason Wang) [1771441] - [x86] arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava) [1840145] - [tools] perf vendor events amd: Update Zen1 events to V2 (Wei Huang) [1790641] - [tools] perf vendor events amd: Add Zen2 events (Wei Huang) [1790641] - [tools] perf vendor events amd: Restrict model detection for zen1 based processors (Wei Huang) [1790641] - [x86] perf/amd/uncore: Add support for Family 19h L3 PMU (Wei Huang) [1790641] - [x86] perf/amd/uncore: Make L3 thread mask code more readable (Wei Huang) [1790641] - [x86] perf/amd/uncore: Prepare L3 thread mask code for Family 19h (Wei Huang) [1790641] - [scsi] scsi: fnic: Use scnprintf() for avoiding potential buffer overflow (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: do not queue commands during fwreset (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: fix invalid stack access (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: fix use after free (Govindarajulu Varadarajan) [1797808] - [scsi] scsi: fnic: make array dev_cmd_err static const, makes object smaller (Govindarajulu Varadarajan) [1797808]- [media] media: v4l: fix uapi mpeg slice params definition (Torez Smith) [1825410 1821835] - [uapi] v4l2-controls: add a missing include (Torez Smith) [1825410 1821835] - [dma] dma-mapping: remove dma_release_declared_memory (Torez Smith) [1825410 1821835] - [usb] usb/ohci-tmio: remove the HCD_DMA flag (Torez Smith) [1825410 1821835] - [usb] usb: add a HCD_DMA flag instead of guestimating DMA capabilities (Torez Smith) [1825410 1821835] - [usb] usb: add a hcd_uses_dma helper (Torez Smith) [1825410 1821835] - [usb] usb: don't create dma pools for HCDs with a localmem_pool (Torez Smith) [1825410 1821835] - [usb] usb: host: ohci-tmio: Mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [usb] USB: drop HCD_LOCAL_MEM flag (Torez Smith) [1825410 1821835] - [usb] usb: host: ohci-tmio: init genalloc for local memory (Torez Smith) [1825410 1821835] - [usb] dma-mapping: remove the DMA_MEMORY_EXCLUSIVE flag (Torez Smith) [1825410 1821835] - [media] media: xirlink_cit: add missing descriptor sanity checks (Torez Smith) [1825410 1821835] - [media] media: ttusb-dec: Fix info-leak in ttusb_dec_send_command() (Torez Smith) [1788005 1825410 1821835] {CVE-2019-19533} - [media] media: usb: fix memory leak in af9005_identify_state (Torez Smith) [1825141 1825410 1821835] {CVE-2019-18809} - [netdrv] cdc_ether: fix rndis support for Mediatek based smartphones (Torez Smith) [1825410 1821835] - [netdrv] r8152: remove calling netif_napi_del (Torez Smith) [1825410 1821835] - [netdrv] Revert "r8152: napi hangup fix after disconnect" (Torez Smith) [1825410 1821835] - [netdrv] r8152: Set memory to all 0xFFs on failed reg reads (Torez Smith) [1825410 1821835] - [netdrv] net: kalmia: fix memory leaks (Torez Smith) [1825410 1821835] - [netdrv] cx82310_eth: fix a memory leak bug (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Fix memory leaks (Torez Smith) [1825410 1821835] - [netdrv] r8152: fix typo in register name (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: force the string buffer NULL-terminated (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: fix improper read if get_registers() fail (Torez Smith) [1825410 1821835] - [netdrv] net: usb: qmi_wwan: Add the BroadMobi BM818 card (Torez Smith) [1825410 1821835] - [netdrv] can: mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: fix potential double kfree_skb() (Torez Smith) [1825410 1821835] - [netdrv] usb: qmi_wwan: add D-Link DWM-222 A2 device ID (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: change V4L2_PIX_FMT_BGRA444 define: fourcc was already in use (Torez Smith) [1825410 1821835] - [netdrv] r8152: set RTL8152_UNPLUG only for real disconnection (Torez Smith) [1825410 1821835] - [netdrv] r8152: move calling r8153b_rx_agg_chg_indicate() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: init MAC address buffers (Torez Smith) [1825410 1821835] - [netdrv] r8152: fix the setting of detecting the linking change for runtime suspend (Torez Smith) [1825410 1821835] - [media] media: hdpvr: fix locking and a missing msleep (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Fix out-of-bounds read (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Fix shifting signed 32-bit value by 31 bits problem (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 468 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 238 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 235 (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: extend permitted QMAP mux_id value range (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add network device usage statistics for qmimux devices (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add support for QMAP padding in the RX path (Torez Smith) [1825410 1821835] - [media] media: cx231xx-cards: Add Hauppauge 955Q variant (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add Hauppauge HVR1955/1975 devices (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add i2c client demod/tuner support (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Add multiple dvb frontend support (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix access to uninitialized fields on probe error (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Include streaming interface number in debugfs dir name (Torez Smith) [1825410 1821835] - [netdrv] can: usb: Kconfig: Remove duplicate menu entry (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: fix null-ptr-deref in class_unregister() (Torez Smith) [1825410 1821835] - [media] media: cxusb: Revert "media: cxusb: add raw mode support for, Medion MD95700" (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 412 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 286 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 258 (Torez Smith) [1825410 1821835] - [media] media: media/usb: set device_caps in struct video_device (Torez Smith) [1825410 1821835] - [media] media: dvb-usb/cxusb-analog.c: fix coccinelle warning, use ktime.h (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 164 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 131 (Torez Smith) [1825410 1821835] - [media] media: cx231xx-dvb: fix memory leak in dvb_fini() (Torez Smith) [1825410 1821835] - [media] media: em28xx: use usb_to_input_id() rather than handrolling it (Torez Smith) [1825410 1821835] - [media] media: em28xx: use common code for decoding nec scancodes (Torez Smith) [1825410 1821835] - [media] media: em28xx: give RC device proper name (Torez Smith) [1825410 1821835] - [media] media: cxusb: fix several coding style issues (Torez Smith) [1825410 1821835] - [media] media: cxusb-analog: Fix some coding style issues (Torez Smith) [1825410 1821835] - [media] media: cxusb: add raw mode support for Medion MD95700 (Torez Smith) [1825410 1821835] - [media] media: cxusb: add analog mode support for Medion MD95700 (Torez Smith) [1825410 1821835] - [media] media: cxusb: implement Medion MD95700 digital / analog coexistence (Torez Smith) [1825410 1821835] - [media] media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in zr364xx_vidioc_querycap (Torez Smith) [1825410 1821835] - [media] media: pwc: convert to BIT macro (Torez Smith) [1825410 1821835] - [media] media: cpia2_usb: first wake up, then free in disconnect (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: use a different format for warnings (Torez Smith) [1825410 1821835] - [media] media: smsusb: better handle optional alignment (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 65 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Torez Smith) [1825410 1821835] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 55 (Torez Smith) [1825410 1821835] - [media] media: remove redundant 'default n' from Kconfig-s (Torez Smith) [1825410 1821835] - [media] media: af9035: Remove duplicate error reporting for dvbsky_usb_generic_rw (Torez Smith) [1825410 1821835] - [media] media: dvbsky: Remove duplicate error reporting for dvbsky_usb_generic_rw (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: Report error on all error paths (Torez Smith) [1825410 1821835] - [media] media: au0828: fix null dereference in error path (Torez Smith) [1825410 1821835] - [media] media: dvb: usb: fix use after free in dvb_usb_device_exit (Torez Smith) [1825410 1821835] - [media] media: usb: siano: Fix false-positive "uninitialized variable" warning (Torez Smith) [1825410 1821835] - [netdrv] usbnet: fix kernel crash after disconnect (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: fix racing condition (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 24 (Torez Smith) [1825410 1821835] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 17 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Torez Smith) [1825410 1821835] - [media] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (Torez Smith) [1825410 1821835] - [media] treewide: Add SPDX license identifier - Makefile/Kconfig (Torez Smith) [1825410 1821835] - [media] treewide: Add SPDX license identifier for more missed files (Torez Smith) [1825410 1821835] - [media] media: usb: siano: Fix general protection fault in smsusb (Torez Smith) [1825410 1821835] - [media] media: prefix header search paths with $(srctree)/ (Torez Smith) [1825410 1821835] - [media] media: remove unneeded header search paths (Torez Smith) [1825410 1821835] - [netdrv] aqc111: cleanup mtu related logic (Torez Smith) [1825410 1821835] - [netdrv] Revert "aqc111: fix writing to the phy on BE" (Torez Smith) [1825410 1821835] - [netdrv] Revert "aqc111: fix double endianness swap on BE" (Torez Smith) [1825410 1821835] - [netdrv] net: usb: qmi_wwan: add Telit 0x1260 and 0x1261 compositions (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix double endianness swap on BE (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix writing to the phy on BE (Torez Smith) [1825410 1821835] - [netdrv] aqc111: fix endianness issue in aqc111_change_mtu (Torez Smith) [1825410 1821835] - [netdrv] net: usb: smsc: fix warning reported by kbuild test robot (Torez Smith) [1825410 1821835] - [netdrv] net: usb: support of_get_mac_address new ERR_PTR error (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: Remove unnecessary NULL pointer check (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: Simplify device detection (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: new Wistron, ZTE and D-Link devices (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 16-bit RGB555 formats (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 16-bit RGB4444 formats (Torez Smith) [1825410 1821835] - [uapi] media: v4l: Add definitions for missing 32-bit RGB formats (Torez Smith) [1825410 1821835] - [netdrv] r8152: sync sa_family with the media type of network device (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: Prevent a buffer overflow (Torez Smith) [1825410 1821835] - [media] media: au0828: stop video streaming only when last user stops (Torez Smith) [1825410 1821835] - [media] media: au0828: Fix NULL pointer dereference in au0828_analog_stream_enable() (Torez Smith) [1825410 1821835] - [media] media: au0828: fix enable and disable source audio and video inconsistencies (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add quirk for Quectel dynamic config (Torez Smith) [1825410 1821835] - [netdrv] r8152: Refresh MAC address during USBDEVFS_RESET (Torez Smith) [1825410 1821835] - [netdrv] r8152: remove extra action copying ethernet address (Torez Smith) [1825410 1821835] - [media] media: replace strncpy() by strscpy() (Torez Smith) [1825410 1821835] - [media] media: usbvision: fix a potential NULL pointer dereference (Torez Smith) [1825410 1821835] - [media] media: gspca: Kill URBs on USB device disconnect (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add Olicard 600 (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend HWID table by QNAP device (Torez Smith) [1825410 1821835] - [media] media: pwc-ctl: pChoose can't be NULL (Torez Smith) [1825410 1821835] - [media] media: Kconfig files: use the right help coding style (Torez Smith) [1825410 1821835] - [media] media: em28xx-input: make const array addr_list static (Torez Smith) [1825410 1821835] - [media] media: dvb: Add support for the Avermedia TD310 (Torez Smith) [1825410 1821835] - [media] media: dvb: init i2c already in it930x_frontend_attach (Torez Smith) [1825410 1821835] - [media] media: dvbsky: Avoid leaking dvb frontend (Torez Smith) [1825410 1821835] - [media] media: gspca: do not resubmit URBs when streaming has stopped (Torez Smith) [1825410 1821835] - [media] media: au0828: minor fix to a misleading comment in _close() (Torez Smith) [1825410 1821835] - [media] media: go7007: avoid clang frame overflow warning with KASAN (Torez Smith) [1825410 1821835] - [media] media: cpia2: Fix use-after-free in cpia2_exit (Torez Smith) [1825410 1821835] - [netdrv] peak_usb: fix clang build warning (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add support for Quectel EG12/EM12 (Torez Smith) [1825410 1821835] - [media] media: a few more typos at staging, pci, platform, radio and usb (Torez Smith) [1825410 1821835] - [media] media: usb: fix several typos (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Use usb_make_path to fill in usb_info (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix smatch warning (Torez Smith) [1825410 1821835] - [media] media: v4l: Add 32-bit packed YUV formats (Torez Smith) [1825410 1821835] - [netdrv] net: usb: cdc-phonet: use struct_size() in alloc_netdev() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: rtl8150: mark expected switch fall-through (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: Mark expected switch fall-through (Torez Smith) [1825410 1821835] - [media] media: hdpvr: fix smatch warning (Torez Smith) [1825410 1821835] - [media] media: usbvision: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: cpia2: use u64 for the timestamp internally (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Avoid NULL pointer dereference at the end of streaming (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix 'type' check leading to overflow (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: ax88772_bind return error when hw_reset fail (Torez Smith) [1825410 1821835] - [netdrv] net: usb: rtl8150: remove set but not used variable 'rx_stat' (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend HWID table by TRENDnet device (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Add more field helper macros (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov772x: remove unnecessary COM3 initialization (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov722x: remove camera clock setup from bridge_init (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov722x: remove mode specific video data registers from bridge_init (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534-ov772x: add SGBRG8 bayer mode support (Torez Smith) [1825410 1821835] - [media] media: gspca: ov543-ov772x: move video format specific registers into bridge_start (Torez Smith) [1825410 1821835] - [media] media: gspca: support multiple pixel formats in TRY_FMT (Torez Smith) [1825410 1821835] - [media] media: gspca: support multiple pixel formats in ENUM_FRAMEINTERVALS (Torez Smith) [1825410 1821835] - [media] media: gspca: ov534: replace msleep(10) with usleep_range (Torez Smith) [1825410 1821835] - [uapi] media: v4l: uAPI: V4L2_BUF_TYPE_META_OUTPUT is an output buffer type (Torez Smith) [1825410 1821835] - [media] media: gspca: mt9m111: Check write_bridge for timeout (Torez Smith) [1825410 1821835] - [media] media: gspca: Check the return value of write_bridge for timeout (Torez Smith) [1825410 1821835] - [media] media: usb: gspca: add a missed check for goto_low_power (Torez Smith) [1825410 1821835] - [media] media: usb: gspca: add a missed return-value check for do_command (Torez Smith) [1825410 1821835] - [media] media: v4l2-ctrls.c/uvc: zero v4l2_event (Torez Smith) [1825410 1821835] - [media] media: usb: pwc: Don't use coherent DMA buffers for ISO transfer (Torez Smith) [1825410 1821835] - [media] media: usb: pwc: Introduce TRACE_EVENTs for pwc_isoc_handler() (Torez Smith) [1825410 1821835] - [netdrv] cdc_ether: trivial whitespace readability fix (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: add MTU default to qmap network interface (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Fix qmap header retrieval in qmimux_rx_fixup (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Add support for Fibocom NL678 series (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Resolve issue with changing MAC address (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Telit LN940 series (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Fibocom NL668 series (Torez Smith) [1825410 1821835] - [media] media: v4l: Add support for V4L2_BUF_TYPE_META_OUTPUT (Torez Smith) [1825410 1821835] - [media] media: siano: Use kmemdup instead of duplicating its function (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: fix spelling mistake "statuss" -> "status" (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Move interrupt buffer to priv buffer (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Add missing usb_free_urb to free interrupt urb (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: Bugfix for wrong return values (Torez Smith) [1825410 1821835] - [media] media: stkwebcam: Support for ASUS A6VM notebook added (Torez Smith) [1825410 1821835] - [media] media: usb: dvb-usb: remove old friio driver (Torez Smith) [1825410 1821835] - [media] media: lmedm04: use dvb_usbv2_generic_rw_locked (Torez Smith) [1825410 1821835] - [media] media: lmedm04: Move usb buffer to lme2510_state (Torez Smith) [1825410 1821835] - [media] media: rtl28xxu: add support for Sony CXD2837ER slave demod (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Utilise for_each_uvc_urb iterator (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Rename uvc_{un, }init_video() (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Split uvc_video_enable into two (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Move decode processing to process context (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Abstract streaming object lifetime (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: queue: Support asynchronous buffer handling (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: queue: Simplify spin-lock usage (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Protect queue internals with helper (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Convert decode functions to use new context structure (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Refactor URB descriptors (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix spelling mistake, "Cinnergy" -> "Cinergy" (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Refactor teardown of uvc on USB disconnect (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Add support for the CNF4 format (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add 4bpp packed depth confidence format CNF4 (Torez Smith) [1825410 1821835] - [media] media: usb: Use kmemdup instead of duplicating its function (Torez Smith) [1825410 1821835] - [media] media: dvb: Use WARM definition from identify_state() (Torez Smith) [1825410 1821835] - [media] media: dib0700: fix spelling mistake "Amplifyer" -> "Amplifier" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: Fix incorrect use of transfer_flags URB_FREE_BUFFER (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Initialize wol_cfg with memset in aqc111_suspend (Torez Smith) [1825410 1821835] - [netdrv] net: Don't default Aquantia USB driver to 'y' (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: fix spelling mistake: "resumbmitting" -> "resubmitting" (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Extend cdc_ether blacklist (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add ASIX's HW ids (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for wake on LAN by MAGIC packet (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement get/set_link_ksettings callbacks (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Initialize ethtool_ops structure (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add RX VLAN filtering support (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for VLAN_CTAG_TX/RX offload (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement set_rx_mode callback (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for TSO (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for enable/disable checksum offload (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for changing MTU (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add checksum offload support (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement RX data path (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Implement TX data path (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add support for getting and setting of MAC address (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Introduce link management (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Introduce PHY access (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Various callbacks implementation (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add implementation of read and write commands (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Add bind and empty unbind callbacks (Torez Smith) [1825410 1821835] - [netdrv] net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE (Torez Smith) [1825410 1821835] - [netdrv] usbnet: ipheth: fix potential recvmsg bug and recvmsg bug 2 (Torez Smith) [1825410 1821835] - [media] media: pulse8-cec: return 0 when invalidating the logical address (Torez Smith) [1825410 1821835] - [media] media: gspca: fix frame overflow error (Torez Smith) [1825410 1821835] - [media] media: cropcap/g_selection split (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: check for csum being in last four bytes (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: fix memcpy for accessing rx-data (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: simplify tx_fixup code (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: fix rx packet alignment (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: remove duplicated include from ucan.c (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: remove set but not used variable 'udev' (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix accessing freed memory in kvaser_usb_start_xmit() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix potential uninitialized variable use (Torez Smith) [1825410 1821835] - [netdrv] net: smsc95xx: Fix MTU range (Torez Smith) [1825410 1821835] - [netdrv] usbnet: smsc95xx: disable carrier check while suspending (Torez Smith) [1825410 1821835] - [netdrv] net: cdc_ncm: remove set but not used variable 'ctx' (Torez Smith) [1825410 1821835] - [netdrv] net: cdc_ncm: use tasklet_init() for tasklet_struct init (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface (Torez Smith) [1825410 1821835] - [media] media: pvrusb2: replace `printk` with `pr_*` (Torez Smith) [1825410 1821835] - [media] media: cx231xx: fix potential sign-extension overflow on large shift (Torez Smith) [1825410 1821835] - [media] Revert "media: dvbsky: use just one mutex for serializing device R/W ops" (Torez Smith) [1825410 1821835] - [netdrv] net/usb: cancel pending work when unbinding smsc75xx (Torez Smith) [1825410 1821835] - [netdrv] smsc95xx: Check for Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] smsc75xx: Check for Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] r8152: Check for supported Wake-on-LAN Modes (Torez Smith) [1825410 1821835] - [netdrv] sr9800: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] ax88179_178a: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [netdrv] asix: Check for supported Wake-on-LAN modes (Torez Smith) [1825410 1821835] - [media] media: v4l: Add definition for the Sunxi tiled NV12 format (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add definitions for MPEG-2 slice format and metadata (Torez Smith) [1825410 1821835] - [media] media: au0828: Fix incorrect error messages (Torez Smith) [1825410 1821835] - [media] media: au0828: cannot kfree dev before usb disconnect (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Avoid unnecessary self assignment (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: set DTR for modems in forced USB2 mode (Torez Smith) [1825410 1821835] - [media] media: mxl111sf: declare its own pads (Torez Smith) [1825410 1821835] - [media] media: au0828: use signals instead of hardcoding a pad number (Torez Smith) [1825410 1821835] - [media] media: v4l2: taint pads with the signal types for consumer devices (Torez Smith) [1825410 1821835] - [media] media: em28xx: make v4l2-compliance happier by starting sequence on zero (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix input name for Terratec AV 350 (Torez Smith) [1825410 1821835] - [media] media: em28xx: use a default format if TRY_FMT fails (Torez Smith) [1825410 1821835] - [media] media: em28xx: fix handler for vidioc_s_input() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: remove redundant null pointer check before of_node_put (Torez Smith) [1825410 1821835] - [media] media: usbvision: remove time_in_irq (Torez Smith) [1825410 1821835] - [media] media: gspca: sq930x: use GFP_KERNEL in sd_dq_callback() (Torez Smith) [1825410 1821835] - [media] media: replace strcpy() by strscpy() (Torez Smith) [1825410 1821835] - [media] media: use strscpy() instead of strlcpy() (Torez Smith) [1825410 1821835] - [documentation] media: videodev2.h: add new capabilities for buffer types (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Store device information pointer in struct uvc_device (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Rename UVC_QUIRK_INFO to UVC_INFO_QUIRK (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix uvc_alloc_entity() allocation alignment (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix spelling mistake: "entites" -> "entities" (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Remove unnecessary NULL check before debugfs_remove_recursive (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Make uvc_control_mapping menu_info field const (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Make some structs const (Torez Smith) [1825410 1821835] - [netdrv] qmi_wwan: Support dynamic config on Quectel EP06 (Torez Smith) [1825410 1821835] - [netdrv] lan78xx: Do not access skb_queue_head list pointers directly (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Make declaration style consistent (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Switch to SPDX identifier (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Drop unnecessary strcpy in lan78xx_probe (Torez Smith) [1825410 1821835] - [netdrv] net: lan78xx: Bail out if lan78xx_get_endpoints fails (Torez Smith) [1825410 1821835] - [netdrv] net: usbnet: mark expected switch fall-through (Torez Smith) [1825410 1821835] - [media] media: v4l2-ctrls: v4l2_ctrl_add_handler: add from_other_dev (Torez Smith) [1825410 1821835] - [media] media: videodev2.h: add request_fd field to v4l2_ext_controls (Torez Smith) [1825410 1821835] - [uapi] media: videodev2.h: Add new DV flag CAN_DETECT_REDUCED_FPS (Torez Smith) [1825410 1821835] - [media] media: af9035: prevent buffer overflow on write (Torez Smith) [1825410 1821835] - [netdrv] r8152: disable RX aggregation on new Dell TB16 dock (Torez Smith) [1825410 1821835] - [netdrv] drivers/net/usb/r8152: remove the unneeded variable "ret" in rtl8152_system_suspend (Torez Smith) [1825410 1821835] - [media] media: rtl28xxu: be sure that it won't go past the array size (Torez Smith) [1825410 1821835] - [netdrv] net:usb: Use ARRAY_SIZE instead of calculating the array size (Torez Smith) [1825410 1821835] - [media] media: au0828: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: cx231xx: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb-v2: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: dvb-usb: fix spelling mistake: "completition" -> "completion" (Torez Smith) [1825410 1821835] - [media] media: usb: hackrf: Replace GFP_ATOMIC with GFP_KERNEL (Torez Smith) [1825410 1821835] - [media] media: usb: em28xx: Replace mdelay() with msleep() in em28xx_pre_card_setup() (Torez Smith) [1825410 1821835] - [media] media: usb: em28xx: Replace GFP_ATOMIC with GFP_KERNEL in em28xx_init_usb_xfer() (Torez Smith) [1825410 1821835] - [media] media: dw2102: Fix memleak on sequence of probes (Torez Smith) [1825410 1821835] - [media] media: usbtv: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [media] media: go7007: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [media] media: cx231xx: use irqsave() in USB's complete callback (Torez Smith) [1825410 1821835] - [documentation] media: v4l: Add new 10-bit packed grayscale format (Torez Smith) [1825410 1821835] - [documentation] media: doc-rst: Add packed Bayer raw14 pixel formats (Torez Smith) [1825410 1821835] - [media] media: em28xx: disable null packet filter for WinTVdualHD (Torez Smith) [1825410 1821835] - [uapi] media: videodev2: get rid of VIDIOC_RESERVED (Torez Smith) [1825410 1821835] - [media] media: em28xx: explicitly disable TS packet filter (Torez Smith) [1825410 1821835] - [media] media: dvb-usb/friio, dvb-usb-v2/gl861: decompose friio and merge with gl861 (Torez Smith) [1825410 1821835] - [netdrv] net: usb: sr9700: Replace mdelay() with msleep() in sr9700_bind() (Torez Smith) [1825410 1821835] - [netdrv] net: usb: pegasus: Replace mdelay() with msleep() in setup_pegasus_II() (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Send a control event when a Control Change interrupt arrives (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Handle control pipe protocol STALLs (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Remove a redundant check (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Also validate buffers in BULK mode (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Add KSMedia 8-bit IR format support (Torez Smith) [1825410 1821835] - [media] media: uvcvideo: Fix minor spelling (Torez Smith) [1825410 1821835] - [media] media: em28xx-cards: disable V4L2 mode for dual tuners (Torez Smith) [1825410 1821835] - [media] media: em28xx: Remove duplicate PID (Torez Smith) [1825410 1821835] - [media] media: em28xx: Fix DualHD disconnect oops (Torez Smith) [1825410 1821835] - [media] media: em28xx: Fix dual transport stream operation (Torez Smith) [1825410 1821835] - [media] media: dib0700: add code comment (Torez Smith) [1825410 1821835] - [media] media: cx231xx: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: em28xx: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: hdpvr: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: dvb-usb: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: tm6000: don't check number of messages in the driver (Torez Smith) [1825410 1821835] - [media] media: gl861: fix probe of dvb_usb_gl861 (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Simplify struct kvaser_cmd_cardinfo (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add support for Kvaser USB hydra family (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Split driver into kvaser_usb_core.c and kvaser_usb_leaf.c (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add SPDX GPL-2.0 license identifier (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Fix typos (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Improve logging messages (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Refactor kvaser_usb_init_one() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Refactor kvaser_usb_get_endpoints() (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Add pointer to struct usb_interface into struct kvaser_usb (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Replace USB timeout constants with one define (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Rename message/msg to command/cmd (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Remove unused commands and defines (Torez Smith) [1825410 1821835] - [netdrv] can: kvaser_usb: Remove unnecessary return (Torez Smith) [1825410 1821835] - [netdrv] can: peak_usb: mark expected switch fall-throughs (Torez Smith) [1825410 1821835] - [netdrv] can: ucan: add driver for Theobroma Systems UCAN devices (Torez Smith) [1825410 1821835] - [netdrv] can: usb: Kconfig/Makefile: sort alphabetically (Torez Smith) [1825410 1821835] - [media] media: gspca_kinect: cast sizeof to int for comparison (Torez Smith) [1825410 1821835] - [media] media: videodev.h: add PIX_FMT_FWHT for use with vicodec (Torez Smith) [1825410 1821835] - [netdrv] net: usb: hso: use swap macro in hso_kick_transmit (Torez Smith) [1825410 1821835] - [netdrv] net: usb: asix: allow optionally getting mac address from device tree (Torez Smith) [1825410 1821835]- [hid] HID: Improve Windows Precision Touchpad detection (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: enable multi-input as a quirk for some devices (Benjamin Tissoires) [1811209] - [hid] drivers/hid/hid-multitouch.c: fix a possible null pointer access (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: Add LG MELF0410 I2C touchscreen support (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: add support for the Smart Tech panel (Benjamin Tissoires) [1811209] - [hid] HID: multitouch: do not filter mice nodes (Benjamin Tissoires) [1811209] - [hid] HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT (Benjamin Tissoires) [1835753] - [hid] Revert "HID: wacom: generic: read the number of expected touches on a per collection basis" (Benjamin Tissoires) [1835753] - [hid] HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices (Benjamin Tissoires) [1835753] - [hid] HID: wacom: Recognize new MobileStudio Pro PID (Benjamin Tissoires) [1835753] - [hid] HID: wacom: generic: Treat serial number and related fields as unsigned (Benjamin Tissoires) [1835753] - [hid] HID: wacom: add new MobileStudio Pro 13 support (Benjamin Tissoires) [1835753] - [hid] HID: wacom: do not call hid_set_drvdata(hdev, NULL) (Benjamin Tissoires) [1835753] - [hid] HID: wacom: support named keys on older devices (Benjamin Tissoires) [1835753] - [target] scsi: target: iscsi: calling iscsit_stop_session() inside iscsit_close_session() has no effect (Maurizio Lombardi) [1840024] - [target] scsi: target: fix hang when multiple threads try to destroy the same iscsi session (Maurizio Lombardi) [1840024] - [target] scsi: target: remove boilerplate code (Maurizio Lombardi) [1840024] - [target] scsi: target: use an enum to track emulate_ua_intlck_ctrl (Maurizio Lombardi) [1840024] - [target] scsi: target: convert boolean se_dev_attrib types to bool (Maurizio Lombardi) [1840024] - [target] scsi: target: fix unmap_zeroes_data boolean initialisation (Maurizio Lombardi) [1840024] - [fs] page cache: Finish XArray conversion (Waiman Long) [1812073] - [mm] mm: Convert __do_page_cache_readahead to XArray (Waiman Long) [1812073] - [mm] mm: Convert is_page_cache_freeable to XArray (Waiman Long) [1812073] - [mm] mm: memcontrol: clean up and document effective low/min calculations (Waiman Long) [1812073] - [mm] mm: memcontrol: fix memory.low proportional distribution (Waiman Long) [1812073] - [mm] mm: kmem: rename (__)memcg_kmem_(un)charge_memcg() to __memcg_kmem_(un)charge() (Waiman Long) [1812073] - [mm] mm: memcg/slab: cache page number in memcg_(un)charge_slab() (Waiman Long) [1812073] - [mm] mm: kmem: switch to nr_pages in (__)memcg_kmem_charge_memcg() (Waiman Long) [1812073] - [mm] mm: kmem: rename memcg_kmem_(un)charge() into memcg_kmem_(un)charge_page() (Waiman Long) [1812073] - [mm] mm: kmem: cleanup memcg_kmem_uncharge_memcg() arguments (Waiman Long) [1812073] - [mm] mm: kmem: cleanup (__)memcg_kmem_charge_memcg() arguments (Waiman Long) [1812073] - [mm] mm: memcg/slab: use mem_cgroup_from_obj() (Waiman Long) [1812073] - [kernel] mm: fork: fix kernel_stack memcg stats for various stack implementations (Waiman Long) [1812073] - [mm] memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event (Waiman Long) [1812073] - [mm] mm: clean up and clarify lruvec lookup procedure (Waiman Long) [1812073] - [mm] mm: memcontrol: try harder to set a new memory.high (Waiman Long) [1812073] - [mm] mm: memcontrol: remove dead code from memory_max_write() (Waiman Long) [1812073] - [mm] mm, memcg: clean up reclaim iter array (Waiman Long) [1812073] - [mm] mm, memcg: make scan aggression always exclude protection (Waiman Long) [1812073] - [mm] mm, memcg: make memory.emin the baseline for utilisation determination (Waiman Long) [1812073] - [mm] mm, memcg: proportional memory.{low, min} reclaim (Waiman Long) [1812073] - [mm] memcg, kmem: do not fail __GFP_NOFAIL charges (Waiman Long) [1812073] - [mm] mm: workingset: fix vmstat counters for shadow nodes (Waiman Long) [1812073] - [mm] mm: memcontrol: use CSS_TASK_ITER_PROCS at mem_cgroup_scan_tasks() (Waiman Long) [1812073] - [kernel] fork, memcg: alloc_thread_stack_node needs to set tsk->stack (Waiman Long) [1812073] - [mm] mm/memcontrol.c: fix bad line in comment (Waiman Long) [1812073] - [kernel] fork, memcg: fix cached_stacks case (Waiman Long) [1812073] - [mm] mm: don't raise MEMCG_OOM event due to failed high-order allocation (Waiman Long) [1812073] - [mm] mm: vmscan: memcontrol: remove mem_cgroup_select_victim_node() (Waiman Long) [1812073] - [mm] mm: vmscan: do not share cgroup iteration between reclaimers (Waiman Long) [1812073] - [mm] mm: vmscan: do not iterate all mem cgroups for global direct reclaim (Waiman Long) [1812073] - [mm] mm: workingset: use cheaper __inc_lruvec_state in irqsafe node reclaim (Waiman Long) [1812073] - [tools] xarray: Fix early termination of xas_for_each_marked (Waiman Long) [1812073] - [lib] mm: Convert workingset to XArray (Waiman Long) [1812073] - [mm] page cache: Convert filemap_range_has_page to XArray (Waiman Long) [1812073] - [mm] page cache: Remove stray radix comment (Waiman Long) [1812073] - [mm] page cache: Convert delete_batch to XArray (Waiman Long) [1812073] - [mm] page cache: Convert filemap_map_pages to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entries_tag to XArray (Waiman Long) [1812073] - [mm] page cache; Convert find_get_pages_range_tag to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_pages_contig to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_pages_range to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entries to XArray (Waiman Long) [1812073] - [mm] page cache: Convert find_get_entry to XArray (Waiman Long) [1812073] - [mm] page cache: Convert page deletion to XArray (Waiman Long) [1812073] - [include] page cache: Add and replace pages using the XArray (Waiman Long) [1812073] - [mm] page cache: Convert hole search to XArray (Waiman Long) [1812073] - [kernel] docs: cgroup-v1: Document the cpuset_v2_mode mount option (Waiman Long) [1812073] - [kernel] cgroup1: don't call release_agent when it is "" (Waiman Long) [1812073] - [kernel] cgroup: Iterate tasks that did not finish do_exit() (Waiman Long) [1812073] - [kernel] cgroup: cgroup_procs_next should increase position index (Waiman Long) [1812073] - [kernel] cgroup-v1: cgroup_pidlist_next should update position index (Waiman Long) [1812073] - [kernel] cgroup: init_tasks shouldn't be linked to the root cgroup (Waiman Long) [1812073] - [kernel] cgroup: Prevent double killing of css when enabling threaded cgroup (Waiman Long) [1812073] - [kernel] cgroup: fix function name in comment (Waiman Long) [1812073] - [kernel] cgroup: freezer: don't change task and cgroups status unnecessarily (Waiman Long) [1812073] - [kernel] cgroup: use cgroup->last_bstat instead of cgroup->bstat_pending for consistency (Waiman Long) [1812073] - [kernel] cgroup: remove cgroup_enable_task_cg_lists() optimization (Waiman Long) [1812073] - [kernel] cgroup: pids: use atomic64_t for pids->limit (Waiman Long) [1812073] - [kernel] cgroup: Optimize single thread migration (Waiman Long) [1812073] - [kernel] cgroup: Update comments about task exit path (Waiman Long) [1812073] - [kernel] cgroup: short-circuit current_cgns_cgroup_from_root() on the default hierarchy (Waiman Long) [1812073] - [kernel] Use kvmalloc in cgroups-v1 (Waiman Long) [1812073] - [kernel] cgroup: minor tweak for logic to get cgroup css (Waiman Long) [1812073] - [kernel] cgroup: Replace a seq_printf() call by seq_puts() in cgroup_print_ss_mask() (Waiman Long) [1812073] - [kernel] cgroup: Fix css_task_iter_advance_css_set() cset skip condition (Waiman Long) [1812073] - [kernel] cgroup: css_task_iter_skip()'d iterators must be advanced before accessed (Waiman Long) [1812073] - [include] cgroup: Include dying leaders with live threads in PROCS iterations (Waiman Long) [1812073] - [kernel] cgroup: Implement css_task_iter_skip() (Waiman Long) [1812073] - [kernel] cgroup/pids: turn cgroup_subsys->free() into cgroup_subsys->release() to fix the accounting (Waiman Long) [1586281 1812073] - [platform] intel-speed-select: Firmware workarounds for Icelake (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Fix invalid core mask (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Increase CPU count (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Fix json perf-profile output output (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Enable clos for turbo-freq enable (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Check support status before enable (Prarit Bhargava) [1840289] - [tools] tools/power/x86/intel-speed-select: Change debug to error (Prarit Bhargava) [1840289] - [platform] intel_speed_select: internal-only-debug-patch (Prarit Bhargava) [1840289]- [nvdimm] libnvdimm/region: Fix build error (Diego Domingos) [1779218] - [nvdimm] libnvdimm/region: Introduce an 'align' attribute (Diego Domingos) [1779218] - [nvdimm] libnvdimm/region: Introduce NDD_LABELING (Diego Domingos) [1779218] - [nvdimm] libnvdimm/namespace: Enforce memremap_compat_align() (Diego Domingos) [1779218] - [nvdimm] libnvdimm/pfn: Prevent raw mode fallback if pfn-infoblock valid (Diego Domingos) [1779218] - [mm] mm/memremap_pages: Introduce memremap_compat_align() (Diego Domingos) [1779218] - [x86] x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix error handling in __unwind_start() (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix premature unwind stoppage due to IRET frames (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Fix error path for bad ORC entry type (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Prevent unwinding before ORC initialization (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Don't skip the first frame for inactive tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind: Prevent false warnings for non-current tasks (Josh Poimboeuf) [1755143] - [x86] x86/unwind/orc: Convert global variables to static (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in rewind_stack_do_exit() (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in __switch_to_asm() (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in kernel exit path (Josh Poimboeuf) [1755143] - [x86] x86/entry/64: Fix unwind hints in register clearing code (Josh Poimboeuf) [1755143] - [tools] objtool: Fix stack offset tracking for indirect CFAs (Josh Poimboeuf) [1755143] - [s390] s390: nvme reipl (Philipp Rudo) [1525179] - [s390] s390: nvme ipl (Philipp Rudo) [1525179] - [infiniband] RDMA/bnxt_re: make bnxt_re_ib_init static (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Wait for all the CQ events before freeing CQ data structures (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove unnecessary sched count (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Fix lifetimes in bnxt_re_task (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Use ib_device_try_get() (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove a redundant 'memset' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variables 'pg' and 'idx' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'dev_attr' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Remove set but not used variable 'pg_size' (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Use driver_unregister and unregistration API (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor device add/remove functionalities (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Using vmalloc requires including vmalloc.h (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: use ibdev based message printing functions (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor doorbell management functions (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor notification queue management code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor command queue management code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor net ring allocation function (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor hardware queue memory allocation (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Replace chip context structure with pointer (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Refactor queue pair creation code (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: remove ioremap_nocache and devm_ioremap_nocache (Selvin Xavier) [1790622] - [infiniband] RDMA/bnxt_re: Enable SRIOV VF support on Broadcom's 57500 adapter series (Selvin Xavier) [1790622] - [netdrv] net: be2net: reject unsupported coalescing params (Petr Oros) [1790633] - [netdrv] treewide: Use sizeof_field() macro (Petr Oros) [1790633] - [netdrv] net: emulex: benet: indent a Kconfig depends continuation line (Petr Oros) [1790633] - [infiniband] i40iw: fix null pointer dereference on a null wqe pointer (Stefan Assmann) [1839718] - [infiniband] RDMA/providers: Fix return value when QP type isn't supported (Stefan Assmann) [1839718] - [infiniband] RDMA: Replace zero-length array with flexible-array member (Stefan Assmann) [1839718] - [infiniband] i40iw: Do an RCU lookup in i40iw_add_ipv4_addr (Stefan Assmann) [1839718] - [infiniband] IB/core: Introduce ib_reg_user_mr (Stefan Assmann) [1839718] - [infiniband] RDMA/i40iw: fix a potential NULL pointer dereference (Stefan Assmann) [1839718] - [infiniband] i40iw: Remove setting of VMA private data and use rdma_user_mmap_io (Stefan Assmann) [1839718] - [infiniband] RDMA/i40iw: Fix potential use after free (Stefan Assmann) [1839718] - [powerpc] powerpc/pseries: Fix of_read_drc_info_cell() to point at next record (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Enable support for ibm, drc-info property (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Avoid a sometimes-uninitialized warning (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Annotate and correctly byte swap DRC properties (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Add drc-info support for hotplug slot registration (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Don't rely on firmware feature to imply drc-info support (Diego Domingos) [1779198] - [pci] PCI: rpaphp: Fix up pointer to first drc-info entry (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Add cpu DLPAR support for drc-info property (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index (Diego Domingos) [1779198] - [powerpc] powerpc/pseries: Fix bad drc_index_start value parsing of drc-info entry (Diego Domingos) [1779198] - [kernel] sched/fair: Optimize enqueue_task_fair() (Phil Auld) [1780466] - [kernel] sched/fair: Fix enqueue_task_fair() warning some more (Phil Auld) [1780466] - [kernel] sched/fair: Fix enqueue_task_fair warning (Phil Auld) [1780466] - [kernel] sched/fair: Fix reordering of enqueue/dequeue_task_fair() (Phil Auld) [1780466] - [kernel] sched/fair: Reorder enqueue/dequeue_task_fair path (Phil Auld) [1780466] - [fs] ceph: demote quotarealm lookup warning to a debug message (Jeff Layton) [1827767] - [fs] ceph: fix double unlock in handle_cap_export() (Jeff Layton) [1827767] - [fs] ceph: fix special error code in ceph_try_get_caps() (Jeff Layton) [1827767] - [fs] ceph: fix endianness bug when handling MDS session feature bits (Jeff Layton) [1827767] - [fs] ceph: fix potential bad pointer deref in async dirops cb's (Jeff Layton) [1827767] - [block] rbd: don't mess with a page vector in rbd_notify_op_lock() (Jeff Layton) [1827767] - [block] rbd: don't test rbd_dev->opts in rbd_dev_image_release() (Jeff Layton) [1827767] - [block] rbd: call rbd_dev_unprobe() after unwatching and flushing notifies (Jeff Layton) [1827767] - [block] rbd: avoid a deadlock on header_rwsem when flushing notifies (Jeff Layton) [1827767] - [fs] ceph: fix snapshot directory timestamps (Jeff Layton) [1827767] - [fs] ceph: wait for async creating inode before requesting new max size (Jeff Layton) [1827767] - [fs] ceph: don't skip updating wanted caps when cap is stale (Jeff Layton) [1827767] - [fs] ceph: request new max size only when there is auth cap (Jeff Layton) [1827767] - [fs] ceph: cleanup return error of try_get_cap_refs() (Jeff Layton) [1827767] - [fs] ceph: return ceph_mdsc_do_request() errors from __get_parent() (Jeff Layton) [1827767] - [fs] ceph: check all mds' caps after page writeback (Jeff Layton) [1827767] - [fs] ceph: update i_requested_max_size only when sending cap msg to auth mds (Jeff Layton) [1827767] - [fs] ceph: simplify calling of ceph_get_fmode() (Jeff Layton) [1827767] - [fs] ceph: remove delay check logic from ceph_check_caps() (Jeff Layton) [1827767] - [fs] ceph: consider inode's last read/write when calculating wanted caps (Jeff Layton) [1827767] - [fs] ceph: always renew caps if mds_wanted is insufficient (Jeff Layton) [1827767] - [fs] ceph: update dentry lease for async create (Jeff Layton) [1827767] - [fs] ceph: attempt to do async create when possible (Jeff Layton) [1827767] - [fs] ceph: cache layout in parent dir on first sync create (Jeff Layton) [1827767] - [fs] ceph: add new MDS req field to hold delegated inode number (Jeff Layton) [1827767] - [fs] ceph: decode interval_sets for delegated inos (Jeff Layton) [1827767] - [fs] ceph: make ceph_fill_inode non-static (Jeff Layton) [1827767] - [fs] ceph: perform asynchronous unlink if we have sufficient caps (Jeff Layton) [1827767] - [fs] ceph: don't take refs to want mask unless we have all bits (Jeff Layton) [1827767] - [fs] ceph: cap tracking for async directory operations (Jeff Layton) [1827767] - [fs] ceph: make __take_cap_refs non-static (Jeff Layton) [1827767] - [fs] ceph: add infrastructure for waiting for async create to complete (Jeff Layton) [1827767] - [fs] ceph: track primary dentry link (Jeff Layton) [1827767] - [fs] ceph: add flag to designate that a request is asynchronous (Jeff Layton) [1827767] - [fs] ceph: more caps.c lockdep assertions (Jeff Layton) [1827767] - [fs] ceph: clean up kick_flushing_inode_caps() (Jeff Layton) [1827767] - [net] libceph: directly skip to the end of redirect reply (Jeff Layton) [1827767] - [net] libceph: simplify ceph_monc_handle_map() (Jeff Layton) [1827767] - [fs] ceph: return ETIMEDOUT errno to userland when request timed out (Jeff Layton) [1827767] - [fs] ceph: re-org copy_file_range and fix some error paths (Jeff Layton) [1827767] - [fs] ceph: move to a dedicated slabcache for mds requests (Jeff Layton) [1827767] - [fs] ceph: reorganize fields in ceph_mds_request (Jeff Layton) [1827767] - [fs] ceph: replace zero-length array with flexible-array member (Jeff Layton) [1827767] - [block] rbd: enable multiple blk-mq queues (Jeff Layton) [1827767] - [block] rbd: embed image request in blk-mq pdu (Jeff Layton) [1827767] - [block] rbd: acquire header_rwsem just once in rbd_queue_workfn() (Jeff Layton) [1827767] - [block] rbd: get rid of img_request_layered_clear() (Jeff Layton) [1827767] - [block] rbd: kill img_request kref (Jeff Layton) [1827767] - [fs] ceph: check if file lock exists before sending unlock request (Jeff Layton) [1827767] - [fs] ceph: move ceph_osdc_{read, write}pages to ceph.ko (Jeff Layton) [1827767] - [fs] ceph: don't ClearPageChecked in ceph_invalidatepage() (Jeff Layton) [1827767] - [block] rbd: remove barriers from img_request_layered_{set, clear, test}() (Jeff Layton) [1827767] - [fs] libceph: drop CEPH_DEFINE_SHOW_FUNC (Jeff Layton) [1827767] - [fs] ceph: check inode type for CEPH_CAP_FILE_{CACHE, RD, REXTEND, LAZYIO} (Jeff Layton) [1827767] - [fs] ceph: add refcounting for Fx caps (Jeff Layton) [1827767] - [fs] ceph: register MDS request with dir inode from the start (Jeff Layton) [1827767] - [fs] ceph: fix memory leak in ceph_cleanup_snapid_map() (Jeff Layton) [1827767] - [net] libceph: fix alloc_msg_with_page_vector() memory leaks (Jeff Layton) [1827767] - [include] ceph: check POOL_FLAG_FULL/NEARFULL in addition to OSDMAP_FULL/NEARFULL (Jeff Layton) [1827767] - [fs] ceph: canonicalize server path in place (Jeff Layton) [1827767] - [fs] ceph: do not execute direct write in parallel if O_APPEND is specified (Jeff Layton) [1827767] - [block] rbd: set the 'device' link in sysfs (Jeff Layton) [1827767] - [fs] ceph: move net/ceph/ceph_fs.c to fs/ceph/util.c (Jeff Layton) [1827767] - [fs] ceph: print name of xattr in __ceph_{get, set}xattr() douts (Jeff Layton) [1827767] - [fs] ceph: print r_direct_hash in hex in __choose_mds() dout (Jeff Layton) [1827767] - [fs] ceph: use copy-from2 op in copy_file_range (Jeff Layton) [1827767] - [fs] ceph: close holes in structs ceph_mds_session and ceph_mds_request (Jeff Layton) [1827767] - [block] rbd: work around -Wuninitialized warning (Jeff Layton) [1827767] - [fs] ceph: allocate the correct amount of extra bytes for the session features (Jeff Layton) [1827767] - [fs] ceph: rename get_session and switch to use ceph_get_mds_session (Jeff Layton) [1827767] - [fs] ceph: remove the extra slashes in the server path (Jeff Layton) [1827767] - [fs] ceph: add possible_max_rank and make the code more readable (Jeff Layton) [1827767] - [fs] ceph: print dentry offset in hex and fix xattr_version type (Jeff Layton) [1827767] - [fs] ceph: only touch the caps which have the subset mask requested (Jeff Layton) [1827767] - [fs] ceph: don't clear I_NEW until inode metadata is fully populated (Jeff Layton) [1827767] - [fs] ceph: retry the same mds later after the new session is opened (Jeff Layton) [1827767] - [fs] ceph: check availability of mds cluster on mount after wait timeout (Jeff Layton) [1827767] - [fs] ceph: keep the session state until it is released (Jeff Layton) [1827767] - [fs] ceph: add __send_request helper (Jeff Layton) [1827767] - [fs] ceph: ensure we have a new cap before continuing in fill_inode (Jeff Layton) [1827767] - [fs] ceph: drop unused ttl_from parameter from fill_inode (Jeff Layton) [1827767] - [fs] ceph: fix possible long time wait during umount (Jeff Layton) [1827767] - [fs] ceph: only choose one MDS who is in up:active state without laggy (Jeff Layton) [1827767] - [fs] ceph: fix mdsmap cluster available check based on laggy number (Jeff Layton) [1827767] - [fs] ceph: remove unnecessary assignment in ceph_pre_init_acls() (Jeff Layton) [1827767] - [fs] ceph: delete redundant douts in con_get/put() (Jeff Layton) [1827767] - [fs] ceph: hold extra reference to r_parent over life of request (Jeff Layton) [1827767] - [fs] ceph: add more debug info when decoding mdsmap (Jeff Layton) [1827767] - [fs] ceph: switch to global cap helper (Jeff Layton) [1827767] - [fs] ceph: trigger the reclaim work once there has enough pending caps (Jeff Layton) [1827767] - [fs] ceph: show tasks waiting on caps in debugfs caps file (Jeff Layton) [1827767] - [fs] fs: ceph: Delete timespec64_trunc() usage (Jeff Layton) [1827767] - [block] rbd: ask for a weaker incompat mask for read-only mappings (Jeff Layton) [1827767] - [block] rbd: don't query snapshot features (Jeff Layton) [1827767] - [block] rbd: remove snapshot existence validation code (Jeff Layton) [1827767] - [block] rbd: don't establish watch for read-only mappings (Jeff Layton) [1827767] - [block] rbd: don't acquire exclusive lock for read-only mappings (Jeff Layton) [1827767] - [block] rbd: disallow read-write partitions on images mapped read-only (Jeff Layton) [1827767] - [block] rbd: treat images mapped read-only seriously (Jeff Layton) [1827767] - [block] rbd: introduce RBD_DEV_FLAG_READONLY (Jeff Layton) [1827767] - [block] rbd: introduce rbd_is_snap() (Jeff Layton) [1827767] - [fs] ceph: don't leave ino field in ceph_mds_request_head uninitialized (Jeff Layton) [1827767] - [fs] ceph: tone down loglevel on ceph_mdsc_build_path warning (Jeff Layton) [1827767] - [fs] ceph: fix geting random mds from mdsmap (Jeff Layton) [1827767] - [block] rbd: fix spelling mistake "requeueing" -> "requeuing" (Jeff Layton) [1827767] - [fs] ceph: make several helper accessors take const pointers (Jeff Layton) [1827767] - [net] libceph: drop unnecessary check from dispatch() in mon_client.c (Jeff Layton) [1827767] - [fs] ceph: don't allow copy_file_range when stripe_count != 1 (Jeff Layton) [1827767] - [fs] ceph: allow object copies across different filesystems in the same cluster (Jeff Layton) [1827767] - [fs] ceph: pass filp to ceph_get_caps() (Jeff Layton) [1827767] - [fs] ceph: allow copy_file_range when src and dst inode are same (Jeff Layton) [1827767] - [fs] ceph: increment change_attribute on local changes (Jeff Layton) [1827767] - [fs] ceph: make 'nocopyfrom' a default mount option (Jeff Layton) [1827767] - [fs] vfs: allow copy_file_range to copy across devices (Jeff Layton) [1827767] - [fs] vfs: no fallback for ->copy_file_range (Jeff Layton) [1827767] - [fs] ceph: add destination file data sync before doing any remote copy (Jeff Layton) [1827767] - [fs] ceph: new mount option to disable usage of copy-from op (Jeff Layton) [1827767] - [fs] ceph: support copy_file_range file operation (Jeff Layton) [1827767] - [include] libceph: support the RADOS copy-from operation (Jeff Layton) [1827767] - [fs] cachefiles: Fix race between read_waiter and read_copier involving op->to_do (Dave Wysochanski) [1832644] - [char] security: keys: trusted: fix lost handle flush (Jerry Snitselaar) [1815609] - [security] KEYS: trusted: Remove set but not used variable 'keyhndl' (Jerry Snitselaar) [1815609] - [char] KEYS: trusted: Move TPM2 trusted keys code (Jerry Snitselaar) [1815609] - [security] KEYS: trusted: Create trusted keys subsystem (Jerry Snitselaar) [1815609] - [security] KEYS: Use common tpm_buf for trusted and asymmetric keys (Jerry Snitselaar) [1815609] - [char] tpm: Move tpm_buf code to include/linux/ (Jerry Snitselaar) [1815609] - [char] tpm/tpm_tis: Free IRQ if probing fails (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Revert tpm_tis_spi_mod.ko to tpm_tis_spi.ko (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Add tpm_version_major sysfs file (Jerry Snitselaar) [1815609] - [char] tpm: Handle negative priv->response_len in tpm_common_read() (Jerry Snitselaar) [1815609] - [char] tpm: fix invalid locking in NONBLOCKING mode (Jerry Snitselaar) [1815609] - [char] tpm_crb: fix fTPM on AMD Zen+ CPUs (Jerry Snitselaar) [1815609] - [char] tpm: use GFP_KERNEL instead of GFP_HIGHMEM for tpm_buf (Jerry Snitselaar) [1815609] - [char] tpm: add check after commands attribs tab allocation (Jerry Snitselaar) [1815609] - [char] tpm: tpm_tis_spi: Drop THIS_MODULE usage from driver struct (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Cleanup includes (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Support cr50 devices (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm_tis_spi: Introduce a flow control callback (Jerry Snitselaar) [1815609 1788758] - [char] tpm: Add a flag to indicate TPM power is managed by firmware (Jerry Snitselaar) [1815609] - [char] tpm_tis: override durations for STM tpm with firmware 1.2.8.28 (Jerry Snitselaar) [1815609 1788758] - [char] tpm: provide a way to override the chip returned durations (Jerry Snitselaar) [1815609] - [char] tpm: Remove duplicate code from caps_show() in tpm-sysfs.c (Jerry Snitselaar) [1815609 1788758] - [char] tpm: tpm2_bios_measurements_next should increase position index (Jerry Snitselaar) [1815609 1795739] - [char] tpm: tpm1_bios_measurements_next should increase position index (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Don't make log failures fatal (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST (Jerry Snitselaar) [1815609 1795739] - [include] efi/tpm: Don't access event->count when it isn't mapped (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Return -EINVAL when determining tpm final events log size fails (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Fix sanity check of unsigned tbl_size being less than zero (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Only set 'efi_tpm_final_log_size' after successful event log parsing (Jerry Snitselaar) [1815609 1795739] - [firmware] efi/tpm: Don't traverse an event log with no events (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Don't duplicate events from the final event log in the TCG2 log (Jerry Snitselaar) [1815609 1795739] - [firmware] Abstract out support for locating an EFI config table (Jerry Snitselaar) [1815609 1795739] - [firmware] efi: Attempt to get the TCG2 event log in the boot stub (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Append the final event log to the TPM event log (Jerry Snitselaar) [1815609 1795739] - [firmware] tpm: Reserve the TPM final events table (Jerry Snitselaar) [1815609 1795739] - [char] tpm: Abstract crypto agile event size calculations (Jerry Snitselaar) [1815609 1795739] - [netdrv] bnx2x: Fix accounting of vlan resources among the PFs (Manish Chopra) [1791026] - [netdrv] bnx2x: Use appropriate define for vlan credit (Manish Chopra) [1791026] - [netdrv] bnx2x: Fix logic to get total no. of PFs per engine (Manish Chopra) [1791026] - [netdrv] bnx2x: Do not handle requests from VFs after parity (Manish Chopra) [1791026] - [netdrv] qed: remove redundant assignment to variable 'rc' (Manish Chopra) [1791024] - [netdrv] qed: Fix use after free in qed_chain_free (Manish Chopra) [1791024] - [netdrv] qed: Fix race condition between scheduling and destroying the slowpath workqueue (Manish Chopra) [1791024] - [netdrv] qede: remove some unused code in function qede_selftest_receive_traffic (Manish Chopra) [1791024] - [netdrv] qede: Fix race between rdma destroy workqueue and link change event (Manish Chopra) [1791024] - [netdrv] qed: Fix timestamping issue for L2 unicast ptp packets (Manish Chopra) [1791024] - [netdrv] qed: Remove set but not used variable 'p_link' (Manish Chopra) [1791024] - [netdrv] qed: Fix a error code in qed_hw_init() (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 debug features (Manish Chopra) [1791024] - [netdrv] qed: rt init valid initialization changed (Manish Chopra) [1791024] - [netdrv] qed: Debug feature: ilt and mdump (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Add fw overlay feature (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 HSI changes (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 iscsi/fcoe changes (Manish Chopra) [1791024] - [netdrv] qed: Add abstraction for different hsi values per chip (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Additional ll2 type (Manish Chopra) [1791024] - [netdrv] qed: Use dmae to write to widebus registers in fw_funcs (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Parser offsets modified (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Queue Manager changes (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Expose new registers and change windows (Manish Chopra) [1791024] - [netdrv] qed: FW 8.42.2.0 Internal ram offsets modifications (Manish Chopra) [1791024] - [netdrv] qede: Disable hardware gro when xdp prog is installed (Manish Chopra) [1791024] - [netdrv] qed: remove redundant assignments to rc (Manish Chopra) [1791024] - [netdrv] qed: Optimize execution time for nvm attributes configuration (Manish Chopra) [1791024] - [netdrv] qed: fix spelling mistake "queuess" -> "queues" (Manish Chopra) [1791024] - [fs] fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() (Bhupesh Sharma) [1832060] {CVE-2020-10732} - [tty] vt: selection, push sel_lock up (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection, push console lock down (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [staging] staging: speakup: refactor to use existing code in vt (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection: allow functions to be called from inside kernel (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: don't reinvent min() (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection, close sel_buffer race (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: fix broken display when running aptitude (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: selection: take screen contents from uniscr if available (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [tty] vt: preserve unicode values corresponding to screen characters (Chris von Recklinghausen) [1831037] {CVE-2020-8648} - [input] Input: add safety guards to input_set_keycode() (Chris von Recklinghausen) [1828223] {CVE-2019-20636}- [scsi] scsi: bnx2i: fix potential use after free (Nilesh Javali) [1792114] - [tools] perf python: Fix clang detection to strip out options passed in $CC (Michael Petlan) [1818841] - [tools] libperf: Add counting example (Michael Petlan) [1818841] - [tools] perf report/top TUI: Fix title line formatting (Michael Petlan) [1818841] - [tools] perf probe: Do not depend on dwfl_module_addrsym() (Michael Petlan) [1818841] - [tools] perf probe: Fix to delete multiple probe event (Michael Petlan) [1818841] - [tools] perf parse-events: Fix reading of invalid memory in event parsing (Michael Petlan) [1818841] - [tools] perf python: Fix clang detection when using CC=clang-version (Michael Petlan) [1818841] - [tools] perf map: Fix off by one in strncpy() size argument (Michael Petlan) [1818841] - [tools] tools: Let O= makes handle a relative path with -C option (Michael Petlan) [1818841] - [tools] tools: Fix off-by 1 relative directory includes (Michael Petlan) [1818841] - [tools] perf jevents: Fix leak of mapfile memory (Michael Petlan) [1818841] - [tools] perf bench: Clear struct sigaction before sigaction() syscall (Michael Petlan) [1818841] - [tools] perf bench futex-wake: Restore thread count default to online CPU count (Michael Petlan) [1818841] - [tools] perf top: Fix stdio interface input handling with glibc 2.28+ (Michael Petlan) [1818841] - [tools] perf diff: Fix undefined string comparision spotted by clang's -Wstring-compare (Michael Petlan) [1818841] - [tools] perf symbols: Don't try to find a vmlinux file when looking for kernel modules (Michael Petlan) [1818841] - [tools] perf bench: Share some global variables to fix build with gcc 10 (Michael Petlan) [1818841] - [tools] perf parse-events: Use asprintf() instead of strncpy() to read tracepoint files (Michael Petlan) [1818841] - [tools] perf env: Do not return pointers to local variables (Michael Petlan) [1818841] - [tools] perf tests bp_account: Make global variable static (Michael Petlan) [1818841] - [tools] perf annotate: Fix segfault with source toggle (Michael Petlan) [1818841] - [tools] perf annotate: Align struct annotate_args (Michael Petlan) [1818841] - [tools] perf annotate: Simplify disasm_line allocation and freeing code (Michael Petlan) [1818841] - [tools] perf annotate: Remove privsize from symbol__annotate() args (Michael Petlan) [1818841] - [tools] perf probe: Check return value of strlist__add() for -ENOMEM (Michael Petlan) [1818841] - [tools] perf config: Document missing config options (Michael Petlan) [1818841] - [tools] perf annotate: Fix perf config option description (Michael Petlan) [1818841] - [tools] perf annotate: Prefer cmdline option over default config (Michael Petlan) [1818841] - [tools] perf annotate: Make perf config effective (Michael Petlan) [1818841] - [tools] perf config: Introduce perf_config_u8() (Michael Petlan) [1818841] - [tools] perf annotate: Fix --show-nr-samples for tui/stdio2 (Michael Petlan) [1818841] - [tools] perf annotate: Fix --show-total-period for tui/stdio2 (Michael Petlan) [1818841] - [tools] perf annotate/tui: Re-render title bar after switching back from script browser (Michael Petlan) [1818841] - [tools] perf arch powerpc: Sync powerpc syscall.tbl with the kernel sources (Michael Petlan) [1818841] - [tools] perf auxtrace: Add auxtrace_record__read_finish() (Michael Petlan) [1818841] - [tools] perf arm-spe: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf cs-etm: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf intel-bts: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf intel-pt: Fix endless record after being terminated (Michael Petlan) [1818841] - [tools] perf test: Fix test trace+probe_vfs_getname.sh on s390 (Michael Petlan) [1818841] - [tools] perf bpf: Remove bpf/ subdir from bpf.h headers used to build bpf events (Michael Petlan) [1818841] - [tools] perf llvm: Fix script used to obtain kernel make directives to work with new kbuild (Michael Petlan) [1818841] - [tools] perf tools: Add arm64 version of get_cpuid() (Michael Petlan) [1818841] - [tools] perf trace: Resolve prctl's 'option' arg strings to numbers (Michael Petlan) [1818841] - [tools] perf beauty prctl: Export the 'options' strarray (Michael Petlan) [1818841] - [tools] perf maps: Move kmap::kmaps setup to maps__insert() (Michael Petlan) [1818841] - [tools] perf maps: Fix map__clone() for struct kmap (Michael Petlan) [1818841] - [tools] perf maps: Mark ksymbol DSOs with kernel type (Michael Petlan) [1818841] - [tools] perf maps: Mark module DSOs with kernel type (Michael Petlan) [1818841] - [tools] perf symbols: Convert symbol__is_idle() to use strlist (Michael Petlan) [1818841] - [tools] perf symbols: Update the list of kernel idle symbols (Michael Petlan) [1818841] - [tools] perf stat: Don't report a null stalled cycles per insn metric (Michael Petlan) [1818841] - [tools] perf probe: Add ustring support for perf probe command (Michael Petlan) [1818841] - [tools] perf: Make perf able to build with latest libbfd (Michael Petlan) [1818841] - [tools] perf test: Fix test case Merge cpu map (Michael Petlan) [1818841] - [tools] perf parse: Copy string to perf_evsel_config_term (Michael Petlan) [1818841] - [tools] perf parse: Refactor 'struct perf_evsel_config_term' (Michael Petlan) [1818841] - [tools] perf: Use consistent include paths for libbpf (Michael Petlan) [1818841] - [tools] perf beauty sockaddr: Fix augmented syscall format warning (Michael Petlan) [1818841] - [tools] perf/ui/gtk: Fix gtk2 build (Michael Petlan) [1818841] - [tools] perf ui gtk: Add missing zalloc object (Michael Petlan) [1818841] - [tools] perf tools: Use define api.pure full instead of pure-parser (Michael Petlan) [1818841] - [tools] perf tools: Support --prefix/--prefix-strip (Michael Petlan) [1818841] - [tools] perf report: Clarify in help that --children is default (Michael Petlan) [1818841] - [tools] tools build: Fix test-clang.cpp with Clang 8+ (Michael Petlan) [1818841] - [tools] perf clang: Fix build with Clang 9 (Michael Petlan) [1818841] - [tools] tools lib: Fix builds when glibc contains strlcpy() (Michael Petlan) [1818841] - [tools] perf report/top: Make 'e' visible in the help and make it toggle showing callchains (Michael Petlan) [1818841] - [tools] perf report/top: Do not offer annotation for symbols without samples (Michael Petlan) [1818841] - [tools] perf report/top: Allow pressing hotkeys in the options popup menu (Michael Petlan) [1818841] - [tools] tools ui popup: Allow returning hotkeys (Michael Petlan) [1818841] - [tools] perf hists browser: Allow passing an initial hotkey (Michael Petlan) [1818841] - [tools] perf report/top: Add 'k' hotkey to zoom directly into the kernel map (Michael Petlan) [1818841] - [tools] perf hists browser: Generalize the do_zoom_dso() function (Michael Petlan) [1818841] - [tools] perf report/top: Improve toggle callchain menu option (Michael Petlan) [1818841] - [tools] perf report/top: Add menu entry for toggling callchain expansion (Michael Petlan) [1818841] - [tools] perf report/top: Make ENTER consistently bring up menu (Michael Petlan) [1818841] - [tools] perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc (Michael Petlan) [1818841] - [tools] tools lib api fs: Fix gcc9 stringop-truncation compilation error (Michael Petlan) [1818841] - [tools] libperf: Add man pages (Michael Petlan) [1818841] - [tools] libperf: Move to tools/lib/perf (Michael Petlan) [1818841] - [tools] perf tests bp_signal: Show expected versus obtained values (Michael Petlan) [1818841] - [tools] perf sched timehist: Add support for filtering on CPU (Michael Petlan) [1818841] - [tools] perf record: Adapt affinity to machines with #CPUs > 1K (Michael Petlan) [1818841] - [tools] perf mmap: Declare type for cpu mask of arbitrary length (Michael Petlan) [1818841] - [tools] tools bitmap: Implement bitmap_equal() operation at bitmap API (Michael Petlan) [1818841] - [x86] perf/amd/uncore: Replace manual sampling check with CAP_NO_INTERRUPT flag (Michael Petlan) [1818841] - [x86] perf/x86/intel: Fix inaccurate period in context switch for auto-reload (Michael Petlan) [1818841] - [x86] perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map (Michael Petlan) [1818841] - [x86] perf/x86/msr: Add Tremont support (Michael Petlan) [1818841] - [x86] perf/x86/cstate: Add Tremont support (Michael Petlan) [1818841] - [x86] perf/x86/intel: Add Elkhart Lake support (Michael Petlan) [1818841] - [include] kernel/events: Add a missing prototype for arch_perf_update_userpage() (Michael Petlan) [1818841] - [x86] perf/x86/amd: Add support for Large Increment per Cycle Events (Michael Petlan) [1818841] - [x86] perf/x86/amd: Constrain Large Increment per Cycle events (Michael Petlan) [1818841] - [x86] perf/x86/intel/rapl: Add Comet Lake support (Michael Petlan) [1818841] - [x86] perf/x86/intel: Explicitly include asm/io.h to use virt_to_phys() (Michael Petlan) [1818841] - [x86] x86/cpu: Add Elkhart Lake to Intel family (Michael Petlan) [1818841] - [x86] x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode (David Arcari) [1837490] - [x86] x86/intel: Disable HPET on Intel Ice Lake platforms (David Arcari) [1837490] - [x86] x86/timer: Force PIT initialization when !X86_FEATURE_ARAT (David Arcari) [1837490] - [x86] x86/timer: Skip PIT initialization on modern chipsets (David Arcari) [1837490] - [x86] x86/apic: Rename 'lapic_timer_frequency' to 'lapic_timer_period' (David Arcari) [1837490] - [x86] x86/apic: Unify duplicated local apic timer clockevent initialization (David Arcari) [1837490] - [vhost] vsock: kick send_pkt worker once device is started (Stefano Garzarella) [1835651] - [tools] redhat: update kvm/{arm, arm64} headers in tools (Gavin Shan) [1833572] - [tools] kvm: selftests: aarch64: Use stream when given (Gavin Shan) [1833572] - [virt] kvm: arm64: Fix 32bit PC wrap-around (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-v4: Initialize GICv4.1 even in the absence of a virtual ITS (Gavin Shan) [1833572] - [arm64] kvm: arm64: Save/restore sp_el0 as part of __guest_enter (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi() (Gavin Shan) [1833572] - [virt] kvm: arm64: vgic-v3: Retire all pending LPIs on vcpu destroy (Gavin Shan) [1833572] - [virt] kvm: arm: vgic-v2: Only use the virtual state when userspace accesses pending bits (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Only use the virtual state when userspace accesses enable bits (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Synchronize the whole guest on GIC{D, R}_I{S, C}ACTIVER read (Gavin Shan) [1833572] - [virt] kvm: arm64: psci: Forbid 64bit functions for 32bit guests (Gavin Shan) [1833572] - [virt] kvm: arm64: psci: Narrow input registers when using 32bit functions (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Update effective affinity of virtual SGIs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add support for VPENDBASER's Dirty+Valid signaling (Gavin Shan) [1833572] - [virt] kvm: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Expose HW-based SGIs in debugfs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Eagerly vmap vPEs (Gavin Shan) [1833572] - [arm64] kvm: arm64: gicv4.1: Allow non-trapping WFI when using HW SGIs (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add VSGI property setup (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Reload VLPI configuration on distributor enable/disable (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add VSGI allocation/teardown (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Plumb SGI implementation selection in the distributor (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Move doorbell management to the GICv4 abstraction layer (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Allow SGIs to switch between HW and SW interrupts (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb set_vcpu_affinity SGI callbacks (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Add direct injection capability to SGI registers (Gavin Shan) [1833572] - [virt] kvm: arm64: gicv4.1: Let doorbells be auto-enabled (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb get/set_irqchip_state SGI callbacks (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb mask/unmask SGI callbacks (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Add initial SGI configuration (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Plumb skeletal VSGI irqchip (Gavin Shan) [1833572] - [irqchip] gic-v3: Move irq_domain_update_bus_token to after checking for NULL domain (Gavin Shan) [1833572] - [kernel] irqchip/gic-v4: Use Inner-Shareable attributes for virtual pending tables (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Map the ITS SGIR register page (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Advertise support v4.1 to KVM (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Ensure mutual exclusion betwen invalidations on the same RD (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Wait for completion of redistributor's INVALL operation (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Ensure mutual exclusion between vPE affinity change and RD access (Gavin Shan) [1833572] - [irqchip] gic-v4.1: Skip absent CPUs while iterating over redistributors (Gavin Shan) [1833572] - [irqchip] gic-v3: Use SGIs without active state if offered (Gavin Shan) [1833572] - [irqchip] gic-v4: Provide irq_retrigger to avoid circular locking dependency (Gavin Shan) [1833572] - [irqchip] gic-v3-its: Probe ITS page size for all GITS_BASERn registers (Gavin Shan) [1833572] - [irqchip] gic-v3-its: Fix access width for gicr_syncr (Gavin Shan) [1833572] - [documentation] kvm: arm/arm64: Always capitalize ITS (Gavin Shan) [1833572] - [nvme] nvme-pci: align io queue count with allocted nvme_queue in nvme_probe (Gopal Tiwari) [1837824] - [rtc] rtc: cmos: Stop using shared IRQ (Pingfan Liu) [1829667]- [netdrv] enic: prevent waking up stopped tx queues over watchdog reset (Govindarajulu Varadarajan) [1797807] - [kernel] crash_core: Increase crashkernel=auto size for x86_64 & S390 (Kairui Song) [1746644] - [netdrv] net: iavf: reject unsupported coalescing params (Stefan Assmann) [1781341] - [netdrv] iavf: Enable support for up to 16 queues (Stefan Assmann) [1781341] - [netdrv] iavf: use tc_cls_can_offload_and_chain0() instead of chain check (Stefan Assmann) [1781341] - [netdrv] treewide: Use sizeof_field() macro (Stefan Assmann) [1781341] - [netdrv] i40e: Remove unneeded conversion to bool (Stefan Assmann) [1781334] - [netdrv] net: i40e: reject unsupported coalescing params (Stefan Assmann) [1781334] - [netdrv] intel: Replace zero-length array with flexible-array member (Stefan Assmann) [1781334] - [netdrv] i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps (Stefan Assmann) [1781334] - [netdrv] i40e: fix spelling mistake "to" -> "too" (Stefan Assmann) [1781334] - [netdrv] i40e: Set PHY Access flag on X722 (Stefan Assmann) [1781334] - [netdrv] i40e: Fix virtchnl_queue_select bitmap validation (Stefan Assmann) [1781334] - [netdrv] i40e: Removing hung_queue variable to use txqueue function parameter (Stefan Assmann) [1781334] - [netdrv] treewide: Use sizeof_field() macro (Stefan Assmann) [1781334] - [netdrv] i40e: need_wakeup flag might not be set for Tx (Stefan Assmann) [1781334] - [netdrv] i40e: Fix receive buffer starvation for AF_XDP (Stefan Assmann) [1781334] - [netdrv] i40e: fix potential RX buffer starvation for AF_XDP (Stefan Assmann) [1781334] - [block] null_blk: Fix changing the number of hardware queues (Ming Lei) [1835602] - [block] block: reset mapping if failed to update hardware queue count (Ming Lei) [1835602] - [block] block: alloc map and request for new hardware queue (Ming Lei) [1835602] - [block] block: save previous hardware queue count before udpate (Ming Lei) [1835602] - [block] block: free both rq_map and request (Ming Lei) [1835602] - [block] blk-mq: Fix a recently introduced regression in blk_mq_realloc_hw_ctxs() (Ming Lei) [1835602] - [documentation] Documentation: admin-guide: PM: Add intel_idle document (Steve Best) [1485545] - [idle] intel_idle: Use ACPI _CST on server systems (Steve Best) [1485545] - [idle] intel_idle: Add module parameter to prevent ACPI _CST from being used (Steve Best) [1485545] - [idle] intel_idle: Allow ACPI _CST to be used for selected known processors (Steve Best) [1485545] - [idle] intel_idle: Use ACPI _CST for processor models without C-state tables (Steve Best) [1485545] - [idle] intel_idle: Refactor intel_idle_cpuidle_driver_init() (Steve Best) [1485545] - [infiniband] RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj (Kamal Heib) [1786608] - [infiniband] RDMA/uverbs: Do not discard the IB_EVENT_DEVICE_FATAL event (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix double put of resource (Kamal Heib) [1786608] - [infiniband] IB/core: Fix potential NULL pointer dereference in pkey cache (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Fix another case where pq is left on waitlist (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix race between destroy and release FD object (Kamal Heib) [1786608] - [infiniband] IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() (Kamal Heib) [1786608] - [infiniband] RDMA/core: Fix overwriting of uobj in case of error (Kamal Heib) [1786608] - [infiniband] RDMA/core: Prevent mixed use of FDs between shared ufiles (Kamal Heib) [1786608] - [infiniband] RDMA/uverbs: Fix a race with disassociate and exit_mmap() (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix an error check in cm_alloc_id_priv() (Kamal Heib) [1786608] - [net] svcrdma: Fix trace point use-after-free race (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Call kobject_put() when kobject_init_and_add() fails (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Use scnprintf() for avoiding potential buffer overflow (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Remove kobj from hfi1_devdata (Kamal Heib) [1786608] - [infiniband] IB/rdmavt: Delete unused routine (Kamal Heib) [1786608] - [infiniband] RDMA/rxe: Fix configuration of atomic queue pair attributes (Kamal Heib) [1786608] - [infiniband] IB/hfi1: Fix memory leaks in sysfs registration and unregistration (Kamal Heib) [1819051 1786608] - [net] svcrdma: Fix leak of transport addresses (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Suppress uninitialized var warning (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Add missing locking around id.state in cm_dup_req_handler (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Read id.state under lock when doing pr_debug() (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Remove a race freeing timewait_info (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix checking for allowed duplicate listens (Kamal Heib) [1786608] - [infiniband] RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() (Kamal Heib) [1786608] - [net] svcrdma: Fix double svc_rdma_send_ctxt_put() in an error path (Kamal Heib) [1786608] - [infiniband] RDMA/core: Remove the duplicate header file (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix passive connection establishment (Kamal Heib) [1786608] - [infiniband] RDMA/ucma: Put a lock around every call to the rdma_cm layer (Kamal Heib) [1786608] - [infiniband] RDMA/siw: Fix setting active_{speed, width} attributes (Kamal Heib) [1798583 1786608] - [scsi] qla2xxx: Update driver version to 10.01.00.25.08.3-k (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Delete all sessions before unregister local nvme port (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: make 1-bit bit-fields unsigned int (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix MPI failure AEN (8200) handling (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Move free of fcport out of interrupt context (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix I/Os being passed down when FC device is being deleted (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Set Nport ID for N2N (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Handle NVME status iocb correctly (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Remove restriction of FC T10-PI and FC-NVMe (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Serialize fc_port alloc in N2N (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix NPIV instantiation after FW dump (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Force semaphore on flash validation failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: add more FW debug information (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Update BPM enablement semantics (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use a dedicated interrupt handler for 'handshake-required' ISPs (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Return appropriate failure through BSG Interface (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix FCP-SCSI FC4 flag passing error (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add 16.0GT for PCI String (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use QLA_FW_STOPPED macro to propagate flag (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add fixes for mailbox command (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix control flags for login/logout IOCB (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Save rscn_gen for new fcport (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use correct ISP28xx active FW region (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use endian macros to assign static fields in fwdump header (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add endianizer macro calls to fc host stats (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use get_unaligned_*() instead of open-coding these functions (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Improve readability of the code that handles qla_flt_header (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix mtcp dump collection failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix stuck session in GNL (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix RIDA Format-2 (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Consolidate fabric scan (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Correct fcport flags handling (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix stuck login session using prli_pend_timer (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use common routine to free fcport struct (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add D-Port Diagnostic reason explanation logs (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix update_fcport for current_topology (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Cleanup unused async_logout_done (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add a shadow variable to hold disc_state history of fcport (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix fabric scan hang (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Remove defer flag to indicate immeadiate port loss (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Add debug dump of LOGO payload and ELS IOCB (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Don't defer relogin unconditonally (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Send Notify ACK after N2N PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Configure local loop for N2N target (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Don't call qlt_async_event twice (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Allow PLOGI in target mode (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Change discovery state before PLOGI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Drop superfluous INIT_WORK of del_work (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Initialize free_work before flushing it (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Use explicit LOGO in target mode (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Ignore NULL pointer in tcm_qla2xxx_free_mcmd (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: unregister ports after GPN_FT failure (Nilesh Javali) [1789526] - [scsi] scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan (Nilesh Javali) [1789526] - [s390] s390/kexec_file: fix initrd location for kdump kernel (Lianbo Jiang) [1835097]- [sound] ALSA: ALSA - update sound configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: Revert "ALSA: Use the legacy HDA driver as default for Intel DSP platforms" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: IPC: dai-intel: move ALH declarations in header file (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: add core id to sof_ipc_comp (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: bump the version (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add alac & ape decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: Add wma decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add wma codec profiles (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove X86 dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: depend on ACPI || OF (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: depend on ACPI (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix regmap dependencies and align with other serial links (Jaroslav Kysela) [1797509] - [sound] ALSA: treewide: Add SPDX license identifier - Makefile/Kconfig (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix kconfig help format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Kconfig: fix help format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove useless prototypes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: Switch to use fwnode_property_count_uXX() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: don't program ports when a stream that has not been prepared (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix support for multiple Slaves on the same link (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: do not update parameters during DISABLED-PREPARED transition (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: only prepare stream when it is configured (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: update state machine and add state checks (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: Ensure that code is inside the code blocks (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: fix stream.rst markup warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: Documentation: soundwire: Add documentation for multi link (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove redundant pr_err traces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove unnecessary variable initializations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix disable sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix bad unlock balance (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: use sdw_write instead of update (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix PDI/stream mapping for Bulk (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus_type: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: export helpers to find row and column values (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: check first if Slaves become UNATTACHED (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: Add read_only_wordlength flag to port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix device number leak on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: track unattach_request to handle all init sequences (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add initialization_complete definition (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add enumeration_complete structure (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: sdw_slave: add probe_complete structure and new fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove bitfield for unique_id, use u8 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: make stream name a const pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Add compute_params callback (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: provide correct return value on error (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add helper macros for devID fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: don't treat CMD_IGNORED as error on ClockStop (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add clock stop helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix io error when processing alert event (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: avoid multiple assignments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: disable pm_runtime in sdw_slave_delete (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add helper to clear Slave status to UNATTACHED (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: write Slave Device Number without runtime_pm (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: add PM/no-PM versions of read/write functions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: improve dynamic debug comments for enumeration (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: split handling of Device0 events (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with initialization_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with enumeration_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix race condition with probe_complete signaling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: ignore uniqueID when irrelevant (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: add helper to extract slave ID (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: fix scanf format (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: slave: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: core: add device tree support for slave devices (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: set initial value to port_status (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: clear FIFO to avoid pop noise issue on playback start (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: multi-link support (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: commit changes in the exit_reset() sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove automatic command retries (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove PREQ_DELAY assignment (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: enable NORMAL operation in cdns_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: reorder MCP_CONFIG settings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: make SSP interval programmable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: move clock/SSP related inits to dedicated function (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: merge routines to clear/set bits (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: mask Slave interrupt before stopping clock (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: fix a io timeout issue in S3 test (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: add clock_stop/restart routines (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: handle error cases with CONFIG_UPDATE (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: add interface to check clock status (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: simplifiy cdns_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: s/update_config/config_update (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: fix kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove useless variable incrementation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: update kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: handle multiple status reports per Slave (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: remove config update for interrupt setting (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: log more useful information during timeouts (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: clear interrupt status before enabling interrupt (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: filter out bad interrupts (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: make clock stop exit configurable on init (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: free all resources on hw_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add sdw_stream_setup helper for .startup callback (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add trigger support in sdw dai driver (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add prepare support in sdw dai driver (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: rename res field as link_res (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix factor of two in MCLK handling (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: update stream callbacks for hwparams/free stream operations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: update interfaces between ASoC and SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix typo in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: use correct header for io calls (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: add kernel module parameter to filter out links (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: add checks on link numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: filter SoundWire controller device search (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove empty line after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel_init: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add helper for initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix intel_register_dai PDI offsets and numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel/cadence: add flag for interrupt enable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove playback/capture stream_name (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove DAI_ID_RANGE definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add missing headers for cross-compilation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: handle disabled links (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: add debugfs register dump (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: more alignment fixes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add hw_reset capability in debugfs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel/cadence: fix startup sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: improve PDI allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: don't filter out PDI0/1 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence/intel: simplify PDI/port mapping (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add debugfs register dump (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: move shutdown() callback and don't export symbol (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix alignment issues in header files (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix SPDX license for header files (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: add kernel parameter to override interrupt mask (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix divider setting in clock register (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: make use of mclk_freq property (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: use firmware defaults for frame shape (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: revisit interrupt settings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix definitions for INTSTAT0/1 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix register definition for SLAVE_STATE (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: simplify bus clash interrupt clear (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: check the number of bidir PDIs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: log Slave status mask on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: use rate_limited dynamic debug (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: remove spurious newline (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: balance parentheses (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence_master: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cdns: Fix compilation error on arm64 (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: cadence: remove empty line after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: read mclk_freq property from firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix channel number reported by hardware (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: prevent possible dereference in hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: remove BIOS work-arounds (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: set dai min and max channels correctly (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: Intel: add log for number of PCM and PDM PDIs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add debugfs support (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add new mclk_freq field for properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: include mod_devicetable.h to avoid compiling warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: rename/clarify MIPI DisCo properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: clarify comment (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi-disco: fix clock stop modes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi-disco: remove master_count property for masters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove master data port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add port-related definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: wrap macro argument in parenthesis (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: rename 'freq' fields (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix master/link error (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: mipi_disco: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix out of boundary access on port properties (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add a blank line between functions (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix more typos (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: more alignment fixes (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove empty line before/after braces (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: add missing newlines in dynamic debug logs (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: stream: remove useless initialization of local variable (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix boolean comparison (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: protect macro parameters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix implicit header use of module.h/export.h (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: intel: fix inversion in devm_kcalloc parameters (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: remove spurious newline (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix boolean comparisons (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: remove useless parentheses (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix typos in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: bus: fix alignment issues (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: remove useless initializations (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: fix SPDX license for header files (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: Add SNDRV_PCM_INFO_BATCH flag (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support for ALAC and APE decoders (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support to wma decoder (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: only enable dais from device tree (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support for alac and ape configs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support to wma config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: pass codec profile to q6asm_open_write (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6routing: remove default routing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: Allow the MCDT driver to build into modules (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: lpass-platform: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: common: Silence duplicate parse error messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: handle soundwire stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Update dependencies for Arizona machine drivers (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: qcom: add support for get_sdw_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soundwaire: qcom: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: soundwire: qcom: add support for SoundWire controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: Fix build after removal of DAI suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Silence warnings during deferred probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: fsi: Restore devm_ioremap() alignment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: dma: set bus width to data width for monaural data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix "status check failed" spam for multi-SSI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: i2s: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix sai probe (Jaroslav Kysela) [1797509] - [sound] ALSA: soc/stm/stm32_sub_sai: Add missing '\n' in log messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: Add missing cleanup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix regmap status check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: improve error management on probe deferral (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: manage error when getting reset controller (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sun8i-codec: Remove unused dev from codec struct (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: tegra_wm8903: Support DAPM events for built-in microphone (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: remove redundant assignment to variable ret (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for platforms using UDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: Add udma-pcm platform driver for UDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: zte: zx-spdif: remove redundant dev_err message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: zte: zx-tdm: remove redundant variables dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: apq8016_sbc: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mxs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: use SND_SOC_DAPM_PINCTRL in TDM out (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: apply some refactors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: pull TDM GPIO pins down when probed (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: change supported formats of DL2 and UL1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219: add speaker switch (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650: support HDMI jack reporting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add support for the JZ4770 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add support for the JZ4760 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Avoid passing enum as match data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Add local dev variable in probe function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Use of_device_get_match_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740-i2s: Fix divider written at incorrect offset in register (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card-utils: use for_each_pcm_streams() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: Add support for codec2codec DAI links (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_asrc_dma: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-i2s: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: Fix pointer cast warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: brcm: Add DSL/PON SoC audio driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mchp-i2s-mcc: make signed 1 bit bitfields unsigned (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Allow I2S wake event after ACP is powerd On (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x-pcm-dma: clean up two indentation issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: AMD: Clear format bits before setting them (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Adding TDM support in hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix button configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: amd: acp3x: Add missing include (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix compile warning of argument type (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: amd: Add DMIC switch capability to machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Add machine driver for Raven based platform (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Fix potential NULL dereference (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply async workaround for Scarlett 2i4 2nd gen (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use pcm_for_each_format() macro for PCM format iterations (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix missing braces in some struct inits (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add connector notifier delegation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Check mapping at creating connector controls, too (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add mixer workaround for TRX40 and co (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't create jack controls for PCM terminals (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't override ignore_ctl_error value from the map (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Filter error from connector kctl ops, too (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix mixer controls' USB interface for Kingston HyperX Amp (0951:16d8) (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Parse source ID of UAC2 effect unit (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: audio-v2: Add uac2_effect_unit_descriptor definition (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Don't create a mixer element with bogus volume range (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-midi: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Fix POD HD500 audio playback (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Fix endless MIDI read loop (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add support for Presonus Studio 1810c (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add support for MOTU MicroBook IIc (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Inform devices that need delayed registration (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add delayed_register option (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Rewrite registration quirk handling (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8) (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd9335: fix address map representation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Remove some unnecessary NULL checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: remove unused headers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: fix High Accuracy Buck enable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Remove set but not unused variable 'hph_comp_ctrl7' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm0010: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8960: Fix wrong clock after suspend & resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: wsa881x: remove soundwire stream handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: wsa881x: request gpio direction before setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wsa881x: mark read_only_wordlength flag (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8974: remove unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Use scnprintf() for the limited buffer output (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas571x: disable regulators on failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fixed incorrect amp_level setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add support for ISENSE and VSENSE (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add entries for the TAS2563 audio amplifier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Add support for digital volume control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: Fix VAG power-on handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: modify some structure to be static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm89xx: Add missing dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix unmet dependencies (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply misc fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau7118: Fix Kconfig warning without CONFIG_I2C (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply I2C fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix SND_SOC_ALL_CODECS imply SPI fallout (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682-sdw: fix 'defined but not used' pm functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Make rt5682_clock_config static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Fix build error without CONFIG_I2C (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: move DAI clock registry to I2S mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add a property for DMIC delay (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add a property for DMIC clock rate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: remove noisy debug messages (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix the random recording noise of headset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Fine tune the HP performance in soundwire mode (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Revise the DAC1 volume setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Revise the function name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add the soundwire support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Use imply for SND_SOC_ALL_CODECS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add CCF usage for providing I2S clks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Enable PLL2 function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: Add the field "is_sdw" of private data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5659: remove redundant assignment to variable idx (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Add platform-data for Medion E1239T (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: use slot and rx_mask to configure stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: add set_tdm_slot() support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: fix typo for bypass boost control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rl6231: Add new supports on rl6231 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: Make RK3328 GPIO_MUTE control explicit (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: MT6660: make spdxcheck.py happy (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: MT6660 update to 1.0.8_G (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98357a: Add ACPI HID MAX98360A (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98357a: move control of SD_MODE to DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: hdac_hdmi: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cs4270: pull reset GPIO low then high (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: allow operation without i915 gfx (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: fix ordering bug in resume flow (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop quirks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Account for compress streams when servicing IRQs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix stream cleanup on hw free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: clear the IPC ack bit after FW_PURGE done (Jaroslav Kysela) [1797509] - [sound] ALSA: Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt handlers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add SoundWire configuration interface (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Expose SDnFMT helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Fix probe point getter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pcm: skip DMA buffer pre-allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Turn "firmware boot complete" message into a dbg message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: ipc: check ipc return value before data copy (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: sof-audio: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Do not reset hw_params for streams that ignored suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: audio: Add helper to check if only D0i3 streams are active (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add i.MX8QM device descriptor (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Remove SOF_IPC_EXT_DMA_BUFFER (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Make sof_ipc_ext_data enum more rigid (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix uninitialised "work" with VirtIO (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: (cosmetic) use for_each_pcm_streams() in sof_dai_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: connect dai widget to all cpu-dais (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: remove unnecessary ROM IPC filter function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-dai: add stream capability (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing capabilities (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: call codec wake at chip init (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: do not leave clock gating off upon error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: disable SoundWire interrupts on suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Improve DSP state logging (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: use snd_sof_dsp_set_power_state() op (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Allow trace DMA in S0 when DSP is in D0I3 for debug (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Amend the DSP state transition diagram (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: cnl: Implement feature to support DSP D0i3 in S0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: remove unnecessary waitq before loading firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add min/max channels for SSP on Baytrail/Broadwell (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: remove SND_SOC_SOF_HDA_COMMON_HDMI_CODEC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Probe compress operations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix Kconfig indentation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: Add ops for i.MX8QM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Rename i.MX8 platform to i.MX8X (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Provide probe debugfs support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Move DSP power state transitions to platform-specific ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pm: Introduce DSP power states (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pm: Unify suspend/resume routines (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Add Probe compress CPU DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Generic probe compress operations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Implement Probe IPC API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_da7219_max98927: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: cml_rt1011_rt5682: use for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: haswell: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: BXT: switch pcm512x based boards to sof_pcm512x (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: CHT: add support for pcm512x boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: soc-acpi-intel-icl-match: remove useless 'rt1308_2_adr' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: soc-acpi-intel-cml-match: remove useless 'rt1308_2_adr' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: drop reverse deps for SND_HDA_CODEC_HDMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Add support for tgl-max98373-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Add rt1015 speaker amp support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: drop reverse deps for SND_HDA_CODEC_HDMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: add sof_sdw machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: soc-acpi: update topology and driver name for SoundWire platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: Add mach table for tgl-max98373-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: expand description of _ADR-based devices (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Await purge request ack on CNL (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Allow for ROM init retry on CNL platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skylake: (cosmetic) remove redundant variable initialisations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Enable codec wakeup during chip init (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Select hda configuration permissively (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Remove superfluous chip initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Shield against no-NHLT configurations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_da7219_max98373: Add speaker switch (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_da7219_max98373: Add support for max98360a speaker amp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: disable route checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Make glk+rt5682 echo ref dynamic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: don't use GFP_ATOMIC for machine driver contexts (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: Revert back SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Revert SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: Remove ignore_suspend flag from SSP0 dai link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: Revert SSP0 link to use dummy components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: (cosmetic) simplify structure member access (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Fix uninitialized variable compiler warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: mrfld: return error codes when an error occurs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: make HDMI optional for all platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_pcm512x: add support for SOF platforms with pcm512x (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: mrfld: fix incorrect check on p->sink (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Check drv->lock is locked in sst_fill_and_send_cmd_unlocked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use scnprintf() for string truncation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Allow setting preallocation again for x86 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix endianness issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_dai_config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of pcm_new_ver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Add missing memory checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check soc_tplg_add_route return value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_*_create (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value of soc_tplg_create_tlv (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: use name_prefix for new kcontrol (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Perform component check upfront (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix regwmask (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Remove dapm_connect_dai_link_widgets helper (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Move error message to avoid some duplication (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: select sleep_state when initializing PINCTRL widget (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: connect virtual mux with default value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: fixup dapm kcontrol widget (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: revert all changes to DAI startup/shutdown sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: fix DAI startup/shutdown sequence (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: return proper error for get_sdw_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dai: add get_sdw_stream() callback (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: export DPCM runtime update functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dpcm: allow start or stop during pause for backend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: (cosmetic) simplify dpcm_prune_paths() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge for_each_rtd_cpu/codec_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge CPU/Codec for soc_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Fix regression introducing multiple copies of DAI widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Merge CPU/Codec DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add for_each_card_widgets() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add for_each_card_dapms() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: remove non plural form for_each_xxx macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: add for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc: use for_each_rtd_codecs/cpus_dai() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: disable route checks for legacy devices (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add initial support for multiple CPU DAIs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix card registration regression (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: don't use rtd->cpu_dai on for_each_rtd_cpu_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add multiple CPU DAI support in DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add dapm_add_valid_dai_widget helper (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Do Digital Mute for both CPU/Codec in same timing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: check DAI's activity more simply (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: tidyup dulicate handing at dpcm_fe_dai_startup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use snd_soc_dai_get_pcm_stream() at dpcm_set_fe_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add dpcm_fe_dai_cleanup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dpcm_fe_dai_close() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Export parameter intersection logic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove duplicate be check from dpcm_add_paths() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use defined stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: check if cpu-dai supports a given stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Return error if the function does not support multi-cpu (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add multiple CPU DAI support for PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fix state tracking error in snd_soc_component_open/close() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dpcm_path_put() to soc-pcm.c (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: merge dpcm_run_new/old_update() into dpcm_fe_runtime_update() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dai_get_widget() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: cleanup soc_pcm_apply_msb() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dai_get_pcm_stream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: don't use snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dpcm: remove confusing trace in dpcm_get_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Fix possible buffer overflow in dpcm state sysfs output (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use for_each_pcm_streams() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: merge playback/cature_active into stream_active (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use goto and remove multi return (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_dpcm_can_be() and remove duplicate code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove snd_soc_dpcm_be_get/set_state() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove soc_dpcm_be_digital_mute() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dpcm_get_be() at dpcm_end_walk_at_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dai_get_widget() at dpcm_end_walk_at_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: use dai_get_widget() at dpcm_get_be() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move dai_get_widget() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fix regression in soc_new_pcm() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: tidyup soc_pcm_open() order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: move soc_pcm_close() next to soc_pcm_open() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: adjustment for DAI member 0 reset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: call snd_soc_component_open/close() once (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: don't use bit-OR'ed error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: use snd_soc_dapm_stream_stop() for SND_SOC_DAPM_STREAM_STOP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add for_each_dapm_widgets() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add snd_soc_runtime_action() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: call snd_soc_dai_startup()/shutdown() once (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: ensure component names are unique (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: allow a dt node to provide several components (Jaroslav Kysela) [1797509] - [sound] ALSA: emu8000: Fix the cast to __user pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: shut up gcc-10 range warning (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: Add missing annotation for tscm_hwdep_read_queue() (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: Add missing annotation for tscm_hwdep_read_locked() (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: use KBUILD_MODNAME for struct driver.name instead of string (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Fix endianness annotations (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: remove redundant assignment to variable err (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: fix if-statement empty body warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Fix invalid access for enumerated ctl items (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add new codec supported for ALC245 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix unexpected init_amp override (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset mic on Asus FX505DT (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for MSI GL63 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add HP new mute led supported for ALC236 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add supported new mute Led for HP (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - a fake key event is triggered by running shutup (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek: Enable mute LED on an HP system (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek: Fix pop noise on ALC225 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Move ELD parse and jack reporting into update_eld() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Move runtime PM resume into hdmi_present_sense_via_verbs() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Don't use standard hda_jack for generic HDMI jacks (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Reduce hda_jack_tbl lookup at unsol event handling (Jaroslav Kysela) [1797509] - [sound] ALSA: drm/nouveau: Fix regression by audio component transition (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: fix without unlocked before return (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: fix race in monitor detection during probe (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi: Add module option to disable audio component binding (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA X99 Classified motherboard (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Match both PCI ID and SSID for driver blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Remove ASUS ROG Zenith from the blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: call runtime_allow() for all hda controllers (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Keep the controller initialization even if no codecs found (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Release resources at error in delayed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Don't release card at firmware loading error (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add driver blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: remove redundant assignment to variable timeout (Jaroslav Kysela) [1797509] - [sound] ALSA: hda_codec: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Always use jackpoll helper for jack update after resume (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Skip controller resume if not needed (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix potential access overflow in beep helper (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: default enable CA0132 DSP support (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Fix endianness annotations (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Remove unnecessary cast in kfree (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: remove redundant variable capture_flag (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Use standard macros for fixing PCM format cast (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Fix PCM format assignment (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Use a macro for parameter masks to reduce the needed cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Minor refactoring (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: No need to take runtime reference twice in pcm_pointer (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: Consider DMA cache caused delay in pointer callback (Jaroslav Kysela) [1797509] - [sound] ALSA: dmaengine_pcm: Consider DMA cache caused delay in pointer callback (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm_dmaengine: Use pcm_for_each_format() macro for PCM format iteration (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Replace zero-length array with flexible-array member (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix superfluous snprintf() usage (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Place the plugin buffer overflow checks correctly (for 5.7) (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Fix regression by buffer overflow fix (again) (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Simplify plugin frame size calculations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Avoid plugin buffer overflow (Jaroslav Kysela) [1797509] - [sound] ALSA: info: remove redundant assignment to variable c (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Unlock mutex temporarily for sleeping at read/write (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Use standard macros for fixing PCM format cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add a standalone version of snd_pcm_limit_hw_rates (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: More helper macros for reducing snd_pcm_format_t cast (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm.h: add for_each_pcm_streams() (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Add snd_device_get_state() helper (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Implement compress page allocation and free routines (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Expand DMA buffer information (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Fix sparse warning (Jaroslav Kysela) [1797509] - [sound] ALSA: control: Fix incompatible protocol error (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: bump protocol version up to v2.1.0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: remove unused macro for timestamping of elem_value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: use __u32 instead of uint32_t in uapi headers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: uapi: remove unused sof header files (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Drop unneeded typedefs (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Add linux/types.h include back (but carefully) (Jaroslav Kysela) [1797509] - [sound] ALSA: hdspm: Drop linux/types.h inclusion in uapi header (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Spelling s/configr/configur/ (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fix for_rtd_codec_dai_rollback() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dpcm: tidyup for_each_dpcm_xx() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple_card_utils.h: Fix potential multiple redefinition error (Jaroslav Kysela) [1797509] - [sound] ALSA: rawmidi: Avoid bit fields for state flags (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Drop snd_dma_pci_data() macro (Jaroslav Kysela) [1797509] - [sound] ALSA: media: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: media: solo6x10: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: cs231xx: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: em28xx: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: delete unused proc_fs.h include (Jaroslav Kysela) [1797509] - [sound] ALSA: media: em28xx-audio: use GFP_KERNEL for memory allocation during init (Jaroslav Kysela) [1797509] - [sound] ALSA: media: go7007: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tm6000: Clean up ALSA PCM API usages (Jaroslav Kysela) [1797509] - [sound] ALSA: media: usbtv: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: solo6x10: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tw686x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: media: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1797509] - [sound] ALSA: media: tw686x: audio: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: Allow const arrays for legacy resource management helpers (Jaroslav Kysela) [1797509] - [sound] ALSA: pcmcia: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: pcmcia: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pdaudiocf: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: fix for Stanton SCS.1d (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: don't add MIDI/PCM interface when packet streaming is unavailable (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: fix return value in error path of isochronous resources reservation (Jaroslav Kysela) [1797509] - [sound] ALSA: oxfw: use ENXIO for not-supported cases (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire-motu: fix double unlocked 'motu->mutex' (Jaroslav Kysela) [1797509] - [sound] ALSA: fireface: fix return value in error path of isochronous resources reservation (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: loosen stream format check for MIDI conformant data channel (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: fix fallback from protocol extension into limited functionality (Jaroslav Kysela) [1797509] - [sound] ALSA: dice: add support for Alesis MasterControl (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: firewire: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: emux: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sparc: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply 48kHz fixed rate playback for Jabra Evolve 65 headset (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix UAC2/3 effect unit parsing (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix endianess in descriptor validation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: add implicit fb quirk for MOTU M Series (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: unlock on error in probe (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix sync-ep altsetting sanity check (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add boot quirk for MOTU M Series (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: update old-style static const declaration (Jaroslav Kysela) [1797509] - [sound] ALSA: bcd2000: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use lower hex numbers for IDs (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Constify struct snd_usb_audio_quirk entries (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Constify snd_ratden definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Constify snd_pcm_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix Corsair Virtuoso mixer label collision (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: fix set_format altsetting sanity check (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: set the interface format after resume on Dell WD19 (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: usx2y: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ua101: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: line6: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hiface: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix Focusrite Scarlett 6i6 gen1 - input handling (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix NULL dereference at parsing BADD (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Add skip_validation option (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix incorrect size check for processing/extension units (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix incorrect NULL check in create_yamaha_midi_quirk() (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: not submit urb for stopped endpoint (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Fix missing error check at mixer resolution test (Jaroslav Kysela) [1797509] - [sound] ALSA: ua101: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: hiface: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: caiaq: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: usb-audio: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: 6fire: Drop the dead code (Jaroslav Kysela) [1797509] - [sound] ALSA: usb: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: intel_hdmi: Remove dev_err() on platform_get_irq() failure (Jaroslav Kysela) [1797509] - [sound] ALSA: x86: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hdml-lpe-audio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: xen: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: atmel: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: arm: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: arm: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: wavefront: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sc6000: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: opti9xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3sa2: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: msnd: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cs423x: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4236: fix error return comparison of an unsigned integer (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8330: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8328: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: isa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xlnx: Use devm_platform_ioremap_resource() in xlnx_formatter_pcm_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: xtfpga-i2s: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xilinx: xlnx_formatter_pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: aio-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: txx9aclc: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: sdma-pcm: Add back the flags parameter for non standard dma names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: disable rx_fifo after disable stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tegra: add a TDM configuration callback (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sunxi: sun4i-codec: remove unneeded semicolon (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix race condition in irq handler (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: retry synchronization in sync state (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: manage rebind issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix possible circular locking (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: add restriction on mmap support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: fix sysclk management on shutdown (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: sai: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: dfsdm: fix 16 bits record (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm: stm32_adfsdm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sprd: sprd-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: ipc: Fix memory leak in sof_set_get_large_ctrl_data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: fix the CONFIG_ prefix missing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: utils: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-utils: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic-dmaengine-pcm: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: generic-dmaengine: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: do error check after rsnd_channel_normalization() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: dma: fix SSI9 4/5/6/7 busif dma address (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: fsi: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rcar: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: core.c: add WARN_ON() on rsnd_channel_normalization() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: add missing of_node_put() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Reinitialize bit clock inversion flag for every format setting (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: rsnd: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: siu_pcm: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: siu_pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dma-sh7760: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sh: dma-sh7760: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Use pr_warn instead of pr_warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: idma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: Rename Arndale card driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: arndale: Add support for WM1811 CODEC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: arndale: Simplify DAI link initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: Enable SHDN to fix headset detection (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip_max98090: Add HDMI jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rockchip_max98090: Optionally support HDMI use case (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6routing: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: lpass-platform: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: pxa2xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: pxa-ssp: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: poodle: Spelling s/enpoints/endpoints/, s/connetion/connection/ (Jaroslav Kysela) [1797509] - [sound] ALSA: spi: pxa2xx: No need to keep pointer to platform device (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pxa: mmp-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: g12a: add tohdmitx reset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: relax period size constraints (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: improve depth handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: axg-fifo: fix fifo threshold setup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: meson: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183: support WoV (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mt8183: fix audio playback slowly after playback during bootup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mtk-btcvsd: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: fix device remove ordering (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Remove unused match variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: fix IRQ error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: kirkwood: kirkwood-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: Drop lb60 board code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: fixup simple_dai_link_of_dpcm() comment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: audio-graph: fixup graph_dai_link_of_dpcm() comment (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: Fix noise when using EDMA (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Move static keyword to the front of declarations (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Fix error handling in probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: remove set but not used variable 'bclk' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_esai: Add spin lock to protect reset, stop and start (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: fix build failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: don't use snd_soc_rtdcom_lookup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: imx-pcm-fiq: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: mpc5200_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: fsl_asrc_dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8958: use to simplify code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic32x4: add a check for devm_clk_get (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd9335: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: tas2770: Remove unused defines and variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fix misuse of GENMASK macro (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt6358: support WoV (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-digital: add missing MIX2 path for RX1/2 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Add earpiece (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix RX1 selection in RDAC2 MUX (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: refine the setting of internal clock divider (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Fix error with S24_3LE format bitstream in i.MX8 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: update supported sample format (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Use in(out)put_format instead of in(out)put_word_width (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_mqs: Add MQS component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8994: Add support for MCLKn clock gating (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8994: Add support for setting MCLK clock rate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Fix sample rate error message (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Return invalid for when bitwidth is invalid (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2562: Introduce the TAS2562 amplifier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: clean up an indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: Fix snd_soc_update_bits error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tas2770: Remove unneeded read of the TDM_CFG3 register (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoc: tas2770: Fix build error without GPIOLIB (Jaroslav Kysela) [1797509] - [sound] ALSA: tas2770: fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: tas2770: add tas2770 smart PA kernel driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5663: clean up indentation issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5650: Add Kahlee platform specfic changes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Fix serial mode dependent format support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Use fixup instead of constraint for channels and formats (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: The codec does not support S32_LE (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: adau7118: Change regulators id (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: Add ADAU7118 8 Channel PDM-to-I2S/TDM Converter driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau1761: Add ALC controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: adau1761: Add PGA Slew time control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: cygnus-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: au1x: dbdma2: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel_ssc_dai: Remove wrong spinlock usage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: atmel-pcm-pdc: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: ACP needs to be powered off in BIOS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Additional DAI for I2S SP instance (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix simultaneous playback and capture (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x: Fix return value check in acp3x_dai_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: add ACP3x TDM mode support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Buffer Size instead of MAX Buffer (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Fix for Subsequent Playback issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd MMAP_INTERLEAVED Support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Added ACP3x system resume and runtime pm (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Handle ACP3x I2S-SP Interrupts (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Enabling I2S instance in DMA and DAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Refactoring of DAI from DMA driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp3x: clean up indentation issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: acp-pcm-dma: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8741: Fix typo in Kconfig prompt (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Fix snd_sof_ipc_stream_posn() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: modify pre-divider for sysclk (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: add operation callback function for rt1015_dai (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: tidyup snd_soc_pcm_component_sync_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: Correct DAPM handling of active widgets during shutdown (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Fix available clock counter incrementation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: don't use snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix memleak in soc_tplg_manifest_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Fix memleak in soc_tplg_link_elems_load() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl: Fix possible buffer overflow in debug outputs (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl: Fix pin debug prints (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sun8i-codec: Fix setting DAI data format (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: remove snd_soc_dapm_put_enum_double_locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: revert invalid fix for handling SHDN (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codec2codec: avoid invalid/double-free of pcm runtime (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: move i915 init earlier (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add system_suspend_target field to struct snd_sof_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: fix atmel_ssc_set_audio link failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: Fix exiting path on probing failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Add missing COMMON_CLK dependency to SND_SOC_ALL_CODECS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: Add missing COMMON_CLK dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: treewide: remove redundant IS_ERR() before error code check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add PCI ID for JasperLake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: Add __maybe_unused to PM callbacks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: consistent HDMI codec probing code (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: soc-acpi-intel-icl-match: fix rt715 ADR (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pci: add missing default_fw_name of JasperLake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: trace: fix unconditional free in trace release (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: release resources on errors in probe_continue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: free trace on errors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix an Oops, caused by invalid topology (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: do not disable i915 power during probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: refactor i915_get/put functions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: Remove unnecessary const (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: silence lockdep warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove null_snd_soc_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_trigger() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_hw_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_hw_params() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_prepare() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_shutdown() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: add soc_rtd_startup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1015: add rt1015 amplifier driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add MediaTek MT6660 Speaker Amp Driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dapm: add snd_soc_dapm_put_enum_double_locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: revert "ASoC: max98090: fix lockdep warning" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove bus_control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove DAI suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: ux500_msp_dai: remove unused DAI .suspend/.resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dwc: dwc-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: uniphier: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: omap-mcpdm: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sti: sti_uniperif: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: spdif: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: jz4740: jz4740-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cirrus: ep93xx-i2s: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: atmel_ssc_dai: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bcm: cygnus-ssp: move .suspend/.resume to component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: Fix error handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: crash in snd_soc_dapm_new_dai (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Remove code duplication in byt_rt5640_codec_fixup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Add MIC BIAS Internal3 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Simplify MIC BIAS Internal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: fix return value check in rt715_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: fix return value check in rt711_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: fix return value check in rt700_sdw_probe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Fix SKL dai count (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Correct cache handling of new kernel control API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: add multi endpoint support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_asrc: Add support for imx8qm & imx8qxp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sgtl5000: Fix VDDA and VDDIO comparison (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: Add jz4770-codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: remove unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcht_es8316: removed unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_rt286: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: skl_nau88l25_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASOC: Intel: kbl_rt5663_rt5514_max98927: remove useless initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5660: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: remove unnecessary initialization (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: test return value on route add (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: removed unused variables (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bxt_rt298: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: rename shadowed variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: remove warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: use dev_to_sdw_dev() instead of to_sdw_slave_device() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1308-sdw: add rt1308 SdW amplifier driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-digital: Reset RX interpolation path after use (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sti: fix possible sleep-in-atomic (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: Fix error in driver removal after failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: lower print level to dbg if we will reinit DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: reference SoundWire machine lists (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: support alternate list of machines (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for TGL w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for CNL/CFL/CML w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: add match tables for ICL w/ SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: soc-acpi: declare new tables for SoundWire (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: add _ADR-based link descriptors (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-acpi: add link_mask field (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix PCM playback through ALSA OSS emulation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5650: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: broadwell: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: change cpu_dai and platform components for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bdw-rt5677: fix Kconfig dependencies (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: remove unused including (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt715: add RT715 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: txx9: Remove unused rtd variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm/soc-compress: use snd_soc_dapm_stream_stop() for SND_SOC_DAPM_STREAM_STOP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-dapm: add snd_soc_dapm_stream_stop() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_close_delayed_work() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: do pinctrl_pm_select_xxx() as component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove duplicate pinctrl operation when suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: care .ignore_suspend for Component suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_rtdcom_add() to snd_soc_rtd_add_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt700: add rt700 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_rtdcom_list (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: Drop incorrectly applied duplicate commit (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt711: add rt711 codec driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: codecs: add wsa881x amplifier support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix lockdep warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix incorrect helper in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix incorrect helper in max98090_dapm_put_enum_double() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: gtm601: fix build warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: add dynamic debug trace (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: pci: change the default firmware path when the community key is used (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Fix NULL dereference at freeing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5640: Fix NULL dereference on module unload (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-topology: fix endianness issues (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: hda_dsp_common: use NULL pointer assignment, not 0 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Fix compile-testing RT1011/RT5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: use resource_size (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: amd: Create multiple I2S platform device endpoint (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: sdm845: add support to DB845c and Lenovo Yoga (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add audio routings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add capture dapm widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add playback dapm widgets (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add basic controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wcd934x: add support to wcd9340/wcd9341 codec (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: gtm601: add Broadmobi bm818 sound profile (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: remove unused variable 'constraints_16000' and 'ch_mono' (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: Update hdac hda dai table to include intel-hdmi-hifi4 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Add iDisp4 DAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx8: Fix dsp_box offset (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_audmix: add missed pm_runtime_disable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix input pin state management (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: stm32: spdifrx: fix inconsistent lock state (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Fix access to uninitialized list heads (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: Set dpcm_playback / dpcm_capture (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: Remove empty suspend function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Add Broadwell rt5650 machine driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: move arch_ops under ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: Read SAI parameters and send them to DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: Describe SAI parameters to be sent to DSP (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: fix incorrect HDMI Kconfig dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: drop HDA codec upon probe failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Add machine driver for da7219_max98373 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: log compiler name and version information (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: define struct with compiler name and version (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Introduce state machine for FW boot (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: remove references to Haswell (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: cml_rt1011_rt5682: fix codec_conf by removing legacy style (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: fix fault at driver unload after failed probe (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: compress: Add pm_runtime support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skylake: Remove superfluous bus ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove legacy style of codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: rx51: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: speyside: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: lowland: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: samsung: bells: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5676: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5514: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl_nau88l25_ssm4567: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_rt5663_rt5514_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_rt5663_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: kbl_da7219_max98927: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl: imx-audmix: use snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: support snd_soc_dai_link_component for codec_conf (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8962: fix lambda value (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Drop snd_soc_pcm_lib_ioctl() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: haswell: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: baytrail: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: xtensa: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup for CONFIG_DEBUG_FS (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup for CONFIG_DMI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_set_name_prefix() and soc_set_of_name_prefix() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: byt: fixup topology filename for BYT-CR (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: soc_set_name_prefix(): get component device_node at out of loop (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: soc_set_name_prefix(): tidyup loop condition (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename soc_link_init() to soc_init_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add missing return value check for soc_link_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_link_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename soc_link_dai_pcm_new() to soc_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_link_dai_pcm_new() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_remove_dai_link() to snd_soc_remove_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: rename snd_soc_add_dai_link() to snd_soc_add_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_find_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: find rtd via dai_link pointer at snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_get_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_get_dai_substream() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_disconnect_sync() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove dai_link_list (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc.h: dobj is used only when SND_SOC_TOPOLOGY (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: add SND_SOC_BYTES_E (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: add codec_mask module parameter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Add asynchronous sample rate converter topology support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: work-around incorrect ACPI HID for CML boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: split cht and byt debug window sizes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: fix snd_sof_fw_parse_ext_data (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: loader: snd_sof_fw_parse_ext_data log warning on unknown header (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: simple-card: Don't create separate link when platform is present (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value for soc_tplg_pcm_create() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: topology: Check return value for snd_soc_add_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: Explicitly include linux/io.h for virt_to_phys() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: nocodec: Amend arguments for sof_nocodec_setup() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Remove unused drv_name in sof_pdata (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: remove nocodec_fw_filename (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Make creation of machine device from SOF core optional (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: intel: hda: Modify signature for hda_codec_probe_bus() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: partition audio-related parts from SOF core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Introduce default_fw_filename member in sof_dev_desc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: move check for runtime callbacks to core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: core: modify the signature for snd_sof_create_page_table (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: sof: pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: remove snd_sof_init_topology() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove unnecessary string buffers and snprintf calls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: remove unused variable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel/skl/hda - export number of digital microphones via control components (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: set plugged_cb to NULL when component removing (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: re-introduce mutex locking again (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdmi-codec: drop mutex locking again (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fix soc-core.c kernel-doc warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: solve MSI issues by merging ipc and stream irq handlers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Improve the sysclk selection (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: cs42l51: add dac mux widget in codec routes (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: Calculate DALIGN inversion at run-time (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: Add Volume Soft Stepping control (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: save and restore SHDN when changing sensitive registers (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_sai: add IRQF_SHARED (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: Add HP output driver pop reduction controls (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: common: refine hw_params and hw_prepare (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: mediatek: common: add some helpers to control mtk_memif (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hdmi: Drop support for Icelake (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: make common HDMI driver default (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: common: Add mach table for tgl-max98357a-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: only flush inited work during free (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Init pcm runtime work early to avoid warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: sst: Add missing include (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: fix possible race conditions (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: exit workaround earlier if PLL is locked (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98090: remove msleep in PLL unlocked workaround (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: fix automatic sysclk configuration (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Fix build error without CONFIG_SPI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: Fix unload for SAI/ESAI (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: BYT: fix a copy/paste mistake in byt_dump() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: AMD: Enable clk in startup intead of hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix i2c arbitration lost issue (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: DMI long name - avoid to add board name if matches with product name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: improve the DMI long card code in asoc-core (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rsnd: fix DALIGN register for SSIU (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: component: Add sync_stop PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: Make ioctl ops optional (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: check symmetry before hw_params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Update the RST gpio handling to align with documentation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: add control components management (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: remove soc_pcm_private_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fixup dead-lock at snd_soc_unregister_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: fix RIP warning on card removal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: tidyup snd_soc_pcm_component_new/free() parameter (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Update quirk for Acer Switch 10 SW5-012 2-in-1 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm_adsp: Expose mixer control API (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: tlv320aic31xx: configure output common-mode voltage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix build break (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm3168a: Add support for optional RST gpio handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm5100: add missed pm_runtime_disable (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm2200: add missed operations in remove and probe failure (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm-dai: add support to flac decoder (Jaroslav Kysela) [1797509] - [sound] ALSA: compress: add flac decoder params (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: qcom: q6asm: add support to flac config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: rt5677_check_hotword() can be static (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: fix the charge pump capacitor discharges (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ti: davinci-mcasp: Use dma_request_chan() directly for channel request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: dmaengine: Use dma_request_chan() directly for channel request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: care card_probed at soc_cleanup_card_resources() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_unbind_card() next to snd_soc_bind_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Fixed typo for buddy jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: fix regcache handling (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_probe_aux_devices() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_bind_card() and snd_soc_instantiate_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_remove_component() and soc_cleanup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_remove_dai_link() and soc_unbind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_add_dai_link() and soc_bind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_unregister_dai() and soc_del_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_soc_register_dai() and soc_add_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove soc_is_dai_link_bound() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: free kcontrol memory on error (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: only suspend to D0I3 when needed (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: add helper to check if we should enter d0i3 suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: add check before setting d0_substate (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: PM: add state machine to comments (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: use fallback for firmware name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: acpi-match: split CNL tables in three (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5682: cancel jack_detect_work if hs_jack is set to null (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5645: Fixed buddy jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: wm8904: configure sysclk/FLL automatically (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic format constraint (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Add DA7213 audio codec as selectable option (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Wait for DSP to boot before loading firmware (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Set ADC clock to use PLL and enable ASRC (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bdw-rt5677: Turn on MCLK1 for DSP via DAPM (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Allow VAD to be shut on/off at all times (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Disable irq at suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Stop and restart DSP over suspend/resume (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add DAPM audio path for hotword stream (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Enable jack detect while DSP is running (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM device (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: fsl_audmix: Add spin lock to protect tdms (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5514-spi: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: set L1SEN on S0ix suspend (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: fix missing NULL pointer check (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: Fix bytes control size checks (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove topology specific operation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call snd_soc_register_dai() from snd_soc_register_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: don't call snd_soc_dapm_new_dai_widgets() at snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: have legacy_dai_naming at snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_unregister_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_unregister_dais() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_register_dai() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use snd_soc_lookup_component() at snd_soc_unregister_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_component_add/del() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_del_component_unlocked() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup snd_soc_lookup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move snd_soc_lookup_component() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add soc_unbind_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call soc_bind_dai_link() under snd_soc_add_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove duplicated soc_is_dai_link_bound() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: typo fix at soc_dai_link_sanity_check() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_init_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_init_dai_link() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add for_each_rtd_components() and replace (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove for_each_rtdcom_safe() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: Use different sequence for start/stop trigger (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: snd_soc_unbind_card() cleanup (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add snd_soc_pcm_lib_ioctl() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: setup card->rtd_num at snd_soc_instantiate_card() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use devm_xxx for component related resource (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add soc_setup_card_name() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove soc_remove_dai_links() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: use devm_kzalloc() for rtd (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: Clarify usage of ignore_machine (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove snd_soc_rtdcom_del_all() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: tidyup soc_new_pcm_runtime() alloc order (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: topology: set trigger order for FE DAI link (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm: update FE/BE trigger order based on the command (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: max98373: replace gpio_request with devm_gpio_request (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Skylake: mark HDAudio codec support as deprecated (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: use def_tristate, avoid using select (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF dependency (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Kconfig: add EXPERT dependency for developer options, clarify help (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: add mutual exclusion between SOF and legacy Baytrail driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: Baytrail: clarify mutual exclusion with Atom/SST driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: SOF: Intel: hda: Simplify the hda_dsp_wait_d0i3c_done() function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: Add acpi match for rt1011 based m/c driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: ux500: Remove redundant variable "status" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: hdac_hda: fix race in device removal (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: set the different setting for QFN/WLCSP package (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: some minor changes to improve readability (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: add the range check for temperature_calib from device property (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: remove unnecessary tabs using spaces instead (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: fix spelling mistake "temperture" -> "temperature" (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: Read and apply r0 and temperature device property (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: set tx/rx slots from tx/rx_mask in TDM case (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: improve the rt1011_set_dai_fmt() function (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt1011: remove redundant code in kcontrol (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: remove unneeded snd_soc_tplg_component_remove() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Load firmware via SPI using delayed work (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: fixup compile warning (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677-spi: fix sparse warnings (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add missing null check for failed allocation of rt5677_dsp (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: rt5677: Add a PCM device for streaming hotword via SPI (Jaroslav Kysela) [1797509] - [sound] ALSA: serial-u16550: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: opl4: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: oss: Constify snd_seq_oss_callback definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: opl3: Constify snd_opl3_drum_voice definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: mts64: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Constify snd_pcm_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Fix PCM format loop in proc output (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Fix dependency on timer API (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: do not override bus codec_mask in link_get() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Reset stream if DMA RUN bit not cleared (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: No preallocation on x86 platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Update kernel-doc function parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Comment about snd_hdac_bus_update_rirb() and spinlock (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Apply aligned MMIO access only conditionally (Jaroslav Kysela) [1797509] - [sound] ALSA: remove ioremap_nocache and devm_ioremap_nocache (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset of ASUS B9450FA with ALC294 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Button supported for ThinkPad X1 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Mic supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix a regression for mute led on Lenovo Carbon X1 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply quirk for yet another MSI laptop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply quirk for MSI GP63, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix silent output on MSI-GL73 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add more codec supported Headset Button (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Clear RIRB status before reading WP (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Fix DP-MST support for NVIDIA codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: Make the firmware loading ioctl a bit more readable (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Fix annotation and cast for the recent uapi header change (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add JasperLake PCI ID and codec vid (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add Clevo W65_67SB the power_save blacklist (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: fix spelling mistake "to" -> "too" (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add docking station support for Lenovo Thinkpad T420s (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Headset Mic supported for HP cPC (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/analog - Minor optimization for SPDIF mux connections (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: patch_hdmi: remove warnings with empty body (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: correct kernel-doc parameter descriptions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Manage concurrent reg access more properly (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: enable regmap internal locking (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix a typo in comments (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Disable regmap internal locking (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: patch_realtek: fix empty macro usage in if block (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Rename back to dmic_detect option (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: echoaudio: remove set but not used variable 'chip' (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Set EAPD control to default for ALC222 (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: ak4531: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: nm256: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: rme9652: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hdspm: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add new codec supported for ALCS1200A (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - constify and cleanup static NodeID tables (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_pci_quirk tables (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_pci_quirk tables (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Constify snd_fm801_tea575x_gpios (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Constify snd_es1968_tea575x_gpios (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Constify snd_emu_chip_details (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Constify snd_bt87x_boards (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Constify wm-specific tables (Jaroslav Kysela) [1797509] - [sound] ALSA: ice17xx: Constify snd_ice1712_card_info (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Constify snd_ca0106_details (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Constify snd_ca0106_category_str items (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Constify snd_ac97_res_table definition (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_kcontrol_new items (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Constify snd_vx_hardware and snd_vx_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: info: Make snd_info_entry_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: ac97: Treat snd_ac97_bus_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: Constify snd_timer_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Constify snd_pcm_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: constify copied structure (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Apply sync-write workaround to old Intel platforms, too (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: echoaudio: remove usage of dimen menber of elem_value structure (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - fix atpx_present when CLASS is not VGA (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Make uapi/emu10k1.h compilable again (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Add headset Mic no shutup for ALC283 (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Allow disabling MPU port via module option (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Downgrade error message for single-cmd fallback (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Fix regression by strip mask fix (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Fix work handling in delayed HP detection (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Avoid endless loop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Keep power on during processing DSP response (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Unify get_response handling (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use waitqueue for RIRB in HDA-core helper, too (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: tegra: Fix unused variable compile warning (Jaroslav Kysela) [1797509] - [sound] ALSA: hdsp: Make uapi/hdsp.h compilable again (Jaroslav Kysela) [1797509] - [sound] ALSA: vx222: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: pcxhr: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sonicvibes: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: sis7019: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme9652: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme96: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: oxygen: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: nm256: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: maestro3: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: lola: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: korg1212: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs5535audio: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs46xx: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: als300: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1889: Support PCM sync_stop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Fix duplicate unref of pci_dev (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: simplify get_audio_levels (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - Keep old slot assignment behavior for Intel platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Modify stream stripe mask only when needed (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - preserve non-MST PCM routing for Intel platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix kernel oops caused by invalid PCM idx (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix regression in connect list handling (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - enable automatic runtime pm for AMD HDMI codecs by default (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - enable runtime pm for newer AMD display audio (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Add new pci ids for AMD GPU display audio (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Clear codec->relaxed_resume flag at unbinding (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Move some alc236 pintbls to fallback table (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/realtek - Move some alc256 pintbls to fallback table (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add mute led support for HP ProBook 645 G4 (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST support for NVIDIA codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST support for non-acomp codecs (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Add DP-MST jack support (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - Rename snd_hda_pin_sense to snd_hda_jack_pin_sense (Jaroslav Kysela) [1797509] - [sound] ALSA: hda - remove forced polling workaround for CFL and CNL (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - remove redundant code comments (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix port numbering for ICL and TGL platforms (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/hdmi - Clean up Intel platform-specific fixup checks (Jaroslav Kysela) [1797509] - [sound] ALSA: au88x0: Fix incorrect device pointer for preallocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - fix pin setup on Tigerlake (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Add Cometlake-S PCI ID (Jaroslav Kysela) [1797509] - [sound] ALSA: rme32: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: hdmi - add Tigerlake support (Jaroslav Kysela) [1797509] - [sound] ALSA: hda/ca0132 - Fix possible workqueue stall (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Fix concurrent access to queue current tick/time (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Avoid concurrent access to queue flags (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix double hw_free calls (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix sparse warnings wrt snd_pcm_state_t (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix memory leak at closing a stream without hw_free (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Set per-card upper limit of PCM buffer allocations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Make snd_pcm_hw_constraints_init() and _complete() static (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Fix racy access for queue timer in proc read (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: fix nsec/sec initialization confusion (Jaroslav Kysela) [1797509] - [sound] ALSA: control: potential uninitialized return value (Jaroslav Kysela) [1797509] - [sound] ALSA: rawmidi: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: oss: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: jack: More constification (Jaroslav Kysela) [1797509] - [sound] ALSA: info: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: More constifications (Jaroslav Kysela) [1797509] - [sound] ALSA: control: Add verification for kctl accesses (Jaroslav Kysela) [1797509] - [sound] ALSA: mixer: oss: Constify snd_mixer_oss_assign_table definition (Jaroslav Kysela) [1797509] - [sound] ALSA: seq: Constify struct snd_midi_op (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Constify snd_timer_hardware definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: core: Treat snd_device_ops as const (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: allow TLV read operation for callback type of element in locked case (Jaroslav Kysela) [1797509] - [sound] ALSA: ctl: remove dimen member from elem_info structure (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Avoid possible info leaks from PCM stream buffers (Jaroslav Kysela) [1797509] - [sound] ALSA: control: remove useless assignment in .info callback of PCM chmap element (Jaroslav Kysela) [1797509] - [sound] ALSA: uapi: Fix typos and header inclusion in asound.h (Jaroslav Kysela) [1797509] - [sound] ALSA: bump uapi version numbers (Jaroslav Kysela) [1797509] - [sound] ALSA: add new 32-bit layout for snd_pcm_mmap_status/control (Jaroslav Kysela) [1797509] - [sound] ALSA: move snd_pcm_ioctl_sync_ptr_compat into pcm_native.c (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_ctl_elem_value (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_timer_tread (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_rawmidi_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_pcm_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Avoid using timespec for struct snd_timer_status (Jaroslav Kysela) [1797509] - [sound] ALSA: Replace timespec with timespec64 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-pcm: fixup dpcm_prune_paths() loop continue (Jaroslav Kysela) [1797509] - [sound] ALSA: ps3: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pmac: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ymfpci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: via82xx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: trident: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sonicvibes: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sis7019: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: riptide: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: oxygen: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: mixart: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: maestro3: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: lx6464es: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: lola: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: intel8x0: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1724: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ice1712: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: fm801: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es1938: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ens137x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: emu10k1x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ctxfi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cs5535: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cs4281: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cmipci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ca0106: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: bt87x: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: azt3328: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aw2: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atiixp: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: asihpi: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: als4000: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: parisc: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: wss: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: gus: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: sb: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es18xx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: es1688: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: cmi8330: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1816a: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcsp: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: atmel: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aaci: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aoa: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: echoaudio: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: es1968: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: rme: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: als300: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ali5451: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ad1889: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: hda: Use standard waitqueue for RIRB wakeup (Jaroslav Kysela) [1797509] - [sound] ALSA: pci: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: atom: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-mfld-platform-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-baytrail-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Drop superfluous snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: sst-haswell-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skylake: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: Avoid non-standard macro usage (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: intel: skl-pcm: remove snd_pcm_ops (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_ac97_bus_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Constify snd_device_ops definitions (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Drop superfluous ioctl PCM ops (Jaroslav Kysela) [1797509] - [sound] ALSA: ml403: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: vx: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: dummy: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: drivers: Remove superfluous snd_dma_continuous_data() (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Use managed buffer allocation (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Avoid pointer dereference before null-check (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Avoid unexpected timer event callback tasklets (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Remove redundant locking in timer open function (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support runtime change of snd_timer via info interface (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support selection of snd_timer instead of jiffies (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Move CABLE_VALID_BOTH to the top of file (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Rename all jiffies timer specific functions (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Use callback functions for timer specific implementations (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Support return of error code for timer start and stop (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Describe units of variables (Jaroslav Kysela) [1797509] - [sound] ALSA: aloop: Convert to the common vmalloc memalloc (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_free_pcm_runtime() and soc_rtd_free() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_new_pcm_runtime() and soc_rtd_init() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: create rtd->codec_dais first (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: call list_del(&rtd->list) at soc_free_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge soc_add_pcm_runtime() into soc_new_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: move soc_free_pcm_runtime() (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: use list_del_init and move it back to soc_cleanup_component (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: core: delete component->card_list in soc_remove_component only (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component: remove snd_pcm_ops from component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: add new pcm_construct/pcm_destruct (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-core: merge snd_pcm_ops member to component driver (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: soc-component.h: remove GPL explanation from header (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: oss: Avoid potential buffer overflows (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add card sync_irq field (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Add the support for sync-stop operation (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Move PCM_RUNTIME_CHECK() macro into local header (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Allow NULL ioctl ops (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Introduce managed buffer allocation mode (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed() (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix the breakage of slave link open (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Unexport snd_pcm_sgbuf_ops_page (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Yet another missing check of non-cached buffer type (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix possible race at assigning a timer instance (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Make snd_timer_close() returning void (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Unify master/slave linking code (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Fix incorrectly assigned timer instance (Jaroslav Kysela) [1797509] - [sound] ALSA: timer: Limit max amount of slave instances (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Create proc files only for non-empty preallocations (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Warn if doubly preallocated (Jaroslav Kysela) [1797509] - [sound] ALSA: pcm: Handle special page mapping in the default mmap handler (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Add vmalloc buffer allocation support (Jaroslav Kysela) [1797509] - [sound] ALSA: memalloc: Allow NULL device for SNDRV_DMA_TYPE_CONTINUOUS type (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: pcm_dmaengine: Extract snd_dmaengine_pcm_refine_runtime_hwparams (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel - do not describe I/O configuration in the long card name (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel - use control components to describe card config (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: make common HDMI driver the default for SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: sof_rt5682: use dependency on SOF_HDA_LINK (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Geminilake is only supported by SOF (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: fix configs for bxt-da7219-max98057a (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: remove select SND_HDA_DSP_LOADER (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: Intel: boards: Add CML m/c using RT1011 and RT5682 (Jaroslav Kysela) [1797509] - [sound] ALSA: ASoC: compress: fix unsigned integer overflow check (Jaroslav Kysela) [1797509] - [sound] ALSA: Revert "ALSA: usb-audio: set the interface format after resume on Dell WD19" (Jaroslav Kysela) [1797509]- [crypto] crypto: ccp - use file mode for sev ioctl permissions (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Cleanup sp_dev_master in psp_dev_destroy() (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Cleanup misc_dev on sev_exit() (Vladis Dronov) [1765717] - [crypto] crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Vladis Dronov) [1765717] - [crypto] crypto: ccp - move SEV vdata to a dedicated data structure (Vladis Dronov) [1765717] - [crypto] crypto: ccp - create a generic psp-dev file (Vladis Dronov) [1765717] - [crypto] crypto: ccp - rename psp-dev files to sev-dev (Vladis Dronov) [1765717] - [crypto] crypto: ccp - set max RSA modulus size for v3 platform devices as well (Vladis Dronov) [1765717] - [crypto] crypto: ccp - add SEV command privilege separation (Vladis Dronov) [1765717] - [crypto] crypto: ccp - fix uninitialized list head (Vladis Dronov) [1765717] - [crypto] crypto: user - fix memory leak in crypto_report (Vladis Dronov) [1829808 1765717] {CVE-2019-19062} - [crypto] crypto: ccp - Release all allocated memory if sha type is invalid (Vladis Dronov) [1825134 1765717] {CVE-2019-18808} - [crypto] crypto: ccp - invoke fallback for XTS ciphertext stealing (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove unnecessary linux/pci.h include (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Include DMA declarations explicitly (Vladis Dronov) [1765717] - [crypto] crypto: ccp - use devm_platform_ioremap_resource() to simplify code (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Clean up and exit correctly on allocation failure (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Log an error message when ccp-crypto fails to load (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Ignore tag length when decrypting GCM ciphertext (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add support for valid authsize values less than 16 (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Fix oops by properly managing allocated structures (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Reduce maximum stack usage (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Include the module name in system log messages (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add a module parameter to control registration for DMA (Vladis Dronov) [1765717] - [crypto] crypto: ccp - module parameter to limit the number of enabled CCPs (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Add a module parameter to specify a queue count (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Make CCP debugfs support optional (Vladis Dronov) [1765717] - [crypto] crypto: ctr - add helper for performing a CTR encryption walk (Vladis Dronov) [1765717] - [crypto] crypto: ccp - memset structure fields to zero before reuse (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Fix 3DES complaint from ccp-crypto module (Vladis Dronov) [1765717] - [crypto] crypto: ccp - fix AES CFB error exposed by new test vectors (Vladis Dronov) [1765717] - [crypto] crypto: ccp - AES CFB mode is a stream cipher (Vladis Dronov) [1765717] - [crypto] treewide: Add SPDX license identifier - Makefile/Kconfig (Vladis Dronov) [1765717] - [crypto] crypto: shash - remove shash_desc::flags (Vladis Dronov) [1765717] - [crypto] crypto: ccp - no need to check return value of debugfs_create functions (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove forward declaration (Vladis Dronov) [1765717] - [crypto] crypto: ccp - Remove VLA usage of skcipher (Vladis Dronov) [1765717] - [crypto] crypto: skcipher - Introduce crypto_sync_skcipher (Vladis Dronov) [1765717] - [infiniband] IB/mlx4: Test return value of calls to ib_get_cached_pkey (Alaa Hleihel) [1767259] - [netdrv] net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() (Alaa Hleihel) [1767259] - [infiniband] RDMA/mlx4: Initialize ib_spec on the stack (Alaa Hleihel) [1767259] - [powerpc] powerpc/powernv: Re-enable imc trace-mode in kernel (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Implement a global lock to avoid races between trace, core and thread imc events (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Return accordingly on invalid chip-id in (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Remove PM_BR_CMPL_ALT from power9 event list (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: Add generic compat mode pmu driver (Desnes Augusto Nunes do Rosario) [1725201] - [powerpc] powerpc/perf: init pmu from core-book3s (Desnes Augusto Nunes do Rosario) [1725201] - [fs] NFS: Fix fscache super_cookie index_key from changing after umount (Dave Wysochanski) [1790933] - [fs] NFSv4: Fix fscache cookie aux_data to ensure change_attr is included (Dave Wysochanski) [1793560] - [fs] nfs: fscache: use timespec64 in inode auxdata (Dave Wysochanski) [1793560] - [documentation] i2c: replace i2c_new_probed_device with an ERR_PTR variant (David Arcari) [1835245] - [documentation] docs: stop suggesting strlcpy (David Arcari) [1835245] - [scsi] scsi: hpsa: Update driver version (Joseph Szczypek) [1815628] - [scsi] scsi: hpsa: correct race condition in offload enabled (Joseph Szczypek) [1815628] - [kernel] audit: log audit netlink multicast bind and unbind (Richard Guy Briggs) [1829622] - [ipc] ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() (Oleg Nesterov) [1808931] - [scsi] scsi: megaraid_sas: Update driver version to 07.714.04.00-rc1 (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: TM command refire leads to controller firmware crash (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Replace undefined MFI_BIG_ENDIAN macro with __BIG_ENDIAN_BITFIELD macro (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Remove IO buffer hole detection logic (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Limit device queue depth to controller queue depth (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: Use true, false for bool variables (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make two symbols static in megaraid_sas_base.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make some symbols static in megaraid_sas_fusion.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid: make some symbols static in megaraid_sas_fp.c (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Use scnprintf() for avoiding potential buffer overflow (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: silence a warning (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: fix indentation issue (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Update driver version to 07.713.01.00-rc1 (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Use Block layer API to check SCSI device in-flight IO requests (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Limit the number of retries for the IOCTLs causing firmware fault (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Re-Define enum DCMD_RETURN_STATUS (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not set HBA Operational if FW is not in operational state (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not kill HBA if JBOD Seqence map or RAID map is disabled (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Do not kill host bus adapter, if adapter is already dead (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Update optimal queue depth for SAS and NVMe devices (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Set no_write_same only for Virtual Disk (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Reset adapter if FW is not in READY state after device resume (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Make poll_aen_lock static (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: remove unused variables 'debugBlk', 'fusion' (Tomas Henzl) [1791041] - [scsi] scsi: megaraid_sas: Unique names for MSI-X vectors (Tomas Henzl) [1791041]- [crypto] crypto: drbg - fix error return code in drbg_alloc_state() (Vladis Dronov) [1822458] - [fs] fs: call fsnotify_sb_delete after evict_inodes (Jay Shin) [1834741] - [fs] fs: avoid softlockups in s_inodes iterators (Jay Shin) [1834741] - [fs] fs/drop_caches.c: avoid softlockups in drop_pagecache_sb() (Jay Shin) [1834741] - [net] net/smc: remove set but not used variables 'del_llc, del_llc_resp' (Philipp Rudo) [1725886] - [net] net/smc: remove unused inline function smc_curs_read (Philipp Rudo) [1725886] - [net] net/smc: log important pnetid and state change events (Philipp Rudo) [1725886] - [net] net/smc: save SMC-R peer link_uid (Philipp Rudo) [1725886] - [net] net/smc: create improved SMC-R link_uid (Philipp Rudo) [1725886] - [net] net/smc: improve termination processing (Philipp Rudo) [1725886] - [net] net/smc: add termination reason and handle LLC protocol violation (Philipp Rudo) [1725886] - [net] net/smc: asymmetric link tagging (Philipp Rudo) [1725886] - [net] net/smc: assign link to a new connection (Philipp Rudo) [1725886] - [net] net/smc: send DELETE_LINK, ALL message and wait for send to complete (Philipp Rudo) [1725886] - [net] net/smc: wait for departure of an IB message (Philipp Rudo) [1725886] - [net] net/smc: handle incoming CDC validation message (Philipp Rudo) [1725886] - [net] net/smc: send failover validation message (Philipp Rudo) [1725886] - [net] net/smc: switch connections to alternate link (Philipp Rudo) [1725886] - [net] net/smc: save state of last sent CDC message (Philipp Rudo) [1725886] - [net] net/smc: enqueue local LLC messages (Philipp Rudo) [1725886] - [net] net/smc: delete link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: delete link processing as SMC client (Philipp Rudo) [1725886] - [net] net/smc: llc_del_link_work and use the LLC flow for delete link (Philipp Rudo) [1725886] - [net] net/smc: delete an asymmetric link as SMC server (Philipp Rudo) [1725886] - [net] net/smc: final part of add link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: rkey processing for a new link as SMC server (Philipp Rudo) [1725886] - [net] net/smc: first part of add link processing as SMC server (Philipp Rudo) [1725886] - [net] net/smc: final part of add link processing as SMC client (Philipp Rudo) [1725886] - [net] net/smc: rkey processing for a new link as SMC client (Philipp Rudo) [1725886] - [net] net/smc: first part of add link processing as SMC client (Philipp Rudo) [1725886] - [net] smc: Remove unused function (Philipp Rudo) [1725886] - [net] net/smc: llc_add_link_work to handle ADD_LINK LLC requests (Philipp Rudo) [1725886] - [net] net/smc: allocate index for a new link (Philipp Rudo) [1725886] - [net] net/smc: introduce smc_pnet_find_alt_roce() (Philipp Rudo) [1725886] - [net] net/smc: remove DELETE LINK processing from smc_core.c (Philipp Rudo) [1725886] - [net] net/smc: take link down instead of terminating the link group (Philipp Rudo) [1725886] - [net] net/smc: add smcr_port_err() and smcr_link_down() processing (Philipp Rudo) [1725886] - [net] net/smc: add smcr_port_add() and smcr_link_up() processing (Philipp Rudo) [1725886] - [net] net/smc: remember PNETID of IB device for later device matching (Philipp Rudo) [1725886] - [net] net/smc: mutex to protect the lgr against parallel reconfigurations (Philipp Rudo) [1725886] - [net] net/smc: extend smc_llc_send_add_link() and smc_llc_send_delete_link() (Philipp Rudo) [1725886] - [net] net/smc: map and register buffers for a new link (Philipp Rudo) [1725886] - [net] net/smc: unmapping of buffers to support multiple links (Philipp Rudo) [1725886] - [net] net/smc: multiple link support for rmb buffer registration (Philipp Rudo) [1725886] - [net] net/smc: remove obsolete link state DELETING (Philipp Rudo) [1725886] - [net] net/smc: remove handling of CONFIRM_RKEY_CONTINUE (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC remote DELETE_RKEY processing to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC remote CONFIRM_RKEY processing to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: new smc_rtoken_set functions for multiple link support (Philipp Rudo) [1725886] - [net] net/smc: move the TEST_LINK response processing into event handler (Philipp Rudo) [1725886] - [net] net/smc: multiple link support and LLC flow for smc_llc_do_delete_rkey (Philipp Rudo) [1725886] - [net] net/smc: multiple link support and LLC flow for smc_llc_do_confirm_rkey (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC client code to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: adapt SMC server code to use the LLC flow (Philipp Rudo) [1725886] - [net] net/smc: add logic to evaluate CONFIRM_LINK messages to LLC layer (Philipp Rudo) [1725886] - [net] net/smc: introduce link group type (Philipp Rudo) [1725886] - [net] net/smc: enqueue all received LLC messages (Philipp Rudo) [1725886] - [net] net/smc: add event-based llc_flow framework (Philipp Rudo) [1725886] - [net] net/smc: move llc layer related init and clear into smc_llc.c (Philipp Rudo) [1725886] - [net] net/smc: use mutex instead of rwlock_t to protect buffers (Philipp Rudo) [1725886] - [net] net/smc: process llc responses in tasklet context (Philipp Rudo) [1725886] - [net] net/smc: use worker to process incoming llc messages (Philipp Rudo) [1725886] - [net] net/smc: simplify link deactivation (Philipp Rudo) [1725886] - [net] net/smc: move testlink work to system work queue (Philipp Rudo) [1725886] - [net] net/smc: add new link state and related helpers (Philipp Rudo) [1725886] - [net] net/smc: multi-link support for smc_rmb_rtoken_handling() (Philipp Rudo) [1725886] - [net] net/smc: convert static link ID instances to support multiple links (Philipp Rudo) [1725886] - [net] net/smc: convert static link ID to dynamic references (Philipp Rudo) [1725886] - [net] net/smc: introduce link_idx for link group array (Philipp Rudo) [1725886] - [net] net/smc: separate function for link initialization (Philipp Rudo) [1725886] - [net] net/smc: rework pnet table to support SMC-R failover (Philipp Rudo) [1725886] - [net] net/smc: improve peer ID in CLC decline for SMC-R (Philipp Rudo) [1725886] - [net] net/smc: rework peer ID handling (Philipp Rudo) [1725886] - [net] net/smc: reduce port_event scheduling (Philipp Rudo) [1725886] - [net] net/smc: simplify normal link termination (Philipp Rudo) [1725886] - [net] net/smc: remove unused parameter of smc_lgr_terminate() (Philipp Rudo) [1725886] - [net] net/smc: do not delete lgr from list twice (Philipp Rudo) [1725886] - [net] net/smc: use termination worker under send_lock (Philipp Rudo) [1725886] - [net] net/smc: improve smc_lgr_cleanup() (Philipp Rudo) [1725886] - [pci] PCI: Add new PCI_VPD_RO_KEYWORD_SERIALNO macro (Jonathan Toppins) [1834900] - [pci] PCI: Introduce pci_get_dsn (Jonathan Toppins) [1834900] - [scsi] scsi: lpfc: Remove redundant initialization to variable rc (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.1 (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix MDS Diagnostic Enablement definition (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix noderef and address space warnings (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Remove unnecessary lockdep_assert_held calls (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Change default queue allocation for reduced memory consumption (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Fix negation of else clause in lpfc_prep_node_fc4type (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Remove re-binding of nvme rport during registration (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: Maintain atomic consistency of queue_claimed flag (Dick Kennedy) [1835310] - [scsi] scsi: lpfc: remove duplicate unloading checks (Dick Kennedy) [1835310] - [scsi] scsi: qedf: Get dev info after updating the params (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Fix crash when MFW calls for protocol stats while function is still probing (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Add schedule recovery handler (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Implement callback for bw_update (Nilesh Javali) [1792113] - [netdrv] scsi: qed: Send BW update notifications to the protocol drivers (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Honor status qualifier in FCP_RSP per spec (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Acquire rport_lock for resetting the delay_timestamp (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Increase the upper limit of retry delay (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Keep track of num of pending flogi (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Simplify mutex_unlock() usage (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Add port_id getter (Nilesh Javali) [1792113] - [scsi] scsi: qedf: Remove always false 'tmp_prio < 0' statement (Nilesh Javali) [1792113] - [include] NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION (Steve Dickson) [1828592] - [edac] EDAC/amd64: Drop some family checks for newer systems (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Add family ops for Family 19h Models 00h-0Fh (Aristeu Rozanski) [1779822 1735611] - [x86] x86/amd_nb: Add Family 19h PCI IDs (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/mce_amd: Always load on SMCA systems (Aristeu Rozanski) [1779822 1735611] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new Load Store unit McaType (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Save max number of controllers to family type (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Gather hardware information early (Aristeu Rozanski) [1779822 1735611] - [edac] EDAC/amd64: Make struct amd64_family_type global (Aristeu Rozanski) [1779822 1735611] - [fs] nfsd: Add tracepoints for update of the expkey and export cache entries (Dave Wysochanski) [1775408] - [fs] nfsd: Add tracepoints for exp_find_key() and exp_get_by_name() (Dave Wysochanski) [1775408] - [fs] nfsd: Add tracing to nfsd_set_fh_dentry() (Dave Wysochanski) [1775408] - [net] SUNRPC: Clean up: Replace dprintk and BUG_ON call sites in svcauth_gss.c (Dave Wysochanski) [1775408] - [net] svcrdma: Create a generic tracing class for displaying xdr_buf layout (Dave Wysochanski) [1775408] - [net] SUNRPC: Capture completion of all RPC tasks (Dave Wysochanski) [1775408] - [net] SUNRPC: Trace gssproxy upcall results (Dave Wysochanski) [1775408] - [trace] fix null pointer deref in tracepoints in back channel (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic file commit tracepoint (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic writeback tracepoints (Dave Wysochanski) [1775408] - [fs] NFS: Clean up generic file read tracepoints (Dave Wysochanski) [1775408] - [fs] pNFS/flexfiles: Add tracing for layout errors (Dave Wysochanski) [1775408] - [fs] pNFS/flexfiles: Record resend attempts on I/O failure (Dave Wysochanski) [1775408] - [fs] NFS: Fix fix of show_nfs_errors (Dave Wysochanski) [1775408] - [fs] NFSv4: Improve read/write/commit tracing (Dave Wysochanski) [1775408] - [fs] NFS4: Report callback authentication errors (Dave Wysochanski) [1775408] - [fs] NFS4: Trace lock reclaims (Dave Wysochanski) [1775408] - [fs] NFS4: Trace state recovery operation (Dave Wysochanski) [1775408] - [fs] NFS: Add a tracepoint in nfs_fh_to_dentry() (Dave Wysochanski) [1775408] - [fs] pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS (Dave Wysochanski) [1775408] - [fs] NFS: Record task, client ID, and XID in xdr_status trace points (Dave Wysochanski) [1775408] - [fs] NFS: Display symbolic status code names in trace log (Dave Wysochanski) [1775408] - [fs] NFS: Fix show_nfs_errors macros again (Dave Wysochanski) [1775408] - [fs] NFS4: Add a trace event to record invalid CB sequence IDs (Dave Wysochanski) [1775408] - [media] media: v4l: event: Add subscription to list before calling "add" operation (Jarod Wilson) [1828805] {CVE-2019-9458} - [media] media: v4l: event: Prevent freeing event subscriptions while accessed (Jarod Wilson) [1828805] {CVE-2019-9458} - [vhost] vhost: Check docket sk_family instead of call getname (Vladis Dronov) [1823301] {CVE-2020-10942} - [documentation] kvm: ppc: book3s hv: Add a capability for enabling secure guests (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: H_SVM_INIT_START must call UV_RETURN (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Check caller of H_SVM_* Hcalls (David Gibson) [1814624] - [powerpc] Introduce the MSR_S bit (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Skip kvmppc_uvmem_free if Ultravisor is not supported (David Gibson) [1814624] - [powerpc] kvm: ppc: Kill kvmppc_ops::mmu_destroy() and kvmppc_mmu_destroy() (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Move kvmppc_mmu_init() into PR KVM (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Treat TM-related invalid form instructions on P9 like the valid ones (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Use RADIX_PTE_INDEX_SIZE in Radix MMU code (David Gibson) [1814624] - [powerpc] kvm: no need to check return value of debugfs_create functions (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Fix -Werror=return-type build failure (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Release lock on page-out failure path (David Gibson) [1814624] - [powerpc] mm: Remove kvm radix prefetch workaround for Power9 DD2.2 (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: xive: Fix typo in comment (David Gibson) [1814624] - [documentation] kvm: ppc: book3s hv: Implement H_SVM_INIT_ABORT hcall (David Gibson) [1814624] - [powerpc] kvm: ppc: Add skip_page_out parameter to uvmem functions (David Gibson) [1814624] - [powerpc] kvm: ppc: book3e: Replace current->mm by kvm->mm (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Replace current->mm by kvm->mm (David Gibson) [1814624] - [mm] add account_locked_vm utility function (David Gibson) [1814624] - [powerpc] kvm: ppc: Remove set but not used variable 'ra', 'rs', 'rt' (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't do ultravisor calls on systems without ultravisor (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Support reset of secure guest (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Handle memory plug/unplug to secure VM (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Radix changes for secure guest (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Shared pages support for secure guests (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Support for running secure guests (David Gibson) [1814624] - [powerpc] pseries/svm: Unshare all pages before kexecing a new kernel (David Gibson) [1814624] - [powerpc] pseries/svm: Use shared memory for LPPACA structures (David Gibson) [1814624] - [powerpc] pseries: Add and use LPPACA_SIZE constant (David Gibson) [1814624] - [powerpc] pseries/svm: Add helpers for UV_SHARE_PAGE and UV_UNSHARE_PAGE (David Gibson) [1814624] - [powerpc] prom_init: Add the ESM call to prom_init (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Reject mflags=2 (LPCR[AIL]=2) ADDR_TRANS_MODE mode (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Implement LPCR[AIL]=3 mode for injected interrupts (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Reuse kvmppc_inject_interrupt for async guest delivery (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Replace reset_msr mmu op with inject_interrupt arch op (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Define and use SRR1_MSR_BITS (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: xive: Show VP id in debugfs (David Gibson) [1814624] - [powerpc] kvm: ppc: e500: Replace current->mm by kvm->mm (David Gibson) [1814624] - [powerpc] kvm: ppc: Report single stepping capability (David Gibson) [1814624] - [powerpc] kvm: Fix kvmppc_vcore->in_guest value in kvmhv_switch_to_host (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: use smp_mb() when setting/clearing host_ipi flag (David Gibson) [1814624] - [powerpc] 64s: Set reserved PCR bits (David Gibson) [1814624] - [powerpc] Fix definition of PCR bits to work with old binutils (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s: Invalidate multiple TCEs at once (David Gibson) [1814624] - [powerpc] powernv/ioda: Split out TCE invalidation from TCE updates (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't lose pending doorbell request on migration on P9 (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Check for MMU ready on piggybacked virtual cores (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Define usage types for rmap array in guest memslot (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Don't push XIVE context when not using XIVE device (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s hv: Fix race in re-enabling XIVE escalation interrupts (David Gibson) [1814624] - [powerpc] kvm: ppc: book3s pr: Fix software breakpoints (David Gibson) [1814624] - [powerpc] kvm: ppc: Remove leftover comment from emulate_loadstore.c (David Gibson) [1814624] - [x86] hyperv: Properly suspend/resume reenlightenment notifications (Mohammed Gamal) [1815475] - [kernel] pm: hibernate: Freeze kernel threads in software_resume() (Mohammed Gamal) [1815475] - [kernel] pm: hibernate: Propagate the return value of hibernation_restore() (Mohammed Gamal) [1815475] - [x86] hyperv: Suspend/resume the VP assist page for hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM (Mohammed Gamal) [1815475] - [net] hv_sock: Add the support of hibernation (Mohammed Gamal) [1815475] - [video] hyperv_fb: Fix hibernation for the deferred IO feature (Mohammed Gamal) [1815475] - [video] hyperv_fb: Add the support of hibernation (Mohammed Gamal) [1815475] - [scsi] storvsc: Add the support of hibernation (Mohammed Gamal) [1815475] - [netdrv] hv_netvsc: Add the support of hibernation (Mohammed Gamal) [1815475] - [pci] hv: Change pci_protocol_version to per-hbus (Mohammed Gamal) [1815475] - [pci] hv: Add hibernation support (Mohammed Gamal) [1815475] - [input] hyperv-keyboard: Add the support of hibernation (Mohammed Gamal) [1815475] - [hid] hyperv: NULL check before some freeing functions is not needed (Mohammed Gamal) [1815475] - [hid] hyperv: Add the support of hibernation (Mohammed Gamal) [1815475] - [clocksource] hyper-v: Suspend/resume Hyper-V clocksource for hibernation (Mohammed Gamal) [1815475] - [x86] hyperv: Suspend/resume the hypercall page for hibernation (Mohammed Gamal) [1815475] - [x86] hyperv: Implement hv_is_hibernation_supported() (Mohammed Gamal) [1815475] - [hv] hv_utils: Add the support of hibernation (Mohammed Gamal) [1815475] - [hv] hv_utils: Support host-initiated hibernation request (Mohammed Gamal) [1815475] - [hv] hv_utils: Support host-initiated restart request (Mohammed Gamal) [1815475] - [hv] hv_balloon: Add the support of hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Resume after fixing up old primary channels (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Suspend after cleaning up hv_sock and sub channels (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Clean up hv_sock channels by force upon suspend (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Suspend/resume the vmbus itself for hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Ignore the offers when resuming from hibernation (Mohammed Gamal) [1815475] - [hv] hv: vmbus: Implement suspend/resume for VSC drivers for hibernation (Mohammed Gamal) [1815475] - [net] ipv4: really enforce backoff for redirects (Paolo Abeni) [1834184] - [net] netfilter: nat: never update the UDP checksum when it's 0 (Guillaume Nault) [1794714] - [net] sched: allow flower to match erspan options (Xin Long) [1830482] - [net] sched: allow flower to match vxlan options (Xin Long) [1830482] - [net] sched: add erspan option support to act_tunnel_key (Xin Long) [1830482] - [net] sched: add vxlan option support to act_tunnel_key (Xin Long) [1830482] - [netdrv] netdevsim: disable devlink reload when resources are being used (Ivan Vecera) [1829778] - [netdrv] netdevsim: fix using uninitialized resources (Ivan Vecera) [1829778] - [netdrv] drivers/net: netdevsim depends on INET (Ivan Vecera) [1829778] - [netdrv] netdevsim: fix nsim_fib6_rt_create() error path (Ivan Vecera) [1829778] - [tools] selftests: netdevsim: Add test for FIB offload API (Ivan Vecera) [1829778] - [tools] selftests: forwarding: Add helpers and tests for FIB offload (Ivan Vecera) [1829778] - [tools] selftests: mlxsw: Add a self-test for port-default priority (Ivan Vecera) [1829778] - [netdrv] netdevsim: fib: Add dummy implementation for FIB offload (Ivan Vecera) [1829778] - [net] ipv6: Add "offload" and "trap" indications to routes (Ivan Vecera) [1829778] - [net] ipv4: Add "offload" and "trap" indications to routes (Ivan Vecera) [1829778] - [net] ipv4: Encapsulate function arguments in a struct (Ivan Vecera) [1829778] - [net] ipv4: Replace route in list before notifying (Ivan Vecera) [1829778] - [tools] selftests: netdevsim: Extend devlink trap test to include flow action cookie (Petr Oros) [1823745] - [netdrv] netdevsim: add ACL trap reporting cookie as a metadata (Petr Oros) [1823745] - [net] devlink: extend devlink_trap_report() to accept cookie and pass (Petr Oros) [1823745] - [net] drop_monitor: extend by passing cookie from driver (Petr Oros) [1823745] - [net] devlink: add trap metadata type for cookie (Petr Oros) [1823745] - [net] devlink: add ACL generic packet traps (Petr Oros) [1823745] - [net] devlink: Add overlay source MAC is multicast trap (Petr Oros) [1823745] - [net] devlink: Add tunnel generic packet traps (Petr Oros) [1823745] - [net] devlink: Add non-routable packet trap (Petr Oros) [1823745] - [netdrv] mlxsw: spectrum_router: Prevent incorrect replacement of local table routes (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Remove FIB entry list from FIB node (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Consolidate identical functions (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Make route creation and destruction symmetric (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Eliminate dead code (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Remove unnecessary checks (Ivan Vecera) [1828994] - [net] ipv6: Remove old route notifications and convert listeners (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Start using new IPv6 route notifications (Ivan Vecera) [1828994] - [net] ipv6: Handle multipath route deletion notification (Ivan Vecera) [1828994] - [net] ipv6: Handle route deletion notification (Ivan Vecera) [1828994] - [net] ipv6: Only Replay routes of interest to new listeners (Ivan Vecera) [1828994] - [net] ipv6: Notify multipath route if should be offloaded (Ivan Vecera) [1828994] - [net] ipv6: Notify route if replacing currently offloaded one (Ivan Vecera) [1828994] - [net] ipv6: Notify newly added route if should be offloaded (Ivan Vecera) [1828994] - [include] net: fib_notifier: Add temporary events to the FIB notification chain (Ivan Vecera) [1828994] - [net] ipv4: Remove old route notifications and convert listeners (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Start using new IPv4 route notifications (Ivan Vecera) [1828994] - [netdrv] mlxsw: spectrum_router: Don't rely on missing extack to symbolize dump (Ivan Vecera) [1828994] - [net] ipv4: Only Replay routes of interest to new listeners (Ivan Vecera) [1828994] - [net] ipv4: Handle route deletion notification during flush (Ivan Vecera) [1828994] - [net] ipv4: Handle route deletion notification (Ivan Vecera) [1828994] - [net] ipv4: Notify newly added route if should be offloaded (Ivan Vecera) [1828994] - [net] ipv4: Notify route if replacing currently offloaded one (Ivan Vecera) [1828994] - [net] ipv4: Extend FIB alias find function (Ivan Vecera) [1828994] - [net] ipv4: Notify route after insertion to the routing table (Ivan Vecera) [1828994] - [include] net: fib_notifier: Add temporary events to the FIB notification chain (Ivan Vecera) [1828994] - [net] vti6: Fix memory leak of skb if input policy check fails (Xin Long) [1829720] - [net] xfrm: policy: Fix doulbe free in xfrm_policy_timer (Xin Long) [1829720] - [net] xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire (Xin Long) [1829720] - [net] xfrm: fix uctx len check in verify_sec_ctx_len (Xin Long) [1829720] - [net] xfrm: handle NETDEV_UNREGISTER for xfrm device (Xin Long) [1829720] - [net] xfrm: interface: do not confirm neighbor when do pmtu update (Xin Long) [1829720] - [documentation] xfrm: update doc about xfrm[46]_gc_thresh (Xin Long) [1829720] - [documentation] devlink: remove trigger command from devlink-region.rst (Petr Oros) [1822570] - [include] devlink: promote "fw.bundle_id" to a generic info version (Petr Oros) [1822570] - [documentation] devlink: document devlink info versions reported by bnxt_en driver (Petr Oros) [1822570] - [include] devlink: add macro for "fw.roce" (Petr Oros) [1822570] - [documentation] Fix typo in devlink documentation (Petr Oros) [1822570] - [documentation] devlink: fix typos in qed documentation (Petr Oros) [1822570] - [documentation] devlink: document region snapshot triggering from userspace (Petr Oros) [1822570] - [documentation] devlink: introduce devlink-dpipe.rst documentation file (Petr Oros) [1822570] - [documentation] devlink: add a devlink-resource.rst documentation file (Petr Oros) [1822570] - [netdrv] devlink: rename and expand devlink-trap-netdevsim.rst (Petr Oros) [1822570] - [documentation] devlink: add documentation for ionic device driver (Petr Oros) [1822570] - [documentation] devlink: add a file documenting devlink regions (Petr Oros) [1822570] - [documentation] devlink: add a driver-specific file for the qed driver (Petr Oros) [1822570] - [documentation] devlink: add parameter documentation for the mlx4 driver (Petr Oros) [1822570] - [documentation] devlink: document info versions for each driver (Petr Oros) [1822570] - [documentation] devlink: convert driver-specific files to reStructuredText (Petr Oros) [1822570] - [documentation] devlink: mention reloading in devlink-params.rst (Petr Oros) [1822570] - [documentation] devlink: add documentation for generic devlink parameters (Petr Oros) [1822570] - [documentation] devlink: convert devlink-params.txt to reStructuredText (Petr Oros) [1822570] - [documentation] devlink: rename devlink-info-versions.rst and add a header (Petr Oros) [1822570] - [documentation] devlink: convert devlink-health.txt to rst format (Petr Oros) [1822570] - [documentation] devlink: move devlink documentation to subfolder (Petr Oros) [1822570] - [include] devlink: add macro for "fw.psid" (Petr Oros) [1822570] - [netdrv] ethtool: Add support for 400Gbps (50Gbps per lane) link modes (Ivan Vecera) [1828942] - [netdrv] phy: Add support for 100BaseT1 and 1000BaseT1 (Ivan Vecera) [1828942] - [net] phy: improve definition of __ETHTOOL_LINK_MODE_MASK_NBITS (Ivan Vecera) [1828942] - [net] netfilter: nf_tables: simplify NLM_F_CREATE handling (Phil Sutter) [1812666] - [net] devlink: Add layer 3 generic packet exception traps (Petr Oros) [1828737] - [net] devlink: Add layer 3 generic packet traps (Petr Oros) [1828737] - [net] netfilter: nf_tables: fix infinite loop when expr is not available (Phil Sutter) [1757933] - [net] netfilter: nf_tables: autoload modules from the abort path (Phil Sutter) [1757933] - [net] netfilter: nf_tables: remove WARN and add NLA_STRING upper limits (Phil Sutter) [1757933] - [net] netfilter: nf_tables: store transaction list locally while requesting module (Phil Sutter) [1757933] - [net] netfilter: nf_tables: use-after-free in failing rule with bound set (Phil Sutter) [1757933] - [net] netfilter: nft_meta: skip EAGAIN if nft_meta_bridge is not a module (Phil Sutter) [1757933] - [net] netfilter: nf_tables: force module load in case select_ops() returns -EAGAIN (Phil Sutter) [1757933] - [net] netfilter: nf_tables: add nft_expr_type_request_module() (Phil Sutter) [1757933] - [net] netfilter: nf_tables: bogus EBUSY in helper removal from transaction (Phil Sutter) [1757933] - [net] netfilter: nf_tables: fix set double-free in abort path (Phil Sutter) [1757933] - [net] netfilter: nft_compat: don't use refcount_inc on newly allocated entry (Phil Sutter) [1757933] - [net] netfilter: nf_tables: unbind set in rule from commit path (Phil Sutter) [1757933] - [net] netfilter: nft_compat: destroy function must not have side effects (Phil Sutter) [1757933] - [net] netfilter: nft_compat: make lists per netns (Phil Sutter) [1757933] - [net] netfilter: nft_compat: use refcnt_t type for nft_xt reference count (Phil Sutter) [1757933] - [net] netfilter: nf_tables: fix suspicious RCU usage in nft_chain_stats_replace() (Phil Sutter) [1757933] - [net] netfilter: nf_tables: asynchronous release (Phil Sutter) [1757933] - [net] netfilter: nf_tables: split set destruction in deactivate and destroy phase (Phil Sutter) [1757933] - [net] netfilter: nf_tables: flow event notifier must use transaction mutex (Phil Sutter) [1757933] - [net] netfilter: nf_tables: use dedicated mutex to guard transactions (Phil Sutter) [1757933] - [net] netfilter: nf_tables: avoid global info storage (Phil Sutter) [1757933] - [net] netfilter: nf_tables: take module reference when starting a batch (Phil Sutter) [1757933] - [net] netfilter: nf_tables: make valid_genid callback mandatory (Phil Sutter) [1757933] - [net] netfilter: nf_tables: add and use helper for module autoload (Phil Sutter) [1757933]- [kernel] sched: Fix missing bracket in membarrier_switch_mm from mismerge (Phil Auld) [1745111] - [fs] nfs: fix NULL deference in nfs4_get_valid_delegation ("J. Bruce Fields") [1831553] - [acpi] PCI/AER: Use only _OSC to determine AER ownership (Myron Stowe) [1712820] - [pci] PCI/EDR: Log only ACPI_NOTIFY_DISCONNECT_RECOVER events (Myron Stowe) [1712820] - [pci] PCI/AER: Rationalize error status register clearing (Myron Stowe) [1712820] - [pci] PCI/DPC: Add Error Disconnect Recover (EDR) support (Myron Stowe) [1712820] - [pci] PCI/DPC: Expose dpc_process_error(), dpc_reset_link() for use by EDR (Myron Stowe) [1712820] - [pci] PCI/AER: Add pci_aer_raw_clear_status() to unconditionally clear Error Status (Myron Stowe) [1712820] - [pci] PCI/DPC: Cache DPC capabilities in pci_init_capabilities() (Myron Stowe) [1712820] - [pci] PCI/ERR: Return status of pcie_do_recovery() (Myron Stowe) [1712820] - [pci] PCI/ERR: Remove service dependency in pcie_do_recovery() (Myron Stowe) [1712820] - [pci] PCI/DPC: Move DPC data into struct pci_dev (Myron Stowe) [1712820] - [pci] PCI/ERR: Update error status after reset_link() (Myron Stowe) [1712820] - [pci] PCI/ERR: Combine pci_channel_io_frozen cases (Myron Stowe) [1712820] - [pci] PCI/ASPM: Reduce severity of common clock config message (Myron Stowe) [1712820] - [pci] PCI/ASPM: Clear the correct bits when enabling L1 substates (Myron Stowe) [1712820] - [pci] PCI/PM: Print config space of devices before suspend (Myron Stowe) [1712820] - [pci] PCI/AER: Initialize aer_fifo (Myron Stowe) [1712820] - [pci] PCI/AER: Factor message prefixes with dev_fmt() (Myron Stowe) [1712820] - [pci] PCI/AER: Log which device prevents error recovery (Myron Stowe) [1712820] - [security] ima: Switch to ima_hash_algo for boot aggregate (Jerry Snitselaar) [1786441] - [mm] mm: mempolicy: require at least one nodeid for MPOL_PREFERRED (Rafael Aquini) [1834435] {CVE-2020-11565} - [tools] perf maps: Add missing unlock to maps__insert() error case (Michael Petlan) [1818838] - [tools] perf dso: Fix dso comparison (Michael Petlan) [1818838] - [tools] perf block-info: Fix wrong block address comparison in block_info__cmp() (Michael Petlan) [1818838] - [tools] libperf: Setup initial evlist::all_cpus value (Michael Petlan) [1818838] - [tools] perf report: Fix no libunwind compiled warning break s390 issue (Michael Petlan) [1818838] - [tools] perf hists: Fix variable name's inconsistency in hists__for_each() macro (Michael Petlan) [1818838] - [tools] perf map: Set kmap->kmaps backpointer for main kernel map chunks (Michael Petlan) [1818838] - [tools] perf report: Fix incorrectly added dimensions as switch perf data file (Michael Petlan) [1818838] - [tools] tools lib traceevent: Fix memory leakage in filter_event (Michael Petlan) [1818838] - [tools] perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description (Michael Petlan) [1818838] - [tools] perf vendor events s390: Fix counter long description for DTLB1_GPAGE_WRITES (Michael Petlan) [1818838] - [tools] libtraceevent: Allow custom libdir path (Michael Petlan) [1818838] - [tools] perf top: Do not bail out when perf_env__read_cpuid() returns ENOSYS (Michael Petlan) [1818838] - [tools] perf arch: Make the default get_cpuid() return compatible error (Michael Petlan) [1818838] - [tools] perf inject: Fix processing of ID index for injected instruction tracing (Michael Petlan) [1818838] - [tools] perf report: Bail out --mem-mode if mem info is not available (Michael Petlan) [1818838] - [tools] perf report: Make -F more strict like -s (Michael Petlan) [1818838] - [tools] perf report/top TUI: Replace pr_err() with ui__error() (Michael Petlan) [1818838] - [tools] libtraceevent: Copy pkg-config file to output folder when using O= (Michael Petlan) [1818838] - [tools] libtraceevent: Fix lib installation with O= (Michael Petlan) [1818838] - [tools] perf kvm: Clarify the 'perf kvm' -i and -o command line options (Michael Petlan) [1818838] - [tools] perf machine: Fill map_symbol->maps in append_inlines() to fix segfault (Michael Petlan) [1818838] - [tools] perf jit: Move test functionality in to a test (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for enabling/disabling events (Michael Petlan) [1818838] - [tools] perf evsel: Add functions to enable/disable for a specific CPU (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for reading (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for opening events (Michael Petlan) [1818838] - [tools] perf stat: Factor out open error handling (Michael Petlan) [1818838] - [tools] perf stat: Use affinity for closing file descriptors (Michael Petlan) [1818838] - [tools] perf evsel: Add functions to close evsel on a CPU (Michael Petlan) [1818838] - [tools] perf evsel: Add iterator to iterate over events ordered by CPU (Michael Petlan) [1818838] - [tools] perf evlist: Maintain evlist->all_cpus (Michael Petlan) [1818838] - [tools] perf cpumap: Maintain cpumaps ordered and without dups (Michael Petlan) [1818838] - [tools] perf script: Fix brstackinsn for AUXTRACE (Michael Petlan) [1818838] - [tools] perf affinity: Add infrastructure to save/restore affinity (Michael Petlan) [1818838] - [tools] perf pmu: Use file system cache to optimize sysfs access (Michael Petlan) [1818838] - [tools] perf regs: Make perf_reg_name() return "unknown" instead of NULL (Michael Petlan) [1818838] - [tools] perf diff: Use llabs() with 64-bit values (Michael Petlan) [1818838] - [tools] perf diff: Use llabs() with 64-bit values (Michael Petlan) [1818838] - [tools] perf tests: Rename tests/map_groups.c to tests/maps.c (Michael Petlan) [1818838] - [tools] perf tests: Rename thread-mg-share to thread-maps-share (Michael Petlan) [1818838] - [tools] perf maps: Rename map_groups.h to maps.h (Michael Petlan) [1818838] - [tools] perf maps: Rename 'mg' variables to 'maps' (Michael Petlan) [1818838] - [tools] perf map_symbol: Rename ms->mg to ms->maps (Michael Petlan) [1818838] - [tools] perf addr_location: Rename al->mg to al->maps (Michael Petlan) [1818838] - [tools] perf thread: Rename thread->mg to thread->maps (Michael Petlan) [1818838] - [tools] perf maps: Merge 'struct maps' with 'struct map_groups' (Michael Petlan) [1818838] - [tools] x86/insn: perf tools: Add some more instructions to the new instructions test (Michael Petlan) [1818838] - [tools] perf map: Remove unused functions (Michael Petlan) [1818838] - [tools] perf map: Remove needless struct forward declarations (Michael Petlan) [1818838] - [tools] perf map: Ditch leftover map__reloc_vmlinux() prototype (Michael Petlan) [1818838] - [tools] perf script: Move map__fprintf_srccode() to near its only user (Michael Petlan) [1818838] - [tools] perf parse: Fix potential memory leak when handling tracepoint errors (Michael Petlan) [1818838] - [tools] libtraceevent: Fix memory leakage in copy_filter_type (Michael Petlan) [1818838] - [tools] libtraceevent: Fix header installation (Michael Petlan) [1818838] - [tools] perf intel-bts: Does not support AUX area sampling (Michael Petlan) [1818838] - [tools] perf intel-pt: Add support for decoding AUX area samples (Michael Petlan) [1818838] - [tools] perf intel-pt: Add support for recording AUX area samples (Michael Petlan) [1818838] - [tools] perf pmu: When using default config, record which bits of config were changed by the user (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for queuing AUX area samples (Michael Petlan) [1818838] - [tools] perf session: Add facility to peek at all events (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for dumping AUX area samples (Michael Petlan) [1818838] - [tools] perf inject: Cut AUX area samples (Michael Petlan) [1818838] - [tools] perf record: Add aux-sample-size config term (Michael Petlan) [1818838] - [tools] perf record: Add support for AUX area sampling (Michael Petlan) [1818838] - [tools] perf auxtrace: Add support for AUX area sample recording (Michael Petlan) [1818838] - [tools] perf auxtrace: Move perf_evsel__find_pmu() (Michael Petlan) [1818838] - [tools] perf record: Add a function to test for kernel support for AUX area sampling (Michael Petlan) [1818838] - [tools] perf tools: Add kernel AUX area sampling definitions (Michael Petlan) [1818838] - [tools] perf report: Jump to symbol source view from total cycles view (Michael Petlan) [1818838] - [tools] perf util: Move block TUI function to ui browsers (Michael Petlan) [1818838] - [tools] perf dso: Move dso_id from 'struct map' to 'struct dso' (Michael Petlan) [1818838] - [tools] perf dsos: Remove unused dsos__find() method (Michael Petlan) [1818838] - [tools] perf map: Move comparision of map's dso_id to a separate function (Michael Petlan) [1818838] - [tools] perf map: Pass a dso_id to map__new() (Michael Petlan) [1818838] - [tools] perf map: Move maj/min/ino/ino_generation to separate struct (Michael Petlan) [1818838] - [tools] perf parse: Report initial event parsing error (Michael Petlan) [1818838] - [tools] x86/insn: perf tools: Add some instructions to the new instructions test (Michael Petlan) [1818838] - [tools] perf map: Move seldom used ->flags field to second cacheline (Michael Petlan) [1818838] - [tools] perf map: Use bitmap for booleans (Michael Petlan) [1818838] - [tools] libtraceevent: Fix parsing of event o and X argument types (Michael Petlan) [1818838] - [tools] perf callchain: Fix segfault in thread__resolve_callchain_sample() (Michael Petlan) [1818838] - [tools] perf map_groups: Auto sort maps by name, if needed (Michael Petlan) [1818838] - [tools] perf machine: No need to check if kernel module maps pre-exist (Michael Petlan) [1818838] - [tools] perf record: No need to process the synthesized MMAP events twice (Michael Petlan) [1818838] - [tools] perf map: No need to adjust the long name of modules (Michael Petlan) [1818838] - [tools] perf map_groups: Add a front end cache for map lookups by name (Michael Petlan) [1818838] - [tools] perf maps: Do not use an rbtree to sort by map name (Michael Petlan) [1818838] - [tools] perf maps: Purge the entries from maps->names in __maps__purge() (Michael Petlan) [1818838] - [tools] perf vendor events power9: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf vendor events power8: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Fix commas so PMU event files are valid JSON (Michael Petlan) [1818838] - [tools] perf parse: Use YYABORT to clear stack after failure, plugging leaks (Michael Petlan) [1818838] - [tools] perf tool: Provide an option to print perf_event_open args and return value (Michael Petlan) [1818838] - [tools] perf map: Remove ->groups from 'struct map' (Michael Petlan) [1818838] - [tools] perf map: Combine maps__fixup_overlappings with its only use (Michael Petlan) [1818838] - [tools] perf annotate: Stop using map->groups, use map_symbol->mg instead (Michael Petlan) [1818838] - [tools] perf tools: Add a 'struct map_groups' pointer to 'struct map_symbol' (Michael Petlan) [1818838] - [tools] perf symbols: Use kmaps(map)->machine when we know its a kernel map (Michael Petlan) [1818838] - [tools] pref tools: Make 'struct addr_map_symbol' contain 'struct map_symbol' (Michael Petlan) [1818838] - [tools] perf callchain: Use 'struct map_symbol' in 'struct callchain_cursor_node' (Michael Petlan) [1818838] - [tools] perf unwind: Use 'struct map_symbol' in 'struct unwind_entry' (Michael Petlan) [1818838] - [tools] perf annotate: Pass a 'map_symbol' in places receiving a pair of 'map' and 'symbol' pointers (Michael Petlan) [1818838] - [tools] perf tools: Add map_groups to 'struct addr_location' (Michael Petlan) [1818838] - [tools] perf map_groups: Pass the object to map_groups__find_ams() (Michael Petlan) [1818838] - [tools] perf symbols: Stop using map->groups, we can use kmaps instead (Michael Petlan) [1818838] - [tools] perf map: Use map->dso->kernel + map__kmaps() in map__kmaps() (Michael Petlan) [1818838] - [tools] perf report: Sort by sampled cycles percent per block for tui (Michael Petlan) [1818838] - [tools] perf report: Support --percent-limit for --total-cycles (Michael Petlan) [1818838] - [tools] perf report: Sort by sampled cycles percent per block for stdio (Michael Petlan) [1818838] - [tools] perf hist: Support block formats with compare/sort/display (Michael Petlan) [1818838] - [tools] perf hist: Count the total cycles of all samples (Michael Petlan) [1818838] - [tools] perf block: Cleanup and refactor block info functions (Michael Petlan) [1818838] - [tools] perf diff: Don't use hack to skip column length calculation (Michael Petlan) [1818838] - [tools] perf tests: Fix out of bounds memory access (Michael Petlan) [1818838] - [tools] perf record: Add support for limit perf output file size (Michael Petlan) [1818838] - [tools] perf annotate: Fix heap overflow (Michael Petlan) [1818838] - [tools] perf machine: Add kernel_dso() method (Michael Petlan) [1818838] - [tools] perf symbols: Remove needless checks for map->groups->machine (Michael Petlan) [1818838] - [tools] perf parse: Add a deep delete for parse event terms (Michael Petlan) [1818838] - [tools] perf parse: If pmu configuration fails free terms (Michael Petlan) [1818838] - [tools] perf parse: Before yyabort-ing free components (Michael Petlan) [1818838] - [tools] perf parse: Add destructors for parse event terms (Michael Petlan) [1818838] - [tools] perf parse: Ensure config and str in terms are unique (Michael Petlan) [1818838] - [tools] perf parse: Add parse events handle error (Michael Petlan) [1818838] - [tools] perf inject: Make --strip keep evsels (Michael Petlan) [1818838] - [tools] perf tools: Fix cross compile for ARM64 (Michael Petlan) [1818838] - [tools] perf stat: Add --per-node agregation support (Michael Petlan) [1818838] - [tools] perf env: Add perf_env__numa_node() (Michael Petlan) [1818838] - [tools] perf tools: Splice events onto evlist even on error (Michael Petlan) [1818838] - [tools] libsubcmd: Use -O0 with DEBUG=1 (Michael Petlan) [1818838] - [tools] libsubcmd: Move EXTRA_FLAGS to the end to allow overriding existing flags (Michael Petlan) [1818838] - [tools] perf map_groups: Introduce for_each_entry() and for_each_entry_safe() iterators (Michael Petlan) [1818838] - [tools] perf maps: Add for_each_entry()/_safe() iterators (Michael Petlan) [1818838] - [tools] perf map: Allow map__next() to receive a NULL arg (Michael Petlan) [1818838] - [tools] perf map: Check if the map still has some refcounts on exit (Michael Petlan) [1818838] - [tools] perf dso: Add dso__data_write_cache_addr() (Michael Petlan) [1818838] - [tools] perf dso: Refactor dso_cache__read() (Michael Petlan) [1818838] - [tools] perf auxtrace: Add auxtrace_cache__remove() (Michael Petlan) [1818838] - [tools] perf jevents: Fix resource leak in process_mapfile() and main() (Michael Petlan) [1818838] - [tools] perf kvm: Use evlist layer api when possible (Michael Petlan) [1818838] - [tools] perf tests: Fix a typo (Michael Petlan) [1818838] - [tools] perf tools: Avoid a malloc() for array events (Michael Petlan) [1818838] - [tools] perf tools: Move ALLOC_LIST into a function (Michael Petlan) [1818838] - [tools] perf evsel: Avoid close(-1) (Michael Petlan) [1818838] - [tools] perf evsel: Always preserve errno while cleaning up perf_event_open failures (Michael Petlan) [1818838] - [tools] perf cs-etm: Fix definition of macro TO_CS_QUEUE_NR (Michael Petlan) [1818838] - [tools] perf llvm: Make .o saving a debug message, not an info one (Michael Petlan) [1818838] - [tools] perf record: Put a copy of kcore into the perf.data directory (Michael Petlan) [1818838] - [tools] perf data: Support single perf.data file directory (Michael Petlan) [1818838] - [tools] perf session: Fix indent in perf_session__new()" (Michael Petlan) [1818838] - [tools] perf data: Rename directory "header" file to "data" (Michael Petlan) [1818838] - [tools] perf data: Move perf_dir_version into data.h (Michael Petlan) [1818838] - [tools] perf data: Correctly identify directory data files (Michael Petlan) [1818838] - [tools] perf trace: Use STUL_STRARRAY_FLAGS with mmap (Michael Petlan) [1818838] - [tools] perf trace: Wire up strarray__strtoul_flags() (Michael Petlan) [1818838] - [tools] libbeauty: Introduce strarray__strtoul_flags() (Michael Petlan) [1818838] - [tools] libbeauty: Make the mmap_flags strarray visible outside of its beautifier (Michael Petlan) [1818838] - [tools] perf trace: Use strtoul for the fcntl 'cmd' argument (Michael Petlan) [1818838] - [tools] libbeauty: Introduce syscall_arg__strtoul_strarrays() (Michael Petlan) [1818838] - [tools] libperf: Add pr_err() macro (Michael Petlan) [1818838] - [tools] libperf: Do not export perf_evsel__init()/perf_evlist__init() (Michael Petlan) [1818838] - [tools] libperf: Keep count of failed tests (Michael Petlan) [1818838] - [tools] libperf: Add tests_mmap_cpus test (Michael Petlan) [1818838] - [tools] libperf: Add tests_mmap_thread test (Michael Petlan) [1818838] - [tools] libperf: Link static tests with libapi.a (Michael Petlan) [1818838] - [tools] libperf: Move mask setup to perf_evlist__mmap_ops() (Michael Petlan) [1818838] - [tools] libperf: Move mmap allocation to perf_evlist__mmap_ops::get (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__for_each_mmap() (Michael Petlan) [1818838] - [tools] perf tests: Disable bp_signal testing for arm64 (Michael Petlan) [1818838] - [tools] perf tests bp_account: Add dedicated checking helper is_supported() (Michael Petlan) [1818838] - [tools] perf tests: Remove needless headers for bp_account (Michael Petlan) [1818838] - [tools] perf list: Hide deprecated events by default (Michael Petlan) [1818838] - [tools] perf trace: Pass a syscall_arg to syscall_arg_fmt->strtoul() (Michael Petlan) [1818838] - [tools] perf trace: Honour --max-events in processing syscalls:sys_enter_* (Michael Petlan) [1818838] - [tools] libbeauty: Introduce syscall_arg__strtoul_strarray() (Michael Petlan) [1818838] - [tools] perf trace: Initialize evsel_trace->fmt for syscalls:sys_enter_* tracepoints (Michael Petlan) [1818838] - [tools] perf trace: Introduce 'struct evsel__trace' for evsel->priv needs (Michael Petlan) [1818838] - [tools] perf trace: Hide evsel->access further, simplify code (Michael Petlan) [1818838] - [tools] perf trace: Introduce accessors to trace specific evsel->priv (Michael Petlan) [1818838] - [tools] perf trace: Show error message when not finding a field used in a filter expression (Michael Petlan) [1818838] - [tools] perf trace: Hook the 'vec' tracepoint argument with the x86 IRQ vectors scnprintf/strtoul (Michael Petlan) [1818838] - [tools] perf trace beauty: Add the glue for the autogenerated x86 IRQ vector array (Michael Petlan) [1818838] - [tools] libbeauty: Add a strarray__scnprintf_suffix() method (Michael Petlan) [1818838] - [tools] libbeauty: Hook up the x86 irq_vectors table generator (Michael Petlan) [1818838] - [tools] libbeauty: Add a generator for x86's IRQ vectors -> strings (Michael Petlan) [1818838] - [tools] tools arch x86: Grab a copy of the file containing the IRQ vector defines (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 HHA PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 L3C PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Add some missing events for Hisi hip08 DDRC PMU (Michael Petlan) [1818838] - [tools] perf vendor events arm64: Fix Hisi hip08 DDRC PMU eventname (Michael Petlan) [1818838] - [tools] perf trace: Support tracepoint dynamic char arrays (Michael Petlan) [1818838] - [tools] perf trace: Filter own pid to avoid a feedback look in 'perf trace record -a' (Michael Petlan) [1818838] - [tools] perf string: Export asprintf__tp_filter_pids() (Michael Petlan) [1818838] - [tools] perf trace: Introduce --errno-summary (Michael Petlan) [1818838] - [tools] perf trace: Add syscall failure stats to -s/--summary and -S/--with-summary (Michael Petlan) [1818838] - [tools] perf stat: Support --all-kernel/--all-user (Michael Petlan) [1818838] - [tools] perf annotate: Fix objdump --no-show-raw-insn flag (Michael Petlan) [1818838] - [tools] perf annotate: Don't pipe objdump output through 'expand' command (Michael Petlan) [1818838] - [tools] perf annotate: Don't pipe objdump output through 'grep' command (Michael Petlan) [1818838] - [tools] perf annotate: Use libsubcmd's run-command.h to fork objdump (Michael Petlan) [1818838] - [tools] perf annotate: Avoid reallocation in objdump parsing (Michael Petlan) [1818838] - [tools] perf report: Add warning when libunwind not compiled in (Michael Petlan) [1818838] - [tools] perf test: Avoid infinite loop for task exit case (Michael Petlan) [1818838] - [tools] perf test: Report failure for mmap events (Michael Petlan) [1818838] - [tools] perf script: Fix --reltime with --time (Michael Petlan) [1818838] - [tools] perf tools: Allow to build with -ltcmalloc (Michael Petlan) [1818838] - [tools] perf diff: Report noisy for cycles diff (Michael Petlan) [1818838] - [tools] perf tools: Propagate CFLAGS to libperf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_evlist__filter_pollfd() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__purge() (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__exit() (Michael Petlan) [1818838] - [tools] libperf: Move the pollfd allocation from tools/perf to libperf (Michael Petlan) [1818838] - [tools] libperf: Centralize map refcnt setting (Michael Petlan) [1818838] - [tools] perf evlist: Switch to libperf's mmap interface (Michael Petlan) [1818838] - [tools] perf evlist: Introduce perf_evlist__mmap_cb_mmap() (Michael Petlan) [1818838] - [tools] perf evlist: Introduce perf_evlist__mmap_cb_get() (Michael Petlan) [1818838] - [tools] perf tools: Introduce perf_evlist__mmap_cb_idx() (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist_mmap_ops::mmap callback (Michael Petlan) [1818838] - [tools] libperf: Add perf_evlist_mmap_ops::get callback (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist_mmap_ops::idx callback (Michael Petlan) [1818838] - [tools] libperf: Introduce perf_evlist__mmap_ops() (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_evlist__mmap()/munmap() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_event() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_done() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__read_init() from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__consume() function from tools/perf (Michael Petlan) [1818838] - [tools] perf tools: Use perf_mmap way to detect aux mmap (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__put() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__unmap() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__get() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__mmap() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Adopt perf_mmap__mmap_len() function from tools/perf (Michael Petlan) [1818838] - [tools] libperf: Add 'struct perf_mmap_param' (Michael Petlan) [1818838] - [tools] libperf: Add perf_mmap__init() function (Michael Petlan) [1818838] - [tools] perf tools: Avoid 'sample_reg_masks' being const + weak (Michael Petlan) [1818838] - [tools] perf beauty: Introduce strtoul() for x86 MSRs (Michael Petlan) [1818838] - [tools] perf trace: Expand strings in filters to integers (Michael Petlan) [1818838] - [tools] perf trace: Introduce a strtoul() method for 'struct strarrays' (Michael Petlan) [1818838] - [tools] perf trace: Add a strtoul() method to 'struct syscall_arg_fmt' (Michael Petlan) [1818838] - [tools] perf trace: Introduce --filter for tracepoint events (Michael Petlan) [1818838] - [tools] perf evlist: Introduce append_tp_filter_pid() and append_tp_filter_pids() (Michael Petlan) [1818838] - [tools] perf evlist: Introduce append_tp_filter() method (Michael Petlan) [1818838] - [tools] perf evlist: Factor out asprintf routine to build a tracepoint pid filter (Michael Petlan) [1818838] - [tools] perf trace: Associate the "msr" tracepoint arg name with x86_MSR__scnprintf() (Michael Petlan) [1818838] - [tools] perf trace beauty: Add the glue for the autogenerated MSR arrays (Michael Petlan) [1818838] - [tools] perf trace: Allow associating scnprintf routines with well known arg names (Michael Petlan) [1818838] - [tools] perf beauty: Hook up the x86 MSR table generator (Michael Petlan) [1818838] - [tools] perf trace beauty: Add a x86 MSR cmd id->str table generator (Michael Petlan) [1818838] - [tools] perf beauty: Make strarray's offset be u64 (Michael Petlan) [1818838] - [tools] perf trace: Allow choosing how to augment the tracepoint arguments (Michael Petlan) [1818838] - [tools] perf trace: Enclose all events argument lists with () (Michael Petlan) [1818838] - [tools] perf trace: Add array of chars scnprintf beautifier (Michael Petlan) [1818838] - [tools] perf trace: Add the syscall_arg_fmt pointer to syscall_arg (Michael Petlan) [1818838] - [tools] perf trace: Move some scnprintf methods from syscall to syscall_arg_fmt (Michael Petlan) [1818838] - [tools] perf trace: Allocate an array of beautifiers for tracepoint args (Michael Petlan) [1818838] - [tools] perf trace: Factor out the initialization of syscal_arg_fmt->scnprintf (Michael Petlan) [1818838] - [tools] perf script: Allow --time with --reltime (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add Time chart by CPU (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add ability for Call tree to open at a specified task and time (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Tidy up Call tree call_time (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add global time range calculations (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add HBoxLayout and VBoxLayout (Michael Petlan) [1818838] - [tools] perf scripts python: exported-sql-viewer.py: Add LookupModel() (Michael Petlan) [1818838] - [tools] perf trace augmented_syscalls: Do not show syscalls when none was asked for (Michael Petlan) [1818838] - [tools] perf trace: Postpone parsing .perfconfig trace.add_events to after --verbose is processed (Michael Petlan) [1818838] - [tools] perf trace: Generalize the syscall_fmt find routines (Michael Petlan) [1818838] - [tools] perf trace: Separate 'struct syscall_fmt' definition from syscall_fmts variable (Michael Petlan) [1818838] - [tools] perf trace: Make evlist__set_evsel_handler() affect just entries without a handler (Michael Petlan) [1818838] - [tools] perf evlist: Adopt __set_tracepoint_handlers method from perf_session (Michael Petlan) [1818838] - [tools] perf top: Initialize perf_env->cpuid, needed by the per arch annotation init routine (Michael Petlan) [1818838] - [tools] perf env: Add routine to read the env->cpuid from the running machine (Michael Petlan) [1818838] - [kernel] perf/cgroups: Install cgroup events to correct cpuctx (Michael Petlan) [1818838] - [kernel] perf/core: Fix mlock accounting in perf_mmap() (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Remove PCIe3 unit for SNR (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events (Michael Petlan) [1818838] - [x86] perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family (Michael Petlan) [1818838] - [kernel] perf: Correctly handle failed perf_get_aux_event() (Michael Petlan) [1818838] - [x86] perf/x86/intel: Fix PT PMI handling (Michael Petlan) [1818838] - [x86] perf/x86/intel/bts: Fix the use of page_private() (Michael Petlan) [1818838] - [x86] perf/x86: Fix potential out-of-bounds access (Michael Petlan) [1818838] - [x86] perf/x86: Implement immediate enforcement of /sys/devices/cpu/rdpmc value of 0 (Michael Petlan) [1818838] - [kernel] perf/core: Make the mlock accounting simple again (Michael Petlan) [1818838] - [kernel] perf/core: Fix the mlock accounting, again (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Prevent redundant WRMSRs (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Opportunistically use single range output mode (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Add sampling support (Michael Petlan) [1818838] - [x86] perf/x86/intel/pt: Factor out pt_config_start() (Michael Petlan) [1818838] - [kernel] perf/aux: Allow using AUX data in perf samples (Michael Petlan) [1818838] - [kernel] perf/core: Fix unlock balance in perf_init_event() (Michael Petlan) [1818838] - [x86] perf/x86/amd: Remove set but not used variable 'active' (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_init_event() for TYPE_SOFTWARE (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_init_event() (Michael Petlan) [1818838] - [kernel] perf/core: Optimize perf_install_in_event() (Michael Petlan) [1818838] - [x86] perf/x86: Synchronize PMU task contexts on optimized context switches (Michael Petlan) [1818838] - [x86] perf/x86/intel: Implement LBR callstack context synchronization (Michael Petlan) [1818838] - [x86] perf/x86: Install platform specific ->swap_task_ctx() adapter (Michael Petlan) [1818838] - [x86] perf/core, perf/x86: Introduce swap_task_ctx() method at 'struct pmu' (Michael Petlan) [1818838] - [kernel] perf/ring_buffer: Matching the memory allocate and free, in rb_alloc() (Michael Petlan) [1818838] - [kernel] perf/ring_buffer: Modify the parameter type of perf_mmap_free_page() (Michael Petlan) [1818838] - [documentation] Documentation: Document sysfs interfaces purr, spurr, idle_purr, idle_spurr (Steve Best) [1783286] - [powerpc] powerpc/sysfs: Show idle_purr and idle_spurr for every CPU (Steve Best) [1783286] - [powerpc] powerpc/pseries: Account for SPURR ticks on idle CPUs (Steve Best) [1783286] - [powerpc] powerpc/idle: Store PURR snapshot in a per-cpu global variable (Steve Best) [1783286] - [powerpc] powerpc: Move idle_loop_prolog()/epilog() functions to header file (Steve Best) [1783286] - [kernel] padata: add separate cpuhp node for CPUHP_PADATA_DEAD (Herbert Xu) [1671674] - [kernel] padata: fix uninitialized return value in padata_replace() (Herbert Xu) [1671674] - [kernel] padata: remove reorder_objects (Herbert Xu) [1671674] - [crypto] padata: remove cpumask change notifier (Herbert Xu) [1671674] - [kernel] padata: always acquire cpu_hotplug_lock before pinst->lock (Herbert Xu) [1671674] - [kernel] padata: validate cpumask without removed CPU during offline (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - Avoid deadlock by using per-instance padata queues (Herbert Xu) [1671674] - [kernel] padata: Remove unused padata_remove_cpu (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - Fix user-after-free on module unload (Herbert Xu) [1671674] - [kernel] padata: Remove broken queue flushing (Herbert Xu) [1671674] - [kernel] padata: remove cpu_index from the parallel_queue (Herbert Xu) [1671674] - [kernel] padata: unbind parallel jobs from specific CPUs (Herbert Xu) [1671674] - [kernel] padata: use separate workqueues for parallel and serial work (Herbert Xu) [1671674] - [crypto] padata, pcrypt: take CPU hotplug lock internally in padata_alloc_possible (Herbert Xu) [1671674] - [crypto] crypto: pcrypt - remove padata cpumask notifier (Herbert Xu) [1671674] - [crypto] padata: make padata_do_parallel find alternate callback CPU (Herbert Xu) [1671674] - [kernel] workqueue: require CPU hotplug read exclusion for apply_workqueue_attrs (Herbert Xu) [1671674] - [kernel] workqueue: unconfine alloc/apply/free_workqueue_attrs() (Herbert Xu) [1671674] - [crypto] padata: allocate workqueue internally (Herbert Xu) [1671674] - [kernel] padata: initialize pd->cpu with effective cpumask (Herbert Xu) [1671674] - [kernel] padata: purge get_cpu and reorder_via_wq from padata_do_serial (Herbert Xu) [1671674] - [kernel] padata: Replace delayed timer with immediate workqueue in padata_reorder (Herbert Xu) [1671674] - [kernel] padata: use smp_mb in padata_reorder to avoid orphaned padata jobs (Herbert Xu) [1671674] - [kernel] tracing: Avoid memory leak in process_system_preds() (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Have error path in predicate_parse() free its allocated memory (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Avoid memory leak in predicate_parse() (Jerome Marchand) [1829953] {CVE-2019-19072} - [kernel] tracing: Fix memory leak in create_filter() (Jerome Marchand) [1829953] {CVE-2019-19072} - [tools] KVM: selftests: s390x: Provide additional num-guest-pages adjustment (Philipp Rudo) [1792266] - [s390] s390/protvirt: fix compilation issue (Philipp Rudo) [1792266] - [kvm] KVM: s390: Fix PV check in deliverable_irqs() (Philipp Rudo) [1792266] - [kvm] KVM: s390: Return last valid slot if approx index is out-of-bounds (Philipp Rudo) [1792266] - [kvm] KVM: s390: vsie: Fix delivery of addressing exceptions (Philipp Rudo) [1792266] - [mm] s390/gmap: return proper error code on ksm unsharing (Philipp Rudo) [1792266] - [s390] KVM: s390: mark sie block as 512 byte aligned (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: check for registers to NOT change on reset (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: test more register variants for the reset ioctl (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: fix early guest crash (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390: fixup fprintf format error in reset.c (Philipp Rudo) [1792266] - [kvm] KVM: s390: Also reset registers in sync regs for initial cpu reset (Philipp Rudo) [1792266] - [kvm] KVM: s390: introduce module parameter kvm.use_gisa (Philipp Rudo) [1792266] - [documentation] KVM: s390: protvirt: Add KVM api documentation (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: introduce and enable KVM_CAP_S390_PROTECTED (Philipp Rudo) [1792266] - [documentation] DOCUMENTATION: Protected virtual machine introduction and IPL (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add UV cpu reset calls (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: do not inject interrupts after start (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Support cmd 5 operation state (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Report CPU state to Ultravisor (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: UV calls in support of diag308 0, 1 (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add program exception injection (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Only sync fmt4 registers (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Do only reset registers that are accessible (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: disallow one_reg (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: STSI handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Write sthyi data to instruction data area (Philipp Rudo) [1792266] - [kvm] KVM: s390/mm: handle guest unpin events (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: handle secure guest prefix pages (Philipp Rudo) [1792266] - [kvm] KVM: S390: protvirt: Introduce instruction data area bounce buffer (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add new gprs location handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Handle spec exception loops (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add SCLP interrupt handling (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Implement interrupt injection (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Instruction emulation (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Handle SE notification interceptions (Philipp Rudo) [1792266] - [mm] KVM: s390/mm: Make pages accessible before destroying the guest (Philipp Rudo) [1792266] - [mm] KVM: s390: protvirt: Secure memory is not mergeable (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add initial vm and cpu lifecycle handling (Philipp Rudo) [1792266] - [s390] KVM: s390: add new variants of UV CALL (Philipp Rudo) [1792266] - [kvm] KVM: s390: protvirt: Add UV debug trace (Philipp Rudo) [1792266] - [kvm] KVM: s390/interrupt: do not pin adapter interrupt pages (Philipp Rudo) [1792266] - [s390] s390/protvirt: Add sysfs firmware interface for Ultravisor information (Philipp Rudo) [1792266] - [s390] s390/mm: add (non)secure page access exceptions handlers (Philipp Rudo) [1792266] - [s390] s390/mm: provide memory management functions for protected KVM guests (Philipp Rudo) [1792266] - [s390] s390/protvirt: add ultravisor initialization (Philipp Rudo) [1792266] - [s390] s390/protvirt: introduce host side setup (Philipp Rudo) [1792266] - [documentation] KVM: s390: rstify new ioctls in api.rst (Philipp Rudo) [1792266] - [s390] s390/uv: Fix handling of length extensions (Philipp Rudo) [1792266] - [tools] selftests: KVM: testing the local IRQs resets (Philipp Rudo) [1792266] - [tools] selftests: KVM: s390x: Add reset tests (Philipp Rudo) [1792266] - [kvm] KVM: s390: Add new reset vcpu API (Philipp Rudo) [1792266] - [kvm] KVM: s390: Cleanup initial cpu reset (Philipp Rudo) [1792266] - [kvm] KVM: s390: do not clobber registers during guest reset/store status (Philipp Rudo) [1792266] - [kvm] KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups (Philipp Rudo) [1792266] - [s390] s390/uv: use EOPNOTSUPP instead of ENOTSUPP (Philipp Rudo) [1792266] - [kvm] KVM: s390: Do not yield when target is already running (Philipp Rudo) [1792266] - [kvm] KVM: s390: count invalid yields (Philipp Rudo) [1792266] - [kvm] KVM: s390: mark __insn32_query() as __always_inline (Philipp Rudo) [1792266] - [kvm] KVM: s390: fix __insn32_query() inline assembly (Philipp Rudo) [1792266] - [kvm] KVM: s390: Cleanup kvm_arch_init error path (Philipp Rudo) [1792266] - [kvm] KVM: s390: Remove unused parameter from __inject_sigp_restart() (Philipp Rudo) [1792266] - [mm] mm/gup/writeback: add callbacks for inaccessible pages (Philipp Rudo) [1792266] - [scsi] scsi: libiscsi: fall back to sendmsg for slab pages (Maurizio Lombardi) [1825775] - [fs] smb3: fix default permissions on new files when mounting with modefromsid (Leif Sahlberg) [1833374] - [fs] gfs2: don't call quota_unhold if quotas are not locked (Robert S Peterson) [1830043] - [fs] gfs2: move privileged user check to gfs2_quota_lock_check (Robert S Peterson) [1830043] - [fs] gfs2: remove check for quotas on in gfs2_quota_check (Robert S Peterson) [1830043] - [fs] gfs2: Change BUG_ON to an assert_withdraw in gfs2_quota_change (Robert S Peterson) [1830043] - [fs] gfs2: Fix problems regarding gfs2_qa_get and _put (Robert S Peterson) [1830043] - [powerpc] powerpc/eeh: Fix deadlock handling dead PHB (Sam Bobroff) [1774820] - [powerpc] powerpc/powernv/eeh: Fix oops when probing cxl devices (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Slightly simplify eeh_add_to_parent_pe() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Remove unused return path from eeh_pe_dev_traverse() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Fix crash when edev->pdev changes (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Convert log messages to eeh_edev_* macros (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Introduce EEH edev logging macros (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Add bdfn field to eeh_dev (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Refactor around eeh_probe_devices() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: EEH for pSeries hot plug (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Initialize EEH address cache earlier (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Improve debug messages around device addition (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag (Sam Bobroff) [1774820] - [powerpc] powerpc/64: Adjust order in pcibios_init() (Sam Bobroff) [1774820] - [powerpc] powerpc/pci: Add pci_find_controller_for_domain() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh_cache: Bump log level of eeh_addr_cache_print() (Sam Bobroff) [1774820] - [powerpc] powerpc/eeh_cache: Add pr_debug() prints for insert/remove (Sam Bobroff) [1774820]- [gpio] gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model (David Arcari) [1829900] - [gpio] gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option (David Arcari) [1829900] - [gpio] gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk (David Arcari) [1829900] - [gpio] gpiolib: Fix irq_disable() semantics (David Arcari) [1829900] - [gpio] gpiolib: fix gpio_do_set_config() (David Arcari) [1829900] - [gpio] gpiolib: remove unnecessary argument from set_config call (David Arcari) [1829900] - [gpio] Revert "gpiolib: remove set but not used variable 'config'" (David Arcari) [1829900] - [gpio] Revert "gpiolib: Remove duplicated function gpio_do_set_config()" (David Arcari) [1829900] - [gpio] treewide: remove redundant IS_ERR() before error code check (David Arcari) [1829900] - [gpio] gpiolib: hold gpio devices lock until ->descs array is initialised (David Arcari) [1829900] - [gpio] gpio: Drop the chained IRQ handler assign function (David Arcari) [1829900] - [gpio] gpio: xlp: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [pinctrl] pinctrl: qcom: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [pinctrl] pinctrl: iproc: allow for error from platform_get_irq() (David Arcari) [1829900] - [pinctrl] pinctrl: bcm-iproc: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [gpio] gpio: pl061: Pass irqchip when adding gpiochip (David Arcari) [1829900] - [gpio] gpio: pl061: Move irq_chip definition inside struct pl061 (David Arcari) [1829900] - [gpio] gpiolib: Lower verbosity when allocating hierarchy irq (David Arcari) [1829900] - [gpio] gpiolib: Remove duplicated function gpio_do_set_config() (David Arcari) [1829900] - [include] gpio: Fix the no return statement warning (David Arcari) [1829900] - [gpio] gpiolib: remove set but not used variable 'config' (David Arcari) [1829900] - [gpio] gpiolib: Set lockdep class for hierarchical irq domains (David Arcari) [1829900] - [gpio] gpiolib: Add the support for the msi parent domain (David Arcari) [1829900] - [gpio] gpiolib: Add support for the irqdomain which doesn't use irq_fwspec as arg (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in gpio_ioctl() (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in lineevent_create() (David Arcari) [1829900] - [gpio] gpiolib: use gpiochip_get_desc() in linehandle_create() (David Arcari) [1829900] - [gpio] gpiolib: convert the type of hwnum to unsigned int in gpiochip_get_desc() (David Arcari) [1829900] - [gpio] gpiolib: have a single place of calling set_config() (David Arcari) [1829900] - [gpio] gpiolib: use 'unsigned int' instead of 'unsigned' in gpio_set_config() (David Arcari) [1829900] - [gpio] gpio: gpiolib: fix confusing indention (David Arcari) [1829900] - [mmc] mmc: core: Rework cd-gpio handling (David Arcari) [1829900] - [mmc] mmc: core: Rework wp-gpio handling (David Arcari) [1829900] - [gpio] gpio: add gpiod_toggle_active_low() (David Arcari) [1829900] - [gpio] gpiolib: Make use of assign_bit() API (David Arcari) [1829900] - [gpio] gpiolib: Add GPIOCHIP_NAME definition (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism (David Arcari) [1829900] - [gpio] gpiolib: acpi: Turn dmi_system_id table into a generic quirk table (David Arcari) [1829900] - [gpio] gpiolib: fix up emulated open drain outputs (David Arcari) [1829900] - [gpio] gpio: Fix error message on out-of-range GPIO in lookup table (David Arcari) [1829900] - [gpio] gpiolib: of: Make of_gpio_spi_cs_get_count static (David Arcari) [1829900] - [gpio] gpio: Handle counting of Freescale chipselects (David Arcari) [1829900] - [gpio] gpio: of: Fix bogus reference to gpiod_get_count() (David Arcari) [1829900] - [gpio] gpiolib: Grammar s/manager/managed/ (David Arcari) [1829900] - [gpio] gpiolib: acpi: Make acpi_gpiochip_alloc_event always return AE_OK (David Arcari) [1829900] - [gpio] gpiolib: acpi: Print pin number on acpi_gpiochip_alloc_event errors (David Arcari) [1829900] - [gpio] gpiolib: fix coding style in gpiod_hog() (David Arcari) [1829900] - [gpio] gpio: add new SET_CONFIG ioctl() to gpio chardev (David Arcari) [1829900] - [gpio] gpiolib: move validation of line handle flags into helper function (David Arcari) [1829900] - [gpio] gpiolib: add support for biasing output lines (David Arcari) [1829900] - [gpio] gpiolib: add support for disabling line bias (David Arcari) [1829900] - [gpio] gpiolib: add support for pull up/down to lineevent_create (David Arcari) [1829900] - [gpio] gpio: expose pull-up/pull-down line flags to userspace (David Arcari) [1829900] - [gpio] Revert "gpio: expose pull-up/pull-down line flags to userspace" (David Arcari) [1829900] - [gpio] gpiolib: No need to call gpiochip_remove_pin_ranges() twice (David Arcari) [1829900] - [include] gpio: Add definition for GPIO direction (David Arcari) [1829900] - [gpio] gpiolib: Switch order of valid mask and hw init (David Arcari) [1829900] - [gpio] gpio: of: don't warn if ignored GPIO flag matches the behavior (David Arcari) [1829900] - [gpio] gpio: fix kernel-doc for of_gpio_need_valid_mask() (David Arcari) [1829900] - [gpio] gpio: expose pull-up/pull-down line flags to userspace (David Arcari) [1829900] - [gpio] gpiolib: introduce fwnode_gpiod_get_index() (David Arcari) [1829900] - [gpio] gpiolib: introduce devm_fwnode_gpiod_get_index() (David Arcari) [1829900] - [gpio] gpiolib: sanitize flags before allocating memory in lineevent_create() (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add Terra Pad 1061 to the run_edge_events_on_boot_blacklist (David Arcari) [1829900] - [gpio] gpio: fix getting nonexclusive gpiods from DT (David Arcari) [1829900] - [gpio] gpiolib: don't clear FLAG_IS_OUT when emulating open-drain/open-source (David Arcari) [1829900] - [gpio] gpiolib: of: add a fallback for wlf, reset GPIO name (David Arcari) [1829900] - [gpio] gpio: remove explicit comparison with 0 (David Arcari) [1829900] - [gpio] gpio: devres: Switch to EXPORT_SYMBOL_GPL() (David Arcari) [1829900] - [gpio] gpio: of: Switch to EXPORT_SYMBOL_GPL() (David Arcari) [1829900] - [gpio] gpio: of: Make of_gpio_simple_xlate() private (David Arcari) [1829900] - [gpio] gpio: of: Make of_get_named_gpiod_flags() private (David Arcari) [1829900] - [gpio] gpiolib: acpi: make acpi_can_fallback_to_crs() static (David Arcari) [1829900] - [gpio] gpio: of: Normalize return code variable name (David Arcari) [1829900] - [gpio] gpio: gpiolib: Normalize return code variable name (David Arcari) [1829900] - [include] gpio: Move gpiochip_lock/unlock_as_irq to gpio/driver.h (David Arcari) [1829900] - [gpio] gpio: Use callback presence to determine need of valid_mask (David Arcari) [1829900] - [gpio] gpio: Pass mask and size with the init_valid_mask() (David Arcari) [1829900] - [pinctrl] pinctrl: msm: Add ability for drivers to supply a reserved GPIO list (David Arcari) [1829900] - [pinctrl] pinctrl: msm: Use init_valid_mask exported function (David Arcari) [1829900] - [include] gpio: stubs in headers should be inline (David Arcari) [1829900] - [gpio] gpio: Add support for hierarchical IRQ domains (David Arcari) [1829900] - [kernel] genirq: introduce irq_domain_translate_twocell (David Arcari) [1829900] - [gpio] gpio: refactor gpiochip_allocate_mask() with bitmap_alloc() (David Arcari) [1829900] - [gpio] gpio: of: Fix hard-assigned valid_mask for OF case (David Arcari) [1829900] - [sound] gpiolib-acpi: Move acpi_dev_add_driver_gpios() et al to consumer.h (David Arcari) [1829900] - [gpio] gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h (David Arcari) [1829900] - [include] gpiolib: of: Reshuffle contents of consumer.h for new library layout (David Arcari) [1829900] - [include] pinctrl: remove unneeded #ifdef around declarations (David Arcari) [1829900] - [hwmon] hwmon: pmbus: ucd9000: remove unneeded include (David Arcari) [1829900] - [include] gpio: remove less important #ifdef around declarations (David Arcari) [1829900] - [gpio] gpio: of: Break out OF-only code (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist (David Arcari) [1829900] - [gpio] gpiolib: of: fix fallback quirks handling (David Arcari) [1829900] - [gpio] gpio: fix line flag validation in lineevent_create (David Arcari) [1829900] - [gpio] gpio: fix line flag validation in linehandle_create (David Arcari) [1829900] - [gpio] gpio: Fix irqchip initialization order (David Arcari) [1829900] - [gpio] gpio: of: fix Freescale SPI CS quirk handling (David Arcari) [1829900] - [gpio] gpiolib: never report open-drain/source lines as 'input' to user-space (David Arcari) [1829900] - [include] gpio: Fix build error of function redefinition (David Arcari) [1829900] - [gpio] gpiolib: Preserve desc->flags when setting state (David Arcari) [1829900] - [include] gpio: don't WARN() on NULL descs if gpiolib is disabled (David Arcari) [1829900] - [gpio] gpiolib: fix incorrect IRQ requesting of an active-low lineevent (David Arcari) [1829900] - [gpio] Revert "gpio/spi: Fix spi-gpio regression on active high CS" (David Arcari) [1829900] - [gpio] gpiolib: of: fix a memory leak in of_gpio_flags_quirks() (David Arcari) [1829900] - [gpio] gpiolib: Use spinlock_t instead of struct spinlock (David Arcari) [1829900] - [gpio] gpiolib: Clarify use of non-sleeping functions (David Arcari) [1829900] - [gpio] gpiolib: Fix references to gpiod_et_*value_cansleep() variants (David Arcari) [1829900] - [include] gpiolib: Document new gpio_chip.init_valid_mask field (David Arcari) [1829900] - [gpio] gpio/spi: Fix spi-gpio regression on active high CS (David Arcari) [1829900] - [gpio] gpio: No need to cast away return value of debugfs_create_file() (David Arcari) [1829900] - [include] gpio: Add comments on #if/#else/#endif (David Arcari) [1829900] - [regulator] gpio: Fix return value mismatch of function gpiod_get_from_of_node() (David Arcari) [1829900] - [gpio] gpio: Drop the parent_irq from gpio_irq_chip (David Arcari) [1829900] - [gpio] gpio: of: parse stmmac PHY reset line specific active-low property (David Arcari) [1829900] - [gpio] gpio: pass lookup and descriptor flags to request_own (David Arcari) [1829900] - [gpio] gpio: of: Handle the Freescale SPI CS (David Arcari) [1829900] - [gpio] gpio: Fix gpiochip_add_data_with_key() error path (David Arcari) [1829900] - [gpio] gpiolib: acpi: Respect pin bias setting (David Arcari) [1829900] - [gpio] gpiolib: acpi: Add acpi_gpio_update_gpiod_lookup_flags() helper (David Arcari) [1829900] - [gpio] gpiolib: acpi: Set pin value, based on bias, more accurately (David Arcari) [1829900] - [gpio] gpiolib: acpi: Change type of dflags (David Arcari) [1829900] - [gpio] gpiolib: Introduce GPIO_LOOKUP_FLAGS_DEFAULT (David Arcari) [1829900] - [gpio] gpiolib: Make use of enum gpio_lookup_flags consistent (David Arcari) [1829900] - [include] gpiolib: Indent entry values of enum gpio_lookup_flags (David Arcari) [1829900] - [gpio] gpio: of: Optimize quirk checks (David Arcari) [1829900] - [gpio] gpio: mmio: Drop bgpio_dir_inverted (David Arcari) [1829900] - [gpio] gpio: Set proper argument value to set_config (David Arcari) [1829900] - [gpio] gpio: Remove obsolete comment about gpiochip_free_hogs() usage (David Arcari) [1829900] - [gpio] gpio: mmio: Fix bgpio_get_set & bgpio_get_set_multiple (David Arcari) [1829900] - [gpio] gpio: mmio: Support two direction registers (David Arcari) [1829900] - [gpio] gpiolib: Don't WARN on gpiod_put() for optional GPIO (David Arcari) [1829900] - [gpio] gpiolib: acpi: Fix references in kernel doc and amend (David Arcari) [1829900] - [gpio] gpio: of: Fix of_gpiochip_add() error path (David Arcari) [1829900] - [gpio] gpio: of: Check for "spi-cs-high" in child instead of parent node (David Arcari) [1829900] - [gpio] gpio: of: Check propname before applying "cs-gpios" quirks (David Arcari) [1829900] - [gpio] Revert "gpio: use new gpio_set_config() helper in more places" (David Arcari) [1829900] - [gpio] gpio: of: Handle both enable-gpio{,s} (David Arcari) [1829900] - [gpio] gpio: of: Restrict enable-gpio quirk to regulator-gpio (David Arcari) [1829900] - [gpio] gpio: of: Apply regulator-gpio quirk only to enable-gpios (David Arcari) [1829900] - [gpio] gpio: add core support for pull-up/pull-down configuration (David Arcari) [1829900] - [gpio] gpio: use new gpio_set_config() helper in more places (David Arcari) [1829900] - [gpio] gpio: rename gpio_set_drive_single_ended() to gpio_set_config() (David Arcari) [1829900] - [gpio] gpiolib: acpi: Correct kernel doc of struct acpi_gpio_event (David Arcari) [1829900] - [gpio] gpio: of: Fix logic inversion (David Arcari) [1829900] - [gpio] gpio: add irq domain activate/deactivate functions (David Arcari) [1829900] - [gpio] gpiolib: fix line event timestamps for nested irqs (David Arcari) [1829900] - [gpio] gpiolib-acpi: Preserve non direction flags when updating gpiod_flags (David Arcari) [1829900] - [gpio] gpiolib-acpi: Remove unnecessary WARN_ON from acpi_gpiochip_free_interrupts (David Arcari) [1829900] - [gpio] gpiolib-acpi: remove unused variable 'err', cleans up build warning (David Arcari) [1829900] - [mmc] mmc: core: don't override the CD GPIO level when "cd-inverted" is set (David Arcari) [1829900] - [arm64] arm64: dts: meson: Fix mmc cd-gpios polarity (David Arcari) [1829900] - [gpio] gpio/mmc/of: Respect polarity in the device tree (David Arcari) [1829900] - [include] gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB (David Arcari) [1829900] - [documentation] Documentation: gpio: fix function links in the HTML docs (David Arcari) [1829900] - [documentation] docs: driver-model: convert docs to ReST and rename to *.rst (David Arcari) [1829900] - [documentation] docs: gpio: driver.rst: fix a bad tag (David Arcari) [1829900] - [documentation] gpio: Fix minor grammar errors in documentation (David Arcari) [1829900] - [documentation] gpio: Update documentation (David Arcari) [1829900] - [gpio] gpio: Pass a flag to gpiochip_request_own_desc() (David Arcari) [1829900] - [gpio] gpio: Add devm_gpiod_unhinge() (David Arcari) [1829900] - [gpio] gpio: devres: Handle nonexclusive GPIOs (David Arcari) [1829900] - [gpio] gpio: Enable nonexclusive gpiods from DT nodes (David Arcari) [1829900] - [gpio] gpiolib-acpi: Only defer request_irq for GpioInt ACPI event handlers (David Arcari) [1829900] - [gpio] gpio: OF: Parse MMC-specific CD and WP properties (David Arcari) [1829900] - [gpio] gpio: restore original GPLv2+ license of gpiolib-of.c sources (David Arcari) [1829900] - [include] gpio: drop broken to_gpio_irq_chip() helper (David Arcari) [1829900] - [gpio] gpio: drop devm_gpio_chip_match() (David Arcari) [1829900] - [gpio] gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path (David Arcari) [1829900] - [gpio] gpiolib: Fix possible use after free on label (David Arcari) [1829900] - [documentation] Documentation: gpio: driver: fix wire name for I2C (David Arcari) [1829900] - [documentation] gpio/driver.rst: document gpiochip_disable/enable_irq() (David Arcari) [1829900] - [gpio] gpio: drop devm_gpiochip_remove() (David Arcari) [1829900] - [gpio] gpio: Clarify kerneldoc on gpiochip_set_chained_irqchip() (David Arcari) [1829900] - [gpio] gpio: Remove unused 'irqchip' argument to gpiochip_set_cascaded_irqchip() (David Arcari) [1829900] - [gpio] gpio: Drop parent irq assignment during cascade setup (David Arcari) [1829900] - [gpio] gpiolib: Initialize gdev field before is used (David Arcari) [1829900] - [gpio] gpio: Assign gpio_irq_chip::parents to non-stack pointer (David Arcari) [1829900] - [gpio] gpio: fix doc string for devm_gpiochip_add_data() to not talk about irq_chip (David Arcari) [1829900] - [gpio] gpio: mockup: fix indicated direction (David Arcari) [1829900] - [gpio] gpiolib: Show correct direction from the beginning (David Arcari) [1829900] - [gpio] gpiolib: Add init_valid_mask exported function (David Arcari) [1829900] - [gpio] gpio: Slightly more helpful debugfs (David Arcari) [1829900] - [gpio] Accept partial 'gpio-line-names' property (David Arcari) [1829900] - [gpio] gpio: Restore indentation of continued lines (David Arcari) [1829900] - [gpio] gpio: Propagate errors from gpiod_set_array_value_complex() (David Arcari) [1829900] - [gpio] gpiolib: Fix incorrect use of find_next_zero_bit() (David Arcari) [1829900] - [gpio] gpiolib: Fix missing updates of bitmap index (David Arcari) [1829900] - [gpio] gpio: Add comments on single direction chips (David Arcari) [1829900] - [gpio] gpiolib: Fix gpio_direction_* for single direction GPIOs (David Arcari) [1829900] - [gpio] gpio: Rename devres implementation file (David Arcari) [1829900] - [gpio] gpio: Use SPDX header for core library (David Arcari) [1829900] - [gpio] gpiolib: Fix array members of same chip processed separately (David Arcari) [1829900] - [gpio] gpiolib: Free the last requested descriptor (David Arcari) [1829900] - [gpio] gpio: Get rid of legacy header (David Arcari) [1829900] - [gpio] gpiolib: check if irqchip already has the irq hook replacements (David Arcari) [1829900] - [gpio] gpiolib: use better errno if get_direction is not available (David Arcari) [1829900] - [documentation] gpiolib: Implement fast processing path in get/set array (David Arcari) [1829900] - [documentation] Documentation: gpio: Fix reference to gpiod_get_array() (David Arcari) [1829900] - [gpio] gpiolib: Pass array info to get/set array functions (David Arcari) [1829900] - [gpio] gpiolib: Identify arrays matching GPIO hardware (David Arcari) [1829900] - [gpio] gpiolib: Pass bitmaps, not integer arrays, to get/set array (David Arcari) [1829900] - [gpio] gpiolib: Don't support irq sharing for userspace (David Arcari) [1829900] - [gpio] gpio: of: Handle SPI chipselect legacy bindings (David Arcari) [1829900] - [gpio] gpiolib: override irq_enable/disable (David Arcari) [1829900] - [gpio] gpiolib: add flag to indicate if the irq is disabled (David Arcari) [1829900] - [gpio] gliolib: set hooks in gpiochip_set_irq_hooks() (David Arcari) [1829900] - [gpio] gpiolib: export gpiochip_irq_reqres/relres() (David Arcari) [1829900] - [include] gpio: fix kernel-doc notation warning for 'request_key' (David Arcari) [1829900] - [gpio] gpio: Fix crash due to registration race (David Arcari) [1829900] - [gpio] gpio: Convert to using pOFn instead of device_node.name (David Arcari) [1829900] - [gpio] gpiolib-acpi: Register GpioInt ACPI event handlers from a late_initcall (David Arcari) [1829900] - [gpio] gpiolib: acpi: Switch to cansleep version of GPIO library call (David Arcari) [1829900] - [gpio] gpiolib: Avoid calling chip->request() for unused gpios (David Arcari) [1829900] - [gpio] gpio: mmio: Fix up inverted direction registers (David Arcari) [1829900] - [gpio] gpiolib: Fix of_node inconsistency (David Arcari) [1829900] - [gpio] gpiolib: Don't shadow error code of gpiochip_lock_as_irq() (David Arcari) [1829900] - [include] gpiolib: Use GPIOD_OUT_{LOW, HIGH} macros in open drain ones (David Arcari) [1829900] - [gpio] gpiolib: probe deferral error reporting (David Arcari) [1829900] - [include] Input: gpio_keys - add missing include to gpio_keys.h (David Arcari) [1829900] - [gpio] gpiolib: remove an unnecessary TODO (David Arcari) [1829900] - [gpio] gpiolib: don't allow userspace to set values of input lines (David Arcari) [1829900] - [gpio] gpiolib: Join one line back for better readability (David Arcari) [1829900] - [gpio] gpiolib: Consistent use of ->get_direction() inside gpiolib (David Arcari) [1829900] - [gpio] gpiolib: Defer on non-DT find_chip_by_name() failure (David Arcari) [1829900] - [gpio] gpiolib: Respect error code of ->get_direction() (David Arcari) [1829900] - [gpio] gpiolib: Join string literals back (David Arcari) [1829900] - [include] gpio.h: fix location of gpio legacy documentation (David Arcari) [1829900] - [fs] gfs2: Fix use-after-free in gfs2_logd after withdraw (Robert S Peterson) [1831695] - [fs] gfs2: Fix BUG during unmount after file system withdraw (Robert S Peterson) [1831695] - [fs] gfs2: Fix error exit in do_xmote (Robert S Peterson) [1831695] - [fs] gfs2: fix withdraw sequence deadlock (Robert S Peterson) [1831695] - [mm] s390/mm: fix page table upgrade vs 2ndary address mode accesses (Vladis Dronov) [1828154] {CVE-2020-11884} - [media] media: serial_ir: Fix use-after-free in serial_ir_init_module (Vladis Dronov) [1802396] {CVE-2019-19543} - [mm] mm/memory_hotplug: fix remove_memory() lockdep splat (Christoph von Recklinghausen) [1830942] - [mm] mm/page_alloc.c: initialize memmap of unavailable memory directly (Christoph von Recklinghausen) [1782827] - [fs] fs/proc/page.c: allow inspection of last section and fix end detection (Christoph von Recklinghausen) [1782827] - [mm] mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section (Christoph von Recklinghausen) [1782827] - [powerpc] kvm: ppc: book3s hv: Handle non-present PTEs in page fault functions (David Gibson) [1820402] - [vfio] vfio-pci/nvlink2: Allow fallback to ibm, mmio-atsd[0] (David Gibson) [1819169] - [s390] s390/cpuinfo: fix wrong output when CPU0 is offline (Philipp Rudo) [1812982] - [s390] s390/topology: remove offline CPUs from CPU topology masks (Philipp Rudo) [1812982] - [hwtracing] intel_th: pci: Add Comet Lake PCH-V support (Tony Camuso) [1822983] - [kernel] kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic (Waiman Long) [1833383] - [kernel] kprobes: Set unoptimized flag after unoptimizing code (Waiman Long) [1833383] - [kernel] kprobes: Prohibit probing on BUG() and WARN() address (Waiman Long) [1833383] - [kernel] kprobes: Fix potential deadlock in kprobe_optimizer() (Waiman Long) [1833383] - [fs] gfs2: More gfs2_find_jhead fixes (Abhijith Das) [1828653] - [kernel] audit: fix a net reference leak in audit_list_rules_send() (Richard Guy Briggs) [1827327] - [kernel] audit: fix a net reference leak in audit_send_reply() (Richard Guy Briggs) [1827327] - [kernel] audit: check the length of userspace generated audit records (Richard Guy Briggs) [1827303] - [s390] s390/pci: do not set affinity for floating irqs (Philipp Rudo) [1834319] - [netdrv] mlx5: Remove the unsupported mark from ConnectX-6 Dx device (Alaa Hleihel) [1789382 1782831] - [netdrv] mlx5: Update list of unsupported devices (Alaa Hleihel) [1823685 1789382] - [infiniband] RDMA/mlx5: Verify that QP is created with RQ or SQ (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix udata response upon SRQ creation (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Set of completion request bit should not clear other adjacent bits (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: en_accel, Add missing net/geneve.h include (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix q counters on uplink representors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix command entry leak in Internal Error State (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix forced completion access non initialized command entry (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, On creation set CQ's arm_db member to right value (Alaa Hleihel) [1789384 1789382] - [infiniband] RDMA/mlx5: Set GRH fields in query QP on RoCE (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Get the latest values from counters in switchdev mode (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ overruns (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix failing fw tracer allocation on s390 (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix pfnum in devlink port attribute (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix nest_level for vlan pop action (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add missing release firmware call (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix frequent ioread PCI access during recovery (Alaa Hleihel) [1789382] - [netdrv] flow_offload: check for basic action hw stats type (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Remove unused argument from parse_tc_pedit_action() (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Use netdev_warn() instead of pr_err() for errors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Remove unneeded functions deceleration (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Improve log messages (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Change matcher priority parameter type (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: Eswitch, avoid redundant mask (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Don't allow forwarding between uplink (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Fix missing congestion control debugfs on rep rdma device (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Optimize u64 division on 32-bit arches (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Prevent UMR usage with RO only when we have RO caps (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix group version management (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: E-Switch, Hold mutex when querying drop counter in legacy mode (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Tidy up and fix reverse christmas ordring (Alaa Hleihel) [1831133 1789382] - [netdrv] net/mlx5: Expose port speed when possible (Alaa Hleihel) [1831133 1789382] - [include] net/mlx5: Expose link speed directly (Alaa Hleihel) [1831133 1789382] - [netdrv] net/mlx5e: Use netdev_warn() for errors for added prefix (Alaa Hleihel) [1789382] - [include] net/mlx5: fix spelling mistake "reserverd" -> "reserved" (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: sparse: warning: Using plain integer as NULL pointer (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: sparse: warning: incorrect type in assignment (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: RX, Use indirect calls wrapper for handling compressed completions (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: RX, Use indirect calls wrapper for posting descriptors (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Change inline mode correctly when changing trust state (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add context to the preactivate hook (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Allow mlx5e_switch_priv_channels to fail and recover (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Remove unneeded netif_set_real_num_tx_queues (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix configuration of XPS cpumasks and netdev queues in corner cases (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Use preactivate hook to set the indirection table (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Rename hw_modify to preactivate (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Encapsulate updating netdev queues into a function (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Add missing LRO cap check (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Define one flow for TXQ selection when TCs are configured (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Block delay drop to unprivileged users (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix access to wrong pointer while performing flush due to error (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Do not recover from a non-fatal syndrome (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix ICOSQ recovery flow with Striding RQ (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix missing reset of SW metadata in Striding RQ reset (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Enhance ICOSQ WQE info fields (Alaa Hleihel) [1789382] - [netdrv] net/mlx5_core: Set IB capability mask1 to fix ib_srpt connection failure (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix the number of hwcounters of a dynamic counter (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Clear LAG notifier pointer after unregister (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix endianness handling in pedit mask (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: kTLS, Fix wrong value in record tracker enum (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Fix postsend actions write length (Alaa Hleihel) [1789384 1789382] - [infiniband] IB/mlx5: Fix implicit ODP race (Alaa Hleihel) [1789382] - [netdrv] mlx5: register lag notifier for init network namespace only (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix crash in recovery flow without devlink reporter (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Use div64_u64 for num_var_hw_entries calculation (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Prevent overflow in mmap offset calculations (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix async events cleanup flows (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Deprecate usage of generic TLS HW capability bit (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: TX, Error completion is for last WQE in batch (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: IPsec, Fix esp modify function attribute (Alaa Hleihel) [1789382] - [infiniband] RDMA/core: Make the entire API tree static (Alaa Hleihel) [1789382] - [netdrv] mlx5: Use dev_net netdevice notifier registrations (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Return the administrative GUID if exists (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: DR, Allow connecting flow table to a lower/same level table (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Modify header copy support (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5: DR, Modify set action limitation extension (Alaa Hleihel) [1789384 1789382] - [netdrv] net/mlx5e: Add mlx5e_flower_parse_meta support (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Fix printk format warning (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Allow creating autogroups with reserved entries (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add ignore level support fwd to table rules (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: fs_core: Introduce unmanaged flow tables (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Refactor mlx5_create_auto_grouped_flow_table (Alaa Hleihel) [1789383 1789382] - [include] net/mlx5e: Expose FEC feilds and related capability bit (Alaa Hleihel) [1789382] - [include] net/mlx5: Add mlx5_ifc definitions for connection tracking support (Alaa Hleihel) [1789382] - [include] net/mlx5: Add copy header action struct layout (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Expose resource dump register mapping (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add structures and defines for MIRC register (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Read MCAM register groups 1 and 2 (Alaa Hleihel) [1789382] - [include] net/mlx5: Add structures layout for new MCAM access reg groups (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Expose RoCE accelerator counters (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Set relaxed ordering when requested (Alaa Hleihel) [1789382] - [include] net/mlx5: Expose relaxed ordering bits (Alaa Hleihel) [1789382] - [include] net/mlx5: Add RoCE accelerator counters (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Fix handling of IOVA != user_va in ODP paths (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Mask out unsupported ODP capabilities for kernel QPs (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Don't fake udata for kernel path (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Add ODP WQE handlers for kernel QPs (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: Simplify devx async commands (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Add mmap support for VAR (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Introduce VAR object and its alloc/destroy methods (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Extend caps stage to handle VAR capabilities (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Expose vDPA emulation device capabilities (Alaa Hleihel) [1789382] - [include] net/mlx5: Add Virtio Emulation related device capabilities (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Use async EQ setup cleanup helpers for multiple EQs (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Reduce No CQ found log level from warn to debug (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Increase the max number of channels to 128 (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Support accept action on nic table (Alaa Hleihel) [1789382] - [netdrv] mlx5: work around high stack usage with gcc (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: limit the function in local scope (Alaa Hleihel) [1789382] - [infiniband] RDMA/mlx5: use true, false for bool variable (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Unify ODP MR code paths to allow extra flexibility (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Fix outstanding_pi index for GSI qps (Alaa Hleihel) [1789382] - [netdrv] net/mlx5: Add devlink reload (Alaa Hleihel) [1789382] - [netdrv] net/mlx5e: Set netdev name space on creation (Alaa Hleihel) [1789382] - [infiniband] IB/mlx5: Load profile according to RoCE enablement state (Alaa Hleihel) [1790200 1789382] - [netdrv] net/mlx5: Handle "enable_roce" devlink param (Alaa Hleihel) [1790200 1789382] - [fs] gfs2: Another gfs2_walk_metadata fix (Andreas Grunbacher) [1826419] - [nvme] nvmet-tcp: optimize tcp stack TX when data digest is used (Chris Leech) [1829540] - [nvme] nvmet-tcp: fix maxh2cdata icresp parameter (Chris Leech) [1829540] - [nvme] nvmet-tcp: set SO_PRIORITY for accepted sockets (Chris Leech) [1829540] - [nvme] nvmet-tcp: set MSG_MORE only if we actually have more to send (Chris Leech) [1829540] - [nvme] nvme-tcp: fix possible crash in recv error flow (Chris Leech) [1829540] - [nvme] nvme-tcp: don't poll a non-live queue (Chris Leech) [1829540] - [nvme] nvme-tcp: fix possible crash in write_zeroes processing (Chris Leech) [1829540] - [nvme] nvme-tcp: Add warning on state change failure at nvme_tcp_setup_ctrl (Chris Leech) [1829540] - [nvme] nvme: Make nvme_uninit_ctrl symmetric to nvme_init_ctrl (Chris Leech) [1829540] - [nvme] nvme: Fix ctrl use-after-free during sysfs deletion (Chris Leech) [1829540] - [nvme] nvme-tcp: break from io_work loop if recv failed (Chris Leech) [1829540] - [nvme] nvme-tcp: move send failure to nvme_tcp_try_send (Chris Leech) [1829540] - [nvme] nvme-tcp: optimize queue io_cpu assignment for multiple queue maps (Chris Leech) [1829540] - [nvme] nvme-tcp: Set SO_PRIORITY for all host sockets (Chris Leech) [1829540] - [nvme] nvme/tcp: fix bug on double requeue when send fails (Chris Leech) [1829540] - [nvme] Revert "nvme: Restart request timers in resetting state" (Chris Leech) [1829540] - [acpi] ACPI: processor: Export acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Make ACPI_PROCESSOR_CSTATE depend on ACPI_PROCESSOR (Steve Best) [1826415] - [acpi] ACPI: processor: Clean up acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Introduce acpi_processor_evaluate_cst() (Steve Best) [1826415] - [acpi] ACPI: processor: Export function to claim _CST control (Steve Best) [1826415] - [s390] s390/ftrace: fix potential crashes when switching tracers (Philipp Rudo) [1831796] - [net] net/smc: cancel event worker during device removal (Philipp Rudo) [1780665] - [net] net/smc: check for valid ib_client_data (Philipp Rudo) [1780665] - [net] net/smc: fix cleanup for linkgroup setup failures (Philipp Rudo) [1780665] - [net] net/smc: no peer ID in CLC decline for SMCD (Philipp Rudo) [1780665] - [net] net/smc: transfer fasync_list in case of fallback (Philipp Rudo) [1780665] - [net] net/smc: fix leak of kernel memory to user space (Philipp Rudo) [1780665] - [net] net/smc: allow unprivileged users to read pnet table (Philipp Rudo) [1780665] - [net] net/smc: unregister ib devices in reboot_event (Philipp Rudo) [1780665] - [net] net/smc: add fallback check to connect() (Philipp Rudo) [1780665] - [net] net/smc: shorten lgr_cnt initialization (Philipp Rudo) [1780665] - [net] net/smc: fix fastopen for non-blocking connect() (Philipp Rudo) [1780665] - [net] net/smc: remove unused constant (Philipp Rudo) [1780665] - [net] net/smc: use rcu_barrier() on module unload (Philipp Rudo) [1780665] - [net] net/smc: guarantee removal of link groups in reboot (Philipp Rudo) [1780665] - [net] net/smc: introduce bookkeeping of SMCR link groups (Philipp Rudo) [1780665] - [net] net/smc: immediate termination for SMCR link groups (Philipp Rudo) [1780665] - [net] net/smc: wait for tx completions before link freeing (Philipp Rudo) [1780665] - [net] net/smc: abnormal termination without orderly flag (Philipp Rudo) [1780665] - [net] net/smc: no WR buffer wait for terminating link group (Philipp Rudo) [1780665] - [net] net/smc: introduce bookkeeping of SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: abnormal termination of SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: immediate termination for SMCD link groups (Philipp Rudo) [1780665] - [net] net/smc: fix final cleanup sequence for SMCD devices (Philipp Rudo) [1780665] - [net] net/smc: fix refcount non-blocking connect() -part 2 (Philipp Rudo) [1780665] - [net] net/smc: fix ethernet interface refcounting (Philipp Rudo) [1780665] - [net] net/smc: fix refcounting for non-blocking connect() (Philipp Rudo) [1780665] - [net] net/smc: fix closing of fallback SMC sockets (Philipp Rudo) [1780665] - [net] net/smc: remove close abort worker (Philipp Rudo) [1780665] - [net] net/smc: introduce link group termination worker (Philipp Rudo) [1780665] - [net] net/smc: improve abnormal termination of link groups (Philipp Rudo) [1780665] - [net] net/smc: tell peers about abnormal link group termination (Philipp Rudo) [1780665] - [net] net/smc: improve link group freeing (Philipp Rudo) [1780665] - [net] net/smc: improve abnormal termination locking (Philipp Rudo) [1780665] - [net] net/smc: terminate link group without holding lgr lock (Philipp Rudo) [1780665] - [net] net/smc: cancel send and receive for terminated socket (Philipp Rudo) [1780665] - [net] net/smc: receive pending data after RCV_SHUTDOWN (Philipp Rudo) [1780665] - [net] net/smc: receive returns without data (Philipp Rudo) [1780665] - [net] net/smc: fix SMCD link group creation with VLAN id (Philipp Rudo) [1780665] - [net] net/smc: improve close of terminated socket (Philipp Rudo) [1780665] - [net] net/smc: no new connections on disappearing devices (Philipp Rudo) [1780665] - [net] net/smc: increase device refcount for added link group (Philipp Rudo) [1780665] - [net] net/smc: separate locks for SMCD and SMCR link group lists (Philipp Rudo) [1780665] - [net] net/smc: separate SMCD and SMCR link group lists (Philipp Rudo) [1780665] - [net] net/smc: original socket family in inet_sock_diag (Philipp Rudo) [1780665] - [infiniband] RDMA/bnxt_re: Use rdma_read_gid_hw_context to retrieve HW gid index (Kamal Heib) [1828601] - [infiniband] RDMA/core: Add helper function to retrieve driver gid context from gid attr (Kamal Heib) [1828601] - [media] media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused() (Vladis Dronov) [1825616] {CVE-2019-9455} - [net] SUNRPC: Fix initialisation of struct rpc_xprt_switch (Steve Dickson) [1683394] - [net] SUNRPC: add links for all client xprts to debugfs (Steve Dickson) [1683394] - [net] SUNRPC: enhance rpc_clnt_show_stats() to report on all xprts (Steve Dickson) [1683394] - [net] SUNRPC: Fix transport accounting when caller specifies an rpc_xprt (Steve Dickson) [1683394] - [fs] NFS: send state management on a single connection (Steve Dickson) [1683394] - [net] SUNRPC: Add basic load balancing to the transport switch (Steve Dickson) [1683394] - [net] SUNRPC: Fix up task signalling (Steve Dickson) [1683394] - [fs] NFS: Allow multiple connections to a NFSv2 or NFSv3 server (Steve Dickson) [1683394] - [fs] NFS: Display the "nconnect" mount option if it is set (Steve Dickson) [1683394] - [fs] pNFS: Allow multiple connections to the DS (Steve Dickson) [1683394] - [fs] NFSv4: Allow multiple connections to NFSv4.x (x>0) servers (Steve Dickson) [1683394] - [fs] NFS: Add a mount option to specify number of TCP connections to use (Steve Dickson) [1683394] - [net] SUNRPC: Allow creation of RPC clients with multiple connections (Steve Dickson) [1683394] - [net] netlabel: cope with NULL catmap (Paolo Abeni) [1827251] {CVE-2020-10711} - [scsi] scsi: qla2xxx: fix a potential NULL pointer dereference ("Ewan D. Milne") [1829250] {CVE-2019-16233} - [input] Input: ff-memless - kill timer in destroy() (Chris von Recklinghausen) [1815024] {CVE-2019-19524}- [netdrv] net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: kTLS, Remove redundant posts in TX resync flow (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: kTLS, Fix corner-case checks in TX resync flow (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Fix lowest FDB pool size (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Fix hairpin RSS table size (Alaa Hleihel) [1789380] - [netdrv] Revert "net/mlx5: Support lockless FTE read lookups" (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move devlink registration before interfaces load (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Always print health reporter message to dmesg (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Avoid duplicating rule destinations (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Fix device memory flows (Alaa Hleihel) [1789380] - [netdrv] treewide: Use sizeof_field() macro (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: E-switch, Fix Ingress ACL groups in switchdev mode for prio tag (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Fix build error without IPV6 (Alaa Hleihel) [1789380] - [netdrv] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Remove redundant pointer check (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: TC, Stub out ipv6 tun create header function (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Add support for Geneve packets SW steering (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Add HW bits and definitions for Geneve flex parser (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: DR, Refactor VXLAN GPE flex parser tunnel code for SW steering (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Don't write read-only fields in MODIFY_HCA_VPORT_CONTEXT command (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Implement callbacks for getting VFs GUID attributes (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Rx, Update page pool numa node when changed (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Support extended number of strides for Striding RQ (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Remove redundant NULL initializations (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Add new chain for netfilter flow table offload (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Refactor creating fast path prio chains (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Accumulate levels for chains prio namespaces (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Define fdb tc levels per prio (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Rename FDB_* tc related defines to FDB_TC_* defines (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Simplify fdb chain and prio eswitch defines (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Support flow counters offset for bulk counters (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Dump of fw_fatal use updated devlink binary interface (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Rename profile and init methods (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: fix spelling mistake "metdata" -> "metadata" (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: fix kvfree of uninitialized pointer spec (Alaa Hleihel) [1789380] - [infiniband] IB: mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: LAG, Use port enumerators (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: rate limit alloc_ent error messages (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Add ToS (DSCP) header rewrite support (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Bit sized fields rewrite support (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: WQ, Move short getters into header file (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: TX, Dump WQs wqe descriptors on CQE with error events (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Support lockless FTE read lookups (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Do not hold group lock while allocating FTE in software (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Verify that rule has at least one fwd/drop action (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Remove unneeded variable in mlx5_unload_one (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: FPGA, support network cards with standalone FPGA (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Introduce and use mlx5_core_is_vf() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Refactor ingress acl configuration (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Restrict metadata disablement to offloads mode (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Offloads shift ACL programming during enable/disable vport (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Offloads introduce and use per vport acl tables APIs (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move ACL drop counters life cycle close to ACL lifecycle (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Legacy introduce and use per vport acl tables APIs (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Prepare code to handle vport enable error (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Tide up state_lock and vport enabled flag usage (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move legacy drop counter and rule under legacy structure (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Move metdata fields under offloads structure (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: Introduce and use mlx5_esw_is_manager_vport() (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-switch, Introduce and use vlan rule config helper (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Rename ingress acl config in offloads mode (Alaa Hleihel) [1789380] - [netdrv] net/mlx5: E-Switch, Rename egress config to generic name (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Test write combining support (Alaa Hleihel) [1789380] - [netdrv] net: Fix misspellings of "configure" and "configuration" (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Do not race with mlx5_ib_invalidate_range during create and destroy (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Do not store implicit children in the odp_mkeys xarray (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Rework implicit ODP destroy (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Avoid double lookups on the pagefault path (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Reduce locking in implicit_mr_get_data() (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use an xarray for the children of an implicit ODP (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Split implicit handling from pagefault_mr (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Set the HW IOVA of the child MRs to their place in the tree (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Lift implicit_mr_alloc() into the two routines that call it (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Rework implicit_mr_get_data (Alaa Hleihel) [1789380] - [netdrv] RDMA/mlx5: Delete struct mlx5_priv->mkey_table (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use a dedicated mkey xarray for ODP (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Split sig_err MR data into its own xarray (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Use SRCU properly in ODP prefetch (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Align usage of QP1 create flags with rest of mlx5 defines (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Add capability for max sge to get optimized performance (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Introduce and use mkey context setting helper routine (Alaa Hleihel) [1789380] - [include] net/mlx5: Expose optimal performance scatter entries capability (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Remove unnecessary else statement (Alaa Hleihel) [1789380] - [infiniband] IB/mlx5: Remove unnecessary return statement (Alaa Hleihel) [1789380] - [infiniband] RDMA/mlx5: Group boolean parameters to take less space (Alaa Hleihel) [1789380] - [netdrv] net/mlx5e: Add missing capability bit check for IP-in-IP (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Fix ingress rate configuration for representors (Alaa Hleihel) [1789378] - [netdrv] mlx5: reject unsupported external timestamp flags (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Replace kfree with kvfree when free vhca stats (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Remove incorrect match criteria assignment line (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Enhance TX resync flow (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save a copy of the crypto info (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Remove unneeded cipher type checks (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Limit DUMP wqe size (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Fix missing SQ edge fill (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Fix page refcnt leak in TX resync error flow (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save by-value copy of the record frags (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Save only the frag page to release at completion (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Size of a Dump WQE is fixed (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Release reference on DUMPed fragments in shutdown flow (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Put live in the correct place for ODP MRs (Alaa Hleihel) [1789378] - [infiniband] RDMA/odp: Lift umem_mutex out of ib_umem_odp_unmap_dma_pages() (Alaa Hleihel) [1789378] - [netdrv] drivers: net: Fix Kconfig indentation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: DR, Remove redundant dev_name print from err log (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: DR, Remove useless set memory to zero use memset() (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: kTLS, Remove unused function parameter (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Use PTR_ERR_OR_ZERO rather than its implementation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Use ipv6_stub to avoid dependency with ipv6 being a module (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Kconfig: Fix MLX5_CORE dependency with PCI_HYPERV_INTERFACE (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Fix static checker warning of potential pointer math issue (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Remove unlikely() from WARN*() condition (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Support TSO and TX checksum offloads for IP-in-IP tunnels (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Improve stateless offload capability check (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Change function's position to a more fitting file (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add page fault handler for DC initiator WQE (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Remove check of FW capabilities in ODP page fault handling (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Set ODP capabilities for DC transport to max (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: RDMA_RX flow type support for user applications (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Fix return code in case of hyperv wrong size read (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add mlx5e HV VHCA stats agent (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add HV VHCA control agent (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add HV VHCA infrastructure (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add wrappers for HyperV PCIe operations (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add trace point for neigh update (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add trace point for neigh used value update (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Add tc flower tracepoints (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Use ib_umem_start instead of umem.address (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Create bypass and loopback flow steering namespaces for RDMA RX (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add per-namespace flow table default miss action support (Alaa Hleihel) [1789378] - [include] net/mlx5: Expose IP-in-IP capability bit (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Improve functions documentation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Report and recover from CQE with error on RQ (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: RX, Handle CQE with error at the earliest stage (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Report and recover from rx timeout (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Report and recover from CQE error on ICOSQ (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Split open/close ICOSQ into stages (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add support to rx reporter diagnose (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add helper functions for reporter's basics (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Add cq info to tx reporter diagnose (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Extend tx reporter diagnostics output (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Extend tx diagnose function (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Generalize tx reporter's functionality (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Change naming convention for reporter's functions (Alaa Hleihel) [1790198 1789378] - [netdrv] net/mlx5e: Rename reporter header file (Alaa Hleihel) [1790198 1789378] - [infiniband] RDMA/mlx5: Annotate lock dependency in bind/unbind slave port (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Expose XRQ legacy commands over the DEVX interface (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add legacy events to DEVX list (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Add XRQ legacy commands opcodes (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: Use debug message instead of warn (Alaa Hleihel) [1789378] - [netdrv] mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1789378] - [infiniband] mlx5: Use refcount_t for refcount (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Allow dropping specific tunnel packets (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: TX reporter cleanup (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Set tx reporter only on successful creation (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Rx, checksum handling refactoring (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Tx, Soften inline mode VLAN dependencies (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: XDP, Slight enhancement for WQE fetch function (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: XDP, Close TX MPWQE session when no room for inline packet left (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: Tx, Strict the room needed for SQ edge NOPs (Alaa Hleihel) [1789378] - [netdrv] net/mlx5: E-Switch, add ingress rate support (Alaa Hleihel) [1789378] - [infiniband] RDMA/mlx5: Remove DEBUG ODP code (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface (Alaa Hleihel) [1789378] - [infiniband] IB/mlx5: Avoid unnecessary typecast (Alaa Hleihel) [1789378] - [netdrv] net/mlx5e: xsk: dynamically allocate mlx5e_channel_param (Alaa Hleihel) [1789378] - [netdrv] net: Use skb accessors in network drivers (Alaa Hleihel) [1789378] - [char] tpm: Export tpm2_get_cc_attrs_tbl for ibmvtpm driver as module (David Gibson) [1781915] - [char] tpm: ibmvtpm: Add support for TPM2 (David Gibson) [1781915] - [char] tpm: of: Handle IBM, vtpm20 case when getting log parameters (David Gibson) [1781915] - [wireless] iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168 devices (Jarod Wilson) [1807052] - [wireless] mwifiex: set needed_headroom, not hard_header_len (Jarod Wilson) [1807052] - [wireless] ath9k: Handle txpower changes even when TPC is disabled (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: fix coverage_class type (Jarod Wilson) [1807052] - [wireless] rtw88: Use kfree_skb() instead of kfree() (Jarod Wilson) [1807052] - [wireless] brcmfmac: abort and release host after error (Jarod Wilson) [1807052] - [wireless] ath11k: Silence clang -Wsometimes-uninitialized in ath11k_update_per_peer_stats_from_txcompl (Jarod Wilson) [1807052] - [wireless] ath10k: Call cpu_latency_qos_*() instead of pm_qos_*() (Jarod Wilson) [1807052] - [net] mac80211: fix authentication with iwlwifi/mvm (Jarod Wilson) [1807052] - [net] mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX (Jarod Wilson) [1807052] - [net] mac80211: mark station unauthorized before key removal (Jarod Wilson) [1807052] - [net] mac80211: Check port authorization in the ieee80211_tx_dequeue() case (Jarod Wilson) [1807052] - [net] cfg80211: Do not warn on same channel at the end of CSA (Jarod Wilson) [1807052] - [net] mac80211: drop data frames without key on encrypted links (Jarod Wilson) [1807052] - [net] nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: add 0x2526/0x401* devices back to cfg detection (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Fix regression due to commit d1d1a96bdb44 (Jarod Wilson) [1807052] - [wireless] iwlwifi: cfg: use antenna diversity with all AX101 devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Fix rate scale NSS configuration (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: don't add TLV offset when reading FIFOs (Jarod Wilson) [1807052] - [wireless] iwlwifi: check allocated pointer when allocating conf_tlvs (Jarod Wilson) [1807052] - [wireless] iwlwifi: consider HE capability when setting LDPC (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: take the required lock when clearing time event data (Jarod Wilson) [1807052] - [net] mac80211: Do not send mesh HWMP PREQ if HWMP is disabled (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for channel switch (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for beacon report scanning (Jarod Wilson) [1807052] - [net] nl80211: add missing attribute validation for critical protocol indication (Jarod Wilson) [1807052] - [wireless] mt76: fix array overflow on receiving too many fragments for a packet (Jarod Wilson) [1807052] - [net] mac80211: rx: avoid RCU list traversal under mutex (Jarod Wilson) [1807052] - [net] nl80211: explicitly include if_vlan.h (Jarod Wilson) [1807052] - [net] mac80211: Remove a redundant mutex unlock (Jarod Wilson) [1807052] - [net] cfg80211: check reg_rule for NULL in handle_channel_custom() (Jarod Wilson) [1807052] - [net] nl80211: fix potential leak in AP start (Jarod Wilson) [1807052] - [net] mac80211: fix wrong 160/80+80 MHz setting (Jarod Wilson) [1807052] - [net] cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix max_nss in mt7615_eeprom_parse_hw_cap (Jarod Wilson) [1807052] - [net] cfg80211: check wiphy driver existence for drvinfo report (Jarod Wilson) [1807052] - [net] mac80211: consider more elements in parsing CRC (Jarod Wilson) [1807052] - [net] mac80211: fix quiet mode activation in action frames (Jarod Wilson) [1807052] - [net] mac80211: use more bits for ack_frame_id (Jarod Wilson) [1807052] - [wireless] rtw88: Fix return value of rtw_wow_check_fw_status (Jarod Wilson) [1807052] - [wireless] iwlwifi: d3: read all FW CPUs error info (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix TDLS discovery with the new firmware API (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: avoid use after free for pmsr request (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: update the DTS measurement type (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't throw error when trying to remove IGTK (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Fix thermal zone registration (Jarod Wilson) [1807052] - [wireless] iwlwifi: use helpers (Jarod Wilson) [1807052] - [wireless] mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv() (Jarod Wilson) [1807052] - [wireless] mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status() (Jarod Wilson) [1807052] - [wireless] mwifiex: fix unbalanced locking in mwifiex_process_country_ie() (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: fix spelling mistake "initilized" -> "initialized" (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: remove unused variables (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: remove redundant assignment to variable cond (Jarod Wilson) [1807052] - [wireless] brcmfmac: Remove always false 'idx < 0' statement (Jarod Wilson) [1807052] - [wireless] rtw88: use shorter delay time to poll PS state (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential NULL skb access in TX ISR (Jarod Wilson) [1807052] - [wireless] brcmfmac: add initial support for monitor mode (Jarod Wilson) [1807052] - [wireless] brcmfmac: simplify building interface combinations (Jarod Wilson) [1807052] - [wireless] brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 (Jarod Wilson) [1807052] - [wireless] brcmfmac: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] rtw88: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Remove sw.h header (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: Remove sw.h header (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Make functions static & rm sw.h (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: Fix typo (Jarod Wilson) [1807052] - [wireless] rtw88: change max_num_of_tx_queue() definition to inline in pci.h (Jarod Wilson) [1807052] - [wireless] rtw88: assign NULL to skb after being kfree()'ed (Jarod Wilson) [1807052] - [wireless] rtw88: use rtw_hci_stop() instead of rtwdev->hci.ops->stop() (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused vif pointer in struct rtw_vif (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused variable 'in_lps' (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused spinlock (Jarod Wilson) [1807052] - [wireless] rtw88: 8822c: update power sequence to v15 (Jarod Wilson) [1807052] - [wireless] rtw88: fix TX secondary channel offset of 40M if current bw is 20M or 40M (Jarod Wilson) [1807052] - [wireless] rtw88: fix rate mask for 1SS chip (Jarod Wilson) [1807052] - [wireless] rtw88: Add wowlan net-detect support (Jarod Wilson) [1807052] - [wireless] rtw88: Add wowlan pattern match support (Jarod Wilson) [1807052] - [wireless] rtw88: support wowlan feature for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: load wowlan firmware if wowlan is supported (Jarod Wilson) [1807052] - [wireless] rtw88: add interface config for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset dma when reset pci trx ring (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset ring index when release skbs in tx ring (Jarod Wilson) [1807052] - [wireless] ath10k: Use device_get_match_data() to simplify code (Jarod Wilson) [1807052] - [wireless] ath10k: Add newlines to printk messages (Jarod Wilson) [1807052] - [wireless] ath10k: Correct the DMA direction for management tx buffers (Jarod Wilson) [1807052] - [wireless] mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame() (Jarod Wilson) [1807052] - [wireless] ath11k: fix up some error paths (Jarod Wilson) [1807052] - [wireless] ath11k: make sure to also report the RX bandwidth inside radiotap (Jarod Wilson) [1807052] - [wireless] ath11k: avoid null pointer dereference when pointer band is null (Jarod Wilson) [1807052] - [wireless] ath11k: Add missing pdev rx rate stats (Jarod Wilson) [1807052] - [wireless] ath11k: ensure ts.flags is initialized before bit-wise or'ing in values (Jarod Wilson) [1807052] - [wireless] ath11k: set TxBf parameters after vdev start (Jarod Wilson) [1807052] - [wireless] ath11k: enable HE tlvs in ppdu stats for pktlog lite (Jarod Wilson) [1807052] - [wireless] ath11k: fix debugfs build failure (Jarod Wilson) [1807052] - [wireless] ath10k: Don't call SCM interface for statically mapped msa region (Jarod Wilson) [1807052] - [wireless] Revert "ath10k: fix DMA related firmware crashes on multiple devices" (Jarod Wilson) [1807052] - [wireless] ath10k: drop RX skb with invalid length for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: use true,false for bool variable (Jarod Wilson) [1807052] - [wireless] ath10k: Add optional qdss clk (Jarod Wilson) [1807052] - [wireless] ath10k: pci: Fix comment on ath10k_pci_dump_memory_sram (Jarod Wilson) [1807052] - [wireless] ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe (Jarod Wilson) [1807052] - [wireless] ath9k: use true,false for bool variable (Jarod Wilson) [1807052] - [net] net: mac80211: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1807052] - [wireless] net: iwlwifi: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1807052] - [wireless] iwlwifi: add device name to device_info (Jarod Wilson) [1807052] - [wireless] iwlwifi: implement a new device configuration table (Jarod Wilson) [1807052] - [wireless] iwlwifi: assume the driver_data is a trans_cfg, but allow full cfg (Jarod Wilson) [1807052] - [wireless] iwlwifi: prph: remove some unused register definitions (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: print out extended secboot status before dump (Jarod Wilson) [1807052] - [wireless] iwlwifi: incorporate firmware filename into version (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: check for the domain on all TLV types during init (Jarod Wilson) [1807052] - [wireless] iwlwifi: add new iwlax411 struct for type SoSnj (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: remove the iwl_dbg_tlv_gen_active_trigs() function (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: remove unnecessary active triggers status flag (Jarod Wilson) [1807052] - [wireless] iwlwifi: yoyo: don't allow changing the domain via debugfs (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Update BEACON_TEMPLATE_CMD firmware API (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove CSR registers abstraction (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove some outdated iwl22000 configurations (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: validate queue ID before array deref/bit ops (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: use partial pages if applicable (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: map only used part of RX buffers (Jarod Wilson) [1807052] - [wireless] iwlwifi: allocate more receive buffers for HE devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for responder config command version 7 (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for location range request version 8 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: remove support for fw scan api v11 (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: don't skip a TX FIFO when dumping (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: update powersave correctly for D3 (Jarod Wilson) [1807052] - [wireless] ath11k: Use sizeof_field() instead of FIELD_SIZEOF() (Jarod Wilson) [1807052] - [wireless] ath11k: explicitly cast wmi commands to their correct struct type (Jarod Wilson) [1807052] - [wireless] orinoco: avoid assertion in case of NULL pointer (Jarod Wilson) [1807052] - [wireless] brcmfmac: Keep OOB wake-interrupt disabled when it shouldn't be enabled (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix memory leak in brcmf_usbdev_qinit (Jarod Wilson) [1807052] - [wireless] brcmfmac: not set mbss in vif if firmware does not support MBSS (Jarod Wilson) [1807052] - [wireless] brcmfmac: add RSDB condition when setting interface combinations (Jarod Wilson) [1807052] - [wireless] brcmfmac: add support for BCM4359 SDIO chipset (Jarod Wilson) [1807052] - [wireless] brcmfmac: make errors when setting roaming parameters non-fatal (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix rambase for 4359/9 (Jarod Wilson) [1807052] - [wireless] brcmfmac: set F2 blocksize and watermark for 4359 (Jarod Wilson) [1807052] - [wireless] brcmfmac: reset two D11 cores if chip has two D11 cores (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: use generic rtl_signal_scale_mapping (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192cu: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: use generic rtl_query_rxpwrpercentage (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix interface sanity check (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix interface sanity check (Jarod Wilson) [1807052] - [wireless] brcmfmac: set interface carrier to off by default (Jarod Wilson) [1807052] - [wireless] mwifiex: delete unused mwifiex_get_intf_num() (Jarod Wilson) [1807052] - [wireless] rt2x00usb: Fix a warning message in 'rt2x00usb_watchdog_tx_dma()' (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix use after free in brcmf_sdio_readframes() (Jarod Wilson) [1807052] - [wireless] rt2x00: use RESET state bit to prevent IV changes on restart (Jarod Wilson) [1807052] - [wireless] rt2x00: implement reconfig_complete (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl_pci: Fix -Wcast-function-type (Jarod Wilson) [1807052] - [wireless] brcmsmac: Remove always false 'channel < 0' statement (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove last definitions of local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl88821ae: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove dependence on special bit manipulation macros for common driver (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ce: rtl8192c_com: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove usage of private bit manipulation (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Remove usage of private bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Convert inline routines to little-endian words (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Convert macros that set descriptor (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Replace local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Remove unused GET_XXX and SET_XXX macros (Jarod Wilson) [1807052] - [wireless] brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev() (Jarod Wilson) [1807052] - [wireless] ath9k: fix storage endpoint lookup (Jarod Wilson) [1807052] - [wireless] ath11k: Remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] ath11k: remove an unneeded NULL check (Jarod Wilson) [1807052] - [wireless] ath11k: checking for NULL vs IS_ERR() (Jarod Wilson) [1807052] - [wireless] ath11k: delete a stray unlock in ath11k_dbg_htt_stats_req() (Jarod Wilson) [1807052] - [wireless] ath11k: fix missing free of skb on error return path (Jarod Wilson) [1807052] - [wireless] ath11k: fix uninitialized variable radioup (Jarod Wilson) [1807052] - [wireless] ath11k: fix memory leak on reg_info (Jarod Wilson) [1807052] - [wireless] ath11k: Remove unnecessary enum scan_priority (Jarod Wilson) [1807052] - [wireless] ath11k: fix several spelling mistakes (Jarod Wilson) [1807052] - [wireless] ath11k: add some missing __packed qualifiers (Jarod Wilson) [1807052] - [wireless] ath11k: set the BA buffer size to 256 when HE is enabled (Jarod Wilson) [1807052] - [wireless] ath11k: fix pdev when invoking ath11k_wmi_send_twt_enable_cmd() (Jarod Wilson) [1807052] - [wireless] ath11k: optimize ath11k_hal_tx_status_parse (Jarod Wilson) [1807052] - [wireless] ath11k: optimise ath11k_dp_tx_completion_handler (Jarod Wilson) [1807052] - [wireless] ath11k: move some tx_status parsing to debugfs code (Jarod Wilson) [1807052] - [wireless] ath11k: rename ath11k_wmi_base instances from wmi_sc to wmi_ab (Jarod Wilson) [1807052] - [wireless] ath11k: drop memset when setting up a tx cmd desc (Jarod Wilson) [1807052] - [wireless] ath11k: disable PS for STA interfaces by default upon bringup (Jarod Wilson) [1807052] - [wireless] ath11k: add wmi helper for turning STA PS on/off (Jarod Wilson) [1807052] - [wireless] ath10k: Fix some typo in some warning messages (Jarod Wilson) [1807052] - [wireless] ath11k: register HE mesh capabilities (Jarod Wilson) [1807052] - [net] netlink: rename nl80211_validate_nested() to nla_validate_nested() (Jarod Wilson) [1807052] - [wireless] wireless/mediatek: Replace rcu_swap_protected() with rcu_replace_pointer() (Jarod Wilson) [1807052] - [wireless] ath: add support for special 0x0 regulatory domain (Jarod Wilson) [1807052] - [wireless] ath10k: change bundle count for max rx bundle for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: enable napi on RX path for sdio (Jarod Wilson) [1807052] - [wireless] ath11k: fix indentation in ath11k_mac_prepare_he_mode() (Jarod Wilson) [1807052] - [wireless] ath11k: Setup REO destination ring before sending wmi_init command (Jarod Wilson) [1807052] - [wireless] ath11k: Move mac80211 hw allocation before wmi_init command (Jarod Wilson) [1807052] - [wireless] ath11k: Skip update peer stats for management packets (Jarod Wilson) [1807052] - [wireless] ath11k: update tx duration in station info (Jarod Wilson) [1807052] - [wireless] ath11k: fix vht guard interval mapping (Jarod Wilson) [1807052] - [wireless] ath11k: fix memory leak in monitor mode (Jarod Wilson) [1807052] - [wireless] ath11k: Advertise MPDU start spacing as no restriction (Jarod Wilson) [1807052] - [wireless] ath11k: Update tx and rx chain count properly on drv_set_antenna (Jarod Wilson) [1807052] - [wireless] ath11k: add necessary peer assoc params in wmi dbg (Jarod Wilson) [1807052] - [wireless] ath11k: unlock mutex during failure in qmi fw ready (Jarod Wilson) [1807052] - [wireless] ath11k: add support for controlling tx power to a station (Jarod Wilson) [1807052] - [wireless] ath11k: update bawindow size in delba process (Jarod Wilson) [1807052] - [wireless] ath11k: avoid use_after_free in ath11k_dp_rx_msdu_coalesce API (Jarod Wilson) [1807052] - [wireless] ath11k: avoid burst time conversion logic (Jarod Wilson) [1807052] - [wireless] ath11k: pktlog: fix sending/using the pdev id (Jarod Wilson) [1807052] - [wireless] ath11k: qmi clean up in ath11k_qmi_wlanfw_wlan_cfg_send() (Jarod Wilson) [1807052] - [wireless] ath11k: qmi clean up ce and HTC service config update (Jarod Wilson) [1807052] - [wireless] ath11k: tracing: fix ath11k tracing (Jarod Wilson) [1807052] - [wireless] ath10k: enable wow feature for sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: change log level for mpdu status of sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: set WMI_PEER_AUTHORIZE after a firmware crash (Jarod Wilson) [1807052] - [wireless] ath10k: set max mtu to 1500 for sdio chip (Jarod Wilson) [1807052] - [wireless] ath10k: enable firmware log by default for sdio (Jarod Wilson) [1807052] - [wireless] ath11k: Fix target crash due to WBM_IDLE_LINK ring desc shortage (Jarod Wilson) [1807052] - [wireless] ath11k: Fixing TLV length issue in peer pktlog WMI command (Jarod Wilson) [1807052] - [wireless] ath11k: Fix skb_panic observed during msdu coalescing (Jarod Wilson) [1807052] - [wireless] ath11k: remove unused tx ring counters (Jarod Wilson) [1807052] - [wireless] ath11k: avoid WMM param truncation (Jarod Wilson) [1807052] - [wireless] ath11k: optimize RX path latency (Jarod Wilson) [1807052] - [wireless] ath11k: update tcl cmd descriptor parameters for STA mode (Jarod Wilson) [1807052] - [wireless] ath11k: fix wmi service ready ext tlv parsing (Jarod Wilson) [1807052] - [wireless] ath11k: fix resource leak in ath11k_mac_sta_state (Jarod Wilson) [1807052] - [wireless] ath11k: Fix htt stats sounding info and pdev cca stats (Jarod Wilson) [1807052] - [wireless] ath10k: move non-fatal warn logs to dbg level (Jarod Wilson) [1807052] - [wireless] ath11k: add spatial reuse support (Jarod Wilson) [1807052] - [wireless] ath11k: add TWT support (Jarod Wilson) [1807052] - [wireless] ath11k: add HE support (Jarod Wilson) [1807052] - [wireless] ath11k: Remove dead code while handling amsdu packets (Jarod Wilson) [1807052] - [wireless] ath11k: fix missed bw conversion in tx completion (Jarod Wilson) [1807052] - [wireless] ath11k: convert message from info to dbg (Jarod Wilson) [1807052] - [wireless] ath11k: ignore event 0x6017 (Jarod Wilson) [1807052] - [wireless] ath11k: add RX stats support for radiotap (Jarod Wilson) [1807052] - [wireless] ath11k: driver for Qualcomm IEEE 802.11ax devices (Jarod Wilson) [1807052] - [wireless] ath10k: fix RX of frames with broken FCS in monitor mode (Jarod Wilson) [1807052] - [wireless] ath10k: report rssi of each chain to mac80211 for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: Handle "invalid" BDFs for msm8998 devices (Jarod Wilson) [1807052] - [wireless] ath10k: Fix qmi init error handling (Jarod Wilson) [1807052] - [wireless] ath10k: add NL80211_FEATURE_ND_RANDOM_MAC_ADDR for NLO (Jarod Wilson) [1807052] - [wireless] ath10k: Handle when FW doesn't support QMI_WLFW_HOST_CAP_REQ_V01 (Jarod Wilson) [1807052] - [wireless] ath10k: add large size for BMI download data for SDIO (Jarod Wilson) [1807052] - [wireless] ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start (Jarod Wilson) [1807052] - [wireless] ath10k: sdio: remove struct ath10k_sdio_rx_data::status (Jarod Wilson) [1807052] - [wireless] ath10k: sdio: cosmetic cleanup (Jarod Wilson) [1807052] - [wireless] ath10k: add workqueue for RX path of sdio (Jarod Wilson) [1807052] - [wireless] ath10k: change max RX bundle size from 8 to 32 for sdio (Jarod Wilson) [1807052] - [wireless] ath10k: enable RX bundle receive for sdio (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues (Jarod Wilson) [1807052] - [net] cfg80211: fix page refcount issue in A-MSDU decap (Jarod Wilson) [1807052] - [net] cfg80211: check for set_wiphy_params (Jarod Wilson) [1807052] - [net] cfg80211: fix memory leak in cfg80211_cqm_rssi_update (Jarod Wilson) [1807052] - [net] cfg80211: fix memory leak in nl80211_probe_mesh_link (Jarod Wilson) [1807052] - [net] cfg80211: fix deadlocks in autodisconnect work (Jarod Wilson) [1807052] - [net] wireless: wext: avoid gcc -O3 warning (Jarod Wilson) [1807052] - [net] mac80211: Fix TKIP replay protection immediately after key setup (Jarod Wilson) [1807052] - [net] cfg80211: Fix radar event during another phy CAC (Jarod Wilson) [1807052] - [net] wireless: fix enabling channel 12 for custom regulatory domain (Jarod Wilson) [1807052] - [net] mac80211: mesh: restrict airtime metric to peered established plinks (Jarod Wilson) [1807052] - [wireless] Revert "iwlwifi: mvm: fix scan config command size" (Jarod Wilson) [1807052] - [wireless] iwlwifi: fw: make pos static in iwl_sar_get_ewrd_table() loop (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove lar_disable module parameter (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: force stop the debug monitor HW (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: always disable L0S states (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: rename L0S_ENABLED bit to L0S_DISABLED (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix potential SKB leak on TXQ TX (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix SKB leak on invalid queue (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: extend hardware workaround to context-info (Jarod Wilson) [1807052] - [wireless] iwlwifi: Don't ignore the cap field upon mcc update (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: report TX rate to mac80211 directly for RS offload (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix NVM check for 3168 devices (Jarod Wilson) [1807052] - [wireless] iwlwifi: fix TLV fragment allocation loop (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: allocate smaller dev_cmd for TX headers (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: detect the DMA bug and warn if it happens (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: work around DMA hardware bug (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: move page tracking into get_page_hdr() (Jarod Wilson) [1807052] - [wireless] iwlwifi: don't send PPAG command if disabled (Jarod Wilson) [1807052] - [wireless] mt76: Off by one in mt76_calc_rx_airtime() (Jarod Wilson) [1807052] - [wireless] mt76: fix LED link time failure (Jarod Wilson) [1807052] - [net] mac80211: Turn AQL into an NL80211_EXT_FEATURE (Jarod Wilson) [1807052] - [net] mac80211: airtime: Fix an off by one in ieee80211_calc_rx_airtime() (Jarod Wilson) [1807052] - [net] cfg80211: fix double-free after changing network namespace (Jarod Wilson) [1807052] - [net] mac80211: fix TID field in monitor mode transmit (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: move power gating workaround earlier in the flow (Jarod Wilson) [1807052] - [wireless] Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" (Jarod Wilson) [1807052] - [wireless] wireles: Use sizeof_field() macro (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: fix default mac address overwrite (Jarod Wilson) [1807052] - [wireless] ath9k: use iowrite32 over __raw_writel (Jarod Wilson) [1807052] - [net] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue (Jarod Wilson) [1807052] - [net] mac80211: Implement Airtime-based Queue Limit (AQL) (Jarod Wilson) [1807052] - [net] mac80211: Import airtime calculation code from mt76 (Jarod Wilson) [1807052] - [net] mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED (Jarod Wilson) [1807052] - [net] mac80211: expose HW conf flags through debugfs (Jarod Wilson) [1807052] - [net] mac80211: Add new sta_info getter by sta/vif addrs (Jarod Wilson) [1807052] - [net] mac80211: add a comment about monitor-to-dev injection (Jarod Wilson) [1807052] - [wireless] drivers: net: Fix Kconfig indentation, continued (Jarod Wilson) [1807052] - [wireless] mt76: fix fix ampdu locking (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: fix endpoint definition order (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: read {tx,rx} mask from eeprom (Jarod Wilson) [1807052] - [wireless] mt76: move mt76_get_antenna in mt76_core module (Jarod Wilson) [1807052] - [wireless] mt76: fix possible out-of-bound access in mt7615_fill_txs/mt7603_fill_txs (Jarod Wilson) [1807052] - [wireless] Revert "mt76: mt76x0e: don't use hw encryption for MT7630E" (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: disable radar pattern detector during scanning (Jarod Wilson) [1807052] - [wireless] mt76: move interface_modes definition in mt76_core module (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: add ibss support (Jarod Wilson) [1807052] - [wireless] mt76: move SUPPORTS_REORDERING_BUFFER hw property in mt76_register_device (Jarod Wilson) [1807052] - [wireless] mt76: use mt76_dev in mt76_is_{mmio,usb} (Jarod Wilson) [1807052] - [wireless] mt76: Remove set but not used variable 'idx' (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: rely on a dedicated stats workqueue (Jarod Wilson) [1807052] - [wireless] mt76: mt76u: rely on usb_interface instead of usb_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: remove 350ms delay in mt76x0_phy_calibrate (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02u: update ewma pkt len in mt76x02u_tx_prepare_skb (Jarod Wilson) [1807052] - [wireless] mt76: remove obsolete .add_buf() from struct mt76_queue_ops (Jarod Wilson) [1807052] - [wireless] mt76: add sanity check for a-mpdu rx wcid index (Jarod Wilson) [1807052] - [wireless] mt76: refactor cc_lock locking scheme (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0: eeprom: add support for MAC address from OF (Jarod Wilson) [1807052] - [wireless] mt76: avoid enabling interrupt if NAPI poll is still pending (Jarod Wilson) [1807052] - [wireless] mt76: fix aggregation stop issue (Jarod Wilson) [1807052] - [wireless] mt76: drop rcu read lock in mt76_rx_aggr_stop (Jarod Wilson) [1807052] - [wireless] mt76: add missing locking around ampdu action (Jarod Wilson) [1807052] - [wireless] mt76: do not use devm API for led classdev (Jarod Wilson) [1807052] - [wireless] mt76: enable airtime fairness (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: track tx/rx airtime for airtime fairness (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: introduce mt7615_mac_wtbl_update routine (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix survey channel busy time (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: report tx_time, bss_rx and busy time to mac80211 (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: track approximate tx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: move MT_CH_TIME_CFG init to mt76x02_mac_cc_reset (Jarod Wilson) [1807052] - [wireless] mt76: unify channel survey update code (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: switch to a different counter for survey busy time (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: track tx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: track rx airtime for airtime fairness and survey (Jarod Wilson) [1807052] - [wireless] mt76: store current channel survey_state in struct mt76_dev (Jarod Wilson) [1807052] - [wireless] mt76: rename mt76_driver_ops txwi_flags to drv_flags and include tx aligned4 (Jarod Wilson) [1807052] - [wireless] mt76: report rx a-mpdu subframe status (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: remove q_rx field from struct mt7603_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7603: collect aggregation stats (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: collect aggregation stats (Jarod Wilson) [1807052] - [wireless] mt76: move aggr_stats array in mt76_dev (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: add queue entry in debugfs (Jarod Wilson) [1807052] - [wireless] mt76: move queue debugfs entry to driver specific code (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02u: move mt76x02u_mac_start in mt76x02-usb module (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0u: reset counter starting the device (Jarod Wilson) [1807052] - [wireless] mt76: mt76x2: move mt76x02_mac_reset_counters in mt76x02_mac_start (Jarod Wilson) [1807052] - [wireless] mt76: mt76x02: move mac_reset_counter in mt76x02_lib module (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: enable SCS by default (Jarod Wilson) [1807052] - [wireless] mt76: mt76x0e: make array mt76x0_chan_map static const, makes object smaller (Jarod Wilson) [1807052] - [wireless] mt76: usb: add lockdep_assert_held in __mt76u_vendor_request (Jarod Wilson) [1807052] - [wireless] mt76: remove empty flag in mt76_txq_schedule_list (Jarod Wilson) [1807052] - [wireless] mt76: use cancel_delayed_work_sync in mt76_rx_aggr_shutdown (Jarod Wilson) [1807052] - [wireless] mt76: remove aggr_work field from struct mt76_wcid (Jarod Wilson) [1807052] - [wireless] mt76: mt7615: fix control frame rx in monitor mode (Jarod Wilson) [1807052] - [wireless] iwlwifi: bump FW API to 52 for 22000 series (Jarod Wilson) [1807052] - [wireless] iwlwifi: check kasprintf() return value (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove outdated comment referring to wake lock (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: trace IOVA for iwlwifi_dev_tx_tb (Jarod Wilson) [1807052] - [wireless] iwlwifi: dvm: excessive if in rs_bt_update_lq() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Report tx/rx antennas (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: rx: use rxq queue_size instead of constant (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove left-over non-functional email alias (Jarod Wilson) [1807052] - [wireless] iwlwifi: config: remove max_rx_agg_size (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: make some RX functions static (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: support scan req FW API ver 13 (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: fix support for transmitting SKBs with fraglist (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len' (Jarod Wilson) [1807052] - [wireless] brcmfmac: remove monitor interface when detaching (Jarod Wilson) [1807052] - [wireless] brcmfmac: disable PCIe interrupts before bus reset (Jarod Wilson) [1807052] - [wireless] rtw88: allows to enable/disable HCI link PS mechanism (Jarod Wilson) [1807052] - [wireless] rtw88: pci: enable CLKREQ function if host supports it (Jarod Wilson) [1807052] - [wireless] rtw88: pci: use for loop instead of while loop for DBI/MDIO (Jarod Wilson) [1807052] - [wireless] rtw88: pci: use macros to access PCI DBI/MDIO registers (Jarod Wilson) [1807052] - [wireless] rtlwifi: set proper udelay within rf_serial_read (Jarod Wilson) [1807052] - [wireless] rtlwifi: rf_lock use non-irqsave spin_lock (Jarod Wilson) [1807052] - [wireless] brcmfmac: remove set but not used variable 'mpnum', 'nsp', 'nmp' (Jarod Wilson) [1807052] - [wireless] rtw88: remove duplicated include from ps.c (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Remove set but not used variable 'rsr' (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove unnecessary return (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: remove local VENDOR_ID and DEVICE_ID definitions (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: wl1251 use new SDIO_VENDOR_ID_TI_WL1251 definition (Jarod Wilson) [1807052] - [wireless] net: wireless: ti: wl1251 add device tree support (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix non-ACPI function (Jarod Wilson) [1807052] - [wireless] iwlwifi: 22000: fix some indentation (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove IWL_DEVICE_22560/IWL_DEVICE_FAMILY_22560 (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: sync the iwl_mvm_session_prot_notif layout (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: start CTDP budget from 2400mA (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: don't skip mgmt tid when flushing all tids (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: scan: enable adaptive dwell in p2p (Jarod Wilson) [1807052] - [wireless] iwlwifi: refactor the SAR tables from mvm to acpi (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: support scan req cmd ver 12 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: make new scan req versioning flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix unaligned read of rx_pkt_status (Jarod Wilson) [1807052] - [wireless] iwlwifi: remove redundant assignment to variable bufsz (Jarod Wilson) [1807052] - [wireless] iwlwifi: bump FW API to 51 for 22000 series (Jarod Wilson) [1807052] - [wireless] iwlwifi: FW API: reference enum in docs of modify_mask (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: print rate_n_flags in a pretty format (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: adapt the code to use api ver 11 (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: Create function to build scan cmd (Jarod Wilson) [1807052] - [wireless] iwlwifi: scan: create function for scan scheduling params (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support dump collection upon assert during D3 (Jarod Wilson) [1807052] - [wireless] iwlwifi: pcie: make iwl_pcie_gen2_update_byte_tbl static (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: in VHT connection use only VHT capabilities (Jarod Wilson) [1807052] - [wireless] iwlwifi: nvm: update iwl_uhb_nvm_channels (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove else-if in iwl_send_phy_cfg_cmd() (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix support for single antenna diversity (Jarod Wilson) [1807052] - [wireless] ath10k: qmi: Sleep for a while before assigning MSA memory (Jarod Wilson) [1807052] - [wireless] ath10k: Revert "ath10k: add cleanup in ath10k_sta_state()" (Jarod Wilson) [1807052] - [wireless] mwifiex: Re-work support for SDIO HW reset (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Add support for Edimax EW-7611ULB (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing enable interrupt flag (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address (Jarod Wilson) [1807052] - [net] mac80211: Use debugfs_create_xul() helper (Jarod Wilson) [1807052] - [net] cfg80211: VLAN offload support for set_key and set_sta_vlan (Jarod Wilson) [1807052] - [net] mac80211: Shrink the size of ack_frame_id to make room for tx_time_est (Jarod Wilson) [1807052] - [net] mac80211: don't re-parse elems in ieee80211_assoc_success() (Jarod Wilson) [1807052] - [net] mac80211: move store skb ack code to its own function (Jarod Wilson) [1807052] - [wireless] ath10k: disable cpuidle during downloading firmware (Jarod Wilson) [1807052] - [wireless] ath10k: fix potential issue of peer stats allocation (Jarod Wilson) [1807052] - [wireless] ath10k: fix get invalid tx rate for Mesh metric (Jarod Wilson) [1807052] - [wireless] rtw88: signal completion even on firmware-request failure (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential NULL pointer access for firmware (Jarod Wilson) [1807052] - [wireless] rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt() (Jarod Wilson) [1807052] - [wireless] rt2800: remove errornous duplicate condition (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8225se: remove some unused const variables (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove set but not used variables (Jarod Wilson) [1807052] - [wireless] rtw88: raise LPS threshold to 50, for less power consumption (Jarod Wilson) [1807052] - [wireless] ath5k: eeprom: Remove unneeded variable (Jarod Wilson) [1807052] - [wireless] ath10k: remove unneeded semicolon (Jarod Wilson) [1807052] - [wireless] mt7601u: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Drop condition with no effect (Jarod Wilson) [1807052] - [wireless] b43: dma: Fix use true/false for bool type variable (Jarod Wilson) [1807052] - [wireless] b43: main: Fix use true/false for bool type (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192c: Drop condition with no effect (Jarod Wilson) [1807052] - [wireless] rtw88: remove redundant null pointer check on arrays (Jarod Wilson) [1807052] - [wireless] rtw88: avoid FW info flood (Jarod Wilson) [1807052] - [wireless] rtw88: fix potential read outside array boundary (Jarod Wilson) [1807052] - [wireless] rtw88: rearrange if..else statements for rx rate indexes (Jarod Wilson) [1807052] - [wireless] rtw88: use rtw_phy_pg_cfg_pair struct, not arrays (Jarod Wilson) [1807052] - [wireless] rtw88: 8822b: add RFE type 3 support (Jarod Wilson) [1807052] - [wireless] rtw88: fix sparse warnings for power tracking (Jarod Wilson) [1807052] - [wireless] rtw88: fix sparse warnings for DPK (Jarod Wilson) [1807052] - [wireless] net: Fix various misspellings of "connect" (Jarod Wilson) [1807052] - [wireless] net: Fix misspellings of "configure" and "configuration" (Jarod Wilson) [1807052] - [wireless] rtw88: fix GENMASK_ULL for u64 (Jarod Wilson) [1807052] - [wireless] iwlwifi: rx: use new api to get band from rx mpdu (Jarod Wilson) [1807052] - [wireless] iwlwifi: nvm: create function to convert channel index to nl80211_band (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: Invert the condition for OFDM rate (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: create function to convert nl80211 band to phy band (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use vzalloc to allocate dumping memory regions (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add user trigger support (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add notification for missed VAP (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: fix old-style declaration (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: use the new session protection command (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: remove leftover rs_remove_sta_debugfs() prototype (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: add support for new version for D0I3_END_CMD (Jarod Wilson) [1807052] - [wireless] iwlwifi: mvm: consider ieee80211 station max amsdu value (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support FW notification dumping in case of missed beacon (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: remove old API and some related code (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: rename external debug configuration file (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support FW response/notification region type (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: support domain changing via debugfs (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add periodic trigger new API support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: implement monitor allocation flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: implement time point handling (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add TLV allocation new API support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new API in dump info (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add error tables dumping support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: add monitor dumping support (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg: remove multi buffers infra (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new trigger TLV in dump flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: use new region TLV in dump flow (Jarod Wilson) [1807052] - [wireless] iwlwifi: dbg_ini: load external dbg cfg after internal cfg is loaded (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix warnings for symbol not declared (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: remove set but not used variable 'rate_mask' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove unnecessary NULL check in rtl_regd_init (Jarod Wilson) [1807052] - [wireless] rtw88: add phy_info debugfs to show Tx/Rx physical status (Jarod Wilson) [1807052] - [wireless] rtw88: add set_bitrate_mask support (Jarod Wilson) [1807052] - [wireless] rtw88: Enable 802.11ac beamformee support (Jarod Wilson) [1807052] - [wireless] rtw88: add power tracking support (Jarod Wilson) [1807052] - [wireless] rtw88: use macro to check the current band (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot (Jarod Wilson) [1807052] - [wireless] rtw88: mark rtw_fw_hdr __packed (Jarod Wilson) [1807052] - [wireless] net/wireless: Delete unnecessary checks before the macro call "dev_kfree_skb" (Jarod Wilson) [1807052] - [wireless] wireless: Remove call to memset after dma_alloc_coherent (Jarod Wilson) [1807052] - [wireless] rtw88: include interrupt.h for tasklet_struct (Jarod Wilson) [1807052] - [wireless] rtw88: use a for loop in rtw_power_mode_change(), not goto (Jarod Wilson) [1807052] - [wireless] rtw88: coex: Set 4 slot mode for A2DP (Jarod Wilson) [1807052] - [wireless] rtw88: pci: config phy after chip info is setup (Jarod Wilson) [1807052] - [wireless] rtw88: Use rtw_write8_set to set SYS_FUNC (Jarod Wilson) [1807052] - [wireless] rtw88: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support (Jarod Wilson) [1807052] - [wireless] rtw88: config 8822c multicast address in MAC init flow (Jarod Wilson) [1807052] - [wireless] ath10k: Correct error handling of dma_map_single() (Jarod Wilson) [1807052] - [wireless] ath: rename regulatory rules (Jarod Wilson) [1807052] - [wireless] ath10k: fix memory leak for tpc_stats_final (Jarod Wilson) [1807052] - [wireless] ath10k: fix array out-of-bounds access (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Convert inline routines to little-endian words (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Convert macros that set descriptor (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Replace local bit manipulation macros (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192se: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variable 'err' (Jarod Wilson) [1807052] - [wireless] ath10k: fix null dereference on pointer crash_data (Jarod Wilson) [1807052] - [wireless] ath10k: enable transmit data ack RSSI for QCA9884 (Jarod Wilson) [1807052] - [net] mac80211: minstrel_ht: rename prob_ewma to prob_avg, use it for the new average (Jarod Wilson) [1807052] - [net] mac80211: minstrel_ht: replace rate stats ewma with a better moving average (Jarod Wilson) [1807052] - [net] mac80211: minstrel: remove divisions in tx status path (Jarod Wilson) [1807052] - [net] nl80211: trivial: Remove redundant loop (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variable 'cur_tx_wp' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: make arrays static, makes object smaller (Jarod Wilson) [1807052] - [wireless] rtw88: Fix an error message (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: add bluetooth co-existence support for single antenna (Jarod Wilson) [1807052] - [wireless] mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf (Jarod Wilson) [1829230 1807052] {CVE-2019-19056} - [wireless] rtlwifi: rtl8723: Remove set but not used variable 'own' (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: Remove set but not used variables 'wifi_busy', 'bt_info_ext' (Jarod Wilson) [1807052] - [wireless] rtlwifi: btcoex: Remove set but not used variable 'result' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove set but not used variable 'h2c_parameter' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8188ee: Remove set but not used variables 'v3', 'rtstatus', 'reg_ecc', 'reg_ec4', 'reg_eac', 'b_pathb_ok' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192c: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723ae: Remove set but not used variables 'reg_ecc', 'reg_ec4', 'reg_eac', 'b_pathb_ok' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8821ae: Remove set but not used variables 'rtstatus', 'bd' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver (Jarod Wilson) [1807052] - [wireless] brcmfmac: add support for SAE authentication offload (Jarod Wilson) [1807052] - [wireless] rtw88: fix error handling when setup efuse info (Jarod Wilson) [1807052] - [wireless] rtw88: fix NSS of hw_cap (Jarod Wilson) [1807052] - [wireless] rtw88: use struct rtw_fw_hdr to access firmware header (Jarod Wilson) [1807052] - [wireless] rtw88: raise firmware version debug level (Jarod Wilson) [1807052] - [wireless] rtw88: configure TX queue EDCA parameters (Jarod Wilson) [1807052] - [wireless] rtw88: Don't set RX_FLAG_DECRYPTED if packet has no encryption (Jarod Wilson) [1807052] - [wireless] rtw88: fix beaconing mode rsvd_page memory violation issue (Jarod Wilson) [1807052] - [wireless] rtw88: flush hardware tx queues (Jarod Wilson) [1807052] - [wireless] rtw88: add TX-AMSDU support (Jarod Wilson) [1807052] - [wireless] rtw88: report tx rate to mac80211 stack (Jarod Wilson) [1807052] - [wireless] rtw88: take over rate control from mac80211 (Jarod Wilson) [1807052] - [wireless] rtw88: add driver TX queue support (Jarod Wilson) [1807052] - [wireless] rtw88: allows to set RTS in TX descriptor (Jarod Wilson) [1807052] - [wireless] rtw88: check firmware leave lps successfully (Jarod Wilson) [1807052] - [wireless] mac80211: simplify TX aggregation start (Jarod Wilson) [1807052] - [net] mac80211: pass internal sta to ieee80211_tx_frags() (Jarod Wilson) [1807052] - [net] mac80211: IBSS: avoid unneeded return value processing (Jarod Wilson) [1807052] - [wireless] ar5523: check NULL before memcpy() in ar5523_cmd() (Jarod Wilson) [1807052] - [wireless] ath10k: add support for hardware rfkill (Jarod Wilson) [1807052] - [wireless] ath10k: restore QCA9880-AR1A (v1) detection (Jarod Wilson) [1807052] - [wireless] ath10k: fix offchannel tx failure when no ath10k_mac_tx_frm_has_freq (Jarod Wilson) [1807052] - [wireless] cw1200: Fix a signedness bug in cw1200_load_firmware() (Jarod Wilson) [1807052] - [wireless] rtw88: remove misleading module parameter rtw_fw_support_lps (Jarod Wilson) [1807052] - [wireless] rtw88: add deep PS PG mode for 8822c (Jarod Wilson) [1807052] - [wireless] rtw88: select deep PS mode when module is inserted (Jarod Wilson) [1807052] - [wireless] rtw88: not to enter LPS by coex strategy (Jarod Wilson) [1807052] - [wireless] rtw88: add deep power save support (Jarod Wilson) [1807052] - [wireless] rtw88: leave PS state for dynamic mechanism (Jarod Wilson) [1807052] - [wireless] rtw88: LPS enter/leave should be protected by lock (Jarod Wilson) [1807052] - [wireless] rtw88: remove unused lps state check helper (Jarod Wilson) [1807052] - [wireless] rtw88: not to control LPS by each vif (Jarod Wilson) [1807052] - [wireless] rtw88: not to enter or leave PS under IRQ (Jarod Wilson) [1807052] - [wireless] rtw88: pci: reset H2C queue indexes in a single write (Jarod Wilson) [1807052] - [wireless] rtw88: remove redundant flag check helper function (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8723be: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variables 'reg_ecc', 'reg_eac' (Jarod Wilson) [1807052] - [wireless] rtlwifi: rtl8192ee: Remove set but not used variables 'short_gi', 'buf_len' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove set but not used variables 'dataempty', 'hoffset' (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove set but not used variable 'rtstate' (Jarod Wilson) [1807052] - [wireless] rtl8xxxu: prevent leaking urb (Jarod Wilson) [1829887 1807052] {CVE-2019-19068} - [wireless] net/wireless: Use kmemdup rather than duplicating its implementation (Jarod Wilson) [1807052] - [wireless] ath9k_htc: Discard undersized packets (Jarod Wilson) [1807052] - [wireless] ath9k_htc: Modify byte order for an error message (Jarod Wilson) [1807052] - [wireless] ath9k_hw: fix uninitialized variable data (Jarod Wilson) [1807052] - [wireless] ath10k: fix backtrace on coredump (Jarod Wilson) [1807052] - [wireless] ath10k: coredump: fix IRAM addr for QCA9984, QCA4019, QCA9888 and QCA99x0 (Jarod Wilson) [1807052] - [wireless] ath10k: switch to ieee80211_tx_dequeue_ni (Jarod Wilson) [1807052] - [wireless] ath10k: change sw version print format to hex (Jarod Wilson) [1807052] - [wireless] ath10k: print supported MCS rates within service ready event (Jarod Wilson) [1807052] - [wireless] ath10k: print service ready returned channel range (Jarod Wilson) [1807052] - [wireless] ath10k: add 2ghz channel arguments to service ready structure (Jarod Wilson) [1807052] - [wireless] ath9k: remove unused including (Jarod Wilson) [1807052] - [wireless] mwifiex: use 'total_ie_len' in mwifiex_update_bss_desc_with_ie() (Jarod Wilson) [1807052] - [wireless] rtlwifi: Remove excessive check in _rtl_ps_inactive_ps() (Jarod Wilson) [1807052] - [wireless] rtlwifi: prevent memory leak in rtl_usb_probe (Jarod Wilson) [1829850 1807052] {CVE-2019-19063} - [wireless] rtlwifi: rtl8723ae: Remove unused 'rtstatus' variable (Jarod Wilson) [1807052] - [wireless] mt7601u: fix bbp version check in mt7601u_wait_bbp_ready (Jarod Wilson) [1807052] - [wireless] rtw88: 8822c: fix boolreturn.cocci warnings (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove duplicated if condition (Jarod Wilson) [1807052] - [wireless] brcmfmac: fix suspend/resume when power is cut off (Jarod Wilson) [1807052] - [wireless] brcmfmac: don't WARN when there are no requests (Jarod Wilson) [1807052] - [wireless] brcmsmac: remove a useless test (Jarod Wilson) [1807052] - [wireless] brcmfmac: send port authorized event for FT-802.1X (Jarod Wilson) [1807052] - [wireless] ath10k: fix memory leak (Jarod Wilson) [1807052] - [wireless] ath10k: remove the warning of sdio not full support (Jarod Wilson) [1807052] - [wireless] ath: Use dev_get_drvdata where possible (Jarod Wilson) [1807052] - [wireless] ath: fix various spelling mistakes (Jarod Wilson) [1807052] - [wireless] ath10k: fix missing checks for bmi reads and writes (Jarod Wilson) [1807052] - [wireless] ath10k: Add support to provide higher range mem chunks in wmi init command (Jarod Wilson) [1807052] - [wireless] ath10k: Add peer param map for tlv and non-tlv (Jarod Wilson) [1807052] - [wireless] ath10k: Enable MSA region dump support for WCN3990 (Jarod Wilson) [1807052] - [wireless] ath10k: Add xo calibration support for wifi rf clock (Jarod Wilson) [1807052] - [wireless] ath10k: fix spelling mistake "eanble" -> "enable" (Jarod Wilson) [1807052] - [wireless] ath10k: add cleanup in ath10k_sta_state() (Jarod Wilson) [1807052] - [wireless] ath10k: revalidate the msa region coming from firmware (Jarod Wilson) [1807052] - [wireless] ath10k: use ath10k_pci_soc_ functions for all warm_reset instances (Jarod Wilson) [1807052] - [wireless] ath10k: Use ARRAY_SIZE (Jarod Wilson) [1807052] - [wireless] ath10k: avoid leaving .bss_info_changed prematurely (Jarod Wilson) [1807052] - [wireless] ath10k: Use standard bulk clock API in snoc (Jarod Wilson) [1807052] - [wireless] ath10k: Use standard regulator bulk API in snoc (Jarod Wilson) [1807052] - [wireless] ath10k: snoc: skip regulator operations (Jarod Wilson) [1807052] - [wireless] ath10k: Fix HOST capability QMI incompatibility (Jarod Wilson) [1807052] - [wireless] ath10k: Check if station exists before forwarding tx airtime report (Jarod Wilson) [1807052] - [include] include/linux/units.h: add helpers for kelvin to/from Celsius conversion (Jarod Wilson) [1807052]- [x86] x86/PCI: Define to_pci_sysdata() even when !CONFIG_PCI (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add two VMD Device IDs (Myron Stowe) [1788364 1783436] - [pci] x86/PCI: Expose VMD's pci_dev in struct pci_sysdata (Myron Stowe) [1788364 1783436] - [x86] x86/PCI: Add to_pci_sysdata() helper (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add device id for VMD device 8086:9A0B (Myron Stowe) [1788364 1783436] - [pci] PCI: vmd: Add bus 224-255 restriction decode (Myron Stowe) [1788364 1783436] - [fs] fuse: copy_file_range needs to strip setuid bits and update timestamps (Eric Sandeen) [1721881] - [fs] vfs: allow copy_file_range to copy across devices (Eric Sandeen) [1721881] - [fs] vfs: add missing checks to copy_file_range (Eric Sandeen) [1721881] - [mm] vfs: remove redundant checks from generic_remap_checks() (Eric Sandeen) [1721881] - [fs] vfs: introduce generic_file_rw_checks() (Eric Sandeen) [1721881] - [fs] vfs: no fallback for ->copy_file_range (Eric Sandeen) [1721881] - [fs] vfs: introduce generic_copy_file_range() (Eric Sandeen) [1721881] - [ptp] ptp: add VMware virtual PTP clock driver (Prarit Bhargava) [1829706] - [powerpc] powerpc/powernv/ioda: Handle failures correctly in pnv_pci_ioda_iommu_bypass_supported() (Michael Roth) [1805101] - [powerpc] powerpc/pseries/dma: Enable SWIOTLB (Michael Roth) [1805101] - [powerpc] powerpc/pseries/dma: Allow SWIOTLB (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Fix build with IOMMU_API=n (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass() function (Michael Roth) [1805101] - [powerpc] powerpc/dma: Fix invalid DMA mmap behavior (Michael Roth) [1805101] - [powerpc] powerpc/dma: trim the fat from (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove set_dma_offset (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove get_dma_offset (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the generic direct mapping bypass (Michael Roth) [1805101] - [powerpc] powerpc/powernv/npu: Remove NPU DMA ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the dma_direct mapping routines (Michael Roth) [1805101] - [powerpc] powerpc/dma: use the dma-direct allocator for coherent platforms (Michael Roth) [1805101] - [powerpc] swiotlb: remove swiotlb_dma_supported (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_dma_supported (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_get_required_mask (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove dma_nommu_mmap_coherent (Michael Roth) [1805101] - [powerpc] powerpc/dma: use phys_to_dma instead of get_dma_offset (Michael Roth) [1805101] - [powerpc] dma-mapping, powerpc: simplify the arch dma_set_mask override (Michael Roth) [1805101] - [powerpc] powerpc/dma: fix an off-by-one in dma_capable (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove max_direct_dma_addr (Michael Roth) [1805101] - [powerpc] powerpc/dma: move pci_dma_dev_setup_swiotlb to fsl_pci.c (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove get_pci_dma_ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the iommu fallback for coherent allocations (Michael Roth) [1805101] - [powerpc] powerpc/pci: remove the dma_set_mask pci_controller ops methods (Michael Roth) [1805101] - [misc] cxl: drop the dma_set_mask callback from vphb (Michael Roth) [1805101] - [powerpc] KABI: re-use deprecated field for iommu_bypass_supported function pointer (Michael Roth) [1805101] - [powerpc] powerpc/dma: stop overriding dma_get_required_mask (Michael Roth) [1805101] - [dma] KABI: add fake includes for headers used in arch/powerpc/kernel/dma.c (Michael Roth) [1805101] - [powerpc] powerpc/powernv: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/powernv: Remove PCI_MSI ifdef checks (Michael Roth) [1805101] - [powerpc] powerpc/powernv: remove pnv_npu_dma_set_mask (Michael Roth) [1805101] - [powerpc] powerpc/powernv: remove pnv_pci_ioda_pe_single_vendor (Michael Roth) [1805101] - [powerpc] powerpc/dart: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/dart: remove dead cleanup code in iommu_init_early_dart (Michael Roth) [1805101] - [powerpc] powerpc/cell: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/cell: move dma direct window setup out of dma_configure (Michael Roth) [1805101] - [powerpc] powerpc/pseries: use the generic iommu bypass code (Michael Roth) [1805101] - [powerpc] powerpc/pseries: unwind dma_get_required_mask_pSeriesLP a bit (Michael Roth) [1805101] - [powerpc] powerpc/dma: handle iommu bypass in dma_iommu_ops (Michael Roth) [1805101] - [powerpc] powerpc/dma: untangle vio_dma_mapping_ops from dma_iommu_ops (Michael Roth) [1805101] - [dma] dma-direct: we might need GFP_DMA for 32-bit dma masks (Michael Roth) [1805101] - [powerpc] powerpc/dma: split the two __dma_alloc_coherent implementations (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused dma_iommu_ops export (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused ISA_DMA_THRESHOLD export (Michael Roth) [1805101] - [powerpc] powerpc/dma: remove the unused ARCH_HAS_DMA_MMAP_COHERENT define (Michael Roth) [1805101] - [powerpc] powerpc/dma: properly wire up the unmap_page and unmap_sg methods (Michael Roth) [1805101] - [powerpc] powerpc: allow NOT_COHERENT_CACHE for amigaone (Michael Roth) [1805101] - [powerpc] powerpc/fadump: consider reserved ranges while reserving memory (Steve Best) [1813701] - [powerpc] powerpc/fadump: use static allocation for reserved memory ranges (Steve Best) [1813701] - [fs] audit: Report suspicious O_CREAT usage (partial) (Eric Sandeen) [1797843] - [fs] vfs: fix do_last() regression (Eric Sandeen) [1797843] - [fs] do_last(): fetch directory ->i_mode and ->i_uid before it's too late (Eric Sandeen) [1797843] - [fs] namei: allow restricted O_CREAT of FIFOs and regular files (Eric Sandeen) [1797843] - [netdrv] fm10k: use txqueue parameter in fm10k_tx_timeout (Neil Horman) [1781387] - [netdrv] fm10k: Use sizeof_field() macro (Neil Horman) [1781387] - [netdrv] fm10k: update driver version to match out-of-tree (Neil Horman) [1781387] - [netdrv] fm10k: add support for ndo_get_vf_stats operation (Neil Horman) [1781387] - [netdrv] fm10k: add missing field initializers to TLV attributes) (Neil Horman) [1781387] - [netdrv] fm10k: use a local variable for the frag pointer (Neil Horman) [1781387] - [netdrv] ethernet: Delete unnecessary checks before the macro call "dev_kfree_skb" (Neil Horman) [1781387] - [netdrv] fm10k: no need to check return value of debugfs_create functions (Neil Horman) [1781387] - [security] KEYS: Avoid false positive ENOMEM error on key read (Waiman Long) [1807693] - [security] KEYS: Don't write out to userspace while holding key semaphore (Waiman Long) [1807693] - [security] selinux: allow per-file labeling for CephFS (Ondrej Mosnacek) [1823764] - [scsi] scsi: qedi: make qedi_ll2_buf_size static (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Fix termination timeouts in session logout (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add modules param to enable qed iSCSI debug (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Do not flush offload work if ARP not resolved (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Use correct msix count for fastpath vectors (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Avoid unnecessary endpoint allocation on link down (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Remove additional char from boot target iqnname (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add PCI shutdown handler support (Nilesh Javali) [1792111] - [scsi] scsi: qedi: Add MFW error recovery process (Nilesh Javali) [1792111] - [netdrv] ibmvnic: Skip fatal error reset after passive init (Steve Best) [1830989] - [ata] ahci: Add Intel Comet Lake PCH-V PCI ID (David Milburn) [1802690] - [ata] ahci: Add Intel Comet Lake PCH-H PCI ID (David Milburn) [1802690] - [ata] ahci: Add Intel Comet Lake H RAID PCI ID (David Milburn) [1802690] - [x86] x86, sched: Move check for CPU type to caller function (Prarit Bhargava) [1828260] - [x86] x86, sched: Don't enable static key when starting secondary CPUs (Prarit Bhargava) [1828260] - [x86] x86, sched: Account for CPUs with less than 4 cores in freq. invariance (Prarit Bhargava) [1828260] - [x86] x86, sched: Bail out of frequency invariance if base frequency is unknown (Prarit Bhargava) [1828260] - [lib] scsi: klist: Make it safe to use klists in atomic context (Waiman Long) [1829027] - [char] random: try to actively add entropy rather than passively wait for it (Neil Horman) [1778762] - [md] dm writecache: fix data corruption when reloading the target (Mike Snitzer) [1830129] - [kernel] smp: Allow smp_call_function_single_async() to insert locked csd (Peter Xu) [1830014] - [scsi] scsi: ibmvscsi: Fix WARN_ON during event pool release (Steve Best) [1829242] - [block] block: avoid to check null profile pointer to see if it is in 3rd party module (Ming Lei) [1829464] - [tools] perf scripting perl: Add common_callchain to fix argument order (Michael Petlan) [1809191] - [netdrv] ionic: fix unused assignment (Jonathan Toppins) [1780645] - [netdrv] ionic: add dynamic_debug header (Jonathan Toppins) [1780645] - [netdrv] ionic: set station addr only if needed (Jonathan Toppins) [1780645] - [netdrv] ionic: replay filters after fw upgrade (Jonathan Toppins) [1780645] - [netdrv] ionic: remove lifs on fw reset (Jonathan Toppins) [1780645] - [netdrv] ionic: disable the queues on link down (Jonathan Toppins) [1780645] - [netdrv] ionic: check for queues before deleting (Jonathan Toppins) [1780645] - [netdrv] ionic: clean tx queue of unfinished requests (Jonathan Toppins) [1780645] - [netdrv] ionic: move irq request to qcq alloc (Jonathan Toppins) [1780645] - [netdrv] ionic: move debugfs add/delete to match alloc/free (Jonathan Toppins) [1780645] - [netdrv] ionic: check for linkup in watchdog (Jonathan Toppins) [1780645] - [netdrv] ionic: decouple link message from netdev state (Jonathan Toppins) [1780645] - [netdrv] ionic: check for NULL structs on teardown (Jonathan Toppins) [1780645] - [netdrv] ionic: clean irq affinity on queue deinit (Jonathan Toppins) [1780645] - [netdrv] ionic: ignore eexist on rx filter add (Jonathan Toppins) [1780645] - [netdrv] ionic: only save good lif dentry (Jonathan Toppins) [1780645] - [netdrv] ionic: leave dev cmd request contents alone on FW timeout (Jonathan Toppins) [1780645] - [netdrv] ionic: add timeout error checking for queue disable (Jonathan Toppins) [1780645] - [netdrv] ionic: make spdxcheck.py happy (Jonathan Toppins) [1780645] - [netdrv] ionic: add decode for IONIC_RC_ENOSUPP (Jonathan Toppins) [1780645] - [netdrv] ionic: print data for unknown xcvr type (Jonathan Toppins) [1780645] - [netdrv] ionic: remove adminq napi instance (Jonathan Toppins) [1780645] - [netdrv] ionic: deinit rss only if selected (Jonathan Toppins) [1780645] - [netdrv] ionic: stop devlink warn on mgmt device (Jonathan Toppins) [1780645] - [netdrv] net: ionic: Use scnprintf() for avoiding potential buffer overflow (Jonathan Toppins) [1780645] - [netdrv] netdev:pass the stuck queue to the timeout handler (Jonathan Toppins) [1780645] - [netdrv] ionic: drop ethtool driver version (Jonathan Toppins) [1780645] - [netdrv] ionic: add support for device id 0x1004 (Jonathan Toppins) [1780645] - [netdrv] ionic: print pci bus lane info (Jonathan Toppins) [1780645] - [netdrv] ionic: support ethtool rxhash disable (Jonathan Toppins) [1780645] - [netdrv] ionic: clean up bitflag usage (Jonathan Toppins) [1780645] - [netdrv] ionic: improve irq numa locality (Jonathan Toppins) [1780645] - [netdrv] ionic: remove pragma packed (Jonathan Toppins) [1780645] - [netdrv] ionic: keep ionic dev on lif init fail (Jonathan Toppins) [1780645] - [netdrv] ionic: fix vf op lock usage (Jonathan Toppins) [1780645] - [netdrv] ionic: let core reject the unsupported coalescing parameters (Jonathan Toppins) [1780645] - [netdrv] ionic: fix fw_status read (Jonathan Toppins) [1780645] - [netdrv] ionic: use new helper tcp_v6_gso_csum_prep (Jonathan Toppins) [1780645] - [netdrv] ionic: fix rxq comp packet type mask (Jonathan Toppins) [1780645] - [netdrv] ionic: clear compiler warning on hb use before set (Jonathan Toppins) [1780645] - [netdrv] ionic: restrict received packets to mtu size (Jonathan Toppins) [1780645] - [netdrv] ionic: add Rx dropped packet counter (Jonathan Toppins) [1780645] - [netdrv] ionic: drop use of subdevice tags (Jonathan Toppins) [1780645] - [netdrv] ionic: support sr-iov operations (Jonathan Toppins) [1780645] - [netdrv] ionic: ionic_if bits for sr-iov support (Jonathan Toppins) [1780645] - [netdrv] ionic: keep users rss hash across lif reset (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove set but not used variable 'sg_desc' (Jonathan Toppins) [1780645] - [netdrv] ionic: update driver version (Jonathan Toppins) [1780645] - [netdrv] ionic: implement support for rx sgl (Jonathan Toppins) [1780645] - [netdrv] ionic: add a watchdog timer to monitor heartbeat (Jonathan Toppins) [1780645] - [netdrv] ionic: add heartbeat check (Jonathan Toppins) [1780645] - [netdrv] ionic: reverse an interrupt coalesce calculation (Jonathan Toppins) [1780645] - [netdrv] ionic: fix up struct name comments (Jonathan Toppins) [1780645] - [netdrv] dynamic_debug: provide dynamic_hex_dump stub (Jonathan Toppins) [1780645] - [netdrv] ionic: fix stats memory dereference (Jonathan Toppins) [1780645] - [netdrv] ionic: add lif_quiesce to wait for queue activity to stop (Jonathan Toppins) [1780645] - [netdrv] ionic: implement ethtool set-fec (Jonathan Toppins) [1780645] - [netdrv] ionic: report users coalesce request (Jonathan Toppins) [1780645] - [netdrv] ionic: use wait_on_bit_lock() rather than open code (Jonathan Toppins) [1780645] - [netdrv] ionic: simplify returns in devlink info (Jonathan Toppins) [1780645] - [netdrv] ionic: select CONFIG_NET_DEVLINK (Jonathan Toppins) [1780645] - [netdrv] ionic: Fix an error code in ionic_lif_alloc() (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove unnecessary ternary operator in ionic_debugfs_add_ident (Jonathan Toppins) [1780645] - [netdrv] ionic: Remove unused including (Jonathan Toppins) [1780645] - [netdrv] ionic: Add coalesce and other features (Jonathan Toppins) [1780645] - [netdrv] ionic: Add RSS support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add driver stats (Jonathan Toppins) [1780645] - [netdrv] ionic: Add netdev-event handling (Jonathan Toppins) [1780645] - [netdrv] ionic: Add Tx and Rx handling (Jonathan Toppins) [1780645] - [netdrv] ionic: Add initial ethtool support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add async link status check and basic stats (Jonathan Toppins) [1780645] - [netdrv] ionic: Add Rx filter and rx_mode ndo support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add management of rx filters (Jonathan Toppins) [1780645] - [netdrv] ionic: Add the basic NDO callbacks for netdev support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add notifyq support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add adminq action (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic adminq support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add interrupts and doorbells (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic lif support (Jonathan Toppins) [1780645] - [netdrv] ionic: Add port management commands (Jonathan Toppins) [1780645] - [netdrv] ionic: Add hardware init and device commands (Jonathan Toppins) [1780645] - [netdrv] ionic: Add basic framework for IONIC Network device driver (Jonathan Toppins) [1780645] - [netdrv] net: sfp: add more extended compliance codes (Jonathan Toppins) [1780645] - [scsi] scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table (Maurizio Lombardi) [1819061] - [netdrv] igc: Add debug messages to MAC filter code (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_mac_entry_can_be_used() (Corinna Vinschen) [1781384] - [netdrv] igc: Remove igc_*_mac_steering_filter() wrappers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove IGC_MAC_STATE_QUEUE_STEERING (Corinna Vinschen) [1781384] - [netdrv] igc: Remove 'queue' check in igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Improve address check in igc_del_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Refactor igc_rar_set_index() (Corinna Vinschen) [1781384] - [netdrv] igc: Fix igc_uc_unsync() (Corinna Vinschen) [1781384] - [netdrv] igc: Change igc_add_mac_filter() returning value (Corinna Vinschen) [1781384] - [netdrv] igc: Check unsupported flag in igc_add_mac_filter() (Corinna Vinschen) [1781384] - [netdrv] igc: Remove duplicate code in MAC filtering logic (Corinna Vinschen) [1781384] - [netdrv] igc: Add new device IDs for i225 part (Corinna Vinschen) [1781384] - [netdrv] igc: Fix default MAC address filter override (Corinna Vinschen) [1781384] - [netdrv] igc: Remove dead code related to flower filter (Corinna Vinschen) [1781384] - [netdrv] igc: Fix NFC queue redirection support (Corinna Vinschen) [1781384] - [netdrv] igc: Remove copper fiber switch control (Corinna Vinschen) [1781384] - [netdrv] igc: Enable NETIF_F_HW_TC flag (Corinna Vinschen) [1781384] - [netdrv] igc: Fix double definition (Corinna Vinschen) [1781384] - [netdrv] igc: Fix overwrites when dumping registers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove forward declaration (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused CTRL_EXT_LINK_MODE_MASK (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused MDIC_DEST mask (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for ETF offloading (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for taprio offloading (Corinna Vinschen) [1781384] - [netdrv] igc: Add GSO partial support (Corinna Vinschen) [1781384] - [netdrv] net: igc: let core reject the unsupported coalescing parameters (Corinna Vinschen) [1781384] - [netdrv] intel: Replace zero-length array with flexible-array member (Corinna Vinschen) [1781384] - [netdrv] igc: Add comment (Corinna Vinschen) [1781384] - [netdrv] igc: Add WOL support (Corinna Vinschen) [1781384] - [netdrv] igc: Add pcie error handler support (Corinna Vinschen) [1781384] - [netdrv] igc: Complete to commit Add basic skeleton for PTP (Corinna Vinschen) [1781384] - [netdrv] igc: Fix the typo in comment (Corinna Vinschen) [1781384] - [netdrv] igc: Add dump options (Corinna Vinschen) [1781384] - [netdrv] igc: Complete to commit Add legacy power management support (Corinna Vinschen) [1781384] - [netdrv] igc: make non-global functions static (Corinna Vinschen) [1781384] - [netdrv] igc: Add PHY power management control (Corinna Vinschen) [1781384] - [netdrv] RHEL-only: Revert "igc: add additional delay during phy hw reset" (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for TSO (Corinna Vinschen) [1781384] - [netdrv] igc: Add SKU for i225 device (Corinna Vinschen) [1781384] - [netdrv] igc: Remove unused definition (Corinna Vinschen) [1781384] - [netdrv] igc: Fix typo in a comment (Corinna Vinschen) [1781384] - [netdrv] igc: Use Start of Packet signal from PHY for timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for ethtool GET_TS_INFO command (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for TX timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add support for RX timestamping (Corinna Vinschen) [1781384] - [netdrv] igc: Add basic skeleton for PTP (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_sw_init (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_write_itr (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_assign_vector (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_free_q_vector (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_free_q_vectors (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_irq_disable (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_irq_enable (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_configure_msix (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_rx_mode (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_interrupt_capability (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_alloc_mapped_page (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_configure (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_set_default_mac_filter (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_power_down_link (Corinna Vinschen) [1781384] - [netdrv] igc: Remove no need declaration of the igc_clean_tx_ring (Corinna Vinschen) [1781384] - [netdrv] igc: Remove serdes comments from a description of methods (Corinna Vinschen) [1781384] - [netdrv] igc: Add legacy power management support (Corinna Vinschen) [1781384] - [netdrv] igc: Add 64 bit DMA access support (Corinna Vinschen) [1781384] - [netdrv] igc: Fix parameter descriptions for a several functions (Corinna Vinschen) [1781384] - [netdrv] igc: Fix the parameter description for igc_alloc_rx_buffers (Corinna Vinschen) [1781384] - [netdrv] igc: Remove excess parameter description from igc_is_non_eop (Corinna Vinschen) [1781384] - [netdrv] igc: Prefer to use the pci_release_mem_regions method (Corinna Vinschen) [1781384] - [netdrv] igc: Improve the DMA mapping flow (Corinna Vinschen) [1781384] - [netdrv] igc: Add scatter gather support (Corinna Vinschen) [1781384] - [netdrv] treewide: Use sizeof_field() macro (Corinna Vinschen) [1781384] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Corinna Vinschen) [1781384] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781384] - [netdrv] igb/igc: Don't warn on fatal read failures when the device is removed (Corinna Vinschen) [1781384] - [netdrv] net: igb: let core reject the unsupported coalescing parameters (Corinna Vinschen) [1781381] - [netdrv] intel: Replace zero-length array with flexible-array member (Corinna Vinschen) [1781381] - [netdrv] igb: Fix SGMII SFP module discovery for 100FX/LX (Corinna Vinschen) [1781381] - [netdrv] igb: dont drop packets if rx flow control is enabled (Corinna Vinschen) [1781381] - [netdrv] treewide: Use sizeof_field() macro (Corinna Vinschen) [1781381] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Corinna Vinschen) [1781381] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781381] - [netdrv] igb: Fix constant media auto sense switching when no cable is connected (Corinna Vinschen) [1781381] - [netdrv] igb: Enable media autosense for the i350 (Corinna Vinschen) [1781381] - [netdrv] igb/igc: Don't warn on fatal read failures when the device is removed (Corinna Vinschen) [1781381] - [netdrv] igb: Add UDP segmentation offload support (Corinna Vinschen) [1781381] - [netdrv] net: igbvf: reject unsupported coalescing params (Corinna Vinschen) [1781382] - [netdrv] net: ethernet: intel: Demote MTU change prints to debug (Corinna Vinschen) [1781382] - [ata] ahci: Do not export local variable ahci_em_messages (Prarit Bhargava) [1826320] - [scripts] modpost: check for static EXPORT_SYMBOL* functions (Prarit Bhargava) [1826320] - [kernel] torture: Remove exporting of internal functions (Prarit Bhargava) [1826320] - [input] Input: synaptics-rmi4 - remove the exporting of rmi_2d_sensor_set_input_params (Prarit Bhargava) [1826320] - [netdrv] net: phy: make exported variables non-static (Prarit Bhargava) [1826320] - [scsi] scsi: libsas: remove the exporting of sas_wait_eh (Prarit Bhargava) [1826320] - [drm] drm/client: remove the exporting of drm_client_close (Prarit Bhargava) [1826320] - [scripts] modpost: always show verbose warning for section mismatch (Prarit Bhargava) [1826320] - [net] netfilter: nf_nat_ipv4: remove obsolete EXPORT_SYMBOL (Prarit Bhargava) [1826320] - [crypto] crypto: skcipher - remove the exporting of skcipher_walk_next (Prarit Bhargava) [1826320] - [scsi] scsi: scsi_debug: Fix a recently introduced regression (Ming Lei) [1822001] - [block] scsi: block: remove bidi support (Ming Lei) [1822001] - [scsi] scsi: block: remove req->special (Ming Lei) [1822001] - [scsi] scsi: stop setting up request->special (Ming Lei) [1822001] - [scsi] scsi: remove bidirectional command support (Ming Lei) [1822001] - [scsi] scsi: remove the SCSI OSD library (Ming Lei) [1822001] - [fs] scsi: fs: remove exofs (Ming Lei) [1822001] - [block] scsi: bsg-lib: handle bidi requests without block layer help (Ming Lei) [1822001] - [block] scsi: bsg: refactor bsg_ioctl (Ming Lei) [1822001] - [netdrv] sfc: fix XDP-redirect in this driver (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: support configuring vf spoofchk on EF10 VFs (Jarod Wilson) [1796582 1788753 1684003] - [netdrv] sfc: ethtool: Refactor to remove fallthrough comments in case blocks (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Replace zero-length array with flexible-array member (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove unused variable 'efx_default_channel_type' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: elide assignment of skb (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some ARFS code out of headers (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: only schedule asynchronous filter work if needed (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: Use scnprintf() for avoiding potential buffer overflow (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: detach from cb_page in efx_copy_channel() (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: complete the next packet when we receive a timestamp (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix timestamp reconstruction at 16-bit rollover points (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move mcdi filtering code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: create header for mcdi filtering code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: rename mcdi filtering functions/structs (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove duplicated include from efx.c (Jarod Wilson) [1796582 1788753] - [netdrv] sfc/ethtool_common: Make some function to static (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove set but not used variable 'nic_data' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove duplicated include from ef10.c (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move RPS code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move yet more functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move RSS code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move a couple more functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some ethtool code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move various functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more rx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more tx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: refactor selftest work init code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI logging device attribute (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: conditioned some functionality (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI receive queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI transmit queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI event queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move MCDI VI alloc/free code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move more MCDI port code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some MCDI port utility functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some port link state/caps code (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: use skb_list_walk_safe helper for gso segments (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move common tx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move common rx code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move event queue management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel interrupt management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel alloc/removal code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move channel start/stop code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some channel-related code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move struct init and fini code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move some device reset code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move datapath management code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move mac configuration and status functions (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: move reset workqueue code (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: further preparation for code split (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add new headers in preparation for code split (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove ioremap_nocache and devm_ioremap_nocache (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Remove unnecessary dependencies on I2C (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: avoid duplicate error handling code in 'efx_ef10_sriov_set_vf_mac()' (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Include XDP packet headroom in buffer step size (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix channel allocation with brute force (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: fix build without CONFIG_RFS_ACCEL (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: do ARFS expiry work occasionally even without NAPI poll (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add statistics for ARFS (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: suppress MCDI errors from ARFS (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: change ARFS expiry mechanism (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Only cancel the PPS workqueue if it exists (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: trace_xdp_exception on XDP failure (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: add XDP counters to ethtool stats (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: handle XDP_TX outcomes of XDP eBPF programs (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: allocate channels for XDP tx queues (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: Enable setting of xdp_prog (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: perform XDP processing on received packets (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: support encapsulation of xdp_frames in efx_tx_buffer (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: use the new __netdev_tx_sent_queue BQL optimisation (Jarod Wilson) [1796582 1788753] - [netdrv] net/sfc: Use skb_frag_off accessors (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: phase out dma_zalloc_coherent() (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: remove redundant variable old_vlan (Jarod Wilson) [1796582 1788753] - [netdrv] net: sfc: Convert random_ether_addr to eth_random_addr (Jarod Wilson) [1796582 1788753] - [netdrv] sfc: batch up RX delivery (Jarod Wilson) [1796582 1788753] - [netdrv] net: mlx4: Use scnprintf() for avoiding potential buffer overflow (Alaa Hleihel) [1789363] - [infiniband] IB/mlx4: Fix leak in id_map_find_del (Alaa Hleihel) [1789363] - [infiniband] IB/mlx4: Fix memory leak in add_gid error flow (Alaa Hleihel) [1789363] - [include] mlx4: Bump up MAX_MSIX from 64 to 128 (Alaa Hleihel) [1789363] - [infiniband] RDMA/mlx4: use true, false for bool variable (Alaa Hleihel) [1789363] - [infiniband] RDMA/mlx4: Redo TX checksum offload in line with docs (Alaa Hleihel) [1789363] - [netdrv] mlx4: use new txqueue timeout argument (Alaa Hleihel) [1789363] - [netdrv] treewide: Use sizeof_field() macro (Alaa Hleihel) [1789363 1789362] - [infiniband] IB/mlx4: Update HW GID table while adding vlan GID (Alaa Hleihel) [1789363 1789362] - [netdrv] net/mlx4_en: ethtool: make array modes static const, makes object smaller (Alaa Hleihel) [1789363 1789361] - [infiniband] RDMA/mlx4: Annotate boolean arguments as bool and not int (Alaa Hleihel) [1789363 1789361] - [netdrv] mlx4: avoid large stack usage in mlx4_init_hca() (Alaa Hleihel) [1789363 1789361] - [infiniband] RDMA/mlx4: Untag user pointers in mlx4_get_umem_mr (Alaa Hleihel) [1789363 1789361] - [netdrv] net: Use skb accessors in network drivers (Alaa Hleihel) [1789363 1789361]- [net] ip_vti: receive ipip packet by calling ip_tunnel_rcv (Xin Long) [1815554] - [net] xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output (Xin Long) [1815968] - [net] sched: Fix hw_stats_type setting in pedit loop (Ivan Vecera) [1817156] - [net] sched: set the hw_stats_type in pedit loop (Ivan Vecera) [1817156] - [include] flow_offload: fix allowed types check (Ivan Vecera) [1817156] - [net] sched: act: allow user to specify type of HW stats for a filter (Ivan Vecera) [1817156] - [net] flow_offload: pass action cookie through offload structures (Ivan Vecera) [1817156] - [netdrv] flow_offload: introduce "disabled" HW stats type and allow it in mlxsw (Ivan Vecera) [1817156] - [include] flow_offload: introduce "delayed" HW stats type and allow it in mlx5 (Ivan Vecera) [1817156] - [netdrv] flow_offload: introduce "immediate" HW stats type and allow it in mlxsw (Ivan Vecera) [1817156] - [netdrv] mlxsw: restrict supported HW stats type to "any" (Ivan Vecera) [1817156] - [netdrv] mlxsw: spectrum_flower: Do not allow mixing HW stats types for actions (Ivan Vecera) [1817156] - [netdrv] flow_offload: check for basic action hw stats type (Ivan Vecera) [1817156] - [include] flow_offload: Introduce offload of HW stats type (Ivan Vecera) [1817156] - [net] netfilter: nf_tables: use-after-free in dynamic operations (Phil Sutter) [1822577] - [net] devlink: Add health recover notifications on devlink flows (Petr Oros) [1821169] - [net] devlink: add devink notification when reporter update health state (Petr Oros) [1821169] - [net] devlink: add support for reporter recovery completion (Petr Oros) [1821169] - [net] devlink: Add new "enable_roce" generic device param (Petr Oros) [1805955] - [netdrv] netdevsim: use __GFP_NOWARN to avoid memalloc warning (Petr Oros) [1817157] - [tools] selftests: add netdevsim devlink health tests (Petr Oros) [1817157] - [netdrv] netdevsim: implement couple of testing devlink health reporters (Petr Oros) [1817157] - [net] devlink: propagate extack down to health reporter ops (Petr Oros) [1817157] - [net] devlink: don't do reporter recovery if the state is healthy (Petr Oros) [1817157] - [net] xsk: Fix out of boundary write in __xsk_rcv_memcpy (Jiri Benc) [1819630] - [samples] bpf: Allow for -ENETDOWN in xdpsock (Jiri Benc) [1819630] - [samples] bpf: Drop doubled variable declaration in xdpsock (Jiri Benc) [1819630] - [netdrv] i40e: Relax i40e_xsk_wakeup's return value when PF is busy (Jiri Benc) [1819630] - [netdrv] net/ixgbe: Fix concurrency issues between config flow and XSK (Jiri Benc) [1819630] - [netdrv] net/i40e: Fix concurrency issues between config flow and XSK (Jiri Benc) [1819630] - [net] xsk: Add rcu_read_lock around the XSK wakeup (Jiri Benc) [1819630] - [net] fix installing orphaned programs (Jiri Benc) [1819630] - [tools] libbpf: Don't use kernel-side u32 type in xsk.c (Jiri Benc) [1819630] - [tools] libbpf: Fix compatibility for kernels without need_wakeup (Jiri Benc) [1819630] - [net] xsk: Fix crash in poll when device does not support ndo_xsk_wakeup (Jiri Benc) [1819630] - [kernel] bpf/xskmap: Return ERR_PTR for failure case instead of NULL. (Jiri Benc) [1819630] - [net] xdp: convert put_page() to put_user_page*() (Jiri Benc) [1819630] - [net] xdp: mm: introduce page_size() (Jiri Benc) [1819630] - [net] xsk: relax UMEM headroom alignment (Jiri Benc) [1819630] - [samples] bpf: fix xdpsock l2fwd tx for unaligned mode (Jiri Benc) [1819630] - [netdrv] ixgbe: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] ixgbe: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] i40e: fix xdp handle calculations (Jiri Benc) [1819630] - [netdrv] i40e: fix xdp handle calculations (Jiri Benc) [1819630] - [net] xsk: use state member for socket synchronization (Jiri Benc) [1819630] - [documentation] doc/af_xdp: include unaligned chunk case (Jiri Benc) [1819630] - [samples] bpf: use hugepages in xdpsock app (Jiri Benc) [1819630] - [samples] bpf: add buffer recycling for unaligned chunks to xdpsock (Jiri Benc) [1819630] - [samples] bpf: add unaligned chunks mode support to xdpsock (Jiri Benc) [1819630] - [tools] libbpf: add flags to umem config (Jiri Benc) [1819630] - [netdrv] mlx5e: Allow XSK frames smaller than a page (Jiri Benc) [1819630] - [netdrv] mlx5e: modify driver for handling offsets (Jiri Benc) [1819630] - [netdrv] ixgbe: modify driver for handling offsets (Jiri Benc) [1819630] - [netdrv] i40e: modify driver for handling offsets (Jiri Benc) [1819630] - [net] xsk: add support to allow unaligned chunk placement (Jiri Benc) [1819630] - [net] xdp: xdp_umem: replace kmap on vmap for umem map (Jiri Benc) [1819630] - [net] Don't call XDP_SETUP_PROG when nothing is changed (Jiri Benc) [1819630] - [kernel] bpf: Use PTR_ERR_OR_ZERO in xsk_map_inc() (Jiri Benc) [1819630] - [kernel] xsk: support BPF_EXIST and BPF_NOEXIST flags in XSKMAP (Jiri Benc) [1819630] - [net] xsk: remove AF_XDP socket from map when the socket is released (Jiri Benc) [1819630] - [netdrv] mlx5e: Add AF_XDP need_wakeup support (Jiri Benc) [1819630] - [netdrv] net/mlx5e: Move the SW XSK code from NAPI poll to a separate function (Jiri Benc) [1819630] - [samples] bpf: add use of need_wakeup flag in xdpsock (Jiri Benc) [1819630] - [tools] libbpf: add support for need_wakeup flag in AF_XDP part (Jiri Benc) [1819630] - [netdrv] ixgbe: need_wakeup flag might not be set for Tx (Jiri Benc) [1819630] - [netdrv] ixgbe: add support for AF_XDP need_wakeup feature (Jiri Benc) [1819630] - [netdrv] i40e: add support for AF_XDP need_wakeup feature (Jiri Benc) [1819630] - [net] xsk: add support for need_wakeup flag in AF_XDP rings (Jiri Benc) [1819630] - [net] xsk: replace ndo_xsk_async_xmit with ndo_xsk_wakeup (Jiri Benc) [1819630] - [net] xdp: xdp_umem: fix umem pages mapping for 32bits systems (Jiri Benc) [1819630] - [net] ethtool: add infrastructure for centralized checking of coalescing parameters (Ivan Vecera) [1818096] - [tools] selftests: netfilter: add simple masq/redirect test cases (Hangbin Liu) [1826220] - [tools] selftests: netfilter: fix config fragment CONFIG_NF_TABLES_INET (Hangbin Liu) [1826220] - [tools] selftests: add script to stress-test nft packet path vs. control plane (Hangbin Liu) [1826220] - [net] devlink: disallow reload operation during device cleanup (Petr Oros) [1805958] - [tools] selftests: test creating netdevsim inside network namespace (Petr Oros) [1805958] - [net] devlink: export devlink net setter (Petr Oros) [1805958] - [net] devlink: don't ignore errors during dumpit (Petr Oros) [1805958] - [netdrv] netdevsim: fix spelling mistake "forbidded" -> "forbid" (Petr Oros) [1805958] - [netdrv] netdevsim: implement devlink dev_info op (Petr Oros) [1805958] - [netdrv] netdevsim: add couple of debugfs bools to debug devlink reload (Petr Oros) [1805958] - [netdrv] netdevsim: create devlink and netdev instances in namespace (Petr Oros) [1805958] - [include] net: skbuff: disambiguate argument and member for skb_list_walk_safe helper (Josef Oskera) [1818105] - [include] net: introduce skb_list_walk_safe for skb segment walking (Josef Oskera) [1818105] - [netdrv] netdevsim: drop code duplicated by a merge (Petr Oros) [1805951] - [tools] selftests: devlink: undo changes at the end of resource_test (Petr Oros) [1805951] - [tools] selftests: netdevsim: add tests for devlink reload with resources (Petr Oros) [1805951] - [net] devlink: allow to change namespaces during reload (Petr Oros) [1805951] - [net] devlink: Add method for time-stamp on reporter's dump (Petr Oros) [1805951] - [netdrv] netdevsim: take devlink net instead of init_net (Petr Oros) [1805951] - [netdrv] netdevsim: register port netdevices into net of device (Petr Oros) [1805951] - [netdrv] netdevsim: implement proper devlink reload (Petr Oros) [1805951] - [netdrv] netdevsim: add all ports in nsim_dev_create() and del them in destroy() (Petr Oros) [1805951] - [net] devlink: export devlink net getter (Petr Oros) [1805951] - [net] fib_notifier: propagate extack down to the notifier block callback (Petr Oros) [1805951] - [net] fib_notifier: propagate possible error during fib notifier registration (Petr Oros) [1805951] - [net] fib_notifier: make FIB notifier per-netns (Petr Oros) [1805951] - [netdrv] netdevsim: change fib accounting and limitations to be per-device (Petr Oros) [1805951] - [netdrv] netdevsim: Set offsets to various protocol layers (Petr Oros) [1805951] - [net] devlink: Fix error handling in param and info_get dumpit cb (Petr Oros) [1805951] - [net] lwtunnel: check erspan options before allocating tun_info (Xin Long) [1730151] - [net] lwtunnel: be STRICT to validate the new LWTUNNEL_IP(6)_OPTS (Xin Long) [1730151] - [net] lwtunnel: add support for multiple geneve opts (Xin Long) [1730151] - [net] lwtunnel: change to use nla_put_u8 for LWTUNNEL_IP_OPT_ERSPAN_VER (Xin Long) [1730151] - [net] lwtunnel: ignore any TUNNEL_OPTIONS_PRESENT flags set by users (Xin Long) [1730151] - [net] lwtunnel: get nlsize for erspan options properly (Xin Long) [1730151] - [net] lwtunnel: change to use nla_parse_nested on new options (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for erspan (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for vxlan (Xin Long) [1730151] - [net] lwtunnel: add options setting and dumping for geneve (Xin Long) [1730151] - [net] lwtunnel: add options process for cmp_encap (Xin Long) [1730151] - [net] lwtunnel: add options process for arp request (Xin Long) [1730151] - [net] ip_tunnel: Add dst_cache support in lwtunnel_state of ip tunnel (Xin Long) [1730151] - [include] tcp: Define IPPROTO_MPTCP (Florian Westphal) [1812198] - [net] skb: add helpers to allocate ext independently from sk_buff (Florian Westphal) [1812198] - [net] tcp: Check for filled TCP option space before SACK (Florian Westphal) [1812198] - [net] tcp: Export TCP functions and ops struct (Florian Westphal) [1812198] - [net] tcp: coalesce/collapse must respect MPTCP extensions (Florian Westphal) [1812198] - [net] mptcp: Add MPTCP to skb extensions (Florian Westphal) [1812198] - [net] tcp, ulp: Add clone operation to tcp_ulp_ops (Florian Westphal) [1812198] - [include] tcp: Add MPTCP option number (Florian Westphal) [1812198] - [net] Make sock protocol value checks more specific (Florian Westphal) [1812198] - [net] ipv6: provide and use ipv6 specific version for {recv, send}msg (Florian Westphal) [1812198] - [net] inet: factor out inet_send_prepare() (Florian Westphal) [1812198] - [net] tipc: fix incorrect increasing of link window (Xin Long) [1822129] - [net] tipc: Add a missing case of TIPC_DIRECT_MSG type (Xin Long) [1822129] - [net] tipc: add NULL pointer check to prevent kernel oops (Xin Long) [1822129] - [net] tipc: simplify trivial boolean return (Xin Long) [1822129] - [net] tipc: add missing attribute validation for MTU property (Xin Long) [1822129] - [net] tipc: fix successful connect() but timed out (Xin Long) [1822129] - [net] tipc: make three functions static (Xin Long) [1822129] - [net] tipc: fix wrong connect() return code (Xin Long) [1822129] - [net] tipc: make legacy address flag readable over netlink (Xin Long) [1822129] - [net] tipc: don't send gap blocks in ACK messages (Xin Long) [1822129] - [net] tipc: fix use-after-free in tipc_disc_rcv() (Xin Long) [1822129] - [net] tipc: introduce variable window congestion control (Xin Long) [1822129] - [net] tipc: eliminate more unnecessary nacks and retransmissions (Xin Long) [1822129] - [net] tipc: eliminate gap indicator from ACK messages (Xin Long) [1822129] - [net] tipc: fix duplicate SYN messages under link congestion (Xin Long) [1822129] - [net] tipc: support in-order name publication events (Xin Long) [1822129] - [net] tipc: add back tipc prefix to log messages (Xin Long) [1822129] - [net] tipc: fix update of the uninitialized variable err (Xin Long) [1822129] - [net] tipc: add support for AEAD key setting via netlink (Xin Long) [1822129] - [net] tipc: introduce TIPC encryption & authentication (Xin Long) [1822129] - [include] tipc: add new AEAD key structure for user API (Xin Long) [1822129] - [net] tipc: enable creating a "preliminary" node (Xin Long) [1822129] - [net] tipc: add reference counter to bearer (Xin Long) [1822129] - [net] tipc: eliminate checking netns if node established (Xin Long) [1822129] - [net] tipc: eliminate the dummy packet in link synching (Xin Long) [1822129] - [net] tipc: improve message bundling algorithm (Xin Long) [1822129] - [net] tipc: add smart nagle feature (Xin Long) [1822129] - [net] tipc: improve throughput between nodes in netns (Xin Long) [1822129] - [net] tipc: add loopback device tracking (Xin Long) [1822129] - [netdrv] vxlan: check return value of gro_cells_init() (Sabrina Dubroca) [1821295] - [netdrv] geneve: move debug check after netdev unregister (Sabrina Dubroca) [1821295] - [net] ip6_tunnel: enhance tunnel locate with link check (Sabrina Dubroca) [1821295] - [netdrv] vxlan: implement get_link_ksettings ethtool method (Sabrina Dubroca) [1821295] - [netdrv] vxlan: check tun_info options_len properly (Sabrina Dubroca) [1821295] - [include] iptunnel: make TUNNEL_FLAGS available in uapi (Sabrina Dubroca) [1821295] - [net] introduce dev_net notifier register/unregister variants (Ivan Vecera) [1818102] - [net] push code from net notifier reg/unreg into helpers (Ivan Vecera) [1818102] - [net] call call_netdevice_unregister_net_notifiers from unregister (Ivan Vecera) [1818102] - [net] introduce per-netns netdevice notifiers (Ivan Vecera) [1818102] - [net] push loops and nb calls into helper functions (Ivan Vecera) [1818102] - [include] net: ipv6: do not consider routes via gateways for anycast address check (Hangbin Liu) [1816506] - [net] ipv6/addrconf: call ipv6_mc_up() for non-Ethernet interface (Hangbin Liu) [1816506] - [net] ipv6: need update peer route when modify metric (Hangbin Liu) [1816506] - [net] ipv6: use configured metric when add peer route (Hangbin Liu) [1816506] - [net] ipv6: restrict IPV6_ADDRFORM operation (Hangbin Liu) [1816506] - [net] ipv6: Fix nlmsg_flags when splitting a multipath route (Hangbin Liu) [1816506] - [net] ipv6: Fix route replacement with dev-only route (Hangbin Liu) [1816506] - [net] ipv6/addrconf: fix potential NULL deref in inet6_set_link_af() (Hangbin Liu) [1816506] - [net] net-ipv6-ndisc: add support for RFC7710 RA Captive Portal Identifier (Hangbin Liu) [1816506] - [net] ipv6: Don't use dst gateway directly in ip6_confirm_neigh() (Hangbin Liu) [1816506] - [net] ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()' (Hangbin Liu) [1816506] - [net] ipv6: propagate ipv6_add_dev's error returns out of ipv6_find_idev (Hangbin Liu) [1816506] - [net] ipv6: allow any source address for sendmsg pktinfo with ip_nonlocal_bind (Hangbin Liu) [1816506] - [net] multicast: remove useless parameter for group add (Hangbin Liu) [1816506] - [documentation] networking: devlink-trap: Fix reference to other document (Petr Oros) [1805882] - [netdrv] netdevsim: Fix use-after-free during device dismantle (Petr Oros) [1805882] - [netdrv] netdevsim: Fix build error without CONFIG_INET (Petr Oros) [1805882] - [net] devlink: move reload fail indication to devlink core and expose to user (Petr Oros) [1805882] - [net] devlink: split reload op into two (Petr Oros) [1805882] - [netdrv] mlx4: Split restart_one into two functions (Petr Oros) [1805882] - [include] devlink: add unknown 'fw_load_policy' value (Petr Oros) [1805882] - [net] devlink: add 'reset_dev_on_drv_probe' param (Petr Oros) [1805882] - [include] devlink: extend 'fw_load_policy' values (Petr Oros) [1805882] - [include] devlink: Add new info version tags for ASIC and FW (Petr Oros) [1805882] - [net] devlink: Use switch-case instead of if-else (Petr Oros) [1805882] - [net] devlink: Make port index data type as unsigned int (Petr Oros) [1805882] - [net] devlink: send notifications for deleted snapshots on region destroy (Petr Oros) [1805882] - [net] devlink: remove pointless data_len arg from region snapshot create (Petr Oros) [1805882] - [documentation] Add description of netdevsim traps (Petr Oros) [1805882] - [netdrv] netdevsim: Add devlink-trap support (Petr Oros) [1805882] - [tools] selftests: netdevsim: add devlink regions tests (Petr Oros) [1805882] - [tools] selftests: netdevsim: add devlink params tests (Petr Oros) [1805882] - [netdrv] netdevsim: implement support for devlink region and snapshots (Petr Oros) [1805882] - [netdrv] netdevsim: register couple of devlink params (Petr Oros) [1805882]- [arm64] kvm: arm64: limit PMU version to PMUv3 for ARMv8.1 (Gavin Shan) [1814009] - [arm64] cpufeature: Extract capped perfmon fields (Gavin Shan) [1814009] - [virt] kvm: arm64: Use the correct timer structure to access the physical counter (Gavin Shan) [1814009] - [arm64] Ask the compiler to __always_inline functions used by KVM at HYP (Gavin Shan) [1814009] - [arm64] kvm: arm64: Define our own swab32() to avoid a uapi static inline (Gavin Shan) [1814009] - [arm64] kvm: arm64: Ask the compiler to __always_inline functions used at HYP (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Fold VHE entry/exit work into kvm_vcpu_run_vhe() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Fix up includes for trace.h (Gavin Shan) [1814009] - [virt] kvm: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Only handle supported event counters (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Fix chained SW_INCR counters (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Don't mark a counter as chained if the odd one is disabled (Gavin Shan) [1814009] - [virt] kvm: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset (Gavin Shan) [1814009] - [virt] kvm: arm: Make inject_abt32() inject an external abort instead (Gavin Shan) [1814009] - [virt] kvm: arm: Fix DFSR setting for non-LPAE aarch32 guests (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Fix young bit from mmu notifier (Gavin Shan) [1814009] - [arm64] kvm: Add UAPI notes for swapped registers (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Cleanup MMIO handling (Gavin Shan) [1814009] - [arm64] kvm: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Drop the kvm_vgic_register_mmio_region() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic-its: Properly check the unmapped coll in DISCARD handler (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Correct AArch32 SPSR on exception entry (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Correct CPSR on exception entry (Gavin Shan) [1814009] - [arm64] kvm: arm64: Correct PSTATE on exception entry (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Re-check VMA on detecting a poisoned page (Gavin Shan) [1814009] - [virt] kvm: arm: Remove duplicate include (Gavin Shan) [1814009] - [virt] kvm: arm: Call hyp_cpu_pm_exit at the right place (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Handle GICR_PENDBASER.PTZ filed as RAZ (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic-its: Fix restoration of unmapped collections (Gavin Shan) [1814009] - [virt] kvm: arm64: Only sign-extend MMIO up to register width (Gavin Shan) [1814009] - [arm64] kvm: stop treating register x18 as caller save (Gavin Shan) [1814009] - [arm64] Workaround for Cortex-A55 erratum 1530923 (Gavin Shan) [1814009] - [arm64] Rename WORKAROUND_1319367 to SPECULATIVE_AT_NVHE (Gavin Shan) [1814009] - [arm64] Enable and document ARM errata 1319367 and 1319537 (Gavin Shan) [1814009] - [arm64] Rename WORKAROUND_1165522 to SPECULATIVE_AT_VHE (Gavin Shan) [1814009] - [arm64] Introduce ID_ISAR6 CPU register (Gavin Shan) [1814009] - [arm64] nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Properly handle faulting of device mappings (Gavin Shan) [1814009] - [arm64] kvm: arm64: Ensure 'params' is initialised when looking up sys register (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Remove excessive permission check in kvm_arch_prepare_memory_region (Gavin Shan) [1814009] - [arm64] kvm: arm64: Don't log IMP DEF sysreg traps (Gavin Shan) [1814009] - [arm64] kvm: Invoke compute_layout() before alternatives are applied (Gavin Shan) [1814009] - [arm64] kvm: arm64: Sanely ratelimit sysreg messages (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Use wrapper function to lock/unlock all vcpus in kvm_vgic_create() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy() (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Get rid of unused arg in cpu_init_hyp_mode() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Opportunistically turn off WFI trapping when using direct LPI injection (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Let the timer expire in hardirq context on RT (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: vgic: Fix some comments typo (Gavin Shan) [1814009] - [kvm] arm/arm64: vgic: Remove the declaration of kvm_send_userspace_msi() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Don't set HCR_EL2.TVM when S2FWB is supported (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Show halt poll counters in debugfs (Gavin Shan) [1814009] - [arm64] kvm: Prevent speculative S1 PTW when restoring vcpu context (Gavin Shan) [1814009] - [arm64] kvm: Disable EL1 PTW when invalidating S2 TLBs (Gavin Shan) [1814009] - [arm64] Add ARM64_WORKAROUND_1319367 for all A57 and A72 versions (Gavin Shan) [1814009] - [arm64] kvm: Reorder system register restoration and stage-2 activation (Gavin Shan) [1814009] - [arm64] kvm: arm64: Select TASK_DELAY_ACCT+TASKSTATS rather than SCHEDSTATS (Gavin Shan) [1814009] - [arm64] Retrieve stolen time as paravirtualized guest (Gavin Shan) [1814009] - [arm64] arm/arm64: Make use of the SMCCC 1.1 wrapper (Gavin Shan) [1814009] - [kernel] arm/arm64: Provide a wrapper for SMCCC 1.1 calls (Gavin Shan) [1814009] - [virt] kvm: arm64: Provide VCPU attributes for stolen time (Gavin Shan) [1814009] - [virt] kvm: arm64: Support stolen time reporting via shared structure (Gavin Shan) [1814009] - [virt] kvm: arm64: Implement PV_TIME_FEATURES call (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Factor out hypercall handling from PSCI code (Gavin Shan) [1814009] - [documentation] kvm: arm64: Document PV-time interface (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Allow user injection of external data aborts (Gavin Shan) [1814009] - [virt] kvm: arm/arm64: Allow reporting non-ISV data aborts to userspace (Gavin Shan) [1814009] - [arm64] errata: use arm_smccc_1_1_get_conduit() (Gavin Shan) [1814009] - [kernel] arm/arm64: smccc/psci: add arm_smccc_1_1_get_conduit() (Gavin Shan) [1814009] - [arm64] kvm: arm64: Fix ptrauth ID register masking logic (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add capability to advertise ptrauth for guest (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add userspace flag to enable pointer authentication (Gavin Shan) [1814009] - [arm64] kvm: arm/arm64: Context-switch ptrauth registers (Gavin Shan) [1814009] - [arm64] kvm: arm64: Add a vcpu flag to control ptrauth for guest (Gavin Shan) [1814009] - [tools] selftests: kvm: s390: fix format strings for access reg test (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: make syncregs more reliable on s390 (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: drop vcpu_setup from s390x (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add support for vcpu_args_set to aarch64 and s390x (Vitaly Kuznetsov) [1813987] - [iommu] amd: Fix IOMMU AVIC not properly update the is_run bit in IRTE (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Fix kernel crash with PR KVM (Vitaly Kuznetsov) [1813987] - [x86] cpu: Print "VMX disabled" error message iff KVM is enabled (Vitaly Kuznetsov) [1813987] - [tools] redhat: update kvm/x86 headers in tools (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: fix crash cleanup when KVM wasn't used (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Filter out the broadcast dest for IPI fastpath (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: don't clear mtf_pending when nested events are blocked (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove unnecessary exception trampoline in vmx_vmenter (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Split svm_vcpu_run inline assembly to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move SEV code to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move AVIC code to separate file (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Move Nested SVM Implementation to nested.c (Vitaly Kuznetsov) [1813987] - [x86] kvm svm: Move SVM related files to own sub-directory (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix a missing-prototypes "vmread_error" (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix BUILD_BUG() in __cpuid_entry_get_reg() w/ CONFIG_UBSAN=y (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add a trampoline to fix VMREAD error handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Annotate svm_x86_ops as __initdata (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Annotate vmx_x86_ops as __initdata (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop __exit from kvm_x86_ops' hardware_unsetup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Copy kvm_x86_ops by value to eliminate layer of indirection (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Set kvm_x86_ops only after ->hardware_setup() completes (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Configure runtime hooks using vmx_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Move hardware_setup() definition below vmx_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move init-only kvm_x86_ops to separate struct (Vitaly Kuznetsov) [1813987] - [virt] kvm: Pass kvm_init()'s opaque param to additional arch funcs (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Fix cosmetic copy-paste error in vm_mem_region_move() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix out of range accesses to memslots (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Micro-optimize IPI fastpath delay (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Delay read msr data iff writes ICR MSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Narrow down the IPI fastpath to single target IPI (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Gracefully handle faults on VMXON (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fold loaded_vmcs_init() into alloc_loaded_vmcs() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Always VMCLEAR in-use VMCSes during crash with kexec support (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: add command line switch '-c' to log in csv format (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: add command line switch '-s' to set update interval (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: switch to argparse (Vitaly Kuznetsov) [1813987] - [tools] kvm_stat: rework command line sequence and message texts (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: don't allow memory operands for inline asm that modifies SP (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Mark hrtimer for period or oneshot mode to expire in hard interrupt context (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Issue WBINVD after deactivating an SEV guest (Vitaly Kuznetsov) [1813987] - [documentation] kvm: svm: document KVM_MEM_ENCRYPT_OP, let userspace detect if SEV is available (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove bogus user-triggerable WARN_ON (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rework timespec functions and usage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Code style cleanup in kvm_arch_dev_ioctl() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add blurb to CPUID tracepoint when using max basic leaf values (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add requested index to the CPUID tracepoint (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: check for EFER.SVME=1 before entering guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: remove side effects from nested_vmx_exit_reflected (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: access regs array in vmenter.S in its natural order (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: enlightened VMPTRLD with an incorrect GPA (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: test enlightened vmenter with wrong eVMCS version (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: define and use EVMCS_VERSION (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: properly handle errors in nested_vmx_handle_enlightened_vmptrld() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: stop abusing need_vmcs12_to_shadow_sync for eVMCS mapping (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Uses TEST_FAIL in tests/utilities (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Introduce the TEST_FAIL macro (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce steal-time test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: virt_map should take npages, not size (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Use consistent message for test skipping (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Enable printf format warnings for TEST_ASSERT (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Share common API documentation (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: svm: Add vmcall test to gitignore (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Remove an obsolete comment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: correct meaningless kvm_apicv_activated() check (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Consolidate nested MTF checks to helper function (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Micro-optimize vmexit time when not exposing PMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Introduce GA Log tracepoint for AVIC (Vitaly Kuznetsov) [1813987] - [documentation] kvm: documentation: Update fast page fault for indirect sp (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: avoid loss of pending IRQ/NMI before entering L2 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: implement check_nested_events for interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: ignore L1 interrupt window while running L2 with V_INTR_MASKING=1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: do not change host intercepts while nested VM is running (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: rename set_cr3 callback and related flags to load_mmu_pgd (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: unify callbacks to load paging root (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor kvm_cpuid() param that controls out-of-range logic (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor out-of-range logic to contain the madness (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix CPUID range checks for Hypervisor and Centaur classes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add helpers to perform CPUID-based guest vendor check (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Trace the original requested CPUID function in kvm_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: cpuid: add support for supervisor states (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move nSVM CPUID 0x8000000A handling into common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Advertise and enable NRIPS for L1 iff nrips is enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nsvm: Expose SVM features to L1 iff nested is enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move VMX's host_efer to common x86 code (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop largepages_enabled and its accessor/mutator (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't propagate MMU lpage support to memslot.disallow_lpage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Configure max page level during hardware setup (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Merge kvm_{enable, disable}_tdp() into a common function (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Refactor logging of NPT enabled/disabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Directly query Intel PT mode when refreshing PMUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check for Intel PT MSR virtualization using KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Directly use VMX capabilities helper to detect RDTSCP support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to detect MSR_TSC_AUX virt support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Do kvm_cpuid_array capacity checks in terminal functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use kvm_cpu_caps to detect Intel PT support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Set emulated/transmuted feature bits via kvm_cpu_caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Override host CPUID results with kvm_cpu_caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Do host CPUID at load time to mask KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove stateful CPUID handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Squash CPUID 0x2.0 insanity for modern CPUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove the unnecessary loop on CPUID 0x7 sub-leafs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold CPUID 0x7 masking back into __do_cpuid_func() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to track UMIP emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use KVM cpu caps to mark CR4.LA57 as not-reserved (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add a helper to check kernel support when setting cpu cap (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move XSAVES CPUID adjust to VMX's KVM cpu cap update (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Convert feature updates from CPUID to KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Convert feature updates from CPUID to KVM cpu caps (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce kvm_cpu_caps to replace runtime CPUID masking (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor handling of XSAVES CPUID adjustment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: handle GBPAGE CPUID adjustment for EPT with generic code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle Intel PT CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle RDTSCP CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle PKU CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle UMIP emulation CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle INVPCID CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle MPX CPUID adjustment in VMX code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor cpuid_mask() to auto-retrieve the register (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce cpuid_entry_{change, set, clear}() mutators (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce cpuid_entry_{get, has}() accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Replace bare "unsigned" with "unsigned int" in cpuid helpers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use u32 for holding CPUID register value in helpers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop explicit @func param from ->set_supported_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clear output regs for CPUID 0x14 if PT isn't exposed to guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Make kvm_mpx_supported() an inline function (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use supported_xcr0 to detect MPX support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Calculate the supported xcr0 mask at load time (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helpers to query Intel PT mode (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use common loop iterator when handling CPUID 0xD.N (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop redundant array size check (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Encapsulate CPUID entries and metadata in struct (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor CPUID 0x4 and 0x8000001d handling (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Hoist loop counter and terminator to top of __do_cpuid_func() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Consolidate CPUID array max num entries checking (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop redundant boot cpu checks on SSBD feature bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop the explicit @index from do_cpuid_7_mask() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clean up CPUID 0x7 sub-leaf loop (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor CPUID 0xD.N sub-leaf entry creation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Warn on zero-size save state for valid CPUID 0xD.N sub-leaf (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check for CPUID 0xD.N support before validating array size (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move CPUID 0xD.1 handling out of the index>0 loop (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Check userspace CPUID array size after validating sub-leaf (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Clean up error handling in kvm_dev_ioctl_get_cpuid() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Simplify handling of Centaur CPUID leafs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor loop around do_cpuid_func() to separate helper (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Return -E2BIG when KVM_GET_SUPPORTED_CPUID hits max entries (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Shrink the usercopy region of the emulation context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move kvm_emulate.h into KVM's private directory (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Dynamically allocate per-vCPU emulation context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move emulation-only helpers to emulate.c (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Explicitly pass an exception struct to check_intercept (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor I/O emulation helpers to provide vcpu-only variant (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop gfn_to_pfn_atomic() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix warning due to implicit truncation on 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Drop unnecessary check on ept caps for execute-only (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rename kvm_mmu->get_cr3() to ->get_guest_pgd() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Rename EPTP validity helper and associated variables (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Rename nested_ept_get_cr3() to nested_ept_get_eptp() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Allow L1 to use 5-level page walks for nested EPT (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Don't drop level/direct from MMU role calculation (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Support dirty log initial-all-set test (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Properly handle userspace interrupt window request (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: trigger kvmclock sync request just once on VM creation (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Recalculate apic map in batch (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some obsolete comments (Vitaly Kuznetsov) [1813987] - [virt] kvm: x86: enable dirty log gradually in small chunks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Reuse the current root if possible for fast switch (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Ignore guest CR3 on fast root switch for direct MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Inhibit APIC virtualization for X2APIC guest (Vitaly Kuznetsov) [1813987] - [virt] kvm: Remove unnecessary asm/kvm_host.h includes (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Fix unknown ucall command asserts (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Consolidate VM allocation and free for VMX and SVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Directly return __vmalloc() result in ->vm_alloc() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Gracefully handle __vmalloc() failure during VM allocation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Adjust counter sample period after a wrmsr (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Consolidate open coded variants of memslot TLB flushes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Use range-based TLB flush for dirty log memslot flush (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move kvm_arch_flush_remote_tlbs_memslot() to mmu.c (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add test for KVM_SET_USER_MEMORY_REGION (Vitaly Kuznetsov) [1813987] - [virt] kvm: Dynamically size memslot array based on number of used slots (Vitaly Kuznetsov) [1813987] - [virt] kvm: Terminate memslot walks via used_slots (Vitaly Kuznetsov) [1813987] - [virt] kvm: Ensure validity of memslot with respect to kvm_get_dirty_log() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Provide common implementation for generic dirty log functions (Vitaly Kuznetsov) [1813987] - [virt] kvm: Clean up local variable usage in __kvm_set_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Simplify kvm_free_memslot() and all its descendents (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move memslot deletion to helper function (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Free arrays for old memslot when moving memslot's base gfn (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop "const" attribute from old memslot in commit_memory_region() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move setting of memslot into helper routine (Vitaly Kuznetsov) [1813987] - [virt] kvm: Refactor error handling for setting memory region (Vitaly Kuznetsov) [1813987] - [virt] kvm: Explicitly free allocated-but-unused dirty bitmap (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_create_memslot() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move memslot memory allocation into prepare_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate memslot resources during prepare_memory_region() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Don't free new memslot if allocation of said memslot fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: Reinstall old memslots if arch preparation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate new rmap and large page tracking when moving memslot (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move gpa_val and gpa_available into the emulator context (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add EMULTYPE_PF when emulation is triggered by a page fault (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: remove unused function apic_lvt_vector() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add 'else' to split mutually exclusive case (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: eliminate some unreachable code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix print format and coding style (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: rewrite the comment in vmx_get_mt_mask (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Convert some printf's to pr_info's (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rework debug message printing (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Time guest demand paging (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Support multiple vCPUs in demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Pass args to vCPU in global vCPU args struct (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add memory size parameter to the demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add configurable demand paging delay (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Add demand paging content to the demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Create a demand paging test (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce num-pages conversion utilities (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Introduce vm_guest_mode_params (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Rename vm_guest_mode_params (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: aarch64: Remove unnecessary ifdefs (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: Remove unnecessary defines (Vitaly Kuznetsov) [1813987] - [tools] redhat: selftests: kvm: add SPDX-License-Identifier (Vitaly Kuznetsov) [1813987] - [x86] redhat: kvm: x86: add SPDX-License-Identifier (Vitaly Kuznetsov) [1813987] - [x86] x86 kvm page table walks: switch to explicit __get_user() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: avoid NULL pointer dereference with incorrect EVMCS GPAs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Initializing all kvm_lapic_irq fields in ioapic_write_indirect (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Condition ENCLS-exiting enabling on CPU support for SGX1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix Kconfig menu text for -Werror (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove stale comment from struct x86_emulate_ctxt (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix the svm vmexit code for WRMSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix dereference null cpufreq policy (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: limit the number of "kvm: disabled by bios" messages (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid useless copy of cpufreq policy (Vitaly Kuznetsov) [1813987] - [x86] kvm: allow disabling -Werror (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: allow compiling as non-module with W=1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: Pre-allocate 1 cpumask variable per cpu for both pv tlb and pv ipis (Vitaly Kuznetsov) [1813987] - [x86] kvm: Introduce pv check helpers (Vitaly Kuznetsov) [1813987] - [kernel] kvm: let declaration of kvm_get_running_vcpus match implementation (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: allocate AVIC data structures based on kvm_amd module parameter (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Emulate MTF when performing instruction emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: fix error handling in svm_hardware_setup (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix potential memory leak in svm_cpu_init() (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: avoid calculating pending eoi from an uninitialized val (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: handle nested posted interrupts when apicv is disabled for L1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: svm: Fix NULL pointer dereference when AVIC not enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Hold KVM's srcu lock when syncing vmcs12->shadow (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI (Vitaly Kuznetsov) [1813987] - [x86] kvm/emulate: fix a -Werror=cast-function-type (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix incorrect comparison in trace event (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Fix some obsolete comments and grammar error (Vitaly Kuznetsov) [1813987] - [kernel] kvm: x86: fix missing prototypes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: enable -Werror (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: guest-halt-polling.txt convert to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: review-checklist.txt: rename to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert timekeeping.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert s390-diag.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert ppc-pv.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert nested-vmx.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert mmu.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert locking.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert hypercalls.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: arm/psci.txt: convert to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert arm/hyp-abi.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: Convert api.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/xive.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/xics.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vm.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vfio.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/vcpu.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/s390_flic.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/mpic.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: convert devices/arm-vgit.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: devices/arm-vgit-v3.txt to ReST (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: devices/arm-vgic-its.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: Convert msr.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: virt: convert halt-polling.txt to ReST format (Vitaly Kuznetsov) [1813987] - [documentation] docs: kvm: add arm/pvtime.rst to index.rst (Vitaly Kuznetsov) [1813987] - [documentation] docs: virtual: add it to the documentation body (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix WARN_ON check of an unsigned less than zero (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Remove unused x86_register enum (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fix struct guest_walker arrays for 5-level paging (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use correct root level for nested EPT shadow page tables (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Fix some comment typos and coding style (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Avoid retpoline on ->page_fault() with TDP (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: reuse smp_wmb() in kvm_make_request() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove duplicated KVM_REQ_EVENT request (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: svm: Add vmcall test (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: AMD Nested test infrastructure (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Replace get_{gdt, idt}_base() by get_{gdt, idt}() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Deliver exception payload on KVM_GET_VCPU_EVENTS (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Handle pending #DB when injecting INIT VM-exit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Mask off reserved bit from #DB exception payload (Vitaly Kuznetsov) [1813987] - [virt] kvm: Disable preemption in kvm_get_running_vcpu() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: delete meaningless vmx_decache_cr0_guest_bits() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Mark CR4.UMIP as reserved based on associated CPUID bit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix perfctr WRMSR for running counters (Vitaly Kuznetsov) [1813987] - [x86] kvm: mmu: Separate generating and setting mmio ptes (Vitaly Kuznetsov) [1813987] - [x86] kvm: mmu: Replace unsigned with unsigned int for PTE access (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Remove stale comment from nested_vmx_load_cr3() (Vitaly Kuznetsov) [1813987] - [x86] kvm: do not setup pv tlb flush when not paravirtualized (Vitaly Kuznetsov) [1813987] - [x86] Add "nopv" parameter to disable PV extensions (Vitaly Kuznetsov) [1813987] - [virt] kvm: fix overflow of zero page refcount with ksm running (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Take a u64 when checking for a valid dr7 value (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: use raw clock values consistently (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: reorganize pvclock_gtod_data members (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: delete meaningless nested_vmx_run() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: allow AVIC without split irqchip (Vitaly Kuznetsov) [1813987] - [x86] kvm: ioapic: Lazy update IOAPIC EOI (Vitaly Kuznetsov) [1813987] - [x86] kvm: ioapic: Refactor kvm_ioapic_update_eoi() (Vitaly Kuznetsov) [1813987] - [x86] kvm: i8254: Deactivate APICv when using in-kernel PIT re-injection mode (Vitaly Kuznetsov) [1813987] - [x86] svm: Temporarily deactivate AVIC during ExtINT handling (Vitaly Kuznetsov) [1813987] - [x86] svm: Deactivate AVIC when launching guest with nested SVM support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: hyperv: Use APICv update request interface (Vitaly Kuznetsov) [1813987] - [x86] svm: Add support for dynamic APICv (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce x86 ops hook for pre-update APICv (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce APICv x86 ops for checking APIC inhibit reasons (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: avic: Add support for dynamic setup/teardown of virtual APIC backing page (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: svm: Add support to (de)activate posted interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add APICv (de)activate request trace points (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add support for dynamic APICv activation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: remove get_enable_apicv from kvm_x86_ops (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce APICv inhibit reason bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: Introduce APICv update helper function (Vitaly Kuznetsov) [1813987] - [iommu] amd: Re-factor guest virtual APIC (de-)activation code (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Add fpu and one reg set/get library functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: Clean up host's steal time structure (Vitaly Kuznetsov) [1813987] - [x86] kvm: Make sure KVM_VCPU_FLUSH_TLB flag is not missed (Vitaly Kuznetsov) [1813987] - [virt] x86/kvm: Cache gfn to pfn translation (Vitaly Kuznetsov) [1813987] - [virt] x86/kvm: Introduce kvm_(un)map_gfn() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use a typedef for fastop functions (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add 'else' to unify fastop and execute call path (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: inline memslot_valid_for_gpte (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Use huge pages for DAX-backed files (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Remove lpage_is_disallowed() check from set_spte() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fold max_mapping_level() into kvm_mmu_hugepage_adjust() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Zap any compound page when collapsing sptes (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Remove obsolete gfn restoration in FNAME(fetch) (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rely on host page tables to find HugeTLB mappings (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Drop level optimization from fast_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Walk host page tables to find THP mappings (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor THP adjust to prep for changing query (Vitaly Kuznetsov) [1813987] - [x86] mm: Introduce lookup_address_in_mm() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Play nice with read-only memslots when querying host page size (Vitaly Kuznetsov) [1813987] - [x86] kvm: Use vcpu-specific gva->hva translation when querying host page size (Vitaly Kuznetsov) [1813987] - [mm] thp: kvm: Explicitly check for THP when populating secondary MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Enforce max_level on HugeTLB mappings (Vitaly Kuznetsov) [1813987] - [virt] kvm: Return immediately if __kvm_gfn_to_hva_cache_init() fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: Clean up __kvm_gfn_to_hva_cache_init() and its callers (Vitaly Kuznetsov) [1813987] - [virt] kvm: Check for a bad hva before dropping into the ghc slow path (Vitaly Kuznetsov) [1813987] - [x86] kvm/x86: export kvm_vector_hashing_enabled() is unnecessary (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: remove duplicated segment cache clear (Vitaly Kuznetsov) [1813987] - [x86] Adding 'else' to reduce checking (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check GUEST_DR7 on vmentry of nested guests (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move running VCPU from ARM to common code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop x86_set_memory_region() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't take srcu lock in init_rmode_identity_map() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add build-time error check on kvm_run size (Vitaly Kuznetsov) [1813987] - [virt] kvm: Remove kvm_read_guest_atomic() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Perform non-canonical checks in 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: WARN on failure to set IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove unused ctxt param from emulator's FPU accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: revert "kvm: x86: Fix fpu state crash in kvm guest" (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Ensure guest's FPU state is loaded when accessing for emulation (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load, put}_guest_fpu() (Vitaly Kuznetsov) [1813987] - [x86] revert "kvm: x86: Add a WARN on TIF_NEED_FPU_LOAD in kvm_load_guest_fpu()" (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: short-circuit kvm_apic_accept_pic_intr() when pic intr is accepted (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid clearing pending exception event twice (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect exit_reason from being used in Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move vcpu->run page allocation out of kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move putting of vcpu->pid to kvm_vcpu_destroy() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_vcpu_init() and kvm_arch_vcpu_uninit() (Vitaly Kuznetsov) [1813987] - [arm64] kvm: arm64: Free sve_state via arm specific hook (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: arm: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move all vcpu init code into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Drop kvm_arch_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: booke: Setup vcpu during kvmppc_core_vcpu_create() (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Manually invoke vcpu setup during kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move guts of kvm_arch_vcpu_setup() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Move initialization of preempt notifier to kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Unexport kvm_vcpu_cache and kvm_vcpu_{un}init() (Vitaly Kuznetsov) [1813987] - [s390] kvm: Move vcpu alloc and init invocation to common code (Vitaly Kuznetsov) [1813987] - [virt] kvm: Introduce kvm_vcpu_destroy() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Invoke kvm_vcpu_uninit() immediately prior to freeing vcpu (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Invoke kvm_vcpu_init() before allocating sie_page (Vitaly Kuznetsov) [1813987] - [s390] kvm: s390: Move guts of kvm_arch_vcpu_init() into kvm_arch_vcpu_create() (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add kvm_arch_vcpu_precreate() to handle pre-allocation issues (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Remove kvm_arch_vcpu_free() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [virt] kvm: arm: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Drop kvm_arch_vcpu_free() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Move kvm_vcpu_init() invocation to common code (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: e500mc: Move reset of oldpir below call to kvm_vcpu_init() (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s pr: Allocate book3s and shadow vcpu after common init (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: Allocate vcpu struct in common PPC code (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: e500mc: Add build-time assert that vcpu is at offset 0 (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s pr: Free shared page if mmu initialization fails (Vitaly Kuznetsov) [1813987] - [powerpc] kvm: ppc: book3s hv: Uninit vCPU if vcore creation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove spurious clearing of async #PF MSR (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move kvm_vcpu_init() invocation to common code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move allocation of pio_data page down a few lines (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move FPU allocation to common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Allocate vcpu struct in common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Use direct vcpu pointer during vCPU create/free (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use direct vcpu pointer during vCPU create/free (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Allocate VPID after initializing VCPU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Free wbinvd_dirty_mask if vCPU creation fails (Vitaly Kuznetsov) [1813987] - [virt] kvm: async_pf: drop kvm_arch_async_page_present wrappers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix overlap between SPTE_MMIO_MASK and generation (Vitaly Kuznetsov) [1813987] - [virt] kvm: Refactor handling of VM debugfs files (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: vmread should not set rflags to specify success in case of #PF (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Micro-optimize nEPT's bad memptype/XWR checks (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Reorder the reserved bit check in prefetch_invalid_gpte() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: delete meaningless nested_vmx_prepare_msr_bitmap() declaration (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Refactor and rename bit() to feature_bit() macro (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Expand build-time assertion on reverse CPUID usage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add CPUID_7_1_EAX to the reverse CPUID table (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move bit() helper to cpuid.h (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add dedicated emulator helpers for querying CPUID features (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add macro to ensure reserved cr4 bits checks stay in sync (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop special XSAVE handling from guest_cpuid_has() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Ensure all logical CPUs have consistent reserved cr4 bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Don't let userspace set host-reserved cr4 bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helper to consolidate up PT/RTIT WRMSR fault logic (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add non-canonical check on writes to RTIT address MSRs (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some writing mistakes (Vitaly Kuznetsov) [1813987] - [x86] kvm: hyperv: Fix some typos in vcpu unimpl info (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some grammar mistakes (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some comment typos and missing parentheses (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix some out-dated function names in comment (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix some wrong function names in comment (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: check kvm_pit outside kvm_vm_ioctl_reinject() (Vitaly Kuznetsov) [1813987] - [x86] kvm: lapic: micro-optimize fixed mode ipi delivery (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: FIXED+PHYSICAL mode single target IPI fastpath (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Allow KVM_INTEL when building for Centaur and/or Zhaoxin CPUs (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Check for full VMX support when verifying CPU compatibility (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use VMX feature flag to query BIOS enabling (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Drop initialization of IA32_FEAT_CTL MSR (Vitaly Kuznetsov) [1813987] - [x86] cpufeatures: Add flag to track whether MSR IA32_FEAT_CTL is configured (Vitaly Kuznetsov) [1813987] - [x86] cpu: Set synthetic VMX cpufeatures during init_ia32_feat_ctl() (Vitaly Kuznetsov) [1813987] - [x86] cpufeatures: Add EPT_AD feature bit (Vitaly Kuznetsov) [1813987] - [x86] cpu: Detect VMX features on Intel, Centaur and Zhaoxin CPUs (Vitaly Kuznetsov) [1813987] - [x86] vmx: Introduce VMX_FEATURES_* (Vitaly Kuznetsov) [1813987] - [x86] cpu: Clear VMX feature flag if VMX is not fully enabled (Vitaly Kuznetsov) [1813987] - [x86] centaur: Use common IA32_FEAT_CTL MSR initialization (Vitaly Kuznetsov) [1813987] - [x86] mce: WARN once if IA32_FEAT_CTL MSR is left unlocked (Vitaly Kuznetsov) [1813987] - [x86] intel: Initialize IA32_FEAT_CTL MSR at boot (Vitaly Kuznetsov) [1813987] - [tools] x86: Sync msr-index.h from kernel sources (Vitaly Kuznetsov) [1813987] - [tools] selftests, kvm: Replace manual MSR defs with common msr-index.h (Vitaly Kuznetsov) [1813987] - [x86] msr-index: Clean up bit defines for IA32_FEATURE_CONTROL MSR (Vitaly Kuznetsov) [1813987] - [tools] tools arch x86: Grab a copy of the file containing the MSR numbers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: WARN if root_hpa is invalid when handling a page fault (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: WARN on an invalid root_hpa (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move root_hpa validity checks to top of page fault handler (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move calls to thp_adjust() down a level (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move transparent_hugepage_adjust() above __direct_map() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Consolidate tdp_page_fault() and nonpaging_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Rename lpage_disallowed to account_disallowed_nx_lpage (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Persist gfn_lpage_is_disallowed() to max_level (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Incorporate guest's page level into max level for shadow MMU (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor handling of forced 4k pages in page faults (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor the per-slot level calculation in mapping_level() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Refactor handling of cache consistency with TDP (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move nonpaging_page_fault() below try_async_pf() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Fold nonpaging_map() into nonpaging_page_fault() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/mmu: Move definition of make_mmu_pages_available() up (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add a WARN on TIF_NEED_FPU_LOAD in kvm_load_guest_fpu() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Remove duplicated declaration of kvm_vcpu_kick (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Aesthetic cleanup of handle_vmread and handle_vmwrite (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: VMWRITE checks unsupported field before read-only field (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: VMWRITE checks VMCS-link pointer before VMCS field (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix the spelling of CPU_BASED_USE_TSC_OFFSETTING (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename NMI_PENDING to NMI_WINDOW (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename INTERRUPT_PENDING to INTERRUPT_WINDOW (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix some comment typos (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Convert the last users of "shorthand = 0" to use macros (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix callers of kvm_apic_match_dest() to use correct macros (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Drop KVM_APIC_SHORT_MASK and KVM_APIC_DEST_MASK (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Use APIC_DEST_* macros properly in kvm_lapic_irq.dest_mode (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move irrelevant declarations out of ioapic.h (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix kvm_bitmap_or_dest_vcpus() to use irq shorthand (Vitaly Kuznetsov) [1813987] - [x86] kvm: explicitly set rmap_head->val to 0 in pte_list_desc_remove_entry() (Vitaly Kuznetsov) [1813987] - [virt] kvm: get rid of var page in kvm_set_pfn_dirty() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: remove unreachable statement in vmx_get_msr_feature() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: use CPUID to locate host page table reserved bits (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Host feature SSBD doesn't imply guest feature AMD_SSBD (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Stop wasting a page for guest_msrs (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332) (Vitaly Kuznetsov) [1813987] - [documentation] documentation: kvm: Fix mention to number of ioctls classes (Vitaly Kuznetsov) [1813987] - [x86] kvm x86: Move kvm cpuid support out of svm (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Relax guest IA32_FEATURE_CONTROL constraints (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Grab KVM's srcu lock when setting nested state (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Open code shared_msr_update() in its only caller (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix jump label out_free_* in kvm_init() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: create mmu/ subdirectory (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Remove unnecessary TLB flushes on L1<->L2 switches when L1 use apic-access-page (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Do not mark vmcs02->apic_access_page as dirty when unpinning (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Assume TLB entries of L1 and L2 are tagged differently if L0 use EPT (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Unexport kvm_vcpu_reload_apic_access_page() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: add CR4_LA57 bit to nested CR4_FIXED1 (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use semi-colon instead of comma for exit-handlers initialization (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Add support for capturing highest observable L2 TSC (Vitaly Kuznetsov) [1813987] - [x86] tss: Fix and move VMX BUILD_BUG_ON() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename function find_msr() to vmx_find_msr_index() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename NR_AUTOLOAD_MSRS to NR_LOADSTORE_MSRS (Vitaly Kuznetsov) [1813987] - [x86] kvm: nested: Introduce read_and_check_msr_entry() (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry, Exit} control (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Load GUEST_IA32_PERF_GLOBAL_CTRL MSR on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: mark functions in the header as "static inline" (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Use kvm_set_msr to load IA32_PERF_GLOBAL_CTRL on VM-Exit (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check HOST_IA32_PERF_GLOBAL_CTRL on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Check GUEST_IA32_PERF_GLOBAL_CTRL on VM-Entry (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Add helper to check reserved bits in IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: Simplify loop in kvm_create_max_vcpus test (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: optimization: Requst TLB flush in fast_cr3_switch() instead of do it directly (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Add lazy mechanism to release perf_event per vPMC (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Reuse perf_event to avoid unnecessary pmc_reprogram_counter (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Introduce a new kvm_pmu_ops->msr_idx_to_pmc callback (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Rename pmu_ops callbacks from msr_idx to rdpmc_ecx (Vitaly Kuznetsov) [1813987] - [kernel] perf/core: Provide a kernel-internal interface to pause perf_event (Vitaly Kuznetsov) [1813987] - [kernel] perf/core: Provide a kernel-internal interface to recalibrate event period (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Update vmcs01 TPR_THRESHOLD if L2 changed L1 TPR (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Refactor update_cr8_intercept() (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Remove check if APICv enabled in SVM update_cr8_intercept() handler (Vitaly Kuznetsov) [1813987] - [x86] kvm: apic: add helper func to remove duplicate code in kvm_pv_send_ipi (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: avoid unused setup_syscalls_segments call when SYSCALL check failed (Vitaly Kuznetsov) [1813987] - [virt] kvm: mmio: get rid of odd out_err label in kvm_coalesced_mmio_init (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consume pending LAPIC INIT event when exit on INIT_SIGNAL (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Prevent set vCPU into INIT/SIPI_RECEIVED state when INIT are latched (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Evaluate latched_init in KVM_SET_VCPU_EVENTS when vCPU not in SMM (Vitaly Kuznetsov) [1813987] - [x86] kvm: retpolines: x86: eliminate retpoline from svm.c exit handlers (Vitaly Kuznetsov) [1813987] - [x86] kvm: retpolines: x86: eliminate retpoline from vmx.c exit handlers (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: optimize more exit handlers in vmx.c (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add a comment describing the /dev/kvm no_compat handling (Vitaly Kuznetsov) [1813987] - [virt] kvm: Forbid /dev/kvm being opened by a compat task when CONFIG_KVM_COMPAT=n (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Reset the three MSR list number variables to 0 in kvm_init_msr_list() (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: fix build with glibc >= 2.30 (Vitaly Kuznetsov) [1813987] - [virt] kvm: mmu: Do not treat ZONE_DEVICE pages as being reserved (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Introduce pi_is_pir_empty() helper (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Do not change PID.NDST when loading a blocked vCPU (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consider PID.PIR to determine if vCPU has pending interrupts (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix comment to specify PID.ON instead of PIR.ON (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fix initialization of MSR lists (Vitaly Kuznetsov) [1813987] - [virt] kvm: fix placement of refcount initialization (Vitaly Kuznetsov) [1813987] - [virt] kvm: Fix NULL-ptr deref after kvm_create_vm fails (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: get rid of odd out jump label in pdptrs_changed (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: switch KVMCLOCK base to monotonic raw clock (Vitaly Kuznetsov) [1813987] - [virt] kvm: call kvm_arch_destroy_vm if vm creation fails (Vitaly Kuznetsov) [1813987] - [x86] kvm/pmu: Replace rcu_swap_protected() with rcu_replace_pointer() (Vitaly Kuznetsov) [1813987] - [kernel] rcu: Upgrade rcu_swap_protected() to rcu_replace_pointer() (Vitaly Kuznetsov) [1813987] - [x86] kvm: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1813987] - [virt] kvm: Allocate memslots and buses before calling kvm_arch_init_vm (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Don't leak L1 MMIO regions to L2 (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Fix potential wrong physical id in avic_handle_ldr_update (Vitaly Kuznetsov) [1813987] - [virt] kvm: Add separate helper for putting borrowed reference to kvm (Vitaly Kuznetsov) [1813987] - [tools] kvm: tests: Add test to verify MSR_IA32_XSS (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Update svm_xsaves_supported (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move IA32_XSS to kvm_{get, set}_msr_common (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Move IA32_XSS-swapping on VM-entry/VM-exit to common x86 code (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Use wrmsr for switching between guest and host IA32_XSS on Intel (Vitaly Kuznetsov) [1813987] - [x86] kvm: svm: Use wrmsr for switching between guest and host IA32_XSS on AMD (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Remove unneeded kvm_vcpu variable, guest_xcr0_loaded (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Fix conditions for guest IA32_XSS support (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Introduce vcpu->arch.xsaves_enabled (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Rename {vmx, nested_vmx}_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Initialize vmx->guest_msrs[] right after allocation (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove vmx->hv_deadline_tsc initialization from vmx_vcpu_setup() (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Write VPID to vmcs when creating vcpu (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86/vpmu: Declare kvm_pmu->reprogram_pmi field using DECLARE_BITMAP (Vitaly Kuznetsov) [1813987] - [x86] kvm: remove redundant code in kvm_arch_vm_ioctl (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Modify kvm_x86_ops.get_enable_apicv() to use struct kvm parameter (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold decache_cr3() into cache_reg() (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add helpers to test/mark reg availability and dirtiness (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Fold 'enum kvm_ex_reg' definitions into 'enum kvm_reg' (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Add WARNs to detect out-of-bounds register indices (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Optimize vmx_set_rflags() for unrestricted guest (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Consolidate to_vmx() usage in RFLAGS accessors (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Skip GUEST_CR3 VMREAD+VMWRITE if the VMCS is up-to-date (Vitaly Kuznetsov) [1813987] - [x86] kvm: nvmx: Always write vmcs02.GUEST_CR3 during nested VM-Enter (Vitaly Kuznetsov) [1813987] - [x86] kvm: clear kvmclock MSR on reset (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: fix bugon.cocci warnings (Vitaly Kuznetsov) [1813987] - [x86] kvm: vmx: Remove specialized handling of unexpected exit-reasons (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: fix sync_regs_test with newer gccs (Vitaly Kuznetsov) [1813987] - [virt] kvm: Don't shrink/grow vCPU halt_poll_ns if host side polling is disabled (Vitaly Kuznetsov) [1813987] - [tools] selftests: kvm: synchronize .gitignore to Makefile (Vitaly Kuznetsov) [1813987] - [x86] kvm: x86: Expose RDPID in KVM_GET_SUPPORTED_CPUID (Vitaly Kuznetsov) [1813987] - [virt] kvm: Allow kvm_device_ops to be const (Vitaly Kuznetsov) [1813987] - [kernel] kvm: Implement kvm_put_guest() (Vitaly Kuznetsov) [1813987] - [x86] xen: kvm: Gather the definition of emulate prefixes (Vitaly Kuznetsov) [1813987] - [tools] kvm: selftests: do not blindly clobber registers in guest asm (Vitaly Kuznetsov) [1813987]- [fs] cifs: handle prefix paths in reconnect (Leif Sahlberg) [1814203] - [fs] cifs: use compounding for open and first query-dir for readdir() (Leif Sahlberg) [1814203] - [fs] cifs: create a helper function to parse the query-directory response buffer (Leif Sahlberg) [1814203] - [fs] cifs: prepare SMB2_query_directory to be used with compounding (Leif Sahlberg) [1814203] - [fs] xfs: reflink should force the log out if mounted with wsync (Bill O'Donnell) [1825373] - [fs] xfs: factor out a new xfs_log_force_inode helper (Bill O'Donnell) [1825373] - [fs] xfs: don't ever return a stale pointer from __xfs_dir3_free_read (Bill O'Donnell) [1825373] - [fs] xfs: fix xfs_rmap_has_other_keys usage of ECANCELED (Bill O'Donnell) [1825373] - [fs] xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE (Bill O'Donnell) [1825373] - [fs] xfs: use bitops interface for buf log item AIL flag check (Bill O'Donnell) [1825373] - [fs] xfs: Sanity check flags of Q_XQUOTARM call (Bill O'Donnell) [1825373] - [fs] iomap: iomap that extends beyond EOF should be marked dirty (Bill O'Donnell) [1825373] - [s390] s390/kasan: Fix crash when attaching PCI device (Philipp Rudo) [1827334] - [s390] s390/qeth: fix initialization on old HW (Philipp Rudo) [1780667] - [s390] s390/qeth: vnicc Fix init to default (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix vnicc_is_in_use if rx_bcast not set (Philipp Rudo) [1780667] - [s390] s390/qeth: fix false reporting of VNIC CHAR config failure (Philipp Rudo) [1780667] - [s390] s390/qeth: lock the card while changing its hsuid (Philipp Rudo) [1780667] - [s390] s390/qeth: fix qdio teardown after early init error (Philipp Rudo) [1780667] - [s390] s390/qeth: don't return -ENOTSUPP to userspace (Philipp Rudo) [1780667] - [s390] s390/qeth: fix promiscuous mode after reset (Philipp Rudo) [1780667] - [s390] s390/qeth: handle error due to unsupported transport mode (Philipp Rudo) [1780667] - [s390] s390/qeth: return proper errno on IO error (Philipp Rudo) [1780667] - [s390] s390/qeth: don't check drvdata in sysfs code (Philipp Rudo) [1780667] - [s390] s390/qeth: replace qeth_l3_get_addr_buffer() (Philipp Rudo) [1780667] - [s390] s390/qeth: remove VLAN tracking for L3 devices (Philipp Rudo) [1780667] - [net] net: 8021q: vlan_core: allow use list of vlans for real device (Philipp Rudo) [1780667] - [s390] s390/qeth: consolidate L3 mcast registration code (Philipp Rudo) [1780667] - [s390] s390/qeth: remove gratuitious RX modeset (Philipp Rudo) [1780667] - [s390] s390/qeth: fine-tune L3 mcast locking (Philipp Rudo) [1780667] - [s390] s390/qeth: clean up error path in qeth_core_probe_device() (Philipp Rudo) [1780667] - [s390] s390/qeth: don't cache MAC addresses for multicast IPs (Philipp Rudo) [1780667] - [s390] s390/qeth: use helpers for IP address hashing (Philipp Rudo) [1780667] - [s390] s390/qeth: don't set card state in qeth_qdio_clear_card() (Philipp Rudo) [1780667] - [s390] s390/qeth: consolidate some duplicated HW cmd code (Philipp Rudo) [1780667] - [s390] s390/qeth: keep IRQ disabled until NAPI is really done (Philipp Rudo) [1780667] - [s390] s390/qeth: use QDIO_BUFNR() (Philipp Rudo) [1780667] - [s390] s390/qdio: move SSQD Sniffer mask definition (Philipp Rudo) [1780667] - [s390] s390/qdio: don't attempt IRQ avoidance on Output SBALs (Philipp Rudo) [1780667] - [s390] s390/qdio: simplify thinint device registration (Philipp Rudo) [1780667] - [s390] s390/qdio: add statistics helper macro (Philipp Rudo) [1780667] - [s390] s390/qdio: remove a forward declaration (Philipp Rudo) [1780667] - [s390] s390/qdio: reduce log level for EQBS partial (Philipp Rudo) [1780667] - [s390] s390/qdio: use QDIO_BUFNR() (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix initialization of vnicc cmd masks during set online (Philipp Rudo) [1780667] - [s390] s390/qeth: Fix error handling during VNICC initialization (Philipp Rudo) [1780667] - [s390] s390/qdio: clarify size of the QIB parm area (Philipp Rudo) [1780667] - [s390] s390/qeth: get vnicc sub-cmd type from reply data (Philipp Rudo) [1780667] - [s390] s390/qeth: merge qeth_reply struct into qeth_cmd_buffer (Philipp Rudo) [1780667] - [s390] s390/qeth: keep cmd alive after IO completion (Philipp Rudo) [1780667] - [s390] s390/qeth: use correct length field in SNMP cmd callback (Philipp Rudo) [1780667] - [s390] s390/qeth: propagate length of processed cmd IO data to callback (Philipp Rudo) [1780667] - [s390] s390/qeth: use node_descriptor struct (Philipp Rudo) [1780667] - [s390] s390/cio: move struct node_descriptor to cio.h (Philipp Rudo) [1780667] - [s390] scsi: zfcp: log FC Endpoint Security errors (Philipp Rudo) [1723820] - [s390] scsi: zfcp: enhance handling of FC Endpoint Security errors (Philipp Rudo) [1723820] - [lib] lib/zlib: add zlib_deflate_dfltcc_enabled() function (Philipp Rudo) [1659435] - [lib] s390/boot: add dfltcc= kernel command line parameter (Philipp Rudo) [1659435] - [lib] lib/zlib: add s390 hardware support for kernel zlib_inflate (Philipp Rudo) [1659435] - [s390] s390/boot: rename HEAP_SIZE due to name collision (Philipp Rudo) [1659435] - [lib] lib/zlib: add s390 hardware support for kernel zlib_deflate (Philipp Rudo) [1659435] - [base] mm/memory_hotplug: allow to specify a default online_type (David Hildenbrand) [1038941] - [base] mm/memory_hotplug: convert memhp_auto_online to store an online_type (David Hildenbrand) [1038941] - [mm] mm/memory_hotplug: unexport memhp_auto_online (David Hildenbrand) [1038941] - [hv] hv_balloon: don't check for memhp_auto_online manually (David Hildenbrand) [1038941] - [powerpc] powernv/memtrace: always online added memory blocks (David Hildenbrand) [1038941] - [base] drivers/base/memory: store mapping between MMOP_* and string in an array (David Hildenbrand) [1038941] - [base] drivers/base/memory: map MMOP_OFFLINE to 0 (David Hildenbrand) [1038941] - [base] drivers/base/memory: rename MMOP_ONLINE_KEEP to MMOP_ONLINE (David Hildenbrand) [1038941] - [netdrv] cxgb4: fix adapter crash due to wrong MC size (Vishal Kulkarni) [1813128] - [scsi] scsi: ibmvfc: Don't send implicit logouts prior to NPIV login (Steve Best) [1828725] - [fs] cifs: ignore cached share root handle closing errors (Leif Sahlberg) [1827485] - [fs] cifs: Optimize readdir on reparse points (Leif Sahlberg) [1827485] - [fs] cifs: Adjust indentation in smb2_open_file (Leif Sahlberg) [1827485] - [fs] CIFS: Close cached root handle only if it has a lease (Leif Sahlberg) [1827485] - [fs] SMB3: Fix crash in SMB2_open_init due to uninitialized field in compounding path (Leif Sahlberg) [1827485] - [fs] smb3: fix refcount underflow warning on unmount when no directory leases (Leif Sahlberg) [1827485] - [fs] fs: cifs: Delete usage of timespec64_trunc (Leif Sahlberg) [1827485] - [fs] smb3: improve check for when we send the security descriptor context on create (Leif Sahlberg) [1827485] - [fs] smb3: fix mode passed in on create for modetosid mount option (Leif Sahlberg) [1827485] - [fs] cifs: fix possible uninitialized access and race on iface_list (Leif Sahlberg) [1827485] - [fs] cifs: Fix lookup of SMB connections on multichannel (Leif Sahlberg) [1827485] - [fs] smb3: query attributes on file close (Leif Sahlberg) [1827485] - [fs] smb3: remove unused flag passed into close functions (Leif Sahlberg) [1827485] - [fs] cifs: remove redundant assignment to pointer pneg_ctxt (Leif Sahlberg) [1827485] - [fs] fs: cifs: Fix atime update check vs mtime (Leif Sahlberg) [1827485] - [fs] CIFS: fix a white space issue in cifs_get_inode_info() (Leif Sahlberg) [1827485] - [fs] cifs: update internal module version number (Leif Sahlberg) [1827485] - [fs] cifs: Always update signing key of first channel (Leif Sahlberg) [1827485] - [fs] cifs: Fix retrieval of DFS referrals in cifs_mount() (Leif Sahlberg) [1827485] - [fs] cifs: Fix potential softlockups while refreshing DFS cache (Leif Sahlberg) [1827485] - [fs] cifs: Fix lookup of root ses in DFS referral cache (Leif Sahlberg) [1827485] - [fs] cifs: Fix use-after-free bug in cifs_reconnect() (Leif Sahlberg) [1827485] - [fs] cifs: dump channel info in DebugData (Leif Sahlberg) [1827485] - [fs] smb3: dump in_send and num_waiters stats counters by default (Leif Sahlberg) [1827485] - [fs] cifs: try harder to open new channels (Leif Sahlberg) [1827485] - [fs] CIFS: Properly process SMB3 lease breaks (Leif Sahlberg) [1827485] - [fs] cifs: move cifsFileInfo_put logic into a work-queue (Leif Sahlberg) [1827485] - [fs] cifs: try opening channels after mounting (Leif Sahlberg) [1827485] - [fs] CIFS: refactor cifs_get_inode_info() (Leif Sahlberg) [1827485] - [fs] cifs: switch servers depending on binding state (Leif Sahlberg) [1827485] - [fs] cifs: add server param (Leif Sahlberg) [1827485] - [fs] cifs: add multichannel mount options and data structs (Leif Sahlberg) [1827485] - [fs] cifs: sort interface list by speed (Leif Sahlberg) [1827485] - [fs] CIFS: Fix SMB2 oplock break processing (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -EAGAIN when transport is reconnecting (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Only queue work for error recovery on memory registration (Leif Sahlberg) [1827485] - [fs] smb3: add debug messages for closing unmatched open (Leif Sahlberg) [1827485] - [fs] CIFS: Respect O_SYNC and O_DIRECT flags during reconnect (Leif Sahlberg) [1827485] - [fs] smb3: remove confusing dmesg when mounting with encryption ("seal") (Leif Sahlberg) [1827485] - [fs] cifs: close the shared root handle on tree disconnect (Leif Sahlberg) [1827485] - [fs] CIFS: Return directly after a failed build_path_from_dentry() in cifs_do_create() (Leif Sahlberg) [1827485] - [fs] CIFS: Use common error handling code in smb2_ioctl_query_info() (Leif Sahlberg) [1827485] - [fs] CIFS: Use memdup_user() rather than duplicating its implementation (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -ECONNABORTED when trasnport is not in connected state (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Add messages on RDMA session destroy and reconnection (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Return -EINVAL when the number of iovs exceeds SMBDIRECT_MAX_SGE (Leif Sahlberg) [1827485] - [fs] cifs: smbd: Invalidate and deregister memory registration on re-send for direct I/O (Leif Sahlberg) [1827485] - [fs] cifs: Don't display RDMA transport on reconnect (Leif Sahlberg) [1827485] - [fs] CIFS: remove set but not used variables 'cinode' and 'netfid' (Leif Sahlberg) [1827485] - [fs] cifs: add support for flock (Leif Sahlberg) [1827485] - [fs] cifs: remove unused variable 'sid_user' (Leif Sahlberg) [1827485] - [fs] cifs: rename a variable in SendReceive() (Leif Sahlberg) [1827485] - [fs] SMB3: Fix persistent handles reconnect (Leif Sahlberg) [1827485] - [fs] fix memory leak in large read decrypt offload (Leif Sahlberg) [1827485] - [fs] cifs: Fix missed free operations (Leif Sahlberg) [1827485] - [fs] cifs: clarify comment about timestamp granularity for old servers (Leif Sahlberg) [1827485] - [fs] cifs: Handle -EINPROGRESS only when noblockcnt is set (Leif Sahlberg) [1827485] - [fs] smb3: remove noisy debug message and minor cleanup (Leif Sahlberg) [1827485] - [fs] fs: cifs: mute -Wunused-const-variable message (Leif Sahlberg) [1827485] - [fs] smb3: cleanup some recent endian errors spotted by updated sparse (Leif Sahlberg) [1827485] - [fs] CIFS: Fix oplock handling for SMB 2.1+ protocols (Leif Sahlberg) [1827485] - [fs] smb3: missing ACL related flags (Leif Sahlberg) [1827485] - [fs] smb3: pass mode bits into create calls (Leif Sahlberg) [1827485] - [fs] smb3: Add missing reparse tags (Leif Sahlberg) [1827485] - [fs] CIFS: fix max ea value size (Leif Sahlberg) [1827485] - [fs] fs/cifs/sess.c: Remove set but not used variable 'capabilities' (Leif Sahlberg) [1827485] - [fs] fs/cifs/smb2pdu.c: Make SMB2_notify_init static (Leif Sahlberg) [1827485] - [fs] smb3: fix leak in "open on server" perf counter (Leif Sahlberg) [1827485] - [fs] smb3: allow decryption keys to be dumped by admin for debugging (Leif Sahlberg) [1827485] - [fs] cifs: update internal module version number (Leif Sahlberg) [1827485] - [fs] cifs: modefromsid: write mode ACE first (Leif Sahlberg) [1827485] - [fs] cifs: cifsroot: add more err checking (Leif Sahlberg) [1827485] - [fs] smb3: add missing worker function for SMB3 change notify (Leif Sahlberg) [1827485] - [fs] cifs: Add support for root file systems (Leif Sahlberg) [1827485] - [fs] cifs: modefromsid: make room for 4 ACE (Leif Sahlberg) [1827485] - [fs] smb3: fix potential null dereference in decrypt offload (Leif Sahlberg) [1827485] - [fs] smb3: allow disabling requesting leases (Leif Sahlberg) [1827485] - [fs] smb3: improve handling of share deleted (and share recreated) (Leif Sahlberg) [1827485] - [fs] smb3: display max smb3 requests in flight at any one time (Leif Sahlberg) [1827485] - [fs] smb3: only offload decryption of read responses if multiple requests (Leif Sahlberg) [1827485] - [fs] cifs: add a helper to find an existing readable handle to a file (Leif Sahlberg) [1827485] - [fs] smb3: enable offload of decryption of large reads via mount option (Leif Sahlberg) [1827485] - [fs] smb3: allow parallelizing decryption of reads (Leif Sahlberg) [1827485] - [fs] smb3: allow skipping signature verification for perf sensitive configurations (Leif Sahlberg) [1827485] - [fs] smb3: add dynamic tracepoints for flush and close (Leif Sahlberg) [1827485] - [fs] smb3: log warning if CSC policy conflicts with cache mount option (Leif Sahlberg) [1827485] - [fs] smb3: add mount option to allow RW caching of share accessed by only 1 client (Leif Sahlberg) [1827485] - [fs] smb3: add some more descriptive messages about share when mounting cache=ro (Leif Sahlberg) [1827485] - [fs] smb3: add mount option to allow forced caching of read only share (Leif Sahlberg) [1827485] - [fs] cifs: fix dereference on ses before it is null checked (Leif Sahlberg) [1827485] - [fs] cifs: use existing handle for compound_op(OP_SET_INFO) when possible (Leif Sahlberg) [1827485] - [fs] cifs: create a helper to find a writeable handle by path name (Leif Sahlberg) [1827485] - [fs] cifs: remove set but not used variables (Leif Sahlberg) [1827485] - [fs] smb3: Incorrect size for netname negotiate context (Leif Sahlberg) [1827485] - [fs] cifs: remove unused variable (Leif Sahlberg) [1827485] - [fs] cifs: remove redundant assignment to variable rc (Leif Sahlberg) [1827485] - [fs] smb3: add missing flag definitions (Leif Sahlberg) [1827485] - [fs] cifs: add passthrough for smb2 setinfo (Leif Sahlberg) [1827485] - [fs] cifs: prepare SMB2_Flush to be usable in compounds (Leif Sahlberg) [1827485] - [fs] cifs: allow chmod to set mode bits using special sid (Leif Sahlberg) [1827485] - [fs] cifs: get mode bits from special sid on stat (Leif Sahlberg) [1827485] - [fs] fs: cifs: cifsssmb: remove redundant assignment to variable ret (Leif Sahlberg) [1827485] - [fs] cifs: fix a comment for the timeouts when sending echos (Leif Sahlberg) [1827485] - [fs] fs: cifs: switch to RC4 library interface (Leif Sahlberg) [1827485] - [fs] smb3: smbdirect no longer experimental (Leif Sahlberg) [1827485] - [fs] cifs: copy_file_range needs to strip setuid bits and update timestamps (Leif Sahlberg) [1827485] - [tools] perf vendor events s390: Add new deflate counters for IBM z15 (Philipp Rudo) [1827333] - [s390] s390/cpum_cf: Add new extended counters for IBM z15 (Philipp Rudo) [1827333] - [s390] s390/zcrypt: use kvmalloc instead of kmalloc for 256k alloc (Philipp Rudo) [1827310] - [s390] s390/pkey/zcrypt: Support EP11 AES secure keys (Philipp Rudo) [1723826] - [s390] s390/zcrypt: extend EP11 card and queue sysfs attributes (Philipp Rudo) [1723826] - [s390] s390/zcrypt: add new low level ep11 functions support file (Philipp Rudo) [1723826] - [s390] s390/zcrypt: ep11 structs rework, export zcrypt_send_ep11_cprb (Philipp Rudo) [1723826] - [s390] s390/zcrypt: enable card/domain autoselect on ep11 cprbs (Philipp Rudo) [1723826] - [crypto] crypto/testmgr: enable selftests for paes-s390 ciphers (Philipp Rudo) [1780668] - [s390] s390/pkey: Add support for key blob with clear key value (Philipp Rudo) [1780668] - [s390] s390/crypto: enable clear key values for paes ciphers (Philipp Rudo) [1780668] - [s390] s390/crypto: Rework on paes implementation (Philipp Rudo) [1780668] - [s390] scsi: zfcp: trace FC Endpoint Security of FCP devices and connections (Philipp Rudo) [1723822] - [s390] scsi: zfcp: log FC Endpoint Security of connections (Philipp Rudo) [1723822] - [s390] scsi: zfcp: report FC Endpoint Security in sysfs (Philipp Rudo) [1723822] - [s390] scsi: zfcp: auto variables for dereferenced structs in open port handler (Philipp Rudo) [1723822] - [block] blk-iocost: Fix error on iocost_ioc_vrate_adj (Waiman Long) [1828563] - [s390] s390/ipl: add support to control memory clearing for FCP and CCW re-IPL (Philipp Rudo) [1812985] - [s390] s390: support KPROBES_ON_FTRACE (Philipp Rudo) [1810526] - [s390] s390/ftrace: generate traced function stack frame (Philipp Rudo) [1810526] - [s390] s390/ftrace: save traced function caller (Philipp Rudo) [1810526] - [misc] mei: me: fix irq number stored in hw struct (Tony Camuso) [1822645] - [misc] mei: me: add cedar fork device ids (Tony Camuso) [1822645] - [misc] mei: fix CNL itouch device number to match the spec (Tony Camuso) [1822645] - [misc] misc: Replace zero-length array with flexible-array member (Tony Camuso) [1822645] - [misc] mei: remove unused includes from pci-{me, txe}.c (Tony Camuso) [1822645] - [misc] mei: limit number of bytes in mei header (Tony Camuso) [1822645] - [misc] mei: bus: replace zero-length array with flexible-array member (Tony Camuso) [1822645] - [misc] mei: me: add jasper point DID (Tony Camuso) [1822645] - [misc] mei: hdcp: bind only with i915 on the same PCH (Tony Camuso) [1822645] - [misc] mei: bus: use simple sprintf for sysfs (Tony Camuso) [1822645] - [misc] mei: bus: add more client attributes to sysfs (Tony Camuso) [1822645] - [misc] mei: add trc detection register to sysfs (Tony Camuso) [1822645] - [misc] mei: abstract fw status register read (Tony Camuso) [1822645] - [misc] mei: me: store irq number in the hw struct (Tony Camuso) [1822645] - [misc] mei: me: mei_me_dev_init() use struct device instead of struct pci_dev (Tony Camuso) [1822645] - [misc] mei: me: add comet point V device id (Tony Camuso) [1822645] - [misc] mei: bus: prefix device names on bus with the bus name (Tony Camuso) [1822645] - [misc] mei: me: fix me_intr_clear function name in KDoc (Tony Camuso) [1822645] - [misc] mei: buf: drop 'running hook' debug messages (Tony Camuso) [1822645] - [misc] mei: avoid FW version request on Ibex Peak and earlier (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Fill transcoder index in port info (Tony Camuso) [1822645] - [misc] drm/i915: mei_hdcp: I915 sends ddi index as per ME FW (Tony Camuso) [1822645] - [drm] drm/i915: Attach content type property (Tony Camuso) [1822645] - [drm] drm: Add Content protection type property (Tony Camuso) [1822645] - [misc] mei: me: add Tiger Lake point LP device ID (Tony Camuso) [1822645] - [misc] mei: Use dev_get_drvdata where possible (Tony Camuso) [1822645] - [misc] mei: me: add mule creek canyon (EHL) device ids (Tony Camuso) [1822645] - [misc] mei: no need to check return value of debugfs_create functions (Tony Camuso) [1822645] - [documentation] mei: docs: add hdcp documentation (Tony Camuso) [1822645] - [documentation] mei: docs: add a short description for nfc behind mei (Tony Camuso) [1822645] - [documentation] mei: docs: update mei client bus documentation (Tony Camuso) [1822645] - [documentation] mei: docs: move iamt docs to a iamt.rst file (Tony Camuso) [1822645] - [documentation] mei: docs: move documentation under driver-api (Tony Camuso) [1822645] - [misc] mei: Convert to use DEFINE_SHOW_ATTRIBUTE macro (Tony Camuso) [1822645] - [drm] drm: generic fn converting be24 to cpu and vice versa (Tony Camuso) [1822645] - [misc] mei: expose device state in sysfs (Tony Camuso) [1822645] - [misc] mei: hdcp: use own Kconfig file (Tony Camuso) [1822645] - [misc] mei: adjust the copyright notice in the files (Tony Camuso) [1822645] - [misc] mei/hdcp: Fix SPDX identifiers (Tony Camuso) [1822645] - [misc] mei: convert to SPDX license tags (Tony Camuso) [1822645] - [misc] mei: add missing SPDX tag to mei Kconfig (Tony Camuso) [1822645] - [misc] mei: bus: move hw module get/put to probe/release (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Component framework for I915 Interface (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Closing wired HDCP2.2 Tx Session (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Enabling the HDCP authentication (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify M_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Repeater topology verification and ack (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Prepare Session Key (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify L_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Initiate Locality check (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Store the HDCP Pairing info (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify H_prime (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Verify Receiver Cert and prepare km (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Initiate Wired HDCP2.2 Tx Session (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Define ME FW interface for HDCP2.2 (Tony Camuso) [1822645] - [misc] misc/mei/hdcp: Client driver for HDCP application (Tony Camuso) [1822645] - [misc] mei: bus: whitelist hdcp client (Tony Camuso) [1822645] - [misc] mei: hbm: clean the feature flags on link reset (Tony Camuso) [1822645] - [misc] mei: bus: export to_mei_cl_device for mei client devices drivers (Tony Camuso) [1822645] - [misc] mei: free read cb on ctrl_wr list flush (Tony Camuso) [1822645] - [misc] mei: me: add ice lake point device id (Tony Camuso) [1822645] - [misc] mei: squash single_recv_buf into one bit in client properties (Tony Camuso) [1822645] - [misc] mei: me: add denverton innovation engine device IDs (Tony Camuso) [1822645] - [misc] mei: me: mark LBG devices as having dma support (Tony Camuso) [1822645] - [misc] mei: dma: silent the reject message (Tony Camuso) [1822645] - [misc] mei: me: mark CNP devices as having dma support (Tony Camuso) [1822645] - [misc] mei: bump hbm version to 2.1 (Tony Camuso) [1822645] - [misc] mei: dma ring: implement transmit flow (Tony Camuso) [1822645] - [misc] mei: dma ring: implement rx circular buffer logic (Tony Camuso) [1822645] - [misc] mei: hw: add dma ring control block (Tony Camuso) [1822645] - [misc] mei: hbm: setup dma ring (Tony Camuso) [1822645] - [misc] mei: dma ring buffers allocation (Tony Camuso) [1822645] - [misc] mei: expedite ioctl return on the notify set operation error (Tony Camuso) [1822645] - [misc] mei: flush queues by the host client only (Tony Camuso) [1822645] - [misc] mei: hbm: drop BUG() from the hbm handler (Tony Camuso) [1822645] - [misc] mei: replace POLL* with EPOLL* for write queues (Tony Camuso) [1822645] - [misc] misc: remove redundant include moduleparam.h (Tony Camuso) [1822645] - [misc] mei: bus: need to unlink client before freeing (Tony Camuso) [1822645] - [misc] mei: bus: fix hw module get/put balance (Tony Camuso) [1822645] - [misc] mei: fix use-after-free in mei_cl_write (Tony Camuso) [1822645] - [misc] mei: ignore not found client in the enumeration (Tony Camuso) [1822645] - [misc] mei: restrict dma ring support to hbm version 2.1 (Tony Camuso) [1822645] - [misc] mei: hbm: introduce dma bit in the message header (Tony Camuso) [1822645] - [misc] mei: add support for variable length mei headers (Tony Camuso) [1822645] - [misc] mei: add mei_msg_hdr_init wrapper (Tony Camuso) [1822645] - [misc] mei: move hbuf_depth from the mei device to the hw modules (Tony Camuso) [1822645] - [misc] mei: cleanup slots to data conversions (Tony Camuso) [1822645] - [misc] mei: bus: suppress sign-compare warnings (Tony Camuso) [1822645] - [misc] mei: fix ssize_t to int assignment in read and write ops (Tony Camuso) [1822645] - [misc] mei: use correct type for counter variable in for loops (Tony Camuso) [1822645] - [misc] mei: check for error returned from mei_hbuf_empty_slots() (Tony Camuso) [1822645] - [misc] mei: don't update offset in write (Tony Camuso) [1822645] - [misc] mei: bus: type promotion bug in mei_fwver() (Tony Camuso) [1822645] - [misc] mei: bus: type promotion bug in mei_nfc_if_version() (Tony Camuso) [1822645] - [misc] mei: expose fw version to sysfs (Tony Camuso) [1822645] - [misc] mei: add optional timeout to internal bus recv (Tony Camuso) [1822645] - [misc] mei: remove unused MEI_IAMTHIF_STALL_TIMER define (Tony Camuso) [1822645] - [s390] s390/pci: Fix unexpected write combine on resource (Philipp Rudo) [1827311] - [powerpc] pwerpc/vas: Include linux/types.h in uapi/asm/vas-api.h (Gustavo Duarte) [1725806] - [documentation] Documentation/powerpc: VAS API (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Remove 'pid' in vas_tx_win_attr struct (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Enable and setup GZIP compresstion type (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Make enable code generic to add new GZIP compression type (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Rename nx-842-powernv file name to nx-common-powernv (Gustavo Duarte) [1725806] - [crypto] crypto/nx: Initialize coproc entry with kzalloc (Gustavo Duarte) [1725806] - [crypto] crypto: nx - Add of_node_put() before return in 842 (Gustavo Duarte) [1725806] - [crypto] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO (Gustavo Duarte) [1725806] - [powerpc] crypto/nx: Initialize 842 high and normal RxFIFO control registers (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Add VAS user space API (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Define VAS_TX_WIN_OPEN ioctl API (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Initialize window attributes for GZIP coprocessor type (Gustavo Duarte) [1725806] - [powerpc] powerpc: Use mm_context vas_windows counter to issue CP_ABORT (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Free send window in VAS instance after credits returned (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Display process stuck message (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Do not use default credits for receive window (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Print CRB and FIFO values (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Return credits after handling fault (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Update CSB and notify process for fault CRBs (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Setup thread IRQ handler per VAS instance (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Take reference to PID and mm for user space windows (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Register NX with fault window ID and IRQ port value (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Setup fault window per VAS instance (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Alloc and setup IRQ and trigger port (Gustavo Duarte) [1725806] - [powerpc] powerpc/vas: Define nx_fault_stamp in coprocessor_request_block (Gustavo Duarte) [1725806] - [powerpc] powerpc/xive: Define xive_native_alloc_irq_on_chip() (Gustavo Duarte) [1725806] - [powerpc] powerpc/powernv: remove the unused vas_win_paste_addr and vas_win_id functions (Gustavo Duarte) [1725806] - [tools] intel-speed-select: Fix speed-select-base-freq-properties output on CLX-N (Prarit Bhargava) [1828306] - [tools] tools/power/x86/intel-speed-select: Fix CLX-N package information output (Prarit Bhargava) [1828306] - [kernel] sched/isolation: Allow "isolcpus=" to skip unknown sub-parameters (Peter Xu) [1799014] - [arm64] arm64: tlb: skip tlbi broadcast, fix speculative tlb lookups (Andrea Arcangeli) [1820817] - [x86] pci: hv: Introduce hv_msi_entry (Mohammed Gamal) [1816740] - [pci] hv: Move retarget related structures into tlfs header (Mohammed Gamal) [1816740] - [pci] hv: Move hypercall related definitions into tlfs header (Mohammed Gamal) [1816740] - [pci] hv: Reorganize the code in preparation of hibernation (Mohammed Gamal) [1816740] - [pci] hv: Add a Hyper-V PCI interface driver for software backchannel interface (Mohammed Gamal) [1816740] - [pci] hv: Add a paravirtual backchannel in software (Mohammed Gamal) [1816740]- [include] i2c: fix a doc warning (David Arcari) [1826759] - [i2c] i2c: acpi: put device when verifying client fails (David Arcari) [1826759] - [i2c] i2c: i2c-core-of: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: i2c-core-base: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: i2c-core-acpi: convert to use i2c_new_client_device() (David Arcari) [1826759] - [i2c] i2c: fix bus recovery stop mode timing (David Arcari) [1826759] - [i2c] i2c: core: Use DEVICE_ATTR_*() helper macros (David Arcari) [1826759] - [include] i2c: remove unneeded 'extern' from function declatations (David Arcari) [1826759] - [include] i2c: add helper to check if a client has a driver attached (David Arcari) [1826759] - [include] i2c: fix header file kernel-doc warning (David Arcari) [1826759] - [misc] eeprom: at24: use devm_i2c_new_dummy_device() (David Arcari) [1826759] - [i2c] i2c: remove i2c_new_dummy() API (David Arcari) [1826759] - [media] media: dvb-frontends: cxd2820r_core: convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: dvb-frontends: mn88473: convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: dvb-frontends: mn88472: convert to i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83791d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83793d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83781d) convert to i2c_new_dummy_device (David Arcari) [1826759] - [media] media: ir-kbd-i2c: convert to i2c_new_dummy_device() (David Arcari) [1826759] - [misc] misc: eeprom: max6875: convert to i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (w83792d) convert to use devm_i2c_new_dummy_device (David Arcari) [1826759] - [hwmon] hwmon: (asb100) convert to i2c_new_dummy_device (David Arcari) [1826759] - [i2c] i2c: replace i2c_new_probed_device with an ERR_PTR variant (David Arcari) [1826759] - [i2c] i2c: smbus: Don't filter out duplicate alerts (David Arcari) [1826759] - [i2c] i2c: of: Populate fwnode in of_i2c_get_board_info() (David Arcari) [1826759] - [i2c] i2c: remove helpers for ref-counting clients (David Arcari) [1826759] - [i2c] i2c: core: fix use after free in of_i2c_notify (David Arcari) [1826759] - [i2c] i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present (David Arcari) [1826759] - [i2c] i2c: add support for filters optional properties (David Arcari) [1826759] - [i2c] i2c: slave-eeprom: Add read only mode (David Arcari) [1826759] - [i2c] i2c: slave-eeprom: Add comment about address handling (David Arcari) [1826759] - [i2c] i2c-eeprom_slave: Add support for more eeprom models (David Arcari) [1826759] - [i2c] i2c: make i2c_unregister_device() ERR_PTR safe (David Arcari) [1826759] - [media] i2c: replace i2c_new_secondary_device with an ERR_PTR variant (David Arcari) [1826759] - [i2c] i2c: Drop unneeded check for of_node (David Arcari) [1826759] - [i2c] i2c: core: Tidy up handling of init_irq (David Arcari) [1826759] - [i2c] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq (David Arcari) [1826759] - [i2c] i2c: core: Move ACPI IRQ handling to probe time (David Arcari) [1826759] - [i2c] i2c: acpi: Factor out getting the IRQ from ACPI (David Arcari) [1826759] - [i2c] i2c: acpi: Use available IRQ helper functions (David Arcari) [1826759] - [i2c] i2c: core: Allow whole core to use i2c_dev_irq_from_resources (David Arcari) [1826759] - [i2c] i2c: core: add sysfs header (David Arcari) [1826759] - [i2c] i2c: add newly exported functions to the header, too (David Arcari) [1826759] - [i2c] i2c: mux: add sysfs header (David Arcari) [1826759] - [include] i2c: headers: reformat header comment and update copyright (David Arcari) [1826759] - [include] i2c: headers: update docs about I2C_CLIENT_* (David Arcari) [1826759] - [i2c] i2c: core: always have a named variable in arguments (David Arcari) [1826759] - [include] i2c: headers: always have a named variable in arguments (David Arcari) [1826759] - [include] i2c: headers: don't use 'dev' as adapter variable (David Arcari) [1826759] - [i2c] i2c: mux: Use struct_size() in devm_kzalloc() (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (David Arcari) [1826759] - [i2c] i2c: acpi: export i2c_acpi_find_adapter_by_handle (David Arcari) [1826759] - [media] tua6100: Avoid build warnings (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (David Arcari) [1826759] - [i2c] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1826759] - [i2c] i2c: acpi: permit bus speed to be discovered after enumeration (David Arcari) [1826759] - [i2c] i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr (David Arcari) [1826759] - [include] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (David Arcari) [1826759] - [i2c] treewide: Add SPDX license identifier - Makefile/Kconfig (David Arcari) [1826759] - [i2c] i2c: core: add device-managed version of i2c_new_dummy (David Arcari) [1826759] - [i2c] i2c: core: improve return value handling of i2c_new_device and i2c_new_dummy (David Arcari) [1826759] - [i2c] i2c: core: apply 'is_suspended' check for SMBus, too (David Arcari) [1826759] - [i2c] i2c: core: ratelimit 'transfer when suspended' errors (David Arcari) [1826759] - [i2c] i2c: Prevent runtime suspend of adapter when Host Notify is required (David Arcari) [1826759] - [i2c] gcc-9: don't warn about uninitialized variable (David Arcari) [1826759] - [i2c] i2c: mux: populate the new *_atomic callbacks (David Arcari) [1826759] - [i2c] i2c: core: introduce callbacks for atomic transfers (David Arcari) [1826759] - [i2c] i2c: core: use I2C locking behaviour also for SMBUS (David Arcari) [1826759] - [i2c] i2c: core: remove use of in_atomic() (David Arcari) [1826759] - [include] i2c: apply coding style for struct i2c_adapter (David Arcari) [1826759] - [i2c] i2c: add extra check to safe DMA buffer helper (David Arcari) [1826759] - [i2c] i2c: Allow recovery of the initial IRQ by an I2C client device (David Arcari) [1826759] - [i2c] i2c: expand minor range when registering chrdev region (David Arcari) [1826759] - [i2c] i2c: core-smbus: don't trace smbus_reply data on errors (David Arcari) [1826759] - [i2c] i2c: of: Try to find an I2C adapter matching the parent (David Arcari) [1826759] - [include] i2c: acpi: Move I2C bits from acpi.h to i2c.h (David Arcari) [1826759] - [i2c] i2c: dev: prevent adapter retries and timeout being set as minus value (David Arcari) [1826759] - [i2c] i2c: add suspended flag and accessors for i2c adapters (David Arcari) [1826759] - [i2c] treewide: surround Kconfig file paths with double quotes (David Arcari) [1826759] - [i2c] i2c: acpi: Introduce i2c_acpi_get_i2c_resource() helper (David Arcari) [1826759] - [i2c] i2c: acpi: Use ACPI_FAILURE instead of !ACPI_SUCCESS (David Arcari) [1826759] - [i2c] i2c: acpi: Return error pointers from i2c_acpi_new_device() (David Arcari) [1826759] - [i2c] i2c: Clear client->irq in i2c_device_remove (David Arcari) [1826759] - [i2c] i2c: Remove unnecessary call to irq_find_mapping (David Arcari) [1826759] - [i2c] i2c: Fix kerneldoc for renamed i2c dma put function (David Arcari) [1826759] - [i2c] i2c: core: remove level of indentation in i2c_transfer (David Arcari) [1826759] - [i2c] i2c: core: remove outdated DEBUG output (David Arcari) [1826759] - [i2c] i2c: refactor function to release a DMA safe buffer (David Arcari) [1826759] - [i2c] i2c: don't use any __deprecated handling anymore (David Arcari) [1826759] - [i2c] i2c: remove deprecated attach_adapter callback (David Arcari) [1826759] - [i2c] i2c: core: Parse SDA hold time from firmware (David Arcari) [1826759] - [i2c] i2c: quirks: add zero length checks (David Arcari) [1826759] - [i2c] i2c: recovery: make pin init look like STOP (David Arcari) [1826759] - [i2c] i2c: recovery: rename variable for easier understanding (David Arcari) [1826759] - [i2c] i2c: recovery: add get_bus_free callback (David Arcari) [1826759] - [i2c] i2c: recovery: refactor recovery function (David Arcari) [1826759] - [i2c] i2c: recovery: require either get_sda or set_sda (David Arcari) [1826759] - [i2c] i2c: remove i2c_lock_adapter and use i2c_lock_bus directly (David Arcari) [1826759] - [media] media: tda1004x: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: tda18271: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: af9013: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: drxk_hard: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [media] media: rtl2830: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [i2c] i2c: mux: pca9541: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (David Arcari) [1826759] - [i2c] i2c: mux: make use of __i2c_smbus_xfer (David Arcari) [1826759] - [kvm] KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests (David Gibson) [1778556] - [block] block/diskstats: more accurate approximation of io_ticks for slow disks (Ming Lei) [1811745] - [scsi] scsi: storvsc: Correctly set number of hardware queues for IDE disk (Cathy Avery) [1816702] - [netdrv] bonding/alb: make sure arp header is pulled before accessing it (Jarod Wilson) [1819408] - [netdrv] bonding/alb: properly access headers in bond_alb_xmit() (Jarod Wilson) [1819408] - [netdrv] bonding: rename AD_STATE_* to LACP_STATE_* (Jarod Wilson) [1819408] - [netdrv] bonding: fix active-backup transition after link failure (Jarod Wilson) [1819408] - [netdrv] bonding: move 802.3ad port state flags to uapi (Jarod Wilson) [1819408] - [netdrv] bonding: fix bond_neigh_init() (Jarod Wilson) [1819408] - [netdrv] bonding: fix state transition issue in link monitoring (Jarod Wilson) [1819408] - [netdrv] bonding: fix potential NULL deref in bond_update_slave_arr (Jarod Wilson) [1819408] - [netdrv] team: Always enable vlan tx offload (Hangbin Liu) [1827017] - [net] netlink: Use netlink header as base to calculate bad attribute offset (Andrea Claudi) [1825252] - [net] netlink: cap max groups which will be considered in netlink_bind() (Andrea Claudi) [1825252] - [net] tcp: repair: fix TCP_QUEUE_SEQ implementation (Paolo Abeni) [1823771] - [net] tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK (Paolo Abeni) [1823771] - [net] tcp: refine rule to allow EPOLLOUT generation under mem pressure (Paolo Abeni) [1823771] - [net] tcp: refine tcp_write_queue_empty() implementation (Paolo Abeni) [1823771] - [include] fib: add missing attribute validation for tun_id (Marcelo Leitner) [1823468] - [include] net/flow_dissector: remove unexist field description (Marcelo Leitner) [1823468] - [net] vlan: vlan_changelink() should propagate errors (Marcelo Leitner) [1823468] - [net] af_packet: set defaule value for tmo (Marcelo Leitner) [1823468] - [net] packet: fix data-race in fanout_flow_is_huge() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff refcounting in llc_conn_state_process() (Marcelo Leitner) [1823468] - [net] llc: fix another potential sk_buff leak in llc_ui_sendmsg() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff leak in llc_conn_service() (Marcelo Leitner) [1823468] - [net] llc: fix sk_buff leak in llc_sap_state_process() (Marcelo Leitner) [1823468] - [net] openvswitch: Fix conntrack cache with timeout (Patrlck Talbert) [1765587] - [net] openvswitch: Fix log message in ovs conntrack (Patrlck Talbert) [1765587] - [net] openvswitch: use after free in __ovs_ct_free_action() (Patrlck Talbert) [1765587] - [net] openvswitch: Add timeout support to ct action (Patrlck Talbert) [1765587] - [net] netfilter: Export nf_ct_{set, destroy}_timeout() (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: ctnl_timeout_find_get() returns incorrect pointer to type (Patrlck Talbert) [1765587] - [net] netfilter: remove ifdef around cttimeout in struct nf_conntrack_l4proto (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: decouple timeout policy from nfnetlink_cttimeout object (Patrlck Talbert) [1765587] - [net] netfilter: cttimeout: move ctnl_untimeout to nf_conntrack (Patrlck Talbert) [1765587] - [netdrv] ipvlan: do not use cond_resched_rcu() in ipvlan_process_multicast() (Davide Caratti) [1822906] - [netdrv] ipvlan: add cond_resched_rcu() while processing muticast backlog (Davide Caratti) [1822906] - [netdrv] ipvlan: don't deref eth hdr before checking it's set (Davide Caratti) [1822906] - [netdrv] ipvlan: do not add hardware address of master to its unicast filter list (Davide Caratti) [1822906] - [include] net/dst: do not confirm neighbor for vxlan and geneve pmtu update (Hangbin Liu) [1755686] - [net] sit: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] vti: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] tunnel: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [include] net/dst: add new function skb_dst_update_pmtu_no_confirm (Hangbin Liu) [1755686] - [netdrv] gtp: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] ip6_gre: do not confirm neighbor when do pmtu update (Hangbin Liu) [1755686] - [net] add bool confirm_neigh parameter for dst_ops.update_pmtu (Hangbin Liu) [1755686] - [net] neigh: support smaller retrans_time settting (Hangbin Liu) [1767282] - [include] net: core: add helper tcp_v6_gso_csum_prep (Josef Oskera) [1818097] - [net] ip_tunnel: fix interface lookup with no key (Guillaume Nault) [1822247] - [net] ipv4: fix a RCU-list lock in inet_dump_fib() (Guillaume Nault) [1822247] - [net] gre: fix uninit-value in __iptunnel_pull_header (Guillaume Nault) [1822247] - [net] netfilter: conntrack: allow insertion of clashing entries (Florian Westphal) [1821404] - [net] netfilter: conntrack: split resolve_clash function (Florian Westphal) [1821404] - [net] netfilter: conntrack: place confirm-bit setting in a helper (Florian Westphal) [1821404] - [net] netfilter: never get/set skb->tstamp (Florian Westphal) [1821404] - [net] netfilter: conntrack: remove two args from resolve_clash (Florian Westphal) [1821404] - [net] netfilter: conntrack: tell compiler to not inline nf_ct_resolve_clash (Florian Westphal) [1821404] - [netdrv] macsec: restrict to ethernet devices (Sabrina Dubroca) [1820524] - [netdrv] macsec: add missing attribute validation for port (Sabrina Dubroca) [1820524] - [net] netns: restore ops before calling ops_exit_list (Ivan Vecera) [1822568] - [net] netns: add pre_exit method to struct pernet_operations (Ivan Vecera) [1822568] - [include] net: dst: Force 4-byte alignment of dst_metrics (Guillaume Nault) [1822148] - [include] net: annotate lockless accesses to sk->sk_napi_id (Guillaume Nault) [1822148] - [net] Fix typo of SKB_SGO_CB_OFFSET (Guillaume Nault) [1822148] - [net] use indirect call wrappers for skb_copy_datagram_iter() (Guillaume Nault) [1822148] - [net] datagram: Make __skb_datagram_iter static (Guillaume Nault) [1822148] - [net] Fix Tx hash bound checking (Guillaume Nault) [1822148] - [net] openvswitch: add missing attribute validation for hash (Eelco Chaudron) [1819202] - [net] openvswitch: Distribute switch variables for initialization (Eelco Chaudron) [1819202] - [net] openvswitch: support asymmetric conntrack (Eelco Chaudron) [1819202] - [net] openvswitch: remove another BUG_ON() (Eelco Chaudron) [1819202] - [net] openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() (Eelco Chaudron) [1819202] - [net] openvswitch: don't call pad_packet if not necessary (Eelco Chaudron) [1819202] - [net] openvswitch: add hash info to upcall (Eelco Chaudron) [1819202] - [net] openvswitch: select vport upcall portid directly (Eelco Chaudron) [1819202] - [net] openvswitch: simplify the ovs_dp_cmd_new (Eelco Chaudron) [1819202] - [net] openvswitch: fix possible memleak on destroy flow-table (Eelco Chaudron) [1819202] - [net] openvswitch: add likely in flow_lookup (Eelco Chaudron) [1819202] - [net] openvswitch: simplify the flow_hash (Eelco Chaudron) [1819202] - [net] openvswitch: optimize flow-mask looking up (Eelco Chaudron) [1819202] - [net] openvswitch: optimize flow mask cache hash collision (Eelco Chaudron) [1819202] - [net] openvswitch: shrink the mask array if necessary (Eelco Chaudron) [1819202] - [net] openvswitch: convert mask list in mask array (Eelco Chaudron) [1819202] - [net] openvswitch: add flow-mask cache for performance (Eelco Chaudron) [1819202] - [net] openvswitch: Allow attaching helper in later commit (Eelco Chaudron) [1819202] - [net] openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC (Eelco Chaudron) [1819202] - [net] openvswitch: Make metadata_dst tunnel work in IP_TUNNEL_INFO_BRIDGE mode (Eelco Chaudron) [1819202] - [netdrv] mlxsw: spectrum_router: Remove unlikely user-triggerable warning (Ivan Vecera) [1821358] - [net] ipv6: Error when route does not have any valid nexthops (Ivan Vecera) [1821358] - [tools] selftests: mlxsw: Add a test for FIB offload indication (Ivan Vecera) [1821358] - [net] ipv6: Stop sending in-kernel notifications for each nexthop (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Create IPv6 multipath routes in one go (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Add / delete multiple IPv6 nexthops (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Pass array of routes to route handling functions (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Adjust IPv6 replace logic to new notifications (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Pass multiple routes to work item (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Prepare function to return errors (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Remove processing of IPv6 append notifications (Ivan Vecera) [1821358] - [net] ipv6: Add IPv6 multipath notification for route delete (Ivan Vecera) [1821358] - [net] ipv6: Add IPv6 multipath notifications for add / replace (Ivan Vecera) [1821358] - [netdrv] netdevsim: Ignore IPv6 multipath notifications (Ivan Vecera) [1821358] - [netdrv] mlxsw: spectrum_router: Ignore IPv6 multipath notifications (Ivan Vecera) [1821358] - [net] ipv6: Extend notifier info for multipath routes (Ivan Vecera) [1821358] - [net] ipv6: export function to send route updates (Ivan Vecera) [1821358] - [net] sctp: fix possibly using a bad saddr with a given dst (Xin Long) [1821578] - [net] sctp: fix refcount bug in sctp_wfree (Xin Long) [1821578] - [net] sctp: move the format error check out of __sctp_sf_do_9_1_abort (Xin Long) [1821578] - [net] Remove switchdev_ops (Ivan Vecera) [1821402] - [net] switchdev: Replace port attr set SDO with a notification (Ivan Vecera) [1821402] - [net] switchdev: Complete removal of switchdev_port_attr_get() (Ivan Vecera) [1821402] - [net] Get rid of switchdev_port_attr_get() (Ivan Vecera) [1821402] - [net] Remove SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT (Ivan Vecera) [1821402] - [net] fib_notifier: move fib_notifier_ops from struct net into per-net struct (Ivan Vecera) [1821186] - [net] Properly unlink GRO packets on overflow. (Ivan Vecera) [1805302] - [net] Add and use skb_list_del_init(). (Ivan Vecera) [1805302] - [net] Add and use skb_mark_not_on_list(). (Ivan Vecera) [1805302] - [net] Init backlog NAPI's gro_hash. (Ivan Vecera) [1805302] - [net] gro: properly remove skb from list (Ivan Vecera) [1805302] - [net] core: trivial netif_receive_skb_list() entry point (Ivan Vecera) [1805302] - [net] Convert GRO SKB handling to list_head. (Ivan Vecera) [1805302] - [net] ipv6: don't auto-add link-local address to lag ports (Jarod Wilson) [1733953] - [tools] selftests: forwarding: vxlan_bridge_1d: use more proper tos value (Hangbin Liu) [1816587] - [tools] selftests: forwarding: vxlan_bridge_1d: fix tos value (Hangbin Liu) [1816587] - [tools] selftests: forwarding: use proto icmp for {gretap, ip6gretap}_mac testing (Hangbin Liu) [1816587] - [tools] fcnal-test: Fix vrf argument in local tcp tests (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for destination IP link-local (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for source IP equals destination IP (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for multicast destination MAC mismatch (Hangbin Liu) [1816587] - [tools] selftests: forwarding: router: Add test case for source IP in class E (Hangbin Liu) [1816587] - [tools] selftests/net: make so_txtime more robust to timer variance (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add speed and auto-negotiation test (Hangbin Liu) [1816587] - [tools] selftests: forwarding: lib.sh: Add wait for dev with timeout (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add ethtool_lib.sh (Hangbin Liu) [1816587] - [tools] selftests: net: avoid ptl lock contention in tcp_mmap (Hangbin Liu) [1816587] - [tools] selftest: net: add alternative names test (Hangbin Liu) [1816587] - [tools] selftest: net: add some traceroute tests (Hangbin Liu) [1816587] - [tools] selftests: net: Fix printf format warnings on arm (Hangbin Liu) [1816587] - [tools] selftests: net: Use size_t and ssize_t for counting file size (Hangbin Liu) [1816587] - [tools] selftests: Make l2tp.sh executable (Hangbin Liu) [1816587] - [tools] selftests/net: add nettest to .gitignore (Hangbin Liu) [1816587] - [tools] selftests: Add test cases for `ip nexthop flush proto XX` (Hangbin Liu) [1816587] - [tools] selftest: A few cleanups for fib_nexthops.sh (Hangbin Liu) [1816587] - [tools] selftests: Fix get_ifidx and callers in nettest.c (Hangbin Liu) [1816587] - [tools] selftests: Fix detection of nettest command in fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add l2tp tests (Hangbin Liu) [1816587] - [tools] selftests: nettest: fix spelling mistake: "potocol" -> "protocol" (Hangbin Liu) [1816587] - [tools] selftests: Add use case section to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 netfilter tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 netfilter tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 runtime tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 runtime tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 address bind tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 address bind tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 udp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 udp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 tcp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 tcp tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv6 ping tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Add ipv4 ping tests to fcnal-test (Hangbin Liu) [1816587] - [tools] selftests: Setup for functional tests for fib and socket lookups (Hangbin Liu) [1816587] - [tools] selftests: Add nettest (Hangbin Liu) [1816587] - [tools] selftests/net: add missing gitignores (ipv6_flowlabel) (Hangbin Liu) [1816587] - [tools] selftests: txring_overwrite: fix incorrect test of mmap() return value (Hangbin Liu) [1816587] - [tools] selftests/net: skip psock_tpacket test if KALLSYMS was not enabled (Hangbin Liu) [1816587] - [tools] selftests: rtnetlink: skip ipsec offload tests if netdevsim isn't present (Hangbin Liu) [1816587] - [tools] selftests: Add test cases for nexthop objects (Hangbin Liu) [1816587] - [tools] selftests/net: ipv6 flowlabel (Hangbin Liu) [1816587] - [tools] selftests/net: SO_TXTIME with ETF and FQ (Hangbin Liu) [1816587] - [tools] selftests: fib-onlink: Make quiet by default (Hangbin Liu) [1816587] - [tools] selftests/net: correct the return value for run_afpackettests (Hangbin Liu) [1816587] - [tools] selftests/net: correct the return value for run_netsocktests (Hangbin Liu) [1816587] - [tools] selftests: forwarding: Add reverse path forwarding (RPF) test cases (Hangbin Liu) [1816587] - [tools] selftest/net: Remove duplicate header (Hangbin Liu) [1816587] - [tools] selftests: fib_tests: sleep after changing carrier. again. (Hangbin Liu) [1816587] - [tools] selftests: net: use LDLIBS instead of LDFLAGS (Hangbin Liu) [1816587] - [tools] selftests/net: add txring_overwrite (Hangbin Liu) [1816587] - [tools] fib_tests: Add tests for invalid metric on route (Hangbin Liu) [1816587] - [tools] selftests: forwarding: test for bridge sticky flag (Hangbin Liu) [1816587] - [tools] selftests: net: Test headroom handling of ip6_gre devices (Hangbin Liu) [1816587] - [net] Don't disable interrupts in __netdev_alloc_skb() (Andrea Claudi) [1811207] - [net] Don't disable interrupts in napi_alloc_frag() (Andrea Claudi) [1811207] - [net] ipv4: ensure rcu_read_lock() in cipso_v4_error() (Matteo Croce) [1720708] - [net] ipv4: add sanity checks in ipv4_link_failure() (Matteo Croce) [1720708] - [net] ipv4: ensure rcu_read_lock() in ipv4_link_failure() (Matteo Croce) [1720708] - [net] ipv4: recompile ip options in ipv4_link_failure (Matteo Croce) [1720708] - [net] avoid use IPCB in cipso_v4_error (Matteo Croce) [1720708] - [net] Add __icmp_send helper. (Matteo Croce) [1720708] - [net] ipv4: defensive cipso option parsing (Matteo Croce) [1720708] - [net] netfilter: nf_queue: enqueue skbs with NULL dst (Matteo Croce) [1786116]- [powerpc] powerpc/pseries/ddw: Extend upper limit for huge DMA window for persistent memory (Steve Best) [1817596] - [cpuidle] cpuidle: haltpoll: allow force loading on hosts without the REALTIME hint (David Arcari) [1825353] - [cpuidle] cpuidle: dt: Support hierarchical CPU idle states (David Arcari) [1825353] - [of] of: base: Add of_get_cpu_state_node() to get idle states for a CPU node (David Arcari) [1825353] - [cpuidle] cpuidle: Allow idle states to be disabled by default (David Arcari) [1825353] - [cpuidle] cpuidle: Drop unnecessary type cast in cpuidle_poll_time() (David Arcari) [1825353] - [cpuidle] cpuidle: Fix cpuidle_driver_state_disabled() (David Arcari) [1825353] - [cpuidle] cpuidle: use first valid target residency as poll time (David Arcari) [1825353] - [cpuidle] cpuidle: Drop disabled field from struct cpuidle_state (David Arcari) [1825353] - [cpuidle] cpuidle: Pass exit latency limit to cpuidle_use_deepest_state() (David Arcari) [1825353] - [include] cpuidle: Allow idle injection to apply exit latency limit (David Arcari) [1825353] - [thermal] cpuidle: play_idle: Increase the resolution to usec (David Arcari) [1825353] - [cpuidle] cpuidle: Use nanoseconds as the unit of time (David Arcari) [1825353] - [cpuidle] cpuidle: menu: Allow tick to be stopped if PM QoS is used (David Arcari) [1825353] - [cpuidle] cpuidle: Consolidate disabled state checks (David Arcari) [1825353] - [cpuidle] cpuidle: Do not unset the driver if it is there already (David Arcari) [1825353] - [cpuidle] cpuidle: haltpoll: Take 'idle=' override into account (David Arcari) [1825353] - [cpuidle] cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available (David Arcari) [1825353] - [fs] gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0 (Abhijith Das) [1655566] - [fs] gfs2: Another gfs2_find_jhead fix (Abhijith Das) [1655566] - [fs] gfs2: read journal in large chunks (Abhijith Das) [1655566] - [fs] gfs2: add a helper function to get_log_header that can be used elsewhere (Abhijith Das) [1655566] - [fs] gfs2: changes to gfs2_log_XXX_bio (Abhijith Das) [1655566] - [fs] gfs2: add more timing info to journal recovery process (Abhijith Das) [1655566] - [mm] mm: hugetlb controller for cgroup v2 (Joel Savitz) [1810728] - [arm64] crypto: arm64/aes-ce - implement 5 way interleave for ECB, CBC and CTR (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce - add 5 way interleave routines (Mark Salter) [1826982] - [arm64] crypto: arm64/sha2-ce - correct digest for empty data in finup (Mark Salter) [1826982] - [arm64] crypto: arm64/sha1-ce - correct digest for empty data in finup (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-neonbs - don't access already-freed walk.iv (Mark Salter) [1826982] - [arm64] crypto: arm64/cbcmac - handle empty messages in same way as template (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - update IV after partial final CTR block (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-neonbs - fix returning final keystream block (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif-ce - cleanup and optimizations (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - register PMULL variants as separate algos (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - remove dead code (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - revert to C code for short inputs (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-neon - bump priority to 150 (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash - register PMULL variants as separate algos (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ccm - don't use an atomic walk needlessly (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - ensure XTS mask is always loaded (Mark Salter) [1826982] - [arm64] crypto: arm64/aes - fix handling sub-block CTS-CBC inputs (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - improve XTS mask handling (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - add support for CTS-CBC mode (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - revert NEON yield for skciphers (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-blk - remove pointless (u8 *) casts (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - implement non-Crypto Extensions alternative (Mark Salter) [1826982] - [arm64] crypto: arm64/crct10dif - preparatory refactor for 8x8 PMULL version (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-modes - get rid of literal load of addend vector (Mark Salter) [1826982] - [arm64] crypto: arm64/sm4-ce - check for the right CPU feature bit (Mark Salter) [1826982] - [arm64] crypto: arm64/gcm-aes-ce - fix no-NEON fallback code (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-gcm-ce - fix scatterwalk API violation (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-ce - implement 4-way aggregation (Mark Salter) [1826982] - [arm64] crypto: arm64/ghash-ce - replace NEON yield check with block limit (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - don't reload key schedule if avoidable (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - implement 2-way aggregation (Mark Salter) [1826982] - [arm64] crypto: arm64/aes-ce-gcm - operate on two input blocks at a time (Mark Salter) [1826982] - [mm] mm, slub: prevent kmalloc_node crashes and memory leaks (Rafael Aquini) [1819839] - [mm] mm: slub: be more careful about the double cmpxchg of freelist (Rafael Aquini) [1819839] - [mm] mm: slub: add missing TID bump in kmem_cache_alloc_bulk() (Rafael Aquini) [1819839] - [mm] mm/slub.c: avoid slub allocation while holding list_lock (Rafael Aquini) [1819839] - [mm] mm/slub.c: clean up validate_slab() (Rafael Aquini) [1819839] - [mm] mm: slub: print the offset of fault addresses (Rafael Aquini) [1819839] - [mm] hugetlbfs: don't retry when pool page allocations start to fail (Rafael Aquini) [1727288] - [mm] mm, compaction: raise compaction priority after it withdrawns (Rafael Aquini) [1727288] - [mm] mm, reclaim: cleanup should_continue_reclaim() (Rafael Aquini) [1727288] - [mm] mm, reclaim: make should_continue_reclaim perform dryrun detection (Rafael Aquini) [1727288]- [tools] bpf: selftests: remove test_bpftool_build.sh from TEST_PROGS (Yauheni Kaliuta) [1813365] - [tools] libbpf: Support .text sub-calls relocations (Yauheni Kaliuta) [1813365] - [tools] libbpf: Sanitize global functions (Yauheni Kaliuta) [1813365] - [kernel] workqueue: Add RCU annotation for pwq list walk (Yauheni Kaliuta) [1813365] - [kernel] perf/core: Add SRCU annotation for pmus list walk (Yauheni Kaliuta) [1813365] - [net] kcm: disable preemption in kcm_parse_func_strparser() (Yauheni Kaliuta) [1813365] - [net] kcm: use BPF_PROG_RUN (Yauheni Kaliuta) [1813365] - [kernel] bpf: clarify description for CONFIG_BPF_EVENTS (Yauheni Kaliuta) [1813365] - [lib] test_bpf: Fix a new clang warning about xor-ing two numbers (Yauheni Kaliuta) [1813365] - [include] bpf: add include guard to tnum.h (Yauheni Kaliuta) [1813365] - [tools] libbpf: handle symbol versioning properly for libbpf.a (Yauheni Kaliuta) [1813365] - [net] bpf, devmap: Pass lockdep expression to RCU lists (Yauheni Kaliuta) [1813365] - [tools] libbpf: Fix Makefile' libbpf symbol mismatch diagnostic (Yauheni Kaliuta) [1813365] - [net] xdp: Fix cleanup on map free for devmap_hash map type (Yauheni Kaliuta) [1813365] - [tools] tools, bpf: Fix build for 'make -s tools/bpf O=' (Yauheni Kaliuta) [1813365] - [tools] libbpf: Fix passing uninitialized bytes to setsockopt (Yauheni Kaliuta) [1813365] - [tools] selftests: bpf: Skip write only files in debugfs (Yauheni Kaliuta) [1813365] - [net] xdp: Handle device unregister for devmap_hash map type (Yauheni Kaliuta) [1813365] - [net] ipv4: Add lockdep condition to fix for_each_entry() (Yauheni Kaliuta) [1813365] - [kernel] rcu/sync: Remove custom check for RCU readers (Yauheni Kaliuta) [1813365] - [kernel] rcu: Add support for consolidated-RCU reader checking (Yauheni Kaliuta) [1813365] - [kernel] rcu: Remove redundant debug_locks check in rcu_read_lock_sched_held() (Yauheni Kaliuta) [1813365] - [net] xdp: Prevent overflow in devmap_hash cost calculation for 32-bit builds (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: Add a workaround for asm_inline (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: Fix build for task_fd_query_user.c (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: Don't leak server_fd in test_sockopt_inherit (Yauheni Kaliuta) [1813365] - [tools] tools: bpf: Use !building_out_of_srctree to determine srctree (Yauheni Kaliuta) [1813365] - [net] bpf: Clean up indentation issue in BTF kflag processing (Yauheni Kaliuta) [1813365] - [tools] libbpf: Teach btf_dumper to emit stand-alone anonymous enum definitions (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: adjust strobemeta loop to satisfy latest clang (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: delete unused variables in test_sysctl (Yauheni Kaliuta) [1813365] - [tools] libbpf: fix false uninitialized variable warning (Yauheni Kaliuta) [1813365] - [tools] libbpf: Remove getsockopt() check for XDP_OPTIONS (Yauheni Kaliuta) [1813365] - [net] xdp: Fix race in dev_map_hash_update_elem() when replacing element (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_tcp_rtt (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_inherit (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_multi (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt_sk (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: convert test_sockopt (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: add test__join_cgroup helper (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: precision tracking tests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: fix endianness issues in test_sysctl (Yauheni Kaliuta) [1813365] - [arm64] arm64: bpf: optimize modulo operation (Yauheni Kaliuta) [1813365] - [s390] bpf: s390: add JIT support for bpf line info (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: add missing \n to CHECK_FAIL (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: fix verbose mode garbage (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: Fix a typo in test_offload.py (Yauheni Kaliuta) [1813365] - [net] bpf: fix error check in bpf_tcp_gen_syncookie (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: do not link twice against libbpf.a in Makefile (Yauheni Kaliuta) [1813365] - [tools] tools: bpf: account for generated feature/ and libbpf/ directories (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: improve and check builds for different make invocations (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: ignore make built-in rules for getting kernel version (Yauheni Kaliuta) [1813365] - [s390] bpf: s390: add JIT support for multi-function programs (Yauheni Kaliuta) [1746980 1813365] - [tools] selftests/bpf: remove wrong nhoff in flow dissector test (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove unused ret (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove asserts from subtests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: remove global fail/success counts (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: test__skip (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add precision tracking test (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: verifier precise tests (Yauheni Kaliuta) [1813365] - [tools] tools/bpf: sync bpf.h (Yauheni Kaliuta) [1813365] - [net] bpf: introduce verifier internal test flag (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add "bpftool map freeze" subcommand (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: show frozen status for maps (Yauheni Kaliuta) [1813365] - [uapi] bpf: clarify when bpf_trace_printk discards lines (Yauheni Kaliuta) [1813365] - [samples] samples: bpf: syscall_nrs: use mmap2 if defined (Yauheni Kaliuta) [1813365] - [tools] libbpf: use LFS (_FILE_OFFSET_BITS) instead of direct mmap2 syscall (Yauheni Kaliuta) [1813365] - [net] bpf: add new BPF_BTF_GET_NEXT_ID syscall command (Yauheni Kaliuta) [1813365] - [net] bpf: add BTF ids in procfs for file descriptors to BTF objects (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add sockopt clone/inheritance test (Yauheni Kaliuta) [1813365] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1813365] - [net] bpf: support cloning sk storage on accept() (Yauheni Kaliuta) [1813365] - [net] bpf: export bpf_map_inc_not_zero (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add documentation for net attach/detach (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add bash-completion for net attach/detach (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add net detach command to detach XDP on interface (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add net attach command to attach XDP on interface (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: compile with $(EXTRA_WARNINGS) (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add feature check for zlib (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: fix reading from /proc/config.gz (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: xdp_fwd explain bpf_fib_lookup return codes (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: make xdp_fwd more practically usable via devmap lookup (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: xdp_fwd rename devmap name to be xdp_tx_ports (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: drop extra trailing tab (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: test__printf -> printf (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: test_progs: switch to open_memstream (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add loop test 5 (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add loop test 4 (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: extend sockopt_sk selftest with TCP_CONGESTION use case (Yauheni Kaliuta) [1813365] - [net] bpf: always allocate at least 16 bytes for setsockopt hook (Yauheni Kaliuta) [1813365] - [tools] tools: bpftool: add support for reporting the effective cgroup progs (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: add test for bpf_tcp_gen_syncookie (Yauheni Kaliuta) [1813365] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1813365] - [net] bpf: add bpf_tcp_gen_syncookie helper (Yauheni Kaliuta) [1813365] - [net] tcp: add skb-less helpers to retrieve SYN cookie (Yauheni Kaliuta) [1813365] - [net] tcp: tcp_syn_flood_action read port from socket (Yauheni Kaliuta) [1813365] - [net] tcp: rate limit synflood warnings further (Yauheni Kaliuta) [1813365] - [tools] tools: Add definitions for devmap_hash map type (Yauheni Kaliuta) [1813365] - [tools] tools/libbpf_probes: Add new devmap_hash type (Yauheni Kaliuta) [1813365] - [tools] tools/include/uapi: Add devmap_hash BPF map type (Yauheni Kaliuta) [1813365] - [net] xdp: Add devmap_hash map type for looking up devices by hashed index (Yauheni Kaliuta) [1813365] - [net] xdp: Refactor devmap allocation code for reuse (Yauheni Kaliuta) [1813365] - [include] include/bpf.h: Remove map_insert_ctx() stubs (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert send_signal.c to use subtests (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert bpf_verif_scale.c to sub-tests API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: support BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP (Yauheni Kaliuta) [1813365] - [tools] bpf/flow_dissector: support ipv6 flow_label and BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: support BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG (Yauheni Kaliuta) [1813365] - [tools] tools/bpf: sync bpf_flow_keys flags (Yauheni Kaliuta) [1813365] - [net] bpf/flow_dissector: support flags in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1813365] - [documentation] bpf/flow_dissector: document flags (Yauheni Kaliuta) [1813365] - [net] bpf/flow_dissector: pass input flags to BPF flow dissector program (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: Add selftests for bpf_perf_event_output (Yauheni Kaliuta) [1813365] - [net] bpf: Allow bpf_skb_event_output for a few prog types (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: remove perf buffer helpers (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: switch trace_output sample to perf_buffer API (Yauheni Kaliuta) [1813365] - [samples] samples/bpf: convert xdp_sample_pkts_user to perf_buffer API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: switch test_tcpnotify to perf_buffer API (Yauheni Kaliuta) [1813365] - [tools] selftests/bpf: convert test_get_stack_raw_tp to perf_buffer API (Yauheni Kaliuta) [1813365] - [block] block, bfq: fix use-after-free in bfq_idle_slice_timer_body (Ming Lei) [1823596] - [block] block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group() (Ming Lei) [1823596] - [block] block, bfq: clarify the goal of bfq_split_bfqq() (Ming Lei) [1823596] - [block] block, bfq: get a ref to a group when adding it to a service tree (Ming Lei) [1823596] - [block] block, bfq: remove ifdefs from around gets/puts of bfq groups (Ming Lei) [1823596] - [block] block, bfq: extend incomplete name of field on_st (Ming Lei) [1823596] - [block] block, bfq: get extra ref to prevent a queue from being freed during a group move (Ming Lei) [1823596] - [block] block, bfq: do not insert oom queue into position tree (Ming Lei) [1823596] - [block] block, bfq: do not plug I/O for bfq_queues with no proc refs (Ming Lei) [1823596] - [block] block, bfq: improve arithmetic division in bfq_delta() (Ming Lei) [1823596] - [block] block/bfq: remove unused bfq_class_rt which never used (Ming Lei) [1823596] - [block] block: Prevent hung_check firing during long sync IO (Ming Lei) [1813383] - [block] brd: check and limit max_part par (Ming Lei) [1790403]- [char] random: silence a lockdep splat with printk() (Brian Masney) [1798900] - [net] SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize (Steve Dickson) [1825388] - [include] percpu-refcount: Use normal instead of RCU-sched" (Waiman Long) [1803822] - [kernel] locking/spinlock/debug: Fix various data races (Waiman Long) [1803822] - [kernel] locktorture: Forgive apparent unfairness if CPU hotplug (Waiman Long) [1803822] - [kernel] locktorture: Use private random-number generators (Waiman Long) [1803822] - [tools] locktorture: Allow CPU-hotplug to be disabled via --bootargs (Waiman Long) [1803822] - [kernel] locking: locktorture: Do not include rwlock.h directly (Waiman Long) [1803822] - [kernel] locktorture: Replace strncmp() with str_has_prefix() (Waiman Long) [1803822] - [kernel] locking/rtmutex: rcu: Add WRITE_ONCE() to rt_mutex ->owner (Waiman Long) [1803822] - [arm64] arm64/spinlock: fix a -Wunused-function warning (Waiman Long) [1803822] - [arm64] locking/osq: Use optimized spinning loop for arm64 (Waiman Long) [1803822] - [kernel] locking/qspinlock: Fix inaccessible URL of MCS lock paper (Waiman Long) [1803822] - [include] string.h: Add str_has_prefix() helper function (Waiman Long) [1803822] - [kernel] futex: Remove {get,drop}_futex_key_refs() (Waiman Long) [1803822] - [kernel] futex: Remove pointless mmgrap() + mmdrop() (Waiman Long) [1803822] - [kernel] futex: Unbreak futex hashing (Waiman Long) [1803822] - [fs] futex: Fix inode life-time issue (Waiman Long) [1803822] - [kernel] futex: Fix kernel-doc notation warning (Waiman Long) [1803822] - [kernel] futex: Prevent exit livelock (Waiman Long) [1803822] - [kernel] futex: Provide distinct return value when owner is exiting (Waiman Long) [1803822] - [include] futex: Add mutex around futex exit (Waiman Long) [1803822] - [kernel] futex: Provide state handling for exec() as well (Waiman Long) [1803822] - [kernel] futex: Sanitize exit state handling (Waiman Long) [1803822] - [kernel] futex: Mark the begin of futex exit explicitly (Waiman Long) [1803822] - [kernel] futex: Set task::futex_state to DEAD right after handling futex exit (Waiman Long) [1803822] - [kernel] futex: Split futex_mm_release() for exit/exec (Waiman Long) [1803822] - [kernel] exit/exec: Seperate mm_release() (Waiman Long) [1803822] - [kernel] futex: Replace PF_EXITPIDONE with a state (Waiman Long) [1803822] - [kernel] futex: Move futex exit handling into futex code (Waiman Long) [1803822] - [kernel] futex: Prevent robust futex exit race (Waiman Long) [1803822] - [kernel] futex: Drop leftover wake_q_add() comment (Waiman Long) [1803822] - [kernel] fork: Provide a function for copying init_mm (Waiman Long) [1803822] - [kernel] y2038: futex: Move compat implementation into futex.c (Waiman Long) [1803822] - [fs] nfsd: Fix races between nfsd4_cb_release() and nfsd4_shutdown_callback() ("J. Bruce Fields") [1797484] - [fs] nfsd: minor 4.1 callback cleanup ("J. Bruce Fields") [1797484] - [video] vgacon: Fix a UAF in vgacon_invert_region (Vladis Dronov) [1818732] {CVE-2020-8647 CVE-2020-8649} - [powerpc] powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs (David Gibson) [1773891] - [clocksource] hyper-v: Make sched clock return nanoseconds correctly (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Set TSC clocksource as default w/ InvariantTSC (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Untangle stimers and timesync from clocksources (Mohammed Gamal) [1816731] - [clocksource] hyper-v: Reserve PAGE_SIZE space for tsc page (Mohammed Gamal) [1816731] - [clocksource] x86/hyperv: Initialize clockevents earlier in CPU onlining (Mohammed Gamal) [1816731] - [x86] hyperv: Allow guests to enable InvariantTSC (Mohammed Gamal) [1816731] - [hv] hv: vmbus: Suspend/resume the synic for hibernation (Mohammed Gamal) [1816731] - [hv] hv: vmbus: Break out synic enable and disable operations (Mohammed Gamal) [1816731] - [x86] hyperv: Set pv_info.name to "Hyper-V" (Mohammed Gamal) [1816731] - [x86] hyperv: Hide pv_ops access for CONFIG_PARAVIRT=n (Mohammed Gamal) [1816731] - [clocksource] hyperv: Enable TSC page clocksource on 32bit (Mohammed Gamal) [1816731] - [clocksource] hyperv: Add Hyper-V specific sched clock function (Mohammed Gamal) [1816731] - [clocksource] hyperv: Allocate Hyper-V TSC page statically (Mohammed Gamal) [1816731] - [clocksource] Continue making Hyper-V clocksource ISA agnostic (Mohammed Gamal) [1816731] - [clocksource] Make Hyper-V clocksource ISA agnostic (Mohammed Gamal) [1816731] - [tools] hv: Reopen the devices if read() or write() returns errors (Mohammed Gamal) [1824182] - [tools] hv: add vmbus testing tool (Mohammed Gamal) [1824182] - [tools] hv: move to tools buildsystem (Mohammed Gamal) [1824182] - [tools] hv: kvp: eliminate 'may be used uninitialized' warning (Mohammed Gamal) [1824182] - [tools] hv: fix typos in toolchain (Mohammed Gamal) [1824182] - [tools] hv: fix KVP and VSS daemons exit code (Mohammed Gamal) [1824182] - [tools] hv: fixed Python pep8/flake8 warnings for lsvmbus (Mohammed Gamal) [1824182] - [tools] hv: kvp: Fix a warning of buffer overflow with gcc 8.0.1 (Mohammed Gamal) [1824182] - [tools] hv: fcopy: set 'error' in case an unknown operation was requested (Mohammed Gamal) [1824182] - [tools] hv: Fix a bug in the key delete code (Mohammed Gamal) [1824182] - [tools] hv: vss: fix loop device detection (Mohammed Gamal) [1824182] - [hv] hv: vmbus: Introduce latency testing (Mohammed Gamal) [1824182] - [tools] hv: update lsvmbus to be compatible with python3 (Mohammed Gamal) [1824182]- [hwtracing] coresight: etm4x: Add kernel configuration for CONTEXTID (Michael Petlan) [1818835] - [samples] samples/bpf: fix build by setting HAVE_ATTR_TEST to zero (Michael Petlan) [1818835] - [tools] perf metricgroup: Fix printing event names of metric group with multiple events (Michael Petlan) [1818835] - [tools] perf script: Fix invalid LBR/binary mismatch error (Michael Petlan) [1818835] - [tools] perf c2c: Fix return type for histogram sorting comparision functions (Michael Petlan) [1818835] - [tools] perf session: Fix decompression of PERF_RECORD_COMPRESSED records (Michael Petlan) [1818835] - [tools] perf tools: Fix time sorting (Michael Petlan) [1818835] - [tools] perf tools: Remove unused trace_find_next_event() (Michael Petlan) [1818835] - [tools] perf scripting engines: Iterate on tep event arrays directly (Michael Petlan) [1818835] - [tools] perf tools: Make usage of test_attr__* optional for perf-sys.h (Michael Petlan) [1818835] - [tools] perf kmem: Fix memory leak in compact_gfp_flags() (Michael Petlan) [1818835] - [tools] perf c2c: Fix memory leak in build_cl_output() (Michael Petlan) [1818835] - [tools] perf tools: Fix mode setting in copyfile_mode_ns() (Michael Petlan) [1818835] - [tools] perf annotate: Fix multiple memory and file descriptor leaks (Michael Petlan) [1818835] - [tools] perf tools: Fix resource leak of closedir() on the error paths (Michael Petlan) [1818835] - [tools] perf evlist: Fix fix for freed id arrays (Michael Petlan) [1818835] - [tools] perf annotate: Don't return -1 for error when doing BPF disassembly (Michael Petlan) [1818835] - [tools] perf annotate: Return appropriate error code for allocation failures (Michael Petlan) [1818835] - [tools] perf annotate: Fix arch specific ->init() failure errors (Michael Petlan) [1818835] - [tools] perf annotate: Propagate the symbol__annotate() error return (Michael Petlan) [1818835] - [tools] perf annotate: Fix the signedness of failure returns (Michael Petlan) [1818835] - [tools] perf annotate: Propagate perf_env__arch() error (Michael Petlan) [1818835] - [tools] perf evsel: Fall back to global 'perf_env' in perf_evsel__env() (Michael Petlan) [1818835] - [tools] perf tools: Propagate get_cpuid() error (Michael Petlan) [1818835] - [tools] perf jevents: Fix period for Intel fixed counters (Michael Petlan) [1818835] - [tools] perf script brstackinsn: Fix recovery from LBR/binary mismatch (Michael Petlan) [1818835] - [tools] perf docs: Correct and clarify jitdump spec (Michael Petlan) [1818835] - [tools] perf inject jit: Fix JIT_CODE_MOVE filename (Michael Petlan) [1818835] - [tools] perf map: Fix overlapped map handling (Michael Petlan) [1818835] - [tools] perf vendor events s390: Use s390 machine name instead of type 8561 (Michael Petlan) [1818835] - [tools] perf llvm: Don't access out-of-scope array (Michael Petlan) [1818835] - [tools] perf docs: Allow man page date to be specified (Michael Petlan) [1818835] - [tools] perf tests: Avoid raising SEGV using an obvious NULL dereference (Michael Petlan) [1818835] - [tools] libsubcmd: Make _FORTIFY_SOURCE defines dependent on the feature (Michael Petlan) [1818835] - [tools] perf unwind: Fix libunwind build failure on i386 systems (Michael Petlan) [1818835] - [tools] perf parser: Remove needless include directives (Michael Petlan) [1818835] - [tools] perf build: Add detection of java-11-openjdk-devel package (Michael Petlan) [1818835] - [tools] perf jvmti: Include JVMTI support for s390 (Michael Petlan) [1818835] - [tools] perf evlist: Fix access of freed id arrays (Michael Petlan) [1818835] - [tools] perf stat: Fix free memory access / memory leaks in metrics (Michael Petlan) [1818835] - [tools] perf tools: Replace needless mmap.h with what is needed, event.h (Michael Petlan) [1818835] - [tools] perf evsel: Move config terms to a separate header (Michael Petlan) [1818835] - [tools] perf evlist: Remove unused perf_evlist__fprintf() method (Michael Petlan) [1818835] - [tools] perf evsel: Introduce evsel_fprintf.h (Michael Petlan) [1818835] - [tools] perf evsel: Remove need for symbol_conf in evsel_fprintf.c (Michael Petlan) [1818835] - [tools] perf copyfile: Move copyfile routines to separate files (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__poll() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__add_pollfd() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__alloc_pollfd() function (Michael Petlan) [1818835] - [tools] libperf: Add libperf_init() call to the tests (Michael Petlan) [1818835] - [tools] libperf: Merge libperf_set_print() into libperf_init() (Michael Petlan) [1818835] - [tools] libperf: Add libperf dependency for tests targets (Michael Petlan) [1818835] - [tools] libperf: Use sys/types.h to get ssize_t, not unistd.h (Michael Petlan) [1818835] - [tools] perf tools: No need to include internal/lib.h from util/util.h (Michael Petlan) [1818835] - [tools] libperf: Move 'page_size' global variable to libperf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__id_add_fd() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__id_add() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__read_format() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__first()/last() functions (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__alloc_id/perf_evsel__free_id functions (Michael Petlan) [1818835] - [tools] libperf: Move 'heads' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'ids' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Move 'id' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Move 'sample_id' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Add missing 'struct xyarray' forward declaration (Michael Petlan) [1818835] - [tools] libperf: Move 'pollfd' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'mmap_len' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'nr_mmaps' from 'struct evlist' to 'struct perf_evlist' (Michael Petlan) [1818835] - [tools] libperf: Move 'system_wide' from 'struct evsel' to 'struct perf_evsel' (Michael Petlan) [1818835] - [tools] libperf: Add 'flush' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add 'event_copy' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add 'overwrite' to 'struct perf_mmap' (Michael Petlan) [1818835] - [tools] libperf: Add prev/start/end to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'refcnt' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'cpu' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'fd' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add 'mask' to struct perf_mmap (Michael Petlan) [1818835] - [tools] libperf: Add perf_mmap struct (Michael Petlan) [1818835] - [tools] perf evlist: Adopt backwards ring buffer state enum (Michael Petlan) [1818835] - [tools] libperf: Link libapi.a in libperf.so (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__purge() to evlist__purge() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__exit() to evlist__exit() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__alloc_mmap() to evlist__alloc_mmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__munmap() to evlist__munmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_evlist__mmap() to evlist__mmap() (Michael Petlan) [1818835] - [tools] perf tools: Rename 'struct perf_mmap' to 'struct mmap' (Michael Petlan) [1818835] - [tools] tools: Add missing stdio.h include to asm/bug.h header (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages for tep plugins APIs (Michael Petlan) [1818835] - [tools] libtraceevent: Move traceevent plugins in its own subdirectory (Michael Petlan) [1818835] - [tools] libtraceevent: Add tep_get_event() in event-parse.h (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages fix, changes in event printing APIs (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages fix, rename tep_ref_get() to tep_get_ref() (Michael Petlan) [1818835] - [tools] libtraceevent: Man pages for libtraceevent event print related API (Michael Petlan) [1818835] - [tools] libtraceevent: Round up in tep_print_event() time precision (Michael Petlan) [1818835] - [tools] perf record: Move restricted maps check to after a possible fallback to not collect kernel samples (Michael Petlan) [1818835] - [tools] perf record: Fix priv level with branch sampling for paranoid=2 (Michael Petlan) [1818835] - [tools] perf probe: Fix to clear tev->nargs in clear_probe_trace_event() (Michael Petlan) [1818835] - [tools] perf probe: Skip same probe address for a given line (Michael Petlan) [1818835] - [tools] perf tests: Fix static build test (Michael Petlan) [1818835] - [tools] perf kvm stat: Set 'trace_cycles' as default event for 'perf kvm record' in powerpc (Michael Petlan) [1818835] - [tools] perf kvm: Add arch neutral function to choose event for perf kvm record (Michael Petlan) [1818835] - [tools] perf kvm: Move kvm-stat header file from conditional inclusion to common include section (Michael Petlan) [1818835] - [tools] perf test: Fix spelling mistake "allos" -> "allocate" (Michael Petlan) [1818835] - [tools] perf stat: Fix a segmentation fault when using repeat forever (Michael Petlan) [1818835] - [tools] perf stat: Reset previous counts on repeat with interval (Michael Petlan) [1818835] - [tools] tools lib traceevent: Convert remaining pusers to p (Michael Petlan) [1818835] - [tools] perf tools: Move event synthesizing routines to separate .c file (Michael Petlan) [1818835] - [tools] perf memswap: Adopt 'struct u64_swap' from evsel.h (Michael Petlan) [1818835] - [tools] perf tools: Move event synthesizing routines to separate header (Michael Petlan) [1818835] - [tools] perf auxtrace: Add missing 'struct perf_sample' forward declaration (Michael Petlan) [1818835] - [tools] perf sched: Add missing event.h include directive (Michael Petlan) [1818835] - [tools] perf annotate: Add missing machine.h include directive (Michael Petlan) [1818835] - [tools] perf hist: Add missing 'struct branch_stack' forward declaration (Michael Petlan) [1818835] - [tools] perf python: Remove debug.h (Michael Petlan) [1818835] - [tools] perf callchain: Remove needless event.h include (Michael Petlan) [1818835] - [tools] perf stat: Move perf_stat_synthesize_config() to event.h (Michael Petlan) [1818835] - [tools] perf event: Move perf_event__synthesize* to event.h (Michael Petlan) [1818835] - [tools] perf env: Remove needless cpumap.h header (Michael Petlan) [1818835] - [tools] perf symbols: Add missing dso.h header (Michael Petlan) [1818835] - [tools] perf probe: Add missing build-id.h header (Michael Petlan) [1818835] - [tools] perf tools: Remove util.h from where it is not needed (Michael Petlan) [1818835] - [tools] perf tools: Remove debug.h from places where it is not needed (Michael Petlan) [1818835] - [tools] perf debug: No need to include ui/util.h (Michael Petlan) [1818835] - [tools] perf tools: Remove needless builtin.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Add PMU event JSON files for ARM Cortex-A76 and, Neoverse N1 (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_cpu_map__max() function (Michael Petlan) [1818835] - [tools] libperf: Add missing event.h file to install rule (Michael Petlan) [1818835] - [tools] perf tests: Add libperf automated test for 'make -C tools/perf build-test' (Michael Petlan) [1818835] - [tools] perf python: Add missing python/perf.so dependency for libperf (Michael Petlan) [1818835] - [tools] perf build: Ignore intentional differences for the x86 insn decoder (Michael Petlan) [1818835] - [tools] perf intel-pt: Use shared x86 insn decoder (Michael Petlan) [1818835] - [tools] objtool: Move x86 insn decoder to a common location (Michael Petlan) [1818835] - [tools] perf intel-pt: Remove inat.c from build dependency list (Michael Petlan) [1818835] - [tools] perf: Update .gitignore file (Michael Petlan) [1818835] - [tools] perf metricgroup: Support multiple events for metricgroup (Michael Petlan) [1818835] - [tools] perf metricgroup: Scale the metric result (Michael Petlan) [1818835] - [tools] perf pmu: Change convert_scale from static to global (Michael Petlan) [1818835] - [tools] perf symbols: Move mem_info and branch_info out of symbol.h (Michael Petlan) [1818835] - [tools] perf auxtrace: Uninline functions that touch perf_session (Michael Petlan) [1818835] - [tools] perf tools: Remove needless evlist.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless evlist.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless thread_map.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless thread.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Remove needless map.h include directives (Michael Petlan) [1818835] - [tools] perf probe: No need for symbol.h, symbol_conf is enough (Michael Petlan) [1818835] - [tools] perf tools: Remove needless sort.h include directives (Michael Petlan) [1818835] - [tools] perf tools: Move 'struct events_stats' and prototypes to separate header (Michael Petlan) [1818835] - [tools] perf hist: Remove needless ui/progress.h from hist.h (Michael Petlan) [1818835] - [tools] perf dsos: Move the dsos struct and its methods to separate source files (Michael Petlan) [1818835] - [tools] perf symbols: Move symsrc prototypes to a separate header (Michael Petlan) [1818835] - [tools] perf symbols: Add missing linux/refcount.h to symbol.h (Michael Petlan) [1818835] - [tools] perf symbol: Move C++ demangle defines to the only file using it (Michael Petlan) [1818835] - [tools] perf dso: Adopt DSO related macros from symbol.h (Michael Petlan) [1818835] - [tools] libtraceevent: Change users plugin directory (Michael Petlan) [1818835] - [tools] libtraceevent: Remove tep_register_trace_clock() (Michael Petlan) [1818835] - [tools] libtraceevent, perf tools: Changes in tep_print_event_* APIs (Michael Petlan) [1818835] - [tools] perf event: Remove needless include directives from event.h (Michael Petlan) [1818835] - [tools] perf env: Remove env.h from other headers where just a fwd decl is needed (Michael Petlan) [1818835] - [tools] perf debug: Remove needless include directives from debug.h (Michael Petlan) [1818835] - [tools] perf tools: Remove debug.h from header files not needing it (Michael Petlan) [1818835] - [tools] perf tools: Remove perf.h from source files not needing it (Michael Petlan) [1818835] - [tools] perf tools: Remove needless perf.h include directive from headers (Michael Petlan) [1818835] - [tools] perf time-utils: Adopt rdclock() from perf.h (Michael Petlan) [1818835] - [tools] perf tools: Move everything related to sys_perf_event_open() to perf-sys.h (Michael Petlan) [1818835] - [tools] perf header: Move CPUINFO_PROC to the only file where it is used (Michael Petlan) [1818835] - [tools] perf tools: Remove needless libtraceevent include directives (Michael Petlan) [1818835] - [tools] libperf: Warn when exceeding MAX_NR_CPUS in cpumap (Michael Petlan) [1818835] - [tools] perf c2c: Display proper cpu count in nodes column (Michael Petlan) [1818835] - [tools] tools lib traceevent: Remove unneeded qsort and uses memmove instead (Michael Petlan) [1818835] - [tools] tools lib traceevent: Do not free tep->cmdlines in add_new_comm() on failure (Michael Petlan) [1818835] - [tools] perf evlist: Use unshare(CLONE_FS) in sb threads to let setns(CLONE_NEWNS) work (Michael Petlan) [1818835] - [tools] libperf: Move 'enum perf_user_event_type' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix (Michael Petlan) [1818835] - [tools] libperf: Add 'union perf_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_COMPRESSED 'struct compressed_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_FEATURE 'struct feature_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_TIME_CONV 'struct time_conv_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT_ROUND 'struct stat_round_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT 'struct stat_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_STAT_CONFIG 'struct stat_config_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_THREAD_MAP 'struct thread_map_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_SWITCH 'struct context_switch_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_ITRACE_START 'struct itrace_start_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUX 'struct aux_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE_ERROR 'struct auxtrace_error_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE 'struct auxtrace_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_AUXTRACE_INFO 'struct auxtrace_info_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_ID_INDEX 'struct id_index_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_BUILD_ID 'struct build_id_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_TRACING_DATA 'struct tracing_data_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_EVENT_TYPE 'struct event_type_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_EVENT_UPDATE 'struct event_update_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_CPU_MAP 'struct cpu_map_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_HEADER_ATTR 'struct attr_event' to perf/event.h (Michael Petlan) [1818835] - [tools] perf top: Fix event group with more than two events (Michael Petlan) [1818835] - [tools] perf top: Decay all events in the evlist (Michael Petlan) [1818835] - [tools] perf clang: Delete needless util-cxx.h header (Michael Petlan) [1818835] - [tools] perf evlist: Remove needless util.h from evlist.h (Michael Petlan) [1818835] - [tools] perf tools: Remove needless util.h include from builtin.h (Michael Petlan) [1818835] - [tools] perf tools: Warn that perf_event_paranoid can restrict kernel symbols (Michael Petlan) [1818835] - [tools] perf symbols: Use CAP_SYSLOG with kptr_restrict checks (Michael Petlan) [1818835] - [tools] perf evsel: Kernel profiling is disallowed only when perf_event_paranoid > 1 (Michael Petlan) [1818835] - [tools] perf tools: Use CAP_SYS_ADMIN with perf_event_paranoid checks (Michael Petlan) [1818835] - [tools] perf event: Check ref_reloc_sym before using it (Michael Petlan) [1818835] - [tools] perf arch powerpc: Sync powerpc syscall.tbl (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_missing_features::bpf_event to ::bpf (Michael Petlan) [1818835] - [tools] perf tool: Rename perf_tool::bpf_event to bpf (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_event::bpf_event to perf_event::bpf (Michael Petlan) [1818835] - [tools] perf tools: Rename perf_event::ksymbol_event to perf_event::ksymbol (Michael Petlan) [1818835] - [tools] libperf: Rename the PERF_RECORD_ structs to have a "perf" suffix (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_SAMPLE 'struct sample_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_BPF_EVENT 'struct bpf_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_KSYMBOL 'struct ksymbol_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_THROTTLE 'struct throttle_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_READ 'struct read_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_LOST_SAMPLES 'struct lost_samples_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_LOST 'struct lost_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_FORK 'struct fork_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_NAMESPACES 'struct namespaces_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_COMM 'struct comm_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_MMAP2 'struct mmap2_event' to perf/event.h (Michael Petlan) [1818835] - [tools] libperf: Add PERF_RECORD_MMAP 'struct mmap_event' to perf/event.h (Michael Petlan) [1818835] - [tools] perf script: Fix memory leaks in list_scripts() (Michael Petlan) [1818835] - [tools] perf report: Fix --ns time sort key output (Michael Petlan) [1818835] - [tools] perf report: Use timestamp__scnprintf_nsec() for time sort key (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Reduce perf_event_output() boilerplate (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Introduce helper to get the scratch space (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Postpone tmp map lookup to after pid_filter (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Rename augmented_filename to augmented_arg (Michael Petlan) [1818835] - [tools] perf trace beauty ioctl: Fix off-by-one error in cmd->string table (Michael Petlan) [1818835] - [tools] perf tests: Fixes hang in zstd compression test by changing the source of random data (Michael Petlan) [1818835] - [tools] perf sort: Remove needless headers from sort.h, provide fwd struct decls (Michael Petlan) [1818835] - [tools] perf srcline: Add missing srcline.h header to files needing its defs (Michael Petlan) [1818835] - [tools] perf cacheline: Move cacheline related routines to separate files (Michael Petlan) [1818835] - [tools] perf record: Move record_opts and other record decls out of perf.h (Michael Petlan) [1818835] - [tools] perf stat: Remove needless headers from stat.h (Michael Petlan) [1818835] - [tools] perf cpumap: No need to include perf.h, ditch it (Michael Petlan) [1818835] - [tools] libperf: Fix alignment trap with xyarray contents in 'perf stat' (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__nr/perf_thread_map__pid functions (Michael Petlan) [1818835] - [tools] perf cpumap: Remove needless includes from cpumap.h (Michael Petlan) [1818835] - [tools] perf evsel: Switch to libperf's cpumap.h (Michael Petlan) [1818835] - [tools] perf x86 kvm-stat: Add missing string.h header (Michael Petlan) [1818835] - [tools] perf evsel: util/evsel.h needs stdio.h as it uses FILE (Michael Petlan) [1818835] - [tools] perf evsel: Remove needless stddef.h from util/evsel.h (Michael Petlan) [1818835] - [tools] perf evsel: Remove needless counts.h header from util/evsel.h (Michael Petlan) [1818835] - [tools] perf evsel: Add missing perf/evsel.h header in util/evsel.h (Michael Petlan) [1818835] - [tools] perf scripting python: Add missing counts.h header (Michael Petlan) [1818835] - [tools] perf stat: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf tests: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf script: Add missing counts.h (Michael Petlan) [1818835] - [tools] perf evlist: Add missing xyarray.h header (Michael Petlan) [1818835] - [tools] perf bpf: Add missing xyarray.h header (Michael Petlan) [1818835] - [tools] perf counts: Add missing headers needed for types used (Michael Petlan) [1818835] - [tools] perf evsel: Move xyarray.h from evsel.c to evsel.h to reduce include dep tree (Michael Petlan) [1818835] - [tools] perf metricgroup: Remove needless includes from metricgroup.h (Michael Petlan) [1818835] - [tools] perf kvm s390: Add missing string.h header (Michael Petlan) [1818835] - [tools] perf arm64: Add missing debug.h header (Michael Petlan) [1818835] - [tools] libperf: Move perf's cpu_map__idx() to perf_cpu_map__idx() (Michael Petlan) [1818835] - [tools] libperf: Move perf's cpu_map__empty() to perf_cpu_map__empty() (Michael Petlan) [1818835] - [tools] perf tools: Use perf_cpu_map__nr instead of cpu_map__nr (Michael Petlan) [1818835] - [tools] tools headers: Add missing perf_event.h include (Michael Petlan) [1818835] - [tools] libperf: Fix arch include paths (Michael Petlan) [1818835] - [tools] tools headers: Fixup bitsperlong per arch includes (Michael Petlan) [1818835] - [tools] perf top: Show info message while collecting samples (Michael Petlan) [1818835] - [tools] perf ui browser: Allow specifying message to show when no samples are available to display (Michael Petlan) [1818835] - [tools] perf ui: Introduce non-interactive ui__info_window() function (Michael Petlan) [1818835] - [tools] perf ui: Make 'exit_msg' optional in ui__question_window() (Michael Petlan) [1818835] - [tools] perf cs-etm: Support sample flags 'insn' and 'insnlen' (Michael Petlan) [1818835] - [tools] perf report: Prefer DWARF callstacks to LBR ones when captured both (Michael Petlan) [1818835] - [tools] perf report: Dump LBR callstack data by -D jointly with thread stack (Michael Petlan) [1818835] - [tools] perf record: Enable LBR callstack capture jointly with thread stack (Michael Petlan) [1818835] - [tools] tools lib traceevent: Fix "robust" test of do_generate_dynamic_list_file (Michael Petlan) [1818835] - [tools] perf evsel: Add comment for 'idx' member in 'struct perf_sample_id (Michael Petlan) [1818835] - [tools] tools headers: Synchronize linux/bits.h with the kernel sources (Michael Petlan) [1818835] - [tools] tools headers: Grab copy of linux/const.h, needed by linux/bits.h (Michael Petlan) [1818835] - [tools] perf tools: tools/include should come before tools/uapi/include (Michael Petlan) [1818835] - [tools] tools headers: Add limits.h to access __WORDSIZE (Michael Petlan) [1818835] - [tools] perf unwind: Remove unnecessary test (Michael Petlan) [1818835] - [tools] perf unwind: Fix libunwind when tid != pid (Michael Petlan) [1818835] - [tools] perf map: Use zalloc for map_groups (Michael Petlan) [1818835] - [tools] perf report: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf top: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf trace: Add --switch-on/--switch-off events (Michael Petlan) [1818835] - [tools] perf evswitch: Add hint when not finding specified on/off events (Michael Petlan) [1818835] - [tools] perf evswitch: Move enoent error message printing to separate function (Michael Petlan) [1818835] - [tools] perf evswitch: Introduce init() method to set the on/off evsels from the command line (Michael Petlan) [1818835] - [tools] perf evswitch: Introduce OPTS_EVSWITCH() for cmd line processing (Michael Petlan) [1818835] - [tools] perf evswitch: Add the names of on/off events (Michael Petlan) [1818835] - [tools] perf evswitch: Move switch logic to use in other tools (Michael Petlan) [1818835] - [tools] perf evswitch: Move struct to a separate header to use in other tools (Michael Petlan) [1818835] - [tools] perf script: Allow specifying event to switch off processing of other events (Michael Petlan) [1818835] - [tools] perf script: Allow showing the --switch-on event (Michael Petlan) [1818835] - [tools] perf script: Allow specifying event to switch on processing of other events (Michael Petlan) [1818835] - [tools] perf vendor events intel: Add Tremontx event file v1.02 (Michael Petlan) [1818835] - [tools] perf ui: No need to set ui_browser to 1 twice (Michael Petlan) [1818835] - [tools] perf record: Support aarch64 random socket_id assignment (Michael Petlan) [1818835] - [tools] perf.data documentation: Clarify HEADER_SAMPLE_TOPOLOGY format (Michael Petlan) [1818835] - [tools] perf evsel: Provide meaningful warning when trying to use 'aux_output' on older kernels (Michael Petlan) [1818835] - [tools] perf intel-pt: Add brief documentation for PEBS via Intel PT (Michael Petlan) [1818835] - [tools] perf tools: Add aux-output config term (Michael Petlan) [1818835] - [tools] perf intel-pt: Process options for PEBS event synthesis (Michael Petlan) [1818835] - [tools] perf tools: Add itrace option 'o' to synthesize aux-output events (Michael Petlan) [1818835] - [tools] perf tools: Add aux_output attribute flag (Michael Petlan) [1818835] - [tools] perf record: Add an option to take an AUX snapshot on exit (Michael Petlan) [1818835] - [tools] perf ftrace: Improve error message about capability to use ftrace (Michael Petlan) [1818835] - [tools] perf ftrace: Use CAP_SYS_ADMIN instead of euid==0 (Michael Petlan) [1818835] - [tools] perf tools: Add CAP_SYSLOG define for older systems (Michael Petlan) [1818835] - [tools] perf tools: Add NO_LIBCAP=1 to the minimal build test (Michael Petlan) [1818835] - [tools] perf tools: Add helpers to use capabilities if present (Michael Petlan) [1818835] - [tools] tools build: Add capability-related feature detection (Michael Petlan) [1818835] - [tools] perf top: Collapse and resort all evsels in a group (Michael Petlan) [1818835] - [tools] perf hist: Remove dummy entries when finding real ones (Michael Petlan) [1818835] - [tools] perf trace: Fix segmentation fault when access syscall info on arm64 (Michael Petlan) [1818835] - [tools] perf hists: Do not link a pair if already linked (Michael Petlan) [1818835] - [tools] perf top: Set display thread COMM to help with debugging (Michael Petlan) [1818835] - [tools] perf vendor events intel: Add Icelake V1.00 event file (Michael Petlan) [1818835] - [tools] perf tools: Fix paths in include statements (Michael Petlan) [1818835] - [tools] perf test vfs_getname: Disable ~/.perfconfig to get default output (Michael Petlan) [1818835] - [tools] perf config: Document the PERF_CONFIG environment variable (Michael Petlan) [1818835] - [tools] perf config: Honour $PERF_CONFIG env var to specify alternate .perfconfig (Michael Petlan) [1818835] - [tools] perf session: Avoid infinite loop when seeing invalid header.size (Michael Petlan) [1818835] - [tools] libperf: Initial documentation (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__enable/disable test (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__enable/disable test (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel tests (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist test (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map test (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map test (Michael Petlan) [1818835] - [tools] libperf: Add tests support (Michael Petlan) [1818835] - [tools] libperf: Add install targets (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__attr() function (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evlist__enable()/disable() functions from perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evlist__open()/close() functions from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__cpus()/threads() functions (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__for_each_cpu() macro (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__enable()/disable()/apply_filter() functions (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__read() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evsel__close() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt simplified perf_evsel__open() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt perf_evsel__alloc_fd() function from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Adopt the readn()/writen() functions from tools/perf (Michael Petlan) [1818835] - [tools] libperf: Move nr_members from perf's evsel to libperf's perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Move fd array from perf's evsel to lobperf's perf_evsel class (Michael Petlan) [1818835] - [tools] libperf: Adopt xyarray class from perf (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__set_maps() function (Michael Petlan) [1818835] - [tools] libperf: Add threads to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add cpus to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add has_user_cpus to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add threads to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add own_cpus to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add cpus to struct perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__delete() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__delete() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__for_each_evsel() iterator (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__new() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__new() function (Michael Petlan) [1818835] - [tools] libperf: Move zalloc.o into libperf (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions (Michael Petlan) [1818835] - [tools] libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel (Michael Petlan) [1818835] - [tools] libperf: Add nr_entries to struct perf_evlist (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__remove() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__add() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist__init() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_evsel__init function (Michael Petlan) [1818835] - [tools] libperf: Include perf_evlist in evlist object (Michael Petlan) [1818835] - [tools] libperf: Include perf_evsel in evsel object (Michael Petlan) [1818835] - [tools] libperf: Add perf_evlist and perf_evsel structs (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__get()/perf_thread_map__put() (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map__new_dummy() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_thread_map struct (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__get()/perf_cpu_map__put() (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map__dummy_new() function (Michael Petlan) [1818835] - [tools] libperf: Add perf_cpu_map struct (Michael Petlan) [1818835] - [tools] libperf: Add debug output support (Michael Petlan) [1818835] - [tools] libperf: Add perf/core.h header (Michael Petlan) [1818835] - [tools] libperf: Add libperf to the python.so build (Michael Petlan) [1818835] - [tools] libperf: Add build version support (Michael Petlan) [1818835] - [tools] libperf: Make libperf.a part of the perf build (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__disable() to evlist__disable() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__enable() to evlist__enable() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__close() to evlist__close() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__open() to evlist__open() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__cpus() to evsel__cpus() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__apply_filter() to evsel__apply_filter() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__disable() to evsel__disable() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__enable() to evsel__enable() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__open() to evsel__open() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__remove() to evlist__remove() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__add() to evlist__add() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__new() to evsel__new() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__delete() to evsel__delete() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__delete() to evlist__delete() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__new() to evlist__new() (Michael Petlan) [1818835] - [tools] perf evlist: Rename perf_evlist__init() to evlist__init() (Michael Petlan) [1818835] - [tools] perf evsel: Rename perf_evsel__init() to evsel__init() (Michael Petlan) [1818835] - [tools] perf evlist: Rename struct perf_evlist to struct evlist (Michael Petlan) [1818835] - [tools] perf evsel: Rename struct perf_evsel to struct evsel (Michael Petlan) [1818835] - [tools] perf tools: Rename struct thread_map to struct perf_thread_map (Michael Petlan) [1818835] - [tools] perf cpu_map: Rename struct cpu_map to struct perf_cpu_map (Michael Petlan) [1818835] - [tools] perf stat: Move loaded out of struct perf_counts_values (Michael Petlan) [1818835] - [tools] perf trace: Add "sendfile64" alias to the "sendfile" syscall (Michael Petlan) [1818835] - [tools] perf trace: Reuse BPF augmenters from syscalls with similar args signature (Michael Petlan) [1818835] - [tools] perf trace: Preallocate the syscall table (Michael Petlan) [1818835] - [tools] perf trace: Mark syscall ids that are not allocated to avoid unnecessary error messages (Michael Petlan) [1818835] - [tools] perf trace: Forward error codes when trying to read syscall info (Michael Petlan) [1818835] - [tools] perf trace beauty: Add BPF augmenter for the 'rename' syscall (Michael Petlan) [1818835] - [tools] perf trace beauty: Beautify bind's sockaddr arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Beautify 'sendto's sockaddr arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Do not try to use the fd->pathname beautifier for bind/connect fd arg (Michael Petlan) [1818835] - [tools] perf trace beauty: Disable fd->pathname when close() not enabled (Michael Petlan) [1818835] - [tools] perf trace beauty: Make connect's addrlen be printed as an int, not hex (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Augment sockaddr arg in 'connect' (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Rename augmented_args_filename to augmented_args_payload (Michael Petlan) [1818835] - [tools] perf trace: Look for default name for entries in the syscalls prog array (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Support copying two string syscall args (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Switch to using BPF_MAP_TYPE_PROG_ARRAY (Michael Petlan) [1818835] - [tools] perf augmented_raw_syscalls: Add handler for "openat" (Michael Petlan) [1818835] - [tools] perf trace: Handle raw_syscalls:sys_enter just like the BPF_OUTPUT augmented event (Michael Petlan) [1818835] - [tools] perf trace: Put the per-syscall entry/exit prog_array BPF map infrastructure in place (Michael Petlan) [1818835] - [tools] perf trace: Allow specifying the bpf prog to augment specific syscalls (Michael Petlan) [1818835] - [tools] perf trace: Add BPF handler for unaugmented syscalls (Michael Petlan) [1818835] - [tools] perf trace: Order -e syscalls table (Michael Petlan) [1818835] - [tools] perf trace: Look up maps just on the __augmented_syscalls__ BPF object (Michael Petlan) [1818835] - [tools] perf trace: Add pointer to BPF object containing __augmented_syscalls__ (Michael Petlan) [1818835] - [tools] perf evsel: Store backpointer to attached bpf_object (Michael Petlan) [1818835] - [tools] perf bpf: Do not attach a BPF prog to a tracepoint if its name starts with ! (Michael Petlan) [1818835] - [tools] perf include bpf: Add bpf_tail_call() prototype (Michael Petlan) [1818835] - [tools] perf: cs-etm: Optimize option setup for CPU-wide sessions (Michael Petlan) [1818835] - [tools] perf cs-etm: Remove duplicate GENMASK() define, use linux/bits.h instead (Michael Petlan) [1818835] - [tools] perf cs-etm: Add support for CPU-wide trace scenarios (Michael Petlan) [1818835] - [tools] perf cs-etm: Add notion of time to decoding code (Michael Petlan) [1818835] - [tools] perf cs-etm: Linking PE contextID with perf thread mechanic (Michael Petlan) [1818835] - [tools] perf cs-etm: Add support for multiple traceID queues (Michael Petlan) [1818835] - [tools] perf cs-etm: Use traceID aware memory callback API (Michael Petlan) [1818835] - [tools] perf cs-etm: Move tid/pid to traceid_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Move thread to traceid_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Get rid of unused cpu in struct cs_etm_queue (Michael Petlan) [1818835] - [tools] perf cs-etm: Introduce the concept of trace ID queues (Michael Petlan) [1818835] - [tools] perf cs-etm: Fix indentation in function cs_etm__process_decoder_queue() (Michael Petlan) [1818835] - [tools] perf cs-etm: Move packet queue out of decoder structure (Michael Petlan) [1818835] - [tools] perf cs-etm: Refactor error path in cs_etm_decoder__new() (Michael Petlan) [1818835] - [tools] perf cs-etm: Add handling of switch-CPU-wide events (Michael Petlan) [1818835] - [tools] perf cs-etm: Add handling of itrace start events (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure SWITCH_EVENTS in CPU-wide mode (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure timestamp generation in CPU-wide mode (Michael Petlan) [1818835] - [tools] perf cs-etm: Configure contextID tracing in CPU-wide mode (Michael Petlan) [1818835] - [kernel] perf/core: Fix missing static inline on perf_cgroup_switch() (Michael Petlan) [1818835] - [kernel] perf/core: Consistently fail fork on allocation failures (Michael Petlan) [1818835] - [kernel] perf/core: Disallow uncore-cgroup events (Michael Petlan) [1818835] - [include] perf/headers: Fix spelling s/EACCESS/EACCES/, s/privilidge/privilege/ (Michael Petlan) [1818835] - [x86] perf/x86/uncore: Fix event group support (Michael Petlan) [1818835] - [kernel] perf/core: Start rejecting the syscall with attr.__reserved_2 set (Michael Petlan) [1818835] - [kernel] perf/aux: Fix tracking of auxiliary trace buffer allocation (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Fix base for single entry topa (Michael Petlan) [1818835] - [x86] perf/x86/cstate: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/msr: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/intel: Add Tiger Lake CPU support (Michael Petlan) [1818835] - [x86] perf/x86/cstate: Update C-state counters for Ice Lake (Michael Petlan) [1818835] - [x86] perf/x86/msr: Add new CPU model numbers for Ice Lake (Michael Petlan) [1818835] - [kernel] perf/core: Fix corner case in perf_rotate_context() (Michael Petlan) [1818835] - [kernel] perf/core: Rework memory accounting in perf_mmap() (Michael Petlan) [1818835] - [kernel] perf/core: Fix several typos in comments (Michael Petlan) [1818835] - [x86] perf/x86: Make more stuff static (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Get rid of reverse lookup table for ToPA (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Free up space in a ToPA descriptor (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Split ToPA metadata and page layout (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Use pointer arithmetics instead in ToPA entry calculation (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Use helpers to obtain ToPA entry size (Michael Petlan) [1818835] - [x86] perf/x86/intel/pt: Clean up ToPA allocation path (Michael Petlan) [1818835]- [scsi] scsi: bnx2fc: Update the driver version to 2.12.13 (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: fix boolreturn.cocci warnings (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: Fix SCSI command completion after cleanup is posted (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: Process the RQE with CQE in interrupt context (Nilesh Javali) [1792115] - [scsi] scsi: bnx2fc: timeout calculation invalid for bnx2fc_eh_abort() (Nilesh Javali) [1792115] - [powerpc] powerpc/smp: Use nid as fallback for package_id (Steve Best) [1764530] - [kernel] audit: Add __rcu annotation to RCU pointer (Richard Guy Briggs) [1822776] - [infiniband] i40iw: Report correct firmware version (Stefan Assmann) [1726909] - [x86] x86/mce/amd: Add PPIN support for AMD MCE (Wei Huang) [1790521] - [kernel] locking/percpu-rwsem: Fix a task_struct refcount (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Add might_sleep() for writer locking (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Fold __percpu_up_read() (Waiman Long) [1810257] - [kernel] locking/rwsem: Remove RWSEM_OWNER_UNKNOWN (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Remove the embedded rwsem (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Extract __percpu_down_read_trylock() (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Move __this_cpu_inc() into the slowpath (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem: Convert to bool (Waiman Long) [1810257] - [kernel] locking/percpu-rwsem, lockdep: Make percpu-rwsem use its own lockdep_map (Waiman Long) [1810257] - [kernel] locking/lockdep: Remove unused @nested argument from lock_release() (Waiman Long) [1810257] - [kernel] sched/core: Convert get_task_struct() to return the task (Waiman Long) [1810257] - [kernel] locking/lockdep, cpu/hotplug: Annotate AP thread (Waiman Long) [1810257] - [tty] tty/ldsem: Decrement wait_readers on timeouted down_read() (Waiman Long) [1810257] - [tty] tty/ldsem: Convert to regular lockdep annotations (Waiman Long) [1810257] - [tty] tty/ldsem: Wake up readers after timed out down_write() (Waiman Long) [1810257] - [tty] atomic/tty: Fix up atomic abuse in ldsem (Waiman Long) [1810257] - [kernel] cpu/hotplug: Remove skip_onerr field from cpuhp_step structure (Waiman Long) [1810257] - [watchdog] watchdog: hpwdt: drop warning after calling watchdog_init_timeout (Joseph Szczypek) [1790669] - [mm] powerpc/pkeys: Fix handling of pkey state across fork() (Steve Best) [1823744] - [irqchip] irqchip/gic-v3: Workaround Cavium erratum 38539 when reading GICD_TYPER2 (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Avoid 64bit division for the sake of 32bit ARM (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Rename VPENDBASER/VPROPBASER accessors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Remove superfluous WARN_ON (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Drop 'tmp' in inherit_vpe_l1_table_from_rd() (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Set vpe_l1_base for all redistributors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Fix programming of GICR_VPROPBASER_4_1_SIZE (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Only provision redistributors that are enabled in ACPI (Mark Salter) [1818174] - [arm64] arm64: acpi: fix DAIF manipulation with pNMI (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Allow direct invalidation of VLPIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Suppress per-VLPI doorbell (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add VPE INVALL callback (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add VPE eviction callback (Mark Salter) [1818174] - [include] irqchip/gic-v4.1: Add VPE residency callback (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Add mask/unmask doorbell callbacks (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Plumb skeletal VPE irqchip (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Implement the v4.1 flavour of VMOVP (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Don't use the VPE proxy if RVPEID is set (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: Implement the v4.1 flavour of VMAPP (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4.1: VPE table (aka GICR_VPROPBASER) allocation (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add GICv4.1 VPEID size discovery (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Detect GICv4.1 supporting RVPEID (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix get_vlpi_map() breakage with doorbells (Mark Salter) [1818174] - [arm64] arm64: Kconfig: Remove CONFIG_ prefix from ARM64_PSEUDO_NMI section (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make vlpi_lock a spinlock (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Lock VLPI map array before translating it (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Synchronise INT/CLEAR commands targetting a VLPI using VSYNC (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Synchronise INV command targetting a VLPI using VSYNC (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Add its_vlpi_map helpers (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Kill its->device_ids and use TYPER copy instead (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Kill its->ite_size and use TYPER copy instead (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make is_v4 use a TYPER copy (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Allow LPI invalidation via the DirectLPI interface (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Factor out wait_for_syncr primitive (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Free collection mapping on device teardown (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix u64 to __le64 warnings (Mark Salter) [1818174] - [irqchip] irqchip: Remove redundant semicolon after while (Mark Salter) [1818174] - [virt] KVM: vgic-v4: Track the number of VLPIs per vcpu (Mark Salter) [1818174] - [virt] KVM: arm64: vgic-v4: Move the GICv4 residency flow to be driven by vcpu_load/put (Mark Salter) [1818174] - [arm64] arm64: add local_daif_inherit() (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Use the exact ITSList for VMOVP (Mark Salter) [1818174] - [arm64] arm64: Relax ICC_PMR_EL1 accesses when ICC_CTLR_EL1.PMHE is clear (Mark Salter) [1818174] - [arm64] arm64: Fix incorrect irqflag restore for priority masking for compat (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Fix GIC_LINE_NR accessor (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Remove the redundant set_bit for lpi_map (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add quirks for HIP06/07 invalid GICD_TYPER erratum 161010803 (Mark Salter) [1818174] - [irqchip] irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Warn about inconsistent implementations of extended ranges (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add EPPI range support (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Dynamically allocate PPI partition descriptors (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Dynamically allocate PPI NMI refcounts (Mark Salter) [1818174] - [irqchip] irqchip/gic: Prepare for more than 16 PPIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add ESPI range support (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add INTID range and convertion primitives (Mark Salter) [1818174] - [irqchip] irqchip/gic: Rework gic_configure_irq to take the full ICFGR base (Mark Salter) [1818174] - [irqchip] irqchip/gic-v2m: Register the frame's PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic: Register the distributor's PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Register the ITS' PA instead of its VA in fwnode (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Register the distributor's PA instead of its VA in fwnode (Mark Salter) [1818174] - [arm64] arm64: kprobes: Recover pstate.D in single-step exception handler (Mark Salter) [1818174] - [arm64] arm64: Lower priority mask for GIC_PRIO_IRQON (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Free unused vpt_page when alloc vpe table fail (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Mark expected switch fall-through (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix misuse of GENMASK macro (Mark Salter) [1818174] - [arm64] arm64: fix kernel stack overflow in kdump capture kernel (Mark Salter) [1818174] - [arm64] arm64: irqflags: Introduce explicit debugging for IRQ priorities (Mark Salter) [1818174] - [arm64] arm64: Enable the support of pseudo-NMIs (Mark Salter) [1818174] - [arm64] arm64: Fix incorrect irqflag restore for priority masking (Mark Salter) [1818174] - [arm64] arm64: Fix interrupt tracing in the presence of NMIs (Mark Salter) [1818174] - [arm64] arm64: irqflags: Add condition flags to inline asm clobber list (Mark Salter) [1818174] - [arm64] arm64: irqflags: Pass flags as readonly operand to restore instruction (Mark Salter) [1818174] - [arm64] arm64: Do not enable IRQs for ct_user_exit (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix command queue pointer comparison bug (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make free_lpi_range a little cheaper (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Drop redundant initialization in mk_lpi_range (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Move allocation outside mutex (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix typo in a comment in its_msi_prepare() (Mark Salter) [1818174] - [include] irqchip/gic-v3-its: fix some definitions of inner cacheability attributes (Mark Salter) [1818174] - [arm64] arm64: fix wrong check of on_sdei_stack in nmi context (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Fix comparison logic in lpi_range_cmp (Mark Salter) [1818174] - [arm64] arm64: remove obsolete selection of MULTI_IRQ_HANDLER (Mark Salter) [1818174] - [irqchip] irqchip/gicv3-its: Use NUMA aware memory allocation for ITS tables (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table (Mark Salter) [1818174] - [arm64] arm64: irqflags: Fix clang build warnings (Mark Salter) [1818174] - [arm64] arm64: KVM/mm: Move SEA handling behind a single 'claim' interface (Mark Salter) [1818174] - [arm64] arm64: Skip irqflags tracing for NMI in IRQs disabled context (Mark Salter) [1818174] - [arm64] arm64: Skip preemption when exiting an NMI (Mark Salter) [1818174] - [arm64] arm64: Handle serror in NMI context (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Allow interrupts to be set as pseudo-NMI (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Handle pseudo-NMIs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Detect if GIC can support pseudo-NMIs (Mark Salter) [1818174] - [arm64] arm64: gic-v3: Implement arch support for priority masking (Mark Salter) [1818174] - [irqchip] arm64: Switch to PMR masking when starting CPUs (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Factor group0 detection into functions (Mark Salter) [1818174] - [arm64] arm64: alternative: Apply alternatives early in boot process (Mark Salter) [1818174] - [arm64] arm64: alternative: Allow alternative status checking per cpufeature (Mark Salter) [1818174] - [arm64] arm64: sysreg: Make mrs_s and msr_s macros work with Clang and LTO (Mark Salter) [1818174] - [arm64] arm64: daifflags: Include PMR in daifflags restore operations (Mark Salter) [1818174] - [arm64] arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking (Mark Salter) [1818174] - [firmware] efi: Let architectures decide the flags that should be saved/restored (Mark Salter) [1818174] - [kvm] arm64: kvm: Unmask PMR before entering guest (Mark Salter) [1818174] - [mm] arm64: Unmask PMR before going idle (Mark Salter) [1818174] - [arm64] arm64: Make PMR part of task context (Mark Salter) [1818174] - [arm64] arm64: ptrace: Provide definitions for PMR values (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Switch to PMR masking before calling IRQ handler (Mark Salter) [1818174] - [arm64] arm64: cpufeature: Add cpufeature for IRQ priority masking (Mark Salter) [1818174] - [arm64] arm64: cpufeature: Set SYSREG_GIC_CPUIF as a boot system feature (Mark Salter) [1818174] - [arm64] arm64: Remove unused daif related functions/macros (Mark Salter) [1818174] - [arm64] arm64: Fix HCR.TGE status for NMI contexts (Mark Salter) [1818174] - [kernel] irqdesc: Add domain handler for NMIs (Mark Salter) [1818174] - [kernel] genirq: Update irq stats from NMI handlers (Mark Salter) [1818174] - [kernel] genirq: Provide NMI handlers (Mark Salter) [1818174] - [kernel] genirq: Provide NMI management for percpu_devid interrupts (Mark Salter) [1818174] - [kernel] genirq: Provide basic NMI management for interrupt lines (Mark Salter) [1818174] - [include] irqchip/gic-v3-its: Fix ITT_entry_size accessor (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Gracefully fail on LPI exhaustion (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Plug allocation race for devices sharing a DevID (Mark Salter) [1818174] - [irqchip] irqchip/gic-v4: Fix occasional VLPI drop (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-mbi: Fix uninitialized mbi_lock (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Add quirk for msm8996 broken registers (Mark Salter) [1818174] - [irqchip] irqchip/gic: Add support to device tree based quirks (Mark Salter) [1818174] - [arm64] arm64: capabilities: Batch cpu_enable callbacks (Mark Salter) [1818174] - [arm64] arm64: capabilities: Use linear array for detection and verification (Mark Salter) [1818174] - [arm64] arm64: capabilities: Optimize this_cpu_has_cap (Mark Salter) [1818174] - [arm64] arm64: capabilities: Speed up capability lookup (Mark Salter) [1818174] - [irqchip] irqchip: Convert to using pOFn instead of device_node.name (Mark Salter) [1818174] - [mm] arm64: Use daifflag_restore after bp_hardening (Mark Salter) [1818174] - [arm64] arm64: daifflags: Use irqflags functions for daifflags (Mark Salter) [1818174] - [include] irqchip/gic: Unify GIC priority definitions (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Remove acknowledge loop (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3: Allow interrupt to be configured as wake-up sources (Mark Salter) [1818174] - [irqchip] irqchip/gic-v3-its: Make its_lock a raw_spin_lock_t (Mark Salter) [1818174] - [irqchip] genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete (Mark Salter) [1818174] - [arm64] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER (Mark Salter) [1818174] - [irqchip] irqchip: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER (Mark Salter) [1818174] - [arm64] arm64: sdei: Mark sdei stack helper functions as static (Mark Salter) [1818174] - [arm64] arm64: Add stack information to on_accessible_stack (Mark Salter) [1818174] - [x86] Reserve at most 64M of SWIOTLB memory for crashkernel (Kairui Song) [1812754] - [md] md/raid1: introduce wait_for_serialization (Nigel Croxon) [1788370] - [md] md/raid1: use bucket based mechanism for IO serialization (Nigel Croxon) [1788370] - [md] md: introduce a new struct for IO serialization (Nigel Croxon) [1788370] - [md] md: don't destroy serial_info_pool if serialize_policy is true (Nigel Croxon) [1788370] - [md] raid1: serialize the overlap write (Nigel Croxon) [1788370] - [md] md: reorgnize mddev_create/destroy_serial_pool (Nigel Croxon) [1788370] - [md] md: add serialize_policy sysfs node for raid1 (Nigel Croxon) [1788370] - [md] md: prepare for enable raid1 io serialization (Nigel Croxon) [1788370] - [md] md: fix a typo s/creat/create (Nigel Croxon) [1788370] - [md] md: rename wb stuffs (Nigel Croxon) [1788370] - [md] raid5: remove worker_cnt_per_group argument from alloc_thread_groups (Nigel Croxon) [1788370] - [lib] md/raid6: fix algorithm choice under larger PAGE_SIZE (Nigel Croxon) [1788370] - [lib] raid6/test: fix a compilation warning (Nigel Croxon) [1788370] - [md] md-bitmap: small cleanups (Nigel Croxon) [1788370]- [firmware] efi: cper: print AER info of PCIe fatal error (Vladis Dronov) [1822595] - [init] redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava) [1810301] - [pci] PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken (Myron Stowe) [1820933] - [pci] PCI: Fix typos (Myron Stowe) [1820933] - [pci] PCI: Remove useless comments and tidy others (Myron Stowe) [1820933] - [pci] PCI: Remove unnecessary includes (Myron Stowe) [1820933] - [tools] tools: PCI: Fix fd leakage (Myron Stowe) [1820933] - [pci] PCI: Export pci_parse_request_of_pci_ranges() (Myron Stowe) [1820933] - [include] resource: Add a resource_list_first_type helper (Myron Stowe) [1820933] - [pci] PCI/ATS: Restore EXPORT_SYMBOL_GPL() for pci_{enable, disable}_ats() (Myron Stowe) [1820933] - [include] PCI/ATS: Add PASID stubs (Myron Stowe) [1820933] - [pci] PCI: Unify ACS quirk desired vs provided checking (Myron Stowe) [1820933] - [pci] PCI: Make ACS quirk implementations more uniform (Myron Stowe) [1820933] - [pci] PCI: Apply Cavium ACS quirk to ThunderX2 and ThunderX3 (Myron Stowe) [1820933] - [pci] PCI/IOV: Serialize sysfs sriov_numvfs reads vs writes (Myron Stowe) [1820933] - [pci] PCI: Add DMA alias quirk for Intel VCA NTB (Myron Stowe) [1820933] - [pci] PCI: Fix Intel ACS quirk UPDCR register address (Myron Stowe) [1820933] - [pci] PCI/ATS: Make pci_restore_pri_state(), pci_restore_pasid_state() private (Myron Stowe) [1820933] - [pci] PCI/ATS: Remove unnecessary EXPORT_SYMBOL_GPL() (Myron Stowe) [1820933] - [include] PCI/ATS: Remove unused PRI and PASID stubs (Myron Stowe) [1820933] - [pci] PCI/ATS: Consolidate ATS declarations in linux/pci-ats.h (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PRI PRG Response PASID Required bit (Myron Stowe) [1820933] - [pci] PCI/ATS: Use PF PASID for VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PASID Capability offset (Myron Stowe) [1820933] - [pci] PCI/ATS: Cache PRI Capability offset (Myron Stowe) [1820933] - [pci] PCI/ATS: Disable PF/VF ATS service independently (Myron Stowe) [1820933] - [pci] PCI/ATS: Handle sharing of PF PASID Capability with all VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Handle sharing of PF PRI Capability with all VFs (Myron Stowe) [1820933] - [pci] PCI/ATS: Move pci_prg_resp_pasid_required() to CONFIG_PCI_PRI (Myron Stowe) [1820933] - [iommu] iommu/vt-d: Select PCI_PRI for INTEL_IOMMU_SVM (Myron Stowe) [1820933] - [pci] PCI/switchtec: Read all 64 bits of part_event_bitmap (Myron Stowe) [1820933] - [pci] PCI: Do not use bus number zero from EA capability (Myron Stowe) [1820933] - [pci] PCI: Avoid double hpmemsize MMIO window assignment (Myron Stowe) [1820933] - [pci] PCI: Add "pci=hpmmiosize" and "pci=hpmmioprefsize" parameters (Myron Stowe) [1820933] - [pci] PCI: Add PCI_STD_NUM_BARS for the number of standard BARs (Myron Stowe) [1820933] - [pci] PCI: Fix missing bridge dma_ranges resource list cleanup (Myron Stowe) [1820933] - [pci] PCI: Protect pci_reassign_bridge_resources() against concurrent addition/removal (Myron Stowe) [1820933] - [pci] PCI/MSI: Fix incorrect MSI-X masking on resume (Myron Stowe) [1820933] - [pci] PCI/MSI: Move power state check out of pci_msi_supported() (Myron Stowe) [1820933] - [pci] PCI/MSI: Remove unused pci_irq_get_node() (Myron Stowe) [1820933] - [uapi] PCI: Add #defines for Enter Compliance, Transmit Margin (Myron Stowe) [1820933] - [pci] PCI: Allow building PCIe things without PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI: Remove PCIe Kconfig dependencies on PCI (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove dependency on PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI/PTM: Remove dependency on PCIEPORTBUS (Myron Stowe) [1820933] - [pci] PCI/PTM: Remove spurious "d" from granularity message (Myron Stowe) [1820933] - [pci] PCI: sysfs: Remove unused attribute groups (Myron Stowe) [1820933] - [x86] x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect (Myron Stowe) [1820933] - [pci] PCI: Remove unused includes and superfluous struct declaration (Myron Stowe) [1820933] - [x86] x86/PCI: Replace deprecated EXTRA_CFLAGS with ccflags-y (Myron Stowe) [1820933] - [pci] x86/PCI: Correct SPDX comment style (Myron Stowe) [1820933] - [x86] x86/PCI: Add NumaChip SPDX GPL-2.0 to replace COPYING boilerplate (Myron Stowe) [1820933] - [pci] ACPI / hotplug / PCI: Allocate resources directly under the non-hotplug bridge (Myron Stowe) [1820933] - [pci] PCI: pciehp: Prevent deadlock on disconnect (Myron Stowe) [1820933] - [pci] PCI: pciehp: Do not disable interrupt twice on suspend (Myron Stowe) [1820933] - [pci] PCI: pciehp: Refactor infinite loop in pcie_poll_cmd() (Myron Stowe) [1820933] - [pci] PCI: pciehp: Fix indefinite wait on sysfs requests (Myron Stowe) [1820933] - [pci] PCI: pciehp: Avoid returning prematurely from sysfs requests (Myron Stowe) [1820933] - [pci] PCI: Warn if no host bridge NUMA node info (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove PCIEASPM_DEBUG Kconfig option and related code (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add sysfs attributes for controlling ASPM link states (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add pcie_aspm_get_link() (Myron Stowe) [1820933] - [pci] PCI/ASPM: Allow re-enabling Clock PM (Myron Stowe) [1820933] - [pci] PCI/ASPM: Add L1 PM substate support to pci_disable_link_state() (Myron Stowe) [1820933] - [pci] PCI/ASPM: Remove pcie_aspm_enabled() unnecessary locking (Myron Stowe) [1820933] - [pci] PCI/DPC: Add "pcie_ports=dpc-native" to allow DPC without AER control (Myron Stowe) [1820933] - [pci] PCI/AER: Fix kernel-doc warnings (Myron Stowe) [1820933] - [pci] PCI/AER: Use for_each_set_bit() to simplify code (Myron Stowe) [1820933] - [pci] PCI/AER: Add PoisonTLPBlocked to Uncorrectable error counters (Myron Stowe) [1820933] - [pci] PCI/AER: Save AER Capability for suspend/resume (Myron Stowe) [1820933] - [pci] PCI: Add ACS quirk for iProc PAXB (Myron Stowe) [1820933] - [cpufreq] cpufreq: intel_pstate: Simplify intel_pstate_cpu_init() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn (Prarit Bhargava) [1823339] - [cpufreq] x86/devicetable: Move x86 specific macro out of generic code (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use scnprintf() for avoiding potential buffer overflow (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Consolidate policy verification (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix unsafe notifiers (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: Fix use-after-free (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: dt: Allow platform specific intermediate callbacks (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: add function to get the hardware max frequency (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Prevent unstable evaluation of WARN(vtime->state) (Prarit Bhargava) [1823339] - [cpufreq] docs: cpufreq: fix a broken reference (Prarit Bhargava) [1823339] - [kernel] PM: QoS: annotate data races in pm_qos_*_value() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Fix policy initialization for internal governor drivers (Prarit Bhargava) [1823339] - [documentation] Documentation: power: fix pm_qos_interface.rst format warning (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Make CPU latency QoS depend on CONFIG_CPU_IDLE (Prarit Bhargava) [1823339] - [documentation] Documentation: PM: QoS: Update to reflect previous code changes (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Update file information comments (Prarit Bhargava) [1823339] - [x86] x86: platform: iosf_mbi: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [cpuidle] cpuidle: Call cpu_latency_qos_limit() instead of pm_qos_request() (Prarit Bhargava) [1823339] - [x86] x86: baytrail/cherrytrail: Rework and move P-Unit PMIC bus semaphore code (Prarit Bhargava) [1823339] - [sound] sound: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [media] drivers: media: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [wireless] drivers: net: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [drm] drm/i915: Implement a better i945gm vblank irq vs. C-states workaround (Prarit Bhargava) [1823339] - [drm] drm: i915: Call cpu_latency_qos_*() instead of pm_qos_*() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop PM_QOS_CPU_DMA_LATENCY and rename related functions (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Adjust pm_qos_request() signature and reorder pm_qos.h (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Simplify definitions of CPU latency QoS trace events (Prarit Bhargava) [1823339] - [tty] PM: QoS: Rename things related to the CPU latency QoS (Prarit Bhargava) [1823339] - [cpuidle] PM: QoS: Drop PM_QOS_CPU_DMA_LATENCY notifier chain (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Redefine struct pm_qos_request and drop struct pm_qos_object (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up misc device file operations (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop iterations over global QoS classes (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up pm_qos_read_value() and pm_qos_get/set_value() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Clean up pm_qos_update_target() and pm_qos_update_flags() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop the PM_QOS_SUM QoS type (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop pm_qos_update_request_timeout() (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Drop debugfs interface (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: Add support for OPP_PLUS (Prarit Bhargava) [1823339] - [x86] x86/intel_pstate: Handle runtime turbo disablement/enablement in frequency invariance (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on ATOM (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on ATOM_GOLDMONT* (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on XEON_PHI_KNL/KNM (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance on SKYLAKE_X (Prarit Bhargava) [1823339] - [x86] x86, sched: Add support for frequency invariance (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Avoid creating excessively large stack frames (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: loongson2_cpufreq: adjust cpufreq uses of LOONGSON_CHIPCFG (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: brcmstb-avs: fix imbalance of cpufreq policy refcount (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: fix spelling mistake: "Whethet" -> "Whether" (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: s3c: fix unbalances of cpufreq policy refcount (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: tegra186: convert to devm_platform_ioremap_resource (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: kirkwood: convert to devm_platform_ioremap_resource (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: CPPC: put ACPI table after using it (Prarit Bhargava) [1823339] - [cpufreq] cpufreq : CPPC: Break out if HiSilicon CPPC workaround is matched (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: scmi: Match scmi device by both name and protocol id (Prarit Bhargava) [1823339] - [base] PM / QoS: Restore DEV_PM_QOS_MIN/MAX_FREQUENCY (Prarit Bhargava) [1823339] - [base] PM: QoS: Drop frequency QoS types from device PM QoS (Prarit Bhargava) [1823339] - [include] PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs (Prarit Bhargava) [1823339] - [include] PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Fix Kconfig indentation (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use vtime aware kcpustat accessors for user time (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Bring up complete kcpustat accessor (Prarit Bhargava) [1823339] - [documentation] PM: Wrap documentation to fit in 80 columns (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Invalidate frequency QoS requests after removal (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Register drivers only after CPU devices have been registered (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Add NULL checks to show() and store() methods of cpufreq (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Fix invalid EPB setting (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Initialize cpufreq-dt driver earlier (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Fix plain int as pointer warning from sparse (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: powernv: fix stack bloat and hard limit on number of CPUs (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Clarify the comment in cpufreq_set_policy() (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM (Prarit Bhargava) [1823339] - [kernel] sched/kcpustat: Introduce vtime-aware kcpustat accessor for CPUTIME_SYSTEM (Prarit Bhargava) [1823339] - [include] sched/vtime: Introduce vtime_accounting_enabled_cpu() (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Rename vtime_accounting_cpu_enabled() to vtime_accounting_enabled_this_cpu() (Prarit Bhargava) [1823339] - [include] context_tracking: Introduce context_tracking_enabled_cpu() (Prarit Bhargava) [1823339] - [include] context_tracking: Rename context_tracking_is_cpu_enabled() to context_tracking_enabled_this_cpu() (Prarit Bhargava) [1823339] - [kernel] sched/vtime: Record CPU under seqcount for kcpustat needs (Prarit Bhargava) [1823339] - [acpi] ACPI: processor: Add QoS requests for all CPUs (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: scpi: remove stale/outdated comment about the driver (Prarit Bhargava) [1823339] - [thermal] thermal/drivers/cpufreq_cooling: Fix return of cpufreq_set_cur_state (Prarit Bhargava) [1823339] - [acpi] cpufreq: Use per-policy frequency QoS (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Introduce frequency QoS (Prarit Bhargava) [1823339] - [acpi] ACPI: processor: Avoid NULL pointer dereferences at init time (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: Add support for AM3517 (Prarit Bhargava) [1823339] - [cpufreq] ARM: dts: omap36xx: using OPP1G needs to control the abb_ldo (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: ti-cpufreq: add support for omap34xx and omap36xx (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Remove CPUFREQ_ADJUST and CPUFREQ_NOTIFY policy notifier events (Prarit Bhargava) [1823339] - [base] arch_topology: Use CPUFREQ_CREATE_POLICY instead of CPUFREQ_NOTIFY (Prarit Bhargava) [1823339] - [acpi] ACPI: cpufreq: Switch to QoS requests instead of cpufreq notifier (Prarit Bhargava) [1823339] - [kernel] PM: QoS: Get rid of unused flags (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: intel_pstate: Implement QoS supported freq constraints (Prarit Bhargava) [1823339] - [thermal] thermal: cpu_cooling: Switch to QoS requests for freq limits (Prarit Bhargava) [1823339] - [cpufreq] cpufreq: Add policy create/remove notifiers back (Prarit Bhargava) [1823339] - [documentation] docs: power: convert docs to ReST and rename to *.rst (Prarit Bhargava) [1823339] - [kernel] PM: QoS: no need to check return value of debugfs_create functions (Prarit Bhargava) [1823339] - [kernel] PM / QoS: Change to use DEFINE_SHOW_ATTRIBUTE macro (Prarit Bhargava) [1823339] - [nvme] nvme-fc: Revert "add module to ops template to allow module references" (Gopal Tiwari) [1823270] - [nvme] nvme: fix deadlock caused by ANA update wrong locking (Gopal Tiwari) [1823270] - [nvme] nvme-pci: Hold cq_poll_lock while completing CQEs (Gopal Tiwari) [1823270] - [uapi] nvme: change nvme_passthru_cmd64 to explicitly mark rsvd (Gopal Tiwari) [1823270] - [tools] tools/power/x86/intel-speed-select: Fix a typo in error message (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Avoid duplicate Package strings for json (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Add display for enabled cpus count (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Print friendly warning for bad command line (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix avx options for turbo-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve CLX commands (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Show error for invalid CPUs in the options (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve core-power result and error display (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Kernel interface error handling (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for turbo-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for base-freq feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve output of perf-profile commands (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance help for core-power assoc (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Display error for invalid priority type (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Check feature status first (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Improve error display for perf-profile feature (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Add an API for error/information print (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance --info option (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance help (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Helpful warning for missing kernel interface (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Store topology information (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Max CPU count calculation when CPU0 is offline (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Special handling for CPU 0 online/offline (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Use more verbiage for clos information (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Enhance core-power info command (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Make target CPU optional for core-power info (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Warn for invalid package id (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix last cpu number (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix mailbox usage for CLOS_PM_QOS_CONFIG (Prarit Bhargava) [1778956] - [platform] platform/x86: ISST: Fix wrong unregister type (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Avoid duplicate names for json parsing (Prarit Bhargava) [1778956] - [tools] tools/power/x86/intel-speed-select: Fix display for turbo-freq auto mode (Prarit Bhargava) [1778956] - [platform] platform/x86: ISST: Allow additional core-power mailbox commands (Prarit Bhargava) [1778956] - [misc] mei: me: add comet point (lake) H device ids (Ken Cox) [1815355] - [misc] mei: me: add comet point (lake) LP device ids (Ken Cox) [1815355] - [misc] mei: define dma ring buffer sizes for PCH12 HW and newer (Ken Cox) [1815355] - [misc] mei: hbm: define dma ring setup protocol (Ken Cox) [1815355] - [acpi] apei/ghes: Do not delay GHES polling (Robert Richter) [1793544] - [edac] EDAC/ghes: Do not warn when incrementing refcount on 0 (Robert Richter) [1793544] - [edac] EDAC/ghes: Fix locking and memory barrier issues (Robert Richter) [1793544] - [edac] EDAC/ghes: Fix Use after free in ghes_edac remove path (Robert Richter) [1793544] - [edac] EDAC, ghes: Use CPER module handles to locate DIMMs (Robert Richter) [1793544] - [kernel] sched/fair: Fix statistics for find_idlest_group() (Phil Auld) [1794398] - [kernel] sched/core: Annotate curr pointer in rq with __rcu (Phil Auld) [1794398] - [kernel] sched/psi: Fix OOB write when writing 0 bytes to PSI files (Phil Auld) [1794398] - [kernel] sched/psi: Correct overly pessimistic size calculation (Phil Auld) [1794398] - [kernel] sched/fair: Prevent unlimited runtime on throttled group (Phil Auld) [1794398] - [kernel] sched/nohz: Optimize get_nohz_timer_target() (Phil Auld) [1794398] - [kernel] sched/topology: Assert non-NUMA topology masks don't (partially) overlap (Phil Auld) [1794398] - [kernel] sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled (Phil Auld) [1794398] - [kernel] sched/fair: Remove redundant call to cpufreq_update_util() (Phil Auld) [1794398] - [kernel] sched/debug: Add new tracepoints to track PELT at rq level (Phil Auld) [1794398] - [kernel] sched/fair: calculate delta runnable load only when it's needed (Phil Auld) [1794398] - [kernel] sched/fair: Fix sgc->{min, max}_capacity calculation for SD_OVERLAP (Phil Auld) [1794398] - [kernel] sched/debug: Reset watchdog on all CPUs while processing sysrq-t (Phil Auld) [1794398] - [kernel] sched/fair: Make sched-idle CPU selection consistent throughout (Phil Auld) [1794398] - [kernel] sched/core: Remove unused variable from set_user_nice() (Phil Auld) [1794398] - [kernel] sched/fair: Optimize select_idle_cpu (Phil Auld) [1794398] - [kernel] schied/fair: Skip calculating @contrib without load (Phil Auld) [1794398] - [kernel] sched: Spare resched IPI when prio changes on a single fair task (Phil Auld) [1794398] - [kernel] sched: Use fair:prio_changed() instead of ad-hoc implementation (Phil Auld) [1794398] - [kernel] sched/wait: fix ___wait_var_event(exclusive) (Phil Auld) [1794398] - [kernel] psi: Fix a division error in psi poll() (Phil Auld) [1794398] - [kernel] sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime (Phil Auld) [1794398] - [kernel] sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() (Phil Auld) [1794398] - [kernel] sched/pelt: Fix update of blocked PELT ordering (Phil Auld) [1794398] - [kernel] sched/core: Avoid spurious lock dependencies (Phil Auld) [1794398] - [kernel] Add wake_up_interruptible_sync_poll_locked() (Phil Auld) [1794398] - [kernel] Remove the nr_exclusive argument from __wake_up_sync_key() (Phil Auld) [1794398] - [x86] x86/mce: Do not log spurious corrected mce errors (Prarit Bhargava) [1819761] - [x86] x86/MCE: Add an MCE-record filtering function (Prarit Bhargava) [1819761]- [mm] mm/page_alloc: increase default min_free_kbytes bound (Joel Savitz) [1808039] - [crypto] crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN (Neil Horman) [1782179] - [crypto] crypto: qat - switch to skcipher API (Neil Horman) [1782179] - [scsi] scsi: lpfc: Change default SCSI LUN QD to 64 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Update lpfc version to 12.8.0.0 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Remove prototype FIPS/DSS options from SLI-3 (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Make debugfs ktime stats generic for NVME and SCSI (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix erroneous cpu limit of 128 on I/O statistics (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix update of wq consumer index in lpfc_sli4_wq_release (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix crash after handling a pci error (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix scsi host template for SLI3 vports (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix lpfc overwrite of sg_cnt field in nvmefc_tgt_fcp_req (Dick Kennedy) [1822334] - [scsi] scsi: lpfc: Fix lockdep error - register non-static key (Dick Kennedy) [1822334] - [fs] utimes: Clamp the timestamps in notify_change() (Eric Sandeen) [1795991] - [fs] smb3: Fix regression in time handling (Eric Sandeen) [1795991] - [fs] isofs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: ceph: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: fat: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fat: propagate 64-bit inode timestamps (Eric Sandeen) [1795991] - [fs] fs: cifs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] fs: nfs: Initialize filesystem timestamp ranges (Eric Sandeen) [1795991] - [fs] ext4: Initialize timestamps limits (Eric Sandeen) [1795991] - [fs] fs: Fill in max and min timestamps in superblock (Eric Sandeen) [1795991] - [fs] utimes: Clamp the timestamps before update (Eric Sandeen) [1795991] - [fs] timestamp_truncate: Replace users of timespec64_trunc (Eric Sandeen) [1795991] - [fs] vfs: Add timestamp_truncate() api (Eric Sandeen) [1795991] - [fs] vfs: Add file timestamp range support (Eric Sandeen) [1795991] - [fs] cramfs: Deprecate cramfs in RHEL (Abhijith Das) [1794513] - [thermal] thermal: intel: intel_pch_thermal: Add Comet Lake (CML) platform support (David Arcari) [1773794] - [thermal] thermal: intel: Fix unmatched pci_release_region (David Arcari) [1773794] - [thermal] thermal: intel: Use dev_get_drvdata (David Arcari) [1773794] - [thermal] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (David Arcari) [1773794] - [thermal] drivers: thermal: Move various drivers for intel platforms into a subdir (David Arcari) [1773794] - [x86] x86/cpufeatures: Enable a new AVX512 CPU feature (David Arcari) [1783143] - [x86] cpu/cpuid-deps: Add a tab to cpuid dependent features (David Arcari) [1783143] - [crypto] crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) [1785660] - [char] random: Add hook to override device reads and getrandom(2) (Herbert Xu) [1785660] - [block] nbd: add a flush_workqueue in nbd_start_device (Ming Lei) [1798919] - [scsi] scsi: sd_sbc: Fix sd_zbc_report_zones() (Ming Lei) [1798919] - [block] block: Fix partition support for host aware zoned block devices (Ming Lei) [1798919] - [scsi] block: allow partitions on host aware zone devices (Ming Lei) [1798919] - [block] null_blk: Fix zone write handling (Ming Lei) [1798919] - [fs] fs: move guard_bio_eod() after bio_set_op_attrs (Ming Lei) [1798919] - [block] null_blk: Fix REQ_OP_ZONE_CLOSE handling (Ming Lei) [1798919] - [block] block: add bio_truncate to fix guard_bio_eod (Ming Lei) [1798919] - [block] compat_ioctl: block: handle Persistent Reservations (Ming Lei) [1798919] - [block] compat_ioctl: block: handle add zone open, close and finish ioctl (Ming Lei) [1798919] - [block] compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES (Ming Lei) [1798919] - [block] compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE (Ming Lei) [1798919] - [block] block: fix memleak when __blk_rq_map_user_iov() is failed (Ming Lei) [1798919] - [s390] s390/dasd: fix typo in copyright statement (Ming Lei) [1798919] - [s390] s390/dasd: fix memleak in path handling error case (Ming Lei) [1798919] - [s390] s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly (Ming Lei) [1798919] - [block] block: Fix a lockdep complaint triggered by request queue flushing (Ming Lei) [1798919] - [block] block: Fix the type of 'sts' in bsg_queue_rq() (Ming Lei) [1798919] - [block] block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT (Ming Lei) [1798919] - [block] nbd: fix shutdown and recv work deadlock v2 (Ming Lei) [1798919] - [block] blk-iocost: fix incorrect vtime comparison in iocg_is_idle() (Ming Lei) [1798919] - [block] iocost: check active_list of all the ancestors in iocg_activate() (Ming Lei) [1798919] - [block] iocost: over-budget forced IOs should schedule async delay (Ming Lei) [1798919] - [block] blk-cgroup: remove blkcg_drain_queue (Ming Lei) [1798919] - [block] block: fix NULL pointer dereference in account statistics with IDE (Ming Lei) [1798919] - [block] null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED (Ming Lei) [1798919] - [block] brd: warn on un-aligned buffer (Ming Lei) [1798919] - [block] brd: remove max_hw_sectors queue limit (Ming Lei) [1798919] - [block] block: set the zone size in blk_revalidate_disk_zones atomically (Ming Lei) [1798919] - [block] block: don't handle bio based drivers in blk_revalidate_disk_zones (Ming Lei) [1798919] - [block] block: allocate the zone bitmaps lazily (Ming Lei) [1798919] - [block] block: replace seq_zones_bitmap with conv_zones_bitmap (Ming Lei) [1798919] - [block] block: simplify blkdev_nr_zones (Ming Lei) [1798919] - [block] block: remove the empty line at the end of blk-zoned.c (Ming Lei) [1798919] - [block] null_blk: cleanup null_gendisk_register (Ming Lei) [1798919] - [block] null_blk: fix zone size paramter check (Ming Lei) [1798919] - [fs] block: don't send uevent for empty disk when not invalidating (Ming Lei) [1798919] - [block] ataflop: Remove unneeded semicolon (Ming Lei) [1798919] - [block] drbd: Remove unneeded semicolon (Ming Lei) [1798919] - [scsi] sr_vendor: support Beurer GL50 evo CD-on-a-chip devices (Ming Lei) [1798919] - [cdrom] cdrom: respect device capabilities during opening action (Ming Lei) [1798919] - [fs] block: move clearing bd_invalidated into check_disk_size_change (Ming Lei) [1798919] - [block] block: remove (__)blkdev_reread_part as an exported API (Ming Lei) [1798919] - [block] block: fix bdev_disk_changed for non-partitioned devices (Ming Lei) [1798919] - [block] block: move rescan_partitions to fs/block_dev.c (Ming Lei) [1798919] - [block] block: merge invalidate_partitions into rescan_partitions (Ming Lei) [1798919] - [block] block: refactor rescan_partitions (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Remove set but not used variable 'buflen' (Ming Lei) [1798919] - [md] block: rework zone reporting (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer() (Ming Lei) [1798919] - [block] null_blk: Add zone_nr_conv to features (Ming Lei) [1798919] - [block] null_blk: clean up report zones (Ming Lei) [1798919] - [block] null_blk: clean up the block device operations (Ming Lei) [1798919] - [block] block: Remove partition support for zoned block devices (Ming Lei) [1798919] - [md] block: Simplify report zones execution (Ming Lei) [1798919] - [block] block: cleanup the !zoned case in blk_revalidate_disk_zones (Ming Lei) [1798919] - [scsi] block: Enhance blk_revalidate_disk_zones() (Ming Lei) [1798919] - [block] nbd: prevent memory leak (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: add zone open, close, and finish support (Ming Lei) [1798919] - [block] null_blk: add zone open, close, and finish support (Ming Lei) [1798919] - [md] dm: add zone open, close and finish support (Ming Lei) [1798919] - [block] loop: fix no-unmap write-zeroes request behavior (Ming Lei) [1798919] - [block] null_blk: return fixed zoned reads > write pointer (Ming Lei) [1798919] - [block] null_blk: Enable modifying 'submit_queues' after an instance has been configured (Ming Lei) [1798919] - [block] null_blk: Improve nullb_device_##NAME##_store() readability (Ming Lei) [1798919] - [block] block,bfq: Skip tracing hooks if possible (Ming Lei) [1798919] - [block] block: Don't disable interrupts in trigger_softirq() (Ming Lei) [1798919] - [lib] sbitmap: Delete sbitmap_any_bit_clear() (Ming Lei) [1798919] - [block] blk-mq: Delete blk_mq_has_free_tags() and blk_mq_can_queue() (Ming Lei) [1798919] - [block] block: add zone open, close and finish ioctl support (Ming Lei) [1798919] - [uapi] uapi: fix ioctl documentation (Ming Lei) [1798919] - [uapi] uapi: linux/blkzoned.h: fix BLKGETZONESZ and BLKGETNRZONES definitions (Ming Lei) [1798919] - [block] block: add zone open, close and finish operations (Ming Lei) [1798919] - [block] block: Simplify REQ_OP_ZONE_RESET_ALL handling (Ming Lei) [1798919] - [block] block: Remove REQ_OP_ZONE_RESET plugging (Ming Lei) [1798919] - [fs] bdev: Refresh bdev size for disks without partitioning (Ming Lei) [1798919] - [fs] bdev: Factor out bdev revalidation into a common helper (Ming Lei) [1798919] - [block] blk-mq: Make blk_mq_run_hw_queue() return void (Ming Lei) [1798919] - [fs] fcntl: fix typo in RWH_WRITE_LIFE_NOT_SET r/w hint name (Ming Lei) [1798919] - [block] blk-mq: remove needless goto from blk_mq_get_driver_tag (Ming Lei) [1798919] - [block] block: Reduce the amount of memory used for tag sets (Ming Lei) [1798919] - [block] block: Reduce the amount of memory required per request queue (Ming Lei) [1798919] - [block] block: Remove the synchronize_rcu() call from __blk_mq_update_nr_hw_queues() (Ming Lei) [1798919] - [block] block: account statistics for passthrough requests (Ming Lei) [1798919] - [block] blk-stat: Optimise blk_stat_add() (Ming Lei) [1798919] - [block] blk-mq: Embed counters into struct mq_inflight (Ming Lei) [1798919] - [block] blk-mq: Reuse callback in blk_mq_in_flight*() (Ming Lei) [1798919] - [block] blk-mq: Inline status checkers (Ming Lei) [1798919] - [block] block: Document all members of blk_mq_tag_set and bkl_mq_queue_map (Ming Lei) [1798919] - [block] block: Reduce sysfs_lock locking inside blk_cleanup_queue() (Ming Lei) [1798919] - [block] block: Remove "dying" checks from sysfs callbacks (Ming Lei) [1798919] - [block] block: Remove request_queue.nr_queues (Ming Lei) [1798919] - [trace] block: Fix writeback throttling W=1 compiler warnings (Ming Lei) [1798919] - [block] block: Fix three kernel-doc warnings (Ming Lei) [1798919] - [fs] writeback: fix use-after-free in finish_writeback_work() (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Fix sd_zbc_complete() (Ming Lei) [1798919] - [block] nbd:fix memory leak in nbd_get_socket() (Ming Lei) [1798919] - [block] nbd: verify socket is supported during setup (Ming Lei) [1798919] - [block] nbd: handle racing with error'ed out commands (Ming Lei) [1798919] - [block] nbd: protect cmd->status with cmd->lock (Ming Lei) [1798919] - [block] nbd: fix possible sysfs duplicate warning (Ming Lei) [1798919] - [block] nbd: fix possible page fault for nbd disk (Ming Lei) [1798919] - [block] nbd: rename the runtime flags as NBD_RT_ prefixed (Ming Lei) [1798919] - [block] nbd: fix max number of supported devs (Ming Lei) [1798919] - [block] nbd: fix zero cmd timeout handling v2 (Ming Lei) [1798919] - [block] nbd: add missing config put (Ming Lei) [1798919] - [block] nbd: add function to convert blk req op to nbd cmd (Ming Lei) [1798919] - [block] nbd: add set cmd timeout helper (Ming Lei) [1798919] - [block] loop: change queue block size to match when using DIO (Ming Lei) [1798919] - [block] rsxx: add missed destroy_workqueue calls in remove (Ming Lei) [1798919] - [fs] cgroup, writeback: don't switch wbs immediately on dead wbs if the memcg is dead (Ming Lei) [1798919] - [block] block: drbd: remove a stray unlock in __drbd_send_protocol() (Ming Lei) [1798919] - [block] blkcg: make blkcg_print_stat() print stats only for online blkgs (Ming Lei) [1798919] - [block] iocost: don't nest spin_lock_irq in ioc_weight_write() (Ming Lei) [1798919] - [block] blk-rq-qos: fix first node deletion of rq_qos_del() (Ming Lei) [1798919] - [block] blkcg: Fix multiple bugs in blkcg_activate_policy() (Ming Lei) [1798919] - [block] block: Fix elv_support_iosched() (Ming Lei) [1798919] - [block] null_blk: Fix zoned command return code (Ming Lei) [1798919] - [block] blk-wbt: fix performance regression in wbt scale_up/scale_down (Ming Lei) [1798919] - [ata] Revert "libata, freezer: avoid block device removal while system is frozen" (Ming Lei) [1798919] - [mm] bdi: Do not use freezable workqueue (Ming Lei) [1798919] - [uapi] block: pg: add header include guard (Ming Lei) [1798919] - [block] block: fix null pointer dereference in blk_mq_rq_timed_out() (Ming Lei) [1798919] - [block] rq-qos: get rid of redundant wbt_update_limits() (Ming Lei) [1798919] - [block] iocost: bump up default latency targets for hard disks (Ming Lei) [1798919] - [block] iocost: improve nr_lagging handling (Ming Lei) [1798919] - [block] iocost: better trace vrate changes (Ming Lei) [1798919] - [block] block: drop device references in bsg_queue_rq() (Ming Lei) [1798919] - [block] pktcdvd: remove warning on attempting to register non-passthrough dev (Ming Lei) [1798919] - [ata] ata: libahci_platform: Add of_node_put() before loop exit (Ming Lei) [1798919] - [block] block, bfq: push up injection only after setting service time (Ming Lei) [1798919] - [block] block, bfq: increase update frequency of inject limit (Ming Lei) [1798919] - [block] block, bfq: reduce upper bound for inject limit to max_rq_in_driver+1 (Ming Lei) [1798919] - [block] block, bfq: update inject limit only after injection occurred (Ming Lei) [1798919] - [block] block: centralize PI remapping logic to the block layer (Ming Lei) [1798919] - [block] block: use symbolic constants for t10_pi type (Ming Lei) [1798919] - [block] null_blk: format pr_* logs with pr_fmt (Ming Lei) [1798919] - [block] null_blk: match the type of parameter nr_devices (Ming Lei) [1798919] - [block] null_blk: do not fail the module load with zero devices (Ming Lei) [1798919] - [block] block: also check RQF_STATS in blk_mq_need_time_stamp() (Ming Lei) [1798919] - [block] block: make rq sector size accessible for block stats (Ming Lei) [1798919] - [block] bfq: Fix bfq linkage error (Ming Lei) [1798919] - [scsi] scsi: core: remove dummy q->dev check (Ming Lei) [1798919] - [block] block: bypass blk_set_runtime_active for uninitialized q->dev (Ming Lei) [1798919] - [block] null_blk: validate the number of devices (Ming Lei) [1798919] - [block] null_blk: fix module name at log message (Ming Lei) [1798919] - [block] iocost_monitor: Report debt (Ming Lei) [1798919] - [tools] iocost_monitor: Report more info with higher accuracy (Ming Lei) [1798919] - [tools] iocost_monitor: Always use strings for json values (Ming Lei) [1798919] - [block] blk-iocost: Don't let merges push vtime into the future (Ming Lei) [1798919] - [block] blk-iocost: Account force-charged overage in absolute vtime (Ming Lei) [1798919] - [block] blk-iocost: Fix incorrect operation order during iocg free (Ming Lei) [1798919] - [block] bfq: Add per-device weight (Ming Lei) [1798919] - [block] bfq: Extract bfq_group_set_weight from bfq_io_set_weight_legacy (Ming Lei) [1798919] - [block] bfq: Fix the missing barrier in __bfq_entity_update_weight_prio (Ming Lei) [1798919] - [block] block: fix elevator_get_by_features() (Ming Lei) [1798919] - [scsi] sd: Set ELEVATOR_F_ZBD_SEQ_WRITE for ZBC disks (Ming Lei) [1798919] - [block] block: Set ELEVATOR_F_ZBD_SEQ_WRITE for nullblk zoned disks (Ming Lei) [1798919] - [block] block: Delay default elevator initialization (Ming Lei) [1798919] - [block] block: Improve default elevator selection (Ming Lei) [1798919] - [block] block: Introduce elevator features (Ming Lei) [1798919] - [block] block: Change elevator_init_mq() to always succeed (Ming Lei) [1798919] - [block] block: Cleanup elevator_init_mq() use (Ming Lei) [1798919] - [block] paride/pcd: need to check if cd->disk is null in pcd_detect (Ming Lei) [1798919] - [block] paride/pcd: need to set queue to NULL before put_disk (Ming Lei) [1798919] - [block] blkcg: add missing NULL check in ioc_cpd_alloc() (Ming Lei) [1798919] - [block] blkcg: fix missing free on error path of blk_iocost_init() (Ming Lei) [1798919] - [trace] blkcg: blk-iocost: predeclare used structs (Ming Lei) [1798919] - [block] blkcg: add tools/cgroup/iocost_coef_gen.py (Ming Lei) [1798919] - [block] blkcg: add tools/cgroup/iocost_monitor.py (Ming Lei) [1798919] - [block] blkcg: implement blk-iocost (Ming Lei) [1798919] - [block] blk-mq: add optional request->alloc_time_ns (Ming Lei) [1798919] - [block] block: extend 'struct request' via 'request_aux' (Ming Lei) [1798919] - [block] blkcg: s/RQ_QOS_CGROUP/RQ_QOS_LATENCY/ (Ming Lei) [1798919] - [block] block/rq_qos: implement rq_qos_ops->queue_depth_changed() (Ming Lei) [1798919] - [block] block/rq_qos: add rq_qos_merge() (Ming Lei) [1798919] - [block] blkcg: separate blkcg_conf_get_disk() out of blkg_conf_prep() (Ming Lei) [1798919] - [block] blkcg: make ->cpd_init_fn() optional (Ming Lei) [1798919] - [block] blkcg: pass @q and @blkcg into blkcg_pol_alloc_pd_fn() (Ming Lei) [1798919] - [include] writeback: Generalize and expose wb_completion (Ming Lei) [1798919] - [block] null_blk: fix inline misuse (Ming Lei) [1798919] - [block] null_blk: create a helper for req completion (Ming Lei) [1798919] - [block] null_blk: create a helper for zoned devices (Ming Lei) [1798919] - [block] null_blk: create a helper for mem-backed ops (Ming Lei) [1798919] - [block] null_blk: create a helper for badblocks (Ming Lei) [1798919] - [block] null_blk: create a helper for throttling (Ming Lei) [1798919] - [block] null_blk: move duplicate code to callers (Ming Lei) [1798919] - [block] block: remove struct request_queue queue_head (Ming Lei) [1798919] - [fs] writeback, cgroup: inode_switch_wbs() shouldn't give up on wb_switch_rwsem trylock fail (Ming Lei) [1798919] - [fs] writeback, cgroup: Adjust WB_FRN_TIME_CUT_DIV to accelerate foreign inode switching (Ming Lei) [1798919] - [block] blk-mq: Fix memory leak in blk_mq_init_allocated_queue error handling (Ming Lei) [1798919] - [block] loop: Add LOOP_SET_DIRECT_IO to compat ioctl (Ming Lei) [1798919] - [lib] lib: scatterlist: Fix to support no mapped sg (Ming Lei) [1798919] - [block] null_blk: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [scsi] scsi: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [block] blk-zoned: implement REQ_OP_ZONE_RESET_ALL (Ming Lei) [1798919] - [block] block: add req op to reset all zones and flag (Ming Lei) [1798919] - [block] block: Fix a comment in blk_cleanup_queue() (Ming Lei) [1798919] - [block] block: Fix spelling in the header above blkg_lookup() (Ming Lei) [1798919] - [kernel] cgroup: Move cgroup_parse_float() implementation out of CONFIG_SYSFS (Ming Lei) [1798919] - [kernel] cgroup: add cgroup_parse_float() (Ming Lei) [1798919] - [block] nbd: replace kill_bdev() with __invalidate_device() again (Ming Lei) [1798919] - [block] nbd: add netlink reconfigure resize support (Ming Lei) [1798919] - [block] nbd: fix crash when the blksize is zero (Ming Lei) [1798919] - [block] nbd: propagate genlmsg_reply return code (Ming Lei) [1798919] - [block] block: loop: mark bvec as ITER_BVEC_FLAG_NO_REF (Ming Lei) [1798919] - [block] loop: properly observe rotational flag of underlying device (Ming Lei) [1798919] - [block] block: Limit zone array allocation size (Ming Lei) [1798919] - [block] block: Fix null_blk_zoned creation failure with small number of zones (Ming Lei) [1798919] - [scsi] sd_zbc: Fix report zones buffer allocation (Ming Lei) [1798919] - [scsi] scsi: sd_zbc: Fix sd_zbc_report_zones() buffer allocation (Ming Lei) [1798919] - [md] block: Kill gfp_t argument of blkdev_report_zones() (Ming Lei) [1798919] - [md] dm zoned: Fix zone report handling (Ming Lei) [1798919] - [block] blkcg: implement REQ_CGROUP_PUNT (Ming Lei) [1798919] - [include] blkcg, writeback: Implement wbc_blkcg_css() (Ming Lei) [1798919] - [fs] blkcg, writeback: Add wbc->no_cgroup_owner (Ming Lei) [1798919] - [fs] blkcg, writeback: Rename wbc_account_io() to wbc_account_cgroup_owner() (Ming Lei) [1798919] - [block] cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages (Ming Lei) [1798919] - [fs] writeback: synchronize sync(2) against cgroup writeback membership switches (Ming Lei) [1798919] - [block] blk-mq: move cancel of requeue_work to the front of blk_exit_queue (Ming Lei) [1798919] - [block] blk-mq-debugfs: support rq_qos (Ming Lei) [1798919] - [block] null_blk: fix type mismatch null_handle_cmd() (Ming Lei) [1798919] - [block] null_blk: remove duplicate 0 initialization (Ming Lei) [1798919] - [block] null_blk: remove duplicate check for report zone (Ming Lei) [1798919] - [block] null_blk: add zoned config support information (Ming Lei) [1798919] - [tools] tools arch x86: Sync asm/cpufeatures.h with the kernel sources (Vitaly Kuznetsov) [1807448] - [x86] vmware: Use bool type for vmw_sched_clock (Vitaly Kuznetsov) [1807448] - [x86] vmware: Enable steal time accounting (Vitaly Kuznetsov) [1807448] - [x86] vmware: Add steal time clock support for VMware guests (Vitaly Kuznetsov) [1807448] - [x86] vmware: Remove vmware_sched_clock_setup() (Vitaly Kuznetsov) [1807448] - [x86] vmware: Make vmware_select_hypercall() __init (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Fix platform detection VMWARE_PORT macro (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Use the full form of INL in VMWARE_HYPERCALL, for clang/llvm (Vitaly Kuznetsov) [1807448] - [x86] cpu/vmware: Use the full form of INL in VMWARE_PORT (Vitaly Kuznetsov) [1807448] - [x86] vmware: Add a header file for hypercall definitions (Vitaly Kuznetsov) [1807448] - [x86] vmware: Update platform detection code for VMCALL/VMMCALL hypercalls (Vitaly Kuznetsov) [1807448] - [netdrv] hv_netvsc: Fix unwanted wakeup in netvsc_attach() (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: make recording RSS hash depend on feature flag (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: record hardware hash in skb (Mohammed Gamal) [1815503] - [netdrv] hv_netvsc: flag software created hash value (Mohammed Gamal) [1815503] - [video] hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs (Mohammed Gamal) [1816744] - [video] hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver (Mohammed Gamal) [1816744] - [video] hyperv: hyperv_fb: Obtain screen resolution from Hyper-V host (Mohammed Gamal) [1816744] - [uio] uio_hv_generic: drop #ifdef DEBUG (Mohammed Gamal) [1816744] - [hid] hv: Remove dependencies on PAGE_SIZE for ring buffer (Mohammed Gamal) [1816744] - [x86] x86/hyperv: Create and use Hyper-V page definitions (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Drop HV_X64_CONFIGURE_PROFILER definition (Mohammed Gamal) [1816285] - [x86] x86: hv: Add function to allocate zeroed page for Hyper-V (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Add functions to allocate/deallocate page for Hyper-V (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Fix indentation in hv_do_fast_hypercall16() (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Micro-optimize send_ipi_one() (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Make vapic support x2apic mode (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Fix overflow bug in fill_gva_list() (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Zero out the VP ASSIST PAGE on allocation (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Make hv_vcpu_is_preempted() visible (Mohammed Gamal) [1816285] - [x86] x86/hyper-v: Implement EOI assist (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Prevent potential NULL pointer dereference (Mohammed Gamal) [1816285] - [x86] Drivers: hv: vmbus: Break out ISA independent parts of mshyperv.h (Mohammed Gamal) [1816285] - [x86] x86/hyperv: Remove unused include (Mohammed Gamal) [1816285] - [net] vsock/virtio: add support for MSG_PEEK (Stefano Garzarella) [1818059]- [include] leds: triggers: new function led_set_trigger_data() (Torez Smith) [1686205] - [leds] leds: triggers: add device attribute support (Torez Smith) [1686205] - [usb] USB: cdc-wdm: fix race between write and disconnect due to flag abuse (Torez Smith) [1686205] - [usb] usb: host: xhci: rcar: Fix typo in compatible string matching (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Set DMA mask correctly (Torez Smith) [1686205] - [usb] USB: storage: ums-realtek: Whitelist auto-delink support (Torez Smith) [1686205] - [usb] USB: storage: ums-realtek: Update module parameter description for auto_delink_en (Torez Smith) [1686205] - [usb] usb: host: ohci: fix a race condition between shutdown and irq (Torez Smith) [1686205] - [usb] usb: hcd: use managed device resources (Torez Smith) [1686205] - [usb] typec: tcpm: fix a typo in the comparison of pdo_max_voltage (Torez Smith) [1686205] - [usb] usb-storage: Add new JMS567 revision to unusual_devs (Torez Smith) [1686205] - [usb] usb: chipidea: udc: don't do hardware access if gadget has stopped (Torez Smith) [1686205] - [usb] usbtmc: more sanity checking for packet size (Torez Smith) [1686205] - [usb] usb: udc: lpc32xx: silence fall-through warning (Torez Smith) [1686205] - [usb] usb: chipidea: imx: fix EPROBE_DEFER support during driver probe (Torez Smith) [1686205] - [usb] usb: host: fotg2: restart hcd after port reset (Torez Smith) [1686205] - [usb] USB: CDC: fix sanity checks in CDC union parser (Torez Smith) [1686205] - [usb] usb: cdc-acm: make sure a refcount is taken early enough (Torez Smith) [1686205] - [usb] USB: serial: option: add the BroadMobi BM818 card (Torez Smith) [1686205] - [usb] USB: serial: option: Add Motorola modem UARTs (Torez Smith) [1686205] - [usb] USB: core: Fix races in character device registration and deregistraion (Torez Smith) [1686205] - [usb] usb: gadget: mass_storage: Fix races between fsg_disable and fsg_set_alt (Torez Smith) [1686205] - [usb] usb: gadget: composite: Clear "suspended" on reset/disconnect (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Fix sysfs interface of "role" (Torez Smith) [1686205] - [usb] usb: setup authorized_default attributes using usb_bus_notify (Torez Smith) [1686205] - [usb] usb: iowarrior: fix deadlock on disconnect (Torez Smith) [1686205] - [usb] Revert "USB: rio500: simplify locking" (Torez Smith) [1686205] - [usb] usb: usbfs: fix double-free of usb memory upon submiturb error (Torez Smith) [1686205] - [usb] usb: yurex: Fix use-after-free in yurex_delete (Torez Smith) [1686205] - [usb] USB: serial: option: add D-Link DWM-222 device ID (Torez Smith) [1686205] - [usb] USB: serial: option: Add support for ZTE MF871A (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Ignore unsupported/unknown alternate mode requests (Torez Smith) [1686205] - [usb] xhci: Fix NULL pointer dereference at endpoint zero reset (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Fix timeout in xhci_suspend() (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: Fix uninitilized symbol error (Torez Smith) [1686205] - [usb] usb: typec: tcpm: remove tcpm dir if no children (Torez Smith) [1686205] - [usb] usb: typec: tcpm: free log buf memory when remove debug file (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Add NULL check before dereferencing config (Torez Smith) [1686205] - [tools] tools headers UAPI: Sync usbdevice_fs.h with the kernels to get new ioctl (Torez Smith) [1686205] - [usb] xhci: Fix crash if scatter gather is used with Immediate Data Transfer (IDT) (Torez Smith) [1686205] - [usb] usb: usb251xb: Reallow swap-dx-lanes to apply to the upstream port (Torez Smith) [1686205] - [usb] Revert "usb: usb251xb: Add US port lanes inversion property" (Torez Smith) [1686205] - [documentation] Revert "usb: usb251xb: Add US lanes inversion dts-bindings" (Torez Smith) [1686205] - [usb] usb: wusbcore: fix unbalanced get/put cluster_id (Torez Smith) [1686205] - [usb] usb/hcd: Fix a NULL vs IS_ERR() bug in usb_hcd_setup_local_mem() (Torez Smith) [1686205] - [usb] usb-storage: Add a limitation for blk_queue_max_hw_sectors() (Torez Smith) [1686205] - [usb] usb: pci-quirks: Minor cleanup for AMD PLL quirk (Torez Smith) [1686205] - [usb] usb: pci-quirks: Correct AMD PLL quirk detection (Torez Smith) [1686205] - [usb] vfs: Convert gadgetfs to use the new mount API (Torez Smith) [1686205] - [usb] Revert "usb: gadget: storage: Remove warning message" (Torez Smith) [1686205] - [documentation] Revert "dt-bindings: add binding for USBSS-DRD controller." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Separated decoding functions from dwc3 driver." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Patch simplify usb_decode_set_clear_feature function." (Torez Smith) [1686205] - [usb] Revert "usb:gadget Simplify usb_decode_get_set_descriptor function." (Torez Smith) [1686205] - [usb] Revert "usb:cdns3 Add Cadence USB3 DRD Driver" (Torez Smith) [1686205] - [usb] Revert "usb:cdns3 Fix for stuck packets in on-chip OUT buffer." (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ehci: Fix example warnings (Torez Smith) [1686205] - [usb] usb :fsl: Change string format for errata property (Torez Smith) [1686205] - [usb] usb: host: Stops USB controller init if PLL fails to lock (Torez Smith) [1686205] - [usb] usb: phy: Workaround for USB erratum-A005728 (Torez Smith) [1686205] - [usb] usb: fsl: Set USB_EN bit to select ULPI phy (Torez Smith) [1686205] - [usb] usb: Handle USB3 remote wakeup for LPM enabled devices correctly (Torez Smith) [1686205] - [usb] drivers/usb/typec/tps6598x.c: fix 4CC cmd write (Torez Smith) [1686205] - [usb] drivers/usb/typec/tps6598x.c: fix portinfo width (Torez Smith) [1686205] - [usb] usb: storage: scsiglue: Do not skip VPD if try_vpd_pages is set (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add a workaround for a race condition of workqueue (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: remove redundant assignment to ret (Torez Smith) [1686205] - [usb] usb: dwc2: use a longer AHB idle timeout in dwc2_core_reset() (Torez Smith) [1686205] - [usb] USB: gadget: function: fix issue Unneeded variable: "value" (Torez Smith) [1686205] - [usb] usb: phy: phy-mxs-usb: add imx7ulp support (Torez Smith) [1686205] - [usb] usb:cdns3 Fix for stuck packets in on-chip OUT buffer (Torez Smith) [1686205] - [usb] usb:cdns3 Add Cadence USB3 DRD Driver (Torez Smith) [1686205] - [usb] usb:gadget Simplify usb_decode_get_set_descriptor function (Torez Smith) [1686205] - [usb] usb:gadget Patch simplify usb_decode_set_clear_feature function (Torez Smith) [1686205] - [usb] usb:gadget Separated decoding functions from dwc3 driver (Torez Smith) [1686205] - [documentation] dt-bindings: add binding for USBSS-DRD controller (Torez Smith) [1686205] - [usb] usb: dwc3: pci: add support for TigerLake Devices (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add ID for isodebug v1 (Torez Smith) [1686205] - [usb] usb: host: Fix excessive alignment restriction for local memory allocations (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use struct platform_callback pointer (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add a common function for the .get_id (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move device tree properties parsing (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add struct device * declaration in usbhs_probe() (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add has_new_pipe_configs flag (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use dev_of_node macro instead of open coded (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Remove type member from renesas_usbhs_driver_param (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use a specific flag instead of type for multi_clks (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Avoid to write platform_data's value (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move macros from mod.c to the mod.h (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove notify_hotplug callback (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: revise the irq_vbus comments (Torez Smith) [1686205] - [usb] USB: core: Fix compiler warnings in devio.c (Torez Smith) [1686205] - [usb] USB: core: Remove usbfs_mutex (Torez Smith) [1686205] - [usb] usb: clean up some of the computations in adu_read (Torez Smith) [1686205] - [usb] scsi: usb: image: microtek: use sg helper to iterate over scatterlist (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use struct assignment instead of memcpy() (Torez Smith) [1686205] - [usb] USB: core: correct a spelling mistake in the comment (Torez Smith) [1686205] - [usb] usb: dwc3: remove unused @lock member of dwc3_ep struct (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Add Support for Intel Elkhart Lake Devices (Torez Smith) [1686205] - [usb] usb: Replace snprintf with scnprintf in gether_get_ifname (Torez Smith) [1686205] - [uapi] USB: fix types in uapi include (Torez Smith) [1686205] - [usb] USB: serial: option: add support for GosunCn ME3630 RNDIS mode (Torez Smith) [1686205] - [usb] xhci: detect USB 3.2 capable host controllers correctly (Torez Smith) [1686205] - [usb] usb: xhci: Don't try to recover an endpoint if port is in error state (Torez Smith) [1686205] - [usb] usb: gadget: ether: Fix race between gether_disconnect and rx_submit (Torez Smith) [1686205] - [usb] usb: gadget: storage: Remove warning message (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Add support for disabling U1 and U2 entries (Torez Smith) [1686205] - [usb] usb: gadget: send usb_gadget as an argument in get_config_params (Torez Smith) [1686205] - [documentation] doc: dt: bindings: usb: dwc3: Update entries for disabling U1 and U2 (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Use of_clk_get_parent_count() (Torez Smith) [1686205] - [usb] usb: dwc3: Fix core validation in probe, move after clocks are enabled (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Improve error handling (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Start USB in 'host mode' on the SDM845 (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Add support for booting with ACPI (Torez Smith) [1686205] - [usb] Revert "usb: dwc2: host: Setting qtd to NULL after freeing it" (Torez Smith) [1686205] - [usb] usb: gadget: net2272: remove redundant assignments to pointer 's' (Torez Smith) [1686205] - [usb] usb: gadget: Zero ffs_io_data (Torez Smith) [1686205] - [usb] USB: omap_udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] fotg210-udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: gadget: at91_udc: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Enhance role switch support (Torez Smith) [1686205] - [usb] usb: gadget: u_audio: Fixed variable declaration coding style issue (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: data_len used before properly set (Torez Smith) [1686205] - [usb] USB: dwc2: Don't turn off the usbphy in suspend if wakeup is enabled (Torez Smith) [1686205] - [documentation] Documentation: dt-bindings: Add snps, need-phy-for-wake for dwc2 USB (Torez Smith) [1686205] - [usb] usb: dwc2: Force 8bit UTMI width for Samsung Exynos SoCs (Torez Smith) [1686205] - [usb] usb: dwc3: meson-g12a: Add support for IRQ based OTG switching (Torez Smith) [1686205] - [usb] usb: dwc2: Use generic PHY width in params setup (Torez Smith) [1686205] - [usb] usb: host: fotg2: add device tree probing (Torez Smith) [1686205] - [usb] usb: isp1362: Spelling s/eclusive/exclusive/ (Torez Smith) [1686205] - [usb] USB: add usbfs ioctl to retrieve the connection parameters (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Fix Wunused-const-variable (Torez Smith) [1686205] - [usb] usb: chipidea: udc: workaround for endpoint conflict issue (Torez Smith) [1686205] - dt-bindings: usb: renesas_gen3: Rename bindings documentation file (Torez Smith) [1686205] - dt-bindings: usb: renesas_usbhs: Rename bindings documentation file (Torez Smith) [1686205] - [documentation] docs: power: convert docs to ReST and rename to *.rst (Torez Smith) [1686205] - [usb] docs: kbuild: convert docs to ReST and rename to *.rst (Torez Smith) [1686205] - [usb] usb: chipidea: msm: Use devm_platform_ioremap_resource() (Torez Smith) [1686205] - [usb] usb: chipidea: imx: Use devm_platform_ioremap_resource() (Torez Smith) [1686205] - [usb] usb: chipidea: Use dev_err() instead of pr_err() (Torez Smith) [1686205] - [usb] usb: chipidea: imx: "fsl, usbphy" phandle is not mandatory now (Torez Smith) [1686205] - [usb] usb: chipidea: imx: add imx7ulp support (Torez Smith) [1686205] - [usb] usb: typec: Make sure an alt mode exist before getting its partner (Torez Smith) [1686205] - [usb] Revert "usb: mtu3: fix up undefined reference to usb_debug_root" (Torez Smith) [1686205] - [usb] USB: sisusbvga: Remove unneeded variable (Torez Smith) [1686205] - [usb] usb: typec: tcpm: fusb302: simplify getting the adapter of a client (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add runtime pm workaround (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: enable runtime pm support (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: fix return value check in lpc32xx_udc_probe() (Torez Smith) [1686205] - [usb] usb: gadget: dwc2: fix zlp handling (Torez Smith) [1686205] - [usb] usb: dwc2: Set actual frame number for completed ISOC transfer for none DDMA (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC (Torez Smith) [1686205] - [usb] usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep (Torez Smith) [1686205] - [usb] usb: phy: mxs: Disable external charger detect in mxs_phy_hw_init() (Torez Smith) [1686205] - [usb] usb: dwc2: Fix DMA cache alignment issues (Torez Smith) [1686205] - [usb] usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) (Torez Smith) [1686205] - [usb] USB: move usb debugfs directory creation to the usb common core (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: remove unneeded variable frame (Torez Smith) [1686205] - [usb] media: usb/gadget/f_uvc: set device_caps in struct video_device (Torez Smith) [1686205] - [usb] usbip: Replace unused kvec array with single variable in vhci_send_cmd_unlink() (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove controlling PWEN/EXTLP support (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: remove sudmac support (Torez Smith) [1686205] - [usb] usb: xhci: Add Clear_TT_Buffer (Torez Smith) [1686205] - [usb] usb: Add devaddr in struct usb_device (Torez Smith) [1686205] - [usb] USB: Fix chipmunk-like voice when using Logitech C270 for recording audio (Torez Smith) [1686205] - [usb] USB: usb-storage: Add new ID to ums-realtek (Torez Smith) [1686205] - [usb] USB: use genalloc for USB HCs with local memory (Torez Smith) [1686205] - [usb] usb: phy: mv-usb: Remove set but not used variable 'phy' (Torez Smith) [1686205] - [usb] usb: ftdi-elan: fix possible condition with no effect (if == else) (Torez Smith) [1686205] - [usb] USB: ohci-spear: Remove set but not used variable 'ohci' (Torez Smith) [1686205] - [usb] USB: atm: ueagle-atm.c: remove redundant license text (Torez Smith) [1686205] - [usb] USB: atm: ueagle-atm.c: fix SPDX tag to be BSD2 (Torez Smith) [1686205] - [usb] usb: ohci-s3c2410: Remove set but not used variable 'hcd' (Torez Smith) [1686205] - [usb] usb: cdc-wdm: remove redundant assignment to rv (Torez Smith) [1686205] - [usb] usb: host: ohci-st: Remove set but not used variable 'ohci' (Torez Smith) [1686205] - [usb] usb: host: ehci-st: Remove set but not used variable 'ehci' (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: fix memory leak in do_flash (Torez Smith) [1686205] - [include] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Torez Smith) [1686205] - [usb] usbip: usbip_host: fix stub_dev lock context imbalance regression (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Torez Smith) [1686205] - [usb] usb: avoid redundant allocation and free of memory (Torez Smith) [1686205] - [usb] signal/usb: Replace kill_pid_info_as_cred with kill_pid_usb_asyncio (Torez Smith) [1686205] - [usb] xhci: Use zu for printing size_t type (Torez Smith) [1686205] - [usb] xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic() (Torez Smith) [1686205] - [usb] xhci: Fix immediate data transfer if buffer is already DMA mapped (Torez Smith) [1686205] - [usb] usb: xhci: avoid null pointer deref when bos field is NULL (Torez Smith) [1686205] - [usb] usb: xhci: Fix a potential null pointer dereference in xhci_debugfs_create_endpoint() (Torez Smith) [1686205] - [usb] xhci: update bounce buffer with correct sg num (Torez Smith) [1686205] - [tools] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit 0x1260 and 0x1261 compositions (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add Allied Telesis VT-Kit3 (Torez Smith) [1686205] - [usb] USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode (Torez Smith) [1686205] - [tools] treewide: Add SPDX license identifier - Makefile/Kconfig (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r7s9210 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add support for RZ/A2 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: support byte addressable CFIFO (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for CNEN bit (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: move flags to param (Torez Smith) [1686205] - [usb] usb: core: hub: Disable hub-initiated U1/U2 (Torez Smith) [1686205] - [usb] usb: core: hub: Enable/disable U1/U2 in configured state (Torez Smith) [1686205] - [usb] USB: rio500: simplify locking (Torez Smith) [1686205] - [usb] USB: rio500: fix memory leak in close after disconnect (Torez Smith) [1686205] - [usb] USB: rio500: refuse more than one device at a time (Torez Smith) [1686205] - [usb] usbip: usbip_host: fix BUG: sleeping function called from invalid context (Torez Smith) [1686205] - [usb] USB: sisusbvga: fix oops in error path of sisusb_probe (Torez Smith) [1686205] - [usb] USB: Add LPM quirk for Surface Dock GigE adapter (Torez Smith) [1686205] - [usb] usb: mtu3: fix up undefined reference to usb_debug_root (Torez Smith) [1686205] - [usb] USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor (Torez Smith) [1686205] - [usb] usb: remove redundant 'default n' from Kconfig-s (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use specific struct instead of USBHS_TYPE_* enums (Torez Smith) [1686205] - [usb] USB: OHCI: remove space before open square bracket '[' (Torez Smith) [1686205] - [usb] usb: exynos: add workaround for the USB device bindings conflict (Torez Smith) [1686205] - [usb] usbip: usbip_host: cleanup do_rebind() return path (Torez Smith) [1686205] - [usb] USB: serial: f81232: clear overrun flag (Torez Smith) [1686205] - [usb] USB: serial: f81232: fix interrupt worker not stop (Torez Smith) [1686205] - [usb] usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA (Torez Smith) [1686205] - [usb] usb: dwc3: Fix default lpm_nyet_threshold value (Torez Smith) [1686205] - [usb] usb: dwc3: debug: Print GET_STATUS(device) tracepoint (Torez Smith) [1686205] - [usb] usb: dwc3: Do core validation early on probe (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Set lpm_capable (Torez Smith) [1686205] - [usb] usb: gadget: atmel: tie wake lock to running clock (Torez Smith) [1686205] - [usb] usb: gadget: atmel: support USB suspend (Torez Smith) [1686205] - [usb] usb: gadget: atmel_usba_udc: simplify setting of interrupt-enabled mask (Torez Smith) [1686205] - [usb] dwc2: gadget: Fix completed transfer size calculation in DDMA (Torez Smith) [1686205] - [usb] usb: dwc2: Set lpm mode parameters depend on HW configuration (Torez Smith) [1686205] - [usb] usb: dwc2: Fix channel disable flow (Torez Smith) [1686205] - [usb] usb: dwc2: Set actual frame number for completed ISOC transfer (Torez Smith) [1686205] - [usb] usb: gadget: do not use __constant_cpu_to_le16 (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Increase descriptors count for ISOC's (Torez Smith) [1686205] - [usb] usb: dwc3: move synchronize_irq() out of the spinlock protected block (Torez Smith) [1686205] - [usb] usb: dwc3: Free resource immediately after use (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: Convert to bulk clk API (Torez Smith) [1686205] - [usb] usb: dwc2: Delayed status support (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: rework interrupt handling (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: add support for stotg04 phy (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: properly setup phy interrupts (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: simplify vbus handling (Torez Smith) [1686205] - [usb] usb: gadget: udc: lpc32xx: simplify probe (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Move gadget phy init into core phy init (Torez Smith) [1686205] - [usb] usb: dwc2: Move phy init into core (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Replace phyif with phy_utmi_width (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Remove duplicated phy init (Torez Smith) [1686205] - [usb] usb: dwc2: Move UTMI_PHY_DATA defines closer (Torez Smith) [1686205] - [usb] usb: dwc2: optionally assert phy reset when waking up (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: Document quirk to reset PHY upon wakeup (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: document the vbus-supply property (Torez Smith) [1686205] - [usb] USB: UDC: net22{80, 72}: remove mistaken test of req->zero (Torez Smith) [1686205] - [usb] USB: UDC: net2280: Remove redundant "if" condition (Torez Smith) [1686205] - [usb] usb: gadget: fsl: fix link error against usb-gadget module (Torez Smith) [1686205] - [usb] usb: gadget: f_ncm: Add OS descriptor support (Torez Smith) [1686205] - [usb] usb: gadget: f_ncm: Fix NTP-32 support (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Reject LPM token during Control transfers (Torez Smith) [1686205] - [usb] USB: Export usb_wakeup_enabled_descendants() (Torez Smith) [1686205] - [usb] usb: dwc2: bus suspend/resume for hosts with DWC2_POWER_DOWN_PARAM_NONE (Torez Smith) [1686205] - [usb] usb: dwc3: Add Amlogic G12A DWC3 glue (Torez Smith) [1686205] - [usb] usb: dwc2: Add Amlogic G12A DWC2 Params (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc3: Add Amlogic G12A DWC3 Glue Bindings (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: Add Amlogic G12A DWC2 Compatible (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: don't free buffer prematurely (Torez Smith) [1686205] - [usb] USB: serial: io_edgeport: fix up switch fall-through comments (Torez Smith) [1686205] - [usb] usb: usb251xb: Add US port lanes inversion property (Torez Smith) [1686205] - [usb] usb: usb251xb: Create a ports field collector method (Torez Smith) [1686205] - [documentation] usb: usb251xb: Add US lanes inversion dts-bindings (Torez Smith) [1686205] - [usb] usb: isp1760-hcd: Fix fall-through annotations (Torez Smith) [1686205] - [usb] usb: musb: dsps: Use dev_get_drvdata() (Torez Smith) [1686205] - [usb] usb: musb: jz4740: obtain USB PHY from devicetree (Torez Smith) [1686205] - [usb] usb: musb: jz4740: Let the platform probe the PHY (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Add usb-phy property to the jz4740-musb node (Torez Smith) [1686205] - [soc] soc: sunxi: Fix missing dependency on REGMAP_MMIO (Torez Smith) [1686205] - [usb] usb: musb: omap2430: Add support for idling phy when musb is idle (Torez Smith) [1686205] - [usb] usb: musb: Silence error about blacklisting hubs if !CONFIG_USB (Torez Smith) [1686205] - [usb] usbip: vhci_hcd: Mark expected switch fall-through (Torez Smith) [1686205] - [usb] UAS: fix alignment of scatter/gather segments (Torez Smith) [1686205] - [include] USB: serial: drop unused iflag macro (Torez Smith) [1686205] - [usb] USB: serial: drop unnecessary goto (Torez Smith) [1686205] - [usb] USB: serial: clean up throttle handling (Torez Smith) [1686205] - [usb] USB: serial: fix unthrottle races (Torez Smith) [1686205] - [usb] USB: cdc-acm: clean up throttle handling (Torez Smith) [1686205] - [usb] USB: cdc-acm: fix unthrottle races (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: fix missing unlock on error in ccg_cmd_write_flash_row() (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r8a77470 (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a774c0 support (Torez Smith) [1686205] - [usb] usb: xhci: add endpoint context tracing when an endpoint is added (Torez Smith) [1686205] - [usb] xhci: Add tracing for input control context (Torez Smith) [1686205] - [usb] xhci: add port and bus number to port dynamic debugging (Torez Smith) [1686205] - [usb] usb: xhci: add Immediate Data Transfer support (Torez Smith) [1686205] - [usb] usb: usb251xb: Add an empty hub' i2c-bus segment checker (Torez Smith) [1686205] - [usb] USB: serial: spcp8x5: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: oti6858: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: simplify init_termios (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop bogus initial cflag (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: clean up initial-termios handling (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: drop unused termios (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: drop unused driver data flag (Torez Smith) [1686205] - [usb] USB: serial: fix initial-termios handling (Torez Smith) [1686205] - [usb] USB: yurex: Fix protection fault after device removal (Torez Smith) [1686205] - [usb] usb: usbip: fix isoc packet num validation in get_pipe (Torez Smith) [1686205] - [usb] usb/hcd: Send a uevent signaling that the host controller had died (Torez Smith) [1686205] - [usb] usb: typec: Add driver for NVIDIA Alt Modes (Torez Smith) [1686205] - [usb] usb: typec: displayport: Export probe and remove functions (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Support for DisplayPort alt mode (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Preliminary support for alternate modes (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add firmware flashing support (Torez Smith) [1686205] - [usb] usb: typec: ucsi: ccg: add get_fw_info function (Torez Smith) [1686205] - [usb] usb: usb251xb: Lock i2c-bus segment the hub resides (Torez Smith) [1686205] - [usb] usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON (Torez Smith) [1686205] - [usb] usbip: stub_rx: tidy the indenting in is_clear_halt_cmd() (Torez Smith) [1686205] - [usb] USB: serial: digi_acceleport: clean up set_termios (Torez Smith) [1686205] - [usb] USB: serial: digi_acceleport: clean up modem-control handling (Torez Smith) [1686205] - [usb] USB: core: Fix bug caused by duplicate interface PM usage counter (Torez Smith) [1686205] - [usb] usb: mtu3: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: chipidea: msm: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: dwc2: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: misc: usb3503: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: xhci-mtk: get optional clock by devm_clk_get_optional() (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Revert "Resolve fixed power role contract setup" (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Implement start_toggling for all port-types (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Notify the tcpc to start connection-detection for SRPs (Torez Smith) [1686205] - [usb] usb: host: use usb_endpoint_maxp instead of usb_maxpacket (Torez Smith) [1686205] - [usb] USB: dummy-hcd: Fix failure to give back unlinked URBs (Torez Smith) [1686205] - [usb] USB: core: Don't unbind interfaces following device reset failure (Torez Smith) [1686205] - [usb] usb-storage: Set virt_boundary_mask to avoid SG overflows (Torez Smith) [1686205] - [usb] USB: core: Fix unterminated string returned by usb_string() (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert the generic EHCI binding to YAML (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert the generic OHCI binding to YAML (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Convert USB HCD generic binding to YAML (Torez Smith) [1686205] - [usb] USB: hub: Remove returned value 'status' since never used (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Add Tegra186 XUSB support (Torez Smith) [1686205] - [usb] usb: host: xhci-tegra: Selectively program IPFS (Torez Smith) [1686205] - [documentation] dt-bindings: usb: xhci-tegra: Add Tegra186 support (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: drop the vbus GPIO (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: disable the regulator if the overcurrent irq fired (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: let the regulator framework keep track of use count (Torez Smith) [1686205] - [usb] USB: serial: pl2303: fix tranceiver suspend mode (Torez Smith) [1686205] - [usb] USB: serial: pl2303: fix non-supported xon/xoff (Torez Smith) [1686205] - [usb] USB: serial: option: add Olicard 600 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add new device id (Torez Smith) [1686205] - [usb] usb: u132-hcd: fix resource leak (Torez Smith) [1686205] - [usb] usb: cdc-acm: fix race during wakeup blocking TX traffic (Torez Smith) [1686205] - [usb] usb: mtu3: fix EXTCON dependency (Torez Smith) [1686205] - [usb] usb: usb251xb: fix to avoid potential NULL pointer dereference (Torez Smith) [1686205] - [usb] usb: core: Try generic PHY_MODE_USB_HOST if usb_phy_roothub_set_mode fails (Torez Smith) [1686205] - [usb] usb: introduce usb_ep_type_string() function (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Make fusb302_irq_work static (Torez Smith) [1686205] - [usb] usb: u132-hcd: fix potential NULL pointer dereference (Torez Smith) [1686205] - [usb] usb: typec: wcove: Provide fwnode for the port (Torez Smith) [1686205] - [usb] usb: core: Add PM runtime calls to usb_hcd_platform_shutdown (Torez Smith) [1686205] - [usb] usb: sierra: fix a missing check of device_create_file (Torez Smith) [1686205] - [usb] usb: mtu3: add a function to switch mailbox state to string (Torez Smith) [1686205] - [usb] usb: mtu3: add tracepoints to help debug (Torez Smith) [1686205] - [usb] usb: mtu3: move vbus and mode debugfs interfaces into mtu3_debugfs.c (Torez Smith) [1686205] - [usb] usb: mtu3: add debugfs interface files (Torez Smith) [1686205] - [usb] usb: mtu3: supports new QMU format (Torez Smith) [1686205] - [usb] usb: mtu3: rebuild qmu_gpd struct to prepare to support new QMU format (Torez Smith) [1686205] - [usb] usb: mtu3: fix transfer error of USB3 Gen2 isoc (Torez Smith) [1686205] - [usb] usb: mtu3: rebuild the code of getting vbus regulator (Torez Smith) [1686205] - [usb] usb: mtu3: remove unnecessary local variable @req (Torez Smith) [1686205] - [usb] usb: mtu3: print useful information also for device and host modes (Torez Smith) [1686205] - [usb] usb: mtu3: check return value of devm_extcon_register_notifier() (Torez Smith) [1686205] - [usb] xhci: Don't let USB3 ports stuck in polling state prevent suspend (Torez Smith) [1686205] - [usb] usb: xhci: dbc: Don't free all memory with spinlock held (Torez Smith) [1686205] - [usb] xhci: Fix port resume done detection for SS ports with LPM enabled (Torez Smith) [1686205] - [usb] USB: serial: mos7720: fix mos_parport refcount imbalance on error path (Torez Smith) [1686205] - [usb] USB: gadget: f_hid: fix deadlock in f_hidg_write() (Torez Smith) [1686205] - [usb] usb: gadget: net2272: Fix net2272_dequeue() (Torez Smith) [1686205] - [usb] usb: gadget: net2280: Fix net2280_dequeue() (Torez Smith) [1686205] - [usb] usb: gadget: net2280: Fix overrun of OUT messages (Torez Smith) [1686205] - [usb] usb: dwc3: pci: add support for Comet Lake PCH ID (Torez Smith) [1686205] - [usb] usb: usb251xb: Remove unnecessary comparison of unsigned integer with >= 0 (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Add __printf attribute to fusb302_log function (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Improve suspend/resume handling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: 2 small misc. fixes (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Fix fusb302_handle_togdone_src Ra handling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Check vconn is off when we start toggling (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Fold fusb302_set_cc_pull into tcpm_set_cc (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Refactor / simplify tcpm_set_cc() (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Make fusb302_set_cc_polarity also set pull ups / downs (Torez Smith) [1686205] - [usb] usb: typec: pi3usb30532: Keep orientation when setting mux to safe mode (Torez Smith) [1686205] - [usb] usb: typec: altmodes/displayport: Fall back to multi-func pins (Torez Smith) [1686205] - [usb] usbip: Remove unnecessary null check (Torez Smith) [1686205] - [include] USB: usb.h: tweak struct urb to remove wasted space (Torez Smith) [1686205] - [usb] usb: common: Consider only available nodes for dr_mode (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk (Torez Smith) [1686205] - [usb] usb: typec: Fix unchecked return value (Torez Smith) [1686205] - [usb] USB: serial: option: set driver_info for SIM5218 and compatibles (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add additional NovaTech products (Torez Smith) [1686205] - [usb] USB: serial: option: add support for Quectel EM12 (Torez Smith) [1686205] - [usb] wusb: Remove unnecessary static function ckhdid_printf (Torez Smith) [1686205] - [usb] usb: core: make default autosuspend delay configurable (Torez Smith) [1686205] - [usb] usb: core: Fix typo in description of "authorized_default" (Torez Smith) [1686205] - [usb] usb: chipidea: Refactor USB PHY selection and keep a single PHY (Torez Smith) [1686205] - [usb] usb: chipidea: Grab the (legacy) USB PHY by phandle first (Torez Smith) [1686205] - [usb] usb: chipidea: imx: set power polarity (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ci-hdrc-usb2: add property power-active-high (Torez Smith) [1686205] - [usb] usb: chipidea: imx: remove unused header files (Torez Smith) [1686205] - [usb] usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() (Torez Smith) [1686205] - [usb] usb: core: add option of only authorizing internal devices (Torez Smith) [1686205] - [usb] usb: typec: tps6598x: handle block writes separately with plain-I2C adapters (Torez Smith) [1686205] - [usb] usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on INTEL_SUNRISEPOINT_LP_XHCI (Torez Smith) [1686205] - [usb] usb: xhci: fix build warning - missing prototype (Torez Smith) [1686205] - [usb] usb: xhci: dbc: Fixing typo error (Torez Smith) [1686205] - [usb] usb: xhci: remove unused member 'parent' in xhci_regset struct (Torez Smith) [1686205] - [usb] xhci: tegra: Prevent error pointer dereference (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit ME910 ECM composition (Torez Smith) [1686205] - [usb] usb: core: Replace hardcoded check with inline function from usb.h (Torez Smith) [1686205] - [usb] usb: core: skip interfaces disabled in devicetree (Torez Smith) [1686205] - [usb] usb: typec: mux: remove redundant check on variable match (Torez Smith) [1686205] - [usb] USB: serial: cp210x: fix GPIO in autosuspend (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Defer probe if extcon device is not found (Torez Smith) [1686205] - [usb] cdc-wdm: pass return value of recover_from_urb_loss (Torez Smith) [1686205] - [usb] usb: host: oxu210hp-hcd: remove set but not used variables 'uframes, transfer_buffer_length' (Torez Smith) [1686205] - [usb] USB: renesas_usbhs: fix spelling mistake "doens't" -> "doesn't" (Torez Smith) [1686205] - [usb] usb: wusbcore: wa-xfer: use struct_size() helper (Torez Smith) [1686205] - [usb] usb: core: config: Use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: dwc2: use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: typec: mux: Fix unsigned comparison with less than zero (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 (Torez Smith) [1686205] - [usb] usb: typec: mux: Find the muxes by also matching against the device node (Torez Smith) [1686205] - [usb] usb: typec: Find the ports by also matching against the device node (Torez Smith) [1686205] - [usb] usb: roles: Find the muxes by also matching against the device node (Torez Smith) [1686205] - [usb] usb: typec: Rationalize the API for the muxes (Torez Smith) [1686205] - [usb] usb: typec: tps6598x: Check mode of operation (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Remove unused functions (Torez Smith) [1686205] - [usb] USB: musb: mark expected switch fall-through (Torez Smith) [1686205] - [usb] usb: phy: twl6030-usb: fix possible use-after-free on remove (Torez Smith) [1686205] - [usb] usb: misc: usbtest: add super-speed isoc support (Torez Smith) [1686205] - [usb] usb: dwc3: Reset num_trbs after skipping (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: don't enable interrupt when disabling endpoint (Torez Smith) [1686205] - [usb] scsi: uas: Use scsi_et_resid() where appropriate (Torez Smith) [1686205] - [usb] usb: host: oxu210hp-hcd: fix indentation issue (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add vbus and overcurrent gpios (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add a helper pointer to &pdev->dev (Torez Smith) [1686205] - [usb] usb: ohci-da8xx: add a new line after local variables (Torez Smith) [1686205] - [usb] usb: musb: Kconfig: Drop dependency on CONFIG_USB for jz4740 (Torez Smith) [1686205] - [usb] usb: musb: Kconfig: Drop dependency on MACH_JZ4740 for jz4740 (Torez Smith) [1686205] - [usb] usb: musb: jz4740: Add support for devicetree (Torez Smith) [1686205] - [documentation] Documentation: dt: Add binding info for jz4740-musb driver (Torez Smith) [1686205] - [usb] USB: musb: fix indentation issue on a return statement (Torez Smith) [1686205] - [usb] fotg210-udc: pass struct device to DMA API functions (Torez Smith) [1686205] - [usb] fotg210-udc: remove a bogus dma_sync_single_for_device call (Torez Smith) [1686205] - [usb] usb: gadget: Change Andrzej Pietrasiewicz's e-mail address (Torez Smith) [1686205] - [usb] usb: f_fs: Avoid crash due to out-of-scope stack ptr access (Torez Smith) [1686205] - [usb] usb: typec: ucsi: Remove debug.h file (Torez Smith) [1686205] - [usb] usb: typec: Prepare alt mode enter/exit reporting for UCSI alt mode support (Torez Smith) [1686205] - [usb] usb: typec: displayport: Move the Configuration VDO helpers to the header (Torez Smith) [1686205] - [usb] USB: Fix configuration selection issues introduced in v4.20.0 (Torez Smith) [1686205] - [usb] usb: handle warm-reset port requests on hub resume (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add ID for Ingenico 3070 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add minimum baud rate for CP2105 SCI (Torez Smith) [1686205] - [usb] usb: dwc3: haps: Workaround matching VID PID (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: preserve wMaxPacketSize across usb_ep_autoconfig() call (Torez Smith) [1686205] - [usb] usb: gadget: move non-super speed code out of usb_ep_autoconfig_ss() (Torez Smith) [1686205] - [usb] usb: gadget: function: sync f_uac1 ac header baInterfaceNr (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add scatter-gather mode (Torez Smith) [1686205] - [usb] usb: gadget: fix various indentation issues (Torez Smith) [1686205] - [usb] usb: dwc2: Fix EP TxFIFO number setting (Torez Smith) [1686205] - [usb] udc: net2280: Fix net2280_disable (Torez Smith) [1686205] - [usb] USB: gadget: Improve kerneldoc for usb_ep_dequeue() (Torez Smith) [1686205] - [usb] usb: dwc3: debug: purge usage of strcat (Torez Smith) [1686205] - [usb] USB: serial: cp210x: add GPIO support for CP2104 (Torez Smith) [1686205] - [usb] usb: dwc3: trace: pass trace buffer size to decoding functions (Torez Smith) [1686205] - [usb] usb: core: Move variable initialization to appropriate place (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: early giveback if End Transfer already completed (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: don't use resource_index as a flag (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: clear DWC3_EP_TRANSFER_STARTED on cmd complete (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Correct the PPS out_volt calculation (Torez Smith) [1686205] - [usb] usb: gadget: musb: fix short isoc packets with inventra dma (Torez Smith) [1686205] - [usb] usbip: Fix vep_free_request() null pointer checks on input args (Torez Smith) [1686205] - [usb] usb: ehci-orion: add S2RAM support (Torez Smith) [1686205] - [usb] usb: ehci-orion: avoid double PHY initialization (Torez Smith) [1686205] - [usb] usb: host: xhci: mvebu: add reset on resume quirk (Torez Smith) [1686205] - [usb] usb: core: comply to PHY framework (Torez Smith) [1686205] - [usb] usb: phy: am335x: fix race condition in _probe (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Fix error handling of clk_prepare_enable (Torez Smith) [1686205] - [usb] usb: phy: fix link errors (Torez Smith) [1686205] - [usb] usb: gadget: udc: net2272: Fix bitwise and boolean operations (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Handle 0 xfer length for OUT EP (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove req->started flag (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: prevent dwc3_request from being queued twice (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: add dwc3_request status tracking (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add support for r8a774c0 (Torez Smith) [1686205] - [usb] usb: gadget: uvc: add uvcg_warn macro (Torez Smith) [1686205] - [usb] usb: gadget: u_serial: process RX in workqueue instead of tasklet (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add r8a774c0 support (Torez Smith) [1686205] - [documentation] usb: gadget: udc: renesas_usb3: Add bindings for r8a774c0 (Torez Smith) [1686205] - [usb] usb: gadget: aspeed: fix typo (Torez Smith) [1686205] - [usb] usb: dwc3: keystone: Add support for ti, am654-dwc3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: keystone-usb: Add ti, am654-dwc3 support (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded (Torez Smith) [1686205] - [usb] usb: dwc3: qcom: Add support for MSM8998 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: Add support for msm8998 (Torez Smith) [1686205] - [usb] usb: gadget: Remove dead branch code (Torez Smith) [1686205] - [usb] USB: serial: cp210x: support all gpios on CP2102N QFN28 package (Torez Smith) [1686205] - [usb] usb: ftdi-elan: Fix if == else warnings in ftdi_elan_respond_engine (Torez Smith) [1686205] - [usb] usb: typec: tpcm: improve error handling of tcpm_register_port (Torez Smith) [1686205] - [usb] usb: misc: usb3503: Add system sleep support in non-I2C mode (Torez Smith) [1686205] - [usb] usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path (Torez Smith) [1686205] - [usb] usb: sisusb: remove useless macros and compact the code (Torez Smith) [1686205] - [usb] usb: sisusb: let files build only when needed (Torez Smith) [1686205] - [usb] usb: sisusb_con, cleanup configs (Torez Smith) [1686205] - [usb] usb: sisusb_con, convert addr macros to functions (Torez Smith) [1686205] - [usb] usb: ftdi-elan: remove a unnecessary variable 'empty_packets' (Torez Smith) [1686205] - [usb] usb: assign ACPI companions for embedded USB devices (Torez Smith) [1686205] - [usb] usb: split code locating ACPI companion into port and device (Torez Smith) [1686205] - [usb] USB: host: whci: rename Kbuild file (Torez Smith) [1686205] - [usb] USB: remove README file (Torez Smith) [1686205] - [usb] USB: add missing SPDX lines to Kconfig and Makefiles (Torez Smith) [1686205] - [usb] USB: storage: karma: add whitespace after declarations (Torez Smith) [1686205] - [usb] USB: serial: keyspan_usa: add proper SPDX lines for .h files (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: add MODULE_DEVICE_TABLE (Torez Smith) [1686205] - [usb] USB: Consolidate LPM checks to avoid enabling LPM twice (Torez Smith) [1686205] - [usb] USB: Add new USB LPM helpers (Torez Smith) [1686205] - [usb] drivers: usb :fsl: Remove USB Errata checking code (Torez Smith) [1686205] - [usb] usb: kconfig: remove dependency FSL_SOC for ehci fsl driver (Torez Smith) [1686205] - [usb] usb: ehci: fsl: Update register accessing for arm/arm64 platforms (Torez Smith) [1686205] - [usb] usb: usb251xb: add usb data lane port swap feature (Torez Smith) [1686205] - [documentation] dt-bindings: usb: usb251xb: add documentation for data lane swapping (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: replace udelay() with usleep_range() (Torez Smith) [1686205] - [usb] USB: host: ohci-at91: add sam9x60-sfr definition for ohci (Torez Smith) [1686205] - [usb] xhci: Use struct_size() in kzalloc() (Torez Smith) [1686205] - [usb] usb: hub: add retry routine after intr URB submit error (Torez Smith) [1686205] - [usb] USB: leds: fix regression in usbport led trigger (Torez Smith) [1686205] - [usb] usb: chipidea: fix static checker warning for NULL pointer (Torez Smith) [1686205] - [usb] USB: usbip: delete README file (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add new PID to support PL2303TB (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Fix Remote Wakeup interrupt bit clearing (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: fix GPIO not working in autosuspend (Torez Smith) [1686205] - [usb] usb: gadget: Potential NULL dereference on allocation error (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Fix the uninitialized link_state when udc starts (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: synchronize_irq dwc irq in suspend (Torez Smith) [1686205] - [usb] USB: core: urb: Use struct_size() in kmalloc() (Torez Smith) [1686205] - [usb] cross-tree: phase out dma_zalloc_coherent() (Torez Smith) [1686205] - [usb] usb: gadget: udc: reduce indentation (Torez Smith) [1686205] - [usb] usb: devio: update max count of DPs per interval for ISOC (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: fix a couple of indentation issues (Torez Smith) [1686205] - [usb] usb: core: Simplify return value of usb_get_configuration() (Torez Smith) [1686205] - [usb] USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB (Torez Smith) [1686205] - [usb] usbcore: Select only first configuration for non-UAC3 compliant devices (Torez Smith) [1686205] - [usb] USB: storage: add quirk for SMI SM3350 (Torez Smith) [1686205] - [usb] USB: storage: don't insert sane sense for SPC3+ when bad sense specified (Torez Smith) [1686205] - [usb] usb: cdc-acm: send ZLP for Telit 3G Intel based modems (Torez Smith) [1686205] - [usb] USB: serial: simple: add Motorola Tetra TPG2200 device id (Torez Smith) [1686205] - [usb] USB: serial: option: add Fibocom NL678 series (Torez Smith) [1686205] - [usb] cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader (Torez Smith) [1686205] - [usb] usb: r8a66597: Fix a possible concurrency use-after-free bug in r8a66597_endpoint_disable() (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Extend the matching rules on PPS APDO selection (Torez Smith) [1686205] - [documentation] usb: typec: Improve Alt Mode documentation (Torez Smith) [1686205] - [usb] usb: musb: dsps: fix runtime pm for peripheral mode (Torez Smith) [1686205] - [usb] usb: musb: dsps: fix otg state machine (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays (Torez Smith) [1686205] - [usb] PCI: Move Synopsys HAPS platform device IDs (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for RZ/G2E (Torez Smith) [1686205] - [usb] usb: ehci-omap: Fix deferred probe for phy handling (Torez Smith) [1686205] - [usb] usb: roles: Add a description for the class to Kconfig (Torez Smith) [1686205] - [usb] xhci: Don't prevent USB2 bus suspend in state check intended for USB3 only (Torez Smith) [1686205] - [usb] USB: serial: option: add Telit LN940 series (Torez Smith) [1686205] - [usb] USB: serial: option: add Fibocom NL668 series (Torez Smith) [1686205] - [usb] USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode) (Torez Smith) [1686205] - [usb] USB: serial: option: add GosunCn ZTE WeLink ME3630 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: mark PM functions as __maybe_unused (Torez Smith) [1686205] - [usb] usb: core: Remove unnecessary memset() (Torez Smith) [1686205] - [usb] usb: host: isp1362-hcd: convert to DEFINE_SHOW_ATTRIBUTE (Torez Smith) [1686205] - [usb] usb: dwc2: Fix disable all EP's on disconnect (Torez Smith) [1686205] - [usb] usb: chipidea: imx: allow to configure oc polarity on i.MX25 (Torez Smith) [1686205] - [usb] usb: chipidea: imx: Warn if oc polarity isn't specified (Torez Smith) [1686205] - [usb] usb: chipidea: imx: support configuring for active low oc signal (Torez Smith) [1686205] - [documentation] doc: usb: ci-hdrc-usb2: Add pinctrl properties for HSIC pin groups (Torez Smith) [1686205] - [usb] usb: chipidea: host: override ehci->hub_control (Torez Smith) [1686205] - [usb] usb: chipidea: imx: add HSIC support (Torez Smith) [1686205] - [usb] usb: chipidea: add flag for imx hsic implementation (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Disable CSP for stream OUT ep (Torez Smith) [1686205] - [usb] USB: serial: mos7840: remove set but not used variables 'number, serial' (Torez Smith) [1686205] - [usb] USB: serial: option: add HP lt4132 (Torez Smith) [1686205] - [usb] usb: dwc2: disable power_down on Amlogic devices (Torez Smith) [1686205] - [usb] xhci: move usb2 get port status link resume handling to its own function (Torez Smith) [1686205] - [usb] xhci: refactor U0 link state handling in get_port_status (Torez Smith) [1686205] - [usb] xhci: cleanup code that sets portstatus and portchange bits (Torez Smith) [1686205] - [usb] xhci: move usb2 speficic bits to own function in get_port_status call (Torez Smith) [1686205] - [usb] xhci: move usb3 speficic bits to own function in get_port_status call (Torez Smith) [1686205] - [usb] xhci: remove unused hcd_index() (Torez Smith) [1686205] - [usb] xhci: move bus_state structure under the xhci_hub structure (Torez Smith) [1686205] - [usb] xhci: remove the unused sw_lpm_support (Torez Smith) [1686205] - [usb] Revert "usb: dwc3: pci: Use devm functions to get the phy GPIOs" (Torez Smith) [1686205] - [usb] USB: gadget: udc: s3c2410_udc: convert to DEFINE_SHOW_ATTRIBUTE (Torez Smith) [1686205] - [usb] usb: mtu3: fix dbginfo in qmu_tx_zlp_error_handler (Torez Smith) [1686205] - [usb] usb: dwc3: trace: add missing break statement to make compiler happy (Torez Smith) [1686205] - [usb] xhci: Prevent U1/U2 link pm states if exit latency is too long (Torez Smith) [1686205] - [usb] xhci: workaround CSS timeout on AMD SNPS 3.0 xHC (Torez Smith) [1686205] - [tty] USB: serial: console: fix reported terminal settings (Torez Smith) [1686205] - [usb] usb: appledisplay: Remove unnecessary spinlock (Torez Smith) [1686205] - [usb] usb: appledisplay: Set urb transfer_flags to URB_NO_TRANSFER_DMA_MAP (Torez Smith) [1686205] - [usb] usb: quirk: add no-LPM quirk on SanDisk Ultra Flair device (Torez Smith) [1686205] - [usb] USB: Fix invalid-free bug in port_over_current_notify() (Torez Smith) [1686205] - [usb] usb: appledisplay: Add 27" Apple Cinema Display (Torez Smith) [1686205] - [platform] staging: typec: fusb302: Rename fcs, extcon-name to linux, extcon-name (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Report isoc transfer frame number (Torez Smith) [1686205] - [include] usb: gadget: Introduce frame_number to usb_request (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Use SIMPLE_DEV_PM_OPS macro (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Remove dummy runtime PM callbacks (Torez Smith) [1686205] - [usb] usb: dwc2: host: use hrtimer for NAK retries (Torez Smith) [1686205] - [usb] usb: hub: delay hub autosuspend if USB3 port is still link training (Torez Smith) [1686205] - [usb] usb: mtu3: clear SOFTCONN when clear USB3_EN if work as HS mode (Torez Smith) [1686205] - [usb] usb: mtu3: enable SETUPENDISR interrupt (Torez Smith) [1686205] - [usb] usb: mtu3: fix the issue about SetFeature(U1/U2_Enable) (Torez Smith) [1686205] - [usb] usb: mtu3: enable hardware remote wakeup from L1 automatically (Torez Smith) [1686205] - [usb] usb: mtu3: remove QMU checksum (Torez Smith) [1686205] - [usb] usb/mtu3: power down device ip at setup (Torez Smith) [1686205] - [usb] usb: dwc2: Disable power down feature on Samsung SoCs (Torez Smith) [1686205] - [usb] usb: dwc3: Correct the logic for checking TRB full in __dwc3_prepare_one_trb() (Torez Smith) [1686205] - [usb] usb: dwc3: don't issue no-op trb for stream capable endpoints (Torez Smith) [1686205] - [usb] usb: dwc3: update stream id in depcmd (Torez Smith) [1686205] - [usb] USB: serial: mos7840: add a product ID for the new product (Torez Smith) [1686205] - [usb] USB: serial: mos7840: clean up register handling (Torez Smith) [1686205] - [usb] usb: gadget: u_ether: fix unsafe list iteration (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: check if dep->frame_number is still valid (Torez Smith) [1686205] - [usb] USB: omap_udc: fix rejection of out transfers when DMA is used (Torez Smith) [1686205] - [usb] USB: omap_udc: fix USB gadget functionality on Palm Tungsten E (Torez Smith) [1686205] - [usb] USB: omap_udc: fix omap_udc_start() on 15xx machines (Torez Smith) [1686205] - [usb] USB: omap_udc: fix crashes on probe error and module removal (Torez Smith) [1686205] - [usb] USB: omap_udc: use devm_request_irq() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove unnecessary dev_info() (Torez Smith) [1686205] - [usb] usb: dwc3: trace: log ep commands in hex (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: return errors from __dwc3_gadget_start_isoc() (Torez Smith) [1686205] - [usb] usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream series (Torez Smith) [1686205] - [usb] USB: usb-storage: Add new IDs to ums-realtek (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: remove wait_end_transfer (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: move requests to cancelled_list (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: introduce cancelled_list (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: extract dwc3_gadget_ep_skip_trbs() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: use num_trbs when skipping TRBs on ->dequeue() (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: track number of TRBs per request (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: combine unaligned and zero flags (Torez Smith) [1686205] - [usb] usb: dwc3: Add workaround for isoc start transfer failure (Torez Smith) [1686205] - [documentation] usb: dwc3: Add disabling of start_transfer failure quirk (Torez Smith) [1686205] - [usb] usb: dwc3: Track DWC_usb31 VERSIONTYPE (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: Allow scatter-gather buffers (Torez Smith) [1686205] - [usb] usb: gadget: f_fs: Add support for CCID descriptors (Torez Smith) [1686205] - [usb] usb: gadget: uvc: constify vb2_ops structure (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Accept LPM token when TxFIFO is not empty (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Fix WkupAlert interrupt handler (Torez Smith) [1686205] - [usb] usb: dwc3: Set default mode for DWC_usb3 v3.30a and higher (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add a safety connection way for forced_b_device (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Add support for DR detection through extcon (Torez Smith) [1686205] - [usb] usb: dwc3: drd: Switch to device property for 'extcon' handling (Torez Smith) [1686205] - [usb] usb: dwc3: don't log probe deferrals; but do log other error codes (Torez Smith) [1686205] - [usb] usb: gadget: aspeed-vhub: constify usb_gadget_ops structure (Torez Smith) [1686205] - [usb] usb: dwc3: Support option to disable USB2 LPM (Torez Smith) [1686205] - [documentation] usb: dwc3: Add a property to disable USB2 LPM (Torez Smith) [1686205] - [usb] usb: dwc3: Set GUSB2PHYCFG.ENBLSLPM (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Print/set link state for peripheral mode (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Properly print/set link state for HS (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Dump internal LSP and ep registers (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Print eps Tx/RxFIFO in bytes (Torez Smith) [1686205] - [usb] usb: dwc3: debugfs: Properly name Tx/RxFIFO (Torez Smith) [1686205] - [usb] Revert "usb: dwc3: gadget: skip Set/Clear Halt when invalid" (Torez Smith) [1686205] - [usb] drivers: usb: early: clean up indentation, remove extraneous tabs (Torez Smith) [1686205] - [usb] USB: ene_usb6250: add missing indentation (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: use rounding when calculating baud rate divisors (Torez Smith) [1686205] - [usb] USB: serial: f81534: fix reading old/new IC config (Torez Smith) [1686205] - [usb] usb: cdc-acm: add entry for Hiro (Conexant) modem (Torez Smith) [1686205] - [usb] usb: xhci: Prevent bus suspend if a port connect change or polling state is detected (Torez Smith) [1686205] - [usb] usb: core: Fix hub port connection events lost (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers (Torez Smith) [1686205] - [usb] Revert "usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers" (Torez Smith) [1686205] - [usb] usb: dwc2: pci: Fix an error code in probe (Torez Smith) [1686205] - [usb] usb: dwc3: Fix NULL pointer exception in dwc3_pci_remove() (Torez Smith) [1686205] - [usb] USB: serial: mos7840: remove set but not used variables 'st, data1, iflag' (Torez Smith) [1686205] - [usb] USB: serial: quatech2: remove set but not used variable 'port_priv' (Torez Smith) [1686205] - [include] USB: remove the unused struct hcd_timeout definition (Torez Smith) [1686205] - [usb] usb: typec: ucsi: add support for Cypress CCGx (Torez Smith) [1686205] - [usb] usb: xhci: fix timeout for transition from RExit to U0 (Torez Smith) [1686205] - [usb] usb: xhci: fix uninitialized completion when USB3 port got wrong status (Torez Smith) [1686205] - [usb] xhci: Add check for invalid byte size error when UAS devices are connected (Torez Smith) [1686205] - [usb] xhci: handle port status events for removed USB3 hcd (Torez Smith) [1686205] - [usb] xhci: Fix leaking USB3 shared_hcd at xhci removal (Torez Smith) [1686205] - [documentation] dt-bindings: usb: xhci-tegra: Add power-domain details (Torez Smith) [1686205] - [usb] USB: misc: appledisplay: add 20" Apple Cinema Display (Torez Smith) [1686205] - [usb] USB: quirks: Add no-lpm quirk for Raydium touchscreens (Torez Smith) [1686205] - [usb] usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB (Torez Smith) [1686205] - [usb] USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub (Torez Smith) [1686205] - [usb] USB: gadget: udc: fix spelling mistake "intrerrupt" -> "interrupt" (Torez Smith) [1686205] - [usb] usb: host: remove unnecessary condition check (Torez Smith) [1686205] - [usb] usb: typec: tcpm: charge current handling for sink during hard reset (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Do not disconnect link for self powered devices (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Properly check last unaligned/zero chain TRB (Torez Smith) [1686205] - [usb] usb: dwc3: core: Clean up ULPI device (Torez Smith) [1686205] - [usb] usb: phy: ab8500: silence some uninitialized variable warnings (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Add genpd support (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Power-off power-domains on removal (Torez Smith) [1686205] - [usb] usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten (Torez Smith) [1686205] - [tools] usbip: tools: fix atoi() on non-null terminated string (Torez Smith) [1686205] - [usb] USB: misc: appledisplay: fix backlight update_status return code (Torez Smith) [1686205] - [usb] USB: fix the usbfs flag sanitization for control transfers (Torez Smith) [1686205] - [documentation] usb: host: add DT bindings for faraday fotg2 (Torez Smith) [1686205] - [usb] usb: host: ohci-at91: fix request of irq for optional gpio (Torez Smith) [1686205] - [usb] usb: xhci: pci: Enable Intel USB role mux on Apollo Lake platforms (Torez Smith) [1686205] - [usb] usb: roles: intel_xhci: Fix Unbalanced pm_runtime_enable (Torez Smith) [1686205] - [usb] cdc-acm: correct counting of UART states in serial state notification (Torez Smith) [1686205] - [usb] cdc-acm: do not reset notification buffer index upon urb unlinking (Torez Smith) [1686205] - [usb] cdc-acm: fix race between reset and control messaging (Torez Smith) [1686205] - [usb] usb: usbip: Fix BUG: KASAN: slab-out-of-bounds in vhci_hub_control() (Torez Smith) [1686205] - [usb] usb/early: remove set but not used variable 'remain_length' (Torez Smith) [1686205] - [usb] usb: typec: Fix copy/paste on typec_set_vconn_role() kerneldoc (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Report back negotiated PPS voltage and current (Torez Smith) [1686205] - [usb] USB: core: remove set but not used variable 'udev' (Torez Smith) [1686205] - [usb] usb: core: fix memory leak on port_dev_path allocation (Torez Smith) [1686205] - [usb] USB: net2280: Remove ->disconnect() callback from net2280_pullup() (Torez Smith) [1686205] - [usb] usb: dwc2: disable power_down on rockchip devices (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: add support for r8a77990 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usb3: add bindings for r8a77990 (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: remove set but not used variable 'iflag' (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: fix interrupt-out transfer length (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: add support for FT232R CBUS gpios (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: fix gpio name collisions (Torez Smith) [1686205] - [netdrv] net: usbnet: make driver_info const (Torez Smith) [1686205] - [usb] usb: typec: remove set but not used variables 'snk_ma, min_mv' (Torez Smith) [1686205] - [usb] usb: export firmware port location in sysfs (Torez Smith) [1686205] - [usb] usb: hub: try old enumeration scheme first for high speed devices (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Document r8a7744 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add support for r8a7744 (Torez Smith) [1686205] - [usb] usb: typec: tcpm: Fix APDO PPS order checking to be based on voltage (Torez Smith) [1686205] - [tools] usbip: fix vhci_hcd controller counting (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Fix b-device mode for "workaround" (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add handler for WkupAlert interrupt (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: enable WKUP_ALERT interrupt (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Program GREFCLK register (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: Add parameters for GREFCLK register (Torez Smith) [1686205] - [usb] usb: dwc2: Add definitions for new registers (Torez Smith) [1686205] - [usb] usb: dwc2: Update target (u)frame calculation (Torez Smith) [1686205] - [usb] usb: dwc2: Add dwc2_gadget_dec_frame_num_by_one() function (Torez Smith) [1686205] - [usb] usb: dwc2: Add core parameter for service interval support (Torez Smith) [1686205] - [usb] usb: dwc2: Update registers definitions to support service interval (Torez Smith) [1686205] - [usb] usb: gadget: f_uac2: disable IN/OUT ep if unused (Torez Smith) [1686205] - [usb] USB: gadget core: Issue ->disconnect() callback from usb_gadget_disconnect() (Torez Smith) [1686205] - [usb] usb: dwc3: Fix spelling of 'optimizations' (Torez Smith) [1686205] - [usb] usb: gadget: atmel: remove pointless retrieval of DT name property (Torez Smith) [1686205] - [usb] usb: gadget: fsl_udc_core: fixup struct_udc_setup documentation (Torez Smith) [1686205] - [usb] usb: gadget: fsl_udc_core: check allocation return value and cleanup on failure (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Check ENBLSLPM before sending ep command (Torez Smith) [1686205] - [usb] usb: dwc2: fix unbalanced use of external vbus-supply (Torez Smith) [1686205] - [usb] usb: dwc2: fix call to vbus supply exit routine, call it unlocked (Torez Smith) [1686205] - [usb] usb: dwc2: fix a race with external vbus supply (Torez Smith) [1686205] - [usb] usb: dwc2: get optional vbus-supply regulator once (Torez Smith) [1686205] - [usb] usb: dwc3: add EXTCON dependency for qcom (Torez Smith) [1686205] - [usb] usb: gadget: udc: atmel: handle at91sam9rl PMC (Torez Smith) [1686205] - [usb] usb: gadget: udc: fotg210-udc: Fix a sleep-in-atomic-context bug in fotg210_get_status() (Torez Smith) [1686205] - [usb] usb: dwc2: Disable all EP's on disconnect (Torez Smith) [1686205] - [documentation] usb: dwc3: exynos: Add support for Exynos5433 variant with all clocks (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Rework clock handling and prepare for new variants (Torez Smith) [1686205] - [usb] usb: dwc3: exynos: Remove dead code (Torez Smith) [1686205] - [usb] usb: gadget: udc: Remove unnecessary parentheses (Torez Smith) [1686205] - [usb] usb: dwc2: remove set but unused variable (Torez Smith) [1686205] - [usb] usb: gadget: fix spelling mistakeis "queing" -> "queuing" (Torez Smith) [1686205] - [usb] usb: xhci-mtk: resume USB3 roothub first (Torez Smith) [1686205] - [usb] xhci: Add missing CAS workaround for Intel Sunrise Point xHCI (Torez Smith) [1686205] - [usb] usb: cdc_acm: Do not leak URB buffers (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_ioctl_abort_bulk_in_tag (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_ioctl_clear (Torez Smith) [1686205] - [usb] usb: usbtmc: uninitialized symbol 'actual' in usbtmc_read (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix memory leak in usbtmc_ioctl_request (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: add support for R-Car E3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: add bindings for r8a77990 (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: rcar3: Use OTG mode for R-Car D3 (Torez Smith) [1686205] - [usb] Revert "usb: renesas_usbhs: set the mode by using extcon state for non-otg channel" (Torez Smith) [1686205] - [usb] Revert "usb: renesas_usbhs: add extcon notifier to set mode for non-otg channel" (Torez Smith) [1686205] - [usb] usb: core: added uevent for over-current (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Resolve fixed power role contract setup (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Correct spelling mistake for toggling state (Torez Smith) [1686205] - [usb] xhci: Avoid USB autosuspend when resuming USB2 ports (Torez Smith) [1686205] - [usb] usb: xhci: tegra: Firmware header is little endian (Torez Smith) [1686205] - [usb] xhci: Use soft retry to recover faster from transaction errors (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: add platform TPL support (Torez Smith) [1686205] - [usb] usb: xhci-mtk: supports SSP without external USB3 gen2 hub (Torez Smith) [1686205] - [usb] usb: xhci-mtk: supports bandwidth scheduling with multi-TT (Torez Smith) [1686205] - [usb] usb: xhci-mtk: improve bandwidth scheduling (Torez Smith) [1686205] - [usb] usb: xhci-mtk: fix ISOC error when interval is zero (Torez Smith) [1686205] - [usb] usb: xhci-mtk: use maximum ESIT payload of endpiont context (Torez Smith) [1686205] - [usb] usb: host: Replace empty define with do while (Torez Smith) [1686205] - [usb] USB: serial: ftdi_sio: implement GPIO support for FT-X devices (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Use u to print unsigned int values (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Simplify attributes macros (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Fix operation on big endian platforms (Torez Smith) [1686205] - [uapi] usb: video: Fix endianness mismatches in descriptor structures (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Remove uvc_set_trace_param() function (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Replace plain printk() with dev_*() (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Only halt video streaming endpoint in bulk mode (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Factor out video USB request queueing (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Sort frame intervals upon writing (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Prevent format changes after linking header (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add bFrameIndex attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add bFormatIndex attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add interface number attributes (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Allocate groups dynamically (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Drop leaked references to config items (Torez Smith) [1686205] - [documentation] dt-bindings: usb: dwc2: add description for px30 (Torez Smith) [1686205] - [usb] USB: serial: simple: add Motorola Tetra MTP6550 id (Torez Smith) [1686205] - [usb] USB: serial: cypress_m8: fix spelling mistake "retreiving" -> "retrieving" (Torez Smith) [1686205] - [usb] USB: STORAGE: ISD200 Fixed coding style issue "space required in for loop" (Torez Smith) [1686205] - [usb] usb: typec: Group all TCPCI/TCPM code together (Torez Smith) [1686205] - [usb] usb: typec: fusb302: reorganizing the probe function a little (Torez Smith) [1686205] - [usb] usb: typec: class: Don't use port parent for getting mux handles (Torez Smith) [1686205] - [usb] usb: typec: mux: Take care of driver module reference counting (Torez Smith) [1686205] - [usb] usb: core: safely deal with the dynamic quirk lists (Torez Smith) [1686205] - [usb] usb: roles: Take care of driver module reference counting (Torez Smith) [1686205] - [usb] usb: phy: mxs: fix spelling mistake "stardard" -> "standard" (Torez Smith) [1686205] - [usb] usb: host: fotg2: Fix potential NULL dereference (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add multiple clocks management (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: add clock-names property (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Add reset_control (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ohci: Add clocks description for R-Car Gen3 (Torez Smith) [1686205] - [documentation] dt-bindings: usb: ehci: Add clocks description for R-Car Gen3 (Torez Smith) [1686205] - [usb] usbcore: Select UAC3 configuration for audio if present (Torez Smith) [1686205] - [documentation] usb: gadget: udc: renesas_usb3: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb: renesas_usbhs: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a774a1 support (Torez Smith) [1686205] - [documentation] dt-bindings: ehci-mv: add bindings (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: add DT support (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: use phy-pxa-usb (Torez Smith) [1686205] - [usb] USB: EHCI: ehci-mv: remove private_init (Torez Smith) [1686205] - [usb] USB: EHCI: make ehci-mv a separate driver (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove sysfs group TermChar and auto_abort (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix split quoted string in debug message (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove redundant macro USBTMC_SIZE_IOBUFFER (Torez Smith) [1686205] - [usb] usb: usbtmc: Remove redundant code (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_API_VERSION (Torez Smith) [1686205] - [usb] usb: usbtmc: Replace USBTMC_TIMEOUT macros for control messages (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_OUT (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_IN (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix ioctl USBTMC_IOCTL_CLEAR (Torez Smith) [1686205] - [usb] usb: usbtmc: Optimize usbtmc_read (Torez Smith) [1686205] - [usb] usb: usbtmc: Optimize usbtmc_write (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_AUTO_ABORT (Torez Smith) [1686205] - [usb] usb: usbtmc: add ioctl USBTMC_IOCTL_MSG_IN_ATTR (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC488_IOCTL_WAIT_SRQ (Torez Smith) [1686205] - [usb] usb: usbtmc: Fix suspend/resume (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_CLEANUP_IO (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_CANCEL_IO (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for vendor specific read (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl USBTMC_IOCTL_WRITE_RESULT (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for vendor specific write (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for generic requests on control (Torez Smith) [1686205] - [usb] usb: typec: fusb302: Populate tcpc fwnode for TCPM property handling (Torez Smith) [1686205] - [documentation] dt-bindings: usb: fusb302: Use usb-connector bindings for configuration (Torez Smith) [1686205] - [documentation] dt-bindings: connector: Add support for USB-PD PPS APDOs to bindings (Torez Smith) [1686205] - [usb] USB: handle NULL config in usb_find_alt_setting() (Torez Smith) [1686205] - [usb] USB: fix error handling in usb_driver_claim_interface() (Torez Smith) [1686205] - [usb] USB: remove LPM management from usb_driver_claim_interface() (Torez Smith) [1686205] - [usb] USB: usbdevfs: restore warning for nonsensical flags (Torez Smith) [1686205] - [usb] USB: usbdevfs: sanitize flags more (Torez Smith) [1686205] - [usb] Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()" (Torez Smith) [1686205] - [usb] usb: musb: dsps: do not disable CPPI41 irq in driver teardown (Torez Smith) [1686205] - [usb] usb: chipidea: Fix otg event handler (Torez Smith) [1686205] - [usb] usb: chipidea: Prevent unbalanced IRQ disable (Torez Smith) [1686205] - [documentation] doc: usb: ci-hdrc-usb2: Add pinctrl properties definition (Torez Smith) [1686205] - [usb] usb: chipidea: Add dynamic pinctrl selection (Torez Smith) [1686205] - [usb] usb: chipidea: imx: make MODULE_LICENCE and SPDX-identifier match (Torez Smith) [1686205] - [usb] usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started (Torez Smith) [1686205] - [usb] usb: chipidea: imx: do not use preprocessor conditionals for PM (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Add section header comments (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Don't wrap groups unnecessarily (Torez Smith) [1686205] - [usb] mos7720: bury dead TIOCM... in ->ioctl() (Torez Smith) [1686205] - [usb] USB: serial: option: add two-endpoints device-id flag (Torez Smith) [1686205] - [usb] USB: serial: option: improve Quectel EP06 detection (Torez Smith) [1686205] - [usb] Revert "cdc-acm: implement put_char() and flush_chars()" (Torez Smith) [1686205] - [usb] usb: Change usb_of_get_companion_dev() place to usb/common (Torez Smith) [1686205] - [usb] usb: xhci: fix interrupt transfer error happened on MTK platforms (Torez Smith) [1686205] - [usb] usb: core: phy: clean up return value check about devm_of_phy_get_by_index() (Torez Smith) [1686205] - [usb] usb: mtu3: disable vbus rise/fall interrupts of ltssm (Torez Smith) [1686205] - [usb] USB: wusbcore: Switch to bitmap_zalloc() (Torez Smith) [1686205] - [usb] usb: misc: fix obsolete function (Torez Smith) [1686205] - [usb] usb: iowarrior: replace kmalloc with kmalloc_array (Torez Smith) [1686205] - [usb] USB: OHCI: Remove USB bus reset delay from OHCI handover code (Torez Smith) [1686205] - [usb] usb: host: fotg2: add silicon clock handling (Torez Smith) [1686205] - [usb] USB: typec: fsusb302: remove unused variables snk_pdo and toggling_mode_name (Torez Smith) [1686205] - [usb] usb storage: remove inherited SCSI dependency for USB_STORAGE_ENE_UB6250 (Torez Smith) [1686205] - [usb] usb storage: group dependent USB storage Kconfig entries together (Torez Smith) [1686205] - [usb] USB: Removing NULL check for pool since dma_pool_destroy is safe (Torez Smith) [1686205] - [usb] usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt() (Torez Smith) [1686205] - [usb] usb: misc: uss720: Fix two sleep-in-atomic-context bugs (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: Fix a sleep-in-atomic-context bug in u132_get_frame() (Torez Smith) [1686205] - [usb] usb: Avoid use-after-free by flushing endpoints early in usb_set_interface() (Torez Smith) [1686205] - [usb] usb/typec: fix kernel-doc notation warning for typec_match_altmode (Torez Smith) [1686205] - [usb] usb: Don't die twice if PCI xhci host is not responding in resume (Torez Smith) [1686205] - [usb] usb: mtu3: fix error of xhci port id when enable U3 dual role (Torez Smith) [1686205] - [usb] usb: uas: add support for more quirk flags (Torez Smith) [1686205] - [usb] USB: Add quirk to support DJI CineSSD (Torez Smith) [1686205] - [usb] usb: typec: fix kernel-doc parameter warning (Torez Smith) [1686205] - [usb] usb/dwc3/gadget: fix kernel-doc parameter warning (Torez Smith) [1686205] - [usb] USB: yurex: Check for truncation in yurex_read() (Torez Smith) [1686205] - [usb] USB: yurex: Fix buffer over-read in yurex_write() (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: Iterate over parent nodes for finding quirks (Torez Smith) [1686205] - [usb] xhci: Fix use after free for URB cancellation on a reallocated endpoint (Torez Smith) [1686205] - [usb] USB: add quirk for WORLDE Controller KS49 or Prodipe MIDI 49C USB controller (Torez Smith) [1686205] - [usb] usb: dwc2: Fix call location of dwc2_check_core_endianness (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Fix return value check in dwc3_byt_enable_ulpi_refclock() (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: fix maxpacket size of ep0 (Torez Smith) [1686205] - [usb] usb: gadget: fotg210-udc: Fix memory leak of fotg210->ep (Torez Smith) [1686205] - [usb] USB: net2280: Fix erroneous synchronization change (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: avoid unused function warnings (Torez Smith) [1686205] - [usb] USB: serial: ti_usb_3410_5052: fix array underflow in completion handler (Torez Smith) [1686205] - [usb] USB: serial: io_ti: fix array underflow in completion handler (Torez Smith) [1686205] - [usb] USB: serial: pl2303: add a new device id for ATEN (Torez Smith) [1686205] - [usb] usb: renesas_usbhs: Kconfig: convert to SPDX identifiers (Torez Smith) [1686205] - [usb] usb: dwc3: gadget: Check MaxPacketSize from descriptor (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "amlogic" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "his" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: Turn on uframe_sched on "bcm" platforms (Torez Smith) [1686205] - [usb] usb: dwc2: gadget: ISOC's starting flow improvement (Torez Smith) [1686205] - [usb] usb: dwc2: Make dwc2_readl/writel functions endianness-agnostic (Torez Smith) [1686205] - [usb] usb: dwc3: core: Enable AutoRetry feature in the controller (Torez Smith) [1686205] - [usb] usb: dwc3: Set default mode for dwc_usb31 (Torez Smith) [1686205] - [usb] usb: gadget: udc: renesas_usb3: Add register of usb role switch (Torez Smith) [1686205] - [usb] usb: dwc2: replace ioread32/iowrite32_rep with dwc2_readl/writel_rep (Torez Smith) [1686205] - [usb] usb: dwc2: Modify dwc2_readl/writel functions prototype (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Intel Merrifield can be host (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Supply device properties via driver data (Torez Smith) [1686205] - [documentation] arm64: dts: dwc3: description of incr burst type (Torez Smith) [1686205] - [usb] usb: dwc3: Enable undefined length INCR burst type (Torez Smith) [1686205] - [usb] usb: dwc3: add global soc bus configuration reg0 (Torez Smith) [1686205] - [usb] usb: dwc3: Describe 'wakeup_work' field of struct dwc3_pci (Torez Smith) [1686205] - [usb] USB: option: add support for DW5821e (Torez Smith) [1686205] - [usb] usb: dwc3: change stream event enable bit back to 13 (Torez Smith) [1686205] - [usb] usb: dwc3: of-simple: reset host controller at suspend/resume (Torez Smith) [1686205] - [usb] usb: gadget: storage: Remove reference counting (Torez Smith) [1686205] - [usb] usb: gadget: storage: Add error handling for no memory (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Use devm functions to get the phy GPIOs (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Enable ULPI Refclk on platforms where the firmware does not (Torez Smith) [1686205] - [usb] usb: dwc3: pci: Add GPIO lookup table on platforms without ACPI GPIO resources (Torez Smith) [1686205] - [usb] USB: gadget: Document that certain ep operations can be called in interrupt context (Torez Smith) [1686205] - [usb] usb: gadget: configfs: avoid spaces for indentation (Torez Smith) [1686205] - [usb] usb: dwc3: Add a glue driver for Synopsys HAPS platform (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Expose configuration name through video node (Torez Smith) [1686205] - [usb] usb: gadget: uvc: configfs: Move function to avoid forward declaration (Torez Smith) [1686205] - [usb] usb: dwc2: Move dwc2_readl/writel functions after hsotg structure (Torez Smith) [1686205] - [usb] usb: gadget: tcm: fix spelling mistake: "Manufactor" -> "Manufacturer" (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Move trace parameter to function module (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Minimize #include in headers (Torez Smith) [1686205] - [usb] usb: gadget: uvc: Move userspace API definition to public header (Torez Smith) [1686205] - [usb] usb: host: exynos: Remove support for Exynos5440 (Torez Smith) [1686205] - [usb] usb: usbtmc: Add support for 32 bit compat applications (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for termination character (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for EOM bit (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctl for trigger (Torez Smith) [1686205] - [usb] usb: usbtmc: Add ioctls to set/get usb timeout (Torez Smith) [1686205] - [usb] usb: usbtmc: use consistent timeout error (Torez Smith) [1686205] - [usb] usb: usbtmc: Support Read Status Byte with SRQ per file (Torez Smith) [1686205] - [usb] USB: serial: cp210x: implement GPIO support for CP2102N (Torez Smith) [1686205] - [usb] USB: serial: cp210x: improve line-speed handling for CP2104 and CP2105 (Torez Smith) [1686205] - [usb] USB: serial: cp210x: generalise CP2102N line-speed handling (Torez Smith) [1686205] - [usb] USB: serial: cp210x: improve baudrate support for CP2102N (Torez Smith) [1686205] - [usb] USB: serial: cp210x: honour device-type maximum line speed (Torez Smith) [1686205] - [usb] USB: serial: cp210x: make line-speed quantisation data driven (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop redundant input-speed re-encoding (Torez Smith) [1686205] - [usb] USB: serial: iuu_phoenix: drop unused driver-data baud rate (Torez Smith) [1686205] - [usb] USB: serial: mos7720: remove redundant variables iflag, mask and serial (Torez Smith) [1686205] - [documentation] dt-bindings: usb-xhci: Add r8a77990 support (Torez Smith) [1686205] - [usb] usb: host: ehci-sched: remove redundant pointer dev (Torez Smith) [1686205] - [usb] usb: host: u132-hcd: remove redundant variable num_ports (Torez Smith) [1686205] - [usb] USB: host: whci: remove redundant variable t (Torez Smith) [1686205] - [usb] usb: xhci: dbc: remove redundant pointer dbc (Torez Smith) [1686205] - [usb] usb: isp1760: remove redundant variable 'selector' (Torez Smith) [1686205] - [usb] usb-misc: sisusbvga: remove redundant variable modey (Torez Smith) [1686205] - [usb] usb: misc: uss720: remove redundant pointer usbdev (Torez Smith) [1686205] - [usb] usb: usbip: remove redundant pointer ep (Torez Smith) [1686205] - [usb] USB: serial: kl5kusb105: remove KLSI device id (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Add a condition check about PLL active (Torez Smith) [1686205] - [usb] usb: host: xhci-rcar: Simplify getting the firmware name for R-Car Gen3 (Torez Smith) [1686205] - [usb] usb: host: xhci-plat: add firmware_name for R-Car Gen3 (Torez Smith) [1686205] - [usb] usb: typec: avoid format-overflow warning (Torez Smith) [1686205] - [usb] usb: typec: unlock dp->lock on error exit path, and also zero ret if successful (Torez Smith) [1686205] - [usb] usb: typec: fix dereference before null check on adev (Torez Smith) [1686205] - [usb] usb: usbtest: use irqsave() in USB's complete callback (Torez Smith) [1686205] - [usb] USB: serial: kobil_sct: add missing version error handling (Torez Smith) [1686205] - [usb] USB: serial: kobil_sct: fix modem-status error handling (Torez Smith) [1686205] - [usb] usb: simplify usbport trigger (Torez Smith) [1686205] - [include] device connection: Add fwnode member to struct device_connection (Torez Smith) [1686205]- [security] KEYS: reaching the keys quotas correctly (Vladis Dronov) [1820405] - [security] KEYS: allow reaching the keys quotas exactly (Vladis Dronov) [1820405] - [infiniband] RDMA/core: Ensure security pkey modify is not lost (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Ensure pq is not left on waitlist (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/mad: Do not crash if the rdma device does not have a umad interface (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix missing error check on dev_set_name() (Kamal Heib) [1786604] - [infiniband] RDMA/nl: Do not permit empty devices names during RDMA_NLDEV_CMD_NEWLINK/SET (Kamal Heib) [1786604] - [infiniband] RDMA/iwcm: Fix iwcm work deallocation (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Fix failure handling during device creation (Kamal Heib) [1786604] - [infiniband] RDMA/nldev: Fix crash when set a QP to a new counter but QPN is missing (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix protection fault in ib_mr_pool_destroy (Kamal Heib) [1786604] - [infiniband] IB/hfi1, qib: Ensure RCU is locked when accessing list (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/core: Fix pkey and port assignment in get_new_pps (Kamal Heib) [1786604] - [infiniband] RMDA/cm: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix use of logical OR in get_new_pps (Kamal Heib) [1786604] - [infiniband] Revert "RDMA/cma: Simplify rdma_resolve_addr() error flow" (Kamal Heib) [1786604] - [net] xprtrdma: Fix DMA scatter-gather list mapping imbalance (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix protection fault in get_pkey_idx_qp_list (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq (Kamal Heib) [1786604] - [infiniband] IB/umad: Fix kernel crash while unloading ib_umad (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add missing list deletion on freeing event queue (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Fix invalid memory access in spec_filter_size (Kamal Heib) [1786604] - [infiniband] IB/rdmavt: Reset all QPs when the device is shut down (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Close window for pq and request coliding (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Acquire lock to release TID entries when user file is closed (Kamal Heib) [1786604 1739282] - [infiniband] IB/umem: use get_user_pages_fast() to pin DMA pages (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Mask access flags with the correct optional range (Kamal Heib) [1786604] - [infiniband] RDMA/cma: Fix unbalanced cm_id reference count during address resolve (Kamal Heib) [1786604] - [infiniband] RDMA/umem: Fix ib_umem_find_best_pgsz() (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Fix logical condition in msix_request_irq (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/cm: Remove CM message structs (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for complex structure members (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for simple structure members (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for swapping get/set acessors (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Use IBA functions for simple get/set acessors (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Add SET/GET implementations to hide IBA wire format (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Add accessors for CM_REQ transport_type (Kamal Heib) [1786604] - [infiniband] RDMA/core: Ensure that rdma_user_mmap_entry_remove() is a fence (Kamal Heib) [1786604] - [rdma] RDMA/uverbs: Add new relaxed ordering memory region access flag (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Allow passing of optional access flags for MR registration (Kamal Heib) [1786604] - [rdma] RDMA/core: Add optional access flags range (Kamal Heib) [1786604] - [rdma] RDMA/uverbs: Verify MR access flags (Kamal Heib) [1786604] - [infiniband] RDMA/core: Remove ucontext_lock from the uverbs_destry_ufile_hw() path (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add UVERBS_METHOD_ASYNC_EVENT_ALLOC (Kamal Heib) [1786604] - [infiniband] IB/srp: Never use immediate data if it is disabled by a user (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Compute the maximum sges and inline size based on the WQE size (Kamal Heib) [1786604] - [infiniband] Introduce maximum WQE size to check limits (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Remove unused ucontext parameter from efa_qp_user_mmap_entries_remove (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Remove {} brackets from single statement if (Kamal Heib) [1786604] - [infiniband] RDMA/efa: Device definitions documentation updates (Kamal Heib) [1786604] - [net] xprtrdma: DMA map rr_rdma_buf as each rpcrdma_rep is created (Kamal Heib) [1786604] - [net] xprtrdma: Destroy reps from previous connection instance (Kamal Heib) [1786604] - [net] xprtrdma: Destroy rpcrdma_rep when Receive is flushed (Kamal Heib) [1786604] - [net] xprtrdma: Allocate and map transport header buffers at connect time (Kamal Heib) [1786604] - [net] xprtrdma: Refactor frwr_is_supported (Kamal Heib) [1786604] - [net] xprtrdma: Eliminate per-transport "max pages" (Kamal Heib) [1786604] - [net] xprtrdma: Refactor initialization of ep->rep_max_requests (Kamal Heib) [1786604] - [net] xprtrdma: Make sendctx queue lifetime the same as connection lifetime (Kamal Heib) [1786604] - [net] xprtrdma: Eliminate ri_max_send_sges (Kamal Heib) [1786604] - [infiniband] RDMA/core: Use READ_ONCE for ib_ufile.async_file (Kamal Heib) [1786604] - [infiniband] RDMA/core: Make ib_uverbs_async_event_file into a uobject (Kamal Heib) [1786604] - [rdma] RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Simplify type usage for ib_uverbs_async_handler() (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_wq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_srq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_qp.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not erase the type of ib_cq.uobject (Kamal Heib) [1786604] - [infiniband] RDMA/core: Make ib_ucq_object use ib_uevent_object (Kamal Heib) [1786604] - [infiniband] RDMA/core: Do not allow alloc_commit to fail (Kamal Heib) [1786604] - [infiniband] RDMA/core: Simplify destruction of FD uobjects (Kamal Heib) [1786604] - [infiniband] RDMA/mlx5: Use RCU and direct refcounts to keep memory alive (Kamal Heib) [1786604] - [infiniband] RDMA/uverbs: Remove needs_kfree_rcu from uverbs_obj_type_class (Kamal Heib) [1786604] - [infiniband] RDMA/core: Remove err in iw_query_port (Kamal Heib) [1786604] - [infiniband] IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add software counter for ctxt0 seq drop (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Return void in packet receiving functions (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Decouple IRQ name from type (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Create API for auto activate (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: IB/hfi1: Add an API to handle special case drop (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Move common receive IRQ code to function (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add fast and slow handlers for receive context (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Move chip specific functions to chip.c (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/core: Fix locking in ib_uverbs_event_read (Kamal Heib) [1786604] - [infiniband] IB/core: Fix build failure without hugepages (Kamal Heib) [1786604] - [infiniband] IB/core: Rename event_handler_lock to qp_open_list_lock (Kamal Heib) [1786604] - [infiniband] IB/core: Cut down single member ib_cache structure (Kamal Heib) [1786604] - [infiniband] RDMA/core: Add trace points to follow MR allocation (Kamal Heib) [1786604] - [infiniband] RDMA/core: Trace points for diagnosing completion queue issues (Kamal Heib) [1786604] - [infiniband] RDMA/cma: Add trace points in RDMA Connection Manager (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Delete unused CM ARP functions (Kamal Heib) [1786604] - [infiniband] RDMA/cm: Delete unused CM LAP functions (Kamal Heib) [1786604] - [infiniband] RDMA/rxe: Fix error type of mmap_offset (Kamal Heib) [1786604] - [infiniband] IB/iser: use true,false for bool variable (Kamal Heib) [1786604] - [infiniband] IB/hfi1: use true,false for bool variable (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/siw: use true,false for bool variable (Kamal Heib) [1786604] - [infiniband] IB/core: Fix ODP with IB_ACCESS_HUGETLB handling (Kamal Heib) [1786604] - [infiniband] IB/core: Fix ODP get user pages flow (Kamal Heib) [1786604] - [infiniband] IB/rdmavt: Correct comments in rdmavt_qp.h header (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: List all receive contexts from debugfs (Kamal Heib) [1786604 1739282] - [infiniband] IB/hfi1: Add accessor API routines to access context members (Kamal Heib) [1786604 1739282] - [infiniband] RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load() (Kamal Heib) [1786604] - [infiniband] RDMA/srpt: Remove unnecessary assertion in srpt_queue_response (Kamal Heib) [1786604] - [infiniband] RDMA/netlink: Do not always generate an ACK for some netlink operations (Kamal Heib) [1786604] - [infiniband] RDMA/siw: Simplify QP representation (Kamal Heib) [1786604] - [infiniband] RDMA/qedr: Add kernel capability flags for dpm enabled mode (Kamal Heib) [1786604] - [platform] platform/x86: intel_pmc_core: Add Intel Tiger Lake support (Alexander Beregalov) [1783390] - [platform] platform/x86: intel_pmc_core: Create platform dependent bitmap structs (Alexander Beregalov) [1783390] - [platform] platform/x86: intel_pmc_core: Clean up: Remove comma after the termination line (Alexander Beregalov) [1783390] - [pinctrl] pinctrl: tigerlake: Tiger Lake uses _HID enumeration (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Add Coffee Lake-S ACPI ID (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Pass irqchip when adding gpiochip (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Add GPIO <-> pin mapping ranges via callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Add missing Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Reuse struct intel_pinctrl in the driver (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use local variable to keep device pointer (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Keep pointer to struct device instead of its container (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Share struct intel_pinctrl for wider use (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use GPIO direction definitions (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use GPIO direction definitions (David Arcari) [1773772] - [include] gpio: Add definition for GPIO direction (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Move IRQ valid mask initialization to a dedicated callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Group GPIO IRQ chip initialization (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Allocate IRQ chip dynamic (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Pass irqchip when adding gpiochip (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Add GPIO <-> pin mapping ranges via callback (David Arcari) [1773772] - [gpio] gpiolib: Introduce ->add_pin_ranges() callback (David Arcari) [1773772] - [gpio] gpiolib: Initialize the hardware with a callback (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Update North Community pin list (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Really serialize all register accesses (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Update pin list according to v1.1v6 (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Missed type change to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Add Intel Tiger Lake pin controller support (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use helper to restore register values on ->resume() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Drop level from warning to debug in intel_restore_hostown() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_intmask() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_hostown() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_restore_padcfg() helper (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Avoid potential glitches if pin is in GPIO mode (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Allocate IRQ chip dynamic (David Arcari) [1773772] - [pinctrl] gpio: Initialize the irqchip valid_mask with a callback (David Arcari) [1773772] - [pinctrl] pinctrl: intel: mark intel_pin_to_gpio __maybe_unused (David Arcari) [1773772] - [pinctrl] pinctrl: intel: remap the pin number to gpio offset for irq enabled pin (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Update pin names according to v1.08 (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Remove dev_err() usage after platform_get_irq() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use NSEC_PER_USEC for debounce calculus (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Re-use data structures from pinctrl-intel.h (part 2) (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Remove default Interrupt Status offset (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Provide Interrupt Status register offset (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Simplify offset validation in intel_get_padcfg() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Drop double check for data in intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use devm_platform_ioremap_resource() (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use devm_platform_ioremap_resource() (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use GENMASK() consistently (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Re-use data structures from pinctrl-intel.h (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Use defined macro instead of magic in byt_get_gpio_mux() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Clear interrupt status in mask/unmask callback (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Use GENMASK() consistently (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Increase readability of intel_gpio_update_pad_mode() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Retain HOSTSW_OWN for requested gpio pin (David Arcari) [1773772] - [pinctrl] pinctrl: pinctrl-intel: move gpio suspend/resume to noirq phase (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Update pin names according to v1.13c (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Fix potential NULL pointer dereference (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Code formatting fixes (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Replace acpi.h with mod_devicetable.h (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Unexport intel_pinctrl_probe() (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: intel: simplify getting .driver_data (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: simplify getting .driver_data (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Sort register offsets by value (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Get rid of unneeded ->probe() stub (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Update pin list for B0 stepping (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Convert unsigned to unsigned int (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Sort headers alphabetically (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Remove unneeded MODULE_DEVICE_TABLE() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Move linux/pm.h to the local header (David Arcari) [1773772] - [pinctrl] pinctrl: Include nothing else (David Arcari) [1773772] - [pinctrl] pinctrl: lewisburg: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: icelake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: denverton: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: cedarfork: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Define PM ops via INTEL_PINCTRL_PM_OPS() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce common macro for PM operations (David Arcari) [1773772] - [pinctrl] pinctrl: sunrisepoint: Convert to use intel_pinctrl_probe_by_hid() (David Arcari) [1773772] - [pinctrl] pinctrl: cannonlake: Convert to use intel_pinctrl_probe_by_hid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_pinctrl_probe_by_hid() internal API (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: Convert to use device_get_match_data() (David Arcari) [1773772] - [pinctrl] pinctrl: geminilake: Convert to use intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: broxton: Convert to use intel_pinctrl_probe_by_uid() (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Introduce intel_pinctrl_probe_by_uid() internal API (David Arcari) [1773772] - [pinctrl] pinctrl: intel: Fix a spelling typo in kernel documentation (David Arcari) [1773772] - [pinctrl] pinctrl: baytrail: actually print the apparently misconfigured pin (David Arcari) [1773772] - [mm] mm, page_alloc: move_freepages should not examine struct page of reserved memory (Rafael Aquini) [1588584] - [mm] mm, page_alloc: initialize num_movable in move_freepages() (Rafael Aquini) [1588584] - [tools] selftests: vm: drop dependencies on page flags from mlock2 tests (Rafael Aquini) [1658886] - [powercap] powercap/intel_rapl: add support for TigerLake Mobile (David Arcari) [1783136] - [kernel] locking/lockdep: Avoid recursion in lockdep_count_{for, back}ward_deps() (Waiman Long) [1780993] - [kernel] locking/lockdep: Reuse freed chain_hlocks entries (Waiman Long) [1780993] - [kernel] locking/lockdep: Track number of zapped lock chains (Waiman Long) [1780993] - [kernel] locking/lockdep: Throw away all lock chains with zapped class (Waiman Long) [1780993] - [kernel] locking/lockdep: Track number of zapped classes (Waiman Long) [1780993] - [kernel] locking/lockdep: Display irq_context names in /proc/lockdep_chains (Waiman Long) [1780993] - [kernel] locking/lockdep: Decrement IRQ context counters when removing lock chain (Waiman Long) [1780993] - [kernel] locking/lockdep: Fix lockdep_stats indentation problem (Waiman Long) [1780993] - [kernel] locking/lockdep: Fix buffer overrun problem in stack_trace (Waiman Long) [1780993] - [lib] lib/string: Make memzero_explicit() inline instead of external (Florian Westphal) [1820623] - [crypto] crypto: sha256 - Remove sha256/224_init code duplication (Florian Westphal) [1820623] - [crypto] crypto: sha256 - Merge crypto/sha256.h into crypto/sha.h (Florian Westphal) [1820623] - [crypto] crypto: chelsio - Rename arrays to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [x86] crypto: x86 - Rename functions to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [arm64] crypto: arm64 - Rename functions to avoid conflict with crypto/sha256.h (Florian Westphal) [1820623] - [crypto] crypto: sha256_generic - Switch to the generic lib/crypto/sha256.c lib code (Florian Westphal) [1820623] - [lib] crypto: sha256 - Add sha224 support to sha256 library code (Florian Westphal) [1820623] - [lib] crypto: sha256 - Make lib/crypto/sha256.c suitable for generic use (Florian Westphal) [1820623] - [lib] crypto: sha256 - Use get/put_unaligned_be32 to get input, memzero_explicit (Florian Westphal) [1820623] - [s390] crypto: sha256 - Move lib/sha256.c to lib/crypto (Florian Westphal) [1820623] - [crypto] crypto: sha256_generic - Fix some coding style issues (Florian Westphal) [1820623] - [lib] crypto: sha256 - Fix some coding style issues (Florian Westphal) [1820623] - [thunderbolt] thunderbolt: Fix error code in tb_port_is_width_supported() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Prevent crash if non-active NVMem file is read (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: fix memory leak of object sw (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Fix xhci check in usb4_switch_setup() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for USB 3.x tunnels (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for Time Management Unit (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_switch_find_cap() available to other files (Jarod Wilson) [1482838] - [netdrv] thunderbolt: Update Kconfig entries to USB4 (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add initial support for USB4 (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Populate PG field in hot plug acknowledgment packet (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Call tb_eeprom_get_drom_offset() from tb_eeprom_read_n() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_find_port() available to other files (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Power cycle the router if NVM authentication fails (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Do not start firmware unless asked by the user (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add bandwidth management for Display Port tunnels (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add Display Port adapter pairing and resource management (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add Display Port CM handshake for Titan Ridge devices (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add downstream PCIe port mappings for Alpine and Titan Ridge (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Expand controller name in tb_switch_is_xy() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add default linking between lane adapters if not provided by DROM (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add support for lane bonding (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Refactor add_switch() into two functions (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add helper macro to iterate over switch ports (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Make tb_sw_write() take const parameter (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert DP adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert PCIe adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Convert basic adapter register names to follow the USB4 spec (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Log error if adding switch fails (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Log switch route string on config read/write timeout (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Introduce tb_switch_is_icm() (Jarod Wilson) [1482838] - [thunderbolt] thunderbolt: Add 'generation' attribute for devices (Jarod Wilson) [1482838]- [scsi] scsi: lpfc: Copyright updates for 12.6.0.4 patches (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.4 (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Clean up hba max_lun_queue_depth checks (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Remove handler for obsolete ELS - Read Port Status (RPS) (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix coverity errors in fmdi attribute handling (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix compiler warning on frame size (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix registration of ELS type support in fdmi (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix broken Credit Recovery after driver load (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix lpfc_io_buf resource leak in lpfc_get_scsi_buf_s4 error path (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix RQ buffer leakage when no IOCBs available (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Make lpfc_defer_acc_rsp static (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.3 (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix improper flag check for IO type (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix MDS Latency Diagnostics Err-drop rates (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix unmap of dpp bars affecting next driver load (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix disablement of FC-AL on lpe35000 models (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix ras_log via debugfs (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix Fabric hostname registration if system hostname changes (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix missing check for CSF in Write Object Mbox Rsp (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix incomplete NVME discovery when target (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: fix spelling mistakes of asynchronous (Dick Kennedy) [1793674] - [scsi] scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func (Dick Kennedy) [1793674] - [tools] tools/power turbostat: Support Tiger Lake (David Arcari) [1783441] - [md] dm integrity: fix logic bug in integrity tag testing (Mike Snitzer) [1820280] - [md] Revert "dm: always call blk_queue_split() in dm_process_bio()" (Mike Snitzer) [1820705] - [md] dm integrity: fix ppc64le warning (Mike Snitzer) [1820280] - [md] dm writecache: add cond_resched to avoid CPU hangs (Mike Snitzer) [1820280] - [md] dm integrity: improve discard in journal mode (Mike Snitzer) [1820280] - [md] dm integrity: add optional discard support (Mike Snitzer) [1820280] - [md] dm integrity: allow resize of the integrity device (Mike Snitzer) [1820280] - [md] dm integrity: factor out get_provided_data_sectors() (Mike Snitzer) [1820280] - [md] dm integrity: don't replay journal data past the end of the device (Mike Snitzer) [1820280] - [md] dm integrity: remove sector type casts (Mike Snitzer) [1820280] - [md] dm integrity: fix a crash with unusually large tag size (Mike Snitzer) [1820280] - [md] dm verity fec: fix memory leak in verity_fec_dtr (Mike Snitzer) [1820280] - [md] dm writecache: optimize superblock write (Mike Snitzer) [1820280] - [md] dm writecache: implement gradual cleanup (Mike Snitzer) [1820280] - [md] dm writecache: implement the "cleaner" policy (Mike Snitzer) [1820280] - [md] dm writecache: do direct write if the cache is full (Mike Snitzer) [1820280] - [md] dm integrity: print device name in integrity_metadata() error message (Mike Snitzer) [1820280] - [md] dm crypt: use crypt_integrity_aead() helper (Mike Snitzer) [1820280] - [lib] lib/test_bitmap: add tests for bitmap_parselist_user() (Vladis Dronov) [1819152] - [lib] lib/test_bitmap: add testcases for bitmap_parselist() (Vladis Dronov) [1819152] - [lib] lib/test_bitmap: switch test_bitmap_parselist to ktime_get() (Vladis Dronov) [1819152] - [lib] lib: rework bitmap_parselist (Vladis Dronov) [1819152] - [lib] lib: make bitmap_parselist_user() a wrapper on bitmap_parselist() (Vladis Dronov) [1819152] - [platform] platform/x86: mlx-platform: Add support for next generation systems (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add support for new capability register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new capability register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new system type (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Set system mux configuration based on system type (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add more definitions for system attributes (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Style changes (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add missed attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Fix documentation inconsistency for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Cosmetic changes (Ivan Vecera) [1820312] - [platform] platform/mellanox: Fix Kconfig indentation (Ivan Vecera) [1820312] - [leds] leds: mlxreg: Fix possible buffer overflow (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Remove dev_err() usage after platform_get_irq() (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix error handling in mlxplat_init() (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add more reset cause attributes (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Modify DMI matching order (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add regmap structure for the next generation systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Change API for i2c-mlxcpld driver activation (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Move regmap initialization before all drivers activation (Ivan Vecera) [1820312] - [documentation] ABI: sysfs-driver-mlxreg-io: fix the what fields (Ivan Vecera) [1820312] - [documentation] docs: watchdog: convert docs to ReST and rename to *.rst (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add devm_free_irq call to remove flow (Ivan Vecera) [1820312] - [i2c] i2c: mlxcpld: Fix wrong initialization order in probe (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Use devm_thermal_of_cooling_device_register (Ivan Vecera) [1820312] - [thermal] thermal: Introduce devm_thermal_of_cooling_device_register (Ivan Vecera) [1820312] - [watchdog] watchdog: mlx_wdt: Use 'dev' instead of dereferencing it repeatedly (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Use HWMON_CHANNEL_INFO macro (Ivan Vecera) [1820312] - [include] hwmon: Add convience macro to define simple static sensors (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Add support for fan capability registers (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlx-wdt platform driver activation (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for tachometer speed register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix access mode for fan_dir attribute (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add UID LED for the next generation systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add extra CPLD for next generation systems (Ivan Vecera) [1820312] - [documentation] Documentation/watchdog: Add documentation mlx-wdt driver (Ivan Vecera) [1820312] - [watchdog] watchdog: mlx-wdt: introduce a watchdog driver for Mellanox systems (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: additions for Mellanox watchdog driver (Ivan Vecera) [1820312] - [leds] leds: mlxreg: Add support for capability register (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Fix KASAN warning (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Correct mlxreg-io KernelVersion for 5.0 (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for new VMOD0007 board name (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for fan capability registers (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: Add capability field to core platform data (Ivan Vecera) [1820312] - [include] platform_data/mlxreg: Document fixes for core platform data (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add support for fan direction register (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Convert to use SPDX identifier (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Allow mlxreg-io driver activation for new systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix LED configuration (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix tachometer registers (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Rename new systems product names (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add definitions for new registers (Ivan Vecera) [1820312] - [i2c] i2c: mux: mlxcpld: simplify code to reach the adapter (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Properly use mlxplat_mlxcpld_msn201x_items (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Fix copy-paste error in mlxplat_init() (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Remove unused define (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Change mlxreg-io configuration for MSN274x systems (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Allow mlxreg-io driver activation for more systems (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add ASIC hotplug device configuration (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Add hotplug hwmon uevent notification (Ivan Vecera) [1820312] - [platform] platform/mellanox: mlxreg-hotplug: Improve mechanism of ASIC health discovery (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlxreg-fan platform driver activation (Ivan Vecera) [1820312] - [platform] platform/mellanox: Use 2-factor allocator calls (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Modify macros for tachometer fault status reading (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Fix macros for tacho fault reading (Ivan Vecera) [1820312] - [hwmon] hwmon: (mlxreg-fan) Add support for Mellanox FAN driver (Ivan Vecera) [1820312] - [i2c] i2c: mux: mlxcpld: make use of __i2c_smbus_xfer (Ivan Vecera) [1820312] - [i2c] i2c: smbus: add unlocked __i2c_smbus_xfer variant (Ivan Vecera) [1820312] - [documentation] Documentation/ABI: Add documentation mlxreg-io sysfs interfaces (Ivan Vecera) [1820312] - [platform] platform/x86: mlx-platform: Add mlxreg-io platform driver activation (Ivan Vecera) [1820312] - [platform] platform/mellanox: Introduce support for Mellanox register access driver (Ivan Vecera) [1820312] - [kernel] audit: trigger accompanying records when no rules present (Richard Guy Briggs) [1819944] - [kernel] sched/fair: Allow a per-CPU kthread waking a task to stack on the same CPU, to fix XFS performance regression (Phil Auld) [1745111] - [hid] HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: add CMP device id (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: Spelling s/diconnect/disconnect/ (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring() (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: check the NO_D3 flag to distinguish resume paths (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: make ish suspend paths clear (Tony Camuso) [1818043] - [hid] HID: intel-ish-hid: ipc: set NO_D3 flag only when needed (Tony Camuso) [1818043] - [netdrv] net: ena: Add PCI shutdown handler to allow safe kexec (Bhupesh Sharma) [1758323] - [net] vsock: fix potential deadlock in transport->release() (Stefano Garzarella) [1771582] - [net] vsock/virtio: remove loopback handling (Stefano Garzarella) [1771582] - [net] vsock: use local transport when it is loaded (Stefano Garzarella) [1771582] - [net] vsock: add vsock_loopback transport (Stefano Garzarella) [1771582] - [net] vsock: add local transport support in the vsock core (Stefano Garzarella) [1771582] - [uapi] vsock: add VMADDR_CID_LOCAL definition (Stefano Garzarella) [1771582] - [net] vsock/virtio_transport_common: remove unused virtio header includes (Stefano Garzarella) [1771582] - [infiniband] IB/rdmavt: Free kernel completion queue when done (Gopal Tiwari) [1805036] - [powerpc] powerpc/64s: Fix section mismatch warnings from boot code (Desnes Augusto Nunes do Rosario) [1391523] - [powerpc] powerpc/prom: convert PROM_BUG() to standard trap (Desnes Augusto Nunes do Rosario) [1391523] - [powerpc] powerpc/64: mark start_here_multiplatform as __ref (Desnes Augusto Nunes do Rosario) [1391523] - [mfd] mfd: intel-lpss: Add Intel Tiger Lake PCI IDs (David Arcari) [1773767] - [mfd] mfd: intel-lpss: Release IDA resources (David Arcari) [1773767] - [mfd] mfd: intel-lpss: Keep device tables sorted by ID (David Arcari) [1773767] - [i2c] i2c: i801: Add support for Intel Tiger Lake (David Arcari) [1773765] - [edac] EDAC/mce_amd: Print !SMCA processor warning only once (Prarit Bhargava) [1796178] - [powerpc] powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() (Steve Best) [1806630] {CVE-2019-12614}- [x86] x86/gart: Rewrite early_gart_iommu_check() comment (Waiman Long) [1818532] - [mm] mm/memblock.c: warn if zero alignment was requested (Waiman Long) [1818532] - [powerpc] memblock: stop using implicit alignment to SMP_CACHE_BYTES (Waiman Long) [1818532] - [mm] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants (Waiman Long) [1818532] - [mm] mm: remove nobootmem (Waiman Long) [1818532] - [mm] memblock: rename __free_pages_bootmem to memblock_free_pages (Waiman Long) [1818532] - [mm] memblock: rename free_all_bootmem to memblock_free_all (Waiman Long) [1818532] - [firmware] memblock: replace free_bootmem_late with memblock_free_late (Waiman Long) [1818532] - [x86] memblock: replace free_bootmem{_node} with memblock_free (Waiman Long) [1818532] - [mm] mm: nobootmem: remove bootmem allocation APIs (Waiman Long) [1818532] - [mm] memblock: replace __alloc_bootmem with memblock_alloc_from (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_pages with memblock_alloc (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_low_pages with memblock_alloc_low (Waiman Long) [1818532] - [mm] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node (Waiman Long) [1818532] - [mm] memblock: add align parameter to memblock_alloc_node() (Waiman Long) [1818532] - [arm64] memblock: replace alloc_bootmem_low with memblock_alloc_low (2) (Waiman Long) [1818532] - [usb] memblock: replace alloc_bootmem_pages_nopanic with memblock_alloc_nopanic (Waiman Long) [1818532] - [x86] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic (Waiman Long) [1818532] - [x86] memblock: replace alloc_bootmem_low with memblock_alloc_low (Waiman Long) [1818532] - [x86] memblock: replace alloc_bootmem_align with memblock_alloc (Waiman Long) [1818532] - [mm] memblock: remove _virt from APIs returning virtual address (Waiman Long) [1818532] - [powerpc] memblock: rename memblock_alloc{_nid, _try_nid} to memblock_phys_alloc* (Waiman Long) [1818532] - [mm] mm: nobootmem: remove dead code (Waiman Long) [1818532] - [mm] mm: remove bootmem allocator implementation (Waiman Long) [1818532] - [mm] mm: remove CONFIG_HAVE_MEMBLOCK (Waiman Long) [1818532] - [mm] mm: remove CONFIG_NO_BOOTMEM (Waiman Long) [1818532] - [mm] mm: disable deferred struct page for 32-bit arches (Waiman Long) [1818532] - [mm] mm: make DEFERRED_STRUCT_PAGE_INIT explicitly depend on SPARSEMEM (Waiman Long) [1818532] - [mm] mm/hugetlb.c: don't zero 1GiB bootmem pages (Waiman Long) [1818532] - [mm] docs/mm: memblock: add overview documentation (Waiman Long) [1818532] - [include] docs/mm: memblock: add kernel-doc description for memblock types (Waiman Long) [1818532] - [mm] docs/mm: memblock: add kernel-doc comments for memblock_add (Waiman Long) [1818532] - [mm] docs/mm: bootmem: add overview documentation (Waiman Long) [1818532] - [include] docs/mm: bootmem: add kernel-doc description of 'struct bootmem_data' (Waiman Long) [1818532] - [mm] docs/mm: bootmem: fix kernel-doc warnings (Waiman Long) [1818532] - [mm] docs/mm: nobootmem: fixup kernel-doc comments (Waiman Long) [1818532] - [mm] mm/bootmem: drop duplicated kernel-doc comments (Waiman Long) [1818532] - [lib] lib/smp_processor_id: Don't use cpumask_equal() (Waiman Long) [1812092] - [kernel] audit: always check the netlink payload length in audit_receive_msg() (Richard Guy Briggs) [1814448] - [kernel] audit: fix error handling in audit_data_to_entry() (Richard Guy Briggs) [1814448] - [fs] fat: work around race with userspace's read via blockdev while mounting (Bill O'Donnell) [1771351] - [include] raid6/test: fix a compilation error (Bhupesh Sharma) [1817524] - [arm64] arm64: kexec_file: add crash dump support (Bhupesh Sharma) [1817524] - [lib] libfdt: include fdt_addresses.c (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.1-22-gc40aeb60b47a (Bhupesh Sharma) [1817524] - [include] libfdt: reduce the number of headers included from libfdt_env.h (Bhupesh Sharma) [1817524] - [arm64] arm64: dts: amd: Fix SPI bus warnings (Bhupesh Sharma) [1817524] - [arm64] arm64: dts: broadcom: Fix I2C and SPI bus warnings (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.0-30-g702c1b6c0e73 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.5.0-23-g87963ee20693 (Bhupesh Sharma) [1817524] - [include] linux/kernel.h: split *_MAX and *_MIN macros into (Bhupesh Sharma) [1817524] - [scripts] kbuild: disable dtc simple_bus_reg warnings by default (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4 (Bhupesh Sharma) [1817524] - [scripts] scripts/dtc: consolidate include path options in Makefile (Bhupesh Sharma) [1817524] - [pci] PCI: Remove unnecessary returns (Myron Stowe) [1807175] - [pci] PCI: OF: Correct of_irq_parse_pci() documentation (Myron Stowe) [1807175] - [pci] PCI: Fix typos and whitespace errors (Myron Stowe) [1807175] - [documentation] PCI: Correct pci=resource_alignment parameter example (Myron Stowe) [1807175] - [pci] PCI: Use PCI_SRIOV_NUM_BARS in loops instead of PCI_IOV_RESOURCE_END (Myron Stowe) [1807175] - [pci] PCI: Convert pci_resource_to_user() to a weak function (Myron Stowe) [1807175] - [pci] PCI: pciehp: Refer to "Indicators" instead of "LEDs" in comments (Myron Stowe) [1807175] - [pci] PCI: pciehp: Remove pciehp_green_led_{on, off, blink}() (Myron Stowe) [1807175] - [pci] PCI: pciehp: Remove pciehp_set_attention_status() (Myron Stowe) [1807175] - [pci] PCI: pciehp: Combine adjacent indicator updates (Myron Stowe) [1807175] - [pci] PCI: pciehp: Add pciehp_set_indicators() to set both indicators (Myron Stowe) [1807175] - [pci] PCI: Add pci_irq_vector() and other stubs when !CONFIG_PCI (Myron Stowe) [1807175] - [pci] PCI: Force trailing new line to resource_alignment_param in sysfs (Myron Stowe) [1807175] - [pci] PCI: Move pci__resource_alignment_param() into their callers (Myron Stowe) [1807175] - [pci] PCI: pci.c: convert to use BUS_ATTR_RW (Myron Stowe) [1807175] - [pci] PCI: Clean up resource_alignment parameter to not require static buffer (Myron Stowe) [1807175] - [pci] PCI/IOV: Remove group write permission from sriov_numvfs, sriov_drivers_autoprobe (Myron Stowe) [1807175] - [pci] PCI/IOV: Move sysfs SR-IOV functions to iov.c (Myron Stowe) [1807175] - [pci] PCI: sysfs: Change permissions from symbolic to octal (Myron Stowe) [1807175] - [pci] PCI: sysfs: Revert "rescan" file renames (Myron Stowe) [1807175] - [pci] PCI: sysfs: Change DEVICE_ATTR() to DEVICE_ATTR_WO() (Myron Stowe) [1807175] - [pci] PCI: pci-sysfs.c: convert to use BUS_ATTR_WO (Myron Stowe) [1807175] - [pci] PCI: sysfs: Define device attributes with DEVICE_ATTR*() (Myron Stowe) [1807175] - [pci] PCI: Mark expected switch fall-through (Myron Stowe) [1807175] - [pci] PCI: Use devm_add_action_or_reset() (Myron Stowe) [1807175] - [pci] PCI: Get rid of dev->has_secondary_link flag (Myron Stowe) [1807175] - [pci] PCI/ACPI: Remove unnecessary struct hotplug_program_ops (Myron Stowe) [1807175] - [pci] PCI/ACPI: Move _HPP & _HPX functions to pci-acpi.c (Myron Stowe) [1807175] - [pci] PCI/ACPI: Rename _HPX structs from hpp_* to hpx_* (Myron Stowe) [1807175] - [pci] PCI: Make pci_set_of_node(), etc private (Myron Stowe) [1807175] - [pci] PCI: Make pci_enable_ptm() private (Myron Stowe) [1807175] - [pci] PCI: Make pcie_set_ecrc_checking(), pcie_ecrc_get_policy() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_ats_init() private (Myron Stowe) [1807175] - [pci] PCI: Make pcie_update_link_speed() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_bus_get(), pci_bus_put() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_hotplug_io_size, mem_size, and bus_size private (Myron Stowe) [1807175] - [pci] PCI: Make pci_save_vc_state(), pci_restore_vc_state(), etc private (Myron Stowe) [1807175] - [pci] PCI: Make pci_get_host_bridge_device(), pci_put_host_bridge_device() private (Myron Stowe) [1807175] - [pci] PCI: Make pci_check_pme_status(), pci_pme_wakeup_bus() private (Myron Stowe) [1807175] - [pci] PCI: Make PCI_PM_* delay times private (Myron Stowe) [1807175] - [pci] PCI: Unexport pci_bus_sem (Myron Stowe) [1807175] - [pci] PCI: Unexport pci_bus_get() and pci_bus_put() (Myron Stowe) [1807175] - [pci] PCI: Remove pci_block_cfg_access() et al (unused) (Myron Stowe) [1807175] - [wireless] PCI: Move ASPM declarations to linux/pci.h (Myron Stowe) [1807175] - [pci] PCI/MSI: Support allocating virtual MSI interrupts (Myron Stowe) [1807175] - [fs] gfs2: Remove unnecessary gfs2_qa_{get,put} pairs (Robert S Peterson) [1807146] - [fs] gfs2: Split gfs2_rsqa_delete into gfs2_rs_delete and gfs2_qa_put (Robert S Peterson) [1807146] - [fs] gfs2: Change inode qa_data to allow multiple users (Robert S Peterson) [1807146] - [fs] gfs2: eliminate gfs2_rsqa_alloc in favor of gfs2_qa_alloc (Robert S Peterson) [1807146] - [fs] gfs2: Switch to list_{first,last}_entry (Robert S Peterson) [1807146] - [fs] gfs2: Clean up inode initialization and teardown (Robert S Peterson) [1807146] - [fs] gfs2: Minor gfs2_alloc_inode cleanup (Robert S Peterson) [1807146] - [pinctrl] pinctrl: pinmux: fix a possible null pointer in pinmux_can_be_used_for_gpio (David Arcari) [1817454] - [pinctrl] pinctrl/gpio: Take MUX usage into account (David Arcari) [1817454] - [include] gpio: Fix build warnings on undefined struct pinctrl_dev (David Arcari) [1817454] - [pinctrl] pinctrl: remove unused pin_is_valid() (David Arcari) [1817454] - [pinctrl] pinctrl: remove unneeded initializer for list_for_each_entry() iterator (David Arcari) [1817454] - [pinctrl] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (David Arcari) [1817454] - [pinctrl] pinctrl: core: Do not add device links for hogs (David Arcari) [1817454] - [pinctrl] pinctrl: Enable device link creation for pin control (David Arcari) [1817454] - [pinctrl] pinctrl: generic: add new 'drive-strength-microamp' property support (David Arcari) [1817454] - [pinctrl] pinctrl: remove unused 'pinconf-config' debugfs interface (David Arcari) [1817454] - [pinctrl] pinctrl: Change to use DEFINE_SHOW_ATTRIBUTE macro (David Arcari) [1817454] - [pinctrl] pinctrl: core: make sure strcmp() doesn't get a null parameter (David Arcari) [1817454] - [pinctrl] pinctrl: core: Remove broken remove_last group and pinmux functions (David Arcari) [1817454] - [pinctrl] pinctrl: pinmux: Return selector to the pinctrl driver (David Arcari) [1817454] - [pinctrl] pinctrl: core: Return selector to the pinctrl driver (David Arcari) [1817454] - [pinctrl] pinctrl: Cut unused sysfs includes (David Arcari) [1817454] - [mm] mm, numa: fix bad pmd by atomically check for pmd_trans_huge when marking page tables prot_numa (Rafael Aquini) [1763878] - [mm] mm: thp: fix flags for pmd migration when split (Rafael Aquini) [1763878] - [mm] mm: thp: relocate flush_cache_range() in migrate_misplaced_transhuge_page() (Rafael Aquini) [1763878] - [mm] mm: thp: fix mmu_notifier in migrate_misplaced_transhuge_page() (Rafael Aquini) [1763878] - [mm] mm: thp: fix MADV_DONTNEED vs migrate_misplaced_transhuge_page race condition (Rafael Aquini) [1763878] - [fs] nfsd: set the server_scope during service startup (Scott Mayhew) [1817752] - [fs] nfsd: v4 support requires CRYPTO_SHA256 (Scott Mayhew) [1817752] - [fs] nfsd: Fix cld_net->cn_tfm initialization (Scott Mayhew) [1817752] - [fs] nfsd: add support for upcall version 2 (Scott Mayhew) [1817752] - [fs] nfsd: add a "GetVersion" upcall for nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: handle legacy client tracking records sent by nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: re-order client tracking method selection (Scott Mayhew) [1817752] - [fs] nfsd: keep a tally of RECLAIM_COMPLETE operations when using nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: un-deprecate nfsdcld (Scott Mayhew) [1817752] - [fs] nfsd: make nfs4_client_reclaim use an xdr_netobj instead of a fixed char array (Scott Mayhew) [1817752]- [s390] scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs) (Philipp Rudo) [1814791] - [s390] scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove (Philipp Rudo) [1814792] - [infiniband] RDMA/qedr: Fix null-pointer dereference when calling rdma_user_mmap_get_offset (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Make qedr_iw_load_qp() static (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Fix potential use after free (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Remove unsupported modify_port callback (Kamal Heib) [1786602] - [infiniband] IB/ipoib: Add ndo operation for getting VFs GUID attributes (Kamal Heib) [1786602] - [net] xprtrdma: Fix oops in Receive handler after device removal (Kamal Heib) [1786602] - [net] xprtrdma: Fix completion wait during device removal (Kamal Heib) [1786602] - [net] xprtrdma: Fix create_qp crash on device unload (Kamal Heib) [1786602] - [infiniband] IB/hfi1: Adjust flow PSN with the correct resync_psn (Kamal Heib) [1786602] - [infiniband] IB/hfi1: Don't cancel unused work item (Kamal Heib) [1786602] - [infiniband] IB/core: Introduce rdma_user_mmap_entry_insert_range() API (Kamal Heib) [1786602] - [infiniband] RDMA/counter: Prevent auto-binding a QP which are not tracked with res (Kamal Heib) [1786602] - [infiniband] rxe: correctly calculate iCRC for unaligned payloads (Kamal Heib) [1786602] - [infiniband] treewide: Use sizeof_field() macro (Kamal Heib) [1786602] - [infiniband] RDMA/cma: add missed unregister_pernet_subsys in init failure (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Expose RDMA read related attributes (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Support remote read access in MR registration (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Store network attributes in device attributes (Kamal Heib) [1786602] - [infiniband] IB/hfi1: remove redundant assignment to variable ret (Kamal Heib) [1786602] - [infiniband] net: use rhashtable_lookup() instead of rhashtable_lookup_fast() (Kamal Heib) [1786602] - [infiniband] IB/core: Add interfaces to get VF node and port GUIDs (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Use refcount_t type for refcount variable (Kamal Heib) [1786602] - [infiniband] RDMA/cma: Use ACK timeout for RoCE packetLifeTime (Kamal Heib) [1786602] - [infiniband] IB/umem: remove the dmasync argument to ib_umem_get (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Add iWARP doorbell recovery support (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Add doorbell overflow recovery support (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Use the common mmap API (Kamal Heib) [1786602] - [infiniband] RDMA/qedr: Fix memory leak in user qp and mr (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix synchronization methods and memory leaks in qedr (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix qpids xarray api used (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Fix srqs xarray initialization (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/qedr: Remove Unneeded variable rc (Kamal Heib) [1810854 1786602] - [infiniband] RDMA/mlx4: Separate creation of RWQ and QP (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Package for hns_roce_rereg_user_mr function (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Fix sg offset non-zero issue (Kamal Heib) [1786602] - [infiniband] dma-mapping: remove the DMA_ATTR_WRITE_BARRIER flag (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Clear the admin command buffer prior to its submission (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Cleanup unused mmap structures (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Report the SCSI residual to the initiator (Kamal Heib) [1786602] - [infiniband] RDMA: Change MAD processing function to remove extra casting and parameter (Kamal Heib) [1786602] - [infiniband] RDMA/mlx5: Rewrite MAD processing logic to be readable (Kamal Heib) [1786602] - [infiniband] RDMA/ocrdma: Simplify process_mad function (Kamal Heib) [1786602] - [infiniband] RDMA/ocrdma: Make ocrdma_pma_counters() return void (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Do not check MAD sizes in roce and ib drivers (Kamal Heib) [1786602] - [infiniband] RDMA/hfi1: Delete unreachable code (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Allocate zeroed MAD buffer (Kamal Heib) [1786602] - [infiniband] RDMA/mad: Delete never implemented functions (Kamal Heib) [1786602] - [infiniband] RDMA/core: Fix return code when modify_port isn't supported (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Use the common mmap_xa helpers (Kamal Heib) [1786602] - [infiniband] RDMA/efa: Use the common mmap_xa helpers (Kamal Heib) [1786602] - [infiniband] RDMA: Connect between the mmap entry and the umap_priv structure (Kamal Heib) [1786602] - [infiniband] RDMA/hns: Use rdma_user_mmap_io (Kamal Heib) [1786602] - [infiniband] RDMA/core: Create mmap database and cookie helper functions (Kamal Heib) [1786602] - [infiniband] RDMA/core: Move core content from ib_uverbs to ib_core (Kamal Heib) [1786602] - [infiniband] RDMA/odp: Remove broken debugging call to invalidate_range (Kamal Heib) [1786602] - [infiniband] RDMA/vmw_pvrdma: Use resource ids from physical device if available (Kamal Heib) [1786602] - [infiniband] RDMA/core: Set DMA parameters correctly (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Increase DMA max_segment_size parameter (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Increase DMA max_segment_size parameter (Kamal Heib) [1786602] - [uapi] rdma: Remove nes ABI header (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix TPG creation (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Update copyright together with SPDX tag (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Use specific keyword to check define (Kamal Heib) [1786602] - [infiniband] RDMA/cm: Delete unused cm_is_active_peer function (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Remove useless rxe_init_device_param assignments (Kamal Heib) [1786602] - [net] xprtrdma: Replace dprintk in xprt_rdma_set_port (Kamal Heib) [1786602] - [net] xprtrdma: Replace dprintk() in rpcrdma_update_connect_private() (Kamal Heib) [1786602] - [net] xprtrdma: Refine trace_xprtrdma_fixup (Kamal Heib) [1786602] - [net] xprtrdma: Report the computed connect delay (Kamal Heib) [1786602] - [net] xprtrdma: Wake tasks after connect worker fails (Kamal Heib) [1786602] - [net] xprtrdma: Pull up sometimes (Kamal Heib) [1786602] - [net] xprtrdma: Refactor rpcrdma_prepare_msg_sges() (Kamal Heib) [1786602] - [net] xprtrdma: Move the rpcrdma_sendctx::sc_wr field (Kamal Heib) [1786602] - [net] xprtrdma: Remove rpcrdma_sendctx::sc_device (Kamal Heib) [1786602] - [net] xprtrdma: Remove rpcrdma_sendctx::sc_xprt (Kamal Heib) [1786602] - [net] xprtrdma: Ensure ri_id is stable during MR recycling (Kamal Heib) [1786602] - [net] xprtrdma: Manage MRs in context of a single connection (Kamal Heib) [1786602] - [net] xprtrdma: Fix MR list handling (Kamal Heib) [1786602] - [net] xprtrdma: Initialize rb_credits in one place (Kamal Heib) [1786602] - [infiniband] RDMA/core: Check that process is still alive before sending it to the users (Kamal Heib) [1786602] - [infiniband] RDMA/restrack: Remove PID namespace support (Kamal Heib) [1786602] - [infiniband] RDMA/uverbs: Add a check for uverbs_attr_get to uverbs_copy_to_struct_or_zero (Kamal Heib) [1786602] - [infiniband] IB/cma: Honor traffic class from lower netdevice for RoCE (Kamal Heib) [1786602] - [infiniband] RDMA/nldev: Provide MR statistics (Kamal Heib) [1786602] - [infiniband] RDMA/mlx5: Return ODP type per MR (Kamal Heib) [1786602] - [infiniband] RDMA/nldev: Allow different fill function per resource (Kamal Heib) [1786602] - [infiniband] IB/mlx5: Introduce ODP diagnostic counters (Kamal Heib) [1786602] - [infiniband] infiniband: fix sw/rdmavt/ kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/ kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iser_initiator.c kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iser_verbs.c kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/verbs.c kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/srpt/ib_srpt.h kernel-doc notation (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iscsi_iser.h kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix core/ipwm_util.h kernel-doc warnings (Kamal Heib) [1786602] - [infiniband] infiniband: fix ulp/iser/iscsi_iser.kernel-doc notation (Kamal Heib) [1786602] - [infiniband] RDMA/rw: Support threshold for registration vs scattering to local pages (Kamal Heib) [1786602] - [uapi] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id (Kamal Heib) [1786602] - [net] svcrdma: Improve DMA mapping trace points (Kamal Heib) [1786602] - [infiniband] RDMA/iser: Use iser_err instead of pr_err for logging (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Calculate max_it_iu_size if remote max_it_iu length available (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Add parse function for maximum initiator to target IU size (Kamal Heib) [1786602] - [infiniband] IB/cm: Use container_of() instead of typecast (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Make the code for handling port identities more systematic (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Rework the code that waits until an RDMA port is no longer in use (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Rework the approach for closing an RDMA channel (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Improve a debug message (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix handling of iWARP logins (Kamal Heib) [1786602] - [infiniband] RDMA/srpt: Fix handling of SR-IOV and iWARP ports (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Make route resolving error messages more informative (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Honor the max_send_sge device attribute (Kamal Heib) [1786602] - [infiniband] RDMA/srp: Remove two casts (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Make node GUIDs valid EUI-64 identifiers (Kamal Heib) [1786602] - [infiniband] RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel (Kamal Heib) [1786602] - [infiniband] RDMA/rxe: Verify modify_device mask (Kamal Heib) [1786602] - [infiniband] RDMA/core: Fix return code when modify_device isn't supported (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Fix port number endianness in a debug message (Kamal Heib) [1786602] - [infiniband] RDMA/siw: Simplify several debug messages (Kamal Heib) [1786602] - [infiniband] IB/iser: remove redundant macro definitions (Kamal Heib) [1786602] - [infiniband] IB/iser: bound protection_sg size by data_sg size (Kamal Heib) [1786602] - [infiniband] IB/iser: add unlikely checks in the fast path (Kamal Heib) [1786602] - [infiniband] RDMA/counter: Prevent QP counter manual binding in auto mode (Kamal Heib) [1786602] - [kvm] KVM: SVM: Override default MMIO mask if memory encryption is enabled (Wei Huang) [1789537] - [netdrv] mlx5e: Reorder mirrer action parsing to check for encap first (Ivan Vecera) [1818074] - [tools] selftests: mlxsw: Adjust test to recent changes (Ivan Vecera) [1818074] - [netdrv] vxlan: fix unexpected failure of vxlan_changelink() (Ivan Vecera) [1818074] - [netdrv] bonding: fix lockdep warning in bond_get_stats() (Ivan Vecera) [1818074] - [netdrv] bonding: fix using uninitialized mode_lock (Ivan Vecera) [1818074] - [net] export netdev_next_lower_dev_rcu() (Ivan Vecera) [1818074] - [netdrv] bonding: add missing netdev_update_lockdep_key() (Ivan Vecera) [1818074] - [net] avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() (Ivan Vecera) [1818074] - [include] net: fix kernel-doc warning in (Ivan Vecera) [1818074] - [net] batman-adv: Drop lockdep.h include for soft-interface.c (Ivan Vecera) [1818074] - [net] remove unnecessary variables and callback (Ivan Vecera) [1818074] - [netdrv] macsec: Fix multiple coding style issues (Ivan Vecera) [1818074] - [netdrv] vxlan: add adjacent link to limit depth level (Ivan Vecera) [1818074] - [net] core: add ignore flag to netdev_adjacent structure (Ivan Vecera) [1818074] - [netdrv] team: fix nested locking lockdep warning (Ivan Vecera) [1818074] - [netdrv] bonding: use dynamic lockdep key instead of subclass (Ivan Vecera) [1818074] - [netdrv] bonding: fix unexpected IFF_BONDING bit unset (Ivan Vecera) [1818074] - [net] core: add generic lockdep keys (Ivan Vecera) [1818074] - [net] core: limit nested device depth (Ivan Vecera) [1818074] - [net] udp: rehash on disconnect (Davide Caratti) [1817671] - [net] revert "udp: do rmem bulk free even if the rx sk queue is empty" (Davide Caratti) [1817671] - [net] udp: fix data-race in udp_set_dev_scratch() (Davide Caratti) [1817671] - [net] page_pool: refill page when alloc.count of pool is zero (Petr Oros) [1811201] - [net] page_pool: help compiler remove code in case CONFIG_NUMA=n (Petr Oros) [1811201] - [net] page_pool: handle page recycle for NUMA_NO_NODE condition (Petr Oros) [1811201] - [netdrv] mlx5e: Rx, Update page pool numa node when changed (Petr Oros) [1811201] - [net] page_pool: Don't recycle non-reusable pages (Petr Oros) [1811201] - [net] page_pool: Add API to update numa node (Petr Oros) [1811201] - [include] page_pool: extend tracepoint to also include the page PFN (Petr Oros) [1811201] - [net] page_pool: add destroy attempts counter and rename tracepoint (Petr Oros) [1811201] - [net] page_pool: remove unnecessary variable init (Petr Oros) [1811201] - [net] page_pool: fix logic in __page_pool_get_cached (Petr Oros) [1811201] - [netdrv] team: add missing attribute validation for array index (Hangbin Liu) [1816499] - [netdrv] team: add missing attribute validation for port ifindex (Hangbin Liu) [1816499] - [netdrv] team: Add vlan tx offload to hw_enc_features (Hangbin Liu) [1816499] - [netdrv] team: set slave to promisc if team is already in promisc mode (Hangbin Liu) [1816499] - [netdrv] team: Free BPF filter when unregistering netdev (Hangbin Liu) [1816499] - [netdrv] net: Remove switchdev.h inclusion from team/bond/vlan (Hangbin Liu) [1816499] - [netdrv] team: use operstate consistently for linkup (Hangbin Liu) [1816499] - [netdrv] team: avoid complex list operations in team_nl_cmd_options_set() (Hangbin Liu) [1816499] - [netdev] pass the stuck queue to the timeout handler (Ivan Vecera) [1811203] - [net] flow_dissector: extract more ICMP information (Ivan Vecera) [1795213] - [net] flow_dissector: skip the ICMP dissector for non ICMP packets (Ivan Vecera) [1795213] - [net] flow_dissector: add meaningful comments (Ivan Vecera) [1795213] - [net] vti[6]: fix packet tx through bpf_redirect() in XinY cases (Sabrina Dubroca) [1795145] - [net] xfrm interface: fix packet tx through bpf_redirect() (Sabrina Dubroca) [1795145] - [net] vti[6]: fix packet tx through bpf_redirect() (Sabrina Dubroca) [1795145] - [documentation] Clarify trap's description (Petr Oros) [1809496] - [net] devlink: Wait longer before warning about unset port type (Petr Oros) [1809496] - [documentation] Add a section for devlink-trap testing (Petr Oros) [1809496] - [tools] selftests: devlink_trap: Add test cases for devlink-trap (Petr Oros) [1809496] - [tools] selftests: forwarding: devlink_lib: Add devlink-trap helpers (Petr Oros) [1809496] - [tools] selftests: forwarding: devlink_lib: Allow tests to define devlink device (Petr Oros) [1809496] - [documentation] Add devlink-trap documentation (Petr Oros) [1809496] - [net] devlink: Add generic packet traps and groups (Petr Oros) [1809496] - [net] devlink: Add packet trap infrastructure (Petr Oros) [1809496] - [net] devlink: add warning in case driver does not set port type (Petr Oros) [1809496] - [net] devlink: remove unused devlink_port_get_phys_port_name() function (Petr Oros) [1809496] - [net] tcp: add sanity tests in tcp_add_backlog() (Guillaume Nault) [1790843] - [net] tcp: implement coalescing on backlog queue (Guillaume Nault) [1790843] - [include] tcp: make tcp_space() aware of socket backlog (Guillaume Nault) [1790843] - [net] tcp: take care of compressed acks in tcp_add_reno_sack() (Guillaume Nault) [1790843] - [include] tcp: hint compiler about sack flows (Guillaume Nault) [1790843] - [net] tcp: drop dst in tcp_add_backlog() (Guillaume Nault) [1790843] - [net] drop_monitor: Do not cancel uninitialized work item (Petr Oros) [1810114] - [net] drop_monitor: Use kstrdup (Petr Oros) [1810114] - [net] drop_monitor: Better sanitize notified packets (Petr Oros) [1810114] - [net] drop_monitor: Make timestamps y2038 safe (Petr Oros) [1810114] - [net] drop_monitor: Allow user to start monitoring hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Add support for summary alert mode for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Add support for packet alert mode for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Consider all monitoring states before performing configuration (Petr Oros) [1810114] - [net] drop_monitor: Add basic infrastructure for hardware drops (Petr Oros) [1810114] - [net] drop_monitor: Initialize hardware per-CPU data (Petr Oros) [1810114] - [net] drop_monitor: Move per-CPU data init/fini to separate functions (Petr Oros) [1810114] - [maintainers] drop_monitor: Add missing uAPI file to MAINTAINERS file (Petr Oros) [1810114] - [net] drop_monitor: Expose tail drop counter (Petr Oros) [1810114] - [net] drop_monitor: Make drop queue length configurable (Petr Oros) [1810114] - [net] drop_monitor: Add a command to query current configuration (Petr Oros) [1810114] - [net] drop_monitor: Allow truncation of dropped packets (Petr Oros) [1810114] - [net] drop_monitor: Add packet alert mode (Petr Oros) [1810114] - [net] drop_monitor: Add alert mode operations (Petr Oros) [1810114] - [net] drop_monitor: Require CAP_NET_ADMIN for drop monitor configuration (Petr Oros) [1810114] - [net] drop_monitor: Reset per-CPU data before starting to trace (Petr Oros) [1810114] - [net] drop_monitor: Initialize timer and work item upon tracing enable (Petr Oros) [1810114] - [net] drop_monitor: Split tracing enable / disable to different functions (Petr Oros) [1810114] - [net] drop_monitor: Use pre_doit / post_doit hooks (Petr Oros) [1810114] - [net] drop_monitor: Add extack support (Petr Oros) [1810114] - [net] drop_monitor: Avoid multiple blank lines (Petr Oros) [1810114] - [net] drop_monitor: Document scope of spinlock (Petr Oros) [1810114] - [net] drop_monitor: Rename and document scope of mutex (Petr Oros) [1810114] - [net] drop_monitor: Use correct error code (Petr Oros) [1810114] - [net] revert "net: dev: introduce support for sch BYPASS for lockless qdisc" (Paolo Abeni) [1805983] - [net] neighbour: remove neigh_cleanup() method (Ivan Vecera) [1795285] - [include] trace: events: neigh_update: print new state in string format (Ivan Vecera) [1795285] - [net] neigh: hook tracepoints in neigh update code (Ivan Vecera) [1795285] - [net] trace: events: add a few neigh tracepoints (Ivan Vecera) [1795285] - [net] netfilter: nf_tables: add __nft_chain_type_get() (Florian Westphal) [1806888] - [net] devlink: Hang reporter's dump method on a dumpit cb (Andrea Claudi) [1804798] - [net] core: Do not clear VF index for node/port GUIDs query (Petr Oros) [1805312] - [net] core: Populate VF index in struct ifla_vf_guid (Petr Oros) [1805312] - [net] core: Add support for getting VF GUIDs (Petr Oros) [1805312] - [tools] ptp: Extend the test program to check the external time stamp flags (Petr Oros) [1795192] - [netdrv] mlx5: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] igb: Reject requests that fail to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] dp83640: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] mv88e6xxx: Reject requests to enable time stamping on both edges (Petr Oros) [1795192] - [netdrv] ptp: Introduce strict checking of external time stamp options (Petr Oros) [1795192] - [netdrv] renesas: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] mlx5: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] igb: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] dp83640: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] mv88e6xxx: reject unsupported external timestamp flags (Petr Oros) [1795192] - [netdrv] net: reject PTP periodic output requests with unsupported flags (Petr Oros) [1795192] - [ptp] Validate requests to enable time stamping of external signals (Petr Oros) [1795192] - [tools] ptp: Fix example program to match kernel (Petr Oros) [1795192] - [include] uaccess: add noop untagged_addr definition (Josef Oskera) [1805320] - [include] debugfs: Add debugfs_create_xul() for hexadecimal unsigned long (Josef Oskera) [1795286] - [documentation] debugfs: Document debugfs helper for unsigned long values (Josef Oskera) [1795286] - [net] vsock/virtio: add WARN_ON check on virtio_transport_get_ops() (Stefano Garzarella) [1692797] - [net] vsock/virtio: fix null-pointer dereference in virtio_transport_recv_listen() (Stefano Garzarella) [1692797] - [net] vsock: avoid to assign transport if its initialization fails (Stefano Garzarella) [1692797] - [misc] vsock/vmci: make vmci_vsock_cb_host_called static (Stefano Garzarella) [1692797] - [net] vsock: fix bind() behaviour taking care of CID (Stefano Garzarella) [1692797] - [net] vsock: prevent transport modules unloading (Stefano Garzarella) [1692797] - [misc] vsock/vmci: register vmci_transport only when VMCI guest/host are active (Stefano Garzarella) [1692797] - [net] vsock: add multi-transports support (Stefano Garzarella) [1692797] - [net] hv_sock: set VMADDR_CID_HOST in the hvs_remote_addr_init() (Stefano Garzarella) [1692797] - [net] vsock: move vsock_insert_unbound() in the vsock_create() (Stefano Garzarella) [1692797] - [net] vsock: add vsock_create_connected() called by transports (Stefano Garzarella) [1692797] - [net] vsock: handle buffer_size sockopts in the core (Stefano Garzarella) [1692797] - [net] vsock: add 'struct vsock_sock *' param to vsock_core_get_transport() (Stefano Garzarella) [1692797] - [net] vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock() (Stefano Garzarella) [1692797] - [net] vsock: add 'transport' member in the struct vsock_sock (Stefano Garzarella) [1692797] - [kernel] vsock: remove linux/vm_sockets.h file (Stefano Garzarella) [1692797] - [net] vsock: remove vm_sockets_get_local_cid() (Stefano Garzarella) [1692797] - [net] vsock/vmci: remove unused VSOCK_DEFAULT_CONNECT_TIMEOUT (Stefano Garzarella) [1692797] - [x86] kvm: x86: clear stale x86_emulate_ctxt->intercept value (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: vmx: check descriptor table exits on instruction emulation (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Check IO instruction VM-exit conditions (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Refactor IO bitmap checks into helper function (Jon Maloy) [1806817] {CVE-2020-2732} - [x86] kvm: nvmx: Don't emulate instructions in guest mode (Jon Maloy) [1806817] {CVE-2020-2732}- [fs] gfs2: Fix oversight in gfs2_ail1_flush (Robert S Peterson) [1724769] - [kernel] sched/uclamp: Extend sched_setattr() to support utilization clamping (Phil Auld) [1810399] - [kernel] sched/core: Further clarify sched_class::set_next_task() (Phil Auld) [1810399] - [kernel] sched/fair: Use mul_u32_u32() (Phil Auld) [1810399] - [kernel] sched/core: Simplify sched_class::pick_next_task() (Phil Auld) [1810399] - [kernel] sched/core: Optimize pick_next_task() (Phil Auld) [1810399] - [kernel] sched/core: Make pick_next_task_idle() more consistent (Phil Auld) [1810399] - [kernel] sched/fair: Better document newidle_balance() (Phil Auld) [1810399] - [kernel] sched: Fix pick_next_task() vs 'change' pattern race (Phil Auld) [1810399] - [cpufreq] cpufreq: Initialize the governors in core_initcall (Phil Auld) [1810399] - [kernel] sched/vtime: Fix guest/system mis-accounting on task switch (Phil Auld) [1810399] - [kernel] sched/fair/util_est: Implement faster ramp-up EWMA on utilization increases (Phil Auld) [1810399] - [kernel] sched/topology: Allow sched_asym_cpucapacity to be disabled (Phil Auld) [1810399] - [kernel] sched/topology: Don't try to build empty sched domains (Phil Auld) [1810399] - [kernel] sched/topology: Don't set SD_BALANCE_WAKE on cpuset domain relax (Phil Auld) [1810399] - [kernel] membarrier: Fix RCU locking bug caused by faulty merge (Phil Auld) [1810399] - [kernel] sched/core: Fix preempt_schedule() interrupt return comment (Phil Auld) [1810399] - [kernel] sched/membarrier: Return -ENOMEM to userspace on memory allocation failure (Phil Auld) [1810399] - [kernel] sched/membarrier: Skip IPIs when mm->mm_users == 1 (Phil Auld) [1810399] - [tools] selftests, sched/membarrier: Add multi-threaded test (Phil Auld) [1810399] - [kernel] sched/membarrier: Fix p->mm->membarrier_state racy load (Phil Auld) [1810399] - [include] sched/membarrier: Call sync_core only before usermode for same mm (Phil Auld) [1810399] - [kernel] sched/membarrier: Remove redundant check (Phil Auld) [1810399] - [kernel] sched/membarrier: Fix private expedited registration check (Phil Auld) [1810399] - [kernel] tasks, sched/core: RCUify the assignment of rq->curr (Phil Auld) [1810399] - [kernel] tasks, sched/core: With a grace period after finish_task_switch(), remove unnecessary code (Phil Auld) [1810399] - [kernel] tasks, sched/core: Ensure tasks are available for a grace period after leaving the runqueue (Phil Auld) [1810399] - [kernel] tasks: Add a count of task RCU users (Phil Auld) [1810399] - [include] sched/core: Convert task_struct.usage to refcount_t (Phil Auld) [1810399] - [include] sched/core: Convert vcpu_is_preempted() from macro to an inline function (Phil Auld) [1810399] - [kernel] sched/fair: Remove unused cfs_rq_clock_task() function (Phil Auld) [1810399] - [scripts] Kbuild: Handle PREEMPT_RT for version string and magic (Phil Auld) [1810399] - [kernel] sched/fair: Use rq_lock/unlock in online_fair_sched_group (Phil Auld) [1810399] - [kernel] sched: Rework pick_next_task() slow-path (Phil Auld) [1810399] - [kernel] sched: Allow put_prev_task() to drop rq->lock (Phil Auld) [1810399] - [kernel] sched/fair: Expose newidle_balance() (Phil Auld) [1810399] - [kernel] sched: Add task_struct pointer to sched_class::set_curr_task (Phil Auld) [1810399] - [kernel] sched: Rework CPU hotplug task selection (Phil Auld) [1810399] - [kernel] rcu/tree: Fix SCHED_FIFO params (Phil Auld) [1810399] - [kernel] sched: Clean up active_mm reference counting (Phil Auld) [1810399] - [kernel] sched/{rt, deadline}: Fix set_next_task vs pick_next_task (Phil Auld) [1810399] - [kernel] sched: Fix kerneldoc comment for ia64_set_curr_task (Phil Auld) [1810399] - [kernel] stop_machine: Fix stop_cpus_in_progress ordering (Phil Auld) [1810399] - [kernel] sched/psi: Reduce psimon FIFO priority (Phil Auld) [1810399] - [kernel] sched/psi: Do not require setsched permission from the trigger creator (Phil Auld) [1810399] - [x86] x86/kvm: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [x86] x86/dumpstack: Indicate PREEMPT_RT in dumps (Phil Auld) [1810399] - [x86] x86: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] kprobes: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] tracing: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [include] locking/spinlocks: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] rcu: Use CONFIG_PREEMPTION (Phil Auld) [1810399] - [kernel] sched/preempt: Use CONFIG_PREEMPTION where appropriate (Phil Auld) [1810399] - [kernel] sched/core: Prevent race condition between cpuset and __sched_setscheduler() (Phil Auld) [1810399] - [kernel] rcu/tree: Call setschedule() gp ktread to SCHED_FIFO outside of atomic region (Phil Auld) [1810399] - [kernel] cgroup/cpuset: Change cpuset_rwsem and hotplug lock order (Phil Auld) [1810399] - [kernel] cgroup/cpuset: Convert cpuset_mutex to percpu_rwsem (Phil Auld) [1810399] - [kernel] sched/deadline: Fix bandwidth accounting at all levels after offline migration (Phil Auld) [1810399] - [kernel] cpusets: Rebuild root domain deadline accounting information (Phil Auld) [1810399] - [kernel] sched/core: Streamle calls to task_rq_unlock() (Phil Auld) [1810399] - [kernel] sched/topology: Add partition_sched_domains_locked() (Phil Auld) [1810399] - [kernel] sched/stats: Fix unlikely() use of sched_info_on() (Phil Auld) [1810399] - [kernel] sched/fair: Change task_numa_work() storage to static (Phil Auld) [1810399] - [kernel] sched/fair: Move task_numa_work() init to init_numa_balancing() (Phil Auld) [1810399] - [kernel] sched/fair: Move init_numa_balancing() below task_numa_work() (Phil Auld) [1810399] - [kernel] sched/rt, Kconfig: Unbreak def/oldconfig with CONFIG_PREEMPT=y (Phil Auld) [1810399] - [kernel] sched/rt, Kconfig: Introduce CONFIG_PREEMPT_RT (Phil Auld) [1810399] - [kernel] kconfig: include kernel/Kconfig.preempt from init/Kconfig (Phil Auld) [1810399] - [kernel] sched/core: Fix preempt warning in ttwu (Phil Auld) [1810399] - [kernel] sched/core: Optimize try_to_wake_up() for local wakeups (Phil Auld) [1810399] - [kernel] sched/core: Introduce set_next_task() helper for better code readability (Phil Auld) [1810399] - [kernel] sched/fair: Don't increase sd->balance_interval on newidle balance (Phil Auld) [1810399] - [kernel] sched/fair: Clean up load_balance() condition (Phil Auld) [1810399] - [mm] mm: fix possible PMD dirty bit lost in set_pmd_migration_entry() (Rafael Aquini) [1809698] - [mm] mm, thp: fix defrag setting if newline is not used (Rafael Aquini) [1809698] - [mm] mm/migrate.c: also overwrite error when it is bigger than zero (Rafael Aquini) [1809698] - [mm] mm/mempolicy.c: fix out of bounds write in mpol_parse_str() (Rafael Aquini) [1809698] - [mm] mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid (Rafael Aquini) [1809698] - [mm] mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio() (Rafael Aquini) [1809698] - [mm] mm/gup: fix memory leak in __gup_benchmark_ioctl (Rafael Aquini) [1809698] - [mm] mm: move_pages: return valid node id in status if the page is already on the target node (Rafael Aquini) [1809698] - [mm] mm/zsmalloc.c: fix the migrated zspage statistics (Rafael Aquini) [1809698] - [mm] mm: memcg/slab: wait for !root kmem_cache refcnt killing on root kmem_cache destruction (Rafael Aquini) [1809698] - [mm] mm/mempolicy.c: check range first in queue_pages_test_walk (Rafael Aquini) [1809698] - [mm] mm/memory.c: fix a huge pud insertion race during faulting (Rafael Aquini) [1809698] - [mm] mm: move the backup x_devmap() functions to asm-generic/pgtable.h (Rafael Aquini) [1809698] - [mm] mm/rmap.c: don't reuse anon_vma if we just want a copy (Rafael Aquini) [1809698] - [mm] mm/ksm.c: don't WARN if page is still mapped in remove_stable_node() (Rafael Aquini) [1809698] - [mm] mm/page_io.c: do not free shared swap slots (Rafael Aquini) [1809698] - [mm] mm: thp: handle page cache THP correctly in PageTransCompoundMap (Rafael Aquini) [1809698] - [mm] mm/slub: fix a deadlock in show_slab_objects() (Rafael Aquini) [1809698] - [mm] mm/vmpressure.c: fix a signedness bug in vmpressure_register_event() (Rafael Aquini) [1809698] - [trace] include/trace/events/writeback.h: fix -Wstringop-truncation warnings (Rafael Aquini) [1809698] - [mm] mm/compaction.c: clear total_{migrate, free}_scanned before scanning a new zone (Rafael Aquini) [1809698] - [mm] mm/hmm: fix hmm_range_fault()'s handling of swapped out pages (Rafael Aquini) [1809698] - [mm] mm/migrate.c: initialize pud_entry in migrate_vma() (Rafael Aquini) [1809698] - [kernel] ptrace: restore smp_rmb() in __ptrace_may_access() (Rafael Aquini) [1809698] - [documentation] mm: fix Documentation/vm/hmm.rst Sphinx warnings (Rafael Aquini) [1809698] - [fs] writeback: fix inode cgroup switching comment (Rafael Aquini) [1809698] - [include] mm/page_poison: update comment after code moved (Rafael Aquini) [1809698] - [mm] mm/filemap: pass inclusive 'end_byte' parameter to filemap_range_has_page (Rafael Aquini) [1809698] - [mm] ARM: 8826/1: mm: initialize pfn limits with find_limits() (Rafael Aquini) [1809698] - [fs] mm, proc: report PR_SET_THP_DISABLE in proc (Rafael Aquini) [1809698] - [mm] mm/khugepaged: fix crashes due to misaccounted holes (Rafael Aquini) [1809698] - [include] writeback: don't decrement wb->refcnt if !wb->bdi (Rafael Aquini) [1809698] - [mm] mm/filemap.c: Use existing variable (Rafael Aquini) [1809698] - [fs] removed extra extern file_fdatawait_range (Rafael Aquini) [1809698] - [s390] Revert "s390/dasd: Disable Thin Provisioning to prevent data loss" (Philipp Rudo) [1816984] - [s390] s390/dasd: fix data corruption for thin provisioned devices (Philipp Rudo) [1816984] - [block] virtio-blk: improve virtqueue error to BLK_STS (Philipp Rudo) [1816983] - [block] virtio-blk: fix hw_queue stopped on arbitrary error (Philipp Rudo) [1816983] - [s390] s390/pkey: fix missing length of protected key on return (Philipp Rudo) [1816981] - [s390] s390/mm: fix panic in gup_fast on large pud (Philipp Rudo) [1816980]- [mmc] mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl (Yannick Cote) [1811430] - [mmc] mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support (Yannick Cote) [1811430] - [net] net/smc: keep vlan_id for SMC-R in smc_listen_work() (Philipp Rudo) [1796890] - [scripts] redhat: fix modpost.c prerequisites (Frantisek Hrbata) [1818499] - [tools] tools/power/x86/intel-speed-select: Update version (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Change the order for clos disable (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Fix result display for turbo-freq auto mode (Prarit Bhargava) [1817068] - [tools] tools/power/x86/intel-speed-select: Add support for core-power discovery (Prarit Bhargava) [1817068] - [netdrv] can, slip: Protect tty->disc_data in write_wakeup and close with RCU (Steve Best) [1816036] - [kernel] exit: panic before exit_mm() on global init exit (Oleg Nesterov) [1808944] - [fs] nfsd: restore NFSv3 ACL support ("J. Bruce Fields") [1815683] - [fs] nfsd4: Fix kernel crash when reading proc file reply_cache_stats ("J. Bruce Fields") [1815683] - [fs] nfsd: fix cleanup of nfsd_reply_cache_init on failure ("J. Bruce Fields") [1815683] - [fs] nfsd: note inadequate stats locking ("J. Bruce Fields") [1815683] - [fs] nfsd4: drc containerization ("J. Bruce Fields") [1815683] - [fs] nfsd: don't call nfsd_reply_cache_shutdown twice ("J. Bruce Fields") [1815683] - [fs] nfsd: knfsd must use the container user namespace ("J. Bruce Fields") [1815683] - [net] SUNRPC: rsi_parse() should use the current user namespace ("J. Bruce Fields") [1815683] - [net] SUNRPC: Fix the server AUTH_UNIX userspace mappings ("J. Bruce Fields") [1815683] - [fs] lockd: Pass the user cred from knfsd when starting the lockd server ("J. Bruce Fields") [1815683] - [net] SUNRPC: Temporary sockets should inherit the cred from their parent ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Cache the process user cred in the RPC server listener ("J. Bruce Fields") [1815683] - [fs] nfsd: Allow containers to set supported nfs versions ("J. Bruce Fields") [1815683] - [fs] nfsd: Add custom rpcbind callbacks for knfsd ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Allow further customisation of RPC program registration ("J. Bruce Fields") [1815683] - [net] SUNRPC: Clean up generic dispatcher code ("J. Bruce Fields") [1815683] - [fs] SUNRPC: Add a callback to initialise server requests ("J. Bruce Fields") [1815683] - [fs] SUNRPC/nfs: Fix return value for nfs4_callback_compound() ("J. Bruce Fields") [1815683] - [kernel] sched: Avoid scale real weight down to zero (Phil Auld) [1808562] - [nvme] nvme/pci: move cqe check after device shutdown (David Milburn) [1779247 1750267] - [mm] mm, slb: guarantee natural alignment for kmalloc(power-of-two) (Brian Foster) [1814964] - [tools] tools/power turbostat: Support Ice Lake server (Steve Best) [1776467] - [pinctrl] pinctrl: intel: Allow to request locked pads (Prarit Bhargava) [1783115] - [s390] s390/qeth: fix potential deadlock on workqueue flush (Philipp Rudo) [1814783] - [s390] s390/qeth: streamline control code for promisc mode (Philipp Rudo) [1814783] - [s390] scsi: zfcp: fix request object use-after-free in send path causing wrong traces (Philipp Rudo) [1814790] - [s390] s390/pci: Fix possible deadlock in recover_store() (Philipp Rudo) [1814788] - [s390] s390/pci: Recover handle in clp_set_pci_fn() (Philipp Rudo) [1814788] - [s390] scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host (Philipp Rudo) [1814794] - [s390] scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices (Philipp Rudo) [1814793] - [s390] s390/cio: fix virtio-ccw DMA without PV (Philipp Rudo) [1814787] - [s390] s390/kaslr: store KASLR offset for early dumps (Philipp Rudo) [1814781] - [mm] s390/mm: fix dynamic pagetable upgrade for hugetlbfs (Philipp Rudo) [1814779] - [char] tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() (Steve Best) [1808048] - [s390] s390/qeth: fix dangling IO buffers after halt/clear (Philipp Rudo) [1814782] - [virtio] virtio_ring: fix unmap of indirect descriptors (Philipp Rudo) [1797289] - [virtio] virtio_ring: fix return code on DMA mapping fails (Philipp Rudo) [1797289] - [misc] dma-mapping: zero memory returned from dma_alloc_* (Philipp Rudo) [1788928] - [platform] platform/mellanox: fix the mlx-bootctl sysfs (Alaa Hleihel) [1655714] - [platform] platform/mellanox: Add bootctl driver for Mellanox BlueField Soc (Alaa Hleihel) [1655714] - [char] tpm: ibmvtpm: Wait for buffer to be set before proceeding (Steve Best) [1815548] - [scsi] iscsi: Avoid potential deadlock in iscsi_if_rx func (Oleksandr Natalenko) [1815874] - [x86] x86/vector: Remove warning on managed interrupt migration (Peter Xu) [1812331] - [scsi] scsi: lpfc: fix spelling mistake "Notication" -> "Notification" (Dick Kennedy) [1796565] - [scsi] scsi: lpfc: add RDF registration and Link Integrity FPIN logging (Dick Kennedy) [1796565] - [uapi] scsi: fc: Update Descriptor definition and add RDF and Link Integrity FPINs (Dick Kennedy) [1796565]- [kvm] KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot in HPT page fault handler (Sam Bobroff) [1815491] - [net] tcp: also NULL skb->dev when copy was needed (Florian Westphal) [1775961] - [net] tcp: ensure skb->dev is NULL before leaving TCP stack (Florian Westphal) [1775961]- [mm] mm/memcontrol: use vmstat names for printing statistics (Waiman Long) [1793534] - [base] mm/vmstat: add helpers to get vmstat item names for each enum type (Waiman Long) [1793534] - [mm] mm/vmstat.c: assert that vmstat_text is in sync with stat_items_size (Waiman Long) [1793534] - [mm] mm: memcontrol: dump memory.stat during cgroup OOM (Waiman Long) [1793534] - [mm] mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps() (Waiman Long) [1793534] - [mm] mm: memcg/slab: fix percpu slab vmstats flushing (Waiman Long) [1793534] - [include] include/linux/memcontrol.h: fix comments based on per-node memcg (Waiman Long) [1793534] - [mm] mm: memcg: switch to css_tryget() in get_mem_cgroup_from_mm() (Waiman Long) [1793534] - [mm] mm: memcontrol: fix network errors from failing __GFP_ATOMIC charges (Waiman Long) [1793534] - [mm] mm: slab: make page_cgroup_ino() to recognize non-compound slab pages properly (Waiman Long) [1793534] - [mm] mm: memcontrol: fix NULL-ptr deref in percpu stats flush (Waiman Long) [1793534] - [mm] mm/memcontrol: update lruvec counters in mem_cgroup_move_account (Waiman Long) [1793534] - [mm] mm: memcg: get number of pages on the LRU list in memcgroup base on lru_zone_size (Waiman Long) [1793534] - [mm] mm: memcontrol: fix percpu vmstats and vmevents flush (Waiman Long) [1793534] - [mm] mm, memcg: partially revert "mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones" (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu slab vmstats on kmem offlining (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu vmevents before releasing memcg (Waiman Long) [1793534] - [mm] mm: memcontrol: flush percpu vmstats before releasing memcg (Waiman Long) [1793534] - [mm] mm/memcontrol.c: keep local VM counters in sync with the hierarchical ones (Waiman Long) [1793534] - [mm] mm/memcontrol: fix wrong statistics in memory.stat (Waiman Long) [1793534] - [mm] mm: memcontrol: don't batch updates of local VM stats and events (Waiman Long) [1793534] - [mm] mm: memcontrol: fix NUMA round-robin reclaim at intermediate level (Waiman Long) [1793534] - [mm] mm: memcontrol: fix recursive statistics correctness & scalabilty (Waiman Long) [1793534] - [mm] mm: memcontrol: move stat/event counting functions out-of-line (Waiman Long) [1793534] - [mm] mm: memcontrol: make cgroup stats and events query API explicitly local (Waiman Long) [1793534] - [mm] mm, memcg: rename ambiguously named memory.stat counters and functions (Waiman Long) [1793534] - [mm] mm: memcontrol: quarantine the mem_cgroup_nr_lru_pages() API (Waiman Long) [1793534] - [mm] mm: memcontrol: push down mem_cgroup_nr_lru_pages() (Waiman Long) [1793534] - [mm] mm: memcontrol: push down mem_cgroup_node_nr_lru_pages() (Waiman Long) [1793534] - [mm] mm: memcontrol: replace node summing with memcg_page_state() (Waiman Long) [1793534] - [mm] mm: memcontrol: replace zone summing with lruvec_page_state() (Waiman Long) [1793534] - [include] mm: memcontrol: track LRU counts in the vmstats array (Waiman Long) [1793534] - [mm] mm: writeback: use exact memcg dirty counts (Waiman Long) [1793534] - [mm] mm: memcontrol: expose THP events on a per-memcg basis (Waiman Long) [1793534] - [mm] memcg: killed threads should not invoke memcg OOM killer (Waiman Long) [1793534] - [mm] mm, memcg: extract memcg maxable seq_file logic to seq_show_memcg_tunable (Waiman Long) [1793534] - [mm] mm, memcg: create mem_cgroup_from_seq (Waiman Long) [1793534] - [mm] mm/oom_kill.c: fix uninitialized oc->constraint (Waiman Long) [1793534] - [mm] mm, oom: add oom victim's memcg to the oom context information (Waiman Long) [1793534] - [mm] mm, oom: reorganize the oom report in dump_header (Waiman Long) [1793534] - [include] mm: Clarify the implication of adding new node stat items (Waiman Long) [1793534] - [mm] memcg: Revert "Add preemption point in accumulate_memcg_tree()" (Waiman Long) [1793534] - [base] driver core: add dev_groups to all drivers (Don Dutile) [1814347] - [tools] selftests/livepatch: Remove unused local variable in set_ftrace_enabled() (Yannick Cote) [1807115] - [tools] selftests/livepatch: Replace set_dynamic_debug() with setup_config() in README (Yannick Cote) [1807115] - [tools] selftests: livepatch: Fix it to do root uid check and skip (Yannick Cote) [1807115] - [tools] selftests/livepatch: Test interaction with ftrace_enabled (Yannick Cote) [1807115] - [tools] selftests/livepatch: Make dynamic debug setup and restore generic (Yannick Cote) [1807115] - [kernel] ftrace: Introduce PERMANENT ftrace_ops flag (Yannick Cote) [1807115] - [samples] livepatch: Handle allocation failure in the sample of shadow variable API (Yannick Cote) [1807115] - [lib] livepatch/samples/selftest: Use klp_shadow_alloc() API correctly (Yannick Cote) [1807115] - [lib] livepatch/selftest: Clean up shadow variable names and type (Yannick Cote) [1807115] - [samples] livepatch/sample: Use the right type for the leaking data pointer (Yannick Cote) [1807115] - [kernel] kprobes: Allow kprobes coexist with livepatch (Yannick Cote) [1727330 1807115] - [x86] ftrace/x86: Remove mcount() declaration (Yannick Cote) [1807115] - [tools] selftests: livepatch: add missing fragments to config (Yannick Cote) [1807115] - [lib] livepatch: Selftests of the API for tracking system state changes (Yannick Cote) [1807115] - [documentation] livepatch: Documentation of the new API for tracking system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Allow to distinguish different version of system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Basic API to track system state changes (Yannick Cote) [1807115] - [kernel] livepatch: Keep replaced patches until post_patch callback is called (Yannick Cote) [1807115] - [tools] selftests/livepatch: Disable the timeout (Yannick Cote) [1807115] - [kernel] livepatch: Nullify obj->mod in klp_module_coming()'s error path (Yannick Cote) [1807115] - [powerpc] livepatch: Remove klp_check_compiler_support() (Yannick Cote) [1807115] - [x86] ftrace/x86: Remove mcount support (Yannick Cote) [1807115] - [x86] ftrace/x86_32: Remove support for non DYNAMIC_FTRACE (Yannick Cote) [1807115] - [documentation] docs/livepatch: Unify style of livepatch documentation in the ReST format (Yannick Cote) [1807115] - [documentation] docs: livepatch: convert docs to ReST and rename to *.rst (Yannick Cote) [1807115] - [kernel] livepatch: Remove duplicate warning about missing reliable stacktrace support (Yannick Cote) [1807115] - [kernel] livepatch: Use static buffer for debugging messages under rq lock (Yannick Cote) [1807115] - [include] livepatch: Remove stale kobj_added entries from kernel-doc descriptions (Yannick Cote) [1807115] - [kernel] livepatch: Remove duplicated code for early initialization (Yannick Cote) [1807115] - [kernel] livepatch: Remove custom kobject state handling (Yannick Cote) [1807115] - [kernel] livepatch: Convert error about unsupported reliable stacktrace into a warning (Yannick Cote) [1807115] - [kernel] kprobes: Replace p with other pointer types (Yannick Cote) [1727330 1807115]- [drm] drm/bochs: downgrade pci_request_region failure from error to warning (Dave Airlie) [1804735] - [drm] drm/bochs: deinit bugfix (Dave Airlie) [1804735] - [fs] gfs2: fix O_EXCL|O_CREAT handling on cold dcache (Andrew Price) [1811787] - [net] esp: remove the skb from the chain when it's enqueued in cryptd_wq (Xin Long) [1807909] - [powerpc] powerpc/nvdimm: set target_node properly (Diego Domingos) [1815038]- [kernel] posix-cpu-timers: Fix two trivial comments (Prarit Bhargava) [1810244] - [kernel] hrtimer: Annotate lockless access to timer->base (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Fix permission check regression (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Always clear head pointer on dequeue (Prarit Bhargava) [1810244] - [kernel] hrtimer: Add a missing bracket and hide `migration_base' on !SMP (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Make expiry_active check actually work correctly (Prarit Bhargava) [1810244] - [include] posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build (Prarit Bhargava) [1810244] - [kernel] tick: Mark sched_timer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Utilize timerqueue for storage (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Move state tracking to struct posix_cputimers (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Deduplicate rlimit handling (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove pointless comparisons (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of 64bit divisions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Consolidate timer expiry further (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of zero checks (Prarit Bhargava) [1810244] - [kernel] rlimit: Rewrite non-sensical RLIMIT_CPU comment (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Respect INFINITY for hard RTTIME limit (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Switch thread group sampling to array (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Restructure expiry array (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove cputime_expires (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Make expiry checks array based (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide array based sample functions (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Remove the odd field rename defines (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Switch check_*_timers() to array cache (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify set_process_cpu_timer() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify timer queueing (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide array based access to expiry cache (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Move expiry cache into struct posix_cputimers (Prarit Bhargava) [1810244] - [include] sched: Move struct task_cputime to types.h (Prarit Bhargava) [1810244] - [include] posix-cpu-timers: Create a container struct (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Move prof/virt_ticks into caller (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sample task times once in expiry check (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Get rid of pointer indirection (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Simplify sample functions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove pointless return value check (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_rearm() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_get() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use clock ID in posix_cpu_timer_set() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Consolidate thread group sample code (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Rename thread_group_cputimer() and make it static (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sample directly in timer check (Prarit Bhargava) [1810244] - [kernel] itimers: Use quick sample function (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide quick sample function for itimer (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use common permission check in posix_cpu_timer_create() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Use common permission check in posix_cpu_clock_get() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Provide task validation functions (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove tsk argument from run_posix_cpu_timers() (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Sanitize bogus WARNONS (Prarit Bhargava) [1810244] - [kernel] hrtimer: Don't take expiry_lock when timer is currently migrated (Prarit Bhargava) [1810244] - [kernel] hrtimer: Protect lockless access to timer->base (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Fixup stale comment (Prarit Bhargava) [1810244] - [include] alarmtimers: Avoid rtc.h include (Prarit Bhargava) [1810244] - [include] posix-timers: Cleanup forward declarations and includes (Prarit Bhargava) [1810244] - [kernel] hrtimer: Improve comments on handling priority inversion against softirq kthread (Prarit Bhargava) [1810244] - [kernel] posix-timers: Use a callback for cancel synchronization on PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] posix-timers: Move rcu_head out of it union (Prarit Bhargava) [1810244] - [kernel] posix-timers: Rework cancel retry loops (Prarit Bhargava) [1810244] - [kernel] posix-timers: Cleanup the flag/flags confusion (Prarit Bhargava) [1810244] - [kernel] itimers: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [fs] timerfd: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] alarmtimer: Prepare for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] sched/deadline: Ensure inactive_timer runs in hardirq context (Prarit Bhargava) [1810244] - [kernel] timers: Prepare support for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Prepare support for PREEMPT_RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Determine hard/soft expiry mode for hrtimer sleepers on RT (Prarit Bhargava) [1810244] - [kernel] hrtimer: Move unmarked hrtimers to soft interrupt expiry on RT (Prarit Bhargava) [1810244] - [kernel] tick: Mark tick related hrtimers to expiry in hard interrupt context (Prarit Bhargava) [1810244] - [kvm] KVM: LAPIC: Mark hrtimer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] watchdog: Mark watchdog_hrtimer to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] perf/core: Mark hrtimers to expire in hard interrupt context (Prarit Bhargava) [1810244] - [kernel] hrtimer: Make enqueue mode check work on RT (Prarit Bhargava) [1810244] - [kernel] sched: Mark hrtimers to expire in hard interrupt context (Prarit Bhargava) [1810244] - [staging] hrtimer/treewide: Use hrtimer_sleeper_start_expires() (Prarit Bhargava) [1810244] - [kernel] hrtimer: Provide hrtimer_sleeper_start_expires() (Prarit Bhargava) [1810244] - [kernel] hrtimer: Consolidate hrtimer_init() + hrtimer_init_sleeper() calls (Prarit Bhargava) [1810244] - [kernel] hrtimer: Remove task argument from hrtimer_init_sleeper() (Prarit Bhargava) [1810244] - [kernel] futex: Consolidate duplicated timer setup code (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Remove private interval storage (Prarit Bhargava) [1810244] - [kernel] posix-cpu-timers: Unbreak timer rearming (Prarit Bhargava) [1810244] - [mm] mm, slub: naive detection of double-free or freelist corruption (Rafael Aquini) [1810288] - [fs] nfs: add minor version to nfs_server_key for fscache (Dave Wysochanski) [1777097] - [edac] EDAC, mellanox: Add ECC support for BlueField DDR4 (Alaa Hleihel) [1725108] - [platform] platform/mellanox: fix potential deadlock in the tmfifo driver (Alaa Hleihel) [1655736] - [platform] platform/mellanox: Add TmFifo driver for Mellanox BlueField Soc (Alaa Hleihel) [1655736] - [mm] powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range (Steve Best) [1814279] - [mm] powerpc: Chunk calls to flush_dcache_range in arch_*_memory (Steve Best) [1814279] - [fs] cifs: fix NULL dereference in match_prepath (Leif Sahlberg) [1760879] - [fs] cifs: fail i/o on soft mounts if sessionsetup errors out (Leif Sahlberg) [1798031] - [sound] ALSA: usb-audio: set the interface format after resume on Dell WD19 (Perry Yuan) [1807965] - [fs] cifs: make sure we do not overflow the max EA buffer size (Leif Sahlberg) [1752437]- [netdrv] net/mlx5e: Don't clear the whole vf config when switching modes (mohamad meib) [1814350] - [fs] fuse: fix stack use after return (Miklos Szeredi) [1814666]- [target] scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" (Maurizio Lombardi) [1784442] - [infiniband] scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout" (Maurizio Lombardi) [1784442] - [target] scsi: Revert "target/core: Inline transport_lun_remove_cmd()" (Maurizio Lombardi) [1784442] - [target] scsi: libfc: remove unnecessary assertion on ep variable (Maurizio Lombardi) [1784442] - [infiniband] scsi: RDMA/isert: Fix a recently introduced regression related to logout (Maurizio Lombardi) [1784442] - [target] scsi: target/iblock: Fix protection error with blocks greater than 512B (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Fix a pr_debug() argument (Maurizio Lombardi) [1784442] - [target] scsi: target: iscsi: Wait for all commands to finish before freeing a session (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Release SPC-2 reservations when closing a session (Maurizio Lombardi) [1784442] - [target] scsi: target: core: Document target_cmd_size_check() (Maurizio Lombardi) [1784442] - [target] scsi: target: tcmu: Prevent memory reclaim recursion (Maurizio Lombardi) [1784442] - [scsi] scsi: cxgb4i: remove set but not used variable 'ppmax' (Maurizio Lombardi) [1784442] - [target] scsi: target: remove unused extension parameters (Maurizio Lombardi) [1784442] - [target] scsi: target: fix SendTargets=All string compares (Maurizio Lombardi) [1784442] - [target] scsi: target: Remove tpg_list and se_portal_group.se_tpg_node (Maurizio Lombardi) [1784442] - [target] scsi: target: cxgbit: Fix cxgbit_fw4_ack() (Maurizio Lombardi) [1784442] - [infiniband] IB/hfi1: TID RDMA WRITE should not return IB_WC_RNR_RETRY_EXC_ERR (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure r_tid_ack is valid before building TID RDMA ACK packet (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure full Gen3 speed in a Gen4 system (Kamal Heib) [1786601] - [infiniband] IB/core: Avoid deadlock during netlink message handling (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Fix incorrect error print (Kamal Heib) [1786601] - [infiniband] IB/iser: Support up to 16MB data transfer in a single command (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Add missing cast for 32 bit (Kamal Heib) [1786601] - [documentation] Documentation/infiniband: update name of some functions (Kamal Heib) [1786601] - [infiniband] RDMA/iwpm: Delete unnecessary checks before the macro call "dev_kfree_skb" (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Use existing FIELD_SIZEOF macro (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Remove umem check on dereg MR flow (Kamal Heib) [1786601] - [net] xprtrdma: Send Queue size grows after a reconnect (Kamal Heib) [1786601] - [net] xprtrdma: Clear xprt->reestablish_timeout on close (Kamal Heib) [1786601] - [net] xprtrdma: Recycle MRs after disconnect (Kamal Heib) [1786601] - [net] xprtrdma: Optimize rpcrdma_post_recvs() (Kamal Heib) [1786601] - [net] xprtrdma: Inline XDR chunk encoder functions (Kamal Heib) [1786601] - [infiniband] RDMA/core: Make invalidate_range a device operation (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Use kvcalloc for the dma_list and page_list (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Check for overflow when computing the umem_odp end (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Provide ib_umem_odp_release() to undo the allocs (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Split creating a umem_odp from ib_umem_get (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Make the three ways to create a umem_odp clear (Kamal Heib) [1786601] - [infiniband] RMDA/odp: Consolidate umem_odp initialization (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Make it clearer when a umem is an implicit ODP umem (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Iterate over the whole rbtree directly (Kamal Heib) [1786601] - [infiniband] RDMA/odp: Use the common interval tree library instead of generic (Kamal Heib) [1786601] - [net] xprtrdma: Clean up xprt_rdma_set_connect_timeout() (Kamal Heib) [1786601] - [net] xprtrdma: Use an llist to manage free rpcrdma_reps (Kamal Heib) [1786601] - [net] xprtrdma: Remove rpcrdma_buffer::rb_mrlock (Kamal Heib) [1786601] - [net] xprtrdma: Cache free MRs in each rpcrdma_req (Kamal Heib) [1786601] - [net] xprtrdma: Ensure creating an MR does not trigger FS writeback (Kamal Heib) [1786601] - [net] xprtrdma: Move rpcrdma_mr_get out of frwr_map (Kamal Heib) [1786601] - [net] xprtrdma: Combine rpcrdma_mr_put and rpcrdma_mr_unmap_and_put (Kamal Heib) [1786601] - [net] xprtrdma: Simplify rpcrdma_mr_pop (Kamal Heib) [1786601] - [net] xprtrdma: Rename rpcrdma_buffer::rb_all (Kamal Heib) [1786601] - [net] xprtrdma: Rename CQE field in Receive trace points (Kamal Heib) [1786601] - [infiniband] RDMA: Delete DEBUG code (Kamal Heib) [1786601] - [include] xprtrdma: Boost client's max slot table size to match Linux server (Kamal Heib) [1786601] - [net] xprtrdma: Boost maximum transport header size (Kamal Heib) [1786601] - [net] xprtrdma: Fix calculation of ri_max_segs again (Kamal Heib) [1786601] - [net] xprtrdma: Update obsolete comment (Kamal Heib) [1786601] - [net] xprtrdma: Refresh the documenting comment in frwr_ops.c (Kamal Heib) [1786601] - [net] svcrdma: Use llist for managing cache of recv_ctxts (Kamal Heib) [1786601] - [net] svcrdma: Remove svc_rdma_wq (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Rate limit admin queue error prints (Kamal Heib) [1786601] - [rdma] RDMA/core: Introduce ratelimited ibdev printk functions (Kamal Heib) [1786601] - [net] rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors (Kamal Heib) [1786601] - [infiniband] RDMA/core: fix spelling mistake "Nelink" -> "Netlink" (Kamal Heib) [1786601] - [infiniband] net: Use skb_frag_off accessors (Kamal Heib) [1786601] - [infiniband] RDMA/efa: Expose device statistics (Kamal Heib) [1786601] - [infiniband] RDMA/core: Support netlink commands in non init_net net namespaces (Kamal Heib) [1786601] - [rdma] RDMA: Make most headers compile stand alone (Kamal Heib) [1786601] - [infiniband] RDMA/core: Annotate destroy of mutex to ensure that it is released as unlocked (Kamal Heib) [1786601] - [infiniband] net: Use skb accessors in network drivers (Kamal Heib) [1786601] - [documentation] docs: infiniband: add it to the driver-api bookset (Kamal Heib) [1786601] - [infiniband] IB/hfi1: use the new FOLL_LONGTERM flag to get_user_pages_fast() (Kamal Heib) [1786601] - [documentation] Documentation/infiniband: update from locked to pinned_vm (Kamal Heib) [1786601] - [infiniband] opa_vnic: fix check on record->event, incorrect operator used (Kamal Heib) [1786601] - [infiniband] opa_vnic: Convert vport_idr to XArray (Kamal Heib) [1786601] - [infiniband] IB/hfi1: Ensure ucast_dlid access doesnt exceed bounds (Kamal Heib) [1786601] - [infiniband] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Kamal Heib) [1786601] - [infiniband] treewide: Add SPDX license identifier - Kbuild (Kamal Heib) [1786601] - [infiniband] mm/gup: add make_dirty arg to put_user_pages_dirty_lock() (Kamal Heib) [1786601] - [netdrv] ibmvnic: Do not process device remove during device reset (Steve Best) [1813223] - [bluetooth] Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature" (Gopal Tiwari) [1811534] - [tty] serial: 8250_pci: Make PCI class test non fatal (Prarit Bhargava) [1812742] - [powercap] powercap/intel_rapl: add support for ICX-D (Steve Best) [1485067] - [char] drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write (Tony Camuso) [1812922] - [char] ipmi:ssif: Handle a possible NULL pointer reference (Tony Camuso) [1812922] - [char] drivers: ipmi: Modify max length of IPMB packet (Tony Camuso) [1812922] - [char] drivers: ipmi: Support raw i2c packet in IPMB (Tony Camuso) [1812922] - [char] ipmi: fix ipmb_poll()'s return type (Tony Camuso) [1812922] - [char] char: Fix Kconfig indentation, continued (Tony Camuso) [1812922] - [char] char: Fix Kconfig indentation (Tony Camuso) [1812922] - [char] ipmi: kill off 'timespec' usage again (Tony Camuso) [1812922] - [char] drivers: ipmi: Support for both IPMB Req and Resp (Tony Camuso) [1812922] - [char] ipmi: Fix memory leak in __ipmi_bmc_register (Tony Camuso) [1812922] - [char] ipmi: bt-bmc: use devm_platform_ioremap_resource() to simplify code (Tony Camuso) [1812922] - [char] ipmi: use *ph to print small buffer (Tony Camuso) [1812922] - [char] ipmi: Don't leave holes in the I2C address list in the ssif driver (Tony Camuso) [1812922] - [char] ipmi: fix return value of ipmi_set_my_LUN (Tony Camuso) [1812922] - [char] ipmi: Convert pr_xxx() to dev_xxx() in the BT code (Tony Camuso) [1812922] - [char] ipmi:dmi: Ignore IPMI SMBIOS entries with a zero base address (Tony Camuso) [1812922] - [char] ipmi_si: fix potential integer overflow on large shift (Tony Camuso) [1812922] - [char] ipmi_si_pci: fix NULL device in ipmi_si error message (Tony Camuso) [1812922] - [char] ipmi: Convert printk(KERN_ to pr_( (Tony Camuso) [1812922] - [char] pci:ipmi: Move IPMI PCI class id defines to pci_ids.h (Tony Camuso) [1812922] - [char] ipmi:powernv: Convert ipmi_smi_t to struct ipmi_smi (Tony Camuso) [1812922] - [fs] NFSv4 fix acl retrieval over krb5i/krb5p mounts (Steve Dickson) [1787627]- [fs] gfs2: Additional information when gfs2_ail1_flush withdraws (Robert S Peterson) [1752976] - [fs] gfs2: Fix lru_count going negative (Robert S Peterson) [1752976] - [fs] gfs2: allow journal replay to hold sd_log_flush_lock (Robert S Peterson) [1752976] - [fs] gfs2: don't allow releasepage to free bd still used for revokes (Robert S Peterson) [1752976] - [fs] gfs2: clean up iopen glock mess in gfs2_create_inode (Robert S Peterson) [1752976] - [fs] gfs2: flesh out delayed withdraw for gfs2_log_flush (Robert S Peterson) [1752976] - [fs] gfs2: Fix incorrect variable name (Robert S Peterson) [1752976] - [fs] gfs2: Do proper error checking for go_sync family of glops functions (Robert S Peterson) [1752976] - [fs] gfs2: Don't demote a glock until its revokes are written (Robert S Peterson) [1752976] - [fs] gfs2: drain the ail2 list after io errors (Robert S Peterson) [1752976] - [fs] gfs2: Withdraw in gfs2_ail1_flush if write_cache_pages fails (Robert S Peterson) [1752976] - [fs] gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty (Robert S Peterson) [1752976] - [fs] gfs2: Check for log write errors before telling dlm to unlock (Robert S Peterson) [1752976] - [fs] gfs2: Prepare to withdraw as soon as an IO error occurs in log write (Robert S Peterson) [1752976] - [fs] gfs2: Issue revokes more intelligently (Robert S Peterson) [1752976] - [fs] gfs2: Add verbose option to check_journal_clean (Robert S Peterson) [1752976] - [fs] gfs2: fix infinite loop when checking ail item count before go_inval (Robert S Peterson) [1752976] - [fs] gfs2: Force withdraw to replay journals and wait for it to finish (Robert S Peterson) [1752976] - [fs] gfs2: Allow some glocks to be used during withdraw (Robert S Peterson) [1752976] - [fs] gfs2: move check_journal_clean to util.c for future use (Robert S Peterson) [1752976] - [fs] gfs2: Ignore dlm recovery requests if gfs2 is withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: Only complain the first time an io error occurs in quota or log (Robert S Peterson) [1752976] - [fs] gfs2: log error reform (Robert S Peterson) [1752976] - [fs] gfs2: Rework how rgrp buffer_heads are managed (Robert S Peterson) [1752976] - [fs] gfs2: clear ail1 list when gfs2 withdraws (Robert S Peterson) [1752976] - [fs] gfs2: Introduce concept of a pending withdraw (Robert S Peterson) [1752976] - [fs] gfs2: Return bool from gfs2_assert functions (Robert S Peterson) [1752976] - [fs] gfs2: Turn gfs2_consist into void functions (Robert S Peterson) [1752976] - [fs] gfs2: Remove usused cluster_wide arguments of gfs2_consist functions (Robert S Peterson) [1752976] - [fs] gfs2: Report errors before withdraw (Robert S Peterson) [1752976] - [fs] gfs2: Split gfs2_lm_withdraw into two functions (Robert S Peterson) [1752976] - [fs] gfs2: Fix possible fs name overflows (Robert S Peterson) [1752976] - [fs] gfs2: Remove active journal side effect from gfs2_write_log_header (Robert S Peterson) [1752976] - [fs] gfs2: Don't loop forever in gfs2_freeze if withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: fix infinite loop in gfs2_ail1_flush on io error (Robert S Peterson) [1752976] - [fs] gfs2: Introduce function gfs2_withdrawn (Robert S Peterson) [1752976] - [fs] gfs2: fix glock reference problem in gfs2_trans_add_unrevoke (Robert S Peterson) [1752976] - [fs] gfs2: make gfs2_log_shutdown static (Robert S Peterson) [1752976] - [fs] gfs2: replace more printk with calls to fs_info and friends (Robert S Peterson) [1752976] - [fs] gfs2: dump fsid when dumping glock problems (Robert S Peterson) [1752976] - [fs] gfs2: simplify gfs2_freeze by removing case (Robert S Peterson) [1752976] - [fs] gfs2: Rename SDF_SHUTDOWN to SDF_WITHDRAWN (Robert S Peterson) [1752976] - [fs] gfs2: Warn when a journal replay overwrites a rgrp with buffers (Robert S Peterson) [1752976] - [fs] gfs2: log which portion of the journal is replayed (Robert S Peterson) [1752976] - [fs] gfs2: kthread and remount improvements (Robert S Peterson) [1752976] - [fs] gfs2: Fix occasional glock use-after-free (Robert S Peterson) [1752976] - [fs] gfs2: Rename sd_log_le_{revoke,ordered} (Robert S Peterson) [1724769] - [watchdog] watchdog: make nowayout sysfs file writable (David Arcari) [1802742] - [watchdog] watchdog: prevent deferral of watchdogd wakeup on RT (David Arcari) [1802742] - [watchdog] watchdog: Fix the race between the release of watchdog_core_data and cdev (David Arcari) [1802742] - [watchdog] watchdog: convert remaining drivers to use SPDX license identifier (David Arcari) [1802742] - [watchdog] watchdog: make the device time out at open_deadline when open_timeout is used (David Arcari) [1802742] - [watchdog] watchdog: introduce CONFIG_WATCHDOG_OPEN_TIMEOUT (David Arcari) [1802742] - [watchdog] watchdog: introduce watchdog.open_timeout commandline parameter (David Arcari) [1802742] - [watchdog] watchdog: let core print error message when registering device fails (David Arcari) [1802742] - [watchdog] watchdog: make watchdog_deferred_registration_add() void (David Arcari) [1802742] - [watchdog] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (David Arcari) [1802742] - [watchdog] watchdog: add error messages when initializing timeout fails (David Arcari) [1802742] - [watchdog] watchdog: refactor watchdog_init_timeout (David Arcari) [1802742] - [watchdog] watchdog: core: fix null pointer dereference when releasing cdev (David Arcari) [1802742] - [x86] x86/ioapic: Prevent inconsistent state when moving an interrupt (Prarit Bhargava) [1810236] - [x86] x86/fpu: Don't cache access to fpu_fpregs_owner_ctx (Prarit Bhargava) [1810236] - [lib] lib/ubsan: don't serialize UBSAN report (Prarit Bhargava) [1810243] - [lib] ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix pwq ref leak in rescuer_thread() (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix missing kfree(rescuer) in destroy_workqueue() (Prarit Bhargava) [1810243] - [kernel] workqueue: Fix spurious sanity check failures in destroy_workqueue() (Prarit Bhargava) [1810243] - [include] hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD (Prarit Bhargava) [1810243] - [kernel] genirq: Force interrupt threading on RT (Prarit Bhargava) [1810243] - [include] hrtimer: Introduce HARD expiry mode (Prarit Bhargava) [1810243] - [kernel] workqueue: Remove GPF argument from alloc_workqueue_attrs() (Prarit Bhargava) [1810243] - [kernel] workqueue: Make alloc/apply/free_workqueue_attrs() static (Prarit Bhargava) [1810243] - [tools] objtool: Add UACCESS validation (Prarit Bhargava) [1810243] - [tools] objtool: Handle function aliases (Prarit Bhargava) [1810243] - [lib] ubsan: build ubsan.c more conservatively (Prarit Bhargava) [1810243] - [lib] x86/uaccess, ubsan: Fix UBSAN vs. SMAP (Prarit Bhargava) [1810243] - [tools] objtool: Rewrite alt->skip_orig (Prarit Bhargava) [1810243] - [fs] dlm: Don't swamp the CPU with callbacks queued during recovery (Robert S Peterson) [1752976] - [nvme] nvmet: update AEN list and array at one place (Gopal Tiwari) [1781927] - [nvme] nvmet: Fix controller use after free (Gopal Tiwari) [1781927] - [nvme] nvmet: Fix error print message at nvmet_install_queue function (Gopal Tiwari) [1781927] - [nvme] nvme-pci: remove nvmeq->tags (Gopal Tiwari) [1781927] - [nvme] nvmet: fix dsm failure when payload does not match sgl descriptor (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: switch to use helpers (Gopal Tiwari) [1781927] - [nvme] nvmet: fix per feat data len for get_feature (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Fix read queue count (Gopal Tiwari) [1781927] - [nvme] nvme/pci Limit write queue sizes to possible cpus (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Fix write and poll queue types (Gopal Tiwari) [1781927] - [nvme] nvme/pci: Remove last_cq_head (Gopal Tiwari) [1781927] - [nvme] nvme: Namepace identification descriptor list is optional (Gopal Tiwari) [1781927] - [nvme] Revert "nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T" (Gopal Tiwari) [1781927] - [nvme] nvme: else following return is not needed (Gopal Tiwari) [1781927] - [nvme] nvme: add error message on mismatching controller ids (Gopal Tiwari) [1781927] - [nvme] nvme_fc: add module to ops template to allow module references (Gopal Tiwari) [1781927] - [nvme] nvmet-loop: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Avoid preallocating big SGL for data (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: add quirk to avoid changing temperature threshold (Gopal Tiwari) [1781927] - [nvme] nvme: hwmon: provide temperature min and max values for each sensor (Gopal Tiwari) [1781927] - [nvme] nvme: Discard workaround for non-conformant devices (Gopal Tiwari) [1781927] - [nvme] nvme: Add hardware monitoring support (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: fix crash in nvme_mpath_clear_ctrl_paths (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: fix a segmentation fault during module unload (Gopal Tiwari) [1781927] - [nvme] nvmet: clean up command parsing a bit (Gopal Tiwari) [1781927] - [nvme] nvmet: fill discovery controller sn, fr and mn correctly (Gopal Tiwari) [1781927] - [nvme] nvmet: Open code nvmet_req_execute() (Gopal Tiwari) [1781927] - [nvme] nvmet: Remove the data_len field from the nvmet_req struct (Gopal Tiwari) [1781927] - [nvme] nvmet: add plugging for read/write when ns is bdev (Gopal Tiwari) [1781927] - [nvme] nvmet: stop using bio_set_op_attrs (Gopal Tiwari) [1781927] - [nvme] nvmet: Introduce nvmet_dsm_len() helper (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Spelling s/resdicovered/rediscovered/ (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Don't check data_len in nvmet_tcp_map_data() (Gopal Tiwari) [1781927] - [nvme] nvme: Introduce nvme_lba_to_sect() (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Don't set the request's data_len (Gopal Tiwari) [1781927] - [nvme] nvmet: Cleanup discovery execute handlers (Gopal Tiwari) [1781927] - [nvme] nvmet-rdma: add unlikely check at nvmet_rdma_map_sgl_keyed (Gopal Tiwari) [1781927] - [nvme] nvme: Cleanup and rename nvme_block_nr() (Gopal Tiwari) [1781927] - [nvme] nvme: introduce "Command Aborted By host" status code (Gopal Tiwari) [1781927] - [nvme] nvmet: Introduce common execute function for get_log_page and identify (Gopal Tiwari) [1781927] - [nvme] nvme: move common call to nvme_cleanup_cmd to core layer (Gopal Tiwari) [1781927] - [nvme] nvmet: add unlikely check at nvmet_req_alloc_sgl (Gopal Tiwari) [1781927] - [nvme] nvme-fc: ensure association_id is cleared regardless of a Disconnect LS (Gopal Tiwari) [1781927] - [nvme] nvme-fc: clarify error messages (Gopal Tiwari) [1781927] - [nvme] nvme: introduce nvme_is_aen_req function (Gopal Tiwari) [1781927] - [nvme] nvme-fc and nvmet-fc: sync with FC-NVME-2 header changes (Gopal Tiwari) [1781927] - [nvme] nvmet: use bio_io_error instead of duplicating it (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Set new cmd set indicator in nvme-fc cmnd iu (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: remove unused groups_only mode in ana log (Gopal Tiwari) [1781927] - [nvme] nvme-multipath: fix possible io hang after ctrl reconnect (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fix possible leakage during error flow (Gopal Tiwari) [1781927] - [nvme] nvmet-loop: fix possible leakage during error flow (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Initialize sk->sk_ll_usec only with NET_RX_BUSY_POLL (Gopal Tiwari) [1781927] - [nvme] nvme: Wait for reset state when required (Gopal Tiwari) [1781927] - [nvme] nvme: Prevent resets during paused controller state (Gopal Tiwari) [1781927] - [nvme] nvme: Restart request timers in resetting state (Gopal Tiwari) [1781927] - [nvme] nvme: Remove ADMIN_ONLY state (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Free tagset if no IO queues (Gopal Tiwari) [1781927] - [nvme] nvme: fix possible deadlock when nvme_update_formats fails (Gopal Tiwari) [1781927] - [include] nvme-fc: Sync nvme-fc header to FC-NVME-2 (Gopal Tiwari) [1781927] - [nvme] nvme: retain split access workaround for capability reads (Gopal Tiwari) [1781927] - [nvme] nvme: Move ctrl sqsize to generic space (Gopal Tiwari) [1781927] - [nvme] nvme: Add ctrl attributes for queue_count and sqsize (Gopal Tiwari) [1781927] - [nvme] nvme: allow 64-bit results in passthru commands (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Fix max_hw_sectors calculation (Gopal Tiwari) [1781927] - [nvme] Added QUIRKs for ADATA XPG SX8200 Pro 512GB (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fix wrong stop condition in io_work (Gopal Tiwari) [1781927] - [nvme] nvme: fix an error code in nvme_init_subsystem() (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: remove superflous check on request sgl (Gopal Tiwari) [1781927] - [nvme] nvme: Add quirk for Kingston NVME SSD running FW E8FK11.T (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Fix a race in controller removal (Gopal Tiwari) [1781927] - [nvme] nvmet: change ppl to lpp (Gopal Tiwari) [1781927] - [nvme] nvme: add uevent variables for controller devices (Gopal Tiwari) [1781927] - [nvme] nvme: Remove redundant assignment of cq vector (Gopal Tiwari) [1781927] - [nvme] nvme: enable aen regardless of the presence of I/O queues (Gopal Tiwari) [1781927] - [nvme] nvme: send discovery log page change events to userspace (Gopal Tiwari) [1781927] - [nvme] nvme: Assign subsys instance from first ctrl (Gopal Tiwari) [1781927] - [nvme] nvmet: fix a wrong error status returned in error log page (Gopal Tiwari) [1781927] - [nvme] nvme: tcp: remove redundant assignment to variable ret (Gopal Tiwari) [1781927] - [nvme] nvme-fabrics: allow discovery subsystems accept a kato (Gopal Tiwari) [1781927] - [nvme] nvmet: Use PTR_ERR_OR_ZERO() in nvmet_init_discovery() (Gopal Tiwari) [1781927] - [nvme] nvme: Treat discovery subsystems as unique subsystems (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Fail transport errors with NVME_SC_HOST_PATH (Gopal Tiwari) [1781927] - [nvme] nvme: make nvme_report_ns_ids propagate error back (Gopal Tiwari) [1781927] - [nvme] nvme: pass status to nvme_error_status (Gopal Tiwari) [1781927] - [nvme] nvme: fix ns removal hang when failing to revalidate due to a transient error (Gopal Tiwari) [1781927] - [nvme] nvme: make nvme_identify_ns propagate errors back (Gopal Tiwari) [1781927] - [nvme] nvme: fail cancelled commands with NVME_SC_HOST_PATH_ERROR (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: fail command with NVME_SC_HOST_PATH_ERROR send failed (Gopal Tiwari) [1781927] - [nvme] nvme: include admin_q sync with nvme_sync_queues (Gopal Tiwari) [1781927] - [nvme] nvme-fc: Use rq_dma_dir macro (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Use rq_dma_dir macro (Gopal Tiwari) [1781927] - [nvme] nvme-rdma: Add TOS for rdma transport (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Support shared tags across queues for Apple 2018 controllers (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Add support for Apple 2018+ models (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Add support for variable IO SQ element size (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Add TOS for tcp transport (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Use struct nvme_ctrl directly (Gopal Tiwari) [1781927] - [nvme] nvme-pci: Pass the queue to SQ_SIZE/CQ_SIZE macros (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: Add TOS for tcp transport (Gopal Tiwari) [1781927] - [nvme] nvme: trace bio completion (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: fix possible NULL deref (Gopal Tiwari) [1781927] - [nvme] nvme: tcp: selects CRYPTO_CRC32C for nvme-tcp (Gopal Tiwari) [1781927] - [nvme] nvme-fabrics: Add type of service (TOS) configuration (Gopal Tiwari) [1781927] - [nvme] nvmet: trace: parse Get LBA Status command in detail (Gopal Tiwari) [1781927] - [nvme] nvmet: fix data units read and written counters in SMART log (Gopal Tiwari) [1781927] - [nvme] nvmet-tcp: fix possible memory leak (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: support simple polling (Gopal Tiwari) [1781927] - [nvme] nvme: trace: parse Get LBA Status command in detail (Gopal Tiwari) [1781927] - [include] nvme: add Get LBA Status command opcode (Gopal Tiwari) [1781927] - [nvme] nvme: move sqsize setting to the core (Gopal Tiwari) [1781927] - [nvme] nvme: don't pass cap to nvme_disable_ctrl (Gopal Tiwari) [1781927] - [nvme] nvme-pci: set ctrl sqsize to the device q_depth (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: cleanup nvme_tcp_recv_pdu (Gopal Tiwari) [1781927] - [nvme] nvme: have nvme_init_identify set ctrl->cap (Gopal Tiwari) [1781927] - [nvme] nvme-tcp: Use protocol specific operations while reading socket (Gopal Tiwari) [1781927] - [nvme] nvme: Fix cntlid validation when not using NVMEoF (Gopal Tiwari) [1781927] - [infiniband] PCI/P2PDMA: Introduce pci_p2pdma_unmap_sg() (Gopal Tiwari) [1781927] - [nvme] PCI/P2PDMA: Add attrs argument to pci_p2pdma_map_sg() (Gopal Tiwari) [1781927] - [lightnvm] lightnvm: remove nvm_submit_io_sync_fn (Gopal Tiwari) [1781927] - [powerpc] xive: Discard ESB load value when interrupt is invalid (David Gibson) [1744408] - [documentation] kvm: ppc: book3s hv: xive: Allow userspace to set the # of VPs (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Make VP block size configurable (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Set kvm->arch.xive when VPs are allocated (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Compute the VP id in a common helper (David Gibson) [1744408] - [powerpc] xive: Implement get_irqchip_state method for XIVE to fix shutdown race (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Free escalation interrupts before disabling the VP (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: xive: Ensure VP isn't already in use (David Gibson) [1744408] - [powerpc] kvm: ppc: book3s hv: Fix regression on big endian hosts (David Gibson) [1725763] - [powerpc] 64s: Fix misleading SPR and timebase information (David Gibson) [1725763] - [powerpc] powernv: Add ultravisor message log interface (David Gibson) [1725763] - [powerpc] powernv/opal-msglog: Refactor memcons code (David Gibson) [1725763] - [powerpc] kvm: Use UV_RETURN ucall to return to ultravisor (David Gibson) [1725763] - [powerpc] powernv: Access LDBAR only if ultravisor disabled (David Gibson) [1725763] - [powerpc] powernv/idle: Fix restore of SPRN_LDBAR for POWER9 stop state (David Gibson) [1725763] - [powerpc] powernv/idle: Restore AMR/UAMOR/AMOR/IAMR after idle (David Gibson) [1725763] - [powerpc] 64s: Reimplement book3s idle code in C (David Gibson) [1725763] - [powerpc] revert "powerpc/powernv/idle: Restore IAMR after idle" (David Gibson) [1725763] - [powerpc] revert "powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle" (David Gibson) [1725763] - [powerpc] mm: Write to PTCR only if ultravisor disabled (David Gibson) [1725763] - [powerpc] mm: Use UV_WRITE_PATE ucall to register a PATE (David Gibson) [1725763] - [powerpc] powernv: Introduce FW_FEATURE_ULTRAVISOR (David Gibson) [1725763] - [powerpc] kernel: Add ucall_norets() ultravisor call handler (David Gibson) [1725763] - [documentation] documentation/powerpc: Ultravisor API (David Gibson) [1725763] - [documentation] documentation/powerpc: Add ELF note documentation (David Gibson) [1725763] - [powerpc] Add PowerPC Capabilities ELF note (David Gibson) [1725763] - [netdrv] mlx5e: allow TSO on VXLAN over VLAN topologies (Davide Caratti) [1780643] - [net] bluetooth: Add debug setting for changing minimum encryption key size (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: Let hidp_send_message return number of queued bytes (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: search for destination address in all peers (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: always check destination address (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: check neighbour table for SLAAC (Gopal Tiwari) [1764976] - [net] bluetooth: Add SMP workaround Microsoft Surface Precision Mouse bug (Gopal Tiwari) [1764976] - [net] bluetooth: Use controller sets when available (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Check bearer type on __l2cap_global_chan_by_addr (Gopal Tiwari) [1764976] - [net] bluetooth: validate BLE connection interval updates (Gopal Tiwari) [1764976] - [net] bluetooth: Add support for LE ping feature (Gopal Tiwari) [1764976] - [net] bluetooth: Check state in l2cap_disconnect_rsp (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: NUL terminate a string in the compat ioctl (Gopal Tiwari) [1764976] - [net] bluetooth: Ignore CC events not matching the last HCI command (Gopal Tiwari) [1764976] - [net] bluetooth: Align minimum encryption key size for LE and BR/EDR connections (Gopal Tiwari) [1764976] - [net] bluetooth: hci_core: Don't stop BT if the BD address missing in dts (Gopal Tiwari) [1764976] - [net] bluetooth: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: Fix incorrect pointer arithmatic in ext_adv_report_evt (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: fix buffer overflow (Gopal Tiwari) [1764976] - [net] bluetooth: Add return check for L2CAP security level set (Gopal Tiwari) [1764976] - [net] bluetooth: Fix not initializing L2CAP tx_credits (Gopal Tiwari) [1764976] - [net] bluetooth: Check address length before reading address field (Gopal Tiwari) [1764976] - [net] bluetooth: Add quirk for reading BD_ADDR from fwnode property (Gopal Tiwari) [1764976] - [net] bluetooth: mgmt: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: a2mp: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: hci_event: Use struct_size() helper (Gopal Tiwari) [1764976] - [net] bluetooth: Fix decrementing reference count twice in releasing socket (Gopal Tiwari) [1764976] - [net] bluetooth: make hw_err static, reduces object code size (Gopal Tiwari) [1764976] - [net] bluetooth: Allow driver specific cmd timeout handling (Gopal Tiwari) [1764976] - [net] bluetooth: Mark expected switch fall-throughs (Gopal Tiwari) [1764976] - [net] bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt (Gopal Tiwari) [1764976] - [net] Bluetooth: Fix locking in bt_accept_enqueue() for BH context (Gopal Tiwari) [1764976] - [net] bluetooth: 6lowpan: Fix debugfs_simple_attr.cocci warnings (Gopal Tiwari) [1764976] - [net] bluetooth: Fix unnecessary error message for HCI request completion (Gopal Tiwari) [1764976] - [net] bluetooth: clean an indentation issue, remove extraneous space (Gopal Tiwari) [1764976] - [net] bluetooth: Change to use DEFINE_SHOW_ATTRIBUTE macro (Gopal Tiwari) [1764976] - [net] bluetooth: Remove redundant check on status (Gopal Tiwari) [1764976] - [net] bluetooth: Errata Service Release 8, Erratum 3253 (Gopal Tiwari) [1764976] - [net] bluetooth: Use separate L2CAP LE credit based connection result values (Gopal Tiwari) [1764976] - [net] rfcomm: get rid of mentioning TIOC[SG]SERIAL (Gopal Tiwari) [1764976] - [net] bluetooth: Fix debugfs NULL pointer dereference (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Detect if remote is not able to use the whole MPS (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Derive rx credits from MTU and MPS (Gopal Tiwari) [1764976] - [net] bluetooth: l2cap: Derive MPS from connection MTU (Gopal Tiwari) [1764976] - [net] bluetooth: Add definitions and track LE resolve list modification (Gopal Tiwari) [1764976] - [net] bluetooth: Remove unnecessary smp_mb__{before, after}_atomic (Gopal Tiwari) [1764976] - [net] bluetooth: smp: fix crash in unpairing (Gopal Tiwari) [1764976] - [net] bluetooth: smp: Fix trying to use non-existent local OOB data (Gopal Tiwari) [1764976] - [net] bluetooth: Use correct tfm to generate OOB data (Gopal Tiwari) [1764976] - [net] hidp: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] hidp: constify hidp_connection_add() (Gopal Tiwari) [1764976] - [net] cmtp: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] bnep: fix compat_ioctl (Gopal Tiwari) [1764976] - [net] bluetooth: Add definitions for LE set address resolution (Gopal Tiwari) [1764976] - [net] bluetooth: remove redundant variables 'adv_set' and 'cp' (Gopal Tiwari) [1764976] - [net] bluetooth: hidp: Fix handling of strncpy for hid->name information (Gopal Tiwari) [1764976] - [net] bluetooth: Add new quirk for non-persistent setup settings (Gopal Tiwari) [1764976] - [net] bluetooth: Handle ADv set terminated event (Gopal Tiwari) [1764976] - [net] bluetooth: Implement secondary advertising on different PHYs (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Set ADV set random address (Gopal Tiwari) [1764976] - [net] bluetooth: Implement disable and removal of adv instance (Gopal Tiwari) [1764976] - [net] bluetooth: Use ext adv for directed adv (Gopal Tiwari) [1764976] - [net] bluetooth: Implement PHY changed event (Gopal Tiwari) [1764976] - [net] bluetooth: Handle extended ADV PDU types (Gopal Tiwari) [1764976] - [net] bluetooth: Use Set ext adv/scan rsp data if controller supports (Gopal Tiwari) [1764976] - [net] bluetooth: Impmlement extended adv enable (Gopal Tiwari) [1764976] - [net] bluetooth: Define PHY flags in hdev and set 1M as default (Gopal Tiwari) [1764976] - [net] bluetooth: Read no of adv sets during init (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Get PHY Configuration mgmt command (Gopal Tiwari) [1764976] - [net] bluetooth: Use selected PHYs in extended connect (Gopal Tiwari) [1764976] - [net] bluetooth: Set Scan PHYs based on selected PHYs by user (Gopal Tiwari) [1764976] - [net] bluetooth: Implement Set PHY Confguration command (Gopal Tiwari) [1764976] - [net] bluetooth: Add defines for BREDR pkt_type (Gopal Tiwari) [1764976] - [net] bluetooth: Use lock_sock_nested in bt_accept_enqueue (Gopal Tiwari) [1764976] - [net] bluetooth: avoid killing an already killed socket (Gopal Tiwari) [1764976] - [net] bluetooth: Use extended LE Connection if supported (Gopal Tiwari) [1764976] - [net] bluetooth: Introduce helpers for le conn status and complete (Gopal Tiwari) [1764976] - [net] bluetooth: Process extended ADV report event (Gopal Tiwari) [1764976] - [net] bluetooth: Use extended scanning if controller supports (Gopal Tiwari) [1764976] - [net] bluetooth: Introduce helpers for LE set scan start and complete (Gopal Tiwari) [1764976] - [net] bluetooth: Store Resolv list size (Gopal Tiwari) [1764976] - [net] bluetooth: Add HCI command for clear Resolv list (Gopal Tiwari) [1764976] - [leds] triggers: let struct (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Skip 1 error print in device_want_to_sleep() (Gopal Tiwari) [1764976] - [bluetooth] btqca: Reset download type to default (Gopal Tiwari) [1764976] - [bluetooth] btqca: release_firmware after qca_inject_cmd_complete_event (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Send VS pre shutdown command (Gopal Tiwari) [1764976] - [bluetooth] btqca: Use correct byte format for opcode of injected command (Gopal Tiwari) [1764976] - [bluetooth] btqca: Add a short delay before downloading the NVM (Gopal Tiwari) [1764976] - [bluetooth] btusb: Fix error return code in btusb_mtk_setup_firmware() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Use kfree_skb() instead of kfree() (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add protocol support for MediaTek MT7663U USB devices (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add protocol support for MediaTek MT7668U USB devices (Gopal Tiwari) [1764976] - [bluetooth] Add new 13d3:3491 QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] Add new 13d3:3501 QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] hci_bcsp: Fix memory leak in rx_skb (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for RTL8723DU (Gopal Tiwari) [1764976] - [bluetooth] btmtkuart: add an implementation for clock osc property (Gopal Tiwari) [1764976] - [bluetooth] btmtkuart: add an implementation for boot-gpios property (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4359C0 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Load customized NVM based on the device property (Gopal Tiwari) [1764976] - [bluetooth] hci_mrvl: Add serdev support (Gopal Tiwari) [1764976] - [bluetooth] hci_mrvl: Wait for final ack before switching baudrate (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Add function to wait for characters to be sent (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: wcn3990: Drop baudrate change vendor event (Gopal Tiwari) [1764976] - [bluetooth] btqca: inject command complete event during fw download (Gopal Tiwari) [1764976] - [bluetooth] Cleanup formatting and coding style (Gopal Tiwari) [1764976] - [bluetooth] btrtl: HCI reset on close for Realtek BT chip (Gopal Tiwari) [1764976] - [bluetooth] hci_ll: Refactor download_firmware (Gopal Tiwari) [1764976] - [bluetooth] hci_ll: set operational frequency earlier (Gopal Tiwari) [1764976] - [bluetooth] btsdio: Do not bind to non-removable BCM4356 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Rename STATE_ to QCA_ (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM2076B1 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Added support for WCN3998 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Fix crash with non-serdev devices (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Give enough time to ROME controller to bootup (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Fix empty regulator supplies for Intel Macs (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM2076B1 UART Bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM43341B (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: add support for SD8987 chipset (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Drop newline with bt_dev logging macros (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Fix hdev->stat.byte_rx accumulation (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Add runtime PM support to SDIO based Bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: Add a bit definition for CHLPCR (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Fixed incorrect type in assignment (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: fix spelling mistake "sliped" -> "slipped" (Gopal Tiwari) [1764976] - [bluetooth] btmtksdio: fix uninitialized symbol errors in btmtksdio_rx_packet (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Use module_sdio_driver helper (Gopal Tiwari) [1764976] - [bluetooth] mediatek: add support for MediaTek MT7663S and MT7668S SDIO devices (Gopal Tiwari) [1764976] - [bluetooth] btqca: Fix misspelling of 'baudrate' (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add helper function to get the chip family (Gopal Tiwari) [1764976] - [bluetooth] btusb: request wake pin with NOAUTOEN (Gopal Tiwari) [1764976] - [bluetooth] mediatek: add support for MediaTek MT7663U and MT7668U UART devices (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Reduce delay after sending baudrate request for WCN3990 (Gopal Tiwari) [1764976] - [bluetooth] btusb: add QCA6174A compatible properties (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Use msleep() instead of open coding it (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add delay after power-off pulse (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Move boot delay to qca_send_power_pulse() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Pass boolean 'on/off' to qca_send_power_pulse() (Gopal Tiwari) [1764976] - [bluetooth] btqcomsmd: use HCI_QUIRK_USE_BDADDR_PROPERTY (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Set HCI_QUIRK_USE_BDADDR_PROPERTY for wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto() (Gopal Tiwari) [1764976] - [bluetooth] mediatek: update the common setup between MT7622 and other devices (Gopal Tiwari) [1764976] - [bluetooth] mediatek: pass a pointer to mtk_hci_wmt_sync (Gopal Tiwari) [1764976] - [bluetooth] mediatek: fix up an error path to restore bdev->tx_state (Gopal Tiwari) [1764976] - [bluetooth] mediatek: trivial typo fix (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Initialize hci_dev before open() (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Disable IBS state machine and flush Tx buffer (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Deassert RTS while baudrate change command (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: use wait_until_sent() for power pulses (Gopal Tiwari) [1764976] - [bluetooth] remove redundant zero check on count (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add shutdown routine for BTUSB_INTEL_NEW devices (Gopal Tiwari) [1764976] - [bluetooth] btusb: btusb_intel_cmd_timeout: use sleeping functions (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Restore old logic to assume firmware is already loaded (Gopal Tiwari) [1764976] - [bluetooth] btusb: Use the cmd_timeout method to reset the Intel BT chip (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: add support for sd8977 chipset (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: Drop unused GPIO includes (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: lower log level of informational message (Gopal Tiwari) [1764976] - [bluetooth] hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf() (Gopal Tiwari) [1764976] - [bluetooth] btmrvl: improve printk messages (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add helper to set device address (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4329B1 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Handle specific unknown packets after firmware loading (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Turn off RTL8723BS on suspend, reprobe on resume (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add suspend / resume ops (Gopal Tiwari) [1764976] - [bluetooth] hci_intel: clean an indentation issue, remove extraneous spaces (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Remove setting of HCI_QUIRK_RESET_ON_CLOSE (Gopal Tiwari) [1764976] - [bluetooth] Remove unnecessary smp_mb__after_atomic() barriers (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add BCM20702A1 variant (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Wait for device to come out of reset after power on (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add support for regulator supplies (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add compatible string for BCM4330 (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add default address for BCM43430A0 (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Add support for LPO clock (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Use "txco" and "extclk" to get clock reference (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Simplify clk_get error handling (Gopal Tiwari) [1764976] - [bluetooth] hci_bcm: Handle deferred probing for the clock supply (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add support for controller debug logs (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add support for 0cf3:535b QCA_ROME device (Gopal Tiwari) [1764976] - [bluetooth] btsdio: Do not bind to non-removable BCM43430 (Gopal Tiwari) [1764976] - [bluetooth] ath3k: add more information to error message (Gopal Tiwari) [1764976] - [bluetooth] bt3c_cs: Fix obsolete function (Gopal Tiwari) [1764976] - [bluetooth] btrsi: fix bt tx timeout issue (Gopal Tiwari) [1764976] - [bluetooth] btbcm: Add entry for BCM4335C0 UART bluetooth (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for RTL8822C with USB interface (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Fixed error space required before open paranethesis (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add poweroff support during hci down for wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] btusb: Add quirk for BTUSB_INTEL_NEW (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Make array extension_sig static, shrinks object size (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Remove serdev_device_open/close function calls (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Remove hdev dereference in qca_close() (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: clear HCI_UART_PROTO_READY to avoid closing proto races (Gopal Tiwari) [1764976] - [bluetooth] hci_serdev: Add protocol check in hci_uart_dequeue() (Gopal Tiwari) [1764976] - [bluetooth] hci_ldisc: Free rw_semaphore on close (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Fix memory leak (Gopal Tiwari) [1764976] - [bluetooth] Make BT_HCIUART_RTL configuration option depend on ACPI (Gopal Tiwari) [1764976] - [bluetooth] mediatek: pass correct size to h4_recv_buf() (Gopal Tiwari) [1764976] - [bluetooth] Introduce BT_HCIUART_RTL configuration option (Gopal Tiwari) [1764976] - [bluetooth] mediatek: Add protocol support for MediaTek serial devices (Gopal Tiwari) [1764976] - [bluetooth] btqca: Introduce HCI_EV_VENDOR and use it (Gopal Tiwari) [1764976] - [bluetooth] h5: Fix missing dependency on BT_HCIUART_SERDEV (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add support for Qualcomm Bluetooth chip wcn3990 (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Enable 3.2 Mbps operating speed (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Add wrapper functions for setting UART speed (Gopal Tiwari) [1764976] - [bluetooth] btqca: Add wcn3990 firmware download support (Gopal Tiwari) [1764976] - [bluetooth] btqca: Redefine qca_uart_setup() to generic function (Gopal Tiwari) [1764976] - [bluetooth] btqca: Rename ROME specific functions to generic functions (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for enable and device-wake GPIOs (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for the RTL8723BS (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add vendor setup, open, and close callbacks (Gopal Tiwari) [1764976] - [bluetooth] hci_h5: Add support for serdev enumerated devices (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add support for retrieving the UART settings (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Use rtl_dev_err and rtl_dev_info (Gopal Tiwari) [1764976] - [bluetooth] btrtl: Add support for a config filename postfix (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add support for the RTL8723BS and RTL8723DS chips (Gopal Tiwari) [1764976] - [bluetooth] btrtl: add MODULE_FIRMWARE declarations (Gopal Tiwari) [1764976] - [bluetooth] btrtl: split the device initialization into smaller parts (Gopal Tiwari) [1764976] - [bluetooth] btusb: Release RF resource on BT shutdown (Gopal Tiwari) [1764976] - [bluetooth] hci_qca: Replace GFP_ATOMIC with GFP_KERNEL (Gopal Tiwari) [1764976] - [bluetooth] hci_intel: Replace GFP_ATOMIC with GFP_KERNEL in inject_cmd_complete() (Gopal Tiwari) [1764976] - [bluetooth] btusb: Replace GFP_ATOMIC with GFP_KERNEL in inject_cmd_complete() (Gopal Tiwari) [1764976] - [bluetooth] bfusb: Replace GFP_ATOMIC with GFP_KERNEL in bfusb_send_frame() (Gopal Tiwari) [1764976] - [bluetooth] bluecard_cs: Replace GFP_ATOMIC with GFP_KERNEL in bluecard_hci_set_baud_rate() (Gopal Tiwari) [1764976] - [bluetooth] bpa10x: Replace GFP_ATOMIC with GFP_KERNEL in bpa10x_send_frame() (Gopal Tiwari) [1764976] - [bluetooth] btmrvl_sdio: Replace GFP_ATOMIC with GFP_KERNEL in btmrvl_sdio_card_to_host() (Gopal Tiwari) [1764976] - [bluetooth] btusb: use irqsave() in URB's complete callback (Gopal Tiwari) [1764976] - [bluetooth] Add a new Realtek 8723DE ID 0bda:b009 (Gopal Tiwari) [1764976]- Revert "[redhat] switch secureboot kernel image signing to release keys" (Frantisek Hrbata) - [powerpc] powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable (David Hildenbrand) [1812874] - [x86] kvm/svm: PKU not currently supported (Wei Huang) [1789159] - [x86] Remove the unsupported check for Cooper Lake (David Arcari) [1813921]- [netdrv] net/mlx5e: Show/set Rx network flow classification rules on ul rep (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Init ethtool steering for representors (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Show/set Rx flow indir table and RSS hash key on ul rep (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5e: Introduce root ft concept for representors netdevs (Alaa Hleihel) [1795156 1794280] - [netdrv] net/mlx5: E-Switch, Use vport metadata matching only when mandatory (Alaa Hleihel) [1795156] - [nvme] nvme: log additional message for controller status (David Milburn) [1752952]- [powerpc] powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems (Desnes Augusto Nunes do Rosario) [1755221] - [mm] powerpc/book3s64/radix: Remove WARN_ON in destroy_context() (Steve Best) [1812821] - [kernel] rcutorture: Upper case solves the case of the vanishing NULL pointer (Waiman Long) [1810247] - [tools] torture: Suppress propagating trace_printk() warning (Waiman Long) [1810247] - [kernel] rcutorture: Dump trace buffer for callback pipe drain failures (Waiman Long) [1810247] - [tools] torture: Add --trust-make to suppress "make clean" (Waiman Long) [1810247] - [tools] torture: Make --cpus override idleness calculations (Waiman Long) [1810247] - [tools] torture: Run kernel build in source directory (Waiman Long) [1810247] - [tools] torture: Add function graph-tracing cheat sheet (Waiman Long) [1810247] - [tools] torture: Capture qemu output (Waiman Long) [1810247] - [tools] rcutorture: Tweak kvm options (Waiman Long) [1810247] - [kernel] rcutorture: Add trivial RCU implementation (Waiman Long) [1810247] - [kernel] rcutorture: Halt forward-progress checks at end of run (Waiman Long) [1810247] - [kernel] rcutorture: Give the scheduler a chance on PREEMPT && NO_HZ_FULL kernels (Waiman Long) [1810247] - [tools] rcutorture: Exempt TREE01 from forward-progress testing (Waiman Long) [1810247] - [kernel] rcutorture: Exempt tasks RCU from timely draining of grace periods (Waiman Long) [1810247] - [tools] rcutorture: Provide rudimentary Makefile (Waiman Long) [1810247] - [tools] torture: Make kvm-find-errors.sh and kvm-recheck.sh provide exit status (Waiman Long) [1810247] - [kernel] torture: Allow inter-stutter interval to be specified (Waiman Long) [1810247] - [kernel] rcutorture: Fix stutter_wait() return value and freelist checks (Waiman Long) [1810247] - [kernel] rcutorture: Add cond_resched() to forward-progress free-up loop (Waiman Long) [1810247] - [tools] rcutorture: Add cpu0 to the set of CPUs to add jitter (Waiman Long) [1810247] - [tools] rcutorture: Select from only online CPUs (Waiman Long) [1810247] - [kernel] rcu/sync: Simplify the state machine (Waiman Long) [1810247] - [kernel] locking/percpu-rwsem: Add DEFINE_PERCPU_RWSEM(), use it to initialize cgroup_threadgroup_rwsem (Waiman Long) [1810247] - [kernel] rcu/sync: Kill rcu_sync_type/gp_type (Waiman Long) [1810247] - [kernel] rcu: Make __call_srcu static (Waiman Long) [1810247] - [kernel] rcu: Upgrade sync_exp_work_done() to smp_mb() (Waiman Long) [1810247] - [documentation] doc: Remove ".vnet" from paulmck email addresses (Waiman Long) [1810247] - [kernel] rcu: Set a maximum limit for back-to-back callback invocation (Waiman Long) [1810247] - [kernel] rcu: Correctly unlock root node in rcu_check_gp_start_stall() (Waiman Long) [1810247] - [kernel] rcu: Dump specified number of blocked tasks (Waiman Long) [1810247] - [kernel] rcu: Remove unused rdp local from synchronize_rcu_expedited() (Waiman Long) [1810247] - [kernel] rcu: Rename rcu_data's ->deferred_qs to ->exp_deferred_qs (Waiman Long) [1810247] - [kernel] rcu: Add checks for dynticks counters in rcu_is_cpu_rrupt_from_idle() (Waiman Long) [1810247] - [kernel] rcu: Avoid self-IPI in sync_sched_exp_online_cleanup() (Waiman Long) [1810247] - [kernel] rcu: Avoid self-IPI in sync_rcu_exp_select_node_cpus() (Waiman Long) [1810247] - [kernel] rcu: Inline invoke_rcu_callbacks() into its sole remaining caller (Waiman Long) [1810247] - [kernel] rcu: Use irq_work to get scheduler's attention in clean context (Waiman Long) [1810247] - [kernel] rcu: Allow rcu_read_unlock_special() to raise_softirq() if in_irq() (Waiman Long) [1810247] - [kernel] rcu: Only do rcu_read_unlock_special() wakeups if expedited (Waiman Long) [1810247] - [kernel] rcu: Check for wakeup-safe conditions in rcu_read_unlock_special() (Waiman Long) [1810247] - [kernel] rcu: Enable elimination of Tree-RCU softirq processing (Waiman Long) [1810247] - [kernel] rcuperf: Fix cleanup path for invalid perf_type strings (Waiman Long) [1810247] - [kernel] rcutorture: Fix cleanup path for invalid torture_type strings (Waiman Long) [1810247] - [kernel] rcutorture: Fix expected forward progress duration in OOM notifier (Waiman Long) [1810247] - [kernel] rcutorture: Remove ->ext_irq_conflict field (Waiman Long) [1810247] - [kernel] rcutorture: Make rcutorture_extend_mask() comment match the code (Waiman Long) [1810247] - [tools] tools/.../rcutorture: Convert to SPDX license identifier (Waiman Long) [1810247] - [kernel] torture: Don't try to offline the last CPU (Waiman Long) [1810247] - [kernel] rcu: Fix nohz status in stall warning (Waiman Long) [1810247] - [kernel] rcu: Move forward-progress checkers into tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Move irq-disabled stall-warning checking to tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Organize functions in tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Move FAST_NO_HZ stall-warning code to tree_stall.h (Waiman Long) [1810247] - [kernel] rcu: Inline RCU stall-warning info helper functions (Waiman Long) [1810247] - [kernel] rcu: Move rcu_print_task_exp_stall() to tree_exp.h (Waiman Long) [1810247] - [kernel] rcu: Inline RCU task stall-warning helper functions (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of tree.c (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of tree_plugin.h (Waiman Long) [1810247] - [kernel] rcu: Move RCU CPU stall-warning code out of update.c (Waiman Long) [1810247] - [kernel] srcu: Remove cleanup_srcu_struct_quiesced() (Waiman Long) [1810247] - [kernel] srcu: Check for in-flight callbacks in _cleanup_srcu_struct() (Waiman Long) [1810247] - [kernel] rcu: Correct READ_ONCE()/WRITE_ONCE() for ->rcu_read_unlock_special (Waiman Long) [1810247] - [kernel] rcu: Fix typo in tree_exp.h comment (Waiman Long) [1810247] - [kernel] rcu: Eliminate redundant NULL-pointer check (Waiman Long) [1810247] - [kernel] rcu: Fix force_qs_rnp() header comment (Waiman Long) [1810247] - [kernel] rcu: Update jiffies_to_sched_qs and adjust_jiffies_till_sched_qs() comments (Waiman Long) [1810247] - [kernel] rcu: Do a single rhp->func read in rcu_head_after_call_rcu() (Waiman Long) [1810247] - [kernel] rcu: Default jiffies_to_sched_qs to jiffies_till_sched_qs (Waiman Long) [1810247] - [kernel] rcu: Fix self-wakeups for grace-period kthread (Waiman Long) [1810247] - [kernel] rcu: Report error for bad rcu_nocbs= parameter values (Waiman Long) [1810247] - [kernel] rcu: Allow rcu_nocbs= to specify all CPUs (Waiman Long) [1810247] - [kernel] rcu: Move common code out of if-else block (Waiman Long) [1810247] - [kernel] rcu: Set rcutree.kthread_prio sysfs access to read-only (Waiman Long) [1810247] - [kernel] rcu: Make exit_rcu() handle non-preempted RCU readers (Waiman Long) [1810247] - [kernel] rcu: rcu_qs -- Use raise_softirq_irqoff to not save irqs twice (Waiman Long) [1810247] - [kernel] rcu: Avoid unnecessary softirq when system is idle (Waiman Long) [1810247] - [kernel] rcu: Unconditionally expedite during suspend/hibernate (Waiman Long) [1810247] - [kernel] rcu/tree: Convert to SPDX license identifier (Waiman Long) [1810247] - [kernel] srcu: Remove srcu_queue_delayed_work_on() (Waiman Long) [1810247] - [kernel] sched/fair: Define sched_idle_cpu() only for SMP configurations (Phil Auld) [1419746] - [kernel] sched/fair: Load balance aggressively for SCHED_IDLE CPUs (Phil Auld) [1419746] - [kernel] sched/fair : Improve update_sd_pick_busiest for spare capacity case (Phil Auld) [1419746] - [kernel] sched/fair: Fix find_idlest_group() to handle CPU affinity (Phil Auld) [1419746] - [kernel] sched/cfs: fix spurious active migration (Phil Auld) [1419746] - [kernel] sched/fair: Add comments for group_type and balancing at SD_NUMA level (Phil Auld) [1419746] - [kernel] sched/fair: Fix rework of find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Rework find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Optimize find_idlest_group() (Phil Auld) [1419746] - [kernel] sched/fair: Use load instead of runnable load in wakeup path (Phil Auld) [1419746] - [kernel] sched/fair: Use utilization to select misfit task (Phil Auld) [1419746] - [kernel] sched/fair: Spread out tasks evenly when not overloaded (Phil Auld) [1419746] - [kernel] sched/fair: Use load instead of runnable load in load_balance() (Phil Auld) [1419746] - [kernel] sched/fair: Use rq->nr_running when balancing load (Phil Auld) [1419746] - [kernel] sched/fair: Rework load_balance() (Phil Auld) [1419746] - [kernel] sched/fair: Remove meaningless imbalance calculation (Phil Auld) [1419746] - [kernel] sched/fair: Rename sg_lb_stats::sum_nr_running to sum_h_nr_running (Phil Auld) [1419746] - [kernel] sched/fair: Clean up asym packing (Phil Auld) [1419746] - [kernel] sched/fair: Fall back to sched-idle CPU if idle CPU isn't found (Phil Auld) [1419746] - [kernel] sched/fair: Start tracking SCHED_IDLE tasks count in cfs_rq (Phil Auld) [1419746] - [kernel] sched/core: Allow sched_setattr() to use the current policy (Phil Auld) [1419746] - [kernel] sched/fair: Introduce fits_capacity() (Phil Auld) [1419746] - [kernel] sched/core: Provide a pointer to the valid CPU mask (Phil Auld) [1419746] - [x86] x86/percpu: Optimize raw_cpu_xchg() (Phil Auld) [1419746] - [kernel] x86/percpu, sched/fair: Avoid local_clock() (Phil Auld) [1419746] - [x86] x86/percpu, x86/irq: Relax {set,get}_irq_regs() (Phil Auld) [1419746] - [x86] x86/percpu: Relax smp_processor_id() (Phil Auld) [1419746] - [x86] x86/percpu: Differentiate this_cpu_{}() and __this_cpu_{}() (Phil Auld) [1419746] - [kernel] sched/fair: Fix unnecessary increase of balance interval (Phil Auld) [1419746] - [kernel] sched/fair: Trigger asym_packing during idle load balance (Phil Auld) [1419746] - [kernel] sched/fair: Fix rounding bug for asym packing (Phil Auld) [1419746] - [kernel] sched/fair: Fix warning on non-SMP build (Phil Auld) [1419746] - [kernel] sched/core: Create task_has_idle_policy() helper (Phil Auld) [1419746] - [firmware] efi: fix a mistype in comments mentioning efivar_entry_iter_begin() (Vladis Dronov) [1804417] - [firmware] efi: add a sanity check to efivar_store_raw() (Vladis Dronov) [1804417] - [firmware] efi: fix a race and a buffer overflow while reading efivars via sysfs (Vladis Dronov) [1804417] - [scsi] scsi: ibmvfc: Fix NULL return compiler warning (Steve Best) [1810653] - [scsi] scsi: ibmvfc: Avoid loss of all paths during SVC node reboot (Steve Best) [1810653] - [fs] xfs: fix some memory leaks in log recovery (Bill O'Donnell) [1765693] - [fs] xfs: Fix deadlock between AGI and AGF when target_ip exists in xfs_rename() (Bill O'Donnell) [1765693] - [fs] xfs: fix inode fork extent count overflow (Bill O'Donnell) [1765693] - [fs] xfs: change the seconds fields in xfs_bulkstat to signed (Bill O'Donnell) [1765693] - [fs] xfs: assure zeroed memory buffers for certain kmem allocations (Bill O'Donnell) [1765693] - [fs] xfs: removed unused error variable from xchk_refcountbt_rec (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flags arg from xfs_get_aghdr_buf() (Bill O'Donnell) [1765693] - [fs] xfs: Fix tail rounding in xfs_alloc_file_space() (Bill O'Donnell) [1765693] - [fs] xfs: remove unlikely() from WARN_ON() condition (Bill O'Donnell) [1765693] - [fs] xfs: avoid unused to_mp() function warning (Bill O'Donnell) [1765693] - [fs] xfs: log proper length of superblock (Bill O'Donnell) [1765693] - [fs] xfs: revert 1baa2800e62d ("xfs: remove the unused XFS_ALLOC_USERDATA flag") (Bill O'Donnell) [1765693] - [fs] xfs: removed unneeded variable (Bill O'Donnell) [1765693] - [fs] xfs: push the grant head when the log head moves forward (Bill O'Donnell) [1765693] - [fs] xfs: push iclog state cleaning into xlog_state_clean_log (Bill O'Donnell) [1765693] - [fs] xfs: factor iclog state processing out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: factor callbacks out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: factor debug code out of xlog_state_do_callback() (Bill O'Donnell) [1765693] - [fs] xfs: prevent CIL push holdoff in log recovery (Bill O'Donnell) [1765693] - [fs] xfs: fix missed wakeup on l_flush_wait (Bill O'Donnell) [1765693] - [fs] xfs: push the AIL in xlog_grant_head_wake (Bill O'Donnell) [1765693] - [fs] xfs: Use WARN_ON_ONCE for bailout mount-operation (Bill O'Donnell) [1765693] - [fs] xfs: define a flags field for the AG geometry ioctl structure (Bill O'Donnell) [1765693] - [fs] xfs: add a xfs_valid_startblock helper (Bill O'Donnell) [1765693] - [fs] xfs: remove the unused XFS_ALLOC_USERDATA flag (Bill O'Donnell) [1765693] - [fs] xfs: cleanup xfs_fsb_to_db (Bill O'Donnell) [1765693] - [fs] xfs: fix the dax supported check in xfs_ioctl_setattr_dax_invalidate (Bill O'Donnell) [1765693] - [fs] xfs: Fix stale data exposure when readahead races with hole punch (Bill O'Donnell) [1765693] - [mm] fs: Export generic_fadvise() (Bill O'Donnell) [1765693] - [fs] xfs: reverse search directory freespace indexes (Bill O'Donnell) [1765693] - [fs] xfs: speed up directory bestfree block scanning (Bill O'Donnell) [1765693] - [fs] xfs: factor free block index lookup from xfs_dir2_node_addname_int() (Bill O'Donnell) [1765693] - [fs] xfs: factor data block addition from xfs_dir2_node_addname_int() (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_dir2_addname() (Bill O'Donnell) [1765693] - [fs] xfs: remove all *_ITER_CONTINUE values (Bill O'Donnell) [1765693] - [fs] xfs: remove all *_ITER_ABORT values (Bill O'Donnell) [1765693] - [fs] xfs: log proper length of btree block in scrub/repair (Bill O'Donnell) [1765693] - [fs] xfs: reinitialize rm_flags when unpacking an offset into an rmap irec (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred bmap functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred refcount functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary int returns from deferred rmap functions (Bill O'Donnell) [1765693] - [fs] xfs: remove unnecessary parameter from xfs_iext_inc_seq (Bill O'Donnell) [1765693] - [fs] xfs: fix sign handling problem in xfs_bmbt_diff_two_keys (Bill O'Donnell) [1765693] - [fs] xfs: don't return _QUERY_ABORT from xfs_rmap_has_other_keys (Bill O'Donnell) [1765693] - [fs] xfs: fix maxicount division by zero error (Bill O'Donnell) [1765693] - [fs] xfs: bmap scrub should only scrub records once (Bill O'Donnell) [1765693] - [fs] xfs: remove excess function parameter description in 'xfs_btree_sblock_v5hdr_verify' (Bill O'Donnell) [1765693] - [fs] fs: xfs: Remove KM_NOSLEEP and KM_SLEEP (Bill O'Donnell) [1765693] - [fs] fs/xfs: Fix return code of xfs_break_leased_layouts() (Bill O'Donnell) [1765693] - [fs] xfs: compat_ioctl: use compat_ptr() (Bill O'Donnell) [1765693] - [fs] xfs: fall back to native ioctls for unhandled compat ones (Bill O'Donnell) [1765693] - [fs] xfs: remove more ondisk directory corruption asserts (Bill O'Donnell) [1765693] - [fs] fs: xfs: xfs_log: Don't use KM_MAYFAIL at xfs_log_reserve() (Bill O'Donnell) [1765693] - [fs] xfs: Fix possible null-pointer dereferences in xchk_da_btree_block_check_sibling() (Bill O'Donnell) [1765693] - [fs] xfs: fix stack contents leakage in the v1 inumber ioctls (Bill O'Donnell) [1765693] - [fs] xfs: sync up xfs_trans_inode with userspace (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_trans_inode.c to libxfs/ (Bill O'Donnell) [1765693] - [fs] xfs: chain bios the right way around in xfs_rw_bdev (Bill O'Donnell) [1765693] - [fs] xfs: bump INUMBERS cursor correctly in xfs_inumbers_walk (Bill O'Donnell) [1765693] - [fs] xfs: don't update lastino for FSBULKSTAT_SINGLE (Bill O'Donnell) [1765693] - [fs] xfs: online scrub needn't bother zeroing its temporary buffer (Bill O'Donnell) [1765693] - [fs] xfs: only allocate memory for scrubbing attributes when we need it (Bill O'Donnell) [1765693] - [fs] xfs: refactor attr scrub memory allocation function (Bill O'Donnell) [1765693] - [fs] xfs: refactor extended attribute buffer pointer functions (Bill O'Donnell) [1765693] - [fs] xfs: attribute scrub should use seen_enough to pass error values (Bill O'Donnell) [1765693] - [fs] xfs: allow single bulkstat of special inodes (Bill O'Donnell) [1765693] - [fs] xfs: specify AG in bulk req (Bill O'Donnell) [1765693] - [fs] xfs: wire up the v5 inumbers ioctl (Bill O'Donnell) [1765693] - [fs] xfs: wire up new v5 bulkstat ioctls (Bill O'Donnell) [1765693] - [fs] xfs: introduce v5 inode group structure (Bill O'Donnell) [1765693] - [fs] xfs: introduce new v5 bulkstat structure (Bill O'Donnell) [1765693] - [fs] xfs: rename bulkstat functions (Bill O'Donnell) [1765693] - [fs] xfs: remove various bulk request typedef usage (Bill O'Donnell) [1765693] - [fs] fs: xfs: xfs_log: Change return type from int to void (Bill O'Donnell) [1765693] - [fs] xfs: poll waiting for quotacheck (Bill O'Donnell) [1765693] - [fs] xfs: multithreaded iwalk implementation (Bill O'Donnell) [1765693] - [fs] xfs: refactor INUMBERS to use iwalk functions (Bill O'Donnell) [1765693] - [fs] xfs: refactor iwalk code to handle walking inobt records (Bill O'Donnell) [1765693] - [fs] xfs: refactor xfs_iwalk_grab_ichunk (Bill O'Donnell) [1765693] - [fs] xfs: clean up long conditionals in xfs_iwalk_ichunk_ra (Bill O'Donnell) [1765693] - [fs] xfs: change xfs_iwalk_grab_ichunk to use startino, not lastino (Bill O'Donnell) [1765693] - [fs] xfs: move bulkstat ichunk helpers to iwalk code (Bill O'Donnell) [1765693] - [fs] xfs: calculate inode walk prefetch more carefully (Bill O'Donnell) [1765693] - [fs] xfs: convert bulkstat to new iwalk infrastructure (Bill O'Donnell) [1765693] - [fs] xfs: bulkstat should copy lastip whenever userspace supplies one (Bill O'Donnell) [1765693] - [fs] xfs: convert quotacheck to use the new iwalk functions (Bill O'Donnell) [1765693] - [fs] xfs: create simplified inode walk function (Bill O'Donnell) [1765693] - [fs] xfs: create iterator error codes (Bill O'Donnell) [1765693] - [fs] xfs: remove XFS_TRANS_NOFS (Bill O'Donnell) [1765693] - [fs] xfs: simplify xfs_ioend_can_merge (Bill O'Donnell) [1765693] - [fs] xfs: allow merging ioends over append boundaries (Bill O'Donnell) [1765693] - [fs] xfs: fix a comment typo in xfs_submit_ioend (Bill O'Donnell) [1765693] - [fs] xfs: remove the unused xfs_count_page_state declaration (Bill O'Donnell) [1765693] - [fs] xfs: fix iclog allocation size (Bill O'Donnell) [1765693] - [fs] xfs: remove unused header files (Bill O'Donnell) [1765693] - [fs] xfs: account for log space when formatting new AGs (Bill O'Donnell) [1765693] - [fs] xfs: refactor free space btree record initialization (Bill O'Donnell) [1765693] - [fs] xfs: always update params on small allocation (Bill O'Donnell) [1765693] - [fs] xfs: skip small alloc cntbt logic on NULL cursor (Bill O'Donnell) [1765693] - [fs] xfs: move small allocation helper (Bill O'Donnell) [1765693] - [fs] xfs: clean up small allocation helper (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_bmap.c into xfs_bmap_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_rmap.c into xfs_rmap_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_refcount.c into xfs_refcount_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_trans_extfree.c into xfs_extfree_item.c (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_bud_init into xfs_trans_get_bud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_rud_init into xfs_trans_get_rud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_cud_init into xfs_trans_get_cud (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_efd_init into xfs_trans_get_efd (Bill O'Donnell) [1765693] - [fs] xfs: remove a pointless comment duplicated above all xfs_item_ops instances (Bill O'Donnell) [1765693] - [fs] xfs: use a list_head for iclog callbacks (Bill O'Donnell) [1765693] - [fs] xfs: remove the xfs_log_item_t typedef (Bill O'Donnell) [1765693] - [fs] xfs: don't cast inode_log_items to get the log_item (Bill O'Donnell) [1765693] - [fs] xfs: add a flag to release log items on commit (Bill O'Donnell) [1765693] - [fs] xfs: split iop_unlock (Bill O'Donnell) [1765693] - [fs] xfs: don't use xfs_trans_free_items in the commit path (Bill O'Donnell) [1765693] - [fs] xfs: remove the dummy iop_push implementation for inode creation items (Bill O'Donnell) [1765693] - [fs] xfs: don't require log items to implement optional methods (Bill O'Donnell) [1765693] - [fs] xfs: stop using XFS_LI_ABORTED as a parameter flag (Bill O'Donnell) [1765693] - [fs] xfs: fix a trivial comment typo in xfs_trans_committed_bulk (Bill O'Donnell) [1765693] - [fs] xfs: add struct xfs_mount pointer to struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: remove the b_io_length field in struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: properly type the b_log_item field in struct xfs_buf (Bill O'Donnell) [1765693] - [fs] xfs: remove unused buffer cache APIs (Bill O'Donnell) [1765693] - [fs] xfs: stop using bp naming for log recovery buffers (Bill O'Donnell) [1765693] - [fs] xfs: use bios directly to read and write the log recovery buffers (Bill O'Donnell) [1765693] - [fs] xfs: return an offset instead of a pointer from xlog_align (Bill O'Donnell) [1765693] - [fs] xfs: move the log ioend workqueue to struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: use bios directly to write log buffers (Bill O'Donnell) [1765693] - [fs] xfs: make use of the l_targ field in struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: remove the syncing argument from xlog_verify_iclog (Bill O'Donnell) [1765693] - [fs] xfs: update both stat counters together in xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out iclog size calculation from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out splitting of an iclog from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: factor out log buffer writing from xlog_sync (Bill O'Donnell) [1765693] - [fs] xfs: don't use REQ_PREFLUSH for split log writes (Bill O'Donnell) [1765693] - [fs] xfs: remove XLOG_STATE_IOABORT (Bill O'Donnell) [1765693] - [fs] xfs: reformat xlog_get_lowest_lsn (Bill O'Donnell) [1765693] - [fs] xfs: cleanup xlog_get_iclog_buffer_size (Bill O'Donnell) [1765693] - [fs] xfs: remove the l_iclog_size_log field from struct xlog (Bill O'Donnell) [1765693] - [fs] xfs: renumber XBF_WRITE_FAIL (Bill O'Donnell) [1765693] - [fs] xfs: remove the never used _XBF_COMPOUND flag (Bill O'Donnell) [1765693] - [fs] xfs: remove the no-op spinlock_destroy stub (Bill O'Donnell) [1765693] - [fs] xfs: move xfs_ino_geometry to xfs_shared.h (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flag arguments (Bill O'Donnell) [1765693] - [fs] xfs: remove the debug-only q_transp field from struct xfs_dquot (Bill O'Donnell) [1765693] - [fs] xfs: merge xfs_buf_zero and xfs_buf_iomove (Bill O'Donnell) [1765693] - [fs] xfs: remove unused flags arg from getsb interfaces (Bill O'Donnell) [1765693] - [fs] xfs: include WARN, REPAIR build options in XFS_BUILD_OPTIONS (Bill O'Donnell) [1765693] - [fs] xfs: finish converting to inodes_per_cluster (Bill O'Donnell) [1765693] - [fs] xfs: fix inode_cluster_size rounding mayhem (Bill O'Donnell) [1765693] - [fs] xfs: refactor inode geometry setup routines (Bill O'Donnell) [1765693] - [fs] xfs: separate inode geometry (Bill O'Donnell) [1765693] - [fs] xfs: use file_modified() helper (Bill O'Donnell) [1765693] - [fs] vfs: introduce file_modified() helper (Bill O'Donnell) [1765693]- [md] dm: bump version of core and various targets (Mike Snitzer) [1810746] - [md] dm: fix congested_fn for request-based device (Mike Snitzer) [1810746] - [md] dm integrity: use dm_bio_record and dm_bio_restore (Mike Snitzer) [1810746] - [md] dm bio record: save_restore bi_end_io and bi_integrity (Mike Snitzer) [1810746] - [md] dm writecache: verify watermark during resume (Mike Snitzer) [1810746] - [md] dm: report suspended device during destroy (Mike Snitzer) [1810746] - [md] dm thin metadata: fix lockdep complaint (Mike Snitzer) [1810746] - [md] dm cache: fix a crash due to incorrect work item cancelling (Mike Snitzer) [1810746] - [md] dm integrity: fix invalid table returned due to argument count mismatch (Mike Snitzer) [1810746] - [md] dm integrity: fix a deadlock due to offloading to an incorrect workqueue (Mike Snitzer) [1810746] - [md] dm integrity: fix recalculation when moving from journal mode to bitmap mode (Mike Snitzer) [1810746] - [md] dm writecache: improve performance of large linear writes on SSDs (Mike Snitzer) [1810746] - [md] dm mpath: Add timeout mechanism for queue_if_no_path (Mike Snitzer) [1810746] - [md] dm thin: change data device's flush_bio to be member of struct pool (Mike Snitzer) [1810746] - [md] dm thin: don't allow changing data device during thin-pool reload (Mike Snitzer) [1810746] - [md] dm thin: fix use-after-free in metadata_pre_commit_callback (Mike Snitzer) [1810746] - [md] dm thin metadata: use pool locking at end of dm_pool_metadata_close (Mike Snitzer) [1810746] - [md] dm writecache: fix incorrect flush sequence when doing SSD mode commit (Mike Snitzer) [1810746] - [md] dm crypt: fix benbi IV constructor crash if used in authenticated mode (Mike Snitzer) [1810746] - [md] dm crypt: Implement Elephant diffuser for Bitlocker compatibility (Mike Snitzer) [1810746] - [md] dm space map common: fix to ensure new block isn't already in use (Mike Snitzer) [1810746] - [md] dm verity: don't prefetch hash blocks for already-verified data (Mike Snitzer) [1810746] - [md] dm crypt: fix GFP flags passed to skcipher_request_alloc() (Mike Snitzer) [1810746] - [md] dm thin metadata: Fix trivial math error in on-disk format documentation (Mike Snitzer) [1810746] - [md] dm thin metadata: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm snapshot: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm bio prison v2: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm mpath: use true_false for bool variable (Mike Snitzer) [1810746] - [md] dm zoned: support zone sizes smaller than 128MiB (Mike Snitzer) [1810746] - [md] dm raid: table line rebuild status fixes (Mike Snitzer) [1810746] - [documentation] docs: dm-integrity: remove reference to ARC4 (Mike Snitzer) [1810746] - [md] dm thin: Flush data device before committing metadata (Mike Snitzer) [1810746] - [md] dm thin metadata: Add support for a pre-commit callback (Mike Snitzer) [1810746] - [md] dm btree: increase rebalance threshold in __rebalance2() (Mike Snitzer) [1810746] - [md] dm mpath: remove harmful bio-based optimization (Mike Snitzer) [1810746] - [md] dm integrity: fix excessive alignment of metadata runs (Mike Snitzer) [1810746] - [md] dm cache: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm bio prison: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm thin: replace spin_lock_irqsave with spin_lock_irq (Mike Snitzer) [1810746] - [md] dm raid: streamline rs_get_progress() and its raid_status() caller side (Mike Snitzer) [1810746] - [md] dm raid: simplify rs_setup_recovery call chain (Mike Snitzer) [1810746] - [md] dm raid: to ensure resynchronization, perform raid set grow in preresume (Mike Snitzer) [1810746] - [md] dm raid: change rs_set_dev_and_array_sectors API and callers (Mike Snitzer) [1810746] - [md] dm: introduce DM_GET_TARGET_VERSION (Mike Snitzer) [1810746] - [md] dm bufio: introduce a global cache replacement (Mike Snitzer) [1810746] - [md] dm bufio: remove old-style buffer cleanup (Mike Snitzer) [1810746] - [md] dm bufio: introduce a global queue (Mike Snitzer) [1810746] - [md] dm bufio: refactor adjust_total_allocated (Mike Snitzer) [1810746] - [md] dm bufio: call adjust_total_allocated from __link_buffer and __unlink_buffer (Mike Snitzer) [1810746] - [md] dm crypt: omit parsing of the encapsulated cipher (Mike Snitzer) [1810746] - [md] dm crypt: switch to ESSIV crypto API template (Mike Snitzer) [1810746] - [crypto] crypto: essiv - create wrapper template for ESSIV generation (Mike Snitzer) [1810746] - [security] crypto: drop mask=CRYPTO_ALG_ASYNC from shash tfm allocations (Mike Snitzer) [1810746] - [crypto] crypto: drop mask=CRYPTO_ALG_ASYNC from cipher tfm allocations (Mike Snitzer) [1810746] - [md] dm verity: add root hash pkcs#7 signature verification (Mike Snitzer) [1810746] - [md] dm crypt: reuse eboiv skcipher for IV generation (Mike Snitzer) [1810746] - [md] dm integrity: fix a crash due to BUG_ON in __journal_read_write() (Mike Snitzer) [1810746] - [md] dm kcopyd: Increase default sub-job size to 512KB (Mike Snitzer) [1810746] - [documentation] docs: device-mapper: move it to the admin-guide (Mike Snitzer) [1810746] - [documentation] docs: convert docs to ReST and rename to *.rst (Mike Snitzer) [1810746] - [md] dm crypt: implement eboiv - encrypted byte-offset initialization vector (Mike Snitzer) [1810746] - [md] dm integrity: use kzalloc() instead of kmalloc() + memset() (Mike Snitzer) [1810746] - [md] dm integrity: always set version on superblock update (Mike Snitzer) [1810746] - [md] dm integrity: whitespace, coding style and dead code cleanup (Mike Snitzer) [1810746] - [md] dm integrity: implement synchronous mode for reboot handling (Mike Snitzer) [1810746] - [md] dm integrity: handle machine reboot in bitmap mode (Mike Snitzer) [1810746] - [md] dm integrity: add a bitmap mode (Mike Snitzer) [1810746] - [md] dm integrity: introduce a function add_new_range_and_wait() (Mike Snitzer) [1810746] - [md] dm integrity: allow large ranges to be described (Mike Snitzer) [1810746] - [md] dm ingerity: pass size to dm_integrity_alloc_page_list() (Mike Snitzer) [1810746] - [md] dm integrity: introduce rw_journal_sectors() (Mike Snitzer) [1810746] - [md] dm crypt and integrity: shash - remove shash_desc::flags (Mike Snitzer) [1810746] - [md] dm: fix potential for q->make_request_fn NULL pointer (Mike Snitzer) [1794340] - [netdrv] net/mlx5e: Don't clear the whole vf config when switching modes (mohamad meib) [1811428] - [scsi] scsi: be2iscsi: be_main: Mark expected switch fall-through (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: be_iscsi: Mark expected switch fall-through (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: switch to generic DMA API (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: fix spelling mistake "Retreiving" -> "Retrieving" (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: remove unused variable dmsg (Maurizio Lombardi) [1796740] - [scsi] scsi: be2iscsi: Update copyright (Maurizio Lombardi) [1796740] - [security] selinux: fix sidtab string cache locking (Ondrej Mosnacek) [1807001 1806991] - [security] selinux: do not allocate ancillary buffer on first load (Ondrej Mosnacek) [1807001] - [security] selinux: remove redundant selinux_nlmsg_perm (Ondrej Mosnacek) [1807001] - [security] selinux: fix wrong buffer types in policydb.c (Ondrej Mosnacek) [1807001] - [security] selinux: treat atomic flags more carefully (Ondrej Mosnacek) [1807001] - [security] selinux: make default_noexec read-only after init (Ondrej Mosnacek) [1807001] - [security] selinux: move ibpkeys code under CONFIG_SECURITY_INFINIBAND (Ondrej Mosnacek) [1807001] - [security] Documentation, selinux: fix references to old selinuxfs mount point (Ondrej Mosnacek) [1807001] - [security] selinuxfs: use scnprintf to get real length for inode (Ondrej Mosnacek) [1807001] - [security] selinux: remove set but not used variable 'sidtab' (Ondrej Mosnacek) [1807001] - [security] selinux: ensure the policy has been loaded before reading the sidtab stats (Ondrej Mosnacek) [1807001] - [security] selinux: ensure we cleanup the internal AVC counters on error in avc_update() (Ondrej Mosnacek) [1807001] - [security] selinux: randomize layout of key structures (Ondrej Mosnacek) [1807001] - [security] selinux: clean up selinux_enabled/disabled/enforcing_boot (Ondrej Mosnacek) [1807001] - [security] selinux: remove unnecessary selinux cred request (Ondrej Mosnacek) [1807001] - [security] selinux: ensure we cleanup the internal AVC counters on error in avc_insert() (Ondrej Mosnacek) [1807001] - [security] security: only build lsm_audit if CONFIG_SECURITY=y (Ondrej Mosnacek) [1807001] - [security] selinux: clean up selinux_inode_permission MAY_NOT_BLOCK tests (Ondrej Mosnacek) [1807001] - [security] selinux: fall back to ref-walk if audit is required (Ondrej Mosnacek) [1807001] - [security] selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link" (Ondrej Mosnacek) [1807001] - [security] selinux: cache the SID -> context string translation (Ondrej Mosnacek) [1807001 1806991] - [security] selinux: sidtab reverse lookup hash table (Ondrej Mosnacek) [1807001] - [security] selinux: default_range glblub implementation (Ondrej Mosnacek) [1807001] - [security] selinux: allow labeling before policy is loaded (Ondrej Mosnacek) [1807001 1777525] - [security] selinux: remove load size limit (Ondrej Mosnacek) [1807001] - [security] selinux: fix residual uses of current_security() for the SELinux blob (Ondrej Mosnacek) [1807001] - [kernel] rcu: Make kfree_rcu() ignore NULL pointers (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of ipc security blobs (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of inode security blob (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of file security blob (Ondrej Mosnacek) [1807001] - [security] SELinux: Abstract use of cred security blob (Ondrej Mosnacek) [1807001] - [security] selinux: kill selinux_sb_get_mnt_opts() (Ondrej Mosnacek) [1807001] - [security] selinux; don't open-code a loop in sb_finish_set_opts() (Ondrej Mosnacek) [1807001] - [security] selinux: expand superblock_doinit() calls (Ondrej Mosnacek) [1807001] - [netdrv] hv_netvsc: Fix unwanted rx_table reset (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix tx_table init in rndis_set_subchannel() (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix send_table offset in case of a host bug (Mohammed Gamal) [1805950] - [netdrv] hv_netvsc: Fix offset usage in netvsc_send_table() (Mohammed Gamal) [1805950]- [block] blk-mq: Keep set->nr_hw_queues and set->map.nr_queues in sync (Ming Lei) [1810523] - [block] block: clear REQ_HIPRI if polling is not supported (Ming Lei) [1809506]- [perf] arm_spe: Enable ACPI/Platform automatic module loading (Jeremy Linton) [1501652] - [perf] perf: arm_spe: Don't error on high-order pages for aux buf (Jeremy Linton) [1501652] - [perf] arm_spe: handle devm_kasprintf() failure (Jeremy Linton) [1501652] - [perf] arm_spe: Enable automatic DT loading (Jeremy Linton) [1501652] - [block] blk-iolatency: fix STS_AGAIN handling (Ming Lei) [1764737] - [block] blk-iolatency: only account submitted bios (Ming Lei) [1764737] - [block] blk-iolatency: clear use_delay when io.latency is set to zero (Ming Lei) [1764737] - [block] blk-iolatency: #include "blk.h" (Ming Lei) [1764737] - [block] Blk-iolatency: warn on negative inflight IO counter (Ming Lei) [1764737] - [block] blk-iolatency: fix IO hang due to negative inflight counter (Ming Lei) [1764737] - [block] block: fix blk-iolatency accounting underflow (Ming Lei) [1764737] - [fs] xfs: stabilize insert range start boundary to avoid COW writeback race (Brian Foster) [1728979] - [x86] uprobes/x86: Fix detection of 32-bit user mode (Oleg Nesterov) [1804961] - [ipc] Revert "ipc, sem: remove uneeded sem_undo_list lock usage in exit_sem()" ("Herton R. Krzesinski") [1807627] - [powerpc] powerpc/tm: Fix clearing MSRin current when reclaiming on signal delivery (Gustavo Duarte) [1751116] - [powerpc] powerpc/tm: Set MSRjust prior to recheckpoint (Gustavo Duarte) [1751116] - [arm64] arm64: smp: Increase secondary CPU boot timeout value (Gavin Shan) [1807684] - [fs] ext4: work around deleting a file with i_nlink == 0 safely (Carlos Maiolino) [1801049] - [char] ipmi: fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier (Waiman Long) [1810638] - [char] ipmi: Revert "fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier" (Waiman Long) [1810638]- [kernel] blktrace: Protect q->blk_trace with RCU (Ming Lei) [1798329] - [drm] drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/dp: Introduce EDID-based quirks (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Auto detect DPCD backlight support by default (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Assume 100 brightness when not in DPCD control mode (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Fix eDP DPCD aux max backlight calculations (Lyude Paul) [1782671 1773796 1748892] - [drm] drm/i915: Check backlight type while doing eDP backlight initializaiton (Lyude Paul) [1782671 1773796 1748892] - [tools] selftests: nft_concat_range: Add test for reported add/flush/add issue (Stefano Brivio) [1807892] - [net] nft_set_pipapo: Actually fetch key data in nft_pipapo_remove() (Stefano Brivio) [1807892] - [net] sched: don't take rtnl lock during flow_action setup (Marcelo Leitner) [1804385] - [include] net: sched: refactor ct action helpers to require tcf_lock (Marcelo Leitner) [1804385] - [include] net: sched: refactor police action helpers to require tcf_lock (Marcelo Leitner) [1804385] - [net] sched: lock action when translating it to flow_action infra (Marcelo Leitner) [1804385] - [powerpc] powerpc/smp: Fix NMI IPI xmon timeout (Diego Domingos) [1747320] - [powerpc] powerpc/smp: Fix NMI IPI timeout (Diego Domingos) [1747320] - [powerpc] powerpc: NMI IPI make NMI IPIs fully sychronous (Diego Domingos) [1747320] - [arm64] arm64: select CPUMASK_OFFSTACK if NUMA (Andrea Arcangeli) [1712856] - [arm64] arm64: tlb: skip tlbi broadcast (Andrea Arcangeli) [1712856]- [fs] fs/proc/proc_sysctl.c: Fix a NULL pointer dereference (Vladis Dronov) [1795521] {CVE-2019-20054} - [fs] fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links (Vladis Dronov) [1795521] {CVE-2019-20054} - [ptp] ptp: correctly disable flags on old ioctls (Petr Oros) [1795188] - [uapi] PTP: add support for one-shot output (Petr Oros) [1795188] - [ptp] PTP: introduce new versions of IOCTLs (Petr Oros) [1795188] - [virtio] virtio_ring: fix stalls for packed rings (Eugenio Perez) [1601355] - [virtio] virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packed (Eugenio Perez) [1601355] - [uapi] virtio: drop internal struct from UAPI (Eugenio Perez) [1601355] - [virtio] virtio_ring: advertize packed ring layout (Eugenio Perez) [1601355] - [virtio] virtio_ring: leverage event idx in packed ring (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce packed ring support (Eugenio Perez) [1601355] - [virtio] virtio_ring: cache whether we will use DMA API (Eugenio Perez) [1601355] - [virtio] virtio_ring: extract split ring handling from ring creation (Eugenio Perez) [1601355] - [virtio] virtio_ring: allocate desc state for split ring separately (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce helper for indirect feature (Eugenio Perez) [1601355] - [virtio] virtio_ring: introduce debug helpers (Eugenio Perez) [1601355] - [virtio] virtio_ring: put split ring fields in a sub struct (Eugenio Perez) [1601355] - [virtio] virtio_ring: put split ring functions together (Eugenio Perez) [1601355] - [virtio] virtio_ring: add _split suffix for split ring functions (Eugenio Perez) [1601355] - [uapi] virtio: add packed ring types and macros (Eugenio Perez) [1601355] - [x86] x86/mtrr: Skip cache flushes on CPUs with cache self-snooping (Prarit Bhargava) [1724541] - [x86] x86/cpu/intel: Clear cache self-snoop capability in CPUs with known errata (Prarit Bhargava) [1724541] - [documentation] Documentation PCI: Fix pciebus-howto.rst filename typo (Myron Stowe) [1793091] - [tools] tools: PCI: Fix installation when `make tools/pci_install` (Myron Stowe) [1793091] - [tools] tools: PCI: Fix broken pcitest compilation (Myron Stowe) [1793091] - [tools] tools pci: Do not delete pcitest.sh in 'make clean' (Myron Stowe) [1793091] - [pci] PCI: endpoint: Clear BAR before freeing its space (Myron Stowe) [1793091] - [pci] PCI: endpoint: Skip odd BAR when skipping 64bit BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Allocate enough space for fixed size BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Set endpoint controller pointer to NULL (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add support to specify alignment for buffers allocated to BARs (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Use pci_epc_get_features() to get EPC features (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Do not allocate next BARs memory if current BAR is 64Bit (Myron Stowe) [1793091] - [pci] PCI: pci-epf-test: Remove setting epf_bar flags in function driver (Myron Stowe) [1793091] - [pci] PCI: endpoint: Fix pci_epf_alloc_space() to set correct MEM TYPE flags (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add helper to get first unreserved BAR (Myron Stowe) [1793091] - [pci] PCI: endpoint: Add new pci_epc_ops to get EPC features (Myron Stowe) [1793091] - [pci] PCI: endpoint: functions: Use memcpy_fromio()/memcpy_toio() (Myron Stowe) [1793091] - [pci] PCI: Skip resource distribution when no hotplug bridges (Myron Stowe) [1793091] - [pci] PCI: Simplify pci_bus_distribute_available_resources() (Myron Stowe) [1793091] - [pci] PCI: Reset both NVIDIA GPU and HDA in ThinkPad P50 workaround (Myron Stowe) [1793091] - [pci] PCI: Enable NVIDIA HDA controllers (Myron Stowe) [1793091] - [pci] PCI: Use seq_puts() instead of seq_printf() in show_device() (Myron Stowe) [1793091] - [pci] PCI: Add NVIDIA GPU multi-function power dependencies (Myron Stowe) [1793091] - [pci] PCI: Generalize multi-function power dependency device links (Myron Stowe) [1793091] - [pci] PCI: sysfs: Ignore lockdep for remove attribute (Myron Stowe) [1793091] - [pci] PCI: Decode PCIe 32 GT/s link speed (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-test-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-test-function.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-endpoint-cfs.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert endpoint/pci-endpoint.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pcieaer-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci-error-recovery.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert acpi-info.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert MSI-HOWTO.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci-iov-howto.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert PCIEBUS-HOWTO.txt to reST (Myron Stowe) [1793091] - [documentation] docs: pci: fix broken links due to conversion from pci.txt to pci.rst (Myron Stowe) [1793091] - [documentation] Documentation: PCI: convert pci.txt to reST (Myron Stowe) [1793091] - [documentation] Documentation: add Linux PCI to Sphinx TOC tree (Myron Stowe) [1793091] - [pci] PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary (Myron Stowe) [1793091] - [pci] PCI: Add a stub for pci_ats_disabled() (Myron Stowe) [1793091] - [pci] PCI: Provide pci_match_id() with CONFIG_PCI=n (Myron Stowe) [1793091] - [misc] ocxl: Add PCI hotplug dependency to Kconfig (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Wrap warnings in macro (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Relax check when disabling slot (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Register opencapi slots (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Improve error msg on power state change failure (Steve Best) [1788902] - [pci] pci/hotplug/pnv-php: Remove erroneous warning (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Find opencapi slot for a device node (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Release opencapi device (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: set up PE on opencapi device when enabling (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Protect PE list (Steve Best) [1788902] - [powerpc] powerpc/powernv/ioda: Fix ref count for devices with their own PE (Steve Best) [1788902] - [of] of: overlay: add_changeset_property() memory leak (Steve Best) [1798483] - [of] of: unittest: initialize args before calling of_*parse_*() (Steve Best) [1798483] - [of] of: unittest: find overlaysentry by name instead of index (Steve Best) [1798483] - [of] of: unittest: allow base devicetree to have symbol metadata (Steve Best) [1798483] - [of] of: overlay: set node fields from properties when add new overlay node (Steve Best) [1798483] - [of] of: unittest: remove unused of_unittest_apply_overlay() argument (Steve Best) [1798483] - [of] of: overlay: check prevents multiple fragments touching same property (Steve Best) [1798483] - [of] of: overlay: check prevents multiple fragments add or delete same node (Steve Best) [1798483] - [of] of: overlay: test case of two fragments adding same node (Steve Best) [1798483] - [of] of: overlay: make all pr_debug() and pr_err() messages unique (Steve Best) [1798483] - [of] of: overlay: validate overlay properties (Steve Best) [1798483] - [of] of: overlay: reorder fields in struct fragment (Steve Best) [1798483] - [of] of: overlay: do not duplicate properties from overlay for new nodes (Steve Best) [1798483] - [of] of: overlay: use prop add changeset entry for property in new nodes (Steve Best) [1798483] - [of] of: Convert to using pOFn instead of device_node.name (Steve Best) [1798483] - [powerpc] powerpc/pseries: add of_node_put() in dlpar_detach_node() (Steve Best) [1798483] - [of] of: overlay: add missing of_node_get() in __of_attach_node_sysfs (Steve Best) [1798483] - [of] of: overlay: add missing of_node_put() after add new node to changeset (Steve Best) [1798483] - [of] of: overlay: add tests to validate kfrees from overlay removal (Steve Best) [1798483]- [kernel] open the RHEL 8.3 development (Frantisek Hrbata) - [netdrv] Revert "r8169: don't use MSI before RTL8168d" (Josef Oskera) [1792839] - [drm] drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets (Ben Skeggs) [1789026] - [drm] drm/nouveau/disp/gv100-: not all channel types support reporting error codes (Ben Skeggs) [1789481] - [drm] drm/nouveau/disp/nv50-: prevent oops when no channel method map provided (Ben Skeggs) [1789481] - [fs] cifs: don't leak -EAGAIN for stat() during reconnect (Dave Wysochanski) [1769599] - [block] blk-mq: insert passthrough request into hctx->dispatch directly (Ming Lei) [1788728] - [scsi] scsi: megaraid_sas: fixup MSIx interrupt setup during resume (Tomas Henzl) [1805353]- [fs] NFS: Add deferred cache invalidation for close-to-open consistency violations (Benjamin Coddington) [1803162] - [block] nbd: fix stack corruption in nbd_check_sock_type() (Ming Lei) [1803664] - [mm] mm/vmscan.c: don't round up scan size for online memory cgroup (Aristeu Rozanski) [1775691] - [tools] selftests/bpf: fix clearing buffered output between tests/subtests (Yauheni Kaliuta) [1786006] - [tools] libbpf: avoid usage of __builtin_preserve_field_info (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: samples/bpf: fix Split off legacy stuff from bpf_helpers.h (Yauheni Kaliuta) [1786006] - [tools] libbpf: fix Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration (Yauheni Kaliuta) [1786006] - [tools] selftests: fix too long argument (Yauheni Kaliuta) [1786006] - [tools] libbpf: Add BPF-side definitions of supported field relocation kinds (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: add sub-tests support for test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: abstract away test log output (Yauheni Kaliuta) [1786006] - [tools] selftest/bpf: centralize libbpf logging management for test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: prevent headers to be compiled as C code (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: add test selectors by number and name to test_progs (Yauheni Kaliuta) [1786006] - [tools] selftests/bpf: revamp test_progs to allow more control (Yauheni Kaliuta) [1786006] - [net] core: Don't skip generic XDP program execution for cloned SKBs (Jiri Benc) [1802507] - [tools] selftests/bpf: De-flake test_tcpbpf (Jiri Benc) [1802507] - [net] bpf, sockmap: Check update requirements after locking (Jiri Benc) [1802507] - [net] bpf, sockhash: Synchronize_rcu before free'ing map (Jiri Benc) [1802507] - [net] bpf, sockmap: Don't sleep while holding RCU lock on tear-down (Jiri Benc) [1802507] - [net] net: bpf: Don't leak time wait and request sockets (Jiri Benc) [1802507] - [net] bpf/sockmap: Read psock ingress_msg before sk_receive_queue (Jiri Benc) [1802507] - [net] bpf: Clear skb->tstamp in bpf_redirect when necessary (Jiri Benc) [1802507] - [net] xdp: obtain the mem_id mutex before trying to remove an entry (Jiri Benc) [1802507] - [net] page_pool: do not release pool until inflight == 0 (Jiri Benc) [1802507] - [net] xsk: Fix registration of Rx-only sockets (Jiri Benc) [1802507] - [net] xsk: avoid store-tearing when assigning umem (Jiri Benc) [1802507] - [net] xsk: avoid store-tearing when assigning queues (Jiri Benc) [1802507] - [tools] bpftool: Don't crash on missing xlated program instructions (Jiri Benc) [1802507] - [tools] bpftool: Fix printing incorrect pointer in btf_dump_ptr (Jiri Benc) [1802507] - [tools] bpftool: Don't crash on missing jited insns or ksyms (Jiri Benc) [1802507] - [tools] bpftool: Match several programs with same tag (Jiri Benc) [1802507] - [tools] libbpf: Fix realloc usage in bpf_core_find_cands (Jiri Benc) [1802507] - [tools] libbpf: Add missing newline in opts validation macro (Jiri Benc) [1802507] - [tools] libbpf: Don't attach perf_buffer to offline/missing CPUs (Jiri Benc) [1802507] - [tools] libbpf: Extract and generalize CPU mask parsing logic (Jiri Benc) [1802507] - [tools] libbpf: Fix printf compilation warnings on ppc64le arch (Jiri Benc) [1802507] - [tools] libbpf: Fix sym->st_value print on 32-bit arches (Jiri Benc) [1802507] - [tools] libbpf: Make btf__resolve_size logic always check size error condition (Jiri Benc) [1802507] - [tools] libbpf: Fix another potential overflow issue in bpf_prog_linfo (Jiri Benc) [1802507] - [tools] libbpf: Fix potential overflow issue (Jiri Benc) [1802507] - [tools] libbpf: Fix memory leak/double free issue (Jiri Benc) [1802507] - [tools] libbpf: Fix off-by-one error in ELF sanity check (Jiri Benc) [1802507] - [tools] selftests/bpf: Fix test_attach_probe (Jiri Benc) [1802507] - [kernel] bpf: Fix bpf_event_output re-entry issue (Jiri Benc) [1802507] - [net] bpf: Fix incorrect verifier simulation of ARSH under ALU32 (Jiri Benc) [1802507] - [net] bpf: Fix passing modified ctx to ld/abs/ind instruction (Jiri Benc) [1802507] - [net] bpf: cgroup: prevent out-of-order release of cgroup bpf (Jiri Benc) [1802507] - [net] bpf: Fix precision tracking for unbounded scalars (Jiri Benc) [1802507] - [net] bpf: Fix cgroup local storage prog tracking (Jiri Benc) [1802507] - [net] bpf/stackmap: Fix deadlock with rq_lock in bpf_get_stack() (Jiri Benc) [1802507] - [net] bpf, offload: Unlock on error in bpf_offload_dev_create() (Jiri Benc) [1802507] - [powerpc] powerpc/bpf: Fix tail call implementation (Jiri Benc) [1802507] - [net] bpf: Fix use after free in bpf_get_prog_name (Jiri Benc) [1802507] - [net] bpf: Fix use after free in subprog's jited symbol removal (Jiri Benc) [1802507] - [uapi] bpf: fix BTF limits (Jiri Benc) [1802507] - [net] bpf: fix BTF verification of enums (Jiri Benc) [1802507] - [netdrv] ice: Don't tell the OS that link is going down (Jonathan Toppins) [1792670] - [powerpc] powerpc/powernv: implement opal_put_chars_atomic (Steve Best) [1806254] - [tty] powerpc/powernv: move opal console flushing to udbg (Steve Best) [1806254] - [powerpc] powerpc/powernv: Remove OPALv1 support from opal console driver (Steve Best) [1806254] - [powerpc] powerpc/powernv: Implement and use opal_flush_console (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal-kmsg use flush fallback from console code (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal-kmsg standardise OPAL_BUSY handling (Steve Best) [1806254] - [powerpc] powerpc/powernv: Fix OPAL console driver OPAL_BUSY loops (Steve Best) [1806254] - [powerpc] powerpc/powernv: opal_put_chars partial write fix (Steve Best) [1806254] - [x86] Mark Comet Lake-S as supported (David Arcari) [1805754]- rebuild, due infrastructure issues last kernel build wasn't signed properly [1807216]- [nvme] nvme-multipath: Fix memory leak with ana_log_buf (David Milburn) [1804822] - [powerpc] pci/of: Fix OF flags parsing for 64bit BARs (David Gibson) [1804038]- [pci] PCI: pciehp: Add DMI table for in-band presence disabled (Myron Stowe) [1749528] - [pci] PCI: pciehp: Wait for PDS if in-band presence is disabled (Myron Stowe) [1749528] - [pci] PCI: pciehp: Add support for disabling in-band presence (Myron Stowe) [1749528] - [netdrv] net/mlx5: DR, Handle reformat capability over sw-steering tables (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, Fix matching on vport gvmi (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, use non preemptible call to get the current cpu number (Alaa Hleihel) [1794997] - [netdrv] net/mlx5: DR, Enable counter on non-fwd-dest objects (Alaa Hleihel) [1794997] - [iommu] iommu/vt-d: Simplify check in identity_mapping() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Remove deferred_attach_domain() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Do deferred attachment in iommu_need_mapping() (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Move deferred device attachment into helper function (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Add attach_deferred() helper (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Refactor find_domain() helper (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Allow devices with RMRRs to use identity domain (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer (Jerry Snitselaar) [1797124 1784649] - [iommu] iommu/vt-d: Fix lock inversion between iommu->lock and device_domain_lock (Jerry Snitselaar) [1797124 1784649] - [ata] ata: ahci: Add shutdown to freeze hardware resources of ahci (David Milburn) [1784955] - [include] redhat: kabi: convert incorrect use of RH_KABI_EXTEND (Jiri Benc) [1715803] - [include] redhat: kabi: macros for intentional kABI breakage (Jiri Benc) [1715803] - [uapi] redhat: kabi: bpf: remove misleading comment (Jiri Benc) [1715803] - [include] redhat: kabi: introduce RH_KABI_HIDE_INCLUDE and RH_KABI_FAKE_INCLUDE (Jiri Benc) [1715803] - [kernel] kernel/module.c: wakeup processes in module_wq on module unload (Prarit Bhargava) [1804209] - [x86] kvm: x86: do not reset microcode version on INIT or RESET (Paolo Bonzini) [1801853] - [x86] kvm: x86: list MSR_IA32_UCODE_REV as an emulated MSR (Paolo Bonzini) [1801853] - [nvme] nvme: prevent warning triggered by nvme_stop_keep_alive (David Milburn) [1799890] - [nvme] nvme: nvme_keep_alive_end_io fixup setting comp_seen flag (David Milburn) [1799890]- [iommu] iommu: don't change default domain if already set by quirk (Jerry Snitselaar) [1786292] - [net] netfilter: ipset: Copy the right MAC address in hash:ip, mac IPv6 sets (Stefano Brivio) [1759422] - [net] ipv6/addrconf: only check invalid header values when NETLINK_F_STRICT_CHK is set (Guillaume Nault) [1802817] - [net] tcp: clear tp->segs_{in|out} in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->data_segs{in|out} in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->delivered in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: clear tp->total_retrans in tcp_disconnect() (Guillaume Nault) [1802682] - [net] tcp: do not leave dangling pointers in tp->highest_sack (Guillaume Nault) [1802682] - [net] tcp: Fix highest_sack and highest_sack_seq (Guillaume Nault) [1802682] - [net] tcp: do not send empty skb from tcp_write_xmit() (Guillaume Nault) [1802682] - [net] tcp: md5: fix potential overestimation of TCP option space (Guillaume Nault) [1802682] - [net] tcp: fix data-race in tcp_recvmsg() (Guillaume Nault) [1802682] - [net] bridge: ebtables: don't crash when using dnat target in output chains (Andrea Claudi) [1798923] - [net] ip6_tunnel: fix namespaces move (Andrea Claudi) [1798649] - [net] ip_tunnel: fix namespaces move (Andrea Claudi) [1798649] - [net] ipv4: Detect rollover in specific fib table dump (Guillaume Nault) [1801587] - [net] inet: protect against too small mtu values. (Guillaume Nault) [1801587] - [net] icmp: fix data-race in cmp_global_allow() (Guillaume Nault) [1801587] - [net] inetpeer: fix data-race in inet_putpeer / inet_putpeer (Guillaume Nault) [1801587] - [net] ipv4: Fix table id reference in fib_sync_down_addr (Guillaume Nault) [1801587] - [net] dccp: do not leak jiffies on the wire (Guillaume Nault) [1801587] - [net] inet: stop leaking jiffies on the wire (Guillaume Nault) [1801587] - [tools] selftests: fib_tests: add more tests for metric update (Guillaume Nault) [1801587] - [net] ipv4: fix route update on metric change. (Guillaume Nault) [1801587] - [net] iptunnel: Set tun_flags in the iptunnel_metadata_reply from src (Guillaume Nault) [1801587] - [net] flow_dissector: Fix to use new variables for port ranges in bpf hook (Ivan Vecera) [1789862] - [net] net_sched: fix a resource leak in tcindex_set_parms() (Ivan Vecera) [1789862] - [tools] tc-testing: fix eBPF tests failure on linux fresh clones (Ivan Vecera) [1789862] - [net] net_sched: fix an OOB access in cls_tcindex (Ivan Vecera) [1789862] - [net] cls_rsvp: fix rsvp_policy (Ivan Vecera) [1789862] - [net] net_sched: ematch: reject invalid TCF_EM_SIMPLE (Ivan Vecera) [1789862] - [net] net_sched: walk through all child classes in tc_bind_tclass() (Ivan Vecera) [1789862] - [net] net_sched: fix ops->bind_class() implementations (Ivan Vecera) [1789862] - [net] net_sched: fix datalen for ematch (Ivan Vecera) [1789862] - [net] net_sched: use validated TCA_KIND attribute in tc_new_tfilter() (Ivan Vecera) [1789862] - [net] sch_prio: When ungrafting, replace with FIFO (Ivan Vecera) [1789862] - [net] pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM (Ivan Vecera) [1789862] - [net] sched: add delete_empty() to filters and use it in cls_flower (Ivan Vecera) [1789862] - [net] sched: act_mirred: Pull mac prior redir to non mac_header_xmit device (Ivan Vecera) [1789862] - [net] sched: cls_u32: fix refcount leak in the error path of u32_change() (Ivan Vecera) [1789862] - [net] net_sched: sch_fq: properly set sk->sk_pacing_status (Ivan Vecera) [1789862] - [net] net_sched: validate TCA_KIND attribute in tc_chain_tmplt_add() (Ivan Vecera) [1789862] - [net] mqprio: Fix out-of-bounds access in mqprio_dump (Ivan Vecera) [1789862] - [net] sched: allow indirect blocks to bind to clsact in TC (Ivan Vecera) [1789862] - [net] core: rename indirect block ingress cb function (Ivan Vecera) [1789862] - [net] Fixed updating of ethertype in skb_mpls_push() (Ivan Vecera) [1789862] - [net] cls_flower: Fix the behavior using port ranges with hw-offload (Ivan Vecera) [1789862] - [net] sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues (Ivan Vecera) [1789862] - [net] Fixed updating of ethertype in function skb_mpls_pop (Ivan Vecera) [1789862] - [net] sched: fix `tc -s class show` no bstats on class with nolock subqueues (Ivan Vecera) [1789862] - [net] sched: act_pedit: fix WARN() in the traffic path (Ivan Vecera) [1789862] - [net] sched: actions: remove unused 'order' (Ivan Vecera) [1789862] - [net] sched: annotate lockless accesses to qdisc->empty (Ivan Vecera) [1789862] - [net] annotate lockless accesses to sk->sk_max_ack_backlog (Ivan Vecera) [1789862] - [net] inet: minor optimization for backlog setting in listen(2) (Ivan Vecera) [1789862] - [net] annotate lockless accesses to sk->sk_ack_backlog (Ivan Vecera) [1789862] - [net] use helpers to change sk_ack_backlog (Ivan Vecera) [1789862] - [net] sched: prevent duplicate flower rules from tcf_proto destroy race (Ivan Vecera) [1789862] - [net] flow_dissector: switch to siphash (Ivan Vecera) [1789862] - [netdrv] macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() (Davide Caratti) [1801128] - [netdrv] macvlan: do not assume mac_header is set in macvlan_broadcast() (Davide Caratti) [1801128] - [net] psample: fix skb_over_panic (Sabrina Dubroca) [1800589] - [net] openvswitch: don't unlock mutex when changing the user_features fails (Davide Caratti) [1799363] - [net] rtnetlink: validate IFLA_MTU attribute in rtnl_create_link() (Guillaume Nault) [1798715] - [net] rtnetlink: fix a typo fbd -> fdb (Guillaume Nault) [1798715] - [net] bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, msg_push_data may leave end mark in place (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, push write_space updates through ulp updates (Sabrina Dubroca) [1798179] - [net] sk_msg: Don't check if sock is locked when tearing down psock (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, fix pop data with SK_DROP return code (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf (Sabrina Dubroca) [1798179] - [include] bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop (Sabrina Dubroca) [1798179] - [net] bpf: Sockmap, ensure sock lock held during tear down (Sabrina Dubroca) [1798179] - [net] tls: fix async operation (Sabrina Dubroca) [1798179] - [net] tls: Fix return values to avoid ENOTSUPP (Sabrina Dubroca) [1798179] - [net] skmsg: fix TLS 1.3 crash with full sk_msg (Sabrina Dubroca) [1798179] - [net] tls: free the record on encryption error (Sabrina Dubroca) [1798179] - [net] tls: take into account that bpf_exec_tx_verdict() may free the record (Sabrina Dubroca) [1798179] - [net] bpf: skmsg, fix potential psock NULL pointer dereference (Sabrina Dubroca) [1798179] - [net] tls: enable sk_msg redirect to tls socket egress (Sabrina Dubroca) [1798179] - [netdrv] macsec: fix refcnt leak in module exit routine (Sabrina Dubroca) [1799029] - [netdrv] ppp: Adjust indentation into ppp_async_input (Guillaume Nault) [1798104] - [net] l2tp: Allow duplicate session creation with UDP (Guillaume Nault) [1798104] - [net] Fix bugs introduced by netlink strict checking backport (Petr Oros) [1782172] - [tools] selftests: forwarding: fix race between packet receive and tc check (Hangbin Liu) [1797941] - [tools] selftests: forwarding: tc_common: Add hitting check (Hangbin Liu) [1797941] - [tools] selftests: net: push jq workaround into separate helper (Hangbin Liu) [1797941] - [tools] selftests: loopback.sh: skip this test if the driver does not support (Hangbin Liu) [1797941] - [tools] selftests: pmtu: fix init mtu value in description (Hangbin Liu) [1797941] - [tools] selftests: forwarding: Delete IPv6 address at the end (Hangbin Liu) [1797941] - [tools] selftests: pmtu: use -oneline for ip route list cache (Hangbin Liu) [1797941] - [tools] selftests: net: tcp_mmap should create detached threads (Hangbin Liu) [1797941] - [tools] selftests: net: reuseport_dualstack: fix uninitalized parameter (Hangbin Liu) [1797941] - [net] tipc: fix link overflow issue at socket shutdown (Xin Long) [1798070] - [net] tipc: fix retrans failure due to wrong destination (Xin Long) [1798070] - [net] tipc: fix potential hanging after b/rcast changing (Xin Long) [1798070] - [net] tipc: fix ordering of tipc module init and exit routine (Xin Long) [1798070] - [net] tipc: fix wrong timeout input for tipc_wait_for_cond() (Xin Long) [1798070] - [net] tipc: fix wrong socket reference counter after tipc_sk_timeout() returns (Xin Long) [1798070] - [net] tipc: fix potential memory leak in __tipc_sendmsg() (Xin Long) [1798070] - [net] tipc: fix link name length check (Xin Long) [1798070] - [net] tipc: update replicast capability for broadcast send link (Xin Long) [1798070] - [net] tipc: update cluster capabilities if node deleted (Xin Long) [1798070] - [net] tipc: update mon's self addr when node addr generated (Xin Long) [1798070] - [net] tipc: reduce sensitive to retransmit failures (Xin Long) [1798070] - [net] sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY (Xin Long) [1798061] - [net] sctp: fully initialize v4 addr in some functions (Xin Long) [1798061] - [net] sctp: cache netns in sctp_ep_common (Xin Long) [1798061] - [net] sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook (Xin Long) [1798061] - [net] xfrm: support output_mark for offload ESP packets (Xin Long) [1798059] - [net] xfrm: release device reference for invalid state (Xin Long) [1798059] - [net] netfilter: fix a use-after-free in mtype_destroy() (Davide Caratti) [1796361] - [net] netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present (Davide Caratti) [1796361] - [net] netfilter: conntrack: Request module if l3proto is unknown (Phil Sutter) [1752765] - [include] tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE() (Guillaume Nault) [1780828] - [include] tcp: tighten acceptance of ACKs not matching a child socket (Guillaume Nault) [1780828] - [include] tcp: fix rejected syncookies due to stale timestamps (Guillaume Nault) [1780828] - [net] SUNRPC: Make "no retrans timeout" soft tasks behave like softconn for timeouts (Steve Dickson) [1801454] - [kernel] genirq, sched/isolation: Isolate from handling managed interrupts (Peter Xu) [1783026]- [nvme] nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info (David Milburn) [1798630] - [mm] arm64: debug: Remove unused return value from do_debug_exception() (Bhupesh Sharma) [1802511] - [mm] arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals (Bhupesh Sharma) [1802511] - [mm] arm64/mm: Reorganize arguments for is_el1_permission_fault() (Bhupesh Sharma) [1802511] - [mm] arm64/mm: Define esr_to_debug_fault_info() (Bhupesh Sharma) [1802511] - [infiniband] IB/mlx5: Do reverse sequence during device removal (Alaa Hleihel) [1801497] - [netdrv] bnxt_en: Fix RDMA driver failure with SRIOV after firmware reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Refactor logic to re-enable SRIOV after firmware reset detected (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix logic that disables Bus Master during firmware reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix TC queue mapping (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix NTUPLE firmware command failures (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix ipv6 RFS filter matching logic (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal (Jonathan Toppins) [1801868] - [netdrv] bnxt: Detach page from page pool before sending up the stack (Jonathan Toppins) [1801868] - [netdrv] bnxt: apply computed clamp value for coalece parameter (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix MSIX request logic for RDMA driver (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Free context memory in the open path if firmware has been reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Return error if FW returns more data than dump length (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix bp->fw_health allocation and free logic (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Add missing devlink health reporters for VFs (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix the logic that creates the health reporters (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Do driver unregister cleanup in bnxt_init_one() failure path (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Send FUNC_RESOURCE_QCAPS command in bnxt_resume() (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Combine 2 functions calling the same HWRM_DRV_RGTR fw command (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Abort waiting for firmware response if there is no heartbeat (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Return proper error code for non-existent NVM variable (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Add a warning message for driver initiated reset (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Improve RX buffer error handling (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Extend ETHTOOL_RESET to hot reset driver (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Increase firmware response timeout for coredump commands (Jonathan Toppins) [1801868] - [netdrv] bnxt_en: Fix suspend/resume path on 57500 chips (Jonathan Toppins) [1801111] - [netdrv] bnxt_en: Disable/enable Bus master during suspend/resume (Jonathan Toppins) [1801111] - [fs] cifs: fix soft mounts hanging in the reconnect code (Leif Sahlberg) [1795423] - [kernel] audit: CONFIG_CHANGE don't log internal bookkeeping as an event (Richard Guy Briggs) [1798512] - [security] selinux: reorder hooks to make runtime disable less broken (Ondrej Mosnacek) [1778990] - [scsi] scsi: qla2xxx: Fix unbound NVME response length (Himanshu Madhani) [1796480] - [isdn] misdn: enforce CAP_NET_RAW for raw sockets (Andrea Claudi) [1779475] {CVE-2019-17055}- [fs] Revert: f5bcc37b81fc ("namei: allow restricted O_CREAT of FIFOs and regular files") (Eric Sandeen) [1801468] - [fs] Revert: 433cbb6cf0ae ("quota: honor quota type in Q_XGETQSTATcalls") (Eric Sandeen) [1800435] - [infiniband] RDMA/siw: Fix setting active_mtu attribute (Kamal Heib) [1797199] - [infiniband] RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create (Kamal Heib) [1733690] - [scsi] scsi: lpfc: Fix release of hwq to clear the eq relationship (Dick Kennedy) [1798661] - [x86] kvm/hyper-v: don't allow to turn on unsupported VMX controls for nested guests (Vitaly Kuznetsov) [1786288] - [x86] kvm/hyper-v: move VMX controls sanitization out of nested_enable_evmcs() (Vitaly Kuznetsov) [1786288] - [x86] kvm/hyper-v: remove stale evmcs_already_enabled check from nested_enable_evmcs() (Vitaly Kuznetsov) [1786288] - [x86] kvm: svm: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses (Paolo Bonzini) [1796417] - [x86] kvm: x86: avoid incorrect writes to host MSR_IA32_SPEC_CTRL (Paolo Bonzini) [1796417] - [tools] selftests: netfilter: Introduce tests for sets with range concatenation (Stefano Brivio) [1593711] - [net] nf_tables: Add set type for arbitrary concatenation of ranges (Stefano Brivio) [1593711] - [lib] bitmap: Introduce bitmap_cut(): cut bits and shift remaining (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: Support for sets with multiple ranged fields (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: add NFTA_SET_ELEM_KEY_END attribute (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: add nft_setelem_parse_key() (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: validate NFT_DATA_VALUE after nft_data_init() (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: remove unused parameter ctx (Stefano Brivio) [1593711] - [net] netfilter: nf_tables: remove unused variable (Stefano Brivio) [1593711] - [ptp] ptp: free ptp device pin descriptors properly (Vladis Dronov) [1787568] - [ptp] ptp: fix the race between the release of ptp_clock and cdev (Vladis Dronov) [1787568] - [ptp] ptp: Fix pass zero to ERR_PTR() in ptp_clock_register (Vladis Dronov) [1787568]- [fs] NFSv4: pnfs_roc() must use cred_fscmp() to compare creds (Benjamin Coddington) [1800893] - [drm] drm/nouveau/kms/gv100-: avoid sending a core update until the first modeset (Ben Skeggs) [1801091] - [drm] drm/nouveau/kms/gv100-: move window ownership setup into modesetting path (Ben Skeggs) [1801091] - [drm] drm/nouveau/disp/gv100-: halt NV_PDISP_FE_RM_INTR_STAT_CTRL_DISP_ERROR storms (Ben Skeggs) [1801091] - [drm] drm/nouveau: Add HD-audio component notifier support (Ben Skeggs) [1792191] - [netdrv] net/mlx5: Fix deadlock in fs_core (Alaa Hleihel) [1786630] - [drm] drm/amd/dm/mst: Ignore payload update failures (Lyude Paul) [1773800 1773795] - [kernel] sched/rt: Optimize checking group RT scheduler constraints (Phil Auld) [1797106] - [fs] cifs: Fix mount options set in automount (Dave Wysochanski) [1790922]- [kernel] timers/nohz: Update NOHZ load in remote tick (Scott Wood) [1791434] - [kernel] sched/core: Don't skip remote tick for idle CPUs (Scott Wood) [1791434] - [drm] drm/amdgpu/vi: silence an uninitialized variable warning (Lyude Paul) [1792565] - [drm] drm: panel-lvds: Potential Oops in probe error handling (Lyude Paul) [1792565] - [drm] drm/i915: Fix pid leak with banned clients (Lyude Paul) [1792565] - [drm] drm/amdgpu: allow direct upload save restore list for raven2 (Lyude Paul) [1792565] - [drm] drm/amd/display: Reorder detect_edp_sink_caps before link settings read (Lyude Paul) [1792565] - [drm] drm/i915: Add missing include file (Lyude Paul) [1792565] - [drm] drm/amdgpu: enable gfxoff for raven1 refresh (Lyude Paul) [1792565] - [drm] drm/amdgpu/discovery: reserve discovery data at the top of VRAM (Lyude Paul) [1792565] - [drm] drm/amdgpu: cleanup creating BOs at fixed location (v2) (Lyude Paul) [1792565] - [drm] drm/tegra: Fix ordering of cleanup code (Lyude Paul) [1792565] - [drm] drm/i915/gen9: Clear residual context state on context switch (Lyude Paul) [1792565] - [drm] drm/i915: Add Wa_1407352427:icl,ehl (Lyude Paul) [1792565] - [drm] drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ (Lyude Paul) [1792565] - [drm] drm/fb-helper: Round up bits_per_pixel if possible (Lyude Paul) [1792565] - [drm] drm/i915: Add Wa_1408615072 and Wa_1407596294 to icl, ehl (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock for vega20 (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock for navi (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu/smu: add metrics table lock (Lyude Paul) [1792565] - [drm] drm/nouveau/kms/nv50-: fix panel scaling (Lyude Paul) [1792565 1741114] - [drm] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware (Lyude Paul) [1792565] - [drm] drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit (Lyude Paul) [1792565] - [drm] drm/amd/display: Reset steer fifo before unblanking the stream (Lyude Paul) [1792565] - [drm] drm/amd/display: Change the delay time before enabling FEC (Lyude Paul) [1792565] - [drm] drm/amd/display: Fixed kernel panic when booting with DP-to-HDMI dongle (Lyude Paul) [1792565] - [drm] drm/amdgpu: add cache flush workaround to gfx8 emit_fence (Lyude Paul) [1792565] - [drm] drm/amdgpu: add check before enabling/disabling broadcast mode (Lyude Paul) [1792565] - [drm] drm: limit to INT_MAX in create_blob ioctl (Lyude Paul) [1792565] - [drm] drm/amdgpu: Call find_vma under mmap_sem (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix uninitialized variable pasid_mapping_needed (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix bad DMA from INTERRUPT_CNTL2 (Lyude Paul) [1792565] - [drm] drm/amdgpu: Avoid accidental thread reactivation (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix potential double drop fence reference (Lyude Paul) [1792565] - [drm] drm/amdgpu: disallow direct upload save restore list from gfx driver (Lyude Paul) [1792565] - [gpu] gpu: host1x: Allocate gather copy for host1x (Lyude Paul) [1792565] - [drm] drm/tegra: sor: Use correct SOR index on Tegra210 (Lyude Paul) [1792565] - [drm] drm/amd/display: correctly populate dpp refclk in fpga (Lyude Paul) [1792565] - [drm] drm: Don't free jobs in wait_event_interruptible() (Lyude Paul) [1792565] - [drm] drm/gma500: fix memory disclosures due to uninitialized bytes (Lyude Paul) [1792565] - [drm] drm/amdgpu: fix amdgpu trace event print string format error (Lyude Paul) [1792565] - [drm] drm/amd/powerplay: avoid disabling ECC if RAS is enabled for VEGA20 (Lyude Paul) [1792565] - [drm] drm/bridge: dw-hdmi: Restore audio when setting a mode (Lyude Paul) [1792565] - [drm] drm/amd/display: Program DWB watermarks from correct state (Lyude Paul) [1792565] - [drm] drm/amd/display: Fix dongle_caps containing stale information (Lyude Paul) [1792565] - [drm] drm/amd/display: add new active dongle to existent w/a (Lyude Paul) [1792565] - [drm] drm/amd/display: refactor Device ID for external chips (Lyude Paul) [1792565] - [drm] drm/amd/display: wait for set pipe mcp command completion (Lyude Paul) [1792565] - [drm] drm/amd/display: Properly round nominal frequency for SPD (Lyude Paul) [1792565] - [drm] drm/drm_vblank: Change EINVAL by the correct errno (Lyude Paul) [1792565] - [drm] drm/amdkfd: Fix MQD size calculation (Lyude Paul) [1792565] - [drm] drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the internal I2C controller (Lyude Paul) [1792565] - [drm] drm/amd/display: set minimum abm backlight level (Lyude Paul) [1792565] - [drm] drm/amd/display: load iram for abm 2.3 (Lyude Paul) [1792565] - [drm] drm/amd/powerplay: A workaround to GPU RESET on APU (Lyude Paul) [1792565] - [drm] drm/amdkfd: fix a potential NULL pointer dereference (v2) (Lyude Paul) [1792565] - [drm] drm/amd/display: Set number of pipes to 1 if the second pipe was disabled (Lyude Paul) [1792565] - [drm] drm/amd/display: Handle virtual signal type in disable_link() (Lyude Paul) [1792565] - [drm] drm/ttm: return -EBUSY on pipelining with no_gpu_wait (v2) (Lyude Paul) [1792565] - [drm] drm/amdgpu: grab the id mgr lock while accessing passid_mapping (Lyude Paul) [1792565] - [drm] drm/amdgpu/sriov: add ring_stop before ring_create in psp v11 code (Lyude Paul) [1792565] - [drm] drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings (Lyude Paul) [1792565] - [drm] drm/amd/display: verify stream link before link test (Lyude Paul) [1792565] - [drm] drm: Use EOPNOTSUPP, not ENOTSUPP (Lyude Paul) [1792565] - [drm] drm/mipi-dbi: fix a loop in debugfs code (Lyude Paul) [1792565] - [drm] drm: mst: Fix query_payload ack reply struct (Lyude Paul) [1792565] - [drm] Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." (Lyude Paul) [1792565] - [drm] drm/amdgpu: add invalidate semaphore limit for SRIOV and picasso in gmc9 (Lyude Paul) [1792565] - [drm] drm/amdgpu: avoid using invalidate semaphore for picasso (Lyude Paul) [1792565] - [drm] drm/amdgpu/gfx10: re-init clear state buffer after gpu reset (Lyude Paul) [1792565] - [drm] drm/amdgpu/gfx10: explicitly wait for cp idle after halt/unhalt (Lyude Paul) [1792565] - [drm] drm/amdgpu: invalidate mmhub semaphore workaround in gmc9/gmc10 (Lyude Paul) [1792565] - [drm] drm/amdgpu: set adev->num_vmhubs for gmc6, 7, 8 (Lyude Paul) [1792565] - [drm] drm/amdgpu: Export function to flush TLB of specific vm hub (Lyude Paul) [1792565] - [drm] drm/amdgpu: add new member in amdgpu_device for vmhub counts per asic chip (Lyude Paul) [1792565] - [drm] drm/amdgpu: rename AMDGPU_GFXHUB/MMHUB macro with hub number (Lyude Paul) [1792565] - [drm] drm/amdgpu: initialize vm_inv_eng0_sem for gfxhub and mmhub (Lyude Paul) [1792565] - [drm] drm/amd/display: add default clocks if not able to fetch them (Lyude Paul) [1792565] - [drm] drm/amd/display: re-enable wait in pipelock, but add timeout (Lyude Paul) [1792565] - [drm] drm/dp_mst: Correct the bug in drm_dp_update_payload_part1() (Lyude Paul) [1792565] - [drm] drm/radeon: fix r1xx/r2xx register checker for POT textures (Lyude Paul) [1792565] - [drm] drm/i915/fbc: Disable fbc by default on all glk+ (Lyude Paul) [1792565] - [drm] drm/nouveau/kms/nv50-: Limit MST BPC to 8 (Lyude Paul) [1792565 1773804] - [drm] drm/nouveau/kms/nv50-: Store the bpc we're using in nv50_head_atom (Lyude Paul) [1792565 1773804] - [drm] drm/nouveau/kms/nv50-: Call outp_atomic_check_view() before handling PBN (Lyude Paul) [1792565 1773804] - [drm] drm/mgag200: Flag all G200 SE A machines as broken wrt (Lyude Paul) [1792565] - [drm] drm/mgag200: Add workaround for HW that does not support 'startadd' (Lyude Paul) [1792565] - [drm] drm/mgag200: Store flags from PCI driver data in device structure (Lyude Paul) [1792565] - [drm] drm/mgag200: Extract device type from flags (Lyude Paul) [1792565] - [dma-buf] dma-buf: Fix memory leak in sync_file_merge() (Lyude Paul) [1792565] - [video] video/hdmi: Fix AVI bar unpack (Lyude Paul) [1792565] - [drm] drm: damage_helper: Fix race checking plane->state->fb (Lyude Paul) [1792565] - [drm] drm/i915: Fix detection for a CMP-V PCH (Lyude Paul) [1792565] - [x86] Mark AMD Ryzen 7 as supported (David Arcari) [1797317] - [x86] Mark AMD Ryzen 5 as supported (David Arcari) [1718051] - [mm] mm/sparse.c: reset section's mem_map when fully deactivated (Pingfan Liu) [1797848] - [drm] drm/mgag200: Don't unpin the current cursor image's buffer (Lyude Paul) [1784290] - [drm] drm/mgag200: Set cursor scanout address to correct BO (Lyude Paul) [1784290] - [drm] drm/mgag200: Pin displayed cursor BO to video memory (Lyude Paul) [1784290] - [tools] Correction to manpage of cpupower (Prarit Bhargava) [1796139] - [fs] cifs: fix soft mounts hanging in the reconnect code (Dave Wysochanski) [1795429] - [net] ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup (Sabrina Dubroca) [1774440] - [net] ipv6: add net argument to ip6_dst_lookup_flow (Sabrina Dubroca) [1774440] - [netdrv] can: peak_usb: fix slab info leak (Guillaume Nault) [1787486] {CVE-2019-19534} - [netdrv] vxlan: fix tos value before xmit (Hangbin Liu) [1786075] - [net] netfilter: nft_tproxy: Fix port selector on Big Endian (Phil Sutter) [1781481] - [net] devlink: Change devlink health locking mechanism (Petr Oros) [1785997] - [net] xfrm: Fix memleak on xfrm state destroy (Xin Long) [1780470] - [net] erspan: remove the incorrect mtu limit for erspan (Hangbin Liu) [1783871] - [net] ieee802154: enforce CAP_NET_RAW for raw sockets (Andrea Claudi) [1779495] {CVE-2019-17053} - [net] netfilter: masquerade: don't flush all conntracks if only one address deleted on device (Patrick Talbert) [1772334]- [mm] memcg: Add preemption point in accumulate_memcg_tree() (Waiman Long) [1795049] - [edac] EDAC: skx_common: downgrade message importance on missing PCI device (Aristeu Rozanski) [1775511] - [infiniband] IB/core: Do not notify GID change event of an unregistered device (Kamal Heib) [1787333] - [infiniband] IB/core: Let IB core distribute cache update events (Kamal Heib) [1787333] - [arm64] arm64: kexec: always reset to EL2 if present (Bhupesh Sharma) [1794805] - [tools] perf header: Use last modification time for timestamp (Michael Petlan) [1791258] - [netdrv] net/mlx5e: Enable all available stats for uplink reps (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Create q counters on uplink representors (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Convert rep stats to mlx5e_stats_grp-based infra (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: IPoIB, use separate stats groups (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Convert stats groups array to array of group pointers (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Declare stats groups via macro (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Profile specific stats groups (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Move uplink rep init/cleanup code into own functions (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Add discard counters per priority (Alaa Hleihel) [1786321] - [netdrv] net/mlx5e: Add port buffer's congestion counters (Alaa Hleihel) [1786321] - [netdrv] net/mlx5: Expose HW capability bits for port buffer per priority congestion counters (Alaa Hleihel) [1786321] - [netdrv] qede: Fix multicast mac configuration (Manish Chopra) [1784894] - [thunderbolt] thunderbolt: Drop unnecessary read when writing LC command in Ice Lake (Jarod Wilson) [1784568] - [thunderbolt] thunderbolt: Fix lockdep circular locking depedency warning (Jarod Wilson) [1784568] - [thunderbolt] thunderbolt: Read DP IN adapter first two dwords in one go (Jarod Wilson) [1784568]- [pci] PCI/PM: Move pci_dev_wait() definition earlier (Myron Stowe) [1794266] - [pci] PCI/PM: Add missing link delays required by the PCIe spec (Myron Stowe) [1794266] - [pci] PCI/PM: Add pcie_wait_for_link_delay() (Myron Stowe) [1794266] - [pci] PCI/PM: Return error when changing power state from D3cold (Myron Stowe) [1794266] - [pci] PCI/PM: Decode D3cold power state correctly (Myron Stowe) [1794266] - [pci] PCI/PM: Fold __pci_complete_power_transition() into its caller (Myron Stowe) [1794266] - [pci] PCI/PM: Avoid exporting __pci_complete_power_transition() (Myron Stowe) [1794266] - [pci] PCI/PM: Fold __pci_start_power_transition() into its caller (Myron Stowe) [1794266] - [pci] PCI/PM: Use pci_power_up() in pci_set_power_state() (Myron Stowe) [1794266] - [pci] PCI/PM: Move power state update away from pci_power_up() (Myron Stowe) [1794266] - [pci] PCI/PM: Remove unused pci_driver.suspend_late() hook (Myron Stowe) [1794266] - [pci] PCI/PM: Remove unused pci_driver.resume_early() hook (Myron Stowe) [1794266] - [xen] xen-platform: Convert to generic power management (Myron Stowe) [1794266] - [pci] PCI/PM: Simplify pci_set_power_state() (Myron Stowe) [1794266] - [pci] PCI/PM: Expand PM reset messages to mention D3hot (not just D3) (Myron Stowe) [1794266] - [pci] PCI/PM: Apply D2 delay as milliseconds, not microseconds (Myron Stowe) [1794266] - [pci] PCI/PM: Use pci_WARN() to include device information (Myron Stowe) [1794266] - [pci] PCI/PM: Use PCI dev_printk() wrappers for consistency (Myron Stowe) [1794266] - [pci] PCI/PM: Make power management op coding style consistent (Myron Stowe) [1794266] - [pci] PCI/PM: Run resume fixups before disabling wakeup events (Myron Stowe) [1794266] - [pci] PCI/PM: Clear PCIe PME Status even for legacy power management (Myron Stowe) [1794266] - [pci] PCI/PM: Always return devices to D0 when thawing (Myron Stowe) [1794266] - [pci] PCI: PM: Fix pci_power_up() (Myron Stowe) [1794266] - [pci] PCI: Make pcie_downstream_port() available outside of access.c (Myron Stowe) [1794266] - [pci] PCI: Add pci_info_ratelimited() to ratelimit PCI separately (Myron Stowe) [1794266] - [pci] PCI: PM: Simplify bus-level hibernation callbacks (Myron Stowe) [1794266] - [pci] PCI: Do not poll for PME if the device is in D3cold (Myron Stowe) [1794266] - [pci] PCI: PM: Replace pci_dev_keep_suspended() with two functions (Myron Stowe) [1794266] - [pci] PCI: PM: Avoid resuming devices in D3hot during system suspend (Myron Stowe) [1794266] - [pci] PCI: PM: Avoid skipping bus-level PM on platforms without ACPI (Myron Stowe) [1794266] - [pci] treewide: Switch printk users from pf and pF to ps and pS, respectively (Myron Stowe) [1794266] - [sound] ALSA: Use the legacy HDA driver as default for Intel DSP platforms (Jaroslav Kysela) [1793227] - [nvme] nvme: nvme_mpath_init remove multipath check (David Milburn) [1790958] - [mm] mm/page-writeback.c: don't break integrity writeback on ->writepage() error (Christoph von Recklinghausen) [1782117] - [arm64] arm64: Revert support for execute-only user mappings (Jeremy Linton) [1788629] - [powerpc] powerpc/papr_scm: Don't enable direct map for a region by default (Steve Best) [1795706]- [tools] selftests/eeh: Bump EEH wait time to 60s (Steve Best) [1783199] - [tools] tools/kvm_stat: Fix kvm_exit filter name (Gavin Shan) [1780345] - [infiniband] RDMA/bnxt_re: Report more number of completion vectors (Selvin Xavier) [1788037 1753515] - [infiniband] RDMA/bnxt_re: Fix Send Work Entry state check while polling completions (Selvin Xavier) [1788037] - [infiniband] RDMA/bnxt_re: Fix missing le16_to_cpu (Selvin Xavier) [1788037] - [infiniband] RDMA/bnxt_re: Avoid freeing MR resources if dereg fails (Selvin Xavier) [1788037 1737147] - [infiniband] RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices (Selvin Xavier) [1788037 1771855] - [infiniband] RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series (Selvin Xavier) [1788037 1783943] - [netdrv] net/mlx5e: Clear VF config when switching modes (mohamad meib) [1787276] - [base] drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup fixup (David Hildenbrand) [1789900] - [base] drivers/base/memory.c: cache memory blocks in xarray to accelerate lookup (David Hildenbrand) [1789900] - [base] drivers/base/memory.c: drop the mem_sysfs_mutex (David Hildenbrand) [1789900] - [base] driver/base/memory.c: validate memory block size early (David Hildenbrand) [1789900] - [fs] block: Don't revalidate bdev of hidden gendisk (David Milburn) [1779342] - [scsi] scsi: virtio_scsi: unplug LUNs when events missed (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: implement request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: fix dh and multipathing for SCSI hosts without request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: fix missing .cleanup_rq for SCSI hosts without request batching (Maxim Levitsky) [1614188] - [scsi] scsi: core: add support for request batching (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Use struct_size() helper (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: remove unused 'affinity_hint_set' (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: don't send sc payload with tmfs (Maxim Levitsky) [1614188] - [scsi] scsi: virtio_scsi: Remove per-target data because it is no longer used (Maxim Levitsky) [1614188] - [powerpc] powerpc/pseries/lparcfg: Fix display of Maximum Memory (Steve Best) [1795622] - [powerpc] powernv: Don't reprogram SLW image on every KVM guest entry/exit (Laurent Vivier) [1751078] - [x86] Mark certain versions of Comet Lake as supported (David Arcari) [1794198] - [s390] s390/dasd: Disable Thin Provisioning to prevent data loss (Philipp Rudo) [1793461]- [x86] kvm: x86/mmu: Take slots_lock when using kvm_mmu_zap_all_fast() (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: x86: disable shattered huge page recovery for PREEMPT_RT (Paolo Bonzini) [1690344] {CVE-2018-12207} - [documentation] documentation: Add ITLB_MULTIHIT documentation (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: x86: mmu: Recovery of shattered NX large pages (Paolo Bonzini) [1690344] {CVE-2018-12207} - [virt] kvm: Add helper function for creating VM worker threads (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: mmu: ITLB_MULTIHIT mitigation (Paolo Bonzini) [1690344] {CVE-2018-12207} - [kernel] cpu/speculation: Uninline and export CPU mitigations helpers (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] cpu: Add Tremont to the cpu vulnerability whitelist (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] bugs: Add ITLB_MULTIHIT bug infrastructure (Paolo Bonzini) [1690344] {CVE-2018-12207} - [x86] kvm: vmx, svm: always run with EFER.NXE=1 when shadow paging is active (Paolo Bonzini) [1690344] {CVE-2018-12207} - [crypto] crypto: hmac - fix memory leak in hmac_init_tfm() (Herbert Xu) [1775858] - [crypto] crypto: hash - fix incorrect HASH_MAX_DESCSIZE (Herbert Xu) [1775858] - [nvme] nvme: Translate more status codes to blk_status_t (Gopal Tiwari) [1781537] - [include] nvme: resync include/linux/nvme.h with nvmecli (Gopal Tiwari) [1781537] - [netdrv] hv_netvsc: Fix memory leak when removing rndis device (Mohammed Gamal) [1733007] - [fs] cifs: Fix memory allocation in __smb2_handle_cancelled_cmd() (Dave Wysochanski) [1793182] - [tools] perf c2c: Fix report with offline cpus (Michael Petlan) [1744903] - [kernel] locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN (Waiman Long) [1793028] - [mm] mm/memory_hotplug: don't free usage map when removing a re-added early section (Pingfan Liu) [1787269] - [netdrv] iavf: remove current MAC address filter on VF reset (Stefan Assmann) [1735725 1738738] - [dma] dma-mapping: fix handling of dma-ranges for reserved memory (again) (Jerry Snitselaar) [1784691]- [fs] pnfs/filelayout: enable LAYOUTGET on OPEN (Steve Dickson) [1756140] - [fs] NFSD fixing possible null pointer derefering in copy offload (Benjamin Coddington) [1763220] - [fs] nfsd: Ensure CLONE persists data and metadata changes to the target file (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix backchannel latency metrics (Benjamin Coddington) [1763220] - [fs] NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for layoutreturn (Benjamin Coddington) [1763220] - [fs] NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() (Benjamin Coddington) [1763220] - [fs] NFS: Fix an RCU lock leak in nfs4_refresh_delegation_stateid() (Benjamin Coddington) [1763220] - [fs] NFSv4: Don't allow a cached open with a revoked delegation (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix svcauth_gss_proxy_init() (Benjamin Coddington) [1763220] - [net] SUNRPC: The TCP back channel mustn't disappear while requests are outstanding (Benjamin Coddington) [1763220] - [net] xprtrdma: Close window between waking RPC senders and posting Receives (Benjamin Coddington) [1763220] - [net] xprtrdma: Connection becomes unstable after a reconnect (Benjamin Coddington) [1763220] - [net] xprtrdma: Add unique trace points for posting Local Invalidate WRs (Benjamin Coddington) [1763220] - [net] sunrpc: fix crash when cache_head become valid before update (Benjamin Coddington) [1763220] - [fs] nfsd4: fix up replay_matches_cache() (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix leak of clp->cl_acceptor string (Benjamin Coddington) [1763220] - [fs] pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors (Benjamin Coddington) [1763220] - [fs] NFS: Fix O_DIRECT accounting of number of bytes read/written (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix another issue with MIC buffer space (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix buffer handling of GSS MIC without slack (Benjamin Coddington) [1763220] - [fs] Revert "NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated" (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't handle errors if the bind/connect succeeded (Benjamin Coddington) [1763220] - [net] SUNRPC: Fix congestion window race with disconnect (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't try to parse incomplete RPC messages (Benjamin Coddington) [1763220] - [net] SUNRPC: Don't receive TCP data into a request buffer that has been reset (Benjamin Coddington) [1763220] - [net] SUNRPC: Dequeue the request from the receive queue while we're re-encoding (Benjamin Coddington) [1763220] - [net] SUNRPC: Handle connection breakages correctly in call_status() (Benjamin Coddington) [1763220] - [net] xprtrdma: Toggle XPRT_CONGESTED in xprtrdma's slot methods (Benjamin Coddington) [1763220] - [fs] NFS: Ensure O_DIRECT reports an error if the bytes read/written is 0 (Benjamin Coddington) [1763220] - [fs] NFSv4/pnfs: Fix a page lock leak in nfs_pageio_resend() (Benjamin Coddington) [1763220] - [fs] NFS: Fix regression whereby fscache errors are appearing on 'nofsc' mounts (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix a potential sleep while atomic in nfs4_do_reclaim() (Benjamin Coddington) [1763220] - [fs] NFSv4.1: Only reap expired delegations (Benjamin Coddington) [1763220] - [fs] NFSv4.1: Fix open stateid recovery (Benjamin Coddington) [1763220] - [fs] NFSv4: Fix a credential refcount leak in nfs41_check_delegation_stateid (Benjamin Coddington) [1763220] - [fs] NFSv4: Handle the special Linux file open access mode (Benjamin Coddington) [1763220] - [fs] nfsd: Fix overflow causing non-working mounts on 1 TB machines (Benjamin Coddington) [1763220] - [md] md: make sure desc_nr less than MD_SB_DISKS (Nigel Croxon) [1769057] - [md] md: raid1: check rdev before reference in raid1_sync_request func (Nigel Croxon) [1769057] - [md] md/raid10: prevent access of uninitialized resync_pages offset (Nigel Croxon) [1769057] - [md] md: avoid invalid memory access for array sb->dev_roles (Nigel Croxon) [1769057] - [md] md/raid1: avoid soft lockup under high load (Nigel Croxon) [1769057] - [md] md: no longer compare spare disk superblock events in super_load (Nigel Croxon) [1769057] - [md] md: improve handling of bio with REQ_PREFLUSH in md_flush_request() (Nigel Croxon) [1769057] - [md] md/bitmap: avoid race window between md_bitmap_resize and bitmap_file_clear_bit (Nigel Croxon) [1769057] - [md] md/raid0: Fix an error message in raid0_make_request() (Nigel Croxon) [1769057] - [md] md/raid0: fix warning message for parameter default_layout (Nigel Croxon) [1769057] - [netdrv] net/mlx5: DR, Init lists that are used in rule's member (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, No need for atomic refcount for internal SW steering resources (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create multiple destination action from dr_create_fte (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Add support for multiple destination table action (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Align dest FT action creation to API (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Pass table flags at creation to lower layer (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create multi-destination table for SW-steering use (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Create FTE entry in the FW from SW-steering (Alaa Hleihel) [1775986] - [netdrv] net/mlx5: DR, Use attributes struct for FW flow table creation (Alaa Hleihel) [1775986] - [drm] drm/amd/display: fix struct init in update_bounding_box (Don Dutile) [1784621] - [tools] perf/x86/pmu-events: Fix Kernel_Utilization metric (Michael Petlan) [1788434] - [tools] perf vendor events intel: Update all the Intel JSON metrics from TMAM 3.6 (Michael Petlan) [1788434] - [tools] perf vendor events intel: Update CascadelakeX events to v1.05 (Michael Petlan) [1788434] - [tools] cpupower: mperf_monitor: Update cpupower to use the RDPRU instruction (Janakarajan Natarajan) [1766357] - [tools] cpupower: mperf_monitor: Introduce per_cpu_schedule flag (Janakarajan Natarajan) [1766357] - [tools] cpupower: Move needs_root variable into a sub-struct (Janakarajan Natarajan) [1766357] - [mm] coredump: fix race condition between collapse_huge_page() and core dumping (Andrea Arcangeli) [1722986] - [mm] memcg, oom: don't require __GFP_FS when invoking memcg OOM killer (Waiman Long) [1791170] - [uapi] mm: move MAP_SYNC to asm-generic/mman-common.h (Jeff Moyer) [1791539]- [linux] ptr_ring: wrap back ->producer in __ptr_ring_swap_queue() (Lu Lu) [1663784] - [virtio] virtio-balloon: fix managed page counts when migrating pages between zones (David Hildenbrand) [1689800] - [infiniband] IB/mlx4: Follow mirror sequence of device add during device removal (mohamad meib) [1786042] - [netdrv] gve: Fix the queue page list allocated pages count (Patricio Noyola) [1789114] - [netdrv] gve: fix dma sync bug where not all pages synced (David Awogbemila) [1790957] - [netdrv] gve: Fixes DMA synchronization (David Awogbemila) [1789027] - [net] SUNRPC: Ignore queue transmission errors on successful transmission (Benjamin Coddington) [1769367] - [net] Revert "SUNRPC: Micro-optimise when the task is known not to be sleeping" (Benjamin Coddington) [1769367] - [net] SUNRPC: Fix up calculation of client message length (Benjamin Coddington) [1769367] - [net] Merge tag 'nfs-rdma-for-5.1-1' of git://git.linux-nfs.org/projects/anna/linux-nfs (Benjamin Coddington) [1769367] - [char] tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's" (Jerry Snitselaar) [1789088] - [char] tpm: Revert "tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts" (Jerry Snitselaar) [1789088] - [tools] perf jvmti: Link against tools/lib/ctype.h to have weak strlcpy() (Michael Petlan) [1786048] - [tools] perf jvmti: Link against tools/lib/string.o to have weak strlcpy() (Michael Petlan) [1786048] - [kernel] kprobes: Show address of kprobes if kallsyms does (Michael Petlan) [1747099] - [kernel] genirq/debugfs: Reset domain debugfs_file on removal of the debugfs file (Mohammed Gamal) [1782640] - [powerpc] powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest (Steve Best) [1789594]- [platform] x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Fix the SoC naming inconsistency (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core_pltdrv: Module removal warning fix (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Do not ioremap RAM (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Remove dev_err() usage after platform_get_irq() (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Add ICL-NNPI support to PMC Core (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Attach using APCI HID "INT33A1" (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: transform Pkg C-state residency from TSC ticks into microseconds (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc: no need to check return value of debugfs_create functions (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Allow to dump debug registers on S0ix failure (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Convert to a platform_driver (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Don't map non-used optional resources (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Apply same width for offset definitions (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: Use BIT() macro (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_core: Mark local function static (Lenny Szubowicz) [1773793] - [platform] x86: intel_pmc_ipc: adding error handling (Lenny Szubowicz) [1773793] - [mm] memory_hotplug: cleanup __remove_pages() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: drop local variables in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't check for "all holes" in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: we always have a zone in find_(smallest|biggest)_section_pfn (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: poison memmap in remove_pfn_range_from_zone() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: shrink zones when offlining memory (Christoph von Recklinghausen) [1766491] - [mm] memmap_init: update variable name in memmap_init_zone (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't access uninitialized memmaps in shrink_zone_span() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: fix try_offline_node() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: fix updating the node span (Christoph von Recklinghausen) [1766491] - [mm] hugetlbfs: don't access uninitialized memmaps in pfn_range_valid_gigantic() (Christoph von Recklinghausen) [1766491] - [mm] memory_hotplug: don't access uninitialized memmaps in shrink_pgdat_span() (Christoph von Recklinghausen) [1766491] - [mm] page_owner: don't access uninitialized memmaps when reading /proc/pagetypeinfo (Christoph von Recklinghausen) [1766491] - [mm] memory-failure.c: don't access uninitialized memmaps in memory_failure() (Christoph von Recklinghausen) [1766491] - [fs] proc/page.c: don't access uninitialized memmaps in fs/proc/page.c (Christoph von Recklinghausen) [1766491] - [base] base/memory.c: don't access uninitialized memmaps in soft_offline_page_store() (Christoph von Recklinghausen) [1766491] - [base] base/node.c: simplify unregister_memory_block_under_nodes() (Christoph von Recklinghausen) [1766491] - [kernel] /proc/kpagecount: return 0 for special pages that are never mapped (Christoph von Recklinghausen) [1766491] - [netdrv] fm10k: fix fm10k_get_fault_pf to read correct address (Neil Horman) [1721716] - [netdrv] fm10k: convert NON_Q_VECTORS(hw) into NON_Q_VECTORS (Neil Horman) [1721716] - [netdrv] fm10k: mark unused parameters with __always_unused (Neil Horman) [1721716] - [netdrv] fm10k: cast page_addr to u8 * when incrementing it (Neil Horman) [1721716] - [netdrv] fm10k: explicitly return 0 on success path in function (Neil Horman) [1721716] - [netdrv] fm10k: remove needless initialization of size local variable (Neil Horman) [1721716] - [netdrv] fm10k: remove needless assignment of err local variable (Neil Horman) [1721716] - [netdrv] fm10k: remove unnecessary variable initializer (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of the ring variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the result local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the local msg variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the local i variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the err variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the tx_buffer variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of the q_idx local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of local err variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce the scope of qv local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of *p local variable (Neil Horman) [1721716] - [netdrv] fm10k: reduce scope of the err variable (Neil Horman) [1721716] - [netdrv] fm10k: Use dev_get_drvdata (Neil Horman) [1721716] - [crypto] crypto: qat - Silence smp_processor_id() warning (Neil Horman) [1723573] - [crypto] crypto: qat - use struct_size() helper (Neil Horman) [1723573] - [crypto] crypto: qat - do not offload zero length requests (Neil Horman) [1723573] - [crypto] crypto: qat - return error for block ciphers for invalid requests (Neil Horman) [1723573] - [crypto] crypto: qat - return proper error code in setkey (Neil Horman) [1723573] - [crypto] crypto: qat - fix block size for aes ctr mode (Neil Horman) [1723573] - [crypto] crypto: qat - update iv after encryption or decryption operations (Neil Horman) [1723573] - [crypto] crypto: qat - add check for negative offset in alg precompute function (Neil Horman) [1723573] - [crypto] crypto: qat - remove spin_lock in qat_ablkcipher_setkey (Neil Horman) [1723573] - [crypto] treewide: Add SPDX license identifier - Makefile/Kconfig (Neil Horman) [1723573] - [crypto] crypto: shash - remove shash_desc::flags (Neil Horman) [1723573] - [crypto] crypto: rsa - unimplement sign/verify for raw RSA backends (Neil Horman) [1723573] - [hv] Revert "hv: vmbus: Implement suspend/resume for VSC drivers for hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Ignore the offers when resuming from hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Suspend/resume the vmbus itself for hibernation" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Clean up hv_sock channels by force upon suspend" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Suspend after cleaning up hv_sock and sub channels" (Mohammed Gamal) [1788082] - [hv] Revert "hv: vmbus: Resume after fixing up old primary channels" (Mohammed Gamal) [1788082] - [hv] Revert "vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP" (Mohammed Gamal) [1788082] - [x86] kvm: vmx: Introduce handle_unexpected_vmexit and handle WAITPKG vmexit (Paul Lai) [1494707] - [x86] kvm: vmx: Emulate MSR IA32_UMWAIT_CONTROL (Paul Lai) [1494707] - [x86] kvm: x86: Add support for user wait instructions (Paul Lai) [1494707] - [tools] tools arch x86: Update tools's copy of cpufeatures.h (Paul Lai) [1494707] - [kvm] KVM: x86: expose AVX512_BF16 feature to guest (Paul Lai) [1642539] - [x86] x86/cpufeatures: Enumerate the new AVX512 BFLOAT16 instructions (Paul Lai) [1642539] - [block] rbd: silence bogus uninitialized warning in rbd_object_map_update_finish() (Jeff Layton) [1777961] - [fs] ceph: increment/decrement dio counter on async requests (Jeff Layton) [1777961] - [fs] ceph: take the inode lock before acquiring cap refs (Jeff Layton) [1777961] - [scsi] scsi: lpfc: fix build failure with DEBUGFS disabled (Dick Kennedy) [1784863] - [scsi] Revert "storvsc: setup 1:1 mapping between hardware queue and CPU queue" (Cathy Avery) [1787594] - [tools] perf session: Return error code for perf_session__new() function on failure (Michael Petlan) [1754995] - [tools] perf header: Fix false warning when there are no duplicate cache entries (Michael Petlan) [1776499] - [firmware] efi/memreserve: Register reservations as 'reserved' in /proc/iomem (Bhupesh Sharma) [1772730] - [firmware] efi/memreserve: deal with memreserve entries in unmapped memory (Bhupesh Sharma) [1772730] - [powerpc] powerpc/powernv: Avoid re-registration of imc debugfs directory (Diego Domingos) [1781098] - [powerpc] powerpc/powernv: Return for invalid IMC domain (Diego Domingos) [1781098]- [tools] perf tools: Allow to link with libbpf dynamicaly (Michael Petlan) [1781570] - [tools] perf probe: Fix spelling mistake "addrees" -> "address" (Michael Petlan) [1760227] - [tools] perf probe: Trace a magic number if variable is not found (Michael Petlan) [1760227] - [tools] perf probe: Support DW_AT_const_value constant value (Michael Petlan) [1760227] - [tools] perf probe: Support multiprobe event (Michael Petlan) [1760227] - [tools] perf probe: Generate event name with line number (Michael Petlan) [1760227] - [tools] perf probe: Do not show non representive lines by perf-probe -L (Michael Petlan) [1760227] - [tools] perf probe: Verify given line is a representive line (Michael Petlan) [1760227] - [tools] perf probe: Show correct statement line number by perf probe -l (Michael Petlan) [1760227] - [tools] perf probe: Skip overlapped location on searching variables (Michael Petlan) [1760227] - [tools] perf probe: Fix to show calling lines of inlined functions (Michael Petlan) [1760227] - [tools] perf probe: Filter out instances except for inlined subroutine and subprogram (Michael Petlan) [1760227] - [tools] perf probe: Skip end-of-sequence and non statement lines (Michael Petlan) [1760227] - [tools] perf probe: Return a better scope DIE if there is no best scope (Michael Petlan) [1760227] - [tools] perf probe: Fix to show ranges of variables in functions without entry_pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to show inlined function callsite without entry_pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to list probe event with correct line number (Michael Petlan) [1760227] - [tools] perf probe: Fix to probe an inline function which has no entry pc (Michael Petlan) [1760227] - [tools] perf probe: Fix to probe a function which has no entry pc (Michael Petlan) [1760227] - [tools] perf probe: Fix wrong address verification (Michael Petlan) [1760227] - [tools] perf probe: Fix to show function entry line as probe-able (Michael Petlan) [1760227] - [tools] perf probe: Walk function lines in lexical blocks (Michael Petlan) [1760227] - [tools] perf probe: Fix to find range-only function instance (Michael Petlan) [1760227] - [scsi] qla2xxx: Fix incorrect SFUB length used for Secure Flash Update MB Cmd (Himanshu Madhani) [1782598] - [scsi] qla2xxx: Added support for MPI and PEP regions for ISP28XX (Himanshu Madhani) [1782598] - [scsi] qla2xxx: Correctly retrieve and interpret active flash region (Himanshu Madhani) [1782598] - [nvme] nvme: Add quirk for LiteON CL1 devices running FW 22301111 (Perry Yuan) [1769179] - [nvme] nvme-pci: Save PCI state before putting drive into deepest state (Perry Yuan) [1769180] - [infiniband] rdma/cxgb4: Fix spelling mistake "immedate" -> "immediate" (Vishal Kulkarni) [1725823] - [infiniband] rdma/cxgb4: Fix null pointer dereference on alloc_skb failure (Vishal Kulkarni) [1725823] - [infiniband] iw_cxgb4: Fix qpid leak (Vishal Kulkarni) [1725823] - [netdrv] net/mlx5e: Use correct enum to determine uplink port (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix concurrency issues between config flow and XSK (mohamad meib) [1786113] - [infiniband] IB/mlx5: Fix steering rule of drop and count (mohamad meib) [1786113] - [netdrv] net/mlx5e: ethtool, Fix analysis of speed setting (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix translation of link mode into speed (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix free peer_flow when refcount is 0 (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix freeing flow with kfree() and not kvfree() (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix SFF 8472 eeprom length (mohamad meib) [1786113] - [netdrv] net/mlx5e: Query global pause state before setting prio2buffer (mohamad meib) [1786113] - [netdrv] net/mlx5e: Fix TXQ indices to be sequential (mohamad meib) [1786113] - [infiniband] RDMA/mlx5: Fix a race with mlx5_ib_update_xlt on an implicit MR (mohamad meib) [1786113] - [netdrv] ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe (Jarod Wilson) [1783853] {CVE-2019-15099} - [netdrv] revert "[netdrv] ice: mark driver as tech-preview" (Jonathan Toppins) [1783062] - [netdrv] ibmvnic: Fix typo in retry check (Steve Best) [1783775] - [netdrv] ibmveth: Detect unsupported packets before sending to the hypervisor (Steve Best) [1784904] - [netdrv] igc: add additional delay during phy hw reset (David Arcari) [1782824] - [net] bridge: fix regression in br_mdb_fill_info() (Petr Oros) [1783888] - [net] bpf: Emit audit messages upon successful prog load and unload (Jiri Olsa) [1781266] - [fs] fuse: fix leak of fuse_io_priv (Miklos Szeredi) [1777009] - [fs] virtiofs: Check contents of options string (Vivek Goyal) [1783426] - [fs] exec: Fix mem leak in kernel_read_file (Eric Sandeen) [1683731] {CVE-2019-8980} - [lib] sbitmap: only queue kyber's wait callback if not already active (Ming Lei) [1784544] - [fs] CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks (Dave Wysochanski) [1788202] - [kernel] ftrace: Check for successful allocation of hash (Desnes Augusto Nunes do Rosario) [1719414] - [kernel] ftrace: Check for empty hash and comment the race with registering probes (Desnes Augusto Nunes do Rosario) [1719414] - [kernel] ftrace: Fix NULL pointer dereference in t_probe_next() (Desnes Augusto Nunes do Rosario) [1719414] - [iommu] vt-d: Allocate reserved region for ISA with correct permission (Jerry Snitselaar) [1778041] - [iommu] set group default domain before creating direct mappings (Jerry Snitselaar) [1778041] - [iommu] vt-d: Fix dmar pte read access not set error (Jerry Snitselaar) [1778041] - [iommu] vt-d: Set ISA bridge reserved region as relaxable (Jerry Snitselaar) [1778041] - [iommu] fix KASAN use-after-free in iommu_insert_resv_region (Auger Eric) [1777014] - [platform] platform/x86: dell-laptop: fix rfkill functionality (Jarod Wilson) [1725878] - [mm] mm/hugetlb: defer freeing of huge pages if in non-task context (Waiman Long) [1780015] - [mm] powerpc/book3s64/hash: Use secondary hash for bolted mapping if the primary is full (Steve Best) [1783159] - [mm] powerpc/pseries: Don't fail hash page table insert for bolted mapping (Steve Best) [1783159] - [powerpc] powerpc/pseries: Don't opencode HPTE_V_BOLTED (Steve Best) [1783159] - [powerpc] powerpc/perf: Disable trace_imc pmu (Steve Best) [1785573] - [powerpc] powerpc/spinlocks: Include correct header for static key (Phil Auld) [1767529] - [powerpc] powerpc/shared: Use static key to detect shared processor (Phil Auld) [1767529] - [powerpc] powerpc/vcpu: Assume dedicated processors as non-preempt (Phil Auld) [1767529] - [arm64] arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space (Jeremy Linton) [1757828] - [arm64] arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419 (Jeremy Linton) [1757828] - [arm64] arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 (Jeremy Linton) [1757828] - [arm64] arm64: Handle erratum 1418040 as a superset of erratum 1188873 (Jeremy Linton) [1757828] - [arm64] arm64: errata: Add workaround for Cortex-A76 erratum #1463225 (Jeremy Linton) [1757828] - [arm64] arm64: Kconfig: Tidy up errata workaround help text (Jeremy Linton) [1757828] - [arm64] arm64: Apply ARM64_ERRATUM_1188873 to Neoverse-N1 (Jeremy Linton) [1757828] - [arm64] arm64: Add part number for Neoverse N1 (Jeremy Linton) [1757828] - [arm64] arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT (Jeremy Linton) [1757828] - [clocksource] arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32 (Jeremy Linton) [1757828] - [arm64] arm64: arch_timer: avoid unused function warning (Jeremy Linton) [1757828] - [arm64] arm64: Add workaround for Cortex-A76 erratum 1286807 (Jeremy Linton) [1757828]- [kernel] audit: remove redundant condition check in kauditd_thread() (Richard Guy Briggs) [1716002] - [kernel] audit: Report suspicious O_CREAT usage (Richard Guy Briggs) [1716002] - [fs] namei: allow restricted O_CREAT of FIFOs and regular files (Richard Guy Briggs) [1716002] - [kernel] audit_get_nd(): don't unlock parent too early (Richard Guy Briggs) [1716002] - [fs] namei.c: keep track of nd->root refcount status (Richard Guy Briggs) [1716002] - [fs] namei.c: new helper - legitimize_root() (Richard Guy Briggs) [1716002] - [kernel] kill the last users of user_{path, lpath, path_dir}() (Richard Guy Briggs) [1716002] - [kernel] namei.h: get the comments on LOOKUP_... in sync with reality (Richard Guy Briggs) [1716002] - [kernel] kill LOOKUP_NO_EVAL, don't bother including namei.h from audit.h (Richard Guy Briggs) [1716002] - [kernel] audit_inode(): switch to passing AUDIT_INODE_.. (Richard Guy Briggs) [1716002] - [fs] filename_mountpoint(): make LOOKUP_NO_EVAL unconditional there (Richard Guy Briggs) [1716002] - [fs] filename_lookup(): audit_inode() argument is always 0 (Richard Guy Briggs) [1716002] - [kernel] audit: remove the BUG() calls in the audit rule comparison functions (Richard Guy Briggs) [1716002] - [kernel] audit: enforce op for string fields (Richard Guy Briggs) [1716002] - [kernel] audit: deliver signal_info regarless of syscall (Richard Guy Briggs) [1716002] - [fs] fsnotify: fix unlink performance regression (Richard Guy Briggs) [1716002] - [kernel] audit_compare_dname_path(): switch to const struct qstr * (Richard Guy Briggs) [1716002] - [kernel] audit_update_watch(): switch to const struct qstr * (Richard Guy Briggs) [1716002] - [fs] inotify_handle_event(): don't bother with strlen() (Richard Guy Briggs) [1716002] - [kernel] fsnotify: switch send_to_group() and ->handle_event to const struct qstr * (Richard Guy Briggs) [1716002] - [kernel] fsnotify(): switch to passing const struct qstr * for file_name (Richard Guy Briggs) [1716002] - [kernel] switch fsnotify_move() to passing const struct qstr * for old_name (Richard Guy Briggs) [1716002] - [fs] ovl_lookup_real_one(): don't bother with strlen() (Richard Guy Briggs) [1716002] - [kernel] audit: fix a memory leak bug (Richard Guy Briggs) [1716002] - [kernel] audit: purge unnecessary list_empty calls (Richard Guy Briggs) [1716002] - [security] audit: link integrity evm_write_xattrs record to syscall event (Richard Guy Briggs) [1716002] - [csky] syscall_get_arch: add "struct task_struct *" argument (Richard Guy Briggs) [1716002] - [kernel] audit: Make audit_log_cap and audit_copy_inode static (Richard Guy Briggs) [1716002] - [kernel] audit: connect LOGIN record to its syscall record (Richard Guy Briggs) [1716002] - [kernel] audit: fix a memleak caused by auditing load module (Richard Guy Briggs) [1716002] - [kernel] fanotify: check FS_ISDIR flag instead of d_is_dir() (Richard Guy Briggs) [1716002] - [kernel] fsnotify: report FS_ISDIR flag with MOVE_SELF and DELETE_SELF events (Richard Guy Briggs) [1716002] - [kernel] fsnotify: annotate directory entry modification events (Richard Guy Briggs) [1716002] - [kernel] audit: mark expected switch fall-through (Richard Guy Briggs) [1716002] - [kernel] audit: hide auditsc_get_stamp and audit_serial prototypes (Richard Guy Briggs) [1716002] - [tty] audit: join tty records to their syscall (Richard Guy Briggs) [1716002] - [kernel] audit: remove audit_context when CONFIG_ AUDIT and not AUDITSYSCALL (Richard Guy Briggs) [1716002] - [kernel] audit: remove unused actx param from audit_rule_match (Richard Guy Briggs) [1716002] - [kernel] audit: ignore fcaps on umount (Richard Guy Briggs) [1716002] - [kernel] audit: clean up AUDITSYSCALL prototypes and stubs (Richard Guy Briggs) [1716002] - [kernel] audit: more filter PATH records keyed on filesystem magic (Richard Guy Briggs) [1716002] - [kernel] audit: add support for fcaps v3 (Richard Guy Briggs) [1716002] - [kernel] audit: move loginuid and sessionid from CONFIG_AUDITSYSCALL to CONFIG_AUDIT (Richard Guy Briggs) [1716002] - [kernel] audit: add syscall information to CONFIG_CHANGE records (Richard Guy Briggs) [1716002] - [kernel] audit: hand taken context to audit_kill_trees for syscall logging (Richard Guy Briggs) [1716002] - [kernel] audit: give a clue what CONFIG_CHANGE op was involved (Richard Guy Briggs) [1716002] - [kernel] audit: remove duplicated include from audit.c (Richard Guy Briggs) [1716002] - [kernel] audit: shorten PATH cap values when zero (Richard Guy Briggs) [1716002] - [kernel] audit: use current whenever possible (Richard Guy Briggs) [1716002] - [kernel] audit: minimize our use of audit_log_format() (Richard Guy Briggs) [1716002] - [kernel] audit: remove WATCH and TREE config options (Richard Guy Briggs) [1716002] - [kernel] audit: use session_info helper (Richard Guy Briggs) [1716002] - [kernel] audit: localize audit_log_session_info prototype (Richard Guy Briggs) [1716002] - [kernel] audit: Use 'mark' name for fsnotify_mark variables (Richard Guy Briggs) [1716002] - [kernel] audit: Replace chunk attached to mark instead of replacing mark (Richard Guy Briggs) [1716002] - [kernel] audit: Simplify locking around untag_chunk() (Richard Guy Briggs) [1716002] - [kernel] audit: Drop all unused chunk nodes during deletion (Richard Guy Briggs) [1716002] - [kernel] audit: Guarantee forward progress of chunk untagging (Richard Guy Briggs) [1716002] - [kernel] audit: Allocate fsnotify mark independently of chunk (Richard Guy Briggs) [1716002] - [kernel] audit: Provide helper for dropping mark's chunk reference (Richard Guy Briggs) [1716002] - [kernel] audit: Remove pointless check in insert_hash() (Richard Guy Briggs) [1716002] - [kernel] audit: Factor out chunk replacement code (Richard Guy Briggs) [1716002] - [kernel] audit: Make hash table insertion safe against concurrent lookups (Richard Guy Briggs) [1716002] - [kernel] audit: Embed key into chunk (Richard Guy Briggs) [1716002] - [kernel] audit: Fix possible tagging failures (Richard Guy Briggs) [1716002] - [kernel] audit: Fix possible spurious -ENOSPC error (Richard Guy Briggs) [1716002] - [kernel] audit_tree: Remove mark->lock locking (Richard Guy Briggs) [1716002] - [kernel] audit: print empty EXECVE args (Richard Guy Briggs) [1716002] - [security] evm: fix return value check in evm_write_xattrs() (Richard Guy Briggs) [1716002] - [kernel] audit: fix use-after-free in audit_add_watch (Richard Guy Briggs) [1716002] - [kernel] audit: use ktime_get_coarse_real_ts64() for timestamps (Richard Guy Briggs) [1716002] - [kernel] audit: use ktime_get_coarse_ts64() for time access (Richard Guy Briggs) [1716002] - [kernel] audit: simplify audit_enabled check in audit_watch_log_rule_change() (Richard Guy Briggs) [1716002] - [kernel] audit: check audit_enabled in audit_tree_log_remove_rule() (Richard Guy Briggs) [1716002] - [kernel] cred: conditionally declare groups-related functions (Richard Guy Briggs) [1716002] - [kernel] audit: eliminate audit_enabled magic number comparison (Richard Guy Briggs) [1716002] - [kernel] audit: Fix extended comparison of GID/EGID (Richard Guy Briggs) [1716002] - [kernel] audit: tie ANOM_ABEND records to syscall (Richard Guy Briggs) [1716002] - [kernel] audit: tie SECCOMP records to syscall (Richard Guy Briggs) [1716002] - [kernel] audit: allow other filter list types for AUDIT_EXE (Richard Guy Briggs) [1716002] - [documentation] admin guide/pm: Admin guide for intel-speed-select (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Display TRL buckets for just base config level (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Ignore missing config level (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Increment version (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use core count for base-freq mask (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Support platform with limited Intel(R) Speed Select (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use Frequency weight for CLOS (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Make CLOS frequency in MHz (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Use mailbox for CLOS_PM_QOS_CONFIG (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Auto mode for CLX (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Correct CLX-N frequency units (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Change display of "avx" to "avx2" (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Extend command set for perf-profile (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement base-freq commands on CascadeLake-N (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement 'perf-profile info' on CascadeLake-N (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Implement CascadeLake-N help and command functions structures (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add check for CascadeLake-N models (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Make process_command generic (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add int argument to command functions (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Refuse to disable core-power when getting used (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Turbo-freq feature auto mode (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Base-freq feature auto mode (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Remove warning for unused result (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix perf-profile command output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Extend core-power command set (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix some debug prints (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Format get-assoc information (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Allow online/offline based on tdp (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix high priority core mask over count (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Display core count for bucket (Prarit Bhargava) [1766228] - [platform] x86: isst: Allow additional TRL MSRs (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix memory leak (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Output success/failed for command output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Output human readable CPU list (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Change turbo ratio output to maximum turbo frequency (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Switch output to MHz (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Simplify output for turbo-freq and base-freq (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix cpu-count output (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix help option typo (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix package typo (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Fix a read overflow in isst_set_tdp_level_msr() (Prarit Bhargava) [1766228] - [platform] x86: isst: Use dev_get_drvdata (Prarit Bhargava) [1766228] - [tools] power/x86/intel-speed-select: Add .gitignore file (Prarit Bhargava) [1766228] - [tools] tools/power/x86: A tool to validate Intel Speed Select commands (Prarit Bhargava) [1766228] - [platform] x86: isst: Restore state on resume (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select PUNIT MSR interface (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mailbox interface via MSRs (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mailbox interface via PCI (Prarit Bhargava) [1766228] - [platform] x86: isst: Add Intel Speed Select mmio interface (Prarit Bhargava) [1766228] - [platform] x86: isst: Add IOCTL to Translate Linux logical CPU to PUNIT CPU number (Prarit Bhargava) [1766228] - [platform] x86: isst: Store per CPU information (Prarit Bhargava) [1766228] - [platform] x86: isst: Add common API to register and handle ioctls (Prarit Bhargava) [1766228] - [documentation] platform/x86: isst: Update ioctl-number.txt for Intel Speed Select interface (Prarit Bhargava) [1766228]- [tools] libbpf: Refactor relocation handling (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix call relocation offset calculation bug (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix bpf_object name determination for bpf_object__open_file() (Yauheni Kaliuta) [1772081] - [tools] libbpf: return previous print callback from libbpf_set_print (Yauheni Kaliuta) [1772081] - [tools] libbpf: fix bpf_object__name() to actually return object name (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Make CO-RE reloc test impartial to test_progs flavor (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Add BPF_CORE_READ and BPF_CORE_READ_STR_INTO macro tests (Yauheni Kaliuta) [1772081] - [tools] bpftool: Allow to read btf as raw data (Yauheni Kaliuta) [1772081] - [tools] bpftool: implement "bpftool btf show|list" (Yauheni Kaliuta) [1772081] - [tools] libbpf: add bpf_btf_get_next_id() to cycle through BTF objects (Jiri Olsa) [1772081] - [tools] libbpf: refactor bpf_*_get_next_id() functions (Yauheni Kaliuta) [1772081] - [tools] bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1772081] - [tools] libbpf: attempt to load kernel BTF from sysfs first (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add getter for program size (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add bpf_get_link_xdp_info() function to get more XDP information (Yauheni Kaliuta) [1772081] - [tools] libbpf: Use pr_warn() when printing netlink errors (Yauheni Kaliuta) [1772081] - [tools] libbpf: Propagate EPERM to caller on program load (Yauheni Kaliuta) [1772081] - [tools] libbpf: Unpin auto-pinned maps if loading fails (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add auto-pinning of maps when loading BPF objects (Yauheni Kaliuta) [1772081] - [tools] libbpf: Teach bpf_object__open to guess program types (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add bpf_program__get_{type, expected_attach_type) APIs (Yauheni Kaliuta) [1772081] - [tools] libbpf: Move directory creation into _pin() functions (Yauheni Kaliuta) [1772081] - [tools] libbpf: Store map pin path and status in struct bpf_map (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix error handling in bpf_map__reuse_fd() (Yauheni Kaliuta) [1772081] - [tools] libbpf: Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration (Yauheni Kaliuta) [1772081] - [tools] bpftool: Fix bpftool build by switching to bpf_object__open_file() (Yauheni Kaliuta) [1772081] - [tools] bpf: Rename pr_warning to pr_warn to align with kernel logging (Yauheni Kaliuta) [1772081] - [tools] libbpf: provide more helpful message on uninitialized global var (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Add field existence CO-RE relocs tests (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add support for field existance CO-RE relocation (Yauheni Kaliuta) [1772081] - [tools] libbpf: Update BTF reloc support to latest Clang format (Yauheni Kaliuta) [1772081] - [tools] libbpf: Add BPF_CORE_READ/BPF_CORE_READ_INTO helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: Refactor bpf_object__open APIs to use common opts (Yauheni Kaliuta) [1772081] - [tools] libbpf: Move bpf_{helpers, helper_defs, endian, tracing}.h into libbpf (Jiri Olsa) [1772081] - [tools] uapi/bpf: fix helper docs (Yauheni Kaliuta) [1772081] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1772081] - [uapi] bpf: fix 'struct pt_reg' typo in documentation (Yauheni Kaliuta) [1772081] - [tools] libbpf: Fix BTF-defined map's __type macro handling of arrays (Yauheni Kaliuta) [1772081] - [scripts] bpf: Print an error when known types list needs updating (Yauheni Kaliuta) [1772081] - [scripts] bpf: Emit an #error directive known types list needs updating (Yauheni Kaliuta) [1772081] - [scripts] bpf: Fix xdp_md forward declaration typo (Yauheni Kaliuta) [1772081] - [scripts] bpf: teach bpf_helpers_doc.py to dump BPF helper definitions (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Split off tracing-only helpers into bpf_tracing.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: samples/bpf: Split off legacy stuff from bpf_helpers.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Undo GCC-specific bpf_helpers.h changes (Yauheni Kaliuta) [1772081] - [tools] libbpf: auto-generate list of BPF helper definitions (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add bpf-gcc support (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: bpf_tcp_gen_syncookie->bpf_helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: relicense bpf_helpers.h and bpf_endian.h (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: introduce bpf_cpu_to_be64 and bpf_be64_to_cpu (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: Adjust CO-RE reloc tests for new bpf_core_read() macro (Yauheni Kaliuta) [1772081] - [tools] bpf: fix core_reloc.c compilation error (Yauheni Kaliuta) [1772081] - [tools] libbpf: add bpf_object__open_{file, mem} w/ extensible opts (Yauheni Kaliuta) [1772081] - [tools] libbpf: make libbpf.map source of truth for libbpf version (Yauheni Kaliuta) [1772081] - [tools] libbpf: stop enforcing kern_version, populate it for users (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs misc tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs ints tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs ptr-as-array tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs modifiers/typedef tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs enum/ptr/func_proto tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs array tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs nesting tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs struct flavors tests (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add CO-RE relocs testing setup (Yauheni Kaliuta) [1772081] - [tools] selftests/bpf: add BPF_CORE_READ relocatable read macro (Yauheni Kaliuta) [1772081] - [tools] libbpf: implement BPF CO-RE offset relocation algorithm (Yauheni Kaliuta) [1772081] - [tools] libbpf: add .BTF.ext offset relocation section loading (Yauheni Kaliuta) [1772081] - [tools] libbpf: convert libbpf code to use new btf helpers (Yauheni Kaliuta) [1772081] - [tools] libbpf: add helpers for working with BTF types (Yauheni Kaliuta) [1772081] - [gpu] drm/i915: Add new CNL PCH ID seen on a CML platform (Lyude Paul) [1771779] - [gpu] drm/amdgpu: add warning for GRBM 1-cycle delay issue in gfx9 (Lyude Paul) [1771779] - [gpu] drm/amdgpu: register gpu instance before fan boost feature enablment (Lyude Paul) [1771779] - [gpu] drm/amd/swsmu: fix smu workload bit map error (Lyude Paul) [1771779] - [gpu] drm/amdgpu: dont schedule jobs while in reset (Lyude Paul) [1771779] - [gpu] drm/i915/userptr: Try to acquire the page lock around set_page_dirty() (Lyude Paul) [1771779] - [gpu] drm/i915/pmu: "Frequency" is reported as accumulated cycles (Lyude Paul) [1771779] - [gpu] drm/i915: Don't oops in dumb_create ioctl if we have no crtcs (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs (Lyude Paul) [1771779] - [gpu] drm/amdgpu: disable gfxoff on original raven (Lyude Paul) [1771779] - [gpu] drm/amdgpu: disable gfxoff when using register read interface (Lyude Paul) [1771779] - [gpu] revert "drm/i915/ehl: Update MOCS table for EHL" (Lyude Paul) [1771779] - [gpu] drm/i915: update rawclk also on resume (Lyude Paul) [1771779] - [gpu] dc.c:use kzalloc without test (Lyude Paul) [1771779] - [gpu] drm/amd/display: Passive DP->HDMI dongle detection fix (Lyude Paul) [1771779] - [gpu] drm/amd/display: add 50us buffer as WA for pstate switch in active (Lyude Paul) [1771779] - [gpu] drm/amd/display: do not synchronize "drr" displays (Lyude Paul) [1771779] - [gpu] drm/amdgpu: If amdgpu_ib_schedule fails return back the error (Lyude Paul) [1771779] - [gpu] drm/sched: Set error to s_fence if HW job submission failed (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: do not execute 0-sized IBs (v2) (Lyude Paul) [1771779] - [gpu] drm/radeon: fix si_enable_smc_cac() failed issue (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix error handling in amdgpu_bo_list_create (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix potential VM faults (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix SDMA hang when performing VKexample test (Lyude Paul) [1771779] - [gpu] drm/amdgpu/powerplay/vega10: allow undervolting in p7 (Lyude Paul) [1771779] - [gpu] drm/amdgpu/gfx10: update gfx golden settings (Lyude Paul) [1771779] - [gpu] drm/i915: Fix PCH reference clock for FDI on HSW/BDW (Lyude Paul) [1771779] - [gpu] drm/amdgpu/gmc10: properly set BANK_SELECT and FRAGMENT_SIZE (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix memory leak (Lyude Paul) [1771779] - [gpu] drm/amdgpu: user pages array memory leak fix (Lyude Paul) [1771779] - [gpu] drm/amdgpu/uvd7: fix allocation size in enc ring test (v2) (Lyude Paul) [1771779] - [gpu] drm/amdgpu/uvd6: fix allocation size in enc ring test (v2) (Lyude Paul) [1771779] - [gpu] drm/amdgpu/vcn: fix allocation size in enc ring test (Lyude Paul) [1771779] - [gpu] drm/amdgpu/vce: fix allocation size in enc ring test (Lyude Paul) [1771779] - [gpu] drm/i915: Favor last VBT child device with conflicting AUX ch/DDC pin (Lyude Paul) [1771779] - [gpu] drm/i915/userptr: Never allow userptr into the mappable GGTT (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: fix mask value of POLL_REGMEM packet for pipe sync (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Bail earlier when amdgpu.cik_/si_support is not set to 1 (Lyude Paul) [1771779] - [gpu] drm/ttm: Restore ttm prefaulting (Lyude Paul) [1771779] - [gpu] drm/edid: Add 6 bpc quirk for SDC panel in Lenovo G50 (Lyude Paul) [1771779] - [gpu] drm/amd/display: memory leak (Lyude Paul) [1771779] - [gpu] drm/amdgpu: fix multiple memory leaks in acp_hw_init (Lyude Paul) [1771779] - [gpu] drm: Clear the fence pointer when writeback job signaled (Lyude Paul) [1771779] - [gpu] drm: Free the writeback_job when it with an empty fb (Lyude Paul) [1771779] - [gpu] drm/i915: Mark contents as dirty on a write fault (Lyude Paul) [1771779] - [gpu] drm/i915: Whitelist COMMON_SLICE_CHICKEN2 (Lyude Paul) [1771779] - [gpu] drm/i915: Bump skl+ max plane width to 5k for linear/x-tiled (Lyude Paul) [1771779] - [gpu] drm/i915: Perform GGTT restore much earlier during resume (Lyude Paul) [1771779] - [gpu] drm/radeon: Bail earlier when radeon.cik_/si_support=0 is passed (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Check for valid number of registers to read (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix KFD-related kernel oops on Hawaii (Lyude Paul) [1771779] - [gpu] drm/i915: to make vgpu ppgtt notificaiton as atomic operation (Lyude Paul) [1771779] - [gpu] drm/i915/gvt: update vgpu workload head pointer correctly (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay: change metrics update period from 1ms to 100ms (Lyude Paul) [1771779] - [gpu] drm/nouveau/kms/nv50-: Don't create MSTMs for eDP connectors (Lyude Paul) [1771779] - [gpu] drm/atomic: Take the atomic toys away from X (Lyude Paul) [1771779] - [gpu] drm/atomic: Reject FLIP_ASYNC unconditionally (Lyude Paul) [1771779] - [gpu] drm/i915/dp: Fix dsc bpp calculations, v5 (Lyude Paul) [1771779] - [dma-buf] sw_sync: Synchronize signal vs syncpt free (Lyude Paul) [1771779] - [gpu] drm/amdgpu/si: fix ASIC tests (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix trigger not generated for freesync (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix MPO HUBP underflow with Scatter Gather (Lyude Paul) [1771779] - [gpu] drm/amd/powerpaly: fix navi series custom peak level value error (Lyude Paul) [1771779] - [gpu] drm/amd/display: support spdif (Lyude Paul) [1771779] - [gpu] drm/nouveau/volt: Fix for some cards having 0 maximum voltage (Lyude Paul) [1771779] - [gpu] drm/nouveau/kms/tu102-: disable input lut when input is already FP16 (Lyude Paul) [1771779] - [gpu] drm/amdgpu/sdma5: fix number of sdma5 trap irq types for navi1x (Lyude Paul) [1771779] - [gpu] drm/amd/display: Register VUPDATE_NO_LOCK interrupts for DCN2 (Lyude Paul) [1771779] - [gpu] drm/amd/display: reprogram VM config when system resume (Lyude Paul) [1771779] - [gpu] drm/amd/display: Fix frames_to_insert math (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix issue where 252-255 values are clipped (Lyude Paul) [1771779] - [gpu] drm: radeon: Fix a possible null-pointer dereference in radeon_connector_set_property() (Lyude Paul) [1771779] - [gpu] revert "drm/radeon: Fix EEH during kexec" (Lyude Paul) [1771779] - [gpu] drm/amd/display: Use proper enum conversion functions (Lyude Paul) [1771779] - [gpu] drm/amdgpu: Fix hard hang for S/G display BOs (Lyude Paul) [1771779] - [gpu] drm/panel: check failure cases in the probe func (Lyude Paul) [1771779] - [gpu] drm/bridge: sii902x: fix missing reference to mclk clock (Lyude Paul) [1771779] - [gpu] drm/tinydrm/kconfig: Select BACKLIGHT_CLASS_DEVICE (Lyude Paul) [1771779] - [video] ssd1307fb: Start page range at page_offset (Lyude Paul) [1771779] - [gpu] drm/amd/display: Copy GSL groups when committing a new context (Lyude Paul) [1771779] - [gpu] drm/amd/display: Clear FEC_READY shadow register if DPCD write fails (Lyude Paul) [1771779] - [gpu] drm/amd/display: fix not calling ppsmu to trigger PME (Lyude Paul) [1771779] - [gpu] drm/amd/display: Power-gate all DSCs at driver init time (Lyude Paul) [1771779] - [gpu] drm/amd/display: add monitor patch to add T7 delay (Lyude Paul) [1771779] - [gpu] drm/panel: simple: fix AUO g185han01 horizontal blanking (Lyude Paul) [1771779] - [gpu] drm/vkms: Avoid assigning 0 for possible_crtc (Lyude Paul) [1771779] - [gpu] drm/bridge: tc358767: Increase AUX transfer length limit (Lyude Paul) [1771779] - [gpu] drm/vkms: Fix crc worker races (Lyude Paul) [1771779] - [gpu] drm/amdgpu/display: fix 64 bit divide (Lyude Paul) [1771779] - [gpu] drm/amd/display: Add missing HBM support and raise Vega20's uclk (Lyude Paul) [1771779] - [gpu] drm/amd/display: dce11.x /dce12 update formula input (Lyude Paul) [1771779] - [gpu] drm/amd/display: Restore backlight brightness after system resume (Lyude Paul) [1771779] - [gpu] drm: fix module name in edid_firmware log message (Lyude Paul) [1771779] - [gpu] drm/amd/powerplay/smu7: enforce minimal VBITimeout (v2) (Lyude Paul) [1771779] - [gpu] drm/amd/display: readd -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines (Lyude Paul) [1771779] - [gpu] drm/amd/display: Don't replace the dc_state for fast updates (Lyude Paul) [1771779] - [gpu] drm/amd/display: Skip determining update type for async updates (Lyude Paul) [1771779] - [gpu] drm/amd/display: Allow cursor async updates for framebuffer swaps (Lyude Paul) [1771779] - [include] sk_buff: fix skb_ext_put() and skb_ext_reset() calls (Ivan Vecera) [1779923] - [net] openvswitch: fix flow command message size (Paolo Abeni) [1776765] - [net] netfilter: nf_tables: add SECMARK support (Phil Sutter) [1715851] - [net] netfilter: nf_tables: add requirements for connsecmark support (Phil Sutter) [1715851] - [wireless] mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring (Jarod Wilson) [1781534] {CVE-2019-19057} - [tools] selftests/powerpc: Disable basic EEH selftest (Steve Best) [1782232] - [x86] kvm: x86: Remove a spurious export of a static function (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: vmx: use MSR_IA32_TSX_CTRL to hard-disable TSX on guest that lack it (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: vmx: implement MSR_IA32_TSX_CTRL disable RTM functionality (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: implement MSR_IA32_TSX_CTRL effect on CPUID (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: do not modify masked bits of shared MSRs (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm: x86: fix presentation of TSX feature in ARCH_CAPABILITIES (Paolo Bonzini) [1779553] {CVE-2019-19338} - [x86] kvm/x86: Export MDS_NO=0 to guests when TSX is enabled (Paolo Bonzini) [1779553] {CVE-2019-19338} - [fs] cifs: Close open handle after interrupted close (Leif Sahlberg) [1771691] - [fs] cifs: Do not miss cancelled OPEN responses (Leif Sahlberg) [1771691] - [fs] cifs: Fix NULL pointer dereference in mid callback (Leif Sahlberg) [1771691] - [fs] cifs: add a debug macro that prints \\server\share for errors (Leif Sahlberg) [1772630] - [fs] cifs: add new debugging macro cifs_server_dbg (Leif Sahlberg) [1772630]- [netdrv] wireless: fix nl80211 vendor commands (Jarod Wilson) [1776606] - [net] nl80211: fix VENDOR_CMD_RAW_DATA (Jarod Wilson) [1776606] - [netdrv] rt2x00: initialize last_reset (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't consider IV len in A-MSDU (Jarod Wilson) [1776606] - [net] mac80211: fix station inactive_time shortly after boot (Jarod Wilson) [1776606] - [net] mac80211: fix ieee80211_txq_setup_flows() failure path (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: support new API for scan config cmd (Jarod Wilson) [1776606] - [netdrv] mt76: dma: fix buffer unmap with non-linear skbs (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2e: disable pcie_aspm by default (Jarod Wilson) [1776606] - [net] nl80211: fix validation of mesh path nexthop (Jarod Wilson) [1776606] - [net] nl80211: Disallow setting of HT for channel 14 (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Fix problem of too small skb->len (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: 0x2720 is qu and 0x30DC is not (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: add workaround for power gating in integrated 22000 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: handle iwl_mvm_tvqm_enable_txq() error return (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix all 9460 entries for qnj (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix PCI ID 0x2720 configs that should be soc (Jarod Wilson) [1776606] - [netdrv] rtlwifi: Fix potential overflow on P2P code (Jarod Wilson) [1775223 1776606] {CVE-2019-17666} - [netdrv] iwlwifi: pcie: fix merge damage on making QnJ exclusive (Jarod Wilson) [1776606] - [netdrv] ath10k: fix latency issue for QCA988x (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: change qu with jf devices to use qu configuration (Jarod Wilson) [1776606] - [netdrv] iwlwifi: exclude GEO SAR support for 3168 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix memory leaks in iwl_pcie_ctxt_info_gen3_init (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix memory leak in alloc_sgtable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix rb_allocator workqueue allocation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix indexing in command dump for new HW (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix race in sync rx queue notification (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: force single phy init (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix ACPI table revision checks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't access trans_cfg via cfg (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove input-polldev.h header (Jarod Wilson) [1776606] - [net] mac80211: Don't access sk_queue_head->next directly (Jarod Wilson) [1776606] - [net] mac80211: fix scan when operating on DFS channels in ETSI domains (Jarod Wilson) [1776606] - [net] mac80211: accept deauth frames in IBSS mode (Jarod Wilson) [1776606] - [net] cfg80211: fix a bunch of RCU issues in multi-bssid code (Jarod Wilson) [1776606] - [net] nl80211: fix memory leak in nl80211_get_ftm_responder_stats (Jarod Wilson) [1776606] - [net] cfg80211: wext: avoid copying malformed SSIDs (Jarod Wilson) [1778634 1776606] {CVE-2019-17133} - [net] mac80211: Reject malformed SSID elements (Jarod Wilson) [1776606] - [net] mac80211: keep BHs disabled while calling drv_tx_wake_queue() (Jarod Wilson) [1776606] - [net] mac80211: fix txq null pointer dereference (Jarod Wilson) [1776606] - [net] nl80211: fix null pointer dereference (Jarod Wilson) [1776606] - [net] cfg80211: initialize on-stack chandefs (Jarod Wilson) [1776606] - [net] cfg80211: validate SSID/MBSSID element ordering assumption (Jarod Wilson) [1776606] - [net] nl80211: validate beacon head (Jarod Wilson) [1776606] - [net] cfg80211: Purge frame registrations on iftype change (Jarod Wilson) [1776606] - [net] cfg80211: Do not compare with boolean in nl80211_common_reg_change_event (Jarod Wilson) [1776606] - [net] cfg80211: always shut down on HW rfkill (Jarod Wilson) [1776606] - [net] cfg80211: fix boundary value in ieee80211_frequency_to_channel() (Jarod Wilson) [1776606] - [net] cfg80211: add local BSS receive time to survey information (Jarod Wilson) [1776606] - [net] nl80211: add NL80211_CMD_UPDATE_FT_IES to supported commands (Jarod Wilson) [1776606] - [netdrv] wireless: Fix Kconfig indentation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw: don't send GEO_TX_POWER_LIMIT command to FW version 36 (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix mt7615 firmware path definitions (Jarod Wilson) [1776606] - [netdrv] rtw88: configure firmware after HCI started (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: release tx skbs DMAed when stop (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: extract skbs free routine for trx rings (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix build w/o CONFIG_THERMAL (Jarod Wilson) [1776606] - [netdrv] rtw88: report RX power for each antenna (Jarod Wilson) [1776606] - [netdrv] rtw88: fix wrong rx power calculation (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192de: replace _rtl92d_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: replace _rtl92c_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: replace _rtl92c_evm_db_to_percentage with generic version (Jarod Wilson) [1776606] - [netdrv] rtw88: allows to receive AMSDU in AMPDU (Jarod Wilson) [1776606] - [netdrv] rtw88: add dynamic cck pd mechanism (Jarod Wilson) [1776606] - [netdrv] rtw88: move IQK/DPK into phy_calibration (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add SW DPK support (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add FW IQK support (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: Enable interrupt migration (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update pwr_seq to v13 (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update PHY parameter to v38 (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: rtl8192ce: rtl8192de: rtl8723ae: rtl8821ae: Remove some unused bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723be: Remove unused SET_XXX and GET_XXX macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8723ae: Remove unused GET_XXX and SET_XXX macros (Jarod Wilson) [1776606] - [netdrv] brcmsmac: Use DIV_ROUND_CLOSEST directly to make it readable (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: make array static const and remove redundant assignment (Jarod Wilson) [1776606] - [netdrv] brcmfmac: don't realloc wiphy during PCIe reset (Jarod Wilson) [1776606] - [netdrv] brcmfmac: split brcmf_attach() and brcmf_detach() functions (Jarod Wilson) [1776606] - [netdrv] brcmfmac: move "cfg80211_ops" pointer to another struct (Jarod Wilson) [1776606] - [netdrv] ath10k: fix channel info parsing for non tlv target (Jarod Wilson) [1776606] - [netdrv] ath10k: adjust skb length in ath10k_sdio_mbox_rx_packet (Jarod Wilson) [1776606] - [netdrv] ath10k: free beacon buf later in vdev teardown (Jarod Wilson) [1776606] - [net] mac80211: allow drivers to set max MTU (Jarod Wilson) [1776606] - [net] mac80211: ibss: send deauth when expiring inactive STAs (Jarod Wilson) [1776606] - [net] mac80211: don't check if key is NULL in ieee80211_key_link() (Jarod Wilson) [1776606] - [net] mac80211: clear crypto tx tailroom counter upon keys enable (Jarod Wilson) [1776606] - [net] mac80211: remove unnecessary key condition (Jarod Wilson) [1776606] - [net] mac80211: list features in WEP/TKIP disable in better order (Jarod Wilson) [1776606] - [net] mac80211: vht: add support VHT EXT NSS BW in parsing VHT (Jarod Wilson) [1776606] - [netdrv] ath9k: release allocated buffer if timed out (Jarod Wilson) [1778582 1776606] {CVE-2019-19074} - [netdrv] ath9k_htc: release allocated buffer if timed out (Jarod Wilson) [1778572 1776606] {CVE-2019-19073} - [netdrv] ath9k: Remove unneeded variable to store return value (Jarod Wilson) [1776606] - [netdrv] ath10k: add reorder and change PN check logic for mac80211 (Jarod Wilson) [1776606] - [netdrv] ath10k: add mic bytes for pmf management packet (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use *ph to print small buffer (Jarod Wilson) [1776606] - [netdrv] hostap: use *ph to print small buffer (Jarod Wilson) [1776606] - [netdrv] rtlwifi: Fix file release memory leak (Jarod Wilson) [1776606] - [netdrv] rtw88: fix seq_file memory leak (Jarod Wilson) [1776606] - [netdrv] hostap: remove set but not used variable 'copied' in prism2_io_debug_proc_read (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add "reset" debugfs entry for testing reset (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add stub version of brcmf_debugfs_get_devdir() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: remove iwl_fw_cancel_dumps function (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove periodic trigger (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix dump structs doc (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: add DRAM buffer allocation command (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove apply point, switch to time point API (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add iwl_tlv_array_len() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: don't log un-decrypted frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add support for single antenna diversity (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: handle BAR_FRAME_RELEASE (0xc2) notification (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: drop BA sessions on too many old-SN frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add sta_id to WOWLAN_CONFIG_CMD (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add support for suspend-resume flow for new device generation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix warning iwl-trans.h is included more than once (Jarod Wilson) [1776606] - [netdrv] iwlwifi: always access the trans configuration via trans (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pass the iwl_trans instead of cfg to some functions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add a pointer to the trans_cfg directly in trans (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pass the iwl_config_trans_params when needed (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: set iwl_trans->cfg later in the probe function (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: use the cfg we passed to iwl_trans_pcie_alloc() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: separate elements from cfg that are needed by trans_alloc (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use regions ops array instead of switch case in dump flow (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: make a single ops struct for paging collect (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move tx fifo data into fw runtime (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use linked list for dump TLVs during dump creation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: separate cfg and dump flows to different modules (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: look for the first supported channel when add/remove phy ctxt (Jarod Wilson) [1776606] - [netdrv] iwlwifi: allocate bigger nvm data in case of UHB (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove unnecessary IWL_DEVICE_AX200_COMMON definition (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: align wrt log prints to the same format (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove debug flow TLV (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: verify debug TLVs at allocation phase (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use function to check if ini dbg mode is on (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove duplicate FW string definitions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: bump FW API to 50 for 22000 series (Jarod Wilson) [1776606] - [netdrv] iwlwifi: api: fix FTM struct documentation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: support per-platform antenna gain (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove check for lq_sta in __iwl_mvm_rs_tx_status() (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: simplify the channel switch flow for newer firmware (Jarod Wilson) [1776606] - [netdrv] iwlwifi: stop passing bogus gfp flags arguments to dma_alloc_coherent (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove periphery phy and aux regions handling (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use linked list to store debug TLVs (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: maintain buffer allocations from trans instead of TLVs buffer (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: add debug periphery registers to 9000 device family (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove unused regdb_ptrs allocation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: align dbg tlv functions names to a single format (Jarod Wilson) [1776606] - [netdrv] iwlwifi: scan: don't pass large argument by value (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove pm_runtime completely (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the d0i3 related module parameters (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: remove some more d0i3 code from the transport (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: remove the refs / unrefs from the transport (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the opmode's d0i3 handlers (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove runtime_pm_mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Set w-pointer upon resume according to SN (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: use FW thermal monitoring regardless of CONFIG_THERMAL (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: name magic numbers with enum (Jarod Wilson) [1776606] - [netdrv] iwlwifi: scan: add support for new scan request command version (Jarod Wilson) [1776606] - [netdrv] iwlwifi: LTR updates (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove the code under IWLWIFI_PCIE_RTPM (Jarod Wilson) [1776606] - [netdrv] iwlwifi: trans: remove suspending flag (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove CMD_HIGH_PRIO (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove last leftovers of d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove iwl_mvm_update_d0i3_power_mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove d0i3_ap_sta_id (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: iwl_mvm_wowlan_config_key_params is for wowlan only (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove the d0i3 entry/exit flow (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove the tx defer for d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove all the d0i3 references (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: start to remove the code for d0i3 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add the skb length to a print (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix scan config command size (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add ldbg config cmd debug print (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: support debug recording suspend resume command (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move debug recording stop from trans to op mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move monitor recording functionality from header file (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove unnecessary forward declarations (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Block 26-tone RU OFDMA transmissions (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove redundant condition in iwl_mvm_set_hw_rfkill_state (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Send DQA enable command only if TVL is on (Jarod Wilson) [1776606] - [netdrv] iwlwifi: bump FW API to 49 for 22000 series (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support to read temperature from mcu (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_txwi_to_txp utility routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use devm_platform_ioremap_resource() to simplify code (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: remove unneeded return value on set channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: remove redundant chandef copy (Jarod Wilson) [1776606] - [netdrv] mt76: make mt76_rx_convert static (Jarod Wilson) [1776606] - [netdrv] mt76: remove offchannel check in tx scheduling (Jarod Wilson) [1776606] - [netdrv] mt76: do not send BAR frame on tx aggregation flush stop (Jarod Wilson) [1776606] - [netdrv] mt76: stop rx aggregation on station removal (Jarod Wilson) [1776606] - [netdrv] mt76: dma: reset q->rx_head on rx reset (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: apply calibration-free data from OTP (Jarod Wilson) [1776606] - [netdrv] mt76: add default implementation for mt76_sw_scan/mt76_sw_scan_complete (Jarod Wilson) [1776606] - [netdrv] mt76: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add BIP_CMAC_128 cipher support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: remove unnecessary mcu queue initialization (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_tx_tasklet in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: enable survey support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: move survey_time in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: enable survey support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: enable multi-vif support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: do not copy beacon skb in mt76x02_mac_set_beacon_enable (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: introduce mt76x02_pre_tbtt_enable and mt76x02_beacon_enable macros (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add Smart Carrier Sense support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rework locking scheme for mt7615_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: switch to SPDX tag instead of verbose boilerplate text (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix some checkpatch warnings (Jarod Wilson) [1776606] - [netdrv] mt76: Add paragraphs to describe the config symbols fully (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: update cw_min/max related settings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add 4 WMM sets support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix watchdog rescheduling in mt7603_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix MT7615_WATCHDOG_TIME definition (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_mmio_read_copy routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add set_key_cmd and mt76_wcid to mt7615_mac_wtbl_set_key signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove wtbl_sec_key definition (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_mac_wtbl_set_key routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add mt7615_mac_wtbl_addr routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: move mt7615_mac_get_key_info in mac.c (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add missing register initialization (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0u: add support to TP-Link T2UHP (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: usb: remove unneeded {put,get}_unaligned (Jarod Wilson) [1776606] - [netdrv] mt76: usb: fix endian in mt76u_copy (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix invalid fallback rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix invalid fallback rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix PS buffering of action frames (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix using VHT STBC rates (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: fix typo in mt76u_fill_rx_sg (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: sync with mt7603 rate control changes (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: reset rate index/counters on rate table update (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: move mt7615_mcu_set_rates to mac.c (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: enable hardware rate up/down selection (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_mcu_send_ram_firmware routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: always release sem in mt7615_load_patch (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fall back to sw encryption for unsupported ciphers (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: clean up FWDL TXQ during/after firmware upload (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add radar pattern test knob to debugfs (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add csa support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: do not perform txcalibration before cac is complited (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add hw dfs pattern detector support (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: introduce mt7615_regd_notifier (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: warning: restricted __le16 degrades to integer (Jarod Wilson) [1776606] - [netdrv] mt76: round up length on mt76_wr_copy (Jarod Wilson) [1776606] - [netdrv] ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe() (Jarod Wilson) [1776606] - [netdrv] ath6kl: Fix a possible null-pointer dereference in ath6kl_htc_mbox_create() (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: set ackto to max timeout in ath_dynack_reset (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: set max timeout according to channel width (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: properly set last timeout timestamp in ath_dynack_reset (Jarod Wilson) [1776606] - [netdrv] ath9k: dyanck: introduce ath_dynack_set_timeout routine (Jarod Wilson) [1776606] - [netdrv] ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init (Jarod Wilson) [1776606] - [netdrv] ath9k: add loader for AR92XX (and older) pci(e) (Jarod Wilson) [1776606] - [netdrv] brcmfmac: get chip's default RAM info during PCIe setup (Jarod Wilson) [1776606] - [netdrv] brcmfmac: replace strncpy() by strscpy() (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not set IEEE80211_TX_STAT_AMPDU_NO_BACK on tx status (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove redundant assignment to pointer hash (Jarod Wilson) [1776606] - [netdrv] brcm80211: Avoid possible null-pointer dereferences in wlc_phy_radio_init_2056() (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: enable MSI interrupt (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Move a mass of jobs in hw IRQ to soft IRQ (Jarod Wilson) [1776606] - [netdrv] rtw88: remove redundant assignment to pointer debugfs_topdir (Jarod Wilson) [1776606] - [netdrv] rtw88: drop unused rtw_coex_coex_dm_reset() (Jarod Wilson) [1776606] - [netdrv] rtw88: Fix an error message (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Fix incorrect returned values (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Remove some variable initializations (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ee: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Fix memory leak when hardware init fails (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove unused variables 'RTL8712_SDIO_EFUSE_TABLE' and 'MAX_PGPKT_SIZE' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: Fix value set in descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: fix non-kerneldoc comment in usb.c (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix infinite loop because supported is not being shifted (Jarod Wilson) [1776606] - [netdrv] mt76: Remove dev_err() usage after platform_get_irq() (Jarod Wilson) [1776606] - [net] mac80211: Do not send Layer 2 Update frame before authorization (Jarod Wilson) [1776606] - [netdrv] revert "rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band" (Jarod Wilson) [1776606] - [netdrv] rt2x00: clear up IV's on key removal (Jarod Wilson) [1776606] - [netdrv] iwlwifi: assign directly to iwl_trans->cfg in QuZ detection (Jarod Wilson) [1776606] - [netdrv] mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings (Jarod Wilson) [1776244 1775484 1775475 1776606] - [netdrv] mt76: mt76x0e: disable 5GHz band for MT7630E (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0e: don't use hw encryption for MT7630E (Jarod Wilson) [1776606] - [net] nl80211: fill all policy .type entries (Jarod Wilson) [1776606] - [net] cfg80211: Add support to set tx power for a station associated (Jarod Wilson) [1776606] - [net] cfg80211: Fix Extended Key ID key install checks (Jarod Wilson) [1776606] - [net] mac80211: AMPDU handling for rekeys with Extended Key ID (Jarod Wilson) [1776606] - [net] mac80211: Simplify Extended Key ID API (Jarod Wilson) [1776606] - [net] nl80211: require and validate vendor command policy (Jarod Wilson) [1776606] - [net] mac80211: AMPDU handling for Extended Key ID (Jarod Wilson) [1776606] - [net] mac80211: IEEE 802.11 Extended Key ID support (Jarod Wilson) [1776606] - [net] nl80211/cfg80211: Extended Key ID support (Jarod Wilson) [1776606] - [net] nl80211/cfg80211: Specify band specific min RSSI thresholds with sched scan (Jarod Wilson) [1776606] - [net] cfg80211: Use const more consistently in for_each_element macros (Jarod Wilson) [1776606] - [net] nl80211: use for_each_element() in validate_ie_attr() (Jarod Wilson) [1776606] - [net] cfg80211: add peer measurement with FTM initiator API (Jarod Wilson) [1776606] - [net] nl80211: use netlink policy validation function for elements (Jarod Wilson) [1776606] - [net] nl80211: use policy range validation where applicable (Jarod Wilson) [1776606] - [net] cfg80211: support FTM responder configuration/statistics (Jarod Wilson) [1776606] - [net] lib80211: move TKIP handling to ARC4 library code (Jarod Wilson) [1776606] - [net] lib80211: move WEP handling to ARC4 library code (Jarod Wilson) [1776606] - [net] mac80211: move WEP handling to ARC4 library interface (Jarod Wilson) [1776606] - [netdrv] rt2x00: clear IV's on start to fix AP mode regression (Jarod Wilson) [1776606] - [netdrv] rt2800usb: Add new rt2800usb device PLANEX GW-USMicroN (Jarod Wilson) [1776606] - [netdrv] rt2x00: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [netdrv] rt2x00usb: remove unnecessary rx flag checks (Jarod Wilson) [1776606] - [netdrv] rt2x00usb: fix rx queue hang (Jarod Wilson) [1776606] - [netdrv] rt2800: do not enable watchdog by default (Jarod Wilson) [1776606] - [netdrv] rt2x00: add restart hw (Jarod Wilson) [1776606] - [netdrv] rt2800: do not nullify initialization vector data (Jarod Wilson) [1776606] - [netdrv] rt2800: add pre_reset_hw callback (Jarod Wilson) [1776606] - [netdrv] rt2800: initial watchdog implementation (Jarod Wilson) [1776606] - [netdrv] rt2800: add helpers for reading dma done index (Jarod Wilson) [1776606] - [netdrv] rt2x00: allow to specify watchdog interval (Jarod Wilson) [1776606] - [netdrv] rt2x00: add RT3883 support (Jarod Wilson) [1776606] - [netdrv] rt2x00mmio: remove legacy comment (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove not used entry field (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove last_nostatus_check (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: use timer and work for handling tx statuses timeouts (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: fetch tx status changes (Jarod Wilson) [1776606] - [netdrv] rt2800: move txstatus pending routine (Jarod Wilson) [1776606] - [netdrv] rt2800: new flush implementation for SoC devices (Jarod Wilson) [1776606] - [netdrv] rt2800: partially restore old mmio txstatus behaviour (Jarod Wilson) [1776606] - [netdrv] rt2x00: code-style fix in rt2800usb.c (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not print error when queue is full (Jarod Wilson) [1776606] - [netdrv] rt2x00: check number of EPROTO errors (Jarod Wilson) [1776606] - [netdrv] rt2x00: use ratelimited variants dev_warn/dev_err (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not increment sequence number while re-transmitting (Jarod Wilson) [1776606] - [netdrv] rt2800: comment and simplify AGC init for RT6352 (Jarod Wilson) [1776606] - [netdrv] rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620 (Jarod Wilson) [1776606] - [netdrv] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove confusing AGC register (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove unneeded check (Jarod Wilson) [1776606] - [netdrv] rt2x00: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [netdrv] rt2x00: Work around a firmware bug with shared keys (Jarod Wilson) [1776606] - [netdrv] rt2x00: reduce tx power to nominal level on RT6352 (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt61pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2800lib: mark expected switch fall-throughs (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2500pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2x00: rt2400pci: mark expected switch fall-through (Jarod Wilson) [1776606] - [netdrv] rt2800: flush and txstatus rework for rt2800mmio (Jarod Wilson) [1776606] - [netdrv] rt2x00: use different txstatus timeouts when flushing (Jarod Wilson) [1776606] - [netdrv] rt2x00: do not check for txstatus timeout every time on tasklet (Jarod Wilson) [1776606] - [netdrv] rt2800mmio: use txdone/txstatus routines from lib (Jarod Wilson) [1776606] - [netdrv] rt2800: move usb specific txdone/txstatus routines to rt2800lib (Jarod Wilson) [1776606] - [netdrv] rt2x00: use simple_read_from_buffer() (Jarod Wilson) [1776606] - [netdrv] rt2x00: remove redundant functions rt2x00mac_sta_{add/remove} (Jarod Wilson) [1776606] - [net] mac80211: Correctly set noencrypt for PAE frames (Jarod Wilson) [1776606] - [net] mac80211: Don't memset RXCB prior to PAE intercept (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: handle switching killer Qu B0 NICs to C0 (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: improve rate probing for devices with static fallback (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix default max throughput rate indexes (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: reduce unnecessary rate probing attempts (Jarod Wilson) [1776606] - [net] mac80211: minstrel_ht: fix per-group max throughput rate initialization (Jarod Wilson) [1776606] - [net] nl80211: Add support for EDMG channels (Jarod Wilson) [1776606] - [net] mac80211: fix possible NULL pointerderef in obss pd code (Jarod Wilson) [1776606] - [net] mac80211: add assoc-at support (Jarod Wilson) [1776606] - [uapi] cfg80211: Support assoc-at timer in sta-info (Jarod Wilson) [1776606] - [net] cfg80211: apply same mandatory rate flags for 5GHz and 6GHz (Jarod Wilson) [1776606] - [net] cfg80211: ibss: use 11a mandatory rates for 6GHz band operation (Jarod Wilson) [1776606] - [net] cfg80211: use same IR permissive rules for 6GHz band (Jarod Wilson) [1776606] - [net] cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS entries (Jarod Wilson) [1776606] - [net] cfg80211: extend ieee80211_operating_class_to_band() for 6GHz (Jarod Wilson) [1776606] - [net] cfg80211: util: add 6GHz channel to freq conversion and vice versa (Jarod Wilson) [1776606] - [net] cfg80211: add 6GHz UNII band definitions (Jarod Wilson) [1776606] - [uapi] nl80211: add 6GHz band definition to enum nl80211_band (Jarod Wilson) [1776606] - [net] revert "cfg80211: fix processing world regdomain when non modular" (Jarod Wilson) [1776606] - [net] mac80211: add missing length field increment when generating Radiotap header (Jarod Wilson) [1776606] - [net] mac80211: 80Mhz was not reported properly when using tx_status_ext (Jarod Wilson) [1776606] - [net] mac80211: fix bad guard when reporting legacy rates (Jarod Wilson) [1776606] - [net] mac80211: fix TX legacy rate reporting when tx_status_ext is used (Jarod Wilson) [1776606] - [net] mac80211: fix possible sta leak (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix recognition of QuZ devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't switch FW to qnj when ax201 is detected (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix the byte count table format for 22560 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Allow multicast data frames only when associated (Jarod Wilson) [1776606] - [netdrv] revert "mwifiex: fix system hang problem after resume" (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192ce: Remove unused GET_XXX and SET_XXX (Jarod Wilson) [1776606] - [netdrv] rtw88: add BT co-existence support (Jarod Wilson) [1776606] - [netdrv] rtw88: enclose c2h cmd handle with mutex (Jarod Wilson) [1776606] - [netdrv] rtw88: allow c2h operation in irq context (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Remove local configuration variable (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl88188ee: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: Remove unused GET_XXX and SET_XXX descriptor macros (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: remove set but not used variable 'ip_sel' (Jarod Wilson) [1776606] - [netdrv] brcmsmac: remove three set but not used variables (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove set but not used variable 'dtim_period' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove unneeded function _rtl_dump_channel_map() (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl_pci: Use dev_get_drvdata (Jarod Wilson) [1776606] - [netdrv] mwifiex: pcie: Use dev_get_drvdata (Jarod Wilson) [1776606] - [netdrv] mwifiex: make error values consistent in mwifiex_update_bss_desc_with_ie() (Jarod Wilson) [1776606] - [netdrv] rtw88: use txpwr_lmt_cfg_pair struct, not arrays (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix compile time assert build errors (Jarod Wilson) [1776606] - [net] mac80211: HE STA disassoc due to QOS NULL not sent (Jarod Wilson) [1776606] - [net] mac80211: allow setting spatial reuse parameters from bss_conf (Jarod Wilson) [1776606] - [net] nl80211: add strict start type (Jarod Wilson) [1776606] - [net] cfg80211: add support for parsing OBBS_PD attributes (Jarod Wilson) [1776606] - [net] mac80211: reject zero MAC address in add station (Jarod Wilson) [1776606] - [net] cfg80211: use parallel_ops for genl (Jarod Wilson) [1776606] - [net] mac80211: add missing null return check from call to ieee80211_get_sband (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix a use-after-free bug in iwl_mvm_tx_tso_segment (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix an out-of-bound access (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't unmap as page memory that was mapped as single (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix version check for GEO_TX_POWER_LIMIT support (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add 3 new IDs for the 9000 series (iwl9260_2ac_160_cfg) (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix possible out-of-bounds read when accessing lq_info (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix frame drop from the reordering buffer (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: replace RS mutex with a spin_lock (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: send LQ command always ASYNC (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: fix comparison of u32 variable with less than zero (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix locking in delayed GTK setting (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: move iwl_dbg_tlv_load_bin out of debug override ifdef (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a wrapper around rs_tx_status to handle locks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a loose synchronization of the NSSN across Rx queues (Jarod Wilson) [1776606] - [netdrv] iwlwiif: mvm: refactor iwl_mvm_notify_rx_queue (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a new RSS sync notification for NSSN sync (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: prepare the ground for more RSS notifications (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT on version < 41 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: avoid races in rate init and rate perform (Jarod Wilson) [1776606] - [net] revert "mac80211: set NETIF_F_LLTX when using intermediate tx queues" (Jarod Wilson) [1776606] - [net] mac80211: add support for the ADDBA extension element (Jarod Wilson) [1776606] - [net] mac80211: propagate HE operation info into bss_conf (Jarod Wilson) [1776606] - [net] cfg80211: fix dfs channels remain DFS_AVAILABLE after ch_switch (Jarod Wilson) [1776606] - [net] cfg80211: fix duplicated scan entries after channel switch (Jarod Wilson) [1776606] - [net] cfg80211: refactor cfg80211_bss_update (Jarod Wilson) [1776606] - [net] mac80211: don't WARN on short WMM parameters from AP (Jarod Wilson) [1776606] - [net] nl80211: Include wiphy address setup in NEW_WIPHY (Jarod Wilson) [1776606] - [net] mac80211: implement HE support for mesh (Jarod Wilson) [1776606] - [net] mac80211: add IEEE80211_KEY_FLAG_GENERATE_MMIE to ieee80211_key_flags (Jarod Wilson) [1776606] - [kernel] mac80211: he: add Spatial Reuse element parsing support (Jarod Wilson) [1776606] - [net] mac80211: add struct ieee80211_tx_status support to ieee80211_add_tx_radiotap_header (Jarod Wilson) [1776606] - [net] {nl, mac}80211: fix interface combinations on crypto controlled devices (Jarod Wilson) [1776606] - [net] mac80211: propagate struct ieee80211_tx_status into ieee80211_tx_monitor() (Jarod Wilson) [1776606] - [net] mac80211: add xmit rate to struct ieee80211_tx_status (Jarod Wilson) [1776606] - [kernel] mac80211: add support for parsing ADDBA_EXT IEs (Jarod Wilson) [1776606] - [net] cfg80211: give all multi-BSSID BSS entries the same timestamp (Jarod Wilson) [1776606] - [net] cfg80211: don't parse MBSSID if transmitting BSS isn't created (Jarod Wilson) [1776606] - [net] cfg80211: clean up cfg80211_inform_single_bss_frame_data() (Jarod Wilson) [1776606] - [net] cfg80211: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: add tx dequeue function for process context (Jarod Wilson) [1776606] - [net] mac80211: run late dequeue late tx handlers without holding fq->lock (Jarod Wilson) [1776606] - [net] lib80211: use crypto API ccm(aes) transform for CCMP processing (Jarod Wilson) [1776606] - [net] mac80211: remove unused and unneeded remove_sta_debugfs callback (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove unused .remove_sta_debugfs callback (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dvm: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: pass the vif to cancel_remain_on_channel (Jarod Wilson) [1776606] - [netdrv] mwifiex: use eth_broadcast_addr() to assign broadcast address (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove assignment to itself (Jarod Wilson) [1776606] - [netdrv] brcmfmac: don't net_ratelimit() CONSOLE messages on firmware crash (Jarod Wilson) [1776606] - [netdrv] rtw88: debug: dump tx power indexes in use (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: fix issue possible condition with no effect (if == else) (Jarod Wilson) [1776606] - [netdrv] brcmfmac: remove unnecessary strlcpy() upon obtaining "ver" iovar (Jarod Wilson) [1776606] - [netdrv] brcmfmac: simply remove flowring if bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: avoid firmware commands when bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: clear events in brcmf_fweh_detach() will always fail (Jarod Wilson) [1776606] - [netdrv] brcmfmac: avoid firmware command in brcmf_netdev_open() when bus is down (Jarod Wilson) [1776606] - [netdrv] brcmfmac: change the order of things in brcmf_detach() (Jarod Wilson) [1776606] - [netdrv] revert "brcmfmac: fix NULL pointer derefence during USB disconnect" (Jarod Wilson) [1776606] - [netdrv] brcmfmac: allow 160MHz in custom regulatory rules (Jarod Wilson) [1776606] - [netdrv] brcmfmac: enable DFS_OFFLOAD extended feature if supported (Jarod Wilson) [1776606] - [netdrv] brcmfmac: add 160MHz in chandef_to_chanspec() (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Use DMA sync instead of remapping in RX ISR (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: Rearrange the memory usage for skb in RX ISR (Jarod Wilson) [1776606] - [netdrv] rtw88: Fix misuse of GENMASK macro (Jarod Wilson) [1776606] - [netdrv] rtl8xxxu: Fix wifi low signal strength issue of RTL8723BU (Jarod Wilson) [1776606] - [net] mac80211: don't warn about CW params when not using them (Jarod Wilson) [1776606] - [net] mac80211: fix possible memory leak in ieee80211_assign_beacon (Jarod Wilson) [1776606] - [kernel] fix typos and some coding style in comments (Jarod Wilson) [1776606] - [netdrv] ath10k: work around uninitialized vht_pfr variable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: add support for qu c-step devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 9000 and 20000 series (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: clear rfkill_safe_init_done when we start the firmware (Jarod Wilson) [1776606] - [netdrv] iwlwifi: don't WARN when calling iwl_get_shared_mem_conf with RF-Kill (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: don't service an interrupt that was masked (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix RF-Kill interrupt while FW load for gen2 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: fix ALIVE interrupt handling for gen2 devices w/o MSI-X (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: delay GTK setting in FW in AP mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove MAC_FILTER_IN_11AX for AP mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: debug recording stop and restart command remove (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: don't stop dbg recording before entering D3 from 9000 devices (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: fix debug monitor stop and restart in ini mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: make the usage of TWT configurable (Jarod Wilson) [1776606] - [netdrv] iwlwifi: support FSEQ TLV even when FMAC is not compiled (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: move trans debug fields to a separate struct (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: remove redundant checking of ini mode (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: enforce apply point early on buffer allocation tlv (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: fix debug monitor stop and restart delays (Jarod Wilson) [1776606] - [netdrv] iwlwifi: pcie: increase the size of PCI dumps (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Drop large non sta frames (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: Add log information about SAR status (Jarod Wilson) [1776606] - [netdrv] iwlwifi: Add support for SAR South Korea limitation (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fix module init error paths (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: convert to FW AC when configuring MU EDCA (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: correctly fill the ac array in the iwl_mac_ctx_cmd (Jarod Wilson) [1776606] - [netdrv] iwlwifi: remove some unnecessary NULL checks (Jarod Wilson) [1776606] - [netdrv] iwlwifi: d3: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] iwlwifi: lib: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] iwlwifi: fw api: support adwell HB default APs number api (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: remove multiple debugfs entries (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: implement dump info collection (Jarod Wilson) [1776606] - [netdrv] iwlwifi: mvm: add a debugfs entry to set a fixed size AMSDU for all TX packets (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: support debug info TLV (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: use different barker for ini dump (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: add consecutive trigger firing support (Jarod Wilson) [1776606] - [kernel] ieee80211: Add a missing extended capability flag definition (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: abort region collection in case the size is 0 (Jarod Wilson) [1776606] - [netdrv] iwlwifi: update CSI API (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg_ini: dump headers cleanup (Jarod Wilson) [1776606] - [netdrv] iwlwifi: dbg: allow dump collection in case of an early error (Jarod Wilson) [1776606] - [netdrv] iwlwifi: iwl_mvm_tx_mpdu() must be called with BH disabled (Jarod Wilson) [1776606] - [netdrv] ath10k: pci: remove unnecessary casts (Jarod Wilson) [1776606] - [netdrv] ath10k: remove unnecessary 'out of memory' message (Jarod Wilson) [1776606] - [netdrv] ath10k: destroy sdio workqueue while remove sdio module (Jarod Wilson) [1776606] - [netdrv] ath10k: Move non-fatal warn logs to dbg level for SDIO chip (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix memory leak in qmi (Jarod Wilson) [1776606] - [netdrv] ath10k: add new hw_ops for sdio chip (Jarod Wilson) [1776606] - [netdrv] ath9k: correctly handle short radar pulses (Jarod Wilson) [1776606] - [netdrv] rtw88: refine flow to get tx power index (Jarod Wilson) [1776606] - [netdrv] rtw88: remove all RTW_MAX_POWER_INDEX macro (Jarod Wilson) [1776606] - [netdrv] rtw88: update tx power limit table to RF v20 (Jarod Wilson) [1776606] - [netdrv] rtw88: correct power limit selection (Jarod Wilson) [1776606] - [netdrv] rtw88: choose the lowest as world-wide power limit (Jarod Wilson) [1776606] - [netdrv] rtw88: fix incorrect tx power limit at 5G (Jarod Wilson) [1776606] - [netdrv] rtw88: remove unused variable (Jarod Wilson) [1776606] - [netdrv] rtw88: unify prefixes for tx power setting routine (Jarod Wilson) [1776606] - [netdrv] rtw88: do not use (void *) as argument (Jarod Wilson) [1776606] - [netdrv] rtw88: resolve order of tx power setting routines (Jarod Wilson) [1776606] - [netdrv] ath: fix SPDX tags (Jarod Wilson) [1776606] - [netdrv] ath10k: Add WMI diag fw logging support for WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: add report MIC error for sdio chip (Jarod Wilson) [1776606] - [netdrv] ath10k: add support for controlling tx power to a station (Jarod Wilson) [1776606] - [netdrv] ath10k: Add peer delete response event (Jarod Wilson) [1776606] - [netdrv] ath10k: wait for vdev delete response from firmware (Jarod Wilson) [1776606] - [netdrv] ath10k: fix PCIE device wake up failed (Jarod Wilson) [1776606] - [netdrv] ath10k: fix failure to set multiple fixed rate (Jarod Wilson) [1776606] - [netdrv] ath10k: Change the warning message string (Jarod Wilson) [1776606] - [netdrv] ath10k: fix fw crash by moving chip reset after napi disabled (Jarod Wilson) [1776606] - [netdrv] ath10k: add missing error handling (Jarod Wilson) [1776606] - [netdrv] ath10k: enabling tx stats support over pktlog (Jarod Wilson) [1776606] - [netdrv] ath10k: acquire lock to fix lockdep's warning (Jarod Wilson) [1776606] - [netdrv] ath10k: change firmware file name for UTF mode of SDIO/USB (Jarod Wilson) [1776606] - [netdrv] ath10k: add support for firmware crash recovery on SDIO chip (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wrapper function to ath10k debug (Jarod Wilson) [1776606] - [netdrv] ath10k: add htt_h2t_aggr_cfg_msg op for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add inline wrapper for htt_h2t_aggr_cfg_msg (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix sparse warnings: warning: incorrect type in assignment (different base types) (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: warning: cast from restricted __le16 (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix sparse warnings: incorrect type in assignment (different base types) (Jarod Wilson) [1776606] - [netdrv] mt76: move nl80211_dfs_regions in mt76_dev data structure (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove cfg80211_chan_def from mt7615_set_channel signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: update peer's bssid when state transition occurs (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix incorrect settings in mesh mode (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: take into account extPA when configuring tx power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: init per-channel target power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support for per-chain signal strength reporting (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: simplify mt7615_mcu_set_sta_rec routine (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: improve hardware rate switching configuration (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: rework and fix tx status reporting (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove key check in mt7615_mcu_set_wtbl_key (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: remove unused variable in mt7615_mcu_set_bcn (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: fix slow performance when enable encryption (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: enable support for mesh (Jarod Wilson) [1776606] - [netdrv] mt76: Remove set but not used variables 'pid' and 'final_mpdu' (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_get_rate in mt76-module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rearrange locking in mt7615_config (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: init get_txpower mac80211 callback (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add the capability to configure tx power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: select wifi band according to eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add support for mtd eeprom parsing (Jarod Wilson) [1776606] - [netdrv] mt76: move mt76_insert_ccmp_hdr in mt76-module (Jarod Wilson) [1776606] - [netdrv] mt76: fix setting chan->max_power (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix reading target tx power from eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: do not process rx packets if the device is not initialized (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: add debugfs knob to enable/disable edcca (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: add static qualifier to mt7615_rx_poll_complete (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: rearrange cleanup operations in mt7615_unregister_device (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: stop mac80211 queues before setting the channel (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: run __mt76_mcu_send_msg in mt7615_mcu_send_firmware (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: init mcu_restart function pointer (Jarod Wilson) [1776606] - [netdrv] mt7615: initialize mt76_mcu_ops data structure (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use standard signature for mt7615_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove unused structure in mcu.h (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: do not use function pointers whenever possible (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: unify __mt7615_mcu_set_dev_info and mt7615_mcu_set_dev_info (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove skb_ret from mt7615_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt7615: remove dest from mt7615_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt7615: remove query from mt7615_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove unused parameter in mt7615_mcu_del_wtbl (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: unify mt7615_mcu_add_wtbl_bmc and mt7615_mcu_del_wtbl_bmc (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl_bmc (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: remove bss_info_convert_vif_type routine (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: simplify __mt7615_mcu_set_sta_rec (Jarod Wilson) [1776606] - [netdrv] mt7615: mcu: simplify __mt7615_mcu_set_wtbl (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: Make mt7615_irq_handler static (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: Use after free in mt7615_mcu_set_bcn() (Jarod Wilson) [1776606] - [netdrv] mt76: Fix a signedness bug in mt7615_add_interface() (Jarod Wilson) [1776606] - [netdrv] mt76: move netif_napi_del in mt76_dma_cleanup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use napi polling for tx cleanup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use napi polling for tx cleanup (Jarod Wilson) [1776606] - [netdrv] wireless/mediatek: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: dynamically alloc mcu req in mt7603_mcu_set_eeprom (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: enable/disable pre_tbtt_tasklet in mt7603_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: move pre_tbtt_tasklet in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: move beacon_mask in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: move beacon_int in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: report firmware version using ethtool (Jarod Wilson) [1776606] - [netdrv] mt76: fix endianness sparse warnings (Jarod Wilson) [1776606] - [netdrv] mt76: mt7615: use sizeof instead of sizeof_field (Jarod Wilson) [1776606] - [netdrv] mt76: add mac80211 driver for MT7615 PCIe-based chipsets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: run __mt76_mcu_send_msg in mt7603_mcu_send_firmware (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: init mcu_restart function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: initialize mt76_mcu_ops data structure (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use standard signature for mt7603_mcu_msg_send (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: remove query from mt7603_mcu_msg_send signature (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix initialization of max rx length (Jarod Wilson) [1776606] - [netdrv] mt76: use macro for sn and seq_ctrl conversion (Jarod Wilson) [1776606] - [netdrv] mt76: add skb pointer to mt76_tx_info (Jarod Wilson) [1776606] - [netdrv] mt76: move mac_work in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: only schedule txqs from the tx tasklet (Jarod Wilson) [1776606] - [netdrv] mt76: move tx tasklet to struct mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: store wcid tx rate info in one u32 reduce locking (Jarod Wilson) [1776606] - [netdrv] mt76: use readl/writel instead of ioread32/iowrite32 (Jarod Wilson) [1776606] - [netdrv] mt76: fix tx power issues (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_free_device routine (Jarod Wilson) [1776606] - [netdrv] mt76: unify set_tim (Jarod Wilson) [1776606] - [netdrv] mt7603: core: do not use magic numbers in mt7603_reg_map (Jarod Wilson) [1776606] - [netdrv] mt7603: remove mt7603_mcu_init routine (Jarod Wilson) [1776606] - [netdrv] mt76: dma: add static qualifier to mt76_dma_tx_queue_skb (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_tx_info data structure (Jarod Wilson) [1776606] - [netdrv] mt76: introduce mt76_sw_queue data structure (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_complete_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_prepare_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: remove mt76_queue dependency from tx_queue_skb function pointer (Jarod Wilson) [1776606] - [netdrv] mt76: dma: move mt76x02_init_{tx, rx}_queue in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mmio: move mt76x02_set_irq_mask in mt76 module (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: send BAR after powersave wakeup (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix sequence number assignment (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: add missing initialization for dev->ps_lock (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: use the correct hweight8() function (Jarod Wilson) [1776606] - [netdrv] mt76: fix return value check in mt76_wmac_probe() (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: set moredata flag when queueing ps-filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: clear the service period on releasing PS filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: notify mac80211 about buffered frames in ps queue (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix up hardware queue index for PS filtered packets (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: clear ps filtering mode before releasing buffered frames (Jarod Wilson) [1776606] - [netdrv] mt76: mt7603: fix tx status HT rate validation (Jarod Wilson) [1776606] - [netdrv] mt76: add driver for MT7603E and MT7628/7688 (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0u: do not reset radio on resume (Jarod Wilson) [1776606] - [netdrv] mt7601u: null check the allocation (Jarod Wilson) [1776606] - [netdrv] mt7601u: use params->ssn value directly (Jarod Wilson) [1776606] - [netdrv] mt76: usb: fix rx A-MSDU support (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: get rid of {out,in}_max_packet (Jarod Wilson) [1776606] - [netdrv] mt76: mt76u: reduce rx memory footprint (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02u: fix sparse warnings: should it be static? (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x0: fix RF frontend initialization for external PA (Jarod Wilson) [1776606] - [netdrv] mt76: generalize mt76_get_txpower for 4x4:4 devices (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix tx reordering on rate control probing without a-mpdu (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix tx status reporting issues (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: fix edcca file permission (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: run mt76x02_edcca_init atomically in mt76_edcca_set (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2: move mutex_lock inside mt76x2_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x2u: remove mt76x02_edcca_init in mt76x2u_set_channel (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: remove enable from mt76x02_edcca_init signature (Jarod Wilson) [1776606] - [netdrv] mt76: move tx_napi in mt76_dev (Jarod Wilson) [1776606] - [netdrv] mt76: mt76x02: remove useless return in mt76x02_resync_beacon_timer (Jarod Wilson) [1776606] - [netdrv] mt7601u: fix possible memory leak when the device is disconnected (Jarod Wilson) [1776606] - [netdrv] mt7601u: do not schedule rx_tasklet when the device has been disconnected (Jarod Wilson) [1776606] - [netdrv] mwifiex: don't disable hardirqs; just softirqs (Jarod Wilson) [1776606] - [netdrv] mwifiex: dispatch/rotate from reorder table atomically (Jarod Wilson) [1776606] - [netdrv] mwifiex: ignore processing invalid command response (Jarod Wilson) [1776606] - [netdrv] mwifiex: update set_mac_address logic (Jarod Wilson) [1776606] - [netdrv] mwifiex: print PCI mmap with pK (Jarod Wilson) [1776606] - [netdrv] mwifiex: drop 'set_consistent_dma_mask' log message (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add support for hr1 RF ID (Jarod Wilson) [1776606] - [netdrv] iwlwifi: change 0x02F0 fw from qu to quz (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 22000 and change wrong structs (Jarod Wilson) [1776606] - [netdrv] iwlwifi: add new cards for 22000 and fix struct name (Jarod Wilson) [1776606] - [net] mac80211: notify offchannel expire on mgmt_tx (Jarod Wilson) [1776606] - [net] nl80211: send event when CMD_FRAME duration expires (Jarod Wilson) [1776606] - [net] mac80211: no need to check return value of debugfs_create functions (Jarod Wilson) [1776606] - [net] mac80211: extend __rate_control_send_low warning (Jarod Wilson) [1776606] - [net] mac80211: fill low rate even for HAS_RATE_CONTROL (Jarod Wilson) [1776606] - [net] mac80211: use STA info in rate_control_send_low() (Jarod Wilson) [1776606] - [net] mac80211: call rate_control_send_low() internally (Jarod Wilson) [1776606] - [net] cfg80211: Add a function to iterate all BSS entries (Jarod Wilson) [1776606] - [net] mac80211: allow turning TWT responder support on and off via netlink (Jarod Wilson) [1776606] - [net] mac80211: dynamically enable the TWT requester support on STA interfaces (Jarod Wilson) [1776606] - [net] mac80211: add ieee80211_get_he_iftype_cap() helper (Jarod Wilson) [1776606] - [uapi] nl80211: add support for SAE authentication offload (Jarod Wilson) [1776606] - [net] nl80211: add WPA3 definition for SAE authentication (Jarod Wilson) [1776606] - [net] nl80211: add NL80211_ATTR_IFINDEX to port authorized event (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8188ee: remove redundant assignment to rtstatus (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove redundant assignment to variable k (Jarod Wilson) [1776606] - [netdrv] rtlwifi: remove redundant assignment to variable badworden (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8192cu: fix error handle when usb probe failed (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: remove unused function exhalbtc_stack_operation_notify (Jarod Wilson) [1776606] - [netdrv] rtlwifi: btcoex: Remove set but not used variable 'len' and 'asso_type_v2' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Remove set but not used variables 'cur_txokcnt' and 'b_last_is_cur_rdl_state' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Convert inline routines to little-endian words (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Convert macros that set descriptor (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Replace local bit manipulation macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: rtl8821ae: Remove unused GET_XXX and SET_XXX descriptor macros (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: use le32 to access cckswing tables (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: Fix used uninitialized variables in power tracking (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: make tables to be 'static const' (Jarod Wilson) [1776606] - [netdrv] rtlwifi: 8192de: Reduce indentation and fix coding style (Jarod Wilson) [1776606] - [netdrv] rtw88: fix typo rtw_writ16_set (Jarod Wilson) [1776606] - [netdrv] rtw88: rsvd page should go though management queue (Jarod Wilson) [1776606] - [netdrv] rtw88: restore DACK results to save time (Jarod Wilson) [1776606] - [netdrv] rtw88: power on again if it was already on (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: use more accurate ofdm fa counting (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: disable rx clock gating before counter reset (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: update channel and bandwidth BB setting (Jarod Wilson) [1776606] - [netdrv] rtw88: 8822c: add rf write protection when switching channel (Jarod Wilson) [1776606] - [netdrv] rtw88: add beacon function setting (Jarod Wilson) [1776606] - [netdrv] rtw88: add support for random mac scan (Jarod Wilson) [1776606] - [netdrv] rtw88: add fast xmit support (Jarod Wilson) [1776606] - [netdrv] rtw88: more descriptions about LPS (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: check if queue mapping exceeds size of ac_to_hwq (Jarod Wilson) [1776606] - [netdrv] rtw88: pci: use ieee80211_ac_numbers instead of 0-3 (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use strlcpy() instead of strcpy() (Jarod Wilson) [1776606] - [netdrv] brcmfmac: fix typos in code comments (Jarod Wilson) [1776606] - [netdrv] brcm80211: select WANT_DEV_COREDUMP conditionally for brcmfmac (Jarod Wilson) [1776606] - [netdrv] brcmfmac: use separate Kconfig file for brcmfmac (Jarod Wilson) [1776606] - [netdrv] brcmfmac: switch source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcmsmac: switch phy source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcmutil: switch source files to using SPDX license identifier (Jarod Wilson) [1776606] - [netdrv] brcm80211: switch common header files to using SPDX license identifier (Jarod Wilson) [1776606] - [net] cfg80211: Handle bss expiry during connection (Jarod Wilson) [1776606] - [netdrv] ath10k: Check tx_stats before use it (Jarod Wilson) [1776606] - [netdrv] ath10k: add peer id check in ath10k_peer_find_by_id (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wmi tlv service map for mesh 11s (Jarod Wilson) [1776606] - [netdrv] ath10k: Do not send probe response template for mesh (Jarod Wilson) [1776606] - [netdrv] ath10k: Add wmi tlv vdev subtype for mesh in WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: change swap mail box config for UTF mode of SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix the wrong value of enums for wmi tlv stats id (Jarod Wilson) [1776606] - [netdrv] ath10k: coredump: use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix encoding for protected management frames (Jarod Wilson) [1776606] - [netdrv] ath10k: rx_duration update for fw_stats debugfs entry (Jarod Wilson) [1776606] - [netdrv] ath10k: Fix the tx stats bytes & packets parsing (Jarod Wilson) [1776606] - [netdrv] ath10k: Modify CE4 src buffer entries to 2048 for WCN3990 (Jarod Wilson) [1776606] - [netdrv] ath10k: Move board id and fw version logging to info level (Jarod Wilson) [1776606] - [netdrv] ath10k: Added support to reset HTT stats in debugfs (Jarod Wilson) [1776606] - [netdrv] ath10k: Extended the HTT stats support to retrieve Mu-MIMO related stats (Jarod Wilson) [1776606] - [netdrv] ath: DFS JP domain W56 fixed pulse type 3 RADAR detection (Jarod Wilson) [1776606] - [netdrv] ath9k: drop redundant code in ar9003_hw_set_channel (Jarod Wilson) [1776606] - [netdrv] ath: drop duplicated define (Jarod Wilson) [1776606] - [netdrv] ath9k: Remove some set but not used variables (Jarod Wilson) [1776606] - [netdrv] ath9k: Differentiate between max combined and per chain power (Jarod Wilson) [1776606] - [netdrv] ath9k: Check for errors when reading SREV register (Jarod Wilson) [1776606] - [netdrv] ath9k: Don't trust TX status TID number when reporting airtime (Jarod Wilson) [1776606] - [netdrv] ath6kl: remove redundant check of status != 0 (Jarod Wilson) [1776606] - [netdrv] ath6kl: add some bounds checking (Jarod Wilson) [1776606] - [netdrv] ath6kl: wmi: use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath6kl: debug: Use struct_size() helper (Jarod Wilson) [1776606] - [netdrv] ath10k: fix incorrect multicast/broadcast rate setting (Jarod Wilson) [1776606] - [netdrv] ath10k: enable QCA6174 hw3.2 SDIO hardware (Jarod Wilson) [1776606] - [netdrv] ath10k: add fragmentation handler for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add PN replay protection for high latency devices (Jarod Wilson) [1776606] - [netdrv] ath10k: add handler for HTT_T2H_MSG_TYPE_SEC_IND event (Jarod Wilson) [1776606] - [netdrv] ath10k: add struct for high latency PN replay protection (Jarod Wilson) [1776606] - [netdrv] ath10k: sdio: add missing error check (Jarod Wilson) [1776606] - [netdrv] ath10k: add initialization of HTC header (Jarod Wilson) [1776606] - [netdrv] ath10k: fix use-after-free on SDIO data frames (Jarod Wilson) [1776606] - [netdrv] ath10k: htt: support MSDU ids with SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: initialise struct ath10k_bus params to zero (Jarod Wilson) [1776606] - [netdrv] ath10k: htt: don't use txdone_fifo with SDIO (Jarod Wilson) [1776606] - [netdrv] ath10k: don't disable interrupts in ath10k_sdio_remove() (Jarod Wilson) [1776606] - [netdrv] ath10k: sdio: workaround firmware UART pin configuration bug (Jarod Wilson) [1776606] - [net] cfg80211: Add airtime statistics and settings (Jarod Wilson) [1776606] - [base] depend on HAS_IOMEM for devm_platform_ioremap_resource() (Jarod Wilson) [1776606] - [base] provide devm_platform_ioremap_resource() (Jarod Wilson) [1776606] - [lib] crypto: arc4 - refactor arc4 core code into separate library (Jarod Wilson) [1776606] - [crypto] export arc4 defines (Jarod Wilson) [1776606] - [crypto] arc4 - convert to skcipher API (Jarod Wilson) [1776606] - [kernel] bitfield: add u8 helpers (Jarod Wilson) [1776606]- [md] raid5: need to set STRIPE_HANDLE for batch head (Nigel Croxon) [1774840] - [scsi] lpfc: remove left-over BUILD_NVME defines (Ewan Milne) [1782235] - [block] fix memleak of bio integrity data (Ming Lei) [1779898] - [fs] xfs: attach dquots and reserve quota blocks during unwritten conversion (Carlos Maiolino) [1782094] - [nvme] nvme-fc: fix double-free scenarios on hw queues (Ewan Milne) [1781390] - [tools] power turbostat: Add Cometlake support (David Arcari) [1759661] - [mm] hugetlbfs: take read_lock on i_mmap for PMD sharing (Waiman Long) [1731295] - [documentation] powerpc/pseries: Add documentation for vcpudispatch_stats (Gustavo Duarte) [1723870] - [powerpc] pseries: Protect against hogging the cpu while setting up the stats (Gustavo Duarte) [1723870] - [powerpc] pseries: Provide vcpu dispatch statistics (Gustavo Duarte) [1723870] - [powerpc] pseries: Move mm/book3s64/vphn.c under platforms/pseries/ (Gustavo Duarte) [1723870] - [powerpc] pseries: Generalize hcall_vphn() (Gustavo Duarte) [1723870] - [powerpc] mm: Move book3s64 specifics in subdirectory mm/book3s64 (Gustavo Duarte) [1723870] - [powerpc] pseries: Introduce rwlock to gatekeep DTLB usage (Gustavo Duarte) [1723870] - [powerpc] pseries: Factor out DTL buffer allocation and registration routines (Gustavo Duarte) [1723870] - [powerpc] pseries: Do not save the previous DTL mask value (Gustavo Duarte) [1723870] - [powerpc] pseries: Use macros for referring to the DTL enable mask (Gustavo Duarte) [1723870] - [powerpc] mm: change #include "mmu_decl.h" to (Gustavo Duarte) [1723870] - [fs] devpts_pty_kill(): don't bother with d_delete() (Eric Sandeen) [1772718] - [fs] devpts: always delete dcache dentry-s in dput() (Eric Sandeen) [1772718] - [infiniband] rdma/siw: Fix post_recv QP state locking (Kamal Heib) [1779625] - [infiniband] rdma/siw: Fix SQ/RQ drain logic (Kamal Heib) [1779625] - [infiniband] rdma/siw: Relax from kmap_atomic() use in TX path (Kamal Heib) [1779625] - [netdrv] nfp: flower: cmsg rtnl locks can timeout reify messages (Pablo Cascon) [1729154] - [netdrv] nfp: Drop unnecessary continue in nfp_net_pf_alloc_vnics (Pablo Cascon) [1729154] - [netdrv] nfp: flower: handle neighbour events on internal ports (Pablo Cascon) [1729154] - [netdrv] nfp: flower: prevent ingress block binds on internal ports (Pablo Cascon) [1729154] - [netdrv] nfp: add AMDA0058 boards to firmware list (Pablo Cascon) [1729154] - [netdrv] nfp: no need to check return value of debugfs_create functions (Pablo Cascon) [1729154] - [netdrv] nfp: flower: encode mac indexes with pre-tunnel rule check (Pablo Cascon) [1729154] - [netdrv] nfp: flower: remove offloaded MACs when reprs are applied to OvS bridges (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: verify pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: detect potential pre-tunnel rules (Pablo Cascon) [1729154] - [netdrv] nfp: flower: push vlan after tunnel in merge (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS set action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS pop action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: offload MPLS push action (Pablo Cascon) [1729154] - [netdrv] nfp: flower: ensure ip protocol is specified for L4 matches (Pablo Cascon) [1729154] - [netdrv] nfp: flower: fix ethernet check on match fields (Pablo Cascon) [1729154] - [netdrv] nfp: ccm: increase message limits (Pablo Cascon) [1729154] - [netdrv] nfp: Use spinlock_t instead of struct spinlock (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add GRE encap action support (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add GRE decap classification support (Pablo Cascon) [1729154] - [netdrv] nfp: flower: rename tunnel related functions in action offload (Pablo Cascon) [1729154] - [netdrv] nfp: flower: add helper functions for tunnel classification (Pablo Cascon) [1729154] - [netdrv] nfp: flower: refactor tunnel key layer calculation (Pablo Cascon) [1729154] - [netdrv] nfp: flower: extend extack messaging for flower match and actions (Pablo Cascon) [1729154] - [netdrv] nfp: flower: use extack messages in flower offload (Pablo Cascon) [1729154] - [netdrv] nfp: flower: check L4 matches on unknown IP protocols (Pablo Cascon) [1729154] - [netdrv] nfp: print a warning when binding VFs to PF driver (Pablo Cascon) [1729154] - [netdrv] nfp: update the old flash error message (Pablo Cascon) [1729154] - [netdrv] nfp: prepare for more TX metadata prepend (Pablo Cascon) [1729154] - [netdrv] nfp: add tls init code (Pablo Cascon) [1729154] - [netdrv] nfp: parse crypto opcode TLV (Pablo Cascon) [1729154] - [netdrv] nfp: add support for sending control messages via mailbox (Pablo Cascon) [1729154] - [netdrv] nfp: parse the mailbox cmsg TLV (Pablo Cascon) [1729154] - [netdrv] nfp: make bar_lock a semaphore (Pablo Cascon) [1729154] - [netdrv] nfp: count all failed TX attempts as errors (Pablo Cascon) [1729154] - [netdrv] nfp: ensure skb network header is set for packet redirect (Pablo Cascon) [1728773] - [netdrv] nfp: reintroduce ndo_get_port_parent_id for representor ports (Pablo Cascon) [1728773] - [netdrv] nfp: implement PCI driver shutdown callback (Pablo Cascon) [1728773] - [netdrv] nfp: add SR-IOV trusted VF support (Pablo Cascon) [1728773] - [netdrv] nfp: split out common control message handling code (Pablo Cascon) [1728773] - [netdrv] nfp: move vNIC reset before netdev init (Pablo Cascon) [1728773] - [netdrv] nfp: add a mutex lock for the vNIC ctrl BAR (Pablo Cascon) [1728773] - [netdrv] nfp: opportunistically poll for reconfig result (Pablo Cascon) [1728773] - [netdrv] nfp: remove ndo_get_port_parent_id implementation (Pablo Cascon) [1728773] - [netdrv] nfp: pass switch ID through devlink_port_attrs_set() (Pablo Cascon) [1728773] - [netdrv] nfp: implement ethtool get module EEPROM (Pablo Cascon) [1728773] - [netdrv] nfp: nsp: implement read SFF module EEPROM (Pablo Cascon) [1728773] - [netdrv] nfp: do not handle nn->port defined case in nfp_net_get_phys_port_name() (Pablo Cascon) [1728773] - [netdrv] nfp: register devlink port before netdev (Pablo Cascon) [1728773] - [netdrv] nfp: remove defines for unused control bits (Pablo Cascon) [1728773] - [netdrv] replace ndo_get_devlink with ndo_get_devlink_port (Pablo Cascon) [1728773] - [netdrv] nfp: add .ndo_get_devlink (Pablo Cascon) [1728773] - [netdrv] nfp: flower: add rcu locks when accessing netdev for tunnels (Pablo Cascon) [1728773] - [netdrv] nfp: flower: add qos offload stats request and reply (Pablo Cascon) [1728773] - [netdrv] nfp: flower: fix size_t compile warning (Pablo Cascon) [1728773] - [netdrv] nfp: flower: fix implicit fallthrough warning (Pablo Cascon) [1728773] - [netdrv] nfp: flower: offload merge flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: support stats update for merge flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: generate merge flow rule (Pablo Cascon) [1728773] - [netdrv] nfp: flower: validate merge hint flows (Pablo Cascon) [1728773] - [netdrv] nfp: flower: handle merge hint messages (Pablo Cascon) [1728773] - [netdrv] nfp: flower: get flows by host context (Pablo Cascon) [1728773] - [netdrv] nfp: flower: allow tunnels to output to internal port (Pablo Cascon) [1728773] - [netdrv] nfp: flower: support fallback packets from internal ports (Pablo Cascon) [1728773] - [netdrv] nfp: allow fallback packets from non-reprs (Pablo Cascon) [1728773] - [netdrv] nfp: flower: allow offloading of matches on 'internal' ports (Pablo Cascon) [1728773] - [netdrv] nfp: flower: turn on recirc and merge hint support in firmware (Pablo Cascon) [1728773] - [netdrv] nfp: flower: reduce action list size by coalescing mangle actions (Pablo Cascon) [1728773] - [fs] xfs: properly serialise fallocate against AIO+DIO (Eric Sandeen) [1765547] - [fs] xfs: fix attr leaf header freemap.size underflow (Brian Foster) [1728989] - [mm] maintain randomization of page free lists (Rafael Aquini) [1620349] - [mm] move buddy list manipulations into helpers (Rafael Aquini) [1620349] - [mm] shuffle initial free memory to improve memory-side-cache utilization (Rafael Aquini) [1620349] - [powerpc] kvm: ppc: book3s hv: Flush link stack on guest exit to host kernel (Gustavo Duarte) [1777686] - [powerpc] book3s64: Fix link stack flush on context switch (Gustavo Duarte) [1777686] - [powerpc] 64s: support nospectre_v2 cmdline option (Gustavo Duarte) [1777686] - [powerpc] fsl: Update Spectre v2 reporting (Gustavo Duarte) [1777686] - [powerpc] fsl: Add nospectre_v2 command line argument (Gustavo Duarte) [1777686] - [powerpc] fsl: Fix spectre_v2 mitigations reporting (Gustavo Duarte) [1777686] - [powerpc] 64: Make meltdown reporting Book3S 64 specific (Gustavo Duarte) [1777686] - [powerpc] 64: Disable the speculation barrier from the command line (Gustavo Duarte) [1777686] - [x86] kprobes: Avoid kretprobe recursion bug (Jiri Olsa) [1779235] - [x86] kprobes: Verify stack frame on kretprobe (Jiri Olsa) [1779235]- [fs] iomap: Fix pipe page leakage during splicing (Andreas Grunbacher) [1622634] - [fs] iomap: fix return value of iomap_dio_bio_actor on 32bit systems (Andreas Grunbacher) [1622634] - [fs] iomap: iomap_bmap should check iomap_apply return value (Andreas Grunbacher) [1622634] - [fs] iomap: Fix overflow in iomap_page_mkwrite (Andreas Grunbacher) [1622634] - [fs] splice: only read in as much information as there is pipe buffer space (Andreas Grunbacher) [1622634] - [fs] gfs2: Always mark inode dirty in fallocate (Andreas Grunbacher) [1622634] - [fs] dax: Fix pmd vs pte conflict detection (Jeff Moyer) [1777250] - [fs] xfs: move local to extent inode logging into bmap helper (Brian Foster) [1737677] - [fs] xfs: remove broken error handling on failed attr sf to leaf change (Brian Foster) [1737677] - [fs] xfs: log the inode on directory sf to block format change (Brian Foster) [1737677] - [block] bfq: deschedule empty bfq_queues not referred by any process (Ming Lei) [1773831] - [scsi] revert "scsi: qla2xxx: Fix memory leak when sending I/O fails" (Himanshu Madhani) [1759275] - [infiniband] rdma/iw_cxgb4: Report correct port speed/width (Vishal Kulkarni) [1757806] - [infiniband] rdma/iw_cxgb4: fix SRQ access from dump_qp() (Vishal Kulkarni) [1779997] - [net] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (Vladis Dronov) [1778898] - [atm] iphase: Fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [x86] tls: Fix possible spectre-v1 in do_get_thread_area() (Vladis Dronov) [1778898] - [x86] ptrace: Fix possible spectre-v1 in ptrace_get_debugreg() (Vladis Dronov) [1778898] - [net] atm: Fix potential Spectre v1 vulnerabilities (Vladis Dronov) [1778898] - [powerpc] ptrace: Mitigate potential Spectre v1 (Vladis Dronov) [1778898] - [char] applicom: Fix potential Spectre v1 vulnerabilities (Vladis Dronov) [1778898] - [char] mwave: fix potential Spectre v1 vulnerability (Vladis Dronov) [1778898] - [misc] misc/sgi-gru: fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [usb] gadget: storage: Fix Spectre v1 vulnerability (Vladis Dronov) [1778898] - [misc] hmc6352: fix potential Spectre v1 (Vladis Dronov) [1778898] - [s390] qeth: ensure linear access to packet headers (Philipp Rudo) [1781085] - [s390] qeth: guard against runt packets (Philipp Rudo) [1781085] - [s390] qeth: handle skb allocation error gracefully (Philipp Rudo) [1781085] - [s390] qeth: drop unwanted packets earlier in RX path (Philipp Rudo) [1781085] - [s390] qeth: support per-frame invalidation (Philipp Rudo) [1781085] - [s390] qeth: gather more detailed RX dropped/error statistics (Philipp Rudo) [1781085] - [s390] Mark expected switch fall-throughs (Philipp Rudo) [1781085] - [sched] fair: Scale bandwidth quota and period without losing quota/period ratio precision (Phil Auld) [1706247] - [sched] fair: Fix -Wunused-but-set-variable warnings (Phil Auld) [1706247] - [sched] fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices (Phil Auld) [1706247] - [kernel] sched/core: Remove double update_max_interval() call on CPU startup (Phil Auld) [1757535] - [kernel] sched/core: Fix migration to invalid CPU in __set_cpus_allowed_ptr() (Phil Auld) [1757535] - [kernel] sched/fair: Don't assign runtime for throttled cfs_rq (Phil Auld) [1757535] - [kernel] cpufreq: schedutil: Don't skip freq update when limits change (Phil Auld) [1757535] - [kernel] sched/deadline: Fix double accounting of rq/running bw in push & pull (Phil Auld) [1757535] - [kernel] sched/fair: Fix imbalance due to CPU affinity (Phil Auld) [1757535] - [kernel] sched/fair: Use RCU accessors consistently for ->numa_group (Phil Auld) [1757535] - [kernel] sched/fair: Don't free p->numa_faults with concurrent readers (Phil Auld) [1757535] - [kernel] sched/fair: Rename weighted_cpuload() to cpu_runnable_load() (Phil Auld) [1757535] - [kernel] sched/topology: Remove unused 'sd' parameter from arch_scale_cpu_capacity() (Phil Auld) [1757535] - [kernel] sched/fair: Don't push cfs_bandwith slack timers forward (Phil Auld) [1757535] - [documentation] sched/fair: Fix "runnable_avg_yN_inv" not used warnings (Phil Auld) [1757535] - [kernel] sched/fair: Clean up definition of NOHZ blocked load functions (Phil Auld) [1757535] - [kernel] sched/core: Add __sched tag for io_schedule() (Phil Auld) [1757535] - [kernel] sched/fair: Remove sgs->sum_weighted_load (Phil Auld) [1757535] - [kernel] sched/core: Remove sd->*_idx (Phil Auld) [1757535] - [kernel] sched/core: Remove rq->cpu_load[] (Phil Auld) [1757535] - [kernel] sched/debug: Remove sd->*_idx range on sysctl (Phil Auld) [1757535] - [kernel] sched/fair: Replace source_load() & target_load() with weighted_cpuload() (Phil Auld) [1757535] - [kernel] sched/fair: Remove the rq->cpu_load[] update code (Phil Auld) [1757535] - [kernel] sched/fair: Remove rq->load (Phil Auld) [1757535] - [kernel] sched/core: Unify p->on_rq updates (Phil Auld) [1757535] - [kernel] sched/core: Remove ttwu_activate() (Phil Auld) [1757535] - [kernel] sched/cpufreq: Fix 32-bit math overflow (Phil Auld) [1757535] - [kernel] sched/fair: Update scale invariance of PELT (Phil Auld) [1757535] - [kernel] sched/pelt: Skip updating util_est when utilization is higher than CPU's capacity (Phil Auld) [1757535] - [kernel] sched/fair: Move the rq_of() helper function (Phil Auld) [1757535] - [kernel] sched/core: Use READ_ONCE()/WRITE_ONCE() in move_queued_task()/task_rq_lock() (Phil Auld) [1757535] - [kernel] sched/numa: Remove unused numa_stats::nr_running field (Phil Auld) [1757535] - [kernel] sched/fair: Add lsub_positive() and use it consistently (Phil Auld) [1706247 1757535] - [kernel] sched/fair: Mask UTIL_AVG_UNCHANGED usages (Phil Auld) [1706247 1757535] - [cpuidle] teo: Avoid using "early hits" incorrectly (Al Stone) [1725618] - [cpuidle] teo: Fix "early hits" handling for disabled idle states (Al Stone) [1725618] - [cpuidle] teo: Consider hits and misses metrics of disabled states (Al Stone) [1725618] - [cpuidle] teo: Rename local variable in teo_select() (Al Stone) [1725618] - [cpuidle] teo: Ignore disabled idle states that are too deep (Al Stone) [1725618] - [cpuidle] teo: Get rid of redundant check in teo_update() (Al Stone) [1725618] - [cpuidle] teo: Allow tick to be stopped if PM QoS is used (Al Stone) [1725618] - [cpuidle] governors: unify last_state_idx (Al Stone) [1725618] - [powerpc] powernv/cpuidle: Fix idle states all being marked invalid (Al Stone) [1725618] - [cpuidle] menu: Avoid overflows when computing variance (Al Stone) [1725618] - [cpuidle] dt: bail out if the idle-state DT node is not compatible (Al Stone) [1725618] - [kernel] cpuidle: use BIT() for idle state flags and remove CPUIDLE_DRIVER_FLAGS_MASK (Al Stone) [1725618] - [cpuidle] New timer events oriented governor for tickless systems (Al Stone) [1725618] - [cpuidle] Add 'above' and 'below' idle state metrics (Al Stone) [1725618] - [cpuidle] big.little: fix refcount leak (Al Stone) [1725618] - [documentation] documentation: admin-guide: pm: Add cpuidle document (Al Stone) [1725618] - [cpuidle] powerpc/pseries/cpuidle: Fix preempt warning (Al Stone) [1725618] - [cpuidle] arm: cpuidle: Convert to use cpuidle_register|unregister() (Al Stone) [1725618] - [cpuidle] arm: cpuidle: Don't register the driver when back-end init returns -ENXIO (Al Stone) [1725618] - [cpuidle] menu: Remove get_loadavg() from the performance multiplier (Al Stone) [1725618] - [kernel] sched: Factor out nr_iowait and nr_iowait_cpu (Al Stone) [1725618] - [kernel] sched/core: Fix comment regarding nr_iowait_cpu() and get_iowait_load() (Al Stone) [1725618] - [cpuidle] menu: Avoid computations when result will be discarded (Al Stone) [1725618] - [cpuidle] menu: Drop redundant comparison (Al Stone) [1725618] - [cpuidle] menu: Simplify checks related to the polling state (Al Stone) [1725618] - [cpuidle] menu: Move the latency_req == 0 special case check (Al Stone) [1725618] - [cpuidle] menu: Avoid computations for very close timers (Al Stone) [1725618] - [cpuidle] menu: Do not update last_state_idx in menu_select() (Al Stone) [1725618] - [cpuidle] menu: Get rid of first_idx from menu_select() (Al Stone) [1725618] - [cpuidle] menu: Compute first_idx when latency_req is known (Al Stone) [1725618] - [cpuidle] menu: Replace data->predicted_us with local variable (Al Stone) [1725618] - [cpuidle] enter_state: Don't needlessly calculate diff time (Al Stone) [1725618] - [kernel] cpuidle: Remove unnecessary wrapper cpuidle_get_last_residency() (Al Stone) [1725618] - [cpuidle] menu: Update stale polling override comment (Al Stone) [1725618] - [cpuidle] menu: Fix white space (Al Stone) [1725618] - [cpuidle] powernv/cpuidle: Use parsed device tree values for cpuidle_init (Al Stone) [1725618] - [powerpc] powernv/cpuidle: Parse dt idle properties into global structure (Al Stone) [1725618] - [cpuidle] arm: cpuidle: silence error on driver registration failure (Al Stone) [1725618]- [documentation] docs: admin-guide: Remove threads-max auto-tuning (Joe Lawrence) [1771270] - [documentation] docs: admin-guide: Fix min value of threads-max in kernel.rst (Joe Lawrence) [1771270] - [kernel] sysctl.c: do not override max_threads provided by userspace (Joe Lawrence) [1771270] - [fs] ext4: fix integer overflow when calculating commit interval (Lukas Czerner) [1775166] - [fs] ext4: fix punch hole for inline_data file systems (Lukas Czerner) [1775166] - [fs] ext4: fix warning inside ext4_convert_unwritten_extents_endio (Lukas Czerner) [1775166] - [fs] ext4: set error return correctly when ext4_htree_store_dirent fails (Lukas Czerner) [1775166] - [fs] ext4: fix warning when turn on dioread_nolock and inline_data (Lukas Czerner) [1775166] - [fs] ext4: use jbd2_inode dirty range scoping (Lukas Czerner) [1775166] - [fs] jbd2: introduce jbd2_inode dirty range scoping (Lukas Czerner) [1775166] - [mm] add filemap_fdatawait_range_keep_errors() (Lukas Czerner) [1775166] - [fs] ext4: enforce the immutable flag on open files (Lukas Czerner) [1775166] - [fs] ext4: don't allow any modifications to an immutable file (Lukas Czerner) [1775166] - [fs] jbd2: fix typo in comment of journal_submit_inode_data_buffers (Lukas Czerner) [1775166] - [fs] jbd2: fix some print format mistakes (Lukas Czerner) [1775166] - [fs] ext4: do not delete unlinked inode from orphan list on failed truncate (Lukas Czerner) [1775166] - [fs] ext4: wait for outstanding dio during truncate in nojournal mode (Lukas Czerner) [1775166] - [fs] ext4: don't perform block validity checks on the journal inode (Lukas Czerner) [1775166] - [fs] ext4: fix block validity checks for journal inodes using indirect blocks (Lukas Czerner) [1775166] - [fs] ext4: fix miscellaneous sparse warnings (Lukas Czerner) [1775166] - [fs] jbd2: fix potential double free (Lukas Czerner) [1775166] - [fs] quota: fix condition for resetting time limit in do_set_dqblk() (Lukas Czerner) [1778119] - [fs] quota: honor quota type in Q_XGETQSTAT[V] calls (Lukas Czerner) [1778119] - [fs] quota: fix a problem about transfer quota (Lukas Czerner) [1778119] - [fs] quota: add dqi_dirty_list description to comment of Dquot List Management (Lukas Czerner) [1778119] - [fs] quota: check time limit when back out space/inode change (Lukas Czerner) [1778119] - [fs] quota: fix wrong indentation (Lukas Czerner) [1778119] - [fs] quota: remove trailing whitespaces (Lukas Czerner) [1778119] - [fs] quota: code cleanup for __dquot_alloc_space() (Lukas Czerner) [1778119] - [fs] quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON, OFF} quotactls (Lukas Czerner) [1778119] - [fs] quota: Replace XQM_MAXQUOTAS usage with MAXQUOTAS (Lukas Czerner) [1778119] - [hv] vmbus: Fix harmless building warnings without CONFIG_PM_SLEEP (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Resume after fixing up old primary channels (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Suspend after cleaning up hv_sock and sub channels (Mohammed Gamal) [1774675] - [kernel] hv: vmbus: Add a helper function is_sub_channel() (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Clean up hv_sock channels by force upon suspend (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Suspend/resume the vmbus itself for hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Ignore the offers when resuming from hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Implement suspend/resume for VSC drivers for hibernation (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Fix virt_to_hvpfn() for X86_PAE (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Remove the unused "tsc_page" from struct hv_context (Mohammed Gamal) [1774675] - [hv] tools: hv: Use the correct style for SPDX License Identifier (Mohammed Gamal) [1774675] - [hv] hv_balloon: Reorganize the probe function (Mohammed Gamal) [1774675] - [hv] hv_balloon: Use a static page for the balloon_up send buffer (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Replace page definition with Hyper-V specific one (Mohammed Gamal) [1774675] - [hv] hv: Add a module description line to the hv_vmbus driver (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup() (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Fix race condition with new ring_buffer_info mutex (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Set ring_info field to 0 and remove memset (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Refactor chan->state if statement (Mohammed Gamal) [1774675] - [hv] hv: vmbus: Expose monitor data only when monitor pages are used (Mohammed Gamal) [1774675] - [netdrv] hv_netvsc: Fix error handling in netvsc_attach() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix error handling in netvsc_set_features() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Sync offloading features to VF NIC (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Allow scatter-gather feature to be tunable (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix a warning of suspicious RCU usage (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Fix extra rcu_read_unlock in netvsc_recv_callback() (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: Set probe mode to sync (Mohammed Gamal) [1774687] - [netdrv] hv_netvsc: fix race that may miss tx queue wakeup (Mohammed Gamal) [1774687] - [netdrv] nfp: bpf: fix latency bug when updating stack index register (Pablo Cascon) [1729156] - [netdrv] nfp: bpf: eliminate zero extension code-gen (Pablo Cascon) [1729156] - [netdrv] bnxt_en: Call bnxt_ulp_stop()/bnxt_ulp_start() during suspend/resume (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Call bnxt_ulp_stop()/bnxt_ulp_start() during error recovery (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Improve bnxt_ulp_stop()/bnxt_ulp_start() call sequence (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: flow_offload: offload tunnel decap rules via indirect callbacks (Jonathan Toppins) [1773724] - [netdrv] bnxt: Avoid logging an unnecessary message when a flow can't be offloaded (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Add support to collect crash dump via ethtool (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Add support to invoke OP-TEE API to reset firmware (Jonathan Toppins) [1773724] - [netdrv] broadcom: bnxt: Fix use true/false for bool (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Avoid disabling pci device in bnxt_remove_one() for already disabled device (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Minor formatting changes in FW devlink_health_reporter (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Adjust the time to wait before polling firmware readiness (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Fix devlink NVRAM related byte order related issues (Jonathan Toppins) [1773724] - [netdrv] bnxt_en: Fix the size of devlink MSIX parameters (Jonathan Toppins) [1773724] - [nvme] Fix parsing of ANA log page (Ewan Milne) [1769028] - [nvme] nvme-multipath: fix ana log nsid lookup when nsid is not found (Ewan Milne) [1769028] - [nvme] nvme-multipath: fix possible I/O hang when paths are updated (Ewan Milne) [1769028] - [nvme] revert "nvme: update node paths after adding new path" (Ewan Milne) [1769028] - [netdrv] mlx5: Update the list of the PCI supported devices (Mohammad Heib) [1776921] - [netdrv] mlx5: Fix auto group size calculation (Mohammad Heib) [1776921] - [netdrv] mlx5e: Do not use non-EXT link modes in EXT mode (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix set vf link state error flow (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Limit STE hash table enlarge based on bytemask (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix invalid EQ vector number on CQ creation (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Skip rehash for tables with byte mask zero (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6 (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix matcher builders select check (Mohammad Heib) [1776921] - [netdrv] mlx5: Read num_vfs before disabling SR-IOV (Mohammad Heib) [1776921] - [netdrv] mlx5: Clear VF's configuration on disabling SRIOV (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix memory leak during rule creation (Mohammad Heib) [1776921] - [netdrv] mlx5: DR, Fix memory leak in modify action destroy (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix eswitch debug print of max fdb flow (Mohammad Heib) [1776921] - [netdrv] mlx5: LAG, Use affinity type enumerators (Mohammad Heib) [1776921] - [netdrv] mlx5: E-switch, Enable metadata on own vport (Mohammad Heib) [1776921] - [netdrv] mlx5: Correct comment for legacy fields (Mohammad Heib) [1776921] - [netdrv] mlx5: Fixed a typo in a comment in esw_del_uc_addr() (Mohammad Heib) [1776921] - [netdrv] mlx5: Fix rtable reference leak (Mohammad Heib) [1776921] - [netdrv] mlx5: fix a -Wstringop-truncation warning (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix a race with XSKICOSQ in XSK wakeup flow (Mohammad Heib) [1776921] - [netdrv] mlx5e: Fix wrong max num channels indication (Mohammad Heib) [1776921] - [netdrv] mlx5e: Add XSK zero-copy support (Mohammad Heib) [1776921]- [mm] memremap: drop unused SECTION_SIZE and SECTION_MASK (Don Dutile) [1754737] - [mm] memremap: Fix reuse of pgmap instances with internal references (Don Dutile) [1754737] - [mm] memunmap: don't access uninitialized memmap in memunmap_pages() (Don Dutile) [1754737] - [mm] memremap: move from kernel/ to mm/ (Don Dutile) [1754737] - [kernel] memremap: provide an optional internal refcount in struct dev_pagemap (Don Dutile) [1754737] - [kernel] memremap: replace the altmap_valid field with a PGMAP_ALTMAP_VALID flag (Don Dutile) [1754737] - [mm] memremap: remove the data field in struct dev_pagemap (Don Dutile) [1754737] - [kernel] memremap: add a migrate_to_ram method to struct dev_pagemap_ops (Don Dutile) [1754737] - [kernel] memremap: lift the devmap_enable manipulation into devm_memremap_pages (Don Dutile) [1754737] - [nvdimm] memremap: pass a struct dev_pagemap to ->kill and ->cleanup (Don Dutile) [1754737] - [kernel] memremap: move dev_pagemap callbacks into a separate structure (Don Dutile) [1754737] - [kernel] memremap: validate the pagemap type passed to devm_memremap_pages (Don Dutile) [1754737] - [mm] remove MEMORY_DEVICE_PUBLIC support (Don Dutile) [1754737] - [mm] migrate.c: cleanup expected_page_refs() (Don Dutile) [1754737] - [mm] migration: factor out code to compute expected number of page references (Don Dutile) [1754737] - [kernel] mm/devm_memremap_pages: fix final page put race (Don Dutile) [1754737] - [kernel] mm/devm_memremap_pages: introduce devm_memunmap_pages (Don Dutile) [1754737] - [kernel] memremap.c: remove the unused device_private_entry_fault() export (Don Dutile) [1754737] - [base] devres: introduce devm_release_action() (Don Dutile) [1754737] - [base] devres: Align data[] to ARCH_KMALLOC_MINALIGN (Don Dutile) [1754737] - [base] devres: provide devm_kstrdup_const() (Don Dutile) [1754737] - [base] devres: constify p in devm_kfree() (Don Dutile) [1754737] - [kernel] mm: move is_kernel_rodata() to asm-generic/sections.h (Don Dutile) [1754737] - [kernel] mm: fix vm_fault_t cast in VM_FAULT_GET_HINDEX() (Don Dutile) [1754737] - [kernel] mm: create the new vm_fault_t type (Don Dutile) [1754737] - [kernel] mm/hmm: convert to use vm_fault_t (Don Dutile) [1754737] - [kernel] mm/hmm: fix memremap.h, move dev_page_fault_t callback to hmm (Don Dutile) [1754737] - [fs] proc/vmcore.c: Convert to use vmf_error() (Don Dutile) [1754737] - [fs] proc/vmcore.c: use new typedef vm_fault_t (Don Dutile) [1754737] - [s390] vdso_fault return type (Don Dutile) [1754737] - [mm] inline vm_insert_pfn_prot() into caller (Don Dutile) [1754737] - [mm] remove vm_insert_pfn() (Don Dutile) [1754737] - [mm] make vm_insert_pfn_prot() static (Don Dutile) [1754737] - [x86] convert vdso to use vm_fault_t (Don Dutile) [1754737] - [mm] introduce vmf_insert_pfn_prot() (Don Dutile) [1754737] - [mm] convert __vm_insert_mixed() to vm_fault_t (Don Dutile) [1754737] - [kernel] mm: remove vm_insert_mixed() (Don Dutile) [1754737] - [fs] cramfs: convert to use vmf_insert_mixed (Don Dutile) [1754737] - [scsi] cxlflash: Change return type for fault handler (Don Dutile) [1754737] - [misc] ocxl: Change return type for fault handler (Don Dutile) [1754737] - [kernel] fs/iomap.c: change return type to vm_fault_t (Don Dutile) [1754737] - [mm] swap.c: remove duplicated include (Don Dutile) [1754737] - [kernel] perf/aux: Fix the aux_output group inheritance fix (Michael Petlan) [1743210] - [kernel] perf/core: Fix inheritance of aux_output groups (Michael Petlan) [1743210] - [kernel] perf/aux: Disallow aux_output for kernel events (Michael Petlan) [1743210] - [kernel] perf/core: Reattach a misplaced comment (Michael Petlan) [1743210] - [kernel] perf/aux: Fix AUX output stopping (Michael Petlan) [1743210] - [tools] perf vendor events s390: Add JSON transaction for machine type 8561 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite (Michael Petlan) [1743210] - [tools] objtool: Fix build by linking against tools/lib/ctype.o sources (Michael Petlan) [1743210] - [tools] perf list: Allow plurals for metric, metricgroup (Michael Petlan) [1743210] - [tools] perf vendor events: Minor fixes to the README (Michael Petlan) [1743210] - [tools] perf vendor events amd: Remove redundant '[' (Michael Petlan) [1743210] - [tools] perf vendor events amd: Add L3 cache events for Family 17h (Michael Petlan) [1743210] - [tools] tools include uapi: Update copy of files related to new fspick, fsmount, fsconfig, fsopen, move_mount and open_tree syscalls (Michael Petlan) [1743210] - [tools] perf pmu-events: Fix missing "cpu_clk_unhalted.core" event (Michael Petlan) [1743210] - [tools] perf annotate: Fix s390 gap between kernel end and module start (Michael Petlan) [1743210] - [tools] perf record: Fix module size on s390 (Michael Petlan) [1743210] - [tools] perf tools: Fix include paths in ui directory (Michael Petlan) [1743210] - [tools] perf tools: Fix a typo in a variable name in the Documentation Makefile (Michael Petlan) [1743210] - [tools] perf cpumap: Fix writing to illegal memory in handling cpumap mask (Michael Petlan) [1743210] - [tools] perf ftrace: Fix failure to set cpumask when only one cpu is present (Michael Petlan) [1743210] - [tools] perf db-export: Fix thread__exec_comm() (Michael Petlan) [1743210] - [tools] perf annotate: Fix printing of unaugmented disassembled instructions from BPF (Michael Petlan) [1743210] - [tools] perf bench numa: Fix cpu0 binding (Michael Petlan) [1743210] - [tools] perf tools: Fix perf.data documentation units for memory size (Michael Petlan) [1743210] - [tools] perf header: Fix use of unitialized value warning (Michael Petlan) [1743210] - [tools] perf header: Fix divide by zero error if f_header.attr_size==0 (Michael Petlan) [1743210] - [tools] tools perf beauty: Fix usbdevfs_ioctl table generator to handle _IOC() (Michael Petlan) [1743210] - [tools] perf build: Do not use -Wshadow on gcc < 4.8 (Michael Petlan) [1743210] - [tools] perf probe: Avoid calling freeing routine multiple times for same pointer (Michael Petlan) [1743210] - [tools] perf probe: Set pev->nargs to zero after freeing pev->args entries (Michael Petlan) [1743210] - [tools] perf session: Fix loading of compressed data split across adjacent records (Michael Petlan) [1743210] - [tools] perf stat: Always separate stalled cycles per insn (Michael Petlan) [1743210] - [tools] perf stat: Fix segfault for event group in repeat mode (Michael Petlan) [1743210] - [tools] perf tools: Fix proper buffer size for feature processing (Michael Petlan) [1743210] - [tools] perf script: Fix off by one in brstackinsn IPC computation (Michael Petlan) [1743210] - [tools] perf script: Improve man page description of metrics (Michael Petlan) [1743210] - [tools] perf script: Fix --max-blocks man page description (Michael Petlan) [1743210] - [tools] perf vendor events s390: Add JSON files for machine type 8561 (Michael Petlan) [1743210] - [tools] perf cs-etm: Return errcode in cs_etm__process_auxtrace_info() (Michael Petlan) [1743210] - [tools] perf cs-etm: Remove errnoeous ERR_PTR() usage in cs_etm__process_auxtrace_info (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export switch events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export switch events (Michael Petlan) [1743210] - [tools] perf db-export: Export switch events (Michael Petlan) [1743210] - [tools] perf db-export: Factor out db_export__threads() (Michael Petlan) [1743210] - [tools] perf script: Add scripting operation process_switch() (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Use new 'has_calls' column (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Remove redundant semi-colons (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Add has_calls column to comms table (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Add has_calls column to comms table (Michael Petlan) [1743210] - [tools] perf db-export: Also export thread's current comm (Michael Petlan) [1743210] - [tools] perf db-export: Factor out db_export__comm() (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export comm details (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export comm details (Michael Petlan) [1743210] - [tools] perf db-export: Export comm details (Michael Petlan) [1743210] - [tools] perf db-export: Fix a white space issue in db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Move export__comm_thread into db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Export comm before exporting thread (Michael Petlan) [1743210] - [tools] perf db-export: Export main_thread in db_export__sample() (Michael Petlan) [1743210] - [tools] perf db-export: Pass main_thread to db_export__thread() (Michael Petlan) [1743210] - [tools] perf db-export: Rename db_export__comm() to db_export__exec_comm() (Michael Petlan) [1743210] - [tools] perf db-export: Get rid of db_export__deferred() (Michael Petlan) [1743210] - [tools] perf trace: Auto bump rlimit(MEMLOCK) for eBPF maps sake (Michael Petlan) [1743210] - [tools] perf test: Auto bump rlimit(MEMLOCK) for BPF test sake (Michael Petlan) [1743210] - [tools] perf tools: Introduce rlimit__bump_memlock() helper (Michael Petlan) [1743210] - [tools] perf-probe: Add user memory access attribute support (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf intel-bts: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf script: Assume native_arch for pipe mode (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Fix DROP VIEW power_events_view (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Fix DROP VIEW power_events_view (Michael Petlan) [1743210] - [tools] perf hists browser: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf cs-etm: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf parse-events: remove unused variable: error (Michael Petlan) [1743210] - [tools] perf parse-events: Remove unused variable 'i' (Michael Petlan) [1743210] - [tools] perf metricgroup: Add missing list_del_init() when flushing egroups list (Michael Petlan) [1743210] - [tools] perf tools: Use list_del_init() more thorougly (Michael Petlan) [1743210] - [tools] perf tools: Use zfree() where applicable (Michael Petlan) [1743210] - [tools] tools lib: Adopt zalloc()/zfree() from tools/perf (Michael Petlan) [1743210] - [tools] perf tools: Move get_current_dir_name() cond prototype out of util.h (Michael Petlan) [1743210] - [tools] perf namespaces: Move the conditional setns() prototype to namespaces.h (Michael Petlan) [1743210] - [tools] perf tools: Add missing headers, mostly stdlib.h (Michael Petlan) [1743210] - [tools] perf evsel: perf_evsel__name(NULL) is valid, no need to check evsel (Michael Petlan) [1743210] - [tools] perf session: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf inject: The tool->read() call may pass a NULL evsel, handle it (Michael Petlan) [1743210] - [tools] perf map: Fix potential NULL pointer dereference found by smatch tool (Michael Petlan) [1743210] - [tools] perf trace: Fix potential NULL pointer dereference found by the smatch tool (Michael Petlan) [1743210] - [tools] perf annotate: Fix dereferencing freed memory found by the smatch tool (Michael Petlan) [1743210] - [tools] perf top: Fix potential NULL pointer dereference detected by the smatch tool (Michael Petlan) [1743210] - [tools] perf stat: Fix use-after-freed pointer detected by the smatch tool (Michael Petlan) [1743210] - [tools] perf test mmap-thread-lookup: Initialize variable to suppress memory sanitizer warning (Michael Petlan) [1743210] - [tools] perf script: Allow specifying the files to process guest samples (Michael Petlan) [1743210] - [tools] perf tools metric: Don't include duration_time in group (Michael Petlan) [1743210] - [tools] perf list: avoid extra : for --raw metrics (Michael Petlan) [1743210] - [tools] perf vendor events intel: Metric fixes for SKX/CLX (Michael Petlan) [1743210] - [tools] perf tools: Fix typos / broken sentences (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 L3C PMU aliasing (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 HHA PMU aliasing (Michael Petlan) [1743210] - [tools] perf jevents: Add support for Hisi hip08 DDRC PMU aliasing (Michael Petlan) [1743210] - [tools] perf pmu: Support more complex PMU event aliasing (Michael Petlan) [1743210] - [tools] perf diff: Documentation -c cycles option (Michael Petlan) [1743210] - [tools] perf diff: Print the basic block cycles diff (Michael Petlan) [1743210] - [tools] perf diff: Link same basic blocks among different data (Michael Petlan) [1743210] - [tools] perf diff: Use hists to manage basic blocks per symbol (Michael Petlan) [1743210] - [tools] perf diff: Check if all data files with branch stacks (Michael Petlan) [1743210] - [tools] perf hists: Add block_info in hist_entry (Michael Petlan) [1743210] - [tools] perf symbol: Create block_info structure (Michael Petlan) [1743210] - [tools] perf jevents: Use nonlocal include statements in pmu-events.c (Michael Petlan) [1743210] - [tools] perf annotate: Add csky support (Michael Petlan) [1743210] - [tools] perf stat: Fix metrics with --no-merge (Michael Petlan) [1743210] - [tools] perf stat: Fix group lookup for metric group (Michael Petlan) [1743210] - [tools] perf stat: Don't merge events in the same PMU (Michael Petlan) [1743210] - [tools] perf stat: Make metric event lookup more robust (Michael Petlan) [1743210] - [tools] tools lib: Move argv_{split, free} from tools/perf/util/ (Michael Petlan) [1743210] - [tools] perf tools: Drop strxfrchar(), use strreplace() equivalent from kernel (Michael Petlan) [1743210] - [tools] tools lib: Adopt strreplace() from the kernel (Michael Petlan) [1743210] - [tools] perf tools: Ditch rtrim(), use strim() from tools/lib (Michael Petlan) [1743210] - [tools] perf tools: Remove trim() implementation, use tools/lib's strim() (Michael Petlan) [1743210] - [tools] tools lib: Adopt strim() from the kernel (Michael Petlan) [1743210] - [tools] perf tools: Ditch rtrim(), use skip_spaces() to get closer to the kernel (Michael Petlan) [1743210] - [tools] perf report: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf metricgroup: Use strsep() (Michael Petlan) [1743210] - [tools] perf strfilter: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf probe: Use skip_spaces() for argv handling (Michael Petlan) [1743210] - [tools] perf time-utils: Use skip_spaces() (Michael Petlan) [1743210] - [tools] perf header: Use skip_spaces() in __write_cpudesc() (Michael Petlan) [1743210] - [tools] perf stat: Use recently introduced skip_spaces() (Michael Petlan) [1743210] - [tools] tools lib: Adopt skip_spaces() from the kernel sources (Michael Petlan) [1743210] - [tools] perf tools: Use linux/ctype.h in more places (Michael Petlan) [1743210] - [tools] tools perf: Move from sane_ctype.h obtained from git to the Linux's original (Michael Petlan) [1743210] - [tools] perf tools: Add missing util.h to pick up 'page_size' variable (Michael Petlan) [1743210] - [tools] perf tools: Remove old baggage that is util/include/linux/ctype.h (Michael Petlan) [1743210] - [tools] perf symbols: We need util.h in symbol-elf.c for zfree() (Michael Petlan) [1743210] - [tools] perf kallsyms: Adopt hex2u64 from tools/perf/util/util.h (Michael Petlan) [1743210] - [tools] tools x86 machine: Add missing util.h to pick up 'page_size' (Michael Petlan) [1743210] - [tools] perf string: Move 'dots' and 'graph_dotted_line' out of sane_ctype.h (Michael Petlan) [1743210] - [tools] perf ctype: Remove now unused 'spaces' variable (Michael Petlan) [1743210] - [tools] perf ui stdio: No need to use 'spaces' to left align (Michael Petlan) [1743210] - [tools] perf ctype: Remove unused 'graph_line' variable (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export Intel PT power and ptwrite events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export Intel PT power and ptwrite events (Michael Petlan) [1743210] - [tools] perf db-export: Export synth events (Michael Petlan) [1743210] - [tools] perf intel-pt: Synthesize CBR events when last seen value changes (Michael Petlan) [1743210] - [tools] perf intel-pt: Add CBR value to decoder state (Michael Petlan) [1743210] - [tools] perf intel-pt: Cater for CBR change in PSB+ (Michael Petlan) [1743210] - [tools] perf intel-pt: Decoder to output CBR changes immediately (Michael Petlan) [1743210] - [tools] perf thread-stack: Eliminate code duplicating thread_stack__pop_ks() (Michael Petlan) [1743210] - [tools] perf thread-stack: Fix thread stack return from kernel for kernel-only case (Michael Petlan) [1743210] - [tools] perf tools: Fix cache.h include directive (Michael Petlan) [1743210] - [tools] tools build: Fix the zstd test in the test-all.c common case feature test (Michael Petlan) [1743210] - [tools] perf build: Handle slang being in /usr/include and in /usr/include/slang/ (Michael Petlan) [1743210] - [tools] tools build: Add test to check if slang.h is in /usr/include/slang/ (Michael Petlan) [1743210] - [tools] perf tools: Don't hardcode host include path for libslang (Michael Petlan) [1743210] - [tools] perf evsel: Make perf_evsel__name() accept a NULL argument (Michael Petlan) [1743210] - [tools] perf trace: Fixup pointer arithmetic when consuming augmented syscall args (Michael Petlan) [1743210] - [tools] perf pmu: Fix uncore PMU alias list for ARM64 (Michael Petlan) [1743210] - [tools] perf tests: Add missing SPDX headers (Michael Petlan) [1743210] - [tools] tools build feature tests: Add missing SPDX headers (Michael Petlan) [1743210] - [tools] perf trace: Streamline validation of select syscall names list (Michael Petlan) [1743210] - [tools] perf trace: Fix exclusion of not available syscall names from selector list (Michael Petlan) [1743210] - [tools] perf intel-pt: Add callchain to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add memory information to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add LBR information to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add XMM registers to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Add gp registers to synthesized PEBS sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Synthesize PEBS sample basic information (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out common sample preparation for re-use (Michael Petlan) [1743210] - [tools] perf intel-pt: Prepare to synthesize PEBS samples (Michael Petlan) [1743210] - [tools] perf intel-pt: Add decoder support for PEBS via PT (Michael Petlan) [1743210] - [tools] perf intel-pt: Add Intel PT packet decoder test (Michael Petlan) [1743210] - [tools] perf intel-pt: Add new packets for PEBS via PT (Michael Petlan) [1743210] - [tools] perf tests arm64: Compile tests unconditionally (Michael Petlan) [1743210] - [tools] perf trace: Skip unknown syscalls when expanding strace like syscall groups (Michael Petlan) [1743210] - [tools] perf report: Support s390 diag event display on x86 (Michael Petlan) [1743210] - [tools] perf report: Fix OOM error in TUI mode on s390 (Michael Petlan) [1743210] - [tools] perf test 6: Fix missing kvm module load for s390 (Michael Petlan) [1743210] - [tools] perf time-utils: Add support for multiple explicit time intervals (Michael Petlan) [1743210] - [tools] perf tests: Add a test for time-utils (Michael Petlan) [1743210] - [tools] perf time-utils: Make perf_time__parse_for_ranges() more logical (Michael Petlan) [1743210] - [tools] perf time-utils: Simplify perf_time__parse_for_ranges() error paths slightly (Michael Petlan) [1743210] - [tools] perf time-utils: Fix --time documentation (Michael Petlan) [1743210] - [tools] perf time-utils: Prevent percentage time range overlap (Michael Petlan) [1743210] - [tools] perf time-utils: Factor out set_percent_time() (Michael Petlan) [1743210] - [tools] perf time-utils: Treat time ranges consistently (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for efficient time interval filtering (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for lookahead (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_get_buffer() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add intel_pt_fast_forward() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add reposition parameter to intel_pt_get_data() (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_reposition() (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_8b_tsc() (Michael Petlan) [1743210] - [tools] perf intel-pt: Add lookahead callback (Michael Petlan) [1743210] - [tools] perf report: Set perf time interval in itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf script: Set perf time interval in itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf auxtrace: Add perf time interval to itrace_synth_ops (Michael Petlan) [1743210] - [tools] perf config: Update default value for llvm.clang-bpf-cmd-template (Michael Petlan) [1743210] - [tools] perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode (Michael Petlan) [1743210] - [tools] perf data: Fix perf.data documentation for HEADER_CPU_TOPOLOGY (Michael Petlan) [1743210] - [tools] perf tools: Apply new CPU topology sysfs attributes (Michael Petlan) [1743210] - [tools] perf header: Rename "sibling cores" to "sibling sockets" (Michael Petlan) [1743210] - [tools] perf stat: Support per-die aggregation (Michael Petlan) [1743210] - [tools] perf header: Add die information in CPU topology (Michael Petlan) [1743210] - [tools] perf cpumap: Retrieve die id information (Michael Petlan) [1743210] - [tools] perf evsel: Remove superfluous nthreads system_wide setup in alloc_fd() (Michael Petlan) [1743210] - [tools] perf record: Add support to collect callchains from kernel or user space only (Michael Petlan) [1743210] - [tools] perf config: Bail out when a handler returns failure for a key-value pair (Michael Petlan) [1743210] - [tools] perf trace: Exit when failing to build eBPF program (Michael Petlan) [1743210] - [tools] perf trace: Associate more argument names with the filename beautifier (Michael Petlan) [1743210] - [tools] perf trace: Consume the augmented_raw_syscalls payload (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Move reading filename to the loop (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Change helper to consider just the augmented_filename part (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Move the probe_read_str to a separate function (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Tell which args are filenames and how many bytes to copy (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Select find text when find bar is activated (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to Call Tree (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to Call Graph Graph (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add CallGraphModelParams (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add IPC information to the Branch reports (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Export IPC information (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Export IPC information (Michael Petlan) [1743210] - [tools] perf db-export: Export IPC information (Michael Petlan) [1743210] - [tools] perf db-export: Add brief documentation (Michael Petlan) [1743210] - [tools] perf thread-stack: Accumulate IPC information (Michael Petlan) [1743210] - [tools] perf intel-pt: Document IPC usage (Michael Petlan) [1743210] - [tools] perf intel-pt: Accumulate cycle count from TSC/TMA/MTC packets (Michael Petlan) [1743210] - [tools] perf intel-pt: Re-factor TIP cases in intel_pt_walk_to_ip (Michael Petlan) [1743210] - [tools] perf intel-pt: Record when decoding PSB+ packets (Michael Petlan) [1743210] - [tools] perf script: Add output of IPC ratio (Michael Petlan) [1743210] - [tools] perf intel-pt: Add support for samples to contain IPC ratio (Michael Petlan) [1743210] - [tools] perf tools: Add IPC information to perf_sample (Michael Petlan) [1743210] - [tools] perf intel-pt: Accumulate cycle count from CYC packets (Michael Petlan) [1743210] - [tools] perf intel-pt: Factor out intel_pt_update_sample_time (Michael Petlan) [1743210] - [tools] perf record: Allow mixing --user-regs with --call-graph=dwarf (Michael Petlan) [1743210] - [tools] perf symbols: Remove unused variable 'err' (Michael Petlan) [1743210] - [tools] perf data: document directory format header: HEADER_DIR_FORMAT (Michael Petlan) [1743210] - [tools] perf data: document clockid header: HEADER_CLOCKID (Michael Petlan) [1743210] - [tools] perf data: document memory topology header: HEADER_MEM_TOPOLOGY (Michael Petlan) [1743210] - [tools] perf data: Add description of header HEADER_BPF_PROG_INFO and HEADER_BPF_BTF (Michael Petlan) [1743210] - [tools] perf intel-pt: Rationalize intel_pt_sync_switch()'s use of next_tid (Michael Petlan) [1743210] - [tools] perf intel-pt: Improve sync_switch by processing PERF_RECORD_SWITCH* in events (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-postgresql.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: export-to-sqlite.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Add support for pyside2 (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Use argparse module for argument parsing (Michael Petlan) [1743210] - [tools] perf scripts python: exported-sql-viewer.py: Change python2 to python (Michael Petlan) [1743210] - [tools] perf top: Lower message level for failure on synthesizing events for pre-existing BPF programs (Michael Petlan) [1743210] - [tools] perf machine: Return NULL instead of null-terminating /proc/version array (Michael Petlan) [1743210] - [tools] perf version: Append 12 git SHA chars to the version string (Michael Petlan) [1743210] - [tools] perf script: Remove superfluous BPF event titles (Michael Petlan) [1743210] - [tools] perf script: Add --show-bpf-events to show eBPF related events (Michael Petlan) [1743210] - [tools] perf tests: Add map_groups__merge_in test (Michael Petlan) [1743210] - [tools] perf script: Pad DSO name for --call-trace (Michael Petlan) [1743210] - [tools] perf dso: Add BPF DSO read and size hooks (Michael Petlan) [1743210] - [tools] perf dso: Simplify dso_cache__read function (Michael Petlan) [1743210] - [tools] perf dso: Separate generic code in dso_cache__read (Michael Petlan) [1743210] - [tools] perf dso: Separate generic code in dso__data_file_size() (Michael Petlan) [1743210] - [tools] perf tools: Remove const from thread read accessors (Michael Petlan) [1743210] - [tools] perf top: Add --namespaces option (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for sync_file_range's 'flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fsmount' arguments (Michael Petlan) [1743210] - [tools] perf trace: Introduce syscall_arg__scnprintf_strarray_flags (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fsmount's 'attr_flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fsconfig' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fsconfig's 'cmd' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'fspick' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for fspick's 'flags' arg values (Michael Petlan) [1743210] - [tools] perf trace: Beautify 'move_mount' arguments (Michael Petlan) [1743210] - [tools] perf beauty: Add generator for 'move_mount' flags argument (Michael Petlan) [1743210] - [tools] perf augmented_raw_syscalls: Fix up comment (Michael Petlan) [1743210] - [tools] perf tools: Preserve eBPF maps when loading kcore (Michael Petlan) [1743210] - [tools] perf machine: Keep zero in pgoff BPF map (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix itrace defaults for perf script intel-pt documentation (Michael Petlan) [1743210] - [tools] perf auxtrace: Fix itrace defaults for perf script (Michael Petlan) [1743210] - [tools] perf intel-pt: Fix itrace defaults for perf script (Michael Petlan) [1743210] - [tools] perf-with-kcore.sh: Always allow fix_buildid_cache_permissions (Michael Petlan) [1743210] - [tools] tools build: Check if gettid() is available before providing helper (Michael Petlan) [1743210] - [tools] tools build feature: Check if get_current_dir_name() is available (Michael Petlan) [1743210] - [tools] perf jvmti: Address gcc string overflow warning for strncpy() (Michael Petlan) [1743210] - [tools] perf python: Remove -fstack-protector-strong if clang doesn't have it (Michael Petlan) [1743210] - [tools] perf annotate tui browser: Do not use member from variable within its own initialization (Michael Petlan) [1743210] - [tools] perf thread: Allow references to thread objects after machine__exit() (Michael Petlan) [1743210] - [fs] sysfs: Fix internal_create_group() for named group updates (Michael Petlan) [1743210] - [x86] perf/x86/intel: Support PEBS output to PT (Michael Petlan) [1743210] - [kernel] perf: Allow normal events to output AUX data (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Handle erratum #420 only on the affected CPU family (10h) (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Fix reading of the IBS OpData register and thus precise RIP validity (Michael Petlan) [1743210] - [kernel] perf/hw_breakpoint: Fix arch_hw_breakpoint use-before-initialization (Michael Petlan) [1743210] - [x86] perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops (Michael Petlan) [1743210] - [x86] perf/x86/intel: Restrict period on Nehalem (Michael Petlan) [1743210] - [x86] perf/x86: Fix typo in comment (Michael Petlan) [1743210] - [kernel] perf/core: Fix creating kernel counters for PMUs that override event->cpu (Michael Petlan) [1743210] - [x86] perf/x86: Apply more accurate check on hypervisor platform (Michael Petlan) [1743210] - [x86] perf/x86/intel: Fix invalid Bit 13 for Icelake MSR_OFFCORE_RSP_x register (Michael Petlan) [1743210] - [x86] perf/x86/intel: Fix SLOTS PEBS event constraint (Michael Petlan) [1743210] - [x86] perf/x86/intel: Mark expected switch fall-throughs (Michael Petlan) [1743210] - [kernel] perf_event_get(): don't bother with fget_raw() (Michael Petlan) [1743210] - [kernel] perf/core: Fix exclusive events' grouping (Michael Petlan) [1743210] - [x86] perf/x86/amd/uncore: Set the thread mask for F17h L3 PMCs (Michael Petlan) [1743210] - [perf] x86/amd/uncore: Do not set 'ThreadMask' and 'SliceMask' for non-L3 PMCs (Michael Petlan) [1743210] - [kernel] perf/core: Fix race between close() and fork() (Michael Petlan) [1743210] - [perf] cgroups: Don't rotate events for cgroups unnecessarily (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get quirk state from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get attributes from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get MSR values from new probe framework (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Get rapl_cntr_mask from new probe framework (Michael Petlan) [1743210] - [x86] intel: Aggregate big core client naming (Michael Petlan) [1743210] - [x86] perf/x86/rapl: Use new MSR detection interface (Michael Petlan) [1743210] - [x86] perf/x86/cstate: Use new probe function (Michael Petlan) [1743210] - [x86] perf/x86/msr: Use new probe function (Michael Petlan) [1743210] - [x86] perf/x86: Add MSR probe interface (Michael Petlan) [1743210] - [x86] perf/x86/intel: Disable check_msr for real HW (Michael Petlan) [1743210] - [x86] perf/x86/intel: Use ->is_visible callback for default group (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Clean up client IMC (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Support MMIO type uncore blocks (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Factor out box ref/unref functions (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add uncore support for Snow Ridge server (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Handle invalid event coding for free-running counter (Michael Petlan) [1743210] - [x86] perf/x86/intel: Add more Icelake CPUIDs (Michael Petlan) [1743210] - [x86] perf/x86/intel: Add Icelake desktop CPUID (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for default attributes (Michael Petlan) [1743210] - [x86] perf/x86/intel: Use update attributes for skylake format (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for extra format (Michael Petlan) [1743210] - [x86] perf/x86: Use update attribute groups for caps (Michael Petlan) [1743210] - [x86] perf/x86: Add is_visible attribute_group callback for base events (Michael Petlan) [1743210] - [x86] perf/x86: Use the new pmu::update_attrs attribute group (Michael Petlan) [1743210] - [x86] perf/x86: Get rid of x86_pmu::event_attrs (Michael Petlan) [1743210] - [x86] perf/x86/regs: Check reserved bits (Michael Petlan) [1743210] - [fs] sysfs: Add sysfs_update_groups function (Michael Petlan) [1743210] - [kernel] perf/core: Add attr_groups_update into struct pmu (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add new IMC PCI IDs for KabyLake, AmberLake and WhiskeyLake CPUs (Michael Petlan) [1743210] - [x86] perf/x86/intel/uncore: Add tabs to Uncore IMC PCI IDs (Michael Petlan) [1743210] - [kernel] perf/core: Allow non-privileged uprobe for user processes (Michael Petlan) [1743210] - [x86] perf/x86: Add Intel Ice Lake NNPI uncore support (Michael Petlan) [1743210] - [perf] arm_pmu: acpi: spe: Add initial MADT/SPE probing (Michael Petlan) [1743210] - [netdrv] mwifiex: fix possible heap overflow in mwifiex_process_country_ie() (Jarod Wilson) [1776210] {CVE-2019-14895} - [kernel] crash_core: Make S390 share the same crashkernel=auto reservation policy as X86_64 (Baoquan He) [1780432] - [s390] kasan: avoid report in get_wchan (Philipp Rudo) [1780112 1780111] - [s390] process: avoid potential reading of freed stack (Philipp Rudo) [1780112] - [fs] cifs: don't use 'pre:' for MODULE_SOFTDEP (Leif Sahlberg) [1767094] - [hwmon] Do not output deprecated warning for hwmon_device_register() (Prarit Bhargava) [1778295] - [scsi] lpfc: size cpu map by last cpu id set (Dick Kennedy) [1778912] - [scsi] lpfc: use hdwq assigned cpu for allocation (Dick Kennedy) [1778908] - [scsi] be2iscsi: Include null char in SET_HOST_DATA (Maurizio Lombardi) [1776358] - [netdrv] vmxnet3: turn off lro when rxcsum is disabled (Neil Horman) [1776056] - [mmc] sdhci-pci: Add another Id for Intel CML (Alexander Beregalov) [1766718] - [x86] kvm: untaint kernel for tech-preview when using nested VMX (Paolo Bonzini) [1726756] - [powerpc] kvm: ppc: book3s hv: xive: Fix potential page leak on error path (Laurent Vivier) [1760202] - [powerpc] kvm: ppc: book3s hv: xive: Free previous EQ page when setting up a new one (Laurent Vivier) [1760202] - [virt] kvm: arm/arm64: vgic: Don't rely on the wrong pending table (Auger Eric) [1777059] - [x86] kvm: x86: remove set but not used variable 'called' (Nitesh Narayan Lal) [1773677] - [x86] kvm: x86: Zero the IOAPIC scan request dest vCPUs bitmap (Nitesh Narayan Lal) [1773677] - [x86] kvm: x86: deliver KVM IOAPIC scan request to target vCPUs (Nitesh Narayan Lal) [1773677] - [kernel] kvm: remember position in kvm->vcpus array (Nitesh Narayan Lal) [1773677] - [kernel] watchdog: Reduce message verbosity (Vitaly Kuznetsov) [1774915]- [fs] binfmt_elf: Do not move brk for INTERP-less ET_EXEC (Waiman Long) [1749633] - [fs] binfmt_elf: move brk out of mmap when doing direct loader exec (Waiman Long) [1749633] - [gpu] drm/i915/cmdparser: Fix jump whitelist clearing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/gen8+: Add RC6 CTX corruption WA (Dave Airlie) [1756805] {CVE-2019-0154} - [gpu] drm/i915: Lower RM timeout to avoid DSI hard hangs (Dave Airlie) [1756805] {CVE-2019-0154} - [gpu] drm/i915/cmdparser: Ignore Length operands during command matching (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/cmdparser: Add support for backward jumps (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915/cmdparser: Use explicit goto for error paths (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Add gen9 BCS cmdparsing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Allow parsing of unsized batches (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Support ro ppgtt mapped cmdparser shadow buffers (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Add support for mandatory cmdparsing (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Remove Master tables from cmdparser (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Disable Secure Batches for gen6+ (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] drm/i915: Rename gen7 cmdparser tables (Dave Airlie) [1756873] {CVE-2019-0155} - [gpu] [drm] radeon: fix bad DMA from INTERRUPT_CNTL2 (Sam Bobroff) [1293697] - [netdrv] mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() (Jarod Wilson) [1776162] {CVE-2019-14901} - [netdrv] mlx4_en: Fix wrong limitation for number of TX rings (Mohammad Heib) [1776822] - [netdrv] mlx4_en: fix mlx4 ethtool -N insertion (Mohammad Heib) [1776822] - [netdrv] mlx4_core: fix wrong comment about the reason of subtract one from the max_cqes (Mohammad Heib) [1776822] - [netdrv] ibmvnic: Serialize device queries (Steve Best) [1778037] - [netdrv] ibmvnic: Bound waits for device queries (Steve Best) [1778037] - [netdrv] ibmvnic: Terminate waiting device threads after loss of service (Steve Best) [1778037] - [netdrv] ibmvnic: Fix completion structure initialization (Steve Best) [1778037] - [netdrv] ibmvnic: Ignore H_FUNCTION return from H_EOI to tolerate XIVE mode (Steve Best) [1778037] - [netdrv] revert "net/ibmvnic: Fix EOI when running in XIVE mode" (Steve Best) [1778037] - [netdrv] cnic: Set fp_hsi_ver as part of CLIENT_SETUP ramrod (Manish Chopra) [1770797] - [netdrv] bnx2x: Fix PF-VF communication over multi-cos queues (Manish Chopra) [1770797] - [netdrv] bnx2x: Enable Multi-Cos feature (Manish Chopra) [1770797] - [netdrv] bnx2x: Utilize FW 7.13.15.0 (Manish Chopra) [1770797] - [fs] seq_file: fix problem when seeking mid-record (Bill O'Donnell) [1753822] - [documentation] fs/seq_file.c: simplify seq_file iteration code and interface (Bill O'Donnell) [1753822] - [scripts] kbuild: replace BASH-specific ${@:2} with shift and ${@} (Jiri Olsa) [1739493] - [scripts] btf: do not use CONFIG_OUTPUT_FORMAT (Jiri Olsa) [1739493] - [kernel] btf: fix return value check in btf_vmlinux_init() (Jiri Olsa) [1739493] - [kernel] btf: rename /sys/kernel/btf/kernel into /sys/kernel/btf/vmlinux (Jiri Olsa) [1739493] - [scripts] btf: expose BTF info through sysfs (Jiri Olsa) [1739493] - [netdrv] qede: fix NULL pointer deref in __qede_remove() (Manish Chopra) [1769203] - [gpu] cleanup: Remove .rej files (Prarit Bhargava) [1779738] - [lib] string: Add strscpy_pad() function (Josef Oskera) [1764588] - [char] virtio_console: allocate inbufs in add_port() only if it is needed (Pankaj Gupta) [1612795] - [fs] xfs: add kmem_alloc_io() (Bill O'Donnell) [1583556] - [fs] xfs: make mem_to_page available outside of xfs_buf.c (Bill O'Donnell) [1583556] - [fs] xfs: get allocation alignment from the buftarg (Bill O'Donnell) [1583556] - [fs] xfs: add kmem_alloc_io() (Bill O'Donnell) [1583556] - [fs] cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs (Leif Sahlberg) [1765979] - [fs] cifs: avoid using MID 0xFFFF (Leif Sahlberg) [1765979] - [fs] cifs: Fix retry mid list corruption on reconnects (Leif Sahlberg) [1765979] - [fs] nfsd: allow fh_want_write to be called twice ("J. Bruce Fields") [1699222] - [net] revert "sunrpc: Fix up task signalling" (Dave Wysochanski) [1776067] - [s390] kasan: support memcpy_real with TRACE_IRQFLAGS (Philipp Rudo) [1777468] - [s390] kasan: add kdump support (Philipp Rudo) [1777468] - [s390] idle: fix cpu idle time calculation (Philipp Rudo) [1777361] - [s390] kaslr: add support for R_390_GLOB_DAT relocation type (Philipp Rudo) [1777467] - [x86] jump_label: Make tp_vec_nr static (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Batch jump label updates (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Batch updates if arch supports it (Daniel Bristot de Oliveira) [1731860] - [x86] alternative: Batch of patch operations (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Sort entries of the same key by the code (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Add a __jump_label_set_jump_code() helper (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Don't warn on __exit jump entries (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Add a jump_label_can_update() helper (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Remove the return value of text_poke_*() (Daniel Bristot de Oliveira) [1731860] - [x86] jump-label: Remove support for custom text poker (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Use text_poke_early() during early init (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Add text_poke_kgdb() to not assert the lock when debugging (Daniel Bristot de Oliveira) [1731860] - [x86] kprobes: Prohibit probing on functions before kprobe_int3_handler() (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Fix NULL dereference bug in __jump_label_mod_update() (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Annotate entries that operate on __init code earlier (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Switch to jump_entry accessors (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Implement generic support for relative references (Daniel Bristot de Oliveira) [1731860] - [kernel] jump_label: Abstract jump_entry member accessors (Daniel Bristot de Oliveira) [1731860] - [x86] alternatives: Lockdep-enforce text_mutex in text_poke*() (Daniel Bristot de Oliveira) [1731860] - [x86] revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized" (Daniel Bristot de Oliveira) [1731860] - [x86] jump_label: Initialize static branching early (Vitaly Kuznetsov) [1777260] - [x86] speculation: Fix redundant MDS mitigation message (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation: Fix incorrect MDS/TAA mitigation status (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] tsx: Add config options to set tsx=on|off|auto (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [documentation] x86/speculation/taa: Add documentation for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] tsx: Add "auto" option to the tsx= cmdline parameter (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Add sysfs reporting for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] speculation/taa: Add mitigation for TSX Async Abort (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] cpu: Add a "tsx=" cmdline option with TSX disabled by default (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] cpu: Add a helper function x86_read_arch_cap_msr() (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [x86] msr: Add the IA32_TSX_CTRL MSR (Josh Poimboeuf) [1766551] {CVE-2019-11135} - [powerpc] xive: Prevent page fault issues in the machine crash handler (Diego Domingos) [1756116] - [tools] Fix memcpy_mcsafe_64.S link on selftests (Desnes Augusto Nunes do Rosario) [1775570]- [powerpc] perf: Fix loop exit condition in nest_imc_event_init (Steve Best) [1778609] - [net] netfilter: nf_tables: Add missing nft_tproxy Makefile line (Phil Sutter) [1762977]- [x86] kdump: Remove the backup region handling (Lianbo Jiang) [1730143] - [x86] kdump: Always reserve the low 1M when the crashkernel option is specified (Lianbo Jiang) [1730143] - [x86] crash: Add a forward declaration of struct kimage (Lianbo Jiang) [1730143] - [x86] kdump: Remove the unused crash_copy_backup_region() (Lianbo Jiang) [1730143] - [pci] p2pdma: Fix missing check for dma_virt_ops (Don Dutile) [1754734] - [pci] p2pdma: use the dev_pagemap internal refcount (Don Dutile) [1754734] - [pci] memremap: pass a struct dev_pagemap to ->kill and ->cleanup (Don Dutile) [1754734] - [pci] memremap: move dev_pagemap callbacks into a separate structure (Don Dutile) [1754734] - [pci] mm/devm_memremap_pages: fix final page put race (Don Dutile) [1754734] - [pci] p2pdma: track pgmap references per resource, not globally (Don Dutile) [1754734] - [pci] p2pdma: fix the gen_pool_add_virt() failure path (Don Dutile) [1754734] - [pci] mm, hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL (Don Dutile) [1754734] - [lib] genalloc.c: Add algorithm, align and zeroed family of DMA allocators (Don Dutile) [1754732] - [lib] genalloc.c: include vmalloc.h (Don Dutile) [1754732] - [lib] genalloc.c: use vzalloc_node() to allocate the bitmap (Don Dutile) [1754732] - [md] dm table: propagate BDI_CAP_STABLE_WRITES to fix sporadic checksum errors (Mike Snitzer) [1770210] - [fs] gfs2: fix race between gfs2_freeze_func and unmount (Abhijith Das) [1676972] - [fs] cifs: smbd: Retry on memory registration failure (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Indicate to retry on transport sending failure (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Return EINTR when interrupted (Leif Sahlberg) [1771772] - [fs] cifs: smbd: Don't destroy transport on RDMA disconnect (Leif Sahlberg) [1771772] - [lib] crc-t10dif: crc_t10dif_mutex can be static (Vladis Dronov) [1769462] - [lib] crc-t10dif: Allow current transform to be inspected in sysfs (Vladis Dronov) [1769462] - [lib] crc-t10dif: Pick better transform if one becomes available (Vladis Dronov) [1769462] - [crypto] api - Introduce notifier for new crypto algorithms (Vladis Dronov) [1769462] - [netdrv] e1000e: Drop unnecessary __E1000_DOWN bit twiddling (Ken Cox) [1748256] - [netdrv] e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm (Ken Cox) [1748256]- [powerpc] pseries: safely roll back failed DLPAR cpu add (Steve Best) [1772341] - [powerpc] pseries: address checkpatch warnings in dlpar_offline_cpu (Steve Best) [1772341] - [scsi] storvsc: setup 1:1 mapping between hardware queue and CPU queue (Cathy Avery) [1771503] - [scsi] storvsc: Add ability to change scsi queue depth (Cathy Avery) [1771503] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 320 (Cathy Avery) [1771503] - [scsi] smartpqi: bump version (Don Brace) [1725045] - [scsi] smartpqi: Align driver syntax with oob (Don Brace) [1725045] - [scsi] smartpqi: remove unused manifest constants (Don Brace) [1725045] - [scsi] smartpqi: fix problem with unique ID for physical device (Don Brace) [1725045] - [scsi] smartpqi: correct syntax issue (Don Brace) [1725045] - [scsi] smartpqi: change TMF timeout from 60 to 30 seconds (Don Brace) [1725045] - [scsi] smartpqi: fix LUN reset when fw bkgnd thread is hung (Don Brace) [1725045] - [scsi] smartpqi: add inquiry timeouts (Don Brace) [1725045] - [scsi] smartpqi: fix call trace in device discovery (Don Brace) [1725045] - [scsi] smartpqi: fix controller lockup observed during force reboot (Don Brace) [1725045] - [scsi] smartpqi: clean up an indentation issue (Don Brace) [1725045] - [scsi] smartpqi: remove set but not used variable 'ctrl_info' (Don Brace) [1725045] - [scsi] smartpqi: clean up indentation of a statement (Don Brace) [1725045] - [scsi] smartpqi: bump version (Don Brace) [1725045] - [scsi] smartpqi: update copyright (Don Brace) [1725045] - [scsi] smartpqi: add new pci ids (Don Brace) [1725045] - [scsi] smartpqi: correct REGNEWD return status (Don Brace) [1725045] - [scsi] smartpqi: add gigabyte controller (Don Brace) [1725045] - [scsi] smartpqi: correct hang when deleting 32 lds (Don Brace) [1725045] - [scsi] smartpqi: add bay identifier (Don Brace) [1725045] - [scsi] smartpqi: add sysfs entries (Don Brace) [1725045] - [scsi] smartpqi: add module param to hide vsep (Don Brace) [1725045] - [scsi] smartpqi: add pci ids for fiberhome controller (Don Brace) [1725045] - [scsi] smartpqi: add module param for exposure order (Don Brace) [1725045] - [scsi] smartpqi: unlock on error in pqi_submit_raid_request_synchronous() (Don Brace) [1725045] - [scsi] smartpqi: Reporting unhandled SCSI errors (Don Brace) [1725045] - [scsi] mpt3sas: Bump mpt3sas driver version to 32.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix module parameter max_msix_vectors (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reject NVMe Encap cmnds to unsupported HBA (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use Component img header to get Package ver (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fail release cmnd if diag buffer is released (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add app owned flag support for diag buffer (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reuse diag buffer allocated at load time (Tomas Henzl) [1725737] - [scsi] mpt3sas: clear release bit when buffer reregistered (Tomas Henzl) [1725737] - [scsi] mpt3sas: Maintain owner of buffer through UniqueID (Tomas Henzl) [1725737] - [scsi] mpt3sas: Free diag buffer without any status check (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix clear pending bit in ioctl status (Tomas Henzl) [1725737] - [scsi] mpt3sas: Display message before releasing diag buffer (Tomas Henzl) [1725737] - [scsi] mpt3sas: Register trace buffer based on NVDATA settings (Tomas Henzl) [1725737] - [scsi] mpt3sas: Introduce module parameter to override queue depth (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update driver version to 31.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Run SAS DEVICE STATUS CHANGE EVENT from ISR (Tomas Henzl) [1725737] - [scsi] mpt3sas: Reduce the performance drop (Tomas Henzl) [1725737] - [scsi] mpt3sas: Handle fault during HBA initialization (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add sysfs to know supported features (Tomas Henzl) [1725737] - [scsi] mpt3sas: Support MEMORY MOVE Tool box command (Tomas Henzl) [1725737] - [scsi] mpt3sas: Allow ioctls to blocked access status NVMe (Tomas Henzl) [1725737] - [scsi] mpt3sas: Enumerate SES of a managed PCIe switch (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update MPI headers to 2.6.8 spec (Tomas Henzl) [1725737] - [scsi] mpt3sas: Gracefully handle online firmware update (Tomas Henzl) [1725737] - [scsi] mpt3sas: memset request frame before reusing (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add support for PCIe Lane margin (Tomas Henzl) [1725737] - [scsi] mpt3sas: support target smid for [abort|query] task (Tomas Henzl) [1725737] - [scsi] mpt3sas: clean up a couple sizeof() uses (Tomas Henzl) [1725737] - [scsi] mpt3sas: Fix msix load balance on and off settings (Tomas Henzl) [1725737] - [scsi] mpt3sas: Determine smp affinity on per HBA basis (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use configured PCIe link speed, not max (Tomas Henzl) [1725737] - [scsi] mpt3sas: Remove CPU arch check to determine perf_mode (Tomas Henzl) [1725737] - [scsi] mpt3sas: use DEVICE_ATTR_{RO, RW} (Tomas Henzl) [1725737] - [scsi] mpt3sas: make driver options visible in sys (Tomas Henzl) [1725737] - [scsi] mpt3sas: Mark expected switch fall-through (Tomas Henzl) [1725737] - [scsi] mpt3sas: Update driver version to 29.100.00.00 (Tomas Henzl) [1725737] - [scsi] mpt3sas: Introduce perf_mode module parameter (Tomas Henzl) [1725737] - [scsi] mpt3sas: Enable interrupt coalescing on high iops (Tomas Henzl) [1725737] - [scsi] mpt3sas: Affinity high iops queues IRQs to local node (Tomas Henzl) [1725737] - [scsi] mpt3sas: save and use MSI-X index for posting RD (Tomas Henzl) [1725737] - [scsi] mpt3sas: Use high iops queues under some circumstances (Tomas Henzl) [1725737] - [scsi] mpt3sas: change _base_get_msix_index prototype (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add flag high_iops_queues (Tomas Henzl) [1725737] - [scsi] mpt3sas: Add Atomic RequestDescriptor support on Aero (Tomas Henzl) [1725737] - [scsi] mpt3sas: function pointers of request descriptor (Tomas Henzl) [1725737] - [scsi] mpt3sas_ctl: fix double-fetch bug in _ctl_ioctl_main() (Tomas Henzl) [1725737] - [md] revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" (Mike Snitzer) [1775756] - [md] dm thin: wakeup worker only when deferred bios exist (Mike Snitzer) [1775756] - [md] dm raid: Remove unnecessary negation of a shift in raid10_format_to_md_layout (Mike Snitzer) [1775756] - [md] dm writecache: handle REQ_FUA (Mike Snitzer) [1775756] - [md] dm writecache: fix uninitialized variable warning (Mike Snitzer) [1775756] - [md] dm stripe: use struct_size() in kmalloc() (Mike Snitzer) [1775756] - [md] dm table: do not allow request-based DM to stack on partitions (Mike Snitzer) [1775756] - [md] dm cache: fix bugs when a GFP_NOWAIT allocation fails (Mike Snitzer) [1775756] - [md] dm writecache: skip writecache_wait for pmem mode (Mike Snitzer) [1775756] - [md] dm stats: use struct_size() helper (Mike Snitzer) [1775756] - [md] dm space map common: remove check for impossible sm_find_free() return value (Mike Snitzer) [1775756] - [md] dm raid1: use struct_size() with kzalloc() (Mike Snitzer) [1775756] - [md] dm writecache: optimize performance by sorting the blocks for writeback_all (Mike Snitzer) [1775756] - [md] dm writecache: add unlikely for getting two block with same LBA (Mike Snitzer) [1775756] - [md] dm writecache: remove unused member pointer in writeback_struct (Mike Snitzer) [1775756] - [md] dm: make dm_table_find_target return NULL (Mike Snitzer) [1775756] - [md] dm table: fix invalid memory accesses with too high sector number (Mike Snitzer) [1775756] - [md] dm space map metadata: fix missing store of apply_bops() return value (Mike Snitzer) [1775756] - [md] dm btree: fix order of block initialization in btree_split_beneath (Mike Snitzer) [1775756] - [md] dm raid: add missing cleanup in raid_ctr() (Mike Snitzer) [1775756] - [md] dm kcopyd: always complete failed jobs (Mike Snitzer) [1775756] - [md] dm crypt: remove obsolete comment about plumb IV (Mike Snitzer) [1775756] - [md] dm crypt: wipe private IV struct after key invalid flag is set (Mike Snitzer) [1775756] - [md] dm: update stale comment in end_clone_bio() (Mike Snitzer) [1775756] - [md] dm log writes: fix incorrect comment about the logged sequence example (Mike Snitzer) [1775756] - [md] dm log writes: use struct_size() to calculate size of pending_block (Mike Snitzer) [1775756] - [md] dm crypt: use struct_size() when allocating encryption context (Mike Snitzer) [1775756] - [md] dm thin metadata: check if in fail_io mode when setting needs_check (Mike Snitzer) [1775756] - [md] dm verity: use message limit for data block corruption message (Mike Snitzer) [1775756] - [md] dm log writes: make sure super sector log updates are written in order (Mike Snitzer) [1775756] - [md] dm: fix a couple brace coding style issues (Mike Snitzer) [1775756] - [md] dm crypt: print device name in integrity error message (Mike Snitzer) [1775756] - [documentation] dm integrity: update documentation (Mike Snitzer) [1775756] - [md] dm integrity: don't report unused options (Mike Snitzer) [1775756] - [md] dm integrity: don't check null pointer before kvfree and vfree (Mike Snitzer) [1775756] - [md] dm integrity: correctly calculate the size of metadata area (Mike Snitzer) [1775756] - [md] dm mpath: always free attached_handler_name in parse_path() (Mike Snitzer) [1775756] - [md] dm writecache: avoid unnecessary lookups in writecache_find_entry() (Mike Snitzer) [1775756] - [md] dm writecache: remove unused member page_offset in writeback_struct (Mike Snitzer) [1775756] - [md] dm delay: fix a crash when invalid device is specified (Mike Snitzer) [1775756] - [md] dm: only initialize md->dax_dev if CONFIG_DAX_DRIVER is enabled (Mike Snitzer) [1775756] - [md] dm writecache: add unlikely for returned value of rb_next_prev (Mike Snitzer) [1775756] - [md] dm writecache: remove needless dereferences in __writecache_writeback_pmem() (Mike Snitzer) [1775756] - [md] dm crypt: fix endianness annotations around org_sector_of_dmreq (Mike Snitzer) [1775756] - [md] dm integrity: fix deadlock with overlapping I_O (Mike Snitzer) [1775756] - [md] dm: disable DISCARD if the underlying storage no longer supports it (Mike Snitzer) [1775756] - [md] dm: revert 8f50e358153d ("dm: limit the max bio size as BIO_MAX_PAGES * PAGE_SIZE") (Mike Snitzer) [1775756] - [md] dm integrity: make dm_integrity_init and dm_integrity_exit static (Mike Snitzer) [1775756] - [md] dm integrity: change memcmp to strncmp in dm_integrity_ctr (Mike Snitzer) [1775756] - [x86] platform/uv: Account for UV Hubless in is_uvX_hub Ops (Frank Ramsay) [1757510] - [x86] platform/uv: Check EFI Boot to set reboot type (Frank Ramsay) [1757510] - [x86] platform/uv: Decode UVsystab Info (Frank Ramsay) [1757510] - [x86] platform/uv: Add UV Hubbed/Hubless Proc FS Files (Frank Ramsay) [1757510] - [x86] platform/uv: Setup UV functions for Hubless UV Systems (Frank Ramsay) [1757510] - [x86] platform/uv: Add return code to UV BIOS Init function (Frank Ramsay) [1757510] - [x86] platform/uv: Return UV Hubless System Type (Frank Ramsay) [1757510] - [x86] platform/uv: Save OEM_ID from ACPI MADT probe (Frank Ramsay) [1757510] - [x86] mm: Handle physical-virtual alignment mismatch in phys_p4d_init() (Baoquan He) [1685383] - [x86] mm/kaslr: Reduce randomization granularity for 5-level paging to 1GB (Baoquan He) [1685383] - [x86] mm/kaslr: Use only one PUD entry for real mode trampoline (Baoquan He) [1685383] - [documentation] documentation/stackprotector: powerpc supports stack protector (Bhupesh Sharma) [1714310] - [makefile] kbuild: mark prepare0 as PHONY to fix external module build (Bhupesh Sharma) [1714310] - [makefile] kbuild: fix single target build for external module (Bhupesh Sharma) [1714310] - [arm64] enable per-task stack canaries (Bhupesh Sharma) [1714310] - [powerpc] Fix stack protector crashes on CPU hotplug (Bhupesh Sharma) [1714310] - [powerpc] 64: properly initialise the stackprotector canary on SMP (Bhupesh Sharma) [1714310] - [powerpc] Fix stackprotector detection for non-glibc toolchains (Bhupesh Sharma) [1714310] - [powerpc] 64: add stack protector support (Bhupesh Sharma) [1714310] - [powerpc] 32: add stack protector support (Bhupesh Sharma) [1714310] - [pci] vmd: Fix shadow offsets to reflect spec changes (Myron Stowe) [1757896] - [pci] vmd: Fix config addressing when using bus offsets (Myron Stowe) [1757896] - [pci] Fix typos and whitespace errors (Myron Stowe) [1757896] - [pci] vmd: use the proper dma_* APIs instead of direct methods calls (Myron Stowe) [1757896] - [powerpc] powernv: Disable native PCIe port management (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix eeh eeh_debugfs_break_device() with SRIOV devices (Gustavo Duarte) [1524642] - [tools] selftests/powerpc: Add basic EEH selftest (Gustavo Duarte) [1524642] - [powerpc] eeh: Add a eeh_dev_break debugfs interface (Gustavo Duarte) [1524642] - [powerpc] eeh: Add debugfs interface to run an EEH check (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix debugfs_simple_attr.cocci warnings (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix build with STACKTRACE=n (Gustavo Duarte) [1524642] - [powerpc] eeh: Set attention indicator while recovering (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add attention indicator support (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add support for IODA3 Power9 PHBs (Gustavo Duarte) [1524642] - [pci] pci-hotplug/pnv_php: Add a reset_slot() callback (Gustavo Duarte) [1524642] - [powerpc] powernv/eeh: Use generic code to handle hot resets (Gustavo Duarte) [1524642] - [powerpc] eeh: Remove stale CAPI comment (Gustavo Duarte) [1524642] - [powerpc] eeh: Defer printing stack trace (Gustavo Duarte) [1524642] - [powerpc] eeh: Check slot presence state in eeh_handle_normal_event() (Gustavo Duarte) [1524642] - [powerpc] eeh: Make permanently failed devices non-actionable (Gustavo Duarte) [1524642] - [powerpc] eeh: Fix race when freeing PDNs (Gustavo Duarte) [1524642] - [powerpc] eeh: Clean up EEH PEs after recovery finishes (Gustavo Duarte) [1524642] - [netdrv] be2net: disable bh with spin_lock in be_process_mcc (Petr Oros) [1724777] - [netdrv] be2net: Synchronize be_update_queues with dev_watchdog (Petr Oros) [1724777] - [netdrv] be2net: Signal that the device cannot transmit during reconfiguration (Petr Oros) [1724777] - [netdrv] be2net: fix link failure after ethtool offline test (Petr Oros) [1724777] - [netdrv] be2net: Fix number of Rx queues used for flow hashing (Petr Oros) [1724777] - [netdrv] benet: remove broken and unused macro (Petr Oros) [1724777] - [netdrv] benet: use skb_vlan_tag_get_prio() (Petr Oros) [1724777] - [netdrv] benet: use __vlan_hwaccel helpers (Petr Oros) [1724777] - [netdrv] revert "[netdrv] be2net: Disable queue dump in be_tx_timeout handler" (Petr Oros) [1724777] - [infiniband] rdma/i40iw: Set queue pair state when being queried (Stefan Assmann) [1721712] - [infiniband] ib/i40iw: Use kmemdup rather than open coding (Stefan Assmann) [1721712] - [infiniband] rdma/i40iw: Handle workqueue allocation failure (Stefan Assmann) [1721712] - [nvdimm] libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: Fix namespace creation on misaligned addresses (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: stop padding pmem namespaces to section alignment (Baoquan He) [1724969] - [nvdimm] libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields" (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock" (Baoquan He) [1724969] - [nvdimm] revert "libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change" (Baoquan He) [1724969] - [mm] sparsemem: cleanup 'section number' data types (Baoquan He) [1724969] - [kernel] mm/devm_memremap_pages: enable sub-section remap (Baoquan He) [1724969] - [mm] sparsemem: support sub-section hotplug (Baoquan He) [1724969] - [mm] sparsemem: prepare for sub-section ranges (Baoquan He) [1724969] - [kernel] mm: kill is_dev_zone() helper (Baoquan He) [1724969] - [mm] hotplug: kill is_dev_zone() usage in __remove_pages() (Baoquan He) [1724969] - [mm] sparsemem: convert kmalloc_section_memmap() to populate_section_memmap() (Baoquan He) [1724969] - [mm] hotplug: prepare shrink_{zone, pgdat}_span for sub-section removal (Baoquan He) [1724969] - [mm] sparsemem: add helpers track active portions of a section at boot (Baoquan He) [1724969] - [mm] sparsemem: introduce a SECTION_IS_EARLY flag (Baoquan He) [1724969] - [mm] sparsemem: introduce struct mem_section_usage (Baoquan He) [1724969] - [base] base/memory.c: get rid of find_memory_block_hinted() (Baoquan He) [1724969] - [mm] memory_hotplug: move and simplify walk_memory_blocks() (Baoquan He) [1724969] - [mm] memory_hotplug: rename walk_memory_range() and pass start+size instead of pfns (Baoquan He) [1724969] - [mm] hotplug: make remove_memory() interface usable (Baoquan He) [1724969] - [kernel] mm: make register_mem_sect_under_node() static (Baoquan He) [1724969] - [base] base/memory: use "unsigned long" for block ids (Baoquan He) [1724969] - [base] mm: section numbers use the type "unsigned long" (Baoquan He) [1724969] - [base] base/memory.c: Use DEVICE_ATTR_RO and friends (Baoquan He) [1724969] - [mm] sparse.c: set section nid for hot-add memory (Baoquan He) [1724969] - [mm] memory_hotplug: remove "zone" parameter from sparse_remove_one_section (Baoquan He) [1724969] - [base] mm/memory_hotplug: make unregister_memory_block_under_nodes() never fail (Baoquan He) [1724969] - [base] mm/memory_hotplug: remove memory block devices before arch_remove_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: drop MHP_MEMBLOCK_API (Baoquan He) [1724969] - [base] mm/memory_hotplug: create memory block devices after arch_add_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: allow arch_remove_memory() without CONFIG_MEMORY_HOTREMOVE (Baoquan He) [1724969] - [arm64] mm: add temporary arch_remove_memory() implementation (Baoquan He) [1724969] - [mm] sparse.c: clean up obsolete code comment (Baoquan He) [1724969] - [base] base/memory: pass a block_id to init_memory_block() (Baoquan He) [1724969] - [base] base/memory.c: remove an unnecessary check on NR_MEM_SECTIONS (Baoquan He) [1724969] - [s390] s390x/mm: implement arch_remove_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: make __remove_section() never fail (Baoquan He) [1724969] - [base] mm/memory_hotplug: make unregister_memory_section() never fail (Baoquan He) [1724969] - [base] base/memory.c: clean up relics in function parameters (Baoquan He) [1724969] - [base] mm, memory_hotplug: update a comment in unregister_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: release memory resource after arch_remove_memory() (Baoquan He) [1724969] - [kernel] mm, memory_hotplug: provide a more generic restrictions for memory hotplug (Baoquan He) [1724969] - [kernel] linux/memory_hotplug.h: remove duplicate declaration of offline_pages() (Baoquan He) [1724969] - [mm] x86: respect memory size limiting via mem= parameter (Baoquan He) [1724969] - [arm64] Add memory hotplug support (Baoquan He) [1724969] - [arm64] mm: check for upper PAGE_SHIFT bits in pfn_valid() (Baoquan He) [1724969] - [powerpc] mm: Fix section mismatch warning (Baoquan He) [1724969] - [base] mm/memory_hotplug: do not unlock after failing to take the device_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: drop "online" parameter from add_memory_resource() (Baoquan He) [1724969] - [s390] s390x/mm: fail when an altmap is used for arch_add_memory() (Baoquan He) [1724969] - [mm] memory_hotplug: simplify and fix check_hotplug_memory_range() (Baoquan He) [1724969] - [mm] memory_hotplug: add nid parameter to arch_remove_memory (Baoquan He) [1724969] - [mm] sparse: pass nid instead of pgdat to sparse_add_one_section() (Baoquan He) [1724969] - [mm] sparse: drop pgdat_resize_lock in sparse_add/remove_one_section() (Baoquan He) [1724969] - [documentation] memory-hotplug.rst: add some details about locking internals (Baoquan He) [1724969] - [powerpc] powernv: hold device_hotplug_lock when calling memtrace_offline_pages() (Baoquan He) [1724969] - [powerpc] powernv: hold device_hotplug_lock when calling device_online() (Baoquan He) [1724969] - [powerpc] powernv: Allow memory that has been hot-removed to be hot-added (Baoquan He) [1724969] - [powerpc] powernv/memtrace: Remove memtrace mmap() (Baoquan He) [1724969] - [mm] memory_hotplug: fix online/offline_pages called w.o. mem_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: make add_memory() take the device_hotplug_lock (Baoquan He) [1724969] - [mm] memory_hotplug: make remove_memory() take the device_hotplug_lock (Baoquan He) [1724969] - [powerpc] memtrace: Remove memory in chunks (Baoquan He) [1724969] - [base] mm/memory_hotplug.c: drop unnecessary checks from register_mem_sect_under_node() (Baoquan He) [1724969] - [base] mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range() (Baoquan He) [1724969] - [mm] memory_hotplug.c: call register_mem_sect_under_node() (Baoquan He) [1724969] - [mm] memory_hotplug.c: make add_memory_resource use __try_online_node (Baoquan He) [1724969] - [pci] Always allow probing with driver_override (Myron Stowe) [1702178] - [pci] Return error if cannot probe VF (Myron Stowe) [1702178] - [target] scsi: target: core: Do not overwrite CDB byte 1 (Maurizio Lombardi) [1764579] - [target] scsi: target: tcmu: clean the nl_cmd of the udev when nl send fails (Maurizio Lombardi) [1764579] - [target] scsi: target: tcmu: avoid use-after-free after command timeout (Maurizio Lombardi) [1764579] - [target] scsi: tcmu: Simplify tcmu_update_uio_info() (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: fix possible condition with no effect (if == else) (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Make sure PDU processing continues if parsing a command fails (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Make iscsit_map_iovec() more robust (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Handle too large immediate data buffers correctly (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Only send R2T if needed (Maurizio Lombardi) [1764579] - [target] scsi: target/iscsi: Detect conn_cmd_list corruption early (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Make the XCOPY setup code easier to read by inlining two functions (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Simplify LUN initialization in XCOPY implementation (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Remove a set-but-not-used member variable from the XCOPY implementation (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Rework the SPC-2 reservation handling code (Maurizio Lombardi) [1764579] - [target] scsi: target/core: Fix a race condition in the LUN lookup code (Maurizio Lombardi) [1764579] - [target] scsi: target: alua: fix the tg_pt_gps_count (Maurizio Lombardi) [1764579] - [target] scsi: target: iscsi: Free conn_ops when zalloc_cpumask_var failed (Maurizio Lombardi) [1764579] - [target] scsi: target: iscsi: Fix np_ip_proto and np_sock_type in iscsit_setup_np (Maurizio Lombardi) [1764579] - [target] scsi: target: fix unsigned comparision with less than zero (Maurizio Lombardi) [1764579] - [target] scsi: target: Add device product id and revision configfs attributes (Maurizio Lombardi) [1764579] - [kernel] genirq/affinity: Remove const qualifier from node_to_cpumask argument (Ming Lei) [1743064] - [kernel] genirq/affinity: Spread vectors on node according to nr_cpu ratio (Ming Lei) [1743064] - [kernel] genirq/affinity: Improve __irq_build_affinity_masks() (Ming Lei) [1743064] - [kernel] genirq/affinity: Remove unused argument from [__]irq_build_affinity_masks() (Ming Lei) [1743064] - [kernel] workqueue, lockdep: Fix a memory leak in wq->lock_name (Waiman Long) [1736654] - [kernel] workqueue, lockdep: Fix an alloc_workqueue() error path (Waiman Long) [1736654] - [kernel] locking/lockdep: Report more stack trace statistics (Waiman Long) [1736654] - [kernel] locking/lockdep: Reduce space occupied by stack traces (Waiman Long) [1736654] - [kernel] locking/lockdep: Make it clear that what lock_class::key points at is not modified (Waiman Long) [1736654] - [kernel] lockdep: Make print_lock() address visible (Waiman Long) [1736654] - [kernel] locking/lockdep: Clean up #ifdef checks (Waiman Long) [1736654] - [kernel] locking/lockdep: Hide unused 'class' variable (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix lock used or unused stats error (Waiman Long) [1736654] - [kernel] locking/lockdep: increase size of counters for lockdep statistics (Waiman Long) [1736654] - [kernel] locking/lockdep: Move mark_lock() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unnecessary DEBUG_LOCKS_WARN_ON() (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix merging of hlocks with non-zero references (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix OOO unlock when hlocks need merging (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove !dir in lock irq usage check (Waiman Long) [1736654] - [kernel] locking/lockdep: Adjust new bit cases in mark_lock (Waiman Long) [1736654] - [kernel] locking/lockdep: Consolidate lock usage bit initialization (Waiman Long) [1736654] - [kernel] locking/lockdep: Check redundant dependency only when CONFIG_LOCKDEP_SMALL (Waiman Long) [1736654] - [kernel] locking/lockdep: Refactorize check_noncircular and check_redundant (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unused argument in __lock_release (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove redundant argument in check_deadlock (Waiman Long) [1736654] - [documentation] locking/lockdep: Add explanation to lock usage rules in lockdep design doc (Waiman Long) [1736654] - [kernel] locking/lockdep: Update comments on dependency search (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid constant checks in __bfs by using offset reference (Waiman Long) [1736654] - [kernel] locking/lockdep: Change the return type of __cq_dequeue() (Waiman Long) [1736654] - [kernel] locking/lockdep: Change type of the element field in circular_queue (Waiman Long) [1736654] - [kernel] locking/lockdep: Update comment (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unused argument in validate_chain() and check_deadlock() (Waiman Long) [1736654] - [kernel] locking/lockdep: Change the range of class_idx in held_lock struct (Waiman Long) [1736654] - [kernel] locking/lockdep: Define INITIAL_CHAIN_KEY for chain keys to start with (Waiman Long) [1736654] - [kernel] locking/lockdep: Use lockdep_init_task for task initiation consistently (Waiman Long) [1736654] - [kernel] locking/lockdep: Update obsolete struct field description (Waiman Long) [1736654] - [kernel] locking/lockdep: Print the right depth for chain key collision (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove useless conditional macro (Waiman Long) [1736654] - [kernel] locking/lockdep: Adjust lock usage bit character checks (Waiman Long) [1736654] - [documentation] locking/lockdep: Add description and explanation in lockdep design doc (Waiman Long) [1736654] - [kernel] locking/lockdep: Change all print_*() return type to void (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove the unused print_lock_trace() function (Waiman Long) [1736654] - [kernel] locking/lockdep: Don't complain about incorrect name for no validate class (Waiman Long) [1736654] - [kernel] lockdep: Add assertion to check if in an interrupt (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove unnecessary unlikely() (Waiman Long) [1736654] - [kernel] locking/lockdep: Test all incompatible scenarios at once in check_irq_usage() (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid bogus Clang warning (Waiman Long) [1736654] - [kernel] locking/lockdep: Generate LOCKF_ bit composites (Waiman Long) [1736654] - [kernel] locking/lockdep: Use expanded masks on find_usage_*() functions (Waiman Long) [1736654] - [kernel] locking/lockdep: Map remaining magic numbers to lock usage mask names (Waiman Long) [1736654] - [kernel] locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING (Waiman Long) [1736654] - [kernel] lockdep: Simplify stack trace handling (Waiman Long) [1736654] - [kernel] locking/lockdep: Make lockdep_unregister_key() honor 'debug_locks' again (Waiman Long) [1736654] - [kernel] locking/lockdep: Zap lock classes even with lock debugging disabled (Waiman Long) [1736654] - [kernel] locking/lockdep: Only call init_rcu_head() after RCU has been initialized (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid a Clang warning (Waiman Long) [1736654] - [kernel] locking/lockdep: Shrink struct lock_class_key (Waiman Long) [1736654] - [kernel] locking/lockdep: Add module_param to enable consistency checks (Waiman Long) [1736654] - [tools] lockdep/lib/tests: Test dynamic key registration (Waiman Long) [1736654] - [tools] lockdep/lib/tests: Fix run_tests.sh (Waiman Long) [1736654] - [kernel] workqueue: Use dynamic lockdep keys for workqueues (Waiman Long) [1736654] - [kernel] locking/lockdep: Add support for dynamic keys (Waiman Long) [1736654] - [kernel] locking/lockdep: Verify whether lock objects are small enough to be used as class keys (Waiman Long) [1736654] - [kernel] locking/lockdep: Check data structure consistency (Waiman Long) [1736654] - [kernel] locking/lockdep: Reuse lock chains that have been freed (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix a comment in add_chain_cache() (Waiman Long) [1736654] - [kernel] locking/lockdep: Introduce lockdep_next_lockchain() and lock_chain_count() (Waiman Long) [1736654] - [kernel] locking/lockdep: Reuse list entries that are no longer in use (Waiman Long) [1736654] - [kernel] locking/lockdep: Free lock classes that are no longer in use (Waiman Long) [1736654] - [kernel] locking/lockdep: Update two outdated comments (Waiman Long) [1736654] - [kernel] locking/lockdep: Make it easy to detect whether or not inside a selftest (Waiman Long) [1736654] - [kernel] locking/lockdep: Split lockdep_free_key_range() and lockdep_reset_lock() (Waiman Long) [1736654] - [kernel] locking/lockdep: Initialize the locks_before and locks_after lists earlier (Waiman Long) [1736654] - [kernel] locking/lockdep: Make zap_class() remove all matching lock order entries (Waiman Long) [1736654] - [kernel] locking/lockdep: Reorder struct lock_class members (Waiman Long) [1736654] - [kernel] locking/lockdep: Avoid that add_chain_cache() adds an invalid chain to the cache (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix reported required memory size (2/2) (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix reported required memory size (1/2) (Waiman Long) [1736654] - [kernel] locking/lockdep: Fix two 32-bit compiler warnings (Waiman Long) [1736654] - [kernel] locking/lockdep: Rename lockdep_info() to lockdep_init() (Waiman Long) [1736654] - [kernel] locking/lockdep: Add debug_locks check in __lock_downgrade() (Waiman Long) [1736654] - [kernel] locking/lockdep: Provide enum lock_usage_bit mask names (Waiman Long) [1736654] - [kernel] locking/lockdep: Simplify mark_held_locks() (Waiman Long) [1736654] - [kernel] locking/lockdep: Add debug_locks check in __lock_downgrade() (Waiman Long) [1736654] - [kernel] locking/lockdep: Stop using RCU primitives to access 'all_lock_classes' (Waiman Long) [1736654] - [kernel] locking/lockdep: Make concurrent lockdep_reset_lock() calls safe (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove a superfluous INIT_LIST_HEAD() statement (Waiman Long) [1736654] - [kernel] locking/lockdep: Introduce lock_class_cache_is_registered() (Waiman Long) [1736654] - [kernel] locking/lockdep: Inline __lockdep_init_map() (Waiman Long) [1736654] - [kernel] locking/lockdep: Declare local symbols static (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Test the lockdep_reset_lock() implementation (Waiman Long) [1736654] - [tools] lib/lockdep: Add dummy print_irqtrace_events() implementation (Waiman Long) [1736654] - [tools] lib/lockdep: Rename "trywlock" into "trywrlock" (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Run lockdep tests a second time under Valgrind (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Improve testing accuracy (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Fix shellcheck warnings (Waiman Long) [1736654] - [tools] lib/lockdep/tests: Display compiler warning and error messages (Waiman Long) [1736654] - [kernel] locking/lockdep: Remove ::version from lock_class structure (Waiman Long) [1736654] - [init] kconfig: disable io_uring support (Jeff Moyer) [1758680] - [virt] kvm: arm64: pmu: Reset sample period on overflow handling (Auger Eric) [1760872] - [virt] kvm: arm64: pmu: Set the CHAINED attribute before creating the in-kernel event (Auger Eric) [1760872] - [arm64] kvm: Handle PMCR_EL0.LC as RES1 on pure AArch64 systems (Auger Eric) [1760872] - [virt] kvm: arm64: pmu: Fix cycle counter truncation (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Introduce kvm_pmu_vcpu_init() to setup PMU counter index (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Support chained PMU counters (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Remove pmc->bitmask (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Re-create event when setting counter value (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Extract duplicated code to own function (Auger Eric) [1760872] - [virt] kvm: arm/arm64: Rename kvm_pmu_{enable/disable}_counter functions (Auger Eric) [1760872] - [arm64] perf: Hook up new events (Auger Eric) [1760872] - [arm64] perf: Move event definitions into perf_event.h (Auger Eric) [1760872] - [arm64] perf: Remove duplicate generic cache events (Auger Eric) [1760872] - [arm64] perf: Terminate PMU assignment statements with semicolons (Auger Eric) [1760872] - [arm64] Allow CAVIUM_TX2_ERRATUM_219 to be selected (Auger Eric) [1771633] - [arm64] Avoid Cavium TX2 erratum 219 when switching TTBR (Auger Eric) [1771633] - [arm64] Enable workaround for Cavium TX2 erratum 219 when running SMT (Auger Eric) [1771633] - [arm64] kvm: Trap VM ops when ARM64_WORKAROUND_CAVIUM_TX2_219_TVM is set (Auger Eric) [1771633] - [arm64] sysreg: fix incorrect definition of SYS_PAR_EL1_F (Auger Eric) [1771633] - [arm64] Force SSBS on context switch (Mark Salter) [1756103] - [arm64] enable pointer authentication (Mark Salter) [1756103] - [arm64] add ptrace regsets for ptrauth key management (Mark Salter) [1756103] - arm64: cpufeature: Rework ptr auth hwcaps using multi_entry_cap_matches (Mark Salter) [1756103] - [arm64] capabilities: Merge duplicate entries for Qualcomm erratum 1003 (Mark Salter) [1756103] - [arm64] cpufeature: Reduce number of pointer auth CPU caps from 6 to 4 (Mark Salter) [1756103] - [documentation] arm64: docs: document pointer authentication (Mark Salter) [1756103] - [documentation] arm64: docs: Document SSBS HWCAP (Mark Salter) [1756103] - [documentation] arm64: docs: Fix typos in ELF hwcaps (Mark Salter) [1756103] - [arm64] ptr auth: Move per-thread keys from thread_info to thread_struct (Mark Salter) [1756103] - [arm64] add prctl control for resetting ptrauth keys (Mark Salter) [1756103] - [arm64] perf: strip PAC when unwinding userspace (Mark Salter) [1756103] - [arm64] expose user PAC bit positions via ptrace (Mark Salter) [1756103] - [arm64] add basic pointer authentication support (Mark Salter) [1756103] - arm64/cpufeature: detect pointer authentication (Mark Salter) [1756103] - [arm64] cpufeature: Convert hook_lock to raw_spin_lock_t in cpu_enable_ssbs() (Mark Salter) [1756103] - [arm64] entry: Allow handling of undefined instructions from EL1 (Mark Salter) [1756103] - [arm64] Fix silly typo in comment (Mark Salter) [1756103] - [fs] smb3: fix signing verification of large reads (Dave Wysochanski) [1753114] - [fs] revert "nfs4: Fix v4.0 client state corruption when mount" (Benjamin Coddington) [1767012] - [kernel] svcrdma: Increase the default connection credit limit (Benjamin Coddington) [1771430] - [x86] quirks: Disable HPET on Intel Coffe Lake platforms (David Arcari) [1773774] - [sched] core: Fix CPU controller for !RT_GROUP_SCHED (Phil Auld) [1774652] - [x86] Add comment for x86 processor OS version support (David Arcari) [1709878] - [x86] kvm: svm: taint module and print taint message iff nested is enabled (Bandan Das) [1775410] - [x86] cpu: Add Tiger Lake to Intel family (Steve Best) [1773790] - [fs] Fix the locking in dcache_readdir() and friends (Miklos Szeredi) [1761746] - [infiniband] rdma/mlx5: Return proper error value (Mohammad Heib) [1772101] - [scsi] mpt3sas: change allocation option (Tomas Henzl) [1770264] - [scsi] qla2xxx: Initialized mailbox to prevent driver load failure (Himanshu Madhani) [1770309] - [mfd] intel-lpss: Add Intel Comet Lake PCH-H PCI IDs (David Arcari) [1773307] - [powercap] intel_rapl: add support for Cometlake desktop (David Arcari) [1759664] - [powercap] intel_rapl: add support for CometLake Mobile (David Arcari) [1746265] - [kernel] intel_rapl: need linux/cpuhotplug.h for enum cpuhp_state (Alexander Beregalov) [1732604] - [thermal] int340x/processor_thermal_device: Fix proc_thermal_rapl_remove() (Alexander Beregalov) [1732604] - [thermal] int340x/processor_thermal_device: add support for MMIO RAPL (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal_device: Fix build warning (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal: Read PPCC on resume (Alexander Beregalov) [1732604] - [thermal] thermal: processor_thermal: Downgrade error message (Alexander Beregalov) [1732604] - [thermal] intel: int340x: processor_thermal_device: simplify to get driver data (Alexander Beregalov) [1732604] - [thermal] int3403_thermal: favor _TMP instead of PTYP (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: fix mode setting (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: Add additional UUIDs (Alexander Beregalov) [1732604] - [thermal] thermal: int340x_thermal: Fix sysfs race condition (Alexander Beregalov) [1732604] - [thermal] thermal: int340x_thermal: Make PCI dependency explicit (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: Fix a NULL vs IS_ERR() check (Alexander Beregalov) [1732604] - [thermal] int340x_thermal: int3400_thermal: simplify getting .driver_data (Alexander Beregalov) [1732604] - [powercap] Invoke powercap_init() and rapl_init() earlier (Alexander Beregalov) [1732604] - [powercap] intel_rapl: Fix module autoloading issue (Alexander Beregalov) [1732604] - [powercap] intel_rapl: support two power limits for every RAPL domain (Alexander Beregalov) [1732604] - [powercap] intel_rapl: support 64 bit register (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract RAPL common code (Alexander Beregalov) [1732604] - [powercap] intel_rapl: cleanup hardcoded MSR access (Alexander Beregalov) [1732604] - [powercap] intel_rapl: cleanup some functions (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract register access operations (Alexander Beregalov) [1732604] - [powercap] intel_rapl: abstract register address (Alexander Beregalov) [1732604] - [powercap] intel_rapl: introduce struct rapl_if_private (Alexander Beregalov) [1732604] - [kernel] intel_rapl: introduce intel_rapl.h (Alexander Beregalov) [1732604] - [powercap] intel_rapl: remove hardcoded register index (Alexander Beregalov) [1732604] - [powercap] intel_rapl: use reg instead of msr (Alexander Beregalov) [1732604] - [security] ima: Differentiate auditing policy rules from "audit" actions (Richard Guy Briggs) [1479911] - [security] ima: Do not audit if CONFIG_INTEGRITY_AUDIT is not set (Richard Guy Briggs) [1479911] - [security] ima: Use audit_log_format() rather than audit_log_string() (Richard Guy Briggs) [1479911] - [security] ima: Call audit_log_string() rather than logging it untrusted (Richard Guy Briggs) [1479911] - [security] selinux: avoid atomic_t usage in sidtab (Ondrej Mosnacek) [1741182] - [security] selinux: always return a secid from the network caches if we find one (Ondrej Mosnacek) [1741182] - [security] selinux: policydb - rename type_val_to_struct_array (Ondrej Mosnacek) [1741182] - [security] selinux: policydb - fix some checkpatch.pl warnings (Ondrej Mosnacek) [1741182] - [security] selinux: shuffle around policydb.c to get rid of forward declarations (Ondrej Mosnacek) [1741182] - [security] selinux: fix memory leak in policydb_init() (Ondrej Mosnacek) [1741182] - [security] selinux: check sidtab limit before adding a new entry (Ondrej Mosnacek) [1741182] - [security] selinux: format all invalid context as untrusted (Ondrej Mosnacek) [1479914 1741182] - [security] selinux: remove some no-op BUG_ONs (Ondrej Mosnacek) [1741182] - [security] selinux: provide __le variables explicitly (Ondrej Mosnacek) [1741182] - [security] selinux: avoid uninitialized variable warning (Ondrej Mosnacek) [1741182] - [security] selinux: remove useless assignments (Ondrej Mosnacek) [1741182] - [security] selinux: fix NULL dereference in policydb_destroy() (Ondrej Mosnacek) [1741182] - [security] selinux: convert to kvmalloc (Ondrej Mosnacek) [1741182] - [kernel] lsm: generalize flag passing to security_capable (Ondrej Mosnacek) [1741182] - [kernel] selinux: Remove unused selinux_is_enabled (Ondrej Mosnacek) [1741182] - [kernel] selinux: Remove cred security blob poisoning (Ondrej Mosnacek) [1741182] - [security] selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE (Ondrej Mosnacek) [1741182]- [tools] selftests: mlxsw: Add a test for leftover DSCP rule (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Fix local variable declarations in DSCP tests (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Add counters for GC events (Ivan Vecera) [1737368] - [netdrv] mlxsw: Bump firmware version to 13.2000.1886 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Prevent auto negotiation on number of lanes (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove 56G speed support (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Keep unmatched entries in a linked list (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Further reduce pool size on Spectrum-2 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Fix error path in mlxsw_sp_module_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: fix duplicated check on orig_egr_types (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Fix typo in qos_mc_aware.sh (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Do not process learned records with a dummy FID (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_dcb: Configure DSCP map as the last rule is removed (Ivan Vecera) [1737368] - [netdrv] remove redundant memset (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Apply the PTP shaper enable/disable logic (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Set up PTP shaper when port status has changed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Enable/disable PTP shaper on a port when getting HWTSTAMP on/off (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add new operation for getting the port's speed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Set the PTP shaper parameters (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add QoS PTP Shaper Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add note about the PTP shaper (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add ptps field in QoS ETS Element Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Fix validation in mlxsw_sp1_ptp_packet_finish() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support ethtool get_ts_info (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support SIOCGHWTSTAMP, SIOCSHWTSTAMP ioctls (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Configure PTP traps and FIFO events (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Garbage-collect unmatched entries (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Support timestamping on Spectrum-1 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Disable BH when working with PHC (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Add PTP initialization / finalization (Ivan Vecera) [1737368] - [netdrv] mlxsw: pci: ptp: Hook into packet transmit path (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for using SKB control buffer (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: ptp: Hook into packet receive path (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Add support for traps specific to Spectrum-1 (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Extract a helper for trap registration (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Global Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Time Precision Packet Timestamping Reading (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Precision Time Protocol Trap Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Monitoring Time Precision Packet Port Configuration Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for negative temperature readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add the hottest thermal zone detection (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend thermal core with per inter-connect device thermal zones (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_flower: Implement support for ingress device matching (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Fix SRC_SYS_PORT element size (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Avoid size check for RX_ACL_SYSTEM_PORT element (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Write RX_ACL_SYSTEM_PORT acl element correctly (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Fix compilation on 32-bit ARM (Ivan Vecera) [1737368] - [tools] selftests: ptp: Add Physical Hardware Clock test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: PTP physical hardware clock initialization (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_ptp: Add implementation for physical hardware clock operations (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management Pulse Per Second Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management UTC Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: pci: Query free running clock PCI BAR and offsets (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add a new interface for reading the hardware free running clock (Ivan Vecera) [1737368] - [netdrv] mlxsw: cmd: Free running clock PCI BAR and offsets via query firmware (Ivan Vecera) [1737368] - [netdrv] mlxsw: Implement flash update status notifications (Ivan Vecera) [1737368] - [netdrv] mlxfw: Introduce status_notify op and call it to notify about the status (Ivan Vecera) [1737368] - [netdrv] mlxfw: Propagate error messages through extack (Ivan Vecera) [1737368] - [netdrv] mlxsw: Move firmware flash implementation to devlink (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Reduce buffer size in transactions for SFP modules temperature readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend the index size for temperature sensors readout (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Extend hwmon interface with inter-connect temperature attributes (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Management General Peripheral Information Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Extend sensor index field size of Management Temperature Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Re-order initialization sequence (Ivan Vecera) [1737368] - [netdrv] mlxsw: i2c: Allow flexible setting of I2C transactions size (Ivan Vecera) [1737368] - [netdrv] mlxsw: i2c: Extend initialization with querying firmware info (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Disallow prio-tagged packets when PVID is removed (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Reduce pool size on Spectrum-2 (Ivan Vecera) [1737368] - [tools] selftests: tc_flower: Add TOS matching test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_flower: Fix TOS matching (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Test nexthop offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Refresh nexthop neighbour when it becomes dead (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Use different seeds for ECMP and LAG hash (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Prevent force of 56G (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Avoid warning after identical rules insertion (Ivan Vecera) [1737368] - [tools] selftests: Add loopback test (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Implement loopback ethtool feature (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add Port Physical Loopback Register (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: split base on local_ports_in_{1x, 2x} resources (Ivan Vecera) [1737368] - [netdrv] mlxsw: resources: Add local_ports_in_{1x, 2x} (Ivan Vecera) [1737368] - [netdrv] mlxsw: Bump firmware version to 13.2000.1122 (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove obsolete dependency on THERMAL=m (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Prevent ipv6 gateway with v4 route via replace and append (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Adjust CPU port shared buffer egress quotas (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Allow skipping ingress port quota configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Split business logic from mlxsw_sp_port_sb_pms_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Use new CPU ingress pool for control packets (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add pools for CPU traffic (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Remove assumption about pool order (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid changing multicast TCs' attributes (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid changing threshold type of first egress pool (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Forbid configuration of multicast pool (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add ability to veto TC's configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add ability to veto pool's configuration (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Use defines for pool indices (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_buffers: Add extack messages for invalid configurations (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Relax FIB rule validation (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum: Use a stable ECMP/LAG seed (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Test neighbour offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Add neighbour offload indication (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_router: Propagate neighbour update errors (Ivan Vecera) [1737368] - [documentation] documentation: networking: devlink-info-versions: Add fw.psid (Ivan Vecera) [1737368] - [netdrv] mlxsw: core: Add support for devlink info command (Ivan Vecera) [1737368] - [netdrv] mlxsw: reg: Add MGIR register (Ivan Vecera) [1737368] - [tools] selftests: forwarding: test for bridge mcast traffic after report and leave (Ivan Vecera) [1737368] - [netdrv] mlxsw: switch_ib: Pass valid HW id down to mlxsw_core_port_init() (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove ndo_get_port_parent_id implementation (Ivan Vecera) [1737368] - [netdrv] mlxsw: Pass switch ID through devlink_port_attrs_set() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Rename rehash_dis trace (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Remove failed_rollback dead end (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Move rehash_dis trace call and err msg to vregion_migrate() (Ivan Vecera) [1737368] - [netdrv] mlxsw: spectrum_acl: Remove redundant failed_rollback from migrate_start() (Ivan Vecera) [1737368] - [netdrv] mlxsw: Remove ndo_get_phys_port_name implementation (Ivan Vecera) [1737368] - [netdrv] mlxsw: Implement ndo_get_devlink_port (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Add a new test for strict priority (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: Add qos_lib.sh (Ivan Vecera) [1737368] - [tools] selftests: mlxsw: qos_mc_aware: Configure shared buffers (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Add shared buffer helpers (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Simplify deduction of DEVLINK_DEV (Ivan Vecera) [1737368] - [tools] selftests: forwarding: devlink_lib: Avoid double sourcing of lib.sh (Ivan Vecera) [1737368] - [tools] selftests: forwarding: Test action VLAN modify (Ivan Vecera) [1737368] - [tools] selftests: forwarding: Add PCP match and VLAN match tests (Ivan Vecera) [1737368] - [infiniband] rdma/mlx5: Use irq xarray locking for mkey_table (Alaa Hleihel) [1724336] - [netdrv] mlx4_core: Dynamically set guaranteed amount of counters per VF (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Initialize on stack link modes bitmap (Alaa Hleihel) [1724336] - [netdrv] mlx5e: fix ethtool self test: link speed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix handling of compressed CQEs in case of low NAPI budget (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Don't store direct pointer to action's tunnel info (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix NULL pointer dereference in extended destination (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only skip encap flows update when encap init failed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Determine source port properly for vlan push action (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix flow counter list auto bits struct (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Clear old rate limit when closing QP (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Remove dead code (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix memory leak in mlx5_fw_fatal_reporter_dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: prevent memory leak in mlx5_fpga_conn_create_cq (Alaa Hleihel) [1724336] - [netdrv] mlx5e: TX, Fix consumer index of error cqe dump (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Zero-memset WQE info struct upon update (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Fix assumption of single WQEBB of NOP in cleanup flow (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Add missing synchronize_srcu() for MW cases (Alaa Hleihel) [1724307 1724336] - [infiniband] rdma/mlx5: Order num_pending_prefetch properly with synchronize_srcu (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Do not allow rereg of a ODP MR (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix matching on tunnel addresses type (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add device ID of upcoming BlueField-2 (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Free mpi in mp_slave mode (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Use the original address for the page during free_pages (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: FWTrace, Reduce stack usage (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Remove unnecessary clear_bit()s (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix spelling mistake "offlaods" -> "offloads" (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Remove leftover declaration (Alaa Hleihel) [1724336] - [netdrv] mlx5e: ethtool, Fix a typo in WOL function names (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add missing include file to lib/crypto.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: remove self-assignment on esw->dev (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support MLX5_CMD_OP_QUERY_LAG as a DEVX general command (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Fix mlx5_ifc_query_lag_out_bits (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix formats with line continuation whitespace (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix mlx5e_tx_reporter_create return value (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix offset of tisc bits reserved field (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix -Wtype-limits compilation warnings (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support per device q counters in switchdev mode (Alaa Hleihel) [1659186 1724336] - [infiniband] ib/mlx5: Refactor code for counters allocation (Alaa Hleihel) [1659186 1724336] - [netdrv] mlx5: DR, Replace CRC32 implementation to use kernel lib (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Support IPv4 and IPv6 mixed matcher (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Allow insertion of duplicate rules (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: avoid 64-bit division in dr_icm_pool_mr_create() (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5e: Fix traffic duplication in ethtool steering (Alaa Hleihel) [1724336] - [netdrv] mlx5: DR, Allow matching on vport based on vhca_id (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Fix getting incorrect prev node in ste_free (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Remove redundant vport number from action (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: DR, Fix SW steering HW bits and definitions (Alaa Hleihel) [1724336] - [netdrv] mlx5: fix missing assignment of variable err (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Fix rt's type in dr_action_create_reformat_action (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Fix error return code in dr_domain_init_resources() (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Fix addr's type in mlx5dr_icm_dm (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add devlink flow_steering_mode parameter (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add support to use SMFS in switchdev mode (Alaa Hleihel) [1760284 1724327 1724336] - [netdrv] mlx5: Add API to set the namespace steering mode (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add direct rule fs_cmd implementation (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add CONFIG_MLX5_SW_STEERING for software steering support (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose APIs for direct rule managing (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add required FW steering functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering rule functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering action functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering matcher functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering table functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose steering domain functionality (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add Steering entry (STE) utilities (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Expose an internal API to issue RDMA operations (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, ICM pool memory allocator (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add direct rule command utilities (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: DR, Add the internal direct rule types definitions (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Add flow steering actions to fs_cmd shim layer (Alaa Hleihel) [1760284 1724327 1724336] - [netdrv] mlx5: Set only stag for match untagged packets (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: Add stub for mlx5_eswitch_mode (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Avoid disabling RoCE when uninitialized (Alaa Hleihel) [1760284 1724336] - [kernel] mlx5: Add HW bits and definitions required for SW steering (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5: Move device memory management to mlx5_core (Alaa Hleihel) [1760284 1724336] - [netdrv] mlx5e: Support LAG TX port affinity distribution (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Expose new function for TIS destroy loop (Alaa Hleihel) [1760285 1724336] - [kernel] mlx5: Add lag_tx_port_affinity capability bit (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Add device out of buffer counter (Alaa Hleihel) [1760291 1724336] - [netdrv] mlx5: Fix the order of fc_stats cleanup (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix deallocation of non-fully init encap entries (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only access fully initialized flows in neigh update (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor neigh update for concurrent execution (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor neigh used value update for concurrent execution (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect neigh hash encap list with spinlock and rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Refactor mlx5e_neigh_update_table->encap_lock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend neigh hash entry with rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Always take reference to neigh entry (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extract code that queues neigh update work into function (Alaa Hleihel) [1663231 1724336] - [kernel] mlx5: Add support for VNIC_ENV internal rq counter (Alaa Hleihel) [1760291 1724336] - [netdrv] mlx5e: Use refcount_t for refcount (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Use vhca_id in generating representor port_index (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Simplify querying port representor parent id (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5: E-switch, Removed unused hwid (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Allow concurrent creation of encap entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect encap hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend encap entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Allow concurrent creation of mod_hdr entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect mod_hdr hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect mod header entry flows list with spinlock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend mod header entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Allow concurrent creation of hairpin entries (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect hairpin hash table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect hairpin entry flows list with spinlock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend hairpin entry with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5: E-switch, Tide up eswitch config sequence (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Remove redundant mc_promisc NULL check (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, remove redundant error handling (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Introduce helper function to enable/disable vports (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Initialize TSAR Qos hardware block before its user vports (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-switch, Combine metadata enable/disable functionality (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Verify support QoS element type (Alaa Hleihel) [1724336] - [netdrv] mlx5: Make load_one() and unload_one() symmetric (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add flow counter pool (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5: Add flow counter bulk infrastructure (Alaa Hleihel) [1760297 1724336] - [kernel] mlx5: Add flow counter bulk allocation hardware bits and command (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5: Refactor and optimize flow counter bulk query (Alaa Hleihel) [1760297 1724336] - [netdrv] mlx5e: Protect tc flow table with mutex (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Rely on rcu instead of rtnl lock when getting upper dev (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Eswitch, use state_lock to synchronize vlan change (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Eswitch, change offloads num_flows type to atomic64 (Alaa Hleihel) [1663231 1724327 1724336] - [netdrv] mlx5e: Protect unready flows with dedicated lock (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Protect tc flows hashtable with rcu (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Change flow flags type to unsigned long (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Extend tc flow struct with reference counter (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Simplify get_route_and_out_devs helper function (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Improve ethtool rxnfc callback structure (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Avoid warning print when not required (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Print a warning when LRO feature is dropped or not allowed (Alaa Hleihel) [1663231 1724336] - [netdrv] mlx5e: Remove ethernet segment from dump WQE (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Add num bytes metadata to WQE info (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix delay in fw fatal report handling due to fw report (Alaa Hleihel) [1724336] - [netdrv] mlx5: Fix crdump chunks print (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Block MR WR if UMR is not possible (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix MR re-registration flow to use UMR properly (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Report and handle ODP support properly (Alaa Hleihel) [1724308 1724336] - [infiniband] ib/mlx5: Consolidate use_umr checks into single function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix compatibility issue with ethtool flash device (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix use-after-free error while accessing ev_file pointer (Alaa Hleihel) [1724307 1724336] - [netdrv] mlx5e: Remove redundant check in CQE recovery flow of tx reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix error flow of CQE recovery on tx reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix false negative indication on tx reporter CQE recovery (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix tisn field placement (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix tisn field name (Alaa Hleihel) [1724336] - [netdrv] mlx5e: kTLS, Fix progress params context WQE layout (Alaa Hleihel) [1724336] - [kernel] mlx5: kTLS, Fix wrong TIS opmod constants (Alaa Hleihel) [1724336] - [netdrv] mlx5: crypto, Fix wrong offset in encryption key command (Alaa Hleihel) [1724336] - [netdrv] mlx5e: ethtool, Avoid setting speed to 56GBASE when autoneg off (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Only support tx/rx pause setting for port owner (Alaa Hleihel) [1724336] - [netdrv] mlx5: Support inner header match criteria for non decap flow action (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Use flow keys dissector to parse packets for ARFS (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Check the correct variable in error handling code (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Fix implicit MR release flow (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5e: always initialize frag->last_in_page (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Release locks during notifier unregister (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix MR registration flow to use UMR properly (Alaa Hleihel) [1764207 1724336] - [netdrv] mlx5e: kTLS, Call WARN_ONCE on netdev mismatch (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Prevent encap flow counter update async to user query (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix matching of speed to PRM link modes (Alaa Hleihel) [1724336] - [kernel] mlx5: Fix modify_cq_in alignment (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add missing RDMA_RX capabilities (Alaa Hleihel) [1724336] - [netdrv] mlx5: Use reversed order when unregister devices (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Prevent concurrent MR updates during invalidation (Alaa Hleihel) [1724308 1724336] - [infiniband] ib/mlx5: Fix clean_mr() to work in the expected order (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Move MRs to a kernel PD when freeing them to the MR cache (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Use direct mkey destroy command upon UMR unreg failure (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Fix unreg_umr to ignore the mkey state (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Replace kfree with kvfree (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Replace kfree with kvfree (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Rely on filter_dev instead of dissector keys for tunnels (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Verify encapsulation is supported (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Convert single case statement switch statements into if statements (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Reduce ingress acl modify metadata stack usage (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Fix compilation error in TLS code (Alaa Hleihel) [1724336] - [netdrv] mlx5e: IPoIB, Add error path in mlx5_rdma_setup_rn (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix error flow in tx reporter diagnose (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix return value from timeout recover function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Rx, Fix checksum calculation for new hardware (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Fix port tunnel GRE entropy control (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Fix default encap mode (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Return in default case statement in tx_post_resync_params (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Register devlink ports for physical link, PCI PF, VFs (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Set RDMA DIM to be enabled by default (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Report correctly tag matching rendezvous capability (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Implement VHCA tunnel mechanism in DEVX (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Introduce VHCA tunnel device capability (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Add kTLS TX HW offload support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Introduce a fenced NOP WQE posting function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Re-work TIS creation functions (Alaa Hleihel) [1760285 1724336] - [netdrv] mlx5e: Tx, Unconstify SQ stop room (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Don't implicitly assume SKB-less wqe has one WQEBB (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Make SQ WQE fetch function type generic (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Tx, Enforce L4 inline copy when needed (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move helper functions to a new txrx datapath header (Alaa Hleihel) [1724336] - [netdrv] mlx5: Accel, Add core TLS support for the Connect-X family (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add crypto library to support create/destroy encryption key (Alaa Hleihel) [1724336] - [netdrv] mlx5: Kconfig, Better organize compilation flags (Alaa Hleihel) [1724336] - [netdrv] mlx5: Accel, Expose accel wrapper for IPsec FPGA function (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Add counter_alloc_stats() and counter_update_stats() support (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support statistic q counter configuration (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters() (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: Support set qp counter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Added devlink info callback (Alaa Hleihel) [1724336] - [netdrv] mlx5: Added fw version query command (Alaa Hleihel) [1724336] - [kernel] mlx5: Add rts2rts_qp_counters_set_id field in hca cap (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Use proper allocation API to get zeroed memory (Alaa Hleihel) [1724336] - [infiniband] ib/mlx5: DEVX cleanup mdev (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Add DEVX support for CQ events (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Implement DEVX dispatching event (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Enable subscription for device events over DEVX (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Register DEVX with mlx5_core to get async events (Alaa Hleihel) [1724307 1724336] - [infiniband] ib/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD (Alaa Hleihel) [1724307 1724336] - [kernel] mlx5: Properly name the generic WQE control field (Alaa Hleihel) [1724336] - [kernel] mlx5: Introduce TLS TX offload hardware bits and structures (Alaa Hleihel) [1724336] - [netdrv] mlx5: Refactor mlx5_esw_query_functions for modularity (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch prepare functions change handler to be modular (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Introduce and use mlx5_eswitch_get_total_vports() (Alaa Hleihel) [1724327 1724336] - [infiniband] ib/mlx5: Fixed reporting counters on 2nd port for Dual port RoCE (Alaa Hleihel) [1724336] - [kernel] mlx5: Expose device definitions for object events (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report EQE data upon CQ completion (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report a CQ error event only when a handler was set (Alaa Hleihel) [1724336] - [netdrv] mlx5: mlx5_core_create_cq() enhancements (Alaa Hleihel) [1724336] - [netdrv] mlx5: Expose the API to register for ANY event (Alaa Hleihel) [1724336] - [netdrv] mlx5: Use event mask based on device capabilities (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Fix mlx5_core_destroy_cq() error flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Handle UC address change in switchdev mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Consider host PF for inline mode and vlan pop (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use iterator for vlan and min-inline setups (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Reg/unreg function changed event at correct stage (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Consolidate eswitch function number of VFs (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Refactor eswitch SR-IOV interface (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Handle host PF vport mac/guid for ECPF (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use correct flags when configuring vlan (Alaa Hleihel) [1724336] - [netdrv] mlx5: Reduce dependency on enabled_vfs counter and num_vfs (Alaa Hleihel) [1724336] - [netdrv] mlx5: Don't handle VF func change if host PF is disabled (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Limit scope of mlx5_get_next_phys_dev() to PCI PF devices (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move pci status reg access mutex to mlx5_pci_init (Alaa Hleihel) [1724336] - [kernel] mlx5: Rename mlx5_pci_dev_type to mlx5_coredev_type (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Cleanup rep when doing unload (Alaa Hleihel) [1724336] - [infiniband] {ib, net}/mlx5: E-Switch, Use index of rep for vport to IB port mapping (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Use vport index when init rep (Alaa Hleihel) [1724327 1724336] - [kernel] mlx5: Added MCQI and MCQS registers' description to ifc (Alaa Hleihel) [1724336] - [kernel] mlx5: Add hardware definitions for sub functions (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Disallow tc redirect offload cases we don't support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Expose same physical switch_id for all representors (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Don't refresh TIRs when updating representor SQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: reduce stack usage in mlx5_eswitch_termtbl_create (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Set drvinfo in generic manner (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Correct phys_port_name for PF port (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Report netdevice MPLS features (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move to HW checksumming advertising (Alaa Hleihel) [1724336] - [netdrv] mlx5: MPFS, Allow adding the same MAC more than once (Alaa Hleihel) [1724336] - [netdrv] mlx5: MPFS, Cleanup add MAC flow (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Move queue param structs to en/params.h (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Encapsulate open/close queues into a function (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Consider XSK in XDP MTU limit calculation (Alaa Hleihel) [1724336] - [netdrv] mlx5e: XDP_TX from UMEM support (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Share the XDP SQ for XDP_TX between RQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Refactor struct mlx5e_xdp_info (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Allow ICO SQ to be used by multiple RQs (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Calculate linear RX frag size considering XSK (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Replace deprecated PCI_DMA_TODEVICE (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Attach/detach XDP program safely (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Enable vport metadata matching if firmware supports it (Alaa Hleihel) [1724327 1724336] - [infiniband] rdma/mlx5: Add vport metadata matching for IB representors (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Add match on vport metadata for rule in slow path (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Pass metadata from FDB to eswitch manager (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Add query and modify esw vport context functions (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Add match on vport metadata for rule in fast path (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Specifying known origin of packets matching the flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Add flow context for flow tag (Alaa Hleihel) [1724336] - [netdrv] mlx5: Introduce a helper API to check VF vport (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Support allocating modify header context from ingress ACL (Alaa Hleihel) [1724336] - [netdrv] mlx5: Get vport ACL namespace by vport index (Alaa Hleihel) [1724336] - [kernel] mlx5: Introduce vport metadata matching bits and enum constants (Alaa Hleihel) [1724336] - [netdrv] mlx5: Convert mkey_table to XArray (Alaa Hleihel) [1724308 1724307 1724336] - [infiniband] rdma/mlx5: Refactor MR descriptors allocation (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Use PA mapping for PI handover (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Improve PI handover performance (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Remove unused IB_WR_REG_SIG_MR code (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Enable decap and packet reformat on FDB (Alaa Hleihel) [1724336] - [infiniband] rdma/mlx5: Consider eswitch encap mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: add missing void argument to function mlx5_devlink_alloc (Alaa Hleihel) [1724336] - [kernel] mlx5: Expose eswitch encap mode (Alaa Hleihel) [1724336] - [netdrv] mlx5: Declare more strictly devlink encap mode (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: use indirect calls wrapper for the rx packet handler (Alaa Hleihel) [1724336] - [netdrv] mlx5e: use indirect calls wrapper for skb allocation (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report devlink health on FW fatal issues (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add support for FW fatal reporter dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add fw fatal devlink_health_reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Report devlink health on FW issues (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add support for FW reporter dump (Alaa Hleihel) [1724336] - [netdrv] mlx5: Create FW devlink_health_reporter (Alaa Hleihel) [1724336] - [netdrv] mlx5: Issue SW reset on FW assert (Alaa Hleihel) [1724336] - [netdrv] mlx5: Control CR-space access by different PFs (Alaa Hleihel) [1724336] - [netdrv] mlx5: Handle SW reset of FW in error flow (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add Crdump support (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add Vendor Specific Capability access gateway (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move all devlink related functions calls to devlink.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: Add EQ enable/disable API (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Use a single IRQ for all async EQs (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Rename mlx5_irq_info to mlx5_irq (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move all IRQ logic to pci_irq.c (Alaa Hleihel) [1724336] - [netdrv] mlx5: Generalize IRQ interface to work with irq_table (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ table creation from EQ table creation (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move IRQ affinity set to IRQ allocation phase (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move IRQ rmap creation to IRQ allocation phase (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ data from EQ table data (Alaa Hleihel) [1724336] - [netdrv] mlx5: Separate IRQ request/free from EQ life cycle (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Change interrupt handler to call chain notifier (Alaa Hleihel) [1724308 1724336] - [netdrv] mlx5: Introduce EQ polling budget (Alaa Hleihel) [1724336] - [netdrv] mlx5: Support querying max VFs from device (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Return raw output for query esw functions (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Handle representors creation in handler context (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: Increase wait time for fw initialization (Alaa Hleihel) [1724336] - [netdrv] mlx5: Move firmware flash implementation to devlink (Alaa Hleihel) [1724336] - [netdrv] mlx5e: TX, Improve performance under GSO workload (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Use termination table for VLAN push actions (Alaa Hleihel) [1722647 1724327 1724336] - [netdrv] mlx5e: Geneve, Add support for encap/decap flows offload (Alaa Hleihel) [1725582 1724336] - [netdrv] mlx5e: Rearrange tc tunnel code in a modular way (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Geneve, Keep tunnel info as pointer to the original struct (Alaa Hleihel) [1724336] - [netdrv] mlx5: Geneve, Manage Geneve TLV options (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Enable setting multiple match criteria for flow group (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5e: Allow matching only enc_key_id/enc_dst_port for decapsulation action (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Generalize vport type in vport representor (Alaa Hleihel) [1724336] - [netdrv] {ib, net}/mlx5: Constify rep ops functions pointers (Alaa Hleihel) [1724327 1724336] - [netdrv] {ib, net}/mlx5: No need to typecast from void* to mlx5_ib_dev* (Alaa Hleihel) [1724336] - [netdrv] mlx5: E-Switch, Honor eswitch functions changed event cap (Alaa Hleihel) [1724327 1724336] - [netdrv] mlx5: E-Switch, Replace host_params event with functions_changed event (Alaa Hleihel) [1724327 1724336] - [kernel] mlx5: Introduce termination table bits (Alaa Hleihel) [1722647 1724336] - [kernel] mlx5: Add core dump register access HW bits (Alaa Hleihel) [1724336] - [netdrv] mlx5: potential error pointer dereference in error handling (Alaa Hleihel) [1724336] - [netdrv] mlx5e: Support tagged tunnel over bond (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Avoid detaching non-existing netdev under switchdev mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix source port matching in fdb peer flow rule (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace reciprocal_scale in TX select queue function (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid reloading already removed devices (Alaa Hleihel) [1724335] - [netdrv] mlx5: Update pci error handler entries and command translation (Alaa Hleihel) [1724335] - [infiniband] mlx5: avoid 64-bit division (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Disable rxhash when CQE compress is enabled (Alaa Hleihel) [1724335] - [netdrv] mlx5e: restrict the real_dev of vlan device is the same as uplink device (Alaa Hleihel) [1724335] - [netdrv] mlx5: Allocate root ns memory using kzalloc to match kfree (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid double free in fs init error unwinding path (Alaa Hleihel) [1724335] - [netdrv] mlx5: Avoid double free of root ns in the error flow path (Alaa Hleihel) [1724335] - [netdrv] mlx5: Fix error handling in mlx5_load() (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix possible modify header actions memory leak (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix no rewrite fields with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Additional check for flow destination comparison (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Add missing ethtool driver info for representors (Alaa Hleihel) [1766306 1724335] - [netdrv] mlx5e: Fix number of vports for ingress ACL configuration (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Fix ethtool rxfh commands when CONFIG_MLX5_EN_RXNFC is disabled (Alaa Hleihel) [1724335] - [netdrv] mlx5: Fix peer pf disable hca command (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Correct type to u16 for vport_num and int for vport_index (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add meaningful return codes to status_to_err function (Alaa Hleihel) [1724335] - [netdrv] mlx5: Imply MLXFW in mlx5_core (Alaa Hleihel) [1724335] - [netdrv] mlx5: Set completion EQs as shared resources (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Verify DEVX general object type correctly (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Remove MAYEXEC flag (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Device resource control for privileged DEVX user (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Add steering SW ICM device memory type (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Warn on allocated MEMIC buffers during cleanup (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Support device memory type attribute (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Add missing XRC options to QP optional params mask (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Use atomic rep state to serialize state change (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Fix the check of legal vport (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Use getter to access all vport array (Alaa Hleihel) [1724335] - [netdrv] mlx5: Use available mlx5_vport struct (Alaa Hleihel) [1724335] - [netdrv] mlx5: Reuse mlx5_esw_for_each_vf_vport macro in two files (Alaa Hleihel) [1724335] - [netdrv] mlx5: Remove unused mlx5_query_nic_vport_vlans (Alaa Hleihel) [1724335] - [netdrv] mlx5e: remove meaningless CFLAGS_tracepoint.o (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Put the common XDP code into a function (Alaa Hleihel) [1724335] - [netdrv] mlx5e: ethtool, Add support for EEPROM high pages query (Alaa Hleihel) [1724322 1724335] - [netdrv] mlx5e: Return error when trying to insert existing flower filter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace TC VLAN pop with VLAN 0 rewrite in prio tag mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: ACLs for priority tag mode (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Turn on HW tunnel offload in all TIRs (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Take common TIR context settings into a function (Alaa Hleihel) [1724335] - [kernel] mlx5: Fix broken hca cap offset (Alaa Hleihel) [1725554 1724335] - [kernel] mlx5: Geneve, Add flow table capabilities for Geneve decap with TLV options (Alaa Hleihel) [1725554 1724335] - [kernel] mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities (Alaa Hleihel) [1725554 1724335] - [netdrv] mlx5: Eswitch, enable RoCE loopback traffic (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add new miss flow table action (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add support in RDMA RX steering (Alaa Hleihel) [1724335] - [netdrv] mlx5: Pass flow steering objects to fs_cmd (Alaa Hleihel) [1724335] - [netdrv] mlx5: Enable general events on all interfaces (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces (Alaa Hleihel) [1724335] - [netdrv] mlx5: Separate and generalize dma device from pci device (Alaa Hleihel) [1724335] - [netdrv] mlx5: Get rid of storing copy of device name (Alaa Hleihel) [1724335] - [kernel] mlx5: e-switch: Introduce prio tag mode (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Expose TIR ICM address to user space (Alaa Hleihel) [1724335] - [netdrv] mlx5: Introduce new TIR creation core API (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose TIR ICM address in command outbox (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose SW ICM related device memory capabilities (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Use #define for the WQE wait timeout constant (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused rx_page_reuse stat (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Take HW interrupt trigger into a function (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused parameter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Add an underflow warning comment (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Move parameter calculation functions to en/params.c (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Report mlx5e_xdp_set errors (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove unused parameter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Inline small packets into the TX MPWQE in XDP xmit flow (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Add TX MPWQE session counter (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Enhance RQ indication for XDP redirect flush (Alaa Hleihel) [1724335] - [netdrv] mlx5e: XDP, Fix shifted flag index in RQ bitmap (Alaa Hleihel) [1724335] - [netdrv] mlx5e: RX, Support multiple outstanding UMR posts (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Don't create IB representors when in multiport RoCE mode (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Initialize roce port info before multiport master init (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Allow DEVX and raw creation flow on reps (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Add query e-switch vport context to devx white list (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Allow inserting a steering rule to the FDB (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Create flow table with max size supported (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Access the prio bypass inside the FDB flow table namespace (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Check for error return in flow_rule rather than err (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Remove VF representor profile (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move to single device multiport ports in switchdev mode (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move SMI caps logic (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Refactor netdev affinity code (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move default representors SQ steering to rule to modify QP (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move rep into port struct (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Use correct size for device resources (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move ports allocation to outside of INIT stage (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Free IB device on remove (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Move netdev info into the port struct (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, add a new prio to be used by the RDMA side (Alaa Hleihel) [1724335] - [kernel] mlx5: E-Switch, don't use hardcoded values for FDB prios (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Remove references to uboject->context (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Unify logic of MTU boundaries (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Obsolete param field holding a constant value (Alaa Hleihel) [1724335] - [netdrv] mlx5: A write memory barrier is sufficient in EQ ci update (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Do not rewrite fields with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Offload TC e-switch rules with ingress VLAN device (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Offload TC e-switch rules with egress VLAN device (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Allow VLAN rewrite of prio field with the same match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Deny VLAN rewrite if there is no VLAN header match (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Use helpers to get headers criteria and value pointers (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Return -EOPNOTSUPP when attempting to offload an unsupported action (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Deletes unnecessary setting of esw_attr->parse_attr (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Remove 'parse_attr' argument in parse_tc_fdb_actions() (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Make the log friendly when decapsulation offload not supported (Alaa Hleihel) [1724335] - [netdrv] mlx5: E-Switch, Fix double mutex initialization (Alaa Hleihel) [1724335] - [netdrv] mlx5: Handle event of power detection in the PCIE slot (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Cleanup WQE page fault handler (Alaa Hleihel) [1724335] - [kernel] mlx5: Expose MPEIN (Management PCIE INfo) register layout (Alaa Hleihel) [1724335] - [netdrv] mlx5: Add rate limit print macros (Alaa Hleihel) [1724335] - [infiniband] mlx5: Add explicit bar address field (Alaa Hleihel) [1724335] - [netdrv] mlx5: Replace dev_err/warn/info by mlx5_core_err/warn/info (Alaa Hleihel) [1724335] - [netdrv] mlx5: Use dev->priv.name instead of dev_name (Alaa Hleihel) [1724335] - [netdrv] mlx5: Make mlx5_core messages independent from mdev->pdev (Alaa Hleihel) [1724335] - [netdrv] mlx5: Break load_one into three stages (Alaa Hleihel) [1724335] - [netdrv] mlx5: Function setup/teardown procedures (Alaa Hleihel) [1724335] - [netdrv] mlx5: Move health and page alloc init to mdev_init (Alaa Hleihel) [1724335] - [netdrv] mlx5: Split mdev init and pci init (Alaa Hleihel) [1724335] - [netdrv] mlx5: Remove redundant init functions parameter (Alaa Hleihel) [1724335] - [kernel] mlx5: Remove spinlock support from mlx5_write64 (Alaa Hleihel) [1724335] - [kernel] mlx5: Remove unused MLX5_*_DOORBELL_LOCK macros (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Declare devx_async_cmd_event_fops static (Alaa Hleihel) [1724335] - [infiniband] ib/mlx5: Compare only index part of a memory window rkey (Alaa Hleihel) [1724335] - [infiniband] mlx5: Convert mlx5_srq_table to XArray (Alaa Hleihel) [1724335] - [netdrv] mlx5e: Replace TC VLAN pop and push actions with VLAN modify (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: Support VLAN modify action (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: Add VLAN ID rewrite fields (Alaa Hleihel) [1722646 1724335] - [netdrv] mlx5e: TX, Add geneve tunnel stateless offload support (Alaa Hleihel) [1722661 1724335] - [netdrv] mlx5e: Take SW parser code to a separate function (Alaa Hleihel) [1722661 1724335] - [netdrv] mlx5e: Fix port buffer function documentation format (Alaa Hleihel) [1724335] - [netdrv] mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API (Alaa Hleihel) [1724335] - [netdrv] mlx5: Rename total_vfs to total_vports (Alaa Hleihel) [1724335] - [netdrv] mlx5: Simplify sriov enable/disable flow (Alaa Hleihel) [1724335] - [infiniband] rdma/mlx5: Use rdma_user_map_io for mapping BAR pages (Alaa Hleihel) [1724333] - [netdrv] mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Switch to Toeplitz RSS hash by default (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Protect against non-uplink representor for encap (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Rx, Fixup skb checksum for packets with tail padding (Alaa Hleihel) [1724333] - [netdrv] mlx5e: XDP, Avoid checksum complete when XDP prog is loaded (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Use fail-safe channels reopen in tx reporter recover (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Skip un-needed tx recover if interface state is down (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update xon formula (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update xoff formula (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, fix syndrome (0x678139) when turn on vepa (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5: E-Switch, Protect from invalid memory access in offload fdb table (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Fix access to invalid memory when toggling esw modes (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5e: Add a lock on tir list (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix error handling when refreshing TIRs (Alaa Hleihel) [1724333] - [netdrv] mlx5: Decrease default mr cache size (Alaa Hleihel) [1748518 1724333] - [infiniband] ib/mlx5: Reset access mask when looping inside page fault handler (Alaa Hleihel) [1724333] - [netdrv] mlx5: Avoid panic when setting vport rate (Alaa Hleihel) [1724333] - [netdrv] mlx5: Avoid panic when setting vport mac, getting vport config (Alaa Hleihel) [1724333] - [netdrv] mlx5e: IPoIB, Fix RX checksum statistics update (Alaa Hleihel) [1724333] - [netdrv] mlx5: Remove redundant lag function to get pf num (Alaa Hleihel) [1724333] - [netdrv] mlx5: ODP support for XRC transport is not enabled by default in FW (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Update tx reporter status in case channels were successfully opened (Alaa Hleihel) [1722274 1724333] - [netdrv] mellanox: Switch to bitmap_zalloc() (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Set correct write permissions for implicit ODP MR (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Declare mlx5e_tx_reporter_recover_from_ctx as static (Alaa Hleihel) [1724333] - [netdrv] mlx5: Support ndo bridge_setlink and getlink (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5: E-Switch, Add support for VEPA in legacy mode (Alaa Hleihel) [1722659 1724333] - [netdrv] mlx5e: Fix mlx5e_tx_reporter_create return value (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix return status of TX reporter timeout recover (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Re-add support for TX timeout when TX reporter is not valid (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Fix warn print in case of TX reporter creation failure (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Disable esw manager vport correctly (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Fix the warning on vport index out of range (Alaa Hleihel) [1724333] - [netdrv] mlx5: Delete unused FPGA QPN variable (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Wrap the open and apply of channels in one fail-safe function (Alaa Hleihel) [1724333] - [netdrv] mlx5: Factor out HCA capabilities functions (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Allow transition to offloads mode for ECPF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Load/unload VF reps according to event from host PF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Consider ECPF vport depends on eswitch ownership (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Assign a different position for uplink rep and vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Centralize repersentor reg/unreg to eswitch driver (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Support load/unload reps of specific vport types (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Add state to eswitch vport representors (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Use getter and iterator to access vport/rep (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Split VF and special vports for offloads mode (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Refactor offloads flow steering init/cleanup (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Properly refer to host PF vport as other vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Properly refer to the esw manager vport (Alaa Hleihel) [1724333] - [netdrv] mlx5: Correctly set LAG mode for ECPF (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Avoid magic numbers when initializing offloads mode (Alaa Hleihel) [1724333] - [kernel] mlx5: Relocate vport macros to the vport header file (Alaa Hleihel) [1724333] - [netdrv] mlx5: E-Switch, Normalize the name of uplink vport number (Alaa Hleihel) [1724333] - [kernel] mlx5: Provide an alternative VF upper bound for ECPF (Alaa Hleihel) [1724333] - [kernel] mlx5: Add host params change event (Alaa Hleihel) [1724333] - [kernel] mlx5: Add query host params command (Alaa Hleihel) [1724333] - [netdrv] mlx5: Update enable HCA dependency (Alaa Hleihel) [1724333] - [netdrv] mlx5: Introduce Mellanox SmartNIC and modify page management logic (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Use unified register/load function for uplink and VF vports (Alaa Hleihel) [1724333] - [netdrv] mlx5: Use consistent vport num argument type (Alaa Hleihel) [1724333] - [kernel] mlx5: Use void pointer as the type in address_of macro (Alaa Hleihel) [1724333] - [netdrv] mlx5: Align ODP capability function with netdev coding style (Alaa Hleihel) [1724333] - [netdrv] mlx5: use RCU lock in mlx5_eq_cq_get() (Alaa Hleihel) [1724333] - [infiniband] rdma/mlx5: Fix memory leak in case we fail to add an IB device (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Simplify WQE count power of two check (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Add tx timeout support for mlx5e tx reporter (Alaa Hleihel) [1722274 1724333] - [netdrv] mlx5e: Add tx reporter support (Alaa Hleihel) [1722274 1724333] - [infiniband] ib/mlx5: Advertise XRC ODP support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Advertise SRQ ODP support for supported transports (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Add ODP SRQ support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Let read user wqe also from SRQ buffer (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Add XRC initiator ODP support (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Remove useless check in ODP handler (Alaa Hleihel) [1724333] - [netdrv] mlx5: Set ODP SRQ support in firmware (Alaa Hleihel) [1724333] - [kernel] mlx5: Add XRC transport to ODP device capabilities layout (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Implement DEVX hot unplug for async command FD (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Implement the file ops of DEVX async command FD (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Reuse fold sw stats in representors (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Present the representors SW stats when state is not opened (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Separate between ethtool and netdev software stats folding (Alaa Hleihel) [1724333] - [netdrv] mlx5: Add trace points for flow tables create/destroy (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Expand XPS cpumask to cover all online cpus (Alaa Hleihel) [1724333] - [netdrv] mlx5e: Take CQ decompress fields into a separate structure (Alaa Hleihel) [1724333] - [netdrv] mlx5e: RX, Make sure packet header does not cross page boundary (Alaa Hleihel) [1724333] - [infiniband] mlx5: no need to check return value of debugfs_create functions (Alaa Hleihel) [1724333] - [netdrv] mlx5: Add pci AtomicOps request (Alaa Hleihel) [1724333] - [infiniband] ib/mlx5: Don't override existing ip_protocol (Alaa Hleihel) [1724333] - [infiniband] rdma/mlx5: Replace kzalloc with kcalloc (Alaa Hleihel) [1724333] - [documentation] netfilter: doc: Add nf_tables part in tproxy.txt (Phil Sutter) [1762977] - [net] netfilter: nft_socket: fix erroneous socket assignment (Phil Sutter) [1762977] - [net] netfilter: nft_socket: Break evaluation if no socket found (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Fix missing-braces warning (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Add missing config check (Phil Sutter) [1762977] - [net] netfilter: nf_tables: Add native tproxy support (Phil Sutter) [1762977] - [net] netfilter: nft_tproxy: Move nf_tproxy_assign_sock() to nf_tproxy.h (Phil Sutter) [1762977] - [net] sched: ensure opts_len <= IP_TUNNEL_OPTS_MAX in act_tunnel_key (Ivan Vecera) [1774706] - [net] ipmr: Fix skb headroom in ipmr_get_route(). (Guillaume Nault) [1773692] - [net] netns: fix GFP flags in rtnl_net_notifyid() (Guillaume Nault) [1763661] - [net] netns: fix NLM_F_ECHO mechanism for RTM_NEWNSID (Guillaume Nault) [1763661] - [netdrv] ptp: ptp_clock: Publish scaled_ppm_to_ppb (Ivan Vecera) [1772085] - [kernel] rh_features: move rh_features entry to sys/kernel (Hangbin Liu) [1660583] - [net] netfilter: nf_tables: Make nft_meta expression more robust (Phil Sutter) [1725169] - [tools] selftests/tls: add test for concurrent recv and send (Sabrina Dubroca) [1760375] - [net] tls: add a TX lock (Sabrina Dubroca) [1760375] - [net] tls: don't pay attention to sk_write_pending when pushing partial records (Sabrina Dubroca) [1760375] - [net] tls: fix sk_msg trim on fallback to copy mode (Sabrina Dubroca) [1760375] - [net] tls: align non temporal copy to cache lines (Sabrina Dubroca) [1760375] - [net] tls: remove the record tail optimization (Sabrina Dubroca) [1760375] - [net] tls: use RCU for the adder to the offload record list (Sabrina Dubroca) [1760375] - [net] tls: unref frags in order (Sabrina Dubroca) [1760375] - [net] tcp: ulp: fix possible crash in tcp_diag_get_aux_size() (Sabrina Dubroca) [1760375] - [net] tls: dedup the record cleanup (Sabrina Dubroca) [1760375] - [net] tls: clean up the number of #ifdefs for CONFIG_TLS_DEVICE (Sabrina Dubroca) [1760375] - [net] tls: narrow down the critical area of device_offload_lock (Sabrina Dubroca) [1760375] - [net] tls: don't jump to return (Sabrina Dubroca) [1760375] - [net] tls: export protocol version, cipher, tx_conf/rx_conf to socket diag (Sabrina Dubroca) [1760375] - [net] tcp: ulp: add functions to dump ulp-specific information (Sabrina Dubroca) [1760375] - [net] tls: use RCU protection on icsk->icsk_ulp_data (Sabrina Dubroca) [1760375] - [net] core/skmsg: Delete an unnecessary check before the function call "consume_skb" (Sabrina Dubroca) [1760375] - [net] tls, fix sk_write_space NULL write when tx disabled (Sabrina Dubroca) [1760375] - [net] tls: swap sk_write_space on close (Sabrina Dubroca) [1760375] - [net] tls: prevent skb_orphan() from leaking TLS plain text with offload (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a litmus test for the socket reuse through shutdown (Sabrina Dubroca) [1760375] - [net] tls: partially revert fix transition through disconnect with close (Sabrina Dubroca) [1760375] - [documentation] TLS: fix stat counters description (Sabrina Dubroca) [1760375] - [tools] selftests/tls: fix TLS tests with CONFIG_TLS=n (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add shutdown tests (Sabrina Dubroca) [1760375] - [tools] selftests/tls: close the socket with open record (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a bidirectional test (Sabrina Dubroca) [1760375] - [tools] selftests/tls: test error codes around TLS ULP installation (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add a test for ULP but no keys (Sabrina Dubroca) [1760375] - [net] bpf: sockmap/tls, close can race with map free (Sabrina Dubroca) [1760375] - [net] tls: fix transition through disconnect with close (Sabrina Dubroca) [1760375] - [net] tls: remove sock unlock/lock around strp_done() (Sabrina Dubroca) [1760375] - [net] tls: remove close callback sock unlock/lock around TX work flush (Sabrina Dubroca) [1760375] - [net] tls: don't call tls_sk_proto_close for hw record offload (Sabrina Dubroca) [1760375] - [net] tls: don't arm strparser immediately in tls_set_sw_offload() (Sabrina Dubroca) [1760375] - [net] tls: add missing prot info init (Sabrina Dubroca) [1760375] - [netdrv] mlx5: Return -EINVAL when WARN_ON_ONCE triggers in mlx5e_tls_resync(). (Sabrina Dubroca) [1760375] - [net] tls: don't clear TX resync flag on error (Sabrina Dubroca) [1760375] - [tools] selftests/tls: add test for poll() with data in TLS ULP (Sabrina Dubroca) [1760375] - [net] tls: add kernel-driven resync mechanism for TX (Sabrina Dubroca) [1760375] - [net] tls: generalize the resync callback (Sabrina Dubroca) [1760375] - [net] tls: add kernel-driven TLS RX resync (Sabrina Dubroca) [1760375] - [net] tls: rename handle_device_resync() (Sabrina Dubroca) [1760375] - [net] tls: pass record number as a byte array (Sabrina Dubroca) [1760375] - [net] tls: simplify seq calculation in handle_device_resync() (Sabrina Dubroca) [1760375] - [net] tls: export TLS per skb encryption (Sabrina Dubroca) [1760375] - [include] net/tls: simplify driver context retrieval (Sabrina Dubroca) [1760375] - [include] net/tls: split the TLS_DRIVER_STATE_SIZE and bump TX to 16 bytes (Sabrina Dubroca) [1760375] - [net] tls: don't pass version to tls_advance_record_sn() (Sabrina Dubroca) [1760375] - [include] net/tls: reorganize struct tls_context (Sabrina Dubroca) [1760375] - [net] tls: use version from prot (Sabrina Dubroca) [1760375] - [net] tls: don't re-check msg decrypted status in tls_device_decrypted() (Sabrina Dubroca) [1760375] - [net] tls: don't look for decrypted frames on non-offloaded sockets (Sabrina Dubroca) [1760375] - [net] tls: remove false positive warning (Sabrina Dubroca) [1760375] - [net] tls: check return values from skb_copy_bits() and skb_store_bits() (Sabrina Dubroca) [1760375] - [net] tls: fully initialize the msg wrapper skb (Sabrina Dubroca) [1760375] - [net] tls: replace the sleeping lock around RX resync with a bit lock (Sabrina Dubroca) [1760375] - [net] revert "net/tls: avoid NULL-deref on resync during device removal" (Sabrina Dubroca) [1760375] - [net] tls: avoid NULL-deref on resync during device removal (Sabrina Dubroca) [1760375] - [net] tls: Add support of AES128-CCM based ciphers (Sabrina Dubroca) [1760375] - [documentation] add TLS offload documentation (Sabrina Dubroca) [1760375] - [documentation] tls: RSTify the ktls documentation (Sabrina Dubroca) [1760375] - [net] xdp: increase kABI version (Jiri Benc) [1749817] - [tools] selftests: bpf: disable test_seg6_loop test (Jiri Benc) [1749817] - [tools] selftests: bpf: fix test_tc_tunnel hanging (Jiri Benc) [1749817] - [tools] selftests: bpf: xdping is not meant to be run standalone (Jiri Benc) [1749817] - [tools] libbpf: Use implicit XSKMAP lookup from AF_XDP XDP program (Jiri Benc) [1749817] - [lib] bpf, testing: Introduce 'gso_linear_no_head_frag' skb_segment test (Jiri Benc) [1749817] - [lib] bpf, testing: Refactor test_skb_segment() for testing skb_segment() on different skbs (Jiri Benc) [1749817] - [tools] selftests/bpf: test_progs: Don't leak server_fd in tcp_rtt (Jiri Benc) [1749817] - [tools] selftests/bpf: test_progs: fix client/server race in tcp_rtt (Jiri Benc) [1749817] - [net] flow_dissector: Fix potential use-after-free on BPF_PROG_DETACH (Jiri Benc) [1749817] - [tools] selftests/bpf: fix race in test_tcp_rtt test (Jiri Benc) [1749817] - [net] xdp: unpin xdp umem pages in error path (Jiri Benc) [1749817] - [net] sock: make cookie generation global instead of per netns (Jiri Benc) [1749817] - [net] bpfilter: add "WITH Linux-syscall-note" to SPDX tag of uapi headers (Jiri Benc) [1749817] - [net] bpf: sockmap, only create entry if ulp is not already enabled (Jiri Benc) [1749817] - [net] bpf: sockmap, synchronize_rcu before free'ing map (Jiri Benc) [1749817] - [net] bpf: sockmap, sock_map_delete needs to use xchg (Jiri Benc) [1749817] - [net] core: page_pool: add user refcnt and reintroduce page_pool_destroy (Jiri Benc) [1749817] - [net] bpf: avoid unused variable warning in tcp_bpf_rtt() (Jiri Benc) [1749817] - [net] xdp: fix potential deadlock on socket mutex (Jiri Benc) [1749817] - [net] bpfilter: print umh messages to /dev/kmsg (Jiri Benc) [1749817] - [net] xdp: fix possible cq entry leak (Jiri Benc) [1749817] - [net] xdp: fix race on generic receive path (Jiri Benc) [1749817] - [samples] bpf: fix tcp_bpf.readme detach command (Jiri Benc) [1749817] - [samples] bpf: add sample program that periodically dumps TCP stats (Jiri Benc) [1749817] - [tools] selftests/bpf: test BPF_SOCK_OPS_RTT_CB (Jiri Benc) [1749817] - [tools] bpf/tools: sync bpf.h (Jiri Benc) [1749817] - [net] bpf: add icsk_retransmits to bpf_tcp_sock (Jiri Benc) [1749817] - [net] bpf: add dsack_dups/delivered{, _ce} to bpf_tcp_sock (Jiri Benc) [1749817] - [net] bpf: split shared bpf_tcp_sock and bpf_sock_ops implementation (Jiri Benc) [1749817] - [net] bpf: add BPF_CGROUP_SOCK_OPS callback that is executed on every RTT (Jiri Benc) [1749817] - [net] init/kconfig: add CONFIG_CC_CAN_LINK (Jiri Benc) [1749817] - [net] page_pool: add helper function for retrieving dma direction (Jiri Benc) [1749817] - [net] xdp: fix hang while unregistering device bound to xdp socket (Jiri Benc) [1749817] - [net] xdp: hold device for umem regardless of zero-copy mode (Jiri Benc) [1749817] - [net] xsk: Change the default frame size to 4096 and allow controlling it (Jiri Benc) [1749817] - [tools] libbpf: Support getsockopt XDP_OPTIONS (Jiri Benc) [1749817] - [net] xsk: Add getsockopt XDP_OPTIONS (Jiri Benc) [1749817] - [net] xsk: Add API to check for available entries in FQ (Jiri Benc) [1749817] - [net] xsk: Properly terminate assignment in xskq_produce_flush_desc (Jiri Benc) [1749817] - [net] xdp: Make __mem_id_disconnect static (Jiri Benc) [1749817] - [net] xsk: sample kernel code is now in libbpf (Jiri Benc) [1749817] - [net] page_pool: fix compile warning when CONFIG_PAGE_POOL is disabled (Jiri Benc) [1749817] - [net] page_pool: make sure struct device is stable (Jiri Benc) [1749817] - [net] page_pool: add tracepoints for page_pool with details need by XDP (Jiri Benc) [1749817] - [net] xdp: add tracepoints for XDP mem (Jiri Benc) [1749817] - [net] xdp: force mem allocator removal and periodic warning (Jiri Benc) [1749817] - [net] xdp: tracking page_pool resources and safe removal (Jiri Benc) [1749817] - [netdrv] mlx5: more strict use of page_pool API (Jiri Benc) [1749817] - [net] page_pool: introduce page_pool_free and use in mlx5 (Jiri Benc) [1749817] - [net] veth: use xdp_release_frame for XDP_PASS (Jiri Benc) [1749817] - [net] xdp: page_pool related fix to cpumap (Jiri Benc) [1749817] - [net] xdp: fix leak of IDA cyclic id if rhashtable_insert_slow fails (Jiri Benc) [1749817] - [net] page_pool: add helper function to unmap dma addresses (Jiri Benc) [1749817] - [net] page_pool: add helper function to retrieve dma addresses (Jiri Benc) [1749817] - [net] page_pool: use DMA_ATTR_SKIP_CPU_SYNC for DMA mappings (Jiri Benc) [1749817] - [net] page_pool: don't use page->private to store dma_addr_t (Jiri Benc) [1749817] - [mm] add dma_addr_t to struct page (Jiri Benc) [1749817] - [tools] bpf: Sync asm-generic/socket.h to tools/ (Jiri Benc) [1749817] - [net] bpf: net: Add SO_DETACH_REUSEPORT_BPF (Jiri Benc) [1749817] - [net] veth: Support bulk XDP_TX (Jiri Benc) [1749817] - [net] flow_dissector: remove unused FLOW_DISSECTOR_F_STOP_AT_L3 flag (Jiri Benc) [1749817] - [tools] selftests/bpf: fix compilation error for flow_dissector.c (Jiri Benc) [1749817] - [net] bpf: Update BPF_CGROUP_RUN_PROG_INET_EGRESS calls (Jiri Benc) [1749817] - [net] signal/bpfilter: Fix bpfilter_kernl to use send_sig not force_sig (Jiri Benc) [1749817] - [net] arch: Use asm-generic/socket.h when possible (Jiri Benc) [1749817] - [net] flow_dissector: correct comments on enum flow_dissector_key_id (Jiri Benc) [1749817] - [net] tcp: add stat of data packet reordering events (Jiri Benc) [1749817] - [net] tcp: add dsack blocks received stats (Jiri Benc) [1749817] - [net] tcp: add data bytes retransmitted stats (Jiri Benc) [1749817] - [net] tcp: add data bytes sent stats (Jiri Benc) [1749817] - [net] tcp: add a helper to calculate size of opt_stats (Jiri Benc) [1749817] - [net] netfilter: Support iif matches in POSTROUTING (Phil Sutter) [1775961] - [tools] selftests: add basic netdevsim devlink flash testing (Petr Oros) [1770359] - [netdrv] netdevsim: implement fake flash updating with notifications (Petr Oros) [1770359] - [net] devlink: allow driver to update progress of flash update (Petr Oros) [1770359] - [net] devlink: Add extack to shared buffer operations (Petr Oros) [1770347] - [net] xfrm: policy: avoid warning splat when merging nodes (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix bydst hlist corruption on hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix infinite loop when merging src-nodes (Sabrina Dubroca) [1758100] - [tools] selftests: xfrm: alter htresh to trigger move of policies to hash table (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix reinsertion on node merge (Sabrina Dubroca) [1758100] - [net] xfrm: policy: delete inexact policies from inexact list on hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: use hlist rcu variants on inexact insert, part 2 (Sabrina Dubroca) [1758100] - [tools] selftests: xfrm: add block rules with adjacent/overlapping subnets (Sabrina Dubroca) [1758100] - [net] xfrm: policy: remove set but not used variable 'priority' (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix policy hash rebuild (Sabrina Dubroca) [1758100] - [net] xfrm: policy: fix netlink/pf_key policy lookups (Sabrina Dubroca) [1758100] - [net] xfrm: policy: add 2nd-level saddr trees for inexact policies (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in a tree ordered by source address (Sabrina Dubroca) [1758100] - [net] xfrm: policy: check reinserted policies match their node (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in a tree ordered by destination address (Sabrina Dubroca) [1758100] - [net] xfrm: policy: add inexact policy search tree infrastructure (Sabrina Dubroca) [1758100] - [net] xfrm: policy: consider if_id when hashing inexact policy (Sabrina Dubroca) [1758100] - [net] xfrm: policy: store inexact policies in an rhashtable (Sabrina Dubroca) [1758100] - [net] xfrm: policy: return NULL when inexact search needed (Sabrina Dubroca) [1758100] - [net] xfrm: policy: split list insertion into a helper (Sabrina Dubroca) [1758100] - [net] xfrm: security: iterate all, not inexact lists (Sabrina Dubroca) [1758100] - [tools] selftests: add xfrm policy test script (Sabrina Dubroca) [1758100] - [net] af_packet: fix the tx skb protocol in raw sockets with ETH_P_ALL (Ivan Vecera) [1765561] - [netdrv] mlx5e: Trust kernel regarding transport offset (Ivan Vecera) [1765561] - [netdrv] net/mlx5e: Remove the wrong assumption about transport offset (Ivan Vecera) [1765561] - [net] packet: Remove redundant skb->protocol set (Ivan Vecera) [1765561] - [net] packet: Ask driver for protocol if not provided by user (Ivan Vecera) [1765561] - [net] ethernet: Add parse_protocol header_ops support (Ivan Vecera) [1765561] - [include] net: Introduce parse_protocol header_ops callback (Ivan Vecera) [1765561] - [net] Don't set transport offset to invalid value (Ivan Vecera) [1765561] - [netdrv] Fix Kconfig indentation (Josef Oskera) [1764592] - [netdrv] be2net: make two arrays static const, makes object smaller (Josef Oskera) [1764592] - [netdrv] be2net: eliminate enable field from be_aic_obj (Josef Oskera) [1764592] - [netdrv] Use skb_frag_off accessors (Josef Oskera) [1764592] - [netdrv] Use skb accessors in network drivers (Josef Oskera) [1764592] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 338 (Josef Oskera) [1764592] - [netdrv] treewide: Add SPDX license identifier - Makefile/Kconfig (Josef Oskera) [1764592] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Josef Oskera) [1764592] - [documentation] networking: switchdev: Update port parent ID section (Ivan Vecera) [1757840] - [net] Get rid of SWITCHDEV_ATTR_ID_PORT_PARENT_ID (Ivan Vecera) [1757840] - [net] dsa: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [drivers] staging: fsl-dpaa2: ethsw: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] mscc: ocelot: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] net/mlx5e: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [netdrv] liquidio: Implement ndo_get_port_parent_id() (Ivan Vecera) [1757840] - [net] tipc: fix unlimited bundling of small messages (Jon Maloy) [1761969] - [net] tipc: clean up skb list lock handling on send path (Jon Maloy) [1761969] - [net] tipc: fix false detection of retransmit failures (Jon Maloy) [1761969] - [net] tipc: reduce risk of wakeup queue starvation (Jon Maloy) [1761969] - [net] tipc: fix changeover issues due to large packet (Jon Maloy) [1761969] - [net] tipc: optimize link synching mechanism (Jon Maloy) [1761969] - [net] tipc: Fix a typo (Jon Maloy) [1761969] - [net] tipc: use rcu dereference functions properly (Jon Maloy) [1761969] - [net] tipc: remove ub->ubsock checks (Jon Maloy) [1761969] - [net] tipc: embed jiffies in macro TIPC_BC_RETR_LIM (Jon Maloy) [1761969] - [net] tipc: add dst_cache support for udp media (Jon Maloy) [1761969] - [net] tipc: rename function msg_get_wrapped() to msg_inner_hdr() (Jon Maloy) [1761969] - [net] tipc: eliminate unnecessary skb expansion during retransmission (Jon Maloy) [1761969] - [net] tipc: simplify stale link failure criteria (Jon Maloy) [1761969] - [net] tipc: check msg->req data len in tipc_nl_compat_bearer_disable (Jon Maloy) [1761969] - [net] tipc: remove the unnecessary msg->req check from tipc_nl_compat_bearer_set (Jon Maloy) [1761969] - [net] tipc: fix issues with early FAILOVER_MSG from peer (Jon Maloy) [1761969] - [net] tipc: include retrans failure detection for unicast (Jon Maloy) [1761969] - [net] tipc: purge deferredq list for each grp member in tipc_group_delete (Jon Maloy) [1761969] - [net] devlink: remove redundant rtnl lock assert (Marcelo Leitner) [1774694]- [gpu] drm/i915/aml: Allow SPT PCH for all AML devices (Lyude Paul) [1761469 1731110] - [gpu] drm/i915/cml: Add second PCH ID for CMP (Lyude Paul) [1731110] - [drm] i915/cml: Add Missing PCI IDs (Lyude Paul) [1727949 1731110] - [gpu] DRM Backport 5.2 -> 5.3 (Lyude Paul) [1731110] - [xen] mm/pgtable: drop pgtable_t variable from pte_fn_t functions (Lyude Paul) [1731110] - [gpu] DRM Backport 5.1 -> 5.2 (Lyude Paul) [1731110] - [s390] bus_find_device: Unify the match callback with class_find_device (Lyude Paul) [1731110] - [kernel] i2c: algo-bit: include main i2c header (Lyude Paul) [1731110] - [extcon] axp288: Add a depends on ACPI to the Kconfig entry (Lyude Paul) [1731110] - [extcon] axp288: Convert to use acpi_dev_get_first_match_dev() (Lyude Paul) [1731110] - [acpi] gpio: merrifield: Fix build err without CONFIG_ACPI (Lyude Paul) [1731110] - [gpio] merrifield: Convert to use acpi_dev_get_first_match_dev() (Lyude Paul) [1731110] - [kernel] proc/sysctl: add shared variables for range check (Lyude Paul) [1731110] - [gpu] drm/i915: Split Pineview device info into desktop and mobile (Lyude Paul) [1731110] - [gpu] snd/hda, drm/i915: Track the display_power_status using a cookie (Lyude Paul) [1731110] - [video] hdmi: Dropped static functions from kernel doc (Lyude Paul) [1731110] - [video] hdmi: Add Unpack function for DRM infoframe (Lyude Paul) [1731110] - [video] drm: Enable HDR infoframe support (Lyude Paul) [1731110] - [kernel] drm: Add HDR source metadata property (Lyude Paul) [1731110] - [gpu] drm: Add colorspace info to AVI Infoframe (Lyude Paul) [1731110] - [gpu] drm: Add HDMI colorspace property (Lyude Paul) [1731110] - [kernel] video/hdmi: Add an enum for HDMI packet types (Lyude Paul) [1731110] - [video] hdmi: Constify infoframe passed to the pack functions (Lyude Paul) [1731110] - [video] hdmi: Constify infoframe passed to the log functions (Lyude Paul) [1731110] - [video] hdmi: Pass buffer size to infoframe unpack functions (Lyude Paul) [1731110] - [video] hdmi: Constify 'buffer' to the unpack functions (Lyude Paul) [1731110] - [video] media: hdmi.h: rename ADOBE_RGB to OPRGB and ADOBE_YCC to OPYCC (Lyude Paul) [1731110] - [media] replace ADOBERGB by OPRGB (Lyude Paul) [1731110] - [dma-buf] add show_fdinfo handler (Lyude Paul) [1731110] - [dma-buf] dma-fence: Signal all callbacks from dma_fence_release() (Lyude Paul) [1731110] - [dma-buf] udmabuf: actually unmap the scatterlist (Lyude Paul) [1731110] - [dma-buf] Make mmap callback actually optional (Lyude Paul) [1731110] - [dma-buf] Remove unused sync_dump() (Lyude Paul) [1731110] - [kernel] dma-buf: explicitely note that dma-fence-chains use 64bit seqno (Lyude Paul) [1731110] - [dma-buf] fix stack corruption in dma_fence_chain_release (Lyude Paul) [1731110] - [dma-buf] add new dma_fence_chain container v7 (Lyude Paul) [1731110] - [dma-buf] add some lockdep asserts to the reservation object implementation (Lyude Paul) [1731110] - [iommu] arm-smmu-v3: Fix build error without CONFIG_PCI_ATS (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Avoid locking on invalidation path when not using ATS (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Fix ATC invalidation ordering wrt main TLBs (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Rework enabling/disabling of ATS for PCI masters (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Don't issue CMD_SYNC for zero-length invalidations (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Remove boolean bitfield for 'ats_enabled' flag (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Document ordering guarantees of command insertion (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Defer TLB invalidation until ->iotlb_sync() (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Reduce contention during command-queue insertion (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Operate directly on low-level queue where possible (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Move low-level queue fields out of arm_smmu_queue (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Drop unused 'q' argument from Q_OVF macro (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Separate s/w and h/w views of prod and cons indexes (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Pass struct iommu_iotlb_gather to ->tlb_add_page() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Pass struct iommu_iotlb_gather to ->unmap() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Remove unused ->tlb_sync() callback (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Replace ->tlb_add_flush() with ->tlb_add_page() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable-arm: Call ->tlb_flush_walk() and ->tlb_flush_leaf() (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Hook up ->tlb_flush_walk() and ->tlb_flush_leaf() in drivers (Jerry Snitselaar) [1729845] - [kernel] iommu/io-pgtable: Introduce tlb_flush_walk() and tlb_flush_leaf() (Jerry Snitselaar) [1729845] - [iommu] Pass struct iommu_iotlb_gather to ->unmap() and ->iotlb_sync() (Jerry Snitselaar) [1729845] - [kernel] iommu: Introduce iommu_iotlb_gather_add_page() (Jerry Snitselaar) [1729845] - [kernel] iommu: Introduce struct iommu_iotlb_gather for batching TLB flushes (Jerry Snitselaar) [1729845] - [iommu] io-pgtable: Rename iommu_gather_ops to iommu_flush_ops (Jerry Snitselaar) [1729845] - [iommu] io-pgtable-arm: Remove redundant call to io_pgtable_tlb_sync() (Jerry Snitselaar) [1729845] - [kernel] iommu: Remove empty iommu_tlb_range_add() callback from iommu_ops (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Invalidate ATC when detaching a device (Jerry Snitselaar) [1729845] - [iommu] arm-smmu-v3: Add support for PCI ATS (Jerry Snitselaar) [1729845] - [iommu] Introduce iotlb_sync_map callback (Jerry Snitselaar) [1742234] - [kernel] dma-mapping: fix page attributes for dma_mmap_* (Jerry Snitselaar) [1754727] - [kernel] dma-mapping: check pfn validity in dma_common_{mmap, get_sgtable} (Jerry Snitselaar) [1754727] - [kernel] swiotlb: checking whether swiotlb buffer is full with io_tlb_used (Jerry Snitselaar) [1754727] - [kernel] dma-direct: fix zone selection after an unaddressable CMA allocation (Jerry Snitselaar) [1754727] - [kernel] dma-contiguous: page-align the size in dma_free_contiguous() (Jerry Snitselaar) [1754727] - [kernel] dma-contiguous: do not overwrite align in dma_alloc_contiguous() (Jerry Snitselaar) [1754727] - [kernel] dma-mapping: fix panic caused by passing empty cma command line argument (Jerry Snitselaar) [1754727] - [iommu] dma: Handle SG length overflow better (Jerry Snitselaar) [1742234] - [iommu] dma: Handle MSI mappings separately (Jerry Snitselaar) [1742234] - [iommu] dma: Apply dma_{alloc, free}_contiguous functions (Jerry Snitselaar) [1742234] - [iommu] dma: Don't depend on CONFIG_DMA_DIRECT_REMAP (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_mmap (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_get_sgtable (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_alloc, part 2 (Jerry Snitselaar) [1742234] - [iommu] dma: Cleanup variable naming in iommu_dma_alloc (Jerry Snitselaar) [1742234] - [iommu] dma: Split iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Merge the CMA and alloc_pages allocation paths (Jerry Snitselaar) [1742234] - [iommu] dma: Don't remap CMA unnecessarily (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_alloc (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Remove __iommu_dma_free (Jerry Snitselaar) [1742234] - [iommu] dma: Refactor the page array remapping allocator (Jerry Snitselaar) [1742234] - [iommu] dma: Factor out remapped pages lookup (Jerry Snitselaar) [1742234] - [iommu] dma: Squash __iommu_dma_{map, unmap}_page helpers (Jerry Snitselaar) [1742234] - [iommu] dma: Move domain lookup into __iommu_dma_{map, unmap} (Jerry Snitselaar) [1742234] - [iommu] dma: Move __iommu_dma_map (Jerry Snitselaar) [1742234] - [iommu] dma: Use for_each_sg in iommu_dma_alloc (Jerry Snitselaar) [1742234] - [clk] Make clk_bulk_get_all() return a valid "id" (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Support all Mali configurations (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Correct Mali attributes (Jerry Snitselaar) [1722978] - [iommu] vt-d: Fix panic after kexec -p for kdump (Jerry Snitselaar) [1742234] - [kernel] iommu/iova: Fix compilation error with !CONFIG_IOMMU_IOVA (Jerry Snitselaar) [1742234] - [iommu] amd: Check PM_LEVEL_SIZE() condition in locked section (Jerry Snitselaar) [1742234] - [iommu] amd: Fix incorrect PASID decoding from event log (Jerry Snitselaar) [1742234] - [iommu] amd: Lock code paths traversing protection_domain->dev_list (Jerry Snitselaar) [1742234] - [iommu] amd: Lock dev_data in attach/detach code paths (Jerry Snitselaar) [1742234] - [iommu] amd: Check for busy devices earlier in attach_device() (Jerry Snitselaar) [1742234] - [iommu] amd: Take domain->lock for complete attach/detach path (Jerry Snitselaar) [1742234] - [iommu] amd: Remove amd_iommu_devtable_lock (Jerry Snitselaar) [1742234] - [iommu] amd: Remove domain->updated (Jerry Snitselaar) [1742234] - [iommu] iova: Avoid false sharing on fq_timer_on (Jerry Snitselaar) [1742234] - [iommu] Don't use sme_active() in generic code (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix wrong analysis whether devices share the same bus (Jerry Snitselaar) [1742234] - [iommu] amd: Wait for completion of IOTLB flush in attach_device (Jerry Snitselaar) [1742234] - [iommu] amd: Unmap all L7 PTEs when downgrading page-sizes (Jerry Snitselaar) [1742234] - [iommu] amd: Introduce first_pte_l7() helper (Jerry Snitselaar) [1742234] - [iommu] amd: Fix downgrading default page-sizes in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Fix pages leak in free_pagetable() (Jerry Snitselaar) [1742234] - [documentation] documentation: Update Documentation for iommu.passthrough (Jerry Snitselaar) [1745844] - [iommu] Disable passthrough mode when SME is active (Jerry Snitselaar) [1745844] - [iommu] Set default domain type at runtime (Jerry Snitselaar) [1745844] - [iommu] Print default domain type on boot (Jerry Snitselaar) [1745844] - [x86] dma: Get rid of iommu_pass_through (Jerry Snitselaar) [1745844] - [iommu] vt-d: Request passthrough mode from IOMMU core (Jerry Snitselaar) [1745844] - [iommu] amd: Request passthrough mode from IOMMU core (Jerry Snitselaar) [1745844] - [iommu] Use Functions to set default domain type in iommu_set_def_domain_type() (Jerry Snitselaar) [1745844] - [iommu] Add helpers to set/get default domain type (Jerry Snitselaar) [1745844] - [iommu] Remember when default domain type was set on kernel command line (Jerry Snitselaar) [1745844] - [iommu] amd: Flush old domains in kdump kernel (Jerry Snitselaar) [1742234] - [iommu] amd: Fix race in increase_address_space() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove global page flush support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix possible use-after-free of private domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Detach domain before using a private one (Jerry Snitselaar) [1742234] - [iommu] vt-d: Correctly check format of page table in debugfs (Jerry Snitselaar) [1742234] - [iommu] vt-d: Detach domain when move device out of group (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Mark expected switch fall-through (Jerry Snitselaar) [1722978] - [iommu] vt-d: Print pasid table entries MSB to LSB in debugfs (Jerry Snitselaar) [1742234] - [iommu] iova: Remove stale cached32_node (Jerry Snitselaar) [1742234] - [iommu] vt-d: Check if domain->pgd was allocated (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't queue_iova() if there is no flush queue (Jerry Snitselaar) [1742234] - [iommu] amd: fix a crash in iova_magazine_free_pfns (Jerry Snitselaar) [1742234] - [iommu] Use right function to get group for device (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Fix compilation when CONFIG_CMA=n (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Support non-coherent page tables (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Replace IO_PGTABLE_QUIRK_NO_DMA with specific flag (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm-v7s: request DMA32 memory, and improve debugging (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Add support to use system cache (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Increase maximum size of queues (Jerry Snitselaar) [1722978] - [iommu] amd: Flush not present cache in iommu_map_page (Jerry Snitselaar) [1742234] - [iommu] amd: Only free resources once on init error (Jerry Snitselaar) [1742234] - [iommu] amd: Move gart fallback to amd_iommu_init (Jerry Snitselaar) [1742234] - [iommu] amd: Make iommu_disable safer (Jerry Snitselaar) [1742234] - [iommu] amd: Add missed 'tag' to error msg in iommu_print_event (Jerry Snitselaar) [1742234] - [iommu] amd: Remove redundant assignment to variable npages (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup unused variable (Jerry Snitselaar) [1742234] - [iommu] vt-d: Silence a variable set but not used (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove an unused variable "length" (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup after delegating DMA domain to generic iommu (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix suspicious RCU usage in probe_acpi_namespace_devices() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Allow DMA domain attaching to rmrr locked device (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't enable iommu's which have been ignored (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set domain type for a private domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't return error when device gets right domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix a variable set but not used (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Fix typo in SVM code comment (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove static identity map code (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove duplicated code for device hotplug (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove startup parameter from device_def_domain_type() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Cleanup get_valid_domain_for_dev() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Implement is_attach_deferred iommu ops entry (Jerry Snitselaar) [1742234] - [iommu] vt-d: Probe DMA-capable ACPI name space devices (Jerry Snitselaar) [1742234] - [iommu] vt-d: Handle 32bit device with identity default domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Identify default domains replaced with private (Jerry Snitselaar) [1742234] - [iommu] vt-d: Delegate the dma domain to upper layer (Jerry Snitselaar) [1742234] - [iommu] vt-d: Delegate the identity domain to upper layer (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add device_def_domain_type() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enable DMA remapping after rmrr mapped (Jerry Snitselaar) [1742234] - [iommu] vt-d: Expose ISA direct mapping region via iommu_get_resv_regions (Jerry Snitselaar) [1742234] - [iommu] vt-d: Implement apply_resv_region iommu ops entry (Jerry Snitselaar) [1742234] - [iommu] Add API to request DMA domain for device (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show scalable mode DMAR table internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Introduce macros useful for dumping DMAR table (Jerry Snitselaar) [1742234] - [iommu] vt-d: Modify the format of intel DMAR tables dump (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unnecessary rcu_read_locks (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix bind svm with multiple devices (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Avoid constant zero in TLBI writes (Jerry Snitselaar) [1722978] - [iommu] vt-d: Set the right field for Page Walk Snoop (Jerry Snitselaar) [1742234] - [iommu] Add missing new line for dma type (Jerry Snitselaar) [1742234] - [kernel] iommu/iova: Separate atomic variables to improve performance (Jerry Snitselaar) [1742234] - [iommu] Remove iommu_callback_data (Jerry Snitselaar) [1742234] - [iommu] amd: Remove amd_iommu_pd_list (Jerry Snitselaar) [1742234] - [iommu] amd: Use pci_prg_resp_pasid_required() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix leak in intel_pasid_alloc_table on error path (Jerry Snitselaar) [1742234] - [iommu] vt-d: Make kernel parameter igfx_off work with vIOMMU (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set intel_iommu_gfx_mapped correctly (Jerry Snitselaar) [1742234] - [iommu] vt-d: cleanup: no spaces at the start of a line (Jerry Snitselaar) [1742234] - [iommu] vt-d: Don't request page request irq under dmar_global_lock (Jerry Snitselaar) [1742234] - [iommu] vt-d: Use struct_size() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Flush IOTLB for untrusted device in time (Jerry Snitselaar) [1742234] - [iommu] vt-d: Clean up iommu_no_mapping (Jerry Snitselaar) [1742234] - [vfio] type1: Add domain at(de)taching group helpers (Jerry Snitselaar) [1742234] - [iommu] vt-d: Return ID associated with an auxiliary domain (Jerry Snitselaar) [1742234] - [iommu] vt-d: Aux-domain specific domain attach/detach (Jerry Snitselaar) [1742234] - [iommu] vt-d: Move common code out of iommu_attch_device() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add per-device IOMMU feature ops entries (Jerry Snitselaar) [1742234] - [iommu] vt-d: Make intel_iommu_enable_pasid() more generic (Jerry Snitselaar) [1742234] - [iommu] vt-d: Switch to bitmap_zalloc() (Jerry Snitselaar) [1742234] - [iommu] Bind process address spaces to devices (Jerry Snitselaar) [1742234] - [iommu] Add APIs for multiple domains per device (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Log CBFRSYNRA register on context fault (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Don't disable SMMU in kdump kernel (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Disable tagged pointers (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Link domains and devices (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Add a master->domain pointer (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Store SteamIDs in master (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Rename arm_smmu_master_data to arm_smmu_master (Jerry Snitselaar) [1722978] - [iommu] io-pgtable: Add ARM Mali midgard MMU page table format (Jerry Snitselaar) [1722978] - [iommu] vt-d: Save the right domain ID used by hardware (Jerry Snitselaar) [1742234] - [iommu] iova: Fix tracking of recently failed iova address (Jerry Snitselaar) [1742234] - [iommu] Fix IOMMU debugfs fallout (Jerry Snitselaar) [1742234] - [kernel] iommu: Document iommu_ops.is_attach_deferred() (Jerry Snitselaar) [1742234] - [kernel] iommu: Document iommu_ops.iotlb_sync_map() (Jerry Snitselaar) [1742234] - [kernel] iommu: Fix flush_tlb_all typo (Jerry Snitselaar) [1742234] - [iommu] io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables (Jerry Snitselaar) [1722978] - [iommu] Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [kernel] iommu: Allow io-pgtable to be used outside of iommu/ (Jerry Snitselaar) [1722978] - [iommu] iova: Allow compiling the library without IOMMU support (Jerry Snitselaar) [1742234] - [iommu] amd: Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [iommu] amd: Remove clear_flush_young notifier (Jerry Snitselaar) [1742234] - [iommu] amd: Print reason for iommu_map_page failure in map_sg (Jerry Snitselaar) [1742234] - [iommu] vt-d: Get domain ID before clear pasid entry (Jerry Snitselaar) [1742234] - [iommu] vt-d: Set context field after value initialized (Jerry Snitselaar) [1742234] - [kernel] pci/ats: Add inline to pci_prg_resp_pasid_required() (Jerry Snitselaar) [1724921 1724927] - [iommu] vt-d: Enable ATS only if the device uses page aligned address (Jerry Snitselaar) [1724922] - [pci] ats: Add pci_ats_page_aligned() interface (Jerry Snitselaar) [1724922] - [iommu] vt-d: Fix PRI/PASID dependency issue (Jerry Snitselaar) [1724921 1724927] - [pci] ats: Add pci_prg_resp_pasid_required() interface (Jerry Snitselaar) [1724921 1724927] - [iommu] vt-d: Allow interrupts from the entire bus for aliased devices (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add helper to set an IRTE to verify only the bus number (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove misleading "domain 0" test from domain_exit() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unused dmar_remove_one_dev_info() argument (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove unnecessary local variable initializations (Jerry Snitselaar) [1742234] - [iommu] vt-d: Use dev_printk() when possible (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove change_pte notifier (Jerry Snitselaar) [1742234] - iommu/vt-d: Implement dma_[un]map_resource() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Support page request in scalable mode (Jerry Snitselaar) [1742234] - [iommu] vt-d: Leave scalable mode default off (Jerry Snitselaar) [1742234] - [iommu] of: Fix probe-deferral (Jerry Snitselaar) [1742234] - [iommu] Check for iommu_ops == NULL in iommu_probe_device() (Jerry Snitselaar) [1742234] - [iommu] of: Don't call iommu_ops->add_device directly (Jerry Snitselaar) [1742234] - powerpc/iommu: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [powerpc] iommu: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [iommu] of: Use device_iommu_mapped() (Jerry Snitselaar) [1742234] - [iommu] of: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1742234] - [iommu] dma: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Use helper functions to access dev->iommu_fwspec (Jerry Snitselaar) [1722978] - [acpi] iort: Fix rc_dma_get_range() (Jerry Snitselaar) [1722978] - [kernel] iommu: Change tlb_range_add to iotlb_range_add and tlb_sync to iotlb_sync (Jerry Snitselaar) [1742234] - [iommu] arm-smmu: Make arm-smmu-v3 explicitly non-modular (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Make arm-smmu explicitly non-modular (Jerry Snitselaar) [1722978] - [iommu] Audit and remove any unnecessary uses of module.h (Jerry Snitselaar) [1742234] - [iommu] irq_remapping: Remove unused header files (Jerry Snitselaar) [1742234] - [iommu] Do physical merging in iommu_map_sg() (Jerry Snitselaar) [1742234] - [iommu] amd: Remove leading 0s in error log messages (Jerry Snitselaar) [1742234] - [iommu] amd: Fix line-break in error log reporting (Jerry Snitselaar) [1742234] - [iommu] amd: Use pr_fmt() (Jerry Snitselaar) [1742234] - [iommu] amd: Allow to upgrade page-size (Jerry Snitselaar) [1742234] - [iommu] amd: Restart loop if cmpxchg64 succeeded in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Allow downgrading page-sizes in alloc_pte() (Jerry Snitselaar) [1742234] - [iommu] amd: Ignore page-mode 7 in free_sub_pt() (Jerry Snitselaar) [1742234] - [iommu] amd: Introduce free_sub_pt() function (Jerry Snitselaar) [1742234] - [iommu] amd: Collect page-table pages in freelist (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove deferred invalidation (Jerry Snitselaar) [1724930] - [iommu] vt-d: Shared virtual address in scalable mode (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add first level page table interface (Jerry Snitselaar) [1742234] - [iommu] vt-d: Setup context and enable RID2PASID support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Pass pasid table to context mapping (Jerry Snitselaar) [1742234] - [iommu] vt-d: Setup pasid entry for RID2PASID support (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add second level page table interface (Jerry Snitselaar) [1742234] - [iommu] vt-d: Reserve a domain id for FL and PT modes (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add 256-bit invalidation descriptor support (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Move page table helpers into header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Manage scalalble mode PASID tables (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enumerate the scalable mode capability (Jerry Snitselaar) [1742234] - [kernel] iommu/vtd: Cleanup dma_remapping.h header (Jerry Snitselaar) [1742234] - [documentation] dt-bindings: arm-smmu: Add binding doc for Qcom smmu-500 (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add support for qcom, smmu-v2 variant (Jerry Snitselaar) [1722978] - [documentation] dt-bindings: arm-smmu: Add bindings for qcom, smmu-v2 (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add the device_link between masters and smmu (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Invoke pm_runtime across the driver (Jerry Snitselaar) [1722978] - [iommu] arm-smmu: Add pm_runtime/sleep ops (Jerry Snitselaar) [1722978] - [clk] add managed version of clk_bulk_get_all (Jerry Snitselaar) [1722978] - [clk] add new APIs to operate on all available clocks (Jerry Snitselaar) [1722978] - [clk] bulk: add of_clk_bulk_get() (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Use explicit mb() when moving cons pointer (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Avoid memory corruption from Hisilicon MSI payloads (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Fix big-endian CMD_SYNC writes (Jerry Snitselaar) [1722978] - [iommu] revert "iommu/io-pgtable-arm: Check for v7s-incapable systems" (Jerry Snitselaar) [1722978] - [iommu] Fix a typo (Jerry Snitselaar) [1742234] - [iommu] Tidy up window attributes (Jerry Snitselaar) [1742234] - [iommu] amd: Add default branch in amd_iommu_capable() (Jerry Snitselaar) [1742234] - [iommu] amd: Move iommu_init_pci() to .init section (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show context internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support for Interrupt remapping (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add debugfs support to show register contents (Jerry Snitselaar) [1742234] - [iommu] vt-d: Enable base Intel IOMMU debugfs support (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Update register definitions to VT-d 3.0 specification (Jerry Snitselaar) [1742234] - [iommu] vt-d: Relocate struct/function declarations to its header files (Jerry Snitselaar) [1742234] - [of] iommu/of: make of_pci_map_rid() available for other devices too (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Remove unnecessary wrapper function (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Add SPDX header (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Fix a couple of minor comment typos (Jerry Snitselaar) [1722978] - [kernel] iommu/shmobile: Remove unused linux/platform_data/sh_ipmmu.h header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Handle memory shortage on pasid table allocation (Jerry Snitselaar) [1742234] - [iommu] Add sysfs attribyte for domain type (Jerry Snitselaar) [1742234] - [iommu] amd: Add basic debugfs infrastructure for AMD IOMMU (Jerry Snitselaar) [1742234] - [iommu] Enable debugfs exposure of IOMMU driver internals (Jerry Snitselaar) [1742234] - [iommu] vt-d: Remove the obsolete per iommu pasid tables (Jerry Snitselaar) [1742234] - [iommu] vt-d: Apply per pci device pasid table in SVA (Jerry Snitselaar) [1742234] - [iommu] vt-d: Allocate and free pasid table (Jerry Snitselaar) [1742234] - [iommu] vt-d: Per PCI device pasid table interfaces (Jerry Snitselaar) [1742234] - [iommu] vt-d: Add for_each_device_domain() helper (Jerry Snitselaar) [1742234] - [iommu] vt-d: Move device_domain_info to header (Jerry Snitselaar) [1742234] - [iommu] vt-d: Apply global PASID in SVA (Jerry Snitselaar) [1742234] - [iommu] vt-d: Avoid using idr_for_each_entry() (Jerry Snitselaar) [1742234] - [iommu] vt-d: Global PASID name space (Jerry Snitselaar) [1742234] - [iommu] vt-d: Fix dev iotlb pfsid use (Jerry Snitselaar) [1742234] - [kernel] iommu/vt-d: Add definitions for PFSID (Jerry Snitselaar) [1742234] - [iommu] amd: Argument page_size could be uninitialized (Jerry Snitselaar) [1742234] - [iommu] arm-smmu-v3: Abort all transactions if SMMU is enabled in kdump kernel (Jerry Snitselaar) [1722978] - [iommu] arm-smmu-v3: Prevent any devices access to memory without registration (Jerry Snitselaar) [1722978] - [iommu] [] iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm-v7s: Abort allocation when table address overflows the PTE (Jerry Snitselaar) [1722978] - [iommu] io-pgtable-arm: Fix pgtable allocation in selftest (Jerry Snitselaar) [1722978] - [netdrv] iavf: initialize ITRN registers with correct values (Stefan Assmann) [1721697] - [netdrv] iavf: fix MAC address setting for VFs when filter is rejected (Stefan Assmann) [1721697] - [netdrv] iavf: allow permanent MAC address to change (Stefan Assmann) [1721697] - [netdrv] iavf: remove unused debug function iavf_debug_d (Stefan Assmann) [1721697] - [netdrv] Use skb_frag_off accessors (Stefan Assmann) [1721697] - [netdrv] Use skb accessors in network drivers (Stefan Assmann) [1721697] - [netdrv] iavf: fix dereference of null rx_buffer pointer (Stefan Assmann) [1721697] - [netdrv] iavf: Fix up debug print macro (Stefan Assmann) [1721697] - [netdrv] iavf: use struct_size() helper (Stefan Assmann) [1721697] - [netdrv] iavf: allow null RX descriptors (Stefan Assmann) [1721697] - [netdrv] iavf: add call to iavf_[add|del]_cloud_filter (Stefan Assmann) [1721697] - [netdrv] iavf: Refactor init state machine (Stefan Assmann) [1721697] - [netdrv] iavf: Refactor the watchdog state machine (Stefan Assmann) [1721697] - [netdrv] iavf: Remove timer for work triggering, use delaying work instead (Stefan Assmann) [1721697] - [netdrv] iavf: Move commands processing to the separate function (Stefan Assmann) [1721697] - [netdrv] iavf: Fix the math for valid length for ADq enable (Stefan Assmann) [1721697] - [netdrv] iavf: Change GFP_KERNEL to GFP_ATOMIC in kzalloc() (Stefan Assmann) [1721697] - [netdrv] iavf: wait longer for close to complete (Stefan Assmann) [1721697] - [netdrv] iavf: use signed variable (Stefan Assmann) [1721697] - [netdrv] iavf: Create VLAN tag elements starting from the first element (Stefan Assmann) [1721697] - [netdrv] iavf: update comments and file checks to match iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename i40e_device to iavf_device (Stefan Assmann) [1721697] - [netdrv] iavf: change remaining i40e defines to be iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename iavf_client.h defines to match driver name (Stefan Assmann) [1721697] - [netdrv] iavf: rename iavf_status structure flags (Stefan Assmann) [1721697] - [netdrv] iavf: replace i40e variables with iavf (Stefan Assmann) [1721697] - [netdrv] iavf: rename i40e functions to be iavf (Stefan Assmann) [1721697] - [netdrv] iavf: change iavf_status_code to iavf_status (Stefan Assmann) [1721697] - [netdrv] iavf: Rename i40e_adminq* files to iavf_adminq* (Stefan Assmann) [1721697] - [netdrv] iavf: iavf_client: use struct_size() helper (Stefan Assmann) [1721697] - [netdrv] iavf: use struct_size() in kzalloc() (Stefan Assmann) [1721697] - [netdrv] iavf: Limiting RSS queues to CPUs (Stefan Assmann) [1721697] - [netdrv] iavf: Use printf instead of gnu_printf for iavf_debug_d (Stefan Assmann) [1721697] - [netdrv] igb/igc: use ktime accessors for skb->tstamp (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for ethtool -m issue on X722 NIC (Stefan Assmann) [1721695] - [netdrv] intel: Demote MTU change prints to debug (Stefan Assmann) [1721695] - [netdrv] i40e: implement VF stats NDO (Stefan Assmann) [1721695] - [netdrv] i40e: enable X710 support (Stefan Assmann) [1721695] - [netdrv] i40e: Add UDP segmentation offload support (Stefan Assmann) [1721695] - [netdrv] i40e: prevent memory leak in i40e_setup_macvlans (Stefan Assmann) [1721695] - [netdrv] i40e: Refactoring VF MAC filters counting to make more reliable (Stefan Assmann) [1721695] - [netdrv] i40e: Fix LED blinking flow for X710T*L devices (Stefan Assmann) [1721695] - [netdrv] i40e: allow ethtool to report SW and FW versions in recovery mode (Stefan Assmann) [1721695] - [netdrv] i40e: initialize ITRN registers with correct values (Stefan Assmann) [1721695] - [netdrv] i40e: Extend PHY access with page change flag (Stefan Assmann) [1721695] - [netdrv] i40e: Extract detection of HW flags into a function (Stefan Assmann) [1721695] - [netdrv] i40e: Wrong 'Advertised FEC modes' after set FEC to AUTO (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for persistent lldp support (Stefan Assmann) [1721695] - [netdrv] i40e: clear __I40E_VIRTCHNL_OP_PENDING on invalid min Tx rate (Stefan Assmann) [1721695] - [netdrv] i40e: use BIT macro to specify the cloud filter field flags (Stefan Assmann) [1721695] - [netdrv] i40e: Fix message for other card without FEC (Stefan Assmann) [1721695] - [netdrv] i40e: fix missed "Negotiated" string in i40e_print_link_message() (Stefan Assmann) [1721695] - [netdrv] i40e: mark additional missing bits as reserved (Stefan Assmann) [1721695] - [netdrv] i40e: remove I40E_AQC_ADD_CLOUD_FILTER_OIP (Stefan Assmann) [1721695] - [netdrv] i40e: use ktime_get_real_ts64 instead of ktime_to_timespec64 (Stefan Assmann) [1721695] - [netdrv] i40e: check __I40E_VF_DISABLE bit in i40e_sync_filters_subtask (Stefan Assmann) [1721695] - [netdrv] i40e: Remove EMPR traces from debugfs facility (Stefan Assmann) [1721695] - [netdrv] i40e: Implement debug macro hw_dbg using dev_dbg (Stefan Assmann) [1721695] - [netdrv] i40e: fix hw_dbg usage in i40e_hmc_get_object_va (Stefan Assmann) [1721695] - [netdrv] i40e: simplify Rx buffer recycle (Stefan Assmann) [1721695] - [netdrv] i40e: fix retrying in i40e_aq_get_phy_capabilities (Stefan Assmann) [1721695] - [netdrv] i40e: Persistent LLDP support (Stefan Assmann) [1721695] - [netdrv] i40e: allow reset in recovery mode (Stefan Assmann) [1721695] - [netdrv] i40e: Remove function i40e_update_dcb_config() (Stefan Assmann) [1721695] - [netdrv] i40e: Fix crash caused by stress setting of VF MAC addresses (Stefan Assmann) [1721695] - [netdrv] i40e: reset veb.tc_stats when resetting veb.stats (Stefan Assmann) [1721695] - [netdrv] i40e: Update FW API version to 1.9 (Stefan Assmann) [1721695] - [netdrv] i40e: check_recovery_mode had wrong if statement (Stefan Assmann) [1721695] - [netdrv] i40e: Add drop mode parameter to set mac config (Stefan Assmann) [1721695] - [netdrv] i40e: fix shifts of signed values (Stefan Assmann) [1721695] - [netdrv] i40e: add check on i40e_configure_tx_ring() return value (Stefan Assmann) [1721695] - [netdrv] i40e: Check if transceiver implements DDM before access (Stefan Assmann) [1721695] - [netdrv] i40e: reduce stack usage in i40e_set_fc (Stefan Assmann) [1721695] - [netdrv] i40e: no need to check return value of debugfs_create functions (Stefan Assmann) [1721695] - [netdrv] i40e: Remove unicast log when VF is leaving multicast mode (Stefan Assmann) [1721695] - [netdrv] i40e: verify string count matches even on early return (Stefan Assmann) [1721695] - [netdrv] i40e: Log info when PF is entering and leaving Allmulti mode (Stefan Assmann) [1721695] - [netdrv] i40e: Update visual effect for advertised FEC mode (Stefan Assmann) [1721695] - [netdrv] i40e: fix code comments (Stefan Assmann) [1721695] - [netdrv] i40e: don't report link up for a VF who hasn't enabled queues (Stefan Assmann) [1721695] - [netdrv] i40e: Log disable-fw-lldp flag change by ethtool (Stefan Assmann) [1721695] - [netdrv] i40e: fix incorrect ethtool statistics veb and veb.tc_ (Stefan Assmann) [1721695] - [netdrv] Use skb_frag_off accessors (Stefan Assmann) [1721695] - [netdrv] i40e: Use dev_get_drvdata (Stefan Assmann) [1721695] - [netdrv] Use skb accessors in network drivers (Stefan Assmann) [1721695] - [netdrv] i40e: Add macvlan support on i40e (Stefan Assmann) [1721695] - [netdrv] i40e/i40e_virtchnl_pf: Use struct_size() in kzalloc() (Stefan Assmann) [1721695] - [netdrv] i40e: update copyright string (Stefan Assmann) [1721695] - [netdrv] i40e: Fix descriptor count manipulation (Stefan Assmann) [1721695] - [netdrv] i40e: missing priorities for any QoS traffic (Stefan Assmann) [1721695] - [netdrv] i40e: Add log entry while creating or deleting TC0 (Stefan Assmann) [1721695] - [netdrv] i40e: fix incorrect function documentation comment (Stefan Assmann) [1721695] - [netdrv] i40e: Fix for missing "link modes" info in ethtool (Stefan Assmann) [1721695] - [netdrv] i40e: fix 'Unknown bps' in dmesg for 2.5Gb/5Gb speeds (Stefan Assmann) [1721695] - [netdrv] i40e: mark expected switch fall-through (Stefan Assmann) [1721695] - [netdrv] i40e: Missing response checks in driver when starting/stopping FW LLDP (Stefan Assmann) [1721695] - [netdrv] i40e: remove duplicate stat calculation for tx_errors (Stefan Assmann) [1721695] - [netdrv] i40e: Check if the BAR size is large enough before writing to registers (Stefan Assmann) [1721695] - [netdrv] i40e: Missing response checks in driver when starting/stopping FW LLDP (Stefan Assmann) [1721695] - [netdrv] i40e: add input validation for virtchnl handlers (Stefan Assmann) [1721695] - [netdrv] i40e: Improve AQ log granularity (Stefan Assmann) [1721695] - [netdrv] i40e: Add bounds check for ch[] array (Stefan Assmann) [1721695] - [netdrv] i40e: Use signed variable (Stefan Assmann) [1721695] - [netdrv] i40e: add constraints for accessing veb array (Stefan Assmann) [1721695] - [netdrv] i40e: let untrusted VF to create up to 16 VLANs (Stefan Assmann) [1721695] - [netdrv] i40e: add functions stubs to support EEE (Stefan Assmann) [1721695] - [netdrv] i40e: Use LLDP ethertype define ETH_P_LLDP (Stefan Assmann) [1721695] - [netdrv] r8169: disable TSO on a single version of RTL8168c to fix performance (Corinna Vinschen) [1730024] - [netdrv] r8169: fix sporadic transmit timeout issue (Corinna Vinschen) [1730024] - [netdrv] r8169: inline rtl8169_free_rx_databuff (Corinna Vinschen) [1730024] - [netdrv] r8169: fix performance issue on RTL8168evl (Corinna Vinschen) [1730024] - [netdrv] r8169: allocate rx buffers using alloc_pages_node (Corinna Vinschen) [1730024] - [netdrv] r8169: sync PCIe PHY init with vendor driver 8.047.01 (Corinna Vinschen) [1730024] - [netdrv] r8169: add helper r8168_mac_ocp_modify (Corinna Vinschen) [1730024] - [netdrv] r8169: remove access to legacy register MultiIntr (Corinna Vinschen) [1730024] - [netdrv] r8169: make use of xmit_more (Corinna Vinschen) [1730024] - [netdrv] r8169: don't use MSI before RTL8168d (Corinna Vinschen) [1730024] - [netdrv] revert ("r8169: remove 1000/Half from supported modes") (Corinna Vinschen) [1730024] - [netdrv] r8169: enable HW csum and TSO (Corinna Vinschen) [1730024] - [netdrv] r8169: remove r8169_csum_workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: implement callback ndo_features_check (Corinna Vinschen) [1730024] - [netdrv] r8169: set GSO size and segment limits (Corinna Vinschen) [1730024] - [netdrv] r8169: align setting PME with vendor driver (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_set_rx_mode (Corinna Vinschen) [1730024] - [netdrv] r8169: fix a typo in a comment (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_rx (Corinna Vinschen) [1730024] - [netdrv] r8169: fix RTL8168g PHY init (Corinna Vinschen) [1730024] - [netdrv] r8169: fix issue with confused RX unit after PHY power-down on RTL8411b (Corinna Vinschen) [1730024] - [netdrv] r8169: sync few chip names with vendor driver (Corinna Vinschen) [1730024] - [netdrv] r8169: add random MAC address fallback (Corinna Vinschen) [1730024] - [netdrv] revert "r8169: improve handling VLAN tag" (Corinna Vinschen) [1730024] - [netdrv] r8169: remove not needed call to dma_sync_single_for_device (Corinna Vinschen) [1730024] - [netdrv] r8169: consider that 32 Bit DMA is the default (Corinna Vinschen) [1730024] - [netdrv] r8169: improve handling VLAN tag (Corinna Vinschen) [1730024] - [netdrv] r8169: don't activate ASPM in chip if OS can't control ASPM (Corinna Vinschen) [1730024] - [netdrv] r8169: improve handling of Abit Fatal1ty F-190HD (Corinna Vinschen) [1730024] - [netdrv] r8169: use helper rtl_is_8168evl_up for setting register MaxTxPacketSize (Corinna Vinschen) [1730024] - [netdrv] r8169: add helper rtl_is_8168evl_up (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_coalesce_info (Corinna Vinschen) [1730024] - [netdrv] r8169: let mdio read functions return -ETIMEDOUT (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: remove member coalesce_info from struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: remove callback hw_start from struct rtl_cfg_info (Corinna Vinschen) [1730024] - [netdrv] r8169: rename CPCMD_QUIRK_MASK and apply it on all chip versions (Corinna Vinschen) [1730024] - [netdrv] r8169: improve setting interrupt mask (Corinna Vinschen) [1730024] - [netdrv] r8169: silence sparse warning in rtl8169_start_xmit (Corinna Vinschen) [1730024] - [netdrv] r8169: factor out firmware handling (Corinna Vinschen) [1730024] - [netdrv] r8169: rename r8169.c to r8169_main.c (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_fw_request_firmware and rtl_fw_release_firmware (Corinna Vinschen) [1730024] - [netdrv] r8169: make rtl_fw_format_ok and rtl_fw_data_ok more independent (Corinna Vinschen) [1730024] - [netdrv] r8169: simplify rtl_fw_write_firmware (Corinna Vinschen) [1730024] - [netdrv] r8169: add enum rtl_fw_opcode (Corinna Vinschen) [1730024] - [netdrv] r8169: use paged versions of phylib MDIO access functions (Corinna Vinschen) [1730024] - [netdrv] r8169: avoid tso csum function indirection (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct jumbo_ops (Corinna Vinschen) [1730024] - [netdrv] r8169: remove struct mdio_ops (Corinna Vinschen) [1730024] - [netdrv] r8169: improve r8169_csum_workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: decouple rtl_phy_write_fw from actual driver code (Corinna Vinschen) [1730024] - [netdrv] r8169: improve rtl_fw_format_ok (Corinna Vinschen) [1730024] - [netdrv] r8169: enable WoL speed down on more chip versions (Corinna Vinschen) [1730024] - [netdrv] r8169: fix MAC address being lost in PCI D3 (Corinna Vinschen) [1730024] - [netdrv] r8169: remove 1000/Half from supported modes (Corinna Vinschen) [1730024] - [netdrv] r8169: remove support for RTL_GIGA_MAC_VER_01 (Corinna Vinschen) [1730024] - [netdrv] r8169: improve RTL8168d PHY initialization (Corinna Vinschen) [1730024] - [netdrv] r8169: change type of member mac_version in rtl8169_private (Corinna Vinschen) [1730024] - [netdrv] r8169: remove unneeded return statement in rtl_hw_init_8168g (Corinna Vinschen) [1730024] - [netdrv] r8169: remove rtl_hw_init_8168ep (Corinna Vinschen) [1730024] - [netdrv] treewide: Add SPDX license identifier - Makefile/Kconfig (Corinna Vinschen) [1730024] - [netdrv] treewide: Add SPDX license identifier for more missed files (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl8168g_set_pause_thresholds (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_set_fifo_size (Corinna Vinschen) [1730024] - [netdrv] r8169: move EEE LED config to rtl8168_config_eee_mac (Corinna Vinschen) [1730024] - [netdrv] r8169: simplify rtl_writephy_batch and rtl_ephy_init (Corinna Vinschen) [1730024] - [netdrv] r8169: speed up rtl_loop_wait (Corinna Vinschen) [1730024] - [netdrv] r8169: make use of phy_set_asym_pause (Corinna Vinschen) [1730024] - [netdrv] r8169: remove rtl_write_exgmac_batch (Corinna Vinschen) [1730024] - [netdrv] r8169: remove manual autoneg restart workaround (Corinna Vinschen) [1730024] - [netdrv] r8169: add rtl_reset_packet_filter (Corinna Vinschen) [1730024] - [netdrv] r8169: add helpers rtl_eri_set/clear_bits (Corinna Vinschen) [1730024] - [netdrv] r8169: make ERIAR_EXGMAC the default in eri functions (Corinna Vinschen) [1730024] - [netdrv] r8169: use pci_dev_id() helper (Corinna Vinschen) [1730024] - [kernel] phy: fix write to mii-ctrl1000 register (Petr Oros) [1772010] - [netdrv] bcmgenet: don't set phydev->link from MAC (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix PTR_ERR applied after initialization to constant (Petr Oros) [1772010] - [netdrv] phy: micrel: add Asym Pause workaround for KSZ9021 (Petr Oros) [1772010] - [netdrv] phy: fix race in genphy_update_link (Petr Oros) [1772010] - [netdrv] phy: consider AN_RESTART status when reading link status (Petr Oros) [1772010] - [kernel] fixed_phy: Add forward declaration for struct gpio_desc; (Petr Oros) [1772010] - [netdrv] phy: fixed_phy: print gpio error only if gpio node is present (Petr Oros) [1772010] - [netdrv] phy: mscc: initialize stats array (Petr Oros) [1772010] - [netdrv] phy: bcm7xxx: define soft_reset for 40nm EPHY (Petr Oros) [1772010] - [netdrv] Add genphy_c45_config_aneg() function to phy-c45.c (Petr Oros) [1772010] - [netdrv] phy: sfp: hwmon: Fix scaling of RX power (Petr Oros) [1772010] - [kernel] hwmon: Fix HWMON_P_MIN_ALARM mask (Petr Oros) [1772010] - [netdrv] phy: rename Asix Electronics PHY driver (Petr Oros) [1772010] - [netdrv] sfp: read eeprom in maximum 16 byte increments (Petr Oros) [1772010] - [netdrv] phylink: avoid reducing support mask (Petr Oros) [1772010] - [netdrv] phy: dp83867: Set up RGMII TX delay (Petr Oros) [1772010] - [netdrv] phy: dp83867: do not call config_init twice (Petr Oros) [1772010] - [netdrv] phy: dp83867: increase SGMII autoneg timer duration (Petr Oros) [1772010] - [netdrv] phy: dp83867: fix speed 10 in sgmii mode (Petr Oros) [1772010] - [netdrv] phy: marvell10g: report if the PHY fails to boot firmware (Petr Oros) [1772010] - [netdrv] phylink: ensure consistent phy interface mode (Petr Oros) [1772010] - [netdrv] phylink: ensure inband AN works correctly (Petr Oros) [1772010] - [netdrv] phy: aquantia: readd XGMII support for AQR107 (Petr Oros) [1772010] - [netdrv] phy: realtek: Replace phy functions with non-locked version in rtl8211e_config_init() (Petr Oros) [1772010] - [netdrv] meson: fixup g12a glue ephy id (Petr Oros) [1772010] - [netdrv] phy: realtek: fix double page ops in generic Realtek driver (Petr Oros) [1772010] - [netdrv] phy: realtek: add missing page operations (Petr Oros) [1772010] - [netdrv] phy: realtek: Change TX-delay setting for RGMII modes only (Petr Oros) [1772010] - [netdrv] phy: realtek: Add rtl8211e rx/tx delays config (Petr Oros) [1772010] - [netdrv] phy: improve pause mode reporting in phy_print_status (Petr Oros) [1772010] - [kernel] phy: improve resuming from hibernation (Petr Oros) [1772010] - [netdrv] phy: fix phy_validate_pause (Petr Oros) [1772010] - [netdrv] phy: micrel: make sure the factory test bit is cleared (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix buffer overrun with stats counters (Petr Oros) [1772010] - [netdrv] phy: avoid unneeded MDIO reads in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: improve genphy_soft_reset (Petr Oros) [1772010] - [netdrv] spi: micrel eth switch: declare missing of table (Petr Oros) [1772010] - [netdrv] phy: marvell: add new default led configure for m88e151x (Petr Oros) [1772010] - [netdrv] phy: vitesse: Remove support for VSC8514 (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8514 PHY (Petr Oros) [1772010] - [netdrv] mdio: rename mdio_device reset to reset_gpio (Petr Oros) [1772010] - [netdrv] phy: add support for reset-controller (Petr Oros) [1772010] - [documentation] dt-bindings: add PHY reset controller binding (Petr Oros) [1772010] - [netdrv] phy: remove dead code from phy_sanitize_settings (Petr Oros) [1772010] - [netdrv] phy: don't set autoneg if it's not supported (Petr Oros) [1772010] - [netdrv] phy: micrel: add Asym Pause workaround (Petr Oros) [1772010] - [netdrv] phy: warn if phylib and ethtool PHY mode definitions are out of sync (Petr Oros) [1772010] - [netdrv] phy: add support for new modes in phylib (Petr Oros) [1772010] - [netdrv] phy: shrink PHY settings array (Petr Oros) [1772010] - [netdrv] phy: switch drivers to use dynamic feature detection (Petr Oros) [1772010] - [netdrv] phy: fix setting autoneg_complete in genphy_update_link (Petr Oros) [1772010] - [netdrv] phy: replace genphy_10g_driver with genphy_c45_driver (Petr Oros) [1772010] - [netdrv] phy: remove unnecessary callback settings in C45 drivers (Petr Oros) [1772010] - [netdrv] phy: improve link partner capability detection (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: clean-up gxl variant driver (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: add g12a support (Petr Oros) [1772010] - [netdrv] phy: add amlogic g12a mdio mux support (Petr Oros) [1772010] - [documentation] dt-bindings: phy: add g12a mdio mux documentation (Petr Oros) [1772010] - [netdrv] phy: realtek: remove setting callback get_features and use phylib fallback (Petr Oros) [1772010] - [netdrv] phy: fix autoneg mismatch case in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: marvell10g: add the suspend/resume callbacks for the 88x2210 (Petr Oros) [1772010] - [netdrv] phy: marvell10g: implement suspend/resume callbacks (Petr Oros) [1772010] - [netdrv] phy: deal properly with autoneg incomplete in genphy_c45_read_lpa (Petr Oros) [1772010] - [netdrv] phy: use c45 standard to detect link partner autoneg capability (Petr Oros) [1772010] - [netdrv] phy: aquantia: add SGMII statistics (Petr Oros) [1772010] - [netdrv] phy: improve genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: aquantia: add suspend / resume callbacks for AQR107 family (Petr Oros) [1772010] - [netdrv] phy: realtek: use genphy_read_abilities (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: remove redundant !timeout check (Petr Oros) [1772010] - [netdrv] phy: marvell: add PHY tunable fast link down support for 88E1540 (Petr Oros) [1772010] - [uapi] ethtool: add PHY Fast Link Down support (Petr Oros) [1772010] - [netdrv] phy: aquantia: inform about proprietary 1000Base-T2 mode being in use (Petr Oros) [1772010] - [netdrv] phy: aquantia: report PHY details like firmware version (Petr Oros) [1772010] - [netdrv] phy: aquantia: print remote capabilities if link partner is Aquantia PHY (Petr Oros) [1772010] - [kernel] phy: bcm54xx: Encode link speed and activity into LEDs (Petr Oros) [1772010] - [netdrv] phy: aquantia: simplify aqr_config_aneg (Petr Oros) [1772010] - [netdrv] phy: don't clear BMCR in genphy_soft_reset (Petr Oros) [1772010] - [netdrv] phy: Re-parent menus for MDIO bus drivers correctly (Petr Oros) [1772010] - [netdrv] phy: Correct Cygnus/Omega PHY driver prompt (Petr Oros) [1772010] - [netdrv] phy: aquantia: add downshift support (Petr Oros) [1772010] - [netdrv] phy: Move Omega PHY entry to Cygnus PHY driver (Petr Oros) [1772010] - [netdrv] phy: Prepare for moving Omega out of bcm7xxx (Petr Oros) [1772010] - [netdrv] phy: Add DP83825I to the DP83822 driver (Petr Oros) [1772010] - [netdrv] phy: aquantia: check for changed interface mode in read_status (Petr Oros) [1772010] - [netdrv] phy: aquantia: check for supported interface modes in config_init (Petr Oros) [1772010] - [netdrv] phy: improve handling link_change_notify callback (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: fix interrupt support (Petr Oros) [1772010] - [gpio] gpiolib: devprop: Fix syntax error (Petr Oros) [1772010] - [kernel] gpiolib: export devprop_gpiochip_set_names() (Petr Oros) [1772010] - [netdrv] phy: mdio-mux: fix Kconfig dependencies (Petr Oros) [1772010] - [netdrv] phy: use phy_modify_mmd_changed in genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_no_soft_reset (Petr Oros) [1772010] - [netdrv] phy: don't export gen10g_read_status (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_config_init (Petr Oros) [1772010] - [netdrv] phy: remove gen10g_suspend and gen10g_resume (Petr Oros) [1772010] - [netdrv] phy: use genphy_c45_aneg_done in genphy_aneg_done (Petr Oros) [1772010] - [netdrv] phy: micrel ksz8061: link failure after cable connect (Petr Oros) [1772010] - [netdrv] phy: phylink: fix uninitialized variable in phylink_get_mac_state (Petr Oros) [1772010] - [netdrv] phy: aquantia: add hwmon support (Petr Oros) [1772010] - [netdrv] phy: aquantia: rename aquantia.c to aquantia_main.c (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use the generic C45 helper to read the 2110 features (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Let genphy_c45_pma_read_abilities set Aneg bit (Petr Oros) [1772010] - [netdrv] phy: dp83867: add soft reset delay (Petr Oros) [1772010] - [netdrv] phy: mdio-mux: Add support for Generic Mux controls (Petr Oros) [1772010] - [netdrv] phy: improve auto-neg emulation in swphy (Petr Oros) [1772010] - [netdrv] phy: marvell10g: add support for the 88x2110 PHY (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Force reading of 2.5/5G (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use a #define for 88X3310 family id (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use 2500BASEX when using 2.5GBASET (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use linkmode_set_bit helper instead of __set_bit (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Use get_features to get the PHY abilities (Petr Oros) [1772010] - [netdrv] phy: aquantia: use genphy_c45_read_status (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_read_status (Petr Oros) [1772010] - [netdrv] phy: don't change modes we don't care about in genphy_c45_read_lpa (Petr Oros) [1772010] - [netdrv] phy: aquantia: add support for auto-negotiation configuration (Petr Oros) [1772010] - [netdrv] phy: aquantia: remove false 5G and 10G speed ability for AQCS109 (Petr Oros) [1772010] - [netdrv] phy: check PMAPMD link status only in genphy_c45_read_link (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix use-after-free on device_register fails (Petr Oros) [1772010] - [netdrv] phy: at803x: disable delay only for RGMII mode (Petr Oros) [1772010] - [netdrv] phy: at803x: don't inline helpers (Petr Oros) [1772010] - [netdrv] phy: aquantia: Use get_features for the PHYs abilities (Petr Oros) [1772010] - [netdrv] phy: marvell10g: use genphy_c45_check_and_restart_aneg in mv3310_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_check_and_restart_aneg (Petr Oros) [1772010] - [netdrv] phy: use genphy_config_eee_advert in genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: export genphy_config_eee_advert (Petr Oros) [1772010] - [netdrv] phy: don't use 10BaseT/half as default in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: remove orphaned register read in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: marvell10g: improve mv3310_config_aneg (Petr Oros) [1772010] - [netdrv] phy: disable aneg in genphy_c45_pma_setup_forced (Petr Oros) [1772010] - [netdrv] phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa (Petr Oros) [1772010] - [kernel] phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t (Petr Oros) [1772010] - [netdrv] phy: marvell10g: check for newly set aneg (Petr Oros) [1772010] - [netdrv] phy: marvell10g: use genphy_c45_an_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add genphy_c45_an_config_aneg (Petr Oros) [1772010] - [kernel] phy: add helper linkmode_adv_to_mii_10gbt_adv_t (Petr Oros) [1772010] - [netdrv] mdio_bus: Fix PTR_ERR() usage after initialization to constant (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Support generic PHY status read (Petr Oros) [1772010] - [netdrv] phy: marvell10g: Don't explicitly set Pause and Asym_Pause (Petr Oros) [1772010] - [netdrv] phy: use phy_resolve_aneg_linkmode in genphy_read_status (Petr Oros) [1772010] - [netdrv] phy: improve phy_resolve_aneg_linkmode (Petr Oros) [1772010] - [netdrv] phy: fix potential race in the phylib state machine (Petr Oros) [1772010] - [kernel] phy: don't use locking in phy_is_started (Petr Oros) [1772010] - [netdrv] phy: fix interrupt handling in non-started states (Petr Oros) [1772010] - [netdrv] phy: simplify genphy_config_eee_advert (Petr Oros) [1772010] - [netdrv] phylink: avoid resolving link state too early (Petr Oros) [1772010] - [netdrv] phylink: add phylink_init_eee() helper (Petr Oros) [1772010] - [netdrv] phylink: only call mac_config() during resolve when link is up (Petr Oros) [1772010] - [netdrv] phy: use phy_modify_changed in genphy_config_advert (Petr Oros) [1772010] - [netdrv] phy: marvell10g: fix usage of new MMD modifying helpers (Petr Oros) [1772010] - [netdrv] phy: add register modifying helpers returning 1 on change (Petr Oros) [1772010] - [netdrv] phy: aquantia: add support for AQCS109 (Petr Oros) [1772010] - [netdrv] phy: disregard "Clause 22 registers present" bit in get_phy_c45_devs_in_pkg (Petr Oros) [1772010] - [netdrv] phy: let genphy_c45_read_link manage the devices to check (Petr Oros) [1772010] - [netdrv] phy: don't double-read link status register if link is up (Petr Oros) [1772010] - [netdrv] fixed-phy: Add fixed_phy_register_with_gpiod() API (Petr Oros) [1772010] - [netdrv] phy: fixed_phy: Fix fixed_phy not checking GPIO (Petr Oros) [1772010] - [netdrv] phy: consider latched link-down status in polling mode (Petr Oros) [1772010] - [netdrv] sfp: do not probe SFP module before we're attached (Petr Oros) [1772010] - [netdrv] phy: make use of new MMD accessors (Petr Oros) [1772010] - [kernel] phy: provide full set of accessor functions to MMD registers (Petr Oros) [1772010] - [netdrv] phy: improve genphy_c45_read_link (Petr Oros) [1772010] - [netdrv] phy: fixed-phy: Drop GPIO from fixed_phy_add() (Petr Oros) [1772010] - [netdrv] dp83640: expire old TX-skb (Petr Oros) [1772010] - [netdrv] phy: aquantia: replace magic numbers with constants (Petr Oros) [1772010] - [netdrv] phy: aquantia: use macro PHY_ID_MATCH_MODEL (Petr Oros) [1772010] - [netdrv] phy: aquantia: remove unneeded includes (Petr Oros) [1772010] - [netdrv] phy: aquantia: Shorten name space prefix to aqr_ (Petr Oros) [1772010] - [netdrv] revert "net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x" (Petr Oros) [1772010] - [netdrv] phy: at803x: Use helpers to access MMD PHY registers (Petr Oros) [1772010] - [netdrv] phy: change phy_start_interrupts to phy_request_interrupt (Petr Oros) [1772010] - [netdrv] phy: start interrupts in phy_start (Petr Oros) [1772010] - [netdrv] phy: warn if phy_start is called from invalid state (Petr Oros) [1772010] - [netdrv] phy: start state machine in phy_start only (Petr Oros) [1772010] - [netdrv] phy: Add SDPX tag based on COPYING file (Petr Oros) [1772010] - [netdrv] phy: Fixup GPLv2 SPDX tags based on license text (Petr Oros) [1772010] - [netdrv] phy: Fixup GPLv2+ SPDX tags based on license text (Petr Oros) [1772010] - [netdrv] phy: Remove redundent License text when SPDX header is present (Petr Oros) [1772010] - [netdrv] phy: Convert some PHY and MDIO driver files to SPDX headers (Petr Oros) [1772010] - [netdrv] phy: at803x: Disable phy delay for RGMII mode (Petr Oros) [1772010] - [netdrv] phy: improve phy_init_hw (Petr Oros) [1772010] - [netdrv] phy: fix issue with loading PHY driver w/o initramfs (Petr Oros) [1772010] - [netdrv] phy: remove phy_stop_interrupts (Petr Oros) [1772010] - [netdrv] phy: ensure phylib state machine is stopped after calling phy_stop (Petr Oros) [1772010] - [netdrv] phy: stop PHY if needed when entering phy_disconnect (Petr Oros) [1772010] - [netdrv] phy: micrel: use phy_read_mmd and phy_write_mmd (Petr Oros) [1772010] - [netdrv] phy: improve get_phy_id (Petr Oros) [1772010] - [kernel] phy: remove state PHY_CHANGELINK (Petr Oros) [1772010] - [netdrv] phy: mdio_bus: add missing device_del() in mdiobus_register() error handling (Petr Oros) [1772010] - [netdrv] phy: check return code when requesting PHY driver module (Petr Oros) [1772010] - [netdrv] phy: Add helpers to determine if PHY driver is generic (Petr Oros) [1772010] - [netdrv] phy: improve logging in phylib (Petr Oros) [1772010] - [netdrv] phy: don't include asm/irq.h directly (Petr Oros) [1772010] - [netdrv] phy: remove preliminary workaround for not loading PHY driver (Petr Oros) [1772010] - [netdrv] phy: meson-gxl: Use the genphy_soft_reset callback (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix deadlock from wrong locking (Petr Oros) [1772010] - [netdrv] phy: marvell: Errata for mv88e6390 internal PHYs (Petr Oros) [1772010] - [netdrv] phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ9031 (Petr Oros) [1772010] - [netdrv] phy: fix too strict check in phy_start_aneg (Petr Oros) [1772010] - [kernel] phy.h: fix obvious errors in doc and kerneldoc content (Petr Oros) [1772010] - [netdrv] phy: mscc: Fix the VSC 8531/41 Chip Init sequence (Petr Oros) [1772010] - [netdrv] phy: Fix the issue that netif always links up after resuming (Petr Oros) [1772010] - [netdrv] phy: print stack trace in phy_error (Petr Oros) [1772010] - [netdrv] phy: improve phy state checking (Petr Oros) [1772010] - [netdrv] fixed phy: Add fixed_phy_change_carrier() (Petr Oros) [1772010] - [netdrv] phy: mdio-gpio: Add phy_ignore_ta_mask to platform data (Petr Oros) [1772010] - [kernel] phy: mdio-gpio: Add platform_data support for phy_mask (Petr Oros) [1772010] - [kernel] gpio: Export gpiod_get_from_of_node() (Petr Oros) [1772010] - [netdrv] phy: Revert toggling reset changes (Petr Oros) [1772010] - [netdrv] phy: sfp: correct store of detected link modes (Petr Oros) [1772010] - [netdrv] phy: micrel: add toggling phy reset if PHY is not attached (Petr Oros) [1772010] - [netdrv] phy: Fix not to call phy_resume() if PHY is not attached (Petr Oros) [1772010] - [netdrv] phy: improve generic EEE ethtool functions (Petr Oros) [1772010] - [netdrv] phy: add workaround for issue where PHY driver doesn't bind to the device (Petr Oros) [1772010] - [netdrv] phy: mscc: fix deadlock in vsc85xx_default_config (Petr Oros) [1772010] - [netdrv] phy: vitesse: remove duplicate support for VSC8574 (Petr Oros) [1772010] - [netdrv] phy: icplus: allow configuring the interrupt function on IP101GR (Petr Oros) [1772010] - [netdrv] phy: icplus: implement .did_interrupt for IP101A/G (Petr Oros) [1772010] - [netdrv] phy: icplus: rename IP101A_G_NO_IRQ to IP101A_G_IRQ_ALL_MASK (Petr Oros) [1772010] - [netdrv] phy: icplus: use the BIT macro where possible (Petr Oros) [1772010] - [netdrv] phy: icplus: keep all ip101a_g functions together (Petr Oros) [1772010] - [documentation] dt-bindings: phy: add bindings for the IC Plus Corp. IP101A/G PHYs (Petr Oros) [1772010] - [documentation] dt-bindings: vendor-prefix: add prefix for IC Plus Corp (Petr Oros) [1772010] - [netdrv] phy: mdio-gpio: Fix working over slow can_sleep GPIOs (Petr Oros) [1772010] - [netdrv] phy: check for implementation of both callbacks in phy_drv_supports_irq (Petr Oros) [1772010] - [netdrv] phy: icplus: add config_intr callback (Petr Oros) [1772010] - [kernel] phy: remove states PHY_STARTING and PHY_PENDING (Petr Oros) [1772010] - [netdrv] phy: leds: Don't make our own link speed names (Petr Oros) [1772010] - [netdrv] phy: improve and inline phy_change (Petr Oros) [1772010] - [netdrv] phy: simplify phy_mac_interrupt and related functions (Petr Oros) [1772010] - [netdrv] phy: don't set state PHY_CHANGELINK in phy_change (Petr Oros) [1772010] - [kernel] phy: improve struct phy_device member interrupts handling (Petr Oros) [1772010] - [netdrv] phy: remove flag PHY_HAS_INTERRUPT from driver configs (Petr Oros) [1772010] - [netdrv] phy: replace PHY_HAS_INTERRUPT with a check for config_intr and ack_interrupt (Petr Oros) [1772010] - [netdrv] phy: use phy_check_link_status in more places in the state machine (Petr Oros) [1772010] - [kernel] phy: remove state PHY_AN (Petr Oros) [1772010] - [netdrv] phy: add phy_check_link_status (Petr Oros) [1772010] - [netdrv] phy: remove useless check in state machine case PHY_RESUMING (Petr Oros) [1772010] - [netdrv] phy: remove useless check in state machine case PHY_NOLINK (Petr Oros) [1772010] - [netdrv] phy: make phy_trigger_machine static (Petr Oros) [1772010] - [netdrv] phy: bcm7xxx: Add entry for BCM7255 (Petr Oros) [1772010] - [netdrv] phy: Allow BCM54616S PHY to setup internal TX/RX clock delay (Petr Oros) [1772010] - [netdrv] phy: mdio-mux-bcm-iproc: simplify getting .driver_data (Petr Oros) [1772010] - [documentation] dt-bindings: add support for Microchip KSZ9131 (Petr Oros) [1772010] - [netdrv] phy: micrel: add Microchip KSZ9131 initial driver (Petr Oros) [1772010] - [netdrv] phy: mscc: fix memory leak in vsc8574_config_pre_init (Petr Oros) [1772010] - [netdrv] phy: mscc: fix signedness bug in vsc85xx_downshift_get (Petr Oros) [1772010] - [netdrv] phy: merge phy_start_aneg and phy_start_aneg_priv (Petr Oros) [1772010] - [netdrv] phy: simplify handling of PHY_RESUMING in state machine (Petr Oros) [1772010] - [netdrv] phy: improve handling of PHY_RUNNING in state machine (Petr Oros) [1772010] - [netdrv] phy: trigger state machine immediately in phy_start_machine (Petr Oros) [1772010] - [netdrv] phy: sfp: remove sfp_mutex's definition (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8574 PHY (Petr Oros) [1772010] - [netdrv] phy: mscc: add support for VSC8584 PHY (Petr Oros) [1772010] - [dt-bindings] vsc8531: add two additional LED modes for VSC8584 (Petr Oros) [1772010] - [netdrv] phy: mscc: remove unneeded temporary variable (Petr Oros) [1772010] - [netdrv] phy: mscc: shorten `x != 0` condition to `x` (Petr Oros) [1772010] - [netdrv] phy: mscc: remove unneeded parenthesis (Petr Oros) [1772010] - [netdrv] phy: mscc: Add EEE init sequence (Petr Oros) [1772010] - [netdrv] phy: mscc: add ethtool statistics counters (Petr Oros) [1772010] - [netdrv] phy: mscc: migrate to phy_select/restore_page functions (Petr Oros) [1772010] - [netdrv] phy: phylink: fix SFP interface autodetection (Petr Oros) [1772010] - [netdrv] phy: Convert to using pOFn instead of device_node.name (Petr Oros) [1772010] - [netdrv] phy: improve handling delayed work (Petr Oros) [1772010] - [netdrv] phy: mscc: fix printf format (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: mark PM functions as __maybe_unused (Petr Oros) [1772010] - [netdrv] phy: marvell: Fix build (Petr Oros) [1772010] - [netdrv] phy: marvell: Avoid unnecessary soft reset (Petr Oros) [1772010] - [netdrv] phy: Stop with excessive soft reset (Petr Oros) [1772010] - [netdrv] phy: sfp: Fix unregistering of HWMON SFP device (Petr Oros) [1772010] - [netdrv] phy: fix WoL handling when suspending the PHY (Petr Oros) [1772010] - [net] core: add member wol_enabled to struct net_device (Petr Oros) [1772010] - [netdrv] phy: mdio-bcm-unimac: Allow configuring MDIO clock divider (Petr Oros) [1772010] - [netdrv] phy: don't reschedule state machine when PHY is halted (Petr Oros) [1772010] - [netdrv] phy: phylink: ensure the carrier is off when starting phylink (Petr Oros) [1772010] - [netdrv] phy: call state machine synchronously in phy_stop (Petr Oros) [1772010] - [net] linkwatch: add check for netdevice being present to linkwatch_do_dev (Petr Oros) [1772010] - [netdrv] sfp: fix oops with ethtool -m (Petr Oros) [1772010] - [netdrv] mdio: remove duplicated include from mdio_bus.c (Petr Oros) [1772010] - [netdrv] phy: et011c: Remove incorrect PHY_POLL flags (Petr Oros) [1772010] - [netdrv] phy: sfp: Handle unimplemented hwmon limits and alarms (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, led-d-mode' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, edge-slowdown' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: read 'vsc8531, vddmac' as an u32 (Petr Oros) [1772010] - [netdrv] phy: mscc: factorize function for getting LED mode from DT (Petr Oros) [1772010] - [netdrv] phy: mscc: factorize code for LEDs mode (Petr Oros) [1772010] - [netdrv] dp83640: Mark expected switch fall-throughs (Petr Oros) [1772010] - [netdrv] phylink: add helper for configuring 2500BaseX modes (Petr Oros) [1772010] - [netdrv] phy: sftp: print debug message with text, not numbers (Petr Oros) [1772010] - [netdrv] phy: Add support for Broadcom Omega internal Combo GPHY (Petr Oros) [1772010] - [netdrv] phy: Add pm support to Broadcom iProc mdio mux driver (Petr Oros) [1772010] - [netdrv] phy: Add support to configure clock in Broadcom iProc mdio mux (Petr Oros) [1772010] - [documentation] dt-bindings: Add clock handle to Broadcom iProc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Use devm api for mdio bus allocation in bcm iproc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Disable external master access in bcm mdio mux driver (Petr Oros) [1772010] - [arm64] dts: Fix the base address of the Broadcom iProc mdio mux (Petr Oros) [1772010] - [netdrv] phy: Fix the register offsets in Broadcom iProc mdio mux driver (Petr Oros) [1772010] - [documentation] dt-bindings: Fix Broadcom iProc mdio mux driver base address (Petr Oros) [1772010] - [netdrv] phy: mscc: the extended page access register is 16 bits (Petr Oros) [1772010] - [netdrv] phy: marvell: Replace mdelay() with msleep() in m88e1116r_config_init() (Petr Oros) [1772010] - [kernel] phy: add helper phy_polling_mode (Petr Oros) [1772010] - [netdrv] phy: prevent PHYs w/o Clause 22 regs from calling genphy_config_aneg (Petr Oros) [1772010] - [netdrv] phy: add GBit master / slave error detection (Petr Oros) [1772010] - [netdrv] phy: sfp: Do not use "imply HWMON" (Petr Oros) [1772010] - [netdrv] phy: sfp: Add HWMON support for module sensors (Petr Oros) [1772010] - [kernel] hwmon: Add helper to tell if a char is invalid in a name (Petr Oros) [1772010] - [kernel] hwmon: Add support for power min, lcrit, min_alarm and lcrit_alarm (Petr Oros) [1772010] - [kernel] hwmon: Add missing HWMON_T_LCRIT_ALARM define (Petr Oros) [1772010] - [netdrv] phy: Drop OF dependency for MDIO_BCM_UNIMAC (Petr Oros) [1772010] - [gpio] gpiolib: Mark gpio_suffixes array with __maybe_unused (Petr Oros) [1772010] - [netdrv] phy: vitesse: Add support for VSC73xx (Petr Oros) [1772010] - [netdrv] phy: dp83tc811: Fix SGMII enable/disable (Petr Oros) [1772010] - [netdrv] phy: dp83tc811: Add INT_STAT3 (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Check read_status results (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Use correct mdio bus (Petr Oros) [1772010] - [netdrv] phy: xgmiitorgmii: Check phy_driver ready before accessing (Petr Oros) [1772010] - [netdrv] mdio-mux-gpio: Remove VLA usage (Petr Oros) [1772010] - [netdrv] phy: fixed-phy: Make the error path simpler (Petr Oros) [1772010] - [netdrv] phy: Allow compile test of GPIO consumers if !GPIOLIB (Petr Oros) [1772010] - [watchdog] hpwdt: Reflect changes (Joseph Szczypek) [1769477] - [documentation] watchdog/hpwdt: Update documentation (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Add module parameter kdumptimeout (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Have core ping watchdog (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Advertize max_hw_heartbeat_ms (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Stop hpwdt on unregister (Joseph Szczypek) [1769477] - [watchdog] hpwdt: drop warning after registering device (Joseph Szczypek) [1769477] - [watchdog] hpwdt: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Joseph Szczypek) [1769477] - [nvme] make fabrics command run on a separate request queue (David Milburn) [1766361] - [nvme] Restart request timers in resetting state (David Milburn) [1766361] - [nvme] nvme-rdma: fix possible use-after-free in connect timeout (David Milburn) [1766361] - [block] blk-mq: remove blk_mq_complete_request_sync (David Milburn) [1766361] - [nvme] wait until all completed request's complete fn is called (David Milburn) [1766361] - [nvme] don't abort completed request in nvme_cancel_request (David Milburn) [1766361] - [block] blk-mq: introduce blk_mq_tagset_wait_completed_request() (David Milburn) [1766361] - [block] blk-mq: introduce blk_mq_request_completed() (David Milburn) [1766361]- [hwtracing] intel_th: pci: Add Jasper Lake PCH support (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Comet Lake PCH support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix possible memory leak in mode_store() (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix overflow in shift of an unsigned int (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix missing allocation failure check on a kstrndup (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix an uninitialized mutex (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Fix the window switching sequence (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Tiger Lake support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Preserve pre-existing buffer configuration (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Prevent freeing buffers while locked windows exist (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Get rid of the window size limit (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu-sink: An example msu buffer "sink" (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Introduce buffer interface (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Start read iterator from a non-empty window (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Split sgt array and pointer in multiwindow mode (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Support multipage blocks (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Ice Lake NNPI support (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix single mode with disabled IOMMU (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Remove set but not used variable 'last' (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix unused variable warning on arm64 platform (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Add current window tracking (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Add a sysfs attribute to trigger window switch (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Correct the block wrap detection (Jiri Olsa) [1771015] - [hwtracing] intel_th: Add switch triggering support (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Factor out trace start/stop (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Factor out pipeline draining (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Switch over to scatterlist (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Replace open-coded list_{first, last, next}_entry variants (Jiri Olsa) [1771015] - [hwtracing] intel_th: Only report useful IRQs to subdevices (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Start handling IRQs (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Use MSI interrupt signalling (Jiri Olsa) [1771015] - [hwtracing] intel_th: Communicate IRQ via resource (Jiri Olsa) [1771015] - [hwtracing] intel_th: Add "rtit" source device (Jiri Olsa) [1771015] - [hwtracing] intel_th: Skip subdevices if their MMIO is missing (Jiri Olsa) [1771015] - [hwtracing] intel_th: Rework resource passing between glue layers and core (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix single mode with IOMMU (Jiri Olsa) [1771015] - [hwtracing] intel_th: pci: Add Comet Lake support (Jiri Olsa) [1771015] - [hwtracing] intel_th: gth: Fix an off-by-one in output unassigning (Jiri Olsa) [1771015] - [hwtracing] intel_th: Don't reference unassigned outputs (Jiri Olsa) [1771015] - [hwtracing] intel_th: pti: Use sysfs_match_string() helper (Jiri Olsa) [1771015] - [hwtracing] intel_th: Only create useful device nodes (Jiri Olsa) [1771015] - [hwtracing] intel_th: Mark expected switch fall-throughs (Jiri Olsa) [1771015] - [hwtracing] intel_th: msu: Fix an off-by-one in attribute store (Jiri Olsa) [1771015] - [hwtracing] intel_th: Fix resource handling for ACPI glue layer (Jiri Olsa) [1771015] - [hwtracing] intel_th: Fix device removal logic (Jiri Olsa) [1771015] - [hwtracing] hwtracing/intel_th/msu.c: change return type to vm_fault_t (Jiri Olsa) [1771015] - [scripts] kbuild: modversions: Fix relative CRC byte order interpretation (Don Zickus) [1772940] - [tools] tools x86 uapi asm: Sync the pt_regs.h copy with the kernel sources (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for trace sequences APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for APIs used to extract common fields from a record (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_parse_header_page() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for parse event APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event filter APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event fields APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_read_number_field() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for print field APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for get field value APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for find field APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for libtraceevent event get APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for list events APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event find APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_read_number() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for registering print function (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for function related libtraceevent APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for event handler APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for tep_strerror() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for page size APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for host endian APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for file endian APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for get/set cpus APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man page for header_page APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Man pages for tep_handler related APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add support for man pages with multiple names (Michael Petlan) [1743208] - [tools] tools lib traceevent: Introduce man pages (Michael Petlan) [1743208] - [tools] perf/x86/regs: Use PERF_REG_EXTENDED_MASK (Michael Petlan) [1743208] - [tools] perf record: Fix s390 missing module symbol and warning for non-root users (Michael Petlan) [1743208] - [tools] perf machine: Read also the end of the kernel (Michael Petlan) [1743208] - [tools] perf test vmlinux-kallsyms: Ignore aliases to _etext when searching on kallsyms (Michael Petlan) [1743208] - [tools] perf session: Add missing swap ops for namespace events (Michael Petlan) [1743208] - [tools] perf namespace: Protect reading thread's namespace (Michael Petlan) [1743208] - [tools] perf data: Fix 'strncat may truncate' build failure with recent gcc (Michael Petlan) [1743208] - [tools] perf stat: Support 'percore' event qualifier (Michael Petlan) [1743208] - [tools] perf stat: Factor out aggregate counts printing (Michael Petlan) [1743208] - [tools] perf tools: Add a 'percore' event qualifier (Michael Petlan) [1743208] - [tools] perf docs: Add description for stderr (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix sample timestamp wrt non-taken branches (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix improved sample timestamp (Michael Petlan) [1743208] - [tools] perf intel-pt: Fix instructions sampling rate (Michael Petlan) [1743208] - [tools] perf regs x86: Add X86 specific arch__intr_reg_mask() (Michael Petlan) [1743208] - [tools] perf parse-regs: Add generic support for arch__intr/user_reg_mask() (Michael Petlan) [1743208] - [tools] perf parse-regs: Split parse_regs (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Add Cortex-A57 and Cortex-A72 events (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Map Brahma-B53 CPUID to cortex-a53 events (Michael Petlan) [1743208] - [tools] perf vendor events arm64: Remove [[:xdigit:]] wildcard (Michael Petlan) [1743208] - [tools] perf jevents: Remove unused variable (Michael Petlan) [1743208] - [tools] perf test zstd: Fixup verbose mode output (Michael Petlan) [1743208] - [tools] perf tests: Implement Zstd comp/decomp integration test (Michael Petlan) [1743208] - [tools] perf inject: Enable COMPRESSED record decompression (Michael Petlan) [1743208] - [tools] perf report: Implement perf.data record decompression (Michael Petlan) [1743208] - [tools] perf record: Implement -z, --compression_level[=] option (Michael Petlan) [1743208] - [tools] perf report: Add stub processing of compressed events for -D (Michael Petlan) [1743208] - [tools] perf record: Implement compression for AIO trace streaming (Michael Petlan) [1743208] - [tools] perf record: Implement compression for serial trace streaming (Michael Petlan) [1743208] - [tools] perf tools: Introduce Zstd streaming based compression API (Michael Petlan) [1743208] - [tools] perf mmap: Implement dedicated memory buffer for data compression (Michael Petlan) [1743208] - [tools] perf record: Implement COMPRESSED event record and its attributes (Michael Petlan) [1743208] - [tools] perf session: Define 'bytes_transferred' and 'bytes_compressed' metrics (Michael Petlan) [1743208] - [tools] perf build tests: Add NO_LIBZSTD=1 to make_minimal (Michael Petlan) [1743208] - [tools] perf machine: Null-terminate version char array upon fgets(/proc/version) error (Michael Petlan) [1743208] - [tools] perf vendor events intel: Add uncore_upi JSON support (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add 'About' dialog box (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add context menu (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add copy to clipboard (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Add tree level (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Fix error when shrinking / enlarging font (Michael Petlan) [1743208] - [tools] perf scripts python: exported-sql-viewer.py: Move view creation (Michael Petlan) [1743208] - [tools] perf tools x86: Add support for recording and printing XMM registers (Michael Petlan) [1743208] - [tools] perf parse-regs: Improve error output when faced with unknown register name (Michael Petlan) [1743208] - [tools] perf record: Fix suggestion to get list of registers usable with --user-regs and --intr-regs (Michael Petlan) [1743208] - [tools] perf tools: Speed up report for perf compiled with linwunwind (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove hard coded install paths from pkg-config file (Michael Petlan) [1743208] - [tools] csky: Add support for libdw (Michael Petlan) [1743208] - [tools] perf test: Fix spelling mistake "leadking" -> "leaking" (Michael Petlan) [1743208] - [tools] perf annotate: Remove hist__account_cycles() from callback (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Silvermont to v14 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update GoldmontPlus to v1.01 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Goldmont to v13 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Bonnell to V4 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update KnightsLanding events to v9 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Haswell events to v28 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update IvyBridge events to v21 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update SandyBridge events to v16 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update JakeTown events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update IvyTown events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update HaswellX events to v20 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update BroadwellX events to v14 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update SkylakeX events to v1.12 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Skylake events to v42 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Broadwell-DE events to v7 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update Broadwell events to v23 (Michael Petlan) [1743208] - [tools] perf vendor events intel: Update metrics from TMAM 3.5 (Michael Petlan) [1743208] - [tools] perf record: Implement --mmap-flush= option (Michael Petlan) [1743208] - [tools] tools build: Implement libzstd feature check, LIBZSTD_DIR and NO_LIBZSTD defines (Michael Petlan) [1743208] - [tools] tools lib traceevent: Rename input arguments and local variables of libtraceevent from pevent to tep (Michael Petlan) [1743208] - [tools] perf tools, tools lib traceevent: Rename "pevent" member of struct tep_event_filter to "tep" (Michael Petlan) [1743208] - [tools] perf tools, tools lib traceevent: Rename "pevent" member of struct tep_event to "tep" (Michael Petlan) [1743208] - [tools] tools lib traceevent: Rename input arguments of libtraceevent APIs from pevent to tep (Michael Petlan) [1743208] - [tools] tools tools, tools lib traceevent: Make traceevent APIs more consistent (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove call to exit() from tep_filter_add_filter_str() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Remove tep filter trivial APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Removed unneeded !! and return parenthesis (Michael Petlan) [1743208] - [tools] tools lib traceevent: Implement new traceevent APIs for accessing struct tep_handler fields (Michael Petlan) [1743208] - [tools] tools lib traceevent: Coding style fixes (Michael Petlan) [1743208] - [tools] tools lib traceevent: Change description of few APIs (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add more debugging to see various internal ring buffer entries (Michael Petlan) [1743208] - [tools] tools lib traceevent: Implement a new API, tep_list_events_copy() (Michael Petlan) [1743208] - [tools] tools lib traceevent: Add mono clocks to be parsed in seconds (Michael Petlan) [1743208] - [tools] tools lib traceevent: Handle trace_printk() "px" (Michael Petlan) [1743208] - [tools] perf list: Output tool events (Michael Petlan) [1743208] - [tools] perf evsel: Support printing evsel name for 'duration_time' (Michael Petlan) [1743208] - [tools] perf stat: Implement duration_time as a proper event (Michael Petlan) [1743208] - [tools] perf stat: Revert checks for duration_time (Michael Petlan) [1743208] - [tools] perf list: Fix s390 counter long description for L1D_RO_EXCL_WRITES (Michael Petlan) [1743208] - [tools] perf tools: Add header defining used namespace struct to event.h (Michael Petlan) [1743208] - [tools] perf trace beauty renameat: No need to include linux/fs.h (Michael Petlan) [1743208] - [tools] perf augmented_raw_syscalls: Use a PERCPU_ARRAY map to copy more string bytes (Michael Petlan) [1743208] - [tools] perf augmented_raw_syscalls: Copy strings from all syscalls with 1st or 2nd string arg (Michael Petlan) [1743208] - [tools] perf trace: Add 'string' event alias to select syscalls with string args (Michael Petlan) [1743208] - [x86] perf/x86: Always store regs->ip in perf_callchain_kernel() (Michael Petlan) [1743208] - [x86] perf/x86: Remove pmu->pebs_no_xmm_regs (Michael Petlan) [1743208] - [x86] perf/x86: Clean up PEBS_XMM_REGS (Michael Petlan) [1743208] - [kernel] perf/x86: Disable extended registers for non-supported PMUs (Michael Petlan) [1743208] - [kernel] perf/ioctl: Add check for the sample_period value (Michael Petlan) [1743208] - [kernel] perf/core: Fix perf_sample_regs_user() mm check (Michael Petlan) [1743208] - [kernel] perf/ring-buffer: Use regular variables for nesting (Michael Petlan) [1743208] - [kernel] perf/ring-buffer: Always use {READ, WRITE}_ONCE() for rb->user_page data (Michael Petlan) [1743208] - [kernel] perf/ring_buffer: Add ordering to rb->nest increment (Michael Petlan) [1743208] - [kernel] perf/ring_buffer: Fix exposing a temporarily decreased data_head (Michael Petlan) [1743208] - [x86] perf/x86/intel/ds: Fix EVENT vs. UEVENT PEBS constraints (Michael Petlan) [1743208] - [x86] perf/x86/intel: Allow PEBS multi-entry in watermark mode (Michael Petlan) [1743208] - [x86] perf/x86/intel: Fix INTEL_FLAGS_EVENT_CONSTRAINT* masking (Michael Petlan) [1743208] - [x86] perf/x86/amd/iommu: Make the 'amd_iommu_attr_groups' symbol static (Michael Petlan) [1743208] - [x86] perf/x86/intel: Add Tremont core PMU support (Michael Petlan) [1743208] - [x86] perf/x86/intel/uncore: Add Intel Icelake uncore support (Michael Petlan) [1743208] - [x86] perf/x86/msr: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel/rapl: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel/cstate: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86/intel: Add Icelake support (Michael Petlan) [1743208] - [x86] perf/x86: Support constraint ranges (Michael Petlan) [1743208] - [x86] perf/x86/lbr: Avoid reading the LBRs when adaptive PEBS handles them (Michael Petlan) [1743208] - [x86] perf/x86/intel: Support adaptive PEBS v4 (Michael Petlan) [1743208] - [x86] perf/x86/intel/ds: Extract code of event update in short period (Michael Petlan) [1743208] - [x86] perf/x86/intel: Extract memory code PEBS parser for reuse (Michael Petlan) [1743208] - [x86] perf/x86: Support outputting XMM registers (Michael Petlan) [1743208] - [x86] perf/x86/intel: Force resched when TFA sysctl is modified (Michael Petlan) [1743208] - [kernel] perf/core: Add perf_pmu_resched() as global function (Michael Petlan) [1743208] - [kernel] perf/headers: Fix stale comment for struct perf_addr_filter (Michael Petlan) [1743208] - [kernel] perf/core: Make perf_swevent_init_cpu() static (Michael Petlan) [1743208] - [x86] perf/x86: Add sanity checks to x86_schedule_events() (Michael Petlan) [1743208] - [x86] perf/x86: Optimize x86_schedule_events() (Michael Petlan) [1743208] - [x86] perf/x86: Clear ->event_constraint[] on put (Michael Petlan) [1743208] - [x86] perf/x86/intel: Optimize intel_get_excl_constraints() (Michael Petlan) [1743208] - [x86] perf/x86: Remove PERF_X86_EVENT_COMMITTED (Michael Petlan) [1743208] - [x86] perf/x86: Simplify x86_pmu.get_constraints() interface (Michael Petlan) [1743208] - [x86] perf/x86/intel: Simplify intel_tfa_commit_scheduling() (Michael Petlan) [1743208] - [tools] perf evsel: Do not rely on errno values for precise_ip fallback (Michael Petlan) [1715508] - [kernel] redhat: perf kABI-check failure fix (Michael Petlan) [1715508] - [tools] perf vendor events: Remove P8 HW events which are not supported (Michael Petlan) [1715508] - [x86] cpufeature: Fix various quality problems in the header (Michael Petlan) [1715508] - [x86] cpufeature: Add facility to check for min microcode revisions (Michael Petlan) [1715508] - [tools] perf tools: Remove needless asm/unistd.h include fixing build in some places (Michael Petlan) [1715508] - [tools] tools build: Add -ldl to the disassembler-four-args feature test (Michael Petlan) [1715508] - [tools] perf cs-etm: Always allocate memory for cs_etm_queue::prev_packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Don't check cs_etm_queue::prev_packet validity (Michael Petlan) [1715508] - [tools] perf report: Report OOM in status line in the GTK UI (Michael Petlan) [1715508] - [tools] perf bench numa: Add define for RUSAGE_THREAD if not present (Michael Petlan) [1715508] - [tools] tools lib traceevent: Change tag string for error (Michael Petlan) [1715508] - [tools] perf annotate: Fix build on 32 bit for BPF annotation (Michael Petlan) [1715508] - [tools] perf bpf: Return value with unlocking in perf_env__find_btf() (Michael Petlan) [1715508] - [tools] perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf() (Michael Petlan) [1715508] - [tools] perf tools: Fix map reference counting (Michael Petlan) [1715508] - [tools] perf evlist: Fix side band thread draining (Michael Petlan) [1715508] - [tools] perf tools: Check maps for bpf programs (Michael Petlan) [1715508] - [tools] perf bpf: Return NULL when RB tree lookup fails in perf_env__find_bpf_prog_info() (Michael Petlan) [1715508] - [tools] tools include uapi: Sync sound/asound.h copy (Michael Petlan) [1715508] - [tools] perf top: Always sample time to satisfy needs of use of ordered queuing (Michael Petlan) [1715508] - [tools] perf evsel: Use hweight64() instead of hweight_long(attr.sample_regs_user) (Michael Petlan) [1715508] - [tools] tools lib traceevent: Fix missing equality check for strcmp (Michael Petlan) [1715508] - [tools] perf stat: Disable DIR_FORMAT feature for 'perf stat record' (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-sqlite.py: Fix use of parent_id in calls_view (Michael Petlan) [1715508] - [tools] perf header: Fix lock/unlock imbalances when processing BPF/BTF info (Michael Petlan) [1715508] - [tools] perf pmu: Fix parser error for uncore event alias (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Fix never-ending loop (Michael Petlan) [1715508] - [tools] perf machine: Update kernel map address and re-order properly (Michael Petlan) [1715508] - [tools] tools headers uapi: Synchronize i915_drm.h (Michael Petlan) [1715508] - [tools] tools headers uapi: Update drm/i915_drm.h (Michael Petlan) [1715508] - [tools] perf evsel: Fix max perf_event_attr.precise_ip detection (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix TSC slip (Michael Petlan) [1715508] - [tools] perf cs-etm: Add missing case value (Michael Petlan) [1715508] - [tools] perf bpf: Show more BPF program info in print_bpf_prog_info() (Michael Petlan) [1715508] - [tools] perf bpf: Extract logic to create program names from perf_event__synthesize_one_bpf_prog() (Michael Petlan) [1715508] - [tools] perf tools: Save bpf_prog_info and BTF of new BPF programs (Michael Petlan) [1715508] - [tools] perf evlist: Introduce side band thread (Michael Petlan) [1715508] - [tools] perf annotate: Enable annotation of BPF programs (Michael Petlan) [1715508] - [tools] perf build: Check what binutils's 'disassembler()' signature to use (Michael Petlan) [1715508] - [tools] tools build: Add -lrt to FEATURE_CHECK_LDFLAGS-libaio (Michael Petlan) [1715508] - [tools] tools build: Add test-reallocarray.c to test-all.c to fix the build (Michael Petlan) [1715508] - [tools] perf bpf: Process PERF_BPF_EVENT_PROG_LOAD for annotation (Michael Petlan) [1715508] - [tools] perf symbols: Introduce DSO_BINARY_TYPE__BPF_PROG_INFO (Michael Petlan) [1715508] - [tools] perf feature detection: Add -lopcodes to feature-libbfd (Michael Petlan) [1715508] - [tools] perf top: Add option --no-bpf-event (Michael Petlan) [1715508] - [tools] perf bpf: Save BTF information as headers to perf.data (Michael Petlan) [1715508] - [tools] perf bpf: Save BTF in a rbtree in perf_env (Michael Petlan) [1715508] - [tools] perf bpf: Save bpf_prog_info information as headers to perf.data (Michael Petlan) [1715508] - [tools] perf bpf: Save bpf_prog_info in a rbtree in perf_env (Michael Petlan) [1715508] - [tools] perf bpf: Make synthesize_bpf_events() receive perf_session pointer instead of perf_tool (Michael Petlan) [1715508] - [tools] perf bpf: Synthesize bpf events with bpf_program__get_prog_info_linear() (Michael Petlan) [1715508] - [tools] perf record: Replace option --bpf-event with --no-bpf-event (Michael Petlan) [1715508] - [tools] perf tests: Fix a memory leak in test__perf_evsel__tp_sched_test() (Michael Petlan) [1715508] - [tools] perf tests: Fix memory leak by expr__find_other() in test__expr() (Michael Petlan) [1715508] - [tools] perf tests: Fix a memory leak of cpu_map object in the openat_syscall_event_on_all_cpus test (Michael Petlan) [1715508] - [tools] perf evsel: Free evsel->counts in perf_evsel__exit() (Michael Petlan) [1715508] - [tools] perf top: Fix global-buffer-overflow issue (Michael Petlan) [1715508] - [tools] perf maps: Purge all maps from the 'names' tree (Michael Petlan) [1715508] - [tools] perf map: Remove map from 'names' tree in __maps__remove() (Michael Petlan) [1715508] - [tools] perf hist: Add missing map__put() in error case (Michael Petlan) [1715508] - [tools] perf top: Fix error handling in cmd_top() (Michael Petlan) [1715508] - [tools] perf top: Delete the evlist before perf_session, fixing heap-use-after-free issue (Michael Petlan) [1715508] - [tools] perf build-id: Fix memory leak in print_sdt_events() (Michael Petlan) [1715508] - [tools] perf config: Fix a memory leak in collect_config() (Michael Petlan) [1715508] - [tools] perf config: Fix an error in the config template documentation (Michael Petlan) [1715508] - [tools] perf list: Don't forget to drop the reference to the allocated thread_map (Michael Petlan) [1715508] - [tools] perf tools: Add doc about how to build perf with Asan and UBSan (Michael Petlan) [1715508] - [tools] perf vendor events: Remove P8 HW events which are not supported (Michael Petlan) [1715508] - [tools] perf stat: Improve scaling (Michael Petlan) [1715508] - [tools] perf stat: Fix --no-scale (Michael Petlan) [1715508] - [tools] perf script: Support relative time (Michael Petlan) [1715508] - [tools] perf report: Indicate JITed code better in report (Michael Petlan) [1715508] - [tools] perf report: Show all sort keys in help output (Michael Petlan) [1715508] - [tools] perf record: Clarify help for --switch-output (Michael Petlan) [1715508] - [tools] perf record: Allow to limit number of reported perf.data files (Michael Petlan) [1715508] - [tools] perf list: Filter metrics too (Michael Petlan) [1715508] - [tools] perf tools report: Add custom scripts to script menu (Michael Petlan) [1715508] - [tools] perf ui browser: Fix ui popup argv browser for many entries (Michael Petlan) [1715508] - [tools] perf script: Add array bound checking to list_scripts (Michael Petlan) [1715508] - [tools] perf tools: Add some new tips describing the new options (Michael Petlan) [1715508] - [tools] perf report: Implement browsing of individual samples (Michael Petlan) [1715508] - [tools] perf report: Support builtin perf script in scripts menu (Michael Petlan) [1715508] - [tools] perf report: Support running scripts for current time range (Michael Petlan) [1715508] - [tools] perf report: Support time sort key (Michael Petlan) [1715508] - [tools] perf script: Filter COMM/FORK/.. events by CPU (Michael Petlan) [1715508] - [tools] perf tools: Update x86's syscall_64.tbl, no change in tools/perf behaviour (Michael Petlan) [1715508] - [tools] perf script python: Add printdate function to SQL exporters (Michael Petlan) [1715508] - [tools] perf report: Use less for scripts output (Michael Petlan) [1715508] - [tools] perf session: Add process callback to reader object (Michael Petlan) [1715508] - [tools] perf header: Add DIR_FORMAT feature to describe directory data (Michael Petlan) [1715508] - [tools] perf data: Make perf_data__size() work over directory (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__update_dir() function (Michael Petlan) [1715508] - [tools] perf data: Don't store auxtrace index for directory data file (Michael Petlan) [1715508] - [tools] perf data: Support having perf.data stored as a directory (Michael Petlan) [1715508] - [tools] perf vendor events amd: perf PMU events for AMD Family 17h (Michael Petlan) [1715508] - [tools] perf probe: Fix getting the kernel map (Michael Petlan) [1715508] - [tools] perf report: Parse time quantum (Michael Petlan) [1715508] - [tools] perf time-utils: Add utility function to print time stamps in nanoseconds (Michael Petlan) [1715508] - [tools] perf report: Support output in nanoseconds (Michael Petlan) [1715508] - [tools] perf script: Support insn output for normal samples (Michael Petlan) [1715508] - [tools] perf data: Force perf_data__open|close zero data->file.path (Michael Petlan) [1715508] - [tools] perf session: Fix double free in perf_data__close (Michael Petlan) [1715508] - [tools] perf evsel: Probe for precise_ip with simple attr (Michael Petlan) [1715508] - [tools] perf tools: Read and store caps/max_precise in perf_pmu (Michael Petlan) [1715508] - [tools] perf hist: Fix memory leak of srcline (Michael Petlan) [1715508] - [tools] perf hist: Add error path into hist_entry__init (Michael Petlan) [1715508] - [tools] perf diff: Support --pid/--tid filter options (Michael Petlan) [1715508] - [tools] perf diff: Support --cpu filter option (Michael Petlan) [1715508] - [tools] perf diff: Support --time filter option (Michael Petlan) [1715508] - [tools] perf thread: Generalize function to copy from thread addr space from intel-bts code (Michael Petlan) [1715508] - [tools] perf annotate: Calculate the max instruction name, align column to that (Michael Petlan) [1715508] - [tools] perf clang: Remove needless extra semicolon (Michael Petlan) [1715508] - [tools] perf bpf: Automatically add BTF ELF markers (Michael Petlan) [1715508] - [tools] perf beauty msg_flags: Add missing s lost when adding prefix suppression logic (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Add call tree (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out CallGraphModelBase (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Improve TreeModel abstraction (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out TreeWindowBase (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-postgresql.py: Export calls parent_id (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-postgresql.py: Fix invalid input syntax for integer error (Michael Petlan) [1715508] - [tools] perf scripts python: export-to-sqlite.py: Export calls parent_id (Michael Petlan) [1715508] - [tools] perf db-export: Add calls parent_id to enable creation of call trees (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix divide by zero when TSC is not available (Michael Petlan) [1715508] - [tools] perf auxtrace: Improve address filter error message when there is no DSO (Michael Petlan) [1715508] - [tools] perf time-utils: Refactor time range parsing code (Michael Petlan) [1715508] - [tools] tools lib traceevent: Fix buffer overflow in arg_eval (Michael Petlan) [1715508] - [tools] perf probe: Clarify error message about not finding kernel modules debuginfo (Michael Petlan) [1715508] - [tools] replace open encodings for NUMA_NO_NODE (Michael Petlan) [1715508] - [tools] perf script python: Add Python3 support to stat-cpi.py (Michael Petlan) [1715508] - [tools] perf tools: Add perf_exe() helper to find perf binary (Michael Petlan) [1715508] - [tools] perf script: Handle missing fields with -F +. (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__open_dir_data function (Michael Petlan) [1715508] - [tools] perf data: Add perf_data__(create_dir|close_dir) functions (Michael Petlan) [1715508] - [tools] perf data: Fail check_backup in case of error (Michael Petlan) [1715508] - [tools] perf data: Make check_backup work over directories (Michael Petlan) [1715508] - [tools] perf tools: Add rm_rf_perf_data function (Michael Petlan) [1715508] - [tools] perf tools: Add pattern name checking to rm_rf (Michael Petlan) [1715508] - [tools] perf tools: Add depth checking to rm_rf (Michael Petlan) [1715508] - [tools] perf data: Add global path holder (Michael Petlan) [1715508] - [tools] perf data: Move size to struct perf_data_file (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Add top calls report (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove no selection error (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove SQLTableDialogDataItem (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Create new dialog data item classes (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Move report name into ReportVars (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out ReportVars (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Factor out ReportDialogBase (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Move column headers (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Hide Call Graph option if no calls table (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Remove leftover debugging prints (Michael Petlan) [1715508] - [tools] perf scripts python: exported-sql-viewer.py: Fix missing shebang (Michael Petlan) [1715508] - [tools] perf thread-stack: Hide x86 retpolines (Michael Petlan) [1715508] - [tools] perf thread-stack: Improve thread_stack__no_call_return() (Michael Petlan) [1715508] - [tools] perf tools: Make rm_rf() remove single file (Michael Petlan) [1715508] - [tools] perf cpumap: Increase debug level for cpu_map__snprint verbose output (Michael Petlan) [1715508] - [tools] perf bpf-event: Add missing new line into pr_debug call (Michael Petlan) [1715508] - [tools] perf script: Allow +- operator for type specific fields option (Michael Petlan) [1715508] - [tools] perf evsel: Force sample_type for slave events (Michael Petlan) [1715508] - [tools] perf session: Don't report zero period samples for slave events (Michael Petlan) [1715508] - [tools] perf trace: Allow dumping a BPF map after setting up BPF events (Michael Petlan) [1715508] - [tools] perf bpf: Add bpf_map dumper (Michael Petlan) [1715508] - [tools] perf doc: Fix documentation of the Flags section in perf.data (Michael Petlan) [1715508] - [tools] perf doc: Fix HEADER_CMDLINE description in perf.data documentation (Michael Petlan) [1715508] - [tools] perf report: Don't shadow inlined symbol with different addr range (Michael Petlan) [1715508] - [tools] perf tools: Use sysfs__mountpoint() when reading cpu topology (Michael Petlan) [1715508] - [tools] perf tools: Add numa_topology object (Michael Petlan) [1715508] - [tools] perf tools: Add cpu_topology object (Michael Petlan) [1715508] - [tools] perf tests shell: Skip trace+probe_vfs_getname.sh if built without trace support (Michael Petlan) [1715508] - [tools] perf header: Remove unused 'cpu_nr' field from 'struct cpu_topo' (Michael Petlan) [1715508] - [tools] perf header: Get rid of write_it label (Michael Petlan) [1715508] - [tools] perf list: Display metric expressions for --details option (Michael Petlan) [1715508] - [tools] perf tools: Fix legacy events symbol separator parsing (Michael Petlan) [1715508] - [tools] perf tools: Rename build libperf to perf (Michael Petlan) [1715508] - [tools] perf tools: Rename LIB_FILE to LIBPERF_A (Michael Petlan) [1715508] - [tools] perf tools: Compile perf with libperf-in.o instead of libperf.a (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize auxtrace_buffer fetch function (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize main packet processing loop (Michael Petlan) [1715508] - [tools] perf cs-etm: Modularize main decoder function (Michael Petlan) [1715508] - [tools] perf cs-etm: Make cs_etm__run_decoder() queue independent (Michael Petlan) [1715508] - [tools] perf cs-etm: Rethink kernel address initialisation (Michael Petlan) [1715508] - [tools] perf cs-etm: Cleaning up function cs_etm__alloc_queue() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix erroneous comment (Michael Petlan) [1715508] - [tools] perf cs-etm: Introducing function cs_etm__init_trace_params() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix memory leak in error path (Michael Petlan) [1715508] - [tools] perf cs-etm: Introducing function cs_etm_decoder__init_dparams() (Michael Petlan) [1715508] - [tools] perf cs-etm: Fix wrong return values in error path (Michael Petlan) [1715508] - [tools] perf cs-etm: Remove unused structure field "time" and "timestamp" (Michael Petlan) [1715508] - [tools] perf cs-etm: Remove unused structure field "state" (Michael Petlan) [1715508] - [tools] perf build: Add missing FEATURE_CHECK_LDFLAGS-libcrypto (Michael Petlan) [1715508] - [tools] perf unwind: Do not put libunwind-{x86, aarch64} in FEATURE_TESTS_BASIC (Michael Petlan) [1715508] - [tools] perf coresight: Do not test for libopencsd by default (Michael Petlan) [1715508] - [tools] perf trace: Filter out gnome-terminal* parent (Michael Petlan) [1715508] - [tools] perf trace: Check if the 'fd' is negative when mapping it to pathname (Michael Petlan) [1715508] - [tools] perf beauty ioctl cmd: The 'fd' arg is signed (Michael Petlan) [1715508] - [tools] perf utils: Silence "Couldn't synthesize bpf events" warning for EPERM (Michael Petlan) [1715508] - [tools] perf cs-etm: Add proper header file for symbols (Michael Petlan) [1715508] - [tools] perf record: Implement --affinity=node|cpu option (Michael Petlan) [1715508] - [tools] perf auxtrace: Add timestamp to auxtrace errors (Michael Petlan) [1715508] - [tools] perf intel-pt: Packet splitting can happen only on 32-bit (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix CYC timestamp calculation after OVF (Michael Petlan) [1715508] - [tools] perf intel-pt: Fix overlap calculation for padding (Michael Petlan) [1715508] - [tools] perf auxtrace: Define auxtrace record alignment (Michael Petlan) [1715508] - [tools] perf thread-stack: Represent jmps to the start of a different symbol (Michael Petlan) [1715508] - [tools] perf thread-stack: Tidy thread_stack__no_call_return() by adding more local variables (Michael Petlan) [1715508] - [tools] perf thread-stack: Tidy thread_stack__push_cp() usage (Michael Petlan) [1715508] - [tools] perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols (Michael Petlan) [1715508] - [tools] perf vendor events intel: Fix Load_Miss_Real_Latency on CLX (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for exception return packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for exception packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Add traceID in packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata (Michael Petlan) [1715508] - [tools] perf cs-etm: Add exception number in exception packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for trace discontinuity (Michael Petlan) [1715508] - [tools] perf cs-etm: Set sample flags for instruction range packet (Michael Petlan) [1715508] - [tools] perf cs-etm: Add last instruction information in packet (Michael Petlan) [1715508] - [tools] perf tools: Add documentation for BPF event selection (Michael Petlan) [1715508] - [tools] perf report: Move symbol annotation to the resort phase (Michael Petlan) [1715508] - [tools] perf evsel: Add output_resort_cb method (Michael Petlan) [1715508] - [tools] perf hists: Add argument to hists__resort_cb_t callback (Michael Petlan) [1715508] - [tools] perf record: Apply affinity masks when reading mmap buffers (Michael Petlan) [1715508] - [tools] perf tools: Add fallback versions for CPU_{OR, EQUAL}() (Michael Petlan) [1715508] - [tools] perf record: Bind the AIO user space buffers to nodes (Michael Petlan) [1715508] - [tools] perf record: Allocate affinity masks (Michael Petlan) [1715508] - [tools] perf pmu: Remove set_drv_config API (Michael Petlan) [1715508] - [tools] perf coresight: Remove set_drv_config() API (Michael Petlan) [1715508] - [tools] perf arm cs-etm: Use event attributes to send sink information to kernel (Michael Petlan) [1715508] - [tools] perf pmu: Move EVENT_SOURCE_DEVICE_PATH to PMU header file (Michael Petlan) [1715508] - [tools] perf bpf-loader: Remove unecessary includes from bpf-loader.h (Michael Petlan) [1715508] - [tools] perf powerpc kvm-stat: Add missing evlist.h header (Michael Petlan) [1715508] - [tools] perf kvm stat: Replace kvm-stat.h includes with forward declarations (Michael Petlan) [1715508] - [tools] perf pmu: Remove needless evsel.h only needs one fwd decl (Michael Petlan) [1715508] - [tools] perf tests pmu: Add missing headers (Michael Petlan) [1715508] - [tools] perf hist: Remove the needless callchain.h include from hist.h (Michael Petlan) [1715508] - [tools] perf tools: Add missing include in various places (Michael Petlan) [1715508] - [tools] perf thread: Don't include symbol.h, symbol_conf.h is enough (Michael Petlan) [1715508] - [tools] perf evsel: No need to include symbol.h in evsel.h, symbol_conf.h is enough (Michael Petlan) [1715508] - [tools] perf tools: Add missing include for symbols.h (Michael Petlan) [1715508] - [tools] perf hist: Remove symbol.h from hist.h, just fwd decls are needed (Michael Petlan) [1715508] - [tools] perf tests: Add missing headers so far obtained indirectly (Michael Petlan) [1715508] - [tools] perf map: Move structs and prototypes for map groups to a separate header (Michael Petlan) [1715508] - [tools] pref tools: Add missing map.h includes (Michael Petlan) [1715508] - [tools] perf symbols: Introduce map_symbol.h (Michael Petlan) [1715508] - [tools] perf callchain: Uninline callchain_cursor_reset() to remove map.h dependency (Michael Petlan) [1715508] - [tools] perf srccode: Move struct definition from map.h to srccode.h (Michael Petlan) [1715508] - [tools] perf arm pmu: Add missing linux/string.h header (Michael Petlan) [1715508] - [tools] perf powerpc: Add missing headers to skip-callchain-idx.c (Michael Petlan) [1715508] - [tools] perf augmented_syscalls: Convert to bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf examples: Convert etcsnoop to use bpf_map() (Michael Petlan) [1715508] - [tools] perf trace: Fixup etcsnoop example (Michael Petlan) [1715508] - [tools] perf augmented_raw_syscalls: Use bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf: Convert pid_map() to bpf_map() (Michael Petlan) [1715508] - [tools] perf bpf: Add bpf_map() helper (Michael Petlan) [1715508] - [tools] perf bpf: Fix synthesized PERF_RECORD_KSYMBOL/BPF_EVENT (Michael Petlan) [1715508] - [tools] perf sched: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf hist: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf symbols: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf util: Use cached rbtree for rblists (Michael Petlan) [1715508] - [tools] perf callchain: Use cached rbtrees (Michael Petlan) [1715508] - [tools] perf machine: Use cached rbtrees (Michael Petlan) [1715508] - [tools] Update rbtree implementation (Michael Petlan) [1715508] - [tools] perf callchain: No need to include perf.h (Michael Petlan) [1715508] - [tools] perf comm: Remove needless headers from comm.h (Michael Petlan) [1715508] - [tools] perf namespaces: Remove namespaces.h from .h headers (Michael Petlan) [1715508] - [tools] perf symbols: Remove some unnecessary includes from symbol.h (Michael Petlan) [1715508] - [tools] perf symbols: Remove include map.h from dso.h (Michael Petlan) [1715508] - [tools] perf block-range: Add missing headers (Michael Petlan) [1715508] - [tools] perf tools: Move branch structs to branch.h (Michael Petlan) [1715508] - [tools] perf annotate: Remove lots of headers from annotate.h (Michael Petlan) [1715508] - [tools] perf symbols: Move symbol_conf to separate file (Michael Petlan) [1715508] - [tools] perf color: Add missing stdarg.g to color.h (Michael Petlan) [1715508] - [tools] perf utils: Move perf_config using routines from color.c to separate object (Michael Petlan) [1715508] - [tools] perf top: Synthesize BPF events for pre-existing loaded BPF programs (Michael Petlan) [1715508] - [tools] perf tools: Synthesize PERF_RECORD_* for loaded BPF programs (Michael Petlan) [1715508] - [tools] perf tools: Handle PERF_RECORD_BPF_EVENT (Michael Petlan) [1715508] - [tools] perf tools: Handle PERF_RECORD_KSYMBOL (Michael Petlan) [1715508] - [tools] tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1715508] - [tools] tools headers uapi: Sync tools/include/uapi/linux/perf_event.h (Michael Petlan) [1715508] - [tools] perf report: Display names in s390 diagnostic counter sets (Michael Petlan) [1715508] - [tools] perf tools: Remove duplicate headers (Michael Petlan) [1715508] - [tools] perf session: Add reader__process_events function (Michael Petlan) [1715508] - [tools] perf session: Add 'data_offset' member to reader object (Michael Petlan) [1715508] - [tools] perf session: Add 'data_size' member to reader object (Michael Petlan) [1715508] - [tools] perf session: Add reader object (Michael Petlan) [1715508] - [tools] perf session: Get rid of file_size variable (Michael Petlan) [1715508] - [tools] perf session: Rearrange perf_session__process_events function (Michael Petlan) [1715508] - [tools] perf tools: Replace automatic const char[] variables by statics (Michael Petlan) [1715508] - [tools] perf/doc: Update design.txt for exclude_{host|guest} flags (Michael Petlan) [1715508] - [x86] perf/x86/intel/pt: Remove software double buffering PMU capability (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Fix AUX software double buffering (Michael Petlan) [1715508] - [x86] perf/x86/amd: Update generic hardware cache events for Family 17h (Michael Petlan) [1715508] - [x86] perf/x86/amd: Add event map for AMD Family 17h (Michael Petlan) [1715508] - [x86] perf/x86: Fix incorrect PEBS_REGS (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Fix AUX record suppression (Michael Petlan) [1715508] - [kernel] perf/core: Fix the address filtering fix (Michael Petlan) [1715508] - [kernel] perf/core: Fix perf_event_disable_inatomic() race (Michael Petlan) [1715508] - [x86] perf/x86/intel: Initialize TFA MSR (Michael Petlan) [1715508] - [x86] perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS (Michael Petlan) [1715508] - [kernel] perf/core: Restore mmap record type correctly (Michael Petlan) [1715508] - [x86] perf/x86/intel: Make dev_attr_allow_tsx_force_abort static (Michael Petlan) [1715508] - [kernel] uprobes: convert uprobe.ref to refcount_t (Michael Petlan) [1715508] - [kernel] perf, bpf: Consider events with attr.bpf_event as side-band events (Michael Petlan) [1715508] - [kernel] perf/core: Mark expected switch fall-through (Michael Petlan) [1715508] - [x86] perf/x86/intel/uncore: Fix client IMC events return huge result (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Use high order allocations for AUX buffers optimistically (Michael Petlan) [1715508] - [x86] events: Mark expected switch-case fall-throughs (Michael Petlan) [1715508] - [kernel] perf, pt, coresight: Fix address filters for vmas with non-zero offset (Michael Petlan) [1715508] - [kernel] perf: Copy parent's address filter offsets on clone (Michael Petlan) [1715508] - [x86] perf/x86/intel: Add counter freezing quirk for Goldmont (Michael Petlan) [1715508] - [x86] perf/x86/intel: Clean up counter freezing quirk (Michael Petlan) [1715508] - [x86] perf/x86/intel: Clean up SNB PEBS quirk (Michael Petlan) [1715508] - [x86] perf/x86/kvm: Avoid unnecessary work in guest filtering (Michael Petlan) [1715508] - [perf] aux: Make perf_event accessible to setup_aux() (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Convert ring_buffer.aux_refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf/ring_buffer: Convert ring_buffer.refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf: Convert perf_event_context.refcount to refcount_t (Michael Petlan) [1715508] - [kernel] perf/uprobes: Convert to SPDX license identifier (Michael Petlan) [1715508] - [kernel] perf/hw_breakpoints: Convert to SPDX license identifier (Michael Petlan) [1715508] - [kernel] perf/core: Convert to SPDX license identifiers (Michael Petlan) [1715508] - [kernel] perf, bpf: Introduce PERF_RECORD_BPF_EVENT (Michael Petlan) [1715508] - [kernel] perf, bpf: Introduce PERF_RECORD_KSYMBOL (Michael Petlan) [1715508] - [kernel] perf: Remove duplicated workqueue.h include from perf_event.h (Michael Petlan) [1715508] - [tools] perf/core: Remove unused perf_flags (Michael Petlan) [1715508] - [x86] perf/core, arch/x86: Strengthen exclusion checks with PERF_PMU_CAP_NO_EXCLUDE (Michael Petlan) [1715508] - [x86] perf/core, arch/x86: Use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1715508] - [kernel] perf/core: Add PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs (Michael Petlan) [1715508] - [kernel] perf/core: Add function to test for event exclusion flags (Michael Petlan) [1715508]- [kernel] mm/hmm: fix ZONE_DEVICE anon page mapping reuse (Jerome Glisse) [1498655 1597758] - [gpu] drm/nouveau/dmem: missing mutex_lock in error path (Jerome Glisse) [1498655 1597758] - [mm] hmm: always return EBUSY for invalid ranges in hmm_range_{fault, snapshot} (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: move hmm_vma_range_done and hmm_vma_fault to nouveau (Jerome Glisse) [1498655 1597758] - [kernel] mm: factor out a devm_request_free_mem_region helper (Jerome Glisse) [1498655 1597758] - [mm] don't clear ->mapping in hmm_devmem_free (Jerome Glisse) [1498655 1597758] - [mm] remove the struct hmm_device infrastructure (Jerome Glisse) [1498655 1597758] - [mm] hmm: Fix error flows in hmm_invalidate_range_start (Jerome Glisse) [1498655 1597758] - [mm] hmm: Remove confusing comment and logic from hmm_release (Jerome Glisse) [1498655 1597758] - [mm] hmm: Poison hmm_range during unregister (Jerome Glisse) [1498655 1597758] - [mm] hmm: Remove racy protection against double-unregistration (Jerome Glisse) [1498655 1597758] - [mm] hmm: Use lockdep instead of comments (Jerome Glisse) [1498655 1597758] - [mm] hmm: Hold on to the mmget for the lifetime of the range (Jerome Glisse) [1498655 1597758] - [mm] hmm: Do not use list*_rcu() for hmm->ranges (Jerome Glisse) [1498655 1597758] - [mm] hmm: Simplify hmm_get_or_create and make it reliable (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: Remove duplicate condition test before wait_event_timeout (Jerome Glisse) [1498655 1597758] - [mm] hmm: Hold a mmgrab from hmm to mm (Jerome Glisse) [1498655 1597758] - [mm] hmm: Use hmm_mirror not mm as an argument for hmm_range_register (Jerome Glisse) [1498655 1597758] - [mm] hmm: fix use after free with struct hmm in the mmu notifiers (Jerome Glisse) [1498655 1597758] - [mm] hmm: Only set FAULT_FLAG_ALLOW_RETRY for non-blocking (Jerome Glisse) [1498655 1597758] - [mm] hmm: support automatic NUMA balancing (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: clean up some coding style and comments (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: suppress compilation warnings when CONFIG_HUGETLB_PAGE is not set (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: convert various hmm_pfn_* to device_entry which is a better name (Jerome Glisse) [1498655 1597758] - [mm] hmm: add a helper function that fault pages and map them to a device (Jerome Glisse) [1498655 1597758] - [mm] hmm: allow to mirror vma of a file on a DAX backed filesystem (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: add helpers to test if mm is still alive or not (Jerome Glisse) [1498655 1597758] - [mm] hmm: mirror hugetlbfs (snapshoting, faulting and DMA mapping) (Jerome Glisse) [1498655 1597758] - [documentation] [documentation] mm/hmm: add default fault flags to avoid the need to pre-fill pfns arrays (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve driver API to work and wait over a range (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve and rename hmm_vma_fault() to hmm_range_fault() (Jerome Glisse) [1498655 1597758] - [mm] hmm: improve and rename hmm_vma_get_pfns() to hmm_range_snapshot() (Jerome Glisse) [1498655 1597758] - [mm] hmm: do not erase snapshot when a range is invalidated (Jerome Glisse) [1498655 1597758] - [mm] hmm: use reference counting for HMM struct (Jerome Glisse) [1498655 1597758] - [kernel] mm/hmm: convert to use vm_fault_t (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: remove set but not used variable 'devmem' (Jerome Glisse) [1498655 1597758] - [mm] hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL (Jerome Glisse) [1498655 1597758] - [mm] hmm: replace hmm_devmem_pages_create() with devm_memremap_pages() (Jerome Glisse) [1498655 1597758] - [mm] hmm: use devm semantics for hmm_devmem_{add, remove} (Jerome Glisse) [1498655 1597758] - [mm] hmm: invalidate device page table at start of invalidation (Jerome Glisse) [1498655 1597758] - [mm] hmm: use a structure for update callback parameters (Jerome Glisse) [1498655 1597758] - [mm] hmm: properly handle migration pmd (Jerome Glisse) [1498655 1597758] - [mm] hmm: fix utf8 . (Jerome Glisse) [1498655 1597758] - [mm] hmm.c: remove unused variables align_start and align_end (Jerome Glisse) [1498655 1597758] - [hid] hyperv: Use in-place iterator API in the channel callback (Benjamin Tissoires) [1740778 1772010] - [hid] logitech-hidpp: do all FF cleanup in hidpp_ff_destroy() (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: rework device validation (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: split g920_get_config() (Benjamin Tissoires) [1740778] - [hid] fix error message in hid_open_report() (Benjamin Tissoires) [1740778] - [hid] Fix assumption that devices have inputs (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add Trekstor Primebook C11B to descriptor override (Benjamin Tissoires) [1740778] - [hid] apple: Fix stuck function keys when using FN (Benjamin Tissoires) [1740778] - [hid] wacom: Fix several minor compiler warnings (Benjamin Tissoires) [1740778] - [hid] Add quirk for HP X500 PIXART OEM mouse (Benjamin Tissoires) [1740778] - [hid] hidraw: Fix invalid read in hidraw_ioctl (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix crash when initial logi_dj_recv_query_paired_devices fails (Benjamin Tissoires) [1740778] - [hid] logitech: Fix general protection fault caused by Logitech driver (Benjamin Tissoires) [1740778] - [hid] sony: Fix memory corruption issue on cleanup (Benjamin Tissoires) [1740778] - [hid] prodikeys: Fix general protection fault during probe (Benjamin Tissoires) [1740778] - [hid] wacom: correct misreported EKR ring values (Benjamin Tissoires) [1740778] - [hid] cp2112: prevent sleeping function called from invalid context (Benjamin Tissoires) [1740778] - [hid] wacom: Correct distance scale for 2nd-gen Intuos devices (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove support for the G700 over USB (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech-hidpp: add USB PID for a few more supported mice" (Benjamin Tissoires) [1740778] - [hid] sony: Fix race condition between rumble and device remove (Benjamin Tissoires) [1740778] - [hid] hiddev: do cleanup in failure of opening a device (Benjamin Tissoires) [1740778] - [hid] hiddev: avoid opening a disconnected device (Benjamin Tissoires) [1740778] - [hid] input: fix a4tech horizontal wheel custom usage (Benjamin Tissoires) [1740778] - [hid] Add quirk for HP X1200 PIXART OEM mouse (Benjamin Tissoires) [1740778] - [hid] holtek: test for sanity of intfdata (Benjamin Tissoires) [1740778] - [hid] wacom: fix bit shift for Cintiq Companion 2 (Benjamin Tissoires) [1740778] - [hid] quirks: Set the INCREMENT_USAGE_ON_DUPLICATE quirk on Saitek X52 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Really fix return value of logi_dj_recv_query_hidpp_devices (Benjamin Tissoires) [1740778] - [hid] Add 044f:b320 ThrustMaster, Inc. 2 in 1 DT (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add the Powerplay receiver (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add USB PID for a few more supported mice (Benjamin Tissoires) [1740778] - [hid] logitech-dj: rename "gaming" receiver to "lightspeed" (Benjamin Tissoires) [1740778] - [hid] Add another Primax PIXART OEM mouse quirk (Benjamin Tissoires) [1740778] - [hid] wacom: generic: add touchring adjustment for 2nd Gen Pro Small (Benjamin Tissoires) [1740778] - [hid] quirks: Refactor ELAN 400 and 401 handling (Benjamin Tissoires) [1740778] - [hid] video: fbdev: don't print error message on framebuffer_alloc() failure (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix forwarding of very long HID++ reports (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Huion HS64 tablet (Benjamin Tissoires) [1740778] - [hid] wacom: add new MobileStudio Pro support (Benjamin Tissoires) [1740778] - [hid] wacom: generic: read the number of expected touches on a per collection basis (Benjamin Tissoires) [1740778] - [hid] wacom: generic: support the 'report valid' usage for touch (Benjamin Tissoires) [1740778] - [hid] wacom: generic: read HID_DG_CONTACTMAX from any feature report (Benjamin Tissoires) [1740778] - [hid] wacom: Add 2nd gen Intuos Pro Small support (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee Rainbow CV720 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix return value of logi_dj_recv_query_hidpp_devices (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 307 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 297 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 (Benjamin Tissoires) [1740778] - [hid] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 265 (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Fix 064d:c52f receiver support (Benjamin Tissoires) [1740778] - [hid] revert "hid: core: Call request_module before doing device_add" (Benjamin Tissoires) [1740778] - [hid] revert "hid: core: Do not call request_module() in async context" (Benjamin Tissoires) [1740778] - [hid] revert "hid: Increase maximum report size allowed by hid_field_extract()" (Benjamin Tissoires) [1740778] - [hid] a4tech: fix horizontal scrolling (Benjamin Tissoires) [1740778] - [hid] hyperv: Add a module description line (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: Add support for the S510 remote control (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: hid: make const array consumer_rdesc_start static (Benjamin Tissoires) [1740778] - [hid] logitech-dj: make const array template static (Benjamin Tissoires) [1740778] - [hid] multitouch: handle faulty Elo touch device (Benjamin Tissoires) [1740778] - [input] treewide: Add SPDX license identifier for more missed files (Benjamin Tissoires) [1740778] - [hid] wacom: Sync INTUOSP2_BT touch state after each frame if necessary (Benjamin Tissoires) [1740778] - [hid] wacom: Correct button numbering 2nd-gen Intuos Pro over Bluetooth (Benjamin Tissoires) [1740778] - [hid] wacom: Send BTN_TOUCH in response to INTUOSP2_BT eraser contact (Benjamin Tissoires) [1740778] - [hid] wacom: Don't report anything prior to the tool entering range (Benjamin Tissoires) [1740778] - [hid] wacom: Don't set tool type until we're in range (Benjamin Tissoires) [1740778] - [hid] wacom: correct touch resolution x/y typo (Benjamin Tissoires) [1740778] - [hid] wacom: generic: Correct pad syncing (Benjamin Tissoires) [1740778] - [hid] wacom: generic: only switch the mode on devices with LEDs (Benjamin Tissoires) [1740778] - [hid] logitech-dj: Add usb-id for the 27MHz MX3000 receiver (Benjamin Tissoires) [1740778] - [hid] rmi: Use SET_REPORT request on control endpoint for Acer Switch 3 and 5 (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for the MX5500 keyboard (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for the Logitech MX5500's Bluetooth Mini-Receiver (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add iBall Aer3 to descriptor override (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix spelling in printk (Benjamin Tissoires) [1740778] - [hid] input: add mapping for KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [1740778] - [hid] input: fix assignment of .value (Benjamin Tissoires) [1740778] - [hid] input: make sure the wheel high resolution multiplier is set (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add usbhid dependency in Kconfig (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 consumer keys reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 extra mouse buttons reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add support for HID++ 1.0 wheel reports (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: make hidpp10_set_register_bit a bit more generic (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: add input_device ptr to struct hidpp_device (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: do not hardcode very long report length (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: handle devices attached to 27MHz wireless receivers (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: use RAP instead of FAP to get the protocol version (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove unused origin_is_hid_core function parameter (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove double assignment from __hidpp_send_report (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: do not make failure to get the name fatal (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: ignore very-short or empty names (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: make .probe usbhid capable (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: allow non HID++ devices to be handled by this module (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for Logitech Bluetooth Mini-Receiver (Benjamin Tissoires) [1740778] - [hid] logitech-dj: make appending of the HID++ descriptors conditional (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove false-positive error on double queueing of delayed-work (Benjamin Tissoires) [1740778] - [hid] logitech-dj: pick a better name for non-unifying receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: deal with some KVMs adding an extra interface to the usbdev (Benjamin Tissoires) [1740778] - [hid] logitech-dj: replace dev_err calls with hid_err calls (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for 27 MHz mouse-only receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for 27 MHz receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for the gaming unifying receiver (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add support for non unifying receivers (Benjamin Tissoires) [1740778] - [hid] logitech-dj: add logi_dj_recv_queue_unknown_work helper (Benjamin Tissoires) [1740778] - [hid] logitech-dj: support sharing struct dj_receiver_dev between USB-interfaces (Benjamin Tissoires) [1740778] - [hid] logitech-dj: rename dj_receiver_dev.hdev to dj_receiver_dev.hidpp (Benjamin Tissoires) [1740778] - [hid] logitech-dj: protect the paired_dj_devices access in add_djhid_dev with the lock (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove unused querying_devices variable (Benjamin Tissoires) [1740778] - [hid] logitech-dj: do not schedule the dj report itself (Benjamin Tissoires) [1740778] - [hid] logitech-dj: remove USB dependency (Benjamin Tissoires) [1740778] - [hid] logitech-dj: declare and use a few HID++ 1.0 constants (Benjamin Tissoires) [1740778] - [hid] logitech-dj: use BIT() macro for RF Report types (Benjamin Tissoires) [1740778] - [hid] logitech-dj: fix variable naming in logi_dj_hidpp_event (Benjamin Tissoires) [1740778] - [hid] logitech-dj: reshuffle logi_dj_recv_forward_* (Benjamin Tissoires) [1740778] - [hid] logitech: Stop setting drvdata to NULL on probe failure and remove (Benjamin Tissoires) [1740778] - [hid] quirks: do not blacklist Logitech devices (Benjamin Tissoires) [1740778] - [hid] u2fzero: fail probe if not using USB transport (Benjamin Tissoires) [1740778] - [hid] u2fzero: fix compiling error in u2fzero_probe() (Benjamin Tissoires) [1740778] - [hid] revert "hid: i2c-hid: Disable runtime PM on Synaptics touchpad" (Benjamin Tissoires) [1740778] - [hid] add driver for U2F Zero built-in LED and RNG (Benjamin Tissoires) [1740778] - [hid] core: Do not call request_module() in async context (Benjamin Tissoires) [1740778] - [hid] macally: Add support for Macally ikey keyboard (Benjamin Tissoires) [1740778] - [hid] core: Call request_module before doing device_add (Benjamin Tissoires) [1740778] - [hid] core: move Usage Page concatenation to Main item (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: change low battery level threshold from 31 to 30 percent (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: remove hidpp_is_connected() (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: simplify printing of HID++ version (Benjamin Tissoires) [1740778] - [hid] picolcd: Convert to use sysfs_streq() (Benjamin Tissoires) [1740778] - [hid] hid-sensor-custom: simplify getting .driver_data (Benjamin Tissoires) [1740778] - [hid] input: add mapping for Assistant key (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM on Synaptics touchpad (Benjamin Tissoires) [1740778] - [hid] quirks: Fix keyboard + touchpad on Lenovo Miix 630 (Benjamin Tissoires) [1740778] - [hid] input: add mapping for "Toggle Display" key (Benjamin Tissoires) [1740778] - [hid] input: add mapping for "Full Screen" key (Benjamin Tissoires) [1740778] - [hid] input: add mapping for keyboard Brightness Up/Down/Toggle keys (Benjamin Tissoires) [1740778] - [hid] input: add mapping for Expose/Overview key (Benjamin Tissoires) [1740778] - [hid] input: fix mapping of aspect ratio key (Benjamin Tissoires) [1740778] - [hid] logitech: Handle 0 scroll events for the m560 (Benjamin Tissoires) [1740778] - [hid] debug: fix race condition with between rdesc_show() and device removal (Benjamin Tissoires) [1740778] - [hid] logitech: check the return value of create_singlethread_workqueue (Benjamin Tissoires) [1740778] - [hid] steam: fix deadlock with input devices (Benjamin Tissoires) [1740778] - [hid] uclogic: remove redudant duplicated null check on ver_ptr (Benjamin Tissoires) [1740778] - [hid] quirks: Drop misused kernel-doc annotation (Benjamin Tissoires) [1740778] - [hid] quirks: use correct format chars in dbg_hid (Benjamin Tissoires) [1740778] - [hid] Remove Waltop tablets from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] Remove KYE tablets from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] Remove hid-uclogic entries from hid_have_special_driver (Benjamin Tissoires) [1740778] - [hid] uclogic: Do not initialize non-USB devices (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee G5 (Benjamin Tissoires) [1740778] - [hid] uclogic: Support Gray-coded rotary encoders (Benjamin Tissoires) [1740778] - [hid] uclogic: Support faking Wacom pad device ID (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Deco 01 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Star G640 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for XP-Pen Star G540 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee EX07S frame controls (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee M540 (Benjamin Tissoires) [1740778] - [hid] uclogic: Add support for Ugee 2150 (Benjamin Tissoires) [1740778] - [hid] uclogic: Support v2 protocol (Benjamin Tissoires) [1740778] - [hid] uclogic: Support fragmented high-res reports (Benjamin Tissoires) [1740778] - [hid] uclogic: Support in-range reporting emulation (Benjamin Tissoires) [1740778] - [hid] uclogic: Designate current protocol v1 (Benjamin Tissoires) [1740778] - [hid] uclogic: Re-initialize tablets on resume (Benjamin Tissoires) [1740778] - [hid] uclogic: Extract tablet parameter discovery into a module (Benjamin Tissoires) [1740778] - [hid] uclogic: Extract report descriptors to a module (Benjamin Tissoires) [1740778] - [hid] Clarify vendor ID reuse by Ugee tablets (Benjamin Tissoires) [1740778] - [hid] viewsonic: Support PD1011 signature pad (Benjamin Tissoires) [1740778] - [hid] kye: Add support for EasyPen M406XE (Benjamin Tissoires) [1740778] - [hid] wacom: Add support for Pro Pen slim (Benjamin Tissoires) [1740778] - [hid] roccat: Mark expected switch fall-through (Benjamin Tissoires) [1740778] - [hid] wacom: Mark expected switch fall-through (Benjamin Tissoires) [1740778] - [hid] fix Logitech WingMan Formula GP joined axes (Benjamin Tissoires) [1740778] - [hid] multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons (Benjamin Tissoires) [1740778] - [hid] steam: fix boot loop with bluetooth firmware (Benjamin Tissoires) [1740778] - [hid] Add ASUS T100CHI keyboard dock battery quirks (Benjamin Tissoires) [1740778] - [hid] Add support for Toshiba WT10A tablet bluetooth keyboard (Benjamin Tissoires) [1740778] - [hid] wacom: Move HID fix for AES serial number into wacom_hid_usage_quirk (Benjamin Tissoires) [1740778] - [hid] elan: Make array buf static, shrinks object size (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Ignore input report if there's no data present on Elan touchpanels (Benjamin Tissoires) [1740778] - [hid] core: simplify active collection tracking (Benjamin Tissoires) [1740778] - [hid] Support for Maltron L90 keyboard media keys (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM on Goodix touchpad (Benjamin Tissoires) [1740778] - [hid] sony: Fix SHANWAN PS3 GamePad rumble and led settings support (Benjamin Tissoires) [1740778] - [hid] sony: Transform one-time SHANWAN check into quirk (Benjamin Tissoires) [1740778] - [hid] core: replace the collection tree pointers with indices (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add Odys Winbook 13 to descriptor override (Benjamin Tissoires) [1740778] - [hid] lenovo: Add checks to fix of_led_classdev_register (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: add MSI interrupt support (Benjamin Tissoires) [1740778] - [hid] debug: Change to use DEFINE_SHOW_ATTRIBUTE macro (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: fixes incorrect error handling (Benjamin Tissoires) [1740778] - [hid] logitech: Use LDJ_DEVICE macro for existing Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Enable high-resolution scrolling on Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Add function to enable HID++ 1.0 "scrolling acceleration" (Benjamin Tissoires) [1740778] - [hid] logitech-hidpp: fix typo, hiddpp to hidpp (Benjamin Tissoires) [1740778] - [hid] input: use the Resolution Multiplier for high-resolution scrolling (Benjamin Tissoires) [1740778] - [hid] core: process the Resolution Multiplier (Benjamin Tissoires) [1740778] - [hid] core: store the collections as a basic tree (Benjamin Tissoires) [1740778] - [hid] cougar: Add support for Cougar 700K Gaming Keyboard (Benjamin Tissoires) [1740778] - [hid] hidraw: enforce minors_lock locking via lockdep (Benjamin Tissoires) [1740778] - [hid] quirks: fix RetroUSB.com devices (Benjamin Tissoires) [1740778] - [kernel] hid: input: support Microsoft wireless radio control hotkey (Benjamin Tissoires) [1740778] - [kernel] hid: use macros in IS_INPUT_APPLICATION (Benjamin Tissoires) [1740778] - [hid] ite: Add USB id match for another ITE based keyboard rfkill key quirk (Benjamin Tissoires) [1740778] - [hid] revert "hid: input: Create a utility class for counting scroll events" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Add function to enable HID++ 1.0 "scrolling acceleration"" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Enable high-resolution scrolling on Logitech mice" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: Use LDJ_DEVICE macro for existing Logitech mice" (Benjamin Tissoires) [1740778] - [hid] revert "hid: logitech: fix a used uninitialized GCC warning" (Benjamin Tissoires) [1740778] - [hid] revert "hid: input: simplify/fix high-res scroll event handling" (Benjamin Tissoires) [1740778] - [hid] Add quirk for Primax PIXART OEM mice (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Disable runtime PM for LG touchscreen (Benjamin Tissoires) [1740778] - [hid] steam: remove input device when a hid client is running (Benjamin Tissoires) [1740778] - [hid] revert "hid: uhid: use strlcpy() instead of strncpy()" (Benjamin Tissoires) [1740778] - [hid] uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges (Benjamin Tissoires) [1740778] - [hid] iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers (Benjamin Tissoires) [1740778] - [hid] input: Ignore battery reported by Symbol DS4308 (Benjamin Tissoires) [1740778] - [hid] Add quirk for Microsoft PIXART OEM mouse (Benjamin Tissoires) [1740778] - [kernel] hid: fix up .raw_event() documentation (Benjamin Tissoires) [1740778] - [hid] i2c-hid: add Direkt-Tek DTLAPY133-1 to descriptor override (Benjamin Tissoires) [1740778] - [hid] input: simplify/fix high-res scroll event handling (Benjamin Tissoires) [1740778] - [hid] we do not randomly make new drivers 'default y' (Benjamin Tissoires) [1740778] - [hid] i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array (Benjamin Tissoires) [1740778] - [hid] alps: allow incoming reports when only the trackstick is opened (Benjamin Tissoires) [1740778] - [hid] revert "hid: add NOGET quirk for Eaton Ellipse MAX UPS" (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add a small delay after sleep command for Raydium touchpanel (Benjamin Tissoires) [1740778] - [hid] usbhid: Add quirk for Redragon/Dragonrise Seymur 2 (Benjamin Tissoires) [1740778] - [hid] wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 (Benjamin Tissoires) [1740778] - [hid] google: add dependency on Cros EC for Hammer (Benjamin Tissoires) [1740778] - [hid] elan: fix spelling mistake "registred" -> "registered" (Benjamin Tissoires) [1740778] - [hid] google: drop superfluous const before SIMPLE_DEV_PM_OPS() (Benjamin Tissoires) [1740778] - [hid] google: add support tablet mode switch for Whiskers (Benjamin Tissoires) [1740778] - [hid] magicmouse: add support for Apple Magic Trackpad 2 (Benjamin Tissoires) [1740778] - [hid] i2c-hid: override HID descriptors for certain devices (Benjamin Tissoires) [1740778] - [hid] hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad (Benjamin Tissoires) [1740778] - [hid] logitech: fix a used uninitialized GCC warning (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: using list_head for ipc write queue (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: use resource-managed api (Benjamin Tissoires) [1740778] - [hid] intel_ish-hid: Enhance API to get ring buffer sizes (Benjamin Tissoires) [1740778] - [hid] input: Set INPUT_PROP_-property for HID_UP_DIGITIZERS (Benjamin Tissoires) [1740778] - [hid] microsoft: the driver now neeed MEMLESS_FF infrastructure (Benjamin Tissoires) [1740778] - [hid] cougar: Stop processing vendor events on hid-core (Benjamin Tissoires) [1740778] - [hid] cougar: Make parameter 'g6_is_space' dinamically settable (Benjamin Tissoires) [1740778] - [hid] microsoft: Add rumble support for Xbox One S controller (Benjamin Tissoires) [1740778] - [hid] microsoft: Convert private data to be a proper struct (Benjamin Tissoires) [1740778] - [hid] logitech: Use LDJ_DEVICE macro for existing Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Enable high-resolution scrolling on Logitech mice (Benjamin Tissoires) [1740778] - [hid] logitech: Add function to enable HID++ 1.0 "scrolling acceleration" (Benjamin Tissoires) [1740778] - [hid] input: Create a utility class for counting scroll events (Benjamin Tissoires) [1740778] - [hid] multitouch: simplify the application retrieval (Benjamin Tissoires) [1740778] - [hid] input: do not append a suffix if the name already has it (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Remove RESEND_REPORT_DESCR quirk and its handling (Benjamin Tissoires) [1740778] - [hid] i2c-hid: disable runtime PM operations on hantick touchpad (Benjamin Tissoires) [1740778] - [hid] sensor-hub: Restore fixup for Lenovo ThinkPad Helix 2 sensor hub report (Benjamin Tissoires) [1740778] - [hid] core: fix NULL pointer dereference (Benjamin Tissoires) [1740778] - [hid] hid-saitek: Add device ID for RAT 7 Contagion (Benjamin Tissoires) [1740778] - [hid] core: fix memory leak on probe (Benjamin Tissoires) [1740778] - [hid] add support for Apple Magic Keyboards (Benjamin Tissoires) [1740778] - [hid] intel_ish-hid: tx_buf memory leak on probe/remove (Benjamin Tissoires) [1740778] - [hid] intel-ish-hid: Prevent loading of driver on Mehlow (Benjamin Tissoires) [1740778] - [hid] cougar: Add support for the Cougar 500k Gaming Keyboard (Benjamin Tissoires) [1740778] - [hid] cougar: make compare_device_paths reusable (Benjamin Tissoires) [1740778] - [hid] multitouch: handle palm for touchscreens (Benjamin Tissoires) [1740778] - [hid] multitouch: touchscreens also use confidence reports (Benjamin Tissoires) [1740778] - [hid] multitouch: report MT_TOOL_PALM for non-confident touches (Benjamin Tissoires) [1740778] - [hid] microsoft: support the Surface Dial (Benjamin Tissoires) [1740778] - [hid] core: do not upper bound the collection stack (Benjamin Tissoires) [1740778] - [hid] input: enable Totem on the Dell Canvas 27 (Benjamin Tissoires) [1740778] - [hid] multitouch: remove one copy of values (Benjamin Tissoires) [1740778] - [hid] multitouch: ditch mt_report_id (Benjamin Tissoires) [1740778] - [hid] multitouch: store a per application quirks value (Benjamin Tissoires) [1740778] - [hid] multitouch: Store per collection multitouch data (Benjamin Tissoires) [1740778] - [hid] multitouch: make sure the static list of class is not changed (Benjamin Tissoires) [1740778] - [hid] elan: Add support for touchpad on the Toshiba Click Mini L9W (Benjamin Tissoires) [1740778] - [hid] elan: Add USB-id for HP x2 10-n000nd touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Add a flag for selecting if the touchpad has a LED (Benjamin Tissoires) [1740778] - [hid] elan: Query resolution from the touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Query device max_x and max_y value from touchpad (Benjamin Tissoires) [1740778] - [hid] elan: Hardcode finger-count and usb-interface (Benjamin Tissoires) [1740778] - [hid] elan: Correctly report MT_PRESSURE instead of TOOL_WIDTH (Benjamin Tissoires) [1740778] - [hid] elan: Stop claiming we have TOUCH_MAJOR and then never reporting it (Benjamin Tissoires) [1740778] - [hid] elan: Remove unused max_area_x and max_area_y vatiables (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sc->output_report_dmabuf (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_battery_probe() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_leds_init() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_register_sensors() (Benjamin Tissoires) [1740778] - [hid] hid-sony.c: Use devm_ api to simplify sony_register_touchpad() (Benjamin Tissoires) [1740778] - [hid] wacom: convert Wacom custom usages to standard HID usages (Benjamin Tissoires) [1740778] - [hid] wacom: Move handling of HID quirks into a dedicated function (Benjamin Tissoires) [1740778] - [hid] wacom: Replace touch_max fixup code with static touch_max definitions (Benjamin Tissoires) [1740778] - [hid] wiimote: add support for Guitar-Hero devices (Benjamin Tissoires) [1740778] - [hid] usbhid: use irqsave() in USB's complete callback (Benjamin Tissoires) [1740778] - [hid] redragon: fix num lock and caps lock LEDs (Benjamin Tissoires) [1740778] - [hid] hid-ntrig: add error handling for sysfs_create_group (Benjamin Tissoires) [1740778] - [hid] i2c-hid: Add vddl regulator control (Benjamin Tissoires) [1740778] - [uapi] input: document meanings of KEY_SCREEN and KEY_ZOOM (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - avoid processing unknown IRQs (Benjamin Tissoires) [1740778] - [input] revert "input: elantech - enable SMBus on new (2018+) systems" (Benjamin Tissoires) [1740778] - [input] elantech - annotate fall-through case in elantech_use_host_notify() (Benjamin Tissoires) [1740778] - [samples] treewide: Add SPDX license identifier - Makefile/Kconfig (Benjamin Tissoires) [1740778] - [kernel] input: elan_i2c - remove Lenovo Legion Y7000 PnpID (Benjamin Tissoires) [1740778] - [input] synaptics - enable RMI mode for HP Spectre X360 (Benjamin Tissoires) [1740778] - [input] elantech - enable SMBus on new (2018+) systems (Benjamin Tissoires) [1740778] - [input] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Benjamin Tissoires) [1740778] - [kernel] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard: Use in-place iterator API in the channel callback (Benjamin Tissoires) [1740778] - [input] usbtouchscreen - initialize PM mutex before using it (Benjamin Tissoires) [1740778] - [input] alps - fix a mismatch between a condition check and its comment (Benjamin Tissoires) [1740778] - [input] psmouse - fix build error of multiple definition (Benjamin Tissoires) [1740778] - [input] alps - don't handle ALPS cs19 trackpoint-only device (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard - remove dependencies on PAGE_SIZE for ring buffer (Benjamin Tissoires) [1740778] - [input] synaptics - fix misuse of strlcpy (Benjamin Tissoires) [1740778] - [input] synaptics - whitelist Lenovo T580 SMBus intertouch (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBUS on T480 thinkpad trackpad (Benjamin Tissoires) [1740778] - [input] joydev - extend absolute mouse detection (Benjamin Tissoires) [1740778] - [kernel] input: elan_i2c - export the device id whitelist (Benjamin Tissoires) [1740778] - [kernel] pm: suspend: Rename pm_suspend_via_s2idle() (Benjamin Tissoires) [1740778] - [kernel] pm: sleep: Add kerneldoc comments to some functions (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus on ThinkPad E480 and E580 (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - remove set but not used variable 'sensor_flags' (Benjamin Tissoires) [1740778] - [input] uinput - add compat ioctl number translation for UI_*_FF_UPLOAD (Benjamin Tissoires) [1740778] - [input] libps2 - mark expected switch fall-through (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - write config register values to the right offset (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fix enum_fmt (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fill initial format (Benjamin Tissoires) [1740778] - [uapi] input: add KEY_KBD_LAYOUT_NEXT (Benjamin Tissoires) [1740778] - [input] synaptics-rmi4 - fix possible double free (Benjamin Tissoires) [1740778] - [input] hyperv-keyboard - add module description (Benjamin Tissoires) [1740778] - [input] i8042 - signal wakeup from atkbd/psmouse (Benjamin Tissoires) [1740778] - [input] evdev - use struct_size() in kzalloc() and vzalloc() (Benjamin Tissoires) [1740778] - [input] elan_i2c - add hardware ID for multiple Lenovo laptops (Benjamin Tissoires) [1740778] - [input] wacom_serial4 - add support for Wacom ArtPad II tablet (Benjamin Tissoires) [1740778] - [input] elan_i2c - add id for touchpad found in Lenovo s21e-20 (Benjamin Tissoires) [1740778] - [input] i8042 - rework DT node name comparisons (Benjamin Tissoires) [1740778] - [input] synaptics_i2c - remove redundant spinlock (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK (Benjamin Tissoires) [1740778] - [input] revert "input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G" (Benjamin Tissoires) [1740778] - [input] elantech - enable 3rd button support on Fujitsu CELSIUS H780 (Benjamin Tissoires) [1740778] - [uapi] input: input_event - fix the CONFIG_SPARC64 mixup (Benjamin Tissoires) [1740778] - [input] uinput - fix undefined behavior in uinput_validate_absinfo() (Benjamin Tissoires) [1740778] - [uapi] input: input_event - provide override for sparc64 (Benjamin Tissoires) [1740778] - [input] soc_button_array - fix mapping of the 5th GPIO in a PNP0C40 device (Benjamin Tissoires) [1740778] - [input] soc_button_array - add usage-page 0x01 usage-id 0xca mapping (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus for HP EliteBook 840 G4 (Benjamin Tissoires) [1740778] - [input] synaptics - enable RMI on ThinkPad T560 (Benjamin Tissoires) [1740778] - [documentation] input: add `REL_WHEEL_HI_RES` and `REL_HWHEEL_HI_RES` (Benjamin Tissoires) [1740778] - [uapi] input: restore EV_ABS ABS_RESERVED (Benjamin Tissoires) [1740778] - [input] synaptics - enable SMBus for HP 15-ay000 (Benjamin Tissoires) [1740778] - [input] synaptics - add PNP ID for ThinkPad P50 to SMBus (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15ARR (Benjamin Tissoires) [1740778] - [input] elan_i2c - add support for ELAN0621 touchpad (Benjamin Tissoires) [1740778] - [documentation] revert "input: Add the `REL_WHEEL_HI_RES` event code" (Benjamin Tissoires) [1740778] - [input] atkbd - clean up indentation issue (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ELAN0620 to the ACPI table (Benjamin Tissoires) [1740778] - [input] synaptics - avoid using uninitialized variable when probing (Benjamin Tissoires) [1740778] - [input] xen-kbdfront - mark expected switch fall-through (Benjamin Tissoires) [1740778] - [input] elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15IGM (Benjamin Tissoires) [1740778] - [input] of_touchscreen - add support for touchscreen-min-x|y (Benjamin Tissoires) [1740778] - [input] elants_i2c - use DMA safe i2c when possible (Benjamin Tissoires) [1740778] - [input] uinput - add a schedule point in uinput_inject_events() (Benjamin Tissoires) [1740778] - [input] evdev - add a schedule point in evdev_write() (Benjamin Tissoires) [1740778] - [input] mousedev - add a schedule point in mousedev_write() (Benjamin Tissoires) [1740778] - [uapi] input: reserve 2 events code because of HID (Benjamin Tissoires) [1740778] - [input] i8042 - enable keyboard wakeups by default when s2idle is used (Benjamin Tissoires) [1740778] - [input] uinput - allow for max == min during input_absinfo validation (Benjamin Tissoires) [1740778] - [input] atakbd - fix Atari CapsLock behaviour (Benjamin Tissoires) [1740778] - [input] atakbd - fix Atari keymap (Benjamin Tissoires) [1740778] - [documentation] input: Add the `REL_WHEEL_HI_RES` event code (Benjamin Tissoires) [1740778] - [input] mark expected switch fall-throughs (Benjamin Tissoires) [1740778] - [input] evdev - switch to bitmap API (Benjamin Tissoires) [1740778] - [input] elan_i2c_smbus - cast sizeof to int for comparison (Benjamin Tissoires) [1740778] - [uapi] input: stop telling users to snail-mail Vojtech (Benjamin Tissoires) [1740778] - [documentation] input: add MT_TOOL_DIAL (Benjamin Tissoires) [1740778] - [input] i8042 - increment wakeup_count for the respective port (Benjamin Tissoires) [1740778] - [input] xen-kbdfront - allow better run-time configuration (Benjamin Tissoires) [1740778] - [xen] Sync up with the canonical protocol definitions in Xen (Benjamin Tissoires) [1740778] - [cpufreq] dev_pm_qos_update_request() can return 1 on success (Al Stone) [1739729 1725581] - [cpufreq] Make cpufreq_generic_init() return void (Al Stone) [1739729 1725581] - [cpufreq] Add QoS requests for userspace constraints (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Reuse refresh_frequency_limits() (Al Stone) [1739729 1725581] - [cpufreq] Register notifiers with the PM QoS framework (Al Stone) [1739729 1725581] - [base] pm / qos: Add support for MIN/MAX frequency constraints (Al Stone) [1739729 1725581] - [base] pm / qos: Pass request type to dev_pm_qos_read_value() (Al Stone) [1739729 1725581] - [base] pm / qos: Rename __dev_pm_qos_read_value() and dev_pm_qos_raw_read_value() (Al Stone) [1739729 1725581] - [base] pm / qos: Pass request type to dev_pm_qos_{add|remove}_notifier() (Al Stone) [1739729 1725581] - [cpufreq] Avoid calling cpufreq_verify_current_freq() from handle_update() (Al Stone) [1739729 1725581] - [cpufreq] Consolidate cpufreq_update_current_freq() and __cpufreq_get() (Al Stone) [1739729 1725581] - [cpufreq] Don't skip frequency validation for has_target() drivers (Al Stone) [1739729 1725581] - [cpufreq] Use has_target() instead of !setpolicy (Al Stone) [1739729 1725581] - [cpufreq] Remove redundant !setpolicy check (Al Stone) [1739729 1725581] - [kernel] cpufreq: Move the IS_ENABLED(CPU_THERMAL) macro into a stub (Al Stone) [1739729 1725581] - [opp] Don't use IS_ERR on invalid supplies (Al Stone) [1739729 1725581] - [kernel] pm: sleep: Update struct wakeup_source documentation (Al Stone) [1739729 1725581] - [base] base: power: remove wakeup_sources_stats_dentry variable (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: Fail initialization if driver cannot be registered (Al Stone) [1739729 1725581] - [opp] Make dev_pm_opp_set_rate() handle freq = 0 to drop performance votes (Al Stone) [1739729 1725581] - [opp] Don't overwrite rounded clk rate (Al Stone) [1739729 1725581] - [base] pm: sleep: Show how long dpm_suspend_start() and dpm_suspend_end() take (Al Stone) [1739729 1725581] - [base] pm / clk: Remove error message on out-of-memory condition (Al Stone) [1739729 1725581] - [base] base: power: clock_ops: Use of_clk_get_parent_count() (Al Stone) [1739729 1725581] - [opp] Allocate genpd_virt_devs from dev_pm_opp_attach_genpd() (Al Stone) [1739729 1725581] - [opp] Attach genpds to devices from within OPP core (Al Stone) [1739729 1725581] - [base] pm / domains: Add GENPD_FLAG_RPM_ALWAYS_ON flag (Al Stone) [1739729 1725581] - [cpufreq] Don't find governor for setpolicy drivers in cpufreq_init_policy() (Al Stone) [1739729 1725581] - [cpufreq] Explain the kobject_put() in cpufreq_policy_alloc() (Al Stone) [1739729 1725581] - [x86] cpufreq: Call transition notifier only once for each policy (Al Stone) [1739729 1725581] - [cpufreq] Fix kobject memleak (Al Stone) [1739729 1725581] - [cpufreq] centrino: Fix centrino_setpolicy() kerneldoc comment (Al Stone) [1739729 1725581] - [base] pm / domains: Allow to attach a CPU via genpd_dev_pm_attach_by_id|name() (Al Stone) [1739729 1725581] - [base] pm / domains: Search for the CPU device outside the genpd lock (Al Stone) [1739729 1725581] - [base] pm / domains: Drop unused in-parameter to some genpd functions (Al Stone) [1739729 1725581] - [base] pm / domains: Use the base device for driver_deferred_probe_check_state() (Al Stone) [1739729 1725581] - [base] pm / domains: Enable genpd_dev_pm_attach_by_id|name() for single PM domain (Al Stone) [1739729 1725581] - [base] pm / domains: Allow OF lookup for multi PM domain case from ->attach_dev() (Al Stone) [1739729 1725581] - [base] pm / domains: Don't kfree() the virtual device in the error path (Al Stone) [1739729 1725581] - [cpufreq] Move ->get callback check outside of __cpufreq_get() (Al Stone) [1739729 1725581] - [x86] tsc: Rework time_cpufreq_notifier() (Al Stone) [1739729 1725581] - [x86] tsc: Fix UV TSC initialization (Al Stone) [1739729 1725581] - [x86] tsc: Prevent result truncation on 32bit (Al Stone) [1739729 1725581] - [x86] tsc: Consolidate init code (Al Stone) [1739729 1725581] - [x86] tsc: Make use of tsc_calibrate_cpu_early() (Al Stone) [1739729 1725581] - [x86] tsc: Split native_calibrate_cpu() into early and late parts (Al Stone) [1739729 1725581] - [x86] tsc: Use TSC as sched clock early (Al Stone) [1739729 1725581] - [x86] tsc: Initialize cyc2ns when tsc frequency is determined (Al Stone) [1739729 1725581] - [x86] tsc: Calibrate tsc only once (Al Stone) [1739729 1725581] - [x86] tsc: Redefine notsc to behave as tsc=unstable (Al Stone) [1739729 1725581] - [x86] platform/uv: Provide is_early_uv_system() (Al Stone) [1739729 1725581] - [base] pm / domains: remove unnecessary unlikely() (Al Stone) [1739729 1725581] - [cpufreq] Remove needless bios_limit check in show_bios_limit() (Al Stone) [1739729 1725581] - [cpufreq] cpufreq/acpi-cpufreq.c: This fixes the following checkpatch warning (Al Stone) [1739729 1725581] - [base] pm / core: Propagate dev->power.wakeup_path when no callbacks (Al Stone) [1739729 1725581] - [base] pm / domains: Add genpd governor for CPUs (Al Stone) [1739729 1725581] - [cpuidle] Export the next timer expiration for CPUs (Al Stone) [1739729 1725581] - [base] pm / core: Introduce dpm_async_fn() helper (Al Stone) [1739729 1725581] - [cpufreq] boost: Remove CONFIG_CPU_FREQ_BOOST_SW Kconfig option (Al Stone) [1739729 1725581] - [opp] Introduce dev_pm_opp_find_freq_ceil_by_volt() (Al Stone) [1739729 1725581] - [base] pm / domains: Add support for CPU devices to genpd (Al Stone) [1739729 1725581] - [base] pm / domains: Add generic data pointer to struct genpd_power_state (Al Stone) [1739729 1725581] - [cpufreq] rhel: cpufreq: switch printk users from pf and pF to ps and pS, respectively (Al Stone) [1739729 1725581] - [base] pm / core: fix kerneldoc comment for device_pm_wait_for_dev() (Al Stone) [1739729 1725581] - [base] pm / core: fix kerneldoc comment for dpm_watchdog_handler() (Al Stone) [1739729 1725581] - [cpufreq] stats: Use lock by stat to replace global spin lock (Al Stone) [1739729 1725581] - [cpufreq] Remove cpufreq_driver check in cpufreq_boost_supported() (Al Stone) [1739729 1725581] - [cpufreq] ppc_cbe: fix possible object reference leak (Al Stone) [1739729 1725581] - [cpufreq] cpufreq: Convert some slow-path static_cpu_has() callers to boot_cpu_has() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Update max frequency on global turbo changes (Al Stone) [1739729 1725581] - [base] pm / wakeup: Use pm_pr_dbg() instead of pr_debug() (Al Stone) [1739729 1725581] - [cpufreq] Add cpufreq_cpu_acquire() and cpufreq_cpu_release() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Driver-specific handling of _PPC updates (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Load only on Intel hardware (Al Stone) [1739729 1725581] - [cpufreq] scpi: Fix use after free (Al Stone) [1739729 1725581] - [base] pm / domains: Avoid a potential deadlock (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Fix up iowait_boost computation (Al Stone) [1739729 1725581] - [opp] pm / opp: Update performance state when freq == old_freq (Al Stone) [1739729 1725581] - [base] pm / wakeup: Drop wakeup_source_drop() (Al Stone) [1739729 1725581] - [base] pm / wakeup: Rework wakeup source timer cancellation (Al Stone) [1739729 1725581] - [base] pm / domains: Remove one unnecessary blank line (Al Stone) [1739729 1725581] - [base] pm / domains: Return early for all errors in _genpd_power_off() (Al Stone) [1739729 1725581] - [base] pm / domains: Improve warn for multiple states but no governor (Al Stone) [1739729 1725581] - [opp] Fix handling of multiple power domains (Al Stone) [1739729 1725581] - [base] pm / qos: Fix typo in file description (Al Stone) [1739729 1725581] - [base] pm-runtime: Call pm_runtime_active|suspended_time() from sysfs (Al Stone) [1739729 1725581] - [base] pm-runtime: Consolidate code to get active/suspended time (Al Stone) [1739729 1725581] - [base] pm: Add and use pr_fmt() (Al Stone) [1739729 1725581] - [cpufreq] Improve kerneldoc comments for cpufreq_cpu_get/put() (Al Stone) [1739729 1725581] - [cpufreq] acpi-cpufreq: Report if CPU doesn't support boost technologies (Al Stone) [1739729 1725581] - [base] driver core: Fix PM-runtime for links added during consumer probe (Al Stone) [1739729 1725581] - [cpufreq] Pass updated policy to driver ->setpolicy() callback (Al Stone) [1739729 1725581] - [cpufreq] Fix two debug messages in cpufreq_set_policy() (Al Stone) [1739729 1725581] - [cpufreq] Reorder and simplify cpufreq_update_policy() (Al Stone) [1739729 1725581] - [cpufreq] Add kerneldoc comments for two core functions (Al Stone) [1739729 1725581] - [cpufreq] scmi: Fix use-after-free in scmi_cpufreq_exit() (Al Stone) [1739729 1725581] - [kernel] pm / core: Add support to skip power management in device/driver model (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Rework iowait boosting to be less aggressive (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Eliminate intel_pstate_get_base_pstate() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Avoid redundant initialization of local vars (Al Stone) [1739729 1725581] - [cpufreq] cpufreq / cppc: Work around for Hisilicon CPPC cpufreq (Al Stone) [1739729 1725581] - [cpufreq] speedstep: convert BUG() to BUG_ON() (Al Stone) [1739729 1725581] - [cpufreq] powernv: fix missing check of return value in init_powernv_pstates() (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: remove unneeded semicolon (Al Stone) [1739729 1725581] - [kernel] pm / domains: Mark "name" const in dev_pm_domain_attach_by_name() (Al Stone) [1739729 1725581] - [kernel] pm / domains: Mark "name" const in genpd_dev_pm_attach_by_name() (Al Stone) [1739729 1725581] - [cpufreq] Replace double NOT (!!) with single NOT (!) (Al Stone) [1739729 1725581] - [base] pm / suspend: Print debug messages for device using direct-complete (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Add reasons for failure and debug messages (Al Stone) [1739729 1725581] - [base] driver core: Fix possible supplier PM-usage counter imbalance (Al Stone) [1739729 1725581] - [base] pm-runtime: Fix __pm_runtime_set_status() race with runtime resume (Al Stone) [1739729 1725581] - [cpufreq] dt: Implement online/offline() callbacks (Al Stone) [1739729 1725581] - [cpufreq] Allow light-weight tear down and bring up of CPUs (Al Stone) [1739729 1725581] - [base] pm-runtime: Take suppliers into account in __pm_runtime_set_status() (Al Stone) [1739729 1725581] - [opp] no need to check return value of debugfs_create functions (Al Stone) [1739729 1725581] - [cpufreq] scmi: Register an Energy Model (Al Stone) [1739729 1725581] - [opp] pm / opp: Introduce a power estimation helper (Al Stone) [1739729 1725581] - [opp] pm / opp: Remove unused parameter of _generic_set_opp_clk_only() (Al Stone) [1739729 1725581] - [cpufreq] scpi: Register an Energy Model (Al Stone) [1739729 1725581] - [cpufreq] dt: Register an Energy Model (Al Stone) [1739729 1725581] - [cpufreq] stats: Fix concurrency issues while resetting stats (Al Stone) [1739729 1725581] - [cpufreq] stats: Declare freq-attr right after their callbacks (Al Stone) [1739729 1725581] - [base] driver core: Do not call rpm_put_suppliers() in pm_runtime_drop_link() (Al Stone) [1739729 1725581] - [base] driver core: Fix handling of runtime PM flags in device_link_add() (Al Stone) [1739729 1725581] - [base] driver core: Do not resume suppliers under device_links_write_lock() (Al Stone) [1739729 1725581] - [base] driver core: Avoid careless re-use of existing device links (Al Stone) [1739729 1725581] - [base] driver core: Fix DL_FLAG_AUTOREMOVE_SUPPLIER device link flag handling (Al Stone) [1739729 1725581] - [base] driver core: Add flag to autoremove device link on supplier unbind (Al Stone) [1739729 1725581] - [base] driver core: Rename flag AUTOREMOVE to AUTOREMOVE_CONSUMER (Al Stone) [1739729 1725581] - [base] pm-runtime: update accounting_timestamp on enable (Al Stone) [1739729 1725581] - [cpufreq] scpi: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] scmi: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] cpufreq-dt: Use auto-registration of thermal cooling device (Al Stone) [1739729 1725581] - [cpufreq] Auto-register the driver as a thermal cooling device if asked (Al Stone) [1739729 1725581] - [cpufreq] thermal: cpu_cooling: Require thermal core to be compiled in (Al Stone) [1739729 1725581] - [cpufreq] Use struct kobj_attribute instead of struct global_attr (Al Stone) [1739729 1725581] - [base] pm / wakeup: fix kerneldoc comment for pm_wakeup_dev_event() (Al Stone) [1739729 1725581] - [base] pm: domains: no need to check return value of debugfs_create functions (Al Stone) [1739729 1725581] - [opp] Add support for parsing the 'opp-level' property (Al Stone) [1739729 1725581] - [kernel] cpufreq: Replace open-coded << with BIT() (Al Stone) [1739729 1725581] - [base] pm: clock_ops: fix missing clk_prepare() return value check (Al Stone) [1739729 1725581] - [cpufreq] e_powersaver: Use struct_size() in kzalloc() (Al Stone) [1739729 1725581] - [cpufreq] Don't update new_policy on failures (Al Stone) [1739729 1725581] - [cpufreq] scmi: Fix frequency invariance in slow path (Al Stone) [1739729 1725581] - [cpufreq] check if policy is inactive early in __cpufreq_get() (Al Stone) [1739729 1725581] - [opp] cpufreq: scpi/scmi: Fix freeing of dynamic OPPs (Al Stone) [1739729 1725581] - [base] pm: sleep: call devfreq suspend/resume (Al Stone) [1739729 1725581] - [devfreq] pm / devfreq: add devfreq_suspend/resume() functions (Al Stone) [1739729 1725581] - [base] pm / domains: remove define_genpd_open_function() and define_genpd_debugfs_fops() (Al Stone) [1739729 1725581] - [base] pm / domains: Propagate performance state updates (Al Stone) [1739729 1725581] - [base] pm / domains: Factorize dev_pm_genpd_set_performance_state() (Al Stone) [1739729 1725581] - [base] pm / domains: Save OPP table pointer in genpd (Al Stone) [1739729 1725581] - [opp] Don't return 0 on error from of_get_required_opp_performance_state() (Al Stone) [1739729 1725581] - [opp] Add dev_pm_opp_xlate_performance_state() helper (Al Stone) [1739729 1725581] - [opp] Improve _find_table_of_opp_np() (Al Stone) [1739729 1725581] - [base] pm / domains: Make genpd performance states orthogonal to the idlestates (Al Stone) [1739729 1725581] - [opp] Fix missing debugfs supply directory for OPPs (Al Stone) [1739729 1725581] - [opp] Use opp_table->regulators to verify no regulator case (Al Stone) [1739729 1725581] - [base] pm: Switch to use ptR (Al Stone) [1739729 1725581] - [cpufreq] powernv: add of_node_put() (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Force HWP min perf before offline (Al Stone) [1739729 1725581] - [cpufreq] cpufreq: change CONFIG_6xx to CONFIG_PPC_BOOK3S_32 (Al Stone) [1739729 1725581] - [opp] Fix parsing of multiple phandles in "operating-points-v2" property (Al Stone) [1739729 1725581] - [opp] Remove of_dev_pm_opp_find_required_opp() (Al Stone) [1739729 1725581] - [base] opp: Rename and relocate of_genpd_opp_to_performance_state() (Al Stone) [1739729 1725581] - [opp] Configure all required OPPs (Al Stone) [1739729 1725581] - [opp] Add dev_pm_opp_{set|put}_genpd_virt_dev() helper (Al Stone) [1739729 1725581] - [base] pm / domains: Add genpd_opp_to_performance_state() (Al Stone) [1739729 1725581] - [opp] Populate OPPs from "required-opps" property (Al Stone) [1739729 1725581] - [opp] Populate required opp tables from "required-opps" property (Al Stone) [1739729 1725581] - [opp] Separate out custom OPP handler specific code (Al Stone) [1739729 1725581] - [opp] Identify and mark genpd OPP tables (Al Stone) [1739729 1725581] - [base] pm / domains: Rename genpd virtual devices as virt_dev (Al Stone) [1739729 1725581] - [cpufreq] remove unused arm_big_little_dt driver (Al Stone) [1739729 1725581] - [cpufreq] drop ARM_BIG_LITTLE_CPUFREQ support for ARM64 (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: Fix compilation for !CONFIG_ACPI (Al Stone) [1739729 1725581] - [base] pm / domains: Deal with multiple states but no governor in genpd (Al Stone) [1739729 1725581] - [base] pm / domains: Don't treat zero found compatible idle states as an error (Al Stone) [1739729 1725581] - [cpufreq] conservative: Take limits changes into account properly (Al Stone) [1739729 1725581] - [opp] pm / opp: _of_add_opp_table_v2(): increment count only if OPP is added (Al Stone) [1739729 1725581] - [cpufreq] dt: Try freeing static OPPs only if we have added them (Al Stone) [1739729 1725581] - [opp] Return error on error from dev_pm_opp_get_opp_count() (Al Stone) [1739729 1725581] - [opp] Improve error handling in dev_pm_opp_of_cpumask_add_table() (Al Stone) [1739729 1725581] - [cpufreq] cpufreq / cppc: Mark acpi_ids as used (Al Stone) [1739729 1725581] - [opp] Pass OPP table to _of_add_opp_table_v{1|2}() (Al Stone) [1739729 1725581] - [opp] Prevent creating multiple OPP tables for devices sharing OPP nodes (Al Stone) [1739729 1725581] - [opp] Use a single mechanism to free the OPP table (Al Stone) [1739729 1725581] - [opp] Don't remove dynamic OPPs from _dev_pm_opp_remove_table() (Al Stone) [1739729 1725581] - [opp] Create separate kref for static OPPs list (Al Stone) [1739729 1725581] - [opp] Don't take OPP table's kref for static OPPs (Al Stone) [1739729 1725581] - [opp] Parse OPP table's DT properties from _of_init_opp_table() (Al Stone) [1739729 1725581] - [opp] Pass index to _of_init_opp_table() (Al Stone) [1739729 1725581] - [opp] Protect dev_list with opp_table lock (Al Stone) [1739729 1725581] - [opp] Don't try to remove all OPP tables on failure (Al Stone) [1739729 1725581] - [opp] Free OPP table properly on performance state irregularities (Al Stone) [1739729 1725581] - [cpufreq] Convert to using pOFn instead of device_node.name (Al Stone) [1739729 1725581] - [cpufreq] remove unnecessary unlikely() (Al Stone) [1739729 1725581] - [base] pm / clk: signedness bug in of_pm_clk_add_clks() (Al Stone) [1739729 1725581] - [trace] cpufreq: trace frequency limits change (Al Stone) [1739729 1725581] - [cpufreq] pcc-cpufreq: Disable dynamic scaling on many-CPU systems (Al Stone) [1739729 1725581] - [base] pm / domains: Stop deferring probe at the end of initcall (Al Stone) [1739729 1725581] - [base] driver: core: Allow subsystems to continue deferring probe (Al Stone) [1739729 1725581] - [base] driver core: allow stopping deferred probe after init (Al Stone) [1739729 1725581] - [base] driver core: add a debugfs entry to show deferred devices (Al Stone) [1739729 1725581] - [base] pm / domains: Introduce dev_pm_domain_attach_by_name() (Al Stone) [1739729 1725581] - [base] pm / domains: Introduce option to attach a device by name to genpd (Al Stone) [1739729 1725581] - [cpufreq] intel_pstate: use match_string() helper (Al Stone) [1739729 1725581] - [fs] ceph: use ceph_evict_inode to cleanup inode's resource (Jeff Layton) [1767959] - [fs] ceph: return -EINVAL if given fsc mount option on kernel w/o support (Jeff Layton) [1767959] - [fs] ceph: don't try to handle hashed dentries in non-O_CREAT atomic_open (Jeff Layton) [1767959] - [fs] ceph: add missing check in d_revalidate snapdir handling (Jeff Layton) [1767959] - [fs] ceph: fix RCU case handling in ceph_d_revalidate() (Jeff Layton) [1767959] - [fs] ceph: fix use-after-free in __ceph_remove_cap() (Jeff Layton) [1767959] - [block] rbd: cancel lock_dwork if the wait is interrupted (Jeff Layton) [1767959] - [fs] ceph: just skip unrecognized info in ceph_reply_info_extra (Jeff Layton) [1767959] - [fs] ceph: call ceph_mdsc_destroy from destroy_fs_client (Jeff Layton) [1767959] - [net] libceph: use ceph_kvmalloc() for osdmap arrays (Jeff Layton) [1767959] - [net] libceph: avoid a __vmalloc() deadlock in ceph_kvmalloc() (Jeff Layton) [1767959] - [fs] ceph: include ceph_debug.h in cache.c (Jeff Layton) [1767959] - [fs] ceph: move static keyword to the front of declarations (Jeff Layton) [1767959] - [block] rbd: pull rbd_img_request_create() dout out into the callers (Jeff Layton) [1767959] - [fs] ceph: reconnect connection if session hang in opening state (Jeff Layton) [1767959] - [net] libceph: drop unused con parameter of calc_target() (Jeff Layton) [1767959] - [fs] ceph: use release_pages() directly (Jeff Layton) [1767959] - [block] rbd: fix response length parameter for encoded strings (Jeff Layton) [1767959] - [fs] ceph: allow arbitrary security.* xattrs (Jeff Layton) [1767959] - [fs] ceph: only set CEPH_I_SEC_INITED if we got a MAC label (Jeff Layton) [1767959] - [fs] ceph: turn ceph_security_invalidate_secctx into static inline (Jeff Layton) [1767959] - [fs] ceph: add buffered/direct exclusionary locking for reads and writes (Jeff Layton) [1767959] - [net] libceph: handle OSD op ceph_pagelist_append() errors (Jeff Layton) [1767959] - [fs] ceph: don't return a value from void function (Jeff Layton) [1767959] - [fs] ceph: don't freeze during write page faults (Jeff Layton) [1767959] - [fs] ceph: update the mtime when truncating up (Jeff Layton) [1767959] - [fs] ceph: fix indentation in __get_snap_name() (Jeff Layton) [1767959] - [fs] ceph: remove incorrect comment above __send_cap (Jeff Layton) [1767959] - [fs] ceph: remove CEPH_I_NOFLUSH (Jeff Layton) [1767959] - [fs] ceph: remove unneeded test in try_flush_caps (Jeff Layton) [1767959] - [fs] ceph: have __mark_caps_flushing return flush_tid (Jeff Layton) [1767959] - [fs] ceph: fix comments over ceph_add_cap (Jeff Layton) [1767959] - [fs] ceph: eliminate session->s_trim_caps (Jeff Layton) [1767959] - [fs] ceph: fetch cap_gen under spinlock in ceph_add_cap (Jeff Layton) [1767959] - [fs] ceph: remove ceph_get_cap_mds and __ceph_get_cap_mds (Jeff Layton) [1767959] - [fs] ceph: don't SetPageError on writepage errors (Jeff Layton) [1767959] - [fs] ceph: auto reconnect after blacklisted (Jeff Layton) [1767959] - [fs] ceph: invalidate all write mode filp after reconnect (Jeff Layton) [1767959] - [fs] ceph: return -EIO if read/write against filp that lost file locks (Jeff Layton) [1767959] - [fs] ceph: add helper function that forcibly reconnects to ceph cluster (Jeff Layton) [1767959] - [fs] ceph: pass filp to ceph_get_caps() (Jeff Layton) [1767959] - [fs] ceph: track and report error of async metadata operation (Jeff Layton) [1767959] - [fs] ceph: allow closing session in restarting/reconnect state (Jeff Layton) [1767959] - [net] libceph: add function that clears osd client's abort_err (Jeff Layton) [1767959] - [net] libceph: add function that reset client's entity addr (Jeff Layton) [1767959] - [fs] ceph: don't list vxattrs in listxattr() (Jeff Layton) [1767959] - [fs] ceph: fix directories inode i_blkbits initialization (Jeff Layton) [1767959] - [block] rbd: restore zeroing past the overlap when reading from parent (Jeff Layton) [1767959] - [net] libceph: don't call crypto_free_sync_skcipher() on a NULL tfm (Jeff Layton) [1767959] - [net] libceph: fix PG split vs OSD (re)connect race (Jeff Layton) [1767959] - [fs] ceph: don't try fill file_lock on unsuccessful GETFILELOCK reply (Jeff Layton) [1767959] - [fs] ceph: clear page dirty before invalidate page (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in fill_inode() (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in __ceph_build_xattrs_blob() (Jeff Layton) [1767959] - [fs] ceph: fix buffer free while holding i_ceph_lock in __ceph_setxattr() (Jeff Layton) [1767959] - [kernel] libceph: allow ceph_buffer_put() to receive a NULL ceph_buffer (Jeff Layton) [1767959] - [fs] ceph: fix end offset in truncate_inode_pages_range call (Jeff Layton) [1767959] - [fs] ceph: initialize superblock s_time_gran to 1 (Jeff Layton) [1767959] - [block] rbd: setallochint only if object doesn't exist (Jeff Layton) [1767959] - [block] rbd: support for object-map and fast-diff (Jeff Layton) [1767959] - [block] rbd: call rbd_dev_mapping_set() from rbd_dev_image_probe() (Jeff Layton) [1767959] - [net] libceph: export osd_req_op_data() macro (Jeff Layton) [1767959] - [net] libceph: change ceph_osdc_call() to take page vector for response (Jeff Layton) [1767959] - [kernel] libceph: bump CEPH_MSG_MAX_DATA_LEN (again) (Jeff Layton) [1767959] - [block] rbd: new exclusive lock wait/wake code (Jeff Layton) [1767959] - [block] rbd: quiescing lock should wait for image requests (Jeff Layton) [1767959] - [block] rbd: lock should be quiesced on reacquire (Jeff Layton) [1767959] - [block] rbd: introduce copyup state machine (Jeff Layton) [1767959] - [block] rbd: rename rbd_obj_setup_*() to rbd_obj_init_*() (Jeff Layton) [1767959] - [block] rbd: move OSD request allocation into object request state machines (Jeff Layton) [1767959] - [block] rbd: factor out __rbd_osd_setup_discard_ops() (Jeff Layton) [1767959] - [block] rbd: factor out rbd_osd_setup_copyup() (Jeff Layton) [1767959] - [block] rbd: introduce obj_req->osd_reqs list (Jeff Layton) [1767959] - [fs] libceph: rename r_unsafe_item to r_private_item (Jeff Layton) [1767959] - [block] rbd: introduce image request state machine (Jeff Layton) [1767959] - [block] rbd: move OSD request submission into object request state machines (Jeff Layton) [1767959] - [block] rbd: get rid of RBD_OBJ_WRITE_{FLAT, GUARD} (Jeff Layton) [1767959] - [block] rbd: replace obj_req->tried_parent with obj_req->read_state (Jeff Layton) [1767959] - [block] rbd: get rid of obj_req->xferred, obj_req->result and img_req->xferred (Jeff Layton) [1767959] - [fs] ceph: don't NULL terminate virtual xattrs (Jeff Layton) [1767959] - [fs] ceph: return -ERANGE if virtual xattr value didn't fit in buffer (Jeff Layton) [1767959] - [fs] ceph: make getxattr_cb return ssize_t (Jeff Layton) [1767959] - [fs] ceph: more precise CEPH_CLIENT_CAPS_PENDING_CAPSNAP (Jeff Layton) [1767959] - [fs] ceph: kick flushing and flush snaps before sending normal cap message (Jeff Layton) [1767959] - [fs] ceph: clear CEPH_I_KICK_FLUSH flag inside __kick_flushing_caps() (Jeff Layton) [1767959] - [fs] ceph: increment change_attribute on local changes (Jeff Layton) [1767959] - [fs] ceph: handle change_attr in cap messages (Jeff Layton) [1767959] - [fs] ceph: add change_attr field to ceph_inode_info (Jeff Layton) [1767959] - [kernel] iversion: add a routine to update a raw value with a larger one (Jeff Layton) [1767959] - [fs] ceph: allow querying of STATX_BTIME in ceph_getattr (Jeff Layton) [1767959] - [kernel] libceph: turn on CEPH_FEATURE_MSG_ADDR2 (Jeff Layton) [1767959] - [fs] ceph: handle btime in cap messages (Jeff Layton) [1767959] - [fs] ceph: add btime field to ceph_inode_info (Jeff Layton) [1767959] - [net] libceph: rename ceph_encode_addr to ceph_encode_banner_addr (Jeff Layton) [1767959] - [net] libceph: use TYPE_LEGACY for entity addrs instead of TYPE_NONE (Jeff Layton) [1767959] - [net] ceph: fix decode_locker to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [fs] ceph: have MDS map decoding use entity_addr_t decoder (Jeff Layton) [1767959] - [net] libceph: correctly decode ADDR2 addresses in incremental OSD maps (Jeff Layton) [1767959] - [net] libceph: fix watch_item_t decoding to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: switch osdmap decoding to use ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: ADDR2 support for monmap (Jeff Layton) [1767959] - [net] libceph: add ceph_decode_entity_addr (Jeff Layton) [1767959] - [net] libceph: fix sa_family just after reading address (Jeff Layton) [1767959] - [fs] ceph: remove request from waiting list before unregister (Jeff Layton) [1767959] - [fs] ceph: don't blindly unregister session that is in opening state (Jeff Layton) [1767959] - [fs] ceph: fix infinite loop in get_quota_realm() (Jeff Layton) [1767959] - [fs] ceph: add selinux support (Jeff Layton) [1767959] - [fs] ceph: rename struct ceph_acls_info to ceph_acl_sec_ctx (Jeff Layton) [1767959] - [fs] ceph: fix debug print format in __set_xattr() (Jeff Layton) [1767959] - [fs] ceph: fix warning PTR_ERR_OR_ZERO can be used (Jeff Layton) [1767959] - [fs] ceph: hold i_ceph_lock when removing caps for freeing inode (Jeff Layton) [1767959] - [fs] ceph: ensure d_name/d_parent stability in ceph_mdsc_lease_send_msg() (Jeff Layton) [1767959] - [fs] ceph: use READ_ONCE to access d_parent in RCU critical section (Jeff Layton) [1767959] - [fs] ceph: fix dir_lease_is_valid() (Jeff Layton) [1767959] - [fs] ceph: close race between d_name_cmp() and update_dentry_lease() (Jeff Layton) [1767959] - [fs] ceph: fix improper use of smp_mb__before_atomic() (Jeff Layton) [1767959] - [fs] ceph: fix "ceph.dir.rctime" vxattr value (Jeff Layton) [1767959] - [fs] ceph: remove unused vxattr length helpers (Jeff Layton) [1767959] - [fs] ceph: fix listxattr vxattr buffer length calculation (Jeff Layton) [1767959] - [fs] ceph: add ceph.snap.btime vxattr (Jeff Layton) [1767959] - [fs] ceph: carry snapshot creation time with inodes (Jeff Layton) [1767959] - [fs] ceph: clean up ceph.dir.pin vxattr name sizeof() (Jeff Layton) [1767959] - [fs] ceph: silence a checker warning in mdsc_show() (Jeff Layton) [1767959] - [net] libceph: remove ceph_get_direct_page_vector() (Jeff Layton) [1767959] - [fs] ceph: don't open-code the check for dead lockref (Jeff Layton) [1767959] - [net] ceph: no need to check return value of debugfs_create functions (Jeff Layton) [1767959] - [fs] ceph: fix ceph_mdsc_build_path to not stop on first component (Jeff Layton) [1767959] - [fs] ceph: fix error handling in ceph_get_caps() (Jeff Layton) [1767959] - [fs] ceph: avoid iput_final() while holding mutex or in dispatch thread (Jeff Layton) [1767959] - [fs] ceph: single workqueue for inode related works (Jeff Layton) [1767959] - [fs] ceph: flush dirty inodes before proceeding with remount (Jeff Layton) [1767959] - [fs] ceph: fix unaligned access in ceph_send_cap_releases (Jeff Layton) [1767959] - [net] libceph: make ceph_pr_addr take an struct ceph_entity_addr pointer (Jeff Layton) [1767959] - [net] libceph: fix unaligned accesses in ceph_entity_addr handling (Jeff Layton) [1767959] - [block] rbd: don't assert on writes to snapshots (Jeff Layton) [1767959] - [block] rbd: client_mutex is never nested (Jeff Layton) [1767959] - [fs] ceph: print inode number in __caps_issued_mask debugging messages (Jeff Layton) [1767959] - [fs] ceph: just call get_session in __ceph_lookup_mds_session (Jeff Layton) [1767959] - [fs] ceph: simplify arguments and return semantics of try_get_cap_refs (Jeff Layton) [1767959] - [fs] ceph: fix comment over ceph_drop_caps_for_unlink (Jeff Layton) [1767959] - [fs] ceph: move wait for mds request into helper function (Jeff Layton) [1767959] - [fs] ceph: have ceph_mdsc_do_request call ceph_mdsc_submit_request (Jeff Layton) [1767959] - [fs] ceph: after an MDS request, do callback and completions (Jeff Layton) [1767959] - [fs] ceph: use pathlen values returned by set_request_path_attr (Jeff Layton) [1767959] - [fs] ceph: use __getname/__putname in ceph_mdsc_build_path (Jeff Layton) [1767959] - [fs] ceph: use ceph_mdsc_build_path instead of clone_dentry_name (Jeff Layton) [1767959] - [fs] ceph: fix potential use-after-free in ceph_mdsc_build_path (Jeff Layton) [1767959] - [fs] ceph: dump granular cap info in "caps" debugfs file (Jeff Layton) [1767959] - [fs] ceph: make iterate_session_caps a public symbol (Jeff Layton) [1767959] - [fs] ceph: fix NULL pointer deref when debugging is enabled (Jeff Layton) [1767959] - [fs] ceph: properly handle granular statx requests (Jeff Layton) [1767959] - [fs] ceph: remove superfluous inode_lock in ceph_fsync (Jeff Layton) [1767959] - [kernel] libceph: fix clang warning for CEPH_DEFINE_OID_ONSTACK (Jeff Layton) [1767959] - [block] rbd: convert all rbd_assert(0) to BUG() (Jeff Layton) [1767959] - [block] rbd: avoid clang -Wuninitialized warning (Jeff Layton) [1767959] - [fs] ceph: snapshot nfs re-export (Jeff Layton) [1767959] - [fs] ceph: quota: fix quota subdir mounts (Jeff Layton) [1767959] - [fs] ceph: factor out ceph_lookup_inode() (Jeff Layton) [1767959] - [fs] ceph: remove duplicated filelock ref increase (Jeff Layton) [1767959] - [fs] ceph: fix ci->i_head_snapc leak (Jeff Layton) [1767959] - [fs] ceph: handle the case where a dentry has been renamed on outstanding req (Jeff Layton) [1767959] - [fs] ceph: ensure d_name stability in ceph_dentry_hash() (Jeff Layton) [1767959] - [fs] ceph: only use d_name directly when parent is locked (Jeff Layton) [1767959] - [fs] mark expected switch fall-throughs (Jeff Layton) [1767959] - [fs] ceph: fix use-after-free on symlink traversal (Jeff Layton) [1767959] - [net] libceph: fix breakage caused by multipage bvecs (Jeff Layton) [1767959] - [block] rbd: drop wait_for_latest_osdmap() (Jeff Layton) [1767959] - [net] libceph: wait for latest osdmap in ceph_monc_blacklist_add() (Jeff Layton) [1767959] - [block] rbd: set io_min, io_opt and discard_granularity to alloc_size (Jeff Layton) [1767959] - [block] rbd: advertise support for RBD_FEATURE_DEEP_FLATTEN (Jeff Layton) [1767959] - [block] rbd: whole-object write and zeroout should copyup when snapshots exist (Jeff Layton) [1767959] - [block] rbd: copyup with an empty snapshot context (aka deep-copyup) (Jeff Layton) [1767959] - [block] rbd: introduce rbd_obj_issue_copyup_ops() (Jeff Layton) [1767959] - [block] rbd: stop copying num_osd_ops in rbd_obj_issue_copyup() (Jeff Layton) [1767959] - [block] rbd: factor out __rbd_osd_req_create() (Jeff Layton) [1767959] - [block] rbd: clear ->xferred on error from rbd_obj_issue_copyup() (Jeff Layton) [1767959] - [block] rbd: remove experimental designation from kernel layering (Jeff Layton) [1767959] - [fs] ceph: add mount option to limit caps count (Jeff Layton) [1767959] - [fs] ceph: periodically trim stale dentries (Jeff Layton) [1767959] - [fs] ceph: delete stale dentry when last reference is dropped (Jeff Layton) [1767959] - [fs] ceph: remove dentry_lru file from debugfs (Jeff Layton) [1767959] - [fs] ceph: touch existing cap when handling reply (Jeff Layton) [1767959] - [fs] ceph: pass inclusive lend parameter to filemap_write_and_wait_range() (Jeff Layton) [1767959] - [block] rbd: round off and ignore discards that are too small (Jeff Layton) [1767959] - [block] rbd: handle DISCARD and WRITE_ZEROES separately (Jeff Layton) [1767959] - [block] rbd: get rid of obj_req->obj_request_count (Jeff Layton) [1767959] - [net] libceph: use struct_size() for kmalloc() in crush_decode() (Jeff Layton) [1767959] - [fs] ceph: send cap releases more aggressively (Jeff Layton) [1767959] - [fs] ceph: support getting ceph.dir.pin vxattr (Jeff Layton) [1767959] - [fs] ceph: support versioned reply (Jeff Layton) [1767959] - [fs] ceph: map snapid to anonymous bdev ID (Jeff Layton) [1767959] - [fs] ceph: split large reconnect into multiple messages (Jeff Layton) [1767959] - [fs] ceph: decode feature bits in session message (Jeff Layton) [1767959] - [fs] ceph: set special inode's blocksize to page size (Jeff Layton) [1767959] - [fs] ceph: avoid repeatedly adding inode to mdsc->snap_flush_list (Jeff Layton) [1767959] - [fs] ceph: quota: cleanup license mess (Jeff Layton) [1767959] - [net] libceph: avoid KEEPALIVE_PENDING races in ceph_con_keepalive() (Jeff Layton) [1767959] - [fs] ceph: clear inode pointer when snap realm gets dropped by its inode (Jeff Layton) [1767959] - [block] rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set (Jeff Layton) [1767959] - [fs] ceph: use vmf_error() in ceph_filemap_fault() (Jeff Layton) [1767959] - [net] libceph: allow setting abort_on_full for rbd (Jeff Layton) [1767959] - [fs] ceph: don't encode inode pathes into reconnect message (Jeff Layton) [1767959] - [fs] ceph: update wanted caps after resuming stale session (Jeff Layton) [1767959] - [fs] ceph: skip updating 'wanted' caps if caps are already issued (Jeff Layton) [1767959] - [fs] ceph: don't request excl caps when mount is readonly (Jeff Layton) [1767959] - [fs] ceph: don't update importing cap's mseq when handing cap export (Jeff Layton) [1767959] - [net] libceph: switch more to bool in ceph_tcp_sendmsg() (Jeff Layton) [1767959] - [net] libceph: use MSG_SENDPAGE_NOTLAST with ceph_tcp_sendpage() (Jeff Layton) [1767959] - [net] libceph: use sock_no_sendpage() as a fallback in ceph_tcp_sendpage() (Jeff Layton) [1767959] - [net] libceph: drop last_piece logic from write_partial_message_data() (Jeff Layton) [1767959] - [fs] ceph: remove redundant assignment (Jeff Layton) [1767959] - [fs] ceph: cleanup splice_dentry() (Jeff Layton) [1767959] - [fs] libceph: assume argonaut on the server side (Jeff Layton) [1767959] - [fs] ceph: quota: fix null pointer dereference in quota check (Jeff Layton) [1767959] - [fs] ceph: add non-blocking parameter to ceph_try_get_caps() (Jeff Layton) [1767959] - [net] libceph: check reply num_data_items in setup_request_data() (Jeff Layton) [1767959] - [net] libceph: preallocate message data items (Jeff Layton) [1767959] - [net] libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls (Jeff Layton) [1767959] - [net] libceph: introduce alloc_watch_request() (Jeff Layton) [1767959] - [net] libceph: assign cookies in linger_submit() (Jeff Layton) [1767959] - [net] libceph: enable fallback to ceph_msg_new() in ceph_msgpool_get() (Jeff Layton) [1767959] - [fs] ceph: num_ops is off by one in ceph_aio_retry_work() (Jeff Layton) [1767959] - [net] libceph: no need to call osd_req_opcode_valid() in osd_req_encode_op() (Jeff Layton) [1767959] - [fs] ceph: set timeout conditionally in __cap_delay_requeue (Jeff Layton) [1767959] - [net] libceph: don't consume a ref on pagelist in ceph_msg_data_add_pagelist() (Jeff Layton) [1767959] - [net] libceph: introduce ceph_pagelist_alloc() (Jeff Layton) [1767959] - [net] libceph: osd_req_op_cls_init() doesn't need to take opcode (Jeff Layton) [1767959] - [kernel] libceph: bump CEPH_MSG_MAX_DATA_LEN (Jeff Layton) [1767959] - [fs] ceph: only allow punch hole mode in fallocate (Jeff Layton) [1767959] - [fs] ceph: refactor ceph_sync_read() (Jeff Layton) [1767959] - [fs] ceph: check if LOOKUPNAME request was aborted when filling trace (Jeff Layton) [1767959] - [fs] ceph: fix dentry leak in ceph_readdir_prepopulate (Jeff Layton) [1767959] - [fs] revert "ceph: fix dentry leak in splice_dentry()" (Jeff Layton) [1767959] - [fs] ceph: check snap first in ceph_set_acl() (Jeff Layton) [1767959] - [block] rbd: add __init/__exit annotations (Jeff Layton) [1767959] - [fs] ceph: reset cap hold timeout only for requeued inode (Jeff Layton) [1767959] - [fs] ceph: don't drop message if it contains more data than expected (Jeff Layton) [1767959] - [fs] ceph: support cephfs' own feature bits (Jeff Layton) [1767959] - [net] crush: fix using plain integer as NULL warning (Jeff Layton) [1767959] - [net] libceph: remove unnecessary non NULL check for request_key (Jeff Layton) [1767959] - [fs] ceph: refactor error handling code in ceph_reserve_caps() (Jeff Layton) [1767959] - [fs] ceph: refactor ceph_unreserve_caps() (Jeff Layton) [1767959] - [fs] ceph: change to void return type for __do_request() (Jeff Layton) [1767959] - [fs] ceph: compare fsc->max_file_size and inode->i_size for max file size limit (Jeff Layton) [1767959] - [fs] ceph: add additional size check in ceph_setattr() (Jeff Layton) [1767959] - [fs] ceph: add additional offset check in ceph_write_iter() (Jeff Layton) [1767959] - [fs] ceph: add additional range check in ceph_fallocate() (Jeff Layton) [1767959] - [fs] ceph: add new field max_file_size in ceph_fs_client (Jeff Layton) [1767959] - [net] ceph: fix whitespace (Jeff Layton) [1767959] - [fs] ceph: adding new return type vm_fault_t (Jeff Layton) [1767959] - [kernel] libceph: remove now unused ceph_{en, de}code_timespec() (Jeff Layton) [1767959] - [fs] ceph: use timespec64 for r_stamp (Jeff Layton) [1767959] - [fs] libceph: use timespec64 for r_mtime (Jeff Layton) [1767959] - [fs] ceph: use timespec64 for inode timestamp (Jeff Layton) [1767959] - [fs] ceph: stop using current_kernel_time() (Jeff Layton) [1767959] - [net] libceph: use timespec64 in for keepalive2 and ticket validity (Jeff Layton) [1767959] - [fs] ceph: add d_drop for some error cases in ceph_symlink() (Jeff Layton) [1767959] - [fs] ceph: add d_drop for some error cases in ceph_mknod() (Jeff Layton) [1767959] - [fs] ceph: return errors from posix_acl_equiv_mode() correctly (Jeff Layton) [1767959] - [net] libceph: amend "bad option arg" error message (Jeff Layton) [1767959] - [net] libceph: stop parsing when a bad int arg is detected (Jeff Layton) [1767959] - [kernel] libceph: change ceph_pagelist_encode_string() to take u32 (Jeff Layton) [1767959] - [net] libceph: make ceph_osdc_notify{, _ack}() payload_len u32 (Jeff Layton) [1767959] - [fs] ceph: restore ctime as well in the case of restoring old mode (Jeff Layton) [1767959] - [fs] ceph: add retry logic for error -ERANGE in ceph_get_acl() (Jeff Layton) [1767959]- [tools] objtool: Support repeated uses of the same C jump table (Yauheni Kaliuta) [1747617] - [tools] objtool: Refactor jump table code (Yauheni Kaliuta) [1747617] - [tools] objtool: Fix sibling call detection (Yauheni Kaliuta) [1747617] - [tools] objtool: Add --backtrace support (Yauheni Kaliuta) [1747617] - [tools] libbpf: Improve handling of corrupted ELF during map initialization (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix negative FD close() in xsk_setup_xdp_prog() (Yauheni Kaliuta) [1747617] - [kernel] bpf: Change size to u64 for bpf_map_{area_alloc, charge_init}() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: Fix btf_dump padding test case (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix struct end padding in btf_dump (Yauheni Kaliuta) [1747617] - [tools] bpf: Allow narrow loads of bpf_sysctl fields with offset > 0 (Yauheni Kaliuta) [1747617] - [tools] bpftool: move "__printf()" attributes to header file (Yauheni Kaliuta) [1747617] - [media] bpf: media: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix format string for p_err() in detect_common_prefix() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix argument for p_err() in BTF do_dump() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix arguments for p_err() in do_event_pipe() (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix format strings and arguments for jsonw_printf() (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking of stack slots (Yauheni Kaliuta) [1747617] - [kernel] bpf: handle 32-bit zext during constant blinding (Yauheni Kaliuta) [1747617] - [net] bpf: allow narrow loads of some sk_reuseport_md fields with offset > 0 (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking in presence of bpf2bpf calls (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add config fragment BPF_JIT (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_btf_dump with O= (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_cgroup_storage on s390 (Yauheni Kaliuta) [1747617] - [tools] bpftool: close prog FD before exit on showing a single program (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix "bind{4, 6} deny specific IP & port" on s390 (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools infrastructure (Yauheni Kaliuta) [1747617] - [tools] bpftool: add error message on pin failure (Yauheni Kaliuta) [1747617] - [tools] bpftool: fix error message (prog -> object) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: tests for jmp to 1st insn (Yauheni Kaliuta) [1747617] - [x86] bpf: fix x64 JIT code generation for jmp to 1st insn (Yauheni Kaliuta) [1747617] - [tools] libbpf: set BTF FD for prog only when there is supported .BTF.ext data (Yauheni Kaliuta) [1747617] - [tools] libbpf : make libbpf_num_possible_cpus function thread safe (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix missing __WORDSIZE definition (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix erroneous multi-closing of BTF FD (Yauheni Kaliuta) [1747617] - [tools] libbpf: silence GCC8 warning about string truncation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add another gso_segs access (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix sendmsg6_prog on s390 (Yauheni Kaliuta) [1747617] - [tools] libbpf: Avoid designated initializers for unnamed union members (Yauheni Kaliuta) [1747617] - [tools] libbpf: Fix endianness macro usage for some compilers (Yauheni Kaliuta) [1747617] - [tools] libbpf: sanitize VAR to conservative 1-byte INT (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix SIGSEGV when BTF loading fails, but .BTF.ext exists (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_xdp_noinline on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix "valid read map access into a read-only array 1" on s390 (Yauheni Kaliuta) [1747617] - [kernel] bpf: Disable GCC -fgcse optimization for ___bpf_prog_run() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix perf_buffer on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: structure test_{progs, maps, verifier} test runners uniformly (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_verifier/test_maps make dependencies (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix another GCC8 warning for strncpy (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: skip nmi test when perf hw events are disabled (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: remove logic duplication in test_verifier (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add selftests for wide loads (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: rename verifier/wide_store.c to verifier/wide_access.c (Yauheni Kaliuta) [1747617] - [net] bpf: allow wide aligned loads for bpf_sock_addr user_ip6 and msg_src_ip6 (Yauheni Kaliuta) [1747617] - [samples] bpf: build with -D__TARGET_ARCH_$(SRCARCH) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: put test_stub.o into $(OUTPUT) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: make directory prerequisites order-only (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix attach_probe on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: use typedef'ed arrays as map values (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add trickier size resolution tests (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix BTF verifier size resolution logic (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix compiling loop{1, 2, 3}.c on s390 (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: make PT_REGS_* work in userspace (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix s930 -> s390 typo (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: compile progs with -D__TARGET_ARCH_$(SRCARCH) (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: do not ignore clang failures (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: avoid fall-through warnings (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix bpf_target_sparc check (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix ptr to u64 conversion warning on 32-bit platforms (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision bit propagation for BPF_ST instructions (Yauheni Kaliuta) [1747617] - [kernel] bpf: Fix ORC unwinding in non-JIT BPF code (Yauheni Kaliuta) [1747617] - [tools] objtool: Add support for C jump tables (Yauheni Kaliuta) [1747617] - [tools] objtool: Don't use ignore flag for fake jumps (Yauheni Kaliuta) [1747617] - [tools] objtool: Support per-function rodata sections (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_reuseport_array on s390 (Yauheni Kaliuta) [1747617] - [tools] bpftool: add completion for bpftool prog "loadall" (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup: Fix build error without CONFIG_NET (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_attach_probe map definition (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add verifier tests for wide stores (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [tools] libbpf: add perf_buffer_ prefix to README (Yauheni Kaliuta) [1747617] - [tools] bpftool: switch map event_pipe to libbpf's perf_buffer (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test perf buffer API (Yauheni Kaliuta) [1747617] - [tools] libbpf: auto-set PERF_EVENT_ARRAY size to number of CPUs (Yauheni Kaliuta) [1747617] - [tools] libbpf: add perf buffer API (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add test_tcp_rtt to .gitignore (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix test_align liveliness expectations (Yauheni Kaliuta) [1747617] - [tools] bpftool: add "prog run" subcommand to test-run programs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert legacy BPF maps to BTF-defined ones (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert selftests using BTF-defined maps to new syntax (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add __uint and __type macro for BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] libbpf: capture value in BTF type info for BTF-defined map defs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert existing tracepoint tests to new APIs (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add kprobe/uprobe selftests (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: switch test to new attach_perf_event API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add raw tracepoint attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add tracepoint attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add kprobe/uprobe attach API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add ability to attach/detach BPF program to perf event (Yauheni Kaliuta) [1747617] - [tools] libbpf: introduce concept of bpf_link (Yauheni Kaliuta) [1747617] - [tools] libbpf: make libbpf_strerror_r agnostic to sign of error (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: fix inlines in test_lwt_seg6local (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: standardize to static __always_inline (Yauheni Kaliuta) [1747617] - [samples] bpf: Add support for fq's EDT to HBM (Yauheni Kaliuta) [1747617] - [tools] bpf, libbpf, smatch: Fix potential NULL pointer dereference (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix GCC8 warning for strncpy (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: add tests for shifts by zero (Yauheni Kaliuta) [1747617] - [x86] bpf, x32: Fix bug with ALU64 {LSH, RSH, ARSH} BPF_K shift by 0 (Yauheni Kaliuta) [1747617] - [x86] bpf, x32: Fix bug with ALU64 {LSH, RSH, ARSH} BPF_X shift by 0 (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix precision tracking (Yauheni Kaliuta) [1747617] - [tools] bpf: fix uapi bpf_prog_info fields alignment (Yauheni Kaliuta) [1747617] - [kernel] devmap: Allow map lookups from eBPF (Yauheni Kaliuta) [1747617] - [net] bpf_xdp_redirect_map: Perform map lookup in eBPF helper (Yauheni Kaliuta) [1747617] - [net] devmap: Rename ifindex member in bpf_redirect_info (Yauheni Kaliuta) [1747617] - [kernel] devmap/cpumap: Use flush list instead of bitmap (Yauheni Kaliuta) [1747617] - [kernel] xskmap: Move non-standard list manipulation to helper (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix -Wstrict-aliasing in test_sockopt_sk.c (Yauheni Kaliuta) [1747617] - [tools] bpftool: support cgroup sockopt (Yauheni Kaliuta) [1747617] - [documentation] bpf: add sockopt documentation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test that exercises BPF_F_ALLOW_MULTI (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test that exercises sk helpers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add sockopt test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test sockopt section name (Yauheni Kaliuta) [1747617] - [tools] libbpf: support sockopt hooks (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1747617] - [kernel] bpf: implement getsockopt and setsockopt hooks (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix cgroup bpf release synchronization (Yauheni Kaliuta) [1747617] - [samples] bpf: make the use of xdp samples consistent (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix BPF_ALU32 | BPF_ARSH on BE arches (Yauheni Kaliuta) [1747617] - [tools] bpftool: use correct argument in cgroup errors (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix compiler warning with CONFIG_MODULES=n (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: build tests with debug info (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix max() type mismatch for 32bit (Yauheni Kaliuta) [1747617] - [trace] xdp: Add tracepoint for bulk XDP_TX (Yauheni Kaliuta) [1747617] - [tools] selftests, bpf: Add test for veth native XDP (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix spelling mistake "conflictling" -> "conflicting" (Yauheni Kaliuta) [1747617] - [kernel] bpf: precise scalar_value tracking (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add realistic loop tests (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add basic verifier tests for loops (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix tests (Yauheni Kaliuta) [1747617] - [kernel] bpf: fix callees pruning callers (Yauheni Kaliuta) [1747617] - [kernel] bpf: introduce bounded loops (Yauheni Kaliuta) [1747617] - [kernel] bpf: extend is_branch_taken to registers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix tests due to const spill/fill (Yauheni Kaliuta) [1747617] - [kernel] bpf: track spill/fill of constants (Yauheni Kaliuta) [1747617] - [tools] libbpf: constify getter APIs (Yauheni Kaliuta) [1747617] - [samples] bpf: refactor header include path (Yauheni Kaliuta) [1747617] - [samples] bpf: remove unnecessary include options in Makefile (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert tests w/ custom values to BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: switch BPF_ANNOTATE_KV_PAIR tests to BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add test for BTF-defined maps (Yauheni Kaliuta) [1747617] - [tools] libbpf: allow specifying map definitions using BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: split initialization and loading of BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: identify maps by section index in addition to offset (Yauheni Kaliuta) [1747617] - [tools] libbpf: refactor map initialization (Yauheni Kaliuta) [1747617] - [tools] libbpf: streamline ELF parsing error-handling (Yauheni Kaliuta) [1747617] - [tools] libbpf: extract BTF loading logic (Yauheni Kaliuta) [1747617] - [tools] libbpf: add common min/max macro to libbpf_internal.h (Yauheni Kaliuta) [1747617] - [net] bpf: fix the check that forwarding is enabled in bpf_ipv6_fib_lookup (Yauheni Kaliuta) [1747617] - [kernel] bpf: Fix build error without CONFIG_INET (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert socket_cookie test to sk storage (Yauheni Kaliuta) [1747617] - [tools] bpf/tools: sync bpf.h (Yauheni Kaliuta) [1747617] - [net] bpf: export bpf_sock for BPF_PROG_TYPE_SOCK_OPS prog type (Yauheni Kaliuta) [1747617] - [net] bpf: export bpf_sock for BPF_PROG_TYPE_CGROUP_SOCK_ADDR prog type (Yauheni Kaliuta) [1747617] - [tools] bpf: Add test for SO_REUSEPORT_DETACH_BPF (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix check for presence of associated BTF for map creation (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: signedness bug in enable_all_controllers() (Yauheni Kaliuta) [1747617] - [samples] bpf: fix include path in Makefile (Yauheni Kaliuta) [1747617] - [kernel] bpf: silence warning messages in core (Yauheni Kaliuta) [1747617] - [tools] bpf: use libbpf_num_possible_cpus internally (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: remove bpf_util.h from BPF C progs (Yauheni Kaliuta) [1747617] - [tools] bpf: add a new API libbpf_num_possible_cpus() (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf : clean up feature/ when make clean (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fix constness of source arg for bpf helpers (Yauheni Kaliuta) [1747617] - [samples] bpf: don't run probes at the local make stage (Yauheni Kaliuta) [1747617] - [tools] libbpf: remove qidconf and better support external bpf programs (Yauheni Kaliuta) [1747617] - [tools] bpf: Add bpf_map_lookup_elem selftest for xskmap (Yauheni Kaliuta) [1747617] - [tools] bpf/tools: sync bpf.h (Yauheni Kaliuta) [1747617] - [net] bpf: Allow bpf_map_lookup_elem() on an xskmap (Yauheni Kaliuta) [1747617] - [documentation] docs: bpf: get rid of two warnings (Yauheni Kaliuta) [1747617] - [net] bpf: allow CGROUP_SKB programs to use bpf_skb_cgroup_id() helper (Yauheni Kaliuta) [1747617] - [samples] bpf: print a warning about headers_install (Yauheni Kaliuta) [1747617] - [kernel] bpf: remove redundant assignment to err (Yauheni Kaliuta) [1747617] - [samples] bpf: hbm: fix spelling mistake "notifcations" -> "notificiations" (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: measure RTT from xdp using xdping (Yauheni Kaliuta) [1747617] - [documentation] bpf: doc: update answer for 32-bit subregister question (Yauheni Kaliuta) [1747617] - [kernel] bpf: move memory size checks to bpf_map_charge_init() (Yauheni Kaliuta) [1747617] - [kernel] bpf: rework memlock-based memory accounting for maps (Yauheni Kaliuta) [1747617] - [kernel] bpf: group memory related fields in struct bpf_map_memory (Yauheni Kaliuta) [1747617] - [net] bpf: add memlock precharge for socket local storage (Yauheni Kaliuta) [1747617] - [kernel] bpf: add memlock precharge check for cgroup_local_storage (Yauheni Kaliuta) [1747617] - [samples] bpf: Add more stats to HBM (Yauheni Kaliuta) [1747617] - [samples] bpf: Add cn support to hbm_out_kern.c (Yauheni Kaliuta) [1747617] - [kernel] bpf: Update __cgroup_bpf_run_filter_skb with cn (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup inet skb programs can return 0 to 3 (Yauheni Kaliuta) [1747617] - [kernel] bpf: Create BPF_PROG_CGROUP_INET_EGRESS_RUN_ARRAY (Yauheni Kaliuta) [1747617] - [tools] libbpf: reduce unnecessary line wrapping (Yauheni Kaliuta) [1747617] - [tools] libbpf: typo and formatting fixes (Yauheni Kaliuta) [1747617] - [tools] libbpf: simplify two pieces of logic (Yauheni Kaliuta) [1747617] - [tools] libbpf: use negative fd to specify missing BTF (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix error code returned on corrupted ELF (Yauheni Kaliuta) [1747617] - [tools] libbpf: check map name retrieved from ELF (Yauheni Kaliuta) [1747617] - [tools] libbpf: simplify endianness check (Yauheni Kaliuta) [1747617] - [tools] libbpf: preserve errno before calling into user callback (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix detection of corrupted BPF instructions section (Yauheni Kaliuta) [1747617] - [tools] libbpf: prevent overwriting of log_level in bpf_object__load_progs() (Yauheni Kaliuta) [1747617] - [kernel] bpf: tracing: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [kernel] bpf: cgroup: properly use bpf_prog_array api (Yauheni Kaliuta) [1747617] - [kernel] bpf: remove __rcu annotations from bpf_prog_array (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add auto-detach test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: enable all available cgroup v2 controllers (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: convert test_cgrp2_attach2 example into kselftest (Yauheni Kaliuta) [1747617] - [samples] bpf: fix a couple of style issues in bpf_load (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: fail test_tunnel.sh if subtests fail (Yauheni Kaliuta) [1747617] - [tools] bpftool: make -d option print debug output from verifier (Yauheni Kaliuta) [1747617] - [tools] libbpf: add bpf_object__load_xattr() API function to pass log_level (Yauheni Kaliuta) [1747617] - [tools] bpftool: add -d option to get debug output from libbpf (Yauheni Kaliuta) [1747617] - [tools] libbpf: fix warning that PTR_ERR_OR_ZERO can be used (Yauheni Kaliuta) [1747617] - [tools] bpf: style fix in while(!feof()) loop (Yauheni Kaliuta) [1747617] - [kernel] bpf: check signal validity in nmi for bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpftool: auto-complete BTF IDs for btf dump (Yauheni Kaliuta) [1747617] - [samples] bpf: add ibumad sample to .gitignore (Yauheni Kaliuta) [1747617] - [x86] x32: bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [s390] bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [powerpc] bpf: eliminate zero extension code-gen (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: enable hi32 randomization for all tests (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: adjust several test_verifier helpers for insn insertion (Yauheni Kaliuta) [1747617] - [tools] libbpf: add "prog_flags" to bpf_program/bpf_prog_load_attr/bpf_load_program_attr (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: randomize high 32-bit when BPF_F_TEST_RND_HI32 is set (Yauheni Kaliuta) [1747617] - [tools] bpf: sync uapi header bpf.h (Yauheni Kaliuta) [1747617] - [uapi] bpf: introduce new bpf prog load flags "BPF_F_TEST_RND_HI32" (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: insert zero extension according to analysis result (Yauheni Kaliuta) [1747617] - [kernel] bpf: introduce new mov32 variant for doing explicit zero extension (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: mark patched-insn with sub-register zext flag (Yauheni Kaliuta) [1747617] - [kernel] bpf: verifier: mark verified-insn with sub-register zext flag (Yauheni Kaliuta) [1747617] - [tools] bpf: add selftest in test_progs for bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpf: sync bpf uapi header bpf.h to tools directory (Yauheni Kaliuta) [1747617] - [kernel] bpf: implement bpf_send_signal() helper (Yauheni Kaliuta) [1747617] - [tools] bpftool: update bash-completion w/ new c option for btf dump (Yauheni Kaliuta) [1747617] - [tools] bpftool/docs: add description of btf dump C option (Yauheni Kaliuta) [1747617] - [tools] bpftool: add C output format option to btf dump subcommand (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add btf_dump BTF-to-C conversion tests (Yauheni Kaliuta) [1747617] - [tools] libbpf: add btf_dump API for BTF-to-C conversion (Yauheni Kaliuta) [1747617] - [tools] libbpf: switch btf_dedup() to hashmap for dedup table (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add tests for libbpf's hashmap (Yauheni Kaliuta) [1747617] - [tools] libbpf: add resizable non-thread safe internal hashmap (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: use btf__parse_elf to check presence of BTF/BTF.ext (Yauheni Kaliuta) [1747617] - [tools] bpftool: use libbpf's btf__parse_elf API (Yauheni Kaliuta) [1747617] - [tools] libbpf: add btf__parse_elf API to load .BTF and .BTF.ext (Yauheni Kaliuta) [1747617] - [tools] libbpf: ensure libbpf.h is included along libbpf_internal.h (Yauheni Kaliuta) [1747617] - [samples] bpf: Do not define bpf_printk macro (Yauheni Kaliuta) [1747617] - [tools] selftests: bpf: Move bpf_printk to bpf_helpers.h (Yauheni Kaliuta) [1747617] - [kernel] bpf: convert explored_states to hash table (Yauheni Kaliuta) [1747617] - [kernel] bpf: split explored_states (Yauheni Kaliuta) [1747617] - [kernel] bpf: cleanup explored_states (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: add pyperf scale test (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: adjust verifier scale test (Yauheni Kaliuta) [1747617] - [kernel] bpf: bump jmp sequence limit (Yauheni Kaliuta) [1747617] - [tools] libbpf: emit diff of mismatched public API, if any (Yauheni Kaliuta) [1747617] - [tools] bpf, selftest: test global data/bss/rodata sections (Yauheni Kaliuta) [1747617] - [tools] selftests/bpf: test_tc_tunnel: skip unsupported tests (Jiri Benc) [1749814] - [tools] selftests/bpf: More compatible nc options in test_tc_edt (Jiri Benc) [1749814] - [net] xdp: check device pointer before clearing (Jiri Benc) [1749814] - [net] bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro (Jiri Benc) [1749814] - [net] bpf: sockmap, fix use after free from sleep in psock backlog workqueue (Jiri Benc) [1749814] - [include] bpf: sockmap, restore sk_write_space when psock gets dropped (Jiri Benc) [1749814] - [net] bpfilter: fallback to netfilter if failed to load bpfilter kernel module (Jiri Benc) [1749814] - [net] pass net_device argument to the eth_get_headlen (Jiri Benc) [1749814] - [net] flow_dissector: handle no-skb use case (Jiri Benc) [1749814] - [net] plumb network namespace into __skb_flow_dissect (Jiri Benc) [1749814] - [net] bpfilter: dont use module_init in non-modular code (Jiri Benc) [1749814] - [net] xsk: fix XDP socket ring buffer memory ordering (Jiri Benc) [1749814] - [tools] selftests/bpf: install files test_xdp_vlan.sh (Jiri Benc) [1749814] - [net] fix bpf_xdp_adjust_head regression for generic-XDP (Jiri Benc) [1749814] - [tools] selftests/bpf: reduce time to execute test_xdp_vlan.sh (Jiri Benc) [1749814] - [tools] selftests/bpf: add wrapper scripts for test_xdp_vlan.sh (Jiri Benc) [1749814] - [tools] bpf: fix XDP vlan selftests test_xdp_vlan.sh (Jiri Benc) [1749814] - [net] core: support XDP generic on stacked devices. (Jiri Benc) [1749814] - [netdrv] netvsc: unshare skb in VF rx handler (Jiri Benc) [1749814] - [net] convert rps_needed and rfs_needed to new static branch api (Jiri Benc) [1749814] - [net] core: Document __skb_flow_dissect() flags argument (Jiri Benc) [1749814] - [net] gso: Fix skb_segment splat when splitting gso_size mangled skb having linear-headed frag_list (Jiri Benc) [1749814] - [net] sock_map, fix missing ulp check in sock hash case (Jiri Benc) [1749814] - [net] Fix missing meta data in skb with vlan packet (Jiri Benc) [1749814] - [include] skbuff.h: fix using plain integer as NULL warning (Jiri Benc) [1749814] - [netdrv] netdevsim: Fix error handling in nsim_fib_init and nsim_fib_exit (Jiri Benc) [1761359] - [netdrv] netdevsim: Restore per-network namespace accounting for fib entries (Jiri Benc) [1761359] - [netdrv] netdevsim: Make nsim_num_vf static (Jiri Benc) [1761359] - [netdrv] netdevsim: fix fall-through annotation (Jiri Benc) [1761359] - [netdrv] netdevsim: implement ndo_get_devlink_port (Jiri Benc) [1761359] - [netdrv] netdevsim: move netdev creation/destruction to dev probe (Jiri Benc) [1761359] - [netdrv] netdevsim: extend device attrs to support port addition and deletion (Jiri Benc) [1761359] - [netdrv] netdevsim: implement dev probe/remove skeleton with port initialization (Jiri Benc) [1761359] - [netdrv] netdevsim: change debugfs tree topology (Jiri Benc) [1761359] - [netdrv] netdevsim: generate random switch id instead of using dev id (Jiri Benc) [1761359] - [netdrv] netdevsim: merge sdev into dev (Jiri Benc) [1761359] - [netdrv] netdevsim: rename dev_init/exit() functions and make them independent on ns (Jiri Benc) [1761359] - [netdrv] netdevsim: add bus attributes to add new and delete devices (Jiri Benc) [1761359] - [netdrv] netdevsim: use ida for bus device ids (Jiri Benc) [1761359] - [netdrv] netdevsim: add stub netdevsim driver implementation (Jiri Benc) [1761359] - [netdrv] netdevsim: move device registration and related code to bus.c (Jiri Benc) [1761359] - [netdrv] netdevsim: put netdevsim bus code into separate file (Jiri Benc) [1761359] - [netdrv] netdevsim: rename devlink.c to dev.c to contain per-dev(asic) items (Jiri Benc) [1761359] - [netdrv] netdevsim: create devlink instance per netdevsim instance (Jiri Benc) [1761359] - [netdrv] netdevsim: move device registration on bus to be done earlier in init (Jiri Benc) [1761359] - [netdrv] netdevsim: move sdev-specific init/uninit code into separate functions (Jiri Benc) [1761359] - [netdrv] netdevsim: make bpf_offload_dev_create() per-sdev instead of first ns (Jiri Benc) [1761359] - [netdrv] netdevsim: move shared dev creation and destruction into separate file (Jiri Benc) [1761359] - [netdrv] netdevsim: let net core to free netdevsim netdev (Jiri Benc) [1761359] - [netdrv] netdevsim: remove nsim_dellink() implementation (Jiri Benc) [1761359] - [include] driver core: add BUS_ATTR_WO() macro (Jiri Benc) [1761359] - arm64: bpf: do not allocate executable memory (Yauheni Kaliuta) [1762214] - modules: page-align module section allocations only for arches supporting strict module rwx (Yauheni Kaliuta) [1762214] - modules: always page-align module section allocations (Yauheni Kaliuta) [1762214] - modules: fix compile error if don't have strict module rwx (Yauheni Kaliuta) [1762214] - modules: Use vmalloc special flag (Yauheni Kaliuta) [1762214] - modules: fix BUG when load module with rodata=n (Yauheni Kaliuta) [1762214] - x86/modules: Avoid breaking W^X while loading modules (Yauheni Kaliuta) [1762214] - x86/alternatives, jumplabel: Use text_poke_early() before mm_init() (Yauheni Kaliuta) [1762214] - x86/kprobes: Set instruction page as executable (Yauheni Kaliuta) [1762214] - x86/ftrace: Set trampoline pages as executa (Yauheni Kaliuta) [1762214] - [tools] bpftool: Fix json dump crash on powerpc (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix race in flow dissector tests (Yauheni Kaliuta) [1747615] - [arm64] insn: Fix ldadd instruction encoding (Yauheni Kaliuta) [1747615] - [scripts] kbuild: tolerate missing pahole when generating BTF (Yauheni Kaliuta) [1747615] - [scripts] kbuild: handle old pahole more gracefully when generating BTF (Yauheni Kaliuta) [1747615] - [scripts] kbuild: add ability to generate BTF type info for vmlinux (Yauheni Kaliuta) [1747615] - [scripts] kbuild: hardcode genksyms path and remove GENKSYMS variable (Yauheni Kaliuta) [1747615] - [scripts] bpf: fix script for generating man page on BPF helpers (Yauheni Kaliuta) [1747615] - [tools] add smp_* barrier variants to include infrastructure (Yauheni Kaliuta) [1747615] - [tools] tools headers barrier: Fix arm64 tools build failure wrt smp_load_{acquire, release} (Yauheni Kaliuta) [1747615] - [tools] bpf, x32: Fix bug for BPF_JMP | {BPF_JSGT, BPF_JSLE, BPF_JSLT, BPF_JSGE} (Yauheni Kaliuta) [1747615] - [x86] unwind/orc: Fall back to using frame pointers for generated code (Yauheni Kaliuta) [1747615] - [x86] unwind: Add hardcoded ORC entry for NULL (Yauheni Kaliuta) [1747615] - [x86] unwind: Handle NULL pointer calls better in frame unwinder (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix accessing bpf_sysctl.file_pos on s390 (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix narrower loads on s390 (Yauheni Kaliuta) [1747615] - [net] bpf: rename bpf_ctx_wide_store_ok to bpf_ctx_wide_access_ok (Yauheni Kaliuta) [1747615] - [net] bpf: allow wide (u64) aligned stores for some fields of bpf_sock_addr (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: improve unexpected success reporting in test_syctl (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix "ctx:write sysctl:write read ok" on s390 (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix format string for p_err() in query_flow_dissector() (Yauheni Kaliuta) [1747615] - [tools] bpftool: add raw_tracepoint_writable prog type to header (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix NULL deref in btf_type_is_resolve_source_only (Yauheni Kaliuta) [1747615] - [net] bpf: Set sk_bpf_storage back to NULL for cloned sk (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix nested bpf tracepoints with per-cpu data (Yauheni Kaliuta) [1747615] - [net] bpf: Fix out of bounds memory access in bpf_sk_storage (Yauheni Kaliuta) [1747615] - [kernel] sysctl: define proc_do_static_key() (Yauheni Kaliuta) [1747615] - [x86] bpf, x64: fix stack layout of JITed bpf code (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Add missing RCU read lock on flush (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Add missing bulk queue free (Yauheni Kaliuta) [1747615] - [kernel] bpf, devmap: Fix premature entry free on destroying map (Yauheni Kaliuta) [1747615] - [powerpc] bpf: use unsigned division instruction for 64-bit operations (Yauheni Kaliuta) [1747615] - [tools] bpf: fix div64 overflow tests to properly detect errors (Yauheni Kaliuta) [1747615] - [tools] bpf: sync BPF_FIB_LOOKUP flag changes with BPF uapi (Yauheni Kaliuta) [1747615] - [uapi] bpf: simplify definition of BPF_FIB_LOOKUP related flags (Yauheni Kaliuta) [1747615] - [tools] bpf: lpm_trie: check left child of last leftmost node for NULL (Yauheni Kaliuta) [1747615] - [tools] bpf: expand section tests for test_section_names (Yauheni Kaliuta) [1747615] - [tools] bpf: more msg_name rewrite tests to test_sock_addr (Yauheni Kaliuta) [1747615] - [tools] bpf, bpftool: enable recvmsg attach types (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: enable recvmsg attach types (Yauheni Kaliuta) [1747615] - [tools] bpf: sync tooling uapi header (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix unconnected udp hooks (Yauheni Kaliuta) [1747615] - [tools] bpftool: Fix JSON output when lookup fails (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: move test_lirc_mode2_user to TEST_GEN_PROGS_EXTENDED (Yauheni Kaliuta) [1747615] - [tools] libbpf: Return btf_fd for load_sk_storage_btf (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix compiler warning in flow_dissector test (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: complete sub-register zero extension checks (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: move sub-register zero extension checks into subreg.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add zero extend checks for ALU32 and/or/xor (Yauheni Kaliuta) [1747615] - [samples] bpf: suppress compiler warning (Yauheni Kaliuta) [1747615] - [samples] bpf: fix to change the buffer size for read() (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix BTF raw dump of FWD's fwd_kind (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix bpf_get_current_task (Yauheni Kaliuta) [1747615] - [tools] libbpf: move logging helpers into libbpf_internal.h (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add test_sysctl and map_tests/tests.h to .gitignore (Yauheni Kaliuta) [1747615] - [kernel] bpf: relax inode permission check for retrieving bpf program (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add prog detach to flow_dissector test (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add missing \n to flow_dissector CHECK errors (Yauheni Kaliuta) [1747615] - [tools] libbpf: don't fail when feature probing fails (Yauheni Kaliuta) [1747615] - [tools] bpf: test ref bit from data path and add new tests for syscall path (Yauheni Kaliuta) [1747615] - [kernel] bpf, lru: avoid messing with eviction heuristics upon syscall lookup (Yauheni Kaliuta) [1747615] - [kernel] bpf: add map_lookup_elem_sys_only for lookups from syscall side (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync kernel btf.h header (Yauheni Kaliuta) [1747615] - [uapi] bpf: btf: fix the brackets of BTF_INT_OFFSET() (Yauheni Kaliuta) [1747615] - [kernel] bpf: devmap: fix use-after-free Read in __dev_map_entry_free (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix undefined behavior in narrow load handling (Yauheni Kaliuta) [1747615] - [tools] libbpf: detect supported kernel BTF features and sanitize BTF (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: Add files generated after build to .gitignore (Yauheni Kaliuta) [1747615] - [tools] bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix minor issues in documentation for BPF helpers (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix recurring typo in documentation for BPF helpers (Yauheni Kaliuta) [1747615] - [tools] bpf: add various test cases for backward jumps (Yauheni Kaliuta) [1747615] - [documentation] docs/btf: fix the missing section marks (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: initialize bpf_object pointers where needed (Yauheni Kaliuta) [1747615] - [tools] libbpf: add libbpf_util.h to header install (Yauheni Kaliuta) [1747615] - [tools] bpf: fix perf build error with uClibc (seen on ARC) (Yauheni Kaliuta) [1747615] - [tools] bpftool: exclude bash-completion/bpftool from .gitignore pattern (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: set RLIMIT_MEMLOCK properly for test_libbpf_open.c (Yauheni Kaliuta) [1747615] - [net] bpf: Use PTR_ERR_OR_ZERO in bpf_fd_sk_storage_update_elem() (Yauheni Kaliuta) [1747615] - [kernel] bpf: Use vmalloc special flag (Yauheni Kaliuta) [1747615] - [kernel] bpf: Fail bpf_probe_write_user() while mm is switched (Yauheni Kaliuta) [1747615] - [kernel] mm/tlb: Provide default nmi_uaccess_okay() (Yauheni Kaliuta) [1747615] - [kernel] asm-generic/tlb: Guard with #ifdef CONFIG_MMU (Yauheni Kaliuta) [1747615] - [tools] bpf: Add ene-to-end test for bpf_sk_storage_* helpers (Yauheni Kaliuta) [1747615] - [tools] bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps (Yauheni Kaliuta) [1747615] - [tools] bpf: Add verifier tests for the bpf_sk_storage (Yauheni Kaliuta) [1747615] - [tools] bpf: Refactor BTF encoding macro to test_btf.h (Yauheni Kaliuta) [1747615] - [tools] bpf: Support BPF_MAP_TYPE_SK_STORAGE in bpf map probing (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools (Yauheni Kaliuta) [1747615] - [net] bpf: Introduce bpf sk local storage (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: test writable buffers in raw tps (Yauheni Kaliuta) [1747615] - [tools] sync bpf.h (Yauheni Kaliuta) [1747615] - [kernel] bpf: add writable context for raw tracepoints (Yauheni Kaliuta) [1747615] - [arm64] bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix indendation in bash-completion/bpftool (Yauheni Kaliuta) [1747615] - [tools] bpftool: add bash completions for btf command (Yauheni Kaliuta) [1747615] - [tools] bpftool/docs: add btf sub-command documentation (Yauheni Kaliuta) [1747615] - [tools] bpftool: add ability to dump BTF types (Yauheni Kaliuta) [1747615] - [tools] bpftool: Fix errno variable usage (Yauheni Kaliuta) [1747615] - [tools] bpftool: show flow_dissector attachment status (Yauheni Kaliuta) [1747615] - [net] bpf: support BPF_PROG_QUERY for BPF_FLOW_DISSECTOR attach_type (Yauheni Kaliuta) [1747615] - [samples] bpf: add hbm sample to .gitignore (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix samples/bpf build failure due to undefined UINT32_MAX (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: fix segfault in bpf_object__init_maps' pr_debug statement (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: handle old kernels more graceful wrt global data sections (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand test_tc_tunnel with SIT encap (Yauheni Kaliuta) [1747615] - [net] bpf: update skb->protocol in bpf_skb_net_grow (Yauheni Kaliuta) [1747615] - [tools] bpf/flow_dissector: don't adjust nhoff by ETH_HLEN in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: properly return error from bpf_flow_load (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: run flow dissector tests in skb-less mode (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add flow dissector bpf_skb_load_bytes helper test (Yauheni Kaliuta) [1747615] - [net] bpf: when doing BPF_PROG_TEST_RUN for flow dissector use no-skb mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: drop bpf_verifier_lock (Yauheni Kaliuta) [1747615] - [kernel] bpf: remove global variables (Yauheni Kaliuta) [1747615] - [documentation] bpf: document the verifier limits (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix BPF_LOG_BUF_SIZE off-by-one error (Yauheni Kaliuta) [1747615] - [documentation] bpf: move BPF_PROG_TYPE_FLOW_DISSECTOR documentation to a new common place (Yauheni Kaliuta) [1747615] - [tools] bpf: Increase MAX_NR_MAPS to 17 in test_verifier.c (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix compile errors due to unsync linux/in6.h and netinet/in.h (Yauheni Kaliuta) [1747615] - [documentation] bpf: Document BPF_PROG_TYPE_CGROUP_SYSCTL (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: fix a compilation error (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap memory prefetchw optimizations for struct page (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap do bulk allocation of SKBs (Yauheni Kaliuta) [1747615] - [net] core: introduce build_skb_around (Yauheni Kaliuta) [1747615] - [kernel] bpf: cpumap use ptr_ring_consume_batched (Yauheni Kaliuta) [1747615] - [tools] libbpf: optimize barrier for XDP socket rings (Yauheni Kaliuta) [1747615] - [tools] bpftool: show btf_id in map listing (Yauheni Kaliuta) [1747615] - [tools] bpftool: re-organize newline printing for map listing (Yauheni Kaliuta) [1747615] - [tools] bpftool: Support sysctl hook (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix printf formatter for ptrdiff_t argument (Yauheni Kaliuta) [1747615] - [kernel] bpf: use BPF_CAST_CALL for casting bpf call (Yauheni Kaliuta) [1747615] - [uapi] bpf: allow clearing all sock_ops callback flags (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add VRF test cases to lwt_ip_encap test (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: make flow dissector tests more extensible (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: two scale tests (Yauheni Kaliuta) [1747615] - [tools] bpftool: Improve handling of ENOSPC on reuseport_array map dumps (Yauheni Kaliuta) [1747615] - [tools] bpftool: Use print_entry_error() in case of ENOENT when dumping (Yauheni Kaliuta) [1747615] - [tools] bpftool: add a note on program statistics in man page (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix short option name for printing version in man pages (Yauheni Kaliuta) [1747615] - [tools] bpftool: fix man page documentation for "pinmaps" keyword (Yauheni Kaliuta) [1747615] - [tools] bpftool: reset errno for "bpftool cgroup tree" (Yauheni Kaliuta) [1747615] - [tools] bpftool: remove blank line after btf_id when listing programs (Yauheni Kaliuta) [1747615] - [net] bpf: reserve flags in bpf_skb_net_shrink (Yauheni Kaliuta) [1747615] - [tools] bpf: fix whitespace for ENCAP_L2 defines in bpf.h (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: bring back (void *) cast to set_ipv4_csum in test_tc_tunnel (Yauheni Kaliuta) [1747615] - [tools] selftests/btf: add VAR and DATASEC case for dedup tests (Yauheni Kaliuta) [1747615] - [tools] btf: add support for VAR and DATASEC in btf_dedup() (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor "check_reg_arg" to eliminate code redundancy (Yauheni Kaliuta) [1747615] - [kernel] bpf: factor out reg and stack slot propagation into "propagate_liveness_reg" (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor propagate_liveness to eliminate code redundance (Yauheni Kaliuta) [1747615] - [kernel] bpf: refactor propagate_liveness to eliminate duplicated for loop (Yauheni Kaliuta) [1747615] - [netdrv] netdevsim: move sdev specific bpf debugfs files to sdev dir (Yauheni Kaliuta) [1747615] - [kernel] bpf: Fix distinct pointer types warning for ARCH=i386 (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: C based test for sysctl and strtoX (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_strtol and bpf_strtoul helpers (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test ARG_PTR_TO_LONG arg type (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Add sysctl and strtoX helpers to bpf_helpers.h (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_strtol and bpf_strtoul helpers (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce ARG_PTR_TO_{INT,LONG} arg types (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test file_pos field in bpf_sysctl ctx (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_sysctl_{get, set}_new_value helpers (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test sysctl_get_current_value helper (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test bpf_sysctl_get_name helper (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test BPF_CGROUP_SYSCTL (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test sysctl section name (Yauheni Kaliuta) [1747615] - [tools] libbpf: Support sysctl hook (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add file_pos field to bpf_sysctl ctx (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_{get, set}_new_value helpers (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_get_current_value helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: Introduce bpf_sysctl_get_name helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: Sysctl hook (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add base proto function for cgroup-bpf programs (Yauheni Kaliuta) [1747615] - [net] bpf: explicitly prohibit ctx_{in, out} in non-skb BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] selftests_bpf: add L2 encap to test_tc_tunnel (Yauheni Kaliuta) [1747615] - [tools] bpf: sync bpf.h to tools/ for BPF_F_ADJ_ROOM_ENCAP_L2 (Yauheni Kaliuta) [1747615] - [net] bpf: add layer 2 encap support to bpf_skb_adjust_room (Yauheni Kaliuta) [1747615] - [tools] selftests_bpf: extend test_tc_tunnel for UDP encap (Yauheni Kaliuta) [1747615] - [kernel] bpf: fix missing bpf_check_uarg_tail_zero in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [s390] Convert IS_ENABLED uses to __is_defined (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: add selftest for __sk_buff context in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] libbpf: add support for ctx_{size, }_{in, out} in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [net] bpf: support input __sk_buff context in BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747615] - [tools] bpftool: show btf id in program information (Yauheni Kaliuta) [1747615] - [tools] libbpf: Fix build with gcc-8 (Yauheni Kaliuta) [1747615] - [tools] libbpf: fix crash in XDP socket part with new larger BPF_LOG_BUF_SIZE (Yauheni Kaliuta) [1747615] - [tools] bpf, bpftool: fix a few ubsan warnings (Yauheni Kaliuta) [1747615] - [tools] bpf, selftest: add test cases for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [tools] bpf, selftest: test {rd, wr}only flags and direct value access (Yauheni Kaliuta) [1747615] - [tools] bpf: bpftool support for dumping data/bss/rodata sections (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: add support for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: support global data/bss/rodata sections (Yauheni Kaliuta) [1747615] - [tools] bpf, libbpf: refactor relocation handling (Yauheni Kaliuta) [1747615] - [tools] bpf: sync {btf, bpf}.h uapi header from tools infrastructure (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow for key-less BTF in array map (Yauheni Kaliuta) [1747615] - [kernel] bpf: kernel side support for BTF Var and DataSec (Yauheni Kaliuta) [1747615] - [documentation] bpf: add specification for BTF Var and DataSec kinds (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow . char as part of the object name (Yauheni Kaliuta) [1747615] - [kernel] bpf: add syscall side map freeze support (Yauheni Kaliuta) [1747615] - [kernel] bpf: add program side {rd, wr}only support for maps (Yauheni Kaliuta) [1747615] - [kernel] bpf: do not retain flags that are not tied to map lifetime (Yauheni Kaliuta) [1747615] - [kernel] bpf: implement lookup-free direct value access for maps (Yauheni Kaliuta) [1747615] - [net] ipv6: Add neighbor helpers that use the ipv6 stub (Yauheni Kaliuta) [1747615] - [tools] libbpf: Ignore -Wformat-nonliteral warning (Yauheni Kaliuta) [1747615] - [kernel] bpf: Add missed newline in verifier verbose log (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test unbounded var_off stack access (Yauheni Kaliuta) [1747615] - [kernel] bpf: Sanity check max value for var_off stack access (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test indirect var_off stack access in unpriv mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: Reject indirect var_off stack access in unpriv mode (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test indirect var_off stack access in raw mode (Yauheni Kaliuta) [1747615] - [kernel] bpf: Reject indirect var_off stack access in raw mode (Yauheni Kaliuta) [1747615] - [samples] bpf: fix build with new clang (Yauheni Kaliuta) [1747615] - [samples] selftests/bpf: add NULL check for ksym_search (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: ksym_search won't check symbols exists (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: synthetic tests to push verifier limits (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add few verifier scale tests (Yauheni Kaliuta) [1747615] - [tools] libbpf: teach libbpf about log_level bit 2 (Yauheni Kaliuta) [1747615] - [kernel] bpf: increase verifier log limit (Yauheni Kaliuta) [1747615] - [kernel] bpf: increase complexity limit and maximum program size (Yauheni Kaliuta) [1747615] - [kernel] bpf: verbose jump offset overflow check (Yauheni Kaliuta) [1747615] - [kernel] bpf: convert temp arrays to kvcalloc (Yauheni Kaliuta) [1747615] - [kernel] bpf: improve verification speed by not remarking live_read (Yauheni Kaliuta) [1747615] - [kernel] bpf: improve verification speed by droping states (Yauheni Kaliuta) [1747615] - [kernel] bpf: add verifier stats and log_level bit 2 (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: remove duplicate .flags initialization in ctx_skb.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix -Wformat-invalid-specifier for bpf_obj_id.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: fix -Wformat-security warning for flow_dissector_load.c (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: tests.h should depend on .c files, not the output (Yauheni Kaliuta) [1747615] - [tools] bpf: add bpffs multi-dimensional array tests in test_btf (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Test variable offset stack access (Yauheni Kaliuta) [1747615] - [kernel] bpf: Support variable offset stack access from helpers (Yauheni Kaliuta) [1747615] - [net] ipv6: Move ipv6 stubs to a separate header file (Yauheni Kaliuta) [1747615] - [tools] bpf: generate pkg-config file for libbpf (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: don't depend on hardcoded perf sample_freq (Yauheni Kaliuta) [1747615] - [tools] bpf: test_tc_tunnel.sh needs reverse path filtering disabled (Yauheni Kaliuta) [1747615] - [tools] selftests: bpf: tc-bpf flow shaping with EDT (Yauheni Kaliuta) [1747615] - [net] bpf: make bpf_skb_ecn_set_ce callable from BPF_PROG_TYPE_SCHED_ACT (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to encap modes (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to BPF_F_ADJ_ROOM_FIXED_GSO (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: convert bpf tunnel test to BPF_ADJ_ROOM_MAC (Yauheni Kaliuta) [1747615] - [tools] bpf: Sync bpf.h to tools (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room encap flags (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room flag BPF_F_ADJ_ROOM_FIXED_GSO (Yauheni Kaliuta) [1747615] - [net] bpf: add bpf_skb_adjust_room mode BPF_ADJ_ROOM_MAC (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: extend bpf tunnel test with tso (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: extend bpf tunnel test with gre (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand bpf tunnel test to ipv6 (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: expand bpf tunnel test with decap (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: bpf tunnel encap test (Yauheni Kaliuta) [1747615] - [net] bpf: in bpf_skb_adjust_room avoid copy in tx fast path (Yauheni Kaliuta) [1747615] - [samples] bpf: add xdp_sample_pkts to .gitignore (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: add tests for bpf_tcp_check_syncookie and bpf_skc_lookup_tcp (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: test references to sock_common (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: allow specifying helper for BPF_SK_LOOKUP (Yauheni Kaliuta) [1747615] - [tools] update uapi/linux/bpf.h (Yauheni Kaliuta) [1747615] - [net] bpf: add helper to check for a valid SYN cookie (Yauheni Kaliuta) [1747615] - [net] bpf: add skc_lookup_tcp helper (Yauheni Kaliuta) [1747615] - [kernel] bpf: allow helpers to return PTR_TO_SOCK_COMMON (Yauheni Kaliuta) [1747615] - [kernel] bpf: track references based on is_acquire_func (Yauheni Kaliuta) [1747615] - [tools] selftests/bpf: Add arm target register definitions (Yauheni Kaliuta) [1747615] - [documentation] bpf, doc: add RISC-V JIT to BPF documentation (Yauheni Kaliuta) [1747615] - [uapi] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1747615] - [uapi] bpf: add documentation for helpers bpf_spin_lock(), bpf_spin_unlock() (Yauheni Kaliuta) [1747615]- [perf] perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver (Robert Richter) [1726054] - [documentation] documentation: perf: Update documentation for ThunderX2 PMU uncore driver (Robert Richter) [1726054] - [scsi] lpfc: Update lpfc version to 12.6.0.2 (Dick Kennedy) [1771674] - [scsi] lpfc: revise nvme max queues to be hdwq count (Dick Kennedy) [1771674] - [scsi] lpfc: Initialize cpu_map for not present cpus (Dick Kennedy) [1771674] - [scsi] lpfc: fix inlining of lpfc_sli4_cleanup_poll_list() (Dick Kennedy) [1771674] - [scsi] lpfc: fix: coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences (Dick Kennedy) [1771674] - [scsi] lpfc: fix: coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences (Dick Kennedy) [1771674] - [scsi] lpfc: Fix lpfc_cpumask_of_node_init() (Dick Kennedy) [1771674] - [scsi] lpfc: Fix a kernel warning triggered by lpfc_sli4_enable_intr() (Dick Kennedy) [1771674] - [scsi] lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() (Dick Kennedy) [1771674] - [scsi] lpfc: Update lpfc version to 12.6.0.1 (Dick Kennedy) [1771674] - [scsi] lpfc: Add enablement of multiple adapter dumps (Dick Kennedy) [1771674] - [scsi] lpfc: Change default IRQ model on AMD architectures (Dick Kennedy) [1771674] - [scsi] lpfc: Add registration for CPU Offline/Online events (Dick Kennedy) [1771674] - [scsi] lpfc: Clarify FAWNN error message (Dick Kennedy) [1771674] - [scsi] lpfc: Sync with FC-NVMe-2 SLER change to require Conf with SLER (Dick Kennedy) [1771674] - [scsi] lpfc: Fix dynamic fw log enablement check (Dick Kennedy) [1771674] - [scsi] lpfc: Fix unexpected error messages during RSCN handling (Dick Kennedy) [1771674] - [scsi] lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce (Dick Kennedy) [1771674] - [scsi] lpfc: Fix configuration of BB credit recovery in service parameters (Dick Kennedy) [1771674] - [scsi] lpfc: Fix duplicate unreg_rpi error in port offline flow (Dick Kennedy) [1771674] - [infiniband] ib/srp: Add missing new line after displaying fast_io_fail_tmo param (Kamal Heib) [1678461 1720899] - [net] sunrpc: The RDMA back channel mustn't disappear while requests are outstanding (Kamal Heib) [1720899] - [infiniband] rdma/nldev: Skip counter if port doesn't match (Kamal Heib) [1720899] - [rdma] uverbs: Prevent potential underflow (Kamal Heib) [1720899] - [infiniband] ib/core: Use rdma_read_gid_l2_fields to compare GID L2 fields (Kamal Heib) [1720899] - [infiniband] rdma/siw: free siw_base_qp in kref release routine (Kamal Heib) [1720899] - [infiniband] rdma/iwcm: move iw_rem_ref() calls out of spinlock (Kamal Heib) [1720899] - [infiniband] ib/core: Fix wrong iterating on ports (Kamal Heib) [1720899] - [infiniband] rdma/nldev: Reshuffle the code to avoid need to rebind QP in error path (Kamal Heib) [1720899] - [infiniband] rdma/cm: Fix memory leak in cm_add/remove_one (Kamal Heib) [1720899] - [infiniband] rdma/core: Fix an error handling path in 'res_get_common_doit()' (Kamal Heib) [1720899] - [infiniband] rdma/iwcm: Fix a lock inversion issue (Kamal Heib) [1720899] - [infiniband] rdma/siw: Fix serialization issue in write_space() (Kamal Heib) [1720899] - [infiniband] rdma/vmw_pvrdma: Free SRQ only once (Kamal Heib) [1757294 1720899] - [infiniband] rdma: Fix double-free in srq creation error flow (Kamal Heib) [1720899] - [infiniband] rdma/siw: Fix page address mapping in TX path (Kamal Heib) [1720899] - [infiniband] rdma/cma: Fix false error message (Kamal Heib) [1720899] - [infiniband] rdma/{cxgb3, cxgb4, i40iw}: Remove common code (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/core: Fix use after free and refcnt leak on ndev in_device in iwarp_query_port (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/core: Add common iWARP query port (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/i40iw: Associate ibdev to netdev before IB device registration (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma/cxgb3: Use ib_device_set_netdev() (Kamal Heib) [1760097 1745655 1720899] - [infiniband] rdma: Introduce ib_port_phys_state enum (Kamal Heib) [1760097 1745655 1720899] - [sched] topology: Improve load balancing on AMD EPYC systems (Phil Auld) [1757535] - [netdrv] broadcom: Use dev_get_drvdata (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add a new BNXT_FW_RESET_STATE_POLL_FW_DOWN state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.100 (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Increase timeout for HWRM_DBG_COREDUMP_XX commands (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Don't proceed in .ndo_set_rx_mode() when device is not in open state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix compile error regression with CONFIG_BNXT_SRIOV not set (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add FW fatal devlink_health_reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add bnxt_fw_exception() to handle fatal firmware errors (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add RESET_FW state logic to bnxt_fw_reset_task() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Do not send firmware messages if firmware is in error state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Retain user settings on a VF after RESET_NOTIFY event (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add devlink health reset reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle firmware reset (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle RESET_NOTIFY async event from firmware (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add new FW devlink_health_reporter (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add BNXT_STATE_IN_FW_RESET state (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Enable health monitoring (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Pre-map the firmware health monitoring registers (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Discover firmware error recovery capabilities (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle firmware reset status during IF_UP (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Register buffers for VFs before reserving resources (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_sriov_enable() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Prepare bnxt_init_one() to be called multiple times (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Suppress all error messages in hwrm_do_send_msg() in silent mode (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Simplify error checking in the SR-IOV message forwarding functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Convert error code in firmware message response to standard code (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Remove the -1 error return code from bnxt_hwrm_do_send_msg() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Use a common function to print the same ethtool -f error message (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix allocation of zero statistics block size regression (Jonathan Toppins) [1724766] - [netdrv] bnxt: no need to check return value of debugfs_create functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add PCI IDs for 57500 series NPAR devices (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Support all variants of the 5750X chip family (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_init_one() and turn on TPA support on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Support TPA counters on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Allocate the larger per-ring statistics block for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor ethtool ring statistics logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add hardware GRO setup function for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add TPA ID mapping logic for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add fast path logic for TPA on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Set TPA GRO mode flags on 57500 chips properly (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor tunneled hardware GRO logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Handle standalone RX_AGG completions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Expand bnxt_tpa_info struct to support 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor TPA logic (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add TPA structure definitions for BCM57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.89 (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Suppress HWRM errors for HWRM_NVM_GET_VARIABLE command (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix to include flow direction in L2 key (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Use correct src_fid to determine direction of the flow (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix handling FRAG_ERR when NVM_INSTALL_UPDATE cmd fails (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Improve RX doorbell sequence (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix VNIC clearing logic for 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix VNIC accounting when enabling aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add page_pool_destroy() during RX ring cleanup (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: add page_pool support (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: optimized XDP_REDIRECT support (Jonathan Toppins) [1724766 1669220] - [netdrv] bnxt_en: Refactor __bnxt_xmit_xdp() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: rename some xdp functions (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Device serial number is supported only for PFs (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add support for aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Query firmware capability to support aRFS on 57500 chips (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Separate RDMA MR/AH context allocation (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: read the clause type from the PHY ID (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Read package version from firmware (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Check new firmware capability to display extended stats (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Add support for PCIe statistics (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Refactor bnxt_alloc_stats() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Update firmware interface to 1.10.0.69 (Jonathan Toppins) [1724766] - [netdrv] bnxt: remove ndo_get_port_parent_id implementation for physical ports (Jonathan Toppins) [1724766] - [netdrv] bnxt: pass switch ID through devlink_port_attrs_set() (Jonathan Toppins) [1724766] - [netdrv] bnxt: move bp->switch_id initialization to PF probe (Jonathan Toppins) [1724766] - [netdrv] bnxt: remove ndo_get_phys_port_name implementation (Jonathan Toppins) [1724766] - [netdrv] bnxt: implement ndo_get_devlink_port (Jonathan Toppins) [1724766] - [netdrv] bnxt: Implement ndo_get_port_parent_id() (Jonathan Toppins) [1724766] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Jonathan Toppins) [1724766] - [netdrv] bnxt_en: Fix firmware signaled resource change logic in open (Jonathan Toppins) [1724766] - [netdrv] bnx2x: Mark expected switch fall-thoughs (Jonathan Toppins) [1724766] - [netdrv] bnx2x: Mark expected switch fall-throughs (Jonathan Toppins) [1724766] - [tools] selftests: kvm: vmx_dirty_log_test: skip the test when VMX is not supported (Vitaly Kuznetsov) [1771575] - [tools] selftests: kvm: consolidate VMX support checks (Vitaly Kuznetsov) [1771575] - [tools] selftests: kvm: vmx_set_nested_state_test: don't check for VMX support twice (Vitaly Kuznetsov) [1771575] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Stefano Garzarella) [1769904] - [net] vsock: Send reset control packet when socket is partially bound (Stefano Garzarella) [1769904] - [net] vsock/virtio: fix sock refcnt holding during the shutdown (Stefano Garzarella) [1769855] - [kernel] vsock/virtio: remove unused 'work' field from 'struct virtio_vsock_pkt' (Stefano Garzarella) [1769855] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 482 (Stefano Garzarella) [1769855] - [net] vsock/virtio: set SOCK_DONE on peer shutdown (Stefano Garzarella) [1769855] - [net] vsock/virtio: discard packets if credit is not respected (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: send a credit update when buffer size is changed (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: a better comment on credit update (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: fix locking in virtio_transport_inc_tx_pkt() (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: reduce credit update messages (Stefano Garzarella) [1769853 1769846 1769836] - [net] vsock/virtio: change the maximum packet size allowed (Stefano Garzarella) [1679971] - [vhost] vsock: split packets to send using multiple buffers (Stefano Garzarella) [1679971] - [net] vsock/virtio: limit the memory used per-socket (Stefano Garzarella) [1769744] - [net] vsock/virtio: free packets during the socket release (Stefano Garzarella) [1769744] - [net] vsock: Fix a lockdep warning in __vsock_release() (Stefano Garzarella) [1769714] - [net] vsock: correct removal of socket from the list (Stefano Garzarella) [1769714] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Stefano Garzarella) [1769714] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 321 (Stefano Garzarella) [1769714] - [net] Fix ERROR:do not initialise statics to 0 in af_vsock.c (Stefano Garzarella) [1769714] - [net] vsock: bind to random port for VMADDR_PORT_ANY (Stefano Garzarella) [1769714] - [tools] tc-testing: added tests with cookie for conntrack TC action (Ivan Vecera) [1739606] - [net] cls_bpf: fix NULL deref on offload filter removal (Ivan Vecera) [1739606] - [tools] tc-testing: fixed two failing pedit tests (Ivan Vecera) [1739606] - [tools] tc-testing: implement tests for new fast_init action flag (Ivan Vecera) [1739606] - [net] sched: update action implementations to support flags (Ivan Vecera) [1739606] - [net] sched: use temporary variable for actions indexes (Ivan Vecera) [1739606] - [net] sched: extend TCA_ACT space with TCA_ACT_FLAGS (Ivan Vecera) [1739606] - [net] sched: modify stats helper functions to support regular stats (Ivan Vecera) [1739606] - [net] sched: don't expose action qstats to skb_tc_reinsert() (Ivan Vecera) [1739606] - [net] sched: extract qstats update code into functions (Ivan Vecera) [1739606] - [net] sched: extract bstats update code into function (Ivan Vecera) [1739606] - [net] sched: extract common action counters update code into function (Ivan Vecera) [1739606] - [tools] tc-testing: list required kernel options for act_ct action (Ivan Vecera) [1739606] - [net] fq_codel: do not include (Ivan Vecera) [1739606] - [net] sch_generic: Use pfifo_fast as fallback scheduler for CAN hardware (Ivan Vecera) [1739606] - [net] sched: taprio: fix -Wmissing-prototypes warnings (Ivan Vecera) [1739606] - [net] sched: act_police: re-use tcf_tm_dump() (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit TDC tests (Ivan Vecera) [1739606] - [net] sched: Avoid using yield() in a busy waiting loop (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit test cases (Ivan Vecera) [1739606] - [net] sched: etf: Fix ordering of packets with same txtime (Ivan Vecera) [1739606] - [tools] tc-testing: updated pedit test cases (Ivan Vecera) [1739606] - [net] taprio: Fix returning EINVAL when configuring without flags (Ivan Vecera) [1739606] - [net] net_sched: fix backward compatibility for TCA_ACT_KIND (Ivan Vecera) [1739606] - [net] net_sched: fix backward compatibility for TCA_KIND (Ivan Vecera) [1739606] - [net] sched: Set default of CONFIG_NET_TC_SKB_EXT to N (Ivan Vecera) [1739606] - [net] sch_netem: fix rcu splat in netem_enqueue() (Ivan Vecera) [1739606] - [net] net_sched: remove need_resched() from qdisc_run() (Ivan Vecera) [1739606] - [net] sched: cbs: Avoid division by zero when calculating the port rate (Ivan Vecera) [1739606] - [net] sched: taprio: Avoid division by zero on invalid link speed (Ivan Vecera) [1739606] - [net] sched: taprio: Fix potential integer overflow in taprio_set_picos_per_byte (Ivan Vecera) [1739606] - [net] sched: cbs: Fix not adding cbs instance to list (Ivan Vecera) [1739606] - [net] Fix Kconfig indentation (Ivan Vecera) [1739606] - [net] net_sched: add policy validation for action attributes (Ivan Vecera) [1739606] - [net] net_sched: add max len check for TCA_KIND (Ivan Vecera) [1739606] - [net] taprio: Add support for hardware offloading (Ivan Vecera) [1739606] - [net] sched: use get_dev() action API in flow_action infra (Ivan Vecera) [1739606] - [net] sched: take reference to psample group in flow_action infra (Ivan Vecera) [1739606] - [net] sched: extend flow_action_entry with destructor (Ivan Vecera) [1739606] - [net] sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero (Ivan Vecera) [1739606] - [net] net_sched: check cops->tcf_block in tc_bind_tclass() (Ivan Vecera) [1739606] - [net] sched: fix reordering issues (Ivan Vecera) [1739606] - [net] net_sched: act_police: add 2 new attributes to support police 64bit rate and peakrate (Ivan Vecera) [1739606] - [net] openvswitch: Set OvS recirc_id from tc chain index (Ivan Vecera) [1739606] - [net] sk_buff: drop all skb extensions on free and skb scrubbing (Ivan Vecera) [1739606] - [net] minor cleanup in skb_ext_add() (Ivan Vecera) [1739606] - [include] net: drop the unused helper skb_ext_get() (Ivan Vecera) [1739606] - [net] fix possible user-after-free in skb_ext_add() (Ivan Vecera) [1739606] - [net] sk_buff: add skb extension infrastructure (Ivan Vecera) [1739606] - [net] sched: cbs: remove redundant assignment to variable port_rate (Ivan Vecera) [1739606] - [tools] tc-testing: don't hardcode 'ip' in nsPlugin.py (Ivan Vecera) [1739606] - [net] sched: cbs: Set default link speed to 10 Mbps in cbs_set_port_rate (Ivan Vecera) [1739606] - [net] taprio: Set default link speed to 10 Mbps in taprio_set_picos_per_byte (Ivan Vecera) [1739606] - [net] taprio: Fix kernel panic in taprio_destroy (Ivan Vecera) [1739606] - [netdrv] mlx5e: Move local var definition into ifdef block (Ivan Vecera) [1739606] - [net] sched: cls_matchall: cleanup flow_action before deallocating (Ivan Vecera) [1739606] - [net] sched: act_vlan: implement stats_update callback (Ivan Vecera) [1739606] - [net] sched: act_sample: fix psample group handling on overwrite (Ivan Vecera) [1739606] - [net] sched: flower: don't take rtnl lock for cls hw offloads API (Ivan Vecera) [1739606] - [net] sched: copy tunnel info when setting flow_action entry->tunnel (Ivan Vecera) [1739606] - [net] sched: take reference to action dev before calling offloads (Ivan Vecera) [1739606] - [net] sched: take rtnl lock in tc_setup_flow_action() (Ivan Vecera) [1739606] - [net] sched: conditionally obtain rtnl lock in cls hw offloads API (Ivan Vecera) [1739606] - [net] sched: add API for registering unlocked offload block callbacks (Ivan Vecera) [1739606] - [net] sched: notify classifier on successful offload add/delete (Ivan Vecera) [1739606] - [net] sched: refactor block offloads counter usage (Ivan Vecera) [1739606] - [net] sched: change tcf block offload counter type to atomic_t (Ivan Vecera) [1739606] - [net] sched: protect block offload-related fields with rw_semaphore (Ivan Vecera) [1739606] - [net] net_sched: fix a NULL pointer deref in ipt action (Ivan Vecera) [1739606] - [tools] tc-testing: concurrency: wrap piped rule update commands (Ivan Vecera) [1739606] - [tools] tc-testing: use dedicated DUMMY interface name for dummy dev (Ivan Vecera) [1739606] - [net] flow_offload: convert block_ing_cb_list to regular list type (Ivan Vecera) [1739606] - [netdrv] sched: use major priority number as hardware priority (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for matchall filter (Ivan Vecera) [1739606] - [net] taprio: remove unused variable 'entry_list_policy' (Ivan Vecera) [1739606] - [tools] tc-testing: updated skbedit action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update skbedit action for batched events operations (Ivan Vecera) [1739606] - [net] fq_codel: remove set but not used variables 'prev_ecn_mark' and 'prev_drop_count' (Ivan Vecera) [1739606] - [net] flow_offload: support get multi-subsystem block (Ivan Vecera) [1739606] - [net] flow_offload: move tc indirect block to flow offload (Ivan Vecera) [1739606] - [net] cls_api: add flow_indr_block_call function (Ivan Vecera) [1739606] - [net] cls_api: remove the tcf_block cache (Ivan Vecera) [1739606] - [net] cls_api: modify the tc_indr_block_ing_cmd parameters. (Ivan Vecera) [1739606] - [net] sched: sch_taprio: fix memleak in error path for sched list parse (Ivan Vecera) [1739606] - [net] fq_codel: Kill useless per-flow dropped statistic (Ivan Vecera) [1739606] - [net] Increase fq_codel count in the bulk dropper (Ivan Vecera) [1739606] - [include] sched: sample: allow accessing psample_group with rtnl (Ivan Vecera) [1739606] - [tools] tc-testing: updated vlan action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update vlan action for batched events operations (Ivan Vecera) [1739606] - [tools] tc-testing: Clarify the use of tdc's -d option (Ivan Vecera) [1739606] - [net] sched: Fix a possible null-pointer dereference in dequeue_func() (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for [b|p]fifo qdisc (Ivan Vecera) [1739606] - [net] ife: error out when nla attributes are empty (Ivan Vecera) [1739606] - [net] sched: verify that q!=NULL before setting q->flags (Ivan Vecera) [1739606] - [net] net_sched: unset TCQ_F_CAN_BYPASS when adding filters (Ivan Vecera) [1739606] - [net] fix: taprio: Change type of txtime-delay parameter to u32 (Ivan Vecera) [1739606] - [tools] tc-tests: updated skbedit tests (Ivan Vecera) [1739606] - [include] pkt_sched: Include const.h (Ivan Vecera) [1739606] - [tools] tc-testing: introduce scapyPlugin for basic traffic (Ivan Vecera) [1739606] - [tools] tc-testing: Allow tdc plugins to see test case data (Ivan Vecera) [1739606] - [tools] tc-testing: added tdc tests for prio qdisc (Ivan Vecera) [1739606] - [tools] tc-testing: updated mirred action tests with batch create/delete (Ivan Vecera) [1739606] - [net] sched: update mirred action for batched events operations (Ivan Vecera) [1739606] - [net] sched: em_ipt: add support for addrtype matching (Ivan Vecera) [1739606] - [net] sched: em_ipt: keep the user-specified nfproto and dump it (Ivan Vecera) [1739606] - [net] sched: em_ipt: set the family based on the packet if it's unspecified (Ivan Vecera) [1739606] - [net] sched: em_ipt: match only on ip/ipv6 traffic (Ivan Vecera) [1739606] - [net] taprio: Adjust timestamps for TCP packets (Ivan Vecera) [1739606] - [net] taprio: make clock reference conversions easier (Ivan Vecera) [1739606] - [net] taprio: Add support for txtime-assist mode (Ivan Vecera) [1739606] - [net] taprio: Remove inline directive (Ivan Vecera) [1739606] - [net] taprio: calculate cycle_time when schedule is installed (Ivan Vecera) [1739606] - [net] etf: Add skip_sock_check (Ivan Vecera) [1739606] - [include] etf: Don't use BIT() in UAPI headers. (Ivan Vecera) [1739606] - [tools] tc-testing: add ingress qdisc tests (Ivan Vecera) [1739606] - [tools] tc-testing: Restore original behaviour for namespaces in tdc (Ivan Vecera) [1739606] - [include] net: sched: act_ctinfo: tidy UAPI definition (Ivan Vecera) [1739606] - [include] act_ctinfo: Don't use BIT() in UAPI headers. (Ivan Vecera) [1739606] - [net] sched: cls_matchall: allow to delete filter (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: fix policy validation (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: fix action creation (Ivan Vecera) [1739606] - [tools] tc-tests: updated skbedit tests (Ivan Vecera) [1739606] - [tools] tc-tests: added path to ip command in tdc (Ivan Vecera) [1739606] - [net] sched: remove NET_CLS_IND config option (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: use extack error reporting (Ivan Vecera) [1739606] - [net] sched: ingress: set 'unlocked' flag for clsact Qdisc ops (Ivan Vecera) [1739606] - [net] sched: ingress: set 'unlocked' flag for Qdisc ops (Ivan Vecera) [1739606] - [tools] tc-tests: updated fw with bind actions by reference use cases (Ivan Vecera) [1739606] - [net] sched: act_ctinfo: minor size optimisation (Ivan Vecera) [1739606] - [net] flow_offload: use struct_size() in kzalloc() (Ivan Vecera) [1739606] - [net] sched: don't use tc_action->order during action dump (Ivan Vecera) [1739606] - [net] sch_htb: redefine htb qdisc overlimits (Ivan Vecera) [1739606] - [tools] selftests: tc-testing: Add pedit tests (Ivan Vecera) [1739606] - [net] sched: add ingress mirred action to hardware IR (Ivan Vecera) [1757520] - [include] net: tc_act: add helpers to detect ingress mirred actions (Ivan Vecera) [1757520] - [net] sched: add skbedit of ptype action to hardware IR (Ivan Vecera) [1757520] - [include] net: tc_act: add skbedit_ptype helper functions (Ivan Vecera) [1757520] - [net] openvswitch: load and reference the NAT helper. (Flavio Leitner) [1752970] - [net] openvswitch: load NAT helper (Flavio Leitner) [1752970] - [net] netfilter: nf_nat: register NAT helpers. (Flavio Leitner) [1752970] - [net] netfilter: add API to manage NAT helpers. (Flavio Leitner) [1752970] - [net] netfilter: use macros to create module aliases. (Flavio Leitner) [1752970] - [net] xfrm: remove a duplicated assignment (Sabrina Dubroca) [1760002] - [net] xfrm: remove empty xfrmi_init_net (Sabrina Dubroca) [1760002] - [net] xfrm: remove unneeded export_symbols (Sabrina Dubroca) [1760002] - [include] xfrm: clean an indentation issue, remove a space (Sabrina Dubroca) [1760002] - [net] xfrm6: remove BUG_ON from xfrm6_dst_ifdown (Sabrina Dubroca) [1760002] - [net] xfrm: policy: add missing indentation (Sabrina Dubroca) [1760002] - [net] xfrm: Fix bucket count reported to userspace (Sabrina Dubroca) [1760002] - [net] xfrm: use complete IPv6 addresses for hash (Sabrina Dubroca) [1760002] - [net] xfrm: use correct size to initialise sp->ovec (Sabrina Dubroca) [1760002] - [net] xfrm: allow driver to quietly refuse offload (Sabrina Dubroca) [1760002] - [net] esp: remove redundant define esph (Sabrina Dubroca) [1760002] - [net] ip6_vti: simplify stats handling in vti6_xmit (Sabrina Dubroca) [1760002] - [net] xfrm: fix 'passing zero to ERR_PTR()' warning (Sabrina Dubroca) [1760002] - [net] xfrm: remove blank lines at EOF (Sabrina Dubroca) [1760002] - [net] xfrm: don't check offload_handle for nonzero (Sabrina Dubroca) [1760002] - [net] ipv6: xfrm: use 64-bit timestamps (Sabrina Dubroca) [1760002] - [net] devlink: Introduce PCI VF port flavour and port attribute (Petr Oros) [1761495] - [net] devlink: Introduce PCI PF port flavour and port attribute (Petr Oros) [1761495] - [net] devlink: Return physical port fields only for applicable port flavours (Petr Oros) [1761495] - [net] devlink: Refactor physical port attributes (Petr Oros) [1761495] - [net] ipv4: fix race condition between route lookup and invalidation (Guillaume Nault) [1765639] - [net] add {READ|WRITE}_ONCE() annotations on ->rskq_accept_head (Guillaume Nault) [1765639] - [net] ipv4/icmp: fix rt dst dev null pointer dereference (Guillaume Nault) [1765639] - [net] ipip: validate header length in ipip_tunnel_xmit (Guillaume Nault) [1765639] - [net] ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop (Guillaume Nault) [1765639] - [net] ipv4: Fix raw socket lookup for local traffic (Guillaume Nault) [1765639] - [net] ipv4: Return error for RTA_VIA attribute (Guillaume Nault) [1765639] - [net] ipmr: fix unresolved entry dumps (Guillaume Nault) [1765639] - [net] ipvs: don't ignore errors in case refcounting ip_vs module fails (Davide Caratti) [1687094] - [net] ipvs: fix tinfo memory leak in start_sync_thread (Davide Caratti) [1687094] - [net] tcp: fix a possible lockdep splat in tcp_done() (Marcelo Leitner) [1764654] - [net] tcp: add rcu protection around tp->fastopen_rsk (Marcelo Leitner) [1764654] - [net] tcp: annotate lockless access to tcp_memory_pressure (Marcelo Leitner) [1764654] - [net] tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR (Marcelo Leitner) [1764654] - [net] tcp: inherit timestamp on mtu probe (Marcelo Leitner) [1764654] - [net] tcp: remove empty skb from write queue in error cases (Marcelo Leitner) [1764654] - [net] tcp: get rid of tcp_check_send_head() (Marcelo Leitner) [1764654] - [net] tcp: make sure EPOLLOUT wont be missed (Marcelo Leitner) [1764654] - [net] ipv4: set the tcp_min_rtt_wlen range from 0 to one day (Marcelo Leitner) [1764654] - [net] net-tcp: /proc/sys/net/ipv4/tcp_probe_interval is a u32 not int (Marcelo Leitner) [1764654] - [net] tcp: fix a race in inet_diag_dump_icsk() (Marcelo Leitner) [1764654] - [net] netfilter: nft_meta: Add NFT_META_I/OIFKIND meta type (Florian Westphal) [1763657] - [net] netfilter: nft_xfrm: use state family, not hook one (Florian Westphal) [1763654] - [net] netfilter: nf_tables: add xfrm expression (Florian Westphal) [1763654] - [net] netfilter: nf_tables: rt: allow checking if dst has xfrm attached (Florian Westphal) [1763654] - [netdrv] mlx5e: Fix unnecessary flow_block_cb_is_busy call (Ivan Vecera) [1737890] - [netdrv] nfp: flower: verify that block cb is not busy before binding (Ivan Vecera) [1737890] - [netdrv] net/mlx5e: Provide cb_list pointer when setting up tc block on rep (Ivan Vecera) [1737890] - [net] sched: Fix NULL-pointer dereference in tc_indr_block_ing_cmd() (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block structure and use it (Ivan Vecera) [1737890] - [net] flow_offload: rename tc_setup_cb_t to flow_setup_cb_t (Ivan Vecera) [1737890] - [include] flow_offload: include linux/kernel.h from flow_offload.h (Ivan Vecera) [1737890] - [net] flow_offload: remove netns parameter from flow_block_cb_alloc() (Ivan Vecera) [1737890] - [net] openvswitch: rename flow_stats to sw_flow_stats (Ivan Vecera) [1737890] - [netdrv] mlx5e: Fix unused variable warning when CONFIG_MLX5_ESWITCH is off (Ivan Vecera) [1737890] - [netdrv] net: flow_offload: rename tc_cls_flower_offload to flow_cls_offload (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_is_busy() and use it (Ivan Vecera) [1737890] - [net] sched: remove tcf block API (Ivan Vecera) [1737890] - [include] sched: use new symbol for TC kABI version (Ivan Vecera) [1737890] - [netdrv] use flow block API (Ivan Vecera) [1737890] - [net] sched: use flow block API (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_{priv, incref, decref}() (Ivan Vecera) [1737890] - [net] flow_offload: add list handling functions (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_alloc() and flow_block_cb_free() (Ivan Vecera) [1737890] - [net] flow_offload: rename TCF_BLOCK_BINDER_TYPE_* to FLOW_BLOCK_BINDER_TYPE_* (Ivan Vecera) [1737890] - [net] flow_offload: rename TC_BLOCK_{UN}BIND to FLOW_BLOCK_{UN}BIND (Ivan Vecera) [1737890] - [net] flow_offload: add flow_block_cb_setup_simple() (Ivan Vecera) [1737890] - [net] openvswitch: free vport unless register_netdevice() succeeds (Stefano Brivio) [1765580] - [net] openvswitch: Clear the L4 portion of the key for "later" fragments. (Stefano Brivio) [1765580] - [net] openvswitch: Properly set L4 keys on "later" IP fragments (Stefano Brivio) [1765580] - [net] openvswitch: Print error when ovs_execute_actions() fails (Stefano Brivio) [1765580] - [net] openvswitch: do not free vport if register_netdevice() is failed. (Stefano Brivio) [1765580] - [net] xfrm: policy: remove pcpu policy cache (Xin Long) [1743519] - [net] netem: correct the parent's backlog when corrupted packet was dropped (Davide Caratti) [1764553] - [net] netem: fix error path for corrupted GSO frames (Davide Caratti) [1764553] - [net] avoid potential infinite loop in tc_ctl_action() (Davide Caratti) [1764553] - [net] act_mirred: Fix mirred_init_module error handling (Davide Caratti) [1764553] - [net] sch_dsmark: fix potential NULL deref in dsmark_init() (Davide Caratti) [1764553] - [net] sch_cbq: validate TCA_CBQ_WRROPT to avoid crash (Davide Caratti) [1764553] - [net] sched: sch_sfb: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: multiq: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: sch_htb: don't call qdisc_put() while holding tree lock (Davide Caratti) [1764553] - [net] sched: fix possible crash in tcf_action_destroy() (Davide Caratti) [1764553] - [net] sch_netem: fix a divide by zero in tabledist() (Davide Caratti) [1764553] - [net] sched: act_sample: don't push mac header on ip6gre ingress (Davide Caratti) [1764553] - [net] net_sched: let qdisc_put() accept NULL pointer (Davide Caratti) [1764553] - [net] tcp: adjust rto_base in retransmits_timed_out() (Marcelo Leitner) [1756775] - [net] tcp: better handle TCP_USER_TIMEOUT in SYN_SENT state (Marcelo Leitner) [1756775] - [include] netlink: use 48 byte ctx instead of 6 signed longs for callback (Petr Oros) [1751273] - [net] rtnetlink: skip metrics loop for dst_default_metrics (Petr Oros) [1751273] - [include] netlink: Add field to skip in-kernel notifications (Petr Oros) [1751273] - [include] netlink: Document all fields of 'struct nl_info' (Petr Oros) [1751273] - [net] ipoib: show VF broadcast address (Petr Oros) [1751273] - [net] remove empty netlink_tap_exit_net (Petr Oros) [1751273] - [net] netlink: make netlink_walk_start() void return type (Petr Oros) [1751273] - [include] net: nexthop uapi (Petr Oros) [1751273] - [net] Treat sock->sk_drops as an unsigned int when printing (Petr Oros) [1751273] - [net] fix two coding style issues (Petr Oros) [1751273] - [net] ipset: drop ipset_nest_start() and ipset_nest_end() (Petr Oros) [1751273] - [net] netlink: make nla_nest_start() add NLA_F_NESTED flag (Petr Oros) [1751273] - [net] netfilter: nf_tables: fix a missing check of nla_put_failure (Petr Oros) [1751273] - [net] ncsi: fix a missing check for nla_nest_start (Petr Oros) [1751273] - [net] genetlink: use idr_alloc_cyclic for family->id assignment (Petr Oros) [1751273] - [net] netlink: Check address length before reading groups field (Petr Oros) [1751273] - [net] core: Fix rtnetlink kernel-doc headers (Petr Oros) [1751273] - [net] rhashtable: Remove obsolete rhashtable_walk_init function (Petr Oros) [1751273] - [net] netfilter: nf_tables: use rhashtable_walk_enter instead of rhashtable_walk_init (Petr Oros) [1751273] - [net] netlink: reduce NLA_POLICY_NESTED{, _ARRAY} arguments (Petr Oros) [1751273] - [net] netlink: rename NETLINK_DUMP_STRICT_CHK -> NETLINK_GET_STRICT_CHK (Petr Oros) [1751273] - [include] netlink: replace __NLA_ENSURE implementation (Petr Oros) [1751273] - [include] netlink: fix typo in nla_parse_nested() comment (Petr Oros) [1751273] - [net] netlink: remove hash::nelems check in netlink_insert (Petr Oros) [1751273] - [net] netlink: Make groups check less stupid in netlink_bind() (Petr Oros) [1751273] - [include] genetlink: constify genl_err_attr() argument (Petr Oros) [1751273] - [net] netlink: do not store start function in netlink_cb (Petr Oros) [1751273] - [include] linux: Add skb_frag_t page_offset accessors (Petr Oros) [1757515] - [include] net: add missing documentation in linux/skbuff.h (Petr Oros) [1757515] - [net] l2tp: Fix possible NULL pointer dereference (Stefano Brivio) [1764185] - [net] l2ip: fix possible use-after-free (Stefano Brivio) [1764185] - [net] l2tp: use rcu_dereference_sk_user_data() in l2tp_udp_encap_recv() (Stefano Brivio) [1764185] - [net] l2tp: fix infoleak in l2tp_ip6_recvmsg() (Stefano Brivio) [1764185] - [net] l2tp: copy 4 more bytes to linear part if necessary (Stefano Brivio) [1764185] - [net] l2tp: fix reading optional fields of L2TPv3 (Stefano Brivio) [1764185] - [net] l2tp: remove ->recv_payload_hook (Stefano Brivio) [1764185] - [net] l2tp: don't export l2tp_session_queue_purge() (Stefano Brivio) [1764185] - [net] l2tp: remove .show from struct l2tp_tunnel (Stefano Brivio) [1764185] - [netdrv] vxlan: do not destroy fdb if register_netdevice() is failed (Stefano Brivio) [1763793] - [net] ip6erspan: remove the incorrect mtu limit for ip6erspan (Stefano Brivio) [1763286] - [net] ipv6: Handle missing host route in __ipv6_ifa_notify (Stefano Brivio) [1763286] - [net] ipv6: drop incoming packets having a v4mapped source address (Stefano Brivio) [1763286] - [net] ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit (Stefano Brivio) [1763286] - [net] mld: fix memory leak in mld_del_delrec() (Stefano Brivio) [1763286] - [net] ipv6: rt6_check should return NULL if 'from' is NULL (Stefano Brivio) [1763286] - [net] ipv6_sockglue: Fix a missing-check bug in ip6_ra_control() (Stefano Brivio) [1763286] - [net] ipv6_gre: Fix GRO to work on IPv6 over GRE tap (Stefano Brivio) [1763286] - [net] ipv4: Return -ENETUNREACH if we can't create route but saddr is valid (Stefano Brivio) [1686686] - [net] netfilter: nft_connlimit: disable bh on garbage collection (Florian Westphal) [1762844] - [net] netfilter: ebtables: Fix argument order to ADD_COUNTER (Florian Westphal) [1762844] - [net] netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule (Florian Westphal) [1762844] - [net] netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON (Florian Westphal) [1762844] - [net] netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING (Florian Westphal) [1762844] - [net] netfilter: ebtables: also count base chain policies (Florian Westphal) [1762844] - [net] netfilter: ebtables: compat: un-break 32bit setsockopt when no rules are present (Florian Westphal) [1762844] - [net] sctp: change sctp_prot .no_autobind with true (Xin Long) [1762625] - [net] sctp: destroy bucket if failed to bind addr (Xin Long) [1762625] - [net] sctp: remove redundant assignment when call sctp_get_port_local (Xin Long) [1762625] - [net] sctp: change return type of sctp_get_port_local (Xin Long) [1762625] - [net] sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()' (Xin Long) [1762625] - [net] sctp: fix the missing put_user when dumping transport thresholds (Xin Long) [1762625] - [net] sctp: use transport pf_retrans in sctp_do_8_2_transport_strike (Xin Long) [1762625] - [net] sctp: allow users to set ep ecn flag by sockopt (Xin Long) [1762625] - [net] sctp: allow users to set netns ecn flag with sysctl (Xin Long) [1762625] - [net] sctp: make ecn flag per netns and endpoint (Xin Long) [1762625] - [net] sctp: remove net sctp.x_enable working as a global switch (Xin Long) [1762625] - [net] sctp: add SCTP_AUTH_SUPPORTED sockopt (Xin Long) [1762625] - [net] sctp: add sctp_auth_init and sctp_auth_free (Xin Long) [1762625] - [net] sctp: use ep and asoc auth_enable properly (Xin Long) [1762625] - [net] sctp: add SCTP_ASCONF_SUPPORTED sockopt (Xin Long) [1762625] - [net] sctp: check asoc peer.asconf_capable before processing asconf (Xin Long) [1762625] - [net] sctp: not set peer.asconf_capable in sctp_association_init (Xin Long) [1762625] - [net] sctp: add asconf_enable in struct sctp_endpoint (Xin Long) [1762625] - [net] sctp: fix memleak in sctp_send_reset_streams (Xin Long) [1762625] - [net] sctp: fix the transport error_count check (Xin Long) [1762625] - [net] sched: fix corrupted L2 header with MPLS 'push' and 'pop' actions (Ivan Vecera) [1737820] - [net] avoid errors when trying to pop MLPS header on non-MPLS packets (Ivan Vecera) [1737820] - [net] netfilter: connlabels: prefer static lock initialiser (Ivan Vecera) [1737820] - [net] sched: include mpls actions in hardware intermediate representation (Ivan Vecera) [1737820] - [net] sched: Make NET_ACT_CT depends on NF_NAT (Ivan Vecera) [1737820] - [tools] tc-tests: Add tc action ct tests (Ivan Vecera) [1737820] - [net] sched: cls_flower: Add matching on conntrack info (Ivan Vecera) [1737820] - [net] flow_dissector: add connection tracking dissection (Ivan Vecera) [1737820] - [net] sched: Introduce action ct (Ivan Vecera) [1737820] - [tools] tc-tests: actions: add MPLS tests (Ivan Vecera) [1737820] - [net] sched: add mpls manipulation actions to TC (Ivan Vecera) [1737820] - [net] core: add MPLS update core helper and use in OvS (Ivan Vecera) [1737820] - [net] core: move pop MPLS functionality from OvS to core helper (Ivan Vecera) [1737820] - [net] core: move push MPLS functionality from OvS to core helper (Ivan Vecera) [1737820] - [net] sched: Introduce act_ctinfo action (Ivan Vecera) [1737820] - [netdrv] mlx5e: Allow dissector meta key in tc flower (Ivan Vecera) [1762861] - [tools] selftests: tc: add ingress device matching support (Ivan Vecera) [1762861] - [net] flow_offload: implement support for meta key (Ivan Vecera) [1762861] - [net] sched: cls_flower: use flow_dissector for ingress ifindex (Ivan Vecera) [1762861] - [net] flow_dissector: add support for ingress ifindex dissection (Ivan Vecera) [1762861] - [net] udp: only do GSO if # of segs > 1 (Guillaume Nault) [1762357] - [net] udp: fix gso_segs calculations (Guillaume Nault) [1762357] - [tools] selftests: rtnetlink: add small test case with 'promote_secondaries' enabled (Petr Oros) [1759177] - [net] ipv4: fix infinite loop on secondary addr promotion (Petr Oros) [1759177] - [tools] selftests: rtnetlink: add addresses with fixed life time (Petr Oros) [1759177] - [net] ipv4: remove erroneous advancement of list pointer (Petr Oros) [1759177] - [net] ipv4: fix rcu lockdep splat due to wrong annotation (Petr Oros) [1759177] - [net] ipv4: provide __rcu annotation for ifa_list (Petr Oros) [1759177] - [drivers] use in_dev_for_each_ifa_rtnl/rcu (Petr Oros) [1759177] - [net] use new in_dev_ifa iterators (Petr Oros) [1759177] - [net] netfilter: use in_dev_for_each_ifa_rcu (Petr Oros) [1759177] - [net] devinet: use in_dev_for_each_ifa_rcu in more places (Petr Oros) [1759177] - [net] inetdevice: provide replacement iterators for in_ifaddr walk (Petr Oros) [1759177] - [fs] afs: do not send list of client addresses (Petr Oros) [1759177] - [net] sctp: add SCTP_SEND_FAILED_EVENT event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_MADE_PRIM event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_REMOVED event (Xin Long) [1751129] - [net] sctp: add SCTP_ADDR_ADDED event (Xin Long) [1751129] - [netdrv] team: call RCU read lock when walking the port_list (Hangbin Liu) [1724896] - [net] packet: fix race in tpacket_snd() (Davide Caratti) [1760276] - [net] packet: fix memory leak in packet_set_ring() (Davide Caratti) [1760276] - [net] packet: unconditionally free po->rollover (Davide Caratti) [1760276] - [net] llc: fix skb leak in llc_build_and_send_ui_pkt() (Davide Caratti) [1760276] - [net] af_key: fix leaks in key_pol_get_resp and dump_sp. (Davide Caratti) [1760276] - [net] packet: in recvmsg msg_name return at least sizeof sockaddr_ll (Davide Caratti) [1760276] - [net] packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec (Davide Caratti) [1760276] - [net] packet: fix 4gb buffer limit due to overflow check (Davide Caratti) [1760276] - [net] llc: do not use sk_eat_skb() (Davide Caratti) [1760276] - [fs] proc: fix /proc/net/* after setns(2) (Davide Caratti) [1760276] - [net] Unpublish sk from sk_reuseport_cb before call_rcu (Paolo Abeni) [1760409] - [net] Fix null de-reference of device refcount (Paolo Abeni) [1760409] - [include] ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled (Paolo Abeni) [1760409] - [net] neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit (Paolo Abeni) [1760409] - [net] ebpf: record usage of flow dissector (Jiri Benc) [1749812] - [tools] selftests/bpf: More compatible nc options in test_lwt_ip_encap (Jiri Benc) [1749812] - [tools] selftests/bpf: Set rp_filter in test_flow_dissector (Jiri Benc) [1749812] - [net] bpf: lwtunnel: fix reroute supplying invalid dst (Jiri Benc) [1749812] - [kernel] rh_features: convert to atomic allocation (Jiri Benc) [1749812] - [net] xsk: lock the control mutex in sock_diag interface (Jiri Benc) [1749812] - [documentation] networking: fix af_xdp.rst Sphinx warnings (Jiri Benc) [1749812] - [documentation] flow_dissector: rst'ify documentation (Jiri Benc) [1749812] - [documentation] flow_dissector: document BPF flow dissector environment (Jiri Benc) [1749812] - [net] xsk: fix umem memory leak on cleanup (Jiri Benc) [1749812] - [net] xsk: fix to reject invalid options in Tx descriptor (Jiri Benc) [1749812] - [net] xsk: fix to reject invalid flags in xsk_bind (Jiri Benc) [1749812] - [net] xsk: fix potential crash in xsk_diag_put_umem() (Jiri Benc) [1749812] - [net] bpfilter: re-add header search paths to tools include to fix build error (Jiri Benc) [1749812] - [documentation] xsk: add FAQ to facilitate for first time users (Jiri Benc) [1749812] - [net] bpf/test_run: fix unkillable BPF_PROG_TEST_RUN for flow dissector (Jiri Benc) [1749812] - [tools] sync uapi/linux/if_link.h header (Jiri Benc) [1749812] - [net] xdp: allow generic and driver XDP on one interface (Jiri Benc) [1749812] - [net] xdp: Provide extack messages when prog attachment failed (Jiri Benc) [1749812] - [net] bpfilter: remove extra header search paths for bpfilter_umh (Jiri Benc) [1749812] - [include] bpf: fix missing prototype warnings (Jiri Benc) [1749812] - [net] xsk: add sock_diag interface for AF_XDP (Jiri Benc) [1749812] - [net] xsk: add id to umem (Jiri Benc) [1749812] - [net] xsk: track AF_XDP sockets on a per-netns list (Jiri Benc) [1749812] - [include] redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc) [1749812] - [net] tcp: Avoid TCP syncookie rejected by SO_REUSEPORT socket (Jiri Benc) [1749812] - [net] tcp: use monotonic timestamps for PAWS (Jiri Benc) [1749812] - [net] tcp: remove one indentation level in tcp_create_openreq_child (Jiri Benc) [1749812] - [netdrv] ppp: Fix memory leak in ppp_write (Guillaume Nault) [1759312] - [netdrv] ppp: deflate: Fix possible crash in deflate_init (Guillaume Nault) [1759312] - [netdrv] pppoe: fix reception of frames with no mac header (Guillaume Nault) [1759312] - [net] tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth (Florian Westphal) [1759208] - [net] tcp_bbr: refactor bbr_target_cwnd() for general inflight provisioning (Florian Westphal) [1759208] - [net] tcp_bbr: centralize code to set gains (Florian Westphal) [1759208] - [net] tcp_bbr: apply PROBE_RTT cwnd cap even if acked==0 (Florian Westphal) [1759208] - [net] tcp_bbr: in restart from idle, see if we should exit PROBE_RTT (Florian Westphal) [1759208] - [net] tcp_bbr: add bbr_check_probe_rtt_done() helper (Florian Westphal) [1759208] - [net] xfrm/xfrm_policy: fix dst dev null pointer dereference in collect_md mode (Hangbin Liu) [1734589] - [tools] selftests: forwarding: gre_multipath: Fix flower filters (Hangbin Liu) [1756832] - [tools] selftests: forwarding: gre_multipath: Enable IPv4 forwarding (Hangbin Liu) [1756832] - [tools] set sysctl bc_forwarding properly in router_broadcast.sh (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: enable forwarding before ipv4 from/iif test (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: use pre-defined DEV_ADDR (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: fix local IPv4 address typo (Hangbin Liu) [1756832] - [tools] selftests: fib_rule_tests: print the result and return 1 if any tests failed (Hangbin Liu) [1756832] - [tools] selftests: fib_tests: Fix 'Command line is not complete' errors (Hangbin Liu) [1756832] - [tools] selftests: Update fib_tests to handle missing ping6 (Hangbin Liu) [1756832] - [tools] fib_tests: Add tests for metrics on routes (Hangbin Liu) [1756832] - [tools] selftests: udpgso_bench.sh explicitly requires bash (Hangbin Liu) [1756832] - [tools] selftests/net: add tls to .gitignore (Hangbin Liu) [1756832] - [net] ipv4: avoid mixed n_redirects and rate_tokens usage (Paolo Abeni) [1753092] - [lib] netlink: set bad attribute also on maxtype check (Petr Oros) [1757776] - [lib] netlink: add validation of NLA_F_NESTED flag (Petr Oros) [1757776] - [net] ila: Fix rhashtable walker list corruption (Petr Oros) [1757776] - [lib] ila: make lockdep happy again (Petr Oros) [1757776] - [net] genetlink: do not validate dump requests if there is no policy (Petr Oros) [1757776] - [include] netlink: Fix nlmsg_parse as a wrapper for strict message parsing (Petr Oros) [1757776] - [net] tipc: fix missing indentation in source code (Petr Oros) [1757776] - [net] genetlink: optionally validate strictly/dumps (Petr Oros) [1757776] - [lib] netlink: add strict parsing for future attributes (Petr Oros) [1757776] - [include] netlink: re-add parse/validate functions in strict mode (Petr Oros) [1757776] - [net] netlink: make validation more configurable for future strictness (Petr Oros) [1757776] - [lib] netlink: add NLA_MIN_LEN (Petr Oros) [1757776] - [net] genetlink: make policy common to family (Petr Oros) [1757776] - [net] ila: Flush netlink command to clear xlat table (Petr Oros) [1757776] - [net] ila: Create main ila source file (Petr Oros) [1757776] - [net] ila: Call library function alloc_bucket_locks (Petr Oros) [1757776] - [net] ila: Fix use of rhashtable walk in ila_xlat.c (Petr Oros) [1757776] - [net] rtnetlink: fix rtnl_valid_stats_req() nlmsg_len check (Petr Oros) [1757750] - [net] mpls: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] mpls: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: addrlabel: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv6: addr: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: ipmr: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: route: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] ipv4: netconf: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] namespace: perform strict checks also for doit handlers (Petr Oros) [1757750] - [net] rtnetlink: ifinfo: perform strict checks also for doit handler (Petr Oros) [1757750] - [net] rtnetlink: stats: reject requests for unknown stats (Petr Oros) [1757750] - [net] rtnetlink: stats: validate attributes in get as well as dumps (Petr Oros) [1757750] - [net] netlink: add helper to retrieve NETLINK_F_STRICT_CHK (Petr Oros) [1757750] - [include] linux/netlink.h: drop unnecessary extern prefix (Petr Oros) [1757750] - [net] rtnetlink: avoid frame size warning in rtnl_newlink() (Petr Oros) [1757750] - [net] rtnetlink: remove a level of indentation in rtnl_newlink() (Petr Oros) [1757750] - [net] rtnetlink: Add more extack messages to rtnl_newlink (Petr Oros) [1757750] - [net] netfilter: nf_tables: allow lookups in dynamic sets (Florian Westphal) [1759074] - [net] netfilter: nf_tables: check the result of dereferencing base_chain->stats (Florian Westphal) [1759074] - [net] revert "netfilter: nft_hash: add map lookups for hashing operations" (Florian Westphal) [1759074] - [net] netfilter: nf_tables: don't prevent event handler from device cleanup on netns exit (Florian Westphal) [1759074] - [net] netfilter: nft_ct: enable conntrack for helpers (Florian Westphal) [1759074] - [net] netfilter: conntrack: always store window size un-scaled (Florian Westphal) [1758668] - [net] netfilter: synproxy: fix rst sequence number mismatch (Florian Westphal) [1758668] - [net] netfilter: synproxy: fix erroneous tcp mss option (Florian Westphal) [1758668] - [net] netfilter: nfnetlink: avoid deadlock due to synchronous request_module (Florian Westphal) [1758668] - [net] netfilter: nf_queue: fix reinject verdict handling (Florian Westphal) [1758668] - [net] netfilter: conntrack: Use consistent ct id hash calculation (Florian Westphal) [1758668] - [net] netfilter: ctnetlink: don't use conntrack/expect object addresses as id (Florian Westphal) [1758668] - [net] netfilter: bridge: Don't sabotage nf_hook calls for an l3mdev slave (Florian Westphal) [1758668] - [net] netfilter: avoid using skb->nf_bridge directly (Florian Westphal) [1758668] - [net] netfilter: nat: can't use dst_hold on noref dst (Florian Westphal) [1758668] - [net] netfilter: bridge: Don't sabotage nf_hook calls from an l3mdev (Florian Westphal) [1758668] - [net] netfilter: conntrack: fix removal of conntrack entries when l4tracker is removed (Florian Westphal) [1758668] - [net] netfilter: xt_hashlimit: fix a possible memory leak in htable_create() (Florian Westphal) [1758668] - [net] netfilter: xt_TEE: add missing code to get interface index in checkentry. (Florian Westphal) [1758668] - [net] netfilter: xt_TEE: fix wrong interface selection (Florian Westphal) [1758668] - [net] netfilter: xtables: avoid BUG_ON (Florian Westphal) [1758668] - [net] netfilter: nat: limit port clash resolution attempts (Florian Westphal) [1758646] - [net] netfilter: nat: remove l4 protocol port rovers (Florian Westphal) [1758646] - [net] neighbour: remove stray semicolon (Ivan Vecera) [1757459] - [net] neighbor: Initialize protocol when new pneigh_entry are created (Ivan Vecera) [1757459] - [net] neighbour: register rtnl doit handler (Ivan Vecera) [1757459] - [net] neighbor: Add protocol attribute (Ivan Vecera) [1757459] - [net] neighbor: Add extack messages for add and delete commands (Ivan Vecera) [1757459] - [net] rtnetlink: address is mandatory for rtnl_fdb_get (Ivan Vecera) [1757105] - [netdrv] vxlan: support for ndo_fdb_get (Ivan Vecera) [1757105] - [net] rtnetlink: support for fdb get (Ivan Vecera) [1757105] - [net] bridge: support for ndo_fdb_get (Ivan Vecera) [1757105] - [net] ipmr: remove hard code cache_resolve_queue_len limit (Hangbin Liu) [1631022] - [net] ipv6/addrconf: allow adding multicast addr if IFA_F_MCAUTOJOIN is set (Hangbin Liu) [1740961] - [net] xfrm interface: fix management of phydev (Xin Long) [1727240] - [net] xfrm interface: fix list corruption for x-netns (Xin Long) [1727240] - [net] xfrm interface: ifname may be wrong in logs (Xin Long) [1727240] - [net] xfrm interface: avoid corruption on changelink (Xin Long) [1727240] - [net] netlink: add validation function to policy (Ivan Vecera) [1753333] - [net] netlink: add attribute range validation to policy (Ivan Vecera) [1753333] - [net] sched: police: allow accessing police->params with rtnl (Ivan Vecera) [1731416] - [net] sched: remove block pointer from common offload structure (Ivan Vecera) [1731416] - [net] nfp: flower: add qos offload install and remove functionality. (Ivan Vecera) [1731416] - [net] nfp: flower: add qos offload framework (Ivan Vecera) [1731416] - [net] sched: add block pointer to tc_cls_common_offload structure (Ivan Vecera) [1731416] - [net] sched: allow stats updates from offloaded police actions (Ivan Vecera) [1731416] - [net] sched: extend matchall offload for hardware statistics (Ivan Vecera) [1731416] - [net] sched: add police action to the hardware intermediate representation (Ivan Vecera) [1731416] - [net] sched: move police action structures to header (Ivan Vecera) [1731416] - [net] sched: remove unused functions for matchall offload (Ivan Vecera) [1731416] - [net] dsa: use intermediate representation for matchall offload (Ivan Vecera) [1731416] - [netdrv] mlxsw: use intermediate representation for matchall offload (Ivan Vecera) [1731416] - [net] tipc: disallow enabling of loopback interface bearer (Jon Maloy) [1717305] - [net] tipc: add NULL pointer check before calling kfree_rcu (Jon Maloy) [1747392] - [net] xsk: Return the whole xdp_desc from xsk_umem_consume_tx (Ivan Vecera) [1748497] - [net] devlink: add warning for ndo_get_port_parent_id set when not needed (Petr Oros) [1737133] - [net] devlink: introduce devlink_compat_switch_id_get() helper (Petr Oros) [1737133] - [net] devlink: extend port attrs for switch ID (Petr Oros) [1737133] - [net] devlink: convert devlink_port_attrs bools to bits (Petr Oros) [1737133] - [net] devlink: add warning for ndo_get_phys_port_name set when not needed (Petr Oros) [1737133] - [netdrv] nfp: move devlink port type set after netdev registration (Petr Oros) [1737133] - [netdrv] dsa: move devlink_port_attrs_set() call before register (Petr Oros) [1737133] - [netdrv] mlxsw: Move devlink_port_attrs_set() call before register (Petr Oros) [1737133] - [netdrv] bnxt: set devlink port type after registration (Petr Oros) [1737133] - [netdrv] bnxt: call devlink_port_type_eth_set() before port register (Petr Oros) [1737133] - [netdrv] bnxt: set devlink port attrs properly (Petr Oros) [1737133] - [netdrv] dsa: add missing net/devlink.h include (Petr Oros) [1737133] - [netdrv] bnxt: add missing net/devlink.h include (Petr Oros) [1737133] - [netdrv] revert "devlink: Add a generic wake_on_lan port parameter" (Petr Oros) [1737133] - [netdrv] bnxt_en: Add bnxt_en initial port params table and register it (Petr Oros) [1737133] - [netdrv] mlxsw: spectrum: Assume CONFIG_NET_DEVLINK is always enabled (Petr Oros) [1737527] - [netdrv] netdevsim: assume CONFIG_NET_DEVLINK is always enabled (Petr Oros) [1737527] - [net] devlink: introduce devlink_compat_phys_port_name_get() (Petr Oros) [1737527] - [net] replace ndo_get_devlink with ndo_get_devlink_port (Petr Oros) [1737527] - [net] devlink: select NET_DEVLINK from drivers (Petr Oros) [1737527] - [net] devlink: add port type spinlock (Petr Oros) [1737527] - [net] devlink: warn on setting type on unregistered port (Petr Oros) [1737527] - [net] devlink: disallow port_attrs_set() to be called before register (Petr Oros) [1737527] - [net] devlink: don't pass return value of __devlink_port_type_set() (Petr Oros) [1737527] - [net] devlink: don't take devlink_mutex for devlink_compat_* (Petr Oros) [1737527] - [net] devlink: add couple of missing mutex_destroy() calls (Petr Oros) [1737527] - [net] devlink: fix kdoc (Petr Oros) [1737527] - [net] devlink: require non-NULL ops for devlink instances (Petr Oros) [1737527] - [net] devlink: hold a reference to the netdevice around ethtool compat (Petr Oros) [1737527] - [net] devlink: create a special NDO for getting the devlink instance (Petr Oros) [1737527] - [net] devlink: Add WARN_ON to catch errors of not cleaning devlink objects (Petr Oros) [1737527] - [netdrv] s390/qeth: fix xmit_more support (Ivan Vecera) [1734516] - [netdrv] revert "[netdrv] gve: account for lack of netdev_xmit_more() definition (RHEL-only)" (Ivan Vecera) [1734516] - [netdrv] net/mlx5e: Fix wrong xmit_more application (Ivan Vecera) [1734516] - [include] net: use correct this_cpu primitive in dev_recursion_level (Ivan Vecera) [1734516] - [netdrv] drivers: net: aurora: use netdev_xmit_more helper (Ivan Vecera) [1734516] - [netdrv] drivers: net: sfc: use netdev_xmit_more helper (Ivan Vecera) [1734516] - [netdrv] drivers: mellanox: use netdev_xmit_more() helper (Ivan Vecera) [1734516] - [netdrv] net: move skb->xmit_more hint to softnet data (Ivan Vecera) [1734516] - [net] place xmit recursion in softnet data (Ivan Vecera) [1734516]- [netdrv] net: ena: clean up indentation issue (John Linville) [1770979] - [netdrv] net: ena: Select DIMLIB for ENA_ETHERNET (John Linville) [1770979] - [netdrv] net: ena: fix incorrect update of intr_delay_resolution (John Linville) [1770979] - [netdrv] net: ena: fix retrieval of nonadaptive interrupt moderation intervals (John Linville) [1770979] - [netdrv] net: ena: fix update of interrupt moderation register (John Linville) [1770979] - [netdrv] net: ena: remove all old adaptive rx interrupt moderation code from ena_com (John Linville) [1770979] - [netdrv] net: ena: remove ena_restore_ethtool_params() and relevant fields (John Linville) [1770979] - [netdrv] net: ena: remove old adaptive interrupt moderation code from ena_netdev (John Linville) [1770979] - [netdrv] net: ena: remove code duplication in ena_com_update_nonadaptive_moderation_interval _*() (John Linville) [1770979] - [netdrv] net: ena: enable the interrupt_moderation in driver_supported_features (John Linville) [1770979] - [netdrv] net: ena: reimplement set/get_coalesce() (John Linville) [1770979] - [netdrv] net: ena: switch to dim algorithm for rx adaptive interrupt moderation (John Linville) [1770979] - [netdrv] net: ena: add intr_moder_rx_interval to struct ena_com_dev and use it (John Linville) [1770979]- [fs] autofs: add ignore mount option (Ian Kent) [1743441] - [fs] autofs: improve ioctl sbi checks (Ian Kent) [1672133] - [crypto] crypto: ccp - Retry SEV INIT command in case of integrity check failure. (Gary Hook) [1767627] - [crypto] crypto: ccp - Verify access to device registers before initializing (Gary Hook) [1756867] - [crypto] crypto: ccp - Change a message to reflect status instead of failure (Gary Hook) [1756867] - [netdrv] ixgbevf: Bump version for RHEL 8.2.0 (Ken Cox) [1721701] - [netdrv] ixgbevf: Fix secpath usage for IPsec Tx offload (Ken Cox) [1721701] - [netdrv] ixgbevf: make array api static const, makes object smaller (Ken Cox) [1721701] - [netdrv] ixgbevf: Link lost in VM on ixgbevf when restoring from freeze or suspend (Ken Cox) [1721701] - [netdrv] ixgbevf: fix a compilation error of skb_frag_t (Ken Cox) [1721701] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721701] - [netdrv] ixgbevf: Use cached link state instead of re-reading the value for ethtool (Ken Cox) [1721701] - [netdrv] ixgbevf: fix possible divide by zero in ixgbevf_update_itr (Ken Cox) [1721701] - [netdrv] ixgbevf: fix a missing check of ixgbevf_write_msg_read_ack (Ken Cox) [1721701] - [infiniband] IB/hfi1: Use a common pad buffer for 9B and 16B packets (Honggang Li) [1719676] - [infiniband] IB/hfi1: Avoid excessive retry for TID RDMA READ request (Honggang Li) [1719676] - [infiniband] RDMA/hfi1: Prevent memory leak in sdma_init (Honggang Li) [1719676] - [infiniband] IB/hfi1: remove unlikely() from IS_ERR*() condition (Honggang Li) [1719676] - [infiniband] IB/hfi1: Define variables as unsigned long to fix KASAN warning (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Add a counter for credit waits (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add traces for TID RDMA READ (Honggang Li) [1719676] - [infiniband] infiniband: hfi1: fix memory leaks (Honggang Li) [1719676] - [infiniband] infiniband: hfi1: fix a memory leak bug (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop stale TID RDMA packets that cause TIDErr (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add additional checks when handling TID RDMA WRITE DATA packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add additional checks when handling TID RDMA READ RESP packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Unsafe PSN checking for TID RDMA READ Resp packet (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop stale TID RDMA packets (Honggang Li) [1719676] - [infiniband] IB/hfi1: Fix Spectre v1 vulnerability (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove unused define (Honggang Li) [1719676] - [infiniband] IB/hfi1: Do not update hcrc for a KDETH packet during fault injection (Honggang Li) [1719676] - [infiniband] IB/hfi1: Drop all TID RDMA READ RESP packets after r_next_psn (Honggang Li) [1719676] - [infiniband] IB/hfi1: Field not zero-ed when allocating TID flow memory (Honggang Li) [1719676] - [infiniband] IB/hfi1: Unreserve a flushed OPFN request (Honggang Li) [1719676] - [infiniband] IB/hfi1: Check for error on call to alloc_rsm_map_table (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix variable shadowing issue in rvt_create_cq (Honggang Li) [1719676] - [infiniband] RDMA/rvt: Do not use a kernel header in the ABI (Honggang Li) [1719676] - [infiniband] IB/hfi1: No need to use try_module_get for debugfs (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Add trace for map_mr_sg (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Enhance trace information for FRWR debug (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add missing INVALIDATE opcodes for trace (Honggang Li) [1719676] - [infiniband] IB/hfi1: Reduce excessive aspm inlines (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Add helpers to hide SWQE WR details (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1, qib}: Remove AH refcount for UD QPs (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Set QP allowed opcodes after QP allocation (Honggang Li) [1719676] - [infiniband] IB/{hfi1, qib, rdmavt}: Put qp in error state when cq is full (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fracture single lock used for posting and processing RWQEs (Honggang Li) [1719676] - [infiniband] IB/hfi1: Move receive work queue struct into uapi directory (Honggang Li) [1719676] - [infiniband] IB/hfi1: Move rvt_cq_wc struct into uapi directory (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Add new completion inline (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, qib, hfi1}: Convert to new completion API (Honggang Li) [1719676] - [infiniband] IB/hfi1: Spelling s/statisfied/satisfied/ (Honggang Li) [1719676] - [infiniband] IB/hfi1: Handle port down properly in pio (Honggang Li) [1719676] - [infiniband] IB/hfi1: Handle wakeup of orphaned QPs for pio (Honggang Li) [1719676] - [infiniband] IB/hfi1: Wakeup QPs orphaned on wait list after flush (Honggang Li) [1719676] - [infiniband] IB/hfi1: Use aborts to trigger RC throttling (Honggang Li) [1719676] - [infiniband] IB/hfi1: Create inline to get extended headers (Honggang Li) [1719676] - [infiniband] IB/hfi1: Silence txreq allocation warnings (Honggang Li) [1719676] - [infiniband] IB/hfi1: Avoid hardlockup with flushlist_lock (Honggang Li) [1719676] - [infiniband] IB/hfi1: Correct tid qp rcd to match verbs context (Honggang Li) [1719676] - [infiniband] IB/hfi1: Close PSM sdma_progress sleep window (Honggang Li) [1719676] - [infiniband] IB/hfi1: Validate fault injection opcode user input (Honggang Li) [1719676] - [infiniband] IB/hfi1: Use struct_size() helper (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Use struct_size() helper (Honggang Li) [1719676] - [infiniband] IB/hfi1: Validate page aligned for a given virtual address (Honggang Li) [1719676] - [infiniband] IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value (Honggang Li) [1719676] - [infiniband] IB/hfi1: Insure freeze_work work_struct is canceled on shutdown (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix alloc_qpn() WARN_ON() (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove set but not used variables 'offset' and 'fspsn' (Honggang Li) [1719676] - [infiniband] RDMA/rdmavt: Catch use-after-free access of AH structures (Honggang Li) [1719676] - [infiniband] IB/hfi1: Remove reference to RHF.VCRCErr (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add selected Rcv counters (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, qib, hfi1}: Use new routine to release reference counts (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Use more efficient allowed_ops (Honggang Li) [1719676] - [infiniband] IB/rdmavt: Fix ab/ba include issues (Honggang Li) [1719676] - [infiniband] IB/hfi1: Make opfn.h self sufficient (Honggang Li) [1719676] - [infiniband] IB/{rdmavt, hfi1): Miscellaneous comment fixes (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add debugfs to control expansion ROM write protect (Honggang Li) [1719676] - [infiniband] hfi1: Convert hfi1_unit_table to XArray (Honggang Li) [1719676] - [infiniband] hfi1: Convert vesw_idr to XArray (Honggang Li) [1719676] - [infiniband] RDMA/rdmavt: Use correct sizing on buffers holding page DMA addresses (Honggang Li) [1719676] - [infiniband] IB/hfi1: Fix two format strings (Honggang Li) [1719676] - [infiniband] IB/hfi1: Add running average for adaptive pio (Honggang Li) [1719676] - [infiniband] mm: replace all open encodings for NUMA_NO_NODE (Honggang Li) [1719676] - [infiniband] drivers/IB,hfi1: do not se mmap_sem (Honggang Li) [1719676] - [infiniband] IB/hfi1: Suppress a compiler warning (Honggang Li) [1719676] - [scsi] qla2xxx: Update driver version (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: don't use zero for FC4_PRIORITY_NVME (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: initialize fc4_type_priority (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: fix NPIV tear down process (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Remove an include directive (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix device connect issues in P2P configuration (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Improve logging for scan thread (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Capture FW dump on MPI heartbeat stop event (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Check for MB timeout while capturing ISP27/28xx FW dump (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Set remove flag for all VP (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Add error handling for PLOGI ELS passthrough (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Dual FCP-NVMe target port support (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix a dma_pool_free() call (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix memory leak when sending I/O fails (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix driver unload hang (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix SRB leak on switch command timeout (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix double scsi_done for abort path (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Do command completion on abort timeout (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Reduce the number of forward declarations (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: fixup incorrect usage of host_byte (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Fix partial flash write of MBI (Himanshu Madhani) [1763248] - [scsi] scsi: qla2xxx: Remove WARN_ON_ONCE in qla2x00_status_cont_entry() (Himanshu Madhani) [1763248] - [scsi] qla2xxx: Fix conflict_port check for NULL (Himanshu Madhani) [1763248] - [netdrv] Bump version for RHEL 8.2.0 (Ken Cox) [1721700] - [netdrv] ixgbe: Fix secpath usage for IPsec TX offload. (Ken Cox) [1721700] - [netdrv] ixgbe: fix double clean of Tx descriptors with xdp (Ken Cox) [1721700] - [netdrv] ixgbe: Prevent u8 wrapping of ITR value to something less than 10us (Ken Cox) [1721700] - [netdrv] ixgbe: use skb_get_queue_mapping in tx path (Ken Cox) [1721700] - [netdrv] ixgbe: fix memory leaks (Ken Cox) [1721700] - [netdrv] ixgbe: sync the first fragment unconditionally (Ken Cox) [1721700] - [netdrv] ixgbe: Use kzfree() rather than its implementation. (Ken Cox) [1721700] - [netdrv] ixgbe: simplify Rx buffer recycle (Ken Cox) [1721700] - [netdrv] ixgbe: no need to check return value of debugfs_create functions (Ken Cox) [1721700] - [netdrv] ixgbe: fix possible deadlock in ixgbe_service_task() (Ken Cox) [1721700] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721700] - [netdrv] ixgbe: fix potential u32 overflow on shift (Ken Cox) [1721700] - [netdrv] ixgbe: Avoid NULL pointer dereference with VF on non-IPsec hw (Ken Cox) [1721700] - [netdrv] ixgbe: Check DDM existence in transceiver before access (Ken Cox) [1721700] - [netdrv] ixgbe: implement support for SDP/PPS output on X550 hardware (Ken Cox) [1721700] - [netdrv] ixgbe: Use LLDP ethertype define ETH_P_LLDP (Ken Cox) [1721700] - [netdrv] ixgbe: add a kernel documentation comment for ixgbe_ptp_get_ts_config (Ken Cox) [1721700] - [netdrv] ixgbe: use 'cc' instead of 'hw_cc' for local variable (Ken Cox) [1721700] - [netdrv] ixgbe: fix PTP SDP pin setup on X540 hardware (Ken Cox) [1721700] - [netdrv] ixgbe: reduce PTP Tx timestamp timeout to 1 second (Ken Cox) [1721700] - [netdrv] ixgbe: fix AF_XDP tx packet count (Ken Cox) [1721700] - [netdrv] ixgbe: fix AF_XDP tx byte count (Ken Cox) [1721700] - [netdrv] ixgbe: remove umem from adapter (Ken Cox) [1721700] - [netdrv] ixgbe: add tracking of AF_XDP zero-copy state for each queue pair (Ken Cox) [1721700] - [netdrv] ixgbe: fix mdio bus registration (Ken Cox) [1721700] - [netdrv] nfp: bpf: implement jitting of JMP32 (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: support removing dead code (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: support optimizing dead branches (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: save original program length (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: split up the skip flag (Pablo Cascon) [1729067] - [netdrv] nfp: bpf: don't use instruction number for jump target (Pablo Cascon) [1729067] - [scsi] scsi: target: iscsi: rename some variables to avoid confusion. (Maurizio Lombardi) [1769801] - [scsi] scsi: target: iscsi: tie the challenge length to the hash digest size (Maurizio Lombardi) [1769801] - [scsi] scsi: target: iscsi: CHAP: add support for SHA1, SHA256 and SHA3-256 (Maurizio Lombardi) [1769801] - [scsi] scsi: target: compare full CHAP_A Algorithm strings (Maurizio Lombardi) [1769801] - [arm64] arm64: topology: Use PPTT to determine if PE is a thread (Jeremy Linton) [1721297] - [acpi] ACPI/PPTT: Add support for ACPI 6.3 thread flag (Jeremy Linton) [1721297] - [acpi] ACPI / LPSS: Save/restore LPSS private registers also on Lynxpoint (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [documentation] docs: fix numaperf.rst and add it to the doc tree (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Rename arm_smmu_v3_set_proximity() 'node' local variable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [misc] h8300: pci: Remove local declaration of pcibios_penalize_isa_irq (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [mm] mmc: sdhci-acpi: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [ata] ata: pata_acpi: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [gpu] vga-switcheroo: make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: intel_ips: make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: intel_pmc: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: apple-gmux: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/intel/lpss: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/Kconfig: Select PCI_LOCKLESS_CONFIG if PCI is enabled (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [mfd] mfd: Fix unmet dependency warning for MFD_TPS68470 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] drivers/acpi/scan.c: document why we don't need the device_hotplug_lock (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Fix regression in acpi_device_set_power() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix off-by-one check in iort_dev_find_its_id() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: video: Add new hw_changes_brightness quirk, set it on PB Easynote MZ35 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: blacklist: fix clang warning for unused DMI table (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPICA: Update table load object initialization" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Make acpi_sleep_state_supported() non-static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove needless __ghes_check_estatus() calls (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Unexport acpi_device_get_power() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI / ACPI: Use cached ACPI device state to get PCI device power state (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190703 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update table load object initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for object initialization sequence (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: remove legacy module-level code due to deprecation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: simplify creation of the initial/default namespace (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: intel: Drop double removal of address space handler (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APD: remove redundant assignment to pointer clk (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Introduce "poweroff" callbacks for ACPI PM domain and LPSS (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Simplify and fix PM domain hibernation callbacks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PM: ACPI/PCI: Resume all devices during hibernation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI: PM/ACPI: Refresh all stale power state data in pci_pm_complete() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Modify node flag detection to find last IDENTICAL (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Introduce concept of a _PR0 dependent device (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Allow transitions to D0 to occur in special cases (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Avoid evaluating _PS3 on transitions from D3hot to D3cold (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: utils: Cleanup acpi_dev_match_cb (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Make AC and battery drivers available on !X86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] coresight: acpi: Support for AMBA components (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of GPEs on first direct enable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: configfs: Resolve objects on host-directed table loads (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: tables: Allow BGRT to be overridden (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / sleep: Switch to use acpi_dev_get_first_match_dev() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] gpio: merrifield: Fix build err without CONFIG_ACPI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: OSL: Make a W=1 kernel-doc warning go away (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: Don't limit named child node matching to data nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPIT: Correct LPIT end address for lpit_process() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/irq: Implement helper to create hierachical domains (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Add memory-side caching attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Add heterogenous memory access attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] node: Link memory nodes to their compute nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [documentation] doc/mm: New documentation for memory performance (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Call pm_set_suspend_via_firmware() during hibernation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PCI: PM: Add missing wakeup.flags.valid checks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix build error when IOMMU_SUPPORT is disabled (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Set enable_for_wake for wakeup GPEs during suspend-to-idle (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190509 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Linux: move ACPI_DEBUG_DEFAULT flag out of ifndef (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: bus: change _ADR representation to 64 bits (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: fix handling of data_nodes in acpi_get_next_subnode() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: fix an uninitialized memory_target (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Update acpi_hmat_type enum with ACPI_HMAT_TYPE_PROXIMITY (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: fix memory leaks in hmat_init() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Check ATS capability in root complex nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / DPTF: Use dev_get_drvdata() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: event: replace strcpy() by strscpy() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Use acpi_lpss_* instead of acpi_subsys_* functions for hibernate (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Reject platform device creation on NUMA node mapping failure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: button: reinitialize button state upon resume (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190405 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: add check to avoid null pointer dereference (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190329 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: utilities: fix spelling of PCC to platform_comm_channel (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg length macro/define for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg compare macro for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename nameseg copy macro for clarity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Print debug messages when enabling GPEs for wakeup (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register memory side cache attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register performance attributes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Register processor domain to its memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi/hmat: Parse and report heterogeneous memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: Add HMAT to generic parsing tables (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi: Create subtable parsing infrastructure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [arm64] arm64: numa: rework ACPI NUMA initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Add support for PMCG (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: video: Use vendor backlight on Sony VPCEH3U1E (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / utils: Remove deprecated function since no user left (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: Clean up whitespace (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Add labels for PNP button devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Simplify acpi_bus_extract_wakeup_device_power_package() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Fix comment typos (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPICA: Clear status of GPEs before enabling them" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Namespace: remove address node from global list after method termination (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of GPEs before enabling them (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: use different default debug value than ACPICA (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / utils: Drop reference in test for device presence (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: sysfs: Prevent get_status() from returning acpi_status (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / device_sysfs: Avoid OF modalias creation for removed device (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / configfs: Mark local data structures static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / configfs: Mark local functions static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: tables: Simplify PPTT leaf node detection (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / bus: Respect PRP0001 when retrieving device match data (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190215 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add GTDT Revision 3 support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: HMAT updates (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: PPTT add additional fields in Processor Structure Flags (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add Error Disconnect Recover Notification value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: MADT: add support for statistical profiling in GICC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: add PCC operation region support for AML interpreter (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [clk] clk: x86: Move clk-lpss.h to platform_data/x86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APEI: Fix possible out-of-bounds access to BERT region (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / processor: Set P_LVL{2, 3sc] } idle state descriptions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / CPPC: Add a helper to get desired performance (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: SRAT: add Generic Affinity Structure subtable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: Add Trigger order to PCC Identifier structure in PDTT (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: ACPI 6.3: Adding predefined methods _NBS, _NCH, _NIC, _NIH, and _NIG (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update/clarify messages for control method failures (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: Fix possible fault with the "test objects" command (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Interpreter: Emit warning for creation of a zero-length op region (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove legacy module-level code support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: Make PWM2 device always present at Lenovo Yoga Book (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / video: Extend chassis-type detection with a "Lunch Box" check (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / video: Refactor and fix dmi_is_desktop() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Add support for the SDEI GHES Notification type (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [firmware] firmware: arm_sdei: Add ACPI GHES registration helper (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/PPTT: Add acpi_pptt_warn_missing() to consolidate logs (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Use separate fixmap pages for arm64 NMI-like notifications (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_entry() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Split ghes_read_estatus() to allow a peek at the CPER length (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make GHES estatus header validation more user friendly (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Pass ghes and estatus separately to avoid a later copy (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Let the notification helper specify the fixmap slot (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Move locking to the notification helper (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Switch NOTIFY_SEA to use the estatus queue (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Move NOTIFY_SEA between the estatus-queue and NOTIFY_NMI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't allow ghes_ack_error() to mask earlier errors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Generalise the estatus queue's notify code (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't update struct ghes' flags in read/clear estatus (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove spurious GHES_TO_CLEAR check (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't store CPER records physical address in struct ghes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make estatus pool allocation a static size (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Make hest.c manage the estatus memory pool (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Switch estatus pool to use vmalloc memory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Remove silent flag from ghes_read_estatus() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Don't wait to serialise with oops messages when panic()ing (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Set debug output flags independent of ACPICA (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Get rid of acpi_sleep_dispatch() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for BSG2150 ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPI / EC: Remove old CLEAR_ON_RESUME quirk" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Simplify boot EC checks in acpi_ec_add() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Eliminate acpi_config_boot_ec() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Make acpi_ec_dsdt_probe() more straightforward (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Make acpi_ec_ecdt_probe() more straightforward (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Declare boot_ec as static (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / DPTF: remove header search path to the parent directory (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Clean up probing for early EC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: debug: Clean up acpi_aml_init() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: no need to check return value of debugfs_create functions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC: Look for ECDT EC after calling acpi_load_tables() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make PCI dependency explicit (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20190108 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: All acpica: Update copyrights to 2019 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpiexec: Add option to dump extra info for memory leaks (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Convert more ACPI errors to firmware errors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: APEI: EINJ: Use DEFINE_DEBUGFS_ATTRIBUTE for debugfs files (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / APEI: Fix parsing HEST that includes Deferred Machine Check subtable (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: table override from built-in initrd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] APEI / ERST: Switch to use new generic UUID API (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Add generic intel_soc_pmic_exec_mipi_pmic_seq_element handling (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix build when CONFIG_IOMMU_API=n (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Fix TS-pin current-source handling (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: NUMA: Use correct type for printing addresses on i386-PAE (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: power: Skip duplicate power resource references in _PRx (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Fix build failure when CONFIG_NLS is set to 'n' (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: Add an ifdef around amlcode and dsdt_amlcode (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Make PCI slot detection driver depend on PCI (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Stub out ACS functions when CONFIG_PCI is not set (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSI: Add OEM _OSI string to enable dGPU direct output (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: PM: Loop in full LPS0 mode only (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Don't call iommu_ops->add_device directly (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Use device_iommu_mapped() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Use helper functions to access dev->iommu_fwspec (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] driver core: Introduce device_iommu_mapped() function (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu/sysfs: Rename iommu_release_device() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu: Consolitate ->add/remove_device() calls (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [iommu] iommu: Introduce wrappers around dev->iommu_fwspec (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / tables: add DSDT AmlCode new declaration name support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181213 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: change coding style to match ACPICA, no functional change (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debug output: Add option to display method/object evaluation (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: disassembler: disassemble OEMx tables as AML (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Add "Windows 2018.2" string in the _OSI support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Expressions in package elements are not supported (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update buffer-to-string conversions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: add comments, no functional change (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove defines that use deprecated flag (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Add "Windows 2018" string in the _OSI support (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [pci] PCI: Remove unused attr variable in pci_dma_configure (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Refactor _CCA enforcement (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Ignore acpi_device_fix_up_power() return value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI, APEI, EINJ: Change to use DEFINE_SHOW_ATTRIBUTE macro (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for INT3515 ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI/IORT: Fix iort_get_platform_device_domain() uninitialized pointer value (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: SPCR: Consider baud rate 0 as preconfigured state (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / glue: Add acpi_platform_notify() function (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [drivers] drivers core: Prepare support for multiple platform notifications (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / platform: Add SMB0001 HID to forbidden_id_list (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Fix handling of buffer-size in acpi_ex_write_data_to_field() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181031 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: iASL: Enhance error detection (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: iASL: adding definition and disassembly for TPM2 revision 3 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: refactor to fix unused variable warning (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: fix IOSF_MBI dependency (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Add depends on IOSF_MBI to Kconfig entry (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: xpower: Block P-Unit I2C access during read-modify-write (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [include] PM / Domains: Document flags for genpd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for INT33FE ACPI nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSL: Use 'jiffies' as the time bassis for acpi_os_get_timer() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: probe ECDT before loading AML tables regardless of module-level code flag (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Remove acpi_gbl_group_module_level_code and only use acpi_gbl_execute_tables_as_methods instead (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended opcodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: AML interpreter: add region addresses in global list during initialization (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: TAD: Add low-level support for real time capability (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Export acpi_device_get_power() for use by modular build drivers (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: remove redundant 'default n' from Kconfig (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / SBS: Fix rare oops when removing modules (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / SBS: Fix GPE storm on recent MacBookPro's (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20181003 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Never run _REG on system_memory and system_IO (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Split large interpreter file (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for field unit access (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Rename some of the Field Attribute defines (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update for generic_serial_bus and attrib_raw_process_bytes protocol (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / processor: Fix the return value of acpi_processor_ids_walk() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Resume BYT/CHT I2C controllers from resume_noirq (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add a device link from the GPU to the BYT I2C5 controller (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add a device link from the GPU to the CHT I2C7 controller (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make acpi_lpss_find_device() also find PCI devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make hid_uid_match helper accept a NULL uid argument (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Make hid_uid_match helper take an acpi_device as first argument (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] acpi:ipmi: Convert ipmi_user_t to struct ipmi_user 0001-x86-smp-fix-non-SMP-broken-build-due-to-redefinition.patch brew_job bzlist bzlist-v2 run.sh testing_desc v4-notes v5-notes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Exclude I2C busses shared with PUNIT from pmc_atom_d3_mask (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Convert drivers to use SPDX identifier (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: Sort headers alphabetically (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / property: Switch to bitmap_zalloc() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: custom_method: remove meaningless null check before debugfs_remove() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / LPSS: Force LPSS quirks on boot (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / bus: Only call dmi_check_system() on X86 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: fix menuconfig presentation of ACPI submenu (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] xen/ACPI: don't upload Px/Cx data for disabled processors (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [x86] x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PMIC: CrystalCove: Extend PMOP support to support all possible fields (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Clear status of all events when entering sleep states (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20180810 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpiexec: fix a small memory leak regression (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Reference count: add additional debugging details (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: acpi_exec: fixing -fi option (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Debugger: Cleanup interface to the AML disassembler (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Utilities: split hex detection into smaller functions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update an error message for a duplicate table (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [platform] platform/x86: Add ACPI i2c-multi-instantiate pseudo driver (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [kernel] PM / reboot: Eliminate race between reboot and suspend (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: utils: Remove status workaround from acpi_device_always_present() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Create platform device for fwnodes with multiple i2c devices (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Initialize status to ACPI_STA_DEFAULT (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: bus: Fix a pointer coding style issue (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] arm64 / ACPI: clean the additional checks before calling ghes_notify_sea() (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / scan: Add static attribute to indirect_io_hosts[] (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: get rid of negations in conditions (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: use specialized print macros (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: reorder headers alphabetically (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / battery: drop inclusion of init.h (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: battery: remove redundant old_present check on insertion (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Use data node name and reg property for graphs (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Allow direct graph endpoint references (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Make the ACPI graph API private (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: property: Allow making references to non-device nodes (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI: Convert ACPI reference args to generic fwnode reference args (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] Revert "ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: save NVS memory for ASUS 1025C laptop (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / button: fix defined but not used warning (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Update version to 20180629 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Revert "iASL compiler: allow compilation of externals with paths that refer to existing names" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness" (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / x86: enable touchscreen on Dell Venue Pro 7139 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / PM: Default to s2idle in all machines supporting LP S0 (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [acpi] ACPI / button: increment wakeup count only when notified (Al Stone) [1754787 1739728 1730098 1721297 1664185] - [powerpc] powerpc/papr_scm: Fix an off-by-one check in papr_scm_meta_{get, set} (Gustavo Duarte) [1731035] - [nvdimm] libnvdimm/altmap: Track namespace boundaries in altmap (Gustavo Duarte) [1731035] - [powerpc] powerpc/nvdimm: Pick nearby online node if the device node is not online (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Force a scm-unbind if initial scm-bind fails (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Update drc_pmem_unbind() to use H_SCM_UNBIND_ALL (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: Update SCM hcall op-codes in hvcall.h (Gustavo Duarte) [1731035] - [mm] mm/nvdimm: add is_ioremap_addr and use that to check ioremap address (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries/scm: Use a specific endian format for storing uuid from the device tree (Gustavo Duarte) [1731035] - [powerpc] powerpc/nvdimm: Add support for multibyte read/write for metadata (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries/scm: Mark the region volatile if cache flush not required (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/nvdimm: Add an informative message if we fail to allocate altmap block (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Consolidate numa_enable check and min_common_depth check (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Fix node look up with numa=off boot (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/drconf: Use NUMA_NO_NODE on failures instead of node 0 (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/radix: Use the right page size for vmemmap mapping (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm/hash/4k: Don't use 64K page size for vmemmap with 4K pagesize (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use the correct bind address (Gustavo Duarte) [1731035] - [powerpc] powerpc/mm: Fallback to RAM if the altmap is unusable (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use ibm, unit-guid as the iset cookie (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Fix DIMM device registration race (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Remove endian conversions (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Update DT properties (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Fix resource end address (Gustavo Duarte) [1731035] - [powerpc] powerpc/papr_scm: Use depend instead of select (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: Add driver for PAPR SCM regions (Gustavo Duarte) [1731035] - [powerpc] powerpc/pseries: PAPR persistent memory support (Gustavo Duarte) [1731035] - [mm] mm, vmstat: reduce zone->lock holding time by /proc/pagetypeinfo (Waiman Long) [1770314] - [mm] mm, vmstat: hide /proc/pagetypeinfo from normal users (Waiman Long) [1770314] - [crypto] crypto: chtls - remove cdev_list_lock (Neil Horman) [1737078] - [crypto] crypto/chelsio/chtls: listen fails with multiadapt (Neil Horman) [1737078] - [tools] cpupower : Handle set and info subcommands correctly (Steve Best) [1769973] - [s390] s390/qeth: use IQD Multi-Write (Philipp Rudo) [1731028] - [s390] s390/qdio: implement IQD Multi-Write (Philipp Rudo) [1731028] - [s390] s390/qeth: add xmit_more support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: add BQL support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: when in TX NAPI mode, use napi_consume_skb() (Philipp Rudo) [1731028] - [s390] s390/qeth: add TX NAPI support for IQD devices (Philipp Rudo) [1731028] - [s390] s390/qeth: collect accurate TX statistics (Philipp Rudo) [1731028] - [s390] s390/qdio: let drivers opt-out from Output Queue scanning (Philipp Rudo) [1731028] - [s390] s390/qdio: enable drivers to poll for Output completions (Philipp Rudo) [1731028] - [usb] xhci-pci: allow host runtime PM as default for Intel Alpine and Titan Ridge (Myron Stowe) [1769877] - [x86] x86/atomic: Fix smp_mb__{before,after}_atomic() (Prarit Bhargava) [1769789] - [kernel] stacktrace: Don't skip first entry on noncurrent tasks (Waiman Long) [1766681] - [kernel] tracing: Fix user stack trace "??" output (Waiman Long) [1766681] - [kernel] tracing: Fix out-of-range read in trace_stack_print() (Waiman Long) [1766681] - [kernel] stacktrace: Constify 'entries' arguments (Waiman Long) [1766681] - [kernel] stacktrace: Force USER_DS for stack_trace_save_user() (Waiman Long) [1766681] - [x86] x86/stacktrace: Prevent infinite loop in arch_stack_walk_user() (Waiman Long) [1766681] - [kernel] stacktrace: Use PF_KTHREAD to check for kernel threads (Waiman Long) [1766681] - [kernel] stacktrace: Unbreak stack_trace_save_tsk_reliable() (Waiman Long) [1766681] - [x86] x86/stacktrace: Use common infrastructure (Waiman Long) [1766681] - [kernel] stacktrace: Keep stack_trace structure and remove snprint_stack_trace() (Waiman Long) [1766681] - [kernel] stacktrace: Provide common infrastructure (Waiman Long) [1766681] - [kernel] livepatch: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] tracing: Remove the last struct stack_trace usage (Waiman Long) [1766681] - [kernel] tracing: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] tracing: Make ftrace_trace_userstack() static and conditional (Waiman Long) [1766681] - [kernel] tracing: Use percpu stack trace buffer more intelligently (Waiman Long) [1766681] - [kernel] tracing: Simplify stacktrace retrieval in histograms (Waiman Long) [1766681] - [kernel] lockdep: Remove save argument from check_prev_add() (Waiman Long) [1766681] - [kernel] lockdep: Remove unused trace argument from print_circular_bug() (Waiman Long) [1766681] - [drm] drm: Simplify stacktrace handling (Waiman Long) [1766681] - [md] dm persistent data: Simplify stack trace handling (Waiman Long) [1766681] - [md] dm bufio: Simplify stack trace retrieval (Waiman Long) [1766681] - [fs] btrfs: ref-verify: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] dma/debug: Simplify stracktrace retrieval (Waiman Long) [1766681] - [lib] fault-inject: Simplify stacktrace retrieval (Waiman Long) [1766681] - [mm] mm/page_owner: Simplify stack trace handling (Waiman Long) [1766681] - [mm] mm/kmemleak: Simplify stacktrace handling (Waiman Long) [1766681] - [mm] mm/slub: Simplify stack trace retrieval (Waiman Long) [1766681] - [kernel] latency_top: Simplify stack trace handling (Waiman Long) [1766681] - [fs] proc: Simplify task stack retrieval (Waiman Long) [1766681] - [kernel] backtrace-test: Simplify stack trace handling (Waiman Long) [1766681] - [lib] lib/stackdepot: Provide functions which operate on plain storage arrays (Waiman Long) [1766681] - [kernel] stacktrace: Provide helpers for common stack trace operations (Waiman Long) [1766681] - [kernel] tracing: Cleanup stack trace code (Waiman Long) [1766681] - [kernel] tracing: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [drm] drm: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] latency_top: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/kasan: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/page_owner: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [mm] mm/slub: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] lockdep: Remove the ULONG_MAX stack trace hackery (Waiman Long) [1766681] - [kernel] s390/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] parisc/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] arm64/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] riscv/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] unicore32/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] sh/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] arm/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] [x86] x86/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [kernel] um/stacktrace: Remove the pointless ULONG_MAX marker (Waiman Long) [1766681] - [mm] mm/page_owner: clamp read count to PAGE_SIZE (Waiman Long) [1766681] - [kernel] tracing: Export trace_dump_stack to modules (Waiman Long) [1766681] - [kernel] tracing: Have stack tracer trace full stack (Waiman Long) [1766681] - [kernel] trace: Use rcu_dereference_raw for hooks from trace-event subsystem (Waiman Long) [1766681] - [kernel] tracing: Have trace_stack nr_entries compare not be so subtle (Waiman Long) [1766681] - [cpuidle] cpuidle: governor: Add new governors to cpuidle_governors again (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: do not set an owner to allow modunload (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: set haltpoll as preferred governor (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: allow governor switch on cpuidle_register_driver() (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: Add cpuidle.governor= command line parameter (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: vcpu hotplug support (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: disable host side polling when kvm virtualized (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: add haltpoll governor (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: header file stubs must be "static inline" (Marcelo Tosatti) [1759282] - [cpuidle] governors: unify last_state_idx (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: add poll_limit_ns to cpuidle_device structure (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Fix default time limit (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Disregard disable idle states (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: poll_state: Revise loop termination condition (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle: menu: Fix wakeup statistics updates for polling state (Marcelo Tosatti) [1759282] - [cpuidle] cpuidle-haltpoll: return -ENODEV on modinit failure (Marcelo Tosatti) [1759282] - [cpuidle] add cpuidle-haltpoll driver (Marcelo Tosatti) [1759282] - [mm] mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE (Baoquan He) [1756210] - [x86] x86, efi: never relocate kernel below lowest acceptable address (Kairui Song) [1747367] - [fs] CIFS: Force reval dentry if LOOKUP_REVAL flag is set (Dave Wysochanski) [1767664] - [fs] CIFS: Force revalidate inode when dentry is stale (Dave Wysochanski) [1767664] - [fs] CIFS: Gracefully handle QueryInfo errors during open (Dave Wysochanski) [1767664] - [block] blk-mq: make sure that line break can be printed (Ming Lei) [1741462] - [block] blk-mq: avoid sysfs buffer overflow with too many CPU cores (Ming Lei) [1741462] - [netdrv] bnx2x: Fix VF's VLAN reconfiguration in reload. (Manish Chopra) [1720393] - [netdrv] bnx2x: Prevent ptp_task to be rescheduled indefinitely (Manish Chopra) [1720393] - [netdrv] bnx2x: Check if transceiver implements DDM before access (Manish Chopra) [1720393] - [fs] xfs: allocate xattr buffer on demand (Eric Sandeen) [1684599] - [fs] xfs: consolidate attribute value copying (Eric Sandeen) [1684599] - [fs] xfs: move remote attr retrieval into xfs_attr3_leaf_getvalue (Eric Sandeen) [1684599] - [fs] xfs: remove unnecessary indenting from xfs_attr3_leaf_getvalue (Eric Sandeen) [1684599] - [fs] xfs: make attr lookup returns consistent (Eric Sandeen) [1684599] - [i2c] i2c: i801: Add support for Intel Comet Lake (David Arcari) [1761547] - [powerpc] powerpc/xmon: Improve output of XIVE interrupts (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Fix output of XIVE IPI (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Add a dump of all XIVE interrupts (Diego Domingos) [1731130] - [powerpc] powerpc/xive: Fix dump of XIVE interrupt under pseries (Diego Domingos) [1731130] - [powerpc] powerpc/xmon: Check for HV mode when dumping XIVE info from OPAL (Diego Domingos) [1731130] - [fs] xfs: convert inode to extent format after extent merge due to shift (Brian Foster) [1745253] - [mmc] mmc: sdhci-pci: Add support for Intel CML (Alexander Beregalov) [1761593] - [powerpc] powerpc/mm/mce: Keep irqs disabled during lockless page table walk (Gustavo Duarte) [1524649] - [tools] seltests/powerpc: Add a selftest for memcpy_mcsafe (Gustavo Duarte) [1524649] - [powerpc] powerpc/memcpy: Fix stack corruption for smaller sizes (Gustavo Duarte) [1524649] - [powerpc] powerpc: add machine check safe copy_to_user (Gustavo Duarte) [1524649] - [powerpc] powerpc/memcpy: Add memcpy_mcsafe for pmem (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Handle UE event for memcpy_mcsafe (Gustavo Duarte) [1524649] - [kernel] extable: Add function to search only kernel exception table (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Make machine_check_ue_event() static (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Fix MCE handling for huge pages (Gustavo Duarte) [1524649] - [powerpc] powerpc/mce: Schedule work from irq_work (Gustavo Duarte) [1524649] - [x86] x86/boot/64: Round memory hole size up to next PMD page (Frank Ramsay) [1755602] - [x86] x86/boot/64: Make level2_kernel_pgt pages invalid outside kernel area (Frank Ramsay) [1755602] - [idle] intel_idle: add support for Jacobsville (Steve Best) [1481744] - [powercap] powercap/intel_rapl: add support for ICX (Steve Best) [1724421] - [block] blk-mq: apply normal plugging for HDD (Ming Lei) [1759380] - [block] blk-mq: honor IO scheduler for multiqueue devices (Ming Lei) [1759380] - [block] blk-mq: simplify blk_mq_make_request() (Ming Lei) [1759380] - [block] blk-mq: remove blk_mq_put_ctx() (Ming Lei) [1759380] - [nvdimm] libnvdimm: Enable unit test infrastructure compile checks (Jeff Moyer) [1724965] - [nvdimm] libnvdimm: Use PAGE_SIZE instead of SZ_4K for align check (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/label: Remove the dpa align check (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn_dev: Add page size and struct page size to pfn superblock (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn_dev: Add a build check to make sure we notice when struct page size change (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pmem: Advance namespace seed for specific probe errors (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/region: Rewrite _probe_success() to _advance_seeds() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Consolidate 'security' operations (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Tighten scope of nvdimm->busy vs security operations (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/security: Introduce a 'frozen' attribute (Jeff Moyer) [1724965] - [nvdimm] libnvdimm, region: Use struct_size() in kzalloc() (Jeff Moyer) [1724965] - [tools] tools/testing/nvdimm: Fix fallthrough warning (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/of_pmem: Provide a unique name for bus provider (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Fix wait_nvdimm_bus_probe_idle() ABBA deadlock (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Stop holding nvdimm_bus_list_mutex over __nd_ioctl() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Prepare the nd_ioctl() path to be re-entrant (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/region: Register badblocks before namespaces (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/bus: Prevent duplicate device_unregister() calls (Jeff Moyer) [1724965] - [drivers] drivers/base: Introduce kill_device() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm, namespace: Drop uuid_t implementation detail (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'resource' attribute (Jeff Moyer) [1724965] - [dax] device-dax: Drop register_filesystem() (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/pmem: Bypass CONFIG_HARDENED_USERCOPY overhead (Jeff Moyer) [1724965] - [nvdimm] libnvdimm: Fix compilation warnings with W=1 (Jeff Moyer) [1724965] - [nvdimm] libnvdimm/namespace: Fix label tracking error (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'modalias' attribute to DAX 'bus' devices (Jeff Moyer) [1724965] - [dax] device-dax: Add a 'target_node' attribute (Jeff Moyer) [1724965] - [dax] device-dax: Auto-bind device after successful new_id (Jeff Moyer) [1724965] - [dax] acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node (Jeff Moyer) [1724965] - [dax] device-dax: Add /sys/class/dax backwards compatibility (Jeff Moyer) [1724965] - [dax] device-dax: Add support for a dax override driver (Jeff Moyer) [1724965] - [dax] device-dax: Move resource pinning+mapping into the common driver (Jeff Moyer) [1724965] - [dax] device-dax: Introduce bus + driver model (Jeff Moyer) [1724965] - [dax] device-dax: Start defining a dax bus model (Jeff Moyer) [1724965] - [dax] device-dax: Remove multi-resource infrastructure (Jeff Moyer) [1724965] - [dax] device-dax: Kill dax_region base (Jeff Moyer) [1724965] - [dax] device-dax: Kill dax_region ida (Jeff Moyer) [1724965] - [kernel] memremap: Convert to XArray (Jeff Moyer) [1724965] - [drivers] drivers/dax/device.c: convert variable to vm_fault_t type (Jeff Moyer) [1724965] - [drivers] driver core: Rewrite test_async_driver_probe to cover serialization and NUMA affinity (Jeff Moyer) [1724965] - [drivers] libnvdimm: Schedule device registration on node local to the device (Jeff Moyer) [1724965] - [drivers] PM core: Use new async_schedule_dev command (Jeff Moyer) [1724965] - [drivers] driver core: Attach devices on CPU local to device node (Jeff Moyer) [1724965] - [kernel] async: Add support for queueing on specific NUMA node (Jeff Moyer) [1724965] - [kernel] workqueue: Provide queue_work_node to queue work near a given NUMA node (Jeff Moyer) [1724965] - [drivers] driver core: Probe devices asynchronously instead of the driver (Jeff Moyer) [1724965] - [drivers] device core: Consolidate locking and unlocking of parent and device (Jeff Moyer) [1724965] - [drivers] driver core: Establish order of operations for device_add and device_del via bitflag (Jeff Moyer) [1724965] - [drivers] driver core: Add missing dev->bus->need_parent_lock checks (Jeff Moyer) [1724965] - [drivers] driver core: Move async_synchronize_full call (Jeff Moyer) [1724965]- [scsi] scsi: qedi: update driver version to 8.37.0.20 (Nilesh Javali) [1724588] - [scsi] scsi: qedi: Check targetname while finding boot target information (Nilesh Javali) [1724588] - [scsi] scsi: qedi: remove set but not used variables 'cdev' and 'udev' (Nilesh Javali) [1724588] - [scsi] scsi: qedi: remove memset/memcpy to nfunc and use func instead (Nilesh Javali) [1724588] - [scsi] qedi: Use hwfns and affin_hwfn_idx to get MSI-X vector index (Nilesh Javali) [1724588] - [scsi] scsi: qedf: Update the version to 8.42.3.0 (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Fix race betwen fipvlan request and response path (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Use discovery list to traverse rports (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Decrease the LL2 MTU size to 2500 (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Check for module unloading bit before processing link update AEN (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Initiator fails to re-login to switch after link down (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add debug information for unsolicited processing (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add support for 20 Gbps speed (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Interpret supported caps value correctly (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Add shutdown callback handler (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Update module description string (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Fix crash during sg_reset (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Stop sending fipvlan request on unload (Nilesh Javali) [1724589] - [scsi] scsi: qedf: Print message during bailout conditions (Nilesh Javali) [1724589] - [scsi] qedf: Use hwfns and affin_hwfn_idx to get MSI-X vector index to use (Nilesh Javali) [1724589] - [scsi] scsi: bnx2fc: Handle scope bits when array returns BUSY or TSF (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variables 'task', 'port', 'orig_task' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variables 'lport', 'host' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: remove set but not used variable 'fh' (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix bnx2fc_cmd refcount imbalance in send_srr (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix bnx2fc_cmd refcount imbalance in send_rec (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Update the driver version to 2.12.10 (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Limit the IO size according to the FW capability (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Do not allow both a cleanup completion and abort completion for the same request (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Separate out completion flags and variables for abort and cleanup (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Only put reference to io_req in bnx2fc_abts_cleanup if cleanup times out (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: Redo setting source FCoE MAC (Nilesh Javali) [1724598] - [scsi] scsi: bnx2fc: fix incorrect cast to u64 on shift operation (Nilesh Javali) [1724598] - [netdrv] qed: Fix build error without CONFIG_DEVLINK (Manish Chopra) [1720392] - [netdrv] RDMA/qedr: Fix the hca_type and hca_rev returned in device attributes (Manish Chopra) [1720392] - [netdrv] qede: qede_fp: simplify a bit 'qede_rx_build_skb()' (Manish Chopra) [1720392] - [netdrv] qede: Make two functions static (Manish Chopra) [1720392] - [netdrv] qede: Handle infinite driver spinning for Tx timestamp. (Manish Chopra) [1720392] - [netdrv] qed: fix spelling mistake "fullill" -> "fulfill" (Manish Chopra) [1720392] - [netdrv] qed: Fix Config attribute frame format. (Manish Chopra) [1720392] - [netdrv] qed*: Fix size of config attribute dump. (Manish Chopra) [1720392] - [netdrv] net: qed: Move static keyword to the front of declaration (Manish Chopra) [1720392] - [netdrv] qede: Add support for dumping the grc data. (Manish Chopra) [1720392] - [netdrv] qed: Add APIs for configuring grc dump config flags. (Manish Chopra) [1720392] - [netdrv] qede: Add support for reading the config id attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add APIs for reading config id attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add cleanup in qed_slowpath_start() (Manish Chopra) [1720392] - [netdrv] qed: Add driver API for flashing the config attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add API for configuring NVM attributes. (Manish Chopra) [1720392] - [netdrv] qed: Add new ethtool supported port types based on media. (Manish Chopra) [1720392] - [netdrv] net/ethernet/qlogic/qed: force the string buffer NULL-terminated (Manish Chopra) [1720392] - [netdrv] qed: RDMA - Fix the hw_ver returned in device attributes (Manish Chopra) [1720392] - [netdrv] qed*: Change dpi_addr to be denoted with __iomem (Manish Chopra) [1720392] - [netdrv] qed: reduce maximum stack frame size (Manish Chopra) [1720392] - [netdrv] qed: Prefer pcie_capability_read_word() (Manish Chopra) [1720392] - [netdrv] qed: Add support for Timestamping the unicast PTP packets. (Manish Chopra) [1720392] - [netdrv] qed: Fix -Wmaybe-uninitialized false positive (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Fix default window size to be based on chip (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Fix tc for MPA ll2 connection (Manish Chopra) [1720392] - [netdrv] qed: iWARP - fix uninitialized callback (Manish Chopra) [1720392] - [netdrv] qed: iWARP - Use READ_ONCE and smp_store_release to access ep->state (Manish Chopra) [1720392] - [netdrv] qed: remove redundant assignment to rc (Manish Chopra) [1720392] - [netdrv] qed: Fix static checker warning (Manish Chopra) [1720392] - [netdrv] qed: fix spelling mistake "inculde" -> "include" (Manish Chopra) [1720392] - [netdrv] qed: Reduce the severity of ptp debug message. (Manish Chopra) [1720392] - [netdrv] qed*: Add iWARP 100g support (Manish Chopra) [1720392] - [netdrv] qed: Add qed devlink parameters table (Manish Chopra) [1720392] - [netdrv] qed: Set the doorbell address correctly (Manish Chopra) [1720392] - [netdrv] qedr: Change the MSI-X vectors selection to be based on affined engine (Manish Chopra) [1720392] - [netdrv] qed: Modify offload protocols to use the affined engine (Manish Chopra) [1720392] - [netdrv] qed*: Change hwfn used for sb initialization (Manish Chopra) [1720392] - [netdrv] qed: Add llh ppfid interface and 100g support for offload protocols (Manish Chopra) [1720392] - [netdrv] qed: Modify api for performing a dmae to another PF (Manish Chopra) [1720392] - [virt] kvm: arm/arm64: vgic: Use the appropriate TRACE_INCLUDE_PATH (Auger Eric) [1749501] - [arm64] kvm: Kill hyp_alternate_select() (Auger Eric) [1749501] - [arm64] kvm: Replace hyp_alternate_select with has_vhe() (Auger Eric) [1749501] - [arm64] kvm: Drop hyp_alternate_select for checking for ARM64_WORKAROUND_834220 (Auger Eric) [1749501] - [documentation] kvm: arm/arm64: vgic: Allow more than 256 vcpus for KVM_IRQ_LINE (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Use a single IO device per redistributor (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Remove spurious semicolons (Auger Eric) [1749501] - [arm64] perf_event: Add missing header needed for smp_processor_id() (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Make function comments match function declarations (Auger Eric) [1749501] - [arm64] kvm: Remove VMID rollover I-cache maintenance (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-irqfd: Implement kvm_arch_set_irq_inatomic (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Check the LPI translation cache on MSI injection (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Cache successful MSI->LPI translation (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on vgic teardown (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on ITS disable (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on disabling LPIs (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Invalidate MSI-LPI translation cache on specific commands (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-its: Add MSI-LPI translation cache invalidation (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Add __vgic_put_lpi_locked primitive (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Add LPI translation cache definition (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic-v2: Handle SGI bits in GICD_I{S, C}PENDR0 as WI (Auger Eric) [1749501] - [arm64] kvm: Replace hardcoded '1' with SYS_PAR_EL1_F (Auger Eric) [1749501] - [arm64] sysreg: Add some field definitions for PAR_EL1 (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Fix potential deadlock when ap_list is long (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Properly initialise private IRQ affinity (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Reevaluate level sensitive interrupts on enable (Auger Eric) [1749501] - [arm64] kvm: arm64: Don't write junk to sysregs on reset (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Sync ICH_VMCR_EL2 back when about to block (Auger Eric) [1749501] - [arm64] kvm: hyp: debug-sr: Mark expected switch fall-through (Auger Eric) [1749501] - [arm64] kvm: arm64: Update kvm_arm_exception_class and esr_class_str for new EC (Auger Eric) [1749501] - [virt] kvm: arm: vgic-v3: Mark expected switch fall-through (Auger Eric) [1749501] - [arm64] kvm: regmap: Fix unexpected switch fall-through (Auger Eric) [1749501] - [arm64] sve: Fix a couple of magic numbers for the Z-reg count (Auger Eric) [1749501] - [arm64] sve: Factor out FPSIMD to SVE state conversion (Auger Eric) [1749501] - [arm64] kvm: arm/arm64: Initialise host's MPIDRs by reading the actual register (Auger Eric) [1749501] - [arm64] kvm: arm64: Migrate _elx sysreg accessors to msr_s/mrs_s (Auger Eric) [1749501] - [arm64] sysreg: Make mrs_s and msr_s macros work with Clang and LTO (Auger Eric) [1749501] - [documentation] kvm: doc: Add API documentation on the KVM_REG_ARM_WORKAROUNDS register (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Add save/restore support for firmware workaround state (Auger Eric) [1749501] - [arm64] kvm: Propagate full Spectre v2 workaround state to KVM guests (Auger Eric) [1749501] - [arm64] sve: Fix missing SVE/FPSIMD endianness conversions (Auger Eric) [1749501] - [virt] kvm: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroy (Auger Eric) [1749501] - [arm64] kvm: arm64: Filter out invalid core register IDs in KVM_GET_REG_LIST (Auger Eric) [1749501] - [arm64] kvm: arm64: Skip more of the SError vaxorcism (Auger Eric) [1749501] - [arm64] kvm: arm64: Re-mask SError after the one instruction window (Auger Eric) [1749501] - [arm64] Update silicon-errata.txt for Neoverse-N1 #1349291 (Auger Eric) [1749501] - [arm64] kvm: arm64: Defer guest entry when an asynchronous exception is pending (Auger Eric) [1749501] - [arm64] kvm: arm64: Consume pending SError as early as possible (Auger Eric) [1749501] - [arm64] kvm: arm64: Make indirect vectors preamble behaviour symmetric (Auger Eric) [1749501] - [arm64] kvm: arm64: Abstract the size of the HYP vectors pre-amble (Auger Eric) [1749501] - [arm64] assembler: Switch ESB-instruction with a vanilla nop if !ARM64_HAS_RAS (Auger Eric) [1749501] - [arm64] kvm: arm64/sve: Fix vq_present() macro to yield a bool (Auger Eric) [1749501] - [arm64] kvm: arm64: Implement vq_present() as a macro (Auger Eric) [1749501] - [arm64] fpsimd: Don't disable softirq when touching FPSIMD/SVE state (Auger Eric) [1749501] - [arm64] fpsimd: Introduce fpsimd_save_and_flush_cpu_state() and use it (Auger Eric) [1749501] - [arm64] fpsimd: Remove the prototype for sve_flush_cpu_state() (Auger Eric) [1749501] - [scripts] genksyms: Teach parser about 128-bit built-in types (Auger Eric) [1749501] - [tools] kvm: selftests: introduce aarch64_vcpu_add_default (Auger Eric) [1749501] - [tools] kvm: selftests: introduce aarch64_vcpu_setup (Auger Eric) [1749501] - [virt] kvm: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation (Auger Eric) [1749501] - [arm64] kvm: arm64: Move pmu hyp code under hyp's Makefile to avoid instrumentation (Auger Eric) [1749501] - [documentation] arm64: docs: Document perf event attributes (Auger Eric) [1749501] - [arm64] kvm: Fix perf cycle counter support for VHE (Auger Eric) [1749501] - [arm64] kvm: Avoid isb's by using direct pmxevtyper sysreg (Auger Eric) [1749501] - [arm64] kvm: Enable VHE support for :G/:H perf event modifiers (Auger Eric) [1749501] - [arm64] kvm: Enable !VHE support for :G/:H perf event modifiers (Auger Eric) [1749501] - [arm64] arm_pmu: Add !VHE support for exclude_host/exclude_guest attributes (Auger Eric) [1749501] - [arm64] kvm: Add accessors to track guest/host only counters (Auger Eric) [1749501] - [arm64] arm_pmu: Remove unnecessary isb instruction (Auger Eric) [1749501] - [arm64] perf: Add support for chaining event counters (Auger Eric) [1749501] - [arm64] perf: Disable PMU while processing counter overflows (Auger Eric) [1749501] - [arm64] perf: Clean up armv8pmu_select_counter (Auger Eric) [1749501] - [arm64] kvm: arm: Remove pgtable page standard functions from stage-2 page tables (Auger Eric) [1749501] - [netdrv] e1000e: Add support for Tiger Lake (Ken Cox) [1767480] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (Corinna Vinschen) [1721705] - [netdrv] igb: Use dev_get_drvdata where possible (Corinna Vinschen) [1721705] - [netdrv] net: Use skb accessors in network drivers (Corinna Vinschen) [1721705] - [netdrv] igb: add RR2DCDELAY to ethtool registers dump (Corinna Vinschen) [1721705] - [netdrv] igb: minor ethool regdump amendment (Corinna Vinschen) [1721705] - [netdrv] igb: clear out skb->tstamp after reading the txtime (Corinna Vinschen) [1721705] - [netdrv] igb: mark expected switch fall-through (Corinna Vinschen) [1721705] - [netdrv] igb: mark expected switch fall-through (Corinna Vinschen) [1721705] - [netdrv] igb/igc: warn when fatal read failure happens (Corinna Vinschen) [1721705] - [netdrv] igb: fix various indentation issues (Corinna Vinschen) [1721705] - [netdrv] igb: Exclude device from suspend direct complete optimization (Corinna Vinschen) [1721705] - [netdrv] intel: correct return from set features callback (Corinna Vinschen) [1721705] - [netdrv] net: Use skb accessors in network drivers (Corinna Vinschen) [1721708] - [s390] s390/kaslr: reserve memory for kasan usage (Philipp Rudo) [1725888] - [s390] s390/mem_detect: provide single get_mem_detect_end (Philipp Rudo) [1725888] - [s390] s390/setup: adjust start_code of init_mm to _text (Philipp Rudo) [1725888] - [s390] s390/boot: add missing declarations and includes (Philipp Rudo) [1725888] - [s390] locking/lockdep: check for freed initmem in static_obj() (Philipp Rudo) [1725888] - [s390] s390/kernel: add support for kernel address space layout randomization (KASLR) (Philipp Rudo) [1725888] - [s390] s390/kernel: introduce .dma sections (Philipp Rudo) [1725888] - [s390] s390/sclp: do not use static sccbs (Philipp Rudo) [1725888] - [s390] s390/kprobes: use static buffer for insn_page (Philipp Rudo) [1725888] - [s390] s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad (Philipp Rudo) [1725888] - [s390] s390/kernel: build a relocatable kernel (Philipp Rudo) [1725888] - [s390] s390/extmem: remove code for 31 bit addressing mode (Philipp Rudo) [1725888] - [s390] s390/setup: remove obsolete #ifdef (Philipp Rudo) [1725888] - [net] net/core: work around section mismatch warning for ptp_classifier (Philipp Rudo) [1725888] - [sound] ALSA: bebob: fix to detect configured source of sampling clock for Focusrite Saffire Pro i/o series (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: link the order of establishing connections and Syt-match clock mode (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: expand delay of start for IR context just for version 3 firmware (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: expand sleep just after breaking connections for protocol version 1 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC/SOF - enable SND_SOC_SOF_HDA_COMMON_HDMI_CODEC (Jaroslav Kysela) [1710702] - [sound] ALSA: timer: Fix mutex deadlock at releasing card (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: eve: Enable mclk and ssp sclk early (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: dt-bindings: rt5682: add button delay device property (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: rt5682: improve the sensitivity of push button (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: bxt_rt298: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: add support for snd-hda-codec-hdmi (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: fix include guard name (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: hdac_hda: add support for HDMI/DP as a HDA codec (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/hdmi - implement mst_no_extra_pcms flag (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF - remove the dead code (skylake/kabylake) (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel - fix the card names (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pci: Add prepare/complete PM callbacks (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: Add support for DSP D0i3 state when entering S0ix (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: return -ENOTSUPP if D0I3 is not supported (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: implement suspend/resume for S0ix<->S0 transition (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ignore suspend/resume for D0ix compatible streams (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: implement prepare/complete callbacks (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a flag suspend_ignored for sof stream (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a flag to indicate the system suspend target (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: CNL: add support for sending compact IPC (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: add helpers for setting D0 substate for ADSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: configure D0ix IPC flags in set_power_state (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: HDA: add cAVS specific compact IPC header file (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: Don't read mailbox for PM_GATE reply (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: introduce message for DSP power gating (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: PM: rename sof_send_pm_ipc to sof_send_pm_ctx_ipc (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: HDA: use macro for register polling retry count (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: align the comments for D0I3C update (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: parse and store d0i3_compatible flag (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: token: add tokens for PCM compatible with D0i3 substate (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add flag to snd_sof_pcm_stream for D0i3 compatible stream (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: APL: add set_power_state() ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: CNL: add set_power_state() ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-dsp: Add helper for setting DSP D0ix substate (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add set_power_state() to dsp_ops for power state update (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: reset default d0_substate at probe() and resume() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: add a field to store the current D0 substate of DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: eve: implement set_bias_level function for rt5514 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: only support INFO_BATCH for legacy platforms (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: define INFO_ flags in dsp_ops (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: initial support to JasperLake. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for JSL (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: add dev_err() traces for snd_sof_dsp_read_poll_timeout() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda-loader: improve error handling (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: sof: include types.h at header.h (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Fix randbuild error (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: check errors when parsing LED tokens (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: remove always-true redundant test (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: bdw: fix operator precedence warnings (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: byt: fix operator precedence warnings (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: imx: Read ESAI parameters and send them to DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: acpi led support for switch controls (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: imx: Describe ESAI parameters to be sent to DSP (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pci: add debug module param (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: acpi: add debug module param (Jaroslav Kysela) [1710702] - [sound] ALSA: Revert "ASoC: SOF: Force polling mode on CFL and CNL" (Jaroslav Kysela) [1710702] - [sound] ALSA: AsoC: SOF: refactor control load code (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: enable dual control for pga (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: enable sync_write in hdac_bus (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: simple_card_utils.h: Add missing include (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: Add context data to any IPC timeout. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: fix reset of host_period_bytes (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: introduce no_stream_position in sof_ipc_stream_params struct (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: core: check for mandatory fw_ready op during SOF probe (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: ipc: retain DSP context after FW exception. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: trace: move to opt-in with Kconfig and module parameter (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Fix 2 front mics of codec 0x623 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Add support for ALC623 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Fix mutex deadlock in HDMI codec driver (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Fix pending unsol events at shutdown (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: Correct a typo in the clock proc string (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: add support for MOTU UltraLite (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: code refactoring to handle model specific switch for protocol v2 (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: minor code refactoring for protocol version 2 (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: detect SPH source of sampling clock (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: print for unknown source of sampling clock (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: fix wrong spelling for macro (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: Fix prototype of helper function to return negative value (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Disable quirks for BOSS Katana amplifiers (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: sound: usb: usb true/false for bool return type (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Add DSD support for Gustard U16/X26 USB Interface (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Allow non-Intel device probe gracefully (Jaroslav Kysela) [1710702] - [sound] ALSA: Revert "ALSA: hda: Flush interrupts on disabling" (Jaroslav Kysela) [1710702] - [sound] ALSA: PCI: Fix missing inline for pci_pr3_present() (Jaroslav Kysela) [1710702] - [sound] ALSA: PCI: Add a helper to check Power Resource Requirements _PR3 existence (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Fix copy&paste error in the validator (Jaroslav Kysela) [1710702] - [sound] ALSA: usb-audio: Add DSD support for EVGA NU Audio (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: postpone to start IR context (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: handle several AMDTP streams in callback handler of IRQ target (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: cancel flushing isoc context in the laste step to process context callback (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: replace ack callback to flush isoc contexts in AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: replace pointer callback to flush isoc contexts in AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: add irq_target member into amdtp_domain struct (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: tune the minimum available size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: tune the maximum available size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: schedule hardware IRQ according to the size of PCM period (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: share PCM buffer size for both direction (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: use variable size of queue for isoc packets instead of fixed size (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: use the same size of period for PCM substreams in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: use the same size of period for PCM substream in AMDTP streams (Jaroslav Kysela) [1710702] - [sound] ALSA: fireface: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-motu: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-tascam: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-digi00x: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: dice: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: oxfw: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: fireworks: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: bebob: register the size of PCM period to AMDTP domain (Jaroslav Kysela) [1710702] - [sound] ALSA: firewire-lib: add a member into AMDTP domain for events per period (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Enable headset mic on Asus MJ401TA (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda/realtek - Add support for ALC711 (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Force runtime PM on Nvidia HDMI codecs (Jaroslav Kysela) [1710702] - [sound] ALSA: hda - Add laptop imic fixup for ASUS M9V laptop (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Add Tigerlake/Jasperlake PCI ID (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver (Jaroslav Kysela) [1710702] - [sound] ALSA: hdac: clear link output stream mapping (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: dapm: fix a memory leak bug (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: debug: fix possible memory leak in sof_dfsentry_write() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: Intel: sof-rt5682: add a check for devm_clk_get (Jaroslav Kysela) [1710702] - [sound] ALSA: Fix Kconfig indentation (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: control: return true when kcontrol values change (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: fix intel DSP config (Jaroslav Kysela) [1710702] - [sound] ALSA: hda: add Intel DSP configuration / probe code (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: core: Fix pcm code debugfs error (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoc: rockchip: i2s: Fix RPM imbalance (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm_adsp: Don't generate kcontrols without READ flags (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: bytcr_rt5651: add null check to support_button_press (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: add remove function to disable jack (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: rt5682: add NULL handler to set_jack function (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: intel: sof_rt5682: use separate route map for dmic (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: Disable DMI L1 entry during capture (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: initialise and verify FW crash dump data. (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: Intel: hda: fix warnings during FW load (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pcm: harden PCM STOP sequence (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: pcm: fix resource leak in hw_free (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: topology: fix parse fail issue for byte/bool tuple types (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: SOF: loader: fix kernel oops on firmware boot failure (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm_adsp: Fix theoretical NULL pointer for alg_region (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: max98373: check for device node before parsing (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: topology: Fix a signedness bug in soc_tplg_dapm_widget_create() (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: soc-component: fix a couple missing error assignments (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: wm8994: Do not register inapplicable controls for WM1811 (Jaroslav Kysela) [1710702] - [sound] ALSA: ASoC: samsung: arndale: Add missing OF node dereferencing (Jaroslav Kysela) [1710702] - [infiniband] RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp" (Kamal Heib) [1724772] - [infiniband] RDMA: Fix goto target to release the allocated memory (Kamal Heib) [1724772] - [infiniband] IB/bnxt_re: Do not notifify GID change event (Kamal Heib) [1724772] - [infiniband] RDMA/bnxt_re: Honor vlan_id in GID entry comparison (Kamal Heib) [1724772] - [infiniband] ib/bnxt: Remove mention of idr_alloc from comment (Kamal Heib) [1724772] - [infiniband] RDMA/bnxt_re: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1724772] - [infiniband] bnxt_re: Clean cq for kernel consumers only (Kamal Heib) [1724772] - [infiniband] bnxt_re: fix the regression due to changes in alloc_pbl (Kamal Heib) [1724772] - [scsi] scsi: lpfc: Make lpfc_debugfs_ras_log_data static (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix NULL check before mempool_destroy is not needed (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix spelling error in MAGIC_NUMER_xxx (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix build error of lpfc_debugfs.c for vfree/vmalloc (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: lpfc_nvmet: Fix Use plain integer as NULL pointer (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: lpfc_attr: Fix Use plain integer as NULL pointer (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Update lpfc version to 12.6.0.0 (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add additional discovery log messages (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add FC-AL support to lpe32000 models (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add FA-WWN Async Event reporting (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Add log macros to allow print by serverity or verbosity setting (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Make FW logging dynamically configurable (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Revise interrupt coalescing for missing scenarios (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Remove lock contention target write path (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Slight fast-path performance optimizations (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix coverity error of dereference after null check (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix hardlockup in lpfc_abort_handler (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix bad ndlp ptr in xri aborted handling (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix lockdep errors in sli_ringtx_put (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Fix reporting of read-only fw error errors (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: fix lpfc_nvmet_mrq to be bound by hdw queue count (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: Make function lpfc_defer_pt2pt_acc static (Dick Kennedy) [1768102] - [scsi] scsi: lpfc: add support for posting FC events on FPIN reception (Dick Kennedy) [1768102] - [infiniband] RDMA/siw: Mark Software iWARP Driver as tech-preview (Kamal Heib) [1767292] - [crypto] crypto: ccp - Replace dma_pool_alloc + memset with dma_pool_zalloc (Gary Hook) [1724859] - [crypto] crypto: ccp/gcm - use const time tag comparison. (Gary Hook) [1724859] - [crypto] crypto: ccp - Switch to SPDX license identifiers (Gary Hook) [1724859] - [crypto] crypto: ccp - Validate the the error value used to index error messages (Gary Hook) [1724859] - [crypto] crypto: ccp - Make ccp_register_rsa_alg static (Gary Hook) [1724859] - [crypto] crypto: ccp - Update copyright notices and dates (Gary Hook) [1724859] - [crypto] cross-tree: phase out dma_zalloc_coherent() (Gary Hook) [1724859] - [x86] x86/umwait: Fix error handling in umwait_init() (Steve Best) [1724525] - [documentation] Documentation/ABI: Document umwait control sysfs interfaces (Steve Best) [1724525] - [x86] x86/umwait: Add sysfs interface to control umwait maximum time (Steve Best) [1724525] - [x86] x86/umwait: Add sysfs interface to control umwait C0.2 state (Steve Best) [1724525] - [x86] x86/umwait: Initialize umwait control values (Steve Best) [1724525] - [x86] x86/cpufeatures: Enumerate user wait instructions (Steve Best) [1724525] - [fs] virtiofs: Remove set but not used variable 'fc' (Vivek Goyal) [1694161] - [fs] virtiofs: Retry request submission from worker context (Vivek Goyal) [1694161] - [fs] virtiofs: Count pending forgets as in_flight forgets (Vivek Goyal) [1694161] - [fs] virtiofs: Set FR_SENT flag only after request has been sent (Vivek Goyal) [1694161] - [fs] virtiofs: No need to check fpq->connected state (Vivek Goyal) [1694161] - [fs] virtiofs: Do not end request in submission context (Vivek Goyal) [1694161] - [fs] fuse: don't advise readdirplus for negative lookup (Vivek Goyal) [1694161] - [fs] fuse: don't dereference req->args on finished request (Vivek Goyal) [1694161] - [fs] virtio-fs: don't show mount options (Vivek Goyal) [1694161] - [fs] virtio-fs: Change module name to virtiofs.ko (Vivek Goyal) [1694161] - [include] bitops: protect variables in bit_clear_unless() macro (Vivek Goyal) [1694161] - [include] bitops: protect variables in set_mask_bits() macro (Vivek Goyal) [1694161] - [fs] fuse: Make fuse_args_to_req static (Vivek Goyal) [1694161] - [fs] fuse: fix memleak in cuse_channel_open (Vivek Goyal) [1694161] - [fs] fuse: fix beyond-end-of-page access in fuse_parse_cache() (Vivek Goyal) [1694161] - [fs] fuse: unexport fuse_put_request (Vivek Goyal) [1694161] - [fs] fuse: kmemcg account fs data (Vivek Goyal) [1694161] - [fs] fuse: on 64-bit store time in d_fsdata directly (Vivek Goyal) [1694161] - [fs] fuse: fix missing unlock_page in fuse_writepage() (Vivek Goyal) [1694161] - [fs] virtio-fs: add virtiofs filesystem (Vivek Goyal) [1694161] - [fs] fuse: allow skipping control interface and forced unmount (Vivek Goyal) [1694161] - [fs] fuse: dissociate DESTROY from fuseblk (Vivek Goyal) [1694161] - [fs] fuse: delete dentry if timeout is zero (Vivek Goyal) [1694161] - [fs] fuse: separate fuse device allocation and installation in fuse_conn (Vivek Goyal) [1694161] - [fs] fuse: add fuse_iqueue_ops callbacks (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_fill_super_common() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_dequeue_forget() function (Vivek Goyal) [1694161] - [fs] fuse: export fuse_get_unique() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_send_init_request() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_len_args() (Vivek Goyal) [1694161] - [fs] fuse: export fuse_end_request() (Vivek Goyal) [1694161] - [fs] fuse: fix request limit (Vivek Goyal) [1694161] - [fs] fuse: stop copying pages to fuse_req (Vivek Goyal) [1694161] - [fs] fuse: stop copying args to fuse_req (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_req (Vivek Goyal) [1694161] - [fs] fuse: simplify request allocation (Vivek Goyal) [1694161] - [fs] fuse: unexport request ops (Vivek Goyal) [1694161] - [fs] fuse: convert retrieve to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert release to simple api (Vivek Goyal) [1694161] - [fs] cuse: convert init to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert init to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert writepages to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert readdir to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert readpages to simple api (Vivek Goyal) [1694161] - [fs] fuse: convert direct_io to simple api (Vivek Goyal) [1694161] - [fs] fuse: add simple background helper (Vivek Goyal) [1694161] - [fs] fuse: convert sync write to simple api (Vivek Goyal) [1694161] - [fs] fuse: covert readpage to simple api (Vivek Goyal) [1694161] - [fs] fuse: fuse_short_read(): don't take fuse_req as argument (Vivek Goyal) [1694161] - [fs] fuse: convert ioctl to simple api (Vivek Goyal) [1694161] - [fs] fuse: move page alloc (Vivek Goyal) [1694161] - [fs] fuse: convert readlink to simple api (Vivek Goyal) [1694161] - [fs] fuse: add pages to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert destroy to simple api (Vivek Goyal) [1694161] - [fs] fuse: add nocreds to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert fuse_force_forget() to simple api (Vivek Goyal) [1694161] - [fs] fuse: add noreply to fuse_args (Vivek Goyal) [1694161] - [fs] fuse: convert flush to simple api (Vivek Goyal) [1694161] - [fs] fuse: simplify 'nofail' request (Vivek Goyal) [1694161] - [fs] fuse: rearrange and resize fuse_args fields (Vivek Goyal) [1694161] - [fs] fuse: flatten 'struct fuse_args' (Vivek Goyal) [1694161] - [fs] fuse: fix deadlock with aio poll and fuse_iqueue::waitq.lock (Vivek Goyal) [1694161] - [fs] cuse: fix broken release (Vivek Goyal) [1694161] - [fs] fuse: cleanup fuse_wait_on_page_writeback (Vivek Goyal) [1694161] - [fs] fuse: require /dev/fuse reads to have enough buffer capacity (take 2) (Vivek Goyal) [1694161] - [fs] Revert "fuse: require /dev/fuse reads to have enough buffer capacity" (Vivek Goyal) [1694161] - [fs] fuse: extract helper for range writeback (Vivek Goyal) [1694161] - [fs] fuse: add FUSE_WRITE_KILL_PRIV (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_alloc_inode (Vivek Goyal) [1694161] - [fs] fuse: Add ioctl flag for x32 compat ioctl (Vivek Goyal) [1694161] - [fs] fuse: document fuse_fsync_in.fsync_flags (Vivek Goyal) [1694161] - [fs] fuse: require /dev/fuse reads to have enough buffer capacity (Vivek Goyal) [1694161] - [fs] fuse: retrieve: cap requested size to negotiated max_write (Vivek Goyal) [1694161] - [fs] fuse: allow filesystems to have precise control over data cache (Vivek Goyal) [1694161] - [fs] fuse: convert printk -> pr_* (Vivek Goyal) [1694161] - [fs] fuse: fix writepages on 32bit (Vivek Goyal) [1694161] - [fs] fuse: cache readdir calls if filesystem opts out of opendir (Vivek Goyal) [1694161] - [fs] fuse: support clients that don't implement 'opendir' (Vivek Goyal) [1694161] - [fs] fuse: lift bad inode checks into callers (Vivek Goyal) [1694161] - [fs] fuse: multiplex cached/direct_io file operations (Vivek Goyal) [1694161] - [fs] fuse add copy_file_range to direct io fops (Vivek Goyal) [1694161] - [fs] fuse: use iov_iter based generic splice helpers (Vivek Goyal) [1694161] - [fs] fuse: Switch to using async direct IO for FOPEN_DIRECT_IO (Vivek Goyal) [1694161] - [fs] fuse: use atomic64_t for khctr (Vivek Goyal) [1694161] - [fs] fuse: clean up aborted (Vivek Goyal) [1694161] - [fs] fuse: Protect ff->reserved_req via corresponding fi->lock (Vivek Goyal) [1694161] - [fs] fuse: Protect fi->nlookup with fi->lock (Vivek Goyal) [1694161] - [fs] fuse: Introduce fi->lock to protect write related fields (Vivek Goyal) [1694161] - [fs] fuse: Convert fc->attr_version into atomic64_t (Vivek Goyal) [1694161] - [fs] fuse: Add fuse_inode argument to fuse_prepare_release() (Vivek Goyal) [1694161] - [fs] fuse: Verify userspace asks to requeue interrupt that we really sent (Vivek Goyal) [1694161] - [fs] fuse: Do some refactoring in fuse_dev_do_write() (Vivek Goyal) [1694161] - [fs] fuse: Wake up req->waitq of only if not background (Vivek Goyal) [1694161] - [fs] fuse: Optimize request_end() by not taking fiq->waitq.lock (Vivek Goyal) [1694161] - [fs] fuse: Kill fasync only if interrupt is queued in queue_interrupt() (Vivek Goyal) [1694161] - [fs] fuse: Remove stale comment in end_requests() (Vivek Goyal) [1694161] - [fs] fuse: Replace page without copying in fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: fix leaked aux requests (Vivek Goyal) [1694161] - [fs] fuse: only reuse auxiliary request in fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: clean up fuse_writepage_in_flight() (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_find_writeback() helper (Vivek Goyal) [1694161] - [fs] cuse: fix ioctl (Vivek Goyal) [1694161] - [fs] fuse: Fix memory leak in fuse_dev_free() (Vivek Goyal) [1694161] - [fs] fuse: fix revalidation of attributes for permission check (Vivek Goyal) [1694161] - [fs] fuse: fix fsync on directory (Vivek Goyal) [1694161] - [fs] fuse: Add bad inode check in fuse_destroy_inode() (Vivek Goyal) [1694161] - [fs] fuse: enable caching of symlinks (Vivek Goyal) [1694161] - [fs] fuse: only invalidate atime in direct read (Vivek Goyal) [1694161] - [fs] fuse: realloc page array (Vivek Goyal) [1694161] - [fs] fuse: add max_pages to init_out (Vivek Goyal) [1694161] - [fs] fuse: allocate page array more efficiently (Vivek Goyal) [1694161] - [fs] fuse: reduce size of struct fuse_inode (Vivek Goyal) [1694161] - [fs] fuse: use iversion for readdir cache verification (Vivek Goyal) [1694161] - [fs] fuse: use mtime for readdir cache verification (Vivek Goyal) [1694161] - [fs] fuse: add readdir cache version (Vivek Goyal) [1694161] - [fs] fuse: allow using readdir cache (Vivek Goyal) [1694161] - [fs] fuse: allow caching readdir (Vivek Goyal) [1694161] - [fs] fuse: extract fuse_emit() helper (Vivek Goyal) [1694161] - [fs] fuse: add FOPEN_CACHE_DIR (Vivek Goyal) [1694161] - [fs] fuse: split out readdir.c (Vivek Goyal) [1694161] - [fs] fuse: Use hash table to link processing request (Vivek Goyal) [1694161] - [fs] fuse: kill req->intr_unique (Vivek Goyal) [1694161] - [fs] fuse: change interrupt requests allocation algorithm (Vivek Goyal) [1694161] - [fs] fuse: do not take fc->lock in fuse_request_send_background() (Vivek Goyal) [1694161] - [fs] fuse: introduce fc->bg_lock (Vivek Goyal) [1694161] - [fs] fuse: add locking to max_background and congestion_threshold changes (Vivek Goyal) [1694161] - [fs] fuse: use READ_ONCE on congestion_threshold and max_background (Vivek Goyal) [1694161] - [fs] fuse: use list_first_entry() in flush_bg_queue() (Vivek Goyal) [1694161] - [fs] fuse: reduce allocation size for splice_write (Vivek Goyal) [1694161] - [fs] fuse: use kvmalloc to allocate array of pipe_buffer structs. (Vivek Goyal) [1694161] - [fs] fuse: convert last timespec use to timespec64 (Vivek Goyal) [1694161] - [fs] fs: fuse: Adding new return type vm_fault_t (Vivek Goyal) [1694161] - [fs] fuse: simplify fuse_abort_conn() (Vivek Goyal) [1694161] - [infiniband] RDMA/siw: Fix IPv6 addr_list locking (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix 64/32bit pointer inconsistency (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix SGL mapping issues (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix potential NULL de-ref (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Change CQ flags from 64->32 bits (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix a memory leak in siw_init_cpulist() (Kamal Heib) [1725830 1720892] - [infiniband] Do not dereference 'siw_crypto_shash' before checking (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Remove set but not used variables 'rv' (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix error return code in siw_init_module() (Kamal Heib) [1725830 1720892] - [infiniband] RMDA/siw: Require a 64 bit arch (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Mark expected switch fall-throughs (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Remove set but not used variable 's' (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Add missing rtnl_lock around access to ifa (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: Use proper enumerated type in map_cqe_status (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Remove unnecessary kthread create/destroy printouts (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/siw: Fix DEFINE_PER_CPU compilation when ARCH_NEEDS_WEAK_PER_CPU (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: addition to kernel build environment (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: completion queue methods (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: receive path (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: transmit path (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: queue pair methods (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: application buffer management (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: application interface (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: connection management (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: network and RDMA core interface (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: main include file (Kamal Heib) [1725830 1720892] - [infiniband] rdma/siw: iWarp wire packet format (Kamal Heib) [1725830 1720892] - [infiniband] RDMA/cma: fix null-ptr-deref Read in cma_cleanup (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Rewrite PID namespace check to be reliable (Kamal Heib) [1720892] - [infiniband] RDMA/counters: Properly implement PID checks (Kamal Heib) [1720892] - [infiniband] IB/core: Fix NULL pointer dereference when bind QP to counter (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Fix MR npages calculation for IB_ACCESS_HUGETLB (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix error code in stat_get_doit_qp() (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Prevent QP counter binding if counters unsupported (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix -Wunused-const-variable warnings (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Added configuration of RDMA dynamic interrupt moderation to netlink (Kamal Heib) [1720892] - [infiniband] RDMA/core: Provide RDMA DIM support for ULPs (Kamal Heib) [1720892] - [infiniband] linux/dim: Implement RDMA adaptive moderation (DIM) (Kamal Heib) [1720892] - [infiniband] IB/mad: Fix use-after-free in ib mad completion handling (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Track driver QP types in resource tracker (Kamal Heib) [1720892] - [infiniband] RDMA/devices: Remove the lock around remove_client_context (Kamal Heib) [1720892] - [infiniband] RDMA/devices: Do not deadlock during client removal (Kamal Heib) [1720892] - [infiniband] IB/core: Add mitigation for Spectre V1 (Kamal Heib) [1720892] - [infiniband] IB/counters: Always initialize the port counter object (Kamal Heib) [1720892] - [infiniband] IB/core: Fix querying total rdma stats (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix race when resolving IP address (Kamal Heib) [1720892] - [infiniband] xprtrdma: Modernize ops->connect (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove rpcrdma_req::rl_buffer (Kamal Heib) [1720892] - [infiniband] xprtrdma: Refactor chunk encoding (Kamal Heib) [1720892] - [infiniband] xprtrdma: Streamline rpcrdma_post_recvs (Kamal Heib) [1720892] - [infiniband] xprtrdma: Simplify rpcrdma_rep_create (Kamal Heib) [1720892] - [infiniband] xprtrdma: Wake RPCs directly in rpcrdma_wc_send path (Kamal Heib) [1720892] - [infiniband] xprtrdma: Reduce context switching due to Local Invalidation (Kamal Heib) [1720892] - [infiniband] xprtrdma: Add mechanism to place MRs back on the free list (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove fr_state (Kamal Heib) [1720892] - [infiniband] xprtrdma: Remove the RPCRDMA_REQ_F_PENDING flag (Kamal Heib) [1720892] - [infiniband] xprtrdma: Fix occasional transport deadlock (Kamal Heib) [1720892] - [infiniband] xprtrdma: Replace use of xdr_stream_pos in rpcrdma_marshal_req (Kamal Heib) [1720892] - [infiniband] xprtrdma: Fix use-after-free in rpcrdma_post_recvs (Kamal Heib) [1720892] - [infiniband] RDMA/core: Make rdma_counter.h compile stand alone (Kamal Heib) [1720892] - [infiniband] IB/core: Work on the caller socket net namespace in nldev_newlink() (Kamal Heib) [1663224 1720892] - [infiniband] RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM (Kamal Heib) [1720892] - [infiniband] ibverbs/rxe: Remove variable self-initialization (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow get default counter statistics through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow get counter mode through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow counter manual mode configration through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Allow manual mode configuration support (Kamal Heib) [1720892] - [infiniband] RDMA/core: Get sum value of all counters when perform a sysfs stat read (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Implement counter dumpit calback (Kamal Heib) [1720892] - [infiniband] RDMA/nldev: Allow counter auto mode configration through RDMA netlink (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Add "auto" configuration mode support (Kamal Heib) [1720892] - [infiniband] RDMA/counter: Add set/clear per-port auto mode support (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Make is_visible_in_pid_ns() as an API (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Add an API to attach a task to a resource (Kamal Heib) [1720892] - [infiniband] RDMA/restrack: Introduce statistic counter (Kamal Heib) [1720892] - [infiniband] IB/ipoib: Add child to parent list only if device initialized (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: remove redundant assignment to variable ret (Kamal Heib) [1720892] - [infiniband] IB/ipoib: Remove memset after vzalloc in ipoib_cm.c (Kamal Heib) [1720892] - [infiniband] IB: Remove unneeded memset (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Audit policy settings for netlink attributes (Kamal Heib) [1720892] - [infiniband] docs: infiniband: convert docs to ReST and rename to *.rst (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Use IB_WR_REG_MR_INTEGRITY for PI handover (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Introduce rdma_rw_inv_key helper (Kamal Heib) [1720892] - [infiniband] RDMA/core: Validate integrity handover device cap (Kamal Heib) [1720892] - [infiniband] RDMA/core: Rename signature qp create flag and signature device capability (Kamal Heib) [1720892] - [infiniband] RDMA/core: Add an integrity MR pool support (Kamal Heib) [1720892] - [infiniband] IB/iser: Unwind WR union at iser_tx_desc (Kamal Heib) [1720892] - [infiniband] IB/iser: Use IB_WR_REG_MR_INTEGRITY for PI handover (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Introduce and implement new IB_WR_REG_MR_INTEGRITY work request (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Update set_sig_data_segment attribute for new signature API (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Pass UMR segment flags instead of boolean (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Add attr for max number page list length for PI operation (Kamal Heib) [1720892] - [infiniband] RDMA/mlx5: Implement mlx5_ib_map_mr_sg_pi and mlx5_ib_alloc_mr_integrity (Kamal Heib) [1720892] - [infiniband] RDMA/core: Add signature attrs element for ib_mr structure (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce ib_map_mr_sg_pi to map data/protection sgl's (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce IB_MR_TYPE_INTEGRITY and ib_alloc_mr_integrity API (Kamal Heib) [1720892] - [infiniband] RDMA/core: Save the MR type in the ib_mr structure (Kamal Heib) [1720892] - [infiniband] RDMA/core: Introduce new header file for signature operations (Kamal Heib) [1720892] - [infiniband] RDMA/odp: Do not leak dma maps when working with huge pages (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: Use offsetofend instead of opencoding (Kamal Heib) [1720892] - [infiniband] [scsi] scsi: RDMA/srp: Fix a sleep-in-invalid-context bug (Kamal Heib) [1720892] - [infiniband] RDMA: Check umem pointer validity prior to release (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Remove asynchronic QP destroy (Kamal Heib) [1720892] - [infiniband] RDMA: Convert destroy_wq to be void (Kamal Heib) [1720892] - [infiniband] RDMA/netlink: Resort policy array (Kamal Heib) [1720892] - [infiniband] RDMA: Report available cdevs through RDMA_NLDEV_CMD_GET_CHARDEV (Kamal Heib) [1720892] - [infiniband] RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload (Kamal Heib) [1720892] - [infiniband] ipoib: correcly show a VF hardware address (Kamal Heib) [1720892] - [infiniband] RDMA: Move rdma_node_type to uapi/ (Kamal Heib) [1720892] - [infiniband] rdma: Remove nes (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: Remove check for ETH_SS_TEST (Kamal Heib) [1720892] - [infiniband] RDMA: Convert CQ allocations to be under core responsibility (Kamal Heib) [1720892] - [infiniband] RDMA/hns: Return correct error code from hns_roce_v1_rsv_lp_qp() (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Don't expose DMA addresses (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb4: Don't expose DMA addresses (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Use sizeof() notation instead of plain sizeof (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA: Clear CQ objects during their allocation (Kamal Heib) [1720892] - [infiniband] RDMA: Clean destroy CQ in drivers do not return errors (Kamal Heib) [1720892] - [infiniband] RDMA/i40iw: Remove useless NULL checks (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb3: Delete and properly mark unimplemented resize CQ function (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Avoid memory allocation during CQ destroy (Kamal Heib) [1720892] - [infiniband] RDMA: Move owner into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] RDMA: Move uverbs_abi_ver into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] RDMA: Move driver_id into struct ib_device_ops (Kamal Heib) [1720892] - [infiniband] rdma: Delete the ib_ucm module (Kamal Heib) [1720892] - [infiniband] ucma: Convert ctx_idr to XArray (Kamal Heib) [1720892] - [infiniband] ucma: Convert multicast_idr to XArray (Kamal Heib) [1720892] - [infiniband] RDMA/ucma: Use struct_size() helper (Kamal Heib) [1720892] - [infiniband] RDMA/srp: Accept again source addresses that do not have a port number (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: implement ethtool .get_link() callback (Kamal Heib) [1720892] - [infiniband] RDMA/uverbs: check for allocation failure in uapi_add_elm() (Kamal Heib) [1720892] - [infiniband] RDMA: Convert put_page() to put_user_page*() (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Remove second wait queue initialization call (Kamal Heib) [1720892] - [infiniband] RDMA/nes: Remove useless NULL checks (Kamal Heib) [1720892] - [infiniband] RDMA/core: Make ib_destroy_cq() void (Kamal Heib) [1720892] - [infiniband] RDMA/ipoib: Remove check of destroy CQ (Kamal Heib) [1720892] - [infiniband] RDMA/core: Return void from ib_device_check_mandatory() (Kamal Heib) [1720892] - [infiniband] RDMA/umem: Move page_shift from ib_umem to ib_odp_umem (Kamal Heib) [1720892] - [infiniband] RDMA/qedr: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/cxgb4: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720892] - [infiniband] RDMA/core: Fix doc typo (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Add info regarding SG count failure (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Print the correct number of sig MRs (Kamal Heib) [1720892] - [infiniband] RDMA/rw: Fix doc typo (Kamal Heib) [1720892] - [infiniband] IB/isert: Remove unused sig_attrs argument (Kamal Heib) [1720892] - [infiniband] IB/iser: Remove unused sig_attrs argument (Kamal Heib) [1720892] - [infiniband] IB/iser: Refactor iscsi_iser_check_protection function (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Entropy in admin commands id (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Print address on AH creation failure (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Be consistent with success flow return value (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use API to get contiguous memory blocks aligned to device supported page size (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove unused includes (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use rdma block iterator in chunk list creation (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove unneeded admin commands abort flow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Use kvzalloc instead of kzalloc with fallback (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove check that prevents destroy of resources in error flows (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Handle mmap insertions overflow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Fix success return value in case of error (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Remove MAYEXEC flag check from mmap flow (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add driver to Kconfig/Makefile (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa module (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add EFA verbs implementation (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add common command handlers (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Implement functions that submit and complete admin commands (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the ABI definitions (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the com service API definitions (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa_com.h file (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add the efa.h header file (Kamal Heib) [1720892] - [infiniband] RDMA/efa: Add EFA device definitions (Kamal Heib) [1720892] - [infiniband] RDMA: Add EFA related definitions (Kamal Heib) [1720892] - [fs] CIFS: Fix use after free of file info structures (Dave Wysochanski) [1757865] - [mm] mm, memory_hotplug: fix scan_movable_pages() for gigantic hugepages (Rafael Aquini) [1730172] - [char] ipmi: Don't allow device module unload when in use (Tony Camuso) [1759916] - [netdrv] net: phy: Also request modules for C45 IDs (Gary Hook) [1764274] - [s390] s390/dasd: Fix error handling during online processing (Philipp Rudo) [1764492] - [s390] s390/cpumsf: Check for CPU Measurement sampling (Philipp Rudo) [1764490] - [edac] EDAC/amd64: Support asymmetric dual-rank DIMMs (Gary Hook) [1753384] - [edac] EDAC/amd64: Cache secondary Chip Select registers (Gary Hook) [1753384] - [edac] EDAC/amd64: Decode syndrome before translating address (Gary Hook) [1753384] - [edac] EDAC/amd64: Find Chip Select memory size using Address Mask (Gary Hook) [1753384] - [edac] EDAC/amd64: Initialize DIMM info for systems with more than two channels (Gary Hook) [1753384] - [edac] EDAC/amd64: Recognize DRAM device type ECC capability (Gary Hook) [1753384] - [edac] EDAC/amd64: Support more than two controllers for chip selects handling (Gary Hook) [1753384] - [scsi] scsi: fnic: fix msix interrupt allocation (Govindarajulu Varadarajan) [1745083] - [scsi] scsi: fnic: print port speed only at driver init or speed change (Govindarajulu Varadarajan) [1745083] - [netdrv] qmi_wwan: apply SET_DTR quirk to Sierra WP7607 (Lubomir Rintel) [1729083]- [tools] libbpf: remove compile time warning from libbpf_util.h (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove dependency on barrier.h in xsk.h (Yauheni Kaliuta) [1747341] - [kernel] seccomp, bpf: disable preemption before calling into bpf prog (Yauheni Kaliuta) [1747341] - [lib] bpf: test_bpf: turn off preemption in function __run_once (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove unnecessary cast-to-void (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix sysctl.c warning (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix using uninitialized ioctl results (Yauheni Kaliuta) [1747341] - [tools] libbpf: proper XSKMAP cleanup (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix invalid munmap call (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix XDP socket ring buffer memory ordering (Yauheni Kaliuta) [1747341] - [tools] libbpf: remove likely/unlikely in xsk.h (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: xdp_redirect, correctly get dummy program id (Yauheni Kaliuta) [1747341] - [net] bpf: fix access to skb_shared_info->gso_segs (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix out of bounds backwards jmps due to dead code removal (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix use after free in prog symbol exposure (Yauheni Kaliuta) [1747341] - [include] bpf: Fix preempt_enable_no_resched() abuse (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test cases for pkt/null checks in subprogs (Yauheni Kaliuta) [1747341] - [kernel] bpf: mark registers in all frames after pkt/null checks (Yauheni Kaliuta) [1747341] - [tools] libbpf: add binary to gitignore (Yauheni Kaliuta) [1747341] - [net] bpf: Check address length before reading address family (Yauheni Kaliuta) [1747341] - [net] flow_dissector: disable preemption around BPF calls (Yauheni Kaliuta) [1747341] - [net] flow_dissector: switch kernel context to struct bpf_flow_dissector (Yauheni Kaliuta) [1747341] - [net] flow_dissector: fix clamping of BPF flow_keys for non-zero nhoff (Yauheni Kaliuta) [1747341] - [net] flow_dissector: allow access only to a subset of __sk_buff fields (Yauheni Kaliuta) [1747341] - [net] net/flow_dissector: pass flow_keys->n_proto to BPF programs (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix vlan handling in flow dissector program (Yauheni Kaliuta) [1747341] - [tools] bpf, libbpf: fix quiet install_headers (Yauheni Kaliuta) [1747341] - [tools] libbpf: add libelf dependency to shared library build (Yauheni Kaliuta) [1747341] - [tools] libbpf: add xsk.h to install_headers target (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add btf_dedup test for VOID equivalence check (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix btf_dedup equivalence check handling of different kinds (Yauheni Kaliuta) [1747341] - [documentation] bpf, doc: fix BTF docs reflow of bullet list (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test case for invalid call stack in dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: remove incorrect 'verifier bug' warning (Yauheni Kaliuta) [1747341] - [kernel] bpf: Only print ref_obj_id for refcounted reg (Yauheni Kaliuta) [1747341] - [tools] tool: use bpf_program__get_prog_info_linear() in prog.c:do_dump() (Yauheni Kaliuta) [1747341] - [tools] tools lib bpf: Introduce bpf_program__get_prog_info_linear() (Yauheni Kaliuta) [1747341] - [tools] perf tools: Fix errors under optimization level '-Og' (Yauheni Kaliuta) [1747341] - [kernel] bpf: Try harder when allocating memory for large maps (Yauheni Kaliuta) [1747341] - [tools] tools: bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add fwd enum resolution test for btf_dedup (Yauheni Kaliuta) [1747341] - [tools] btf: resolve enum fwds in btf_dedup (Yauheni Kaliuta) [1747341] - [tools] bpf: Add an example for bpf_get_listener_sock (Yauheni Kaliuta) [1747341] - [tools] bpf: Test ref release issue in bpf_tcp_sock and bpf_sk_fullsock (Yauheni Kaliuta) [1747341] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747341] - [net] bpf: Add bpf_get_listener_sock(struct bpf_sock *sk) helper (Yauheni Kaliuta) [1747341] - [kernel] bpf: Fix bpf_tcp_sock and bpf_sk_fullsock issue related to bpf_sk_release (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix to reject unknown flags in xsk_socket__create() (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix segfault of test_progs when prog loading failed (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix replace_map_fd_with_map_ptr's ldimm64 second imm field (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: test_progs: initialize duration in singal_pending test (Yauheni Kaliuta) [1747341] - [tools] libbpf: force fixdep compilation at the start of the build (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: fix compilation with out-of-tree $(OUTPUT) (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test that GSO works in lwt_ip_encap (Yauheni Kaliuta) [1747341] - [bpf] bpf: hbm: fix spelling mistake "deault" -> "default" (Yauheni Kaliuta) [1747341] - [tools] bpf: add test cases for non-pointer sanitiation logic (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - misc (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - spinlock (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - tracepoint (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - stackmap (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - xdp (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - pkt access (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_progs - preparations (Yauheni Kaliuta) [1747341] - [bpf] bpf: HBM test script (Yauheni Kaliuta) [1747341] - [bpf] bpf: User program for testing HBM (Yauheni Kaliuta) [1747341] - [bpf] bpf: Sample HBM BPF program to limit egress bw (Yauheni Kaliuta) [1747341] - [include] bpf: sync bpf.h to tools and update bpf_helpers.h (Yauheni Kaliuta) [1747341] - [net] bpf: add bpf helper bpf_skb_ecn_set_ce (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: silence compiler warning for xdpsock_user.c (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: set unlimited RLIMIT_MEMLOCK for test_sock_fields (Yauheni Kaliuta) [1747341] - [documentation] docs/bpf: minor casing/punctuation fixes (Yauheni Kaliuta) [1747341] - [documentation] docs/btf: reflow text to fill up to 78 characters (Yauheni Kaliuta) [1747341] - [documentation] docs/btf: fix typos, improve wording (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix u64_stats_init() usage in bpf_prog_alloc() (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add btf_dedup test of FWD/STRUCT resolution (Yauheni Kaliuta) [1747341] - [tools] btf: allow to customize dedup hash table size (Yauheni Kaliuta) [1747341] - [tools] libbpf: fix formatting for btf_ext__get_raw_data (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix btf_dedup testing code (Yauheni Kaliuta) [1747341] - [tools] tools: libbpf: make sure readelf shows full names in build checks (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: use libbpf where easy (Yauheni Kaliuta) [1747341] - [tools] tools: libbpf: add a correctly named define for map iteration (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: remove load_sock_ops in favour of bpftool (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: force IPv4 in ping (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: use __bpf_constant_htons in test_prog.c for flow dissector (Yauheni Kaliuta) [1747341] - [tools] bpf: add missing entries to bpf_helpers.h (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: selftests: add map lookup to test_map_in_map bpf prog (Yauheni Kaliuta) [1747341] - [kernel] bpf: set inner_map_meta->spin_lock_off correctly (Yauheni Kaliuta) [1747341] - [bpf] samples: bpf: fix: broken sample regarding removed function (Yauheni Kaliuta) [1747341] - [tools] tools/bpftool: recognize bpf_prog_info run_time_ns and run_cnt (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync bpf.h into tools (Yauheni Kaliuta) [1747341] - [kernel] bpf: expose program stats via bpf_prog_info (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix build without bpf_syscall (Yauheni Kaliuta) [1747341] - [kernel] bpf: enable program stats (Yauheni Kaliuta) [1747341] - [kernel] bpf: check that BPF programs run with preemption disabled (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: convert xdpsock to use libbpf for AF_XDP access (Yauheni Kaliuta) [1747341] - [tools] libbpf: add support for using AF_XDP sockets (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: make sure signal interrupts BPF_PROG_TEST_RUN (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Fix dummy program unloading for xdp_redirect samples (Yauheni Kaliuta) [1747341] - [s390] s390/net: convert pnetids to ascii (Yauheni Kaliuta) [1747341] - [net] bpf: add skb->queue_mapping write access from tc clsact (Yauheni Kaliuta) [1747341] - [tools] tools/libbpf: support bigger BTF data sizes (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: test_lwt_ip_encap: add negative tests. (Yauheni Kaliuta) [1747341] - [tools] libbpf: Introduce bpf_object__btf (Yauheni Kaliuta) [1747341] - [tools] libbpf: Introduce bpf_map__resize (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: replace bzero with memset (Yauheni Kaliuta) [1747341] - [net] net: fix GSO in bpf_lwt_push_ip_encap (Yauheni Kaliuta) [1747341] - [net] net: fix double-free in bpf_lwt_xmit_reroute (Yauheni Kaliuta) [1747341] - [net] bpf: fix memory leak in bpf_lwt_xmit_reroute (Yauheni Kaliuta) [1747341] - [net] bpf: make LWTUNNEL_BPF dependent on INET (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add test_lwt_ip_encap selftest (Yauheni Kaliuta) [1747341] - [include] bpf: sync /include/.../bpf.h with tools/include/.../bpf.h (Yauheni Kaliuta) [1747341] - [net] bpf: add handling of BPF_LWT_REROUTE to lwt_bpf.c (Yauheni Kaliuta) [1747341] - [net] ipv6_stub: add ipv6_route_input stub/proxy. (Yauheni Kaliuta) [1747341] - [net] bpf: handle GSO in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: implement BPF_LWT_ENCAP_IP mode in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: add plumbing for BPF_LWT_ENCAP_IP in bpf_lwt_push_encap (Yauheni Kaliuta) [1747341] - [net] bpf: offload: add priv field for drivers (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: doc, add text about feature-subcommand (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: relax sub-register mode compilation criteria (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: centre kernel bpf objects under new subdir "progs" (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: extend sub-register mode compilation to all bpf object files (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add "alu32" to .gitignore (Yauheni Kaliuta) [1747341] - [tools] bpf: Add test_sock_fields for skb->sk and bpf_tcp_sock (Yauheni Kaliuta) [1747341] - [tools] bpf: Add skb->sk, bpf_sk_fullsock and bpf_tcp_sock tests to test_verifer (Yauheni Kaliuta) [1747341] - [nclude] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1747341] - [kernel] bpf: Add struct bpf_tcp_sock and BPF_FUNC_tcp_sock (Yauheni Kaliuta) [1747341] - [net] bpf: Refactor sock_ops_convert_ctx_access (Yauheni Kaliuta) [1747341] - [net] bpf: Add state, dst_ip4, dst_ip6 and dst_port to bpf_sock (Yauheni Kaliuta) [1747341] - [kernel] bpf: Add a bpf_sock pointer to __sk_buff and a bpf_sk_fullsock helper (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: remove btf__get_strings() superseded by raw data API (Yauheni Kaliuta) [1747341] - [tools] btf: expose API to work with raw btf_ext data (Yauheni Kaliuta) [1747341] - [tools] btf: expose API to work with raw btf data (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add log_level to bpf_load_program_attr (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add missing strings.h include (Yauheni Kaliuta) [1747341] - [s390] s390/net: move pnet constants (Yauheni Kaliuta) [1747341] - [tools] bpf: test_maps: fix possible out of bound access warning (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: doc, fix incorrect text (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test reading the offloaded program (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add test for mixing generic and offload XDP (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: print traceback when test fails (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: fix the expected messages (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add const qualifier to btf__get_map_kv_tids() map_name parameter (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add "any alignment" annotation for some tests (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: use localhost in tcp_{server, client}.py (Yauheni Kaliuta) [1747341] - [s390] s390: bpf: fix JMP32 code-gen (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: remove generated verifier/tests.h on 'make clean' (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Check the prog id before exiting (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Add a "force" flag to XDP samples (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Extend RLIMIT_MEMLOCK for xdp_{sample_pkts, router_ipv4} (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: Convert XDP samples to libbpf usage (Yauheni Kaliuta) [1747341] - [bpf] samples/bpf: xdp_redirect_cpu have not need for read_trace_pipe (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: test for BPF_F_LOCK (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync uapi/bpf.h (Yauheni Kaliuta) [1747341] - [kernel] bpf: introduce BPF_F_LOCK flag (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add bpf_spin_lock C test (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add simple BPF_PROG_TEST_RUN examples for flow dissector (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: add bpf_spin_lock verifier tests (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: sync include/uapi/linux/bpf.h (Yauheni Kaliuta) [1747341] - [kernel] bpf: add support for bpf_spin_lock to cgroup local storage (Yauheni Kaliuta) [1747341] - [kernel] bpf: introduce bpf_spin_lock (Yauheni Kaliuta) [1747341] - [net] bpf: Correctly annotate implicit fall through in bpf_base_func_proto (Yauheni Kaliuta) [1747341] - [kernel] bpf, cgroups: clean up kerneldoc warnings (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix bitrotted kerneldoc (Yauheni Kaliuta) [1747341] - [include] bpf: BPF_PROG_TYPE_CGROUP_{SKB, SOCK, SOCK_ADDR} require cgroups enabled (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: mark verifier test that uses bpf_trace_printk as BPF_PROG_TYPE_TRACEPOINT (Yauheni Kaliuta) [1747341] - [net] bpf: add BPF_PROG_TEST_RUN support for flow dissector (Yauheni Kaliuta) [1747341] - [net] net/flow_dissector: move bpf case into __skb_flow_bpf_dissect (Yauheni Kaliuta) [1747341] - [net] Revert "[net] flow_dissector: disable preemption around BPF calls" (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: warn about risky prog array updates (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: remove duplicated include (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up the rest of test_verifier (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: break up test_verifier (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: prepare for break up of verifier tests (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: makefile support sub-register code-gen test mode (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: functional and min/max reasoning unit tests for JMP32 (Yauheni Kaliuta) [1747341] - [s390] s390: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [powerpc] ppc: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [arm64] arm64: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [x86] x86_64: bpf: implement jitting of JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: JIT blinds support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: interpreter support for JMP32 (Yauheni Kaliuta) [1747341] - [tools] tools: bpftool: teach cfg code about JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: disassembler support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier support JMP32 (Yauheni Kaliuta) [1747341] - [kernel] bpf: refactor verifier min/max code for condition jump (Yauheni Kaliuta) [1747341] - [include] bpf: allocate 0x06 to new eBPF instruction class JMP32 (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: suppress readelf stderr when probing for BTF support (Yauheni Kaliuta) [1747341] - [net] bpf: allow BPF programs access skb_shared_info->gso_segs field (Yauheni Kaliuta) [1747341] - [tools] tool: feature probing, change default action (Yauheni Kaliuta) [1747341] - [kernel] bpf: notify offload JITs about optimizations (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: record original instruction index (Yauheni Kaliuta) [1747341] - [tools] selftests: bpf: add tests for dead code removal (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: remove unconditional branches by 0 (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: remove dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: verifier: hard wire branches to dead code (Yauheni Kaliuta) [1747341] - [kernel] bpf: change parameters of call/branch offset adjustment (Yauheni Kaliuta) [1747341] - [tools] selftests/bpf: don't hardcode iptables/nc path in test_tcpnotify_user (Yauheni Kaliuta) [1747341] - [tools] libbpf: Show supported ELF section names when failing to guess prog/attach type (Yauheni Kaliuta) [1747341] - [documentation] bpf: btf: add btf documentation (Yauheni Kaliuta) [1747341] - [kernel] perf: Make perf_event_output() propagate the output() return (Yauheni Kaliuta) [1747341] - [kernel] bpf: fix a (false) compiler warning (Yauheni Kaliuta) [1747341] - [tools] tool: add bash completion for peek/push/enqueue/pop/dequeue (Yauheni Kaliuta) [1747341] - [tools] tool: add pop and dequeue commands (Yauheni Kaliuta) [1747341] - [tools] tool: add push and enqueue commands (Yauheni Kaliuta) [1747341] - [tools] tool: add peek command (Yauheni Kaliuta) [1747341] - [tools] tool: don't print empty key/value for maps (Yauheni Kaliuta) [1747341] - [tools] tool: make key optional in lookup command (Yauheni Kaliuta) [1747341] - [tools] tool: make key and value optional in update command (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: support __int128 in bpftool map pretty dumper (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add bpffs pretty print test for int128 (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: refactor test_btf pretty printing for multiple map value formats (Yauheni Kaliuta) [1747341] - [tools] tools/bpf: add int128 raw test in test_btf (Yauheni Kaliuta) [1747341] - [kernel] bpf: btf: support 128 bit integer type (Yauheni Kaliuta) [1747341] - [tools] libbpf: don't define CC and AR (Yauheni Kaliuta) [1747341] - [include] bpf: remove leftovers after v5.0 update (Yauheni Kaliuta) [1715770] - [target] scsi: target: cxgbit: add support for IEEE_8021QAZ_APP_SEL_STREAM selector (Vishal Kulkarni) [1725820] - [netdrv] cxgb4i: add support for IEEE_8021QAZ_APP_SEL_STREAM selector (Vishal Kulkarni) [1725818] - [net] SUNRPC: Fix possible autodisconnect during connect due to old last_used (Dave Wysochanski) [1724692] - [fs] NFSv4: Add lease_time and lease_expired to 'nfs4:' line of mountstats (Dave Wysochanski) [1727369] - [scsi] scsi: zfcp: fix reaction on bit error threshold notification (Philipp Rudo) [1764494] - [iommu] iommu/arm-smmu: Error out only if not enough context interrupts (Mark Langsdorf) [1658736] - [netdrv] cxgb4:Fix out-of-bounds MSI-X info array access (Vishal Kulkarni) [1763194] - [fs] vfs: Fix EOVERFLOW testing in put_compat_statfs64 (Eric Sandeen) [1757902] - [security] selinux: fix context string corruption in convert_context() (Ondrej Mosnacek) [1758086] - [fs] cifs: use cifsInodeInfo->open_file_lock while iterating to avoid a panic (Dave Wysochanski) [1757865] - [kernel] alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP (Vladis Dronov) [1760638] - [netdrv] cxgb4: RHEL-only disable device dump (Jonathan Toppins) [1708456] - [fs] xfs: Fix deadlock between AGI and AGF with RENAME_WHITEOUT (Brian Foster) [1759564] - [x86] x86/stacktrace: Prevent access_ok() warnings in arch_stack_walk_user() (Jerome Marchand) [1757758] - [s390] s390/sclp: Fix bit checked for has_sipl (Philipp Rudo) [1748347] - [fs] dax: dax_layout_busy_page() should not unmap cow pages (Jeff Moyer) [1752109] - [fs] dax: Fix missed wakeup in put_unlocked_entry() (Jeff Moyer) [1752109] - [fs] dax: Fix missed wakeup with PMD faults (Jeff Moyer) [1752109] - [fs] dax: Fix xarray entry association for mixed mappings (Jeff Moyer) [1752109] - [mm] mm: page_mkclean vs MADV_DONTNEED race (Jeff Moyer) [1752109] - [fs] dax: Flush partial PMDs correctly (Jeff Moyer) [1752109 1724979] - [fs] dax: Use non-exclusive wait in wait_entry_unlocked() (Jeff Moyer) [1752109] - [x86] x86/mm: Fix decoy address handling vs 32-bit builds (Jeff Moyer) [1752109 1585079] - [fs] dax: Fix unlock mismatch with updated API (Jeff Moyer) [1752109 1724956] - [fs] dax: Don't access a freed inode (Jeff Moyer) [1752109 1724956] - [fs] dax: Check page->mapping isn't NULL (Jeff Moyer) [1752109 1585079 1724956] - [fs] dax: Avoid losing wakeup in dax_lock_mapping_entry (Jeff Moyer) [1752109] - [fs] dax: Fix huge page faults (Jeff Moyer) [1752109] - [fs] dax: Fix dax_unlock_mapping_entry for PMD pages (Jeff Moyer) [1752109] - [fs] dax: Reinstate RCU protection of inode (Jeff Moyer) [1752109] - [fs] dax: Make sure the unlocking entry isn't locked (Jeff Moyer) [1752109] - [fs] dax: Remove optimisation from dax_lock_mapping_entry (Jeff Moyer) [1752109] - [fs] dax: Convert page fault handlers to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_lock_mapping_entry to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax writeback to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert __dax_invalidate_entry to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_layout_busy_page to XArray (Jeff Moyer) [1752109] - [fs] dax: Convert dax_insert_pfn_mkwrite to XArray (Jeff Moyer) [1752109] - [fs] dax: Hash on XArray instead of mapping (Jeff Moyer) [1752109] - [fs] dax: Rename some functions (Jeff Moyer) [1752109] - [fs] dax: Fix deadlock in dax_lock_mapping_entry() (Jeff Moyer) [1752109 1585079 1641544] - [drivers] device-dax: Add missing address_space_operations (Jeff Moyer) [1752109 1585079] - [x86] x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses (Jeff Moyer) [1752109 1585079] - [mm] mm, memory_failure: Teach memory_failure() about dev_pagemap pages (Jeff Moyer) [1703560 1752109 1585079] - [fs] filesystem-dax: Introduce dax_lock_mapping_entry() (Jeff Moyer) [1752109 1585079] - [mm] mm, memory_failure: Collect mapping size in collect_procs() (Jeff Moyer) [1752109 1585079] - [mm] mm, madvise_inject_error: Let memory_failure() optionally take a page reference (Jeff Moyer) [1752109 1585079] - [mm] mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages (Jeff Moyer) [1752109 1585079] - [fs] filesystem-dax: Set page->index (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Set page->index (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Enable page_mapping() (Jeff Moyer) [1752109 1585079] - [drivers] device-dax: Convert to vmf_insert_mixed and vm_fault_t (Jeff Moyer) [1752109 1585079] - [pci] PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs Root Port (Myron Stowe) [1732357] - [pci] PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port (Myron Stowe) [1732357] - [pci] PCI: Add ACS quirk for Amazon Annapurna Labs root ports (Myron Stowe) [1732357] - [pci] PCI: Add Amazon's Annapurna Labs vendor ID (Myron Stowe) [1732357] - [arm64] arm64: PCI: Preserve firmware configuration when desired (Myron Stowe) [1732372] - [arm64] arm64: PCI: Allow resource reallocation if necessary (Myron Stowe) [1732372] - [pci] PCI: Don't auto-realloc if we're preserving firmware config (Myron Stowe) [1732372] - [pci] PCI/ACPI: Evaluate PCI Boot Configuration _DSM (Myron Stowe) [1732372] - [irqchip] irqchip/gic-v2m: Add support for Amazon Graviton variant of GICv3+GICv2m (Myron Stowe) [1732382] - [pci] PCI: al: Add Amazon Annapurna Labs PCIe host controller driver (Myron Stowe) [1732357] - [netdrv] mlx4: fix spelling mistake "veify" -> "verify" (Alaa Hleihel) [1724340] - [netdrv] IB/mlx4: Fix memory leaks (Alaa Hleihel) [1724340] - [netdrv] net/mlx4_en: fix a memory leak bug (Alaa Hleihel) [1724340] - [netdrv] IB/mlx4: Delete unused func arg (Alaa Hleihel) [1724340] - [netdrv] net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query (Alaa Hleihel) [1724340 1724339] - [netdrv] net/mlx4_core: Change the error print to info print (Alaa Hleihel) [1724340 1724339] - [netdrv] mlx4: Convert pv_id_table to XArray (Alaa Hleihel) [1724340 1724339] - [netdrv] IB/mlx4: Fix race condition between catas error reset and aliasguid flows (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix qp mtt size calculation (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: Fix reset flow when in command polling mode (Alaa Hleihel) [1724340 1724338] - [netdrv] mellanox: Switch to bitmap_zalloc() (Alaa Hleihel) [1724340 1724338] - [netdrv] IB/mlx4: Increase the timeout for CM cache (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4_core: A write memory barrier is sufficient in EQ ci update (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4: Mark expected switch fall-through (Alaa Hleihel) [1724340 1724338] - [netdrv] net/mlx4: remove unneeded semicolon (Alaa Hleihel) [1724340 1724338] - [parport] parport: parport_serial: Add support for Sunix Multi I/O boards (John Linville) [1663781] - [tty] serial: 8250_pci: Add support for Sunix serial boards (John Linville) [1663781] - [scsi] hpsa: update driver version (Joseph Szczypek) [1761968] - [scsi] scsi: hpsa: add missing hunks in reset-patch (Joseph Szczypek) [1761968] - [netdrv] igc: Clean up unused shadow_vfta pointer (David Arcari) [1721713] - [netdrv] igc: Add Rx checksum support (David Arcari) [1721713] - [netdrv] igc: Add set_rx_mode support (David Arcari) [1721713] - [netdrv] igc: Add SCTP CRC checksumming functionality (David Arcari) [1721713] - [netdrv] igc: Add tx_csum offload functionality (David Arcari) [1721713] - [netdrv] igc: Remove unneeded PCI bus defines (David Arcari) [1721713] - [netdrv] igc: Add NVM checksum validation (David Arcari) [1721713] - [netdrv] igc: Remove useless forward declaration (David Arcari) [1721713] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (David Arcari) [1721713] - [netdrv] igc: Add more SKUs for i225 device (David Arcari) [1721713] - [netdrv] igc: Update the MAC reset flow (David Arcari) [1721713] - [netdrv] igc: Remove the unused field from a device specification structure (David Arcari) [1721713] - [netdrv] igc: Remove the polarity field from a PHY information structure (David Arcari) [1721713] - [netdrv] net: Use skb accessors in network drivers (David Arcari) [1721713] - [netdrv] igc: Prefer pcie_capability_read_word() (David Arcari) [1721713] - [netdrv] igc: Cleanup the redundant code (David Arcari) [1721713] - [netdrv] igc: Add flow control support (David Arcari) [1721713] - [netdrv] igc: Remove the obsolete workaround (David Arcari) [1721713] - [netdrv] igc: Clean up unused pointers (David Arcari) [1721713] - [netdrv] igc: Fix double definitions (David Arcari) [1721713] - [netdrv] igb/igc: warn when fatal read failure happens (David Arcari) [1721713] - [scsi] scsi: qla2xxx: Fix different size DMA Alloc/Unmap (Himanshu Madhani) [1753031] - [scsi] qla2xxx: call dma_free_coherent with correct size in all cases in qla24xx_sp_unmap (Himanshu Madhani) [1753031] - [arm64] crypto: arm64/crc32 - remove PMULL based CRC32 driver (Mark Salter) [1742821] - [arm64] arm64/lib: improve CRC32 performance for deep pipelines (Mark Salter) [1742821] - [arm64] arm64/lib: add accelerated crc32 routines (Mark Salter) [1742821] - [arm64] arm64: cpufeature: add feature for CRC32 instructions (Mark Salter) [1742821] - [lib] lib/crc32: make core crc32() routines weak so they can be overridden (Mark Salter) [1742821] - [arm64] arm64: cpu: Move errata and feature enable callbacks closer to callers (Mark Salter) [1742821] - [arm64] arm64: kill config_sctlr_el1() (Mark Salter) [1742821] - [include] ethtool: Add SFF-8436 and SFF-8636 max EEPROM length definitions (Petr Oros) [1757522] - [net] bridge/mdb: remove wrong use of NLM_F_MULTI (Hangbin Liu) [1756799] - [net] bridge: mcast: don't delete permanent entries when fast leave is enabled (Hangbin Liu) [1756799] - [net] bridge: multicast: use rcu to access port list from br_multicast_start_querier (Hangbin Liu) [1756799] - [net] bridge: Fix ethernet header pointer before check skb forwardable (Hangbin Liu) [1756799] - [net] clear skb->tstamp in bridge forwarding path (Hangbin Liu) [1756799] - [net] bridge: br_arp_nd_proxy: set icmp6_router if neigh has NTF_ROUTER (Hangbin Liu) [1756799] - [net] vlan: Inherit MPLS features from parent device (Hangbin Liu) [1724306] - [netdrv] linux/dim: Fix overflow in dim calculation (Ivan Vecera) [1737807] - [lib] dim: Fix -Wunused-const-variable warnings (Ivan Vecera) [1737807] - [lib] linux/dim: Add completions count to dim_sample (Ivan Vecera) [1737807] - [netdrv] linux/dim: Move implementation to .c files (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename externally used net_dim members (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename net_dim_sample() to net_dim_update_sample() (Ivan Vecera) [1737807] - [netdrv] linux/dim: Rename externally exposed macros (Ivan Vecera) [1737807] - [include] linux/dim: Remove "net" prefix from internal DIM members (Ivan Vecera) [1737807] - [include] linux/dim: Move logic to dim.h (Ivan Vecera) [1737807] - [tools] selftests: add a test case for cls_lower handle overflow (Ivan Vecera) [1761512] - [net] idr: introduce idr_for_each_entry_continue_ul() (Ivan Vecera) [1761512] - [net] idr: fix overflow case for idr_for_each_entry_ul() (Ivan Vecera) [1761512] - [net] sctp: add chunks to sk_backlog when the newsk sk_socket is not set (Xin Long) [1734271] - [net] netns: enable to dump full nsid translation table (Petr Oros) [1757748] - [net] netns: enable to specify a nsid for a get request (Petr Oros) [1757748] - [net] netns: add support of NETNSA_TARGET_NSID (Petr Oros) [1757748] - [net] netns: introduce 'struct net_fill_args' (Petr Oros) [1757748] - [net] netns: remove net arg from rtnl_net_fill() (Petr Oros) [1757748] - [net] mpls: fix warning with multi-label encap (Hangbin Liu) [1756788] - [net] mpls: Return error for RTA_GATEWAY attribute (Hangbin Liu) [1756788] - [net] macsec: drop skb sk before calling gro_cells_receive (Xin Long) [1745819] - [net] team: add ethtool get_link_ksettings (Hangbin Liu) [1724896] - [net] sched: flower: don't call synchronize_rcu() on mask creation (Ivan Vecera) [1751856] - [net] sched: flower: refactor reoffload for concurrent access (Ivan Vecera) [1751856] - [net] sched: flower: fix filter net reference counting (Ivan Vecera) [1751856] - [net] sched: flower: use correct ht function to prevent duplicates (Ivan Vecera) [1751856] - [net] sched: flower: insert filter to ht before offloading it to hw (Ivan Vecera) [1751856] - [net] sched: ensure tc flower reoffload takes filter ref (Ivan Vecera) [1751856] - [net] sched: flower: set unlocked flag for flower proto ops (Ivan Vecera) [1751856] - [net] sched: flower: track rtnl lock state (Ivan Vecera) [1751856] - [net] sched: flower: protect flower classifier state with spinlock (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent tcf proto deletion (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent filter insertion in fl_change (Ivan Vecera) [1751856] - [net] sched: flower: protect masks list with spinlock (Ivan Vecera) [1751856] - [net] sched: flower: handle concurrent mask insertion (Ivan Vecera) [1751856] - [net] sched: flower: add reference counter to flower mask (Ivan Vecera) [1751856] - [net] sched: flower: track filter deletion with flag (Ivan Vecera) [1751856] - [net] sched: flower: introduce reference counting for filters (Ivan Vecera) [1751856] - [net] sched: flower: refactor fl_change (Ivan Vecera) [1751856] - [net] sched: flower: don't check for rtnl on head dereference (Ivan Vecera) [1751856] - [kernel] exit from RHEL 8.2 early ystream mode (Phillip Lougher)- [x86] kvm: svm: Remove unneeded WBINVD and DF_FLUSH when starting SEV guests (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Reduce WBINVD/DF_FLUSH invocations (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Guard against DEACTIVATE when performing WBINVD/DF_FLUSH (Janakarajan Natarajan) [1762517] - [x86] kvm: svm: Serialize access to the SEV ASID bitmap (Janakarajan Natarajan) [1762517] - [xen] remove pre-xen3 fallback handlers (Vitaly Kuznetsov) [1759997] - [net] SUNRPC: Count ops completing with tk_status < 0 (Dave Wysochanski) [1636572] - [net] SUNRPC: Use proper printk specifiers for unsigned long long (Dave Wysochanski) [1636572] - [net] SUNRPC: Move call to rpc_count_iostats before rpc_call_done (Dave Wysochanski) [1636572] - [net] SUNRPC: Add tracking of RPC level errors (Dave Wysochanski) [1636572] - [net] SUNRPC: Refactor rpc_restart_call/rpc_restart_call_prepare (Dave Wysochanski) [1636572] - [net] SUNRPC: Fix up task signalling (Dave Wysochanski) [1636572] - [net] SUNRPC: Track writers of the 'channel' file to improve cache_listeners_exist (Dave Wysochanski) [1741333] - [net] sunrpc/cache: handle missing listeners better. (Dave Wysochanski) [1741333] - [pci] PCI/ACPI: Advertise _HPX Type 3 support via _OSC (Myron Stowe) [1712756] - [pci] PCI/ACPI: Implement _HPX Type 3 Setting Record (Myron Stowe) [1712756] - [netdrv] e1000e: Add support for Comet Lake (David Arcari) [1764549] - [netdrv] e1000e: Add support for S0ix (Ken Cox) [1721709] - [netdrv] e1000e: Make speed detection on hotplugging cable more reliable (Ken Cox) [1721709] - [netdrv] ethernet: Delete unnecessary checks before the macro call dev_kfree_skb (Ken Cox) [1721709] - [netdrv] e1000e: add workaround for possible stalled packet (Ken Cox) [1721709] - [netdrv] e1000e: Use dev_get_drvdata where possible (Ken Cox) [1721709] - [netdrv] net: Use skb accessors in network drivers (Ken Cox) [1721709] - [netdrv] e1000e: PCIm function state support (Ken Cox) [1721709] - [netdrv] e1000e: Make watchdog use delayed work (Ken Cox) [1721709] - [netdrv] e1000e: Reduce boot time by tightening sleep ranges (Ken Cox) [1721709] - [netdrv] e1000e: Increase pause and refresh time (Ken Cox) [1721709] - [scsi] scsi: megaraid_sas: Introduce module parameter for default queue depth (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix a compilation warning (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make a bunch of functions static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make some functions static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fix panic on loading firmware crashdump (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fix spelling mistake "megarid_sas" -> "megaraid_sas" (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.710.50.00 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add module parameter for FW Async event logging (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enable msix_load_balance for Invader and later controllers (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix calculation of target ID (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Make some symbols static (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.710.06.00-rc1 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Introduce various Aero performance modes (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Use high IOPS queues based on IO workload (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Set affinity for high IOPS reply queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enable coalescing for high IOPS queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for High IOPS queues (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for MPI toolbox commands (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Offload Aero RAID5/6 division calculations to driver (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: RAID1 PCI bandwidth limit algorithm is applicable for only Ventura (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: megaraid_sas: Add check for count returned by HOST_DEVICE_LIST DCMD (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Handle sequence JBOD map failure at driver level (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Don't send FPIO to RL Bypass queue (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: In probe context, retry IOC INIT once if firmware is in fault (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Release Mutex lock before OCR in case of DCMD timeout (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Call disable_irq from process IRQ poll (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove few debug counters from IO path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add support for Non-secure Aero PCI IDs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add 32 bit atomic descriptor support to AERO adapters (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Use struct_size() helper (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove unused including (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: use DEVICE_ATTR_{RO, RW} (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: use octal permissions instead of constants (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: make max_sectors visible in sys (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variables 'buff_addr' and 'ci_h' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variable 'sge_sz' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variables 'host' and 'wait_time' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: remove set but not used variable 'cur_state' (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Update driver version to 07.708.03.00 (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Export RAID map through debugfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Fix MSI-X vector print (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add debug prints for device list (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add prints in suspend and resume path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print firmware interrupt status (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print FW fault information (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Export RAID map id through sysfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Print BAR information from driver (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Dump system registers for debugging (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Dump system interface regs from sysfs (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Add formatting option for megasas_dump (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enhance internal DCMD timeout prints (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Enhance prints in OCR and TM path (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Load balance completions across all MSI-X (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: IRQ poll to avoid CPU hard lockups (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Block PCI config space access from userspace during OCR (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Rework code around controller reset (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: fw_reset_no_pci_access required for MFI adapters only (Tomas Henzl) [1726251] - [scsi] scsi: megaraid_sas: Remove unused variable target_index (Tomas Henzl) [1726251] - [x86] perf/x86/msr: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/intel: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/cstate: Add Comet Lake CPU support (Michael Petlan) [1763290] - [x86] perf/x86/intel: Update KBL Package C-state events to also include PC8/PC9/PC10 counters (Michael Petlan) [1763290] - [x86] x86/cpu: Add Comet Lake to the Intel CPU models header (Michael Petlan) [1763290] - [s390] s390/qeth: reject oversized SNMP requests (Philipp Rudo) [1726414] - [s390] s390/qeth: serialize cmd reply with concurrent timeout (Philipp Rudo) [1726414] - [s390] s390/qeth: move cast type selection into fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: extract helper for route validation (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate skb RX processing in L3 driver (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate pm code (Philipp Rudo) [1726414] - [s390] s390/qeth: streamline SNMP cmd code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove static cmd buffer infrastructure (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate MPC cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate vnicc cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate diag cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate various cmds with sub-types (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify parameter for simple assist cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: dynamically allocate simple IPA cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: allocate a single cmd on read channel (Philipp Rudo) [1726414] - [s390] s390/qeth: command-chain the IDX sequence (Philipp Rudo) [1726414] - [s390] s390/qeth: convert RCD code to common IO infrastructure (Philipp Rudo) [1726414] - [s390] s390/qeth: add support for dynamically allocated cmds (Philipp Rudo) [1726414] - [s390] s390/qeth: remove 'channel' parameter from callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: convert device-specific trace entries (Philipp Rudo) [1726414] - [s390] s390/qeth: remove OSN-specific IO code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove qeth_wait_for_buffer() (Philipp Rudo) [1726414] - [s390] s390/qeth: clean up setting of BLKT defaults (Philipp Rudo) [1726414] - [s390] s390/qeth: restart pending READ cmd from callback (Philipp Rudo) [1726414] - [s390] s390/qeth: simplify DOWN state handling (Philipp Rudo) [1726414] - [s390] s390/qeth: use mm helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: don't mask TX errors on IQD devices (Philipp Rudo) [1726414] - [s390] s390/qeth: handle error when updating TX queue count (Philipp Rudo) [1726414] - [s390] s390/qeth: fix VLAN attribute in bridge_hostnotify udev event (Philipp Rudo) [1726414] - [s390] s390/qeth: check dst entry before use (Philipp Rudo) [1726414] - [s390] s390/qeth: handle limited IPv4 broadcast in L3 TX path (Philipp Rudo) [1726414] - [s390] s390/qeth: trust non-IP cast type in qeth_l3_fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: extract helper to determine L2 cast type (Philipp Rudo) [1726414] - [s390] s390/qeth: cache max number of available buffer elements (Philipp Rudo) [1726414] - [s390] s390/qeth: don't clear Output buffers on every queue init (Philipp Rudo) [1726414] - [s390] s390/qeth: use IS_* helpers for checking device type (Philipp Rudo) [1726414] - [s390] s390/qeth: clean up stale buffer state documentation (Philipp Rudo) [1726414] - [s390] s390/qeth: remove RX seqno in skb->cb (Philipp Rudo) [1726414] - [s390] s390: qeth: address type mismatch warning (Philipp Rudo) [1726414] - [s390] s390/qeth: stop/wake TX queues based on their fill level (Philipp Rudo) [1726414] - [s390] s390/qeth: simplify QoS code (Philipp Rudo) [1726414] - [s390] s390/qeth: add TX multiqueue support for OSA devices (Philipp Rudo) [1726414] - [s390] s390/qeth: add TX multiqueue support for IQD devices (Philipp Rudo) [1726414] - [s390] s390/qeth: don't keep statistics for tx timeout (Philipp Rudo) [1726414] - [s390] s390/qeth: don't bother updating the last-tx time (Philipp Rudo) [1726414] - [s390] s390/qeth: handle error from qeth_update_from_chp_desc() (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify naming for some QDIO helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: send IDX cmds via qeth_send_control_data() (Philipp Rudo) [1726414] - [s390] s390/qeth: use callback to finalize cmd (Philipp Rudo) [1726414] - [s390] s390/qeth: let qeth_notify_reply() set the notify reason (Philipp Rudo) [1726414] - [s390] s390/qeth: clarify default cmd callback (Philipp Rudo) [1726414] - [s390] s390/qeth: don't poll for cmd IO completion (Philipp Rudo) [1726414] - [s390] s390/qeth: convert IP table spinlock to mutex (Philipp Rudo) [1726414] - [s390] s390/qeth: defer IPv6 address notifier events (Philipp Rudo) [1726414] - [s390] s390/qeth: add wrapper for IP table access (Philipp Rudo) [1726414] - [s390] s390/qeth: remove locking for RX modeset cache (Philipp Rudo) [1726414] - [s390] s390/qeth: defer RX modesetting (Philipp Rudo) [1726414] - [s390] s390/qeth: fix race when initializing the IP address table (Philipp Rudo) [1726414] - [s390] s390/qeth: don't erase configuration while probing (Philipp Rudo) [1726414] - [s390] s390/qeth: drop redundant state checking (Philipp Rudo) [1726414] - [s390] s390/qeth: don't special-case HW trap during suspend (Philipp Rudo) [1726414] - [s390] s390/qeth: remove driver-wide workqueue (Philipp Rudo) [1726414] - [s390] s390/qeth: don't defer close_dev work during recovery (Philipp Rudo) [1726414] - [s390] s390/qeth: remove a redundant check for card->dev (Philipp Rudo) [1726414] - [s390] s390/qeth: call dev_close() during recovery (Philipp Rudo) [1726414] - [s390] s390/qeth: unconditionally clear MAC_REGISTERED flag (Philipp Rudo) [1726414] - [s390] s390/qeth: enable/disable the HW trap a little earlier (Philipp Rudo) [1726414] - [s390] s390/qeth: remove RECOVER state (Philipp Rudo) [1726414] - [s390] s390/qeth: split out OSN netdev ops (Philipp Rudo) [1726414] - [s390] s390/qeth: add support for ETHTOOL_GRINGPARAM (Philipp Rudo) [1726414] - [s390] s390/qeth: overhaul ethtool statistics (Philipp Rudo) [1726414] - [s390] s390/qeth: move ethtool code into its own file (Philipp Rudo) [1726414] - [s390] s390/qeth: reduce ethtool statistics (Philipp Rudo) [1726414] - [s390] s390/qeth: use a static Output Queue array (Philipp Rudo) [1726414] - [s390] s390/qeth: allow manual recovery when device is SOFTSETUP (Philipp Rudo) [1726414] - [s390] s390/qeth: convert remaining legacy cmd callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: convert bridgeport callbacks (Philipp Rudo) [1726414] - [s390] s390/qeth: allow cmd callbacks to return errnos (Philipp Rudo) [1726414] - [s390] s390/qeth: limit trace to valid data of command request (Philipp Rudo) [1726414] - [s390] s390/qeth: align csum offload with TSO control logic (Philipp Rudo) [1726414] - [s390] s390/qeth: enable only required csum offload features (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate filling of low-level cmd length fields (Philipp Rudo) [1726414] - [s390] s390/qeth: reduce data length for ARP cache query (Philipp Rudo) [1726414] - [s390] s390/qeth: remove VLAN tracking for L2 devices (Philipp Rudo) [1726414] - [s390] s390/qeth: detach netdevice while card is offline (Philipp Rudo) [1726414] - [s390] s390/qeth: delay netdevice registration (Philipp Rudo) [1726414] - [s390] s390/qeth: remove TX disable from online path (Philipp Rudo) [1726414] - [s390] s390/qeth: register MAC address earlier (Philipp Rudo) [1726414] - [s390] s390/qeth: consolidate open/stop netdev ops (Philipp Rudo) [1726414] - [s390] s390/qeth: remove bogus netif_wake_queue() (Philipp Rudo) [1726414] - [s390] s390/qeth: streamline TX buffer management (Philipp Rudo) [1726414] - [s390] s390/qeth: don't process hsuid in qeth_l3_setup_netdev() (Philipp Rudo) [1726414] - [s390] s390/qeth: remove unused fallback in Layer3's MAC code (Philipp Rudo) [1726414] - [s390] s390/qeth: remove two IPA command helpers (Philipp Rudo) [1726414] - [s390] s390/qeth: replace open-coded cmd setup (Philipp Rudo) [1726414] - [s390] s390/qeth: remove card list (Philipp Rudo) [1726414] - [s390] s390/qeth: unify transmit code (Philipp Rudo) [1726414] - [s390] s390/qeth: handle af_iucv skbs in qeth_l3_fill_header() (Philipp Rudo) [1726414] - [s390] s390/qeth: sanitize ARP requests (Philipp Rudo) [1726414] - [s390] s390/qdio: restrict QAOB usage to IQD unicast queues (Philipp Rudo) [1726414] - [s390] s390/qdio: add sanity checks to the fast-requeue path (Philipp Rudo) [1726414] - [s390] s390/qdio: don't touch the dsci in tiqdio_add_input_queues() (Philipp Rudo) [1726414] - [s390] s390/qdio: (re-)initialize tiqdio list entries (Philipp Rudo) [1726414] - [s390] s390/qdio: optimize state inspection of HW-owned SBALs (Philipp Rudo) [1726414] - [s390] s390/qdio: use get_buf_state() in debug_get_buf_state() (Philipp Rudo) [1726414] - [s390] s390/qdio: allow to scan all Output SBALs in one go (Philipp Rudo) [1726414] - [s390] s390/qdio: consolidate index tracking for queue scan (Philipp Rudo) [1726414] - [s390] s390/qdio: limit direct access to first_to_check cursor (Philipp Rudo) [1726414] - [s390] s390/qdio: eliminate queue's last_move cursor (Philipp Rudo) [1726414] - [s390] s390/qdio: simplify SBAL range calculation (Philipp Rudo) [1726414] - [s390] s390/qdio: pass up count of ready-to-process SBALs (Philipp Rudo) [1726414] - [s390] s390/qdio: fix output of DSCI value in debug file (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up qdio_check_outbound_after_thinint() (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up pci_out_supported() (Philipp Rudo) [1726414] - [s390] s390/qdio: make SBAL address array type-safe (Philipp Rudo) [1726414] - [s390] s390/qdio: clean up AOB handling (Philipp Rudo) [1726414] - [s390] s390/ccwgroup: add get_ccwgroupdev_by_busid() (Philipp Rudo) [1726414]- [net] xprtrdma: Remove stale comment (Kamal Heib) [1720891] - [net] xprtrdma: Update comments that reference ib_drain_qp (Kamal Heib) [1720891] - [net] xprtrdma: Remove pr_err() call sites from completion handlers (Kamal Heib) [1720891] - [net] xprtrdma: Eliminate struct rpcrdma_create_data_internal (Kamal Heib) [1720891] - [net] xprtrdma: Aggregate the inline settings in struct rpcrdma_ep (Kamal Heib) [1720891] - [net] xprtrdma: Remove rpcrdma_create_data_internal::rsize and wsize (Kamal Heib) [1720891] - [net] xprtrdma: Eliminate rpcrdma_ia::ri_device (Kamal Heib) [1720891] - [net] xprtrdma: More Send completion batching (Kamal Heib) [1720891] - [net] xprtrdma: Clean up sendctx functions (Kamal Heib) [1720891] - [net] xprtrdma: Trace marshaling failures (Kamal Heib) [1720891] - [net] xprtrdma: Increase maximum number of backchannel requests (Kamal Heib) [1720891] - [net] xprtrdma: Backchannel can use GFP_KERNEL allocations (Kamal Heib) [1720891] - [net] xprtrdma: Clean up regbuf helpers (Kamal Heib) [1720891] - [net] xprtrdma: De-duplicate "allocate new, free old regbuf" (Kamal Heib) [1720891] - [net] xprtrdma: Allocate req's regbufs at xprt create time (Kamal Heib) [1720891] - [net] xprtrdma: rpcrdma_regbuf alignment (Kamal Heib) [1720891] - [net] xprtrdma: Clean up rpcrdma_create_rep() and rpcrdma_destroy_rep() (Kamal Heib) [1720891] - [net] xprtrdma: Clean up rpcrdma_create_req() (Kamal Heib) [1720891] - [scsi] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 502 (Kamal Heib) [1720891] - [infiniband] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Kamal Heib) [1720891] - [net] xprtrdma: Use struct_size() in kzalloc() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Fix panic when port_data isn't initialized (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Pass udata on uverbs error unwind (Kamal Heib) [1720891] - [infiniband] RDMA/core: Clear out the udata before error unwind (Kamal Heib) [1720891] - [infiniband] RDMA/srp: Rename SRP sysfs name after IB device rename trigger (Kamal Heib) [1720891] - [infiniband] treewide: Add SPDX license identifier - Makefile/Kconfig (Kamal Heib) [1720891] - [infiniband] RDMA/core: Change system parameters callback from dumpit to doit (Kamal Heib) [1720891] - [infiniband] RDMA: Directly cast the sockaddr union to sockaddr (Kamal Heib) [1720891] - [infiniband] RDMA/ipoib: Allow user space differentiate between valid dev_port (Kamal Heib) [1720891] - [infiniband] RDMA/device: Don't fire uevent before device is fully initialized (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Remove hugetlb flag (Kamal Heib) [1720891] - [infiniband] RDMA/bnxt_re: Use core helpers to get aligned DMA address (Kamal Heib) [1720891] - [infiniband] RDMA/bnxt_re: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720891] - [infiniband] RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size (Kamal Heib) [1720891] - [infiniband] RDMA/i40iw: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720891] - [infiniband] RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Add API to find best driver supported page size in an MR (Kamal Heib) [1720891] - [infiniband] RDMA/core: Allow detaching gid attribute netdevice for RoCE (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Use rdma_read_gid_attr_ndev_rcu to access netdev (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev (Kamal Heib) [1720891] - [infiniband] RDMA: Introduce and use GID attr helper to read RoCE L2 fields (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Add vlan enable bit for hip08 (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Update some fields of qp context (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Delete unused variable in hns_roce_v2_modify_qp function (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Add enable judgement for UD vlan (Kamal Heib) [1720891] - [infiniband] IB/mlx5: Consider vlan of lower netdev for macvlan GID entries (Kamal Heib) [1720891] - [infiniband] IB/cm: Reduce dependency on gid attribute ndev check (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Consider skb reserve space based on netdev of GID (Kamal Heib) [1720891] - [infiniband] RDMA: Get rid of iw_cm_verbs (Kamal Heib) [1720891] - [infiniband] RDMA/cxgb4: Use ib_device_set_netdev() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Do not invoke init_port on compat devices (Kamal Heib) [1720891] - [infiniband] IB/core: Set qp->real_qp before it may be accessed (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in ib_uverbs_get_context (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Initialize udata struct on destroy flows (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Handle page combining avoidance correctly in ib_umem_add_sg_table() (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce RDMA subsystem ibdev_* print functions (Kamal Heib) [1720891] - [infiniband] uverbs: Convert idr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Remove rdma_user_mmap_page (Kamal Heib) [1720891] - [infiniband] RDMA/mlx5: Use get_zeroed_page() for clock_info (Kamal Heib) [1720891] - [infiniband] RDMA/mlx5: Do not allow the user to write to the clock page (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Consider scope_id while binding to ipv6 ll address (Kamal Heib) [1720891] - [infiniband] IB/core: Allow vlan link local address based RoCE GIDs (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add a netlink command to change net namespace of rdma device (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce a helper function to change net namespace of rdma device (Kamal Heib) [1720891] - [infiniband] RDMA/core: Avoid freeing netdevs in disable_device() (Kamal Heib) [1720891] - [infiniband] RDMA/ocrdma: Remove use of idr use pci bdf instead (Kamal Heib) [1720891] - [infiniband] RDMA/drivers: Convert easy drivers to use ib_device_set_netdev() (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Use correct value for SG entries in sg_copy_to_buffer() (Kamal Heib) [1720891] - [infiniband] RDMA: Handle SRQ allocations by IB/core (Kamal Heib) [1720891] - [infiniband] qedr: Convert srqidr to XArray (Kamal Heib) [1720891] - [infiniband] qedr: Convert qpidr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Handle AH allocations by IB/core (Kamal Heib) [1720891] - [infiniband] RDMA/hns: Fix bad endianess of port_pd variable (Kamal Heib) [1720891] - [infiniband] RDMA/mad: Reduce MAD scope to mlx5_ib only (Kamal Heib) [1720891] - [infiniband] RDMA/ocrdma: Remove a set-but-not-used variable (Kamal Heib) [1720891] - [infiniband] RDMA/core: Support object allocation in atomic context (Kamal Heib) [1720891] - [infiniband] IB: When attrs.udata/ufile is available use that instead of uobject (Kamal Heib) [1720891] - [infiniband] RDMA/nldev: Return device protocol (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Move debug counters to be under relevant IB device (Kamal Heib) [1720891] - [infiniband] RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Remove useless zeroing of static global variable (Kamal Heib) [1720891] - [infiniband] RDMA/cma: Set proper port number as index (Kamal Heib) [1720891] - [infiniband] IB: Pass only ib_udata in function prototypes (Kamal Heib) [1720891] - [infiniband] IB: Remove 'uobject->context' dependency in object destroy APIs (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert mmidr to XArray (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert qpidr to XArray (Kamal Heib) [1720891] - [infiniband] cxgb4: Convert cqidr to XArray (Kamal Heib) [1720891] - [infiniband] IB: Pass uverbs_attr_bundle down ib_x destroy path (Kamal Heib) [1720891] - [infiniband] IB: Pass uverbs_attr_bundle down uobject destroy path (Kamal Heib) [1720891] - [infiniband] IB: ucontext should be set properly for all cmd & ioctl paths (Kamal Heib) [1720891] - [infiniband] RDMA/core: Don't compare specific bit after boolean AND (Kamal Heib) [1720891] - [infiniband] RDMA/netlink: Remove unused data structure (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add command to set ib_core device net namspace sharing mode (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add interface to read device namespace sharing mode (Kamal Heib) [1720891] - [infiniband] RDMA/core: Extend ib_device_get_by_index for net namespace (Kamal Heib) [1720891] - [infiniband] RDMA: Check net namespace access for uverbs, umad, cma and nldev (Kamal Heib) [1720891] - [infiniband] RDMA/core: Add module param to disable device sharing among net ns (Kamal Heib) [1720891] - [infiniband] RDMA/core: Support core port attributes in non init_net (Kamal Heib) [1720891] - [infiniband] RDMA/core: Implement compat device/sysfs tree in net namespace (Kamal Heib) [1720891] - [infiniband] RDMA/core: Restrict sysfs entries view to init_net (Kamal Heib) [1720891] - [infiniband] RDMA/core: Introduce ib_core_device to hold device (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1720891] - [infiniband] RDMA/mthca: Use correct sizing on buffers holding page DMA addresses (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Allow the compiler to verify declaration and definition consistency (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Annotate uverbs_request_next_ptr() return value as a __user pointer (Kamal Heib) [1720891] - [infiniband] RDMA/uverbs: Add a __user annotation to a pointer (Kamal Heib) [1720891] - [infiniband] IB/rxe: Replace av->network_type with skb->protocol (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add SMP details to MAD tracing (Kamal Heib) [1720891] - [infiniband] IB/UMAD: Add umad trace points (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add agent trace points (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add recv path trace point (Kamal Heib) [1720891] - [infiniband] IB/MAD: Add send path trace points (Kamal Heib) [1720891] - [infiniband] RDMA/vmw_pvrdma: Skip zeroing device attrs (Kamal Heib) [1720891] - [infiniband] IB/iser: remove uninitialized variable len (Kamal Heib) [1720891] - [infiniband] IB/core: Ensure an invalidate_range callback on ODP MR (Kamal Heib) [1720891] - [infiniband] RDMA/rxe: Fix slab-out-bounds access which lead to kernel crash later (Kamal Heib) [1720891] - [infiniband] drivers: infiniband: Fix whitespace in kconfig (Kamal Heib) [1720891] - [infiniband] RDMA/nes: remove redundant check on udata (Kamal Heib) [1720891] - [infiniband] cma: Convert portspace IDRs to XArray (Kamal Heib) [1720891] - [infiniband] ucm: Convert ctx_id_table to XArray (Kamal Heib) [1720891] - [infiniband] ib core: Convert query_idr to XArray (Kamal Heib) [1720891] - [infiniband] RDMA/cm: Convert local_id_table to XArray (Kamal Heib) [1720891] - [infiniband] IB/mad: Convert ib_mad_clients to XArray (Kamal Heib) [1720891] - [infiniband] RDMA: Use __packed annotation instead of __attribute__ ((packed)) (Kamal Heib) [1720891] - [char] tpm: Remove a deprecated comments about implicit sysfs locking (Jerry Snitselaar) [1725580 1742257] - [char] tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts (Jerry Snitselaar) [1725580 1742257] - [char] tpm_tis_core: Turn on the TPM before probing IRQ's (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Fix null pointer dereference on chip register error path (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Actually fail on TPM errors during "get random" (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 505 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 399 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Add SPDX license identifier - Makefile/Kconfig (Jerry Snitselaar) [1725580 1742257] - [tools] selftests/tpm2: Open tpm dev in unbuffered mode (Jerry Snitselaar) [1725580 1742257] - [tools] selftests/tpm2: Extend tests to cover partial reads (Jerry Snitselaar) [1725580 1742257] - [tools] selftests: add TPM 2.0 tests (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: fix -Wvarags warning (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: Move trusted.h to include/keys [ver #2] (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: Expose common functionality [ver #2] (Jerry Snitselaar) [1725580 1742257] - [char] tpm: Wrap the buffer from the caller to tpm_buf in tpm_send() (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: correctly initialize digests and fix locking issue (Jerry Snitselaar) [1725580 1742257] - [security] KEYS: trusted: allow module init if TPM is inactive or deactivated (Jerry Snitselaar) [1725580 1742257] - [net] net/smc: make sure EPOLLOUT is raised (Philipp Rudo) [1726415] - [net] net/smc: avoid fallback in case of non-blocking connect (Philipp Rudo) [1726415] - [net] net/smc: do not schedule tx_work in SMC_CLOSED state (Philipp Rudo) [1726415] - [net] net/smc: common release code for non-accepted sockets (Philipp Rudo) [1726415] - [net] net/smc: Fix error path in smc_init (Philipp Rudo) [1726415] - [net] net/smc: hold conns_lock before calling smc_lgr_register_conn() (Philipp Rudo) [1726415] - [dma] dmaengine: ioatdma: support latency tolerance report (LTR) for v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: add descriptor pre-fetch support for v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: disable DCA enabling on IOATDMA v3.4 (Jerry Snitselaar) [1661996] - [dma] dmaengine: ioatdma: Add Snow Ridge ioatdma device id (Jerry Snitselaar) [1661996] - [kernel] mutex: Fix up mutex_waiter usage (Waiman Long) [1736609] - [kernel] locking/mutex: Use mutex flags macro instead of hard code (Waiman Long) [1736609] - [kernel] locking/mutex: Make __mutex_owner static to mutex.c (Waiman Long) [1736609] - [kernel] locking/mutex: Test for initialized mutex (Waiman Long) [1736609] - [kernel] kernel/locking/mutex.c: remove caller signal_pending branch predictions (Waiman Long) [1736609] - [kernel] Revert "locking/pvqspinlock: Don't wait if vCPU is preempted" (Waiman Long) [1736609] - [kernel] locking/rwsem: Check for operations on an uninitialized rwsem (Waiman Long) [1736609] - [kernel] locking/rwsem: Make handoff writer optimistically spin on owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Add ACQUIRE comments (Waiman Long) [1736609] - [tty] tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop (Waiman Long) [1736609] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath sleep loop (Waiman Long) [1736609] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath exit when queue is empty (Waiman Long) [1736609] - [kernel] locking/rwsem: Don't call owner_on_cpu() on read-owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Guard against making count negative (Waiman Long) [1736609] - [kernel] locking/rwsem: Adaptive disabling of reader optimistic spinning (Waiman Long) [1736609] - [kernel] locking/rwsem: Enable time-based spinning on reader-owned rwsem (Waiman Long) [1736609] - [kernel] locking/rwsem: Make rwsem->owner an atomic_long_t (Waiman Long) [1736609] - [kernel] locking/rwsem: Enable readers spinning on writer (Waiman Long) [1736609] - [kernel] locking/rwsem: Clarify usage of owner's nonspinaable bit (Waiman Long) [1736609] - [kernel] locking/rwsem: Wake up almost all readers in wait queue (Waiman Long) [1736609] - [kernel] locking/rwsem: More optimal RT task handling of null owner (Waiman Long) [1736609] - [kernel] locking/rwsem: Always release wait_lock before waking up tasks (Waiman Long) [1736609] - [kernel] locking/rwsem: Implement lock handoff to prevent lock starvation (Waiman Long) [1736609] - [kernel] locking/rwsem: Make rwsem_spin_on_owner() return owner state (Waiman Long) [1736609] - [kernel] locking/rwsem: Code cleanup after files merging (Waiman Long) [1736609] - [kernel] locking/rwsem: Add rwsem_init.c to keep __init_rwsem() kABI (Waiman Long) [1736609] - [kernel] locking/rwsem: Merge rwsem.h and rwsem-xadd.c into rwsem.c (Waiman Long) [1736609] - [kernel] locking/rwsem: Implement a new locking scheme (Waiman Long) [1736609] - [kernel] locking/rwsem: Remove rwsem_wake() wakeup optimization (Waiman Long) [1736609] - [kernel] locking/rwsem: Make owner available even if !CONFIG_RWSEM_SPIN_ON_OWNER (Waiman Long) [1736609] - [kernel] locking/lock_events: Use raw_cpu_{add, inc}() for stats (Waiman Long) [1736609] - [kernel] locking/lock_events: Use this_cpu_add() when necessary (Waiman Long) [1736609] - [kernel] locking/rwsem: Revert "[kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath ..." (Waiman Long) [1736609] - [block] block: don't release queue's sysfs lock during switching elevator (Ming Lei) [1760151] - [block] blk-mq: move lockdep_assert_held() into elevator_exit (Ming Lei) [1760151] - [block] block: fix race between switching elevator and removing queues (Ming Lei) [1760151] - [md] raid5: use bio_end_sector in r5_next_bio (Nigel Croxon) [1754949] - [md] raid5: remove STRIPE_OPS_REQ_PENDING (Nigel Croxon) [1754949] - [md] md: add feature flag MD_FEATURE_RAID0_LAYOUT (Nigel Croxon) [1754949] - [md] md/raid0: avoid RAID0 data corruption due to layout confusion. (Nigel Croxon) [1754949] - [md] raid5: don't set STRIPE_HANDLE to stripe which is in batch list (Nigel Croxon) [1754949] - [md] raid5: don't increment read_errors on EILSEQ return (Nigel Croxon) [1754949] - [md] md/raid5: use bio_end_sector to calculate last_sector (Nigel Croxon) [1730670] - [md] md/raid1: fail run raid1 array when active disk less than one (Nigel Croxon) [1730670] - [md] md raid0/linear: Mark array as 'broken' and fail BIOs if a member is gone (Nigel Croxon) [1730670] - [md] raid5 improve too many read errors msg by adding limits (Nigel Croxon) [1730670] - [md] md: don't report active array_state until after revalidate_disk() completes. (Nigel Croxon) [1730670] - [md] md: only call set_in_sync() when it is expected to succeed. (Nigel Croxon) [1730670] - [md] raid1: factor out a common routine to handle the completion of sync write (Nigel Croxon) [1730670] - [md] md: don't call spare_active in md_reap_sync_thread if all member devices can't work (Nigel Croxon) [1730670] - [md] md: don't set In_sync if array is frozen (Nigel Croxon) [1730670] - [md] md: allow last device to be forcibly removed from RAID1/RAID10. (Nigel Croxon) [1730670] - [md] md/raid10: end bio when the device faulty (Nigel Croxon) [1730670] - [md] md/raid1: end bio when the device faulty (Nigel Croxon) [1730670] - [md] md/raid6: Set R5_ReadError when there is read failure on parity disk (Nigel Croxon) [1730670] - [md] raid1: use an int as the return value of raise_barrier() (Nigel Croxon) [1730670] - [md] md/raid1: Fix a warning message in remove_wb() (Nigel Croxon) [1730670] - [crypto] crypto: ccp - Fix SEV_VERSION_GREATER_OR_EQUAL (Gary Hook) [1754634] - [crypto] crypto: ccp - Do not free psp_master when PLATFORM_INIT fails (Gary Hook) [1754634] - [crypto] crypto: ccp - Use kmemdup in ccp_copy_and_save_keypart() (Gary Hook) [1754634] - [crypto] crypto: ccp - introduce SEV_GET_ID2 command (Gary Hook) [1754634] - [netdrv] e1000e: start network tx queue only when link is up (Oleksandr Natalenko) [1747869] - [netdrv] Revert "e1000e: fix cyclic resets at link up with active tx" (Oleksandr Natalenko) [1747869] - [mm] mm/zsmalloc.c: fix build when CONFIG_COMPACTION=n (Rafael Aquini) [1735181] - [mm] mm/zsmalloc.c: fix race condition in zs_destroy_pool (Rafael Aquini) [1735181] - [mm] mm/zsmalloc.c: migration can leave pages in ZS_EMPTY indefinitely (Rafael Aquini) [1735181] - [mm] mm, page_owner: handle THP splits correctly (Rafael Aquini) [1735181] - [mm] hugetlbfs: fix hugetlb page migration/fault race causing SIGBUS (Rafael Aquini) [1735181] - [mm] mm/usercopy: use memory range to be accessed for wraparound check (Rafael Aquini) [1735181] - [mm] mm/memcontrol.c: fix use after free in mem_cgroup_iter() (Rafael Aquini) [1735181] - [mm] mm/hmm: fix bad subpage pointer in try_to_unmap_one (Rafael Aquini) [1735181] - [mm] mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab shrinker (Rafael Aquini) [1735181] - [mm] mm: revert "kmemleak: allow to coexist with fault injection" (Rafael Aquini) [1735181] - [mm] mm/vmalloc: sync unmappings in __purge_vmap_area_lazy() (Rafael Aquini) [1735181] - [mm] mm/vmalloc.c: add priority threshold to __purge_vmap_area_lazy() (Rafael Aquini) [1735181] - [mm] mm/cma.c: fail if fixed declaration can't be honored (Rafael Aquini) [1735181] - [mm] mm/mmu_notifier: use hlist_add_head_rcu() (Rafael Aquini) [1735181] - [mm] mm/mincore.c: fix race between swapoff and mincore (Rafael Aquini) [1735181] - [mm] mm, swap: fix race between swapoff and some swap operations (Rafael Aquini) [1735181] - [mm] mm/failslab.c: by default, do not fail allocations with direct reclaim only (Rafael Aquini) [1735181] - [mm] mm: vmscan: scan anonymous pages on file refaults (Rafael Aquini) [1735181] - [mm] mm/vmscan.c: prevent useless kswapd loops (Rafael Aquini) [1735181] - [mm] mm/page_idle.c: fix oops because end_pfn is larger than max_pfn (Rafael Aquini) [1760459 1735181] - [mm] mm/mempolicy.c: fix an incorrect rebind node in mpol_rebind_nodemask (Rafael Aquini) [1735181] - [mm] mm/vmscan.c: fix trying to reclaim unevictable LRU page (Rafael Aquini) [1735181] - [mm] mm/mlock.c: change count_mm_mlocked_page_nr return type (Rafael Aquini) [1735181] - [mm] mm/mlock.c: mlockall error for flag MCL_ONFAULT (Rafael Aquini) [1735181] - [mm] mm/list_lru.c: fix memory leak in __memcg_init_list_lru_node (Rafael Aquini) [1735181] - [mm] memcg: make it work on sparse non-0-node systems (Rafael Aquini) [1735181] - [mm] prctl_set_mm: downgrade mmap_sem to read lock (Rafael Aquini) [1735181] - [mm] mm/debug.c: fix __dump_page when mapping->host is not set (Rafael Aquini) [1735181] - [mm] mm/debug.c: fix __dump_page() for poisoned pages (Rafael Aquini) [1735181] - [mm] mm: update references to page _refcount (Rafael Aquini) [1735181] - [mm] mm: lower the printk loglevel for __dump_page messages (Rafael Aquini) [1735181] - [mm] mm: print more information about mapping in __dump_page (Rafael Aquini) [1735181] - [mm] hugetlb: use same fault hash key for shared and private mappings (Rafael Aquini) [1735181] - [mm] mm/hugetlb.c: don't put_page in lock of hugetlb_lock (Rafael Aquini) [1735181] - [mm] mm: fix inactive list balancing between NUMA nodes and cgroups (Rafael Aquini) [1735181] - [mm] mm/migrate.c: add missing flush_dcache_page for non-mapped page migrate (Rafael Aquini) [1735181] - [mm] mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified (Rafael Aquini) [1734286 1735181] - [mm] mm/hotplug: fix offline undo_isolate_page_range() (Rafael Aquini) [1735181] - [mm] mm/sparse: fix a bad comparison (Rafael Aquini) [1735181] - [mm] mm, swap: bounds check swap_info array accesses to avoid NULL derefs (Rafael Aquini) [1735181] - [mm] mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap() (Rafael Aquini) [1735181] - [mm] mm: hwpoison: fix thp split handing in soft_offline_in_use_page() (Rafael Aquini) [1735181] - [mm] hugetlbfs: fix races and page leaks during migration (Rafael Aquini) [1735181] - [mm] tmpfs: fix uninitialized return value in shmem_link (Rafael Aquini) [1735181] - [mm] tmpfs: fix link accounting when a tmpfile is linked in (Rafael Aquini) [1735181] - [mm] mm: migrate: don't rely on __PageMovable() of newpage after unlocking it (Rafael Aquini) [1735181] - [mm] oom, oom_reaper: do not enqueue same task twice (Rafael Aquini) [1735181] - [mm] mm: page_mapped: don't assume compound page is huge or THP (Rafael Aquini) [1735181] - [mm] mm, memcg: fix reclaim deadlock with writeback (Rafael Aquini) [1735181] - [mm] mm, swap: fix swapoff with KSM pages (Rafael Aquini) [1735181] - [mm] mm/huge_memory: fix lockdep complaint on 32-bit i_size_read() (Rafael Aquini) [1735181] - [mm] mm/huge_memory: splitting set mapping+index before unfreeze (Rafael Aquini) [1735181] - [mm] mm/huge_memory: rename freeze_page() to unmap_page() (Rafael Aquini) [1735181] - [mm] mm/page_alloc.c: fix calculation of pgdat->nr_zones (Rafael Aquini) [1735181] - [mm] mm: use swp_offset as key in shmem_replace_page() (Rafael Aquini) [1735181] - [mm] mm: cleancache: fix corruption on missed inode invalidation (Rafael Aquini) [1735181] - [mm] mm/vmstat.c: fix NUMA statistics updates (Rafael Aquini) [1735181] - [mm] mm, swap: make CONFIG_THP_SWAP depend on CONFIG_SWAP (Rafael Aquini) [1735181] - [mm] ARM: 8820/1: mm: Stop printing the virtual memory layout (Rafael Aquini) [1655192] - [netdrv] net: dsa: bcm_sf2: Remove print of base address (Rafael Aquini) [1655192] - [netdrv] net: systemport: Remove print of base address (Rafael Aquini) [1655192] - [netdrv] net: phy: mdio-bcm-unimac: Remove print of base address (Rafael Aquini) [1655192] - [x86] x86/mm: Don't leak kernel addresses (Rafael Aquini) [1655192] - [x86] x86/realmode: Make set_real_mode_mem() static inline (Rafael Aquini) [1655192] - [x86] x86/realmode: Don't leak the trampoline kernel address (Rafael Aquini) [1655192] - [arm64] arm64/vdso: don't leak kernel addresses (Rafael Aquini) [1655192] - [powerpc] powerpc/traps: Fix the message printed when stack overflows (Rafael Aquini) [1655192] - [kernel] kdb: print real address of pointers instead of hashed addresses (Rafael Aquini) [1655192] - [kernel] kdb: use correct pointer when 'btc' calls 'btt' (Rafael Aquini) [1655192]- [fs] signal: Allow cifs and drbd to receive their terminating signals (Leif Sahlberg) [1757670] - [fs] smb3: fix unmount hang in open_shroot (Leif Sahlberg) [1757670] - [fs] cifs: update internal module number (Leif Sahlberg) [1757670] - [fs] cifs: replace various strncpy with strscpy and similar (Leif Sahlberg) [1757670] - [fs] cifs: Use kzfree() to zero out the password (Leif Sahlberg) [1757670] - [fs] cifs: set domainName when a domain-key is used in multiuser (Leif Sahlberg) [1757670] - [fs] SMB3: Kernel oops mounting a encryptData share with CONFIG_DEBUG_VIRTUAL (Leif Sahlberg) [1757670] - [fs] smb3: send CAP_DFS capability during session setup (Leif Sahlberg) [1757670] - [fs] SMB3: Fix potential memory leak when processing compound chain (Leif Sahlberg) [1757670] - [fs] SMB3: Fix deadlock in validate negotiate hits reconnect (Leif Sahlberg) [1757670] - [fs] cifs: fix rmmod regression in cifs.ko caused by force_sig changes (Leif Sahlberg) [1757670] - [fs] cifs: update internal module number (Leif Sahlberg) [1757670] - [fs] cifs: flush before set-info if we have writeable handles (Leif Sahlberg) [1757670] - [fs] smb3: optimize open to not send query file internal info (Leif Sahlberg) [1757670] - [fs] CIFS: fix deadlock in cached root handling (Leif Sahlberg) [1757670] - [fs] cifs: fix crash in cifs_dfs_do_automount (Leif Sahlberg) [1757670] - [fs] cifs: fix parsing of symbolic link error response (Leif Sahlberg) [1757670] - [fs] cifs: refactor and clean up arguments in the reparse point parsing (Leif Sahlberg) [1757670] - [fs] SMB3: query inode number on open via create context (Leif Sahlberg) [1757670] - [fs] smb3: Send netname context during negotiate protocol (Leif Sahlberg) [1757670] - [fs] smb3: do not send compression info by default (Leif Sahlberg) [1757670] - [fs] smb3: add new mount option to retrieve mode from special ACE (Leif Sahlberg) [1757670] - [fs] smb3: Allow query of symlinks stored as reparse points (Leif Sahlberg) [1757670] - [fs] cifs: Fix a race condition with cifs_echo_request (Leif Sahlberg) [1757670] - [fs] cifs: always add credits back for unsolicited PDUs (Leif Sahlberg) [1757670] - [fs] fs: cifs: cifsssmb: Change return type of convert_ace_to_cifs_ace (Leif Sahlberg) [1757670] - [fs] add some missing definitions (Leif Sahlberg) [1757670] - [fs] cifs: fix typo in debug message with struct field ia_valid (Leif Sahlberg) [1757670] - [fs] smb3: minor cleanup of compound_send_recv (Leif Sahlberg) [1757670] - [fs] CIFS: Fix module dependency (Leif Sahlberg) [1757670] - [fs] cifs: simplify code by removing CONFIG_CIFS_ACL ifdef (Leif Sahlberg) [1757670] - [fs] cifs: Fix check for matching with existing mount (Leif Sahlberg) [1757670] - [fs] cifs: Properly handle auto disabling of serverino option (Leif Sahlberg) [1757670] - [fs] smb3: if max_credits is specified then display it in /proc/mounts (Leif Sahlberg) [1757670] - [fs] Fix match_server check to allow for auto dialect negotiate (Leif Sahlberg) [1757670] - [fs] cifs: add missing GCM module dependency (Leif Sahlberg) [1757670] - [fs] SMB3.1.1: Add GCM crypto to the encrypt and decrypt functions (Leif Sahlberg) [1757670] - [fs] SMB3: Add SMB3.1.1 GCM to negotiated crypto algorigthms (Leif Sahlberg) [1757670] - [fs] fs: cifs: Drop unlikely before IS_ERR(_OR_NULL) (Leif Sahlberg) [1757670] - [fs] cifs: Use kmemdup in SMB2_ioctl_init() (Leif Sahlberg) [1757670] - [fs] SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write (Leif Sahlberg) [1757670] - [fs] cifs: fix panic in smb2_reconnect (Leif Sahlberg) [1757670] - [fs] CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM (Leif Sahlberg) [1757670] - [fs] dfs_cache: fix a wrong use of kfree in flush_cache_ent() (Leif Sahlberg) [1757670] - [fs] fs/cifs/smb2pdu.c: fix buffer free in SMB2_ioctl_free (Leif Sahlberg) [1757670] - [fs] cifs: fix memory leak of pneg_inbuf on -EOPNOTSUPP ioctl case (Leif Sahlberg) [1757670] - [fs] cifs: add support for SEEK_DATA and SEEK_HOLE (Leif Sahlberg) [1757670] - [fs] cifs: Allocate memory for all iovs in smb2_ioctl (Leif Sahlberg) [1757670] - [fs] cifs: Don't match port on SMBDirect transport (Leif Sahlberg) [1757670] - [fs] cifs:smbd Use the correct DMA direction when sending data (Leif Sahlberg) [1757670] - [fs] cifs:smbd When reconnecting to server, call smbd_destroy() after all MIDs have been called (Leif Sahlberg) [1757670] - [fs] smb3: trivial cleanup to smb2ops.c (Leif Sahlberg) [1757670] - [fs] cifs: cleanup smb2ops.c and normalize strings (Leif Sahlberg) [1757670] - [fs] smb3: display session id in debug data (Leif Sahlberg) [1757670] - [fs] cifs: update module internal version number (Leif Sahlberg) [1757670] - [fs] cifs: fix crash querying symlinks stored as reparse-points (Leif Sahlberg) [1757670] - [fs] SMB3: Clean up query symlink when reparse point (Leif Sahlberg) [1757670] - [fs] cifs: fix strcat buffer overflow and reduce raciness in smb21_set_oplock_level() (Leif Sahlberg) [1757670] - [fs] Negotiate and save preferred compression algorithms (Leif Sahlberg) [1757670] - [fs] cifs: rename and clarify CIFS_ASYNC_OP and CIFS_NO_RESP (Leif Sahlberg) [1757670] - [fs] smb3: Add protocol structs for change notify support (Leif Sahlberg) [1757670] - [fs] cifs: fix smb3_zero_range for Azure (Leif Sahlberg) [1757670] - [fs] cifs: zero-range does not require the file is sparse (Leif Sahlberg) [1757670] - [fs] Add new flag on SMB3.1.1 read (Leif Sahlberg) [1757670] - [fs] cifs: add fiemap support (Leif Sahlberg) [1757670] - [fs] SMB3: Add defines for new negotiate contexts (Leif Sahlberg) [1757670] - [fs] cifs: fix bi-directional fsctl passthrough calls (Leif Sahlberg) [1757670] - [fs] cifs: smbd: take an array of reqeusts when sending upper layer data (Leif Sahlberg) [1757670] - [fs] SMB3: Add handling for different FSCTL access flags (Leif Sahlberg) [1757670] - [fs] cifs: Add support for FSCTL passthrough that write data to the server (Leif Sahlberg) [1757670] - [fs] cifs: remove superfluous inode_lock in cifs_{strict_}fsync (Leif Sahlberg) [1757670] - [fs] cifs: Call MID callback before destroying transport (Leif Sahlberg) [1757670] - [fs] smbd: Make upper layer decide when to destroy the transport (Leif Sahlberg) [1757670] - [fs] SMB3: update comment to clarify enumerating snapshots (Leif Sahlberg) [1757670] - [fs] CIFS: check CIFS_MOUNT_NO_DFS when trying to reuse existing sb (Leif Sahlberg) [1757670] - [fs] CIFS: Show locallease in /proc/mounts for cifs shares mounted with locallease feature. (Leif Sahlberg) [1757670] - [fs] cifs: Fix DFS cache refresher for DFS links (Leif Sahlberg) [1757670] - [fs] cifs: don't use __constant_cpu_to_le32() (Leif Sahlberg) [1757670] - [fs] SMB3: Track total time spent on roundtrips for each SMB3 command (Leif Sahlberg) [1757670] - [fs] cifs: use the right include for signal_pending() (Leif Sahlberg) [1757670] - [fs] CIFS: Mask off signals when sending SMB packets (Leif Sahlberg) [1757670] - [infiniband] RDMA/umem: Revert broken 'off by one' fix (Kamal Heib) [1720888] - [infiniband] RDMA/umem: minor bug fix in error handling path (Kamal Heib) [1720888] - [infiniband] RDMA/uverbs: Don't do double free of allocated PD (Kamal Heib) [1720888] - [infiniband] RDMA: Handle ucontext allocations by IB/core (Kamal Heib) [1720888] - [infiniband] cross-tree: phase out dma_zalloc_coherent() (Kamal Heib) [1720888] - [infiniband] RDMA/core: Fix a WARN() message (Kamal Heib) [1720888] - [infiniband] RDMA/uverbs: Store PR pointer before it is overwritten (Kamal Heib) [1720888] - [infiniband] RDMA/core: Cosmetic change - move member initialization to correct block (Kamal Heib) [1720888] - [infiniband] rdma_rxe: Use netlink messages to add/delete links (Kamal Heib) [1720888] - [infiniband] RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Close a race after ib_register_device (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Add ib_device_get_by_name() and use it in rxe (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Use driver_unregister and new unregistration API (Kamal Heib) [1720888] - [infiniband] RDMA/device: Provide APIs from the core code to help unregistration (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding (Kamal Heib) [1720888] - [infiniband] RDMA/device: Add ib_device_get_by_netdev() (Kamal Heib) [1720888] - [infiniband] RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev (Kamal Heib) [1720888] - [infiniband] RDMA/cache: Move the cache per-port data into the main ib_port_data (Kamal Heib) [1720888] - [infiniband] RDMA/device: Consolidate ib_device per_port data into one place (Kamal Heib) [1720888] - [infiniband] RDMA: Add and use rdma_for_each_port (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Don't expose number of not-visible entries (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Connect QP number to .doit callback (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Provide parent IDs for PD, MR and QP objects (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Share with user-space object IDs (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Prepare restrack_root to addition of extra fields per-type (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Hide restrack DB from IB/core (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Reduce scope of synchronization lock while updating DB (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Add resource tracker doit callback (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Translate from ID to restrack object (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Convert internal DB from hash to XArray (Kamal Heib) [1720888] - [infiniband] RDMA/core: Move device addition deletion to device.c (Kamal Heib) [1720888] - [infiniband] RDMA/core: Introduce and use ib_setup_port_attrs() (Kamal Heib) [1720888] - [infiniband] RDMA/core: Use simpler device_del() instead of device_unregister() (Kamal Heib) [1720888] - [infiniband] RDMA/nes: Remove useless usecnt variable and redundant memset (Kamal Heib) [1720888] - [infiniband] IB/{hw, sw}: Remove 'uobject->context' dependency in object creation APIs (Kamal Heib) [1720888] - [infiniband] RDMA/qedr: remove set but not used variable 'ib_ctx' (Kamal Heib) [1720888] - [infiniband] RDMA/mthca: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Kamal Heib) [1720888] - [infiniband] RDMA/mthca: Clear QP objects during their allocation (Kamal Heib) [1720888] - [include] IB/verbs: Add helper function rdma_udata_to_drv_context (Kamal Heib) [1720888] - [infiniband] IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows (Kamal Heib) [1720888] - [infiniband] IB/ipoib: Use __func__ instead of function's name (Kamal Heib) [1720888] - [infiniband] RDMA/iwpm: Remove set but not used variable 'msg_seq' (Kamal Heib) [1720888] - [infiniband] RDMA/nes: Use for_each_sg_dma_page iterator for umem SGL (Kamal Heib) [1720888] - [net] xprtrdma: Check inline size before providing a Write chunk (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Re-organize device.c locking (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Use xarray to store the client_data (Kamal Heib) [1720888] - [infiniband] RDMA/devices: Use xarray to store the clients (Kamal Heib) [1720888] - [infiniband] RDMA/device: Use an ida instead of a free page in alloc_name (Kamal Heib) [1720888] - [infiniband] RDMA/device: Get rid of reg_state (Kamal Heib) [1720888] - [infiniband] RDMA/device: Check that the rename is nop under the lock (Kamal Heib) [1720888] - [infiniband] RDMA: Handle PD allocations by IB/core (Kamal Heib) [1720888] - [infiniband] RDMA/hns: fix spelling mistake "reseved" -> "reserved" (Kamal Heib) [1720888] - [infiniband] RDMA/core: Share driver structure size with core (Kamal Heib) [1720888] - [infiniband] IB/cma: Define option to set ack timeout and pack tos_set (Kamal Heib) [1720888] - [infiniband] drivers/IB,core: reduce scope of mmap_sem (Kamal Heib) [1720888] - [infiniband] drivers/IB,usnic: reduce scope of mmap_sem (Kamal Heib) [1720888] - [net] svcrdma: Remove syslog warnings in work completion handlers (Kamal Heib) [1720888] - [net] svcrdma: Squelch compiler warning when SUNRPC_DEBUG is disabled (Kamal Heib) [1720888] - [net] svcrdma: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [infiniband] RDMA/iwpm: move kdoc comments to functions (Kamal Heib) [1720888] - [infiniband] RDMA/cma: Remove CM_ID statistics provided by rdma-cm module (Kamal Heib) [1720888] - [infiniband] scsi: RDMA/srpt: Rework I/O context allocation (Kamal Heib) [1720888] - [infiniband] scsi: RDMA/srpt: Fix handling of command / TMF submission failure (Kamal Heib) [1720888] - [infiniband] RDMA/IWPM: Support no port mapping requirements (Kamal Heib) [1720888] - [infiniband] RDMA/IWPM: refactor the IWPM message attribute names (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Improve loopback marking (Kamal Heib) [1720888] - [infiniband] RDMA/rxe: Move rxe_init_av() to rxe_av.c (Kamal Heib) [1720888] - [infiniband] IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len() (Kamal Heib) [1720888] - [infiniband] IB/uverbs: Expose XRC ODP device capabilities (Kamal Heib) [1720888] - [include] IB/core: Allocate a bit for SRQ ODP support (Kamal Heib) [1720888] - [infiniband] RDMA/core: Use the ops infrastructure to keep all callbacks in one place (Kamal Heib) [1720888] - [infiniband] RDMA/cxgb4: Sort SRQ ops alphabetically (Kamal Heib) [1720888] - [infiniband] RDMA/restrack: Refactor user/kernel restrack additions (Kamal Heib) [1720888] - [infiniband] RDMA/core: Simplify restrack interface (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Factor out the PID namespace check (Kamal Heib) [1720888] - [infiniband] RDMA/nldev: Dynamically generate restrack dumpit callbacks (Kamal Heib) [1720888] - [infiniband] IB/usnic: Remove stub functions (Kamal Heib) [1720888] - [infiniband] RDMA: Add indication for in kernel API support to IB device (Kamal Heib) [1720888] - [infiniband] IB/mlx5: Introduce async DEVX obj query API (Kamal Heib) [1720888] - [infiniband] IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD (Kamal Heib) [1720888] - [infiniband] infiniband: prefix header search paths with $(srctree)/ (Kamal Heib) [1720888] - [infiniband] infiniband: remove unneeded header search paths (Kamal Heib) [1720888] - [infiniband] infiniband: ipoib: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] infiniband: usnic: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] infiniband: ocrdma: no need to check return value of debugfs_create functions (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Use PCI-ID as an identification in debugfs (Kamal Heib) [1720888] - [infiniband] IB/umad: Do not check status of nonseekable_open() (Kamal Heib) [1720888] - [infiniband] IB/umad: Avoid additional device reference during open()/close() (Kamal Heib) [1720888] - [infiniband] IB/rxe: Remove unnecessary rxe variable (Kamal Heib) [1720888] - [infiniband] IB/core: Simplify rdma cgroup registration (Kamal Heib) [1720888] - [infiniband] RDMA/device: Use __ib_device_get_by_name() in ib_device_rename() (Kamal Heib) [1720888] - [infiniband] RDMA: Rename port_callback to init_port (Kamal Heib) [1720888] - [infiniband] RDMA: Clear CTX objects during their allocation (Kamal Heib) [1720888] - [infiniband] RDMA: Clear PD objects during their allocation (Kamal Heib) [1720888] - [infiniband] RDMA/ocrdma: Fix out of bounds index check in query pkey (Kamal Heib) [1720888] - [infiniband] IB/{core, hw}: Have ib_umem_get extract the ib_ucontext from ib_udata (Kamal Heib) [1720888] - [infiniband] IB/{core, uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs (Kamal Heib) [1720888] - [infiniband] RDMA/core: Don't depend device ODP capabilities on kconfig option (Kamal Heib) [1720888] - [infiniband] IB/srp: Use struct_size() in kzalloc() (Kamal Heib) [1720888] - [infiniband] IB/core: Use struct_size() in kzalloc() (Kamal Heib) [1720888] - [infiniband] IB/usnic: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [infiniband] IB/cm: Use struct_size() in kmalloc() (Kamal Heib) [1720888] - [mm] mm: introduce put_user_page*(), placeholder versions (Rafael Aquini) [1746371] - [mm] mm/gup: add FOLL_LONGTERM capability to GUP fast (Rafael Aquini) [1746371] - [mm] mm/gup: change GUP fast to use flags rather than a write 'bool' (Rafael Aquini) [1746371] - [mm] mm/gup: change write parameter to flags in fast walk (Rafael Aquini) [1746371] - [mm] mm/gup: replace get_user_pages_longterm() with FOLL_LONGTERM (Rafael Aquini) [1746371] - [s390] s390/mm: fix pxd_bad with folded page tables (Rafael Aquini) [1746371] - [s390] s390/mm: fix dump_pagetables top level page table walking (Rafael Aquini) [1746371] - [s390] s390/mm: convert to the generic get_user_pages_fast code (Rafael Aquini) [1746371] - [s390] s390/mm: make the pxd_offset functions more robust (Rafael Aquini) [1746371] - [mm] mm/gup: fix gup_pmd_range() for dax (Rafael Aquini) [1746371] - [mm] mm/gup: remove the 'write' parameter from gup_fast_permitted() (Rafael Aquini) [1746371] - [mm] mm/gup: fix follow_page_mask() kerneldoc comment (Rafael Aquini) [1746371] - [mm] mm/gup: fix __get_user_pages_fast() comment (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: prevent integer overflow in ioctl (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: add additional pinning methods (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: time put_page() (Rafael Aquini) [1746371] - [mm] mm/gup_benchmark: fix unsigned comparison to zero in __gup_benchmark_ioctl (Rafael Aquini) [1746371] - [mm] mm: remove caller signal_pending branch predictions (Rafael Aquini) [1746371] - [mm] mm: remove unnecessary local variable addr in __get_user_pages_fast() (Rafael Aquini) [1746371] - [mm] mm: change return type int to vm_fault_t for fault handlers (Rafael Aquini) [1746371] - [mm] mm: make mm->pinned_vm an atomic64 counter (Rafael Aquini) [1746371]- [kernel] sched/core: Schedule new worker even if PI-blocked (Waiman Long) [1758629] - [char] random: add a spinlock_t to struct batched_entropy (Waiman Long) [1758629] - [crypto] crypto: chacha20 - Fix chacha20_block() keystream alignment (again) (Waiman Long) [1758629] - [fs] locking/percpu-rwsem: Remove preempt_disable variants (Waiman Long) [1758629] - [x86] x86/tsc: Add option to disable tsc clocksource watchdog (Waiman Long) [1758629] - [x86] x86/irq: Handle spurious interrupt after shutdown gracefully (Waiman Long) [1758629] - [x86] x86/ioapic: Implement irq_get_irqchip_state() callback (Waiman Long) [1758629] - [kernel] genirq: Add optional hardware synchronization for shutdown (Waiman Long) [1758629] - [kernel] genirq: Fix misleading synchronize_irq() documentation (Waiman Long) [1758629] - [kernel] genirq: Delay deactivation in free_irq() (Waiman Long) [1758629] - [kernel] genirq: Remove redundant NULL pointer check in __free_irq() (Waiman Long) [1758629] - [kernel] genirq: Synchronize only with single thread on free_irq() (Waiman Long) [1758629] - [kernel] genirq: Update code comments wrt recycled thread_mask (Waiman Long) [1758629] - [usb] usb: core: remove flags variable in __usb_hcd_giveback_urb() (Waiman Long) [1758629] - [usb] usb: core: remove local_irq_save() around ->complete() handler (Waiman Long) [1758629] - [media] media: tm6000: use irqsave() in USB's complete callback (Waiman Long) [1758629] - [media] media: em28xx-audio: use irqsave() in USB's complete callback (Waiman Long) [1758629] - [x86] x86/mm/cpa: Optimize __cpa_flush_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Factor common code between cpa_flush_*() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move CLFLUSH test into cpa_flush_array() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move CLFLUSH test into cpa_flush_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Use flush_tlb_kernel_range() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Unconditionally avoid WBINDV when we can (Waiman Long) [1758629] - [x86] x86/mm/cpa: Move flush_tlb_all() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Use flush_tlb_all() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Avoid the 4k pages check completely (Waiman Long) [1758629] - [x86] x86/mm/cpa: Do the range check early (Waiman Long) [1758629] - [x86] x86/mm/cpa: Optimize same protection check (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add sanity check for existing mappings (Waiman Long) [1758629] - [x86] x86/mm/cpa: Avoid static protection checks on unmap (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add large page preservation statistics (Waiman Long) [1758629] - [x86] x86/mm/cpa: Add debug mechanism (Waiman Long) [1758629] - [x86] x86/mm/cpa: Allow range check for static protections (Waiman Long) [1758629] - [x86] x86/mm/cpa: Rework static_protections() (Waiman Long) [1758629] - [x86] x86/mm/cpa: Split, rename and clean up try_preserve_large_page() (Waiman Long) [1758629] - [x86] x86/mm/init32: Mark text and rodata RO in one go (Waiman Long) [1758629] - [mm] mm/kasan/quarantine.c: make quarantine_lock a raw_spinlock_t (Waiman Long) [1758629] - [mm] mm/list_lru.c: fold __list_lru_count_one() into its caller (Waiman Long) [1758629] - [mm] mm: workingset: make shadow_lru_isolate() use locking suffix (Waiman Long) [1758629] - [mm] mm: workingset: remove local_irq_disable() from count_shadow_nodes() (Waiman Long) [1758629] - [iommu] iommu/amd: Remove redundant WARN_ON() (Waiman Long) [1758629] - [mm] mm/list_lru: introduce list_lru_shrink_walk_irq() (Waiman Long) [1758629] - [mm] mm/list_lru.c: pass struct list_lru_node* as an argument to __list_lru_walk_one() (Waiman Long) [1758629] - [mm] mm/list_lru.c: move locking from __list_lru_walk_one() to its caller (Waiman Long) [1758629] - [mm] mm/list_lru.c: use list_lru_walk_one() in list_lru_walk_node() (Waiman Long) [1758629] - [kernel] userns: use irqsave variant of refcount_dec_and_lock() (Waiman Long) [1758629] - [kernel] userns: use refcount_t for reference counting instead atomic_t (Waiman Long) [1758629] - [kernel] bdi: use irqsave variant of refcount_dec_and_lock() (Waiman Long) [1758629] - [mm] bdi: use refcount_t for reference counting instead atomic_t (Waiman Long) [1758629] - [char] random: remove preempt disabled region (Waiman Long) [1758629] - [misc] ocxl: Update for AFU descriptor template version 1.1 (Steve Best) [1751207] - [misc] ocxl: Make ocxl_remove() static (Steve Best) [1751207] - [misc] ocxl: do not use C++ style comments in uapi header (Steve Best) [1751207] - [misc] ocxl: Allow contexts to be attached with a NULL mm (Steve Best) [1751207] - [misc] ocxl: Fix return value check in afu_ioctl() (Steve Best) [1751207] - [misc] ocxl: Provide global MMIO accessors for external drivers (Steve Best) [1751207] - [misc] ocxl: move event_fd handling to frontend (Steve Best) [1751207] - [misc] ocxl: afu_irq only deals with IRQ IDs, not offsets (Steve Best) [1751207] - [misc] ocxl: Allow external drivers to use OpenCAPI contexts (Steve Best) [1751207] - [misc] ocxl: Create a clear delineation between ocxl backend & frontend (Steve Best) [1751207] - [misc] ocxl: Don't pass pci_dev around (Steve Best) [1751207] - [misc] ocxl: Split pci.c (Steve Best) [1751207] - [misc] ocxl: Remove some unused exported symbols (Steve Best) [1751207] - [misc] ocxl: Remove superfluous 'extern' from headers (Steve Best) [1751207] - [misc] ocxl: read_pasid never returns an error, so make it void (Steve Best) [1751207] - [misc] ocxl: Rename struct link to ocxl_link (Steve Best) [1751207] - [misc] ocxl: remove set but not used variables 'tid' and 'lpid' (Steve Best) [1751207] - [misc] ocxl: Fix endiannes bug in read_afu_name() (Steve Best) [1751207] - [misc] ocxl/afu_irq: Don't include (Steve Best) [1751207] - [misc] ocxl: Clarify error path in setup_xsl_irq() (Steve Best) [1751207] - [misc] ocxl: Fix endiannes bug in ocxl_link_update_pe() (Steve Best) [1751207] - [misc] ocxl: Fix access to the AFU Descriptor Data (Steve Best) [1751207] - [netdrv] gve: account for lack of netdev_xmit_more() definition (RHEL-only) (John Linville) [1728864] - [netdrv] gve: Copy and paste bug in gve_get_stats() (John Linville) [1728864] - [netdrv] gve: Fix case where desc_cnt and data_cnt can get out of sync (John Linville) [1728864] - [netdrv] gve: replace kfree with kvfree (John Linville) [1728864] - [netdrv] gve: Remove the exporting of gve_probe (John Linville) [1728864] - [netdrv] gve: fix unused variable/label warnings (John Linville) [1728864] - [netdrv] gve: Fix error return code in gve_alloc_qpls() (John Linville) [1728864] - [netdrv] gve: fix -ENOMEM null check on a page allocation (John Linville) [1728864] - [netdrv] gve: Fix u64_stats_sync to initialize start (John Linville) [1728864] - [netdrv] gve: Add ethtool support (John Linville) [1728864] - [netdrv] gve: Add workqueue and reset support (John Linville) [1728864] - [netdrv] gve: Add transmit and receive support (John Linville) [1728864] - [netdrv] gve: Add basic driver framework for Compute Engine Virtual NIC (John Linville) [1728864] - [mfd] mfd: intel-lpss: Add Intel Comet Lake PCI IDs (David Arcari) [1761586] - [scsi] scsi: core: save/restore command resid for error handling (Ewan Milne) [1760503] - [scsi] scsi: sd: Ignore a failure to sync cache due to lack of authorization (Ewan Milne) [1760503] - [scsi] scsi: core: Add sysfs attributes for VPD pages 0h and 89h (Ewan Milne) [1760503] - [scsi] scsi: core: Log SCSI command age with errors (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_rdac: zero cdb in send_mode_select() (Ewan Milne) [1760503] - [scsi] scsi: sd: Improve unaligned completion resid message (Ewan Milne) [1760503] - [scsi] scsi: core: Reduce memory required for SCSI logging (Ewan Milne) [1760503] - [scsi] scsi: core: Complain if scsi_target_block() fails (Ewan Milne) [1760503] - [scsi] scsi: core: Make scsi_internal_device_unblock_nowait() reject invalid new_state (Ewan Milne) [1760503] - [scsi] scsi: scsi_debugfs: Use for_each_set_bit to simplify code (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_alua: always use a 2 second delay before retrying RTPG (Ewan Milne) [1760503] - [scsi] scsi: sd_zbc: Fix compilation warning (Ewan Milne) [1760503] - [scsi] scsi: devinfo: BLIST_TRY_VPD_PAGES for SanDisk Cruzer Blade (Ewan Milne) [1760503] - [scsi] scsi: core: use scmd_printk() to print which command timed out (Ewan Milne) [1760503] - [scsi] scsi: Avoid that .queuecommand() gets called for a blocked SCSI device (Ewan Milne) [1760503] - [scsi] scsi: core: don't preallocate small SGL in case of NO_SG_CHAIN (Ewan Milne) [1760503] - [scsi] scsi: scsi_dh_alua: Fix possible null-ptr-deref (Ewan Milne) [1760503] - [scsi] scsi: st: add a SPDX tag to st.c (Ewan Milne) [1760503] - [scsi] scsi: sr: add a SPDX tag to sr.c (Ewan Milne) [1760503] - [scsi] scsi: sg: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: sd: switch remaining files to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: sd: add a SPDX tag to sd.c (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_srp: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_spi: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_sas: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_iscsi: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: scsi_transport_fc: switch to SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: core: switch the remaining scsi midlayer files to use SPDX tags (Ewan Milne) [1760503] - [scsi] scsi: core: add SPDX tags to scsi midlayer files missing licensing information (Ewan Milne) [1760503] - [scsi] Revert "scsi: sd: Keep disk read-only when re-reading partition" (Ewan Milne) [1760503] - [scsi] scsi: core: set result when the command cannot be dispatched (Ewan Milne) [1760503] - [scsi] scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT (Ewan Milne) [1760503] - [scsi] scsi: core: don't hold device refcount in IO path (Ewan Milne) [1760503] - [scsi] scsi: sd: Quiesce warning if device does not report optimal I/O size (Ewan Milne) [1760503] - [scsi] scsi: core: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Ewan Milne) [1760503] - [scsi] scsi: core: Avoid that a kernel warning appears during system resume (Ewan Milne) [1760503] - [scsi] scsi: core: Also call destroy_rcu_head() for passthrough requests (Ewan Milne) [1760503] - [scsi] scsi: core: replace GFP_ATOMIC with GFP_KERNEL in scsi_scan.c (Ewan Milne) [1760503] - [scsi] scsi: sd: Optimal I/O size should be a multiple of physical block size (Ewan Milne) [1760503] - [scsi] scsi: sd: Fix typo in sd_first_printk() (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: Implement support for write protect (Ewan Milne) [1760503] - [scsi] scsi: sd_zbc: Fix zone information messages (Ewan Milne) [1760503] - [scsi] scsi: sd: Improve sd_print_capacity() (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: fix write_same with virtual_gb problem (Ewan Milne) [1760503] - [scsi] scsi: sd: Protect against READ(6) or WRITE(6) with zero block transfer length (Ewan Milne) [1760503] - [scsi] scsi: core: Remove an atomic instruction from the hot path (Ewan Milne) [1760503] - [scsi] scsi: sd: Rename 'SCpnt' into 'cmd' (Ewan Milne) [1760503] - [scsi] scsi: sd: Clean up sd_setup_read_write_cmnd() (Ewan Milne) [1760503] - [scsi] scsi: sd: Create helper functions for read/write commands (Ewan Milne) [1760503] - [scsi] scsi: sd: Simplify misaligned I/O check (Ewan Milne) [1760503] - [scsi] scsi: sd: Be consistent about blocks vs. sectors (Ewan Milne) [1760503] - [scsi] scsi: sd: Remove a local variable (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: add cmd abort option to every_nth (Ewan Milne) [1760503] - [scsi] scsi: scsi_debug: skip long delays when ndelay small (Ewan Milne) [1760503] - [x86] efi/x86: Do not clean dummy variable in kexec path (Bhupesh Sharma) [1724436] - [scsi] scsi: csiostor: create per port irq affinity mask set (Jonathan Toppins) [1725816] - [pci] PCI: let pci_disable_link_state propagate errors (Myron Stowe) [1735834] - [scsi] scsi: scsi_transport_fc: Add FPIN fc event codes (Ewan Milne) [1755587] - [scsi] scsi: scsi_transport_fc: refactor event posting routines (Ewan Milne) [1755587] - [scsi] scsi: fc: add FPIN ELS definition (Ewan Milne) [1755587] - [scsi] scsi: lib/sg_pool.c: clear 'first_chunk' in case of no preallocation (Ewan Milne) [1747162] - [scsi] scsi: core: Run queue when state is set to running after being blocked (Ewan Milne) [1691599] - [scsi] scsi: sd: Fix a race between closing an sd device and sd I/O (Ewan Milne) [1689118] - [net] net/ibmvnic: Fix EOI when running in XIVE mode. (Steve Best) [1761378] - [powerpc] powerpc/mce: Fix SLB rebolting during MCE recovery path. (Desnes Augusto Nunes do Rosario) [1725842] - [powerpc] powerpc/pseries: hwpoison the pages upon hitting UE (Desnes Augusto Nunes do Rosario) [1725842] - [x86] perf/x86/amd: Change/fix NMI latency mitigation to use a timestamp (David Arcari) [1730134] - [arm64] arm64: entry: Remove unneeded need_resched() loop (Mark Langsdorf) [1737075] - [arm64] arm64: preempt: Fix big-endian when checking preempt count in assembly (Mark Langsdorf) [1737075] - [arm64] arm64: preempt: Provide our own implementation of asm/preempt.h (Mark Langsdorf) [1737075] - [include] preempt: Move PREEMPT_NEED_RESCHED definition into arch code (Mark Langsdorf) [1737075] - [x86] x86/intel_rdt: Ensure a CPU remains online for the region's pseudo-locking sequence (Alexander Beregalov) [1724902] - [kernel] perf/core: Add sanity check to deal with pinned event failure (Alexander Beregalov) [1724902] - [arm64] arm64/sve: Fix wrong free for task->thread.sve_state (Andrew Jones) [1756450] - [scsi] scsi: lpfc: Update lpfc version to 12.4.0.1 (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: cleanup: remove unused fcp_txcmlpq_cnt (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Complete removal of FCoE T10 PI support on SLI-4 adapters (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Update async event logging (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix hdwq sgl locks and irq handling (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix host hang at boot or slow boot (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix coverity errors on NULL pointer checks (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix NVMe ABTS in response to receiving an ABTS (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix discovery failures when target device connectivity bounces (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix GPF on scsi command completion (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix locking on mailbox command completion (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix device recovery errors after PLOGI failures (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix rpi release when deleting vport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix NVME io abort failures causing hangs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix miss of register read failure check (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix premature re-enabling of interrupts in lpfc_sli_host_down (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix reset recovery paths that are not recovering (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Convert existing pf users to ps (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: fix 12.4.0.0 GPF at boot (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove bg debugfs buffers (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Resolve checker warning for lpfc_new_io_buf() (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Update lpfc version to 12.4.0.0 (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Merge per-protocol WQ/CQ pairs into single per-cpu pair (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add NVMe sequence level error recovery support (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add MDS driver loopback diagnostics support (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add first and second level hardware revisions to sysfs reporting (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Migrate to px and pf in kernel print calls (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Add simple unlikely optimizations to reduce NVME latency (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix coverity warnings (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme first burst module parameter description (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix BlockGuard enablement on FCoE adapters (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix reported physical link speed on a disabled trunked link (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix Max Frame Size value shown in fdmishow output (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix upcall to bsg done in non-success cases (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix sli4 adapter initialization with MSI (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme sg_seg_cnt display if HBA does not support NVME (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix nvme target mode ABTSing a received ABTS (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix hang when downloading fw on port enabled for nvme (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix too many sg segments spamming in kernel log (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix crash due to port reset racing vs adapter error handling (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix deadlock on host_lock during cable pulls (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix error in remote port address change (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix driver nvme rescan logging (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix sg_seg_cnt for HBAs that don't support NVME (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix propagation of devloss_tmo setting to nvme transport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix loss of remote port after devloss due to lack of RPIs (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix devices that don't return after devloss followed by rediscovery (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix null ptr oops updating lpfc_devloss_tmo via sysfs attribute (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix FLOGI handling across multiple link up/down conditions (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix irq raising in lpfc_sli_hba_down (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix Oops in nvme_register with target logout/login (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix issuing init_vpi mbox on SLI-3 card (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix ADISC reception terminating login state if a NVME target (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix discovery when target has no GID_FT information (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix leak of ELS completions on adapter reset (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix failure to clear non-zero eq_delay after io rate reduction (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix crash on driver unload in wq free (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix ELS field alignments (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Fix PLOGI failure with high remoteport count (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: remove NULL check before some freeing functions (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: use spin_lock_irqsave in IRQ context (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: remove redundant code (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove unnecessary null check before kfree (Dick Kennedy) [1757574] - [scripts] scripts/spelling.txt: drop "sepc" from the misspelling list (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: reduce stack size with CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE (Dick Kennedy) [1757574] - [scsi] lpfc: add sysfs interface to post NVME RSCN (Dick Kennedy) [1757574] - [scsi] lpfc: add support for translating an RSCN rcv into a discovery rescan (Dick Kennedy) [1757574] - [scsi] lpfc: add support to generate RSCN events for nport (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: use sg helper to iterate over scatterlist (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Avoid unused function warnings (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Make some symbols static (Dick Kennedy) [1757574] - [scsi] scsi: lpfc: Remove set but not used variables 'qp' (Dick Kennedy) [1757574] - [lib] lib/vsprintf: Reinstate printing of legacy clock IDs (Prarit Bhargava) [1751075] - [lib] vsprintf: fix data type of variable in string_nocheck() (Prarit Bhargava) [1751075] - [scripts] kconfig: tests: fix recursive inclusion unit test (Prarit Bhargava) [1751075] - [kernel] printk: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Prarit Bhargava) [1751075] - [kernel] printk: Add SPDX license identifier for missed files (Prarit Bhargava) [1751075] - [kernel] printk: Add SPDX license identifier for more missed files (Prarit Bhargava) [1751075] - [kernel] panic: add an option to replay all the printk message in buffer (Prarit Bhargava) [1751075] - [kernel] panic: avoid the extra noise dmesg (Prarit Bhargava) [1751075] - [lib] vsprintf: Do not break early boot with probing addresses (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Make function pointer_string static (Prarit Bhargava) [1751075] - [lib] vsprintf: Limit the length of inlined error messages (Prarit Bhargava) [1751075] - [lib] vsprintf: Avoid confusion between invalid address and value (Prarit Bhargava) [1751075] - [lib] vsprintf: Prevent crash when dereferencing invalid pointers (Prarit Bhargava) [1751075] - [lib] vsprintf: Consolidate handling of unknown pointer specifiers (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out pO handler as kobject_string() (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out pV handler as va_format() (Prarit Bhargava) [1751075] - [lib] vsprintf: Factor out p[iI] handler as ip_addr_string() (Prarit Bhargava) [1751075] - [lib] vsprintf: Do not check address of well-known strings (Prarit Bhargava) [1751075] - [lib] vsprintf: Consistent pK handling for kptr_restrict == 0 (Prarit Bhargava) [1751075] - [lib] vsprintf: Shuffle restricted_pointer() (Prarit Bhargava) [1751075] - [kernel] printk: Tie printk_once / printk_deferred_once into .data.once for reset (Prarit Bhargava) [1751075] - [lib] lib: Use new kselftest header (Prarit Bhargava) [1751075] - [lib] lib/test_printf: Add empty module_exit function (Prarit Bhargava) [1751075] - [scripts] checkpatch: add pt as a valid vsprintf extension (Prarit Bhargava) [1751075] - [lib] lib/test_printf: Switch to bitmap_zalloc() (Prarit Bhargava) [1751075] - [lib] lib/vsprintf.c: move sizeof(struct printf_spec) next to its definition (Prarit Bhargava) [1751075] - [kernel] printk/docs: Add extra integer types to printk-formats (Prarit Bhargava) [1751075] - [kernel] printk: Remove no longer used LOG_PREFIX. (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Remove pCr remnant in comment (Prarit Bhargava) [1751075] - [kernel] printk: Pass caller information to log_store(). (Prarit Bhargava) [1751075] - [kernel] kernel/sysctl: add panic_print into sysctl (Prarit Bhargava) [1751075] - [kernel] panic: add options to print system info when panic happens (Prarit Bhargava) [1751075] - [include] include/linux/printk.h: drop silly "static inline asmlinkage" from dump_stack() (Prarit Bhargava) [1751075] - [kernel] printk: Add caller information to printk() output. (Prarit Bhargava) [1751075] - [kernel] printk: Remove print_prefix() calls with NULL buffer. (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Print time and date in human readable format via pt (Prarit Bhargava) [1751075] - [kernel] printk: fix printk_time race. (Prarit Bhargava) [1751075] - [kernel] printk: Make printk_emit() local function. (Prarit Bhargava) [1751075] - [documentation] doc: printk-formats: Remove bogus kobject references for device nodes (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Hash printed address for netdev bits fallback (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Hash legacy clock addresses (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Prepare for more general use of ptr_to_id() (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Make ptr argument conts in ptr_to_id() (Prarit Bhargava) [1751075] - [kernel] printk: fix integer overflow in setup_log_buf() (Prarit Bhargava) [1751075] - [kernel] printk: do not preliminary split up cont buffer (Prarit Bhargava) [1751075] - [kernel] printk: lock/unlock console only for new logbuf entries (Prarit Bhargava) [1751075] - [kernel] printk: keep kernel cont support always enabled (Prarit Bhargava) [1751075] - [kernel] printk: Give error on attempt to set log buffer length to over 2G (Prarit Bhargava) [1751075] - [kernel] printk: Add KBUILD_MODNAME and remove a redundant print prefix (Prarit Bhargava) [1751075] - [kernel] printk: Correct wrong casting (Prarit Bhargava) [1751075] - [kernel] printk: CON_PRINTBUFFER console registration is a bit racy (Prarit Bhargava) [1751075] - [kernel] printk: Do not miss new messages when replaying the log (Prarit Bhargava) [1751075] - [kernel] Revert "printk: make sure to print log on console." (Prarit Bhargava) [1751075] - [lib] vsprintf: print OF node name using full_name (Prarit Bhargava) [1751075] - [kernel] printk/tracing: Do not trace printk_nmi_enter() (Prarit Bhargava) [1751075] - [misc] notifier: Remove notifier header file wherever not used (Prarit Bhargava) [1751075] - [init] init: allow initcall tables to be emitted using relative references (Prarit Bhargava) [1751075] - [lib] lib/vsprintf: Do not handle pO[^F] as px (Prarit Bhargava) [1751075] - [kernel] console: Replace #if 0 with atomic var 'ignore_console_lock_warning' (Prarit Bhargava) [1751075] - [lib] vsprintf: Use hw RNG for ptr_key (Prarit Bhargava) [1751075] - [kernel] printk: Fix warning about unused suppress_message_printing (Prarit Bhargava) [1751075] - [char] random: Return nbytes filled from hw RNG (Prarit Bhargava) [1751075] - [char] random: Fix whitespace pre random-bytes work (Prarit Bhargava) [1751075] - [kernel] printk/nmi: Prevent deadlock when accessing the main log buffer in NMI (Prarit Bhargava) [1751075] - [kernel] printk: Create helper function to queue deferred console handling (Prarit Bhargava) [1751075] - [kernel] printk: Split the code for storing a message into the log buffer (Prarit Bhargava) [1751075] - [kernel] printk: Clean up syslog_print_all() (Prarit Bhargava) [1751075] - [kernel] printk: Export is_console_locked (Prarit Bhargava) [1751075] - [kernel] printk: Remove unnecessary kmalloc() from syslog during clear (Prarit Bhargava) [1751075] - [kernel] printk: Make CONSOLE_LOGLEVEL_QUIET configurable (Prarit Bhargava) [1751075] - [kernel] printk: make sure to print log on console. (Prarit Bhargava) [1751075] - [lib] lib/test_printf.c: accept "ptrval" as valid result for plain 'p' tests (Prarit Bhargava) [1751075] - [kernel] softirq: Remove tasklet_hrtimer (Prarit Bhargava) [1737073] - [include] list: add function list_rotate_to_front() (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Rename the file for consistency (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Move Kconfig option (Prarit Bhargava) [1737073] - [clocksource] clocksource/drivers/tcb_clksrc: Use tcb as sched_clock (Prarit Bhargava) [1737073] - [kernel] irq_work: Do not raise an IPI when queueing work on the local CPU (Prarit Bhargava) [1737073] - [tty] tty/sysrq: Convert show_lock to raw_spinlock_t (Prarit Bhargava) [1737073] - [net] xfrm: Replace hrtimer tasklet with softirq hrtimer (Prarit Bhargava) [1737073] - [netdrv] mac80211_hwsim: Replace hrtimer tasklet with softirq hrtimer (Prarit Bhargava) [1737073] - [kernel] kthread: Do not use TIMER_IRQSAFE (Prarit Bhargava) [1737073] - [kernel] kthread: Convert worker lock to raw spinlock (Prarit Bhargava) [1737073] - [netdrv] mac80211_hwsim: Timer should be initialized before device registered (Prarit Bhargava) [1737073] - [net] xfrm: use time64_t for in-kernel timestamps (Prarit Bhargava) [1737073] - [x86] x86/intel: Aggregate microserver naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core graphics naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core mobile naming (Prarit Bhargava) [1725644] - [x86] x86/intel: Aggregate big core client naming (Prarit Bhargava) [1725644] - [tools] turbostat: Replace GPLv2 boilerplate/reference with SPDX - rule 335 (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: update version number (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: rename has_hsw_msrs() (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix Haswell Core systems (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Add support for Hygon Fam 18h (Dhyana) RAPL (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix caller parameter of get_tdp_amd() (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Fix CPUC1 display value (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: do not enforce 1ms (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: read from pipes too (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Add Ice Lake NNPI support (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: add Jacobsville support (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: remove duplicate pc10 column (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix file descriptor leaks (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix leak of file descriptor on error return path (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: fix buffer overrun (Prarit Bhargava) [1725644] - [tools] tools/power turbostat: Make interval calculation per thread to reduce jitter (Prarit Bhargava) [1725644] - [tools] tools/power/x86: Enable compiler optimisations and Fortify by default (Prarit Bhargava) [1725644] - [x86] x86/cpu: Add Ice Lake NNPI to Intel family (Prarit Bhargava) [1725644]- [tools] perf tools: Fix segfault in cpu_cache_level__read() (Michael Petlan) [1761995] - [scsi] qla2xxx: Update driver version to 10.01.00.19.08.2-k (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix Nport ID display value (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix N2N link up fail (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix N2N link reset (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Optimize NPIV tear down process (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stale mem access on driver unload (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix unbound sleep in fcport delete path. (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Silence fwdump template message (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stale session (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix stuck login session (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix driver reload for ISP82xx (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix flash read for Qlogic ISPs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix message indicating vectors used by driver (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: fix spelling mistake "initializatin" -> "initialization" (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a recently introduced kernel warning (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a NULL pointer dereference (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qla24xx_async_abort_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous if-tests (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce qla2x00_els_dcmd2_free() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Inline the qla2x00_fcport_event_handler() function (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Report invalid mailbox status codes (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove superfluous sts_entry_* casts (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Let the compiler check the type of the SCSI command context pointer (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if sp->done() is not called from the completion path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make sure that aborted commands are freed (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce qla2xxx_get_next_handle() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Modify NVMe include directives (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qlt_handle_abts_completion() more robust (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a race condition between aborting and completing a SCSI command (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the function qla2xxx_init_sp() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Enable type checking for the SRB free and done callback functions (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Rework key encoding in qlt_find_host_by_d_id() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Set the responder mode if appropriate for ELS pass-through IOCBs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make it explicit that ELS pass-through IOCBs use little endian (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check secondary image if reading the primary image fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change the return type of qla24xx_read_flash_data() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst IDs (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a soft reset fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use memcpy() and strlcpy() instead of strcpy() and strncpy() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check the PCI info string output buffer size (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if waiting for pending commands times out (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare fourth qla2x00_set_model_info() argument const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Suppress multiple Coverity complaint about out-of-bounds accesses (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Suppress a Coveritiy complaint about integer overflow (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unreachable code from qla83xx_idc_lock() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix qla24xx_process_bidir_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify a debug statement (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove dead code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if parsing the version string fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a mailbox command times out (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use strlcpy() instead of strncpy() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Do not corrupt vha->plogi_ack_list (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Report the firmware status code if a mailbox command fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix session lookup in qlt_abort_work() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qla24xx_abort_sp_done() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous tests (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a superfluous pointer check (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qlt_lport_dump() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reduce the number of casts in GID list code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Verify locking assumptions at runtime (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change data_dsd into an array (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla_tgt_cmd.cdb const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reduce the scope of three local variables in qla2xxx_queuecommand() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into void (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare the fourth ql_dump_buffer() argument const (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a superfluous forward declaration (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove an include directive from qla_mr.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Include the header file from qla_dsd.h (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use tabs instead of spaces for indentation (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Improve Linux kernel coding style conformance (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Really fix qla2xxx_eh_abort() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_abort_srb() again decrease the sp reference count (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Allow NVMe IO to resume with short cable pull (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix hang in fcport delete path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use common update-firmware-options routine for ISP27xx+ (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix NVMe port discovery after a short device port loss (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Correct error handling during initialization failures (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Retry fabric Scan on IOCB queue full (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix premature timer expiration (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix Relogin to prevent modifying scan_state flag (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reject EH_{abort|device_reset|target_request} (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Skip FW dump on LOOP initialization error (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use Correct index for Q-Pair array (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix abort timeout race condition. (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix DMA unmap leak (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Replace vmalloc + memset with vzalloc (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unnecessary null check (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: remove double assignment in qla2x00_update_fcport (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Add cleanup for PCI EEH recovery (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that lockdep complains about unsafe locking in tcm_qla2xxx_close_session() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that qlt_send_resp_ctio() corrupts memory (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Introduce the dsd32 and dsd64 data structures (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Check the size of firmware data structures at compile time (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Pass little-endian values to the firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla24xx_async_abort_cmd() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove unnecessary locking from the target code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove qla_tgt_cmd.released (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Complain if a command is released that is owned by the firmware (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: target: Fix offline port handling and host reset handling (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix abort handling in tcm_qla2xxx_write_pending() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix error handling in qlt_alloc_qfull_cmd() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Simplify qlt_send_term_imm_notif() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix use-after-free issues in qla2xxx_qpair_sp_free_dma() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a qla24xx_enable_msix() error path (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that qla2x00_mem_free() crashes if called twice (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_mem_free() easier to verify (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Increase the size of the mailbox arrays from 4 to 8 (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Log the status code if a firmware command fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Avoid that Coverity complains about dereferencing a NULL rport pointer (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Uninline qla2x00_init_timer() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_is_reserved_id() from qla_inline.h into qla_init.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_clear_loop_id() from qla_inline.h into qla_init.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a set-but-not-used variable (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla2x00_find_new_loop_id() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_set_reserved_loop_ids() definition (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a format specifier (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Update two source code comments (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Silence Successful ELS IOCB message (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix device staying in blocked state (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move qla2x00_set_fcport_state() from a .h into a .c file (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove two superfluous casts (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove qla_tgt_cmd.data_work and qla_tgt_cmd.data_work_free (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move the include directive (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare qla24xx_build_scsi_crc_2_iocbs() static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Move the port_state_str[] definition from a .h to a .c file (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Insert spaces where required (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix formatting of pointer types (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Leave a blank line after declarations (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use tabs to indent code (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix FC-AL connection target discovery (Himanshu Madhani) [1728845] - [scsi] scsi: tcm_qla2xxx: Minimize #include directives (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Unregister resources in the opposite order of the registration order (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Unregister chrdev if module initialization fails (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use get/put_unaligned where appropriate (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Make qla2x00_process_response_queue() easier to read (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Declare local symbols static (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use ARRAY_SIZE() in the definition of QLA_LAST_SPEED (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove a comment that refers to the SCSI host lock (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Remove useless set memory to zero use memset() (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Cleanup fcport memory to prevent leak (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Further limit FLASH region write access from SysFS (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Increase the max_sgl_segments to 1024 (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Set the qpair in SRB to NULL when SRB is released (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix a small typo in qla_bsg.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Fix comment alignment in qla_bsg.c (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: deadlock by configfs_depend_item (Himanshu Madhani) [1728845] - [scsi] scsi: qla2xxx: use lower_32_bits and upper_32_bits instead of reinventing them (Himanshu Madhani) [1728845] - [md] dm snapshot: rework COW throttling to fix deadlock (Mike Snitzer) [1758605] - [md] dm snapshot: introduce account_start_copy() and account_end_copy() (Mike Snitzer) [1758605] - [netdrv] ice: Bump version (Jonathan Toppins) [1721711] - [netdrv] ice: Enable DDP package download (Jonathan Toppins) [1721711] - [netdrv] ice: Initialize DDP package structures (Jonathan Toppins) [1721711] - [netdrv] ice: Implement Dynamic Device Personalization (DDP) download (Jonathan Toppins) [1721711] - [netdrv] ice: Fix FW version formatting in dmesg (Jonathan Toppins) [1721711] - [netdrv] ice: send driver version to firmware (Jonathan Toppins) [1721711] - [netdrv] ice: Rework around device/function capabilities (Jonathan Toppins) [1721711] - [netdrv] ice: change default number of receive descriptors (Jonathan Toppins) [1721711] - [netdrv] ice: Minor refactor in queue management (Jonathan Toppins) [1721711] - [netdrv] ice: Allow for delayed LLDP MIB change registration (Jonathan Toppins) [1721711] - [netdrv] ice: update Tx context struct (Jonathan Toppins) [1721711] - [netdrv] ice: Report VF link status with opcode to get resources (Jonathan Toppins) [1721711] - [netdrv] ice: Check for DCB capability before initializing DCB (Jonathan Toppins) [1721711] - [netdrv] ice: report link down for VF when PF's queues are not enabled (Jonathan Toppins) [1721711] - [netdrv] ice: Reliably reset VFs (Jonathan Toppins) [1721711] - [netdrv] ice: change work limit to a constant (Jonathan Toppins) [1721711] - [netdrv] ice: small efficiency fixes (Jonathan Toppins) [1721711] - [netdrv] ice: move code closer together (Jonathan Toppins) [1721711] - [netdrv] ice: clean up arguments (Jonathan Toppins) [1721711] - [netdrv] ice: Check root pointer for validity (Jonathan Toppins) [1721711] - [netdrv] ice: Add ice_get_main_vsi to get PF/main VSI (Jonathan Toppins) [1721711] - [netdrv] ice: Update fields in ice_vsi_set_num_qs when reconfiguring (Jonathan Toppins) [1721711] - [netdrv] ice: Only disable VLAN pruning for the VF when all VLANs are removed (Jonathan Toppins) [1721711] - [netdrv] ice: Remove enable DCB when SW LLDP is activated (Jonathan Toppins) [1721711] - [netdrv] ice: Report stats when VSI is down (Jonathan Toppins) [1721711] - [netdrv] ice: Always notify FW of VF reset (Jonathan Toppins) [1721711] - [netdrv] ice: Correctly handle return values for init DCB (Jonathan Toppins) [1721711] - [netdrv] ice: Limit Max TCs on devices with more than 4 ports (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup defines in ice_type.h (Jonathan Toppins) [1721711] - [netdrv] ice: print extra message if topology issue (Jonathan Toppins) [1721711] - [netdrv] ice: add print of autoneg state to link message (Jonathan Toppins) [1721711] - [netdrv] ice: update driver unloading field for Queue Shutdown AQ command (Jonathan Toppins) [1721711] - [netdrv] ice: add needed PFR during driver unload (Jonathan Toppins) [1721711] - [netdrv] ice: Deduce TSA value from the priority value in the CEE mode (Jonathan Toppins) [1721711] - [netdrv] ice: Report what the user set for coalesce [tx|rx]-usecs (Jonathan Toppins) [1721711] - [netdrv] ice: Fix resource leak in ice_remove_rule_internal() (Jonathan Toppins) [1721711] - [netdrv] ice: Fix EMP reset handling (Jonathan Toppins) [1721711] - [netdrv] ice: fix adminq calls during remove (Jonathan Toppins) [1721711] - [netdrv] ice: Rework ice_ena_msix_range (Jonathan Toppins) [1721711] - [netdrv] ice: Fix VF configuration issues due to reset (Jonathan Toppins) [1721711] - [netdrv] ice: Alloc queue management bitmaps and arrays dynamically (Jonathan Toppins) [1721711] - [netdrv] ice: add support for virtchnl_queue_select.[tx|rx]_queues bitmap (Jonathan Toppins) [1721711] - [netdrv] ice: add support for enabling/disabling single queues (Jonathan Toppins) [1721711] - [netdrv] ice: fix potential infinite loop (Jonathan Toppins) [1721711] - [netdrv] ice: fix ice_is_tc_ena (Jonathan Toppins) [1721711] - [netdrv] ice: add validation in OP_CONFIG_VSI_QUEUES VF message (Jonathan Toppins) [1721711] - [netdrv] ice: Don't clog kernel debug log with VF MDD events errors (Jonathan Toppins) [1721711] - [netdrv] ice: Introduce a local variable for a VSI in the rebuild path (Jonathan Toppins) [1721711] - [netdrv] ice: shorten local and add debug prints (Jonathan Toppins) [1721711] - [netdrv] ice: Sanitize ice_ena_vsi and ice_dis_vsi (Jonathan Toppins) [1721711] - [netdrv] ice: added sibling head to parse nodes (Jonathan Toppins) [1721711] - [netdrv] ice: Fix ethtool port and PFC stats for 4x25G cards (Jonathan Toppins) [1721711] - [netdrv] ice: Don't allow VSI to remove unassociated ucast filter (Jonathan Toppins) [1721711] - [netdrv] ice: Fix issues updating VSI MAC filters (Jonathan Toppins) [1721711] - [netdrv] ice: update ethtool stats on-demand (Jonathan Toppins) [1721711] - [netdrv] ice: Add input handlers for virtual channel handlers (Jonathan Toppins) [1721711] - [netdrv] ice: Don't clear auto_fec bit in ice_cfg_phy_fec() (Jonathan Toppins) [1721711] - [netdrv] ice: Fix flag used for module query (Jonathan Toppins) [1721711] - [netdrv] ice: silence some bogus error messages (Jonathan Toppins) [1721711] - [netdrv] ice: Rename ethtool private flag for lldp (Jonathan Toppins) [1721711] - [netdrv] ice: reject VF attempts to enable head writeback (Jonathan Toppins) [1721711] - [netdrv] ice: Copy dcbx configuration only if mode is correct (Jonathan Toppins) [1721711] - [netdrv] ice: Treat DCBx state NOT_STARTED as valid (Jonathan Toppins) [1721711] - [netdrv] ice: Don't call synchronize_irq() for VF's from the host (Jonathan Toppins) [1721711] - [netdrv] ice: Account for all states of FW DCBx and LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Allow egress control packets from PF_VSI (Jonathan Toppins) [1721711] - [netdrv] ice: improve print for VF's when adding/deleting MAC filters (Jonathan Toppins) [1721711] - [netdrv] ice: Change type for queue counts (Jonathan Toppins) [1721711] - [netdrv] ice: Move VF resources definition to SR-IOV specific file (Jonathan Toppins) [1721711] - [netdrv] ice: Increase size of Mailbox receive queue for many VFs (Jonathan Toppins) [1721711] - [netdrv] ice: Reduce wait times during VF bringup/reset (Jonathan Toppins) [1721711] - [netdrv] ice: update GLINT_DYN_CTL and GLINT_VECT2FUNC register access (Jonathan Toppins) [1721711] - [netdrv] ice: Do not always bring up PF VSI in ice_ena_vsi() (Jonathan Toppins) [1721711] - [netdrv] ice: allow empty Rx descriptors (Jonathan Toppins) [1721711] - [netdrv] ice: Fix kernel hang with DCB reset in CEE mode (Jonathan Toppins) [1721711] - [netdrv] ice: Set WB_ON_ITR when we don't re-enable interrupts (Jonathan Toppins) [1721711] - [netdrv] ice: fix set pause param autoneg check (Jonathan Toppins) [1721711] - [netdrv] ice: Restructure VFs initialization flows (Jonathan Toppins) [1721711] - [netdrv] ice: Assume that more than one Rx queue is rare in ice_napi_poll (Jonathan Toppins) [1721711] - [netdrv] ice: Use the software based tail when checking for hung Tx ring (Jonathan Toppins) [1721711] - [netdrv] ice: Bump version number (Jonathan Toppins) [1721711] - [netdrv] ice: Remove flag to track VF interrupt status (Jonathan Toppins) [1721711] - [netdrv] ice: Remove unnecessary flag ICE_FLAG_MSIX_ENA (Jonathan Toppins) [1721711] - [netdrv] ice: Don't return error for disabling LAN Tx queue that does exist (Jonathan Toppins) [1721711] - [netdrv] ice: Remove duplicate code in ice_alloc_rx_bufs (Jonathan Toppins) [1721711] - [netdrv] ice: Add stats for Rx drops at the port level (Jonathan Toppins) [1721711] - [netdrv] ice: Update number of VF queue before setting VSI resources (Jonathan Toppins) [1721711] - [netdrv] ice: Set up Tx scheduling tree based on alloc VSI Tx queues (Jonathan Toppins) [1721711] - [netdrv] ice: Only bump Rx tail and release buffers once per napi_poll (Jonathan Toppins) [1721711] - [netdrv] ice: Disable VFs until reset is completed (Jonathan Toppins) [1721711] - [netdrv] ice: Do not configure port with no media (Jonathan Toppins) [1721711] - [netdrv] ice: separate out control queue lock creation (Jonathan Toppins) [1721711] - [netdrv] ice: Always set prefena when configuring an Rx queue (Jonathan Toppins) [1721711] - [netdrv] ice: Move vector base setup to PF VSI (Jonathan Toppins) [1721711] - [netdrv] ice: track hardware stat registers past rollover (Jonathan Toppins) [1721711] - [netdrv] ice: add lp_advertising flow control support (Jonathan Toppins) [1721711] - [netdrv] ice: Use struct_size() helper (Jonathan Toppins) [1721711] - [netdrv] ice: Use LLDP ethertype define ETH_P_LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Trivial cosmetic changes (Jonathan Toppins) [1721711] - [netdrv] ice: Recognize higher speeds (Jonathan Toppins) [1721711] - [netdrv] ice: Use a different ICE_DBG bit for firmware log messages (Jonathan Toppins) [1721711] - [netdrv] ice: Update function header (Jonathan Toppins) [1721711] - [netdrv] ice: Move define for ICE_AQC_DRIVER_UNLOADING (Jonathan Toppins) [1721711] - [netdrv] ice: Align to updated AQ command formats (Jonathan Toppins) [1721711] - [netdrv] ice: Use continue instead of an else block (Jonathan Toppins) [1721711] - [netdrv] ice: Change minimum descriptor count value for Tx/Rx rings (Jonathan Toppins) [1721711] - [netdrv] ice: Add switch rules to handle LLDP packets (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup ice_update_link_info (Jonathan Toppins) [1721711] - [netdrv] ice: Use right type for ice_cfg_vsi_lan return (Jonathan Toppins) [1721711] - [netdrv] ice: Add support for Forward Error Correction (FEC) (Jonathan Toppins) [1721711] - [netdrv] ice: Add support for virtchnl_vector_map.[rxq|txq]_map (Jonathan Toppins) [1721711] - [netdrv] ice: Introduce ice_init_mac_fltr and move ice_napi_del (Jonathan Toppins) [1721711] - [netdrv] ice: Use GLINT_DYN_CTL to disable VF's interrupts (Jonathan Toppins) [1721711] - [netdrv] ice: Add a helper to trigger software interrupt (Jonathan Toppins) [1721711] - [netdrv] ice: Configure RSS LUT key only if RSS is enabled (Jonathan Toppins) [1721711] - [netdrv] ice: Add ice_get_fw_log_cfg to init FW logging (Jonathan Toppins) [1721711] - [netdrv] ice: Minor cleanup in ice_switch.h (Jonathan Toppins) [1721711] - [netdrv] ice: Remove redundant and premature event config (Jonathan Toppins) [1721711] - [netdrv] ice: Change message level (Jonathan Toppins) [1721711] - [netdrv] ice: Check all VFs for MDD activity, don't disable (Jonathan Toppins) [1721711] - [netdrv] ice: Refactor interrupt tracking (Jonathan Toppins) [1721711] - [netdrv] ice: Add handler for ethtool selftest (Jonathan Toppins) [1721711] - [netdrv] ice: Don't call ice_cfg_itr() for SR-IOV (Jonathan Toppins) [1721711] - [netdrv] ice: Set minimum default Rx descriptor count to 512 (Jonathan Toppins) [1721711] - [netdrv] ice: Resolve static analysis warning (Jonathan Toppins) [1721711] - [netdrv] ice: Implement toggling ethtool rx-vlan-filter (Jonathan Toppins) [1721711] - [netdrv] ice: Remove direct write for GLLAN_RCTL_0 (Jonathan Toppins) [1721711] - [netdrv] ice: Fix LINE_SPACING style issue (Jonathan Toppins) [1721711] - [netdrv] ice: Silence semantic parser warnings (Jonathan Toppins) [1721711] - [netdrv] ice: Fix couple of issues in ice_vsi_release (Jonathan Toppins) [1721711] - [netdrv] ice: Reorganize ice_vf struct (Jonathan Toppins) [1721711] - [netdrv] ice: Use bitfields when possible (Jonathan Toppins) [1721711] - [netdrv] ice: Reorganize tx_buf and ring structs (Jonathan Toppins) [1721711] - [netdrv] ice: Format ethtool reported stats (Jonathan Toppins) [1721711] - [netdrv] ice: Gracefully handle reset failure in ice_alloc_vfs() (Jonathan Toppins) [1721711] - [netdrv] ice: Refactor the LLDP MIB change event handling (Jonathan Toppins) [1721711] - [netdrv] ice: Advertise supported link modes if none requested (Jonathan Toppins) [1721711] - [netdrv] ice: Fix hang when ethtool disables FW LLDP (Jonathan Toppins) [1721711] - [netdrv] ice: Call out dev/func caps when printing (Jonathan Toppins) [1721711] - [netdrv] ice: Remove braces for single statement blocks (Jonathan Toppins) [1721711] - [netdrv] ice: Cleanup an unnecessary variable initialization (Jonathan Toppins) [1721711] - [netdrv] ice: Implement LLDP persistence (Jonathan Toppins) [1721711] - [netdrv] ice: Fix double spacing (Jonathan Toppins) [1721711] - [kernel] sched/debug: Fix potential deadlock when writing to sched_features (Vladis Dronov) [1760060] - [kernel] sched/debug: Use match_string() helper instead of open-coded logic (Vladis Dronov) [1760060] - [hid] HID: intel-ish-hid: ipc: add EHL device id (Tony Camuso) [1716756] - [hid] HID: remove NO_D3 flag when remove driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: fix wrong driver_data usage (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Fix a use after free in load_fw_from_host() (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add SPDX license identifier - Makefile/Kconfig (Tony Camuso) [1716756] - [platform] platform/chrome: Add ChromeOS EC ISHTP driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: prefix header search paths with $(srctree)/ (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add Comet Lake PCI device ID (Tony Camuso) [1716756] - [platform] platform/chrome: cros_ec: Add EC host command support using rpmsg (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: fix spelling mistake "multipe" -> "multiple" (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ISH firmware loader client driver (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add interface function for PCI device pointer (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Use the new interface functions in HID ish client (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move functions related to bus and device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add interface functions for struct ishtp_cl (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move the common functions from client.h (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Store ishtp_cl_device instance in device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Move driver registry functions (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Simplify ishtp_cl_link() (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Hide members of struct ishtp_cl_device (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Add match callback to ishtp bus type (Tony Camuso) [1716756] - [hid] HID: intel-ish: enable raw interface to HID devices on ISH (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Use VID/PID from ISH (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: Switch to use new generic UUID API (Tony Camuso) [1716756] - [hid] HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function to search client id (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper function for client search (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function to access client buffer (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper functions for client buffer operation (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: use helper function for private driver data set/get (Tony Camuso) [1716756] - [hid] HID: intel-ish-hid: ishtp: add helper function for driver data get/set (Tony Camuso) [1716756] - [platform] platform/chrome: Move cros-ec transport drivers to drivers/platform. (Tony Camuso) [1716756] - [tools] tools: PCI: Fix compiler warning in pcitest (Myron Stowe) [1753749] - [iommu] iommu: Fix integer truncation (Myron Stowe) [1753749] - [pci] PCI/P2PDMA: Ignore root complex whitelist when an IOMMU is present (Myron Stowe) [1753749] - [pci] PCI: Cleanup setup-bus.c comments and whitespace (Myron Stowe) [1753749] - [include] CPER: Remove unnecessary use of user-space types (Myron Stowe) [1753749] - [include] CPER: Add UEFI spec references (Myron Stowe) [1753749] - [pci] PCI: Fix comment typos (Myron Stowe) [1753749] - [pci] PCI: Cleanup register definition width and whitespace (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pointless MY_NAME definition (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pointless PCIE_MODULE_NAME definition (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove unused dbg/err/info/warn() wrappers (Myron Stowe) [1753749] - [pci] PCI: pciehp: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI: pciehp: Replace pciehp_debug module param with dyndbg (Myron Stowe) [1753749] - [pci] PCI: pciehp: Remove pciehp_debug uses (Myron Stowe) [1753749] - [pci] PCI/AER: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI/DPC: Log messages with pci_dev, not pcie_device (Myron Stowe) [1753749] - [pci] PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info() (Myron Stowe) [1753749] - [pci] PCI/AER: Replace dev_printk(KERN_DEBUG) with dev_info() (Myron Stowe) [1753749] - [pci] PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc (Myron Stowe) [1753749] - [pci] PCI: Replace printk(KERN_INFO) with pr_info(), etc (Myron Stowe) [1753749] - [pci] PCI: Use dev_printk() when possible (Myron Stowe) [1753749] - [iommu] iommu/dma: Reserve IOVA for PCIe inaccessible DMA address (Myron Stowe) [1753749] - [pci] PCI: Add dma_ranges window list (Myron Stowe) [1753749] - [pci] PCI: endpoint: Fix a potential NULL pointer dereference (Myron Stowe) [1753749] - [tools] tools: PCI: Handle pcitest.sh independently from pcitest (Myron Stowe) [1753749] - [tools] tools: PCI: Add 'h' in optstring of getopt() (Myron Stowe) [1753749] - [tools] tools: PCI: Change pcitest compiling process (Myron Stowe) [1753749] - [tools] tools: PCI: Fix compilation warnings (Myron Stowe) [1753749] - [tools] tools: PCI: Exit with error code when test fails (Myron Stowe) [1753749] - [pci] PCI: Mark Atheros AR9462 to avoid bus reset (Myron Stowe) [1753749] - [pci] switchtec: Fix unintended mask of MRPC event (Myron Stowe) [1753749] - [pci] switchtec: Increase PFF limit from 48 to 255 (Myron Stowe) [1753749] - [pci] PCI/LINK: Disable bandwidth notification interrupt during suspend (Myron Stowe) [1753749] - [pci] PCI/P2PDMA: Allow P2P DMA between any devices under AMD ZEN Root Complex (Myron Stowe) [1753749] - [maintainers] MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI (Myron Stowe) [1753749] - [platform] platform/chrome: chromeos_laptop: use pci_dev_id() helper (Myron Stowe) [1753749] - [iommu] iommu/amd: Use pci_dev_id() helper (Myron Stowe) [1753749] - [drm] drm/amdkfd: Use pci_dev_id() helper (Myron Stowe) [1753749] - [powerpc] powerpc/powernv/npu: Use pci_dev_id() helper (Myron Stowe) [1753749] - [x86] x86/PCI: Fix PCI IRQ routing table memory leak (Myron Stowe) [1753749] - [pci] PCI: Remove unused pci_request_region_exclusive() (Myron Stowe) [1753749] - [pci] PCI: Mark expected switch fall-throughs (Myron Stowe) [1753749] - [pci] PCI/ACPI: Remove the need for 'struct hotplug_params' (Myron Stowe) [1753749] - [pci] PCI/ACPI: Do not export pci_get_hp_params() (Myron Stowe) [1753749] - [pci] PCI: rpaphp: Get/put device node reference during slot alloc/dealloc (Myron Stowe) [1753749] - [pci] PCI: rpadlpar: Fix leaked device_node references in add/remove paths (Myron Stowe) [1753749] - [pci] PCI: Assign bus numbers present in EA capability for bridges (Myron Stowe) [1753749] - [pci] PCI: OF: Support "external-facing" property (Myron Stowe) [1753749] - [documentation] dt-bindings: Add "external-facing" PCIe port property (Myron Stowe) [1753749] - [pci] PCI: Init PCIe feature bits for managed host bridge alloc (Myron Stowe) [1753749] - [pci] PCI/AER: Change pci_aer_init() stub to return void (Myron Stowe) [1753749] - [s390] s390/zcrypt: CEX7S exploitation support (Philipp Rudo) [1726416] - [s390] s390/pkey: Add sysfs attributes to emit AES CIPHER key blobs (Philipp Rudo) [1726416] - [s390] s390/crypto: Support for SHA3 via CPACF (MSA6) (Philipp Rudo) [1726416] - [s390] s390/crypto: xts-aes-s390 fix extra run-time crypto self tests finding (Philipp Rudo) [1726416] - [s390] s390: vfio-ap: fix warning reset not completed (Philipp Rudo) [1726416] - [s390] crypto: s390 - Rename functions to avoid conflict with crypto/sha256.h (Philipp Rudo) [1726416] - [s390] s390/zcrypt: fix wrong handling of cca cipher keygenflags (Philipp Rudo) [1726416] - [s390] crypto: s390/xts-aes - invoke fallback for ciphertext stealing (Philipp Rudo) [1726416] - [s390] s390/paes: Prepare paes functions for large key blobs (Philipp Rudo) [1726416] - [s390] s390/pkey: add CCA AES cipher key support (Philipp Rudo) [1726416] - [s390] s390/zcrypt: Add low level functions for CCA AES cipher keys (Philipp Rudo) [1726416] - [s390] s390/zcrypt: extend cca_findcard function and helper (Philipp Rudo) [1726416] - [s390] s390/pkey: pkey cleanup: narrow in-kernel API, fix some variable types (Philipp Rudo) [1726416] - [s390] s390/zcrypt: adjust switch fall through comments for -Wimplicit-fallthrough (Philipp Rudo) [1726416] - [s390] crypto: s390/aes - fix name clash after AES library refactor (Philipp Rudo) [1726416] - [s390] s390/zcrypt: new sysfs attributes serialnr and mkvps (Philipp Rudo) [1726416] - [s390] s390/zcrypt: add base code for cca crypto card info support (Philipp Rudo) [1726416] - [s390] s390/zcrypt: move cca misc functions to new code file (Philipp Rudo) [1726416] - [s390] s390: use __u{16, 32, 64} instead of uint{16, 32, 64}_t in uapi header (Philipp Rudo) [1726416] - [s390] s390/zcrypt: remove the exporting of ap_query_configuration (Philipp Rudo) [1726416] - [s390] s390/crypto: sha: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/crypto: prng: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/crypto: ghash: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/pkey: Use -ENODEV instead of -EOPNOTSUPP (Philipp Rudo) [1726416] - [s390] s390/zcrypt: support special flagged EP11 cprbs (Philipp Rudo) [1726416] - [s390] s390/crypto: fix possible sleep during spinlock aquired (Philipp Rudo) [1726416] - [s390] s390/crypto: use TRNG for seeding/reseeding (Philipp Rudo) [1726416] - [s390] s390/crypto: rework generate_entropy function for pseudo random dd (Philipp Rudo) [1726416] - [s390] s390: zcrypt: initialize variables before_use (Philipp Rudo) [1726416] - [powerpc] powerpc/pseries: Track LMB nid instead of using device tree (Steve Best) [1758742] - [powerpc] powerpc/pseries/memory-hotplug: Only update DT once per memory DLPAR request (Steve Best) [1758742] - [net] hv_sock: Fix hang when a connection is closed (Cathy Avery) [1739477] - [net] hv_sock: Use consistent types for UUIDs (Cathy Avery) [1739477] - [net] hvsock: fix epollout hang from race condition (Cathy Avery) [1739477] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Cathy Avery) [1739477] - [net] hv_sock: perf: loop in send() to maximize bandwidth (Cathy Avery) [1739477] - [net] hv_sock: perf: Allow the socket buffer size options to influence the actual socket buffers (Cathy Avery) [1739477] - [net] hv_sock: Add support for delayed close (Cathy Avery) [1739477] - [powerpc] powerpc/rtas: allow rescheduling while changing cpu states (Steve Best) [1758651] - [powerpc] powerpc/pseries/mobility: use cond_resched when updating device tree (Steve Best) [1758651] - [tools] selftests/powerpc: Fix compile error on tlbie_test due to newer gcc (Desnes Augusto Nunes do Rosario) [1755707] - [tools] selftests/powerpc: Add test case for tlbie vs mtpidr ordering issue (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9 (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/book3s64/radix: Rename CPU_FTR_P9_TLBIE_BUG feature flag (Desnes Augusto Nunes do Rosario) [1755707] - [powerpc] powerpc/book3s64/mm: Don't do tlbie fixup for some hardware revisions (Desnes Augusto Nunes do Rosario) [1755707] - [scsi] scsi: zfcp: make DIX experimental, disabled, and independent of DIF (Philipp Rudo) [1723829] - [s390] s390: add support for IBM z15 machines (Philipp Rudo) [1757015] - [s390] s390/pci: add mio_enabled attribute (Philipp Rudo) [1757118] - [s390] s390: fix setting of mio addressing control (Philipp Rudo) [1757118] - [s390] s390/pci: correctly handle MIO opt-out (Philipp Rudo) [1757118] - [s390] s390/pci: deal with devices that have no support for MIO instructions (Philipp Rudo) [1757118] - [s390] s390/pci: fix assignment of bus resources (Philipp Rudo) [1757118] - [s390] s390/pci: fix struct definition for set PCI function (Philipp Rudo) [1757118] - [s390] s390/pci: fix MSI message data (Philipp Rudo) [1757123] - [powerpc] powerpc/tm: Add tm-poison test (Steve Best) [1756721] - [powerpc] powerpc/powernv: Add new opal message type (Desnes Augusto Nunes do Rosario) [1706975] - [powerpc] powerpc/powernv: Enhance opal message read interface (Desnes Augusto Nunes do Rosario) [1706975] - [char] hwrng: core - don't wait on add_early_randomness() (Laurent Vivier) [1660802] - [firmware] efi: Export Runtime Configuration Interface table to sysfs (Al Stone) [1665518] - [nvme] nvme: Treat discovery subsystems as unique subsystems (Ewan Milne) [1757525] - [powerpc] powerpc/powernv/opal: Use standard interrupts property when available (Steve Best) [1757173] - [powerpc] powerpc: dump kernel log before carrying out fadump or kdump (Steve Best) [1756922] - [kernel] genirq/affinity: Create affinity mask for single vector (Ming Lei) [1733420] - [virt] kvm: arm/arm64: Only skip MMIO insn once (Andrew Jones) [1733928] - [vfio] type1: remove duplicate retrieval of reserved regions (Auger Eric) [1704597] - [vfio] type1: Add IOVA range capability support (Auger Eric) [1704597] - [vfio] type1: check dma map request is within a valid iova range (Auger Eric) [1704597] - [vfio] type1: Update iova list on detach (Auger Eric) [1704597] - [vfio] type1: Check reserved region conflict and update iova list (Auger Eric) [1704597] - [vfio] type1: Introduce iova list and add iommu aperture validity check (Auger Eric) [1704597] - [iommu] Revisit iommu_insert_resv_region() implementation (Auger Eric) [1704597] - [iommu] vt-d: Differentiate relaxable and non relaxable RMRRs (Auger Eric) [1704597] - [iommu] Introduce IOMMU_RESV_DIRECT_RELAXABLE reserved memory regions (Auger Eric) [1704597] - [iommu] vt-d: Handle PCI bridge RMRR device scopes in intel_iommu_get_resv_regions (Auger Eric) [1704597] - [iommu] vt-d: Handle RMRR with PCI bridge device scopes (Auger Eric) [1704597] - [iommu] vt-d: Introduce is_downstream_to_pci_bridge helper (Auger Eric) [1704597] - [iommu] vt-d: Duplicate iommu_resv_region objects per device list (Auger Eric) [1704597] - [iommu] Fix a leak in iommu_insert_resv_region (Auger Eric) [1704597] - [pci] hv: Avoid use of hv_pci_dev->pci_slot after freeing it (Mohammed Gamal) [1737569]- [x86] kvm: x86: omit "impossible" pmu MSRs from MSR list (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Fix consistency check on injected exception error code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: omit absent pmu MSRs from MSR list (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: Fix libkvm build error (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Limit guest PMCs to those supported on the host (Vitaly Kuznetsov) [1749495] - [virt] kvm: x86, powerpc: do not allow clearing largepages debugfs entry (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: x86: clarify what is reported on KVM_GET_MSRS failure (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Set VMENTER_L1D_FLUSH_NOT_REQUIRED if !X86_BUG_L1TF (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: add test for dirty logging inside nested guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix nested guest live migration with PML (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: assign two bits to track SPTE kinds (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Expose XSAVEERPTR to the guest (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Enumerate support for CLZERO instruction (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use AMD CPUID semantics for AMD vCPUs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Improve emulation of CPUID leaves 0BH and 1FH (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix userspace set invalid CR4 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix a spurious -E2BIG in __do_cpuid_func (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Loosen filter for adaptive tuning of lapic_timer_advance_ns (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: cleanup and fix host 64-bit mode checks (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix build warnings in hv_enable_direct_tlbflush() on i386 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't check kvm_rebooting in __kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Drop ____kvm_handle_fault_on_reboot() (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Add error handling to VMREAD helper (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Optimize VMX instruction error and fault handling (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Check kvm_rebooting in kvm_spurious_fault() (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: limit atomic switch MSRs (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Intercept RDPRU (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add "significant index" flag to a few CPUID leaves (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Skip invalid pages during zapping iff root_count is zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Explicitly track only a single invalid mmu generation (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "kvm: x86/mmu: Remove is_obsolete() call" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: reclaim the zapped-obsolete page first"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: collapse TLB flushes when zap all pages"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: zap pages in batch"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: add tracepoint for kvm_mmu_invalidate_all_pages"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: revert "revert "kvm: mmu: show mmu_valid_gen in shadow page related tracepoints"" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Use fast invalidate mechanism to zap MMIO sptes (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Treat invalid shadow pages as obsolete (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Tune lapic_timer_advance_ns smoothly (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add comments to document various emulation types (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Handle single-step #DB for EMULTYPE_SKIP on EPT misconfig (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Remove emulation_result enums, EMULATE_{DONE, FAIL, USER_EXIT} (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Remove EMULATE_FAIL handling in handle_invalid_guest_state() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move triple fault request into RM int injection (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Handle emulation failure directly in kvm_task_switch() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Exit to userspace on emulation skip failure (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move #UD injection for failed emulation into emulation code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add explicit flag for forced emulation on #UD (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move #GP injection for VMware into x86_emulate_instruction() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't attempt VMWare emulation on #GP with non-zero error code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Refactor kvm_vcpu_do_singlestep() to remove out param (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Clean up handle_emulation_failure() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Relocate MMIO exit stats counting (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check Host Address Space Size on vmentry of nested guests (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: hyperv_cpuid: add check for NoNonArchitecturalCoreSharing bit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: hyper-v: set NoNonArchitecturalCoreSharing CPUID bit when SMT is impossible (Vitaly Kuznetsov) [1749495] - [kernel] cpu/smt: create and export cpu_smt_possible() (Vitaly Kuznetsov) [1749495] - [x86] kvm: hyperv: Fix Direct Synthetic timers assert an interrupt w/o lapic_in_kernel (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Manually flush collapsible SPTEs only when toggling flags (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove duplicate guest mode handling (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Introduce VM_MODE_PXXV48_4K (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Create VM earlier for dirty log test (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Move vm type into _vm_create() internally (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: announce KVM_CAP_HYPERV_ENLIGHTENED_VMCS support only when it is available (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: svm: remove unneeded nested_enable_evmcs() hook (Vitaly Kuznetsov) [1749495] - [x86] kvm/hyper-v/vmx: Add direct tlb flush support (Vitaly Kuznetsov) [1749495] - [documentation] kvm/hyper-v: Add new KVM capability KVM_CAP_HYPERV_DIRECT_TLBFLUSH (Vitaly Kuznetsov) [1749495] - [x86] hyper-v: Fix definition of struct hv_vp_assist_page (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add Intel PMU MSRs to msrs_to_save[] (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use IPI shorthands in kvm guest when support (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix INIT signal handling in various CPU states (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Introduce exit reason for receiving INIT signal on guest-mode (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Stop the preemption timer during vCPU reset (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Micro optimize IPI latency (Vitaly Kuznetsov) [1749495] - [x86] kvm: Nested KVM MMUs need PAE root too (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: set ctxt->have_exception in x86_decode_insn() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: always stop emulation on page fault (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: trace nested VM-Enter failures detected by H/W (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: add tracepoint for failed nested VM-Enter (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Fix a check in nested_svm_vmrun() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Return to userspace with internal error on unexpected exit reason (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add kvm_emulate_{rd, wr}msr() to consolidate VXM/SVM code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Refactor up kvm_{g, s}et_msr() to simplify callers (Vitaly Kuznetsov) [1749495] - [documentation] doc: kvm: Fix return description of KVM_SET_MSRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Tune PLE Window tracepoint (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Change ple_window type to unsigned int (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Remove tailing newline for tracepoints (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Trace vcpu_id for vmexit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Manually calculate reserved bits when loading PDPTRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Disable posted interrupts for non-standard IRQs delivery modes (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix and tweak the comments for VM-Enter (Vitaly Kuznetsov) [1749495] - [x86] kvm: Assert that struct kvm_vcpu is always as offset zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add pv tlb shootdown tracepoint (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Unconditionally call x86 ops that are always implemented (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Consolidate "is MMIO SPTE" code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Add explicit access mask for MMIO SPTEs (Vitaly Kuznetsov) [1749495] - [documentation] kvm: x86: Rename access permissions cache member in struct kvm_vcpu_arch (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: eliminate hardcoded RIP advancement from vmrun_interception() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: eliminate weird goto from vmrun_interception() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: remove hardcoded instruction length from intercepts (Vitaly Kuznetsov) [1749495] - [x86] kvm: add xsetbv to the emulator (Vitaly Kuznetsov) [1749495] - [x86] kvm: clear interrupt shadow on EMULTYPE_SKIP (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: propagate errors from skip_emulated_instruction() (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: don't pretend to advance RIP in case wrmsr_interception() results in #GP (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix x86_decode_insn() return when fetching insn bytes fails (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use Intel speculation bugs and features as derived in generic x86 code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: always expose VIRT_SSBD to guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix reporting of AMD speculation bug CPUID leaf (Vitaly Kuznetsov) [1749495] - [virt] kvm: Call kvm_arch_vcpu_blocking early into the blocking sequence (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/mmu: Reintroduce fast invalidate/zap for flushing memslot (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: work around leak of uninitialized stack contents (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: handle page fault in vmread (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Don't update RIP or do single-step on faulting emulation (Vitaly Kuznetsov) [1749495] - [tools] selftests/kvm: make platform_info_test pass on AMD (Vitaly Kuznetsov) [1749495] - [x86] revert "kvm: x86/mmu: Zap only the relevant pages when removing a memslot" (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: fix state save/load on processors without XSAVE (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: fix vmx_set_nested_state_test (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: provide common function to enable eVMCS (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: do not try running the VM in vmx_set_nested_state_test (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: svm: remove redundant assignment of var new_entry (Vitaly Kuznetsov) [1749495] - [tools] selftests: kvm: Adding config fragments (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Update gitignore file for latest changes (Vitaly Kuznetsov) [1749495] - [virt] kvm: remove unnecessary PageReserved check (Vitaly Kuznetsov) [1749495] - [x86] kvm: remove useless calls to kvm_para_available (Vitaly Kuznetsov) [1749495] - [x86] kvm: no need to check return value of debugfs_create functions (Vitaly Kuznetsov) [1749495] - [s390] kvm: remove kvm_arch_has_vcpu_debugfs() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix leak vCPU's VMCS value into other pCPU (Vitaly Kuznetsov) [1749495] - [virt] kvm: Check preempted_in_kernel for involuntary preemption (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Don't need to wakeup vCPU twice afer timer fire (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Boost queue head vCPU to mitigate lock waiter preemption (Vitaly Kuznetsov) [1749495] - [documentation] documentation: move Documentation/virtual to Documentation/virt (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add fixed counters to PMU filter (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: dump VMCS on failed entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/vpmu: refine kvm_pmu err msg when event creation failed (Vitaly Kuznetsov) [1749495] - [virt] kvm: Boost vCPUs that are delivering interrupts (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove superfluous define from vmx.c (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: Fix detection of AMD Errata 1096 (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Inject timer interrupt via posted interrupt (Vitaly Kuznetsov) [1749495] - [x86] kvm: Don't call kvm_spurious_fault() from .fixup (Vitaly Kuznetsov) [1749495] - [x86] kvm: Replace vmx_vmenter()'s call to kvm_spurious_fault() with UD2 (Vitaly Kuznetsov) [1749495] - [x86] kvm: Fix fastop function ELF metadata (Vitaly Kuznetsov) [1749495] - [x86] paravirt: Fix callee-saved function ELF sizes (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Make lapic timer unpinned (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/vpmu: reset pmc->counter to 0 for pmu fixed_counters (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Ignore segment base for VMX memory operand when segment not FS or GS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: ioapic and apic debug macros cleanup (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: some tsc debug cleanup (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix coccinelle warnings (Vitaly Kuznetsov) [1749495] - [x86] kvm: avoid constant-conversion warning (Vitaly Kuznetsov) [1749495] - [x86] kvm: avoid -Wsometimes-uninitized warning (Vitaly Kuznetsov) [1749495] - [documentation] documentation: virtual: Add toctree hooks (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: Convert cpuid.txt to .rst (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Unconditionally enable irqs in guest context (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: PMU Event Filter (Vitaly Kuznetsov) [1749495] - [kernel] kvm: x86: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1749495] - [virt] kvm: Properly check if "page" is valid in kvm_vcpu_unmap (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Retry tune per-vCPU timer_advance_ns if adaptive tuning goes insane (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: write down valid APIC registers (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: ARBPRI is a reserved register for x2APIC (Vitaly Kuznetsov) [1749495] - [x86] kvm nvmx: Check Host Segment Registers and Descriptor Tables on vmentry of nested guests (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Stash L1's CR3 in vmcs01.GUEST_CR3 on nested entry w/o EPT (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: add tracepoints around __direct_map and FNAME(fetch) (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: remove now unneeded hugepage gfn adjustment (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: make FNAME(fetch) and __direct_map more similar (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Do not release the page inside mmu_set_spte() (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: remove has_leaf_count from struct kvm_cpuid_param (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: rename do_cpuid_1_ent (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: set struct kvm_cpuid_entry2 flags in do_cpuid_1_ent (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: extract do_cpuid_7_mask and support multiple subleafs (Vitaly Kuznetsov) [1749495] - [x86] kvm: cpuid: do_cpuid_ent works on a whole CPUID function (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: remove the trailing newline used in the fmt parameter of TP_printk (Vitaly Kuznetsov) [1749495] - [x86] kvm: svm: add nrips module parameter (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: degrade WARN to pr_warn_ratelimited (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Pass through AMD_STIBP_ALWAYS_ON in GET_SUPPORTED_CPUID (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Remove unnecessary sync_roots from handle_invept (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: document CPUID bit for MSR_KVM_POLL_CONTROL (Vitaly Kuznetsov) [1749495] - [documentation] kvm: x86: Expose PV_SCHED_YIELD CPUID feature bit to guest (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Implement PV sched yield hypercall (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Yield to IPI target if necessary (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: list VMX MSRs in KVM_GET_MSR_INDEX_LIST (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: allow setting the VMFUNC controls MSR (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: include conditional controls in /dev/kvm KVM_GET_MSRS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix apic dangling pointer in vcpu (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: check CPUID before allowing read/write of IA32_XSS (Vitaly Kuznetsov) [1749495] - [tools] tests: kvm: Check for a kernel warning (Vitaly Kuznetsov) [1749495] - [tools] kvm: tests: Sort tests in the Makefile alphabetically (Vitaly Kuznetsov) [1749495] - [documentation] kvm: fix typo in documentation (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: shadow pin based execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Leave preemption timer running when it's disabled (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Drop hv_timer_armed from 'struct loaded_vmcs' (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Preset *DT exiting in vmcs02 when emulating UMIP (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Preserve last USE_MSR_BITMAPS when preparing vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Explicitly initialize controls shadow at VMCS allocation (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't reset VMCS controls shadow on VMCS switch (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Shadow VMCS controls on a per-VMCS basis (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS secondary execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS primary execution controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Shadow VMCS pin controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Add builder macros for shadowing controls (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Use adjusted pin controls for vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Copy PDPTRs to/from vmcs12 only when necessary (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't update GUEST_BNDCFGS if it's clean in HV eVMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for MSR_IA32_DEBUGCTLMSR when it's written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for SYSENTER MSRs when they're written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Update vmcs12 for MSR_IA32_CR_PAT when it's written (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't speculatively write APIC-access page address (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't speculatively write virtual-APIC page address (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't dump VMCS if virtual APIC page can't be mapped (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't reread VMCS-agnostic state when switching VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't "put" vCPU or host state when switching VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: simplify vmx_prepare_switch_to_{guest, host} (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Don't rewrite GUEST_PML_INDEX during nested VM-Entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Write ENCLS-exiting bitmap once per vmcs02 (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Always sync GUEST_BNDCFGS when it comes from vmcs01 (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Always signal #GP on WRMSR to MSR_IA32_CR_PAT with bad value (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_rare (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Sync rarely accessed guest fields only when needed (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Add helpers to identify shadowed VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Use descriptive names for VMCS sync functions and flags (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Lift sync_vmcs12() out of prepare_vmcs12() (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Track vmcs12 offsets for shadowed VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Intercept VMWRITEs to GUEST_{CS, SS}_AR_BYTES (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Intercept VMWRITEs to read-only shadow VMCS fields (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Handle NMIs, #MCs and async #PFs in common irqs-disabled fn (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move kvm_{before, after}_interrupt() calls to vendor code (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Store the host kernel's IDT base in a global variable (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Read cached VM-Exit reason to detect external interrupt (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: small cleanup in handle_exception (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix handling of #MC that occurs during VM-Entry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: move MSR_IA32_POWER_CTL handling to common code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: offset is ensure to be in range (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use same convention to name kvm_lapic_{set, clear}_vector() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: check kvm_apic_sw_enabled() is enough (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: add host poll control msrs (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: segment limit check: use access length (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: fix limit checking in get_vmx_mem_address() (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add Intel CPUID.1F cpuid emulation support (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Use DR_TRAP_BITS instead of hard-coded 15 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: clean up conditions for asynchronous page fault handling (Vitaly Kuznetsov) [1749495] - [documentation] docs: amd-memory-encryption.rst get rid of warnings (Vitaly Kuznetsov) [1749495] - [virt] kvm: Convert kvm_lock to a mutex (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: remove unneeded 'asm volatile ("")' from vmcs_write64 (Vitaly Kuznetsov) [1749495] - [virt] kvm: irqchip: Use struct_size() in kzalloc() (Vitaly Kuznetsov) [1749495] - [x86] kvm/vmx: drop bad asm() clobber from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: hide vcpu_setup in processor code (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Emulate MSR_IA32_MISC_ENABLE MWAIT bit (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Provide a capability to disable cstate msr read intercepts (Vitaly Kuznetsov) [1749495] - [documentation] kvm: documentation: Add disable pause exits to KVM_CAP_X86_DISABLE_EXITS (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: refine kvm_get_arch_capabilities() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Directly return result from kvm_arch_check_processor_compat() (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Optimize timer latency further (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Delay trace_kvm_wait_lapic_expire tracepoint to after vmexit (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Extract adaptive tune timer advancement logic (Vitaly Kuznetsov) [1749495] - [x86] kvm/nsvm: properly map nested VMCB (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix reserved bits related calculation errors caused by MKTME (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Move kvm_set_mmio_spte_mask() from x86.c to mmu.c (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compile on s390 part 2 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: fix return value for reserved EFER (Vitaly Kuznetsov) [1749495] - [tools] kvm_stat: fix fields filter for child events (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: aarch64: compile with warnings on (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/pmu: do not mask the value that is written to fixed PMUs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86/pmu: mask the result of rdpmc according to the width of the counters (Vitaly Kuznetsov) [1749495] - [x86] kvm/pmu: Set AMD's virt PMU version to 1 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: do not spam dmesg with VMCS/VMCB dumps (Vitaly Kuznetsov) [1749495] - [virt] kvm: Check irqchip mode before assign irqfd (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Remove duplicated TEST_ASSERT in hyperv_cpuid.c (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Expose per-vCPU timer_advance_ns to userspace (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Fix lapic_timer_advance_ns parameter overflow (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Fix -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Fix using __this_cpu_read() in preemptible context (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compilation on s390 (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Include CPUID leaf 0x8000001e in kvm's supported CPUID (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Include multiple indices with CPUID leaf 0x8000001d (Vitaly Kuznetsov) [1749495] - [tools] kvm: selftests: Fix a condition in test_hv_cpuid() (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix spinlock taken warning during host resume (Vitaly Kuznetsov) [1749495] - [virt] kvm: fix compilation on aarch64 (Vitaly Kuznetsov) [1749495] - [x86] revert "kvm: nvmx: Expose RDPMC-exiting only when guest supports PMU" (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Fix L1TF mitigation for shadow MMU (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Disable intercept for FS/GS base MSRs in vmcs02 when possible (Vitaly Kuznetsov) [1749495] - [tools] tests: kvm: Add tests to .gitignore (Vitaly Kuznetsov) [1749495] - [documentation] kvm: Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix kvm_clear_dirty_log_protect off-by-(minus-)one (Vitaly Kuznetsov) [1749495] - [virt] kvm: Fix the bitmap range to copy during clear dirty (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: use direct accessors for RIP and RSP (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Use accessors for GPRs outside of dedicated caching logic (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Omit caching logic for always-available GPRs (Vitaly Kuznetsov) [1749495] - [x86] kvm, x86: Properly check whether a pfn is an MMIO or not (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use page_address_valid in a few more locations (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map for accessing the enlightened VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map for accessing the shadow VMCS (Vitaly Kuznetsov) [1749495] - [x86] kvm/nsvm: Use the new mapping API for mapping guest memory (Vitaly Kuznetsov) [1749495] - [x86] kvm/x86: Use kvm_vcpu_map in emulator_cmpxchg_emulated (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the posted interrupt descriptor table (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the virtual APIC page (Vitaly Kuznetsov) [1749495] - [x86] kvm/nvmx: Use kvm_vcpu_map when mapping the L1 MSR bitmap (Vitaly Kuznetsov) [1749495] - [x86] nvmx: handle_vmptrld: Use kvm_vcpu_map when copying VMCS12 from guest memory (Vitaly Kuznetsov) [1749495] - [virt] kvm: Introduce a new guest mapping API (Vitaly Kuznetsov) [1749495] - [x86] kvm: Handle PFNs outside of kernel reach when touching GPTEs (Vitaly Kuznetsov) [1749495] - [x86] nvmx: Update the PML table without mapping and unmapping the page (Vitaly Kuznetsov) [1749495] - [x86] nvmx: handle_vmon: Read 4 bytes from guest memory (Vitaly Kuznetsov) [1749495] - [x86] kvm: Implement HWCR support (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Include architectural defs header in capabilities.h (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: clean up some debug output (Vitaly Kuznetsov) [1749495] - [virt] kvm_main: fix some comments (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Skip delta_tsc shift-and-divide if the dividend is zero (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Check for a pending timer intr prior to start_hv_timer() (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Refactor ->set_hv_timer to use an explicit expired param (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Explicitly cancel the hv timer if it's pre-expired (Vitaly Kuznetsov) [1749495] - [x86] kvm: lapic: Busy wait for timer to expire when using hv_timer (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: Nop emulation of MSR_IA32_POWER_CTL (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Add support of clear Trace_ToPA_PMI status (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Inject PMI for KVM guest (Vitaly Kuznetsov) [1749495] - [documentation] revert "kvm: doc: Document the life cycle of a VM and its resources" (Vitaly Kuznetsov) [1749495] - [documentation] documentation: kvm: fix dirty log ioctl arch lists (Vitaly Kuznetsov) [1749495] - [x86] kvm: Make steal_time visible (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Inject #GP if guest attempts to set unsupported EFER bits (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Skip EFER vs. guest CPUID checks for host-initiated writes (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Return -EINVAL when signaling failure in VM-Entry helpers (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Return -EINVAL when signaling failure in pre-VM-Entry helpers (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Rename and split top-level consistency checks to match SDM (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Move guest non-reg state checks to VM-Exit path (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check "load IA32_PAT" VM-entry control on vmentry (Vitaly Kuznetsov) [1749495] - [x86] kvm: nvmx: Check "load IA32_PAT" VM-exit control on vmentry (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: optimize check for valid PAT value (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: clear VM_EXIT_SAVE_IA32_PAT (Vitaly Kuznetsov) [1749495] - [x86] kvm: vmx: print more APICv fields in dump_vmcs (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: Raise #GP when guest vCPU do not support PMU (Vitaly Kuznetsov) [1749495] - [documentation] kvm: doc: Document the life cycle of a VM and its resources (Vitaly Kuznetsov) [1749495] - [x86] kvm: x86: skip populating logical dest map if apic is not sw enabled (Bandan Das) [1728503] - [powerpc] kvm: ppc: book3s: Fix incorrect guest-to-user-translation error handling (David Gibson) [1749504] - [powerpc] kvm: Fall through switch case explicitly (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Fix CR0 setting in TM emulation (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Invalidate ERAT when flushing guest TLB entries (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Only write DAWR[X] when handling h_set_dawr in real mode (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: xive: Fix spelling mistake "acessing" -> "accessing" (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Make sure to load LPID for radix VCPUs (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Flush TLB on secondary radix threads (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Move HPT guest TLB flushing to C code (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Handle virtual mode in XIVE VCPU push code (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: smb->smp comment fixup (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s: Allocate guest TCEs on demand too (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Avoid lockdep debugging in TCE realmode handlers (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Fix lockdep warning when entering the guest (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Implement real mode H_PAGE_INIT handler (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s hv: Implement virtual mode H_PAGE_INIT handler (David Gibson) [1749504] - [powerpc] kvm: ppc: book3s: Protect memslots while validating user address (David Gibson) [1749504] - [pci] PCI: hv: Use bytes 4 and 5 from instance ID as the PCI domain numbers (Mohammed Gamal) [1671288] - [pci] PCI: hv: Detect and fix Hyper-V PCI domain number collision (Mohammed Gamal) [1671288] - [fs] Revert "lockd: Show pid of lockd for remote locks" (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix an Oops in nfs4_do_setattr (Benjamin Coddington) [1732409] - [fs] NFSv4: Check the return value of update_open_stateid() (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix delegation state recovery (Benjamin Coddington) [1732409] - [fs] pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error (Benjamin Coddington) [1732409] - [fs] Revert "NFS: readdirplus optimization by cache mechanism" (memleak) (Benjamin Coddington) [1732409] - [fs] svcrdma: Ignore source port when computing DRC hash (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Use the correct TCP timeout for flexfiles I/O (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix bug only first CB_NOTIFY_LOCK is handled (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter (Benjamin Coddington) [1732409] - [fs] SUNRPC fix regression in umount of a secure mount (Benjamin Coddington) [1732409] - [fs] NFS4: Fix v4.0 client state corruption when mount (Benjamin Coddington) [1732409] - [fs] NFSv4: When recovering state fails with EAGAIN, retry the same recovery (Benjamin Coddington) [1732409] - [fs] pnfs: Fix a problem where we gratuitously start doing I/O through the MDS (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request (Benjamin Coddington) [1732409] - [fs] sunrpc/cache: remove the exporting of cache_seq_next (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a use after free when a server rejects the RPCSEC_GSS credential (Benjamin Coddington) [1732409] - [fs] xprtrdma: Fix an frwr_map recovery nit (Benjamin Coddington) [1732409] - [fs] NFSv4.1 fix incorrect return value in copy_file_range (Benjamin Coddington) [1732409] - [fs] NFS: Fix handling of reply page vector (Benjamin Coddington) [1732409] - [fs] NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family. (Benjamin Coddington) [1732409] - [fs] nfsd: Don't release the callback slot unless it was actually held (Benjamin Coddington) [1732409] - [fs] nfsd/nfsd3_proc_readdir: fix buffer count and page pointers (Benjamin Coddington) [1732409] - [fs] sunrpc: don't mark uninitialised items as VALID. (Benjamin Coddington) [1732409] - [fs] SUNRPC: fix uninitialized variable warning (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: Fix layoutstats handling during read failovers (Benjamin Coddington) [1732409] - [fs] NFS: Fix a typo in nfs_init_timeout_values() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't let RPC_SOFTCONN tasks time out if the transport is connected (Benjamin Coddington) [1732409] - [fs] NFS: fix mount/umount race in nlmclnt. (Benjamin Coddington) [1732409] - [fs] NFS: Fix nfs4_lock_state refcounting in nfs4_alloc_{lock, unlock}data() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove redundant check for the reply length in call_decode() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Handle the SYSTEM_ERR rpc error (Benjamin Coddington) [1732409] - [fs] SUNRPC: rpc_decode_header() must always return a non-zero value on error (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use the ENOTCONN error on socket disconnect (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix the minimal size for reply buffer allocation (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a client regression when handling oversized replies (Benjamin Coddington) [1732409] - [fs] pNFS: Fix a typo in pnfs_update_layout (Benjamin Coddington) [1732409] - [fs] SUNRPC: Take the transport send lock before binding+connecting (Benjamin Coddington) [1732409] - [fs] SUNRPC: Micro-optimise when the task is known not to be sleeping (Benjamin Coddington) [1732409] - [fs] SUNRPC: Check whether the task was transmitted before rebind/reconnect (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove redundant calls to RPC_IS_QUEUED() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up (Benjamin Coddington) [1732409] - [fs] nfsd: allow nfsv3 readdir request to be larger. (Benjamin Coddington) [1732409] - [fs] SUNRPC: Respect RPC call timeouts when retrying transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up RPC back channel transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Prevent thundering herd when the socket is not connected (Benjamin Coddington) [1732409] - [fs] nfsd: fix wrong check in write_v4_end_grace() (Benjamin Coddington) [1732409] - [fs] nfsd: fix memory corruption caused by readdir (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow dynamic allocation of back channel slots (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Bump the default callback session slot count to 16 (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert remaining GFP_NOIO, and GFP_NOWAIT sites in sunrpc (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Clean up mirror DS initialisation (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Remove dead code in ff_layout_mirror_valid() (Benjamin Coddington) [1732409] - [fs] NFS/flexfile: Simplify nfs4_ff_layout_select_ds_stateid() (Benjamin Coddington) [1732409] - [fs] NFS/flexfile: Simplify nfs4_ff_layout_ds_version() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify ff_layout_get_ds_cred() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify nfs4_ff_find_or_create_ds_client() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Simplify nfs4_ff_layout_select_ds_fh() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Speed up read failover when DSes are down (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Don't invalidate DS deviceids for being unresponsive (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Remove bogus checks for invalid deviceids (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Avoid unnecessary layout invalidations (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: refactor calls to fs4_ff_layout_prepare_ds() (Benjamin Coddington) [1732409] - [fs] NFSv4: Handle early exit in layoutget by returning an error (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Send LAYOUTERROR when failing over mirrored reads (Benjamin Coddington) [1732409] - [fs] NFSv4.2: Add client support for the generic 'layouterror' RPC call (Benjamin Coddington) [1732409] - [fs] NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated (Benjamin Coddington) [1732409] - [fs] NFSv4/pnfs: Fix barriers in nfs4_mark_deviceid_unavailable() (Benjamin Coddington) [1732409] - [fs] NFS/flexfiles: Fix up sparse RCU annotations (Benjamin Coddington) [1732409] - [fs] NFSv4/flexfiles: Fix invalid deref in FF_LAYOUT_DEVID_NODE() (Benjamin Coddington) [1732409] - [fs] NFS: Add missing encode / decode sequence_maxsz to v4.2 operations (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Don't process the sequence op more than once. (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Reinitialise sequence results before retransmitting a request (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix an Oops in udp_poll() (Benjamin Coddington) [1732409] - [fs] NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount (Benjamin Coddington) [1732409] - [fs] NFS: Fix a soft lockup in the delegation recovery code (Benjamin Coddington) [1732409] - [fs] nfsd: fix performance-limiting session calculation (Benjamin Coddington) [1732409] - [fs] svcrpc: fix UDP on servers with lots of threads (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove the redundant 'zerocopy' argument to xs_sendpages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Further cleanups of xs_sendpages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert socket page send code to use iov_iter() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert xs_send_kvec() to use iov_iter_kvec() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Initiate a connection close on an ESHUTDOWN error in stream receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't suppress socket errors when a message read completes (Benjamin Coddington) [1732409] - [fs] SUNRPC: Handle zero length fragments correctly (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't reset the stream record info when the receive worker is running (Benjamin Coddington) [1732409] - [fs] nfs: fix xfstest generic/099 failed on nfsv3 (Benjamin Coddington) [1732409] - [fs] NFS: Fix typo in comments of nfs_readdir_alloc_pages() (Benjamin Coddington) [1732409] - [fs] NFS: Remove redundant semicolon (Benjamin Coddington) [1732409] - [fs] NFS: readdirplus optimization by cache mechanism (Benjamin Coddington) [1732409] - [fs] fs/nfs: Fix nfs_parse_devname to not modify it's argument (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove pointless test in unx_match() (Benjamin Coddington) [1732409] - [fs] NFS: drop useless LIST_HEAD (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure rq_bytes_sent is reset before request transmission (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use poll() to fix up the socket requeue races (Benjamin Coddington) [1732409] - [fs] SUNRPC: Set memalloc_nofs_save() on all rpciod/xprtiod jobs (Benjamin Coddington) [1732409] - [fs] NFS: Fix sparse annotations for nfs_set_open_stateid_locked() (Benjamin Coddington) [1732409] - [fs] NFS: Fix up documentation warnings (Benjamin Coddington) [1732409] - [fs] NFS: ENOMEM should also be a fatal error. (Benjamin Coddington) [1732409] - [fs] NFS: EINTR is also a fatal error. (Benjamin Coddington) [1732409] - [fs] NFS: Ensure NFS writeback allocations don't recurse back into NFS. (Benjamin Coddington) [1732409] - [fs] NFS: Pass error information to the pgio error cleanup routine (Benjamin Coddington) [1732409] - [fs] NFS: Clean up list moves of struct nfs_page (Benjamin Coddington) [1732409] - [fs] NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() (Benjamin Coddington) [1732409] - [fs] NFS: Fix an I/O request leakage in nfs_do_recoalesce (Benjamin Coddington) [1732409] - [fs] NFS: Fix I/O request leakages (Benjamin Coddington) [1732409] - [fs] Revert "nfsd4: return default lease period" (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use au_rslack when computing reply buffer size (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add rpc_auth::au_ralign field (Benjamin Coddington) [1732409] - [fs] SUNRPC: Make AUTH_SYS and AUTH_NULL set au_verfsize (Benjamin Coddington) [1732409] - [fs] NFS: Account for XDR pad of buf->pages (Benjamin Coddington) [1732409] - [fs] SUNRPC: Introduce rpc_prepare_reply_pages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove xdr_buf_trim() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Introduce trace points in rpc_auth_gss.ko (Benjamin Coddington) [1732409] - [fs] xprtrdma: Squelch a sparse warning (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use struct xdr_stream when decoding RPC Reply header (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up rpc_verify_header() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use struct xdr_stream when constructing RPC Call header (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add build option to disable support for insecure enctypes (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove rpc_xprt::tsh_size (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove some dprintk() call sites from auth functions (Benjamin Coddington) [1732409] - [fs] NFS: Add trace events to report non-zero NFS status codes (Benjamin Coddington) [1732409] - [fs] NFS: Remove print_overflow_msg() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add trace event that reports reply page vector alignment (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add XDR overflow trace event (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add xdr_stream::rqst field (Benjamin Coddington) [1732409] - [fs] SUNRPC: Display symbolic flag names in RPC trace events (Benjamin Coddington) [1732409] - [fs] rpc: properly check debugfs dentry before using it (Benjamin Coddington) [1732409] - [fs] svcrpc: fix unlikely races preventing queueing of sockets (Benjamin Coddington) [1732409] - [fs] svcrpc: svc_xprt_has_something_to_do seems a little long (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't allow compiler optimisation of svc_xprt_release_slot() (Benjamin Coddington) [1732409] - [fs] nfsd: fix an IS_ERR() vs NULL check (Benjamin Coddington) [1732409] - [fs] nfsd: Fix error return values for nfsd4_clone_file_range() (Benjamin Coddington) [1732409] - [fs] nfs: Fix NULL pointer dereference of dev_name (Benjamin Coddington) [1732409] - [fs] SUNRPC: Address Kerberos performance/behavior regression (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure we respect the RPCSEC_GSS sequence number limit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Ensure rq_bytes_sent is reset before request transmission (Benjamin Coddington) [1732409] - [fs] NFSv4.2 fix unnecessary retry in nfs4_copy_file_range (Benjamin Coddington) [1732409] - [fs] sunrpc: kernel BUG at kernel/cred.c:825! (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix TCP receive code on archs with flush_dcache_page() (Benjamin Coddington) [1732409] - [fs] sunrpc: convert to DEFINE_SHOW_ATTRIBUTE (Benjamin Coddington) [1732409] - [fs] sunrpc: Add xprt after nfs4_test_session_trunk() (Benjamin Coddington) [1732409] - [fs] sunrpc: convert unnecessary GFP_ATOMIC to GFP_NOFS (Benjamin Coddington) [1732409] - [fs] sunrpc: handle ENOMEM in rpcb_getport_async (Benjamin Coddington) [1732409] - [fs] NFS: remove unnecessary test for IS_ERR(cred) (Benjamin Coddington) [1732409] - [fs] NFSv4.2 fix async copy reboot recovery (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix some kernel doc complaints (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify defining common RPC trace events (Benjamin Coddington) [1732409] - [fs] NFS: Fix NFSv4 symbolic trace point output (Benjamin Coddington) [1732409] - [fs] nfs: fixed broken compilation in nfs_callback_up_net() (Benjamin Coddington) [1732409] - [fs] nfs: minor typo in nfs4_callback_up_net() (Benjamin Coddington) [1732409] - [fs] sunrpc: fix debug message in svc_create_xprt() (Benjamin Coddington) [1732409] - [fs] sunrpc: remove svc_rdma_bc_class (Benjamin Coddington) [1732409] - [fs] sunrpc: remove unused bc_up operation from rpc_xprt_ops (Benjamin Coddington) [1732409] - [fs] sunrpc: use SVC_NET() in svcauth_gss_* functions (Benjamin Coddington) [1732409] - [fs] nfsd: drop useless LIST_HEAD (Benjamin Coddington) [1732409] - [fs] SUNRPC discard cr_uid from struct rpc_cred. (Benjamin Coddington) [1732409] - [fs] SUNRPC: simplify auth_unix. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove crbind rpc_cred operation (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove generic cred code. (Benjamin Coddington) [1732409] - [fs] NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. (Benjamin Coddington) [1732409] - [fs] NFS: struct nfs_open_dir_context: convert rpc_cred pointer to cred. (Benjamin Coddington) [1732409] - [fs] NFS: change access cache to use 'struct cred'. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove RPCAUTH_AUTH_NO_CRKEY_TIMEOUT (Benjamin Coddington) [1732409] - [fs] NFS: move credential expiry tracking out of SUNRPC into NFS. (Benjamin Coddington) [1732409] - [fs] SUNRPC: add side channel to use non-generic cred for rpc call. (Benjamin Coddington) [1732409] - [fs] SUNRPC: introduce RPC_TASK_NULLCREDS to request auth_none (Benjamin Coddington) [1732409] - [fs] NFS/SUNRPC: don't lookup machine credential until rpcauth_bindcred(). (Benjamin Coddington) [1732409] - [fs] SUNRPC: discard RPC_DO_ROOTOVERRIDE() (Benjamin Coddington) [1732409] - [fs] NFSv4: don't require lock for get_renew_cred or get_machine_cred (Benjamin Coddington) [1732409] - [fs] NFSv4: add cl_root_cred for use when machine cred is not available. (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove machine_cred field from struct auth_cred (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove uid and gid from struct auth_cred (Benjamin Coddington) [1732409] - [fs] SUNRPC: remove groupinfo from struct auth_cred. (Benjamin Coddington) [1732409] - [fs] SUNRPC: add 'struct cred *' to auth_cred and rpc_cred (Benjamin Coddington) [1732409] - [fs] cred: allow get_cred() and put_cred() to be given NULL. (Benjamin Coddington) [1732409] - [fs] cred: export get_task_cred(). (Benjamin Coddington) [1732409] - [fs] cred: add get_cred_rcu() (Benjamin Coddington) [1732409] - [fs] cred: add cred_fscmp() for comparing creds. (Benjamin Coddington) [1732409] - [fs] SUNRPC: allow /proc entries without CONFIG_SUNRPC_DEBUG (Benjamin Coddington) [1732409] - [fs] nfs: fix comment to nfs_generic_pg_test which does the opposite (Benjamin Coddington) [1732409] - [fs] NFSv4: cleanup remove unused nfs4_xdev_fs_type (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove xprt_connect_status() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a race with XPRT_CONNECTING (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix disconnection races (Benjamin Coddington) [1732409] - [fs] Revert "[net] Revert "sunrpc: Ensure we always close the socket after a connection shuts down"" (Benjamin Coddington) [1732409] - [fs] lockd: Show pid of lockd for remote locks (Benjamin Coddington) [1732409] - [fs] NFSD remove OP_CACHEME from 4.2 op_flags (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't force a redundant disconnection in xs_read_stream() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up socket polling (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use the discard iterator rather than MSG_TRUNC (Benjamin Coddington) [1732409] - [fs] SUNRPC: Treat EFAULT as a truncated message in xs_read_stream_request() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up handling of the XDRBUF_SPARSE_PAGES flag (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix RPC receive hangs (Benjamin Coddington) [1732409] - [fs] nfsd: Return EPERM, not EACCES, in some SETATTR cases (Benjamin Coddington) [1732409] - [fs] sunrpc: fix cache_head leak due to queued request (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a potential race in xprt_connect() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a memory leak in call_encode() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix leak of krb5p encode pages (Benjamin Coddington) [1732409] - [fs] SUNRPC: call_connect_status() must handle tasks that got transmitted (Benjamin Coddington) [1732409] - [fs] nfs: don't dirty kernel pages read by direct-io (Benjamin Coddington) [1732409] - [fs] NFS: use locks_copy_lock() to copy locks. (Benjamin Coddington) [1732409] - [fs] nfsd: clean up indentation, increase indentation in switch statement (Benjamin Coddington) [1732409] - [fs] nfsd: fix a warning in __cld_pipe_upcall() (Benjamin Coddington) [1732409] - [fs] lockd: fix decoding of TEST results (Benjamin Coddington) [1732409] - [fs] nfsd4: fix crash on writing v4_end_grace before nfsd startup (Benjamin Coddington) [1732409] - [fs] nfsd4: skip unused assignment (Benjamin Coddington) [1732409] - [fs] nfsd4: forbid all renames during grace period (Benjamin Coddington) [1732409] - [fs] nfsd4: remove unused nfs4_check_olstateid parameter (Benjamin Coddington) [1732409] - [fs] nfsd4: zero-length WRITE should succeed (Benjamin Coddington) [1732409] - [fs] NFSv4.2 copy do not allocate memory under the lock (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a NFSv4 state manager deadlock (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix an Oops during delegation callbacks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a bogus get/put in generic_key_to_expire() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a Oops when destroying the RPCSEC_GSS credential cache (Benjamin Coddington) [1732409] - [fs] NFSv4: Ensure that the state manager exits the loop on SIGKILL (Benjamin Coddington) [1732409] - [fs] NFSv4: Don't exit the state manager without clearing NFS4CLNT_MANAGER_RUNNING (Benjamin Coddington) [1732409] - [fs] SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer() (Benjamin Coddington) [1732409] - [fs] nfsd: COPY and CLONE operations require the saved filehandle to be set (Benjamin Coddington) [1732409] - [fs] sunrpc: correct the computation for page_ptr when truncating (Benjamin Coddington) [1732409] - [fs] NFS: fix spelling mistake, EACCESS -> EACCES (Benjamin Coddington) [1732409] - [fs] SUNRPC: Use atomic(64)_t for seq_send(64) (Benjamin Coddington) [1732409] - [fs] nfsd: Fix an Oops in free_session() (Benjamin Coddington) [1732409] - [fs] nfsd: correctly decrement odstate refcount in error path (Benjamin Coddington) [1732409] - [fs] nfsd: fix fall-through annotations (Benjamin Coddington) [1732409] - [fs] knfsd: Improve lookup performance in the duplicate reply cache using an rbtree (Benjamin Coddington) [1732409] - [fs] knfsd: Further simplify the cache lookup (Benjamin Coddington) [1732409] - [fs] knfsd: Simplify NFS duplicate replay cache (Benjamin Coddington) [1732409] - [fs] knfsd: Remove dead code from nfsd_cache_lookup (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify TCP receive code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove non-RCU protected lookup (Benjamin Coddington) [1732409] - [fs] NFS: Fix up a typo in nfs_dns_ent_put (Benjamin Coddington) [1732409] - [fs] NFS: Lockless DNS lookups (Benjamin Coddington) [1732409] - [fs] knfsd: Lockless lookup of NFSv4 identities. (Benjamin Coddington) [1732409] - [fs] SUNRPC: Lockless server RPCSEC_GSS context lookup (Benjamin Coddington) [1732409] - [fs] knfsd: Allow lockless lookups of the exports (Benjamin Coddington) [1732409] - [fs] SUNRPC: Make server side AUTH_UNIX use lockless lookups (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow cache lookups to use RCU protection rather than the r/w spinlock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert the auth cred cache to use refcount_t (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert auth creds to use refcount_t (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify lookup code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up the AUTH cache code (Benjamin Coddington) [1732409] - [fs] NFS: change sign of nfs_fh length (Benjamin Coddington) [1732409] - [fs] sunrpc: safely reallow resvport min/max inversion (Benjamin Coddington) [1732409] - [fs] nfs: remove redundant call to nfs_context_set_write_error() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix a compile warning for cmpxchg64() (Benjamin Coddington) [1732409] - [fs] SUNRPC: use cmpxchg64() in gss_seq_send64_fetch_and_inc() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor sunrpc_cache_lookup (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add lockless lookup of the server's auth domain (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove the server 'authtab_lock' and just use RCU (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix lookup revalidate of regular files (Benjamin Coddington) [1732409] - [fs] NFS: Refactor nfs_lookup_revalidate() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Replace krb5_seq_lock with a lockless scheme (Benjamin Coddington) [1732409] - [fs] SUNRPC: Lockless lookup of RPCSEC_GSS mechanisms (Benjamin Coddington) [1732409] - [fs] SUNRPC: Remove rpc_authflavor_lock in favour of RCU locking (Benjamin Coddington) [1732409] - [fs] NFS: Remove private spinlock in struct nfs_pgio_header (Benjamin Coddington) [1732409] - [fs] NFSv3: Improve NFSv3 performance when server returns no post-op attributes (Benjamin Coddington) [1732409] - [fs] NFSv4: Split out NFS v4.2 copy completion functions (Benjamin Coddington) [1732409] - [fs] NFS: Reduce indentation of nfs4_recovery_handle_error() (Benjamin Coddington) [1732409] - [fs] NFS: Reduce indentation of the switch statement in nfs4_reclaim_open_state() (Benjamin Coddington) [1732409] - [fs] NFS: Split out the body of nfs4_reclaim_open_state() (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix the r/wsize checking (Benjamin Coddington) [1732409] - [fs] NFSv4: Convert struct nfs4_state to use refcount_t (Benjamin Coddington) [1732409] - [fs] NFSv4: Convert open state lookup to use RCU (Benjamin Coddington) [1732409] - [fs] NFS: Convert lookups of the open context to RCU (Benjamin Coddington) [1732409] - [fs] NFS: Simplify internal check for whether file is open for write (Benjamin Coddington) [1732409] - [fs] NFS: Convert lookups of the lock context to RCU (Benjamin Coddington) [1732409] - [fs] pNFS: Don't allocate more pages than we need to fit a layoutget response (Benjamin Coddington) [1732409] - [fs] pNFS: Don't zero out the array in nfs4_alloc_pages() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Unexport xdr_partial_copy_from_skb() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up xs_udp_data_receive() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow AF_LOCAL sockets to use the generic stream receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up - rename xs_tcp_data_receive() to xs_stream_data_receive() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify TCP receive code by switching to using iterators (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a bvec array to struct xdr_buf for use with iovec_iter() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a label for RPC calls that require allocation on receive (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert the xprt->sending queue back to an ordinary wait queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix priority queue fairness (Benjamin Coddington) [1732409] - [fs] SUNRPC: Convert xprt receive queue to use an rbtree (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't take transport->lock unnecessarily when taking XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Cleanup: remove the unused 'task' argument from the request_send() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Clean up transport write space handling (Benjamin Coddington) [1732409] - [fs] SUNRPC: Turn off throttling of RPC slots for TCP sockets (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow soft RPC calls to time out when waiting for the XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Allow calls to xprt_transmit() to drain the entire transmit queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Enqueue swapper tagged RPCs at the head of the transmit queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Support for congestion control when queuing is enabled (Benjamin Coddington) [1732409] - [fs] SUNRPC: Improve latency for interactive tasks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Move RPC retransmission stat counter to xprt_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify xprt_prepare_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't reset the request 'bytes_sent' counter when releasing XPRT_LOCK (Benjamin Coddington) [1732409] - [fs] SUNRPC: Treat the task and request as separate in the xprt_ops->send_request() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Fix up the back channel transmit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor RPC call encoding (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a transmission queue for RPC requests (Benjamin Coddington) [1732409] - [fs] SUNRPC: Distinguish between the slot allocation list and receive queue (Benjamin Coddington) [1732409] - [fs] SUNRPC: Minor cleanup for call_transmit() (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor xprt_transmit() to remove wait for reply code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor xprt_transmit() to remove the reply queue code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Rename xprt->recv_lock to xprt->queue_lock (Benjamin Coddington) [1732409] - [fs] SUNRPC: Don't wake queued RPC calls multiple times in xprt_transmit (Benjamin Coddington) [1732409] - [fs] SUNRPC: Test whether the task is queued before grabbing the queue spinlocks (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add a helper to wake up a sleeping rpc_task and set its status (Benjamin Coddington) [1732409] - [fs] SUNRPC: Refactor the transport request pinning (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify dealing with aborted partially transmitted messages (Benjamin Coddington) [1732409] - [fs] SUNRPC: Add socket transmit queue offset tracking (Benjamin Coddington) [1732409] - [fs] SUNRPC: Move reset of TCP state variables into the reconnect code (Benjamin Coddington) [1732409] - [fs] SUNRPC: Rename TCP receive-specific state variables (Benjamin Coddington) [1732409] - [fs] SUNRPC: Avoid holding locks across the XDR encoding of the RPC message (Benjamin Coddington) [1732409] - [fs] SUNRPC: Simplify identification of when the message send/receive is complete (Benjamin Coddington) [1732409] - [fs] SUNRPC: The transmitted message must lie in the RPCSEC window of validity (Benjamin Coddington) [1732409] - [fs] SUNRPC: If there is no reply expected, bail early from call_decode (Benjamin Coddington) [1732409] - [fs] nfsd: remove set but not used variable 'dirp' (Benjamin Coddington) [1732409] - [fs] NFSD introduce async copy feature (Benjamin Coddington) [1732409] - [fs] NFSD OFFLOAD_CANCEL xdr (Benjamin Coddington) [1732409] - [fs] NFSD OFFLOAD_STATUS xdr (Benjamin Coddington) [1732409] - [fs] NFSD CB_OFFLOAD xdr (Benjamin Coddington) [1732409] - [fs] NFS: Don't open code clearing of delegation state (Benjamin Coddington) [1732409] - [fs] NFSv4.1 fix infinite loop on I/O. (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a tracepoint Oops in initiate_file_draining() (Benjamin Coddington) [1732409] - [fs] pNFS: Ensure we return the error if someone kills a waiting layoutget (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a tracepoint Oops in initiate_file_draining() (Benjamin Coddington) [1732409] - [fs] sunrpc: Add comment defining gssd upcall API keywords (Benjamin Coddington) [1732409] - [fs] nfsd: Remove callback_cred (Benjamin Coddington) [1732409] - [fs] nfsd: Use correct credential for NFSv4.0 callback with GSS (Benjamin Coddington) [1732409] - [fs] sunrpc: Extract target name into svc_cred (Benjamin Coddington) [1732409] - [fs] sunrpc: Enable the kernel to specify the hostname part of service principals (Benjamin Coddington) [1732409] - [fs] pNFS: Remove unwanted optimisation of layoutget (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: ff_layout_pg_init_read should exit on error (Benjamin Coddington) [1732409] - [fs] pNFS: Treat RECALLCONFLICT like DELAY... (Benjamin Coddington) [1732409] - [fs] pNFS: When updating the stateid in layoutreturn, also update the recall range (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix locking in pnfs_generic_recover_commit_reqs (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix a typo in nfs4_init_channel_attrs() (Benjamin Coddington) [1732409] - [fs] NFSv4: Don't busy wait if NFSv4 session draining is interrupted (Benjamin Coddington) [1732409] - [fs] NFS recover from destination server reboot for copies (Benjamin Coddington) [1732409] - [fs] nfsd: use true and false for boolean values (Benjamin Coddington) [1732409] - [fs] nfsd: constify write_op[] (Benjamin Coddington) [1732409] - [fs] fs/nfsd: Delete invalid assignment statements in nfsd4_decode_exchange_id (Benjamin Coddington) [1732409] - [fs] NFSD: Handle full-length symlinks (Benjamin Coddington) [1732409] - [fs] NFSD: Refactor the generic write vector fill helper (Benjamin Coddington) [1732409] - [fs] nfsd: Mark expected switch fall-through (Benjamin Coddington) [1732409] - [fs] nfsd: fix leaked file lock with nfs exported overlayfs (Benjamin Coddington) [1732409] - [fs] NFS add a simple sync nfs4_proc_commit after async COPY (Benjamin Coddington) [1732409] - [fs] NFS handle COPY ERR_OFFLOAD_NO_REQS (Benjamin Coddington) [1732409] - [fs] NFS send OFFLOAD_CANCEL when COPY killed (Benjamin Coddington) [1732409] - [fs] NFS export nfs4_async_handle_error (Benjamin Coddington) [1732409] - [fs] NFS handle COPY reply CB_OFFLOAD call race (Benjamin Coddington) [1732409] - [fs] NFS add support for asynchronous COPY (Benjamin Coddington) [1732409] - [fs] NFS COPY xdr handle async reply (Benjamin Coddington) [1732409] - [fs] NFS OFFLOAD_CANCEL xdr (Benjamin Coddington) [1732409] - [fs] NFS CB_OFFLOAD xdr (Benjamin Coddington) [1732409] - [fs] NFS: Use an appropriate work queue for direct-write completion (Benjamin Coddington) [1732409] - [fs] NFSv4: Fix error handling in nfs4_sp4_select_mode() (Benjamin Coddington) [1732409] - [fs] pnfs: Use true and false for boolean values (Benjamin Coddington) [1732409] - [fs] pnfs: pnfs_find_lseg() should not check NFS_LSEG_LAYOUTRETURN (Benjamin Coddington) [1732409] - [fs] NFS: Mark expected switch fall-throughs (Benjamin Coddington) [1732409] - [fs] NFSv4: Mark the inode change attribute up to date in update_changeattr() (Benjamin Coddington) [1732409] - [fs] NFSv4: Detect nlink changes on cross-directory renames too (Benjamin Coddington) [1732409] - [fs] NFSv4: bump/drop the nlink count on the parent dir when we mkdir/rmdir (Benjamin Coddington) [1732409] - [fs] pnfs: Fix handling of NFS4ERR_OLD_STATEID replies to layoutreturn (Benjamin Coddington) [1732409] - [fs] sunrpc: whitespace fixes (Benjamin Coddington) [1732409] - [fs] NFSv4 client live hangs after live data migration recovery (Benjamin Coddington) [1732409] - [fs] NFSv4.0 fix client reference leak in callback (Benjamin Coddington) [1732409] - [fs] sunrpc: kstrtoul() can also return -ERANGE (Benjamin Coddington) [1732409] - [fs] NFS: silence a harmless uninitialized variable warning (Benjamin Coddington) [1732409] - [fs] net/sunrpc: Make rpc_auth_create_args a const (Benjamin Coddington) [1732409] - [fs] pnfs/blocklayout: off by one in bl_map_stripe() (Benjamin Coddington) [1732409] - [fs] nfs: Referrals not inheriting proto setting from parent (Benjamin Coddington) [1732409] - [fs] nfs: initiate returning delegation when reclaiming one that's been recalled (Benjamin Coddington) [1732409] - [fs] fs: nfs: Adding new return type vm_fault_t (Benjamin Coddington) [1732409] - [fs] nfs: add error check in nfs_idmap_prepare_message() (Benjamin Coddington) [1732409] - [fs] NFS: More excessive attribute revalidation in nfs_execute_ok() (Benjamin Coddington) [1732409] - [fs] NFS: Fix excessive attribute revalidation in nfs_execute_ok() (Benjamin Coddington) [1732409] - [fs] NFS: Ensure we immediately start writeback on rescheduled writes (Benjamin Coddington) [1732409] - [fs] NFSv4.1: Fix a potential layoutget/layoutrecall deadlock (Benjamin Coddington) [1732409] - [fs] pNFS: Parse the results of layoutget on open even if permissions checks fail (Benjamin Coddington) [1732409] - [fs] NFS: Allow optimisation of lseek(fd, SEEK_CUR, 0) on directories (Benjamin Coddington) [1732409] - [fs] pNFS: Wait for stale layoutget calls to complete in pnfs_update_layout() (Benjamin Coddington) [1732409] - [fs] pNFS/flexfiles: Ensure we always return a layout if it has layoutstats (Benjamin Coddington) [1732409] - [fs] pNFS: Ignore non-recalled layouts in pnfs_layout_need_return() (Benjamin Coddington) [1732409] - [fs] pNFS: Don't update the stateid when replying NFS4ERR_DELAY to a layout recall (Benjamin Coddington) [1732409] - [fs] pNFS: Don't discard layout segments that are marked for return (Benjamin Coddington) [1732409] - [fs] nfsd: don't advertise a SCSI layout for an unsupported request_queue (Benjamin Coddington) [1732409] - [fs] nfsd: fix corrupted reply to badly ordered compound (Benjamin Coddington) [1732409] - [fs] nfsd: clarify check_op_ordering (Benjamin Coddington) [1732409] - [fs] nfsd: update obselete comment referencing the BKL (Benjamin Coddington) [1732409] - [fs] nfsd4: cleanup sessionid in nfsd4_destroy_session (Benjamin Coddington) [1732409] - [fs] nfsd4: less confusing nfsd4_compound_in_session (Benjamin Coddington) [1732409] - [fs] nfsd4: support change_attr_type attribute (Benjamin Coddington) [1732409] - [fs] nfsd: fix NFSv4 time_delta attribute (Benjamin Coddington) [1732409] - [fs] nfsd4: return default lease period (Benjamin Coddington) [1732409] - [fs] nfsd4: extend reclaim period for reclaiming clients (Benjamin Coddington) [1732409] - [netdrv] i40e: Do not check VF state in i40e_ndo_get_vf_config (Stefan Assmann) [1752498] - [netdrv] i40e: Add support for X710 device (Stefan Assmann) [1752891] - [mm] mm/oom_kill.c: add task UID to info message on an oom kill (Joel Savitz) [1693039] - [pci] ACPICA: Increase total number of possible Owner IDs (Al Stone) [1713050] - [powerpc] powerpc/pseries: correctly track irq state in default idle (Steve Best) [1751971] - [powerpc] powerpc/imc: Dont create debugfs files for cpu-less nodes (Steve Best) [1726031] - [fs] userfaultfd_release: always remove uffd flags and clear vm_userfaultfd_ctx (Alex Gladkov) [1749763] - [infiniband] RDMA/bnxt_re: Fix stack-out-of-bounds in bnxt_qplib_rcfw_send_message (Selvin Xavier) [1643312] - [drm] drm/bochs: Fix connector leak during driver unload (Sam Bobroff) [1463490] - [tools] selftests: Remove forced unbuffering for test running (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Add test plan API to kselftest.h and adjust callers (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Remove KSFT_TAP_LEVEL (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Move test output to diagnostic lines (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Distinguish between missing and non-executable (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Add plan line and fix result line syntax (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Extract logic for multiple test runs (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Use runner.sh for emit targets (Desnes Augusto Nunes do Rosario) [1721461] - [tools] selftests: Extract single-test shell logic from lib.mk (Desnes Augusto Nunes do Rosario) [1721461] - [tools] x86/selftests/pkeys: Fork() to check for state being preserved (Vladis Dronov) [1738880] - [x86] x86/pkeys: Properly copy pkey state at fork() (Vladis Dronov) [1738880] - [netdrv] cxgb4: fix a memory leak bug (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Prefer pcie_capability_read_word() (Jonathan Toppins) [1725776] - [netdrv] allocate_flower_entry: should check for null deref (Jonathan Toppins) [1725776] - [netdrv] cxgb4: reduce kernel stack usage in cudbg_collect_mem_region() (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS refcounting for alloc/free mac filters (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS TCAM refcounting for cxgb4 change mac (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Add MPS TCAM refcounting for raw mac filters (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Re-work the logic for mps refcounting (Jonathan Toppins) [1725776] - [netdrv] cxgb4/libcxgb/cxgb4i/cxgbit: enable eDRAM page pods for iSCSI (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Set initial IRQ affinity hints (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Make t4_get_tp_e2c_map static (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Revert "cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size" (Jonathan Toppins) [1725776] - [netdrv] cxgb4: offload VLAN flows regardless of VLAN ethtype (Jonathan Toppins) [1725776] - [netdrv] cxgb4: use firmware API for validating filter spec (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Enable hash filter with offload (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Fix error path in cxgb4_init_module (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Delete all hash and TCAM filters before resource cleanup (Jonathan Toppins) [1725776] - [netdrv] cxgb4/cxgb4vf_main: Mark expected switch fall-through (Jonathan Toppins) [1725776] - [netdrv] cxgb4/cxgb4vf: Display advertised FEC in ethtool (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Update 1.23.3.0 as the latest firmware supported. (Jonathan Toppins) [1725776] - [netdrv] cxgb4: Update 1.22.9.0 as the latest firmware supported. (Jonathan Toppins) [1725776] - [netdrv] cxgb4/l2t: Use struct_size() in kvzalloc() (Jonathan Toppins) [1725776] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Jonathan Toppins) [1725776] - [netdrv] crypto/chelsio/chtls: macro correction in tx path (Jonathan Toppins) [1725776]- [kernel] rcu: Add sparse check to rcu_assign_pointer() (Waiman Long) [1737054] - [kernel] rcu: Fix obsolete DYNTICK_IRQ_NONIDLE comment (Waiman Long) [1737054] - [kernel] rcu: Repair rcu_nmi_exit() docbook header (Waiman Long) [1737054] - [kernel] rcu: Remove preemption disabling from expedited CPU selection (Waiman Long) [1737054] - [kernel] rcu: Rename rcu_process_callbacks() to rcu_core() for Tree RCU (Waiman Long) [1737054] - [kernel] rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq() (Waiman Long) [1737054] - [kernel] rcu: Docbook for rcu_head_init() and rcu_head_after_call_rcu() (Waiman Long) [1737054] - [documentation] doc: Fix outdated links (Waiman Long) [1737054] - [documentation] doc: CPU-hotplug notifiers cannot invoke synchronize_srcu() or srcu_barrier() (Waiman Long) [1737054] - [documentation] doc: Now jiffies_till_sched_qs solicits help from cond_resched() (Waiman Long) [1737054] - [kernel] rcuperf: Stop abusing IS_ENABLED() (Waiman Long) [1737054] - [kernel] rcutorture: Add grace period after CPU offline (Waiman Long) [1737054] - [kernel] torture: Explain and simplify odd "for" loop in mkinitrd.sh (Waiman Long) [1737054] - [kernel] rcutorture: Record grace periods in forward-progress histogram (Waiman Long) [1737054] - [kernel] rcu: Prevent needless ->gp_seq_needed update in __note_gp_changes() (Waiman Long) [1737054] - [kernel] rcu: Do RCU GP kthread self-wakeup from softirq and interrupt (Waiman Long) [1737054] - [kernel] rcu: Add sysrq rcu_node-dump capability (Waiman Long) [1737054] - [kernel] rcu: Protect rcu_check_gp_kthread_starvation() access to ->gp_flags (Waiman Long) [1737054] - [kernel] rcu: Improve diagnostics for failed RCU grace-period start (Waiman Long) [1737054] - [kernel] rcu: Update NOCB comments (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_cpu_kthread_cpu per-CPU variable (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_has_work to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_cpu_kthread_loops per-CPU variable (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_kthread_status to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Move rcu_cpu_kthread_task to rcu_data structure (Waiman Long) [1737054] - [kernel] rcu: Accommodate zero jiffies_till_first_fqs and kthread kicking (Waiman Long) [1737054] - [kernel] rcu: Remove wrapper definitions for obsolete RCU update functions (Waiman Long) [1737054] - [kernel] rcu: Discard separate per-CPU callback counts (Waiman Long) [1737054] - [kernel] rcu: Inline _synchronize_rcu_expedited() into synchronize_rcu_expedited() (Waiman Long) [1737054] - [kernel] rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu() (Waiman Long) [1737054] - [kernel] rcu: Consolidate PREEMPT and !PREEMPT synchronize_rcu_expedited() (Waiman Long) [1737054] - [kernel] rcu: Determine expedited-GP IPI handler at build time (Waiman Long) [1737054] - [kernel] rcu: Inline rcu_kthread_do_work() into its sole remaining caller (Waiman Long) [1737054] - [kernel] rcu: Eliminate RCU_BH_FLAVOR and RCU_SCHED_FLAVOR (Waiman Long) [1737054] - [kernel] rcu: Inline force_quiescent_state() into rcu_force_quiescent_state() (Waiman Long) [1737054] - [kernel] rcu: Make expedited IPI handler return after handling critical section (Waiman Long) [1737054] - [kernel] rcu: Rename and comment changes due to only one rcuo kthread per CPU (Waiman Long) [1737054] - [kernel] sched: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] sched: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [net] net/core: Replace call_rcu_bh() and synchronize_rcu_bh() (Waiman Long) [1737054] - [net] netpoll: allow cleanup to be synchronous (Waiman Long) [1737054] - [net] netfilter: Replace call_rcu_bh(), rcu_barrier_bh(), and synchronize_rcu_bh() (Waiman Long) [1737054] - [kernel] uprobes: Use synchronize_rcu() not synchronize_sched() (Waiman Long) [1737054] - [kernel] rcutorture: Don't do busted forward-progress testing (Waiman Long) [1737054] - [kernel] rcutorture: Use 100ms buckets for forward-progress callback histograms (Waiman Long) [1737054] - [kernel] rcutorture: Recover from OOM during forward-progress tests (Waiman Long) [1737054] - [kernel] rcutorture: Print forward-progress test age upon failure (Waiman Long) [1737054] - [kernel] rcutorture: Print time since GP end upon forward-progress failure (Waiman Long) [1737054] - [kernel] rcutorture: Print histogram of CB invocation at OOM time (Waiman Long) [1737054] - [kernel] rcutorture: Print GP age upon forward-progress failure (Waiman Long) [1737054] - [kernel] rcu: Print per-CPU callback counts for forward-progress failures (Waiman Long) [1737054] - [kernel] rcu: Account for nocb-CPU callback counts in RCU CPU stall warnings (Waiman Long) [1737054] - [kernel] rcutorture: Dump grace-period diagnostics upon forward-progress OOM (Waiman Long) [1737054] - [kernel] rcutorture: Prepare for asynchronous access to rcu_fwd_startat (Waiman Long) [1737054] - [kernel] torture: Remove unnecessary "ret" variables (Waiman Long) [1737054] - [kernel] rcutorture: Affinity forward-progress test to avoid housekeeping CPUs (Waiman Long) [1737054] - [kernel] rcutorture: Break up too-long rcu_torture_fwd_prog() function (Waiman Long) [1737054] - [kernel] rcutorture: Remove cbflood facility (Waiman Long) [1737054] - [kernel] torture: Bring any extra CPUs online during kernel startup (Waiman Long) [1737054] - [kernel] rcutorture: Add call_rcu() flooding forward-progress tests (Waiman Long) [1737054] - [tools] rcutorture/formal: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [tools] tools/kernel.h: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [net] net/decnet: Replace rcu_barrier_bh() with rcu_barrier() (Waiman Long) [1737054] - [net] net/core/skmsg: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] cgroups: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] types: Remove call_rcu_bh() and call_rcu_sched() (Waiman Long) [1737054] - [include] percpu-rwsem: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [net] net/bridge: Replace call_rcu_bh() and rcu_barrier_bh() (Waiman Long) [1737054] - [kernel] srcu: Use "ssp" instead of "sp" for srcu_struct pointer (Waiman Long) [1737054] - [kernel] srcu: Lock srcu_data structure in srcu_gp_start() (Waiman Long) [1737054] - [mm] mm: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] percpu-refcount: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] events: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] workqueue: Replace call_rcu_sched() with call_rcu() (Waiman Long) [1737054] - [kernel] modules: Replace synchronize_sched() and call_rcu_sched() (Waiman Long) [1737054] - [kernel] sched/membarrier: synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] lockdep: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] kprobes: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [init] main: Replace rcu_barrier_sched() with rcu_barrier() (Waiman Long) [1737054] - [kernel] tracing: Replace synchronize_sched() and call_rcu_sched() (Waiman Long) [1737054] - [kernel] tracepoints: Free early tracepoints after RCU is initialized (Waiman Long) [1737054] - [kernel] tracing: Fix synchronizing to event changes with tracepoint_synchronize_unregister() (Waiman Long) [1737054] - [kernel] tracepoint: Make rcuidle tracepoint callers use SRCU (Waiman Long) [1737054] - [fs] fs/file: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [cpufreq] cpufreq/cpufreq_governor: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [cpufreq] cpufreq/intel_pstate: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [vhost] drivers/vhost: Replace synchronize_rcu_bh() with synchronize_rcu() (Waiman Long) [1737054] - [netdrv] ethernet/sis: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [char] drivers/ipmi: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [crypto] crypto/pcrypt: Replace synchronize_rcu_bh() with synchronize_rcu() (Waiman Long) [1737054] - [mm] mm: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [kernel] locking/mutex: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [fs] userfaultfd: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [net] smsc: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [scripts] checkpatch.pl: Suggest lockdep instead of asserting !spin_is_locked() (Waiman Long) [1737054] - [scripts] checkpatch: Create table of obsolete APIs and apply to RCU (Waiman Long) [1737054] - [maintainers] MAINTAINERS: Add Joel Fernandes as RCU reviewer (Waiman Long) [1737054] - [kernel] rcu: Avoid signed integer overflow in rcu_preempt_deferred_qs() (Waiman Long) [1737054] - [kernel] rcu: Replace this_cpu_ptr() with __this_cpu_read() (Waiman Long) [1737054] - [kernel] rcu: Speed up expedited GPs when interrupting RCU reader (Waiman Long) [1737054] - [kernel] rcu: Trace end of grace period before end of grace period (Waiman Long) [1737054] - [kernel] rcu: Adjust the comment of function rcu_is_watching (Waiman Long) [1737054] - [kernel] rcu: Add jiffies-since-GP-activity to show_rcu_gp_kthreads() (Waiman Long) [1737054] - [kernel] rcu: Add state name to show_rcu_gp_kthreads() output (Waiman Long) [1737054] - [kernel] rcu: Parameterize rcu_check_gp_start_stall() (Waiman Long) [1737054] - [kernel] rcu: Avoid double multiply by HZ (Waiman Long) [1737054] - [documentation] doc: Fix "struction" typo in RCU memory-ordering documentation (Waiman Long) [1737054] - [documentation] doc: Correct parameter in stallwarn (Waiman Long) [1737054] - [documentation] doc: RCU scheduler spinlock rcu_read_unlock() restriction remains (Waiman Long) [1737054] - [documentation] doc: Make listing in RCU perf/scale requirements use rcu_assign_pointer() (Waiman Long) [1737054] - [documentation] doc: Remove obsolete (non-)requirement about disabling preemption (Waiman Long) [1737054] - [documentation] doc: Make reader aware of rcu_dereference_protected (Waiman Long) [1737054] - [documentation] doc: rcu: Encourage use of rcu_barrier in checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Remove obsolete checklist item about synchronize_rcu usage (Waiman Long) [1737054] - [documentation] doc: rcu: Remove obsolete suggestion from checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Add more rationale for using rcu_read_lock_sched in checklist (Waiman Long) [1737054] - [documentation] doc: rcu: Update core and full API in whatisRCU (Waiman Long) [1737054] - [documentation] doc: Document rcutorture forward-progress test kernel parameters (Waiman Long) [1737054] - [documentation] doc: rcu: Update description of gp_seq fields in rcu_data (Waiman Long) [1737054] - [documentation] doc: rcu: Better clarify the rcu_segcblist ->len field (Waiman Long) [1737054] - [documentation] doc: rcu: Update Data-Structures for RCU flavor consolidation (Waiman Long) [1737054] - [documentation] doc: Remove rcu_dynticks from Data-Structures (Waiman Long) [1737054] - [documentation] doc: Update information about resched_cpu (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/update.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/tree_plugin.h (Waiman Long) [1737054] - [kernel] rcu: Stop expedited grace periods from relying on stop-machine (Waiman Long) [1737054] - [kernel] srcu: Prevent __call_srcu() counter wrap with read-side critical section (Waiman Long) [1737054] - [include] srcu: Fix kernel-doc missing notation (Waiman Long) [1737054] - [x86] x86/PCI: Replace spin_is_locked() with lockdep (Waiman Long) [1737054] - [tools] rcutorture: Make use of nolibc when available (Waiman Long) [1737054] - [tools] rcutorture: Import a copy of nolibc (Waiman Long) [1737054] - [tools] rcutorture: Check initrd/init instead of initrd only (Waiman Long) [1737054] - [tools] rcutorture: Always strip using the cross-compiler (Waiman Long) [1737054] - [tools] rcutorture: Add cross-compile capability to initrd.sh (Waiman Long) [1737054] - [tools] rcutorture: Make initrd/init execute in userspace (Waiman Long) [1737054] - [tools] rcutorture: Add initrd support for systems lacking dracut (Waiman Long) [1737054] - [tools] rcutorture: Automatically create initrd directory (Waiman Long) [1737054] - [documentation] doc: Remove rcu_preempt_state reference in stallwarn (Waiman Long) [1737054] - [documentation] doc: Clarify RCU data-structure comment about rcu_tree fanout (Waiman Long) [1737054] - [documentation] doc: Set down forward-progress requirements (Waiman Long) [1737054] - [powerpc] powerpc: Convert hugepd_free() to use call_rcu() (Waiman Long) [1737054] - [s390] s390/mm: Convert tlb_table_flush() to use call_rcu() (Waiman Long) [1737054] - [kernel] sparc/oprofile: Convert timer_stop() to use synchronize_rcu() (Waiman Long) [1737054] - [kernel] sched/membarrier: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1737054] - [kernel] rcu: Consolidate the RCU update functions invoked by sync.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate synchronize_rcu_mult() (Waiman Long) [1737054] - [kernel] rcu: Fix rcu_{node, data} comments about gp_seq_needed (Waiman Long) [1737054] - [kernel] rcu: Remove unused rcu_state externs (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for kernel/rcu/tree.c (Waiman Long) [1737054] - [kernel] rcu: Eliminate BUG_ON() for sync.c (Waiman Long) [1737054] - [include] srcu: Add notrace variant of srcu_dereference (Waiman Long) [1737054] - [documentation] PM/EM: Document the Energy Model framework (Phil Auld) [1718927] - [kernel] sched/doc: Document Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] sched/fair: Remove unneeded prototype of capacity_of() (Phil Auld) [1718927] - [kernel] sched/fair: Skip LLC NOHZ logic for asymmetric systems (Phil Auld) [1718927] - [kernel] sched/fair: Tune down misfit NOHZ kicks (Phil Auld) [1718927] - [kernel] sched/fair: Comment some nohz_balancer_kick() kick conditions (Phil Auld) [1718927] - [kernel] sched/fair: Prune, fix and simplify the nohz_balancer_kick() comment block (Phil Auld) [1718927] - [kernel] sched/fair: Explain LLC nohz kick condition (Phil Auld) [1718927] - [kernel] sched/fair: Simplify nohz_balancer_kick() (Phil Auld) [1718927] - [kernel] sched/topology: Fix percpu data types in struct sd_data & struct s_data (Phil Auld) [1718927] - [kernel] sched/fair: Simplify post_init_entity_util_avg() by calling it with a task_struct pointer argument (Phil Auld) [1718927] - [kernel] sched/fair: Fix util_avg of new tasks for asymmetric systems (Phil Auld) [1718927] - [kernel] sched/fair: Optimize update_blocked_averages() (Phil Auld) [1718927] - [kernel] sched/topology: Introduce a sysctl for Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] Revert "sched/core: Take the hotplug lock in sched_init_smp()" (Phil Auld) [1718927] - [kernel] cpu/hotplug: Mute hotplug lockdep during init (Phil Auld) [1718927] - [kernel] sched/fair: Select an energy-efficient CPU on task wake-up (Phil Auld) [1718927] - [kernel] sched/fair: Introduce an energy estimation helper function (Phil Auld) [1718927] - [kernel] sched/fair: Add over-utilization/tipping point indicator (Phil Auld) [1718927] - [kernel] sched/fair: Clean-up update_sg_lb_stats parameters (Phil Auld) [1718927] - [kernel] sched/toplogy: Introduce the 'sched_energy_present' static key (Phil Auld) [1718927] - [kernel] sched/topology: Make Energy Aware Scheduling depend on schedutil (Phil Auld) [1718927] - [kernel] sched/topology: Disable EAS on inappropriate platforms (Phil Auld) [1718927] - [kernel] sched/topology: Add lowest CPU asymmetry sched_domain level pointer (Phil Auld) [1718927] - [kernel] sched/topology: Reference the Energy Model of CPUs when available (Phil Auld) [1718927] - [kernel] PM: Introduce an Energy Model management framework (Phil Auld) [1718927] - [kernel] sched/cpufreq: Prepare schedutil for Energy Aware Scheduling (Phil Auld) [1718927] - [kernel] sched/topology: Relocate arch_scale_cpu_capacity() to the internal header (Phil Auld) [1718927] - [kernel] sched/core: Take the hotplug lock in sched_init_smp() (Phil Auld) [1718927] - [kernel] sched/core: Disable SD_PREFER_SIBLING on asymmetric CPU capacity domains (Phil Auld) [1718927] - [kernel] sched/fair: Don't move tasks to lower capacity CPUs unless necessary (Phil Auld) [1718927] - [kernel] sched/fair: Set rq->rd->overload when misfit (Phil Auld) [1718927] - [kernel] sched/fair: Wrap rq->rd->overload accesses with READ/WRITE_ONCE() (Phil Auld) [1718927] - [kernel] sched/core: Change root_domain->overload type to int (Phil Auld) [1718927] - [kernel] sched/fair: Change 'prefer_sibling' type to bool (Phil Auld) [1718927] - [kernel] sched/fair: Kick nohz balance if rq->misfit_task_load (Phil Auld) [1718927] - [kernel] sched/fair: Consider misfit tasks when load-balancing (Phil Auld) [1718927] - [kernel] sched/fair: Add sched_group per-CPU max capacity (Phil Auld) [1718927] - [kernel] sched/fair: Add 'group_misfit_task' load-balance type (Phil Auld) [1718927] - [kernel] sched/topology: Add static_key for asymmetric CPU capacity optimizations (Phil Auld) [1718927] - [kernel] sched/core, workqueues: Distangle worker accounting from rq lock (Phil Auld) [1737067] - [kernel] workqueue: Use normal rcu (Phil Auld) [1737067] - [kernel] tick/broadcast: Fix warning about undefined tick_broadcast_oneshot_offline() (Phil Auld) [1737067] - [kernel] timer/trace: Improve timer tracing (Phil Auld) [1737067] - [include] timer/trace: Replace deprecated vsprintf pointer extension pf by ps (Phil Auld) [1737067] - [kernel] timer: Move trace point to get proper index (Phil Auld) [1737067] - [kernel] tick/sched: Update tick_sched struct documentation (Phil Auld) [1737067] - [kernel] tick: Remove outgoing CPU from broadcast masks (Phil Auld) [1737067] - [kernel] timekeeping: Consistently use unsigned int for seqcount snapshot (Phil Auld) [1737067] - [kernel] sched/fair: Robustify CFS-bandwidth timer locking (Phil Auld) [1737067] - [kernel] tick/sched : Remove redundant cpu_online() check (Phil Auld) [1737067] - [misc] sched/swait: Rename to exclusive (Phil Auld) [1737067] - [kernel] sched/swait: Switch to full exclusive mode (Phil Auld) [1737067] - [kernel] sched/swait: Remove __prepare_to_swait (Phil Auld) [1737067] - [netdrv] net: ena: don't wake up tx queue when down (John Linville) [1722628] - [netdrv] Revert "net: ena: ethtool: add extra properties retrieval via get_priv_flags" (John Linville) [1722628] - [netdrv] net: ena: Fix bug where ring allocation backoff stopped too late (John Linville) [1722628] - [netdrv] net: ena: update driver version from 2.0.3 to 2.1.0 (John Linville) [1722628] - [netdrv] net: ena: remove inline keyword from functions in *.c (John Linville) [1722628] - [netdrv] net: ena: add ethtool function for changing io queue sizes (John Linville) [1722628] - [netdrv] net: ena: allow queue allocation backoff when low on memory (John Linville) [1722628] - [netdrv] net: ena: make ethtool show correct current and max queue sizes (John Linville) [1722628] - [netdrv] net: ena: enable negotiating larger Rx ring size (John Linville) [1722628] - [netdrv] net: ena: add MAX_QUEUES_EXT get feature admin command (John Linville) [1722628] - [netdrv] net: ena: use dev_info_once instead of static variable (John Linville) [1722628] - [netdrv] net: ena: add good checksum counter (John Linville) [1722628] - [netdrv] net: ena: optimise calculations for CQ doorbell (John Linville) [1722628] - [netdrv] net: ena: add support for changing max_header_size in LLQ mode (John Linville) [1722628] - [netdrv] net: ena: allow automatic fallback to polling mode (John Linville) [1722628] - [netdrv] net: ena: add newline at the end of pr_err prints (John Linville) [1722628] - [netdrv] net: ena: arrange ena_probe() function variables in reverse christmas tree (John Linville) [1722628] - [netdrv] net: ena: replace free_tx/rx_ids union with single free_ids field in ena_ring (John Linville) [1722628] - [netdrv] net: ena: ethtool: add extra properties retrieval via get_priv_flags (John Linville) [1722628] - [netdrv] net: ena: add handling of llq max tx burst size (John Linville) [1722628] - [netdrv] net: ena: gcc 8: fix compilation warning (John Linville) [1722628] - [netdrv] net: ena: fix ena_com_fill_hash_function() implementation (John Linville) [1722628] - [netdrv] net: ena: improve latency by disabling adaptive interrupt moderation by default (John Linville) [1722628] - [netdrv] net: ena: fix return value of ena_com_config_llq_info() (John Linville) [1722628] - [netdrv] net: ena: fix incorrect test of supported hash function (John Linville) [1722628] - [netdrv] net: ena: fix: Free napi resources when ena_up() fails (John Linville) [1722628] - [netdrv] net: ena: fix: set freed objects to NULL to avoid failing future allocations (John Linville) [1722628] - [netdrv] net: ena: fix swapped parameters when calling ena_com_indirect_table_fill_entry (John Linville) [1722628] - [arm64] arm64: kexec: Add comment to explain use of __flush_icache_range() (Mark Salter) [1757450] - [arm64] arm64: kexec: machine_kexec should call __flush_icache_range (Mark Salter) [1757450] - [arm64] arm64: Do not issue IPIs for user executable ptes (Mark Salter) [1757450] - [arm64] arm64: hibernate: Avoid sending cross-calling with interrupts disabled (Mark Salter) [1757450] - [arm64] arm64: mm: Export __flush_icache_range() to modules (Mark Salter) [1757450] - [arm64] arm64: IPI each CPU after invalidating the I-cache for kernel mappings (Mark Salter) [1757450] - [s390] s390/dasd: Handle out-of-space constraint (Philipp Rudo) [1525398] - [s390] s390/dasd: Use ALIGN_DOWN macro (Philipp Rudo) [1525398] - [s390] s390/dasd: Make dasd_setup_queue() a discipline function (Philipp Rudo) [1525398] - [s390] s390/dasd: Add new ioctl to release space (Philipp Rudo) [1525398] - [s390] s390/dasd: Add dasd_sleep_on_queue_interruptible() (Philipp Rudo) [1525398] - [s390] s390/dasd: Add missing intensity definition (Philipp Rudo) [1525398] - [s390] s390/dasd: Fix whitespace (Philipp Rudo) [1525398] - [s390] s390/dasd: Add dynamic formatting support for ESE volumes (Philipp Rudo) [1525398] - [s390] s390/dasd: Recognise data for ESE volumes (Philipp Rudo) [1525398] - [s390] s390/dasd: Put sub-order definitions in a separate section (Philipp Rudo) [1525398] - [s390] s390/dasd: Make layout analysis ESE compatible (Philipp Rudo) [1525398] - [s390] s390/dasd: Remove old defines and function (Philipp Rudo) [1525398] - [s390] s390/dasd: Remove unused structs and function prototypes (Philipp Rudo) [1525398] - [tools] perf report: Dump s390 counter set data to file (Philipp Rudo) [1731036] - [tools] perf report: Display arch specific diagnostic counter sets, starting with s390 (Philipp Rudo) [1731036] - [tools] perf report: Add s390 diagnosic sampling descriptor size (Philipp Rudo) [1731036] - [s390] s390/cpum_cf_diag: Add support for CPU-MF SVN 6 (Philipp Rudo) [1731036] - [s390] s390/cpumf: Fix warning from check_processor_id (Philipp Rudo) [1731036] - [s390] s390/cpum_cf_diag: Add support for s390 counter facility diagnostic trace (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Handle EBUSY return code from CPU counter facility reservation (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: add ctr_stcctm() function (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: move common functions into a separate file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: introduce kernel_cpumcf_avail() function (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: replace stcctm5() with the stcctm() function (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: add store cpu counter multiple instruction support (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Add minimal in-kernel interface for counter measurements (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: introduce kernel_cpumcf_alert() to obtain measurement alerts (Philipp Rudo) [1731036] - [s390] s390/cpu_mf: move struct cpu_cf_events and per-CPU variable to header file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: rename per-CPU counter facility structure and variables (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: prepare for in-kernel counter measurements (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: move counter set controls to a new header file (Philipp Rudo) [1731036] - [s390] s390/cpum_cf: Reject request for sampling in event initialization (Philipp Rudo) [1731036] - [s390] s390/perf: Change CPUM_CF return code in event init function (Philipp Rudo) [1731036] - [acpi] ACPI / property: Add two new Thunderbolt property GUIDs to the list (Jarod Wilson) [1483494] - [acpi] ACPI: property: restore _DSD data subnodes GUID comment (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for Intel Ice Lake (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Expose active parts of NVM even if upgrade is not supported (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Hide switch attributes that are not set (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not fail adding switch if some port is not implemented (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Use 32-bit writes when writing ring producer/consumer (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Move NVM upgrade support flag to struct icm (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Correct path indices for PCIe tunnel (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Show key using *pE not *pEp (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Switch to use device_property_count_uXX() (Jarod Wilson) [1483494] - [include] device property: Add helpers to count items in an array (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Implement CIO reset correctly for Titan Ridge (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make sure device runtime resume completes before taking domain lock (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add SPDX license identifier for more missed files (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make priority unsigned in struct tb_path (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: shash - remove shash_desc::flags (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Start firmware on Titan Ridge Apple systems (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Reword output of tb_dump_hop() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make rest of the logging to happen at debug level (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make __TB_[SW|PORT]_PRINT take const parameters (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for XDomain connections (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Make tb_switch_alloc() return ERR_PTR() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for DMA tunnels (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add XDomain UUID exchange support (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Run tb_xdp_handle_request() in system workqueue (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not tear down tunnels when driver is unloaded (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for Display Port tunnels (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Rework NFC credits handling (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Generalize port finding routines to support all port types (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Scan only valid NULL adapter ports in hotplug (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add support for full PCIe daisy chains (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Discover preboot PCIe paths the boot firmware established (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Deactivate all paths before restarting them (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Extend tunnel creation to more than 2 adjacent switches (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add helper function to iterate from one port to another (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Assign remote for both ports in case of dual link (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add functions for allocating and releasing HopIDs (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Generalize tunnel creation functionality (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Rename tunnel_pci to tunnel (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Cache adapter specific capability offset into struct port (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Properly disable path (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Set sleep bit when suspending switch (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Configure lanes when switch is initialized (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Move LC specific functionality into a separate file (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Add dummy read after port capability list walk on Light Ridge (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Enable TMU access when accessing port space on legacy devices (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Do not allocate switch if depth is greater than 6 (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Take domain lock in switch sysfs attribute callbacks (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Block reads and writes if switch is unplugged (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Drop duplicated get_switch_at_route() (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Remove unused work field in struct tb_switch (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check the return value of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: property: Fix a missing check of kzalloc (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: xdomain: Fix to check return value of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check return value of ida_simple_get (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix to check for kmemdup failure (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Fix a missing check of kmemdup (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: property: Fix a NULL pointer dereference (Jarod Wilson) [1483494] - [thunderbolt] thunderbolt: Prevent root port runtime suspend during NVM upgrade (Jarod Wilson) [1483494] - [netdrv] net/ibmvnic: prevent more than one thread from running in reset (Steve Best) [1756943] - [netdrv] net/ibmvnic: unlock rtnl_lock in reset so linkwatch_event can run (Steve Best) [1756943] - [netdrv] sfc: don't score irq moderation points for GRO (Jarod Wilson) [1736303] - [netdrv] sfc: Use dev_get_drvdata where possible (Jarod Wilson) [1736303] - [netdrv] sfc: Remove 'PCIE error reporting unavailable' (Jarod Wilson) [1736303] - [netdrv] sfc: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jarod Wilson) [1736303] - [netdrv] sfc: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1736303] - [netdrv] bonding: no need to print a message if debugfs_create_dir() fails (Jarod Wilson) [1756517] - [netdrv] bonding: Add vlan tx offload to hw_enc_features (Jarod Wilson) [1756517] - [netdrv] bonding: fix value exported by Netlink for peer_notif_delay (Jarod Wilson) [1756517] - [netdrv] bonding: add an option to specify a delay between peer notifications (Jarod Wilson) [1756517] - [netdrv] bonding: validate ip header before check IPPROTO_IGMP (Jarod Wilson) [1756517] - [netdrv] bonding/main: fix NULL dereference in bond_select_active_slave() (Jarod Wilson) [1756517] - [netdrv] bonding: Always enable vlan tx offload (Jarod Wilson) [1756517] - [netdrv] bonding/options: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/alb: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/802.3ad: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding/main: convert to using slave printk macros (Jarod Wilson) [1756517] - [netdrv] bonding: add slave_foo printk macros (Jarod Wilson) [1756517] - [netdrv] bonding: fix error messages in bond_do_fail_over_mac (Jarod Wilson) [1756517] - [netdrv] bonding: improve event debug usability (Jarod Wilson) [1756517] - [netdrv] net: bonding: Inherit MPLS features from slave devices (Jarod Wilson) [1756517] - [netdrv] bonding: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jarod Wilson) [1756517] - [netdrv] bonding: Replace GPLv2 boilerplate/reference with SPDX - rule 90 (Jarod Wilson) [1756517] - [netdrv] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 5 (Jarod Wilson) [1756517] - [netdrv] bonding: Add SPDX license identifier - Makefile/Kconfig (Jarod Wilson) [1756517] - [powerpc] powerpc/fadump: support holes in kernel boot memory area (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: remove RMA_START and RMA_END macros (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: update documentation about option to release opalcore (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: consider f/w load area (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: provide an option to invalidate /sys/firmware/opal/core file (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: enable CONFIG_OPAL_CORE for FADUMP (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opalcore: export /sys/firmware/opal/core for analysing opal crashes (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: update documentation about CONFIG_PRESERVE_FA_DUMP (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add support to preserve crash data on FADUMP disabled kernel (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: improve how crashed kernel's memory is reserved (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: consider reserved ranges while releasing memory (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: make crash memory ranges array allocation generic (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: process architected register state data provided by firmware (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: make use of memblock's bottom up allocation mode (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Update documentation about OPAL platform support (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: handle invalidation of crashdump and re-registraion (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Warn before processing partial crashdump (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: process the crashdump by exporting it as /proc/vmcore (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: support copying multiple kernel boot memory regions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: define OPAL register/un-register callback functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: reset metadata address during clean up (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: register kernel metadata address with opal (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: improve fadump_reserve_mem() (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add fadump support on powernv (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/opal: add MPIPL interface definitions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/powernv: Make possible for user to force a full ipl cec reboot (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: use FADump instead of fadump for how it is pronounced (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] pseries/fadump: move out platform specific support from generic code (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: release all the memory above boot memory size (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add source info while displaying region contents (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] pseries/fadump: define RTAS register/un-register callback functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: introduce callbacks for platform specific operations (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: move rtas specific definitions to platform code (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: define an empty fadump_cleanup() (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: use helper functions to reserve/release cpu notes buffer (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: Improve fadump documentation (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: declare helper functions in internal header file (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: add helper functions (Desnes Augusto Nunes do Rosario) [1524687] - [powerpc] powerpc/fadump: move internal macros/definitions to a new header (Desnes Augusto Nunes do Rosario) [1524687] - [watchdog] watchdog: iTCO: Add support for Cannon Lake PCH iTCO (Alexander Beregalov) [1724532] - [i2c] i2c: i801: Use iTCO version 6 in Cannon Lake PCH and beyond (Alexander Beregalov) [1724532] - [i2c] i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus (Alexander Beregalov) [1724532] - [block] loop: set PF_MEMALLOC_NOIO for the worker thread (Ming Lei) [1741392] - [fs] bdev: Fixup error handling in blkdev_get() (Ming Lei) [1741392] - [block] loop: Fix mount(2) failure due to race with LOOP_SET_FD (Ming Lei) [1741392] - [block] block, bfq: handle NULL return value by bfq_init_rq() (Ming Lei) [1741392] - [block] block, bfq: move update of waker and woken list to queue freeing (Ming Lei) [1741392] - [block] block, bfq: reset last_completed_rq_bfqq if the pointed queue is freed (Ming Lei) [1741392] - [block] block: aoe: Fix kernel crash due to atomic sleep when exiting (Ming Lei) [1741392] - [block] rq-qos: use a mb for got_token (Ming Lei) [1741392] - [block] rq-qos: set ourself TASK_UNINTERRUPTIBLE after we schedule (Ming Lei) [1741392] - [block] rq-qos: don't reset has_sleepers on spurious wakeups (Ming Lei) [1741392] - [block] rq-qos: fix missed wake-ups in rq_qos_throttle (Ming Lei) [1741392] - [include] wait: add wq_has_single_sleeper helper (Ming Lei) [1741392] - [block] block, bfq: check also in-flight I/O in dispatch plugging (Ming Lei) [1741392] - [block] block: fix sysfs module parameters directory path in comment (Ming Lei) [1741392] - [block] block: Allow mapping of vmalloc-ed buffers (Ming Lei) [1741392] - [block] block/bio-integrity: fix a memory leak bug (Ming Lei) [1741392] - [block] block: Disable write plugging for zoned block devices (Ming Lei) [1741392] - [block] blk-throttle: fix zero wait time for iops throttled group (Ming Lei) [1741392] - [block] block: Fix potential overflow in blk_report_zones() (Ming Lei) [1741392] - [block] blk-cgroup: turn on psi memstall stuff (Ming Lei) [1741392] - [block] block: init flush rq ref count to 1 (Ming Lei) [1741392] - [lib] sbitmap: Replace cmpxchg with xchg (Ming Lei) [1741392] - [block] block: Remove unused code (Ming Lei) [1741392] - [block] block, bfq: Init saved_wr_start_at_switch_to_srt in unlikely case (Ming Lei) [1741392] - [block] block, bfq: re-schedule empty queues if they deserve I/O plugging (Ming Lei) [1741392] - [block] block, bfq: preempt lower-weight or lower-priority queues (Ming Lei) [1741392] - [block] block, bfq: detect wakers and unconditionally inject their I/O (Ming Lei) [1741392] - [block] block, bfq: bring forward seek&think time update (Ming Lei) [1741392] - [block] block, bfq: update base request service times when possible (Ming Lei) [1741392] - [block] block, bfq: fix rq_in_driver check in bfq_update_inject_limit (Ming Lei) [1741392] - [block] block, bfq: reset inject limit when think-time state changes (Ming Lei) [1741392] - [kernel] cgroup: export css_next_descendant_pre for bfq (Ming Lei) [1741392] - [block] block: update print_req_error() (Ming Lei) [1741392] - [block] block: use blk_op_str() in blk-mq-debugfs.c (Ming Lei) [1741392] - [block] block: add centralize REQ_OP_XXX to string helper (Ming Lei) [1741392] - [block] block: improve print_req_error (Ming Lei) [1741392] - [block] block: rename CONFIG_DEBUG_BLK_CGROUP to CONFIG_BFQ_CGROUP_DEBUG (Ming Lei) [1741392] - [block] bfq-iosched: move bfq_stat_recursive_sum into the only caller (Ming Lei) [1741392] - [block] blk-cgroup: move struct blkg_stat to bfq (Ming Lei) [1741392] - [block] blk-cgroup: introduce a new struct blkg_rwstat_sample (Ming Lei) [1741392] - [block] blk-cgroup: pass blkg_rwstat structures by reference (Ming Lei) [1741392] - [block] blk-cgroup: factor out a helper to read rwstat counter (Ming Lei) [1741392] - [block] block: drbd: no need to check return value of debugfs_create functions (Ming Lei) [1741392] - [block] blk-core: Remove blk_end_request*() declarations (Ming Lei) [1741392] - [block] block: code cleanup queue_poll_stat_show() (Ming Lei) [1741392] - [block] block: use right format specifier for op (Ming Lei) [1741392] - [block] block: get rid of redundant else (Ming Lei) [1741392] - [block] block: use req_op() to maintain consistency (Ming Lei) [1741392] - [fs] blkcg, writeback: dead memcgs shouldn't contribute to writeback ownership arbitration (Ming Lei) [1741392] - [block] blkcg: blkcg_activate_policy() should initialize ancestors first (Ming Lei) [1741392] - [block] blkcg: perpcu_ref init/exit should be done from blkg_alloc/free() (Ming Lei) [1741392] - [block] blkcg: update blkcg_print_stat() to handle larger outputs (Ming Lei) [1741392] - [block] block: bio: Use struct_size() in kmalloc() (Ming Lei) [1741392] - [block] block: genhd: Use struct_size() helper (Ming Lei) [1741392] - [block] block: null_blk: fix race condition for null_del_dev (Ming Lei) [1741392] - [block] blk-mq/debugfs: Fix improper print qualifier (Ming Lei) [1741392] - [block] loop: Don't change loop device under exclusive opener (Ming Lei) [1741392]- [documentation] timekeeping.txt: Correct maxCount of n-bit binary counter (Jaroslav Kysela) [1738610] - [sound] ALSA: clk: Add (devm_)clk_get_optional() functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: uapi: align comments with firmware files (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: rename SOUNDWIRE to ALH (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: add ALH parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: remove SPDX "WITH Linux-syscall-note" from kernel-space headers again (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: fe_compr can be bit field (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: fixup for_each_card_links() macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Define a set of DAPM pre/post-up events (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: use bit field for bus_control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple_card_utils.h: care NULL dai at asoc_simple_debug_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: remove an unused field from struct hda_codec (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Avoid polluting led_* namespace (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add Hiby device family to quirks for native DSD support (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Update DSD support quirks for Oppo and Rotel (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: DSD auto-detection for Playback Designs (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: remove some dead code (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix possible NULL dereference at create_yamaha_midi_quirk() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Clean up check_input_term() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Remove superfluous bLength checks (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Unify the release of usb_mixer_elem_info objects (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Simplify parse_audio_unit() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: More validations of descriptor units (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Check mixer unit bitmap yet more strictly (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix memory leak at line6_init_pcm() error path (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix invalid NULL check in snd_emuusb_set_samplerate() (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add implicit fb quirk for Behringer UFX1604 (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix a stack buffer overflow bug in check_input_term (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix an OOB bug in parse_audio_mixer_unit (Jaroslav Kysela) [1738610] - [sound] ALSA: hiface: fix multiple memory leak bugs (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Add Pioneer DDJ-SX3 PCM quirck (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Skip bSynchAddress endpoint check if it is invalid (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix PCM device order (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Unify audioformat release code (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix gpf in snd_usb_pipe_sanity_check (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Scarlett Gen 2 mixer interface (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: sizeof (byte) is always 1, use that fact. (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix a typo (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix wrong altsetting for LINE6_PODHD500_1 (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix Line6 Helix audio format rates (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Fix parse of UAC2 Extension Units (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Fix write on zero-sized buffer (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: fix sign unintended sign extension on left shifts (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Sanity checks for each pipe and EP types (Jaroslav Kysela) [1738610] - [sound] ALSA: usb-audio: Enable .product_name override for Emagic, Unitor 8. (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Use container_of() (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Drop superfluous timer helper function (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: variax: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: podhd: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: pod: Rewrite complex timer & work combo with a delayed work (Jaroslav Kysela) [1738610] - [sound] ALSA: line6: Assure canceling delayed work at disconnection (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 33 (Jaroslav Kysela) [1738610] - [sound] ALSA: sparc: Mark expected switch fall-throughs (Jaroslav Kysela) [1738610] - [sound] ALSA: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ux500: mop500: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: txx9: txx9aclc-generic: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: osk5912: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap3pandora: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-twl4030: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-hdmi: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: omap-abe-twl6040: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: n810: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Set unused serializers as INACTIVE (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Fix SDMA users not providing channel names (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Support for auxclk-fs-ratio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: ams-delta: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: trimslice: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm9712: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8903: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_wm8753: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5677: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: tegra_alc5632: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: pass volume min/max linear value to FW (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ignore unrecoverable CTX_SAVE IPC errors at suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Add earpiece (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun4i-codec: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: spdifrx: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: dfsdm: add 16 bits audio record support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add cpu_dai_name for DAIs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add min/max step for volume_table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sof: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: clarify operator precedence (Jaroslav Kysela) [1738610] - [sound] ALSA: ASOC: SOF: ipc: prevent logging trace messages (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add new macro hstream_to_sof_hda_stream() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: make sure RUN bit setting to 0 during clear stream status (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: fix a deadlock with bus->reg_lock (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: modify stream interrupt handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: save handle to sdev in sof_intel_hda_stream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove misleading error trace from IRQ thread (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: dont wake dsp up in kcontrol IO (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: compress: Fix memory leak from snd_soc_new_compress (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: sirf-audio: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sh: sh7760-ac97: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: ssiu: tidyup SSI_MODE1/2 settings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: fixup mod ID calculation in rsnd_ctu_probe_ (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: add missing pin sharing with SSI9 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sh: migor: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tobermory: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: speyside: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: snow: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994pcm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8994: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_wm8580: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smdk_spdif: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: smartq_wm8987: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_uda134x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec_tlv320aic23: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec_hermes: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: rx1950_uda1380: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: fix a double-free issue for cpu_dai (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: fix an use-after-free issue for codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: odroid: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: lowland: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: littlemill: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: jive_wm8750: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: h1940_uda1380: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: bells: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: arndale_rt5631: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip-max98090: Remove MICBIAS as supply of input pin IN34 (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: rockchip: rockchip_max98090: Enable MICBIAS for headset keypress detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3399_gru_sound: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rk3399_gru_sound: Support 32, 44.1 and 88.2 kHz sample rates (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rk3288_hdmi_analog: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: pdm: select CONFIG_RATIONAL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: storm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: Fix oops with multiple DAI links (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: tosa: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: hx4700: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: kernel: fix typos and some coding style in comments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Add missing Slimbus0 audio route (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: apq8016_sbc: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: zylonite: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: z2: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: ttc-dkb: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: spitz: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: pxa2xx-ac97.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: poodle: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: palm27x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: mioa701_wm9713: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: magician: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: imote2: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: em-x270: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e800_wm9712: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e750_wm9705: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: e740_wm9705: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: corgi: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pxa: brownstone: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs: mxs-sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-toddr: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-toddr: expose all 8 inputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: tdmout: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdmout: right_j is not supported (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: tdmin: expose all 16 inputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdmin: right_j is not supported (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm: fix sample clock inversion (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm: consistently use SND_SOC_DAIFMT defines (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: require regmap mmio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: free reset on device removal (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: add reset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-spdifout: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-spdifin: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-pdm: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-frddr: expose all 8 outputs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-frddr: add sm1 support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-fifo: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5676: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-rt5650-rt5514: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8173-max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt6797-mt6351: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701-wm8960: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701-cs42448: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Add missing newline at end of file (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood: armada-370-db: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: jz4740: qi_lb60: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 239 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Fix incorrect capture position reporting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Fix NULL ptr dereference when unloading clk dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Don't return failure on machine driver reload (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Do not disable FW notifications (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof_rt5682: use GFP_KERNEL instead of GFP_ATOMIC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: correct naming for dmic16k (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof_rt5682: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for Irbis NB41 netbook (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt-da7219-max98357a: add BE dailink for dmic16k (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add MCLK support for BYT platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_rt286: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_nau88l25_ssm4567: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_nau88l25_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_common: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5663_rt5514_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5663_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_rt5660: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: kbl_da7219_max98927: add dai_trigger function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: haswell: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_nocodec: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_da7213: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_cx2072x: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: byt-rt5640: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: byt-max98090: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt_rt298: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: broadwell: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bdw-rt5677: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix use-after-free in graph_for_each_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: add missing const at graph_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: phycore-ac97: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card-utils: care no Platform for DPCM (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix use-after-free in graph_dai_link_of_dpcm() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph-card: fix an use-after-free in graph_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: wm1133-ev1: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: pcm030-audio-fabric: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: mx27vis-aic32x4: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-spdif: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-sgtl5000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-mc13783: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-es8328: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: imx-audmix: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: mpc8610_hpcd/p1022_ds/p1022_rdk: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: fsl-asoc-card: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: eukrea-tlv320: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl: efika-audio-fabric: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm_adsp: Allow bus error handler to be called directly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm_adsp: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: remove multiple defines. (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: add irqflag IRQF_ONESHOT flag (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: Fix misuse of GENMASK macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic31xx: suppress error message for EPROBE_DEFER (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tas571x: Fix -Wunused-const-variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix charge pump source assignment (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix of unmute outputs on probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: add ADC mute control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Improve VAG power and mute control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sgtl5000: Fix definition of VAG Ramp Control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5682: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677-spi: Rename driver to differentiate from main codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5665: remove redundant assignment to variable idx (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5514-spi: don't use snd_soc_lookup_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: simplify the EFUSE read function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Remove executable attribute from source files (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: add silence detection and manual PDB control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Convert headers to SPDX (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: fix DC calibration offset not applying (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Relocate my e-mail to .com domain zone (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nau8825: fix fake interruption when booting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nau8822: support master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: soc: codecs: mt6358: change return type of mt6358_codec_init_reg (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: msm8916-wcd-digital: Add sidetone support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98383: fix i2c probe failure (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 496 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hdmi: report codec link up/down status to bus (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec: hdac_hdmi: fix pin connections at cvt enable (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 463 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: mark PM function as __maybe_unused (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: use mdelay for sdmode-delay (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: avoid speaker pop when playback startup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Fix MFREQ selection issue for async mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cros_ec_codec: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4118: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: spi: AD ASoC: declare missing of table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ab8500: add range to usleep_range (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: snappercl15: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: simone: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: ep93xx-i2s.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cirrus: edb93xx: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: bcm: cygnus-pcm: Unneeded variable: "ret". (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: psc-i2s.c: use devm_snd_soc_register_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: db1200: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: db1000: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: tse850-pcm5142: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9x5_wm8731: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: sam9g20_wm8731: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: mikroe-proto: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-wm8904: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-pdmic: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-pcm-dma.c: use devm_snd_dmaengine_pcm_register() (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: atmel-classd: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp-rt5645: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp-da7219-max98357a: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 200 (Jaroslav Kysela) [1738610] - [sound] ALSA: ps3: Remove Unneeded variable: "ret" (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 277 (Jaroslav Kysela) [1738610] - [sound] ALSA: rme9652: Unneeded variable: "result". (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 274 (Jaroslav Kysela) [1738610] - [sound] ALSA: hdspm: Fix single speed ADAT capture and playback with RME HDSPe AIO (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 264 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 404 (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es - Remove set but not used variables 'orun_mask, urun_mask' (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es: Remove unneeded variable err (Jaroslav Kysela) [1738610] - [sound] ALSA: lx6464es - add support for LX6464ESe pci express variant (Jaroslav Kysela) [1738610] - [sound] ALSA: ice1712: Check correct return value to snd_i2c_sendbytes (EWS/DMX 6Fire) (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 29 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 46 (Jaroslav Kysela) [1738610] - [sound] ALSA: emu10k1: Remove unneeded variable "change" (Jaroslav Kysela) [1738610] - [sound] ALSA: echoaudio: Replace kmalloc + memcpy with kmemdup (Jaroslav Kysela) [1738610] - [sound] ALSA: pci: echoaudio: remove variable which is a constant (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 364 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 (Jaroslav Kysela) [1738610] - [sound] ALSA: cs4281: remove redundant assignment to variable val and remove a goto (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 116 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 456 (Jaroslav Kysela) [1738610] - [sound] ALSA: au88x0: Remove unneeded variable: "changed" (Jaroslav Kysela) [1738610] - [sound] ALSA: asihpi: Remove unneeded variable change (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 88 (Jaroslav Kysela) [1738610] - [sound] ALSA: ac97: remove unused variable 'snd_ac97_controls_master_mono' (Jaroslav Kysela) [1738610] - [sound] ALSA: dmasound_atari: Mark expected switch fall-through (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176 (Jaroslav Kysela) [1738610] - [sound] ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: isa/wavefront: remove redundant assignment to pointer bptr (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 370 (Jaroslav Kysela) [1738610] - [sound] ALSA: sb: remove redundant assignment to variable result (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: hda: Add codec on bus address table lately" (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Unexport a few more stuff (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Drop export of snd_hdac_bus_add/remove_device() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add codec on bus address table lately (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: readl/writel need linux/io.h (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: intel-nhlt: handle NHLT VENDOR_DEFINED DMIC geometry (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: move parts of NHLT code to new module (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix 1-minute detection delay when i915 module is not available (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix a headphone detection issue when using SOF (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: fix: lock reg_lock before calling snd_hdac_bus_update_rirb (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: add polling mode in snd_hdac_bus_get_response (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sdm845: remove unneeded semicolon (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dmaengine: Replace strncpy() with strscpy_pad() for pcm->name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: remove redundant use of ret variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: Add an op to set callback function for plug event (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_unbind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_unbind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_bind_aux_dev() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_link_dais() next to soc_remove_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_probe_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add new soc_link_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_dai() next to soc_remove_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_remove_link_dais() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_remove_link_components() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: self contained soc_probe_link_components() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1305: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: make array pd static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: simple-card-utils: set 0Hz to sysclk when shutdown (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: ignore 0Hz sysclk (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: make two arrays static const, makes object smaller (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Use regmap_multi_reg_write() when initializing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Reset used registers at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Group register initialization at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: ad193x: Fix memory corruption on BE 64b systems (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: support fixed and variable both clock rates (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix redundant codes of clock (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: add DT-bindings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix COMPILE_TEST error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Include link-name in error messages (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: consider CPU-Platform possibility (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: don't select unnecessary Platform (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Fix NULL pointer in of parser (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: Mark links as nonatomic (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qcom: common: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add comment to jack at soc_remove_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf-audio: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ep93xx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: add clock control of MCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: audio-graph: indicate rebind issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: indicate rebind issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: fix an use-after-free in simple_for_each_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: fix an use-after-free in simple_dai_link_of_dpcm() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for cpu (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_link_components() position (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add snd_soc_dapm_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: dapm related setup at one place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_probe_component() position (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_rtd_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix space issues (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove forward declaration of headset_init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move headset jack to card-specific storage (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move private structure (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF/Intel: fix selection of SND_INTEL_NHTL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: broadwell: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bdw-rt5677: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: haswell: Simplify device probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Haswell: Adjust machine device private context (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-evm: Do not fail if the dai_set_sysclk returns -ENOTSUPP (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: edma-pcm: Fix for legacy dma_slave_map based channel lookup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-i2s: Add S32_LE as support format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-i2s: Move the XSYNCERR workaround to .prepare callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Baytrail: Fix implicit fallthrough warning (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_ssi: Fix clock control issue in master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wcd9335: Fix primary interpolator max rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix tdm out data is valid on rising edge (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: tdm hw support tdm out and 8ch i2s out (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel_ssc_dai: implement left-justified data mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel_ssc_dai: rework DAI format configuration (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Force suspend/resume during system suspend/resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: fix tdm out data align issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: add mutex protection to set_fmt/set_tdm_slot (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix inverted L/R of headphone mixer volume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8316: fix headphone mixer volume table (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Release topology when we are done with it (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove memory available check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove MCPS available check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Remove static table index when parsing topology (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Print module type instead of id (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: NHLT: Fix debug print format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Expose snd_soc_dapm_new_control_unlocked properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: fix memory leaks on sm, se and sbe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: Consolidate and fix asoc_tplg_dapm_widget_*_create flow (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: topology: Consolidate how dtexts and dvalues are freed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: fix modern dai link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use correct function to access iomem space (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix an is IS_ERR() vs NULL check (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i: Revert A83t description (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Fix return value check in imx8_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove unused DAPM-related variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: Revert initial A83t support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmix: register the card on a proper dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx8: Make some functions static (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: rename soc_post_component_init() to soc_rtd_init() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: initialize list at one place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: fix get control data return type and arguments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: initialize component list (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-topology: use for_each_component_dais() at remove_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_cleanup_card_resources() become void (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add NOTE to snd_soc_rtdcom_lookup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use device_register() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: switch tdm pins gpio function when playback on or off (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt2701: Fix -Wunused-const-variable warnings (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8988: fix typo in wm8988_right_line_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: imx: Add i.MX8 HW support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add OF DSP device support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: AMD: Fix Kconfig warning without GPIOLIB (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add support for DSP formats (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Replace call to params_width by local variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use the actual format width instead of an hardcoded one (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use the physical / slot width for the clocks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add support for TDM slots (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove unneeded dai_link check from snd_soc_remove_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: merge snd_soc_initialize_card_lists() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for imx8qm (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Fix simultaneous capture and playback in master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Wait for RX/TX RDY only if controller is running (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mchp-i2s-mcc: Fix unprepare of GCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Support more channels (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Pass the channels number as an argument (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Remove duplicated quirks structure (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the LRCK period on A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix MCLK Enable bit offset on A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix WSS and SR fields for the A83t (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the LRCK polarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix LRCK and BCLK polarity offsets on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: RX and TX counter registers are swapped (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix the MCLK and BCLK dividers on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Use module clock as BCLK parent on newer SoCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Move the format configuration to a callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Move the channel configuration to a callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Rework MCLK divider calculation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Replace call to params_channels by local variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Don't use the oversample to calculate BCLK (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Switch to devm for PCM register (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Register regmap and PCM before our component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8904: implement input mode select as a mux (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8904: fix typo in DAPM kcontrol name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add all Chromebooks that need pmc_plt_clk_0 quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: Fix double reset assersion when transitioning to suspend state (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: initial support for Intel ALH DAI type (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: Add dummy support for i.MX8 DAIs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmux: Add driver suspend and resume to support MEGA Fast (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for EHL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for Tiger Lake (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Add Cometlake machine driver support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Move pcm_mutex up to card level from snd_soc_pcm_runtime (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: 88pm860x: remove unused variables 'pcm_switch_controls' and 'aif1_mux' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42l56: remove unused variable 'adc_swap_enum' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8328: remove unused variable 'pga_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic31xx: remove unused variable 'cm_m_enum' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic23: remove unused variable 'tlv320aic23_rec_src' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: remove unused variable 'dac_vol_tlv' and 'adc_vol_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98371: remove unused variable 'max98371_noload_gain_tlv' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42l73: remove unused variables 'vsp_output_mux' and 'xsp_output_mux' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Print constant literals from format specifier (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt6358: add delay after dmic clock on (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: remove unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: remove unused variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt2701: remove unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: Fix -Wunused-const-variable warning (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs4349: Use PM ops 'cs4349_runtime_pm' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: es8328: Fix copy-paste error in es8328_right_line_controls (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: hsw: remove i386 build warning w/ size_t argument (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Fix typos in ti/Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: Set period size to 240 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Allow reconfiguration of tdm_slots and slot_width (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Retain the independence of DAC and ADC side of the codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: make headset codec optional (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-mt6358-ts3a227-max98357: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max9850: remove unused variable 'max9850_reg' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98926: remove two unused variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove legacy style of aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: rx51: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun4i-codec: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: tm2_wm5110: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: speyside: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: rockchip_max98090: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183-da7219-max98357: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: support snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hdmi: Offload dapm update at jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: byt: Refactor fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: bdw: Use generic function for fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Remove call to snd_sof_dsp_mailbox_init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ml26124: remove unused variable 'ngth' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt6351: remove unused variable 'mt_lineout_control' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: intel: skl_hda_dsp_common: create HDMI jack kctl (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tscs454: remove unused variable 'PLL_48K_RATE' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: fix module_put() warning in soc_cleanup_component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: dai_link check under soc_dpcm_debugfs_add() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: define soc_dpcm_debugfs_add() for non CONFIG_DEBUG_FS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for card->deferred_resume_work (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove unneeded list_empty() check for snd_soc_try_rebind_card() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: call snd_soc_dapm_debugfs_init() at soc_init_card_debugfs() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_add_card_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_dapm_add_routes() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_add_component_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdac_hda: fix page fault issue by removing race (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Direct MMIO accesses (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for imx7ulp/imx8mq (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: mark regmap as fast_io (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: large_config_get overhaul (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Implement set_bclk_ratio (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add support for SAI new version (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: derive TX FIFO watermark from FIFO depth (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: add of_match data (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Update Tx/Rx channel enable mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Add registers definition for multiple datalines (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup for snd_soc_dapm_new_controls() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: reuse rtdcom at snd_soc_rtdcom_add() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use for_each_card_links_safe() at snd_soc_find_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: check return value of snd_soc_add_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add comment for for_each_xxx (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: set component->debugfs_root NULL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add a flag for the R0 calibration test (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add R0 temperature and TDM1 ADC2DAT Swap control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: don't call clk_get_rate() under atomic context (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98373: Remove executable bits (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pcm_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pcm_new() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_mmap() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_page() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_copy_user() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_ioctrl() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_pcm_component_pointer() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_set_bias_level() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_stream_event() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: move snd_soc_component_seq_notifier() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_of_xlate_dai_name() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_of_xlate_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_remove() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_is_suspended() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_suspend() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_hw_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_hw_params() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_prepare() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_close() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_open() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-component: add snd_soc_component_get/put() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: add soc-component.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_fill_silence() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_rtdcom_copy_kernel() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: remove soc_rtdcom_ack() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp3x: use dma address for acp3x dma driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: acp3x: use dma_ops of parent device for acp3x dma driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: zx-tdm: remove redundant assignment to ts_width on error return path (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: SoC: skylake: no need to check return value of debugfs_create functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: fill some of the runtime stream parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: remove ephemeral variables (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: create pcm for codec2codec links as well (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: use common NHLT module (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Limit large_config_get to single frame (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix use of potentially uninitialized variable (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Update request-reply IPC model (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Common: Fix NULL dereference in tx_wait_done (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix race condition in IPC rx list (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: move NHLT header to common directory (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: au1x: psc-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: psc-ac97: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: aio-dma: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: uniphier: evea: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: inno_rk3036: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: jz4740: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mmp-sspa: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: jz4725b: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: msm8916-wcd: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: sai: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun8i-codec: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun8i-codec-analog: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: xlnx: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs4271: Fix a typo in the CS4171_NR_RATIOS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: Mark expected switch fall-throughs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: xtfpga-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: kirkwood-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: spear: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mxs-saif: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sirf: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: bcm2835-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_audmix: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: imx-audmux: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt6797: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mt8173: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ep93xx-i2s: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tegra20_das: use devm_platform_ioremap_resource() to simplify code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: g12a-tohdmitx: override codec2codec params (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98373: add 88200 and 96000 sampling rate support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Incorrect SR and WSS computation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: fix missing return of error return code (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Support for correct symmetric sample bits (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Correct slot_width posed constraint (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rockchip: Fix mono capture (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Fix some acpi vs apci typo in somme comments (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Fix clk PDIR handling for i2s master mode (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: deal with params when necessary (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: name link using stream direction (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codec2codec: run callbacks in order (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: codecs: Add uda1334 codec driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1308: Add RT1308 amplifier driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Makefile - fix the top-level kernel module names (add snd- prefix) (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Improve serializer handling in multi AXR setups (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for RIGHT_J format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Cleanup skl_module_cfg declaration (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Make MCPS and CPS params obsolete (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Combine snd_soc_skl_ipc and snd_soc_skl (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Reset pipeline before its deletion (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Strip T and L from TLV IPCs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Properly cleanup on component removal (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Initialize lists before access so they are safe to use (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Add function to cleanup debugfs interface (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use recommended SDxFMT programming sequence (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Switch to modern UUID API (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-pcm: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: wm8955: Fix a typo in 'wm8995_pll_factors()' function name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Fail card instantiation if DAI format setup fails (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use existing snd_soc_dai_digital_mute() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_compress_new() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_remove() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_probe() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_suspend() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_delay() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_bespoke_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_trigger() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_prepare() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_shutdown() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_startup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: add snd_soc_dai_hw_free() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dai: mv soc_dai_hw_params() to soc-dai (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: add soc-dai.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Return -ENOTSUPP from set_channel_map() if no operation provided (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: support dai_link with platforms_num != 1 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: defer card registration if codec component is missing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use soc_find_component() at snd_soc_find_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use soc_find_component() at snd_soc_find_dai() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_find_component() uses snd_soc_dai_link_component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: soc_find_component() uses snd_soc_is_matching_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: move soc_find_component() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: call snd_soc_unbind_card() under mutex_lock; (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: allow no Platform on dai_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: remove legacy style dai_link (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc.h: add sound dai_link connection macro (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: Support hw_free() callback at DAI level (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5665: Fix a typo in the name of a function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Remove dev_err() usage after platform_get_irq() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: recover the channel swap after xrun (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Wrap some operations to be functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Add pm runtime function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ssp: BCLK delay parameter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add DMIC token for unmute gain ramp time (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix stream id setting (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix link DMA config (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reset link DMA state in prepare (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reserve host DMA channel for hostless streams (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: assign link DMA channel at run-time (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: initial support for Elkhart Lake (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: initial support for Tiger Lake. (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Use generic function for fw ready / mem windows creation (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: make sure DMA is start/stop by read the RUN bit (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix HDA direct MMIO access (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated clear WAKESTS (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: clear stream status and wakests properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add function for hda stop chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: set position buffer in init chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: correct ROM state mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_window_offset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_mailbox_offset (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add runtime idle callback (Jaroslav Kysela) [1738610] - [sound] ALSA: docs: timers: convert docs to ReST and rename to *.rst (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use SOF defined init chip in resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Enable jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: reduce ifdef usage for hda (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: remove unused state variable in suspend function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: implement runtime idle for CNL/APL (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the defined stop chip in suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the SOF defined ppcap functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: release link DMA for paused streams during suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: loader: Don't ignore SRAM block types (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: loader: Use the BAR provided by FW (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Introduce snd_sof_dsp_get_bar_index ops (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: increase default IPC timeouts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: use timeout configured at probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: add ALH support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: use common code to send PCM_FREE IPC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: reset DMA state in prepare (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: couple host and link DMA during FE hw_free (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pci: mark last_busy value at runtime PM init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fixup HDaudio topology name with DMIC number (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: Add missing include file hdac_hda.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: Initialize hdaudio bus properly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix MSI handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Initialize HDA controller after i915 init (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: add a parameter to disable MSI (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: remove duplicated include from hda.c (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: disallow building without CONFIG_PCI again (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: intel: extend IPC dump information (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Allow all channels in case of parallel DIN/DOUT setup (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Fix a typo in the name of a constant (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Add support for multi DIN/DOUT with TDM slots parameter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Rename min_frame_size to slot_width (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: add dmic dapm widget and route (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: skl-hda-dsp-generic: add dependency to dmic driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Match Product Family instead of product (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Invalidate only paths reachable for a given stream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: use set_get_data in process load (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_esai: Add compatible string for imx6ull (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: keep analog power register at SND_SOC_BIAS_OFF (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Remove magic number register writes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Revert remove superfluous set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: remove superfluous set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: depop stereo dac (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: handle concurrent interrupts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: clear interrupts by polarity flip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: move jack-detect init to i2c probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: fall back to DT prop names on error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Add component driver name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: use more of the volume range from DACs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: remove w90x900/nuc900 platform drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: nuc900: nuc900-audio: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add dmic dapm widget to support dmic PCM (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add for_each_xxx macro for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: use snd_soc_dai_link_component for aux_dev (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: remove useless check on codec (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: fix null pointer dereference in clean up (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: use modern dai_link style (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sst: fix kmalloc call with wrong flags (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Fix deadlock in snd_soc_instantiate_card() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Remove erroneous soc_cleanup_card_resources() call (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use snd_soc_dai_link_component for CPU (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: move DAI pre-links initiation to snd_soc_instantiate_card (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: fix warning reported by kbuild test robot and minor issue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Mark format integer literals as unsigned (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: Tell codec that jack is being removed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Change SR and WSS computation (Jaroslav Kysela) [1738610] - [sound] ALSA: SoC: rt274: Fix internal jack assignment in set_jack callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: bytcht_es8316: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090: fix kernel oops with platform_name override (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 395 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Add offset to RX channel select (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-i2s: Fix sun8i tx channel offset mask (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98090: remove 24-bit format support if RJ is 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: da7219: Fix build error without CONFIG_I2C (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Fix COMPILE_TEST build error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: pcm3168a: Implement set_tdm_slot callback (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: Make some symbols static (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: remove set but not used variable 'is_right_j ' (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt1011: Add RT1011 amplifier driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: debug: add new debugfs entries for IPC flood test (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: Introduce SOF_IPC_GLB_TEST_MSG IPC command (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: uapi: mirror firmware changes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: send time stamp to FW for alignment (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: bump to ABI 3.6 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: soundwire: add initial soundwire support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: add support for mux/demux component (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix DSP oops definitions in FW ABI (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ipc: don't check for HIPCCTL register value (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: re-enable IPC IRQ at end of handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: read all IPC registers first (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: re-enable IPC IRQ at end of handler (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: move code around for clarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: cnl-ipc: read all IPC registers first (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Do not send cmd via SHIM register (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add mode parameter for snd_sof_debugfs_buf_item (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ASoC: core: use component driver name as component name" (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: sai: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: replace fw ready bitfield with explicit bit ordering (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Baytrail: add quirk for Aegex 10 (RU2) tablet (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: fix typos of SPDX-License-Identifier (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 162 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: use the defined ppcap functions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: add COMPILE_TEST for PCI options (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: Add COMPILE_TEST for new machine drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: remove dependency on asm/platform_sst_audio.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoc: fix sound/soc/intel/skylake/slk-ssp-clk.c build error on IA64 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: use common helpers to detect CPUs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677: Add missing voice activation register definitions (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: use component driver name as component name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Fix build error with CONFIG_GPIOLIB is not set (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix undefined references with Baytrail-only support (Jaroslav Kysela) [1738610] - [sound] ALSA: wcd9335: fix a incorrect use of kstrndup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-codec: fix first delay on Speaker (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Add support for H6 SoC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Add TX fifo bit flush quirks (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: sun4i-spdif: Move quirks to the top (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: fix spelling mistake "configued" -> "configured" (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: fix integer overflow on unsigned int multiply (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: force end-of-file for debugfs trace at suspend (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: trace: remove code duplication in sof_wait_trace_avail() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Use struct_size() in kmemdup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: Show KConfig entry (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: topology: Use struct_size() helper (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cx2072x: remove redundant assignment to pulse_len (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: fix the hda init chip (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: ipc: fix a race, leading to IPC timeouts (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: control: correct the copy size for bytes kcontrol put (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: remove warning - initialize workqueue on open (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: clear hw_params_upon_resume flag correctly (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: fix error handling with the probe workqueue (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: remove snd_soc_unregister_component in case of error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: core: remove DSP after unregistering machine driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: fixup references at soc_cleanup_card_resources() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Force polling mode on CFL and CNL (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 119 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 64 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: core: lock client_mutex while removing link components (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: Restore original configuration of DAI format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: qdsp6: q6core: Use struct_size() in kmemdup() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Use struct_size() helper (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: Use struct_size() in krealloc() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: boards: remove unnecessary inclusion of skl.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: move card registration to the end of probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: mediatek: mt8183: remove unused DAPM pins (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: enable dev runtime suspend and resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Add machine driver for CX2072X on BYT/CHT platforms (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Add support for Conexant CX2072X CODEC (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: Unify the supported input and output rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: fixup try_module_get()/module_put() timing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: add newline for clarity (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: fix compile error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: fix compile error (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix AMP quirk support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: sof-rt5682: fix for codec button mapping (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 3 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: simple-card: Fix configuration of DAI format (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: WARN() is not related to component->driver->probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rsnd: move pcm_new from snd_soc_component_driver to snd_soc_dai_driver (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: Remap button control-function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: enable IIR filter (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rename functions that pollute the simple_xxx namespace (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: soc-acpi: Fix machine selection order (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: rt5677-spi: Handle over reading when flipping bytes (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-dpm: fixup DAI active unbalance (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: tlv320aic3x: Add support for high power analog output (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Add reset gpio handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: cs42xx8: Add regcache mask dirty (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: replace the process_option table with function (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_asrc: Fix the issue about unsupported rate (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: add g12a tohdmitx control (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: add basic codec-to-codec link support (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: dapm: allow muxes to force a disconnect (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: meson: axg-card: set link name based on link node name (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: MT8183: set data align (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Mediatek: add memory interface data align (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4458: rstn_control - return a non-zero on error only (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: re-introduce mutex locking (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: add soc_pcm_components_open() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: add missing cpu_dai->rate = 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: do cpu_dai related operation at same place (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use soc_find_component() at snd_soc_get_dai_id() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: add soc_component_to_node() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: tidyup soc_bind_dai_link() comment balance (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: don't use codec_dais on soc_bind_dai_link() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-core: use i on snd_soc_resume() (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: max98357a: request GPIO when device get probed (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ICL add Icelake chip info struct (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: ICL: add Icelake SSP count (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: pcm: remove runtime PM calls during pcm open/close (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: Intel: Skylake: Add Cometlake PCI IDs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Add Comet Lake PCI IDs (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: amd: Reporting accurate hw_ptr for acp3x dma (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-pcm: BE dai needs prepare when pause release after resume (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: ak4458: add return value for ak4458_probe (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC : cs4265 : readable register too low (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix error in verbose ipc command parsing (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: fix race in FW boot timeout handling (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: nocodec: fix undefined reference (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: soc-acpi: fix implicit header use of module.h/export.h (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: fsl_sai: Move clock operation to PM runtime (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: stm32: i2s: manage identification registers (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove ops dependency on the dai id (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove reference to the dai drivers in the private data (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove reference to the current substream (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hdmi-codec: remove function name debug traces (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 (Jaroslav Kysela) [1738610] - [sound] ALSA: xen-front: fix unintention integer overflow on left shifts (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - PCI quirk for Medion E4254 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Apply AMD controller workaround for Raven platform (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix alienware headset mic (Jaroslav Kysela) [1738610] - [sound] ALSA: Add Acer Aspire Ethos 8951G model quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi: remove redundant assignment to variable pcm_idx (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Enable internal speaker & headset mic of ASUS UX431FL (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add quirk for HP Pavilion 15 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix overridden device-specific initialization (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix potential endless loop at applying quirks (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Allow runtime PM for controller if component notifier is used (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Blacklist PC beep for Lenovo ThinkCentre M73/93 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Check beep whitelist before assigning in all codecs (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132 - Add new SBZ quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fixes inverted Conexant GPIO mic mute led (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Define a fallback_pin_fixup_tbl for alc269 family (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Expand pin_match function to match upcoming new tbls (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Drop unsol event handler for Intel HDMI codecs (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a generic reboot_notify (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Let all conexant codec enter D3 when rebooting (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/sigmatel - remove unused variable 'stac9200_core_init' (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add quirk for HP Envy x360 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Set fifo_size for both playback and capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a quirk model for fixing Huawei Matebook X right speaker (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Add model description for Chrome headset button quirk (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fix a typo in model documentation (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Inform too slow responses (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Apply workaround for another AMD chip 1022:1487 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Remove page allocation redirection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Workaround for crackled sound on AMD controller (1022:1457) (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Don't override global PCM hw info flag (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add support of Zhaoxin controller (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/intel: stop probe if DMICS are detected on Skylake+ platforms (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Show the fatal CORB/RIRB error more clearly (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Add a conexant codec entry to let mute led work (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Fix intermittent CORB/RIRB stall on Intel chips (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: SOF: Intel: hda: Make hdac_device device-managed (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Flush interrupts on disabling (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Don't report spurious jack state changes (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Optimize resume for codecs without jack detection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Don't resume forcibly i915 HDMI/DP codec (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Fix i915 reverse port/pin mapping (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/hdmi - Remove duplicated define (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Fixed Headphone Mic can't record on Dell platform (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Simplify snd_hdac_refresh_widgets() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Fix widget_mutex incomplete protection (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132 - remove redundant assignment to variable 'changed' (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Change front mic location for Lenovo M710q (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek: Add quirks for several Clevo notebook barebones (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops" (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Add Elkhart Lake PCI ID (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: fix a mask for unsolicited event tags (Jaroslav Kysela) [1738610] - [sound] ALSA: ASoC: hda: fix unbalanced codec dev refcount for HDA_DEV_ASOC (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/ca0132: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Update headset mode for ALC256 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: move polling_mode flag to struct hdac_bus (Jaroslav Kysela) [1738610] - [sound] ALSA: hda: assign polling_mode after azx_bus_init (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops (Jaroslav Kysela) [1738610] - [sound] ALSA: hda - Force polling mode on CNL for fixing codec communication (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Enable micmute LED for Huawei laptops (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Set default power save node to 0 (Jaroslav Kysela) [1738610] - [sound] ALSA: hda/realtek - Check headset type by unplug and resume (Jaroslav Kysela) [1738610] - [sound] ALSA: hdac: Fix codec name after machine driver is unloaded and reloaded (Jaroslav Kysela) [1738610] - [sound] ALSA: hdac: fix memory release for SST and SOF drivers (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 371 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier for missed files (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier for more missed files (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 130 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 273 (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix wrong packet parameter for Alesis iO26 (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: check intermediate state of clock status and retry (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: handle error code when getting current source of clock (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: remove WARN_ON() at destruction of AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: add note for FE-8 (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: add support for MOTU 4pre (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix isoc cycle count to which rx packet is scheduled (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix error path for initialization of stream structures (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix to handle correct stream for PCM playback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix NULL pointer dereference to unused stream structure (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire: fix a memory leak bug (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: localize kernel APIs to start/stop each AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: support AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for initialization/destruction of AMDTP stream (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for bus reset handler (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for initialization/destruction of AMDTP streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to start AMDTP streams in AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to add AMDTP stream into AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add a kernel API to stop a couple of AMDTP streams in AMDTP domain (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add AMDTP domain structure to handle several isoc contexts (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: more code refactoring for MOTU data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: process payload of isoc context according to packet descriptors (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for FF data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for MOTU data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for TASCAM data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for DOT data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for AM824 data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass packet descriptor to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to process context payloads (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to process PCM substream (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use packet descriptor for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use packet descriptor for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add list of packet descriptor (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass no syt information to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add syt_override member for some protocols (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: operate data block counter in top level of processing for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: operate data block counter in top level of processing for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass data block counter to data block processing layer (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: pass data block count as an argument to tracepoints event (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: obsolete ctx_data.tx.first_dbc with CIP_UNALIGHED_DBC flag (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for local variables (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for post operation to data block counter (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring for error path of parser for CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix different data block counter between probed event and transferred isochronous packet (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix initial value of data block count for IR context without CIP_DBC_IS_END_EVENT (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib/fireface: fix initial value of data block counter for IR context with CIP_NO_HEADER (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix invalid length of rx packet payload for tracepoint events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: fix wrong reference count for stream functionality at error path of rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix to process MIDI conformant data channel for AM824 format (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: cache next data_block_counter after probing tracepoints event for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify common tracepoints for both direction (Jaroslav Kysela) [1738610] - [sound] ALSA: Revert "ALSA: firewire-lib: fix inverted node IDs for amdtp_packet events" (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: ensure to release isochronous resources in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: unify stop and release method for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: minor code refactoring to stop isochronous context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: rename helper functions to begin/finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: code refactoring for condition to stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: add helper function to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify midi callback function (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: unify the count of subscriber for packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: change the range of critical section for stream data in PCM.hw_free callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring for error path to start duplex stream (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: change the range of critical section for stream data in PCM.hw_free callback (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring for callback function to rawmidi interface (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code rafactoring for callback functions to PCM interface (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: fix compiler warning due to returning uninitialized value (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: configure stream parameter in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: configure packet format in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: unify substreams counter (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: rename helper functions for duplex streams (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: expand stop procedure for packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: break packet streaming at bus-reset handler (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: start duplex streams if supported (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: set packet parameter according to current configuration (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: code refactoring for stop condition of packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: don't set XRUN in stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: configure stream parameters in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: configure sampling transfer frequency in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for pcm.hw_params/hw_free (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: code refactoring for rawmidi.open/close (Jaroslav Kysela) [1738610] - [sound] ALSA: fireworks: unify substream counter (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: code refactoring to initialize/destroy stream data (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: obsolete useless member of private structure (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: don't set XRUN in stop streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: bebob: configure sampling transfer frequency in pcm.hw_params callback (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: code refactoring to stop packet streaming (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring to keep isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: simplify error path to begin streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-digi00x: refactoring to move timing of registration for isochronous channel (Jaroslav Kysela) [1738610] - [sound] ALSA: oxfw: allow PCM capture for Stanton SCS.1m (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: minor code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: update isochronous resources when starting packet streaming after bus-reset (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in latter protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in ff400 protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: support allocate_resources operation in ff800 protocol (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: add protocol-specific operation to allocate isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: minor code refactoring to finish streaming session (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: update isochronous resources when starting packet streaming after bus reset (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for release of isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for reservation of isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-tascam: code refactoring for registration of isochronous channels (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-motu: fix destruction of data for isochronous resources (Jaroslav Kysela) [1738610] - [sound] ALSA: fireface: Use ULL suffixes for 64-bit constants (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: refactoring to obsolete IR packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: refactoring to obsolete IT packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix inverted node IDs for amdtp_packet events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: fix data block counter for incoming packet without CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use 8 byte packet header for IT context to separate CIP header from CIP payload (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: code refactoring to queueing packets (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify packet handler for IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split helper function to generate CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify packet handler for IR context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use 16 bytes IR context header to separate CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: split helper function to check incoming CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: compute pointer to payload buffer in context handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: calculate the length of packet payload in packet handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use clear name for variable of CIP header (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use IT context header to compute cycle count for scheduling packet (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: obsolete macro for header of IT context (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add helper function to cancel context inner callback handler (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use union for directional parameters (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: unify tracing events to 'amdtp_packet' event (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use dynamic array for CIP header of tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use the same unit for payload argument in tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: add data_blocks/data_block_counter parameter to in_packet/out_packet tracing events (Jaroslav Kysela) [1738610] - [sound] ALSA: firewire-lib: use the same type of argument for CIP header for tracing event (Jaroslav Kysela) [1738610] - [sound] ALSA: dice: add stream format parameters for PreSonus FireStudio (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 (Jaroslav Kysela) [1738610] - [sound] ALSA: aoa: onyx: always initialize register read value (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 250 (Jaroslav Kysela) [1738610] - [sound] ALSA: ac97: Fix double free of ac97_codec_device (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Add SPDX license identifier - Makefile/Kconfig (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: add support for 352.8KHz and 384KHz sample rate (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: Fix potential concurrent access to the deleted pool (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: fix lost wakeup event scenarios in snd_pcm_drain (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Be more restrictive about when a drain is allowed (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Don't allow paritial drain operations on capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Prevent bypasses of set_params (Jaroslav Kysela) [1738610] - [sound] ALSA: compress: Fix regression on compressed capture streams (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: Fix refcount_inc() on zero usage (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: Break too long mutex context in the write loop (Jaroslav Kysela) [1738610] - [sound] ALSA: seq: fix incorrect order of dest_client/dest_ports arguments (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 (Jaroslav Kysela) [1738610] - [sound] ALSA: control: Use struct_size() (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 (Jaroslav Kysela) [1738610] - [sound] ALSA: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 151 (Jaroslav Kysela) [1738610] - [sound] ALSA: pcm: oss: Use struct_size() helper (Jaroslav Kysela) [1738610]- [tools] selftests/powerpc: Retry on host facility unavailable (Desnes Augusto Nunes do Rosario) [1739770] - [tools] selftests/powerpc: Do not fail with reschedule (Desnes Augusto Nunes do Rosario) [1739770] - [tools] libperf: Warn when exceeding MAX_NR_CPUS in cpumap (Frank Ramsay) [1753332] - [tools] perf header: Replace MAX_NR_CPUS with cpu__max_cpu() (Frank Ramsay) [1753332] - [tools] perf machine: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf session: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf stat: Replace MAX_NR_CPUS with cpu__max_cpu() (Frank Ramsay) [1753332] - [tools] perf svghelper: Replace MAX_NR_CPUS with perf_env::nr_cpus_online (Frank Ramsay) [1753332] - [tools] perf timechart: Refactor svg_build_topology_map() (Frank Ramsay) [1753332] - [tools] perf tools: Increase MAX_NR_CPUS and MAX_CACHES (Frank Ramsay) [1753332] - [crypto] crypto: chelsio - count incomplete block in IV (Jonathan Toppins) [1725813] - [crypto] crypto: chelsio - Fix softlockup with heavy I/O (Jonathan Toppins) [1725813] - [crypto] crypto: chelsio - Fix NULL pointer dereference (Jonathan Toppins) [1725813] - [nvme] nvme-pci: Allow PCI bus-level PM to be used if ASPM is disabled (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI/ASPM: Add pcie_aspm_enabled() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Fix async probe remove race (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix controller removal race with scan work (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-rdma: fix possible use-after-free in connect error flow (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix a possible deadlock when passthru commands sent to a multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-core: Fix extra device_put() call on error path (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-file: fix nvmet_file_flush() always returning an error (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-loop: Flush nvme_delete_wq when removing the port (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: Fix use-after-free bug when a port is removed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: revalidate nvme_ns_head gendisk in nvme_validate_ns (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] Revert "nvme-pci: don't create a read hctx mapping without read queues" (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix multipath crash when ANA is deactivated (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix memory leak caused by incorrect subsystem free (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: ignore subnqn for ADATA SX6000LNP (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix NULL deref for fabrics options (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix regression upon hot device removal and insertion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fc: fix module unloads while lports still pending (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: set the STABLE_WRITES flag when data digests are enabled (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: print a hint while rejecting NSID 0 or 0xffffffff (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: don't use sendpage for SLAB pages (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: do not select namespaces which are about to be removed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: also check for a disabled path if there is a single sibling (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-multipath: factor out a nvme_path_is_disabled helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: export I/O characteristics attributes in Identify (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: set physical block size and optimal I/O size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: add delete completion and submission queue to admin cmds tracer (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: fix spelling mistake "spcecific" -> "specific" (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check for NULL return from pci_alloc_p2pmem() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: limit max_hw_sectors based on the DMA max mapping size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't fall back to a 32-bit DMA mask (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't create a read hctx mapping without read queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: make nvme_dev_pm_ops static (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: resolve warnings on RCU usage and sleep warnings (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: fix inconsistent lock state warnings (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI: PM: Skip devices in D0 for (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [pci] PCI: PM: Avoid possible suspend-to-idle issue (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add I/O characteristics fields (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: enable to inject errors into admin commands (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: prepare for fault injection into admin commands (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: introduce target-side trace (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: print result and status in hex format (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: support for fabrics commands in host-side (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: move opcode symbol print to nvme.h (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: do not export nvme_trace_disk_name (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: properly report state change failure in nvme_reset_work (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: clean up nvme_remove_dead_ctrl a bit (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: set the errno on ctrl state change error (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: adjust irq max_vector using num_possible_cpus() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use host managed power state for suspend (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove unnecessary zero for static var (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: introduce nvme_is_fabrics to check fabrics cmd (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fc: add message when creating new association (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove queue_count_ops for write_queues and poll_queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix possible io failures when removing multipathed ns (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: export get and set features (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: add transport discovery change op (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fcloop: add support for nvmet discovery_event op (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: remove blk_init_request_from_bio (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: initialize the write priority (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: Fix u32 overflow in the number of namespace list calculation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: add transport discovery change event callback support (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: don't limit DMA segement size (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix data_len to 0 for bdev-backed write_zeroes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-tcp: fix queue mapping when queue count is limited (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use blk-mq mapping for unmanaged irqs (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: copy MTFA field from identify controller (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: release namespace SRCU protection before performing controller ioctls (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: merge nvme_ns_ioctl into nvme_ioctl (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: remove the ifdef around nvme_nvm_ioctl (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: fix srcu locking on error return in nvme_get_ns_from_disk (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: Fix known effects (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Sync queues on reset (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Unblock reset_work on IO failure (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Don't disable on timeout in reset state (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: Fix controller freeze wait disabling (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: validate cntlid during controller initialisation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: change locking for the per-subsystem controller list (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: trace all async notice events (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fabrics: remove unused argument (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: add known admin effects to augument admin effects log page (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: init shadow doorbell after each reset (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: mark expected switch fall-through (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: mark nvme_core_init and nvme_core_exit static (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: protect discovery change log event list iteration (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: move command size checks to the core (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check more command sizes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-fabrics: check more command sizes (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove an unneeded variable initialization (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: unquiesce admin queue on shutdown (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: shutdown on timeout during deletion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: set 0 capacity if namespace block size exceeds PAGE_SIZE (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-rdma: fix a NULL deref when an admin connect times out (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-file: clamp-down file namespace lba_shift (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: include (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: rename nvme_completion instances from rsp to cqe (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-rdma: remove p2p_client initialization from fast-path (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: return a specified error it subsys_alloc fails (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix discover log page when offsets are used (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: never fail double namespace enablement (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: log the error status on Identify Namespace failure (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: tidy up nvme_map_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: add safety check for subsystem lock during nvmet_ns_changed (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: only call nvme_unmap_data for requests transferring data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove q_dmadev from nvme_queue (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: merge nvme_free_iod into nvme_unmap_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: move the call to nvme_cleanup_cmd out of nvme_unmap_data (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove nvme_init_iod (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: use a flag for polled queues (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add a rq_integrity_vec helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add dma_map_bvec helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [block] block: add a rq_dma_dir helper (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: use zero-sized array and struct_size() in kzalloc() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: remove unused nvme_iod member (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: avoid double errno conversions (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: avoid double dereference to convert le to cpu (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix error flow during ns enable (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add proper write zeroes setup for the multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: disable Write Zeroes for qemu controllers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: bring Disconnect into compliance with FC-NVME spec (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add proper discard setup for the multipath device (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: remove nvme_ns_config_oncs (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet-fc: fix issues with targetport assoc_list list walking (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: add get-feature to admin cmds tracer (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-loop: init nvmet_ctrl fatal_err_work when allocate (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: put ns_head ref if namespace fails allocation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-trace: fix cdw10 buffer overrun (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: don't warn on block content change effects (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: update comment to make the code easier to read (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: convert to SPDX identifiers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-lightnvm: convert to SPDX identifiers (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: return error from (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: avoid that deleting a controller triggers a circular locking complaint (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: introduce a helper function for controller deletion (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme: unexport nvme_delete_ctrl_sync() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvme-pci: check kstrtoint() return value in queue_count_set() (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [nvme] nvmet: fix indentation (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [lightnvm] lightnvm: simplify geometry (Gopal Tiwari) [1718463 1711181 1724950 1725066] - [powerpc] powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction (Gustavo Duarte) [1750653] - [powerpc] powerpc/tm: Fix restoring FP/VMX facility incorrectly on interrupts (Gustavo Duarte) [1750653] - [block] block: split .sysfs_lock into two locks (Ming Lei) [1697383] - [block] block: add helper for checking if queue is registered (Ming Lei) [1697383] - [block] blk-mq: don't hold q->sysfs_lock in blk_mq_map_swqueue (Ming Lei) [1697383] - [block] block: don't hold q->sysfs_lock in elevator_init_mq (Ming Lei) [1697383] - [block] block: Remove blk_mq_register_dev() (Ming Lei) [1697383] - [x86] KVM: X86: Fix fpu state crash in kvm guest (Prarit Bhargava) [1737070] - [x86] x86/fpu: Don't use current->mm to check for a kthread (Prarit Bhargava) [1737070] - [x86] x86/fpu: Update kernel's FPU state before using for the fsave header (Prarit Bhargava) [1737070] - [x86] x86/fpu: Use fault_in_pages_writeable() for pre-faulting (Prarit Bhargava) [1737070] - [mm] mm/gup: continue VM_FAULT_RETRY processing even for pre-faults (Prarit Bhargava) [1737070] - [x86] x86/fpu: Fault-in user stack if copy_fpstate_to_sigframe() fails (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Add PKRU value to init_fpstate (Prarit Bhargava) [1737070] - [x86] x86/fpu: Restore regs in copy_fpstate_to_sigframe() in order to use the fastpath (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add a fastpath to copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add a fastpath to __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Defer FPU state load until return to userspace (Prarit Bhargava) [1737070] - [x86] x86/fpu: Merge the two code paths in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Restore from kernel memory on the 64-bit path too (Prarit Bhargava) [1737070] - [x86] x86/fpu: Inline copy_user_to_fpregs_zeroing() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Update xstate's PKRU value on write_pkru() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Prepare copy_fpstate_to_sigframe() for TIF_NEED_FPU_LOAD (Prarit Bhargava) [1737070] - [x86] x86/fpu: Always store the registers in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/entry: Add TIF_NEED_FPU_LOAD (Prarit Bhargava) [1737070] - [x86] x86/fpu: Eager switch PKRU state (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Don't check if PKRU is zero before writing it (Prarit Bhargava) [1737070] - [x86] x86/fpu: Only write PKRU if it is different from current (Prarit Bhargava) [1737070] - [x86] x86/pkeys: Provide *pkru() helpers (Prarit Bhargava) [1737070] - [x86] x86/fpu: Use a feature number instead of mask in two more helpers (Prarit Bhargava) [1737070] - [x86] x86/fpu: Make __raw_xsave_addr() use a feature number instead of mask (Prarit Bhargava) [1737070] - [x86] x86/fpu: Add an __fpregs_load_activate() internal helper (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove user_fpu_begin() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized (Prarit Bhargava) [1737070] - [x86] x86/fpu: Don't save fxregs for ia32 frames in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized usage in copy_fpstate_to_sigframe() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Always init the state in fpu__clear() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove preempt_disable() in fpu__clear() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu__restore() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove fpu->initialized usage in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [x86] x86/entry: Remove unneeded need_resched() loop (Prarit Bhargava) [1737070] - [x86] x86/uaccess: Introduce user_access_{save, restore}() (Prarit Bhargava) [1737070] - [x86] x86/fpu: Fix i486 + no387 boot crash by only saving FPU registers on context switch if there is an FPU (Prarit Bhargava) [1737070] - [x86] x86/fpu: Remove second definition of fpu in __fpu__restore_sig() (Prarit Bhargava) [1737070] - [net] udp: correct reuseport selection with connected sockets (Paolo Abeni) [1665807] - [net] udp6: add missing rehash callback to udplite (Paolo Abeni) [1665807] - [net] udp: add missing rehash callback to udplite (Paolo Abeni) [1665807] - [net] udp6: prefer listeners bound to an address (Paolo Abeni) [1665807] - [net] udp: prefer listeners bound to an address (Paolo Abeni) [1665807] - [net] sched: fix race between deactivation and dequeue for NOLOCK qdisc (Davide Caratti) [1744397] - [net] check extack._msg before print (Ivan Vecera) [1751279] - [net] report invalid mtu value via netlink extack (Ivan Vecera) [1751279] - [net] report min and max mtu network device settings (Ivan Vecera) [1751279] - [net] failover: change mtu has RTNL (Ivan Vecera) [1751279] - [net] neigh: fix multiple neigh timer scheduling (Lorenzo Bianconi) [1730632] - [net] virtchnl: fix 'Unknown bps' in dmesg for 2.5Gb/5Gb speeds (Ivan Vecera) [1748437] - [net] Add a define for LLDP ethertype (Ivan Vecera) [1748428] - [net] devlink: Add support for direct reporter health state update (Petr Oros) [1746363] - [netdrv] Add IANA_VXLAN_UDP_PORT definition to vxlan header file (Ivan Vecera) [1731347] - [netdrv] Move the definition of the default Geneve udp port to public header file (Ivan Vecera) [1731347] - [net] openvswitch: Add a new action check_pkt_len (Numan Siddique) [1700733]- [pci] PCI: Add pci_dev_id() helper (Myron Stowe) [1735874] - [netdrv] ibmvnic: Warn unknown speed message only when carrier is present (Steve Best) [1749873] - [netdrv] net/ibmvnic: Fix missing { in __ibmvnic_reset (Steve Best) [1749873] - [netdrv] net/ibmvnic: free reset work of removed device from queue (Steve Best) [1749873] - [netdrv] ibmvnic: Do not process reset during or after device removal (Steve Best) [1749873] - [cpufreq] cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP (Alexander Beregalov) [1752053] - [char] hpet: Fix missing '=' character in the __setup() code of hpet_mmap_enable (Prarit Bhargava) [1660796] - [hwtracing] intel_th: pci: Add support for another Lewisburg PCH (Jiri Olsa) [1714486] - [x86] x86/entry/32: Fix ENDPROC of common_spurious (Prarit Bhargava) [1730447] - [x86] x86/irq: Seperate unused system vectors from spurious entry again (Prarit Bhargava) [1730447] - [vfio] vfio/type1: Handle different mdev isolation type (Tarun Gupta) [1498341] - [vfio] vfio/type1: Add domain at(de)taching group helpers (Tarun Gupta) [1498341] - [vfio] vfio/mdev: Add iommu related member in mdev_device (Tarun Gupta) [1498341] - [documentation] ipmb: place it at driver-api and convert to ReST (Tony Camuso) [1752071] - [char] ipmi_si_intf: Fix race in timer shutdown handling (Tony Camuso) [1752071] - [char] ipmi_ssif: avoid registering duplicate ssif interface (Tony Camuso) [1752071] - [char] ipmi: Free receive messages when in an oops (Tony Camuso) [1752071] - [char] ipmi_si: Only schedule continuously in the thread in maintenance mode (Tony Camuso) [1752071] - [char] ipmi_si: Remove ipmi_ from the device attr names (Tony Camuso) [1752071] - [char] ipmi_si: Convert device attr permissions to octal (Tony Camuso) [1752071] - [char] ipmi_si: Rework some include files (Tony Camuso) [1752071] - [char] ipmi_si: Convert timespec64 to timespec (Tony Camuso) [1752071] - [char] Fix uninitialized variable in ipmb_dev_int.c (Tony Camuso) [1752071] - [char] fix platform_no_drv_owner.cocci warnings (Tony Camuso) [1752071] - [char] ipmi: ipmb: don't allocate i2c_client on stack (Tony Camuso) [1752071] - [char] ipmi: ipmb: Fix build error while CONFIG_I2C is set to m (Tony Camuso) [1752071] - [char] Add support for IPMB driver (Tony Camuso) [1752071] - [char] drivers: ipmi: Drop device reference (Tony Camuso) [1752071] - [char] ipmi_ssif: fix unexpected driver unregister warning (Tony Camuso) [1752071] - [char] Add SPDX license identifier - Makefile/Kconfig (Tony Camuso) [1752071] - [char] ipmi_si: use bool type for initialized variable (Tony Camuso) [1752071] - [char] ipmi_si: fix unexpected driver unregister warning (Tony Camuso) [1752071] - [char] ipmi: Remove warning if no slave address is present (Tony Camuso) [1752071] - [char] ipmi:ssif: Only unregister the platform driver if it was registered (Tony Camuso) [1752071] - [char] ipmi: Add the i2c-addr property for SSIF interfaces (Tony Camuso) [1752071] - [char] ipmi: avoid atomic_inc in exit function (Tony Camuso) [1752071] - [char] ipmi: Remove file from ipmi_file_private (Tony Camuso) [1752071] - [char] ipmi_si: remove an unused variable in try_smi_init() (Tony Camuso) [1752071] - [char] ipmi: Make ipmi_interfaces_srcu variable static (Tony Camuso) [1752071] - [char] ipmi: Change to ktime_get_ts64() (Tony Camuso) [1752071] - [char] ipmi: Free the address list on module cleanup (Tony Camuso) [1752071] - [edac] EDAC, skx, i10nm: Fix source ID register offset (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Check ECC enabling status per channel (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Add Intel additional Ice-Lake support (Aristeu Rozanski) [1485543 1482412] - [x86] x86/CPU: Add more Icelake model numbers (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx, i10nm: Make skx_common.c a pure library (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_common: Add code to recognise new compound error code (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Fix randconfig builds (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, i10nm: Add a driver for Intel 10nm server processors (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_edac: Delete duplicated code (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_common: Separate common code out from skx_edac (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Let EDAC core show the decoded result for debugfs (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Move debugfs node under EDAC's hierarchy (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Prepend hex formatting with '0x' (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx: Fix function calling order in skx_exit() (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, skx_edac: Fix logical channel intermediate decoding (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting (Aristeu Rozanski) [1485543 1482412] - [edac] EDAC: Correct DIMM capacity unit symbol (Aristeu Rozanski) [1485543 1482412] - [x86] x86/mce: Add notifier_block forward declaration (Aristeu Rozanski) [1485543 1482412] - [netdrv] net: thunderx: fix NULL pointer dereference in nicvf_open/nicvf_stop (Dean Nelson) [1657380] - [netdrv] net: thunder: fix a potential NULL pointer dereference (Dean Nelson) [1657380] - [netdrv] net: thunderx: remove link change polling code and info from nicpf (Dean Nelson) [1657380] - [netdrv] net: thunderx: move link state polling function to VF (Dean Nelson) [1657380] - [netdrv] net: thunderx: add mutex to protect mailbox from concurrent calls for same VF (Dean Nelson) [1657380] - [netdrv] net: thunderx: rework xcast message structure to make it fit into 64 bit (Dean Nelson) [1657380] - [netdrv] net: thunderx: add nicvf_send_msg_to_pf result check for set_rx_mode_task (Dean Nelson) [1657380] - [netdrv] net: thunderx: make CFG_DONE message to run through generic send-ack sequence (Dean Nelson) [1657380] - [netdrv] net: thunderx: replace global nicvf_rx_mode_wq work queue for all VFs to private for each of them. (Dean Nelson) [1657380] - [netdrv] net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue (Dean Nelson) [1657380] - [x86] perf/x86/intel/rapl: Cosmetic rename internal variables in response to multi-die/pkg support (David Arcari) [1616309] - [x86] perf/x86/intel/uncore: Cosmetic renames in response to multi-die/pkg support (David Arcari) [1616309] - [hwmon] hwmon/coretemp: Cosmetic: Rename internal variables to zones from packages (David Arcari) [1616309] - [thermal] thermal/x86_pkg_temp_thermal: Cosmetic: Rename internal variables to zones from packages (David Arcari) [1616309] - [x86] perf/x86/intel/cstate: Support multi-die/package (David Arcari) [1616309] - [x86] perf/x86/intel/rapl: Support multi-die/package (David Arcari) [1616309] - [x86] perf/x86/intel/uncore: Support multi-die/package (David Arcari) [1616309] - [topology] topology: Create core_cpus and die_cpus sysfs attributes (David Arcari) [1616309] - [topology] topology: Create package_cpus sysfs attribute (David Arcari) [1616309] - [hwmon] hwmon/coretemp: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Update RAPL domain name and debug messages (David Arcari) [1616309] - [thermal] thermal/x86_pkg_temp_thermal: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Support multi-die/package (David Arcari) [1616309] - [powercap] powercap/intel_rapl: Simplify rapl_find_package() (David Arcari) [1616309] - [x86] x86/topology: Define topology_logical_die_id() (David Arcari) [1616309] - [x86] x86/topology: Define topology_die_id() (David Arcari) [1616309] - [topology] cpu/topology: Export die_id (David Arcari) [1616309] - [x86] x86/topology: Create topology_max_die_per_package() (David Arcari) [1616309] - [x86] x86/topology: Add CPUID.1F multi-die/package support (David Arcari) [1616309] - [x86] x86/smpboot: Rename match_die() to match_pkg() (David Arcari) [1616309] - [documentation] topology: Simplify cputopology.txt formatting and wording (David Arcari) [1616309] - [documentation] x86/topology: Fix documentation typo (David Arcari) [1616309] - [mm] mm: remove stale comment from page struct (Rafael Aquini) [1737065] - [mm] mm/slab.c: fix an infinite loop in leaks_show() (Rafael Aquini) [1737065] - [mm] mm/slub.c: update the comment about slab frozen (Rafael Aquini) [1737065] - [mm] mm/slab.c: remove unneed check in cpuup_canceled (Rafael Aquini) [1737065] - [mm] slub: remove useless kmem_cache_debug() before remove_full() (Rafael Aquini) [1737065] - [mm] slab: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slub: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slob: use slab_list instead of lru (Rafael Aquini) [1737065] - [mm] slob: respect list_head abstraction layer (Rafael Aquini) [1737065] - [mm] slab: fix a crash by reading /proc/slab_allocators (Rafael Aquini) [1737065] - [mm] mm: add support for kmem caches in DMA32 zone (Rafael Aquini) [1737065] - [mm] mm, slub: make the comment of put_cpu_partial() complete (Rafael Aquini) [1737065] - [mm] mm/slub.c: remove an unused addr argument (Rafael Aquini) [1737065] - [mm] mm/slab.c: kmemleak no scan alien caches (Rafael Aquini) [1737065] - [mm] mm/slub.c: freelist is ensured to be NULL when new_slab() fails (Rafael Aquini) [1737065] - [mm] slab: alien caches must not be initialized if the allocation of the alien cache failed (Rafael Aquini) [1737065] - [mm] include/linux/slab.h: fix sparse warning in kmalloc_type() (Rafael Aquini) [1737065] - [mm] mm/slub.c: record final state of slub action in deactivate_slab() (Rafael Aquini) [1737065] - [mm] mm/slub.c: page is always non-NULL in node_match() (Rafael Aquini) [1737065] - [mm] mm/slub.c: remove validation on cpu_slab in __flush_cpu_slab() (Rafael Aquini) [1737065] - [mm] mm, slab: remove unnecessary unlikely() (Rafael Aquini) [1737065] - [mm] mm: move obj_to_index to include/linux/slab_def.h (Rafael Aquini) [1737065] - [mm] slab: make kmem_cache_create{_usercopy} description proper kernel-doc (Rafael Aquini) [1737065] - [mm] slub: extend slub debug to handle multiple slabs (Rafael Aquini) [1737065] - [mm] mm/slub.c: switch to bitmap_zalloc() (Rafael Aquini) [1737065] - [fs] io_uring: add need_resched() check in inner poll loop (Jeff Moyer) [1706143] - [fs] io_uring: don't enter poll loop if we have CQEs pending (Jeff Moyer) [1706143] - [fs] io_uring: fix potential hang with polled IO (Jeff Moyer) [1706143] - [fs] io_uring: fix an issue when IOSQE_IO_LINK is inserted into defer list (Jeff Moyer) [1706143] - [fs] io_uring: fix manual setup of iov_iter for fixed buffers (Jeff Moyer) [1706143] - [fs] io_uring: fix KASAN use after free in io_sq_wq_submit_work (Jeff Moyer) [1706143] - [fs] io_uring: ensure ->list is initialized for poll commands (Jeff Moyer) [1706143] - [fs] io_uring: track io length in async_list based on bytes (Jeff Moyer) [1706143] - [fs] io_uring: don't use iov_iter_advance() for fixed buffers (Jeff Moyer) [1706143] - [fs] io_uring: add a memory barrier before atomic_read (Jeff Moyer) [1706143] - [fs] io_uring: fix counter inc/dec mismatch in async_list (Jeff Moyer) [1706143] - [fs] io_uring: fix the sequence comparison in io_sequence_defer (Jeff Moyer) [1706143] - [fs] io_uring: fix io_sq_thread_stop running in front of io_sq_thread (Jeff Moyer) [1706143] - [include] io_uring: add support for recvmsg() (Jeff Moyer) [1706143] - [include] io_uring: add support for sendmsg() (Jeff Moyer) [1706143] - [fs] signal: remove the wrong signal_pending() check in restore_user_sigmask() (Jeff Moyer) [1706143] - [fs] io_uring: add support for sqe links (Jeff Moyer) [1706143] - [fs] io_uring: ensure req->file is cleared on allocation (Jeff Moyer) [1706143] - [fs] io_uring: fix memory leak of UNIX domain socket inode (Jeff Moyer) [1706143] - [fs] io_uring: punt short reads to async context (Jeff Moyer) [1706143] - [fs] uio: make import_iovec()/compat_import_iovec() return bytes on success (Jeff Moyer) [1706143] - [fs] io_uring: Fix __io_uring_register() false success (Jeff Moyer) [1706143] - [tools] tools/io_uring: sync with liburing (Jeff Moyer) [1706143] - [tools] tools/io_uring: fix Makefile for pthread library link (Jeff Moyer) [1706143] - [fs] io_uring: use wait_event_interruptible for cq_wait conditional wait (Jeff Moyer) [1706143] - [fs] io_uring: adjust smp_rmb inside io_cqring_events (Jeff Moyer) [1706143] - [fs] io_uring: fix infinite wait in khread_park() on io_finish_async() (Jeff Moyer) [1706143] - [fs] io_uring: remove 'ev_flags' argument (Jeff Moyer) [1706143] - [fs] io_uring: fix failure to verify SQ_AFF cpu (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition reading SQE data (Jeff Moyer) [1706143] - [fs] io_uring: use cpu_online() to check p->sq_thread_cpu instead of cpu_possible() (Jeff Moyer) [1706143] - [fs] io_uring: fix shadowed variable ret return code being not checked (Jeff Moyer) [1706143] - [fs] req->error only used for iopoll (Jeff Moyer) [1706143] - [fs] io_uring: add support for eventfd notifications (Jeff Moyer) [1706143] - [fs] io_uring: add support for IORING_OP_SYNC_FILE_RANGE (Jeff Moyer) [1706143] - [fs] fs: add sync_file_range() helper (Jeff Moyer) [1706143] - [fs] io_uring: add support for marking commands as draining (Jeff Moyer) [1706143] - [fs] io_uring: avoid page allocation warnings (Jeff Moyer) [1706143] - [include] iov_iter: fix iov_iter_type (Jeff Moyer) [1706143] - [fs] block: fix handling for BIO_NO_PAGE_REF (Jeff Moyer) [1706143] - [fs] io_uring: drop req submit reference always in async punt (Jeff Moyer) [1706143] - [fs] io_uring: free allocated io_memory once (Jeff Moyer) [1706143] - [fs] io_uring: fix SQPOLL cpu validation (Jeff Moyer) [1706143] - [fs] io_uring: have submission side sqe errors post a cqe (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after unsetting IORING_SQ_NEED_WAKEUP (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after incrementing dropped counter (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before reading SQ tail (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier after updating SQ head (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before reading cq head (Jeff Moyer) [1706143] - [fs] io_uring: remove unnecessary barrier before wq_has_sleeper (Jeff Moyer) [1706143] - [fs] io_uring: fix notes on barriers (Jeff Moyer) [1706143] - [fs] io_uring: fix handling SQEs requesting NOWAIT (Jeff Moyer) [1706143] - [fs] io_uring: remove 'state' argument from io_{read,write} path (Jeff Moyer) [1706143] - [fs] io_uring: fix poll full SQ detection (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition when sq threads goes sleeping (Jeff Moyer) [1706143] - [fs] io_uring: fix race condition reading SQ entries (Jeff Moyer) [1706143] - [fs] io_uring: fail io_uring_register(2) on a dying io_uring instance (Jeff Moyer) [1706143] - [fs] io_uring: fix CQ overflow condition (Jeff Moyer) [1706143] - [fs] io_uring: fix possible deadlock between io_uring_{enter,register} (Jeff Moyer) [1706143] - [powerpc] arch: add pidfd and io_uring syscalls everywhere (Jeff Moyer) [1706143] - [fs] io_uring: drop io_file_put() 'file' argument (Jeff Moyer) [1706143] - [fs] io_uring: only test SQPOLL cpu after we've verified it (Jeff Moyer) [1706143] - [fs] io_uring: park SQPOLL thread if it's percpu (Jeff Moyer) [1706143] - [fs] io_uring: restrict IORING_SETUP_SQPOLL to root (Jeff Moyer) [1706143] - [tools] tools/io_uring: remove IOCQE_FLAG_CACHEHIT (Jeff Moyer) [1706143] - [fs] io_uring: fix double free in case of fileset regitration failure (Jeff Moyer) [1706143] - [fs] io_uring: offload write to async worker in case of -EAGAIN (Jeff Moyer) [1706143] - [fs] io_uring: fix big-endian compat signal mask handling (Jeff Moyer) [1706143] - [fs] block: add BIO_NO_PAGE_REF flag (Jeff Moyer) [1706143] - [fs] iov_iter: add ITER_BVEC_FLAG_NO_REF flag (Jeff Moyer) [1706143] - [maintainers] io_uring: mark me as the maintainer (Jeff Moyer) [1706143] - [fs] io_uring: retry bulk slab allocs as single allocs (Jeff Moyer) [1706143] - [fs] io_uring: fix poll races (Jeff Moyer) [1706143] - [fs] io_uring: fix fget/fput handling (Jeff Moyer) [1706143] - [fs] io_uring: add prepped flag (Jeff Moyer) [1706143] - [fs] io_uring: make io_read/write return an integer (Jeff Moyer) [1706143] - [fs] io_uring: use regular request ref counts (Jeff Moyer) [1706143] - [fs] mm: refactor readahead defines in mm.h (Jeff Moyer) [1706143] - [tools] io_uring: add a few test tools (Jeff Moyer) [1706143] - [fs] io_uring: allow workqueue item to handle multiple buffered requests (Jeff Moyer) [1706143] - [fs] io_uring: add support for IORING_OP_POLL (Jeff Moyer) [1706143] - [fs] io_uring: add io_kiocb ref count (Jeff Moyer) [1706143] - [fs] io_uring: add submission polling (Jeff Moyer) [1706143] - [fs] io_uring: add file set registration (Jeff Moyer) [1706143] - [net] net: split out functions related to registering inflight socket files (Jeff Moyer) [1706143] - [include] io_uring: add support for pre-mapped user IO buffers (Jeff Moyer) [1706143] - [block] block: implement bio helper to add iter bvec pages to bio (Jeff Moyer) [1706143] - [fs] io_uring: batch io_kiocb allocation (Jeff Moyer) [1706143] - [fs] io_uring: use fget/fput_many() for file references (Jeff Moyer) [1706143] - [fs] fs: add fget_many() and fput_many() (Jeff Moyer) [1706143] - [fs] io_uring: support for IO polling (Jeff Moyer) [1706143] - [fs] io_uring: add fsync support (Jeff Moyer) [1706143] - [include] Add io_uring IO interface (Jeff Moyer) [1706143] - [fs] iomap: wire up the iopoll method (Jeff Moyer) [1706143] - [fs] block: add bio_set_polled() helper (Jeff Moyer) [1706143] - [fs] block: wire up block device iopoll method (Jeff Moyer) [1706143] - [fs] signal: Add restore_user_sigmask() (Jeff Moyer) [1706143] - [fs] signal: Add set_user_sigmask() (Jeff Moyer) [1706143] - [net] iov_iter: Fix 9p virtio breakage (Benjamin Coddington) [1734762] - [lib] iov_iter: Add I/O discard iterator (Benjamin Coddington) [1734762] - [fs] iov_iter: Separate type from direction and use accessor functions (Benjamin Coddington) [1734762] - [fs] iov_iter: Use accessor function (Benjamin Coddington) [1734762]- [kernel] ftrace/x86: Anotate text_mutex split between ftrace_arch_code_modify_post_process() and ftrace_arch_code_modify_prepare() (Joe Lawrence) [1696461] - [kernel] ftrace/x86: Remove possible deadlock between register_kprobe() and ftrace_run_update_code() (Joe Lawrence) [1696461] - [kernel] Revert "livepatch: Remove reliable stacktrace check in klp_try_switch_task()" (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: push and pop dynamic debug config (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: add test skip handling (Joe Lawrence) [1696461] - [kernel] module: Fix livepatch/ftrace module text permissions race (Joe Lawrence) [1696461] - [kernel] kprobes: Mark ftrace mcount handler functions nokprobe (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: use TEST_PROGS for test scripts (Joe Lawrence) [1696461] - [kernel] livepatch/selftests: use "$@" to preserve argument list (Joe Lawrence) [1696461] - [kernel] livepatch: Module coming and going callbacks can proceed with all listed patches (Joe Lawrence) [1696461] - [kernel] livepatch: Proper error handling in the shadow variables selftest (Joe Lawrence) [1696461] - [kernel] livepatch: return -ENOMEM on ptr_id() allocation failure (Joe Lawrence) [1696461] - [kernel] livepatch: Introduce klp_for_each_patch macro (Joe Lawrence) [1696461] - [kernel] livepatch: core: Return EOPNOTSUPP instead of ENOSYS (Joe Lawrence) [1696461] - [kernel] livepatch: samples: non static warnings fix (Joe Lawrence) [1696461] - [kernel] livepatch: Remove signal sysfs attribute (Joe Lawrence) [1696461] - [kernel] livepatch: Send a fake signal periodically (Joe Lawrence) [1696461] - [kernel] selftests/livepatch: introduce tests (Joe Lawrence) [1696461] - [kernel] livepatch: Remove ordering (stacking) of the livepatches (Joe Lawrence) [1696461] - [kernel] livepatch: Atomic replace and cumulative patches documentation (Joe Lawrence) [1696461] - [kernel] livepatch: Remove Nop structures when unused (Joe Lawrence) [1696461] - [kernel] livepatch: Add atomic replace (Joe Lawrence) [1696461] - [kernel] livepatch: Use lists to manage patches, objects and functions (Joe Lawrence) [1696461] - [kernel] livepatch: Simplify API by removing registration step (Joe Lawrence) [1696461] - [kernel] livepatch: Don't block the removal of patches loaded after a forced transition (Joe Lawrence) [1696461] - [kernel] livepatch: Consolidate klp_free functions (Joe Lawrence) [1696461] - [kernel] livepatch: Shuffle klp_enable_patch()/klp_disable_patch() code (Joe Lawrence) [1696461] - [kernel] livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func (Joe Lawrence) [1696461] - [kernel] livepatch: check kzalloc return values (Joe Lawrence) [1696461] - [kernel] livepatch: Replace synchronize_sched() with synchronize_rcu() (Joe Lawrence) [1696461] - [kernel] livepatch: Validate module/old func name length (Joe Lawrence) [1696461] - [kernel] livepatch: Remove reliable stacktrace check in klp_try_switch_task() (Joe Lawrence) [1696461] - [pci] PCI/LINK: Add Kconfig option (default off) (Myron Stowe) [1748141] - [pci] PCI/portdrv: Use shared MSI/MSI-X vector for Bandwidth Management (Myron Stowe) [1748141] - [pci] PCI: Fix issue with "pci=disable_acs_redir" parameter being ignored (Myron Stowe) [1748141] - [pci] PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller (Myron Stowe) [1748141] - [pci] PCI/LINK: Deduplicate bandwidth reports for multi-function devices (Myron Stowe) [1748141] - [pci] PCI/LINK: Clear bandwidth notification interrupt before enabling it (Myron Stowe) [1748141] - [pci] PCI/LINK: Supply IRQ handler so level-triggered IRQs are acked (Myron Stowe) [1748141] - [pci] PCI/LINK: Report degraded links via link bandwidth notification (Myron Stowe) [1748141] - [pci] PCI/portdrv: Support PCIe services on subtractive decode bridges (Myron Stowe) [1748141] - [pci] PCI/portdrv: Use conventional Device ID table formatting (Myron Stowe) [1748141] - [pci] PCI: Update PCIEPORTBUS Kconfig help text (Myron Stowe) [1748141] - [pci] PCI: Clean up usage of __u32 type (Myron Stowe) [1748141] - [pci] PCI: Move Rohm Vendor ID to generic list (Myron Stowe) [1748141] - [pci] PCI: pciehp: Add HXT quirk for Command Completed errata (Myron Stowe) [1748141] - [pci] PCI: Add ACS quirk for HXT SD4800 (Myron Stowe) [1748141] - [pci] PCI: Add HXT vendor ID (Myron Stowe) [1748141] - [pci] PCI: Use of_node_name_eq() for node name comparisons (Myron Stowe) [1748141] - [pci] PCI: Mark expected switch fall-through (Myron Stowe) [1748141] - [pci] PCI: ibmphp: Turn semaphores into completions or mutexes (Myron Stowe) [1748141] - [pci] x86/PCI: Fixup RTIT_BAR of Intel Denverton Trace Hub (Myron Stowe) [1748141] - [pci] PCI: Rely on config space header type, not class code (Myron Stowe) [1748141] - [pci] PCI: Make pci_size() return real BAR size (Myron Stowe) [1748141] - [pci] PCI/DPC: Fix print AER status in DPC event handling (Myron Stowe) [1748141] - [pci] PCI/ASPM: Save LTR Capability for suspend/resume (Myron Stowe) [1748141] - [pci] PCI/ASPM: Use LTR if already enabled by platform (Myron Stowe) [1748141] - [pci] PCI: Enable SERR# forwarding for all bridges (Myron Stowe) [1748141] - [pci] PCI/AER: Use match_string() helper to simplify the code (Myron Stowe) [1748141] - [fs] gfs2: Use async glocks for rename (Robert S Peterson) [1737561] - [fs] gfs2: create function gfs2_glock_update_hold_time (Robert S Peterson) [1737561] - [fs] gfs2: separate holder for rgrps in gfs2_rename (Robert S Peterson) [1737561] - [netdrv] net: aquantia: reapply vlan filters on up (Igor Russkikh) [1740500] - [s390] s390/setup: Fix kernel lock down for s390 (Philipp Rudo) [1748343] - [powerpc] kvm: ppc: book3s hv: Fix XICS-on-XIVE H_IPI when priority = 0 (David Gibson) [1725800] - [s390] vfio-ap: fix irq registration (Thomas Huth) [1660910] - [s390] ap: kvm: Enable PQAP/AQIC facility for the guest (Thomas Huth) [1660910] - [s390] ap: implement PAPQ AQIC interception in kernel (Thomas Huth) [1660910] - [s390] vfio: ap: register IOMMU VFIO notifier (Thomas Huth) [1660910] - [s390] ap: kvm: add PQAP interception for AQIC (Thomas Huth) [1660910] - [s390] kvm: s390: Do not leak kernel stack data in the KVM_S390_INTERRUPT ioctl (Thomas Huth) [1749503] - [s390] kvm: s390: vsie: Return correct values for Invalid CRYCB format (Thomas Huth) [1749503] - [s390] kvm: s390: vsie: Do not shadow CRYCB when no AP and no keys (Thomas Huth) [1749503] - [s390] kvm: s390: change default halt poll time to 50us (Thomas Huth) [1749503] - [s390] kvm: s390: fix typo in parameter description (Thomas Huth) [1749503] - [s390] kvm: s390: provide kvm_arch_no_poll function (Thomas Huth) [1749503] - [kernel] kvm: polling: add architecture backend to disable polling (Thomas Huth) [1749503] - [s390] vtime: steal time exponential moving average (Thomas Huth) [1749503] - [tools] kvm: selftests: fix ucall on x86 (Thomas Huth) [1730412] - [tools] kvm: selftests: Test invalid bits in kvm_valid_regs and kvm_dirty_regs on s390x (Thomas Huth) [1730412] - [s390] kvm: s390: Disallow invalid bits in kvm_valid_regs and kvm_dirty_regs (Thomas Huth) [1730412] - [tools] kvm: selftests: Add a test for the KVM_S390_MEM_OP ioctl (Thomas Huth) [1730412] - [s390] kvm: s390: Test for bad access register and size at the start of S390_MEM_OP (Thomas Huth) [1730412] - [tools] kvm: selftests: Enable dirty_log_test on s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Implement ucall() for s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Split ucall.c into architecture specific files (Thomas Huth) [1730412] - [tools] kvm: selftests: ucall improvements (Thomas Huth) [1730412] - [tools] kvm: selftests: aarch64: dirty_log_test: fix unaligned memslot size (Thomas Huth) [1730412] - [tools] kvm: selftests: Compile code with warnings enabled (Thomas Huth) [1730412] - [tools] kvm: selftests: enable pgste option for the linker on s390 (Thomas Huth) [1730412] - [tools] kvm: selftests: Move kvm_create_max_vcpus test to generic code (Thomas Huth) [1730412] - [virt] kvm: s390: Do not report unusabled IDs via KVM_CAP_MAX_VCPU_ID (Thomas Huth) [1730412] - [documentation] kvm: move KVM_CAP_NR_MEMSLOTS to common code (Thomas Huth) [1730412] - [tools] kvm: selftests: Add the sync_regs test for s390x (Thomas Huth) [1730412] - [s390] kvm: s390: fix memory slot handling for KVM_SET_USER_MEMORY_REGION (Thomas Huth) [1730412] - [tools] kvm: selftests: Add processor code for s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Align memory region addresses to 1M on s390x (Thomas Huth) [1730412] - [tools] kvm: selftests: Introduce a VM_MODE_DEFAULT macro for the default bits (Thomas Huth) [1730412] - [tools] kvm: selftests: aarch64: fix default vm mode (Thomas Huth) [1730412] - [tools] kvm: selftests: Guard struct kvm_vcpu_events with __KVM_HAVE_VCPU_EVENTS (Thomas Huth) [1730412] - [tools] kvm: selftests: Wrap vcpu_nested_state_get/set functions with x86 guard (Thomas Huth) [1730412]- [fs] xfs: fix missing ILOCK unlock when xfs_setattr_nonsize fails due to EDQUOT (Bill O'Donnell) [1739607] - [fs] xfs: fix reflink source file racing with directio writes (Bill O'Donnell) [1739607] - [fs] xfs: implement cgroup aware writeback (Bill O'Donnell) [1274406] - [fs] xfs: simplify xfs_chain_bio (Bill O'Donnell) [1274406] - [fs] xfs: inode btree scrubber should calculate im_boffset correctly (Bill O'Donnell) [1739607] - [fs] xfs: fix broken log reservation debugging (Bill O'Donnell) [1739607] - [fs] xfs: don't reserve per-AG space for an internal log (Bill O'Donnell) [1739607] - [fs] xfs: change some error-less functions to void types (Bill O'Donnell) [1739607] - [fs] xfs: add online scrub for superblock counters (Bill O'Donnell) [1739607] - [fs] xfs: don't parse the mtpt mount option (Bill O'Donnell) [1739607] - [fs] xfs: scrub should check incore counters against ondisk headers (Bill O'Donnell) [1739607] - [fs] xfs: allow scrubbers to pause background reclaim (Bill O'Donnell) [1739607] - [fs] xfs: rename the speculative block allocation reclaim toggle functions (Bill O'Donnell) [1739607] - [fs] xfs: track delayed allocation reservations across the filesystem (Bill O'Donnell) [1739607] - [fs] xfs: fix broken bhold behavior in xrep_roll_ag_trans (Bill O'Donnell) [1739607] - [fs] xfs: unlock inode when xfs_ioctl_setattr_get_trans can't get transaction (Bill O'Donnell) [1739607] - [fs] xfs: kill the xfs_dqtrx_t typedef (Bill O'Donnell) [1739607] - [fs] xfs: widen inode delalloc block counter to 64-bits (Bill O'Donnell) [1739607] - [fs] xfs: widen quota block counters to 64-bit integers (Bill O'Donnell) [1739607] - [fs] xfs: assert that we don't enter agfl freeing with a non-permanent transaction (Bill O'Donnell) [1739607] - [fs] xfs: make tr_growdata a permanent transaction (Bill O'Donnell) [1739607] - [fs] xfs: merge adjacent io completions of the same type (Bill O'Donnell) [1739607] - [fs] xfs: remove unused m_data_workqueue (Bill O'Donnell) [1739607] - [fs] xfs: implement per-inode writeback completion queues (Bill O'Donnell) [1739607] - [fs] xfs: scrub should only cross-reference with healthy btrees (Bill O'Donnell) [1739607] - [fs] xfs: scrub/repair should update filesystem metadata health (Bill O'Donnell) [1739607] - [fs] xfs: hoist the already_fixed variable to the scrub context (Bill O'Donnell) [1739607] - [fs] xfs: collapse scrub bool state flags into a single unsigned int (Bill O'Donnell) [1739607] - [fs] xfs: refactor scrub context initialization (Bill O'Donnell) [1739607] - [fs] xfs: report inode health via bulkstat (Bill O'Donnell) [1739607] - [fs] xfs: report AG health via AG geometry ioctl (Bill O'Donnell) [1739607] - [fs] xfs: report fs and rt health via geometry structure (Bill O'Donnell) [1739607] - [fs] xfs: add a new ioctl to describe allocation group geometry (Bill O'Donnell) [1739607] - [fs] xfs: bump XFS_IOC_FSGEOMETRY to v5 structures (Bill O'Donnell) [1739607] - [fs] xfs: clear BAD_SUMMARY if unmounting an unhealthy filesystem (Bill O'Donnell) [1739607] - [fs] xfs: replace the BAD_SUMMARY mount flag with the equivalent health code (Bill O'Donnell) [1739607] - [fs] xfs: track metadata health status (Bill O'Donnell) [1739607] - [fs] xfs,fstrim: fix to return correct minlen (Bill O'Donnell) [1739607] - [fs] xfs: shutdown after buf release in iflush cluster abort path (Bill O'Donnell) [1739607] - [fs] xfs: wake commit waiters on CIL abort before log item abort (Bill O'Donnell) [1739607] - [fs] xfs: fix btree scrub checking with regards to root-in-inode (Bill O'Donnell) [1739607] - [fs] xfs: dabtree scrub needs to range-check level (Bill O'Donnell) [1739607] - [fs] xfs: clean up xfs_dir2_leaf_addname (Bill O'Donnell) [1739607] - [fs] xfs: zero initialize highstale and lowstale in xfs_dir2_leaf_addname (Bill O'Donnell) [1739607] - [fs] xfs: clean up xfs_dir2_leafn_add (Bill O'Donnell) [1739607] - [fs] xfs: Zero initialize highstale and lowstale in xfs_dir2_leafn_add (Bill O'Donnell) [1739607] - [fs] xfs: fix backwards endian conversion in scrub (Bill O'Donnell) [1739607] - [fs] xfs: fix uninitialized error variables (Bill O'Donnell) [1739607] - [fs] xfs: rework breaking of shared extents in xfs_file_iomap_begin (Bill O'Donnell) [1739607] - [fs] xfs: don't pass iomap flags to xfs_reflink_allocate_cow (Bill O'Donnell) [1739607] - [fs] xfs: fix uninitialized error variable (Bill O'Donnell) [1739607] - [fs] xfs: introduce an always_cow mode (Bill O'Donnell) [1739607] - [fs] xfs: report IOMAP_F_SHARED from xfs_file_iomap_begin_delay (Bill O'Donnell) [1739607] - [fs] xfs: make COW fork unwritten extent conversions more robust (Bill O'Donnell) [1739607] - [fs] xfs: merge COW handling into xfs_file_iomap_begin_delay (Bill O'Donnell) [1739607] - [fs] xfs: also truncate holes covered by COW blocks (Bill O'Donnell) [1739607] - [fs] xfs: don't use delalloc extents for COW on files with extsize hints (Bill O'Donnell) [1739607] - [fs] xfs: fix SEEK_DATA for speculative COW fork preallocation (Bill O'Donnell) [1739607] - [fs] xfs: make xfs_bmbt_to_iomap more useful (Bill O'Donnell) [1739607] - [fs] xfs: fix xfs_buf magic number endian checks (Bill O'Donnell) [1739607] - [fs] xfs: retry COW fork delalloc conversion when no extent was found (Bill O'Donnell) [1739607] - [fs] xfs: remove the truncate short cut in xfs_map_blocks (Bill O'Donnell) [1739607] - [fs] xfs: move xfs_iomap_write_allocate to xfs_aops.c (Bill O'Donnell) [1739607] - [fs] xfs: move stat accounting to xfs_bmapi_convert_delalloc (Bill O'Donnell) [1739607] - [fs] xfs: move transaction handling to xfs_bmapi_convert_delalloc (Bill O'Donnell) [1739607] - [fs] xfs: split XFS_BMAPI_DELALLOC handling from xfs_bmapi_write (Bill O'Donnell) [1739607] - [fs] xfs: factor out two helpers from xfs_bmapi_write (Bill O'Donnell) [1739607] - [fs] xfs: simplify the xfs_bmap_btree_to_extents calling conventions (Bill O'Donnell) [1739607] - [fs] xfs: remove the s_maxbytes checks in xfs_map_blocks (Bill O'Donnell) [1739607] - [fs] xfs: remove the io_type field from the writeback context and ioend (Bill O'Donnell) [1739607] - [fs] xfs: compile time offset checks for common v4/v5 metadata (Bill O'Donnell) [1739607] - [fs] xfs: use buf ops magic to detect btree block type (Bill O'Donnell) [1739607] - [fs] xfs: add magic numbers to dquot buffer ops (Bill O'Donnell) [1739607] - [fs] xfs: add inode magic to inode verifier (Bill O'Donnell) [1739607] - [fs] xfs: factor xfs_da3_blkinfo verification into common helper (Bill O'Donnell) [1739607] - [fs] xfs: miscellaneous verifier magic value fixups (Bill O'Donnell) [1739607] - [fs] xfs: use verifier magic field in dir2 leaf verifiers (Bill O'Donnell) [1739607] - [fs] xfs: distinguish between bnobt and cntbt magic values (Bill O'Donnell) [1739607] - [fs] xfs: split up allocation btree verifier (Bill O'Donnell) [1739607] - [fs] xfs: distinguish between inobt and finobt magic values (Bill O'Donnell) [1739607] - [fs] xfs: create a separate finobt verifier (Bill O'Donnell) [1739607] - [fs] xfs: always check magic values in on-disk byte order (Bill O'Donnell) [1739607] - [fs] xfs: clarify documentation for the function to reverify buffers (Bill O'Donnell) [1739607] - [fs] xfs: cache unlinked pointers in an rhashtable (Bill O'Donnell) [1739607] - [fs] xfs: add tracepoints for high level iunlink operations (Bill O'Donnell) [1739607] - [fs] xfs: refactor inode update in iunlink_remove (Bill O'Donnell) [1739607] - [fs] xfs: refactor unlinked list search and mapping to a separate function (Bill O'Donnell) [1739607] - [fs] xfs: refactor inode unlinked pointer update functions (Bill O'Donnell) [1739607] - [fs] xfs: strengthen AGI unlinked inode bucket pointer checks (Bill O'Donnell) [1739607] - [fs] xfs: refactor AGI unlinked bucket updates (Bill O'Donnell) [1739607] - [fs] xfs: add xfs_verify_agino_or_null helper (Bill O'Donnell) [1739607] - [fs] xfs: clean up iunlink functions (Bill O'Donnell) [1739607] - [fs] xfs: Introduce XFS_PTAG_VERIFIER_ERROR panic mask (Bill O'Donnell) [1739607] - [fs] xfs: remove duplicated xfs_defer.h (Bill O'Donnell) [1739607] - [fs] xfs: check attribute name validity (Bill O'Donnell) [1739607] - [fs] xfs: check directory name validity (Bill O'Donnell) [1739607] - [fs] xfs: fix off-by-one error in rtbitmap cross-reference (Bill O'Donnell) [1739607] - [fs] xfs: scrub should flag dir/attr offsets that aren't mappable with xfs_dablk_t (Bill O'Donnell) [1739607] - [fs] xfs: abort xattr scrub if fatal signals are pending (Bill O'Donnell) [1739607] - [fs] xfs: consolidate scrub dinode mapping code into a single function (Bill O'Donnell) [1739607] - [fs] xfs: scrub big block inode btrees correctly (Bill O'Donnell) [1739607] - [fs] xfs: clean up the inode cluster checking in the inobt scrub (Bill O'Donnell) [1739607] - [fs] xfs: hoist inode cluster checks out of loop (Bill O'Donnell) [1739607] - [fs] xfs: check inobt record alignment on big block filesystems (Bill O'Donnell) [1739607] - [fs] xfs: check the ir_startino alignment directly (Bill O'Donnell) [1739607] - [fs] xfs: never try to scrub more than 64 inodes per inobt record (Bill O'Donnell) [1739607] - [powerpc] powerpc: Allow flush_(inval_)dcache_range to work across ranges >4GB (Steve Best) [1744062] - [scsi] scsi: lpfc: Fix port relogin failure due to GID_FT interaction (Dick Kennedy) [1733217] - [rpmspec] redhat: Fix error messages during build of zfcpdump kernel (Philipp Rudo) [1745652] - [s390] s390/protvirt: avoid memory sharing for diag 308 set/store (Philipp Rudo) [1745614] - [infiniband] IB/hfi1: Remove extra brackets from an if (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Fix style, spacing and grammar in I/O section (Petr Oros) [1737066] - [powerpc] arch: Remove dummy mmiowb() definitions from arch code (Petr Oros) [1737066] - [netdrv] net/ethernet/silan/sc92031: Remove stale comment about mmiowb() (Petr Oros) [1737066] - [infiniband] i40iw: Redefine i40iw_mmiowb() to do nothing (Petr Oros) [1737066] - [scsi] scsi/qla1280: Remove stale comment about mmiowb() (Petr Oros) [1737066] - [netdrv] drivers: Remove explicit invocations of mmiowb() (Petr Oros) [1737066] - [infiniband] drivers: Remove useless trailing comments from mmiowb() invocations (Petr Oros) [1737066] - [documentation] Documentation: Kill all references to mmiowb() (Petr Oros) [1737066] - [riscv] riscv/mmiowb: Hook up mmwiob() implementation to asm-generic code (Petr Oros) [1737066] - [powerpc] powerpc/mmiowb: Hook up mmwiob() implementation to asm-generic code (Petr Oros) [1737066] - [nds32] nds32/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [x86] x86/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [arm64] arm64/io: Remove useless definition of mmiowb() (Petr Oros) [1737066] - [include] mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors (Petr Oros) [1737066] - [arm64] arch: Use asm-generic header for asm/mmiowb.h (Petr Oros) [1737066] - [kernel] asm-generic/mmiowb: Add generic implementation of mmiowb() tracking (Petr Oros) [1737066] - [documentation] docs/memory-barriers.txt: Rewrite "KERNEL I/O BARRIER EFFECTS" section (Petr Oros) [1737066] - [s390] s390/cpum_sf: save TOD clock base in SDBs for time conversion (Philipp Rudo) [1743504] - [net] netns: provide pure entropy for net_hash_mix() (Paolo Abeni) [1737439] {CVE-2019-10639} - [net] netns: get more entropy from net_hash_mix() (Paolo Abeni) [1737439] {CVE-2019-10639} - [netdrv] net: phy: improve pause handling (Petr Oros) [1735763] - [netdrv] net: phy: fix reading fixed phy status (Petr Oros) [1735763] - [netdrv] net: phy: allow a PHY driver to define neither features nor get_features (Petr Oros) [1735763] - [netdrv] net: phy: Add support for asking the PHY its abilities (Petr Oros) [1735763] - [netdrv] net: phy: use genphy_read_abilities in genphy driver (Petr Oros) [1735763] - [netdrv] net: phy: add genphy_read_abilities (Petr Oros) [1735763] - [netdrv] net: phy: let genphy_c45_read_abilities also check aneg capability (Petr Oros) [1735763] - [netdrv] net: phy: Add generic support for 2.5GBaseT and 5GBaseT (Petr Oros) [1735763] - [netdrv] net: phy: Extract genphy_c45_pma_read_abilities from marvell10g (Petr Oros) [1735763] - [netdrv] net: phy: Move of_set_phy_eee_broken to phy-core.c (Petr Oros) [1735763] - [netdrv] net: phy: Mask-out non-compatible modes when setting the max-speed (Petr Oros) [1735763] - [netdrv] net: phy: don't allow __set_phy_supported to add unsupported modes (Petr Oros) [1735763] - [netdrv] net: phy: remove unneeded masking of PHY register read results (Petr Oros) [1735763] - [netdrv] net: phy: probe the PHY before determining the supported features (Petr Oros) [1735763] - [rpmspec] fix package summary and description for some kernel subpackages ("Herton R. Krzesinski") [1656863] - [fs] mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses (Jeff Moyer) [1743159] - [mm] mm/huge_memory.c: fix modifying of page protection by insert_pfn_pmd() (Jeff Moyer) [1743159] - [arm64] arm64: disable improved unwind tables (Mark Langsdorf) [1684694] - [arm64] arm64/stacktrace: Export save_stack_trace_regs() (Mark Langsdorf) [1684694] - [fs] nfs4: flex_file: ignore synthetic uid/gid for tightly coupled DSes (Steve Dickson) [1655712] - [include] futex: Update comments and docs about return values of arch futex code (Waiman Long) [1737058] - [arm64] arm64: futex: Avoid copying out uninitialised stack in failed cmpxchg() (Waiman Long) [1737058] - [arm64] arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP (Waiman Long) [1737058] - [kernel] locking/futex: Allow low-level atomic operations to return -EAGAIN (Waiman Long) [1737058] - [arm64] arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value (Waiman Long) [1737058] - [kernel] futex: Ensure that futex address is aligned in handle_futex_death() (Waiman Long) [1737058] - [kernel] futex: Convert futex_pi_state.refcount to refcount_t (Waiman Long) [1737058] - [kernel] sched/wake_q: Reduce reference counting for special users (Waiman Long) [1737058] - [kernel] sched/wake_q: Add branch prediction hint to wake_q_add() cmpxchg (Waiman Long) [1737058] - [kernel] futex: No need to check return value of debugfs_create functions (Waiman Long) [1737058] - [kernel] futex: Handle early deadlock return correctly (Waiman Long) [1737058] - [kernel] futex: Fix barrier comment (Waiman Long) [1737058] - [kernel] futex: Cure exit race (Waiman Long) [1737058] - [kernel] futex: Replace spin_is_locked() with lockdep (Waiman Long) [1737058] - [kernel] futex: Mark expected switch fall-throughs (Waiman Long) [1737058] - [kernel] sched/deadline: Correctly handle active 0-lag timers (Phil Auld) [1735907] - [include] build_bug.h: add wrapper for _Static_assert (Ivan Vecera) [1735752] - [include] build_bug.h: remove most of dummy BUILD_BUG_ON stubs for Sparse (Ivan Vecera) [1735752] - [include] build_bug.h: remove negative-array fallback for BUILD_BUG_ON() (Ivan Vecera) [1735752] - [mm] percpu: remove spurious lock dependency between percpu and sched (Rafael Aquini) [1731180] - [mm] percpu: use chunk scan_hint to skip some scanning (Rafael Aquini) [1731180] - [mm] percpu: convert chunk hints to be based on pcpu_block_md (Rafael Aquini) [1731180] - [mm] percpu: make pcpu_block_md generic (Rafael Aquini) [1731180] - [mm] percpu: use block scan_hint to only scan forward (Rafael Aquini) [1731180] - [mm] percpu: remember largest area skipped during allocation (Rafael Aquini) [1731180] - [mm] percpu: add block level scan_hint (Rafael Aquini) [1731180] - [mm] percpu: set PCPU_BITMAP_BLOCK_SIZE to PAGE_SIZE (Rafael Aquini) [1731180] - [mm] percpu: relegate chunks unusable when failing small allocations (Rafael Aquini) [1731180] - [mm] percpu: manage chunks based on contig_bits instead of free_bytes (Rafael Aquini) [1731180] - [mm] percpu: introduce helper to determine if two regions overlap (Rafael Aquini) [1731180] - [mm] percpu: do not search past bitmap when allocating an area (Rafael Aquini) [1731180] - [mm] percpu: update free path with correct new free region (Rafael Aquini) [1731180] - [mm] mm/percpu: add checks for the return value of memblock_alloc*() (Rafael Aquini) [1731180] - [mm] percpu: km: no need to consider pcpu_group_offsets[0] (Rafael Aquini) [1731180] - [mm] percpu: use nr_groups as check condition (Rafael Aquini) [1731180] - [mm] percpu: convert spin_lock_irq to spin_lock_irqsave. (Rafael Aquini) [1731180] - [mm] mm: percpu: remove unnecessary unlikely() (Rafael Aquini) [1731180] - [fs] /proc/meminfo: add percpu populated pages count (Rafael Aquini) [1731180] - [netdrv] tg3: Use napi_alloc_frag() (Jonathan Toppins) [1724774] - [fs] fuse: fix copy_file_range() in the writeback case (Miklos Szeredi) [1650518] - [fs] fuse: add support for copy_file_range() (Miklos Szeredi) [1650518]- [x86] perf/x86/intel: Fix spurious NMI on fixed counter (Michael Petlan) [1755110] - [x86] perf/x86/intel: Fix race in intel_pmu_disable_event() (Michael Petlan) [1755110] - [netdrv] drivers: tap.c: fix wrong backport causing WARN_ON_ONCE(1) in skb_flow_dissect() (Davide Caratti) [1750711] - [virt] KVM: coalesced_mmio: add bounds checking (Bandan Das) [1746804] {CVE-2019-14821}- [fs] gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps (Robert S Peterson) [1750939] - [s390] kvm: s390: kvm_s390_vm_start_migration: check dirty_bitmap before using it as target for memset() (Thomas Huth) [1753260] - [fs] cifs: fix credits leak for SMB1 oplock breaks (Leif Sahlberg) [1752243]- Revert "[redhat] switch secureboot kernel image signing to release keys" (Phillip Lougher) - [iommu] iommu/amd: Add support for X2APIC IOMMU interrupts (Suravee Suthikulpanit) [1734842] - [vhost] vhost: make sure log_num < in_num (Eugenio Perez) [1750882] {CVE-2019-14835}- [kernel] open the RHEL 8.2 development (Phillip Lougher) - [md] Revert "[md] dm: eliminate 'split_discard_bios' flag from DM target interface" (Mike Snitzer) [1749929] - [md] Revert "[md] dm: make sure to obey max_io_len_target_boundary" (Mike Snitzer) [1749929] - [pci] PCI: Restore Resizable BAR size bits correctly for 1MB BARs (Myron Stowe) [1717760] - [net] netfilter: nft_fib_netdev: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled (Phil Sutter) [1743945] - [net] netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded (Phil Sutter) [1743945] - [drm] drm/qxl: get vga ioports (Gerd Hoffmann) [1728936] - [drm] drm/i915: Call dma_set_max_seg_size() in i915_driver_hw_probe() (Lyude Paul) [1724363]- [md] Revert "[md] dm: eliminate 'split_discard_bios' flag from DM target interface" (Mike Snitzer) [1749929] - [md] Revert "[md] dm: make sure to obey max_io_len_target_boundary" (Mike Snitzer) [1749929] - [pci] PCI: Restore Resizable BAR size bits correctly for 1MB BARs (Myron Stowe) [1717760] - [net] netfilter: nft_fib_netdev: Terminate rule eval if protocol=IPv6 and ipv6 module is disabled (Phil Sutter) [1743945] - [net] netfilter: bridge: Drops IPv6 packets if IPv6 module is not loaded (Phil Sutter) [1743945] - [drm] drm/qxl: get vga ioports (Gerd Hoffmann) [1728936] - [drm] drm/i915: Call dma_set_max_seg_size() in i915_driver_hw_probe() (Lyude Paul) [1724363]- [net] netfilter: nft_set: fix allocation size overflow in privsize callback. (Florian Westphal) [1746338] - [net] net: route dump netlink NLM_F_MULTI flag missing (Stefano Brivio) [1745971] - [net] sched: pfifo_fast: fix wrong dereference in pfifo_fast_enqueue (Davide Caratti) [1745390] - [net] sched: pfifo_fast: fix wrong dereference when qdisc is reset (Davide Caratti) [1745387] - [scsi] scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck() (David Milburn) [1746597]- [drm] drm/virtio: use virtio_max_dma_size (Gerd Hoffmann) [1739291] - [mm] hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined (Rafael Aquini) [1706088] - [powerpc] kvm: ppc: book3s: Enable XIVE native capability only if OPAL has required functions [BZ1744884] (David Gibson) [1744884] - [scsi] scsi: lpfc: Fix oops when fewer hdwqs than cpus (Dick Kennedy) [1745731] - [scsi] scsi: lpfc: Limit xri count for kdump environment (Dick Kennedy) [1745731] - [scsi] scsi: lpfc: Mitigate high memory pre-allocation by SCSI-MQ (Dick Kennedy) [1745731] - [scsi] scsi: qla2xxx: Fix hardirq-unsafe locking (Himanshu Madhani) [1719941] - [x86] Revert "[x86] x86/kexec/64: Prevent kexec from 5-level paging to a 4-level only kernel" (Baoquan He) [1669088] - [x86] Revert "[x86] x86/boot: Add xloadflags bits to check for 5-level paging support" (Baoquan He) [1669088]- [wireless] mwifiex: fix 802.11n/WPA detection (Jarod Wilson) [1714476] {CVE-2019-3846}- [x86] x86/kdump: Reserve extra memory when SME or SEV is active (Kairui Song) [1728519] - [scsi] scsi: qla2xxx: Fix hardlockup in abort command during driver remove (Himanshu Madhani) [1690041] - [scsi] qla2xxx: Update driver version to 10.01.00.15.08.1-k1 (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix panic from use after free in qla2x00_async_tm_cmd (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: cleanup trace buffer initialization (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: qla2x00_alloc_fw_dump: set ha->eft (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Use mutex protection during qla2x00_sysfs_read_fw_dump() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: move IO flush to the front of NVME rport unregistration (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix NVME cmd and LS cmd timeout race condition (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Complain loudly about reference count underflow (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix race conditions in the code for aborting SCSI commands (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Use an on-stack completion in qla24xx_control_vp() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Change abort wait_loop from msleep to wait_event_timeout (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Set the SCSI command result before calling the command done (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: on session delete, return nvme cmd (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix kernel crash after disconnecting NVMe devices (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Remove the fcport test from qla_nvme_abort_work() (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix driver unload when FC-NVMe LUNs are connected (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Set remote port devloss timeout to 0 (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix panic in qla_dfs_tgt_counters_show (Himanshu Madhani) [1690041] - [scsi] scsi: qla2xxx: Fix fw dump corruption (Himanshu Madhani) [1690041] - [x86] kvm: disable nested virt on pre-haswell processors (Paolo Bonzini) [1739739] - [x86] kvm: taint kernel for tech-preview when using nested virtualization (Paolo Bonzini) [1739739] - [x86] kvm: x86: hyper-v: don't crash on KVM_GET_SUPPORTED_HV_CPUID when kvm_intel.nested is disabled (Vitaly Kuznetsov) [1746100]- [char] ipmi: move message error checking to avoid deadlock (Tony Camuso) [1731388 1718699] - [crypto] crypto: testmgr - mark crc32 checksum as FIPS allowed (Neil Horman) [1738887] - [include] dma-mapping: use dma_get_mask in dma_addressing_limited (Don Dutile) [1738631] - [kernel] dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device (Don Dutile) [1738631] - [kernel] dma-direct: only limit the mapping size if swiotlb could be used (Don Dutile) [1738631] - [include] dma-mapping: add a dma_addressing_limited helper (Don Dutile) [1738631] - [kernel] dma-direct: Force unencrypted DMA under SME for certain DMA masks (Don Dutile) [1738631] - [lib] lib/genalloc: introduce chunk owners (Don Dutile) [1738631] - [lib] lib/genalloc: add gen_pool_dma_zalloc() for zeroed DMA allocations (Don Dutile) [1738631] - [lib] lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk (Don Dutile) [1738631] - [include] dma-mapping: remove dma_max_pfn (Don Dutile) [1738631] - [mmc] mmc: core: let the dma map ops handle bouncing (Don Dutile) [1738631] - [mmc] mmc: core: align max segment size with logical block size (Don Dutile) [1738631] - [kernel] swiotlb: no need to check return value of debugfs_create functions (Don Dutile) [1738631] - [xen] swiotlb: fix phys_addr_t overflow warning (Don Dutile) [1738631] - [kernel] swiotlb: Return consistent SWIOTLB segments/nr_tbl (Don Dutile) [1738631] - [kernel] swiotlb: Group identical cleanup in swiotlb_cleanup() (Don Dutile) [1738631] - [kernel] swiotlb: save io_tlb_used to local variable before leaving critical section (Don Dutile) [1738631] - [kernel] swiotlb: dump used and total slots when swiotlb buffer is full (Don Dutile) [1738631] - [kernel] swiotlb: add checks for the return value of memblock_alloc*() (Don Dutile) [1738631] - [kernel] swiotlb: add debugfs to track swiotlb buffer usage (Don Dutile) [1738631] - [kernel] dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING (Don Dutile) [1738631] - [kernel] dma-direct: handle DMA_ATTR_NO_KERNEL_MAPPING in common code (Don Dutile) [1738631] - [kernel] dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING for remapped allocations (Don Dutile) [1738631] - [kernel] dma-mapping: remove a pointless memset in dma_atomic_pool_init (Don Dutile) [1738631] - [kernel] dma-mapping: fix lack of DMA address assignment in generic remap allocator (Don Dutile) [1738631] - [kernel] dma-remap: support DMA_ATTR_NO_KERNEL_MAPPING (Don Dutile) [1738631] - [kernel] dma-mapping: support highmem in the generic remap allocator (Don Dutile) [1738631] - [kernel] dma-direct: handle DMA_ATTR_NON_CONSISTENT in common code (Don Dutile) [1738631] - [kernel] dma-mapping: add a dma_alloc_need_uncached helper (Don Dutile) [1738631] - [kernel] dma-mapping: truncate dma masks to what dma_addr_t can hold (Don Dutile) [1738631] - [kernel] dma-remap: Avoid de-referencing NULL atomic_pool (Don Dutile) [1738631] - [include] dma-buf: add DMA_BUF_SET_NAME ioctls (Don Dutile) [1738631] - [include] dma-buf: give each buffer a full-fledged inode (Don Dutile) [1738631] - [fs] new wrapper: alloc_file_pseudo() (Don Dutile) [1738631] - [kernel] dma-direct: provide generic support for uncached kernel segments (Don Dutile) [1738631] - [include] dma-contiguous: fix !CONFIG_DMA_CMA version of dma_{alloc, free}_contiguous() (Don Dutile) [1738631] - [kernel] dma-contiguous: use fallback alloc_pages for single pages (Don Dutile) [1738631] - [kernel] dma-contiguous: add dma_{alloc,free}_contiguous() helpers (Don Dutile) [1738631] - [iommu] iommu/dma: Fix condition check in iommu_dma_unmap_sg (Don Dutile) [1738631] - [iommu] iommu/dma: move the arm64 wrappers to common code (Don Dutile) [1738631] - [iommu] iommu/dma-iommu.c: convert to use vm_map_pages() (Don Dutile) [1738631] - [mm] mm: introduce new vm_map_pages() and vm_map_pages_zero() API (Don Dutile) [1738631] - [mm] arm64/iommu: handle non-remapped addresses in ->mmap and ->get_sgtable (Don Dutile) [1738631] - [arm64] arm64/mm: wire up CONFIG_ARCH_HAS_SET_DIRECT_MAP (Don Dutile) [1738631] - [kernel] mm/hibernation: Make hibernation handle unmapped pages (Don Dutile) [1738631] - [mm] page_poison: play nicely with KASAN (Don Dutile) [1738631] - [mm] mm/vmalloc: Avoid rare case of flushing TLB with weird arguments (Don Dutile) [1738631] - [mm] mm/vmalloc: Fix calculation of direct map addr range (Don Dutile) [1738631] - [mm] mm/vmalloc: Add flag for freeing of special permsissions (Don Dutile) [1738631] - [x86] x86/mm/cpa: Add set_direct_map_*() functions (Don Dutile) [1738631] - [arm64] dma-mapping: add a kconfig symbol for arch_setup_dma_ops availability (Don Dutile) [1738631] - [iommu] iommu/dma: Remove the flush_page callback (Don Dutile) [1738631] - [include] iommu/dma: Cleanup dma-iommu.h (Don Dutile) [1738631] - [dma] dmaengine: Add matching device node validation in __dma_request_channel() (Don Dutile) [1738631] - [dma] dmaengine: dma_request_chan_by_mask() to handle deferred probing (Don Dutile) [1738631] - [include] dma-buf: start caching of sg_table objects v2 (Don Dutile) [1738631] - [kernel] dma-mapping: add a Kconfig symbol to indicate arch_dma_prep_coherent presence (Don Dutile) [1738631] - [iommu] iommu/dma-iommu: Remove iommu_dma_map_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/ls-scfg-msi: Don't map the MSI page in ls_scfg_msi_compose_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-mbi: Don't map the MSI page in mbi_compose_m{b, s}i_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gicv2m: Don't map the MSI page in gicv2m_compose_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-its: Don't map the MSI page in its_irq_compose_msi_msg() (Don Dutile) [1738631] - [irqchip] irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size (Don Dutile) [1738631] - [iommu] iommu/dma-iommu: Split iommu_dma_map_msi_msg() in two parts (Don Dutile) [1738631] - [iommu] iommu/dma: Remove unused variable (Don Dutile) [1738631] - [iommu] iommu/dma: Use NUMA aware memory allocations in __iommu_dma_alloc_pages() (Don Dutile) [1738631] - [kernel] genirq/msi: Add a new field in msi_desc to store an IOMMU cookie (Don Dutile) [1738631] - [pci] PCI/MSI: Remove unused mask_msi_irq() and unmask_msi_irq() (Don Dutile) [1738631] - [include] PCI/MSI: Remove unused __write_msi_msg() and write_msi_msg() (Don Dutile) [1738631] - [include] genirq/msi: Clean up usage of __u8/__u16 types (Don Dutile) [1738631] - [base] platform-msi: Free descriptors in platform_msi_domain_free() (Don Dutile) [1738631] - [base] genirq/msi: Allow creation of a tree-based irqdomain for platform-msi (Don Dutile) [1738631] - [kernel] dma-debug: only skip one stackframe entry (Don Dutile) [1738631] - [dma] dmaengine: idma64: Move driver name to the header (Don Dutile) [1738631] - [kernel] dma-mapping: remove an unnecessary NULL check (Don Dutile) [1738631] - [include] dma-buf: Update [un]map documentation to match the other functions (Don Dutile) [1738631] - [include] dma-buf: Remove leftover [un]map_atomic comments (Don Dutile) [1738631] - [x86] x86/dma: Remove the x86_dma_fallback_dev hack (Don Dutile) [1738631] - [kernel] dma-mapping: remove leftover NULL device support (Don Dutile) [1738631] - [kernel] dma: select GENERIC_ALLOCATOR for DMA_REMAP (Don Dutile) [1738631] - [crypto] crypto: ccp - Ignore unconfigured CCP device on suspend/resume (Gary Hook) [1743999] - [md] dm snapshot: fix oversights in optional discard support (Mike Snitzer) [1744291] - [md] dm snapshot: add optional discard support features (Mike Snitzer) [1744291] - [md] dm snapshot: Use fine-grained locking scheme (Mike Snitzer) [1744291] - [md] dm snapshot: Make exception tables scalable (Mike Snitzer) [1744291] - [md] dm snapshot: Replace mutex with rw semaphore (Mike Snitzer) [1744291] - [md] dm snapshot: Don't sleep holding the snapshot lock (Mike Snitzer) [1744291] - [include] list_bl: Add hlist_bl_add_before/behind helpers (Mike Snitzer) [1744291] - [powerpc] powerpc/rtas: use device model APIs and serialization during LPM (Steve Best) [1741643] - [firmware] firmware/efi: Add NULL pointer checks in efivars API functions (Jarod Wilson) [1741949] - [fs] ovl: fix wrong flags check in FS_IOC_FS[SG]ETXATTR ioctls (Miklos Szeredi) [1724518] - [include] mm: page_cache_add_speculative(): refactor out some code duplication (Michael Petlan) [1738331] - [netdrv] ibmvnic: Unmap DMA address of TX descriptor buffers after use (Steve Best) [1743155] - [fs] NFSv4.1 don't free interrupted slot on open (Steve Dickson) [1708345] - [fs] NFSv4.1: Avoid false retries when RPC calls are interrupted (Steve Dickson) [1708345] - [net] ipv6: Fix return value of ipv6_mc_may_pull() for malformed packets (Stefano Brivio) [1743203] - [net] inet: frags: re-introduce skb coalescing for local delivery (Guillaume Nault) [1719418]- [net] xfrm: fix sa selector validation (Sabrina Dubroca) [1738871] - [net] xfrm: Fix xfrm sel prefix length validation (Sabrina Dubroca) [1738871] - [kernel] locking/rwsem: Prevent decrement of reader count before increment (Waiman Long) [1740338] - [include] include/list: Backport list_cut_before() (Waiman Long) [1740338] - [vhost] vhost: vsock: add weight support (Jason Wang) [1738494] - [vhost] vhost_net: fix possible infinite loop (Jason Wang) [1738494] - [vhost] vhost: introduce vhost_exceeds_weight() (Jason Wang) [1738494] - [vhost] vhost: reject zero size iova range (Jason Wang) [1738494] - [vhost] vhost: silence an unused-variable warning (Jason Wang) [1738494] - [vhost] vhost: correctly check the return value of translate_desc() in log_used() (Jason Wang) [1738494] - [vhost] vhost: return EINVAL if iovecs size does not match the message size (Jason Wang) [1738494] - [vhost] Revert "net: vhost: lock the vqs one by one" (Jason Wang) [1738494] - [vhost] vhost_net: switch to use mutex_trylock() in vhost_net_busy_poll() (Jason Wang) [1738494] - [vhost] vhost: make sure used idx is seen before log in vhost_add_used_n() (Jason Wang) [1738494] - [vhost] vhost: fix IOTLB locking (Jason Wang) [1738494] - [netdrv] tun: wake up waitqueues after IFF_UP is set (Jason Wang) [1738494] - [netdrv] tuntap: synchronize through tfiles array instead of tun->numqueues (Jason Wang) [1738494] - [netdrv] tuntap: fix dividing by zero in ebpf queue selection (Jason Wang) [1738494] - [netdrv] tun: Remove unused first parameter of tun_get_iff() (Jason Wang) [1738494] - [netdrv] tun: Add ioctl() TUNGETDEVNETNS cmd to allow obtaining real net ns of tun device (Jason Wang) [1738494] - [netdrv] tun: add a missing rcu_read_unlock() in error path (Jason Wang) [1738494] - [netdrv] tun: properly test for IFF_UP (Jason Wang) [1738494] - [netdrv] tun: remove unnecessary memory barrier (Jason Wang) [1738494] - [netdrv] tun: fix blocking read (Jason Wang) [1738494] - [netdrv] tun: move the call to tun_set_real_num_queues (Jason Wang) [1738494] - [netdrv] tun: publish tfile after it's fully initialized (Jason Wang) [1738494] - [netdrv] tun: replace get_cpu_ptr with this_cpu_ptr when bh disabled (Jason Wang) [1738494] - [netdrv] tun: remove skb access after netif_receive_skb (Jason Wang) [1738494] - [netdrv] tun: remove unnecessary check in tun_flow_update (Jason Wang) [1738494] - [netdrv] tuntap: fix multiqueue rx (Jason Wang) [1738494] - [netdrv] tun: Adjust on-stack tun_page initialization. (Jason Wang) [1738494] - [netdrv] tuntap: free XDP dropped packets in a batch (Jason Wang) [1738494] - [vhost] vhost_net: mitigate page reference counting during page frag refill (Jason Wang) [1738494] - [vhost] net: vhost: remove bad code line (Jason Wang) [1738494] - [vhost] net: vhost: add rx busy polling in tx path (Jason Wang) [1738494] - [vhost] net: vhost: factor out busy polling logic to vhost_net_busy_poll() (Jason Wang) [1738494] - [vhost] net: vhost: replace magic number of lock annotation (Jason Wang) [1738494] - [vhost] net: vhost: lock the vqs one by one (Jason Wang) [1738494] - [vhost] vhost_net: add a missing error return (Jason Wang) [1738494] - [netdrv] net: tun: remove useless codes of tun_automq_select_queue (Jason Wang) [1738494] - [vhost] vhost_net: batch submitting XDP buffers to underlayer sockets (Jason Wang) [1738494] - [netdrv] tap: accept an array of XDP buffs through sendmsg() (Jason Wang) [1738494] - [netdrv] tuntap: accept an array of XDP buffs through sendmsg() (Jason Wang) [1738494] - [netdrv] tun: switch to new type of msg_control (Jason Wang) [1738494] - [netdrv] tuntap: move XDP flushing out of tun_do_xdp() (Jason Wang) [1738494] - [netdrv] tuntap: split out XDP logic (Jason Wang) [1738494] - [netdrv] tuntap: tweak on the path of skb XDP case in tun_build_skb() (Jason Wang) [1738494] - [netdrv] tuntap: simplify error handling in tun_build_skb() (Jason Wang) [1738494] - [netdrv] tuntap: enable bh early during processing XDP (Jason Wang) [1738494] - [netdrv] tuntap: switch to use XDP_PACKET_HEADROOM (Jason Wang) [1738494] - [netdrv] net: sock: introduce SOCK_XDP (Jason Wang) [1738494] - [vhost] vhost: correctly check the iova range when waking virtqueue (Jason Wang) [1738494] - [vhost] vhost: switch to use new message format (Jason Wang) [1738494] - [vhost] vhost_net: batch update used ring for datacopy TX (Jason Wang) [1738494] - [vhost] vhost_net: rename VHOST_RX_BATCH to VHOST_NET_BATCH (Jason Wang) [1738494] - [vhost] vhost_net: rename vhost_rx_signal_used() to vhost_net_signal_used() (Jason Wang) [1738494] - [vhost] vhost_net: split out datacopy logic (Jason Wang) [1738494] - [vhost] vhost_net: introduce tx_can_batch() (Jason Wang) [1738494] - [vhost] vhost_net: introduce get_tx_bufs() (Jason Wang) [1738494] - [vhost] vhost_net: introduce vhost_exceeds_weight() (Jason Wang) [1738494] - [vhost] vhost_net: introduce helper to initialize tx iov iter (Jason Wang) [1738494] - [vhost] vhost_net: drop unnecessary parameter (Jason Wang) [1738494] - [vhost] vhost_net: Avoid rx vring kicks during busyloop (Jason Wang) [1738494] - [vhost] vhost_net: Avoid rx queue wake-ups during busypoll (Jason Wang) [1738494] - [vhost] vhost_net: Avoid tx vring kicks during busyloop (Jason Wang) [1738494] - [vhost] vhost_net: Rename local variables in vhost_net_rx_peek_head_len (Jason Wang) [1738494] - [mm] x86/mm/fault: Allow stack access below rsp (Waiman Long) [1739341] - [mm] x86/mm: Clarify hardware vs. software "error_code" (Waiman Long) [1739341] - [net] libceph: handle an empty authorize reply (Ilya Dryomov) [1720582]- [drm] drm: Don't retry infinitely when receiving no data on i2c over AUX (Lyude Paul) [1672361] - [scsi] scsi: hpsa: update revision to RH3 (Joseph Szczypek) [1739615] - [scsi] scsi: hpsa: remove printing internal cdb on tag collision (Joseph Szczypek) [1739615] - [scsi] scsi: hpsa: correct scsi command status issue after reset (Joseph Szczypek) [1739615] - [scsi] hpsa: docs: fix broken doc references due to renames (Joseph Szczypek) [1739615] - [scsi] hpsa: docs: pci: fix broken links due to conversion from pci.txt to pci.rst (Joseph Szczypek) [1739615]- [drm] drm/nouveau: Only recalculate PBN/VCPI on mode/connector changes (Lyude Paul) [1734452 1734444] - [drm] drm/nouveau: Only release VCPI slots on mode changes (Lyude Paul) [1734452 1734444] - [infiniband] RDMA/srp: turn off 'use_imm_data' by default (Honggang Li) [1725158] - [gpu] vga_switcheroo: Fix missing gpu_bound call at audio client registration (Lyude Paul) [1739727] - [net] Bluetooth: Fix faulty expression for minimum encryption key size check (Gopal Tiwari) [1743076] {CVE-2019-9506} - [net] Bluetooth: Fix regression with minimum encryption key size alignment (Gopal Tiwari) [1743076] {CVE-2019-9506} - [net] Bluetooth: Align minimum encryption key size for LE and BR/EDR connections (Gopal Tiwari) [1743076] {CVE-2019-9506}- [rpmspec] perf: package tips.txt (Michael Petlan) [1663816] - [mm] mm/memblock.c: skip kmemleak for kasan_init() (Mark Langsdorf) [1722741] - [kernel] mm/resource: Return real error codes from walk failures (Kairui Song) [1740443] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64 (Michael Petlan) [1733231] - [tools] selftests/powerpc: Fix Makefiles for headers_install change (Steve Best) [1740127] - [tools] selftests/powerpc: Add more version checks to alignment_handler test (Steve Best) [1740127] - [tools] selftests/powerpc: Skip earlier in alignment_handler test (Steve Best) [1740127] - [tools] selftests/powerpc: Consolidate copy/paste test logic (Steve Best) [1740127] - [s390] s390/bpf: use 32-bit index for tail calls (Yauheni Kaliuta) [1719377] - [s390] s390/bpf: fix lcgr instruction encoding (Yauheni Kaliuta) [1719377] - [tools] selftests/bpf: fix "alu with different scalars 1" on s390 (Yauheni Kaliuta) [1719377] - [net] bpf: fix use after free in bpf_evict_inode (Yauheni Kaliuta) [1719377] - [arm64] bpf, arm64: remove prefetch insn in xadd mapping (Yauheni Kaliuta) [1719377] - [scsi] scsi: lpfc: Fix crash when cpu count is 1 and null irq affinity mask (Dick Kennedy) [1720905] - [md] md: add bitmap_abort label in md_run (Nigel Croxon) [1721944] - [md] md-bitmap: create and destroy wb_info_pool with the change of bitmap (Nigel Croxon) [1721944] - [md] md-bitmap: create and destroy wb_info_pool with the change of backlog (Nigel Croxon) [1721944] - [md] md: introduce mddev_create/destroy_wb_pool for the change of member device (Nigel Croxon) [1721944] - [md] md/raid1: fix potential data inconsistency issue with write behind device (Nigel Croxon) [1721944] - [md] md: fix for divide error in status_resync (Nigel Croxon) [1721944] - [md] md/raid10: read balance chooses idlest disk for SSD (Nigel Croxon) [1721944] - [md] md: raid1-10: Unify r{1,10}bio_pool_free (Nigel Croxon) [1721944] - [md] md: raid10: Use struct_size() in kmalloc() (Nigel Croxon) [1721944] - [md] md/raid1: get rid of extra blank line and space (Nigel Croxon) [1721944] - [md] md: fix spelling typo and add necessary space (Nigel Croxon) [1721944] - [md] md: md.c: Return -ENODEV when mddev is NULL in rdev_attr_show (Nigel Croxon) [1721944] - [md] raid5-cache: Need to do start() part job after adding journal device (Nigel Croxon) [1721944] - [md] drivers: md: Unify common definitions of raid1 and raid10 (Nigel Croxon) [1721944] - [kernel] userfaultfd: use RCU to free the task struct when fork fails (Andrea Arcangeli) [1718498]- [efi] efi/arm: Revert "Defer persistent reservations until after paging_init()" (Mark Salter) [1699961] - [s390] s390/ipl: Fix detection of has_secure attribute (Philipp Rudo) [1740653] - [fs] xfs: don't crash on null attr fork xfs_bmapi_read (Bill O'Donnell) [1719094] - [powerpc] powerpc/mm: Don't report PUDs as memory leaks when using kmemleak (Desnes Augusto Nunes do Rosario) [1716952] - [x86] kvm: x86: introduce is_pae_paging (Vitaly Kuznetsov) [1720556] - [s390] s390/kasan: Fix recursion loop when triggering kdump (Philipp Rudo) [1740249] - [s390] s390/dasd: fix endless loop after read unit address configuration (Philipp Rudo) [1740251] - [tools] selftests/powerpc: Give some tests longer to run (Steve Best) [1740420] - [nvme] nvme-rdma: use dynamic dma mapping per command (David Milburn) [1738252] - [nvme] nvme-rdma: remove redundant reference between ib_device and tagset (David Milburn) [1738252] - [x86] kvm: svm/avic: Do not send AVIC doorbell to self (Janakarajan Natarajan) [1720981] - [net] tipc: initialise addr_trial_end when setting node addresses (Jon Maloy) [1740317] - [net] tipc: ensure head->lock is initialised (Jon Maloy) [1740317] - [net] netfilter: nf_tables: fix oops during rule dump (Stefano Brivio) [1739734] - [include] netfilter: nf_tables: correct NFT_LOGLEVEL_MAX value (Stefano Brivio) [1739734] - [net] netfilter: nft_compat: do not dump private area (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: fix register ordering (Stefano Brivio) [1739734] - [net] ipvs: defer hook registration to avoid leaks (Stefano Brivio) [1739734] - [net] ipvs: Fix use-after-free in ip_vs_in (Stefano Brivio) [1739734] - [net] netfilter: nf_conntrack_h323: restore boundary check correctness (Stefano Brivio) [1739734] - [net] netfilter: fix nf_l4proto_log_invalid to log invalid packets (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: prevent shift wrap in nft_chain_parse_hook() (Stefano Brivio) [1739734] - [net] netfilter: nft_set_rbtree: check for inactive element after flag mismatch (Stefano Brivio) [1739734] - [net] netfilter: nft_compat: use-after-free when deleting targets (Stefano Brivio) [1739734] - [net] netfilter: nf_tables: fix leaking object reference count (Stefano Brivio) [1739734] - [net] ip6_gre: reload ipv6h in prepare_ip6gre_xmit_ipv6 (Stefano Brivio) [1739640] - [net] ipv6: Unlink sibling route in case of failure (Stefano Brivio) [1739640] - [net] ipv6: Default fib6_type to RTN_UNICAST when not set (Stefano Brivio) [1739640] - [net] inet: frags: call inet_frags_fini() after unregister_pernet_subsys() (Stefano Brivio) [1739640] - [net] ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero (Stefano Brivio) [1739640] - [net] netfilter: ipset: Fix rename concurrency with listing (Stefano Brivio) [1739578] - [net] netfilter: ipset: Fix error path in set_target_v3_checkentry() (Stefano Brivio) [1739578] - [net] netfilter: ipset: Fix the last missing check of nla_parse_deprecated() (Stefano Brivio) [1739578] - [net] netfilter: ipset: fix a missing check of nla_parse (Stefano Brivio) [1739578] - [netdrv] ipvlan, l3mdev: fix broken l3s mode wrt local routes (Guillaume Nault) [1738329] - [net] sched: use temporary variable for actions indexes (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] sched: cbs: Fix error path of cbs_module_init (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] netem: fix use after free and double free with packet corruption (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [net] netem: fix backlog accounting for corrupted GSO frames (Marcelo Leitner) [1739244 1729822 1729818 1729398] - [netdrv] macsec: fix checksumming after decryption (Sabrina Dubroca) [1738237] - [netdrv] macsec: fix use-after-free of skb during RX (Sabrina Dubroca) [1738237] - [net] xfrm interface: fix memory leak on creation (Sabrina Dubroca) [1738267] - [net] tls: fix socket wmem accounting on fallback with netem (Sabrina Dubroca) [1739260] - [net] tls: fix poll ignoring partially copied records (Sabrina Dubroca) [1739260] - [net] tls: make sure offload also gets the keys wiped (Sabrina Dubroca) [1739260] - [net] tls: reject offload of TLS 1.3 (Sabrina Dubroca) [1739260] - [net] tls: fix page double free on TX cleanup (Sabrina Dubroca) [1739260] - [net] tls, correctly account for copied bytes with multiple sk_msgs (Sabrina Dubroca) [1739260] - [net] tcp: fix tcp_set_congestion_control() use from bpf hook (Guillaume Nault) [1738272] - [net] tcp: Reset bytes_acked and bytes_received when disconnecting (Guillaume Nault) [1738272] - [net] tcp: Ensure DCTCP reacts to losses (Guillaume Nault) [1738272] - [net] tcp: tcp_v4_err() should be more careful (Guillaume Nault) [1738272] - [net] tcp: avoid resetting ACK timer upon receiving packet with ECN CWR flag (Guillaume Nault) [1738272] - [net] tcp: always ACK immediately on hole repairs (Guillaume Nault) [1738272] - [net] tcp: avoid resetting ACK timer in DCTCP (Guillaume Nault) [1738272] - [net] tcp: mandate a one-time immediate ACK (Guillaume Nault) [1738272] - [net] tipc: fix unitilized skb list crash (Xin Long) [1734298] - [net] tipc: compat: allow tipc commands without arguments (Xin Long) [1738397] - [net] sctp: factor out sctp_connect_add_peer (Xin Long) [1738393] - [net] sctp: factor out sctp_connect_new_asoc (Xin Long) [1738393] - [net] sctp: clean up __sctp_connect (Xin Long) [1738393] - [net] sctp: check addr_size with sa_family_t size in __sctp_setsockopt_connectx (Xin Long) [1738393] - [net] sctp: only copy the available addr data in sctp_transport_init (Xin Long) [1738393] - [net] sctp: drop unneeded likely() call around IS_ERR() (Xin Long) [1738393] - [net] sctp: fix warning "NULL check before some freeing functions is not needed" (Xin Long) [1738393] - [net] sctp: remove rcu_read_lock from sctp_bind_addr_state (Xin Long) [1738393] - [net] sctp: rename sp strm_interleave to ep intl_enable (Xin Long) [1738393] - [net] sctp: rename asoc intl_enable to asoc peer.intl_capable (Xin Long) [1738393] - [net] sctp: remove prsctp_enable from asoc (Xin Long) [1738393] - [net] sctp: remove reconf_enable from asoc (Xin Long) [1738393] - [net] sctp: count data bundling sack chunk for outctrlchunks (Xin Long) [1738393] - [net] sctp: fix error handling on stream scheduler initialization (Xin Long) [1738393] - [net] sctp: not bind the socket in sctp_connect (Xin Long) [1738393] - [net] sctp: change to hold sk after auth shkey is created successfully (Xin Long) [1738393] - [net] sctp: Free cookie before we memdup a new one (Xin Long) [1738393] - [net] Fix memory leak in sctp_process_init (Xin Long) [1738393] - [net] sctp: deduplicate identical skb_checksum_ops (Xin Long) [1738393] - [net] sctp: Check address length before reading address family (Xin Long) [1738393] - [net] sctp: Pass sk_buff_head explicitly to sctp_ulpq_tail_event(). (Xin Long) [1738393] - [net] sctp: Make sctp_enqueue_event tak an skb list. (Xin Long) [1738393] - [net] sctp: Use helper for sctp_ulpq_tail_event() when hooked up to ->enqueue_event (Xin Long) [1738393] - [net] sctp: Always pass skbs on a list to sctp_ulpq_tail_event(). (Xin Long) [1738393] - [net] sctp: Remove superfluous test in sctp_ulpq_reasm_drain(). (Xin Long) [1738393] - [netdrv] ppp: Remove direct skb_queue_head list pointer access. (Xin Long) [1738393] - [net] ipv6: fix neighbour resolution with raw socket (Stefano Brivio) [1728320] - [net] ipv6: constify rt6_nexthop() (Stefano Brivio) [1728320] - [net] openvswitch: fix csum updates for MPLS actions (Marcelo Leitner) [1738654] - [net] udp_gso: Allow TX timestamp with UDP GSO (Paolo Abeni) [1738585] - [net] bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err (Paolo Abeni) [1738585] - [net] fix ifindex collision during namespace removal (Paolo Abeni) [1738492] - [net] rtnl: return early from rtnl_unregister_all when protocol isn't registered (Paolo Abeni) [1738492] - [net] neigh: fix use-after-free read in pneigh_get_next (Paolo Abeni) [1738492] - [net] socket: set sock->sk to NULL after calling proto_ops::release() (Paolo Abeni) [1738492] - [net] socket: make bond ioctls go through compat_ifreq_ioctl() (Paolo Abeni) [1738492] - [net] socket: fix SIOCGIFNAME in compat (Paolo Abeni) [1738492] - [net] Revert "kill dev_ifsioc()" (Paolo Abeni) [1738492] - [net] revert "socket: fix struct ifreq size in compat ioctl" (Paolo Abeni) [1738492] - [net] ip6_tunnel: fix possible use-after-free on xmit (Guillaume Nault) [1737105] - [net] genetlink: Fix a memory leak on error path (Guillaume Nault) [1737821] - [net] netfilter: ipset: Copy the right MAC address in bitmap:ip, mac and hash:ip, mac sets (Stefano Brivio) [1723605] - [net] netfilter: ipset: Actually allow destination MAC address for hash:ip, mac sets too (Stefano Brivio) [1723605] - [net] igmp: fix memory leak in igmpv3_del_delrec() (Hangbin Liu) [1736816] - [net] don't clear sock->sk early to avoid trouble in strparser (Hangbin Liu) [1736816] - [net] ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST (Hangbin Liu) [1736816] - [net] ipv4/igmp: fix another memory leak in igmpv3_del_delrec() (Hangbin Liu) [1736816] - [net] route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race (Hangbin Liu) [1736816] - [net] netlabel: fix out-of-bounds memory accesses (Hangbin Liu) [1736816] - [net] ipv4: Fix memory leak in network namespace dismantle (Hangbin Liu) [1736816] - [net] bridge: delete local fdb on device init failure (Hangbin Liu) [1736824] - [net] bridge: stp: don't cache eth dest pointer before skb pull (Hangbin Liu) [1736824] - [net] bridge: don't cache ether dest pointer on input (Hangbin Liu) [1736824] - [net] bridge: mcast: fix stale ipv6 hdr pointer when handling v6 query (Hangbin Liu) [1736824] - [net] bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling (Hangbin Liu) [1736824] - [net] bridge: fix per-port af_packet sockets (Hangbin Liu) [1736824] - [include] ip: fix ip_mc_may_pull() return value (Hangbin Liu) [1736824] - [net] bridge: use struct_size() helper (Hangbin Liu) [1736824] - [net] bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() calls (Hangbin Liu) [1736824] - [net] net/bridge/br_multicast: remove redundant variable "err" (Hangbin Liu) [1736824] - [x86] x86/kdump/64: Restrict kdump kernel reservation to <64TB (Baoquan He) [1669090] - [x86] x86/kexec/64: Prevent kexec from 5-level paging to a 4-level only kernel (Baoquan He) [1669088] - [x86] x86/boot: Add xloadflags bits to check for 5-level paging support (Baoquan He) [1669088] - [tools] perf header: Fix wrong node write in NUMA_TOPOLOGY feature (Michael Petlan) [1722044] - [tools] perf c2c: Fix c2c report for empty numa node (Michael Petlan) [1722044] - [x86] kvm: svm/avic: fix off-by-one in checking host APIC ID (Janakarajan Natarajan) [1720983]- [fs] gfs2: gfs2_walk_metadata fix (Andreas Grunbacher) [1724361] - [netdrv] mlx4/en_netdev: allow offloading VXLAN over VLAN (Paolo Abeni) [1733532] - [fs] xfs: always rejoin held resources during defer roll (Bill O'Donnell) [1706588] - [bluetooth] Bluetooth: hci_uart: check for missing tty operations (Gopal Tiwari) [1734239] {CVE-2019-10207}- [documentation] Documentation: Add swapgs description to the Spectre v1 documentation (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [documentation] Documentation: Add section about CPU vulnerabilities for Spectre (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/entry/64: Use JMP instead of JMPQ (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation: Enable Spectre v1 swapgs mitigations (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/cpufeatures: Combine word 11 and 12 into a new scattered features word (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [x86] x86/cpufeatures: Carve out CQM features retrieval (Josh Poimboeuf) [1724501] {CVE-2019-1125} - [netdrv] ibmveth: fix DMA unmap error in ibmveth_xmit_start error path (Steve Best) [1739431] - [rpmspec] rpmspec: use make macro to do headers_install with rpm CFLAGS/LDFLAGS ("Herton R. Krzesinski") [1738659] - [rpmspec] rpmspec: use tools_make for building tools ("Herton R. Krzesinski") [1738659] - [tools] tools gpio: Allow overriding CFLAGS ("Herton R. Krzesinski") [1738659] - [tools] tools thermal tmon: Allow overriding CFLAGS assignments ("Herton R. Krzesinski") [1738659] - [tools] tools iio: Override CFLAGS assignments ("Herton R. Krzesinski") [1738659] - [fs] NFS: Fix dentry revalidation on NFSv4 lookup (Steve Dickson) [1667774] - [fs] pNFS: Avoid read/modify/write when it is not necessary (Benjamin Coddington) [1680649] - [fs] pNFS: Fix potential corruption of page being written (Benjamin Coddington) [1680649] - [fs] gfs2: Inode dirtying fix (Andreas Grunbacher) [1724361] - [net] sunrpc: make visible processing error in bc_svc_process() ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: remove unused xpo_prep_reply_hdr callback ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: remove svc_tcp_bc_class ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: replace svc_serv->sv_bc_xprt by boolean flag ("J. Bruce Fields") [1660823] {CVE-2018-16884} - [net] sunrpc: use-after-free in svc_process_common() ("J. Bruce Fields") [1660823] {CVE-2018-16884}- [scsi] scsi: implement .cleanup_rq callback (Ming Lei) [1696256] - [md] blk-mq: add callback of .cleanup_rq (Ming Lei) [1696256] - [block] blk-mq: insert rq with DONTPREP to hctx dispatch list when requeue (Ming Lei) [1696256] - [scsi] scsi: core: Fix race on creating sense cache (Ming Lei) [1696256] - [block] blk-mq: balance mapping between present CPUs and queues (Ming Lei) [1733040] - [block] blk-mq: Fix spelling in a source code comment (Ming Lei) [1733040] - [drm] drm/i915: Don't dereference request if it may have been retired when printing (Lyude Paul) [1715997] - [drm] drm/i915/icl: whitelist PS_(DEPTH|INVOCATION)_COUNT (Lyude Paul) [1715997] - [drm] drm/i915: whitelist PS_(DEPTH|INVOCATION)_COUNT (Lyude Paul) [1715997] - [drm] drm/i915: Support flags in whitlist WAs (Lyude Paul) [1715997] - [drm] drm/i915: Disable SAMPLER_STATE prefetching on all Gen11 steppings. (Lyude Paul) [1715997] - [drm] drm/i915/userptr: Acquire the page lock around set_page_dirty() (Lyude Paul) [1715997] - [drm] drm/i915/perf: fix ICL perf register offsets (Lyude Paul) [1715997] - [drm] drm/virtio: Add memory barriers for capset cache. (Lyude Paul) [1715997] - [drm] drm/amd/display: Always allocate initial connector state state (Lyude Paul) [1715997] - [drm] drm/vkms: Forward timer right after drm_crtc_handle_vblank (Lyude Paul) [1715997] - [drm] drm/crc-debugfs: Also sprinkle irqrestore over early exits (Lyude Paul) [1715997] - [drm] drm/crc-debugfs: User irqsafe spinlock in drm_crtc_add_crc_entry (Lyude Paul) [1715997] - [drm] drm/amd/display: Increase Backlight Gain Step Size (Lyude Paul) [1715997] - [drm] drm/amd/display: CS_TFM_1D only applied post EOTF (Lyude Paul) [1715997] - [drm] drm/edid: Fix a missing-check bug in drm_load_edid_firmware() (Lyude Paul) [1715997] - [drm] drm/amdkfd: Fix sdma queue map issue (Lyude Paul) [1715997] - [drm] drm/amdkfd: Fix a potential memory leak (Lyude Paul) [1715997] - [drm] drm/amd/display: Disable ABM before destroy ABM struct (Lyude Paul) [1715997] - [drm] drm/amdgpu/sriov: Need to initialize the HDP_NONSURFACE_BAStE (Lyude Paul) [1715997] - [drm] drm/amdgpu: Reserve shared fence for eviction fence (Lyude Paul) [1715997] - [drm] drm/amd/display: Disable cursor when offscreen in negative direction (Lyude Paul) [1715997] - [drm] drm/amd/display: Fill prescale_params->scale for RGB565 (Lyude Paul) [1715997] - [drm] drm/virtio: set seqno for dma-fence (Lyude Paul) [1715997] - [drivers] dma-buf: Discard old fence_excl on retrying get_fences_rcu for realloc (Lyude Paul) [1715997] - [drivers] dma-buf: balance refcount inbalance (Lyude Paul) [1715997] - [drm] drm/edid: parse CEA blocks embedded in DisplayID (Lyude Paul) [1715997] - [drm] drm/nouveau/i2c: Enable i2c pads & busses during preinit (Lyude Paul) [1715997] - [drm] drm: return -EFAULT if copy_to_user() fails (Lyude Paul) [1715997] - [drm] drm/vmwgfx: fix a warning due to missing dma_parms (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Honor the sg list segment size limitation (Lyude Paul) [1715997] - [drm] drm/virtio: move drm_connector_update_edid_property() call (Lyude Paul) [1715997] - [drm] drm/amdgpu/gfx9: use reset default for PA_SC_FIFO_SIZE (Lyude Paul) [1715997] - [drm] drm/amdgpu: Don't skip display settings in hwmgr_resume() (Lyude Paul) [1717138 1715997] - [drm] drm/amd/powerplay: use hardware fan control if no powerplay fan table (Lyude Paul) [1715997] - [drm] drm/i915/ringbuffer: EMIT_INVALIDATE *before* switch context (Lyude Paul) [1715997] - [drm] drm/i915: Skip modeset for cdclk changes if possible (Lyude Paul) [1715997] - [drm] drm/i915: Remove redundant store of logical CDCLK state (Lyude Paul) [1715997] - [drm] drm/i915: Save the old CDCLK atomic state (Lyude Paul) [1715997] - [drm] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled (Lyude Paul) [1715997] - [drm] drm/i915: Don't clobber M/N values during fastset check (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Use the backdoor port if the HB port is not available (Lyude Paul) [1715997] - [drm] drm: add fallback override/firmware EDID modes workaround (Lyude Paul) [1715997] - [drm] drm/edid: abstract override/firmware EDID retrieval (Lyude Paul) [1715997] - [drm] drm/vmwgfx: NULL pointer dereference from vmw_cmd_dx_view_define() (Lyude Paul) [1715997] - [drm] drm/vmwgfx: integer underflow in vmw_cmd_dx_set_shader() leading to an invalid read (Lyude Paul) [1715997] - [drm] drm/amdgpu: keep stolen memory on picasso (Lyude Paul) [1715997] - [drm] drm/i915/dmc: protect against reading random memory (Lyude Paul) [1715997] - [drm] drm/i915: Fix per-pixel alpha with CCS (Lyude Paul) [1715997] - [drm] drm/i915/dsi: Use a fuzzy check for burst mode clock check (Lyude Paul) [1715997] - [drm] drm/i915/sdvo: Implement proper HDMI audio support for SDVO (Lyude Paul) [1715997] - [drm] drm/amdgpu/{uvd,vcn}: fetch ring's read_ptr after alloc (Lyude Paul) [1715997] - [drm] drm/amd/display: Use plane->color_space for dpp if specified (Lyude Paul) [1715997] - [drm] drm/amd/display: disable link before changing link settings (Lyude Paul) [1715997] - [drm] Revert "drm: allow render capable master with DRM_AUTH ioctls" (Lyude Paul) [1715997] - [drm] drm/amd: fix fb references in async update (Lyude Paul) [1715997] - [drm] drm/i915/gvt: Initialize intel_gvt_gtt_entry in stack (Lyude Paul) [1715997] - [drm] drm: don't block fb changes for async plane updates (Lyude Paul) [1715997] - [drm] drm/i915/gvt: emit init breadcrumb for gvt request (Lyude Paul) [1715997] - [drm] drm/amdgpu: fix ring test failure issue during s3 in vce 3.0 (V2) (Lyude Paul) [1715997] - [drm] drm/amd/display: Add ASICREV_IS_PICASSO (Lyude Paul) [1715997] - [drm] drm/amdgpu/soc15: skip reset on init (Lyude Paul) [1715997] - [include] drm/i915: Fix I915_EXEC_RING_MASK (Lyude Paul) [1715997] - [drm] drm/amdgpu: remove ATPX_DGPU_REQ_POWER_FOR_DISPLAYS check when hotplug-in (Lyude Paul) [1715997] - [drm] drm/radeon: prefer lower reference dividers (Lyude Paul) [1715997] - [drm] drm/amdgpu/psp: move psp version specific function pointers to early_init (Lyude Paul) [1715997] - [drm] drm: add non-desktop quirks to Sensics and OSVR headsets. (Lyude Paul) [1715997] - [drm] drm: add non-desktop quirk for Valve HMDs (Lyude Paul) [1715997] - [drm] drm/cma-helper: Fix drm_gem_cma_free_object() (Lyude Paul) [1715997] - [drm] drm/lease: Make sure implicit planes are leased (Lyude Paul) [1715997] - [drm] drm: Expose "FB_DAMAGE_CLIPS" property to atomic aware user-space only (Lyude Paul) [1715997] - [drm] drm/atomic: Wire file_priv through for property changes (Lyude Paul) [1715997] - [drm] drm/fb-helper: generic: Call drm_client_add() after setup is done (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Fix compat mode shader operation (Lyude Paul) [1715997] - [drm] drm/vmwgfx: Fix user space handle equal to zero (Lyude Paul) [1715997] - [drm] drm: Wake up next in drm_read() chain if we are forced to putback the event (Lyude Paul) [1715997] - [drm] drm/drv: Hold ref on parent device during drm_device lifetime (Lyude Paul) [1715997] - [drm] drm/amd/display: Reset planes that were disabled in init_pipes (Lyude Paul) [1715997] - [drm] drm/amd/display: Fix exception from AUX acquire failure (Lyude Paul) [1715997] - [drm] drm: writeback: Fix leak of writeback job (Lyude Paul) [1715997] - [drm] drm/amd/display: Set stream->mode_changed when connectors change (Lyude Paul) [1715997] - [drm] drm/amd/display: half bandwidth for YCbCr420 during validation (Lyude Paul) [1715997] - [drm] drm/amd/display: Re-add custom degamma support (Lyude Paul) [1715997] - [drm] drm/amd/display: Fix Divide by 0 in memory calculations (Lyude Paul) [1715997] - [drm] drm/amd/display: add pipe lock during stream update (Lyude Paul) [1715997] - [drm] drm/amd/display: Reset alpha state for planes to the correct values (Lyude Paul) [1715997] - [drm] drm/amd/display: Update ABM crtc state on non-modeset (Lyude Paul) [1715997] - [drm] drm/amd/display: Link train only when link is DP and backend is enabled (Lyude Paul) [1715997] - [drm] drm/amd/display: fix releasing planes when exiting odm (Lyude Paul) [1715997] - [drm] drm/amd/display: Prevent cursor hotspot overflow for RV overlay planes (Lyude Paul) [1715997] - [drm] drm/amd/display: use proper formula to calculate bandwidth from timing (Lyude Paul) [1715997] - [drm] drm/amdgpu: fix old fence check in amdgpu_fence_emit (Lyude Paul) [1715997] - [drm] drm/nouveau/bar/nv50: ensure BAR is mapped (Lyude Paul) [1715997] - [pci] PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken (Lyude Paul) [1715997] - [kernel] locking/rwsem: Add missing ACQUIRE to read_slowpath exit when queue is empty (Waiman Long) [1737089] - [tools] perf vendor events power9: Added missing event descriptions (Michael Petlan) [1581405] - [crypto] crypto: skcipher - fix crash flushing dcache in error path (David Gibson) [1724370] - [netdrv] bnx2x: Prevent load reordering in tx completion processing (Manish Chopra) [1729599] - [x86] x86/boot/KASLR: Always return a value from process_mem_region (Baoquan He) [1564822] - [x86] x86/kexec: Add the ACPI NVS region to the ident map (Baoquan He) [1564822] - [x86] x86/boot: Call get_rsdp_addr() after console_init() (Baoquan He) [1564822] - [x86] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernels (Baoquan He) [1564822] - [x86] x86/kexec: Add the EFI system tables and ACPI tables to the ident map (Baoquan He) [1564822] - [x86] x86/boot: Fix incorrect ifdeffery scope (Baoquan He) [1564822] - [x86] x86/boot: Correct RSDP parsing with 32-bit EFI (Baoquan He) [1564822] - [x86] x86/boot: Fix randconfig build error due to MEMORY_HOTREMOVE (Baoquan He) [1564822] - [x86] x86/boot: Fix cmdline_find_option() prototype visibility (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Limit KASLR to extract the kernel in immovable memory only (Baoquan He) [1564822] - [x86] x86/boot: Parse SRAT table and count immovable memory regions (Baoquan He) [1564822] - [x86] x86/boot: Early parse RSDP and save it in boot_params (Baoquan He) [1564822] - [x86] x86/boot: Search for RSDP in memory (Baoquan He) [1564822] - [x86] x86/boot: Search for RSDP in the EFI tables (Baoquan He) [1564822] - [x86] x86/boot: Add "acpi_rsdp=" early parsing (Baoquan He) [1564822] - [x86] x86/boot: Copy kstrtoull() to boot/string.c (Baoquan He) [1564822] - [x86] x86/boot: Use CC_SET()/CC_OUT() instead of open coding it (Baoquan He) [1564822] - [x86] x86/boot: Build the command line parsing code unconditionally (Baoquan He) [1564822] - [x86] x86/boot: Clear RSDP address in boot_params for broken loaders (Baoquan He) [1564822] - [x86] x86/acpi, x86/boot: Take RSDP address from boot params if available (Baoquan He) [1564822] - [x86] x86/boot: Mostly revert commit ae7e1238e68f2a ("Add ACPI RSDP address to setup_header") (Baoquan He) [1564822] - [x86] x86/acpi, x86/boot: Take RSDP address for boot params if available (Baoquan He) [1564822] - [x86] x86/boot: Add ACPI RSDP address to setup_header (Baoquan He) [1564822] - [x86] x86/xen: Fix boot loader version reported for PVH guests (Baoquan He) [1564822] - [x86] x86/boot: Add missing va_end() to die() (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Remove return value from handle_mem_options() (Baoquan He) [1564822] - [x86] x86/boot/KASLR: Make local variable mem_limit static (Baoquan He) [1564822] - [crypto] crypto: user - prevent operating on larval algorithms (Herbert Xu) [1728835]- [scsi] scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA (Tomas Henzl) [1734769] - [netdrv] bonding: Force slave speed check after link state recovery for 802.3ad (Jarod Wilson) [1732820] - [pci] PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary (Mohammed Gamal) [1733302] - [pci] PCI: hv: Add hv_pci_remove_slots() when we unload the driver (Mohammed Gamal) [1733302] - [pci] PCI: hv: Fix a use-after-free bug in hv_eject_device_work() (Mohammed Gamal) [1733302] - [pci] PCI: hv: Fix a memory leak in hv_eject_device_work() (Mohammed Gamal) [1733302] - [nvme] nvmet: fix setting ns queue's segment boundary (Ming Lei) [1734458]- [tools] perf script python: Remove explicit shebang from setup.py (Michael Petlan) [1664768 1663814] - [tools] perf script python: Remove explicit shebang from tests/attr.c (Michael Petlan) [1664768 1663814] - [tools] perf script python: Remove explicit shebang from Python scripts (Michael Petlan) [1664768 1663814] - [tools] perf script python: Use PyBytes for attr in trace-event-python (Michael Petlan) [1664768 1663814] - [tools] perf script python: Add trace_context extension module to sys.modules (Michael Petlan) [1663814 1664768] - [tools] perf scripts python: exported-sql-viewer.py: Fix python3 support (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to export-to-sqlite.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to export-to-postgresql.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to exported-sql-viewer.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to intel-pt-events.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to event_analyzing_sample.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: add Python3 support to check-perf-trace.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to futex-contention.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Remove mixed indentation (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to syscall-counts-by-pid.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to syscall-counts.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to stackcollapse.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to sctop.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to powerpc-hcalls.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to net_dropmonitor.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to mem-phys-addr.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to failed-syscalls-by-pid.py (Michael Petlan) [1663814 1664768] - [tools] perf script python: Add Python3 support to netdev-times.py (Michael Petlan) [1663814 1664768] - [powerpc] mm_iommu: Allow pinning large regions (David Gibson) [1629531] - [powerpc] mm_iommu: Fix potential deadlock (David Gibson) [1629531] - [powerpc] mm/iommu: allow large IOMMU page size only for hugetlb backing (David Gibson) [1629531] - [powerpc] mm/iommu: allow migration of cma allocated pages during mm_iommu_do_alloc (David Gibson) [1629531] - [mm] update get_user_pages_longterm to migrate pages allocated from CMA region (David Gibson) [1629531] - [kernel] mm/cma: add PF flag to force non cma alloc (David Gibson) [1629531] - [net] tcp: be more careful in tcp_fragment() (Marcelo Leitner) [1732103] - [net] tipc: initialize 'validated' field of received packets (Jon Maloy) [1730574] - [documentation] networking: fix default_ttl typo in mpls-sysctl (Hangbin Liu) [1724882]- [powerpc] powerpc/mm: Limit rma_size to 1TB when running without HV mode (Suraj Jitindar Singh) [1723297] - [x86] kvm: nvmx: Set cached_vmcs12 and cached_shadow_vmcs12 NULL after free (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: do not use dangling shadow VMCS after guest reset (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Clear pending KVM_REQ_GET_VMCS12_PAGES when leaving nested (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Change KVM_STATE_NESTED_EVMCS to signal vmcs12 is copied from eVMCS (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Allow restore nested-state to enable eVMCS when vCPU in SMM (Paolo Bonzini) [1732096] - [tools] kvm: nvmx: reorganize initial steps of vmx_set_nested_state (Paolo Bonzini) [1732096] - [x86] kvm: x86: Modify struct kvm_nested_state to have explicit fields for data (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Clear nested_run_pending if setting nested state fails (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: really fix the size checks on KVM_SET_NESTED_STATE (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: Set nested_run_pending in vmx_set_nested_state after checks complete (Paolo Bonzini) [1732096] - [x86] kvm: nvmx: KVM_SET_NESTED_STATE - Tear down old EVMCS state before setting new state (Paolo Bonzini) [1732096] - [tools] kvm: selftests: avoid type punning (Paolo Bonzini) [1732096] - [tools] tests: kvm: Add tests for KVM_SET_NESTED_STATE (Paolo Bonzini) [1732096] - [x86] kvm: x86/mmu: Allocate PAE root array when using SVM's 32-bit NPT (Paolo Bonzini) [1732096] - [x86] kvm: lapic: Fix pending interrupt in IRR blocked by software disable LAPIC (Paolo Bonzini) [1732096] - [x86] kvm: x86: Dynamically allocate user_fpu (Paolo Bonzini) [1732096] - [x86] revert "kvm: x86: Use task structs fpu field for user" (Paolo Bonzini) [1732096] - [x86] hyperv: suppress "pci: fatal: No config space access function found" (Raghavendra Rao) [1734265] - [powerpc] [kvm] kvm: ppc: book3s hv: Save and restore guest visible PSSCR bits on pseries (Suraj Jitindar Singh) [1710726] - [powerpc] pmu: Set pmcregs_in_use in paca when running as LPAR (Suraj Jitindar Singh) [1710726] - [powerpc] [kvm] kvm: ppc: book3s hv: Always save guest pmu for guest capable of nesting (Suraj Jitindar Singh) [1710726] - [powerpc] kvm: ppc: book3s hv: xive: fix rollback when kvmppc_xive_create fails (David Gibson) [1731900] - [powerpc] powerpc/pseries: Fix xive=off command line (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: don't use string functions from lib/ (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc: remove CONFIG_CMDLINE #ifdef mess (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc: Move `path` variable inside DEBUG_PROM (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Generate "phandle" instead of "linux, phandle" (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Move a few remaining statics to appropriate sections (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Move prom_radix_disable to __prombss (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Remove support for OPAL v2 (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Replace __initdata with __prombss when applicable (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/prom_init: Make of_workarounds static (Desnes Augusto Nunes do Rosario) [1731400] - [powerpc] powerpc/powernv/idle: Restore AMR/UAMOR/AMOR after idle (David Gibson) [1730183] - [powerpc] powerpc/powernv/idle: Restore IAMR after idle (David Gibson) [1730183]- [kernel] fork: report pid exhaustion correctly (Don Dutile) [1726448] - [lib] idr: Fix idr_get_next race with idr_remove (Don Dutile) [1726448] - [kernel] Fix failure path in alloc_pid() (Don Dutile) [1726448] - [target] scsi: iscsi: set auth_protocol back to NULL if CHAP_A value is not supported (Maurizio Lombardi) [1733498]- [infiniband] IB/umem: Add missing down_read on umem_rwsem (Alaa Hleihel) [1733188] - [fs] gfs2: Fix rounding error in gfs2_iomap_page_prepare (Andreas Grunbacher) [1733621] - [s390] s390/qeth: cancel cmd on early error (Philipp Rudo) [1731430] - [s390] s390/qeth: simplify reply object handling (Philipp Rudo) [1731430] - [s390] s390/qeth: release cmd buffer in error paths (Philipp Rudo) [1731430] - [mm] mm: hugetlb: soft-offline: dissolve_free_huge_page() return zero on !PageHuge (Rafael Aquini) [1706088] - [mm] mm: soft-offline: return -EBUSY if set_hwpoison_free_buddy_page() fails (Rafael Aquini) [1706088] - [mm] mm: soft-offline: close the race against page allocation (Rafael Aquini) [1706088] - [mm] mm: fix race on soft-offlining free huge pages (Rafael Aquini) [1706088] - [pci] PCI: Probe bridge window attributes once at enumeration-time (Myron Stowe) [1730763] - [mm] swap_readpage(): avoid blk_wake_io_task() if !synchronous (Ming Lei) [1724016] - [mm] mm/page_io.c: fix polled swap page in (Ming Lei) [1724016] - [include] fs: fix kABI for struct pipe_buf_operations (Miklos Szeredi) [1705007] {CVE-2019-11487} - [fs] fs: prevent page refcount overflow in pipe_buf_get (Miklos Szeredi) [1705007] {CVE-2019-11487} - [mm] mm: prevent get_user_pages() from overflowing page refcount (Miklos Szeredi) [1705007] {CVE-2019-11487} - [include] mm: add 'try_get_page()' helper function (Miklos Szeredi) [1705007] {CVE-2019-11487} - [include] mm: make page ref count overflow check tighter and more explicit (Miklos Szeredi) [1705007] {CVE-2019-11487} - [fs] fuse: call pipe_buf_release() under pipe lock (Miklos Szeredi) [1705007] {CVE-2019-11487} - [kernel] trace: Fix preempt_enable_no_resched() abuse (Phil Auld) [1705550] - [kernel] sched/numa: Fix a possible divide-by-zero (Phil Auld) [1705550] - [kernel] sched/core: Fix buffer overflow in cgroup2 property cpu.max (Phil Auld) [1705550] - [kernel] sched/fair: Remove unused 'sd' parameter from select_idle_smt() (Phil Auld) [1705550] - [kernel] sched/topology: Remove the ::smt_gain field from 'struct sched_domain' cleanups (Phil Auld) [1705550] - [kernel] sched/numa: Remove unused code from update_numa_stats() (Phil Auld) [1705550]- [s390] virtio/s390: fix race on airq_areas[] (Cornelia Huck) [1733499] - [powerpc] powerpc: ignore __GFP_DMA/DMA32 if we left an empty ZONE_DMA/DMA32 enabled for kABI purposes (David Gibson) [1728314] - [netdrv] bnx2x: Disable multi-cos feature. (Manish Chopra) [1679024] - [char] tpm: tpm_ibm_vtpm: Fix unallocated banks (Jerry Snitselaar) [1726126] - [scsi] scsi: ibmvfc: fix WARN_ON during event pool release (Steve Best) [1731133] - [tools] perf vendor events power9: General metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Branch_prediction, instruction_stats, latency, lsu_rejects, memory, prefetch & translation metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Dl1_reloads, instruction_misses, l[23]_stats & pteg_reloads metrics (Michael Petlan) [1694638] - [tools] perf vendor events power9: Cpi_breakdown & estimated_dcache_miss_cpi metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Translaton & general metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Branch_prediction, latency, bus_stats, instruction_mix & instruction_stats metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Dl1_reload, instruction_misses, l2_stats, lsu_rejects, memory & pteg_reloads metrics (Michael Petlan) [1694638] - [tools] perf vendor events power8: Cpi_breakdown & estimated_dcache_miss_cpi metrics (Michael Petlan) [1694638] - [powerpc] powerpc/tm: Fix oops on sigreturn on systems without TM (Steve Best) [1732753] - [net] net/mlx5e: Add ndo_set_feature for uplink representor (Alaa Hleihel) [1727708] - [misc] VMCI: Fix integer overflow in VMCI handle arrays (Cathy Avery) [1729587] - [tools] perf version: Fix segfault due to missing OPT_END() (Michael Petlan) [1732065] - [sound] ALSA: hda/realtek - Headphone Mic can't record after S3 (Jaroslav Kysela) [1727676] - [char] random: fix CRNG initialization when random.trust_cpu=1 (Oleksandr Natalenko) [1728583] - [char] random: move rand_initialize() earlier (Oleksandr Natalenko) [1728583] - [char] random: make CPU trust a boot parameter (Oleksandr Natalenko) [1728583] - [char] random: add a config option to trust the CPU's hwrng (Oleksandr Natalenko) [1728583] - [fs] blockdev: Fix livelocks on loop device (Ming Lei) [1683593] - [block] nbd: Use set_blocksize() to set device blocksize (Ming Lei) [1683593] - [kernel] ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME (Aristeu Rozanski) [1730959] {CVE-2019-13272}- [include] linux/printk.h: use DYNAMIC_DEBUG_BRANCH in pr_debug_ratelimited (Mike Snitzer) [1729301] - [include] dm: use printk ratelimiting functions (Mike Snitzer) [1729301] - [md] dm crypt: move detailed message into debug level (Mike Snitzer) [1729301] - [powerpc] powerpc/xive: Fix loop exit-condition in xive_find_target_in_mask() (Steve Best) [1731838] - [s390] s390/qeth: be drop monitor friendly (Philipp Rudo) [1731200] - [s390] s390/cpumf: Add extended counter set definitions for model 8561 and 8562 (Philipp Rudo) [1731195] - [s390] s390/qdio: handle PENDING state for QEBSM devices (Philipp Rudo) [1731194] - [net] net/af_iucv: build proper skbs for HiperTransport (Philipp Rudo) [1731193] - [net] net/af_iucv: remove GFP_DMA restriction for HiperTransport (Philipp Rudo) [1731193] - [wireless] iwlwifi: mvm: disable TX-AMSDU on older NICs (Jarod Wilson) [1728992] - [wireless] carl9170: fix misuse of device driver API (Jarod Wilson) [1728992] - [wireless] p54: fix crash during initialization (Jarod Wilson) [1728992] - [wireless] p54usb: Fix race between disconnect and firmware loading (Jarod Wilson) [1728992] - [wireless] mwifiex: Don't abort on small, spec-compliant vendor IEs (Jarod Wilson) [1728992] - [wireless] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 507 (Jarod Wilson) [1728992] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 505 (Jarod Wilson) [1728992] - [wireless] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 501 (Jarod Wilson) [1728992] - [net] treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 (Jarod Wilson) [1728992] - [wireless] brcmfmac: sdio: Don't tune while the card is off (Jarod Wilson) [1728992] - [wireless] brcmfmac: sdio: Disable auto-tuning around commands expected to fail (Jarod Wilson) [1728992] - [mmc] mmc: core: Add sdio_retune_hold_now() and sdio_retune_release() (Jarod Wilson) [1728992] - [mmc] mmc: core: API to temporarily disable retuning for SDIO CRC errors (Jarod Wilson) [1728992] - [wireless] Revert "brcmfmac: disable command decode in sdio_aos" (Jarod Wilson) [1728992] - [net] cfg80211: report measurement start TSF correctly (Jarod Wilson) [1728992] - [net] cfg80211: fix memory leak of wiphy device name (Jarod Wilson) [1728992] - [net] cfg80211: util: fix bit count off by one (Jarod Wilson) [1728992] - [net] mac80211: do not start any work during reconfigure flow (Jarod Wilson) [1728992] - [net] cfg80211: use BIT_ULL in cfg80211_parse_mbssid_data() (Jarod Wilson) [1728992] - [net] mac80211: only warn once on chanctx_conf being NULL (Jarod Wilson) [1728992] - [net] mac80211: drop robust management frames from unknown TA (Jarod Wilson) [1728992] - [wireless] mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies() (Jarod Wilson) [1728992 1721749] {CVE-2019-10126} - [wireless] iwlwifi: mvm: change TLC config cmd sent by rs to be async (Jarod Wilson) [1728992] - [wireless] iwlwifi: Fix double-free problems in iwl_req_fw_callback() (Jarod Wilson) [1728992] - [wireless] iwlwifi: fix AX201 killer sku loading firmware issue (Jarod Wilson) [1728992] - [wireless] iwlwifi: print fseq info upon fw assert (Jarod Wilson) [1728992] - [wireless] iwlwifi: clear persistence bit according to device family (Jarod Wilson) [1728992] - [wireless] iwlwifi: fix load in rfkill flow for unified firmware (Jarod Wilson) [1728992] - [wireless] iwlwifi: mvm: remove d3_sram debugfs file (Jarod Wilson) [1728992] - [wireless] mwifiex: Abort at too short BSS descriptor element (Jarod Wilson) [1728992 1714476] {CVE-2019-3846} - [wireless] mwifiex: Fix possible buffer overflows at parsing bss descriptor (Jarod Wilson) [1728992 1714476] {CVE-2019-3846} - [net] mac80211: free peer keys before vif down in mesh (Jarod Wilson) [1728992] - [wireless] rtw88: Make some symbols static (Jarod Wilson) [1728992] - [wireless] rtw88: avoid circular locking between local->iflist_mtx and rtwdev->mutex (Jarod Wilson) [1728992] - [wireless] rtw88: fix unassigned rssi_level in rtw_sta_info (Jarod Wilson) [1728992] - [wireless] rtw88: fix subscript above array bounds compiler warning (Jarod Wilson) [1728992] - [net] mac80211: mesh: fix RCU warning (Jarod Wilson) [1728992] - [net] nl80211: fix station_info pertid memory leak (Jarod Wilson) [1728992] - [net] mac80211: Do not use stack memory with scatterlist for GMAC (Jarod Wilson) [1728992] - [net] {nl,mac}80211: allow 4addr AP operation on crypto controlled devices (Jarod Wilson) [1728992] - [wireless] mac80211_hwsim: mark expected switch fall-through (Jarod Wilson) [1728992] - [net] mac80211: fix rate reporting inside cfg80211_calculate_bitrate_he() (Jarod Wilson) [1728992] - [net] mac80211: remove set but not used variable 'old' (Jarod Wilson) [1728992] - [net] mac80211: handle deauthentication/disassociation from TDLS peer (Jarod Wilson) [1728992] - [net] wireless: Skip directory when generating certificates (Jarod Wilson) [1728992] - [netdrv] i40e: Check and set the PF driver state first in i40e_ndo_set_vf_mac (Stefan Assmann) [1719538] - [fs] cifs: fix crash in smb2_compound_op()/smb2_set_next_command() (Leif Sahlberg) [1722704] - [firmware] efi/arm: Show SMBIOS bank/device location in CPER and GHES error logs (Robert Richter) [1721386]- [x86] x86/speculation: Allow guests to use SSBD even if host does not (Waiman Long) [1728341] - [block] block: kill BLK_MQ_F_SG_MERGE (Ming Lei) [1716595] - [block] block: kill QUEUE_FLAG_NO_SG_MERGE (Ming Lei) [1716595]- [x86] x86/insn-eval: Fix use-after-free access to LDT entry (Rafael Aquini) [1728561] {CVE-2019-13233} - [arm64] arm64/mm: Correct the cache line size warning with non coherent device (Mark Salter) [1715061] - [arm64] arm64: cacheinfo: Update cache_line_size detected from DT or PPTT (Mark Salter) [1715061] - [base] drivers: base: cacheinfo: Add variable to record max cache line size (Mark Salter) [1715061] - [arm64] arm64: cpufeature: Trap CTR_EL0 access only where it is necessary (Mark Salter) [1715061] - [arm64] arm64: cpufeature: Fix handling of CTR_EL0.IDC field (Mark Salter) [1715061] - [arm64] arm64: cpufeature: ctr: Fix cpu capability check for late CPUs (Mark Salter) [1715061] - [arm64] arm64: cpu_errata: Remove ARM64_MISMATCHED_CACHE_LINE_SIZE (Mark Salter) [1715061] - [fs] gfs2: Clean up freeing struct gfs2_sbd (Robert S Peterson) [1683698] - [target] scsi: target/iblock: Fix overrun in WRITE SAME emulation (Maurizio Lombardi) [1729503] - [x86] kvm/nvmx: fix VMCLEAR when Enlightened VMCS is in use (Vitaly Kuznetsov) [1717785] - [x86] kvm/nvmx: don't use clean fields data on enlightened VMLAUNCH (Vitaly Kuznetsov) [1717785] - [x86] kvm: nvmx: use correct clean fields when copying from eVMCS (Vitaly Kuznetsov) [1717785] - [fs] NFS4: Only set creation opendata if O_CREAT (Benjamin Coddington) [1708471] - [tools] perf test: Fix failure of 'evsel-tp-sched' test on s390 (Michael Petlan) [1729213] - [fs] PNFS fallback to MDS if no deviceid found (Benjamin Coddington) [1708386] - [mm] mm, memcg: add a memcg_slabinfo debugfs file (Waiman Long) [1699202] - [mm] mm: memcg/slab: reparent memcg kmem_caches on cgroup removal (Waiman Long) [1699202] - [mm] mm: memcg/slab: stop setting page->mem_cgroup pointer for slab pages (Waiman Long) [1699202] - [mm] mm: memcg/slab: rework non-root kmem_cache lifecycle management (Waiman Long) [1699202] - [mm] mm: memcg/slab: synchronize access to kmem_cache dying flag using a spinlock (Waiman Long) [1699202] - [mm] mm: memcg/slab: don't check the dying flag on kmem_cache creation (Waiman Long) [1699202] - [mm] mm: memcg/slab: unify SLAB and SLUB page accounting (Waiman Long) [1699202] - [mm] mm: memcg/slab: introduce __memcg_kmem_uncharge_memcg() (Waiman Long) [1699202] - [mm] mm: memcg/slab: generalize postponed non-root kmem_cache deactivation (Waiman Long) [1699202] - [mm] mm: memcg/slab: rename slab delayed deactivation functions and fields (Waiman Long) [1699202] - [mm] mm: memcg/slab: postpone kmem_cache memcg pointer initialization to memcg_link_cache() (Waiman Long) [1699202] - [mm] slub: add comments to endif pre-processor macros (Waiman Long) [1699202] - [mm] mm, slab: shorten kmalloc cache names for large sizes (Waiman Long) [1699202] - [base] mm, proc: add KReclaimable to /proc/meminfo (Waiman Long) [1699202] - [mm] mm: rename and change semantics of nr_indirectly_reclaimable_bytes (Waiman Long) [1699202] - [fs] dcache: allocate external names from reclaimable kmalloc caches (Waiman Long) [1699202] - [mm] mm, slab/slub: introduce kmalloc-reclaimable caches (Waiman Long) [1699202] - [mm] mm, slab: combine kmalloc_caches and kmalloc_dma_caches (Waiman Long) [1699202] - [mm] mm: don't warn about large allocations for slab (Waiman Long) [1699202] - [mm] slab: Replace synchronize_sched() with synchronize_rcu() (Waiman Long) [1699202] - [acpi] ACPI / PM: LPIT: Register sysfs attributes based on FADT (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Quirk to ignore XTAL shutdown (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Add Package cstates residency info (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc_core: Add ICL platform support (Lenny Szubowicz) [1493461] - [platform] platform/x86: intel_pmc: Sort headers alphabetically (Lenny Szubowicz) [1493461] - [net] Revert "[net] net: openvswitch: Add a new action check_pkt_len" ("Herton R. Krzesinski")- [nvme] nvme-rdma: use nr_phys_segments when map rq to sgl (David Milburn) [1729113] - [nvme] nvme-loop: kill timeout handler (Ming Lei) [1692744] - [netdrv] bnxt_en: Suppress error messages when querying DSCP DCB capabilities. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Cap the returned MSIX vectors to the RDMA driver. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix statistics context reservation logic for RDMA driver. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix ethtool selftest crash under error conditions. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Disable bus master during PCI shutdown and driver unload. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Reduce memory usage when running in kdump kernel. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix possible BUG() condition when calling pci_disable_msix(). (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix aggregation buffer leak under OOM condition. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Improve NQ reservations. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix uninitialized variable usage in bnxt_rx_pkt(). (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix statistics context reservation logic. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Pass correct extended TX port statistics size to firmware. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Fix possible crash in bnxt_hwrm_ring_free() under error conditions. (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Free short FW command HWRM memory in error path in bnxt_init_one() (Selvin Xavier) [1727972] - [netdrv] bnxt_en: Improve multicast address setup logic. (Selvin Xavier) [1727972] - [net] net: openvswitch: Add a new action check_pkt_len (Numan Siddique) [1700733]- [crypto] crypto: vmx - ghash: do nosimd fallback manually (Desnes Augusto Nunes do Rosario) [1729532] - [crypto] crypto: vmx - CTR: always increment IV as quadword (Desnes Augusto Nunes do Rosario) [1729532] - [net] vsock/virtio: fix flush of works during the .remove() (Stefano Garzarella) [1700312] - [net] vsock/virtio: stop workers during the .remove() (Stefano Garzarella) [1700312] - [net] vsock/virtio: use RCU to avoid use-after-free on the_virtio_vsock (Stefano Garzarella) [1700312] - [net] vsock/virtio: Initialize core virtio vsock before registering the driver (Stefano Garzarella) [1700312] - [nvme] nvme-fabrics: document the poll function argument (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: fix queue mapping when queue count is limited (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: rework queue maps handling (David Milburn) [1727784 1725132] - [nvme] nvme-rdma: implement polling queue map (David Milburn) [1727784 1725132] - [nvme] nvme-fabrics: allow nvmf_connect_io_queue to poll (David Milburn) [1727784 1725132] - [hid] HID: multitouch: Add pointstick support for ALPS Touchpad (Benjamin Tissoires) [1672423]- [tools] perf header: Assign proper ff->ph in perf_event__synthesize_features() (Michael Petlan) [1667983] - [pci] PCI/IOV: Assume SR-IOV VFs support extended config space. (Myron Stowe) [1714978] - [pci] Revert "PCI/IOV: Use VF0 cached config space size for other VFs" (Myron Stowe) [1714978] - [x86] x86/crash: Add e820 reserved ranges to kdump kernel's e820 table (Lianbo Jiang) [1630108] - [mm] x86/mm: Rework ioremap resource mapping determination (Lianbo Jiang) [1630108] - [x86] x86/e820, ioport: Add a new I/O resource descriptor IORES_DESC_RESERVED (Lianbo Jiang) [1630108] - [kernel] resource: Fix find_next_iomem_res() iteration issue (Lianbo Jiang) [1630108] - [kernel] resource: Include resource end in walk_*() interfaces (Lianbo Jiang) [1630108] - [x86] x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error (Lianbo Jiang) [1630108] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.3 (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix kernel warnings related to smp_processor_id() (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix BFS crash with DIX enabled (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix FDMI fc4type for nvme support (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix fcp_rsp_len checking on lun reset (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix poor use of hardware queues if fewer irq vectors (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix oops when driver is loaded with 1 interrupt vector (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix incorrect logical link speed on trunks when links down (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix memory leak in abnormal exit path from lpfc_eq_create (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Rework misleading nvme not supported in firmware message (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix hardlockup in scsi_cmd_iocb_cmpl (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Cancel queued work for an IO when processing a received ABTS (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Prevent 'use after free' memory overwrite in nvmet LS handling (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix PT2PT PLOGI collison stopping discovery (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Revert message logging on unsupported topology (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix nvmet handling of received ABTS for unmapped frames (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Separate CQ processing for nvmet_fc upcalls (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Revise message when stuck due to unresponsive adapter (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Correct nvmet buffer free race condition (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix nvmet target abort cmd matching (Dick Kennedy) [1717027] - [scsi] scsi: lpfc: Fix alloc context on oas lun creations (Dick Kennedy) [1717027]- [virt] kvm: fix guest initialization code mismerge (Marcelo Tosatti) [1726487] - [powerpc] powerpc/watchpoint: Restore NV GPRs while returning from exception (Steve Best) [1728557] - [fs] fs/proc/vmcore: Enable dumping of encrypted memory when SEV was active (Lianbo Jiang) [1646810] - [x86] x86/kexec: Set the C-bit in the identity map page table when SEV is active (Lianbo Jiang) [1646810] - [x86] x86/kexec: Do not map kexec area as decrypted when SEV is active (Lianbo Jiang) [1646810] - [mm] x86/mm: Do not use set_{pud, pmd}_safe() when splitting a large page (Lianbo Jiang) [1646810]- [net] sched: protect against stack overflow in TC act_mirred (Ivan Vecera) [1726399] - [net] sched: refactor reinsert action (Ivan Vecera) [1726399] - [net] mpls: Fix 6PE forwarding (Hangbin Liu) [1726533] - [net] make skb_dst_force return true when dst is refcounted (Florian Westphal) [1704809] - [net] ipv4: Fix off-by-one in route dump counter without netlink strict checking (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6: fix suspicious RCU usage in rt6_dump_route() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4: fix suspicious RCU usage in fib_dump_info_fnhe() (Stefano Brivio) [1725383 1725381 1574290] - [net] ip6_fib: Don't discard nodes with valid routing information in fib6_locate_1() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6: Dump route exceptions if requested (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv6/route: Change return code of rt6_dump_route() for partial node dumps (Stefano Brivio) [1725383 1725381 1574290] - [net] revert "net/ipv6: Bail early if user only wants cloned entries" (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4: Dump route exceptions if requested (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4/route: Allow NULL flowinfo in rt_fill_info() (Stefano Brivio) [1725383 1725381 1574290] - [net] ipv4/fib_frontend: Allow RTM_F_CLONED flag to be used for filtering (Stefano Brivio) [1725383 1725381 1574290] - [net] fib_frontend, ip6_fib: Select routes or exceptions dump from RTM_F_CLONED (Stefano Brivio) [1725383 1725381 1574290] - [tools] selftests: bpf: disable test_lwt_seg6local (Jiri Benc) [1716346] - [netdrv] ipvlan: Fix ipvlan device tso disabled while NETIF_F_IP_CSUM is set (Matteo Croce) [1725125] - [netdrv] ipvlan: disallow userns cap_net_admin to change global mode/flags (Matteo Croce) [1725124] - [net] netfilter: nft_fib: Fix existence check support (Phil Sutter) [1680578] - [net] ipset: Fix memory accounting for hash types on resize (Stefano Brivio) [1714111] - [tools] selftests: pmtu: Make list_flush_ipv6_exception test more demanding (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce list_flush_ipv4_exception test case (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce list_flush_ipv6_exception test case (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Add support for routing via nexthop objects (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Move route installs to a new function (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Move running of test into a new function (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Fix encapsulating device in pmtu_vti6_link_change_mtu (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Simplify cleanup and namespace names (Stefano Brivio) [1725384] - [tools] selftests: pmtu.sh: Remove quotes around commands in setup_xfrm (Stefano Brivio) [1725384] - [tools] selftests: Add debugging options to pmtu.sh (Stefano Brivio) [1725384] - [tools] selftests: pmtu: add explicit tests for PMTU exceptions cleanup (Stefano Brivio) [1725384] - [tools] selftests: pmtu: disable DAD in all namespaces (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce FoU and GUE PMTU exceptions tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce tests for IPv4/IPv6 over GENEVE over IPv4/IPv6 (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce tests for IPv4/IPv6 over VXLAN over IPv4/IPv6 (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Add optional traffic captures for single tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Allow selection of single tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: add basic IPv4 and IPv6 PMTU tests (Stefano Brivio) [1725384] - [tools] selftests: pmtu: extend MTU parsing helper to locked MTU (Stefano Brivio) [1725384] - [tools] selftests: pmtu: Introduce check_pmtu_value() (Stefano Brivio) [1725384] - [tools] selftests: pmtu: properly redirect stderr to /dev/null (Stefano Brivio) [1725384] - [tools] selftests: pmtu: detect correct binary to ping ipv6 addresses (Stefano Brivio) [1725384] - [net] ipv6: icmp: Updating pmtu for link local route (Guillaume Nault) [1721961] - [net] bridge: Mark FDB entries that were added by user as such (Ivan Vecera) [1724400] - [net] tipc: change to use register_pernet_device (Xin Long) [1719136] - [net] sched: cls_flower: fix infinite loop in fl_walk() (Davide Caratti) [1712739]- [rpmspec] redhat: fix vmlinux debuginfo on ppc64le (Jan Stancek) [1727638] - [powerpc] powerpc/rtas: retry when cpu offline races with suspend/migration (Steve Best) [1727051] - [kernel] arm64/crashkernel: Reduce crashkernel size to 448M by default (Bhupesh Sharma) [1564422]- [scsi] scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task (Chris Leech) [1718875] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.2 (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: add check for loss of ndlp when sending RRQ (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: correct rcu unlock issue in lpfc_nvme_info_show (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: resolve lockdep warnings (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Make lpfc_sli4_oas_verify static (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix a recently introduced compiler warning (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix missing wakeups on abort threads (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Change smp_processor_id() into raw_smp_processor_id() (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Remove unused functions (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Remove set-but-not-used variables (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Move trunk_errmsg[] from a header file into a .c file (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Annotate switch/case fall-through (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Fix indentation and balance braces (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: Declare local functions static (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: avoid uninitialized variable warning (Dick Kennedy) [1714795] - [scsi] scsi: lpfc: change snprintf to scnprintf for possible overflow (Dick Kennedy) [1714795] - [net] Bluetooth: hidp: fix buffer overflow (Gopal Tiwari) [1723654] {CVE-2019-11884} - [s390] virtio/s390: make airq summary indicators DMA (Philipp Rudo) [1651752] - [s390] virtio/s390: use DMA memory for ccw I/O and classic notifiers (Philipp Rudo) [1651752] - [s390] virtio/s390: add indirection to indicators access (Philipp Rudo) [1651752] - [s390] virtio/s390: use cacheline aligned airq bit vectors (Philipp Rudo) [1651752] - [s390] s390/airq: use DMA memory for adapter interrupts (Philipp Rudo) [1651752] - [s390] s390/cio: add basic protected virtualization support (Philipp Rudo) [1651752] - [s390] s390/cio: introduce DMA pools to cio (Philipp Rudo) [1651752] - [s390] s390/mm: force swiotlb for protected virtualization (Philipp Rudo) [1651752] - [s390] virtio/s390: DMA support for virtio-ccw (Philipp Rudo) [1651752] - [s390] virtio/s390: use vring_create_virtqueue (Philipp Rudo) [1651752] - [block] virtio-blk: Consider virtio_max_dma_size() for maximum segment size (Philipp Rudo) [1651752] - [virtio] virtio: Introduce virtio_max_dma_size() (Philipp Rudo) [1651752] - [kernel] dma: Introduce dma_max_mapping_size() (Philipp Rudo) [1651752] - [kernel] swiotlb: Add is_swiotlb_active() function (Philipp Rudo) [1651752] - [kernel] swiotlb: Introduce swiotlb_max_mapping_size() (Philipp Rudo) [1651752] - [mm] x86/mm: Create a workarea in the kernel for SME early encryption (Lianbo Jiang) [1564427] - [x86] x86/mm: Identify the end of the kernel area to be reserved (Lianbo Jiang) [1564427] - [x86] x86/kdump: Export the SME mask to vmcoreinfo (Lianbo Jiang) [1564427] - [fs] proc/vmcore: Fix i386 build error of missing copy_oldmem_page_encrypted() (Lianbo Jiang) [1564427] - [fs] kdump, proc/vmcore: Enable kdumping encrypted memory with SME enabled (Lianbo Jiang) [1564427] - [iommu] iommu/amd: Remap the IOMMU device table with the memory encryption mask for kdump (Lianbo Jiang) [1564427] - [kernel] kexec: Allocate decrypted control pages for kdump if SME is enabled (Lianbo Jiang) [1564427] - [mm] x86/ioremap: Add an ioremap_encrypted() helper (Lianbo Jiang) [1564427] - [documentation] Documentation: Add ARM64 to kernel-parameters.rst (Jeremy Linton) [1640855] - [arm64] arm64/speculation: Support 'mitigations=' cmdline option (Jeremy Linton) [1640855] - [arm64] arm64: ssbs: Don't treat CPUs with SSBS as unaffected by SSB (Jeremy Linton) [1640855] - [arm64] arm64: enable generic CPU vulnerabilites support (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for speculative store bypass (Jeremy Linton) [1640855] - [arm64] arm64: Always enable ssb vulnerability detection (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for spectre-v2 (Jeremy Linton) [1640855] - [arm64] arm64: Always enable spectre-v2 vulnerability detection (Jeremy Linton) [1640855] - [arm64] arm64: Use firmware to detect CPUs that are not affected by Spectre-v2 (Jeremy Linton) [1640855] - [arm64] arm64: Advertise mitigation of Spectre-v2, or lack thereof (Jeremy Linton) [1640855] - [arm64] arm64: add sysfs vulnerability show for meltdown (Jeremy Linton) [1640855] - [arm64] arm64: Add sysfs vulnerability show for spectre-v1 (Jeremy Linton) [1640855] - [arm64] arm64: Provide a command line to disable spectre_v2 mitigation (Jeremy Linton) [1640855] - [documentation] powerpc/fsl: Add FSL_PPC_BOOK3E as supported arch for nospectre_v2 boot arg (Jeremy Linton) [1640855] - [documentation] Documentation: Document arm64 kpti control (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Whitelist HiSilicon Taishan v110 CPUs (Jeremy Linton) [1640855] - [arm64] arm64: Add MIDR encoding for HiSilicon Taishan CPUs (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Update arm64_kernel_use_ng_mappings() when forced on (Jeremy Linton) [1640855] - [arm64] arm64: kpti: Avoid rewriting early page tables when KASLR is enabled (Jeremy Linton) [1640855] - [arm64] arm64: capabilities: Merge duplicate Cavium erratum entries (Jeremy Linton) [1640855] - [arm64] arm64: capabilities: Merge entries for ARM64_WORKAROUND_CLEAN_CACHE (Jeremy Linton) [1640855] - [arm64] arm64: Use a raw spinlock in __install_bp_hardening_cb() (Jeremy Linton) [1640855] - [arm64] arm64: KVM: Guests can skip __install_bp_hardening_cb()s HYP work (Jeremy Linton) [1640855] - [arm64] arm64: fix SSBS sanitization (Jeremy Linton) [1640855] - [arm64] arm64: don't zero DIT on signal return (Jeremy Linton) [1640855] - [kvm] KVM: arm64: Set SCTLR_EL2.DSSBS if SSBD is forcefully disabled and !vhe (Jeremy Linton) [1640855] - [arm64] arm64: ssbd: Add support for PSTATE.SSBS rather than trapping to EL3 (Jeremy Linton) [1640855] - [arm64] arm64: ssbd: Drop #ifdefs for PR_SPEC_STORE_BYPASS (Jeremy Linton) [1640855] - [arm64] arm64: cpufeature: Detect SSBS and advertise to userspace (Jeremy Linton) [1640855] - [arm64] arm64: move SCTLR_EL{1,2} assertions to (Jeremy Linton) [1640855]- [powerpc] powerpc/mm/64s/hash: Reallocate context ids on fork (Steve Best) [1723808] - [powerpc] powerpc/perf: Use cpumask_last() to determine the designated cpu for nest/core units. (Steve Best) [1725746] - [fs] iomap: fix page_done callback for short writes (Andreas Grunbacher) [1724361] - [fs] fs: fold __generic_write_end back into generic_write_end (Andreas Grunbacher) [1724361] - [fs] iomap: don't mark the inode dirty in iomap_write_end (Andreas Grunbacher) [1724361] - [fs] gfs2: Fix iomap write page reclaim deadlock (Andreas Grunbacher) [1724361] - [fs] iomap: Add a page_prepare callback (Andreas Grunbacher) [1724361] - [fs] iomap: Fix use-after-free error in page_done callback (Andreas Grunbacher) [1724361] - [fs] fs: Turn __generic_write_end into a void function (Andreas Grunbacher) [1724361] - [fs] iomap: Clean up __generic_write_end calling (Andreas Grunbacher) [1724361] - [kvm] KVM: PPC: Book3S HV: Clear pending decrementer exceptions on nested guest entry (Suraj Jitindar Singh) [1718822] - [kvm] KVM: PPC: Book3S HV: Signed extend decrementer value if not using large decrementer (Suraj Jitindar Singh) [1718822]- [hid] HID: chicony: add another quirk for PixArt mouse (Oleksandr Natalenko) [1724967] - [scsi] scsi: smartpqi: properly set both the DMA mask and the coherent DMA mask (Don Brace) [1712272] - [tools] perf beauty waitid options: Fix up prefix showing logic (Michael Petlan) [1715507] - [include] redhat: perf kABI-check failure fix (Michael Petlan) [1715507] - [tools] perf script python: Add Python3 support to tests/attr.py (Michael Petlan) [1715507] - [tools] perf trace: Support multiple "vfs_getname" probes (Michael Petlan) [1715507] - [tools] perf symbols: Filter out hidden symbols from labels (Michael Petlan) [1715507] - [tools] perf symbols: Add fallback definitions for GELF_ST_VISIBILITY() (Michael Petlan) [1715507] - [tools] perf clang: Do not use 'return std::move(something)' (Michael Petlan) [1715507] - [tools] perf tests evsel-tp-sched: Fix bitwise operator (Michael Petlan) [1715507] - [tools] perf script: Fix crash when processing recorded stat data (Michael Petlan) [1715507] - [tools] perf top: Fix wrong hottest instruction highlighted (Michael Petlan) [1715507] - [tools] perf tools: Handle TOPOLOGY headers with no CPU (Michael Petlan) [1715507] - [tools] perf python: Remove -fstack-clash-protection when building with some clang versions (Michael Petlan) [1715507] - [tools] perf script: Fix crash with printing mixed trace point and other events (Michael Petlan) [1715507] - [tools] perf ordered_events: Fix crash in ordered_events__free (Michael Petlan) [1715507] - [tools] tools headers powerpc: Remove unistd.h (Michael Petlan) [1715507] - [tools] perf powerpc: Rework syscall table generation (Michael Petlan) [1715507] - [tools] perf symbols: Add 'arch_cpu_idle' to the list of kernel idle symbols (Michael Petlan) [1715507] - [tools] perf beauty: Switch from using uapi/linux/fs.h to uapi/linux/mount.h (Michael Petlan) [1715507] - [tools] tools include uapi: Grab a copy of linux/mount.h (Michael Petlan) [1715507] - [tools] perf top: Lift restriction on using callchains without "sym" in --sort (Michael Petlan) [1715507] - [tools] tools lib traceevent: Remove tep_data_event_from_type() API (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename tep_is_file_bigendian() to tep_file_bigendian() (Michael Petlan) [1715507] - [tools] tools lib traceevent: Changed return logic of tep_register_event_handler() API (Michael Petlan) [1715507] - [tools] tools lib traceevent: Changed return logic of trace_seq_printf() and trace_seq_vprintf() APIs (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename struct cmdline to struct tep_cmdline (Michael Petlan) [1715507] - [tools] tools lib traceevent: Initialize host_bigendian at tep_handle allocation (Michael Petlan) [1715507] - [tools] tools lib traceevent: Introduce new libtracevent API: tep_override_comm() (Michael Petlan) [1715507] - [tools] perf tests: Add a test for the ARM 32-bitpage (Michael Petlan) [1715507] - [tools] perf tools: Make find_vdso_map() more modular (Michael Petlan) [1715507] - [tools] perf trace: Fix alignment forlines (Michael Petlan) [1715507] - [tools] perf trace: Fix ')' placement in "interrupted" syscall lines (Michael Petlan) [1715507] - [tools] perf test shell: Use a fallback to get the pathname in vfs_getname (Michael Petlan) [1715507] - [tools] perf python: Make sure the python binding output directory is in place (Michael Petlan) [1715507] - [tools] perf strbuf: Remove redundant va_end() in strbuf_addv() (Michael Petlan) [1715507] - [tools] perf annotate: Pass filename to objdump via execl (Michael Petlan) [1715507] - [tools] perf report: Fix wrong iteration count in --branch-history (Michael Petlan) [1715507] - [tools] tools headers uapi: Sync copy of asm-generic/unistd.h with the kernel sources (Michael Petlan) [1715507] - [tools] tools beauty: Make the prctl option table generator catch all PR_ options (Michael Petlan) [1715507] - [tools] perf stat: Fix endless wait for child process (Michael Petlan) [1715507] - [tools] perf session: Add comment for perf_session__register_idle_thread() (Michael Petlan) [1715507] - [tools] perf thread-stack: Fix thread stack processing for the idle task (Michael Petlan) [1715507] - [tools] perf thread-stack: Allocate an array of thread stacks (Michael Petlan) [1715507] - [tools] perf thread-stack: Factor out thread_stack__init() (Michael Petlan) [1715507] - [tools] perf thread-stack: Allow for a thread stack array (Michael Petlan) [1715507] - [tools] perf thread-stack: Avoid direct reference to the thread's stack (Michael Petlan) [1715507] - [tools] perf thread-stack: Tidy thread_stack__bottom() usage (Michael Petlan) [1715507] - [tools] perf thread-stack: Simplify some code in thread_stack__process() (Michael Petlan) [1715507] - [tools] perf c2c: Increase the HITM ratio limit for displayed cachelines (Michael Petlan) [1715507] - [tools] perf c2c: Change the default coalesce setup (Michael Petlan) [1715507] - [tools] perf trace beauty ioctl: Beautify USBDEVFS_ commands (Michael Petlan) [1715507] - [tools] perf trace beauty: Export function to get the files for a thread (Michael Petlan) [1715507] - [tools] perf trace: Wire up ioctl's USBDEBFS_ cmd table generator (Michael Petlan) [1715507] - [tools] perf beauty ioctl: Add generator for USBDEVFS_ ioctl commands (Michael Petlan) [1715507] - [tools] tools headers uapi: Grab a copy of usbdevice_fs.h (Michael Petlan) [1715507] - [tools] perf trace: Store the major number for a file when storing its pathname (Michael Petlan) [1715507] - [tools] perf trace: Move the files table resizing to outside set_pathname() (Michael Petlan) [1715507] - [tools] perf trace: Rename thread_thread->paths to thread_trace->files (Michael Petlan) [1715507] - [tools] perf script: Fix LBR skid dump problems in brstackinsn (Michael Petlan) [1715507] - [tools] perf trace: Use correct SECCOMP prefix spelling, "SECOMP_*" -> "SECCOMP_*" (Michael Petlan) [1715507] - [tools] perf trace: Do not hardcode the size of the tracepoint common_ fields (Michael Petlan) [1715507] - [tools] perf build: Don't unconditionally link the libbfd feature test to -liberty and -lz (Michael Petlan) [1715507] - [tools] perf beauty mmap: PROT_WRITE should come before PROT_EXEC (Michael Petlan) [1715507] - [tools] perf trace: Check if the raw_syscalls:sys_{enter, exit} are setup before setting tp filter (Michael Petlan) [1715507] - [tools] perf symbols: Relax checks on perf-PID.map ownership (Michael Petlan) [1715507] - [tools] perf trace: Wire up the fadvise 'advice' table generator (Michael Petlan) [1715507] - [tools] perf beauty: Add generator for fadvise64's 'advice' arg constants (Michael Petlan) [1715507] - [tools] tools headers uapi: Grab a copy of fadvise.h (Michael Petlan) [1715507] - [tools] perf beauty mmap: Print mmap's 'offset' arg in hexadecimal (Michael Petlan) [1715507] - [tools] perf beauty mmap: Print PROT_READ before PROT_EXEC to match strace output (Michael Petlan) [1715507] - [tools] perf trace beauty: Beautify arch_prctl()'s arguments (Michael Petlan) [1715507] - [tools] perf trace: When showing string prefixes show prefix + ??? for unknown entries (Michael Petlan) [1715507] - [tools] perf trace: Move strarrays to beauty.h for further reuse (Michael Petlan) [1715507] - [tools] perf beauty: Wire up the x86_arch prctl code table generator (Michael Petlan) [1715507] - [tools] perf beauty: Add a string table generator for x86's 'arch_prctl' codes (Michael Petlan) [1715507] - [tools] tools include arch: Grab a copy of x86's prctl.h (Michael Petlan) [1715507] - [tools] perf trace: Show NULL when syscall pointer args are 0 (Michael Petlan) [1715507] - [tools] perf trace: Enclose the errno strings with () (Michael Petlan) [1715507] - [tools] perf augmented_raw_syscalls: Copy 'access' arg as well (Michael Petlan) [1715507] - [tools] perf trace: Add alignment spaces after the closing parens (Michael Petlan) [1715507] - [tools] perf trace beauty: Print O_RDONLY when (flags & O_ACCMODE) == 0 (Michael Petlan) [1715507] - [tools] perf trace: Allow asking for not suppressing common string prefixes (Michael Petlan) [1715507] - [tools] perf trace: Add a prefix member to the strarray class (Michael Petlan) [1715507] - [tools] perf trace: Enclose strings with double quotes (Michael Petlan) [1715507] - [tools] perf trace: Make the alignment of the syscall args be configurable (Michael Petlan) [1715507] - [tools] perf trace: Allow suppressing the syscall argument names (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if the syscall start timestamp should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring default for perf_event_attr.inherit (Michael Petlan) [1715507] - [tools] perf config: Show the configuration when no arguments are provided (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if the syscall duration should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow configuring if zeroed syscall args should be printed (Michael Petlan) [1715507] - [tools] perf trace: Allow specifying a set of events to add in perfconfig (Michael Petlan) [1715507] - [tools] perf augmented_raw_syscalls: Do not include stdio.h (Michael Petlan) [1715507] - [tools] perf cs-etm: Generate branch sample for exception packet (Michael Petlan) [1715507] - [tools] perf cs-etm: Treat EO_TRACE element as trace discontinuity (Michael Petlan) [1715507] - [tools] perf cs-etm: Treat NO_SYNC element as trace discontinuity (Michael Petlan) [1715507] - [tools] perf cs-etm: Rename CS_ETM_TRACE_ON to CS_ETM_DISCONTINUITY (Michael Petlan) [1715507] - [tools] perf cs-etm: Refactor enumeration cs_etm_sample_type (Michael Petlan) [1715507] - [tools] perf cs-etm: Remove unused 'trace_on' in cs_etm_decoder (Michael Petlan) [1715507] - [tools] perf cs-etm: Avoid stale branch samples when flush packet (Michael Petlan) [1715507] - [tools] perf cs-etm: Correct packets swapping in cs_etm__flush() (Michael Petlan) [1715507] - [tools] perf trace: Switch to using a struct for the aumented_raw_syscalls syscalls map values (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Switch to using a struct for the syscalls map values (Michael Petlan) [1715507] - [tools] perf bpf: Move perf_event_output() from stdio.h to bpf.h (Michael Petlan) [1715507] - [tools] perf trace: Implement syscall filtering in augmented_syscalls (Michael Petlan) [1715507] - [tools] perf trace: Avoid using raw_syscalls in duplicity with eBPF augmentation (Michael Petlan) [1715507] - [tools] perf trace: Rename set_ev_qualifier_filter to clarify its a tracepoint filter (Michael Petlan) [1715507] - [tools] perf tools: Cast off_t to s64 to avoid warning on bionic libc (Michael Petlan) [1715507] - [tools] perf tools: Add missing open_memstream() prototype for systems lacking it (Michael Petlan) [1715507] - [tools] perf header: Fix up argument to ctime() (Michael Petlan) [1715507] - [tools] perf tools: Add missing sigqueue() prototype for systems lacking it (Michael Petlan) [1715507] - [tools] tools lib subcmd: Don't add the kernel sources to the include path (Michael Petlan) [1715507] - [tools] perf trace beauty: renameat's newdirfd may also be AT_FDCWD (Michael Petlan) [1715507] - [tools] perf trace: Beautify renameat2's flags argument (Michael Petlan) [1715507] - [tools] perf beauty: Wire up the renameat flags table generator to the Makefile (Michael Petlan) [1715507] - [tools] perf beauty: Add a string table generator for renameat2's flags constants (Michael Petlan) [1715507] - [tools] perf trace beauty: Beautify renameat2's fd arg wrt AT_FDCWD (Michael Petlan) [1715507] - [tools] perf trace: Allow selecting use the use of the ordered_events code (Michael Petlan) [1715507] - [tools] perf trace: Rename delivery functions to ease making ordered_events selectable (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix processing of dereferenced args in bprintk events (Michael Petlan) [1715507] - [tools] perf stat: Avoid segfaults caused by negated options (Michael Petlan) [1715507] - [tools] perf auxtrace: Alter addr_filter__entire_dso() to work if there are no symbols (Michael Petlan) [1715507] - [tools] perf dso: Export data_file_size() method there are no symbols (Michael Petlan) [1715507] - [tools] perf trace: Add ordered processing (Michael Petlan) [1715507] - [tools] perf ordered_events: Add first_time() method (Michael Petlan) [1715507] - [tools] perf trace: Move event delivery to a new deliver_event() function (Michael Petlan) [1715507] - [tools] perf ordered_events: Add ordered_events__flush_time interface (Michael Petlan) [1715507] - [tools] perf annotate: Introduce basic support for ARC (Michael Petlan) [1715507] - [tools] perf config: Modify size factor of snprintf (Michael Petlan) [1715507] - [tools] perf record: Fix memory leak on AIO objects deallocation (Michael Petlan) [1715507] - [tools] perf vendor events intel: Fix Load_Miss_Real_Latency on SKL/SKX (Michael Petlan) [1715507] - [tools] perf parse-events: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf probe: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul (Michael Petlan) [1715507] - [tools] perf svghelper: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf help: Remove needless use of strncpy() (Michael Petlan) [1715507] - [tools] perf header: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf header: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf dso: Fix unchecked usage of strncpy() (Michael Petlan) [1715507] - [tools] perf cs-etm: Add support for PTMv1.1 decoding (Michael Petlan) [1715507] - [tools] perf cs-etm: Add support for ETMv3 trace decoding (Michael Petlan) [1715507] - [tools] perf cs-etm: Add configuration for ETMv3 trace protocol (Michael Petlan) [1715507] - [tools] perf top: Move perf_top__reset_sample_counters() to after counts display (Michael Petlan) [1715507] - [tools] perf top: Display slow reader warning when droping samples (Michael Petlan) [1715507] - [tools] perf top: Save and display the drop count stats (Michael Petlan) [1715507] - [tools] perf top: Drop samples which are behind the refresh rate (Michael Petlan) [1715507] - [tools] perf top: Set the 'session_done' volatile variable when exiting (Michael Petlan) [1715507] - [tools] perf top: Use cond variable instead of a lock (Michael Petlan) [1715507] - [tools] perf top: Add processing thread (Michael Petlan) [1715507] - [tools] perf top: Move lost events warning to helpline (Michael Petlan) [1715507] - [tools] perf top: Save and display the lost count stats (Michael Petlan) [1715507] - [tools] perf ordered_events: Add private data member (Michael Petlan) [1715507] - [tools] perf ordered_events: Rework show_progress for __ordered_events__flush (Michael Petlan) [1715507] - [tools] perf tools: Support 'srccode' output (Michael Petlan) [1715507] - [tools] perf trace: We need to consider "nr" if "__syscall_nr" is not there (Michael Petlan) [1715507] - [tools] perf tools: Allow specifying proc-map-timeout in config file (Michael Petlan) [1715507] - [tools] tools lib subcmd: Fix a few source code comment typos (Michael Petlan) [1715507] - [tools] perf tools: Fix diverse comment typos (Michael Petlan) [1715507] - [tools] perf bpf-loader: Fix debugging message typo (Michael Petlan) [1715507] - [tools] perf tools Documentation: Fix diverse typos (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix diverse typos in comments (Michael Petlan) [1715507] - [tools] perf vendor events intel: Fix diverse typos (Michael Petlan) [1715507] - [tools] perf tests ARM: Disable breakpoint tests 32-bit (Michael Petlan) [1715507] - [tools] perf cs-etm: Support for ARM A32/T32 instruction sets in CoreSight trace (Michael Petlan) [1715507] - [tools] perf beauty mmap_flags: Fixed syntax error Fixed missing ']' error (Michael Petlan) [1715507] - [tools] tools lib traceevent: traceevent API cleanup (Michael Petlan) [1715507] - [tools] perf tools: traceevent API cleanup, remove __tep_data2host*() (Michael Petlan) [1715507] - [tools] tools lib traceevent: Rename tep_free_format() to tep_free_event() (Michael Petlan) [1715507] - [tools] tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' (Michael Petlan) [1715507] - [tools] tools lib traceevent: Install trace-seq.h API header file (Michael Petlan) [1715507] - [tools] tools lib traceevent: Added support for pkg-config (Michael Petlan) [1715507] - [tools] tools lib traceevent: Implement new API tep_get_ref() (Michael Petlan) [1715507] - [tools] perf report: Documentation average IPC and IPC coverage (Michael Petlan) [1715507] - [tools] perf report: Display average IPC and IPC coverage per symbol (Michael Petlan) [1715507] - [tools] perf annotate: Create a annotate2 flag in struct symbol (Michael Petlan) [1715507] - [tools] perf annotate: Compute average IPC and IPC coverage per symbol (Michael Petlan) [1715507] - [tools] tools lib traceevent: Add sanity check to is_timestamp_in_us() (Michael Petlan) [1715507] - [tools] perf beauty mmap_flags: Check if the arch has a mmap.h file (Michael Petlan) [1715507] - [tools] perf record: Extend trace writing to multi AIO (Michael Petlan) [1715507] - [tools] perf record: Enable asynchronous trace writing (Michael Petlan) [1715507] - [tools] perf mmap: Map data buffer for preserving collected data (Michael Petlan) [1715507] - [tools] tools build feature: Check if libaio is available (Michael Petlan) [1715507] - [tools] perf intel-pt: Fix error with config term "pt=0" (Michael Petlan) [1715507] - [tools] perf top: Allow passing a kallsyms file (Michael Petlan) [1715507] - [tools] perf bpf: Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Michael Petlan) [1715507] - [tools] tools include: Adopt ERR_CAST() from the kernel err.h header (Michael Petlan) [1715507] - [tools] perf tests record: Allow for 'sleep' being 'coreutils' (Michael Petlan) [1715507] - [tools] tools lib traceevent: Fix compile warnings in tools/lib/traceevent/event-parse.c (Michael Petlan) [1715507] - [tools] perf script: Use fallbacks for branch stacks (Michael Petlan) [1715507] - [tools] perf tools: Use fallback for sample_addr_correlates_sym() cases (Michael Petlan) [1715507] - [tools] perf thread: Add fallback functions for cases where cpumode is insufficient (Michael Petlan) [1715507] - [tools] perf machine: Record if a arch has a single user/kernel address space (Michael Petlan) [1715507] - [tools] perf env: Also consider env->arch == NULL as local operation (Michael Petlan) [1715507] - [tools] perf map: Remove extra indirection from map__find() (Michael Petlan) [1715507] - [tools] perf stat: Fix CSV mode column output for non-cgroup events (Michael Petlan) [1715507] - [tools] perf stat: Fix shadow stats for clock events (Michael Petlan) [1715507] - [tools] perf build: Give better hint about devel package for libssl (Michael Petlan) [1715507] - [tools] perf pmu: Move *_cpuid_str() weak functions to header.c (Michael Petlan) [1715507] - [tools] perf symbols: Fix slowness due to -ffunction-section (Michael Petlan) [1715507] - [tools] perf jvmti: Separate jvmti cmlr check (Michael Petlan) [1715507] - [tools] perf vendor events: Add JSON metrics for Cascadelake server (Michael Petlan) [1715507] - [tools] perf vendor events: Add stepping in CPUID string for x86 (Michael Petlan) [1715507] - [tools] perf stat: Use perf_evsel__is_clocki() for clock events (Michael Petlan) [1715507] - [tools] perf pmu: Suppress potential format-truncation warning (Michael Petlan) [1715507] - [tools] perf tools: Add Hygon Dhyana support (Michael Petlan) [1715507] - [tools] perf bench: Add epoll_ctl(2) benchmark (Michael Petlan) [1715507] - [tools] perf bench: Add epoll parallel epoll_wait benchmark (Michael Petlan) [1715507] - [tools] tools build feature: Check if eventfd() is available (Michael Petlan) [1715507] - [tools] perf bench: Move HAVE_PTHREAD_ATTR_SETAFFINITY_NP into bench.h (Michael Petlan) [1715507] - [tools] perf script: Share code and output format for uregs and iregs output (Michael Petlan) [1715507] - [tools] perf bpf: Reduce the hardcoded .max_entries for pid_maps (Michael Petlan) [1715507] - [tools] perf script: Add newline after uregs output (Michael Petlan) [1715507] - [tools] Revert "perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter" (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Remove example hardcoded set of filtered pids (Michael Petlan) [1715507] - [tools] perf trace: Fill in BPF "filtered_pids" map when present (Michael Petlan) [1715507] - [tools] perf trace: See if there is a map named "filtered_pids" (Michael Petlan) [1715507] - [tools] perf trace: Add "_from_option" suffix to trace__set_filter() (Michael Petlan) [1715507] - [tools] perf evlist: Rename perf_evlist__set_filter* to perf_evlist__set_tp_filter* (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Use pid_filter (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Drop 'write', 'poll' for testing without self pid filter (Michael Petlan) [1715507] - [tools] perf bpf: Add simple pid_filter class accessible to BPF proggies (Michael Petlan) [1715507] - [tools] perf bpf: Add defines for map insertion/lookup (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Remove needless linux/socket.h include (Michael Petlan) [1715507] - [tools] perf augmented_syscalls: Filter on a hard coded pid (Michael Petlan) [1715507] - [tools] perf bpf: Add unistd.h to the headers accessible to bpf proggies (Michael Petlan) [1715507] - [kernel] perf/core: Fix impossible ring-buffer sizes warning (Michael Petlan) [1715507] - [x86] perf/x86: Add check_period PMU callback (Michael Petlan) [1715507] - [kernel] perf/core: Don't WARN() for impossible ring-buffer sizes (Michael Petlan) [1715507] - [x86] perf/x86/intel/uncore: Add Node ID mask (Michael Petlan) [1715507] - [kernel] perf core: Fix perf_proc_update_handler() bug (Michael Petlan) [1715507] - [tools] powerpc/perf: Update perf_regs structure to include MMCRA (Michael Petlan) [1715507] - [powerpc] powerpc/perf: Update perf_regs structure to include SIER (Michael Petlan) [1715507] - [include] perf/core: Declare the __percpu attribute on non-deref types (Michael Petlan) [1715507] - [kernel] perf: Fix typos in comments (Michael Petlan) [1715507] - [arm64] arm64: perf: Add support for Armv8.1 PMCEID register format (Michael Petlan) [1715507]- [fs] xfs: abort unaligned nowait directio early (Brian Foster) [1690458] - [fs] xfs: serialize unaligned dio writes against all other dio writes (Brian Foster) [1690458] - [sound] ALSA: hda/hdmi: consider eld_valid also in sync_eld_via_acomp() (Jaroslav Kysela) [1708555] - [fs] Fix error code in nfs_lookup_verify_inode() (Scott Mayhew) [1722315] - [md] dm table: don't copy from a NULL pointer in realloc_argv() (Jerome Marchand) [1571628] - [net] netfilter: ipset: replace a strncpy() with strscpy() (Jerome Marchand) [1571628] - [lib] lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn (Jerome Marchand) [1571628] - [include] netfilter: avoid erronous array bounds warning (Jerome Marchand) [1571628] - [x86] x86/mm/KASLR: Compute the size of the vmemmap section properly (Baoquan He) [1669076] - [security] selinux: fix empty write to keycreate file (Ondrej Mosnacek) [1719067] - [netdrv] net: aquantia: fix vlans not working over bridged network (Igor Russkikh) [1718716] - [s390] s390/jump_label: replace stop_machine with smp_call_function (Philipp Rudo) [1722161] - [s390] s390/dumpstack: print psw mask and address again (Philipp Rudo) [1722157] - [s390] s390/crypto: fix gcm-aes-s390 selftest failures (Philipp Rudo) [1722156] - [wireless] Backport mt76 drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709867 1709828] - [wireless] Add rtw88 driver from linux-5.2-rc5 (Stanislaw Gruszka) [1487086 1709828] - [wireless] Backport mt7601u driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport mwifiex driver from linux-5.2-rc2 (Stanislaw Gruszka) [1709828] - [wireless] Backport rtl8xxxu driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport rtlwifi drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport ath9k driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport ath10k driver from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport brcm80211 drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [wireless] Backport iwlwifi drivers from linux-5.2-rc5 (Stanislaw Gruszka) [1696052 1662020 1662015 1650016 1650015 1650014 1650013 1622445 1494008 1494001 1709828] - [net] Backport mac80211 from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [net] Backport core wireless code from linux-5.2-rc5 (Stanislaw Gruszka) [1709828] - [include] netlink: add nl_set_extack_cookie_u64() (Stanislaw Gruszka) [1709828] - [netdrv] r8152: Fix an error on RTL8153-BD MAC Address Passthrough support (Torez Smith) [1683883 1683882] - [netdrv] r8152: Add support for MAC address pass through on RTL8153-BD (Torez Smith) [1683883 1683882] - [netdrv] nfp: abm: fix spelling mistake "offseting" -> "offsetting" (Pablo Cascon) [1713258] - [netdrv] nfp: flower: remove vlan CFI bit from push vlan action (Pablo Cascon) [1713258] - [netdrv] nfp: flower: replace CFI with vlan present (Pablo Cascon) [1713258] - [netdrv] nfp: flower: remove double new line (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: fix ALU32 high bits clearance bug (Pablo Cascon) [1713258] - [netdrv] bpf: do not pass netdev to translate() and prepare() offload callbacks (Pablo Cascon) [1713258] - [netdrv] bpf: pass prog instead of env to bpf_prog_offload_verifier_prep() (Pablo Cascon) [1713258] - [netdrv] bpf: pass destroy() as a callback and remove its ndo_bpf subcommand (Pablo Cascon) [1713258] - [netdrv] bpf: pass translate() as a callback and remove its ndo_bpf subcommand (Pablo Cascon) [1713258] - [netdrv] bpf: call verifier_prep from its callback in struct bpf_offload_dev (Pablo Cascon) [1713258] - [netdrv] bpf: pass a struct with offload callbacks to bpf_offload_dev_create() (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: move nfp_bpf_analyzer_ops from verifier.c to offload.c (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: relax prog rejection through max_pkt_offset (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: double check vNIC capabilities after object sharing (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: optimise save/restore for R6~R9 based on register usage (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: fix return address from register-saving subroutine to callee (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: update fixup function for BPF-to-BPF calls support (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: account for additional stack usage when checking stack limit (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: add main logics for BPF-to-BPF calls support in nfp driver (Pablo Cascon) [1713258] - [netdrv] nfp: bpf: copy eBPF subprograms information from kernel verifier (Pablo Cascon) [1713258] - [netdrv] bpf: add verifier callback to get stack usage info for offloaded progs (Pablo Cascon) [1713258]- [rpmspec] Enable kernel signing for ppc64le (Gustavo Duarte) [1504169] - [nvme] nvme: fix memory leak for power latency tolerance (David Milburn) [1724793] - [rpmspec] redhat: fix missing files for mlxsw specific self-tests (Ivan Vecera) [1724735] - [rpmspec] redhat: Package the signing key for s390 (Philipp Rudo) [1714194] - [rpmspec] redhat: Enable kernel signing for s390 (Philipp Rudo) [1714194] - [rpmspec] redhat: Rename secure boot sources (Philipp Rudo) [1714194] - [powerpc] powerpc: fix max_zone_pfns initialization (Laurent Vivier) [1706560] - [crypto] crypto: dh - update test for public key verification (Herbert Xu) [1722692] - [hid] HID: i2c-hid: Don't reset device upon system resume (Perry Yuan) [1715385] - [rpmspec] correct the ghost initramfs attributes (Rafael Aquini) [1678881] - [s390] s390/mm: fix address space detection in exception handling (Philipp Rudo) [1722160] - [s390] s390/zcrypt: Fix wrong dispatching for control domain CPRBs (Philipp Rudo) [1722158] - [virt] kvm: arm/arm64: Fix emulated ptimer irq injection (Andrew Jones) [1716383] - [x86] kvm/nested: mark as TechPreview on first VM creation (Vitaly Kuznetsov) [1723447] - [powerpc] bpf: powerpc64: add JIT support for bpf line info (Yauheni Kaliuta) [1722423] - [fs] cifs: add spinlock for the openFileList to cifsInodeInfo (Leif Sahlberg) [1712197] - [fs] cifs: fix GlobalMid_Lock bug in cifs_reconnect (Leif Sahlberg) [1716743] - [mm] powerpc/numa: document topology_updates_enabled, disable by default (Desnes Augusto Nunes do Rosario) [1705465] - [mm] powerpc/numa: improve control of topology updates (Desnes Augusto Nunes do Rosario) [1705465] - [kernel] bpf: decouple the lifetime of cgroup_bpf from cgroup itself (Jiri Olsa) [1656432] - [netdrv] USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data (Torez Smith) [1689308 1666662] {CVE-2018-19985} - [usb] USB: check usb_get_extra_descriptor for proper size (Torez Smith) [1689308 1666662] {CVE-2018-20169} - [kvm] KVM: PPC: Book3S HV: Restore SPRG3 in kvmhv_p9_guest_entry() (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Fix lockdep warning when entering guest on POWER9 (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Fix page offset when clearing ESB pages (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Take the srcu read lock when accessing memslots (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Do not clear IRQ data of passthrough interrupts (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Introduce a new mutex for the XIVE device (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Fix the enforced limit on the vCPU identifier (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Do not test the EQ flag validity when resetting (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: XIVE: Clear file mapping when device is released (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Don't take kvm->lock around kvm_for_each_vcpu (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S: Use new mutex to synchronize access to rtas token list (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Use new mutex to synchronize MMU setup (David Gibson) [1719524] - [kvm] KVM: PPC: Book3S HV: Avoid touching arch.mmu_ready in XIVE release functions (David Gibson) [1719524] - [mm] mm, oom: don't kill global init via memory.oom.group (Waiman Long) [1711604] - [mm] mm, oom: remove 'prefer children over parent' heuristic (Waiman Long) [1711604] - [mm] mm, oom: fix use-after-free in oom_kill_process (Waiman Long) [1711604] - [kernel] fork, memcg: fix crash in free_thread_stack on memcg charge fail (Waiman Long) [1711604] - [mm] memcg: localize memcg_kmem_enabled() check (Waiman Long) [1711604] - [mm] memcg, oom: notify on oom killer invocation from the charge path (Waiman Long) [1711604] - [mm] mm: handle no memcg case in memcg_kmem_charge() properly (Waiman Long) [1711604] - [kernel] mm: rework memcg kernel stack accounting (Waiman Long) [1711604] - [mm] mm/memcontrol.c: convert mem_cgroup_id::ref to refcount_t type (Waiman Long) [1711604] - [mm] memcg: remove memcg_kmem_skip_account (Waiman Long) [1711604] - [mm] mm/memcontrol.c: fix memory.stat item ordering (Waiman Long) [1711604] - [mm] mm: drain memcg stocks on css offlining (Waiman Long) [1711604] - [mm] mm: memcontrol: print proper OOM header when no eligible victim left (Waiman Long) [1711604] - [mm] mm, oom: introduce memory.oom.group (Waiman Long) [1711604] - [mm] mm, oom: refactor oom_kill_process() (Waiman Long) [1711604] - [mm] memcg: reduce memcg tree traversals for stats collection (Waiman Long) [1711604] - [mm] mm/vmscan.c: clear shrinker bit if there are no objects related to memcg (Waiman Long) [1711604] - [mm] mm: add SHRINK_EMPTY shrinker methods return value (Waiman Long) [1711604] - [mm] mm/vmscan.c: generalize shrink_slab() calls in shrink_node() (Waiman Long) [1711604] - [mm] mm/vmscan.c: iterate only over charged shrinkers during memcg shrink_slab() (Waiman Long) [1711604] - [mm] mm/list_lru.c: set bit in memcg shrinker bitmap on first list_lru item appearance (Waiman Long) [1711604] - [mm] mm/memcontrol.c: export mem_cgroup_is_root() (Waiman Long) [1711604] - [mm] mm/list_lru.c: pass lru argument to memcg_drain_list_lru_node() (Waiman Long) [1711604] - [mm] mm/list_lru: pass dst_memcg argument to memcg_drain_list_lru_node() (Waiman Long) [1711604] - [mm] mm/list_lru.c: add memcg argument to list_lru_from_kmem() (Waiman Long) [1711604] - [mm] fs: propagate shrinker::id to list_lru (Waiman Long) [1711604] - [fs] fs: Don't need to put list_lru into its own cacheline (Waiman Long) [1711604] - [fs] fs/super.c: refactor alloc_super() (Waiman Long) [1711604] - [mm] mm/workingset.c: refactor workingset_init() (Waiman Long) [1711604] - [mm] mm, memcg: assign memcg-aware shrinkers bitmap to memcg (Waiman Long) [1711604] - [mm] mm/memcontrol.c: move up for_each_mem_cgroup{, _tree} defines (Waiman Long) [1711604] - [mm] mm: assign id to every memcg-aware shrinker (Waiman Long) [1711604] - [mm] mm: introduce CONFIG_MEMCG_KMEM as combination of CONFIG_MEMCG && !CONFIG_SLOB (Waiman Long) [1711604] - [mm] mm/list_lru.c: combine code under the same define (Waiman Long) [1711604] - [mm] memcg, oom: move out_of_memory back to the charge path (Waiman Long) [1711604] - [fs] fs, mm: account buffer_head to kmemcg (Waiman Long) [1711604] - [fs] fs: fsnotify: account fsnotify metadata to kmemcg (Waiman Long) [1711604] - [include] mm: introduce mem_cgroup_put() helper (Waiman Long) [1711604] - [net] tcp: refine memory limit test in tcp_fragment() (Florian Westphal) [1724584] - [net] tcp: enforce tcp_min_snd_mss in tcp_mtu_probing() (Florian Westphal) [1719923] {CVE-2019-11479} - [net] tcp: add tcp_min_snd_mss sysctl (Florian Westphal) [1719923] {CVE-2019-11479} - [net] tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb (Xin Long) [1722751] - [include] ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL (Xin Long) [1722751] - [net] ip_tunnel: allow not to count pkts on tstats by setting skb's dev to NULL (Xin Long) [1722751] - [net] netfilter: ipv6: nf_defrag: accept duplicate fragments again (Guillaume Nault) [1717106] - [net] netfilter: ipv6: nf_defrag: fix leakage of unqueued fragments (Guillaume Nault) [1717106] - [net] ethtool: fix potential userspace buffer overflow (Paolo Abeni) [1718393] - [net] net-gro: fix use-after-free read in napi_gro_frags() (Paolo Abeni) [1718393] - [net] ethtool: Check for vlan etype or vlan tci when parsing flow_rule (Paolo Abeni) [1718393] - [include] test nouarg before dereferencing zerocopy pointers (Paolo Abeni) [1718393] - [net] avoid weird emergency message (Paolo Abeni) [1718393] - [net] net-gro: Fix GRO flush when receiving a GSO packet. (Paolo Abeni) [1718393] - [net] sock_diag: fix autoloading of the raw_diag module (Paolo Abeni) [1718393] - [net] make skb_partial_csum_set() more robust against overflows (Paolo Abeni) [1718393] - [net] packets: Always register packet sk in the same order (Paolo Abeni) [1718393] - [net] net-sysfs: call dev_hold if kobject_init_and_add success (Paolo Abeni) [1718393] - [net] gro_cells: make sure device is up in gro_cells_receive() (Paolo Abeni) [1718393] - [net] net-sysfs: Fix mem leak in netdev_register_kobject (Paolo Abeni) [1718393] - [include] avoid false positives in untrusted gso validation (Paolo Abeni) [1718393] - [include] net: validate untrusted gso packets without csum offload (Paolo Abeni) [1718393] - [net] Do not allocate page fragments that are not skb aligned (Paolo Abeni) [1718393] - [net] set default network namespace in init_dummy_netdev() (Paolo Abeni) [1718393] - [net] Fix usage of pskb_trim_rcsum (Paolo Abeni) [1718393] - [net] call sk_dst_reset when set SO_DONTROUTE (Paolo Abeni) [1718393] - [net] net, skbuff: do not prefer skb allocation fails early (Paolo Abeni) [1718393] - [net] ethtool: check the return value of get_regs_len (Paolo Abeni) [1718393] - [net] packet: copy user buffers before orphan or clone (Paolo Abeni) [1718393] - [net] don't keep lonely packets forever in the gro hash (Paolo Abeni) [1718393] - [net] net-gro: reset skb->pkt_type in napi_reuse_skb() (Paolo Abeni) [1718393] - [net] flow_dissector: do not dissect l4 ports for fragments (Paolo Abeni) [1718393] - [net] net-ethtool: ETHTOOL_GUFO did not and should not require CAP_NET_ADMIN (Paolo Abeni) [1718393] - [net] tipc: fix modprobe tipc failed after switch order of device registration (Jon Maloy) [1718064] - [net] tipc: switch order of device registration to fix a crash (Jon Maloy) [1718064] - [net] tipc: fix hanging clients using poll with EPOLLOUT flag (Jon Maloy) [1718064] - [net] tipc: fix missing Name entries due to half-failover (Jon Maloy) [1718064] - [net] tipc: remove rcu_read_unlock() left in tipc_udp_recv() (Jon Maloy) [1718064] - [net] tipc: tipc_udp_recv() cleanup vs rcu verbs (Jon Maloy) [1718064] - [net] tipc: introduce new socket option TIPC_SOCK_RECVQ_USED (Jon Maloy) [1718064] - [net] tipc: set sysctl_tipc_rmem and named_timeout right range (Jon Maloy) [1718064] - [net] tipc: fix link established but not in session (Jon Maloy) [1718064] - [net] tipc: use standard write_lock & unlock functions when creating node (Jon Maloy) [1718064] - [net] tipc: missing entries in name table of publications (Jon Maloy) [1718064] - [net] tipc: adapt link failover for new Gap-ACK algorithm (Jon Maloy) [1718064] - [net] tipc: reduce duplicate packets for unicast traffic (Jon Maloy) [1718064] - [net] tipc: improve TIPC throughput by Gap ACK blocks (Jon Maloy) [1718064] - [net] tipc: add NULL pointer check (Jon Maloy) [1718064] - [net] tipc: fix return value check in tipc_mcast_send_sync() (Jon Maloy) [1718064] - [net] tipc: fix a null pointer deref (Jon Maloy) [1718064] - [net] tipc: fix use-after-free in tipc_sk_filter_rcv (Jon Maloy) [1718064] - [net] tipc: smooth change between replicast and broadcast (Jon Maloy) [1718064] - [net] tipc: introduce new capability flag for cluster (Jon Maloy) [1718064] - [net] tipc: support broadcast/replicast configurable for bc-link (Jon Maloy) [1718064] - [net] sched: avoid double free on matchall reoffload (Ivan Vecera) [1688236 1687456] - [net] taprio: add null check on sched_nest to avoid potential null pointer dereference (Ivan Vecera) [1688236 1687456] - [net] nfp: flower: remove unused index from nfp_fl_pedit() (Ivan Vecera) [1688236 1687456] - [net] mlx5e: Fix calling wrong function to get inner vlan key and mask (Ivan Vecera) [1688236 1687456] - [net] flow_offload: support CVLAN match (Ivan Vecera) [1688236 1687456] - [net] nfp: flower: fix masks for tcp and ip flags fields (Ivan Vecera) [1688236 1687456] - [net] sched: use the hardware intermediate representation for matchall (Ivan Vecera) [1688236 1687456] - [net] sched: add sample action to the hardware intermediate representation (Ivan Vecera) [1688236 1687456] - [net] cls_cgroup: avoid panic when receiving a packet before filter set (Ivan Vecera) [1688236 1687456] - [net] cls_matchall: avoid panic when receiving a packet before filter set (Ivan Vecera) [1688236 1687456] - [net] add a generic tracepoint for TX queue timeout (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: use struct_size() helper (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support for cycle-time-extension (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support for setting the cycle-time manually (Ivan Vecera) [1688236 1687456] - [net] taprio: Add support adding an admin schedule (Ivan Vecera) [1688236 1687456] - [net] taprio: Fix potencial use of invalid memory during dequeue() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Fix taprio_dequeue() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Fix taprio_peek() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Remove should_restart_cycle() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Refactor taprio_get_start_time() (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: Remove pointless variable assigment (Ivan Vecera) [1688236 1687456] - [net] tc_act: drop include of module.h from tc_ife.h (Ivan Vecera) [1688236 1687456] - [net] fib: drop include of module.h from fib_notifier.h (Ivan Vecera) [1688236 1687456] - [net] ife: drop include of module.h from net/ife.h (Ivan Vecera) [1688236 1687456] - [net] psample: drop include of module.h from psample.h (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: fix build without 64bit div (Ivan Vecera) [1688236 1687456] - [net] revert: "net: sched: put back q.qlen into a single location" (Ivan Vecera) [1688236 1687456] - [net] sched: when clearing NOLOCK, clear TCQ_F_CPUSTATS, too (Ivan Vecera) [1688236 1687456] - [net] sched: always do stats accounting according to TCQ_F_CPUSTATS (Ivan Vecera) [1688236 1687456] - [net] sched: prefer qdisc_is_empty() over direct qlen access (Ivan Vecera) [1688236 1687456] - [net] caif: avoid using qdisc_qlen() (Ivan Vecera) [1688236 1687456] - [net] sched: cbs: fix port_rate miscalculation (Ivan Vecera) [1688236 1687456] - [net] sched: taprio: fix picos_per_byte miscalculation (Ivan Vecera) [1688236 1687456] - [net] selftests: add a tc matchall test case (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Make sure we can write the IP header before changing DSCP bits (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Use tc_skb_protocol() helper for getting packet protocol (Ivan Vecera) [1688236 1687456] - [net] sched: act_sample: fix divide by zero in the traffic path (Ivan Vecera) [1688236 1687456] - [net] sched: don't set tunnel for decap action (Ivan Vecera) [1688236 1687456] - [net] sched: introduce and use qdisc tree flush/purge helpers (Ivan Vecera) [1688236 1687456] - [net] sched: introduce and use qstats read helpers (Ivan Vecera) [1688236 1687456] - [net] sched: fix ->get helper of the matchall cls (Ivan Vecera) [1688236 1687456] - [net] sched: Kconfig: update reference link for PIE (Ivan Vecera) [1688236 1687456] - [net] dev: introduce support for sch BYPASS for lockless qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: add empty status flag for NOLOCK qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: fix cleanup NULL pointer exception in act_mirr (Ivan Vecera) [1688236 1687456] - [net] sched: let actions use RCU to access 'goto_chain' (Ivan Vecera) [1688236 1687456] - [net] sched: don't dereference a->goto_chain to read the chain index (Ivan Vecera) [1688236 1687456] - [net] sched: act_vlan: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbmod: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbedit: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_simple: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_sample: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_police: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_pedit: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_nat: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_connmark: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_mirred: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_ife: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_gact: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_csum: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: act_bpf: validate the control action inside init() (Ivan Vecera) [1688236 1687456] - [net] sched: prepare TC actions to properly validate the control action (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Interpret fwmark parameter as a bitmask (Ivan Vecera) [1688236 1687456] - [net] net_sched: return correct value for *notify* functions (Ivan Vecera) [1688236 1687456] - [net] sched: fix potential use-after-free in __tcf_chain_put() (Ivan Vecera) [1688236 1687456] - [net] sched: flower: insert new filter to idr after setting its mask (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: Fix double free dst_cache (Ivan Vecera) [1688236 1687456] - [net] sched: avoid unused-label warning (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Simplify logic in cake_select_tin() (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Permit use of connmarks as tin classifiers (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Make the dual modes fairer (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Allow test cases to be skipped (Ivan Vecera) [1688236 1687456] - [net] sched: put back q.qlen into a single location (Ivan Vecera) [1688236 1687456] - [net] sched: pie: avoid slow division in drop probability decay (Ivan Vecera) [1688236 1687456] - [net] netem: fix skb length BUG_ON in __skb_to_sgvec (Ivan Vecera) [1688236 1687456] - [net] revert "net: sched: fw: don't set arg->stop in fw_walk() when empty" (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix 64-bit division (Ivan Vecera) [1688236 1687456] - [net] tc-testing: gitignore, ignore local tdc config file (Ivan Vecera) [1688236 1687456] - [net] sched: fix typo in walker_check_empty() (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix mistake in reference link (Ivan Vecera) [1688236 1687456] - [net] sched: act_csum: Fix csum calc for tagged packets (Ivan Vecera) [1688236 1687456] - [net] sched: pie: update references (Ivan Vecera) [1688236 1687456] - [net] sched: pie: add derandomization mechanism (Ivan Vecera) [1688236 1687456] - [net] sched: pie: add more cases to auto-tune alpha and beta (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change initial value of pie_vars->burst_time (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change default value of pie_params->tupdate (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change default value of pie_params->target (Ivan Vecera) [1688236 1687456] - [net] sched: pie: change value of QUEUE_THRESHOLD (Ivan Vecera) [1688236 1687456] - [net] sched: don't release block->lock when dumping chains (Ivan Vecera) [1688236 1687456] - [net] sched: set dedicated tcf_walker flag when tp is empty (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix metadata handling (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix NULL pointer dereference during init (Ivan Vecera) [1688236 1687456] - [net] Use RCU_POINTER_INITIALIZER() to init static variable (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel replace/delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel add/delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify concurrent delete (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify concurrent replace (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules replace (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules deletion (Ivan Vecera) [1688236 1687456] - [net] selftests: concurrency: add test to verify parallel rules insertion (Ivan Vecera) [1688236 1687456] - [net] selftests: tdc_batch.py: add options needed for concurrency tests (Ivan Vecera) [1688236 1687456] - [net] sched: act_skbedit: fix refcount leak when replace fails (Ivan Vecera) [1688236 1687456] - [net] sched: act_ipt: fix refcount leak when replace fails (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: Add dst_cache support (Ivan Vecera) [1688236 1687456] - [net] net_sched: initialize net pointer inside tcf_exts_init() (Ivan Vecera) [1687456 1688236] - [net] sched: potential NULL dereference in tcf_block_find() (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a memory leak in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a race condition in tcindex_destroy() (Ivan Vecera) [1688236 1687456] - [net] sched: using kfree_rcu() to simplify the code (Ivan Vecera) [1688236 1687456] - [net] sched: route: don't set arg->stop in route4_walk() when empty (Ivan Vecera) [1688236 1687456] - [net] sched: fw: don't set arg->stop in fw_walk() when empty (Ivan Vecera) [1688236 1687456] - [net] sched: cgroup: verify that filter is not NULL during walk (Ivan Vecera) [1688236 1687456] - [net] sched: matchall: verify that filter is not NULL in mall_walk() (Ivan Vecera) [1688236 1687456] - [net] sched: remove duplicated include from cls_api.c (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix two more memory leaks in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] net_sched: fix a memory leak in cls_tcindex (Ivan Vecera) [1688236 1687456] - [net] sched: unlock rules update API (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tcf_block_find() into standalone functions (Ivan Vecera) [1688236 1687456] - [net] sched: add flags to Qdisc class ops struct (Ivan Vecera) [1688236 1687456] - [net] sched: extend proto ops to support unlocked classifiers (Ivan Vecera) [1688236 1687456] - [net] sched: extend proto ops with 'put' callback (Ivan Vecera) [1688236 1687456] - [net] sched: track rtnl lock status when validating extensions (Ivan Vecera) [1688236 1687456] - [net] sched: prevent insertion of new classifiers during chain flush (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tp insert/delete for concurrent execution (Ivan Vecera) [1688236 1687456] - [net] sched: traverse classifiers in chain with tcf_get_next_proto() (Ivan Vecera) [1688236 1687456] - [net] sched: introduce reference counting for tcf_proto (Ivan Vecera) [1688236 1687456] - [net] sched: protect filter_chain list with filter_chain_lock mutex (Ivan Vecera) [1688236 1687456] - [net] sched: protect chain template accesses with block lock (Ivan Vecera) [1688236 1687456] - [net] sched: traverse chains in block with tcf_get_next_chain() (Ivan Vecera) [1688236 1687456] - [net] sched: protect block->chain0 with block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: refactor tc_ctl_chain() to use block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: protect chain->explicitly_created with block->lock (Ivan Vecera) [1688236 1687456] - [net] sched: protect block state with mutex (Ivan Vecera) [1688236 1687456] - [net] Change TCA_ACT_* to TCA_ID_* to match that of TCA_ID_POLICE (Ivan Vecera) [1688236 1687456] - [net] Move all TC actions identifiers to one place (Ivan Vecera) [1688236 1687456] - [net] sched: use struct_size() helper (Ivan Vecera) [1688236 1687456] - [net] documentation: bring operstate documentation up-to-date (Ivan Vecera) [1688236 1687456] - [net] cls_flower: Remove filter from mask before freeing it (Ivan Vecera) [1688236 1687456] - [net] cls_flower: don't expose TC actions to drivers anymore (Ivan Vecera) [1688236 1687456] - [net] drivers: net: use flow action infrastructure (Ivan Vecera) [1688236 1687456] - [net] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1688236 1687456] - [net] net_sched: add performance counters for basic filter (Ivan Vecera) [1688236 1687456] - [net] net_sched: add hit counter for matchall (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: allocate mask dynamically in fl_change() (Ivan Vecera) [1688236 1687456] - [net] selftests: tc-testing: fix parsing of ife type (Ivan Vecera) [1688236 1687456] - [net] net_sched: refetch skb protocol for each filter (Ivan Vecera) [1688236 1687456] - [net] sched: act_tunnel_key: fix memory leak in case of action replace (Ivan Vecera) [1688236 1687456] - [net] sch_api: Change signature of qdisc_tree_reduce_backlog() to use ints (Ivan Vecera) [1688236 1687456] - [net] sch_cake: Correctly update parent qlen when splitting GSO packets (Ivan Vecera) [1688236 1687456] - [net] sched: Fix detection of empty queues in child qdiscs (Ivan Vecera) [1688236 1687456] - [net] sched: Avoid dereferencing skb pointer after child enqueue (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Remove old entries from rhashtable (Ivan Vecera) [1688236 1687456] - [net] sched: simplify the qdisc_leaf code (Ivan Vecera) [1688236 1687456] - [net] selftests: Fix test errors related to lib.mk khdr target (Ivan Vecera) [1688236 1687456] - [net] net_sched: fold tcf_block_cb_call() into tc_setup_cb_call() (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Reject duplicated rules also under skip_sw (Ivan Vecera) [1688236 1687456] - [net] tc-testing: gitignore, ignore generated test results (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Implement the TdcResults module in tdc (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Add new TdcResults module (Ivan Vecera) [1688236 1687456] - [net] tc-testing: Add command timeout feature to tdc (Ivan Vecera) [1688236 1687456] - [net] netem: use a list in addition to rbtree (Ivan Vecera) [1688236 1687456] - [net] Prevent invalid access to skb->prev in __qdisc_drop_all (Ivan Vecera) [1688236 1687456] - [net] tc-testing: tdc.py: Guard against lack of returncode in executed command (Ivan Vecera) [1688236 1687456] - [net] tc-testing: tdc.py: ignore errors when decoding stdout/stderr (Ivan Vecera) [1688236 1687456] - [net] etf: Drop all expired packets (Ivan Vecera) [1688236 1687456] - [net] etf: Split timersortedlist_erase() (Ivan Vecera) [1688236 1687456] - [net] etf: Use cached rb_root (Ivan Vecera) [1688236 1687456] - [net] etf: Cancel timer if there are no pending skbs (Ivan Vecera) [1688236 1687456] - [net] sched: cls_flower: Classify packets using port ranges (Ivan Vecera) [1688236 1687456] - [net] act_mirred: clear skb->tstamp on redirect (Ivan Vecera) [1688236 1687456] - [net] core: use __vlan_hwaccel helpers (Ivan Vecera) [1688236 1687456] - [net] sched: Replace call_rcu_bh() and rcu_barrier_bh() (Ivan Vecera) [1688236 1687456] - [net] sched: Remove egdev mechanism (Ivan Vecera) [1688236 1687456] - [net] sched: avoid writing on noop_qdisc (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: simplify the hell out u32_delete() emptiness check (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: keep track of knodes count in tc_u_common (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tp_c (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: the tp_c argument of u32_set_parms() is always tp->data (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: pass tc_u_common to u32_set_parms() instead of tc_u_hnode (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: clean tc_u_common hashtable (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tc_u_common ->rcu (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of tc_u_knode ->tp (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: get rid of unused argument of u32_destroy_key() (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: make sure that divisor is a power of 2 (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: disallow linking to root hnode (Ivan Vecera) [1688236 1687456] - [net] sched: cls_u32: mark root hnode explicitly (Ivan Vecera) [1688236 1687456] - [net] sched: pie: fix coding style issues (Ivan Vecera) [1688236 1687456] - [net] treewide: Replace more open-coded allocation size multiplications (Ivan Vecera) [1688236 1687456] - [net] sched: remove unused helpers (Ivan Vecera) [1688236 1687456] - [net] tc-testing: use a plugin to build eBPF program (Ivan Vecera) [1688236 1687456] - [net] tc-testing: fix build of eBPF programs (Ivan Vecera) [1688236 1687456] - [net] tc: Add support for configuring the taprio scheduler (Ivan Vecera) [1688236 1687456] - [documentation] KVM: arm64: Clarify access behaviour for out-of-range SVE register slice IDs (Andrew Jones) [1550499] - [documentation] KVM: Clarify KVM_{SET,GET}_ONE_REG error code documentation (Andrew Jones) [1550499] - [documentation] KVM: Clarify capability requirements for KVM_ARM_VCPU_FINALIZE (Andrew Jones) [1550499] - [kvm] KVM: arm/arm64: Clean up vcpu finalization function parameter naming (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Explain validity checks in set_sve_vls() (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Simplify KVM_REG_ARM64_SVE_VLS array sizing (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: WARN when avoiding divide-by-zero in sve_reg_to_region() (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Make register ioctl access errors more consistent (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Miscellaneous tidyups in guest.c (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Clean up UAPI register ID definitions (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: sys_regs: Demote redundant vcpu_has_sve() checks to WARNs (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Demote kvm_arm_init_arch_resources() to just set up SVE (Andrew Jones) [1550499] - [arm64] arm64/sve: Clarify vq map semantics (Andrew Jones) [1550499] - [kvm] arm64: KVM: Fix system register enumeration (Andrew Jones) [1550499] - [documentation] KVM: arm64/sve: Document KVM API extensions for SVE (Andrew Jones) [1550499] - [documentation] KVM: Document errors for KVM_GET_ONE_REG and KVM_SET_ONE_REG (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add a capability to advertise SVE support (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Allow userspace to enable SVE for vcpus (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Add pseudo-register for the guest's vector lengths (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Add KVM_ARM_VCPU_FINALIZE ioctl (Andrew Jones) [1550499] - [virt] KVM: arm/arm64: Add hook for arch-specific KVM initialisation (Andrew Jones) [1550499] - [arm64] arm64/sve: In-kernel vector length availability query interface (Andrew Jones) [1550499] - [kvm] KVM: arm64: Enumerate SVE register indices for KVM_GET_REG_LIST (Andrew Jones) [1550499] - [arm64] KVM: arm64/sve: Add SVE support to register access ioctl interface (Andrew Jones) [1550499] - [kvm] KVM: arm64: Reject ioctl access to FPSIMD V-regs on SVE vcpus (Andrew Jones) [1550499] - [kvm] KVM: arm64: Factor out core register ID enumeration (Andrew Jones) [1550499] - [kvm] KVM: arm64: Add missing #include of in guest.c (Andrew Jones) [1550499] - [include] KVM: Allow 2048-bit register access via ioctl interface (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: Context switch the SVE registers (Andrew Jones) [1550499] - [kvm] KVM: arm64/sve: System register context switch and access support (Andrew Jones) [1550499] - [kvm] KVM: arm64: Support runtime sysreg visibility filtering (Andrew Jones) [1550499] - [kvm] KVM: arm64: Propagate vcpu into read_id_reg() (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add a vcpu flag to control SVE visibility for the guest (Andrew Jones) [1550499] - [arm64] arm64/sve: Enable SVE state tracking for non-task contexts (Andrew Jones) [1550499] - [arm64] arm64/sve: Check SVE virtualisability (Andrew Jones) [1550499] - [arm64] arm64/sve: Clarify role of the VQ map maintenance functions (Andrew Jones) [1550499] - [arm64] KVM: arm64: Add missing #includes to kvm_host.h (Andrew Jones) [1550499] - [kvm] KVM: arm64: Refactor kvm_arm_num_regs() for easier maintenance (Andrew Jones) [1550499] - [arm64] KVM: arm64: Delete orphaned declaration for __fpsimd_enabled() (Andrew Jones) [1550499] - [arm64] arm64: fpsimd: Always set TIF_FOREIGN_FPSTATE on task state flush (Andrew Jones) [1550499] - [documentation] KVM: Documentation: Document arm64 core registers in detail (Andrew Jones) [1550499] - [arm64] arm64/sve: Disentangle from (Andrew Jones) [1550499] - [arm64] arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition (Andrew Jones) [1550499]- [fs] xfs: fix reporting supported extra file attributes for statx() (Bill O'Donnell) [1721034] - [scsi] scsi: hpsa: correct ioaccel2 chaining (Joseph Szczypek) [1706121] - [powerpc] powerpc/pseries/mobility: rebuild cacheinfo hierarchy post-migration (Steve Best) [1720929] - [powerpc] powerpc/pseries/mobility: prevent cpu hotplug during DT update (Steve Best) [1720929] - [powerpc] powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild (Steve Best) [1720929] - [kernel] cpuset: restore sanity to cpuset_cpus_allowed_fallback() (Joel Savitz) [1677311]- [scripts] scripts: override locale from environment when running recordmcount.pl (Prarit Bhargava) [1721515] - [netdrv] net: aquantia: fix wol configuration not applied sometimes (Igor Russkikh) [1662198] - [x86] x86/resctrl: Prevent NULL pointer dereference when local MBM is disabled (Prarit Bhargava) [1721208] - [fs] inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch() (Miklos Szeredi) [1451863] - [fs] inotify: Fix fd refcount leak in inotify_add_watch(). (Miklos Szeredi) [1451863] - [fs] fanotify: Use inode_is_open_for_write (Miklos Szeredi) [1451863] - [fs] fanotify: Make sure to check event_len when copying (Miklos Szeredi) [1451863] - [fs] fsnotify/fdinfo: include fdinfo.h for inotify_show_fdinfo() (Miklos Szeredi) [1451863] - [include] fanotify: introduce new event mask FAN_OPEN_EXEC_PERM (Miklos Szeredi) [1451863] - [include] fsnotify: refactor fsnotify_parent()/fsnotify() paired calls when event is on path (Miklos Szeredi) [1451863] - [include] fanotify: introduce new event mask FAN_OPEN_EXEC (Miklos Szeredi) [1451863] - [fs] fanotify: return only user requested event types in event mask (Miklos Szeredi) [1451863] - [fs] fanotify: support reporting thread id instead of process id (Miklos Szeredi) [1451863] - [fs] fanotify: add BUILD_BUG_ON() to count the bits of fanotify constants (Miklos Szeredi) [1451863] - [fs] fsnotify: convert runtime BUG_ON() to BUILD_BUG_ON() (Miklos Szeredi) [1451863] - [fs] fanotify: deprecate uapi FAN_ALL_* constants (Miklos Szeredi) [1451863] - [fs] fanotify: simplify handling of FAN_ONDIR (Miklos Szeredi) [1451863] - [include] fanotify: fix collision of internal and uapi mark flags (Miklos Szeredi) [1451863] - [fs] fanotify: store fanotify_init() flags in group's fanotify_data (Miklos Szeredi) [1451863] - [fs] fanotify: clean up handling of "mark type" (Miklos Szeredi) [1451863] - [fs] fsnotify: fix false positive warning on inode delete (Miklos Szeredi) [1451863] - [include] inotify: Add flag IN_MASK_CREATE for inotify_add_watch() (Miklos Szeredi) [1451863] - [fs] fanotify: factor out helpers to add/remove mark (Miklos Szeredi) [1451863] - [fs] fsnotify: add helper to get mask from connector (Miklos Szeredi) [1451863] - [fs] fsnotify: let connector point to an abstract object (Miklos Szeredi) [1451863] - [fs] fsnotify: pass connp and object type to fsnotify_add_mark() (Miklos Szeredi) [1451863] - [fs] fsnotify: use typedef fsnotify_connp_t for brevity (Miklos Szeredi) [1451863] - [powerpc] powerpc/pseries: Fix oops in hotplug memory notifier (Steve Best) [1720932] - [netdrv] net: aquantia: tcp checksum 0xffff being handled incorrectly (Igor Russkikh) [1719176] - [netdrv] net: aquantia: fix LRO with FCS error (Igor Russkikh) [1719176] - [netdrv] net: aquantia: check rx csum for all packets in LRO session (Igor Russkikh) [1719176] - [netdrv] net: aquantia: tx clean budget logic error (Igor Russkikh) [1719176] - [security] selinux: log raw contexts as untrusted strings (Ondrej Mosnacek) [1719666] - [kernel] audit: add saddr_fam filter field (Richard Guy Briggs) [1715679] - [kernel] audit: re-structure audit field valid checks (Richard Guy Briggs) [1715679] - [kernel] audit: rename FILTER_TYPE to FILTER_EXCLUDE (Richard Guy Briggs) [1715679] - [kernel] audit: allow other filter list types for AUDIT_EXE (Richard Guy Briggs) [1715679] - [documentation] ovl: doc: add non-standard corner cases (Miklos Szeredi) [1718370] - [fs] ovl: support the FS_IOC_FSETXATTR ioctls (Miklos Szeredi) [1718370] - [fs] ovl: relax WARN_ON() for overlapping layers use case (Miklos Szeredi) [1718370] - [fs] ovl: check the capability before cred overridden (Miklos Szeredi) [1718370] - [fs] ovl: do not generate duplicate fsnotify events for "fake" path (Miklos Szeredi) [1718370] - [fs] ovl: support stacked SEEK_HOLE/SEEK_DATA (Miklos Szeredi) [1718370] - [fs] ovl: fix missing upper fs freeze protection on copy up for ioctl (Miklos Szeredi) [1718370] - [fs] fuse: fallocate: fix return with locked inode (Miklos Szeredi) [1717457] - [fs] fuse: honor RLIMIT_FSIZE in fuse_file_fallocate (Miklos Szeredi) [1717457] - [fs] fuse: decrement NR_WRITEBACK_TEMP on the right page (Miklos Szeredi) [1717457] - [fs] fuse: handle zero sized retrieve correctly (Miklos Szeredi) [1717457] - [fs] fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS (Miklos Szeredi) [1717457]- [mm] mm/mincore.c: make mincore() more conservative (Rafael Aquini) [1664203] {CVE-2019-5489} - [x86] x86/umip: Make the UMIP activated message generic (David Arcari) [1720014] - [x86] x86/umip: Print UMIP line only once (David Arcari) [1720014] - [crypto] crypto: vmac - separate tfm and request context (Desnes Augusto Nunes do Rosario) [1702702] - [crypto] crypto: ccp - Update driver messages to remove some confusion (David Arcari) [1719026] - [block] blk-mq: fix hang caused by freeze/unfreeze sequence (Ming Lei) [1719835] - [block] blk-mq: remove WARN_ON(!q->elevator) from blk_mq_sched_free_requests (Ming Lei) [1719835] - [block] block: free sched's request pool in blk_cleanup_queue (Ming Lei) [1719835] - [block] block: don't protect generic_make_request_checks with blk_queue_enter (Ming Lei) [1719835] - [block] block: move blk_exit_queue into __blk_release_queue (Ming Lei) [1719835] - [block] block: print offending values when cloned rq limits are exceeded (Ming Lei) [1719816] - [block] block: fix page leak when merging to same page (Ming Lei) [1662864] - [x86] RHEL: fix build of spec_ctrl.h for older assemblers (Jeff Moyer) [1719406] - [drm] drm/amd/display: Initialize stream_update with memset (Jeff Moyer) [1719406] - [mm] mm/gup: finish consolidating error handling (Jeff Moyer) [1641506] - [mm] mm/gup: cache dev_pagemap while pinning pages (Jeff Moyer) [1641506] - [rpmspec] kernel packaging: Fix extra namespace collision (Prarit Bhargava) [1699868] - [rpmspec] redhat: kernel-selftests-internal: add dependencies (Jiri Benc) [1717943] - [kernel] kernel/module.c: Only return -EEXIST for modules that have finished loading (Prarit Bhargava) [1666939] - [input] Input: elantech - remove P52 and P72 from SMBus blacklist (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - handle physical middle button (Benjamin Tissoires) [1703157] - [input] Input: elantech/SMBus - export all capabilities from the PS/2 node (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - do not query the info if they are provided (Benjamin Tissoires) [1703157] - [input] Input: elantech - detect middle button based on firmware version (Benjamin Tissoires) [1703157] - [input] Input: elantech - add helper function elantech_is_buttonpad() (Benjamin Tissoires) [1703157] - [input] Input: elantech - query the min/max information beforehand too (Benjamin Tissoires) [1703157] - [input] Input: elantech - enable middle button support on 2 ThinkPads (Benjamin Tissoires) [1703157] - [input] Input: elan_i2c - increment wakeup count if wake source (Benjamin Tissoires) [1703157] - [kernel] timekeeping: Update multiplier when NTP frequency is set directly (Prarit Bhargava) [1714164] - [fs] xfs: fix use after free in buf log item unlock assert (Brian Foster) [1666150] - [fs] xfs: add missing error check in xfs_prepare_shift() (Brian Foster) [1699214] - [documentation] Documentation: Fix grammatical error in sysctl/fs.txt & clarify negative dentry (Waiman Long) [1673955] - [fs] fs/dcache: Track & report number of negative dentries (Waiman Long) [1673955] - [fs] fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb() (Waiman Long) [1673955] - [net] tcp: tcp_fragment() should apply sane memory limits (Florian Westphal) [1719858] {CVE-2019-11478} - [net] tcp: limit payload size of sacked skbs (Florian Westphal) [1719603] {CVE-2019-11477}- [tools] kvm: selftests: make hyperv_cpuid test pass on AMD (Vitaly Kuznetsov) [1718501] - [scsi] vmw_pvscsi: Fixed to work with SG_CHAIN (Ewan Milne) [1717278] - [x86] mark AMD Rome processors supported (David Arcari) [1520002] - [fs] ext4: zero out the unused memory region in the extent tree block (Lukas Czerner) [1715276] {CVE-2019-11833} - [s390] s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU (David Hildenbrand) [1715041] - [vfio] vfio/type1: Limit DMA mappings per container (Alex Williamson) [1695592] {CVE-2019-3882} - [tools] selftests/powerpc: Remove Power9 paste tests (Diego Domingos) [1662374] - [tools] selftests/powerpc: Remove Power9 copy_unaligned test (Diego Domingos) [1662374] - [tools] selftests/powerpc: Fix ptrace tm failure (Diego Domingos) [1662374] - [netdrv] mlxsw: core: Prevent reading unsupported slave address from SFP EEPROM (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Prevent QSFP module initialization for old hardware (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix autoneg status in ethtool (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Reincrease PCI reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Put MC TCs into DWRR mode (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Add a multicast pool for Spectrum-2 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test VRF MAC vetoing (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not check VRF MAC address (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw ordered workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Do not use WQ_MEM_RECLAIM for EMAD workqueue (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add MDB entries in prepare phase (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: mlxsw: core: avoid -Wint-in-bool-context warning (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Initialize base_mac (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Prevent duplication during QSFP module initialization (Ivan Vecera) [1680241] - [netdrv] mellanox: Switch to bitmap_zalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Extend initialization by querying resources data (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Extend input parameters list of command API (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Modify input parameter name in initialization API (Ivan Vecera) [1680241] - [netdrv] mlxsw: i2c: Fix comment misspelling (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Move resource query API to common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Add ethtool support (Ivan Vecera) [1680241] - [netdrv] mlxsw: minimal: Make structures and variables names shorter (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Move ethtool module callbacks to a common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Make mlxsw_sp_acl_tcam_vregion_rehash() return void (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remember where to continue rehash migration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Allow to interrupt/continue rehash work (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Do rollback as another call to mlxsw_sp_acl_tcam_vchunk_migrate_all() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Put vchunk migrate start/end code into separate functions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Put this_is_rollback to rehash context struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Rename variables in mlxsw_sp_acl_tcam_ventry_migrate() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: assign vchunk->chunk by the newly created chunk (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: assign vregion->region by the newly created region (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push code start/end from mlxsw_sp_acl_tcam_vregion_migrate() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push rehash start/end code into separate functions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce new rehash context struct and save hint_priv there (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't migrate already migrated entry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Push rehash dw struct into rehash sub-struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: remove set but not used variable 'autoneg_status' (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add massive delta rehash test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Check migrate end trace (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add vregion migration end tracepoint (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add IPv6 variant of simple delta rehash test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't take mutex in mlxsw_sp_acl_tcam_vregion_rehash_work() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove RTNL lock assertions from ERP code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Don't take rtnl lock during vregion_rehash_intrvl_set() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce a mutex to guard objagg instance manipulation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Enable vregion rehash per-profile (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce mutex to guard Bloom Filter updates (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce vregion mutex (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Refactor vregion association code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce a mutex to guard region list updates (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split TCAM group structure into two (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove unused ops field from group structure (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 ASIC support for new port types and speeds (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 ASIC port type-speed operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add new port type-speed fields for PTYS register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: 80 columns wrapping change (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Rename p_eth_proto_adm to full name p_eth_proto_admin (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add port type-speed operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Rename port type-speed functions to ASIC specific (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Query port connector type from firmware (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove unsupported eth_proto_lp_advertise field in PTYS (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove duplicate port link mode entry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Avoid -Wformat-truncation warnings (Ivan Vecera) [1680241] - [netdrv] net: Remove SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Reject overlarge headroom size requests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Update port headroom configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Add Spectrum-2 shared buffer configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_mm in sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_cm in sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_prs in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep mlxsw_sp_sb_pms in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep pool descriptors in mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allocate prs & pms dynamically (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add struct mlxsw_sp_sb_vals (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change IP2ME CPU policer rate and burst size values (Ivan Vecera) [1680241] - [netdrv] mlxsw: __mlxsw_sp_port_headroom_set(): Fix a use of local variable (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add some missing configuration symbols (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: fix spelling mistake "temprature" -> "temperature" (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend thermal module with per QSFP module thermal zones (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Allow thermal zone binding to an external cooling device (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Add QSFP module temperature label attribute to hwmon (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend hwmon interface with QSFP module temperature attributes (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend hwmon interface with fan fault attribute (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Rename cooling device (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Replace thermal temperature trips with defines (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Modify thermal zone definition (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Set different thermal polling time based on bus frequency capability (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Add API for QSFP module temperature thresholds reading (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Fan Out of Range Event Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Management Temperature Bulk Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Move QSFP EEPROM definitions to common location (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Remove unused variables (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: avoid double sourcing of lib.sh (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Fix VLAN modify action support (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Drop unnecessary WARN_ON_ONCE() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set LAG port collector only when active (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Remove getting PORT_BRIDGE_FLAGS (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add simple delta rehash test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add couple of vregion rehash tracepoints (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: add "acl_region_rehash_interval" devlink param (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement region migration according to hints (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add multi field to PAGT register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Pass hints priv all the way to ERP code (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement basic ERP rehash hits creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split entry struct into entry and ventry (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split chunk struct into chunk and vchunk (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split region struct into region and vregion (Ivan Vecera) [1680241] - [netdrv] lib: objagg: implement optimization hints assembly and use hints for object creation (Ivan Vecera) [1680241] - [netdrv] devlink: publish params only after driver init is done (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for blackhole routes (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Offload blackhole routes (Ivan Vecera) [1680241] - [netdrv] mlxsw: Implement ndo_get_port_parent_id() (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Trace EMAD errors (Ivan Vecera) [1680241] - [netdrv] drivers: net: use flow action infrastructure (Ivan Vecera) [1680241] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_flower: Fix test result handling (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Ignore ARP (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Enable forwarding (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_bridge_1q_lag: Flush neighbors (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix roaming test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Wait for tardy mirrored packets (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_changes: Fix TTL test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Update ping limits (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Update ping limits (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Make ping timeout configurable (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Add delta two masks one key test (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Fix multiple_masks_test (Ivan Vecera) [1680241] - [tools] selftests: spectrum-2: Extend and move trace helpers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add C-TCAM spill tracepoint (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Include delta bits into hashtable key (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Use OK instead of PASS in test output (Ivan Vecera) [1680241] - [tools] selftests: net: forwarding: change devlink resource support checking (Ivan Vecera) [1680241] - [documentation] Documentation: add devlink param file for mlxsw driver (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add more extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Fix rul/rule typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Move mr_ruleset and mr_rule structs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path (Ivan Vecera) [1680241] - [netdrv] mlxfw: Replace license text with SPDX identifiers and adjust copyrights (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Enable VXLAN on Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add support for VXLAN on Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Breakout common code to a common function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose functions to create and destroy underlay RIF (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for ARP suppression (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VXLAN symmetric routing (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for ARP decapsulation (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VXLAN asymmetric routing (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology with keys test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology with key test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE hierarchical topology test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology with keys test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology with key test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP-in-IP GRE flat topology test (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add IP tunneling lib (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add GRE tunnel support for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Update tunnel decap properties (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Support RIF without device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Change mlxsw_sp_ipip_lb_ul_vr_id() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add underlay RIF ID support (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Mark RIF index as taken before creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Adjust loopback RIF configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set RIF ops per ASIC type (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Split RIF ops array for Spectrum-2 support (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add underlay egress RIF field in RTDP register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add fields to RITR - Router Interface Table Register (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test case for externally learned FDB entries (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test FDB offload indication (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not treat static FDB entries as sticky (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Update dummy FID index (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Return error on PCI reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Increase PCI SW reset timeout (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Ring CQ's doorbell before RDQ's (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test veto of unsupported VXLAN FDBs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add extack messages to VXLAN FDB rejection (Ivan Vecera) [1680241] - [netdrv] mlxsw: Add extack to mlxsw_sp_nve_ops.fdb_replay (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl_bloom_filter: use struct_size() in kzalloc() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add a test for VLAN deletion (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Set PVID correctly during VLAN deletion (Ivan Vecera) [1680241] - [net] net: bridge: Fix VLANs memory leak (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test case for VLAN addition error flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Replace error code with EINVAL (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Avoid returning errors in commit phase (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add VXLAN dependency for spectrum (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Disable lag port TX before removing it (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Remove ASSERT_RTNL()s in module removal flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add cleanup after C-TCAM update error condition (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: drop useless LIST_HEAD (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add router test with VID 1 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Adjust test regarding VID 1 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove limitation regarding VID 1 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Switch to VID 4095 as default VID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add an helper function to cleanup VLAN entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Store pointer to default port VLAN in port struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Allow controlling destruction of default port VLAN (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set PVID during port initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Replace hard-coded default VID with a define (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test case for L3 VNI (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not force specific configuration order (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add rtnetlink tests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Hold a reference on RIF's netdev (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Make RIF deletion more robust (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Propagate 'struct mlxsw_sp' further (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Properly cleanup LAG uppers when removing port from LAG (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove reference count from VLAN entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Handle VLAN device unlinking (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Remove unused function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Do not destroy RIFs based on FID's reference count (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Sanitize VLAN interface's uppers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Fix memory leak upon driver reload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add trap for decapsulated ARP packets (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Increase timeout during firmware flash process (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Update the supported firmware to version 13.1910.622 (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom delta test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom filter complex test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add Bloom filter simple test (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Activate Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Set master RP index on transition to eRP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Update Bloom filter on eRP transitions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Set A-TCAM rules in Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Bloom filter update (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Bloom filter handling (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Introduce Bloom filter (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 Bloom filter resource (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy Engine Algorithmic Bloom Filter Entries Register (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test FID RIF MAC vetoing (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Test RIF MAC vetoing (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Veto unsupported RIF MAC addresses (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add mlxsw_sp.mac_mask (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Generalize mlxsw_sp_netdevice_router_port_event() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: extack: Test VLAN add on a port device (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: extack: Test VLAN add on a VXLAN device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack on port VLAN events (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Propagate extack on VXLAN VLAN events (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add multicast routing test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add Multicast routing support for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Limit priority value (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Support rule creation without action creation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add replace rule action operation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add multicast router profile operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add Spectrum-2 keys (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change stage of ACL initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy Engine Multicast Router Binding Table Register (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add PVID test case for VXLAN with VLAN-aware bridges (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: vxlan: Test FDB un/marking on VXLAN join/leave (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Un/offload FDB on nve_fid_disable/enable (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add mlxsw_sp_fid_ops.fdb_clear_offload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add mlxsw_sp_nve_ops.fdb_clear_offload (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add mlxsw_sp_nve_ops.fdb_replay (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Publish mlxsw_sp_switchdev_notifier (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Track NVE type at FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Fix VLAN device deletion via ioctl (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Relax GRE decap matching check (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Avoid leaking FID's reference count (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Remove easily triggerable warnings (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a new test extack.sh (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add one-armed router test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Mirror loopbacked packets instead of trapping them (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Load firmware version based on devlink parameter (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Reset firmware after flash during driver initialization (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add VxLAN test with a VLAN-aware bridge (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN configuration with a VLAN-aware bridge (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Consider VLAN-aware bridges as valid (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable VxLAN enslavement to VLAN-aware bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Prepare function for VLAN-aware bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Unify VxLAN leave function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Add API to lookup 802.1Q FIDs without creating them (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Flip driver to use emulated 802.1Q FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Introduce emulated VLAN RIFs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Introduce emulated 802.1Q FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Make flood index calculation more robust (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not set field when it is reserved (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Consider VxLAN learning enabled as valid (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Allow VxLAN learning (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Allow deletion of learned FDB entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Process learned VxLAN FDB entries (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Add API to resolve learned IP addresses (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Allow FID lookup by its index (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Store ifindex of NVE device in FID (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add definition of unicast tunnel record for SFN register (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Extend cooling device with cooling levels (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN flooding (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for VxLAN configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose discard counters via ethtool (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: spectrum-2: Add simple delta test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Implement delta for ERP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Push code related to num_ctcam_erps inc/dec into separate helpers (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Remove mlxsw_afk_encode() block range args and key/mask check (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Don't encode the key again in mlxsw_sp_acl_atcam_12kb_lkey_id_get() (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl: Change order of args of ops->encode_block() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl: Pass key pointer to master_mask_set/clear (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: acl_erp: Convert to use objagg for tracking ERPs (Ivan Vecera) [1680241] - [tools] selftests: Adjust spectrum-2 ctcam_two_atcam_masks_test (Ivan Vecera) [1680241] - [tools] selftests: Adjust spectrum-2 two_mask_test (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix IP2ME CPU policer configuration (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Add a test for UC awareness (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Tweak for min shaper (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Set minimum shaper on MC TCs (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: QEEC: Add minimum shaper fields (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Fix devlink unregister flow (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Don't ignore deletions of learned MACs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Add support for VxLAN encapsulation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable VxLAN enslavement to bridges (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Configure matching local routes for NVE decap (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Clear NVE configuration when destroying 802.1D FIDs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Implement VxLAN operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_nve: Implement common NVE core (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Allow querying VR ID based on table ID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Enable local routes promotion to perform NVE decap (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Add APIs to lookup FID without creating it (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_fid: Allow setting and clearing NVE properties on FID (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: Fix use-after-free when flashing firmware during init (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add NVE packet traps (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add NVE resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Monitoring Parsing State Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add definition of unicast tunnel record for SFD register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE QoS Default Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE QoS Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Decapsulation ECN Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Encapsulation ECN Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE Underlay Multicast Table Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunnel Port Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Tunneling NVE General Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Seed LAG hash function (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Extend FDB flush types for NVE (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add a new type of KVD linear record (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Move L3 protocol and address definitions to global header file (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Do not assume notifier information type (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Check notification relevance based on upper device (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Prepare for VxLAN FDB notifications (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Remove misuses of private header file (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_mc_aware: Make executable (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Have lldpad_app_wait_set() wait for unknown, too (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Fix a typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Delete RIF when VLAN device is removed (Ivan Vecera) [1680241] - [netdrv] mlxsw: pci: Derive event type from event queue number (Ivan Vecera) [1680241] - [netdrv] mlxsw: Make MLXSW_SP1_FWREV_MINOR a hard requirement (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Bump required firmware version (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add a test for UC behavior under MC flood (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add mtu_set(), mtu_restore() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add ethtool_stats_get() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Tweak SBMM configuration (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Configure MC pool (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow configuration of static pools (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Pass SBPM min_size in cells (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow an infinite maximum for per-TC pool limit (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Allow pools of infinite size (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Keep shared buffer size in mlxsw_sp_sb (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Split TC_COUNT into ingress and egress (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Use devlink pool indices throughout (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Init shaper for TCs 8..15 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_buffers: Set up a dedicated pool for BUM traffic (Ivan Vecera) [1680241] - [netdrv] mlxsw: remove unused arrays mlxsw_i2c_driver_name and mlxsw_pci_driver_name (Ivan Vecera) [1680241] - [netdrv] mlxsw: core: remove unnecessary function mlxsw_core_driver_put (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose counter for all 16 TCs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Include RFC-2819 counters in stats length (Ivan Vecera) [1680241] - [netdrv] mlxsw: Replace license text with SPDX identifiers and adjust copyrights (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add TC flower test for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Reset FW after flash (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Update the supported firmware to version 13.1702.6 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Disallow usage of vlan_id key on egress (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: use PTR_ERR_OR_ZERO() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: gre_multipath: Update next-hop statistics match criteria (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Configure MC-aware mode on mlxsw ports (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Fix a typo (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Switch Traffic Class Table is Multicast-Aware Register (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add test for ip_forward_update_priority (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Move DSCP capture to lib.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Move lldpad waiting to lib.sh (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Handle sysctl_ip_fwd_update_priority (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Extract work-scheduling into a new function (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL team LACP (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL team (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Introduce $ARPING (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Support team devices (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add require_command() (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: qos_dscp_bridge: Fix (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add test for trust-DSCP (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Support ieee_setapp, ieee_delapp (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Priority to DSCP Mapping Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS ReWrite Enable Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Priority Trust State Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add QoS Port DSCP to Priority Mapping Register (Ivan Vecera) [1680241] - [tools] selftests: add a selftest for directed broadcast forwarding (Ivan Vecera) [1680241] - [tools] selftests: forwarding: add tests for TC chain get and dump operations (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Start using A-TCAM (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM rule insertion and deletion (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Pass C-TCAM region and entry to insert function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM region initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Make global TCAM resources available to regions (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Encapsulate C-TCAM region in A-TCAM region (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add A-TCAM initialization (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Allow encoding a partial key (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Extend Spectrum-2 region struct (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add support for C-TCAM eRPs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Enable C-TCAM only mode in eRP core (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement common eRP core (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 eRP resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add Spectrum-2 maximum large key ID resource (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine eRP Table Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine TCAM Entry Register Version 3 (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Prepare PERERP register for A-TCAM usage (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_flower: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Add extack messages (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Propagate extack pointer (Ivan Vecera) [1680241] - [tools] selftests: forwarding: gre_multipath: Drop IPv6 tests (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Implement chain template hinting (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Extend to support Spectrum-2 ASIC (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add initial Spectrum-2 ACL implementation (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add region association callback (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add support for Spectrum-2 block encoding (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Prepare for Spectrum-2 block encoding (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine General Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region eRP Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region Configuration Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Policy-Engine Region Association Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: acl: Introduce activity get operation for action block/set (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add support for activity information from PEFA register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Introduce flex key blocks for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add Spectrum-2 variant of flex actions ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_mr_tcam: Add Spectrum-2 stubs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add KVDL manager implementation for Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add Infrastructure Entry Delete Register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Expose counters for various packet sizes (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Optimize processing of VRRP MACs (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Add VRRP traps (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Direct macvlans' MACs to router (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Enable macvlan upper devices (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_nh: Unset rp_filter on host VRF (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_span: Change LAG lower selection (Ivan Vecera) [1680241] - [netdrv] mlxsw: resources: Add couple of Spectrum-2 KVD resources (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Prepare for multiple FW versions for Spectrum and Spectrum-2 (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Implement priority setting for rules inserted to TCAM (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Add priority field for PTCEV2 register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Move block items encoding into Spectrum op (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Convert mlxsw_afk_create args to ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Add tcam init/fini ops (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Split TCAM handling 3 ways (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_mr_tcam: Push Spectrum-specific operations into a separate file (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Pass entry_count to free function (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Pass entry type to alloc/free (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_kvdl: Push out KVD linear management into ops (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_lib: Tighten up VLAN capture (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Fix helper to get the first KVD linear index (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_actions: Allow the first set to be dummy (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Put pointer to flex action ops to mlxsw_sp (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_keys: Change SRC_SYS_PORT flex key element size (Ivan Vecera) [1680241] - [netdrv] mlxsw: core_acl_flex_keys: Split MAC and IP address flex key elements (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_acl: Ignore always-zeroed bits in tp->prio (Ivan Vecera) [1680241] - [netdrv] mlxsw: reg: Introduce Flex2 key type for PTAR register (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum: Change name of mlxsw_sp_afk_blocks to mlxsw_sp1_afk_blocks (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: avoid uninitialized variable access (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add mlxsw-specific test for mirror to gretap (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Allow importing dependent libraries (Ivan Vecera) [1680241] - [tools] selftests: forwarding: test for bridge port isolation (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL 802.1q (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test mirror-to-gretap w/ UL 802.1d (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add scale test for resources (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for mirror-to-gretap test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add scale test for mirror-to-gretap (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for tc flower test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add tc flower scale test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add target for router test on spectrum (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add router test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add devlink KVD resource test (Ivan Vecera) [1680241] - [tools] selftests: mlxsw: Add devlink_lib_spectrum.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Add devlink_lib.sh (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Parameterize NUM_NETIFS in two functions (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Add check_err_fail() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Allow lib.sh sourcing from other directories (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_changes: Fix waiting for neighbor (Ivan Vecera) [1680241] - [tools] selftests: forwarding: lib: Split out setup_wait_dev() (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test multipath tunneling (Ivan Vecera) [1680241] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Unset rp_filter (Ivan Vecera) [1680241] - [tools] selftests: forwarding: Test routed bridge interface (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_switchdev: Ban PVID change if bridge has a RIF (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Add mlxsw_sp_rif_fid() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Publish mlxsw_sp_rif_find_by_dev() (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Allocate FID according to PVID (Ivan Vecera) [1680241] - [netdrv] mlxsw: spectrum_router: Propagate extack to .fid_get() (Ivan Vecera) [1680241] - [netdrv] net: phy: realtek: Dummy IRQ calls for RTL8366RB (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add generic Realtek PHY driver (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: use new PHYID matching macros (Corinna Vinschen) [1680528] - [include] net: phy: add macros for PHYID matching (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: load driver for all PHYs with a Realtek OUI (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: fix RTL8201F sysfs name (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: Support RTL8366RB variant (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add missing entry for RTL8211C to mdio_device_id table (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add support for RTL8211C (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add missing entry for RTL8211 to mdio_device_id table (Corinna Vinschen) [1680528] - [netdrv] net: phy: realtek: add support for RTL8211 (Corinna Vinschen) [1680528] - [netdrv] r8169: change irq handler to always trigger NAPI polling (Corinna Vinschen) [1680528] - [netdrv] r8169: create function pointer array for chip hw init functions (Corinna Vinschen) [1680528] - [netdrv] r8169: create function pointer array for PHY init functions (Corinna Vinschen) [1680528] - [netdrv] r8169: disable ASPM again (Corinna Vinschen) [1680528] - [netdrv] r8169: disable tx interrupt coalescing on RTL8168 (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: use netif_receive_skb_list batching" (Corinna Vinschen) [1680528] - [netdrv] r8169: use netif_receive_skb_list batching (Corinna Vinschen) [1680528] - [netdrv] r8169: disable default rx interrupt coalescing on RTL8168 (Corinna Vinschen) [1680528] - [netdrv] r8169: fix cable re-plugging issue (Corinna Vinschen) [1680528] - [netdrv] r8169: use netif_start_queue instead of netif_wake_qeueue in rtl8169_start_xmit (Corinna Vinschen) [1680528] - [netdrv] r8169: don't read interrupt mask register in interrupt handler (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded mmiowb barriers (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: make use of xmit_more and __netdev_sent_queue" (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: remove unneeded mmiowb barriers" (Corinna Vinschen) [1680528] - [netdrv] r8169: Avoid pointer aliasing (Corinna Vinschen) [1680528] - [netdrv] r8169: Load MAC address from device tree if present (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl_wol_pll_power_down (Corinna Vinschen) [1680528] - [netdrv] r8169: improve WoL handling (Corinna Vinschen) [1680528] - [netdrv] r8169: enable EEE per default on RTL8168f (Corinna Vinschen) [1680528] - [netdrv] r8169: add EEE support for RTL8168f (Corinna Vinschen) [1680528] - [netdrv] r8169: enable EEE per default on chip versions from RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: add general EEE support for chip versions from RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out PHY init sequence adjusting 10M and ALDPS (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out disabling ALDPS (Corinna Vinschen) [1680528] - [netdrv] r8169: improve firmware handling (Corinna Vinschen) [1680528] - [netdrv] r8169: remove PCI DAC support (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rx buffer allocation (Corinna Vinschen) [1680528] - [netdrv] r8169: factor out getting ether_clk (Corinna Vinschen) [1680528] - [netdrv] r8169: replace mii_bus member with phy_device member in struct rtl8169_private (Corinna Vinschen) [1680528] - [netdrv] r8169: reset chip synchronously in __rtl8169_resume (Corinna Vinschen) [1680528] - [netdrv] r8169: add helpers for locking / unlocking the config registers (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rtl_pcie_state_l2l3_enable (Corinna Vinschen) [1680528] - [netdrv] r8169: initialize task workqueue only once (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded call in pcierr (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl_get_events (Corinna Vinschen) [1680528] - [netdrv] r8169: load Realtek PHY driver module before r8169 (Corinna Vinschen) [1680528] - [netdrv] r8169: don't try to read counters if chip is in a PCI power-save state (Corinna Vinschen) [1680528] - [netdrv] r8169: Add support for new Realtek Ethernet (Corinna Vinschen) [1680528] - [netdrv] r8169: fix WoL device wakeup enable (Corinna Vinschen) [1680528] - [netdrv] r8169: improve spurious interrupt detection (Corinna Vinschen) [1680528] - [netdrv] r8169: fix crash if CONFIG_DEBUG_SHIRQ is enabled (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded mmiowb barriers (Corinna Vinschen) [1680528] - [netdrv] ethernet/realtek: Replace synchronize_sched() with synchronize_rcu() (Corinna Vinschen) [1680528] - [netdrv] r8169: make use of xmit_more and __netdev_sent_queue (Corinna Vinschen) [1680528] - [netdrv] r8169: replace macro TX_FRAGS_READY_FOR with a function (Corinna Vinschen) [1680528] - [netdrv] r8169: use napi_consume_skb where possible (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify detecting chip versions with same XID (Corinna Vinschen) [1680528] - [netdrv] r8169: remove default chip versions (Corinna Vinschen) [1680528] - [netdrv] r8169: remove ancient GCC bug workaround in a second place (Corinna Vinschen) [1680528] - [netdrv] r8169: improve chip version identification (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify ocp functions (Corinna Vinschen) [1680528] - [netdrv] r8169: remove workaround for ancient gcc bug (Corinna Vinschen) [1680528] - [netdrv] r8169: remove manual padding in struct ring_info (Corinna Vinschen) [1680528] - [netdrv] r8169: remove "not PCI Express" message (Corinna Vinschen) [1680528] - [netdrv] r8169: remove print_mac_version (Corinna Vinschen) [1680528] - [netdrv] r8169: use PCI_VDEVICE macro (Corinna Vinschen) [1680528] - [netdrv] r8169: replace event_slow with irq_mask (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unused interrupt sources (Corinna Vinschen) [1680528] - [netdrv] r8169: use dev_get_drvdata where possible (Corinna Vinschen) [1680528] - [netdrv] r8169: merge rtl_irq_enable and rtl_irq_enable_all (Corinna Vinschen) [1680528] - [pci] PCI: add USR vendor id and use it in r8169 and w6692 driver (Corinna Vinschen) [1680528] - [netdrv] net: ethernet: Convert phydev advertize and supported from u32 to link mode (Corinna Vinschen) [1680528] - [netdrv] r8169: fix broken Wake-on-LAN from S5 (poweroff) (Corinna Vinschen) [1680528] - [netdrv] r8169: add support for Byte Queue Limits (Corinna Vinschen) [1680528] - [netdrv] r8169: handle all interrupt events in the hard irq handler (Corinna Vinschen) [1680528] - [netdrv] r8169: fix NAPI handling under high load (Corinna Vinschen) [1680528] - [netdrv] r8169: re-enable MSI-X on RTL8168g (Corinna Vinschen) [1680528] - [netdrv] r8169: remove unneeded call to netif_stop_queue in rtl8169_net_suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify rtl8169_set_magic_reg (Corinna Vinschen) [1680528] - [netdrv] r8169: Enable MSI-X on RTL8106e (Corinna Vinschen) [1680528] - [netdrv] r8169: set RX_MULTI_EN bit in RxConfig for 8168F-family chips (Corinna Vinschen) [1680528] - [netdrv] r8169: always autoneg on resume (Corinna Vinschen) [1680528] - [netdrv] r8169: fix network stalls due to missing bit TXCFG_AUTO_FIFO (Corinna Vinschen) [1680528] - [netdrv] r8169: Disable clk during suspend / resume (Corinna Vinschen) [1680528] - [netdrv] r8169: improve a check in rtl_init_one (Corinna Vinschen) [1680528] - [netdrv] r8169: improve rtl8169_irq_mask_and_ack (Corinna Vinschen) [1680528] - [netdrv] r8169: use default watchdog timeout (Corinna Vinschen) [1680528] - [netdrv] r8169: fix autoneg issue on resume with RTL8168E (Corinna Vinschen) [1680528] - [netdrv] r8169: remove duplicated RTL8169s PHY initialization steps (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify RTL8169 PHY initialization (Corinna Vinschen) [1680528] - [netdrv] r8169: Get and enable optional ether_clk clock (Corinna Vinschen) [1680528] - [netdrv] r8169: enable ASPM on RTL8106E (Corinna Vinschen) [1680528] - [netdrv] r8169: Align ASPM/CLKREQ setting function with vendor driver (Corinna Vinschen) [1680528] - [netdrv] r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED (Corinna Vinschen) [1680528] - [netdrv] r8169: set TxConfig register after TX / RX is enabled, just like RxConfig (Corinna Vinschen) [1680528] - [netdrv] r8169: don't configure max jumbo frame size per chip version (Corinna Vinschen) [1680528] - [netdrv] r8169: don't configure csum function per chip version (Corinna Vinschen) [1680528] - [netdrv] r8169: simplify interrupt handler (Corinna Vinschen) [1680528] - [netdrv] r8169: don't include asm headers directly (Corinna Vinschen) [1680528] - [netdrv] r8169: remove version info (Corinna Vinschen) [1680528] - [netdrv] r8169: restore previous behavior to accept BIOS WoL settings (Corinna Vinschen) [1680528] - [netdrv] r8169: power down chip in probe (Corinna Vinschen) [1680528] - [netdrv] r8169: don't read chip phy status register (Corinna Vinschen) [1680528] - [netdrv] r8169: remove mii_if_info member from struct rtl8169_private (Corinna Vinschen) [1680528] - [netdrv] r8169: remove rtl8169_set_speed_xmii (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_speed_down / phy_speed_up (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_mii_ioctl (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_ethtool_nway_reset (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_ethtool_(g|s)et_link_ksettings (Corinna Vinschen) [1680528] - [netdrv] r8169: replace open-coded PHY soft reset with genphy_soft_reset (Corinna Vinschen) [1680528] - [netdrv] r8169: use phy_resume/phy_suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: add basic phylib support (Corinna Vinschen) [1680528] - [netdrv] r8169: fix runtime suspend (Corinna Vinschen) [1680528] - [netdrv] r8169: remove old PHY reset hack (Corinna Vinschen) [1680528] - [netdrv] r8169: remove TBI 1000BaseX support (Corinna Vinschen) [1680528] - [netdrv] r8169: use standard debug output functions (Corinna Vinschen) [1680528] - [netdrv] r8169: reject unsupported WoL options (Corinna Vinschen) [1680528] - [netdrv] r8169: don't check WoL when powering down PHY and interface is down (Corinna Vinschen) [1680528] - [netdrv] r8169: improve saved_wolopts handling (Corinna Vinschen) [1680528] - [netdrv] Revert "r8169: restore previous behavior to accept BIOS WoL settings" (Corinna Vinschen) [1680528] - [netdrv] r8169: improve phy initialization when resuming (Corinna Vinschen) [1680528] - [netdrv] r8169: enable ASPM on RTL8168E-VL (Corinna Vinschen) [1680528] - [netdrv] r8169: align ASPM entry latency setting with vendor driver (Corinna Vinschen) [1680528] - [netdrv] r8169: Reinstate ASPM Support (Corinna Vinschen) [1680528] - [netdrv] r8169: Don't disable ASPM in the driver (Corinna Vinschen) [1680528] - [kernel] kernel/sched/psi.c: expose pressure metrics on root cgroup (Waiman Long) [1678388] - [kernel] psi: introduce psi monitor (Waiman Long) [1678388] - [spi] include/: refactor headers to allow kthread.h inclusion in psi_types.h (Waiman Long) [1678388] - [kernel] psi: track changed states (Waiman Long) [1678388] - [kernel] psi: split update_stats into parts (Waiman Long) [1678388] - [kernel] psi: rename psi fields in preparation for psi trigger addition (Waiman Long) [1678388] - [kernel] psi: make psi_enable static (Waiman Long) [1678388] - [kernel] psi: introduce state_mask to represent stalled psi states (Waiman Long) [1678388] - [kernel] kernel: cgroup: add poll file operation (Waiman Long) [1678388] - [fs] fs: kernfs: add poll file operation (Waiman Long) [1678388] - [documentation] psi: clarify the units used in pressure files (Waiman Long) [1678388] - [kernel] psi: avoid divide-by-zero crash inside virtual machines (Waiman Long) [1678388] - [init] psi: clarify the Kconfig text for the default-disable option (Waiman Long) [1678388] - [kernel] psi: fix aggregation idle shut-off (Waiman Long) [1678388] - [init] psi: fix reference to kernel commandline enable (Waiman Long) [1678388] - [kernel] psi: make disabling/enabling easier for vendor kernels (Waiman Long) [1678388] - [kernel] kernel/sched/psi.c: simplify cgroup_move_task() (Waiman Long) [1678388] - [kernel] psi: cgroup support (Waiman Long) [1678388] - [kernel] psi: pressure stall information for CPU, memory, and IO (Waiman Long) [1678388] - [kernel] sched: introduce this_rq_lock_irq() (Waiman Long) [1678388] - [kernel] sched: sched.h: make rq locking and clock functions available in stats.h (Waiman Long) [1678388] - [kernel] sched: loadavg: make calc_load_n() public (Waiman Long) [1678388] - [kernel] sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD (Waiman Long) [1678388] - [kernel] delayacct: track delays from thrashing cache pages (Waiman Long) [1678388] - [mm] mm: workingset: tell cache transitions from workingset thrashing (Waiman Long) [1678388] - [mm] mm: workingset: don't drop refault information prematurely (Waiman Long) [1678388] - [scsi] scsi: ibmvfc: Add failed PRLI to cmd_status lookup array (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Byte swap status and error codes when logging (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Remove "failed" from logged errors (Diego Domingos) [1665716] - [scsi] scsi: ibmvfc: Clean up transport events (Diego Domingos) [1665716] - [scsi] scsi: ibmvscsi: Don't use rc uninitialized in ibmvscsi_do_work (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: fix tripping of blk_mq_run_hw_queue WARN_ON (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: redo driver work thread to use enum action states (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: Wire up host_reset() in the driver's scsi_host_template (Gustavo Duarte) [1665715] - [scsi] scsi: ibmvscsi: change strncpy+truncation to strlcpy (Gustavo Duarte) [1665715] - [fs] ext4: avoid panic during forced reboot due to aborted journal (Lukas Czerner) [1717831] - [fs] ext4: fix use-after-free in dx_release() (Lukas Czerner) [1717831] - [fs] ext4: fix data corruption caused by overlapping unaligned and aligned IO (Lukas Czerner) [1717831] - [fs] ext4: avoid drop reference to iloc.bh twice (Lukas Czerner) [1717831] - [nvme] nvme-tcp: mark NVMe/TCP as a technical preview (Chris Leech) [1696451] - [nvme] nvme-tcp: fix possible null deref on a timed out io queue connect (Chris Leech) [1696451] - [nvme] nvme-tcp: rename function to have nvme_tcp prefix (Chris Leech) [1696451] - [nvme] nvme-tcp: fix a NULL deref when an admin connect times out (Chris Leech) [1696451] - [nvme] nvmet-tcp: don't fail maxr2t greater than 1 (Chris Leech) [1696451] - [nvme] nvmet-tcp: implement C2HData SUCCESS optimization (Chris Leech) [1696451] - [nvme] nvme-tcp: fix an endianess miss-annotation (Chris Leech) [1696451] - [nvme] nvme-tcp: support C2HData with SUCCESS flag (Chris Leech) [1696451] - [nvme] nvme-tcp: use older iov_iter API to fix panic (Chris Leech) [1696451] - [nvme] nvmet: fix building bvec from sg list (Ming Lei) [1690287] - [nvme] nvmet: set loop queue's segment boundary mask as PAGE_SIZE - 1 (Ming Lei) [1690287] - [x86] x86/qspinlock: Fix compile error (Waiman Long) [1709451] - [kernel] locking/rwsem: Prevent unneeded warning during locking selftest (Waiman Long) [1709451] - [kernel] locking/rwsem: Enable lock event counting (Waiman Long) [1709451] - [kernel] locking/lock_events: Don't show pvqspinlock events on bare metal (Waiman Long) [1709451] - [kernel] locking/lock_events: Make lock_events available for all archs & other locks (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Introduce generic lockevent_*() counting APIs (Waiman Long) [1709451] - [kernel] locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro (Waiman Long) [1709451] - [kernel] locking/rwsem: Add debug check for __down_read*() (Waiman Long) [1709451] - [kernel] locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued() (Waiman Long) [1709451] - [kernel] locking/rwsem: Move rwsem internal function declarations to rwsem-xadd.h (Waiman Long) [1709451] - [kernel] locking/rwsem: Move owner setting code from rwsem.c to rwsem.h (Waiman Long) [1709451] - [kernel] locking/rwsem: Relocate rwsem_down_read_failed() (Waiman Long) [1709451] - [kernel] locking/rwsem: Optimize down_read_trylock() (Waiman Long) [1709451] - [kernel] locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs (Waiman Long) [1709451] - [x86] locking/rwsem: Remove arch specific rwsem files (Waiman Long) [1709451] - [kernel] locking/qspinlock: Remove unnecessary BUG_ON() call (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Track the no MCS node available case (Waiman Long) [1709451] - [kernel] locking/qspinlock: Handle > 4 slowpath nesting levels (Waiman Long) [1709451] - [kernel] locking/pvqspinlock: Extend node size when pvqspinlock is configured (Waiman Long) [1709451] - [kernel] locking/qspinlock_stat: Count instances of nested lock slowpaths (Waiman Long) [1709451] - [kernel] locking/qspinlock, x86: Provide liveness guarantee (Waiman Long) [1709451] - [kernel] locking/qspinlock: Rework some comments (Waiman Long) [1709451] - [kernel] locking/qspinlock: Re-order code (Waiman Long) [1709451] - [x86] x86/headers: Fix -Wmissing-prototypes warning (Waiman Long) [1709451] - [x86] Revert "x86/refcount: Work around GCC inlining bug" (Waiman Long) [1709451] - [x86] x86/asm: 'Simplify' GEN_*_RMWcc() macros (Waiman Long) [1709451] - [x86] x86/refcount: Work around GCC inlining bug (Waiman Long) [1709451] - [lib] locking/refcounts: Include fewer headers in (Waiman Long) [1709451] - [media] media: stk1160: Set the vb2_queue lock before calling vb2_queue_init (Torez Smith) [1697664] - [usb] USB: typec: fsusb302: Drop empty set_current_limit implementation (Torez Smith) [1697664] - [usb] USB: mark expected switch fall-throughs (Torez Smith) [1697664] - [usb] USB: musb: mark expected switch fall-throughs (Torez Smith) [1697664] - [usb] usb: wusbcore: security: cast sizeof to int for comparison (Torez Smith) [1697664] - [usb] usb: typec: tcpm: Support for Alternate Modes (Torez Smith) [1697664] - [usb] usb: typec: pi3usb30532: Start using generic state values (Torez Smith) [1697664] - [usb] usb: typec: Add driver for DisplayPort alternate mode (Torez Smith) [1697664] - [usb] usb: typec: Bus type for alternate modes (Torez Smith) [1697664] - [usb] usb: typec: Register a device for every mode (Torez Smith) [1697664] - [usb] usb: typec: mux: Get the mux identifier from function parameter (Torez Smith) [1697664] - [usb] usb: update for tcpci drivers moving out of staging (Torez Smith) [1697664] - [netdrv] net: usb: Mark expected switch fall-throughs (Torez Smith) [1697664] - [media] media: tm6000: add error handling for dvb_register_adapter (Torez Smith) [1697664] - [usb] usb: typec: function for checking cable plug orientation (Torez Smith) [1697664] - [include] usb: pd: include kernel.h (Torez Smith) [1697664] - [staging] staging: typec: tcpci: move tcpci drivers out of staging (Torez Smith) [1697664] - [usb] typec: tcpm: add starting value for drp toggling (Torez Smith) [1697664] - [usb] usb: typec: tcpm: support get typec and pd config from device properties (Torez Smith) [1697664] - [usb] usb: typec: add API to get typec basic port power and data config (Torez Smith) [1697664] - [staging] usb: typec: add fwnode to tcpc (Torez Smith) [1697664] - [documentation] dt-bindings: usb: add documentation for typec port controller(TCPCI) (Torez Smith) [1697664] - [documentation] dt-bindings: connector: add properties for typec (Torez Smith) [1697664] - [usb] usb: typec: tps6598x: Remove VLA usage (Torez Smith) [1697664] - [usb] usb: cdc-wdm: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: cdc-wdm: don't enable interrupts in USB-giveback (Torez Smith) [1697664] - [usb] usb: legousbtower: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: ldusb: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: iowarrior: remove intr_idx_lock (Torez Smith) [1697664] - [usb] usb: adutux: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: wusbcore: remove excessive irqsave (Torez Smith) [1697664] - [usb] usb: usb-skeleton: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: usblp: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: usbfs: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: core: use irqsave() in sg_complete() complete callback (Torez Smith) [1697664] - [usb] usb: cdc-acm: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: host: ehci-npcm7xx: Fix some error codes in probe (Torez Smith) [1697664] - [media] media: cx231xx: fix RC_CORE dependency (Torez Smith) [1697664] - [usb] USB: serial: digi_acceleport: rename tty flag variable (Torez Smith) [1697664] - [usb] USB: serial: usb_wwan: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: ti_usb_3410_5052: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: symbolserial: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: sierra: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: sierra: fix potential deadlock at close (Torez Smith) [1697664] - [usb] USB: serial: quatech2: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: mos7840: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: mos7720: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: io_ti: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: io_edgeport: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: digi_acceleport: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] USB: serial: cyberjack: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [usb] usb: chipidea: tegra: Use aligned DMA on Tegra114/124 (Torez Smith) [1697664] - [documentation] dt-bindings: usb: new ehci-npcm7xx dt (Torez Smith) [1697664] - [usb] USB host: Add USB ehci support for nuvoton npcm7xx platform (Torez Smith) [1697664] - [usb] usb: cdc-acm: Decrement tty port's refcount if probe() fail (Torez Smith) [1697664] - [usb] USB: mon: use ktime_get_real_ts64 instead of getnstimeofday64 (Torez Smith) [1697664] - [usb] USB: xhci-hcd: Add get_resuming_ports method (Torez Smith) [1697664] - [usb] USB: ehci-hcd: Add get_resuming_ports method (Torez Smith) [1697664] - [usb] USB: Report wakeup events on root-hub ports (Torez Smith) [1697664] - [usb] USB: serial: cast sizeof() to int when comparing with error code (Torez Smith) [1697664] - [netdrv] net: drivers/net: Convert random_ether_addr to eth_random_addr (Torez Smith) [1697664] - [netdrv] net: usb: rtl8150: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: r8152: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: kaweth: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: hso: use irqsave() in USB's complete callback (Torez Smith) [1697664] - [netdrv] net: usb: cdc-phonet: use irqsave() in USB's complete callback (Torez Smith) [1697664]- [net] selftests/tls: add test for sleeping even though there is data (Sabrina Dubroca) [1711821] - [net] tls: fix no wakeup on partial reads (Sabrina Dubroca) [1711821] - [net] selftests/tls: test for lowat overshoot with multiple records (Sabrina Dubroca) [1711821] - [net] tls: fix lowat calculation if some data came from previous record (Sabrina Dubroca) [1711821] - [net] tls: don't ignore netdev notifications if no TLS features (Sabrina Dubroca) [1711821] - [net] tls: fix state removal with feature flags off (Sabrina Dubroca) [1711821] - [net] tls: handle errors from padding_length() (Sabrina Dubroca) [1711821] - [net] tls: avoid NULL pointer deref on nskb->sk in fallback (Sabrina Dubroca) [1711821] - [net] tls: byte swap device req TCP seq no upon setting (Sabrina Dubroca) [1711821] - [net] tls: remove old exports of sk_destruct functions (Sabrina Dubroca) [1711821] - [net] tls: don't log errors every time offload can't proceed (Sabrina Dubroca) [1711821] - [net] tls: fix refcount adjustment in fallback (Sabrina Dubroca) [1711821] - [net] strparser: make it explicitly non-modular (Sabrina Dubroca) [1711821] - [net] strparser: partially revert "strparser: Call skb_unclone conditionally" (Sabrina Dubroca) [1711821] - [net] tls: fix the IV leaks (Sabrina Dubroca) [1711821] - [net] strparser: fix comment (Sabrina Dubroca) [1711821] - [net] tls: prevent false connection termination with offload (Sabrina Dubroca) [1711821] - [net] tls: Replace kfree_skb() with consume_skb() (Sabrina Dubroca) [1711821] - [net] strparser: fix a missing check for create_singlethread_workqueue (Sabrina Dubroca) [1711821] - [net] tls: Fix tls_device receive (Sabrina Dubroca) [1711821] - [net] tls: Fix mixing between async capable and async (Sabrina Dubroca) [1711821] - [net] tls: Return type of non-data records retrieved using MSG_PEEK in recvmsg (Sabrina Dubroca) [1711821] - [net] selftest/tls: Add test to verify received 'type' of non-data record (Sabrina Dubroca) [1711821] - [net] tls: Move protocol constants from cipher context to tls context (Sabrina Dubroca) [1711821] - [net] tls: Do not use async crypto for non-data records (Sabrina Dubroca) [1711821] - [net] tls: Disable async decrytion for tls1.3 (Sabrina Dubroca) [1711821] - [net] tls: Set async_capable for tls zerocopy only if we see EINPROGRESS (Sabrina Dubroca) [1711821] - [net] tls: Add tests for TLS 1.3 (Sabrina Dubroca) [1711821] - [net] tls: Add tls 1.3 support (Sabrina Dubroca) [1711821] - [net] tls: Refactor control message handling on recv (Sabrina Dubroca) [1711821] - [net] tls: Refactor tls aad space size calculation (Sabrina Dubroca) [1711821] - [net] tls: Support 256 bit keys (Sabrina Dubroca) [1711821] - [net] tls: free ctx in sock destruct (Sabrina Dubroca) [1711821] - [net] tls: build_protos moved to common routine (Sabrina Dubroca) [1711821] - [net] tls: Fix recvmsg() to be able to peek across multiple records (Sabrina Dubroca) [1711821] - [net] tls: Make function tls_sw_do_sendpage static (Sabrina Dubroca) [1711821] - [net] tls: remove unused function tls_sw_sendpage_locked (Sabrina Dubroca) [1711821] - [net] Optimize sk_msg_clone() by data merge to end dst sg entry (Sabrina Dubroca) [1711821] - [net] selftests/tls: Fix recv partial/large_buff test cases (Sabrina Dubroca) [1711821] - [net] tls: allocate tls context using GFP_ATOMIC (Sabrina Dubroca) [1711821] - [net] tls: Init routines in create_ctx (Sabrina Dubroca) [1711821] - [net] selftests/tls: Fix recv(MSG_PEEK) & splice() test cases (Sabrina Dubroca) [1711821] - [net] tls: fix currently broken MSG_PEEK behavior (Sabrina Dubroca) [1711821] - [net] selftests/tls: Add MSG_WAITALL in recv() syscall (Sabrina Dubroca) [1711821] - [net] tls: async support causes out-of-bounds access in crypto APIs (Sabrina Dubroca) [1711821] - [net] selftests/tls: Add test for recv(PEEK) spanning across multiple records (Sabrina Dubroca) [1711821] - [net] tls: Add support for async decryption of tls records (Sabrina Dubroca) [1711821] - [net] tls: Calculate nsg for zerocopy path without skb_cow_data (Sabrina Dubroca) [1711821] - [net] strparser: remove redundant variable 'rd_desc' (Sabrina Dubroca) [1711821] - [net] tls: Use kmemdup to simplify the code (Sabrina Dubroca) [1711821] - [net] tls: Use socket data_ready callback on record availability (Sabrina Dubroca) [1711821] - [net] selftests: tls: add selftests for TLS sockets (Sabrina Dubroca) [1711821] - [net] strparser: Call skb_unclone conditionally (Sabrina Dubroca) [1711821] - [net] tls: Remove VLA usage on nonce (Sabrina Dubroca) [1711821] - [net] tls: Removed unused variable (Sabrina Dubroca) [1711821] - [netdrv] veth: use generic helper to report timestamping info (Jiri Benc) [1718938] - [netdrv] veth: Fix -Wformat-truncation (Jiri Benc) [1718938] - [netdrv] veth: Mark expected switch fall-throughs (Jiri Benc) [1718938] - [net] Add extack argument to rtnl_create_link (Jiri Benc) [1718938] - [netdrv] veth: Add ethtool statistics support for XDP (Jiri Benc) [1718938] - [netdrv] veth: Account for XDP packet statistics on rx side (Jiri Benc) [1718938] - [netdrv] veth: Account for packet drops in ndo_xdp_xmit (Jiri Benc) [1718938] - [netdrv] veth: rename pcpu_vstats as pcpu_lstats (Jiri Benc) [1718938] - [netdrv] net: move definition of pcpu_lstats to header file (Jiri Benc) [1718938] - [netdrv] veth: add software timestamping (Jiri Benc) [1718938] - [net] tcp: tcp_grow_window() needs to respect tcp_space() (Marcelo Leitner) [1718344] - [net] tcp: fix a potential NULL pointer dereference in tcp_sk_exit (Marcelo Leitner) [1718344] - [net] tcp: do not use ipv6 header for ipv4 flow (Marcelo Leitner) [1718344] - [net] tcp: Don't access TCP_SKB_CB before initializing it (Marcelo Leitner) [1718344] - [net] tcp: do not report TCP_CM_INQ of 0 for closed connections (Marcelo Leitner) [1718344] - [net] tcp: clear icsk_backoff in tcp_write_queue_purge() (Marcelo Leitner) [1718344] - [net] tcp: allow MSG_ZEROCOPY transmission also in CLOSE_WAIT state (Marcelo Leitner) [1718344] - [net] tcp: change txhash on SYN-data timeout (Marcelo Leitner) [1718344] - [net] tcp: lack of available data can also cause TSO defer (Marcelo Leitner) [1718344] - [net] tcp: fix NULL ref in tail loss probe (Marcelo Leitner) [1718344] - [net] tcp: Do not underestimate rwnd_limited (Marcelo Leitner) [1718344] - [net] tcp: defer SACK compression after DupThresh (Marcelo Leitner) [1718344] - [net] tcp: do not release socket ownership in tcp_close() (Marcelo Leitner) [1718344] - [net] tcp: Fix SOF_TIMESTAMPING_RX_HARDWARE to use the latest timestamp during TCP coalescing (Marcelo Leitner) [1718344] - [net] inet: make sure to grab rcu_read_lock before using ireq->ireq_opt (Marcelo Leitner) [1718344] - [net] tcp/dccp: fix lockdep issue when SYN is backlogged (Marcelo Leitner) [1718344] - [net] xfrm4: Fix uninitialized memory read in _decode_session4 (Sabrina Dubroca) [1718812] - [net] esp4: add length check for UDP encapsulation (Sabrina Dubroca) [1718812] - [net] xfrm: clean up xfrm protocol checks (Sabrina Dubroca) [1718812] - [net] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module (Sabrina Dubroca) [1718812] - [net] xfrm: Reset secpath in xfrm failure (Sabrina Dubroca) [1718812] - [net] xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink (Sabrina Dubroca) [1718812] - [net] xfrm: destroy xfrm_state synchronously on net exit path (Sabrina Dubroca) [1718812] - [net] esp: Skip TX bytes accounting when sending from a request socket (Sabrina Dubroca) [1718812] - [net] xfrm: refine validation of template and selector families (Sabrina Dubroca) [1718812] - [net] xfrm: policy: increment xfrm_hash_generation on hash rebuild (Sabrina Dubroca) [1718812] - [net] xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi (Sabrina Dubroca) [1718812] - [net] xfrm_user: fix freeing of xfrm states on acquire (Sabrina Dubroca) [1718812] - [net] xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force clears the dst_entry (Sabrina Dubroca) [1718812] - [net] xfrm: Fix error return code in xfrm_output_one() (Sabrina Dubroca) [1718812] - [net] vti4: eliminated some duplicate code (Guillaume Nault) [1718443] - [net] vti4: removed duplicate log message (Guillaume Nault) [1718443] - [net] vti4: ipip tunnel deregistration fixes (Guillaume Nault) [1718443] - [net] vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel (Guillaume Nault) [1718443] - [net] fou: do not use guehdr after iptunnel_pull_offloads in gue_udp_recv (Guillaume Nault) [1718443] - [netdrv] vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() (Guillaume Nault) [1718443] - [netdrv] vxlan: test dev->flags & IFF_UP before calling netif_rx() (Guillaume Nault) [1718443] - [net] devlink: turn devlink into a built-in (Petr Oros) [1717458] - [net] ipv6: fix EFAULT on sendto with icmpv6 and hdrincl (Stefano Brivio) [1718503] - [net] ipv6: use READ_ONCE() for inet->hdrincl as in ipv4 (Stefano Brivio) [1718503] - [net] ipv6: Fix redirect with VRF (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a raw socket to an address (Stefano Brivio) [1718503] - [net] ipv6: prevent possible fib6 leaks (Stefano Brivio) [1718503] - [net] vrf: sit mtu should not be updated when vrf netdev is the link (Stefano Brivio) [1718503] - [net] ipv6: A few fixes on dereferencing rt->from (Stefano Brivio) [1718503] - [tools] selftests: fib_rule_tests: Fix icmp proto with ipv6 (Stefano Brivio) [1718503] - [net] ipv6: fix races in ip6_dst_destroy() (Stefano Brivio) [1718503] - [net] ipv6/flowlabel: wait rcu grace period before put_pid() (Stefano Brivio) [1718503] - [net] ipv6: invert flowlabel sharing check in process and user mode (Stefano Brivio) [1718503] - [net] route: Avoid crash from dereferencing NULL rt->from (Stefano Brivio) [1718503] - [net] udpv6: Check address length before reading address family (Stefano Brivio) [1718503] - [net] ip6_gre: fix possible use-after-free in ip6erspan_rcv (Stefano Brivio) [1718503] - [net] ip6_gre: remove gre_hdr_len from ip6erspan_rcv (Stefano Brivio) [1718503] - [net] ipv6: Fix dangling pointer when ipv6 fragment (Stefano Brivio) [1718503] - [net] ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type (Stefano Brivio) [1718503] - [net] inet: switch IP ID generator to siphash (Stefano Brivio) [1718503] - [net] sit: fix UBSAN Undefined behaviour in check_6rd (Stefano Brivio) [1718503] - [net] ip6mr: Do not call __IP6_INC_STATS() from preemptible context (Stefano Brivio) [1718503] - [net] sit: fix memory leak in sit_init_net() (Stefano Brivio) [1718503] - [net] ipv4: Add ICMPv6 support when parse route ipproto (Stefano Brivio) [1718503] - [net] ipv6: Return error for RTA_VIA attribute (Stefano Brivio) [1718503] - [net] Set rtm_table to RT_TABLE_COMPAT for ipv6 for tables > 255 (Stefano Brivio) [1718503] - [net] ip6_gre: do not report erspan_ver for ip6gre or ip6gretap (Stefano Brivio) [1718503] - [net] ipv6: route: enforce RCU protection in rt6_update_exception_stamp_rt() (Stefano Brivio) [1718503] - [net] ipv6: route: enforce RCU protection in ip6_route_check_nh_onlink() (Stefano Brivio) [1718503] - [net] ipv6: propagate genlmsg_reply return code (Stefano Brivio) [1718503] - [net] fix IPv6 prefix route residue (Stefano Brivio) [1718503] - [net] ip6mr: Fix notifiers call on mroute_clean_tables() (Stefano Brivio) [1718503] - [net] af_packet: fix raw sockets over 6in4 tunnel (Stefano Brivio) [1718503] - [net] ip6_gre: fix tunnel list corruption for x-netns (Stefano Brivio) [1718503] - [net] ipv6: fix kernel-infoleak in ipv6_local_error() (Stefano Brivio) [1718503] - [net] ip: on queued skb use skb_header_pointer instead of pskb_may_pull (Stefano Brivio) [1718503] - [net] ipv4: fix use-after-free in ip_cmsg_recv_dstaddr() (Stefano Brivio) [1718503] - [net] ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped address (Stefano Brivio) [1718503] - [net] ipv6: Consider sk_bound_dev_if when binding a socket to an address (Stefano Brivio) [1718503] - [net] ip: validate header length on virtual device xmit (Stefano Brivio) [1718503] - [net] ipv6: Fix a test against 'ipv6_find_idev()' return value (Stefano Brivio) [1718503] - [net] ipv6: tunnels: fix two use-after-free (Stefano Brivio) [1718503] - [net] ipv6: add missing tx timestamping on IPPROTO_RAW (Stefano Brivio) [1718503] - [net] clear skb->tstamp in forwarding paths (Stefano Brivio) [1718503] - [net] ipv6: sr: properly initialize flowi6 prior passing to ip6_route_output (Stefano Brivio) [1718503] - [net] always initialize pagedlen (Stefano Brivio) [1718503] - [net] ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF (Stefano Brivio) [1718503] - [net] ipv6: gro: do not use slow memcmp() in ipv6_gro_receive() (Stefano Brivio) [1718503] - [net] xfrm: fix out-of-bounds packet access (Stefano Brivio) [1718503] - [net] ipv6: take rcu lock in rawv6_send_hdrinc() (Stefano Brivio) [1718503] - [net] ip6_tunnel: be careful when accessing the inner header (Stefano Brivio) [1718503] - [net] revert "ipv6: fix double refcount of fib6_metrics" (Stefano Brivio) [1718503] - [net] ipv6: fix memory leak on dst->_metrics (Stefano Brivio) [1718503] - [net] ipv6: fix cleanup ordering for ip6_mr failure (Stefano Brivio) [1718503] - [net] ipv6: fix cleanup ordering for pingv6 registration (Stefano Brivio) [1718503] - [net] ip6_tunnel: collect_md xmit: Use ip_tunnel_key's provided src address (Stefano Brivio) [1718503] - [net] ipv6: fix addrconf_sysctl_addr_gen_mode (Stefano Brivio) [1718503] - [net] ipv6: don't reinitialize ndev->cnf.addr_gen_mode on new inet6_dev (Stefano Brivio) [1718503] - [net] ipv6: reserve room for IFLA_INET6_ADDR_GEN_MODE (Stefano Brivio) [1718503] - [net] ipv6: propagate net.ipv6.conf.all.addr_gen_mode to devices (Stefano Brivio) [1718503] - [net] openvswitch: check for null pointer return from nla_nest_start_noflag (Stefano Brivio) [1718408] - [net] openvswitch: add seqadj extension when NAT is used (Stefano Brivio) [1718408] - [net] netfilter: Replace spin_is_locked() with lockdep (Stefano Brivio) [1718392] - [net] netfilter: ipset: do not call ipset_nest_end after nla_nest_cancel (Stefano Brivio) [1718392] - [net] netfilter: ipset: Fix calling ip_set() macro at dumping (Stefano Brivio) [1718392] - [include] netfilter: ipset: Correct rcu_dereference() call in ip_set_put_comment() (Stefano Brivio) [1718392] - [net] netfilter: ipset: fix ip_set_list allocation failure (Stefano Brivio) [1718392] - [net] netfilter: ipset: Make invalid MAC address checks consistent (Stefano Brivio) [1649087] - [net] netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets (Stefano Brivio) [1649087] - [netdrv] rocker: Handle SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1717892] - [net] switchdev: Add SWITCHDEV_PORT_ATTR_SET (Ivan Vecera) [1717892] - [netdrv] rocker: Add missing break for PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [net] bridge: Stop calling switchdev_port_attr_get() (Ivan Vecera) [1717892] - [netdrv] rocker: Check Handle PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [netdrv] mlxsw: spectrum: Handle PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [include] net: switchdev: Add PORT_PRE_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [netdrv] rocker: Remove port_attr_bridge_flags_get assignment (Ivan Vecera) [1717892] - [netdrv] rocker: Remove getting PORT_BRIDGE_FLAGS (Ivan Vecera) [1717892] - [net] pktgen: do not sleep with the thread lock held (Paolo Abeni) [1715575] - [include] ipv6: fix the check before getting the cookie in rt6_get_cookie (Xin Long) [1709166] - [net] ipv4: not do cache for local delivery if bc_forwarding is enabled (Xin Long) [1712657] - [net] sctp: avoid running the sctp state machine recursively (Xin Long) [1717316] - [netdrv] netdevsim: use skb_sec_path helper (Hangbin Liu) [1711810] - [netdrv] netdevsim: convert to DEFINE_SHOW_ATTRIBUTE (Hangbin Liu) [1711810] - [netdrv] netdevsim: make debug dirs' dentries static (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: use internal netns switch for ip commands (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: add testcases for vxlan flag sets (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink: Add a test case for multipath route get (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink.sh: add testcase for neigh get (Hangbin Liu) [1711810] - [tools] selftests: net: rtnetlink.sh: add fdb get test (Hangbin Liu) [1711810] - [tools] selftests: rtnetlink.sh explicitly requires bash (Hangbin Liu) [1711810] - [net] udp: with udp_segment release on error path (Paolo Abeni) [1718079] - [net] ipv6: explicitly initialize udp6_addr in udp_sock_create6() (Paolo Abeni) [1718079] - [netdrv] geneve: Don't assume linear buffers in vxlan_err_lookup() (Stefano Brivio) [1652222] - [netdrv] vxlan: Don't assume linear buffers in vxlan_err_lookup() (Stefano Brivio) [1652222] - [netdrv] geneve: Initialize addr6 with memset (Stefano Brivio) [1652222] - [net] ip_tunnel: don't force DF when MTU is locked (Stefano Brivio) [1652222] - [netdrv] geneve: ICMP error lookup handler (Stefano Brivio) [1652222] - [netdrv] vxlan: ICMP error lookup handler (Stefano Brivio) [1652222] - [net] udp: Handle ICMP errors for tunnels with same destination port on both endpoints (Stefano Brivio) [1652222] - [net] udp: gro behind static key (Stefano Brivio) [1652222] - [net] bpf: in __bpf_redirect_no_mac pull mac only if present (Jiri Benc) [1687471] - [net] lwt_bpf: remove unnecessary rcu_read_lock in run_lwt_bpf (Jiri Benc) [1687471] - [net] bpf: add End.DT6 action to bpf_lwt_seg6_action helper (Jiri Benc) [1687471] - [net] bpf: fix out-of-bounds read in __bpf_skc_lookup (Jiri Benc) [1687459] - [net] bpf: Check sk_fullsock() before returning from bpf_sk_lookup() (Jiri Benc) [1687459] - [net] flow_dissector: disable preemption around BPF calls (Jiri Benc) [1687459] - [net] bpf: sockmap, only stop/flush strp if it was enabled at some point (Jiri Benc) [1687459] - [net] bpf: Stop the psock parser before canceling its work (Jiri Benc) [1687459] - [net] bpf: only test gso type on gso packets (Jiri Benc) [1687459] - [tools] selftests: add dummy xdp test helper (Jiri Benc) [1687459] - [net] filter: mark expected switch fall-through (Jiri Benc) [1687459] - [documentation] Update references to netdev-FAQ (Jiri Benc) [1687459] - [net] bpfilter: remove trailing newline (Jiri Benc) [1687459] - [net] core: filter: mark expected switch fall-through (Jiri Benc) [1687459] - [net] revert "xsk: simplify AF_XDP socket teardown" (Jiri Benc) [1687459] - [net] bpf/test_run: fix unkillable BPF_PROG_TEST_RUN (Jiri Benc) [1687459] - [net] xsk: share the mmap_sem for page pinning (Jiri Benc) [1687459] - [net] xsk: add missing smp_rmb() in xsk_mmap (Jiri Benc) [1687459] - [net] bpf: only adjust gso_size on bytestream protocols (Jiri Benc) [1687459] - [net] sk_msg: Always cancel strp work before freeing the psock (Jiri Benc) [1687459] - [net] bpf: sock recvbuff must be limited by rmem_max in bpf_setsockopt() (Jiri Benc) [1687459] - [net] bpf: fix SO_MAX_PACING_RATE to support TCP internal pacing (Jiri Benc) [1687459] - [net] bpf: bpf_setsockopt: reset sock dst on SO_MARK changes (Jiri Benc) [1687459] - [net] bpf: correctly set initial window on active Fast Open sender (Jiri Benc) [1687459] - [net] xsk: simplify AF_XDP socket teardown (Jiri Benc) [1687459] - [net] bpf: fix doc of bpf_skb_adjust_room() in uapi (Jiri Benc) [1687459] - [net] bpf: do not blindly change rlimit in reuseport net selftest (Jiri Benc) [1687459] - [net] xsk: proper AF_XDP socket teardown ordering (Jiri Benc) [1687459] - [net] bpf: typo fix in Documentation/networking/af_xdp.rst (Jiri Benc) [1687459] - [net] xdp: split code for map vs non-map redirect (Jiri Benc) [1687459] - [net] xdp: explicit inline __xdp_map_lookup_elem (Jiri Benc) [1687459] - [net] xdp: unlikely instrumentation for xdp map redirect (Jiri Benc) [1687459] - [net] xdp: remove redundant variable 'headroom' (Jiri Benc) [1687459] - [net] xsk: include XDP meta data in AF_XDP frames (Jiri Benc) [1687459] - [net] bpf: Enable BPF_PROG_TYPE_SK_REUSEPORT bpf prog in reuseport selection (Jiri Benc) [1687459] - [net] revert "xdp: add NULL pointer check in __xdp_return()" (Jiri Benc) [1687459] - [lib] test_rhashtable: Make test_insert_dup() allocate its hash table dynamically (Jiri Benc) [1717066] - [lib] test_rhashtable: remove semaphore usage (Jiri Benc) [1717066] - [lib] rhashtable: detect when object movement between tables might have invalidated a lookup (Jiri Benc) [1717066] - [lib] rhashtable: remove duplicated include from rhashtable.c (Jiri Benc) [1717066] - [lib] rhashtable: clean up dereference of ->future_tbl (Jiri Benc) [1717066] - [lib] rhashtable: use cmpxchg() to protect ->future_tbl (Jiri Benc) [1717066] - [lib] rhashtable: simplify nested_table_alloc() and rht_bucket_nested_insert() (Jiri Benc) [1717066] - [lib] rhashtable: simplify INIT_RHT_NULLS_HEAD() (Jiri Benc) [1717066] - [lib] rhashtable: remove nulls_base and related code (Jiri Benc) [1717066] - [lib] rhashtable: split rhashtable.h (Jiri Benc) [1717066] - [lib] rhashtable: silence RCU warning in rhashtable_test (Jiri Benc) [1717066] - [net] devlink: publish params only after driver init is done (Ivan Vecera) [1715929] - [net] iptunnel: NULL pointer deref for ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_gre: Refactor collect metatdata mode tunnel xmit to ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Fix route fl4 init in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Add tnl_update_pmtu in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] ip_tunnel: Add ip tunnel dst_cache in ip_md_tunnel_xmit (Hangbin Liu) [1712792] - [net] vlan: Mark expected switch fall-through (Hangbin Liu) [1664359] - [net] vlan: disable SIOCSHWTSTAMP in container (Hangbin Liu) [1664359] - [netdrv] macvlan: Mark expected switch fall-through (Hangbin Liu) [1664359] - [netdrv] macvlan: disable SIOCSHWTSTAMP in container (Hangbin Liu) [1664359] - [netdrv] macvlan: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl to real device (Hangbin Liu) [1664359] - [net] ethtool: add compat for flash update (Petr Oros) [1708339] - [net] devlink: add flash update command (Petr Oros) [1708339] - [net] devlink: Fix list access without lock while reading region (Petr Oros) [1708339] - [net] devlink: Return right error code in case of errors for region read (Petr Oros) [1708339] - [net] devlink: use direct return of genlmsg_reply (Petr Oros) [1708339] - [net] devlink: Rename devlink health attributes (Petr Oros) [1709874] - [net] devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET (Petr Oros) [1709874] - [net] devlink: Update reporter state to error even if recover aborted (Petr Oros) [1709874] - [documentation] devlink: Add Documentation/networking/devlink-health.txt (Petr Oros) [1709874] - [net] devlink: Add health dump {get, clear} commands (Petr Oros) [1709874] - [net] devlink: Add health diagnose command (Petr Oros) [1709874] - [net] devlink: Add health recover command (Petr Oros) [1709874] - [net] devlink: Add health set command (Petr Oros) [1709874] - [net] devlink: Add health get command (Petr Oros) [1709874] - [net] devlink: Add health report functionality (Petr Oros) [1709874] - [net] devlink: Add health reporter create/destroy functionality (Petr Oros) [1709874] - [net] devlink: Add devlink formatted message (fmsg) API (Petr Oros) [1709874] - [net] devlink: add hardware errors tracing facility (Petr Oros) [1709874] - [net] cnb: devlink: report cell size of shared buffers (Petr Oros) [1708348] - [net] devlink: skip info_get op call if it is not defined in dumpit (Petr Oros) [1708342] - [include] devlink: add a generic board.manufacture version name (Petr Oros) [1708342] - [net] devlink: don't allocate attrs on the stack (Petr Oros) [1708342] - [net] devlink: fix condition for compat device info (Petr Oros) [1708342] - [net] ethtool: add compat for devlink info (Petr Oros) [1708342] - [include] devlink: add generic info version names (Petr Oros) [1708342] - [net] devlink: add version reporting to devlink info API (Petr Oros) [1708342] - [net] devlink: add device information API (Petr Oros) [1708342] - [net] devlink: Add devlink notifications support for port params (Petr Oros) [1710228] - [net] devlink: Add support for driverinit set value for devlink_port (Petr Oros) [1710228] - [net] devlink: Add support for driverinit get value for devlink_port (Petr Oros) [1710228] - [net] devlink: Add port param set command (Petr Oros) [1710228] - [net] devlink: Add port param get command (Petr Oros) [1710228] - [net] devlink: Add devlink_param for port register and unregister (Petr Oros) [1710228] - [net] ipv6: properly check return value in inet6_dump_all() (Petr Oros) [1714656] - [net] Don't return invalid table id error when dumping all families (Petr Oros) [1714656] - [net] ipmr_base: Do not reset index in mr_table_dump (Petr Oros) [1714656] - [net] ipv6: Fix dump of specific table with strict checking (Petr Oros) [1714656] - [net] ipv4: avoid compile error in fib_info_nh_uses_dev (Petr Oros) [1714656] - [net] ipv4: Bail early if user only wants prefix entries (Petr Oros) [1714656] - [net] ipv6: Bail early if user only wants cloned entries (Petr Oros) [1714656] - [net] mpls: Handle kernel side filtering of route dumps (Petr Oros) [1714656] - [net] Enable kernel side filtering of route dumps (Petr Oros) [1714656] - [net] Plumb support for filtering ipv4 and ipv6 multicast route dumps (Petr Oros) [1714656] - [net] ipmr: Refactor mr_rtm_dumproute (Petr Oros) [1714656] - [net] mpls: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] ipv6: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] netfilter: nft_fib: Convert nft_fib4_eval to new dev helper (Petr Oros) [1714656] - [net] netfilter: rpfilter: Convert rpfilter_lookup_reverse to new dev helper (Petr Oros) [1714656] - [net] ipv4: Move device validation to helper (Petr Oros) [1714656] - [net] ipv4: Plumb support for filtering route dumps (Petr Oros) [1714656] - [net] Add struct for fib dump filter (Petr Oros) [1714656] - [lib] iov_iter: Fix build error without CONFIG_CRYPTO (Ivan Vecera) [1714213] - [net] datagram: introduce skb_copy_and_hash_datagram_iter helper (Ivan Vecera) [1714213] - [lib] iov_iter: introduce hash_and_copy_to_iter helper (Ivan Vecera) [1714213] - [net] datagram: consolidate datagram copy to iter helpers (Ivan Vecera) [1714213] - [lib] iov_iter: pass void csum pointer to csum_and_copy_to_iter (Ivan Vecera) [1714213] - [net] datagram: open-code copy_page_to_iter (Ivan Vecera) [1714213] - [include] net: enable mpls_ptr in net_device (Hangbin Liu) [1350011] - [net] netfilter: ipset: actually allow allowable CIDR 0 in hash:net, port, net (Stefano Brivio) [1680512] - [net] netfilter: ipset: fix ip_set_byindex function (Stefano Brivio) [1680512] - [net] netfilter: ipset: Introduction of new commands and protocol version 7 (Stefano Brivio) [1680512] - [net] ipv6: don't return positive numbers when nothing was dumped (Petr Oros) [1700306] - [net] rtnetlink: restore handling of dumpit return value in rtnl_dump_all() (Petr Oros) [1700306] - [net] netlink: fixup regression in RTM_GETADDR (Petr Oros) [1700306] - [net] {ipv4, ipv6}: Do not put target net if input nsid is invalid (Petr Oros) [1700306] - [net] rtnl_dump_all needs to propagate error from dumpit function (Petr Oros) [1700306] - [net] rtnetlink: Move ifm in valid_fdb_dump_legacy to closer to use (Petr Oros) [1700306] - [net] neighbor: NTF_PROXY is a valid ndm_flag for a dump request (Petr Oros) [1700306] - [net] mpls: Implement handler for strict data checking on dumps (Petr Oros) [1700306] - [net] rtnetlink: Update comment in rtnl_stats_dump regarding strict data checking (Petr Oros) [1700306] - [net] ipv6: Put target net when address dump fails due to bad attributes (Petr Oros) [1700306] - [net] ipv4: Put target net when address dump fails due to bad attributes (Petr Oros) [1700306] - [tools] headers uapi: Update linux/netlink.h header copy (Petr Oros) [1700306] - [net] neigh: fix NULL deref in pneigh_dump_table() (Petr Oros) [1700306] - [net] ipv6: Add support for dumping addresses for a specific device (Petr Oros) [1700306] - [net] ipv4: Add support for dumping addresses for a specific device (Petr Oros) [1700306] - [net] ipv6: Remove ip_idx arg to in6_dump_addrs (Petr Oros) [1700306] - [net] ipv4: Move loop over addresses on a device into in_dev_dump_addr (Petr Oros) [1700306] - [net] netlink: Add answer_flags to netlink_callback (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_fdb_dump for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Move input checking for rtnl_fdb_dump to helper (Petr Oros) [1700306] - [net] bridge: Update br_mdb_dump for strict data checking (Petr Oros) [1700306] - [net] Update netconf dump handlers for strict data checking (Petr Oros) [1700306] - [net] ipv6: Update ip6addrlbl_dump for strict data checking (Petr Oros) [1700306] - [net] fib_rules: Update fib_nl_dumprule for strict data checking (Petr Oros) [1700306] - [net] namespace: Update rtnl_net_dumpid for strict data checking (Petr Oros) [1700306] - [net] neighbor: Update neightbl_dump_info for strict data checking (Petr Oros) [1700306] - [net] neighbor: Update neigh_dump_info for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update fib dumps for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update ipmr_rtm_dumplink for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update inet6_dump_ifinfo for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_stats_dump for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_bridge_getlink for strict data checking (Petr Oros) [1700306] - [net] rtnetlink: Update rtnl_dump_ifinfo for strict data checking (Petr Oros) [1700306] - [net] ipv6: Update inet6_dump_addr for strict data checking (Petr Oros) [1700306] - [net] ipv4: Update inet_dump_ifaddr for strict data checking (Petr Oros) [1700306] - [net] netlink: Add new socket option to enable strict checking on dumps (Petr Oros) [1700306] - [net] ipv6: Refactor address dump to push inet6_fill_args to in6_dump_addrs (Petr Oros) [1700306] - [lib] netlink: Add strict version of nlmsg_parse and nla_parse (Petr Oros) [1700306] - [net] Add extack to nlmsg_parse (Petr Oros) [1700306] - [include] netlink: Add extack message to nlmsg_parse for invalid header length (Petr Oros) [1700306] - [net] netlink: Pass extack to dump handlers (Petr Oros) [1700306] - [net] neigh: Extend dump filter to proxy neighbor dumps (Petr Oros) [1700306] - [lib] netlink: add nested array policy validation (Petr Oros) [1700306] - [lib] netlink: allow NLA_NESTED to specify nested policy to validate (Petr Oros) [1700306] - [lib] netlink: move extack setting into validate_nla() (Petr Oros) [1700306] - [lib] netlink: make validation_data const (Petr Oros) [1700306] - [lib] netlink: remove NLA_NESTED_COMPAT (Petr Oros) [1700306] - [lib] netlink: add ethernet address policy types (Petr Oros) [1700306] - [net] sched: cls_u32: add res to offload information (Ivan Vecera) [1711377] - [net] sched: gred: support reporting stats from offloads (Ivan Vecera) [1711377] - [net] sched: gred: add basic Qdisc offload (Ivan Vecera) [1711377] - [net] sched: gred: allow manipulating per-DP RED flags (Ivan Vecera) [1711377] - [net] sched: gred: store red flags per virtual queue (Ivan Vecera) [1711377] - [net] sched: gred: provide a better structured dump and expose stats (Ivan Vecera) [1711377] - [net] sched: gred: store bytesin as a 64 bit value (Ivan Vecera) [1711377] - [net] sched: gred: use extack to provide more details on configuration errors (Ivan Vecera) [1711377] - [net] sched: gred: pass extack to nla_parse_nested() (Ivan Vecera) [1711377] - [net] sched: gred: separate error and non-error path in gred_change() (Ivan Vecera) [1711377] - [net] netlink: add NLA_REJECT policy type (Ivan Vecera) [1711377] - [lib] netlink: Return extack message if attribute validation fails (Ivan Vecera) [1711377] - [net] sched: red: notify drivers about RED's limit parameter (Ivan Vecera) [1711039] - [net] sched: mq: offload a graft notification (Ivan Vecera) [1711039] - [net] sched: red: offload a graft notification (Ivan Vecera) [1711039] - [net] sched: provide notification for graft on root (Ivan Vecera) [1711039] - [net] sched: prio: delay destroying child qdiscs on change (Ivan Vecera) [1711039] - [net] sched: red: delay destroying child qdisc on replace (Ivan Vecera) [1711039] - [net] sched: refactor grafting Qdiscs with a parent (Ivan Vecera) [1711039] - [net] sched: add an offload graft helper (Ivan Vecera) [1711039] - [net] sched: set TCQ_F_OFFLOADED flag for MQ (Ivan Vecera) [1711039] - [net] sched: red: remove unnecessary red_dump_offload_stats parameter (Ivan Vecera) [1711039] - [net] sched: add an offload dump helper (Ivan Vecera) [1711039] - [netdrv] netdevsim: Implement ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [netdrv] rocker: Implement ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [net] Introduce ndo_get_port_parent_id() (Ivan Vecera) [1708368] - [net] use indirect calls helpers at early demux stage (Paolo Abeni) [1700747] - [net] use indirect calls helpers for L3 handler hooks (Paolo Abeni) [1700747] - [net] use indirect calls helpers at the socket layer (Paolo Abeni) [1700747] - [net] use indirect calls helpers for ptype hook (Paolo Abeni) [1700747] - [net] add documentation to socket.c (Paolo Abeni) [1700747] - [net] udp: use indirect call wrappers for GRO socket lookup (Paolo Abeni) [1700747] - [net] use indirect call wrappers at GRO transport layer (Paolo Abeni) [1700747] - [net] use indirect call wrappers at GRO network layer (Paolo Abeni) [1700747] - [net] indirect call wrappers: helpers to speed-up indirect calls of builtin (Paolo Abeni) [1700747] - [powerpc] powerpc: bpf: Fix generation of load/store DW instructions (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: propagate liveness on all frames (Yauheni Kaliuta) [1700846] - [net] bpf: do not restore dst_reg when cur_state is freed (Yauheni Kaliuta) [1700846] - [tools] tools lib bpf: Fix the build by adding a missing stdarg.h include (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: fix version info and add it to shared object (Yauheni Kaliuta) [1700846] - [tools] btf: fix bug with resolving STRUCT/UNION into corresponding FWD (Yauheni Kaliuta) [1700846] - [tools] tools/libbpf: signedness bug in btf_dedup_ref_type() (Yauheni Kaliuta) [1700846] - [tools] libbpf: fix libbpf_print (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: simplify libbpf API function libbpf_set_print() (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: move set_max_rlimit() before __bpf_object__open_xattr() (Yauheni Kaliuta) [1700846] - [include] bpf: promote bpf_perf_event.h to mandatory UAPI header (Yauheni Kaliuta) [1700846] - [net] bpf: Avoid unnecessary instruction in convert_bpf_ld_abs() (Yauheni Kaliuta) [1700846] - [kernel] bpf: fix check of allowed specifiers in bpf_trace_printk (Yauheni Kaliuta) [1700846] - [documentation] bpf, doc: Document Jump X addressing mode (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: fix license for a compat header file (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Capitalise document heading (Yauheni Kaliuta) [1700846] - [documentation] docs: Add bpf/index to top level index (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Add toctree to index (Yauheni Kaliuta) [1700846] - [documentation] docs: bpf: Rename README.rst to index.rst (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip verifier tests for unsupported map types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip verifier tests for unsupported program types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: skip sockmap in test_maps if kernel doesn't have support (Yauheni Kaliuta) [1700846] - [rpmspec] rpmspec: pack bpf-helpers, bpftool-net, bpftool-feature manpages (Yauheni Kaliuta) [1700846] - [net] bpf, tcp: correctly handle DONT_WAIT flags and timeo == 0 (Yauheni Kaliuta) [1700846] - [kernel] bpf: mark bpf_event_notify and bpf_event_init as static (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap fix msg->sg.size account on ingress skb (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap remove duplicate queue free (Yauheni Kaliuta) [1700846] - [net] net/tls: remove set but not used variables (Yauheni Kaliuta) [1700846] - [media] bpf: add map helper functions push, pop, peek in more BPF programs (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix infinite loop in map create (Yauheni Kaliuta) [1700846] - [net] net/tls: fix build without CONFIG_TLS_DEVICE (Yauheni Kaliuta) [1700846] - [net] net/tls: don't leak partially sent record in device mode (Yauheni Kaliuta) [1700846] - [net] xdp: fix cpumap redirect SKB creation bug (Yauheni Kaliuta) [1700846] - [net] net/core: Document reuseport_add_sock() bind_inany argument (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: clarify bump in libbpf version info (Yauheni Kaliuta) [1700846] - [net] net/tls: Inform user space about send buffer availability (Yauheni Kaliuta) [1700846] - [tools] libbpf: handle BTF parsing and loading properly (Yauheni Kaliuta) [1700846] - [net] bpf: fix warning about using plain integer as NULL (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: fixing leak when kernel does not support btf (Yauheni Kaliuta) [1700846] - [net] tls: Fix write space handling (Yauheni Kaliuta) [1700846] - [net] tls: Fix tls_device handling of partial records (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, fix documentation for attach types (Yauheni Kaliuta) [1700846] - [tools] btf: separate btf creation and loading (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix a selftest test_btf failure (Yauheni Kaliuta) [1700846] - [tools] selftests/btf: add initial BTF dedup tests (Yauheni Kaliuta) [1700846] - [tools] btf: add BTF types deduplication algorithm (Yauheni Kaliuta) [1700846] - [tools] btf: extract BTF type size calculation (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: silence a libbpf unnecessary warning (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: implement libbpf btf__get_map_kv_tids() API function (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: expose functions btf_ext__* as API functions (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add a support for getting xdp prog id on ifindex (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add a helper for retrieving a map fd for a given name (Yauheni Kaliuta) [1700846] - [tools] libbpf: introduce bpf_map_lookup_elem_flags() (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add bash completion for bpftool probes (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for a network device (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add C-style "#define" output for probes (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF helper functions (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF map types (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for eBPF program types (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for kernel configuration options (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add probes for /proc/ eBPF parameters (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add basic probe capability, probe syscall availability (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: print out btf log at LIBBPF_WARN level (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: move libbpf pr_* debug print functions to headers (Yauheni Kaliuta) [1700846] - [net] net: tls: Fix deadlock in free_resources tx (Yauheni Kaliuta) [1700846] - [net] net: tls: Save iv in tls_rec for async crypto requests (Yauheni Kaliuta) [1700846] - [tools] bpf: pull in pkt_sched.h header for tooling to fix bpftool build (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: change section name of bpfilter UMH blob (Yauheni Kaliuta) [1700846] - [netdrv] tap: call skb_probe_transport_header after setting skb->dev (Yauheni Kaliuta) [1700846] - [net] Prevent overflow of sk_msg in sk_msg_clone() (Yauheni Kaliuta) [1700846] - [net] tls: Do not call sk_memcopy_from_iter with zero length (Yauheni Kaliuta) [1700846] - [net] net: ipv4: Set skb->dev for output route resolution (Yauheni Kaliuta) [1700846] - [net] bpf: refactor bpf_test_run() to separate own failures and test program result (Yauheni Kaliuta) [1700846] - [include] bpf: fix pointer offsets in context for 32 bit (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: copy a few net uapi headers to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: tcp_bpf_recvmsg should return EAGAIN when nonblocking and no data (Yauheni Kaliuta) [1700846] - [net] bpf: skmsg, fix psock create on existing kcm/tls port (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: remove socket lock assertion on ULP cleanup (Yauheni Kaliuta) [1700846] - [lib] bpf: test_bpf: add init_net to dev for flow_dissector (Yauheni Kaliuta) [1700846] - [net] flow_dissector: lookup netns by skb->sk if skb->dev is NULL (Yauheni Kaliuta) [1700846] - [net] tls: Fixed uninitialised vars warning (Yauheni Kaliuta) [1700846] - [include] cgroup: Simplify cgroup_ancestor (Yauheni Kaliuta) [1700846] - [netdrv] veth: Orphan skb before GRO (Yauheni Kaliuta) [1700846] - [net] net/core/filter: fix unused-variable warning (Yauheni Kaliuta) [1700846] - [net] bpf: fix build error with clang (Yauheni Kaliuta) [1700846] - [netdrv] veth: Free queues on link delete (Yauheni Kaliuta) [1700846] - [net] bpf: fix sanitation rewrite in case of non-pointers (Yauheni Kaliuta) [1700846] - [net] bpf: drop refcount if bpf_map_new_fd() fails in map_create() (Yauheni Kaliuta) [1700846] - [net] bpf: decrease usercnt if bpf_map_new_fd() fails in bpf_map_get_fd_by_id() (Yauheni Kaliuta) [1700846] - [net] bpf, lpm: fix lookup bug in map_delete_elem (Yauheni Kaliuta) [1700846] - [net] bpf: fix lockdep false positive in stackmap (Yauheni Kaliuta) [1700846] - [net] bpf: Fix narrow load on a bpf_sock returned from sk_lookup() (Yauheni Kaliuta) [1700846] - [net] bpf: Fix syscall's stackmap lookup potential deadlock (Yauheni Kaliuta) [1700846] - [kernel] bpf: fix potential deadlock in bpf_prog_register (Yauheni Kaliuta) [1700846] - [net] bpf: fix lockdep false positive in percpu_freelist (Yauheni Kaliuta) [1700846] - [net] bpf: run bpf programs with preemption disabled (Yauheni Kaliuta) [1700846] - [tools] bpf, selftests: fix handling of sparse CPU allocations (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix test_btf for typedef func_proto case (Yauheni Kaliuta) [1700846] - [net] bpf: btf: allow typedef func_proto (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix crash with un-owned prog arrays (Yauheni Kaliuta) [1700846] - [tools] bpftool: fix percpu maps updating (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: Cleanup license mess (Yauheni Kaliuta) [1700846] - [net] bpf: Annotate implicit fall through in cgroup_dev_func_proto (Yauheni Kaliuta) [1700846] - [net] bpf: Make function btf_name_offset_valid static (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: retry tests that expect build-id (Yauheni Kaliuta) [1700846] - [net] bpf: zero out build_id for BPF_STACK_BUILD_ID_IP (Yauheni Kaliuta) [1700846] - [net] bpf: don't assume build-id length is always 20 bytes (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: properly account for libbfd variations (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: retry loading program on EAGAIN (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: workaround clang asm goto compilation errors (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: install with_tunnels.sh for test_flow_dissector.sh (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: disallow to remove bpfilter module while being used (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: Fix type cast and pointer warnings (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: restart bpfilter_umh when error occurred (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: use cleanup callback to release umh_info (Yauheni Kaliuta) [1700846] - [kernel] umh: add exit routine for UMH process (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: Set user mode helper's command line (Yauheni Kaliuta) [1700846] - [kernel] umh: Add command line to user mode helpers (Yauheni Kaliuta) [1700846] - [net] net: bpfilter: use get_pid_task instead of pid_task (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix bpftool map dump with bitfields (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: test btf bitfield with >=256 struct member offset (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpffs bitfield pretty print (Yauheni Kaliuta) [1700846] - [net] bpf: fix panic in stack_map_get_build_id() on i386 and arm32 (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: install files tcp_(server|client)*.py (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: user proper argument index (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [tools] bpf, doc: add note for libbpf's stand-alone build (Yauheni Kaliuta) [1700846] - [documentation] bpf, doc: update design qa to reflect kern_version requirement (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix incorrect users of create_and_get_cgroup (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases for alu op on mixed dst register types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: Fix [::] -> [::1] rewrite in sys_sendmsg (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases to selftests (Yauheni Kaliuta) [1700846] - [net] bpf: fix check_map_access smin_value test when pointer contains offset (Yauheni Kaliuta) [1700846] - [net] bpf: restrict stack pointer arithmetic for unprivileged (Yauheni Kaliuta) [1700846] - [net] bpf: restrict map value pointer arithmetic for unprivileged (Yauheni Kaliuta) [1700846] - [net] bpf: enable access to ax register also from verifier rewrite (Yauheni Kaliuta) [1700846] - [net] bpf: move tmp variable into ax register in interpreter (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix error printing in test_devmap() (Yauheni Kaliuta) [1700846] - [tools] bpf: fix segfault in test_verifier selftest (Yauheni Kaliuta) [1700846] - [net] bpf: tls_sw, init TLS ULP removes BPF proto hooks (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, sock{map|hash} redirect through ULP (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, zap ingress queue on psock down (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, fix socket data_ready events (Yauheni Kaliuta) [1700846] - [net] bpf: skb_verdict, support SK_PASS on RX BPF path (Yauheni Kaliuta) [1700846] - [net] bpf: skmsg, replace comments with BUILD bug (Yauheni Kaliuta) [1700846] - [net] bpf: sk_msg, improve offset chk in _is_valid_access (Yauheni Kaliuta) [1700846] - [tools] bpf: sk_msg, fix sk_msg_md access past end test (Yauheni Kaliuta) [1700846] - [net] bpf/cpumap: make sure frame_size for build_skb is aligned if headroom isn't (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: reorder stack size check with dead code sanitization (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: verifier: add tests for JSET interpretation (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: teach the verifier to reason about the BPF_JSET instruction (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add trivial JSET tests (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_LD_IMM64 to the line_info test (Yauheni Kaliuta) [1700846] - [net] bpf: Ensure line_info.insn_off cannot point to insn with zero code (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: do not force gcc as CC (Yauheni Kaliuta) [1700846] - [tools] bpf: fix up uapi helper description and sync bpf header with tools (Yauheni Kaliuta) [1700846] - [net] bpf: log struct/union attribute for forward type (Yauheni Kaliuta) [1700846] - [tools] bpf: sk_msg, add tests for size field (Yauheni Kaliuta) [1700846] - [tools] bpf: add tools lib/include support sk_msg_md size field (Yauheni Kaliuta) [1700846] - [include] bpf: sockmap, metadata support for reporting size of msg (Yauheni Kaliuta) [1700846] - [net] bpf: correct slot_type marking logic to allow more stack slot sharing (Yauheni Kaliuta) [1700846] - [kernel] bpf: support raw tracepoints in modules (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add an option to prevent auto-mount of bpffs, tracefs (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: attempt to mount tracefs if required for tracelog cmd (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: check precise {func, line, jited_line}_info_rec_size in test_btf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: fix memleak by freeing line_info (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: support pretty print with kind_flag set (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: refactor btf_dumper_int_bits() (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: test kernel bpffs map pretty print with struct kind_flag (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add test_btf unit tests for kind_flag (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync btf.h header from kernel to tools (Yauheni Kaliuta) [1700846] - [net] bpf: enable cgroup local storage map pretty print with kind_flag (Yauheni Kaliuta) [1700846] - [net] bpf: btf: fix struct/union/fwd types with kind_flag (Yauheni Kaliuta) [1700846] - [net] bpf: btf: refactor btf_int_bits_seq_show() (Yauheni Kaliuta) [1700846] - [net] bpf: remove useless version check for prog load (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix -Wmissing declaration warnings (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix warning on struct bpf_prog_linfo definition (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add a prog array map update example to documentation (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix examples in documentation for bpftool prog (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add doc for -m option to bpftool-prog.rst (Yauheni Kaliuta) [1700846] - [net] bpf: add self-check logic to liveness analysis (Yauheni Kaliuta) [1700846] - [net] bpf: improve stacksafe state comparison (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: check insn processed in test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: speed up stacksafe check (Yauheni Kaliuta) [1700846] - [net] bpf: verbose log bpf_line_info in verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Create a new btf_name_by_offset() for non type name use case (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix sk lookup usage in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: remove obsolete prog->aux sanitation in bpf_insn_prepare_dump (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: make sure callees don't prune with caller differences (Yauheni Kaliuta) [1700846] - [tools] bpf: sync tools/include/uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [net] bpf: include sub program tags in bpf_prog_info (Yauheni Kaliuta) [1700846] - [tools] bpf: Remove !func_info and !line_info check from test_btf and bpftool (Yauheni Kaliuta) [1700846] - [net] bpf: Remove bpf_dump_raw_ok() check for func_info and line_info (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: dual license all files (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: replace Netronome boilerplate with SPDX license headers (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix SPDX format in headers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add btf annotations for cgroup_local_storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for cgroup local storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: pass struct btf pointer to the map_check_btf() callback (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: use __bpf_constant_htons in test_prog.c (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpf_jit_limit knob for PAGE_SIZE >= 64K (Yauheni Kaliuta) [1700846] - [arm64] bpf: arm64: Enable arm64 jit to provide bpf_line_info (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: use proper type when passing prog_type (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: rename *_info_cnt to nr_*_info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync kernel uapi bpf.h to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: rename *_info_cnt to nr_*_info in bpf_prog_info (Yauheni Kaliuta) [1700846] - [net] bpf: clean up bpf_prog_get_info_by_fd() (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool: Fix newline and p_err issue (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing pointer dereference for map stacktrace fixup (Yauheni Kaliuta) [1700846] - [net] bpf: relax verifier restriction on BPF_MOV | BPF_ALU (Yauheni Kaliuta) [1700846] - [tools] media: bpf: add bpf function to report mouse movement (Yauheni Kaliuta) [1700846] - [include] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: bpftool: Print bpf_line_info during prog dump (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Add btf_line_info support to libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Refactor and bug fix on the bpf_func_info loading logic (Yauheni Kaliuta) [1700846] - [tools] bpf: Add unit tests for bpf_line_info (Yauheni Kaliuta) [1700846] - [tools] bpf: Refactor and bug fix in test_func_type in test_btf.c (Yauheni Kaliuta) [1700846] - [tools] bpf: tools: Sync uapi bpf.h (Yauheni Kaliuta) [1700846] - [include] bpf: Add bpf_line_info support (Yauheni Kaliuta) [1700846] - [net] net/flow_dissector: correctly cap nhoff and thoff in case of BPF (Yauheni Kaliuta) [1700846] - [net] selftests/bpf: use thoff instead of nhoff in BPF flow dissector (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: update testcases for BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [net] bpf: verifier remove the rejection on BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [net] bpf: interpreter support BPF_ALU | BPF_ARSH (Yauheni Kaliuta) [1700846] - [s390] s390: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Yauheni Kaliuta) [1700846] - [powerpc] ppc: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Yauheni Kaliuta) [1700846] - [tools] bpf: Expect !info.func_info and insn_off name changes in test_btf/libbpf/bpftool (Yauheni Kaliuta) [1700846] - [tools] bpf: tools: Sync uapi bpf.h for the name changes in bpf_func_info (Yauheni Kaliuta) [1700846] - [net] bpf: Change insn_offset to insn_off in bpf_func_info (Yauheni Kaliuta) [1700846] - [net] bpf: Improve the info.func_info and info.func_info_rec_size behavior (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add a command to dump the trace pipe (Yauheni Kaliuta) [1700846] - [arm64] arm64/bpf: don't allocate BPF JIT programs in module memory (Yauheni Kaliuta) [1700846] - [net] bpf: add __weak hook for allocating executable memory (Yauheni Kaliuta) [1700846] - [net] bpf: add per-insn complexity limit (Yauheni Kaliuta) [1700846] - [net] bpf: improve verifier branch analysis (Yauheni Kaliuta) [1700846] - [net] bpf: check pending signals while verifying programs (Yauheni Kaliuta) [1700846] - [tools] selftests: add a test for bpf_prog_test_run_xattr (Yauheni Kaliuta) [1700846] - [tools] libbpf: add bpf_prog_test_run_xattr (Yauheni Kaliuta) [1700846] - [tools] tools: sync uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [net] bpf: respect size hint to BPF_PROG_TEST_RUN if present (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: fix: seg fault with NULL pointer arg (Yauheni Kaliuta) [1700846] - [powerpc] bpf: powerpc64: optimize JIT passes for bpf function calls (Yauheni Kaliuta) [1700846] - [tools] bpf: allow BPF read access to qdisc pkt_len (Yauheni Kaliuta) [1700846] - [tools] libbpf: Fix license in README.rst (Yauheni Kaliuta) [1700846] - [net] bpf: Fix memleak in aux->func_info and aux->btf (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: get ifindex from ifname (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: improve xdp1 example (Yauheni Kaliuta) [1700846] - [tools] bpf: Apply F_NEEDS_EFFICIENT_UNALIGNED_ACCESS to more ACCEPT test cases (Yauheni Kaliuta) [1700846] - [tools] bpf: Make more use of 'any' alignment in test_verifier.c (Yauheni Kaliuta) [1700846] - [tools] bpf: Adjust F_NEEDS_EFFICIENT_UNALIGNED_ACCESS handling in test_verifier.c (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_F_ANY_ALIGNMENT (Yauheni Kaliuta) [1700846] - [tools] bpf: Improve socket lookup reuseport documentation (Yauheni Kaliuta) [1700846] - [tools] bpf: Support sk lookup in netns with id 0 (Yauheni Kaliuta) [1700846] - [tools] bpf: Fix verifier log string check for bad alignment (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add owner_prog_type and owner_jited to bpftool output (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: mark offloaded programs more explicitly in plain output (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix bash completion for new map types (queue and stack) (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix bash completion for bpftool prog (attach|detach) (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: use "/proc/self/" i.o. crafting links with getpid() (Yauheni Kaliuta) [1700846] - [arm64] arm64/bpf: use movn/movk/movk sequence to generate kernel addresses (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: make libbpf _GNU_SOURCE friendly (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix a bitfield pretty print issue (Yauheni Kaliuta) [1700846] - [tools] bpf: Fix various lib and testsuite build failures on 32-bit (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add addition type tests to test_btf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix two test_btf unit test cases (Yauheni Kaliuta) [1700846] - [net] bpf: btf: check name validity for various types (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add config fragment CONFIG_FTRACE_SYSCALLS (Yauheni Kaliuta) [1700846] - [tools] bpf: test_sockmap, add options for msg_pop_data() helper (Yauheni Kaliuta) [1700846] - [tools] bpf: add msg_pop_data helper to tools (Yauheni Kaliuta) [1700846] - [tools] libbpf: Document API and ABI conventions (Yauheni Kaliuta) [1700846] - [tools] libbpf: Verify versioned symbols (Yauheni Kaliuta) [1700846] - [tools] libbpf: Add version script for DSO (Yauheni Kaliuta) [1700846] - [tools] libbpf: Name changing for btf_get_from_id (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: change selftest test_btf for both jit and non-jit (Yauheni Kaliuta) [1700846] - [net] bpf: btf: support proper non-jit func info (Yauheni Kaliuta) [1700846] - [arm64] bpf, arm64: fix getting subprog addr from aux for calls (Yauheni Kaliuta) [1700846] - [net] bpf, ppc64: generalize fetching subprog into bpf_jit_get_func_addr (Yauheni Kaliuta) [1700846] - [tools] bpf: align map type names formatting (Yauheni Kaliuta) [1700846] - [net] bpf: btf: fix spelling mistake "Memmber" -> "Member" (Yauheni Kaliuta) [1700846] - [net] bpf, tags: Fix DEFINE_PER_CPU expansion (Yauheni Kaliuta) [1700846] - [tools] bpf: Add BPF_MAP_TYPE_QUEUE and BPF_MAP_TYPE_STACK to bpftool-map (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: fix: error handling regarding kprobe_events (Yauheni Kaliuta) [1700846] - [tools] libbpf: make bpf_object__open default to UNSPEC (Yauheni Kaliuta) [1700846] - [tools] bpf: add skb->tstamp r/w access from tc clsact and cg skb progs (Yauheni Kaliuta) [1700846] - [net] bpf: fix integer overflow in queue_stack_map (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix spelling mistake "memeory" -> "memory" (Yauheni Kaliuta) [1700846] - [net] bpf, lpm: make longest_prefix_match() faster (Yauheni Kaliuta) [1700846] - [tools] bpf: adding tests for map_in_map helpber in libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: adding support for map in map in libbpf (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: don't specify prog name if kernel doesn't support it (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: remove map name retry from bpf_create_map_xattr (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: introduce bpf_object__probe_caps to test BPF capabilities (Yauheni Kaliuta) [1700846] - [tools] libbpf: make sure bpf headers are c++ include-able (Yauheni Kaliuta) [1700846] - [tools] bpf: fix a libbpf loader issue (Yauheni Kaliuta) [1700846] - [include] bpf: fix a compilation error when CONFIG_BPF_SYSCALL is not defined (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add support for func types (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: enhance test_btf file testing to test func info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: refactor to implement btf_get_from_id() in lib/bpf (Yauheni Kaliuta) [1700846] - [samples] tools/bpf: do not use pahole if clang/llvm can generate BTF sections (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add support to read .BTF.ext sections (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: extends test_btf to test load/retrieve func_type info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add new fields for program load in lib/bpf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: sync kernel uapi bpf.h header to tools directory (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce bpf_func_info (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: Add tests for BTF_KIND_FUNC_PROTO and BTF_KIND_FUNC (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: Sync kernel btf.h header (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Add BTF_KIND_FUNC and BTF_KIND_FUNC_PROTO (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Break up btf_type_is_void() (Yauheni Kaliuta) [1700846] - [tools] tools: add selftest for BPF_F_ZERO_SEED (Yauheni Kaliuta) [1700846] - [tools] tools: sync linux/bpf.h (Yauheni Kaliuta) [1700846] - [include] bpf: move BPF_F_QUERY_EFFECTIVE after map flags (Yauheni Kaliuta) [1700846] - [net] bpf: allow zero-initializing hash map seed (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: retry map creation without the name (Yauheni Kaliuta) [1700846] - [net] bpf: allocate local storage buffers using GFP_ATOMIC (Yauheni Kaliuta) [1700846] - [net] bpf: fix off-by-one error in adjust_subprog_starts (Yauheni Kaliuta) [1700846] - [net] bpf: fix null pointer dereference on pointer offload (Yauheni Kaliuta) [1700846] - [tools] bpftool: make libbfd optional (Yauheni Kaliuta) [1700846] - [net] net/bpf: split VLAN_PRESENT bit handling from VLAN_TCI (Yauheni Kaliuta) [1700846] - [powerpc] net/bpf_jit: PPC: split VLAN_PRESENT bit handling from VLAN_TCI (Yauheni Kaliuta) [1700846] - [net] net/skbuff: add macros for VLAN_PRESENT bit (Yauheni Kaliuta) [1700846] - [tools] selftest/bpf: Use bpf_sk_lookup_{tcp, udp} in test_sock_addr (Yauheni Kaliuta) [1700846] - [net] bpf: Support socket lookup in CGROUP_SOCK_ADDR progs (Yauheni Kaliuta) [1700846] - [net] bpf: Fix IPv6 dport byte order in bpf_sk_lookup_udp (Yauheni Kaliuta) [1700846] - [net] bpf: Extend the sk_lookup() helper to XDP hookpoint (Yauheni Kaliuta) [1700846] - [net] bpf: helper to pop data from messages (Yauheni Kaliuta) [1700846] - [net] bpf: fix wrong helper enablement in cgroup local storage (Yauheni Kaliuta) [1700846] - [include] bpf: sk_msg program helper bpf_msg_push_data (Yauheni Kaliuta) [1700846] - [net] bpf: Fix IPv6 dport byte-order in bpf_sk_lookup (Yauheni Kaliuta) [1700846] - [net] bpf: Allow sk_lookup with IPv6 module (Yauheni Kaliuta) [1700846] - [net] net: core: Fix build with CONFIG_IPV6=m (Yauheni Kaliuta) [1700846] - [net] bpf: Fix dev pointer dereference from sk_skb (Yauheni Kaliuta) [1700846] - [net] bpf: fix building without CONFIG_INET (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf: Fix bpf_program__next() API (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix uninitialized duration warning (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test narrow loads with off > 0 for bpf_sock_addr (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test narrow loads with off > 0 in test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Allow narrow loads with offset > 0 (Yauheni Kaliuta) [1700846] - [tools] bpftool: support loading flow dissector (Yauheni Kaliuta) [1700846] - [tools] bpftool: add pinmaps argument to the load/loadall (Yauheni Kaliuta) [1700846] - [tools] bpftool: add loadall command (Yauheni Kaliuta) [1700846] - [tools] libbpf: add internal pin_name (Yauheni Kaliuta) [1700846] - [tools] libbpf: bpf_program__pin: add special case for instances.nr == 1 (Yauheni Kaliuta) [1700846] - [tools] libbpf: cleanup after partial failure in bpf_object__pin (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: rename flow dissector section to flow_dissector (Yauheni Kaliuta) [1700846] - [netdrv] bpf: do not pass netdev to translate() and prepare() offload callbacks (Yauheni Kaliuta) [1700846] - [net] bpf: pass prog instead of env to bpf_prog_offload_verifier_prep() (Yauheni Kaliuta) [1700846] - [netdrv] bpf: pass destroy() as a callback and remove its ndo_bpf subcommand (Yauheni Kaliuta) [1700846] - [include] bpf: pass translate() as a callback and remove its ndo_bpf subcommand (Yauheni Kaliuta) [1700846] - [netdrv] bpf: call verifier_prep from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [net] bpf: call finalize() from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [net] bpf: call verify_insn from its callback in struct bpf_offload_dev (Yauheni Kaliuta) [1700846] - [netdrv] bpf: pass a struct with offload callbacks to bpf_offload_dev_create() (Yauheni Kaliuta) [1700846] - [tools] kselftests/bpf: use ping6 as the default ipv6 ping binary when it exists (Yauheni Kaliuta) [1700846] - [tools] bpftool: Improve handling of ENOENT on map dumps (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add a test case for sock_ops perf-event notification (Yauheni Kaliuta) [1700846] - [net] bpf: add perf event notificaton support for sock_ops (Yauheni Kaliuta) [1700846] - [net] bpf: let verifier to calculate and record max_pkt_offset (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: update references to other man pages in documentation (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: pass an argument to silence open_obj_pinned() (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix plain output and doc for --bpffs option (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: prevent infinite loop in get_fdinfo() (Yauheni Kaliuta) [1700846] - [samples] bpf_load: add map name to load_maps error message (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: adjust rlimit RLIMIT_MEMLOCK when loading programs, maps (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: enable (uncomment) all tests in test_libbpf.sh (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpf_prog_get_info_by_fd to return 0 func_lens for unpriv (Yauheni Kaliuta) [1700846] - [net] bpf: show main program address and length in bpf_prog_info (Yauheni Kaliuta) [1700846] - [net] bpf: show real jited address in bpf_prog_info->jited_ksyms (Yauheni Kaliuta) [1700846] - [net] bpf: show real jited prog address in /proc/kallsyms (Yauheni Kaliuta) [1700846] - [tools] bpf: test make sure to run unpriv test cases in test_verifier (Yauheni Kaliuta) [1700846] - [tools] bpf: add various test cases to test_verifier (Yauheni Kaliuta) [1700846] - [net] bpf: don't set id on after map lookup with ptr_to_map_val return (Yauheni Kaliuta) [1700846] - [tools] libbpf: Fix compile error in libbpf_attach_type_by_name (Yauheni Kaliuta) [1700846] - [tools] kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add unlimited rlimit for flow_dissector_load (Yauheni Kaliuta) [1700846] - [net] bpf: add bpf_jit_limit knob to restrict unpriv allocations (Yauheni Kaliuta) [1700846] - [net] bpf: make direct packet write unclone more robust (Yauheni Kaliuta) [1700846] - [net] bpf: fix leaking uninitialized memory on pop/peek helpers (Yauheni Kaliuta) [1700846] - [net] bpf: fix direct packet write into pop/peek helpers (Yauheni Kaliuta) [1700846] - [net] bpf: fix cg_skb types to hint access type in may_access_direct_pkt_data (Yauheni Kaliuta) [1700846] - [net] bpf: fix direct packet access for flow dissector progs (Yauheni Kaliuta) [1700846] - [net] bpf: disallow direct packet access for unpriv in cg_skb (Yauheni Kaliuta) [1700846] - [tools] bpf: fix test suite to enable all unpriv program types (Yauheni Kaliuta) [1700846] - [net] bpf, btf: fix a missing check bug in btf_parse (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add config fragments BPF_STREAM_PARSER and XDP_SOCKETS (Yauheni Kaliuta) [1700846] - [net] bpf: devmap: fix wrong interface selection in notifier_call (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: fix completion for "bpftool map update" (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: print nb of cmds to stdout (not stderr) for batch mode (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: document restriction on '.' in names to pin in bpffs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix return value comparison for tests in test_libbpf.sh (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: simplify and cleanup perf ring buffer walk (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: avoid retpoline for map push/pop/peek operation (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: remove unneeded flow key in check_helper_mem_access (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: reject xadd on flow key memory (Yauheni Kaliuta) [1700846] - [net] bpf, verifier: fix register type dump in xadd and st (Yauheni Kaliuta) [1700846] - [net] ulp: remove uid and user_visible members (Yauheni Kaliuta) [1700846] - [tools] bpf: test_sockmap add options to use msg_push_data (Yauheni Kaliuta) [1700846] - [tools] bpf: libbpf support for msg_push_data (Yauheni Kaliuta) [1700846] - [tools] Sync uapi/bpf.h to tools/include (Yauheni Kaliuta) [1700846] - [net] bpf: add tests for direct packet access from CGROUP_SKB (Yauheni Kaliuta) [1700846] - [net] bpf: add cg_skb_is_valid_access for BPF_PROG_TYPE_CGROUP_SKB (Yauheni Kaliuta) [1700846] - [tools] bpf, libbpf: use correct barriers in perf ring buffer walk (Yauheni Kaliuta) [1700846] - [tools] tools, perf: add and use optimized ring_buffer_{read_head, write_tail} helpers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add test cases for queue and stack maps (Yauheni Kaliuta) [1700846] - [net] bpf: add MAP_LOOKUP_AND_DELETE_ELEM syscall (Yauheni Kaliuta) [1700846] - [net] bpf: add queue and stack maps (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: add ARG_PTR_TO_UNINIT_MAP_VALUE (Yauheni Kaliuta) [1700846] - [net] bpf/syscall: allow key to be null in map functions (Yauheni Kaliuta) [1700846] - [net] bpf: rename stack trace map operations (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: use 4 context mode for the NFP disasm (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix file resource leak in load_kallsyms (Yauheni Kaliuta) [1700846] - [tools] bpf: sockmap, add msg_peek tests to test_sockmap (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, support for msg_peek in sk_msg with redirect ingress (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, fix skmsg recvmsg handler to track size correctly (Yauheni Kaliuta) [1700846] - [include] bpf: skmsg, improve sk_msg_used_element to work in cork context (Yauheni Kaliuta) [1700846] - [tools] libbpf: Per-symbol visibility for DSO (Yauheni Kaliuta) [1700846] - [tools] bpf, tls: add tls header to tools infrastructure (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: add map create command (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, add flag to allow non-compat map definitions (Yauheni Kaliuta) [1700846] - [tools] bpf: bpftool, add support for attaching programs to maps (Yauheni Kaliuta) [1700846] - [maintainers] bpf, doc: add maintainers entry to related files (Yauheni Kaliuta) [1700846] - [tools] bpf: add tls support for testing in test_sockmap (Yauheni Kaliuta) [1700846] - [net] tls: add bpf support to sk_msg handling (Yauheni Kaliuta) [1700846] - [net] tls: replace poll implementation with read hook (Yauheni Kaliuta) [1700846] - [net] tls: convert to generic sk_msg interface (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: convert to generic sk_msg interface (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: remove ulp bits from sockmap (Yauheni Kaliuta) [1700846] - [net] tcp, ulp: enforce sock_owned_by_me upon ulp init and cleanup (Yauheni Kaliuta) [1700846] - [net] net/tls: Make function get_rec() static (Yauheni Kaliuta) [1700846] - [net] net/tls: Mark the end in scatterlist table (Yauheni Kaliuta) [1700846] - [net] tls: Fixed a memory leak during socket close (Yauheni Kaliuta) [1700846] - [net] net/tls: Removed redundant checks for non-NULL (Yauheni Kaliuta) [1700846] - [net] tls: Add support for inplace records encryption (Yauheni Kaliuta) [1700846] - [net] tls: Remove redundant vars from tls record structure (Yauheni Kaliuta) [1700846] - [net] net/tls: Fixed race condition in async encryption (Yauheni Kaliuta) [1700846] - [net] tls: Fix socket mem accounting error under async encryption (Yauheni Kaliuta) [1700846] - [net] net/tls: Add support for async encryption of records for performance (Yauheni Kaliuta) [1700846] - [net] tls: Remove dead code in tls_sw_sendmsg (Yauheni Kaliuta) [1700846] - [net] net/tls: Fixed return value when tls_complete_pending_work() fails (Yauheni Kaliuta) [1700846] - [net] bpf: wait for running BPF programs when updating map-in-map (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: install script with_addr.sh (Yauheni Kaliuta) [1700846] - [tools] selftests: bpf: add config fragment LWTUNNEL (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: use proper type and uapi perf_event.h header for libbpf (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add XDP selftests for modifying and popping VLAN headers (Yauheni Kaliuta) [1700846] - [tools] bpf: make TC vlan bpf_helpers avail to selftests (Yauheni Kaliuta) [1700846] - [net] net: fix generic XDP to handle if eth header was mangled (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test_verifier, check bpf_map_lookup_elem access in bpf prog (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test_verifier, change names of fixup maps (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, print strerror when map lookup error occurs (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, split the function do_dump() (Yauheni Kaliuta) [1700846] - [net] bpf: return EOPNOTSUPP when map lookup isn't supported (Yauheni Kaliuta) [1700846] - [net] bpf: error handling when map_lookup_elem isn't supported (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Fix a missing check bug (Yauheni Kaliuta) [1700846] - [net] bpf: allow offload of programs with BPF-to-BPF function calls (Yauheni Kaliuta) [1700846] - [net] bpf: add verifier callback to get stack usage info for offloaded progs (Yauheni Kaliuta) [1700846] - [tools] libbpf: relicense libbpf as LGPL-2.1 OR BSD-2-Clause (Yauheni Kaliuta) [1700846] - [samples] bpf, tracex3_user: erase "ARRAY_SIZE" redefined (Yauheni Kaliuta) [1700846] - [tools] libbpf: Use __u32 instead of u32 in bpf_program__load (Yauheni Kaliuta) [1700846] - [tools] libbpf: Make include guards consistent (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in str_error.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in nlattr.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Consistent prefixes for interfaces in libbpf.h (Yauheni Kaliuta) [1700846] - [tools] libbpf: Move __dump_nlmsg_t from API to implementation (Yauheni Kaliuta) [1700846] - [documentation] Documentation: Describe bpf reference tracking (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add C tests for reference tracking (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support loading individual progs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add tests for reference tracking (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Generalize dummy program types (Yauheni Kaliuta) [1700846] - [tools] bpf: Add helper to retrieve socket in BPF (Yauheni Kaliuta) [1700846] - [include] bpf: Introduce bpf_skb_ancestor_cgroup_id helper (Yauheni Kaliuta) [1700846] - [tools] bpf: sync include/uapi/linux/bpf.h to tools/include/uapi/linux/bpf.h (Yauheni Kaliuta) [1700846] - [tools] bpf: sync bpf.h uapi with tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h uapi to tools/ (Yauheni Kaliuta) [1700846] - [tools] bpf: sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Add reference tracking to verifier (Yauheni Kaliuta) [1700846] - [net] bpf: Macrofy stack state copy (Yauheni Kaliuta) [1700846] - [include] bpf: Add PTR_TO_SOCKET verifier type (Yauheni Kaliuta) [1700846] - [net] bpf: Generalize ptr_or_null regs check (Yauheni Kaliuta) [1700846] - [net] bpf: Reuse canonical string formatter for ctx errs (Yauheni Kaliuta) [1700846] - [net] bpf: Add iterator for spilled registers (Yauheni Kaliuta) [1700846] - [net] bpf: don't accept cgroup local storage with zero value size (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: cgroup local storage-based network counters (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: extend test_cgrp2_attach2 test to use per-cpu cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: extend the storage test to test per-cpu cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add verifier per-cpu cgroup storage tests (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for PERCPU_CGROUP_STORAGE maps (Yauheni Kaliuta) [1700846] - [net] bpf: don't allow create maps of per-cpu cgroup local storages (Yauheni Kaliuta) [1700846] - [net] bpf: introduce per-cpu cgroup local storage (Yauheni Kaliuta) [1700846] - [net] bpf: rework cgroup storage pointer passing (Yauheni Kaliuta) [1700846] - [net] bpf: extend cgroup bpf core to allow multiple cgroup storage types (Yauheni Kaliuta) [1700846] - [net] bpf/test_run: support cgroup local storage (Yauheni Kaliuta) [1700846] - [net] bpf: harden flags check in cgroup_storage_update_elem() (Yauheni Kaliuta) [1700846] - [net] bpf: permit CGROUP_DEVICE programs accessing helper bpf_get_current_cgroup_id() (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test libbpf_{prog,attach}_type_by_name (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Use libbpf_attach_type_by_name in test_socket_cookie (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support sk_skb/stream_{parser, verdict} section names (Yauheni Kaliuta) [1700846] - [tools] libbpf: Support cgroup_skb/{e,in}gress section names (Yauheni Kaliuta) [1700846] - [tools] libbpf: Introduce libbpf_attach_type_by_name (Yauheni Kaliuta) [1700846] - [tools] bpftool: Fix bpftool net output (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for BPF_MAP_TYPE_REUSEPORT_SOCKARRAY maps (Yauheni Kaliuta) [1700846] - [tools] bpf: test_maps, only support ESTABLISHED socks (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, fix transition through disconnect without close (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap only allow ESTABLISHED sock state (Yauheni Kaliuta) [1700846] - [net] bpf: remove redundant null pointer check before consume_skb (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: fix compilation failure (Yauheni Kaliuta) [1700846] - [net] flow_dissector: fix build failure without CONFIG_NET (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: fix a compilation failure (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: remove duplicated includes (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: improve output format for bpftool net (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix bpf_flow.c build (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: test bpf flow dissection (Yauheni Kaliuta) [1700846] - [tools] flow_dissector: implements eBPF parser (Yauheni Kaliuta) [1700846] - [tools] bpf: support flow dissector in libbpf and bpftool (Yauheni Kaliuta) [1700846] - [include] flow_dissector: implements flow dissector BPF hook (Yauheni Kaliuta) [1700846] - [net] bpf: btf: Fix end boundary calculation for type section (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix a netlink recv issue (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: support prog array map and map of maps (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for program array map (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add net support (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add more netlink functionalities in lib/bpf (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: move bpf/lib netlink related functions into a new file (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf/test_progs: do not check errno == 0 (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add missing executables to .gitignore (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: fix verifier instability (Yauheni Kaliuta) [1700846] - [net] bpf: avoid misuse of psock when TCP_ULP_BPF collides with another ULP (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool, add xskmap in map types (Yauheni Kaliuta) [1700846] - [tools] bpf: add selftest for bpf's (set|get)_sockopt for SAVE_SYN (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: xdpsock, minor fixes (Yauheni Kaliuta) [1700846] - [samples] bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN sample program (Yauheni Kaliuta) [1700846] - [net] bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN options for bpf_(set|get)sockopt (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: bpftool: add btf percpu map formated dump (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add bpffs percpu map pretty print tests in test_btf (Yauheni Kaliuta) [1700846] - [net] bpf: add bpffs pretty print for percpu arraymap/hash/lru_hash (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: display non-spill stack slot types in print_verifier_state (Yauheni Kaliuta) [1700846] - [tools] bpf: use --cgroup in test_suite if supplied (Yauheni Kaliuta) [1700846] - [tools] bpf: sockmap test remove shutdown() calls (Yauheni Kaliuta) [1700846] - [net] bpf: remove duplicated include from syscall.c (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap, decrement copied count correctly in redirect error case (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix psock refcount leak in bpf_tcp_recvmsg (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix potential use after free in bpf_tcp_close (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: return from do_event_pipe() on bad arguments (Yauheni Kaliuta) [1700846] - [net] bpf: use per htab salt for bucket hash (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap: write_space events need to be passed to TCP handler (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock hash count in alloc_sock_hash_elem (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock_hash_alloc and reject zero-sized keys (Yauheni Kaliuta) [1700846] - [net] bpf: fix redirect to map under tail calls (Yauheni Kaliuta) [1700846] - [netdrv] veth: Support per queue XDP ring (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add XDP TX and REDIRECT (Yauheni Kaliuta) [1700846] - [net] xdp: Helpers for disabling napi_direct of xdp_return_frame (Yauheni Kaliuta) [1700846] - [net] bpf: Make redirect_info accessible from modules (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add ndo_xdp_xmit (Yauheni Kaliuta) [1700846] - [netdrv] veth: Handle xdp_frames in xdp napi ring (Yauheni Kaliuta) [1700846] - [netdrv] veth: Avoid drops by oversized packets when XDP is enabled (Yauheni Kaliuta) [1700846] - [netdrv] veth: Add driver XDP (Yauheni Kaliuta) [1700846] - [net] net: Export skb_headers_offset_update (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: fix bpf selftest test_cgroup_storage failure (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix sock_map_ctx_update_elem race with exist/noexist (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix map elem deletion race with smap_stop_sock (Yauheni Kaliuta) [1700846] - [net] bpf, sockmap: fix leakage of smap_psock_map_entry (Yauheni Kaliuta) [1700846] - [net] bpf: fix a rcu usage warning in bpf_prog_array_copy_core() (Yauheni Kaliuta) [1700846] - [tools] bpf: test: fix spelling mistake "REUSEEPORT" -> "REUSEPORT" (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Selftest for bpf_skb_ancestor_cgroup_id (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add cgroup id helpers to bpf_helpers.h (Yauheni Kaliuta) [1700846] - [net] bpf: decouple btf from seq bpf fs dump and enable more maps (Yauheni Kaliuta) [1700846] - [tools] bpf: Test BPF_PROG_TYPE_SK_REUSEPORT (Yauheni Kaliuta) [1700846] - [tools] bpf: test BPF_MAP_TYPE_REUSEPORT_SOCKARRAY (Yauheni Kaliuta) [1700846] - [tools] bpf: Refactor ARRAY_SIZE macro to bpf_util.h (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce BPF_PROG_TYPE_SK_REUSEPORT (Yauheni Kaliuta) [1700846] - [net] bpf: Introduce BPF_MAP_TYPE_REUSEPORT_SOCKARRAY (Yauheni Kaliuta) [1700846] - [net] net: Add ID (if needed) to sock_reuseport and expose reuseport_lock (Yauheni Kaliuta) [1700846] - [tools] tools/bpf: add bpffs pretty print btf test for hash/lru_hash maps (Yauheni Kaliuta) [1700846] - [net] bpf: btf: add pretty print for hash/lru_hash maps (Yauheni Kaliuta) [1700846] - [net] bpf: fix bpffs non-array map seq_show issue (Yauheni Kaliuta) [1700846] - [powerpc] powerpc/Makefiles: Convert ifeq to ifdef where possible (Yauheni Kaliuta) [1700846] - [net] bpf: introduce update_effective_progs() (Yauheni Kaliuta) [1700846] - [s390] s390: fix br_r1_trampoline for machines without exrl (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: fix a typo in map in map test (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: fix BTF code added twice to different trees (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: extend test_cgrp2_attach2 test to use cgroup storage (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add a cgroup storage test (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: add verifier cgroup storage tests (Yauheni Kaliuta) [1700846] - [tools] bpftool: add support for CGROUP_STORAGE maps (Yauheni Kaliuta) [1700846] - [net] bpf: introduce the bpf_get_local_storage() helper function (Yauheni Kaliuta) [1700846] - [net] bpf: don't allow create maps of cgroup local storages (Yauheni Kaliuta) [1700846] - [net] bpf/verifier: introduce BPF_PTR_TO_MAP_VALUE (Yauheni Kaliuta) [1700846] - [net] bpf: extend bpf_prog_array to store pointers to the cgroup storage (Yauheni Kaliuta) [1700846] - [net] bpf: allocate cgroup storage entries on attaching bpf programs (Yauheni Kaliuta) [1700846] - [net] bpf: pass a pointer to a cgroup storage using pcpu variable (Yauheni Kaliuta) [1700846] - [net] bpf: introduce cgroup storage maps (Yauheni Kaliuta) [1700846] - [net] bpf: add ability to charge bpf maps memory dynamically (Yauheni Kaliuta) [1700846] - [net] bpf: verifier: MOV64 don't mark dst reg unbounded (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test for get_socket_cookie (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Add bpf_get_socket_cookie to bpf_helpers.h (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Support bpf_get_socket_cookie in more prog types (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: convert xdpsock_user.c to libbpf (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: convert xdp_fwd_user.c to libbpf (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: add bpf_object__find_program_by_title() (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: handle NULL program gracefully in bpf_program__nth_fd() (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: Add BTF build flags to Makefile (Yauheni Kaliuta) [1700846] - [tools] tools/bpftool: ignore build products (Yauheni Kaliuta) [1700846] - [tools] bpf: Add Python 3 support to selftests scripts for bpf (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: fix inconsistent IS_ERR and PTR_ERR (Yauheni Kaliuta) [1700846] - [net] bpf: sockmap: remove redundant pointer sg (Yauheni Kaliuta) [1700846] - [net] bpf: bpf_prog_array_alloc() should return a generic non-rcu pointer (Yauheni Kaliuta) [1700846] - [tools] tools: bpftool: don't pass FEATURES_DUMP to libbpf (Yauheni Kaliuta) [1700846] - [tools] tools: libbpf: remove libelf-getphdrnum feature detection (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: test_cgrp2_sock2: fix an off by one (Yauheni Kaliuta) [1700846] - [samples] samples: bpf: ensure that we don't load over MAX_PROGS programs (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test case for BPF_SOCK_OPS_TCP_LISTEN_CB (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Better verification in test_tcpbpf (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Switch test_tcpbpf_user to cgroup_helpers (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Fix const'ness in cgroup_helpers (Yauheni Kaliuta) [1700846] - [tools] bpf: Sync bpf.h to tools/ (Yauheni Kaliuta) [1700846] - [net] bpf: Add BPF_SOCK_OPS_TCP_LISTEN_CB (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: print map dump and lookup with btf info (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: add btf print functionality (Yauheni Kaliuta) [1700846] - [tools] bpf: btf: export btf types and name by offset from lib (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: build and install man page for eBPF helpers from bpftool/ (Yauheni Kaliuta) [1700846] - [tools] tools: bpf: synchronise BPF UAPI header with tools (Yauheni Kaliuta) [1700846] - [include] bpf: fix documentation for eBPF helpers (Yauheni Kaliuta) [1700846] - [tools] bpftool: add bash completion for cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] bpftool: document cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] bpftool: introduce cgroup tree command (Yauheni Kaliuta) [1700846] - [tools] selftests/bpf: Test sys_connect BPF hooks with TFO (Yauheni Kaliuta) [1700846] - [samples] samples/bpf: Add xdp_sample_pkts example (Yauheni Kaliuta) [1700846] - [tools] trace_helpers.c: Add helpers to poll multiple perf FDs for events (Yauheni Kaliuta) [1700846] - [net] bpf: deal with kABI breakage in cgroups (Yauheni Kaliuta) [1700846] - [netdrv] nfp: bpf: fix static check error through tightening shift amount adjustment (Pablo Cascon) [1663986] - [netdrv] nfp: disable netpoll on representors (Pablo Cascon) [1663986] - [netdrv] nfp: validate the return code from dev_queue_xmit() (Pablo Cascon) [1663986] - [netdrv] nfp: fix simple vNIC mailbox length (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: set higher timeout for flash bundle (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: allow the use of DMA buffer (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: move default buffer handling into its own function (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: use fractional size of the buffer (Pablo Cascon) [1663986] - [netdrv] nfp: report RJ45 connector in ethtool (Pablo Cascon) [1663986] - [netdrv] nfp: remove ethtool flashing fallback (Pablo Cascon) [1663986] - [netdrv] nfp: Remove switchdev.h inclusion (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: allow flashing the device via devlink (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: include vendor/product info in serial number (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: use the generic manufacture identifier instead of vendor (Pablo Cascon) [1663986] - [netdrv] nfp: flower: cmsg: use struct_size() helper (Pablo Cascon) [1663986] - [netdrv] nfp: Implement ndo_get_port_parent_id() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: complete ALU32 logic shift supports (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: correct the behavior for shifts by zero (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report the running and flashed versions (Pablo Cascon) [1663986] - [netdrv] nfp: nsp: add support for versions command (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report fixed versions (Pablo Cascon) [1663986] - [netdrv] nfp: devlink: report driver name and serial number (Pablo Cascon) [1663986] - [netdrv] nfp: use struct_size() in kzalloc() (Pablo Cascon) [1663986] - [netdrv] nfp: flower: enable MAC address sharing for offloadable devs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure MAC cleanup on address change (Pablo Cascon) [1663986] - [netdrv] nfp: flower: add infastructure for non-repr priv data (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure deletion of old offloaded MACs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove list infastructure from MAC offload (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ignore offload of VF and PF repr MAC addresses (Pablo Cascon) [1663986] - [netdrv] nfp: flower: tidy tunnel related private data (Pablo Cascon) [1663986] - [netdrv] nfp: flower: support multiple memory units for filter offloads (Pablo Cascon) [1663986] - [netdrv] nfp: flower: increase cmesg reply timeout (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: optimize codegen for JSET with a constant (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: remove the trivial JSET optimization (Pablo Cascon) [1663986] - [netdrv] nfp: flower: fix cb_ident duplicate in indirect block register (Pablo Cascon) [1663986] - [netdrv] nfp: abm: allow to opt-out of RED offload (Pablo Cascon) [1663986] - [netdrv] nfp: flower: ensure TCP flags can be placed in IPv6 frame (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_* (Pablo Cascon) [1663986] - [netdrv] nfp: convert to DEFINE_SHOW_ATTRIBUTE (Pablo Cascon) [1663986] - [netdrv] nfp: report more info when reconfiguration fails (Pablo Cascon) [1663986] - [netdrv] nfp: add offset to all TLV parsing errors (Pablo Cascon) [1663986] - [netdrv] nfp: add offloads on representors (Pablo Cascon) [1663986] - [netdrv] nfp: add locking around representor changes (Pablo Cascon) [1663986] - [netdrv] nfp: run don't require Qdiscs on representor netdevs (Pablo Cascon) [1663986] - [netdrv] nfp: run representor TX locklessly (Pablo Cascon) [1663986] - [netdrv] nfp: avoid oversized TSO headers with metadata prepend (Pablo Cascon) [1663986] - [netdrv] nfp: correct descriptor offsets in presence of metadata (Pablo Cascon) [1663986] - [netdrv] nfp: move queue variable init (Pablo Cascon) [1663986] - [netdrv] nfp: move temporary variables in nfp_net_tx_complete() (Pablo Cascon) [1663986] - [netdrv] nfp: copy only the relevant part of the TX descriptor for frags (Pablo Cascon) [1663986] - [netdrv] nfp: flower: prevent offload if rhashtable insert fails (Pablo Cascon) [1663986] - [netdrv] nfp: flower: release metadata on offload failure (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add support for more threshold actions (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add cls_u32 offload for simple band classification (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add functions to update DSCP -> virtual queue map (Pablo Cascon) [1663986] - [netdrv] nfp: abm: calculate PRIO map len and check mailbox size (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add GRED offload (Pablo Cascon) [1663986] - [netdrv] nfp: abm: wrap RED parameters in bands (Pablo Cascon) [1663986] - [netdrv] nfp: abm: add up bands for sto/non-sto stats (Pablo Cascon) [1663986] - [netdrv] nfp: abm: switch to extended stats for reading packet/byte counts (Pablo Cascon) [1663986] - [netdrv] nfp: abm: size threshold table to account for bands (Pablo Cascon) [1663986] - [netdrv] nfp: abm: pass band parameter to functions (Pablo Cascon) [1663986] - [netdrv] nfp: abm: map per-band symbols (Pablo Cascon) [1663986] - [netdrv] nfp: abm: restructure Qdisc handling (Pablo Cascon) [1663986] - [netdrv] nfp: abm: save RED's parameters (Pablo Cascon) [1663986] - [netdrv] nfp: abm: reset RED's child based on limit (Pablo Cascon) [1663986] - [netdrv] nfp: abm: build full Qdisc hierarchy based on graft notifications (Pablo Cascon) [1663986] - [netdrv] nfp: abm: allocate Qdisc child table (Pablo Cascon) [1663986] - [netdrv] nfp: abm: remember which Qdisc is root (Pablo Cascon) [1663986] - [netdrv] nfp: abm: track all offload-enabled qdiscs (Pablo Cascon) [1663986] - [netdrv] nfp: abm: keep track of all RED thresholds (Pablo Cascon) [1663986] - [netdrv] nfp: abm: rename qdiscs -> red_qdiscs (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove unnecessary code in flow lookup (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove TC egdev offloads (Pablo Cascon) [1663986] - [netdrv] nfp: flower: offload tunnel decap rules via indirect TC blocks (Pablo Cascon) [1663986] - [netdrv] nfp: flower: increase scope of netdev checking functions (Pablo Cascon) [1663986] - [netdrv] nfp: flower: allow non repr netdev offload (Pablo Cascon) [1663986] - [netdrv] nfp: use the new __netdev_tx_sent_queue() BQL optimisation (Pablo Cascon) [1663986] - [netdrv] nfp: abm: refuse RED offload with harddrop set (Pablo Cascon) [1663986] - [netdrv] nfp: abm: don't set negative threshold (Pablo Cascon) [1663986] - [netdrv] nfp: abm: provide more precise info about offload parameter validation (Pablo Cascon) [1663986] - [netdrv] nfp: parse vNIC TLV capabilities at alloc time (Pablo Cascon) [1663986] - [netdrv] nfp: pass ctrl_bar pointer to nfp_net_alloc (Pablo Cascon) [1663986] - [netdrv] nfp: abm: split qdisc offload code into a separate file (Pablo Cascon) [1663986] - [netdrv] nfp: flower: include geneve as supported offload tunnel type (Pablo Cascon) [1663986] - [netdrv] nfp: flower: use geneve and vxlan helpers (Pablo Cascon) [1663986] - [netdrv] nfp: flower: use the common netdev notifier (Pablo Cascon) [1663986] - [netdrv] nfp: register a notifier handler in a central location for the device (Pablo Cascon) [1663986] - [netdrv] nfp: flower: make nfp_fl_lag_changels_event() void (Pablo Cascon) [1663986] - [netdrv] nfp: flower: don't try to nack device unregister events (Pablo Cascon) [1663986] - [netdrv] nfp: flower: remove unnecessary iteration over devices (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: protect against mis-initializing atomic counters (Pablo Cascon) [1663986] - [netdrv] nfp: devlink port split support for 1x100G CXP NIC (Pablo Cascon) [1663986] - [netdrv] nfp: replace long license headers with SPDX (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support pointers to other stack frames for BPF-to-BPF calls (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: account for BPF-to-BPF calls when preparing nfp JIT (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: ignore helper-related checks for BPF calls in nfp verifier (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: rename nfp_prog->stack_depth as nfp_prog->stack_frame_depth (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow control message sizing for map ops (Pablo Cascon) [1663986] - [netdrv] nfp: allow apps to request larger MTU on control vNIC (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: parse global BPF ABI version capability (Pablo Cascon) [1663986] - [netdrv] nfp: warn on experimental TLV types (Pablo Cascon) [1663986] - [netdrv] nfp: remove ndo_poll_controller (Pablo Cascon) [1663986] - [netdrv] nfp: replace spin_lock_bh with spin_lock in tasklet callback (Pablo Cascon) [1663986] - [netdrv] nfp: separate VXLAN and GRE feature handling (Pablo Cascon) [1663986] - [netdrv] nfp: validate rtsym accesses fall within the symbol (Pablo Cascon) [1663986] - [netdrv] nfp: prefix rtsym error messages with symbol name (Pablo Cascon) [1663986] - [netdrv] nfp: fix readq on absolute RTsyms (Pablo Cascon) [1663986] - [netdrv] nfp: make RTsym users handle absolute symbols correctly (Pablo Cascon) [1663986] - [netdrv] nfp: support access to absolute RTsyms (Pablo Cascon) [1663986] - [netdrv] nfp: convert all RTsym users to use new read/write helpers (Pablo Cascon) [1663986] - [netdrv] nfp: convert existing RTsym helpers to full target decoding (Pablo Cascon) [1663986] - [netdrv] nfp: pass cpp_id to nfp_cpp_map_area() (Pablo Cascon) [1663986] - [netdrv] nfp: add RTsym access helpers (Pablo Cascon) [1663986] - [netdrv] nfp: add basic errors messages to target logic (Pablo Cascon) [1663986] - [netdrv] nfp: save the MU locality field offset (Pablo Cascon) [1663986] - [netdrv] nfp: refactor the per-chip PCIe config (Pablo Cascon) [1663986] - [netdrv] nfp: add support for NFP5000 (Pablo Cascon) [1663986] - [netdrv] nfp: abm: look up MAC addresses via management FW (Pablo Cascon) [1663986] - [netdrv] nfp: add support for indirect HWinfo lookup (Pablo Cascon) [1663986] - [netdrv] nfp: interpret extended FW load result codes (Pablo Cascon) [1663986] - [netdrv] nfp: attempt FW load from flash (Pablo Cascon) [1663986] - [netdrv] nfp: encapsulate NSP command arguments into structs (Pablo Cascon) [1663986] - [netdrv] nfp: clean up return types in kdoc comments (Pablo Cascon) [1663986] - [netdrv] nfp: flower: allow matching on ipv4 UDP tunnel tos and ttl (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: xdp_adjust_tail support (Pablo Cascon) [1663986] - [netdrv] nfp: fix variable dereferenced before check in nfp_app_ctrl_rx_raw() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: improve map offload info messages (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: remember maps by ID (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow receiving perf events on data queues (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: pass raw data buffer to nfp_bpf_event_output() (Pablo Cascon) [1663986] - [netdrv] nfp: allow control message reception on data queues (Pablo Cascon) [1663986] - [netdrv] nfp: move repr handling on RX path (Pablo Cascon) [1663986] - [netdrv] nfp: protect from theoretical size overflows on HW descriptor ring (Pablo Cascon) [1663986] - [netdrv] nfp: restore correct ordering of fields in rx ring structure (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow program sharing within ASIC (Pablo Cascon) [1663986] - [netdrv] nfp: add .ndo_init() and .ndo_uninit() callbacks (Pablo Cascon) [1663986] - [netdrv] nfp: add support for simultaneous driver and hw XDP (Pablo Cascon) [1663986] - [netdrv] nfp: avoid using getnstimeofday64() (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: migrate to advanced reciprocal divide in reciprocal_div.h (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support u32 divide using reciprocal_div.h (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: support u16 and u32 multiplications (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: copy range info for all operands of all ALU operations (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: rename umin/umax to umin_src/umax_src (Pablo Cascon) [1663986] - [netdrv] nfp: make use of napi_consume_skb() (Pablo Cascon) [1663986] - [netdrv] nfp: implement netpoll ndo (thus enabling netconsole) (Pablo Cascon) [1663986] - [netdrv] nfp: fail probe if serial or interface id is missing (Pablo Cascon) [1663986] - [netdrv] nfp: expose ring stats of inactive rings via ethtool (Pablo Cascon) [1663986] - [netdrv] nfp: bpf: allow source ptr type be map ptr in memcpy optimization (Pablo Cascon) [1663986] - [netdrv] bpf: offload: keep the offload state per-ASIC (Pablo Cascon) [1663986] - [netdrv] bpf: offload: aggregate offloads per-device (Pablo Cascon) [1663986] - [tools] selftests/bpf: add test for sharing objects between netdevs (Ivan Vecera) [1708399] - [netdrv] netdevsim: allow program sharing between devices (Ivan Vecera) [1708399] - [net] bpf: offload: allow program and map sharing per-ASIC (Ivan Vecera) [1708399] - [netdrv] bpf: offload: keep the offload state per-ASIC (Ivan Vecera) [1708399] - [netdrv] bpf: offload: aggregate offloads per-device (Ivan Vecera) [1708399] - [net] bpf: offload: rename bpf_offload_dev_match() to bpf_offload_prog_map_match() (Ivan Vecera) [1708399] - [netdrv] netdevsim: associate bound programs with shared dev (Ivan Vecera) [1708399] - [netdrv] netdevsim: add shared netdevsim devices (Ivan Vecera) [1708399] - [netdrv] netdevsim: add switch_id attribute (Ivan Vecera) [1708399]- [infiniband] IB/mlx5: Remove set but not used variable (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: WQE dump jumps over first 16 bytes (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix false compilation warning (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Remove redundant assignment (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix compilation warning in en_tc.c (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix compilation warning in eq.c (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix the max MTU check in case of XDP (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix use-after-free after xdp_return_frame (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix scatter to CQE in DCT QP creation (Alaa Hleihel) [1691238] - [netdrv] Revert "net/mlx5e: Enable reporting checksum unnecessary also for L3 packets" (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Rx, Check ip headers sanity (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: FPGA, tls, idr remove on flow delete (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: FPGA, tls, hold rcu read lock a bit longer (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Consider tunnel type for encap contexts (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: E-Switch, Fix esw manager vport indication for more vport commands (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Correctly use the namespace type when allocating pedit action (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: ethtool, Allow legacy link-modes configuration via non-extended ptys (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: ethtool, Fix type analysis of advertised link-mode (Alaa Hleihel) [1691238] - [netdrv] net: mlx5: Add a missing check on idr_find, free buf (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Allow IPv4 ttl & IPv6 hop_limit rewrite for all L4 protocols (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix DCT creation bad flow (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix bad flow upon DEVX mkey creation (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Add support for ODP for DEVX indirection mkey (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Manage indirection mkey upon DEVX flow for ODP (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: DEVX handling for indirection MKEY (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Fix access to non-existing receive queue (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Properly get the PF number phys port name ndo (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Consolidate update FTE for all removal changes (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Add a locked flag to node removal functions (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Add modify FTE helper function (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix multiple updates of steering rules in parallel (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Validate correct PD before prefetch MR (Alaa Hleihel) [1691238] - [infiniband] RDMA/mlx5: Introduce and reuse helper to identify ODP MR (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Protect against prefetch of invalid MR (Alaa Hleihel) [1691238] - [infiniband] net/mlx5: Make mlx5_cmd_exec_cb() a safe API (Alaa Hleihel) [1691238] - [infiniband] RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING (Alaa Hleihel) [1691238] - [infiniband] RDMA/mlx5: Embed into the code flow the ODP config option (Alaa Hleihel) [1691238] - [netdrv] net/mlx5e: Add missing static function annotation (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Do not use hw_access_flags for be and CPU data (Alaa Hleihel) [1691238] - [netdrv] net/mlx5: Fix code style issue in mlx driver (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Fix the locking of SRQ objects in ODP events (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Make mlx5_ib_stage_odp_cleanup() static (Alaa Hleihel) [1691238] - [infiniband] IB/mlx5: Declare local functions 'static' (Alaa Hleihel) [1691238] - [netdrv] RDMA/mlx5: Delete declaration of already removed function (Alaa Hleihel) [1691238] - [netdrv] mlx5-core: Mark ConnectX-6 Dx as unsupported device (Alaa Hleihel) [1691236 1687434] - [netdrv] net/mlx5: Update the list of the PCI supported devices (Alaa Hleihel) [1691236 1687434] - [infiniband] IB/mlx5: Fix mapping of link-mode to IB width and speed (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Add support for 50Gbps per lane link modes (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5: Add support to ext_* fields introduced in Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [include] net/mlx5: Add new fields to Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5: Refactor queries to speed fields in Port Type and Speed register (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5e: Set peer flow needed also for multipath (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Update check for merged eswitch device (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Use hint to resolve route when in HW multipath mode (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Always query offloaded tc peer rule counter (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Re-attempt to offload flows on multipath port affinity events (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Emit port affinity event for multipath offloads (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Allow one failure when offloading tc encap rules under multipath (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Don't inherit flow flags on peer flow creation (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Activate HW multipath and handle port affinity based on FIB events (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Add multipath mode (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Use own workqueue for lag netdev events processing (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Expose lag operations in header file (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5: Use unsigned int bit instead of bool as a struct member (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Don't make internal use of errno to denote missing neigh (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Cleanup attach encap function (Alaa Hleihel) [1691236 1663236] - [netdrv] net/mlx5e: Remove 'parse_attr' argument in mlx5e_tc_add_fdb_flow() (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Introduce mlx5e_flow_esw_attr_init() helper (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Return the allocated flow directly from __mlx5e_add_fdb_flow (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix GRE key by controlling port tunnel entropy calculation (Alaa Hleihel) [1691236 1663240] - [include] net/mlx5: Introduce tunnel entropy control in PCMR register (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Use read-modify-write when changing PCMR register values (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Remove wrong and superfluous tc pedit header type check (Alaa Hleihel) [1691236] - [netdrv] drivers: net: use flow action infrastructure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: support for two independent packet edit actions (Alaa Hleihel) [1691236] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, fix redirect resources availability check (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix a compilation warning in events.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: No command allowed when command interface is not ready (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix NULL pointer derefernce in set channels error flow (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Don't overwrite pedit action when multiple pedit used (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Update hw flows when encap source mac changed (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use the inner headers to determine tc/pedit offload limitation on decap flows (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Properly set steering match levels for offloaded TC decap rules (Alaa Hleihel) [1691236 1663207] - [netdrv] net/mlx5e: Unblock setting vid 0 for VFs through the uplink rep (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move to use common phys port names for vport representors (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Allow MAC invalidation while spoofchk is ON (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Take lock with IRQs disabled to avoid deadlock (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong private flag usage causing checksum disable (Alaa Hleihel) [1691236] - [netdrv] Revert "net/mlx5e: E-Switch, Initialize eswitch only if eswitch manager" (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Fix flow creation on representors (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix how advise_mr() launches async work (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Fix check for supported user flags when creating a QP (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix cb_ident duplicate in indirect block register (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong (zero) TX drop counter indication for representor (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Fix wrong error code return on FEC query failure (Alaa Hleihel) [1691236] - [infiniband] Revert "IB/mlx5: Fix long EEH recover time with NVMe offloads" (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow XRC INI usage via verbs in DEVX context (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: drop useless LIST_HEAD (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: fix semicolon.cocci warnings (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Signedness bug in UVERBS_HANDLER() (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Add user control for XDP TX MPWQE feature (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Support Enhanced Multi-Packet TX WQE (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Add array for WQE info descriptors (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Maintain a FIFO structure for xdp_info instances (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Replace boolean doorbell indication with segment pointer (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Warn upon polling an error CQE (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Change the XDP SQ redirect indication (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: XDP, Precede XDP-related operations in RQ poll by a loaded program check (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: TX, Print opcode in error CQE warning (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix wrong error unwind (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix long EEH recover time with NVMe offloads (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Simplify netdev unbinding (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use the correct commands for UMEM and UCTX allocation (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use uid as part of alloc/dealloc transport domain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix LAG requirement when CONFIG_MLX5_ESWITCH is off (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Fix query_nic_sys_image_guid() error during init (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Support tunnel encap over tagged Ethernet (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Support VLAN encap ETH header generation (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Re-order route and encap header memory allocation (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Tunnel encap ETH header helper function (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Fail attempt to offload e-switch TC encap flows with vlan on underlay (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Tunnel routing output devs helper function (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Fail attempt to offload e-switch TC flows with egress upper devices (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Allow vlans on e-switch uplink reps (Alaa Hleihel) [1691236 1663255] - [netdrv] net/mlx5e: Increase VF representors' SQ size to 128 (Alaa Hleihel) [1691236] - [netdrv] mlx5: extend PTP gettime function to read system clock (Alaa Hleihel) [1691236] - [netdrv] mlx5: update timecounter at least twice per counter overflow (Alaa Hleihel) [1691236] - [include] IB/mlx5: Introduce uid as part of alloc/dealloc transport domain (Alaa Hleihel) [1691236] - [netdrv] drivers: net: ethernet: mellanox: use skb_sec_path helper (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Fix compile issue when ODP disabled (Alaa Hleihel) [1691236] - [include] net/mlx5: Add shared Q counter bits (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add advise_mr() support (Alaa Hleihel) [1691236 1663248] - [infiniband] IB/uverbs: Add helper to get array size from ptr attribute (Alaa Hleihel) [1691236 1663248] - [infiniband] RDMA/mlx5: Fix function name typo 'fileds' -> 'fields' (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Delete unreachable handle_atomic code by simplifying SW completion (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Continue driver initialization despite debugfs failure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Add some ethtool port control entries to the uplink rep netdev (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Expose ethtool pause and link functions to mlx5e callers (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Add sriov and udp tunnel ndo support for the uplink rep (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Handle port mtu/link, dcb and lag for uplink reps (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Uninstantiate esw manager vport netdev on switchdev mode (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Remove leftover code from the PF netdev being uplink rep (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Use dedicated uplink vport netdev representor (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5e: Use single argument for the esw representor build params helper (Alaa Hleihel) [1691236 1663256] - [netdrv] net/mlx5: E-Switch, Remove redundant reloading of the IB interface (Alaa Hleihel) [1691236 1663256 1663207] - [netdrv] net/mlx5: Handle LAG FW commands failure gracefully (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Make RoCE and SR-IOV LAG modes explicit (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Rename mlx5_lag_is_bonded() to __mlx5_lag_is_active() (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Allow co-enablement of uplink LAG and SRIOV (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Allow/disallow LAG according to pre-req only (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Adjustments for the activate LAG logic to run under sriov (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Duplicate offloaded TC eswitch rules under uplink LAG (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Offload TC e-switch rules with egress LAG device (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: In case of LAG, one switch parent id is used for all representors (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Enhance flow counter scheme for offloaded TC eswitch rules (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5e: Infrastructure for duplicated offloading of TC flows (Alaa Hleihel) [1691236 1663230 1663207] - [netdrv] net/mlx5e: E-Switch, Add peer miss rules (Alaa Hleihel) [1691236 1663230 1663207] - [netdrv] net/mlx5: Introduce inter-device communication mechanism (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Fold the modify lag code into function (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Add lag affinity info to log (Alaa Hleihel) [1691236 1663230] - [netdrv] net/mlx5: Split the activate lag function into two routines (Alaa Hleihel) [1691236 1663230] - [include] net/mlx5: E-Switch, Introduce flow counter affinity (Alaa Hleihel) [1691236 1663230] - [infiniband] IB/mlx5: Unify e-switch representors load approach between uplink and VFs (Alaa Hleihel) [1691236] - [include] net/mlx5: Use lowercase 'X' for hex values (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove set but not used variable 'upriv' (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove duplicated include from eswitch.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use monitor counters for update stats (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Monitor counters commands support (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Avoid query PPCNT register if not supported by the device (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use CQE padding for Ethernet CQs (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Support multiple encapsulations for a TC flow (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Allow association of a flow to multiple encaps (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Change parse attr struct to accommodate multiple tunnel infos (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Support header rewrite actions with remote port mirroring (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Replace the split logic with extended destination (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5e: Annul encap action ordering requirement (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Move flow attr reformat action bit to per dest flags (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5e: Refactor eswitch flow attr for destination specific properties (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5: E-Switch, Rename esw attr mirror count field (Alaa Hleihel) [1691236 1663239 1663207] - [netdrv] net/mlx5: Consider encapsulation properties when comparing destinations (Alaa Hleihel) [1691236 1663239] - [infiniband] RDMA/mlx5: Fail early if user tries to create flows on IB representors (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Remove duplicated include from mlx5_ib.h (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add 2X width support to query_port (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Add HDR speed support to query port (Alaa Hleihel) [1691236 1683102] - [infiniband] IB/mlx5: Report CapabilityMask2 in ib_query_port (Alaa Hleihel) [1691236 1683102] - [netdrv] net/mlx5e: Add GRE protocol offloading (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Move TC tunnel offloading code to separate source file (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Branch according to classified tunnel type (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Refactor VXLAN tunnel decap offloading code (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Refactor VXLAN tunnel encap offloading code (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Replace egdev with indirect block notifications (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Propagate the filter's net device to mlx5e structures (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Provide the TC filter netdev as parameter to flower callbacks (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Support TC indirect block notifications for eswitch uplink reprs (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5e: Store eswitch uplink representor state on a dedicated struct (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Remove the get protocol device interface entry (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Support extended destination format in flow steering command (Alaa Hleihel) [1691236 1663239] - [netdrv] net/mlx5: E-Switch, Change vhca id valid bool field to bit flag (Alaa Hleihel) [1691236 1663239 1663207] - [include] net/mlx5: Introduce extended destination fields (Alaa Hleihel) [1691236 1663239] - [infiniband] net/mlx5: Revise gre and nvgre key formats (Alaa Hleihel) [1691236 1663240] - [netdrv] net/mlx5: Add monitor commands layout and event data (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Add support for plugged-disabled cable status in PME (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Add support for PCIe power slot exceeded error in PME (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Rework handling of port module events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Move flow counters data structures from flow steering header (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use helper to get CQE opcode (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Use helper to get CQE opcode (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: When fetching CQEs return CQE instead of void pointer (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Report packet based credit mode device capability (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Add packet based credit mode support (Alaa Hleihel) [1691236] - [include] net/mlx5: Expose packet based credit mode (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enable TX on a DEVX flow table (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Improve ethtool private-flags code structure (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: ethtool, Support user configuration for RX hash fields (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move RSS params to a dedicated struct (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Refactor TIR configuration function (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Move modify tirs hash functionality (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Cleanup unused defines (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove trailing space of tx_pause ethtool counter name (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow XRC usage via verbs in DEVX context (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Update the supported DEVX commands (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enforce DEVX privilege by firmware (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Enable modify and query verbs objects via DEVX (Alaa Hleihel) [1691236] - [include] net/mlx5: Update mlx5_ifc with DEVX UCTX capabilities bits (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Unfold modify RMP function (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Unfold create RMP function (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Initialize SRQ tables on mlx5_ib (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Update SRQ functions signatures to mlx5_ib format (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Use stages for callback to setup and release DEVX (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Remove SRQ signature global flag (Alaa Hleihel) [1691236] - [infiniband] net/mlx5: Move SRQ functions to RDMA part (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove references to local mlx5_core functions (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove not-used lib/eq.h header file (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove dead transobj code (Alaa Hleihel) [1691236] - [infiniband] net/mlx5: Align SRQ licenses and copyright information (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Debug print for forwarded async events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward SRQ resource events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward QP/WorkQueues resource events (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove all deprecated software versions of FW events (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Handle raw delay drop general event (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Allow forwarding event type general event as is (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Handle raw port change event rather than the software version (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Remove unused events callback and logic (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use the new mlx5 core notifier API (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Forward all mlx5 events to mlx5 notifiers chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Use the new mlx5 core notifier API (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Allow port change event to be forwarded to driver notifiers chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Driver events notifier API (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use fragmented QP's buffer for in-kernel users (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Use fragmented SRQ's buffer for in-kernel users (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Attach a DEVX counter via raw flow creation (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Improve core device events handling (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Device events, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: CQ ERR, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Resource tables, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: CmdIF, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FWPage, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: E-Switch, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: Clock, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FPGA, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: FWTrace, Use async events chain (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Introduce atomic notifier chain subscription API (Alaa Hleihel) [1691236] - [infiniband] RDMA/mlx5: Use the uapi disablement APIs instead of code (Alaa Hleihel) [1691236] - [infiniband] RDMA/uverbs: Use a linear list to describe the compiled-in uapi (Alaa Hleihel) [1691236] - [netdrv] mlx5: use skb_vlan_tag_get_prio() (Alaa Hleihel) [1691236] - [infiniband] IB/mlx5: Allow modify AV in DCI QP to RTR (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Make EQE access methods inline (Alaa Hleihel) [1691236] - [netdrv] {net, IB}/mlx5: Move Page fault EQ and ODP logic to RDMA (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Generic EQ (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Different EQ types (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Privatize eq_table and friends (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, irq_info and rmap belong to eq_table (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Create all EQs in one place (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Move all EQ logic to eq.c (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Remove redundant completion EQ list lock (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, No need to store eq index as a field (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Remove unused fields and structures (Alaa Hleihel) [1691236] - [netdrv] net/mlx5: EQ, Use the right place to store/read IRQ affinity hint (Alaa Hleihel) [1691236] - [include] net/mlx5: Fix offsets of ifc reserved fields (Alaa Hleihel) [1691236] - [netdrv] net/mlx5e: Remove the false indication of software timestamping support (Alaa Hleihel) [1691234 1647734] - [netdrv] net/mlx5: Typo fix in del_sw_hw_rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: RX, Fix wrong early return in receive queue poll (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Cancel DIM work on close SQ (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Remove unused UDP GSO remaining counter (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid encap flows deletion attempt the 1st time a neigh is resolved (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Properly initialize flow attributes for slow path eswitch rule deletion (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid overriding the user provided priority for offloaded tc rules (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Err if asked to mirror a goto chain tc eswitch rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix default amount of channels for VF representors (Alaa Hleihel) [1691234] - [include] net/mlx5: E-Switch, Fix fdb cap bits swap (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Block DEVX umem from the non applicable cases (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Fix XRC QP support after introducing extended atomic (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix failing ethtool query on FEC query error (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix wrong field name in FEC related functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Fix a bug in turning off FEC policy in unsupported speeds (Alaa Hleihel) [1691234] - [include] net/mlx5: Fix XRC SRQ umem valid bits (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Allocate enough space for the FDB sub-namespaces (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Added 'raw_errors_laneX' fields to ethtool statistics (Alaa Hleihel) [1691234] - [include] net/mlx5: Added "per_lane_error_counters" cap bit to PCAM (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Ethtool driver callback for query/set FEC policy (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add port FEC get/set functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add FEC fields to Port Phy Link Mode (PPLM) reg (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Remove counter from idr after removing it from list (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Take fs_counters dellist before addlist (Alaa Hleihel) [1691234] - [infiniband] net/mlx5: Refactor fragmented buffer struct fields and init flow (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Support offloading tc priorities and chains for eswitch flows (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Use a slow path rule instead if vxlan neighbour isn't available (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Enable setting goto slow path chain action (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Avoid duplicated code for tc offloads add/del fdb rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: For TC offloads, always add new flow instead of appending the actions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add a no-append flow insertion mode (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Add chains and priorities (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Have explicit API to delete fwd rules (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Split FDB fast path prio to multiple namespaces (Alaa Hleihel) [1691234] - [include] net/mlx5: Add cap bits for multi fdb encap (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Split TC add rule path for nic vs e-switch (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Change return type of tc add flow functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Use flow counter IDs and not the wrapping cache object (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Get counters for offloaded flows from callers (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Add support for extended atomic operations (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Allow scatter to CQE without global signaled WRs (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Verify that driver supports user flags (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Support scatter to CQE for DC transport type (Alaa Hleihel) [1691234] - [include] net/mlx5: Expose DC scatter to CQE capability bit (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Add support for flow tag to raw create flow (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Verify DEVX object type (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add new counter for aRFS rule insertion failures (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add extack messages for TC offload failures (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: E-Switch, Add extack messages to devlink callbacks (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Allow reporting of checksum unnecessary (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable reporting checksum unnecessary also for L3 packets (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Add ethtool control of ring params to VF representors (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable multi-queue and RSS for VF representors (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Expose ethtool rss key size / indirection table functions (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Expose function for building RSS params (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Provide explicit directive if to create inner indirect tirs (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: E-Switch, Provide flow dest when creating vport rx rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Extract creation of rep's default flow rule (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Enable stateless offloads for VF representor netdevs (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Change VF representors' RQ type (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Ethtool steering, Support masks for l3/l4 filters (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Enable DEVX on IB (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Enable DEVX white list commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Manage device uid for DEVX white list commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Expose RAW QP device handles to user space (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set valid umem bit on DEVX (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TD commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of XRCD commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of CQ creation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid upon PD allocation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of RQT commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TIS commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of TIR commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of MCG commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of DCT commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of SRQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of SQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of RQ commands (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Set uid as part of QP creation (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Use uid as part of PD commands (Alaa Hleihel) [1691234] - [include] net/mlx5: Update mlx5_ifc with DEVX UID bits (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of DCT commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of SRQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of SQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of RQ commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of QP commands (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Set uid as part of CQ commands (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Enable vport loopback when user context or QP mandate (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Allow creating RAW ethernet QP with loopback support (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Refactor transport domain bookkeeping logic (Alaa Hleihel) [1691234] - [infiniband] net/mlx5: Rename incorrect naming in IFC file (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Use rdma_user_mmap_io (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Allow creating a matcher for a NIC TX flow table (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add NIC TX namespace when getting a flow table (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add flow actions support to raw create flow (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Refactor raw flow creation (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Don't overwrite action if already set (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Refactor flow action parsing to be more generic (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching packet reformat action to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable reformat on NIC RX if supported (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching DECAP action to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable decap and packet reformat on flow tables (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Enable attaching modify header to steering flows (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add NIC TX steering support (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5e: Replace PTP clock lock from RW lock to seq lock (Alaa Hleihel) [1691234] - [netdrv] net/mlx5e: Move Q counters allocation and drop RQ to init_rx (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add flow counters idr (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Store flow counters in a list (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add new list to store deleted flow counters (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Change flow counters addlist type to single linked list (Alaa Hleihel) [1691234] - [infiniband] RDMA/mlx5: Extend packet reformat verbs (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add new flow action verb - packet reformat (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/uverbs: Add generic function to fill in flow action object (Alaa Hleihel) [1691234 1663215] - [infiniband] RDMA/mlx5: Add a new flow action verb - modify header (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Export packet reformat alloc/dealloc functions (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Pass a namespace for packet reformat ID allocation (Alaa Hleihel) [1691234 1663215] - [include] net/mlx5: Expose new packet reformat capabilities (Alaa Hleihel) [1691234 1663215] - [netdrv] {net, RDMA}/mlx5: Rename encap to reformat packet (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Move header encap type to IFC header file (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Break encap/decap into two separated flow table creation flags (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Add support for more namespaces when allocating modify header (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Export modify header alloc/dealloc functions (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Add proper NIC TX steering flow tables support (Alaa Hleihel) [1691234 1663215] - [netdrv] net/mlx5: Cleanup flow namespace getter switch logic (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Change TX affinity assignment in RoCE LAG mode (Alaa Hleihel) [1691234] - [netdrv] net/mlx5: Add memic command opcode to command checker (Alaa Hleihel) [1691234] - [infiniband] IB/mlx5: Destroy the DEVX object upon error flow (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, Read capabilities only when it is safe (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, fix udp source port value (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Improve argument name for add flow API (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, l4 proto support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering, ip6 support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering flow parsing refactoring (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Ethtool steering flow validation refactoring (Alaa Hleihel) [1691231] - [infiniband] IB/uverbs: Use uverbs_alloc for allocations (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Unexport functions that need not be exported (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Remove unused mlx5_query_vport_admin_state (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: E-Switch, Remove unused argument when creating legacy FDB (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Rename modify/query_vport state related enums (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Mark expected switch fall-throughs (Alaa Hleihel) [1691231] - [netdrv] mellanox: fix the dport endianness in call of __inet6_lookup_established() (Alaa Hleihel) [1691231] - [netdrv] mlx5: handle DMA mapping error case for XDP redirect (Alaa Hleihel) [1691231] - [infiniband] IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Issue direct lookup on vxlan ports by vport representors (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TX, Use function to access sq_dma object in fifo (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TX, Move DB fields in TXQ-SQ struct (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Add support for XDP_REDIRECT in device-out side (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Re-order fields of struct mlx5e_xdpsq (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Refactor XDP counters (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Make XDP xmit functions more generic (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Add counter for XDP redirect in RX (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Enable driver uapi commands for flow steering (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Add support for a flow table destination for driver flow steering (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Support adding flow steering rule by raw description (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Introduce driver create and destroy flow methods (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Introduce flow steering matcher uapi object (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add support for flow table destination number (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add forward compatible support for the FTE match data (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: Support offloading double vlan push/pop tc actions (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5e: Refactor tc vlan push/pop actions offloading (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5e: Support offloading tc double vlan headers match (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5: FW tracer, Add debug prints (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, Enable tracing (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, parse traces and kernel tracing support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, events handling (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, register log buffer memory key (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, create trace buffer and copy strings database (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, implement tracer logic (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Remove set but not used variables (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add XRQ commands definitions (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Add core support for double vlan push/pop steering action (Alaa Hleihel) [1691231 1615127] - [netdrv] net/mlx5: Expose MPEGC (Management PCIe General Configuration) structures (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: FW tracer, add hardware structures (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: fix an unused-function warning (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: IPsec, fix byte count in CQE (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Accel, add common metadata functions (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, build TLS netdev from capabilities (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add software statistics (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add Innova TLS rx data path (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, add innova rx support (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Accel, add TLS rx offload routines (Alaa Hleihel) [1691231] - [netdrv] net/mlx5e: TLS, refactor variable names (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Check that supplied blue flame index doesn't overflow (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Melt consecutive calls to alloc_bfreg() in one call (Alaa Hleihel) [1691231] - [netdrv] net/mlx5: Use 2-factor allocator calls (Alaa Hleihel) [1691231] - [infiniband] RDMA/mlx5: Remove unused port number parameter (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Expose dump and fill memory key (Alaa Hleihel) [1691231] - [include] net/mlx5: Add hardware definitions for dump_fill_mkey (Alaa Hleihel) [1691231] - [infiniband] net/mlx5: Limit scope of dump_fill_mkey function (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Add support for drain SQ & RQ (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Support RoCE ICRC encapsulated error counter (Alaa Hleihel) [1691231 1663195] - [include] net/mlx5: Add RoCE RX ICRC encapsulated counter (Alaa Hleihel) [1691231 1663195] - [infiniband] RDMA/mlx5: Refactor transport domain checks (Alaa Hleihel) [1691231] - [infiniband] IB/mlx5: Expose DEVX tree (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX query EQN support (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX support for memory registration (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add support for DEVX query UAR (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add DEVX support for modify and query commands (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add obj create and destroy functionality (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Add support for DEVX general command (Alaa Hleihel) [1691231 1663190] - [infiniband] IB/mlx5: Introduce DEVX (Alaa Hleihel) [1691231 1663190] - [netdrv] net/mlx5: Expose DEVX specification (Alaa Hleihel) [1691231]- [virt] kvm: arm/arm64: Don't emulate virtual timers on userspace ioctls (Andrew Jones) [1716066] - [virt] kvm: arm/arm64: Remove unused timer variable (Andrew Jones) [1716066] - [virt] kvm: arm/arm64: Rework the timer code to use a timer_map (Andrew Jones) [1716066] - [powerpc] powernv: Fix compile without CONFIG_TRACEPOINTS (David Gibson) [1524674] - [virt] kvm: ppc: book3s: Remove useless checks in 'release' method of KVM device (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Clear escalation interrupt pointers on device close (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Prevent races when releasing device (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Replace the 'destroy' method by a 'release' method (David Gibson) [1524674] - [virt] kvm: Introduce a 'release' method for KVM devices (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Activate XIVE exploitation mode (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add passthrough support (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a mapping for the source ESB pages (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a TIMA mapping (David Gibson) [1524674] - [virt] kvm: Introduce a 'mmap' method for KVM devices (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add get/set accessors for the VP XIVE state (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to dirty the XIVE EQ pages (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to sync the sources (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a global reset control (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add controls for the EQ configuration (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Add a control to configure a source (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: add a control to initialize a source (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: xive: Introduce a new capability KVM_CAP_PPC_IRQ_XIVE (David Gibson) [1524674] - [powerpc] kvm: ppc: book3s hv: Add a new KVM device for the XIVE native exploitation mode (David Gibson) [1524674] - [powerpc] xive: add OPAL extensions for the XIVE native exploitation support (David Gibson) [1524674] - [powerpc] powernv: move OPAL call wrapper tracing and interrupt handling to C (David Gibson) [1524674] - [thermal] thermal/intel_powerclamp: fix truncated kthread name (Lihong Yang) [1716810] - [kernel] kernel/signal.c: trace_signal_deliver when signal_group_exit (Waiman Long) [1548279] - [kernel] signal: unconditionally leave the frozen state in ptrace_stop() (Waiman Long) [1548279] - [kernel] cgroup: never call do_group_exit() with task->frozen bit set (Waiman Long) [1548279] - [kernel] kernel: cgroup: fix misuse of x (Waiman Long) [1548279] - [kernel] cgroup: get rid of cgroup_freezer_frozen_exit() (Waiman Long) [1548279] - [kernel] cgroup: prevent spurious transition into non-frozen state (Waiman Long) [1548279] - [kernel] cgroup: Remove unused cgrp variable (Waiman Long) [1548279] - [documentation] cgroup: document cgroup v2 freezer interface (Waiman Long) [1548279] - [kernel] cgroup: add tracing points for cgroup v2 freezer (Waiman Long) [1548279] - [kernel] cgroup: make TRACE_CGROUP_PATH irq-safe (Waiman Long) [1548279] - [tools] kselftests: cgroup: don't fail on cg_kill_all() error in cg_destroy() (Waiman Long) [1548279] - [kernel] cgroup: cgroup v2 freezer (Waiman Long) [1548279] - [kernel] cgroup: protect cgroup->nr_(dying_)descendants by css_set_lock (Waiman Long) [1548279] - [kernel] cgroup: implement __cgroup_task_count() helper (Waiman Long) [1548279] - [kernel] cgroup: rename freezer.c into legacy_freezer.c (Waiman Long) [1548279] - [kernel] cgroup: remove extra cgroup_migrate_finish() call (Waiman Long) [1548279] - [kernel] cgroup/cpuset: Update stale generate_sched_domains() comments (Waiman Long) [1548279] - [kernel] cgroup: saner refcounting for cgroup_root (Waiman Long) [1548279] - [fs] fix cgroup_do_mount() handling of failure exits (Waiman Long) [1548279] - [kernel] cgroup: Add named hierarchy disabling to cgroup_no_v1 boot param (Waiman Long) [1548279] - [kernel] cgroup: fix parsing empty mount option string (Waiman Long) [1548279] - [kernel] cgroup: fix CSS_TASK_ITER_PROCS (Waiman Long) [1548279] - [kernel] cgroup: Fix dom_cgrp propagation when enabling threaded mode (Waiman Long) [1548279] - [lib] lib: objagg: fix handling of object with 0 users when assembling hints (Ivan Vecera) [1704850] - [lib] test_objagg: Uninitialized variable in error handling (Ivan Vecera) [1704850] - [lib] test_objagg: Test the correct variable (Ivan Vecera) [1704850] - [lib] lib: objagg: Fix an error code in objagg_hints_get() (Ivan Vecera) [1704850] - [lib] lib: objagg: add root count to stats (Ivan Vecera) [1704850] - [lib] lib: objagg: implement optimization hints assembly and use hints for object creation (Ivan Vecera) [1704850] - [lib] lib: objagg: fix typo in objagg_stats_put() docstring (Ivan Vecera) [1704850] - [lib] lib: introduce initial implementation of object aggregation manager (Ivan Vecera) [1704850] - [netdrv] ibmvnic: Fix unchecked return codes of memory allocations (Steve Best) [1718919] - [netdrv] ibmvnic: Refresh device multicast list after reset (Steve Best) [1718919] - [netdrv] ibmvnic: Do not close unopened driver during reset (Steve Best) [1718919] - [target] scsi: target: tcmu: Switch to bitmap_zalloc() (Maurizio Lombardi) [1712917] - [target] scsi: target: tcmu: wait for nl reply only if there are listeners or during an add (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Simplify iscsit_handle_text_cmd() (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Simplify iscsit_dump_data_payload() (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Rename a function and a function pointer (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Fix spelling of "unsolicited" (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Convert comments about locking into runtime checks (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Remove an incorrect comment (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Add target_send_busy() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Inline transport_lun_remove_cmd() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify the LUN RESET implementation (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove several state tests from the TMF code (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove the write_pending_status() callback function (Maurizio Lombardi) [1712917] - [target] scsi: target: make the pi_prot_format ConfigFS path readable (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: fix use after free (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: avoid cmd/qfull timers updated whenever a new cmd comes (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: fix error msg typo when create lio_qr_cache failed (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use kmem_cache_free() instead of kfree() (Maurizio Lombardi) [1712917] - [target] scsi: target: perform t10_wwn ID initialisation in target_alloc_device() (Maurizio Lombardi) [1712917] - [target] scsi: target: remove hardcoded T10 Vendor ID in INQUIRY response (Maurizio Lombardi) [1712917] - [target] scsi: target: add device vendor_id configfs attribute (Maurizio Lombardi) [1712917] - [target] scsi: target: consistently null-terminate t10_wwn strings (Maurizio Lombardi) [1712917] - [target] scsi: target: use consistent left-aligned ASCII INQUIRY data (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Reduce the amount of code executed with a spinlock held (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make ABORT and LUN RESET handling synchronous (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Fix TAS handling for aborted commands (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify the code for aborting SCSI commands (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make it possible to wait from more than one context for command completion (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use system workqueues for TMF (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Make sure that target_wait_for_sess_cmds() waits long enough (Maurizio Lombardi) [1712917] - [target] scsi: target: Fix target_wait_for_sess_cmds breakage with active signals (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Simplify transport_clear_lun_ref() (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use kvcalloc() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: target/tcmu: Fix queue_cmd_ring() declaration (Maurizio Lombardi) [1712917] - [target] scsi: target: replace fabric_ops.name with fabric_alias (Maurizio Lombardi) [1712917] - [target] scsi: target: drop unnecessary get_fabric_name() accessor from fabric_ops (Maurizio Lombardi) [1712917] - [target] scsi: target: drop unused pi_prot_format attribute storage (Maurizio Lombardi) [1712917] - [target] scsi: target: add emulate_pr backstore attr to toggle PR support (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Avoid that a kernel oops is triggered when COMPARE AND WRITE fails (Maurizio Lombardi) [1712917] - [target] scsi: target: Don't request modules that aren't even built (Maurizio Lombardi) [1712917] - [target] scsi: target: Set response length for REPORT TARGET PORT GROUPS (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Always call transport_complete_callback() upon failure (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use sg_alloc_table() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Use the SECTOR_SHIFT constant (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove the SCF_COMPARE_AND_WRITE_POST flag (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Remove an unused data member from struct xcopy_pt_cmd (Maurizio Lombardi) [1712917] - [target] scsi: target/core: Fix spelling in two source code comments (Maurizio Lombardi) [1712917] - [target] scsi: target: stash sess_err_stats on Data-Out timeout (Maurizio Lombardi) [1712917] - [target] scsi: target: split out helper for cxn timeout error stashing (Maurizio Lombardi) [1712917] - [target] scsi: target: log NOP ping timeouts as errors (Maurizio Lombardi) [1712917] - [target] scsi: target: log Data-Out timeouts as errors (Maurizio Lombardi) [1712917] - [include] scsi: target: use ISCSI_IQN_LEN in iscsi_target_stat (Maurizio Lombardi) [1712917] - [target] scsi: target: iblock: split T10 PI SGL across command bios (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: fix spelling mistake "entires" -> "entries" (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: Fix conn_ops double free (Maurizio Lombardi) [1712917] - [target] scsi: iscsi: target: Set conn->sess to NULL when iscsi_login_set_conn_values fails (Maurizio Lombardi) [1712917] - [target] scsi: target: loop, usb, vhost, xen: use target_remove_session (Maurizio Lombardi) [1712917] - [target] scsi: tcm_fc: use target_remove_session (Maurizio Lombardi) [1712917] - [target] scsi: target: make transport_init_session_tags static (Maurizio Lombardi) [1712917] - [target] scsi: iscsi target: have iscsit_start_nopin_timer call __iscsit_start_nopin_timer (Maurizio Lombardi) [1712917] - [target] scsi: target: fix __transport_register_session locking (Maurizio Lombardi) [1712917] - [target] Revert "scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers" (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use u64 for dev_size (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use match_int for dev params (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: do not set max_blocks if data_bitmap has been setup (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: unmap if dev is configured (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: check if dev is configured before block/reset (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: use lio core se_device configuration helper (Maurizio Lombardi) [1712917] - [target] scsi: target: add helper to check if dev is configured (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: initialize list head (Maurizio Lombardi) [1712917] - [target] scsi: target_core_user: fix double unlock (Maurizio Lombardi) [1712917] - [target] scsi: target: Remove se_dev_entry.ua_count (Maurizio Lombardi) [1712917] - [target] scsi: target: Fix handling of removed LUNs (Maurizio Lombardi) [1712917] - [target] scsi: target: Send unit attention condition even if the sense buffer is too small (Maurizio Lombardi) [1712917] - [target] scsi: target: Do not duplicate the code that marks that a command has sense data (Maurizio Lombardi) [1712917] - [target] scsi: target/tcm_loop: Avoid that static checkers warn about dead code (Maurizio Lombardi) [1712917] - [target] scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify the code for waiting for command completion (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify transport_generic_free_cmd() (2/2) (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify transport_generic_free_cmd() (1/2) (Maurizio Lombardi) [1712917] - [target] scsi: target: Fold core_tmr_handle_tas_abort() into transport_cmd_finish_abort() (Maurizio Lombardi) [1712917] - [target] scsi: target: Simplify core_tmr_handle_tas_abort() (Maurizio Lombardi) [1712917] - [target] scsi: target: Document when CMD_T_STOP and CMD_T_COMPLETE are set (Maurizio Lombardi) [1712917] - [target] scsi: target: Make the session shutdown code also wait for commands that are being aborted (Maurizio Lombardi) [1712917] - [target] scsi: target: Introduce transport_init_session() (Maurizio Lombardi) [1712917] - [target] scsi: target: Rename transport_init_session() into transport_alloc_session() (Maurizio Lombardi) [1712917] - [target] scsi: target: Move a list_del_init() statement (Maurizio Lombardi) [1712917] - [target] scsi: target: Avoid that EXTENDED COPY commands trigger lock inversion (Maurizio Lombardi) [1712917] - [target] scsi: target: Use config_item_name() instead of open-coding it (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: Don't pass KERN_ERR to pr_err (Maurizio Lombardi) [1712917] - [target] scsi: target: remove target_find_device (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: add module wide block/reset_netlink support (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: misc nl code cleanup (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: simplify nl interface (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: track nl commands (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: delete unused __wait (Maurizio Lombardi) [1712917] - [target] scsi: tcmu: remove useless code and clean up the code style (Maurizio Lombardi) [1712917]- [ipc] ipc: do cyclic id allocation for the ipc object. (Waiman Long) [1710480] - [ipc] ipc: conserve sequence numbers in ipcmni_extend mode (Waiman Long) [1710480] - [ipc] ipc: allow boot time extension of IPCMNI from 32k to 16M (Waiman Long) [1710480] - [ipc] ipc/mqueue: optimize msg_get() (Waiman Long) [1710480] - [ipc] ipc/mqueue: remove redundant wq task assignment (Waiman Long) [1710480] - [ipc] ipc: prevent lockup on alloc_msg and free_msg (Waiman Long) [1710480] - [ipc] ipc: IPCMNI limit check for semmni (Waiman Long) [1710480] - [ipc] ipc: IPCMNI limit check for msgmni and shmmni (Waiman Long) [1710480] - [ipc] ipc/shm.c: use ERR_CAST() for shm_lock() error return (Waiman Long) [1710480] - [ipc] ipc/shm: properly return EIDRM in shm_lock() (Waiman Long) [1710480] - [ipc] ipc/util.c: update return value of ipc_getref from int to bool (Waiman Long) [1710480] - [ipc] ipc/util.c: further variable name cleanups (Waiman Long) [1710480] - [ipc] ipc: simplify ipc initialization (Waiman Long) [1710480] - [ipc] ipc: get rid of ids->tables_initialized hack (Waiman Long) [1710480] - [lib] lib/rhashtable: guarantee initial hashtable allocation (Waiman Long) [1710480] - [lib] lib/rhashtable: simplify bucket_table_alloc() (Waiman Long) [1710480] - [ipc] ipc: drop ipc_lock() (Waiman Long) [1710480] - [ipc] ipc/util.c: correct comment in ipc_obtain_object_check (Waiman Long) [1710480] - [ipc] ipc: rename ipcctl_pre_down_nolock() (Waiman Long) [1710480] - [ipc] ipc/util.c: use ipc_rcu_putref() for failues in ipc_addid() (Waiman Long) [1710480] - [ipc] ipc: reorganize initialization of kern_ipc_perm.seq (Waiman Long) [1710480] - [ipc] ipc: compute kern_ipc_perm.id under the ipc lock (Waiman Long) [1710480] - [x86] x86/speculation/mds: Improve CPU buffer clear documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Revert CPU buffer clear on double fault exit (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add 'mitigations=' support for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [s390] s390/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [powerpc] powerpc/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [mm] x86/speculation: Support 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kernel] cpu/speculation: Add 'mitigations=' cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Fix documentation typo (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] Documentation: Correct the possible MDS sysfs values (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/mds: Add MDSUM variant to the MDS documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Fix comment (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add SMT warning message (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Move arch_smt_update() call to after mitigation decisions (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Add mds=full,nosmt cmdline option (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] Documentation: Add MDS vulnerability documentation (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] documentation: Move L1TF to separate directory (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add mitigation mode VMWERV (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [base] x86/speculation/mds: Add sysfs reporting for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add mitigation control for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Conditionally clear CPU buffers on idle entry (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kvm] x86/kvm/vmx: Add MDS protection when L1D Flush is not active (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Clear CPU buffers on exit to user (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/mds: Add mds_clear_cpu_buffers() (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [kvm] x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add BUG_MSBDS_ONLY (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation/mds: Add basic bug infrastructure for MDS (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Consolidate CPU whitelists (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [tools] x86/msr-index: Cleanup bit defines (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [documentation] x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [x86] x86/speculation: Cast ~SPEC_CTRL_STIBP atomic value to int (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [tools] tools power x86_energy_perf_policy: Override CFLAGS assignments and add LDFLAGS to build command (Waiman Long) [1713695 1690360 1690351 1690338] {CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 CVE-2019-11091} - [scsi] scsi: qla2xxx: Fix read offset in qla24xx_load_risc_flash() (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Simplify conditional check again (Himanshu Madhani) [1665555] - [scsi] qla2xxx: Update driver version to 10.01.00.15.08.1-k (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Secure flash update support for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add 28xx flash primary/secondary status/image mechanism (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Simplification of register address used in qla_tmpl.c (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Correction and improvement to fwdt processing (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Update flash read/write routine (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add support for multiple fwdump templates/segments (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Cleanups for NVRAM/Flash read/write path (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Correctly report max/min supported speeds (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add Serdes support for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add Device ID for ISP28XX (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Fix routine qla27xx_dump_{mpi|ram}() (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Remove FW default template (Himanshu Madhani) [1665555] - [scsi] scsi: qla2xxx: Add fw_attr and port_no SysFS node (Himanshu Madhani) [1665555] - [netdrv] e1000e: Disable runtime PM on CNP+ (David Arcari) [1659179] - [netdrv] intel: correct return from set features callback (David Arcari) [1659179] - [netdrv] e1000e: Fix -Wformat-truncation warnings (David Arcari) [1659179] - [netdrv] e1000e: fix cyclic resets at link up with active tx (David Arcari) [1659179] - [netdrv] e1000e: fix a missing check for return value (David Arcari) [1659179] - [netdrv] e1000e: Exclude device from suspend direct complete optimization (David Arcari) [1659179] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (David Arcari) [1659179] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (David Arcari) [1659179] - [netdrv] e1000e: extend PTP gettime function to read system clock (David Arcari) [1659179] - [netdrv] e1000e: allow non-monotonic SYSTIM readings (David Arcari) [1659179] - [netdrv] intel-ethernet: use correct module license (David Arcari) [1659179] - [kernel] sched/cpufreq: Fix kobject memleak (Phil Auld) [1714719] - [kernel] sched/core: Check quota and period overflow at usec to nsec conversion (Phil Auld) [1714719] - [kernel] sched/core: Handle overflow in cpu_shares_write_u64 (Phil Auld) [1714719] - [kernel] sched/rt: Check integer overflow at usec to nsec conversion (Phil Auld) [1714719] - [base] arch_topology: Make cpu_capacity sysfs node as read-only (Phil Auld) [1714719] - [x86] sched/x86: Save [ER]FLAGS on context switch (Phil Auld) [1714719] - [kernel] sched/fair: Remove setting task's se->runnable_weight during PELT update (Phil Auld) [1714719] - [kernel] sched/fair: Disable LB_BIAS by default (Phil Auld) [1714719] - [arm64] sched/topology, arch/arm64: Rebuild the sched_domain hierarchy when the CPU capacity changes (Phil Auld) [1714719] - [base] sched/topology, drivers/base/arch_topology: Rebuild the sched_domain hierarchy when capacities change (Phil Auld) [1714719] - [kernel] sched/topology: Add SD_ASYM_CPUCAPACITY flag detection (Phil Auld) [1714719] - [kernel] sched/fair: Fix load_balance redo for !imbalance (Phil Auld) [1714719] - [tools] cpupower : frequency-set -r option misses the last cpu in related cpu list (Steve Best) [1717841] - [kernel] Uprobes: Fix kernel oops with delayed_uprobe_remove() (Gustavo Duarte) [1608798] - [kernel] trace_uprobe/sdt: Prevent multiple reference counter for same uprobe (Gustavo Duarte) [1608798] - [kernel] uprobes/sdt: Prevent multiple reference counter for same uprobe (Gustavo Duarte) [1608798] - [kernel] uprobes: Support SDT markers having reference count (semaphore) (Gustavo Duarte) [1608798] - [kernel] Uprobe: Additional argument arch_uprobe to uprobe_write_opcode() (Gustavo Duarte) [1608798] - [kernel] Uprobes: Simplify uprobe_register() body (Gustavo Duarte) [1608798] - [pci] PCI: Rework pcie_retrain_link() wait loop (Myron Stowe) [1707902] - [pci] PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum (Myron Stowe) [1707902] - [pci] PCI: Factor out pcie_retrain_link() function (Myron Stowe) [1707902] - [tools] selftests/powerpc: Fix strncpy usage (Diego Domingos) [1662372] - [tools] selftests: Fix test errors related to lib.mk khdr target (Diego Domingos) [1662372] - [nvme] nvme-fc: use separate work queue to avoid warning (Ewan Milne) [1715135] - [scsi] scsi: scsi_transport_fc: nvme: display FC-NVMe port roles (Ewan Milne) [1715135] - [nvme] nvme-fc: correct csn initialization and increments on error (Ewan Milne) [1715135] - [nvme] nvme-multipath: avoid crash on invalid subsystem cntlid enumeration (Ewan Milne) [1715135] - [nvme] nvme-multipath: don't print ANA group state by default (Ewan Milne) [1715135] - [nvme] nvme-multipath: split bios with the ns_head bio_set before submitting (Ewan Milne) [1715135] - [nvme] nvme-multipath: relax ANA state check (Ewan Milne) [1715135] - [drm] drm/i915: Bump gen7+ fb size limits to 16kx16k (Lyude Paul) [1664969] - [drm] drm/i915: Bump fb stride limit to 128KiB for gen4+ and 256KiB for gen7+ (Lyude Paul) [1664969] - [drm] drm/i915: Align dumb buffer stride to 4k to allow for gtt remapping (Lyude Paul) [1664969] - [drm] drm/i915: Overcome display engine stride limits via GTT remapping (Lyude Paul) [1664969] - [drm] drm/i915: Shuffle stride checking code around (Lyude Paul) [1664969] - [drm] drm/i915/selftests: Add live vma selftest (Lyude Paul) [1664969] - [drm] drm/i915/selftests: Add mock selftest for remapped vmas (Lyude Paul) [1664969] - [drm] drm/i915: Add a new "remapped" gtt_view (Lyude Paul) [1664969] - [md] dax: Arrange for dax_supported check to span multiple devices (Jeff Moyer) [1665364] - [mm] mm/memory_hotplug.c: drop memory device reference after find_memory_block() (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Retain security state after overwrite (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/pmem: fix a possible OOB access when read and write pmem (Jeff Moyer) [1665367 1665364 1665362] - [acpi] libnvdimm/security, acpi/nfit: unify zero-key for all security commands (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/security: provide fix for secure-erase to use zero-key (Jeff Moyer) [1665367 1665364 1665362 1584976] - [mm] mm/memory.c: fix modifying of page protection by insert_pfn() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Fix a kmemdup failure check (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/namespace: Fix a potential NULL pointer dereference (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Always dump _DSM output payload (Jeff Moyer) [1665367 1665364 1665362] - [fs] fs/dax: Deposit pagetable even when installing zero page (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/namespace: Clean up holder_class_store() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/of_pmem: Fix platform_no_drv_owner.cocci warnings (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Update NFIT flags error message (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Fix LBA masking during 'free list' population (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/btt: Remove unnecessary code in btt_freelist_init (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pfn: Remove dax_label_reserve (Jeff Moyer) [1665367 1665364 1665362] - [drivers] dax: Check the end of the block-device capacity with dax_direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Avoid stale ARS results (Jeff Moyer) [1697175 1665367 1665364 1665362] - [acpi] nfit/ars: Allow root to busy-poll the ARS state machine (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Introduce scrub_flags (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Remove ars_start_flags (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Attempt short-ARS even in the no_init_ars case (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot (Jeff Moyer) [1697194 1665367 1665364 1665362] - [fs] fs/dax: NIT fix comment regarding start/end vs range (Jeff Moyer) [1665367 1665364 1665362] - [fs] fs/dax: Convert to use vmf_error() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Require opt-in for read-only label configurations (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pmem: Honor force_raw for legacy pmem regions (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/pfn: Account for PAGE_SIZE > info-block-size in nd_pfn_init() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: Fix altmap reservation size calculation (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pfn: Fix over-trim in trim_pfn_device() (Jeff Moyer) [1665367 1665364 1665362 1662227] - [nvdimm] libnvdimm/dimm: Add a no-BLK quirk based on NVDIMM family (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: Add Hyper-V NVDIMM DSM command set to white list (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: acpi_nfit_ctl(): Check out_obj->type in the right place (Jeff Moyer) [1665367 1665364 1665362] - [acpi] nfit: Fix nfit_intel_shutdown_status() command submission (Jeff Moyer) [1665367 1665364 1665362 1662217] - [nvdimm] libnvdimm/security: Require nvdimm_security_setup_events() to succeed (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] nfit_test: fix security state pull for nvdimm security nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/security: Fix nvdimm_security_state() state request selection (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm/label: Clear 'updating' flag after label-set update (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Remove duplicate set nd_set in acpi_nfit_init_interleave_set() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Fix race accessing memdev in nfit_get_smbios_id() (Jeff Moyer) [1665367 1665364 1665362] - [include] libnvdimm/dimm: Fix security capability detection for non-Intel NVDIMMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] nfit: Mark some functions as __maybe_unused (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] ACPI/nfit: delete the function to_acpi_nfit_desc (Jeff Moyer) [1665367 1665364 1665362] - [acpi] ACPI/nfit: delete the redundant header file (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: add MEMORY_DEVICE_PRIVATE support (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] mm, devm_memremap_pages: fix shutdown handling (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: kill mapping "System RAM" support (Jeff Moyer) [1665367 1665364 1665362] - [kernel] mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm/security: Quiet security operations (Jeff Moyer) [1665367 1665364 1665362 1584976] - [documentation] libnvdimm/security: Add documentation for nvdimm security support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: add Intel DSM 1.8 support for nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: Add overwrite support for nfit_test (Jeff Moyer) [1665367 1665364 1665362 1584976] - [tools] tools/testing/nvdimm: Add test support for Intel nvdimm security DSMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm/security: add Intel DSM 1.8 master passphrase support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm/security: Add security DSM overwrite support (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add support for issue secure erase DSM to Intel nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add enable/update passphrase support for Intel nvdimms (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add disable passphrase support to Intel nvdimm. (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] acpi/nfit, libnvdimm: Add freeze security support to Intel nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] acpi/nfit, libnvdimm: Introduce nvdimm_security_ops (Jeff Moyer) [1665367 1665364 1665362 1584976] - [security] keys-encrypted: add nvdimm key format type to encrypted keys (Jeff Moyer) [1665367 1665364 1665362 1584976] - [security] keys: Export lookup_user_key to external users (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] acpi/nfit, libnvdimm: Store dimm id as a member to struct nvdimm (Jeff Moyer) [1665367 1665364 1665362 1584976] - [nvdimm] libnvdimm, namespace: Replace kmemdup() with kstrndup() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, label: Switch to bitmap_zalloc() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] ACPI/nfit: Adjust annotation for why return 0 if fail to find NFIT at start (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, bus: Check id immediately following ida_simple_get (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: Fix user-initiated ARS to be "ARS-long" rather than "ARS-short" (Jeff Moyer) [1665367 1665364 1665362 1662224 1641487] - [nvdimm] libnvdimm, pfn: Pad pfn namespaces relative to other regions (Jeff Moyer) [1665367 1665364 1665362 1662227] - [tools] tools/testing/nvdimm: Align test resources to 128M (Jeff Moyer) [1665367 1665364 1665362 1662227] - [acpi] acpi/nfit: Add support for Intel DSM 1.8 commands (Jeff Moyer) [1665367 1665364 1665362 1584976] - [acpi] Revert "acpi, nfit: Further restrict userspace ARS start requests" (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Fix ARS overflow continuation (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Fix the array size for dimm devices. (Jeff Moyer) [1665367 1665364 1665362 1658918] - [mm] mm: Fix warning in insert_pfn() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Further restrict userspace ARS start requests (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi, nfit: Fix Address Range Scrub completion tracking (Jeff Moyer) [1665367 1665364 1665362 1662224 1641487] - [tools] tools/testing/nvdimm: Populate dirty shutdown data (Jeff Moyer) [1665367 1665364 1665362 1662217] - [acpi] acpi, nfit: Collect shutdown status (Jeff Moyer) [1665367 1665364 1665362 1662217] - [acpi] acpi, nfit: Introduce nfit_mem flags (Jeff Moyer) [1665367 1665364 1665362 1662217] - [nvdimm] libnvdimm, label: Fix sparse warning (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, namespace: Drop the repeat assignment for variable dev->parent (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, region: Fail badblocks listing for inactive regions (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pfn: during init, clear errors in the metadata area (Jeff Moyer) [1665367 1665364 1665362 1641565] - [nvdimm] libnvdimm: Set device node in nd_device_register (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: Hold reference on parent while scheduling async init (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm: remove duplicate include (Jeff Moyer) [1665367 1665364 1665362] - [fs] filesystem-dax: Fix use of zero page (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pmem: Restore page attributes when clearing errors (Jeff Moyer) [1665367 1665364 1665362] - [drivers] device-dax: avoid hang on error before devm_memremap_pages() (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: improve emulation of smart injection (Jeff Moyer) [1685043 1665367 1665364 1665362] - [fs] filesystem-dax: Do not request kaddr and pfn when not required (Jeff Moyer) [1665367 1665364 1665362] - [drivers] dax/super: Do not request a pointer kaddr when not required (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: kaddr and pfn can be NULL to ->direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [nvdimm] libnvdimm, pmem: kaddr and pfn can be NULL to ->direct_access() (Jeff Moyer) [1665367 1665364 1665362] - [acpi] acpi/nfit: queue issuing of ars when an uc error notification comes in (Jeff Moyer) [1665367 1665364 1665362 1641487] - [kernel] mm, dev_pagemap: Do not clear ->mapping on final put (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Fix support for emulating controller temperature (Jeff Moyer) [1665367 1665364 1665362] - [tools] tools/testing/nvdimm: Make DSM failure code injection an override (Jeff Moyer) [1665367 1665364 1665362 1658918] - [acpi] acpi, nfit: Prefer _DSM over _LSR for namespace label reads (Jeff Moyer) [1665367 1665364 1665362 1658918] - [nvdimm] libnvdimm: Introduce locked DIMM capacity support (Jeff Moyer) [1665367 1665364 1665362 1658918] - [drm] drm/nouveau: fix duplication of nv50_head_atom struct (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/core: initial support for boards with TU117 chipset (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/core: allow detected chipset to be overridden (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/nv50-: fix bug preventing non-vsync'd page flips (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/kms/gv100-: fix spurious window immediate interlocks (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/nouveau: forward error generated while resuming objects tree (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/nouveau/i2c: Disable i2c bus access after ->fini() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add WaDisableBankHangMode (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/fbc: disable framebuffer compression on GeminiLake (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix setting 10 bit deep color mode (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add missing combo PHY lane power setup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Factor out combo PHY lane power setup helper (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Corrupt DSI picture fix for GeminiLake (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix clockgating issue when using scalers (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Suppress spurious combo PHY B warning (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Disable read only ppgtt support for gen11 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use Engine1 instance for gen11 pm interrupts (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Disable video turbo mode for rp control (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable media sampler powergate (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: introduce REG_BIT() and REG_GENMASK() to define register contents (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1664615 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Apply a recommended rc6 threshold (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use dedicated rc6 enabling sequence for gen11 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Don't warn on spurious interrupts (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Handle rps interrupts without irq lock (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sure we have enough memory bandwidth on ICL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sandybridge_pcode_read() deal with the second data register (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix ONLY icl+ max plane width (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix MG_DP_MODE() register programming (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Really calculate the cursor ddb based on the highest enabled wm level (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Inline skl_update_pipe_wm() into its only caller (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Don't pass pipe_wm around so much (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Move some variables to tighter scope (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Keep plane watermarks enabled more aggressively (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make sure cursor has enough ddb for the selected wm level (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Allocate enough DDB for the cursor (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract skl_compute_wm_params() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Don't pass plane state to skl_compute_plane_wm() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Accept alloc_size == blocks (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/cml: Introduce Comet Lake PCH (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/cml: Add CML PCI IDS (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix PSR2 selective update corruption after PSR1 setup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off the CUS when turning off a HDR plane (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix legacy gamma mode for ICL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Refactor icl_is_hdr_plane (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] drm/i915: Add new ICL PCI ID (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Fix CRC mismatch error for DP link layer compliance (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Prevent incorrect DBuf enabling (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Read out memory type (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract DIMM info on cnl+ (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Clean up intel_get_dram_info() a bit (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i914: s/l_info/dimm_l/ etc. (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Generalize intel_is_dram_symmetric() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Use dram_dimm_info more (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract DIMM info on GLK too (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix DRAM size reporting for BXT (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract BXT DIMM helpers (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Polish skl_is_16gb_dimm() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Extract functions to derive SKL+ DIMM info (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Store DIMM rank information as a number (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Default to Thread Group preemption for compute workloads (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Fix the state checker for ICL Y planes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: move MG pll hw_state readout (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Finalize Wa_1408961008:icl (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Call MG_DP_MODE() macro with the right parameters order (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Drop redundant gamma mode mask (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Implement new w/a for underruns with wm1+ disabled (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Include "ignore lines" in skl+ wm state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make MG PHY macros semantically consistent (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Make combo PHY DDI macro definitions consistent for ICL and CNL (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add degamma and gamma lut size to gen11 caps (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable pipe output csc (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Enable ICL Pipe CSC block (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/icl: Add icl pipe degamma and gamma support (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/glk: Fix degamma lut programming (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Dump skl+ watermark changes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Update DSPCNTR gamma/csc bits during crtc_enable() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Disable pipe gamma when C8 pixel format is used (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off pipe CSC when it's not needed (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Turn off pipe gamma when it's not needed (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Track pipe csc enable in crtc state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Track pipe gamma enable/disable in crtc state (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915: Populate gamma_mode for all platforms (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: Main backport to rebase from 4.18 to 5.1 (Lyude Paul) [1713573 1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] {CVE-2019-11085} - [include] list: Backport list_is_first() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] lib/scatterlist: Provide a DMA page iterator (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [acpi] ACPI / PMIC: Add support for executing PMIC MIPI sequence elements (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] vfio: add edid api for display (vgpu) devices. (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [mm] mm: don't miss the last page because of round-off error (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [base] PM-runtime: Add new interface to get accounted time (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: move i915_kick_out_vgacon to vgaarb (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [scripts] tracing: Avoid calling cc-option -mrecord-mcount for every Makefile (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/fb_helper: Allow leaking fbdev smem_start (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/fb: Stop leaking physical address (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [video] fbdev: Add FBINFO_HIDE_SMEM_START flag (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] vt: Remove vc_panic_force_write (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] fbdev: Drop FBINFO_CAN_FORCE_OUTPUT flag (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [video] fbdev: fix kerneldoc (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] fbdev: add remove_conflicting_pci_framebuffers() (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [media] media: cec-notifier: Get notifier by device and connector name (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [base] driver core: Add device_link_remove function (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] include: Move ascii85 functions from i915 to linux/ascii85.h (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [mm] mm, drm/i915: mark pinned shmemfs pages as unevictable (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] list: introduce list_bulk_move_tail helper (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [fs] sysfs: constify sysfs create/remove files harder (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm/i915/selftests: Remove unused dmabuf->kmap routines, fix the build (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] dma-buf: remove kmap_atomic interface (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [include] include/linux/bitops.h: introduce BITS_PER_TYPE (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] dma_buf: remove device parameter from attach callback v2 (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [pci] PCI: Export pcie_get_speed_cap and pcie_get_width_cap (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [drm] drm: Add support for pps and compression mode command packet (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking/mutex: Fix mutex debug call and ww_mutex documentation (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking: Implement an algorithm choice for Wound-Wait mutexes (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286] - [kernel] locking: WW mutex cleanup (Lyude Paul) [1707312 1688524 1685552 1685427 1665631 1665088 1664615 1664609 1664189 1664177 1664175 1664104 1662017 1660302 1643842 1640840 1639990 1639436 1637606 1633845 1633843 1633842 1504286]- [netdrv] igb: Fix WARN_ONCE on runtime suspend (Corinna Vinschen) [1659168] - [netdrv] igb: use struct_size() helper (Corinna Vinschen) [1659168] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Corinna Vinschen) [1659168] - [netdrv] igb: Bump version number (Corinna Vinschen) [1659168] - [netdrv] Revert "igb: reduce CPU0 latency when updating statistics" (Corinna Vinschen) [1659168] - [netdrv] igb: Fix an issue that PME is not enabled during runtime suspend (Corinna Vinschen) [1659168] - [netdrv] igb: Change RXPBSIZE size when setting Qav mode (Corinna Vinschen) [1659168] - [netdrv] igb: reduce CPU0 latency when updating statistics (Corinna Vinschen) [1659168] - [netdrv] igb: fix uninitialized variables (Corinna Vinschen) [1659168] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Corinna Vinschen) [1659168] - [netdrv] igb: Fix format with line continuation whitespace (Corinna Vinschen) [1659168] - [netdrv] igb: extend PTP gettime function to read system clock (Corinna Vinschen) [1659168] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Corinna Vinschen) [1659168] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Corinna Vinschen) [1659168] - [netdrv] igb: remove ndo_poll_controller (Corinna Vinschen) [1659168] - [netdrv] intel-ethernet: use correct module license (Corinna Vinschen) [1659168] - [netdrv] igb: Replace mdelay() with msleep() in igb_integrated_phy_loopback() (Corinna Vinschen) [1659168] - [netdrv] igb: Replace GFP_ATOMIC with GFP_KERNEL in igb_sw_init() (Corinna Vinschen) [1659168] - [netdrv] igb: Use an advanced ctx descriptor for launchtime (Corinna Vinschen) [1659168] - [netdrv] igb: e1000_phy: Mark expected switch fall-through (Corinna Vinschen) [1659168] - [netdrv] igb: e1000_82575: Mark expected switch fall-through (Corinna Vinschen) [1659168] - [netdrv] igb_main: Mark expected switch fall-throughs (Corinna Vinschen) [1659168] - [netdrv] igb: Use dma_wmb() instead of wmb() before doorbell writes (Corinna Vinschen) [1659168] - [netdrv] igb: Add support for ETF offload (Corinna Vinschen) [1659168] - [netdrv] igb: Only call skb_tx_timestamp after descriptors are ready (Corinna Vinschen) [1659168] - [netdrv] igb: Refactor igb_offload_cbs() (Corinna Vinschen) [1659168] - [netdrv] igb: Only change Tx arbitration when CBS is on (Corinna Vinschen) [1659168] - [netdrv] igb: Refactor igb_configure_cbs() (Corinna Vinschen) [1659168] - [fs] Revert "[fs] ext4: protect journal inode's blocks using block_validity" (Lukas Czerner) [1716549] - [fs] xfs: don't trip over uninitialized buffer on extent read of corrupted inode (Bill O'Donnell) [1715942] - [fs] xfs: always init bma in xfs_bmapi_write (Bill O'Donnell) [1715942] - [lib] rhashtable: Still do rehash when we get EEXIST (Vladis Dronov) [1712457] - [fs] vmcore: Add a kernel parameter novmcoredd (Kairui Song) [1705864] - [powerpc] powerpc/eeh: Correct retries in eeh_pe_reset_full() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Improve recovery of passed-through devices (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Add include_passed to eeh_clear_pe_frozen_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Add include_passed to eeh_pe_state_clear() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: remove sw_state from eeh_unfreeze_pe() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_pe_clear_frozen_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup control flow in eeh_handle_normal_event() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_ops.wait_state() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_pe_state_mark() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup unnecessary eeh_pe_state_mark_with_cfg() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_enabled() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup logic in eeh_rmv_from_parent_pe() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup field names in eeh_rmv_data (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup list_head field names (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup eeh_add_virt_device() (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup unused field in eeh_dev (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Cleanup EEH_POSTPONED_PROBE (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Avoid misleading message "EEH: no capable adapters found" (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix use of EEH_PE_KEEP on wrong field (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix null deref for devices removed during EEH (Sam Bobroff) [1352405] - [powerpc] powerpc/eeh: Fix possible null deref in eeh_dump_dev_log() (Sam Bobroff) [1352405] - [edac] x86/MCE/AMD, EDAC/mce_amd: Add new error descriptions for some SMCA bank types (Janakarajan Natarajan) [1688469] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new McaTypes for CS, PSP, and SMU units (Janakarajan Natarajan) [1688469] - [x86] x86/MCE/AMD, EDAC/mce_amd: Add new MP5, NBIO, and PCIE SMCA bank types (Janakarajan Natarajan) [1688469] - [scsi] megaraid_sas: remove tech preview from Aero series (Tomas Henzl) [1668409] - [scsi] megaraid_sas: sync with mainline (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: fix spelling mistake "oustanding" -> "outstanding" (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Make megasas_host_device_list_query() static (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: reduce module load time (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove a bunch of set but not used variables (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: return error when create DMA pool failed (Tomas Henzl) [1668409] {CVE-2019-11810} - [scsi] scsi: megaraid_sas: driver version update (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Update structures for HOST_DEVICE_LIST DCMD (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add support for DEVICE_LIST DCMD in driver (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rework device add code in AEN path (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rework code to get PD and LD list (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: correct an info message (Tomas Henzl) [1668409] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Tomas Henzl) [1668409] - [scsi] scsi: megaraid: fix out-of-bound array accesses (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: changes to function prototypes (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: NULL check before some freeing functions is not needed (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas_fusion: Mark expected switch fall-through (Tomas Henzl) [1668409] - [scsi] scsi: megaraid: megaraid_sas_base: Mark expected switch fall-through (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: modify max supported lds related print (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: remove unused macro (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: increase timeout for IOC INIT to 180seconds (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove double endian conversion (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Re-use max_mfi_cmds to calculate queue sizes (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Rename scratch_pad registers (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Remove spin lock for dpc operation (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: optimize raid context access in IO path (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fail init if heartbeat timer fails (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: For SRIOV, do not set STOP_ADP bit (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix combined reply queue mode detection (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix module parameter description (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix goto labels in error handling (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Update copyright information (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add check for reset adapter bit (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Fix msleep granularity (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add support for FW snap dump (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: Add watchdog thread to detect Firmware fault (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: switch to generic DMA API (Tomas Henzl) [1668409] - [scsi] scsi: megaraid_sas: fix a missing-check bug (Tomas Henzl) [1668409] - [kernel] get_maintainer.pl: Add default .get_maintainer.conf file for RHEL (Prarit Bhargava) [1714630] - [scripts] get_maintainer: allow option --mpath to read all files in (Prarit Bhargava) [1714630] - [scripts] get_maintainer.pl: add -mpath= for MAINTAINERS file location (Prarit Bhargava) [1714630] - [scripts] get_maintainer: allow usage outside of kernel tree (Prarit Bhargava) [1714630] - [scripts] Revert "[scripts] get_maintainer.pl: Add optional .get_maintainer.MAINTAINERS override" (Prarit Bhargava) [1714630] - [include] signal: Make siginmask safe when passed a signal of 0 (Waiman Long) [1714351] - [fs] signal: Don't send signals to tasks that don't exist (Waiman Long) [1714351] - [kernel] signal: Restore the stop PTRACE_EVENT_EXIT (Waiman Long) [1714351] - [kernel] signal: Better detection of synchronous signals (Waiman Long) [1714351] - [kernel] signal: Always notice exiting tasks (Waiman Long) [1714351] - [kernel] signal: Always attempt to allocate siginfo for SIGSTOP (Waiman Long) [1714351] - [kernel] signal: Guard against negative signal numbers in copy_siginfo_from_user32 (Waiman Long) [1714351] - [kernel] signal: Guard against negative signal numbers in copy_siginfo_from_user (Waiman Long) [1714351] - [kernel] signal: In sigqueueinfo prefer sig not si_signo (Waiman Long) [1714351] - [include] signal: Use a smaller struct siginfo in the kernel (Waiman Long) [1714351] - [include] signal: Distinguish between kernel_siginfo and siginfo (Waiman Long) [1714351] - [kernel] signal: Introduce copy_siginfo_from_user and use it's return value (Waiman Long) [1714351] - [arm64] signal: Remove the need for __ARCH_SI_PREABLE_SIZE and SI_PAD_SIZE (Waiman Long) [1714351] - [kernel] signal: Fail sigqueueinfo if si_signo != sig (Waiman Long) [1714351] - [kernel] signal/sparc: Move EMT_TAGOVF into the generic siginfo.h (Waiman Long) [1714351] - [mm] signal/arm: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Use send_sig_fault where appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_ptrace_errno_trap (Waiman Long) [1714351] - [arm64] signal/arm64: In ptrace_hbptriggered name the signal description string (Waiman Long) [1714351] - [arm64] signal/arm64: Remove arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_mceerr as appropriate (Waiman Long) [1714351] - [arm64] signal/arm64: Add and use arm64_force_sig_fault where appropriate (Waiman Long) [1714351] - [mm] signal/arm64: Only call set_thread_esr once in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Only perform one esr_to_fault_info call in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Expand __do_user_fault and remove it (Waiman Long) [1714351] - [mm] signal/arm64: For clarity separate the 3 signal sending cases in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Consolidate the two hwpoison cases in do_page_fault (Waiman Long) [1714351] - [mm] signal/arm64: Factor set_thread_esr out of __do_user_fault (Waiman Long) [1714351] - [arm64] signal/arm64: Factor out arm64_show_signal from arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Remove unneeded tsk parameter from arm64_force_sig_info (Waiman Long) [1714351] - [arm64] signal/arm64: Push siginfo generation into arm64_notify_die (Waiman Long) [1714351] - [powerpc] signal/powerpc: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [powerpc] signal/powerpc: Simplify _exception_pkey by using force_sig_pkuerr (Waiman Long) [1714351] - [powerpc] signal/powerpc: Specialize _exception_pkey for handling pkey exceptions (Waiman Long) [1714351] - [powerpc] signal/powerpc: Call force_sig_fault from _exception (Waiman Long) [1714351] - [powerpc] signal/powerpc: Factor the common exception code into exception_common (Waiman Long) [1714351] - [powerpc] powerpc/traps: Print unhandled signals in a separate function (Waiman Long) [1714351] - [mm] signal/powerpc: Remove pkey parameter from __bad_area_nosemaphore (Waiman Long) [1714351] - [mm] signal/powerpc: Call _exception_pkey directly from bad_key_fault_exception (Waiman Long) [1714351] - [mm] signal/powerpc: Remove pkey parameter from __bad_area (Waiman Long) [1714351] - [mm] signal/powerpc: Use force_sig_mceerr as appropriate (Waiman Long) [1714351] - [x86] signal/x86: Use force_sig_fault where appropriate (Waiman Long) [1714351] - [mm] signal/x86: Pass pkey by value (Waiman Long) [1714351] - [mm] signal/x86: Replace force_sig_info_fault with force_sig_fault (Waiman Long) [1714351] - [mm] signal/x86: Call force_sig_pkuerr from __bad_area_nosemaphore (Waiman Long) [1714351] - [mm] signal/x86: Pass pkey not vma into __bad_area (Waiman Long) [1714351] - [mm] signal/x86: Don't compute pkey in __do_page_fault (Waiman Long) [1714351] - [mm] signal/x86: Remove pkey parameter from mm_fault_error (Waiman Long) [1714351] - [mm] signal/x86: Remove the pkey parameter from do_sigbus (Waiman Long) [1714351] - [mm] signal/x86: Remove pkey parameter from bad_area_nosemaphore (Waiman Long) [1714351] - [x86] signal/x86/traps: Simplify trap generation (Waiman Long) [1714351] - [x86] signal/x86/traps: Use force_sig instead of open coding it. (Waiman Long) [1714351] - [x86] signal/x86/traps: Use force_sig_bnderr (Waiman Long) [1714351] - [x86] signal/x86/traps: Move more code into do_trap_no_signal so it can be reused (Waiman Long) [1714351] - [x86] signal/x86/traps: Factor out show_signal (Waiman Long) [1714351] - [x86] signal/x86: Move mpx siginfo generation into do_bounds (Waiman Long) [1714351] - [x86] signal/x86: In trace_mpx_bounds_register_exception add __user annotations (Waiman Long) [1714351] - [mm] signal/x86: Move MCE error reporting out of force_sig_info_fault (Waiman Long) [1714351] - [x86] signal/x86: Inline fill_sigtrap_info in it's only caller send_sigtrap (Waiman Long) [1714351] - [powerpc] signal: Simplify tracehook_report_syscall_exit (Waiman Long) [1714351] - [kernel] signal: Pair exports with their functions (Waiman Long) [1714351] - [kernel] signal: Remove specific_send_sig_info (Waiman Long) [1714351] - [kernel] signal: Use group_send_sig_info to kill all processes in a pid namespace (Waiman Long) [1714351] - [tty] tty_io: Use group_send_sig_info in __do_SACK to note it is a session being killed (Waiman Long) [1714351] - [misc] signal/GenWQE: Fix sending of SIGKILL (Waiman Long) [1714351] - [include] signal: Remove SEND_SIG_FORCED (Waiman Long) [1714351] - [kernel] signal: Use SEND_SIG_PRIV not SEND_SIG_FORCED with SIGKILL and SIGSTOP (Waiman Long) [1714351] - [kernel] signal: Never allocate siginfo for SIGKILL or SIGSTOP (Waiman Long) [1714351] - [usb] signal: Don't send siginfo to kthreads. (Waiman Long) [1714351] - [usb] signal: Remove the siginfo paramater from kernel_dqueue_signal (Waiman Long) [1714351] - [tty] signal: send_sig_all no longer needs SEND_SIG_FORCED (Waiman Long) [1714351] - [kernel] signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init (Waiman Long) [1714351] - [x86] signal: Properly deliver SIGSEGV from x86 uprobes (Waiman Long) [1714351] - [kernel] signal: Properly deliver SIGILL from uprobes (Waiman Long) [1714351] - [kernel] signal: Always ignore SIGKILL and SIGSTOP sent to the global init (Waiman Long) [1714351] - [iommu] mm: convert return type of handle_mm_fault() caller to vm_fault_t (Waiman Long) [1714351] - [kernel] signal: make get_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make sigkill_pending() return bool (Waiman Long) [1714351] - [kernel] signal: make legacy_queue() return bool (Waiman Long) [1714351] - [kernel] signal: make wants_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make flush_sigqueue_mask() void (Waiman Long) [1714351] - [kernel] signal: make unhandled_signal() return bool (Waiman Long) [1714351] - [kernel] signal: make recalc_sigpending_tsk() return bool (Waiman Long) [1714351] - [kernel] signal: make has_pending_signals() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_task_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make sig_handler_ignored() return bool (Waiman Long) [1714351] - [kernel] signal: make kill_ok_by_cred() return bool (Waiman Long) [1714351] - [kernel] signal: simplify rt_sigaction() (Waiman Long) [1714351] - [kernel] signal: make do_sigpending() void (Waiman Long) [1714351] - [kernel] signal: make may_ptrace_stop() return bool (Waiman Long) [1714351] - [kernel] signal: make kill_as_cred_perm() return bool (Waiman Long) [1714351] - [kernel] signal: make force_sigsegv() void (Waiman Long) [1714351] - [kernel] signal: Don't restart fork when signals come in. (Waiman Long) [1714351] - [kernel] fork: Have new threads join on-going signal group stops (Waiman Long) [1714351] - [include] fork: Skip setting TIF_SIGPENDING in ptrace_init_task (Waiman Long) [1714351] - [kernel] signal: Add calculate_sigpending() (Waiman Long) [1714351] - [kernel] fork: Unconditionally exit if a fatal signal is pending (Waiman Long) [1714351] - [kernel] fork: Move and describe why the code examines PIDNS_ADDING (Waiman Long) [1714351] - [kernel] signal: Push pid type down into complete_signal. (Waiman Long) [1714351] - [kernel] signal: Push pid type down into __send_signal (Waiman Long) [1714351] - [kernel] signal: Push pid type down into send_signal (Waiman Long) [1714351] - [tty] signal: Pass pid type into do_send_sig_info (Waiman Long) [1714351] - [fs] signal: Pass pid type into send_sigio_to_task & send_sigurg_to_task (Waiman Long) [1714351] - [kernel] signal: Pass pid type into group_send_sig_info (Waiman Long) [1714351] - [kernel] signal: Pass pid and pid type into send_sigqueue (Waiman Long) [1714351] - [kernel] posix-timers: Noralize good_sigevent (Waiman Long) [1714351] - [fs] signal: Use PIDTYPE_TGID to clearly store where file signals will be sent (Waiman Long) [1714351] - [kernel] pid: Implement PIDTYPE_TGID (Waiman Long) [1714351] - [include] pids: Move the pgrp and session pid pointers from task_struct to signal_struct (Waiman Long) [1714351] - [fs] pids: Compute task_tgid using signal->leader_pid (Waiman Long) [1714351] - [kernel] pids: Move task_pid_type into sched/signal.h (Waiman Long) [1714351] - [init] pids: Initialize leader_pid in init_task (Waiman Long) [1714351]- [s390] s390: enable processes for mio instructions (Philipp Rudo) [1651734] - [s390] s390/pci: add parameter to disable usage of MIO instructions (Philipp Rudo) [1651734] - [s390] s390/pci: provide support for MIO instructions (Philipp Rudo) [1651734] - [s390] s390/pci: improve bar check (Philipp Rudo) [1651734] - [s390] s390/ism: move oddities of device IO to wrapper function (Philipp Rudo) [1651734] - [s390] s390/pci: move io address mapping code to pci_insn.c (Philipp Rudo) [1651734] - [s390] s390/pci: add parameter to force floating irqs (Philipp Rudo) [1651735] - [s390] s390/pci: gather statistics for floating vs directed irqs (Philipp Rudo) [1651735] - [s390] s390: show statistics for MSI IRQs (Philipp Rudo) [1651735] - [s390] s390/pci: provide support for CPU directed interrupts (Philipp Rudo) [1651735] - [s390] s390/airq: provide cacheline aligned ivs (Philipp Rudo) [1651735] - [s390] s390/pci: clarify interrupt vector usage (Philipp Rudo) [1651735] - [s390] s390/airq: recognize directed interrupts (Philipp Rudo) [1651735] - [s390] s390/sclp: detect DIRQ facility (Philipp Rudo) [1651735] - [s390] s390/pci: move everything irq related to pci_irq.c (Philipp Rudo) [1651735] - [s390] s390/pci: remove stale rc (Philipp Rudo) [1651735] - [s390] s390/pci: remove unused define (Philipp Rudo) [1651735] - [s390] s390/pci: mark command line parser data __initdata (Philipp Rudo) [1651735] - [cpufreq] cpufreq: intel_pstate: Ignore turbo active ratio in HWP (David Arcari) [1711970] - [scsi] mpt3sas: remove tech preview from Aero series (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix indentation issue (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Update mpt3sas driver version to 28.100.00.00 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Improve the threshold value and introduce module param (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Load balance to improve performance and avoid soft lockups (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Irq poll to avoid CPU hard lockups (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: simplify interrupt handler (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix typo in request_desript_type (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add missing breaks in switch statements (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Update driver version to 27.102.00.00 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add support for ATLAS PCIe switch (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Add support for NVMe Switch Adapter (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Rename mpi endpoint device ID macro. (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: mpt3sas_scsih: Mark expected switch fall-through (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix memory ordering on 64bit writes (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: fix spelling mistake "manufaucturing" -> "manufacturing" (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix driver modifying persistent data in Manufacturing page11 (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Don't modify EEDPTagMode field setting on SAS3.5 HBA devices (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Fix Sync cache command failure during driver unload (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Call sas_remove_host before removing the target devices (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Refactor mpt3sas_wait_for_ioc function (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Separate out mpt3sas_wait_for_ioc (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: Added new #define variable IOC_OPERATIONAL_WAIT_COUNT (Tomas Henzl) [1684444] - [scsi] scsi: mpt3sas: switch to generic DMA API (Tomas Henzl) [1684444] - [tools] perf tools beauty ioctl: Support new ISO7816 commands (Michael Petlan) [1709243] - [tools] perf tools: Restore proper cwd on return from mnt namespace (Michael Petlan) [1709243] - [tools] perf tools: Fix crash on synthesizing the unit (Michael Petlan) [1709243] - [tools] perf tools: Do not zero sample_id_all for group members (Michael Petlan) [1709243] - [tools] perf beauty: Use SRCARCH, ARCH=x86_64 must map to "x86" to find the headers (Michael Petlan) [1709243] - [tools] perf intel-pt: Add MTC and CYC timestamps to debug log (Michael Petlan) [1709243] - [tools] perf intel-pt: Add more event information to debug log (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Fix table find when table re-ordered (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add help window (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add Selected branches report (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Fall back to /usr/local/lib/libxed.so (Michael Petlan) [1709243] - [tools] perf top: Display the LBR stats in callchain entry (Michael Petlan) [1709243] - [tools] perf stat: Handle different PMU names with common prefix (Michael Petlan) [1709243] - [tools] perf record: Support weak groups (Michael Petlan) [1709243] - [tools] perf evlist: Move perf_evsel__reset_weak_group into evlist (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Start collecting pathnames in the BPF program (Michael Petlan) [1709243] - [tools] perf trace: Fix setting of augmented payload when using eBPF + raw_syscalls (Michael Petlan) [1709243] - [tools] perf trace: When augmenting raw_syscalls plug raw_syscalls:sys_exit too (Michael Petlan) [1709243] - [tools] perf examples bpf: Start augmenting raw_syscalls:sys_{start,exit} (Michael Petlan) [1709243] - [tools] perf intel-pt/bts: Calculate cpumode for synthesized samples (Michael Petlan) [1709243] - [tools] perf intel-pt: Insert callchain context into synthesized callchains (Michael Petlan) [1709243] - [tools] perf top: Start display thread earlier (Michael Petlan) [1709243] - [tools] perf trace beauty: Use the mmap flags table generated from headers (Michael Petlan) [1709243] - [tools] perf beauty: Wire up the mmap flags table generator to the Makefile (Michael Petlan) [1709243] - [tools] perf beauty: Add a generator for MAP_ mmap's flag constants (Michael Petlan) [1709243] - [tools] perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc} (Michael Petlan) [1709243] - [tools] perf cs-etm: Correct CPU mode for samples (Michael Petlan) [1709243] - [tools] perf unwind: Take pgoff into account when reporting elf to libdwfl (Michael Petlan) [1709243] - [tools] perf top: Do not use overwrite mode by default (Michael Petlan) [1709243] - [tools] perf trace: Beautify mount's first pathname arg (Michael Petlan) [1709243] - [tools] perf trace: Beautify the umount's 'name' argument (Michael Petlan) [1709243] - [tools] perf trace: Consider syscall aliases too (Michael Petlan) [1709243] - [tools] perf trace beauty: Beautify mount/umount's 'flags' argument (Michael Petlan) [1709243] - [tools] perf trace beauty: Allow syscalls to mask an argument before considering it (Michael Petlan) [1709243] - [tools] perf beauty: Introduce strarray__scnprintf_flags() (Michael Petlan) [1709243] - [tools] perf beauty: Switch from GPL v2.0 to LGPL v2.1 (Michael Petlan) [1709243] - [tools] perf beauty: Add a generator for MS_ mount/umount's flag constants (Michael Petlan) [1709243] - [tools] tools include uapi: Grab a copy of linux/fs.h (Michael Petlan) [1709243] - [tools] perf script: Support total cycles count (Michael Petlan) [1709243] - [tools] perf script: Make itrace script default to all calls (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add All branches report (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to display all the database tables (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to shrink / enlarge font (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add ability to find symbols in the call-graph (Michael Petlan) [1709243] - [tools] perf scripts python: exported-sql-viewer.py: Add support for multiple sub-windows (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Rename to exported-sql-viewer.py (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Refactor TreeItem class (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Add data helper functions (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Factor out CallGraphModel from TreeModel (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Remove use of setObjectName() (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Add a class for global data (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Separate the database details into a class (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Make a "Main" function (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Change icon (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Set a minimum window size (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Provide better default column sizes (Michael Petlan) [1709243] - [tools] perf scripts python: call-graph-from-sql.py: Use SPDX license identifier (Michael Petlan) [1709243] - [tools] perf trace: Introduce per-event maximum number of events property (Michael Petlan) [1709243] - [tools] perf script: Flush output stream after events in verbose mode (Michael Petlan) [1709243] - [tools] perf script: Allow extended console debug output (Michael Petlan) [1709243] - [tools] perf stat: Poll for monitored tasks being alive (Michael Petlan) [1709243] - [tools] perf trace: Drop thread refcount in trace__event_handler() (Michael Petlan) [1709243] - [tools] perf trace: Drop addr_location refcounts (Michael Petlan) [1709243] - [tools] perf evsel: Mark a evsel as disabled when asking the kernel do disable it (Michael Petlan) [1709243] - [tools] perf evsel: Introduce per event max_events property (Michael Petlan) [1709243] - [tools] tools lib subcmd: Introduce OPTION_ULONG (Michael Petlan) [1709243] - [tools] perf arm64: Fix generate system call table failed with /tmp mounted with noexec (Michael Petlan) [1709243] - [tools] perf symbols: Set PLT entry/header sizes properly on Sparc (Michael Petlan) [1709243] - [tools] perf jitdump: Add Sparc support. (Michael Petlan) [1709243] - [tools] perf annotate: Add Sparc support (Michael Petlan) [1709243] - [tools] perf record: Encode -k clockid frequency into Perf trace (Michael Petlan) [1709243] - [tools] perf probe: Support SDT markers having reference counter (semaphore) (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file (Michael Petlan) [1709243] - [tools] tools lib traceevent: Separate out tep_strerror() for strerror_r() issues (Michael Petlan) [1709243] - [tools] perf python: More portable way to make CFLAGS work with clang (Michael Petlan) [1709243] - [tools] perf python: Make clang_has_option() work on Python 3 (Michael Petlan) [1709243] - [tools] perf tools: Free temporary 'sys' string in read_event_files() (Michael Petlan) [1709243] - [tools] perf tools: Avoid double free in read_event_file() (Michael Petlan) [1709243] - [tools] perf tools: Free 'printk' string in parse_ftrace_printk() (Michael Petlan) [1709243] - [tools] perf tools: Cleanup trace-event-info 'tdata' leak (Michael Petlan) [1709243] - [tools] perf strbuf: Match va_{add,copy} with va_end (Michael Petlan) [1709243] - [tools] perf test: S390 does not support watchpoints in test 22 (Michael Petlan) [1709243] - [tools] perf auxtrace: Include missing asm/bitsperlong.h to get BITS_PER_LONG (Michael Petlan) [1709243] - [tools] tools include: Adopt linux/bits.h (Michael Petlan) [1709243] - [tools] perf intel-pt: Implement decoder flags for trace begin / end (Michael Petlan) [1709243] - [tools] perf intel-pt: Add decoder flags for trace begin / end (Michael Petlan) [1709243] - [tools] perf tools: Improve thread_stack__process() for trace begin / end (Michael Petlan) [1709243] - [tools] perf tools: Improve thread_stack__event() for trace begin / end (Michael Petlan) [1709243] - [tools] perf db-export: Add trace begin / end branch type variants (Michael Petlan) [1709243] - [tools] perf script: Enhance sample flags for trace begin / end (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enum filter_trivial_type (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename data2host*() APIs (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename struct plugin_list to struct tep_plugin_list (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to structs filter_type and event_filter (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to various structs filter_arg_*. (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to struct filter_{arg,value_type} (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enums filter_{exp,arg}_type (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix tep_ to enums filter_{boolean,op,cmp}_type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename enum print_arg_type to enum tep_print_arg_type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Add prefix tep_ to all print_* structures (Michael Petlan) [1709243] - [tools] tools lib traceevent: Add prefix TEP_ to all EVENT_FL_* flags (Michael Petlan) [1709243] - [tools] tools lib traceevent: Rename enum event_{sort_}type to enum tep_event_{sort_}type (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename enum format_flags to enum tep_format_flags (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename struct format{_field} to struct tep_format{_field} (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Rename struct event_format to struct tep_event_format (Michael Petlan) [1709243] - [tools] perf script: Print DSO for callindent (Michael Petlan) [1709243] - [tools] perf script: Allow sym and dso without ip, addr (Michael Petlan) [1709243] - [tools] tools lib subcmd: Support overwriting the pager (Michael Petlan) [1709243] - [tools] perf tools: Report itrace options in help (Michael Petlan) [1709243] - [tools] perf help: Add missing subcommand `version` (Michael Petlan) [1709243] - [tools] perf tools: Initialize perf_data_file fd field (Michael Petlan) [1709243] - [tools] perf util: Make copyfile_offset() global (Michael Petlan) [1709243] - [tools] perf tools: Add 'struct perf_mmap' arg to record__write() (Michael Petlan) [1709243] - [tools] perf auxtrace: Pass struct perf_mmap into mmap__read* functions (Michael Petlan) [1709243] - [tools] perf tools: Remove perf_tool from event_op3 (Michael Petlan) [1709243] - [tools] perf tools: Remove perf_tool from event_op2 (Michael Petlan) [1709243] - [tools] perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code (Michael Petlan) [1709243] - [tools] tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header (Michael Petlan) [1709243] - [tools] perf ordered_events: Prevent crossing max_alloc_size (Michael Petlan) [1709243] - [tools] perf ordered_events: Add 'struct ordered_events_buffer' layer (Michael Petlan) [1709243] - [tools] perf test: Add watchpoint test (Michael Petlan) [1709243] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh without ping's debuginfo (Michael Petlan) [1709243] - [tools] perf map: Turn some pr_warning() to pr_debug() (Michael Petlan) [1709243] - [tools] perf trace: Use the raw_syscalls:sys_enter for the augmented syscalls (Michael Petlan) [1709243] - [tools] perf trace: Setup augmented_args in the raw_syscalls:sys_enter handler (Michael Petlan) [1709243] - [tools] perf trace: Introduce syscall__augmented_args() method (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Avoid optimization to pass older BPF validators (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Check probe_read_str() return separately (Michael Petlan) [1709243] - [tools] perf annotate: Handle arm64 move instructions (Michael Petlan) [1709243] - [tools] perf trace beauty: Alias 'umount' to 'umount2' (Michael Petlan) [1709243] - [tools] perf stat: Move the display functions to stat-display.c (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_events' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'walltime_*' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Propagate 'struct target' arg to sort_aggr_thread() (Michael Petlan) [1709243] - [tools] perf stat: Move 'no_merge' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'big_num' data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Do not use the global 'evsel_list' in print functions (Michael Petlan) [1709243] - [tools] perf stat: Move *_aggr_* data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move ru_* data to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'print_mixed_hw_group_error' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'print_free_counters_hint' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'null_run' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Add 'walltime_nsecs_stats' pointer to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Pass 'evlist' to aggr_update_shadow() (Michael Petlan) [1709243] - [tools] perf stat: Pass 'struct perf_stat_config' to first_shadow_cpu() (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_only_len' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'run_count' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use 'evsel->evlist' instead of 'evsel_list' in collect_all_aliases() (Michael Petlan) [1709243] - [tools] perf stat: Pass 'evlist' argument to print functions (Michael Petlan) [1709243] - [tools] perf stat: Add 'target' argument to perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move 'unit_width' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'metric_only' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'interval_clear' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move csv_* to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Pass a 'struct perf_stat_config' argument to global print functions (Michael Petlan) [1709243] - [tools] perf stat: Pass 'struct perf_stat_config' argument to local print functions (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_stat_config' argument to perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move STAT_RECORD out of perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Introduce perf_evlist__print_counters() (Michael Petlan) [1709243] - [tools] perf stat: Move perf_stat_synthesize_config() to stat.c (Michael Petlan) [1709243] - [tools] perf stat: Add 'perf_event__handler_t' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_evlist' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_tool' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Add 'struct perf_stat_config' argument to perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Rename 'is_pipe' argument to 'attrs' in perf_stat_synthesize_config() (Michael Petlan) [1709243] - [tools] perf stat: Move create_perf_stat_counter() to stat.c (Michael Petlan) [1709243] - [tools] perf evsel: Introduce perf_evsel__store_ids() (Michael Petlan) [1709243] - [tools] perf tools: Switch 'session' argument to 'evlist' in perf_event__synthesize_attrs() (Michael Petlan) [1709243] - [tools] perf stat: Add 'identifier' flag to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use local config arg for scale in create_perf_stat_counter() (Michael Petlan) [1709243] - [tools] perf stat: Move 'no_inherit' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Move 'initial_delay' to 'struct perf_stat_config' (Michael Petlan) [1709243] - [tools] perf stat: Use evsel->threads in create_perf_stat_counter() (Michael Petlan) [1709243] - [tools] perf trace: Show comm and tid for tracepoint events (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Hook into syscalls:sys_exit_SYSCALL too (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Rename augmented_*_syscall__enter to just *_syscall (Michael Petlan) [1709243] - [tools] perf augmented_syscalls: Update the header comments (Michael Petlan) [1709243] - [tools] perf bpf: Add syscall_exit() helper (Michael Petlan) [1709243] - [tools] tools lib traceevent, perf tools: Split trace-seq related APIs in a separate header file (Michael Petlan) [1709243] - [tools] perf report: Create auxiliary trace data files for s390 (Michael Petlan) [1709243] - [tools] perf trace beauty: Reorganize 'struct sockaddr *' beautifier (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment sendto's 'addr' arg (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment bind's 'myaddr' sockaddr arg (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Add augmented_sockaddr_syscall_enter() (Michael Petlan) [1709243] - [tools] perf trace augmented_syscalls: Augment connect's 'sockaddr' arg (Michael Petlan) [1709243] - [tools] perf bpf: Add linux/socket.h to the headers accessible to bpf proggies (Michael Petlan) [1709243] - [tools] perf bpf: Give precedence to bpf header dir (Michael Petlan) [1709243] - [tools] perf trace: Add a etcsnoop.c augmented syscalls eBPF utility (Michael Petlan) [1709243] - [tools] perf trace: Augment 'newstat' (aka 'stat') filename ptr (Michael Petlan) [1709243] - [tools] perf trace: Introduce augmented_filename_syscall_enter() declarator (Michael Petlan) [1709243] - [tools] perf trace: Augment inotify_add_watch pathname syscall arg (Michael Petlan) [1709243] - [tools] perf trace: Augment the 'open' syscall 'filename' arg (Michael Petlan) [1709243] - [tools] perf trace: Use the augmented filename, expanding syscall enter pointers (Michael Petlan) [1709243] - [tools] perf trace: Show comm/tid for augmented_syscalls (Michael Petlan) [1709243] - [tools] perf trace: Extract the comm/tid printing for syscall enter (Michael Petlan) [1709243] - [tools] perf trace: Print the syscall name for augmented_syscalls (Michael Petlan) [1709243] - [tools] perf trace: Make the augmented_syscalls filter out the tracepoint event (Michael Petlan) [1709243] - [tools] perf trace: Pass augmented args to the arg formatters when available (Michael Petlan) [1709243] - [x86] perf/x86/intel: Disallow precise_ip on BTS events (Michael Petlan) [1709243] - [x86] perf/x86/intel: Add generic branch tracing check to intel_pmu_has_bts() (Michael Petlan) [1709243] - [x86] perf/x86/intel: Move branch tracing setup to the Intel-specific source file (Michael Petlan) [1709243] - [x86] perf/x86/intel: Fix regression by default disabling perfmon v4 interrupt handling (Michael Petlan) [1709243] - [x86] perf/x86/intel/uncore: Support CoffeeLake 8th CBOX (Michael Petlan) [1709243] - [x86] perf/x86/intel/uncore: Add more IMC PCI IDs for KabyLake and CoffeeLake CPUs (Michael Petlan) [1709243] - [tools] perf tools: Don't clone maps from parent when synthesizing forks (Michael Petlan) [1709243] - [tools] perf top: Allow disabling the overwrite mode (Michael Petlan) [1709243] - [kernel] perf/core: Clean up inconsisent indentation (Michael Petlan) [1709243] - [tools] perf script: Implement --graph-function (Michael Petlan) [1709243] - [tools] tools script: Add --call-trace and --call-ret-trace (Michael Petlan) [1709243] - [tools] perf script: Add --insn-trace for instruction decoding (Michael Petlan) [1709243] - [tools] perf trace: Introduce --max-events (Michael Petlan) [1709243] - [x86] perf/x86/intel: Add quirk for Goldmont Plus (Michael Petlan) [1709243] - [kernel] perf: Suppress AUX/OVERWRITE records (Michael Petlan) [1709243] - [x86] perf/x86/intel/pt: Annotate 'pt_cap_group' with __ro_after_init (Michael Petlan) [1709243] - [x86] perf/x86: Add __ro_after_init annotations (Michael Petlan) [1709243] - [x86] x86/mm/mem_encrypt: Disable all instrumentation for early SME setup (Janakarajan Natarajan) [1679265] - [fs] cifs: fix copy_file_range to allow write on the same file (Leif Sahlberg) [1689100] - [infiniband] Revert "[infiniband] IB/usnic: Remove stub functions" (Jonathan Toppins) [1713753] - [x86] Update stepping values for Whiskey Lake U/Y (David Arcari) [1704801] - [powerpc] powerpc/perf: Trace imc PMU functions (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Trace imc events detection and cpuhotplug (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Declare static identifier a such (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Add privileged access check for thread_imc (Jiri Olsa) [1608796] - [powerpc] powerpc/perf: Rearrange setting of ldbar for thread-imc (Jiri Olsa) [1608796] - [powerpc] powerpc/include: Add data structures and macros for IMC trace mode (Jiri Olsa) [1608796] - [scsi] hpsa: correct-static-checker-issue-in-reset-handler (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: update driver version (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct device resets (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: do-not-complete-cmds-for-deleted-devices (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: wait longer for ptraid commands (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: check for tag collision (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: use local workqueues instead of system workqueues (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct simple mode (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: bump driver version (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: correct device id issues (Joseph Szczypek) [1713772] - [scsi] scsi: hpsa: check for lv removal (Joseph Szczypek) [1713772] - [mm] mm, slub: restore the original intention of prefetch_freepointer() (Rafael Aquini) [1714671] - [fs] Revert "add KABI padding to dentry structure" (Waiman Long) [1714253] - [crypto] crypto: drbg - add FIPS 140-2 CTRNG for noise source (Herbert Xu) [1687905] - [infiniband] RDMA/qedr: Fix incorrect device rate. (Manish Chopra) [1713580] - [scsi] scsi: bnx2fc: remove unneeded variable (Nilesh Javali) [1665308] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Nilesh Javali) [1665308] - [char] ipmi:ssif: compare block number correctly for multi-part return messages (Tony Camuso) [1712159] - [kernel] kernel/sysctl.c: define minmax conv functions in terms of non-minmax versions (Alex Gladkov) [1683922] - [kernel] kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv (Alex Gladkov) [1683922] - [tools] tools/testing/selftests/sysctl/sysctl.sh: add tests for >32-bit values written to 32-bit integers (Alex Gladkov) [1683922] - [kernel] sched/nohz: Run NOHZ idle load balancer on HK_FLAG_MISC CPUs (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] nohz_full: Allow the boot CPU to be nohz_full (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/isolation: Require a present CPU in housekeeping mask (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] kernel/cpu: Allow non-zero CPU to be primary for suspend / kexec freeze (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] power/suspend: Add function to disable secondaries for suspend (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/core: Allow the remote scheduler tick to be started on CPU0 (Desnes Augusto Nunes do Rosario) [1666614] - [kernel] sched/fair: Use non-atomic cpumask_{set,clear}_cpu() (Desnes Augusto Nunes do Rosario) [1666614] - [lib] lib: reciprocal_div: implement the improved algorithm on the paper mentioned (Petr Oros) [1706982] - [kernel] kernel/sysctl.c: fix proc_do_large_bitmap for large input buffers (Eric Sandeen) [1667092] - [kernel] tools/testing/selftests/sysctl/sysctl.sh: add proc_do_large_bitmap() test case (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: allow graceful use on older kernels (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: ignore diff output on verify_diff_w() (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: load module before testing for it (Eric Sandeen) [1667092] - [tools] tools/testing/selftests/sysctl/sysctl.sh: remove superfluous test_reqs() (Eric Sandeen) [1667092] - [kernel] kernel/sysctl.c: fix out-of-bounds access when setting file-max (Eric Sandeen) [1694160] - [kernel] sysctl: handle overflow for file-max (Eric Sandeen) [1694160] - [kernel] sysctl: handle overflow in proc_get_long (Eric Sandeen) [1694160] - [s390] kvm: s390: Fix potential spectre warnings (Thomas Huth) [1702344] - [powerpc] mm: move warning from resize_hpt_for_hotplug() (Laurent Vivier) [1660737] - [powerpc] pseries: Use pr_xxx() in lpar.c (Laurent Vivier) [1660737] - [infiniband] RDMA/iw_cxgb4: Always disconnect when QP is transitioning to TERMINATE state (Arjun Vynipadath) [1664673] - [infiniband] cxgb4: kfree mhp after the debug print (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxbg: Use correct sizing on buffers holding page DMA addresses (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Make function read_tcb() static (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Remove kref accounting for sync operation (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: cq/qp mask depends on bar2 pages in a host page (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: fix srqidx leak during connection abort (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: complete the cached SRQ buffers (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Remove a set-but-not-used variable (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use tos when finding ipv6 routes (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use tos when importing the endpoint (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: use listening ep tos when accepting new connections (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb*: kzalloc the iwcm verbs struct (Arjun Vynipadath) [1664673] - [infiniband] RDMA/iw_cxgb4: Drop __GFP_NOFAIL (Arjun Vynipadath) [1664673] - [infiniband] infiniband: cxgb4: no need to check return value of debugfs_create functions (Arjun Vynipadath) [1664673] - [infiniband] RDMA/iw_cxgb4: Fix the unchecked ep dereference (Arjun Vynipadath) [1664673] - [infiniband] RDMA: Introduce and use rdma_device_to_ibdev() (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Check for send WR also while posting write with completion WR (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: only reconnect with MPAv1 if the peer aborts (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Use proper enumerated type in c4iw_bar2_addrs (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: remove redundant null pointer check before kfree_skb (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Remove pci_unmap_addr() wrappers for DMA API (Arjun Vynipadath) [1664673] - [infiniband] iw_cxgb4: Declare ib_post_send() and ib_post_recv() arguments const (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Simplify a structure initialization (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Fix SRQ endianness annotations (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Add support for kernel mode SRQ's (Arjun Vynipadath) [1664673] - [infiniband] rdma/cxgb4: Add support for srq functions & structs (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Restore the dropped uninitialized_var (Arjun Vynipadath) [1664673] - [infiniband] RDMA/cxgb4: Make c4iw_poll_cq_one() easier to analyze (Arjun Vynipadath) [1664673] - [fs] gfs2: clean_journal improperly set sd_log_flush_head (Robert S Peterson) [1693660]- [netdrv] bonding/802.3ad: fix slave link initialization transition states (Jarod Wilson) [1714387] - [iommu] iommu/vt-d: Disable ATS support on untrusted devices (Jerry Snitselaar) [1649210 1692246] - [documentation] thunderbolt: Export IOMMU based DMA protection support to userspace (Jerry Snitselaar) [1649210 1692246] - [iommu] iommu/vt-d: Do not enable ATS for untrusted devices (Jerry Snitselaar) [1649210 1692246] - [iommu] iommu/vt-d: Force IOMMU on for platform opt in hint (Jerry Snitselaar) [1649210 1692246] - [arm64] arm64: makefile fix build of .i file in external module case (Jerome Marchand) [1713052] - [s390] s390/protvirt: block kernel command line alteration (Philipp Rudo) [1651711] - [s390] s390/protvirt: add memory sharing for diag 308 set/store (Philipp Rudo) [1651711] - [s390] s390/uv: introduce guest side ultravisor code (Philipp Rudo) [1651711] - [netdrv] net: aquantia: fix undefined devm_hwmon_device_register_with_info reference (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Make aq_ndev_driver_name static (Igor Russkikh) [1706905] - [netdrv] net: aquantia: remove outdated device ids (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixups on 64bit dma counters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: get total counters from DMA block (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fetch up to date statistics on ethtool request (Igor Russkikh) [1706905] - [netdrv] net: aquantia: extract timer cb into work job (Igor Russkikh) [1706905] - [netdrv] net: aquantia: introduce fwreq mutex (Igor Russkikh) [1706905] - [netdrv] net: aquantia: user correct MSI irq type (Igor Russkikh) [1706905] - [netdrv] net: aquantia: use macros for better visibility (Igor Russkikh) [1706905] - [netdrv] net: aquantia: improve ifup link detection (Igor Russkikh) [1706905] - [netdrv] net: aquantia: link status irq handling (Igor Russkikh) [1706905] - [netdrv] net: aquantia: create global service workqueue (Igor Russkikh) [1706905] - [netdrv] net: aquantia: link interrupt handling function (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add link interrupt fields (Igor Russkikh) [1706905] - [netdrv] net: aquantia: implement hwmon api for chip temperature (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add infrastructure to readout chip temperature (Igor Russkikh) [1706905] - [netdrv] net: aquantia: enable driver build for arm64 or compile_test (Igor Russkikh) [1706905] - [netdrv] net: aquantia: improve LRO configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Increase rx ring default size from 1K to 2K (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Make RX default frame size 2K (Igor Russkikh) [1706905] - [netdrv] net: aquantia: Introduce rx refill threshold value (Igor Russkikh) [1706905] - [netdrv] net: aquantia: optimize rx performance by page reuse strategy (Igor Russkikh) [1706905] - [netdrv] net: aquantia: optimize rx path using larger preallocated skb len (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 (Igor Russkikh) [1706905] - [netdrv] net: aquantia: use better wrappers for state registers (Igor Russkikh) [1706905] - [netdrv] net: aquantia: replace AQ_HW_WAIT_FOR with readx_poll_timeout_atomic (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed instack structure overflow (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed buffer overflow (Igor Russkikh) [1706905] - [netdrv] net: aquantia: added newline at end of file (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed memcpy size (Igor Russkikh) [1706905] - [netdrv] net: aquantia: regression on cpus with high cores: set mode with 8 queues (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of RSS configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix initialization of RSS table (Igor Russkikh) [1706905] - [netdrv] net: aquantia: increase max number of hw queues (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix RSS table and key sizes (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix rx checksum offload bits (Igor Russkikh) [1706905] - [netdrv] net: aquantia: return 'err' if set MPI_DEINIT state fails (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix spelling mistake "specfield" -> "specified" (Igor Russkikh) [1706905] - [netdrv] net: aquantia: cleanup err handing in hw_atl_utils_fw_rpc_wait (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of rx-vlan-filter offload (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add ethertype and PCP to rx flow filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add vlan id to rx flow filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add support of L3/L4 ntuple filters (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add infrastructure for ntuple rules (Igor Russkikh) [1706905] - [netdrv] net: aquantia: add rx-flow filter definitions (Igor Russkikh) [1706905] - [netdrv] net: aquantia: allow rx checksum offload configuration (Igor Russkikh) [1706905] - [netdrv] net: aquantia: invalid checksumm offload implementation (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fixed enable unicast on 32 macvlan (Igor Russkikh) [1706905] - [netdrv] net: aquantia: fix potential IOMMU fault after driver unbind (Igor Russkikh) [1706905] - [netdrv] net: aquantia: synchronized flow control between mac/phy (Igor Russkikh) [1706905] - [netdrv] net: aquantia: make function aq_fw2x_update_stats static (Igor Russkikh) [1706905] - [netdrv] net: aquantia: remove some redundant variable initializations (Igor Russkikh) [1706905] - [netdrv] bnxt_en: Add device IDs 0x1806 and 0x1752 for 57500 devices. (Selvin Xavier) [1672208] - [scsi] scsi: fnic: Remove set but not used variable 'vdev' (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: no need to check return value of debugfs_create functions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Update fnic driver version to 1.6.0.47 (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Enable fnic devcmd2 interface (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Adding devcmd2 init and posting interfaces (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Add devcmd2 initialization helpers (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic devcmd2 controller definitions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic devcmd2 interface definitions (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Impose upper limit on max. # of CQs processed per intr (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: RQ enable and then post descriptors (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: delaying vnic dev enable till after req intr (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Warn when calling done for IO not issued to fw (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: fnic stats for max CQs processed and ISR time (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Add port speed stat to fnic debug stats (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: use fnic_lock to guard fnic->state_flags (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: vnic_rq_clean change BUG_ON to WARN_ON (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: change fnic queue depth to 256 (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: support to display 20G port speed (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: Use vzalloc (Govindarajulu Varadarajan) [1656236] - [scsi] scsi: fnic: switch to generic DMA API (Govindarajulu Varadarajan) [1656236] - [pci] PCI/PME: Fix possible use-after-free on remove (Myron Stowe) [1701834] - [pci] PCI/PME: Fix hotplug/sysfs remove deadlock in pcie_pme_remove() (Myron Stowe) [1701834] - [pci] PCI: Blacklist power management of Gigabyte X299 DESIGNARE EX PCIe ports (Myron Stowe) [1701834] - [tools] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel (Michael Petlan) [1709242] - [rpmspec] perf: remove bpf examples (Michael Petlan) [1709242] - [tools] perf tools: Stop fallbacking to kallsyms for vdso symbols lookup (Michael Petlan) [1709242] - [tools] perf report: Don't crash on invalid inline debug information (Michael Petlan) [1709242] - [tools] perf cpu_map: Align cpu map synthesized events properly. (Michael Petlan) [1709242] - [tools] perf tools: Fix tracing_path_mount proper path (Michael Petlan) [1709242] - [tools] perf evsel: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus (Michael Petlan) [1709242] - [tools] perf vendor events intel: Fix wrong filter_band* values for uncore events (Michael Petlan) [1709242] - [tools] Revert "perf tools: Fix PMU term format max value calculation" (Michael Petlan) [1709242] - [tools] tools headers uapi: Sync kvm.h copy (Michael Petlan) [1709242] - [tools] perf record: Use unmapped IP for inline callchain cursors (Michael Petlan) [1709242] - [tools] perf python: Use -Wno-redundant-decls to build with PYTHON=python3 (Michael Petlan) [1709242] - [tools] perf report: Don't try to map ip to invalid map (Michael Petlan) [1709242] - [tools] perf script python: Fix export-to-sqlite.py sample columns (Michael Petlan) [1709242] - [tools] perf script python: Fix export-to-postgresql.py occasional failure (Michael Petlan) [1709242] - [tools] perf Documentation: Fix out-of-tree asciidoctor man page generation (Michael Petlan) [1709242] - [tools] perf tools: Fix maps__find_symbol_by_name() (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/if_link.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/vhost.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copies of kvm headers (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of drm/drm.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of asm-generic/unistd.h (Michael Petlan) [1709242] - [tools] tools headers uapi: Update tools's copy of linux/perf_event.h (Michael Petlan) [1709242] - [tools] perf annotate: Fix parsing aarch64 branch instructions after objdump update (Michael Petlan) [1709242] - [tools] perf probe powerpc: Ignore SyS symbols irrespective of endianness (Michael Petlan) [1709242] - [tools] perf event-parse: Use fixed size string for comms (Michael Petlan) [1709242] - [tools] perf util: Fix bad memory access in trace info. (Michael Petlan) [1709242] - [tools] perf tools: Streamline bpf examples and headers installation (Michael Petlan) [1709242] - [tools] perf evsel: Fix potential null pointer dereference in perf_evsel__new_idx() (Michael Petlan) [1709242] - [tools] perf arm64: Fix include path for asm-generic/unistd.h (Michael Petlan) [1709242] - [tools] perf tests: Add breakpoint modify tests (Michael Petlan) [1709242] - [tools] perf annotate: Properly interpret indirect call (Michael Petlan) [1709242] - [tools] tools/lib/lockdep: Add dummy task_struct state member (Michael Petlan) [1709242] - [tools] tools/lib/lockdep: Add empty nmi.h (Michael Petlan) [1709242] - [tools] tools lib traceevent: Change to SPDX License format (Michael Petlan) [1709242] - [tools] perf llvm: Allow passing options to llc in addition to clang (Michael Petlan) [1709242] - [tools] perf parser: Improve error message for PMU address filters (Michael Petlan) [1709242] - [tools] perf tools: Disable parallelism for 'make clean' (Michael Petlan) [1709242] - [tools] perf auxtrace: Fix queue resize (Michael Petlan) [1709242] - [tools] perf python: Remove -mcet and -fcf-protection when building with clang (Michael Petlan) [1709242] - [tools] perf arm spe: Fix uninitialized record error variable (Michael Petlan) [1709242] - [tools] perf tools: Move syscall_64.tbl check into check-headers.sh (Michael Petlan) [1709242] - [tools] perf tools: Make check-headers.sh check based on kernel dir (Michael Petlan) [1709242] - [tools] perf tools: Fix check-headers.sh AND list path of execution (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename static variables and functions in event-parse.c (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename various pevent APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename internal parser related APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename various pevent get/set/is APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_find_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent field APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_data_ APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_register / unregister APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_filter* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename traceevent_plugin_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent: Rename pevent_function* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, tools lib lockdep: Rename 'enum pevent_errno' to 'enum tep_errno' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename 'enum pevent_flag' to 'enum tep_flag' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename traceevent_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_set_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_register_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent_read_number_* APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent print APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent parse APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent find APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent alloc / free APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename pevent plugin related APIs (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename 'struct pevent_record' to 'struct tep_record' (Michael Petlan) [1709242] - [tools] tools lib traceevent, perf tools: Rename struct pevent to struct tep_handle (Michael Petlan) [1709242] - [tools] perf probe powerpc: Fix trace event post-processing (Michael Petlan) [1709242] - [tools] perf map: Optimize maps__fixup_overlappings() (Michael Petlan) [1709242] - [tools] perf map: Synthesize maps only for thread group leader (Michael Petlan) [1709242] - [tools] perf trace: Wire up the augmented syscalls with the syscalls:sys_enter_FOO beautifier (Michael Petlan) [1709242] - [tools] perf trace: Setup the augmented syscalls bpf-output event fields (Michael Petlan) [1709242] - [tools] perf bpf: Make bpf__setup_output_event() return the bpf-output event (Michael Petlan) [1709242] - [tools] perf trace: Handle "bpf-output" events associated with "__augmented_syscalls__" BPF map (Michael Petlan) [1709242] - [tools] perf bpf: Add wrappers to BPF_FUNC_probe_read(_str) functions (Michael Petlan) [1709242] - [tools] perf bpf: Add bpf__setup_output_event() strerror() counterpart (Michael Petlan) [1709242] - [tools] perf bpf: Generalize bpf__setup_stdout() (Michael Petlan) [1709242] - [tools] perf bpf: Make bpf__for_each_stdout_map() generic (Michael Petlan) [1709242] - [tools] perf bpf: Add bpf/stdio.h wrapper to bpf_perf_event_output function (Michael Petlan) [1709242] - [tools] perf bpf: Add struct bpf_map struct (Michael Petlan) [1709242] - [tools] perf report: Add --percent-type option (Michael Petlan) [1709242] - [tools] perf annotate: Add --percent-type option (Michael Petlan) [1709242] - [tools] perf annotate: Display percent type in stdio output (Michael Petlan) [1709242] - [tools] perf annotate: Make local period the default percent type (Michael Petlan) [1709242] - [tools] perf annotate: Add support to toggle percent type (Michael Petlan) [1709242] - [tools] perf annotate: Pass browser percent_type in annotate_browser__calc_percent() (Michael Petlan) [1709242] - [tools] perf annotate: Pass 'struct annotation_options' to map_symbol__annotation_dump() (Michael Petlan) [1709242] - [tools] perf annotate: Pass struct annotation_options to symbol__calc_lines() (Michael Petlan) [1709242] - [tools] perf annotate: Add percent_type to struct annotation_options (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_PERIOD_GLOBAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_PERIOD_LOCAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Add PERCENT_HITS_GLOBAL percent value (Michael Petlan) [1709242] - [tools] perf annotate: Switch struct annotation_data::percent to array (Michael Petlan) [1709242] - [tools] perf annotate: Loop group events directly in annotation__calc_percent() (Michael Petlan) [1709242] - [tools] perf annotate: Rename hist to sym_hist in annotation__calc_percent (Michael Petlan) [1709242] - [tools] perf annotate: Rename local sample variables to data (Michael Petlan) [1709242] - [tools] perf annotate: Rename struct annotation_line::samples* to data* (Michael Petlan) [1709242] - [tools] perf annotate: Get rid of annotation__scnprintf_samples_period() (Michael Petlan) [1709242] - [tools] perf annotate: Make annotation_line__max_percent static (Michael Petlan) [1709242] - [tools] perf annotate: Make symbol__annotate_fprintf2() local (Michael Petlan) [1709242] - [tools] perf bpf: Add 'syscall_enter' probe helper for syscall enter tracepoints (Michael Petlan) [1709242] - [tools] perf tools: Drop unneeded bitmap_zero() calls (Michael Petlan) [1709242] - [tools] perf vendor events arm64: Enable JSON events for eMAG (Michael Petlan) [1709242] - [tools] perf report: Add GUI report support for s390 auxiliary trace (Michael Petlan) [1709242] - [tools] perf report: Add raw report support for s390 auxiliary trace (Michael Petlan) [1709242] - [tools] perf auxtrace: Support for perf report -D for s390 (Michael Petlan) [1709242] - [tools] perf trace: Use perf_evsel__sc_tp_{uint,ptr} for "id"/"args" handling syscalls:* events (Michael Petlan) [1709242] - [tools] perf trace: Setup struct syscall_tp for syscalls:sys_{enter,exit}_NAME events (Michael Petlan) [1709242] - [tools] perf trace: Allow setting up a syscall_tp struct without a format_field (Michael Petlan) [1709242] - [tools] perf trace: Rename some syscall_tp methods to raw_syscall (Michael Petlan) [1709242] - [tools] perf trace: Use beautifiers on syscalls:sys_enter_ handlers (Michael Petlan) [1709242] - [tools] perf trace: Associate vfs_getname()'ed pathname with fd returned from 'openat' (Michael Petlan) [1709242] - [tools] perf trace: Do not require --no-syscalls to suppress strace like output (Michael Petlan) [1709242] - [tools] perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h (Michael Petlan) [1709242] - [tools] perf tools: Allow overriding MAX_NR_CPUS at compile time (Michael Petlan) [1709242] - [tools] perf bpf: Show better message when failing to load an object (Michael Petlan) [1709242] - [tools] perf list: Unify metric group description format with PMU event description (Michael Petlan) [1709242] - [tools] perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet (Michael Petlan) [1709242] - [tools] perf cs-etm: Fix start tracing packet handling (Michael Petlan) [1709242] - [tools] perf build: Fix installation directory for eBPF (Michael Petlan) [1709242] - [tools] perf c2c report: Fix crash for empty browser (Michael Petlan) [1709242] - [tools] perf tests: Fix indexing when invoking subtests (Michael Petlan) [1709242] - [tools] perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args (Michael Petlan) [1709242] - [tools] perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg (Michael Petlan) [1709242] - [tools] perf trace beauty: Do not print NULL strarray entries (Michael Petlan) [1709242] - [tools] perf beauty: Add a generator for IPPROTO_ socket's protocol constants (Michael Petlan) [1709242] - [tools] tools include uapi: Grab a copy of linux/in.h (Michael Petlan) [1709242] - [tools] perf tests: Fix complex event name parsing (Michael Petlan) [1709242] - [tools] perf evlist: Fix error out while applying initial delay and LBR (Michael Petlan) [1709242] - [tools] perf trace beauty: Default header_dir to cwd to work without parms (Michael Petlan) [1709242] - [tools] perf test: Fix subtest number when showing results (Michael Petlan) [1709242] - [tools] perf stat: Get rid of extra clock display function (Michael Petlan) [1709242] - [tools] perf tools: Use perf_evsel__match instead of open coded equivalent (Michael Petlan) [1709242] - [tools] perf tools: Fix struct comm_str removal crash (Michael Petlan) [1709242] - [tools] perf machine: Use last_match threads cache only in single thread mode (Michael Petlan) [1709242] - [tools] perf machine: Add threads__set_last_match function (Michael Petlan) [1709242] - [tools] perf machine: Add threads__get_last_match function (Michael Petlan) [1709242] - [tools] perf tools: Synthesize GROUP_DESC feature in pipe mode (Michael Petlan) [1709242] - [tools] perf script: Show correct offsets for DWARF-based unwinding (Michael Petlan) [1709242] - [tools] perf trace arm64: Use generated syscall table (Michael Petlan) [1709242] - [tools] perf arm64: Generate system call table from asm/unistd.h (Michael Petlan) [1709242] - [tools] tools include: Grab copies of arm64 dependent unistd.h files (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh when event exists (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh to ensure cleanups (Michael Petlan) [1709242] - [tools] perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64 (Michael Petlan) [1709242] - [tools] perf powerpc: Fix callchain ip filtering when return address is in a register (Michael Petlan) [1709242] - [tools] perf powerpc: Fix callchain ip filtering (Michael Petlan) [1709242] - [tools] perf list: Add missing documentation for --desc and --debug options (Michael Petlan) [1709242] - [tools] perf stat: Add transaction flag (-T) support for s390 (Michael Petlan) [1709242] - [tools] perf json: Add s390 transaction counter definition (Michael Petlan) [1709242] - [tools] perf list: Add s390 support for detailed PMU event description (Michael Petlan) [1709242] - [tools] Revert "perf list: Add s390 support for detailed/verbose PMU event description" (Michael Petlan) [1709242] - [tools] perf cs-etm: Bail out immediately for instruction sample failure (Michael Petlan) [1709242] - [tools] perf cs-etm: Introduce invalid address macro (Michael Petlan) [1709242] - [tools] perf hists: Clarify callchain disabling when available (Michael Petlan) [1709242] - [tools] perf tests: Check that complex event name is parsed correctly (Michael Petlan) [1709242] - [arm64] arm64: perf: Reject stand-alone CHAIN events for PMUv3 (Michael Petlan) [1709242] - [x86] perf/x86/amd/uncore: Set ThreadMask and SliceMask for L3 Cache perf events (Michael Petlan) [1709242] - [x86] perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKX (Michael Petlan) [1709242] - [kernel] perf/ring_buffer: Prevent concurent ring buffer access (Michael Petlan) [1709242] - [x86] perf/x86/intel/uncore: Use boot_cpu_data.phys_proc_id instead of hardcorded physical package ID 0 (Michael Petlan) [1709242] - [kernel] perf/core: Fix perf_pmu_unregister() locking (Michael Petlan) [1709242] - [kernel] perf/core: Add sanity check to deal with pinned event failure (Michael Petlan) [1709242] - [kernel] perf/core: Force USER_DS when recording user stack data (Michael Petlan) [1709242] - [include] perf/UAPI: Clearly mark __PERF_SAMPLE_CALLCHAIN_EARLY as internal use (Michael Petlan) [1709242] - [x86] perf/x86/intel: Add support/quirk for the MISPREDICT bit on Knights Landing CPUs (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Simplify breakpoint enable in perf_event_modify_breakpoint (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Enable breakpoint in modify_user_hw_breakpoint (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Remove superfluous bp->attr.disabled = 0 (Michael Petlan) [1709242] - [kernel] arm64: perf: Add cap_user_time aarch64 (Michael Petlan) [1709242] - [include] arm_pmu: Add support for 64bit event counters (Michael Petlan) [1709242] - [x86] perf/x86/intel: Support Extended PEBS for Goldmont Plus (Michael Petlan) [1709242] - [x86] perf/x86/intel/ds: Handle PEBS overflow for fixed counters (Michael Petlan) [1709242] - [x86] perf/x86/intel: Support PEBS on fixed counters (Michael Petlan) [1709242] - [kernel] perf, tools: Use correct articles in comments (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Clean up and consolidate modify_user_hw_breakpoint_check() (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Pass new breakpoint type to modify_breakpoint_slot() (Michael Petlan) [1709242] - [kernel] perf/hw_breakpoint: Remove default hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [arm64] perf/arch/arm64: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [powerpc] perf/arch/powerpc: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [x86] perf/arch/x86: Implement hw_breakpoint_arch_parse() (Michael Petlan) [1709242] - [arm64] perf/hw_breakpoint: Pass arch breakpoint struct to arch_check_bp_in_kernelspace() (Michael Petlan) [1709242] - [kernel] perf/core: Change perf_mmap_fault() return type to 'vm_fault_t' (Michael Petlan) [1709242] - [x86] perf/x86/intel/lbr: Optimize context switches for the LBR call stack (Michael Petlan) [1709242] - [netdrv] cnic: Refactor code and mark expected switch fall-through (Nilesh Javali) [1665302] - [netdrv] cnic: remove use of VLAN_TAG_PRESENT (Nilesh Javali) [1665302] - [netdrv] cnic: use kvzalloc to allocate memory for csk_tbl (Nilesh Javali) [1665302] - [netdrv] cnic: remove redundant pointer req and variable func (Nilesh Javali) [1665302] - [scsi] drivers: Remove useless trailing comments from mmiowb() invocations (Nilesh Javali) [1665307] - [scsi] scsi: qedf: remove set but not used variables (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Update the driver version to 8.37.25.20 (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add return value to log message if scsi_add_host fails (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Print fcport information on wait for upload timeout (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check the return value of start_xmit (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Log message if scsi_add_host fails (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for fcoe_libfc_config failure (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add comment to display logging levels (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add port_id for fcport into initiate_cleanup debug message (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add LBA to underrun debug messages (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Print scsi_cmd backpointer in good completion path if the command is still being used (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add driver state to 'driver_stats' debugfs node (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Change MSI-X load error message (Nilesh Javali) [1665301] - [scsi] scsi: qedf: remove memset/memcpy to nfunc and use func instead (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Remove set but not used variable 'fr_len' (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Update the driver version to 8.37.25.19 (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Fix lport may be used uninitialized warning (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correctly handle refcounting of rdata (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Cleanup rrq_work after QEDF_CMD_OUTSTANDING is cleared (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for tm_flags instead of cmd_type during cleanup (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add a flag to help debugging io_req which could not be cleaned (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Don't send ABTS for under run scenario (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Don't queue anything if upload is in progress (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check both the FCF and fabric ID before servicing clear virtual link (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fc_rport_priv reference counting fixes (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing return in qedf_scsi_done() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Wait for upload and link down processing during soft ctx reset (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add additional checks for io_req->sc_cmd validity (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fixup bit operations (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fixup locking in qedf_restart_rport() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: missing kref_put in qedf_xmit() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Check for link state before processing LL2 packets and send fipvlan retries (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing fc_disc_init call after allocating lport (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correct the memory barriers in qedf_ring_doorbell (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Use a separate completion for cleanup commands (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Modify abort and tmf handler to handle edge condition and flush (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Modify flush routine to handle all I/Os and TMF (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Simplify s/g list mapping (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Add missing return in qedf_post_io_req() in the fcport offload check (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Correct xid range overlap between offloaded requests and libfc requests (Nilesh Javali) [1665301] - [scsi] scsi: qedf: Do not retry ELS request if qedf_alloc_cmd fails (Nilesh Javali) [1665301] - [scsi] scsi: fcoe: make use of fip_mode enum complete (Nilesh Javali) [1665301] - [scsi] scsi: stop setting up request->special (Nilesh Javali) [1665301] - [scsi] scsi: qedf: no need to check return value of debugfs_create functions (Nilesh Javali) [1665301] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Nilesh Javali) [1665301] - [scsi] scsi: qedf: NULL check before some freeing functions is not needed (Nilesh Javali) [1665301] - [scsi] scsi: qedf: fully convert to the generic DMA API (Nilesh Javali) [1665301] - [scsi] scsi: qedi: Adjust termination and offload ramrod timers (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Abort ep termination if offload not scheduled (Nilesh Javali) [1665300] - [scsi] scsi: qedi: fix spelling mistake "oflload" -> "offload" (Nilesh Javali) [1665300] - [scsi] scsi: qedi: remove declaration of nvm_image from stack (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Remove set but not used variable 'cls_sess' (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Add ep_state for login completion on un-reachable targets (Nilesh Javali) [1665300] - [scsi] cross-tree: phase out dma_zalloc_coherent() (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Update driver version to 8.33.0.21 (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Move LL2 producer index processing in BH. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: add module param to set ping packet size (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Add packet filter in light L2 Rx path. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Check for session online before getting iSCSI TLV data. (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Replace PAGE_SIZE with QEDI_PAGE_SIZE (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Fix spelling mistake "OUSTANDING" -> "OUTSTANDING" (Nilesh Javali) [1665300] - [scsi] scsi: qedi: Cleanup redundant QEDI_PAGE_SIZE macro definition (Nilesh Javali) [1665300] - [scsi] scsi: qedi: fully convert to the generic DMA API (Nilesh Javali) [1665300] - [x86] x86/kdump: Fall back to reserve high crashkernel memory (Pingfan Liu) [1682984] - [x86] x86/kdump: Have crashkernel=X reserve under 4G by default (Pingfan Liu) [1682984] - [x86] Revert "[x86] x86/kdump: make the behavior of crashkernel=X consistent with kaslr" (Pingfan Liu) [1682984] - [scsi] scsi: core: avoid pre-allocating big SGL for data (Ewan Milne) [1698297] - [scsi] scsi: core: avoid pre-allocating big SGL for protection information (Ewan Milne) [1698297] - [nvme] scsi: lib/sg_pool.c: improve APIs for allocating sg pool (Ewan Milne) [1698297] - [kvm] KVM: PPC: Book3S HV: Save/restore vrsave register in kvmhv_p9_guest_entry() (Suraj Jitindar Singh) [1700272] - [fs] ext4: avoid kernel warning when writing the superblock to a dead device (Lukas Czerner) [1695021] - [fs] ext4: cond_resched in work-heavy group loops (Lukas Czerner) [1698815] - [fs] ext4: ignore e_value_offs for xattrs with value-in-ea-inode (Lukas Czerner) [1698815] - [fs] ext4: protect journal inode's blocks using block_validity (Lukas Czerner) [1698815] - [fs] ext4: use BUG() instead of BUG_ON(1) (Lukas Czerner) [1698815] - [fs] jbd2: check superblock mapped prior to committing (Lukas Czerner) [1698815] - [fs] ext4: remove incorrect comment for NEXT_ORPHAN() (Lukas Czerner) [1698815] - [fs] ext4: make sanity check in mballoc more strict (Lukas Czerner) [1698815] - [fs] ext4: fix use-after-free race with debug_want_extra_isize (Lukas Czerner) [1698815] - [fs] ext4: fix ext4_show_options for file systems w/o journal (Lukas Czerner) [1698815] - [fs] ext4: actually request zeroing of inode table after grow (Lukas Czerner) [1698815] - [fs] Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal" (Lukas Czerner) [1698815] - [fs] ext4: fix some error pointer dereferences (Lukas Czerner) [1698815] - [fs] ext4: fix special inode number checks in __ext4_iget() (Lukas Czerner) [1698815] - [fs] ext4: prohibit fstrim in norecovery mode (Lukas Czerner) [1698815] - [fs] ext4: cleanup bh release code in ext4_ind_remove_space() (Lukas Czerner) [1698815] - [fs] ext4: brelse all indirect buffer in ext4_ind_remove_space() (Lukas Czerner) [1698815] - [fs] ext4: report real fs size after failed resize (Lukas Czerner) [1698815] - [fs] ext4: add missing brelse() in add_new_gdb_meta_bg() (Lukas Czerner) [1698815] - [fs] ext4: remove useless ext4_pin_inode() (Lukas Czerner) [1698815] - [fs] ext4: avoid panic during forced reboot (Lukas Czerner) [1698815] - [fs] ext4: fix data corruption caused by unaligned direct AIO (Lukas Czerner) [1698815] - [fs] ext4: fix NULL pointer dereference while journal is aborted (Lukas Czerner) [1698815] - [fs] jbd2: jbd2_get_transaction does not need to return a value (Lukas Czerner) [1698815] - [fs] jbd2: fix invalid descriptor block checksum (Lukas Czerner) [1698815] - [fs] ext4: fix bigalloc cluster freeing when hole punching under load (Lukas Czerner) [1698815] - [fs] ext4: add sysfs attr /sys/fs/ext4//journal_task (Lukas Czerner) [1698815] - [fs] ext4: Change debugging support help prefix from EXT4 to Ext4 (Lukas Czerner) [1698815] - [fs] ext4: fix compile error when using BUFFER_TRACE (Lukas Czerner) [1698815] - [fs] jbd2: fix compile warning when using JBUFFER_TRACE (Lukas Czerner) [1698815] - [fs] ext4: annotate more implicit fall throughs (Lukas Czerner) [1698815] - [fs] ext4: annotate implicit fall throughs (Lukas Czerner) [1698815] - [fs] ext4: don't update s_rev_level if not required (Lukas Czerner) [1698815] - [fs] jbd2: fold jbd2_superblock_csum_{verify,set} into their callers (Lukas Czerner) [1698815] - [fs] jbd2: fix race when writing superblock (Lukas Czerner) [1698815] - [fs] ext4: fix crash during online resizing (Lukas Czerner) [1698815] - [fs] ext4: disallow files with EXT4_JOURNAL_DATA_FL from EXT4_IOC_SWAP_BOOT (Lukas Czerner) [1698815] - [fs] ext4: add mask of ext4 flags to swap (Lukas Czerner) [1698815] - [fs] ext4: update quota information while swapping boot loader inode (Lukas Czerner) [1698815] - [fs] ext4: cleanup pagecache before swap i_data (Lukas Czerner) [1698815] - [fs] ext4: fix check of inode in swap_inode_boot_loader (Lukas Czerner) [1698815] - [fs] ext4: unlock unused_pages timely when doing writeback (Lukas Czerner) [1698815] - [fs] ext4: cleanup clean_bdev_aliases() calls (Lukas Czerner) [1698815] - [fs] jbd2: discard dirty data when forgetting an un-journalled buffer (Lukas Czerner) [1698815] - [fs] jbd2: clear dirty flag when revoking a buffer from an older transaction (Lukas Czerner) [1698815] - [fs] ext4: replace opencoded i_writecount usage with inode_is_open_for_write() (Lukas Czerner) [1698815] - [fs] jbd2: fix deadlock while checkpoint thread waits commit thread to finish (Lukas Czerner) [1698815] - [fs] ext4: use IS_ENCRYPTED() to check encryption status (Lukas Czerner) [1698815] - [fs] ext4: track writeback errors using the generic tracking infrastructure (Lukas Czerner) [1698815] - [fs] ext4: use ext4_write_inode() when fsyncing w/o a journal (Lukas Czerner) [1698815] - [fs] ext4: fix a potential fiemap/page fault deadlock w/ inline_data (Lukas Czerner) [1698815] - [fs] ext4: make sure enough credits are reserved for dioread_nolock writes (Lukas Czerner) [1698815] - [fs] ext4: check for shutdown and r/o file system in ext4_write_inode() (Lukas Czerner) [1698815] - [fs] ext4: force inode writes when nfsd calls commit_metadata() (Lukas Czerner) [1698815] - [fs] ext4: avoid declaring fs inconsistent due to invalid file handles (Lukas Czerner) [1698815] - [fs] ext4: include terminating u32 in size of xattr entries when expanding inodes (Lukas Czerner) [1698815] - [fs] ext4: compare old and new mode before setting update_mode flag (Lukas Czerner) [1698815] - [fs] ext4: fix EXT4_IOC_GROUP_ADD ioctl (Lukas Czerner) [1698815] - [fs] ext4: hard fail dax mount on unsupported devices (Lukas Czerner) [1698815] - [fs] ext4: remove redundant condition check (Lukas Czerner) [1698815] - [fs] jbd2: clean up indentation issue, replace spaces with tab (Lukas Czerner) [1698815] - [fs] ext4: clean up indentation issues, remove extraneous tabs (Lukas Czerner) [1698815] - [fs] ext4: missing unlock/put_page() in ext4_try_to_write_inline_data() (Lukas Czerner) [1698815] - [fs] ext4: fix possible use after free in ext4_quota_enable (Lukas Czerner) [1698815] - [fs] jbd2: avoid long hold times of j_state_lock while committing a transaction (Lukas Czerner) [1698815] - [fs] ext4: add ext4_sb_bread() to disambiguate ENOMEM cases (Lukas Czerner) [1698815] - [fs] ext4: remove unneeded brelse call in ext4_xattr_inode_update_ref() (Lukas Czerner) [1698815] - [fs] ext4: fix use-after-free race in ext4_remount()'s error path (Lukas Czerner) [1698815] - [fs] ext4: don't open-code ERR_CAST (Lukas Czerner) [1698815] - [fs] ext4: cache NULL when both default_acl and acl are NULL (Lukas Czerner) [1698815] - [fs] ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR (Lukas Czerner) [1698815] - [fs] ext4: fix setattr project check in fssetxattr ioctl (Lukas Czerner) [1698815] - [fs] ext4: convert fault handler to use vm_fault_t type (Lukas Czerner) [1698815] - [fs] ext4: fix EXT4_IOC_SWAP_BOOT (Lukas Czerner) [1698815] - [fs] ext4: fix argument checking in EXT4_IOC_MOVE_EXT (Lukas Czerner) [1698815] - [fs] ext4: fix reserved cluster accounting at page invalidation time (Lukas Czerner) [1698815] - [fs] ext4: adjust reserved cluster count when removing extents (Lukas Czerner) [1698815] - [fs] ext4: reduce reserved cluster count by number of allocated clusters (Lukas Czerner) [1698815] - [fs] ext4: fix reserved cluster accounting at delayed write time (Lukas Czerner) [1698815] - [fs] ext4: add new pending reservation mechanism (Lukas Czerner) [1698815] - [fs] ext4: generalize extents status tree search functions (Lukas Czerner) [1698815] - [fs] ext4: readpages() should submit IO as read-ahead (Lukas Czerner) [1698815] - [fs] ext4: improve code readability in ext4_iget() (Lukas Czerner) [1698815] - [fs] ext4: use swap macro in mext_page_double_lock (Lukas Czerner) [1698815] - [fs] ext4: fix warning message in ext4_enable_quotas() (Lukas Czerner) [1698815] - [fs] ext4: super: extend timestamps to 40 bits (Lukas Czerner) [1698815] - [fs] jbd2: replace current_kernel_time64 with ktime equivalent (Lukas Czerner) [1698815] - [fs] ext4: use timespec64 for all inode times (Lukas Czerner) [1698815] - [fs] ext4: use ktime_get_real_seconds for i_dtime (Lukas Czerner) [1698815] - [fs] ext4: use 64-bit timestamps for mmp_time (Lukas Czerner) [1698815] - [scsi] scsi: smartpqi: Use HCTX_TYPE_DEFAULT for blk_mq_tag_set->map (Don Brace) [1665565] - [scsi] scsi: smartpqi: bump driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add spdx (Don Brace) [1665565] - [scsi] scsi: smartpqi: update copyright (Don Brace) [1665565] - [scsi] scsi: smartpqi: add H3C controller IDs (Don Brace) [1665565] - [scsi] scsi: smartpqi: increase LUN reset timeout (Don Brace) [1665565] - [scsi] scsi: smartpqi: Reporting 'logical unit failure' (Don Brace) [1665565] - [scsi] scsi: smartpqi_init: fix boolean expression in pqi_device_remove_start (Don Brace) [1665565] - [scsi] scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown() (Don Brace) [1665565] - [scsi] scsi: smartpqi: fix build warnings (Don Brace) [1665565] - [scsi] scsi: smartpqi: update driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add ofa support (Don Brace) [1665565] - [scsi] scsi: smartpqi: increase fw status register read timeout (Don Brace) [1665565] - [scsi] scsi: smartpqi: bump driver version (Don Brace) [1665565] - [scsi] scsi: smartpqi: add smp_utils support (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct lun reset issues (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct volume status (Don Brace) [1665565] - [scsi] scsi: smartpqi: do not offline disks for transient did no connect conditions (Don Brace) [1665565] - [scsi] scsi: smartpqi: allow for larger raid maps (Don Brace) [1665565] - [scsi] scsi: smartpqi: check for null device pointers (Don Brace) [1665565] - [scsi] scsi: smartpqi: enhance numa node detection (Don Brace) [1665565] - [scsi] scsi: smartpqi: wake up drives after os resumes from suspend (Don Brace) [1665565] - [scsi] scsi: smartpqi: fix disk name mount point (Don Brace) [1665565] - [scsi] scsi: smartpqi: add h3c ssid (Don Brace) [1665565] - [scsi] scsi: smartpqi: add sysfs attributes (Don Brace) [1665565] - [scsi] scsi: smartpqi: refactor sending controller raid requests (Don Brace) [1665565] - [scsi] scsi: smartpqi: turn off lun data caching for ptraid (Don Brace) [1665565] - [scsi] scsi: smartpqi: correct host serial num for ssa (Don Brace) [1665565] - [scsi] scsi: smartpqi: add no_write_same for logical volumes (Don Brace) [1665565] - [scsi] scsi: smartpqi: Add retries for device reset (Don Brace) [1665565] - [scsi] scsi: smartpqi: add support for PQI Config Table handshake (Don Brace) [1665565] - [scsi] scsi: smartpqi: fully convert to the generic DMA API (Don Brace) [1665565] - [net] rtnetlink: always put IFLA_LINK for links with a link-netnsid (Sabrina Dubroca) [1711933] - [net] ipv6: add inet6_fill_args (Ivan Vecera) [1711956] - [net] ipv4: add inet_fill_args (Ivan Vecera) [1711956] - [net] rtnetlink: s/IFLA_IF_NETNSID/IFLA_TARGET_NETNSID/g (Ivan Vecera) [1711956] - [include] if_link: add IFLA_TARGET_NETNSID alias (Ivan Vecera) [1711956] - [net] rtnetlink: move type calculation out of loop (Ivan Vecera) [1711956] - [net] ipv6: enable IFA_TARGET_NETNSID for RTM_GETADDR (Ivan Vecera) [1711956] - [net] ipv4: enable IFA_TARGET_NETNSID for RTM_GETADDR (Ivan Vecera) [1711956] - [include] if_addr: add IFA_TARGET_NETNSID (Ivan Vecera) [1711956] - [net] rtnetlink: add rtnl_get_net_ns_capable() (Ivan Vecera) [1711956] - [tools] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix untagged test (Hangbin Liu) [1710283] - [tools] selftests: forwarding: Tweak tc filters for mirror-to-gretap tests (Hangbin Liu) [1710283] - [tools] selftests: forwarding: lib: Avoid trapping soft devices (Hangbin Liu) [1710283] - [tools] selftests: pmtu: maximum MTU for vti4 is 2^16-1-20 (Hangbin Liu) [1704659] - [net] sched: red: inform offloads about harddrop setting (Ivan Vecera) [1710999] - [net] tls: fix copy to fragments in reencrypt (Ivan Vecera) [1710366] - [net] tls: don't copy negative amounts of data in reencrypt (Ivan Vecera) [1710366] - [net] tls: don't leak IV and record seq when offload fails (Ivan Vecera) [1710366] - [net] tls: avoid potential deadlock in tls_set_device_offload_rx() (Ivan Vecera) [1710366] - [net] tls: prevent bad memory access in tls_is_sk_tx_device_offloaded() (Ivan Vecera) [1710366] - [net] tls: Combined memory allocation for decryption request (Ivan Vecera) [1710366] - [net] tls: Skip zerocopy path for ITER_KVEC (Ivan Vecera) [1710366] - [net] tls: Fix copy-paste error in tls_device_reencrypt (Ivan Vecera) [1710366] - [net] tls: Add rx inline crypto offload (Ivan Vecera) [1710366] - [net] tls: Fill software context without allocation (Ivan Vecera) [1710366] - [net] tls: Split tls_sw_release_resources_rx (Ivan Vecera) [1710366] - [net] tls: Split decrypt_skb to two functions (Ivan Vecera) [1710366] - [net] tcp: Don't coalesce decrypted and encrypted SKBs (Ivan Vecera) [1710366] - [include] Add TLS rx resync NDO (Ivan Vecera) [1710366] - [net] Add TLS RX offload feature (Ivan Vecera) [1710366] - [net] Add decrypted field to skb (Ivan Vecera) [1710366] - [net] tls: Use aead_request_alloc/free for request alloc/free (Ivan Vecera) [1710366] - [net] tls: Refactor tls_offload variable names (Ivan Vecera) [1703389]- [netdrv] qede: use ethtool_rx_flow_rule() to remove duplicated parser code (Manish Chopra) [1663274] - [netdrv] qede: place ethtool_rx_flow_spec after code after TC flower codebase (Manish Chopra) [1663274] - [netdrv] drivers: net: use flow action infrastructure (Manish Chopra) [1663274] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Manish Chopra) [1663274] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Manish Chopra) [1663274] - [netdrv] qede: Populate mbi version in ethtool driver query data. (Manish Chopra) [1663274] - [netdrv] qed: Define new MF bit for no_vlan config (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "faspath" -> "fastpath" (Manish Chopra) [1663274] - [netdrv] qed: Fix the DORQ's attentions handling (Manish Chopra) [1663274] - [netdrv] qed: Fix missing DORQ attentions (Manish Chopra) [1663274] - [netdrv] qed: Fix the doorbell address sanity check (Manish Chopra) [1663274] - [netdrv] qed: Delete redundant doorbell recovery types (Manish Chopra) [1663274] - [netdrv] qede: fix write to free'd pointer error and double free of ptp (Manish Chopra) [1663274] - [netdrv] qede: Fix internal loopback failure with jumbo mtu configuration (Manish Chopra) [1663274] - [netdrv] qed: Read device port count from the shmem (Manish Chopra) [1663274] - [netdrv] qed: Fix iWARP syn packet mac address validation. (Manish Chopra) [1663274] - [netdrv] qed: Fix iWARP buffer size provided for syn packet processing. (Manish Chopra) [1663274] - [netdrv] qed: fix indentation issue with statements in an if-block (Manish Chopra) [1663274] - [netdrv] qede: Add ethtool interface for SmartAN query. (Manish Chopra) [1663274] - [netdrv] qed: Add API for SmartAN query. (Manish Chopra) [1663274] - [netdrv] qed*: Advance drivers version to 8.37.0.20 (Manish Chopra) [1663274] - [netdrv] qed: Change verbosity for coalescing message. (Manish Chopra) [1663274] - [netdrv] qede: Fix system crash on configuring channels. (Manish Chopra) [1663274] - [netdrv] qed: Consider TX tcs while deriving the max num_queues for PF. (Manish Chopra) [1663274] - [netdrv] qed: Assign UFP TC value to vlan priority in UFP mode. (Manish Chopra) [1663274] - [netdrv] qed: Fix EQ full firmware assert. (Manish Chopra) [1663274] - [netdrv] qed: Fix stack out of bounds bug (Manish Chopra) [1663274] - [netdrv] qed: Fix system crash in ll2 xmit (Manish Chopra) [1663274] - [netdrv] qed: Fix VF probe failure while FLR (Manish Chopra) [1663274] - [netdrv] qed: Fix LACP pdu drops for VFs (Manish Chopra) [1663274] - [netdrv] qed: Fix bug in tx promiscuous mode settings (Manish Chopra) [1663274] - [netdrv] qede: Error recovery process (Manish Chopra) [1663274] - [netdrv] qed: Add infrastructure for error detection and recovery (Manish Chopra) [1663274] - [netdrv] qed: Revise load sequence to avoid PCI errors (Manish Chopra) [1663274] - [netdrv] qed: Mark expected switch fall-through (Manish Chopra) [1663274] - [include] qed: remove duplicated include from qed_if.h (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: Fix out of bounds index check in query pkey (Manish Chopra) [1663274] - [netdrv] qed: Fix qed_ll2_post_rx_buffer_notify_fw() by adding a write memory barrier (Manish Chopra) [1663274] - [include] qed: Fix qed_chain_set_prod() for PBL chains with non power of 2 page count (Manish Chopra) [1663274] - [infiniband] infiniband/qedr: Potential null ptr dereference of qp (Manish Chopra) [1663274] - [netdrv] qed: Fix an error code qed_ll2_start_xmit() (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "Dispalying" -> "Displaying" (Manish Chopra) [1663274] - [netdrv] qede: Register l2 queues with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Expose the doorbell overflow recovery mechanism to the protocol drivers (Manish Chopra) [1663274] - [netdrv] qed: Register light L2 queues with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Register slowpath queue doorbell with doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qed: Use the doorbell overflow recovery mechanism in case of doorbell overflow (Manish Chopra) [1663274] - [netdrv] qed: Add doorbell overflow recovery mechanism (Manish Chopra) [1663274] - [netdrv] qede - Add a statistic for a case where driver drops tx packet due to memory allocation failure. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "attnetion" -> "attention" (Manish Chopra) [1663274] - [netdrv] qed: Add support for MBI upgrade over MFW. (Manish Chopra) [1663274] - [netdrv] qede: Update link status only when interface is ready. (Manish Chopra) [1663274] - [netdrv] qede: Simplify the usage of qede-flags. (Manish Chopra) [1663274] - [netdrv] qed: Display port_id in the UFP debug messages. (Manish Chopra) [1663274] - [netdrv] qed: Fix QM getters to always return a valid pq (Manish Chopra) [1663274] - [netdrv] qed: Fix bitmap_weight() check (Manish Chopra) [1663274] - [netdrv] drivers/net/ethernet/qlogic/qed/qed_rdma.h: fix typo (Manish Chopra) [1663274] - [netdrv] qed: Fix reading wrong value in loop condition (Manish Chopra) [1663274] - [netdrv] qed: Fix rdma_info structure allocation (Manish Chopra) [1663274] - [netdrv] qed: Fix overriding offload_tc by protocols without APP TLV (Manish Chopra) [1663274] - [netdrv] qed: Fix PTT leak in qed_drain() (Manish Chopra) [1663274] - [netdrv] qed: Fix potential memory corruption (Manish Chopra) [1663274] - [netdrv] qed: Fix SPQ entries not returned to pool in error flows (Manish Chopra) [1663274] - [netdrv] qed: Fix blocking/unlimited SPQ entries leak (Manish Chopra) [1663274] - [netdrv] qed: Fix memory/entry leak in qed_init_sp_request() (Manish Chopra) [1663274] - [netdrv] qed: fix link config error handling (Manish Chopra) [1663274] - [netdrv] qed: Fix static checker warning (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "transcevier" -> "transceiver" (Manish Chopra) [1663274] - [netdrv] qed: Prevent link getting down in case of autoneg-off. (Manish Chopra) [1663274] - [netdrv] qede: Check available link modes before link set from ethtool. (Manish Chopra) [1663274] - [netdrv] qed: Add supported link and advertise link to display in ethtool. (Manish Chopra) [1663274] - [netdrv] qed: Added supported transceiver modes, speed capability and board config to HSI. (Manish Chopra) [1663274] - [netdrv] qed: Align local and global PTT to propagate through the APIs. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "Ireelevant" -> "Irrelevant" (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_ooo_submit_tx_buffers (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: Remove enumerated type qed_roce_ll2_tx_dest (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "b_cb_registred" -> "b_cb_registered" (Manish Chopra) [1663274] - [netdrv] qed: Remove set but not used variable 'p_archipelago' (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_iwarp_parse_rx_pkt (Manish Chopra) [1663274] - [netdrv] qed: Avoid constant logical operation warning in qed_vf_pf_acquire (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor (Manish Chopra) [1663274] - [netdrv] qed: Fix mask parameter in qed_vf_prep_tunn_req_tlv (Manish Chopra) [1663274] - [netdrv] qed: Avoid implicit enum conversion in qed_set_tunn_cls_info (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "toogle" -> "toggle" (Manish Chopra) [1663274] - [netdrv] net: qed: list usage cleanup (Manish Chopra) [1663274] - [netdrv] net: qede: Use FIELD_SIZEOF directly instead of reimplementing its function (Manish Chopra) [1663274] - [netdrv] qed: remove duplicated include from qed_cxt.c (Manish Chopra) [1663274] - [netdrv] qed*: Utilize FW 8.37.7.0 (Manish Chopra) [1663274] - [infiniband] RDMA/qedr: remove set but not used variable 'ctx' (Manish Chopra) [1663274] - [netdrv] qed: Lower the severity of a dcbx log message. (Manish Chopra) [1663274] - [netdrv] qed: fix spelling mistake "comparsion" -> "comparison" (Manish Chopra) [1663274] - [netdrv] net_sched: remove list_head from tc_action (Manish Chopra) [1663274] - [infiniband] qedr: Add user space support for SRQ (Manish Chopra) [1663274] - [infiniband] qedr: Add support for kernel mode SRQ's (Manish Chopra) [1663274] - [infiniband] qedr: Add wrapping generic structure for qpidr and adjust idr routines. (Manish Chopra) [1663274] - [netdrv] qed/qede: qede_setup_tc() can be static (Manish Chopra) [1663274] - [netdrv] qede: Ingress tc flower offload (drop action) support. (Manish Chopra) [1663274] - [netdrv] qede: Add destination ip based flow profile. (Manish Chopra) [1663274] - [netdrv] qed/qede: Multi CoS support. (Manish Chopra) [1663274] - [netdrv] qede: qede_fp: Mark expected switch fall-through (Manish Chopra) [1663274] - [netdrv] qed: qed_dev: Mark expected switch fall-throughs (Manish Chopra) [1663274] - [netdrv] qed: Add Multi-TC RoCE support (Manish Chopra) [1663274] - [netdrv] qed: Add DCBX API - qed_dcbx_get_priority_tc() (Manish Chopra) [1663274] - [netdrv] qed: Make some functions static (Manish Chopra) [1663274] - [netdrv] qed: remove redundant functions qed_get_cm_pq_idx_rl (Manish Chopra) [1663274] - [netdrv] qed: remove redundant functions qed_set_gft_event_id_cm_hdr (Manish Chopra) [1663274] - [netdrv] qede: Add driver callbacks for eeprom module query. (Manish Chopra) [1663274] - [netdrv] qed: Add qed APIs for PHY module query. (Manish Chopra) [1663274] - [netdrv] qed: remove redundant pointer 'name' (Manish Chopra) [1663274] - [iommu] iommu: Don't print warning when IOMMU driver only supports unmanaged domains (Jerry Snitselaar) [1707616 1694210 1689183] - [iommu] iommu/vt-d: Check capability before disabling protected memory (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE (Jerry Snitselaar) [1694210 1694029] - [iommu] iommu/amd: Fix NULL dereference bug in match_hid_uid (Jerry Snitselaar) [1677737 1694210] - [iommu] iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Remove unnecessary WARN_ON() (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Check identity map for hot-added devices (Jerry Snitselaar) [1694210] - [iommu] iommu/dmar: Fix buffer overflow during PCI bus notification (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions() (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: Fix amd_iommu=force_isolation (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Handle domain agaw being less than iommu agaw (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Use memunmap to free memremap (Jerry Snitselaar) [1694210] - [iommu] amd/iommu: Fix Guest Virtual APIC Log Tail Address Register (Jerry Snitselaar) [1694210] - [iommu] iommu/vt-d: Fix NULL pointer dereference in prq_event_thread() (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: Return devid as alias for ACPI HID devices (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Free irqs in shutdown handler (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Move irq request past pm_runtime_enable (Jerry Snitselaar) [1694210] - [iommu] iommu/rockchip: Handle errors returned from PM framework (Jerry Snitselaar) [1694210] - [iommu] iommu/amd: make sure TLB to be flushed before IOVA freed (Jerry Snitselaar) [1694210] - [idle] intel_idle: Get rid of custom ICPU() macro (Alexander Beregalov) [1710976] - [security] selinux: do not report error on connect(AF_UNSPEC) (Ondrej Mosnacek) [1707828] - [security] selinux: Check address length before reading address family (Ondrej Mosnacek) [1707828] - [scsi] scsi: core: add new RDAC LENOVO/DE_Series device (Maurizio Lombardi) [1700912] - [infiniband] i40iw: Avoid panic when handling the inetdev event (Stefan Assmann) [1659180] - [infiniband] cross-tree: phase out dma_zalloc_coherent() (Stefan Assmann) [1659180] - [infiniband] infiniband: prefix header search paths with $(srctree)/ (Stefan Assmann) [1659180] - [infiniband] i40iw: remove use of VLAN_TAG_PRESENT (Stefan Assmann) [1659180] - [infiniband] RDMA/i40iw: Fix incorrect iterator type (Stefan Assmann) [1659180] - [infiniband] infiniband: i40iw, nes: don't use wall time for TCP sequence numbers (Stefan Assmann) [1659180] - [infiniband] i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt (Stefan Assmann) [1659180] - [netdrv] i40e: Changed maximum supported FW API version to 1.8 (Stefan Assmann) [1659174] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Stefan Assmann) [1659174] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Stefan Assmann) [1659174] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Stefan Assmann) [1659174] - [netdrv] drivers: net: remove inclusion when not needed (Stefan Assmann) [1659174] - [netdrv] i40e: Memory leak in i40e_config_iwarp_qvlist (Stefan Assmann) [1659162] - [netdrv] i40e: Fix of memory leak and integer truncation in i40e_virtchnl.c (Stefan Assmann) [1659162] - [netdrv] i40e: Use struct_size() in kzalloc() (Stefan Assmann) [1659162] - [netdrv] i40e: Revert ShadowRAM checksum calculation change (Stefan Assmann) [1659162] - [netdrv] i40e: missing input validation on VF message handling by the PF (Stefan Assmann) [1659162] - [netdrv] i40e: Add support for X710 B/P & SFP+ cards (Stefan Assmann) [1659162] - [netdrv] i40e: Wrong truncation from u16 to u8 (Stefan Assmann) [1659162] - [netdrv] i40e: add num_vectors checker in iwarp handler (Stefan Assmann) [1659162] - [netdrv] i40e: Fix the typo in adding 40GE KR4 mode (Stefan Assmann) [1659162] - [netdrv] i40e: Setting VF to VLAN 0 requires restart (Stefan Assmann) [1659162] - [netdrv] i40e: add new pci id for X710/XXV710 N3000 cards (Stefan Assmann) [1659162] - [netdrv] i40e: VF's promiscuous attribute is not kept (Stefan Assmann) [1659162] - [netdrv] i40e: Introduce recovery mode support (Stefan Assmann) [1659162] - [netdrv] i40e: print PCI vendor and device ID during probe (Stefan Assmann) [1659162] - [netdrv] i40e: fix misleading message about promisc setting on un-trusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: update version number (Stefan Assmann) [1659162] - [netdrv] i40e: remove out-of-range comparisons in i40e_validate_cloud_filter (Stefan Assmann) [1659162] - [netdrv] i40e: Further implementation of LLDP (Stefan Assmann) [1659162] - [netdrv] i40e: Report advertised link modes on 40GBase_LR4, CR4 and fibre (Stefan Assmann) [1659162] - [netdrv] i40e: ShadowRAM checksum calculation change (Stefan Assmann) [1659162] - [netdrv] i40e: remove error msg when vf with port vlan tries to remove vlan 0 (Stefan Assmann) [1659162] - [netdrv] i40e: change behavior on PF in response to MDD event (Stefan Assmann) [1659162] - [netdrv] i40e: Fix for allowing too many MDD events on VF (Stefan Assmann) [1659162] - [netdrv] i40e: Fix misleading error message (Stefan Assmann) [1659162] - [netdrv] i40e: Able to add up to 16 MAC filters on an untrusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: Report advertised link modes on 40GBASE_SR4 (Stefan Assmann) [1659162] - [netdrv] i40e: The driver now prints the API version in error message (Stefan Assmann) [1659162] - [netdrv] i40e: Changed maximum supported FW API version to 1.8 (Stefan Assmann) [1659162] - [netdrv] i40e: Remove misleading messages for untrusted VF (Stefan Assmann) [1659162] - [netdrv] i40e: Update i40e_init_dcb to return correct error (Stefan Assmann) [1659162] - [netdrv] i40e: Fix for 10G ports LED not blinking (Stefan Assmann) [1659162] - [netdrv] i40e: save PTP time before a device reset (Stefan Assmann) [1659162] - [netdrv] i40e: don't allow changes to HW VLAN stripping on active port VLANs (Stefan Assmann) [1659162] - [netdrv] i40e: Implement DDP support in i40e driver (Stefan Assmann) [1659162] - [netdrv] i40e: Queues are reserved despite "Invalid argument" error (Stefan Assmann) [1659162] - [netdrv] i40e: add tracking of AF_XDP ZC state for each queue pair (Stefan Assmann) [1659162] - [netdrv] i40e: move i40e_xsk_umem function (Stefan Assmann) [1659162] - [netdrv] i40e: fix WoL support check (Stefan Assmann) [1659162] - [netdrv] i40e: fix i40e_ptp_adjtime when given a negative delta (Stefan Assmann) [1659162] - [netdrv] i40e: fix XDP_REDIRECT/XDP xmit ring cleanup race (Stefan Assmann) [1659162] - [netdrv] i40e: fix potential RX buffer starvation for AF_XDP (Stefan Assmann) [1659162] - [netdrv] net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Stefan Assmann) [1659162] - [netdrv] flow_offload: add flow_rule and flow_match structures and use them (Stefan Assmann) [1659162] - [netdrv] i40e: clean up several indentation issues (Stefan Assmann) [1659162] - [netdrv] i40e: increase indentation (Stefan Assmann) [1659162] - [netdrv] i40e: update version number (Stefan Assmann) [1659162] - [netdrv] i40e: remove debugfs tx_timeout support (Stefan Assmann) [1659162] - [netdrv] i40e: check queue pairs num in config queues handler (Stefan Assmann) [1659162] - [netdrv] i40e: Change unmatched function types (Stefan Assmann) [1659162] - [netdrv] i40e: Add support FEC configuration for Fortville 25G (Stefan Assmann) [1659162] - [netdrv] i40e: Limiting RSS queues to CPUs (Stefan Assmann) [1659162] - [netdrv] i40e: Remove umem from VSI (Stefan Assmann) [1659162] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Stefan Assmann) [1659162] - [netdrv] i40e: extend PTP gettime function to read system clock (Stefan Assmann) [1659162] - [netdrv] i40e: DRY rx_ptype handling code (Stefan Assmann) [1659162] - [netdrv] i40e: fix kerneldoc for xsk methods (Stefan Assmann) [1659162] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Stefan Assmann) [1659162] - [netdrv] i40e: suppress bogus error message (Stefan Assmann) [1659162] - [netdrv] i40e: Allow disabling FW LLDP on X722 devices (Stefan Assmann) [1659162] - [netdrv] i40e: update driver version (Stefan Assmann) [1659162] - [netdrv] i40e: Protect access to VF control methods (Stefan Assmann) [1659162] - [netdrv] i40e: Replace strncpy with strlcpy to ensure null termination (Stefan Assmann) [1659162] - [netdrv] i40e: Add capability flag for stopping FW LLDP (Stefan Assmann) [1659162] - [netdrv] i40e: Use a local variable for readability (Stefan Assmann) [1659162] - [netdrv] i40e: Replace spin_is_locked() with lockdep (Stefan Assmann) [1659162] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Stefan Assmann) [1659162] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Stefan Assmann) [1659162] - [netdrv] drivers: net: remove inclusion when not needed (Stefan Assmann) [1659162] - [netdrv] i40e: Remove unnecessary print statement (Stefan Assmann) [1659162] - [netdrv] i40e: Use proper enum in i40e_ndo_set_vf_link_state (Stefan Assmann) [1659162] - [nvme] nvmet: ignore EOPNOTSUPP for discard (Ewan Milne) [1696369] - [tools] tools: bpftool: fix potential NULL pointer dereference in do_load (Ivan Vecera) [1708560] - [tools] tools lib bpf: Provide wrapper for strerror_r to build in !_GNU_SOURCE systems (Ivan Vecera) [1708560] - [tools] libbpf: Remove the duplicate checking of function storage (Ivan Vecera) [1708560] - [tools] bpf: fix build error in libbpf with EXTRA_CFLAGS="-Wp, -D_FORTIFY_SOURCE=2 -O2" (Ivan Vecera) [1708560] - [tools] tools: include reallocarray feature test in FEATURE_TESTS_BASIC (Ivan Vecera) [1708560] - [tools] tools: bpftool: allow reuse of maps with bpftool prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: allow map reuse (Ivan Vecera) [1708560] - [tools] tools: bpf: make use of reallocarray (Ivan Vecera) [1708560] - [tools] tools: libbpf: move library error code into a separate file (Ivan Vecera) [1708560] - [tools] tools: bpftool: reimplement bpf_prog_load() for prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: add extended attributes version of bpf_object__open() (Ivan Vecera) [1708560] - [tools] tools: libbpf: recognize offload neutral maps (Ivan Vecera) [1708560] - [tools] tools: bpftool: allow users to specify program type for prog load (Ivan Vecera) [1708560] - [tools] tools: libbpf: expose the prog type guessing from section name logic (Ivan Vecera) [1708560] - [tools] tools: bpftool: add support for loading programs for offload (Ivan Vecera) [1708560] - [tools] tools: bpftool: refactor argument parsing for prog load (Ivan Vecera) [1708560] - [tools] selftests/bpf: add Error: prefix in check_extack helper (Ivan Vecera) [1708560] - [tools] selftests/bpf: remove duplicated word from test offloads (Ivan Vecera) [1708560] - [tools] tools: bpftool: deal with options upfront (Ivan Vecera) [1708560] - [tools] tools: bpftool: add missing --bpffs to completions (Ivan Vecera) [1708560] - [tools] tools: bpftool: drop unnecessary Author comments (Ivan Vecera) [1708560] - [tools] tools: libbpf: don't return '.text' as a program for multi-function programs (Ivan Vecera) [1708560] - [tools] tools: libbpf: restore the ability to load programs from .text section (Ivan Vecera) [1708560] - [tools] tools: libbpf: allow setting ifindex for programs and maps (Ivan Vecera) [1708560] - [tools] tools: libbpf: add section names for missing program types (Ivan Vecera) [1708560] - [tools] tools: bpftool: use correct make variable type to improve compilation time (Ivan Vecera) [1708560] - [scsi] scsi: lpfc: nvme: avoid hang / use-after-free when destroying localport (Dick Kennedy) [1588024]- [xen] ALSA: xen: Introduce shared buffer helpers for page directory... (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Initialize completion for defer messages (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Remove duplicate assignment (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Fix uninitialized adev deref (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: intel: Add pre/post bank switch ops (Jaroslav Kysela) [1683051] - [include] ALSA: soundwire: keep track of Masters in a stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Add support for multi link bank switch (Jaroslav Kysela) [1683051] - [include] ALSA: soundwire: Handle multiple master instances in a stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Add support to lock across bus instances (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix acquiring bus lock twice during master release (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix incorrect exit after configuring stream (Jaroslav Kysela) [1683051] - [drivers] ALSA: soundwire: Fix duplicate stream state assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix race between creating and refreshing sysfs entries (Jaroslav Kysela) [1683051] - [include] ALSA: ASoC: uapi: fix sound/skl-tplg-interface.h userspace compilation errors (Jaroslav Kysela) [1683051] - [include] ALSA: uapi: #include in asound.h (Jaroslav Kysela) [1683051] - [include] ALSA: timer: fix wrong comment to refer to 'SNDRV_TIMER_PSFLG_*' (Jaroslav Kysela) [1683051] - [sound] ALSA: x86/cpu: Sanitize FAM6_ATOM naming (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: don't select DPCM via simple-audio-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: don't select DPCM via audio-graph-card (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Corrected fixup for System76 Gazelle (gaze14) (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Avoid superfluous COEF EAPD setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixup headphone noise via runtime suspend (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Fix unused variable warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: toneport: Fix broken usage of timer for delayed execution (Jaroslav Kysela) [1683051] - [sound] ALSA: aica: Fix a long-time build breakage (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support low power consumption for ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: update pcm hardware constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codec: hdac_hdmi: no checking monitor in hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: save PGA for mixer control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: save output volume for mixer controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: initialize setting when ramping volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: core: fix undefined nocodec reference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: xtensa: fix undefined references (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Propagate sof_get_ctrl_copy_params() error properly (Jaroslav Kysela) [1683051] - [sound] ALSA: hdea/realtek - Headset fixup for System76 Gazelle (gaze14) (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: add CometLake PCI IDs (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support low power consumption for ALC295 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: Fix an uninitialized variable compile warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Fix a compile warning with CONFIG_PCI=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Fix a compile warning at CONFIG_COMMON_CLK=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sound/soc/sof/: fix kconfig dependency warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: change trace level on iec control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: update pcm hardware constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98090: Fix restore of DAPM Muxes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: RT5677-SPI: Disable 16Bit SPI Transfers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Consider eld_valid when reporting jack event (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Read the pin sense from register when repolling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add reserved DMA memory support (Jaroslav Kysela) [1683051] - [sound] ALSA: synth: emux: soundfont.c: divide by zero in calc_gus_envelope_time() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: Map BTN_0 to KEY_PLAYPAUSE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: add sof-rt5682 machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic:refine code style (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: skl_hda_dsp_generic: add DMIC support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: CNL: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: APL: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: IPC: add ipc dump function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: intel: hda: add hw_params_upon_resume flag for hda stream (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: handle real stream interrupts only (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-stream: store stream capabilities (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-ipc: simplify handling of IPC IRQ (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: ipc: use snd_sof_pcm_period_elapsed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: use snd_sof_pcm_period_elapsed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: PCM: add period_elapsed work to fix race condition in interrupt context (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda-pcm: remove useless dependency on hdac_ext (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: set bus->idx as 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: set I2S slave before enabling DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: add SSP info to the chip info struct (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: hda: add the SSP Host Device memory space (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: cnl: add pointer ops to use DPIB position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: topology: add support for stricter ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASOC: SOF: ipc: add support for stricter ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: add Kconfig option for strict ABI checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: avoid Oops if DMA setup fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: stream is already locked in hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: remove redundant null checks of dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: skip hw_free on codec dai for which the stream is invalid (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix valid stream condition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: unlock the device on startup errors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Update the support rate list (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Use clk_round_rate to handle enabled bclk/wclk case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Fix missing break in switch statement (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct region base typo in wm_halo_setup_algs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: fix spelling mistake "incompatble" -> "incompatible" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Use DSP ops pointers to stop watchdog in error handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix to use list_for_each_entry_safe() when delete items (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix return value check in sprd_mcdt_probe() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7213: fix DAI_CLK_EN register bit overwrite (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix kcontrols for effect widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: cache pdev->dev pointer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix potential uninitialized variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: add I2S2 control path from UL2 and UL3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: change supported formats of DL2 and UL1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: remove "model" attribute (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmix: fix object reference leaks in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs43130: fix a NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: fix a NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add Geminilake Realtek+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Make boards more available for compile test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_dma: Fix invalid license ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_i2s: Fix invalid license ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: tse850: Make some functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx: fix fiq dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: acp3x: Make acp3x_dai_i2s_ops static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Remove set but not used variable 'mclk_rate' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_micfil: Remove set but not used variable 'osr' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: Enable TDM support for DSP_A/B modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Configure wclk and bclk of master codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix build err while CONFIG_I2C set to module (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix spelling mistake "plalform" -> "platform" (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply the fixup for ASUS Q325UAR (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Register irq handler after the chip initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: usx2y: fix a double free bug (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: overwrite hdev type to HDA_DEV_ASOC (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix unregister device twice on ASoC driver (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: use dynamic buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix a memory leak bug (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: fix misuse of x (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - EAPD turn on later (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed Dell AIO speaker noise (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: select relevant machine drivers for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Make sure BDW based machine drivers build for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Build support for SOF core and Intel drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Kconfig: expose common option between SST and SOF drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add platform differentiation for APL and CNL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: add SKL+ platform DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add support for HDAudio codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA trace operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA stream operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add hda-bus support and initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA PCM operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA firmware loader (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PCI device support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add ACPI device support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA IPC mechanisms. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add Intel specific HDA DSP HW operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add HDA controller for Intel DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add APL/CNL HW DSP support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add legacy IPC support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add BDW HW DSP support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Intel: Add BYT, CHT and BSW DSP HW support. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add utils (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add xtensa support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Nocodec machine driver support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PM support (Jaroslav Kysela) [1683051] - [include] ALSA: ASoC: SOF: Add userspace ABI support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add firmware loader support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add DSP HW abstraction operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add DSP firmware logger support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add support for loading topologies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add PCM operations support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add support for IPC IO between DSP and Host (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add driver debug support. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Sound Open Firmware KControl support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: SOF: Add Sound Open Firmware driver core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: simplify dai driver initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Read pin switches conf from devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Add missing return 0 in remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: add asoc_simple_parse_pin_switches() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd fix irq mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: align quirk override handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: align quirk override handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: fix compilation warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Add support for runtime pm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Update is_slave_mode with correct value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum multi-channel data transfer support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: rt5682: initialize mutex before using (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: return the get_irq error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup 6ch settings to 8ch (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add new Dell platform for headset mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codec: hdac_hdmi add device_link to card device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: Remove set but not used variable 'stage_type' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: save fixed-up hw_params of BE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: tobermory: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: tm2_wm5110: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: speyside: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: spdif: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: snow: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_wm8994*: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_wm8580: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smdk_spdif: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: smartq_wm8987: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx_uda134x: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx_simtec*: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c2412-i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: rx1950_uda1380: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c24xx-i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: s3c-i2s-v2: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: pcm: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: neo1973_wm8753: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: lowland: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: littlemill: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: jive_wm8750: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: idma: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: h1940_uda1380: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: dmaengine: Convert to SPDX License Indentifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: bells: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: arndale: Convert to SPDX License Identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ps3: Remove set but not used variables 'start_vaddr' and 'pcm_index' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - add two more pin configuration sets to quirk table (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Don't refer to snd_cards array directly (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Drop superfluous id-uniquification behavior (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Fix card races between register and disconnect (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Fix racy addition/deletion of nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Correct unlock sequence at snd_seq_client_ioctl_unlock() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add quirk for Focusrite Scarlett Solo (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Initialize ext-bus-specific fields in snd_hdac_bus_init(), too (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Initialize power_state field properly (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Protect racy pool manipulation from OSS sequencer (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Simplify snd_seq_kernel_client_enqueue() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Cover unsubscribe_port() in list_mutex (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ALSA: seq: Protect in-kernel ioctl calls with mutex" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix missing regmap requirement (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix racy display power access (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: fix error handling when try_module_get() fails. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix master clock management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl: fix wrong number of channels (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Coding style fixes (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Simplify error path in snd_timer_open() (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix race of get-subscription call vs port-delete ioctls (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Protect in-kernel ioctl calls with mutex (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Remove superfluous irqsave flags (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Align temporary re-locking with irqsave version (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Use kvmalloc() for cell pools (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Revert active callback sync check at close (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add two more machines to the power_save_blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix spacing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: remove headset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: update module refcount if module_get_upon_open is set (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: conditionally increase module refcount on component open (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add quirk for inverted jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm1133-ev1: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: phycore-ac97: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm030-audio-fabric: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: p1022_rdk: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: p1022_ds: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mx27vis-aic32x4: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc8610_hpcd: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_i2s: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_psc_ac97: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mpc5200_dma: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-ssi: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-spdif: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-pcm-fiq: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-mc13783: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-es8328: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmux: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-dma: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eukrea-tlv320: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-pcm: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: fix sai driver name initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Use the correct dobj to free enum control values and texts (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix OOB-reads from strlcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: change mic bias DAPM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Support synchronous mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix big-endian check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix endianness issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdmout: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdm-formatter: rework quirks settings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-frddr: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-toddr: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-fifo: add g12a support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: remove link components before cleaning up card resources (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: add remove() callback for component driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l35: Disable regulators on driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add adc volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add support of master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add reset management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add regulator management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Avoid calling snd_compr_stop_error from WDT expiry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98357a: add missing supported rates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Add Playback PowerTune Controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Add Switch for Setting Common Mode Voltage (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Do not use stream buffer size before it is set (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: Mark RXFIFO_DATA as volatile and precious (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix spelling mistake "faied" -> "failed" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: Correct PDM_CTRL0 reg value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: adjust waterlevel in frame unit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: add compatible for rk1808 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: fixup pdm fractional div (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: optimize clear logic (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: add default regs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: using left justified store mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: change dma burst to 8 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: pdm: fix regmap_ops hang issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Update copyright and use SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix the smatch warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Change author's name (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add quirk for Tuxedo XC 1509 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Move to ACT_INIT state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Fix modular build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: Enable codec clock once and keep it enabled (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Fix build error in mt8183_da7219_max98357_dev_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: TS3A227: fix build error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Make use of local variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Remove redundant NULL check in wm_adsp_buffer_free (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: aic31xx_set_jack() can be static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Check for buffer in trigger stop (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer TravelMate B114-21 with ALC233 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: fix a leaked reference by adding missing of_node_put (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Align tplg pointer increment across all kcontrols (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: support driver alias names for FE topology overrides (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum audio compress offload support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix SND_SOC_LOCHNAGAR_SC kconfig warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: set power_check callback for widgets that shouldnt be always on (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add button press detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add headphone/headset detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: skip missing substream while applying symmetry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_da7213: Convert to use acpi_dev_get_first_match_dev() (Jaroslav Kysela) [1683051] - [acpi] ALSA: ACPI / utils: Introduce acpi_dev_get_first_match_dev() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: remove set but not used variable 'dai_name' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add support for inverted jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Fix typo in comment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: fix spelling mistake: "missign" -> "missing" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Add machine driver with DA7219 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Mediatek: MT8183: Add machine driver with TS3A227 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677-spi: Add ACPI ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add multi endpoint support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Fix Common Pins (Jaroslav Kysela) [1683051] - [sound] ALSA: us122l: Use alloc_pages_exact() (Jaroslav Kysela) [1683051] - [sound] ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers, take#2 (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Make snd_timer_close() really kill pending actions (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Check ack_list emptiness instead of bit flag (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Make sure to clear pending ack list (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: Unify timer callback process code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_audmix: Fix kbuild failure (Jaroslav Kysela) [1683051] - [sound] ALSA: emux: Add support of loading GUS-patch (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix speakers on Acer Predator Helios 500 Ryzen laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Add Audio Mixer machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Add Audio Mixer CPU DAI driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: enable S24_LE format support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Only enable with common clock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Allow 192000 Sample Rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Remove mclk references (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Restructure set_dai_sysclk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Dynamically Determine Clocking (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Move aosr and dosr setting to separate functions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Control clock gating with CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model BDIV divider in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Model PLL in CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Initialize private_value in snd_soc_dapm_new_dai (Jaroslav Kysela) [1683051] - [sound] ALSA: aloop: Support S24 sample formats (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Don't suspend stream in unrecoverable PCM state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix NULL pointer dereference in snd_soc_dapm_free_kcontrol (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sirf-audio: Remove redundant of_match_node call (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix incorrect extern (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the issue of 64 bits division (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Fix crash at suspend/resume after failed codec registration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Simplify alt firmware loading code (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix possible OOB access in PCM oss plugins (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of ASUS X430UN and X512DK with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset mic of ASUS P5440FF with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable ASUS X441MB and X705FD headset MIC with ALC256 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: test memory allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: lochnagar: Add driver to support Lochnagar 2 sound card (Jaroslav Kysela) [1683051] - [mfd] ALSA: mfd: lochnagar: Add support for the Cirrus Logic Lochnagar (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Properly Set Processing Blocks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mchp-i2s-mcc: add driver for I2SC Multi-Channel Controller (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: rename asoc_simple_card_xxx() to asoc_simple_() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: separate asoc_simple_card_parse_dai() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_card_init_priv() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_be_hw_params_fixup() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_dai_init() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_hw_param() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_shutdown() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: share asoc_simple_startup() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: share common priv for simple-card/audio-graph (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: add asoc_simple_debug_info() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Update DA7219 DAI clock name to align with codec updates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Expose BCLK and WCLK control through CCF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: fix channel swap issue when stream starts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_asrc: add constraint for the asrc of older version (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4270: Set auto-increment bit for register writes (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support for Acer Aspire E5-523G/ES1-432 headset mic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer Aspire Z24-890 with ALC286 (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: oss: Fix Spectre v1 vulnerability (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer AIO with ALC286 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: add mmap support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: fix debugfs warnings on entry creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: dfsdm: manage multiple prepare (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct some minor issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Don't use register read to determine slave/master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Break out clock setting into separate function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: jz4740: Depend on MIPS instead of MACH_JZ4740 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add WDT expiry IRQ handling support for Halo core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add HALO MPU fault logging (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add support for new Halo core DSPs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Reduce repititive code on mtk_regmap_update_bits. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Fix UBSAN warning. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out DSP specific operations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out parsing of firmware ID header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Refactor firmware status reading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Move wm_adsp2_set_dspclk to CODEC drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Don't export wm_adsp2_lock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Shutdown any compressed streams on DSP watchdog timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add locking to wm_adsp2_bus_error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct handling of compressed streams that restart (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free link string in error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free stream_name of dai_drv (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Don't trigger jackpoll_work in azx_resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph: add graph_parse_mclk_fs() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph: rename graph_get_conversion() to graph_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add simple_parse_mclk_fs() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: rename simple_get_conversion() to simple_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: recording has no sound after booting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: fix jack type detection issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Check JD status when system resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: skip for i2s5 in mck_disable (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: use 8 byte header for IR context to get isochronous cycle (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add support MOTU 8pre FireWire (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_JD_NOT_INV quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add support for active-high jack detect (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: spdifrx: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: Make gpio property optional (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: dt-bindings: add regulator property to simple amplifier (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: simple-amplifier: remame dio2125 documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: use 'version' field of unit directory to identify model (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: add a check for request_region (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: add a check for ioremap_nocache (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: create tlv before soc_tplg_init_kcontrol (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: merge alc_fixup_headset_jack to alc295_fixup_chromebook (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: hdmi - add Icelake support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: automatic selecting BCLK in I2S master mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the typo of function name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Fix clock configuration for 44100 sample rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8810: fix the issue of widget with prefixed name (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - add more quirks for HP Z2 G4 and HP Z240 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed Headset Mic JD not stable (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with ALC255 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: avoid build error without CONFIG_PM (Jaroslav Kysela) [1683051] - [sound] ALSA: usx2y: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Avoid NULL pointer dereference at snd_hdac_stream_start() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: axi-i2s: let both capture and playback be optional (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: src: Avoid a potential deadlock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix registers declaration in regmap (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: fix the issue of the widget with prefix name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: prevent snd_soc_dpcm use after free (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:intel:skl:fix a simultaneous playback & capture issue on hda platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:hdac_hda:use correct format to setup hda codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC:soc-pcm:fix a codec fixup issue in TDM case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: fix davinci_mcasp_probe dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ams-delta: remove duplicate 'const' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: remove compat dma probing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: use default dai name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: improve channel capabilities handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: change trigger traces (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: add i2c dependency for SND_SOC_SDM845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Fix clang warning without CONFIG_PM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: src: fix compiler warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix DAPM routes for capture stream (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: Fix probe deferral following prelink failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: avoid limiting params->msbits in hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix set_sync service (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix oversampling mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix race condition in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix exposed capabilities in spdif mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix iec958 controls indexation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ab8500: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix S/PDIF DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add quirk for MOTU MicroBook II (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd add loopback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic3x: fix reset gpio reference counting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: skip useless write in slave mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix race condition in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: remove useless callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix dma configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix stream count management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix 16 bit format support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: fix IRQ clearing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: fix dependency for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add Maxim98373 support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: gen: fix SSI9 4/5/6/7 busif related register address (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: fix construction of PCM frame for capture direction (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Extend i915 component bind timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Improve logging messages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Add support for multiple compressed buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Refactor compress stream initialisation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Reorder some functions for improved clarity (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out stripping padding from ADSP data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Fix an IS_ERR() vs NULL checking bug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: sound card name from device tree (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Prevent uninitialized variable use (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix of-node refcount unbalance in qcom_snd_parse_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Fix of_node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix of-node refcount unbalance in DAI-link parser (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Allow compressed buffers in any memory region (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Update cached error state on trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: Fix of-node refcount unbalance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: pcm186x: Fix energysense SLEEP bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix multiple "IIS multi" devices initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix secondary platform device unregistration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk: Add DAI links for Multi-Playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Add Geminilake Dialog Maxim machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Headset button support in broxton machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Rename hpvcc regulator supply to cpvdd (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau1977: Add support for setting MICBIAS via DT (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Potential small memory leak in dapm_cnew_widget() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Add missing DAPM routes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Make function 'wm8741_mute' static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: fix register setting issue in RIGHT_J mode (Jaroslav Kysela) [1683051] - [sound] ALSA: SoC: imx-sgtl5000: add missing put_device() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix missing of_node_put() at simple_dai_link_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Fix refcount underflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Ensure proper sample rate on pri/sec PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: remove set but not used variables 'mask, cr1' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: free created components in tplg load error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Make some symbols static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: select dmic for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: fix sysclk_df type (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: fix TXCLK_DF mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Add support to disable on-chip PLL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Add runtime support for DSP_A and I2S modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Fix frame polarity for DSP_A format (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Set constraint to always have 32 sample bits (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ad193x: Remove capture support for codecs without ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: fix spelling mistake "doens't" -> "doesn't" (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Expose sample resolution through proc interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Prevent potential NULL platform data dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Remove unused SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Update TDM usage to be more flexible (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add support for master mode BCLK rate adjustment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to SPDX License Indentifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Comments clean up (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Change indentation in SAMSUNG_I2S_FMTS definition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Simplify pri_dai, sec_dai pointers usage (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add missing put_device() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: Specify DMA channel names through custom DMA config (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: odroid: Add support for secondary CPU DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Get rid of a static spinlock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move quirks data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move IP variant data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Drop spinlock pointer from i2s_dai data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move SFR pointer to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: es1688: Remove set but not used variable 'hw' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Disable PC beep in passthrough on alc285 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Headset microphone and internal speaker support for System76 oryp5 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cros_ec_codec: Make symbol 'cros_ec_dai' static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: make some functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Remove unused including (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move registers cache to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move opclk data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move core clk to the driver common data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Add widgets and routes for DPCM support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Move clk supplier data to common driver data structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Restore support for the secondary PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Comment why read blocks when PCM is not running (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: remove new_mach_data field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: cnl-match.c: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: icl-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: hsw-bdw-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: glk-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: cht-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: byt-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: soc-acpi: bxt-match: remove asoc_plat_name field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: icl-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hsw-bdw-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hda-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cnl-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: byt-match.c: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt-match: remove prefix for SOF files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Convert to single component with multiple DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: dmaengine: Allow to specify custom DMA device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Extend use of chan_names provided in custom DMA config (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Improve of_node test in dmaengine_pcm_request_chan_of() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Fix prescaler setting for the secondary DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Use __printf markup to silence compiler (Jaroslav Kysela) [1683051] - [sound] ALSA: tlv320aic32x4: delay i2c access by 1 ms after hardware reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd fix rx stream assign (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Set OSR mode in hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8741: Add digital mute callback (Jaroslav Kysela) [1683051] - [sound] ALSA: PCM: check if ops are defined before suspending PCM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: use devm_kzalloc for all structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: use pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add clock select (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add soft reset on probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: set .ignore_module_refcount field in component (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: don't increase component module refcount unconditionally (Jaroslav Kysela) [1683051] - [sound] ALSA: gpiolib: acpi: Introduce ACPI_GPIO_QUIRK_ONLY_GPIOIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: convert license header to SPDX (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-analog: add missing license information (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: regulator notifier registration should be managed (Jaroslav Kysela) [1683051] - [sound] ALSA: i915/snd_hdac: I915 subcomponent for the snd_hdac (Jaroslav Kysela) [1683051] - [base] ALSA: components: multiple components for a device (Jaroslav Kysela) [1683051] - [documentation] ALSA: component: Add documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Revert capture stream behavior change in blocking mode (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix function name in kernel-doc comment (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Define snd_pcm_lib_preallocate_*() as returning void (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: fix up for snd_pcm_lib_preallocate_pages_for_all() API change (Jaroslav Kysela) [1683051] - [sound] ALSA: SoC: stm32: i2s: manage clock power (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: i2s: add power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: Remove unnecessary const qualifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs35l36: Add support for Cirrus CS35L36 Amplifier (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix implicit fb endpoint setup by quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add quirk for HP EliteBook 840 G5 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: Use C++ style comments in header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: Kconfig: Show knob, and depend on MIPS || COMPILE_TEST (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4740: Add support for devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4740: Use SPDX license notifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: Prevent clk_get_rate() calls in atomic context (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Line Playback Volume, Line Boost Volume, Line Right, Line Left, Line Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add FM Playback Volume, FM Left, FM Right, FM Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic1 Playback Switch, Mic2 Playback Switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Merge sun4i_codec_left_mixer_controls and sun4i_codec_right_mixer_controls into sun4i_codec_mixer_controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic1 Boost Volume, Mic2 Boost Volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add sun7i_codec_controls, sun7i_codec_codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add Mic Playback Volume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-codec: Add MIC2 Pre-Amplifier, Mic2 input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: jz4725b: fix spelling mistake "Deemphatize" -> "Deemphasize" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: fix semicolon.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: correct shift bit for ssiu9 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: Add jz4725b-codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: harden use of lookup tables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xtensa: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: txx9: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dwc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Clean up proc file creations (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Move card id proc creation into info.c (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Minor optimization (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Drop unused snd_info_entry.card field (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: pcmcia: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Clean up with new procfs helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Add standard helpers for card proc file entries (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: emux: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: opl4: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: Remove superfluous snd_info_register() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssm2602: switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: Add helper functions for component trigger/set_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: Clarify the intent of current compressed ops handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: remove some unnecessary NULL checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssm2602: Fix ADC powerup sequencing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Check for NULL widget in dapm_update_dai_unlocked (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: spi: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: sh: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: parisc: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: atmel: Drop superfluous PCM preallocation error checks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix build error without CONFIG_PCI (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Fix stop handling on compressed capture streams (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for new T+A USB DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: info: Always register entries recursively (Jaroslav Kysela) [1683051] - [sound] ALSA: core: Don't allow NULL device for memory allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4118: fix missing header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: btcvsd: fix spelling mistake "offest" -> "offset" (Jaroslav Kysela) [1683051] - [sound] ALSA: arm: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: unload physical dai link in remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: add SND_SOC_DOBJ_GRAPH type for dapm routes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: clear platform pointers on error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add warnings for widget overwrite when adding route (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Only power up active channels from a DAI (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix oops/use-after-free case with dai driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: fix use-after-free issue with dailink sname (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: add btcvsd driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: Add channel numbers to AIFs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup TDM Split mode check for CTU (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: synchronize connection check for simple-card/audio-graph (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup MIX kctrl registration (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Avoid passing NULL to memory allocators (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: pass struct device to DMA API functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hal2: pass struct device to DMA API functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Serialize codec registrations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use a common helper for hp pin reference (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix lose hp_pins for disable auto mute (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Headset microphone support for System76 darp5 (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: remove a superfluous function declaration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sprd: Add Spreadtrum audio DMA platfrom driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: modify dapm route loading routine and add dapm route unloading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: fix memory leak in soc_tplg_dapm_widget_create (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Fix memory leak from soc_tplg_denum_create_texts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Remove widgets from dobj list (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Reduce number of dereferences when accessing dobj (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Use standard device registration for beep (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply ALC294 hp init also for S4 resume (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Record the current power state before suspend/resume calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: remove useless test (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed hp_pin no value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cros_ec_codec: Add codec driver for Cros EC (Jaroslav Kysela) [1683051] - [documentation] ALSA: ASoC: Documentation: Add google, cros-ec-codec (Jaroslav Kysela) [1683051] - [maintainers] ALSA: MAINTAINERS: add maintainers for ChromeOS EC sub-drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix missing slimbus dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Cleanup DSD whitelist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: add slim support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add audio routings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add capture dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add playback dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add basic controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add support to wcd9335 codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: glk_rt5682_max98357a: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt_rt298: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt_da7219_max98357a: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5672: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_rt5645: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_nau8824: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_da7213: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bdw-rt5677: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: broadwell: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: haswell: platform name fixup support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add helper to change platform name for all dailinks (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: add support for Solid State Logic Duende Classic/Mini (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Variable "ret" in function rt5651_i2c_probe() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: add static inline fallbacks when CONFIG_ACPI=n (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Fix clocking calculations when not using the PLL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Implement the set_bclk_ratio interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use for_each_link_codecs() for dai_link codecs V2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Fixup build error for mt6358 (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix tight loop of OSS capture stream (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add Opus #3 to quirks for native DSD support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt6358: add codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: mt8183: add platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Allow soc_find_component lookups to match parent of_node (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use the common error path in __snd_pcm_lib_xfer() (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: Off by one in latter_handle_midi_msg() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: make const arrays static, reduces object code size (Jaroslav Kysela) [1683051] - [sound] ALSA: proc: Avoid possible leaks of snd_info_entry objects (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Simplify proc file destruction (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Drop unused snd_pcm_substream.file field (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: comment cleanup about destination address of async transactions for MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Cleanup snd_pcm_stream_lock() & co (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Remove down_write() hack for snd_pcm_link_rwsem (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: More fine-grained PCM link locking (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Fix multi-CODEC setups (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: support rx MIDI functionality for Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-specific operation to fill transaction buffer with MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add model-dependent parameter for address to receive async transaction for MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: support tx MIDI functionality of Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add model-dependent parameter for address range to receive async transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: change prototype of handler for async transaction with MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Correct the setting while select ASRC clk for AD/DA filter (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: add driver flag for runtime PM (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: implement runtime suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: remove redundant clock enable API (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: add runtime PM callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: get clock handles early in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: runtime power management support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: rename to asoc_simple_card_canonicalize_platform() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use for_each_link_codecs() for dai_link codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add soc_cleanup_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: reduce if/else nest on soc_probe_link_dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: merge card resources cleanup method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add new snd_soc_flush_all_delayed_work() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add .num_platform for dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Avoid confusing loop in snd_pcm_unlink() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Make PCM linked list consistent while re-grouping (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Unify snd_pcm_group initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Call snd_card_unref() inside in_pcm_file() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add mute LED support for HP ProBook 470 G5 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for Fireface UCX (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to parse of clock configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring for dump of sync status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to get clock status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to switch mode to fetch PCM frame (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add protocol-dependent operation to dump status (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: obsolete proc node to leave one node (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: unify protocol layer for FF400/FF800 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: rename protocol layer for former models (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc.h: add explanation of legacy/modern style of dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_sai: Remove expensive print in irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove error due to probe deferral (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-spdif: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: don't print EPROBE_DEFER as error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: lower log level for potential probe deferral cases (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: put of nodes if finding codec fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix oops on re-probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add default pdata for i2s mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Set DAI format for dmic codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Kconfig: select max98927 for sdm845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-audmux: change snprintf to scnprintf for possible overflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514-spi: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: change snprintf to scnprintf for possible overflow (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix PLL source register definitions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Don't defer probe on optional, NULL components (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Make snd_pcm_suspend() local static (Jaroslav Kysela) [1683051] - [sound] ALSA: pcmcia: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: arm: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ppc: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Remove superfluous snd_pcm_suspend*() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: Move PCM suspend/resume code into trigger callback (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Suspend streams globally via device type PM ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Make snd_soc_find_component() more robust (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: fix init platform memory handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: parse AES audio parameters (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: Select REGMAP_MMIO to fix build error (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: msm8916-wcd-digital: remove few unused variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4341: fix waring unused-function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: program stripe control for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: program stripe bits for controller (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add verbs for stripe control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add register offset for stripe control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add api to program stripe control bits (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skl: Fix display power regression (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix typo for ALC225 model (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: Hold client_mutex around soc_init_dai_link() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: use correct drvdata in snd_byt_cht_es8316_mc_remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: move the codec PLL configuration to _init (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is deprecated (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add recalc_rate function to return DAI clock rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: MCLK should be enabled before DAI clocks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: defer card probe until all component is added to list (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Remove set but not used variable 'first_ch_bits' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix a mask wrong issue in snd_hdac_stream_start() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix mismatches for register mask and value in hdac controller (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: fix CM6206 register definitions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: Variable "buf" in function rt274_jack_detect() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ADAU7002: Add optional delay before start of capture (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Potential NULL dereference in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirk for PoV TAB-P1006W-232 (v1.0) tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add support for jack-detect using an external GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirks module parameter (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Revert "Fix DMIC map headsetmic mapping" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add support for jack detect using an external GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add ACPI ID 10EC5640 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add quirk for PoV P1006W tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: update BSDSR/BSDISR handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sgtl5000: Allow SCLK pad drive strength to be changed (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable SPDIF driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: add SPDIF audio driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic32x4: Kernel OOPS while entering DAPM standby mode (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Add MICFIL SoC Digital Audio Interface driver. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: eliminate left-over from Raumfeld machine driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt298: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rl6437a: use __be32 for a __be32 buf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: store eq kcontrol byte in __be (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: use logical AND (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: fix endianness issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mt6351: remove unneeded variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tscs42xx.c: fix boolean test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: fix boolean assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98927: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5640: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rt286: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: fix boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4271: fix boolean assignments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98383: fix boolean assignments to true/false (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5670: remove unused mux/mixer define (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5645: remove unused mux define (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: fix kernel doc descriptions (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: remove unused constant variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98090: remove unused constant variables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: declare trigger function as static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4458: Add support for AK4497 (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: fix a missing check of snd_ctl_add (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: fix check on snd_card_register (Jaroslav Kysela) [1683051] - [sound] ALSA: ice1712: fix a missing check of snd_i2c_sendbytes (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: add a check of the status of snd_ctl_add (Jaroslav Kysela) [1683051] - [sound] ALSA: oxygen: initialize spdif_playback_enable to 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: virtuoso: add de-emphasis control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support Dell headset mode for New AIO platform (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Always check descriptor sizes in parser code (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Check mixer unit descriptors more strictly (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: Add support for GPIO mode of the pins (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: Move context save/restore to runtime_pm callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: davinci-mcasp: No need for IS_MODULE/BUILTIN check for pcm driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirks for ASUS MeMO Pad 7 (ME176C) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: sst: Fallback to BYT-CR if IRQ 5 is missing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: sst: Simplify is_byt_cr() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Add ACPI match table entry for ES8316 codec on BYTCR platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Set card long_name based on quirks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add input-map support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add external speaker mux support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add jack-detect support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Add support for SSP0 (BYTCR) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Minor refactoring (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcht_es8316: Sort includes alphabetically (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator: fixed: Let core handle GPIO descriptor (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator/gpio: Allow nonexclusive GPIO access (Jaroslav Kysela) [1683051] - [regulator] ALSA: regulator: fixed: Default enable high on DT regulators (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add DAC mono mix switch mixer control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8316: Add jack-detect support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Variable "val" in function rt274_i2c_probe() could be uninitialized (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: fix platform_no_drv_owner.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: fix error handling in xlnx_formatter_pcm_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add workaround for silence of rk3288 ACODEC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: support ACODEC for rk3328 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: reduce naming prefix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: cleanup DAI link loop method - step2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: cleanup DAI link loop method - step1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add link_info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add 1 CPU : 1 Codec support again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: add asoc_simple_card_get_conversion() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: reduce naming prefix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: cleanup DAI link loop method - step2 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: cleanup DAI link loop method - step1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add link_info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add 1 CPU : 1 Codec support again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable audio formatter driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: add pcm formatter platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: remove simple-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove audio-graph-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add asoc_graph_card_get_conversion() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: check "reg" property on asoc_simple_card_get_dai_id() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: boards: use snd_mask_set_format in all machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: simplify boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Baytrail: simplify boolean test (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Baytrail: remove unneeded variable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: assign booleans to true/false (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: remove unneeded semicolon (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: simplify boolean tests (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: remove useless cast (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: enable MCLK in STANDBY (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: save model id directly in of_device_id.data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: make the driver visible in Kconfig (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4341: Add driver for CS4341 DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix recording no sound issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: atom: Make PCI dependency explicit (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: prevent potential divide by zero bugs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Fix a small memory leak (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Fix a NULL vs IS_ERR() bug (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Off by one in of_q6asm_parse_dai_data() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Fix a double unlock in pcm512x_digital_mute() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: change license header format style (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell/Broadwell: fix setting for .dynamic field (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: Grammar s/the the/the/ (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dma-sh7760: cleanup a debug printk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: set jack only for a specific backend (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Revert DSP detection on legacy HD-audio driver (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: clear pending irq handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable the headset mic auto detection for ASUS laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: HD-Audio: SKL+: force HDaudio legacy or SKL+ driver selection (Jaroslav Kysela) [1683051] - [sound] ALSA: HD-Audio: SKL+: abort probe if DSP is present and Skylake driver selected (Jaroslav Kysela) [1683051] - [sound] ALSA: HDA: export process_unsol_events() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX391UA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: fix model-id of unit for Apogee Ensemble (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Use Xen common shared buffer implementation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: Kconfig: Remove the deprecated options (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ti: Merge davinci and omap directories (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add mute LED support for HP EliteBook 840 G4 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to handle model-specific registers (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for packet streaming on Fireface 800 (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: allocate isochronous resources in mode-specific implementation (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: code refactoring to handle multiplier mode (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share helper function to switch fetching mode (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix for state to fetch PCM frames (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: use the same print format for 'without_header' tracepoints (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix wrong assignment for 'out_packet_without_header' tracepoint (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add display_port_rx port routing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add support to Display port RX dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: qdafe: add support for display_port_rx (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Add support to compress offload (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: add support to MP3 format (Jaroslav Kysela) [1683051] - [sound] ALSA: soc-compress: add support to snd_compr_set_runtime_buffer() (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: make use of runtime buffer for copy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add more platform granularity (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup prefix for snd_soc_codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup convert_rate/channel method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: tidyup mclk-fs method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: merge simple-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup prefix for snd_soc_codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup convert_rate/channel method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup mclk-fs method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: merge audio-graph-scu-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() ID method (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Invoke pcm_new() for all DAI-link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm512x: Implement the digital_mute interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: fix do_div warning in spdifin (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: add error logs on probe, remove dependency on NHLT (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: remove useless tests on HDaudio capabilities (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: stop probe if HDaudio capabilities don't exist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Harden DSP detection with PCI class/subclass info (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add CFL-S support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add powersaving widgets for DAC and ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: enable i2s driver build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: xlnx: Add i2s driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg spdif input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-toddr: add support for spdifin backend (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: Dereference pointer for memcpy sizeof in asoc_simple_card_probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: add support for Huawei WMI micmute LED (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix front speakers on Huawei MBXP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove RSND_REG_ from rsnd_reg (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for Fireface 800 with MIDI functionality only (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: localize a handler for MIDI messages on tx transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add driver data for register for MIDI high address (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share register for async transaction of MIDI messages (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: add support for second optical interface for ADAT stream (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share helper function to get current sampling rate and clock source (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share status and configuration dump (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: share some registers for status of clock synchronization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: care multi DPCM codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup "convert-rate/channels" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: care link / dai count (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: add dai-link support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - make pci_iounmap() call conditional (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi: Always set display_power_control for Intel HSW+ codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: Add missing display power-off at driver removal (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Make snd_hdac_display_power() void function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Properly free the display power at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Drop superfluous AZX_DCAPS_I915_POWERWELL checks (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Refactor display power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup asoc_simple_card_parse_daifmt() timing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: use cpu/codec pointer on simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fix build warning without CONFIG_OF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: add rt5663 codec select (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: fix the audio jack button remapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Point of View Mobii TAB-P1005W-232 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Prowise PT301 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX433FN/UX333FA with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Enable audio jacks of ASUS UX533FD with ALC294 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: ALC294 mic and headset-mode fixups for ASUS X542UN (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/intel: Refactoring PM code (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix reference to wrong register for clock configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix the mute LED regresion on Lenovo X1 Carbon (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Add copyright and module author (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add configuration for headset codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add TDM configuration for speaker (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix signal paths (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Calculate LRCLK divider (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Remove useless assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Enable headset button support for new codec (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add jack button support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add jack pointer and unsolicited event bits to callback (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fixed headphone issue for ALC700 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5660: Add a new ACPI match ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: ak4104: move to GPIO consumer API (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: cs4270: move to GPIO consumer API (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: use dma_ops of parent device for acp_audio_dma (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: use DMA addr rather than CPU pa for acp_audio_dma (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Gnawty (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Remove direct OF name and type accesses (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Use of_node_name_eq for node name comparisons (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4860G/Z6860G (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4660G (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add support for Acer Aspire C24-860 headset mic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added max98373_reset for stable amp reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: care multi DPCM codec_conf (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: use cpu/codec pointer on graph_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: care link / dai count (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() counting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add missing TDM Split mode support for simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup mod ID for CTU regmap read/write (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: indicates Channel and Mode for debug (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Add Tegra186 and Tegra194 support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra - Probe up to 8 codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Clapper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove raumfeld machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add ACPI matching tables for ICL (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix speaker output regression on Thinkpad T570 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: au8540: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add support for AMD Stoney Ridge (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix starvation on down_write_nonblock() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Call snd_pcm_unlink() conditionally at closing (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/tegra: compatible string as shortname (Jaroslav Kysela) [1683051] - [platform] ALSA: platform/x86: thinkpad_acpi: Add audio mute LED classdev support (Jaroslav Kysela) [1683051] - [platform] ALSA: platform/x86: dell-laptop: Add micmute LED trigger support (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Support led audio trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: Don't disable pcm3168a when CONFIG_PM defined (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: introduce module_param wakeup_delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: introduce mode switch delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: sdm845: Create and setup jack in init callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: sdm845: Add board specific dapm widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Implement configurable dismod handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Update PDIR (pin direction) register handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Clear TXSTAT register before activating serializers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Add FW reply for MCLK/SCLK IPC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Make DSP replies more human readable (Jaroslav Kysela) [1683051] - [drivers] ALSA: leds: trigger: Introduce audio mute LED trigger (Jaroslav Kysela) [1683051] - [drivers] ALSA: leds: core: Introduce LED pattern trigger (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup registering method for rsnd_kctrl_new() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Support ALC300 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add auto-mute quirk for HP Spectre x360 laptop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9867: Fix whitespace (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc.h: makes snd_soc_of_parse_audio_prefix() inline (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fix a NULL vs IS_ERR() check in probe (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: fix spelling mistake "Frequence" -> "Frequency" (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers" (Jaroslav Kysela) [1683051] - [sound] ALSA: Replace snd_malloc_pages() and snd_free_pages() with standard helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: control: Consolidate helpers for adding and replacing ctl elements (Jaroslav Kysela) [1683051] - [sound] ALSA: control: Fix race between adding and removing a user element (Jaroslav Kysela) [1683051] - [sound] ALSA: sparc: Fix invalid snd_free_pages() at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: wss: Fix invalid snd_free_pages() at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - fix headset mic detection for MSI MS-B171 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add ASRock N68C-S UCC the power_save blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: Fix incorrect bit shift at AC97-SPSA control write (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: notify events of change of state for userspace applications (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: apply small refactoring to handle several type of event for hwdep interface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: queue events for change of control surface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: add new hwdep ioctl command to get state image (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: pick up data of state from tx isochronous pakcets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcpdm: Add pm_qos handling to avoid under/overruns with CPU_IDLE (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Fix latency value calculation for pm_qos (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup define position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: tidyup typo SND_AUDIO_GRAPH_CARD (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup asoc_simple_card_parse_daifmt() timing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup "convert-rate/channels" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: tidyup "prefix" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: tidyup "prefix" parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add snd_soc_of_parse_node_prefix() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: add VCC regulator widget (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: sun50i-codec-analog: Add support for cpvdd regulator supply (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: remove "option" from asoc_simple_card_of_parse_routing() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: tidyup asoc_simple_card_parse_convert() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: accept NULL parameter on asoc_simple_card_xxx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: remove asoc_simple_card_clk_register() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: makes rsnd_ssi_is_dma_mode() static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup rsnd_parse_connect_ssiu_compatible() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Add support for Secondary MI2S interface (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: Update slot_width for Quaternary TDM port (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use platform_data for machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: fix interface for Chromebook machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: acpi: define common interface for machine driver configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: acpi: fix: continue searching when machine is ignored (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: fix Kconfigs, make HDaudio codec optional (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic3x: Add support for CBM_CFS and CBS_CFM clocking modes (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Use device_type helpers to access the node type (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - fix AE-5 pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add new ZxR quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: clean up indentation, replace spaces with tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Fix error handling of regulator_set_load (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: fix spelling mistake "Inavlid" -> "Invalid" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: fix indentation issue with return statement (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320dac33: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: asihpi: clean up indentation, remove extraneous tab (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Convert a few more users to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Add regulator support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4118: Add support for AK4118 S/PDIF transceiver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Fix device reset-registers trigger value (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: remove set but not used variable 'dma_buffer' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Fixed build errors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Recalculate audio map forcely when card instantiated (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-abe-twl6040: Fix missing audio card caused by deferred probing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: fix memory leak of i2s_data on error return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add DT property for single-ended output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Rename output widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Set dai_link id to each dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: add missing route for ADC (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: enable acp3x drivers build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x system resume pm op (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x runtime pm ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x tdm mode support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x i2s ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add acp3x pcm driver dma ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: Interrupt handler changes for ACP3x DMA driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: add ACP3x PCM platform driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: amd: create ACP3x PCM platform device (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: add ACP3.0 PCI driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: add ACP 3.x IP register header (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Power down links before turning off display audio power (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hdac_hdmi: add Icelake support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Factor out common init code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Fix dma-unsafe read of scratch registers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add missing slave_config setting for I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: No need to initialize max_xx_thres when it is not used (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Remove redundant check for mcbsp->pdata (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Re-arrange files for core McBSP and Sidetone function split (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Move out the FIFO check from set_threshold and get_delay (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Simplify the mcbsp_start/_stop function parameters (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Clean up the interrupt handlers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Skip dma_data.maxburst initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: Clean up dma_data addr initialization code (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: add support for APOGEE duet FireWire (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Call pci_iounmap() instead of iounmap() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add quirk entry for HP Pavilion 15 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Optimize for non-PCI configuration (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use ring buffer for rsnd_mod_name() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: fix crash on module removal (Jaroslav Kysela) [1683051] - [sound] ALSA: oss: Use kvzalloc() for local buffer allocations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_ssi: Change to use DEFINE_SHOW_ATTRIBUTE macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add TDM Split mode support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add SSIU BUSIF support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: handle DPCM converted rate/chan under core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: move HDMI information from ssi.c to core.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use defined io_playback/io_capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: rename rsnd_runtime_is_ssi_xxx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove error check which never happen (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: remove endpoint bidirectional check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add quirk for APL RVP boards (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add SOF information for APL RVP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: boards: fix Skylake typo (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use standard interface for Atom machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: use standard interface for Hdaudio machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: change ac97 dependencies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap: Remove unused machine driver for AM3517-evm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: remove read-only status register from snd_kcontrol_new (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak5558: Remove redundant snd_soc_component_read32 calls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Fix the dai widgets (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: Only add routing once. (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Define registers for CM6206 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: Fix wrong MI2S SD line mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: cht_bsw_max98090_ti: Add quirk for boards using pmc_plt_clk_0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: rsnd_mod_name() handles both name and ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add .get_id/.get_id_sub (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: move .get_status under rsnd_mod_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: cleanup hw_constraint for LEFT_J/I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcbsp: On OMAP1 and OMAP2420 only 16bit format is supported (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: constify regulator_desc structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: constify snd_soc_dai_ops structures (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8825: remove unnecessary unlikely() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: mrfld: fix uninitialized variable access (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm97xx: fix uninitialized regmap pointer problem (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: constify snd_soc_ops structure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix less than zero comparison on unsigned int (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: rename SND_SUNXI_ADDA_PR_REGMAP to SND_SUN8I_ADDA_PR_REGMAP (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Rip out the lpe audio runtime suspend/resume hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: x86: Fix runtime PM for hdmi-lpe-audio (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup clock start checker (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix oops w/ for_each_rtd_codec_dai_rollback() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size (Jaroslav Kysela) [1683051] - [sound] ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: fix to wait for releases of all ALSA character devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix noderef.cocci warnings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: fix master clock naming (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: add clock dependency for sai (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Actually fix microphone issue (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-i2s: move code from startup/shutdown hooks into pm_runtime hooks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm2000: Remove wm2000_read helper function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: fix mclk support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Log addresses as 8 digits in wm_adsp_buffer_populate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Rename memory fields in wm_adsp_buffer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs42l51: add mclk support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: set sai as mclk clock provider (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: fix trivial checkpatch issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add support for hw_free on CODEC to CODEC links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98927: minor white space clean up (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c/cs8427: Fix int to char conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: tidyup SSICR::SWSP for TDM (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: enable TDM settings for SSI parent (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add hw constraint for capture channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sta32x: Add support for XTI clock (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8822: new codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra_sgtl5000: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: allow the sun8i-codec driver to be built on ARM64 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sunxi: Add new driver for Allwinner A64 codec's analog path controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec-analog: split regmap code into separate driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun8i-codec: Don't hardcode BCLK / LRCK ratio (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sun4i-i2s: Add compatibility with A64 codec I2S (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: don't pass GFP_DMA32 to dma_alloc_coherent (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add 2 more models to the power_save blacklist (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add Kabylake Dialog+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add KBL Dialog Maxim I2S machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add SND_JACK_LINEOUT jack type (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: don't pass GFP_DMA32 to dma_alloc_coherent (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add I2S/Left_J TDM support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add hw constraint for channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3168a: add HW constraint for non RIGHT_J (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sta32x: set ->component pointer in private struct (Jaroslav Kysela) [1683051] - [sound] ALSA: au88xx: Add fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: opti92xx-ad1848: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: oss: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: caiaq: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add missing entries to Kconfig (Jaroslav Kysela) [1683051] - [sound] ALSA: isight: fix leak of reference to firewire unit in error path of .probe callback (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort DHT Rot Pnt Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort max98373_bde_gain_tlv in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort BDE Limiter Thresh Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Sort Digital Volume in reverse order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: enable mclk-fs on codec node (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: use 32bit TDM width as default (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98988: add I2C dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: simplify cleanup process when failing to register sound card (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob/fireworks: simplify handling of local device entry table (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: release reference count of firewire unit in .remove callback of bus driver (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: block .remove callback of bus driver till all of ALSA character devices are released (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix headphone pin config for ASUS G751 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix input effect controls for desktop cards (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add error checking in ca0132_build_controls() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up patch_ca0132() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix microphone inconsistency issues (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98988: make it selectable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98088: Add master clock handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8782: add support for regulators (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add ASUS G751 quirk model entry (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Add quirk for ASUS G751 laptop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Use the standard fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: Add fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt274: Add fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau1761: Use the standard fall-through annotation (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add custom mixer status quirks for RME CC devices (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: update quirk for B&W PX to remove microphone (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/sigmatel - Disable automute for Elo VuPoint (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: A lightweight function to discard pending bytes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add fault detect recovery property to DT bindings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: enable and disable extclk if given (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: checking NULL vs IS_ERR() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: skylake: Add missing break in skl_tplg_get_token() (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: use managed-resource to maintain cache of stream formats (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: use managed-resource to maintain model-specific data (Jaroslav Kysela) [1683051] - [sound] ALSA: fireworks: use managed-resource to maintain response buffer (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use managed-resource to maintain data specific to M-Audio FW-1814/ProjectMix I/O (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire: use managed-resource of fw unit device for private data (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Cannot adjust speaker's volume on Dell XPS 27 7760 (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-lib: add PCM rules to obsolete PCM constraints based on LCM of SYT_INTERVAL (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR exit commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR 600 ohm gain control (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Remove input select enum for ZxR (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR input/output select commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR DSP post-download commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR init commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DBpro hda_codec_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add ZxR quirks + new quirk check function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix surround sound with output effects (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Fix AE-5 control type (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix mismatch for register mask and value in ext controller. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: qdsp6: remove duplicated include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9712: fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: add SND_SOC_I2C_AND_SPI dependency (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: avoid AC97_BUS build warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils: Rename dummy_dma_ops to snd_dummy_dma_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98088: add OF support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add a MIC pre. route (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_component_dais() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_component() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup SSI clock during suspend/resume modes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: qdsp6: remove duplicated include from q6adm.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tidyup for_each_card_prelinks() dai_link (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5663: Remove the boost volume in the beginning of playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_dpcm_be() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_dpcm_fe() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_comp_order() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_components() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_rtds() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_links() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_card_prelinks() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rename for_each_rtd_codec_dai_reverse to rollback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: convert for_each_rtd_codec_dai() for missing part (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 exit function (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 specific controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add input selection commands for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add output set commands for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up ca0132_alt_out_select (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DSP setup functions for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Merge post-dsp functions + cleanup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change firmware name and usage (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 regular init setup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add AE-5 pre-init and ca0113 functions (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change ca0132_mmio_init for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Set AE-5 bools and select mixer (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add pincfg for AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add quirk for Sound BlasterX AE-5 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Define new verbs and control params (Jaroslav Kysela) [1683051] - [sound] ALSA: xen-front: Refine indentations and constify snd_pcm_ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix the audio-component completion timeout (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677-spi: Drop unused GPIO include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Minor code modification (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix capture unstable in beginning for some runs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Fix the boost volume at the begining of playback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Update calibration function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Remove HP volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Improve HP performance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: remove redundant include (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514-spi: Get the period_bytes in the copy work to make sure the value correctly (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: add snd_soc_is_matching_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: manage platform name under snd_soc_init_platform() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: remove duplicated include from q6asm-dai.c (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hisilicon: fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es8328: Fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: fireworks: fix memory leak of response buffer at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak of discovered stream formats at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak for model-dependent data at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: fix memory leak for M-Audio FW1814 and ProjectMix I/O at error path (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: fix fall-through annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Enable runtime PM only for discrete GPU (Jaroslav Kysela) [1683051] - [sound] ALSA: oxfw: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-tascam: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-digi00x: fix memory leak of private data (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0m: Register irq handler after register initializations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix implicit definition of pci_iomap() on SH (Jaroslav Kysela) [1683051] - [sound] ALSA: don't call skl_init_chip() to reset intel skl soc (Jaroslav Kysela) [1683051] - [sound] ALSA: enable interrupt after dma buffer initialization (Jaroslav Kysela) [1683051] - [sound] ALSA: Revert "ASoC: Intel: Skylake: Acquire irq after RIRB allocation" (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove dai->driver NULL check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to card rebind (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: remove unneeded static set .owner field in platform_driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add missing INTERLEAVED PCM attribute (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: remove unused num_dai_links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: avoid nested code on soc_remove_dai() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5668: remove empty rt5668_i2c_remove() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: fix unused variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: switch to new ac97 bus support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix simultaneous playback and capture on different channel (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: fix possible info leak to userspace on SNDRV_EMU10K1_IOCTL_INFO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add missing return value check for snd_soc_dapm_new_dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: skl-topology: Use kmemdup to replace kzalloc + memcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: q6core: Use kmemdup to replace kzalloc + memcpy (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: txx9: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nuc900: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tscs454: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5668: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: bcm: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel_ssc_dai: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Ensure reset bit is cleared before configuring (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: clean up a return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix a couple uninitialized ret variables (Jaroslav Kysela) [1683051] - [sound] ALSA: fireface: fix memory leak in ff400_switch_fetching_mode() (Jaroslav Kysela) [1683051] - [sound] ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Update hardware pointer before start capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: usleep_range() needs include/delay.h (Jaroslav Kysela) [1683051] - [sound] ALSA: regmap: split up regmap_config.use_single_rw (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: hdac_hdmi: Limit sampling rates at dai creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Avoid uninitialised variable warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sgtl5000: avoid division by zero if lo_vag is zero (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: don't use p for dev_dbg() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: don't fallback to PIO mode when -EPROBE_DEFER (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: adg: care clock-frequency size (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: gen: use tab instead of white-space (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: remove redundant check for !port condition (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move CODEC to CODEC params from the widget to the runtime (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Add support for multi-CODEC CODEC to CODEC links (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move connection of CODEC to CODEC DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Cosmetic tidy up of snd_soc_dapm_new_control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Move error handling to snd_soc_dapm_new_control_unlocked (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_rtd_codec_dai() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: add for_each_link_codecs() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add overflow detection support (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: Cleanup indirect PCM helper usages (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: mips: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: rme32: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix several mismatch for register mask and value (Jaroslav Kysela) [1683051] - [sound] ALSA: aoa: Convert to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Don't schedule DAPM work if already in target state (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Add driver for PROTO Audio CODEC (with a WM8731) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: merge .nolock_start and .prepare (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: Support to init different BUSIF instance (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssiu: Support BUSIF other than BUSIF0 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rsnd: dma: Calculate PDMACHCRE with consider of BUSIF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoc: rsnd: dma: Calculate dma address with consider of BUSIF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssi: Check runtime channel number rather than hw_params (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: ssi: Fix issue in dma data address assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: remove is_play parameter from hw_rule function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for 8 bit S8 format (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for the DSP_A/DSP_B formats (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add support for 16/24 bit slot widths (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add warning message to rsnd_kctrl_accept_runtime() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: fixup not to call clk_get/set under non-atomic (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Initialize allocated buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tlv320aic31xx: Add short circuit detection support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fix soc-core.c kernel-doc warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: q6routing: initialize data correctly (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Add channel fault reporting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Save last fault register even when clear (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas6424: Print full register name in error message (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: remove dai_link compatible code for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: support snd_soc_dai_link_component style for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: use snd_soc_dai_link_component for platform (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-util: remove dai_link compatible code for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card: use simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card: use simple_dai_props (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple_card_utils: support snd_soc_dai_link_component style for codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add a S/PDIF enable switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: Add native 32bit I2S transport (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4265: SOC_SINGLE register value error fix (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: tas5720: add TAS5722 TDM slot width setting support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: tas5720: add TAS5722 specific volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-mcasp: Add support for FIFO usage caused delay reporting (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix cancel_work_sync() stall from jackpoll work (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Clean up jackpoll_ms option handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg pdm input (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: add DT module alias (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmic: add Kconfig prompt for the generic dmic codec. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau17x1: Unused exported functions changed to internal (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Improve legibility of if-statements (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Improve stylistics of file comments (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel: tse850: switch to SPDX license identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Change MCLK to 48Mhz (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Set constraints for DMIC and MAX98357a codec (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm3060: Add codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: cht-bsw-rt5672: Add key-mappings for the headset buttons (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add quirk for Thinkpad 8 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5670: Add quirk for Thinkpad 8 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau17x1: Implemented safeload support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sigmadsp: safeload should not have lower byte limit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hda: add asoc extension for legacy HDA codec drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: use hda_bus instead of hdac_bus (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: add HDA BE DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: use HDAudio if ACPI enumeration fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Machine driver for SKL+ w/ HDAudio codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add table for HDA-based platforms (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: move hda_codec.h to include/sound (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8804: Add ACPI support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Update calibration function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: Change DAC/ADC volume scale (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added 10ms sleep after amp software reset (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-tdm: restrict formats depending on slot width (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-fifo: report interrupt request failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: imply clock and reset controllers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: Properly initialise hw->rate_max (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Don't fail creating new DAPM control on NULL pinctrl (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Remove clock framework ifdefs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Convert to using pOFn instead of device_node.name (Jaroslav Kysela) [1683051] - [sound] ALSA: intel_hdmi: Use the new non-cached allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Use the new non-cached allocation for 440MX workaround (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Remove substream allocation/free ops (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Use new non-cached allocation for non-snoop mode (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Check the non-cached stream buffers more explicitly (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Add non-cached buffer type (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Simplify snd_malloc_dev_pages() calls (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Don't align the size to power-of-two (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Do error checks at creating system ports (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: add error check in snd_seq_system_client_init() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: signedness bug in snd_pcm_plug_alloc() (Jaroslav Kysela) [1683051] - [sound] ALSA: hdspm: fix spelling mistake "Initializeing" -> "Initializing" (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Return 0 when size < start_threshold in capture (Jaroslav Kysela) [1683051] - [kvm] ALSA: treewide: correct "differenciate" and "instanciate" typos (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Fix HP Headset Mic can't record (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix unbalanced pm_runtime_enable (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix check of pm_runtime_get_sync failure (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: fix device initialization in the compat layer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514: Fix the issue of the delay volume applied again (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added speaker FS gain cotnrol register to volatile. (Jaroslav Kysela) [1683051] - [sound] ALSA: update dell-wmi mic-mute registration to new world order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix NULL pointer deference on CODEC to CODEC DAIs (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Fix discarding the unsubscribed output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: Acquire irq after RIRB allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9712: fix replace codec to component (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirks for 2 more devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adav80x: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: Add delays to capture path to remove DC offset noise (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add exit commands for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Change mixer controls for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D input and output select commands (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add DSP setup defaults for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D startup functions and setup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add bool variable to enable/disable pci region2 mmio (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add Recon3D pincfg (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add quirk ID and enum for Recon3D (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Add alt_functions unsolicited response (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Clean up ca0132_init function. (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Create mmio gpio function to make code clearer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Make DSP name configurable by codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Declare firmware controls from codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max98373: Added software reset register to readable registers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct DSP pointer for preloader control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677: Fix initialization of rt5677_of_match.data (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: compress: make BE and FE order inline with dpcm (Jaroslav Kysela) [1683051] - [sound] ALSA: intel_hdmi: remove redundant variable cfg_val (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Set delay value for the capture case (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Modified DMA pointer for capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Make ACP->SYSMEM DMA non circular (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8994: Fix missing break in switch (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add SLIM tx AIF_IN dapm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: remove unused header files from common.h (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sdm845: remove unused header files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: remove unused header files (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: make common.c as proper module (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8903: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da9055: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm5100-tables: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7213: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: twl6040: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7219: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8996: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cs4270: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8990: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tda7419: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5631: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: max9850: use true and false for boolean values (Jaroslav Kysela) [1683051] - [sound] ALSA: dice: fix wrong copy to rx parameters for Alesis iO26 (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add mute LED quirk for HP Spectre x360 (Jaroslav Kysela) [1683051] - [sound] ALSA: seq_oss: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: samsung: i2s: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-dmic: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_esai: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: omap-mcpdm: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci-i2s: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: fix memory leak (Jaroslav Kysela) [1683051] - [sound] ALSA: synth: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: pci: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: i2c: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: isa: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: drivers: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: compress: Remove empty init and exit (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: fix spelling mistake "acumulator" -> "accumulator" (Jaroslav Kysela) [1683051] - [sound] ALSA: es18xx: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: opti9xx: mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: opti92x: mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: galaxy: Mark expected switch fall-throughs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bxt: Use refcap device for mono recording (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: remove support for card rebind using component framework (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: smd845: remove auto rebinding (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: apq8096: remove auto rebinding (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Fix unmet dependency warning for SND_SOC_SDM845 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8994: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm9081: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8995: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8962: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8996: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8904: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8960: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8955: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5677: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5640: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8961: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix a typo (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix invalid use of sizeof in parse_uac_endpoint_attributes() (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Drop unused 64bit division macros (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Use no intrruptible mutex_lock (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix leftovers at probe error path (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Remove dead codes (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Minor cleanup of MIDI event parser helpers (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm: Use delay set in component pointer function (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix build (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: Fix build due to CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: remove redundant pointer 'urb' (Jaroslav Kysela) [1683051] - [sound] ALSA: sonicvibes: remove redundant pointer 'dir' (Jaroslav Kysela) [1683051] - [sound] ALSA: ens137x: remove redundant array pcm_devs (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: remove redundant variable attn (Jaroslav Kysela) [1683051] - [sound] ALSA: cs5535audio: remove redundant pointer 'dma' (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: remove redundant variable max_streams (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: remove redundant pointers 'priv' and 'rtd' (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8540: remove redundant variable osrate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: add sdm845 sound card support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Add support to parse common audio device nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add CLASS-H Controller support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wcd9335: add support to wcd9335 codec (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Operate UAC3 Power Domains in PCM callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add UAC3 Power Domains to suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: AudioStreaming Power Domain parsing (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Initial Power Domain support (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Use READ_ONCE/WRITE_ONCE() macros (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: virmidi: Offload the output event processing (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: change functions to static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: add support for multichannel output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sirf: Fix potential NULL pointer dereference (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra_alc5632: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh: Kconfig: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4613: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: da7210: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4554: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4642: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm8988: fix typo in rate constraints (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: i2s: Fix typo/broken macro (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi: Use single mutex unlock in error paths (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Turn CX8200 into D3 as well upon reboot (Jaroslav Kysela) [1683051] - [sound] ALSA: ctxfi: cthw20k2: Replace mdelay() with msleep() and usleep_range() (Jaroslav Kysela) [1683051] - [sound] ALSA: ALSA:: ctxfi: cthw20k1: Replace mdelay() with msleep() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: quirks: Replace mdelay() with msleep() and usleep_range() (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp_modem: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: atiixp: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: bt87x: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: echoaudio: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: maestro3: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0m: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: intel8x0: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: lola: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: mixart: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: riptide: Properly endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Proper endian notations for BDL pointers (Jaroslav Kysela) [1683051] - [sound] ALSA: trident: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: ymfpci: Proper endian notations (Jaroslav Kysela) [1683051] - [sound] ALSA: xen: Use standard pcm_format_to_bits() for ALSA format bits (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: sb: Fix PCM format bit calculation (Jaroslav Kysela) [1683051] - [sound] ALSA: wss: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: asihpi: Fix PCM format notations (Jaroslav Kysela) [1683051] - [sound] ALSA: au88x0: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: ad1816a: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix sparse warning wrt PCM format type (Jaroslav Kysela) [1683051] - [sound] ALSA: riptide: Fix PCM format type conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Fix implicit PCM format type conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: virmidi: Fix too long output trigger loop (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Use standard pcm_format_to_bits() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm186x: Declare PCM format with snd_pcm_format_t (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl: Use snd_mask_set_format() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix interval evaluation with openmin/max (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Add snd_mask_set_format() helper for standard usages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: intel: Fix snd_pcm_format_t handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Use int for format bit position (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dmaengine: Fix missing __user prefix in copy_user callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: zte: Fix incorrect PCM format bit usages (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: align axg card driver with DT bindings documentation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: use IRQ_RETVAL in the fifo irq handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix build warning (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add a fix voltage regulator for DA7219 and ADAU7002 (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Fix missing PAGE_SIZE definition (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: declare snd_sgbuf_aligned_pages() unconditionally (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1: Fix missing __force annotation for user/kernel pointer cast (Jaroslav Kysela) [1683051] - [sound] ALSA: korg1212: Add __force annotation to cast in user-copy callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use standard lower_32_bits() and upper_32_bits() (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Declare the common variable in header file (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: Declare common variables properly (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Fix a sparse warning about snd_ctl_elem_iface_t (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Use NULL instead of 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/ca0132 - Use NULL instead of 0 (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Fix the default sample sizes (Jaroslav Kysela) [1683051] - [sound] ALSA: msnd: Add missing __iomem annotations (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for Encore mDSD USB DAC (Jaroslav Kysela) [1683051] - [sound] ALSA: cs5535audio: Fix invalid endian conversion (Jaroslav Kysela) [1683051] - [sound] ALSA: vxpocket: Fix invalid endian conversions (Jaroslav Kysela) [1683051] - [sound] ALSA: vx222: Fix invalid endian conversions (Jaroslav Kysela) [1683051] - [sound] ALSA: seq: Fix poll() error return (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: fix widget handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: fix inversion between __iowrite32 and __ioread32 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Atom: simplify iomem address and casts (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: make sst_dma functions static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: BDL definitions should be __le32 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Haswell: fix endianness handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5631: add Volume to the name of volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: imx-sgtl5000: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_utils: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_asrc: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl-asoc-card: Switch to SPDX identifier (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to snd_soc_dai_get_channel_map() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5514: Fix the issue of the delay volume applied (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: axg-spdifout: select SND_PCM_IEC958 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/i915: Allow delayed i915 audio component binding (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Generic DSD detection for Thesycon-based implementations (Jaroslav Kysela) [1683051] - [sound] ALSA: memalloc: Don't exceed over the requested size (Jaroslav Kysela) [1683051] - [sound] ALSA: timer: catch invalid timer object creation (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove clock divider and pll setup from zylonite and magician (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg sound card support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: export snd_soc_of_get_slot_mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm input driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm output driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm interface driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add tdm formatter base driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: improve goto error label (Jaroslav Kysela) [1683051] - [usb] ALSA: powerpc/ps3: Set driver coherent_dma_mask (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the "Connect Tablet 9" tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add quirk table entries for various devices (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add mono speaker quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add IN2 input mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Set OVCD limit for VIOS LTH17 to 2000uA (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix using the wrong GPIO for the ext-amp on some boards (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add IN3 Boost volume control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Parse HOST_BUFFER controls (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Allow up to 8 channels for voice control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Take prefix into account in control name length (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Correct algorithm list allocation size (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Ensure DSP boot work complete before preloader_put return (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Allow changing from a bad sample rate (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg spdif output (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg toddr driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg frddr driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: meson: add axg fifo base driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdac_hdmi: Add documentation for power management (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: remove component framework related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: remove component fw related code (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: add support to card re-bind using component framework (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Add __force to cast in snd_pcm_lib_read/write() (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Use kvmalloc() for buffers (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Minor code refactoring (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Simplify error paths (Jaroslav Kysela) [1683051] - [sound] ALSA: rawmidi: Tidy up coding styles (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Make audio component support more generic (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/i915: Associate audio component with devres (Jaroslav Kysela) [1683051] - [sound] ALSA: drm/i915: Split audio component to a generic type (Jaroslav Kysela) [1683051] - [sound] ALSA: emu8000: Use swap macro in snd_emu8000_sample_new (Jaroslav Kysela) [1683051] - [sound] ALSA: emu10k1_patch: Use swap macro in snd_emu10k1_sample_new (Jaroslav Kysela) [1683051] - [gpu] ALSA: vga_switcheroo: set audio client id according to bound GPU id (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: use PCI_BASE_CLASS_DISPLAY to replace PCI_CLASS_DISPLAY_VGA (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Tidy up logic for Processing Unit min/max values (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Unify virtual type units type to UAC3 values (Jaroslav Kysela) [1683051] - [include] ALSA: usb-audio: Add support for Processing Units in UAC3 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Processing Unit controls parsing in UAC2 (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-audio: Add support for Selector Units in UAC3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: For capture have interrupts on I2S->ACP channel (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Send correct channel for configuring DMA descriptors (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Boards: Add GLK Realtek Maxim I2S machine driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hdmi-codec: fix routing (Jaroslav Kysela) [1683051] - [sound] ALSA: cs46xx: remove redundant pointer 'ins' (Jaroslav Kysela) [1683051] - [sound] ALSA: ali5451: remove redundant pointer 'codec' (Jaroslav Kysela) [1683051] - [sound] ALSA: sb8: remove redundant pointer runtime (Jaroslav Kysela) [1683051] - [sound] ALSA: gus: remove redundant pointer private_data (Jaroslav Kysela) [1683051] - [sound] ALSA: es1688: remove redundant pointer chip (Jaroslav Kysela) [1683051] - [sound] ALSA: opl3: remove redundant pointer opl3 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: off by one in routing_hw_params() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: fix a range check in of_q6afe_parse_dai_data() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: allow soc-core to pick up name prefixes from component nodes (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: add rate merge to the BE stream merge (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: rework runtime stream merge (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Fix snd_interval_refine first/last with open min/max (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Reporting button presses (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Disable jack-detect over suspend/resume (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Add button press support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Allow disabling jack-detect by calling set_jack(NULL) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5651: Fix workqueue cancel vs irq free race on remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add support for externar amplifier enable GPIO (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Move getting of codec_dev into probe() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove is_valleyview helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix2 8 tablet (Jaroslav Kysela) [1683051] - [dma] ALSA: dmaengine: add support for reporting pause and resume separately (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: adau171x1: Connect playback DAI to the DSP (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: make SND_PXA_SOC_SSP depend on PLAT_PXA (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: replace "p" with "pK" (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Allow drivers to set R/W wait time. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8824: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: add support for an external clock in devicetree (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: cmd: Add missing newline to debug message (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsl_spdif: Use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: Do not overwrite slim dai num_channels (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add slim rx routings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: add support to slim tx dais (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: Add missing slimbus capture ports (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sti: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: davinci: Use snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: nau8825: use 64-bit arithmetic instead of 32-bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: do not close port if its not opened (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: do not close port if its not opened (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: Use snd_pcm_stop_xrun() for xrun injection (Jaroslav Kysela) [1683051] - [sound] ALSA: pcm: trace XRUN event at injection, too (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: core: Allow topology to override machine driver FE DAI link config. (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: atmel-i2s: Remove unnecessary audio PLL clock (aclk) (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: add support for the es7154 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: correct required power supplies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Simplify trigger handler (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Reset bytescount when starting transaction (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Do not generate interrups for every captured sample (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Fix Capture DMA channel names (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Always subtract bytescount (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Always stop ch2 first (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: mark expected switch fall-through (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7241: add es7241 codec support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add button detection mode control (Jaroslav Kysela) [1683051] - [sound] ALSA: usb-midi: use irqsave() in USB's complete callback (Jaroslav Kysela) [1683051] - [sound] ALSA: usb: caiaq: audio: use irqsave() in USB's complete callback (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: Add VDD and AVDD power supplies (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: check if mclk rate is valid (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: es7134: remove 64kHz rate from the supported rates (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa-ssp: remove .set_pll() and .set_clkdiv() callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: select SND_PXA2XX_LIB for drivers that depend on it (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ac97: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-generic-dmaengine-pcm: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-compress: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-topology: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dapm: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-core: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-acpi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-devres.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-jack.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dpcm.h: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-ops.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-dai.h: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-io.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-scu-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-scu-card.c: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: snd-aoa: add of_node_put() in error path (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mt6797: sub dai use list_head (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: mediatek: sub dai use list_head (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: make SND_PXA2XX_SOC_I2S selectable (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove bindings from pxa2xx-pcm (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: provide PCM ops for ssp, i2s and ac97 components (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa2xx-pcm-lib: fix indenting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: move some functions to pxa2xx-lib (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: clean up function names in pxa2xx-lib (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fold pxa2xx-pcm into its only user, pxa2xx-ac97 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: remove the dmaengine compat need (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/hdmi - Don't fall back to generic when i915 binding fails (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: don't merge format from invalid codec dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: extend channel merging to the backend cpu dai (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: qdafe: fix some off by one bugs (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dpcm: improve runtime update predictability (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: add extended ops in the hdac_bus (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: remove memory allocation from snd_hdac_ext_bus_device_init (Jaroslav Kysela) [1683051] - [sound] ALSA: hda: split snd_hda_codec_new function (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: ext: add wait for codec to respond after link reset (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_driver, use hdac_driver instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_bus and use hdac_bus instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hdac: Remove usage of struct hdac_ext_device and use hdac_device instead (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Move in_pm accessors to HDA core (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tas517x: add tas5707 support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifer: add simple-amplifier compatible (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-amplifier: rename dio2125 to simple-amplifer (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Sort DMI table entries alphabetically (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_HP_LR_SWAPPED quirk (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Simplify card long-name (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix DMIC map headsetmic mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix IN1 map headsetmic mapping (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Remove IN2 input mappings (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Fix IN1_IN2_MAP quirk not being logged (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Change default input map from in2 to in1 (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5651: Add BYT_RT5651_DEFAULT_QUIRKS define (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Kill snd_hda_codec_update_cache() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC882 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC262 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC268 (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC259 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Comprehensive model list for ALC662 & co (Jaroslav Kysela) [1683051] - [sound] ALSA: Fix references to Documentation/.*/MultiSound (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: remove unused struct q6asm member (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: add proper error check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: remove redundant owner assignment (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6routing: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm-dai: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe-dai: support dt based module loading (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6afe: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6asm: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qdsp6: q6adm: use of_platform_populate/depopulate() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-utils: Fix unregistration order (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: cx20442: Don't ignore regulator_get() errors. (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Apply PRE_PROBE fixup after ALC269 codec variant setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Use standard verb containers (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Simplify control management (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/via - Rewrite with error goto (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/cirrus - Simplify creation of new controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/conexant - Clean up beep code (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common helper for creating beep controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common helper for creating ALC268 beep controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use common GPIO mask for ALC660VD ASUS fixup (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify Dell XPS13 GPIO handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Convert some manual GPIO setups (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify mute LED GPIO handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify alc885_fixup_macpro_gpio() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Consolidate gpio_data and gpio_led (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Add GPIO data update helper (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Manage GPIO bits commonly (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Allow skipping spec->init_amp detection (Jaroslav Kysela) [1683051] - [sound] ALSA: ac97: add codecs devicetree binding (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: soc-pcm: DPCM cares BE channel constraint (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Configure channel 1 or channel 0 for capture (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Change codec to channel link as per hardware redesign (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: uniphier: remove redundant check of PLL ID (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt1305: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: use devm_snd_soc_register_component() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: fix missing rename from 'reef' to 'sof' (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Simplify alc269_fixup_hp_line1_mic1_led() (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Sanity check of unexpected cap_sync_hook override (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/sigmatel - Use common helper for mic mute LED (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Allow multiple ADCs for mic mute LED controls (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/conexant - Use the mic-mute LED helper (Jaroslav Kysela) [1683051] - [sound] ALSA: hda/realtek - Use the mic-mute LED helper for HP and others (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Use the common helper for thinkpad_acpi mic mute LED handling (Jaroslav Kysela) [1683051] - [sound] ALSA: hda - Move mic mute LED helper to the generic parser (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: rename 'reef' to 'sof' in ACPI matching table (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: arizona: Set compressed IRQ to a wake source (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: wm_adsp: Simplify handling of alg offset and length (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add support for Motu Traveler (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: cancel chunk alignment for protocol version 2 (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add a flag for AES/EBU on XLR interface (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: add a flag for chunks for main 1/2 out (Jaroslav Kysela) [1683051] - [sound] ALSA: firewire-motu: suppless consumption for unused element of array in stack (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pcm: Tidy up open/hw_params handling (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: fix copy/paste issue with SOF/broadwell topology file (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add entries for SOF-based machine drivers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: add firmware/topology information for SOF (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: common: Add Geminilake Dialog+Maxim machine driver entry (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: move SKL+ codec ACPI tables to common directory (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: Skylake: cleanup before moving ACPI tables (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: broxton: reduce machine name for bxt_da7219_max98357a (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: kbl_da7219_max98357a: add fe_ops for kbl Audio Capture Port (Jaroslav Kysela) [1683051] - [sound] ALSA: ARM: pxa: change SSP DMA channels allocation (Jaroslav Kysela) [1683051] - [sound] ALSA: line6: stop using get_seconds() (Jaroslav Kysela) [1683051] - [sound] ALSA: ctxfi: use enum type CT_SUM_CTL where appropriate (Jaroslav Kysela) [1683051] - [sound] ALSA: ice1724: remove unused array (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Fix Acer Iconia 8 over-current detect threshold (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Nuvison/TMax TM800W560 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: tegra: fix device_node refcounting (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: pxa: add devicetree support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: codecs: PCM1789: unconditionally flush work (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt5682: add rt5682 codec driver (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Add headphone auto switching (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Remove Playback/Capture in names (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: TSCS42xx: Add mic bias boost control (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak4458: make structure soc_codec_dev_ak4458 static const (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ak5558: make two structures static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: twl6040: make pointer dmic_codec_dev static (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: qcom: apq8096: set card as device drvdata (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: add rsnd_daidrv_get() (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: audio-graph-card: add hp and mic detect gpios same as simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card: move hp and mic detection to soc_card probe (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: simple-card-utils: move hp and mic detect gpios from simple-card (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Vi10 tablet (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rt1305: Use ULL suffixes for 64-bit constants (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: add config for rockchip dmaengine pcm register (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rockchip: put device_node on remove (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: stm32: sai: add iec958 controls support (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: AMD: Add NULL pointer check (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: SSI parent cares SWSP bit (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: has .symmetric_rates if SSIs are sharing WS pin (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: sh7760-ac97: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dma-sh7760: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: migor: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: rsnd: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: siu: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: ssi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: hac: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: fsi: convert to SPDX identifiers (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Add callback for DAPM route load/unload (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: topology: Give more data to clients via callbacks (Jaroslav Kysela) [1683051] - [sound] ALSA: ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs (Jaroslav Kysela) [1683051] - [fs] gfs2: Fix loop in gfs2_rbm_find (v2) (Andreas Grunbacher) [1690483] - [fs] gfs2: Rename bitmap.bi_{len => bytes} (Andreas Grunbacher) [1690483]- [vfio] vfio/pci: Mask buggy SR-IOV VF INTx support (Myron Stowe) [1678076] - [netdrv] net/ibmvnic: Update carrier state after link state change (Steve Best) [1711282] - [netdrv] net/ibmvnic: Update MAC address settings after adapter reset (Steve Best) [1711282] - [scsi] scsi: storvsc: Reduce default ring buffer size to 128 Kbytes (Cathy Avery) [1691370] - [scsi] scsi: storvsc: Fix calculation of sub-channel count (Cathy Avery) [1691370] - [powercap] powercap: RAPL: Get rid of custom RAPL_CPU() macro (Alexander Beregalov) [1706827] - [tools] tools/power turbostat: Increase default buffer size (Prarit Bhargava) [1711260] - [char] virtio_console: initialize vtermno value for ports (Pankaj Gupta) [1460636] - [rpmspec] redhat: exclude kvm_stat from pathfix.py's tenure (Vitaly Kuznetsov) [1692804] - [virt] kvm: arm: Skip stage2 huge mappings for unaligned ipa backed by THP (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Ensure vcpu target is unset on reset failure (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-v3: Retire pending interrupts on disabling LPIs (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Fix CNTP_TVAL calculation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move RSB stuffing to before the first RET after VM-Exit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Fix size checks in vmx_set_nested_state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Check for in-kernel LAPIC before deferencing apic pointer (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: reset MMU context when 32-bit guest switches PAE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Whitelist port 0x7e for pre-incrementing rip (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Convert guest TSC to host time domain if necessary (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Allow user to disable adaptive tuning of timer advancement (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Track lapic timer advance per vCPU (Vitaly Kuznetsov) [1692804] - [kvm] KVM: lapic: Disable timer advancement if adaptive tuning goes haywire (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyper-v: deal with buggy TLB flush requests from WS2012 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Consider LAPIC TSC-Deadline timer expired if deadline too short (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix spectrev1 gadgets (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix warning Using plain integer as NULL pointer (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: add a selftest for SMM (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: fix for compilers that do not support -no-pie (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm/evmcs_test: complete I/O before migrating guest state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Always use 32-bit SMRAM save state for 32-bit kernels (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Don't clear EFER during SMM transitions for 32-bit vCPU (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: clear SMM flags before loading state while leaving SMM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Open code kvm_set_hflags (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Load SMRAM in a single shot when leaving SMM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Expose RDPMC-exiting only when guest supports PMU (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm: move kvm_load/put_guest_xcr0 into atomic context (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: svm: make sure NMI is injected after nmi_singlestep (Vitaly Kuznetsov) [1692804] - [kvm] svm/avic: Fix invalidate logical APIC id entry (Vitaly Kuznetsov) [1692804] - [kvm] Revert "svm: Fix AVIC incomplete IPI emulation" (Vitaly Kuznetsov) [1692804] - [kvm] kvm: mmu: Fix overflow on kvm mmu page limit calculation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: always use early vmcs check when EPT is disabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: allow tests to use bad virtual-APIC page address (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Fix an inverted list_empty() check when zapping sptes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: fix x2APIC VTPR read intercept (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: close leak of L0's x2APIC MSRs (CVE-2019-3887) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: SVM: prevent DBG_DECRYPT and DBG_ENCRYPT overflow (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: fix potential get_num_contig_pages overflow (Vitaly Kuznetsov) [1692804] - [documentation] Documentation: kvm: clarify KVM_SET_USER_MEMORY_REGION (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: complete IO before migrating guest state (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: disable stack protector for all KVM tests (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: explicitly disable PIE for tests (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: assert on exit reason in CR4/cpuid sync test (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: update rip after emulating IO (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: avoid spurious pending stimer on vCPU init (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86: Move MSR_IA32_ARCH_CAPABILITIES to array emulated_msrs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts (Vitaly Kuznetsov) [1692804] - [virt] kvm: don't redefine flags as something else (Vitaly Kuznetsov) [1692804] - [kvm] kvm: mmu: Used range based flushing in slot_handle_level_range (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Fix definition of HV_MAX_FLUSH_REP_COUNT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: remove check on nr_mmu_pages in kvm_arch_commit_memory_region() (Vitaly Kuznetsov) [1692804] - [kvm] kvm: nVMX: Add a vmentry check for HOST_SYSENTER_ESP and HOST_SYSENTER_EIP fields (Vitaly Kuznetsov) [1692804] - [kvm] KVM: SVM: Workaround errata#1096 (insn_len maybe zero on SMAP violation) (Vitaly Kuznetsov) [1692804] - [virt] KVM: Reject device ioctls from processes other than the VM's creator (Vitaly Kuznetsov) [1692804] - [documentation] KVM: doc: Fix incorrect word ordering regarding supported use of APIs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix handling of role.cr4_pae and rename it to 'gpte_size' (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Do not inherit quadrant and invalid for the root shadow EPT (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Comments cleanup in mmu.c (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Make attribute accessors static (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Fix handling of stage2 huge mappings (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Enforce PTE mappings at stage2 when needed (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Take the srcu lock when parsing the memslots (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic-its: Take the srcu lock when writing to guest memory (Vitaly Kuznetsov) [1692804] - [virt] arm64: KVM: Always set ICH_HCR_EL2.EN if GICv4 is enabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Reset the PMU in preemptible context (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: fix formatting of a comment (Vitaly Kuznetsov) [1692804] - [documentation] KVM: doc: Document the life cycle of a VM and its resources (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()" (Vitaly Kuznetsov) [1692804] - [documentation] virtio-ccw: diag 500 may return a negative cookie (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Add count cache flush parameters to kvmppc_get_cpu_char() (Vitaly Kuznetsov) [1692804] - [virt] kvm: properly check debugfs dentry before using it (Vitaly Kuznetsov) [1692804] - [powerpc] KVM: PPC: Fix compilation when KVM is not enabled (Vitaly Kuznetsov) [1692804] - [powerpc] powerpc: Avoid circular header inclusion in mmu-hash.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: MMU: record maximum physical address width in kvm_mmu_extended_role (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Return LA57 feature based on hardware capability (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: fix switch between root and guest MMUs (Vitaly Kuznetsov) [1692804] - [virt] KVM: Minor cleanups for kvm_main.c (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/kvm: Save and restore host AMR/IAMR/UAMOR (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Improve KVM reference counting (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Fix build failure without IOMMU support (Vitaly Kuznetsov) [1692804] - [powerpc] powerpc/64s: Better printing of machine check info for guest MCEs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Simplify machine check handling (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Context switch AMR on Power9 (Vitaly Kuznetsov) [1692804] - [virt] Revert "KVM: Eliminate extra function calls in kvm_get_dirty_log_protect()" (Vitaly Kuznetsov) [1692804] - [x86] x86: kvmguest: use TSC clocksource if invariant TSC is exposed (Vitaly Kuznetsov) [1692804] - [virt] KVM: Never start grow vCPU halt_poll_ns from value below halt_poll_ns_grow_start (Vitaly Kuznetsov) [1692804] - [virt] KVM: Expose the initial start value in grow_halt_poll_ns() as a module parameter (Vitaly Kuznetsov) [1692804] - [virt] KVM: grow_halt_poll_ns() should never shrink vCPU halt_poll_ns (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Consolidate kvm_mmu_zap_all() and kvm_mmu_zap_mmio_sptes() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: WARN if zapping a MMIO spte results in zapping children (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Differentiate between nr zapped and list unstable (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: fast invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Voluntarily reschedule as needed when zapping all sptes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: skip over invalid root pages when zapping all sptes (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: x86: use the fast way to invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: show mmu_valid_gen in shadow page related tracepoints" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: add tracepoint for kvm_mmu_invalidate_all_pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: zap pages in batch" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: collapse TLB flushes when zap all pages" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: reclaim the zapped-obsolete page first" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Remove is_obsolete() call (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Voluntarily reschedule as needed when zapping MMIO sptes (Vitaly Kuznetsov) [1692804] - [kvm] Revert "KVM: MMU: drop kvm_mmu_zap_mmio_sptes" (Vitaly Kuznetsov) [1692804] - [x86] Revert "KVM: MMU: document fast invalidate all pages" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Zap only the relevant pages when removing a memslot (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Split remote_flush+zap case out of kvm_mmu_flush_or_zap() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Move slot_level_*() helper functions up a few lines (Vitaly Kuznetsov) [1692804] - [virt] KVM: Move the memslot update in-progress flag to bit 63 (Vitaly Kuznetsov) [1692804] - [virt] KVM: Remove the hack to trigger memslot generation wraparound (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Refactor the MMIO SPTE generation handling (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Use a u64 when passing the MMIO gen around (Vitaly Kuznetsov) [1692804] - [virt] KVM: Explicitly define the "memslot update in-progress" bit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86/mmu: Detect MMIO generation wrap in any address space (Vitaly Kuznetsov) [1692804] - [virt] KVM: Call kvm_arch_memslots_updated() before updating memslots (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [virt] kvm: Add memcg accounting to KVM allocations (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not start the preemption timer hrtimer unnecessarily (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Fix typos in vmentry/vmexit control setting (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: cleanup freeing of nested state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Sync the pending Posted-Interrupts (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: expose MOVDIR64B CPU feature into VM. (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: expose MOVDIRI CPU feature into VM. (Vitaly Kuznetsov) [1692804] - [kvm] kvm, x86, mmu: Use kernel generic dynamic physical address mask (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: remove useless is_protmode check (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Ignore limit checks on VMX instructions using flat segments (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Apply addr size mask to effective address for VMX instructions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Sign extend displacements of VMX instr's mem operands (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix improper check when deactivate AVIC (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: cull apicv code when userspace irqchip is requested (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix AVIC DFR and LDR handling (Vitaly Kuznetsov) [1692804] - [virt] kvm: Use struct_size() in kmalloc() (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: set offset for kvm unstable clock (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Reorder clearing of registers in the vCPU-run assembly flow (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Call vCPU-run asm sub-routine from C and remove clobbering (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Preserve callee-save registers in vCPU-run asm sub-routine (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Return VM-Fail from vCPU-run assembly via standard ABI reg (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass @launched to the vCPU-run asm via standard ABI regs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use RAX as the scratch register during vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Rename ____vmx_vcpu_run() to __vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Fold __vmx_vcpu_run() back into vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move vCPU-run code to a proper assembly routine (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Create a stack frame in vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use #defines in place of immediates in VM-Enter inline asm (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: Explicitly #define the VCPU_REGS_* indices (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Remove unused gpa_end variable (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Fix comment for KVM_PHYS_SHIFT (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: fix spelling mistake: "auxilary" -> "auxiliary" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Prefix header search paths with $(srctree)/ (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Fix TRACE_INCLUDE_PATH (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Mark physical interrupt active when a virtual interrupt is pending (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Describe data or unified caches as having 1 set and 1 way (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Expose sanitised cache type register to guest (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Move kvm_is_write_fault to header file (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Assign the phys timer on VHE systems (Vitaly Kuznetsov) [1692804] - [include] clocksource/arm_arch_timer: Store physical timer IRQ number for KVM on VHE (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: timer: Rework data structures for multiple timers (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: consolidate arch timer trap handlers (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Reuse sys_reg() macro when searching the trap table (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Fix ICH_ELRSR_EL2 sysreg naming (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Simplify bg_timer programming (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm/arm64: Factor out VMID into struct kvm_vmid (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Statically configure the host's view of MPIDR (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Drop VHE-specific HYP call stub (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Allow for direct call of HYP functions when using VHE (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Introduce kvm_call_hyp_ret() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Release all hardware TCE tables attached to a group (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Optimise mmio emulation for devices on FAST_MMIO_BUS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Allow XICS emulation to work in nested hosts using XIVE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Replace kmalloc_node+memset with kzalloc_node (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Add emulation for slbfee. instruction (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Fix entry number check for add_atomic_switch_msr() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Recompute PID.ON when clearing PID.SN (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Restore a preemption timer consistency check (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: read from MSR_IA32_VMX_PROCBASED_CTLS2 only when it is available (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use vcpu->arch.regs directly when saving/loading guest state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Don't save guest registers after VM-Fail (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Invert the ordering of saving guest/host scratch reg at VM-Enter (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass "launched" directly to the vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Update VMCS.HOST_RSP via helper C function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Load/save guest CR2 via C code in __vmx_vcpu_run() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Cache host_rsp on a per-VMCS basis (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Let the compiler select the reg for holding HOST_RSP (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Reference vmx->loaded_vmcs->launched directly (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Capture VM-Fail via CC_{SET, OUT} in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Capture VM-Fail to a local var in nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Explicitly reference the scratch reg in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Drop STACK_FRAME_NON_STANDARD from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Remove a rogue "rax" clobber from nested_vmx_check_vmentry_hw() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Let the compiler save/load RDX during vCPU-run (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Manually load RDX in vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Save RSI to an unused output in the vCPU-run asm blob (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Modify only RSP when creating a placeholder for guest's RCX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Zero out *all* general purpose registers after VM-Exit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Check a single byte for VMCS "launched" in nested early checks (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: add selftest for releasing VM file descriptor while in L2 (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Forbid kprobing of the VHE world-switch code (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Relax the restriction on using stage2 PUD huge mapping (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Always initialize the group of private IRQs (Vitaly Kuznetsov) [1692804] - [kvm] arm/arm64: KVM: Don't panic on failure to properly reset system registers (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Allow a VCPU to fully reset itself (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: fix possible null pointer dereference in pending_irqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: start using the GIB (Vitaly Kuznetsov) [1692804] - [s390] KVM: s390: add gib_alert_irq_handler() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: kvm_s390_gisa_clear() now clears the IPM only (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add functions to (un)register GISC with GISA (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add kvm reference to struct sie_page2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: add the GIB and its related life-cyle functions (Vitaly Kuznetsov) [1692804] - [s390] s390/cio: add function chsc_sgib() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: introduce struct kvm_s390_gisa_interrupt (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: remove kvm_s390_ from gisa static inline functions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: use pending_irqs_no_gisa() where appropriate (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: coding style kvm_s390_gisa_init/clear() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: s390: move bitmap idle_mask into arch struct top level (Vitaly Kuznetsov) [1692804] - [virt] virt/kvm: Replace spin_is_locked() with lockdep (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Mark expected switch fall-throughs (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix TRACE_INCLUDE_PATH and remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: check returned evmcs version range (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: nested_enable_evmcs() sets vmcs_version incorrectly (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move vmx_vcpu_run()'s VM-Enter asm blob to a helper function (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: Fix region overlap check in kvm_util (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: fix some -Wmissing-prototypes warnings (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nSVM: clear events pending from svm_complete_interrupts() when exiting to L1 (Vitaly Kuznetsov) [1692804] - [kvm] svm: Fix AVIC incomplete IPI emulation (Vitaly Kuznetsov) [1692804] - [kvm] svm: Add warning message for AVIC IPI invalid target (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: WARN_ONCE if sending a PV IPI returns a fatal error (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix PV IPIs for 32-bit KVM host (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: recommend using eVMCS only when it is enabled (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: don't recommend doing reset via synthetic MSR (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86/vmx: Use kzalloc for cached_vmcs12 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Use the correct field var when clearing VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix single-step debugging (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: don't announce GUEST IDLE MSR support (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Don't generate UNDEF when LORegion feature is present (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_cpu->ap_list_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Make vgic_irq->irq_lock a raw_spinlock (Vitaly Kuznetsov) [1692804] - [kvm] KVM: powerpc: remove -I. header search paths (Vitaly Kuznetsov) [1692804] - [documentation] Documentation/virtual/kvm: Update URL for AMD SEV API specification (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Avoid return error when flush tlb successfully in the hv_remote_flush_tlb_with_range() (Vitaly Kuznetsov) [1692804] - [kvm] kvm: sev: Fail KVM_SEV_INIT if already initialized (Vitaly Kuznetsov) [1692804] - [virt] KVM: validate userspace input in kvm_clear_dirty_log_protect() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Fix bit shifting in update_intel_pt_cfg (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: radix: Fix uninitialized var build error (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: ucall: fix exit mmio address guessing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VM-Enter + VM-Exit handling to non-inline sub-routines (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Explicitly reference RCX as the vmx_vcpu pointer in asm blobs (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use SVM assembly instruction mnemonics instead of .byte streams (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range() (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Flush tlb directly in kvm_set_pte_rmapp() (Vitaly Kuznetsov) [1692804] - [virt] KVM/MMU: Move tlb flush in kvm_set_pte_rmapp() to kvm_mmu_notifier_change_pte() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: Make kvm_set_spte_hva() return int (Vitaly Kuznetsov) [1692804] - [kvm] KVM: Replace old tlb flush function with new one to flush a specified range. (Vitaly Kuznetsov) [1692804] - [kvm] KVM/MMU: Add tlb flush with range helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Add hv tlb range flush support (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Add HvFlushGuestAddressList hypercall support (Vitaly Kuznetsov) [1692804] - [x86] KVM: Add tlb_remote_flush_with_range callback in kvm_x86_ops (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Disable Intel PT when VMXON in L1 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Set intercept for Intel PT MSRs read/write (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Implement Intel PT MSRs read/write emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Introduce a function to initialize the PT configuration (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel PT context switch for each vcpu (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel Processor Trace cpuid emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add Intel PT virtualization work mode (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: add new capability for Intel PT (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Add new bit definitions for PT MSRs (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Introduce intel_pt_validate_cap() (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Export pt_cap_get() (Vitaly Kuznetsov) [1692804] - [x86] perf/x86/intel/pt: Move Intel PT MSRs bit defines to global header (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: aarch64: dirty_log_test: support greater than 40-bit IPAs (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add pa-48/va-48 VM modes (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: improve mode param management (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: reset guest test phys offset (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: always use -t (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: don't identity map the test mem (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: x86_64: dirty_log_test: fix -t (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix some typos (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: convert to SPDX identifiers (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Remove KF() macro placeholder (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Allow guest read access to IA32_TSC (Vitaly Kuznetsov) [1692804] - [kvm] kvm: nVMX: NMI-window and interrupt-window exiting should wake L2 from HLT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nSVM: Fix nested guest support for PAUSE filtering. (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Remove duplicated include from vmx.c (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: report failed stage when exit reason is unexpected (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix size of x86_fpu_cache objects (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/fsl: Flush branch predictor when entering KVM (Vitaly Kuznetsov) [1692804] - [kvm] powerpc/fsl: Emulate SPRN_BUCSR register (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nSVM: fix switch to guest mmu (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Add trapped system register access tracepoint (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm64: Make vcpu const in vcpu_read_sys_reg (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: arch_timer: Simplify kvm_timer_vcpu_terminate (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Remove arch timer workqueue (Vitaly Kuznetsov) [1692804] - [virt] KVM: fix unregistering coalesced mmio zone from wrong bus (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Add support for creating PUD hugepages at stage 2 (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Update age handlers to support PUD hugepages (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Support handling access faults for PUD hugepages (Vitaly Kuznetsov) [1692804] - [arm64] KVM: arm64: Support PUD hugepage in stage2_is_exec() (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Support dirty page tracking for PUD hugepages (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Introduce helpers to manipulate page table entries (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Re-factor setting the Stage 2 entry to exec on fault (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: Share common code in user_mem_abort() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: arm/arm64: Log PSTATE for unhandled sysregs (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Consistently advance singlestep when emulating instructions (Vitaly Kuznetsov) [1692804] - [virt] arm64: KVM: Skip MMIO insn after emulation (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L3 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Introduce new hcall H_COPY_TOFROM_GUEST to access quadrants 1 & 2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Allow passthrough of an emulated device to an L2 guest (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Update kvmppc_st and kvmppc_ld to use quadrants (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Add load_from_eaddr and store_to_eaddr to the kvmppc_ops struct (Vitaly Kuznetsov) [1692804] - [powerpc] KVM: PPC: Book3S HV: Implement functions to access quadrants 1 & 2 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Add function kvmhv_vcpu_is_radix() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv machines (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: ucall: improve ucall placement in memory, fix unsigned comparison (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Dynamically allocate guest_fpu (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Use task structs fpu field for user (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for Guest Non-Register States to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for Host Control Registers and MSRs to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Entry Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Exit Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Remove param indirection from nested_vmx_check_msr_switch() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move the checks for VM-Execution Control Fields to a separate helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Prepend "nested_vmx_" to check_vmentry_{pre, post}reqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Check ept_pointer before flushing ept tlb (Vitaly Kuznetsov) [1692804] - [kvm] KVM nVMX: MSRs should not be stored if VM-entry fails during or after loading guest state (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Don't modify MSR_PLATFORM_INFO on vCPU reset (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: add cpu into VMX preemption timer bug list (Vitaly Kuznetsov) [1692804] - [kvm] x86/hyper-v: Stop caring about EOI for direct stimers (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: avoid open-coding stimer_mark_pending() in kvm_hv_notify_acked_sint() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: direct mode for synthetic timers (Vitaly Kuznetsov) [1692804] - [x86] x86/kvm/hyper-v: use stimer config definition from hyperv-tlfs.h (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: Add hyperv_cpuid test (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: implement an unchecked version of vcpu_ioctl() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: Introduce KVM_GET_SUPPORTED_HV_CPUID (Vitaly Kuznetsov) [1692804] - [kvm] x86/hyper-v: Do some housekeeping in hyperv-tlfs.h (Vitaly Kuznetsov) [1692804] - [x86] x86/hyper-v: Mark TLFS structures packed (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyper-v: Introduce nested_get_evmcs_version() helper (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyperv: don't retry message delivery for periodic timers (Vitaly Kuznetsov) [1692804] - [kvm] x86: kvm: hyperv: simplify SynIC message delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: remove unnecessary recalculate_apic_map (Vitaly Kuznetsov) [1692804] - [kvm] kvm: svm: remove unused struct definition (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Skip all SYSCALL MSRs in setup_msrs() when !EFER.SCE (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Don't set hardware IA32_CSTAR MSR on VM-entry (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Document the need for MSR_STAR in i386 builds (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Set IA32_TSC_AUX for legacy mode guests (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move nested code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose nested_vmx_allowed() to nested VMX as a non-inline (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose various getters and setters to nested VMX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose misc variables needed for nested VMX (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move "vmcs12 to shadow/evmcs sync" to helper function (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Call nested_vmx_setup_ctls_msrs() iff @nested is true (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Set callbacks for nested functions during hardware setup (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move the hardware {un}setup functions to the bottom (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: nVMX: Allow nested_enable_evmcs to be NULL (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move nested hardware/vcpu {un}setup to helper functions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMX instruction wrappers to a dedicated header file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move eVMCS code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Add vmx.h to hold VMX definitions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Move vmcs12 code to dedicated files (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMCS definitions to dedicated file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Expose various module param vars via capabilities.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move capabilities structs and helpers to dedicated file (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Pass vmx_capability struct to setup_vmcs_config() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Properly handle dynamic VM Entry/Exit controls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move caching of MSR_IA32_XSS to hardware_setup() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Drop the "vmx" prefix from vmx_evmcs.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: rename vmx_shadow_fields.h to vmcs_shadow_fields.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Move VMX specific files to a "vmx" subdirectory (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add requisite includes to hyperv.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Add requisite includes to kvm_cache_regs.h (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: Alphabetize the includes in vmx.c (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Allocate and configure VM{READ, WRITE} bitmaps iff enable_shadow_vmcs (Vitaly Kuznetsov) [1692804] - [tools] kvm: introduce manual dirty log reprotect (Vitaly Kuznetsov) [1692804] - [virt] kvm: rename last argument to kvm_get_dirty_log_protect (Vitaly Kuznetsov) [1692804] - [virt] kvm: make KVM_CAP_ENABLE_CAP_VM architecture agnostic (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Set hflag to indicate that POWER9 supports 1T segments (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Change to use DEFINE_SHOW_ATTRIBUTE macro (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Don't trap host pointer auth use to EL2 (Vitaly Kuznetsov) [1692804] - [kvm] arm64/kvm: hide ptrauth from guests (Vitaly Kuznetsov) [1692804] - [arm64] arm64: add pointer authentication register bits (Vitaly Kuznetsov) [1692804] - [arm64] arm64: add comments about EC exception levels (Vitaly Kuznetsov) [1692804] - [arm64] arm64/kvm: consistently handle host HCR_EL2 flags (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Add configuration/documentation for Cortex-A76 erratum 1165522 (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Handle ARM erratum 1165522 in TLB invalidation (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Add synchronization on translation regime change for erratum 1165522 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Force VHE for systems affected by erratum 1165522 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Add TCR_EPD{0,1} definitions (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Rework detection of SVE, !VHE systems (Vitaly Kuznetsov) [1692804] - [kvm] nVMX x86: Check VMX-preemption timer controls on vmentry of L2 guests (Vitaly Kuznetsov) [1692804] - [kvm] KVM/nVMX: Remove unneeded forward jump in nested_vmx_check_vmentry_hw asm (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Unrestricted guest mode requires EPT (Vitaly Kuznetsov) [1692804] - [tools] tools/kvm_stat: switch to python3 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: Trace changes to active TSC offset regardless if vCPU in guest-mode (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: vmcs12 revision_id is always VMCS12_REVISION even when copied from eVMCS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Verify eVMCS revision id match supported eVMCS version on eVMCS VMPTRLD (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/vmx: fix old-style function declaration (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: fix empty-body warnings (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Fix kernel info-leak when enabling KVM_CAP_HYPERV_ENLIGHTENED_VMCS more than once (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm/arm64: vgic: Replace spin_is_locked() with lockdep (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Use exported tb_to_ns() function in decrementer emulation (Vitaly Kuznetsov) [1692804] - [tools] selftests: kvm: Fix -Wformat warnings (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: fix spelling mistake "Insufficent" -> "Insufficient" (Vitaly Kuznetsov) [1692804] - [kvm] Revert "kvm: x86: optimize dr6 restore" (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Optimize clearing TCEs for sparse tables (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: tweak shadow fields (Vitaly Kuznetsov) [1692804] - [tools] selftests/kvm: add missing executables to .gitignore (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Don't use streamlined entry path on early POWER9 chips (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Enable 32 bits kvm vcpu events support (Vitaly Kuznetsov) [1692804] - [virt] arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: enable nested virtualization by default (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use 32bit xor to clear registers in svm.c (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Introduce KVM_CAP_EXCEPTION_PAYLOAD (Vitaly Kuznetsov) [1692804] - [kvm] kvm: vmx: Defer setting of DR6 until #DB delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Defer setting of CR2 until #PF delivery (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add payload operands to kvm_multiple_exception (Vitaly Kuznetsov) [1692804] - [x86] kvm: x86: Add exception payload fields to kvm_vcpu_events (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: Add has_payload and payload to kvm_queued_exception (Vitaly Kuznetsov) [1692804] - [documentation] KVM: Documentation: Fix omission in struct kvm_vcpu_events (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: add Enlightened VMCS test (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: nested state migration for Enlightened VMCS (Vitaly Kuznetsov) [1692804] - [tools] KVM: selftests: state_test: test bare VMXON migration (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/hyperv: don't clear VP assist pages on init (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: optimize prepare_vmcs02{, _full} for Enlightened VMCS case (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: implement enlightened VMPTRLD and VMCLEAR (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add enlightened VMCS state (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add KVM_CAP_HYPERV_ENLIGHTENED_VMCS capability (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: refactor evmcs_sanitize_exec_ctrls() (Vitaly Kuznetsov) [1692804] - [virt] KVM: refine the comment of function gfn_to_hva_memslot_prot() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: reintroduce pte_list_remove, but including mmu_spte_clear_track_bits (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: rename pte_list_remove to __pte_list_remove (Vitaly Kuznetsov) [1692804] - [virt] kvm/x86 : add coalesced pio support (Vitaly Kuznetsov) [1692804] - [documentation] kvm/x86 : add document for coalesced mmio (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86 : fix some typo (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Change hv flush logic when ept tables are mismatched. (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Use 32bit xor to clear register (Vitaly Kuznetsov) [1692804] - [x86] KVM/x86: Use assembly instruction mnemonics instead of .byte streams (Vitaly Kuznetsov) [1692804] - [kvm] KVM/x86: Fix invvpid and invept register operand size in 64-bit mode (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: check if MMU reconfiguration is needed in init_kvm_nested_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: check if tdp/shadow MMU reconfiguration is needed (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/nVMX: introduce source data cache for kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: make space for source data caching in struct kvm_mmu (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: get rid of redundant kvm_mmu_setup() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: introduce guest_mmu (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu.c: add kvm_mmu parameter to kvm_mmu_free_roots() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu.c: set get_pdptr hook in kvm_init_shadow_ept_mmu() (Vitaly Kuznetsov) [1692804] - [kvm] x86/kvm/mmu: make vcpu->mmu a pointer to the current MMU (Vitaly Kuznetsov) [1692804] - [kvm] kvm: x86: optimize dr6 restore (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: optimize sparse VP set processing (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: fix 'tlb_lush' typo (Vitaly Kuznetsov) [1692804] - [virt] vgic: Add support for 52bit guest physical address (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: WARN if nested run hits VMFail with early consistency checks enabled (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: add option to perform early consistency checks via H/W (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: write HOST_IA32_EFER in vmx_set_constant_host_state() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: call kvm_skip_emulated_instruction in nested_vmx_{fail, succeed} (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not call nested_vmx_succeed() for consistency check VMExit (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do not skip VMEnter instruction that succeeds (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: do early preparation of vmcs02 before check_vmentry_postreqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: initialize vmcs02 constant exactly once (per VMCS) (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: split pieces of prepare_vmcs02() to prepare_vmcs02_early() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: VMX: remove ASSERT() on vmx->pml_pg validity (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vVMX: rename label for post-enter_guest_mode consistency check (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: assimilate nested_vmx_entry_failure() into nested_vmx_enter_non_root_mode() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: rename enter_vmx_non_root_mode to nested_vmx_enter_non_root_mode (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: try to set EFER bits correctly when initializing controls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: do not unconditionally clear EFER switching (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: reset cache/shadows when switching loaded VMCS (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: use vm_exit_controls_init() to write exit controls for vmcs02 (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: move vmcs12 EPTP consistency check to check_vmentry_prereqs() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: move host EFER consistency checks to VMFail path (Vitaly Kuznetsov) [1692804] - [virt] KVM: leverage change to adjust slots->used_slots in update_memslots() (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: implement PV IPI send hypercalls (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: optimize kvm_hv_flush_tlb() for vp_index == vcpu_idx case (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: valid_bank_mask should be 'u64' (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: hyperv: keep track of mismatched VP indexes (Vitaly Kuznetsov) [1692804] - [virt] KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb() (Vitaly Kuznetsov) [1692804] - [kvm] kvm/x86: return meaningful value from KVM_SIGNAL_MSI (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: move definition PT_MAX_HUGEPAGE_LEVEL and KVM_NR_PAGE_SIZES together (Vitaly Kuznetsov) [1692804] - [kvm] KVM/VMX: Remve unused function is_external_interrupt(). (Vitaly Kuznetsov) [1692804] - [kvm] KVM: x86: return 0 in case kvm_mmu_memory_cache has min number of objects (Vitaly Kuznetsov) [1692804] - [kvm] nVMX x86: Make nested_vmx_check_pml_controls() concise (Vitaly Kuznetsov) [1692804] - [x86] KVM: x86: adjust kvm_mmu_page member to save 8 bytes (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: support high GPAs in dirty_log_test (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: stop lying to aarch64 tests about PA-bits (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: dirty_log_test: also test 64K pages on aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: port dirty_log_test to aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: introduce new VM mode for 64K pages (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add vcpu support for aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add virt mem support for aarch64 (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add vm_phy_pages_alloc (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: tidy up kvm_util (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: add cscope make target (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: move arch-specific files to arch-specific locations (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: introduce ucall (Vitaly Kuznetsov) [1692804] - [tools] kvm: selftests: vcpu_setup: set cr4.osfxsr (Vitaly Kuznetsov) [1692804] - [kvm] KVM: LAPIC: Tune lapic_timer_advance_ns automatically (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Do not flush TLB on L1<->L2 transitions if L1 uses VPID and EPT (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Flush linear and combined mappings on VPID02 related flushes (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Use correct VPID02 when emulating L1 INVVPID (Vitaly Kuznetsov) [1692804] - [kvm] KVM: nVMX: Flush TLB entries tagged by dest EPTP on L1<->L2 transitions (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: rename KVM_GUEST_CR0_MASK tp KVM_VM_CR0_ALWAYS_OFF (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Remove redundand permission bits removal (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Propagate errors to the guest when failed instead of ignoring (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same VM (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Book3S PR: Exiting split hack mode needs to fixup both PC and LR (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Remove some extra semicolon in kvm_target_cpu (Vitaly Kuznetsov) [1692804] - [kvm] KVM: PPC: Validate all tces before updating tables (Vitaly Kuznetsov) [1692804] - [documentation] arm64: Add silicon-errata.txt entry for ARM erratum 1188873 (Vitaly Kuznetsov) [1692804] - [arm64] arm64: arch_timer: Add workaround for ARM erratum 1188873 (Vitaly Kuznetsov) [1692804] - [virt] signal/arm/kvm: Use send_sig_mceerr (Vitaly Kuznetsov) [1692804] - [arm64] arm64/cpufeatures: Introduce ESR_ELx_SYS64_ISS_RT() (Vitaly Kuznetsov) [1692804] - [kvm] signal/x86: Use send_sig_mceerr as apropriate (Vitaly Kuznetsov) [1692804] - [x86] x86/kvm: Use __bss_decrypted attribute in shared variables (Vitaly Kuznetsov) [1692804] - [x86] x86/mm: Add .bss..decrypted section to hold shared variables (Vitaly Kuznetsov) [1692804] - [kvm] KVM: vmx: Inject #UD for SGX ENCLS instruction in guest (Vitaly Kuznetsov) [1692804] - [x86] KVM: vmx: Add defines for SGX ENCLS exiting (Vitaly Kuznetsov) [1692804] - [documentation] KVM: Documentation: rename the capability of KVM_CAP_ARM_SET_SERROR_ESR (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Mark kvm_get_preset_lpj() as __init (Vitaly Kuznetsov) [1692804] - [virt] kvm: Don't open code task_pid in kvm_vcpu_ioctl (Vitaly Kuznetsov) [1692804] - [virt] KVM: arm64: Share the parts of get/set events useful to 32bit (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: export the capability to set guest SError syndrome (Vitaly Kuznetsov) [1692804] - [kvm] arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTS (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Switch kvmclock data to a PER_CPU variable (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Move kvmclock vsyscall param and init to kvmclock (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Mark variables __initdata and __ro_after_init (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Cleanup the code (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Decrapify kvm_register_clock() (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Remove page size requirement from wall_clock (Vitaly Kuznetsov) [1692804] - [x86] x86/kvmclock: Remove memblock dependency (Vitaly Kuznetsov) [1692804] - [kvm] kvm/arm: use PSR_AA32 definitions (Vitaly Kuznetsov) [1692804] - [kvm] arm64: KVM: Handle Set/Way CMOs as NOPs if FWB is present (Vitaly Kuznetsov) [1692804] - [arm64] arm64: KVM: Add support for Stage-2 control of memory types and cacheability (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Handle mismatched cache type (Vitaly Kuznetsov) [1692804] - [arm64] arm64: Fix mismatched cache line size detection (Vitaly Kuznetsov) [1692804]- [lib] rhel-kabi: Add RH_KABI_FORCE_CHANGE() to radix-tree and idr functions (Don Dutile) [1692079] - [lib] XArray: Fix xa_reserve for 2-byte aligned entries (Don Dutile) [1692079] - [lib] XArray: Fix xa_erase of 2-byte aligned entries (Don Dutile) [1692079] - [lib] XArray: Use xa_cmpxchg to implement xa_reserve (Don Dutile) [1692079] - [lib] XArray: Fix xa_release in allocating arrays (Don Dutile) [1692079] - [lib] XArray: Mark xa_insert and xa_reserve as must_check (Don Dutile) [1692079] - [lib] XArray: Add cyclic allocation (Don Dutile) [1692079] - [lib] XArray: Redesign xa_alloc API (Don Dutile) [1692079] - [lib] XArray: Add support for 1s-based allocation (Don Dutile) [1692079] - [lib] XArray: Change xa_insert to return -EBUSY (Don Dutile) [1692079] - [lib] XArray: Update xa_erase family descriptions (Don Dutile) [1692079] - [lib] XArray tests: RCU lock prohibits GFP_KERNEL (Don Dutile) [1692079] - [include] XArray: Fix an arithmetic error in xa_is_err (Don Dutile) [1692079] - [lib] XArray tests: Check mark 2 gets squashed (Don Dutile) [1692079] - [include] XArray: Fix typo in comment (Don Dutile) [1692079] - [lib] XArray: Honour reserved entries in xa_insert (Don Dutile) [1692079] - [lib] XArray: Permit storing 2-byte-aligned pointers (Don Dutile) [1692079] - [lib] XArray: Change xa_for_each iterator (Don Dutile) [1692079] - [lib] XArray: Turn xa_init_flags into a static inline (Don Dutile) [1692079] - [lib] XArray tests: Add RCU locking (Don Dutile) [1692079] - [lib] XArray: Fix xa_alloc when id exceeds max (Don Dutile) [1692079] - [lib] XArray tests: Check iterating over multiorder entries (Don Dutile) [1692079] - [lib] XArray tests: Handle larger indices more elegantly (Don Dutile) [1692079] - [include] XArray: Add xa_cmpxchg_irq and xa_cmpxchg_bh (Don Dutile) [1692079] - [tools] radix tree: Don't return retry entries from lookup (Don Dutile) [1692079] - [lib] XArray tests: Add missing locking (Don Dutile) [1692079] - [lib] XArray tests: Correct some 64-bit assumptions (Don Dutile) [1692079] - [lib] XArray: Correct xa_store_range (Don Dutile) [1692079] - [lib] XArray: Fix Documentation (Don Dutile) [1692079] - [lib] XArray: Handle NULL pointers differently for allocation (Don Dutile) [1692079] - [lib] XArray: Unify xa_store and __xa_store (Don Dutile) [1692079] - [include] XArray: Add xa_store_bh() and xa_store_irq() (Don Dutile) [1692079] - [lib] XArray: Turn xa_erase into an exported function (Don Dutile) [1692079] - [lib] XArray: Unify xa_cmpxchg and __xa_cmpxchg (Don Dutile) [1692079] - [lib] XArray: Regularise xa_reserve (Don Dutile) [1692079] - [lib] XArray: Export __xa_foo to non-GPL modules (Don Dutile) [1692079] - [lib] XArray: Fix xa_for_each with a single element at 0 (Don Dutile) [1692079] - [lib] xarray: Add range store functionality (Don Dutile) [1692079] - [lib] xarray: Move multiorder_check to in-kernel tests (Don Dutile) [1692079] - [lib] xarray: Move multiorder_shrink to kernel tests (Don Dutile) [1692079] - [lib] xarray: Move multiorder account test in-kernel (Don Dutile) [1692079] - [tools] radix tree test suite: Convert iteration test to XArray (Don Dutile) [1692079] - [tools] radix tree test suite: Convert tag_tagged_items to XArray (Don Dutile) [1692079] - [tools] radix tree test suite: Convert regression1 to XArray (Don Dutile) [1692079] - [lib] ida: Convert to XArray (Don Dutile) [1692079] - [lib] xarray: Track free entries in an XArray (Don Dutile) [1692079] - [lib] xarray: Add xa_reserve and xa_release (Don Dutile) [1692079] - [lib] xarray: Add xas_create_range (Don Dutile) [1692079] - [lib] xarray: Add xas_for_each_conflict (Don Dutile) [1692079] - [lib] xarray: Step through an XArray (Don Dutile) [1692079] - [lib] xarray: Destroy an XArray (Don Dutile) [1692079] - [lib] xarray: Extract entries from an XArray (Don Dutile) [1692079] - [lib] xarray: Add XArray iterators (Don Dutile) [1692079] - [lib] xarray: Add XArray conditional store operations (Don Dutile) [1692079] - [tools] xarray: Add XArray unconditional store operations (Don Dutile) [1692079] - [tools] xarray: Add XArray marks (Don Dutile) [1692079] - [tools] xarray: Add XArray load operation (Don Dutile) [1692079] - [documentation] xarray: Add documentation (Don Dutile) [1692079] - [include] xarray: Define struct xa_node (Don Dutile) [1692079] - [tools] xarray: Add definition of struct xarray (Don Dutile) [1692079] - [lib] test_ida: Fix lockdep warning (Don Dutile) [1692079] - [lib] xarray: Change definition of sibling entries (Don Dutile) [1692079] - [mm] xarray: Replace exceptional entries (Don Dutile) [1692079] - [lib] idr: Permit any valid kernel pointer to be stored (Don Dutile) [1692079] - [pci] Update email address (Don Dutile) [1692079] - [lib] ida: Change ida_get_new_above to return the id (Don Dutile) [1692079] - [lib] ida: Remove old API (Don Dutile) [1692079] - [target] target/iscsi: Allocate session IDs from an IDA (Don Dutile) [1692079] - [target] iscsi target: fix session creation failure handling (Don Dutile) [1692079] - [drm] drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's (Don Dutile) [1692079] - [drm] drm/vmwgfx: Convert to new IDA API (Don Dutile) [1692079] - [dma] dmaengine: Convert to new IDA API (Don Dutile) [1692079] - [powerpc] ppc: Convert vas ID allocation to new IDA API (Don Dutile) [1692079] - [media] media: Convert entity ID allocation to new IDA API (Don Dutile) [1692079] - [mm] ppc: Convert mmu context allocation to new IDA API (Don Dutile) [1692079] - [net] Convert net_namespace to new IDA API (Don Dutile) [1692079] - [misc] cb710: Convert to new IDA API (Don Dutile) [1692079] - [block] rsxx: Convert to new IDA API (Don Dutile) [1692079] - [scsi] osd: Convert to new IDA API (Don Dutile) [1692079] - [scsi] sd: Convert to new IDA API (Don Dutile) [1692079] - [fs] devpts: Convert to new IDA API (Don Dutile) [1692079] - [fs] fs: Convert namespace IDAs to new API (Don Dutile) [1692079] - [fs] fs: Convert unnamed_dev_ida to new API (Don Dutile) [1692079] - [lib] test_ida: check_ida_destroy and check_ida_alloc (Don Dutile) [1692079] - [lib] test_ida: Convert check_ida_conv to new API (Don Dutile) [1692079] - [lib] test_ida: Move ida_check_max (Don Dutile) [1692079] - [lib] test_ida: Move ida_check_leaf (Don Dutile) [1692079] - [tools] idr-test: Convert ida_check_nomem to new API (Don Dutile) [1692079] - [tools] ida: Start new test_ida module (Don Dutile) [1692079] - [lib] ida: Lock the IDA in ida_destroy (Don Dutile) [1692079] - [lib] radix-tree: Fix UBSAN warning (Don Dutile) [1692079] - [include] rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile) [1692079] - [s390] s390/pkey: add one more argument space for debug feature entry (Philipp Rudo) [1710033] - [s390] s390/zcrypt: fix possible deadlock situation on ap queue remove (Philipp Rudo) [1710033] - [s390] zcrypt: handle AP Info notification from CHSC SEI command (Philipp Rudo) [1710033] - [s390] s390/zcrypt: revisit ap device remove procedure (Philipp Rudo) [1710033] - [s390] pkey: Indicate old mkvp only if old and current mkvp are different (Philipp Rudo) [1710033] - [s390] s390/zcrypt: use new state UNBOUND during queue driver rebind (Philipp Rudo) [1710033] - [s390] s390/zcrypt: fix specification exception on z196 during ap probe (Philipp Rudo) [1710033] - [s390] s390/zcrypt: rework ap scan bus code (Philipp Rudo) [1710033] - [s390] s390/zcrypt: make sysfs reset attribute trigger queue reset (Philipp Rudo) [1710033] - [s390] s390/zcrypt: improve special ap message cmd handling (Philipp Rudo) [1710033] - [s390] s390: vfio-ap: include for test_facility() (Philipp Rudo) [1710033] - [fs] flexfiles: enforce per-mirror stateid only for v4 DSes (Scott Mayhew) [1709556] - [fs] flexfiles: use per-mirror specified stateid for IO (Scott Mayhew) [1709556] - [powerpc] powerpc/pseries: Fix build break due to pnv_npu2_init() (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/sriov: Register IOMMU groups for VFs (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/npu: Allocate enough memory in pnv_try_setup_npu_table_group() (Sam Bobroff) [1704567] - [powerpc] powerpc/powernv/npu: Fix oops in pnv_try_setup_npu_table_group() (Sam Bobroff) [1704567] - [mm] mm: defer ZONE_DEVICE page initialization to the point where we init pgmap (Waiman Long) [1666538 1634343] - [mm] mm: create non-atomic version of SetPageReserved for init use (Waiman Long) [1666538 1634343] - [mm] mm: provide kernel parameter to allow disabling page init poisoning (Waiman Long) [1666538 1634343] - [x86] x86/resctrl: Initialize a new resource group with default MBA values (David Arcari) [1688127] - [x86] x86/resctrl: Move per RDT domain initialization to a separate function (David Arcari) [1688127] - [x86] x86/resctrl: Do not repeat rdtgroup mode initialization (David Arcari) [1688127] - [x86] x86/resctrl: Fix rdt_find_domain() return value and checks (David Arcari) [1688127] - [x86] x86/resctrl: Use rdt_last_cmd_puts() where possible (David Arcari) [1688127]- [s390] s390/pci: map IOV resources (Philipp Rudo) [1659411] - [powerpc] powerpc/book3s/64: check for NULL pointer in pgd_alloc() (Steve Best) [1710310] - [md] dm thin metadata: do not write metadata if no changes occurred (Mike Snitzer) [1710030] - [md] dm thin metadata: add wrappers for managing write locking of metadata (Mike Snitzer) [1710030] - [md] dm thin metadata: check __commit_transaction()'s return (Mike Snitzer) [1710030] - [md] dm space map common: zero entire ll_disk (Mike Snitzer) [1710030] - [powerpc] powerpc/tm: Fix stack pointer corruption (Desnes Augusto Nunes do Rosario) [1707635] - [pci] PCI/MSI: Remove obsolete sanity checks for multiple interrupt sets (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Remove the leftovers of the original set support (Prarit Bhargava) [1686678] - [nvme] nvme-pci: Simplify interrupt allocation (Prarit Bhargava) [1686678] - [include] genirq/affinity: Add new callback for (re)calculating interrupt sets (Prarit Bhargava) [1686678] - [nvme] genirq/affinity: Store interrupt sets size in struct irq_affinity (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Code consolidation (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Move allocation of 'node_to_cpumask' to irq_build_affinity_masks() (Prarit Bhargava) [1686678] - [kernel] genirq/irqdesc: Fix double increment in alloc_descs() (Prarit Bhargava) [1686678] - [include] genirq: Fix the kerneldoc comment for struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Add is_managed to struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/core: Introduce struct irq_affinity_desc (Prarit Bhargava) [1686678] - [kernel] genirq/affinity: Remove excess indentation (Prarit Bhargava) [1686678]- [md] dm: make sure to obey max_io_len_target_boundary (Mike Snitzer) [1712607]- [mm] x86/dump_pagetables: Fix LDT remap address marker (Baoquan He) [1639560] - [x86] x86/mm: Fix guard hole handling (Baoquan He) [1639560] - [x86] x86/mm: Move LDT remap out of KASLR region on 5-level paging (Baoquan He) [1639560] - [x86] x86/ldt: Define LDT_END_ADDR (Baoquan He) [1639560] - [mm] x86/ldt: Reserve address-space range on 32 bit for the LDT (Baoquan He) [1639560] - [documentation] x86/mm/doc: Enhance the x86-64 virtual memory layout descriptions (Baoquan He) [1639560] - [documentation] x86/mm/doc: Clean up the x86-64 virtual memory layout descriptions (Baoquan He) [1639560] - [fs] cifs: fix page reference leak with readv/writev (Leif Sahlberg) [1708033] - [fs] cifs: do not attempt cifs operation on smb2+ rename error (Leif Sahlberg) [1708033] - [fs] cifs: fix memory leak in SMB2_read (Leif Sahlberg) [1708033] - [fs] CIFS: keep FileInfo handle live during oplock break (Leif Sahlberg) [1708033] - [fs] cifs: fix handle leak in smb2_query_symlink() (Leif Sahlberg) [1708033] - [fs] cifs: Fix lease buffer length error (Leif Sahlberg) [1708033] - [fs] cifs: Fix use-after-free in SMB2_read (Leif Sahlberg) [1708033] - [fs] cifs: Fix use-after-free in SMB2_write (Leif Sahlberg) [1708033] - [fs] cifs: a smb2_validate_and_copy_iov failure does not mean the handle is invalid. (Leif Sahlberg) [1708033] - [fs] SMB3: Allow persistent handle timeout to be configurable on mount (Leif Sahlberg) [1708033] - [fs] smb3: Fix enumerating snapshots to Azure (Leif Sahlberg) [1708033] - [fs] cifs: fix kref underflow in close_shroot() (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] SMB3: Fix SMB3.1.1 guest mounts to Samba (Leif Sahlberg) [1708033] - [fs] cifs: Fix slab-out-of-bounds when tracing SMB tcon (Leif Sahlberg) [1708033] - [fs] cifs: allow guest mounts to work for smb3.11 (Leif Sahlberg) [1708033] - [fs] fix incorrect error code mapping for OBJECTID_NOT_FOUND (Leif Sahlberg) [1708033] - [fs] cifs: fix that return -EINVAL when do dedupe operation (Leif Sahlberg) [1708033] - [fs] CIFS: Fix an issue with re-sending rdata when transport returning -EAGAIN (Leif Sahlberg) [1708033] - [fs] CIFS: Fix an issue with re-sending wdata when transport returning -EAGAIN (Leif Sahlberg) [1708033] - [fs] CIFS: fix POSIX lock leak and invalid ptr deref (Leif Sahlberg) [1708033] - [fs] SMB3: Allow SMB3 FSCTL queries to be sent to server from tools (Leif Sahlberg) [1708033] - [fs] cifs: fix incorrect handling of smb2_set_sparse() return in smb3_simple_falloc (Leif Sahlberg) [1708033] - [fs] smb2: fix typo in definition of a few error flags (Leif Sahlberg) [1708033] - [fs] CIFS: make mknod() an smb_version_op (Leif Sahlberg) [1708033] - [documentation] cifs: minor documentation updates (Leif Sahlberg) [1708033] - [documentation] cifs: minor updates to documentation (Leif Sahlberg) [1708033] - [fs] cifs: remove unused value pointed out by Coverity (Leif Sahlberg) [1708033] - [fs] SMB3: passthru query info doesn't check for SMB3 FSCTL passthru (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic tracepoints for simple fallocate and zero range (Leif Sahlberg) [1708033] - [fs] cifs: fix smb3_zero_range so it can expand the file-size when required (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_ioctl_init/free helpers to be used with compounding (Leif Sahlberg) [1708033] - [fs] smb3: Add dynamic trace points for various compounded smb3 ops (Leif Sahlberg) [1708033] - [fs] cifs: cache FILE_ALL_INFO for the shared root handle (Leif Sahlberg) [1708033] - [fs] smb3: display volume serial number for shares in /proc/fs/cifs/DebugData (Leif Sahlberg) [1708033] - [fs] cifs: simplify how we handle credits in compound_send_recv() (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic tracepoint for timeout waiting for credits (Leif Sahlberg) [1708033] - [fs] smb3: display security information in /proc/fs/cifs/DebugData more accurately (Leif Sahlberg) [1708033] - [fs] cifs: add a timeout argument to wait_for_free_credits (Leif Sahlberg) [1708033] - [fs] cifs: prevent starvation in wait_for_free_credits for multi-credit requests (Leif Sahlberg) [1708033] - [fs] cifs: wait_for_free_credits() make it possible to wait for >=1 credits (Leif Sahlberg) [1708033] - [fs] cifs: pass flags down into wait_for_free_credits() (Leif Sahlberg) [1708033] - [fs] cifs: change wait_for_free_request() to take flags as argument (Leif Sahlberg) [1708033] - [fs] fs: cifs: Kconfig: pedantic formatting (Leif Sahlberg) [1708033] - [fs] smb3: request more credits on normal (non-large read/write) ops (Leif Sahlberg) [1708033] - [fs] CIFS: Return -EAGAIN instead of -ENOTSOCK (Leif Sahlberg) [1708033] - [fs] CIFS: Only send SMB2_NEGOTIATE command on new TCP connections (Leif Sahlberg) [1708033] - [fs] CIFS: Fix read after write for files with read caching (Leif Sahlberg) [1708033] - [fs] smb3: for kerberos mounts display the credential uid used (Leif Sahlberg) [1708033] - [fs] cifs: use correct format characters (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic trace point for query_info_enter/done (Leif Sahlberg) [1708033] - [fs] smb3: add dynamic trace point for smb3_cmd_enter (Leif Sahlberg) [1708033] - [fs] smb3: improve dynamic tracing of open and posix mkdir (Leif Sahlberg) [1708033] - [fs] smb3: add missing read completion trace point (Leif Sahlberg) [1708033] - [fs] smb3: Add tracepoints for read, write and query_dir enter (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoints for query dir (Leif Sahlberg) [1708033] - [fs] smb3: Update POSIX negotiate context with POSIX ctxt GUID (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: Try to acquire credits at once for compound requests (Leif Sahlberg) [1708033] - [fs] CIFS: Return error code when getting file handle for writeback (Leif Sahlberg) [1708033] - [fs] CIFS: Move open file handling to writepages (Leif Sahlberg) [1708033] - [fs] CIFS: Move unlocking pages from wdata_send_pages() (Leif Sahlberg) [1708033] - [fs] CIFS: Find and reopen a file before get MTU credits in writepages (Leif Sahlberg) [1708033] - [fs] CIFS: Reopen file before get SMB2 MTU credits for async IO (Leif Sahlberg) [1708033] - [fs] CIFS: Remove custom credit adjustments for SMB2 async IO (Leif Sahlberg) [1708033] - [fs] CIFS: Adjust MTU credits before reopening a file (Leif Sahlberg) [1708033] - [fs] CIFS: Check for reconnects before sending compound requests (Leif Sahlberg) [1708033] - [fs] CIFS: Check for reconnects before sending async requests (Leif Sahlberg) [1708033] - [fs] CIFS: Respect reconnect in non-MTU credits calculations (Leif Sahlberg) [1708033] - [fs] CIFS: Respect reconnect in MTU credits calculations (Leif Sahlberg) [1708033] - [fs] CIFS: Set reconnect instance to one initially (Leif Sahlberg) [1708033] - [fs] CIFS: Respect SMB2 hdr preamble size in read responses (Leif Sahlberg) [1708033] - [fs] CIFS: Count SMB3 credits for malformed pending responses (Leif Sahlberg) [1708033] - [fs] CIFS: Do not log credits when unmounting a share (Leif Sahlberg) [1708033] - [fs] CIFS: Always reset read error to -EIO if no response (Leif Sahlberg) [1708033] - [fs] cifs: Accept validate negotiate if server return NT_STATUS_NOT_SUPPORTED (Leif Sahlberg) [1708033] - [fs] CIFS: Do not skip SMB2 message IDs on send failures (Leif Sahlberg) [1708033] - [fs] smb3: request more credits on tree connect (Leif Sahlberg) [1708033] - [fs] smb3: make default i/o size for smb3 mounts larger (Leif Sahlberg) [1708033] - [fs] CIFS: Do not reset lease state to NONE on lease break (Leif Sahlberg) [1708033] - [fs] smb3: fix bytes_read statistics (Leif Sahlberg) [1708033] - [fs] cifs: return -ENODATA when deleting an xattr that does not exist (Leif Sahlberg) [1708033] - [fs] cifs: add credits from unmatched responses/messages (Leif Sahlberg) [1708033] - [fs] cifs: replace snprintf with scnprintf (Leif Sahlberg) [1708033] - [fs] cifs: Fix NULL pointer dereference of devname (Leif Sahlberg) [1708033] - [fs] CIFS: Fix leaking locked VFS cache pages in writeback retry (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: fix use-after-free of the lease keys (Leif Sahlberg) [1708033] - [fs] CIFS: Do not consider -ENODATA as stat failure for reads (Leif Sahlberg) [1708033] - [fs] CIFS: Do not count -ENODATA as failure for query directory (Leif Sahlberg) [1708033] - [fs] CIFS: Fix trace command logging for SMB2 reads and writes (Leif Sahlberg) [1708033] - [fs] CIFS: Fix possible oops and memory leaks in async IO (Leif Sahlberg) [1708033] - [fs] cifs: limit amount of data we request for xattrs to CIFSMaxBufSize (Leif Sahlberg) [1708033] - [fs] cifs: fix computation for MAX_SMB2_HDR_SIZE (Leif Sahlberg) [1708033] - [fs] cifs: print CIFSMaxBufSize as part of /proc/fs/cifs/DebugData (Leif Sahlberg) [1708033] - [fs] smb3: add credits we receive from oplock/break PDUs (Leif Sahlberg) [1708033] - [fs] CIFS: Fix mounts if the client is low on credits (Leif Sahlberg) [1708033] - [fs] CIFS: Do not assume one credit for async responses (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit calculations in compound mid callback (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit calculation for encrypted reads with errors (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credits calculations for reads with errors (Leif Sahlberg) [1708033] - [fs] CIFS: Do not reconnect TCP session in add_credits() (Leif Sahlberg) [1708033] - [fs] smb3: Cleanup license mess (Leif Sahlberg) [1708033] - [fs] CIFS: Fix possible hang during async MTU reads and writes (Leif Sahlberg) [1708033] - [fs] cifs: fix memory leak of an allocated cifs_ntsd structure (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] CIFS: Fix error paths in writeback code (Leif Sahlberg) [1708033] - [fs] CIFS: Move credit processing to mid callbacks for SMB3 (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credits calculation for cancelled requests (Leif Sahlberg) [1708033] - [fs] cifs: Fix potential OOB access of lock element array (Leif Sahlberg) [1708033] - [fs] cifs: Limit memory used by lock request calls to a page (Leif Sahlberg) [1708033] - [fs] cifs: move large array from stack to heap (Leif Sahlberg) [1708033] - [fs] CIFS: Do not hide EINTR after sending network packets (Leif Sahlberg) [1708033] - [fs] CIFS: Fix credit computation for compounded requests (Leif Sahlberg) [1708033] - [fs] CIFS: Do not set credits to 1 if the server didn't grant anything (Leif Sahlberg) [1708033] - [fs] CIFS: Fix adjustment of credits for MTU requests (Leif Sahlberg) [1708033] - [fs] cifs: Fix a tiny potential memory leak (Leif Sahlberg) [1708033] - [fs] cifs: Fix a debug message (Leif Sahlberg) [1708033] - [fs] smb3: add smb3.1.1 to default dialect list (Leif Sahlberg) [1708033] - [fs] cifs: fix confusing warning message on reconnect (Leif Sahlberg) [1708033] - [fs] smb3: fix large reads on encrypted connections (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number (Leif Sahlberg) [1708033] - [fs] cifs: we can not use small padding iovs together with encryption (Leif Sahlberg) [1708033] - [fs] cifs: Minor Kconfig clarification (Leif Sahlberg) [1708033] - [fs] cifs: Always resolve hostname before reconnecting (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_reconnect_tcon() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in smb2_reconnect() (Leif Sahlberg) [1708033] - [fs] cifs: Only free DFS target list if we actually got one (Leif Sahlberg) [1708033] - [fs] cifs: start DFS cache refresher in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: Use GFP_ATOMIC when a lock is held in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_reconnect() (Leif Sahlberg) [1708033] - [fs] cifs: Add support for failover in cifs_mount() (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'sep' (Leif Sahlberg) [1708033] - [fs] cifs: Make use of DFS cache to get new DFS referrals (Leif Sahlberg) [1708033] - [fs] cifs: check kzalloc return (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'server' (Leif Sahlberg) [1708033] - [fs] cifs: Use kzfree() to free password (Leif Sahlberg) [1708033] - [fs] cifs: Fix to use kmem_cache_free() instead of kfree() (Leif Sahlberg) [1708033] - [fs] cifs: update for current_kernel_time64() removal (Leif Sahlberg) [1708033] - [fs] cifs: Add DFS cache routines (Leif Sahlberg) [1708033] - [fs] cifs: Save TTL value when parsing DFS referrals (Leif Sahlberg) [1708033] - [fs] cifs: auto disable 'serverino' in dfs mounts (Leif Sahlberg) [1708033] - [fs] cifs: Make devname param optional in cifs_compose_mount_options() (Leif Sahlberg) [1708033] - [fs] cifs: Skip any trailing backslashes from UNC (Leif Sahlberg) [1708033] - [fs] cifs: Refactor out cifs_mount() (Leif Sahlberg) [1708033] - [fs] CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem (Leif Sahlberg) [1708033] - [fs] CIFS: return correct errors when pinning memory failed for direct I/O (Leif Sahlberg) [1708033] - [fs] CIFS: use the correct length when pinning memory for direct I/O for write (Leif Sahlberg) [1708033] - [fs] cifs: check ntwrk_buf_start for NULL before dereferencing it (Leif Sahlberg) [1708033] - [fs] cifs: remove coverity warning in calc_lanman_hash (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'smb_buf' (Leif Sahlberg) [1708033] - [fs] cifs: suppress some implicit-fallthrough warnings (Leif Sahlberg) [1708033] - [fs] cifs: change smb2_query_eas to use the compound query-info helper (Leif Sahlberg) [1708033] - [fs] Add vers=3.0.2 as a valid option for SMBv3.0.2 (Leif Sahlberg) [1708033] - [fs] cifs: create a helper function for compound query_info (Leif Sahlberg) [1708033] - [fs] cifs: address trivial coverity warning (Leif Sahlberg) [1708033] - [fs] cifs: smb2 commands can not be negative, remove confusing check (Leif Sahlberg) [1708033] - [fs] cifs: use a compound for setting an xattr (Leif Sahlberg) [1708033] - [fs] cifs: clean up indentation, replace spaces with tab (Leif Sahlberg) [1708033] - [fs] smb3: Fix rmdir compounding regression to strict servers (Leif Sahlberg) [1708033] - [fs] CIFS: Avoid returning EBUSY to upper layer VFS (Leif Sahlberg) [1708033] - [fs] cifs: Fix separator when building path from dentry (Leif Sahlberg) [1708033] - [fs] cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs) (Leif Sahlberg) [1708033] - [fs] cifs: fix signed/unsigned mismatch on aio_read patch (Leif Sahlberg) [1708033] - [fs] cifs: don't dereference smb_file_target before null check (Leif Sahlberg) [1708033] - [fs] CIFS: Add direct I/O functions to file_operations (Leif Sahlberg) [1708033] - [fs] CIFS: Add support for direct I/O write (Leif Sahlberg) [1708033] - [fs] CIFS: Add support for direct I/O read (Leif Sahlberg) [1708033] - [fs] smb3: missing defines and structs for reparse point handling (Leif Sahlberg) [1708033] - [fs] smb3: allow more detailed protocol info on open files for debugging (Leif Sahlberg) [1708033] - [fs] smb3: on kerberos mount if server doesn't specify auth type use krb5 (Leif Sahlberg) [1708033] - [fs] smb3: add trace point for tree connection (Leif Sahlberg) [1708033] - [fs] cifs: fix spelling mistake, EACCESS -> EACCES (Leif Sahlberg) [1708033] - [fs] cifs: fix return value for cifs_listxattr (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number for cifs.ko to 2.14 (Leif Sahlberg) [1708033] - [fs] smb3: add debug for unexpected mid cancellation (Leif Sahlberg) [1708033] - [fs] cifs: allow calling SMB2_xxx_free(NULL) (Leif Sahlberg) [1708033] - [fs] smb3 - clean up debug output displaying network interfaces (Leif Sahlberg) [1708033] - [fs] smb3: show number of current open files in /proc/fs/cifs/Stats (Leif Sahlberg) [1708033] - [fs] cifs: add support for ioctl on directories (Leif Sahlberg) [1708033] - [fs] cifs: fallback to older infolevels on findfirst queryinfo retry (Leif Sahlberg) [1708033] - [fs] smb3: do not attempt cifs operation in smb3 query info error path (Leif Sahlberg) [1708033] - [fs] smb3: send backup intent on compounded query info (Leif Sahlberg) [1708033] - [fs] cifs: track writepages in vfs operation counters (Leif Sahlberg) [1708033] - [fs] smb2: fix uninitialized variable bug in smb2_ioctl_query_info (Leif Sahlberg) [1708033] - [fs] cifs: add IOCTL for QUERY_INFO passthrough to userspace (Leif Sahlberg) [1708033] - [fs] cifs: minor clarification in comments (Leif Sahlberg) [1708033] - [fs] CIFS: Print message when attempting a mount (Leif Sahlberg) [1708033] - [fs] CIFS: Adds information-level logging function (Leif Sahlberg) [1708033] - [fs] cifs: OFD locks do not conflict with eachothers (Leif Sahlberg) [1708033] - [fs] CIFS: SMBD: Do not call ib_dereg_mr on invalidated memory registration (Leif Sahlberg) [1708033] - [fs] CIFS: pass page offsets on SMB1 read/write (Leif Sahlberg) [1708033] - [fs] fs/cifs: fix uninitialised variable warnings (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for sending lease break responses to server (Leif Sahlberg) [1708033] - [fs] cifs: do not return atime less than mtime (Leif Sahlberg) [1708033] - [fs] smb3: update default requested iosize to 4MB from 1MB for recent dialects (Leif Sahlberg) [1708033] - [fs] smb3: Add debug message later in smb2/smb3 reconnect path (Leif Sahlberg) [1708033] - [fs] CIFS: make 'nodfs' mount opt a superblock flag (Leif Sahlberg) [1708033] - [fs] smb3: track the instance of each session for debugging (Leif Sahlberg) [1708033] - [fs] smb3: minor missing defines relating to reparse points (Leif Sahlberg) [1708033] - [fs] smb3: add way to control slow response threshold for logging and stats (Leif Sahlberg) [1708033] - [fs] cifs: minor updates to module description for cifs.ko (Leif Sahlberg) [1708033] - [fs] cifs: protect against server returning invalid file system block size (Leif Sahlberg) [1708033] - [fs] smb3: allow stats which track session and share reconnects to be reset (Leif Sahlberg) [1708033] - [fs] SMB3: Backup intent flag missing from compounded ops (Leif Sahlberg) [1708033] - [fs] cifs: create a define for the max number of iov we need for a SMB2 set_info (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_RENAME and SMB2_OP_HARDLINK to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: remove the is_falloc argument to SMB2_set_eof (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_SET_INFO to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: change SMB2_OP_SET_EOF to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: make rmdir() use compounding (Leif Sahlberg) [1708033] - [fs] cifs: create helpers for SMB2_set_info_init/free() (Leif Sahlberg) [1708033] - [fs] cifs: change unlink to use a compound (Leif Sahlberg) [1708033] - [fs] cifs: change mkdir to use a compound (Leif Sahlberg) [1708033] - [fs] cifs: add a smb2_compound_op and change QUERY_INFO to use it (Leif Sahlberg) [1708033] - [fs] cifs: fix a credits leak for compund commands (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint to catch cases where credit refund of failed op overlaps reconnect (Leif Sahlberg) [1708033] - [fs] cifs: remove set but not used variable 'cifs_sb' (Leif Sahlberg) [1708033] - [fs] cifs: Use kmemdup rather than duplicating its implementation in smb311_posix_mkdir() (Leif Sahlberg) [1708033] - [fs] smb3: do not display confusing message on mount to Azure servers (Leif Sahlberg) [1708033] - [fs] smb3: fix lease break problem introduced by compounding (Leif Sahlberg) [1708033] - [fs] cifs: only wake the thread for the very last PDU in a compound (Leif Sahlberg) [1708033] - [fs] cifs: add a warning if we try to to dequeue a deleted mid (Leif Sahlberg) [1708033] - [fs] smb2: fix missing files in root share directory listing (Leif Sahlberg) [1708033] - [fs] cifs: read overflow in is_valid_oplock_break() (Leif Sahlberg) [1708033] - [fs] cifs: integer overflow in in SMB2_ioctl() (Leif Sahlberg) [1708033] - [fs] CIFS: fix wrapping bugs in num_entries() (Leif Sahlberg) [1708033] - [fs] cifs: prevent integer overflow in nxt_dir_entry() (Leif Sahlberg) [1708033] - [fs] fs/cifs: suppress a string overflow warning (Leif Sahlberg) [1708033] - [fs] cifs: connect to servername instead of IP for IPC$ share (Leif Sahlberg) [1708033] - [fs] smb3: check for and properly advertise directory lease support (Leif Sahlberg) [1708033] - [fs] smb3: minor debugging clarifications in rfc1001 len processing (Leif Sahlberg) [1708033] - [fs] SMB3: Backup intent flag missing for directory opens with backupuid mounts (Leif Sahlberg) [1708033] - [fs] fs/cifs: don't translate SFM_SLASH (U+F026) to backslash (Leif Sahlberg) [1708033] - [fs] cifs: update internal module version number for cifs.ko to 2.12 (Leif Sahlberg) [1708033] - [fs] cifs: check kmalloc before use (Leif Sahlberg) [1708033] - [fs] cifs: check if SMB2 PDU size has been padded and suppress the warning (Leif Sahlberg) [1708033] - [fs] cifs: create a define for how many iovs we need for an SMB2_open() (Leif Sahlberg) [1708033] - [fs] smb3: create smb3 equivalent alias for cifs pseudo-xattrs (Leif Sahlberg) [1708033] - [fs] smb3: allow previous versions to be mounted with snapshot= mount parm (Leif Sahlberg) [1708033] - [fs] cifs: don't show domain= in mount output when domain is empty (Leif Sahlberg) [1708033] - [fs] cifs: add missing support for ACLs in SMB 3.11 (Leif Sahlberg) [1708033] - [fs] smb3: enumerating snapshots was leaving part of the data off end (Leif Sahlberg) [1708033] - [fs] cifs: update smb2_queryfs() to use compounding (Leif Sahlberg) [1708033] - [fs] cifs: update receive_encrypted_standard to handle compounded responses (Leif Sahlberg) [1708033] - [fs] cifs: create SMB2_open_init()/SMB2_open_free() helpers. (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_query_info_[init|free]() (Leif Sahlberg) [1708033] - [fs] cifs: add SMB2_close_init()/SMB2_close_free() (Leif Sahlberg) [1708033] - [fs] smb3: display stats counters for number of slow commands (Leif Sahlberg) [1708033] - [fs] CIFS: fix uninitialized ptr deref in smb2 signing (Leif Sahlberg) [1708033] - [fs] smb3: Do not send SMB3 SET_INFO if nothing changed (Leif Sahlberg) [1708033] - [fs] smb3: fix minor debug output for CONFIG_CIFS_STATS (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for slow responses (Leif Sahlberg) [1708033] - [fs] cifs: add compound_send_recv() (Leif Sahlberg) [1708033] - [fs] cifs: make smb_send_rqst take an array of requests (Leif Sahlberg) [1708033] - [fs] cifs: update init_sg, crypt_message to take an array of rqst (Leif Sahlberg) [1708033] - [fs] smb3: fix reset of bytes read and written stats (Leif Sahlberg) [1708033] - [fs] smb3: display bytes_read and bytes_written in smb3 stats (Leif Sahlberg) [1708033] - [fs] cifs: simple stats should always be enabled (Leif Sahlberg) [1708033] - [fs] cifs: use a refcount to protect open/closing the cached file handle (Leif Sahlberg) [1708033] - [fs] smb3: add reconnect tracepoints (Leif Sahlberg) [1708033] - [fs] smb3: add tracepoint for session expired or deleted (Leif Sahlberg) [1708033] - [fs] cifs: remove unused stats (Leif Sahlberg) [1708033] - [fs] smb3: don't request leases in symlink creation and query (Leif Sahlberg) [1708033] - [fs] smb3: remove per-session operations from per-tree connection stats (Leif Sahlberg) [1708033] - [fs] SMB3: Number of requests sent should be displayed for SMB3 not just CIFS (Leif Sahlberg) [1708033] - [fs] smb3: snapshot mounts are read-only and make sure info is displayable about the mount (Leif Sahlberg) [1708033] - [fs] smb3: remove noisy warning message on mount (Leif Sahlberg) [1708033] - [fs] cifs: add missing debug entries for kconfig options (Leif Sahlberg) [1708033] - [fs] smb3: fill in statfs fsid and correct namelen (Leif Sahlberg) [1708033] - [fs] cifs: Make sure all data pages are signed correctly (Leif Sahlberg) [1708033] - [fs] CIFS: fix memory leak and remove dead code (Leif Sahlberg) [1708033] - [fs] cifs: use 64-bit timestamps for fscache (Leif Sahlberg) [1708033] - [fs] cifs: use timespec64 internally (Leif Sahlberg) [1708033] - [fs] cifs: Silence uninitialized variable warning (Leif Sahlberg) [1708033] - [fs] fs/cifs: Simplify ib_post_(send|recv|srq_recv)() calls (Leif Sahlberg) [1708033]- [edac] EDAC/amd64: Set maximum channel layer size depending on family (Gary Hook) [1690984] - [edac] EDAC/amd64: Adjust printed chip select sizes when interleaved (Gary Hook) [1690984] - [edac] EDAC/amd64: Recognize x16 symbol size (Gary Hook) [1690984] - [edac] EDAC/amd64: Support more than two Unified Memory Controllers (Gary Hook) [1690984] - [edac] EDAC/amd64: Use a macro for iterating over Unified Memory Controllers (Gary Hook) [1690984] - [edac] EDAC, amd64: Add Family 17h, models 10h-2fh support (Gary Hook) [1670609 1690984] - [md] dm mpath: fix missing call of path selector type->end_io (Mike Snitzer) [1686227] - [rpmspec] redhat: do not generate debuginfo for self-tests and samples (Ivan Vecera) [1708375] - [netdrv] broadcom: Mark expected switch fall-throughs (Kamal Heib) [1684380] - [netdrv] cross-tree: phase out dma_zalloc_coherent() (Kamal Heib) [1684380] - [netdrv] broadcom: tg3: fix use of SPEED_UNKNOWN ethtool constant (Kamal Heib) [1684380] - [netdrv] tg3: allow ethtool -p to work for NICs in down state (Kamal Heib) [1684380] - [netdrv] tg3: optionally use eth_platform_get_mac_address() to get mac address (Kamal Heib) [1684380] - [netdrv] tg3: extend PTP gettime function to read system clock (Kamal Heib) [1684380] - [netdrv] tg3: Fix fall-through annotations (Kamal Heib) [1684380] - [netdrv] tg3: Mark expected switch fall-throughs (Kamal Heib) [1684380] - [mm] x86/mm/KASLR: Fix the size of the direct mapping section (Baoquan He) [1669075] - [netdrv] net/mlx4_en: fix spelling mistake: "quiting" -> "quitting" (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix error handling when initializing CQ bufs in the driver (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Add masking for a few queries on HCA caps (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Fix using wrong function to destroy sqp AHs under SRIOV (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4: replace pci_{,un}map_sg with dma_{,un}map_sg (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4: Get rid of page operation after dma_alloc_coherent (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: drop useless LIST_HEAD (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Remove set but not used variable 'pd' (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Utilize macro to calculate SQ spare size (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_en: remove fallback after kzalloc_node() (Alaa Hleihel) [1691235 1691228] - [infiniband] IB/mlx4: Remove unneeded NULL check (Alaa Hleihel) [1691235 1691228] - [infiniband] mlx4: Use snprintf instead of complicated strcpy (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix several coding style errors (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_core: Fix return codes of unsupported operations (Alaa Hleihel) [1691235 1691228] - [netdrv] {net, IB}/mlx4: Initialize CQ buffers in the driver when possible (Alaa Hleihel) [1691235 1691228] - [netdrv] mlx4: use __vlan_hwaccel helpers (Alaa Hleihel) [1691235 1691228] - [netdrv] net/mlx4_en: Fix build break when CONFIG_INET is off (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_en: use __netdev_tx_sent_queue() (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_en: add a missing include (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Add port and TID to MAD debug print (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Enable debug print of SMPs (Alaa Hleihel) [1691233 1691228] - [infiniband] RDMA: Fix dependencies for rdma_user_mmap_io (Alaa Hleihel) [1691233 1691228] - [infiniband] IB/mlx4: Remove unnecessary parentheses (Alaa Hleihel) [1691233 1691228] - [infiniband] RDMA/mlx4: Use rdma_user_mmap_io (Alaa Hleihel) [1691233 1691228] - [netdrv] net/mlx4_core: Fix warnings during boot on driverinit param set failures (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Use devlink region_snapshot parameter (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Add Crdump FW snapshot support (Alaa Hleihel) [1691228] - [netdrv] net/mlx4_core: Add health buffer address capability (Alaa Hleihel) [1691228] - [netdrv] mlx4: Add support for devlink reload and load driverinit values (Alaa Hleihel) [1691228 1663198] - [netdrv] mlx4: Add mlx4 initial parameters table and register it (Alaa Hleihel) [1691228 1663198] - [infiniband] IB/mlx4: Create slave AH's directly (Alaa Hleihel) [1691228] - [infiniband] IB/mlx4: Add support for drain SQ & RQ (Alaa Hleihel) [1691228] - [net] openvswitch: return an error instead of doing BUG_ON() (Eelco Chaudron) [1700468] - [include] net: add netif_is_geneve() (Petr Oros) [1707002] - [netdrv] team: fix possible recursive locking when add slaves (Hangbin Liu) [1700679] - [netdrv] phy: Fix ioctl handler when modifing MII_ADVERTISE (Petr Oros) [1691676] - [netdrv] mii: Add mii_lpa_mod_linkmode_lpa_t (Petr Oros) [1691676] - [netdrv] phy: marvell: Rename mii_lpa_to_linkmode_lpa_t (Petr Oros) [1691676] - [netdrv] mii: Rename mii_stat1000_to_linkmode_lpa_t (Petr Oros) [1691676] - [include] mii: Fix autoneg in mii_lpa_to_linkmode_lpa_t() (Petr Oros) [1691676] - [netdrv] phy: remove unused code in phy_probe (Petr Oros) [1691676] - [netdrv] phy: check if advertising is zero using linkmode_empty (Petr Oros) [1691676] - [netdrv] phy: marvell: remove set but not used variable 'pause' (Petr Oros) [1691676] - [netdrv] phy: Add support for resolving 5G and 2.5G autoneg (Petr Oros) [1691676] - [netdrv] phy: Add more link modes to the settings table (Petr Oros) [1691676] - [netdrv] phy: Fixup kerneldoc markup. (Petr Oros) [1691676] - [netdrv] phy: Convert u32 phydev->lp_advertising to linkmode (Petr Oros) [1691676] - [netdrv] ethernet: Convert phydev advertize and supported from u32 to link mode (Petr Oros) [1691676] - [netdrv] bonding: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [netdrv] bonding: Give bond_set_dev_addr() a return value (Ivan Vecera) [1705509] - [netdrv] ipvlan: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] bridge: Handle NETDEV_PRE_CHANGEADDR from ports (Ivan Vecera) [1705509] - [net] bridge: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Issue NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Add NETDEV_PRE_CHANGEADDR (Ivan Vecera) [1705509] - [net] dev: Add extack argument to dev_set_mac_address() (Ivan Vecera) [1705509] - [netdrv] phy: phy driver features are mandatory (Petr Oros) [1691720] - [netdrv] phy: add missing phy driver features (Petr Oros) [1691720] - [netdrv] phy: Add missing features to PHY drivers (Petr Oros) [1691720] - [netdrv] phy: genphy_10g_driver: Avoid NULL pointer dereference (Petr Oros) [1691720] - [netdrv] phy: phy_support_sym_pause: Clear Asym Pause (Petr Oros) [1691720] - [netdrv] phy: Replace phy driver features u32 with link_mode bitmap (Petr Oros) [1691720] - [netdrv] ethernet: xgbe: expand PHY_GBIT_FEAUTRES (Petr Oros) [1691720] - [net] net: phy: Add limkmode equivalents to some of the MII ethtool helpers (Petr Oros) [1691720] - [netdrv] phy: Add helper for advertise to lcl value (Petr Oros) [1691720] - [net] phy: Add helper to convert MII ADV register to a linkmode (Petr Oros) [1691720] - [netdrv] phy: Add phydev_info() (Petr Oros) [1691720] - [netdrv] phy: Add phydev_warn() (Petr Oros) [1691720] - [netdrv] phy: Move linkmode helpers to somewhere public (Petr Oros) [1691720] - [netdrv] ethernet: dpaa: remove unused variables (Petr Oros) [1691720] - [netdrv] ravb: Disable Pause Advertisement (Petr Oros) [1691720] - [netdrv] ethernet: Add helper to determine if pause configuration is supported (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for set_pauseparam for Pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for set_pauseparam for Asym Pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for MACs which support pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper for MACs which support asym pause (Petr Oros) [1691720] - [netdrv] ethernet: Add helper to remove a supported link mode (Petr Oros) [1691720] - [netdrv] ethernet: Fix up drivers masking pause support (Petr Oros) [1691720] - [netdrv] bcmgenet: Fix speed selection for reverse MII (Petr Oros) [1691720] - [netdrv] ethernet: Use phy_set_max_speed() to limit advertised speed (Petr Oros) [1691720] - [netdrv] phy: bcm63xx: Allow to be built with COMPILE_TEST (Petr Oros) [1691720] - [netdrv] phy: et1011c: Remove incorrect missing 1000 Half (Petr Oros) [1691720] - [netdrv] phy: ste10Xp: Remove wrong SUPPORTED_Pause (Petr Oros) [1691720] - [tools] selftests: net: ip_defrag: cover new IPv6 defrag behavior (Guillaume Nault) [1660282] - [tools] selftests: net: fix/improve ip_defrag selftest (Guillaume Nault) [1660282] - [tools] selftests: use posix-style redirection in ip_defrag.sh (Guillaume Nault) [1660282] - [tools] selftests: net: Clean up an unused variable (Guillaume Nault) [1660282] - [tools] selftests/net: add ipv6 tests to ip_defrag selftest (Guillaume Nault) [1660282] - [tools] selftests/net: add ip_defrag selftest (Guillaume Nault) [1660282] - [net] ip6: fix skb leak in ip6frag_expire_frag_queue() (Guillaume Nault) [1660282] - [net] IP6 defrag: use rbtrees in nf_conntrack_reasm.c (Guillaume Nault) [1660282] - [net] IP6 defrag: use rbtrees for IPv6 defrag (Guillaume Nault) [1660282] - [net] IP defrag: encapsulate rbtree defrag code into callable functions (Guillaume Nault) [1660282] - [net] ipv4: do not handle duplicate fragments as overlapping (Guillaume Nault) [1660282] - [net] ipv4: ipv6: netfilter: Adjust the frag mem limit when truesize changes (Guillaume Nault) [1660282] - [net] ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module (Guillaume Nault) [1660282] - [net] ipv6: fix typo in net/ipv6/reassembly.c (Guillaume Nault) [1660282] - [net] core: dev: Attach extack to NETDEV_PRE_UP (Ivan Vecera) [1705501] - [net] core: dev: Add call_netdevice_notifiers_extack() (Ivan Vecera) [1705501] - [net] core: dev: Add extack argument to __dev_change_flags() (Ivan Vecera) [1705501] - [net] core: dev: Add extack argument to dev_change_flags() (Ivan Vecera) [1705501] - [netdrv] ipvlan: ipvlan_set_port_mode(): Add an extack argument (Ivan Vecera) [1705501] - [netdrv] vrf: cycle_netdev(): Add an extack argument (Ivan Vecera) [1705501] - [net] net: core: dev: Add extack argument to dev_open() (Ivan Vecera) [1705501] - [net] vlan: conditional inclusion of FCoE hooks to match netdevice.h and bnx2x (Chris Leech) [1685894] - [net] Do not route unicast IP packets twice (Ivan Vecera) [1704923] - [net] skbuff: Rename 'offload_mr_fwd_mark' to 'offload_l3_fwd_mark' (Ivan Vecera) [1704923] - [net] devlink: Add 'fw_load_policy' generic parameter (Ivan Vecera) [1704902] - [net] bridge: Extend br_vlan_get_pvid() for bridge ports (Ivan Vecera) [1704863] - [net] ipv4: Notify about changes to ip_forward_update_priority (Ivan Vecera) [1704697] - [net] ipv4: Control SKB reprioritization after forwarding (Ivan Vecera) [1704697] - [net] dcb: Add priority-to-DSCP map getters (Ivan Vecera) [1704639] - [net] xsk: export xdp_get_umem_from_qid (Ivan Vecera) [1704606] - [net] net: Add lag.h, net_lag_port_dev_txable() (Ivan Vecera) [1704297] - [netdrv] team: Publish team_port_get_rcu() (Ivan Vecera) [1704297] - [net] sched: sch_api: set an error msg when qdisc_alloc_handle() fails (Ivan Vecera) [1677094] - [net] ethtool: Remove unnecessary null check in ethtool_rx_flow_rule_create (Ivan Vecera) [1691738] - [net] flow_offload: fix block stats (Ivan Vecera) [1691738] - [net] sched: flower: only return error from hw offload if skip_sw (Ivan Vecera) [1691738] - [net] flow_offload: Fix flow action infrastructure (Ivan Vecera) [1691738] - [net] ethtool: add ethtool_rx_flow_spec to flow_rule structure translator (Ivan Vecera) [1691738] - [net] flow_offload: add wake-up-on-lan and queue to flow_action (Ivan Vecera) [1691738] - [net] flow_offload: add statistics retrieval infrastructure and use it (Ivan Vecera) [1691738] - [net] cls_api: add translator to flow_action representation (Ivan Vecera) [1691738] - [net] flow_offload: add flow action infrastructure (Ivan Vecera) [1691738] - [net] flow_offload: add flow_rule and flow_match structures and use them (Ivan Vecera) [1691738] - [net] netfilter: ipv6: Don't preserve original oif for loopback address (Florian Westphal) [1702813] - [net] netfilter: ipv6: Preserve link scope traffic original oif (Florian Westphal) [1702813] - [net] sctp: implement memory accounting on rx path (Xin Long) [1665243] {CVE-2019-3874} - [net] sctp: implement memory accounting on tx path (Xin Long) [1665243] {CVE-2019-3874} - [net] openvswitch: fix flow actions reallocation (Eelco Chaudron) [1700468] - [net] openvswitch: fix missing checks for nla_nest_start (Eelco Chaudron) [1700468] - [net] openvswitch: fix a NULL pointer dereference (Eelco Chaudron) [1700468] - [net] openvswitch: meter: Use struct_size() in kzalloc() (Eelco Chaudron) [1700468] - [net] openvswitch: Fix IPv6 later frags parsing (Eelco Chaudron) [1700468] - [net] openvswitch: fix spelling mistake "execeeds" -> "exceeds" (Eelco Chaudron) [1700468] - [net] openvswitch: remove BUG_ON from get_dpdev (Eelco Chaudron) [1700468] - [net] openvswitch: fix linking without CONFIG_NF_CONNTRACK_LABELS (Eelco Chaudron) [1700468] - [net] revert "openvswitch: Fix template leak in error cases." (Eelco Chaudron) [1700468] - [net] openvswitch: Use correct reply values in datapath and vport ops (Eelco Chaudron) [1700468] - [net] ovs: fix return type of ndo_start_xmit function (Eelco Chaudron) [1700468] - [net] openvswitch: Derive IP protocol number for IPv6 later frags (Eelco Chaudron) [1700468] - [net] openvswitch: kernel datapath clone action (Eelco Chaudron) [1700468] - [net] openvswitch: Avoid OOB read when parsing flow nlattrs (Eelco Chaudron) [1700468] - [net] net/vlan: remove unused #define HAVE_VLAN_GET_TAG (Ivan Vecera) [1700369] - [net] vlan: include the shift in skb_vlan_tag_get_prio() (Ivan Vecera) [1700369] - [net] vlan: introduce __vlan_hwaccel_copy_tag() helper (Ivan Vecera) [1700369] - [net] vlan: introduce __vlan_hwaccel_clear_tag() helper (Ivan Vecera) [1700369] - [net] sctp: initialize _pad of sockaddr_in before copying to user memory (Xin Long) [1699076] - [net] sctp: use memdup_user instead of vmemdup_user (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_STREAM_SCHEDULER sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_EVENT sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_ENABLE_STREAM_RESET sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_PRINFO sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_DEACTIVATE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_DELETE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_ACTIVE_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_KEY sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_MAX_BURST sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_CONTEXT sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SNDINFO sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DELAYED_SACK sockopt (Xin Long) [1699076] - [net] sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SEND_PARAM sockopt (Xin Long) [1699076] - [net] sctp: not copy sctp_sock pd_lobby in sctp_copy_descendant (Xin Long) [1699076] - [net] sctp: get sctphdr by offset in sctp_compute_cksum (Xin Long) [1699076] - [net] sctp: call sctp_auth_init_hmacs() in sctp_sock_migrate() (Xin Long) [1699076] - [net] sctp: move up sctp_auth_init_hmacs() in sctp_endpoint_init() (Xin Long) [1699076] - [net] sctp: sctp_sock_migrate() returns error if sctp_bind_addr_dup() fails (Xin Long) [1699076] - [net] sctp: remove sched init from sctp_stream_init (Xin Long) [1699076] - [net] sctp: call iov_iter_revert() after sending ABORT (Xin Long) [1699076] - [net] ipvs: get sctphdr by sctphoff in sctp_csum_check (Xin Long) [1699076] - [net] sctp: chunk.c: correct format string for size_t in printk (Xin Long) [1699076] - [net] sctp: don't compare hb_timer expire date before starting it (Xin Long) [1699076] - [net] doc: sctp: Merge and clean up rst files (Xin Long) [1699076] - [net] sctp: set stream ext to NULL after freeing it in sctp_stream_outq_migrate (Xin Long) [1699076] - [net] sctp: add SCTP_FUTURE_ASOC and SCTP_CURRENT_ASSOC for SCTP_STREAM_SCHEDULER sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_EVENT sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_ENABLE_STREAM_RESET sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_PRINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_DEACTIVATE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_DELETE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_ACTIVE_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_KEY sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_MAX_BURST sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_CONTEXT sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_SNDINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DEFAULT_SEND_PARAM sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_DELAYED_SACK sockopt (Xin Long) [1699076] - [net] sctp: add SCTP_CURRENT_ASSOC for SCTP_STREAM_SCHEDULER_VALUE sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_INTERLEAVING_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_RECONFIG_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_PR_SUPPORTED sockopt (Xin Long) [1699076] - [net] sctp: add SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_THLDS sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_LOCAL_AUTH_CHUNKS sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_MAXSEG sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_ASSOCINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_RTOINFO sockopt (Xin Long) [1699076] - [net] sctp: use SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_PARAMS sockopt (Xin Long) [1699076] - [net] sctp: introduce SCTP_FUTURE/CURRENT/ALL_ASSOC (Xin Long) [1699076] - [net] sctp: set flow sport from saddr only when it's 0 (Xin Long) [1699076] - [net] sctp: set chunk transport correctly when it's a new asoc (Xin Long) [1699076] - [net] sctp: improve the events for sctp stream adding (Xin Long) [1699076] - [net] sctp: improve the events for sctp stream reset (Xin Long) [1699076] - [net] sctp: allocate sctp_sockaddr_entry with kzalloc (Xin Long) [1699076] - [net] sctp: initialize sin6_flowinfo for ipv6 addrs in sctp_inet6addr_event (Xin Long) [1699076] - [net] sctp: frag_point sanity check (Xin Long) [1699076] - [net] sctp: kfree_rcu asoc (Xin Long) [1699076] - [net] sctp: update frag_point when stream_interleave is set (Xin Long) [1699076] - [net] sctp: add sockopt SCTP_EVENT (Xin Long) [1699076] - [net] sctp: rename enum sctp_event to sctp_event_type (Xin Long) [1699076] - [net] sctp: add subscribe per asoc (Xin Long) [1699076] - [net] sctp: define subscribe in sctp_sock as __u16 (Xin Long) [1699076] - [net] sctp: process sk_reuseport in sctp_get_port_local (Xin Long) [1699076] - [net] sctp: add sock_reuseport for the sock in __sctp_hash_endpoint (Xin Long) [1699076] - [net] sctp: do reuseport_select_sock in __sctp_rcv_lookup_endpoint (Xin Long) [1699076] - [net] sctp: Fix SKB list traversal in sctp_intl_store_ordered(). (Xin Long) [1699076] - [net] sctp: Fix SKB list traversal in sctp_intl_store_reasm(). (Xin Long) [1699076] - [net] sctp: define SCTP_SS_DEFAULT for Stream schedulers (Xin Long) [1699076] - [net] sctp: clear the transport of some out_chunk_list chunks in sctp_assoc_rm_peer (Xin Long) [1699076] - [net] sctp: use sk_wmem_queued to check for writable space (Xin Long) [1699076] - [net] sctp: count both sk and asoc sndbuf with skb truesize and sctp_chunk size (Xin Long) [1699076] - [net] sctp: use the pmtu from the icmp packet to update transport pathmtu (Xin Long) [1699076] - [net] sctp: fix fall-through annotation (Xin Long) [1699076] - [net] sctp: Use skb_queue_is_first(). (Xin Long) [1699076] - [net] sctp: not traverse asoc trans list if non-ipv6 trans exists for ipv6_flowlabel (Xin Long) [1699076] - [net] sctp: fix invalid reference to the index variable of the iterator (Xin Long) [1699076] - [net] sctp: remove useless start_fail from sctp_ht_iter in proc (Xin Long) [1699076] - [net] sctp: Make wrappers for accessing in/out streams (Xin Long) [1699076] - [net] sctp: whitespace fixes (Xin Long) [1699076] - [net] sctp: check for ipv6_pinfo legal sndflow with flowlabel in sctp_v6_get_dst (Xin Long) [1699076] - [net] sctp: add support for setting flowlabel when adding a transport (Xin Long) [1699076] - [net] sctp: add spp_ipv6_flowlabel and spp_dscp for sctp_paddrparams (Xin Long) [1699076] - [net] sctp: add support for dscp and flowlabel per transport (Xin Long) [1699076] - [net] ipv4: add __ip_queue_xmit() that supports tos param (Xin Long) [1699076] - [net] sctp: add support for SCTP_REUSE_PORT sockopt (Xin Long) [1699076] - [netdrv] pptp: dst_release sk_dst_cache in pptp_sock_destruct (Xin Long) [1671606] - [net] datagram: fix unbounded loop in __skb_try_recv_datagram() (Paolo Abeni) [1692379] - [net] ipv6: route: purge exception on removal (Paolo Abeni) [1669049] - [net] vsock: cope with memory allocation failure at socket creation time (Paolo Abeni) [1671619] - [net] ptp: fix Spectre v1 vulnerability (Hangbin Liu) [1664624]- [infiniband] RDMA/bnxt_re: fix or'ing of data into an uninitialized struct member (Selvin Xavier) [1664798] - [netdrv] RDMA/bnxt_en: Enable RDMA driver support for 57500 chip (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Update kernel user abi to pass chip context (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add extended psn structure for 57500 adapters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Enable GSI QP support for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Skip backing store allocation for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add 64bit doorbells for 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add chip context to identify 57500 series (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: fix a size calculation (Selvin Xavier) [1664798] - [infiniband] infiniband: bnxt_re: qplib: Check the return value of send_message (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Increase depth of control path command queue (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Query HWRM Interface version from FW (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Make use of destroy AH sleepable flag (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Make use of create AH sleepable flag (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid accessing the device structure after it is freed (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix system hang when registration with L2 driver fails (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Wait for delayed work to finish before device removal (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Limit max_pkey to 16 bit value (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix qp async event reporting (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Report out of sequence hw counters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Expose rx discards and drop counters (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Prevent driver crash due to NULL pointer in error message print (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Drop L2 async events silently (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Avoid NULL check after accessing the pointer (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Remove the unnecessary version macro definition (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix recursive lock warning in debug kernel (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Add missing spin lock initialization (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: QPLIB: Add and use #define dev_fmt(fmt) "QPLIB: " fmt (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Modify a fall-through annotation (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix a bunch of off by one bugs in qplib_fp.c (Selvin Xavier) [1664798] - [infiniband] RDMA/bnxt_re: Fix a couple off by one bugs (Selvin Xavier) [1664798] - [powerpc] powerpc/fadump: Do not allow hot-remove memory from fadump reserved area. (Gustavo Duarte) [1524686] - [powerpc] powerpc/fadump: Throw proper error message on fadump registration failure (Gustavo Duarte) [1524686] - [powerpc] powerpc/fadump: Reservationless firmware assisted dump (Gustavo Duarte) [1524686] - [infiniband] IB/hfi1: Fix WQ_MEM_RECLAIM warning (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Implement CCA for TID RDMA protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove WARN_ON when freeing expected receive groups (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Unify the software PSN check for TID RDMA READ/WRITE (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to read next expected psn from hardware flow (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Do not flush send queue in the TID RDMA second leg (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix the allocation of RSM table (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Eliminate opcode tests on mr deref (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Failed to drain send queue when QP is put into error state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add missing break in switch statement (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix a build warning for TID RDMA READ (Alex Estrin) [1660618] - [infiniband] RDMA/rdmavt: Adapt to handle non-uniform sizes on umem SGEs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prioritize the sending of ACK packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for TID RDMA WRITE protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Enable TID RDMA WRITE protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add interlock between TID RDMA WRITE and other requests (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA WRITE functionality into RDMA verbs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the dual leg code (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the TID second leg ACK packet builder (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the TID second leg send packet builder (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Resend the TID RDMA WRITE DATA packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA RESYNC packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA RESYNC packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA retry timer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA ACK packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA ACK packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA WRITE DATA packet (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to receive TID RDMA WRITE response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID resource timer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA WRITE response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA WRITE request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add an s_acked_ack_queue pointer (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Allow for extra entries in QP's s_ack_queue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Build TID RDMA WRITE request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for TID RDMA READ protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Enable TID RDMA READ protocol (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add interlock between a TID RDMA request and other requests (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Integrate TID RDMA READ protocol into RC protocol (Alex Estrin) [1660618] - [include] IB/hfi1: Increment the retry timeout value for TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions for restarting TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add TID RDMA handlers (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA READ response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add a function to build TID RDMA READ response (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to receive TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Set PbcInsertHcrc for TID RDMA packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add functions to build TID RDMA READ request (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for flow and TID management functions (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add the counter n_tidwait (Alex Estrin) [1660618] - [infiniband] IB/hfi1: TID RDMA RcvArray programming and TID allocation (Alex Estrin) [1660618] - [infiniband] IB/hfi1: TID RDMA flow allocation (Alex Estrin) [1660618] - [infiniband] IB/hfi: Move RC functions into a header file (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for OPFN (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Integrate OPFN into RC transactions (Alex Estrin) [1660618] - [infiniband] IB/hfi1, IB/rdmavt: Allow for extending of QP's s_ack_queue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: OPFN interface (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add OPFN helper functions for TID RDMA feature (Alex Estrin) [1660618] - [infiniband] IB/hfi1: OPFN support discovery (Alex Estrin) [1660618] - [infiniband] IB/{hfi1, qib, rvt} Cleanup open coded sge usage (Alex Estrin) [1660618] - [infiniband] IB/{hfi1,qib}: Cleanup open coded sge sizing (Alex Estrin) [1660618] - [infiniband] RDMA/qib: Use GUP longterm for PSM page pining (Alex Estrin) [1660618] - [infiniband] infiniband: qib: no need to check return value of debugfs_create functions (Alex Estrin) [1660618] - [infiniband] infiniband: hfi1: no need to check return value of debugfs_create functions (Alex Estrin) [1660618] - [infiniband] infiniband: hfi1: drop crazy DEBUGFS_SEQ_FILE_CREATE() macro (Alex Estrin) [1660618] - [infiniband] IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM (Alex Estrin) [1660618] - [infiniband] IB/qib: Fix an error code in qib_sdma_verbs_send() (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Close VNIC sdma_progress sleep window (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Allow the driver to initialize QP priv struct (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add OPFN and TID RDMA capability bits (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Unreserve a reserved request when it is completed (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Consider LMC in 16B/bypass ingress packet check (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Limit VNIC use of SDMA engines to the available count (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Correctly process FECN and BECN in packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Dump pio info for non-user send contexts (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Fix a latency issue for small messages (Alex Estrin) [1660618] - [infiniband] RDMA/qib: Remove all occurrences of BUG_ON() (Alex Estrin) [1660618] - [infiniband] IB/qib: fix spelling mistake "colescing" -> "coalescing" (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Use VL15 for SM packets (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add mtu check for operational data VLs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Add static trace for iowait (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prepare resource waits for dual leg (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Error path MAD response size is incorrect (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move UnsupportedVL bits definitions to the correct header (Alex Estrin) [1660618] - [infiniband] IB/hfi1: set_intr_bits uses incorrect source for register modification (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Missing return value in error path for user sdma (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Right size user_sdma sequence numbers and related variables (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move URGENT IRQ enable to hfi1_rcvctrl() (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rework the IRQ API to be more flexible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: PCIe bus width retry (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Make the MSIx resource allocation a bit more flexible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Prepare for new HFI1 MSIx API (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Get the hfi1_devdata structure as early as possible (Alex Estrin) [1660618] - [infiniband] IB/hfi1: tune_pcie_caps is arbitrarily placed, poorly (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove duplicated defines (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rework file list in Makefile (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove incorrect call to do_interrupt callback (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Set in_use_ctxts bits for user ctxts only (Alex Estrin) [1660618] - [include] include/rdma/opa_addr.h: Fix an endianness issue (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove INTx support and simplify MSIx usage (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Reorg ctxtdata and rightsize fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove caches of chip CSRs (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove unused/writeonly devdata fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Rightsize ctxt_eager_bufs fields (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvctrl from ctxtdata (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvhdrq_size (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Remove rcvhdrsize (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move rhf_offset from devdata to ctxtdata (Alex Estrin) [1660618] - [infiniband] IB/hfi1: Move normal functions from hfi1_devdata to const array (Alex Estrin) [1660618] - [infiniband] scsi: RDMA/srpt: Fix handling of TMF submission failure (Jonathan Toppins) [1685313] - [infiniband] scsi: RDMA/srpt: Fix a credit leak for aborted commands (Jonathan Toppins) [1685313] - [net] xprtrdma: Reduce the doorbell rate (Receive) (Jonathan Toppins) [1685313] - [net] xprtrdma: Fix sparse warnings (Jonathan Toppins) [1685313] - [net] xprtrdma: Fix helper that drains the transport (Jonathan Toppins) [1685313] - [netdrv] enic: fix build warning without CONFIG_CPUMASK_OFFSTACK (Jonathan Toppins) [1685313] - [infiniband] IB/usnic: Fix out of bounds index check in query pkey (Jonathan Toppins) [1685313] - [infiniband] IB/usnic: Remove stub functions (Jonathan Toppins) [1685313] - [infiniband] rdma: fix build errors on s390 and MIPS due to bad ZERO_PAGE use (Jonathan Toppins) [1685313] - [infiniband] RDMA/ucontext: Fix regression with disassociate (Jonathan Toppins) [1685313] - [infiniband] IB/iser: Fix dma_nents type definition (Jonathan Toppins) [1685313] - [infiniband] IB/iser: Pass the correct number of entries for dma mapped SGL (Jonathan Toppins) [1685313] - [infiniband] RDMA/rxe: Use for_each_sg_page iterator on umem SGL (Jonathan Toppins) [1685313] - [infiniband] RDMA/vmw_pvrdma: Fix memory leak on pvrdma_pci_remove (Jonathan Toppins) [1685313] - [infiniband] RDMA/vmw_pvrdma: Support upto 64-bit PFNs (Jonathan Toppins) [1683475] - [include] IB/mlx5: Remove dead code (Jonathan Toppins) [1685313] - [infiniband] IB/mlx5: Ranges in implicit ODP MR inherit its write access (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix frwr memory registration (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Add wc_flags and wc_immdata to cq entry trace (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix concurrency panics in QP post_send and modify to error (Jonathan Toppins) [1685313] - [infiniband] IB/rdmavt: Fix loopback send with invalidate ordering (Jonathan Toppins) [1685313] - [infiniband] IB/hfi1: Add limit test for RC/UC send via loopback (Jonathan Toppins) [1685313] - [infiniband] RDMA/iwcm: Fix string truncation error (Jonathan Toppins) [1685313] - [infiniband] RDMA/iwcm: add tos_set bool to iw_cm struct (Jonathan Toppins) [1685313] - [infiniband] RDMA/cma: listening device cm_ids should inherit tos (Jonathan Toppins) [1685313] - [infiniband] RDMA/cma: Rollback source IP address if failing to acquire device (Jonathan Toppins) [1685313] - [infiniband] RDMA/device: Call ib_cache_release_one() only from ib_device_release() (Jonathan Toppins) [1685313] - [infiniband] RDMA/device: Ensure that security memory is always freed (Jonathan Toppins) [1685313] - [infiniband] RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq (Jonathan Toppins) [1685313] - [infiniband] IB/ipoib: Make ipoib_intercept_dev_id_attr() static (Jonathan Toppins) [1685313] - [infiniband] RDMA: Provide safe ib_alloc_device() function (Jonathan Toppins) [1685313] - [infiniband] IB/core, ipoib: Do not overreact to SM LID change event (Jonathan Toppins) [1685313] - [infiniband] IB/core: Abort page fault handler silently during owning process exit (Jonathan Toppins) [1685313] - [infiniband] RDMA/core: Verify that memory window type is legal (Jonathan Toppins) [1685313] - [infiniband] IB/core: Don't register each MAD agent for LSM notifier (Jonathan Toppins) [1711086 1685313] - [include] IB/core: Eliminate a hole in MAD agent struct (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Fix potential memory leak while creating MAD agents (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Unregister notifier before freeing MAD security (Jonathan Toppins) [1711086 1685313] - [infiniband] IB/core: Destroy QP if XRC QP fails (Jonathan Toppins) [1685313] - [infiniband] IB/core: Declare local functions 'static' (Jonathan Toppins) [1685313] - [infiniband] RDMA/i40iw: Make sure to initialize ib_device_ops (Jonathan Toppins) [1685313] - [rpmspec] Update the kernel rpm package description to mention backports/bug fixes ("Herton R. Krzesinski") [1701064] - [netdrv] bonding: fix arp_validate toggling in active-backup mode (Jarod Wilson) [1654214] - [scsi] scsi: bnx2i: fix indentation issue, remove a tab (Maurizio Lombardi) [1665626] - [scsi] scsi: bnx2i: remove set but not used variable 'cid_num' (Maurizio Lombardi) [1665626] - [scsi] scsi: bnx2i: add error handling for ioremap_nocache (Maurizio Lombardi) [1665626] - [wireless] iwlwifi: mvm: Send LQ command as async when necessary (Stanislaw Gruszka) [1687265] - [scsi] scsi: bnx2fc: Fix error handling in probe() (Maurizio Lombardi) [1665625] - [scsi] scsi: bnx2fc: Fix NULL dereference in error handling (Maurizio Lombardi) [1665625] - [scsi] scsi: bnx2fc: Remove set but not used variable 'oxid' (Maurizio Lombardi) [1665625] - [scsi] bnx2fc_fcoe: Use skb_queue_walk_safe(). (Maurizio Lombardi) [1665625] - [netdrv] hv_netvsc: Fix rndis_per_packet_info internal field initialization (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Add handler for LRO setting change (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Add support for LRO/RSC in the vSwitch (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix unwanted wakeup after tx_disable (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix IP header checksum for coalesced packets (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: fix typos in code comments (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix hash key value reset after other ops (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Refactor assignments of struct netvsc_device_info (Mohammed Gamal) [1691375] - [netdrv] hv_netvsc: Fix ethtool change hash key error (Mohammed Gamal) [1691375] - [netdrv] ice: Disable sniffing VF traffic on PF (Kamal Heib) [1659176] - [netdrv] ice: Use more efficient structures (Kamal Heib) [1659176] - [netdrv] ice: Use bitfields where possible (Kamal Heib) [1659176] - [netdrv] ice: Add function to program ethertype based filter rule on VSIs (Kamal Heib) [1659176] - [netdrv] ice: Separate if conditions for ice_set_features() (Kamal Heib) [1659176] - [netdrv] ice: Remove __always_unused attribute (Kamal Heib) [1659176] - [netdrv] ice: Suppress false-positive style issues reported by static analyzer (Kamal Heib) [1659176] - [netdrv] ice: Refactor getting/setting coalesce (Kamal Heib) [1659176] - [netdrv] ice: Always free/allocate q_vectors (Kamal Heib) [1659176] - [netdrv] ice: Do not unnecessarily initialize local variable (Kamal Heib) [1659176] - [netdrv] ice: Add more validation in ice_vc_cfg_irq_map_msg (Kamal Heib) [1659176] - [netdrv] ice: Don't remove VLAN filters that were never programmed (Kamal Heib) [1659176] - [netdrv] ice: Preserve VLAN Rx stripping settings (Kamal Heib) [1659176] - [netdrv] ice: Fix for allowing too many MDD events on VF (Kamal Heib) [1659176] - [netdrv] ice: Use pf instead of vsi-back (Kamal Heib) [1659176] - [netdrv] ice: Use dev_err when ice_cfg_vsi_lan fails (Kamal Heib) [1659176] - [netdrv] ice: Refactor link event flow (Kamal Heib) [1659176] - [netdrv] ice: Add missing PHY type to link settings (Kamal Heib) [1659176] - [netdrv] ice: Add reg_idx variable in ice_q_vector structure (Kamal Heib) [1659176] - [netdrv] ice: Remove runtime change of PFINT_OICR_ENA register (Kamal Heib) [1659176] - [netdrv] ice: Fix issue when adding more than allowed VLANs (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary wait when disabling/enabling Rx queues (Kamal Heib) [1659176] - [netdrv] ice: Add ability to update rx-usecs-high (Kamal Heib) [1659176] - [netdrv] ice: Add 52 byte RSS hash key support (Kamal Heib) [1659176] - [netdrv] ice: Use ice_for_each_q_vector macro where possible (Kamal Heib) [1659176] - [netdrv] ice: Validate ring existence and its q_vector per VSI (Kamal Heib) [1659176] - [netdrv] ice: Reduce scope of variable in ice_vsi_cfg_rxqs (Kamal Heib) [1659176] - [netdrv] ice: Resolve static analysis reported issue (Kamal Heib) [1659176] - [netdrv] ice: Return configuration error without queue to disable (Kamal Heib) [1659176] - [netdrv] ice: Create framework for VSI queue context (Kamal Heib) [1659176] - [netdrv] ice: Calculate ITR increment based on direct calculation (Kamal Heib) [1700995 1659176] - [netdrv] ice: Bump driver version (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to control FW LLDP and DCBX (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB rebuild (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to get DCB related statistics (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add priority information into VLAN header (Kamal Heib) [1700995 1659176] - [netdrv] ice: Update rings based on TC information (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code to process LLDP MIB change events (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 4/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 3/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 2/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Add code for DCB initialization part 1/4 (Kamal Heib) [1700995 1659176] - [netdrv] ice: Bump version (Kamal Heib) [1700995 1659176] - [netdrv] ice: Fix incorrect use of abbreviations (Kamal Heib) [1700995 1659176] - [netdrv] ice: Fix typos in code comments (Kamal Heib) [1700995 1659176] - [netdrv] ice: Remove "2 BITS" comment (Kamal Heib) [1659176] - [netdrv] ice: Update comment regarding the ITR_GRAN_S (Kamal Heib) [1659176] - [netdrv] ice: Update function header for __ice_vsi_get_qs (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary braces (Kamal Heib) [1659176] - [netdrv] ice: Remove unused function prototype (Kamal Heib) [1659176] - [netdrv] ice: Add missing case in print_link_msg for printing flow control (Kamal Heib) [1659176] - [netdrv] ice: Audit hotpath structures with pahole (Kamal Heib) [1659176] - [netdrv] ice: Do not bail out when filter already exists (Kamal Heib) [1659176] - [netdrv] ice: Fix issue with VF attempt to delete default MAC address (Kamal Heib) [1659176] - [netdrv] ice: enable VF admin queue interrupts (Kamal Heib) [1659176] - [netdrv] ice: Fix for adaptive interrupt moderation (Kamal Heib) [1659176] - [netdrv] ice: Implement pci_error_handler ops (Kamal Heib) [1659176] - [netdrv] ice: Put __ICE_PREPARED_FOR_RESET check in ice_prepare_for_reset (Kamal Heib) [1659176] - [netdrv] ice: use virt channel status codes (Kamal Heib) [1659176] - [netdrv] ice: Remove unnecessary newlines from log messages (Kamal Heib) [1659176] - [netdrv] ice: Create a generic name for the ice_rx_flg64_bits structure (Kamal Heib) [1659176] - [netdrv] ice: add and use new ice_for_each_traffic_class() macro (Kamal Heib) [1659176] - [netdrv] ice: change VF VSI tc info along with num_queues (Kamal Heib) [1659176] - [netdrv] ice: Prevent unintended multiple chain resets (Kamal Heib) [1659176] - [netdrv] ice: map Rx buffer pages with DMA attributes (Kamal Heib) [1659176] - [netdrv] ice: Limit the ice_add_rx_frag to frag addition (Kamal Heib) [1659176] - [netdrv] ice: Gather the rx buf clean-up logic for better reuse (Kamal Heib) [1659176] - [netdrv] ice: Introduce bulk update for page count (Kamal Heib) [1659176] - [netdrv] ice: Get rid of ice_pull_tail (Kamal Heib) [1659176] - [netdrv] ice: Pull out page reuse checks onto separate function (Kamal Heib) [1659176] - [netdrv] ice: Retrieve rx_buf in separate function (Kamal Heib) [1659176] - [netdrv] ice: Enable link events over the ARQ (Kamal Heib) [1659176] - [netdrv] ice: use irq_num var in ice_vsi_req_irq_msix (Kamal Heib) [1659176] - [netdrv] ice: Restore VLAN switch rule if port VLAN existed before (Kamal Heib) [1659176] - [netdrv] ice: update VSI config dynamically (Kamal Heib) [1659176] - [netdrv] ice: Get VF VSI instances directly via PF (Kamal Heib) [1659176] - [netdrv] ice: Don't let VF know that it is untrusted (Kamal Heib) [1659176] - [netdrv] ice: Set LAN_EN for all directional rules (Kamal Heib) [1659176] - [netdrv] ice: Do not set LB_EN for prune switch rules (Kamal Heib) [1659176] - [netdrv] ice: Enable LAN_EN for the right recipes (Kamal Heib) [1659176] - [netdrv] ice: Add support for PF/VF promiscuous mode (Kamal Heib) [1659176] - [netdrv] ice: code cleanup in ice_sched.c (Kamal Heib) [1659176] - [netdrv] ice: Remove unused vsi_id field (Kamal Heib) [1659176] - [netdrv] ice: fix some function prototype and signature style issues (Kamal Heib) [1659176] - [netdrv] ice: fix the divide by zero issue (Kamal Heib) [1659176] - [netdrv] ice: Fix issue reconfiguring VF queues (Kamal Heib) [1659176] - [netdrv] ice: Remove unused function prototype (Kamal Heib) [1659176] - [netdrv] ice: fix static analysis warnings (Kamal Heib) [1659176] - [netdrv] ice: Fix issue reclaiming resources back to the pool after reset (Kamal Heib) [1659176] - [netdrv] ice: Enable MAC anti-spoof by default (Kamal Heib) [1659176] - [netdrv] ice: Determine descriptor count and ring size based on PAGE_SIZE (Kamal Heib) [1659176] - [netdrv] ice: Reset all VFs with VFLR during SR-IOV init flow (Kamal Heib) [1659176] - [netdrv] ice: Get resources per function (Kamal Heib) [1659176] - [netdrv] ice: Implement flow to reset VFs with PFR and other resets (Kamal Heib) [1659176] - [netdrv] ice: configure GLINT_ITR to always have an ITR gran of 2 (Kamal Heib) [1659176] - [netdrv] ice: use ice_for_each_vsi macro when possible (Kamal Heib) [1659176] - [netdrv] ice : Ensure only valid bits are set in ice_aq_set_phy_cfg (Kamal Heib) [1659176] - [netdrv] ice: remove redundant variable and if condition (Kamal Heib) [1659176] - [netdrv] ice: avoid multiple unnecessary de-references in probe (Kamal Heib) [1659176] - [netdrv] ice: Fix issue with VF reset and multiple VFs support on PFs (Kamal Heib) [1659176] - [netdrv] ice: Fix broadcast traffic in port VLAN mode (Kamal Heib) [1659176] - [netdrv] ice: fix overlong string, update stats output (Kamal Heib) [1659176] - [netdrv] ice: Fix for FC get rx/tx pause params (Kamal Heib) [1659176] - [netdrv] ice: use absolute vector ID for VFs (Kamal Heib) [1659176] - [netdrv] ice: check for a leaf node presence (Kamal Heib) [1659176] - [netdrv] ice: flush Tx pipe on disable queue timeout (Kamal Heib) [1659176] - [netdrv] ice: clear VF ARQLEN register on reset (Kamal Heib) [1659176] - [netdrv] ice: don't spam VFs with link messages (Kamal Heib) [1659176] - [netdrv] ice: only use the VF for ICE_VSI_VF in ice_vsi_release (Kamal Heib) [1659176] - [netdrv] ice: fix numeric overflow warning (Kamal Heib) [1659176] - [netdrv] ice: fix issue where host reboots on unload when iommu=on (Kamal Heib) [1659176] - [netdrv] ice: fix ice_remove_rule_internal vsi_list handling (Kamal Heib) [1659176] - [netdrv] ice: fix stack hogs from struct ice_vsi_ctx structures (Kamal Heib) [1659176] - [netdrv] ice: sizeof() should be avoided (Kamal Heib) [1659176] - [netdrv] ice: Fix added in VSI supported nodes calc (Kamal Heib) [1659176] - [netdrv] ice: Fix the calculation of ICE_MAX_MTU (Kamal Heib) [1659176] - [netdrv] ice: Mark extack argument as __always_unused (Kamal Heib) [1659176] - [netdrv] ice: add const qualifier to mac_addr parameter (Kamal Heib) [1659176] - [netdrv] ice: Add support for new PHY types (Kamal Heib) [1659176] - [netdrv] ice: Offload SCTP checksum (Kamal Heib) [1659176] - [netdrv] ice: Allow for software timestamping (Kamal Heib) [1659176] - [netdrv] ice: Implement getting and setting ethtool coalesce (Kamal Heib) [1659176] - [netdrv] ice: Add support for adaptive interrupt moderation (Kamal Heib) [1659176] - [netdrv] ice: Move aggregator list into ice_hw instance (Kamal Heib) [1659176] - [netdrv] ice: Rework queue management code for reuse (Kamal Heib) [1659176] - [netdrv] ice: Add ethtool private flag to make forcing link down optional (Kamal Heib) [1659176] - [netdrv] ice: Set physical link up/down when an interface is set up/down (Kamal Heib) [1659176] - [netdrv] ice: Implement support for normal get_eeprom[_len] ethtool ops (Kamal Heib) [1659176] - [netdrv] ice: Add ethtool set_phys_id handler (Kamal Heib) [1659176] - [netdrv] ice: Configure RSS LUT and HASH KEY in rebuild path (Kamal Heib) [1659176] - [netdrv] ice: Refactor a few Tx scheduler functions (Kamal Heib) [1659176] - [netdrv] ice: Fix unused variable build warning (Kamal Heib) [1659176] - [netdrv] ice: Do not enable NAPI on q_vectors that have no rings (Kamal Heib) [1659176] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Kamal Heib) [1659176] - [netdrv] ice: Fix possible NULL pointer de-reference (Kamal Heib) [1659176] - [netdrv] ice: Use Tx|Rx in comments (Kamal Heib) [1659176] - [netdrv] ice: Cosmetic formatting changes (Kamal Heib) [1659176] - [netdrv] ice: Cleanup short function signatures (Kamal Heib) [1659176] - [netdrv] ice: Cleanup ice_tx_timeout() (Kamal Heib) [1659176] - [netdrv] ice: Fix return value from NAPI poll (Kamal Heib) [1659176] - [netdrv] ice: Constify global structures that can/should be (Kamal Heib) [1659176] - [netdrv] ice: Do not set LAN_EN for MAC-VLAN filters (Kamal Heib) [1659176] - [netdrv] ice: Pass the return value of ice_init_def_sw_recp() (Kamal Heib) [1659176] - [netdrv] ice: Cleanup duplicate control queue code (Kamal Heib) [1659176] - [netdrv] ice: Remove ICE_MAX_TXQ_PER_TXQG check when configuring Tx queue (Kamal Heib) [1659176] - [netdrv] ice: Destroy scheduler tree in reset path (Kamal Heib) [1659176] - [netdrv] ice: Fix to make VLAN priority tagged traffic to appear on all TCs (Kamal Heib) [1659176] - [netdrv] ice: Call pci_disable_sriov before stopping queues for VF (Kamal Heib) [1659176] - [netdrv] ice: Increase Rx queue disable timeout (Kamal Heib) [1659176] - [netdrv] ice: Fix NVM mask defines (Kamal Heib) [1659176] - [netdrv] ice: Avoid nested RTNL locking in ice_dis_vsi (Kamal Heib) [1659176] - [netdrv] ice: Calculate guaranteed VSIs per function and use it (Kamal Heib) [1659176] - [netdrv] ice: Remove node before releasing VSI (Kamal Heib) [1659176] - [netdrv] ice: Check for q_vector when stopping rings (Kamal Heib) [1659176] - [netdrv] ice: Fix debug print in ice_tx_timeout (Kamal Heib) [1659176] - [netdrv] intel-ethernet: use correct module license (Kamal Heib) [1659176] - [netdrv] bnx2x: Add support for detection of P2P event packets. (Manish Chopra) [1638306 1663271] - [netdrv] bnx2x: Replace magic numbers with macro definitions. (Manish Chopra) [1638306 1663271] - [netdrv] bnx2x: fix spelling mistake "dicline" -> "decline" (Manish Chopra) [1663271] - [netdrv] bnx2x: Utilize FW 7.13.11.0. (Manish Chopra) [1663271] - [netdrv] bnx2x: Remove set but not used variable 'mfw_vn' (Manish Chopra) [1663271] - [netdrv] bnx2x: Use struct_size() in kzalloc() (Manish Chopra) [1663271] - [netdrv] broadcom: Mark expected switch fall-throughs (Manish Chopra) [1663271] - [netdrv] bnx2x: Bump up driver version to 1.713.36 (Manish Chopra) [1663271] - [netdrv] bnx2x: fix various indentation issues (Manish Chopra) [1663271] - [netdrv] cross-tree: phase out dma_zalloc_coherent() on headers (Manish Chopra) [1663271] - [netdrv] bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw (Manish Chopra) [1663271] - [netdrv] bnx2x: Send update-svid ramrod with retry/poll flags enabled (Manish Chopra) [1663271] - [netdrv] bnx2x: Enable PTP only on the PF that initializes the port (Manish Chopra) [1663271] - [netdrv] bnx2x: Remove configured vlans as part of unload sequence. (Manish Chopra) [1663271] - [netdrv] bnx2x: Clear fip MAC when fcoe offload support is disabled (Manish Chopra) [1663271] - [netdrv] bnx2x: Add storm FW version to ethtool driver query output. (Manish Chopra) [1663271] - [netdrv] bnx2x: Add MBI version to ethtool driver query output. (Manish Chopra) [1663271] - [netdrv] drivers: net: remove inclusion when not needed (Manish Chopra) [1663271] - [netdrv] bnx2x: remove ndo_poll_controller (Manish Chopra) [1663271] - [netdrv] bnx2x: Provide VF link status in ndo_get_vf_config (Manish Chopra) [1663271] - [netdrv] bnx2x: Ignore bandwidth attention in single function mode (Manish Chopra) [1663271] - [block] block: remove CONFIG_LBDAF (Ming Lei) [1708452] - [kernel] sched/pelt: Fix warning and clean up IRQ PELT config (Phil Auld) [1637824] - [kernel] sched/pelt: Fix update_blocked_averages() for RT and DL classes (Phil Auld) [1637824] - [mm] mm, sched/numa: Remove remaining traces of NUMA rate-limiting (Phil Auld) [1637824] - [kernel] sched/fair: Fix cpu_util_wake() for 'execl' type workloads (Phil Auld) [1637824] - [kernel] sched/fair: Consider SD_NUMA when selecting the most idle group to schedule on (Phil Auld) [1637824] - [kernel] sched/numa: Migrate pages to local nodes quicker early in the lifetime of a task (Phil Auld) [1637824] - [mm] mm, sched/numa: Remove rate-limiting of automatic NUMA balancing migration (Phil Auld) [1637824] - [kernel] sched/numa: Avoid task migration for small NUMA improvement (Phil Auld) [1637824] - [mm] mm/migrate: Use spin_trylock() while resetting rate limit (Phil Auld) [1637824] - [kernel] sched/numa: Limit the conditions where scan period is reset (Phil Auld) [1637824] - [kernel] sched/numa: Reset scan rate whenever task moves across nodes (Phil Auld) [1637824] - [kernel] sched/numa: Pass destination CPU as a parameter to migrate_task_rq (Phil Auld) [1637824] - [kernel] sched/numa: Stop multiple tasks from moving to the CPU at the same time (Phil Auld) [1637824] - [kernel] sched/fair: Fix scale_rt_capacity() for SMT (Phil Auld) [1637824] - [kernel] sched/numa: Move task_numa_placement() closer to numa_migrate_preferred() (Phil Auld) [1637824] - [kernel] sched/numa: Use group_weights to identify if migration degrades locality (Phil Auld) [1637824] - [kernel] sched/numa: Update the scan period without holding the numa_group lock (Phil Auld) [1637824] - [kernel] sched/numa: Remove numa_has_capacity() (Phil Auld) [1637824] - [kernel] sched/numa: Modify migrate_swap() to accept additional parameters (Phil Auld) [1637824] - [kernel] sched/numa: Remove unused task_capacity from 'struct numa_stats' (Phil Auld) [1637824] - [kernel] sched/numa: Skip nodes that are at 'hoplimit' (Phil Auld) [1637824] - [kernel] sched/debug: Reverse the order of printing faults (Phil Auld) [1637824] - [kernel] sched/numa: Use task faults only if numa_group is not yet set up (Phil Auld) [1637824] - [kernel] sched/numa: Set preferred_node based on best_cpu (Phil Auld) [1637824] - [kernel] sched/numa: Simplify load_too_imbalanced() (Phil Auld) [1637824] - [kernel] sched/numa: Evaluate move once per node (Phil Auld) [1637824] - [kernel] sched/fair: Remove #ifdefs from scale_rt_capacity() (Phil Auld) [1637824] - [kernel] sched/cpufreq: Clarify sugov_get_util() (Phil Auld) [1637824] - [kernel] sched/sysctl: Remove unused sched_time_avg_ms sysctl (Phil Auld) [1637824] - [kernel] sched/core: Remove the rt_avg code (Phil Auld) [1637824] - [kernel] sched/core: Use PELT for scale_rt_capacity() (Phil Auld) [1637824] - [kernel] sched/cpufreq: Remove sugov_aggregate_util() (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Take time spent in interrupts into account (Phil Auld) [1637824] - [kernel] sched/irq: Add IRQ utilization tracking (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Use DL utilization tracking (Phil Auld) [1637824] - [kernel] sched/dl: Add dl_rq utilization tracking (Phil Auld) [1637824] - [kernel] cpufreq/schedutil: Use RT utilization tracking (Phil Auld) [1637824] - [kernel] sched/rt: Add rt_rq utilization tracking (Phil Auld) [1637824] - [kernel] sched/pelt: Move PELT related code in a dedicated file (Phil Auld) [1637824] - [char] ipmi_si: Potential array underflow in hotmod_handler() (Tony Camuso) [1665131] - [char] ipmi_si: Remove hacks for adding a dummy platform devices (Tony Camuso) [1665131] - [char] ipmi_si: Consolidate scanning the platform bus (Tony Camuso) [1665131] - [char] ipmi_si: Remove hotmod devices on removal and exit (Tony Camuso) [1665131] - [char] ipmi_si: Remove hardcode IPMI devices by scanning the platform bus (Tony Camuso) [1665131] - [char] ipmi_si: Switch hotmod to use a platform device (Tony Camuso) [1665131] - [char] ipmi: Fix failure on SMBIOS specified devices (Tony Camuso) [1665131] - [char] ipmi: Consolidate the adding of platform devices (Tony Camuso) [1665131] - [char] ipmi_si: Rename addr_type to addr_space to match what it does (Tony Camuso) [1665131] - [char] ipmi_si: Convert some types into unsigned (Tony Camuso) [1665131] - [char] ipmi: ipmi_si_hardcode.c: init si_type array to fix a crash (Tony Camuso) [1665131] - [char] ipmi_si: Fix crash when using hard-coded device (Tony Camuso) [1665131] - [char] ipmi: Use dedicated API for copying a UUID (Tony Camuso) [1665131] - [char] ipmi: Use defined constant for UUID representation (Tony Camuso) [1665131] - [char] ipmi:ssif: Change some pr_xxx to dev_xxx calls (Tony Camuso) [1665131] - [char] ipmi: kcs_bmc: handle devm_kasprintf() failure case (Tony Camuso) [1665131] - [char] ipmi: Fix return value when a message is truncated (Tony Camuso) [1665131] - [char] ipmi: clean an indentation issue, remove extraneous space (Tony Camuso) [1665131] - [char] ipmi: Make the smi watcher be disabled immediately when not needed (Tony Camuso) [1665131] - [char] ipmi: Fix how the lower layers are told to watch for messages (Tony Camuso) [1665131] - [char] ipmi: Fix SSIF flag requests (Tony Camuso) [1665131] - [char] ipmi_si: fix use-after-free of resource->name (Tony Camuso) [1665131] - [char] ipmi: Don't initialize anything in the core until something uses it (Tony Camuso) [1665131] - [char] ipmi:ssif: Fix handling of multi-part return messages (Tony Camuso) [1665131] - [char] ipmi:dmi: Use pr_fmt in the IPMI DMI code (Tony Camuso) [1665131] - [char] ipmi: Remove platform driver overrides and use the id_table (Tony Camuso) [1665131] - [char] ipmi: msghandler: Add and use pr_fmt and dev_fmt, remove PFX (Tony Camuso) [1665131] - [char] ipmi: Use more common logging styles (Tony Camuso) [1665131] - [acpi] ACPI / glue: Split dev_is_platform() out of module for wide use (Tony Camuso) [1665131]- [scsi] scsi: hpsa: bump driver version (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: remove timeout from TURs (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: clean up two indentation issues (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: mark expected switch fall-throughs (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: switch to generic DMA API (Joseph Szczypek) [1672669] - [scsi] scsi: hpsa: Use vmemdup_user to replace the open code (Joseph Szczypek) [1672669] - [netdrv] ibmvnic: Add device identification to requested IRQs (Steve Best) [1665717] - [crypto] crypto: authenc - fix parsing key with misaligned rta_len (Herbert Xu) [1707546] - [block] block: don't drain in-progress dispatch in blk_cleanup_queue() (Ming Lei) [1694879] - [block] blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release (Ming Lei) [1694879] - [include] blk-mq: always free hctx after request queue is freed (Ming Lei) [1694879] - [block] blk-mq: split blk_mq_alloc_and_init_hctx into two parts (Ming Lei) [1694879] - [block] blk-mq: free hw queue's resource in hctx's release handler (Ming Lei) [1694879] - [block] blk-mq: move cancel of requeue_work into blk_mq_release (Ming Lei) [1694879] - [block] blk-mq: grab .q_usage_counter when queuing request from plug code path (Ming Lei) [1694879] - [block] block: fix use-after-free on gendisk (Ming Lei) [1694879] - [netdrv] bonding: fix event handling for stacked bonds (Jarod Wilson) [1708390] - [netdrv] bonding: show full hw address in sysfs for slave entries (Jarod Wilson) [1708390] - [netdrv] bonding: fix PACKET_ORIGDEV regression (Jarod Wilson) [1708390] - [netdrv] bonding: check slave set command firstly (Jarod Wilson) [1708390] - [netdrv] bonding: count master 3ad stats separately (Jarod Wilson) [1708390] - [netdrv] bonding: add support for xstats and export 3ad stats (Jarod Wilson) [1708390] - [netdrv] bonding: add 3ad stats (Jarod Wilson) [1708390] - [netdrv] bonding: 3ad: remove bond_3ad_rx_indication's length argument (Jarod Wilson) [1708390] - [netdrv] bonding: adjust style of bond_3ad_rx_indication (Jarod Wilson) [1708390] - [netdrv] bonding: update nest level on unlink (Jarod Wilson) [1708390] - [netdrv] bonding: fix indentation issues, remove extra spaces (Jarod Wilson) [1708390] - [netdrv] bonding: convert to DEFINE_SHOW_ATTRIBUTE (Jarod Wilson) [1708390] - [netdrv] bonding: fix 802.3ad state sent to partner when unbinding slave (Jarod Wilson) [1708390] - [netdrv] bonding: use netpoll_poll_dev() helper (Jarod Wilson) [1708390] - [net] netpoll: do not test NAPI_STATE_SCHED in poll_one_napi() (Jarod Wilson) [1708390] - [net] netpoll: make ndo_poll_controller() optional (Jarod Wilson) [1708390] - [netdrv] bonding: don't cast const buf in sysfs store (Jarod Wilson) [1708390] - [netdrv] netdevsim: fix sa_idx out of bounds check (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: add ipsec offload API test (Ivan Vecera) [1708373] - [netdrv] netdevsim: add ipsec offload testing (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: use dummydev as a test device (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: clear the return code at start of ipsec test (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: use a local IP address for IPsec tests (Ivan Vecera) [1708373] - [tools] selftests: rtnetlink: hide complaint from terminated monitor (Ivan Vecera) [1708373] - [powerpc] powerpc/watchdog: Use hrtimers for per-CPU heartbeat (Steve Best) [1708327] - [netdrv] ixgbevf: Update driver version for RHEL-8.1.0 (Ken Cox) [1659166] - [netdrv] drivers: net: intel: use secpath helpers in more places (Ken Cox) [1659166] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Ken Cox) [1659166] - [netdrv] ixgbevf: add support for software timestamps (Ken Cox) [1659166] - [netdrv] ixgbe/ixgbevf: fix XFRM_ALGO dependency (Ken Cox) [1659166] - [netdrv] ixgbevf: off by one in ixgbevf_ipsec_tx() (Ken Cox) [1659166] - [netdrv] ixgbevf: fix msglen for ipsec mbx messages (Ken Cox) [1659166] - [netdrv] ixgbevf: remove ndo_poll_controller (Ken Cox) [1659166] - [netdrv] intel-ethernet: use correct module license (Ken Cox) [1659166] - [netdrv] ixgbevf: enable VF IPsec offload operations (Ken Cox) [1659166] - [netdrv] ixgbevf: add VF IPsec offload code (Ken Cox) [1659166] - [netdrv] ixgbevf: add defines for IPsec offload request (Ken Cox) [1659166] - [netdrv] ixgbevf: VF2VF TCP RSS (Ken Cox) [1659166] - [netdrv] ixgbe: Update driver version for RHEL-8.1.0 (Ken Cox) [1659164] - [netdrv] intel: correct return from set features callback (Ken Cox) [1659164] - [netdrv] ixgbe: don't do any AF_XDP zero-copy transmit if netif is not OK (Ken Cox) [1659164] - [netdrv] ixgbe: fix potential RX buffer starvation for AF_XDP (Ken Cox) [1659164] - [netdrv] ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN (Ken Cox) [1659164] - [netdrv] net: bpf: remove XDP_QUERY_XSK_UMEM enumerator (Ken Cox) [1659164] - [netdrv] ixgbe: Use struct_size() helper (Ken Cox) [1659164] - [netdrv] ixgbe: remove magic constant in ixgbe_reset_hw_82599() (Ken Cox) [1659164] - [netdrv] ixgbe: use mii_bus to handle MII related ioctls (Ken Cox) [1659164] - [netdrv] ixgbe: register a mdiobus (Ken Cox) [1659164] - [netdrv] drivers: net: intel: use secpath helpers in more places (Ken Cox) [1659164] - [netdrv] ixgbe: Fix race when the VF driver does a reset (Ken Cox) [1659164] - [netdrv] ixgbe: recognize 1000BaseLX SFP modules as 1Gbps (Ken Cox) [1659164] - [netdrv] ixgbe: Replace synchronize_sched() with synchronize_rcu() (Ken Cox) [1659164] - [netdrv] i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE (Ken Cox) [1659164] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (Ken Cox) [1659164] - [netdrv] ixgbe: allow IPsec Tx offload in VEPA mode (Ken Cox) [1659164] - [netdrv] ixgbe: don't clear_bit on xdp_ring->state if xdp_ring is null (Ken Cox) [1659164] - [netdrv] ixgbe: fix MAC anti-spoofing filter after VFLR (Ken Cox) [1659164] - [netdrv] ixgbe/ixgbevf: fix XFRM_ALGO dependency (Ken Cox) [1659164] - [netdrv] drivers: net: remove inclusion when not needed (Ken Cox) [1659164] - [netdrv] ixgbe: check return value of napi_complete_done() (Ken Cox) [1659164] - [netdrv] ixgbe: add AF_XDP zero-copy Tx support (Ken Cox) [1659164] - [netdrv] ixgbe: move common Tx functions to ixgbe_txrx_common.h (Ken Cox) [1659164] - [netdrv] ixgbe: add AF_XDP zero-copy Rx support (Ken Cox) [1659164] - [netdrv] ixgbe: move common Rx functions to ixgbe_txrx_common.h (Ken Cox) [1659164] - [netdrv] ixgbe: added Rx/Tx ring disable/enable functions (Ken Cox) [1659164] - [netdrv] ixgbe: Fix crash with VFs and flow director on interface flap (Ken Cox) [1659164] - [netdrv] ixgbe: remove redundant function ixgbe_fw_recovery_mode() (Ken Cox) [1659164] - [netdrv] ixgbe: Fix ixgbe TX hangs with XDP_TX beyond queue limit (Ken Cox) [1659164] - [netdrv] ixgbe: remove ndo_poll_controller (Ken Cox) [1659164] - [netdrv] intel-ethernet: use correct module license (Ken Cox) [1659164] - [netdrv] ixgbe: fix the return value for unsupported VF offload (Ken Cox) [1659164] - [netdrv] ixgbe: disallow IPsec Tx offload when in SR-IOV mode (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec offload request message handling (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec offload enable flag (Ken Cox) [1659164] - [netdrv] ixgbe: add VF IPsec management (Ken Cox) [1659164] - [netdrv] ixgbe: prep IPsec constants for later use (Ken Cox) [1659164] - [netdrv] ixgbe: reload IPsec IP table after sa tables (Ken Cox) [1659164] - [netdrv] ixgbe: don't clear IPsec sa counters on HW clearing (Ken Cox) [1659164] - [netdrv] ixgbe: firmware recovery mode (Ken Cox) [1659164] - [netdrv] ixgbe: fix driver behaviour after issuing VFLR (Ken Cox) [1659164] - [netdrv] ixgbe: Prevent unsupported configurations with XDP (Ken Cox) [1659164] - [netdrv] ixgbe: Refactor queue disable logic to take completion time into account (Ken Cox) [1659164] - [netdrv] ixgbe: Reorder Tx/Rx shutdown to reduce time needed to stop device (Ken Cox) [1659164] - [netdrv] ixgbe: add ipsec security registers into ethtool register dump (Ken Cox) [1659164] - [netdrv] ixgbe: Do not allow LRO or MTU change with XDP (Ken Cox) [1659164] - [wireless] brcmfmac: add subtype check for event handling in data path (Stanislaw Gruszka) [1705386] {CVE-2019-9500} - [wireless] brcmfmac: assure SSID length from firmware is limited (Stanislaw Gruszka) [1705386] {CVE-2019-9500} - [base] driver core: Postpone DMA tear-down until after devres release (Maurizio Lombardi) [1698053]- [of] of: Add missing exports of node name compare functions (Neil Horman) [1665660] - [of] of: add node name compare helper functions (Neil Horman) [1665660] - [include] gpio: Add API to explicitly name a consumer (Neil Horman) [1665660] - [drivers] spi: spi-gpio: fix SPI_CS_HIGH capability (Neil Horman) [1665660] - [drivers] spi: use gpio[d]_set_value_cansleep for setting chipselect GPIO (Neil Horman) [1665660] - [drivers] spi: gpio: Advertise support for SPI_CS_HIGH (Neil Horman) [1665660] - [include] spi: support inter-word delay requirement for devices (Neil Horman) [1665660] - [drivers] spi: dw: Fix default polarity of native chipselect (Neil Horman) [1665660] - [drivers] spi: Support high CS when using descriptors (Neil Horman) [1665660] - [include] spi: Go back to immediate teardown (Neil Horman) [1665660] - [drivers] spi: dw: change snprintf to scnprintf for possible overflow (Neil Horman) [1665660] - [drivers] spi: dw: fix warning unused variable 'ret' (Neil Horman) [1665660] - [include] spi: core: avoid waking pump thread from spi_sync instead run teardown delayed (Neil Horman) [1665660] - [drivers] spi: dw: Convert to use CS GPIO descriptors (Neil Horman) [1665660] - [include] spi: Optionally use GPIO descriptors for CS GPIOs (Neil Horman) [1665660] - [drivers] spi: dw: fix potential variable assignment error (Neil Horman) [1665660] - [drivers] spi: Use of_node_name_eq for node name comparisons (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add ACPI support (Neil Horman) [1665660] - [include] spi: add support for octal mode I/O data transfer (Neil Horman) [1665660] - [drivers] spi: Fix formatting of header block (Neil Horman) [1665660] - [drivers] spi: Fix core transfer waits after slave support (Neil Horman) [1665660] - [drivers] spi: Deal with slaves that return from transfer_one() unfinished (Neil Horman) [1665660] - [include] spi: gpio: Support 3WIRE high-impedance turn-around (Neil Horman) [1665660] - [drivers] spi: Make GPIO CSs honour the SPI_NO_CS flag (Neil Horman) [1665660] - [drivers] dw: spi: add support for Amazon's Alpine spi controller (Neil Horman) [1665660] - [include] spi: Add driver_override SPI device attribute (Neil Horman) [1665660] - [include] spi: make OF helper available for others (Neil Horman) [1665660] - [include] spi: switch to SPDX license identifier (Neil Horman) [1665660] - [drivers] spi: always use software fallback for SPI_CS_WORD when using cs_gio (Neil Horman) [1665660] - [drivers] spi: add software implementation for SPI_CS_WORD (Neil Horman) [1665660] - [include] spi: add new SPI_CS_WORD flag (Neil Horman) [1665660] - [drivers] spi: gpio: No MISO does not imply no RX (Neil Horman) [1665660] - [drivers] spi: dw: support 4-16 bits per word (Neil Horman) [1665660] - [drivers] spi: spi-gpio: Remove set but not used variable 'pdata' (Neil Horman) [1665660] - [drivers] spi: Do not print a message if spi_controller_{suspend,resume}() fails (Neil Horman) [1665660] - [drivers] spi: gpio: Fix copy-and-paste error (Neil Horman) [1665660] - [drivers] spi: dw-mmio: avoid hardcoded field mask (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add MSCC Jaguar2 support (Neil Horman) [1665660] - [include] spi: Introduce one new field to set word delay (Neil Horman) [1665660] - [drivers] spi: Fix double IDR allocation with DT aliases (Neil Horman) [1665660] - [drivers] spi: fix IDR collision on systems with both fixed and dynamic SPI bus numbers (Neil Horman) [1665660] - [drivers] spi: spi-gpio: add SPI_3WIRE support (Neil Horman) [1665660] - [drivers] spi: add flags parameter to txrx_word function pointers (Neil Horman) [1665660] - [drivers] spi: dw-mmio: add MSCC Ocelot support (Neil Horman) [1665660] - [drivers] spi: dw: export dw_spi_set_cs (Neil Horman) [1665660] - [drivers] spi: dw: allow providing own set_cs callback (Neil Horman) [1665660] - [drivers] spi: dw: fix possible race condition (Neil Horman) [1665660] - [acpi] ACPI / APD: Add clock frequency for Hisilicon Hip08 SPI controller (Neil Horman) [1665660] - [md] md/raid: raid5 preserve the writeback action after the parity check (Nigel Croxon) [1702309] - [md] Revert "Don't jump to compute_result state from check_result state" (Nigel Croxon) [1702309] - [md] md: return -ENODEV if rdev has no mddev assigned (Nigel Croxon) [1702309] - [md] md: add __acquires/__releases annotations to handle_active_stripes (Nigel Croxon) [1702309] - [md] md: add __acquires/__releases annotations to (un)lock_two_stripes (Nigel Croxon) [1702309] - [md] md: mark md_cluster_mod static (Nigel Croxon) [1702309] - [md] md: use correct type in super_1_sync (Nigel Croxon) [1702309] - [md] md: use correct type in super_1_load (Nigel Croxon) [1702309] - [md] md: use correct types in md_bitmap_print_sb (Nigel Croxon) [1702309] - [md] md: add a missing endianness conversion in check_sb_changes (Nigel Croxon) [1702309] - [md] md: add mddev->pers to avoid potential NULL pointer dereference (Nigel Croxon) [1702309] - [md] md: batch flush requests. (Nigel Croxon) [1702309] - [md] Revert "MD: fix lock contention for flush bios" (Nigel Croxon) [1702309] - [md] Don't jump to compute_result state from check_result state (Nigel Croxon) [1702309] - [netdrv] bnxt_en: Reset device on RX buffer errors. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Improve RX consumer index validity check. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Drop oversize TX packets to prevent errors. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Wait longer for the firmware message response to complete. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix typo in firmware message timeout logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Return relevant error code when offload fails (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for mdio read/write to external PHY (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Propagate trusted VF attribute to firmware. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for BCM957504 (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.47. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable interrupts when allocating CP rings or NQs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix context memory allocation. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix ring checking logic on 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust default RX coalescing ticks to 10 us. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Support for 64-bit flow handle. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Increase context memory allocations on 57500 chips for RDMA. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add Level 2 context memory paging support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Enhance bnxt_alloc_ring()/bnxt_free_ring(). (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for 2nd firmware message channel. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Introduce bnxt_get_hwrm_resp_addr & bnxt_get_hwrm_seq_id routines. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Avoid arithmetic on void * pointer. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use macros for firmware message doorbell offsets. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Set hwrm_intr_seq_id value to its inverted value. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.33. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix ethtool self-test loopback. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: query force speeds before disabling autoneg mode. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not free port statistics buffer when device is down. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Save ring statistics before reset. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Return linux standard errors in bnxt_ethtool.c (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Don't set ETS on unused TCs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add ethtool -S priority counters. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add SR-IOV support for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable MSIX before re-reserving NQs/CMPL rings. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Reserve 1 stat_ctx for RDMA driver. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not modify max_stat_ctxs after RDMA driver requests/frees stat_ctxs (Selvin Xavier) [1664477] - [netdrv] bnxt_en: get rid of num_stat_ctxs variable (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add bnxt_get_avail_cp_rings_for_en() helper function. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Store the maximum NQs available on the PF. (Selvin Xavier) [1664477] - [netdrv] bnxt: remove printing of hwrm message (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix _bnxt_get_max_rings() for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix NQ/CP rings accounting on the new 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Keep track of reserved IRQs. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix CNP CoS queue regression. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix filling time in bnxt_fill_coredump_record() (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add software "missed_irqs" counter. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Workaround occasional TX timeout on 57500 A0. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Disable RDMA support on the 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix rx_l4_csum_errors counter on 57500 devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix RSS context allocation. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Copy and paste bug in extended tx_stats (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add PCI ID for BCM57508 device. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new NAPI poll function for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Refactor bnxt_poll_work(). (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add coalescing setup for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use bnxt_cp_ring_info struct pointer as parameter for RX path. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add RSS support for 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Increase RSS context array count and skip ring groups on 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Allocate/Free CP rings for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Modify bnxt_ring_alloc_send_msg() to support 57500 chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add helper functions to get firmware CP ring ID. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Allocate completion ring structures for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Modify the ring reservation functions for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust MSIX and ring groups for 57500 series chips. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Re-structure doorbells. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add 57500 new chip ID and basic structures. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Configure context memory on new devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Check context memory requirements from firmware. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new flags to setup new page table PTE bits on newer devices. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Refactor bnxt_ring_struct. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update interrupt coalescing logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add maximum extended request length fw message support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add additional extended port statistics. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface spec. to 1.10.0.3. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Remove unnecessary unsigned integer comparison and initialize variable (Selvin Xavier) [1664477] - [netdrv] bnxt_en: get the reduced max_irqs by the ones used by RDMA (Selvin Xavier) [1664477] - [netdrv] bnxt_en: free hwrm resources, if driver probe fails. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix enables field in HWRM_QUEUE_COS2BW_CFG request (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix VNIC reservations on the PF. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add a driver specific gre_ver_check devlink parameter. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use msix_vec_per_pf_max and msix_vec_per_pf_min devlink params. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: return proper error when FW returns HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Use ignore_ari devlink parameter (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix TX timeout during netpoll. (Selvin Xavier) [1664477] - [netdrv] bnxt: remove ndo_poll_controller (Selvin Xavier) [1664477] - [netdrv] bnxt_en: don't try to offload VLAN 'modify' action (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove set but not used variable 'addr_type' (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove set but not used variable 'rx_stats' (Selvin Xavier) [1664477] - [netdrv] net: bnxt: Fix a uninitialized variable warning. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: take coredump_record structure off stack (Selvin Xavier) [1664477] - [netdrv] bnxt_en: avoid string overflow for record->system_name (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Fix strcpy() warnings in bnxt_ethtool.c (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Do not use the CNP CoS queue for networking traffic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add DCBNL DSCP application protocol support. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add hwmon sysfs support to read temperature (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Notify firmware about IF state changes. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Move firmware related flags to a new fw_cap field in struct bnxt. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add BNXT_NEW_RM() macro. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add support for ethtool get dump. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update RSS setup and GRO-HW logic according to the latest spec. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add new VF resource allocation strategy mode. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add PHY retry logic. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add external loopback test to ethtool selftest. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Adjust timer based on ethtool stats-block-usecs settings. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Update firmware interface version to 1.9.2.25. (Selvin Xavier) [1664477] - [netdrv] bnxt_en: combine 'else if' and 'else' into single branch (Selvin Xavier) [1664477] - [netdrv] bnxt_en: remove redundant debug register dma mem allocation (Selvin Xavier) [1664477] - [netdrv] bnxt_en: Add bnxt_en initial params table and register it. (Selvin Xavier) [1664477] - [netdrv] sfc: mcdi_port: Mark expected switch fall-through (Jarod Wilson) [1685478] - [netdrv] sfc: ensure recovery after allocation failures (Jarod Wilson) [1685478] - [netdrv] sfc: Replace dev_kfree_skb_any by dev_consume_skb_any (Jarod Wilson) [1685478] - [netdrv] sfc: add bundle partition definitions to mtd (Jarod Wilson) [1685478] - [netdrv] sfc: Replace spin_is_locked() with lockdep (Jarod Wilson) [1685478] - [netdrv] sfc: remove ndo_poll_controller (Jarod Wilson) [1685478] - [iommu] iommu/amd: Set exclusion range correctly (Jerry Snitselaar) [1702766] - [iommu] iommu/amd: Reserve exclusion range in iova-domain (Jerry Snitselaar) [1694835] - [scsi] scsi: mpt3sas: Fix kernel panic during expander reset (Tomas Henzl) [1677693] - [mm] mm/vmstat.c: fix /proc/vmstat format for CONFIG_DEBUG_TLBFLUSH=y CONFIG_SMP=n (Waiman Long) [1705607] - [mm] x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init() (Waiman Long) [1705607] - [include] x86/mm: Validate kernel_physical_mapping_init() PTE population (Waiman Long) [1705607] - [include] generic/pgtable: Introduce set_pte_safe() (Waiman Long) [1705607] - [include] generic/pgtable: Introduce {p4d,pgd}_same() (Waiman Long) [1705607] - [include] generic/pgtable: Make {pmd, pud}_same() unconditionally available (Waiman Long) [1705607] - [mm] percpu: stop printing kernel addresses (Waiman Long) [1705607] - [x86] x86/speculation: Prevent deadlock on ssb_state::lock (Waiman Long) [1705607] - [fs] debugfs: fix use-after-free on symlink traversal (Waiman Long) [1705607] - [lib] debugobjects: avoid recursive calls with kmemleak (Waiman Long) [1705607] - [mm] mm/swapfile.c: use kvzalloc for swap_info_struct allocation (Waiman Long) [1705607] - [mm] hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444! (Waiman Long) [1705607] - [include] watchdog/core: Add missing prototypes for weak functions (Waiman Long) [1705607] - [mm] memory_hotplug: cond_resched in __remove_pages (Waiman Long) [1705607] - [kernel] genirq: Fix race on spurious interrupt detection (Waiman Long) [1705607] - [kernel] printk: Fix panic caused by passing log_buf_len to command line (Waiman Long) [1705607] - [mm] mm/hmm: fix race between hmm_mirror_unregister() and mmu_notifier callback (Waiman Long) [1705607] - [mm] mm/rmap: map_pte() was not handling private ZONE_DEVICE page properly (Waiman Long) [1705607] - [mm] hugetlbfs: dirty pages as they are added to pagecache (Waiman Long) [1705607] - [fs] mm: /proc/pid/smaps_rollup: fix NULL pointer deref in smaps_pte_range() (Waiman Long) [1705607] - [kernel] sched/fair: Fix the min_vruntime update logic in dequeue_entity() (Waiman Long) [1705607] - [mm] x86/mm/pat: Disable preemption around __flush_tlb_all() (Waiman Long) [1705607] - [x86] x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided (Waiman Long) [1705607] - [x86] x86/time: Correct the attribute on jiffies' definition (Waiman Long) [1705607] - [x86] x86/percpu: Fix this_cpu_read() (Waiman Long) [1705607] - [x86] x86/tsc: Force inlining of cyc2ns bits (Waiman Long) [1705607] - [mm] mm/migrate.c: split only transparent huge pages when allocation fails (Waiman Long) [1705607] - [mm] mm/thp: fix call to mmu_notifier in set_pmd_migration_entry() v2 (Waiman Long) [1705607] - [mm] mm/mmap.c: don't clobber partially overlapping VMA with MAP_FIXED_NOREPLACE (Waiman Long) [1705607] - [mm] percpu: stop leaking bitmap metadata blocks (Waiman Long) [1705607] - [lib] vsprintf: Fix off-by-one bug in bstr_printf() processing dereferenced pointers (Waiman Long) [1705607] - [mm] mm/vmstat.c: fix outdated vmstat_text (Waiman Long) [1705607] - [base] PM / core: Clear the direct_complete flag on errors (Waiman Long) [1705607] - [tools] x86/vdso: Fix vDSO syscall fallback asm constraint regression (Waiman Long) [1705607] - [x86] x86/vdso: Only enable vDSO retpolines when enabled and supported (Waiman Long) [1705607] - [tools] selftests/x86: Add clock_gettime() tests to test_vdso (Waiman Long) [1705607] - [x86] x86/vdso: Fix asm constraints on vDSO syscall fallbacks (Waiman Long) [1705607] - [drivers] clocksource/drivers/timer-atmel-pit: Properly handle error cases (Waiman Long) [1705607] - [mm] mm/vmstat.c: skip NR_TLB_REMOTE_FLUSH* properly (Waiman Long) [1705607] - [mm] mm, thp: fix mlocking THP page with migration enabled (Waiman Long) [1705607] - [mm] mm: migration: fix migration of huge PMD shared pages (Waiman Long) [1705607] - [net] net/smc: improve smc_conn_create reason codes (Philipp Rudo) [1703471] - [net] net/smc: improve smc_listen_work reason codes (Philipp Rudo) [1703471] - [net] net/smc: code cleanup smc_listen_work (Philipp Rudo) [1703471] - [net] net/smc: cleanup of get vlan id (Philipp Rudo) [1703471] - [net] net/smc: consolidate function parameters (Philipp Rudo) [1703471] - [net] net/smc: check for ip prefix and subnet (Philipp Rudo) [1703471] - [net] net/smc: fallback to TCP after connect problems (Philipp Rudo) [1703471] - [net] net/smc: nonblocking connect rework (Philipp Rudo) [1703471] - [net] net/smc: move unhash before release of clcsock (Philipp Rudo) [1703471] - [net] net/smc: fix return code from FLUSH command (Philipp Rudo) [1703471] - [net] net/smc: propagate file from SMC to TCP socket (Philipp Rudo) [1703471] - [net] net/smc: fix a NULL pointer dereference (Philipp Rudo) [1703471] - [net] net/smc: wait for pending work before clcsock release_sock (Philipp Rudo) [1703471] - [net] net/smc: allow pnetid-less configuration (Philipp Rudo) [1700797] - [net] net/smc: allow PCI IDs as ib device names in the pnet table (Philipp Rudo) [1700797] - [net] net/smc: add pnet table namespace support (Philipp Rudo) [1700797] - [net] net/smc: add smcd support to the pnet table (Philipp Rudo) [1700797] - [net] net/smc: rework pnet table (Philipp Rudo) [1700797] - [net] net/smc: cleanup for smcr_tx_sndbuf_nonempty (Philipp Rudo) [1700797]- [tools] tools power turbostat: Override CFLAGS assignments and add LDFLAGS to build command (Steve Best) [1705959] - [tools] tools/power turbostat: update version number (Steve Best) [1705959] - [tools] tools/power turbostat: Add checks for failure of fgets() and fscanf() (Steve Best) [1705959] - [tools] tools/power turbostat: Warn on bad ACPI LPIT data (Steve Best) [1705959] - [tools] tools/power turbostat: Also read package power on AMD F17h (Zen) (Steve Best) [1705959] - [tools] tools/power turbostat: Add support for AMD Fam 17h (Zen) RAPL (Steve Best) [1705959] - [tools] tools/power turbostat: Do not display an error on systems without a cpufreq driver (Steve Best) [1705959] - [tools] tools/power turbostat: Add Die column (Steve Best) [1705959] - [tools] tools/power turbostat: Cleanup CNL-specific code (Steve Best) [1705959] - [tools] tools/power turbostat: Cleanup CC3-skip code (Steve Best) [1705959] - [tools] tools/power turbostat: Restore ability to execute in topology-order (Steve Best) [1705959] - [tools] tools/power turbostat: fix goldmont C-state limit decoding (Steve Best) [1705959] - [tools] tools/power turbostat: reduce debug output (Steve Best) [1705959] - [tools] tools/power turbosat: fix AMD APIC-id output (Steve Best) [1705959] - [mmc] mmc: sdhci-iproc: Add ACPI support (Mark Langsdorf) [1576966] - [mmc] mmc: sdhci-pltfm: Convert DT properties to generic device properties (Mark Langsdorf) [1576966] - [tty] serial: 8250_dw: Add ACPI support for uart on Broadcom SoC (Mark Langsdorf) [1576966] - [watchdog] watchdog: sp805: Add clock-frequency property (Mark Langsdorf) [1576966] - [watchdog] watchdog: sp805: set WDOG_HW_RUNNING when appropriate (Mark Langsdorf) [1576966] - [thermal] thermal: broadcom: Add Stingray thermal driver (Mark Langsdorf) [1576966] - [hv] hv: vmbus: Change server monitor_pages index to 0 (Mohammed Gamal) [1691383] - [kernel] hv: vmbus: Expose counters for interrupts and full conditions (Mohammed Gamal) [1691383] - [kernel] vmbus: Switch to use new generic UUID API (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Check for ring when getting debug info (Mohammed Gamal) [1691383] - [x86] hyper-v: move synic/stimer control structures definitions to hyperv-tlfs.h (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Return -EINVAL for the sys files for unopened channels (Mohammed Gamal) [1691383] - [hv] x86, hyperv: remove PCI dependency (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Offload the handling of channels to two workqueues (Mohammed Gamal) [1691383] - [hv] hv: vmbus: check the creation_status in vmbus_establish_gpadl() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove the useless API vmbus_get_outgoing_channel() (Mohammed Gamal) [1691383] - [hv] hv: kvp: Use u to print U32 (Mohammed Gamal) [1691383] - [hv] hv_utils: update name in struct hv_driver util_drv (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Get rid of unnecessary state in hv_context (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix the recent regression caused by incorrect clean-up (Mohammed Gamal) [1691383] - [hv] hv_balloon: Replace spin_is_locked() with lockdep (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Use cpumask_var_t for on-stack cpu mask (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix two "this statement may fall through" warnings (Mohammed Gamal) [1691383] - [hv] hv: kvp: Fix the indentation of some "break" statements (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the descriptions of some function parameters (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Use get/put_cpu() in vmbus_connect() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix synic per-cpu context initialization (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Cleanup synic memory free path (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove use of slow_virt_to_phys() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: add numa_node to sysfs (Mohammed Gamal) [1691383] - [x86] hv: vmbus: Get rid of MSR access from vmbus_drv.c (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the issue with freeing up hv_ctl_table_hdr (Mohammed Gamal) [1691383] - [hv] hv: vmus: Fix the check for return value from kmsg get dump buffer (Mohammed Gamal) [1691383] - [hv] hv: Send one page worth of kmsg dump over Hyper-V during panic (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Remove x86 MSR refs in arch independent code (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() (Mohammed Gamal) [1691383] - [hv] hv: vmbus: Add comments on ring buffer signaling (Mohammed Gamal) [1691383] - [video] use the new async probing feature for the hyperv drivers (Mohammed Gamal) [1691383] - [rpmspec] kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava) [1705216] - [fs] xfs: don't ever put nlink > 0 inodes on the unlinked list (Brian Foster) [1693063] - [fs] xfs: reserve blocks for ifree transaction during log recovery (Brian Foster) [1693063] - [fs] xfs: rename m_inotbt_nores to m_finobt_nores (Brian Foster) [1693063] - [net] xfrm: Honor original L3 slave device in xfrmi policy lookup (Herbert Xu) [1702198] - [net] xfrm: Fix inbound traffic via XFRM interfaces across network namespaces (Herbert Xu) [1702198] - [net] xfrm: Make set-mark default behavior backward compatible (Herbert Xu) [1702198] - [net] xfrm: remove unnecessary check in xfrmi_get_stats64 (Herbert Xu) [1702198] - [net] xfrm: fix gro_cells leak when remove virtual xfrm interfaces (Herbert Xu) [1702198] - [net] xfrm: Make function xfrmi_get_link_net() static (Herbert Xu) [1702198] - [net] xfrm: fix ptr_ret.cocci warnings (Herbert Xu) [1702198] - [net] xfrm: Return detailed errors from xfrmi_newlink (Herbert Xu) [1702198] - [net] xfrm: Allow xfrmi if_id to be updated by UPDSA (Herbert Xu) [1702198] - [net] xfrm: Remove xfrmi interface ID from flowi (Herbert Xu) [1702198] - [net] xfrm: Allow Set Mark to be Updated Using UPDSA (Herbert Xu) [1702198] - [net] xfrm: Add virtual xfrm interfaces (Herbert Xu) [1702198] - [net] xfrm: Add a new lookup key to match xfrm interfaces. (Herbert Xu) [1702198] - [net] flow: Extend flow informations with xfrm interface id. (Herbert Xu) [1702198] - [net] xfrm: Extend the output_mark to support input direction and masking. (Herbert Xu) [1702198] - [fs] xfs: don't account extra agfl blocks as available (Brian Foster) [1656687] - [scsi] scsi: hisi_sas: Some misc tidy-up (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Don't fail IT nexus reset for Open Reject timeout (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Don't hard reset disk during controller reset (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Support all RAS events with MSI interrupts (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: allocate different SAS address for directly attached situation (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Adjust the printk format of functions hisi_sas_init_device() (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Fix for setting the PHY linkrate when disconnected (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: Remedy inconsistent PHY down state in software (Xiaojun Tan) [1702614] - [scsi] scsi: hisi_sas: add host reset interface for test (Xiaojun Tan) [1702614] - [hid] HID: Increase maximum report size allowed by hid_field_extract() (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: remove data[128] usage on stack when sending HBM request (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: move doorbell writing before flush (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Optimize writing ipc message from queue (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: avoid binding wrong ishtp_cl_device (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Enable Ice Lake mobile (Tony Camuso) [1688112] - [hid] HID: increase maximum global item tag report size to 256 (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: Enable Sunrise Point-H ish driver (Tony Camuso) [1688112] - [hid] HID: intel-ish-hid: remove redundant variable num_frags (Tony Camuso) [1688112]- [s390] Disable kexec_load via kernel_lockdown for s390 (Philipp Rudo) [1659399] - [s390] s390/ipl: Provide has_secure sysfs attribute (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Create ipl report and pass to next kernel (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Signature verification prototype (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Load new kernel to absolute 0 (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Unify loader code (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Simplify parmarea access (Philipp Rudo) [1659399] - [s390] s390/purgatory: Omit use of bin2c (Philipp Rudo) [1659399] - [s390] s390/purgatory: Reduce purgatory size (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Fix detection of text segment in ELF loader (Philipp Rudo) [1659399] - [s390] s390/kexec_file: Fix potential segment overlap in ELF loader (Philipp Rudo) [1659399] - [s390] s390/zcore: Rename ipl_block to mitigate name collision (Philipp Rudo) [1659399] - [s390] s390/boot: pad bzImage to 4K (Philipp Rudo) [1659399] - [s390] s390/ipl: add helper functions to create an IPL report (Philipp Rudo) [1659399] - [s390] s390/ipl: read IPL report at early boot (Philipp Rudo) [1659399] - [s390] s390/ipl: add definitions for the IPL report block (Philipp Rudo) [1659399] - [s390] s390/ipl: provide uapi header for list directed IPL (Philipp Rudo) [1659399] - [s390] s390/ipl: make ipl_info less confusing (Philipp Rudo) [1659399] - [s390] s390: introduce .boot.preserved.data section compile time validation (Philipp Rudo) [1659399] - [s390] s390: move ipl block to .boot.preserved.data section (Philipp Rudo) [1659399] - [s390] s390: introduce .boot.preserved.data section (Philipp Rudo) [1659399] - [mm] s390: clean up redundant facilities list setup (Philipp Rudo) [1659399] - [s390] s390/als: remove duplicated in-place implementation of stfle (Philipp Rudo) [1659399] - [netdrv] fm10k: Fix a potential NULL pointer dereference (Neil Horman) [1659172] - [netdrv] fm10k: use struct_size() in kzalloc() (Neil Horman) [1659172] - [netdrv] fm10k: TRIVIAL cleanup of extra spacing in function comment (Neil Horman) [1659172] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Neil Horman) [1659172] - [netdrv] fm10k: bump driver version to match out-of-tree release (Neil Horman) [1659172] - [netdrv] fm10k: add missing device IDs to the upstream driver (Neil Horman) [1659172] - [netdrv] fm10k: ensure completer aborts are marked as non-fatal after a resume (Neil Horman) [1659172] - [netdrv] fm10k: fix SM mailbox full condition (Neil Horman) [1659172] - [netdrv] fm10k: remove ndo_poll_controller (Neil Horman) [1659172] - [netdrv] intel-ethernet: use correct module license (Neil Horman) [1659172] - [scsi] Revert "scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO" (Nilesh Javali) [1701545] - [tools] tools: introduce test_and_clear_bit (Peter Xu) [1694926] - [net] bridge: fix netlink export of vlan_stats_per_port option (Ivan Vecera) [1703551] - [net] bridge: fix vlan stats use-after-free on destruction (Ivan Vecera) [1703551] - [tools] headers uapi: Update linux/if_link.h header copy (Ivan Vecera) [1703551] - [net] bridge: fix a possible memory leak in __vlan_add (Ivan Vecera) [1703551] - [net] bridge: add support for per-port vlan stats (Ivan Vecera) [1703551] - [net] bridge: mcast: Default back to multicast enabled state (Ivan Vecera) [1703551] - [net] bridge: pack net_bridge better (Ivan Vecera) [1703551] - [net] bridge: convert mtu_set_by_user to a bit (Ivan Vecera) [1703551] - [net] bridge: convert neigh_suppress_enabled option to a bit (Ivan Vecera) [1703551] - [net] bridge: convert mcast options to bits (Ivan Vecera) [1703551] - [net] bridge: convert and rename mcast disabled (Ivan Vecera) [1703551] - [net] bridge: convert group_addr_set option to a bit (Ivan Vecera) [1703551] - [net] bridge: convert nf call options to bits (Ivan Vecera) [1703551] - [net] bridge: add bitfield for options and convert vlan opts (Ivan Vecera) [1703551] - [net] bridge: make struct opening bracket consistent (Ivan Vecera) [1703551] - [net] Add netif_is_gretap()/netif_is_ip6gretap() (Ivan Vecera) [1701208] - [net] sched: register callbacks for indirect tc block binds (Ivan Vecera) [1701214] - [tools] selftests: tc-testing: fix tunnel_key failure if dst_port is unspecified (Ivan Vecera) [1701210] - [tools] selftests: tc-testing: drop test on missing tunnel key id (Ivan Vecera) [1701210] - [net] sched: act_tunnel_key: Don't dump dst port if it wasn't set (Ivan Vecera) [1701210] - [net] sched: act_tunnel_key: Allow key-less tunnels (Ivan Vecera) [1701210] - [net] ethtool: Added support for 50Gbps per lane link modes (Ivan Vecera) [1701215] - [net] ip_gre: fix parsing gre header in ipgre_err (Hangbin Liu) [1702212] - [net] vxlan: Free a leaked vetoed multicast rdst (Ivan Vecera) [1691695] - [net] switchdev: Add extack argument to call_switchdev_notifiers() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add extack to switchdev operations (Ivan Vecera) [1691695] - [net] net: Add extack argument to ndo_fdb_add() (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Delete remote after update (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Postpone vxlan_config_apply() (Ivan Vecera) [1691695] - [netdrv] vxlan: changelink: Inline vxlan_dev_configure() (Ivan Vecera) [1691695] - [netdrv] vxlan: Allow vetoing of FDB notifications (Ivan Vecera) [1691695] - [netdrv] vxlan: Have vxlan_fdb_replace() save original rdst value (Ivan Vecera) [1691695] - [netdrv] vxlan: Split vxlan_fdb_update() in two (Ivan Vecera) [1691695] - [netdrv] vxlan: Move up vxlan_fdb_free(), vxlan_fdb_destroy() (Ivan Vecera) [1691695] - [net] bridge: Add br_fdb_clear_offload() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add vxlan_fdb_clear_offload() (Ivan Vecera) [1691695] - [netdrv] vxlan: Add vxlan_fdb_replay() (Ivan Vecera) [1691695] - [net] route: add support for directed broadcast forwarding (Xin Long) [1562384] - [net] erspan: build the header with the right proto according to erspan_ver (Xin Long) [1663862] - [net] ipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL (Xin Long) [1688617] - [net] tipc: handle the err returned from cmd header function (Jon Maloy) [1693452] - [net] tipc: check link name with right length in tipc_nl_compat_link_set (Jon Maloy) [1693452] - [net] tipc: check bearer name with right length in tipc_nl_compat_bearer_enable (Jon Maloy) [1693452] - [net] tipc: change to check tipc_own_id to return in tipc_net_stop (Jon Maloy) [1693452] - [net] tipc: tipc clang warning (Jon Maloy) [1693452] - [net] tipc: fix cancellation of topology subscriptions (Jon Maloy) [1693452] - [net] tipc: allow service ranges to be connect()'ed on RDM/DGRAM (Jon Maloy) [1693452] - [net] net: tipc: fix a missing check for nla_nest_start (Jon Maloy) [1693452] - [net] net: tipc: fix a missing check of nla_nest_start (Jon Maloy) [1693452] - [net] tipc: fix RDM/DGRAM connect() regression (Jon Maloy) [1693452] - [net] tipc: fix race condition causing hung sendto (Jon Maloy) [1693452] - [net] tipc: improve function tipc_wait_for_rcvmsg() (Jon Maloy) [1693452] - [net] tipc: improve function tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: fix link session and re-establish issues (Jon Maloy) [1693452] - [net] tipc: fix skb may be leaky in tipc_link_input (Jon Maloy) [1693452] - [net] tipc: remove dead code in struct tipc_topsrv (Jon Maloy) [1693452] - [net] tipc: mark expected switch fall-throughs (Jon Maloy) [1693452] - [net] tipc: remove unneeded semicolon in trace.c (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_doit (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_name_table_dump (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_link_set (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_bearer_enable (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in tipc_nl_compat_link_reset_stats (Jon Maloy) [1693452] - [net] tipc: fix uninit-value in in tipc_conn_rcv_sub (Jon Maloy) [1693452] - [net] tipc: fix memory leak in tipc_nl_compat_publ_dump (Jon Maloy) [1693452] - [net] tipc: fix a missing check of genlmsg_put (Jon Maloy) [1693452] - [net] tipc: fix a double free in tipc_enable_bearer() (Jon Maloy) [1693452] - [net] net/netlink_compat: Fix a missing check of nla_parse_nested (Jon Maloy) [1693452] - [net] tipc: fix uninitialized value for broadcast retransmission (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc bearer (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc node (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc socket (Jon Maloy) [1693452] - [net] tipc: add trace_events for tipc link (Jon Maloy) [1693452] - [net] tipc: enable tracepoints in tipc (Jon Maloy) [1693452] - [net] tipc: handle broadcast NAME_DISTRIBUTOR packet when receiving it (Jon Maloy) [1693452] - [net] tipc: check group dests after tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: check tsk->group in tipc_wait_for_cond() (Jon Maloy) [1693452] - [net] tipc: compare remote and local protocols in tipc_udp_enable() (Jon Maloy) [1693452] - [net] tipc: use lock_sock() in tipc_sk_reinit() (Jon Maloy) [1693452] - [net] tipc: fix node keep alive interval calculation (Jon Maloy) [1693452] - [net] tipc: fix lockdep warning during node delete (Jon Maloy) [1693452] - [net] tipc: don't assume linear buffer when reading ancillary data (Jon Maloy) [1693452] - [net] tipc: fix lockdep warning when reinitilaizing sockets (Jon Maloy) [1693452] - [net] tipc: fix link re-establish failure (Jon Maloy) [1693452] - [net] tipc: improve broadcast retransmission algorithm (Jon Maloy) [1693452] - [net] tipc: use destination length for copy string (Jon Maloy) [1693452] - [net] tipc: support binding to specific ip address when activating UDP bearer (Jon Maloy) [1677371 1693452] - [net] tipc: remainder of commit ignore STATE_MSG on wrong link session (Jon Maloy) [1693452] - [net] tipc: buffer overflow handling in listener socket (Jon Maloy) [1693452] - [net] tipc: add SYN bit to connection setup messages (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_sk_filter_connect() (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_sk_timeout() (Jon Maloy) [1693452] - [net] tipc: refactor function tipc_msg_reverse() (Jon Maloy) [1693452] - [net] tipc: Add and use skb_mark_not_on_list(). (Jon Maloy) [1693452] - [net] tipc: correct spelling errors for tipc_topsrv_queue_evt() comments (Jon Maloy) [1693452] - [net] tipc: correct spelling errors for struct tipc_bc_base's comment (Jon Maloy) [1693452] - [net] tipc: correct structure parameter comments for topsrv (Jon Maloy) [1693452] - [net] net/tipc: remove redundant variables 'tn' and 'oport' (Jon Maloy) [1693452] - [net] net: tipc: bcast: Replace GFP_ATOMIC with GFP_KERNEL in tipc_bcast_init() (Jon Maloy) [1693452] - [net] net: tipc: name_table: Replace GFP_ATOMIC with GFP_KERNEL in tipc_nametbl_init() (Jon Maloy) [1693452] - [net] tipc: make some functions static (Jon Maloy) [1693452] - [net] tipc: make link capability update thread safe (Jon Maloy) [1693452] - [net] tipc: remove unused tipc_group_size (Jon Maloy) [1693452] - [net] tipc: remove unused tipc_link_is_active (Jon Maloy) [1693452] - [net] tipc: check session number before accepting link protocol messages (Jon Maloy) [1693452] - [net] tipc: add sequence number check for link STATE messages (Jon Maloy) [1693452] - [net] tipc: mark expected switch fall-throughs (Jon Maloy) [1693452] - [net] tipc: extend sock diag for group communication (Jon Maloy) [1693452] - [net] tipc: Auto removal of peer down node instance (Jon Maloy) [1693452] - [net] tipc: optimize function tipc_node_timeout() (Jon Maloy) [1693452] - [net] tipc: eliminate buffer cloning in function tipc_msg_extract() (Jon Maloy) [1693452] - [net] netfilter: nf_conncount: fix argument order to find_next_bit (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: speculative garbage collection on empty lists (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: move all list iterations under spinlock (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: merge lookup and add functions (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: restart search when nodes have been erased (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: split gc in two phases (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: don't skip eviction when age is negative (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: replace CONNCOUNT_LOCK_SLOTS with CONNCOUNT_SLOTS (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: use rb_link_node_rcu() instead of rb_link_node() (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: remove wrong condition check routine (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: fix unexpected permanent node of list. (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: fix list_del corruption in conn_free (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: use spin_lock_bh instead of spin_lock (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Add list lock and gc worker, and RCU for init tree search (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Split insert and traversal (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Move locking into count_tree() (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Early exit in nf_conncount_lookup() and cleanup (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Switch to plain list (Florian Westphal) [1531074] - [net] netfilter: nf_conncount: Early exit for garbage collection (Florian Westphal) [1531074] - [net] ptp: uapi: change _IOW to IOWR in PTP_SYS_OFFSET_EXTENDED definition (Hangbin Liu) [1677215] - [net] ptp: check that rsv field is zero in struct ptp_sys_offset_extended (Hangbin Liu) [1677215] - [net] ptp: deprecate gettime64() in favor of gettimex64() (Hangbin Liu) [1677215] - [net] ptp: add PTP_SYS_OFFSET_EXTENDED ioctl (Hangbin Liu) [1677215] - [net] ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl (Hangbin Liu) [1677215] - [net] ptp: reorder declarations in ptp_ioctl() (Hangbin Liu) [1677215] - [net] tuntap: fix multiqueue rx (Guillaume Nault) [1686563]- [edac] EDAC/amd64: Add Family 17h Model 30h PCI IDs (Aristeu Rozanski) [1696603] - [x86] Update stepping values for coffee lake desktop (David Arcari) [1704800] - [security] KEYS: trusted: allow trusted.ko to initialize w/o a TPM (Jerry Snitselaar) [1694208] - [security] tpm: pass an array of tpm_extend_digest structures to tpm_pcr_extend() (Jerry Snitselaar) [1665130 1665129] - [security] KEYS: trusted: explicitly use tpm_chip structure from tpm_default_chip() (Jerry Snitselaar) [1665130 1665129] - [char] tpm/ppi: Enable submission of optional command parameter for PPI 1.3 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: Possibly show command parameter if TPM PPI 1.3 is used (Jerry Snitselaar) [1665130] - [char] tpm/ppi: Display up to 101 operations as define for version 1.3 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: rename TPM_PPI_REVISION_ID to TPM_PPI_REVISION_ID_1 (Jerry Snitselaar) [1665130] - [char] tpm/ppi: pass function revision ID to tpm_eval_dsm() (Jerry Snitselaar) [1665130] - [char] tpm: Fix the type of the return value in calc_tpm2_event_size() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: fix an invalid condition in tpm_common_poll (Jerry Snitselaar) [1694208] - [char] tpm: turn on TPM on suspend for TPM 1.x (Jerry Snitselaar) [1694208 1665130] - [char] tpm: move tpm_chip definition to include/linux/tpm.h (Jerry Snitselaar) [1665129] - [char] tpm: retrieve digest size of unknown algorithms with PCR read (Jerry Snitselaar) [1665130 1665129] - [char] tpm: rename and export tpm2_digest and tpm2_algorithms (Jerry Snitselaar) [1665130 1665129] - [char] tpm: dynamically allocate the allocated_banks array (Jerry Snitselaar) [1665130 1665129] - [char] tpm: remove @flags from tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: take TPM chip power gating out of tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: introduce tpm_chip_start() and tpm_chip_stop() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: remove TPM_TRANSMIT_UNLOCKED flag (Jerry Snitselaar) [1665130 1665129] - [char] tpm: use tpm_try_get_ops() in tpm-sysfs.c. (Jerry Snitselaar) [1665130] - [char] tpm: remove @space from tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: move TPM space code out of tpm_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: move tpm_validate_commmand() to tpm2-space.c (Jerry Snitselaar) [1665130 1665129] - [char] tpm: clean up tpm_try_transmit() error handling flow (Jerry Snitselaar) [1665130 1665129] - [char] tpm: encapsulate tpm_dev_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: access command header through struct in tpm_try_transmit() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: declare struct tpm_header (Jerry Snitselaar) [1665130 1665129] - [char] tpm: print tpm2_commit_space() error inside tpm2_commit_space() (Jerry Snitselaar) [1665129] - [char] tpm: return 0 from pcrs_show() when tpm1_pcr_read() fails (Jerry Snitselaar) [1665130] - [char] tpm: fix invalid return value in pubek_show() (Jerry Snitselaar) [1694208 1665130] - [char] tpm: use tpm_buf in tpm_transmit_cmd() as the IO parameter (Jerry Snitselaar) [1665130 1665129] - [char] tpm: don't return bool from update_timeouts (Jerry Snitselaar) [1665130] - [char] tpm: don't print error message in tpm_transmit_cmd when tpm still testing (Jerry Snitselaar) [1665129] - [char] tpm: add _head suffix to tcg_efi_specid_event and tcg_pcr_event2 (Jerry Snitselaar) [1665129] - [char] tpm: Fix off-by-one when reading binary_bios_measurements (Jerry Snitselaar) [1694208 1665130] - [char] tpm: Simplify the measurements loop (Jerry Snitselaar) [1665130] - [char] tpm/tpm_i2c_atmel: Return -E2BIG when the transfer is incomplete (Jerry Snitselaar) [1694208] - [char] tpm: Unify the send callback behaviour (Jerry Snitselaar) [1665129] - [char] tpm: Fix some name collisions with drivers/char/tpm.h (Jerry Snitselaar) [1694208] - [char] tpm/tpm_crb: Avoid unaligned reads in crb_recv() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: add support for partial reads (Jerry Snitselaar) [1665129] - [char] tpm: tpm_ibmvtpm: fix kdoc warnings (Jerry Snitselaar) [1665129] - [char] tpm: fix kdoc for tpm2_flush_context_cmd() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: tpm_try_transmit() refactor error flow. (Jerry Snitselaar) [1694208 1665129] - [char] tpm: use u32 instead of int for PCR index (Jerry Snitselaar) [1665130 1665129] - [security] ima: Get rid of ima_used_chip and use ima_tpm_chip != NULL instead (Jerry Snitselaar) [1665130 1665129] - [security] ima: Use tpm_default_chip() and call TPM functions with a tpm_chip (Jerry Snitselaar) [1665129] - [char] tpm1: reimplement tpm1_continue_selftest() using tpm_buf (Jerry Snitselaar) [1665130] - [char] tpm1: reimplement SAVESTATE using tpm_buf (Jerry Snitselaar) [1665130] - [char] tpm1: rename tpm1_pcr_read_dev to tpm1_pcr_read() (Jerry Snitselaar) [1665130] - [char] tpm1: implement tpm1_pcr_read_dev() using tpm_buf structure (Jerry Snitselaar) [1665130] - [char] tpm: tpm1: rewrite tpm1_get_random() using tpm_buf structure (Jerry Snitselaar) [1665130] - [char] tpm: tpm-space.c remove unneeded semicolon (Jerry Snitselaar) [1665129] - [char] tpm: tpm-interface.c drop unused macros (Jerry Snitselaar) [1694208 1665130] - [char] tpm: add tpm_auto_startup() into tpm-interface.c (Jerry Snitselaar) [1665129] - [char] tpm: factor out tpm_startup function (Jerry Snitselaar) [1665130 1665129] - [char] tpm: factor out tpm 1.x pm suspend flow into tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm 1.x selftest code from tpm-interface.c tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: factor out tpm1_get_random into tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm_getcap to tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: move tpm1_pcr_extend to tpm1-cmd.c (Jerry Snitselaar) [1665130] - [char] tpm: factor out tpm_get_timeouts() (Jerry Snitselaar) [1665130 1665129] - [char] tpm: add tpm_calc_ordinal_duration() wrapper (Jerry Snitselaar) [1665130 1665129] - [char] tpm: factor out tpm 1.x duration calculation to tpm1-cmd.c (Jerry Snitselaar) [1665130 1665129] - [char] tpm: sort objects in the Makefile (Jerry Snitselaar) [1665129] - [char] tpm2: add new tpm2 commands according to TCG 1.36 (Jerry Snitselaar) [1665129] - [char] tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x (Jerry Snitselaar) [1665129] - [char] tpm: add support for nonblocking operation (Jerry Snitselaar) [1665129] - [char] tpm: add ptr to the tpm_space struct to file_priv (Jerry Snitselaar) [1665129] - [char] tpm: Make SECURITYFS a weak dependency (Jerry Snitselaar) [1665129] - [char] tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated (Jerry Snitselaar) [1665130] - [char] tpm: fix response size validation in tpm_get_random() (Jerry Snitselaar) [1694208 1665129] - [char] tpm: replace TPM_TRANSMIT_RAW with TPM_TRANSMIT_NESTED (Jerry Snitselaar) [1665129] - [char] tpm: Convert tpm_find_get_ops() to use tpm_default_chip() (Jerry Snitselaar) [1665129] - [char] tpm: Implement tpm_default_chip() to find a TPM chip (Jerry Snitselaar) [1665129] - [char] tpm: rename tpm_chip_find_get() to tpm_find_get_ops() (Jerry Snitselaar) [1665129] - [char] tpm: Allow tpm_tis drivers to set hwrng quality. (Jerry Snitselaar) [1665129] - [char] tpm: Return the actual size when receiving an unsupported command (Jerry Snitselaar) [1694208 1665129] - [char] tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (Jerry Snitselaar) [1665129] - [char] tpm_tis_spi: Pass the SPI IRQ down to the driver (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_get_random() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_get_tpm_pt() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_probe() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [char] tpm: migrate tpm2_shutdown() to use struct tpm_buf (Jerry Snitselaar) [1665129] - [pci] PCI: Fix __initdata issue with "pci=disable_acs_redir" parameter (Myron Stowe) [1704979] - [s390] s390/pci: skip VF scanning (Myron Stowe) [1704979] - [pci] PCI/IOV: Add flag so platforms can skip VF scanning (Myron Stowe) [1704979] - [pci] PCI/IOV: Factor out sriov_add_vfs() (Myron Stowe) [1704979] - [pci] switchtec: Add MRPC DMA mode support (Myron Stowe) [1704979] - [pci] switchtec: Improve MRPC efficiency by enabling write combining (Myron Stowe) [1704979] - [pci] switchtec: Fix SWITCHTEC_IOCTL_EVENT_IDX_ALL flags overwrite (Myron Stowe) [1704979] - [pci] switchtec: Set DMA coherent mask (Myron Stowe) [1704979] - [pci] switchtec: Remove immediate status check after submitting MRPC command (Myron Stowe) [1704979] - [pci] PCI / PM: Allow runtime PM without callback functions (Myron Stowe) [1704979] - [pci] PCI/P2PDMA: Clean up documentation and kernel-doc (Myron Stowe) [1704979] - [pci] PCI: Remove unnecessary space before function pointer arguments (Myron Stowe) [1704979] - [maintainers] MAINTAINERS: Add x86 early-quirks.c file pattern to PCI subsystem (Myron Stowe) [1704979] - [pci] PCI: Expand the "PF" acronym in Kconfig help text (Myron Stowe) [1704979] - [x86] x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux) (Myron Stowe) [1704979] - [pci] PCI/ASPM: Remove unused lists from struct pcie_link_state (Myron Stowe) [1704979] - [pci] PCI / ACPI: Identify untrusted PCI devices (Myron Stowe) [1704979]- [documentation] x86/resctrl: Update Documentation/x86/resctrl_ui.txt (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Remove unnecessary check for cbm_validate() (Prarit Bhargava) [1504489] - [maintainers] MAINTAINERS: Update resctrl filename patterns (Prarit Bhargava) [1504489] - [documentation] Documentation: Rename and update intel_rdt_ui.txt to resctrl_ui.txt (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Introduce AMD QOS feature (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Fixup the user-visible strings (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Add AMD's X86_FEATURE_MBA to the scattered CPUID features (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename the config option INTEL_RDT to RESCTRL (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Add vendor check for the MBA software controller (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Bring cbm_validate() into the resource structure (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Initialize the vendor-specific resource functions (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Move all the macros to resctrl/internal.h (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Re-arrange the RDT init code (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename the RDT functions and definitions (Prarit Bhargava) [1504489] - [x86] x86/resctrl: Rename and move rdt files to a separate directory (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Prevent pseudo-locking from using stale pointers (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix initial allocation to consider CDP (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: CBM overlap should also check for overlap with CDP peer (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce utility to obtain CDP peer (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix out-of-bounds memory access in CBM tests (Prarit Bhargava) [1504489] - [x86] perf/x86: Add helper to obtain performance counter index (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Switch to bitmap_zalloc() (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Re-enable pseudo-lock measurements (Prarit Bhargava) [1504489] - [x86] x86/cpu: Sanitize FAM6_ATOM naming (David Arcari) [1504489] - [x86] x86/intel_rdt: Use perf infrastructure for measurements (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create required perf event attributes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Remove local register variables (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix incorrect loop end condition (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix exclusive mode handling of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix incorrect loop end condition (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Do not allow pseudo-locking of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix unchecked MSR access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix invalid mode warning when multiple resources are managed (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Global closid helper to support future fixes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix size reporting of MBA resource (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix data type in parsing callbacks (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Disable PMU access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix possible circular lock dependency (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Make CPU information accessible for pseudo-locked regions (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support restoration of subset of permissions (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Fix cleanup of plr structure on error (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Move pseudo_lock_region_clear() (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Limit C-states dynamically when pseudo-locking active (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support L3 cache performance event of Broadwell (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: More precise L2 hit/miss measurements (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create character device exposing pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create debugfs files for pseudo-locking testing (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Create resctrl debug area (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Ensure RDT cleanup on exit (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Resctrl files reflect pseudo-locked information (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support creation/removal of pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Pseudo-lock region creation/removal core (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Discover supported platforms via prefetch disable bits (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utilities to test pseudo-locked region possibility (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Split resource group removal in two (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Enable entering of pseudo-locksetup mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support enter/exit of locksetup mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce pseudo-locked region (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add check to determine if monitoring in progress (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Utilities to restrict/restore access to specific files (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Protect against resource group changes during locking (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utility to restrict/restore access to resctrl files (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Add utility to test if tasks assigned to resource group (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Respect read and write access (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce the Cache Pseudo-Locking modes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Display resource groups' allocations' size in bytes (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce "bit_usage" to display cache allocations details (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Ensure requested schemata respects mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Support flexible data to parsing callbacks (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Making CBM name and type more explicit (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Enable setting of exclusive mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce new "exclusive" mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Initialize new resource group with sane defaults (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Make useful functions available internally (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce test to determine if closid is in use (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce resource group's mode resctrl file (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Associate mode with each RDT resource group (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Introduce RDT resource group mode (Prarit Bhargava) [1504489] - [x86] x86/intel_rdt: Provide pseudo-locking hooks within rdt_mount (Prarit Bhargava) [1504489] - [x86] perf/x86: Make perf callchains work without CONFIG_FRAME_POINTER (Jiri Olsa) [1699780]- [kernel] sched/fair: Do not re-read ->h_load_next during hierarchical load calculation (Phil Auld) [1701762] - [s390] kvm: s390: enable MSA9 keywrapping functions depending on cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: add deflate conversion facilty to cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: add enhanced sort facilty to cpu model (Thomas Huth) [1660913] - [s390] kvm: s390: provide query function for instructions returning 32 byte (Thomas Huth) [1660913] - [s390] kvm: s390: add MSA9 to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add vector BCD enhancements facility to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add vector enhancements facility 2 to cpumodel (Thomas Huth) [1660913] - [s390] kvm: s390: add debug logging for cpu model subfunctions (Thomas Huth) [1660913] - [s390] kvm: s390: implement subfunction processor calls (Thomas Huth) [1660913] - [powercap] powercap: intel_rapl: add support for Jacobsville (Steve Best) [1482401] - [x86] x86/cpu: Add Atom Tremont (Jacobsville) (Steve Best) [1482401]- [crypto] crypto: qat - Remove unused goto label (Neil Horman) [1660313] - [crypto] crypto: prefix header search paths with $(srctree)/ (Neil Horman) [1660313] - [crypto] crypto: qat - no need to check return value of debugfs_create functions (Neil Horman) [1660313] - [crypto] cross-tree: phase out dma_zalloc_coherent() (Neil Horman) [1660313] - [crypto] crypto: qat - move temp buffers off the stack (Neil Horman) [1660313] - [crypto] crypto: qat - Remove VLA usage (Neil Horman) [1660313] - [include] block: kill all_q_node in request_queue (Ming Lei) [1702865] - [block] bfq: update internal depth state when queue depth changes (Ming Lei) [1702865] - [fs] block: fix the return errno for direct IO (Ming Lei) [1702865] - [block] block: do not leak memory in bio_copy_user_iov() (Ming Lei) [1702865] - [nvme] nvme: cancel request synchronously (Ming Lei) [1702865] - [block] blk-mq: introduce blk_mq_complete_request_sync() (Ming Lei) [1702865] - [scsi] scsi: virtio_scsi: limit number of hw queues by nr_cpu_ids (Ming Lei) [1702865] - [block] virtio-blk: limit number of hw queues by nr_cpu_ids (Ming Lei) [1702865] - [block] block, bfq: fix use after free in bfq_bfqq_expire (Ming Lei) [1702865] - [block] paride/pcd: Fix potential NULL pointer dereference and mem leak (Ming Lei) [1702865] - [block] blk-mq: do not reset plug->rq_count before the list is sorted (Ming Lei) [1702865] - [block] paride/pf: Fix potential NULL pointer dereference (Ming Lei) [1702865] - [block] blk-mq: add trace block plug and unplug for multiple queues (Ming Lei) [1702865] - [block] block: use blk_free_flush_queue() to free hctx->fq in blk_mq_init_hctx (Ming Lei) [1702865] - [block] paride/pcd: cleanup queues when detection fails (Ming Lei) [1702865] - [block] paride/pf: cleanup queues when detection fails (Ming Lei) [1702865] - [crypto] crypto: chelsio - Fixed Traffic Stall (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Fix passing zero to 'PTR_ERR' warning in chcr_aead_op (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Inline single pdu only (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - avoid using sa_entry imm (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - remove set but not used variables 'adap' (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - check set_msg_len overflow in generate_b0 (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Fix wrong error counter increments (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Reset counters on cxgb4 Detach (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Handle PCI shutdown event (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - cleanup:send addr as value in function argument (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Use same value for both channel in single WR (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Swap location of AAD and IV sent in WR (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - remove set but not used variable 'kctx_len' (Arjun Vynipadath) [1664679] - [crypto] drivers: chelsio: use skb_sec_path helper (Arjun Vynipadath) [1664679] - [crypto] crypto: chcr - ESN for Inline IPSec Tx (Arjun Vynipadath) [1664679] - [crypto] crypto: chcr - small packet Tx stalls the queue (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - clean up various indentation issues (Arjun Vynipadath) [1664679] - [crypto] crypto: chelsio - Update ntx queue received from cxgb4 (Arjun Vynipadath) [1664679]- [platform] platform/x86: intel_pmc_core: Convert to INTEL_CPU_FAM6 macro (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Avoid a u32 overflow (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Include Reserved IP for LTR (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix file permissions for ltr_show (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix PCH IP name (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix PCH IP sts reading (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Handle CFL regmap properly (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: convert to DEFINE_SHOW_ATTRIBUTE (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Decode Snoop / Non Snoop LTR (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Fix LTR IGNORE Max offset (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Show Latency Tolerance info (David Arcari) [1658080] - [platform] platform/x86: intel_pmc: Convert to use SPDX identifier (David Arcari) [1658080] - [platform] platform/x86: intel_pmc_core: Add CNP SLPS0 debug registers (David Arcari) [1658080] - [x86] x86/cpu: Introduce INTEL_CPU_FAM*() helper macros (David Arcari) [1658080] - [include] locking/atomics, asm-generic: Move some macros from to a new file (David Arcari) [1658080] - [s390] s390/kasan: fix strncpy_from_user kasan checks (Philipp Rudo) [1665182] - [s390] s390: correct some inline assembly constraints (Philipp Rudo) [1665182] - [s390] s390/kasan: improve string/memory functions checks (Philipp Rudo) [1665182] - [include] compiler: remove __no_sanitize_address_or_inline again (Philipp Rudo) [1665182] - [s390] s390/kasan: increase instrumented stack size to 64k (Philipp Rudo) [1665182] - [mm] s390/kasan: support preemptible kernel build (Philipp Rudo) [1665182] - [mm] s390/kasan: add support for mem= kernel parameter (Philipp Rudo) [1665182] - [mm] s390/kasan: optimize kasan vmemmap allocation (Philipp Rudo) [1665182] - [mm] s390/kasan: avoid kasan crash with standby memory defined (Philipp Rudo) [1665182] - [s390] s390/head: avoid doubling early boot stack size under KASAN (Philipp Rudo) [1665182] - [mm] s390/mm: improve debugfs ptdump markers walking (Philipp Rudo) [1665182] - [mm] s390/mm: optimize debugfs ptdump kasan zero page walking (Philipp Rudo) [1665182] - [s390] s390/kasan: add option for 4-level paging support (Philipp Rudo) [1665182] - [mm] s390/kasan: free early identity mapping structures (Philipp Rudo) [1665182] - [s390] s390/kasan: enable stack and global variables access checks (Philipp Rudo) [1665182] - [s390] s390/dumpstack: disable __dump_trace kasan instrumentation (Philipp Rudo) [1665182] - [s390] s390/kasan: reipl and kexec support (Philipp Rudo) [1665182] - [s390] s390/smp: kasan stack instrumentation support (Philipp Rudo) [1665182] - [include] compiler: introduce __no_sanitize_address_or_inline (Philipp Rudo) [1665182] - [s390] s390/kasan: use noexec and large pages (Philipp Rudo) [1665182] - [mm] s390/kasan: dynamic shadow mem allocation for modules (Philipp Rudo) [1665182] - [mm] s390/mm: add kasan shadow to the debugfs pgtable dump (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid user access code instrumentation (Philipp Rudo) [1665182] - [s390] s390/kasan: double the stack size (Philipp Rudo) [1665182] - [s390] s390/kasan: add initialization code and enable it (Philipp Rudo) [1665182] - [s390] s390: add pgd_page primitive (Philipp Rudo) [1665182] - [s390] s390: introduce MAX_PTRS_PER_P4D (Philipp Rudo) [1665182] - [s390] s390/kasan: replace some memory functions (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid instrumentation of early C code (Philipp Rudo) [1665182] - [s390] s390/kasan: avoid vdso instrumentation (Philipp Rudo) [1665182] - [s390] s390/mm: add missing pfn_to_kaddr helper (Philipp Rudo) [1665182] - [s390] s390/cpum_cf: Add support for CPU-MF SVN 6 (Philipp Rudo) [1683278] - [s390] s390: report new CPU capabilities (Philipp Rudo) [1685086] - [net] net/smc: fix smc_poll in SMC_INIT state (Philipp Rudo) [1700812] - [net] net/smc: fix byte_order for rx_curs_confirmed (Philipp Rudo) [1700812] - [net] net/smc: check port_idx of ib event (Philipp Rudo) [1700799] - [net] net/smc: check connections in smc_lgr_free_work (Philipp Rudo) [1700799] - [net] net/smc: reduce amount of status updates to peer (Philipp Rudo) [1700799] - [net] net/smc: no delay for free tx buffer wait (Philipp Rudo) [1700799] - [net] net/smc: move wake up of close waiter (Philipp Rudo) [1700799] - [net] net/smc: reset cursor update required flag (Philipp Rudo) [1700799] - [net] net/smc: correct state change for peer closing (Philipp Rudo) [1700799] - [net] net/smc: delete rkey first before switching to unused (Philipp Rudo) [1700799] - [net] net/smc: fix sender_free computation (Philipp Rudo) [1700799] - [net] net/smc: preallocated memory for rdma work requests (Philipp Rudo) [1700799] - [net] net/smc: fix use of variable in cleared area (Philipp Rudo) [1700799] - [net] net/smc: use device link provided in qp_context (Philipp Rudo) [1700799] - [net] net/smc: call smc_cdc_msg_send() under send_lock (Philipp Rudo) [1700799] - [net] net/smc: do not wait under send_lock (Philipp Rudo) [1700799] - [net] net/smc: recvmsg and splice_read should return 0 after shutdown (Philipp Rudo) [1700799] - [net] net/smc: don't wait for send buffer space when data was already sent (Philipp Rudo) [1700799] - [net] net/smc: prevent races between smc_lgr_terminate() and smc_conn_free() (Philipp Rudo) [1700799] - [net] net/smc: allow 16 byte pnetids in netlink policy (Philipp Rudo) [1700799] - [net] net/smc: fix another sizeof to int comparison (Philipp Rudo) [1700799] - [net] net/smc: move code to clear the conn->lgr field (Philipp Rudo) [1700799] - [net] net/smc: use client and server LGR pending locks for SMC-R (Philipp Rudo) [1700799] - [net] net/smc: unlock LGR pending lock earlier for SMC-D (Philipp Rudo) [1700799] - [net] net/smc: use smc_curs_copy() for SMC-D (Philipp Rudo) [1700799] - [net] net/smc: postpone release of clcsock (Philipp Rudo) [1700799] - [net] smc: move unhash as early as possible in smc_release() (Philipp Rudo) [1700799] - [net] net/smc: fix TCP fallback socket release (Philipp Rudo) [1700799] - [s390] s390/ism: ignore some errors during deregistration (Philipp Rudo) [1700799] - [infiniband] mlx4: trigger IB events needed by SMC (Philipp Rudo) [1700799] - [s390] s390/smp: fix CPU hotplug deadlock with CPU rescan (Philipp Rudo) [1700836] - [block] s390/dasd: fix panic for failed online processing (Philipp Rudo) [1700811] - [netdrv] s390/qeth: fix use-after-free in error path (Philipp Rudo) [1700803] - [netdrv] s390/qeth: cancel close_dev work before removing a card (Philipp Rudo) [1700802] - [netdrv] s390/qeth: conclude all event processing before offlining a card (Philipp Rudo) [1700800] - [scsi] scsi: zfcp: fix posting too many status read buffers leading to adapter shutdown (Philipp Rudo) [1700775] - [fs] xfs: prohibit fstrim in norecovery mode (Bill O'Donnell) [1697749] - [x86] perf/x86: Fixup typo in stub functions (Waiman Long) [1688789] - [x86] perf/x86/intel: Fix memory corruption (Waiman Long) [1688789] - [x86] perf/x86/intel: Implement support for TSX Force Abort (Waiman Long) [1688789] - [x86] x86: Add TSX Force Abort CPUID/MSR (Waiman Long) [1688789] - [x86] perf/x86/intel: Generalize dynamic constraint creation (Waiman Long) [1688789] - [x86] perf/x86/intel: Make cpuc allocations consistent (Waiman Long) [1688789] - [x86] perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu() (Waiman Long) [1688789] - [x86] perf/x86/intel: Export mem events only if there's PEBS support (Waiman Long) [1688789] - [x86] perf/x86/intel: Add a separate Arch Perfmon v4 PMI handler (Waiman Long) [1688789] - [x86] perf/x86/intel: Factor out common code of PMI handler (Waiman Long) [1688789] - [x86] perf/x86/intel: Introduce PMU flag for Extended PEBS (Waiman Long) [1688789] - [x86] x86/speculation: Add PR_SPEC_DISABLE_NOEXEC (Waiman Long) [1671512]- [kernel] exit from RHEL 8.1 early ystream mode ("Herton R. Krzesinski") - [net] Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer (Gopal Tiwari) [1700507] {CVE-2019-3459} - [target] scsi: target: iscsi: cxgbit: fix csk leak (Arjun Vynipadath) [1664683] - [target] scsi: target: iscsi: cxgbit: add missing spin_lock_init() (Arjun Vynipadath) [1664683] - [scsi] scsi: cxgb4i: fix incorrect spelling "reveive" -> "receive" (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: update route finding logic (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: find cxgbi device by MAC address (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgbi: remove redundant __kfree_skb call on skb and free cst->atid (Arjun Vynipadath) [1664685] - [scsi] scsi: libcxgbi: remove uninitialized variable len (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: validate tcp sequence number only if chip version <= T5 (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: get pf number from lldi->pf (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: add wait_for_completion() (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: fix thermal configuration dependencies (Arjun Vynipadath) [1664685] - [scsi] scsi: cxgb4i: add DCB support for iSCSI connections (Arjun Vynipadath) [1664685] - [netdrv] cxgb4: Don't return EAGAIN when TCAM is full. (Arjun Vynipadath) [1664670] - [netdrv] chelsio: use BUG() instead of BUG_ON(1) (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/chtls: Prefix adapter flags with CXGB4 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Call netif_carrier_off properly in pci_probe (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: Revert force link up behaviour (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: Add VF Link state support (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Prefix adapter flags with CXGB4VF (Arjun Vynipadath) [1664682] - [netdrv] cxgb4vf: Enter debugging mode if FW is inaccessible (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: Enable outer UDP checksum offload for T6 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Fix up netdev->hw_features (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: Mask out interrupts that are not enabled. (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Export sge_host_page_size to ulds (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add capability to get/set SGE Doorbell Queue Timer Tick (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Add support for SGE doorbell queue timer (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: Few more link management changes. (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: add tcb flags and tcb rpl struct (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T6 PCI device ids 0x608b (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac() (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: smt: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: sched: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: cxgb4_tc_u32: use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4vf: Update port information in cxgb4vf_open() (Arjun Vynipadath) [1664682] - [netdrv] cxgb4/cxgb4vf: Link management changes (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4: TLS record offload enable (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: clip_tbl: Use struct_size() in kvzalloc() (Arjun Vynipadath) [1664670] - [netdrv] net: cxgb4: fix various indentation issues (Arjun Vynipadath) [1664670] - [netdrv] net: chelsio: Add a missing check on cudg_get_buffer (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove DEFINE_SIMPLE_DEBUGFS_FILE() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: number of VFs supported is not always 16 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove set but not used variables 'multitrc, speed' (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: use new fw interface to get the VIN and smt index (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/cxgb4vf: Fix mac_hlist initialization and free (Arjun Vynipadath) [1664682 1664670] - [netdrv] cxgb4vf: fix memleak in mac_hlist initialization (Arjun Vynipadath) [1664682] - [netdrv] cxgb4vf: free mac_hlist properly (Arjun Vynipadath) [1664682] - [netdrv] cxgb4: free mac_hlist properly (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix thermal zone build error (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix thermal configuration dependencies (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add thermal zone support (Arjun Vynipadath) [1664670] - [infiniband] cxgb4: use __vlan_hwaccel helpers (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T6 PCI device ids 0x608a (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix the error path of cxgb4_uld_register() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: use FW_PORT_ACTION_L1_CFG32 for 32 bit capability (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove the unneeded locks (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Use proper enum in IEEE_FAUX_SYNC (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove duplicated include from cxgb4_main.c (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: add per rx-queue counter for packet errors (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Fix endianness issue in t4_fwcache() (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix abort_req_rss6 struct (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove redundant assignment to vlan_cmd.dropnovlan_fm (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect hardware queue descriptors (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: remove set but not used variable 'spd' (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: add support to display DCB info (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/t4_hw: mark expected switch fall-throughs (Arjun Vynipadath) [1664670] - [netdrv] cxgb4/l2t: Mark expected switch fall-through (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: fix endian to test F_FW_PORT_CMD_DCBXDIS32 (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: print ULD queue information managed by LLD (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: move Tx/Rx free pages collection to common code (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add support to read actual provisioned resources (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: Add new T5 PCI device id 0x50ae (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect number of free PSTRUCT page pointers (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: display number of rx and tx pages free (Arjun Vynipadath) [1664670] - [netdrv] cxgb4: collect ASIC LA dumps from ULP TX (Arjun Vynipadath) [1664670] - [netdrv] libcxgb: replace vmalloc and memset with vzalloc (Arjun Vynipadath) [1664670] - [netdrv] enic: fix checksum validation for IPv6 (Jonathan Toppins) [1685309] - [infiniband] RDMA/vmw_pvrdma: Return the correct opcode when creating WR (Jonathan Toppins) [1688010 1685309] - [infiniband] RDMA/vmw_pvrdma: Use atomic memory allocation in create AH (Jonathan Toppins) [1685309] - [infiniband] IB/usnic: fix spelling mistake "miniumum" -> "minimum" (Jonathan Toppins) [1685309] - [infiniband] RDMA/drivers: Fix spelling mistake "initalize" -> "initialize" (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Reuse code which sets port state (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Make counters thread safe (Jonathan Toppins) [1685309] - [infiniband] RDMA: Cleanup undesired pd->uobject usage (Jonathan Toppins) [1685309] - [infiniband] IB/{mlx5, ocrdma, qedr, rxe}: Omit port validation from IB verbs (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Fix incorrect cache cleanup in error flow (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Utilize generic function to validate port number (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: Make function rxe_pool_cleanup return void (Jonathan Toppins) [1685309] - [infiniband] rxe: IB_WR_REG_MR does not capture MR's iova field (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: make rxe_unregister_device void (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: move the variable into the function that uses it (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Distinguish between down links and disabled links (Jonathan Toppins) [1685309] - [infiniband] rxe: fix error completion wr_id and qp_num (Jonathan Toppins) [1685309] - [infiniband] IB/rxe: clean skb queue directly (Jonathan Toppins) [1685309] - [net] xprtrdma: Make sure Send CQ is allocated on an existing compvec (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Rework SCSI device reset handling (Jonathan Toppins) [1685309] - [infiniband] IB/ipoib: Fix for use-after-free in ipoib_cm_tx_start (Jonathan Toppins) [1685309] - [net] xprtrdma: Double free in rpcrdma_sendctxs_create() (Jonathan Toppins) [1685309] - [net] xprtrdma: Fix error code in rpcrdma_buffer_create() (Jonathan Toppins) [1685309] - [infiniband] IB/ipoib: drop useless LIST_HEAD (Jonathan Toppins) [1685309] - [net] xprtrdma: Prevent leak of rpcrdma_rep objects (Jonathan Toppins) [1685309] - [net] xprtrdma: Don't leak freed MRs (Jonathan Toppins) [1685309] - [net] xprtrdma: Add documenting comment for rpcrdma_buffer_destroy (Jonathan Toppins) [1685309] - [net] xprtrdma: Replace outdated comment for rpcrdma_ep_post (Jonathan Toppins) [1685309] - [net] xprtrdma: Update comments in frwr_op_send (Jonathan Toppins) [1685309] - [net] xprtrdma: Trace mapping, alloc, and dereg failures (Jonathan Toppins) [1685309] - [net] xprtrdma: Add trace points for calls to transport switch methods (Jonathan Toppins) [1685309] - [net] xprtrdma: Relocate the xprtrdma_mr_map trace points (Jonathan Toppins) [1685309] - [net] xprtrdma: Clean up of xprtrdma chunk trace points (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove unused fields from rpcrdma_ia (Jonathan Toppins) [1685309] - [net] xprtrdma: Cull dprintk() call sites (Jonathan Toppins) [1685309] - [net] xprtrdma: Simplify locking that protects the rl_allreqs list (Jonathan Toppins) [1685309] - [net] xprtrdma: Expose transport header errors (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove request_module from backchannel (Jonathan Toppins) [1685309] - [net] xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR) (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove rpcrdma_memreg_ops (Jonathan Toppins) [1685309] - [net] xprtrdma: Remove support for FMR memory registration (Jonathan Toppins) [1685309] - [net] xprtrdma: Reduce max_frwr_depth (Jonathan Toppins) [1685309] - [net] xprtrdma: Fix ri_max_segs and the result of ro_maxpages (Jonathan Toppins) [1685309] - [net] xprtrdma: Don't wake pending tasks until disconnect is done (Jonathan Toppins) [1685309] - [net] xprtrdma: No qp_event disconnect (Jonathan Toppins) [1685309] - [net] xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue (Jonathan Toppins) [1685309] - [net] xprtrdma: Refactor Receive accounting (Jonathan Toppins) [1685309] - [net] xprtrdma: Ensure MRs are DMA-unmapped when posting LOCAL_INV fails (Jonathan Toppins) [1685309] - [net] xprtrdma: Yet another double DMA-unmap (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Use kmem_cache_free() instead of kfree() (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Rework the srpt_alloc_srq() error path (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Remove driver version and release date (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Make kernel-doc headers complete (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Join split strings (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Improve coding style conformance (Jonathan Toppins) [1685309] - [infiniband] RDMA/srpt: Fix a use-after-free in the channel release code (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Rework handling of the maximum information unit length (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Move srp_rdma_ch.max_ti_iu_len declaration (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Handle large SCSI CDBs correctly (Jonathan Toppins) [1685309] - [infiniband] RDMA/srp: Document srp_parse_in() arguments (Jonathan Toppins) [1685309] - [infiniband] include/scsi/srp.h: Add support for immediate data (Jonathan Toppins) [1685309] - [infiniband] include/scsi/srp.h: Move response flag definitions into this file (Jonathan Toppins) [1685309] - [net] svcrdma: Optimize the logic that selects the R_key to invalidate (Jonathan Toppins) [1685309] - [infiniband] IB/srpt: Drop pointless static qualifier in srpt_make_tpg() (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix ioctl query port to consider device disassociation (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Fix OOPs upon device disassociation (Jonathan Toppins) [1685309] - [infiniband] RDMA/umem: Add missing initialization of owning_mm (Jonathan Toppins) [1685309] - [infiniband] RDMA/device: Expose ib_device_try_get(() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT (Jonathan Toppins) [1685309] - [infiniband] RDMA/cma: Add cm_id restrack resource based on kernel or user cm_id type (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Don't expose unsafe global rkey to regular user (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Fix post send success return value in case of error (Jonathan Toppins) [1685309] - [infiniband] IB/core: Add advise_mr to the list of known ops (Jonathan Toppins) [1685309] - [infiniband] IB/uverbs: Signedness bug in UVERBS_HANDLER() (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Start using dev_groups of class (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Use class_groups and let core create class file (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Refactor code to use cdev_device_add() (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Avoid destroying device while it is accessed (Jonathan Toppins) [1685309] - [infiniband] IB/umad: Simplify and avoid dynamic allocation of class (Jonathan Toppins) [1685309] - [infiniband] RDMA/iwcm: Don't copy past the end of dev_name() string (Jonathan Toppins) [1685309] - [infiniband] IB/core: Move query port to ioctl (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Expose port_cap_flags2 (Jonathan Toppins) [1685309] - [infiniband] IB/core: uverbs copy to struct or zero helper (Jonathan Toppins) [1685309] - [infiniband] RDMA: Mark if destroy address handle is in a sleepable context (Jonathan Toppins) [1685309] - [infiniband] RDMA: Mark if create address handle is in a sleepable context (Jonathan Toppins) [1685309] - [infiniband] RDMA/restrack: Resource-tracker should not use uobject pointers (Jonathan Toppins) [1685309] - [include] IB/uverbs: Add support to advise_mr (Jonathan Toppins) [1685309] - [include] IB/uverbs: Add helper to get array size from ptr attribute (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add an ioctl method to destroy an object (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add a method to introspect handles in a context (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Delete RoCE GID in hw when corresponding IP is deleted (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Implement an ioctl that can call write and write_ex handlers (Jonathan Toppins) [1685309] - [infiniband] RDMA: Start use ib_device_ops (Jonathan Toppins) [1685309] - [infiniband] RDMA/rdmavt: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/rxe: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/vmw_pvrdma: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/usnic: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/qib: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/qedr: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/ocrdma: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/nes: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mthca: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mlx5: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/mlx4: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/i40iw: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/hns: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/hfi1: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/cxgb4: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/cxgb3: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/bnxt_re: Initialize ib_device_ops struct (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Introduce ib_device_ops (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Optimize clearing of extra bytes in response (Jonathan Toppins) [1685309] - [infiniband] IB/core: Add new IB rates (Jonathan Toppins) [1685309] - [include] IB/core: Add 2X port width (Jonathan Toppins) [1685309] - [include] IB/core: Add CapabilityMask2 to port attributes (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Validate port number in query_pkey verb (Jonathan Toppins) [1685309] - [include] RDMA/uverbs: Fix typo in string concatenation macro (Jonathan Toppins) [1685309] - [infiniband] IB/core: Enable getting an object type from a given uobject (Jonathan Toppins) [1685309] - [infiniband] IB/core: Introduce UVERBS_IDR_ANY_OBJECT (Jonathan Toppins) [1685309] - [infiniband] RDMA/nldev: Export to user space number of contexts (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Annotate alloc/deallloc paths with context tracking (Jonathan Toppins) [1685309] - [include] RDMA/restrack: Track ucontext (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use only attrs for the write() handler signature (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Do not check the input length on create_cq/qp paths (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add a simple iterator interface for reading the command (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Simplify ib_uverbs_ex_query_device (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Fill in the response for IB_USER_VERBS_EX_CMD_MODIFY_QP (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_request() and core for write_ex handlers (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_request() for request copying (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_response() for remaining response copying (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Get rid of the 'callback' scheme in the compat path (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass ucore for write/write_ex (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Remove out_len checks that are now done by the core (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: fix ptr_ret.cocci warnings (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl() (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Prohibit write() calls with too small buffers (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add structure size info to write commands (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Make write() handlers return 0 on success (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write (Jonathan Toppins) [1685309] - [include] RDMA/uverbs: Add missing driver_data (Jonathan Toppins) [1685309] - [infiniband] RDMA/core: Sync unregistration with netlink commands (Jonathan Toppins) [1685309] - [infiniband] RDMA/cma: Move cma module specific functions to cma_priv.h (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Check for NULL driver methods for every write call (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Make all the method functions in uverbs_cmd static (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Convert the write interface to use uverbs_api (Jonathan Toppins) [1685309] - [infiniband] RDMA/verbs: Store the write/write_ex uapi entry points in the uverbs_api (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Require all objects to have a driver destroy function (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Add helpers to mark uapi functions as unsupported (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Factor out the add/get pattern into a helper (Jonathan Toppins) [1685309] - [infiniband] RDMA/uverbs: Use a linear list to describe the compiled-in uapi (Jonathan Toppins) [1685309] - [infiniband] IB/core: Make function ib_fmr_pool_unmap return void (Jonathan Toppins) [1685309] - [include] RDMA/core: Remove unused header files mm.h, socket.h, scatterlist.h (Jonathan Toppins) [1685309] - [include] IB/uverbs: fix a typo (Jonathan Toppins) [1685309] - [fs] coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping (Andrea Arcangeli) [1696081] {CVE-2019-3892} - [scsi] scsi: csiostor: fix missing data copy in csio_scsi_err_handler() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: drop serial_number usage (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix calls to dma_set_mask_and_coherent() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: Remove set but not used variable 'pln' (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: no need to check return value of debugfs_create functions (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix NULL pointer dereference in csio_vport_set_state() (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: fix incorrect dma device in case of vport (Arjun Vynipadath) [1664680] - [scsi] scsi: csiostor: switch to generic DMA API (Arjun Vynipadath) [1664680] - [netdrv] thunderx: eliminate extra calls to put_page() for pages held for recycling (Dean Nelson) [1644011] - [netdrv] thunderx: enable page recycling for non-XDP case (Dean Nelson) [1644011] - [cpufreq] cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency (Prarit Bhargava) [1696131] - [acpi] ACPI / CPPC: Fix guaranteed performance handling (Prarit Bhargava) [1696131] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (Corinna Vinschen) [1659169] - [netdrv] igbvf: Replace spin_is_locked() with lockdep (Corinna Vinschen) [1659169] - [netdrv] intel-ethernet: use correct module license (Corinna Vinschen) [1659169] - [netdrv] igbvf: netdev: Mark expected switch fall-through (Corinna Vinschen) [1659169] - [x86] x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out() (David Arcari) [1698959] - [x86] x86/mce: Restore MCE injector's module name (David Arcari) [1698959] - [x86] x86/mce: Streamline MCE subsystem's naming (David Arcari) [1698959] - [x86] x86: Fix various typos in comments (David Arcari) [1698959] - [x86] x86/MCE/AMD: Fix the thresholding machinery initialization order (David Arcari) [1698959] - [x86] x86/mce: Fix -Wmissing-prototypes warnings (David Arcari) [1698959] - [x86] acpi/nfit, x86/mce: Validate a MCE's address before using it (David Arcari) [1698959] - [x86] acpi/nfit, x86/mce: Handle only uncorrectable machine checks (David Arcari) [1698959] - [x86] x86: Clean up 'sizeof x' => 'sizeof(x)' (David Arcari) [1698959] - [x86] x86/mcelog: Remove one mce_helper definition (David Arcari) [1698959] - [x86] x86/mce-inject: Reset injection struct after injection (David Arcari) [1698959] - [mm] x86/mce: Fix set_mce_nospec() to avoid #GP fault (David Arcari) [1698959] - [x86] x86/memory_failure: Introduce {set, clear}_mce_nospec() (David Arcari) [1698959] - [x86] x86/mce: Cleanup __mc_scan_banks() (David Arcari) [1698959] - [x86] x86/mce: Carve out bank scanning code (David Arcari) [1698959] - [x86] x86/mce: Carve out the crashing_cpu check (David Arcari) [1698959] - [x86] x86/mce: Always use 64-bit timestamps (David Arcari) [1698959] - [x86] x86/mce: Remove !banks check (David Arcari) [1698959] - [md] dm cache metadata: Fix loading discard bitset (Mike Snitzer) [1701618] - [block] null_blk: prevent crash from bad home_node value (Ming Lei) [1696951] - [powerpc] powerpc/security: Fix spectre_v2 reporting (Gustavo Duarte) [1694456] - [powerpc] powerpc/powernv: Query firmware for count cache flush settings (Gustavo Duarte) [1694456] - [powerpc] powerpc/pseries: Query hypervisor for count cache flush settings (Gustavo Duarte) [1694456] - [powerpc] powerpc/64s: Add support for software count cache flush (Gustavo Duarte) [1694456] - [powerpc] powerpc/64s: Add new security feature flags for count cache flush (Gustavo Duarte) [1694456] - [powerpc] powerpc/asm: Add a patch_site macro & helpers for patching instructions (Gustavo Duarte) [1694456] - [powerpc] powerpc/64: Call setup_barrier_nospec() from setup_arch() (Gustavo Duarte) [1694456] - [powerpc] powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC (Gustavo Duarte) [1694456] - [powerpc] powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 (Gustavo Duarte) [1694456]- [kernel] sched/fair: Limit sched_cfs_period_timer() loop to avoid hard lockup (Joel Savitz) [1695651] - [crypto] crypto: ux500 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: talitos - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: sun4i-ss - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: stm32 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: rockchip - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: qce - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: picoxcell - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: omap - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: n2 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: marvell - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ixp4xx - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: hifn_795x - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ccree - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: ccp - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: cavium - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: caam - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: bcm - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: atmel - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: sparc - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [s390] crypto: s390 - Forbid 2-key 3DES in FIPS mode (Herbert Xu) [1687908] - [crypto] crypto: des_generic - Forbid 2-key in 3DES and add helpers (Herbert Xu) [1687908] - [crypto] crypto: mxc-scc - Remove broken driver (Herbert Xu) [1687908] - [kernel] ntp: Audit NTP parameters adjustment (Ondrej Mosnacek) [1680034] - [kernel] timekeeping: Audit clock adjustments (Ondrej Mosnacek) [1680034] - [kernel] ntp: Remove duplicated include (Ondrej Mosnacek) [1680034] - [kernel] timekeeping/ntp: Constify some function arguments (Ondrej Mosnacek) [1680034] - [kernel] ntp: Use kstrtos64 for s64 variable (Ondrej Mosnacek) [1680034] - [kernel] ntp: Remove redundant arguments (Ondrej Mosnacek) [1680034] - [kernel] timekeeping: Use ktime_get_real_ts64() instead of getnstimeofday64() (Ondrej Mosnacek) [1680034] - [netdrv] hinic: Add pci device ids (Xiaojun Tan) [1662040] - [netdrv] net-next/hinic:add shutdown callback (Xiaojun Tan) [1662040] - [netdrv] hinic: optmize rx refill buffer mechanism (Xiaojun Tan) [1662040] - [netdrv] net: hinic: remove redundant pointer pfhwdev (Xiaojun Tan) [1662040] - [netdrv] net: hns: fix unsigned comparison to less than zero (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix sparse: some warnings in HNS drivers (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix WARNING when remove HNS driver with SMMU enabled (Xiaojun Tan) [1661885] - [netdrv] net: hns: fix ICMP6 neighbor solicitation messages discard problem (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix probabilistic memory overwrite when HNS driver initialized (Xiaojun Tan) [1661885] - [netdrv] net: hns: Use NAPI_POLL_WEIGHT for hns driver (Xiaojun Tan) [1661885] - [netdrv] net: hns: fix KASAN: use-after-free in hns_nic_net_xmit_hw() (Xiaojun Tan) [1661885] - [netdrv] net: hns: use struct_size() in devm_kzalloc() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fixes the missing put_device in positive leg for roce reset (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix object reference leaks in hns_dsaf_roce_reset() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Restart autoneg need return failed when autoneg off (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix for missing of_node_put() after of_parse_phandle() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Use struct_size() in devm_kzalloc() (Xiaojun Tan) [1661885] - [netdrv] net: hns: Fix use after free identified by SLUB debug (Xiaojun Tan) [1661885] - [netdrv] net: hns: make function hns_gmac_wait_fifo_clean() static (Xiaojun Tan) [1661885] - [netdrv] net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen (Xiaojun Tan) [1661885] - [netdrv] net: hns: Mark expected switch fall-through (Xiaojun Tan) [1661885] - [netdrv] net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key' (Xiaojun Tan) [1661885] - [netdrv] net: hisilicon: hns: Replace mdelay() with msleep() (Xiaojun Tan) [1661885] - [netdrv] net: hns: make hns_dsaf_roce_reset non static (Xiaojun Tan) [1661885] - [netdrv] net: hns: Make many functions static (Xiaojun Tan) [1661885] - [bluetooth] Bluetooth: btusb: Add support for Intel bluetooth device 8087:0029 (Gopal Tiwari) [1678084] - [bluetooth] Bluetooth: btusb: Use bt_dev_err for Intel firmware loading errors (Gopal Tiwari) [1678084]- [vfio] vfio/pci: Restore device state on PM transition (Alex Williamson) [1700254] - [vfio] vfio/pci: Parallelize device open and release (Alex Williamson) [1700254] - [pci] Revert "PCI/ASPM: Do not initialize link state when aspm_disabled is set" (Myron Stowe) [1694143] - [pci] PCI: Fix incorrect value returned from pcie_get_speed_cap() (Myron Stowe) [1694143] - [x86] x86/PCI: Apply VMD's AERSID fixup generically (Myron Stowe) [1694143] - [pci] PCI/IOV: Remove unnecessary include of (Myron Stowe) [1694143] - [pci] PCI: pcie: Remove redundant 'default n' from Kconfig (Myron Stowe) [1694143] - [documentation] NTB: switchtec_ntb: Update switchtec documentation with prerequisites for NTB (Myron Stowe) [1694143] - [pci] PCI: Fix Switchtec DMA aliasing quirk dmesg noise (Myron Stowe) [1694143] - [pci] PCI: Add macro for Switchtec quirk declarations (Myron Stowe) [1694143] - [pci] PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk (Myron Stowe) [1694143] - [pci] PCI / ACPI: Mark expected switch fall-through (Myron Stowe) [1694143] - [pci] PCI: Remove set but unused variable (Myron Stowe) [1694143] - [pci] PCI: Fix pci.c kernel-doc parameter warning (Myron Stowe) [1694143] - [pci] PCI: Allocate dma_alias_mask with bitmap_zalloc() (Myron Stowe) [1694143] - [include] PCI: Remove unused NFP32xx IDs (Myron Stowe) [1694143] - [maintainers] maintainers: Add Hyper-V IOMMU driver into Hyper-V CORE AND DRIVERS scope (Vitaly Kuznetsov) [1663292 1669989] - [iommu] hyper-v: Add Hyper-V stub IOMMU driver (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyper-v: Set x2apic destination mode to physical when x2apic is available (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyper-v: Enable PIT shutdown quirk (Vitaly Kuznetsov) [1663292 1669989] - [clocksource] clockevents/drivers/i8253: Add support for PIT shutdown quirk (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Enable PV qspinlock for Hyper-V (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Add GUEST_IDLE_MSR support (Vitaly Kuznetsov) [1663292 1669989] - [x86] hv: vmbus: Make TLFS #define names architecture neutral (Vitaly Kuznetsov) [1663292 1669989] - [x86] hyperv: Add interrupt handler annotations (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Refactor hv_irq_unmask() to use cpumask_to_vpset() (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Replace hv_vp_set with hv_vpset (Vitaly Kuznetsov) [1663292 1669989] - [pci] hv: Add __aligned(8) to struct retarget_msi_interrupt (Vitaly Kuznetsov) [1663292 1669989] - [vfio] vfio-pci/nvlink2: Fix ancient gcc warnings (Sam Bobroff) [1524679] - [vfio] vfio/pci: Cleanup license mess (Sam Bobroff) [1524679] - [vfio] vfio/pci: set TRACE_INCLUDE_PATH to fix the build error (Sam Bobroff) [1524679] - [vfio] vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver (Sam Bobroff) [1524679] - [vfio] vfio_pci: Allow regions to add own capabilities (Sam Bobroff) [1524679] - [vfio] vfio_pci: Allow mapping extra regions (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Fault user page into the hypervisor's pagetable (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Check mmio_atsd array bounds when populating (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Add release_ownership hook (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Add compound IOMMU groups (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Convert NPU IOMMU helpers to iommu_table_group_ops (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Move single TVE handling to NPU PE (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv: Reference iommu_table while it is linked to a group (Sam Bobroff) [1524679] - [powerpc] powerpc/iommu_api: Move IOMMU groups setup to a single place (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/pseries: Rework device adding to IOMMU groups (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries: Remove IOMMU API support for non-LPAR systems (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries/npu: Enable platform support (Sam Bobroff) [1524679] - [powerpc] powerpc/pseries/iommu: Use memory@ nodes in max RAM address calculation (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/npu: Move OPAL calls away from context manipulation (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv: Move npu struct from pnv_phb to pci_controller (Sam Bobroff) [1524679] - [powerpc] powerpc/vfio/iommu/kvm: Do not pin device memory (Sam Bobroff) [1524679] - [vfio] powerpc/mm/iommu/vfio_spapr_tce: Change mm_iommu_get to reference a region (Sam Bobroff) [1524679] - [powerpc] powerpc/ioda/npu: Call skiboot's hot reset hook when disabling NPU2 (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace addresses on demand (Sam Bobroff) [1524679] - [powerpc] powerpc/powernv/ioda1: Remove dead code for a single device PE (Sam Bobroff) [1524679] - [rpmspec] redhat: add TC selftests to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: add net selftests to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: add pktgen samples to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: rename bpf_samples to kernel-selftests-internal (Ivan Vecera) [1691376] - [rpmspec] redhat: remove bpf_samples dependency on glibc-static and build it by default (Ivan Vecera) [1691376] - [tools] selftests: bpf: modify urandom_read and link it non-statically (Ivan Vecera) [1691376]- [netdrv] ibmvnic: Fix netdev feature clobbering during a reset (Steve Best) [1699018] - [netdrv] ibmvnic: Enable GRO (Steve Best) [1699018] - [x86] x86/perf/amd: Remove need to check "running" bit in NMI handler (David Arcari) [1640238] - [x86] x86/perf/amd: Resolve NMI latency issues for active PMCs (David Arcari) [1640238] - [x86] x86/perf/amd: Resolve race condition when disabling PMC (David Arcari) [1640238] - [netdrv] qed: Fix qed_mcp_halt|resume() (Manish Chopra) [1697310]- [x86] x86/kexec: Fix a kexec_file_load() failure (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: include linux/vmalloc.h (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: handle empty command-line (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: return successfully even if kaslr-seed doesn't exist (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: Refactor setup_dtb() to consolidate error checking (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: add kaslr support (Bhupesh Sharma) [1666078] - [char] random: Make crng state queryable (Bhupesh Sharma) [1666078] - [include] include: pe.h: remove message[] from mz header definition (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: invoke the kernel without purgatory (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: allow for loading Image-format kernel (Bhupesh Sharma) [1666078] - [arm64] arm64: kexec_file: load initrd and device-tree (Bhupesh Sharma) [1666078] - [arm64] arm64: enable KEXEC_FILE config (Bhupesh Sharma) [1666078] - [arm64] arm64: cpufeature: add MMFR0 helper functions (Bhupesh Sharma) [1666078] - [arm64] arm64: add image head flag definitions (Bhupesh Sharma) [1666078] - [kernel] kexec_file: kexec_walk_memblock() only walks a dedicated region at kdump (Bhupesh Sharma) [1666078] - [kernel] powerpc, kexec_file: factor out memblock-based arch_kexec_walk_mem() (Bhupesh Sharma) [1666078] - [kernel] s390, kexec_file: drop arch_kexec_mem_walk() (Bhupesh Sharma) [1666078] - [kernel] kexec_file: make kexec_image_post_load_cleanup_default() global (Bhupesh Sharma) [1666078] - [include] asm-generic: add kexec_file_load system call to unistd.h (Bhupesh Sharma) [1666078] - [include] asm-generic: unistd.h: Wire up sys_rseq (Bhupesh Sharma) [1666078] - [fs] xfs: don't overflow xattr listent buffer (Bill O'Donnell) [1683531] - [drm] drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list (Paul Lai) [1651589] - [fs] copy_mount_string: Limit string length to PATH_MAX (Miklos Szeredi) [1655272] - [include] redhat: Reuse other arch's cpuhp_state to protect kABI (Robert Richter) [1658476] - [drivers] drivers/perf: Add Cavium ThunderX2 SoC UNCORE PMU driver (Robert Richter) [1658476] - [documentation] Documentation: perf: Add documentation for ThunderX2 PMU uncore driver (Robert Richter) [1658476]- [arm64] arm64: apply workaround on A64FX v1r0 (Mark Langsdorf) [1692306] - [fs] kernfs: fix xattr name handling in LSM helpers (Ondrej Mosnacek) [1558179] - [include] LSM: lsm_hooks.h - fix missing colon in docstring (Ondrej Mosnacek) [1558179] - [security] selinux: Make selinux_kernfs_init_security static (Ondrej Mosnacek) [1558179] - [fs] kernfs: initialize security of newly created nodes (Ondrej Mosnacek) [1558179] - [security] selinux: implement the kernfs_init_security hook (Ondrej Mosnacek) [1558179] - [include] LSM: add new hook for kernfs node initialization (Ondrej Mosnacek) [1558179] - [fs] kernfs: use simple_xattrs for security attributes (Ondrej Mosnacek) [1558179] - [security] selinux: try security xattr after genfs for kernfs filesystems (Ondrej Mosnacek) [1558179] - [fs] kernfs: do not alloc iattrs in kernfs_xattr_get (Ondrej Mosnacek) [1558179] - [fs] kernfs: clean up struct kernfs_iattrs (Ondrej Mosnacek) [1558179] - [fs] kernfs: allow creating kernfs objects with arbitrary uid/gid (Ondrej Mosnacek) [1558179] - [tools] tools/power turbostat: Add Icelake support (Steve Best) [1698546] - [tools] tools/power turbostat: consolidate duplicate model numbers (Steve Best) [1698546] - [mm] s390/mm: silence compiler warning when compiling without CONFIG_PGSTE (Thomas Huth) [1698848] - [scripts] unifdef: use memcpy instead of strncpy (Thomas Huth) [1698848] - [s390] s390: align struct lowcore to double page size (Thomas Huth) [1698848] - [powerpc] KVM: PPC: Book3S HV: Perserve PSSCR FAKE_SUSPEND bit on guest exit (Suraj Jitindar Singh) [1689768]- [virtio] virtio: Honour 'may_reduce_num' in vring_create_virtqueue (Cornelia Huck) [1697505] - [s390] setup: set control program code via diag 318 (Thomas Huth) [1592336] - [s390] kvm: s390: set host program identifier (Thomas Huth) [1592336] - [edac] EDAC, skx: Fix randconfig builds in a better way (Aristeu Rozanski) [1501612 1649988 1571534] - [edac] EDAC, skx: Fix randconfig builds (Aristeu Rozanski) [1501612 1649988 1571534] - [edac] EDAC, skx_edac: Add address translation for non-volatile DIMMs (Aristeu Rozanski) [1501612 1649988 1571534] - [acpi] ACPI/ADXL: Add address translation interface using an ACPI DSM (Aristeu Rozanski) [1501612 1649988 1571534] - [x86] x86/mce: Add macros for the corrected error count bit field (Aristeu Rozanski) [1501612 1649988 1571534] - [x86] x86/mce: Use BIT_ULL(x) for bit mask definitions (Aristeu Rozanski) [1501612 1649988 1571534] - [crypto] crypto: ecc - regularize scalar for scalar multiplication (Neil Horman) [1687888] - [crypto] crypto: ecc - check for invalid values in the key verification test (Neil Horman) [1687888] - [crypto] crypto: dh - make crypto_dh_encode_key() make robust (Neil Horman) [1687888] - [crypto] crypto: dh - fix calculating encoded key size (Neil Horman) [1687888] - [crypto] crypto: ecdh - fix typo of P-192 b value (Neil Horman) [1687888] - [crypto] crypto: ecdh - add public key verification test (Neil Horman) [1687888] - [crypto] crypto: dh - fix memory leak (Neil Horman) [1687888] - [crypto] crypto: dh - add public key verification test (Neil Horman) [1687888] - [scsi] scsi: hisi_sas: Add softreset in hisi_sas_I_T_nexus_reset() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of HiLink (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP target port (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Set PHY linkrate when disconnected (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Change return variable type in phy_up_v3_hw() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: fix calls to dma_set_mask_and_coherent() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Do some more tidy-up (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Use pci_irq_get_affinity() for v3 hw as experimental (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Issue internal abort on all relevant queues (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: change queue depth from 512 to 4096 (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add manual trigger for debugfs dump (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for DIX feature for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add missing seq_printf() call in hisi_sas_show_row_32() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix to only call scsi_get_prot_op() for non-NULL scsi_cmnd (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Some misc tidy-up (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Correct memory allocation size for DQ debugfs (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix losing directly attached disk when hot-plug (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Reject setting programmed minimum linkrate > 1.5G (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Remove unused parameter of function hisi_sas_alloc() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: remove the check of sas_dev status in hisi_sas_I_T_nexus_reset() (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: send primitive NOTIFY to SSP situation only (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs ITCT file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix type casting and missing static qualifier in debugfs code (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: No need to check return value of debugfs_create functions (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Set protection parameters prior to adding SCSI host (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs IOST file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs DQ file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs CQ file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add debugfs for port registers (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Debugfs global register create file and add file operations (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Take debugfs snapshot for all regs (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Alloc debugfs snapshot buffer memory for all registers (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Create root and device debugfs directories (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for DIF feature for v2 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Make sg_tablesize consistent value (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Relocate some code to reduce complexity (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix warnings detected by sparse (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: change the time of SAS SSP connection (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Relocate some codes to avoid an unused check (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for interrupt coalescing for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Add support for interrupt converge for v3 hw (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Create separate host attributes per HBA (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: use dma_set_mask_and_coherent (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Remove set but not used variable 'dq_list' (Xiaojun Tan) [1662038] - [scsi] scsi: hisi_sas: Fix NULL pointer dereference (Xiaojun Tan) [1662038] - [nvme] nvme-pci: add missing unlock for reset error (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix rapid add remove sequence (Gopal Tiwari) [1665354] - [nvme] nvme: remove the .stop_ctrl callout (Gopal Tiwari) [1665354] - [nvme] nvme: add support for the Write Zeroes command (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: fix null dereference under heavy load (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: fix timeout handler (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix timeout handler (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: fix uninitialized variable access (Gopal Tiwari) [1665354] - [nvme] nvme: don't initlialize ctrl->cntlid twice (Gopal Tiwari) [1665354] - [nvme] nvme: introduce NVME_QUIRK_IGNORE_DEV_SUBNQN (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: remove dead code (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: don't ask if controller is fabrics (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: unset write/poll queues for discovery controllers (Gopal Tiwari) [1665354] - [nvme] nvme: pad fake subsys NQN vid and ssvid with zeros (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix out of bounds access in nvme_cqe_pending (Gopal Tiwari) [1665354] - [nvme] nvme-pci: use the same attributes when freeing host_mem_desc_bufs. (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix the wrong setting of nr_maps (Gopal Tiwari) [1665354] - [nvme] nvme-pci: rerun irq setup on IO queue init errors (Gopal Tiwari) [1665354] - [nvme] nvme-pci: trace SQ status on completions (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user to pass in nr_poll_queues (Gopal Tiwari) [1665354] - [nvme] nvme-core: optionally poll sync commands (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix spelling mistake "attepmpt" -> "attempt" (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: fix endianess annotations (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: fix endianess annotations (Gopal Tiwari) [1665354] - [nvme] nvme-pci: refactor nvme_poll_irqdisable to make sparse happy (Gopal Tiwari) [1665354] - [nvme] nvme-pci: only set nr_maps to 2 if poll queues are supported (Gopal Tiwari) [1665354] - [nvme] nvmet: use a macro for default error location (Gopal Tiwari) [1665354] - [nvme] nvmet: fix comparison of a u16 with -1 (Gopal Tiwari) [1665354] - [nvme] nvme: fix kernel paging oops (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: support separate queue maps for read and write (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: support separate queue maps for read and write (Gopal Tiwari) [1665354] - [include] block: make request_to_qc_t public (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user to set nr_write_queues for separate queue maps (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: add missing nvmf_ctrl_options documentation (Gopal Tiwari) [1665354] - [nvme] blk-mq-rdma: pass in queue map to blk_mq_rdma_map_queues (Gopal Tiwari) [1665354] - [nvme] nvmet: update smart log with num err log entries (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for file backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log page cmd handler (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for bdev backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for admin-cmd (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for fabrics-cmd (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support for rdma backend (Gopal Tiwari) [1665354] - [nvme] nvmet: add error log support in the core (Gopal Tiwari) [1665354] - [nvme] nvmet: add interface to update error-log page (Gopal Tiwari) [1665354] - [include] nvme: add error log page slot definition (Gopal Tiwari) [1665354] - [nvme] nvmet: add error-log definitions (Gopal Tiwari) [1665354] - [nvme] nvme: remove nvme_common command cdw10 array (Gopal Tiwari) [1665354] - [nvme] nvme: provide fallback for discard alloc failure (Gopal Tiwari) [1665354] - [nvme] nvmet: remove unused variable (Gopal Tiwari) [1665354] - [nvme] nvme: add __exit annotation (Gopal Tiwari) [1665354] - [nvme] nvmet: allow configfs tcp trtype configuration (Gopal Tiwari) [1665354] - [nvme] nvme-tcp: add NVMe over TCP host driver (Gopal Tiwari) [1665354] - [nvme] nvmet-tcp: add NVMe over TCP target driver (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user passing data digest (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: allow user passing header digest (Gopal Tiwari) [1665354] - [nvme] nvmet: Add install_queue callout (Gopal Tiwari) [1665354] - [nvme] nvmet: use unlikely for req status check (Gopal Tiwari) [1665354] - [include] nvme-tcp: Add protocol header (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: Add unlikely for response allocated check (Gopal Tiwari) [1665354] - [nvme] nvmet: fix the structure member indentation (Gopal Tiwari) [1665354] - [nvme] nvme: implement Enhanced Command Retry (Gopal Tiwari) [1665354] - [nvme] nvme: remove unused function nvme_ctrl_ready (Gopal Tiwari) [1665354] - [nvme] nvmet: support fabrics sq flow control (Gopal Tiwari) [1665354] - [nvme] nvmet: enable Discovery Controller AENs (Gopal Tiwari) [1665354] - [nvme] nvmet: expose support for fabrics SQ flow control disable in treq (Gopal Tiwari) [1665354] - [nvme] nvme: disable fabrics SQ flow control when asked by the user (Gopal Tiwari) [1665354] - [nvme] nvmet-fc: remove the IN_ISR deferred scheduling options (Gopal Tiwari) [1665354] - [nvme] nvme: Remove unused forward declaration (Gopal Tiwari) [1665354] - [nvme] nvmet: allow host connect even if no allowed subsystems are exported (Gopal Tiwari) [1665354] - [nvme] nvmet: don't override treq upon modification. (Gopal Tiwari) [1665354] - [nvme] nvmet: mark nvmet_genctr static (Gopal Tiwari) [1665354] - [nvme] nvmet: add defines for discovery change async events (Gopal Tiwari) [1665354] - [nvme] nvmet: support for traffic based keep-alive (Gopal Tiwari) [1665354] - [nvme] nvmet: make kato and AEN processing for use by other controllers (Gopal Tiwari) [1665354] - [nvme] nvmet: change aen mask functions to use bit numbers (Gopal Tiwari) [1665354] - [nvme] nvmet: provide aen bit functions for multiple controller types (Gopal Tiwari) [1665354] - [nvme] nvmet: add support to Discovery controllers for commands (Gopal Tiwari) [1665354] - [nvme] nvmet: use IOCB_NOWAIT for file-ns buffered I/O (Gopal Tiwari) [1665354] - [nvme] nvmet: allow Keep Alive for Discovery controller (Gopal Tiwari) [1665354] - [nvme] nvme: support traffic based keep-alive (Gopal Tiwari) [1665354] - [nvme] nvme: cache controller attributes (Gopal Tiwari) [1665354] - [nvme] nvme: introduce ctrl attributes enumeration (Gopal Tiwari) [1665354] - [nvme] nvme: consolidate memset calls in the nvme_setup_cmd path (Gopal Tiwari) [1665354] - [nvme] nvme: warn when finding multi-port subsystems without multipathing enabled (Gopal Tiwari) [1665354] - [nvme] Revert "nvmet-rdma: use a private workqueue for delete" (Gopal Tiwari) [1665354] - [nvme] nvme-fabrics: move controller options matching to fabrics (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: always have a valid trsvcid (Gopal Tiwari) [1665354] - [nvme] nvme-pci: remove duplicate check (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix hot removal during error handling (Gopal Tiwari) [1665354] - [nvme] nvmet-fcloop: suppress a compiler warning (Gopal Tiwari) [1665354] - [nvme] nvme-core: make implicit seed truncation explicit (Gopal Tiwari) [1665354] - [nvme] nvmet-fc: fix kernel-doc headers (Gopal Tiwari) [1665354] - [nvme] nvmet: avoid integer overflow in the discard code (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: declare local symbols static (Gopal Tiwari) [1665354] - [nvme] nvmet: use strlcpy() instead of strcpy() (Gopal Tiwari) [1665354] - [nvme] nvme-pci: fix nvme_suspend_queue() kernel-doc header (Gopal Tiwari) [1665354] - [nvme] nvme-core: declare local symbols static (Gopal Tiwari) [1665354] - [nvme] nvme-core: rework a NQN copying operation (Gopal Tiwari) [1665354] - [nvme] nvmet: use strcmp() instead of strncmp() for subsystem lookup (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: check for timeout in nvme_rdma_wait_for_cm() (Gopal Tiwari) [1665354] - [nvme] nvmet: remove unreachable code (Gopal Tiwari) [1665354] - [nvme] nvme: update node paths after adding new path (Gopal Tiwari) [1665354] - [nvme] nvme: remove ns sibling before clearing path (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: use a private workqueue for delete (Gopal Tiwari) [1665354] - [nvme] nvmet: don't split large I/Os unconditionally (Gopal Tiwari) [1665354] - [nvme] nvme-core: add async event trace helper (Gopal Tiwari) [1665354] - [nvme] nvmet_fc: support target port removal with nvmet layer (Gopal Tiwari) [1665354] - [nvme] nvmet: remove redundant module prefix (Gopal Tiwari) [1665354] - [nvme] nvme: fix typo in nvme_identify_ns_descs (Gopal Tiwari) [1665354] - [nvme] nvme: register ns_id attributes as default sysfs groups (Gopal Tiwari) [1665354] - [block] block: genhd: add 'groups' argument to device_add_disk (Gopal Tiwari) [1665354] - [nvme] nvme: count all ANA groups for ANA Log page (Gopal Tiwari) [1665354] - [nvme] nvmet-rdma: fix possible bogus dereference under heavy load (Gopal Tiwari) [1665354] - [nvme] nvmet: free workqueue object if module init fails (Gopal Tiwari) [1665354] - [nvme] nvme-fcloop: Fix dropped LS's to removed target port (Gopal Tiwari) [1665354] - [nvme] nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event (Gopal Tiwari) [1665354] - [nvme] nvmet: add ns write protect support (Gopal Tiwari) [1665354] - [nvme] nvme: set gendisk read only based on nsattr (Gopal Tiwari) [1665354] - [include] nvme.h: add support for ns write protect definitions (Gopal Tiwari) [1665354] - [nvme] nvmet: use Retain Async Event bit to clear AEN (Gopal Tiwari) [1665354] - [nvme] nvmet: support configuring ANA groups (Gopal Tiwari) [1665354] - [nvme] nvmet: add minimal ANA support (Gopal Tiwari) [1665354] - [nvme] nvmet: track and limit the number of namespaces per subsystem (Gopal Tiwari) [1665354] - [nvme] nvmet: keep a port pointer in nvmet_ctrl (Gopal Tiwari) [1665354] - [nvme] nvmet: check fileio lba range access boundaries (Gopal Tiwari) [1665354] - [nvme] nvmet: don't use uuid_le type (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: centralize admin/io queue teardown sequence (Gopal Tiwari) [1665354] - [nvme] nvmet: fix file discard return status (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: centralize controller setup sequence (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: unquiesce queues when deleting the controller (Gopal Tiwari) [1665354] - [nvme] nvme: add disk name to trace events (Gopal Tiwari) [1665354] - [nvme] nvme-rdma: mark expected switch fall-through (Gopal Tiwari) [1665354] - [nvme] nvme: add controller name to trace events (Gopal Tiwari) [1665354] - [nvme] nvme: use hw qid in trace events (Gopal Tiwari) [1665354] - [nvme] nvmet: add buffered I/O support for file backed ns (Gopal Tiwari) [1665354] - [nvme] nvme: move init of keep_alive work item to controller initialization (Gopal Tiwari) [1665354] - [nvme] nvmet: add commands supported and effects log page (Gopal Tiwari) [1665354] - [nvme] lightnvm: limit get chunk meta request size (Gopal Tiwari) [1665354] - [nvme] lightnvm: Remove redundant rq->__data_len initialization (Gopal Tiwari) [1665354] - [block] nbd: restrict use to AF_UNIX sockets (Mike Christie) [1673307] - [block] nbd: don't allow invalid blocksize settings (Mike Christie) [1673307] - [documentation] doc, block, bfq: add information on bfq execution time (Ming Lei) [1686682] - [block] block, bfq: save & resume weight on a queue merge/split (Ming Lei) [1686682] - [block] block, bfq: print SHARED instead of pid for shared queues in logs (Ming Lei) [1686682] - [block] block, bfq: always protect newly-created queues from existing active queues (Ming Lei) [1686682] - [block] block, bfq: do not tag totally seeky queues as soft rt (Ming Lei) [1686682] - [block] block, bfq: do not merge queues on flash storage with queueing (Ming Lei) [1686682] - [block] block, bfq: tune service injection basing on request service times (Ming Lei) [1686682] - [block] block, bfq: do not idle for lowest-weight queues (Ming Lei) [1686682] - [block] block, bfq: increase idling for weight-raised queues (Ming Lei) [1686682] - [block] block/bfq: fix ifdef for CONFIG_BFQ_GROUP_IOSCHED=y (Ming Lei) [1686682] - [block] block, bfq: fix in-service-queue check for queue merging (Ming Lei) [1686682] - [block] block, bfq: do not overcharge writes in asymmetric scenarios (Ming Lei) [1686682] - [block] block, bfq: port commit "cfq-iosched: improve hw_tag detection" (Ming Lei) [1686682] - [block] block, bfq: reduce threshold for detecting command queueing (Ming Lei) [1686682] - [block] block, bfq: fix queue removal from weights tree (Ming Lei) [1686682] - [block] block, bfq: fix sequential rq detection in rate estimation (Ming Lei) [1686682] - [block] block, bfq: unconditionally plug I/O in asymmetric scenarios (Ming Lei) [1686682] - [block] block, bfq: do not plug I/O of in-service queue when harmful (Ming Lei) [1686682] - [block] block, bfq: split function bfq_better_to_idle (Ming Lei) [1686682] - [block] block, bfq: consider also ioprio classes in symmetry detection (Ming Lei) [1686682] - [block] block, bfq: remove case of redirected bic from insert_request (Ming Lei) [1686682] - [block] block, bfq: make sure queue budgets are not below service received (Ming Lei) [1686682] - [block] block, bfq: avoid selecting a queue w/o budget (Ming Lei) [1686682] - [block] block, bfq: do not consider interactive queues in srt filtering (Ming Lei) [1686682] - [net] net: switchdev: Add extack to switchdev_handle_port_obj_add() callback (Ivan Vecera) [1690125] - [net] switchdev: Add extack to struct switchdev_notifier_info (Ivan Vecera) [1690125] - [net] vxlan: Add a function to init switchdev_notifier_vxlan_fdb_info (Ivan Vecera) [1690125] - [net] switchdev: Add extack argument to switchdev_port_obj_add() (Ivan Vecera) [1690125] - [net] bridge: Propagate extack to switchdev (Ivan Vecera) [1690125] - [net] ndo_bridge_setlink: Add extack (Ivan Vecera) [1690125] - [net] rocker, dsa, ethsw: Don't filter VLAN events on bridge itself (Ivan Vecera) [1690125] - [net] switchdev: Replace port obj add/del SDO with a notification (Ivan Vecera) [1690125] - [net] ocelot: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add helpers to aid traversal through lower devices (Ivan Vecera) [1690125] - [net] staging: fsl-dpaa2: ethsw: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] staging: fsl-dpaa2: ethsw: Introduce ethsw_port_dev_check() (Ivan Vecera) [1690125] - [net] dsa: slave: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] rocker: Handle SWITCHDEV_PORT_OBJ_ADD/_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add SWITCHDEV_PORT_OBJ_ADD, SWITCHDEV_PORT_OBJ_DEL (Ivan Vecera) [1690125] - [net] switchdev: Add a blocking notifier chain (Ivan Vecera) [1690125] - [net] switchdev: SWITCHDEV_OBJ_PORT_{VLAN, MDB}(): Sanitize (Ivan Vecera) [1690125] - [net] selftests: forwarding: Fix test for different devices (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add learning test (Ivan Vecera) [1693316] - [net] bridge: Allow querying bridge port flags (Ivan Vecera) [1693316] - [netdrv] vxlan: Allow changing ageing time (Ivan Vecera) [1693316] - [netdrv] vxlan: Add hardware FDB learning (Ivan Vecera) [1693316] - [netdrv] vxlan: Don't override user-added entries with ext-learned ones (Ivan Vecera) [1693316] - [netdrv] vxlan: Mark user-added FDB entries (Ivan Vecera) [1693316] - [netdrv] vxlan: vxlan_fdb_notify(): Make switchdev notification configurable (Ivan Vecera) [1693316] - [netdrv] vxlan: __vxlan_fdb_delete(): Drop unused argument vid (Ivan Vecera) [1693316] - [netdrv] vxlan: support NTF_USE refresh of fdb entries (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d_port_8472: New test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add an ECN decap test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add an ECN encap test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add a TOS test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add a TTL test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Reconfigure & rerun tests (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add unicast test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add flood test (Ivan Vecera) [1693316] - [net] selftests: forwarding: vxlan_bridge_1d: Add ping test (Ivan Vecera) [1693316] - [net] selftests: forwarding: Add a skeleton of vxlan_bridge_1d (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Add link_stats_rx_errors_get() (Ivan Vecera) [1693316] - [net] selftests: forwarding: ping{6, }_do(): Allow passing ping arguments (Ivan Vecera) [1693316] - [net] selftests: forwarding: ping{6, }_test(): Add description argument (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Add in_ns() (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Support NUM_NETIFS of 0 (Ivan Vecera) [1693316] - [net] skb_scrub_packet(): Scrub offload_fwd_mark (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: extract ping and ping6 so they can be reused (Ivan Vecera) [1693316] - [net] selftests: forwarding: README: Require diagrams (Ivan Vecera) [1693316] - [net] selftests: forwarding: lib: Extract interface-init functions (Ivan Vecera) [1693316] - [net] selftests: forwarding: tc_rule_stats_get: Parameterize direction (Ivan Vecera) [1693316] - [net] selftests: forwarding: multipath_eval(): Improve style (Ivan Vecera) [1693316] - [net] selftests: forwarding: Move multipath_eval() to lib.sh (Ivan Vecera) [1693316] - [net] selftests: Add test_vxlan_fdb_changelink.sh (Ivan Vecera) [1690309] - [netdrv] vxlan: changelink: Fix handling of default remotes (Ivan Vecera) [1690309] - [netdrv] vxlan: Fix error path in __vxlan_dev_create() (Ivan Vecera) [1690309] - [netdrv] vxlan: Unmark offloaded bit on replaced FDB entries (Ivan Vecera) [1690309] - [net] bridge: switchdev: Allow clearing FDB entry offload indication (Ivan Vecera) [1690309] - [netdrv] vxlan: Notify for each remote of a removed FDB entry (Ivan Vecera) [1690309] - [netdrv] vxlan: Support marking RDSTs as offloaded (Ivan Vecera) [1690309] - [netdrv] vxlan: Add vxlan_fdb_find_uc() for FDB querying (Ivan Vecera) [1690309] - [netdrv] vxlan: Add switchdev notifications (Ivan Vecera) [1690309] - [netdrv] net: Add netif_is_vxlan() (Ivan Vecera) [1690309] - [net] inet: Refactor INET_ECN_decapsulate() (Ivan Vecera) [1690309] - [netdrv] vxlan: Export address checking functions (Ivan Vecera) [1690309] - [net] vxlan: Remove duplicated include from vxlan.h (Ivan Vecera) [1690309] - [netdrv] geneve: correctly handle ipv6.disable module parameter (Jiri Benc) [1692390] - [net] ipv6: sit: reset ip header pointer in ipip6_rcv (Lorenzo Bianconi) [1691626] - [net] vxlan: Don't call gro_cells_destroy() before device is unregistered (Andrea Claudi) [1692499] - [net] xsk: do not remove umem from netdevice on fall-back to copy-mode (Petr Oros) [1690568] - [net] xsk: Check if a queue exists during umem setup (Petr Oros) [1690568] - [net] xsk: simplify xdp_clear_umem_at_qid implementation (Petr Oros) [1690568] - [net] ethtool: don't allow disabling queues with umem installed (Petr Oros) [1690568] - [net] ethtool: rename local variable max -> curr (Petr Oros) [1690568] - [net] xsk: fix bug when trying to use both copy and zero-copy on one queue id (Petr Oros) [1690568] - [net] add umem reference in netdev{_rx}_queue (Petr Oros) [1690568] - [net] xsk: remove unnecessary assignment (Petr Oros) [1690568] - [net] xsk: fix return value of xdp_umem_assign_dev() (Petr Oros) [1690568] - [net] xsk: don't allow umem replace at stack level (Petr Oros) [1690568] - [net] xsk: refactor xdp_umem_assign_dev() (Petr Oros) [1690568] - [net] update real_num_rx_queues even when !CONFIG_SYSFS (Petr Oros) [1690568] - [net] core: add __netdev_sent_queue as variant of __netdev_tx_sent_queue (Petr Oros) [1690127] - [net] net: do not abort bulk send on BQL status (Petr Oros) [1690129] - [net] net: bql: add __netdev_tx_sent_queue() (Petr Oros) [1690129] - [net] net: ip6_gre: fix possible NULL pointer dereference in ip6erspan_set_version (Lorenzo Bianconi) [1666315] - [net] net: ip6_gre: initialize erspan_ver just for erspan tunnels (Lorenzo Bianconi) [1666315] - [net] net: ip6_gre: always reports o_key to userspace (Lorenzo Bianconi) [1666315] - [net] net: ip_gre: always reports o_key to userspace (Lorenzo Bianconi) [1666315] - [net] tcp: handle inet_csk_reqsk_queue_add() failures (Guillaume Nault) [1690157] - [net] ip_gre: use erspan key field for tunnel lookup (Lorenzo Bianconi) [1664570] - [net] ip6_gre: simplify gre header parsing in ip6gre_err (Lorenzo Bianconi) [1664570] - [net] ipv4: use a dedicated counter for icmp_v4 redirect packets (Lorenzo Bianconi) [1664209] - [net] virtchnl: Fix off by one error (Ivan Vecera) [1690114] - [net] virtchnl: white space and reorder (Ivan Vecera) [1690114] - [net] i40e: Update status codes (Ivan Vecera) [1690114] - [net] ethtool: Add WAKE_FILTER and RX_CLS_FLOW_WAKE (Ivan Vecera) [1690091] - [net] geneve: allow to clear ttl inherit (Hangbin Liu) [1671251] - [net] geneve: add ttl inherit support (Hangbin Liu) [1671251] - [net] tipc: fix a double kfree_skb() (Jon Maloy) [1684290] - [net] vxlan: Fix GRO cells race condition between receive and link delete (Andrea Claudi) [1687046] - [net] sock: consistent handling of extreme SO_SNDBUF/SO_RCVBUF values (Guillaume Nault) [1686564] - [net] tun: implement carrier change (Guillaume Nault) [1686566] - [net] ip6_tunnel: respect ttl inherit for ip6tnl (Hangbin Liu) [1664944] - [net] ip6_gre: update version related info when changing link (Hangbin Liu) [1664900] - [net] ipv4/route: fail early when inet dev is missing (Paolo Abeni) [1685424] - [net] bonding/802.3ad: fix link_failure_count tracking (Matteo Croce) [1657905] - [net] bonding: avoid possible dead-lock (Matteo Croce) [1657905] - [net] bonding: fix length of actor system (Matteo Croce) [1657905] - [net] bonding: fix warning message (Matteo Croce) [1657905] - [net] bonding: pass link-local packets to bonding master also. (Matteo Croce) [1657905]- [infiniband] IB/usnic: fix spelling mistake "unvalid" -> "invalid" (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Get rid of ucontext->tgid (Jonathan Toppins) [1685307] - [infiniband] RDMA/usnic: Do not use ucontext->tgid (Jonathan Toppins) [1685307] - [infiniband] infiniband: remove redundant condition check before debugfs_remove (Jonathan Toppins) [1685307] - [infiniband] RDMA/rdmavt: Fix rvt_create_ah function signature (Jonathan Toppins) [1685307] - [infiniband] RDMA/drivers: Use core provided API for registering device attributes (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Remove unnecessary enum values (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move ruc_loopback to rdmavt (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move send completion logic to rdmavt (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Move copy SGE logic into rdmavt (Jonathan Toppins) [1685307] - [infiniband] RDMA/rxe: Remove unused addr_same() (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: avoid srq memory leak (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: replace kvfree with vfree (Jonathan Toppins) [1685307] - [infiniband] RDMA/drivers: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/drivers: Use dev_err/dbg/etc instead of pr_* + ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] IB/rxe: fixes for rdma read retry (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: avoid back-to-back retries (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Refactor lookup memory function (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Avoid NULL check when search is successful (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Change pool state enums to capital letters (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Replace spinlock with rwlock (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: Simplify rxe_find_route() to avoid GID query for netdev (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: remove redudant qpn check (Jonathan Toppins) [1685307] - [infiniband] IB/rxe: vary the source udp port for receive scaling (Jonathan Toppins) [1685307] - [infiniband] iser: set sector for ambiguous mr status errors (Jonathan Toppins) [1685307] - [net] svcrdma: Remove try_module_get from backchannel (Jonathan Toppins) [1685307] - [net] svcrdma: Remove ->release_rqst call in bc reply handler (Jonathan Toppins) [1685307] - [net] xprtrdma: Clean up xprt_rdma_disconnect_inject (Jonathan Toppins) [1685307] - [net] xprtrdma: Add documenting comments (Jonathan Toppins) [1685307] - [net] xprtrdma: Report when there were zero posted Receives (Jonathan Toppins) [1685307] - [net] xprtrdma: Move rb_flags initialization (Jonathan Toppins) [1685307] - [net] xprtrdma: Don't disable BH's in backchannel server (Jonathan Toppins) [1685307] - [net] xprtrdma: Remove memory address of "ep" from an error message (Jonathan Toppins) [1685307] - [net] xprtrdma: Rename rpcrdma_qp_async_error_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Simplify RPC wake-ups on connect (Jonathan Toppins) [1685307] - [net] xprtrdma: Re-organize the switch() in rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Eliminate "connstate" variable from rpcrdma_conn_upcall() (Jonathan Toppins) [1685307] - [net] xprtrdma: Conventional variable names in rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] xprtrdma: Rename rpcrdma_conn_upcall (Jonathan Toppins) [1685307] - [net] sunrpc: Report connect_time in seconds (Jonathan Toppins) [1685307] - [net] sunrpc: Fix connect metrics (Jonathan Toppins) [1685307] - [net] xprtrdma: Name MR trace events consistently (Jonathan Toppins) [1685307] - [net] xprtrdma: Explicitly resetting MRs is no longer necessary (Jonathan Toppins) [1685307] - [net] xprtrdma: Create more MRs at a time (Jonathan Toppins) [1685307] - [net] xprtrdma: xprt_release_rqst_cong is called outside of transport_lock (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Log sysfs 'dev_id' accesses from userspace (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Use dev_port to expose network interface port numbers (Jonathan Toppins) [1685307] - [infiniband] IB/ipoib: Ensure that MTU isn't less than minimum permitted (Jonathan Toppins) [1685307] - [infiniband] IB/srp: Remove unnecessary unlikely() (Jonathan Toppins) [1685307] - [infiniband] IB/core: Fix oops in netdev_next_upper_dev_rcu() (Jonathan Toppins) [1685307] - [infiniband] IB/umem: Set correct address to the invalidation function (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Add GIDs while changing MAC addr only for registered ndev (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Fix comment for hw stats init for port == 0 (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Refactor ib_register_device() function (Jonathan Toppins) [1685307] - [infiniband] IB/mlx4: Refer to the device kobject instead of ports_parent (Jonathan Toppins) [1685307] - [include] RDMA/core: Allow existing drivers to set one sysfs group per device (Jonathan Toppins) [1685307] - [infiniband] RDMA/umad: Use kernel API to allocate umad indexes (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use kernel API to allocate uverbs indexes (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Increase total number of RDMA ports across all devices (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rename ports_parent to ports_kobj (Jonathan Toppins) [1685307] - [infiniband] RDMA/nldev: Allow IB device rename through RDMA netlink (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Implement IB device rename function (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Annotate timeout as unsigned long (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Align multiple functions to kernel coding style (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Remove unused timeout_ms parameter from cma_resolve_iw_route() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cm: Respect returned status of cm_init_av_by_path (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Protect from reentry to resource return path (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Release task struct which was hold by CM_ID object (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Consolidate task name updates in one place (Jonathan Toppins) [1685307] - [infiniband] RDMA/restrack: Un-inline set task implementation (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu (Jonathan Toppins) [1685307] - [include] IB/mlx4: Avoid implicit enumerated type conversion (Jonathan Toppins) [1685307] - [infiniband] RDMA/netlink: Simplify netlink listener existence check (Jonathan Toppins) [1685307] - [infiniband] RDMA: Remove unused parameter from ib_modify_qp_is_ok() (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Fix RCU annotation for radix slot deference (Jonathan Toppins) [1685307] - [infiniband] RDMA: Fix building with CONFIG_MMU=n (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Introduce and use cma_ib_acquire_dev() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Introduce and use cma_acquire_dev_by_src_ip() (Jonathan Toppins) [1685307] - [infiniband] RDMA/cma: Allow accepting requests for multi port rdma device (Jonathan Toppins) [1685307] - [infiniband] IB/rdmavt: Rename check_send_wqe as setup_wqe (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Acquire and release mmap_sem on page range (Jonathan Toppins) [1685307] - [infiniband] IB/sa: simplify return code logic for ib_nl_send_msg() (Jonathan Toppins) [1685307] - [infiniband] RDMA/ulp: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Use dev_name instead of ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/core: Use dev_err/dbg/etc instead of pr_* + ibdev->name (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA: Fully setup the device name in ib_register_device (Jonathan Toppins) [1685307 1663226] - [infiniband] RDMA/umem: Fix potential addition overflow (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Minor optimizations (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Handle a half-complete start/end sequence (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Get rid of per_mm->notifier_count (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Use umem->owning_mm inside ODP (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Move all the ODP related stuff out of ucontext and into per_mm (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Get rid of struct ib_umem.odp_data (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Do not use current->tgid to track the mm_struct (Jonathan Toppins) [1685307] - [infiniband] RDMA/ucontext: Get rid of the old disassociate flow (Jonathan Toppins) [1685307] - [infiniband] RDMA/ucontext: Add a core API for mmaping driver IO memory (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Fix error unwind in ib_uverbs_add_one (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Properly return the error code of rdma_set_src_addr_rcu (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Remove is_closed from ib_uverbs_file (Jonathan Toppins) [1685307] - [include] IB/rxe: Revise the ib_wr_opcode enum (Jonathan Toppins) [1685307] - [include] RDMA: Remove duplicated include from ib_addr.h (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Consider net ns of gid attribute for RoCE (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Introduce rdma_read_gid_attr_ndev_rcu() to check GID attribute (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Simplify roce_resolve_route_from_path() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Protect against changing dst->dev during destination resolve (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Refer to network type instead of device type (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use common code flow for IPv4/6 for addr resolve (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Introduce and use rdma_set_src_addr() between IPv4 and IPv6 (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Let protocol specific function typecast sockaddr structure (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Avoid unnecessary sa_family overwrite (Jonathan Toppins) [1685307] - [infiniband] RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu (Jonathan Toppins) [1685307] - [infiniband] IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Move flow resources initialization (Jonathan Toppins) [1685307] - [infiniband] IB/uverbs: Add IDRs array attribute type to ioctl() interface (Jonathan Toppins) [1685307] - [include] RDMA/core: Document QP @event_handler function (Jonathan Toppins) [1685307] - [include] RDMA/core: Document CM @event_handler function (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Assign device ifindex before publishing the device (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Follow correct unregister order between sysfs and cgroup (Jonathan Toppins) [1685307] - [infiniband] RDMA/umem: Restore lockdep check while downgrading lock (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Define client_data_lock as rwlock instead of spinlock (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use simpler spin lock irq API from blocking context (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Remove context entries from list while unregistering device (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Use simplified list_for_each (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: No need to protect kfree with spin lock and semaphore (Jonathan Toppins) [1685307] - [infiniband] RDMA/{cma, core}: Avoid callback on rdma_addr_cancel() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Rate limit MAD error messages (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Fail early if unsupported QP is provided (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use device.groups to initialize device attributes (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Use cdev_device_add() instead of cdev_add() (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Depend on device_add() to add device attributes (Jonathan Toppins) [1685307] - [infiniband] RDMA/core: Replace open-coded variant of get_device (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Declare closing variable as boolean (Jonathan Toppins) [1685307] - [infiniband] IB/core: Add an unbound WQ type to the new CQ API (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Add generic function to fill in flow action object (Jonathan Toppins) [1685307] - [infiniband] RDMA/uverbs: Add UVERBS_ATTR_CONST_IN to the specs language (Jonathan Toppins) [1685307] - [netdrv] ibmvnic: Fix completion structure initialization (Steve Best) [1697103] - [rpmspec] redhat: limit headers_install_all to arches we care about (Denys Vlasenko) [1692404] - [lib] ida: Add new API (Jonathan Toppins) [1697588] - [edac] EDAC: Drop per-memory controller buses (Frank Ramsay) [1686477] - [edac] EDAC: Don't add devices under /sys/bus/edac (Frank Ramsay) [1686477] - [x86] x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls (Frank Ramsay) [1677695]- [pci] PCI: pciehp: Fix re-enabling the slot marked for safe removal (Myron Stowe) [1695922] - [rpmspec] redhat: Enable gdb_index (Juri Lelli) [1696747] - [fs] ovl: Do not lose security.capability xattr over metadata file copy-up (Vivek Goyal) [1694757] - [fs] ovl: During copy up, first copy up data and then xattrs (Vivek Goyal) [1694757]- [netdrv] mark the intel igc driver as tech preview (David Arcari) [1495358] - [netdrv] igc: Remove unneeded hw_dbg prints (David Arcari) [1495358] - [netdrv] igc: Fix the typo in igc_base.h header definition (David Arcari) [1495358] - [netdrv] igc: Add support for the ntuple feature (David Arcari) [1495358] - [netdrv] igc: Add support for statistics (David Arcari) [1495358] - [netdrv] igc: Extend the ethtool supporting (David Arcari) [1495358] - [netdrv] igc: Add multiple receive queues control supporting (David Arcari) [1495358] - [netdrv] igc: Use struct_size() helper (David Arcari) [1495358] - [netdrv] igc: Add ethtool support (David Arcari) [1495358] - [netdrv] igc: Remove the 'igc_get_phy_id_base' method (David Arcari) [1495358] - [netdrv] igc: Remove the 'igc_read_mac_addr_base' method (David Arcari) [1495358] - [netdrv] igc: Remove unneeded code (David Arcari) [1495358] - [netdrv] igc: Remove unused code (David Arcari) [1495358] - [netdrv] igc: Fix code redundancy (David Arcari) [1495358] - [netdrv] igc: Remove unreachable code from igc_phy.c file (David Arcari) [1495358] - [netdrv] igc: Remove obsolete IGC_ERR define (David Arcari) [1495358] - [netdrv] ethernet/intel: consolidate NAPI and NAPI exit (David Arcari) [1495358] - [netdrv] igc: Clean up code (David Arcari) [1495358] - [netdrv] igc: Tidy up some white space (David Arcari) [1495358] - [netdrv] igc: fix error return handling from call to netif_set_real_num_tx_queues (David Arcari) [1495358] - [netdrv] igc: Remove set but not used variable 'pci_using_dac' (David Arcari) [1495358] - [netdrv] igc: Remove set but not used variables 'ctrl_ext, link_mode' (David Arcari) [1495358] - [netdrv] intel-ethernet: software timestamp skbs as late as possible (David Arcari) [1495358] - [netdrv] igc: Add watchdog (David Arcari) [1495358] - [netdrv] igc: Add setup link functionality (David Arcari) [1495358] - [netdrv] igc: Add code for PHY support (David Arcari) [1495358] - [netdrv] igc: Add NVM support (David Arcari) [1495358] - [netdrv] igc: Add HW initialization code (David Arcari) [1495358] - [netdrv] igc: Add transmit and receive fastpath and interrupt handlers (David Arcari) [1495358] - [netdrv] igc: Add support for Tx/Rx rings (David Arcari) [1495358] - [netdrv] igc: Add interrupt support (David Arcari) [1495358] - [netdrv] igc: Add netdev (David Arcari) [1495358] - [netdrv] igc: Add support for PF (David Arcari) [1495358] - [netdrv] igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support (David Arcari) [1495358] - [s390] virtio-ccw: wire up ->bus_name callback (Cornelia Huck) [1695630] - [s390] s390/virtio: handle find on invalid queue gracefully (Cornelia Huck) [1695630] - [s390] virtio/s390: fix race in ccw_io_helper() (Cornelia Huck) [1695630] - [s390] virtio/s390: avoid race on vcdev->config (Cornelia Huck) [1695630] - [kvm] KVM: s390: make bitmap declaration consistent (Thomas Huth) [1695090] - [kvm] KVM: s390: drop obsolete else path (Thomas Huth) [1695090] - [kvm] KVM: s390: clarify kvm related kernel message (Thomas Huth) [1695090] - [kvm] s390: vsie: Use effective CRYCBD.31 to check CRYCBD validity (Thomas Huth) [1695090] - [kvm] KVM: s390: fix kmsg component kvm-s390 (Thomas Huth) [1695090] - [kvm] KVM: s390: unregister debug feature on failing arch init (Thomas Huth) [1695090] - [kvm] KVM: s390/vsie: avoid sparse warning (Thomas Huth) [1695090]- [powerpc] powerpc: use mm zones more sensibly (David Gibson) [1654978] - [s390] s390/mem_detect: add missing include (Philipp Rudo) [1695615] - [s390] s390: avoid vmlinux segments overlap (Philipp Rudo) [1695615] - [s390] s390/decompressor: add missing FORCE to build targets (Philipp Rudo) [1695615] - [s390] s390: move ipl block and cmd line handling to early boot phase (Philipp Rudo) [1695615] - [s390] s390/sclp: introduce sclp_early_get_hsa_size (Philipp Rudo) [1695615] - [s390] s390/mem_detect: add info source debug print (Philipp Rudo) [1695615] - [s390] s390/mem_detect: replace tprot loop with binary search (Philipp Rudo) [1695615] - [s390] s390/mem_detect: use SCLP info for continuous memory detection (Philipp Rudo) [1695615] - [s390] s390/mem_detect: introduce z/VM specific diag260 call (Philipp Rudo) [1695615] - [s390] s390/mem_detect: introduce SCLP storage info (Philipp Rudo) [1695615] - [s390] s390: introduce .boot.data section compile time validation (Philipp Rudo) [1695615] - [s390] s390/mem_detect: move tprot loop to early boot phase (Philipp Rudo) [1695615] - [s390] s390/sclp: move sclp_early_read_info to sclp_early_core.c (Philipp Rudo) [1695615] - [s390] s390: introduce .boot.data section (Philipp Rudo) [1695615] - [s390] s390/decompressor: clean up and rename compressed/misc.c (Philipp Rudo) [1695615] - [s390] s390: rescue initrd as early as possible (Philipp Rudo) [1695615] - [s390] s390/sclp: simplify early hsa_size detection (Philipp Rudo) [1695615] - [s390] s390/decompressor: get rid of .bss usage (Philipp Rudo) [1695615] - [s390] s390/decompressor: rework uncompressed image info collection (Philipp Rudo) [1695615] - [s390] s390: remove decompressor's head.S (Philipp Rudo) [1695615] - [s390] s390: clean up stacks setup (Philipp Rudo) [1695615] - [s390] s390: add initial 64-bit restart PSW (Philipp Rudo) [1695615] - [s390] s390/hibernate: fix error handling when suspend cpu != resume cpu (Philipp Rudo) [1695615] - [s390] s390/decompressor: support extra debug flags (Philipp Rudo) [1695615] - [s390] s390/build: add *.o.chkbss files to targets list (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid packing *.o.chkbss files into startup.a (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid constant startup.a rebuilds (Philipp Rudo) [1695615] - [s390] s390/boot: block uncompressed vmlinux booting attempts (Philipp Rudo) [1695615] - [s390] s390/decompressor: correct EXCLUDE_FILE construct (Philipp Rudo) [1695615] - [s390] s390: move _text to an actual .text start (Philipp Rudo) [1695615] - [s390] s390: correct _stext offset (Philipp Rudo) [1695615] - [s390] s390: get rid of the first mb of uncompressed image (Philipp Rudo) [1695615] - [s390] s390: remove unused _ehead symbol (Philipp Rudo) [1695615] - [s390] s390: put expoline execute-trampolines into .text section (Philipp Rudo) [1695615] - [s390] s390/decompressor: discard ___kcrctab section (Philipp Rudo) [1695615] - [s390] s390/setup: do not reserve the decompressor code (Philipp Rudo) [1695615] - [s390] s390/decompressor: support uncompressed kernel (Philipp Rudo) [1695615] - [init] init/Kconfig: add an option for uncompressed kernel (Philipp Rudo) [1695615] - [s390] s390/decompressor: allow to pack uncompressed vmlinux.bin into piggy.o (Philipp Rudo) [1695615] - [s390] s390/decompressor: allow preprocessor in piggy.o linker script (Philipp Rudo) [1695615] - [s390] s390/decompressor: extend .bss check for early code (Philipp Rudo) [1695615] - [s390] s390: add custom target and make path extension optional for .bss check (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid repeating objects list in Makefile (Philipp Rudo) [1695615] - [s390] s390/decompressor: reuse lib/mem.S for mem functions (Philipp Rudo) [1695615] - [s390] s390/decompressor: avoid reusing uncompressed image objects (Philipp Rudo) [1695615] - [s390] s390/als: avoid .init.* sections usage (Philipp Rudo) [1695615] - [s390] s390/decompressor: rename entry point to startup_decompressor (Philipp Rudo) [1695615] - [s390] s390/boot: make head.S and als.c be part of the decompressor only (Philipp Rudo) [1695615] - [s390] s390/decompressor: trim the kernel image up to 1M (Philipp Rudo) [1695615] - [s390] s390: remove uncompressed kernel image build (Philipp Rudo) [1695615] - [s390] s390/decompressor: correct build flags (Philipp Rudo) [1695615] - [s390] s390/build: remove obsolete -mkernel-backchain flag (Philipp Rudo) [1695615] - [tools] tools/power turbostat: return the exit status of a command (David Arcari) [1642739] - [misc] misc: hpilo: Do not claim unsupported hardware (Joseph Szczypek) [1665635] - [misc] misc: hpilo: Exclude unsupported device via blacklist (Joseph Szczypek) [1665635]- [fs] xfs: set buffer ops when repair probes for btree type (Bill O'Donnell) [1689281] - [fs] xfs: end sync buffer I/O properly on shutdown error (Bill O'Donnell) [1689281] - [fs] xfs: xfs_fsops: drop useless LIST_HEAD (Bill O'Donnell) [1689281] - [fs] xfs: xfs_buf: drop useless LIST_HEAD (Bill O'Donnell) [1689281] - [fs] iomap: fix a use after free in iomap_dio_rw (Bill O'Donnell) [1689281] - [fs] xfs: reallocate realtime summary cache on growfs (Bill O'Donnell) [1689281] - [fs] xfs: stringify scrub types in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: stringify btree cursor types in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: move XFS_INODE_FORMAT_STR mappings to libxfs (Bill O'Donnell) [1689281] - [fs] xfs: move XFS_AG_BTREE_CMP_FORMAT_STR mappings to libxfs (Bill O'Donnell) [1689281] - [fs] xfs: fix symbolic enum printing in ftrace output (Bill O'Donnell) [1689281] - [fs] xfs: fix function pointer type in ftrace format (Bill O'Donnell) [1689281] - [fs] xfs: Fix x32 ioctls when cmd numbers differ from ia32. (Bill O'Donnell) [1689281] - [fs] xfs: Fix bulkstat compat ioctls on x32 userspace. (Bill O'Donnell) [1689281] - [fs] xfs: Align compat attrlist_by_handle with native implementation. (Bill O'Donnell) [1689281] - [fs] xfs: require both realtime inodes to mount (Bill O'Donnell) [1689281] - [fs] xfs: cache minimum realtime summary level (Bill O'Donnell) [1689281] - [fs] xfs: count inode blocks correctly in inobt scrub (Bill O'Donnell) [1689281] - [fs] xfs: precalculate cluster alignment in inodes and blocks (Bill O'Donnell) [1689281] - [fs] xfs: precalculate inodes and blocks per inode cluster (Bill O'Donnell) [1689281] - [fs] xfs: add a block to inode count converter (Bill O'Donnell) [1689281] - [fs] xfs: remove xfs_rmap_ag_owner and friends (Bill O'Donnell) [1689281] - [fs] xfs: const-ify xfs_owner_info arguments (Bill O'Donnell) [1689281] - [fs] xfs: streamline defer op type handling (Bill O'Donnell) [1689281] - [fs] xfs: idiotproof defer op type configuration (Bill O'Donnell) [1689281] - [fs] xfs: clean up indentation issues, remove an unwanted space (Bill O'Donnell) [1689281] - [fs] xfs: libxfs: move xfs_perag_put late (Bill O'Donnell) [1689281] - [fs] xfs: split up the xfs_reflink_end_cow work into smaller transactions (Bill O'Donnell) [1689281] - [crypto] crypto: testmgr - add AES-CFB tests (Neil Horman) [1687897] - [scsi] scsi: iscsi: flush running unbind operations when removing a session (Maurizio Lombardi) [1695007] - [crypto] crypto: vmx - fix copy-paste error in CTR mode (Herbert Xu) [1693350] - [rpmspec] Fix cross builds (Jiri Olsa) [1694956] - [lib] sbitmap: order READ/WRITE freed instance and setting clear bit (Ming Lei) [1694521] - [block] blk-mq: fix sbitmap ws_active for shared tags (Ming Lei) [1694521] - [block] blk-mq: update comment for blk_mq_hctx_has_pending() (Ming Lei) [1694521] - [block] blk-mq: use blk_mq_put_driver_tag() to put tag (Ming Lei) [1694521] - [include] sbitmap: trivial - update comment for sbitmap_deferred_clear_bit (Ming Lei) [1694521] - [block] blkcg: Fix kernel-doc warnings (Ming Lei) [1694521] - [block] block: Unexport blk_mq_add_to_requeue_list() (Ming Lei) [1694521] - [block] block: add BLK_MQ_POLL_CLASSIC for hybrid poll and return EINVAL for unexpected value (Ming Lei) [1694521] - [include] blk-mq: remove unused 'nr_expired' from blk_mq_hw_ctx (Ming Lei) [1694521] - [block] loop: access lo_backing_file only when the loop device is Lo_bound (Ming Lei) [1694521] - [block] blk-mq: use blk_mq_sched_mark_restart_hctx to set RESTART (Ming Lei) [1694521] - [kernel] blkcg: annotate implicit fall through (Ming Lei) [1694521] - [block] block: Replace function name in string with __func__ (Ming Lei) [1694521] - [block] block: fix NULL pointer dereference in register_disk (Ming Lei) [1694521] - [fs] fs: fix guard_bio_eod to check for real EOD errors (Ming Lei) [1694521] - [block] blk-mq: use HCTX_TYPE_DEFAULT but not 0 to index blk_mq_tag_set->map (Ming Lei) [1694521] - [include] block: remove bvec_iter_rewind() (Ming Lei) [1694521] - [block] block: don't use bio->bi_vcnt to figure out segment number (Ming Lei) [1694521] - [fs] btrfs: look at bi_size for repair decisions (Ming Lei) [1694521] - [block] block: avoid setting none scheduler if it's already none (Ming Lei) [1694521] - [block] block: avoid setting wbt_lat_usec to current value (Ming Lei) [1694521] - [block] blk-sysfs: Rework documention of __blk_release_queue (Ming Lei) [1694521] - [block] blk-cgroup: Fix doc related to blkcg_exit_queue (Ming Lei) [1694521] - [block] block: kill QUEUE_FLAG_FLUSH_NQ (Ming Lei) [1694521] - [block] block: avoid setting nr_requests to current value (Ming Lei) [1694521] - [block] blk-mq: save default hctx into ctx->hctxs for not-supported type (Ming Lei) [1694521] - [block] blk-mq: save queue mapping result into ctx directly (Ming Lei) [1694521] - [block] block: mq-deadline: Fix write completion handling (Ming Lei) [1694521] - [crypto] crypto: user - fix leaking uninitialized memory to userspace (Herbert Xu) [1657880] {CVE-2018-19854} - [char] ipmi: fix sleep-in-atomic in free_user at cleanup SRCU user->release_barrier (Xiaojun Tan) [1689480] - [infiniband] usnic_verbs: fix deadlock (Govindarajulu Varadarajan) [1688505] - [infiniband] IB/usnic: Fix locking when unregistering (Govindarajulu Varadarajan) [1688505] - [infiniband] IB/usnic: Fix potential deadlock (Govindarajulu Varadarajan) [1688505] - [netdrv] net: hns3: fix improper error handling in the hclge_init_ae_dev() (Xiaojun Tan) [1687060] - [netdrv] net: hns3: fix netif_napi_del() not do problem when unloading (Xiaojun Tan) [1687060] - [netdrv] net: hns3: Fix NULL deref when unloading driver (Xiaojun Tan) [1687060] - [netdrv] net: hns3: Modify the order of initializing command queue register (Xiaojun Tan) [1687060] - [netdrv] net: hns3: remove the Redundant put_vector in hns3_client_uninit (Xiaojun Tan) [1687060] - [netdrv] net: hns3: reuse reinitialization interface in the hns3_set_channels (Xiaojun Tan) [1687060]- [powercap] powercap/intel_rapl: add Ice Lake mobile (Steve Best) [1483427] - [x86] x86/CPU: Add Icelake model number (Steve Best) [1483427] - [watchdog] watchdog/hpwdt: Update Kconfig documentation (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Update driver version. (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Do not claim unsupported hardware (Joseph Szczypek) [1664861] - [watchdog] watchdog/hpwdt: Exclude via blacklist (Joseph Szczypek) [1664861] - [fs] autofs: add strictexpire mount option (Ian Kent) [1672134] - [fs] autofs: change catatonic setting to a bit flag (Ian Kent) [1672134] - [fs] autofs: simplify parse_options() function call (Ian Kent) [1672134] - [fs] autofs: add AUTOFS_EXP_FORCED flag (Ian Kent) [1672134] - [fs] autofs: make expire flags usage consistent with v5 params (Ian Kent) [1672134] - [fs] autofs: make autofs_expire_indirect() static (Ian Kent) [1672134] - [fs] autofs: make autofs_expire_direct() static (Ian Kent) [1672134] - [fs] autofs: fix clearing AUTOFS_EXP_LEAVES in autofs_expire_indirect() (Ian Kent) [1672134] - [fs] autofs: fix inconsistent use of now variable (Ian Kent) [1672134] - [md] md: Fix failed allocation of md_register_thread (Nigel Croxon) [1665346] - [md] It's wrong to add len to sector_nr in raid10 reshape twice (Nigel Croxon) [1665346] - [md] raid5: set write hint for PPL (Nigel Croxon) [1665346] - [netdrv] amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs (Gary Hook) [1669565]- [x86] x86/retpolines: Disable switch jump tables when retpolines are enabled (Waiman Long) [1688258] - [x86] x86, retpolines: Raise limit for generating indirect calls from switch-case (Waiman Long) [1688258] - [net] vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock (Stefano Garzarella) [1676595] - [net] vsock/virtio: reset connected sockets on device removal (Stefano Garzarella) [1676595] - [net] vsock/virtio: fix kernel panic after device hot-unplug (Stefano Garzarella) [1676595] - [powerpc] powerpc/livepatch: return -ERRNO values in save_stack_trace_tsk_reliable() (Joe Lawrence) [1659856] - [powerpc] powerpc/livepatch: small cleanups in save_stack_trace_tsk_reliable() (Joe Lawrence) [1659856] - [powerpc] powerpc/livepatch: relax reliable stack tracer checks for first-frame (Joe Lawrence) [1659856] - [powerpc] powerpc/64s: Make reliable stacktrace dependency clearer (Joe Lawrence) [1659856] - [powerpc] powerpc/64s: Clear on-stack exception marker upon exception return (Joe Lawrence) [1659856] - [infiniband] iw_cxgb4: Support FW write completion WR (Arjun Vynipadath) [1671320] - [infiniband] iw_cxgb4: RDMA write with immediate support (Arjun Vynipadath) [1671320] - [infiniband] rdma/cxgb4: fix some info leaks (Arjun Vynipadath) [1671320] - [infiniband] rdma/cxgb4: Add support for 64Byte cqes (Arjun Vynipadath) [1671320] - [pci] pci: remove unused functionality (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] aacraid: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] be2iscsi: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] mpt3sas: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] qla2xxx: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] qla4xxx: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] megaraid_sas: add removed id table" (Tomas Henzl) [1622638] - [scsi] lfpc: remove Lancer FCoE (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] lpfc: add removed id table" (Tomas Henzl) [1622638] - [scsi] Revert "[scsi] lfpc: add Lancer FCoE to the removed devices" (Tomas Henzl) [1622638]- [kernel] printk: Export console_printk (Prarit Bhargava) [1642870] - [video] fbcon: Silence fbcon logo on 'quiet' boots (Prarit Bhargava) [1642870] - [scsi] scsi: ibmvscsi: Fix empty event pool access during host removal (Steve Best) [1692463] - [scsi] scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton (Steve Best) [1692463] - [scsi] scsi: ibmvscsi: Improve strings handling (Steve Best) [1692463] - [x86] x86/mce: Handle varying MCA bank counts (David Arcari) [1668779] - [block] virtio_blk: add discard and write zeroes support (Stefano Garzarella) [1692939] - [arm64] arm64: kaslr: ensure randomized quantities are clean also when kaslr is off (Mark Salter) [1673068] - [arm64] arm64: kaslr: ensure randomized quantities are clean to the PoC (Mark Salter) [1673068] - [tools] perf annotate: Fix getting source line failure (Michael Petlan) [1614435] - [infiniband] IB/hfi1: Remove overly conservative VM_EXEC flag check (Alex Estrin) [1680018]- [scsi] scsi: qla2xxx: Fix NULL pointer crash due to stale CPUID (Himanshu Madhani) [1685013] - [scsi] scsi: core: Avoid that system resume triggers a kernel warning (Ewan Milne) [1691903] - [scsi] scsi: core: reset host byte in DID_NEXUS_FAILURE case (Ewan Milne) [1691903] - [scsi] scsi: core: Synchronize request queue PM status only on successful resume (Ewan Milne) [1691903] - [scsi] scsi: sd: Fix cache_type_store() (Ewan Milne) [1691903] - [scsi] scsi: sd: use mempool for discard special page (Ewan Milne) [1691903] - [scsi] scsi: core: Remove scsi_block_when_processing_errors: message (Ewan Milne) [1691903] - [scsi] scsi: core: Allow state transitions from OFFLINE to BLOCKED (Ewan Milne) [1691903] - [scsi] scsi: core: remove unnecessary unlikely() (Ewan Milne) [1691903] - [scsi] scsi: st: remove redundant pointer STbuffer (Ewan Milne) [1691903] - [scsi] scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock (Ewan Milne) [1691903] - [fs] scsi: sysfs: Introduce sysfs_{un,}break_active_protection() (Ewan Milne) [1691903] - [scsi] scsi sg: remove incorrect scsi command checking logic (Ewan Milne) [1691903] - [scsi] scsi: read host_busy via scsi_host_busy() (Ewan Milne) [1691903] - [scsi] scsi: sd: Remove a superfluous assignment (Ewan Milne) [1691903] - [scsi] scsi: don't add scsi command result bytes (Ewan Milne) [1691903] - [scsi] scsi: core: check for equality of result byte values (Ewan Milne) [1691903] - [scsi] scsi: scsi_transport_fc: use 64-bit timestamps consistently (Ewan Milne) [1691903] - [scsi] scsi: sg: clean up gfp_mask in sg_build_indirect (Ewan Milne) [1691903] - [scsi] scsi: core: remove Scsi_Cmnd typedef (Ewan Milne) [1691903] - [netdrv] ibmvnic: Report actual backing device speed and duplex values (Steve Best) [1691862] - [kernel] sched/fair: Fix O(nr_cgroups) in the load balancing path (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Fix insertion in rq->leaf_cfs_rq_list (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Add tmp_alone_branch assertion (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] sched/fair: Fix infinite loop in update_blocked_averages() by reverting a9e7f6544b9c (Phil Auld) [1685636] {CVE-2018-20784} - [kernel] tracing: Do a WARN_ON() if start_thread() in hwlat is called when thread exists (Jerome Marchand) [1693050] - [kernel] ftrace: Add missing check for existing hwlat thread (Jerome Marchand) [1693050] - [kernel] tracing: Do not call start/stop() functions when tracing_on does not change (Jerome Marchand) [1693050]- [scsi] scsi: lpfc: Fixup eq_clr_intr references (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix build error (Dick Kennedy) [1692882] - [scsi] scsi: be2iscsi: lpfc: fix typo (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.1 (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Update Copyright in driver version (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Enhance 6072 log string (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix duplicate log message numbers (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Specify node affinity for queue memory allocation (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Reduce memory footprint for lpfc_queue (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Add loopback testing to trunking mode (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix link speed reporting for 4-link trunk (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix handling of trunk links state reporting (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix protocol support on G6 and G7 adapters (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct boot bios information to FDMI registration (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix HDMI2 registration string for symbolic name (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix fc4type information for FDMI (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix FDMI manufacturer attribute value (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix io lost on host resets (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix mailbox hang on adapter init (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix driver crash in target reset handler (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct localport timeout duration error (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: nvmet: avoid hang / use-after-free when destroying targetport (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Convert bootstrap mbx polling from msleep to udelay (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Coordinate adapter error handling with offline handling (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Stop adapter if pci errors detected (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix deadlock due to nested hbalock call (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix nvmet handling of first burst cmd (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix lpfc_nvmet_mrq attribute handling when 0 (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix nvmet async receive buffer replenishment (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix location of SCSI ktime counters (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix SLI3 commands being issued on SLI4 devices (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix use-after-free mailbox cmd completion (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Resolve irq-unsafe lockdep heirarchy warning in lpfc_io_free (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Resolve inconsistent check of hdwq in lpfc_scsi_cmd_iocb_cmpl (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix error codes in lpfc_sli4_pci_mem_setup() (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix 32-bit format string warning (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix unused variable warning (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: resolve static checker warning in lpfc_sli4_hba_unset (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Correct __lpfc_sli_issue_iocb_s4 lockdep check (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix calls to dma_set_mask_and_coherent() (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: use dma_set_mask_and_coherent (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Remove set but not used variable 'phys_id' (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: fix a handful of indentation issues (Dick Kennedy) [1692882] - [scsi] scsi: lpfc: Fix error code if kcalloc() fails (Dick Kennedy) [1692882] - [security] security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock (Ondrej Mosnacek) [1683296] - [security] selinux: add the missing walk_size + len check in selinux_sctp_bind_connect (Ondrej Mosnacek) [1683296] - [security] selinux: fix avc audit messages (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: replace BUG_ONs with WARN_ONs in avc.c (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: log invalid contexts in AVCs (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: replace some BUG_ON()s with a WARN_ON() (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: inline some AVC functions used only once (Ondrej Mosnacek) [1670039 1683296] - [security] selinux: do not override context on context mounts (Ondrej Mosnacek) [1683296] - [security] selinux: never allow relabeling on context mounts (Ondrej Mosnacek) [1683296] - [security] selinux: stop passing MAY_NOT_BLOCK to the AVC upon follow_link (Ondrej Mosnacek) [1683296] - [security] selinux: avoid silent denials in permissive mode under RCU walk (Ondrej Mosnacek) [1683296] - [security] selinux: fix GPF on invalid policy (Ondrej Mosnacek) [1683296] - [security] selinux: overhaul sidtab to fix bug and improve performance (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: use separate table for initial SID lookup (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: make "selinux_policycap_names[]" const char * (Ondrej Mosnacek) [1683296] - [security] selinux: always allow mounting submounts (Ondrej Mosnacek) [1647723 1683296] - [security] selinux: refactor sidtab conversion (Ondrej Mosnacek) [1656787 1683296] - [security] selinux: fix non-MLS handling in mls_context_to_sid() (Ondrej Mosnacek) [1683296] - [security] selinux: check length properly in SCTP bind hook (Ondrej Mosnacek) [1683296] - [security] selinux: policydb - fix byte order and alignment issues (Ondrej Mosnacek) [1668222 1683296] - [security] selinux: Add __GFP_NOWARN to allocation at str_read() (Ondrej Mosnacek) [1683296] - [security] selinux: refactor mls_context_to_sid() and make it stricter (Ondrej Mosnacek) [1683296] - [security] selinux: fix mounting of cgroup2 under older policies (Ondrej Mosnacek) [1683296] - [security] selinux: cleanup dentry and inodes on error in selinuxfs (Ondrej Mosnacek) [1683296] - [security] selinux: constify write_op[] (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netnode (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in avc (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netif (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netport (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in sidtab (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in netlink (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in selinuxfs (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in services (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in avtab (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in hooks (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in policydb (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in ebitmap (Ondrej Mosnacek) [1683296] - [security] selinux: Cleanup printk logging in conditional (Ondrej Mosnacek) [1683296] - [fs] fs/proc/kcore.c: fix invalid memory access in multi-page read optimization (Bhupesh Sharma) [1627539] - [fs] proc/kcore: add vmcoreinfo note to /proc/kcore (Bhupesh Sharma) [1627539] - [kernel] crash_core: use VMCOREINFO_SYMBOL_ARRAY() for swapper_pg_dir (Bhupesh Sharma) [1627539] - [fs] proc/kcore: optimize multiple page reads (Bhupesh Sharma) [1627539] - [fs] proc/kcore: clean up ELF header generation (Bhupesh Sharma) [1627539] - [fs] proc/kcore: hold lock during read (Bhupesh Sharma) [1627539] - [fs] proc/kcore: fix memory hotplug vs multiple opens race (Bhupesh Sharma) [1627539] - [fs] proc/kcore: replace kclist_lock rwlock with rwsem (Bhupesh Sharma) [1627539] - [fs] proc/kcore: don't grab lock for memory hotplug notifier (Bhupesh Sharma) [1627539] - [fs] proc/kcore: don't grab lock for kclist_add() (Bhupesh Sharma) [1627539]- [net] Merge branch 'linus/master' into rdma.git for-next (Jonathan Toppins) [1685304] - [netdrv] net: cisco: enic: Replace GFP_ATOMIC with GFP_KERNEL (Jonathan Toppins) [1685304] - [infiniband] RDMA/providers: Remove pointless functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/usnic: Suppress a compiler warning (Jonathan Toppins) [1685304] - [infiniband] IB/usnic: usnic should not select INFINIBAND_USER_ACCESS (Jonathan Toppins) [1685304] - [infiniband] RDMA/vmw_pvrdma: Delete unused function (Jonathan Toppins) [1685304] - [infiniband] IB/usnic: Update with bug fixes from core code (Jonathan Toppins) [1685304] - [infiniband] RDMA/providers: Fix return value from create_srq callbacks (Jonathan Toppins) [1685304] - [infiniband] RDMA/rxe: Simplify the error handling code in rxe_create_ah() (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: avoid unnecessary NULL check (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: increase max MR limit (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: Do not hide uABI stuff in memcpy (Jonathan Toppins) [1685304] - [net] rpc: remove unneeded variable 'ret' in rdma_listen_handler (Jonathan Toppins) [1685304] - [net] svcrdma: Clean up Read chunk path (Jonathan Toppins) [1685304] - [net] svcrdma: Avoid releasing a page in svc_xprt_release() (Jonathan Toppins) [1685304] - [net] sunrpc: remove redundant variables 'checksumlen', 'blocksize' and 'data' (Jonathan Toppins) [1685304] - [scsi] scsi: target: srp, vscsi, sbp, qla: use target_remove_session (Jonathan Toppins) [1685304] - [target] scsi: target: add session removal function (Jonathan Toppins) [1685304] - [target] scsi: target: rename target_alloc_session (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Fix check for return code from ib_create_srq (Jonathan Toppins) [1685304] - [infiniband] IB/ipoib: Fix error return code in ipoib_dev_init() (Jonathan Toppins) [1685304] - [infiniband] IPoIB: use kvzalloc to allocate an array of bucket pointers (Jonathan Toppins) [1685304] - [infiniband] ib_srpt: use kvmalloc to allocate ring pointers (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Fix return code from ipoib_cm_dev_init (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Remove set-but-not-used variables (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Prefer unsigned int to bare use of unsigned (Jonathan Toppins) [1685304] - [infiniband] RDMA/ipoib: Use min_t() macro instead of min() (Jonathan Toppins) [1685304] - [infiniband] IB/srp: Remove driver version and release data information (Jonathan Toppins) [1685304] - [target] scsi: target: Remove second argument from fabric_make_tpg() (Jonathan Toppins) [1685304] - [infiniband] IB/iser: set can_queue earlier to allow setting higher queue depth (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Set right entry state before releasing reference (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Free uapi on destroy (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one() (Jonathan Toppins) [1685304] - [infiniband] IB/core: Release object lock if destroy failed (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: fix UCM link error (Jonathan Toppins) [1685304] - [infiniband] IB/core: Change filter function return type from int to bool (Jonathan Toppins) [1685304] - [infiniband] IB/core: Update GID entries for netdevice whose mac address changes (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add default GIDs of the bond master netdev (Jonathan Toppins) [1685304] - [infiniband] IB/core: Consider adding default GIDs of bond device (Jonathan Toppins) [1685304] - [infiniband] IB/core: Delete lower netdevice default GID entries in bonding scenario (Jonathan Toppins) [1685304] - [infiniband] IB/core: Avoid confusing del_netdev_default_ips (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add comment for change upper netevent handling (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: Fix compiling ucm.c (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not check for device disassociation during ioctl (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove struct uverbs_root_spec and all supporting code (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_api to unmarshal ioctl commands (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_alloc for allocations (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a simple allocator to uverbs_attr_bundle (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove the ib_uverbs_attr pointer from each attr (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Provide implementation private memory for the uverbs_attr_bundle (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Use uverbs_api to manage the object type inside the uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Build the specs into a radix tree at runtime (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Have the core code create the uverbs_root_spec (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Fix reading of 32 bit flags (Jonathan Toppins) [1685304] - [infiniband] IB/ucm: Initialize sgid request GID attribute pointer (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow all DESTROY commands to succeed after disassociate (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not block disassociate during write() (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not pass struct ib_device to the ioctl methods (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not pass struct ib_device to the write based methods (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Lower the test for ongoing disassociation (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow uobject allocation to work concurrently with disassociate (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow RDMA_REMOVE_DESTROY to work concurrently with disassociate (Jonathan Toppins) [1685304] - [include] IB/uverbs: Convert 'bool exclusive' into an enum (Jonathan Toppins) [1685304] - [include] IB/uverbs: Consolidate uobject destruction (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Make the write path destroy methods use the same flow as ioctl (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove rdma_explicit_destroy() from the ioctl methods (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Prefix _ib to IB/RoCE specific functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Simplify gid type check in cma_acquire_dev() (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Return bool instead of int (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Get rid of 1 bit boolean (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Constify path record, ib_cm_event, listen_id pointers (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Constify dst_addr argument (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Simplify rdma_resolve_addr() error flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Initialize resource type in __rdma_create_id() (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Check for verbs callbacks before using them (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove {create,destroy}_ah from mandatory verbs (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language (Jonathan Toppins) [1685304] - [infiniband] RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const (Jonathan Toppins) [1685304] - [infiniband] IB/mlx5, ib_post_send(), IB_WR_REG_SIG_MR: Do not modify the 'wr' argument (Jonathan Toppins) [1685304] - [net] net/xprtrdma: Restore needed argument to ib_post_send (Jonathan Toppins) [1685304] - [net] net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [nvme] nvmet-rdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [nvme] nvme-rdma: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/srpt: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/srp: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/isert: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [infiniband] RDMA: Constify the argument of the work request conversion functions (Jonathan Toppins) [1685304] - [infiniband] IB/iser: Inline two work request conversion functions (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Consider netdevice for RoCE ports (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce and use sgid_attr in CM requests (Jonathan Toppins) [1685304] - [infiniband] IB/core: Remove extra parentheses (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Fix locking around struct ib_uverbs_file ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Move the FD uobj type struct file allocation to alloc_commit (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Always propagate errors from rdma_alloc_commit_uobject() (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Rework the locking for cleaning up the ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Revise and clarify the rwsem and uobjects_lock (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Clarify and revise uverbs_close_fd (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Revise the placement of get/puts on uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Clarify the kref'ing ordering for alloc_commit (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Handle IDR and FD types without truncation (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Get rid of null_obj_type (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls (Jonathan Toppins) [1685304] - [include] IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument (Jonathan Toppins) [1685304] - [include] IB/mlx5: Introduce driver create and destroy flow methods (Jonathan Toppins) [1685304] - [infiniband] IB: Support ib_flow creation in drivers (Jonathan Toppins) [1685304] - [infiniband] IB/mlx5: Introduce flow steering matcher uapi object (Jonathan Toppins) [1685304] - [include] IB/uverbs: Move ib_access_flags and ib_read_counters_flags to uapi (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove cma_multicast->igmp_joined (Jonathan Toppins) [1685304] - [infiniband] RDMA/umem: Refactor exit paths in ib_umem_get (Jonathan Toppins) [1685304] - [infiniband] IB: Enable uverbs_destroy_def_handler to be used by drivers (Jonathan Toppins) [1685304] - [include] IB/uverbs: Pass IB_UVERBS_QPF_GRH_REQUIRED to user space (Jonathan Toppins) [1685304] - [infiniband] RDMA: Validate grh_required when handling AVs (Jonathan Toppins) [1685304] - [infiniband] RDMA/hfi1: Move grh_required into update_sm_ah (Jonathan Toppins) [1685304] - [infiniband] IB/core: Simplify check for RoCE route resolve (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Do not use uverbs_cmd_mask in the ioctl path (Jonathan Toppins) [1685304] - [infiniband] RDMA/rw: Fix rdma_rw_ctx_signature_init() kernel-doc header (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove set-but-not-used variables (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port() (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove unused and erroneous msg sequence encoding (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace ib_ucq_object uverbs_file with the one in ib_uobject (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Remove ib_uobject_file (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Tidy up remaining references to ucontext (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace file->ucontext with file in uverbs_cmd.c (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Replace ib_ucontext with ib_uverbs_file in core function calls (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Move non driver related elements from ib_ucontext to ib_ufile (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a uobj_perform_destroy helper (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Combine MIN_SZ_OR_ZERO with UVERBS_ATTR_STRUCT (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Use UVERBS_ATTR_MIN_SIZE correctly and uniformly (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Remove UA_FLAGS (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Get rid of the & in method specifications (Jonathan Toppins) [1685304] - [infiniband] IB: Improve uverbs_cleanup_ucontext algorithm (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify UVERBS_OBJECT and _TREE family of macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify method definition macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Simplify UVERBS_ATTR family of macros (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Split UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Store the specs_root in the struct ib_uverbs_device (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Remove now useless rcu_lock in dst_fetch_ha (Jonathan Toppins) [1685304] - [infiniband] IB/core: Check for rdma_protocol_ib only after validating port_num (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Remove redundant check (Jonathan Toppins) [1685304] - [infiniband] RDMA/umem: Don't check for a negative return value of dma_map_sg_attrs() (Jonathan Toppins) [1685304] - [infiniband] RDMA/verbs: Drop kernel variant of destroy_flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/verbs: Drop kernel variant of create_flow (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Check existence of create_flow callback (Jonathan Toppins) [1685304] - [infiniband] RDMA/core: Remove unused ib cache functions (Jonathan Toppins) [1685304] - [infiniband] Revert "[infiniband] RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set" (Jonathan Toppins) [1685304] - [infiniband] RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths (Jonathan Toppins) [1685304] - [infiniband] IB/mlx4: Use GID attribute from ah attribute (Jonathan Toppins) [1685304] - [infiniband] IB/rxe: Use rdma GID API (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Use sgid_attr from the AV (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Pass the sgid_attr through various events (Jonathan Toppins) [1685304] - [infiniband] IB/cm: Keep track of the sgid_attr that created the cm id (Jonathan Toppins) [1685304] - [infiniband] IB: Make init_ah_attr_grh_fields set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Make ib_init_ah_from_mcmember set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Make ib_init_ah_attr_from_wc set sgid_attr (Jonathan Toppins) [1685304] - [infiniband] IB/core: Free GID table entry during GID deletion (Jonathan Toppins) [1685304] - [infiniband] RDMA/cma: Consider net namespace while leaving multicast group (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Delete type and id from uverbs_obj_attr (Jonathan Toppins) [1685304] - [infiniband] IB/rdmavt, IB/hfi1: Create device dependent s_flags (Jonathan Toppins) [1685304] - [infiniband] IB/core: Expose ib_ucontext from a given ib_uverbs_file (Jonathan Toppins) [1685304] - [include] IB/core: Introduce DECLARE_UVERBS_GLOBAL_METHODS (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Allow an empty namespace in ioctl() framework (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add a macro to define a type with no kernel known size (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Add PTR_IN attributes that are allocated/copied automatically (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Refactor uverbs_finalize_objects (Jonathan Toppins) [1685304] - [infiniband] IB/uverbs: Export uverbs idr and fd types (Jonathan Toppins) [1685304] - [infiniband] IB/mad: Use IDR for agent IDs (Jonathan Toppins) [1685304] - [infiniband] RDMA: Hold the sgid_attr inside the struct ib_ah/qp (Jonathan Toppins) [1685304] - [infiniband] RDMA: Convert drivers to use sgid_attr instead of sgid_index (Jonathan Toppins) [1685304] - [infiniband] IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs (Jonathan Toppins) [1685304] - [infiniband] IB/core: Tidy ib_resolve_eth_dmac (Jonathan Toppins) [1685304] - [infiniband] IB/core: Add a sgid_attr pointer to struct rdma_ah_attr (Jonathan Toppins) [1685304] - [infiniband] IB: Ensure that all rdma_ah_attr's are zero initialized (Jonathan Toppins) [1685304] - [infiniband] IB/mad: Agent registration is process context only (Jonathan Toppins) [1685304] - [infiniband] RDMA/uverbs: Refactor flow_resources_alloc() function (Jonathan Toppins) [1685304] - [infiniband] RDMA/nldev: Return port capability flag for IB only (Jonathan Toppins) [1685304] - [net] RDMA/smc: Replace ib_query_gid with rdma_get_gid_attr (Jonathan Toppins) [1685304] - [include] IB/cache: Restore compatibility for ib_query_gid (Jonathan Toppins) [1685304] - [infiniband] IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid (Jonathan Toppins) [1685304] - [infiniband] IB/core: Make rdma_find_gid_by_filter support all protocols (Jonathan Toppins) [1685304] - [infiniband] IB/core: Provide rdma_ versions of the gid cache API (Jonathan Toppins) [1685304] - [infiniband] IB/core: Replace ib_query_gid with rdma_get_gid_attr (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce GID attribute get, put and hold APIs (Jonathan Toppins) [1685304] - [infiniband] RDMA: Use GID from the ib_gid_attr during the add_gid() callback (Jonathan Toppins) [1685304] - [infiniband] IB/core: Introduce GID entry reference counts (Jonathan Toppins) [1685304] - [infiniband] IB/core: Store default GID property per-table instead of per-entry (Jonathan Toppins) [1685304] - [infiniband] IB/core: Do not set the gid type when reserving default entries (Jonathan Toppins) [1685304] - [include] IDR: Expose the XArray lock (Jonathan Toppins) [1688319] - [x86] x86/cpufeatures: Enumerate MOVDIR64B instruction (Steve Best) [1482754] - [x86] x86/cpufeatures: Enumerate MOVDIRI instruction (Steve Best) [1482754] - [nvme] nvme: allow ANA support to be independent of native multipathing (Ewan Milne) [1690940] - [nvme] nvme: multipath: Change default of kernel NVMe multipath to be disabled (Ewan Milne) [1690940] - [nvme] nvme: convert to SPDX identifiers (Ewan Milne) [1690940] - [nvme] nvme-multipath: round-robin I/O policy (Ewan Milne) [1690940] - [nvme] nvme-multipath: drop optimization for static ANA group IDs (Ewan Milne) [1690940] - [nvme] nvme-multipath: zero out ANA log buffer (Ewan Milne) [1690940] - [nvme] nvme-fc: fix numa_node when dev is null (Ewan Milne) [1690940] - [nvme] nvme: add a numa_node field to struct nvme_ctrl (Ewan Milne) [1690940] - [nvme] nvme: update node paths after adding new path (Ewan Milne) [1690940] - [nvme] nvme: take node locality into account when selecting a path (Ewan Milne) [1690940] - [s390] s390/mm: Fix ERROR: "__node_distance" undefined! (Ewan Milne) [1690940] - [nvme] nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O (Ewan Milne) [1690940] - [nvme] nvme: properly propagate errors in nvme_mpath_init (Ewan Milne) [1690940] - [nvme] nvme: fixup crash on failed discovery (Ewan Milne) [1690940] - [nvme] nvme: add ANA support (Ewan Milne) [1690940] - [include] nvme.h: fixup ANA group descriptor format (Ewan Milne) [1690940] - [include] nvme.h: add ANA definitions (Ewan Milne) [1690940] - [nvme] nvme: remove nvme_req_needs_failover (Ewan Milne) [1690940] - [nvme] nvme: simplify the API for getting log pages (Ewan Milne) [1690940] - [include] nvme.h: add support for the log specific field (Ewan Milne) [1690940]- [md] dm writecache: set "Tech Preview" taint using mark_tech_preview() (Mike Snitzer) [1690587] - [md] dm integrity: limit the rate of error messages (Mike Snitzer) [1690105] - [md] dm snapshot: don't define direct_access if we don't support it (Mike Snitzer) [1690105] - [md] dm cache: add support for discard passdown to the origin device (Mike Snitzer) [1690105] - [md] dm writecache: fix typo in name for writeback_wq (Mike Snitzer) [1690105] - [md] dm thin: add sanity checks to thin-pool and external snapshot creation (Mike Snitzer) [1690105] - [md] dm block manager: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm verity fec: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm integrity: remove redundant unlikely annotation (Mike Snitzer) [1690105] - [md] dm switch: use struct_size() in kzalloc() (Mike Snitzer) [1690105] - [md] dm: remove unused _rq_tio_cache and _rq_cache (Mike Snitzer) [1690105] - [md] dm crypt: don't overallocate the integrity tag space (Mike Snitzer) [1690105] - [md] dm: eliminate 'split_discard_bios' flag from DM target interface (Mike Snitzer) [1690105] - [md] dm: always call blk_queue_split() in dm_process_bio() (Mike Snitzer) [1690105] - [md] dm: update dm_process_bio() to split bio if in ->make_request_fn() (Mike Snitzer) [1690105] - [md] dm rq: remove unused arguments from rq_completed() (Mike Snitzer) [1690105] - [md] dm integrity: replace open-coded allocation size multiplication (Mike Snitzer) [1690105] - [md] dm: Remove VLA usage from hashes (Mike Snitzer) [1690105] - [crypto] crypto: hash - Remove VLA usage (Mike Snitzer) [1690105] - [md] dm: Avoid namespace collision with bitmap API (Mike Snitzer) [1690105] - [md] md/dm-writecache: Don't request pointer dummy_addr when not required (Mike Snitzer) [1690105] - [scsi] scsi: qla2xxx: avoid printf format warning (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix issue reported by static checker for qla2x00_els_dcmd2_sp_done() (Himanshu Madhani) [1664534] - [scsi] qla2xxx: Update driver version to 10.00.00.14.08.1-k (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Avoid PCI IRQ affinity mapping when multiqueue is not supported (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add new FW dump template entry types (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix code indentation for qla27xx_fwdt_entry (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move marker request behind QPair (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent SysFS access when chip is down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add support for setting port speed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent multiple ADISC commands per session (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Check for FW started flag before aborting (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix unload when NVMe devices are configured (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add First Burst support for FC-NVMe devices (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: remove redundant null check on pointer sess (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move debug messages before sending srb preventing panic (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Use complete switch scan for RSCN events (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix fw options handle eh_bus_reset() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Restore FAWWPN of Physical Port only for loop down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent memory leak for CT req/rsp allocation (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix SRB allocation flag to avoid sleeping in IRQ context (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: allow session delete to finish before create. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fix fcport null pointer access. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: flush IO on chip reset or sess delete (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix session cleanup hang (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Change default ZIO threshold. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add pci function reset support. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix N2N target discovery with Local loop (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: no need to check return value of debugfs_create functions (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix DMA error when the DIF sg buffer crosses 4GB boundary (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add protection mask module parameters (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix for FC-NVMe discovery for NPIV port (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix NPIV handling for FC-NVMe (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Enable FC-NVME on NPIV ports (Himanshu Madhani) [1664534] - [scsi] Revert "scsi: qla2xxx: Fix NVMe Target discovery" (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: NULL check before some freeing functions is not needed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Split the __qla2x00_abort_all_cmds() function (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Introduce a switch/case statement in qlt_xmit_tm_rsp() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix a typo in MODULE_PARM_DESC (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove two arguments from qlafx00_error_entry() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Make sure that qlafx00_ioctl_iosb_entry() initializes 'res' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove a set-but-not-used variable (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Make qla2x00_sysfs_write_nvram() easier to analyze (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Declare local functions 'static' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Improve several kernel-doc headers (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Modify fall-through annotations (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fully convert to the generic DMA API (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Simplify conditional check (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove unnecessary self assignment (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Return switch command on a timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move log messages before issuing command to firmware (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix for double free of SRB structure (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix recursive mailbox timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix NVMe Target discovery (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: don't allow negative thresholds (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix comment in MODULE_PARM_DESC in qla2xxx (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove set but not used variable 'ptr_dma' (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: fix typo "CT-PASSTRHU" -> "CT-PASSTHRU" (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix an endian bug in fcpcmd_is_corrupted() (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix double increment of switch scan retry count (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix duplicate switch's Nport ID entries (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove stale debug trace message from tcm_qla2xxx (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix premature command free (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Reject bsg request if chip is down. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: shutdown chip if reset fail (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix stuck session in PLOGI state (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix early srb free on abort (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add mode control for each physical port (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix race condition for resource cleanup (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix dropped srb resource. (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix port speed display on chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Check for Register disconnect (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Increase abort timeout value (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Allow FC-NVMe underrun to be handled by transport (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move ABTS code behind qpair (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove stale ADISC_DONE event (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix Remote port registration (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove ASYNC GIDPN switch command (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Reduce holding sess_lock to prevent CPU lock-up (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move {get|rel}_sp to base_qpair struct (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add support for ZIO6 interrupt threshold (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix out of order Termination and ABTS response (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add logic to detect ABTS hang and response completion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add appropriate debug info for invalid RX_ID (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix deadlock between ATIO and HW lock (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Serialize mailbox request (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Terminate Plogi/PRLI if WWN is 0 (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Defer chip reset until target mode is enabled (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove all rports if fabric scan retry fails (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Force fw cleanup on ADISC error (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Turn off IOCB timeout timer on IOCB completion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Decrement login retry count for only plogi (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Move rport registration out of internal work_list (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Remove redundant check for fcport deletion (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Update rscn_rcvd field to more meaningful scan_needed (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Use correct qpair for ABTS/CMD (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix process response queue for ISP26XX and above (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Migrate NVME N2N handling into state machine (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Save frame payload size from ICB (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix race between switch cmd completion and timeout (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix Management Server NPort handle reservation logic (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Flush mailbox commands on chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix session state stuck in Get Port DB (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix redundant fc_rport registration (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Silent erroneous message (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Prevent sysfs access when chip is down (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Add longer window for chip reset (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix login retry count (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Fix N2N link re-connect (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: Cleanup for N2N code (Himanshu Madhani) [1664534] - [scsi] scsi: qla2xxx: remove irq save in qla2x00_poll() (Himanshu Madhani) [1664534] - [netdrv] ice: Do autoneg based on VSI state (Jonathan Toppins) [1687903] - [fs] xfs: use the latest extent at writeback delalloc conversion time (Brian Foster) [1661968] - [fs] xfs: create delalloc bmapi wrapper for full extent allocation (Brian Foster) [1661968] - [fs] xfs: remove superfluous writeback mapping eof trimming (Brian Foster) [1661968] - [fs] xfs: validate writeback mapping using data fork seq counter (Brian Foster) [1661968] - [fs] xfs: update fork seq counter on data fork changes (Brian Foster) [1661968] - [fs] xfs: eof trim writeback mapping as soon as it is cached (Brian Foster) [1661968] - [perf] drivers/perf: hisi: update the sccl_id/ccl_id when MT is supported (Xiaojun Tan) [1677815]- [x86] x86/hyperv: Fix kernel panic when kexec on HyperV (Kairui Song) [1684451] - [rpmspec] apply linux-kernel-test.patch when building ("Herton R. Krzesinski") [1690534] - [netdrv] net: ena: update driver version from 2.0.2 to 2.0.3 (John Linville) [1690106] - [netdrv] net: ena: fix race between link up and device initalization (John Linville) [1690106] - [netdrv] net: phy: add phy_speed_down and phy_speed_up (Petr Oros) [1690131] - [netdrv] net: phy: add helper phy_config_aneg (Petr Oros) [1690131] - [nvme] nvme-fabrics: convert to SPDX identifiers (Ewan Milne) [1690909] - [nvme] nvme-fabrics: fix ctrl_loss_tmo < 0 to reconnect forever (Ewan Milne) [1690909] - [nvme] nvme-fc: reject reconnect if io queue count is reduced to zero (Ewan Milne) [1690601] - [nvme] nvme-fc: use nr_phys_segments to determine existence of sgl (Ewan Milne) [1690601] - [include] nvme-fc: convert to SPDX identifiers (Ewan Milne) [1690601] - [nvme] nvme-fc: initialize nvme_req(rq)->ctrl after calling __nvme_fc_init_request() (Ewan Milne) [1690601] - [nvme] nvme-fc: fix request private initialization (Ewan Milne) [1690601] - [nvme] nvme-fc: rework the request initialization code (Ewan Milne) [1690601] - [nvme] nvme-fc: introduce struct nvme_fcp_op_w_sgl (Ewan Milne) [1690601] - [nvme] nvme: cache struct nvme_ctrl reference to struct nvme_request (Ewan Milne) [1690601] - [nvme] nvme-fc: fix kernel-doc headers (Ewan Milne) [1690601] - [nvme] nvme_fc: add 'nvme_discovery' sysfs attribute to fc transport device (Ewan Milne) [1690601] - [nvme] nvme-fc: fix for a minor typos (Ewan Milne) [1690601] - [crypto] crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling (Neil Horman) [1689185] - [mm] mm: enforce min addr even if capable() in expand_downwards() (Rafael Aquini) [1687667] {CVE-2019-9213} - [pci] PCI/VMD: Configure MPS settings before adding devices (Prarit Bhargava) [1659270] - [pci] PCI: vmd: Detach resources after stopping root bus (Prarit Bhargava) [1659270] - [char] tpm: separate cmd_ready/go_idle from runtime_pm (Jerry Snitselaar) [1677735] - [block] loop: set GENHD_FL_NO_PART_SCAN after blkdev_reread_part() (Ming Lei) [1683593] - [block] loop: do not print warn message if partition scan is successful (Ming Lei) [1683593] - [block] loop: drop caches if offset or block_size are changed (Ming Lei) [1683593] - [block] block: loop: remove redundant code (Ming Lei) [1683593] - [block] block: loop: check error using IS_ERR instead of IS_ERR_OR_NULL in loop_add() (Ming Lei) [1683593] - [block] loop: Fix double mutex_unlock(&loop_ctl_mutex) in loop_control_ioctl() (Ming Lei) [1683593] - [block] loop: Get rid of 'nested' acquisition of loop_ctl_mutex (Ming Lei) [1683593] - [block] loop: Avoid circular locking dependency between loop_ctl_mutex and bd_mutex (Ming Lei) [1683593] - [block] loop: Fix deadlock when calling blkdev_reread_part() (Ming Lei) [1683593] - [block] loop: Move loop_reread_partitions() out of loop_ctl_mutex (Ming Lei) [1683593] - [block] loop: Move special partition reread handling in loop_clr_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_change_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_set_fd() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_set_status() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down to loop_get_status() (Ming Lei) [1683593] - [block] loop: Push loop_ctl_mutex down into loop_clr_fd() (Ming Lei) [1683593] - [block] loop: Split setting of lo_state from loop_clr_fd (Ming Lei) [1683593] - [block] loop: Push lo_ctl_mutex down into individual ioctls (Ming Lei) [1683593] - [block] loop: Get rid of loop_index_mutex (Ming Lei) [1683593] - [block] loop: Fold __loop_release into loop_release (Ming Lei) [1683593] - [block] block/loop: Use global lock for ioctl() operation. (Ming Lei) [1683593] - [block] block/loop: Don't grab "struct file" for vfs_getattr() operation. (Ming Lei) [1683593] - [crypto] crypto: cfb - fix decryption (Herbert Xu) [1653188]- [misc] VMCI: Support upto 64-bit PPNs (Cathy Avery) [1683479] - [mm] mm, page_alloc: fix has_unmovable_pages for HugePages (David Gibson) [1688114] - [pci] PCI: pciehp: Disable Data Link Layer State Changed event on suspend (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Assign ctrl->slot_ctrl before writing it to hardware (Myron Stowe) [1688393 1537397] - [pci] PCI/AER: Queue one GHES event, not several uninitialized ones (Myron Stowe) [1688393 1537397] - [pci] PCI/AER: Refactor error injection fallbacks (Myron Stowe) [1688393] - [pci] PCI/AER: Reuse existing pcie_port_find_device() interface (Myron Stowe) [1688393] - [pci] PCI/AER: Use managed resource allocations (Myron Stowe) [1688393] - [pci] PCI/AER: Use threaded IRQ for bottom half (Myron Stowe) [1688393] - [pci] PCI/AER: Use kfifo_in_spinlocked() to insert locked elements (Myron Stowe) [1688393] - [pci] PCI/AER: Use kfifo for tracking events instead of reimplementing it (Myron Stowe) [1688393] - [pci] PCI/AER: Remove error source from AER struct aer_rpc (Myron Stowe) [1688393] - [pci] PCI/AER: Remove unused aer_error_resume() (Myron Stowe) [1688393] - [pci] PCI: pnv_php: Use kmemdup() (Myron Stowe) [1688393] - [pci] PCI: cpqphp: Remove set but not used variable 'physical_slot' (Myron Stowe) [1688393] - [pci] PCI/ERR: Remove duplicated include from err.c (Myron Stowe) [1688393] - [pci] PCI: Equalize hotplug memory and io for occupied and empty slots (Myron Stowe) [1688393] - [pci] PCI / ACPI: Whitelist D3 for more PCIe hotplug ports (Myron Stowe) [1688393 1537397] - [acpi] ACPI / property: Allow multiple property compatible _DSD entries (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Implement runtime PM callbacks (Myron Stowe) [1688393 1537397] - [pci] PCI/portdrv: Resume upon exit from system suspend if left runtime suspended (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Do not handle events if interrupts are masked (Myron Stowe) [1688393 1537397] - [pci] PCI: pciehp: Disable hotplug interrupt during suspend (Myron Stowe) [1688393 1537397] - [pci] PCI / ACPI: Enable wake automatically for power managed bridges (Myron Stowe) [1688393 1537397] - [pci] PCI: Do not skip power-managed bridges in pci_enable_wake() (Myron Stowe) [1688393 1537397] - [pci] PCI: Unify device inaccessible (Myron Stowe) [1688393] - [pci] PCI/ERR: Always report current recovery status for udev (Myron Stowe) [1688393] - [pci] PCI/ERR: Simplify broadcast callouts (Myron Stowe) [1688393] - [pci] PCI/ERR: Run error recovery callbacks for all affected devices (Myron Stowe) [1688393] - [pci] PCI/ERR: Handle fatal error recovery (Myron Stowe) [1688393] - [pci] PCI/ERR: Use slot reset if available (Myron Stowe) [1688393] - [pci] PCI/AER: Don't read upstream ports below fatal errors (Myron Stowe) [1688393] - [pci] PCI/AER: Take reference on error devices (Myron Stowe) [1688393] - [pci] PCI/DPC: Save and restore config state (Myron Stowe) [1688393] - [pci] PCI: portdrv: Restore PCI config state on slot reset (Myron Stowe) [1688393] - [pci] PCI: portdrv: Initialize service drivers directly (Myron Stowe) [1688393] - [x86] x86/intel_rdt: Show missing resctrl mount options (David Arcari) [1689043] - [xen] xen/balloon: Fix mapping PG_offline pages to user space (David Hildenbrand) [1652790] - [kernel] PM/Hibernate: exclude all PageOffline() pages (David Hildenbrand) [1652790] - [kernel] PM/Hibernate: use pfn_to_online_page() (David Hildenbrand) [1652790] - [hv] hv_balloon: mark inflated pages PG_offline (David Hildenbrand) [1652790] - [xen] xen/balloon: mark inflated pages PG_offline (David Hildenbrand) [1652790] - [kernel] kexec: export PG_offline to VMCOREINFO (David Hildenbrand) [1652790] - [include] mm: convert PG_balloon to PG_offline (David Hildenbrand) [1652790] - [include] mm: balloon: update comment about isolation/migration/compaction (David Hildenbrand) [1652790] - [mm] mm/page_alloc.c: memory hotplug: free pages as higher order (David Hildenbrand) [1652790] - [mm] mm/memory.c: do_fault: avoid usage of stale vm_area_struct ("Herton R. Krzesinski") [1684734] - [kernel] cpuset: remove unused task_has_mempolicy() (Waiman Long) [1548268] - [kernel] cpuset: Remove set but not used variable 'cs' (Waiman Long) [1548268] - [kernel] cgroup: Add .__DEBUG__. prefix to debug file names (Waiman Long) [1548268] - [kernel] cpuset: Minor cgroup2 interface updates (Waiman Long) [1548268] - [kernel] cpuset: Expose cpuset.cpus.subpartitions with cgroup_debug (Waiman Long) [1548268] - [documentation] cpuset: Add documentation about the new "cpuset.sched.partition" flag (Waiman Long) [1548268] - [kernel] cpuset: Use descriptive text when reading/writing cpuset.sched.partition (Waiman Long) [1548268] - [kernel] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root (Waiman Long) [1548268] - [kernel] cpuset: Make generate_sched_domains() work with partition (Waiman Long) [1548268] - [kernel] cpuset: Make CPU hotplug work with partition (Waiman Long) [1548268] - [kernel] cpuset: Track cpusets that use parent's effective_cpus (Waiman Long) [1548268] - [kernel] cpuset: Add an error state to cpuset.sched.partition (Waiman Long) [1548268] - [kernel] cpuset: Add new v2 cpuset.sched.partition flag (Waiman Long) [1548268] - [kernel] cpuset: Simply allocation and freeing of cpumasks (Waiman Long) [1548268] - [kernel] cpuset: Define data structures to support scheduling partition (Waiman Long) [1548268] - [kernel] cpuset: Enable cpuset controller in default hierarchy (Waiman Long) [1548268] - [kernel] cgroup/tracing: Move taking of spin lock out of trace event handlers (Waiman Long) [1548268] - [powerpc] powerpc/powernv/ioda: Fix locked_vm counting for memory used by IOMMU tables (David Gibson) [1674410] - [pci] PCI: dwc: Fix MSI-X EP framework address calculation bug (Myron Stowe) [1687935] - [pci] PCI: cadence: Correct probe behaviour when failing to get PHY (Myron Stowe) [1687935] - [pci] PCI: mvebu: Fix PCI I/O mapping creation sequence (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Remove obsolete drivers/pci pattern from ACPI section (Myron Stowe) [1687935] - [pci] PCI: dwc: Fix scheduling while atomic issues (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Move mobiveil PCI driver entry where it belongs (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Update PPC contacts for PCI core error handling (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Add Gustavo Pimentel as DesignWare PCI maintainer (Myron Stowe) [1687935] - [maintainers] MAINTAINERS: Add entries for PPC64 RPA PCI hotplug drivers (Myron Stowe) [1687935] - [pci] PCI: mvebu: Drop bogus comment above mvebu_pcie_map_registers() (Myron Stowe) [1687935] - [pci] PCI: mvebu: Convert to use pci_host_bridge directly (Myron Stowe) [1687935] - [pci] PCI: mvebu: Use resource_size() to remap I/O space (Myron Stowe) [1687935] - [pci] PCI: mvebu: Only remap I/O space if configured (Myron Stowe) [1687935] - [pci] PCI: mvebu: Fix I/O space end address calculation (Myron Stowe) [1687935] - [pci] PCI: mvebu: Remove redundant platform_set_drvdata() call (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Add Kconfig/Makefile entries (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Add missing ../pci.h include (Myron Stowe) [1687935] - [pci] PCI: mobiveil: Fix struct mobiveil_pcie.pcie_reg_base address type (Myron Stowe) [1687935] - [pci] PCI: endpoint: Add MSI set maximum restriction (Myron Stowe) [1687935] - [tools] tools: PCI: Add MSI-X support (Myron Stowe) [1687935] - [documentation] pci_endpoint_test: Add 2 ioctl commands (Myron Stowe) [1687935] - [documentation] pci-epf-test/pci_endpoint_test: Add MSI-X support (Myron Stowe) [1687935] - [misc] pci-epf-test/pci_endpoint_test: Use irq_type module parameter (Myron Stowe) [1687935] - [misc] pci-epf-test/pci_endpoint_test: Cleanup PCI_ENDPOINT_TEST memspace (Myron Stowe) [1687935] - [pci] PCI: dwc: Add legacy interrupt callback handler (Myron Stowe) [1687935] - [pci] PCI: dwc: Rework MSI callbacks handler (Myron Stowe) [1687935] - [pci] PCI: dwc: Add MSI-X callbacks handler (Myron Stowe) [1687935] - [pci] PCI: Update xxx_pcie_ep_raise_irq() and pci_epc_raise_irq() signatures (Myron Stowe) [1687935] - [pci] PCI: endpoint: Add MSI-X interfaces (Myron Stowe) [1687935] - [pci] PCI: dwc: Fix EP link notification implementation (Myron Stowe) [1687935] - [pci] PCI: spear13xx: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: qcom: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: histb: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: designware-plat: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: artpec6: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: armada8k: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: keystone: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: imx6: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: exynos: Drop unnecessary root_bus_nr setting (Myron Stowe) [1687935] - [pci] PCI: kirin: Add MSI support (Myron Stowe) [1687935] - [pci] PCI: pcie-cadence-ep: Remove redundant variable mmc (Myron Stowe) [1687935] - [pci] PCI: cadence: Add shutdown callback to host driver (Myron Stowe) [1687935] - [pci] PCI: cadence: Add Power Management ops for host and EP (Myron Stowe) [1687935] - [documentation] dt-bindings: PCI: cadence: Add DT bindings for optional PHYs (Myron Stowe) [1687935] - [pci] PCI: cadence: Add generic PHY support to host and EP drivers (Myron Stowe) [1687935] - [pci] PCI: cadence: Update cdns_pcie_writel() function signature (Myron Stowe) [1687935] - [pci] PCI: aardvark: Convert to use pci_host_probe() (Myron Stowe) [1687935] - [pci] PCI: aardvark: Size bridges before resources allocation (Myron Stowe) [1687935] - [pci] PCI: aardvark: Remove PCIe outbound window configuration (Myron Stowe) [1687935] - [pci] PCI: aardvark: Introduce an advk_pcie_valid_device() helper (Myron Stowe) [1687935] - [pci] PCI/xilinx: Depend on OF instead of the ARCH (Myron Stowe) [1687935] - [md] md: convert to kvmalloc (Nigel Croxon) [1661200] - [md] raid1: simplify raid1_error function (Nigel Croxon) [1661200] - [md] md-linear: use struct_size() in kzalloc() (Nigel Croxon) [1661200] - [md] md/raid5: fix 'out of memory' during raid cache recovery (Nigel Croxon) [1661200] - [md] md: Make bio_alloc_mddev use bio_alloc_bioset (Nigel Croxon) [1661200] - [md] raid10: refactor common wait code from regular read/write request (Nigel Croxon) [1661200] - [md] md: remvoe redundant condition check (Nigel Croxon) [1661200] - [lib] lib/raid6: add option to skip algo benchmarking (Nigel Croxon) [1661200] - [include] lib/raid6: avoid __attribute_const__ redefinition (Nigel Croxon) [1661200] - [include] lib/raid6: add missing include for raid6test (Nigel Croxon) [1661200] - [md] md: remove set but not used variable 'bi_rdev' (Nigel Croxon) [1661200] - [md] MD: Memory leak when flush bio size is zero (Nigel Croxon) [1661200] - [md] md: fix memleak for mempool (Nigel Croxon) [1661200] - [md] md-cluster: remove suspend_info (Nigel Croxon) [1661200] - [md] md-cluster: send BITMAP_NEEDS_SYNC message if reshaping is interrupted (Nigel Croxon) [1661200] - [md] md-cluster/bitmap: don't call md_bitmap_sync_with_cluster during reshaping stage (Nigel Croxon) [1661200] - [md] md-cluster/raid10: don't call remove_and_add_spares during reshaping stage (Nigel Croxon) [1661200] - [md] md-cluster/raid10: call update_size in md_reap_sync_thread (Nigel Croxon) [1661200] - [md] md-cluster: introduce resync_info_get interface for sanity check (Nigel Croxon) [1661200] - [md] md-cluster/raid10: support add disk under grow mode (Nigel Croxon) [1661200] - [md] md-cluster/raid10: resize all the bitmaps before start reshape (Nigel Croxon) [1661200] - [md] MD: fix invalid stored role for a disk - try2 (Nigel Croxon) [1661200] - [md] md/bitmap: use mddev_suspend/resume instead of ->quiesce() (Nigel Croxon) [1661200] - [md] md: remove redundant code that is no longer reachable (Nigel Croxon) [1661200] - [md] md: allow metadata updates while suspending an array - fix (Nigel Croxon) [1661200] - [md] MD: fix invalid stored role for a disk (Nigel Croxon) [1661200] - [md] md/raid10: Fix raid10 replace hang when new added disk faulty (Nigel Croxon) [1661200] - [md] raid5: block failing device if raid will be failed (Nigel Croxon) [1661200] - [md] md-cluster: release RESYNC lock after the last resync message (Nigel Croxon) [1661200] - [md] RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0 (Nigel Croxon) [1661200] - [md] md/raid5-cache: disable reshape completely (Nigel Croxon) [1661200] - [md] md/raid5: fix data corruption of replacements after originals dropped (Nigel Croxon) [1661200] - [md] drivers/md/raid5: Do not disable irq on release_inactive_stripe_list() call (Nigel Croxon) [1661200] - [md] drivers/md/raid5: Use irqsave variant of atomic_dec_and_lock() (Nigel Croxon) [1661200] - [md] md/r5cache: remove redundant pointer bio (Nigel Croxon) [1661200] - [md] md-cluster: don't send msg if array is closing (Nigel Croxon) [1661200] - [md] md-cluster: show array's status more accurate (Nigel Croxon) [1661200] - [md] md-cluster: clear another node's suspend_area after the copy is finished (Nigel Croxon) [1661200] - [powerpc] KVM: PPC: Book3S HV: Add KVM stat largepages_[2M/1G] (Suraj Jitindar Singh) [1581563] - [tools] perf mem/c2c: Fix perf_mem_events to support powerpc (Steve Best) [1685084] - [powerpc] powerpc/perf: Add mem access events to sysfs (Steve Best) [1685084] - [netdrv] net-next/hinic: replace disable_irq_nosync/enable_irq (Xiaojun Tan) [1668958] - [powerpc] Fix access_ok() fallout for sparc32 and powerpc (Joe Lawrence) [1673980] - [x86] Remove 'type' argument from access_ok() function (Joe Lawrence) [1673980] - [arm64] arm64: move untagged_addr macro from uaccess.h to memory.h (Joe Lawrence) [1673980] - [powerpc] powerpc/uaccess: fix warning/error with access_ok() (Joe Lawrence) [1673980] - [netdrv] igb: shorten maximum PHC timecounter update interval (Corinna Vinschen) [1637098] - [netdrv] igb: shorten maximum PHC timecounter update interval (Corinna Vinschen) [1637098]- [rpmspec] redhat: speed up binary rpm compression (Denys Vlasenko) [1686921] - [netdrv] net/mlx5e: RX, Verify MPWQE stride size is in range (Alaa Hleihel) [1683589] - [fs] debugfs: Fix EPERM regression from kernel lockdown check (Lenny Szubowicz) [1686755] - [infiniband] IB/hfi1: Close race condition on user context disable and close (Alex Estrin) [1682927] - [rpmspec] redhat: parallelize modules compression (Denys Vlasenko) [1686404] - [arm64] arm64: Add workaround for Fujitsu A64FX erratum 010001 (Mark Langsdorf) [1666951] - [s390] vfio_ap: link the vfio_ap devices to the vfio_ap bus subsystem (Cornelia Huck) [1686044] - [drm] drm/cirrus: fix connector leak at unload (Rob Clark) [1685773] - [powerpc] powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback (Steve Best) [1685181] - [netdrv] net/mlx4_en: Force CHECKSUM_NONE for short ethernet frames (Alaa Hleihel) [1663914 1651509] - [netdrv] net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames (Alaa Hleihel) [1651509] - [include] Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso) [1670118]- [x86] x86/tsc: Make calibration refinement more robust (David Arcari) [1686254] - [powerpc] powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration (Steve Best) [1686756] - [rpmspec] parallelize "make mrproper" (Denys Vlasenko) [1686865] - [rpmspec] use "make -jN" (via _smp_mflags) for modules_install (Denys Vlasenko) [1686308] - [fs] xfs: zero length symlinks are not valid (Carlos Maiolino) [1589618] - [drm] drm/bufs: Fix Spectre v1 vulnerability (Rob Clark) [1663467] - [drm] drm/ioctl: Fix Spectre v1 vulnerabilities (Rob Clark) [1663467] - [scsi] scsi: lpfc: Update lpfc version to 12.2.0.0 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Update 12.2.0.0 file copyrights to 2019 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix nvmet issues when link bounce under IO load (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct upcalling nvmet_fc transport during io done downcall (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix default driver parameter collision for allowing NPIV support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Rework locking on SCSI io completion (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Enable SCSI and NVME fc4s by default (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Resize cpu maps structures based on possible cpus (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Utilize new IRQ API when allocating MSI-X vectors (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Rework EQ/CQ processing to address interrupt coalescing (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: convert eq_delay to usdelay (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Support non-uniform allocation of MSIX vectors to hardware queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix setting affinity hints to correlate with hardware queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Allow override of hardware queue selection policies (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adapt partitioned XRI lists to efficient sharing (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Synchronize hardware queues with SCSI MQ interface (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Convert ring number to hardware queue for nvme wqe posting. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Move SCSI and NVME Stats to hardware queue structures (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adapt cpucheck debugfs logic to Hardware Queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: Remove unused FCP_XRI_ABORT_EVENT slowpath event (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Partition XRI buffer list across Hardware Queues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Replace io_channels for nvme and fcp with general hdw_queues per cpu (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove extra vector and SLI4 queue for Expresslane (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Implement common IO buffers between NVME and SCSI (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: Remove excess check on NVME io submit code path (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: cleanup: remove nrport from nvme command structure (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: no need to check return value of debugfs_create functions (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Update lpfc version to 12.0.0.10 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Adding ability to reset chip via pci bus reset (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Add log messages to aid in debugging fc4type discovery issues (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix discovery failure when PLOGI is defered (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update fault value on successful trunk events. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct MDS loopback diagnostics support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix link state reporting for trunking when adapter is offline (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.9 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix dif and first burst use in write commands (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix driver release of fw-logging buffers (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct topology type reporting on G7 adapters (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct code setting non existent bits in sli4 ABORT WQE (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Defer LS_ACC to FLOGI on point to point logins (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: ls_rjt erroneus FLOGIs (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Cap NPIV vports to 256 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix kernel Oops due to null pring pointers (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix a duplicate 0711 log message number. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix panic when FW-log buffsize is not initialized (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix block guard enablement on SLI3 adapters (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Use dma_zalloc_coherent (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.8 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: add Trunking support (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Implement GID_PT on Nameserver query to support faster failover (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix odd recovery in duplicate FLOGIs in point-to-point (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct LCB RJT handling (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct errors accessing fw log (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Reset link or adapter instead of doing infinite nameserver PLOGI retry (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix lpfc_sli4_read_config return value check (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct speeds on SFP swap (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix remoteport access (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variables 'tgtp' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variable 'psli' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variables 'fc_hdr' and 'hw_page_size' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: fix spelling mistake "Resrouce" -> "Resource" (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: remove a bogus pci_dma_sync_single_for_device call (Dick Kennedy) [1665288] - [netdrv] PCI/AER: Remove pci_cleanup_aer_uncorrect_error_status() calls (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Synchronize access to remoteport via rport (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Remove set but not used variable 'sgl_size' (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: update driver version to 12.0.0.7 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: add support to retrieve firmware logs (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: reduce locking when updating statistics (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix errors in log messages. (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct invalid EQ doorbell write on if_type=6 (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct irq handling via locks when taking adapter offline (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct soft lockup when running mds diagnostics (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Correct race with abort on completion path (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Raise nvme defaults to support a larger io and more connectivity (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: raise sg count for nvme to use available sg resources (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Fix GFT_ID and PRLI logic for RSCN (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: remove an unnecessary NULL check (Dick Kennedy) [1665288] - [scsi] scsi: lpfc: Default fdmi_on to on (Dick Kennedy) [1665288] - [powerpc] powerpc/mm/hash: Increase vmalloc space with hash translation mode (Steve Best) [1676974] - [net] sunrpc: fix 4 more call sites that were using stack memory with a scatterlist (Scott Mayhew) [1679183] - [net] sunrpc: Don't use stack buffer with scatterlist (Scott Mayhew) [1679183] - [powerpc] powerpc/pseries: Perform full re-add of CPU for topology update post-migration (Steve Best) [1678209] - [fs] proc/stat: Make the interrupt statistics more efficient (Waiman Long) [1675168] - [kernel] genirq: Avoid summation loops for /proc/stat (Waiman Long) [1675168] - [powerpc] powerpc/pseries: fix EEH recovery of some IOV devices (Steve Best) [1676889] - [block] nvme: lock NS list changes while handling command effects (David Milburn) [1672759] - [powerpc] powerpc/radix: Fix kernel crash with mremap() (Steve Best) [1674186] - [crypto] crypto: ccp - fix the SEV probe in kexec boot path (Gary Hook) [1658806] - [netdrv] HDLC Frame Relay: mark driver unsupported in RHEL8 (John Linville) [1660627] - [netdrv] DLCI: mark driver unsupported in RHEL8 (John Linville) [1660627] - [netdrv] ethoc: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] dnet: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] dl2k: mark hardware unsupported in RHEL8 (John Linville) [1660627] - [netdrv] mark qla3xxx driver as unsupported (John Linville) [1658840] - [netdrv] sfc: initialise found bitmap in efx_ef10_mtd_probe (Jarod Wilson) [1668656] - [netdrv] sfc: suppress duplicate nvmem partition types in efx_ef10_mtd_probe (Jarod Wilson) [1668656] - [netdrv] sfc: extend MTD support for newer hardware (Jarod Wilson) [1668656] - [netdrv] sfc: add missing NVRAM partition types for EF10 (Jarod Wilson) [1668656] - [netdrv] ibmvnic: Fix non-atomic memory allocation in IRQ context (Steve Best) [1671474] - [netdrv] ibmvnic: Convert reset work item mutex to spin lock (Steve Best) [1671474] - [powerpc] powerpc/pseries: Export raw per-CPU VPA data via debugfs (Steve Best) [1608797] - [powerpc] powerpc/pseries: Export maximum memory value (Steve Best) [1608797] - [netdrv] ibmveth: Do not process frames after calling napi_reschedule (Desnes Augusto Nunes do Rosario) [1635577] - [cpufreq] cpufreq: powernv: Remove global pstate ramp-down timer in POWER9 (Steve Best) [1670030] - [of] of: __of_detach_node() - remove node from phandle cache (Steve Best) [1669198] - [of] of: of_node_get()/of_node_put() nodes held in phandle cache (Steve Best) [1669198] - [edac] EDAC, sb_edac: Fix signedness bugs in *_get_ha() functions (Aristeu Rozanski) [1641574] - [edac] EDAC, sb_edac: Fix reporting for patrol scrubber errors (Aristeu Rozanski) [1641574] - [documentation] proc.txt: Adding 'HardwareCorrupted' field and description. (Prashant Dhamdhere) [1658233] - [netdrv] qed: Fix command number mismatch between driver and the mfw (Chad Dupuis) [1663500] - Revert "[redhat] switch secureboot kernel image signing to release keys" ("Herton R. Krzesinski")- [arm64] revert "arm64: tlb: Avoid synchronous TLBIs when freeing page tables" (Christoph von Recklinghausen) [1685697]- [firmware] drivers/firmware: psci_checker: stash and use topology_core_cpumask for hotplug tests (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: re-introduce numa mask check for scheduler MC selection (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: rename llc_siblings to align with other struct members (Josh Poimboeuf) [1687101] - [arm64] arm64: smp: remove cpu and numa topology information when hotplugging out CPU (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: restrict updating siblings_masks to online cpus only (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: add support to remove cpu topology sibling masks (Josh Poimboeuf) [1687101] - [arm64] arm64: numa: separate out updates to percpu nodeid and NUMA node cpumap (Josh Poimboeuf) [1687101] - [arm64] arm64: topology: refactor reset_cpu_topology to add support for removing topology (Josh Poimboeuf) [1687101]- [fs] gfs2: Fix missed wakeups in find_insert_glock (Andreas Grunbacher) [1678907]- [firmware] efi: Reduce the amount of memblock reservations for persistent allocations (Bhupesh Sharma) [1682988] - [firmware] efi: Permit multiple entries in persistent memreserve data structure (Bhupesh Sharma) [1682988] - [kernel] cpu/hotplug: Create SMT sysfs interface for all arches (Josh Poimboeuf) [1686068] - [net] netfilter: nft_set_hash: bogus element self comparison from deactivation path (Florian Westphal) [1678574] - [net] netfilter: nft_set_hash: fix lookups with fixed size hash on big endian (Florian Westphal) [1678574]- [security] revert "Add a SysRq option to lift kernel lockdown" (Lenny Szubowicz) [1684348] - [s390] s390/setup: fix boot crash for machine without EDAT-1 (Philipp Rudo) [1677357] - [s390] s390/setup: fix early warning messages (Philipp Rudo) [1677357]- [netdrv] net: hns3: add 8 BD limit for tx flow (Xiaojun Tan) [1676771] - [netdrv] net: hns3: fix a SSU buffer checking bug (Xiaojun Tan) [1676771] - [netdrv] net: hns3: aligning buffer size in SSU to 256 bytes (Xiaojun Tan) [1676771] - [netdrv] net: hns3: getting tx and dv buffer size through firmware (Xiaojun Tan) [1676771] - [net] netfilter: nf_nat_snmp_basic: add missing length checks in ASN.1 cbs (Florian Westphal) [1676602] - [char] ipmi: fix use-after-free of user->release_barrier.rda (Xiaojun Tan) [1677550] - [char] ipmi: Prevent use-after-free in deliver_response (Xiaojun Tan) [1677550]- [x86] revert "cpu/hotplug: Add SMT policy options" (Josh Poimboeuf) [1683690] - [crypto] net: crypto set sk to NULL when af_alg_release (Neil Horman) [1679450] {CVE-2019-8912} - [drm] drm/i915/gvt: update force-to-nonpriv register whitelist (Paul Lai) [1643972] - [kernel] MODSIGN: Also check platform keyring in mod_verify_sig() (Lenny Szubowicz) [1568532] - [kernel] Fix for module sig verification (Lenny Szubowicz) [1568532] - [security] efi: Lock down the kernel if booted in secure boot mode (Lenny Szubowicz) [1568532] - [firmware] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (Lenny Szubowicz) [1568532] - [x86] Copy secure_boot flag in boot params across kexec reboot (Lenny Szubowicz) [1568532] - [fs] debugfs: Restrict debugfs when the kernel is locked down (Lenny Szubowicz) [1568532] - [mm] x86/mmiotrace: Lock down the testmmiotrace module (Lenny Szubowicz) [1568532] - [kernel] Lock down module params that specify hardware parameters (eg. ioport) (Lenny Szubowicz) [1568532] - [tty] Lock down TIOCSSERIAL (Lenny Szubowicz) [1568532] - [pcmcia] Prohibit PCMCIA CIS storage when the kernel is locked down (Lenny Szubowicz) [1568532] - [acpi] acpi: Disable ACPI table override if the kernel is locked down (Lenny Szubowicz) [1568532] - [acpi] acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down (Lenny Szubowicz) [1568532] - [acpi] ACPI: Limit access to custom_method when the kernel is locked down (Lenny Szubowicz) [1568532] - [x86] x86/msr: Restrict MSR access when the kernel is locked down (Lenny Szubowicz) [1568532] - [x86] x86: Lock down IO port access when the kernel is locked down (Lenny Szubowicz) [1568532] - [pci] PCI: Lock down BAR access when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] uswsusp: Disable when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] hibernate: Disable when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] kexec_load: Disable at runtime if the kernel is locked down (Lenny Szubowicz) [1568532] - [char] Restrict /dev/{mem, kmem, port} when the kernel is locked down (Lenny Szubowicz) [1568532] - [kernel] MODSIGN: Enforce module signatures if the kernel is locked down (Lenny Szubowicz) [1568532] - [security] Add a SysRq option to lift kernel lockdown (Lenny Szubowicz) [1568532] - [security] Add the ability to lock down access to the running kernel image (Lenny Szubowicz) [1568532]- [net] tun: forbid iface creation with rtnl ops (Sabrina Dubroca) [1680969] - [net] revert "bridge: do not add port to router list when receives query with source 0.0.0.0" (Hangbin Liu) [1679896] - [net] sctp: walk the list of asoc safely (Marcelo Leitner) [1679920] {CVE-2019-8956} - [net] netfilter: nf_nat: skip nat clash resolution for same-origin entries (Florian Westphal) [1677647] - [net] netfilter: nf_conntrack: resolve clash for matching conntracks (Florian Westphal) [1677647] - [net] netfilter: nf_tables: fix flush after rule deletion in the same batch (Phil Sutter) [1677672] - [net] gro_cell: add napi_disable in gro_cells_destroy (Stefano Brivio) [1674408] - [net] sctp: call gso_reset_checksum when computing checksum in sctp_gso_segment (Xin Long) [1669386] - [net] ipvs: fix dependency on nf_defrag_ipv6 (Andrea Claudi) [1660808] - [net] sctp: check and update stream->out_curr when allocating stream_out (Xin Long) [1651877]- [x86] cpu/hotplug: Add SMT policy options (Josh Poimboeuf) [1677405]- [kernel] open the RHEL 8.1 development ("Herton R. Krzesinski") - [pci] pci/quirks: Add quirk to reset nvgpu at boot for the Lenovo ThinkPad P50 (Lyude Paul) [1677022] - [arm64] arm64, vmcoreinfo : Append 'MAX_USER_VA_BITS' to vmcoreinfo (Bhupesh Sharma) [1672962] - [md] dm thin: fix bug where bio that overwrites thin block ignores FUA (Mike Snitzer) [1679211] - [pci] PCI: Fix "try" semantics of bus and slot reset (Myron Stowe) [1662901] - [acpi] acpi/nfit: Fix bus command validation (Jeff Moyer) [1673958] - [pci] PCI/MSI: Return -ENOSPC from pci_alloc_irq_vectors_affinity() (Myron Stowe) [1667773] - [fs] NFS: Don't use page_file_mapping after removing the page (Benjamin Coddington) [1664190] - [fs] NFS: Fix up return value on fatal errors in nfs_page_async_flush() (Benjamin Coddington) [1664190] - [md] md: fix raid10 hang issue caused by barrier (Xiao Ni) [1630921] - [md] md/raid1: don't clear bitmap bits on interrupted recovery. (Xiao Ni) [1677360] - [virt] kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974) (Paolo Bonzini) [1673843] {CVE-2019-6974} - [block] blk-mq: fix a hung issue when fsync (Ming Lei) [1674399] - [block] Revert "block: cover another queue enter recursion via BIO_QUEUE_ENTERED" (Ming Lei) [1673966] - [tools] perf tools: Check for null when copying nsinfo. (Jiri Olsa) [1676451] - [iommu] iommu/amd: Fix IOMMU page flush when detach device from a domain (Suravee Suthikulpanit) [1672476]- [kernel] namespace: Add padding fix to user_table[] (Prarit Bhargava) [1677103] - [x86] KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221) (Paolo Bonzini) [1673841] {CVE-2019-7221} - [scsi] scsi: sd: fix entropy gathering for most rotational disks (Ewan Milne) [1676735] - [scsi] scsi: sd: Contribute to randomness when running rotational device (Ewan Milne) [1676735] - [rpmspec] Revert "Drop -doc subpackage" (Prarit Bhargava) [1657609] - [net] svcrdma: Remove max_sge check at connect time (Don Dutile) [1638869] - [net] svcrdma: Reduce max_send_sges (Don Dutile) [1638869] - [arm64] arm64: mm: Introduce MAX_USER_VA_BITS definition (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Rewrite stale comment in asm/tlbflush.h (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Avoid synchronous TLBIs when freeing page tables (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Remove redundant !CONFIG_HAVE_RCU_TABLE_FREE code (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlbflush: Allow stride to be specified for __flush_tlb_range() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Justify non-leaf invalidation in flush_tlb_range() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Add DSB ISHST prior to TLBI in __flush_tlb_[kernel_]pgtable() (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlb: Use last-level invalidation in flush_tlb_kernel_range() (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: EXPORT vabits_user to modules (Christoph von Recklinghausen) [1672997] - [arm64] arm64: fix ARM64_USER_VA_BITS_52 builds (Christoph von Recklinghausen) [1672997] - [arm64] arm64: Kconfig: Re-jig CONFIG options for 52-bit VA (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Allow forcing all userspace addresses to 52-bit (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: introduce 52-bit userspace support (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Prevent mismatched 52-bit VA support (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Offset TTBR1 to allow 52-bit PTRS_PER_PGD (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Define arch_get_mmap_end, arch_get_mmap_base (Christoph von Recklinghausen) [1672997] - [firmware] arm64: mm: Introduce DEFAULT_MAP_WINDOW (Christoph von Recklinghausen) [1672997] - [mm] mm: mmap: Allow for "high" userspace addresses (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: apply r/o permissions of VM areas to its linear alias as well (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: purge lazily unmapped vm regions before changing permissions (Christoph von Recklinghausen) [1672997] - [arm64] arm64: mm: Don't wait for completion of TLB invalidation when page aging (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: Use __pa_symbol() for set_swapper_pgd() (Christoph von Recklinghausen) [1672997] - [mm] arm64: mm: Drop the unused cpu parameter (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: move runtime pgds to rodata (Christoph von Recklinghausen) [1672997] - [mm] arm64/mm: use fixmap to modify swapper_pg_dir (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: Separate boot-time page tables from swapper_pg_dir (Christoph von Recklinghausen) [1672997] - [arm64] arm64/mm: Pass ttbr1 as a parameter to __enable_mmu() (Christoph von Recklinghausen) [1672997] - [mm] arm64: fix erroneous warnings in page freeing functions (Christoph von Recklinghausen) [1672997] - [mm] arm64: Implement page table free interfaces (Christoph von Recklinghausen) [1672997] - [arm64] arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable (Christoph von Recklinghausen) [1672997] - [lib] ioremap: Update pgtable free interfaces with addr (Christoph von Recklinghausen) [1672997] - [mm] x86/mm: Disable ioremap free page handling on x86-PAE (Christoph von Recklinghausen) [1672997] - [arm64] arm64: KVM: Enable Common Not Private translations (Christoph von Recklinghausen) [1504991] - [arm64] arm64: mm: Support Common Not Private translations (Christoph von Recklinghausen) [1504991] - [kernel] cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM (Igor Mammedov) [1668147] - [tools] perf tools: Compile perf with -g instead of -ggdb3 to workaround gdb crash (Jiri Olsa) [1667109]- [fs] Revert "gfs2: Fix loop in gfs2_rbm_find" (Andreas Grunbacher) [1658528] - [net] bpf: fix sanitation of alu op with pointer / scalar type from different paths (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: prevent out of bounds speculation on pointer arithmetic (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: move {prev_,}insn_idx into verifier env (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf/verifier: per-register parent pointers (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: restrict unknown scalars of mixed signed bounds for unprivileged (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: Simplify ptr_min_max_vals adjustment (Jiri Olsa) [1673631] {CVE-2019-7308} - [net] bpf: fix inner map masking to prevent oob under speculation (Jiri Olsa) [1673631] {CVE-2019-7308} - [include] KABI: struct class padding (Prarit Bhargava) [1670035] - [include] KABI: struct timer_list padding (Prarit Bhargava) [1670035] - [include] KABI: struct irq_domain padding (Prarit Bhargava) [1670035] - [nvdimm] libnvdimm, pmem: Fix badblocks population for 'raw' namespaces (Jeff Moyer) [1672315] - [netdrv] net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance (Alaa Hleihel) [1648230] - [kernel] exec: increase BINPRM_BUF_SIZE to 256 (Oleg Nesterov) [1447445]- [include] KABI: struct kset padding (Prarit Bhargava) [1669796] - [include] KABI: struct kobject and kobj_type padding (Prarit Bhargava) [1669796] - [include] KABI: struct delayed_work padding (Prarit Bhargava) [1669796] - [include] KABI: struct work_struct padding (Prarit Bhargava) [1669796] - [include] KABI: struct hrtimer padding (Prarit Bhargava) [1669796] - [include] KABI: struct user_namespace padding (Prarit Bhargava) [1669796] - [include] KABI: struct resource padding (Prarit Bhargava) [1669796] - [include] KABI: Protect device_driver struct (Prarit Bhargava) [1666316] - [include] KABI: Protect radix functions (Prarit Bhargava) [1669079] - [char] ipmi: msghandler: Fix potential Spectre v1 vulnerabilities (Tony Camuso) [1672582] - [vhost] vhost: fix OOB in get_rx_bufs() (Jason Wang) [1668665] {CVE-2018-16880}- [md] dm: don't use bio_trim() afterall (Mike Snitzer) [1673657] - [md] dm: add memory barrier before waitqueue_active (Mike Snitzer) [1673110] - [x86] x86: uaccess: Inhibit speculation past access_ok() in user_access_begin() (Joe Lawrence) [1670113] {CVE-2018-20669} - [kernel] make 'user_access_begin()' do 'access_ok()' (Joe Lawrence) [1670113] {CVE-2018-20669} - [drm] i915: fix missing user_access_end() in page fault exception case (Joe Lawrence) [1670113] {CVE-2018-20669} - [drm] drm/i915: Force the slow path after a user-write error (Joe Lawrence) [1670113] {CVE-2018-20669} - [x86] x86/microcode/amd: Don't falsely trick the late loading mechanism (David Arcari) [1654904] - [fs] iomap: get/put the page in iomap_page_create/release() (Artem Savkov) [1664298] - [scsi] scsi: qla2xxx: Add new FC-NVMe enable BIT to enable FC-NVMe feature (Himanshu Madhani) [1671569] - [message] mptsas: pci-id table changes (Tomas Henzl) [1666730] - [message] mptsas: Taint kernel if mptsas is loaded (Tomas Henzl) [1666730] - [kernel] genirq/matrix: Improve target CPU selection for managed interrupts. (Gary Hook) [1669557] - [kernel] irq/matrix: Spread managed interrupts on allocation (Gary Hook) [1669557] - [kernel] irq/matrix: Split out the CPU selection code into a helper (Gary Hook) [1669557] - [net] sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach() (Stefano Brivio) [1671680] - [net] geneve: should not call rt6_lookup() when ipv6 was disabled (Stefano Brivio) [1671680] - [net] netfilter: physdev: relax br_netfilter dependency (Phil Sutter) [1650382] - [net] netfilter: nf_tables: add NFTA_RULE_POSITION_ID to nla_policy (Phil Sutter) [1670563] - [net] netfilter: nf_tables: Support RULE_ID reference in new rule (Phil Sutter) [1670563] - [net] rtnetlink: fix incorrect handling of device stats passed to userspace (Ivan Vecera) [1668298] - [net] netfilter: nf_tables: handle nft_object lookups via rhltable (Phil Sutter) [1659725] - [net] netfilter: nf_tables: prepare nft_object for lookups via hashtable (Phil Sutter) [1659725] - [net] netfilter: nf_tables: selective rule dump needs table to be specified (Phil Sutter) [1659725] - [net] netfilter: nf_tables: Fix for endless loop when dumping ruleset (Phil Sutter) [1659725] - [net] netfilter: nf_tables: Speed up selective rule dumps (Phil Sutter) [1659725] - [net] exclude sock_reuseport from kABI protection (Paolo Abeni) [1665984] - [include] KABI: struct device padding (Don Dutile) [1664445] - [include] KABI: struct dma_map_ops padding (Don Dutile) [1664482] - [kernel] swiotlb: clear io_tlb_start and io_tlb_end in swiotlb_exit (Don Dutile) [1664484] - [kernel] dma-mapping: remove a few unused exports (Don Dutile) [1664484] - [include] dma-mapping: properly stub out the DMA API for !CONFIG_HAS_DMA (Don Dutile) [1664484] - [kernel] dma-mapping: remove dmam_{declare,release}_coherent_memory (Don Dutile) [1664484] - [kernel] dma-mapping: implement dmam_alloc_coherent using dmam_alloc_attrs (Don Dutile) [1664484] - [include] dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs (Don Dutile) [1664484] - [include] dma-mapping: fix flags in dma_alloc_wc (Don Dutile) [1664484] - [include] dma-mapping: deprecate dma_zalloc_coherent (Don Dutile) [1664484] - [arm64] arm64: default to the direct mapping in get_arch_dma_ops (Don Dutile) [1664484] - [kernel] dma-mapping: fix inverted logic in dma_supported (Don Dutile) [1664484] - [include] dma-mapping: bypass indirect calls for dma-direct (Don Dutile) [1664484] - [kernel] dma-direct: merge swiotlb_dma_ops into the dma_direct code (Don Dutile) [1664484] - [kernel] dma-direct: do not include SME mask in the DMA supported check (Don Dutile) [1664484] - [kernel] dma-direct: use dma_direct_map_page to implement dma_direct_map_sg (Don Dutile) [1664484] - [kernel] dma-direct: improve addressability error reporting (Don Dutile) [1664484] - [kernel] dma-direct: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [xen] swiotlb: remove dma_mark_clean (Don Dutile) [1664484] - [xen] swiotlb: remove SWIOTLB_MAP_ERROR (Don Dutile) [1664484] - [xen] xen-swiotlb: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [kernel] swiotlb: Skip cache maintenance on map error (Don Dutile) [1664484] - [kernel] swiotlb: add support for non-coherent DMA (Don Dutile) [1664484] - [kernel] swiotlb: mark is_swiotlb_buffer static (Don Dutile) [1664484] - [kernel] swiotlb: remove a pointless comment (Don Dutile) [1664484] - [kernel] swiotlb: clean up reporting (Don Dutile) [1664484] - [kernel] dma-direct: reject highmem pages from dma_alloc_from_contiguous (Don Dutile) [1664484] - [kernel] dma-direct: provide page based alloc/free helpers (Don Dutile) [1664484] - [include] dma-direct: Make DIRECT_MAPPING_ERROR viable for SWIOTLB (Don Dutile) [1664484] - [kernel] dma-direct: respect DMA_ATTR_NO_WARN (Don Dutile) [1664484] - [kernel] dma-direct: document the zone selection logic (Don Dutile) [1664484] - [kernel] dma-direct: fix return value of dma_direct_supported (Don Dutile) [1664484] - [kernel] dma-direct: always allow dma mask <= physiscal memory size (Don Dutile) [1664484] - [kernel] dma-direct: implement complete bus_dma_mask handling (Don Dutile) [1664484] - [kernel] dma-direct: refine dma_direct_alloc zone selection (Don Dutile) [1664484] - [kernel] dma-direct: add an explicit dma_direct_get_required_mask (Don Dutile) [1664484] - [kernel] kernel/dma/direct: take DMA offset into account in dma_direct_supported (Don Dutile) [1664484] - [kernel] dma-mapping: factor out dummy DMA ops (Don Dutile) [1664484] - [mm] arm64: dma-mapping: Fix FORCE_CONTIGUOUS buffer clearing (Don Dutile) [1664484] - [iommu] iommu/dma-iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/vt-d: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/intel: small map_page cleanup (Don Dutile) [1664484] - [iommu] intel-iommu: mark intel_dma_ops static (Don Dutile) [1664484] - [iommu] ia64: remove iommu_dma_supported (Don Dutile) [1664484] - [iommu] iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [iommu] iommu/dma: Use fast DMA domain lookup (Don Dutile) [1664484] - [x86] x86/amd_gart: fix unmapping of non-GART mappings (Don Dutile) [1664484] - [x86] x86/amd_gart: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [mm] arm64: remove the dummy_dma_ops mapping_error method (Don Dutile) [1664484] - [powerpc] powerpc: Do not redefine NEED_DMA_MAP_STATE (Don Dutile) [1664484] - [powerpc] powerpc/iommu: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [s390] s390: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [kernel] dma-mapping: always build the direct mapping code (Don Dutile) [1664484] - [kernel] dma-mapping: move dma_cache_sync out of line (Don Dutile) [1664484] - [kernel] dma-mapping: move various slow path functions out of line (Don Dutile) [1664484] - [base] dma-mapping: move dma_get_required_mask to kernel/dma (Don Dutile) [1664484] - [base] dma-mapping: move dma_default_get_required_mask under ifdef (Don Dutile) [1664484] - [include] dma-mapping: merge dma_unmap_page_attrs and dma_unmap_single_attrs (Don Dutile) [1664484] - [include] dma-mapping: simplify the dma_sync_single_range_for_{cpu,device} implementation (Don Dutile) [1664484] - [include] dma-mapping: return an error code from dma_mapping_error (Don Dutile) [1664484] - [pci] dma-mapping: remove the mapping_error dma_map_ops method (Don Dutile) [1664484] - [include] dma-mapping: provide a generic DMA_MAPPING_ERROR (Don Dutile) [1664484] - [kernel] dma-mapping: move the arm64 noncoherent alloc/free support to common code (Don Dutile) [1664484] - [mm] arm64: fix warnings without CONFIG_IOMMU_DMA (Don Dutile) [1664484] - [arm64] arm64: use the generic swiotlb_dma_ops (Don Dutile) [1664484] - [kernel] swiotlb: don't dip into swiotlb pool for coherent allocations (Don Dutile) [1664484] - [kernel] swiotlb: refactor swiotlb_map_page (Don Dutile) [1664484] - [kernel] swiotlb: use swiotlb_map_page in swiotlb_map_sg_attrs (Don Dutile) [1664484] - [kernel] swiotlb: merge swiotlb_unmap_page and unmap_single (Don Dutile) [1664484] - [kernel] swiotlb: remove the overflow buffer (Don Dutile) [1664484] - [kernel] swiotlb: do not panic on mapping failures (Don Dutile) [1664484] - [mm] arm64/dma-mapping: Mildly optimise non-coherent IOMMU ops (Don Dutile) [1664484] - [iommu] iommu: Add fast hook for getting DMA domains (Don Dutile) [1664484] - [iommu] iommu: Remove the ->map_sg indirection (Don Dutile) [1664484] - [iommu] kernel/dma: remove unsupported gfp_mask parameter from dma_alloc_from_contiguous() (Don Dutile) [1664484] - [mm] mm/cma: remove unsupported gfp_mask parameter from cma_alloc() (Don Dutile) [1664484] - [kernel] dma-mapping: move the remap helpers to a separate file (Don Dutile) [1664484] - [include] dma-mapping: fix return type of dma_set_max_seg_size() (Don Dutile) [1664484] - [include] dma-mapping: translate __GFP_NOFAIL to DMA_ATTR_NO_WARN (Don Dutile) [1664484] - [include] dma-debug: Check for drivers mapping invalid addresses in dma_map_single() (Don Dutile) [1664484] - [base] dma-mapping: make the get_required_mask method available unconditionally (Don Dutile) [1664484] - [xen] dma-mapping: support non-coherent devices in dma_common_get_sgtable (Don Dutile) [1664484] - [kernel] dma-mapping: consolidate the dma mmap implementations (Don Dutile) [1664484] - [kernel] dma-mapping: merge direct and noncoherent ops (Don Dutile) [1664484] - [include] dma-mapping: move the dma_coherent flag to struct device (Don Dutile) [1664484] - [include] dma-mapping: remove dma_deconfigure (Don Dutile) [1664484] - [base] dma-mapping: remove dma_configure (Don Dutile) [1664484] - [include] dma-mapping: relax warning for per-device areas (Don Dutile) [1664484] - [kernel] dma-mapping: add the missing ARCH_HAS_SYNC_DMA_FOR_CPU_ALL declaration (Don Dutile) [1664484] - [kernel] dma-noncoherent: add a arch_sync_dma_for_cpu_all hook (Don Dutile) [1664484] - [block] deprecate elevator= kernel parameter (Jeff Moyer) [1665295] - [rpmspec] kernel.spec: disable kabi checks until RC (=?UTF-8?q?=C4=8Cestm=C3=ADr=20Kalina?=) [1671007] - [iommu] iommu/amd: Unmap all mapped pages in error path of map_sg (Jerry Snitselaar) [1668448] - [iommu] iommu/amd: Call free_iova_fast with pfn in map_sg (Jerry Snitselaar) [1668448]- [arm64] arm64, vmcoreinfo : Append 'MAX_PHYSMEM_BITS' to vmcoreinfo (Bhupesh Sharma) [1666679] - [kernel] sched/debug: Initialize sd_sysctl_cpus if !CONFIG_CPUMASK_OFFSTACK (Joe Lawrence) [1667840] - [init] Small change to the message about certified hardware (Steve Best) [1671765] - [x86] x86/kdump: make the behavior of crashkernel=X consistent with kaslr (Pingfan Liu) [1640799] - [x86] Add back support for Intel processors (Steve Best) [1670529] - [net] SUNRPC: Clean up initialisation of the struct rpc_rqst (Benjamin Coddington) [1650494] - [x86] KABI, x86/paravirt: Protect paravirt ops structures (Waiman Long) [1669957] - [include] KABI: struct module padding (Prarit Bhargava) [1669480] - [include] KABI: struct stack_trace_struct padding (Prarit Bhargava) [1669480] - [documentation] iommu: Fix passthrough option documentation (Gary Hook) [1658391] - [iommu] iommu: Add config option to set passthrough as default (Gary Hook) [1658391] - [kernel] redhat: kernel: clean up taint flags (Jiri Benc) [1654313]- [scsi] scsi: qedi: Add the CRC size within iSCSI NVM image (Charles Rose) [1670186] - [fs] iomap: don't search past page end in iomap_is_partially_uptodate (Eric Sandeen) [1657588] - [netdrv] cxgb4: update supported DCB version (Arjun Vynipadath) [1668571] - [x86] kexec, KEYS: Make use of platform keyring for signature verify (Kairui Song) [1640486] - [security] integrity, KEYS: add a reference to platform keyring (Kairui Song) [1640486] - [security] efi: Allow the "db" UEFI variable to be suppressed (Kairui Song) [1640486] - [security] efi: Import certificates from UEFI Secure Boot (Kairui Song) [1640486] - [security] efi: Add an EFI signature blob parser (Kairui Song) [1640486] - [include] efi: Add EFI signature data types (Kairui Song) [1640486] - [security] integrity: Load certs to the platform keyring (Kairui Song) [1640486] - [security] integrity: Define a trusted platform keyring (Kairui Song) [1640486] - [security] security/integrity: remove unnecessary 'init_keyring' variable (Kairui Song) [1640486] - [x86] Fix kexec forbidding kernels signed with keys in the secondary keyring to boot (Kairui Song) [1640486] - [crypto] Replace magic for trusting the secondary keyring with #define (Kairui Song) [1640486] - [acpi] acpi/nfit: Fix command-supported detection (Jeff Moyer) [1665812] - [acpi] acpi/nfit: Block function zero DSMs (Jeff Moyer) [1665812] - [md] dm: add missing trace_block_split() to __split_and_process_bio() (Mike Snitzer) [1645283] - [md] dm: fix dm_wq_work() to only use __split_and_process_bio() if appropriate (Mike Snitzer) [1645283] - [md] dm: fix redundant IO accounting for bios that need splitting (Mike Snitzer) [1645283] - [md] dm: fix clone_bio() to trigger blk_recount_segments() (Mike Snitzer) [1645283] - [block] block: cover another queue enter recursion via BIO_QUEUE_ENTERED (Mike Snitzer) [1645283] - [md] dm thin: fix passdown_double_checking_shared_status() (Mike Snitzer) [1668039] - [tools] bpftool: Fix prog dump by tag (Jiri Olsa) [1667305] - [arm64] arm64: ftrace: Fix to enable syscall events on arm64 (Don Dutile) [1668035] - [arm64] arm64: implement syscall wrappers (Don Dutile) [1668035] - [arm64] arm64: convert compat wrappers to C (Don Dutile) [1668035] - [arm64] arm64: use SYSCALL_DEFINE6() for mmap (Don Dutile) [1668035] - [arm64] arm64: use {COMPAT,}SYSCALL_DEFINE0 for sigreturn (Don Dutile) [1668035] - [arm64] arm64: remove in-kernel call to sys_personality() (Don Dutile) [1668035] - [include] kernel: add ksys_personality() (Don Dutile) [1668035] - [arm64] arm64: drop alignment from syscall tables (Don Dutile) [1668035] - [arm64] arm64: entry: remove unused register aliases (Don Dutile) [1668035] - [arm64] arm64: convert native/compat syscall entry to C (Don Dutile) [1668035] - [arm64] arm64: svc: Ensure hardirq tracing is updated before return (Don Dutile) [1668035] - [arm64] arm64: convert syscall trace logic to C (Don Dutile) [1668035] - [arm64] arm64: move sve_user_{enable,disable} to (Don Dutile) [1668035] - [arm64] arm64: kill change_cpacr() (Don Dutile) [1668035] - [arm64] arm64: convert raw syscall invocation to C (Don Dutile) [1668035] - [arm64] arm64: introduce syscall_fn_t (Don Dutile) [1668035] - [arm64] arm64: remove sigreturn wrappers (Don Dutile) [1668035] - [arm64] arm64: rseq: Implement backend rseq calls and select HAVE_RSEQ (Don Dutile) [1668035] - [sound] ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock (Jaroslav Kysela) [1664249] - [infiniband] IB/hfi1: Fix an out-of-bounds access in get_hw_stats (Alex Estrin) [1667104] - [infiniband] IB/hfi1: Incorrect sizing of sge for PIO will OOPs (Alex Estrin) [1667095] - [drm] drm/nouveau: register backlight on pascal and newer (Ben Skeggs) [1664899] - [drm] drm/nouveau/disp/gm200-: enforce identity-mapped SOR assignment for LVDS/eDP panels (Ben Skeggs) [1664899] - [drm] drm/nouveau/disp: move eDP panel power handling (Ben Skeggs) [1664899] - [drm] drm/nouveau/devinit: don't fail when PMU/PRE_OS is missing from VBIOS (Ben Skeggs) [1664899] - [kernel] locking/rwsem: Fix (possible) missed wakeup (Waiman Long) [1668014] - [kernel] futex: Fix (possible) missed wakeup (Waiman Long) [1668014] - [kernel] sched/wake_q: Fix wakeup ordering for wake_q (Waiman Long) [1668014] - [kernel] sched/wake_q: Document wake_q_add() (Waiman Long) [1668014] - [kernel] sched/wait: Fix rcuwait_wake_up() ordering (Waiman Long) [1668014] - [kernel] sched/Documentation: Update wake_up() & co. memory-barrier guarantees (Waiman Long) [1668014] - [kvm] KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Book3S HV: Cleanups - constify memslots, fix comments (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Book3S HV: Map single pages when doing dirty page logging (Laurent Vivier) [1650386] - [kvm] KVM: PPC: Pass change type down to memslot commit function (Laurent Vivier) [1650386] - [vhost] vhost: log dirty page correctly (Jason Wang) [1657578] - [netdrv] netxen: taint as unsupported in RHEL8 (Tony Camuso) [1654825] - [hid] HID: hiddev: fix potential Spectre v1 (Benjamin Tissoires) [1664611] - [net] resort to custom code for sk_buff padding (Paolo Abeni) [1665984] - [net] add padding to cipher_context (Paolo Abeni) [1665984] - [net] add padding to tls_crypto_context (Paolo Abeni) [1665984] - [net] add padding to ipv4_devconf (Paolo Abeni) [1665984] - [net] ip6mr: Fix potential Spectre v1 vulnerability (Stefano Brivio) [1663472] - [net] ipv4: Fix potential Spectre v1 vulnerability (Stefano Brivio) [1663472] - [include] add KABI padding to file_system_type (Eric Sandeen) [1665320 1650565] - [include] add KABI padding to multiple fs ops vectors (Eric Sandeen) [1665320] - [fs] add KABI padding to dentry structure (Eric Sandeen) [1665320] - [fs] add KABI padding to inode structure (Eric Sandeen) [1665320] - [include] add KABI padding to file_lock structure (Eric Sandeen) [1665320] - [include] KABI: add an iopoll method to struct file_operations (Eric Sandeen) [1665320] - [sound] ALSA: emux: Fix potential Spectre v1 vulnerabilities (Jaroslav Kysela) [1663477] - [sound] ALSA: pcm: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1663477] - [sound] ALSA: rme9652: Fix potential Spectre v1 vulnerability (Jaroslav Kysela) [1663477] - [sound] ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities (Jaroslav Kysela) [1663477] - [powerpc] powerpc/tm: Unset MSR[TS] if not recheckpointing (Gustavo Duarte) [1663853] - [netdrv] r8152: Add support for MAC address pass through on RTL8153-BND (Perry Yuan) [1658433] - [hid] HID: debug: fix the ring buffer implementation (Tony Camuso) [1669469] {CVE-2019-3819}- [netdrv] net: hns: Fix WARNING when hns modules installed (Xiaojun Tan) [1662120] - [netdrv] net: hns: Fix ping failed when use net bridge and send multicast (Xiaojun Tan) [1662120] - [netdrv] net: hns: Add mac pcs config when enable|disable mac (Xiaojun Tan) [1662120] - [netdrv] net: hns: Fix ntuple-filters status error. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Free irq when exit from abnormal branch (Xiaojun Tan) [1662120] - [netdrv] net: hns: Clean rx fbd when ae stopped. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Some registers use wrong address according to the datasheet. (Xiaojun Tan) [1662120] - [netdrv] net: hns: All ports can not work when insmod hns ko after rmmod. (Xiaojun Tan) [1662120] - [netdrv] net: hns: Incorrect offset address used for some registers. (Xiaojun Tan) [1662120] - [include] ipmi: RH_KABI macros to pad kabi exposed structs (Tony Camuso) [1658175] - [scsi] reserve space in structures for KABI (Ewan Milne) [1664397]- [include] PCI: Add reserved fields to 'struct hotplug_slot' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct hotplug_slot_ops' (Myron Stowe) [1663534] - [pci] PCI: Add reserved fields to 'struct pci_sriov' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct pci_driver' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields to 'struct pci_bus' (Myron Stowe) [1663534] - [include] PCI: Add reserved fields, and extension, to 'struct pci_dev' (Myron Stowe) [1663534] - [pci] PCI: Add missing include to drivers/pci.h (Myron Stowe) [1663534] - [pci] PCI/IOV: Use VF0 cached config space size for other VFs (Myron Stowe) [1663534] - [include] PCI: always include 'p2pdma' in 'struct pci_dev' (Myron Stowe) [1663534] - [ata] PCI: Remove pci_set_dma_max_seg_size() (Myron Stowe) [1663534] - [pci] PCI: Remove pci_set_dma_seg_boundary() (Myron Stowe) [1663534] - [include] PCI: Remove pci_unmap_addr() wrappers for DMA API (Myron Stowe) [1663534] - [pci] PCI/AER: Abstract AER interrupt handling (Myron Stowe) [1663534] - [pci] PCI: Uninline PCI bus accessors for better ftracing (Myron Stowe) [1663534] - [pci] PCI/portdrv: Add runtime PM hooks for port service drivers (Myron Stowe) [1663534] - [pci] PCI: Make link active reporting detection generic (Myron Stowe) [1663534] - [block] block: don't lose track of REQ_INTEGRITY flag (Ming Lei) [1665684] - [nvme] nvme-pci: fix nvme_setup_irqs() (Ming Lei) [1661439] - [lib] sbitmap: Protect swap_lock from hardirq (Ming Lei) [1666192] - [lib] sbitmap: Protect swap_lock from softirqs (Ming Lei) [1666192] - [scsi] scsi: isci: initialize shost fully before calling scsi_add_host() (Ming Lei) [1664918] - [nvme] nvmet-fc: Mark NVMe/FC target mode driver as unsupported (Ewan Milne) [1664838] - [netdrv] bnx2x: Assign unique DMAE channel number for FW DMAE transactions. (Jonathan Toppins) [1638306] - [fs] block: don't use un-ordered __set_current_state(TASK_UNINTERRUPTIBLE) (Ming Lei) [1664580] - [netdrv] qed: Wait for ready indication before rereading the shmem (Chad Dupuis) [1652417] - [netdrv] qed: Avoid sending mailbox commands when MFW is not responsive (Chad Dupuis) [1652417] - [netdrv] qed: Wait for MCP halt and resume commands to take place (Chad Dupuis) [1652417] - [netdrv] qed: Prevent a possible deadlock during driver load and unload (Chad Dupuis) [1652417] - [fs] gfs2: Fix loop in gfs2_rbm_find (Andreas Grunbacher) [1658528] - [fs] gfs2: Get rid of potential double-freeing in gfs2_create_inode (Andreas Grunbacher) [1658539]- [vhost] vhost/vsock: fix vhost vsock cid hashing inconsistent (Stefan Hajnoczi) [1619848] {CVE-2018-14625} - [vhost] vhost/vsock: fix use-after-free in network stack callers (Stefan Hajnoczi) [1619848] {CVE-2018-14625} - [netdrv] bnx2x: Add VF spoof-checking configuration (Jonathan Toppins) [1646842] - [netdrv] net-next: hinic: fix a problem in free_tx_poll() (Xiaojun Tan) [1642016] - [netdrv] net: hns: fix for unmapping problem when SMMU is on (Xiaojun Tan) [1640526] - [netdrv] net: hns: add netif_carrier_off before change speed and duplex (Xiaojun Tan) [1640526] - [netdrv] net: hns: add the code for cleaning pkt in chip (Xiaojun Tan) [1640526] - [netdrv] net: hns: modify variable type in hns_nic_reuse_page (Xiaojun Tan) [1640526]- [irqchip] Mark GICv2 deprecated (Wei Huang) [1609391] - [scsi] qla2xxx: Use correct number of vectors for online CPUs (Himanshu Madhani) [1644058] - [scsi] megaraid_sas: mark Aero controllers as tech preview (Tomas Henzl) [1659972] - [scsi] megaraid_sas: add retry logic in megasas_readl (Tomas Henzl) [1659972] - [scsi] scsi: megaraid_sas: Introduce new Aero adapter type (Tomas Henzl) [1659972] - [scsi] scsi: megaraid_sas: Fix Ventura series based checks (Tomas Henzl) [1659972] - [scsi] scsi: libfc: retry PRLI if we cannot analyse the payload (Chris Leech) [1631843] - [scsi] scsi: libfc: check fc_frame_payload_get() return value for null (Chris Leech) [1631843] - [scsi] scsi: libfc: hold disc_mutex in fc_disc_stop_rports() (Chris Leech) [1631843] - [scsi] scsi: libfc: fixup lockdep annotations (Chris Leech) [1631843] - [scsi] scsi: libfc: fixup 'sleeping function called from invalid context' (Chris Leech) [1631843] - [scsi] scsi: libfc: Add lockdep annotations (Chris Leech) [1631843] - [md] dm crypt: fix parsing of extended IV arguments (Mike Snitzer) [1665290] - [kernel] redhat: kabi: reserved padding for kernel sched data structures (Rafael Aquini) [1664858] - [kernel] redhat: kabi: reserved padding for MM related data structures (Rafael Aquini) [1664858] - [vfio] vfio/type1: Fix unmap overflow off-by-one (Alex Williamson) [1662291] - [message] mptspi: pci-id table changes (Tomas Henzl) [1651803] - [message] mptspi: Taint kernel if mptspi is loaded (Tomas Henzl) [1651803] - [block] kabi: reserve space for public data structure (Ming Lei) [1551939] - [block] kabi: reserve space for blk-mq related structure (Ming Lei) [1551939] - [block] kabi: reserve space for bsg related structure (Ming Lei) [1551939] - [block] kabi: reserve space for integrity related structure (Ming Lei) [1551939] - [block] kabi: reserve space for CONFIG_BLK_DEV_ZONED (Ming Lei) [1551939] - [ata] ata: Disable AHCI ALPM feature for Ampere Computing eMAG SATA (David Milburn) [1663347] - [kvm] KVM: x86: Add CPUID support for new instruction WBNOINVD (Andrew Jones) [1659491] - [x86] KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup (Andrew Jones) [1659491] - [virt] kvm: Change offset in kvm_write_guest_offset_cached to unsigned (Andrew Jones) [1659491] - [virt] kvm: Disallow wraparound in kvm_gfn_to_hva_cache_init (Andrew Jones) [1659491] - [kvm] KVM: x86: svm: report MSR_IA32_MCG_EXT_CTL as unsupported (Andrew Jones) [1659491] - [virt] arm/arm64: KVM: Add ARM_EXCEPTION_IS_TRAP macro (Andrew Jones) [1659491] - [arm64] arm64: KVM: Avoid setting the upper 32 bits of VTCR_EL2 to 1 (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Fix unintended stage 2 PMD mappings (Andrew Jones) [1659491] - [virt] arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs (Andrew Jones) [1659491] - [arm64] KVM: arm/arm64: Fixup the kvm_exit tracepoint (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Consider priority and active state for pending irq (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq() (Andrew Jones) [1659491] - [kvm] KVM: X86: Fix NULL deref in vcpu_scan_ioapic (Andrew Jones) [1659491] - [kvm] KVM: Fix UAF in nested posted interrupt processing (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Cap SPIs to the VM-defined maximum (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabled (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: vgic-v2: Set active_source to 0 when restoring state (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails (Andrew Jones) [1659491] - [kvm] arm64: KVM: Install stage-2 translation before enabling traps (Andrew Jones) [1659491] - [kvm] arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible (Andrew Jones) [1659491] - [arm64] arm64: entry: Remove confusing comment (Andrew Jones) [1659491] - [kvm] arm64: entry: Place an SB sequence following an ERET instruction (Andrew Jones) [1659491] - [arm64] arm64: Add support for SB barrier and patch in over DSB; ISB sequences (Andrew Jones) [1659491] - [kvm] kvm: nVMX: Set VM instruction error for VMPTRLD of unbacked page (Andrew Jones) [1659491] - [kvm] kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb (Andrew Jones) [1659491] - [kvm] kvm: mmu: Fix race in emulated page table writes (Andrew Jones) [1659491] - [kvm] KVM: nVMX/nSVM: Fix bug which sets vcpu->arch.tsc_offset to L1 tsc_offset (Andrew Jones) [1659491] - [kvm] KVM: VMX: Update shared MSRs to be saved/restored on MSR_EFER.LMA changes (Andrew Jones) [1659491] - [kvm] KVM: x86: Fix kernel info-leak in KVM_HC_CLOCK_PAIRING hypercall (Andrew Jones) [1659491] - [kvm] svm: Add mutex_lock to protect apic_access_page_done on AMD systems (Andrew Jones) [1659491] - [kvm] KVM/nVMX: Do not validate that posted_intr_desc_addr is page aligned (Andrew Jones) [1659491] - [kvm] KVM: arm64: Safety check PSTATE when entering guest and handle IL (Andrew Jones) [1659491] - [virt] KVM: arm64: Fix caching of host MDCR_EL2 value (Andrew Jones) [1659491] - [kvm] x86/kvm/nVMX: allow bare VMXON state migration (Andrew Jones) [1659491] - [kvm] x86/kvm/lapic: preserve gfn_to_hva_cache len on cache reinit (Andrew Jones) [1659491] - [kvm] KVM: hyperv: define VP assist page helpers (Andrew Jones) [1659491] - [kvm] KVM: nVMX: move check_vmentry_postreqs() call to nested_vmx_enter_non_root_mode() (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Always reflect #NM VM-exits to L1 (Andrew Jones) [1659491] - [kvm] KVM: x86: hyperv: consistently use 'hv_vcpu' for 'struct kvm_vcpu_hv' variables (Andrew Jones) [1659491] - [kvm] KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS (Andrew Jones) [1659491] - [kvm] KVM: nVMX: restore host state in nested_vmx_vmexit for VMFail (Andrew Jones) [1659491] - [kvm] KVM: nVMX: Clear reserved bits of #DB exit qualification (Andrew Jones) [1659491] - [virt] KVM: arm/arm64: Ensure only THP is candidate for adjustment (Andrew Jones) [1659491] - [kvm] x86: kvm: avoid unused variable warning (Andrew Jones) [1659491] - [kvm] powerpc64/ftrace: Include ftrace.h needed for enable/disable calls (Andrew Jones) [1659491] - [kvm] x86/kvm/vmx: Remove duplicate l1d flush definitions (Andrew Jones) [1659491] - [tools] perf kvm: Fix subcommands on s390 (Andrew Jones) [1659491] - [arm64] arm64: add PSR_AA32_* definitions (Andrew Jones) [1659491] - [pci] PCI: hotplug: Document TODOs (Myron Stowe) [1664454] - [pci] PCI: hotplug: Embed hotplug_slot (Myron Stowe) [1664454] - [pci] PCI: hotplug: Drop hotplug_slot_info (Myron Stowe) [1664454] - [pci] PCI: hotplug: Constify hotplug_slot_ops (Myron Stowe) [1664454] - [pci] PCI: pciehp: Reshuffle controller struct for clarity (Myron Stowe) [1664454] - [pci] PCI: pciehp: Rename controller struct members for clarity (Myron Stowe) [1664454] - [pci] PCI: pciehp: Unify controller and slot structs (Myron Stowe) [1664454] - [pci] PCI: pciehp: Tolerate Presence Detect hardwired to zero (Myron Stowe) [1664454] - [pci] PCI: pciehp: Drop hotplug_slot_ops wrappers (Myron Stowe) [1664454] - [pci] PCI: pciehp: Drop unnecessary includes (Myron Stowe) [1664454] - [pci] PCI: pciehp: Differentiate between surprise and safe removal (Myron Stowe) [1664454] - [pci] PCI: Simplify disconnected marking (Myron Stowe) [1664454] - [tools] perf vendor events arm64: Revise core JSON events for eMAG (Jiri Olsa) [1663353] - [tools] perf vendor events arm64: Enable JSON events for eMAG (Jiri Olsa) [1663353] - [perf] drivers/perf: xgene: Add CPU hotplug support (Jiri Olsa) [1663349] - [scsi] mpt3sas: mark Aero controllers as tech preview (Tomas Henzl) [1663281] - [powerpc] KVM: PPC: Book3S HV: Keep rc bits in shadow pgtable in sync with host (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Introduce kvmhv_update_nest_rmap_rc_list() (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Apply combination of host and l1 pte rc for nested guest (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Align gfn to L1 page size when inserting nest-rmap entry (Suraj Jitindar Singh) [1662029] - [powerpc] KVM: PPC: Book3S HV: Hold kvm->mmu_lock across updating nested pte rc bits (Suraj Jitindar Singh) [1662029] - [tools] perf python: Do not force closing original perf descriptor in evlist.get_pollfd (Jiri Olsa) [1659445] - [mm] mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings (Andrea Arcangeli) [1613993] - [rpmspec] spec: Add libperf-jvmti.so into perf debuginfo rpm (Jiri Olsa) [1653570] - [scsi] scsi: hisi_sas: Fix spin lock management in slot_index_alloc_quirk_v2_hw() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Update v3 hw AIP_LIMIT and CFG_AGING_TIME register values (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Use block layer tag instead for IPTT (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: unmask interrupts ent72 and ent74 (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Free slot later in slot_complete_vx_hw() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Fix the race between IO completion and timeout for SMP/internal IO (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Move evaluation of hisi_hba in hisi_sas_task_prep() (Xiaojun Tan) [1642819] - [scsi] scsi: hisi_sas: Feed back linkrate(max/min) when re-attached (Xiaojun Tan) [1642819] - [hwtracing] intel_th: pci: Add Ice Lake PCH support (Jiri Olsa) [1485529]- [kernel] userns: also map extents in the reverse map to kernel IDs (Chris von Recklinghausen) [1652679] {CVE-2018-18955} - [net] ipv6: route: Fix return value of ip6_neigh_lookup() on neigh_create() error (Stefano Brivio) [1662789] - [net] ipv6: frags: Fix bogus skb->sk in reassembled packets (Herbert Xu) [1645839] - [net] redhat: blacklist auto-loadable net modules in modules-extra (Marcelo Leitner) [1642795] - [net] redhat: move sctp modules to kernel-modules-extra (Marcelo Leitner) [1642795] - [net] add reserved fields to neighbour (Paolo Abeni) [1655084] - [net] add reserved fields to rtnl_link_stats* (Paolo Abeni) [1655084] - [net] reserve bits in netdev_features_t for future features (Paolo Abeni) [1655084] - [net] add reserved fields to sk_buff (Paolo Abeni) [1655084] - [net] add reserved fields to ipv6_devconf (Paolo Abeni) [1655084] - [net] add reserved fields to fib_rule (Paolo Abeni) [1655084] - [net] add reserved fields to sock (Paolo Abeni) [1655084] - [net] add reserved fields to genl_family (Paolo Abeni) [1655084] - [net] add reserved fields to proto_ops (Paolo Abeni) [1655084] - [net] add reserved fields to proto (Paolo Abeni) [1655084] - [net] add reserved fields to genl_ops (Paolo Abeni) [1655084] - [net] add reserved fields to dst_ops (Paolo Abeni) [1655084] - [net] add reserved fields to dst_entry (Paolo Abeni) [1655084] - [net] add reserved fields to lwtunnel_state (Paolo Abeni) [1655084] - [net] add reserved fields to packet_type (Paolo Abeni) [1655084] - [net] add reserved fields to napi_struct (Paolo Abeni) [1655084] - [net] add reserved fields to net_device (Paolo Abeni) [1655084] - [net] exclude wireless_dev from KABI protection (Paolo Abeni) [1655084] - [net] add reserved fields to dcbnl_rtnl_ops (Paolo Abeni) [1655084] - [net] add reserved fields to xfrm_* (Paolo Abeni) [1655084] - [net] add reserved fields to switchdev_obj (Paolo Abeni) [1655084] - [net] add reserved fields to switchdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to l3mdev_ops (Paolo Abeni) [1655084] - [net] exclude ndisc_ops from kABI protection (Paolo Abeni) [1655084] - [net] add reserved fields to xfrmdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to tlsdev_ops (Paolo Abeni) [1655084] - [net] add reserved fields to netdev_rx_queue (Paolo Abeni) [1655084] - [net] add reserved fields to netdev_queue (Paolo Abeni) [1655084] - [net] add reserved fields to rtnl_link_ops (Paolo Abeni) [1655084] - [net] add reserved fields to ethtool_ops (Paolo Abeni) [1655084] - [net] add reserved fields to header_ops (Paolo Abeni) [1655084] - [net] add reserved fields to net_device_ops (Paolo Abeni) [1655084] - [net] add reserved fields to flowi* structs (Paolo Abeni) [1655084] - [arm64] KVM: arm64: Clarify explanation of STAGE2_PGTABLE_LEVELS (Christoph von Recklinghausen) [1643586 1643522] - [arm64] KVM: arm/arm64: Rename kvm_arm_config_vm to kvm_arm_setup_stage2 (Christoph von Recklinghausen) [1643586 1643522] - [virt] KVM: arm64: Drop __cpu_init_stage2 on the VHE path (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Allow tuning the physical address size for VM (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Limit the minimum number of page table levels (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm64: Set a limit on the IPA size (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Add 52bit support for PAR to HPFAR conversoin (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Switch to per VM IPA limit (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Configure VTCR_EL2.SL0 per VM (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Dynamic configuration of VTTBR mask (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Make stage2 page table layout dynamic (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Prepare for dynamic stage2 page table layout (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm/arm64: Prepare for VM specific stage2 translations (Christoph von Recklinghausen) [1643586 1643522] - [arm64] kvm: arm64: Configure VTCR_EL2 per VM (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Allow arch specific configurations for VM (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Clean up VTCR_EL2 initialisation (Christoph von Recklinghausen) [1643586 1643522] - [arm64] arm64: Add a helper for PARange to physical shift conversion (Christoph von Recklinghausen) [1643586 1643522] - [kvm] kvm: arm64: Add helper for loading the stage2 setting for a VM (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Remove spurious WARN_ON (Christoph von Recklinghausen) [1643586 1643522] - [virt] kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page table (Christoph von Recklinghausen) [1643586 1643522] - [hv] hv_balloon: avoid touching uninitialized struct page during tail onlining (Vitaly Kuznetsov) [1662277] - [x86] Mark AMD EPYC guests as supported (David Arcari) [1663356] - [netdrv] be2net: Disable queue dump in be_tx_timeout handler (Petr Oros) [1646838] - [vhost] vhost: Fix Spectre V1 vulnerability (Jason Wang) [1663469] - [mm] mm/hugetlb.c: teach follow_hugetlb_page() to handle FOLL_NOWAIT (Andrea Arcangeli) [1575028] - [tools] cpupower: Fix AMD Family 0x17 msr_pstate size (Prarit Bhargava) [1659883] - [tools] cpupower: Fix coredump on VMWare (Prarit Bhargava) [1659883] - [scsi] scsi: csiostor: remove flush_scheduled_work() (Arjun Vynipadath) [1663973] - [powerpc] KVM: PPC: Book3S HV: Fix race between kvm_unmap_hva_range and MMU mode switch (David Gibson) [1663225] - [fs] userfaultfd: check VM_MAYWRITE was set after verifying the uffd is registered (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: UFFDIO_COPY: set the page dirty if VM_WRITE is not set (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: add i_size checks (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: use ENOENT instead of EFAULT if the atomic copy user fails (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [mm] userfaultfd: allow get_mempolicy(MPOL_F_NODE|MPOL_F_ADDR) to trigger userfaults (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] userfaultfd: clear flag if remap event not enabled (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] userfaultfd: disable irqs when taking the waitqueue lock (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] fs/userfaultfd.c: remove redundant pointer uwq (Andrea Arcangeli) [1657615] {CVE-2018-18397} - [fs] NFS: nfs_compare_mount_options always compare auth flavors. (Steve Dickson) [1661619] - [infiniband] RDMA/hns: Bugfix for RoCE loopback test (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Update posting & querying mailbox (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Fix the bug while use multi-hop of pbl (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Init qp context when modify qp from reset to init (Xiaojun Tan) [1663359] - [infiniband] RDMA/hns: Bugfix pbl configuration for rereg mr (Xiaojun Tan) [1663359] - [security] selinux: add support for RTM_NEWCHAIN, RTM_DELCHAIN, and RTM_GETCHAIN (Ondrej Mosnacek) [1660564] - [scsi] scsi: megaraid_sas: driver version update (Tomas Henzl) [1656261] - [scsi] scsi: megaraid_sas: Use 63-bit DMA addressing (Tomas Henzl) [1656261] - [x86] x86/kvm: mark as TechPreview when running as a nested hypervisor (Vitaly Kuznetsov) [1519039] - [rpmspec] kernel.spec: Fix kernel-tools files section logic (Prarit Bhargava) [1661247] - [crypto] crypto: ccp - Make function sev_get_firmware() static (Gary Hook) [1632894] - [crypto] crypto: ccp - Allow SEV firmware to be chosen based on Family and Model (Gary Hook) [1632894] - [crypto] crypto: ccp - Fix static checker warning (Gary Hook) [1632894] - [crypto] crypto: ccp - add timeout support in the SEV command (Gary Hook) [1632894] - [nvdimm] nvdimm: Use namespace index data to reduce number of label reads needed (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Split label init out from the logic for getting config data (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Remove empty if statement (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Clarify comment in sizeof_namespace_index (Jeff Moyer) [1634345] - [nvdimm] nvdimm: Sanity check labeloff (Jeff Moyer) [1634345] - [nvdimm] libnvdimm, dimm: Maximize label transfer size (Jeff Moyer) [1634345] - [mm] mm/page-writeback.c: fix range_cyclic writeback vs writepages deadlock (Brian Foster) [1659528] - [input] Input: elantech - disable elan-i2c for P52 and P72 (Benjamin Tissoires) [1658602] - [fs] cachefiles: avoid deprecated get_seconds() (David Howells) [1655613] - [fs] fscache, cachefiles: remove redundant variable 'cache' (David Howells) [1655613] - [fs] cachefiles: Explicitly cast enumerated type in put_object (David Howells) [1655613] - [fs] fscache: fix race between enablement and dropping of object (David Howells) [1655613] - [fs] cachefiles: Fix page leak in cachefiles_read_backing_file while vmscan is active (David Howells) [1655613] - [fs] fscache: Fix race in fscache_op_complete() due to split atomic_sub & read (David Howells) [1655613] - [fs] cachefiles: Fix an assertion failure when trying to update a failed object (David Howells) [1655613] - [fs] fscache: Fix out of bound read in long cookie keys (David Howells) [1655613] - [fs] fscache: Fix incomplete initialisation of inline key space (David Howells) [1655613] - [fs] cachefiles: fix the race between cachefiles_bury_object() and rmdir(2) (David Howells) [1655613] - [kernel] ebpf: record usage of eBPF (Jiri Benc) [1654279] - [kernel] add rh_features to /proc (Jiri Benc) [1654279] - [kernel] add support for rh_features (Jiri Benc) [1654279] - [fs] fs/lock: show locks taken by processes from another pidns (Miklos Szeredi) [1616125] - [iommu] iommu/arm-smmu: Support non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm-v7s: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu: Add "iommu.strict" command line option (Xiaojun Tan) [1643114] - [iommu] iommu/dma: Add support for non-strict mode (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu: Ensure that page-table updates are visible before TLBI (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Implement flush_iotlb_all hook (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Avoid back-to-back CMD_SYNC operations (Xiaojun Tan) [1643114] - [iommu] iommu/arm-smmu-v3: Fix unexpected CMD_SYNC timeout (Xiaojun Tan) [1643114] - [iommu] iommu/io-pgtable-arm: Fix race handling in split_blk_unmap() (Xiaojun Tan) [1643114] - [infiniband] RDMA/hns: Update some attributes of the RoCE device (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Limit the size of extend sge of sq (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Bugfix for CM test (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Submit bad wr when post send wr exception (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Bugfix for reserved qp number (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Refactor the codes for setting transport opode (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Move all prints out of irq handle (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix an error code in hns_roce_v2_init_eq_table() (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix usage of bitmap allocation functions return values (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Support flush cqe for hip08 in kernel space (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Program the tclass and flow label into the hardware (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Use macro instead of magic number (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Modify qp will return errno when qp type is illegal (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Assign the value for vlan field of qp context (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Enable modify_cq for uverbs. (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the data type of immediate data (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Use delay instead of usleep (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add illegal hop_num judgement (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add 50GE type of hnae3 device match (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Do not overwrite the error code during error unwind in hns_roce_init (Xiaojun Tan) [1639578] - [infiniband] hns: Remove a set-but-not-used variable (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the implementation of set_mac (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Update the implementation of set_gid (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add TPQ link table support (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Add TSQ link table support (Xiaojun Tan) [1639578] - [infiniband] RDMA/hns: Fix endian conversions and annotations (Xiaojun Tan) [1639578] - [scsi] scsi: hisi_sas: Add SATA FIS check for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: add memory barrier in task delivery function (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Tidy hisi_sas_task_prep() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Implement handlers of PCIe FLR for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: relocate some common code for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: tidy host controller reset function a bit (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Fix the failure of recovering PHY from STP link timeout (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: tidy channel interrupt handler for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Drop hisi_sas_slot_abort() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Update a couple of register settings for v3 hw (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Add missing PHY spinlock init (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Pre-allocate slot DMA buffers (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Release all remaining resources in clear nexus ha (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Add a flag to filter PHY events during reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Adjust task reject period during host reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Fix the conflict between dev gone and host reset (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw() (Zhou Wang) [1639541] - [scsi] scsi: hisi_sas: Use dmam_alloc_coherent() (Zhou Wang) [1639541] - [netdrv] xen/netfront: fix waiting for xenbus state change (Petr Oros) [1638456]- [x86] expand cpu feature/bug bits (David Arcari) [1662434] - [x86] add kabi support for cpuinfo_x86 (David Arcari) [1662434] - [init] Display a message about certified hardware (Steve Best) [1660523] - [scsi] scsi: t10-pi: Return correct ref tag when queue has no integrity profile (Ming Lei) [1660719] - [scsi] scsi: storvsc: Fix a race in sub-channel creation that can cause panic (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: set callbacks on open (Mohammed Gamal) [1650149] - [hv] vmbus: fix subchannel removal (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: defer opening vmbus until first use (Mohammed Gamal) [1650149] - [hv] vmbus: split ring buffer allocation from open (Mohammed Gamal) [1650149] - [hv] vmbus: pass channel to hv_process_channel_removal (Mohammed Gamal) [1650149] - [hv] Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() (Mohammed Gamal) [1650149] - [uio] hv_uio_generic: map ringbuffer phys addr (Mohammed Gamal) [1650149] - [uio] uio: introduce UIO_MEM_IOVA (Mohammed Gamal) [1650149] - [hv] vmbus: add driver_override support (Mohammed Gamal) [1650149] - [hv] vmbus: keep pointer to ring buffer page (Mohammed Gamal) [1650149] - [uio] uio_hv_generic: increase size of receive and send buffers (Mohammed Gamal) [1650149] - [uio] uio: add SPDX license tags (Mohammed Gamal) [1650149] - [fs] gfs2: take jdata unstuff into account in do_grow (Robert S Peterson) [1660519] - [drm] drm/dp_mst: Check if primary mstb is null (Lyude Paul) [1658711] - [tools] perf tests: Use shebangs in the shell scripts (Michael Petlan) [1613523]- [mm] mm: put_and_wait_on_page_locked() while page is migrated (Baoquan He) [1649214] - [netdrv] i40e: define proper net_device::neigh_priv_len (Stefan Assmann) [1658743] - [netdrv] i40e: fix VLAN.TCI == 0 RX HW offload (Stefan Assmann) [1658743] - [netdrv] i40e: fix mac filter delete when setting mac address (Stefan Assmann) [1658743] - [netdrv] i40e: prevent overlapping tx_timeout recover (Stefan Assmann) [1658743] - [netdrv] i40e: Use correct shift for VLAN priority (Stefan Assmann) [1658743] - [netdrv] i40e: always set ks->base.speed in i40e_get_settings_link_up (Stefan Assmann) [1658743] - [netdrv] i40e: don't restart nway if autoneg not supported (Stefan Assmann) [1658743] - [netdrv] i40e: enable NETIF_F_NTUPLE and NETIF_F_HW_TC at driver load (Stefan Assmann) [1658743] - [netdrv] i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features (Stefan Assmann) [1658743] - [acpi] ACPI/APEI: Clear GHES block_status before panic() (David Arcari) [1662442] - [misc] VMCI: Resource wildcard match fixed (Vitaly Kuznetsov) [1652868] - [mm] mm/page_alloc.c: don't call kasan_free_pages() at deferred mem init (Waiman Long) [1655964] - [block] block/bio: Do not zero user pages (Ming Lei) [1662502] - [vhost] disable zerocopy by default (Jason Wang) [1582756] - [block] kyber: use sbitmap add_wait_queue/list_del wait helpers (Ming Lei) [1661426] - [lib] sbitmap: add helpers for add/del wait queue handling (Ming Lei) [1661426] - [net] Revert "sunrpc: Ensure we always close the socket after a connection shuts down" (Dave Wysochanski) [1657449] - [vhost] vhost/vsock: fix reset orphans race with close timeout (Stefan Hajnoczi) [1660445] - [misc] genwqe: Fix size check (Steve Best) [1660126] - [fs] aio: fix spectre gadget in lookup_ioctx (Jeff Moyer) [1660963] - [block] block: save irq state in blkg_lookup_create() (Ming Lei) [1660299] - [md] dm: don't reuse bio for flushes (Ming Lei) [1660401] - [wireless] mac80211_hwsim: Fix possible Spectre-v1 for hwsim_world_regdom_custom (Stanislaw Gruszka) [1637113] - [wireless] nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT (Stanislaw Gruszka) [1637113] - [wireless] nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (Stanislaw Gruszka) [1637113] - [block] blk-mq: enable IO poll if .nr_queues of type poll > 0 (Ming Lei) [1660826] - [powerpc] powerpc/rtas: Fix a potential race between CPU-Offline & Migration (Desnes Augusto Nunes do Rosario) [1639266] - [x86] kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs (Eduardo Habkost) [1625111] - [scsi] scsi_sysfs: make unpriv_sgio queue attribute accessible for non-block devices (Paolo Bonzini) [1584504] - [block] scsi_ioctl: introduce unpriv_sgio queue flag (Paolo Bonzini) [1584504] - [block] scsi_ioctl: pass request_queue to blk_verify_command (Paolo Bonzini) [1584504] - [fs] ext4: missing !bh check in ext4_xattr_inode_write() (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in __ext4_read_dirblock() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_expand_extra_isize_ea() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_xattr_move_to_block() on error path (Lukas Czerner) [1659481] - [fs] ext4: release bs.bh before re-using in ext4_xattr_block_find() (Lukas Czerner) [1659481] - [fs] ext4: fix buffer leak in ext4_xattr_get_block() on error path (Lukas Czerner) [1659481] - [fs] ext4: fix possible leak of s_journal_flag_rwsem in error path (Lukas Czerner) [1659481] - [fs] ext4: fix possible leak of sbi->s_group_desc_leak in error path (Lukas Czerner) [1659481] - [fs] ext4: avoid possible double brelse() in add_new_gdb() on error path (Lukas Czerner) [1659481] - [fs] ext4: avoid buffer leak in ext4_orphan_add() after prior errors (Lukas Czerner) [1659481] - [fs] ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty() (Lukas Czerner) [1659481] - [fs] ext4: fix possible inode leak in the retry loop of ext4_resize_fs() (Lukas Czerner) [1659481] - [fs] ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() update_backups()'s error path (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() add_new_gdb_meta_bg()'s error path (Lukas Czerner) [1659481] - [fs] ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path (Lukas Czerner) [1659481] - [fs] ext4: avoid potential extra brelse in setup_new_flex_group_blocks() (Lukas Czerner) [1659481] - [scsi] scsi: lpfc: Enable Management features for IF_TYPE=6 (Dick Kennedy) [1658755] - [scsi] scsi: mpt3sas: Update driver version to 27.101.00.00 (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Replace readl with ioc->base_readl (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Add separate function for aero doorbell reads (Tomas Henzl) [1659035] - [scsi] scsi: mpt3sas: Introduce flag for aero based controllers (Tomas Henzl) [1659035] - [md] dm: do not allow readahead to limit IO size (Mike Snitzer) [1658757] - [md] dm raid: fix false -EBUSY when handling check/repair message (Mike Snitzer) [1658757] - [block] blk-mq: change blk_mq_queue_busy() to blk_mq_queue_inflight() (Mike Snitzer) [1658757] - [md] dm rq: cleanup leftover code from recently removed q->mq_ops branching (Mike Snitzer) [1658757] - [md] dm verity: log the hash algorithm implementation (Mike Snitzer) [1658757] - [md] dm crypt: log the encryption algorithm implementation (Mike Snitzer) [1658757] - [md] dm integrity: fix spelling mistake in workqueue name (Mike Snitzer) [1658757] - [md] dm flakey: Properly corrupt multi-page bios. (Mike Snitzer) [1658757] - [md] dm: Check for device sector overflow if CONFIG_LBDAF is not set (Mike Snitzer) [1658757] - [md] dm crypt: use u64 instead of sector_t to store iv_offset (Mike Snitzer) [1658757] - [md] dm kcopyd: Fix bug causing workqueue stalls (Mike Snitzer) [1658757] - [md] dm snapshot: Fix excessive memory usage and workqueue stalls (Mike Snitzer) [1658757] - [md] dm bufio: update comment in dm-bufio.c (Mike Snitzer) [1658757] - [md] dm writecache: fix typo in error msg for creating writecache_flush_thread (Mike Snitzer) [1658757] - [md] dm: remove indirect calls from __send_changing_extent_only() (Mike Snitzer) [1658757] - [md] dm mpath: only flush workqueue when needed (Mike Snitzer) [1658757] - [md] dm: avoid indirect call in __dm_make_request (Mike Snitzer) [1658757] - [md] dm thin: bump target version (Mike Snitzer) [1658757] - [md] dm thin: send event about thin-pool state change _after_ making it (Mike Snitzer) [1658757] - [md] dm cache metadata: verify cache has blocks in blocks_are_clean_separate_dirty() (Mike Snitzer) [1658757] - [md] dm writecache: remove disabled code in memory_entry() (Mike Snitzer) [1658757] - [md] dm raid: avoid bitmap with raid4/5/6 journal device (Mike Snitzer) [1658757] - [md] dm crypt: make workqueue names device-specific (Mike Snitzer) [1658757] - [md] dm: add dm_table_device_name() (Mike Snitzer) [1658757] - [md] dm ioctl: harden copy_params()'s copy_from_user() from malicious users (Mike Snitzer) [1658757] - [md] dm: remove unnecessary unlikely() around WARN_ON_ONCE() (Mike Snitzer) [1658757] - [md] dm thin: use refcount_t for thin_c reference counting (Mike Snitzer) [1658757] - [netdrv] nfp: provide a better warning when ring allocation fails (Pablo Cascon) [1645456] - [netdrv] nfp: use kvcalloc() to allocate SW buffer descriptor arrays (Pablo Cascon) [1645456] - [scsi] scsi: lpfc: rport port swap discovery issue. (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: Fix discovery failures during port failovers with lots of vports (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: refactor mailbox structure context fields (Dick Kennedy) [1656635] - [scsi] scsi: lpfc: Correct loss of fc4 type on remote port address change (Dick Kennedy) [1656635] - [hid] HID: multitouch: Add pointstick support for Cirque Touchpad (Perry Yuan) [1656673] - [powerpc] KVM: PPC: Book3S HV: Fix handling for interrupted H_ENTER_NESTED (Suraj Jitindar Singh) [1649980] - [powerpc] powerpc: Select CONFIG_SWIOTLB (Gustavo Duarte) [1648466] - [fs] nfs: Fix a missed page unlock after pg_doio() (Benjamin Coddington) [1651287] - [arm64] arm64: fix possible spectre-v1 write in ptrace_hbp_set_event() (Mark Salter) [1637585] - [fs] fsnotify: Fix busy inodes during unmount (Lukas Czerner) [1650462] - [tools] perf vendor events arm64: Update ThunderX2 implementation defined pmu core events (Robert Richter) [1501638] - [tools] perf tools: Fix undefined symbol scnprintf in libperf-jvmti.so (Jiri Olsa) [1579484]- [block] blk-mq: export hctx->type in debugfs instead of sysfs (Ming Lei) [1660040] - [block] blk-mq: fix dispatch from sw queue (Ming Lei) [1660040] - [block] blk-mq: skip zero-queue maps in blk_mq_map_swqueue (Ming Lei) [1660040] - [nvme] nvme-pci: don't share queue maps (Ming Lei) [1660040] - [block] blk-mq: only dispatch to non-defauly queue maps if they have queues (Ming Lei) [1660040] - [x86] KVM: LAPIC: Fix pv ipis use-before-initialization (Paul Lai) [1657702] - [fs] autofs: fix directory and symlink access (Ian Kent) [1611967] - [infiniband] IB/iser: Fix possible NULL deref at iser_inv_desc() (Don Dutile) [1657574] - [infiniband] RDMA/core: Fix unwinding flow in case of error to register device (Don Dutile) [1657574] - [infiniband] IB/rxe: fix for duplicate request processing and ack psns (Don Dutile) [1657574] - [infiniband] IB/ipoib: Clear IPCB before icmp_send (Don Dutile) [1657574] - [infiniband] RDMA/core: Do not expose unsupported counters (Don Dutile) [1657574] - [infiniband] IB/ucm: Fix Spectre v1 vulnerability (Don Dutile) [1657574] - [infiniband] RDMA/ucma: Fix Spectre v1 vulnerability (Don Dutile) [1657574] - [infiniband] RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR (Don Dutile) [1657574] - [infiniband] RDMA/cma: Do not ignore net namespace for unbound cm_id (Don Dutile) [1657574] - [net] xprtrdma: Reset credit grant properly after a disconnect (Don Dutile) [1657574] - [input] Input: hyper-v - fix wakeup from suspend-to-idle (Vitaly Kuznetsov) [1588888] - [kernel] kernel: hung_task.c: disable on suspend (Vitaly Kuznetsov) [1588888] - [kernel] redhat: add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc) [1656933] - [rpmspec] Sign the aarch64 kernel (Jeremy Linton) [1659158]- [netdrv] nfp: flower: add geneve option match offload (Pablo Cascon) [1655604] - [netdrv] nfp: flower: add geneve option push action offload (Pablo Cascon) [1655604] - [netdrv] nfp: flower: offload tos and tunnel flags for ipv4 udp tunnels (Pablo Cascon) [1655604] - [netdrv] nfp: flower: set ip tunnel ttl from encap action (Pablo Cascon) [1655604] - [netdrv] nfp: flower: extract ipv4 udp tunnel ttl from route (Pablo Cascon) [1655604] - [net] sctp: hold transport before accessing its asoc in sctp_transport_get_next (Marcelo Leitner) [1656271] - [net] sctp: fix the data size calculation in sctp_data_size (Marcelo Leitner) [1656271] - [net] sctp: fix race on sctp_id2asoc (Marcelo Leitner) [1656271] - [net] rtnetlink: ndo_dflt_fdb_dump() only work for ARPHRD_ETHER devices (Hangbin Liu) [1657120] - [netdrv] mlx5e: fix csum adjustments caused by RXFCS (Hangbin Liu) [1657120] - [net] drop skb on failure in ip_check_defrag() (Hangbin Liu) [1657120] - [net] rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags (Hangbin Liu) [1657120] - [net] socket: fix a missing-check bug (Hangbin Liu) [1657120] - [net] rtnetlink: Disallow FDB configuration for non-Ethernet device (Hangbin Liu) [1657120] - [net] rtnetlink: Fail dump if target netnsid is invalid (Hangbin Liu) [1657120] - [net] rtnetlink: fix rtnl_fdb_dump() for ndmsg header (Hangbin Liu) [1657120] - [net] rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096 (Hangbin Liu) [1657120] - [net] socket: fix struct ifreq size in compat ioctl (Hangbin Liu) [1657120] - [net] fix pskb_trim_rcsum_slow() with odd trim offset (Hangbin Liu) [1657120] - [net] gso_segment: Reset skb->mac_len after modifying network header (Hangbin Liu) [1657120] - [net] Use __kernel_clockid_t in uapi net_stamp.h (Davide Caratti) [1638022] - [net] tun: Consistently configure generic netdev params via rtnetlink (Matteo Croce) [1657910] - [net] tun: napi flags belong to tfile (Matteo Croce) [1657910] - [net] tun: initialize napi_mutex unconditionally (Matteo Croce) [1657910] - [net] tun: remove unused parameters (Matteo Croce) [1657910] - [net] team: Forbid enslaving team device to itself (Matteo Croce) [1658725] - [net] sched: Remove TCA_OPTIONS from policy (Davide Caratti) [1658516] - [net] sched: cls_api: add missing validation of netlink attributes (Davide Caratti) [1658516] - [net] sched: gred: pass the right attribute to gred_change_table_def() (Davide Caratti) [1658516] - [net] sched: cls_u32: fix hnode refcounting (Davide Caratti) [1658516] - [net] sched: Add policy validation for tc attributes (Davide Caratti) [1658516] - [net] bpf: use __GFP_COMP while allocating page (Andrea Claudi) [1658231] - [net] xsk: do not call synchronize_net() under RCU read lock (Andrea Claudi) [1658231] - [net] bpf: fix partial copy of map_ptr when dst is scalar (Andrea Claudi) [1658231] - [net] bpf: Fix bpf_msg_pull_data() (Andrea Claudi) [1658231] - [net] bpf: fix shift upon scatterlist ring wrap-around in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix sg shift repair start offset in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix msg->data/data_end after sg shift repair in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] bpf: fix several offset tests in bpf_msg_pull_data (Andrea Claudi) [1658231] - [net] vlan: add support for tunnel offload (Andrea Claudi) [1656804] - [net] 8021q: move vlan offload registrations into vlan_core (Hangbin Liu) [1657658] - [net] ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called (Stefano Brivio) [1658010] - [net] ipv6: Allow onlink routes to have a device mismatch if it is the default route (Stefano Brivio) [1658010] - [net] ipv6: Fix index counter for unicast addresses in in6_dump_addrs (Stefano Brivio) [1658010] - [net] ipv6: mcast: fix a use-after-free in inet6_mc_check (Stefano Brivio) [1658010] - [net] ipv6: rate-limit probes for neighbourless routes (Stefano Brivio) [1658010] - [net] ipv6: stop leaking percpu memory in fib6 info (Stefano Brivio) [1658010] - [net] ipv6: Remove extra call to ip6_convert_metrics for multipath case (Stefano Brivio) [1658010] - [net] ipv6: Display all addresses in output of /proc/net/if_inet6 (Stefano Brivio) [1658010] - [net] ipv6: do not copy dst flags on rt init (Stefano Brivio) [1658010] - [net] ipv6: Only update MTU metric if it set (Stefano Brivio) [1658010] - [net] ipv6: don't get lwtstate twice in ip6_rt_copy_init() (Stefano Brivio) [1658010] - [net] ipv6: Put lwtstate when destroying fib6_info (Stefano Brivio) [1658010] - [net] ip6_tunnel: Fix encapsulation layout (Stefano Brivio) [1658008] - [net] vxlan: fill ttl inherit info (Stefano Brivio) [1658008] - [net] ip_tunnel: be careful when accessing the inner header (Stefano Brivio) [1658008] - [net] vti6: remove !skb->ignore_df check from vti6_xmit() (Stefano Brivio) [1658008] - [net] ip6_vti: fix a null pointer deference when destroy vti6 tunnel (Stefano Brivio) [1658008] - [net] ip6_vti: fix creating fallback tunnel device for vti6 (Stefano Brivio) [1658008] - [net] ip_vti: fix a null pointer deferrence when create vti fallback tunnel (Stefano Brivio) [1658008] - [net] l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache (Stefano Brivio) [1658008] - [net] macsec: let the administrator set UP state even if lowerdev is down (Sabrina Dubroca) [1645540] - [net] macsec: update operstate when lower device changes (Sabrina Dubroca) [1645540] - [net] tcp: do not restart timewait timer on rst reception (Paolo Abeni) [1657988] - [net] tcp: really ignore MSG_ZEROCOPY if no SO_ZEROCOPY (Paolo Abeni) [1657988] - [net] tcp, ulp: add alias for all ulp modules (Paolo Abeni) [1657988] - [net] tcp, ulp: fix leftover icsk_ulp_ops preventing sock from reattach (Paolo Abeni) [1657988] - [net] ipv4: tcp: send zero IPID for RST and ACK sent in SYN-RECV and TIME-WAIT state (Paolo Abeni) [1657988] - [net] neighbour: Avoid writing before skb->head in neigh_hh_output() (Stefano Brivio) [1643336] - [net] ipv6: Check available headroom in ip6_xmit() even without options (Stefano Brivio) [1643336] - [net] ipv6: fix possible use-after-free in ip6_xmit() (Stefano Brivio) [1643336] - [net] openvswitch: Fix push/pop ethernet validation (Hangbin Liu) [1657226] - [net] cgroup, netclassid: add a preemption point to write_classid (Hangbin Liu) [1657226] - [net] ethtool: fix a privilege escalation bug (Hangbin Liu) [1657226] - [net] llc: set SOCK_RCU_FREE in llc_sap_add_socket() (Hangbin Liu) [1657226] - [net] dcb: For wild-card lookups, use priority -1, not 0 (Hangbin Liu) [1657226] - [net] packet: fix packet drop as of virtio gso (Hangbin Liu) [1657226] - [net] netlabel: check for IPV4MASK in addrinfo_get (Hangbin Liu) [1657226] - [net] netfilter: seqadj: re-load tcp header pointer after possible head reallocation (Florian Westphal) [1654259] - [net] netfilter: nf_tables: avoid BUG_ON usage (Florian Westphal) [1654259] - [net] netfilter: nf_tables: deactivate expressions in rule replecement routine (Florian Westphal) [1654259] - [net] netfilter: nat: fix double register in masquerade modules (Florian Westphal) [1654259] - [net] netfilter: add missing error handling code for register functions (Florian Westphal) [1654259] - [net] netfilter: nf_tables: fix use-after-free when deleting compat expressions (Florian Westphal) [1654259] - [net] netfilter: xt_RATEEST: remove netns exit routine (Florian Westphal) [1654259] - [net] netfilter: nf_tables: don't use position attribute on rule replacement (Florian Westphal) [1654259] - [net] revert "netfilter: nft_numgen: add map lookups for numgen random operations" (Florian Westphal) [1654259] - [net] netfilter: xt_IDLETIMER: add sysfs filename checking routine (Florian Westphal) [1654259] - [net] netfilter: conntrack: fix calculation of next bucket number in early_drop (Florian Westphal) [1654259] - [net] netfilter: conntrack: get rid of double sizeof (Florian Westphal) [1654259] - [net] netfilter: nft_set_rbtree: add missing rb_erase() in GC routine (Florian Westphal) [1654259] - [net] netfilter: nfnetlink_queue: Solve the NFQUEUE/conntrack clash for NF_REPEAT (Florian Westphal) [1654259] - [net] netfilter: nf_tables: release chain in flushing set (Florian Westphal) [1654259] - [net] netfilter: xt_checksum: ignore gso skbs (Florian Westphal) [1654259] - [net] netfilter: xt_cluster: add dependency on conntrack module (Florian Westphal) [1654259] - [net] netfilter: fix memory leaks on netlink_dump_start error (Florian Westphal) [1654259] - [net] netfilter: x_tables: do not fail xt_alloc_table_info too easilly (Florian Westphal) [1654259] - [net] ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest() (Florian Westphal) [1654259] - [net] netfilter: ip6t_rpfilter: set F_IFACE for linklocal addresses (Florian Westphal) [1654259] - [net] xfrm: policy: use hlist rcu variants on insert (Sabrina Dubroca) [1657272] - [net] xfrm: validate template mode (Sabrina Dubroca) [1657272] - [net] xfrm: Fix NULL pointer dereference when skb_dst_force clears the dst_entry. (Sabrina Dubroca) [1657272] - [net] xfrm: reset transport header back to network header after all input transforms ahave been applied (Sabrina Dubroca) [1657272] - [net] xfrm: reset crypto_done when iterating over multiple input xfrms (Sabrina Dubroca) [1657272] - [net] xfrm: Validate address prefix lengths in the xfrm selector. (Sabrina Dubroca) [1657272] - [net] tls: fix currently broken MSG_PEEK behavior (Sabrina Dubroca) [1657225] - [net] tls: zero the crypto information from tls_context before freeing (Sabrina Dubroca) [1657225] - [net] tls: clear key material from kernel memory when do_tls_setsockopt_conf fails (Sabrina Dubroca) [1657225] - [net] tls: don't copy the key out of tls12_crypto_info_aes_gcm_128 (Sabrina Dubroca) [1657225] - [net] tls: Set count of SG entries if sk_alloc_sg returns -ENOSPC (Sabrina Dubroca) [1657225] - [net] tls: possible hang when do_tcp_sendpages hits sndbuf is full case (Sabrina Dubroca) [1657225] - [net] tls: Fix improper revert in zerocopy_from_iter (Sabrina Dubroca) [1657225] - [net] tls: Fix zerocopy_from_iter iov handling (Sabrina Dubroca) [1657225] - [net] netfilter: conntrack: reset tcp maxwin on re-register (Florian Westphal) [1647310] - [net] configs: Enable CONFIG_IP_SET_HASH_IPMAC as a module (Stefano Brivio) [1655301] - [net] udp: fix handling of CHECKSUM_COMPLETE packets (Paolo Abeni) [1655656] - [net] udp: Unbreak modules that rely on external __skb_recv_udp() availability (Paolo Abeni) [1655656] - [net] udp6: fix encap return code for resubmitting (Paolo Abeni) [1655656] - [net] team: no need to do team_notify_peers or team_mcast_rejoin when disabling port (Hangbin Liu) [1653197] - [net] sctp: not increase stream's incnt before sending addstrm_in request (Xin Long) [1651428] - [net] sctp: not allow to set asoc prsctp_enable by sockopt (Xin Long) [1647272] - [net] revert "sctp: remove sctp_transport_pmtu_check" (Xin Long) [1643330] - [net] fix XPS static_key accounting (Ivan Vecera) [1651781] - [net] restore call to netdev_queue_numa_node_write when resetting XPS (Ivan Vecera) [1651781] - [net] allow fallback function to pass netdev (Ivan Vecera) [1651781] - [net] allow ndo_select_queue to pass netdev (Ivan Vecera) [1651781] - [net] Add generic ndo_select_queue functions (Ivan Vecera) [1651781] - [net] Add support for subordinate traffic classes to netdev_pick_tx (Ivan Vecera) [1651781] - [net] ixgbe: Add code to populate and use macvlan TC to Tx queue map (Ivan Vecera) [1651781] - [net] Add support for subordinate device traffic classes (Ivan Vecera) [1651781] - [net] net-sysfs: Drop support for XPS and traffic_class on single queue device (Ivan Vecera) [1651781] - [net] Provide stub for __netif_set_xps_queue if there is no CONFIG_XPS (Ivan Vecera) [1651781] - [net] allow to call netif_reset_xps_queues() under cpus_read_lock (Ivan Vecera) [1651781] - [net] documentation: Add explanation for XPS using Rx-queue(s) map (Ivan Vecera) [1651781] - [net] net-sysfs: Add interface for Rx queue(s) map per Tx queue (Ivan Vecera) [1651781] - [net] Enable Tx queue selection based on Rx queues (Ivan Vecera) [1651781] - [net] Record receive queue number for a connection (Ivan Vecera) [1651781] - [net] sock: Change tx_queue_mapping in sock_common to unsigned short (Ivan Vecera) [1651781] - [net] Use static_key for XPS maps (Ivan Vecera) [1651781] - [net] Refactor XPS for CPUs and Rx queues (Ivan Vecera) [1651781] - [net] devlink: Add helper function for safely copy string param (Ivan Vecera) [1647914] - [net] devlink: Fix param cmode driverinit for string type (Ivan Vecera) [1647914] - [net] devlink: Fix param set handling for string type (Ivan Vecera) [1647914] - [net] devlink: Add Documentation/networking/devlink-params-bnxt.txt (Ivan Vecera) [1647914] - [net] devlink: Add Documentation/networking/devlink-params.txt (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter msix_vec_per_pf_min (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter msix_vec_per_pf_max (Ivan Vecera) [1647914] - [net] devlink: Add generic parameter ignore_ari (Ivan Vecera) [1647914] - [net] devlink: double free in devlink_resource_fill() (Ivan Vecera) [1647914] - [net] devlink: Add extack for eswitch operations (Ivan Vecera) [1647914] - [net] devlink: Add generic parameters region_snapshot (Ivan Vecera) [1647914] - [net] devlink: Add support for region snapshot read command (Ivan Vecera) [1647914] - [net] devlink: Add support for region snapshot delete command (Ivan Vecera) [1647914] - [net] devlink: Extend the support querying for region snapshot IDs (Ivan Vecera) [1647914] - [net] devlink: Add support for region get command (Ivan Vecera) [1647914] - [net] devlink: Add support for creating region snapshots (Ivan Vecera) [1647914] - [net] devlink: Add callback to query for snapshot id before snapshot create (Ivan Vecera) [1647914] - [net] devlink: Add support for creating and destroying regions (Ivan Vecera) [1647914] - [net] devlink: fix incorrect return statement (Ivan Vecera) [1647914] - [net] devlink: Add enable_sriov boolean generic parameter (Ivan Vecera) [1647914] - [net] devlink: Add generic parameters internal_err_reset and max_macs (Ivan Vecera) [1647914] - [net] devlink: Add devlink notifications support for params (Ivan Vecera) [1647914] - [net] devlink: Add support for get/set driverinit value (Ivan Vecera) [1647914] - [net] devlink: Add param set command (Ivan Vecera) [1647914] - [net] devlink: Add param get command (Ivan Vecera) [1647914] - [net] devlink: Add devlink_param register and unregister (Ivan Vecera) [1647914] - [net] ipvs: call ip_vs_dst_notifier earlier than ipv6_dev_notf (Xin Long) [1645064] - [net] ipv6: fix a dst leak when removing its exception (Xin Long) [1645064] - [net] netfilter: ipset: list:set: Decrease refcount synchronously on deletion and replace (Stefano Brivio) [1649089] - [net] bridge: remove ipv6 zero address check in mcast queries (Hangbin Liu) [1639666] - [net] bridge: do not add port to router list when receives query with source 0.0.0.0 (Hangbin Liu) [1639666] - [net] netfilter: ipv6: fix oops when defragmenting locally generated fragments (Florian Westphal) [1642341] - [net] xfrm6: call kfree_skb when skb is toobig (Sabrina Dubroca) [1628851] - [net] sched: act_police: fix memory leak in case of invalid control action (Ivan Vecera) [1638022] - [net] sched: act_police: add missing spinlock initialization (Ivan Vecera) [1638022] - [net] netfilter: xt_socket: check sk before checking for netns. (Ivan Vecera) [1638022] - [net] sched: act_police: fix race condition on state variables (Ivan Vecera) [1638022] - [net] sched: cls_flower: validate nested enc_opts_policy to avoid warning (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix memory leak when IDR allocation fails (Ivan Vecera) [1638022] - [net] configs: disable CAKE, ETF & SKBPRIO qdisc in config (Ivan Vecera) [1638022] - [net] tc-tests: test denial of 'goto chain' for exceed traffic in police.json (Ivan Vecera) [1638022] - [net] tc-tests: test denial of 'goto chain' on 'random' traffic in gact.json (Ivan Vecera) [1638022] - [net] sched: act_police: disallow 'goto chain' on fallback control action (Ivan Vecera) [1638022] - [net] sched: act_gact: disallow 'goto chain' on fallback control action (Ivan Vecera) [1638022] - [net] net_sched: fix a crash in tc_new_tfilter() (Ivan Vecera) [1638022] - [net] core: make function ___gnet_stats_copy_basic() static (Ivan Vecera) [1638022] - [net] net_sched: convert idrinfo->lock from spinlock to a mutex (Ivan Vecera) [1638022] - [net] loopback: clear skb->tstamp before netif_rx() (Ivan Vecera) [1638022] - [net] skbuff: preserve sock reference when scrubbing the skb. (Ivan Vecera) [1638022] - [net] netfilter: check if the socket netns is correct. (Ivan Vecera) [1638022] - [net] sched: make function qdisc_free_cb() static (Ivan Vecera) [1638022] - [net] sched: use reference counting for tcf blocks on rules update (Ivan Vecera) [1638022] - [net] sched: implement tcf_block_refcnt_{get|put}() (Ivan Vecera) [1638022] - [net] sched: protect block idr with spinlock (Ivan Vecera) [1638022] - [net] sched: implement functions to put and flush all chains (Ivan Vecera) [1638022] - [net] sched: change tcf block reference counter type to refcount_t (Ivan Vecera) [1638022] - [net] sched: use Qdisc rcu API instead of relying on rtnl lock (Ivan Vecera) [1638022] - [net] sched: add helper function to take reference to Qdisc (Ivan Vecera) [1638022] - [net] sched: extend Qdisc with rcu (Ivan Vecera) [1638022] - [net] sched: rename qdisc_destroy() to qdisc_put() (Ivan Vecera) [1638022] - [net] core: netlink: add helper refcount dec and lock function (Ivan Vecera) [1638022] - [net] sched: act_ipt: check for underflow in __tcf_ipt_init() (Ivan Vecera) [1638022] - [net] sched: Add hardware specific counters to TC actions (Ivan Vecera) [1638022] - [net] core: Add new basic hardware counter (Ivan Vecera) [1638022] - [net] net_sched: change tcf_del_walker() to take idrinfo->lock (Ivan Vecera) [1638022] - [net] sched: Use FIELD_SIZEOF directly instead of reimplementing its function (Ivan Vecera) [1638022] - [net] sched: act_sample: fix NULL dereference in the data path (Ivan Vecera) [1638022] - [net] sched: act_police: don't use spinlock in the data path (Ivan Vecera) [1638022] - [net] sched: act_police: use per-cpu counters (Ivan Vecera) [1638022] - [net] net_sched: notify filter deletion when deleting a chain (Ivan Vecera) [1638022] - [net] htb: use anonymous union for simplicity (Ivan Vecera) [1638022] - [net] net_sched: remove redundant qdisc lock classes (Ivan Vecera) [1638022] - [net] sched: cls_flower: dump offload count value (Ivan Vecera) [1638022] - [net] net_sched: properly cancel netlink dump on failure (Ivan Vecera) [1638022] - [net] sched: fix memory leak in act_tunnel_key_init() (Ivan Vecera) [1638022] - [net] sched: action_ife: take reference to meta module (Ivan Vecera) [1638022] - [net] act_ife: fix a potential use-after-free (Ivan Vecera) [1638022] - [net] sched: act_nat: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_skbedit: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: null actions array pointer before releasing action (Ivan Vecera) [1638022] - [net] sched: fix type of htb statistics (Ivan Vecera) [1638022] - [net] net_sched: add missing tcf_lock for act_connmark (Ivan Vecera) [1638022] - [net] revert "net: sched: act: add extack for lookup callback" (Ivan Vecera) [1638022] - [net] tc-testing: add test-cases for numeric and invalid control action (Ivan Vecera) [1638022] - [net] net_sched: reject unknown tcfa_action values (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix dump of extended layered op (Ivan Vecera) [1638022] - [net] sched: return -ENOENT when trying to remove filter from non-existent chain (Ivan Vecera) [1638022] - [net] sched: fix extack error message when chain is failed to be created (Ivan Vecera) [1638022] - [net] sched: Fix memory exposure from short TCA_U32_SEL (Ivan Vecera) [1638022] - [net] net_sched: fix unused variable warning in stmmac (Ivan Vecera) [1638022] - [net] sch_cake: Fix TC filter flow override and expand it to hosts as well (Ivan Vecera) [1638022] - [net] sch_cake: Remove unused including (Ivan Vecera) [1638022] - [net] act_ife: fix a potential deadlock (Ivan Vecera) [1638022] - [net] act_ife: move tcfa_lock down to where necessary (Ivan Vecera) [1638022] - [net] revert "net: sched: act_ife: disable bh when taking ife_mod_lock" (Ivan Vecera) [1638022] - [net] net_sched: remove unused tcfa_capab (Ivan Vecera) [1638022] - [net] net_sched: remove list_head from tc_action (Ivan Vecera) [1638022] - [net] net_sched: remove unused tcf_idr_check() (Ivan Vecera) [1638022] - [net] net_sched: remove unused parameter for tcf_action_delete() (Ivan Vecera) [1638022] - [net] net_sched: remove unnecessary ops->delete() (Ivan Vecera) [1638022] - [net] net_sched: improve and refactor tcf_action_put_many() (Ivan Vecera) [1638022] - [net] sched: always disable bh when taking tcf_lock (Ivan Vecera) [1638022] - [net] sched: act_ife: always release ife action on init error (Ivan Vecera) [1638022] - [net] cls_matchall: fix tcf_unbind_filter missing (Ivan Vecera) [1638022] - [net] sched: act_ife: disable bh when taking ife_mod_lock (Ivan Vecera) [1638022] - [net] sched: act_mirred method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_vlan method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_skbmod method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_skbedit method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_simple method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_police method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_pedit method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_nat method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_ipt method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_gact method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_sum method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_bpf method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_connmark method rename for grep-ability and consistency (Ivan Vecera) [1638022] - [net] sched: act_police: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] core: protect rate estimator statistics pointer with lock (Ivan Vecera) [1638022] - [net] sched: act_mirred: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: extend action ops with put_dev callback (Ivan Vecera) [1638022] - [net] sched: act_vlan: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_tunnel_key: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_skbmod: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_simple: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_sample: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_pedit: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_ipt: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_ife: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_gact: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_csum: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] sched: act_bpf: remove dependency on rtnl lock (Ivan Vecera) [1638022] - [net] tc: Update README and add config (Ivan Vecera) [1638022] - [net] sched: fix block->refcnt decrement (Ivan Vecera) [1638022] - [net] tc-tests: initial version of nat action unit tests (Ivan Vecera) [1638022] - [net] sched: allow flower to match tunnel options (Ivan Vecera) [1638022] - [net] flow_dissector: allow dissection of tunnel options from metadata (Ivan Vecera) [1638022] - [net] tc-testing: remove duplicate spaces in skbedit match patterns (Ivan Vecera) [1638022] - [net] tc-testing: remove duplicate spaces in connmark match patterns (Ivan Vecera) [1638022] - [net] tc-testing: flush gact actions on test teardown (Ivan Vecera) [1638022] - [net] tc-testing: fix ip address in u32 test (Ivan Vecera) [1638022] - [net] sched: cls_flower: Fix an error code in fl_tmplt_create() (Ivan Vecera) [1638022] - [net] sched: fix flush on non-existing chain (Ivan Vecera) [1638022] - [net] sched: make tcf_chain_{get, put}() static (Ivan Vecera) [1638022] - [net] sched: fix notifications for action-held chains (Ivan Vecera) [1638022] - [net] sched: change name of zombie chain to "held_by_acts_only" (Ivan Vecera) [1638022] - [net] act_mirred: use TC_ACT_REINSERT when possible (Ivan Vecera) [1638022] - [net] tc: introduce TC_ACT_REINSERT. (Ivan Vecera) [1638022] - [net] tc/act: remove unneeded RCU lock in action callback (Ivan Vecera) [1638022] - [net] sched: user-space can't set unknown tcfa_action values (Ivan Vecera) [1638022] - [net] Add and use skb_mark_not_on_list(). (Ivan Vecera) [1638022] - [net] sch_netem: Move private queue handler to generic location. (Ivan Vecera) [1638022] - [net] sch_htb: Remove local SKB queue handling code. (Ivan Vecera) [1638022] - [net] act_bpf: Use kmemdup instead of duplicating it in tcf_bpf_init_from_ops (Ivan Vecera) [1638022] - [net] cls_bpf: Use kmemdup instead of duplicating it in cls_bpf_prog_from_ops (Ivan Vecera) [1638022] - [net] act_pedit: remove unnecessary semicolon (Ivan Vecera) [1638022] - [net] sched: don't dump chains only held by actions (Ivan Vecera) [1638022] - [net] sch_cake: Make gso-splitting configurable from userspace (Ivan Vecera) [1638022] - [net] sched: unmark chain as explicitly created on delete (Ivan Vecera) [1638022] - [net] sched: cls_api: fix dead code in switch (Ivan Vecera) [1638022] - [net] sched: cls_flower: Use correct inline function for assignment of vlan tpid (Ivan Vecera) [1638022] - [net] sched: fix trailing whitespace (Ivan Vecera) [1638022] - [net] cbs: Add support for the graft function (Ivan Vecera) [1638022] - [net] sched: add skbprio scheduler (Ivan Vecera) [1638022] - [net] selftests: forwarding: add tests for TC chain templates (Ivan Vecera) [1638022] - [net] selftests: forwarding: add tests for TC chains creation adn destruction (Ivan Vecera) [1638022] - [net] selftests: forwarding: move shblock tc support check to a separate helper (Ivan Vecera) [1638022] - [net] sched: cls_flower: propagate chain teplate creation and destruction to drivers (Ivan Vecera) [1638022] - [net] sched: cls_flower: implement chain templates (Ivan Vecera) [1638022] - [net] sched: cls_flower: change fl_init_dissector to accept mask and dissector (Ivan Vecera) [1638022] - [net] sched: cls_flower: move key/mask dumping into a separate function (Ivan Vecera) [1638022] - [net] sched: introduce chain templates (Ivan Vecera) [1638022] - [net] sched: introduce chain object to uapi (Ivan Vecera) [1638022] - [net] sched: Avoid implicit chain 0 creation (Ivan Vecera) [1638022] - [net] sched: push ops lookup bits into tcf_proto_lookup_ops() (Ivan Vecera) [1638022] - [net] nfp: bring back support for offloading shared blocks (Ivan Vecera) [1638022] - [net] sched: use PTR_ERR_OR_ZERO macro in tcf_block_cb_register (Ivan Vecera) [1638022] - [net] tc-tests: initial version of fw filter unit tests (Ivan Vecera) [1638022] - [net] sch_cake: Fix tin order when set through skb->priority (Ivan Vecera) [1638022] - [net] sched: act_skbedit: don't use spinlock in the data path (Ivan Vecera) [1638022] - [net] sched: skbedit: use per-cpu counters (Ivan Vecera) [1638022] - [net] tc-testing: add geneve options in tunnel_key unit tests (Ivan Vecera) [1638022] - [net] sched: fix unprotected access to rcu cookie pointer (Ivan Vecera) [1638022] - [net] sched: act_ife: fix memory leak in ife init (Ivan Vecera) [1638022] - [net] sched: refactor flower walk to iterate over idr (Ivan Vecera) [1638022] - [net] sched: flower: Fix null pointer dereference when run tc vlan command (Ivan Vecera) [1638022] - [net] sched: Fix warnings from xchg() on RCU'd cookie pointer. (Ivan Vecera) [1638022] - [net] cls_flower: fix error values for commands not supported by drivers (Ivan Vecera) [1638022] - [net] nfp: handle cls_flower command default case (Ivan Vecera) [1638022] - [net] bnxt: simplify cls_flower command switch and handle default case (Ivan Vecera) [1638022] - [net] sch_cake: Conditionally split GSO segments (Ivan Vecera) [1638022] - [net] sch_cake: Add overhead compensation support to the rate shaper (Ivan Vecera) [1638022] - [net] sch_cake: Add DiffServ handling (Ivan Vecera) [1638022] - [net] sch_cake: Add NAT awareness to packet classifier (Ivan Vecera) [1638022] - [net] netfilter: Add nf_ct_get_tuple_skb global lookup function (Ivan Vecera) [1638022] - [net] sch_cake: Add optional ACK filter (Ivan Vecera) [1638022] - [net] sch_cake: Add ingress mode (Ivan Vecera) [1638022] - [net] sched: Add Common Applications Kept Enhanced (cake) qdisc (Ivan Vecera) [1638022] - [net] Use __u32 in uapi net_stamp.h (Ivan Vecera) [1638022] - [net] sched: flower: Add supprt for matching on QinQ vlan headers (Ivan Vecera) [1638022] - [net] sched: flower: Dump the ethertype encapsulated in vlan (Ivan Vecera) [1638022] - [net] flow_dissector: Add support for QinQ dissection (Ivan Vecera) [1638022] - [net] sched: flower: Add support for matching on vlan ethertype (Ivan Vecera) [1638022] - [net] flow_dissector: Save vlan ethertype from headers (Ivan Vecera) [1638022] - [net] sched: change action API to use array of pointers to actions (Ivan Vecera) [1638022] - [net] sched: atomically check-allocate action (Ivan Vecera) [1638022] - [net] sched: use reference counting action init (Ivan Vecera) [1638022] - [net] sched: don't release reference on action overwrite (Ivan Vecera) [1638022] - [net] sched: implement reference counted action release (Ivan Vecera) [1638022] - [net] sched: add 'delete' function to action ops (Ivan Vecera) [1638022] - [net] sched: implement action API that deletes action by index (Ivan Vecera) [1638022] - [net] sched: always take reference to action (Ivan Vecera) [1638022] - [net] sched: implement unlocked action init API (Ivan Vecera) [1638022] - [net] sched: change type of reference and bind counters (Ivan Vecera) [1638022] - [net] sched: use rcu for action cookie update (Ivan Vecera) [1638022] - [net] sched: Make etf report drops on error_queue (Ivan Vecera) [1638022] - [net] sched: Add HW offloading capability to ETF (Ivan Vecera) [1638022] - [net] sched: Introduce the ETF Qdisc (Ivan Vecera) [1638022] - [net] sched: Allow creating a Qdisc watchdog with other clocks (Ivan Vecera) [1638022] - [net] packet: Hook into time based transmission. (Ivan Vecera) [1638022] - [net] ipv6: Hook into time based transmission (Ivan Vecera) [1638022] - [net] ipv4: Hook into time based transmission (Ivan Vecera) [1638022] - [net] Add a new socket option for a future transmit time. (Ivan Vecera) [1638022] - [net] Clear skb->tstamp only on the forwarding path (Ivan Vecera) [1638022] - [net] sched: act_pedit: fix possible memory leak in tcf_pedit_init() (Ivan Vecera) [1638022] - [net] net sched actions: add extack messages in pedit action (Ivan Vecera) [1638022] - [net] net:sched: add action inheritdsfield to skbedit (Ivan Vecera) [1638022] - [net] tc-testing: initial version of tunnel_key unit tests (Ivan Vecera) [1638022] - [net] net sched actions: avoid bitwise operation on signed value in pedit (Ivan Vecera) [1638022] - [net] net sched actions: fix misleading text strings in pedit action (Ivan Vecera) [1638022] - [net] net sched actions: use sizeof operator for buffer length (Ivan Vecera) [1638022] - [net] net sched actions: fix sparse warning (Ivan Vecera) [1638022] - [net] net sched actions: fix coding style in pedit headers (Ivan Vecera) [1638022] - [net] net sched actions: fix coding style in pedit action (Ivan Vecera) [1638022] - [net] netem: slotting with non-uniform distribution (Ivan Vecera) [1638022] - [net] check tunnel option type in tunnel flags (Ivan Vecera) [1638022] - [net] sched: act_tunnel_key: add extended ack support (Ivan Vecera) [1638022] - [net] tc-tests: add an extreme-case csum action test (Ivan Vecera) [1638022] - [net] net_sched: remove unused htb drop_list (Ivan Vecera) [1638022]- [rpmspec] always run make with HOSTCFLAGS/HOSTLDFLAGS set (Jiri Olsa) [1624124] - [rpmspec] Pass global build flags to tools build (Jiri Olsa) [1624124] - [rpmspec] Pass global build flags to bpftool build (Jiri Olsa) [1624124] - [kernel] kbuild: Use HOST*FLAGS options from the command line (Jiri Olsa) [1624124] - [scripts] kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS (Jiri Olsa) [1624124] - [tools] kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS (Jiri Olsa) [1624124] - [scripts] kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS (Jiri Olsa) [1624124] - [tools] kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS (Jiri Olsa) [1624124] - [tools] tools cpupower: Override CFLAGS assignments (Jiri Olsa) [1624124] - [tools] tools cpupower debug: Allow to use outside build flags (Jiri Olsa) [1624124] - [tools] perf tools: Pass build flags to traceevent build (Jiri Olsa) [1624124] - [tools] tools lib traceevent: Use LDFLAGS in the build commands (Jiri Olsa) [1624124] - [tools] perf tools: Link libperf-jvmti.so with LDFLAGS variable (Jiri Olsa) [1624124] - [tools] bpftool: Allow add linker flags via EXTRA_LDFLAGS variable (Jiri Olsa) [1624124] - [tools] bpftool: Allow to add compiler flags via EXTRA_CFLAGS variable (Jiri Olsa) [1624124] - [block] blkcg: handle dying request_queue when associating a blkg (Ming Lei) [1655485] - [block] block: deactivate blk_stat timer in wbt_disable_default() (Ming Lei) [1655485] - [lib] sbitmap: flush deferred clears for resize and shallow gets (Ming Lei) [1655485] - [md] dm: fix request-based dm's use of dm_wait_for_completion (Ming Lei) [1655485] - [nvme] nvme: fix irq vs io_queue calculations (Ming Lei) [1655485] - [md] dm: fix inflight IO check (Ming Lei) [1655485] - [md] dm: remove the pending IO accounting (Ming Lei) [1655485] - [block] block: return just one value from part_in_flight (Ming Lei) [1655485] - [block] block: switch to per-cpu in-flight counters (Ming Lei) [1655485] - [block] block: delete part_round_stats and switch to less precise counting (Ming Lei) [1655485] - [block] block: stop passing 'cpu' to all percpu stats methods (Ming Lei) [1655485] - [md] dm rq: leverage blk_mq_queue_busy() to check for outstanding IO (Ming Lei) [1655485] - [md] dm: dont rewrite dm_disk(md)->part0.in_flight (Ming Lei) [1655485] - [lib] sbitmap: silence bogus lockdep IRQ warning (Ming Lei) [1655485] - [scsi] scsi: Fix a harmless double shift bug (Ming Lei) [1655485] - [block] blk-mq: re-build queue map in case of kdump kernel (Ming Lei) [1655485] - [block] blkcg: put back rcu lock in blkcg_bio_issue_check() (Ming Lei) [1655485] - [block] block: convert io-latency to use rq_qos_wait (Ming Lei) [1655485] - [block] block: convert wbt_wait() to use rq_qos_wait() (Ming Lei) [1655485] - [block] block: add rq_qos_wait to rq_qos (Ming Lei) [1655485] - [block] blkcg: rename blkg_try_get() to blkg_tryget() (Ming Lei) [1655485] - [block] blkcg: change blkg reference counting to use percpu_ref (Ming Lei) [1655485] - [block] blkcg: remove bio_disassociate_task() (Ming Lei) [1655485] - [block] blkcg: remove additional reference to the css (Ming Lei) [1655485] - [block] blkcg: remove bio->bi_css and instead use bio->bi_blkg (Ming Lei) [1655485] - [block] blkcg: associate writeback bios with a blkg (Ming Lei) [1655485] - [block] blkcg: associate a blkg for pages being evicted by swap (Ming Lei) [1655485] - [block] blkcg: consolidate bio_issue_init() to be a part of core (Ming Lei) [1655485] - [block] blkcg: associate blkg when associating a device (Ming Lei) [1655485] - [block] dm: set the static flush bio device on demand (Ming Lei) [1655485] - [block] blkcg: introduce common blkg association logic (Ming Lei) [1655485] - [block] blkcg: convert blkg_lookup_create() to find closest blkg (Ming Lei) [1655485] - [block] blkcg: update blkg_lookup_create() to do locking (Ming Lei) [1655485] - [block] blkcg: fix ref count issue with bio_blkcg() using task_css (Ming Lei) [1655485] - [block] blk-mq: remove QUEUE_FLAG_POLL from default MQ flags (Ming Lei) [1655485] - [block] block: enable polling by default if a poll map is initalized (Ming Lei) [1655485] - [block] block: only allow polling if a poll queue_map exists (Ming Lei) [1655485] - [block] block: remove ->poll_fn (Ming Lei) [1655485] - [nvme] nvme-mpath: remove I/O polling support (Ming Lei) [1655485] - [nvme] nvme-rdma: remove I/O polling support (Ming Lei) [1655485] - [nvme] nvme-pci: remove the CQ lock for interrupt driven queues (Ming Lei) [1655485] - [nvme] nvme-pci: don't poll from irq context when deleting queues (Ming Lei) [1655485] - [nvme] nvme-pci: refactor nvme_disable_io_queues (Ming Lei) [1655485] - [nvme] nvme-pci: consolidate code for polling non-dedicated queues (Ming Lei) [1655485] - [nvme] nvme-pci: only allow polling with separate poll queues (Ming Lei) [1655485] - [nvme] nvme-pci: cleanup SQ allocation a bit (Ming Lei) [1655485] - [nvme] nvme-pci: use atomic bitops to mark a queue enabled (Ming Lei) [1655485] - [block] block: move queues types to the block layer (Ming Lei) [1655485] - [fs] aio: clear IOCB_HIPRI (Ming Lei) [1655485] - [lib] sbitmap: fix sbitmap_for_each_set() (Ming Lei) [1655485] - [block] blk-mq: don't call ktime_get_ns() if we don't need it (Ming Lei) [1655485] - [block] block: add cmd_flags to print_req_error (Ming Lei) [1655485] - [lib] sbitmap: optimize wakeup check (Ming Lei) [1655485] - [lib] sbitmap: ammortize cost of clearing bits (Ming Lei) [1655485] - [block] block: avoid extra bio reference for async O_DIRECT (Ming Lei) [1655485] - [lib] sbitmap: don't loop for find_next_zero_bit() for !round_robin (Ming Lei) [1655485] - [block] blk-mq: use plug for devices that implement ->commits_rqs() (Ming Lei) [1655485] - [block] blk-mq: use bd->last == true for list inserts (Ming Lei) [1655485] - [block] ataflop: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [block] virtio_blk: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [nvme] nvme: implement mq_ops->commit_rqs() hook (Ming Lei) [1655485] - [block] blk-mq: add mq_ops->commit_rqs() (Ming Lei) [1655485] - [block] block: improve logic around when to sort a plug list (Ming Lei) [1655485] - [block] blk-mq: Add a NULL check in blk_mq_free_map_and_requests() (Ming Lei) [1655485] - [block] ataflop: fix error handling in atari_floppy_init() (Ming Lei) [1655485] - [block] block: add io timeout to sysfs (Ming Lei) [1655485] - [block] block: use rcu_work instead of call_rcu to avoid sleep in softirq (Ming Lei) [1655485] - [block] blk-mq: fix failure to decrement plug count on single rq removal (Ming Lei) [1655485] - [block] sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN (Ming Lei) [1655485] - [block] block: sum requests in the plug structure (Ming Lei) [1655485] - [block] blk-mq: Simplify request completion state (Ming Lei) [1655485] - [scsi] scsi: Do not rely on blk-mq for double completions (Ming Lei) [1655485] - [block] blk-mq: Return true if request was completed (Ming Lei) [1655485] - [block] blk-mq: never redirect polled IO completions (Ming Lei) [1655485] - [block] blk-mq: ensure mq_ops ->poll() is entered at least once (Ming Lei) [1655485] - [block] block: make blk_poll() take a parameter on whether to spin or not (Ming Lei) [1655485] - [nvme] nvme: remove opportunistic polling from bdev target (Ming Lei) [1655485] - [block] blk-mq: remove 'tag' parameter from mq_ops->poll() (Ming Lei) [1655485] - [block] blk-mq: when polling for IO, look for any completion (Ming Lei) [1655485] - [block] block: fix attempt to assign NULL io_context (Ming Lei) [1655485] - [block] block: Initialize BIO I/O priority early (Ming Lei) [1655485] - [block] block: prevent merging of requests with different priorities (Ming Lei) [1655485] - [fs] aio: Fix fallback I/O priority value (Ming Lei) [1655485] - [block] block: Introduce get_current_ioprio() (Ming Lei) [1655485] - [block] block: Remove bio->bi_ioc (Ming Lei) [1655485] - [fs] aio: Comment use of IOCB_FLAG_IOPRIO aio flag (Ming Lei) [1655485] - [nvme] nvme-fc: remove ->poll implementation (Ming Lei) [1655485] - [block] block: have ->poll_fn() return number of entries polled (Ming Lei) [1655485] - [block] block: avoid ordered task state change for polled IO (Ming Lei) [1655485] - [nvme] nvme: default to 0 poll queues (Ming Lei) [1655485] - [block] floppy: remove now unused 'flags' variable (Ming Lei) [1655485] - [mmc] mmc: stop abusing the request queue_lock pointer (Ming Lei) [1655485] - [block] ide: don't acquire queue_lock in ide_complete_pm_rq (Ming Lei) [1655485] - [block] ide: don't acquire queue lock in ide_pm_execute_rq (Ming Lei) [1655485] - [block] pktcdvd: remove queue_lock around blk_queue_max_hw_sectors (Ming Lei) [1655485] - [block] floppy: remove queue_lock around floppy_end_request (Ming Lei) [1655485] - [block] block: remove the rq_alloc_data request_queue field (Ming Lei) [1655485] - [block] block: don't plug for aio/O_DIRECT HIPRI IO (Ming Lei) [1655485] - [block] block: for async O_DIRECT, mark us as polling if asked to (Ming Lei) [1655485] - [block] block: add polled wakeup task helper (Ming Lei) [1655485] - [block] blk-rq-qos: inline check for q->rq_qos functions (Ming Lei) [1655485] - [block] block: add queue_is_mq() helper (Ming Lei) [1655485] - [nvme] nvme: provide optimized poll function for separate poll queues (Ming Lei) [1655485] - [block] ide: clear ide_req()->special for non-passthrough requests (Ming Lei) [1655485] - [nvme] nvme: fix handling of EINVAL on pci_alloc_irq_vectors_affinity() (Ming Lei) [1655485] - [block] block: add wbt_disable_default export for BFQ (Ming Lei) [1655485] - [block] block: remove the queue_lock indirection (Ming Lei) [1655485] - [block] block: remove the lock argument to blk_alloc_queue_node (Ming Lei) [1655485] - [mmc] mmc: stop abusing the request queue_lock pointer (Ming Lei) [1655485] - [mmc] mmc: simplify queue initialization (Ming Lei) [1655485] - [block] umem: don't override the queue_lock (Ming Lei) [1655485] - [block] drbd: don't override the queue_lock (Ming Lei) [1655485] - [block] blk-cgroup: move locking into blkg_destroy_all (Ming Lei) [1655485] - [block] blk-cgroup: consolidate error handling in blkcg_init_queue (Ming Lei) [1655485] - [block] block: remove a few unused exports (Ming Lei) [1655485] - [block] block: update a few comments for the legacy request removal (Ming Lei) [1655485] - [block] block: remove the unused lock argument to rq_qos_throttle (Ming Lei) [1655485] - [block] block: remove queue_lockdep_assert_held (Ming Lei) [1655485] - [block] block: use atomic bitops for ->queue_flags (Ming Lei) [1655485] - [block] block: don't hold the queue_lock over blk_abort_request (Ming Lei) [1655485] - [block] block: remove deadline __deadline manipulation helpers (Ming Lei) [1655485] - [block] block: remove QUEUE_FLAG_BYPASS and ->bypass (Ming Lei) [1655485] - [nvme] nvmet-rdma: fix response use after free (Ming Lei) [1655485] - [nvme] nvme: validate controller state before rescheduling keep alive (Ming Lei) [1655485] - [block] block, bfq: fix decrement of num_active_groups (Ming Lei) [1655485] - [ata] libata: whitelist all SAMSUNG MZ7KM* solid-state disks (Ming Lei) [1655485] - [nvme] nvme-rdma: fix double freeing of async event data (Ming Lei) [1655485] - [nvme] nvme-pci: fix surprise removal (Ming Lei) [1655485] - [nvme] nvme: Free ctrl device name on init failure (Ming Lei) [1655485] - [nvme] nvme-fc: resolve io failures during connect (Ming Lei) [1655485] - [nvme] nvme: make sure ns head inherits underlying device limits (Ming Lei) [1655485] - [nvme] nvmet: don't try to add ns to p2p map unless it actually uses it (Ming Lei) [1655485] - [nvme] nvme-pci: fix conflicting p2p resource adds (Ming Lei) [1655485] - [nvme] nvmet: Optionally use PCI P2P memory (Ming Lei) [1655485] - [nvme] nvmet: Introduce helper functions to allocate and free request SGLs (Ming Lei) [1655485] - [nvme] nvme-pci: Add support for P2P memory in requests (Ming Lei) [1655485] - [nvme] nvme-pci: Use PCI p2pmem subsystem to manage the CMB (Ming Lei) [1655485] - [infiniband] IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]() (Ming Lei) [1655485] - [block] block: Add PCI P2P flag for request queue (Ming Lei) [1655485] - [documentation] PCI/P2PDMA: Add P2P DMA driver writer's documentation (Ming Lei) [1655485] - [documentation] docs-rst: Add a new directory for PCI documentation (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Add sysfs group to display p2pmem stats (Ming Lei) [1655485] - [pci] PCI/P2PDMA: Support peer-to-peer memory (Ming Lei) [1655485] - [nvme] nvmet-rdma: support max(16KB, PAGE_SIZE) inline data (Ming Lei) [1655485] - [nvme] nvme-rdma: support up to 4 segments of inline data (Ming Lei) [1655485] - [fs] aio: fix failure to put the file pointer (Ming Lei) [1655485] - [lib] scsi: Remove percpu_ida (Ming Lei) [1655485] - [scsi] scsi: target: Convert target drivers to use sbitmap (Ming Lei) [1655485] - [scsi] scsi: target: Abstract tag freeing (Ming Lei) [1655485] - [block] mmc: block: Fix unsupported parallel dispatch of requests (Ming Lei) [1655485] - [scsi] scsi: target: sbitmap: add seq_file forward declaration (Ming Lei) [1655485] - [mm] mm, memory_hotplug: do not clear numa_node association after hot_remove (Waiman Long) [1657422] - [fs] iomap: partially revert 4721a601099 (simulated directio short read on EFAULT) (Brian Foster) [1654713] - [fs] splice: don't read more than available pipe space (Brian Foster) [1654713] - [fs] vfs: allow some remap flags to be passed to vfs_clone_file_range (Brian Foster) [1654713] - [fs] xfs: fix inverted return from xfs_btree_sblock_verify_crc (Brian Foster) [1654713] - [fs] xfs: fix PAGE_MASK usage in xfs_free_file_space (Brian Foster) [1654713] - [fs] fs/xfs: fix f_ffree value for statfs when project quota is set (Brian Foster) [1654713] - [fs] iomap: readpages doesn't zero page tail beyond EOF (Brian Foster) [1654713] - [fs] vfs: vfs_dedupe_file_range() doesn't return EOPNOTSUPP (Brian Foster) [1654713] - [fs] iomap: dio data corruption and spurious errors when pipes fill (Brian Foster) [1654713] - [fs] iomap: sub-block dio needs to zeroout beyond EOF (Brian Foster) [1654713] - [fs] iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extents (Brian Foster) [1654713] - [fs] xfs: delalloc -> unwritten COW fork allocation can go wrong (Brian Foster) [1654713] - [fs] xfs: flush removing page cache in xfs_reflink_remap_prep (Brian Foster) [1654713] - [fs] xfs: extent shifting doesn't fully invalidate page cache (Brian Foster) [1654713] - [fs] xfs: finobt AG reserves don't consider last AG can be a runt (Brian Foster) [1654713] - [fs] xfs: fix transient reference count error in xfs_buf_resubmit_failed_buffers (Brian Foster) [1654713] - [fs] xfs: uncached buffer tracing needs to print bno (Brian Foster) [1654713] - [fs] xfs: make xfs_file_remap_range() static (Brian Foster) [1654713] - [fs] xfs: fix shared extent data corruption due to missing cow reservation (Brian Foster) [1654713] - [fs] xfs: fix overflow in xfs_attr3_leaf_verify (Brian Foster) [1654713] - [fs] xfs: print buffer offsets when dumping corrupt buffers (Brian Foster) [1654713] - [fs] xfs: Fix error code in 'xfs_ioc_getbmap()' (Brian Foster) [1654713] - [fs] xfs: cancel COW blocks before swapext (Brian Foster) [1654713] - [fs] xfs: clear ail delwri queued bufs on unmount of shutdown fs (Brian Foster) [1654713] - [fs] xfs: use offsetof() in place of offset macros for __xfsstats (Brian Foster) [1654713] - [fs] xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat (Brian Foster) [1654713] - [fs] xfs: fix use-after-free race in xfs_buf_rele (Brian Foster) [1654713] - [fs] xfs: Add attibute remove and helper functions (Brian Foster) [1654713] - [fs] xfs: Add attibute set and helper functions (Brian Foster) [1654713] - [fs] xfs: Add helper function xfs_attr_try_sf_addname (Brian Foster) [1654713] - [fs] xfs: Move fs/xfs/xfs_attr.h to fs/xfs/libxfs/xfs_attr.h (Brian Foster) [1654713] - [fs] xfs: issue log message on user force shutdown (Brian Foster) [1654713] - [fs] xfs: fix buffer state management in xrep_findroot_block (Brian Foster) [1654713] - [fs] xfs: always assign buffer verifiers when one is provided (Brian Foster) [1654713] - [fs] xfs: xrep_findroot_block should reject root blocks with siblings (Brian Foster) [1654713] - [fs] xfs: add a define for statfs magic to uapi (Brian Foster) [1654713] - [fs] xfs: print dangling delalloc extents (Brian Foster) [1654713] - [fs] xfs: fix fork selection in xfs_find_trim_cow_extent (Brian Foster) [1654713] - [fs] xfs: remove the unused trimmed argument from xfs_reflink_trim_around_shared (Brian Foster) [1654713] - [fs] xfs: remove the unused shared argument to xfs_reflink_reserve_cow (Brian Foster) [1654713] - [fs] xfs: handle zeroing in xfs_file_iomap_begin_delay (Brian Foster) [1654713] - [fs] xfs: remove suport for filesystems without unwritten extent flag (Brian Foster) [1654713] - [fs] xfs: remove XFS_IO_INVALID (Brian Foster) [1654713] - [fs] xfs: remove [cm]time update from reflink calls (Brian Foster) [1654713] - [fs] xfs: remove xfs_reflink_remap_range (Brian Foster) [1654713] - [fs] xfs: remove redundant remap partial EOF block checks (Brian Foster) [1654713] - [fs] xfs: support returning partial reflink results (Brian Foster) [1654713] - [fs] xfs: clean up xfs_reflink_remap_blocks call site (Brian Foster) [1654713] - [fs] xfs: fix pagecache truncation prior to reflink (Brian Foster) [1654713] - [fs] vfs: clean up generic_remap_file_range_prep return value (Brian Foster) [1654713] - [fs] vfs: hide file range comparison function (Brian Foster) [1654713] - [fs] vfs: enable remap callers that can handle short operations (Brian Foster) [1654713] - [fs] vfs: plumb remap flags through the vfs dedupe functions (Brian Foster) [1654713] - [fs] vfs: plumb remap flags through the vfs clone functions (Brian Foster) [1654713] - [fs] vfs: make remap_file_range functions take and return bytes completed (Brian Foster) [1654713] - [fs] vfs: remap helper should update destination inode metadata (Brian Foster) [1654713] - [fs] vfs: pass remap flags to generic_remap_checks (Brian Foster) [1654713] - [fs] vfs: pass remap flags to generic_remap_file_range_prep (Brian Foster) [1654713] - [fs] vfs: combine the clone and dedupe into a single remap_file_range (Brian Foster) [1654713] - [fs] vfs: rename clone_verify_area to remap_verify_area (Brian Foster) [1654713] - [fs] vfs: rename vfs_clone_file_prep to be more descriptive (Brian Foster) [1654713] - [fs] vfs: skip zero-length dedupe requests (Brian Foster) [1654713] - [fs] vfs: avoid problematic remapping requests into partial EOF block (Brian Foster) [1654713] - [fs] vfs: strengthen checking of file range inputs to generic_remap_checks (Brian Foster) [1654713] - [fs] vfs: exit early from zero length remap operations (Brian Foster) [1654713] - [fs] vfs: check file ranges before cloning files (Brian Foster) [1654713] - [fs] vfs: vfs_clone_file_prep_inodes should return EINVAL for a clone from beyond EOF (Brian Foster) [1654713] - [block] blk-mq: not embed .mq_kobj and ctx->kobj into queue instance (Ming Lei) [1653124] - [fs] fs: fix lost error code in dio_complete (Ming Lei) [1655364] - [iommu] iommu/iova: Optimise attempts to allocate iova from 32bit address range (Robert Richter) [1639202]- [drm] drm/nouveau/drm/nouveau: Check rc from drm_dp_mst_topology_mgr_resume() (Lyude Paul) [1658810] - [x86] Mark Intel Apollo Lake supported (David Arcari) [1653799] - [infiniband] IB/mlx5: Fix implicit ODP interrupted page fault (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Improve ODP debugging messages (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Use multi threaded workqueue for page fault handling (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Lock QP during page fault handling (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Enumerate page fault types (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Add interface to hold and release core resources (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Release resource on error flow (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Correctly set PFC param if global pause is turned off. (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_en: Change min MTU size to ETH_MIN_MTU (Alaa Hleihel) [1658085] - [netdrv] mlx5: fix get_ip_proto() (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Fix page fault handling for MW (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Initialize return variable in case pagefault was skipped (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Skip non-ODP MR when handling a page fault (Alaa Hleihel) [1658085] - [net] net/dim: Update DIM start sample after each DIM iteration (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Avoid load failure due to unknown link width (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Removed unnecessary warnings in FEC caps query (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Fix selftest for small MTUs (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: RX, verify received packet size in Linear Striding RQ (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Apply the correct check for supporting TC esw rules split (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Adjust to max number of channles when re-attaching (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Always use the match level enum when parsing TC rule match (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Claim TC hw offloads support only under a proper build config (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Don't match on vlan non-existence if ethertype is wildcarded (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: IPoIB, Reset QP after channels are closed (Alaa Hleihel) [1658085] - [netdrv] net/mlx4: Fix UBSAN warning of signed integer overflow (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Fix uninitialized variable compilation warning (Alaa Hleihel) [1658085] - [netdrv] net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Fix MR cache initialization (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Remove extraneous error check (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Take only bit 24-26 of wqe.pftype_wq for page fault type (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Fix memory leak when setting fpga ipsec caps (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Unmap DMA addr from HCA before IOMMU (Alaa Hleihel) [1658085] - [infiniband] RDMA/mlx5: Remove superfluous version print (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Allow transition of DCI QP to reset (Alaa Hleihel) [1658085] - [infiniband] IB/mlx5: Don't hold spin lock while checking device state (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Move mlx5e_priv_flags into en_ethtool.c (Alaa Hleihel) [1658085] - [netdrv] net/mlx5: Fix atomic_mode enum values (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: Delete unneeded function argument (Alaa Hleihel) [1658085] - [netdrv] net/mlx5e: RX, Prefetch the xdp_frame data area (Alaa Hleihel) [1658085] - [drm] drm/i915: Synchronize hpd work in i915_hpd_storm_ctl_show() (Lyude Paul) [1658376] - [drm] drm/i915: Add short HPD IRQ storm detection for non-MST systems (Lyude Paul) [1658376] - [drm] drm/i915: Clarify flow for disabling IRQs on storms (Lyude Paul) [1658376] - [drm] drm/i915: Fix threshold check in intel_hpd_irq_storm_detect() (Lyude Paul) [1658376] - [drm] drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST (Lyude Paul) [1658376] - [drm] drm/i915: Fix possible race in intel_dp_add_mst_connector() (Lyude Paul) [1658376] - [x86] kvm: x86: bump KVM_(SOFT_)MAX_VCPUS to 384 (Radim Krcmar) [1635205] - [block] blk-mq: punt failed direct issue to dispatch list (Ming Lei) [1656653] - [block] blk-mq: fix corruption with direct issue (Ming Lei) [1656653] - [pci] PCI: Add support for Immediate Readiness (Myron Stowe) [1483409] - [x86] x86/PCI: Remove node-local allocation when initialising host controller (Myron Stowe) [1483409] - [arm64] arm64: PCI: Remove node-local allocations when initialising host controller (Myron Stowe) [1483409] - [cpufreq] cpufreq: intel_pstate: Add base_frequency attribute (Prarit Bhargava) [1648207] - [acpi] ACPI / CPPC: Add support for guaranteed performance (Prarit Bhargava) [1648207] - [block] block: fix single range discard merge (Ming Lei) [1654096] - [scsi] SCSI: fix queue cleanup race before queue initialization is done (Ming Lei) [1642404] - [netdrv] net: hinic: fix null pointer dereference on pointer hwdev (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic: fix a bug in rx data flow (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:fix a bug in set mac address (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:add rx checksum offload for HiNIC (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic:replace multiply and division operators (Xiaojun Tan) [1654207] - [netdrv] hinic: Fix l4_type parameter in hinic_task_set_tunnel_l4 (Xiaojun Tan) [1654207] - [netdrv] net-next/hinic: add checksum offload and TSO support (Xiaojun Tan) [1654207] - [netdrv] cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size (Arjun Vynipadath) [1651082]- [x86] kvm: x86: Report STIBP on GET_SUPPORTED_CPUID (Eduardo Habkost) [1644870] - [kernel] power: remove possible deadlock when unregistering power_supply (Benjamin Tissoires) [1657623] - [md] dm: call blk_queue_split() to impose device limits on bios (Mike Snitzer) [1657340] - [pinctrl] Revert "pinctrl: intel: Do pin translation when lock IRQ" (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix HOSTSW_OWN register offset of H variant (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Do pin translation in other GPIO operations as well (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix gpio base for GPP-E (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Don't shadow error code of gpiochip_lock_as_irq() (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: cannonlake: Fix community ordering for H variant (Benjamin Tissoires) [1658075] - [pinctrl] pinctrl: intel: Do pin translation when lock IRQ (Benjamin Tissoires) [1658075] - [firmware] efi: Prevent GICv3 WARN() by mapping the memreserve table before first use (Bhupesh Sharma) [1638640] - [firmware] efi: Permit calling efi_mem_reserve_persistent() from atomic context (Bhupesh Sharma) [1638640] - [firmware] efi/arm: Defer persistent reservations until after paging_init() (Bhupesh Sharma) [1638640] - [firmware] efi/arm: Revert deferred unmap of early memmap mapping (Bhupesh Sharma) [1638640] - [arm64] arm64: memblock: don't permit memblock resizing until linear mapping is up (Bhupesh Sharma) [1638640] - [arm64] arm64: Fix /proc/iomem for reserved but not memory regions (Bhupesh Sharma) [1638640] - [tty] tty: wipe buffer. (Christoph von Recklinghausen) [1655051] - [tty] tty: wipe buffer if not echoing data (Christoph von Recklinghausen) [1655051]- [powerpc] powerpc/perf: Remove sched_task function defined for thread-imc (Steve Best) [1657153] - [s390] Add reserved fields to mm_context_t (Philipp Rudo) [1656874] - [s390] Add reserved fields to thread_struct (Philipp Rudo) [1656874] - [documentation] kdump: correct crashkernel=auto threshold (Raghavendra Rao) [1656698] - [fs] NFSv4.x: fix lock recovery during delegation recall (Steve Dickson) [1656410] - [x86] x86/spec_ctrl: Synchronize RHEL8 percpu SPEC_CTRL MSR states with new STIBP logic (Waiman Long) [1655662] - [x86] x86/speculation: Provide IBPB always command line options (Waiman Long) [1655662] - [x86] x86/speculation: Add seccomp Spectre v2 user space protection mode (Waiman Long) [1655662] - [x86] x86/speculation: Enable prctl mode for spectre_v2_user (Waiman Long) [1655662] - [x86] x86/speculation: Add prctl() control for indirect branch speculation (Waiman Long) [1655662] - [x86] x86/speculation: Prepare arch_smt_update() for PRCTL mode (Waiman Long) [1655662] - [x86] x86/speculation: Prevent stale SPEC_CTRL msr content (Waiman Long) [1655662] - [x86] x86/speculation: Split out TIF update (Waiman Long) [1655662] - [x86] ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS (Waiman Long) [1655662] - [x86] x86/speculation: Prepare for conditional IBPB in switch_mm() (Waiman Long) [1655662] - [x86] x86/speculation: Avoid __switch_to_xtra() calls (Waiman Long) [1655662] - [x86] x86/process: Consolidate and simplify switch_to_xtra() code (Waiman Long) [1655662] - [x86] x86/speculation: Prepare for per task indirect branch speculation control (Waiman Long) [1655662] - [x86] x86/speculation: Add command line control for indirect branch speculation (Waiman Long) [1655662] - [x86] x86/speculation: Unify conditional spectre v2 print functions (Waiman Long) [1655662] - [x86] x86/speculataion: Mark command line parser data __initdata (Waiman Long) [1655662] - [x86] x86/speculation: Mark string arrays const correctly (Waiman Long) [1655662] - [x86] x86/speculation: Reorder the spec_v2 code (Waiman Long) [1655662] - [x86] x86/l1tf: Show actual SMT state (Waiman Long) [1655662] - [x86] x86/speculation: Rework SMT state change (Waiman Long) [1655662] - [x86] sched/smt: Expose sched_smt_present static key (Waiman Long) [1655662] - [x86] x86/Kconfig: Select SCHED_SMT if SMP enabled (Waiman Long) [1655662] - [x86] sched/smt: Make sched_smt_present track topology (Waiman Long) [1655662] - [x86] x86/speculation: Reorganize speculation control MSRs update (Waiman Long) [1655662] - [x86] x86/speculation: Rename SSBD update functions (Waiman Long) [1655662] - [x86] x86/speculation: Disable STIBP when enhanced IBRS is in use (Waiman Long) [1655662] - [x86] x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common() (Waiman Long) [1655662] - [x86] x86/speculation: Remove unnecessary ret variable in cpu_show_common() (Waiman Long) [1655662] - [x86] x86/speculation: Clean up spectre_v2_parse_cmdline() (Waiman Long) [1655662] - [x86] x86/speculation: Update the TIF_SSBD comment (Waiman Long) [1655662] - [x86] x86/retpoline: Remove minimal retpoline support (Waiman Long) [1655662] - [x86] x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support (Waiman Long) [1655662] - [x86] x86/spec_ctrl: Temporarily remove the IBRS code from process.c & bugs.c (Waiman Long) [1655662] - [nvme] nvme: flush namespace scanning work just before removing namespaces (Ewan Milne) [1656028] - [netdrv] i40e: Fix deletion of MAC filters (Stefan Assmann) [1646847] - [scsi] mpt3sas: Display message on Configurable secure HBA (Tomas Henzl) [1649314] - [scsi] scsi: mpt3sas: Add support for Aero controllers (Tomas Henzl) [1649314] - [scsi] scsi: mpt3sas: Update MPI headers to support Aero controllers (Tomas Henzl) [1649314] - [scsi] megaraid_sas: Add support for MegaRAID Aero controllers (Tomas Henzl) [1649384] - [netdrv] nfp: flower: enabled offloading of Team LAG (Pablo Cascon) [1649876] - [netdrv] net/mlx5: IPSec, Fix the SA context hash key (Alaa Hleihel) [1645857] - [hwmon] hwmon/k10temp: Add support for AMD family 17h, model 30h CPUs (Gary Hook) [1640681] - [x86] x86/amd_nb: Add PCI device IDs for family 17h, model 30h (Gary Hook) [1640681] - [x86] x86/amd_nb: Add support for newer PCI topologies (Gary Hook) [1640681] - [hwmon] hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs (Gary Hook) [1640681] - [net] tipc: fix info leak from kernel tipc_event (Jon Maloy) [1643279] - [net] tipc: eliminate message disordering during binding table update (Jon Maloy) [1643279] - [net] tipc: fix unsafe rcu locking when accessing publication list (Jon Maloy) [1643279] - [net] tipc: queue socket protocol error messages into socket receive buffer (Jon Maloy) [1643279] - [net] tipc: ignore STATE_MSG on wrong link session (Jon Maloy) [1643279] - [net] tipc: fix failover problem (Jon Maloy) [1643279] - [net] tipc: eliminate possible recursive locking detected by LOCKDEP (Jon Maloy) [1643279] - [net] tipc: lock wakeup & inputq at tipc_link_reset() (Jon Maloy) [1643279] - [net] tipc: reset bearer if device carrier not ok (Jon Maloy) [1643279] - [net] tipc: fix flow control accounting for implicit connect (Jon Maloy) [1643279] - [net] tipc: check return value of __tipc_dump_start() (Jon Maloy) [1643279] - [net] tipc: call start and done ops directly in __tipc_nl_compat_dumpit() (Jon Maloy) [1643279] - [net] tipc: orphan sock in tipc_release() (Jon Maloy) [1643279] - [net] tipc: switch to rhashtable iterator (Jon Maloy) [1643279] - [net] tipc: fix a missing rhashtable_walk_exit() (Jon Maloy) [1643279] - [net] tipc: add missing dev_put() on error in tipc_enable_l2_media (Jon Maloy) [1643279] - [net] tipc: initialize broadcast link stale counter correctly (Jon Maloy) [1643279] - [net] tipc: set link tolerance correctly in broadcast link (Jon Maloy) [1643279] - [net] tipc: extend link reset criteria for stale packet retransmission (Jon Maloy) [1643279] - [crypto] crypto: ccp - Add support for new CCP/PSP device ID (Gary Hook) [1634201] - [crypto] crypto: ccp - Support register differences between PSP devices (Gary Hook) [1634201] - [crypto] crypto: ccp - Remove unused #defines (Gary Hook) [1634201] - [crypto] crypto: ccp - Add psp enabled message when initialization succeeds (Gary Hook) [1634201] - [crypto] crypto: ccp - Fix command completion detection race (Gary Hook) [1634201] - [crypto] crypto: ccp - Check for NULL PSP pointer at module unload (Gary Hook) [1634201] - [net] sctp: increase sk_wmem_alloc when head->truesize is increased (Xin Long) [1645419] - [net] sctp: count sk_wmem_alloc by skb truesize in sctp_packet_transmit (Xin Long) [1645419] - [net] ipv6: re-do dad when interface has IFF_NOARP flag change (Hangbin Liu) [1644594] - [net] netfilter: nf_tables: don't skip inactive chains during update (Florian Westphal) [1643746] - [net] inet: frags: better deal with smp races (Sabrina Dubroca) [1645397] - [net] geneve, vxlan: Don't set exceptions if skb->len < mtu (Xin Long) [1642842] - [net] geneve, vxlan: Don't check skb_dst() twice (Xin Long) [1642842] - [net] sctp: fix strchange_flags name for Stream Change Event (Xin Long) [1641852] - [net] sctp: update dst pmtu with the correct daddr (Xin Long) [1644478] - [net] sctp: not free the new asoc when sctp_wait_for_connect returns err (Xin Long) [1644155] - [net] l2tp: fix a sock refcnt leak in l2tp_tunnel_register (Xin Long) [1642749] - [net] sctp: check policy more carefully when getting pr status (Xin Long) [1637786] - [net] sctp: get pr_assoc and pr_stream all status with SCTP_PR_SCTP_ALL instead (Xin Long) [1637786] - [net] ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12 (Hangbin Liu) [1638598] - [net] netfilter: nft_compat: ebtables 'nat' table is normal chain type (Florian Westphal) [1645377] - [net] sched: exclude TC from kABI guarantee (Ivan Vecera) [1628454] - [net] netfilter: nft_set_rbtree: allow loose matching of closing element in interval (Phil Sutter) [1641993] - [net] netfilter: xt_nat: fix DNAT target for shifted portmap ranges (Paolo Abeni) [1634258] - [net] sched: Fix for duplicate class dump (Phil Sutter) [1631179] - [x86] KVM: X86: Fix scan ioapic use-before-initialization (Bandan Das) [1653835] {CVE-2018-19407}- [scsi] scsi: vmw_pscsi: Rearrange code to avoid multiple calls to free_irq during unload (Cathy Avery) [1590875] - [netdrv] net/ibmvnic: Fix RTNL deadlock during device reset (Steve Best) [1656076] - [s390] s390/qeth: fix length check in SNMP processing (Philipp Rudo) [1655612] - [s390] s390/ism: clear dmbe_mask bit before SMC IRQ handling (Philipp Rudo) [1655611] - [net] net/smc: use after free fix in smc_wr_tx_put_slot() (Philipp Rudo) [1655611] - [net] net/smc: atomic SMCD cursor handling (Philipp Rudo) [1655611] - [net] net/smc: add SMC-D shutdown signal (Philipp Rudo) [1655611] - [net] net/smc: use queue pair number when matching link group (Philipp Rudo) [1655611] - [net] net/smc: abort CLC connection in smc_release (Philipp Rudo) [1655611] - [net] net/smc: unregister rkeys of unused buffer (Philipp Rudo) [1655611] - [net] net/smc: add infrastructure to send delete rkey messages (Philipp Rudo) [1655611] - [net] net/smc: avoid a delay by waiting for nothing (Philipp Rudo) [1655611] - [net] net/smc: cleanup listen worker mutex unlocking (Philipp Rudo) [1655611] - [net] net/smc: short wait for late smc_clc_wait_msg (Philipp Rudo) [1655611] - [net] net/smc: no link delete for a never active link (Philipp Rudo) [1655611] - [net] net/smc: allow fallback after clc timeouts (Philipp Rudo) [1655611] - [net] net/smc: remove sock_error detour in clc-functions (Philipp Rudo) [1655611] - [net] net/smc: make smc_lgr_free() static (Philipp Rudo) [1655611] - [net] net/smc: cleanup tcp_listen_worker initialization (Philipp Rudo) [1655611] - [net] net/smc: fix smc_buf_unuse to use the lgr pointer (Philipp Rudo) [1655611] - [net] Revert "net: simplify sock_poll_wait" (Philipp Rudo) [1655611] - [powerpc] powerpc/pseries: Fix unitialized timer reset on migration (Steve Best) [1655053] - [powerpc] powerpc/pseries/mobility: Extend start/stop topology update scope (Steve Best) [1655053] - [x86] Mark Intel Cascade Lake supported (Steve Best) [1641425]- [x86] KVM: VMX: re-add ple_gap module parameter (Gary Hook) [1652953] - [netdrv] tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths (Steve Best) [1655515] - [pci] PCI/ASPM: Do not initialize link state when aspm_disabled is set (Myron Stowe) [1655246] - [pci] PCI/ACPI: Allow _OSC presence to be optional for PCI (Myron Stowe) [1655246] - [pci] PCI/ACPI: Correct error message for ASPM disabling (Myron Stowe) [1655246] - [pci] PCI/ASPM: Fix link_state teardown on device removal (Myron Stowe) [1655246] - [netdrv] ice: Change req_speeds to be u16 (Jonathan Toppins) [1644403] - [netdrv] ice: Fix the bytecount sent to netdev_tx_sent_queue (Jonathan Toppins) [1644403] - [netdrv] ice: Fix tx_timeout in PF driver (Jonathan Toppins) [1644403] - [netdrv] ice: Fix napi delete calls for remove (Jonathan Toppins) [1644403] - [netdrv] ice: Fix typo in error message (Jonathan Toppins) [1644403] - [netdrv] ice: Fix flags for port VLAN (Jonathan Toppins) [1644403] - [netdrv] ice: Remove duplicate addition of VLANs in replay path (Jonathan Toppins) [1644403] - [netdrv] ice: Free VSI contexts during for unload (Jonathan Toppins) [1644403] - [netdrv] ice: Fix dead device link issue with flow control (Jonathan Toppins) [1644403] - [netdrv] ice: Check for reset in progress during remove (Jonathan Toppins) [1644403] - [netdrv] ice: Set carrier state and start/stop queues in rebuild (Jonathan Toppins) [1644403] - [netdrv] virtchnl: Added support to exchange additional speed values (Jonathan Toppins) [1644403] - [netdrv] ice: Poll for link status change (Jonathan Toppins) [1644403] - [netdrv] ice: Allocate VF interrupts and set queue map (Jonathan Toppins) [1644403] - [netdrv] ice: Introduce ice_dev_onetime_setup (Jonathan Toppins) [1644403] - [netdrv] ice: Use capability count returned by the firmware (Jonathan Toppins) [1644403] - [netdrv] ice: Update expected FW version (Jonathan Toppins) [1644403] - [netdrv] ice: Change device ID define names to align with branding string (Jonathan Toppins) [1644403] - [netdrv] ice: Make ice_msix_clean_rings static (Jonathan Toppins) [1644403] - [netdrv] ice: Update version string (Jonathan Toppins) [1644403] - [netdrv] ice: Use the right function to enable/disable VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Add more flexibility on how we assign an ITR index (Jonathan Toppins) [1644403] - [netdrv] ice: Fix potential null pointer issues (Jonathan Toppins) [1644403] - [netdrv] ice: Add code to go from ICE_FWD_TO_VSI_LIST to ICE_FWD_TO_VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Fix forward to queue group logic (Jonathan Toppins) [1644403] - [netdrv] ice: Extend malicious operations detection logic (Jonathan Toppins) [1644403] - [netdrv] ice: Notify VF of link status change (Jonathan Toppins) [1644403] - [netdrv] ice: Implement virtchnl commands for AVF support (Jonathan Toppins) [1644403] - [netdrv] ice: Add handlers for VF netdevice operations (Jonathan Toppins) [1644403] - [netdrv] ice: Add support for VF reset events (Jonathan Toppins) [1644403] - [netdrv] ice: Update VSI and queue management code to handle VF VSI (Jonathan Toppins) [1644403] - [netdrv] ice: Add handler to configure SR-IOV (Jonathan Toppins) [1644403] - [netdrv] ice: Add support to detect SR-IOV capability and mailbox queues (Jonathan Toppins) [1644403] - [netdrv] ice: Fix error on driver remove (Jonathan Toppins) [1644403] - [netdrv] ice: Add support for dynamic interrupt moderation (Jonathan Toppins) [1644403] - [netdrv] ice: Align ice_reset_req enum values to hardware reset values (Jonathan Toppins) [1644403] - [netdrv] ice: Implement ethtool hook for RSS switch (Jonathan Toppins) [1644403] - [netdrv] ice: Split irq_tracker into sw_irq_tracker and hw_irq_tracker (Jonathan Toppins) [1644403] - [netdrv] ice: Check for actual link state of port after reset (Jonathan Toppins) [1644403] - [netdrv] ice: Implement VSI replay framework (Jonathan Toppins) [1644403] - [netdrv] ice: Expand use of VSI handles part 2/2 (Jonathan Toppins) [1644403] - [netdrv] ice: Expand use of VSI handles part 1/2 (Jonathan Toppins) [1644403] - [netdrv] ice: Change pf state behavior to protect reset path (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 7/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 6/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 5/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 4/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 3/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 2/7 (Jonathan Toppins) [1644403] - [netdrv] ice: Move common functions out of ice_main.c part 1/7 (Jonathan Toppins) [1644403] - [netdrv] ice: fix changing of ring descriptor size (ethtool -G) (Jonathan Toppins) [1644403] - [netdrv] ice: Update to capabilities admin queue command (Jonathan Toppins) [1644403] - [netdrv] ice: Query the Tx scheduler node before adding it (Jonathan Toppins) [1644403] - [netdrv] ice: Update comment for ice_fltr_mgmt_list_entry (Jonathan Toppins) [1644403] - [netdrv] ice: update fw version check logic (Jonathan Toppins) [1644403] - [netdrv] ice: update branding strings and supported device ids (Jonathan Toppins) [1644403] - [netdrv] ice: replace unnecessary memcpy with direct assignment (Jonathan Toppins) [1644403] - [netdrv] ice: use [sr]q.count when checking if queue is initialized (Jonathan Toppins) [1644403] - [netdrv] ice: remove ndo_poll_controller (Jonathan Toppins) [1644403] - [fs] fanotify: fix handling of events on child sub-directory (Miklos Szeredi) [1652432] - [fs] fsnotify: generalize handling of extra event flags (Miklos Szeredi) [1652432] - [netdrv] net: hns3: add common validation in hclge_dcb (Xiaojun Tan) [1640945] - [netdrv] net: hns3: fix for multiple unmapping DMA problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: rename hns_nic_dma_unmap (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add handling for big TX fragment (Xiaojun Tan) [1640945] - [netdrv] net: hns3: move DMA map into hns3_fill_desc (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove hns3_fill_desc_tso (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Resume promisc mode and vlan filter status after loopback test (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Resume promisc mode and vlan filter status after reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Enable promisc mode when mac vlan table is full (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add egress/ingress vlan filter for revision 0x21 (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Optimize for unicast mac vlan table (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix loss of coal configuration while doing reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Modify hns3_get_max_available_channels (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Change return type of hclge_tm_schd_info_update() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for netdev not up problem when setting mtu (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for packet buffer setting bug (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set extra mac address of pause param for HW (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix speed/duplex information loss problem when executing ethtool ethx cmd of VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add get_media_type ops support for VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove print messages for error packet (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add nic state check before calling netif_tx_wake_queue (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add handle for default case (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Unify the prefix of vf functions (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix tqp array traversal condition for vf (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix ets validate issue (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix parameter type for q_id in hclge_tm_q_to_qs_map_cfg() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix client initialize state issue when roce client initialize failed (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Clear client pointer when initialize client failed or unintialize finished (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix cmdq registers initialization issue for vf (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for setting speed for phy failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Check hdev state when getting link status (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set STATE_DOWN bit of hdev state when stopping net (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove packet statistics of public (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove tx budget to clean more TX descriptors in a napi (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Refine hns3_get_link_ksettings() (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Remove redundant codes of query advertised flow control abilitiy (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Change the dst mac addr of loopback packet (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Only update mac configuation when necessary (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Preserve vlan 0 in hardware table (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix ping exited problem when doing lp selftest (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for loopback selftest failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix error of checking used vlan id (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for multicast failure (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for vf vlan delete failed problem (Xiaojun Tan) [1640945] - [netdrv] net: hns3: modify variable type in hns3_nic_reuse_page (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add vlan filter setting by ethtool command -K (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Set tx ring' tc info when netdev is up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix desc num set to default when setting channel (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for information of phydev lost problem when down/up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add support for serdes loopback selftest (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Refine the MSIX allocation for PF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix MSIX allocation issue for VF (Xiaojun Tan) [1640945] - [netdrv] net: hns3: fix return value error while hclge_cmd_csq_clean failed (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Modify inconsistent bit mask macros (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Correct reset event status register (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Prevent to request reset frequently (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Prevent sending command during global or core reset (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Add configure for mac minimal frame size (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for l4 checksum offload bug (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix for waterline not setting correctly (Xiaojun Tan) [1640945] - [netdrv] net: hns3: Fix tc setup when netdev is first up (Xiaojun Tan) [1640945] - [netdrv] net: hns3: modify hnae_ to hnae3_ (Xiaojun Tan) [1640945] - [netdrv] net: hns3: simplify hclge_cmd_csq_clean (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove some redundant assignments (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove back in struct hclge_hw (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add unlikely for error check (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add l4_type check for both ipv4 and ipv6 (Xiaojun Tan) [1640945] - [netdrv] net: hns3: add vector status check before free vector (Xiaojun Tan) [1640945] - [netdrv] net: hns3: rename the interface for init_client_instance and uninit_client_instance (Xiaojun Tan) [1640945] - [netdrv] net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector (Xiaojun Tan) [1640945] - [kernel] redhat: Enable -Werror for architectures (Laura Abbott) [1582754] - [drm] drm/atomic_helper: Remove dangling variable (Laura Abbott) [1582754] - [s390] s390/tools: fix gcc 8 stringop-truncation warnings (Laura Abbott) [1582754] - [tty] kgdboc: Fix restrict error (Laura Abbott) [1582754] - [misc] misc: kgdbts: Fix restrict error (Laura Abbott) [1582754] - [scsi] scsi: ibmvscsis: Fix a stringop-overflow warning (Laura Abbott) [1582754] - [s390] s390/extmem: fix gcc 8 stringop-overflow warning (Laura Abbott) [1582754] - [s390] s390/perf: fix gcc 8 array-bounds warning (Laura Abbott) [1582754] - [kernel] kdb: Use strscpy with destination buffer size (Laura Abbott) [1582754] - [fs] configfs: replace strncpy with memcpy (Laura Abbott) [1582754] - [fs] kernfs: Replace strncpy with memcpy (Laura Abbott) [1582754] - [kernel] disable stringop truncation warnings for now (Laura Abbott) [1582754] - [sound] ALSA: intel_hdmi: Use strlcpy() instead of strncpy() (Laura Abbott) [1582754] - [sound] ALSA: trident: Suppress gcc string warning (Laura Abbott) [1582754] - [lib] kobject: Replace strncpy with memcpy (Laura Abbott) [1582754] - [tty] TTY: isdn: Replace strncpy with memcpy (Laura Abbott) [1582754] - [target] scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size (Laura Abbott) [1582754] - [fs] fuse: don't need GETATTR after every READ (Miklos Szeredi) [1650538] - [fs] fuse: allow fine grained attr cache invaldation (Miklos Szeredi) [1650538]- [mm] mm: mremap: properly flush TLB before releasing the page (Rafael Aquini) [1645122] {CVE-2018-18281} - [x86] x86/spec_ctrl: Change default Skylake Spectre v2 mitigation to retpoline (Waiman Long) [1651806] - [fs] gfs2: write revokes should traverse sd_ail1_list in reverse (Andreas Grunbacher) [1652763] - [fs] gfs2: Fix marking bitmaps non-full (Andreas Grunbacher) [1652762] - [fs] GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads (Andreas Grunbacher) [1652761] - [fs] gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd (Andreas Grunbacher) [1652759] - [fs] gfs2: Use fs_* functions instead of pr_* function where we can (Andreas Grunbacher) [1652757] - [fs] gfs2: slow the deluge of io error messages (Andreas Grunbacher) [1652757] - [fs] gfs2_meta: ->mount() can get NULL dev_name (Andreas Grunbacher) [1652754] - [powerpc] powerpc/vdso: Correct call frame information (Steve Best) [1651281] - [i2c] i2c: i801: Add support for Intel Ice Lake (David Arcari) [1637435] - [usb] xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc (Robert Richter) [1649829] - [x86] x86: numa_emulation: fix uniform-split numa emulation (Rafael Aquini) [1620341] - [x86] x86: numa_emulation: introduce uniform split capability (Rafael Aquini) [1620341] - [kernel] perf/hw_breakpoint: Modify breakpoint even if the new attr has disabled set (Mark Salter) [1643174] - [x86] KVM: vmx: hyper-v: don't pass EPT configuration info to vmx_hv_remote_flush_tlb() (Paolo Bonzini) [1636610] - [x86] KVM: x86: support CONFIG_KVM_AMD=y with CONFIG_CRYPTO_DEV_CCP_DD=m (Paolo Bonzini) [1636610] - [x86] kvm: nVMX: fix entry with pending interrupt if APICv is enabled (Paolo Bonzini) [1636610] - [x86] KVM: VMX: hide flexpriority from guest when disabled at the module level (Paolo Bonzini) [1636610] - [x86] KVM: VMX: check for existence of secondary exec controls before accessing (Paolo Bonzini) [1636610] - [x86] KVM: x86: fix L1TF's MMIO GFN calculation (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: cut down decimal places in update interval dialog (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix emulation of VM_ENTRY_LOAD_BNDCFGS (Paolo Bonzini) [1636610] - [x86] KVM: x86: Do not use kvm_x86_ops->mpx_supported() directly (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Do not expose MPX VMX controls when guest MPX disabled (Paolo Bonzini) [1636610] - [x86] KVM: x86: never trap MSR_KERNEL_GS_BASE (Paolo Bonzini) [1636610] - [x86] KVM: LAPIC: Fix pv ipis out-of-bounds access (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix loss of pending IRQ/NMI before entering L2 (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: re-animate display of dead guests (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: indicate dead guests as such (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: handle guest removals more gracefully (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: don't reset stats when setting PID filter for debugfs (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix updates for dead guests (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix handling of invalid paths in debugfs provider (Paolo Bonzini) [1636610] - [tools] tools/kvm_stat: fix python3 issues (Paolo Bonzini) [1636610] - [x86] KVM: x86: Unexport x86_emulate_instruction() (Paolo Bonzini) [1636610] - [x86] KVM: x86: Rename emulate_instruction() to kvm_emulate_instruction() (Paolo Bonzini) [1636610] - [x86] KVM: x86: Do not re-{try, execute} after failed emulation in L2 (Paolo Bonzini) [1636610] - [x86] KVM: x86: Default to not allowing emulation retry in kvm_mmu_page_fault (Paolo Bonzini) [1636610] - [x86] KVM: x86: Merge EMULTYPE_RETRY and EMULTYPE_ALLOW_REEXECUTE (Paolo Bonzini) [1636610] - [x86] KVM: x86: Invert emulation re-execute behavior to make it opt-in (Paolo Bonzini) [1636610] - [x86] KVM: x86: SVM: Set EMULTYPE_NO_REEXECUTE for RSM emulation (Paolo Bonzini) [1636610] - [x86] KVM: VMX: Do not allow reexecute_instruction() when skipping MMIO instr (Paolo Bonzini) [1636610] - [x86] KVM: SVM: remove unused variable dst_vaddr_end (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: avoid redundant double assignment of nested_run_pending (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Fix bad cleanup on error of get/set nested state IOCTLs (Paolo Bonzini) [1636610] - [tools] kvm: selftests: Add platform_info_test (Paolo Bonzini) [1636610] - [x86] KVM: x86: Control guest reads of MSR_PLATFORM_INFO (Paolo Bonzini) [1636610] - [x86] KVM: x86: Turbo bits in MSR_PLATFORM_INFO (Paolo Bonzini) [1636610] - [x86] nVMX x86: Check VPID value on vmentry of L2 guests (Paolo Bonzini) [1636610] - [x86] nVMX x86: check posted-interrupt descriptor addresss on vmentry of L2 (Paolo Bonzini) [1636610] - [x86] KVM: nVMX: Wake blocked vCPU in guest-mode if pending interrupt in virtual APICv (Paolo Bonzini) [1636610] - [x86] KVM: VMX: check nested state and CR4.VMXE against SMM (Paolo Bonzini) [1636610] - [x86] kvm: x86: make kvm_{load|put}_guest_fpu() static (Paolo Bonzini) [1636610] - [x86] x86/hyper-v: rename ipi_arg_{ex, non_ex} structures (Paolo Bonzini) [1636610] - [x86] KVM: VMX: use preemption timer to force immediate VMExit (Paolo Bonzini) [1636610] - [x86] KVM: VMX: modify preemption timer bit only when arming timer (Paolo Bonzini) [1636610] - [x86] KVM: VMX: immediately mark preemption timer expired only for zero value (Paolo Bonzini) [1636610] - [x86] KVM: SVM: Switch to bitmap_zalloc() (Paolo Bonzini) [1636610] - [lib] bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free() (Paolo Bonzini) [1636610] - [x86] KVM/MMU: Fix comment in walk_shadow_page_lockless_end() (Paolo Bonzini) [1636610] - [tools] kvm: selftests: use -pthread instead of -lpthread (Paolo Bonzini) [1636610] - [tools] kvm: selftest: add dirty logging test (Paolo Bonzini) [1636610] - [tools] kvm: selftest: pass in extra memory when create vm (Paolo Bonzini) [1636610] - [tools] kvm: selftest: include the tools headers (Paolo Bonzini) [1636610] - [tools] kvm: selftest: unify the guest port macros (Paolo Bonzini) [1636610] - [x86] KVM: x86: don't reset root in kvm_mmu_setup() (Paolo Bonzini) [1636610] - [x86] kvm: mmu: Don't read PDPTEs when paging is not enabled (Paolo Bonzini) [1636610] - [x86] x86/kvm/lapic: always disable MMIO interface in x2APIC mode (Paolo Bonzini) [1636610] - [s390] KVM: s390: Make huge pages unavailable in ucontrol VMs (Paolo Bonzini) [1636610] - [s390] s390/mm: Check for valid vma before zapping in gmap_discard (Paolo Bonzini) [1636610] - [tools] selftests: add headers_install to lib.mk (Paolo Bonzini) [1636610] - [tools] selftests: kselftest: Remove outdated comment (Paolo Bonzini) [1636610] - [tools] selftests: android: move config up a level (Paolo Bonzini) [1636610] - [md] md: Avoid namespace collision with bitmap API (Paolo Bonzini) [1636610]- [cpufreq] cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC (Prarit Bhargava) [1654361] - [netdrv] nfp: flower: add ipv6 set flow label and hop limit offload (Pablo Cascon) [1651639] - [netdrv] nfp: flower: add ipv4 set ttl and tos offload (Pablo Cascon) [1651639] - [netdrv] ibmvnic: Update driver queues after change in ring size support (Steve Best) [1651947] - [netdrv] ibmvnic: Fix RX queue buffer cleanup (Steve Best) [1651947] - [netdrv] net/ibmnvic: Fix deadlock problem in reset (Steve Best) [1651947] - [netdrv] ibmvnic: fix accelerated VLAN handling (Steve Best) [1651947] - [netdrv] ibmvnic: Add ethtool private flag for driver-defined queue limits (Steve Best) [1651947] - [netdrv] ibmvnic: Introduce driver limits for ring sizes (Steve Best) [1651947] - [netdrv] ibmvnic: Increase maximum queue size limit (Steve Best) [1651947] - [netdrv] ibmvnic: remove ndo_poll_controller (Steve Best) [1651947] - [powerpc] powerpc/powernv/npu: Remove atsd_threshold debugfs setting (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Use size-based ATSD invalidates (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Reduce eieio usage when issuing ATSD invalidates (Steve Best) [1653661] - [powerpc] powerpc/powernv/npu: Add a debugfs setting to change ATSD threshold (Steve Best) [1653661] - [net] libceph: fall back to sendmsg for slab pages (Ilya Dryomov) [1653395] - [s390] s390/qeth: utilize virtual MAC for Layer2 OSD devices (Philipp Rudo) [1653246] - [fs] vfs: fix FIGETBSZ ioctl on an overlayfs file (Miklos Szeredi) [1651362] - [fs] ovl: fix decode of dir file handle with multi lower layers (Miklos Szeredi) [1651362] - [fs] ovl: fix missing override creds in link of a metacopy upper (Miklos Szeredi) [1651362] - [fs] ovl: automatically enable redirect_dir on metacopy=on (Miklos Szeredi) [1651362] - [fs] ovl: check whiteout in ovl_create_over_whiteout() (Miklos Szeredi) [1651362] - [fs] ovl: fix recursive oi->lock in ovl_link() (Miklos Szeredi) [1651362] - [fs] ovl: fix error handling in ovl_verify_set_fh() (Miklos Szeredi) [1651362] - [mm] mm, memory_hotplug: check zone_movable in has_unmovable_pages (Baoquan He) [1643839] - [netdrv] hv_netvsc: fix vf serial matching with pci slot info (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: remove ndo_poll_controller (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: pair VF based on serial number (Vitaly Kuznetsov) [1637519] - [netdrv] hv_netvsc: fix schedule in RCU context (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: Fix return value check in hv_pci_assign_slots() (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: support reporting serial number as slot information (Vitaly Kuznetsov) [1637519] - [pci] PCI: hv: Replace GFP_ATOMIC with GFP_KERNEL in new_pcichild_device() (Vitaly Kuznetsov) [1637519] - [char] ipmi: Fix timer race with module unload (Robert Richter) [1649812] - [arm64] arm64: hugetlb: Avoid unnecessary clearing in huge_ptep_set_access_flags (Christoph von Recklinghausen) [1635192] - [arm64] arm64: hugetlb: Fix handling of young ptes (Christoph von Recklinghausen) [1635192] - [mm] mm: Preserve _PAGE_DEVMAP across mprotect() calls (Jeff Moyer) [1647647]- [crypto] crypto: vmx - Fix sleep-in-atomic bugs (Steve Best) [1653662] - [netdrv] net: ena: update driver version from 2.0.1 to 2.0.2 (John Linville) [1634044] - [netdrv] net: ena: fix crash during ena_remove() (John Linville) [1634044] - [netdrv] net: ena: fix crash during failed resume from hibernation (John Linville) [1634044] - [netdrv] net: ena: enable CONFIG_ENA_ETHERNET for aarch64 (John Linville) [1634044] - [netdrv] net: ena: enable Low Latency Queues (John Linville) [1634044] - [netdrv] net: ena: Fix Kconfig dependency on X86 (John Linville) [1634044] - [netdrv] net: ena: fix indentations in ena_defs for better readability (John Linville) [1634044] - [netdrv] net: ena: update driver version to 2.0.1 (John Linville) [1634044] - [netdrv] net: ena: remove redundant parameter in ena_com_admin_init() (John Linville) [1634044] - [netdrv] net: ena: change rx copybreak default to reduce kernel memory pressure (John Linville) [1634044] - [netdrv] net: ena: limit refill Rx threshold to 256 to avoid latency issues (John Linville) [1634044] - [netdrv] net: ena: explicit casting and initialization, and clearer error handling (John Linville) [1634044] - [netdrv] net: ena: use CSUM_CHECKED device indication to report skb's checksum status (John Linville) [1634044] - [netdrv] net: ena: add functions for handling Low Latency Queues in ena_netdev (John Linville) [1634044] - [netdrv] net: ena: add functions for handling Low Latency Queues in ena_com (John Linville) [1634044] - [netdrv] net: ena: introduce Low Latency Queues data structures according to ENA spec (John Linville) [1634044] - [netdrv] net: ena: complete host info to match latest ENA spec (John Linville) [1634044] - [netdrv] net: ena: minor performance improvement (John Linville) [1634044] - [netdrv] net: ena: fix auto casting to boolean (John Linville) [1634044] - [netdrv] net: ena: fix NULL dereference due to untimely napi initialization (John Linville) [1634044] - [netdrv] net: ena: fix rare bug when failed restart/resume is followed by driver removal (John Linville) [1634044] - [netdrv] net: ena: fix warning in rmmod caused by double iounmap (John Linville) [1634044] - [netdrv] net: ena: remove ndo_poll_controller (John Linville) [1634044] - [netdrv] net: ena: fix incorrect usage of memory barriers (John Linville) [1634044] - [netdrv] net: ena: fix missing calls to READ_ONCE (John Linville) [1634044] - [netdrv] net: ena: fix missing lock during device destruction (John Linville) [1634044] - [netdrv] net: ena: fix potential double ena_destroy_device() (John Linville) [1634044] - [netdrv] net: ena: fix device destruction to gracefully free resources (John Linville) [1634044] - [netdrv] net: ena: fix driver when PAGE_SIZE == 64kB (John Linville) [1634044] - [netdrv] net: ena: fix surprise unplug NULL dereference kernel crash (John Linville) [1634044] - [s390] s390/zcrypt: reinit ap queue state machine during device probe (Philipp Rudo) [1653668] - [s390] s390/kdump: Make elfcorehdr size calculation ABI compliant (Philipp Rudo) [1653245] - [s390] s390/kdump: Fix elfcorehdr size calculation (Philipp Rudo) [1653245] - [block] block: fix 32 bit overflow in __blkdev_issue_discard() (Ming Lei) [1638826] - [ata] libata: blacklist SAMSUNG MZ7TD256HAFV-000L9 SSD (Ming Lei) [1638826] - [block] block: copy ioprio in __bio_clone_fast() and bounce (Ming Lei) [1638826] - [trace] kyber: fix wrong strlcpy() size in trace_kyber_latency() (Ming Lei) [1638826] - [block] floppy: fix race condition in __floppy_read_block_0() (Ming Lei) [1638826] - [block] block: make blk_try_req_merge() static (Ming Lei) [1638826] - [block] block: remove dead queue members (Ming Lei) [1638826] - [block] block: clean up dead code that is now redundant (Ming Lei) [1638826] - [nvme] nvme: fix boot hang with only being able to get one IRQ vector (Ming Lei) [1638826] - [block] ide: don't clear special on ide_queue_rq() entry (Ming Lei) [1638826] - [block] null_blk: remove unused nullb device (Ming Lei) [1638826] - [block] ide: don't use req->special (Ming Lei) [1638826] - [block] pd: replace ->special use with private data in the request (Ming Lei) [1638826] - [block] aoe: replace ->special use with private data in the request (Ming Lei) [1638826] - [block] skd_main: don't use req->special (Ming Lei) [1638826] - [block] nullb: remove leftover legacy request code (Ming Lei) [1638826] - [scsi] fnic: fix fnic_scsi_host_{start,end}_tag (Ming Lei) [1638826] - [block] block: remove set but not used variable 'et' (Ming Lei) [1638826] - [block] block: remove the BLKPREP_* values. (Ming Lei) [1638826] - [scsi] scsi: return blk_status_t from device handler ->prep_fn (Ming Lei) [1638826] - [scsi] scsi: return blk_status_t from scsi_init_io and ->init_command (Ming Lei) [1638826] - [scsi] scsi: clean up error handling in scsi_init_io (Ming Lei) [1638826] - [scsi] scsi: push blk_status_t up into scsi_setup_{fs,scsi}_cmnd (Ming Lei) [1638826] - [scsi] scsi: simplify scsi_prep_state_check (Ming Lei) [1638826] - [block] ide: cleanup ->prep_rq calling convention (Ming Lei) [1638826] - [block] block: remove req->timeout_list (Ming Lei) [1638826] - [block] blk-mq: provide a helper to check if a queue is busy (Ming Lei) [1638826] - [block] blk-mq-tag: change busy_iter_fn to return whether to continue or not (Ming Lei) [1638826] - [block] ms_block: remove unused pointer 'set' (Ming Lei) [1638826] - [block] sunvdc: fix compiler warning (Ming Lei) [1638826] - [nvme] nvme: add separate poll queue map (Ming Lei) [1638826] - [block] block: add REQ_HIPRI and inherit it from IOCB_HIPRI (Ming Lei) [1638826] - [nvme] nvme: utilize two queue maps, one for reads and one for writes (Ming Lei) [1638826] - [block] blk-mq: initial support for multiple queue maps (Ming Lei) [1638826] - [block] blk-mq: improve plug list sorting (Ming Lei) [1638826] - [block] blk-mq: cleanup and improve list insertion (Ming Lei) [1638826] - [block] blk-mq: cache request hardware queue mapping (Ming Lei) [1638826] - [block] blk-mq: separate number of hardware queues from nr_cpu_ids (Ming Lei) [1638826] - [block] blk-mq: support multiple hctx maps (Ming Lei) [1638826] - [block] blk-mq: add 'type' attribute to the sysfs hctx directory (Ming Lei) [1638826] - [block] blk-mq: allow software queue to map to multiple hardware queues (Ming Lei) [1638826] - [block] blk-mq: pass in request/bio flags to queue mapping (Ming Lei) [1638826] - [block] blk-mq: provide dummy blk_mq_map_queue_type() helper (Ming Lei) [1638826] - [block] blk-mq: abstract out queue map (Ming Lei) [1638826] - [block] blk-mq: kill q->mq_map (Ming Lei) [1638826] - [kernel] genirq/affinity: Add support for allocating interrupt sets (Ming Lei) [1638826] - [kernel] genirq/affinity: Pass first vector to __irq_build_affinity_masks() (Ming Lei) [1638826] - [kernel] genirq/affinity: Move two stage affinity spreading into a helper function (Ming Lei) [1638826] - [kernel] genirq/affinity: Spread IRQs to all available NUMA nodes (Ming Lei) [1638826] - [block] block: kill request ->cpu member (Ming Lei) [1638826] - [block] block: get rid of q->softirq_done_fn() (Ming Lei) [1638826] - [block] block: get rid of blk_queued_rq() (Ming Lei) [1638826] - [block] blk-merge: kill dead queue lock held check (Ming Lei) [1638826] - [block] block: remove req_no_special_merge() from merging code (Ming Lei) [1638826] - [block] block: kill request slab cache (Ming Lei) [1638826] - [block] block: remove request_list code (Ming Lei) [1638826] - [block] bsg: move bsg-lib parts outside of request queue (Ming Lei) [1638826] - [block] block: kill legacy parts of timeout handling (Ming Lei) [1638826] - [block] block: remove __blk_put_request() (Ming Lei) [1638826] - [block] block: get rid of MQ scheduler ops union (Ming Lei) [1638826] - [block] block: remove dead elevator code (Ming Lei) [1638826] - [block] block: remove legacy IO schedulers (Ming Lei) [1638826] - [block] block: cleanup kick/queued handling (Ming Lei) [1638826] - [block] block: remove non mq parts from the flush code (Ming Lei) [1638826] - [block] block: remove legacy rq tagging (Ming Lei) [1638826] - [block] blk-cgroup: remove legacy queue bypassing (Ming Lei) [1638826] - [block] blk-wbt: kill check for legacy queue type (Ming Lei) [1638826] - [block] block: remove blk_complete_request() (Ming Lei) [1638826] - [block] bsg: convert to use blk-mq (Ming Lei) [1638826] - [block] bsg: provide bsg_remove_queue() helper (Ming Lei) [1638826] - [block] bsg: pass in desired timeout handler (Ming Lei) [1638826] - [s390] dasd: remove dead code (Ming Lei) [1638826] - [block] block: remove q->lld_busy_fn() (Ming Lei) [1638826] - [scsi] scsi: kill off the legacy IO path (Ming Lei) [1638826] - [scsi] scsi: provide mq_ops->busy() hook (Ming Lei) [1638826] - [block] blk-mq: provide mq_ops->busy() hook (Ming Lei) [1638826] - [block] blk-mq: remove legacy check in queue blk_freeze_queue() (Ming Lei) [1638826] - [block] blk-mq: remove the request_list usage (Ming Lei) [1638826] - [block] ide: convert to blk-mq (Ming Lei) [1638826] - [block] mspro_block: convert to blk-mq (Ming Lei) [1638826] - [block] ms_block: convert to blk-mq (Ming Lei) [1638826] - [block] sunvdc: convert to blk-mq (Ming Lei) [1638826] - [block] null_blk: Add conventional zone configuration for zoned support (Ming Lei) [1638826] - [ata] libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 (Ming Lei) [1638826] - [block] block, bfq: fix asymmetric scenarios detection (Ming Lei) [1638826] - [cdrom] gdrom: fix mistake in assignment of error (Ming Lei) [1638826] - [block] blk-mq: place trace_block_getrq() in correct place (Ming Lei) [1638826] - [block] block: Introduce blk_revalidate_disk_zones() (Ming Lei) [1638826] - [block] block: add a report_zones method (Ming Lei) [1638826] - [block] block: Expose queue nr_zones in sysfs (Ming Lei) [1638826] - [block] block: Improve zone reset execution (Ming Lei) [1638826] - [block] block: Introduce BLKGETNRZONES ioctl (Ming Lei) [1638826] - [block] block: Introduce BLKGETZONESZ ioctl (Ming Lei) [1638826] - [block] block: Limit allocation of zone descriptors for report zones (Ming Lei) [1638826] - [block] block: Introduce blkdev_nr_zones() helper (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Fix sd_zbc_check_zones() error checks (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Reduce boot device scan and revalidate time (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Rearrange code (Ming Lei) [1638826] - [scsi] scsi: sd_zbc: Remove an assignment from sd_zbc_setup_report_cmnd() (Ming Lei) [1638826] - [scsi] scsi: sd: don't crash the host on invalid commands (Ming Lei) [1638826] - [pci] PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice (Ming Lei) [1638826] - [fs] f2fs: remove request_list check in is_idle() (Ming Lei) [1638826] - [scsi] scsi: osd: initiator should use mq variant of request ending (Ming Lei) [1638826] - [scsi] scsi: fnic: replace gross legacy tag hack with blk-mq hack (Ming Lei) [1638826] - [infiniband] ib_srp: Remove WARN_ON in srp_terminate_io() (Ming Lei) [1638826] - [scsi] scsi: ufs: Disable blk-mq for now (Ming Lei) [1638826] - [block] sx8: convert to blk-mq (Ming Lei) [1638826] - [block] z2ram: convert to blk-mq (Ming Lei) [1638826] - [cdrom] gdrom: convert to blk-mq (Ming Lei) [1638826] - [block] floppy: convert to blk-mq (Ming Lei) [1638826] - [block] ataflop: convert to blk-mq (Ming Lei) [1638826] - [block] ataflop: fix error handling during setup (Ming Lei) [1638826] - [block] ataflop: fold headers into C file (Ming Lei) [1638826] - [block] amiflop: convert to blk-mq (Ming Lei) [1638826] - [block] amiflop: clean up on errors during setup (Ming Lei) [1638826] - [block] amiflop: fold headers into C file (Ming Lei) [1638826] - [block] swim3: convert to blk-mq (Ming Lei) [1638826] - [block] swim3: add real error handling in setup (Ming Lei) [1638826] - [block] swim: convert to blk-mq (Ming Lei) [1638826] - [block] swim: fix cleanup on setup error (Ming Lei) [1638826] - [mtd] mtd_blkdevs: convert to blk-mq (Ming Lei) [1638826] - [block] xsysace: convert to blk-mq (Ming Lei) [1638826] - [block] paride: convert pf to blk-mq (Ming Lei) [1638826] - [block] paride: convert pd to blk-mq (Ming Lei) [1638826] - [block] paride: convert pcd to blk-mq (Ming Lei) [1638826] - [block] ps3disk: convert to blk-mq (Ming Lei) [1638826] - [block] blk-mq: provide helper for setting up an SQ queue and tag set (Ming Lei) [1638826] - [block] null_blk: remove set but not used variable 'q' (Ming Lei) [1638826] - [cdrom] cdrom: don't attempt to fiddle with cdo->capability (Ming Lei) [1638826] - [block] block: remove bogus check for queue_lock assignment (Ming Lei) [1638826] - [block] null_blk: remove legacy IO path (Ming Lei) [1638826] - [block] um: Convert ubd driver to blk-mq (Ming Lei) [1638826] - [block] skd: fixup usage of legacy IO API (Ming Lei) [1638826] - [block] aoe: convert aoeblk to blk-mq (Ming Lei) [1638826] - [block] ide: remove redundant variables queue_run_ms and left (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion convert BUGs to WARNs (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion hints on fastpath (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_reprep helper (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_action helper (Ming Lei) [1638826] - [scsi] scsi: core: add scsi_io_completion_nz_result function (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion: rename variables (Ming Lei) [1638826] - [scsi] scsi: core: scsi_io_completion: comment on end_request return (Ming Lei) [1638826] - [scsi] scsi: core: use blk_mq_run_hw_queues in scsi_kick_queue (Ming Lei) [1638826] - [scsi] scsi: sg: remove bad blk_end_request_all() call (Ming Lei) [1638826] - [block] blk-mq: complete req in softirq context in case of single queue (Ming Lei) [1638826] - [block] block, bfq: improve asymmetric scenarios detection (Ming Lei) [1638826] - [block] block: remove redundant 'default n' from Kconfig-s (Ming Lei) [1638826] - [block] blk-mq-debugfs: Also show requests that have not yet been started (Ming Lei) [1638826] - [block] block: Finish renaming REQ_DISCARD into REQ_OP_DISCARD (Ming Lei) [1638826] - [block] kyber: fix integer overflow of latency targets on 32-bit (Ming Lei) [1638826] - [block] kyber: add tracepoints (Ming Lei) [1638826] - [block] kyber: implement improved heuristics (Ming Lei) [1638826] - [block] kyber: don't make domain token sbitmap larger than necessary (Ming Lei) [1638826] - [block] block: export blk_stat_enable_accounting() (Ming Lei) [1638826] - [block] block: move call of scheduler's ->completed_request() hook (Ming Lei) [1638826] - [block] blk-mq: Enable support for runtime power management (Ming Lei) [1638826] - [block] block: Make blk_get_request() block for non-PM requests while suspended (Ming Lei) [1638826] - [block] block: Allow unfreezing of a queue while requests are in progress (Ming Lei) [1638826] - [lib] percpu-refcount: Introduce percpu_ref_resurrect() (Ming Lei) [1638826] - [block] block: Schedule runtime resume earlier (Ming Lei) [1638826] - [block] block: Split blk_pm_add_request() and blk_pm_put_request() (Ming Lei) [1638826] - [block] block, scsi: Change the preempt-only flag into a counter (Ming Lei) [1638826] - [block] block: Move power management code into a new source file (Ming Lei) [1638826] - [block] Blk-throttle: update to use rbtree with leftmost node cached (Ming Lei) [1638826] - [block] block: use bio_add_page in bio_iov_iter_get_pages (Ming Lei) [1638826] - [block] blok, bfq: do not plug I/O if all queues are weight-raised (Ming Lei) [1638826] - [block] block, bfq: inject other-queue I/O into seeky idle queues on NCQ flash (Ming Lei) [1638826] - [block] block, bfq: correctly charge and reset entity service in all cases (Ming Lei) [1638826]- [rpmspec] redhat: fix bpf_samples build (Jiri Benc) [1611579] - [fs] mnt: fix __detach_mounts infinite loop (Benjamin Coddington) [1628736] - [pci] pcie: Enable Broadom iProc PCIE and mark it is as tech preview (Mark Langsdorf) [1576958] - [pci] PCI/ACPI: Add iProc PCIe MCFG quirk (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Add ACPI/ECAM support (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Remove PAXC slot check to allow VF support (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Reduce inbound/outbound mapping print level (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Reject unconfigured physical functions from PAXC (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Disable MSI parsing in certain PAXC blocks (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Fix up corrupted PAXC root complex config registers (Mark Langsdorf) [1576958] - [pci] PCI: iproc: Activate PAXC bridge quirk for more devices (Mark Langsdorf) [1576958]- [s390] s390/mm: fix mis-accounting of pgtable_bytes (Joe Lawrence) [1644481] - [mm] mm: add mm_pxd_folded checks to pgtable_bytes accounting functions (Joe Lawrence) [1644481] - [mm] mm: introduce mm_[p4d|pud|pmd]_folded (Joe Lawrence) [1644481] - [mm] mm: make the __PAGETABLE_PxD_FOLDED defines non-empty (Joe Lawrence) [1644481] - [x86] x86/cpu/vmware: Do not trace vmware_sched_clock() (Vitaly Kuznetsov) [1650273] - [fs] fuse: fix possibly missed wake-up after abort (Lukas Czerner) [1649244] - [fs] fuse: fix leaked notify reply (Lukas Czerner) [1649244] - [fs] fuse: fix blocked_waitq wakeup (Lukas Czerner) [1649244] - [fs] fuse: set FR_SENT while locked (Lukas Czerner) [1649244] - [fs] fuse: Fix use-after-free in fuse_dev_do_write() (Lukas Czerner) [1649244] - [fs] fuse: Fix use-after-free in fuse_dev_do_read() (Lukas Czerner) [1649244] - [fs] fuse: Add missed unlock_page() to fuse_readpages_fill() (Lukas Czerner) [1649244] - [fs] fuse: Don't access pipe->buffers without pipe_lock() (Lukas Czerner) [1649244] - [fs] fuse: fix initial parallel dirops (Lukas Czerner) [1649244] - [fs] fuse: Fix oops at process_init_reply() (Lukas Czerner) [1649244] - [fs] fuse: umount should wait for all requests (Lukas Czerner) [1649244] - [fs] fuse: fix unlocked access to processing queue (Lukas Czerner) [1649244] - [fs] fuse: fix double request_end() (Lukas Czerner) [1649244] - [fs] fuse: fix use-after-free in fuse_direct_IO() (Lukas Czerner) [1599195]- [firmware] efi: Fix debugobjects warning on 'efi_rts_work' (Waiman Long) [1652190] - [rpmspec] kernel.spec: Do not zip modules on noarch builds (Prarit Bhargava) [1646471] - [iommu] iommu/amd: Clear memory encryption mask from physical address (Gary Hook) [1640384]- [powerpc] powerpc/mm/radix: Only need the Nest MMU workaround for R -> RW transition (Steve Best) [1651276] - [powerpc] powerpc/mm/books3s: Add new pte bit to mark pte temporarily invalid (Steve Best) [1651276] - [powerpc] powerpc/tm: Fix HFSCR bit for no suspend case (Steve Best) [1651275]- [powerpc] powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage (Steve Best) [1651267] - [tools] perf tools: Remove ext from struct kmod_path (Jiri Olsa) [1581390] - [tools] perf tools: Add gzip_is_compressed function (Jiri Olsa) [1581390] - [tools] perf tools: Add lzma_is_compressed function (Jiri Olsa) [1581390] - [tools] perf tools: Add is_compressed callback to compressions array (Jiri Olsa) [1581390] - [tools] perf tools: Move the temp file processing into decompress_kmodule (Jiri Olsa) [1581390] - [tools] perf tools: Use compression id in decompress_kmodule() (Jiri Olsa) [1581390] - [tools] perf tools: Store compression id into struct dso (Jiri Olsa) [1581390] - [tools] perf tools: Add compression id into 'struct kmod_path' (Jiri Olsa) [1581390] - [tools] perf tools: Make is_supported_compression() static (Jiri Olsa) [1581390] - [tools] perf tools: Make decompress_to_file() function static (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in __open_dso() (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in symbol__disassemble() (Jiri Olsa) [1581390] - [tools] perf tools: Get rid of dso__needs_decompress() call in read_object_code() (Jiri Olsa) [1581390] - [rpmspec] redhat: Enable kernel-tools (for kvm_stat) on s390x, too (Thomas Huth) [1631222]- [drm] drm/atomic_helper: Stop modesets on unregistered connectors harder (Lyude Paul) [1631575] - [drm] drm/nouveau: Fix nv50_mstc->best_encoder() (Lyude Paul) [1631575] - [drm] drm/atomic_helper: Allow DPMS On<->Off changes for unregistered connectors (Lyude Paul) [1631575] - [drm] drm/i915: Fix intel_dp_mst_best_encoder() (Lyude Paul) [1631575] - [drm] drm/i915: Skip vcpi allocation for MSTB ports that are gone (Lyude Paul) [1631575] - [drm] drm/i915: Don't unset intel_connector->mst_port (Lyude Paul) [1631575] - [drm] drm/atomic_helper: Disallow new modesets on unregistered connectors (Lyude Paul) [1631575] - [s390] s390/qeth: fix HiperSockets sniffer (Philipp Rudo) [1649773] - [s390] s390/qeth: report 25Gbit link speed (Philipp Rudo) [1649772] - [s390] s390/qeth: sanitize strings in debug messages (Philipp Rudo) [1649770] - [s390] s390/qeth: fix initial operstate (Philipp Rudo) [1649769] - [s390] s390/qeth: unregister netdevice only when registered (Philipp Rudo) [1649769] - [powerpc] powerpc/64s: consolidate MCE counter increment (Steve Best) [1633550] - [powerpc] powerpc/64s: move machine check SLB flushing to mm/slb.c (Steve Best) [1633550] - [powerpc] powernv/pseries: consolidate code for mce early handling (Steve Best) [1633550] - [powerpc] powerpc/pseries: Dump the SLB contents on SLB MCE errors (Steve Best) [1633550] - [powerpc] powerpc/pseries: Display machine check error details (Steve Best) [1633550] - [powerpc] powerpc/pseries: Flush SLB contents on SLB MCE errors (Steve Best) [1633550] - [powerpc] powerpc/pseries: Define MCE error event section (Steve Best) [1633550] - [powerpc] powerpc/pseries: Avoid using the size greater than RTAS_ERROR_LOG_MAX (Steve Best) [1633550] - [powerpc] powerpc/pseries: Defer the logging of rtas error to irq work queue (Steve Best) [1633550] - [powerpc] powerpc/pseries: Fix endianness while restoring of r3 in MCE handler (Steve Best) [1633550] - [cdrom] cdrom: fix improper type cast, which can leat to information leak (Maurizio Lombardi) [1650476]- [drm] drm/amdgpu/pm: Fix potential Spectre v1 (Rob Clark) [1637115] - [drm] drm/i915/kvmgt: Fix potential Spectre v1 (Rob Clark) [1637115] - [fs] gfs2: Fix metadata read-ahead during truncate (2) (Andreas Grunbacher) [1647982] - [block] block: make sure writesame bio is aligned with logical block size (Ming Lei) [1648750] - [block] block: cleanup __blkdev_issue_discard() (Ming Lei) [1648750] - [block] block: make sure discard bio is aligned with logical block size (Ming Lei) [1648750] - [block] block: Clear kernel memory before copying to user (Ming Lei) [1648752] - [block] block: respect virtual boundary mask in bvecs (Ming Lei) [1648756] - [block] xen: don't include from and (Ming Lei) [1648756] - [block] block: remove ARCH_BIOVEC_PHYS_MERGEABLE (Ming Lei) [1648756] - [block] xen: provide a prototype for xen_biovec_phys_mergeable in xen.h (Ming Lei) [1648756] - [block] xen: remove the xen_biovec_phys_mergeable export (Ming Lei) [1648756] - [block] arm: remove the unused BIOVEC_MERGEABLE define (Ming Lei) [1648756] - [block] block: don't include bug.h from bio.h (Ming Lei) [1648756] - [block] block: don't include io.h from bio.h (Ming Lei) [1648756] - [block] block: remove bvec_to_phys (Ming Lei) [1648756] - [block] block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeable (Ming Lei) [1648756] - [block] block: add a missing BIOVEC_SEG_BOUNDARY check in bio_add_pc_page (Ming Lei) [1648756] - [block] block: simplify BIOVEC_PHYS_MERGEABLE (Ming Lei) [1648756] - [block] block: move req_gap_back_merge to blk.h (Ming Lei) [1648756] - [block] block: move req_gap_{back,front}_merge to blk-merge.c (Ming Lei) [1648756] - [block] block: move integrity_req_gap_{back,front}_merge to blk.h (Ming Lei) [1648756] - [fs] gfs2: Fix iomap buffer head reference counting bug (Andreas Grunbacher) [1647073] - [scsi] qla2xxx: Update driver version to 10.00.00.07.08.0-k1 (Himanshu Madhani) [1615896] - [scsi] scsi: qla2xxx: Initialize port speed to avoid setting lower speed (Himanshu Madhani) [1615896] - [scsi] scsi: qla2xxx: Fix incorrect port speed being set for FC adapters (Himanshu Madhani) [1615896] - [block] block: brd: associate with queue until adding disk (Ming Lei) [1644602] - [block] block: call rq_qos_exit() after queue is frozen (Ming Lei) [1641558] - [block] block: fix the DISCARD request merge (Ming Lei) [1646776] - [block] blk-mq: fallback to previous nr_hw_queues when updating fails (Ming Lei) [1642218] - [block] blk-mq: realloc hctx when hw queue is mapped to another node (Ming Lei) [1642218] - [block] blk-mq: change gfp flags to GFP_NOIO in blk_mq_realloc_hw_ctxs (Ming Lei) [1642218] - [block] blk-mq: adjust debugfs and sysfs register when updating nr_hw_queues (Ming Lei) [1642218] - [block] block: remove bio_rewind_iter() (Ming Lei) [1642208]- [fs] jbd2: fix use after free in jbd2_log_do_checkpoint() (Lukas Czerner) [1644694] - [fs] ext4: initialize retries variable in ext4_da_write_inline_data_begin() (Lukas Czerner) [1644694] - [fs] ext4: fix build error when DX_DEBUG is defined (Lukas Czerner) [1644694]- [pinctrl] pinctrl: intel: Add Ice Lake PCH pin controller support (David Arcari) [1483413] - [netdrv] nfp: flower: fix vlan match by checking both vlan id and vlan pcp (Pablo Cascon) [1645220] - [netdrv] nfp: flower: reject tunnel encap with ipv6 outer headers for offloading (Pablo Cascon) [1646644] - [netdrv] nfp: populate bus-info on representors (Pablo Cascon) [1643998] - [powerpc] KVM: PPC: Validate TCEs against preregistered memory page sizes (David Gibson) [1625821] - [powerpc] KVM: PPC: Inform the userspace about TCE update failures (David Gibson) [1625821] - [powerpc] KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages (David Gibson) [1625821]- [kernel] locking/lockdep: Fix debug_locks off performance problem (Waiman Long) [1647560] - [kernel] locking/lockdep: Remove duplicated 'lock_class_ops' percpu array (Waiman Long) [1647560] - [kernel] locking/lockdep: Make class->ops a percpu counter and move it under CONFIG_DEBUG_LOCKDEP=y (Waiman Long) [1647560] - [kernel] locking/lockdep: Add a faster path in __lock_release() (Waiman Long) [1647560] - [kernel] locking/lockdep: Eliminate redundant IRQs check in __lock_acquire() (Waiman Long) [1647560] - [kernel] locking/lockdep: Remove add_chain_cache_classes() (Waiman Long) [1647560] - [fs] gfs2: Put bitmap buffers in put_super (Andreas Grunbacher) [1647073] - [scsi] scsi: hpsa: limit transfer length to 1MB, not 512kB (Joseph Szczypek) [1643956] - [netdrv] nfp: report FW vNIC stats in interface stats (Pablo Cascon) [1645032] - [rpmspec] spec: Add bpftool debuginfo package (Jiri Olsa) [1633018] - [crypto] crypto: chelsio: Fix memory corruption in DMA Mapped buffers (Arjun Vynipadath) [1631750] - [cdrom] cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status (Maurizio Lombardi) [1627732] {CVE-2018-16658}- [kernel] srcu: Make early-boot call_srcu() reuse workqueue lists (Waiman Long) [1644375] - [tools] rcutorture: Test early boot call_srcu() (Waiman Long) [1644375] - [kernel] srcu: Make call_srcu() available during very early boot (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_state.ofl_lock to raw_spinlock_t (Waiman Long) [1644375] - [kernel] rcu: Remove obsolete ->dynticks_fqs and ->cond_resched_completed (Waiman Long) [1644375] - [kernel] rcu: Switch ->dynticks to rcu_data structure, remove rcu_dynticks (Waiman Long) [1644375] - [kernel] rcu: Switch dyntick nesting counters to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch urgent quiescent-state requests to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch lazy counts to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch last accelerate/advance to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Switch ->tick_nohz_enabled_snap to rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Merge rcu_dynticks structure into rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Remove unused rcu_dynticks_snap() from Tiny RCU (Waiman Long) [1644375] - [kernel] rcu: Convert "1UL << x" to "BIT(x)" (Waiman Long) [1644375] - [kernel] rcu: Avoid resched_cpu() when rescheduling the current CPU (Waiman Long) [1644375] - [kernel] rcu: More aggressively enlist scheduler aid for nohz_full CPUs (Waiman Long) [1644375] - [kernel] rcu: Compute jiffies_till_sched_qs from other kernel parameters (Waiman Long) [1644375] - [kernel] rcu: Provide functions for determining if call_rcu() has been invoked (Waiman Long) [1644375] - [kernel] rcu: Eliminate ->rcu_qs_ctr from the rcu_dynticks structure (Waiman Long) [1644375] - [kernel] rcu: Motivate Tiny RCU forward progress (Waiman Long) [1644375] - [kernel] rcutorture: Dump reader protection sequence if failures or close calls (Waiman Long) [1644375] - [kernel] rcu: Provide improved interrupt-from-idle check in rcu_check_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Make need_resched() respond to urgent RCU-QS needs (Waiman Long) [1644375] - [kernel] rcu: Inline _rcu_barrier() into its sole remaining caller (Waiman Long) [1644375] - [kernel] rcu: Define rcu_all_qs() only in !PREEMPT builds (Waiman Long) [1644375] - [kernel] rcu: Remove !PREEMPT code from rcu_note_voluntary_context_switch() (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in update.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree_plugin.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree_exp.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tree.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in tiny.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in srcutree.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcutorture.c (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcu.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in Kconfig (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcupdate_wait.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rculist.h (Waiman Long) [1644375] - [kernel] rcu: Clean up flavor-related definitions and comments in rcupdate.h (Waiman Long) [1644375] - [kernel] rcu: Remove now-unused rcutorture APIs (Waiman Long) [1644375] - [kernel] rcuperf: Remove the "rcu_bh" and "sched" torture types (Waiman Long) [1644375] - [kernel] rcutorture: Remove the "rcu_bh" and "sched" torture types (Waiman Long) [1644375] - [kernel] rcu: Stop testing RCU-bh and RCU-sched (Waiman Long) [1644375] - [kernel] rcutorture: Add RCU-bh and RCU-sched support for extended readers (Waiman Long) [1644375] - [kernel] rcu: Consolidate RCU-sched update-side function definitions (Waiman Long) [1644375] - [kernel] rcu: Consolidate RCU-bh update-side function definitions (Waiman Long) [1644375] - [kernel] rcu: Pull rcu_gp_kthread() FQS loop into separate function (Waiman Long) [1644375] - [kernel] rcu: Inline increment_cpu_stall_ticks() into its sole caller (Waiman Long) [1644375] - [kernel] rcu: Fix typo in force_qs_rnp()'s parameter's parameter (Waiman Long) [1644375] - [kernel] rcu: Eliminate initialization-time use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate RCU-barrier use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate quiescent-state and grace-period-nonstart use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate callback-invocation/invocation use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate grace-period management code use of rsp (Waiman Long) [1644375] - [kernel] rcu: Eliminate stall-warning use of rsp (Waiman Long) [1644375] - [kernel] rcu: Restructure rcu_check_gp_kthread_starvation() (Waiman Long) [1644375] - [kernel] rcu: Simplify rcutorture_get_gp_data() (Waiman Long) [1644375] - [kernel] rcu: Remove for_each_rcu_flavor() flavor-traversal macro (Waiman Long) [1644375] - [kernel] rcu: Remove last non-flavor-traversal rsp local variable from tree_plugin.h (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_data structure's ->rsp field (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_node tree accessor macros (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from expedited grace-period functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from no-CBs CPU functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_cpu_stall_info() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_spawn_one_boost_kthread() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from dump_blkd_tasks() and friend (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_print_detail_task_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_init_one() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_boot_init_percpu_data() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from _rcu_barrier() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __rcu_pending() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __call_rcu() and friend (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __rcu_process_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_gp_start_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from force-quiescent-state functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_do_batch() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from CPU hotplug functions (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_quiescent_state() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_kthread() and friends (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_slow() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from note_gp_changes() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from __note_gp_changes() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_advance_cbs() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_accelerate_cbs_unlocked() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_accelerate_cbs() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_kthread_wake() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_future_gp_cleanup() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from check_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from print_other_cpu_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_stall_kick_kthreads() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_dump_cpu_stacks() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_check_gp_kthread_starvation() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from record_gp_stall_check_time() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_get_root() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_gp_in_progress() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rdp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_unblock_qs_rnp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rsp() (Waiman Long) [1644375] - [kernel] rcu: Remove rsp parameter from rcu_report_qs_rnp() (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_data_p pointer to default rcu_data structure (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_state_p pointer to default rcu_state structure (Waiman Long) [1644375] - [kernel] rcu: Remove rcu_state structure's ->rda field (Waiman Long) [1644375] - [kernel] rcu: Eliminate rcu_state structure's ->call field (Waiman Long) [1644375] - [kernel] rcu: Remove RCU_STATE_INITIALIZER() (Waiman Long) [1644375] - [kernel] rcu: Express Tiny RCU updates in terms of RCU rather than RCU-sched (Waiman Long) [1644375] - [kernel] rcu: Define RCU-sched API in terms of RCU for Tree RCU PREEMPT builds (Waiman Long) [1644375] - [kernel] rcu: Fix typo in rcu_get_gp_kthreads_prio() header comment (Waiman Long) [1644375] - [kernel] rcu: Drop "wake" parameter from rcu_report_exp_rdp() (Waiman Long) [1644375] - [kernel] rcu: Update comments and help text for no more RCU-bh updaters (Waiman Long) [1644375] - [kernel] rcu: Define RCU-bh update API in terms of RCU (Waiman Long) [1644375] - [kernel] rcu: Report expedited grace periods at context-switch time (Waiman Long) [1644375] - [kernel] rcu: Apply RCU-bh QSes to RCU-sched and RCU-preempt when safe (Waiman Long) [1644375] - [kernel] rcu: Add warning to detect half-interrupts (Waiman Long) [1644375] - [kernel] rcu: Remove now-unused ->b.exp_need_qs field from the rcu_special union (Waiman Long) [1644375] - [kernel] rcu: Allow processing deferred QSes for exiting RCU-preempt readers (Waiman Long) [1644375] - [kernel] rcutorture: Test extended "rcu" read-side critical sections (Waiman Long) [1644375] - [kernel] rcu: Defer reporting RCU-preempt quiescent states when disabled (Waiman Long) [1644375] - [kernel] rcu: Refactor rcu_{nmi,irq}_{enter,exit}() (Waiman Long) [1644375] - [documentation] doc: Fix broken HTML directive (Waiman Long) [1644375] - [documentation] doc: Update removal of RCU-bh/sched update machinery (Waiman Long) [1644375] - [kernel] rcutorture: Maintain self-propagating CB only during forward-progress test (Waiman Long) [1644375] - [kernel] rcutorture: Check GP completion at stutter end (Waiman Long) [1644375] - [kernel] rcutorture: Print forward-progress test interval on error (Waiman Long) [1644375] - [kernel] rcutorture: Adjust number of reader kthreads per CPU-hotplug operations (Waiman Long) [1644375] - [kernel] rcutorture: Reduce priority of forward-progress testing (Waiman Long) [1644375] - [kernel] rcutorture: Limit reader duration if irq or bh disabled (Waiman Long) [1644375] - [kernel] rcutorture: Increase rcu_read_delay() longdelay_ms (Waiman Long) [1644375] - [kernel] rcutorture: Add self-propagating callback to forward-progress testing (Waiman Long) [1644375] - [kernel] rcutorture: Vary forward-progress test interval (Waiman Long) [1644375] - [kernel] rcutorture: Avoid no-test complaint if too few forward-progress tries (Waiman Long) [1644375] - [kernel] rcutorture: Also use GP sequence to judge forward progress (Waiman Long) [1644375] - [kernel] rcutorture: Add forward-progress tests for RCU grace periods (Waiman Long) [1644375] - [tools] rcutorture: Remove TREE06 and TREE08 from the default test list (Waiman Long) [1644375] - [kernel] rcuperf: Warn on bad perf type for built-in tests (Waiman Long) [1644375] - [kernel] rcutorture: Warn on bad torture type for built-in tests (Waiman Long) [1644375] - [kernel] rcutorture: Force occasional reader waits (Waiman Long) [1644375] - [tools] torture: Stop overwriting Make.out file with obsolete version (Waiman Long) [1644375] - [documentation] doc: Improve rcu_dynticks::dynticks documentation (Waiman Long) [1644375] - [documentation] doc: Fix broken RCU-requirements link to LKML archive (Waiman Long) [1644375] - [documentation] doc: Add design documentation on interruption of NMI handlers (Waiman Long) [1644375] - [kernel] rcutorture: Fix rcu_barrier successes counter (Waiman Long) [1644375] - [kernel] rcutorture: Add support to detect if boost kthread prio is too low (Waiman Long) [1644375] - [kernel] rcutorture: Use monotonic timestamp for stall detection (Waiman Long) [1644375] - [kernel] rcutorture: Make boost test more robust (Waiman Long) [1644375] - [kernel] rcutorture: Disable RT throttling for boost tests (Waiman Long) [1644375] - [kernel] rcutorture: Emphasize testing of single reader protection type (Waiman Long) [1644375] - [kernel] rcutorture: Handle extended read-side critical sections (Waiman Long) [1644375] - [kernel] rcutorture: Make rcu_torture_timer() use rcu_torture_one_read() (Waiman Long) [1644375] - [kernel] rcutorture: Use per-CPU random state for rcu_torture_timer() (Waiman Long) [1644375] - [kernel] rcutorture: Use atomic increment for n_rcu_torture_timers (Waiman Long) [1644375] - [kernel] rcutorture: Extract common code from rcu_torture_reader() (Waiman Long) [1644375] - [kernel] rcuperf: Remove unused torturing_tasks() function (Waiman Long) [1644375] - [kernel] rcu: Remove rcutorture test version and sequence number (Waiman Long) [1644375] - [kernel] rcutorture: Change units of onoff_interval to jiffies (Waiman Long) [1644375] - [kernel] rcu: Assign higher prio to RCU threads if rcutorture is built-in (Waiman Long) [1644375] - [documentation] rculist: Improve documentation for list_for_each_entry_from_rcu() (Waiman Long) [1644375] - [kernel] srcu: Add grace-period number to rcutorture statistics printout (Waiman Long) [1644375] - [kernel] rcu: Print stall-warning NMI dyntick state in hexadecimal (Waiman Long) [1644375] - [maintainers] MAINTAINERS: Update RCU, SRCU, and TORTURE-TEST entries (Waiman Long) [1644375] - [kernel] rcu: Make rcu_seq_diff() more exact (Waiman Long) [1644375] - [documentation] doc: Update synchronize_rcu() definition in whatisRCU.txt (Waiman Long) [1644375] - [kernel] rcu: Check the range of jiffies_till_{first, next}_fqs when setting them (Waiman Long) [1644375] - [kernel] rcu: Add diagnostics for rcutorture writer stall warning (Waiman Long) [1644375] - [kernel] rcu: Add comment to the last sleep in the rcu tasks loop (Waiman Long) [1644375] - [kernel] rcu: Speed up calling of RCU tasks callbacks (Waiman Long) [1644375] - [kernel] rcu: Add comment documenting how rcu_seq_snap works (Waiman Long) [1644375] - [kernel] rcu: Use RCU CPU stall timeout for rcu_check_gp_start_stall() (Waiman Long) [1644375] - [kernel] rcu: Remove __maybe_unused from rcu_cpu_has_callbacks() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from rcu_perf_print_module_parms() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from rcu_torture_print_module_parms() (Waiman Long) [1644375] - [kernel] rcu: Remove "inline" from panic_on_rcu_stall() and rcu_blocking_is_gp() (Waiman Long) [1644375] - [kernel] rcu: Remove unused local variable "cpu" (Waiman Long) [1644375] - [kernel] rcu: Remove unused rcu_kick_nohz_cpu() function (Waiman Long) [1644375] - [kernel] rcu: Clarify and correct the rcu_preempt_qs() header comment (Waiman Long) [1644375] - [kernel] rcu: Inline rcu_dynticks_momentary_idle() into its sole caller (Waiman Long) [1644375] - [kernel] rcu: Mark task as .need_qs less aggressively (Waiman Long) [1644375] - [kernel] rcu: Improve RCU-tasks naming and comments (Waiman Long) [1644375] - [kernel] rcu: Use pr_fmt to prefix "rcu: " to logging output (Waiman Long) [1644375] - [kernel] rcu: rcupdate.h: Get rid of Sphinx warnings at rcu_pointer_handoff() (Waiman Long) [1644375] - [kernel] rcu: Improve rcu_note_voluntary_context_switch() reporting (Waiman Long) [1644375] - [kernel] rcu: Make rcu_read_unlock_special() static (Waiman Long) [1644375] - [kernel] rcu: Add diagnostics for offline CPUs failing to report QS (Waiman Long) [1644375] - [kernel] rcu: Record ->gp_state for both phases of grace-period initialization (Waiman Long) [1644375] - [kernel] rcu: Add CPU online/offline state to dump_blkd_tasks() (Waiman Long) [1644375] - [kernel] rcu: Add up-tree information to dump_blkd_tasks() diagnostics (Waiman Long) [1644375] - [kernel] rcu: Remove CPU-hotplug failsafe from force-quiescent-state code path (Waiman Long) [1644375] - [kernel] rcu: Remove failsafe check for lost quiescent state (Waiman Long) [1644375] - [kernel] rcu: Move grace-period pre-init delay after pre-init (Waiman Long) [1644375] - [kernel] rcu: Add RCU-preempt check for waiting on newly onlined CPU (Waiman Long) [1644375] - [kernel] rcu: Fix grace-period hangs due to race with CPU offline (Waiman Long) [1644375] - [kernel] rcu: Fix grace-period hangs from mid-init task resume (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive splats from mid-init task resume (Waiman Long) [1644375] - [kernel] rcu: Suppress more involved false-positive preempted-task splats (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive preempted-task splats (Waiman Long) [1644375] - [kernel] rcu: Suppress false-positive offline-CPU lockdep-RCU splat (Waiman Long) [1644375] - [kernel] rcu: Prevent useless FQS scan after all CPUs have checked in (Waiman Long) [1644375] - [kernel] rcu: Replace smp_wmb() with smp_store_release() for stall check (Waiman Long) [1644375] - [kernel] rcu: Fix typo and add additional debug (Waiman Long) [1644375] - [kernel] rcu: Make rcu_report_unblock_qs_rnp() warn on violated preconditions (Waiman Long) [1644375] - [kernel] rcu: Make rcu_init_new_rnp() stop upon already-set bit (Waiman Long) [1644375] - [kernel] rcu: Fix an obsolete ->qsmaskinit comment (Waiman Long) [1644375] - [kernel] rcu: Clean up handling of tasks blocked across full-rcu_node offline (Waiman Long) [1644375] - [kernel] rcu: Identify grace period is in progress as we advance up the tree (Waiman Long) [1644375] - [kernel] rcu: Use better variable names in funnel locking loop (Waiman Long) [1644375] - [kernel] rcu: Rename the grace-period-request variables and parameters (Waiman Long) [1644375] - [kernel] rcu: Regularize resetting of rcu_data wrap indicator (Waiman Long) [1644375] - [kernel] rcutorture: Correctly handle grace-period sequence wrap (Waiman Long) [1644375] - [kernel] rcu: Make rcu_start_this_gp() check for grace period already started (Waiman Long) [1644375] - [kernel] rcu: Fix cpustart tracepoint gp_seq number (Waiman Long) [1644375] - [kernel] rcu: Produce last "CleanupMore" trace only if late-breaking request (Waiman Long) [1644375] - [kernel] rcu: Don't funnel-lock above leaf node if GP in progress (Waiman Long) [1644375] - [documentation] doc: Update RCU CPU stall-warning documentation (Waiman Long) [1644375] - [documentation] doc: Update memory-ordering documentation for ->gp-seq (Waiman Long) [1644375] - [documentation] doc: Update data-structure documentation for ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make simple callback acceleration refer to rdp->gp_seq_needed (Waiman Long) [1644375] - [kernel] rcu: Remove ->gpnum and ->completed (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_fqs tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_quiescent_state_report tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_unlock_preempted_task tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_preempt_task tracepoint to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_grace_period_init tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_future_grace_period tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_grace_period tracepoint to gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make rcu_nocb_wait_gp() check if GP already requested (Waiman Long) [1644375] - [kernel] rcu: Move from ->need_future_gp[] to ->gp_seq_needed (Waiman Long) [1644375] - [kernel] rcutorture: Convert rcutorture_get_gp_data() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make RCU CPU stall warnings use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert grace-period requests to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert ->completedqs to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert ->rcu_iw_gpnum to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_gp_in_progress() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_nocb_gp_get() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_try_advance_all_cbs() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_implicit_dynticks_qs() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_gpnum_ovf() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move RCU's grace-period-change code to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert conditional grace-period primitives to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Make quiescent-state reporting use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Convert rcu_check_gp_kthread_starvation() to GP sequence number (Waiman Long) [1644375] - [kernel] rcu: Make rcutorture's batches-completed API use ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Move rcu_gp_slow() to ->gp_seq (Waiman Long) [1644375] - [kernel] rcu: Introduce grace-period sequence numbers (Waiman Long) [1644375] - [kernel] rcu: Make rcu_gp_cleanup() write only once to ->gp_flags (Waiman Long) [1644375] - [kernel] rcu: Diagnostics for grace-period startup hangs (Waiman Long) [1644375] - [kernel] rcu: Exclude near-simultaneous RCU CPU stall warnings (Waiman Long) [1644375] - [kernel] rcu: Use the proper lockdep annotation in dump_blkd_tasks() (Waiman Long) [1644375] - [kernel] rcu: Add debugging info to assertion (Waiman Long) [1644375] - [kernel] torture: Keep old-school dmesg format (Waiman Long) [1644375] - [kernel] torture: Make online/offline messages appear only for verbose=2 (Waiman Long) [1644375] - [tools] rcutorture: Make kvm-find-errors.sh find close calls (Waiman Long) [1644375] - [tools] rcutorture: Remove obsolete TREE08-T.boot file (Waiman Long) [1644375] - [tools] torture: Use a single build directory for torture scenarios (Waiman Long) [1644375] - [kernel] srcu: Introduce srcu_read_{un,}lock_notrace() (Waiman Long) [1644375] - [kernel] srcu: Add address of first callback to rcutorture output (Waiman Long) [1644375] - [kernel] srcu: Document that srcu_funnel_gp_start() implies srcu_funnel_exp_start() (Waiman Long) [1644375] - [kernel] srcu: Fix typos in __call_srcu() header comment (Waiman Long) [1644375] - [kernel] rcu: Make expedited grace period use direct call on last leaf (Waiman Long) [1644375]- [netdrv] nfp: flower: use offsets provided by pedit instead of index for ipv6 (Pablo Cascon) [1645132] - [netdrv] nfp: flower: fix multiple keys per pedit action (Pablo Cascon) [1645132] - [netdrv] nfp: flower: fix pedit set actions for multiple partial masks (Pablo Cascon) [1645132] - [netdrv] nfp: flower: ignore checksum actions when performing pedit actions (Pablo Cascon) [1644400] - [kernel] sched/fair: Fix throttle_list starvation with low CFS quota (Phil Auld) [1638526] - [net] tipc: fix the big/little endian issue in tipc_dest (Jon Maloy) [1640712] - [rpmspec] kernel.spec: Include kernel-signing-ca.cer public key (Prarit Bhargava) [1638465] - [block] block: don't deal with discard limit in blkdev_issue_discard() (Ming Lei) [1631255] - [powerpc] powerpc/mm: Check memblock_add against MAX_PHYSMEM_BITS range (Gustavo Duarte) [1561402] - [powerpc] powerpc/mm: Increase MAX_PHYSMEM_BITS to 128TB with SPARSEMEM_VMEMMAP config (Gustavo Duarte) [1561402]- [s390] s390/crypto: Enhance paes cipher to accept variable length key material (Philipp Rudo) [1644387] - [s390] s390/pkey: move pckmo subfunction available checks away from module init (Philipp Rudo) [1644387] - [s390] s390/pkey: Load pkey kernel module automatically (Philipp Rudo) [1644387] - [s390] s390/zcrypt: fix broken zcrypt_send_cprb in-kernel api function (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for transforming key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for random protected key verification (Philipp Rudo) [1644387] - [s390] s390/pkey: Add sysfs attributes to emit secure key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Add sysfs attributes to emit protected key blobs (Philipp Rudo) [1644387] - [s390] s390/pkey: Define protected key blob format (Philipp Rudo) [1644387] - [s390] s390/pkey: Introduce new API for random protected key generation (Philipp Rudo) [1644387] - [s390] s390/zcrypt: add ap_adapter_mask sysfs attribute (Philipp Rudo) [1644387] - [s390] s390/zcrypt: provide apfs failure code on type 86 error reply (Philipp Rudo) [1644387] - [s390] s390/zcrypt: zcrypt device driver cleanup (Philipp Rudo) [1644387] - [s390] s390/zcrypt: multiple zcrypt device nodes support (Philipp Rudo) [1644387] - [s390] s390/zcrypt: enable AP bus scan without a valid default domain (Philipp Rudo) [1644387] - [s390] s390/zcrypt: Use kmemdup to replace kmalloc + memcpy (Philipp Rudo) [1644387] - [s390] s390/qeth: add TSO support for L2 devices (Philipp Rudo) [1644381] - [s390] s390/qeth: add support for IPv6 TSO (Philipp Rudo) [1644381] - [s390] s390/qeth: enhance TSO control sequence (Philipp Rudo) [1644381] - [s390] s390/qeth: make TSO controls protocol-agnostic (Philipp Rudo) [1644381] - [s390] s390: qeth: Fix potential array overrun in cmd/rc lookup (Philipp Rudo) [1644381] - [s390] s390: qeth_core_mpc: Use ARRAY_SIZE instead of reimplementing its function (Philipp Rudo) [1644381] - [scsi] scsi: mpt3sas: Remove unnecessary parentheses and simplify null checks (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Use dma_pool_zalloc (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove unused macro MPT3SAS_FMT (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT without logging levels (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove KERN_WARNING from panic uses (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT and reply_q_name to s: (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert mlsleading uses of pr_ with MPT3SAS_FMT (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Convert uses of pr_ with MPT3SAS_FMT to ioc_ (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Add ioc_ logging macros (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix calltrace observed while running IO & reset (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Improve kernel-doc headers (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Split _base_reset_handler(), mpt3sas_scsih_reset_handler() and mpt3sas_ctl_reset_handler() (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix a race condition in mpt3sas_base_hard_reset_handler() (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix _transport_smp_handler() error path (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Introduce struct mpt3sas_nvme_cmd (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Annotate switch/case fall-through (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Remove set-but-not-used variables (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix indentation (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Update driver version "26.100.00.00" (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: As per MPI-spec, use combined reply queue for SAS3.5 controllers when HBA supports more than 16 MSI-x vectors (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Fix, False timeout prints for ioctl and other internal commands during controller reset (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Don't access the structure after decrementing it's instance reference count (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Incorrect command status was set/marked as not used (Tomas Henzl) [1638649] - [scsi] scsi: mpt3sas: Don't abort I/Os issued to NVMe drives while processing Async Broadcast primitive event (Tomas Henzl) [1638649] - [netdrv] net/mlx5e: Do not ignore netdevice TX/RX queues number (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Use non-delayed work for update stats (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Initialize all netdev common structures in one place (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Always initialize update stats delayed work (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Gather common netdev init/cleanup functionality in one place (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Fix netlink support in IPoIB (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Hoist alloc_netdev_mqs out of the driver (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Consolidate checking of the proposed child interface (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Maintain the child_intfs list from ndo_init/uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Do not remove child devices from within the ndo_uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Get rid of the sysfs_mutex (Alaa Hleihel) [1643103] - [infiniband] RDMA/netdev: Use priv_destructor for netdev cleanup (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Move init code to ndo_init (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Move all uninit code into ndo_uninit (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Use cancel_delayed_work_sync for neigh-clean task (Alaa Hleihel) [1643103] - [infiniband] IB/ipoib: Get rid of IPOIB_FLAG_GOING_DOWN (Alaa Hleihel) [1643103] - [infiniband] RDMA/ipoib: Fix use of sizeof() (Alaa Hleihel) [1643103] - [netdrv] net/mlx5e: Do not recycle RX pages in interface down flow (Alaa Hleihel) [1643103 1643047] - [netdrv] net/mlx5e: Replace call to MPWQE free with dealloc in interface down flow (Alaa Hleihel) [1643103 1643047] - [net] net/xdp: Fix suspicious RCU usage warning (Alaa Hleihel) [1643103 1643047] - [netdrv] net/mlx5: WQ, fixes for fragmented WQ buffers API (Alaa Hleihel) [1643103 1636183] - [netdrv] net/mlx4_en: Use minimal rx and tx ring sizes on kdump kernel (Alaa Hleihel) [1643103 1615267] - [x86] mark coffeelake-s/h 8+2 as supported (David Arcari) [1575461 1575460] - [x86] x86/spec_ctrl: Synchronize STIBP changes with RHEL IBRS code (Waiman Long) [1643233] - [x86] x86/speculation: Propagate information about RSB filling mitigation to sysfs (Waiman Long) [1643233] - [x86] x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation (Waiman Long) [1643233] - [x86] x86/speculation: Apply IBPB more strictly to avoid cross-process data leak (Waiman Long) [1643233] - [x86] x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant (Waiman Long) [1643233] - [x86] x86/CPU: Fix unused variable warning when !CONFIG_IA32_EMULATION (Waiman Long) [1643233] - [x86] x86/pti/64: Remove the SYSCALL64 entry trampoline (Waiman Long) [1643233] - [x86] x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space (Waiman Long) [1643233] - [x86] x86/entry/64: Document idtentry (Waiman Long) [1643233] - [x86] x86/asm-offsets: Move TSS_sp0 and TSS_sp1 to asm-offsets.c (Waiman Long) [1643233] - [x86] x86: Add entry trampolines to kcore (Waiman Long) [1643233] - [kernel] kallsyms, x86: Export addresses of PTI entry trampolines (Waiman Long) [1643233] - [kernel] kallsyms: Simplify update_iter_mod() (Waiman Long) [1643233] - [scsi] scsi: csiostor: fix incorrect port capabilities (Arjun Vynipadath) [1628866] - [scsi] scsi: csiostor: add a check for NULL pointer after kmalloc() (Arjun Vynipadath) [1628866] - [scsi] scsi: csiostor: update ingress pack and pad boundary value (Arjun Vynipadath) [1628866]- [netdrv] nfp: flower: use host context count provided by firmware (Pablo Cascon) [1639609] - [netdrv] nfp: flower: use stats array instead of storing stats per flow (Pablo Cascon) [1639609] - [netdrv] nfp: flower: use rhashtable for flow caching (Pablo Cascon) [1639609] - [netdrv] nfp: avoid soft lockups under control message storm (Pablo Cascon) [1639609] - [kernel] sched: disable autogroups by default (Phil Auld) [1568166] - [s390] s390/keyboard: sanitize array index in do_kdsk_ioctl (Steve Best) [1637591] - [char] ipmi:ssif: Add support for multi-part transmit messages > 2 parts (Tony Camuso) [1622053] - [scsi] scsi: libsas: fix a race condition when smp task timeout (Zhou Wang) [1640426] - [scsi] scsi: libsas: check the ata device status by ata_dev_enabled() (Zhou Wang) [1640426] - [scsi] scsi: libsas: always unregister the old device if going to discover new (Zhou Wang) [1640426] - [scsi] scsi: libsas: dynamically allocate and free ata host (Zhou Wang) [1640426] - [scsi] scsi: libsas: remove irq save in sas_ata_qc_issue() (Zhou Wang) [1640426]- [video] fbdev: make FB_BACKLIGHT a tristate (Rob Clark) [1643333 1589158] - [netdrv] Taint kernel if e1000 is loaded (Neil Horman) [1643617] - [netdrv] iavf: fix a typo (Stefan Assmann) [1627882] - [netdrv] i40evf: remove ndo_poll_controller (Stefan Assmann) [1627882] - [netdrv] intel-ethernet: use correct module license (Stefan Assmann) [1627882] - [netdrv] iavf: finish renaming files to iavf (Stefan Assmann) [1627882] - [netdrv] iavf: rename most of i40e strings (Stefan Assmann) [1627882] - [netdrv] iavf: tracing infrastructure rename (Stefan Assmann) [1627882] - [netdrv] iavf: replace i40e_debug with iavf version (Stefan Assmann) [1627882] - [netdrv] iavf: rename i40e_hw to iavf_hw (Stefan Assmann) [1627882] - [netdrv] iavf: rename I40E_ADMINQ_DESC (Stefan Assmann) [1627882] - [netdrv] iavf: rename device ID defines (Stefan Assmann) [1627882] - [netdrv] iavf: remove references to old names (Stefan Assmann) [1627882] - [netdrv] iavf: move i40evf files to new name (Stefan Assmann) [1627882] - [netdrv] iavf: rename i40e_status to iavf_status (Stefan Assmann) [1627882] - [netdrv] iavf: rename functions and structs to new name (Stefan Assmann) [1627882] - [netdrv] iavf: diet and reformat (Stefan Assmann) [1627882] - [netdrv] configs: enable CONFIG_IAVF=m (Stefan Assmann) [1627882] - [netdrv] intel-ethernet: rename i40evf to iavf (Stefan Assmann) [1627882] - [netdrv] i40e(vf): remove i40e_ethtool_stats.h header file (Stefan Assmann) [1627882] - [netdrv] i40evf: cancel workqueue sync for adminq when a VF is removed (Stefan Assmann) [1627882] - [netdrv] i40evf: Don't enable vlan stripping when rx offload is turned on (Stefan Assmann) [1627882] - [netdrv] i40evf: set IFF_UNICAST_FLT flag for the VF (Stefan Assmann) [1627882] - [netdrv] i40evf: Validate the number of queues a PF sends (Stefan Assmann) [1627882] - [netdrv] i40evf: Change a VF mac without reloading the VF driver (Stefan Assmann) [1627882] - [netdrv] i40evf: update ethtool stats code and use helper functions (Stefan Assmann) [1627882] - [netdrv] i40e: Add AQ command for rearrange NVM structure (Stefan Assmann) [1627882] - [netdrv] i40e: Add additional return code to i40e_asq_send_command (Stefan Assmann) [1627882] - [netdrv] i40e/i40evf: remove redundant functions i40evf_aq_(set/get)_phy_register (Stefan Assmann) [1627882] - [netdrv] cls_flower: fix error values for commands not supported by drivers (Stefan Assmann) [1627882] - [init] init/main.c: Enable watchdog_thresh control from kernel line (Prarit Bhargava) [1643161] - [s390] s390/purgatory: Remove duplicate variable definitions (Philipp Rudo) [1642447] - [s390] s390/purgatory: Add missing FORCE to Makefile targets (Philipp Rudo) [1642447] - [s390] s390/purgatory: Fix crash with expoline enabled (Philipp Rudo) [1642447] - [s390] s390: disable asm code expolines if cc does not support it (Philipp Rudo) [1642447] - [netdrv] Revert be2net: remove desc field from be_eq_obj (Ivan Vecera) [1639867]- [rpmspec] redhat: add optional bpf_samples package (Jiri Benc) [1611579] - [powerpc] powerpc/time: Fix clockevent_decrementer initalisation for PR KVM (Steve Best) [1641615] - [net] ip: frags: fix crash in ip_do_fragment() (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipfrag: let ip(6)frag_high_thresh in ns be higher than in init_net (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv6: discard IP frag queue on more errors (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: fail fast on IP defrag errors (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: process in-order fragments efficiently (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: add helpers to process in-order fragments faster (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv6: defrag: drop non-last frags smaller than min mtu (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ipv4: frags: precedence bug in ip_expire() (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: use rb trees for IP frag queue (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] modify skb_rbtree_purge to return the truesize of all purged skbs (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [net] ip: discard IPv4 datagrams with overlapping segments (Sabrina Dubroca) [1616058] {CVE-2018-5391} - [fs] ovl: fix format of setxattr debug (Miklos Szeredi) [1636875] - [fs] ovl: fix access beyond unterminated strings (Miklos Szeredi) [1636875] - [fs] ovl: make symbol 'ovl_aops' static (Miklos Szeredi) [1636875] - [fs] vfs: swap names of (do,vfs)_clone_file_range() (Miklos Szeredi) [1636875] - [fs] ovl: fix freeze protection bypass in ovl_clone_file_range() (Miklos Szeredi) [1636875] - [fs] ovl: fix freeze protection bypass in ovl_write_iter() (Miklos Szeredi) [1636875] - [fs] ovl: fix memory leak on unlink of indexed file (Miklos Szeredi) [1636875] - [fs] ovl: fix oopses in ovl_fill_super() failure paths (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fadvise() (Miklos Szeredi) [1636875] - [fs] vfs: implement readahead(2) using POSIX_FADV_WILLNEED (Miklos Szeredi) [1636875] - [fs] vfs: add the fadvise() file operation (Miklos Szeredi) [1636875] - [fs] Documentation/filesystems: update documentation of file_operations (Miklos Szeredi) [1636875] - [fs] ovl: fix GPF in swapfile_activate of file from overlayfs over xfs (Miklos Szeredi) [1636875] - [fs] ovl: respect FIEMAP_FLAG_SYNC flag (Miklos Szeredi) [1636875] - [fs] ovl: Enable metadata only feature (Miklos Szeredi) [1636875] - [fs] ovl: Do not do metacopy only for ioctl modifying file attr (Miklos Szeredi) [1636875] - [fs] ovl: Do not do metadata only copy-up for truncate operation (Miklos Szeredi) [1636875] - [fs] ovl: add helper to force data copy-up (Miklos Szeredi) [1636875] - [fs] ovl: Check redirect on index as well (Miklos Szeredi) [1636875] - [fs] ovl: Set redirect on upper inode when it is linked (Miklos Szeredi) [1636875] - [fs] ovl: Set redirect on metacopy files upon rename (Miklos Szeredi) [1636875] - [fs] ovl: Do not set dentry type ORIGIN for broken hardlinks (Miklos Szeredi) [1636875] - [fs] ovl: Add an inode flag OVL_CONST_INO (Miklos Szeredi) [1636875] - [fs] ovl: Treat metacopy dentries as type OVL_PATH_MERGE (Miklos Szeredi) [1636875] - [fs] ovl: Check redirects for metacopy files (Miklos Szeredi) [1636875] - [fs] ovl: Move some dir related ovl_lookup_single() code in else block (Miklos Szeredi) [1636875] - [fs] ovl: Do not expose metacopy only dentry from d_real() (Miklos Szeredi) [1636875] - [fs] ovl: Open file with data except for the case of fsync (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_inode_realdata() (Miklos Szeredi) [1636875] - [fs] ovl: Store lower data inode in ovl_inode (Miklos Szeredi) [1636875] - [fs] ovl: Fix ovl_getattr() to get number of blocks from lower (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_dentry_lowerdata() to get lower data dentry (Miklos Szeredi) [1636875] - [fs] ovl: Copy up meta inode data from lowest data inode (Miklos Szeredi) [1636875] - [fs] ovl: Modify ovl_lookup() and friends to lookup metacopy dentry (Miklos Szeredi) [1636875] - [fs] ovl: Use out_err instead of out_nomem (Miklos Szeredi) [1636875] - [fs] ovl: A new xattr OVL_XATTR_METACOPY for file on upper (Miklos Szeredi) [1636875] - [fs] ovl: Add helper ovl_already_copied_up() (Miklos Szeredi) [1636875] - [fs] ovl: Copy up only metadata during copy up where it makes sense (Miklos Szeredi) [1636875] - [fs] ovl: During copy up, first copy up metadata and then data (Miklos Szeredi) [1636875] - [fs] ovl: Provide a mount option metacopy=on/off for metadata copyup (Miklos Szeredi) [1636875] - [fs] ovl: Move the copy up helpers to copy_up.c (Miklos Szeredi) [1636875] - [fs] ovl: Initialize ovl_inode->redirect in ovl_get_inode() (Miklos Szeredi) [1636875] - [fs] ovl: fix documentation of non-standard behavior (Miklos Szeredi) [1636875] - [fs] ovl: obsolete "check_copy_up" module option (Miklos Szeredi) [1636875] - [fs] vfs: remove open_flags from d_real() (Miklos Szeredi) [1636875] - [fs] Revert "fsnotify: support overlayfs" (Miklos Szeredi) [1636875] - [fs] Partially revert "locks: fix file locking on overlayfs" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: do get_write_access() on upper layer of overlayfs" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: add flags to d_real()" (Miklos Szeredi) [1636875] - [fs] Revert "vfs: update ovl inode before relatime check" (Miklos Szeredi) [1636875] - [fs] Revert "ovl: fix relatime for directories" (Miklos Szeredi) [1636875] - [fs] vfs: fix freeze protection in mnt_want_write_file() for overlayfs (Miklos Szeredi) [1636875] - [fs] Revert "ovl: don't allow writing ioctl on lower layer" (Miklos Szeredi) [1636875] - [fs] Revert "ovl: fix may_write_real() for overlayfs directories" (Miklos Szeredi) [1636875] - [fs] vfs: don't open real (Miklos Szeredi) [1636875] - [fs] ovl: add reflink/copyfile/dedup support (Miklos Szeredi) [1636875] - [fs] ovl: add O_DIRECT support (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fiemap() (Miklos Szeredi) [1636875] - [fs] ovl: add lsattr/chattr support (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fallocate() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_mmap() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_fsync() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_write_iter() (Miklos Szeredi) [1636875] - [fs] ovl: add ovl_read_iter() (Miklos Szeredi) [1636875] - [fs] ovl: add helper to return real file (Miklos Szeredi) [1636875] - [fs] ovl: stack file ops (Miklos Szeredi) [1636875] - [fs] ovl: deal with overlay files in ovl_d_real() (Miklos Szeredi) [1636875] - [fs] ovl: copy up file size as well (Miklos Szeredi) [1636875] - [fs] Revert "Revert "ovl: get_write_access() in truncate"" (Miklos Szeredi) [1636875] - [fs] ovl: copy up inode flags (Miklos Szeredi) [1636875] - [fs] ovl: copy up times (Miklos Szeredi) [1636875] - [fs] vfs: export vfs_dedupe_file_range_one() to modules (Miklos Szeredi) [1636875] - [fs] vfs: export vfs_ioctl() to modules (Miklos Szeredi) [1636875] - [fs] vfs: make open_with_fake_path() not contribute to nr_files (Miklos Szeredi) [1636875] - [fs] ovl: fix wrong use of impure dir cache in ovl_iterate() (Miklos Szeredi) [1636875] - [fs] new helper: open_with_fake_path() (Miklos Szeredi) [1636875] - [fs] now we can fold open_check_o_direct() into do_dentry_open() (Miklos Szeredi) [1636875] - [fs] lift fput() on late failures into path_openat() (Miklos Szeredi) [1636875] - [fs] fold put_filp() into fput() (Miklos Szeredi) [1636875] - [fs] introduce FMODE_OPENED (Miklos Szeredi) [1636875] - [fs] ->file_open(): lose cred argument (Miklos Szeredi) [1636875] - [fs] security_file_open(): lose cred argument (Miklos Szeredi) [1636875] - [fs] get rid of cred argument of vfs_open() and do_dentry_open() (Miklos Szeredi) [1636875] - [fs] pass ->f_flags value to alloc_empty_file() (Miklos Szeredi) [1636875] - [fs] pass creds to get_empty_filp(), make sure dentry_open() passes the right creds (Miklos Szeredi) [1636875] - [fs] alloc_file(): switch to passing O_... flags instead of FMODE_... mode (Miklos Szeredi) [1636875] - [fs] make sure do_dentry_open() won't return positive as an error (Miklos Szeredi) [1636875] - [fs] create_pipe_files(): use fput() if allocation of the second file fails (Miklos Szeredi) [1636875] - [fs] turn filp_clone_open() into inline wrapper for dentry_open() (Miklos Szeredi) [1636875] - [fs] fold security_file_free() into file_free() (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: extract helper for a single dedup (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: rationalize args (Miklos Szeredi) [1636875] - [fs] vfs: dedupe: return int (Miklos Szeredi) [1636875] - [fs] vfs: limit size of dedupe (Miklos Szeredi) [1636875] - [fs] ovl: set I_CREATING on inode being created (Miklos Szeredi) [1636875]- [rpmspec] redhat spec: Add new perf tools file (Jiri Olsa) [1579484] - [tools] perf tools: Fix use of alternatives to find JDIR (Jiri Olsa) [1579484] - [net] net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd() (Paolo Abeni) [1637576] - [thunderbolt] thunderbolt: Add Intel as copyright holder (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Convert rest of the driver files to use SPDX identifier (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Print connected devices (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Make the driver less verbose (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Remove a meaningless NULL pointer check before dma_pool_destroy (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Initialize after IOMMUs (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Do not handle ICM events after domain is stopped (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Add support for runtime PM (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Remove redundant variable 'approved' (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Use correct ICM commands in system suspend (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: No need to take tb->lock in domain suspend/complete (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Do not unnecessarily call ICM get route (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Use 64-bit DMA mask if supported by the platform (Jarod Wilson) [1588929] - [thunderbolt] thunderbolt: Fix small typo in variable name (Jarod Wilson) [1588929] - [mm] Revert x86/e820: put !E820_TYPE_RAM regions into memblock.reserved (Baoquan He) [1639450] - [mm] mm: return zero_resv_unavail optimization (Baoquan He) [1639450] - [mm] mm: zero remaining unavailable struct pages (Baoquan He) [1639450] - [mm] mm: skip invalid pages block at a time in zero_resv_unresv() (Baoquan He) [1639450] - [mm] docs/mm: memblock: update kernel-doc comments (Baoquan He) [1639450] - [mm] mm/memblock: add a name for memblock flags enumeration (Baoquan He) [1639450] - [block] blk-wbt: wake up all when we scale up, not down (Ming Lei) [1640035]- [video] fbdev: make FB_BACKLIGHT a tristate (Rob Clark) [1589158] - [kernel] EDAC: Raise the maximum number of memory controllers (Aristeu Rozanski) [1634077] - [netdrv] i40e: disallow changing the number of descriptors when AF_XDP is on (Stefan Assmann) [1630760] - [netdrv] i40e: clean zero-copy XDP Rx ring on shutdown/reset (Stefan Assmann) [1630760] - [netdrv] i40e: clean zero-copy XDP Tx ring on shutdown/reset (Stefan Assmann) [1630760] - [netdrv] i40e: Remove unused msglen parameter from virtchnl functions (Stefan Assmann) [1630760] - [netdrv] i40e: fix double 'NIC Link is Down' messages (Stefan Assmann) [1630760] - [netdrv] i40e: add a helper function to validate a VF based on the vf id (Stefan Assmann) [1630760] - [netdrv] i40e: use declared variables for pf and hw (Stefan Assmann) [1630760] - [netdrv] i40e: Unset promiscuous settings on VF reset (Stefan Assmann) [1630760] - [netdrv] i40e: Fix VF's link state notification (Stefan Assmann) [1630760] - [netdrv] intel-ethernet: use correct module license (Stefan Assmann) [1630760] - [netdrv] i40e(vf): remove i40e_ethtool_stats.h header file (Stefan Assmann) [1630760] - [netdrv] i40e: fix possible compiler warning in xsk TX path (Stefan Assmann) [1630760] - [netdrv] i40e: add AF_XDP zero-copy Tx support (Stefan Assmann) [1630760] - [netdrv] i40e: move common Tx functions to i40e_txrx_common.h (Stefan Assmann) [1630760] - [netdrv] xsk: i40e: get rid of useless struct xdp_umem_props (Stefan Assmann) [1630760] - [netdrv] i40e: add AF_XDP zero-copy Rx support (Stefan Assmann) [1630760] - [netdrv] i40e: move common Rx functions to i40e_txrx_common.h (Stefan Assmann) [1630760] - [netdrv] i40e: refactor Rx path for re-use (Stefan Assmann) [1630760] - [netdrv] i40e: added queue pair disable/enable functions (Stefan Assmann) [1630760] - [netdrv] i40e: Prevent deleting MAC address from VF when set by PF (Stefan Assmann) [1630760] - [netdrv] i40e: hold the rtnl lock on clearing interrupt scheme (Stefan Assmann) [1630760] - [netdrv] i40e: Check and correct speed values for link on open (Stefan Assmann) [1630760] - [netdrv] i40e: report correct statistics when XDP is enabled (Stefan Assmann) [1630760] - [netdrv] i40e: static analysis report from community (Stefan Assmann) [1630760] - [netdrv] i40e: use correct length for strncpy (Stefan Assmann) [1630760] - [netdrv] i40evf: Change a VF mac without reloading the VF driver (Stefan Assmann) [1630760] - [netdrv] i40e: move ethtool stats boiler plate code to i40e_ethtool_stats.h (Stefan Assmann) [1630760] - [netdrv] i40e: convert queue stats to i40e_stats array (Stefan Assmann) [1630760] - [netdrv] i40e: fix condition of WARN_ONCE for stat strings (Stefan Assmann) [1630760] - [netdrv] i40e_txrx: mark expected switch fall-through (Stefan Assmann) [1630760] - [netdrv] i40e_main: mark expected switch fall-through (Stefan Assmann) [1630760] - [netdrv] i40e: fix i40e_add_queue_stats data pointer update (Stefan Assmann) [1630760] - [netdrv] i40e: Add AQ command for rearrange NVM structure (Stefan Assmann) [1630760] - [netdrv] i40e: Add additional return code to i40e_asq_send_command (Stefan Assmann) [1630760] - [netdrv] i40e: fix warning about shadowed ring parameter (Stefan Assmann) [1630760] - [netdrv] i40e: remove unnecessary i variable causing -Wshadow warning (Stefan Assmann) [1630760] - [netdrv] i40e: convert priority flow control stats to use helpers (Stefan Assmann) [1630760] - [netdrv] i40e: convert VEB TC stats to use an i40e_stats array (Stefan Assmann) [1630760] - [netdrv] i40e: Set fec_config when forcing link state (Stefan Assmann) [1630760] - [netdrv] i40e: add helper to copy statistic values into ethtool buffer (Stefan Assmann) [1630760] - [netdrv] i40e: add helper function for copying strings from stat arrays (Stefan Assmann) [1630760] - [netdrv] i40e: Remove duplicated prepare call in i40e_shutdown (Stefan Assmann) [1630760] - [netdrv] cls_flower: fix error values for commands not supported by drivers (Stefan Assmann) [1630760] - [netdrv] net: drivers/net: Convert random_ether_addr to eth_random_addr (Stefan Assmann) [1630760] - [net] ipv4: don't let PMTU updates increase route MTU (Sabrina Dubroca) [1638845] - [net] ipv4: update fnhe_pmtu when first hop's MTU changes (Sabrina Dubroca) [1638845] - [net] xsk: add a simple buffer reuse queue (Ivan Vecera) [1634774] - [net] samples/bpf: add -c/--copy -z/--zero-copy flags to xdpsock (Ivan Vecera) [1634774] - [net] add napi_if_scheduled_mark_missed (Ivan Vecera) [1634774] - [net] xsk: expose xdp_umem_get_(data, dma) to drivers (Ivan Vecera) [1634774] - [net] xdp: export xdp_rxq_info_unreg_mem_model (Ivan Vecera) [1634774] - [net] xdp: implement convert_to_xdp_frame for MEM_TYPE_ZERO_COPY (Ivan Vecera) [1634774] - [net] xdp: Helper function to clear kernel pointers in xdp_frame (Ivan Vecera) [1634774] - [net] xsk: i40e: get rid of useless struct xdp_umem_props (Ivan Vecera) [1631809] - [net] xdp: fix uninitialized 'err' variable (Ivan Vecera) [1631805] - [tools] headers uapi: Update tools's copy of linux/if_link.h (Ivan Vecera) [1631805] - [tools] selftests/bpf: add test for multiple programs (Ivan Vecera) [1631805] - [net] netdevsim: add support for simultaneous driver and hw XDP (Ivan Vecera) [1631805] - [net] xdp: support simultaneous driver and hw XDP attachment (Ivan Vecera) [1631805] - [net] xdp: factor out common program/flags handling from drivers (Ivan Vecera) [1631805] - [net] xdp: don't make drivers report attachment mode (Ivan Vecera) [1631805] - [net] xdp: add per mode attributes for attached programs (Ivan Vecera) [1631805] - [net] sched: cls_flower: set correct offload data in fl_reoffload (Ivan Vecera) [1631522] - [net] sched: call reoffload op on block callback reg (Ivan Vecera) [1631522] - [net] sched: cls_bpf: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_u32: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_matchall: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: cls_flower: implement offload tcf_proto_op (Ivan Vecera) [1631522] - [net] sched: add tcf_proto_op to offload a rule (Ivan Vecera) [1631522] - [net] sched: pass extack pointer to block binds and cb registration (Ivan Vecera) [1631522]- [rpmspec] kernel.spec: s390/zfcpdump: add -zfcpdump kernel variant (Philipp Rudo) [1567291] - [kernel] rh_taint: correct loaddable module support dependencies (Philipp Rudo) [1567291] - [powerpc] KVM: PPC: Book3S HV: Avoid crash from THP collapse during radix page fault (David Gibson) [1639555] - [irqchip] irqchip/gic-v3-its: Allow use of LPI tables in reserved memory (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Register LPI tables with EFI config table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Check that all RDs have the same property table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Use pre-programmed redistributor tables with kdump kernels (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Allow use of pre-programmed LPI tables (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Keep track of property table's PA and VA (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Move pending table allocation to init time (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Split property table clearing from allocation (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Simplify LPI_PENDBASE_SZ usage (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Change initialization ordering for LPIs (Jeremy Linton) [1625746] - [firmware] efi: add API to reserve memory persistently across kexec reboot (Jeremy Linton) [1625746] - [firmware] efi/arm: libstub: add a root memreserve config table (Jeremy Linton) [1625746] - [firmware] efi: honour memory reservations passed via a linux specific config table (Jeremy Linton) [1625746] - [irqchip] irqchip/gic-v3-its: Cap lpi_id_bits to reduce memory footprint (Jeremy Linton) [1625746] - [infiniband] RDMA/bnxt_re: Fix system crash during RDMA resource initialization (Selvin Xavier) [1637122] - [infiniband] RDMA/bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces (Selvin Xavier) [1637120] - [arm64] arm64: KVM: Sanitize PSTATE.M when being set from userspace (Wei Huang) [1635721] {CVE-2018-18021} - [arm64] arm64: KVM: Tighten guest core register access from userspace (Wei Huang) [1635721] {CVE-2018-18021} - [fs] fs/cifs: require sha512 (Leif Sahlberg) [1610619] - [fs] smb3: simplify code by removing CONFIG_CIFS_SMB311 (Leif Sahlberg) [1610619] - [fs] smb3: add support for statfs for smb3.1.1 posix extensions (Leif Sahlberg) [1610619] - [fs] cifs: allow disabling insecure dialects in the config (Leif Sahlberg) [1610619] - [fs] smb3: if server does not support posix do not allow posix mount option (Leif Sahlberg) [1610619]- [security] cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias() (Joe Lawrence) [1638647] - [powerpc] powerpc/cacheinfo: Report the correct shared_cpu_map on big-cores (Steve Best) [1639265] - [powerpc] powerpc: Use cpu_smallcore_sibling_mask at SMT level on bigcores (Steve Best) [1639265] - [powerpc] powerpc: Detect the presence of big-cores via ibm, thread-groups (Steve Best) [1639265] - [x86] mark amd rome as unsupported (David Arcari) [1638506] - [netdrv] qed: Add support for virtual link (Chad Dupuis) [1638013] - [netdrv] qede: Add driver support for 20G link speed (Chad Dupuis) [1638013] - [netdrv] qed: Add driver support for 20G link speed (Chad Dupuis) [1638013] - [netdrv] qed: Fix shmem structure inconsistency between driver and the mfw (Chad Dupuis) [1638013] - [netdrv] qed: Add missing device config for RoCE EDPM in UFP mode (Chad Dupuis) [1638013] - [netdrv] qed: Add a flag which indicates if offload TC is set (Chad Dupuis) [1638013] - [netdrv] qed: Do not add VLAN 0 tag to untagged frames in multi-function mode (Chad Dupuis) [1638013] - [netdrv] qed: Fix populating the invalid stag value in multi function mode (Chad Dupuis) [1638013] - [tools] perf python: Fix pyrf_evlist__read_on_cpu() interface (Jiri Olsa) [1628229] - [tools] perf mmap: Store real cpu number in 'struct perf_mmap' (Jiri Olsa) [1628229]- [fs] gfs2: Fix iomap buffered write support for journaled files (2) (Andreas Grunbacher) [1637944] - [xen] xen/manage: don't complain about an empty value in control/sysrq node (Vitaly Kuznetsov) [1623344] - [drm] drm/amdgpu: Silence harmless WARN_ON() during MST disable (Lyude Paul) [1638137] - [netdrv] net: macb: Fix regression breaking non-MDIO fixed-link PHYs (Petr Oros) [1638259] - [netdrv] net: macb: do not disable MDIO bus at open/close time (Petr Oros) [1638259] - [fs] proc: restrict kernel stack dumps to root (Waiman Long) [1638044] - [base] firmware: Always initialize the fw_priv list object (Waiman Long) [1638044] - [base] firmware: Fix security issue with request_firmware_into_buf() (Waiman Long) [1638044] - [fs] sysfs: Do not return POSIX ACL xattrs via listxattr (Waiman Long) [1638044] - [fs] vfs: don't evict uninitialized inode (Waiman Long) [1638044] - [fs] new primitive: discard_new_inode() (Waiman Long) [1638044] - [arm64] arm64: jump_label.h: use asm_volatile_goto macro instead of "asm goto" (Waiman Long) [1638044] - [kernel] sched/topology: Set correct NUMA topology type (Waiman Long) [1638044] - [kernel] bpf: 32-bit RSH verification must truncate input before the ALU op (Waiman Long) [1638044] - [mm] mm: madvise(MADV_DODUMP): allow hugetlbfs pages (Waiman Long) [1638044] - [x86] x86/pti: Fix section mismatch warning/error (Waiman Long) [1638044] - [kernel] uaccess: Fix is_source param for check_copy_size() in copy_to_iter_mcsafe() (Waiman Long) [1638044] - [x86] x86/mm: Expand static page table for fixmap space (Waiman Long) [1638044] - [fs] fs/lock: skip lock owner pid translation in case we are in init_pid_ns (Waiman Long) [1638044] - [x86] perf/x86/intel/lbr: Fix incomplete LBR call stack (Waiman Long) [1638044] - [kernel] perf/hw_breakpoint: Split attribute parse and commit (Waiman Long) [1638044] - [kernel] bitfield: fix *_encode_bits() (Waiman Long) [1638044] - [kernel] posix-timers: Sanitize overrun handling (Waiman Long) [1638044] - [kernel] posix-timers: Make forward callback return s64 (Waiman Long) [1638044] - [kernel] alarmtimer: Prevent overflow for relative nanosleep (Waiman Long) [1638044] - [x86] x86/entry/64: Add two more instruction suffixes (Waiman Long) [1638044] - [powerpc] powerpc/kdump: Handle crashkernel memory reservation failure (Waiman Long) [1638044] - [s390] s390/mm: correct allocate_pgste proc_handler callback (Waiman Long) [1638044] - [x86] x86/numa_emulation: Fix emulated-to-physical node mapping (Waiman Long) [1638044] - [x86] x86/paravirt: Fix some warning messages (Waiman Long) [1638044] - [kernel] sched/fair: Fix vruntime_normalized() for remote non-migration wakeup (Waiman Long) [1638044] - [kernel] bpf/verifier: disallow pointer subtraction (Waiman Long) [1638044] - [mm] mm: shmem.c: Correctly annotate new inodes for lockdep (Waiman Long) [1638044] - [kernel] sched/core: Use smp_mb() in wake_woken_function() (Waiman Long) [1638044] - [kernel] bpf: fix rcu annotations in compute_effective_progs() (Waiman Long) [1638044] - [x86] x86/mm/pti: Add an overflow check to pti_clone_pmds() (Waiman Long) [1638044] - [x86] x86/pti: Check the return value of pti_user_pagetable_walk_pmd() (Waiman Long) [1638044] - [x86] x86/pti: Check the return value of pti_user_pagetable_walk_p4d() (Waiman Long) [1638044] - [powerpc] powerpc/pseries/mm: call H_BLOCK_REMOVE (Steve Best) [1637116] - [powerpc] powerpc/pseries/mm: factorize PTE slot computation (Steve Best) [1637116] - [powerpc] powerpc/pseries/mm: Introducing FW_FEATURE_BLOCK_REMOVE (Steve Best) [1637116] - [watchdog] watchdog/hpwdt: Disable PreTimeout when Timeout is smaller (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Update Driver Documentation (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Update version number (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Module parameter alias (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Display module parameters (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Claim NMI from iLO (Joseph Szczypek) [1632945] - [watchdog] watchdog: hpwdt: Initialize pretimeout from module parameter (Joseph Szczypek) [1632945]- [mm] mm/sparse: delete old sparse_init and enable new one (Baoquan He) [1625105] - [mm] mm/sparse: add new sparse_init_nid() and sparse_init() (Baoquan He) [1625105] - [mm] mm/sparse: move buffer init/fini to the common place (Baoquan He) [1625105] - [mm] mm/sparse: use the new sparse buffer functions in non-vmemmap (Baoquan He) [1625105] - [mm] mm/sparse: abstract sparse buffer allocations (Baoquan He) [1625105] - [mm] mm/sparse: optimize memmap allocation during sparse_init() (Baoquan He) [1625105] - [mm] mm/sparse.c: add a new parameter 'data_unit_size' for alloc_usemap_and_memmap (Baoquan He) [1625105] - [mm] mm/sparsemem.c: defer the ms->section_mem_map clearing (Baoquan He) [1625105] - [mm] mm/sparse.c: add a static variable nr_present_sections (Baoquan He) [1625105] - [mm] mm/sparse.c: make sparse_init_one_section void and remove check (Baoquan He) [1625105] - [target] scsi: target: iscsi: cxgbit: fix csk leak (Arjun Vynipadath) [1628864] - [target] scsi: target: iscsi: cxgbit: use pr_debug() instead of pr_info() (Arjun Vynipadath) [1628864] - [infiniband] iw_cxgb4: only allow 1 flush on user qps (Arjun Vynipadath) [1628865] - [infiniband] iw_cxgb4: pass window scale in flowc work request (Arjun Vynipadath) [1628865] - [infiniband] iw_cxgb4: remove duplicate memcpy() in c4iw_create_listen() (Arjun Vynipadath) [1628865] - [netdrv] mlxsw: spectrum_switchdev: Do not leak RIFs when removing bridge (Petr Oros) [1638268] - [tty] tty: vt_ioctl: fix potential Spectre v1 (Prarit Bhargava) [1637123] - [powerpc] powerpc/time: Add set_state_oneshot_stopped decrementer callback (Steve Best) [1638287] - [powerpc] powerpc/time: Use clockevents_register_device(), fixing an issue with large decrementer (Steve Best) [1638287] - [hwmon] hwmon: (nct6775) Fix potential Spectre v1 (Dean Nelson) [1637464] - [vfio] vfio-pci: Disable binding to PFs with SR-IOV enabled (Alex Williamson) [1637871] - [netdrv] net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES (Petr Oros) [1638385] - [netdrv] net: hns: fix skb->truesize underestimation (Petr Oros) [1638385] - [netdrv] net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES (Petr Oros) [1638385] - [netdrv] net: hns3: Fix get_vector ops in hclgevf_main module (Petr Oros) [1638385] - [netdrv] net: hns3: Fix warning bug when doing lp selftest (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for mac pause not disable in pfc mode (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for mailbox message truncated problem (Petr Oros) [1638385] - [netdrv] net: hns3: Fix return value error in hns3_reset_notify_down_enet (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for reset_level default assignment probelm (Petr Oros) [1638385] - [netdrv] net: hns3: Reset net device with rtnl_lock (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for phy link issue when using marvell phy driver (Petr Oros) [1638385] - [netdrv] net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero (Petr Oros) [1638385] - [net] xprtrdma: Fix disconnect regression (Don Dutile) [1635418] - [infiniband] RDMA/uverbs: Fix validity check for modify QP (Don Dutile) [1635418] - [infiniband] IB/srp: Avoid that sg_reset -d $srp_device triggers an infinite loop (Don Dutile) [1635418] - [infiniband] ucma: fix a use-after-free in ucma_resolve_ip() (Don Dutile) [1635418] - [infiniband] RDMA/uverbs: Atomically flush and mark closed the comp event queue (Don Dutile) [1635418] - [infiniband] RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (Don Dutile) [1635418 1623100] - [infiniband] RDMA/cma: Protect cma dev list with lock (Don Dutile) [1635418] - [infiniband] IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler (Don Dutile) [1635418] - [infiniband] RDMA/ucma: check fd type in ucma_migrate_id() (Don Dutile) [1635418] - [infiniband] RDMA/rxe: Set wqe->status correctly if an unexpected response is received (Don Dutile) [1635418] - [infiniband] IB/IPoIB: Set ah valid flag in multicast send flow (Don Dutile) [1635418] - [infiniband] RDMA/core: Avoid holding lock while initializing fields on stack (Don Dutile) [1635418] - [infiniband] IB/rxe: Drop QP0 silently (Don Dutile) [1635418] - [infiniband] RDMA/umem: Don't hold mmap_sem for too long (Don Dutile) [1635418] - [infiniband] IB/srpt: Fix srpt_cm_req_recv() error path (2/2) (Don Dutile) [1635418] - [infiniband] IB/srpt: Fix srpt_cm_req_recv() error path (1/2) (Don Dutile) [1635418] - [infiniband] RDMA: Fix storage of PortInfo CapabilityMask in the kernel (Don Dutile) [1635418] - [infiniband] IB/core: type promotion bug in rdma_rw_init_one_mr() (Don Dutile) [1635418] - [infiniband] RDMA/i40w: Hold read semaphore while looking after VMA (Don Dutile) [1635418] - [infiniband] vmw_pvrdma: Release netdev when vmxnet3 module is removed (Don Dutile) [1635418] - [infiniband] ib_srpt: Fix a use-after-free in __srpt_close_all_ch() (Don Dutile) [1635418] - [infiniband] ib_srpt: Fix a use-after-free in srpt_close_ch() (Don Dutile) [1635418] - [infiniband] IB/srpt: Support HCAs with more than two ports (Don Dutile) [1635418] - [infiniband] IB/rxe: don't clear the tx queue on every transfer (Don Dutile) [1635418] - [infiniband] IB/core: add max_send_sge and max_recv_sge attributes (Don Dutile) [1635418 1623100] - [infiniband] IB/rxe: support for 802.1q VLAN on the listener (Don Dutile) [1635418] - [netdrv] cxgb4: impose mandatory VLAN usage when non-zero TAG ID (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: when max_tx_rate is 0 disable tx rate limiting (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: do not return DUPLEX_UNKNOWN when link is down (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: expose stats fetched from firmware via debugfs (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: remove stats fetched from firmware (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: specify IQTYPE in fw_iq_cmd (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Fix the condition to check if the card is T5 (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Support ethtool private flags (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Add support for FW_ETH_TX_PKT_VM_WR (Arjun Vynipadath) [1628863] - [netdrv] cxgb4: Add flag tc_flower_initialized (Arjun Vynipadath) [1628863] - [s390] s390/zcrypt: remove VLA usage from the AP bus (Philipp Rudo) [1637865] - [s390] s390/ap_bus: replace PTR_RET with PTR_ERR_OR_ZERO (Philipp Rudo) [1637865] - [s390] s390/crypto: fix gcc 8 stringop-truncation warning (Philipp Rudo) [1637865] - [s390] s390/zcrypt: code beautify (Philipp Rudo) [1637865] - [s390] s390/zcrypt: add copy_from_user length plausibility checks (Philipp Rudo) [1637865] - [s390] s390/zcrypt: Show load of cards and queues in sysfs (Philipp Rudo) [1637865] - [s390] s390/kvm: fix deadlock when killed by oom (Philipp Rudo) [1638264] - [fs] xfs: fix data corruption w/ unaligned reflink ranges (Brian Foster) [1633476] - [fs] xfs: fix data corruption w/ unaligned dedupe ranges (Brian Foster) [1633476] - [fs] xfs: update ctime and remove suid before cloning files (Brian Foster) [1633476] - [fs] xfs: zero posteof blocks when cloning above eof (Brian Foster) [1633476] - [fs] xfs: refactor clonerange preparation into a separate helper (Brian Foster) [1633476] - [netdrv] nfp: avoid buffer leak when FW communication fails (Petr Oros) [1638233] - [netdrv] nfp: don't fail probe on pci_sriov_set_totalvfs() errors (Petr Oros) [1638233] - [netdrv] nfp: wait for posted reconfigs when disabling the device (Petr Oros) [1638233] - [netdrv] liquidio: fix hang when re-binding VF host drv after running DPDK VF driver (Petr Oros) [1638224] - [netdrv] r8169: set RxConfig after tx/rx is enabled for RTL8169sb/8110sb devices (Petr Oros) [1638210] - [netdrv] r8169: add support for NCube 8168 network card (Petr Oros) [1638210] - [netdrv] r8169: don't use MSI-X on RTL8106e (Petr Oros) [1638210] - [netdrv] r8169: don't use MSI-X on RTL8168g (Petr Oros) [1638210] - [powerpc] KVM: PPC: Book3S HV: Fix guest r11 corruption with POWER9 TM workarounds (David Gibson) [1637766] - [drm] drm/amdgpu: Suppress keypresses from ACPI_VIDEO events (Lyude Paul) [1631918] - [infiniband] IB/hfi1: Remove race conditions in user_sdma send path (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Eliminate races in the SDMA send error path (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix destroy_qp hang after a link down (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix context recovery when PBC has an UnsupportedVL (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Invalid user input can result in crash (Alex Estrin) [1637068] - [infiniband] IB/hfi1: Fix SL array bounds check (Alex Estrin) [1637068] - [powerpc] powerpc/fadump: re-register firmware-assisted dump if already registered (Steve Best) [1637383] - [powerpc] powerpc/fadump: cleanup crash memory ranges support (Steve Best) [1637383] - [powerpc] powerpc/fadump: merge adjacent memory ranges to reduce PT_LOAD segements (Steve Best) [1637383] - [powerpc] powerpc/fadump: handle crash memory ranges array index overflow (Steve Best) [1637383] - [scsi] scsi: qedi: Initialize the stats mutex lock (Chad Dupuis) [1637245] - [fs] gfs2: Fix iomap buffered write support for journaled files (Andreas Grunbacher) [1637944] - [fs] gfs2: eliminate update_rgrp_lvb_unlinked (Andreas Grunbacher) [1637944] - [fs] gfs2: Fix gfs2_testbit to use clone bitmaps (Andreas Grunbacher) [1637944] - [fs] gfs2: Get rid of gfs2_ea_strlen (Andreas Grunbacher) [1637944] - [fs] GFS2: rgrp free blocks used incorrectly (Andreas Grunbacher) [1637944] - [fs] gfs2: remove redundant variable 'moved' (Andreas Grunbacher) [1637944] - [fs] gfs2: use iomap_readpage for blocksize == PAGE_SIZE (Andreas Grunbacher) [1637944] - [fs] gfs2: Use iomap for stuffed direct I/O reads (Andreas Grunbacher) [1637944] - [fs] gfs2: fallocate_chunk: Always initialize struct iomap (Andreas Grunbacher) [1637944] - [fs] gfs2: Remove gfs2_write_(begin,end) (Andreas Grunbacher) [1637944] - [fs] gfs2: iomap direct I/O support (Andreas Grunbacher) [1637944] - [fs] gfs2: gfs2_extent_length cleanup (Andreas Grunbacher) [1637944] - [fs] gfs2: iomap buffered write support (Andreas Grunbacher) [1637944] - [fs] gfs2: Further iomap cleanups (Andreas Grunbacher) [1637944] - [fs] fs: gfs2: Adding new return type vm_fault_t (Andreas Grunbacher) [1637944] - [fs] gfs2: using posix_acl_xattr_size instead of posix_acl_to_xattr (Andreas Grunbacher) [1637944] - [fs] gfs2: Don't reject a supposedly full bitmap if we have blocks reserved (Andreas Grunbacher) [1637944] - [fs] gfs2: Eliminate redundant ip->i_rgd (Andreas Grunbacher) [1637944] - [fs] gfs2: Stop messing with ip->i_rgd in the rlist code (Andreas Grunbacher) [1637944] - [fs] gfs2: call ktime_get_coarse_real_ts64() directly (Andreas Grunbacher) [1637944] - [fs] gfs2: Minor clarification to __gfs2_punch_hole (Andreas Grunbacher) [1637944] - [fs] gfs2: Don't withdraw under a spin lock (Andreas Grunbacher) [1637944] - [fs] gfs2: eliminate rs_inum and reduce the size of gfs2 inodes (Andreas Grunbacher) [1637944] - [drm] drm/nouveau/drm/nouveau: Grab runtime PM ref in nv50_mstc_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/disp: fix DP disable race (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early (Lyude Paul) [1628749] - [drm] drm/nouveau: Reset MST branching unit before enabling (Lyude Paul) [1628749] - [drm] drm/nouveau: Only write DP_MSTM_CTRL when needed (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_enable() call in drm_load() (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state() (Lyude Paul) [1628749] - [drm] drm/nouveau: Fix deadlocks in nouveau_connector_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in connector_detect() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Fix deadlock with fb_helper with async RPM requests (Lyude Paul) [1628749] - [drm] drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend() (Lyude Paul) [1628749] - [drm] drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement (Lyude Paul) [1628749] - [md] dm table: require that request-based DM be layered on blk-mq devices (Mike Snitzer) [1637682] - [md] dm: rename DM_TYPE_MQ_REQUEST_BASED to DM_TYPE_REQUEST_BASED (Mike Snitzer) [1637682] - [md] dm: remove legacy request-based IO path (Mike Snitzer) [1637682] - [md] dm linear: fix linear_end_io conditional definition (Mike Snitzer) [1637682] - [md] dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled (Mike Snitzer) [1637682] - [md] dm: fix report zone remapping to account for partition offset (Mike Snitzer) [1637682] - [md] dm cache: destroy migration_cache if cache target registration failed (Mike Snitzer) [1637682] - [md] dm cache: fix resize crash if user doesn't reload cache table (Mike Snitzer) [1637682] - [md] dm cache metadata: ignore hints array being too small during resize (Mike Snitzer) [1637682] - [md] dm raid: remove bogus const from decipher_sync_action() return type (Mike Snitzer) [1637682] - [md] dm mpath: fix attached_handler_name leak and dangling hw_handler_name pointer (Mike Snitzer) [1637682] - [md] dm thin metadata: fix __udivdi3 undefined on 32-bit (Mike Snitzer) [1637682] - [md] dm thin metadata: try to avoid ever aborting transactions (Mike Snitzer) [1637682] - [md] dm raid: bump target version, update comments and documentation (Mike Snitzer) [1637682] - [md] dm raid: fix RAID leg rebuild errors (Mike Snitzer) [1637682] - [md] dm raid: fix rebuild of specific devices by updating superblock (Mike Snitzer) [1637682] - [md] dm raid: fix stripe adding reshape deadlock (Mike Snitzer) [1637682] - [md] dm raid: fix reshape race on small devices (Mike Snitzer) [1637682] - [md] dm: disable CRYPTO_TFM_REQ_MAY_SLEEP to fix a GFP_KERNEL recursion deadlock (Mike Snitzer) [1637682] - [md] dm verity: fix crash on bufio buffer that was allocated with vmalloc (Mike Snitzer) [1637682] - [md] dm writecache: fix a crash due to reading past end of dirty_bitmap (Mike Snitzer) [1637682] - [md] dm crypt: don't decrease device limits (Mike Snitzer) [1637682] - [md] dm cache metadata: set dirty on all cache blocks after a crash (Mike Snitzer) [1637682] - [md] dm snapshot: remove stale FIXME in snapshot_map() (Mike Snitzer) [1637682] - [md] dm snapshot: improve performance by switching out_of_order_list to rbtree (Mike Snitzer) [1637682] - [md] dm kcopyd: avoid softlockup in run_complete_job (Mike Snitzer) [1637682] - [md] dm cache metadata: save in-core policy_hint_size to on-disk superblock (Mike Snitzer) [1637682] - [md] dm thin: stop no_space_timeout worker when switching to write-mode (Mike Snitzer) [1637682] - [md] dm kcopyd: return void from dm_kcopyd_copy() (Mike Snitzer) [1637682] - [md] dm thin: include metadata_low_watermark threshold in pool status (Mike Snitzer) [1637682] - [md] dm writecache: report start_sector in status line (Mike Snitzer) [1637682] - [md] dm crypt: convert essiv from ahash to shash (Mike Snitzer) [1637682] - [md] dm crypt: use wake_up_process() instead of a wait queue (Mike Snitzer) [1637682] - [md] dm integrity: recalculate checksums on creation (Mike Snitzer) [1637682] - [md] dm integrity: flush journal on suspend when using separate metadata device (Mike Snitzer) [1637682] - [md] dm integrity: use version 2 for separate metadata (Mike Snitzer) [1637682] - [md] dm integrity: allow separate metadata device (Mike Snitzer) [1637682] - [md] dm integrity: add ic->start in get_data_sector() (Mike Snitzer) [1637682] - [md] dm integrity: report provided data sectors in the status (Mike Snitzer) [1637682] - [md] dm integrity: implement fair range locks (Mike Snitzer) [1637682] - [md] dm integrity: decouple common code in dm_integrity_map_continue() (Mike Snitzer) [1637682] - [md] dm integrity: change 'suspending' variable from bool to int (Mike Snitzer) [1637682] - [md] dm delay: add flush as a third class of IO (Mike Snitzer) [1637682] - [md] dm delay: refactor repetitive code (Mike Snitzer) [1637682] - [md] dm cache: only allow a single io_mode cache feature to be requested (Mike Snitzer) [1637682] - [md] dm thin: update stale "Status" Documentation (Mike Snitzer) [1637682] - [pci] PCI: Reprogram bridge prefetch registers on resume (Myron Stowe) [1637155] - [input] Input: xen-kbdfront - fix multi-touch XenStore node's locations (Benjamin Tissoires) [1637027] - [input] Input: elantech - enable middle button of touchpad on ThinkPad P72 (Benjamin Tissoires) [1637027] - [hid] HID: i2c-hid: Use devm to allocate i2c_hid struct (Benjamin Tissoires) [1637027] - [hid] HID: input: fix leaking custom input node name (Benjamin Tissoires) [1637027] - [hid] HID: core: fix grouping by application (Benjamin Tissoires) [1637027] - [hid] HID: multitouch: fix Elan panels with 2 input modes declaration (Benjamin Tissoires) [1637027] - [input] Input: do not use WARN() in input_alloc_absinfo() (Benjamin Tissoires) [1637027] - [s390] s390: vfio-ap: setup APCB mask using KVM dedicated function (Cornelia Huck) [1508118] - [s390] KVM: s390: Tracing APCB changes (Cornelia Huck) [1508118] - [s390] KVM: s390: fix locking for crypto setting error path (Cornelia Huck) [1508118] - [s390] s390: doc: detailed specifications for AP virtualization (Cornelia Huck) [1508118] - [s390] KVM: s390: CPU model support for AP virtualization (Cornelia Huck) [1508118] - [s390] KVM: s390: device attrs to enable/disable AP interpretation (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-1 CRYCB on host FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-1 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow CRYCB FORMAT-0 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: allow CRYCB FORMAT-1 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Allow CRYCB FORMAT-2 (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Make use of CRYCB FORMAT2 clear (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: Do the CRYCB validation first (Cornelia Huck) [1508118] - [s390] KVM: s390: Clear Crypto Control Block when using vSIE (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement VFIO_DEVICE_RESET ioctl (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: zeroize the AP queues (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement VFIO_DEVICE_GET_INFO ioctl (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: implement mediated device open callback (Cornelia Huck) [1508118] - [s390] KVM: s390: interface to clear CRYCB masks (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interface to view matrix mdev matrix (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure control domains (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure domains (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: sysfs interfaces to configure adapters (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: register matrix device with VFIO mdev framework (Cornelia Huck) [1508118] - [s390] s390: vfio-ap: base implementation of VFIO AP device driver (Cornelia Huck) [1508118] - [s390] KVM: s390: refactor crypto initialization (Cornelia Huck) [1508118] - [s390] KVM: s390: introduce and use KVM_REQ_VSIE_RESTART (Cornelia Huck) [1508118] - [s390] KVM: s390: vsie: simulate VCPU SIE entry/exit (Cornelia Huck) [1508118] - [s390] s390/zcrypt: hex string mask improvements for apmask and aqmask (Cornelia Huck) [1508118] - [s390] s390/zcrypt: AP bus support for alternate driver(s) (Cornelia Huck) [1508118] - [s390] s390/zcrypt: switch return type to bool for ap_instructions_available() (Cornelia Huck) [1508118] - [s390] s390/zcrypt: fix ap_instructions_available() returncodes (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Integrate ap_asm.h into include/asm/ap.h (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Review inline assembler constraints (Cornelia Huck) [1508118] - [s390] s390/zcrypt: Add ZAPQ inline function (Cornelia Huck) [1508118] - [net] ipv6: use rt6_info members when dst is set in rt6_fill_node (Xin Long) [1625864 1625803 1625117]- [netdrv] amd-xgbe: use dma_mapping_error to check map errors (David Arcari) [1637666] - [crypto] crypto: qat - Fix KASAN stack-out-of-bounds bug in adf_probe() (Waiman Long) [1629547] - [powerpc] powerpc: fix csum_ipv6_magic() on little endian platforms (Diego Domingos) [1625579] - [net] smc: generic netlink family should be __ro_after_init (Philipp Rudo) [1632435] - [net] net/smc: fix sizeof to int comparison (Philipp Rudo) [1632435] - [net] net/smc: no urgent data check for listen sockets (Philipp Rudo) [1632435] - [net] net/smc: enable fallback for connection abort in state INIT (Philipp Rudo) [1632435] - [net] net/smc: remove duplicate mutex_unlock (Philipp Rudo) [1632435] - [net] net/smc: fix non-blocking connect problem (Philipp Rudo) [1632435] - [net] net/smc: send response to test link signal (Philipp Rudo) [1632435] - [net] net: simplify sock_poll_wait (Philipp Rudo) [1632435] - [net] net/smc: Simplify ib_post_(send|recv|srq_recv)() calls (Philipp Rudo) [1632435] - [net] net/smc: Remove a WARN_ON() statement (Philipp Rudo) [1632435] - [powerpc] KVM: PPC: Book3S HV: Add NO_HASH flag to GET_SMMU_INFO ioctl result (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add a VM capability to enable nested virtualization (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add nested shadow page tables to debugfs (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Allow HV module to load without hypervisor mode (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle differing endianness for H_ENTER_NESTED (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Sanitise hv_regs on nested guest entry (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add one-reg interface to virtual PTCR register (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Don't access HFSCR, LPIDR or LPCR when running nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Invalidate TLB when nested vcpu moves physical cpu (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use hypercalls for TLB invalidation when nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Implement H_TLB_INVALIDATE hcall (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Introduce rmap to track nested guest mappings (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle page fault for a nested guest (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle hypercalls correctly when nested (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use XICS hypercalls when running as a nested hypervisor (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Nested guest entry via hypercall (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Framework and hcall stubs for nested virtualization (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Use kvmppc_unmap_pte() in kvm_unmap_radix() (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Refactor radix page fault handler (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Make kvmppc_mmu_radix_xlate process/partition table agnostic (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Clear partition table entry on vm teardown (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Add a debugfs file to dump radix mappings (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Handle hypervisor instruction faults better (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Streamlined guest entry/exit path on P9 for radix guests (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Call kvmppc_handle_exit_hv() with vcore unlocked (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S: Rework TM save/restore code and make it C-callable (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Simplify real-mode interrupt handling (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Extract PMU save/restore operations as C-callable functions (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Move interrupt delivery on guest entry to C code (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S HV: Remove left-over code in XICS-on-XIVE emulation (Suraj Jitindar Singh) [1505999] - [powerpc] KVM: PPC: Book3S: Simplify external interrupt handling (Suraj Jitindar Singh) [1505999] - [powerpc] powerpc: Turn off CPU_FTR_P9_TM_HV_ASSIST in non-hypervisor mode (Suraj Jitindar Singh) [1505999] - [powerpc] powerpc/64s: Remove POWER9 DD1 support (Suraj Jitindar Singh) [1505999] - [netdrv] net/mlx5: Add Fast teardown support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Set vlan masks for all offloaded TC rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: E-Switch, Fix out of bound access when setting vport rate (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Avoid unbounded peer devices when unpairing TC hairpin rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Cache the system image guid (Alaa Hleihel) [1636554] - [netdrv] mlx5: remove ndo_poll_controller (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Check for SQ and not RQ state when modifying hairpin SQ (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix read from coherent memory (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: don't set CHECKSUM_COMPLETE on SCTP packets (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Set ECN for received packets using CQE indication (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix possible deadlock from lockdep when adding fte to fg (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Check for error in mlx5_attach_interface (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Consider PCI domain in search for next dev (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix not releasing read lock when adding flow rules (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: E-Switch, Fix memory leak when creating switchdev mode FDB tables (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use u16 for Work Queue buffer strides offset (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use u16 for Work Queue buffer fragment size (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix debugfs cleanup in the device init/remove flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix use-after-free in self-healing flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Make function mlx5i_grp_sw_update_stats() static (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Use priv stats in completion rx flow (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Add ndo stats support for IPoIB child devices (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Add ndo stats support for IPoIB netdevices (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: IPoIB, Initialize max_opened_tc in mlx5i_init flow (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: Fix leaking stack memory to userspace (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Reorganize the makefile (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: clock.c depends on CONFIG_PTP_1588_CLOCK (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: vxlan.c depends on CONFIG_VXLAN (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Move flow steering declarations into en/fs.h (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add CONFIG_MLX5_EN_ARFS for accelerated flow steering support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add CONFIG_MLX5_EN_RXNFC for ethtool rx nfc (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Ethtool steering, move ethtool callbacks (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Reduce command polling interval (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use max_num_eqs for calculation of required MSIX vectors (Alaa Hleihel) [1636554] - [netdrv] RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq (Alaa Hleihel) [1636554] - [netdrv] overflow.h: Add arithmetic shift helper (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Fix uninitialized variable (Alaa Hleihel) [1636554] - [netdrv] RDMA: Fix return code check in rdma_set_cq_moderation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, move vxlan logic to core driver (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, add sync lock for add/del vxlan port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, return values for add/del port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, rename from mlx5e to mlx5 (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, rename struct mlx5e_vxlan to mlx5_vxlan_port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, move netdev only logic to en_main.c (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, add direct delete function (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, cleanup an unused member in vxlan work (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, replace ports radix-tree with hash table (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, check maximum number of UDP ports (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Vxlan, reflect 4789 UDP port default addition to software database (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Move XDP related code into new XDP files (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Restrict the combination of large MTU and XDP (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Gather all XDP pre-requisite checks in a single function (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: avoid excessive warning msgs when creating VFs on 2nd port (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Use PARTIAL_GSO for UDP segmentation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Remove redundant WARN when we cannot find neigh entry (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Fix tristate and description for MLX5 module (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Better return types for CQE API (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Use ERR_CAST() instead of coding it (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Add missing SET_DRIVER_VERSION command translation (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (Alaa Hleihel) [1636554] - [netdrv] IB/mlx5: Honor cnt_set_id_valid flag instead of set_id (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: Fix GRE flow specification (Alaa Hleihel) [1636554] - [infiniband] IB/mlx5: Remove set-but-not-used variables (Alaa Hleihel) [1636554] - [infiniband] RDMA/mlx5: Don't leak UARs in case of free fails (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Update NIC HW stats on demand only (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add counter for total num of NOP operations (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add counter for MPWQE filler strides (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add channel events counter (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add a counter for congested UMRs (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add NAPI statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add XDP_TX completions statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add TX completions statistics (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: RX, Use existing WQ local variable (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Convert large order kzalloc allocations to kvzalloc (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add UDP GSO remaining counter (Alaa Hleihel) [1636554] - [netdrv] net/mlx5e: Add UDP GSO support (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Rate limit errors in command interface (Alaa Hleihel) [1636554] - [netdrv] net/mlx5: Prevent warns in dmesg upon firmware commands (Alaa Hleihel) [1636554] - [netdrv] mlx4: remove ndo_poll_controller (Alaa Hleihel) [1636553] - [netdrv] net/mlx4: Use cpumask_available for eq->affinity_mask (Alaa Hleihel) [1636553] - [netdrv] net/mlx4/en_rx: Mark expected switch fall-throughs (Alaa Hleihel) [1636553] - [netdrv] net/mlx4/mcg: Mark expected switch fall-throughs (Alaa Hleihel) [1636553] - [infiniband] IB/mlx4: Use 4K pages for kernel QP's WQE buffer (Alaa Hleihel) [1636553] - [netdrv] net/mlx4_core: Allow MTTs starting at any index (Alaa Hleihel) [1636553] - [infiniband] IB/mlx4: Test port number before querying type (Alaa Hleihel) [1636553] - [powerpc] powerpc/numa: Skip onlining a offline node in kdump path (Steve Best) [1637118] - [netdrv] net: aquantia: Make function aq_fw1x_set_power() static (David Arcari) [1636533] - [netdrv] net: aquantia: memory corruption on jumbo frames (David Arcari) [1636533 1630377] - [netdrv] net: aquantia: bump driver version (David Arcari) [1636533] - [netdrv] net: aquantia: renaming for better visibility (David Arcari) [1636533] - [netdrv] net: aquantia: whitespace changes (David Arcari) [1636533] - [netdrv] net: aquantia: implement EEE support (David Arcari) [1636533] - [netdrv] net: aquantia: implement WOL support (David Arcari) [1636533] - [netdrv] net: aquantia: definitions for WOL (David Arcari) [1636533] - [netdrv] net: aquantia: fix hw_atl_utils_fw_upload_dwords (David Arcari) [1636533] - [netdrv] net: aquantia: Make some functions static (David Arcari) [1636533] - [netdrv] net: aquantia: bump driver version (David Arcari) [1636533] - [netdrv] net: aquantia: Add renegotiate ethtool operation support (David Arcari) [1636533] - [netdrv] net: aquantia: Implement rx/tx flow control ethtools callback (David Arcari) [1636533] - [netdrv] net: aquantia: Improve adapter init/deinit logic (David Arcari) [1636533] - [netdrv] net: aquantia: Ethtool based ring size configuration (David Arcari) [1636533] - [wireless] ath10k: fix memory leak of tpc_stats (Petr Oros) [1637528] - [wireless] ath10k: snoc: use correct bus-specific pointer in RX retry (Petr Oros) [1637528] - [wireless] ath10k: fix incorrect size of dma_free_coherent in ath10k_ce_alloc_src_ring_64 (Petr Oros) [1637528] - [wireless] brcmsmac: fix wrap around in conversion from constant to s16 (Petr Oros) [1637528] - [wireless] mt76x2: fix mrr idx/count estimation in mt76x2_mac_fill_tx_status() (Petr Oros) [1637528] - [wireless] ath10k: transmit queued frames after processing rx packets (Petr Oros) [1637528] - [wireless] ath10k: protect ath10k_htt_rx_ring_free with rx_ring.lock (Petr Oros) [1637528] - [wireless] ath10k: use locked skb_dequeue for rx completions (Petr Oros) [1637528] - [wireless] ath10k: sdio: set skb len for all rx packets (Petr Oros) [1637528] - [wireless] ath10k: sdio: use same endpoint id for all packets in a bundle (Petr Oros) [1637528] - [wireless] iwlwifi: cancel the injective function between hw pointers to tfd entry index (Petr Oros) [1637528] - [wireless] ath10k: disable bundle mgmt tx completion event support (Petr Oros) [1637528] - [wireless] ath10k: prevent active scans on potential unusable channels (Petr Oros) [1637528] - [wireless] ath9k_hw: fix channel maximum power level test (Petr Oros) [1637528] - [wireless] ath9k: report tx status on EOSP (Petr Oros) [1637528] - [wireless] iwlwifi: pcie: don't access periphery registers when not available (Petr Oros) [1637528] - [wireless] brcmfmac: fix brcmf_wiphy_wowl_params() NULL pointer dereference (Petr Oros) [1637528] - [netdrv] be2net: don't flip hw_features when VXLANs are added/deleted (Petr Oros) [1637133] - [netdrv] be2net: Fix memory leak in be_cmd_get_profile_config() (Petr Oros) [1637133] - [netdrv] be2net: Mark expected switch fall-through (Petr Oros) [1637133] - [netdrv] be2net: fix spelling mistake "seqence" -> "sequence" (Petr Oros) [1637133] - [netdrv] be2net: Update the driver version to 12.0.0.0 (Petr Oros) [1637133] - [netdrv] be2net: gather debug info and reset adapter (only for Lancer) on a tx-timeout (Petr Oros) [1637133] - [netdrv] be2net: move rss_flags field in rss_info to ensure proper alignment (Petr Oros) [1637133] - [netdrv] be2net: re-order fields in be_error_recovert to avoid hole (Petr Oros) [1637133] - [netdrv] be2net: remove unused tx_jiffies field from be_tx_stats (Petr Oros) [1637133] - [netdrv] be2net: move txcp field in be_tx_obj to eliminate holes in the struct (Petr Oros) [1637133] - [netdrv] be2net: reorder fields in be_eq_obj structure (Petr Oros) [1637133] - [netdrv] be2net: remove desc field from be_eq_obj (Petr Oros) [1637133] - [netdrv] be2net: remove unused old custom busy-poll fields (Petr Oros) [1637133] - [netdrv] be2net: remove unused old AIC info (Petr Oros) [1637133] - [x86] x86/spec_ctrl/compat: Call IBRS_ENTRY only after valid kernel stack (Waiman Long) [1636843] - [acpi] ACPI/PPTT: Handle architecturally unknown cache types (Jeremy Linton) [1636567] - [base] drivers: base: cacheinfo: Do not populate sysfs for unknown cache types (Jeremy Linton) [1636567] - [fs] getxattr: use correct xattr length (Lukas Czerner) [1637049] - [x86] Mark Intel Cascade Lake supported (Steve Best) [1636651] - [x86] x86/boot: Fix kexec booting failure in the SEV bit detection code (Kairui Song) [1632514] - [scsi] scsi: megaraid_sas: driver version upgrade (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Support FW provided TM timeout values (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Return immediately from wait_for_adapter_operational after kill adapter (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Update controller info during resume (Tomas Henzl) [1635565] - [scsi] scsi: megaraid_sas: Do not do Kill adapter if GET_CTRL_INFO times out (Tomas Henzl) [1635565] - [scsi] qla2xxx: Update driver version to 10.00.00.07.08.0-k (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Check for Register disconnect (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix driver hang when FC-NVMe LUNs are configured (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix re-using LoopID when handle is in use (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix duplicate switch database entries (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix NVMe session hang on unload (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix iIDMA error (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix stalled relogin (Himanshu Madhani) [1633373] - [scsi] scsi: qla2xxx: Fix unintended Logout (Himanshu Madhani) [1633373] - [powerpc] powerpc/pseries: Disable CPU hotplug across migrations (Steve Best) [1633587] - [block] blk-mq: I/O and timer unplugs are inverted in blktrace (Ming Lei) [1634330] - [block] block: fix deadline elevator drain for zoned block devices (Ming Lei) [1634333] - [block] blk-mq: Allow blocking queue tag iter callbacks (Ming Lei) [1634328] - [block] block: use nanosecond resolution for iostat (Ming Lei) [1634329] - [block] null_blk: fix zoned support for non-rq based operation (Ming Lei) [1634324] - [block] blk-cgroup: increase number of supported policies (Ming Lei) [1634335] - [block] block: bfq: swap puts in bfqg_and_blkg_put (Ming Lei) [1634334] - [block] block: don't warn when doing fsync on read-only devices (Ming Lei) [1634331] - [block] blkcg: use tryget logic when associating a blkg with a bio (Ming Lei) [1634332] - [block] blkcg: delay blkg destruction until after writeback has (Ming Lei) [1634332] - [block] Revert "blk-throttle: fix race between (Ming Lei) [1634332] - [block] blk-wbt: remove dead code (Ming Lei) [1634326] - [block] blk-wbt: improve waking of tasks (Ming Lei) [1634326] - [block] blk-wbt: abstract out end IO completion handler (Ming Lei) [1634326]- [dma] driver/dma/ioat: Call del_timer_sync() without holding prep_lock (Waiman Long) [1607654] - [netdrv] bnxt_en: Fix VF mac address regression (Jonathan Toppins) [1635846] - [netdrv] bnxt_en: Do not adjust max_cp_rings by the ones used by RDMA (Jonathan Toppins) [1635846] - [netdrv] bnxt_en: Clean up unused functions (Jonathan Toppins) [1635846] - [fs] fsnotify: fix ignore mask logic in fsnotify() (Lukas Czerner) [1635537] - [net] net/af_iucv: locate IUCV header via skb_network_header() (Philipp Rudo) [1635332] - [net] net/af_iucv: drop inbound packets with invalid flags (Philipp Rudo) [1635332] - [net] net/af_iucv: fix skb handling on HiperTransport xmit error (Philipp Rudo) [1635332] - [hid] HID: i2c-hid: Fix flooded incomplete report after S3 on Rayd touchscreen (David Arcari) [1635746] - [i2c] i2c: core: ACPI: Make acpi_gsb_i2c_read_bytes() check i2c_transfer return value (David Arcari) [1635746] - [i2c] i2c: designware: Re-init controllers with pm_disabled set on resume (David Arcari) [1635746] - [i2c] i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes (David Arcari) [1635746] - [fs] fs/quota: Fix spectre gadget in do_quotactl (Lukas Czerner) [1635521] - [fs] xfs: fix error handling in xfs_bmap_extents_to_btree (Brian Foster) [1633171] - [fs] xfs: remove invalid log recovery first/last cycle check (Brian Foster) [1633171] - [fs] xfs: validate inode di_forkoff (Brian Foster) [1633171] - [fs] xfs: skip delalloc COW blocks in xfs_reflink_end_cow (Brian Foster) [1633171] - [fs] xfs: don't treat unknown di_flags2 as corruption in scrub (Brian Foster) [1633171] - [fs] xfs: remove duplicated include from alloc.c (Brian Foster) [1633171] - [fs] xfs: don't bring in extents in xfs_bmap_punch_delalloc_range (Brian Foster) [1633171] - [fs] xfs: fix transaction leak in xfs_reflink_allocate_cow() (Brian Foster) [1633171] - [fs] xfs: avoid lockdep false positives in xfs_trans_alloc (Brian Foster) [1633171] - [fs] xfs: refactor xfs_buf_log_item reference count handling (Brian Foster) [1633171] - [fs] xfs: clean up xfs_trans_brelse() (Brian Foster) [1633171] - [fs] xfs: don't unlock invalidated buf on aborted tx commit (Brian Foster) [1633171] - [fs] xfs: remove last of unnecessary xfs_defer_cancel() callers (Brian Foster) [1633171] - [fs] xfs: don't crash the vfs on a garbage inline symlink (Brian Foster) [1633171] - [fs] iomap: set page dirty after partial delalloc on mkwrite (Brian Foster) [1633171] - [fs] xfs: sanity check ag header values in xrep_calc_ag_resblks (Brian Foster) [1633171] - [fs] xfs: recalculate summary counters at mount time if icount is bad (Brian Foster) [1633171] - [fs] xfs: fix a null pointer dereference in xfs_bmap_extents_to_btree (Brian Foster) [1633171] - [fs] xfs: remove b_last_holder & associated macros (Brian Foster) [1633171] - [fs] xfs: repair the AGI (Brian Foster) [1633171] - [fs] xfs: repair the AGFL (Brian Foster) [1633171] - [fs] xfs: repair the AGF (Brian Foster) [1633171] - [fs] xfs: remove dead error handling code in xfs_dquot_disk_alloc() (Brian Foster) [1633171] - [fs] xfs: use WRITE_ONCE to update if_seq (Brian Foster) [1633171] - [fs] xfs: fix a comment in xfs_log_reserve (Brian Foster) [1633171] - [fs] xfs: only validate summary counts on primary superblock (Brian Foster) [1633171] - [fs] xfs: substitute spaces with tabs (Brian Foster) [1633171] - [fs] xfs: fold dfops into the transaction (Brian Foster) [1633171] - [fs] xfs: always defer agfl block frees (Brian Foster) [1633171] - [fs] xfs: pass transaction to xfs_defer_add() (Brian Foster) [1633171] - [fs] xfs: replace xfs_defer_ops ->dop_pending with on-stack list (Brian Foster) [1633171] - [fs] xfs: cancel dfops on xfs_defer_finish() error (Brian Foster) [1633171] - [fs] xfs: clean out superfluous dfops dop params/vars (Brian Foster) [1633171] - [fs] xfs: drop dop param from xfs_defer_op_type ->finish_item() callback (Brian Foster) [1633171] - [fs] xfs: automatic dfops inode relogging (Brian Foster) [1633171] - [fs] xfs: automatic dfops buffer relogging (Brian Foster) [1633171] - [fs] xfs: add missing defer ijoins for held inodes (Brian Foster) [1633171] - [fs] xfs: replace dop_low with transaction flag (Brian Foster) [1633171] - [fs] xfs: pass transaction to dfops reset/move helpers (Brian Foster) [1633171] - [fs] xfs: remove unused __xfs_defer_cancel() internal helper (Brian Foster) [1633171] - [fs] xfs: use transaction for intent recovery instead of raw dfops (Brian Foster) [1633171] - [fs] xfs: refactor internal dfops initialization (Brian Foster) [1633171] - [fs] xfs: check da node magic in _node_lookup_int (Brian Foster) [1633171] - [fs] xfs: use a local variable for magic number in xfs_da3_node_lookup_int (Brian Foster) [1633171] - [fs] xfs: refactor log recovery check (Brian Foster) [1633171] - [fs] xfs: move extent busy tree initialization to xfs_initialize_perag (Brian Foster) [1633171] - [fs] xfs: avoid COW fork extent lookups in writeback if the fork didn't change (Brian Foster) [1633171] - [fs] xfs: maintain a sequence count for inode fork manipulations (Brian Foster) [1633171] - [fs] xfs: check for unknown v5 feature bits in superblock write verifier (Brian Foster) [1633171] - [fs] xfs: verify icount in superblock write (Brian Foster) [1633171] - [fs] libxfs: add more bounds checking to sb sanity checks (Brian Foster) [1633171] - [fs] xfs: refactor superblock verifiers (Brian Foster) [1633171] - [fs] xfs: refactor the xrep_extent_list into xfs_bitmap (Brian Foster) [1633171] - [fs] xfs: introduce a new xfs_inode_has_cow_data helper (Brian Foster) [1633171] - [fs] xfs: remove the xfs_ifork_t typedef (Brian Foster) [1633171] - [fs] xfs: simplify xfs_idata_realloc (Brian Foster) [1633171] - [fs] xfs: remove if_real_bytes (Brian Foster) [1633171] - [fs] xfs: move the repair extent list into its own file (Brian Foster) [1633171] - [fs] xfs: pass transaction lock while setting up agresv on cyclic metadata (Brian Foster) [1633171] - [fs] xfs: remove deprecated barrier/nobarrier mount (Brian Foster) [1633171] - [fs] xfs: clean up IRELE/iput callsites (Brian Foster) [1633171] - [fs] xfs: kill IHOLD (Brian Foster) [1633171] - [fs] xfs: bypass final dfops roll in trans commit path (Brian Foster) [1633171] - [fs] xfs: drop unnecessary xfs_defer_finish() dfops parameter (Brian Foster) [1633171] - [fs] xfs: remove unnecessary dfops init calls in xattr code (Brian Foster) [1633171] - [fs] xfs: remove all boilerplate defer init/finish code (Brian Foster) [1633171] - [fs] xfs: use internal dfops during (b|c)ui recovery (Brian Foster) [1633171] - [fs] xfs: use internal dfops in attr code (Brian Foster) [1633171] - [fs] xfs: use internal dfops in cow blocks cancel (Brian Foster) [1633171] - [fs] xfs: support embedded dfops in transaction (Brian Foster) [1633171] - [fs] xfs: pack holes in xfs_defer_ops and xfs_trans (Brian Foster) [1633171] - [fs] xfs: reset dfops to initial state after finish (Brian Foster) [1633171] - [fs] xfs: remove unused deferred ops committed field (Brian Foster) [1633171] - [fs] xfs: make deferred processing safe for embedded dfops (Brian Foster) [1633171] - [fs] xfs: fix transaction leak on remote attr set/remove failure (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in log recovery intent processing (Brian Foster) [1633171] - [fs] xfs: pull up dfops from xfs_itruncate_extents() (Brian Foster) [1633171] - [fs] xfs: force summary counter recalc at next mount (Brian Foster) [1633171] - [fs] xfs: refactor unmount record write (Brian Foster) [1633171] - [fs] xfs: detect and fix bad summary counts at mount (Brian Foster) [1633171] - [fs] xfs: fix indentation and other whitespace problems in scrub/repair (Brian Foster) [1633171] - [fs] xfs: shorten struct xfs_scrub_context to struct xfs_scrub (Brian Foster) [1633171] - [fs] xfs: shorten xfs_repair_ prefix to xrep_ (Brian Foster) [1633171] - [fs] xfs: shorten xfs_scrub_ prefix (Brian Foster) [1633171] - [fs] xfs: clean up xfs_btree_del_cursor callers (Brian Foster) [1633171] - [fs] xfs: trivial xfs_btree_del_cursor cleanups (Brian Foster) [1633171] - [fs] xfs: return from _defer_finish with a clean transaction (Brian Foster) [1633171] - [fs] xfs: check leaf attribute block freemap in verifier (Brian Foster) [1633171] - [fs] libxfs: Fix a couple of sparse complaintis (Brian Foster) [1633171] - [fs] xfs: use swap macro in xfs_dir2_leafn_rebalance (Brian Foster) [1633171] - [fs] xfs_bmap_util: use swap macro (Brian Foster) [1633171] - [fs] xfs_attr_leaf: use swap macro in xfs_attr3_leaf_rebalance (Brian Foster) [1633171] - [fs] xfs: don't assume a left rmap when allocating a new rmap (Brian Foster) [1633171] - [fs] xfs: kill __xfs_buf_submit_common() (Brian Foster) [1633171] - [fs] xfs: combine (a)sync buffer submission apis (Brian Foster) [1633171] - [fs] xfs: use sync buffer I/O for sync delwri queue submission (Brian Foster) [1633171] - [fs] xfs: refactor buffer submission into a common helper (Brian Foster) [1633171] - [fs] xfs: remove xfs_defer_init() firstblock param (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in inode inactivate (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in extent swap (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in reflink cow block cancel (Brian Foster) [1633171] - [fs] xfs: replace no-op firstblock init with ->t_firstblock (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in dq alloc (Brian Foster) [1633171] - [fs] xfs: remove xfs_alloc_arg firstblock field (Brian Foster) [1633171] - [fs] xfs: remove xfs_btree_cur private firstblock field (Brian Foster) [1633171] - [fs] xfs: remove bmap format helpers firstblock params (Brian Foster) [1633171] - [fs] xfs: remove bmap extent add helper firstblock params (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmalloca firstblock field (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in bmap extent split (Brian Foster) [1633171] - [fs] xfs: remove bmap insert/collapse firstblock param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bunmapi() firstblock param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_write() firstblock param (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in insert/collapse range (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in xfs_bmapi_remap() (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock for all xfs_bunmapi() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock for all xfs_bmapi_write() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in xattr ops (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in attrfork add (Brian Foster) [1633171] - [fs] xfs: remove firstblock param from xfs dir ops (Brian Foster) [1633171] - [fs] xfs: use ->t_firstblock in dir ops (Brian Foster) [1633171] - [fs] xfs: add firstblock field to xfs_trans (Brian Foster) [1633171] - [fs] xfs: allow null firstblock in xfs_bmapi_write() when tp is null (Brian Foster) [1633171] - [fs] xfs: refactor dfops init to attach to transaction (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in reflink cow recover path (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in cancel cow blocks operation (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for rmap extent swap operations (Brian Foster) [1633171] - [fs] xfs: remove unused btree cursor bc_private.a.dfops field (Brian Foster) [1633171] - [fs] xfs: remove xfs_btree_cur bmbt dfops field (Brian Foster) [1633171] - [fs] xfs: remove dfops param from internal bmap extent helpers (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for collapse/insert range operations (Brian Foster) [1633171] - [fs] xfs: remove struct xfs_bmalloca dfops field (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_remap() dfops param (Brian Foster) [1633171] - [fs] xfs: remove xfs_bunmapi() dfops param (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for all xfs_bunmapi() callers (Brian Foster) [1633171] - [fs] xfs: remove xfs_bmapi_write() dfops param (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for all xfs_bmapi_write() callers (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in dqalloc transaction (Brian Foster) [1633171] - [fs] xfs: replace xfs_da_args->dfops accesses with ->t_dfops and remove (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops in extent split tx and remove param (Brian Foster) [1633171] - [fs] xfs: remove dfops param in attr fork add path (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for attr set/remove operations (Brian Foster) [1633171] - [fs] xfs: use ->t_dfops for recovery of (b|c)ui log items (Brian Foster) [1633171] - [fs] xfs: remove dfops param from high level dirname calls (Brian Foster) [1633171] - [fs] xfs: remove dfops parameter from ifree call stack (Brian Foster) [1633171] - [fs] xfs: rename xfs_trans ->t_agfl_dfops to ->t_dfops (Brian Foster) [1633171] - [fs] xfs: cow unwritten conversion uses uninitialized dfops (Brian Foster) [1633171] - [fs] xfs: update my copyrights for the writeback and iomap code (Brian Foster) [1633171] - [fs] xfs: add support for sub-pagesize writeback without buffer_heads (Brian Foster) [1633171] - [fs] xfs: allow writeback on pages without buffer heads (Brian Foster) [1633171] - [fs] xfs: refactor the tail of xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: remove xfs_start_page_writeback (Brian Foster) [1633171] - [fs] xfs: move all writeback buffer_head manipulation into xfs_map_at_offset (Brian Foster) [1633171] - [fs] xfs: don't look at buffer heads in xfs_add_to_ioend (Brian Foster) [1633171] - [fs] xfs: remove the imap_valid flag (Brian Foster) [1633171] - [fs] xfs: simplify xfs_map_blocks by using xfs_iext_lookup_extent directly (Brian Foster) [1633171] - [fs] xfs: remove xfs_reflink_find_cow_mapping (Brian Foster) [1633171] - [fs] xfs: remove the now unused XFS_BMAPI_IGSTATE flag (Brian Foster) [1633171] - [fs] xfs: make xfs_writepage_map extent map centric (Brian Foster) [1633171] - [fs] xfs: rename the offset variable in xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: remove xfs_map_cow (Brian Foster) [1633171] - [fs] xfs: remove xfs_reflink_trim_irec_to_next_cow (Brian Foster) [1633171] - [fs] xfs: don't use XFS_BMAPI_IGSTATE in xfs_map_blocks (Brian Foster) [1633171] - [fs] xfs: don't clear imap_valid for a non-uptodate buffers (Brian Foster) [1633171] - [fs] xfs: do not set the page uptodate in xfs_writepage_map (Brian Foster) [1633171] - [fs] xfs: move locking into xfs_bmap_punch_delalloc_range (Brian Foster) [1633171] - [fs] xfs: simplify xfs_aops_discard_page (Brian Foster) [1633171] - [fs] xfs: use iomap for blocksize == PAGE_SIZE readpage and readpages (Brian Foster) [1633171] - [fs] iomap: fix WARN_ON_ONCE on uninitialized variable (Brian Foster) [1633171] - [fs] iomap: Switch to offset_in_page for clarity (Brian Foster) [1633171] - [fs] iomap: add support for sub-pagesize buffered I/O without buffer heads (Brian Foster) [1633171] - [fs] iomap: add inline data support to iomap_readpage_actor (Brian Foster) [1633171] - [fs] iomap: support direct I/O to inline data (Brian Foster) [1633171] - [fs] iomap: refactor iomap_dio_actor (Brian Foster) [1633171] - [fs] iomap: add initial support for writes without buffer heads (Brian Foster) [1633171] - [fs] iomap: add an iomap-based readpage and readpages implementation (Brian Foster) [1633171] - [fs] iomap: add private pointer to struct iomap (Brian Foster) [1633171] - [fs] iomap: add a page_done callback (Brian Foster) [1633171] - [fs] iomap: generic inline data handling (Brian Foster) [1633171] - [fs] iomap: complete partial direct I/O writes synchronously (Brian Foster) [1633171] - [fs] iomap: mark newly allocated buffer heads as new (Brian Foster) [1633171] - [fs] fs: factor out a __generic_write_end helper (Brian Foster) [1633171] - [netdrv] amd-xgbe: mark driver as tech preview (David Arcari) [1633209] - [fs] ext4, dax: set ext4_dax_aops for dax files (Lukas Czerner) [1633239] - [fs] ext4, dax: add ext4_bmap to ext4_dax_aops (Lukas Czerner) [1633239] - [fs] ext4: don't mark mmp buffer head dirty (Lukas Czerner) [1633239] - [fs] ext4: show test_dummy_encryption mount option in /proc/mounts (Lukas Czerner) [1633239] - [fs] ext4: fix online resizing for bigalloc file systems with a 1k block size (Lukas Czerner) [1633239] - [fs] ext4: fix online resize's handling of a too-small final block group (Lukas Czerner) [1633239] - [fs] ext4: recalucate superblock checksum after updating free blocks/inodes (Lukas Czerner) [1633239] - [fs] ext4: avoid arithemetic overflow that can trigger a BUG (Lukas Czerner) [1633239] - [fs] ext4: avoid divide by zero fault when deleting corrupted inline directories (Lukas Czerner) [1633239] - [fs] ext4: check to make sure the rename(2)'s destination is not freed (Lukas Czerner) [1633239] - [fs] ext4: remove unneeded variable "err" in ext4_mb_release_inode_pa() (Lukas Czerner) [1633239] - [fs] ext4: fix spectre gadget in ext4_mb_regular_allocator() (Lukas Czerner) [1633239] - [fs] ext4: check for NUL characters in extended attribute's name (Lukas Czerner) [1633239] - [fs] ext4: use ext4_warning() for sb_getblk failure (Lukas Czerner) [1633239] - [fs] ext4: fix race when setting the bitmap corrupted flag (Lukas Czerner) [1633239] - [fs] ext4: reset error code in ext4_find_entry in fallback (Lukas Czerner) [1633239] - [fs] ext4: check allocation failure when duplicating "data" in ext4_remount() (Lukas Czerner) [1633239] - [fs] ext4: sysfs: print ext4_super_block fields as little-endian (Lukas Czerner) [1633239] - [firmware] efi/x86: Handle page faults occurring while running EFI runtime services (Bhupesh Sharma) [1627557] - [firmware] efi: Make efi_rts_work accessible to efi page fault handler (Bhupesh Sharma) [1627557] - [firmware] efi: Remove the declaration of efi_late_init() as the function is unused (Bhupesh Sharma) [1627557] - [firmware] efi: Use a work queue to invoke EFI Runtime Services (Bhupesh Sharma) [1627557] - [firmware] efi/x86: Use non-blocking SetVariable() for efi_delete_dummy_variable() (Bhupesh Sharma) [1627557] - [fs] gfs2: Special-case rindex for gfs2_grow (Robert S Peterson) [1628360] - [fs] GFS2: Fix recovery issues for spectators (Robert S Peterson) [1628298]- [powerpc] powerpc/pkeys: Fix reading of ibm, processor-storage-keys property (Steve Best) [1633551] - [powerpc] powerpc/pseries: Remove unneeded uses of dlpar work queue (Steve Best) [1633544] - [powerpc] powerpc/pseries: Remove prrn_work workqueue (Steve Best) [1633544] - [pci] ACPI / hotplug / PCI: Don't scan for non-hotplug bridges if slot is not bridge (Myron Stowe) [1634816] - [pci] PCI: Fix enabling of PASID on RC integrated endpoints (Myron Stowe) [1634816] - [pci] IB/hfi1,PCI: Allow bus reset while probing (Myron Stowe) [1634816] - [pci] PCI: Fix faulty logic in pci_reset_bus() (Myron Stowe) [1634816] - [pci] PCI: pciehp: Fix hot-add vs powerfault detection order (Myron Stowe) [1634816] - [pci] Revert "PCI: Add ACS quirk for Intel 300 series" (Myron Stowe) [1634816] - [powerpc] powerpc/numa: Use associativity if VPHN hcall is successful (Steve Best) [1633569] - [pci] PCI: vmd: White list for fast interrupt handlers (Myron Stowe) [1632816] - [pci] PCI: Add function 1 DMA alias quirk for Marvell 88SS9183 (Myron Stowe) [1632816] - [pci] PCI: Rename pci_try_reset_bus() to pci_reset_bus() (Myron Stowe) [1632816] - [pci] PCI: Deprecate pci_reset_bus() and pci_reset_slot() functions (Myron Stowe) [1632816] - [pci] PCI: Unify try slot and bus reset API (Myron Stowe) [1632816] - [pci] PCI: Hide pci_reset_bridge_secondary_bus() from drivers (Myron Stowe) [1632816] - [pci] IB/hfi1: Use pci_try_reset_bus() for initiating PCI Secondary Bus Reset (Myron Stowe) [1632816] - [pci] PCI: Handle error return from pci_reset_bridge_secondary_bus() (Myron Stowe) [1632816] - [pci] PCI/IOV: Tidy pci_sriov_set_totalvfs() (Myron Stowe) [1632816] - [pci] PCI: Enable PASID only if entire path supports End-End TLP prefixes (Myron Stowe) [1632816] - [pci] PCI: Expand documentation for pci_add_dma_alias() (Myron Stowe) [1632816] - [pci] PCI: Add DMA alias quirk for Microsemi Switchtec NTB (Myron Stowe) [1632816] - [pci] switchtec: Use generic PCI Vendor ID and Class Code (Myron Stowe) [1632816] - [pci] PCI: Make pci_get_rom_size() static (Myron Stowe) [1632816] - [pci] PCI: Add check code for last image indicator not set (Myron Stowe) [1632816] - [pci] PCI: Avoid accessing memory outside the ROM BAR (Myron Stowe) [1632816] - [pci] PCI: Make early dump functionality generic (Myron Stowe) [1632816] - [pci] PCI: Cleanup PCI_REBAR_CTRL_BAR_SHIFT handling (Myron Stowe) [1632816] - [pci] PCI: Restore resized BAR state on resume (Myron Stowe) [1632816] - [pci] PCI: Clean up resource allocation in devm_of_pci_get_host_bridge_resources() (Myron Stowe) [1632816] - [pci] PCI: Add ACS Redirect disable quirk for Intel Sunrise Point (Myron Stowe) [1632816] - [pci] PCI: Add device-specific ACS Redirect disable infrastructure (Myron Stowe) [1632816] - [pci] PCI: Convert device-specific ACS quirks from NULL termination to ARRAY_SIZE (Myron Stowe) [1632816] - [pci] PCI: Add "pci=disable_acs_redir=" parameter for peer-to-peer support (Myron Stowe) [1632816] - [pci] PCI: Allow specifying devices using a base bus and path of devfns (Myron Stowe) [1632816] - [pci] PCI: Make specifying PCI devices in kernel parameters reusable (Myron Stowe) [1632816] - [pci] PCI: Hide ACS quirk declarations inside PCI core (Myron Stowe) [1632816] - [pci] PCI: Document ACPI description of PCI host bridges (Myron Stowe) [1632816] - [pci] PCI/MSI: Set IRQCHIP_ONESHOT_SAFE for PCI-MSI irqchips (Myron Stowe) [1632816] - [pci] PCI: Limit config space size for Netronome NFP5000 (Myron Stowe) [1632816] - [pci] PCI: Add PCI_DEVICE_DATA() macro to fully describe device ID entry (Myron Stowe) [1632816] - [pci] PCI: Unify PCI and normal DMA direction definitions (Myron Stowe) [1632816] - [pci] PCI: Use IRQF_ONESHOT if pci_request_irq() called with no handler (Myron Stowe) [1632816] - [pci] PCI: Call dma_debug_add_bus() for pci_bus_type from PCI core (Myron Stowe) [1632816] - [pci] PCI: Mark fall-through switch cases before enabling -Wimplicit-fallthrough (Myron Stowe) [1632816]- [s390] s390/sclp: Allow to request adapter reset (Philipp Rudo) [1635273] - [char] ipmi: Fix NULL pointer dereference in ssif_probe (Tony Camuso) [1635366] - [char] ipmi: Fix I2C client removal in the SSIF driver (Tony Camuso) [1635366] - [char] ipmi: kcs_bmc: don't change device name (Tony Camuso) [1635366] - [kernel] timers: Clear timer_base::must_forward_clk with timer_base::lock held (Waiman Long) [1632820] - [pci] switchtec: Fix Spectre v1 vulnerability (Waiman Long) [1632820] - [kernel] cpu/hotplug: Prevent state corruption on error rollback (Waiman Long) [1632820] - [kernel] cpu/hotplug: Adjust misplaced smb() in cpuhp_thread_fun() (Waiman Long) [1632820] - [base] memory_hotplug: fix kernel_panic on offline page processing (Waiman Long) [1632820] - [mm] mm/hugetlb: filter out hugetlb pages if HUGEPAGE migration is not supported (Waiman Long) [1632820] - [lib] debugobjects: Make stack check warning more informative (Waiman Long) [1632820] - [fs] fs/dcache.c: fix kmemcheck splat at take_dentry_name_snapshot() (Waiman Long) [1632820] - [x86] x86/process: Don't mix user/kernel regs in 64bit __show_regs() (Waiman Long) [1632820] - [x86] x86/dumpstack: Don't dump kernel memory based on usermode RIP (Waiman Long) [1632820] - [x86] x86: Avoid pr_cont() in show_opcodes() (Waiman Long) [1632820] - [x86] x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (Waiman Long) [1632820] - [x86] x86/spectre: Add missing family 6 check to microcode check (Waiman Long) [1632820] - [x86] x86/nmi: Fix NMI uaccess race against CR3 switching (Waiman Long) [1632820] - [x86] x86/vdso: Fix lsl operand order (Waiman Long) [1632820] - [x86] x86/vdso: Fix vDSO build if a retpoline is emitted (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Suggest what to do on systems with too much RAM (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit (Waiman Long) [1632820] - [x86] x86/speculation/l1tf: Exempt zeroed PTEs from inversion (Waiman Long) [1632820] - [x86] x86/mm/pti: Clear Global bit more aggressively (Waiman Long) [1632820] - [x86] x86/paravirt: Fix spectre-v2 mitigations for paravirt guests (Waiman Long) [1632820] - [target] scsi: target: iscsi: Use bin2hex instead of a re-implementation (Maurizio Lombardi) [1632184] {CVE-2018-14633} - [target] scsi: target: iscsi: Use hex2bin instead of a re-implementation (Maurizio Lombardi) [1632184] {CVE-2018-14633}- [netdrv] ibmvnic: Include missing return code checks in reset function (Steve Best) [1633553] - [netdrv] ibmvnic: Update firmware error reporting with cause string (Steve Best) [1633553] - [netdrv] ibmvnic: Remove code to request error information (Steve Best) [1633553] - [s390] s390/qeth: remove duplicated carrier state tracking (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up drop conditions for received cmds (Hendrik Brueckner) [1633841] - [s390] s390/qeth: re-indent qeth_check_ipa_data() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: consume local address events (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove various redundant code (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove CARD_FROM_CDEV helper (Hendrik Brueckner) [1633841] - [s390] s390/qeth: pass card pointer in iob callback (Hendrik Brueckner) [1633841] - [s390] s390/qeth: re-use qeth_notify_skbs() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove additional skb refcount (Hendrik Brueckner) [1633841] - [s390] s390/qeth: replace open-coded skb_queue_walk() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: on gdev release, reset drvdata (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix discipline unload after setup error (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use DEFINE_MUTEX for qeth_mod_mutex (Hendrik Brueckner) [1633841] - [s390] s390/qeth: convert layer attribute to enum (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reduce 0-initializing when building IPA cmds (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fine-tune spinlocks (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix typo in return value (Hendrik Brueckner) [1633841] - [s390] s390/qeth: invoke softirqs after napi_schedule() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: uninstall IRQ handler on device removal (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove qeth_hdr_chk_and_bounce() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed up TSO transmission (Hendrik Brueckner) [1633841] - [s390] s390/qeth: prepare for copy-free TSO transmission (Hendrik Brueckner) [1633841] - [s390] s390/qeth: check size of required HW header cache object (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix up protocol headers early (Hendrik Brueckner) [1633841] - [s390] s390/qeth: limit csum offload erratum to L3 devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove qeth_get_elements_no() (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove unused L3 xmit code (Hendrik Brueckner) [1633841] - [s390] s390/qeth: run non-offload L3 traffic over common xmit path (Hendrik Brueckner) [1633841] - [s390] s390/qeth: move L2 xmit code to core module (Hendrik Brueckner) [1633841] - [s390] s390/qdio: reset old sbal_state flags (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't dump past end of unknown HW header (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use vzalloc for QUERY OAT buffer (Hendrik Brueckner) [1633841] - [s390] s390/qeth: switch on SG by default for IQD devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: indicate error when netdev allocation fails (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use true and false for boolean values (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't restrict qeth_card to DMA memory (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up card initialization (Hendrik Brueckner) [1633841] - [s390] s390/qeth: do basic setup for data channel (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use qeth_setup_ccw() to set up all CCWs (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reduce hard-coded access to ccw channels (Hendrik Brueckner) [1633841] - [s390] s390/qeth: extract helper for MPC protocol type (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed up L2 IQD xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add support for constrained HW headers (Hendrik Brueckner) [1633841] - [s390] s390/qeth: merge linearize-check into HW header construction (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add statistics for consumed buffer elements (Hendrik Brueckner) [1633841] - [s390] s390/qeth: use core MTU range checking (Hendrik Brueckner) [1633841] - [s390] s390/qeth: simplify max MTU handling (Hendrik Brueckner) [1633841] - [s390] s390/qeth: don't cache HW port number (Hendrik Brueckner) [1633841] - [s390] s390/qeth: allocate netdevice early (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove redundant netif_carrier_ok() checks (Hendrik Brueckner) [1633841] - [s390] s390/qeth: reset layer2 attribute on layer switch (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fix race in used-buffer accounting (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed-up IPv4 OSA xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: speed-up L3 IQD xmit (Hendrik Brueckner) [1633841] - [s390] s390/qeth: add a L3 xmit wrapper (Hendrik Brueckner) [1633841] - [s390] s390/qeth: increase GSO max size for eligible L3 devices (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up exported symbols (Hendrik Brueckner) [1633841] - [s390] s390/qeth: consolidate ccwgroup driver definition (Hendrik Brueckner) [1633841] - [s390] s390/qeth: clean up Output Queue selection (Hendrik Brueckner) [1633841] - [s390] s390/qeth: fine-tune RX modesetting (Hendrik Brueckner) [1633841] - [s390] s390/qeth: remove unused buffer->aob pointer (Hendrik Brueckner) [1633841] - [s390] s390/qeth: various buffer management cleanups (Hendrik Brueckner) [1633841] - [powerpc] powerpc: Avoid code patching freed init sections (Steve Best) [1633545] - [powerpc] powerpc/tm: Fix userspace r13 corruption (Steve Best) [1633543] - [powerpc] powerpc/tm: Avoid possible userspace r1 corruption on reclaim (Steve Best) [1633543] - [drm] drm/i915/cfl: Add a new CFL PCI ID (Rob Clark) [1626883] - [drm] drm/i915/aml: Introducing Amber Lake platform (Rob Clark) [1626883] - [drm] drm/i915/whl: Introducing Whiskey Lake platform (Rob Clark) [1626883] - [char] ipmi: Move BT capabilities detection to the detect call (Frank Ramsay) [1618774] - [char] ipmi: Rework SMI registration failure (Frank Ramsay) [1618774]- [s390] s390: detect etoken facility (Thomas Huth) [1634069] - [s390] s390/lib: use expoline for all bcr instructions (Thomas Huth) [1634069] - [documentation] vm.txt: Adding 'nr_hugepages_mempolicy' parameter description (Prashant Dhamdhere) [1626547]- [scsi] scsi: ipr: System hung while dlpar adding primary ipr adapter back (Steve Best) [1633217] - [target] scsi: iscsi: target: Don't use stack buffer for scatterlist (Maurizio Lombardi) [1631342] - [rpmspec] Forward port weak-modules support from RHEL 7 to RHEL 8 ("Herton R. Krzesinski") [1596884] - [fs] xfs: Close race between direct IO and xfs_break_layouts() (Eric Sandeen) [1622191] - [fs] xfs: remove unused iolock arg from xfs_break_dax_layouts (Eric Sandeen) [1622191] - [fs] ext4: Close race between direct IO and ext4_break_layouts() (Eric Sandeen) [1616303] - [fs] ext4: handle layout changes to pinned DAX mappings (Eric Sandeen) [1614154] - [fs] dax: dax_layout_busy_page() warn on !exceptional (Eric Sandeen) [1614154] - [fs] dax: mark tech preview (Eric Sandeen) [1627455] - [mm] usercopy: Allow boot cmdline disabling of hardening (Christoph von Recklinghausen) [1589928]- [s390] s390/crypto: Fix return code checking in cbc_paes_crypt() (Philipp Rudo) [1633266] - [drm] amd/display/dc/basics/logger.c: fix build error with CONFIG_FORTIFY_SOURCE=y ("Herton R. Krzesinski") [1548068] - [acpi] ACPICA: AML Parser: skip opcodes that open a scope upon parse failure (Jeremy Linton) [1609885] - [acpi] ACPICA: ACPICA: add status check for acpi_hw_read before assigning return value (Jeremy Linton) [1609885] - [acpi] ACPICA: AML Parser: ignore all exceptions resulting from incorrect AML during table load (Jeremy Linton) [1609885] - [rpmspec] spec: Add missing BuildRequires for bpftool (Jiri Olsa) [1632756] - [powerpc] KVM: PPC: Avoid marking DMA-mapped pages dirty in real mode (David Gibson) [1628412] - [powerpc] powerpc/powernv/ioda: Allocate indirect TCE levels on demand (David Gibson) [1628412] - [powerpc] powerpc/powernv: Rework TCE level allocation (David Gibson) [1628412] - [powerpc] powerpc/powernv: Add indirect levels to it_userspace (David Gibson) [1628412] - [powerpc] KVM: PPC: Make iommu_table::it_userspace big endian (David Gibson) [1628412] - [powerpc] powerpc/powernv: Move TCE manupulation code to its own file (David Gibson) [1628412] - [net] net_sched: fix NULL pointer dereference when delete tcindex filter (Andrea Claudi) [1627648] - [net] net_sched: Fix missing res info when create new tc_index filter (Andrea Claudi) [1627648] - [samples] samples/bpf: xdpsock: order memory on AArch64 (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_redirect_cpu load balance like Suricata (Jesper Brouer) [1615959] - [samples] samples/bpf: add Paul Hsieh's (LGPL 2.1) hash function SuperFastHash (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_redirect_cpu handle parsing of double VLAN tagged packets (Jesper Brouer) [1615959] - [samples] samples/bpf: all XDP samples should unload xdp/bpf prog on SIGTERM (Jesper Brouer) [1615959] - [samples] samples/bpf: xdp_rxq_info action XDP_TX must adjust MAC-addrs (Jesper Brouer) [1615959] - [samples] samples/bpf: extend xdp_rxq_info to read packet payload (Jesper Brouer) [1615959] - [powerpc] KVM: PPC: Book3S HV: Use correct pagesize in kvm_unmap_radix() (David Gibson) [1625498] - [net] igmp: fix incorrect unsolicit report count after link down and up (Hangbin Liu) [1625538] - [net] igmp: fix incorrect unsolicit report count when join group (Hangbin Liu) [1625538] - [netdrv] cxgb4: update 1.20.8.0 as the latest firmware supported (Arjun Vynipadath) [1622555] - [virt] svm: nested virt support off by default (Bandan Das) [1571993]- [powerpc] KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size (David Gibson) [1625860] - [virt] arm64: KVM: Remove pgd_lock (Wei Huang) [1627474] - [virt] KVM: Remove obsolete kvm_unmap_hva notifier backend (Wei Huang) [1627474] - [virt] arm64: KVM: Only force FPEXC32_EL2.EN if trapping FPSIMD (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Clean dcache to PoC when changing PTE due to CoW (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Skip updating PTE entry if no change (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Skip updating PMD entry if no change (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Move DEBUG_SPINLOCK_BUG_ON to vgic.h (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Do not use spin_lock_irqsave/restore with irq disabled (Wei Huang) [1627474] - [virt] KVM: arm: vgic-v3: Add support for ICC_SGI0R and ICC_ASGI1R accesses (Wei Huang) [1627474] - [virt] KVM: arm64: vgic-v3: Add support for ICC_SGI0R_EL1 and ICC_ASGI1R_EL1 accesses (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic-v3: Add core support for Group0 SGIs (Wei Huang) [1627474] - [virt] KVM: arm64: Remove non-existent AArch32 ICC_SGI1R encoding (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix potential loss of ptimer interrupts (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Fix possible spectre-v1 write in vgic_mmio_write_apr() (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Update documentation of the GIC devices wrt IIDR (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Let userspace opt-in to writable v2 IGROUPR (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Allow configuration of interrupt groups (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Return error on incompatible uaccess GICD_IIDR writes (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Permit uaccess writes to return errors (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Signal IRQs using their configured group (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Add group field to struct irq (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: GICv2 IGROUPR should read as zero (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Keep track of implementation revision (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic: Define GICD_IIDR fields for GICv2 and GIv3 (Wei Huang) [1627474] - [virt] arm64: KVM: Cleanup tpidr_el2 init on non-VHE (Wei Huang) [1627474] - [virt] KVM: arm/arm64: vgic-debug: Show LPI status (Wei Huang) [1627474] - [virt] KVM: arm64: vgic-its: Remove VLA usage (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Fix vgic init race (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Enable adaptative WFE trapping (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Remove unnecessary CMOs when creating HYP page tables (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Stop using the kernel's (pmd, pud, pgd)_populate helpers (Wei Huang) [1627474] - [virt] KVM: arm/arm64: Consolidate page-table accessors (Wei Huang) [1627474] - [virt] arm64: KVM: Avoid marking pages as XN in Stage-2 if CTR_EL0.DIC is set (Wei Huang) [1627474] - [tools] radix tree test suite: Enable ubsan (Waiman Long) [1630244] - [tools] radix tree test suite: Fix compilation (Waiman Long) [1630244] - [block] blk-wbt: don't maintain inflight counts if disabled (Ming Lei) [1622790] - [block] blk-wbt: fix has-sleeper queueing check (Ming Lei) [1622790] - [block] blk-wbt: use wq_has_sleeper() for wq active check (Ming Lei) [1622790] - [block] blk-wbt: move disable check into get_limit() (Ming Lei) [1622790] - [block] block/DAC960.c: make some arrays static const, shrinks object (Ming Lei) [1622790] - [block] blk-mq: sync the update nr_hw_queues with (Ming Lei) [1617959] - [block] blk-mq: init hctx sched after update ctx and hctx mapping (Ming Lei) [1617959] - [block] block: remove duplicate initialization (Ming Lei) [1622790] - [block] tracing/blktrace: Fix to allow setting same value (Ming Lei) [1622790] - [block] pktcdvd: fix setting of 'ret' error return for a few cases (Ming Lei) [1622790] - [block] block: change return type to bool (Ming Lei) [1622790] - [block] block, bfq: return nbytes and not zero from struct cftype (Ming Lei) [1622790] - [block] block, bfq: improve code of bfq_bfqq_charge_time (Ming Lei) [1622790] - [block] block, bfq: reduce write overcharge (Ming Lei) [1622790] - [block] block, bfq: always update the budget of an entity when needed (Ming Lei) [1622790] - [block] block, bfq: readd missing reset of parent-entity service (Ming Lei) [1622790] - [block] block: don't warn for flush on read-only device (Ming Lei) [1622809]- [kernel] locking/rwsem: Make owner store task pointer of last owning reader (Waiman Long) [1631842] - [kernel] locking/rwsem: Exit read lock slowpath if queue empty & no writer (Waiman Long) [1631842] - [x86] x86/microcode: Update the new microcode revision unconditionally (Prarit Bhargava) [1630931] - [x86] x86/microcode: Make sure boot_cpu_data.microcode is up-to-date (Prarit Bhargava) [1630931] - [arm64] arm64: tlb: Provide forward declaration of tlb_flush() before including tlb.h (Waiman Long) [1630521] - [x86] x86/mm: Only use tlb_remove_table() for paravirt (Waiman Long) [1630521] - [mm] mm: mmu_notifier fix for tlb_end_vma (Waiman Long) [1630521] - [mm] mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE (Waiman Long) [1630521] - [mm] mm/tlb: Remove tlb_remove_table() non-concurrent condition (Waiman Long) [1630521] - [mm] mm: move tlb_table_flush to tlb_flush_mmu_free (Waiman Long) [1630521] - [kernel] clocksource: Revert Remove kthread (Waiman Long) [1628402] - [cpuidle] cpuidle: menu: Retain tick when shallow state is selected (Waiman Long) [1628402] - [cpufreq] cpufreq: governor: Avoid accessing invalid governor_data (Waiman Long) [1628402] - [cpuidle] cpuidle: menu: Handle stopped tick more aggressively (Waiman Long) [1628402] - [kernel] sched: idle: Avoid retaining the tick when it has been stopped (Waiman Long) [1628402] - [net] netfilter: xt_hashlimit: do not crash when reading proc file (Florian Westphal) [1630131] - [x86] x86/boot/KASLR: Skip specified number of 1GB huge pages when doing physical randomization (KASLR) (Baoquan He) [1564824] - [x86] x86/boot/KASLR: Add two new functions for 1GB huge pages handling (Baoquan He) [1564824] - [mfd] mfd: intel-lpss: Add Ice Lake PCI IDs (Gopal Tiwari) [1483477] - [mmc] mmc: sdhci-pci: Add support for Intel ICP (Gopal Tiwari) [1483496]- [mm] mm: get rid of vmacache_flush_all() entirely (Waiman Long) [1631297] {CVE-2018-17182} - [mm] mm, vmacache: hash addresses based on pmd (Waiman Long) [1631297] {CVE-2018-17182} - [mm] mm: Allocate the mm_cpumask (mm->cpu_bitmap) dynamically based on nr_cpu_ids (Waiman Long) [1631297] {CVE-2018-17182} - [infiniband] IB/hfi1: Invalid NUMA node information can cause a divide by zero (Alex Estrin) [1622222] - [nvdimm] libnvdimm: Export max available extent (Jeff Moyer) [1627874] - [nvdimm] libnvdimm: Use max contiguous area for namespace size (Jeff Moyer) [1627874] - [netdrv] ice: Fix and update driver version string (Jonathan Toppins) [1611786] - [netdrv] ice: Introduce SERVICE_DIS flag and service routine functions (Jonathan Toppins) [1611786] - [netdrv] ice: Enable VSI Rx/Tx pruning only when VLAN 0 is active (Jonathan Toppins) [1611786] - [netdrv] ice: Enable firmware logging during device initialization (Jonathan Toppins) [1611786] - [netdrv] ice: Implement ice_bridge_getlink and ice_bridge_setlink (Jonathan Toppins) [1611786] - [netdrv] ice: Add support for Tx hang, Tx timeout and malicious driver detection (Jonathan Toppins) [1611786] - [netdrv] ice: Clean up register file (Jonathan Toppins) [1611786] - [netdrv] ice: Implement handlers for ethtool PHY/link operations (Jonathan Toppins) [1611786] - [netdrv] ice: Refactor VSI allocation, deletion and rebuild flow (Jonathan Toppins) [1611786] - [netdrv] ice: Refactor switch rule management structures and functions (Jonathan Toppins) [1611786] - [netdrv] ice: Code optimization for ice_fill_sw_rule() (Jonathan Toppins) [1611786] - [netdrv] ice: Prevent control queue operations during reset (Jonathan Toppins) [1611786] - [netdrv] ice: Update request resource command to latest specification (Jonathan Toppins) [1611786] - [netdrv] ice: Updates to Tx scheduler code (Jonathan Toppins) [1611786] - [netdrv] ice: Rework flex descriptor programming (Jonathan Toppins) [1611786] - [netdrv] net/mlx5: Fix SQ offset in QPs with small RQ (Alaa Hleihel) [1623367] - [x86] x86/spec_ctrl: Make IBRS code work with SSBD mitigation (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Auto-enable IBRS on Skylake (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Extend spectre_v2 boot option to support IBRS (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Boot time IBRS initialization (Waiman Long) [1565180] - [x86] x86/spec_ctrl: Add IBRS code to the 64-bit assembly entry code (Waiman Long) [1565180] - [x86] x86/cpufeatures: Increase NCAPINTS for future extension (Waiman Long) [1565180] - [netdrv] ice: Trivial formatting fixes (Jonathan Toppins) [1611783] - [netdrv] ice: Change struct members from bool to u8 (Jonathan Toppins) [1611783] - [netdrv] ice: Fix potential return of uninitialized value (Jonathan Toppins) [1611783] - [netdrv] ice: Fix a few null pointer dereference issues (Jonathan Toppins) [1611783] - [netdrv] ice: Update to interrupts enabled in OICR (Jonathan Toppins) [1611783] - [netdrv] ice: Set VLAN flags correctly (Jonathan Toppins) [1611783] - [netdrv] ice: Use order_base_2 to calculate higher power of 2 (Jonathan Toppins) [1611783] - [netdrv] ice: Fix bugs in control queue processing (Jonathan Toppins) [1611783] - [netdrv] ice: Clean control queues only when they are initialized (Jonathan Toppins) [1611783] - [netdrv] ice: Report stats for allocated queues via ethtool stats (Jonathan Toppins) [1611783] - [netdrv] ice: Cleanup magic number (Jonathan Toppins) [1611783] - [netdrv] ice: Remove unnecessary node owner check (Jonathan Toppins) [1611783] - [netdrv] ice: Fix multiple static analyser warnings (Jonathan Toppins) [1611783] - [virt] KVM: VMX: fixes for vmentry_l1d_flush module parameter (Waiman Long) [1616248] {CVE-2018-15572} - [virt] KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled (Waiman Long) [1616248] {CVE-2018-15572} - [virt] x86/kvm/vmx: Fix coding style in vmx_setup_l1d_flush() (Waiman Long) [1616248] {CVE-2018-15572} - [x86] x86/speculation: Support Enhanced IBRS on future CPUs (Waiman Long) [1614144] - [x86] x86/speculation: Protect against userspace-userspace spectreRSB (Waiman Long) [1616248] {CVE-2018-15572} - [x86] x86/speculation: Remove SPECTRE_V2_IBRS in enum spectre_v2_mitigation (Waiman Long) [1616248] {CVE-2018-15572} - [cpufreq] cpufreq: Fix a circular lock dependency problem (Waiman Long) [1599154] - [kernel] cpu/hotplug: Add a cpus_read_trylock() function (Waiman Long) [1599154] - [virt] xen/spinlock: Don't use pvqspinlock if only 1 vCPU (Waiman Long) [1618486]- [mailbox] mailbox: PCC: handle parse error (David Arcari) [1630382] - [hv] vmbus: don't return values for uninitalized channels (Vitaly Kuznetsov) [1617954] - [mm] kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN (Bill O'Donnell) [1629578] - [mm] mm: fix BUG_ON() in vmf_insert_pfn_pud() from VM_MIXEDMAP removal (Jeff Moyer) [1622171] - [mm] dax: remove VM_MIXEDMAP for fsdax and device dax (Jeff Moyer) [1622171]- [i2c] i2c: i801: fix DNV's SMBCTRL register offset (David Arcari) [1628861] - [fs] ceph: avoid a use-after-free in ceph_destroy_options() (Ilya Dryomov) [1629884] - [fs] ceph: fix incorrect use of strncpy (Ilya Dryomov) [1629884] - [block] rbd: support cloning across namespaces (Ilya Dryomov) [1629884] - [block] rbd: factor out get_parent_info() (Ilya Dryomov) [1629884] - [block] rbd: support for images within namespaces (Ilya Dryomov) [1629884] - [block] rbd: pass rbd_spec into parse_rbd_opts_token() (Ilya Dryomov) [1629884] - [net] libceph: weaken sizeof check in ceph_x_verify_authorizer_reply() (Ilya Dryomov) [1629884] - [net] libceph: check authorizer reply/challenge length before reading (Ilya Dryomov) [1629884] - [net] libceph: implement CEPHX_V2 calculation mode (Ilya Dryomov) [1629884] - [net] libceph: add authorizer challenge (Ilya Dryomov) [1629884] - [net] libceph: factor out encrypt_authorizer() (Ilya Dryomov) [1629884] - [net] libceph: factor out __ceph_x_decrypt() (Ilya Dryomov) [1629884] - [net] libceph: factor out __prepare_write_connect() (Ilya Dryomov) [1629884] - [net] libceph: store ceph_auth_handshake pointer in ceph_connection (Ilya Dryomov) [1629884] - [pci] PCI: pciehp: Deduplicate presence check on probe & resume (Myron Stowe) [1583983] - [pci] PCI: pciehp: Avoid implicit fallthroughs in switch statements (Myron Stowe) [1583983] - [pci] PCI: Whitelist Thunderbolt ports for runtime D3 (Myron Stowe) [1583983] - [pci] PCI: Whitelist native hotplug ports for runtime D3 (Myron Stowe) [1583983] - [pci] PCI: sysfs: Resume to D0 on function reset (Myron Stowe) [1583983] - [pci] PCI: pciehp: Resume parent to D0 on config space access (Myron Stowe) [1583983] - [pci] PCI: pciehp: Resume to D0 on enable/disable (Myron Stowe) [1583983] - [pci] PCI: pciehp: Support interrupts sent from D3hot (Myron Stowe) [1583983] - [pci] PCI: pciehp: Obey compulsory command delay after resume (Myron Stowe) [1583983] - [pci] PCI: pciehp: Clear spurious events earlier on resume (Myron Stowe) [1583983] - [pci] PCI: portdrv: Deduplicate PM callback iterator (Myron Stowe) [1583983] - [pci] PCI: pciehp: Avoid slot access during reset (Myron Stowe) [1583983] - [pci] PCI: pciehp: Always enable occupied slot on probe (Myron Stowe) [1583983] - [pci] PCI: pciehp: Become resilient to missed events (Myron Stowe) [1583983] - [pci] PCI: pciehp: Tolerate initially unstable link (Myron Stowe) [1583983] - [pci] PCI: pciehp: Declare pciehp_enable/disable_slot() static (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop enable/disable lock (Myron Stowe) [1583983] - [pci] PCI: pciehp: Enable/disable exclusively from IRQ thread (Myron Stowe) [1583983] - [pci] PCI: pciehp: Track enable/disable status (Myron Stowe) [1583983] - [pci] PCI: pciehp: Publish to user space last on probe (Myron Stowe) [1583983] - [pci] PCI: hotplug: Demidlayer registration with the core (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop slot workqueue (Myron Stowe) [1583983] - [pci] PCI: pciehp: Handle events synchronously (Myron Stowe) [1583983] - [pci] PCI: pciehp: Stop blinking on slot enable failure (Myron Stowe) [1583983] - [pci] PCI: pciehp: Convert to threaded polling (Myron Stowe) [1583983] - [pci] PCI: pciehp: Convert to threaded IRQ (Myron Stowe) [1583983] - [pci] PCI: pciehp: Document struct slot and struct controller (Myron Stowe) [1583983] - [pci] PCI: pciehp: Declare pciehp_unconfigure_device() void (Myron Stowe) [1583983] - [pci] PCI: pciehp: Drop unnecessary NULL pointer check (Myron Stowe) [1583983] - [pci] PCI: pciehp: Fix unprotected list iteration in IRQ handler (Myron Stowe) [1583983] - [pci] PCI: pciehp: Fix use-after-free on unplug (Myron Stowe) [1583983] - [pci] PCI: hotplug: Don't leak pci_slot on registration failure (Myron Stowe) [1583983] - [pci] PCI: hotplug: Delete skeleton driver (Myron Stowe) [1583983] - [netdrv] be2net: Use Kconfig flag to support for enabling/disabling adapters (Petr Oros) [1611768] - [acpi] ACPICA: Reference Counts: increase max to 0x4000 for large servers (Frank Ramsay) [1618760]- [net] udp6: add missing checks on edumux packet processing (Paolo Abeni) [1625954] - [net] udp4: fix IP_CMSG_CHECKSUM for connected sockets (Paolo Abeni) [1625954] - [s390] s390/pci: fix out of bounds access during irq setup (Hendrik Brueckner) [1627462] - [nvdimm] libnvdimm: fix ars_status output length calculation (Jeff Moyer) [1616307]- [scsi] scsi: lpfc: Correct MDS diag and nvmet configuration (Dick Kennedy) [1628323] - [iommu] iommu/arm-smmu: workaround DMA mode issues (Mark Salter) [1624077] - [x86] x86/microcode: Allow late microcode loading with SMT disabled (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] tools headers: Synchronise x86 cpufeatures.h for L1TF additions (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/mm/kmmio: Make the tracer robust against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/mm/pat: Make set_memory_np() L1TF safe (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Invert all not present mappings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Fix SMT supported evaluation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation: Simplify sysfs report of VMX L1TF vulnerability (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation/l1tf: Remove Yonah processors from not vulnerable list (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86: Don't include linux/irq.h from asm/hardirq.h (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: detect SMT disabled by BIOS (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation/l1tf: Fix typos (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Documentation: Add section about CPU vulnerabilities (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/bugs, kvm: Introduce boot-time control of L1TF mitigations (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Expose SMT control init function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Allow runtime control of L1D flush (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Serialize L1D flush parameter setter (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Add static key for flush always (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Move l1tf setup function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/l1tf: Handle EPT disabled state proper (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/kvm: Drop L1TF MSR list approach (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/litf: Introduce vmx status variable (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Online siblings when SMT control is turned on (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add find_msr() helper function (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D flush logic (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D MSR based flush (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add L1D flush algorithm (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM/VMX: Add module argument for L1TF mitigation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Boot HT siblings at least once (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] Revert "x86/apic: Ignore secondary threads if nosmt=force" (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Fix up pte->pfn conversion for PAE (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect PAE swap entries against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpufeatures: Add detection of L1D cache flush support (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Extend 64bit swap file size limit (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/apic: Ignore secondary threads if nosmt=force (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/AMD: Evaluate smp_num_siblings early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/intel: Evaluate smp_num_siblings early (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/topology: Provide detect_extended_topology_early() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/common: Provide detect_ht_early() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu/AMD: Remove the pointless detect_ht() call (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/cpu: Remove the pointless CPU printout (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Provide knobs to control SMT (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Split do_cpu_down() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] cpu/hotplug: Make bringup/teardown of smp threads symmetric (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/topology: Provide topology_smt_supported() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/smp: Provide topology_is_primary_thread() (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] sched/smt: Update sched_smt_present at runtime (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/bugs: Move the l1tf function and define pr_fmt properly (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Limit swap file size to MAX_PA/2 (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Add sysfs reporting for l1tf (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Make sure the first page is always reserved (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Protect swap entries against L1TF (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Change order of offset/type in swap entry (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646} - [x86] x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT (Waiman Long) [1616046] {CVE-2018-3620 CVE-2018-3646}- [pci] PCI/DPC: Remove indirection waiting for inactive link (Myron Stowe) [1485556] - [pci] PCI/DPC: Use threaded IRQ for bottom half handling (Myron Stowe) [1485556] - [pci] PCI/DPC: Print AER status in DPC event handling (Myron Stowe) [1485556] - [pci] PCI/DPC: Remove rp_pio_status from dpc struct (Myron Stowe) [1485556] - [pci] PCI/DPC: Defer event handling to work queue (Myron Stowe) [1485556] - [pci] PCI/DPC: Leave interrupts enabled while handling event (Myron Stowe) [1485556] - [net] net/mlx5e: Offload TC matching on tos/ttl for ip tunnels (Erez Alfasi) [1615121] - [net] net/mlx5e: Support setup of tos and ttl for tunnel key TC action offload (Erez Alfasi) [1615121] - [net] net/mlx5e: Use ttl from route lookup on tc encap offload only if needed (Erez Alfasi) [1615121] - [net] net/sched: cls_flower: Support matching on ip tos and ttl for tunnels (Erez Alfasi) [1615121] - [net] flow_dissector: Dissect tos and ttl from the tunnel info (Erez Alfasi) [1615121] - [net] net/sched: tunnel_key: Allow to set tos and ttl for tc based ip tunnels (Erez Alfasi) [1615121] - [net] net/sched: act_tunnel_key: disambiguate metadata dst error cases (Erez Alfasi) [1615121] - [net] net/sched: add tunnel option support to act_tunnel_key (Erez Alfasi) [1615121] - [iommu] iommu/amd: Add support for IOMMU XT mode (Suravee Suthikulpanit) [1504485] - [iommu] iommu/amd: Add support for higher 64-bit IOMMU Control Register (Suravee Suthikulpanit) [1504485] - [x86] x86: irq_remapping: Move irq remapping mode enum (Suravee Suthikulpanit) [1504485] - [firmware] dcdbas: Add support for WSMT ACPI table (Charles Rose) [1502286]- [documentation] scsi: documentation: add scsi_mod.use_blk_mq to scsi-parameters (Ewan Milne) [1600014] - [scsi] scsi: core: Update SCSI_MQ_DEFAULT help text to match default (Ewan Milne) [1600014] - [scsi] scsi: core: switch to scsi-mq by default (Ewan Milne) [1600014] - [pci] PCI: Match Root Port's MPS to endpoint's MPSS as necessary (Myron Stowe) [1502324] - [pci] PCI: Skip MPS logic for Virtual Functions (VFs) (Myron Stowe) [1502324] - [pci] PCI: Check for PCIe Link downtraining (Myron Stowe) [1502324] - [pci] PCI: Workaround IDT switch ACS Source Validation erratum (Myron Stowe) [1502324] - [of] OF: Don't set default coherent DMA mask (Mark Salter) [1581822] - [acpi] ACPI/IORT: Don't set default coherent DMA mask (Mark Salter) [1581822] - [iommu] iommu/dma: Respect bus DMA limit for IOVAs (Mark Salter) [1581822] - [of] of/device: Set bus DMA mask as appropriate (Mark Salter) [1581822] - [acpi] ACPI/IORT: Set bus DMA mask as appropriate (Mark Salter) [1581822] - [kernel] dma-mapping: Generalise dma_32bit_limit flag (Mark Salter) [1581822] - [acpi] ACPI/IORT: Support address size limit for root complexes (Mark Salter) [1581822] - [of] of/platform: Initialise default DMA masks (Mark Salter) [1581822] - [net] Bluetooth: hidp: buffer overflow in hidp_process_report (Gopal Tiwari) [1623073] {CVE-2018-9363} - [irqchip] irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Honor hypervisor enforced LPI range (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3: Expose GICD_TYPER in the rdist structure (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Drop chunk allocation compatibility (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Move minimum LPI requirements to individual busses (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Use full range of LPIs (Mark Salter) [1550500] - [irqchip] irqchip/gic-v3-its: Refactor LPI allocator (Mark Salter) [1550500]- [netdrv] hv_netvsc: Fix a deadlock by getting rtnl lock earlier in netvsc_probe() (Vitaly Kuznetsov) [1625609] - [netdrv] hv_netvsc: ignore devices that are not PCI (Vitaly Kuznetsov) [1625609] - [netdrv] hv/netvsc: Fix NULL dereference at single queue mode fallback (Vitaly Kuznetsov) [1625609] - [netdrv] hv_netvsc: Add per-cpu ethtool stats for netvsc (Vitaly Kuznetsov) [1625609] - [pci] PCI: shpchp: Separate existence of SHPC and permission to use it (Steve Best) [1622953] - [powerpc] KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function (David Gibson) [1625513] - [kernel] rh_kabi: Add macros to size and extend structs (Prarit Bhargava) [1564570] - [pci] PCI: Remove unnecessary include of (Myron Stowe) [1622672] - [wireless] iwlwifi: Remove unnecessary include of (Myron Stowe) [1622672] - [wireless] ath9k: Remove unnecessary include of (Myron Stowe) [1622672] - [netdrv] igb: Remove unnecessary include of (Myron Stowe) [1622672] - [pci] PCI/ASPM: Convert to use sysfs_match_string() helper (Myron Stowe) [1622672] - [virt] KVM: s390: Properly lock mm context allow_gmap_hpage_1m setting (Thomas Huth) [1623513] - [virt] KVM: s390: vsie: copy wrapping keys to right place (Thomas Huth) [1623513] - [virt] KVM: s390: Fix pfmf and conditional skey emulation (Thomas Huth) [1623513] - [virt] KVM: s390: Fix storage attributes migration with memory slots (Thomas Huth) [1623513] - [virt] KVM: s390: a utility function for migration (Thomas Huth) [1623513]- [lib] vsprintf: Add command line option debug_boot_weak_hash (Prarit Bhargava) [1625687] - [netdrv] i40e: Fix for Tx timeouts when interface is brought up if DCB is enabled (Stefan Assmann) [1616147] - [misc] ocxl: Fix page fault handler in case of fault on dying process (Steve Best) [1624644] - [edac] EDAC, sb_edac: Add support for systems with segmented PCI buses (Aristeu Rozanski) [1621849] - [netdrv] xen-netfront: fix warn message as irq device name has '/' (Vitaly Kuznetsov) [1576160] - [arm64] arm64, kaslr: export offset in VMCOREINFO ELF notes (Bhupesh Sharma) [1624246] - [rpmspec] redhat: Move gfs2 and dlm out of kernel-modules-extra (Andrew Price) [1623511] - [powerpc] powerpc/topology: Get topology for shared processors at boot (Steve Best) [1620039] - [fs] gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated (Robert S Peterson) [1622057] - [fs] gfs2: improve debug information when lvb mismatches are found (Robert S Peterson) [1622057] - [fs] gfs2: cleanup: call gfs2_rgrp_ondisk2lvb from gfs2_rgrp_out (Robert S Peterson) [1622057] - [x86] Fix x86 32-bit invalid cpu boot failure message (Prarit Bhargava) [1571456] - [net] net/ipv6: init ip6 anycast rt->dst.input as ip6_input (Hangbin Liu) [1615671] - [pci] PCI/AER: Don't clear AER bits if error handling is Firmware-First (Myron Stowe) [1621933] - [pci] PCI/AER: Remove duplicate PCI_EXP_AER_FLAGS definition (Myron Stowe) [1621933] - [pci] PCI/portdrv: Remove pcie_portdrv_err_handler.slot_reset (Myron Stowe) [1621933] - [pci] PCI/AER: Clear device status bits during ERR_COR handling (Myron Stowe) [1621933] - [pci] PCI/AER: Clear device status bits during ERR_FATAL and ERR_NONFATAL (Myron Stowe) [1621933] - [pci] PCI/AER: Remove ERR_FATAL code from ERR_NONFATAL path (Myron Stowe) [1621933] - [pci] PCI/AER: Factor out ERR_NONFATAL status bit clearing (Myron Stowe) [1621933] - [pci] PCI/AER: Clear only ERR_NONFATAL bits during non-fatal recovery (Myron Stowe) [1621933] - [pci] PCI/AER: Clear only ERR_FATAL status bits during fatal recovery (Myron Stowe) [1621933] - [pci] PCI/AER: Honor "pcie_ports=native" even if HEST sets FIRMWARE_FIRST (Myron Stowe) [1621933] - [pci] PCI/AER: Add sysfs attributes for rootport cumulative stats (Myron Stowe) [1621933] - [pci] PCI/AER: Add sysfs attributes to provide AER stats and breakdown (Myron Stowe) [1621933] - [pci] PCI/AER: Define aer_stats structure for AER capable devices (Myron Stowe) [1621933] - [pci] PCI/AER: Move internal declarations to drivers/pci/pci.h (Myron Stowe) [1621933] - [pci] PCI/AER: Adopt lspci names for AER error decoding (Myron Stowe) [1621933] - [pci] PCI/AER: Expose internal API for obtaining AER information (Myron Stowe) [1621933] - [kernel] rcu: Make expedited GPs handle CPU 0 being offline (Gustavo Duarte) [1610262] - [rpmspec] Generate BootLoaderSpec config fragments ("Herton R. Krzesinski") [1619766]- [net] erspan: set erspan_ver to 1 by default when adding an erspan dev (Xin Long) [1619118] - [hv] x86/hyper-v: Fix wrong merge conflict resolution (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others() (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Check cpumask_to_vpset() return value in hyperv_flush_tlb_others_ex() (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Trace PV IPI send (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use cheaper HVCALL_SEND_IPI hypercall when possible (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use 'fast' hypercall for HVCALL_SEND_IPI (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Implement hv_do_fast_hypercall16 (Vitaly Kuznetsov) [1597652] - [hv] x86/hyper-v: Use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_(LIST, SPACE) hypercalls when possible (Vitaly Kuznetsov) [1597652] - [netdrv] xen-netfront: fix queue name setting (Vitaly Kuznetsov) [1576160] - [scsi] lfpc: add Lancer FCoE to the removed devices (Tomas Henzl) [1602033] - [scsi] megaraid_sas: add removed id table (Tomas Henzl) [1602033] - [scsi] aacraid: add removed id table (Tomas Henzl) [1602033] - [scsi] qla4xxx: add removed id table (Tomas Henzl) [1602033] - [scsi] lpfc: add removed id table (Tomas Henzl) [1602033] - [scsi] qla2xxx: add removed id table (Tomas Henzl) [1602033] - [scsi] mpt3sas: add removed id table (Tomas Henzl) [1602033] - [scsi] be2iscsi: add removed id table (Tomas Henzl) [1602033] - [scsi] rh_taint, pci : add information about removed hardware (Tomas Henzl) [1602033] - [kernel] kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) [1602033] - [net] sunrpc: Change rpc_print_iostats to rpc_clnt_show_stats and handle rpc_clnt clones (Dave Wysochanski) [1610373] - [net] sunrpc: Add _add_rpc_iostats() to add rpc_iostats metrics (Dave Wysochanski) [1610373] - [net] sunrpc: add _print_rpc_iostats() to output metrics for one RPC op (Dave Wysochanski) [1610373]- [net] xdp: exclude XDP from kABI guarantee (Jiri Benc) [1568551] - [kernel] rh_kabi: introduce RH_KABI_EXCLUDE (Jiri Benc) [1568551] - [powerpc] powerpc/powernv/pci: Work around races in PCI bridge enabling (Steve Best) [1620035] - [block] blk-wbt: fix IO hang in wbt_wait() (Ming Lei) [1614198] - [block] blkcg: Make blkg_root_lookup() work for queues in bypass mode (Ming Lei) [1614198] - [block] null_blk: add lock drop/acquire annotation (Ming Lei) [1614198] - [block] Blk-throttle: reduce tail io latency when iops limit is (Ming Lei) [1614198] - [block] block: paride: pd: mark expected switch fall-throughs (Ming Lei) [1614198] - [block] block: Ensure that a request queue is dissociated from the (Ming Lei) [1614198] - [block] block: Introduce blk_exit_queue() (Ming Lei) [1614198] - [block] blkcg: Introduce blkg_root_lookup() (Ming Lei) [1614198] - [block] block: Remove two superfluous #include directives (Ming Lei) [1614198] - [block] blk-mq: count the hctx as active before allocating tag (Ming Lei) [1614198] - [block] block: bvec_nr_vecs() returns value for wrong slab (Ming Lei) [1614198] - [block] drivers/block/drbd: remove the null check for (Ming Lei) [1614198] - [block] drivers/block/aoe/aoedev: NULL check is not needed for (Ming Lei) [1614198] - [block] drivers/block/mtip32xx: remove the null check for (Ming Lei) [1614198] - [block] cfq: Suppress compiler warnings about comparisons (Ming Lei) [1614198] - [block] cfq: Annotate fall-through in a switch statement (Ming Lei) [1614198] - [block] blk-wbt: Avoid lock contention and thundering herd issue in (Ming Lei) [1590363] - [block] target/loop: depend on SCSI (Ming Lei) [1614198] - [block] xen-blkfront: use true and false for boolean values (Ming Lei) [1614198] - [block] lightnvm: remove minor version check for 2.0 (Ming Lei) [1614198] - [block] scsi: Check sense buffer size at build time (Ming Lei) [1614198] - [block] libata-scsi: Move sense buffers onto stack (Ming Lei) [1614198] - [block] cdrom: Use struct scsi_sense_hdr internally (Ming Lei) [1614198] - [block] ide-cd: Remove redundant sense buffer (Ming Lei) [1614198] - [block] block: Switch struct packet_command to use struct (Ming Lei) [1614198] - [block] target: don't depend on SCSI (Ming Lei) [1614198] - [block] scsi: build scsi_common.o for all scsi passthrough request (Ming Lei) [1614198] - [block] scsi: cxlflash: Drop unused sense buffers (Ming Lei) [1614198] - [block] ide-cd: Drop unused sense buffers (Ming Lei) [1614198] - [block] blk-mq: fix updating tags depth (Ming Lei) [1611900] - [block] block: really disable runtime-pm for blk-mq (Ming Lei) [1611902] - [block] aoe: mark expected switch fall-through (Ming Lei) [1614198] - [block] block: make iolatency avg_lat exponentially decay (Ming Lei) [1614198] - [block] blk-cgroup: clear the throttle queue on fork (Ming Lei) [1614198] - [block] blk-cgroup: hold the queue ref during throttling (Ming Lei) [1614198] - [block] blk-iolatency: fix blkg leak in timer_fn (Ming Lei) [1614198] - [block] block/bsg-lib: use PTR_ERR_OR_ZERO to simplify the flow path (Ming Lei) [1614198] - [block] t10-pi: provide empty t10_pi_complete() for (Ming Lei) [1614198] - [block] block: blk_init_allocated_queue() set q->fq as NULL in the (Ming Lei) [1614198] - [block] nvme: use blk API to remap ref tags for IOs with metadata (Ming Lei) [1614198] - [block] block: move dif_prepare/dif_complete functions to block layer (Ming Lei) [1614198] - [block] block: move ref_tag calculation func to the block layer (Ming Lei) [1614198] - [block] block: don't account for split bio's size in cgroup stats (Ming Lei) [1614198] - [block] pktcdvd: Fix possible Spectre-v1 for pkt_devs (Ming Lei) [1614198] - [block] partitions/aix: append null character to print data from disk (Ming Lei) [1614198] - [block] partitions/aix: fix usage of uninitialized lv_info and lvname (Ming Lei) [1614198] - [block] readahead: stricter check for bdi io_pages (Ming Lei) [1614198] - [block] scsi: virtio_scsi: fix pi_bytes(out, in) on 4 KiB block size (Ming Lei) [1614198] - [block] block: move bio_integrity_(intervals, bytes) into blkdev.h (Ming Lei) [1614198] - [block] xen/blkfront: remove unused macros (Ming Lei) [1614198] - [block] block: allow max_discard_segments to be stacked (Ming Lei) [1614198] - [block] block: unexport bio_clone_bioset (Ming Lei) [1614198] - [block] md: remove a bogus comment (Ming Lei) [1614198] - [block] block: remove bio_clone_kmalloc (Ming Lei) [1614198] - [block] exofs: use bio_clone_fast in _write_mirror (Ming Lei) [1614198] - [block] bcache: don't clone bio in bch_data_verify (Ming Lei) [1614198] - [block] block: bio_set_pages_dirty can't see NULL bv_page in a valid (Ming Lei) [1614198] - [block] block: simplify bio_check_pages_dirty (Ming Lei) [1614198] - [block] block: Rename the null_blk_mod kernel module back into (Ming Lei) [1614198] - [block] blk-mq: fail the request in case issue failure (Ming Lei) [1614305] - [block] blk-rq-qos: make depth comparisons unsigned (Ming Lei) [1614198] - [block] blkcg: Track DISCARD statistics and output them in cgroup (Ming Lei) [1614198] - [block] block: Track DISCARD statistics and output them in stat and (Ming Lei) [1614198] - [block] block: Add and use op_stat_group() for indexing disk_stat (Ming Lei) [1614198] - [block] block: Define and use STAT_READ and STAT_WRITE (Ming Lei) [1614198] - [block] block: Add part_stat_read_accum to read across field entries (Ming Lei) [1614198] - [block] block: make bdev_ops->rw_page() take a REQ_OP instead of bool (Ming Lei) [1614198] - [block] pktcdvd: remove assignment in if condition (Ming Lei) [1614198] - [block] blk-mq: issue directly if hw queue isn't busy in case of (Ming Lei) [1614305] - [block] blk-iolatency: truncate our current time (Ming Lei) [1614198] - [block] blk-iolatency: don't change the latency window (Ming Lei) [1614198] - [block] block: remove blkdev_entry_to_request() macro (Ming Lei) [1614198] - [block] block: skd: Use pad printk format for dma_addr_t values (Ming Lei) [1614198] - [block] bsg: remove read/write support (Ming Lei) [1614198] - [block] blk-iolatency: fix max_depth comparisons (Ming Lei) [1614198] - [block] block: iolatency: avoid 64-bit division (Ming Lei) [1614198] - [block] block/DAC960.c: fix defined but not used build warnings (Ming Lei) [1614198] - [block] null_blk: add zone support (Ming Lei) [1614198] - [block] null_blk: move shared definitions to header file (Ming Lei) [1614198] - [block] block: Add default switch case to blk_pm_allow_request() to (Ming Lei) [1614198] - [block] block: fix infinite loop if the device loses discard (Ming Lei) [1614198] - [block] block, mm: remove unnecessary __GFP_HIGH flag (Ming Lei) [1614198] - [block] null_blk: remove NULLB_DEV_FL_CONFIGURED on turning off nullb (Ming Lei) [1614198] - [block] mm: skip readahead if the cgroup is congested (Ming Lei) [1614198] - [block] Documentation: add a doc for blk-iolatency (Ming Lei) [1614198] - [block] block: introduce blk-iolatency io controller (Ming Lei) [1614198] - [block] rq-qos: introduce dio_bio callback (Ming Lei) [1614198] - [block] block: remove external dependency on wbt_flags (Ming Lei) [1614198] - [block] blk-rq-qos: refactor out common elements of blk-wbt (Ming Lei) [1614198] - [block] blk-stat: export helpers for modifying blk_rq_stat (Ming Lei) [1614198] - [block] memcontrol: schedule throttling if we are congested (Ming Lei) [1614198] - [block] blkcg: add generic throttling mechanism (Ming Lei) [1614198] - [block] swap, blkcg: issue swap io with the appropriate context (Ming Lei) [1614198] - [block] blk: introduce REQ_SWAP (Ming Lei) [1614198] - [block] blk-cgroup: allow controllers to output their own stats (Ming Lei) [1614198] - [block] block: introduce bio_issue_as_root_blkg (Ming Lei) [1614198] - [block] block: add bi_blkg to the bio for cgroups (Ming Lei) [1614198] - [block] blk-mq: dequeue request one by one from sw queue if hctx is (Ming Lei) [1614305] - [block] block/loop: mark expected switch fall-through (Ming Lei) [1614198] - [block] drbd: mark expected switch fall-throughs (Ming Lei) [1614198] - [block] blk-mq: only attempt to merge bio if there is rq in sw queue (Ming Lei) [1614305] - [block] blk-mq: use list_splice_tail_init() to insert requests (Ming Lei) [1614305] - [block] blk-mq: fix typo in a function comment (Ming Lei) [1614198] - [block] blk-mq: code clean-up by adding an API to clear set->mq_map (Ming Lei) [1614198] - [block] paride: remove redundant variable n (Ming Lei) [1614198] - [block] partitions/ldm: remove redundant pointer dgrp (Ming Lei) [1614198] - [block] loop: remove redundant pointer inode (Ming Lei) [1614198] - [block] block/floppy: remove redundant variable dflags (Ming Lei) [1614198] - [block] Block: blk-throttle: set low_valid immediately once one (Ming Lei) [1614198] - [block] Blktrace: bail out early if block debugfs is not configured (Ming Lei) [1614198] - [block] block: Document how blk_update_request() handles (Ming Lei) [1614198] - [block] drbd: Do not redefine __must_hold() (Ming Lei) [1614198] - [block] blk-mq: avoid to synchronize rcu inside blk_cleanup_queue() (Ming Lei) [1597067] - [block] blk-mq: remove synchronize_rcu() from (Ming Lei) [1597067] - [block] blk-mq: introduce new lock for protecting hctx->dispatch_wait (Ming Lei) [1597067] - [block] blk-mq: don't pass **hctx to blk_mq_mark_tag_wait() (Ming Lei) [1597067] - [block] blk-mq: cleanup blk_mq_get_driver_tag() (Ming Lei) [1597067] - [block] block, bfq: give a better name to bfq_bfqq_may_idle (Ming Lei) [1614198] - [block] block, bfq: fix service being wrongly set to zero in case of (Ming Lei) [1614198] - [block] block, bfq: do not expire a queue that will deserve dispatch (Ming Lei) [1614198] - [block] block, bfq: add/remove entity weights correctly (Ming Lei) [1614198] - [block] block: Make struct request_queue smaller for (Ming Lei) [1614198] - [block] block: Inline blk_queue_nr_zones() (Ming Lei) [1614198] - [block] block: Remove bdev_nr_zones() (Ming Lei) [1614198] - [block] include/uapi/linux/blkzoned.h: Remove a superfluous __packed (Ming Lei) [1614198] - [block] block: Remove a superfluous cast from blkdev_report_zones() (Ming Lei) [1614198]- [net] tls: mark as Tech Preview (Sabrina Dubroca) [1570255] - [pci] PCI/VPD: Check for VPD access completion before checking for timeout (Myron Stowe) [1618820] - [rpmspec] redhat: remove bootwrapper subpackage (Gustavo Duarte) [1578399] - [virt] kvm: x86: Set highest physical address bits in non-present/reserved SPTEs (Paolo Bonzini) [1614808] - [virt] KVM/x86: Use CC_SET()/CC_OUT in arch/x86/kvm/vmx.c (Paolo Bonzini) [1614808] - [virt] KVM: X86: Implement PV IPIs in linux guest (Paolo Bonzini) [1614808] - [virt] KVM: X86: Add kvm hypervisor init time platform setup callback (Paolo Bonzini) [1614808] - [virt] KVM: X86: Implement "send IPI" hypercall (Paolo Bonzini) [1614808] - [virt] KVM/x86: Move X86_CR4_OSXSAVE check into kvm_valid_sregs() (Paolo Bonzini) [1614808] - [virt] KVM: x86: Skip pae_root shadow allocation if tdp enabled (Paolo Bonzini) [1614808] - [virt] KVM/MMU: Combine flushing remote tlb in mmu_set_spte() (Paolo Bonzini) [1614808] - [virt] KVM: vmx: skip VMWRITE of HOST_(FS, GS)_BASE when possible (Paolo Bonzini) [1614808] - [virt] KVM: vmx: skip VMWRITE of HOST_(FS, GS)_SEL when possible (Paolo Bonzini) [1614808] - [virt] KVM: vmx: always initialize HOST_(FS, GS)_BASE to zero during setup (Paolo Bonzini) [1614808] - [virt] KVM: vmx: move struct host_state usage to struct loaded_vmcs (Paolo Bonzini) [1614808] - [virt] KVM: vmx: compute need to reload FS/GS/LDT on demand (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: remove a misleading comment regarding vmcs02 fields (Paolo Bonzini) [1614808] - [virt] KVM: vmx: rename __vmx_load_host_state() and vmx_save_host_state() (Paolo Bonzini) [1614808] - [virt] KVM: vmx: add dedicated utility to access guest's kernel_gs_base (Paolo Bonzini) [1614808] - [virt] KVM: vmx: track host_state.loaded using a loaded_vmcs pointer (Paolo Bonzini) [1614808] - [virt] KVM: vmx: refactor segmentation code in vmx_save_host_state() (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Fix fault priority for VMX operations (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Fix fault vector for VMX operation at CPL > 0 (Paolo Bonzini) [1614808] - [virt] KVM: try __get_user_pages_fast even if not in atomic context (Paolo Bonzini) [1614808] - [virt] KVM: vmx: Add tlb_remote_flush callback support (Paolo Bonzini) [1614808] - [virt] KVM: x86: Add tlb remote flush callback in kvm_x86_ops (Paolo Bonzini) [1614808] - [virt] X86/Hyper-V: Add hyperv_nested_flush_guest_mapping ftrace support (Paolo Bonzini) [1614808] - [virt] X86/Hyper-V: Add flush HvFlushGuestPhysicalAddressSpace hypercall support (Paolo Bonzini) [1614808] - [virt] x86/kvm: Don't use pvqspinlock code if only 1 vCPU (Paolo Bonzini) [1614808] - [virt] KVM/MMU: Simplify __kvm_sync_page() function (Paolo Bonzini) [1614808] - [virt] kvm: x86: Remove CR3_PCID_INVD flag (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add multi-entry LRU cache for previous CR3s (Paolo Bonzini) [1614808] - [virt] kvm: x86: Flush only affected TLB entries in kvm_mmu_invlpg* (Paolo Bonzini) [1614808] - [virt] kvm: x86: Skip shadow page resync on CR3 switch when indicated by guest (Paolo Bonzini) [1614808] - [virt] kvm: x86: Support selectively freeing either current or previous MMU root (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add a root_hpa parameter to kvm_mmu->invlpg() (Paolo Bonzini) [1614808] - [virt] kvm: x86: Skip TLB flush on fast CR3 switch when indicated by guest (Paolo Bonzini) [1614808] - [virt] kvm: vmx: Support INVPCID in shadow paging mode (Paolo Bonzini) [1614808] - [virt] kvm: x86: Propagate guest PCIDs to host PCIDs (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add ability to skip TLB flush when switching CR3 (Paolo Bonzini) [1614808] - [virt] kvm: x86: Use fast CR3 switch for nested VMX (Paolo Bonzini) [1614808] - [virt] kvm: x86: Support resetting the MMU context without resetting roots (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add support for fast CR3 switch across different MMU modes (Paolo Bonzini) [1614808] - [virt] kvm: x86: Introduce KVM_REQ_LOAD_CR3 (Paolo Bonzini) [1614808] - [virt] kvm: x86: Introduce kvm_mmu_calc_root_page_role() (Paolo Bonzini) [1614808] - [virt] kvm: x86: Add fast CR3 switch code path (Paolo Bonzini) [1614808] - [virt] kvm: x86: Avoid taking MMU lock in kvm_mmu_sync_roots if no sync is needed (Paolo Bonzini) [1614808] - [virt] kvm: x86: Make sync_page() flush remote TLBs once only (Paolo Bonzini) [1614808] - [virt] KVM: MMU: drop vcpu param in gpte_access (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Separate logic allocating shadow vmcs to a function (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Mark vmcs header as shadow in case alloc_vmcs_cpu() allocate shadow vmcs (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Expose VMCS shadowing to L1 guest (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Do not forward VMREAD/VMWRITE VMExits to L1 if required so by vmcs12 vmread/vmwrite bitmaps (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: vmread/vmwrite: Use shadow vmcs12 if running L2 (Paolo Bonzini) [1614808] - [virt] KVM: selftests: add tests for shadow VMCS save/restore (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: include shadow vmcs12 in nested state (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Cache shadow vmcs12 on VMEntry and flush to memory on VMExit (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Verify VMCS shadowing VMCS link pointer (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Verify VMCS shadowing controls (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Introduce nested_cpu_has_shadow_vmcs() (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Fail VMLAUNCH and VMRESUME on shadow VMCS (Paolo Bonzini) [1614808] - [virt] KVM: nVMX: Allow VMPTRLD for shadow VMCS if vCPU supports VMCS shadowing (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Change vmcs12(read, write)_any() to receive vmcs12 as parameter (Paolo Bonzini) [1614808] - [virt] KVM: VMX: Create struct for VMCS header (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add test for nested state save/restore (Paolo Bonzini) [1614808] - [virt] kvm: nVMX: Introduce KVM_CAP_NESTED_STATE (Paolo Bonzini) [1614808] - [virt] KVM: x86: do not load vmcs12 pages while still in SMM (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add basic test for state save and restore (Paolo Bonzini) [1614808] - [virt] kvm: selftests: ensure vcpu file is released (Paolo Bonzini) [1614808] - [virt] kvm: selftests: actually use all of lib/vmx.c (Paolo Bonzini) [1614808] - [virt] kvm: selftests: create a GDT and TSS (Paolo Bonzini) [1614808] - [virt] KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd (Paolo Bonzini) [1614808] - [virt] KVM: vmx: remove save/restore of host BNDCGFS MSR (Paolo Bonzini) [1614808] - [virt] KVM: Switch 'requests' to be 64-bit (explicitly) (Paolo Bonzini) [1614808] - [virt] kvm: selftests: add cr4_cpuid_sync_test (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lock (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9 (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID space (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Fix constant size warning (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S HV: Add of_node_put() in success path (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Book3S: Fix matching of hardware and emulated TCE tables (Paolo Bonzini) [1614808] - [virt] KVM: PPC: Remove mmio_vsx_tx_sx_enabled in KVM MMIO emulation (Paolo Bonzini) [1614808]- [net] tcp: Add tcp_clamp_rto_to_user_timeout() helper to improve accuracy (Michael Cambria) [1605024] - [net] tcp: Add tcp_retransmit_stamp() helper routine (Michael Cambria) [1605024] - [net] tcp: convert icsk_user_timeout from jiffies to msecs (Michael Cambria) [1605024] - [kernel] Revert sched/fair: Consider SD_NUMA when selecting the most idle group to schedule on (Lauro Ramos Venancio) [1585746] - [kernel] redhat: makefile: adjust KBUILD_CFLAGS to reflect kernel.spec for powerpc builds (Gustavo Duarte) [1582568] - [rpmspec] redhat: spec: build ppc64le kernel with -O3 (Gustavo Duarte) [1582568] - [scsi] scsi: csiostor: update csio_get_flash_params() (Arjun Vynipadath) [1503574] - [scsi] csiostor: Add a soft dep on cxgb4 driver (Arjun Vynipadath) [1503574] - [firmware] dell_rbu: make firmware payload memory uncachable (Charles Rose) [1584401]- [scsi] scsi: lpfc: update driver version to 12.0.0.6 (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Remove lpfc_enable_pbde as module parameter (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Correct LCB ACCept payload (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Limit tracking of tgt queue depth in fast path (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix driver crash when re-registering NVME rports (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix list corruption on the completion queue (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix sysfs Speed value on CNA ports (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: Fix ELS abort on SLI-3 adapters (Dick Kennedy) [1613913] - [scsi] scsi: lpfc: remove null check on nvmebuf (Dick Kennedy) [1613913] - [arm64] arm64: fix ACPI dependencies (Bhupesh Sharma) [1556832] - [arm64] arm64: acpi: fix alignment fault in accessing ACPI (Bhupesh Sharma) [1556832] - [firmware] efi/arm: map UEFI memory map even w/o runtime services enabled (Bhupesh Sharma) [1556832] - [firmware] efi/arm: preserve early mapping of UEFI memory map longer for BGRT (Bhupesh Sharma) [1556832] - [acpi] drivers: acpi: add dependency of EFI for arm64 (Bhupesh Sharma) [1556832] - [arm64] arm64: export memblock_reserve()d regions via /proc/iomem (Bhupesh Sharma) [1556832] - [arm64] arm64: kconfig: Ensure spinlock fastpaths are inlined if !PREEMPT (Waiman Long) [1607924] - [arm64] arm64: locking: Replace ticket lock implementation with qspinlock (Waiman Long) [1607924] - [arm64] arm64: barrier: Implement smp_cond_load_relaxed (Waiman Long) [1607924] - [scsi] scsi: lpfc: Revise copyright for new company language (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: update driver version to 12.0.0.5 (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: devloss timeout race condition caused null pointer reference (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix NVME Target crash in defer rcv logic (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Support duration field in Link Cable Beacon V1 command (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Make PBDE optimizations configurable (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix abort error path for NVMET (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix panic if driver unloaded when port is offline (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Fix driver not setting dpp bits correctly in doorbell word (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: Add Buffer overflow check, when nvme_info larger than PAGE_SIZE (Dick Kennedy) [1600946] - [scsi] scsi: lpfc: use monotonic timestamps for statistics (Dick Kennedy) [1600946] - [x86] mark intel knights landing and knights mill unsupported (David Arcari) [1610493] - [netdrv] igb: Remove superfluous reset to PHY and page 0 selection (Corinna Vinschen) [1612824] - [tools] selftests/powerpc: Fix ptrace-pkey for default execute permission change (Steve Best) [1498799] - [tools] selftests/powerpc: Fix core-pkey for default execute permission change (Steve Best) [1498799] - [powerpc] powerpc/pkeys: make protection key 0 less special (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Preallocate execute-only key (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Fix calculation of total pkeys (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Save the pkey registers before fork (Steve Best) [1498799] - [powerpc] powerpc/pkeys: key allocation/deallocation must not change pkey registers (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Deny read/write/execute by default (Steve Best) [1498799] - [powerpc] powerpc/pkeys: Give all threads control of their key permissions (Steve Best) [1498799] - [s390] KVM: s390: Add huge page enablement control (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge page gmap linking support (David Hildenbrand) [1508102] - [s390] s390/mm: hugetlb pages within a gmap can not be freed (David Hildenbrand) [1508102] - [s390] KVM: s390: Beautify skey enable check (David Hildenbrand) [1508102] - [s390] KVM: s390: Add skey emulation fault handling (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge pmd storage key handling (David Hildenbrand) [1508102] - [s390] s390/mm: Clear skeys for newly mapped huge guest pmds (David Hildenbrand) [1508102] - [s390] s390/mm: Clear huge page storage keys on enable_skey (David Hildenbrand) [1508102] - [s390] s390/mm: Add huge page dirty sync support (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd invalidation and clearing (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd notification bit setting (David Hildenbrand) [1508102] - [s390] s390/mm: Add gmap pmd linking (David Hildenbrand) [1508102] - [s390] s390/mm: Abstract gmap notify bit setting (David Hildenbrand) [1508102] - [s390] s390/mm: Make gmap_protect_range more modular (David Hildenbrand) [1508102] - [s390] KVM: s390: Replace clear_user with kvm_clear_guest (David Hildenbrand) [1508102] - [hwmon] hwmon: (ibmpowernv) Add attributes to enable/disable sensor groups (Steve Best) [1524684] - [powerpc] powerpc/powernv: Add support to enable sensor groups (Steve Best) [1524684] - [net] net/smc: improve delete link processing (Hendrik Brueckner) [1548452] - [net] net/smc: provide fallback reason code (Hendrik Brueckner) [1548452] - [net] net/smc: use correct vlan gid of RoCE device (Hendrik Brueckner) [1548452] - [net] net/smc: fewer parameters for smc_llc_send_confirm_link() (Hendrik Brueckner) [1548452] - [net] net/smc: remove local variable page in smc_rx_splice() (Hendrik Brueckner) [1548452] - [net] net/smc: use DECLARE_BITMAP for rtokens_used_mask (Hendrik Brueckner) [1548452] - [net] net/smc: add function to get link group from link (Hendrik Brueckner) [1548452] - [net] net/smc: eliminate cursor read and write calls (Hendrik Brueckner) [1548452] - [net] net/smc: provide smc mode in smc_diag.c (Hendrik Brueckner) [1548452] - [s390] s390/ism: add device driver for internal shared memory (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D diag support (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in af_smc (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in data transfer (Hendrik Brueckner) [1548452] - [net] net/smc: add SMC-D support in CLC messages (Hendrik Brueckner) [1548452] - [net] net/smc: add pnetid support for SMC-D and ISM (Hendrik Brueckner) [1548452] - [net] net/smc: add base infrastructure for SMC-D and ISM (Hendrik Brueckner) [1548452] - [net] net/smc: add pnetid support (Hendrik Brueckner) [1548452] - [net] net/smc: determine port attributes independent from pnet table (Hendrik Brueckner) [1548452] - [x86] mark whiskey-lake processor supported (David Arcari) [1609604] - [s390] KVM: s390: add etoken support for guests (Thomas Huth) [1612110] - [char] ipmi: do not configure ipmi for HPE m400 (Tony Camuso) [1583537] - [scsi] scsi: ipr: Format HCAM overlay ID 0x41 (Steve Best) [1498222] - [x86] x86/stacktrace: Enable HAVE_RELIABLE_STACKTRACE for the ORC unwinder (Joe Lawrence) [1587952] - [x86] x86/unwind/orc: Detect the end of the stack (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Do not fail for ORC with regs on stack (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Clarify the reliable success paths (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Remove STACKTRACE_DUMP_ONCE (Joe Lawrence) [1587952] - [x86] x86/stacktrace: Do not unwind after user regs (Joe Lawrence) [1587952] - [infiniband] IB/rxe: Mark Soft-RoCE Transport driver as tech-preview (Don Dutile) [1605216] - [scsi] scsi: smartpqi: bump driver version to 1.1.4-130 (Don Brace) [1503736] - [scsi] scsi: smartpqi: fix critical ARM issue reading PQI index registers (Don Brace) [1503736] - [scsi] scsi: smartpqi: add inspur advantech ids (Don Brace) [1503736] - [scsi] scsi: smartpqi: improve error checking for sync requests (Don Brace) [1503736] - [scsi] scsi: smartpqi: improve handling for sync requests (Don Brace) [1503736] - [netdrv] ice: mark driver as tech-preview (Jonathan Toppins) [1495347] - [init] init/Kconfig: remove EXPERT from CHECKPOINT_RESTORE (Adrian Reber) [1568995 1557617 1525389] - [scsi] be2iscsi: remove BE3 family support (Maurizio Lombardi) [1598366] - [x86] update rh_check_supported processor list (David Arcari) [1595918] - [kernel] kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] - [pci] add pci_hw_vendor_status() (Maurizio Lombardi) [1590829] - [ata] ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) [1563590] - [pci] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) [1563590] - [kernel] bpf: set default values for bpf_jit_harden and bpf_jit_kallsyms (Eugene Syromiatnikov) [1569061] - [kernel] bpf: Add tech preview taint for syscall (Eugene Syromiatnikov) [1559877] - [kernel] bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] - [kernel] add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] - [tools] perf tests: Add Python 3 support to attr.py ("Herton R. Krzesinski") [1561505] - [tools] perf scripts python: Add Python 3 support to stat-cpi.py ("Herton R. Krzesinski") [1561505] - [kernel] kdump: fix a grammar issue in a kernel message (Dave Young) [1507353] - [scripts] tags.sh: Ignore redhat/rpm (Prarit Bhargava) [1582586] - [kernel] put RHEL info into generated headers (Prarit Bhargava) [1544999] - [kernel] kdump: add support for crashkernel=auto (Dave Young) [1507353] - [kernel] kdump: round up the total memory size to 128M for crashkernel reservation (Dave Young) [1507353] - [arm64] acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] - [acpi] aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] - [acpi] ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] - [x86] add rh_check_supported (David Arcari) [1565717] - [scsi] qla2xxx: Remove PCI IDs of deprecated adapter (Himanshu Madhani) [1572233] - [scsi] be2iscsi: remove unsupported device IDs (Chris Leech) [1574502] - [scsi] Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) [1572321] - [scsi] hpsa: modify hpsa driver version (Joseph Szczypek) [1471185] - [scsi] hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) [1471185] - [kernel] rh_taint: add support for marking driver as unsupported (Jonathan Toppins) [1565704] - [kernel] rh_taint: add support (David Arcari) [1565704] - [scsi] qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) [1518874] - [scsi] aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) [1495307] - [scsi] megaraid_sas: remove deprecated pci-ids (Tomas Henzl) [1509329] - [scsi] mpt*: remove certain deprecated pci-ids (Tomas Henzl) [1511953] - [kernel] modules: add rhelversion MODULE_INFO tag (Prarit Bhargava) [1544999] - [acpi] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] - [rpmspec] compute content hash for kernel-headers (Rafael Aquini) [1613003] - [rpmspec] compress modules on all architectures ("Herton R. Krzesinski") [1614556] - [rpmspec] add gcov rpm packaging support (Jan Stancek) [1601733] - [rpmspec] don't ship spdxcheck.py (Jakub Racek) - [rpmspec] clean stray bpf files (Jakub Racek) [1593309] - [rpmspec] Copy symvers.gz to /lib/modules (Eugene Syromiatnikov) [1609695] - [rpmspec] Add kabi-dup related code into specfile (Petr Oros) [1585672] - [rpmspec] kernel spec: Add and enable kabi check (Petr Oros) [1585672] - [rpmspec] Enable warning checks for configs in rpm build (Prarit Bhargava) [1589858] - [rpmspec] remove workaround for rst2man-3 from python3-docutils ("Herton R. Krzesinski") [1602148] - [rpmspec] fix dist tag used for hardlink in kernel-devel post ("Herton R. Krzesinski") [1596397] - [scripts] get_maintainer.pl: Add optional .get_maintainer.MAINTAINERS override (Prarit Bhargava) [1595727] - [rpmspec] drop kernel package dependency on python2 ("Herton R. Krzesinski") [1561505] - [kernel] Makefile: Move RHEL definitions down (Jakub Racek) [1576568] - [rpmspec] eBPF: Add bpftool package to spec file (Jerome Marchand) [1559607] - [rpmspec] fix conflicts with COPYING file while installing newer 4.17 kernel ("Herton R. Krzesinski") [1579563] - [rpmspec] do not build kernel meta-package on noarch ("Herton R. Krzesinski") [1579512] - [rpmspec] kernel spec: remove copy of arch/x86/purgatory/sha256.* ("Herton R. Krzesinski") - [rpmspec] spec: Add new arch/powerpc/kernel/module.lds file to kernel-devel rpm (Steve Best) [1572553] - [rpmspec] kernel spec: fix recent build errors from brp-mangle-shebangs ("Herton R. Krzesinski") [1575966] - [rpmspec] Add i386 to ExclusiveArch to fix noarch package build ("Herton R. Krzesinski") [1575152] - [rpmspec] Build kernel-abi-whitelists package (Petr Oros) [1571189] - [rpmspec] kernel spec: build bzImage for s390 (Hendrik Brueckner) [1570041] - [rpmspec] kernel spec: arm64: package module.lds in kernel-devel (Mark Salter) [1569014] - [rpmspec] Re-enable debuginfo packages and fix build with current dist tag ("Herton R. Krzesinski") [1568901] - [rpmspec] kernel spec: build kernel-debug on all architectures ("Herton R. Krzesinski") [1567367] - [rpmspec] don't build kernel meta-package if we are only building kernel headers ("Herton R. Krzesinski") - [rpmspec] remove use_vdso macro ("Herton R. Krzesinski") - [rpmspec] build perf and tools man pages instead of relying on a separate tarball ("Herton R. Krzesinski") - [rpmspec] disable debug build if arch is in nobuildarches list ("Herton R. Krzesinski") - [rpmspec] remove fedora changelog from spec file ("Herton R. Krzesinski") - [rpmspec] only support ppc64le builds ("Herton R. Krzesinski") - [rpmspec] remove x86 32-bit package support ("Herton R. Krzesinski") - [rpmspec] remove arm 32-bit package support ("Herton R. Krzesinski") - [rpmspec] remove configuration generation support from kernel spec file ("Herton R. Krzesinski") - [rpmspec] remove broken out patches from kernel spec file ("Herton R. Krzesinski") - [rpmspec] import kernel spec from rhel8 bootstrap dist-git ("Herton R. Krzesinski")/bin/sh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~*********************************************************************************************************************************++++++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------- - - - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~---------------------------------------------------------------------------------------------------------------------------------.......... . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~.................................................................................................................................////////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;; ; ; ; ; ;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< =?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=================================================================================================================================>>>>>>>>>> > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?????????? ? ? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>???@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;A<A=A>A?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;B<B=B>B?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;E<E=E>E?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;F<F=F>F?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;G<G=G>G?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;H<H=H>H?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;I<I=I>I?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKK K K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;K<K=K>K?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLL L L L L LLLLLLLLLLLLLLLLLLL L!L"L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;L<L=L>L?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMM M M M M MMMMMMMMMMMMMMMMMMM M!M"M#M$M%M&M'M(M)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;M<M=M>M?M@MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM[M\M]M^M_M`MaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNN N N N N NNNNNNNNNNNNNNNNNNN N!N"N#N$N%N&N'N(N)N*N+N,N-N.N/N0N1N2N3N4N5N6N7N8N9N:N;N<N=N>N?N@NANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_N`NaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN{N|N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN4.18.0-517.rt7.306.el84.18.0-517.rt7.306.el84.18.0-517.rt7.306.el8.x86_644.18.0-517.rt7.306.el8          !!""#$%%%&&''(())**+++,,---..//0001122233445566667788999:::;;;<<<==>>>??@@AABBCCDDEEFFGGHHHIIJJKKLLLMMNNOOPPQQRRRSSTTUUVVWWWXXYYZZZ[[\\]]^^___``aabbccddeeffggghhhiiijjkkllmnopqqrssttuuvvwvxyz{|}}}}}~~}}}}}}}}}          !!!"!#$$$%&'''(')'*+++,,-+.+/+01234555657589::;<<<=<>??@@AABACDEEFGHHIJJJKJLJMJNOPPPQPRPSPTPUVWWXWYWZ[[[[\\][^^_[`[abbbbccdbebfbgbhhiiijkiliminooooppqorosotouovwwwwwxwywzz{z|z}z~wwwwwwwwwww             !"#######################################################$$$$$$#############%%###############&&&&&&&&############################################################################################################''########################################################################(((###########################################))))))###################******##++++############,,,,,,,,,,,,####"-..........-/000000"12222222222222222222222222222222222222222222222222222222222233435366768696:6;3<3=>>?@AABCDEFFGFHFIFJFKFFLLMFNOFPFQFRFSFTFUVWWWWWXYYZ[[[[[[\\\]\^_``aaaabbcbdbebfagahaiajaklkmknooooppqqrrrssrttuuuvvvwuxxxyxzzx{{x||x}}x~~xuuuuuuuuuuuuuuuuuuuuuuuuu         uuuuuu  u!!u""u##u$$%%%&''&((&))&***+*,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K*LM*NONPNQNRNS&TTUTVVWVXTYYZY[Y\%]]%^^%__%``%aa%bbbccbddbeebffbgg%hh%ii%jj%kk%ll%mm%nnnoonpp%q%rr%sssssst%uu%vv%ww%xx%yy%zz%{{%||%}%~~~~%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$uuuuuuuuuuuuuu        u  u           uuuuu  u!!!""!##u$$$%%$&&&''&((&))&**&++$,,$---..-//$00$111213314415516177188$999::$;;;<<;==;>>;??;@@;AA;BB;CC;DD;EE;FFGG;HH;II;JJ;KK;LL;MM;NN;OO;PP;QQ;RR;SS;TT;UU;VV;WW;XX;YY$ZZZ[[Z\\Z]]Z^Z_Z``ZaZbbZccZdZeZfZgZhZiiZjZklkmZnnZopZqZrZsZtZuZvvZwxwyywzw{w|Z}Z~ZZZZZ$$$$$$uuuuuuuuu              !!""###$#%#&#'((()(*(+(,(---.-/(0112223344556667788999::;;<<===>>=??=@@AABBBCDDDEDFFGFHIIJJJKKLLMMMNMOOPPPQPRPSPTPUPVPWPXPYPZP[P\]]]^__```aa`bcccdcecffgchcicjckclcm`nn`oo`ppqqrrssstuuvvwwwxyyzzz{|||}}~}}}     u   !! "" ## $$ %% && '' (( )) **u+++,,,--,..,//,00,11+22u3u44u55566577u88u999:u;;u<<u==u>>>???@@>AAABB>CC>DD>EEuFFuGGGHuIIIJJIKKILLIMMINNIOOIPPIQQIRRISSITTIUUIVVIWWIXXIYYuZZZ[[Z\\Z]]Z^^Z__Z``ZaaZbbZccZddZeeZffZggZhhZiZjjZkkZllZmmZnnZooZppZqqZrrusssttsuusvvswwsxsyyyzy{{{||{}}{~~{{uuuuuuuuuuuuuuuuuuuuuuuuuuuu            !!""##$$$%%$&&$''$(($))$**$++,,--..//0011233445566778899::;;<<<==>>>?@@AABBBCBDEEFFGGHHIIIJJIKKILLMMNNNOONPPQQRRSSTTUUVVWWuXXXYYYZZX[[X\\X]]u^u___``uaaabbacccddaeeaffaggahhaiiujjukkkllkmknnkoppoooqorksuttuuuuvvuwuxxuyyuzzu{{u||u}}u~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu            !!""##$%%&&''(())*++,,--../0000000000000000000000000000001111111000/2222222222222222233333333333333333333322222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222422222/555555/6666676869666::::;;;<;::::::=:>?:::@::::::AAA:B::CD::::E:F:::GGG:HI:::J:KLM:N:::O:::6P66Q6R6ST6U66VVVWVXVVVVVVYVVZ[6\6]66^6__`_66a6bcbdbbefgbhihjjhklbmnompmqrmsmtmumvwmxmymzm{|m}m~mmmmmmmmmmmmmmmmmmbbbbbbbbbbbbbbbbb66666666666666666666666666666666666666666666666 66  6                                            66 666 66     66  6             666 ! ! ! " # " $ ! % ! ! & ! ! ' (66 ) *66 + + , , + +66 -666 . / 0 / / / / / / / / / / / 1 / / / / / / 2 2 / . 3 . . 4 . 56 66 7 7 8 8 966 : : : : ; < ; = : : : : : : : : : > > > > : : ? ? ? : : : : : : : @ : : : A :6666 B C D6 E6 F G666 H I H H J J K K H L H H M H H N N H O H H P P H H Q Q Q H R H H H S H H H H6 T66 U6 V V W6 X Y X Z [ Z \ Z ] ^ Z _ Z Z ` Z a b X c X d e66 f f g6 h h i6 j j k l k m j j n o p66 q r q s q t u q v w x6 y6 z z z z z z { { z z z z z66 |6 }6 ~6       6 6 66 6 66 6 6 6 6 6 6 66 66 66 6 66 6 6 66 66 66 666 6 6 666 666 66 666 66    6 66 66  666 6           6 6         6   6             6  6 6 6666 !6666 "66 #6 $ % $ $ $ & $ $ $ $ $ $ $ ' ' $ $ $ ( ( ( ( $ ) $ $ $ $ * $ $ $ $6 + + , + + - + + . + /66 0666 1 2 3 4 5 16666 666 76 86 96 :6 ;6 <666 = > > > ? = = @ = = = = = A = B C B D B E B = F G = H I = J J = K L = = M M = = N O N P N Q N R N N S N T N U V N W W X N Y N Z N [ N \ N = ] = ^ ^ _ = ` = a b = = c = = d = = e e f = = = g = = = h = = = i = = = j6 k66 l l m m6 n n n n n n o o n n p p n q q r r n n n n s s s s n n n n n n n n n n n n n n n n n n n n n n n t n u n n n v n w n n n n n n n n n n n n n n n n n n x n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n y y n n z z z z n n { { { | { { { { { { { { } { { { { ~ ~ { { { { { { { { { { {  { { { { { { { { { n n n n n6 6 6 666 6 66 66 6 66 6 6 66 6 6 6 6 66666 6 666 6 666 6 6 6 66 66 6 66 6 6 66 6 6 66 6 6 6 66 6 6 6 666 66 666 6 6 6 66 66 6 6 66 6        66 6 66 66   6 6 66 6 6   6  6     6    6  6  !  " #  $ $ % & $ ' $ $ ( $ $ $ ) * * + $ , - $ . $ / $ 0 1 $ $ 2 2 3 $ 4 $ 5 $ 6 7  8 9  :   ;  < <  =  > ?  @  A  B B C D E D  F  G H  I  J   K L  M N M O M  P  Q  R S  T U  V   W  X  Y Z [ \ Y ]  ^ ^ ^ ^ ^ ^   _ `    a b c a d a a e e a a a a f a a g   h  i j  k  l m  n n  o     p  q q r q q s t  u v w x  y  z { | }  ~            66 66 6 6 666 66 66 6 6 6 6 6 66 6 6 6 6 66 6 6 66 6 66 66 66 66 66 66 6 66 66 666 6 6 6 6 66 6666 6666 66 66 66 6 66             6 6 6 66                                 6 6 66        6    !     " " "     # $ # % #   &  '   ( (   )  *  + + +     ,    - . /  0 1  2   3 3 3 3 3 3  4 5   6 7    8  96 :6 ; < < = = = =66 > > ? > > @ > > >66 A6 B6 C D C E F C C G G H C C I C J K J J J J J J L L L L J J J J M M M M M M M C N N C O O O C C C P Q Q Q P R R R R R R R R R R R R P S P C C T T T T T T T T T U V T T T T W T X X Y X X X X T T T T Z [ T \ T T6 ] ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ` ` ` `6 a6 b c b d b b e e b f b b b b6 g66 h h h h i j h k h l h m h n h o h p h h q h h666 r r r r r s s r t r u r v w r r x r r y r z r r { r r | r r } r r r ~6        6 6 66 666 6 6 6 6666 66 66 6666 6 66 666 6 66 6 66 6666 66 66 6 6 6 6 66666 66 66 666 66 66 6 6 6 6 66 6 6 6 66 66 6 6 6 6 66 66 6 6666 66 6 6 6 6 666 66 6                      6 6 6  666  6  6 6     666        6  6       !  6 " " # $6 % %6 & & '66 ( (6 )666 *6 + + + , ,66 - - - - - - - - - - - -6 . .6 / / / / 0 /6 1 1 2 1 1 3 3 4 3 1 5 5 5 5 1 1 1 1 1 1 6 1 7 1 8 8 1 1 966 : :6 ; ; < < ; ; ; ; ; = ; ;66 > > ? > > > @ @ > A > > B B B > C > > D >6 E66 F G H G I J G K F6 L M6 N O N N P P P P P N Q N66 R S R T U66 V V V V W W X X V V Y Y Y Y Y Z Y Y Y Y Y Y Y [ Y Y V V \ \ V666 ] ]66 ^ ^ _6 ` a a66 b b6 c c6 d6 e f e e e66 g6 h h66 i66 j666 k k k l l k m n o o o k k p q p r66 s s t u t v w x66 y z {66 | | |6 }66 ~6  66 6 6 66 66 6 6666 66 66 6 6 6 66 6 66 6 6 6666 6 6 6 6 66 66 66 6 6 6 666 66 6 66 6 6 66666666666   66    666    66666666666666666 666!"#6$$6%666&&&&&&&&&&&&&&&&66'(66)66***++,**--*.66/60611213666456744846996666:::::::;66666<===66>>>>>66?@6A6BC666DDEFGD6H6IIJIIIIKILIIMNIIOP66QRS666TU66VVWVXXYV6Z[[\\666]]]^^]6_`66aaaaaa6666b666c6d6e66fgf66h66ii6j6kkl6mn6ooopq666rs6t6uvuuuu6wwxwyzw{w|w}6~~~~~~666666666666666666666666666666666666666666666666666666666666666666666666666666666  66 6 6    6 666666666666666666  !!"#$%&'()*)+,-..////01111211111111100034050600700088900:0;<0=00>>??@A@@BCDEFGHHIJKKLMMMNMMOOMPQQRSQTTTTUTVTWQQQXXXQQQQQQQQYYQZ[Q\\\]^]_\`\abccad\efgfhfifj\klkm\\\nopqorosot\uuuvwx\\yz\{|\\}~}\\\\\\\\\\\\\\QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ6666666666666666666666666666666666666  6 66     666666666666666666666 6!"!#!6$$%$&$'66(((((())***))+(6,,,,6-................-6/066162223226644466567859:;5<=<><?<@555A6BBCDCECB6FGH6I6JJ66K6LML66N66OOOPP66Q66RSR6T6U6VW6XXXYY6ZZ[\[66]^]66__6``66a6b6666cdcccecccccc6f6g6h6iij6666kkklkmk66nn6o6p6q6r666ssstssuvsswxsssysssszss{s|||}~|sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss6666666666666666666666666666666666666666666666666666666666      !"#$%%&'(()*+,-./012345667688966::::::::;:6<<=<6>6?66@@AAAAAAA66BCBBBB666DD6EEE666F66G6/HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHH//JJKLLMMMMLNNNNNNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOLLLLLLLLLLPPPPPPPPPP/QRQSQTQUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQVQWWWWWQXXXXXXXXXXXQYQZ[ZZQ\\\\Q]]]]]Q^^^^^Q_Q`````QaaaaaaaaQbbbbbbbbbbbQcQdQeeeeeQfffQgggggggggggggggggggggggQhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhQiQjQkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkQllllQmmmmmmmmmmmmmQnQoooooQp/qqqqqqrsq/ttttttttttttt/uuuuu/vvvvvv/wwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwywwwwwwwwwwwwwwzzzzzzzzzwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww{{{wwww|||}||~~~~||wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww///////////                       /       // !!!!                                                                                        ""#################$$$$$$$$$%%%%%%%%%%%%%&&&&''()*+++++++++++++++++++,,,,,-------------.///00000111122111111111111111111111113344443333555555555556755555888855999::::/;;;;;;;;;;;;;;/<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</==>>>>>=======??????@@@@@?AAAAAAAAAAAAAAAA??????????=========BBCDDDDDDEEEFFFGDHDIIJDKKDLDMMDNNDODPPDQDRRDSDTTTDUDVVDWWXYXXXXXXXXZX[X\\X]]X^X_X`XaaXbXcXddeXfXggXhhXiXjXkXlmmmmnnmopqqprrpsspttpppupvvpwwpxxpyyyzzy{{y||y}}p~pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp                                    !! " ## $$$%&&''((()(***+,,,-,.,/,0,122232425262728292:;;;<==>???@?A?B?C?D?E?F?G?H?I?JKKLMMNNOOOPOQOROSOTOUOVOWOXOYOZO[[O\O]O^O_O`OaObOcOdOeOfOgOhiiijikllmmnnnoonpppqqprpsptpupvpwnxxnyynzzn{{n||n}}n~~nnnnnnnnnnnnnnnnnnnnnnnnnnn          !"#$%&&'()*+,-./01234567899:9;<=>>?>@>A>B>C>D>E>F>G>H>IIJIK>L>M>N>O>P>Q>R>STUVWXYYZ[[\]^_`abcddefghijklmnopqrstu vwxyyz{|z}~y4.18.0-517.rt7.306.el8.x86_64.configKconfigKconfig.redhatMakefileMakefile.rhelverModule.symversSystem.maparchKconfigalphaKconfigKconfig.debugMakefilebootMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefileoprofileMakefilearcKconfigKconfig.debugMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileoprofileMakefileplat-axs10xKconfigMakefileplat-eznpsKconfigMakefileplat-hsdkKconfigMakefileplat-simMakefileplat-tb10xKconfigMakefilearmKconfigKconfig-nommuKconfig.debugMakefilebootMakefilebootpMakefilecompressedMakefiledtsMakefilecommonKconfigMakefilecryptoKconfigMakefilefirmwareKconfigMakefilekernelMakefilelibMakefilemach-actionsKconfigMakefilemach-alpineKconfigMakefilemach-artpecKconfigMakefilemach-asm9260Kconfigmach-aspeedKconfigmach-at91KconfigMakefileMakefile.bootmach-axxiaKconfigMakefilemach-bcmKconfigMakefilemach-berlinKconfigMakefilemach-clps711xKconfigMakefilemach-cns3xxxKconfigMakefilemach-davinciKconfigMakefileMakefile.bootmach-digicolorKconfigMakefilemach-doveKconfigMakefileMakefile.bootmach-ebsa110MakefileMakefile.bootmach-efm32MakefileMakefile.bootmach-ep93xxKconfigMakefileMakefile.bootmach-exynosKconfigMakefilemach-footbridgeKconfigMakefileMakefile.bootmach-geminiKconfigMakefilemach-highbankKconfigMakefilemach-hisiKconfigMakefilemach-imxKconfigMakefileMakefile.bootdevicesKconfigMakefilemach-integratorKconfigMakefilemach-iop13xxKconfigMakefileMakefile.bootmach-iop32xKconfigMakefileMakefile.bootmach-iop33xKconfigMakefileMakefile.bootmach-ixp4xxKconfigMakefileMakefile.bootmach-keystoneKconfigMakefilemach-ks8695KconfigMakefileMakefile.bootmach-lpc18xxMakefileMakefile.bootmach-lpc32xxMakefileMakefile.bootmach-mediatekKconfigMakefilemach-mesonKconfigMakefilemach-mmpKconfigMakefilemach-moxartKconfigMakefilemach-mv78xx0KconfigMakefilemach-mvebuKconfigMakefilemach-mxsKconfigMakefilemach-netxKconfigMakefileMakefile.bootmach-nomadikKconfigMakefilemach-npcmKconfigMakefilemach-nspireKconfigMakefilemach-omap1KconfigMakefileMakefile.bootmach-omap2KconfigMakefilemach-orion5xKconfigMakefilemach-oxnasKconfigMakefilemach-picoxcellKconfigMakefilemach-prima2KconfigMakefilemach-pxaKconfigMakefileMakefile.bootmach-qcomKconfigMakefilemach-realviewKconfigMakefilemach-rockchipKconfigMakefilemach-rpcMakefileMakefile.bootmach-s3c24xxKconfigMakefileMakefile.bootmach-s3c64xxKconfigMakefilemach-s5pv210KconfigMakefilemach-sa1100KconfigMakefileMakefile.bootmach-shmobileKconfigMakefilemach-socfpgaKconfigMakefilemach-spearKconfigMakefilemach-stiKconfigMakefilemach-stm32KconfigMakefileMakefile.bootmach-sunxiKconfigMakefilemach-tangoKconfigMakefilemach-tegraKconfigMakefilemach-u300KconfigMakefilemach-uniphierKconfigMakefilemach-ux500KconfigMakefilemach-versatileKconfigMakefilemach-vexpressKconfigMakefileMakefile.bootmach-vt8500KconfigMakefileMakefile.bootmach-w90x900KconfigMakefileMakefile.bootmach-zxKconfigMakefilemach-zynqKconfigMakefilemmKconfigMakefilenetMakefilenwfpeMakefileoprofileMakefileplat-iopMakefileplat-omapKconfigMakefileplat-orionMakefileplat-pxaKconfigMakefileplat-samsungKconfigMakefileplat-versatileKconfigMakefileprobesMakefilekprobesMakefileuprobesMakefiletoolsMakefilevdsoMakefilevfpMakefilexenMakefilearm64KconfigKconfig.debugKconfig.platformsMakefilebootMakefiledtsMakefileactionsMakefilealMakefileallwinnerMakefilealteraMakefileamdMakefileamlogicMakefileapmMakefilearmMakefilebroadcomMakefilenorthstar2MakefilestingrayMakefilecaviumMakefileexynosMakefilefreescaleMakefilehisiliconMakefilelgMakefilemarvellMakefilemediatekMakefilenvidiaMakefileqcomMakefilerealtekMakefilerenesasMakefilerockchipMakefilesocionextMakefilesprdMakefilesynapticsMakefilexilinxMakefilezteMakefilecryptoKconfigMakefilehypervMakefilekernelMakefileprobesMakefilevdsoMakefilevdso32MakefilekvmKconfigMakefilehypMakefilenvheMakefilevheMakefilelibMakefilemmMakefilenetMakefiletoolsMakefilexenMakefilec6xKconfigMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileplatformsKconfigMakefileh8300KconfigKconfig.cpuMakefilebootMakefilecompressedMakefiledtsMakefilekernelMakefilelibMakefilemmMakefilehexagonKconfigMakefilekernelMakefilelibMakefilemmMakefileia64KconfigKconfig.debugMakefiledigMakefilehpcommonMakefilesimKconfigMakefilebootMakefilezx1MakefilekernelMakefileMakefile.gatelibMakefilemmMakefileoprofileMakefilepciMakefilesnMakefilekernelMakefilesn2MakefilepciMakefilepcibrMakefileuvMakefilekernelMakefilem68k68000MakefileKconfigKconfig.busKconfig.cpuKconfig.debugKconfig.devicesKconfig.machineMakefileamigaMakefileapolloMakefileatariMakefilebvme6000MakefilecoldfireMakefileemuMakefilefpsp040Makefilehp300Makefileifpsp060MakefilekernelMakefilelibMakefilemacMakefilemath-emuMakefilemmMakefilemvme147Makefilemvme16xMakefileq40Makefilesun3MakefilepromMakefilesun3xMakefiletoolsamigaMakefilemicroblazeKconfigKconfig.debugKconfig.platformMakefilebootMakefiledtsMakefilekernelMakefilecpuMakefilelibMakefilemmMakefileoprofileMakefilepciMakefilemipsKconfigKconfig.debugMakefileMakefile.postlinkalchemyKconfigMakefilecommonMakefiledevboardsMakefilear7Makefileath25KconfigMakefileath79KconfigMakefilebcm47xxKconfigMakefilebcm63xxKconfigMakefileboardsKconfigMakefilebmipsKconfigMakefilebootMakefilecompressedMakefiledtsMakefilebrcmMakefilecavium-octeonMakefileimgMakefileingenicMakefilelantiqMakefilemsccMakefilemtiMakefilenetlogicMakefileniMakefilepic32MakefileqcaMakefileralinkMakefilexilfpgaMakefiletoolsMakefilecavium-octeonKconfigMakefilecryptoMakefileexecutiveMakefilecobaltMakefilecryptoMakefiledecMakefilepromMakefileemmaMakefilecommonMakefilemarkeinsMakefilefwarcMakefilecfeMakefilelibMakefilesniMakefilegenericKconfigMakefilejazzKconfigMakefilejz4740KconfigMakefilekernelMakefilekvmKconfigMakefilelantiqKconfigMakefilefalconMakefilexwayMakefilelasatKconfigMakefileimageMakefilelibMakefileloongson32KconfigMakefilecommonMakefilels1bMakefilels1cMakefileloongson64KconfigMakefilecommonMakefilecs5536Makefilefuloong-2eMakefilelemote-2fMakefileloongson-3Makefilemath-emuMakefilemmMakefilemti-maltaMakefilenetMakefilenetlogicKconfigMakefilecommonMakefilexlpMakefilexlrMakefileoprofileMakefileparavirtKconfigMakefilepciMakefilepic32KconfigMakefilecommonMakefilepic32mzdaMakefilepistachioKconfigMakefilepmcs-msp71xxKconfigMakefilepnx833xMakefilecommonMakefilestb22xMakefilepowerMakefileralinkKconfigMakefilerb532Makefilesgi-ip22Makefilesgi-ip27KconfigMakefilesgi-ip32MakefilesibyteKconfigMakefilebcm1480MakefilecommonMakefilesb1250MakefileswarmMakefilesniMakefiletxx9KconfigMakefilegenericMakefilejmr3927Makefilerbtx4927Makefilerbtx4938Makefilerbtx4939MakefilevdsoMakefilevr41xxKconfigcasio-e55MakefilecommonMakefileibm-workpadMakefilends32KconfigKconfig.cpuMakefilebootMakefiledtsMakefilekernelMakefilevdsoMakefilelibMakefilemmMakefilenios2KconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemmMakefileplatformKconfig.platformMakefileopenriscKconfigMakefilebootdtsMakefilekernelMakefilelibMakefilemmMakefilepariscKconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefileoprofileMakefilepowerpcKconfigKconfig.debugMakefileMakefile.postlinkbootMakefilecryptoMakefilekernelMakefileptraceMakefiletraceMakefilevdso32Makefilevdso64MakefilekvmKconfigMakefilelibMakefilemath-emuMakefilemmMakefilebook3s32Makefilebook3s64MakefilenetMakefileoprofileMakefileperfMakefileplatforms40xKconfigMakefile44xKconfigMakefile4xxMakefile512xKconfigMakefile52xxKconfigMakefile82xxKconfigMakefile83xxKconfigMakefile85xxKconfigMakefile86xxKconfigMakefile8xxKconfigMakefileKconfigKconfig.cputypeMakefileamigaoneKconfigMakefilebook3sKconfigMakefilecellKconfigMakefilespufsMakefilechrpKconfigMakefileembedded6xxKconfigMakefilemapleKconfigMakefilepasemiKconfigMakefilepowermacKconfigMakefilepowernvKconfigMakefileps3KconfigMakefilepseriesKconfigMakefilepurgatoryMakefilesysdevKconfigMakefilegeMakefilexicsKconfigMakefilexiveKconfigMakefilexmonMakefileriscvKconfigMakefilekernelMakefilevdsoMakefilelibMakefilemmMakefiles390KconfigKconfig.debugMakefileappldataMakefilebootMakefilecompressedMakefilecryptoMakefilehypfsMakefilekernelMakefilesyscallsMakefilevdso32Makefilevdso64MakefilekvmKconfigMakefilelibMakefilemmMakefilenetMakefilenumaMakefileoprofileMakefilepciMakefilepurgatoryMakefilescriptsMakefile.chkbsstoolsMakefileshKconfigKconfig.cpuKconfig.debugMakefileboardsKconfigMakefilemach-ap325rxaMakefilemach-caymanMakefilemach-dreamcastMakefilemach-ecovec24Makefilemach-highlanderKconfigMakefilemach-hp6xxMakefilemach-kfr2r09Makefilemach-landiskMakefilemach-lboxre2Makefilemach-microdevMakefilemach-migorKconfigMakefilemach-r2dKconfigMakefilemach-rskKconfigMakefilemach-sdk7780KconfigMakefilemach-sdk7786Makefilemach-se7206Makefile7343Makefile770xMakefile7721Makefile7722Makefile7724Makefile7751Makefile7780MakefileMakefilemach-sh03Makefilemach-sh7763rdpMakefilemach-x3protoMakefilebootMakefilecompressedMakefiledtsMakefileromimageMakefilecchipsKconfighd6446xMakefiledriversKconfigMakefiledmaKconfigMakefilepciMakefilesuperhywayMakefilekernelMakefilecpuMakefileirqMakefilesh2Makefilesh2aMakefilesh3Makefilesh4Makefilesh4aMakefilesh5MakefileshmobileMakefilevsyscallMakefilelibMakefilelib64Makefilemath-emuMakefilemmKconfigMakefileoprofileMakefiletoolsMakefilesparcKconfigKconfig.debugMakefilebootMakefilecryptoMakefilekernelMakefilelibMakefilemath-emuMakefilemmMakefilenetMakefileoprofileMakefilepowerMakefilepromMakefilevdsoMakefileumKconfig.charKconfig.commonKconfig.debugKconfig.netKconfig.restKconfig.umMakefileMakefile-os-LinuxMakefile-skasdriversMakefilekernelMakefileskasMakefileos-LinuxMakefiledriversMakefileskasMakefilescriptsMakefile.rulesunicore32KconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilelibMakefilemmKconfigMakefilex86KconfigKconfig.cpuKconfig.debugMakefileMakefile.umMakefile_32.cpubootMakefilecompressedMakefilectype.hstring.cstring.hcocoMakefiletdxMakefilecryptoMakefilesha1-mbMakefilesha256-mbMakefilesha512-mbMakefileentryMakefilesyscallsMakefilesyscall_32.tblsyscall_64.tblsyscallhdr.shsyscalltbl.shvdsoMakefilevsyscallMakefileeventsKconfigMakefileamdMakefileintelMakefilehypervMakefileia32MakefileincludeasmKbuilda.out-core.hacenv.hacpi.hagp.halternative.hamd-ibs.hamd_hsmp.hamd_nb.hapb_timer.hapic.hapic_flat_64.hapicdef.hapm.harch_hweight.harchrandom.hasm-offsets.hasm-prototypes.hasm.hatomic.hatomic64_32.hatomic64_64.haudit.hbarrier.hbios_ebda.hbitops.hboot.hbootparam_utils.hbug.hbugs.hcache.hcacheflush.hcacheinfo.hcalgary.hce4100.hchecksum.hchecksum_32.hchecksum_64.hclocksource.hcmdline.hcmpxchg.hcmpxchg_32.hcmpxchg_64.hcoco.hcompat.hcpu.hcpu_device_id.hcpu_entry_area.hcpufeature.hcpufeatures.hcpuid.hcpuidle_haltpoll.hcpumask.hcrash.hcryptoaes.hcamellia.hglue_helper.hserpent-avx.hserpent-sse2.htwofish.hcurrent.hdebugreg.hdelay.hdesc.hdesc_defs.hdevice.hdisabled-features.hdiv64.hdma-mapping.hdma.hdmi.hdwarf2.he820api.htypes.hedac.hefi.helf.hemergency-restart.hemulate_prefix.henclu.hentry_arch.hespfix.hexec.hexport.hextable.hfb.hfixmap.hfloppy.hfpuapi.hinternal.hregset.hsched.hsignal.htypes.hxcr.hxstate.hframe.hfsgsbase.hftrace.hfutex.hgart.hgenapic.hgeode.hhardirq.hhighmem.hhpet.hhugetlb.hhw_breakpoint.hhw_irq.hhyperv-tlfs.hhypervisor.hi8259.hia32.hia32_unistd.himr.hinat.hinat_types.hinit.hinsn-eval.hinsn.hinst.hintel-family.hintel-mid.hintel_ds.hintel_mid_vrtc.hintel_pconfig.hintel_pmc_ipc.hintel_pt.hintel_punit_ipc.hintel_scu_ipc.hintel_telemetry.hinvpcid.hio.hio_apic.hiomap.hiommu.hiosf_mbi.hipi.hirq.hirq_regs.hirq_remapping.hirq_vectors.hirq_work.hirqdomain.hirqflags.hist.hjailhouse_para.hjump_label.hkasan.hkaslr.hkbdleds.hkdebug.hkexec-bzimage64.hkexec.hkgdb.hkprobes.hkvm-x86-ops.hkvm_host.hkvm_page_track.hkvm_para.hkvm_types.hkvm_vcpu_regs.hkvmclock.hlinkage.hlivepatch.hlocal.hlocal64.hmach_timer.hmach_traps.hmath_emu.hmc146818rtc.hmce.hmcsafe_test.hmem_encrypt.hmemtype.hmicrocode.hmicrocode_amd.hmicrocode_intel.hmisc.hmmconfig.hmmu.hmmu_context.hmmx.hmmzone.hmmzone_32.hmmzone_64.hmodule.hmpspec.hmpspec_def.hmpx.hmshyperv.hmsi.hmsidef.hmsr-index.hmsr-trace.hmsr.hmtrr.hmwait.hnmi.hnops.hnospec-branch.hnuma.hnuma_32.hnumachipnumachip.hnumachip_csr.holpc.holpc_ofw.horc_lookup.horc_types.hpage.hpage_32.hpage_32_types.hpage_64.hpage_64_types.hpage_types.hparavirt.hparavirt_types.hparport.hpci-direct.hpci-functions.hpci.hpci_64.hpci_x86.hpercpu.hperf_event.hperf_event_p4.hpgalloc.hpgtable-2level.hpgtable-2level_types.hpgtable-3level.hpgtable-3level_types.hpgtable-invert.hpgtable.hpgtable_32.hpgtable_32_types.hpgtable_64.hpgtable_64_types.hpgtable_types.hpkeys.hpkru.hplatform_sst_audio.hpm-trace.hposix_types.hpreempt.hprobe_roms.hprocessor-cyrix.hprocessor-flags.hprocessor.hprom.hproto.hpti.hptrace.hpurgatory.hpvclock-abi.hpvclock.hqrwlock.hqspinlock.hqspinlock_paravirt.hrealmode.hreboot.hreboot_fixups.hrefcount.hrequired-features.hresctrl.hrio.hrmwcc.hseccomp.hsections.hsegment.hserial.hset_memory.hsetup.hsetup_arch.hsev-common.hsev.hsgx.hsharedio.hmsr.htdx.hshmparam.hsigcontext.hsigframe.hsighandling.hsignal.hsimd.hsmap.hsmp.hsparsemem.hspec-ctrl.hspecial_insns.hspinlock.hspinlock_types.hsta2x11.hstackprotector.hstacktrace.hstring.hstring_32.hstring_64.hsuspend.hsuspend_32.hsuspend_64.hsvm.hswitch_to.hsync_bitops.hsync_core.hsyscall.hsyscall_wrapper.hsyscalls.hsysfb.htce.htdx.htext-patching.hthermal.hthread_info.htime.htimer.htimex.htlb.htlbbatch.htlbflush.htopology.htracecommon.hexceptions.hfpu.hhyperv.hirq_vectors.hmpx.htrace_clock.htrap_pf.htrapnr.htraps.htsc.huaccess.huaccess_32.huaccess_64.humip.hunaligned.hunistd.hunwind.hunwind_hints.huprobes.huser.huser32.huser_32.huser_64.huvbios.huv.huv_geo.huv_hub.huv_irq.huv_mmrs.hvdsovdso.hclocksource.hgettimeofday.hprocessor.hvsyscall.hvga.hvgtod.hvirtext.hvm86.hvmware.hvmx.hvmxfeatures.hvsyscall.hvvar.hword-at-a-time.hx86_init.hxencpuid.hevents.hhypercall.hhypervisor.hinterface.hinterface_32.hinterface_64.hpage-coherent.hpage.hpci.hswiotlb-xen.htrace_types.hxor.hxor_32.hxor_64.hxor_avx.hgeneratedasmdma-contiguous.hearly_ioremap.hkmap_size.hmcs_spinlock.hmm-arch-hooks.hmmiowb.hsyscalls_32.hsyscalls_64.hunistd_32_ia32.hunistd_64_x32.huapiasmbpf_perf_event.hpoll.hsocket.hunistd_32.hunistd_64.hunistd_x32.huapiasmKbuilda.out.hamd_hsmp.hauxvec.hbitsperlong.hboot.hbootparam.hbyteorder.hdebugreg.he820.herrno.hfcntl.hhw_breakpoint.hhwcap2.hioctl.hioctls.hipcbuf.hist.hkvm.hkvm_para.hkvm_perf.hldt.hmce.hmman.hmsgbuf.hmsr.hmtrr.hparam.hperf_regs.hposix_types.hposix_types_32.hposix_types_64.hposix_types_x32.hprctl.hprocessor-flags.hptrace-abi.hptrace.hresource.hsembuf.hsetup.hsgx.hshmbuf.hsigcontext.hsigcontext32.hsiginfo.hsignal.hsockios.hstat.hstatfs.hsvm.hswab.htermbits.htermios.htypes.hucontext.hunistd.hvm86.hvmx.hvsyscall.hkernelMakefileacpiMakefileapicMakefilecpuMakefilemceMakefilemicrocodeMakefilemtrrMakefileresctrlMakefilesgxMakefilefpuMakefilekprobesMakefilekvmKconfigMakefilelibMakefilemath-emuMakefilemmMakefilepatMakefilenetMakefileoprofileMakefilepciMakefileplatformMakefileatomMakefilece4100MakefileefiMakefilegeodeMakefilegoldfishMakefileintelintel-midMakefiledevice_libsMakefileintel-quarkMakefileMakefileirisMakefileolpcMakefilescx200MakefilesfiMakefilets5500MakefileuvMakefilepowerMakefilepurgatoryMakefileentry64.Spurgatory.csetup-x86_64.Sstack.SrasKconfigrealmodeMakefilermMakefiletoolsMakefilerelocs.crelocs.hrelocs_32.crelocs_64.crelocs_common.cumKconfigMakefileos-LinuxMakefilevdsoMakefilevideoMakefilexenKconfigMakefilextensaKconfigKconfig.debugMakefilebootMakefileboot-elfMakefileboot-redbootMakefiledtsMakefilelibMakefilekernelMakefilelibMakefilemmMakefileoprofileMakefileplatformsissMakefilext2000MakefilextfpgaMakefileblockKconfigKconfig.ioschedMakefilepartitionsKconfigMakefilecertsKconfigMakefilecryptoKconfigMakefileasymmetric_keysKconfigMakefileasync_txKconfigMakefiledriversKconfigMakefileaccessibilityKconfigMakefilebrailleMakefileacpiKconfigMakefileacpicaMakefileapeiKconfigMakefilearm64KconfigMakefiledptfKconfigMakefilenfitKconfigMakefilenumaKconfigMakefilepmicKconfigMakefileambaKconfigMakefileandroidKconfigMakefileataKconfigMakefileatmKconfigMakefileauxdisplayKconfigMakefilebaseKconfigMakefilefirmware_loaderKconfigMakefilepowerMakefileregmapKconfigMakefiletestKconfigMakefilebcmaKconfigMakefileblockKconfigMakefileaoeMakefiledrbdKconfigMakefilemtip32xxKconfigMakefileparideKconfigMakefilersxxMakefilexen-blkbackMakefilezramKconfigMakefilebluetoothKconfigMakefilebusKconfigMakefilefsl-mcKconfigMakefilemhiKconfigMakefileepKconfigMakefilehostKconfigMakefilecdromMakefilecharKconfigMakefileagpKconfigMakefilehw_randomKconfigMakefileipmiKconfigMakefilemwaveMakefilepcmciaKconfigMakefiletpmKconfigMakefilest33zp24KconfigMakefilexilinx_hwicapMakefilexillybusKconfigMakefileclkKconfigMakefileactionsKconfigMakefileat91MakefileaxisMakefileaxs10xMakefilebcmKconfigMakefileberlinMakefiledavinciMakefileh8300MakefilehisiliconKconfigMakefileimgtecKconfigMakefileimxMakefileingenicMakefilekeystoneKconfigMakefileloongson1MakefilemediatekKconfigMakefilemesonKconfigMakefilemicrochipMakefilemmpMakefilemvebuKconfigMakefilemxsMakefilenxpMakefilepistachioMakefilepxaMakefileqcomKconfigMakefilerenesasKconfigMakefilerockchipMakefilesamsungKconfigMakefilesirfMakefilesocfpgaMakefilespearMakefilesprdKconfigMakefilestMakefilesunxisunxi-ngKconfigMakefileMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefileux500MakefileversatileKconfigMakefilex86MakefilezteMakefilezynqMakefileclocksourceKconfigMakefileconnectorKconfigMakefilecounterKconfigMakefilecpufreqKconfigKconfig.armKconfig.powerpcKconfig.x86MakefilecpuidleKconfigKconfig.armKconfig.mipsKconfig.powerpcMakefilegovernorsMakefilecryptoKconfigMakefileamccMakefileaxisMakefilebcmMakefilecaamKconfigMakefilecaviumMakefilecptKconfigMakefilenitroxKconfigMakefilezipMakefileccpKconfigMakefileccreeMakefilechelsioKconfigMakefilechtlsMakefileinside-secureMakefilemarvellMakefilemediatekMakefilenxKconfigMakefileqatKconfigMakefileqat_4xxxMakefileqat_c3xxxMakefileqat_c3xxxvfMakefileqat_c62xMakefileqat_c62xvfMakefileqat_commonMakefileqat_dh895xccMakefileqat_dh895xccvfMakefileqceMakefilerockchipMakefilestm32KconfigMakefilesunxi-ssMakefileux500KconfigMakefilecrypMakefilehashMakefilevirtioKconfigMakefilevmxKconfigMakefiledaxKconfigMakefilehmemMakefilepmemMakefiledcaKconfigMakefiledevfreqKconfigMakefileeventKconfigMakefiledioMakefiledmadma-bufKconfigMakefileheapsKconfigMakefileKconfigMakefilebestcommKconfigMakefiledwdw-axi-dmacMakefileKconfigMakefilehsuKconfigMakefileidxdMakefileioatMakefileipuMakefilemediatekKconfigMakefileppc4xxMakefileptdmaKconfigMakefileqcomKconfigMakefileshKconfigMakefiletiKconfigMakefilexilinxMakefileedacKconfigMakefileeisaKconfigMakefileextconKconfigMakefilefirewireKconfigMakefilefirmwareKconfigMakefilearm_scmiMakefilebroadcomKconfigMakefilecirrusKconfigMakefileefiKconfigMakefilelibstubMakefiletestMakefilegoogleKconfigMakefilemesonKconfigMakefilepsciKconfigMakefilesmcccKconfigMakefiletegraKconfigMakefilefmcKconfigMakefilefpgaKconfigMakefilefsiKconfigMakefilegpioKconfigMakefilegpuMakefiledrmKconfigMakefileamdacpKconfigMakefileamdgpuKconfigMakefileamdkfdKconfigMakefiledisplayKconfigMakefileamdgpu_dmMakefiledcMakefilebasicsMakefilebiosMakefileclk_mgrMakefiledceMakefiledce100Makefiledce110Makefiledce112Makefiledce120Makefiledce60Makefiledce80Makefiledcn10Makefiledcn20Makefiledcn201Makefiledcn21Makefiledcn30Makefiledcn301Makefiledcn302Makefiledcn303Makefiledcn31Makefiledcn314Makefiledcn315Makefiledcn316Makefiledcn32Makefiledcn321MakefiledmlMakefiledscMakefilegpioMakefilehdcpMakefileirqMakefilelinkMakefilevirtualMakefiledmubsrcMakefilemodulescolorMakefilefreesyncMakefilehdcpMakefileinfo_packetMakefilepowerMakefilepmMakefilelegacy-dpmMakefilepowerplayMakefilehwmgrMakefilesmumgrMakefileswsmuMakefilesmu11Makefilesmu12Makefilesmu13MakefilearmKconfigMakefilearmadaKconfigMakefileaspeedKconfigMakefileastKconfigMakefileatmel-hlcdcKconfigMakefilebridgeKconfigMakefileadv7511KconfigMakefileanalogixKconfigMakefilecadenceKconfigMakefileimxKconfigMakefilesynopsysKconfigMakefiledisplayKconfigMakefileetnavivKconfigMakefileexynosKconfigMakefilefsl-dcuKconfigMakefilegma500KconfigMakefilegudKconfigMakefilehisiliconKconfigMakefilehibmcKconfigMakefilekirinKconfigMakefilehypervMakefilei2cKconfigMakefilei915KconfigKconfig.debugKconfig.profileKconfig.unstableMakefilegvtMakefileimxKconfigMakefilekmbKconfigMakefilelogicvcKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemgag200KconfigMakefilemsmKconfigMakefilemxsfbKconfigMakefilenouveauKconfigomapdrmKconfigMakefiledisplaysKconfigMakefiledssKconfigMakefilepanelKconfigMakefilepl111KconfigMakefileqxlKconfigMakefileradeonKconfigMakefilercar-duKconfigMakefilerockchipKconfigMakefileschedulerMakefileshmobileKconfigMakefilesolomonKconfigMakefilesprdKconfigMakefilestiKconfigMakefilestmKconfigMakefilesun4iKconfigMakefiletegraKconfigMakefiletestsMakefiletilcdcKconfigMakefiletinyKconfigMakefilettmMakefiletve200KconfigMakefileudlKconfigMakefilev3dKconfigMakefilevboxvideoKconfigMakefilevc4KconfigMakefilevgemMakefilevirtioKconfigMakefilevkmsMakefilevmwgfxKconfigMakefilexenKconfigMakefilehost1xKconfigMakefileipu-v3KconfigMakefilevgaKconfigMakefilehidKconfigMakefileamd-sfh-hidKconfigMakefilei2c-hidKconfigMakefileintel-ish-hidKconfigMakefilesurface-hidKconfigMakefileusbhidKconfigMakefilehsiKconfigMakefileclientsKconfigMakefilecontrollersKconfigMakefilehvKconfigMakefilehwmonKconfigMakefilepmbusKconfigMakefilehwspinlockKconfigMakefilehwtracingKconfigcoresightKconfigMakefileintel_thKconfigMakefilestmKconfigMakefilei2cKconfigMakefilealgosKconfigMakefilebussesKconfigMakefilemuxesKconfigMakefileideKconfigMakefileidleKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileafeKconfigMakefileamplifiersKconfigMakefilebufferKconfigMakefilechemicalKconfigMakefilecommonKconfigMakefilecros_ec_sensorsKconfigMakefilehid-sensorsKconfigMakefilems_sensorsKconfigMakefilessp_sensorsKconfigMakefilest_sensorsKconfigMakefilecounterKconfigMakefiledacKconfigMakefiledummyKconfigMakefilefrequencyKconfigMakefilegyroKconfigMakefilehealthKconfigMakefilehumidityKconfigMakefileimuKconfigMakefilebmi160KconfigMakefileinv_mpu6050KconfigMakefilest_lsm6dsxKconfigMakefilelightKconfigMakefilemagnetometerKconfigMakefilemultiplexerKconfigMakefileorientationKconfigMakefilepotentiometerKconfigMakefilepotentiostatKconfigMakefilepressureKconfigMakefileproximityKconfigMakefileresolverKconfigMakefiletemperatureKconfigMakefiletestKconfigMakefiletriggerKconfigMakefileinfinibandKconfigMakefilecoreMakefilehwMakefilebnxt_reKconfigMakefilecxgb4KconfigMakefileefaKconfigMakefilehfi1KconfigMakefilehnsKconfigMakefileirdmaKconfigMakefilemanaKconfigMakefilemlx4KconfigMakefilemlx5KconfigMakefilemthcaKconfigMakefileocrdmaKconfigMakefileqedrKconfigMakefileqibKconfigMakefileusnicKconfigMakefilevmw_pvrdmaKconfigMakefileswMakefilerdmavtKconfigMakefilerxeKconfigMakefilesiwKconfigMakefileulpMakefileipoibKconfigMakefileiserKconfigMakefileisertKconfigMakefileopa_vnicKconfigMakefilesrpKconfigsrptKconfigMakefileinputKconfigMakefilegameportKconfigMakefilejoystickKconfigMakefileiforceKconfigMakefilekeyboardKconfigMakefilemiscKconfigMakefilemouseKconfigMakefilermi4KconfigMakefileserioKconfigMakefiletabletKconfigMakefiletouchscreenKconfigMakefileiommuKconfigMakefileamdKconfigMakefilearmMakefilearm-smmuarm-smmu-v3MakefileMakefileintelKconfigMakefileipackKconfigMakefilecarriersKconfigMakefiledevicesKconfigMakefileirqchipKconfigMakefileisdnKconfigMakefilecapiKconfigMakefiledivertMakefilegigasetKconfigMakefilehardwareKconfigMakefileavmKconfigMakefileeiconKconfigMakefilemISDNKconfigMakefilehisaxKconfigMakefilehysdnKconfigMakefilei4lKconfigMakefileisdnloopMakefilemISDNKconfigMakefileledsKconfigMakefiletriggerKconfigMakefilelightnvmKconfigMakefilemacintoshKconfigMakefileamsMakefilemailboxKconfigMakefilemcbKconfigMakefilemdKconfigMakefilebcacheKconfigMakefilepersistent-dataKconfigMakefilemediaKconfigMakefilececKconfigMakefilecommonKconfigMakefileb2c2KconfigMakefilesaa7146KconfigMakefilesianoKconfigMakefilev4l2-tpgKconfigMakefilevideobuf2KconfigMakefiledvb-coreKconfigMakefiledvb-frontendsKconfigMakefilecxd2880KconfigMakefiledrx39xyjKconfigMakefilefirewireKconfigMakefilei2cKconfigMakefileadv748xMakefilecx25840KconfigMakefileet8ek8KconfigMakefilem5molsKconfigMakefiles5c73m3MakefilesmiappKconfigMakefilesoc_cameraKconfigMakefilemmcKconfigMakefilesianoKconfigMakefilepciKconfigMakefileb2c2KconfigMakefilebt8xxKconfigMakefilecobaltKconfigMakefilecx18KconfigMakefilecx23885KconfigMakefilecx25821KconfigMakefilecx88KconfigMakefileddbridgeKconfigMakefiledm1105KconfigMakefiledt3155KconfigMakefileintelMakefileipu3KconfigMakefileivtvKconfigMakefilemantisKconfigMakefilemeyeKconfigMakefilenetup_unidvbKconfigMakefilengeneKconfigMakefilepluto2KconfigMakefilept1KconfigMakefilept3KconfigMakefilesaa7134KconfigMakefilesaa7146KconfigMakefilesaa7164KconfigMakefilesmipcieKconfigMakefilesolo6x10KconfigMakefilesta2x11KconfigMakefilettpciKconfigMakefiletw5864KconfigMakefiletw68KconfigMakefiletw686xKconfigMakefileplatformKconfigMakefileam437xKconfigMakefileatmelKconfigMakefilecadenceKconfigMakefilecec-gpioMakefilecodaMakefiledavinciKconfigMakefileexynos-gscMakefileexynos4-isKconfigMakefilemarvell-ccicKconfigMakefilemesonMakefilemtk-jpegMakefilemtk-mdpMakefilemtk-vcodecMakefilemtk-vpuMakefileomapKconfigMakefileomap3ispMakefileqcomcamss-8x16MakefilevenusMakefilercar-vinKconfigMakefilerockchiprgaMakefiles3c-camifMakefiles5p-cecMakefiles5p-g2dMakefiles5p-jpegMakefiles5p-mfcMakefilesoc_cameraKconfigMakefilestibdispMakefilec8sectpfeKconfigMakefilececMakefiledeltaMakefilehvaMakefilestm32Makefiletegra-cecMakefileti-vpeMakefilevimcKconfigMakefilevividKconfigMakefilevsp1MakefilexilinxKconfigMakefileradioKconfigMakefilesi470xKconfigMakefilesi4713KconfigMakefilewl128xKconfigMakefilercKconfigMakefileimg-irKconfigMakefilekeymapsKconfigMakefilespiKconfigMakefiletunersKconfigMakefileusbKconfigMakefileairspyKconfigMakefileas102KconfigMakefileau0828KconfigMakefileb2c2KconfigMakefilecpia2KconfigMakefilecx231xxKconfigMakefiledvb-usbdvb-usb-v2KconfigMakefileKconfigMakefileem28xxKconfigMakefilego7007KconfigMakefilegspcaKconfigMakefilegl860KconfigMakefilem5602KconfigMakefilestv06xxKconfigMakefilehackrfKconfigMakefilehdpvrKconfigMakefilemsi2500KconfigMakefilepulse8-cecKconfigMakefilepvrusb2KconfigMakefilepwcKconfigMakefilerainshadow-cecKconfigMakefiles2255KconfigMakefilesianoKconfigMakefilestk1160KconfigMakefilestkwebcamKconfigMakefiletm6000KconfigMakefilettusb-budgetKconfigMakefilettusb-decKconfigMakefileusbtvKconfigMakefileusbvisionKconfigMakefileuvcKconfigMakefilezr364xxKconfigMakefilev4l2-coreKconfigMakefilememoryKconfigMakefileMakefile.asm-offsetssamsungKconfigMakefiletegraKconfigMakefilememstickKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemessageMakefilefusionKconfigMakefilemfdKconfigMakefilemiscKconfigMakefilealtera-staplKconfigMakefilec2portKconfigMakefilecardreaderKconfigMakefilecb710KconfigMakefilecxlKconfigMakefileechoKconfigMakefileeepromKconfigMakefilegenwqeKconfigMakefileibmasmMakefilelis3lv02dKconfigMakefilelkdtmMakefilemeiKconfigMakefilehdcpKconfigMakefilepxpKconfigMakefilemicKconfigMakefilebusMakefilecardMakefilecosmMakefilecosm_clientMakefilehostMakefilescifMakefilevopMakefileocxlKconfigMakefilesgi-gruMakefilesgi-xpMakefileti-stKconfigMakefilevmw_vmciKconfigMakefilemmcKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemtdKconfigMakefilechipsKconfigMakefiledevicesKconfigMakefilelpddrKconfigMakefilemapsKconfigMakefilenandKconfigMakefileonenandKconfigMakefilerawKconfigMakefileatmelMakefilebcm47xxnflashMakefilebrcmnandMakefilegpmi-nandMakefileparsersKconfigMakefilespi-norKconfigMakefiletestsMakefileubiKconfigMakefilemuxKconfigMakefilenetKconfigMakefileappletalkKconfigMakefilearcnetKconfigMakefilebondingMakefilecaifKconfigMakefilecanKconfigMakefilec_canKconfigMakefilecc770KconfigMakefileifi_canfdKconfigMakefilem_canKconfigMakefilemscanKconfigMakefilepeak_canfdKconfigMakefilercarKconfigMakefilesja1000KconfigMakefilesoftingKconfigMakefilespiKconfigMakefileusbKconfigMakefilekvaser_usbMakefilepeak_usbMakefiledsaKconfigMakefileb53KconfigMakefilemicrochipKconfigMakefilemv88e6xxxKconfigMakefileethernet3comKconfigMakefile8390KconfigMakefileKconfigMakefileadaptecKconfigMakefileaeroflexKconfigMakefileagereKconfigMakefilealacritechKconfigMakefileallwinnerKconfigMakefilealteonKconfigMakefilealteraKconfigMakefileamazonKconfigMakefileenaMakefileamdKconfigMakefilexgbeMakefileapmKconfigMakefilexgenexgene-v2KconfigMakefileKconfigMakefileappleKconfigMakefileaquantiaKconfigMakefileatlanticMakefilehw_atlMakefilearcKconfigMakefileatherosKconfigMakefilealxMakefileatl1cMakefileatl1eMakefileatlxMakefileauroraKconfigMakefilebroadcomKconfigMakefilebnx2xMakefilebnxtMakefilegenetMakefilebrocadeKconfigMakefilebnaKconfigMakefilecadenceKconfigMakefilecalxedaKconfigMakefilecaviumKconfigMakefilecommonMakefileliquidioMakefileocteonMakefilethunderMakefilechelsioKconfigMakefilecxgbMakefilecxgb3Makefilecxgb4Makefilecxgb4vfMakefileinline_cryptoKconfigMakefilech_ipsecMakefilech_ktlsMakefilelibcxgbMakefilecirrusKconfigMakefileciscoKconfigMakefileenicKconfigMakefilecortinaKconfigMakefiledavicomKconfigMakefiledecKconfigMakefiletulipKconfigMakefiledlinkKconfigMakefileemulexKconfigMakefilebenetKconfigMakefileezchipKconfigMakefilefaradayKconfigMakefilefreescaleKconfigMakefiledpaaKconfigMakefilefmanKconfigMakefilefs_enetKconfigMakefilefujitsuKconfigMakefilegoogleKconfigMakefilegveMakefilehisiliconKconfigMakefilehnsMakefilehns3Makefilehns3pfMakefilehns3vfMakefilehpKconfigMakefilehuaweiKconfigMakefilehinicKconfigMakefilei825xxKconfigMakefileibmKconfigMakefileeheaMakefileemacKconfigMakefileintelKconfigMakefilee1000Makefilee1000eMakefilefm10kMakefilei40eMakefileiavfMakefileiceMakefileigbMakefileigbvfMakefileigcMakefileixgbMakefileixgbeMakefileixgbevfMakefilemarvellKconfigMakefilemvpp2MakefilemediatekKconfigMakefilemellanoxKconfigMakefilemlx4KconfigMakefilemlx5coreKconfigMakefileaccelMakefilediagMakefileenMakefilexskMakefileen_accelMakefileeswMakefilefpgaMakefileipoibMakefilelibMakefilesteeringMakefilemlxbf_gigeKconfigMakefilemlxfwKconfigMakefilemlxswKconfigMakefilemicrelKconfigMakefilemicrochipKconfigMakefilemicrosoftKconfigMakefilemanaMakefilemoxaKconfigMakefilemsccKconfigMakefilemyricomKconfigMakefilemyri10geMakefilenatsemiKconfigMakefileneterionKconfigMakefilevxgeMakefilenetronomeKconfigMakefilenfpMakefilebpfMakefileflowerMakefilenfpcoreMakefilenfp6000MakefilenicMakefileniKconfigMakefilenuvotonKconfigMakefilenvidiaKconfigMakefilenxpKconfigMakefileoki-semiKconfigMakefilepch_gbeKconfigMakefilepacketenginesKconfigMakefilepasemiKconfigMakefilepensandoKconfigMakefileionicMakefileqlogicKconfigMakefilenetxenMakefileqedMakefileqedeMakefileqlcnicMakefileqlgeMakefilequalcommKconfigMakefileemacMakefilermnetKconfigMakefilerdcKconfigMakefilerealtekKconfigMakefilerenesasKconfigMakefilerockerKconfigMakefilesamsungKconfigMakefilesxgbeMakefileseeqKconfigMakefilesfcKconfigMakefilefalconKconfigMakefilesienaKconfigMakefilesgiKconfigMakefilesilanKconfigMakefilesisKconfigMakefilesmscKconfigMakefilesocionextKconfigMakefilestmicroKconfigMakefilestmmacKconfigMakefilesunKconfigMakefilesynopsysKconfigMakefiletehutiKconfigMakefiletiKconfigMakefiletoshibaKconfigMakefiletundraKconfigMakefileviaKconfigMakefilewiznetKconfigMakefilexilinxKconfigMakefilexircomKconfigMakefilexscaleKconfigMakefilefddiKconfigMakefileskfpMakefilefjesMakefilehamradioKconfigMakefilehippiKconfigMakefilehypervKconfigMakefileieee802154KconfigMakefileipvlanMakefilenetdevsimMakefilepcsKconfigMakefilephyKconfigMakefileplipKconfigMakefilepppKconfigMakefileslipKconfigMakefileteamKconfigMakefilethunderboltKconfigMakefileusbKconfigMakefilevmxnet3MakefilewanKconfigMakefilelmcMakefilewimaxKconfigMakefilei2400mKconfigMakefilewirelessKconfigMakefileadmtekKconfigMakefileathKconfigMakefilear5523KconfigMakefileath10kKconfigMakefileath11kKconfigMakefileath12kKconfigMakefileath5kKconfigMakefileath6klKconfigMakefileath9kKconfigMakefilecarl9170KconfigMakefilewcn36xxKconfigMakefilewil6210KconfigMakefileatmelKconfigMakefilebroadcomKconfigMakefileb43KconfigMakefileb43legacyKconfigMakefilebrcm80211KconfigMakefilebrcmfmacKconfigMakefilebcaMakefilecywMakefilewccMakefilebrcmsmacMakefilebrcmutilMakefileciscoKconfigMakefileintelKconfigMakefileipw2x00KconfigMakefileiwlegacyKconfigMakefileiwlwifiKconfigMakefiledvmMakefilemeiMakefilemvmMakefileintersilKconfigMakefilehostapKconfigMakefileorinocoKconfigMakefilep54KconfigMakefileprism54MakefilelegacyKconfigMakefilemarvellKconfigMakefilelibertasKconfigMakefilelibertas_tfKconfigMakefilemwifiexKconfigMakefilemediatekKconfigMakefilemt76KconfigMakefilemt7603KconfigMakefilemt7615KconfigMakefilemt76x0KconfigMakefilemt76x2KconfigMakefilemt7915KconfigMakefilemt7921KconfigMakefilemt7996KconfigMakefilemt7601uKconfigMakefilequantennaKconfigMakefileqtnfmacKconfigMakefileralinkKconfigMakefilert2x00KconfigMakefilerealtekKconfigMakefilertl818xKconfigMakefilertl8180Makefilertl8187Makefilertl8xxxuKconfigMakefilertlwifiKconfigMakefilebtcoexistMakefilertl8188eeMakefilertl8192cMakefilertl8192ceMakefilertl8192cuMakefilertl8192deMakefilertl8192eeMakefilertl8192seMakefilertl8723aeMakefilertl8723beMakefilertl8723comMakefilertl8821aeMakefilertw88KconfigMakefilertw89KconfigMakefilersiKconfigMakefilestKconfigMakefilecw1200KconfigMakefiletiKconfigMakefilewl1251KconfigMakefilewl12xxKconfigMakefilewl18xxKconfigMakefilewlcoreKconfigMakefilevirtualKconfigMakefilezydasKconfigMakefilezd1211rwKconfigMakefilexen-netbackMakefilenfcKconfigMakefilefdpKconfigMakefilemicroreadKconfigMakefilenfcmrvlKconfigMakefilenxp-nciKconfigMakefilepn533KconfigMakefilepn544KconfigMakefiles3fwrn5KconfigMakefilest-nciKconfigMakefilest21nfcaKconfigMakefilest95hfKconfigMakefilentbKconfigMakefilehwKconfigMakefileamdKconfigMakefileepfKconfigMakefileidtKconfigMakefileintelKconfigMakefilemsccKconfigMakefiletestKconfigMakefilenubusMakefilenvdimmKconfigMakefilenvmeKconfigMakefilehostKconfigMakefiletargetKconfigMakefilenvmemKconfigMakefileofKconfigMakefileunittest-dataMakefileoppKconfigMakefilepariscKconfigMakefileparportKconfigMakefilepciKconfigMakefilecontrollerKconfigMakefiledwcKconfigMakefileendpointKconfigMakefilefunctionsKconfigMakefilehotplugKconfigMakefilepcieKconfigMakefileswitchKconfigMakefilepcmciaKconfigMakefileperfKconfigMakefilehisiliconMakefilephyKconfigMakefileallwinnerKconfigMakefileamlogicKconfigMakefilebroadcomKconfigMakefilehisiliconKconfigMakefilelantiqKconfigMakefilemarvellKconfigMakefilemediatekKconfigMakefilemotorolaKconfigMakefilequalcommKconfigMakefileralinkKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilestKconfigMakefiletegraKconfigMakefiletiKconfigMakefilepinctrlKconfigMakefileactionsKconfigMakefileaspeedKconfigMakefilebcmKconfigMakefileberlinKconfigMakefilefreescaleKconfigMakefileintelKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemvebuKconfigMakefilenomadikKconfigMakefilepxaKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefilesh-pfcKconfigMakefilesirfMakefilespearKconfigMakefilesprdKconfigMakefilestm32KconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefilevt8500KconfigMakefilezteKconfigMakefileplatformKconfigMakefilechromeKconfigMakefilegoldfishKconfigMakefilemellanoxKconfigMakefilemipsKconfigMakefileolpcMakefilex86KconfigMakefiledell-wmi-sysmanMakefileintelKconfigMakefileifsKconfigMakefilepmcKconfigMakefilepmtKconfigMakefilespeed_select_ifKconfigMakefileuncore-frequencyKconfigMakefilepnpKconfigMakefileisapnpKconfigMakefilepnpacpiKconfigMakefilepnpbiosKconfigMakefilepowerKconfigMakefileavsKconfigMakefileresetKconfigMakefilesupplyKconfigMakefilepowercapKconfigMakefileppsKconfigMakefileclientsKconfigMakefilegeneratorsKconfigMakefileps3MakefileptpKconfigMakefilepwmKconfigMakefilerapidioKconfigMakefiledevicesKconfigMakefileswitchesKconfigMakefilerasKconfigMakefileregulatorKconfigMakefileremoteprocKconfigMakefileresetKconfigMakefilehisiliconKconfigMakefilestiKconfigMakefiletegraKconfigMakefilerpmsgKconfigMakefilertcKconfigMakefiles390MakefileblockKconfigMakefilecharKconfigMakefilecioMakefilecryptoMakefilenetKconfigMakefilescsiMakefilevirtioMakefilesbusMakefilecharKconfigMakefilescsiKconfigMakefileaacraidMakefileaic7xxxKconfig.aic79xxKconfig.aic7xxxMakefileaicasmMakefileaic94xxKconfigMakefilearcmsrMakefilearmKconfigMakefilebe2iscsiKconfigMakefilebfaMakefilebnx2fcKconfigMakefilebnx2iKconfigMakefilecsiostorKconfigMakefilecxgbiKconfigMakefilecxgb3iKconfigcxgb4iKconfigcxlflashKconfigMakefiledevice_handlerKconfigMakefileesas2rKconfigMakefilefcoeMakefilefnicMakefilehisi_sasKconfigMakefileibmvscsiMakefileibmvscsi_tgtMakefileisciMakefilelibfcMakefilelibsasKconfigMakefilelpfcMakefilemegaraidKconfig.megaraidMakefilempi3mrKconfigMakefilempt3sasKconfigMakefilemvsasKconfigMakefilepcmciaKconfigMakefilepm8001MakefileqedfKconfigMakefileqediKconfigMakefileqla2xxxKconfigMakefileqla4xxxKconfigMakefilesmartpqiKconfigMakefilesnicMakefilesym53c8xx_2MakefileufsKconfigMakefilesfiKconfigMakefileshKconfigMakefileclkMakefileintcKconfigMakefilemapleMakefilesuperhywayMakefilesioxKconfigMakefileslimbusKconfigMakefilesnKconfigMakefilesocKconfigMakefileactionsKconfigMakefileamlogicKconfigMakefileatmelKconfigMakefilebcmKconfigMakefilebrcmstbKconfigMakefilepmMakefiledoveMakefilefslKconfigMakefileqbmanKconfigMakefileqeKconfigMakefilefujitsuKconfigMakefilegeminiMakefileimxKconfigMakefilelantiqMakefilemediatekKconfigMakefileqcomKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefilefuseMakefiletiKconfigMakefileux500KconfigMakefileversatileKconfigMakefilexilinxKconfigMakefilezteKconfigMakefilesoundwireKconfigMakefilespiKconfigMakefilespmiKconfigMakefilessbKconfigMakefilestagingKconfigMakefileandroidKconfigMakefileionKconfigMakefileboardKconfigMakefileclocking-wizardKconfigMakefilecomediKconfigMakefiledriversMakefilekcomedilibMakefiledgncKconfigMakefileemxx_udcKconfigMakefilefbtftKconfigMakefilefsl-dpaa2KconfigMakefileethernetMakefileethswMakefilertcMakefilefsl-mcKconfigMakefilebusKconfigMakefiledpioMakefilefwserialKconfigMakefilegdm724xKconfigMakefilegoldfishKconfigMakefilegreybusKconfigMakefiletoolsMakefilegs_fpgabootKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileaddacKconfigMakefilecdcKconfigMakefilefrequencyKconfigMakefilegyroKconfigMakefileimpedance-analyzerKconfigMakefilemeterKconfigMakefileresolverKconfigMakefileks7010KconfigMakefilemediaKconfigMakefilebcm2048KconfigMakefiledavinci_vpfeKconfigMakefileimxKconfigMakefileimx074KconfigMakefilemt9t031KconfigMakefileomap4issKconfigMakefiletegra-vdeKconfigMakefilezoranKconfigMakefilemostKconfigMakefilecdevKconfigMakefiledim2KconfigMakefilei2cKconfigMakefilenetKconfigMakefilesoundKconfigMakefileusbKconfigMakefilevideoKconfigMakefilemt29f_spinandKconfigMakefilemt7621-dmaKconfigMakefilemt7621-dtsKconfigMakefilemt7621-ethKconfigMakefilemt7621-gpioKconfigMakefilemt7621-mmcKconfigMakefilemt7621-pciMakefilemt7621-pinctrlKconfigMakefilemt7621-spiKconfigMakefilenetlogicKconfigMakefilenvecKconfigMakefileocteonocteon-usbKconfigMakefileKconfigMakefileolpc_dconKconfigMakefilepi433KconfigMakefilertl8188euKconfigMakefilertl8192eKconfigMakefilertl8192eKconfigMakefilertl8192uKconfigMakefileieee80211Makefilertl8712KconfigMakefilertl8723bsKconfigMakefilertlwifiKconfigMakefilebtcoexistMakefilertl8822beMakefilerts5208KconfigMakefileskeinKconfigMakefilesm750fbKconfigMakefilespeakupKconfigMakefileunisysKconfigMakefilevisorhbaKconfigMakefilevisorinputKconfigMakefilevisornicKconfigMakefilevboxvideoKconfigMakefilevc04_servicesKconfigMakefilebcm2835-audioKconfigMakefilebcm2835-cameraKconfigMakefilevmeMakefiledevicesKconfigMakefilevt6655KconfigMakefilevt6656KconfigMakefilewilc1000KconfigMakefilewlan-ngKconfigMakefilexgifbKconfigMakefiletargetKconfigMakefileiscsiKconfigMakefilecxgbitKconfigMakefileloopbackKconfigMakefilesbpKconfigMakefiletcm_fcKconfigMakefiletcMakefileteeKconfigMakefileopteeKconfigMakefilethermalKconfigMakefilebroadcomKconfigMakefileintelKconfigMakefileint340x_thermalKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefilestKconfigMakefiletegraKconfigMakefileti-soc-thermalKconfigMakefilethunderboltKconfigMakefilettyKconfigMakefilehvcKconfigMakefileipwirelessMakefileserdevKconfigMakefileserial8250KconfigMakefileKconfigMakefilecpm_uartMakefilejsmMakefilevtMakefileuioKconfigMakefileusbKconfigMakefileatmKconfigMakefilec67x00MakefilechipideaKconfigMakefileclassKconfigMakefilecommonKconfigMakefilecoreKconfigMakefiledwc2KconfigMakefiledwc3KconfigMakefileearlyMakefilegadgetKconfigMakefilefunctionMakefilelegacyKconfigMakefileudcKconfigMakefileaspeed-vhubKconfigMakefilebdcKconfigMakefilehostKconfigMakefilewhciMakefileimageKconfigMakefileisp1760KconfigMakefilemiscKconfigMakefilesisusbvgaKconfigMakefilemonKconfigMakefilemtu3KconfigMakefilemusbKconfigMakefilephyKconfigMakefilerenesas_usbhsKconfigMakefilerolesKconfigMakefileserialKconfigMakefileMakefile-keyspan_pda_fwstorageKconfigMakefiletypecKconfigMakefilealtmodesKconfigMakefilemuxKconfigMakefiletcpmKconfigMakefiletipdKconfigMakefileucsiKconfigMakefileusbipKconfigMakefilewusbcoreKconfigMakefileuwbKconfigMakefilei1480MakefiledfuMakefilevdpaKconfigMakefilealibabaMakefileifcvfMakefilemlx5Makefilevdpa_simMakefilevirtio_pciMakefilevfioKconfigMakefilemdevKconfigMakefilepciKconfigMakefileplatformKconfigMakefileresetKconfigMakefilevhostKconfigKconfig.vringhMakefilevideoKconfigMakefilebacklightKconfigMakefileconsoleKconfigMakefilefbdevKconfigMakefileatyMakefilecoreMakefilegeodeKconfigMakefilei810MakefileintelfbMakefilekyroMakefilematroxMakefilemb862xxMakefilembxMakefilemmpKconfigMakefilefbKconfigMakefilehwKconfigMakefilepanelKconfigMakefilenvidiaMakefileomapKconfigMakefileomap2KconfigMakefileomapfbKconfigMakefiledisplaysKconfigMakefiledssKconfigMakefilerivaMakefilesavageMakefilesisMakefilevermilionMakefileviaMakefilelogoKconfigMakefilevirtKconfigMakefilecocosev-guestKconfigMakefiletdx-guestKconfigMakefilenitro_enclavesKconfigMakefilevboxguestKconfigMakefilevirtioKconfigMakefilevisorbusKconfigMakefilevlynqKconfigMakefilevmeKconfigMakefileboardsKconfigMakefilebridgesKconfigMakefilew1KconfigMakefilemastersKconfigMakefileslavesKconfigMakefilewatchdogKconfigMakefilexenKconfigMakefileeventsMakefilexen-pcibackMakefilexenbusMakefilexenfsMakefilezorroKconfigMakefilefirmwareMakefilefs9pKconfigMakefileKconfigKconfig.binfmtMakefileadfsKconfigMakefileaffsKconfigMakefileafsKconfigMakefileautofsKconfigMakefilebefsKconfigMakefilebfsKconfigMakefilebtrfsKconfigMakefilecachefilesKconfigMakefilecephKconfigMakefilecifsKconfigMakefilecodaKconfigMakefileconfigfsKconfigMakefilecramfsKconfigMakefilecryptoKconfigMakefiledebugfsMakefiledevptsMakefiledlmKconfigMakefileecryptfsKconfigMakefileefivarfsKconfigMakefileefsKconfigMakefileexportfsMakefileext2KconfigMakefileext4KconfigMakefilef2fsKconfigMakefilefatKconfigMakefilefreevxfsKconfigMakefilefscacheKconfigMakefilefuseKconfigMakefilegfs2KconfigMakefilehfsKconfigMakefilehfsplusKconfigMakefilehostfsMakefilehpfsKconfigMakefilehugetlbfsMakefileiomapMakefileisofsKconfigMakefilejbd2KconfigMakefilejffs2KconfigMakefilejfsKconfigMakefilekernfsKconfigMakefilelockdMakefileminixKconfigMakefilenfsKconfigMakefileblocklayoutMakefilefilelayoutMakefileflexfilelayoutMakefilenfs_commonMakefilenfsdKconfigMakefilenilfs2KconfigMakefilenlsKconfigMakefilenotifyKconfigMakefilednotifyKconfigMakefilefanotifyKconfigMakefileinotifyKconfigMakefilentfsKconfigMakefileocfs2KconfigMakefileclusterMakefiledlmMakefiledlmfsMakefileomfsKconfigMakefileopenpromfsMakefileorangefsKconfigMakefileoverlayfsKconfigMakefileprocKconfigMakefilepstoreKconfigMakefileqnx4KconfigMakefileqnx6KconfigMakefilequotaKconfigMakefileramfsMakefilereiserfsKconfigMakefileromfsKconfigMakefilesquashfsKconfigMakefilesysfsKconfigMakefilesysvKconfigMakefiletracefsMakefileubifsKconfigMakefileudfKconfigMakefileufsKconfigMakefilexfsKconfigMakefileincludeacpiacbuffer.hacconfig.hacexcep.hacnames.hacoutput.hacpi.hacpi_bus.hacpi_drivers.hacpi_io.hacpi_lpat.hacpi_numa.hacpiosxf.hacpixf.hacrestyp.hactbl.hactbl1.hactbl2.hactbl3.hactypes.hacuuid.hapei.hbattery.hbutton.hcppc_acpi.hghes.hhed.hnfit.hpcc.hpdc_intel.hplatformacenv.hacenvex.hacgcc.hacgccex.hacintel.haclinux.haclinuxex.hprocessor.hreboot.hvideo.hasm-generic4level-fixup.h5level-fixup.hasm-offsets.hasm-prototypes.hatomic-instrumented.hatomic-long.hatomic.hatomic64.haudit_change_attr.haudit_dir_write.haudit_read.haudit_signal.haudit_write.hbarrier.hbitopsbitops-instrumented.hbitops.h__ffs.h__fls.harch_hweight.hatomic.hbuiltin-__ffs.hbuiltin-__fls.hbuiltin-ffs.hbuiltin-fls.hconst_hweight.hext2-atomic-setbit.hext2-atomic.hffs.hffz.hfind.hfls.hfls64.hhweight.hle.hlock.hnon-atomic.hsched.hbitsperlong.hbug.hbugs.hcache.hcacheflush.hchecksum.hcmpxchg-local.hcmpxchg.hcompat.hcurrent.hdelay.hdevice.hdiv64.hdma-contiguous.hdma-mapping.hdma.hearly_ioremap.hemergency-restart.herror-injection.hexec.hexport.hextable.hfb.hfixmap.hftrace.hfutex.hgetorder.hgpio.hhardirq.hhugetlb.hhw_irq.hhyperv-tlfs.hide_iops.hint-ll64.hio.hioctl.hiomap.hirq.hirq_regs.hirq_work.hirqflags.hkdebug.hkmap_size.hkprobes.hkvm_para.hkvm_types.hlinkage.hlocal.hlocal64.hmcs_spinlock.hmemory_model.hmm-arch-hooks.hmm_hooks.hmmiowb.hmmiowb_types.hmmu.hmmu_context.hmodule.hmshyperv.hmsi.hnuma.hpage.hparam.hparport.hpci.hpci_iomap.hpercpu.hpgalloc.hpgtable-nop4d-hack.hpgtable-nop4d.hpgtable-nopmd.hpgtable-nopud.hpgtable.hpgtable_uffd.hpreempt.hptrace.hqrwlock.hqrwlock_types.hqspinlock.hqspinlock_types.hresource.hseccomp.hsections.hsegment.hserial.hset_memory.hsignal.hsimd.hsizes.hspinlock.hstatfs.hstring.hswitch_to.hsyscall.hsyscalls.htermios-base.htermios.htimex.htlb.htlbflush.htopology.htrace_clock.huaccess.hunaligned.hunistd.huser.hvdsovsyscall.hvga.hvmlinux.lds.hvtime.hword-at-a-time.hxor.hclocksourcearm_arch_timer.hhyperv_timer.hpxa.hsamsung_pwm.htimer-sp804.htimer-ti-dm.hconfig64bit.h6lowpan.h8139cp.h8139too8139too.h8129.hac97bus.hacerwmi.hacerhdf.hacpiacpi.hac.hadxl.hapeiapei.heinj.hghes.hmemoryfailure.hpcieaer.hbattery.hbgrt.hbutton.hcmpc.hcontainer.hcppclib.hcpufreqpss.hdock.hdptf.hecdebugfs.hextlog.hfan.hfpdt.hhed.hhmat.hhotplugcpu.hioapic.hmemory.hi2copregion.hipmi.hlegacytableslookup.hlpit.hnfit.hnuma.hpcislot.hplatformprofile.hprmt.hprocessorprocessor.haggregator.hcstate.hidle.hrevoverridepossible.hsbs.hsleep.hspcrtable.hsystempowerstatessupport.htableupgrade.htad.hthermalthermal.hrel.hvideo.hwatchdog.hwmi.hadvisesyscalls.haio.halim1535wdt.halim7101wdt.hallowdevcoredump.halterastapl.halx.hamdhsmp.hiommuiommu.hv2.hmemencrypt.hnb.hnuma.hphy.hpmc.hptdma.hsfhhid.hxgbexgbe.hhaveecc.hamigapartition.hamilorfkill.hapds9802als.haperturehelpers.happlegmux.hmfifastcharge.hproperties.haqtion.haquantiaphy.harchclocksourceinit.hcpuidlehaltpoll.hdefconfig.hdmaaddrt64bit.henablehugepagemigration.hmemoryhotplug.hhotremove.hsplitpmdptlock.hhasacpitableupgrade.haddpages.hcachelinesize.hccplatform.hcpurelax.hdebugvirtual.hdevmemisallowed.helfrandomize.hfastmultiplier.hfilterpgprot.hforcedmaunencrypted.hfortifysource.hgcovprofileall.hgiganticpage.hkcov.hkexecpurgatory.hmemencrypt.hmembarriersynccore.hnonoverlappingaddressspace.hpkeys.hpmemapi.hptespecial.hrefcount.hsetdirectmap.hmemory.hsgchain.hstrictkernelrwx.hmodulerwx.hsynccorebeforeusermode.hsyscallwrapper.huaccessflushcache.hmcsafe.hubsansanitizeall.hzonedevice.hhavenmisafecmpxchg.hhibernationheader.hpossible.hmayhavepcfdc.hmighthaveacpipdc.hpcparport.hserio.hmmaprndbitsbits.hmax.hmin.hcompatbitsbits.hmax.hmin.hnrgpio.hprockcoretext.hrandom.hselectmemorymodel.hsparsememdefault.henable.hstackwalk.hsupportsacpi.hatomicrmw.hdebugpagealloc.hint128.hmemoryfailure.hnumabalancing.hoptimizedinlining.hrt.huprobes.hsuspendpossible.husebuiltinbswap.hcmpxchglockref.hmemremapprot.hqueuedrwlocks.hspinlocks.huseshighvmaflags.hpguncached.hwantbatchedunmaptlbflush.hcompatipcparseversion.hdefaultbpfjit.hgeneralhugetlb.hhugepmdshare.holdcompatipc.hwantsdynamictaskstruct.hthpswap.harmgicmaxnr.hasn1.hassociativearray.hasuslaptop.hnbwmi.hwmi.hasymmetrickeytype.hpublickeysubtype.hasynccore.hmemcpy.hpq.hraid6recov.htest.htxdma.hxor.hataata.hacpi.hbmdma.hgeneric.hpiix.hsff.hverboseerror.hathcommon.hath10kath10k.hce.hdebugfs.hpci.hath11kath11k.hdebug.hdebugfs.hpci.htracing.hath9kath9k.hahb.hbtcoexsupport.hcommoncommon.hdebug.hdebugfs.hhtc.hhw.hpci.hpcoem.hrfkill.hwow.hatl1.hatl1c.hatl1e.hatl2.hatmatm.hbr2684.hclip.hlane.hatomic64selftest.hauditaudit.harch.hauditsyscall.hauto.confauto.conf.cmdautofsfs.hautofs4fs.hauxiliarybus.hbacklightapple.hclassdevice.hlcdsupport.hlp855x.hballooncompaction.hbareudp.hbasefull.hsmall.hbcmnetphylib.hbcm7xxxphy.hbcm87xxphy.hbcmabcma.hdrivergmaccmn.hgpio.hpci.hhostpcipci.hpossible.hpossible.hbe2iscsi.hbe2netbe2net.hhwmon.hlancer.hskyhawk.hbfqgroupiosched.hbigkeys.hbinaryprintf.hbinfmtelf.hmisc.hscript.hbitfieldkunittest.hbitreverse.hbitskunittest.hblkcgroupcgroup.hfcappid.hiolatency.hrwstat.hdebugfs.hdevdev.hbsg.hbsglib.hdmdm.hbuiltin.hinitrd.hintegrityintegrity.ht10.hiotrace.hlooploop.hmincount.hmd.hnbd.hnullblk.hnvme.hpmem.hramram.hcount.hsize.hrbd.hsd.hsr.hthrottling.hmqpci.hrdma.hvirtio.hpm.hscsirequest.hwbtwbt.hmq.hblockblock.hcompat.hbnx2.hbnx2xbnx2x.hsriov.hbnxtbnxt.hdcb.hfloweroffload.hhwmon.hsriov.hbonding.hbootprintkdelay.hbootparamhardlockuppanicpanic.hvalue.hhotplugcpu0.hhungtaskpanicvalue.hsoftlockuppanicvalue.hbounce.hbpfbpf.hevents.hjitjit.halwayson.hdefaulton.hkprobeoverride.hlsm.hstreamparser.hsyscall.hunprivdefaultoff.hbql.hbranchprofilenone.hbrcmfmacbrcmfmac.hpcie.hprotobcdc.hmsgbuf.hsdio.husb.hbrcmsmacbrcmsmac.hleds.hbrcmutil.hbridgebridge.hebt8023.hamong.harp.harpreply.hbroute.hdnat.hip.hip6.hlimit.hlog.hmarkmark.ht.hnflog.hpkttype.hredirect.hsnat.hstp.htfilter.hnat.hvlan.higmpsnooping.hnetfilter.hnfebtables.hvlanfiltering.hbroadcomphy.hbsddisklabel.hprocessacctacct.hv3.hbtbt.hath3k.hbcm.hbnepbnep.hmcfilter.hprotofilter.hbredr.hcmtp.hdebugfs.hhcibcm203x.hhcibfusb.hhcibpa10x.hhcibtsdio.hhcibtusbhcibtusb.hautosuspend.hbcm.hmtk.hrtl.hhciuarthciuart.hath3k.hbcsp.hh4.hhcivhci.hhidp.hhs.hintel.hle.hmrvlmrvl.hsdio.hmtk.hrfcommrfcomm.htty.hrtl.hbtree.hbtt.hbugbug.hondatacorruption.hbuildbin2c.hbuildtimeextablesort.hcachefiles.hcancan.h8devusb.hbcm.hccancan.hpci.hplatform.hcalcbittiming.hcc770cc770.hplatform.hdev.hemspci.husb.hesdusb2.hgw.hkvaserpci.husb.hleds.hpeakpci.hpciec.husb.hplxpci.hraw.hsja1000sja1000.hplatform.hslcan.hsofting.hucan.hvcan.hcapiavm.hcardbus.hcaviumptp.hcb710core.hdebugassumptions.hcccanlink.hhaskasangeneric.hreturnthunk.hsancovtracepc.hsanestackprotector.hsls.hstackprotectornone.hworkingnosanitizeaddress.hisgcc.hoptimizeforperformance.hcdromcdrom.hpktcdvdpktcdvd.hbuffers.hceccore.hplatformdrivers.hcephfsfs.hposixacl.hsecuritylabel.hliblib.husednsresolver.hcfg80211cfg80211.hcrdasupport.hdefaultps.hrequiresignedregdb.husekernelregdbkeys.hcfsbandwidth.hcgroupbpf.hcpuacct.hdevice.hfreezer.hhugetlb.hnetclassid.hprio.hperf.hpids.hrdma.hsched.hwriteback.hcgroups.hchargersmb347.hchecksignature.hcheckpointrestore.hchelsioinlinecrypto.hipsecinline.hlib.ht4.ht4vf.htlsdevice.hchrdevsch.hsg.hst.hcicadaphy.hcifscifs.hallowinsecurelegacy.hdebug.hdfsupcall.hposix.hsmbdirect.hupcall.hweakpwhash.hxattr.hclangversion.hcleancache.hclkbldi8253.hclkdevlookup.hclkevti8253.hclocksourcevalidatelastcycle.hwatchdog.hclsu32mark.hperf.hclztab.hcmdlinekunittest.hcnic.hcommonclk.hcompaction.hcompallaptop.hcompatcompat.h32.h32bittime.hbinfmtelf.hforu64alignment.holdsigaction.hconfigfsfs.hconnector.hconsolelogleveldefault.hquiet.htranslations.hcontextswitchtracer.htracking.hcontigalloc.hcordic.hcoredumpdefaultelfheaders.hcoredump.hcortinaphy.hcounter.hcpufreqfreq.hdefaultgovperformance.hgovattrset.hcommon.hconservative.hondemand.hperformance.hpowersave.hschedutil.huserspace.hstat.hibpbentry.hibrsentry.hidleidle.hgovhaltpoll.hmenu.hisolation.hrmap.hsupamd.hcentaur.hintel.hunretentry.hcpusets.hcramfscramfs.hblockdev.hcrashcore.hdump.hcrcccitt.hitut.ht10dif.hcrc16.hcrc32crc32.hsliceby8.hcrc7.hcrc8.hcrossmemoryattach.hcryptocrypto.hacomp2.haead.haead2.haesaes.hniintel.hx8664.hakcipher.hakcipher2.halgapi.halgapi2.hansicprng.hanubis.harc4.hauthenc.hblkcipher.hblkcipher2.hblowfishblowfish.hcommon.hx8664.hcamelliacamellia.haesniavxx8664.havx2x8664.hx8664.hcastcommon.hcast5cast5.havxx8664.hcast6cast6.havxx8664.hcbc.hccm.hcfb.hchacha20chacha20.hx8664.hchacha20poly1305.hcmac.hcrc32crc32.hpclmul.hcrc32ccrc32c.hintel.hcrct10difcrct10dif.hpclmul.hcryptd.hctr.hcts.hdeflate.hdes.hdes3edex8664.hdevccpccp.hcrypto.hdd.hchelsio.hnitroxnitrox.hcnn55xx.hpadlockpadlock.haes.hsha.hqatqat.h4xxx.hc3xxx.hc3xxxvf.hc62x.hc62xvf.hdh895xcc.hdh895xccvf.hspccp.hpsp.hdh.hdrbgdrbg.hctr.hhash.hhmac.hmenu.hecb.hecdh.hechainiv.hessiv.hfcrypt.hfipsfips.hname.hgcm.hgf128mul.hghashghash.hclmulniintel.hgluehelperx86.hhashhash.hinfo.hhash2.hhmac.hhw.hjitterentropy.hkhazad.hkpp.hkpp2.hlibarc4.hsha256.hlrw.hlzo.hmanager.hmanager2.hmcryptd.hmd4.hmd5.hmichaelmic.hnull.hnull2.hpcbc.hpcrypt.hpoly1305poly1305.hx8664.hrmd128.hrmd160.hrmd256.hrmd320.hrngrng.hdefault.hrng2.hrsa.hsalsa20.hseed.hseqiv.hserpentserpent.havxx8664.havx2x8664.hsse2x8664.hsha1sha1.hmb.hssse3.hsha256sha256.hmb.hssse3.hsha3.hsha512sha512.hmb.hssse3.hsimd.htea.htest.htgr192.htwofishtwofish.havxx8664.hcommon.hx866464.h3way.huseruser.hapiapi.haead.hhash.hrng.hskcipher.hvmac.hworkqueue.hwp512.hxcbc.hxts.hcuse.hcyclades.hcypressfirmware.hdamondamon.hdbgfs.hpaddr.hreclaim.hvaddr.hdavicomphy.hdaxdax.hdriver.hdca.hdcachewordaccess.hdcb.hdcdbas.hdeaoc.hdebugbootparams.hbugverbose.hfs.hinfoinfo.hbtf.hdwarf4.hkernel.hlist.hpreempt.hsectionmismatch.hshirq.hdecompressbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hdefaultcubic.hfqcodel.hhostname.hhungtasktimeout.hiodelaytype.hmmapminaddr.hnetsch.hsecurityselinux.htcpcong.hdeferredstructpageinit.hdelllaptop.hrbtn.hrbu.hsmbiossmbios.hwmi.hsmo8800.hwmiwmi.haio.hdescriptor.hled.hsysman.hdetecthungtask.hdevcoredump.hdeviceprivate.hdevmem.hdevport.hdevtmpfsdevtmpfs.hmount.hdimlib.hdl2k.hdlcidlci.hmax.hdlmdlm.hdebug.hdmbioprison.hbufio.hcachecache.hsmq.hcrypt.hdebug.hdelay.hera.hflakey.hintegrity.hloguserspace.hwrites.hmirror.hmultipathmultipath.hhst.hioa.hql.hst.hpersistentdata.hraid.hsnapshot.hswitch.hthinprovisioning.huevent.hverity.hwritecache.hzero.hdmaacpi.hcoherentpool.hengineengine.hraid.hops.hsharedbuffer.hvirtualchannels.hdmadevices.hdmartable.hdmatest.hdmidmi.hscanmachinenonefifallback.hsysfs.hdmiid.hdnet.hdnotify.hdnsresolver.hdoublefault.hdp83640phy.hdp83822phy.hdp83848phy.hdp83867phy.hdp83tc811phy.hdptfpower.hdql.hdrmdrm.hamdacp.hdcdc.hdcn.hamdgpuamdgpu.huserptr.hast.hbochs.hbridge.hbuddy.hcirrusqemu.hdisplaydphelper.hhdcphelper.hhdmihelper.hhelper.hdpauxchardev.hexportfortests.hfbdevemulation.hoveralloc.hgemshmemhelper.hgma500.hi2cch7006.hsil164.hi915i915.hcaptureerror.hcompresserror.hfencetimeout.hforceprobe.hgvtgvt.hkvmgt.hheartbeatinterval.hmaxrequestbusywait.hpreempttimeouttimeout.hcompute.hrequesttimeout.hstoptimeout.htimesliceduration.huserfaultautosuspend.huserptr.hkmshelper.hkunittesttest.hhelpers.hlibrandom.hloadedidfirmware.hmgag200.hmipidsi.hnouveaunouveau.hbacklight.hpanelpanel.hbridge.horientationquirks.hqxl.hradeonradeon.huserptr.hsched.httmttm.hhelper.hudl.hvboxvideo.hvirtiogpu.hvkms.hvmwgfx.hvramhelper.hdstcache.hdummydummy.hconsoleconsole.hcolumns.hrows.hdvba8293.haf9013.haf9033.hatbm8830.hau8522au8522.hdtv.hv4l.hav7110av7110.hir.hosd.hb2c2flexcopflexcop.hpci.husb.hbcm3510.hbt8xx.hbudgetbudget.hav.hci.hcore.hpatch.hcore.hcx22700.hcx22702.hcx24110.hcx24116.hcx24117.hcx24120.hcx24123.hcxd2099.hcxd2820r.hcxd2841er.hddbridge.hdib3000mb.hdib3000mc.hdib7000m.hdib7000p.hdib8000.hdm1105.hdrx39xyj.hdrxd.hdrxk.hds3000.hdummyfe.hdynamicminors.hec100.hfiredtvfiredtv.hinput.hgp8pskfe.hhopper.hisl6405.hisl6421.hisl6423.hix2505v.hl64781.hlg2160.hlgdt3305.hlgdt3306a.hlgdt330x.hlgs8gxx.hlnbh25.hlnbp21.hlnbp22.hm88ds3103.hm88rs2000.hmantis.hmaxadapters.hmb86a16.hmb86a20s.hmn88472.hmn88473.hmt312.hmt352.hmxl5xx.hnet.hngene.hnxt200x.hnxt6000.hor51132.hor51211.hpll.hpluto2.hpt1.hrtl2830.hrtl2832.hs5h1409.hs5h1411.hs5h1420.hs921.hsi2165.hsi2168.hsi21xx.hsp8870.hsp887x.hstb0899.hstb6000.hstb6100.hstv0288.hstv0297.hstv0299.hstv0367.hstv0900.hstv090x.hstv0910.hstv6110.hstv6110x.hstv6111.htc90522.htda10021.htda10023.htda10048.htda1004x.htda10071.htda10086.htda18271c2dd.htda665x.htda8083.htda8261.htda826x.hts2020.httusbbudget.hdec.htua6100.htunercx24113.hdib0070.hdib0090.hitd1000.husbusb.ha800.haf9005af9005.hremote.haf9015.haf9035.hanysee.hau6610.haz6007.haz6027.hce6230.hcinergyt2.hcxusb.hdib0700.hdib3000mc.hdibusbmb.hmc.hdigitv.hdtt200u.hdtv5100.hdw2102.hec168.hgl861.hgp8psk.hlme2510.hm920x.hmxl111sf.hnovatusb2.hopera1.hpctv452e.hrtl28xxu.htechnisatusb2.httusb2.humt010.hv2.hvp702x.hvp7045.hves1820.hves1x93.hzl10036.hzl10039.hzl10353.hdwdmacdmac.hcore.hpci.hdwmacintel.hdynamicdebug.hftraceftrace.hwithdirectcalls.hregs.hmemorylayout.hphysicalmask.hsigframe.he1000.he1000ee1000e.hhwts.hearlyprintkprintk.hdbgp.hefi.husbusb.hxdbc.hedacedac.hamd64.hatomicscrub.hdecodemce.he752x.hghes.hi10nm.hi3000.hi3200.hi5000.hi5100.hi5400.hi7300.hi7core.hi82975x.hie31200.higen6.hlegacysysfs.hpnd2.hsbridge.hskx.hsupport.hx38.hedd.heeepclaptop.hwmi.heeprom93cx6.hlegacy.hmax6875.hefiefi.hdevpathparser.hesrt.hmixed.hpartition.hrci2table.hruntimemap.hwrappers.hsoftreserve.hstub.hvarsvars.hpstorepstore.hdefaultdisable.hefivarfs.helfcore.helfcore.henaethernet.henablemustcheck.henclosureservices.hencryptedkeys.henergymodel.henic.hepoll.hethernet.hethoc.hethtoolnetlink.heventtracing.heventfd.hevmevm.hattrfsuuid.hexclusivesystemram.hexpert.hexportfsexportfs.hblockops.hext4fsfs.hposixacl.hsecurity.hkunittests.huseforext2.hextrafirmware.hf71808ewdt.hfailover.hfairgroupsched.hfanotifyfanotify.haccesspermissions.hfatdefaultcodepage.hiocharset.hfs.hkunittest.hfbfb.hbootvesasupport.hcfbcopyarea.hfillrect.himageblit.hcmdline.hdeferredio.hefi.hnotify.hsyscopyarea.hfillrect.hfops.himageblit.htileblitting.hvesa.hfcappid.hfcoefnic.hfhandle.hfibrules.hfilelocking.hfipssignatureselftest.hfirewirefirewire.hnet.hohci.hsbp2.hfirmwarememmap.hfixearlyconmem.hfixedphy.hfm10k.hfont8x16.h8x8.hsupport.hfortifysource.hframewarn.hframebufferconsoleconsole.hdeferredtakeover.hdetectprimary.hrotation.hfreezer.hfrontswap.hfsdax.hiomap.hmbcache.hposixacl.hfscachefscache.hstats.hfsnotify.hftraceftrace.hmcountrecord.hsyscalls.hfujitsues.hlaptop.htablet.hfunctionerrorinjection.hgraphtracer.hprofiler.htracer.hfusedax.hfs.hfusionfusion.hlogging.hmaxsge.hsas.hspi.hfutexfutex.hpi.hfwattrclass.hcfgsysfs.hcsdsp.hloaderloader.hsysfs.huserhelper.hgactprob.hgarp.hgccversion.hgenericallocator.hbugbug.hrelativepointers.hcalibratedelay.hclockeventsclockevents.hbroadcast.hminadjust.hcmosupdate.hcpucpu.hautoprobe.hvulnerabilities.hearlyioremap.hfindfirstbit.hgettimeofday.hhweight.hiomap.hirqeffectiveaffmask.hinjection.hmatrixallocator.hmigration.hprobe.hreservationmode.hshow.hisadma.hmsiirqirq.hdomain.hnetutils.hpciiomap.hpendingirq.hpinconf.hsmpidlethread.hstrncpyfromuser.hstrnlenuser.htimevsyscall.htracer.hvdsotimens.hgeneve.hgfs2fsfs.hlockingdlm.hgigasetbase.hcapi.hm101.hm105.hglob.hgpioacpi.hamdpt.hgeneric.hich.hsysfs.hviperboard.hgpiolibgpiolib.hfastpathlimit.hirqchip.hgraceperiod.hgrocells.hgve.hhaltpollcpuidle.hhangchecktimer.hhardenedusercopyusercopy.hfallback.hhardirqsswresend.hhardlockupchecktimestamp.hdetectordetector.hperf.hhasdma.hiomem.hioportmap.hhashkunittest.hhaveacpiapeiapei.hnmi.halignedstructpage.harchauditsyscall.hcompatmmapbases.hhugevmap.hkasankasan.hvmalloc.hkcsan.hkgdb.hmmaprndbits.hcompatbits.hnodedevgroup.hseccompfilter.hsoftdirty.hthreadstructwhitelist.htracehook.htransparenthugepagehugepage.hpud.huserfaultfdwp.hvmapstack.hwithinstackframes.hbootmeminfonode.hcrecordmcount.hclkclk.hprepare.hcmpxchgdouble.hlocal.hcontexttracking.hcopythreadtls.hdebugkmemleak.hdmacontiguous.hdynamicftraceftrace.hwithdirectcalls.hregs.hebpfjit.hefficientunalignedaccess.hexitthread.hfastgup.hfentry.hftracemcountrecord.hfunctionerrorinjection.hgraphtracer.htracer.hgccplugins.hgenericvdso.hhardenedusercopyallocator.hhardlockupdetectorperf.hhwbreakpoint.hide.hinteltxt.hioremapprot.hirqexitonirqstack.htimeaccounting.hkernelbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hkprobeskprobes.honftrace.hkretprobes.hkvmkvm.hcpurelaxintercept.hdirtyring.heventfd.hirqbypass.hrouting.hirqchip.hirqfd.hmsi.hnopoll.hpfncache.hpmnotifier.hlivepatch.hmemorypresent.hmixedbreakpointsregs.hmmiotracesupport.hmodarchspecific.hmovepmd.hpud.hnetdsa.hnmi.hoprofile.hoptprobes.hpcspkrplatform.hperfeventsevents.hnmi.hregs.huserstackdump.hposixcputimerstaskwork.hpreemptlazy.hregsandstackaccessapi.hreliablestacktrace.hrseq.hschedavgirq.hsetuppercpuarea.hstackvalidation.hstackprotector.hsyscalltracepoints.huid16.hunstableschedclock.huserreturnnotifier.hvirtcpuaccountinggen.hhdlchdlc.hcisco.hfr.hppp.hraw.hhdmihdmi.hlpeaudio.hheaderscheck.hhibernatecallbacks.hhibernation.hhidhid.ha4tech.hacrux.halps.happle.happleir.hasus.haureal.hbatterystrength.hbelkin.hbetopff.hcherry.hchicony.hcmedia.hcorsair.hcypress.hdragonrise.helan.helecom.helo.hezkey.hgembird.hgeneric.hgfrm.hgreenasia.hgt683r.hgyration.hholtek.hicade.hite.hjabra.hkensington.hkeytouch.hkye.hlcpower.hled.hlenovo.hlogitechlogitech.hdj.hhidpp.hmagicmouse.hmicrosoft.hmonterey.hmultitouch.hnti.hntrig.hortek.hpantherlord.hpenmount.hpetalynx.hpicolcd.hpid.hplantronics.hprimax.hprodikeys.hrmi.hroccat.hsaitek.hsamsung.hsensoraccel3d.hals.hcustomsensor.hdevicerotation.hgyro3d.hhub.hhumidity.hiiocommon.htrigger.hinclinometer3d.hmagnetometer3d.hpress.hprox.htemp.hsmartjoyplus.hsony.hspeedlink.hsteelseries.hsunplus.hthingm.hthrustmaster.htivo.htopseed.htwinhan.huclogic.hwacom.hwaltop.hwiimote.hxinmo.hzeroplus.hzydacron.hhidraw.hhighrestimers.hhinic.hhisax163.h1tr6.havma1pcmcia.hbkma4t.hdiehldiva.helsa.henternowpci.heuro.hfritzpcipnp.hfritzpci.hgazel.hhfcpci.hsx.hhfc4s8s.hmaxcards.hnetjetnetjet.hu.hni1.hniccy.hnokeypad.hllc.hsendcomplete.hs0box.hsctquadro.hsedlbauer.hst5481.htelespci.hw6692.hhisttriggers.hhmemreporting.hhmmmirror.hhotplugcpu.hpcipci.hacpiacpi.hibm.hpcie.hshpc.hsmt.hhpaccel.hilo.hwatchdog.hwireless.hwmi.hhpethpet.hemulatertc.hmmap.htimer.hhpwdtnmidecoding.hhsaamdamd.hsvm.hhsudma.hhugetlbpage.hhugetlbfs.hhvcdriver.hhwconsole.hrandomrandom.hamd.hintel.htimeriomem.htpm.hvia.hvirtio.hhwlattracer.hhwmonhwmon.hvid.hhwpoisoninject.hhwspinlock.hhypervisorguest.hhysdnhysdn.hcapi.hhzhz.h1000.hi2ci2c.halgobit.halgopca.hamd756amd756.hs4882.hamd8111.hboardinfo.hchardev.hcompat.hdesignwarebaytrail.hcore.hplatform.hdiolanu2c.hhelperauto.hhidhid.hacpi.hcore.hi801.hisch.hismt.hmlxcpld.hmuxmux.hmlxcpld.hnforce2nforce2.hs4985.hparportparport.hlight.hpcaplatform.hpiix4.hscmi.hsimtec.hsis96x.hsmbus.hstub.htinyusb.hvia.hviapro.hviperboard.hi40ei40e.hdcb.hi40evf.hi6300esbwdt.hi8253lock.hi8k.hia32emulation.hfeatctl.hiavf.hib700wdt.hibmasr.hiceice.hhwts.hswitchdev.hicplusphy.hideapadlaptop.hidlepagetracking.hie6xxwdt.hieee802154ieee802154.h6lowpan.hdrivers.hfakelb.hsocket.hifb.hifcvf.higbigb.hdca.hhwmon.higbvf.higc.hiioiio.hbuffer.hconsumerspertrigger.hkfifobuf.htrigger.htriggeredbuffer.hikheaders.hillegalpointervalue.himaima.happraiseappraise.hbootparam.hmodsig.harchpolicy.hdefaulthashhash.hsha256.htemplate.hlsmrules.hmeasurepcridx.hreadpolicy.hsecureandortrustedboot.hsigtemplate.htrustedkeyring.hwritepolicy.hinetinet.hah.hdiagdiag.hdestroy.hespesp.hoffload.hespintcp.hipcomp.hmptcpdiag.hrawdiag.hsctpdiag.htcpdiag.htunnel.hudpdiag.hxfrmtunnel.hinet6ah.hespesp.hoffload.hespintcp.hipcomp.htunnel.hxfrmtunnel.hinfinibandinfiniband.haddrtranstrans.hconfigfs.hbnxtre.hcxgb4.hefa.hhfi1.hipoibipoib.hcm.hdebug.hirdma.hiser.hisert.hondemandpaging.hopavnic.hqedr.hrdmavt.hsrp.hsrpt.huseraccess.hmad.hmem.husnic.hvirtdma.hvmwarepvrdma.hinitenvarglimit.hinitramfssource.hinotifyuser.hinputinput.hapanel.hatiremote2.hatlasbtns.hcm109.hevdev.hffmemless.hgp2a.hgpiorotaryencoder.hjoydev.hkeyboard.hkeyspanremote.hleds.hmisc.hmouse.hmousedevmousedev.hscreenx.hy.hpcspkr.hpolldev.hpowermate.hsparsekmap.htablet.htouchscreen.huinput.hyealink.hinstructiondecoder.hint340xthermal.hintegrityintegrity.hasymmetrickeys.haudit.hplatformkeyring.hsignature.htrustedkeyring.hintelgtt.hhfithermal.hhidevent.hidle.hidma64.hidxdidxd.hbus.hperfmon.hsvm.hifs.hioatdma.hiommuiommu.hfloppywa.hperfevents.hsvm.hips.hishhid.hishtpeclite.hmeimei.hme.hwdt.hoaktrail.hpchthermal.hpmccore.hpmtclass.hcrashlog.htelemetry.hpowerclamp.hqep.hraplrapl.hcore.hrst.hsdsi.hsocdtsiosfcore.hspeedselectinterface.htdxguest.hthth.hacpi.hgth.hmsu.hpci.hpti.hsth.hturbomax3.htxt.huncorefreqcontrol.hvbtn.hvsec.hwmithunderbolt.hxwayphy.hintervaltree.hiodelay0x80.htype0x80.h0xed.hnone.hudelay.hioasid.hiommuapi.hdefaultpassthrough.hdma.hiopgtable.hiova.hsupport.hsva.hionic.hioschedbfq.hiosfmbi.hipadvancedrouter.hfibtriestats.hmroutemroute.hcommon.hmultipletables.hmulticast.hmultipletables.hnfarpmangle.harpfilter.harptables.hfilter.hiptables.hmangle.hmatchah.hecn.hrpfilter.httl.hnat.hraw.hsecurity.htargetecn.hmasquerade.hnetmap.hredirect.hreject.hsynproxy.httl.hpimsmv1.hv2.hrouteclassid.hmultipath.hverbose.hsctp.hsetset.hbitmapip.hipmac.hport.hhaship.hipmac.hipmark.hipport.hipportip.hipportnet.hmac.hnet.hnetiface.hnetnet.hnetport.hnetportnet.hlistset.hmax.hvsvs.hdh.hfo.hftp.hipv6.hlblc.hlblcr.hlc.hmhmh.htabindex.hnfct.hnq.hovf.hpesip.hprotoahah.hesp.hesp.hsctp.htcp.hudp.hrr.hsed.hshsh.htabbits.htabbits.hwlc.hwrr.hip6nffilter.hiptables.hmangle.hmatchah.heui64.hfrag.hhl.hipv6header.hmh.hopts.hrpfilter.hrt.hnat.hraw.hsecurity.htargetmasquerade.hnpt.hreject.hsynproxy.hipcns.hipmideviceinterface.hdmidecode.hhandler.hpanicevent.hstring.hplatdata.hpoweroff.hsi.hssif.hwatchdog.hipppfilter.hipv6ipv6.hgre.hmip6.hmroutemroute.hmultipletables.hmultipletables.hndiscnodetype.hoptimisticdad.hpimsmv2.hrouteinfo.hrouterpref.hsitsit.h6rd.htunnel.hvti.hipvlan.hipvtap.hirene.hfintek.higuana.himonimon.hdecoder.hraw.hitecir.hjvcdecoder.hmcekbddecoder.hmceusb.hnecdecoder.hnuvoton.hrc5decoder.hrc6decoder.hredrat3.hsanyodecoder.hserialserial.htransmitter.hsir.hsonydecoder.hstreamzap.httusbir.hwinbondcir.hirqbypassmanager.hdomaindomain.hhierarchy.hforcedthreading.hmsiiommu.hpoll.hremap.hwork.hisadmaapi.hiscsibootsysfs.hibftibft.hfind.htargettarget.hcxgb4.htcp.hisdnisdn.haudio.hcapicapi.hcapi20.hcapidrvcapidrv.hverbose.hmiddleware.hdiversion.hdrvavmb1b1pci.hb1pciv4.hc4.ht1pci.hgigaset.hhisax.hhdlc.hi4l.hmpp.hpppppp.hvj.httyfax.hisl29003.hisl29020.hiso9660fs.hit87wdt.hit8712fwdt.hitcovendorsupport.hwdt.hiwldvm.hiwlmvm.hiwlwifiiwlwifi.hdebugfs.hleds.hopmodemodular.hixgbeixgbe.hdca.hdcb.hhwmon.hipsec.hixgbevfixgbevf.hipsec.hjbd2.hjoliet.hkallsymskallsyms.habsolutepercpu.hall.hbaserelative.hkarmapartition.hkernelkernel.releasegzip.hkernfs.hkexeckexec.hbzimageverifysig.hcore.hfile.hjump.hsig.hkeyboardatkbd.hkeyskeys.hcompat.hkprobeevents.hkprobeskprobes.honftrace.hkretprobes.hksm.hkunitkunit.halltests.hdebugfs.hexampletest.htest.hkvmkvm.hamdamd.hsev.hasyncpf.hcompat.hexternalwritetracking.hgenericdirtylogreadprotect.hguest.hintel.hmmio.hvfio.hwerror.hl2tpl2tp.hdebugfs.heth.hip.hv3.hlcdclassdevice.hplatform.hledtriggerphy.hledsblinkm.hbrightnesshwchanged.hclass.hclevomail.hintelss4200.hlm3530.hlp3944.hlp5521.hlp5523.hlp5562.hlp55xxcommon.hlt3593.hmlxcpld.hmlxreg.htriggeraudio.hbacklight.hcamera.hdefaulton.hdisk.hgpio.hheartbeat.honeshot.htimer.htransient.htriggers.hlegacyvsyscallemulate.hlibcrc32c.hlibfc.hlibfcoe.hlibnvdimm.hlinearrangesranges.hkunittest.hliquidioliquidio.hvf.hlirc.hlistkunittest.hlivepatch.hllc.hloaduefikeys.hlocalversion.hlockdebuggingsupport.hdowninefisecureboot.hkernel.hspinonowner.htorturetest.hlockdlockd.hv4.hlockdepsupport.hlockupdetector.hlogbufshift.hcpumaxbufshift.hlogitechff.hlogologo.hlinuxclut224.hloopbacktarget.hlpcich.hsch.hlsiet1011cphy.hlsmlsm.hmmapminaddr.hlwtunnellwtunnel.hbpf.hlxtphy.hlz4decompress.hlzocompress.hdecompress.hmacemumousebtn.hpartition.hmac80211mac80211.hdebugfs.hhasrc.hhwsim.hleds.hrcdefaultdefault.hminstrel.hminstrel.hstahashmaxsize.hmac802154.hmachzwdt.hmacintoshdrivers.hmacsec.hmacvlan.hmacvtap.hmagicsysrqsysrq.hdefaultenable.hserial.hmailbox.hmantiscore.hmappingdirtyhelpers.hmarvell10gphy.hphy.hmaxrawdevs.hmaxlineargphy.hmaxsmp.hmdmd.hautodetect.hcluster.hfaulty.hlinear.hraid0.hraid1.hraid10.hraid456.hmdiomdio.hbcmunimac.hbitbang.hbus.hcavium.hdevice.hmsccmiim.hthunder.hmediaalteraci.hanalogtvsupport.hattach.hcamerasupport.hcecsupport.hcommonoptions.hdigitaltvsupport.hpcisupport.hradiosupport.hsubdrvautoselect.hsupport.htunertuner.he4000.hfc0011.hfc0012.hfc0013.hfc2580.hit913x.hm88rs6000t.hmax2165.hmc44s803.hmt2060.hmt2063.hmt20xx.hmt2131.hmt2266.hmxl5005s.hmxl5007t.hqm1d1b0004.hqm1d1c0042.hqt1010.hr820t.hsi2157.hsimple.htda18212.htda18218.htda18250.htda18271.htda827x.htda8290.htda9887.htea5761.htea5767.htua9001.hxc2028.hxc4000.hxc5000.husbsupport.hmegaraidsas.hmellanoxplatform.hmemsoftdirty.hmembarrier.hmemcgmemcg.hkmem.hswap.hmemcpykunittest.hmemfdcreate.hmemoryballoon.hfailure.hhotplug.hhotremove.hisolation.hmemregion.hmemstickmemstick.hjmicron38x.hr592.hrealtekpci.husb.htifmms.hmessagelogleveldefault.hmfdcore.hintellpsslpss.hacpi.hpci.hsm501sm501.hgpio.hviperboard.hvx855.hmhibusbus.hpcigeneric.hmicrelks8995ma.hphy.hmicrochipphy.ht1phy.hmicrocodemicrocode.hamd.hintel.hmicrosemiphy.hmigration.hmii.hminixsubpartition.hmiscfilesystems.hrtsxrtsx.hpci.husb.hmisdnmisdn.havmfritz.hdsp.hhfcmulti.hhfcpci.hhfcusb.hinfineon.hipac.hisar.hl1oip.hnetjet.hspeedfax.hw6692.hmlxplatform.hwdt.hmlx4core.hdebug.henen.hdcb.hinfiniband.hmlx5bridge.hclsact.hcorecore.henen.hdcb.hipoib.henarfs.hipsec.hrxnfc.htls.heswitch.hfpga.hinfiniband.hmpfs.hsfsf.hmanager.hswsteering.htcct.hsample.hvdpavdpa.hnet.hmlxfw.hmlxreghotplug.hio.hmlxswcorecore.hhwmon.hthermal.hi2c.hminimal.hpci.hspectrumspectrum.hdcb.hswitchib.hswitchx2.hmmcmmc.hblockblock.hminors.hcb710.hcqhci.hrealtekpci.husb.hricohmmc.hsdhcisdhci.hacpi.hpci.hpltfm.htifmsd.hushc.hviasdmmc.hvub300.hmmconffam10h.hmmummu.hgathermergevmas.hrcutablefree.htablefree.hnotifier.hmodifyldtsyscall.hmoduleforceload.hsigsig.hall.hformat.hhash.hkey.hsha256.hsrcversionall.hunload.hmodulesmodules.htreelookup.huseelfrela.hmodversions.hmouseappletouch.hbcm5974.hcyapa.helani2ci2c.hi2c.hsmbus.hps2ps2.halps.hbyd.hcypress.helantechelantech.hsmbus.hfocaltech.hlifebook.hlogips2pp.hsentelic.hsmbus.hsynapticssynaptics.hsmbus.htrackpoint.hvmmouse.hserial.hsynapticsi2c.husb.hvsxxxaa.hmpilib.hmplsmpls.hiptunnel.hrouting.hmptcpmptcp.hipv6.hkunittest.hmqioscheddeadline.hkyber.hmrp.hmsdosfs.hpartition.hmsilaptop.hwmi.hmsproblock.hmt76connaclib.hcore.hleds.husb.hmt7601u.hmt76x0common.hmt76x02lib.husb.hmt76x0u.hmt76x2common.hmt76x2u.hmt7921common.hmt7921e.hmtdmtd.hblkdevs.hblock.hcfii1.hi2.hmapbankwidth1.h2.h4.hubiubi.hbeblimit.hwlthreshold.hmtrrmtrr.hsanitizersanitizer.henabledefault.hspareregnrdefault.hmultiuser.hmutexspinonowner.hmwifiexmwifiex.hpcie.hsdio.husb.hmxmwmi.hmyri10gemyri10ge.hdca.hngsm.hhdlc.hnamespaces.hnationalphy.hndblk.hbtt.hclaim.hpfn.hneeddmamapstate.hmultiplenodes.hpercpuembedfirstchunk.hpagefirstchunk.hsgdmalength.hnetnet.hactbpf.hcsum.hct.hgact.hmirred.hmpls.hnat.hpedit.hpolice.hsample.hsimp.hskbedit.hskbmod.htunnelkey.hvlan.hclscls.hact.hbasic.hbpf.hcgroup.hflow.hflower.hfw.hmatchall.hroute4.hrsvp.hrsvp6.htcindex.hu32.hcore.hdevlink.hdropmonitor.hegress.hematchematch.hcmp.hipset.hmeta.hnbyte.hstack.htext.hu32.hfailover.hfc.hflowlimit.hingress.hiptunnel.hipgreipgre.hbroadcast.hdemux.hipip.hipvti.hkeykey.hmigrate.hl3masterdev.hmplsgso.hns.hnsh.hpacketengine.hpktgen.hpollcontroller.hptpclassify.hredirect.hschatm.hcbq.hcbs.hchoke.hcodel.hdefault.hdrr.hdsmark.hets.hfifo.hfqfq.hcodel.hgred.hhfsc.hhhf.hhtb.hingress.hmqpriomqprio.hlib.hmultiq.hnetem.hpie.hplug.hprio.hqfq.hred.hsfb.hsfq.htbf.hteql.hsched.hsockmsg.hswitchdev.htcskbext.hteamteam.hmodeactivebackup.hbroadcast.hloadbalance.hrandom.hroundrobin.hudptunnel.hvendoramazon.hamd.haquantia.hatheros.hbroadcom.hbrocade.hcavium.hchelsio.hcisco.hdec.hdlink.hemulex.hgoogle.hhuawei.hintel.hmellanox.hmicrosoft.hmyri.hnetronome.hoki.hpensando.hqlogic.hrealtek.hrocker.hsolarflare.hstmicro.hvrf.hnetconsolenetconsole.hdynamic.hnetdevaddrlisttest.hnetdevices.hnetdevsim.hnetfilternetfilter.hadvanced.hconncount.hfamilyarp.hbridge.hingress.hnetlinknetlink.hgluect.hlog.hqueue.hsynproxy.hxtconnmark.hmark.hmatchaddrtype.hbpf.hcgroup.hcluster.hcomment.hconnbytes.hconnlabel.hconnlimit.hconnmark.hconntrack.hcpu.hdccp.hdevgroup.hdscp.hecn.hesp.hhashlimit.hhelper.hhl.hiprange.hipvs.hlength.hlimit.hmac.hmark.hmultiport.hosf.howner.hphysdev.hpkttype.hpolicy.hquota.hrateest.hrealm.hrecent.hsctp.hsocket.hstate.hstatistic.hstring.htcpmss.hu32.hnat.hset.htargetaudit.hchecksum.hclassify.hconnmark.hconnsecmark.hct.hdscp.hhl.hhmark.hidletimer.hlog.hmark.hnetmap.hnflog.hnfqueue.hnotrack.hrateest.hredirect.hsecmark.htcpmss.htcpoptstrip.htee.htproxy.htrace.hxtables.hnetlabel.hnetlinkdiag.hnetpoll.hnetworkfilesystems.hphytimestamping.hsecmark.hnetxennic.hnewleds.hnfconntrackconntrack.hamanda.hbroadcast.hevents.hftp.hh323.hirc.hlabels.hmark.hnetbiosns.hpptp.hprocfs.hsane.hsecmark.hsip.hsnmp.htftp.htimeout.htimestamp.hzones.hctnetlinknetlink.hhelper.htimeout.hprotodccp.hgre.hsctp.hudplite.hdefragipv4.hipv6.hdupipv4.hipv6.hnetdev.hflowtabletable.hinet.hipv4.hipv6.hlogarp.hipv4.hipv6.hsyslog.hnatnat.hamanda.hftp.hh323.hirc.hmasquerade.hneeded.hpptp.hredirect.hsip.hsnmpbasic.htftp.hosf.hrejectipv4.hipv6.hsocketipv4.hipv6.htablestables.harp.hbridge.hinet.hipv4.hipv6.hnetdev.hset.htproxyipv4.hipv6.hnfpnfp.happabmnic.hflower.hnfsaclsupport.hcommon.hdebug.hfs.hfscache.husekerneldns.hv3v3.hacl.hv4v4.h11.himplementationiddomain.h2.hsecuritylabel.hnfsdnfsd.hpnfs.hscsilayout.hv2acl.hv3v3.hacl.hv4v4.hsecuritylabel.hnftbridgereject.hcompat.hconnlimit.hcounter.hct.hdupipv4.hipv6.hnetdev.hfibfib.hinet.hipv4.hipv6.hnetdev.hflowoffload.hfwdnetdev.hhash.hlimit.hlog.hmasq.hnat.hnumgen.hobjref.hqueue.hquota.hredir.hrejectreject.hinet.hipv4.hipv6.hsocket.htproxy.hxfrm.hnitroenclaves.hnlattr.hnlmon.hnlsnls.hascii.hcodepage1250.h1251.h437.h737.h775.h850.h852.h855.h857.h860.h861.h862.h863.h864.h865.h866.h869.h874.h932.h936.h949.h950.hdefault.hiso88591.h13.h14.h15.h2.h3.h4.h5.h6.h7.h8.h9.hkoi8r.hu.hmacceltic.hcenteuro.hcroatian.hcyrillic.hgaelic.hgreek.hiceland.hinuit.hroman.hromanian.hturkish.hutf8.hnohzhz.hcommon.hfull.hnodesshift.hnoptracer.hnouveaudebugdebug.hdefault.hnozomi.hnrcpuscpus.hdefault.hrangebegin.hend.hntbntb.hamd.hintel.hmsi.hnetdev.hperf.hpingpong.htool.htransport.hnumanuma.hemu.hkeepmeminfo.hnvtco.hnvdimmdax.hkeys.hpfn.hnvmecore.hfabrics.hfc.hmultipath.hrdma.htargettarget.hfc.hfcloop.hloop.hrdma.htcp.htcp.hverboseerrors.hnvmem.hnvram.hnvswsn2201.hobjagg.hoidregistry.holdsigsuspend3.hopenvswitchopenvswitch.hgeneve.hgre.hvxlan.hoprofilenmitimer.hoptimizeinlining.hoptprobes.hosfpartition.hosnoisetracer.houtputformat.hoverlayfs.hpacketpacket.hdiag.hpadata.hpagecounter.hextension.howner.hpoisoning.hpool.hreporting.htableisolation.hpanasoniclaptop.hpaniconoopsoops.hvalue.htimeout.hparavirtparavirt.hclock.hspinlocks.htimeaccounting.hparman.hparportparport.h1284.hnotpc.hpc.hserial.hpartitionadvanced.hpcc.hpccard.hpcipci.hats.hdirect.hdomains.hiov.hlabel.hlocklessconfig.hmmconfig.hmsimsi.hirqdomain.hpasid.hpfstub.hpri.hquirks.hstub.hpciebusdefault.hdpc.hecrc.hedr.hpme.hpcieaerpcieaer.hinject.hpcieaspmpcieaspm.hdefault.hpcieportbus.hpcipcwatchdog.hpcsxpcs.hpcspkrplatform.hperfeventsevents.hamdbrs.hpower.huncore.hintelcstate.hrapl.huncore.hpersistentkeyrings.hpgtablelevels.hphylib.hphylink.hphysaddrt64bit.hphysicalalign.hstart.hpidns.hpinconf.hpinctrlpinctrl.halderlake.hamd.hbaytrail.hbroxton.hcannonlake.hcedarfork.hdenverton.helkhartlake.hemmitsburg.hgeminilake.hicelake.hintel.hlewisburg.hmeteorlake.hsunrisepoint.htigerlake.hpinmux.hpkcs7messageparser.hpldmfw.hpluginhostcc.hpmpm.hclk.hdebug.hgenericdomainsdomains.hsleep.hsleepsleep.hdebug.hsmp.hstdpartition.hpmbus.hpmcatom.hpmicopregion.hpnfsblock.hfilelayout.hflexfilelayout.hpnp.hpnpacpi.hposixcputimerstaskwork.hmqueuemqueue.hsysctl.htimers.hpowerreset.hsupply.hpowercap.hppdev.hpppppp.hasync.hbsdcomp.hdeflate.hfilter.hmppe.hmultilink.hsynctty.hpppoatm.hpppoe.hpppol2tp.hppspps.hclientgpio.hldisc.hparport.hpptp.hpreemptcount.hlazy.hnotifiers.hrcu.hrt.hpreemption.hpreventfirmwarebuild.hprimenumbers.hprintquotawarning.hprinter.hprintkprintk.hnmi.hsafelogbufshift.htime.hprobeevents.hprocchildren.hcpuresctrl.hevents.hfs.hkcore.hpagemonitor.hpidcpuset.hsysctl.hthermalmmiorapl.hvmcorevmcore.hdevicedump.hprofiling.hprovideohci1394dmainit.hpsample.hpsipsi.hdefaultdisabled.hpstorepstore.hcompresscompress.hdefault.hdeflatecompresscompress.hdefault.hram.hptp1588clockclock.hkvm.hvmw.hpvpanic.hpwmpwm.hdwc.hlpsslpss.hpci.hplatform.hsysfs.hqcomqmihelpers.hqedqed.hfcoe.hiscsi.hll2.hooo.hrdma.hsriov.hqede.hqedf.hqedi.hqfmtv2.hqla3xxx.hqrtrqrtr.hmhi.hqsemiphy.hqueuedspinlocks.hquotaquota.hnetlinkinterface.htree.hquotactlquotactl.hcompat.hr8169.hradioadapters.htea575x.hraidattrs.hraid6pqpq.hbenchmark.hrandomtrustcpu.hrandomizebase.hmemorymemory.hphysicalpadding.hras.hrationalrational.hkunittest.hrawdriver.hrcatiremote.hcore.hdecoders.hdevices.hmap.hrcuboostboost.hdelay.hcpustalltimeout.hneedsegcblist.hnocbcpu.hstallcommon.hrdbzip2.hgzip.hlz4.hlzma.hlzo.hxz.hrdmarxe.hsiw.hrealtekautopm.hphy.hreedsolomonsolomon.hdec8.henc8.hregmapregmap.hi2c.hirq.hsoundwiresoundwire.hmbq.hspi.hrelay.hrelocatable.hrenesasphy.hresetcontroller.hresourcekunittest.hrethunk.hretpoline.hrfkillrfkill.hinput.hleds.hrfsaccel.hrheldifferences.hringbufferbuffer.hbenchmark.hrmi42dsensor.hcore.hf03f03.hserio.hf11.hf12.hf30.hf34.hf3a.hf55.hi2c.hsmb.hspi.hrockchipphy.hrocker.hrpcsecgsskrb5.hrps.hrseq.hrtmutexes.hrt2800liblib.hmmio.hrt2800pcirt2800pci.hrt3290.hrt33xx.hrt35xx.hrt53xx.hrt2800usbrt2800usb.hrt33xx.hrt3573.hrt35xx.hrt53xx.hrt55xx.hunknown.hrt2x00rt2x00.hliblib.hcrypto.hdebugfs.hfirmware.hleds.hmmio.hpci.husb.hrtcclass.hdrvbq32k.hbq4802.hcmos.hds1286.hds1307.hds1374.hds1511.hds1553.hds1672.hds1742.hds2404.hds3232ds3232.hhwmon.hem3027.hfm3130.hisl12022.hisl1208.hm41t80m41t80.hwdt.hm48t35.hm48t59.hmax6900.hmsm6242.hpcf8523.hpcf8563.hpcf8583.hrp5c01.hrs5c372.hrv3029c2.hrx4581.hrx8025.hrx8581.hstk17ta8.hv3020.hx1205.hhctosyshctosys.hdevice.hi2candspi.hintfdev.hproc.hsysfs.hliblib.hkunittest.hmc146818lib.hnvmem.hsystohcsystohc.hdevice.hrtlcards.hrtl8188ee.hrtl8192ccommon.hrtl8192ce.hrtl8192cu.hrtl8192de.hrtl8192ee.hrtl8192se.hrtl8723common.hrtl8723ae.hrtl8723be.hrtl8821ae.hrtl8xxxu.hrtlbtcoexist.hrtlwifirtlwifi.hpci.husb.hrtw88rtw88.h8822b.h8822be.h8822c.h8822ce.hcore.hpci.hrtw89rtw89.h8852a.h8852ae.hcore.hpci.hruntimetestingmenu.hrwsemspinonowner.hsamplevfiomdevmtty.hsamples.hsamsunglaptop.hq10.hsataahciahci.hplatform.hhost.hmobilelpmpolicy.hpmp.hsbcfitpc2watchdog.hsbitmap.hscftorturetest.hschedautogroup.hcluster.hdebug.hhrtick.hinfo.hmcmc.hprio.homitframepointer.hsmt.htracer.hschedstats.hscsiscsi.haacraid.hbnx2iscsi.hbnx2xfcoe.hchelsiofcoe.hconstants.hcxgb4iscsi.hdebug.hdhdh.halua.hemc.hhpsw.hrdac.hdma.henclosure.hfcattrs.hhpsa.hiscsiattrs.hlogging.hlowlevel.hlpfc.hmod.hmpi3mr.hmpt2sasmpt2sas.hmaxsge.hmpt3sasmpt3sas.hmaxsge.hnetlink.hprocfs.hqlafc.hiscsi.hsasata.hattrs.hhostsmp.hlibsas.hscanasync.hsmartpqi.hspiattrs.hsrpattrs.hvirtio.hsctpcookiehmacmd5.hsha1.hdefaultcookiehmacsha1.hsdiouart.hseccompseccomp.hfilter.hsectionmismatchwarnonly.hsecuritysecurity.hinfiniband.hnetworknetwork.hxfrm.hpath.hselinuxselinux.havcstats.hbootparam.hcheckreqprotvalue.hdevelop.hdisable.hsid2strcachesize.hsidtabhashbits.hwritablehooks.hyama.hsecurityfs.hselectmemorymodel.hsensorsabituguru.habituguru3.hacpipower.had7414.had7418.hadm1021.hadm1025.hadm1026.hadm1029.hadm1031.hadm1275.hadm9240.hads1015.hads7828.hadt7410.hadt7411.hadt7462.hadt7470.hadt7475.hadt7x10.hamc6821.hamdenergy.hapds990x.happlesmc.hasb100.hasc7621.hatk0110.hatxp1.hbh1770.hcoretemp.hdellsmm.hdme1737.hds1621.hds620.hemc1403.hemc6w201.hf71805f.hf71882fg.hf75375s.hfam15hpower.hfschmd.hg760a.hgl518sm.hgl520sm.hhdaps.hi5500.hi5kamb.hibmaem.hibmpex.hina209.hina2xx.hit87.hjc42.hk10temp.hk8temp.hlineage.hlis3i2c.hlis3lv02d.hlm25066.hlm63.hlm73.hlm75.hlm77.hlm78.hlm80.hlm83.hlm85.hlm87.hlm90.hlm92.hlm93.hlm95234.hlm95241.hlm95245.hltc2978.hltc4151.hltc4215.hltc4245.hltc4261.hmax16064.hmax16065.hmax1619.hmax1668.hmax197.hmax34440.hmax6639.hmax6642.hmax6650.hmax6697.hmax8688.hmcp3021.hmlxregfan.hnct6775.hntcthermistor.hpc87360.hpc87427.hpcf8591.hpmbus.hsch5627.hsch5636.hsch56xxcommon.hsht15.hsht21.hsis5595.hsmsc47b397.hsmsc47m1.hsmsc47m192.hthmc50.htmp102.htmp401.htmp421.htsl2550.hucd9000.hucd9200.hviacputemp.hvia686a.hvt1211.hvt8231.hw83627ehf.hw83627hf.hw83781d.hw83791d.hw83792d.hw83793.hw83795.hw83l785ts.hw83l786ng.hzl6100.hserial82508250.hconsole.hdma.hdw.hdwlib.hexar.hextended.hlpss.hmanyports.hmid.hnruarts.hpci.hpnp.hrsa.hruntimeuarts.hshareirq.harcarc.hnrports.hcorecore.hconsole.hearlycon.hjsm.hmultiinstantiate.hnonstandard.hserioserio.halteraps2.harcps2.hi8042.hlibps2.hraw.hserport.hsevguest.hsfcsfc.hmcdilogging.hmon.hmtd.hsienasiena.hmcdilogging.hmon.hmtd.hsriov.hsriov.hsfi.hsgpool.hsgetmasksyscall.hsgigru.hioc4.hpartition.hxp.hsglalloc.hshmem.hshufflepageallocator.hsignalfd.hsignature.hsignedpefileverification.hskbextensions.hslabfreelisthardened.hrandom.hslhc.hslipslip.hcompressed.hsmart.hsls.hslubslub.hdebug.hkunittest.hsmp.hsmssdiodrv.hsianomdtv.hrc.husbdrv.hsmscphy.hsch311xwdt.hsndsnd.hac97codec.hpowersavesave.hdefault.had1889.hali5451.haloop.hamdacpconfig.hasihpi.hatiixpatiixp.hmodem.hau8810.hau8820.hau8830.hbcd2000.hbebob.hbt87x.hca0106.hcmipci.hcompressoffload.hcs46xxcs46xx.hnewdsp.hctlfastlookup.hled.hctxfi.hdarla20.hdarla24.hdice.hdmasgbuf.hdrivers.hdummy.hdynamicminors.hecho3g.hemu10k1emu10k1.hseq.hemu10k1x.hens1370.hens1371.hes1968es1968.hinput.hradio.hfireface.hfirewirefirewire.hdigi00x.hlib.hmotu.htascam.hfireworks.hgina20.hgina24.hhdahda.hcodecanalog.hca0110.hca0132ca0132.hdsp.hcirrus.hcmedia.hconexant.hcs8409.hhdmi.hrealtek.hsi3054.hsigmatel.hvia.hcomponent.hcore.hcsdspcontrols.hdsploader.hextcore.hgenericgeneric.hleds.hhwdep.hi915.hinputbeepbeep.hmode.hintel.hpatchloader.hpowersavedefault.hpreallocsize.hreconfig.hscodeccs35l41cs35l41.hi2c.hspi.hhdsp.hhdspm.hhrtimer.hhwdep.hice1712.hice1724.hindigo.hindigodj.hindigodjx.hindigoio.hindigoiox.hinteldspconfig.hnhlt.hsoundwireacpi.hintel8x0.hintel8x0m.hisight.hjackjack.hinputdev.hkorg1212.hlayla20.hlayla24.hlola.hlx6464es.hmaestro3maestro3.hinput.hmaxcards.hmia.hmixart.hmona.hmpu401mpu401.huart.hmtpav.hopl3liblib.hseq.hossemul.hoxfw.hoxygenoxygen.hlib.hpci.hpcmpcm.held.htimer.hpcsp.hpcxhr.hprocfs.hrawmidi.hrme32.hrme96.hrme9652.hseqdevice.hdummy.hhrtimerdefault.hmidimidi.hemul.hevent.hvirmidi.hsequencersequencer.hoss.hsocsoc.hacpiacpi.hintelmatch.hamdacp5x.hacp6x.hrenoirrenoir.hmach.hvangoghmach.hycmach.hcompress.hcs35l41cs35l41.hi2c.hlib.hspi.hcx2072x.hda7213.hda7219.hdmic.hes8316.hes8326.hhda.hhdachda.hhdmi.hi2candspi.hintelapl.havs.hbdwrt5650mach.hrt5677mach.hbroadwellmach.hbxtda7219max98357acommon.hmach.hrt298mach.hbytchtcx2072xmach.hda7213mach.hes8316mach.hnocodecmach.hbytcrrt5640mach.hrt5651mach.hcatpt.hcfl.hchtbswmax98090timach.hnau8824mach.hrt5645mach.hrt5672mach.hcmlh.hlplp.hda7219max98357amach.hcnl.hda7219max98357ageneric.hehlrt5660mach.hglkglk.hda7219max98357amach.hrt5682max98357amach.hhaswellmach.hhdadspcommon.hkblkbl.hda7219max98357amach.hmax98927mach.hrt5660mach.hrt5663max98927mach.hrt5514max98927mach.hmach.hsklskl.hhdadspgenericmach.hnau88l25max98357amach.hssm4567mach.hrt286mach.hskylakeskylake.hcommon.hfamily.hsspclk.hsofcirruscommon.hcmlrt1011rt5682mach.hda7219max98373mach.hes8336mach.hmaximcommon.hnau8825mach.hpcm512xmach.hrealtekcommon.hrt5682mach.hsspampmach.hwm8804mach.hsoundwiresofmach.hsstsst.htoplevel.huserfriendlylongnames.hmax98090.hmax98357a.hmax98373max98373.hi2c.hsdw.hmax98390.hmax98927.hnau8315.hnau8821.hnau8824.hnau8825.hpcm512xpcm512x.hi2c.hrl6231.hrl6347a.hrt1011.hrt1015.hrt1015p.hrt1308rt1308.hsdw.hrt1316sdw.hrt1318sdw.hrt286.hrt298.hrt5514rt5514.hspi.hrt5640.hrt5645.hrt5651.hrt5660.hrt5663.hrt5670.hrt5677rt5677.hspi.hrt5682rt5682.hi2c.hsdw.hrt5682s.hrt700rt700.hsdw.hrt711rt711.hsdcasdw.hsdw.hrt712sdcasdw.hrt715rt715.hsdcasdw.hsdw.hsdwmockup.hsofsof.hacpiacpi.hdev.halderlake.hamdcommon.hrembrandt.hrenoir.htoplevel.hapollolake.hbaytrail.hbroadwell.hcannonlake.hclient.hcoffeelake.hcometlake.hdebugprobes.helkhartlake.hgeminilake.hhdahda.haudiocodec.hcommon.hlinklink.hbaseline.hmlink.hprobes.hicelake.hintelapl.hatomhifiep.hcnl.hcommon.hhifiepipc.hicl.hipc4.hmtl.hsoundwiresoundwire.hlinkbaseline.htgl.htoplevel.hipc3.hjasperlake.hmerrifield.hmeteorlake.hpcipci.hdev.hprobeworkqueue.htigerlake.htoplevel.hxtensa.hssm4567.htopologytopology.hkunittest.hts3a227e.hutilskunittest.hwmadsp.hwm8804wm8804.hi2c.hsstatomhifi2platformplatform.hacpi.hsynthemux.htimer.htrident.husbusb.h6fire.haudio.hcaiaqcaiaq.hinput.hhiface.hline6.hpod.hpodhd.htoneport.hua101.hus122l.husx2y.hvariax.hverboseprocfs.hvia82xxvia82xx.hmodem.hvirmidi.hvirtio.hvirtuoso.hvmaster.hvxlib.hvx222.hx86.hsockcgroupdata.hvalidatexmit.hsoftwatchdog.hsoftlockupdetector.hsolarisx86partition.hsonyff.hlaptop.hsonypicompat.hsoundsound.hosscorecore.hpreclaim.hsoundwiresoundwire.hamd.hcadence.hgenericallocation.hintel.hsp5100tco.hsparseirq.hsparsememsparsemem.hextreme.hmanual.hvmemmapvmemmap.henable.hspeculationmitigations.hspispi.hamd.hmaster.hpxa2xxpxa2xx.hpci.hsplitptlockcpus.hsquashfssquashfs.hdecompmultipercpu.hfiledirect.hfragmentcachesize.hlzo.hxattr.hxz.hzlib.hsrcu.hssbpossible.hstacktracer.hvalidation.hstackdepot.hstackprotectorstackprotector.hstrong.hstacktracestacktrace.hsupport.hstandalone.hste10xp.hstmstm.hdummy.hprotobasic.hsyst.hsourceconsole.hftrace.hheartbeat.hstmmaceth.hstp.hstreamparser.hstrictdevmem.hkernelrwx.hmodulerwx.hstripasmsyms.hsunpartition.hsunrpcsunrpc.hbackchannel.hdebug.hgss.hxprtrdma.hsuspendsuspend.hfreezer.hswap.hswiotlb.hswphy.hsymbolicerrname.hsyncookies.hsyncfile.hsynclinksynclink.hgt.hsynclinkmp.hsysctlsysctl.hexceptiontrace.hkunittest.hsysfssysfs.hsyscall.hsystemblacklisthashlist.hkeyring.hdataverification.htrustedkeyring.hkeys.hsysvipcsysvipc.hcompat.hsysctl.htabletserialwacom4.husbacecad.haiptek.hgtco.hkbtab.htap.htargetcore.htaskdelayacct.hioaccounting.hxacct.htasksrcurcu.hgeneric.hrudercu.htracercu.htaskstats.htcgatmel.hcrb.hinfineon.hnsc.htistis.hcore.hi2catmel.hinfineon.hnuvoton.hst33zp24st33zp24.hi2c.htpm.htcmfileio.hiblock.hpscsi.huser2.htcpcongadvanced.hbbr.hbic.hcubic.hdctcp.hhstcp.hhtcp.hhybla.hillinois.hlp.hnv.hscalable.hvegas.hveno.hwestwood.hyeah.hmd5sig.htdxguestdriver.htelclock.hteraneticsphy.htestbpf.hkstrtox.hlistsort.hlivepatch.hvmalloc.htextsearchtextsearch.hbm.hfsm.hkmp.hthermalthermal.hdefaultgovstepwise.hemergencypoweroffdelayms.hgovbangbang.hfairshare.hstepwise.huserspace.hhwmon.hnetlink.hwritabletrips.hthinkpadacpiacpi.halsasupport.hhotkeypoll.hvideo.hlmi.hthreadinfointask.htickoneshot.htifm7xx1.hcore.htigon3tigon3.hhwmon.htimekunittest.hns.htimerfd.htimerlattracer.htipctipc.hcrypto.hdiag.hmediaib.hudp.htlstls.hdevice.htmpfstmpfs.hposixacl.hxattr.htopstarlaptop.htorturetest.htoshibabtrfkill.htouchscreenelo.hproperties.hwacomi2c.hw8001.htraceclock.hirqflagsnmisupport.hsupport.htracepoints.htracermaxtrace.hsnapshot.htracingtracing.hmap.hsupport.htreercu.hsrcu.htristate.conftrustedkeys.httpcieeprom.htty.htun.htypectypec.hdpaltmode.hfusb302.hhd3ss3220.hmuxpi3usb30532.hrt1711h.hstusb160x.htcpci.htcpm.htps6598x.hucsi.hucs2string.hucsiacpi.hudffs.hueficpercper.hx86.huhid.huid16.huiouio.haec.hcif.hpcigeneric.hpdrvgenirq.hsercos3.hunixunix.hdiag.hscm.hunix98ptys.hunixwaredisklabel.hunwinderorc.huprobeevents.huprobes.husbusb.hacm.hadutux.halim5632.han2720.hannouncenewdevices.happledisplay.harchhashcd.harmlinux.hatm.hautosuspenddelay.hbelkin.hcatc.hcommon.hconngpio.hcxacru.hdefaultpersist.hehcihcd.hpci.hroothubtt.httnewsched.hemi26.hemi62.hepson2888.hezusbfx2.hfewinitretries.hftdielan.hgl860.hgspcagspca.hbenq.hconex.hcpia1.hetoms.hfinepix.hjeilinj.hjl2005bcd.hkonica.hmars.hmr97310a.hnw80x.hov519.hov534ov534.h9.hpac207.hpac7302.hpac7311.hse401.hsn9c2028.hsn9c20x.hsonixb.hsonixj.hspca1528.hspca500.hspca501.hspca505.hspca506.hspca508.hspca561.hsq905.hsq905c.hsq930x.hstk014.hstv0680.hsunplus.ht613.htopro.htv8532.hvc032x.hvicam.hxirlinkcit.hzc3xx.hhid.hhiddev.hhsicusb3503.hhso.hhwahcd.hidmouse.hiowarrior.hipheth.hisightfw.hkaweth.hkc2190.hlan78xx.hlcd.hld.hledtrig.hledstriggerusbport.hlegotower.hm5602.hmdc800.hmicrotek.hmon.hnetax88179178a.hax8817x.hcdceem.hmbim.hncm.hsubsetsubset.henable.hcdcether.hch9200.hcx82310eth.hdm9601.hdrivers.hgl620a.hhuaweicdcncm.hint51x1.hkalmia.hmcs7830.hnet1080.hplusb.hqmiwwan.hrndishost.hsmsc75xx.hsmsc95xx.hzaurus.hohcihcdhcd.hpci.hlittleendian.hpci.hpegasus.hprinter.hpulse8cec.hpwcpwc.hinputevdev.hrainshadowcec.hroleswitch.hrolesintelxhci.hrtl8150.hrtl8152.hs2255.hserialserial.haircable.hark3116.hbelkin.hch341.hconsole.hcp210x.hcyberjack.hcypressm8.hdebug.hdigiacceleport.hedgeportedgeport.hti.hempeg.hf8153x.hftdisio.hgarmin.hgeneric.hipaq.hipw.hir.hiuu.hkeyspankeyspan.hpda.hklsi.hkobilsct.hmctu232.hmos7715parport.hmos7720.hmos7840.hmxuport.hnavman.homninet.hopticon.hoption.hoti6858.hpl2303.hqcaux.hqt2.hqualcomm.hsafesafe.hpadded.hsierrawireless.hspcp8x5.hssu100.hsymbol.hti.hupd78f0730.hvisor.hwhiteheat.hwwan.hxircom.hxsensmt.hsevseg.hsierranet.hsisusbvga.hspeedtouch.hstkwebcam.hstoragestorage.halauda.hcypressatacb.hdatafab.heneub6250.hfreecom.hisd200.hjumpshot.hkarma.honetouch.hrealtek.hsddr09.hsddr55.husbat.hstv06xx.hsupport.htmc.huas.hueagleatm.huhcihcd.husbnet.huss720.hvideoclassclass.hinputevdev.hvl600.hwdm.hwusbwusb.hcbaf.hxhcidbgcap.hhcd.hpci.hplatform.hxusbatm.hzr364xx.husb4usb4.hnet.husbpcwatchdog.husepercpunumanodeid.huserns.hreturnnotifier.hstacktracesupport.huserfaultfd.hutsns.huvmmtimer.hsysfs.huvccommon.huwbuwb.hhwa.hi1480u.hwhci.hvdpavdpa.hsimsim.hblock.hnet.hveth.hvfatfs.hvfiovfio.hiommutype1.hmdevmdev.hdevice.hnoiommu.hpcipci.hintx.hmmap.hvirqfd.hvgaarbarb.hmaxgpus.hconsole.hswitcheroo.hvhostvhost.hiotlb.hmenu.hnet.hring.hvdpa.hvsock.hviawdt.hvideoau0828au0828.hv4l2.hbt848.hcs3308.hcs5345.hcs53l32a.hcx18cx18.halsa.hcx231xxcx231xx.halsa.hdvb.hrc.hcx2341x.hcx23885.hcx25840.hcx88cx88.halsa.hblackbird.hdvb.hmpeg.hdev.hem28xxem28xx.halsa.hdvb.hrc.hfbivtv.hhdpvr.hiri2c.hivtv.hm52790.hmsp3400.hnomodeset.hpvrusb2pvrusb2.hdvb.hsysfs.hsaa6588.hsaa6752hs.hsaa711x.hsaa7127.hsaa7134saa7134.halsa.hdvb.hrc.hsaa7146saa7146.hvv.hsaa7164.hsaa717x.htda7432.htm6000tm6000.halsa.hdvb.htuner.htvaudio.htveeprom.hupd64031a.hupd64083.husbvision.hv4l2.hvp27smpx.hwm8739.hwm8775.hvideobufdmasg.hgen.hvmalloc.hvideobuf2core.hdmasg.hdvb.hmemops.hv4l2.hvmalloc.hvirtcpuaccountingaccounting.hgen.hdrivers.htobus.hvirtiovirtio.hballoon.hblk.hconsole.hfs.hinput.hmem.hmenu.hnet.hpcipci.hlegacy.hlib.hvdpa.hvsocketsvsockets.hcommon.hvirtualization.hvitessephy.hvlan8021q8021q.hgvrp.hmvrp.hvmeventcounters.hvmappfn.hstack.hvmd.hvmwareballoon.hpvscsi.hvmcivmci.hvsockets.hvmxnet3.hvpvdpa.hvsocketsvsockets.hdiag.hloopback.hvsockmon.hvtvt.hconsoleconsole.hsleep.hhwconsolebinding.hvxlan.hw83627hfwdt.hw83877fwdt.hw83977fwdt.hwan.hwantdevcoredump.hwatchdogwatchdog.hcore.hhandlebootenabled.hopentimeout.hsysfs.hwdatwdt.hwdtpci.hwireless.hwlanwlan.hvendorath.hbroadcom.hintel.hmarvell.hmediatek.hquantenna.hralink.hrealtek.hwmibmof.hx509certificateparser.hx86x86.h16bit.h5level.h6464.hacpinuma.hsmp.hacpicpufreqcpufreq.hcpb.hamdfreqsensitivity.hplatformdevice.hpstate.hcheckbioscorruption.hcmov.hcmpxchg64.hcpuresctrl.hcpuid.hdebugctlmsr.hdecoderselftest.hdirectgbpages.hespfix64.hextendedplatform.hfeaturenames.hhvcallbackvector.hintellpss.hmemoryprotectionkeys.hpstate.htsxmodeoff.humip.hinternodecacheshift.hioapic.hl1cacheshift.hlocalapic.hmcemce.hamd.hinject.hintel.hthreshold.hmceloglegacy.hmemencrypt.hminimumcpufamily.hmpparse.hmsr.hneedrelocs.hp4clockmod.hpat.hpkgtempthermal.hplatformdevices.hdriversintel.hpmtimer.hpmemlegacylegacy.hdevice.hpowernowk8.hrerouteforbrokenbootirqs.hsgxsgx.hkvm.hsmap.hspeedsteplib.hsupportsmemoryfailure.hthermalvector.htsc.huv.hvmxfeaturenames.hvsyscallemulation.hx2apic.hxarraymulti.hxdpsocketssockets.hdiag.hxfrmxfrm.halgo.hespintcp.hinterface.hipcomp.hmigrate.hoffload.hstatistics.hsubpolicy.huser.hxfsfs.hposixacl.hquota.hxilinxgmii2rgmii.hxorblocks.hxps.hxzdecdec.harm.harmthumb.hbcj.hia64.hpowerpc.hsparc.hx86.hyentayenta.henetune.ho2.hricoh.hti.htoshiba.hzbud.hzisofs.hzlibdeflate.hinflate.hzonedevice.hdma.hdma32.hzpool.hzramzram.hwriteback.hzsmalloczsmalloc.hstat.hzswap.hcryptoacompress.haead.haes.hakcipher.halgapi.harc4.hauthenc.hb128ops.hblowfish.hcast5.hcast6.hcast_common.hcbc.hchacha20.hcryptd.hcrypto_wq.hctr.hdes.hdh.hdrbg.hecdh.hengine.hgcm.hgf128mul.hghash.hhash.hhash_info.hhmac.hif_alg.hinternalacompress.haead.hakcipher.hgeniv.hhash.hkpp.hrng.hrsa.hscompress.hsimd.hskcipher.hkpp.hmcryptd.hmd5.hmorus1280_glue.hmorus640_glue.hmorus_common.hnull.hpadlock.hpcrypt.hpkcs7.hpoly1305.hpublic_key.hrng.hscatterwalk.hserpent.hsha.hsha1_base.hsha256_base.hsha3.hsha512_base.hskcipher.hsm3.hsm3_base.hsm4.hspeck.htwofish.hxts.hdrmdrm-backportREADME.txtlinuxmmu_notifier.hamd_asic_type.hbridgeanalogix_dp.hdw_hdmi.hdw_mipi_dsi.hmhl.hdisplaydrm_dp.hdrm_dp_aux_bus.hdrm_dp_dual_mode_helper.hdrm_dp_helper.hdrm_dp_mst_helper.hdrm_dsc.hdrm_dsc_helper.hdrm_hdcp.hdrm_hdcp_helper.hdrm_hdmi_helper.hdrm_scdc.hdrm_scdc_helper.hdrm_accel.hdrm_aperture.hdrm_atomic.hdrm_atomic_helper.hdrm_atomic_state_helper.hdrm_atomic_uapi.hdrm_audio_component.hdrm_auth.hdrm_blend.hdrm_bridge.hdrm_bridge_connector.hdrm_buddy.hdrm_cache.hdrm_client.hdrm_color_mgmt.hdrm_connector.hdrm_crtc.hdrm_crtc_helper.hdrm_damage_helper.hdrm_debugfs.hdrm_debugfs_crc.hdrm_device.hdrm_displayid.hdrm_drv.hdrm_edid.hdrm_encoder.hdrm_encoder_slave.hdrm_fb_dma_helper.hdrm_fb_helper.hdrm_fbdev_generic.hdrm_file.hdrm_fixed.hdrm_flip_work.hdrm_format_helper.hdrm_fourcc.hdrm_framebuffer.hdrm_gem.hdrm_gem_atomic_helper.hdrm_gem_dma_helper.hdrm_gem_framebuffer_helper.hdrm_gem_shmem_helper.hdrm_gem_ttm_helper.hdrm_gem_vram_helper.hdrm_ioctl.hdrm_kunit_helpers.hdrm_lease.hdrm_legacy.hdrm_managed.hdrm_mipi_dbi.hdrm_mipi_dsi.hdrm_mm.hdrm_mode_config.hdrm_mode_object.hdrm_modes.hdrm_modeset_helper.hdrm_modeset_helper_vtables.hdrm_modeset_lock.hdrm_module.hdrm_of.hdrm_panel.hdrm_pciids.hdrm_plane.hdrm_plane_helper.hdrm_prime.hdrm_print.hdrm_privacy_screen_consumer.hdrm_privacy_screen_driver.hdrm_privacy_screen_machine.hdrm_probe_helper.hdrm_property.hdrm_rect.hdrm_self_refresh_helper.hdrm_simple_kms_helper.hdrm_syncobj.hdrm_sysfs.hdrm_util.hdrm_utils.hdrm_vblank.hdrm_vblank_work.hdrm_vma_manager.hdrm_writeback.hgma_drm.hgpu_scheduler.hgud.hi2cch7006.hsil164.htda998x.hi915_component.hi915_drm.hi915_mei_hdcp_interface.hi915_pciids.hi915_pxp_tee_interface.hintel-gtt.hintel_lpe_audio.hspsc_queue.htask_barrier.httmttm_bo.httm_caching.httm_device.httm_execbuf_util.httm_kmap_iter.httm_placement.httm_pool.httm_range_manager.httm_resource.httm_tt.hdt-bindingsarmux500_pm_domains.hbusti-sysc.hclkti-dra7-atl.hclockactions,s900-cmu.halphascale,asm9260.ham3.ham4.haspeed-clock.hat91.hath79-clk.haxg-aoclkc.haxg-clkc.haxis,artpec6-clkctrl.hbcm-cygnus.hbcm-ns2.hbcm-nsp.hbcm-sr.hbcm21664.hbcm281xx.hbcm2835-aux.hbcm2835.hberlin2.hberlin2q.hboston-clock.hclps711x-clock.hcortina,gemini-clock.hdm814.hdm816.hdra7.hefm32-cmu.hexynos-audss-clk.hexynos3250.hexynos4.hexynos5250.hexynos5260-clk.hexynos5410.hexynos5420.hexynos5433.hexynos5440.hexynos7-clk.hgxbb-aoclkc.hgxbb-clkc.hhi3516cv300-clock.hhi3519-clock.hhi3620-clock.hhi3660-clock.hhi6220-clock.hhip04-clock.hhistb-clock.hhix5hd2-clock.himx1-clock.himx21-clock.himx27-clock.himx5-clock.himx6qdl-clock.himx6sl-clock.himx6sll-clock.himx6sx-clock.himx6ul-clock.himx7d-clock.hjz4740-cgu.hjz4770-cgu.hjz4780-cgu.hlpc18xx-ccu.hlpc18xx-cgu.hlpc32xx-clock.hlsi,axm5516-clks.hmarvell,mmp2.hmarvell,pxa168.hmarvell,pxa1928.hmarvell,pxa910.hmaxim,max77620.hmaxim,max77686.hmaxim,max77802.hmeson8b-clkc.hmicrochip,pic32-clock.hmpc512x-clock.hmt2701-clk.hmt2712-clk.hmt6797-clk.hmt7622-clk.hmt8135-clk.hmt8173-clk.hnuvoton,npcm7xx-clock.homap4.homap5.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-clk.hpxa-clock.hqcom,gcc-apq8084.hqcom,gcc-ipq4019.hqcom,gcc-ipq806x.hqcom,gcc-ipq8074.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,gcc-msm8994.hqcom,gcc-msm8996.hqcom,gcc-msm8998.hqcom,gcc-sdm845.hqcom,lcc-ipq806x.hqcom,lcc-mdm9615.hqcom,lcc-msm8960.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hqcom,mmcc-msm8996.hqcom,rpmcc.hqcom,rpmh.hqcom,videocc-sdm845.hr7s72100-clock.hr8a73a4-clock.hr8a7740-clock.hr8a7743-cpg-mssr.hr8a7745-cpg-mssr.hr8a77470-cpg-mssr.hr8a7778-clock.hr8a7779-clock.hr8a7790-clock.hr8a7790-cpg-mssr.hr8a7791-clock.hr8a7791-cpg-mssr.hr8a7792-clock.hr8a7792-cpg-mssr.hr8a7793-clock.hr8a7793-cpg-mssr.hr8a7794-clock.hr8a7794-cpg-mssr.hr8a7795-cpg-mssr.hr8a7796-cpg-mssr.hr8a77965-cpg-mssr.hr8a77970-cpg-mssr.hr8a77980-cpg-mssr.hr8a77990-cpg-mssr.hr8a77995-cpg-mssr.hrenesas-cpg-mssr.hrk3036-cru.hrk3066a-cru.hrk3128-cru.hrk3188-cru-common.hrk3188-cru.hrk3228-cru.hrk3288-cru.hrk3328-cru.hrk3368-cru.hrk3399-cru.hrockchip,rk808.hrv1108-cru.hs3c2410.hs3c2412.hs3c2443.hs5pv210-audss.hs5pv210.hsamsung,s2mps11.hsamsung,s3c64xx-clock.hsh73a0-clock.hsprd,sc9860-clk.hste-ab8500.hstih407-clks.hstih410-clks.hstih416-clks.hstih418-clks.hstm32fx-clock.hstm32h7-clks.hstm32mp1-clks.hstratix10-clock.hsun4i-a10-ccu.hsun4i-a10-pll2.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun7i-a20-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra114-car.htegra124-car-common.htegra124-car.htegra186-clock.htegra194-clock.htegra20-car.htegra210-car.htegra30-car.hvf610-clock.hzx296702-clock.hzx296718-clock.hdisplaytda998x.hdmaat91.haxi-dmac.hjz4780-dma.hnbpfaxi.hsun4i-a10.hgpioaspeed-gpio.hgpio.hmeson-axg-gpio.hmeson-gxbb-gpio.hmeson-gxl-gpio.hmeson8-gpio.hmeson8b-gpio.htegra-gpio.htegra186-gpio.htegra194-gpio.huniphier-gpio.hi2ci2c.hiioadcfsl-imx25-gcq.hadi,ad5592r.hqcom,spmi-vadc.hinputgpio-keys.hinput.hlinux-event-codes.hti-drv260x.hinterrupt-controllerarm-gic.hirq-st.hirq.hmips-gic.hmvebu-icu.hledscommon.hleds-netxbig.hleds-ns2.hleds-pca9532.hleds-pca955x.hmailboxtegra186-hsp.hmediac8sectpfe.homap3-isp.htda1997x.htvp5150.hxilinx-vip.hmemorymt2701-larb-port.hmt8173-larb-port.htegra114-mc.htegra124-mc.htegra186-mc.htegra20-mc.htegra210-mc.htegra30-mc.hmfdarizona.has3722.hatmel-flexcom.hdbx500-prcmu.hmax77620.hpalmas.hqcom-rpm.hst-lpc.hstm32f4-rcc.hstm32f7-rcc.hstm32h7-rcc.hmipslantiq_rcu_gphy.hmuxmux.hnetmicrochip-lan78xx.hmscc-phy-vsc8531.hqca-ar803x.hti-dp83867.hti-dp83869.hphyphy-pistachio-usb.hphy-qcom-qusb2.hphy.hpinctrlam33xx.ham43xx.hat91.hbcm2835.hbrcm,pinctrl-stingray.hdm814x.hdra.hhisi.hkeystone.hmt6397-pinfunc.hmt65xx.hmt7623-pinfunc.hnomadik.homap.hpinctrl-tegra-xusb.hpinctrl-tegra.hqcom,pmic-gpio.hqcom,pmic-mpp.hr7s72100-pinctrl.hrockchip.hsamsung.hstm32-pinfunc.hsun4i-a10.hpowerimx7-power.hmt2701-power.hmt2712-power.hmt6797-power.hmt7622-power.hmt7623a-power.hmt8173-power.howl-s500-powergate.howl-s700-powergate.hpx30-power.hr8a7743-sysc.hr8a7745-sysc.hr8a77470-sysc.hr8a7779-sysc.hr8a7790-sysc.hr8a7791-sysc.hr8a7792-sysc.hr8a7793-sysc.hr8a7794-sysc.hr8a7795-sysc.hr8a7796-sysc.hr8a77965-sysc.hr8a77970-sysc.hr8a77980-sysc.hr8a77990-sysc.hr8a77995-sysc.hraspberrypi-power.hrk3036-power.hrk3128-power.hrk3228-power.hrk3288-power.hrk3328-power.hrk3366-power.hrk3368-power.hrk3399-power.htegra186-powergate.htegra194-powergate.hpwmpwm.hregulatormaxim,max77802.hresetaltr,rst-mgr-a10.haltr,rst-mgr-a10sr.haltr,rst-mgr-s10.haltr,rst-mgr.hamlogic,meson-axg-reset.hamlogic,meson-gxbb-reset.hamlogic,meson8b-clkc-reset.hamlogic,meson8b-reset.haxg-aoclkc.hcortina,gemini-reset.hgxbb-aoclkc.hhisi,hi6220-resets.himx7-reset.hmt2701-resets.hmt7622-reset.hmt8135-resets.hmt8173-resets.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-resets.hqcom,gcc-apq8084.hqcom,gcc-ipq806x.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hsnps,hsdk-reset.hstih407-resets.hstih415-resets.hstih416-resets.hstm32mp1-resets.hsun4i-a10-ccu.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra124-car.htegra186-reset.htegra194-reset.htegra210-car.hti-syscon.hsocqcom,apr.hqcom,gsbi.hrockchip,boot-mode.hzte,pm_domains.hsoundadi,adau1977.hapq8016-lpass.haudio-jack-events.hcs35l32.hcs42l42.hfsl-imx-audmux.hqcom,q6afe.hqcom,q6asm.hrt5640.hrt5651.hsamsung-i2s.htas2552.htlv320aic31xx.hspmispmi.hthermallm90.htegra124-soctherm.htegra186-bpmp-thermal.hthermal.hthermal_exynos.husbpd.hgeneratedasm-offsets.hautoconf.hbounds.hcompile.htimeconst.huapilinuxversion.hutsrelease.hkeysasymmetric-parser.hasymmetric-subtype.hasymmetric-type.hbig_key-type.hceph-type.hdns_resolver-type.hencrypted-type.hkeyring-type.hrxrpc-type.hsystem_keyring.htrusted-type.htrusted_tpm.huser-type.hkunitassert.hresource.htest-bug.htest.htry-catch.hkvmarm_arch_timer.harm_hypercalls.harm_pmu.harm_psci.harm_vgic.hiodev.hlinux8250_pci.ha.out.hacct.hacpi.hacpi_dma.hacpi_iort.hacpi_pmtmr.hadb.hadfs_fs.hadxl.haer.hagp_backend.hagpgart.hahci-remap.hahci_platform.haio.halarmtimer.haltera_jtaguart.haltera_uart.hambabus.hclcd-regs.hclcd.hkmi.hmmci.hpl022.hpl080.hpl08x.hpl093.hserial.hsp810.hamd-iommu.hanon_inodes.haperture.hapm-emulation.hapm_bios.happle-gmux.happle_bl.harch_topology.harm-cci.harm-smccc.harm_sdei.hascii85.hasn1.hasn1_ber_bytecode.hasn1_decoder.hassoc_array.hassoc_array_priv.hasync.hasync_tx.hata.hata_platform.hatalk.hath9k_platform.hatm.hatm_suni.hatm_tcp.hatmdev.hatmel-mci.hatmel-ssc.hatmel_pdc.hatmel_tc.hatomic.hattribute_container.haudit.haudit_arch.hauto_dev-ioctl.hauto_fs.hauxiliary_bus.hauxvec.haverage.havfvirtchnl.hb1pcmcia.hbacking-dev-defs.hbacking-dev.hbacklight.hbadblocks.hballoon_compaction.hbcd.hbch.hbcm47xx_nvram.hbcm47xx_sprom.hbcm47xx_wdt.hbcm963xx_nvram.hbcm963xx_tag.hbcmabcma.hbcma_driver_arm_c9.hbcma_driver_chipcommon.hbcma_driver_gmac_cmn.hbcma_driver_mips.hbcma_driver_pci.hbcma_driver_pcie2.hbcma_regs.hbcma_soc.hbinfmts.hbio.hbit_spinlock.hbitfield.hbitmap.hbitops.hbitrev.hbits.hblk-cgroup.hblk-mq-pci.hblk-mq-rdma.hblk-mq-virtio.hblk-mq.hblk-pm.hblk_types.hblkdev.hblkpg.hblktrace_api.hblockgroup_lock.hbma150.hbottom_half.hbpf-cgroup.hbpf-netns.hbpf.hbpf_lirc.hbpf_local_storage.hbpf_lsm.hbpf_trace.hbpf_types.hbpf_verifier.hbpfilter.hbpfptr.hbrcmphy.hbsearch.hbsg-lib.hbsg.hbtf.hbtf_ids.hbtree-128.hbtree-type.hbtree.hbtrfs.hbuffer_head.hbug.hbuild_bug.hbuildid.hbvec.hbyteorderbig_endian.hgeneric.hlittle_endian.hc2port.hcache.hcacheinfo.hcancore.hdevdev.hpeak_canfd.hled.hplatformcc770.hmcp251x.hrcar_can.hsja1000.hrx-offload.hskb.hcapability.hcb710.hcc_platform.hcciss_ioctl.hccp.hcdev.hcdrom.hcephauth.hbuffer.hceph_debug.hceph_features.hceph_frag.hceph_fs.hceph_hash.hcls_lock_client.hdebugfs.hdecode.hlibceph.hmdsmap.hmessenger.hmon_client.hmsgpool.hmsgr.hosd_client.hosdmap.hpagelist.hrados.hstring_table.hstriper.htypes.hcfag12864b.hcgroup-defs.hcgroup.hcgroup_rdma.hcgroup_subsys.hcirc_buf.hcleancache.hclkclk-provider.hclk.hat91_pmc.hclk-conf.hdavinci.hmmp.hmxs.hrenesas.hsunxi-ng.htegra.hti.hzynq.hclkdev.hclock_cooling.hclockchips.hclocksource.hcm4000_cs.hcma.hcmdline-parser.hcn_proc.hcnt32_to_63.hcoda.hcoda_psdev.hcompaction.hcompat.hcompat_time.hcompiler-clang.hcompiler-gcc.hcompiler-intel.hcompiler.hcompiler_attributes.hcompiler_types.hcompletion.hcomponent.hconcap.hconfigfs.hconnector.hconsole.hconsole_struct.hconsolemap.hconst.hcontainer.hcontainer_of.hcontext_tracking.hcontext_tracking_state.hcookie.hcordic.hcoredump.hcoresight-pmu.hcoresight-stm.hcoresight.hcount_zeros.hcounter.hcounter_enum.hcper.hcpu.hcpu_cooling.hcpu_pm.hcpu_rmap.hcpufeature.hcpufreq.hcpuhotplug.hcpuidle.hcpuidle_haltpoll.hcpumask.hcpuset.hcrash_core.hcrash_dump.hcrc-ccitt.hcrc-itu-t.hcrc-t10dif.hcrc16.hcrc32.hcrc32c.hcrc32poly.hcrc4.hcrc7.hcrc8.hcred.hcrushcrush.hhash.hmapper.hcrypto.hcryptohash.hcs5535.hctype.hcuda.hcxl_err.hcyclades.hdamon.hdavinci_emac.hdax.hdca.hdcache.hdccp.hdcookies.hdebug_locks.hdebugfs.hdebugobjects.hdecompressbunzip2.hgeneric.hinflate.hmm.hunlz4.hunlzma.hunlzo.hunxz.hdelay.hdelayacct.hdelayed_call.hdell-led.hdev_printk.hdevcoredump.hdevfreq-event.hdevfreq.hdevfreq_cooling.hdevice-mapper.hdevice.hdevice_cgroup.hdevm-helpers.hdevpts_fs.hdigsig.hdim.hdio.hdirent.hdlm.hdlm_plock.hdm-bufio.hdm-dirty-log.hdm-io.hdm-kcopyd.hdm-region-hash.hdm9000.hdmadma-buf.hdma-contiguous.hdma-direct.hdma-direction.hdma-fence-array.hdma-fence-chain.hdma-fence-unwrap.hdma-fence.hdma-iommu.hdma-map-ops.hdma-mapping.hdma-resv.hdw.hhsu.hidma64.hipu-dma.hmmp-pdma.hpxa-dma.hqcom_bam_dma.hsprd-dma.hxilinx_dma.hdmaengine.hdmapool.hdmar.hdmi.hdnotify.hdns_resolver.hdqblk_qtree.hdqblk_v1.hdqblk_v2.hdrbd.hdrbd_genl.hdrbd_genl_api.hdrbd_limits.hds2782_battery.hdsalan9303.hdtlk.hdw_apb_timer.hdynamic_debug.hdynamic_queue_limits.hearlycpio.hecryptfs.hedac.hedd.hedma.heeprom_93cx6.heeprom_93xx46.hefi-bgrt.hefi.hefs_vh.heisa.helevator.helf-fdpic.helf-randomize.helf.helfcore-compat.helfcore.helfnote.henclosure.henergy_model.herr.herrname.herrno.herror-injection.herrqueue.herrseq.hetherdevice.hethtool.hethtool_netlink.heventfd.heventpoll.hevm.hexport.hexportfs.hext2_fs.hextable.hextconextcon-provider.hextcon.hextcon-adc-jack.hf2fs_fs.hf75375s.hfalloc.hfanotify.hfault-inject.hfb.hfbcon.hfcdevice.hfcntl.hfd.hfddidevice.hfdtable.hfec.hfile.hfilter.hfips.hfirewire.hfirmwarefirmware-map.hfirmware.hcirruscs_dsp.hwmfw.hintelstratix10-smc.hstratix10-svc-client.hmesonmeson_sm.hfixp-arith.hflat.hflex_array.hflex_proportions.hfmc-sdb.hfmc.hfont.hfortify-string.hfpgaadi-axi-common.haltera-pr-ip-core.hfpga-bridge.hfpga-mgr.hfpga-region.hfreezer.hfrontswap.hfs.hfs_context.hfs_enet_pd.hfs_parser.hfs_pin.hfs_stack.hfs_struct.hfs_uart_pd.hfscache-cache.hfscache.hfscrypt.hfscrypt_notsupp.hfscrypt_supp.hfsi.hfslfsl-diu-fb.hbestcommata.hbestcomm.hbestcomm_priv.hfec.hgen_bd.hsram.hedac.hguts.hmc.hptp_qoriq.hfsl_devices.hfsl_hypervisor.hfsl_ifc.hfsldma.hfsnotify.hfsnotify_backend.hftrace.hftrace_irq.hfutex.hfwnode.hgameport.hgcd.hgenalloc.hgeneric-radix-tree.hgenetlink.hgenhd.hgenl_magic_func.hgenl_magic_struct.hgetcpu.hgfp.hglob.hgoldfish.hgpiogpio-pxa.hgpio.hconsumer.hdriver.hgpio-reg.hmachine.hgpio_keys.hhardirq.hhash.hhashtable.hhdlc.hhdlcdrv.hhdmi.hhid-debug.hhid-roccat.hhid-sensor-hub.hhid-sensor-ids.hhid.hhidden.hhiddev.hhidraw.hhighmem-internal.hhighmem.hhighuid.hhil.hhil_mlc.hhippidevice.hhmm.hhost1x.hhp_sdc.hhpet.hhrtimer.hhrtimer_defs.hhsihsi.hssi_protocol.hhtcpld.hhuge_mm.hhugetlb.hhugetlb_cgroup.hhugetlb_inline.hhw_breakpoint.hhw_random.hhwmon-sysfs.hhwmon-vid.hhwmon.hhwspinlock.hhyperv.hhypervisor.hi2c-algo-bit.hi2c-algo-pca.hi2c-algo-pcf.hi2c-dev.hi2c-mux.hi2c-pxa.hi2c-smbus.hi2c.hi8042.hi8253.hicmp.hicmpv6.hide.hidr.hieee80211.hieee802154.hif_arp.hif_bridge.hif_eql.hif_ether.hif_fddi.hif_frad.hif_link.hif_ltalk.hif_macvlan.hif_phonet.hif_pppol2tp.hif_pppox.hif_tap.hif_team.hif_tun.hif_tunnel.hif_vlan.higmp.hihex.hiioaccelkxcjk_1013.hadcad_sigma_delta.hstm32-dfsdm-adc.hbuffer-dma.hbuffer-dmaengine.hbuffer.hbuffer_impl.hcommoncros_ec_sensors_core.hssp_sensors.hst_sensors.hst_sensors_i2c.hst_sensors_spi.hconfigfs.hconsumer.hdacad5421.had5504.had5791.hmax517.hmcp4725.hdriver.hevents.hfrequencyad9523.hadf4350.hgyroitg3200.hhw-consumer.hiio.himuadis.hkfifo_buf.hmachine.hmagnetometerak8975.hsw_device.hsw_trigger.hsysfs.htimerstm32-lptim-trigger.hstm32-timer-trigger.htrigger.htrigger_consumer.htriggered_buffer.htriggered_event.htypes.hima.himx-media.hin.hin6.hindirect_call_wrapper.hinet.hinet_diag.hinetdevice.hinit.hinit_ohci1394_dma.hinit_task.hinitrd.hinotify.hinputinput-polldev.hinput.had714x.hadp5589.hadxl34x.has5011.hauo-pixcir-ts.hbu21013.hcma3000.hcy8ctmg110_pdata.hcyttsp.helan-i2c-ids.hgp2ap002a00f.hili210x.hkxtj9.hlm8333.hmatrix_keypad.hmt.hnavpoint.hsamsung-keypad.hsh_keysc.hsparse-keymap.htouchscreen.htps6507x-ts.hinstrumented.hintegrity.hintel-iommu.hintel-ish-client-if.hintel-pti.hintel_rapl.hintel_th.hinterrupt.hinterval_tree.hinterval_tree_generic.hio-64-nonatomic-hi-lo.hio-64-nonatomic-lo-hi.hio-mapping.hio-pgtable.hio.hioasid.hioc3.hioc4.hiocontext.hiomap.hiommu-helper.hiommu.hiopoll.hioport.hioprio.hiosys-map.hiova.hip.hipack.hipc.hipc_namespace.hipmi-fru.hipmi.hipmi_smi.hipv6.hipv6_route.hirq.hirq_poll.hirq_sim.hirq_work.hirqbypass.hirqchipirqchip.harm-gic-common.harm-gic-v3.harm-gic-v4.harm-gic.harm-vgic-info.harm-vic.hchained_irq.hingenic.hirq-bcm2836.hirq-omap-intc.hirq-partition-percpu.hirq-sa11x0.hmmp.hmxs.hversatile-fpga.hxtensa-mx.hxtensa-pic.hirqdesc.hirqdomain.hirqflags.hirqhandler.hirqnr.hirqreturn.hisa.hisapnp.hiscsi_boot_sysfs.hiscsi_ibft.hisdnisdn.hcapilli.hcapiutil.hhdlc.hisdn_divertif.hisdn_ppp.hisdnif.hisicom.hism.hiversion.hjbd2.hjhash.hjiffies.hjournal-head.hjoystick.hjump_label.hjump_label_ratelimit.hjz4740-adc.hjz4780-nemc.hkallsyms.hkasan-checks.hkasan.hkbd_diacr.hkbd_kern.hkbuild.hkconfig.hkcore.hkcov.hkcsan-checks.hkcsan.hkdb.hkdebug.hkdev_t.hkern_levels.hkernel-page-flags.hkernel.hkernel_stat.hkernelcapi.hkernfs.hkexec.hkey-type.hkey.hkeyboard.hkfifo.hkgdb.hkhugepaged.hklist.hkmemleak.hkmod.hkmsg_dump.hkobj_map.hkobject.hkobject_ns.hkprobes.hkref.hks0108.hks8842.hks8851_mll.hksm.hkstrtox.hkthread.hktime.hkvm_dirty_ring.hkvm_host.hkvm_irqfd.hkvm_para.hkvm_types.hl2tp.hlapb.hlatencytop.hlcd.hlcm.hled-class-flash.hled-lm3530.hleds-bd2802.hleds-lp3944.hleds-lp3952.hleds-pca9532.hleds-regulator.hleds-tca6507.hleds.hleds_pwm.hlibata.hlibfdt.hlibfdt_env.hlibgcc.hlibnvdimm.hlibps2.hlicense.hlightnvm.hlimits.hlinear_range.hlinkage.hlinkmode.hlinux_logo.hlis3lv02d.hlist.hlist_bl.hlist_lru.hlist_nulls.hlist_sort.hlivepatch.hllc.hllist.hlocal_lock.hlocal_lock_internal.hlockdbind.hdebug.hlockd.hnlm.hshare.hxdr.hxdr4.hlockdep.hlockdep_types.hlockref.hlog2.hlogic_pio.hlp.hlru_cache.hlsm_audit.hlsm_hook_defs.hlsm_hooks.hlz4.hlzo.hmISDNdsp.hmISDNhw.hmISDNif.hmailboxbrcm-message.hmailbox_client.hmailbox_controller.hmaple.hmarvell_phy.hmath.hmath64.hmax17040_battery.hmbcache.hmbus.hmc146818rtc.hmc6821.hmcb.hmdev.hmdio-bitbang.hmdio-gpio.hmdio-mux.hmdio.hmei_aux.hmei_cl_bus.hmem_encrypt.hmemblock.hmemcontrol.hmemfd.hmemory.hmemory_hotplug.hmempolicy.hmempool.hmemregion.hmemremap.hmemstick.hmfd88pm80x.h88pm860x.haat2870.hab3100.habx500abx500.hab8500-bm.hab8500-codec.hab8500-gpadc.hab8500-sysctrl.hab8500.hux500_chargalg.hac100.hadp5520.haltera-a10sr.harizonacore.hpdata.hregisters.has3711.has3722.hasic3.hatmel-hlcdc.haxp20x.hbcm590xx.hbd9571mwv.hcore.hcros_ec.hcros_ec_commands.hcros_ec_lpc_mec.hcros_ec_lpc_reg.hda8xx-cfgchip.hda903x.hda9052da9052.hpdata.hreg.hda9055core.hpdata.hreg.hda9062core.hregisters.hda9063core.hpdata.hregisters.hda9150core.hregisters.hdavinci_voicecodec.hdb8500-prcmu.hdbx500-prcmu.hdln2.hdm355evm_msp.hds1wm.hezx-pcap.hhi6421-pmic.hhi655x-pmic.hhtc-pasic3.himx25-tsadc.hintel_msic.hintel_soc_pmic.hintel_soc_pmic_bxtwc.hipaq-micro.hjanz.hkempld.hlm3533.hlochnagar.hlochnagar1_regs.hlochnagar2_regs.hlp3943.hlp873x.hlp87565.hlp8788-isink.hlp8788.hlpc_ich.hmax14577-private.hmax14577.hmax77620.hmax77686-private.hmax77686.hmax77693-common.hmax77693-private.hmax77693.hmax77843-private.hmax8907.hmax8925.hmax8997-private.hmax8997.hmax8998-private.hmax8998.hmc13783.hmc13892.hmc13xxx.hmcp.hmenelaus.hmotorola-cpcap.hmt6323core.hregisters.hmt6397core.hregisters.hmxs-lradc.hpalmas.hpcf50633adc.hbacklight.hcore.hgpio.hmbc.hpmic.hqcom_rpm.hrave-sp.hrc5t583.hrdc321x.hretu.hrk808.hrn5t618.hrt5033-private.hrt5033.hsamsungcore.hirq.hrtc.hs2mpa01.hs2mps11.hs2mps13.hs2mps14.hs2mps15.hs2mpu02.hs5m8763.hs5m8767.hsi476x-core.hsi476x-platform.hsi476x-reports.hsky81452.hsmsc.hsta2x11-mfd.hstm32-lptimer.hstm32-timers.hstmpe.hstw481x.hsun4i-gpadc.hsysconsyscon.hatmel-matrix.hatmel-mc.hatmel-smc.hatmel-st.hclps711x.himx6q-iomuxc-gpr.himx7-iomuxc-gpr.ht7l66xb.htc3589x.htc6387xb.htc6393xb.hti-lmu-register.hti-lmu.hti_am335x_tscadc.htmio.htps6105x.htps65010.htps6507x.htps65086.htps65090.htps65217.htps65218.htps6586x.htps65910.htps65912.htps68470.htps80031.htwl.htwl4030-audio.htwl6040.hucb1x00.hviperboard.hwl1273-core.hwm831xauxadc.hcore.hgpio.hirq.hotp.hpdata.hpmu.hregulator.hstatus.hwatchdog.hwm8350audio.hcomparator.hcore.hgpio.hpmic.hrtc.hsupply.hwdt.hwm8400-audio.hwm8400-private.hwm8400.hwm8994core.hgpio.hpdata.hregisters.hwm97xx.hmhi.hmhi_ep.hmic_bus.hmicrel_phy.hmicrochipphy.hmigrate.hmigrate_mode.hmii.hmii_timestamper.hmin_heap.hminmax.hmisc_cgroup.hmiscdevice.hmlx4cmd.hcq.hdevice.hdoorbell.hdriver.hqp.hsrq.hmlx5cq.hdevice.hdoorbell.hdriver.heq.heswitch.hfs.hfs_helpers.hmlx5_ifc.hmlx5_ifc_fpga.hmlx5_ifc_vdpa.hmpfs.hport.hqp.hrsc_dump.htransobj.hvport.hmm-arch-hooks.hmm.hmm_inline.hmm_types.hmm_types_task.hmman.hmmap_lock.hmmccard.hcore.hhost.hmmc.hpm.hsd.hsdhci-pci-data.hsdio.hsdio_func.hsdio_ids.hsh_mmcif.hslot-gpio.hmmdebug.hmmiotrace.hmmu_context.hmmu_notifier.hmmzone.hmnt_namespace.hmod_devicetable.hmodule.hmodule_signature.hmoduleloader.hmoduleparam.hmount.hmpage.hmpi.hmpls.hmpls_iptunnel.hmroute.hmroute6.hmroute_base.hmsdos_fs.hmsdos_partition.hmsg.hmsi.hmtdbbm.hblktrans.hcfi.hcfi_endian.hconcat.hdoc2000.hflashchip.hftl.hgen_probe.hinftl.hlatch-addr-flash.hlpc32xx_mlc.hlpc32xx_slc.hmap.hmtd.hmtdram.hnand-gpio.hnand.hnand_bch.hnand_ecc.hndfc.hnftl.honenand.honenand_regs.hpartitions.hpfow.hphysmap.hpismo.hplat-ram.hqinfo.hrawnand.hsh_flctl.hsharpsl.hspear_smi.hspi-nor.hsuper.hubi.hxip.hmutex.hmuxconsumer.hdriver.hmv643xx.hmv643xx_eth.hmv643xx_i2c.hmvebu-pmsu.hmxm-wmi.hn_r3964.hnamei.hnd.hnetnet.hinteli40e_client.hiidc.hnetdev_features.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_comment.hip_set_counter.hip_set_getport.hip_set_hash.hip_set_list.hip_set_skbinfo.hip_set_timeout.hpfxlen.hnf_conntrack_amanda.hnf_conntrack_common.hnf_conntrack_dccp.hnf_conntrack_ftp.hnf_conntrack_h323.hnf_conntrack_h323_asn1.hnf_conntrack_h323_types.hnf_conntrack_irc.hnf_conntrack_pptp.hnf_conntrack_proto_gre.hnf_conntrack_sane.hnf_conntrack_sctp.hnf_conntrack_sip.hnf_conntrack_snmp.hnf_conntrack_tcp.hnf_conntrack_tftp.hnf_conntrack_zones_common.hnf_osf.hnfnetlink.hnfnetlink_acct.hx_tables.hxt_hashlimit.hxt_physdev.hnetfilter_arparp_tables.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebtables.hnetfilter_defs.hnetfilter_ingress.hnetfilter_ipv4netfilter_ipv4.hip_tables.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hnetlink.hnetpoll.hnfs.hnfs3.hnfs4.hnfs_fs.hnfs_fs_i.hnfs_fs_sb.hnfs_iostat.hnfs_page.hnfs_xdr.hnfsacl.hnitro_enclaves.hnl802154.hnls.hnmi.hnode.hnodemask.hnospec.hnotifier.hns_common.hnsc_gpio.hnsproxy.hntb.hntb_transport.hnubus.hnuma.hnvme-fc-driver.hnvme-fc.hnvme-rdma.hnvme-tcp.hnvme.hnvmem-consumer.hnvmem-provider.hnvram.hobjagg.hobjtool.hof.hof_address.hof_clk.hof_device.hof_dma.hof_fdt.hof_gpio.hof_graph.hof_iommu.hof_irq.hof_mdio.hof_net.hof_pci.hof_pdt.hof_platform.hof_reserved_mem.hoid_registry.holpc-ec.homap-dma.homap-dmaengine.homap-gpmc.homap-iommu.homap-mailbox.homapfb.honce.hoom.hopenvswitch.hoprofile.hosq_lock.hoverflow.hpadata.hpage-flags-layout.hpage-flags.hpage-isolation.hpage_counter.hpage_ext.hpage_idle.hpage_owner.hpage_ref.hpage_reporting.hpageblock-flags.hpagemap.hpagevec.hpagewalk.hparman.hparport.hparport_pc.hparser.hpata_arasan_cf_data.hpatchkey.hpath.hpch_dma.hpci-acpi.hpci-ats.hpci-dma-compat.hpci-ecam.hpci-ep-cfs.hpci-epc.hpci-epf.hpci-p2pdma.hpci.hpci_hotplug.hpci_ids.hpcspcs-xpcs.hpda_power.hpe.hpercpu-defs.hpercpu-refcount.hpercpu-rwsem.hpercpu.hpercpu_counter.hperfarm_pmu.hperf_event.hperf_regs.hpersonality.hpfn.hpfn_t.hphonet.hphyphy.homap_control_phy.homap_usb.hphy-qcom-ufs.hphy-sun4i-usb.hphy.htegraxusb.hulpi_phy.hphy_fixed.hphy_led_triggers.hphylink.hpid.hpid_namespace.hpim.hpinctrlconsumer.hdevinfo.hmachine.hpinconf-generic.hpinconf.hpinctrl-state.hpinctrl.hpinmux.hpipe_fs_i.hpkeys.hpktcdvd.hpl320-ipc.hplatform_dataad5449.had5755.had5761.had7266.had7291.had7298.had7303.had7791.had7793.had7879.had7887.hadau17x1.hadp5588.hadp8860.hadp8870.hads1015.hads7828.hapds990x.harm-ux500-pm.hasoc-imx-ssi.hasoc-kirkwood.hasoc-mx27vis.hasoc-palm27x.hasoc-s3c.hasoc-s3c24xx_simtec.hasoc-ti-mcbsp.hasoc-ux500-msp.hat24.hat91_adc.hata-pxa.hata-samsung_cf.hatmel.hb53.hbcmgenet.hbd6107.hbh1770glc.hbrcmfmac.hbrcmnand.hbt-nokia-h4p.hclk-da8xx-cfgchip.hclk-davinci-pll.hclk-fch.hclk-integrator.hclk-u300.hcpuidle-exynos.hcrypto-atmel.hcrypto-ux500.hcyttsp4.hdavinci_asp.hdb8500_thermal.hdma-atmel.hdma-coh901318.hdma-dw.hdma-ep93xx.hdma-hsu.hdma-imx-sdma.hdma-imx.hdma-mmp_tdma.hdma-mv_xor.hdma-s3c24xx.hdma-ste-dma40.hdmtimer-omap.hds620.hdwc3-omap.hedma.hefm32-spi.hefm32-uart.hehci-sh.helm.hemif_plat.heth-netx.hfsa9480.hg762.hgpio-ath79.hgpio-davinci.hgpio-dwapb.hgpio-htc-egpio.hgpio-omap.hgpio-ts5500.hgpio_backlight.hgpmc-omap.hhsmmc-omap.hhwmon-s3c.hi2c-cbus-gpio.hi2c-davinci.hi2c-gpio.hi2c-imx.hi2c-mux-gpio.hi2c-mux-reg.hi2c-ocores.hi2c-omap.hi2c-pca-platform.hi2c-pxa.hi2c-s3c2410.hi2c-xiic.hina2xx.hintel-mid_wdt.hintel-spi.hinvensense_mpu6050.hiommu-omap.hirda-pxaficp.hirda-sa11x0.hisl9305.hitco_wdt.hkeyboard-pxa930_rotary.hkeyboard-spear.hkeypad-ep93xx.hkeypad-nomadik-ske.hkeypad-omap.hkeypad-pxa27x.hkeypad-w90p910.hkeyscan-davinci.hlcd-mipid.hleds-kirkwood-netxbig.hleds-kirkwood-ns2.hleds-lm355x.hleds-lm3642.hleds-lp55xx.hleds-omap.hleds-pca963x.hleds-s3c24xx.hlm3630a_bl.hlm3639_bl.hlm8323.hlp855x.hlp8727.hlp8755.hltc4245.hlv5207lp.hmacb.hmax197.hmax3421-hcd.hmax6639.hmax6697.hmax732x.hmcs.hmdio-bcm-unimac.hmdio-gpio.hmediacamera-mx2.hcamera-mx3.hcamera-pxa.hcoda.hmmp-camera.homap1_camera.homap4iss.hs5p_hdmi.hsi4713.hsii9234.hsoc_camera_platform.htimb_radio.htimb_video.hmfd-mcp-sa11x0.hmicrochip-ksz.hmlxcpld.hmlxreg.hmmc-davinci.hmmc-esdhc-imx.hmmc-mxcmmc.hmmc-omap.hmmc-pxamci.hmmc-s3cmci.hmmc-sdhci-s3c.hmmp_audio.hmmp_dma.hmouse-pxa930_trkball.hmtd-davinci-aemif.hmtd-davinci.hmtd-mxc_nand.hmtd-nand-omap2.hmtd-nand-pxa3xx.hmtd-nand-s3c2410.hmtd-orion_nand.hmv88e6xxx.hmv_usb.hnet-cw1200.hnfcmrvl.hntc_thermistor.hnxp-nci.homap-twl4030.homap-wd-timer.homap1_bl.homapdss.hpca953x.hpca954x.hpcf857x.hpcmcia-pxa2xx_viper.hphy-da8xx-usb.hpinctrl-single.hpixcir_i2c_ts.hpm33xx.hpwm_omap_dmtimer.hpxa2xx_udc.hpxa_sdhci.hregulator-haptic.hremoteproc-omap.hrtc-ds2404.hrtc-v3020.hs3c-hsotg.hs3c-hsudc.hsa11x0-serial.hsc18is602.hsdhci-pic32.hserial-imx.hserial-omap.hserial-sccnxp.hshmob_drm.hsht3x.hshtc1.hsi5351.hsimplefb.hsky81452-backlight.hspi-clps711x.hspi-davinci.hspi-ep93xx.hspi-imx.hspi-mt65xx.hspi-nuc900.hspi-omap2-mcspi.hspi-s3c64xx.hssm2518.hst33zp24.hst_sensors_pdata.hsyscon.htc35876x.htda9950.hti-aemif.hti-sysc.htouchscreen-s3c2410.htsc2007.htsl2563.htsl2772.huio_dmem_genirq.huio_pruss.husb-davinci.husb-ehci-mxc.husb-ehci-orion.husb-musb-ux500.husb-mx2.husb-ohci-pxa27x.husb-ohci-s3c2410.husb-omap.husb-omap1.husb-pxa3xx-ulpi.husb-s3c2410_udc.husb3503.hux500_wdt.hvideo-clcd-versatile.hvideo-ep93xx.hvideo-imxfb.hvideo-mx3fb.hvideo-nuc900fb.hvideo-pxafb.hvideo_s3c.hvoltage-omap.hwiznet.hwkup_m3.hx86apple.hclk-lpss.hclk-pmc-atom.hpmc_atom.hsoc.hzforce_ts.hplatform_device.hplatform_profile.hpldmfw.hplist.hpm-trace.hpm.hpm2301_charger.hpm_clock.hpm_domain.hpm_opp.hpm_qos.hpm_runtime.hpm_wakeirq.hpm_wakeup.hpmbus.hpmu.hpnfs_osd_xdr.hpnp.hpoison.hpoll.hposix-clock.hposix-timers.hposix_acl.hposix_acl_xattr.hpowerab8500.hbq2415x_charger.hbq24190_charger.hbq24735-charger.hbq27xxx_battery.hcharger-manager.hgeneric-adc-battery.hgpio-charger.hisp1704_charger.hjz4740-battery.hmax17042_battery.hmax8903_charger.hsbs-battery.hsmartreflex.hsmb347-charger.htwl4030_madc_battery.hpower_supply.hpowercap.hppp-comp.hppp_channel.hppp_defs.hpps-gpio.hpps_kernel.hpr.hprandom.hpreempt.hprefetch.hprime_numbers.hprintk.hprmt.hproc_fs.hproc_ns.hprocessor.hprofile.hprojid.hproperty.hpsci.hpseudo_fs.hpsi.hpsi_types.hpsp-platform-access.hpsp-sev.hpsp-tee.hpsp.hpstore.hpstore_ram.hpti.hptp_classify.hptp_clock_kernel.hptr_ring.hptrace.hpurgatory.hpvclock_gtod.hpwm.hpwm_backlight.hpxa168_eth.hpxa2xx_ssp.hqcom-geni-se.hqcom_scm.hqedcommon_hsi.heth_common.hfcoe_common.hiscsi_common.hiwarp_common.hnvmetcp_common.hqed_chain.hqed_eth_if.hqed_fcoe_if.hqed_if.hqed_iov_if.hqed_iscsi_if.hqed_ll2_if.hqed_nvmetcp_if.hqed_rdma_if.hqede_rdma.hrdma_common.hroce_common.hstorage_common.htcp_common.hqnx6_fs.hquicklist.hquota.hquotaops.hradix-tree.hraiddetect.hmd_u.hpq.hxor.hraid_class.hramfs.hrandom.hrange.hras.hratelimit.hratelimit_types.hrational.hrbtree.hrbtree_augmented.hrbtree_latch.hrbtree_types.hrcu_node_tree.hrcu_segcblist.hrcu_sync.hrculist.hrculist_bl.hrculist_nulls.hrcupdate.hrcupdate_trace.hrcupdate_wait.hrcutiny.hrcutree.hrcuwait.hreboot-mode.hreboot.hreciprocal_div.hrefcount.hregmap.hregset.hregulatorab8500.hact8865.harizona-ldo1.harizona-micsupp.hconsumer.hda9211.hdb8500-prcmu.hdriver.hfan53555.hfixed.hgpio-regulator.hlp3971.hlp3972.hlp872x.hmachine.hmax1586.hmax8649.hmax8660.hmax8952.hmax8973-regulator.hmt6311.hmt6323-regulator.hmt6380-regulator.hmt6397-regulator.hof_regulator.hpfuze100.htps51632-regulator.htps62360.htps6507x.huserspace-consumer.hrelay.hremoteprocremoteproc.hqcom_rproc.hst_slim_rproc.hresctrl.hreservation.hresetreset-controller.hreset.hbcm63xx_pmb.hresource.hresource_ext.hrestart_block.hrfkill.hrh_flags.hrh_kabi.hrh_kabi_attributes.hrh_kabi_aux.hrh_kabi_memcg.hrh_tasklist_lock.hrhashtable-types.hrhashtable.hring_buffer.hrio.hrio_drv.hrio_ids.hrio_regs.hrmap.hrmi.hrndis.hrodata_test.hroot_dev.hrpmsgrpmsg.hqcom_glink.hqcom_smd.hrslib.hrtcrtc.hds1286.hds1307.hds1685.hm48t59.hsirfsoc_rtciobrg.hrtmutex.hrtnetlink.hrtsx_common.hrtsx_pci.hrtsx_usb.hrwbase_rt.hrwlock.hrwlock_api_smp.hrwlock_rt.hrwlock_types.hrwsem.hs3c_adc_battery.hsa11x0-dma.hsbitmap.hscatterlist.hscc.hschedsched.hautogroup.hclock.hcoredump.hcpufreq.hcputime.hdeadline.hdebug.hhotplug.hidle.hinit.hisolation.hjobctl.hloadavg.hmm.hnohz.hnuma_balancing.hprio.hrt.hsignal.hsmt.hstat.hsysctl.htask.htask_stack.htopology.htypes.huser.hwake_q.hxacct.hsched_clock.hscif.hscmi_protocol.hscpi_protocol.hscreen_info.hscs.hsctp.hscx200.hscx200_gpio.hsdb.hsdla.hseccomp.hsecurebits.hsecurity.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselection.hsem.hsemaphore.hseq_buf.hseq_file.hseq_file_net.hseqlock.hseqno-fence.hserdev.hserial.hserial_8250.hserial_bcm63xx.hserial_core.hserial_max3100.hserial_pnx8xxx.hserial_s3c.hserial_sci.hserio.hset_memory.hsfi.hsfi_acpi.hsfp.hsh_clk.hsh_dma.hsh_eth.hsh_intc.hsh_timer.hshdma-base.hshm.hshmem_fs.hshrinker.hsignal.hsignal_types.hsignalfd.hsiox.hsiphash.hsirfsoc_dma.hsizes.hskb_array.hskbuff.hskmsg.hslab.hslab_def.hslimbus.hslub_def.hsm501-regs.hsm501.hsmc911x.hsmc91x.hsmp.hsmp_types.hsmpboot.hsmsc911x.hsmscphy.hsocactionsowl-sps.hbrcmstbbrcmstb.hdovepmu.hmediatekinfracfg.hmtk_wed.hqcomapr.hmdt_loader.hqmi.hsmd-rpm.hsmem.hsmem_state.hwcnss_ctrl.hrenesasrcar-rst.hrcar-sysc.hsamsungexynos-pmu.hexynos-regs-pmu.hsunxisunxi_sram.htiknav_dma.hknav_qmss.hti-msgmgr.hti_sci_protocol.hsock_diag.hsocket.hsockptr.hsonet.hsony-laptop.hsonypi.hsort.hsound.hsoundcard.hsoundwiresdw.hsdw_amd.hsdw_intel.hsdw_registers.hsdw_type.hspiad7877.hadi_spi3.hads7846.hat73c213.hat86rf230.hcc2520.hcorgi_lcd.hds1305.heeprom.hflash.hifx_modem.hl4f00242t03.hlibertas_spi.hlms283gf05.hmax7301.hmc33880.hmcp23s08.hmmc_spi.hmxs-spi.hpxa2xx_spi.hrspi.hs3c24xx.hsh_hspi.hsh_msiof.hspi-fsl-dspi.hspi-mem.hspi.hspi_bitbang.hspi_gpio.hspi_oc_tiny.htdo24m.htle62x0.hxilinx_spi.hspinlock.hspinlock_api_smp.hspinlock_api_up.hspinlock_rt.hspinlock_types.hspinlock_types_raw.hspinlock_types_up.hspinlock_up.hsplice.hspmi.hsram.hsrcu.hsrcutiny.hsrcutree.hssbssb.hssb_driver_chipcommon.hssb_driver_extif.hssb_driver_gige.hssb_driver_mips.hssb_driver_pci.hssb_embedded.hssb_regs.hssbi.hstackdepot.hstackprotector.hstacktrace.hstart_kernel.hstat.hstatfs.hstatic_call.hstatic_call_types.hstatic_key.hstddef.hstm.hstmmac.hstmp3xxx_rtc_wdt.hstmp_device.hstop_machine.hstring.hstring_helpers.hstringhash.hstringify.hsudmac.hsungem_phy.hsunrpcaddr.hauth.hauth_gss.hbc_xprt.hcache.hclnt.hdebug.hgss_api.hgss_asn1.hgss_err.hgss_krb5.hgss_krb5_enctypes.hmetrics.hmsg_prot.hrpc_pipe_fs.hrpc_rdma.hrpc_rdma_cid.hsched.hstats.hsvc.hsvc_rdma.hsvc_rdma_pcl.hsvc_xprt.hsvcauth.hsvcauth_gss.hsvcsock.htimer.htypes.hxdr.hxprt.hxprtmultipath.hxprtrdma.hxprtsock.hsunserialcore.hsunxi-rsb.hsuperhyway.hsuspend.hsvga.hsw842.hswab.hswait.hswap.hswap_cgroup.hswap_slots.hswapfile.hswapops.hswiotlb.hswitchtec.hsxgbe_platform.hsync_core.hsync_file.hsynclink.hsys.hsys_soc.hsyscalls.hsyscore_ops.hsysctl.hsysfs.hsyslog.hsysrq.hsysv_fs.ht10-pi.htask_io_accounting.htask_io_accounting_ops.htask_work.htaskstats_kern.htboot.htc.htca6416_keypad.htcp.htee_drv.htextsearch.htextsearch_fsm.htfrc.hthermal.hthinkpad_acpi.hthread_info.hthreads.hthunderbolt.hti-emif-sram.hti_wilink_st.htick.htifm.htimb_dma.htimb_gpio.htime.htime32.htime64.htime_namespace.htimecounter.htimekeeper_internal.htimekeeping.htimekeeping32.htimer.htimerfd.htimeriomem-rng.htimerqueue.htimex.htnum.htopology.htorture.htoshiba.htpm.htpm_command.htpm_eventlog.htrace.htrace_clock.htrace_events.htrace_seq.htracefs.htracehook.htracepoint-defs.htracepoint.htransport_class.hts-nbus.htsacct_kern.htty.htty_driver.htty_flip.htty_ldisc.htypecheck.htypes.hu64_stats_sync.huaccess.hucb1400.hucs2_string.hudp.huidgid.huio.huio_driver.hulpidriver.hinterface.hregs.humh.hunalignedaccess_ok.hbe_byteshift.hbe_memmove.hbe_struct.hgeneric.hle_byteshift.hle_memmove.hle_struct.hmemmove.hpacked_struct.hunits.huprobes.husbusb.hassociation.haudio-v2.haudio-v3.haudio.hc67x00.hccid.hcdc-wdm.hcdc.hcdc_ncm.hch9.hchipidea.hcomposite.hehci-dbgp.hehci_def.hehci_pdriver.hezusb.hfunctionfs.hg_hid.hgadget.hgadget_configfs.hgpio_vbus.hhcd.hinput.hiowarrior.hirda.hisp116x.hisp1301.hisp1362.hm66592.hmusb-ux500.hmusb.hnet2280.hof.hohci_pdriver.hotg-fsm.hotg.hpd.hpd_ado.hpd_bdo.hpd_ext_sdb.hpd_vdo.hphy.hphy_companion.hquirks.hr8152.hr8a66597.hrenesas_usbhs.hrndis_host.hrole.hserial.hsl811.hstorage.htcpci.htcpm.htegra_usb_phy.htypec.htypec_altmode.htypec_dp.htypec_mux.htypec_retimer.htypec_tbt.huas.hulpi.husb338x.husb_phy_generic.husbnet.huvc.hwusb-wa.hwusb.hxhci-dbgp.husb_usual.husbdevice_fs.huser-return-notifier.huser.huser_namespace.huserfaultfd_k.husermode_driver.hutil_macros.huts.hutsname.huuid.huwbuwb.hdebug-cmd.hspec.humc.hwhci.hvbox_utils.hvdpa.hverification.hvermagic.hvexpress.hvfio.hvfs.hvga_switcheroo.hvgaarb.hvhost_iotlb.hvia-core.hvia-gpio.hvia.hvia_i2c.hvideodev2.hvirtio.hvirtio_byteorder.hvirtio_caif.hvirtio_config.hvirtio_console.hvirtio_dma_buf.hvirtio_net.hvirtio_pci_modern.hvirtio_ring.hvirtio_vsock.hvisorbus.hvlynq.hvm_event_item.hvmacache.hvmalloc.hvme.hvmpressure.hvmstat.hvmw_vmci_api.hvmw_vmci_defs.hvringh.hvt.hvt_buffer.hvt_kern.hvtime.hw1-gpio.hw1.hwait.hwait_bit.hwanrouter.hwatchdog.hwimaxdebug.hwin_minmax.hwireless.hwkup_m3_ipc.hwl12xx.hwm97xx.hwmi.hworkqueue.hwriteback.hww_mutex.hxarray.hxattr.hxxhash.hxz.hyam.hz2_battery.hzbud.hzconf.hzlib.hzorro.hzpool.hzsmalloc.hzstd.hzutil.hmath-emudouble.hop-1.hop-2.hop-4.hop-8.hop-common.hquad.hsingle.hsoft-fp.hmediacec-notifier.hcec-pin.hcec.hdavinciccdc_types.hdm355_ccdc.hdm644x_ccdc.hisif.hvpbe.hvpbe_display.hvpbe_osd.hvpbe_types.hvpbe_venc.hvpfe_capture.hvpfe_types.hvpif_types.hvpss.hdemux.hdmxdev.hdrv-intfcx2341x.hcx25840.hexynos-fimc.hmsp3400.hrenesas-ceu.hs3c_camif.hsaa7146.hsaa7146_vv.hsh_mobile_ceu.hsh_vou.hsi476x.hsoc_mediabus.htea575x.hdvb-usb-ids.hdvb_ca_en50221.hdvb_demux.hdvb_frontend.hdvb_math.hdvb_net.hdvb_ringbuffer.hdvb_vb2.hdvbdev.hframe_vector.hi2cad9389b.hadp1653.hadv7183.hadv7343.hadv7393.hadv7511.hadv7604.hadv7842.hak881x.hbt819.hcs5345.hcs53l32a.hir-kbd-i2c.hlm3560.hlm3646.hm52790.hm5mols.hmt9m032.hmt9p031.hmt9t001.hmt9t112.hmt9v011.hmt9v022.hmt9v032.hnoon010pc30.hov2659.hov7670.hov772x.hov9650.hrj54n1cb0c.hs5c73m3.hs5k4ecgx.hs5k6aa.hsaa6588.hsaa7115.hsaa7127.hsmiapp.hsr030pc30.htc358743.htda1997x.hths7303.htvaudio.htvp514x.htvp7002.htw9910.huda1342.hupd64031a.hupd64083.hwm8775.himx.hmedia-device.hmedia-devnode.hmedia-entity.hrc-core.hrc-map.hrcar-fcp.hsoc_camera.htpgv4l2-tpg.htuner-types.htuner.htveeprom.hv4l2-async.hv4l2-clk.hv4l2-common.hv4l2-ctrls.hv4l2-dev.hv4l2-device.hv4l2-dv-timings.hv4l2-event.hv4l2-fh.hv4l2-flash-led-class.hv4l2-fwnode.hv4l2-image-sizes.hv4l2-ioctl.hv4l2-mc.hv4l2-mediabus.hv4l2-mem2mem.hv4l2-rect.hv4l2-subdev.hvideobuf-core.hvideobuf-dma-contig.hvideobuf-dma-sg.hvideobuf-vmalloc.hvideobuf2-core.hvideobuf2-dma-contig.hvideobuf2-dma-sg.hvideobuf2-dvb.hvideobuf2-memops.hvideobuf2-v4l2.hvideobuf2-vmalloc.hvsp1.hmemoryjedec_ddr.hmiscaltera.hcharlcd.hcxl-base.hcxl.hcxllib.hocxl-config.hocxl.hnet6lowpan.h9p9p.hclient.htransport.hSpace.hact_api.haddrconf.haf_ieee802154.haf_rxrpc.haf_unix.haf_vsock.hah.harp.hatmclip.hax25.hax88796.hbareudp.hbluetoothbluetooth.hhci.hhci_core.hhci_mon.hhci_sock.hl2cap.hmgmt.hrfcomm.hsco.hbond_3ad.hbond_alb.hbond_options.hbonding.hbpf_sk_storage.hbusy_poll.hcaifcaif_dev.hcaif_device.hcaif_hsi.hcaif_layer.hcaif_spi.hcfcnfg.hcfctrl.hcffrml.hcfmuxl.hcfpkt.hcfserl.hcfsrvl.hcalipso.hcfg80211-wext.hcfg80211.hcfg802154.hchecksum.hcipso_ipv4.hcls_cgroup.hcodel.hcodel_impl.hcodel_qdisc.hcompat.hdatalink.hdcbevent.hdcbnl.hdevlink.hdn.hdn_dev.hdn_fib.hdn_neigh.hdn_nsp.hdn_route.hdrop_monitor.hdropreason.hdsa.hdsfield.hdst.hdst_cache.hdst_metadata.hdst_ops.herspan.hesp.hespintcp.hethoc.hfailover.hfib_notifier.hfib_rules.hfirewire.hflow.hflow_dissector.hflow_offload.hfou.hfq.hfq_impl.hgarp.hgen_stats.hgenetlink.hgeneve.hgre.hgro_cells.hgtp.hgue.hhwbm.hicmp.hieee80211_radiotap.hieee802154_netdev.hif_inet6.hife.hila.hinet6_connection_sock.hinet6_hashtables.hinet_common.hinet_connection_sock.hinet_ecn.hinet_frag.hinet_hashtables.hinet_sock.hinet_timewait_sock.hinetpeer.hip.hip6_checksum.hip6_fib.hip6_route.hip6_tunnel.hip_fib.hip_tunnels.hip_vs.hipcomp.hipconfig.hipv6.hipv6_frag.hipv6_stubs.hipx.hiucvaf_iucv.hiucv.hiw_handler.hkcm.hl3mdev.hlag.hlapb.hlib80211.hllc.hllc_c_ac.hllc_c_ev.hllc_c_st.hllc_conn.hllc_if.hllc_pdu.hllc_s_ac.hllc_s_ev.hllc_s_st.hllc_sap.hlwtunnel.hmac80211.hmac802154.hmanagdma.hhw_channel.hmana.hmana_auxiliary.hshm_channel.hmip6.hmld.hmpls.hmpls_iptunnel.hmptcp.hmrp.hncsi.hndisc.hneighbour.hnet_failover.hnet_namespace.hnet_ratelimit.hnet_seq_lock.hnetevent.hnetfilterbr_netfilter.hipv4nf_conntrack_ipv4.hnf_defrag_ipv4.hnf_dup_ipv4.hnf_nat_masquerade.hnf_reject.hipv6nf_conntrack_icmpv6.hnf_conntrack_ipv6.hnf_defrag_ipv6.hnf_dup_ipv6.hnf_nat_masquerade.hnf_reject.hnf_conntrack.hnf_conntrack_acct.hnf_conntrack_core.hnf_conntrack_count.hnf_conntrack_ecache.hnf_conntrack_expect.hnf_conntrack_extend.hnf_conntrack_helper.hnf_conntrack_l4proto.hnf_conntrack_labels.hnf_conntrack_seqadj.hnf_conntrack_synproxy.hnf_conntrack_timeout.hnf_conntrack_timestamp.hnf_conntrack_tuple.hnf_conntrack_zones.hnf_dup_netdev.hnf_flow_table.hnf_log.hnf_nat.hnf_nat_helper.hnf_nat_redirect.hnf_queue.hnf_reject.hnf_socket.hnf_tables.hnf_tables_core.hnf_tables_ipv4.hnf_tables_ipv6.hnf_tables_offload.hnf_tproxy.hnfnetlink_log.hnft_fib.hnft_reject.hxt_rateest.hnetlabel.hnetlink.hnetnsbpf.hcan.hconntrack.hcore.hdccp.hgeneric.hhash.hieee802154_6lowpan.hipv4.hipv6.hmib.hmpls.hnetfilter.hnftables.hpacket.hsctp.hsmc.hunix.hx_tables.hxdp.hxfrm.hnetprio_cgroup.hnetrom.hnexthop.hnfcdigital.hhci.hllc.hnci.hnci_core.hnfc.hnl802154.hnsh.hp8022.hpage_pool.hphonetgprs.hpep.hphonet.hpn_dev.hpie.hping.hpkt_cls.hpkt_sched.hpptp.hprotocol.hpsample.hpsnap.hraw.hrawv6.hred.hregulatory.hrequest_sock.hrose.hroute.hrsi_91x.hrtnetlink.hsch_generic.hscm.hsctpauth.hchecksum.hcommand.hconstants.hsctp.hsm.hstream_interleave.hstream_sched.hstructs.htsnmap.hulpevent.hulpqueue.hsecure_seq.hseg6.hseg6_hmac.hseg6_local.hslhc_vj.hsmc.hsnmp.hsock.hsock_reuseport.hstp.hstrparser.hswitchdev.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_police.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htc_wrapper.htcp.htcp_states.htimewait_sock.htipc.htls.htls_toe.htransp_v6.htso.htun_proto.hudp.hudp_tunnel.hudplite.hvsock_addr.hvxlan.hwext.hwimax.hx25.hx25device.hxdp.hxdp_priv.hxdp_sock.hxdp_sock_drv.hxfrm.hxsk_buff_pool.hpcmciaciscode.hcisreg.hcistpl.hdevice_id.hds.hss.hrasras_event.hrdmaib.hib_addr.hib_cache.hib_cm.hib_hdrs.hib_mad.hib_marshall.hib_pack.hib_pma.hib_sa.hib_smi.hib_sysfs.hib_umem.hib_umem_odp.hib_verbs.hiba.hibta_vol1_c12.hiw_cm.hiw_portmap.hlag.hmr_pool.hopa_addr.hopa_port_info.hopa_smi.hopa_vnic.hrdma_cm.hrdma_cm_ib.hrdma_counter.hrdma_netlink.hrdma_vt.hrdmavt_cq.hrdmavt_mr.hrdmavt_qp.hrestrack.hrw.hsignature.htid_rdma_defs.huverbs_ioctl.huverbs_named_ioctl.huverbs_std_types.huverbs_types.hscsifcfc_encaps.hfc_fc2.hfc_fcoe.hfc_fcp.hfc_fip.hfc_ms.hfc_frame.hfcoe_sysfs.hiscsi_if.hiscsi_proto.hiser.hlibfc.hlibfcoe.hlibiscsi.hlibiscsi_tcp.hlibsas.hosd_attributes.hosd_protocol.hosd_sec.hosd_sense.hosd_types.hsas.hsas_ata.hscsi.hscsi_bsg_iscsi.hscsi_cmnd.hscsi_common.hscsi_dbg.hscsi_device.hscsi_devinfo.hscsi_dh.hscsi_driver.hscsi_eh.hscsi_host.hscsi_ioctl.hscsi_proto.hscsi_request.hscsi_tcq.hscsi_transport.hscsi_transport_fc.hscsi_transport_iscsi.hscsi_transport_sas.hscsi_transport_spi.hscsi_transport_srp.hscsicam.hsg.hsrp.hviosrp.hsocarcaux.hmcip.htimers.hat91at91sam9_ddrsdr.hat91sam9_sdramc.hatmel-secumod.hatmel-sfr.hbcm2835raspberrypi-firmware.hbrcmstbcommon.hfslbman.hqeimmap_qe.hqe.hqe_ic.hqe_tdm.hucc.hucc_fast.hucc_slow.hqman.himxcpuidle.hrevision.htimer.hmediateksmi.hnpscommon.hmtm.hqcomcmd-db.hrockchiprockchip_sip.hsa1100pwer.htegraahb.hbpmp-abi.hbpmp.hcommon.hcpuidle.hemc.hflowctrl.hfuse.hivc.hmc.hpm.hpmc.hsoundac97codec.hcompat.hcontroller.hregs.hac97_codec.haci.hacp63_chip_offset_byte.had1816a.had1843.hadau1373.haess.hak4113.hak4114.hak4117.hak4531_codec.hak4641.hak4xxx-adda.halc5623.hasequencer.hasound.hasoundef.hcompress_driver.hcontrol.hcore.hcs35l33.hcs35l34.hcs35l35.hcs35l36.hcs35l41.hcs4231-regs.hcs4271.hcs42l42.hcs42l52.hcs42l56.hcs42l73.hcs8403.hcs8427.hda7213.hda7218.hda7219-aad.hda7219.hda9055.hdesignware_i2s.hdmaengine_pcm.hemu10k1.hemu10k1_synth.hemu8000.hemu8000_reg.hemux_legacy.hemux_synth.hes1688.hgraph_card.hgus.hhda-mlink.hhda_chmap.hhda_codec.hhda_component.hhda_hwdep.hhda_i915.hhda_register.hhda_regmap.hhda_verbs.hhdaudio.hhdaudio_ext.hhdmi-codec.hhwdep.hi2c.hinfo.hinitval.hintel-dsp-config.hintel-nhlt.hjack.hl3.hmax9768.hmax98088.hmax98090.hmax98095.hmemalloc.hminors.hmixer_oss.hmpu401.homap-hdmi-audio.hopl3.hopl4.hpcm-indirect.hpcm.hpcm_drm_eld.hpcm_iec958.hpcm_oss.hpcm_params.hpt2258.hpxa2xx-lib.hrawmidi.hrt1015.hrt286.hrt298.hrt5514.hrt5659.hrt5660.hrt5663.hrt5665.hrt5668.hrt5682.hrt5682s.hs3c24xx_uda134x.hsb.hsb16_csp.hsdw.hseq_device.hseq_kernel.hseq_midi_emul.hseq_midi_event.hseq_oss.hseq_oss_legacy.hseq_virmidi.hsh_dac_audio.hsh_fsi.hsimple_card.hsimple_card_utils.hsnd_wavefront.hsoc-acpi-intel-match.hsoc-acpi.hsoc-card.hsoc-component.hsoc-dai.hsoc-dapm.hsoc-dpcm.hsoc-jack.hsoc-link.hsoc-topology.hsoc.hsofsof.hchannel_map.hcontrol.hdai-amd.hdai-imx.hdai-intel.hdai-mediatek.hdai.hdebug.hext_manifest.hext_manifest4.hheader.hinfo.hipc4header.hpm.hstream.htopology.htrace.hxtensa.hsoundfont.hspear_dma.hspear_spdif.hsta32x.hsta350.htas2552-plat.htas5086.htea6330t.htimer.htlv.htlv320aic32x4.htlv320dac33-plat.htpa6130a2-plat.huda134x.huda1380.hutil_mem.hvx_core.hwavefront.hwm0010.hwm1250-ev1.hwm2000.hwm2200.hwm5100.hwm8903.hwm8904.hwm8955.hwm8960.hwm8962.hwm8993.hwm8996.hwm9081.hwm9090.hwss.htargetiscsiiscsi_target_core.hiscsi_target_stat.hiscsi_transport.htarget_core_backend.htarget_core_base.htarget_core_fabric.htracebpf_probe.hdefine_trace.hevents9p.hafs.halarmtimer.hasoc.havc.hbcache.hblock.hbpf_test_run.hbridge.hbtrfs.hcachefiles.hcgroup.hclk.hcma.hcompaction.hcontext_tracking.hcpuhp.hdamon.hdevlink.hdma_fence.hext4.hf2fs.hfib.hfib6.hfilelock.hfilemap.hfs.hfs_dax.hfscache.hfsi.hfsi_master_gpio.hgpio.hhost1x.hhuge_memory.hi2c.hib_mad.hib_umad.hinitcall.hintel-sst.hintel_ifs.hintel_iommu.hintel_ish.hio_uring.hiocost.hiommu.hipi.hirq.hirq_matrix.hiscsi.hjbd2.hkmem.hkvm.hkyber.hlibata.hlock.hmce.hmdio.hmigrate.hmlxsw.hmmc.hmmflags.hmodule.hmptcp.hnapi.hneigh.hnet.hnet_probe_common.hnetlink.hnfs.hnilfs2.hnmi.hobjagg.hoom.hosnoise.hpage_isolation.hpage_pool.hpage_ref.hpagemap.hpercpu.hpower.hpower_cpu_migrate.hpreemptirq.hprintk.hpwc.hqdisc.hqla.hqrtr.hrandom.hrcu.hrdma.hrdma_core.hregulator.hrpcgss.hrpcrdma.hrpm.hrseq.hrtc.hrxrpc.hsched.hscsi.hsctp.hsignal.hsiox.hskb.hsmbus.hsock.hsof.hsof_intel.hspi.hspmi.hsunrpc.hsunrpc_base.hsunvnet.hswiotlb.hsyscalls.htarget.htask.htcp.hthermal.hthermal_power_allocator.hthp.htimer.htlb.hudp.hufs.hv4l2.hvb2.hvmscan.hvsock_virtio_transport_common.hwbt.hworkqueue.hwriteback.hxdp.hxen.hperf.hsyscall.htrace_events.huapiasm-genericKbuild.asmauxvec.hbitsperlong.hbpf_perf_event.herrno-base.herrno.hfcntl.hhugetlb_encode.hint-l64.hint-ll64.hioctl.hioctls.hipcbuf.hkvm_para.hmman-common.hmman.hmsgbuf.hparam.hpoll.hposix_types.hresource.hsembuf.hsetup.hshmbuf.hshmparam.hsiginfo.hsignal-defs.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hucontext.hunistd.hdrmamdgpu_drm.harmada_drm.hdrm.hdrm_fourcc.hdrm_mode.hdrm_sarea.hetnaviv_drm.hexynos_drm.hhabanalabs_accel.hi915_drm.hivpu_accel.hlima_drm.hmsm_drm.hnouveau_drm.homap_drm.hpanfrost_drm.hqxl_drm.hradeon_drm.htegra_drm.hv3d_drm.hvc4_drm.hvgem_drm.hvirtgpu_drm.hvmwgfx_drm.hlinuxKbuilda.out.hacct.hadb.hadfs_fs.haffs_hardblocks.hagpgart.haio_abi.ham437x-vpfe.handroidbinder.hapm_bios.harcfb.harm_sdei.haspeed-lpc-ctrl.hatalk.hatm.hatm_eni.hatm_he.hatm_idt77105.hatm_nicstar.hatm_tcp.hatm_zatm.hatmapi.hatmarp.hatmbr2684.hatmclip.hatmdev.hatmioc.hatmlec.hatmmpc.hatmppp.hatmsap.hatmsvc.haudit.hauto_dev-ioctl.hauto_fs.hauto_fs4.hauxvec.hax25.hb1lli.hbatadv_packet.hbatman_adv.hbaycom.hbcache.hbcm933xx_hcs.hbfs_fs.hbinfmts.hblkpg.hblktrace_api.hblkzoned.hbpf.hbpf_common.hbpf_perf_event.hbpfilter.hbpqether.hbsg.hbt-bmc.hbtf.hbtrfs.hbtrfs_tree.hbyteorderbig_endian.hlittle_endian.hcaifcaif_socket.hif_caif.hcancan.hbcm.herror.hgw.hnetlink.hraw.hvxcan.hcapability.hcapi.hcciss_defs.hcciss_ioctl.hcdrom.hcec-funcs.hcec.hcfm_bridge.hcgroupstats.hchio.hcifscifs_mount.hcifs_netlink.hclose_range.hcm4000_cs.hcn_proc.hcoda.hcoda_psdev.hcoff.hconnector.hconst.hcoresight-stm.hcramfs_fs.hcryptouser.hcuda.hcyclades.hcycx_cfm.hdcbnl.hdccp.hdevlink.hdlm.hdlm_device.hdlm_netlink.hdlm_plock.hdlmconstants.hdm-ioctl.hdm-log-userspace.hdma-buf.hdn.hdqblk_xfs.hdvbaudio.hca.hdmx.hfrontend.hnet.hosd.hversion.hvideo.hedd.hefs_fs_sb.helf-em.helf-fdpic.helf.helfcore.herrno.herrqueue.herspan.hethtool.hethtool_netlink.heventpoll.hfadvise.hfalloc.hfanotify.hfb.hfcntl.hfd.hfdreg.hfib_rules.hfiemap.hfilter.hfirewire-cdev.hfirewire-constants.hflat.hfou.hfpga-dfl.hfs.hfsl_hypervisor.hfsmap.hfuse.hfutex.hgameport.hgen_stats.hgenetlink.hgenwqegenwqe_card.hgfs2_ondisk.hgigaset_dev.hgpio.hgsmmux.hgtp.hhash_info.hhdlchdlc.hioctl.hhdlcdrv.hhdreg.hhid.hhiddev.hhidraw.hhpet.hhsics-protocol.hhsi_char.hhsr_netlink.hhw_breakpoint.hhyperv.hhysdn_if.hi2c-dev.hi2c.hi2o-dev.hi8k.hicmp.hicmpv6.hidxd.hif.hif_addr.hif_addrlabel.hif_alg.hif_arcnet.hif_arp.hif_bonding.hif_bridge.hif_cablemodem.hif_eql.hif_ether.hif_fc.hif_fddi.hif_frad.hif_hippi.hif_infiniband.hif_link.hif_ltalk.hif_macsec.hif_packet.hif_phonet.hif_plip.hif_ppp.hif_pppol2tp.hif_pppox.hif_slip.hif_team.hif_tun.hif_tunnel.hif_vlan.hif_x25.hif_xdp.hife.higmp.hiioevents.htypes.hila.hin.hin6.hin_route.hinet_diag.hinotify.hinput-event-codes.hinput.hio_uring.hioctl.hiommu.hip.hip6_tunnel.hip_vs.hipc.hipmi.hipmi_bmc.hipmi_msgdefs.hipmi_ssif_bmc.hipsec.hipv6.hipv6_route.hipx.hirqnr.hisdnisdn.hcapicmd.hisdn_divertif.hisdn_ppp.hisdnif.hiso_fs.hisst_if.hivtv.hivtvfb.hjffs2.hjoystick.hkcm.hkcmp.hkcov.hkd.hkdev_t.hkernel-page-flags.hkernel.hkernelcapi.hkexec.hkeyboard.hkeyctl.hkfd_ioctl.hkfd_sysfs.hkvm.hkvm_para.hl2tp.hlibc-compat.hlightnvm.hlimits.hlirc.hllc.hloop.hlp.hlwtunnel.hmagic.hmajor.hmap_to_7segment.hmatroxfb.hmax2175.hmdio.hmedia-bus-format.hmedia.hmei.hmembarrier.hmemfd.hmempolicy.hmeye.hmic_common.hmic_ioctl.hmii.hminix_fs.hmman.hmmcioctl.hmmtimer.hmodule.hmount.hmpls.hmpls_iptunnel.hmptcp.hmqueue.hmroute.hmroute6.hmrp_bridge.hmsdos_fs.hmsg.hmtio.hn_r3964.hnbd-netlink.hnbd.hncsi.hndctl.hneighbour.hnet.hnet_dropmon.hnet_namespace.hnet_tstamp.hnetconf.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_hash.hip_set_list.hnf_conntrack_common.hnf_conntrack_ftp.hnf_conntrack_sctp.hnf_conntrack_tcp.hnf_conntrack_tuple_common.hnf_log.hnf_nat.hnf_osf.hnf_tables.hnf_tables_compat.hnfnetlink.hnfnetlink_acct.hnfnetlink_compat.hnfnetlink_conntrack.hnfnetlink_cthelper.hnfnetlink_cttimeout.hnfnetlink_log.hnfnetlink_queue.hx_tables.hxt_AUDIT.hxt_CHECKSUM.hxt_CLASSIFY.hxt_CONNMARK.hxt_CONNSECMARK.hxt_CT.hxt_DSCP.hxt_HMARK.hxt_IDLETIMER.hxt_LED.hxt_LOG.hxt_MARK.hxt_NFLOG.hxt_NFQUEUE.hxt_RATEEST.hxt_SECMARK.hxt_SYNPROXY.hxt_TCPMSS.hxt_TCPOPTSTRIP.hxt_TEE.hxt_TPROXY.hxt_addrtype.hxt_bpf.hxt_cgroup.hxt_cluster.hxt_comment.hxt_connbytes.hxt_connlabel.hxt_connlimit.hxt_connmark.hxt_conntrack.hxt_cpu.hxt_dccp.hxt_devgroup.hxt_dscp.hxt_ecn.hxt_esp.hxt_hashlimit.hxt_helper.hxt_ipcomp.hxt_iprange.hxt_ipvs.hxt_l2tp.hxt_length.hxt_limit.hxt_mac.hxt_mark.hxt_multiport.hxt_nfacct.hxt_osf.hxt_owner.hxt_physdev.hxt_pkttype.hxt_policy.hxt_quota.hxt_rateest.hxt_realm.hxt_recent.hxt_rpfilter.hxt_sctp.hxt_set.hxt_socket.hxt_state.hxt_statistic.hxt_string.hxt_tcpmss.hxt_tcpudp.hxt_time.hxt_u32.hnetfilter_arpnetfilter_arp.harp_tables.harpt_mangle.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebt_among.hebt_arp.hebt_arpreply.hebt_ip.hebt_ip6.hebt_limit.hebt_log.hebt_mark_m.hebt_mark_t.hebt_nat.hebt_nflog.hebt_pkttype.hebt_redirect.hebt_stp.hebt_vlan.hebtables.hnetfilter_decnet.hnetfilter_ipv4netfilter_ipv4.hip_tables.hipt_CLUSTERIP.hipt_ECN.hipt_LOG.hipt_REJECT.hipt_TTL.hipt_ah.hipt_ecn.hipt_ttl.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hip6t_HL.hip6t_LOG.hip6t_NPT.hip6t_REJECT.hip6t_ah.hip6t_frag.hip6t_hl.hip6t_ipv6header.hip6t_mh.hip6t_opts.hip6t_rt.hip6t_srh.hnetlink.hnetlink_diag.hnetrom.hnexthop.hnfc.hnfs.hnfs2.hnfs3.hnfs4.hnfs4_mount.hnfs_fs.hnfs_idmap.hnfs_mount.hnfsacl.hnfsdcld.hdebug.hexport.hstats.hnilfs2_api.hnilfs2_ondisk.hnitro_enclaves.hnl80211.hnsfs.hnubus.hnvme_ioctl.hnvram.homap3isp.homapfb.hoom.hopenat2.hopenvswitch.hpacket_diag.hparam.hparport.hpatchkey.hpci.hpci_regs.hpcitest.hperf_event.hpersonality.hpfkeyv2.hpfrut.hpg.hphantom.hphonet.hpkt_cls.hpkt_sched.hpktcdvd.hpmu.hpoll.hposix_acl.hposix_acl_xattr.hposix_types.hppdev.hppp-comp.hppp-ioctl.hppp_defs.hpps.hpr.hprctl.hpsample.hpsci.hpsp-sev.hptp_clock.hptrace.hqemu_fw_cfg.hqnx4_fs.hqnxtypes.hqrtr.hquota.hradeonfb.hraidmd_p.hmd_u.hrandom.hraw.hrds.hreboot.hreiserfs_fs.hreiserfs_xattr.hresource.hrfkill.hrio_cm_cdev.hrio_mport_cdev.hromfs_fs.hrose.hroute.hrpmsg.hrseq.hrtc.hrtnetlink.hrxrpc.hscc.hschedsched.htypes.hscif_ioctl.hscreen_info.hsctp.hsdla.hseccomp.hsecurebits.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselinux_netlink.hsem.hserial.hserial_core.hserial_reg.hserio.hsev-guest.hshm.hsignal.hsignalfd.hsmc.hsmc_diag.hsmiapp.hsnmp.hsock_diag.hsocket.hsockios.hsonet.hsonypi.hsound.hsoundcard.hspispidev.hstat.hstddef.hstm.hstring.hsunrpcdebug.hsuspend_ioctls.hswab.hswitchtec_ioctl.hsync_file.hsynclink.hsysctl.hsysinfo.htarget_core_user.htaskstats.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htc_ematchtc_em_cmp.htc_em_ipt.htc_em_meta.htc_em_nbyte.htc_em_text.htcp.htcp_metrics.htdx-guest.htee.htermios.hthermal.htime.htime_types.htimerfd.htimes.htimex.htiocl.htipc.htipc_config.htipc_netlink.htipc_sockets_diag.htls.htoshiba.htty.htty_flags.htypes.hudf_fs_i.hudp.huhid.huinput.huio.huleds.hultrasound.hun.hunistd.hunix_diag.husbaudio.hcdc-wdm.hcdc.hch11.hch9.hcharger.hfunctionfs.hg_printer.hg_uvc.hgadgetfs.hmidi.htmc.hvideo.husbdevice_fs.husbip.huserfaultfd.huserio.hutime.hutsname.huuid.huvcvideo.hv4l2-common.hv4l2-controls.hv4l2-dv-timings.hv4l2-mediabus.hv4l2-subdev.hvbox_err.hvbox_vmmdev_types.hvboxguest.hvdpa.hveth.hvfio.hvfio_ccw.hvfio_zdev.hvhost.hvhost_types.hvideodev2.hvirtio_9p.hvirtio_balloon.hvirtio_blk.hvirtio_bt.hvirtio_config.hvirtio_console.hvirtio_crypto.hvirtio_fs.hvirtio_gpu.hvirtio_ids.hvirtio_input.hvirtio_iommu.hvirtio_mem.hvirtio_mmio.hvirtio_net.hvirtio_pci.hvirtio_ring.hvirtio_rng.hvirtio_scsi.hvirtio_snd.hvirtio_types.hvirtio_vsock.hvm_sockets.hvm_sockets_diag.hvmcore.hvsockmon.hvt.hvtpm_proxy.hwait.hwanrouter.hwatchdog.hwimaxwimax.hi2400m.hwireless.hwmi.hx25.hxattr.hxdp_diag.hxfrm.hxilinx-v4l2-controls.hzorro.hzorro_ids.hmisccxl.hocxl.hpvpanic.hmtdinftl-user.hmtd-abi.hmtd-user.hnftl-user.hubi-user.hrdmabnxt_re-abi.hcxgb4-abi.hefa-abi.hhfihfi1_ioctl.hhfi1_user.hhns-abi.hib_user_ioctl_cmds.hib_user_ioctl_verbs.hib_user_mad.hib_user_sa.hib_user_verbs.hirdma-abi.hmana-abi.hmlx4-abi.hmlx5-abi.hmlx5_user_ioctl_cmds.hmlx5_user_ioctl_verbs.hmthca-abi.hocrdma-abi.hqedr-abi.hrdma_netlink.hrdma_user_cm.hrdma_user_ioctl.hrdma_user_ioctl_cmds.hrdma_user_rxe.hrvt-abi.hsiw-abi.hvmw_pvrdma-abi.hscsicxlflash_ioctl.hfcfc_els.hfc_fs.hfc_gs.hfc_ns.hscsi_bsg_fc.hscsi_bsg_mpi3mr.hscsi_netlink.hscsi_netlink_fc.hsoundasequencer.hasoc.hasound.hasound_fm.hcompress_offload.hcompress_params.hemu10k1.hfirewire.hhdsp.hhdspm.hintelavstokens.hsb16_csp.hsfnt_info.hskl-tplg-interface.hsnd_sst_tokens.hsofabi.hfw.hheader.htokens.htlv.husb_stream.hvideoedid.hsisfb.huvesafb.hxenevtchn.hgntalloc.hgntdev.hprivcmd.hvdsobits.hclocksource.hconst.hdatapage.hhelpers.hjiffies.hktime.hlimits.hmath64.hprocessor.htime.htime32.htime64.hvsyscall.hvideoatmel_lcdc.haty128.hbroadsheetfb.hcirrus.hcvisionppc.hda8xx-fb.hdisplay_timing.hedid.hgbe.hhecubafb.hili9320.himx-ipu-image-convert.himx-ipu-v3.hkyro.hmach64.hmaxinefb.hmbxfb.hmetronomefb.hmipi_display.hmmp_disp.hneomagic.hnewport.hnomodeset.hof_display_timing.hof_videomode.homap-panel-data.homapfb_dss.homapvrfb.hpermedia2.hplatform_lcd.hpm3fb.hpmag-ba-fb.hpmagb-b-fb.hpxa168fb.hradeon.hs1d13xxxfb.hsa1100fb.hsamsung_fimd.hsh_mobile_lcdc.hsisfb.hsstfb.htdfx.htgafb.htrident.hudlfb.huvesafb.hvga.hvideomode.hw100fb.hxenacpi.harmhypercall.hhypervisor.hinterface.hpage-coherent.hpage.hballoon.hevents.hfeatures.hgrant_table.hhvc-console.hhvm.hinterfacecallback.helfnote.hevent_channel.hfeatures.hgrant_table.hhvmdm_op.hhvm_op.hhvm_vcpu.hparams.hstart_info.hio9pfs.hblkif.hconsole.hdisplif.hfbif.hkbdif.hnetif.hpciif.hprotocols.hpvcalls.hring.hsndif.htpmif.hvscsiif.hxenbus.hxs_wire.hmemory.hnmi.hphysdev.hplatform.hsched.hvcpu.hversion.hxen-mca.hxen.hxenpmu.hpage.hplatform_pci.hswiotlb-xen.htmem.hxen-front-pgdir-shbuf.hxen-ops.hxen.hxenbus.hxenbus_dev.hinitKconfigMakefileipcMakefilekernelKconfig.freezerKconfig.hzKconfig.locksKconfig.preemptMakefilebpfKconfigMakefilepreloadKconfigMakefileiteratorsMakefilecgroupMakefiledebugMakefilekdbMakefiledmaKconfigMakefileeventsMakefilegcovKconfigMakefileirqKconfigMakefilekcsanMakefilelivepatchKconfigMakefilelockingMakefilepowerKconfigMakefileprintkMakefilercuKconfigKconfig.debugMakefileschedMakefiletimeKconfigMakefiletraceKconfigMakefilelib842MakefileKconfigKconfig.debugKconfig.kasanKconfig.kcsanKconfig.kgdbKconfig.ubsanMakefilecryptoMakefiledimMakefilefontsKconfigMakefilekunitKconfigMakefilelivepatchMakefilelz4MakefilelzoMakefilemathKconfigMakefilempiMakefilepldmfwMakefileraid6MakefiletestMakefilereed_solomonMakefilevdsoKconfigMakefilexzKconfigMakefilezlib_deflateMakefilezlib_dfltccMakefilezlib_inflateMakefilezstdMakefilemmKconfigKconfig.debugMakefiledamonKconfigMakefilekasanMakefilenet6lowpanKconfigMakefile802KconfigMakefile8021qKconfigMakefile9pKconfigMakefileKconfigMakefileappletalkMakefileatmKconfigMakefileax25KconfigMakefilebatman-advKconfigMakefilebluetoothKconfigMakefilebnepKconfigMakefilecmtpKconfigMakefilehidpKconfigMakefilerfcommKconfigMakefilebpfMakefilebpfilterKconfigMakefilebridgeKconfigMakefilenetfilterKconfigMakefilecaifKconfigMakefilecanKconfigMakefilecephKconfigMakefilecoreMakefiledcbKconfigMakefiledccpKconfigMakefileccidsKconfigdecnetKconfigMakefilenetfilterKconfigMakefiledns_resolverKconfigMakefiledsaKconfigMakefileethernetMakefileethtoolMakefilehsrKconfigMakefileieee8021546lowpanKconfigMakefileKconfigMakefileifeKconfigMakefileipv4KconfigMakefilebpfilterMakefilenetfilterKconfigMakefileipv6KconfigMakefileilaMakefilenetfilterKconfigMakefileiucvKconfigMakefilekcmKconfigMakefilekeyMakefilel2tpKconfigMakefilel3mdevKconfigMakefilelapbKconfigMakefilellcKconfigMakefilemac80211KconfigMakefilemac802154KconfigMakefilemplsKconfigMakefilemptcpKconfigMakefilencsiKconfigMakefilenetfilterKconfigMakefileipsetKconfigMakefileipvsKconfigMakefilenetlabelKconfigMakefilenetlinkKconfigMakefilenetromMakefilenfcKconfigMakefilehciKconfigMakefilenciKconfigMakefilenshKconfigMakefileopenvswitchKconfigMakefilepacketKconfigMakefilephonetKconfigMakefilepsampleKconfigMakefileqrtrKconfigMakefilerdsKconfigMakefilerfkillKconfigMakefileroseMakefilerxrpcKconfigMakefileschedKconfigMakefilesctpKconfigMakefilesmcKconfigMakefilestrparserKconfigMakefilesunrpcKconfigMakefileauth_gssMakefilexprtrdmaMakefileswitchdevKconfigMakefiletipcKconfigMakefiletlsKconfigMakefileunixKconfigMakefilevmw_vsockKconfigMakefilewimaxKconfigMakefilewirelessKconfigMakefilex25KconfigMakefilexdpKconfigMakefilexfrmKconfigMakefilesamplesKconfigMakefileauxdisplayMakefilebpfMakefileMakefile.targetconfigfsMakefileconnectorMakefilehidrawMakefilehw_breakpointMakefilekdbMakefilekfifoMakefilekobjectMakefilekprobesMakefilelivepatchMakefilemeiMakefilemicmpssdMakefilenitro_enclavesMakefileqmiMakefilerpmsgMakefileseccompMakefiletimersMakefiletrace_eventsMakefiletrace_printkMakefileuhidMakefilev4lMakefilevfio-mdevMakefilevfsMakefilewatchdogMakefilescriptsKbuild.includeKconfig.includeLindentMakefileMakefile.asm-genericMakefile.buildMakefile.cleanMakefile.dtbinstMakefile.extrawarnMakefile.gcc-pluginsMakefile.headersinstMakefile.hostMakefile.kasanMakefile.kcovMakefile.kcsanMakefile.libMakefile.modbuiltinMakefile.modinstMakefile.modpostMakefile.modsignMakefile.ubsanadjust_autoksyms.shasn1_compilerasn1_compiler.cbasicMakefilefixdepfixdep.cmodules.orderbin2cbin2c.cbloat-o-meterbootgraph.plbpf_doc.pycc-can-link.shcheck_00index.shcheck_extable.shcheckincludes.plcheckkconfigsymbols.pycheckpatch.plcheckstack.plchecksyscalls.shcheckversion.plclang-toolsgen_compile_commands.pyrun-clang-tools.pyclang-version.shcleanfilecleanpatchcoccicheckcoccinelleapiallocalloc_cast.coccipool_zalloc-simple.coccizalloc-simple.coccicheck_bq27xxx_data.coccid_find_alias.coccidebugfsdebugfs_simple_attr.coccidrm-get-put.coccierr_cast.coccikstrdup.coccimemdup.coccimemdup_user.cocciplatform_no_drv_owner.coccipm_runtime.cocciptr_ret.cocciresource_size.coccisimple_open.coccivma_pages.coccifreeclk_put.coccidevm_free.cocciifnullfree.cocciiounmap.coccikfree.coccikfreeaddr.coccipci_free_consistent.cocciiteratorsdevice_node_continue.coccifen.cocciitnull.coccilist_entry_update.cocciuse_after_iter.coccilockscall_kern.coccidouble_lock.cocciflags.coccimini_lock.coccimiscarray_size.coccibadty.cocciboolconv.cocciboolinit.cocciboolreturn.coccibugon.coccicond_no_effect.coccicstptr.coccidoubleinit.cocciifaddr.cocciifcol.cocciirqf_oneshot.coccinewline_in_nl_msg.coccinoderef.cocciof_table.cocciorplus.coccireturnvar.coccisemicolon.cocciwarn.coccinullbadzero.coccideref_null.coccieno.coccikmerr.coccitestsdoublebitand.coccidoubletest.cocciodd_ptr_err.cocciunsigned_lesser_than_zero.cocciconfigconmakehashconmakehash.cconst_structs.checkpatchdecode_stacktrace.shdecodecodedepmod.shdiffconfigdocumentation-file-ref-checkdtcMakefileMakefile.dtcchecks.cdata.cdt_to_configdtc-lexer.ldtc-parser.ydtc.cdtc.hdtx_difffdtdump.cfdtget.cfdtput.cflattree.cfstree.cinclude-prefixesarcarmarm64c6xdt-bindingsh8300microblazemipsnios2openriscpowerpcshxtensalibfdtMakefile.libfdtfdt.cfdt.hfdt_addresses.cfdt_empty_tree.cfdt_overlay.cfdt_ro.cfdt_rw.cfdt_strerror.cfdt_sw.cfdt_wip.clibfdt.hlibfdt_env.hlibfdt_internal.hlivetree.csrcpos.csrcpos.htreesource.cupdate-dtc-source.shutil.cutil.hversion_gen.hyamltree.cexport_report.plextract-certextract-cert.cextract-ikconfigextract-module-sig.plextract-sys-certs.plextract-vmlinuxextract_xc3028.plfaddr2linefile-size.shfind-unused-docs.shgcc-goto.shgcc-ldgcc-plugin.shgcc-pluginsMakefilecyc_complexity_plugin.cgcc-common.hgcc-generate-gimple-pass.hgcc-generate-ipa-pass.hgcc-generate-rtl-pass.hgcc-generate-simple_ipa-pass.hgen-random-seed.shlatent_entropy_plugin.crandomize_layout_plugin.csancov_plugin.cstructleak_plugin.cgcc-version.shgcc-x86_32-has-stack-protector.shgcc-x86_64-has-stack-protector.shgdbMakefilelinuxMakefile__init__.pyconstants.py.incpus.pydmesg.pylists.pymodules.pyproc.pysymbols.pytasks.pyutils.pyvmlinux-gdb.pygen_initramfs_list.shgenksymsMakefilegenksymsgenksyms.cgenksyms.hkeywords.clex.llex.lex.cmodules.orderparse.tab.cparse.tab.hparse.yget_dvb_firmwareget_maintainer.plgfp-translateheaderdep.plheaders.shheaders_check.plheaders_install.shinsert-sys-cert.ckallsymskallsyms.ckconfigMakefileconfconf.cconfdata.cexpr.cexpr.hgconf-cfg.shgconf.cgconf.gladeimages.ckconf_id.clist.hlkc.hlkc_proto.hlxdialogBIG.FAT.WARNINGchecklist.cdialog.hinputbox.cmenubox.ctextbox.cutil.cyesno.cmconf-cfg.shmconf.cmenu.cmerge_config.shnconf-cfg.shnconf.cnconf.gui.cnconf.hpreprocess.cqconf-cfg.shqconf.ccqconf.hstreamline_config.plsymbol.ctestsauto_submenuKconfig__init__.pyexpected_stdoutchoiceKconfig__init__.pyalldef_expected_configallmod_expected_configallno_expected_configallyes_expected_configoldask0_expected_stdoutoldask1_configoldask1_expected_stdoutchoice_value_with_m_depKconfig__init__.pyconfigexpected_configexpected_stdoutconftest.pyerr_recursive_depKconfig__init__.pyexpected_stderrerr_recursive_incKconfigKconfig.inc1Kconfig.inc2Kconfig.inc3__init__.pyexpected_stderrinter_choiceKconfig__init__.pydefconfigexpected_confignew_choice_with_depKconfig__init__.pyconfigexpected_stdoutno_write_if_dep_unmetKconfig__init__.pyconfigexpected_configpreprocessbuiltin_funcKconfig__init__.pyexpected_stderrexpected_stdoutcircular_expansionKconfig__init__.pyexpected_stderrescapeKconfig__init__.pyexpected_stderrvariableKconfig__init__.pyexpected_stderrpytest.inirand_nested_choiceKconfig__init__.pyexpected_stdout0expected_stdout1expected_stdout2util.czconf.lzconf.lex.czconf.tab.czconf.ykernel-docksymoopsREADMEld-version.shleaking_addresses.pllink-vmlinux.shmakelstmarkup_oops.plmkcompile_hmkmakefilemksysmapmkuboot.shmodMakefiledevicetable-offsets.cdevicetable-offsets.c.000i.ipa-clonesdevicetable-offsets.hdevicetable-offsets.selfconfig.hempty.cempty.c.000i.ipa-clonesfile2alias.cmk_elfconfigmk_elfconfig.cmodpostmodpost.cmodpost.hmodules.ordersumversion.cmodule-common.ldsmodules.ordernamespace.plobjdiffpackageMakefilebuilddebbuildtarmkdebianmkspecsnapcraft.templateparse-maintainers.plpatch-kernelpnmtologopnmtologo.cprofile2linkerlist.plprune-kernelrecordmcountrecordmcount.crecordmcount.hrecordmcount.plselinuxMakefileREADMEgenheadersMakefilegenheadersgenheaders.cmodules.orderinstall_policy.shmdpMakefiledbus_contextsmdpmdp.cmodules.ordermodules.ordersetlocalversionshow_deltasign-filesign-file.csortextablesortextable.csortextable.hspelling.txtsphinx-pre-installsplit-man.plstackdeltastackusagesubarch.includetags.shtest_fortify.shunifdefunifdef.cver_linuxxen-hypercalls.shxz_wrap.shsecurityKconfigKconfig.hardeningMakefileapparmorKconfigMakefilebpfMakefileintegrityKconfigMakefileevmKconfigMakefileimaKconfigMakefilekeysKconfigMakefileencrypted-keysMakefiletrusted-keysMakefileloadpinKconfigMakefileselinuxKconfigMakefileincludeclassmap.hinitial_sid_to_string.hsmackKconfigMakefiletomoyoKconfigMakefileyamaKconfigMakefilesoundKconfigMakefileac97KconfigMakefileaoaKconfigMakefilecodecsKconfigMakefilecoreMakefilefabricsKconfigMakefilesoundbusKconfigMakefilei2sbusMakefilearmKconfigMakefileatmelKconfigMakefilecoreKconfigMakefileossMakefileseqKconfigMakefileossMakefiledriversKconfigMakefilempu401Makefileopl3Makefileopl4MakefilepcspMakefilevxMakefilefirewireKconfigMakefilebebobMakefilediceMakefiledigi00xMakefilefirefaceMakefilefireworksMakefilemotuMakefileoxfwMakefiletascamMakefilehdaKconfigMakefileextMakefilei2cMakefileotherMakefileisaKconfigMakefilead1816aMakefilead1848Makefilecs423xMakefilees1688MakefilegalaxyMakefilegusMakefilemsndMakefileopti9xxMakefilesbMakefilewavefrontMakefilewssMakefilemipsKconfigMakefileossdmasoundKconfigMakefilepariscKconfigMakefilepciKconfigMakefileac97Makefileali5451MakefileasihpiMakefileau88x0Makefileaw2Makefileca0106Makefilecs46xxMakefilecs5535audioMakefilectxfiMakefileechoaudioMakefileemu10k1MakefilehdaKconfigMakefileice1712Makefilekorg1212MakefilelolaMakefilelx6464esMakefilemixartMakefilenm256MakefileoxygenMakefilepcxhrMakefileriptideMakefilerme9652MakefiletridentMakefilevx222MakefileymfpciMakefilepcmciaKconfigMakefilepdaudiocfMakefilevxMakefileppcKconfigMakefileshKconfigMakefilesocKconfigMakefileadiKconfigMakefileamdKconfigMakefileacpKconfigMakefilepsMakefileravenMakefilerenoirMakefilerplMakefilevangoghMakefileycMakefileatmelKconfigMakefileau1xKconfigMakefilebcmKconfigMakefilecirrusKconfigMakefilecodecsKconfigMakefiledwcKconfigMakefilefslKconfigMakefilegenericKconfigMakefilehisiliconKconfigMakefileimgKconfigMakefileintelKconfigMakefileatomMakefilesstMakefileavsMakefileboardsKconfigMakefileboardsKconfigMakefilecatptMakefilecommonMakefilekeembayMakefileskylakeMakefilejz4740KconfigMakefilekirkwoodKconfigMakefilemediatekKconfigMakefilecommonMakefilemt2701Makefilemt6797Makefilemt8173Makefilemt8183MakefilemesonKconfigMakefilemxsKconfigMakefilepxaKconfigMakefileqcomKconfigMakefileqdsp6MakefilerockchipKconfigMakefilesamsungKconfigMakefileshKconfigMakefilercarMakefilesofKconfigMakefileamdKconfigMakefileimxKconfigMakefileintelKconfigMakefilemediatekKconfigMakefilemt8186Makefilemt8195MakefilextensaKconfigMakefilespearKconfigMakefilesprdKconfigMakefilestiKconfigMakefilestmKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefiletxx9KconfigMakefileuniphierKconfigMakefileux500KconfigMakefilexilinxKconfigMakefilextensaKconfigMakefilesparcKconfigMakefilespiKconfigMakefilesynthKconfigMakefileemuxMakefileusb6fireMakefileKconfigMakefilebcd2000MakefilecaiaqMakefilehifaceMakefileline6KconfigMakefilemiscMakefileusx2yMakefilevirtioKconfigMakefilex86KconfigMakefilexenKconfigMakefiletoolsMakefileaccountingMakefilearchx86intel_sdsiMakefilebpfMakefilebpftoolDocumentationMakefileMakefileresolve_btfidsMakefilerunqslowerMakefilebuildMakefileMakefile.buildMakefile.featureMakefile.includefeatureMakefiletestsexMakefilecgroupMakefilefirewireMakefilegpioMakefilehvMakefileiioMakefileincludetoolsbe_byteshift.hle_byteshift.hio_uringMakefilekvmkvm_statMakefilelaptopdslmMakefilefreefallMakefileledsMakefilelibapiMakefilebpfMakefilelockdepMakefileperfDocumentationMakefileMakefilesubcmdMakefiletraceeventDocumentationMakefileMakefilepluginsMakefileobjtoolMakefileobjtoolpciMakefilepcmciaMakefileperfDocumentationMakefileMakefileMakefile.configMakefile.perfarcharmMakefilearm64MakefilecskyMakefilemipsMakefilepowerpcMakefiles390MakefileshMakefilesparcMakefilex86MakefilextensaMakefilescriptsperlPerf-Trace-UtilMakefile.PLpoweracpiMakefileMakefile.configMakefile.rulestoolsacpidbgMakefileacpidumpMakefileecMakefilecpupowerMakefilebenchMakefiledebugi386MakefilekernelMakefilex86_64Makefilepm-graphMakefilex86intel-speed-selectMakefileturbostatMakefilex86_energy_perf_policyMakefilescriptsMakefile.archMakefile.includespiMakefiletestingnvdimmMakefileradix-treeMakefilescatterlistMakefileselftestsMakefileandroidMakefileionMakefilebpfMakefileMakefile.docsbpf_testmodMakefilebreakpointsMakefilecapabilitiesMakefilecgroupMakefilecoreMakefilecpu-hotplugMakefilecpufreqMakefiledamonMakefiledriversnetbondingMakefileteamMakefileefivarfsMakefileexecMakefilefilesystemsMakefilefirmwareMakefilefpuMakefileftraceMakefilefutexMakefilefunctionalMakefilegpioMakefileia64Makefileintel_pstateMakefileipcMakefilekcmpMakefilekexecMakefilekmodMakefilekvmMakefilelibMakefilelivepatchMakefilelockingMakefilemedia_testsMakefilemembarrierMakefilememfdMakefilememory-hotplugMakefilemountMakefilemqueueMakefilenetMakefileforwardingMakefilemptcpMakefilenetfilterMakefilensfsMakefilepowerpcMakefilealignmentMakefilebenchmarksMakefilecache_shapeMakefilecopyloopsMakefiledscrMakefileeehMakefilemathMakefilemceMakefilemmMakefilepapr_attributesMakefilepmuMakefileebbMakefilesampling_testsMakefileprimitivesMakefileptraceMakefilesignalMakefilestringloopsMakefileswitch_endianMakefilesyscallsMakefiletmMakefilevphnMakefileprctlMakefileprocMakefilepstoreMakefileptpMakefileptraceMakefilercutortureMakefileformalsrcu-cbmcMakefiletestsstore_bufferingMakefilerseqMakefilertcMakefileseccompMakefilesgxMakefilesigaltstackMakefilesizeMakefilesparc64MakefiledriversMakefilespliceMakefilestatic_keysMakefilesyncMakefilesysctlMakefiletc-testingMakefiletdxMakefiletimensMakefiletimersMakefiletpm2MakefileueventMakefileuserMakefilevDSOMakefilevmMakefilewatchdogMakefilex86MakefilezramMakefilevsockMakefilethermaltmonMakefileusbMakefileffs-aio-examplemultibuffhost_appMakefilesimplehost_appMakefileusbipMakefile.amlibsrcMakefile.amsrcMakefile.amvirtioMakefileringtestMakefilevhost_testMakefilevirtio-traceMakefilevmMakefilewmiMakefileusrKconfigMakefilevirtMakefilekvmKconfigMakefile.kvmlibKconfigMakefilevmlinux.hvmlinux.id/usr/src/kernels//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/alpha//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/alpha/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/alpha/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/alpha/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/alpha/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/alpha/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/alpha/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/plat-axs10x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/plat-eznps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/plat-hsdk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/plat-sim//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arc/plat-tb10x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/boot/bootp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/firmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-actions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-alpine//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-artpec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-asm9260//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-aspeed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-at91//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-axxia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-berlin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-clps711x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-cns3xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-davinci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-digicolor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-dove//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-ebsa110//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-efm32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-ep93xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-exynos//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-footbridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-gemini//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-highbank//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-hisi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-imx/devices//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-integrator//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-iop13xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-iop32x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-iop33x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-ixp4xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-keystone//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-ks8695//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-lpc18xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-lpc32xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-mmp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-moxart//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-mv78xx0//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-mvebu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-mxs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-netx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-nomadik//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-npcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-nspire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-omap1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-omap2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-orion5x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-oxnas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-picoxcell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-prima2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-pxa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-realview//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-rpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-s3c24xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-s3c64xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-s5pv210//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-sa1100//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-shmobile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-socfpga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-spear//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-sti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-stm32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-sunxi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-tango//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-u300//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-uniphier//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-ux500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-versatile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-vexpress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-vt8500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-w90x900//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-zx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mach-zynq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/nwfpe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/plat-iop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/plat-omap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/plat-orion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/plat-pxa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/plat-samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/plat-versatile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/probes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/probes/kprobes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/probes/uprobes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/vfp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/actions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/al//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/allwinner//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/altera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/amlogic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/apm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/broadcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/broadcom/northstar2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/broadcom/stingray//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/cavium//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/exynos//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/freescale//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/lg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/marvell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/nvidia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/realtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/renesas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/socionext//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/sprd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/synaptics//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/xilinx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/boot/dts/zte//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/hyperv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kernel/probes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kernel/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kernel/vdso32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kvm/hyp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kvm/hyp/nvhe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/kvm/hyp/vhe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/arm64/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/c6x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/c6x/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/c6x/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/c6x/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/c6x/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/c6x/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/c6x/platforms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/h8300//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/h8300/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/h8300/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/h8300/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/h8300/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/h8300/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/h8300/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/hexagon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/hexagon/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/hexagon/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/hexagon/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/dig//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/hp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/hp/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/hp/sim//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/hp/sim/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/hp/zx1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/sn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/sn/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/sn/kernel/sn2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/sn/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/sn/pci/pcibr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/uv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/ia64/uv/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/68000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/amiga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/apollo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/atari//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/bvme6000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/coldfire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/fpsp040//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/hp300//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/ifpsp060//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/mac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/mvme147//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/mvme16x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/q40//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/sun3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/sun3/prom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/sun3x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/m68k/tools/amiga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/kernel/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/microblaze/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/alchemy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/alchemy/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/alchemy/devboards//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/ar7//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/ath25//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/ath79//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/bcm47xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/bcm63xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/bcm63xx/boards//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/bmips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/brcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/cavium-octeon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/img//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/ingenic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/lantiq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/mscc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/mti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/netlogic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/ni//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/pic32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/qca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/ralink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/dts/xilfpga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/boot/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/cavium-octeon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/cavium-octeon/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/cavium-octeon/executive//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/cobalt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/dec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/dec/prom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/emma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/emma/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/emma/markeins//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/fw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/fw/arc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/fw/cfe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/fw/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/fw/sni//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/jazz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/jz4740//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/lantiq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/lantiq/falcon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/lantiq/xway//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/lasat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/lasat/image//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson32/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson32/ls1b//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson32/ls1c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson64/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson64/common/cs5536//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson64/fuloong-2e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson64/lemote-2f//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/loongson64/loongson-3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/mti-malta//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/netlogic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/netlogic/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/netlogic/xlp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/netlogic/xlr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/paravirt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pic32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pic32/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pic32/pic32mzda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pistachio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pmcs-msp71xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pnx833x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pnx833x/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/pnx833x/stb22x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/ralink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/rb532//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sgi-ip22//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sgi-ip27//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sgi-ip32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sibyte//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sibyte/bcm1480//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sibyte/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sibyte/sb1250//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sibyte/swarm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/sni//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/txx9//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/txx9/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/txx9/jmr3927//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/txx9/rbtx4927//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/txx9/rbtx4938//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/txx9/rbtx4939//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/vr41xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/vr41xx/casio-e55//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/vr41xx/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/mips/vr41xx/ibm-workpad//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nds32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nds32/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nds32/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nds32/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nds32/kernel/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nds32/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nds32/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nios2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nios2/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nios2/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nios2/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nios2/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nios2/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/nios2/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/openrisc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/openrisc/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/openrisc/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/openrisc/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/openrisc/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/openrisc/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/parisc/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/kernel/ptrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/kernel/trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/kernel/vdso32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/kernel/vdso64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/mm/book3s32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/mm/book3s64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/40x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/44x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/4xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/512x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/52xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/82xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/83xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/85xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/86xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/8xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/amigaone//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/book3s//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/cell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/cell/spufs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/chrp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/embedded6xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/maple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/pasemi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/powermac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/powernv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/ps3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/platforms/pseries//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/purgatory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/sysdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/sysdev/ge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/sysdev/xics//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/sysdev/xive//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/powerpc/xmon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/riscv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/riscv/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/riscv/kernel/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/riscv/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/riscv/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/appldata//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/hypfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/kernel/syscalls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/kernel/vdso32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/kernel/vdso64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/numa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/purgatory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/scripts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/s390/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-ap325rxa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-cayman//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-dreamcast//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-ecovec24//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-highlander//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-hp6xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-kfr2r09//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-landisk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-lboxre2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-microdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-migor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-r2d//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-rsk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-sdk7780//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-sdk7786//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/7206//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/7343//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/770x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/7721//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/7722//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/7724//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/7751//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-se/7780//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-sh03//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-sh7763rdp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boards/mach-x3proto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/boot/romimage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/cchips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/cchips/hd6446x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/drivers/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/drivers/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/drivers/superhyway//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/sh2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/sh2a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/sh3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/sh4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/sh4a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/sh5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/cpu/shmobile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/kernel/vsyscall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/lib64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sh/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/prom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/sparc/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um/kernel/skas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um/os-Linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um/os-Linux/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um/os-Linux/skas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/um/scripts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/unicore32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/unicore32/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/unicore32/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/unicore32/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/unicore32/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/unicore32/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/boot/compressed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/coco//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/coco/tdx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/crypto/sha1-mb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/crypto/sha256-mb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/crypto/sha512-mb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/entry//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/entry/syscalls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/entry/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/entry/vsyscall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/events//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/events/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/events/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/hyperv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/ia32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/e820//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/fpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/numachip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/shared//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/uv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/asm/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/generated//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/generated/asm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/generated/uapi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/generated/uapi/asm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/uapi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/include/uapi/asm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/apic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/cpu/mce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/cpu/microcode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/cpu/mtrr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/cpu/resctrl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/cpu/sgx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/fpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kernel/kprobes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/mm/pat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/atom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/ce4100//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/efi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/geode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/goldfish//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/intel-mid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/intel-mid/device_libs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/intel-quark//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/iris//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/olpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/scx200//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/sfi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/ts5500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/platform/uv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/purgatory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/ras//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/realmode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/realmode/rm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/um//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/um/os-Linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/um/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/video//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/x86/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/boot/boot-elf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/boot/boot-redboot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/boot/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/boot/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/platforms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/platforms/iss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/platforms/xt2000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/arch/xtensa/platforms/xtfpga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/block//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/block/partitions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/certs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/crypto/asymmetric_keys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/crypto/async_tx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/accessibility//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/accessibility/braille//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi/acpica//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi/apei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi/arm64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi/dptf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi/nfit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi/numa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/acpi/pmic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/amba//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/android//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ata//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/atm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/auxdisplay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/base//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/base/firmware_loader//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/base/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/base/regmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/base/test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/bcma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block/aoe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block/drbd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block/mtip32xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block/paride//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block/rsxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block/xen-blkback//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/block/zram//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/bluetooth//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/bus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/bus/fsl-mc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/bus/mhi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/bus/mhi/ep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/bus/mhi/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/cdrom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/agp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/hw_random//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/ipmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/mwave//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/pcmcia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/tpm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/tpm/st33zp24//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/xilinx_hwicap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/char/xillybus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/actions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/at91//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/axis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/axs10x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/berlin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/davinci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/h8300//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/imgtec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/ingenic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/keystone//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/loongson1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/microchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/mmp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/mvebu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/mxs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/nxp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/pistachio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/pxa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/renesas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/sirf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/socfpga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/spear//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/sprd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/st//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/sunxi-ng//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/sunxi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/uniphier//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/ux500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/versatile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/zte//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clk/zynq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/clocksource//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/connector//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/counter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/cpufreq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/cpuidle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/cpuidle/governors//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/amcc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/axis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/caam//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/cavium//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/cavium/cpt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/cavium/nitrox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/cavium/zip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/ccp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/ccree//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/chelsio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/chelsio/chtls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/inside-secure//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/marvell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/nx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_4xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_c3xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_c3xxxvf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_c62x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_c62xvf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_dh895xcc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qat/qat_dh895xccvf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/qce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/stm32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/sunxi-ss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/ux500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/ux500/cryp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/ux500/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/crypto/vmx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dax/hmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dax/pmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/devfreq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/devfreq/event//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma-buf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma-buf/heaps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/bestcomm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/dw-axi-dmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/dw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/hsu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/idxd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/ioat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/ipu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/ppc4xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/ptdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/sh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/dma/xilinx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/edac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/eisa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/extcon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firewire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/arm_scmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/broadcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/cirrus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/efi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/efi/libstub//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/efi/test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/google//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/psci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/smccc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/firmware/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/fmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/fpga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/fsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/acp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/amdgpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/amdkfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/amdgpu_dm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/basics//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/bios//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/clk_mgr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dce100//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dce110//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dce112//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dce120//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dce60//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dce80//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn10//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn20//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn201//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn21//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn30//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn301//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn302//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn303//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn31//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn314//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn315//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn316//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dcn321//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dml//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/dsc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/hdcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/link//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dc/virtual//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dmub//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/dmub/src//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/modules//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/modules/color//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/modules/freesync//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/modules/hdcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/modules/info_packet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/display/modules/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/legacy-dpm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/powerplay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/powerplay/hwmgr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/powerplay/smumgr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/swsmu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/swsmu/smu11//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/swsmu/smu12//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/amd/pm/swsmu/smu13//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/armada//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/aspeed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/ast//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/atmel-hlcdc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/bridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/bridge/adv7511//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/bridge/analogix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/bridge/cadence//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/bridge/imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/bridge/synopsys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/display//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/etnaviv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/exynos//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/fsl-dcu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/gma500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/gud//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/hisilicon/hibmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/hisilicon/kirin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/hyperv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/i915//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/i915/gvt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/kmb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/logicvc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/mgag200//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/msm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/mxsfb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/nouveau//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/omapdrm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/omapdrm/displays//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/omapdrm/dss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/panel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/pl111//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/qxl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/radeon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/rcar-du//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/scheduler//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/shmobile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/solomon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/sprd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/sti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/stm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/sun4i//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/tilcdc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/tiny//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/ttm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/tve200//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/udl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/v3d//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/vboxvideo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/vc4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/vgem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/vkms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/vmwgfx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/drm/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/host1x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/ipu-v3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/gpu/vga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hid/amd-sfh-hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hid/i2c-hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hid/intel-ish-hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hid/surface-hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hid/usbhid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hsi/clients//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hsi/controllers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hwmon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hwmon/pmbus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hwspinlock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hwtracing//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hwtracing/coresight//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hwtracing/intel_th//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/hwtracing/stm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/i2c/algos//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/i2c/busses//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/i2c/muxes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ide//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/idle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/accel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/adc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/afe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/amplifiers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/buffer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/chemical//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/common/cros_ec_sensors//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/common/hid-sensors//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/common/ms_sensors//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/common/ssp_sensors//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/common/st_sensors//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/counter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/dac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/dummy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/frequency//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/gyro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/health//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/humidity//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/imu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/imu/bmi160//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/imu/inv_mpu6050//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/imu/st_lsm6dsx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/light//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/magnetometer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/multiplexer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/orientation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/potentiometer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/potentiostat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/pressure//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/proximity//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/resolver//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/temperature//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iio/trigger//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/bnxt_re//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/cxgb4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/efa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/hfi1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/hns//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/irdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/mana//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/mlx4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/mlx5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/mthca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/ocrdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/qedr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/qib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/usnic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/hw/vmw_pvrdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/sw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/sw/rdmavt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/sw/rxe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/sw/siw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/ulp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/ulp/ipoib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/ulp/iser//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/ulp/isert//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/ulp/opa_vnic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/ulp/srp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/infiniband/ulp/srpt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/gameport//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/joystick//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/joystick/iforce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/keyboard//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/mouse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/rmi4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/serio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/tablet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/input/touchscreen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iommu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iommu/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iommu/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iommu/arm/arm-smmu-v3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iommu/arm/arm-smmu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/iommu/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ipack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ipack/carriers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ipack/devices//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/irqchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/capi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/divert//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/gigaset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/hardware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/hardware/avm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/hardware/eicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/hardware/mISDN//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/hisax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/hysdn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/i4l//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/isdnloop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/isdn/mISDN//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/leds//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/leds/trigger//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/lightnvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/macintosh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/macintosh/ams//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mailbox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mcb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/md//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/md/bcache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/md/persistent-data//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/common/b2c2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/common/saa7146//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/common/siano//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/common/v4l2-tpg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/common/videobuf2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/dvb-core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/dvb-frontends//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/dvb-frontends/cxd2880//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/dvb-frontends/drx39xyj//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/firewire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c/adv748x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c/cx25840//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c/et8ek8//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c/m5mols//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c/s5c73m3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c/smiapp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/i2c/soc_camera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/mmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/mmc/siano//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/b2c2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/bt8xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/cobalt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/cx18//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/cx23885//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/cx25821//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/cx88//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/ddbridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/dm1105//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/dt3155//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/intel/ipu3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/ivtv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/mantis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/meye//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/netup_unidvb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/ngene//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/pluto2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/pt1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/pt3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/saa7134//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/saa7146//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/saa7164//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/smipcie//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/solo6x10//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/sta2x11//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/ttpci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/tw5864//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/tw68//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/pci/tw686x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/am437x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/atmel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/cadence//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/cec-gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/coda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/davinci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/exynos-gsc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/exynos4-is//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/marvell-ccic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/mtk-jpeg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/mtk-mdp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/mtk-vcodec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/mtk-vpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/omap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/omap3isp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/qcom/camss-8x16//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/qcom/venus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/rcar-vin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/rockchip/rga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/s3c-camif//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/s5p-cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/s5p-g2d//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/s5p-jpeg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/s5p-mfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/soc_camera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/sti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/sti/bdisp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/sti/c8sectpfe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/sti/cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/sti/delta//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/sti/hva//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/stm32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/tegra-cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/ti-vpe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/vimc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/vivid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/vsp1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/platform/xilinx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/radio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/radio/si470x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/radio/si4713//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/radio/wl128x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/rc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/rc/img-ir//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/rc/keymaps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/tuners//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/airspy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/as102//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/au0828//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/b2c2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/cpia2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/cx231xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/dvb-usb-v2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/dvb-usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/em28xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/go7007//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/gspca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/gspca/gl860//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/gspca/m5602//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/gspca/stv06xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/hackrf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/hdpvr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/msi2500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/pulse8-cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/pvrusb2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/pwc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/rainshadow-cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/s2255//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/siano//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/stk1160//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/stkwebcam//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/tm6000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/ttusb-budget//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/ttusb-dec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/usbtv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/usbvision//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/uvc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/usb/zr364xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/media/v4l2-core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/memory/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/memory/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/memstick//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/memstick/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/memstick/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/message//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/message/fusion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/altera-stapl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/c2port//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/cardreader//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/cb710//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/cxl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/echo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/eeprom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/genwqe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/ibmasm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/lis3lv02d//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/lkdtm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mei/hdcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mei/pxp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic/bus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic/card//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic/cosm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic/cosm_client//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic/scif//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/mic/vop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/ocxl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/sgi-gru//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/sgi-xp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/ti-st//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/misc/vmw_vmci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mmc/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mmc/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/chips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/devices//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/lpddr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/maps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/nand//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/nand/onenand//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/nand/raw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/nand/raw/atmel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/nand/raw/bcm47xxnflash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/nand/raw/brcmnand//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/nand/raw/gpmi-nand//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/parsers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/spi-nor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mtd/ubi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/mux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/appletalk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/arcnet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/bonding//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/caif//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/c_can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/cc770//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/ifi_canfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/m_can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/mscan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/peak_canfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/rcar//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/sja1000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/softing//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/usb/kvaser_usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/can/usb/peak_usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/dsa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/dsa/b53//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/dsa/microchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/dsa/mv88e6xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/3com//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/8390//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/adaptec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/aeroflex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/agere//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/alacritech//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/allwinner//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/alteon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/altera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/amazon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/amazon/ena//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/amd/xgbe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/apm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/apm/xgene-v2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/apm/xgene//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/apple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/aquantia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/aquantia/atlantic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/aquantia/atlantic/hw_atl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/arc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/atheros//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/atheros/alx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/atheros/atl1c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/atheros/atl1e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/atheros/atlx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/aurora//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/broadcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/broadcom/bnx2x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/broadcom/bnxt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/broadcom/genet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/brocade//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/brocade/bna//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cadence//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/calxeda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cavium//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cavium/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cavium/liquidio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cavium/octeon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cavium/thunder//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/cxgb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/cxgb3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/cxgb4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/cxgb4vf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/inline_crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/chelsio/libcxgb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cirrus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cisco//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cisco/enic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/cortina//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/davicom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/dec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/dec/tulip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/dlink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/emulex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/emulex/benet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/ezchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/faraday//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/freescale//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/freescale/dpaa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/freescale/fman//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/freescale/fs_enet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/fujitsu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/google//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/google/gve//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/hisilicon/hns//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/hisilicon/hns3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/hisilicon/hns3/hns3pf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/hisilicon/hns3/hns3vf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/hp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/huawei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/huawei/hinic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/i825xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/ibm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/ibm/ehea//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/ibm/emac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/e1000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/e1000e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/fm10k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/i40e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/iavf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/ice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/igb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/igbvf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/igc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/ixgb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/ixgbe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/intel/ixgbevf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/marvell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/marvell/mvpp2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/accel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/diag//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/en//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/en/xsk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/en_accel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/esw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/fpga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/ipoib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlx5/core/steering//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlxbf_gige//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlxfw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mellanox/mlxsw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/micrel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/microchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/microsoft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/microsoft/mana//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/moxa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/mscc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/myricom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/myricom/myri10ge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/natsemi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/neterion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/neterion/vxge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/netronome//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/netronome/nfp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/netronome/nfp/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/netronome/nfp/flower//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/netronome/nfp/nfpcore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/netronome/nfp/nic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/ni//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/nuvoton//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/nvidia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/nxp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/oki-semi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/oki-semi/pch_gbe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/packetengines//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/pasemi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/pensando//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/pensando/ionic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qlogic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qlogic/netxen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qlogic/qed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qlogic/qede//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qlogic/qlcnic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qlogic/qlge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qualcomm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qualcomm/emac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/qualcomm/rmnet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/rdc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/realtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/renesas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/rocker//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/samsung/sxgbe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/seeq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/sfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/sfc/falcon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/sfc/siena//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/sgi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/silan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/sis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/smsc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/socionext//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/stmicro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/stmicro/stmmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/sun//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/synopsys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/tehuti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/toshiba//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/tundra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/via//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/wiznet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/xilinx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/xircom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ethernet/xscale//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/fddi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/fddi/skfp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/fjes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/hamradio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/hippi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/hyperv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ieee802154//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ipvlan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/netdevsim//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/pcs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/phy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/plip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/ppp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/slip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/team//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/thunderbolt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/vmxnet3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wan/lmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wimax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wimax/i2400m//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/admtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/ar5523//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/ath10k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/ath11k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/ath12k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/ath5k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/ath6kl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/ath9k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/carl9170//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/wcn36xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ath/wil6210//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/atmel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/b43//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/b43legacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/brcm80211//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/brcm80211/brcmfmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/brcm80211/brcmsmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/broadcom/brcm80211/brcmutil//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/cisco//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intel/ipw2x00//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intel/iwlegacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intel/iwlwifi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intel/iwlwifi/dvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intel/iwlwifi/mei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intel/iwlwifi/mvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intersil//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intersil/hostap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intersil/orinoco//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intersil/p54//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/intersil/prism54//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/legacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/marvell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/marvell/libertas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/marvell/libertas_tf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/marvell/mwifiex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76/mt7603//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76/mt7615//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76/mt76x0//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76/mt76x2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76/mt7915//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76/mt7921//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt76/mt7996//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/mediatek/mt7601u//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/quantenna//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/quantenna/qtnfmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ralink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ralink/rt2x00//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtl818x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtl818x/rtl8180//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtl818x/rtl8187//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtl8xxxu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/btcoexist//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8188ee//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8192c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8192ce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8192cu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8192de//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8192ee//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8192se//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8723ae//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8723be//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8723com//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtlwifi/rtl8821ae//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtw88//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/realtek/rtw89//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/rsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/st//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/st/cw1200//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ti/wl1251//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ti/wl12xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ti/wl18xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/ti/wlcore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/virtual//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/zydas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/wireless/zydas/zd1211rw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/net/xen-netback//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/fdp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/microread//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/nfcmrvl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/nxp-nci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/pn533//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/pn544//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/s3fwrn5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/st-nci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/st21nfca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nfc/st95hf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb/hw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb/hw/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb/hw/epf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb/hw/idt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb/hw/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb/hw/mscc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ntb/test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nubus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nvdimm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nvme//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nvme/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nvme/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/nvmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/of//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/of/unittest-data//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/opp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/parisc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/parport//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci/controller//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci/controller/dwc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci/endpoint//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci/endpoint/functions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci/hotplug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci/pcie//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pci/switch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pcmcia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/perf/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/allwinner//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/amlogic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/broadcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/lantiq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/marvell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/motorola//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/qualcomm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/ralink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/renesas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/st//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/phy/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/actions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/aspeed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/berlin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/freescale//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/mvebu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/nomadik//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/pxa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/sh-pfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/sirf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/spear//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/sprd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/stm32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/sunxi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/uniphier//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/vt8500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pinctrl/zte//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/chrome//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/goldfish//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/mellanox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/mips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/olpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86/dell-wmi-sysman//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86/intel/ifs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86/intel/pmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86/intel/pmt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86/intel/speed_select_if//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/platform/x86/intel/uncore-frequency//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pnp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pnp/isapnp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pnp/pnpacpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pnp/pnpbios//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/power/avs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/power/reset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/power/supply//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/powercap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pps/clients//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pps/generators//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ps3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ptp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/pwm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/rapidio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/rapidio/devices//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/rapidio/switches//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ras//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/regulator//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/remoteproc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/reset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/reset/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/reset/sti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/reset/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/rpmsg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/rtc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390/block//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390/char//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390/cio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390/scsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/s390/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sbus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sbus/char//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/aacraid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/aic7xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/aic7xxx/aicasm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/aic94xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/arcmsr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/be2iscsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/bfa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/bnx2fc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/bnx2i//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/csiostor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/cxgbi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/cxgbi/cxgb3i//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/cxgbi/cxgb4i//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/cxlflash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/device_handler//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/esas2r//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/fcoe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/fnic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/hisi_sas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/ibmvscsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/ibmvscsi_tgt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/isci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/libfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/libsas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/lpfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/megaraid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/mpi3mr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/mpt3sas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/mvsas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/pcmcia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/pm8001//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/qedf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/qedi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/qla2xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/qla4xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/smartpqi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/snic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/sym53c8xx_2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/scsi/ufs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sfi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sh/clk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sh/intc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sh/maple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sh/superhyway//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/siox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/slimbus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/sn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/actions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/amlogic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/atmel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/bcm/brcmstb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/bcm/brcmstb/pm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/dove//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/fsl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/fsl/qbman//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/fsl/qe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/fujitsu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/gemini//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/lantiq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/renesas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/sunxi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/tegra/fuse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/ux500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/versatile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/xilinx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soc/zte//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/soundwire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/spmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/ssb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/android//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/android/ion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/board//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/clocking-wizard//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/comedi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/comedi/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/comedi/kcomedilib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/dgnc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/emxx_udc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fbtft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fsl-dpaa2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fsl-dpaa2/ethernet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fsl-dpaa2/ethsw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fsl-dpaa2/rtc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fsl-mc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fsl-mc/bus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fsl-mc/bus/dpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/fwserial//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/gdm724x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/goldfish//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/greybus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/greybus/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/gs_fpgaboot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/accel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/adc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/addac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/cdc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/frequency//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/gyro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/impedance-analyzer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/meter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/iio/resolver//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/ks7010//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/bcm2048//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/davinci_vpfe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/imx074//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/mt9t031//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/omap4iss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/tegra-vde//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/media/zoran//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most/cdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most/dim2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most/sound//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/most/video//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt29f_spinand//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-eth//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-mmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-pinctrl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/mt7621-spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/netlogic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/nvec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/octeon-usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/octeon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/olpc_dcon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/pi433//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtl8188eu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtl8192e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtl8192e/rtl8192e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtl8192u//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtl8192u/ieee80211//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtl8712//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtl8723bs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtlwifi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtlwifi/btcoexist//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rtlwifi/rtl8822be//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/rts5208//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/skein//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/sm750fb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/speakup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/unisys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/unisys/visorhba//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/unisys/visorinput//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/unisys/visornic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vboxvideo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vc04_services//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vc04_services/bcm2835-audio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vc04_services/bcm2835-camera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vme//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vme/devices//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vt6655//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/vt6656//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/wilc1000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/wlan-ng//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/staging/xgifb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/target/iscsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/target/iscsi/cxgbit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/target/loopback//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/target/sbp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/target/tcm_fc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tee//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tee/optee//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/broadcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/intel/int340x_thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/st//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thermal/ti-soc-thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/thunderbolt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/hvc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/ipwireless//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/serdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/serial//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/serial/8250//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/serial/cpm_uart//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/serial/jsm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/tty/vt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/uio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/atm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/c67x00//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/chipidea//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/class//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/dwc2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/dwc3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/early//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/gadget//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/gadget/function//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/gadget/legacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/gadget/udc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/gadget/udc/aspeed-vhub//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/gadget/udc/bdc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/host/whci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/image//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/isp1760//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/misc/sisusbvga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/mon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/mtu3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/musb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/phy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/renesas_usbhs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/roles//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/serial//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/storage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/typec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/typec/altmodes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/typec/mux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/typec/tcpm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/typec/tipd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/typec/ucsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/usbip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/usb/wusbcore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/uwb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/uwb/i1480//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/uwb/i1480/dfu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vdpa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vdpa/alibaba//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vdpa/ifcvf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vdpa/mlx5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vdpa/vdpa_sim//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vdpa/virtio_pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vfio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vfio/mdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vfio/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vfio/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vfio/platform/reset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vhost//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/backlight//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/console//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/aty//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/geode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/i810//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/intelfb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/kyro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/matrox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/mb862xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/mbx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/mmp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/mmp/fb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/mmp/hw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/mmp/panel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/nvidia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/omap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/omap2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/omap2/omapfb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/omap2/omapfb/displays//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/omap2/omapfb/dss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/riva//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/savage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/sis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/vermilion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/fbdev/via//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/video/logo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/virt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/virt/coco//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/virt/coco/sev-guest//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/virt/coco/tdx-guest//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/virt/nitro_enclaves//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/virt/vboxguest//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/visorbus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vlynq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vme//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vme/boards//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/vme/bridges//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/w1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/w1/masters//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/w1/slaves//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/watchdog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/xen/events//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/xen/xen-pciback//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/xen/xenbus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/xen/xenfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/drivers/zorro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/firmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/9p//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/adfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/affs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/afs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/autofs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/befs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/bfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/btrfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/cachefiles//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ceph//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/cifs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/coda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/configfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/cramfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/debugfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/devpts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/dlm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ecryptfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/efivarfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/efs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/exportfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ext2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ext4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/f2fs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/fat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/freevxfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/fscache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/fuse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/gfs2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/hfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/hfsplus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/hostfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/hpfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/hugetlbfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/iomap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/isofs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/jbd2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/jffs2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/jfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/kernfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/lockd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/minix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nfs/blocklayout//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nfs/filelayout//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nfs/flexfilelayout//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nfs_common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nfsd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nilfs2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/nls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/notify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/notify/dnotify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/notify/fanotify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/notify/inotify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ntfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ocfs2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ocfs2/cluster//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ocfs2/dlm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ocfs2/dlmfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/omfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/openpromfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/orangefs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/overlayfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/proc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/pstore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/qnx4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/qnx6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/quota//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ramfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/reiserfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/romfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/squashfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/sysfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/sysv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/tracefs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ubifs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/udf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/ufs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/fs/xfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/acpi/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/asm-generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/asm-generic/bitops//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/asm-generic/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/clocksource//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/8139too//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ac97//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/apei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/apei/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/cppc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/cpu/freq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/ec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/hotplug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/legacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/legacy/tables//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/processor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/rev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/rev/override//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/spcr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/system//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/system/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/system/power/states//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/table//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/acpi/thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/advise//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/alim1535//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/alim7101//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/allow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/allow/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/altera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amd/iommu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amd/mem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amd/sfh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amd/xgbe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amd/xgbe/have//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amiga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/amilo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/aperture//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/apple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/apple/mfi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/aquantia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/clocksource//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/cpuidle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/dma/addr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/dma/addr/t//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/enable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/enable/hugepage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/enable/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/enable/split//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/enable/split/pmd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/acpi/table//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/add//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/cache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/cache/line//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/cc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/devmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/devmem/is//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/elf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/fast//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/filter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/force//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/force/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/fortify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/gcov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/gcov/profile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/gigantic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/kexec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/mem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/membarrier//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/membarrier/sync//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/non//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/non/overlapping//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/non/overlapping/address//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/pmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/pte//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/set//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/set/direct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/sg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/strict//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/strict/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/strict/module//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/sync//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/sync/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/sync/core/before//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/syscall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/uaccess//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/ubsan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/ubsan/sanitize//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/has/zone//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/have//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/have/nmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/have/nmi/safe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/hibernation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/may//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/may/have//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/may/have/pc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/might//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/might/have//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/might/have/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/might/have/pc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/mmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/mmap/rnd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/mmap/rnd/bits//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/mmap/rnd/compat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/mmap/rnd/compat/bits//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/nr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/proc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/proc/kcore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/select//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/select/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/sparsemem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/supports//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/supports/atomic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/supports/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/supports/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/supports/numa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/supports/optimized//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/suspend//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/use//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/use/builtin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/use/cmpxchg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/use/memremap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/use/queued//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/uses//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/uses/high//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/uses/high/vma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/uses/pg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/batched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/batched/unmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/batched/unmap/tlb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/compat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/compat/ipc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/compat/ipc/parse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/default/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/general//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/huge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/huge/pmd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/old//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/want/old/compat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/wants//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/wants/dynamic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/wants/dynamic/task//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arch/wants/thp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arm/gic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/arm/gic/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/associative//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/asus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/asus/nb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/asymmetric//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/asymmetric/key//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/asymmetric/public//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/asymmetric/public/key//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/async//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/async/raid6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/async/tx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ata//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ata/verbose//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ath//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ath10k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ath11k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ath9k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ath9k/btcoex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ath9k/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/atm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/atomic64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/audit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/autofs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/autofs4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/auxiliary//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/backlight//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/backlight/class//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/backlight/lcd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/balloon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/base//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcm/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcm7xxx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcm87xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcma/driver//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcma/driver/gmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcma/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bcma/host/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/be2net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bfq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bfq/group//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/big//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/binary//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/binfmt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bitfield//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bitfield/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bits//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bits/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/cgroup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/cgroup/fc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev/dm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev/integrity//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev/io//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev/loop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev/loop/min//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev/null//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/dev/ram//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/mq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/scsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/blk/wbt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/block//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bnx2x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bnxt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bnxt/flower//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/boot/printk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/hardlockup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/hardlockup/panic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/hotplug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/hung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/hung/task//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/hung/task/panic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/softlockup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bootparam/softlockup/panic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf/jit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf/jit/always//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf/jit/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf/kprobe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf/stream//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf/unpriv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bpf/unpriv/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/branch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/branch/profile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/brcmfmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/brcmfmac/proto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/brcmsmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge/ebt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge/ebt/802//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge/ebt/mark//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge/ebt/t//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge/igmp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge/nf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bridge/vlan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/broadcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bsd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bsd/process//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bsd/process/acct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt/bnep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt/bnep/mc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt/bnep/proto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt/hcibtusb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt/hciuart//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt/mrvl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bt/rfcomm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bug/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/bug/on/data//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/build//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/buildtime//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/buildtime/extable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/8dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/c/can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/calc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/cc770//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/ems//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/esd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/kvaser//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/peak//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/plx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/can/sja1000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/capi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cavium//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cb710//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cb710/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/kasan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/return//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/sancov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/sancov/trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/sane//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/stackprotector//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/working//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/has/working/nosanitize//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/is//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/optimize//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cc/optimize/for//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cdrom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cdrom/pktcdvd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cec/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ceph//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ceph/fs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ceph/fs/posix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ceph/fs/security//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ceph/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ceph/lib/use//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ceph/lib/use/dns//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211/crda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211/require//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211/require/signed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211/use//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211/use/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfg80211/use/kernel/regdb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cgroup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cgroup/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/charger//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/check//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/checkpoint//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/chelsio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/chelsio/inline//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/chelsio/ipsec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/chelsio/tls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/chr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/chr/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cicada//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cifs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cifs/allow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cifs/allow/insecure//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cifs/dfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cifs/smb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cifs/weak//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cifs/weak/pw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clang//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clkbld//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clkdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clkevt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clocksource//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clocksource/validate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clocksource/validate/last//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cls/u32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/clz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cmdline//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cmdline/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/compal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/compat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/compat/32bit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/compat/binfmt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/compat/for//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/compat/for/u64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/compat/old//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/configfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/console//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/console/loglevel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/context//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/context/switch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/contig//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/core/dump//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/core/dump/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/core/dump/default/elf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cortina//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/freq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/freq/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/freq/default/gov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/freq/gov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/freq/gov/attr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/ibpb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/ibrs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/idle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/idle/gov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/sup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cpu/unret//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cramfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crc/itu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crc32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cross//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cross/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/aes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/aes/ni//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/aes/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/ansi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/blowfish//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/blowfish/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/camellia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/camellia/aesni//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/camellia/aesni/avx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/camellia/aesni/avx/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/camellia/aesni/avx2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/camellia/aesni/avx2/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/camellia/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/cast//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/cast5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/cast5/avx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/cast5/avx/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/cast6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/cast6/avx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/cast6/avx/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/chacha20//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/chacha20/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/crc32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/crc32c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/crct10dif//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/des3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/des3/ede//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/des3/ede/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/dev/ccp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/dev/nitrox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/dev/padlock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/dev/qat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/dev/sp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/drbg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/fips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/ghash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/ghash/clmul//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/ghash/clmul/ni//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/glue//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/glue/helper//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/michael//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/poly1305//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/poly1305/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/rng//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/serpent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/serpent/avx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/serpent/avx/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/serpent/avx2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/serpent/avx2/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/serpent/sse2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/serpent/sse2/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/sha1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/sha256//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/sha512//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/twofish//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/twofish/avx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/twofish/avx/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/twofish/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/twofish/x86/64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/crypto/user/api//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/cypress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/damon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/davicom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dcache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dcache/word//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/de//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/debug/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/debug/info//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/debug/section//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/decompress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/fq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/hung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/hung/task//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/io//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/io/delay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/mmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/mmap/min//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/security//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/default/tcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/deferred//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/deferred/struct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/deferred/struct/page//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dell/smbios//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dell/wmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/detect//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/detect/hung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/device//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/devtmpfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dlci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dlm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dm/bio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dm/cache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dm/log//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dm/multipath//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dm/persistent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dm/thin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dma/coherent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dma/engine//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dma/shared//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dma/virtual//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dmar//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dmi/scan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dmi/scan/machine//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dmi/scan/machine/non//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dmi/scan/machine/non/efi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dns//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dp83640//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dp83822//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dp83848//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dp83867//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dp83tc811//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dptf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/amd/dc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/amdgpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/cirrus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/display//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/display/dp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/display/hdcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/display/hdmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/dp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/dp/aux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/export//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/export/for//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/fbdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/gem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/gem/shmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/capture//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/compress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/fence//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/force//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/gvt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/heartbeat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/max/request//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/preempt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/preempt/timeout//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/request//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/stop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/timeslice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/i915/userfault//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/kms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/kunit/test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/load//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/load/edid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/mipi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/nouveau//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/panel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/panel/orientation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/radeon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/ttm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/drm/vram//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dst//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dummy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dummy/console//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/au8522//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/av7110//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/b2c2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/b2c2/flexcop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/budget//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/dummy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/dynamic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/firedtv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/gp8psk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/ttusb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/tuner//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb/af9005//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb/cinergy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb/dibusb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb/nova//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb/nova/t//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb/technisat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dvb/usb/umt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dw/dmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dwmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dynamic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dynamic/ftrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dynamic/ftrace/with//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dynamic/ftrace/with/direct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dynamic/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/dynamic/physical//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/e1000e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/early//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/early/printk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/early/printk/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/edac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/edac/atomic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/edac/decode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/edac/legacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/eeepc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/eeprom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/dev/path//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/rci2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/runtime//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/soft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/vars//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/vars/pstore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efi/vars/pstore/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/efivar//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/elf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ena//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/enable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/enable/must//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/enclosure//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/encrypted//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/energy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ethtool//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/event//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/evm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/evm/attr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/exclusive//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/exclusive/system//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/exportfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/exportfs/block//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ext4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ext4/fs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ext4/fs/posix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ext4/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ext4/use//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ext4/use/for//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/extra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/f71808e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fair//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fair/group//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fanotify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fanotify/access//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fat/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fat/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fb/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fb/boot/vesa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fb/cfb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fb/deferred//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fb/sys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fcoe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/file//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fips/signature//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/firewire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/firmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fix/earlycon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fixed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/font//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fortify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/frame//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/framebuffer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/framebuffer/console//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/framebuffer/console/deferred//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/framebuffer/console/detect//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fs/posix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fscache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ftrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ftrace/mcount//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fujitsu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/function//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/function/error//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/function/graph//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fuse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fusion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fusion/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/futex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fw/attr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fw/cfg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fw/cs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fw/loader//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/fw/loader/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gact//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gcc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/bug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/bug/relative//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/calibrate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/clockevents//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/clockevents/min//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/cmos//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/early//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/find//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/find/first//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/irq/effective//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/irq/effective/aff//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/irq/matrix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/irq/reservation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/isa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/msi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/msi/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/pending//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/smp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/smp/idle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/strncpy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/strncpy/from//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/strnlen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/time//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/generic/vdso/time//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gfs2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gfs2/fs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gfs2/fs/locking//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gigaset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gpiolib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gpiolib/fastpath//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/grace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/gro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/haltpoll//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hangcheck//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hardened//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hardened/usercopy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hardirqs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hardirqs/sw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hardlockup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hardlockup/check//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hardlockup/detector//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/has//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/has/ioport//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hash/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/acpi/apei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/aligned//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/aligned/struct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/compat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/compat/mmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/huge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/kasan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/mmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/mmap/rnd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/mmap/rnd/compat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/node//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/node/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/seccomp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/soft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/thread//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/thread/struct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/transparent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/transparent/hugepage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/userfaultfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/vmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/within//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/arch/within/stack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/bootmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/bootmem/info//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/clk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/cmpxchg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/context//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/copy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/copy/thread//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/dynamic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/dynamic/ftrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/dynamic/ftrace/with//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/dynamic/ftrace/with/direct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/ebpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/efficient//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/efficient/unaligned//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/exit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/fast//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/ftrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/ftrace/mcount//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/function//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/function/error//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/function/graph//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/gcc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/hardened//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/hardened/usercopy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/hardlockup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/hardlockup/detector//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/hw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/ioremap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/irq/exit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/irq/exit/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/irq/exit/on/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/irq/time//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kprobes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kprobes/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kvm/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kvm/cpu/relax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kvm/dirty//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kvm/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kvm/no//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/kvm/pm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/mixed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/mixed/breakpoints//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/mmiotrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/mod//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/mod/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/move//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/pcspkr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/perf/events//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/perf/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/perf/user/stack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/posix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/posix/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/posix/cpu/timers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/posix/cpu/timers/task//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/preempt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/regs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/regs/and//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/regs/and/stack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/regs/and/stack/access//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/reliable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/sched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/sched/avg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/setup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/setup/per//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/setup/per/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/stack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/syscall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/unstable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/unstable/sched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/user/return//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/virt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/virt/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/have/virt/cpu/accounting//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hdlc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hdmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hdmi/lpe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/headers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hibernate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/battery//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/betop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/logitech//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor/accel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor/custom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor/device//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor/gyro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor/inclinometer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hid/sensor/magnetometer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/high//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/high/res//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/16//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/avm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/avm/a1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/bkm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/enternow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/fritz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/hfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/netjet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/no//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hisax/sct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hist//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hmm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hotplug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hotplug/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hotplug/pci/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hpet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hpet/emulate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hpwdt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hpwdt/nmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hsa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hsa/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hsu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hugetlb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hvc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hw/random//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hwlat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hwmon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hwpoison//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hypervisor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hysdn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/hz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/amd756//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/designware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/diolan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/helper//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/mux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/nforce2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/parport//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/pca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i2c/tiny//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i40e//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i6300esb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/i8253//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ia32//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ia32/feat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ib700//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/icplus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ideapad//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/idle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/idle/page//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ie6xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ieee802154//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/igb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iio/consumers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iio/consumers/per//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iio/kfifo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iio/triggered//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/illegal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/illegal/pointer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/appraise//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/default/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/lsm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/measure//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/measure/pcr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/read//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/secure//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/secure/and//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/secure/and/or//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/secure/and/or/trusted//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/sig//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/trusted//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ima/write//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/diag//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/esp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/mptcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/raw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/sctp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/tcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/udp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet/xfrm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet6/esp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inet6/xfrm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/addr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/addr/trans//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/bnxt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/ipoib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/on/demand//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/opa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/virt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/infiniband/vmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/init//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/init/env//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/init/env/arg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/initramfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/inotify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/ati//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/atlas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/ff//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/gpio/rotary//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/keyspan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/mousedev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/input/mousedev/screen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/instruction//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/int340x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/integrity//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/integrity/asymmetric//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/integrity/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/integrity/trusted//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/hfi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/hid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/idxd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/iommu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/iommu/floppy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/iommu/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/ish//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/ishtp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/mei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/pch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/pmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/pmt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/rapl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/soc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/soc/dts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/soc/dts/iosf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/speed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/speed/select//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/tdx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/th//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/turbo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/turbo/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/uncore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/uncore/freq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/wmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/intel/xway//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/interval//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/io//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/io/delay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/io/delay/type//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iommu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iommu/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iommu/io//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iosched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iosf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/advanced//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/fib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/fib/trie//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/mroute//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/mroute/multiple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/multiple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/nf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/nf/arp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/nf/match//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/nf/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/pimsm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/route//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/set//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/set/bitmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/set/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/set/list//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/mh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/mh/tab//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/pe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/proto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/proto/ah//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/sh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/sh/tab//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip/vs/tab//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip6/nf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip6/nf/match//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ip6/nf/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipmi/device//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipmi/dmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipmi/panic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipmi/plat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ippp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/mroute//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/mroute/multiple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/multiple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/ndisc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/optimistic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/pimsm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/route//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/router//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ipv6/sit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/imon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/ite//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/jvc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/mce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/mce/kbd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/nec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/rc5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/rc6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/sanyo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/serial//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/sony//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ir/winbond//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/irq/bypass//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/irq/domain//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/irq/forced//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/irq/msi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isa/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iscsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iscsi/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iscsi/ibft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iscsi/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isdn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isdn/capi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isdn/capi/capidrv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isdn/drv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isdn/drv/avmb1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isdn/ppp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/isdn/tty//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iso9660//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/it87//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/it8712f//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/itco//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/itco/vendor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iwlwifi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/iwlwifi/opmode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ixgbe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ixgbevf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kallsyms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kallsyms/absolute//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kallsyms/base//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/karma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kexec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kexec/bzimage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kexec/bzimage/verify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/keyboard//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/keys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kprobe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kprobes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kprobes/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kunit/all//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kunit/example//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm/async//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm/external//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm/external/write//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm/generic/dirtylog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/kvm/generic/dirtylog/read//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/l2tp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lcd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lcd/class//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/led//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/led/trigger//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds/brightness//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds/brightness/hw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds/clevo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds/lp55xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds/trigger//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/leds/trigger/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/legacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/legacy/vsyscall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/linear//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/linear/ranges//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/linear/ranges/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/liquidio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/list//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/list/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/load//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/load/uefi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/debugging//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/down//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/down/in//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/down/in/efi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/down/in/efi/secure//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/spin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/spin/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lock/torture//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lockd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lockdep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lockup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/log//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/log/buf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/log/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/log/cpu/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/log/cpu/max/buf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/logitech//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/logo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/logo/linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/loopback//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lsi/et1011c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lsm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lsm/mmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lsm/mmap/min//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lwtunnel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lxt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lz4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/lzo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac80211//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac80211/has//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac80211/rc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac80211/rc/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac80211/sta//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac80211/sta/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mac80211/sta/hash/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/machz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/macintosh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/magic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/magic/sysrq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/magic/sysrq/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mantis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mapping//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mapping/dirty//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/marvell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/marvell/10g//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/max/raw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/maxlinear//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/md//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mdio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mdio/bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mdio/mscc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/altera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/analog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/analog/tv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/camera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/cec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/digital//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/digital/tv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/radio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/subdrv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/tuner//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/media/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/megaraid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mellanox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mem/soft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memcg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memcpy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memcpy/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memstick//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memstick/jmicron//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memstick/realtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/memstick/tifm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/message//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/message/loglevel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mfd/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mfd/intel/lpss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mfd/sm501//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mhi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mhi/bus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mhi/bus/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/micrel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/microchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/microchip/t1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/microcode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/microsemi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/minix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/misc/rtsx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/misdn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx4/en//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/cls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/core/en//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/en//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/sf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/sw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/tc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlx5/vdpa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlxreg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlxsw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlxsw/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mlxsw/spectrum//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmc/block//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmc/realtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmc/ricoh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmc/sdhci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmc/tifm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmc/via//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmconf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmu/gather//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmu/gather/merge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmu/gather/rcu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmu/gather/rcu/table//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mmu/gather/table//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/modify//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/modify/ldt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/module//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/module/force//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/module/sig//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/module/srcversion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/modules//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/modules/tree//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/modules/use//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/modules/use/elf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mouse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mouse/elan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mouse/elan/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mouse/ps2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mouse/ps2/elantech//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mouse/ps2/synaptics//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mouse/synaptics//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mpls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mptcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mptcp/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mq/iosched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/msdos//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/msi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mspro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mt76//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mt76/connac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mt76x0//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mt76x02//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mt76x2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mt7921//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd/cfi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd/map//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd/map/bank//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd/map/bank/width//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd/ubi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd/ubi/beb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtd/ubi/wl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtrr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtrr/sanitizer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtrr/sanitizer/enable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtrr/sanitizer/spare//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtrr/sanitizer/spare/reg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mtrr/sanitizer/spare/reg/nr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mutex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mutex/spin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mutex/spin/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mwifiex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/mxm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/myri10ge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/n//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/national//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/dma/map//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/multiple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/per//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/per/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/per/cpu/embed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/per/cpu/embed/first//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/per/cpu/page//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/per/cpu/page/first//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/sg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/need/sg/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/act//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/act/tunnel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/cls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/drop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/ematch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/flow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/ip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/ipgre//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/key//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/l3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/l3/master//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/mpls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/packet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/poll//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/ptp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/sch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/sch/fq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/sch/mqprio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/sock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/tc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/tc/skb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/team//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/team/mode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/udp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/net/vendor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netconsole//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netdev/addr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netdev/addr/list//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netfilter/family//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netfilter/netlink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netfilter/netlink/glue//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netfilter/xt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netfilter/xt/match//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netfilter/xt/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netlink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/network//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/network/phy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/netxen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/new//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/conntrack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/conntrack/netbios//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/ct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/ct/netlink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/ct/proto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/defrag//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/dup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/flow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/flow/table//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/log//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/nat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/nat/snmp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/reject//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/socket//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/tables//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nf/tproxy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfp/app//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfp/app/abm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/acl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/use//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/use/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/v3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/v4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/v4/1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/v4/1/implementation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/v4/1/implementation/id//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfs/v4/security//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfsd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfsd/v2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfsd/v3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfsd/v4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nfsd/v4/security//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nft/bridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nft/dup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nft/fib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nft/flow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nft/fwd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nft/reject//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nitro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nls/codepage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nls/iso8859//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nls/koi8//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nls/mac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/no//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/no/hz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nodes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nouveau//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nouveau/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nr/cpus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nr/cpus/range//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ntb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/numa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/numa/keep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nvdimm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nvme//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nvme/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nvme/verbose//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/nvsw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/oid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/old//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/openvswitch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/oprofile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/oprofile/nmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/optimize//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/osf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/osnoise//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/output//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/overlay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/packet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/page//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/page/table//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/panasonic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/panic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/panic/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/panic/on/oops//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/paravirt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/paravirt/time//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/parport//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/parport/not//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/partition//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pci/lockless//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pci/msi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pci/msi/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pci/pf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pcie//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pcie/bus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pcieaer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pcieaspm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pcs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pcspkr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/perf/events//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/perf/events/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/perf/events/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/persistent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pgtable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/phys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/phys/addr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/phys/addr/t//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/physical//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pinctrl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pkcs7//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pkcs7/message//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/plugin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pm/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pm/generic/domains//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pm/sleep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pm/std//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pmic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pnfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pnfs/file//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pnfs/flexfile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/posix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/posix/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/posix/cpu/timers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/posix/cpu/timers/task//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/posix/mqueue//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ppp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ppp/sync//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pps/client//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/preempt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/prevent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/prevent/firmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/prime//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/print//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/print/quota//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/printk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/printk/safe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/printk/safe/log//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/printk/safe/log/buf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/probe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc/page//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc/pid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc/thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc/thermal/mmio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc/vmcore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/proc/vmcore/device//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/provide//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/provide/ohci1394//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/provide/ohci1394/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/psi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/psi/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pstore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pstore/compress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pstore/deflate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pstore/deflate/compress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ptp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ptp/1588//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ptp/1588/clock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pwm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/pwm/lpss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/qcom/qmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/qed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/qfmt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/qrtr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/qsemi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/queued//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/quota//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/quota/netlink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/quotactl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/radio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/raid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/raid6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/raid6/pq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/random//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/random/trust//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/randomize//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/randomize/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/randomize/memory/physical//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rational//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rational/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/raw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rc/ati//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rcu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rcu/boost//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rcu/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rcu/cpu/stall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rcu/need//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rcu/nocb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rcu/stall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/realtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/reed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/reed/solomon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/regmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/regmap/soundwire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/renesas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/reset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/resource//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/resource/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rfkill//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rhel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ring//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ring/buffer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rmi4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rmi4/2d//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rmi4/f03//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rpcsec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rpcsec/gss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rt2800//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rt2800/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rt2800pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rt2800usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rt2x00//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rt2x00/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/drv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/drv/ds3232//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/drv/m41t80//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/hctosys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/i2c/and//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/intf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/lib/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/mc146818//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtc/systohc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtl8192c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtl8723//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtlwifi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtw88//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rtw89//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/runtime//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/runtime/testing//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rwsem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rwsem/spin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/rwsem/spin/on//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sample//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sample/vfio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sample/vfio/mdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sata//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sata/ahci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sata/mobile//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sata/mobile/lpm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sbc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sbc/fitpc2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scf/torture//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sched/mc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sched/omit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sched/omit/frame//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/bnx2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/bnx2x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/chelsio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/cxgb4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/dh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/dh/hp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/fc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/iscsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/mpt2sas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/mpt2sas/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/mpt3sas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/mpt3sas/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/proc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/qla//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/sas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/sas/host//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/scan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/scsi/srp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sctp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sctp/cookie//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sctp/cookie/hmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sctp/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sctp/default/cookie//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sctp/default/cookie/hmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sdio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/seccomp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/section//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/section/mismatch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/section/mismatch/warn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/network//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/selinux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/selinux/avc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/selinux/checkreqprot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/selinux/sid2str//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/selinux/sid2str/cache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/selinux/sidtab//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/selinux/sidtab/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/security/writable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/select//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/select/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/dell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/fam15h//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/i5k//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/lis3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/mlxreg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/ntc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/sch56xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sensors/via//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/8250//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/8250/many//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/8250/nr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/8250/runtime//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/8250/share//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/arc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/arc/nr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serial/multi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serio/altera//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/serio/arc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sfc/mcdi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sfc/siena//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sfc/siena/mcdi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sgetmask//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sgi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sgl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/shuffle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/shuffle/page//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/signed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/signed/pe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/signed/pe/file//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/skb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/slab//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/slab/freelist//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/slip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/slub//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/slub/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sms/sdio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sms/siano//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sms/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/smsc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/smsc/sch311x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/ac97//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/ac97/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/ac97/power/save//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/amd/acp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/atiixp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/compress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/cs46xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/cs46xx/new//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/ctl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/ctl/fast//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/dynamic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/emu10k1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/es1968//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/firewire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/codec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/codec/ca0132//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/cs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/cs/dsp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/dsp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/ext//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/input/beep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/patch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/power/save//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/prealloc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/scodec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/hda/scodec/cs35l41//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/intel/dsp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/intel/soundwire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/jack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/jack/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/maestro3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/mpu401//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/opl3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/opl3/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/oxygen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/pcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/proc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/seq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/seq/hrtimer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/seq/midi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/sequencer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/acpi/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/amd/renoir//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/amd/vangogh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/amd/yc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/cs35l41//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/hdac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/i2c/and//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bdw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bdw/rt5650//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bdw/rt5677//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/broadwell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bxt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bxt/da7219//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bxt/da7219/max98357a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bxt/rt298//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/byt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/byt/cht//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/byt/cht/cx2072x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/byt/cht/da7213//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/byt/cht/es8316//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/byt/cht/nocodec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bytcr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bytcr/rt5640//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/bytcr/rt5651//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cht//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cht/bsw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cht/bsw/max98090//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cht/bsw/max98090/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cht/bsw/nau8824//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cht/bsw/rt5645//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cht/bsw/rt5672//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cml//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cml/lp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cml/lp/da7219//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/cml/lp/da7219/max98357a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/da7219//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/da7219/max98357a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/ehl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/ehl/rt5660//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/glk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/glk/da7219//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/glk/da7219/max98357a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/glk/rt5682//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/glk/rt5682/max98357a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/haswell//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/hda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/hda/dsp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/da7219//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/da7219/max98357a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/da7219/max98927//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/rt5660//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/rt5663//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/rt5663/max98927//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/rt5663/rt5514//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/kbl/rt5663/rt5514/max98927//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl/hda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl/hda/dsp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl/hda/dsp/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl/nau88l25//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl/nau88l25/max98357a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl/nau88l25/ssm4567//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skl/rt286//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skylake//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/skylake/ssp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/cirrus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/cml//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/cml/rt1011//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/cml/rt1011/rt5682//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/da7219//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/da7219/max98373//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/es8336//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/maxim//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/nau8825//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/pcm512x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/realtek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/rt5682//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/ssp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/ssp/amp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sof/wm8804//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/soundwire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/soundwire/sof//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/sst//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/user/friendly//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/intel/user/friendly/long//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/max98373//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/pcm512x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt1308//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt1316//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt1318//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt5514//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt5677//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt5682//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt700//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt711//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt711/sdca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt712//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt712/sdca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt715//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/rt715/sdca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sdw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/hda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/hda/audio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/hda/link//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/intel/atom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/intel/atom/hifi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/intel/hifi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/intel/hifi/ep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/intel/soundwire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/intel/soundwire/link//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/probe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/sof/probe/work//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/topology//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/topology/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/utils//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/utils/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/wm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/soc/wm8804//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/sst//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/sst/atom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/sst/atom/hifi2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/sst/atom/hifi2/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/synth//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/usb/caiaq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/verbose//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/via82xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/snd/vx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sock/cgroup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sock/validate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/soft//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/softlockup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/solaris//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/solaris/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sony//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sonypi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sound//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sound/oss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sound/oss/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/soundwire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/soundwire/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sp5100//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sparse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sparsemem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sparsemem/vmemmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/speculation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/spi/pxa2xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/split//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/split/ptlock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/squashfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/squashfs/decomp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/squashfs/decomp/multi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/squashfs/file//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/squashfs/fragment//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/squashfs/fragment/cache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ssb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stackprotector//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stacktrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stm/proto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stm/proto/sys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stm/source//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stmmac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/stream//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/strict//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/strict/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/strict/module//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/strip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/strip/asm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sun//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sunrpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sunrpc/xprt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/suspend//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/symbolic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/syn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sync//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/synclink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sysctl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sysctl/exception//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sysctl/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sysfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/system//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/system/blacklist//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/system/blacklist/hash//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/system/data//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/system/trusted//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/sysvipc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tablet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tablet/serial//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tablet/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/task//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/task/delay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/task/io//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tasks//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tasks/rcu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tasks/rude//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tasks/trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tcg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tcg/tis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tcg/tis/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tcg/tis/st33zp24//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tcp/cong//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tdx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tdx/guest//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/teranetics//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/test/list//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/textsearch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/default/gov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/default/gov/step//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/emergency//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/emergency/poweroff//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/emergency/poweroff/delay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/gov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/gov/bang//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/gov/fair//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/gov/step//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/gov/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thermal/writable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thinkpad//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thinkpad/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thinkpad/acpi/alsa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thinkpad/acpi/hotkey//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thread//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thread/info//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/thread/info/in//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tick//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tifm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tigon3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/time//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/time/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/timerlat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tipc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tipc/media//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tmpfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tmpfs/posix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/topstar//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/torture//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/toshiba//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/toshiba/bt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/touchscreen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/touchscreen/wacom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/trace/irqflags//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/trace/irqflags/nmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tracer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tracer/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tracing//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/tree//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/trusted//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ttpci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/typec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/typec/dp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/typec/mux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ucs2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/ucsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/udf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uefi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uefi/cper//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uio/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uio/pdrv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/unix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/unix98//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/unixware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/unwinder//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uprobe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ali//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/announce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/announce/new//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/arch/has//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/autosuspend//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/conn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/default//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ehci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ehci/root//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ehci/root/hub//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ehci/tt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ezusb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/few//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/few/init//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ftdi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/gspca//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/gspca/ov534//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/gspca/xirlink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/hsic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/hwa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/led//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/leds//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/leds/trigger//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/ax88179//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/cdc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/cdc/subset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/cx82310//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/huawei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/huawei/cdc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/qmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/net/rndis//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ohci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ohci/hcd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/ohci/little//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/pulse8//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/pwc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/pwc/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/rainshadow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/role//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/roles//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/roles/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/cypress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/digi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/edgeport//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/ftdi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/keyspan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/kobil//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/mct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/mos7715//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/safe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/serial/xsens//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/sierra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/storage//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/storage/cypress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/storage/ene//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/uhci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/video//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/video/class//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/video/class/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/wusb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb/xhci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/usb4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/use//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/use/percpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/use/percpu/numa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/use/percpu/numa/node//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/user/return//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/user/stacktrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uvc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/uwb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vdpa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vdpa/sim//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vfat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vfio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vfio/iommu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vfio/mdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vfio/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vga/arb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vga/arb/max//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vhost//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/via//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/au0828//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/cx18//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/cx231xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/cx88//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/em28xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/fb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/ir//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/pvrusb2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/saa7134//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/saa7146//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/video/tm6000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/videobuf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/videobuf/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/videobuf2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/videobuf2/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/virt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/virt/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/virt/cpu/accounting//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/virt/to//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/virtio/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/virtio/vsockets//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vitesse//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vlan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vlan/8021q//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vm/event//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vmap//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vmware/vmci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vsockets//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vt/console//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vt/hw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/vt/hw/console//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/w83627hf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/w83877f//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/w83977f//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/want//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/want/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/watchdog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/watchdog/handle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/watchdog/handle/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/watchdog/open//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/wdat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/wlan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/wlan/vendor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/wmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x509//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x509/certificate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/64/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/acpi/cpufreq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/amd/freq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/amd/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/check//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/check/bios//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/decoder//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/direct//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/extended//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/feature//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/hv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/hv/callback//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/intel/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/intel/memory/protection//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/intel/tsx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/intel/tsx/mode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/internode//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/internode/cache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/io//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/l1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/l1/cache//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/local//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/mce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/mcelog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/mem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/minimum//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/minimum/cpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/need//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/p4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/pkg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/pkg/temp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/platform/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/pm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/pmem//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/pmem/legacy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/powernow//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/reroute//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/reroute/for//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/reroute/for/broken//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/reroute/for/broken/boot//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/sgx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/speedstep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/supports//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/supports/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/vmx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/vmx/feature//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/x86/vsyscall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xarray//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xdp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xdp/sockets//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xfrm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xfrm/sub//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xfs/posix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xilinx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/xz/dec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/yenta//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/yenta/ene//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/zlib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/zone//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/zram//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/config/zsmalloc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/crypto/internal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/drm-backport//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/drm-backport/linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/drm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/drm/bridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/drm/display//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/drm/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/drm/ttm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/bus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/clk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/clock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/display//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/iio/adc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/interrupt-controller//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/leds//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/mailbox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/media//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/mfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/mips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/mux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/phy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/pinctrl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/pwm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/regulator//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/reset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/soc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/sound//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/spmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/dt-bindings/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/generated//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/generated/uapi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/generated/uapi/linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/keys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/amba//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/avf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/bcma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/byteorder//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/can/dev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/can/platform//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/ceph//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/clk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/crush//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/decompress//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/dsa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/extcon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/firmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/firmware/cirrus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/firmware/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/firmware/meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/fpga//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/fsl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/fsl/bestcomm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/hsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/accel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/adc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/dac//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/frequency//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/gyro//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/imu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/magnetometer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/iio/timer//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/input//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/irqchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/isdn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/lockd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mailbox//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/abx500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/arizona//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/da9052//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/da9055//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/da9062//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/da9063//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/da9150//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/mt6323//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/mt6397//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/pcf50633//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/syscon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/wm831x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/wm8350//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mfd/wm8994//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mlx4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mlx5//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mtd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/mux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/net/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/netfilter/ipset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/netfilter_arp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/netfilter_bridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/netfilter_ipv4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/netfilter_ipv6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/pcs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/phy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/phy/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/pinctrl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/platform_data//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/platform_data/media//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/platform_data/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/qed//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/raid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/regulator//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/remoteproc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/reset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/rpmsg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/rtc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/sched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/actions//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/brcmstb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/dove//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/renesas//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/sunxi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soc/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/soundwire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/ssb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/sunrpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/ulpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/unaligned//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/uwb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/linux/wimax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/math-emu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/media//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/media/davinci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/media/drv-intf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/media/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/media/tpg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/memory//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/9p//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/bluetooth//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/caif//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/iucv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/mana//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/netfilter/ipv4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/netfilter/ipv6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/netns//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/nfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/phonet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/sctp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/net/tc_act//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/pcmcia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/ras//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/rdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/scsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/scsi/fc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/arc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/at91//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/bcm2835//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/brcmstb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/fsl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/fsl/qe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/nps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/sa1100//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/soc/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/sound//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/sound/ac97//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/sound/sof//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/sound/sof/ipc4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/target//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/target/iscsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/trace/events//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/asm-generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/drm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/android//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/byteorder//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/caif//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/cifs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/dvb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/genwqe//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/hdlc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/hsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/isdn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/mmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/netfilter/ipset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/netfilter_arp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/netfilter_bridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/netfilter_ipv4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/netfilter_ipv6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/nfsd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/raid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/sched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/sunrpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/tc_act//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/tc_ematch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/linux/wimax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/mtd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/rdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/rdma/hfi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/scsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/scsi/fc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/sound//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/sound/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/sound/intel/avs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/sound/sof//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/video//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/uapi/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/video//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/xen/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/xen/interface//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/xen/interface/hvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/include/xen/interface/io//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/init//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/ipc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/bpf/preload//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/bpf/preload/iterators//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/cgroup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/debug/kdb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/dma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/events//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/gcov//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/irq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/kcsan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/livepatch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/locking//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/printk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/rcu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/sched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/time//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/kernel/trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/842//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/crypto//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/dim//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/fonts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/kunit//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/livepatch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/lz4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/lzo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/math//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/mpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/pldmfw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/raid6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/raid6/test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/reed_solomon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/vdso//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/xz//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/zlib_deflate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/zlib_dfltcc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/zlib_inflate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/lib/zstd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/mm/damon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/mm/kasan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/6lowpan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/802//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/8021q//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/9p//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/appletalk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/atm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ax25//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/batman-adv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bluetooth//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bluetooth/bnep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bluetooth/cmtp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bluetooth/hidp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bluetooth/rfcomm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bpfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bridge//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/bridge/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/caif//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/can//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ceph//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/dcb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/dccp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/dccp/ccids//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/decnet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/decnet/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/dns_resolver//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/dsa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ethernet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ethtool//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/hsr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ieee802154//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ieee802154/6lowpan//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ife//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ipv4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ipv4/bpfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ipv4/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ipv6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ipv6/ila//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ipv6/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/iucv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/kcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/key//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/l2tp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/l3mdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/lapb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/llc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/mac80211//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/mac802154//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/mpls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/mptcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/ncsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/netfilter/ipset//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/netfilter/ipvs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/netlabel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/netlink//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/netrom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/nfc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/nfc/hci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/nfc/nci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/nsh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/openvswitch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/packet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/phonet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/psample//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/qrtr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/rds//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/rfkill//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/rose//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/rxrpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/sched//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/sctp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/smc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/strparser//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/sunrpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/sunrpc/auth_gss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/sunrpc/xprtrdma//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/switchdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/tipc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/tls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/unix//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/vmw_vsock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/wimax//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/wireless//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/x25//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/xdp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/net/xfrm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/auxdisplay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/configfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/connector//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/hidraw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/hw_breakpoint//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/kdb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/kfifo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/kobject//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/kprobes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/livepatch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/mei//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/mic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/mic/mpssd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/nitro_enclaves//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/qmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/rpmsg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/seccomp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/timers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/trace_events//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/trace_printk//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/uhid//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/v4l//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/vfio-mdev//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/vfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/samples/watchdog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/basic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/clang-tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/api//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/api/alloc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/api/debugfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/free//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/iterators//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/locks//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/null//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/coccinelle/tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/dtc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/dtc/include-prefixes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/dtc/libfdt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/gcc-plugins//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/gdb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/gdb/linux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/genksyms//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/lxdialog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/auto_submenu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/choice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/choice_value_with_m_dep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/err_recursive_dep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/err_recursive_inc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/inter_choice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/new_choice_with_dep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/no_write_if_dep_unmet//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/preprocess//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/preprocess/builtin_func//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/preprocess/circular_expansion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/preprocess/escape//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/preprocess/variable//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/kconfig/tests/rand_nested_choice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/ksymoops//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/mod//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/package//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/selinux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/selinux/genheaders//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/scripts/selinux/mdp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/apparmor//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/integrity//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/integrity/evm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/integrity/ima//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/keys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/keys/encrypted-keys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/keys/trusted-keys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/loadpin//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/selinux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/selinux/include//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/smack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/tomoyo//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/security/yama//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/ac97//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/aoa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/aoa/codecs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/aoa/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/aoa/fabrics//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/aoa/soundbus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/aoa/soundbus/i2sbus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/atmel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/core/oss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/core/seq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/core/seq/oss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/drivers/mpu401//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/drivers/opl3//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/drivers/opl4//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/drivers/pcsp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/drivers/vx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/bebob//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/dice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/digi00x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/fireface//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/fireworks//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/motu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/oxfw//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/firewire/tascam//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/hda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/hda/ext//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/i2c//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/i2c/other//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/ad1816a//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/ad1848//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/cs423x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/es1688//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/galaxy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/gus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/msnd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/opti9xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/sb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/wavefront//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/isa/wss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/mips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/oss//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/oss/dmasound//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/parisc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/ac97//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/ali5451//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/asihpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/au88x0//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/aw2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/ca0106//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/cs46xx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/cs5535audio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/ctxfi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/echoaudio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/emu10k1//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/hda//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/ice1712//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/korg1212//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/lola//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/lx6464es//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/mixart//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/nm256//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/oxygen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/pcxhr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/riptide//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/rme9652//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/trident//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/vx222//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pci/ymfpci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pcmcia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pcmcia/pdaudiocf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/pcmcia/vx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/ppc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/sh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/adi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd/acp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd/ps//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd/raven//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd/renoir//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd/rpl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd/vangogh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/amd/yc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/atmel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/au1x//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/bcm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/cirrus//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/codecs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/dwc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/fsl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/generic//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/hisilicon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/img//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/atom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/atom/sst//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/avs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/avs/boards//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/boards//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/catpt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/keembay//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/intel/skylake//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/jz4740//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/kirkwood//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/mediatek/common//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/mediatek/mt2701//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/mediatek/mt6797//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/mediatek/mt8173//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/mediatek/mt8183//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/meson//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/mxs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/pxa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/qcom//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/qcom/qdsp6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/rockchip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/samsung//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sh/rcar//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof/amd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof/imx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof/intel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof/mediatek//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof/mediatek/mt8186//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof/mediatek/mt8195//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sof/xtensa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/spear//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sprd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/stm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/sunxi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/tegra//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/ti//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/txx9//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/uniphier//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/ux500//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/xilinx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/soc/xtensa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/sparc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/synth//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/synth/emux//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb/6fire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb/bcd2000//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb/caiaq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb/hiface//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb/line6//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb/misc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/usb/usx2y//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/sound/xen//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/accounting//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/arch/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/arch/x86/intel_sdsi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/bpf/bpftool//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/bpf/bpftool/Documentation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/bpf/resolve_btfids//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/bpf/runqslower//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/build//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/build/feature//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/build/tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/build/tests/ex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/cgroup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/firewire//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/hv//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/iio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/include//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/include/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/io_uring//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/kvm/kvm_stat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/laptop//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/laptop/dslm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/laptop/freefall//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/leds//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/api//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/lockdep//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/perf/Documentation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/subcmd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/traceevent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/traceevent/Documentation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/lib/traceevent/plugins//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/objtool//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/pci//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/pcmcia//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/Documentation//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/arm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/arm64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/csky//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/mips//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/powerpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/s390//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/sh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/sparc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/arch/xtensa//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/scripts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/scripts/perl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/perf/scripts/perl/Perf-Trace-Util//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/acpi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/acpi/tools//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/acpi/tools/acpidbg//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/acpi/tools/acpidump//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/acpi/tools/ec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/cpupower//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/cpupower/bench//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/cpupower/debug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/cpupower/debug/i386//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/cpupower/debug/kernel//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/cpupower/debug/x86_64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/pm-graph//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/x86/intel-speed-select//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/x86/turbostat//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/power/x86/x86_energy_perf_policy//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/scripts//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/spi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/nvdimm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/radix-tree//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/scatterlist//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/android//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/android/ion//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/bpf//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/bpf/bpf_testmod//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/breakpoints//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/capabilities//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/cgroup//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/core//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/cpu-hotplug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/cpufreq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/damon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/drivers/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/drivers/net/bonding//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/drivers/net/team//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/efivarfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/exec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/filesystems//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/firmware//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/fpu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/ftrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/futex//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/futex/functional//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/gpio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/ia64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/intel_pstate//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/ipc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/kcmp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/kexec//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/kmod//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/lib//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/livepatch//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/locking//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/media_tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/membarrier//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/memfd//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/memory-hotplug//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/mount//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/mqueue//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/net//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/net/forwarding//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/net/mptcp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/netfilter//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/nsfs//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/alignment//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/benchmarks//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/cache_shape//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/copyloops//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/dscr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/eeh//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/math//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/mce//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/mm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/papr_attributes//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/pmu//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/pmu/ebb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/pmu/sampling_tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/primitives//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/ptrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/signal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/stringloops//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/switch_endian//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/syscalls//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/tm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/powerpc/vphn//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/prctl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/proc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/pstore//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/ptp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/ptrace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/rcutorture//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/rcutorture/formal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/rcutorture/formal/srcu-cbmc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/rseq//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/rtc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/seccomp//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/sgx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/sigaltstack//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/size//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/sparc64//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/sparc64/drivers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/splice//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/static_keys//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/sync//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/sysctl//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/tc-testing//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/tdx//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/timens//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/timers//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/tpm2//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/uevent//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/user//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/vDSO//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/vm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/watchdog//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/x86//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/selftests/zram//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/testing/vsock//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/thermal//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/thermal/tmon//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/ffs-aio-example//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/ffs-aio-example/multibuff//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/ffs-aio-example/multibuff/host_app//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/ffs-aio-example/simple//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/ffs-aio-example/simple/host_app//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/usbip//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/usbip/libsrc//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/usb/usbip/src//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/virtio//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/virtio/ringtest//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/virtio/vhost_test//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/virtio/virtio-trace//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/vm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/tools/wmi//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/usr//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/virt//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/virt/kvm//usr/src/kernels/4.18.0-517.rt7.306.el8.x86_64/virt/lib/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz3Tx86_64-redhat-linux-gnu                                                                                                                  !"#$ %&'()directoryLinux make config build file, ASCII textASCII textmakefile script, ASCII textemptyOS/2 REXX batch file, ASCII textAlgol 68 source, ASCII textC source, ASCII textPOSIX shell script, ASCII text executableC source, UTF-8 Unicode textassembler source, ASCII textUTF-8 Unicode textOS/2 REXX batch file, UTF-8 Unicode textISO-8859 textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=6730f6a40cdf27720db1a408ddd31cd3a44af9bf, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=eae34eb488bd7eeeada54d9da9c7ec170d1af7a5, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=fe8d056b369c7ce5644fddbe0ea2c32ae8c49b99, strippedPython script, ASCII text executablePerl script text executableBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=74d382232d9cd2eda6a0d2f1edcfbfc1d5b2a5be, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=660f097b195dbc1c26cf5a2706f03826d80ea4be, strippedC++ source, ASCII textexported SGML document, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=67e6ce6d300a654eeade64bf73e58fffd0b54194, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=77c6c676181628a3fe964a3dc0057b819fc717ae, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=31cf428614aa784939a9e612f542de1e16235589, strippedXML 1.0 document, ASCII textawk script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=881df95f694cfab065ab5ce2e82ae4a2b1dfff4f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=069c78ab8d92b266d8b5c3dbf3e68cb18f471227, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=784729b2485de982df4306ed3eb04fa53bdf7e33, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=0fc8c2bde9efc0e73f08a587fcc11935c4726d47, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=8e45cb4b2849a51a144d32622173ee829084668e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=ce9f81bf235c91055fb9d19245b33c3f8955c3e1, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=61b7e28b3ed1710e7dbf92efc6c1e61ee41ec1f2, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a5fa648bc957bec5ee4e750479df1d9c7dfe29e4, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=547c3d65ec6c87460620ee6ecd7695a31347f1f6, strippedASCII text, with very long linesELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=4d76e17d9b797a64a1268689cc0f92a7b98f4549, strippedautomake makefile script, ASCII textbisonelfutils-libelf-develflexgccmakeopenssl-develutf-8c2262e2d05a458fba9adf18d8589b2d26417b311194b2fa4b03db4c0c4ab74ba? 7zXZ !ja ] b2u jӫ`(y/$shAe+ xPmZ*O dL.`l &!aTMDa .ADRJ FluDUV9qnH]#̫hfZX0w`{؍rO5m{_+{D2J~!Q9 $Tܢ&ʘéy'syp>Cu48(GJʉ.2^ ڠЀftD:4Y TIry/mkƢhŵkgjwzzƗ|Ƚk v0lWJva]qJ[+ '1)3t9hUY&/GE ' f|9pD;|4sr% iyWԼ8o* :ǀ Qur2v- t) q8HΈ.)LF.F^7e@KΫL^JnPG'BGĠ}ˇi3V)s[&TSJvm 9v&SY(%7Wچ싘v$KMTRΛ$vEt$ٛoq{KXSk"eBtC<00`G.x'+2a-BC+XWO8eТ%(UH[.-l(`V\,.sPKSANpM?]? L+ t 9A:U]:oyH'X\qmߊѸJMg7"HP7_f3<pfPQlސuq{ ^wZ1eΘng=:_ʊ}0`)af{p(Yu]*|=j ff{sj&Z,[:\{"9ɻ'#~HjFۗU s/Ł"c T˶FQL8?cZhĭ_*zf˶c $3d-mV=f>k뚋z ?Dg9 fX ץwݥR,5gŋ^R ;޷e:q~1`?,&n_].~k5 QMAkKRZ$y=sAuIap+T`hA 4]?Kr !Mgޱ۪T#Tأ G-?r/H!P&sm헫VJN1U;̞ZeذިԷW[=.%sW`R^^O-̷s,x4r_S(CGڃᓈup',hKG6з+$"aUfpO8*/4D2a&:]a^w)=uFq}h~쯡 +QfQ[O!2lʰ' 0%=TXg~- 􈖖z[% J~-x{'NE9ϱioQH:kɚݍG ۯ luhG%]{̱1qgK;ݎ(~<=)p1b lj TCخv7t%U_ 1T~%ԛN`L:m>WrY>gS_Jۘ%$)R|%wdg,ge %ܭE{ q+Ou;B \o“^vb$r@Ȍ1-^<;gs*U3i~:!p-wa gtI.5ۖMу`$P5QJ/Bɓⵚo?;ZssvzNذ7] O2} oz%͍81ohqR6~oF`]VowB4C(a)P ?4L18^O lC6QϽ06`CVU+PCa?Vp>*pL{OrCL`qtt)㉦(WkګGkIEb*GfjaźG층O`]࿗(dzbTc |3M]6P%>~AH(U] Hc~9gviAWŠ^;0׾~3`߶\Cm,+[X/g_\<6QvQi_k2ѻ;e1WG9s_L<|\C$Z}(^]1e|rTx0+Z|AOYu Q)V3+M`v7ܸU5*VN[DGPbvCJ {hlDhul`lݟ \+hsԖj2B?{]S-O񤞑&h{JR$PUsϝ.a&Ξ gNULIIYۣv;5=ٰ֖ZϳrTБ\,.MWgHp oY Hh~O8IUZr>ICFf*Sou#g ;&ľ;c)t~ OJ cD鴠]b=š@øEL e퀽>B6If9$.*8ͮ@r}Jsl0qeq6KX ospF 5fh5QmR7}fcrηHl'oÊ|ĽV gKWe|JRCEibp]_d|qÜc,Ŀ3&B~b7FO87yxp%.䖮z$;i]'ေ =/@F()VOu71\#Uxp*\^}BHu\2j?>[5E>AZ{u+‹؁r$G@v0H$Z vF)ՑUȏ$$ jJ}q6&Oؕ:wyȿoVUFIODP$p:I*iS̑+\J@pX._uz7#k]DF&qQ9%),P$2MԉVS&.Ĝwxm>?J;q Y=R6G/MAK˻f`}M}Wpo賺f d2$ &Qƈj:I8ҥD%l4d@ubzEi.2JxKkpPdE)0RH W /"V|36(ϙq e7f{Ԟ;]!iHoi$Fz}m rZ U-KL9FQ5+dʫJXy:a_1* o0`uN>kKKc?k- VfTh2G= 75VCzh^4=ԅnv*aDD,&}J9* {) ,x%VdmK:̼b\w>{c `tm66΀3v};LJ?mՠД+|&4*UQF94uڨ2 ev4&V:%UߙÇQP)&SO Yx\M9G5̵̗\Z]|{=:>fUQZ yd"Ӈb]5n,;*8BGIDT\#EuIì2u 8 Ǿⲡ H4!dg6N;5;|i@oMURH)~&ly07ޖT7 N=G<1Yg]PA*iOeO !y.&QlClK\JΟ*d&oh$hț]?[IT_&`tTc Ag||%pmi,Ը#ii[يY r[jf=ۙ^SMÓ;Paҩ Je㌟ J`奿S|lWl/!zyMM66()PY&&3=ԼJ] a0hM2 ^|;M Fp ϛGX^jJ`cFQl#E kaIcxp4acYaGܼsbl~ģ"8bg a)_+'<ь('J/S;~cP<&z{\(ktے;]@J/2^S Qq~OP.]P9܁xA\ ?^Mk}i"LW rp4l1Hb@iq>B;?bb|S/-hi+,:YST7TR{YG5-u{xno2oA];pRvzAÊ X_)k\`d~d.ꘇY*Mg1?{INn~]^F{ ;7܍lez4!aTG hoW)F/C9^ͯYwAEԺA0)ցgYti9C0gZx66QH`tk &L j~()ke oph} 71G+;+2B2^Q,i(͂.bJrN'&ũFR+~R"㔆7OmӇH@d.i9/:{Ymn̺- 4Ԗy`Mh ,KdYAP$1+ Y $5,"wk(VվF]K")*NxCtț㩵(vHoPؖQ4og'SFY<5Nz:V*ޘDA)~_P:3-gor BHoHb&j۶,͖T͸]?IIPem)?B δ+n )77.rX$G4yiW_; Fƫw(sc_( z~zq=̕ IrF i-45>[%"myno y{lp3 ya]elk0Ky,F>ǃaQТj۽Q.tf+u' gBLnCZ] X伪sOujRX}w6YˇLeo4v| P0᡹#zs\8)>DZS(>]Af/p4:%P)iAp2O=9tgeڞ5g^//A;O > rH)\ʘ-I{ vH`/Q[ sxOQk@44%XI}[6\)t)9g}xEiy#HP{,D& Plw[hVm]p%(ӽڦ+)]=2tCf;M.O'na[+N6ֳkmrޗᰯؼPJqb:9lPټR6 ݜ H g5JJ9ю˂pjIA\Gc_CɎh ,]^ĉMLJؒ^bn4@0j.3**܀*8'jukkA+ԖÿSꖮ3[MeC%ERBla%wa_Gz[hZGC[2uM:@Ӽ]Qf(%9 W^BXvθ5 iJFe2͈EҚ z3'5uJAA+N=K&wfa< _aa7c6YH/9%u,Z?r`"M\;ac}9qԻp;f}"Q[Gsb>je8'қukJ ޓڴcz =0B𾍀c̢ D5@ GwR!E9 X8*jnl?㷙[ԉoԮ;?9KEm\é_"#xe<͏ iUs1`){8Um[E? Pj#&i6& (6vVɼV-(pcRr)#~Mcg0,6aѨ6gHSvvmov:Z*7w&:+NB&.(0!D A+OYW^s|U6o+qǹwY>)8(Vauv}gȀc JT6}fAq* xQ`E$K">| OG[Y%ҟ#1aPa((Ỿ~^=cdyi8%rYg*,0E7Pl귢RG(ޥఽZҷil`<Ҋ'"#GW4];2׿ (}g-O8|^kW{'NZu5w:,)wIb^l噅ss0M:K'U +~0^ߍ|%Ihŏ$rZsE oK2 no69 gGG=g,!Ic#/^pRYW1EuF53T'Dj7&FV5a[=%\fz'3<'}Q?ɅA%uUu8;c-,!DҡSu'-o`Tsꂟ;6.=w k{1!MN0b\;E_O4'r 2Q]zȹ&w궝b;;o[;!ؤkVjAF 6x7)=ipRw=8T?1-1 Ec?~#3 8)C|9Wu<'L.9WS1vD ^B@&Ob}͵_U/o>HgnuVN@`A'ȃ@{3|V9Tᒱg>8TRe7{p9όFo2V3<]ub9I-jDZ56PoXbf~ % 'B)9$x:za-ڟqX慟bxU|gwQh]3eqlo l:z(-,W YW!$I" ;ґ@K v9?6D9y 3']]h-S翁%dH!He"(#JєƏJ+'ġ>Y+ᅓ!1!#t ;Zˬ4pD)M8y?Z&;De]юjjͬӺC6ZW0ۀ%ufzSq46ɌRԆY"Llvˇ*ZGMV #xuX'klj'c•ޠC3d1 z+,HɩxM57ۏB<3ylB+܈r y^gW(w27=&9Fdĥ%%"T2!5k`wgZƳP1.ol_`?h+oݱaᡸtQU}0gL[) HIy,Y͆zDfELs4+J7aP>Z{ bi|ᔳ$<)XhC鰏DdRS;F(~|j@#0#0S̺N:1pg];z"Jnjy3G%5fO Xs(eոVH#4 `XSvK5J+`6b@ L\9^uSĵ S my?;0X;&QZp2eC03 4zj赾L|Qn07B ufby űCv+O_q y ?>jޒ'4?h)_#նE+>ј$l 5 V1@y 6[<4,֭.̻ifb_YW0zZ8j)XC&M FGr5`W1w='F4SR_$6>`;9K)k0=oquegaU~hm6|9е3'Q۞+{$hr$ۭA-Ï 2UjFz/(3>hѪ_fv8M ET}eI/5@,!\WyNmrf9"Y8GSM*∢hoydȳiAgygP䰁jK $k]QWhvkj%aHx%yv'?)GvQ|WzUXj{(̿.,Mb%?^K(S[)eww<~=M|'I;X ZvxY%nbCg&Y*֊- Z?(VnbMD!_-k:s"uFn' y#*obX$(pTcWB~OW^8" ,KÊ{ 1dxTa1غZ8UD,dރNRv ^&pnZN܂Wj x,beU_n~“r} ePWCASJ/0'w -N_c!o3 YDwz\HU/6PvNON%]y01%Ahꞏ&,sy +>Z+ZʊvJW[.=t 3ː<2@k3 6X<3 =e%@%P|:V Q4:Lxy,ZrE]?w%+H, ՇdI'ppm*ba @H/HI2 '|Tv[YT|{2Q攗WtW?>d|hm!f캇pp(H1e}vsB03s\N:I1_r Ӧ\QK0ne2!6> dzMv r0Bu2N5 ixIԑ7?Ō]UM g]ʽ4W%:$`dBW-Tՠ}nHp.sQ]N"; ͕v{D4!#[g z9J@y}5Ϛ$Mra*i8#3hL,q=<ƹIFը.3ӊwRG4(LAU<#g5W @'f8/hҥ,m ~jGY?iŴIdހ ޹f'Gt+#t>(!@~_n#X:E^4:kI$oB@QEUxJ+Ғә Pu$t$-c+Wqm^tсytQ+FCu_%@վ *Z@ ,g!HFvkq܎BU9%],n O*"#)8*A; s~5BT@ãVsUF^a6 }2 P-t05x~$0+Rd0?@h;٘{o!ɵ_f[| s'Yr-I{WPe]_*Mr )Bbk|Y "ko|%F"Ȥ}НJ`a%lbX}.59V*];V#0Pe0s}r6n W K4xwC-G"D>MshBD$Vwq@0y-ӠhR_͉Zcȸ#߀!E6J~! ! yhjLJRlթO ᨡU;߷FyOޘo>m̨Vi1w]%ǴͪP:ys?m<+cwgęg4&dq}\"DjPR=]3NB5Vj:=j1$alwJc[rQaKРfs57I=6~a{߆rc x7ċ6oN|lsX;{5'[MDߜmTy#7Y†6YjQ;TO~Re8Kl=er\ӂߢ޶sMnl^tBfrΚs|J',Ey-XirѤ&wM[7C2qk͆?‹؍p'zt?@tQ b8@|,qD0K6*o4LՔԯ[#?u̩ᵺ)P8읫[m6edZU9QDwYYUHh*%W/+H2vv܁7tyEʉ[77H xޒIpji{6+ *"rC_Zܙ)-S6}r9$M#/ aX'Xv_岡y yRG{oiŊnPo>ɬgw;X{ ͳt+\j *B©$jPNCi 3/!"+6j$F8P)vE?Sתo _w? 묬N mj̝ZsL O/+2ŊW=\be<+0:}yI𫙾$1fwZH>:L ?3 J2}"(s%y > Җ_apU!KS΋%9 BXW-dNA \Rb^bhwm;m g:{ʦ5$ݒ3ڎwLgct C 3'ID<4bsD%+ pݻ|*sLLAYYf1']jiFߋ\c qsŀ+&к!3쟢?K,!! HkdLenSruaO₤.OqkKhIlxGK%b.%P ӑYQNBC"?#qhtYdp -egT^χH qe!@:'$ ۚ 2-wD5=F9SL<o(R Io9NV"q5#E;vwODv4-:pq-+ O=Sp?l`)^g8 p6)+RՁGKFdz$V'O4#wlO@<#%d3uga/CXPm!WӒ3o&}(nKȼpƝaFSs" .GpWo,KBv_ ռUU| &c2IUaDg;w3g|D%`dԢ8XOV3An@68-Tfr󄏁oq >HCFya1jU14FRV'l_K*6Qdm~Ik^ \^q ʛ sdH]dGK9MJ]O%O+U0:;IC(8.-R]eu,]0sNP-I,PT.]˱A 6u֜b&Nǀ$p(Z-)OMW `@Qp{-C g_=u$\*,Ψqbmb](ZcF3?f=#g Fk߅-ƘY\!Tox}bAW>(V *+<oy@^^Z&bQdmP,dS8/]`xhUu2{?Bh/U5T&Ĩjcug;znH4dWjg@c94JOys{䲀VxFƴ9y*E+p=JŰ.{o!NNAf4)R(tVa`0O1^I>Y-u(.kkyo,slg1P$1~\xGE>\&I4mGC0hqyeZa#dEvD* h5<ڠ=߀I"id6g[ldVv@c/\2M3y$~ywډ?CŽLCcdZ.Pp:H"_ӉlmluF!*`/}!`|2l>B ׶a\Vof367,: =p?2_X6Wǁ~bb[3nQR31rC7r*.QլTn_o/$|P`=Nǟ[G|i˨ZՍebJ77-!욟I|% ?GrkSfܮ-L|1$@UU)0ms2(]{pk\J$}^\4ޏ/u3Lw|{Q 9Y/]yu.[-$ !\uǶQ科ڞ$¾;AZwd*jTZ<v kXiM#{4̊|ѧC3N+a 4a}F_^uMtpRxhn tûHm.F2fVy]:~lNMo"1t#oI'$ʿ12< +g4sqb1OֽEw1*%Z!'痶4 .WjTz[: n{#KQ>d{fap~_)NiPE"bض7%B$/<4\V& K=2|L --ipp ZBy76'Cd^CAJ]e~GGqs{XX2V1`ܛUϯeE.Shuh=-Q.JTkjfJ_~X$yxDܽS- `/5:mJ9zaR70{Z B9y2CoY\_P\]Aq*}Ժ΄,kN[h O#ʎ\aξM^VCM?ALݘl\Hˤdw)׎@Q1t=  P!}AAQT}p^uhtïǞ-L&3*o"C@;m/_ͅpw=MJ}ğHEgElHatuY˱||K#4ZI !-& 1Rb%"K%7  To)0À< c7Aa eEVndvgt(0:*N^L.)w9=V D#l0C9oM)*U>^-;FrJG2=BlXdiHt_n2_4v`tLj;a^ hqjT{ri4wq_NDpS`>TVLD<Ixit-n'Lքuɧz_a};l.:RX\ۜV \")doye*qZM_r4et3\93\X/%6DnNnbzх 򅾄 _|<u-h5)CHRs!n.KұJc[*UZШɡ-kD=CtxgkSqo5qG.`ӃG!2žficly t(h{Ps) *tFOl8(oV2"8oxzFtyHֆp$M0!Aû˗c-JvdGW넨7w䄂1p2-Z oݵ(j8kڬt ` J8z#CIl/A{UƘAR|:tX"bWK\I٨]' 󩉗Okz-*T ޿ahgJydKV: yp&lF9OKdߡ=dVnY4h/w7uX~Xw0bzn/}W9jԔIUysױ2VlOYh3ZT[^ZQ54 02$'tT'IVD$F_9 N7HҤ{x$oteY%O-0t ;fY1tM5_Ī)j͝=)Q".%5jΏ d1Ȳֳr:@|T,>bE6,Sxpp^FZV밺A^0AK\ۨ2HlFr?AܪHSLE`6|+ 'pR)gKy ψww48hCkEM`1F4ӏ'<ΰI5>{sh3ĺ mKw֙.gSKD|SȢ1m}Rwk}*5[gmkp|f  ʬ;9\ o5I!nSӳkX,QErL]Zݮu껆Q3g LtԮ~b̩&", Ꭿ4C2JG`pHߺCe;n4v5 $`~3O0XL6)BJ= d}'V-_JbsG7v[JdNc~?Rq/cdNذGͅʫ)z(T5g#8L +g6#' /tC=Nu=kf9h %Z /vys'_]g[fL(|0/KY#?.U[MO֦Wဌ@P4sos,GvPX͎mGH{A%)p(.aadV^=\`"dHw !#hO$CD߻ʠMq Yx2^\`N1 \VrO(0S@Y ҽ:K`M:ۡecJVȍShl~kW(tW+\}߷ VP6/siwVy"D9پ*Yu'{r+~)5 bjE ,%4T?ZAC͝4U24y@M1bse,4{x; K ,CdϜJxǬT=kJ7a_.vv:'ƶtv$=kAecb߆0xnt l1mjbk" Av[u?pVE38hD| "͑q. Ok&KH,;Xz+}L@O]IOUe9GTtA7ྂWD$unsx ɻ}JBW, rٙ˅}LH3n|p7I Yq؂~oκCHMa Q!t3 wz?k% v/+lȸ%34) 24\_k9 C]SM;䵦4,EP-&8s{>v(PhrLH1 te]$JGȜ&$Klо߬T4}̀kͦZ4WpSYKߋævK|{J"$p];Mۛ>h hc7[MfR%oK}192,{]??;& ˎ@a4ڔqo6č[!AzdP"{&.;l/6j7IqB!-=znXKh>Ԕ$jCR?TCiX71<7$EzNPayj]eJ]9³s]ɦ"u`[\kMíTVSx#V2W}@aO7>@bP@w=s+5giσb-bd@,Z?`yʼnS ޏ)̵l5݈{NOnj&DPB\cP%@1ũlE o,]@d6S q2(&(` QL!:i$hIJ g_xQD_SM;4 #FVdPʽ.cE^\+'^Ф&D~,{QW+ONG\"Tdwm|X-==;w|ƜDBBup.*ۗ#ѵIG4<3H7Kqnl?3R222ܱX57/ZMZN|1)[:r-Ā "}O`29X^!b4!V}vO Ⅱe& chEBoT;7@ i~lϡO94Fr<^PGݕ;Cԥo)ўI؂!َ9܈*x_|ۤb/ljuG wK|.ԅOyޥDֱ&V (`)1 146-V|א1^6~[cǂSGaVO0.FHZ`|لGh i3oc-2_Y0;a1p^( Дׁ@XcG*;)9&?I}cL')!6EŅCCpߥ&A521z߶鷠LSBt׈%7T&`k9W>'q^O&)pBڒ2$\_⥌fփn[*JMӫ/Յ>꺬į8xV90_3]Lr1)䕘1Q{ PՠѲE$ PDԃ`E+M}8üLРVw6SA[!l*#.3*6G0Kg@QO', mnh ד߃E`[o"]9XȡF}U f\; (7G\'7$b~.gOLrp_C a[ZF@WK6<A/qp+;53rLw vr k3]r =8v@bf9fxפmf`T[_Ƨdds/O>{~We??s2WXAD]E2fp ԍHuP!xTPWY גDͼO[Y!` KY&E2cOv~6qf\T N33niN^ŒK_D9i\K̯Z嫍颀)N]zLv.-6. 6sP`,xunS!ksߚggϫ/ W :K;ݗ$׫uW3;kTX0g@t05PiZX{Tt1d gnOv̛+{12pv7ڴNX8.E.ȭ( <'E:h9׫ӒY]`^ -TWb[e`Mp1X<^JK8h2m&Jh!Xalրb;s9vo6n>р'`0Kn,7G! `/ܟ'מ#^֯)q}ީ7Tiw j[P̒'M%@/)!n/ 2O}թX$5oz *N:tgZq}bb{j)oB< oJR!awsjW]d5K =||X-l8΁c}=n/ss ' ÷M&_u D͌gWQ}%PfcJfJ}m#PQI」)kD˛[!1gAScgtPJy`= `PLLOMqr]*{>hD ;~<+./"QKw8YexS}ƹnK^FbÜw^[E24w6~GEb\0{5NbP_gFRa-^²3N ZCiEH+1؄3Ë́d¹OS^pJ23Pc&Q%V0YfRa0m%NoJ[W}La=}Q+L| T'JR4 p|TՂ>Gf$ ?AKRû+ЌE @h:BԲ^waW6qE6V즷>o1Kry\BjSep Pm >kv !׉=I}= fCVJ;sT)f7 ,ЄlNkFu{Xک!SgCͦ̀ |̸*!j%^heCwcvg man|Ugw0܄_];m\lJzǞDxE:KpF,'D9#y?@F|g3Rv)I~>3y0feek"<.y3+ꎒ Ahlfi9 (cRq(C\n&c9^z,:%4a!:G\EKɼ88Ƌl$\@^f; hhRMܽv2ͷZrsxMȅc v.<:gd9]XT%,`O1 B&-軞۫A@ȧ{v$AαFXp9q)7SJyx2Y F...t/b1vk0 oLxȺ2'mU]T")rC(X衋~*7yPPB×цNBziuڍ[h4xl<W^_DݠY_tچ百m| /ԃ[-2G#nSn1wu7 nZ``PQFΔ}XTe覜ҽcȇ]mc5j'H 69@ad_PJ&uc/xb<2Ҽ m `DceS97%-6Z:g I y-:R:H=c9tcNkpT@t ylA~H\\M4p*S\; 떈+ {dAu +/S#/ҙ(|_siAf/Kr#kA\b  vm)J|30mEM 8' ~Ɨs2Bem|^$R'5]~[G3%jPtF5׫>}mQضh[)3:¶J$ ׾E6v_;(M?ot Nf]ssdFa귏 xڟ"R B+qń!7QU75Mb66 $Sl3STd$@ssOj*}@9&Iqߣ[fheyأ"|.:\HD_,h\"cEudpDHWFe=3H'coNI$8 5G5Yg&+2@5[irmYDB;(ީQ^|.UGq p2)%]w%Ai^8}IUIa)5key/+42l ;o*rwG -afPX< bm]|UL<вuOrM/OsHz7ԇ5c-K}ىDGnY+ 8x'Csd]gڽ|x`yX>dF5ݶȂeH1mAkz, +;4oGE`;Z] WccWaddv |,>8zaΤ 5)8^09jqP970orB.תrMzWW- àjgr5&<|TY%LQ$ h2=Ҩw=g\ԙ+M#+n1&πRԂSiQш$Axw@W!OxZf^Ra/uI'E7 Gi>9*M,ψr +z}42Ki^wV=p"t(zaHlWF?D+k_2FѽN r·A r+.%;ȧj&*. K tH8x;4xV?Z* Jl!vHRBj;-X3L! /~\k~huJD15}3ԹATΓ$P tX$J; >WJ/O>G1bo%BޥcJ櫞ưV+m^_'ӣU.T:k / C3ZYױ)r#cJ?V/&8lZ^F1O %WQ.4]9~$-&]sũ+%]0{>k_#'c_{pߪ4 :3xapry^5Ч`;oM2g:&ma7N+o_ޟv*gJP֧01ﳝH2ϸ]VaVa  {)+f_Tby]SY}LmsǢlG"~&ՎKșM~ϼH,#>6=-Z^|O -pQ (ݒNI-pVG9\bt-"n!_&@U#ᄵU8 x<IQ62)'GDŔD3@h4-fL VJ6WBEvEe\a`JJ6߰QGd!]j(R'&_-co;~37,%VvL{l'rpax(' e#`q"o̦XMn MY߱6k vx aЍkv9xO}%ǥbg#F=iDKzB\-T%o2z@Ē23HrH-g8LuYNa' jŚ% J O`n8`?}Zv ~{f *`m05[ߏ l]5b컳@N._&iB8)9+2 b G%l3IՀe f"#*sS;ݺnZ_V=Gtؗq60sAVr'1p:wX#Cy FqRoYxg O^ؑuD\,T OQ:M֏oqB1lR)c?*-WYD0P݇=>kBlAͩ0۪=&;RaH{ 1&ěJ4!ŷD36Jh& >!S~ >ȣrII*6TI!sL~U'POU9aR)6Iei4"1b}^KgF%hW< W ߈ 2kP:j!DP,v7|)_c:)Jd^<6 !0h{;[^>!+@EO=p/g*cX->0$LUk oxJSh &N$ VxBFNZ[` Bݒ*16ԫ^ Ԇ{ (-L raە 8Q? w6(,KW | 2BpaPl-^NiSa(vY?cҘrw.{heT 8GR G x#/Au"G48C? yMuȂ*`2bSe ٍgFE玪A>/T%䣂9%F~" gLlR_Pqf4(,Hit(iZR̽HSWt31ֽ]OMROJUzL@K|5?Dޘ=[ nSa{IV$AU  LRs%؏sPOʦK" Hˏ_FPB,d|)foH2$3:'@֡9r7dlnU6w޸`$Y& 7@˳b]5w#j7tGa*# j2։='^mߦBo0.挩M5Wc2X[4F>~UN&é@%Qmeb?ɇ<<*:Aue ğb:! RUZZ}A9GjaާU% D첩:;ihxD!qPV7̀Ñ^ ֋l g(qq\dWg_ܢtjW9bºۡ#tQ uЀ\L+~+T|?g.y#JS('lt0M.V5f#e #f2Uz"eVB'WG>Y-Fc sݮb'IB<<|}áVrK)V\Vڇ0ߝWW%VņH$- |!*h+q,3oq$2!0>䷕3K8) Rk"I؃xvfzɥrv&Q("!&$8 ,jJzPE]&W=kp][R hP9[`miG&̪Q)8d 59:*rf, d-1ct ]D$Aa?dV]eLQhGyE:R(ւTAdQ(vh\;kl Sn9By+ӫfp.+tD0޾؅h^ 03EƆέz(UHUkI>Qb,L1d(@'2VyHjǢVu嵞{ʴQ}{PǑ41S ʑf˔[L@tGX¿vo+v܏o+#/Q[m鴢L{8ڲtyJlxTsg+KkY0>+J:y.%ki1c9cmL<= r yAP.{\1x[r%FWf=%<`v9 : KQ("Jl.l#GNLӃu˹lŊe+#| 5gj-դאC-#4,LC\S }*ů~զƏPq;Nūc=4oLOe<u%^f89W!T'6'u,*= R*({^(WKID 4$#}~zf qfr"on7e/wNMf0SbЬ100:k jo̪ժTZCBo__h! VaFe=UhvzvۆcEpI\eT溂̺ҳ^?Rqv*TF4VY#t̾ SVYd ѝԞ T3Xy> lxʳv<iTf[3r,U)*D׏ pFI? caS]pqNZ3o, el/,_R H8Pqn1tL:+0d),B; =q:e$ϺoDTj,/Ah]kPf={2y#[a@Ue/5tzaXRۧPGv))Q`LEng81&iw3U8<eeٞTM%M8.o#>0>ͶgM7$2QBZPso%ڄ~y|iJĐq4*~ T@<1d/3Xd\/Ǔ/b7ARJ#Q_)k %E Dڈ{t|j;ӋwdV€kCC19wLfͼT౧suǁjj'|!r;Fw؃tQyhvOg`0f]XaxA>$ {6N)YNAĴc\+WzD54/`?(OqA;HU4q\NHA(>>d_Qo 2ii<]}otن Z?a '~V\mOsU&ÿ 1 UPZUO;^\9[8P#p !bA 2 _! H]'靧"J3֑_~v)) Aބ6&إʆ~Ľ ChRTĨZl Dtg.F̈́ }[ö,^r!q9bzXH=Q8#aU qpZDd}]0jvt>NEl[`ɝeUL/ӜcR'b5gLDxF7;8~"C зd x;$@8|eeh;o4'z[D m,"@uV:AY}7r[ջZ .D\X~|nFkpЛ07]ޮD:|~ՕSSz,2S'Dq`l $ȥa$2|_KZmЀՌksL}拔xmtN捔 v^_4[byit KOF.ލd74v48ؖE~G?w{fLjA&5,}.PQhOHL2x o}e/\2YnHKjв'3Z"P+GdRǷALqouVZ&{|O WկNX~Odmr|%-\x,̎r;zewXpgc`S"N/EXH;嗖D*' w p##-*5ۏ,qPd|;z%>f'mH,4D [̣>>yPђ˫ZE:0G]5mye) Ed\P [yErXsl( %~PH=K|AIr >0w_/&LM8p`&V%A5 X¹ WFȯeOu56(o(`6pz`=&#/ UB / e?q%(ߕZ[/d5TKQRJ$Sp&ۏH:>0$_NMݾ)\9zAYUDFp ܞfD@ p1kjtX7fAUiϱ1{#ŗsWGF :O"Ai5\ԿA‰ 1J1&FXVü|aDIDSbC*XBF:t!6ZGCޞj&ro2s'տ~FxvD==JzVbכ\!9$4EFɜ{6fbŏS׎$깂bMy7Eв@ZA϶ueeA,¤gŦDWzW {Ϟ9m,,2<-!dyf%>["^2/ؓ/1X4b]BCS%~(9z:γx53j C  7{m2 Vf3hd=nZ"ԭ OL{- SܤN(+w!ZwXuߑOكw?iox*225;vSq) MzCj*q^;"٩!crN 4qCAzPd ,ڷ4.`i$Q g{#9 G2]p 4i3 h9'BTh8U=Ǩj*2̗͟8J #{D4/ua3G|Rҭ} MF1KI'3(jU$Le ɛש蚶P$&y1aJ# cM9kS&PƭL-S da*<.$'0.-cXsU.{Mm· V{[xb(!gG!z cJ18WHBFbDIh<8[!#S_=EH,#,J(XK{څR\YA{gyQ=KE53 F{O68'=y>$ZgXbo ]d cއ ]:?kp)-9-7vwKvr TiշbqOZ-Lu8#KgvTZqZ #wT ؓn~`"I]dܳ@&Gi?y}7%:pzS 6cue6zm!TC-~=_h.W^;`6Vvi߯CzE "E^8h\Hզ#o1r8b[]>g!{}~Å(t^Y|dHٯsrRo2XQ%75G" Dt}\9j="DD2G=|LS z'@<ժ+;[]hOb9k&+z$|X4PH?}mWIRػLxV$4\Rcy՛XVSGȶ&K<O2 َJŎ06ÿtxCGl6Uz(ˆj?ǭmRN' }(Gykn ,S]j7/( gHd _1ÆIIjCc3%A) YC:w<̻ʽVm*mpu$-1w_$d7XQdTW?6\{d(!#FEMLh!Qx@]L%j1-/qg^eQ2:+2m )ҺEm *&,~'#q{6!m~`}}Džf@9'2ES@4buĴ&)|Q6Eؘo;L}it7Hk@gm`Mizan+#zv[,AoŸr!m/  vp :=*鐨 7կĵ߻| /:'8ˆ/CI: & j(Y^=@Ӌu;45·)]uzL<, EԨ4qPY>n%Df^Y!X}t(j 8Yp@n*h;{7VdD!@-DA¸~Bb764E#y ]D" G;_<%]{td&[V&1{<5"Œ*}fӏZiS. ==p->Mix7p@boVnݥFsl0^s7Dtdv8 =<)w7pȚvTv`+ﰹq1k(֯: Zg;?٥(fLda_.#@m+¹m%7ζ3RT5M4?+3׿DSgQ1*JK-eX #"P,њNl.Q ]LƢ,^JYz'+CJ鑎Y|q/>T,G ZjnUCq=onGNzפ8{9|5d@M Ȏ ;0e70n*Qy6'kxs[K<3xso%vm/+ H A٣6=z]ߘQN|1)frrSH*oy\_.nOŎӻOKۊ¦fBxx [hL'ܲUF\eY}>dFf>Q4T,YtTX idy}Opj (M8y,%=Dcp-YiHUh/jxT4 'R)IҨcD~E%hMK ;O_\(ƀGd3O}1`ZgBƦ P̥tJWADY$ElG2:^^[F ٕ6xz*vjr@O*:sJR&}1Ιe}d akNTOyqJV5Mj\4D;F*ȗND8*JܻGp3Q"cêJbHR?Y‡(.Dxs[1{zu.Q.c臯Ͱq3A 3.iiuot X.q?pc-n5fy5SK =ڡ*|2\ @i.o,* dd-FZ),|tY"]>(ŌvORzd7CR:l q/5(7# x?:B>ҒCG߉_⊁$ >:n[RIhzf8>uGz.bi(KCNKW)/{:AV]3kb6xal&DC>h-DNmj,!ffU(I'C?,%4K>'B?d2Ů?ÎdڐMN#'| (ۓzrqA \vNMɜ˟wDF}1bk`ނW3/'iq/,8B izOIq$/`6?ȃ0K7Ǜ)KLɪ1ľ?q9./'H1aBKU6xilL6_P"֐){%Ɣѧ%(_?Ocd9X5A-`dڠ"!=z 7!OF=3K`9JzlCowвd?'t^>Yc/ -{F$Q.% .sbYC]Z= ߝc`Q%"prؠ5$@6|sRs+TƱӵuF*%r3PӾZe7jyhCeQ~x;gMyG%gS]հB5>7*j*/+4j qLEb#T6N9,!eU1RdQӐ,7>d(Wx" ZBy?yw&kYg- o6!Uۥ%4"ch_m0#Bk=C9kcb!Iݔ k@J;T&ƂE(b4>CGWTQg"prx8N3,y[%~L(FRa5)2x5:˹y$P+av z  /?\LcF.[?3<8=puW}̯鬷9,ISL0C[J%J&0ˠg3;&Fi`7![/>1l~8VbQe~AkHӕNTwD=_ihJڬgݹije*a[ }MR^N&?i賰P(* ]MO_!UOjK{Eզb~cB@zֱ:!9 ーe+K*졨$$'cLJ{_y0<^đR7=>f3E+=ӫD֢_ީsV ,yNIXFR q/P.<ymV7qyоxxLq MY&*"$2C >-Yp[Ȳ İ:p R>P`-{4R(>Lꏌx>v?#9}sW 1P?7@,y8o=Q8햨\\USBBC}_!va`*uD1fV3&:u`f3rduuTkMT9ѳUTB0rRnfpRb'J$QWKG@Cd hm+[[T6jop=9ʡH>rUR8Nȋ}[graP9z/#xX~ b[t#٘FLB, G)#hV% *iGؑ[2D%[D]f+ w^b _9DIЅ0JxÂ#٤eW Je:)ԁ/ewuO'|LcH8&1J~l_fא!!NMNYIokͯBk%A0j5њ2Vo77‚f1Ucui1=0#{w'pp|}+z\* a2ہ+|:Sd9Mˬ3vaN_`A[7Y*āDFzecL.iO%f gy,;7f!8\x"ALT%xG2w,?EySox`<橥w /}Q' oFx/UvfrY&v8ERշwE%zH(;o,&ZX d +Ǜ.̅?!ߕ1@<YAZ8YXA<==.8- 5|L?WYrqb́tXFt[iUoI6Ҩ0#t[Ilo_FSqF7dKK7}+d\|oتP_y.[s ~C-Ay ArhGaoF^^c9Oꠊf\]{vF/_XlMu3 X^IA9=M$3Xh+K^,=4't D]CC!?Ϩ[XRdL/$W%Pk)!wӫ fb^dT'kv[PXh+y`FUrqh ҫA7S$Ri[T(`+`qS306::@)61}E1+4u#k@Rz<6?AK a_E`q+b**a4m $͖Qr0̂J{y;~ -qs;~`"߲HN+&k_HڻDușJz{mO-$ |u?ױWW$8>fڼ ͜sUfN w[A&P69+0[{j-RwѮ}H.@f. pNwɃ(qpz-RPt~;~%ީ8T򼱍7*2QH2v3EI֫~AҬtӡ>y6~j485 vك CVqj, p!=uy0ؚE5~ʫEB/ fY%ūi2d/pIi jm.Ų] MC\dl.v^zt]J2y~v{<,6P78I @ФL@<!jatoӕ h/xsFK,!ܧsDJ>&[$tɼMgfa0`рpk[l=82UsN`qͼ&:gnSj՟ex Ғ)h7UIYj1b-r` ̅90=6/Hi>Sc_N_OpFXA-{xAj_֝KtTT1#c8_D*:i\T೿ |i [i4LWE%Kr.#̟SHmM;`tY)vj\ /GELYG=G9 Earwc:X;Zc/#z[׹Ib'K8t= WG M裸T=TAD$i a:hA훳wÆ7k-S/ ݆c@|A4d 'lZ2}Ak1G+Dئ &0ϔ8yΏ]O7Zv} gEg3qgIy  .Lpu#W<kB1YFʟ"b_UJRw~thR6TNm"d'/f  rgAMEQ^yOF(  iv,WET d}ܿ̈́}}*CjD:RҼh |hm|*[q\l>\[kvC[Vd~̇fA;Bh(AO~VeCv+qc"Ka=R)J?l/<^yC}yT#RrGhF̽t&Ueü+$k1 S:V^8[XC,*4[SW9X$Oki#S(4*᧩^u($4vwG֖j?uH\Nӿ|.&Қ±./Ho$9Itt`]cňw2..kL,.y"667 E#I4LxFnagl(亼sAvTzy9J(0\T,d&θf^"46# Y;?ĩ,^twW`e>K!ڈB! +ሆ#mpT4iTq 6; ;43}'.A_ D# 6鹷h^"ڄy+;3`')0F" h*ˮ@* mN,3:@r;a!}xoZ0_?wRڽ हD'IVU"?T\ B:rh^"iҔ0 偂.uxQ-Ly^ z9fdjd(T]/?qnnEYyp3;CQyx7[ѹp}m^f0ҁrZ#vio²[6b1 )RQO5>[kzt @3rX,`FMV $찵O2`M7g+~B!dy[|u73휹q;־VB K4u8Ȭ1U/&0ZJdpRM\Y+qEWq$sQ_ K7sRͳ4.axəК`s{eY%HƦa|9=RC볽ꃱUkv;dzT7!Ȋr9kӞXFh2cԷIm],L<\}U(ۏCz:cICs!ɭ˩U~aA!>Xr@Mٲ0Nz# RZM27)϶i 8s\c6gw|O~V[ln'f*mEꎡdۻ(e = Ԑ5'JO(bēUi@@!cohSx;X!qhX>"Dj,`<=椧Tocbv5_Bs:s8{*p}™(_zoXK=kcrsMk]3J9k<^ ':l_{%rli򗝜u'>1P&DŽ1I,xDg|*|q/,/=jhYuodͺ?HR~8w:S^}?.DOf_d %[Q#iu<WNJf/8>ӷ%7Å-MA{qW!ryUpkx;ɛx& P%Q?3nz*"g9Y(s}|ݩE׊G׎óOm/M4(QMq<ܺΩF3ǽ w괇rnY" =G ͘@u_٪UST#1!Cխm /$H&fN?2\>o吾fVihW2[l.*A7va-@n5XzvUHcV̄f:X\~eeǙv>H1j07LA"3j30R[AX({꼳HP0]bX?k9ux% AZ6J`)g͚AˀRH-G@ ˘9e-jk/2;!W_ИIc|4Y s2߂O Gm<dѮ[~:~Ӏ;r CVUaܶV;Qg/4.I\k&b4w2a&K^7J&a/4>t`|I'U%Ӓ6ɚǍR( v`!6QYK @mf%oB*qs_&0zP;!Gg7Ep}VsISxH.;;֧|@(4jMX<]t&o zGff5G JSAZ;KyOL N}ϖ=74t[yo0)R@U{,)z7Lc]kK_Ps04[6! 8T zp&<8vt)E.%9nkͨX_Ej.FEd9~3KכUN ۦ=\Z)j@U&!IgGXlqKE澛 dq"5E q8yaY n)x%Z*eE1ɗ|e!ùf[\ro荅c`פK]_ $$QUth0iGX&`mvNpx_,A މ(^}Xbzr I/"o6ҩ8v6%bĕp:{PH33V{ ;osNL#id*ik{RĪ ޓߓZQDX@trDAs&TF7Wm o1;QczO!C`guN[ (s(Ծ\;8O G۹42Z3fnԷ[;lβ')ci\C`)fNhaE-4֭?_ is?0^lԈ\06R:,(֫%$n1s` qjrI6u>^h2k480}e<W54 ^($P`ɤcq8%W.rNNz@RoJ-P3R[ ]x.VzeYN*_FW9'zwWiV[3dЋf}jMA6هGfHdX^6y*KűY%Cvs6^1ٝ|*`ޖ_5f=cp= Oc!A=zALИ%_> _35K&3ѤIKj(cͯJ>vSxQ 7BtPiY h"'x5WIa9_z_e L_EޖI̝K4'K+^lVw߿ }Rʏic)-9Q;,dդ!Z y6K85lbKl:'V%:'N!I;m7pjG*=0.W!`3s#P]5"Gsi: Q-FE:z:AjwN`5s #8+R-$>8U7}8!7\R.4[ܹB* MСWY/a _*?V|EwPLB]xtt+/Q %ki0/1y 2qNAߠBJZ 5c8Ӷ$T} o2rvRУ"N0R @46~a\w',Λe `W \K8stͲ4K?5ȢUjY5UK/pɉжO1xB Ћݓ'$<bY D8Q*͂]CKZ+ =D_CID2 r0\[||?9oɀKNZGי’Lՠl7̍Ra`g,#Obz=`0ZQGUcD$j.Lu +J[͒݋}k`"L:'w(_"/_Zɢ0X.p*uZ6DkZ+Ϗ0k-&)gܮm'C!M-{*,ޞs`{Ǯp:Q* 4j&_Ay[tU:u"lu(o n@ Ff$CKn@2c\10 _:mHl+xAIlaEZPZ9@ NT=.#8csMom)DXSB*$/#^|'?Ã+@z[}q<A~ :7&{Y%(HV*^=kܢ9`%v23 pYAB(w 풦Ԥ[vR[7$I23<;|b9>}^weܐ >z anR`°`p,f]sIe.[UJlo/` ӣ1=֭BO D2Vl trӺ I_CW0M4nA,#"7}] {'ءm[FŒ6/YV=4G*ڿ֐dKyA(~[EfWsݑw>\`0Pj) 8t̛q{s.EG(h9^kTo'-4/e p6v ^x.mc\ޞTvhOBX͖LQM2t{HVs$yH&|f#B-詜TdHOC/lIq=\WZG=cEuni;ZWs)T1K*xo[]nqLcI":^vcOGrUa az=%A%7Fd cEN繗|9 W͂t9bsGR.Dq;XLFj\gu6M (;ii L†Ұs hWnwݙx _-XwM Njh/?"`E߲uŢ%[dGjc_XJbE="|+8nq #1;3Dl;!XdP~ٶ0WzV{nKh2Wes@gw;M}gUC}m([NqEq('&%Lj)[BOVdT]$ֈd~&ܺUSIF F^hHɇa&Av!E=rҜH!Ю4.`, J čoR܉h %lb%IAW}g {<):Lhsa"GM! }2:~OEP:v=kA/G@9"{@:#kB&!R)N˒)1YUK@ϲQ7NTB^ =d:a'UWJqt^_qN\;A_?}`)Kg0 Jw Ѱ3 v$~^rB)EeG91:6A?Ar嘚3ͮ\qx^ U* Tgp]n.\QҖ%O:&ʡqTn6JBKKӔ5G(ilO{ŧ} ?SU&Ҿ,HjsA"Aelo#9sc|}^n:_jh#FvB=EahD\;!"韹bY|:}(plzn m=2pff5m)C~%|;0uT뾒?@dpC@%G;qoLӏ8N4:4 >;q@CZ, mg>/ڶʿIP({s_ N^)%҃>Goq @|6"D1`!nGP- B``{,, މ t46Cyr^b oL(V!IHӬ =_];vΙ #3ͮbzSsM%QRipx'Cw:/) jpZ\lQc!yI= J@Ք<.ncH (T%M qcifMoBAڼ4XiQM^XގWX oʑbFO}N1^C"ώw*Dw0%-" XKIXw- U8 ИpfPNAu`'ƺ.F G#Y| 2ט+S`njj)j/ DA^M%\nB^jOq;Z1ʀf'ܩf &0/jlfs \ї6o"D2^8_Y{8L0~z FY(iV%(D |ϸ]$fE;'nBWw^ O8/ۯ-Ê̙ z ^{쌌 ҁ߻_6'c**TLBM"Io$fH5ԸZZVKj ’= Pdc#fd&K?~0)f iinZH<’jdј{^+TUbŹEP\kX[4AFnWoq_V)hbҞӲd1˝ Bn2қf|"V#ϏiY^sI`JPa:=~X"V%`w1E&!aRE I'(`RV%Ju:h$B-T'*Პs,ݔ6GvwggEIp9D'1F+1kvdyD,.=s2 ыׅ2G;\H y {՝gwEQD몘2תͨa$Qޟo8;S))ר< L)& P0jQ r0 ^n /G m2g22Y&)r0Y{@z^CNxb,d˵{.cy;ǣ(jԫX+ 3ћ j#cFZ%BdbĄ`58"i7A #| (ہ\>myΒSeTFW[8n,'bﺄ\(lFtK>4A@5T$,>`ՋFVḂ84DQf8c>!9E7咇H)*< b-0`/Ÿkz*i$u$e7 9MǓ{>!頻]TIW MaRN]H8cK!S0rW"ZNEHo|6_JT0'UZ9R~+n6Ts?M RNpAw@x=(ᖃ vVU]ND_l<P.㐦DZ-ȈIl0pCz?/co}`%:o0$-DT]墴~ `ް(bRwr ?nFL_Fs5lDEل΃fSpα/ᵐFMhwTf G"u54M{Â3#CHлhwc!vgҮ!Y1ur$MeNuُ2NVڽ5 ~Ow&:[unmDW6D0AQ1/H "?U;BJʧ.cۃBĬ]9T5hY̋~)^;Tйam$>H$9ie&[,[ԏ3st2ĄCsWՎhmFG`ӄ/"vd! ,HT%t-LUSg:8cR'9#uvH'Z]ơ+ܙdtcC &G $7%Ga=v-1śC!QStY%+,8th`v\Ί|uobhZ; |W@u QHRjx>̆8 ױ6]aIeذD]Y DvQ: \^nw !crAMbUϡ\ ݓ8͹#i3~FVvqxm8A~nF@bӳ+;@LЌKZUZU0;1} dLfظ 8{06 C鼀j\=nJ0ܳ&?pRsŗ(9RU_zphVPz2Ǝ?Z{fݹbl5vӸShm{ u1߆Px AmTsHqt!+8xܲ4EWX'rW'ni~(?**kZ  56wRʼnQ3(9e7-6oܙnӍIǐ8\o+/Lu-X7|6hޣ)YE:06 0[vɬq9[ m)X% ZKHkOUŶrN-D˿29x Re~{V2 }9I&pYky^@GiJJ$@oWk7_ :n{PKĻgW#;d+'ke9wao}^_VIptP6:WvhNQWP$TncO,Y~[SUajg|H!$>q,*/*2ۍ%;˪˔xEUgd=1e+2K,q&m^Y2oZ]z|;bds{fHѶ:C&o,!Q~U37+MjR`o2נAf{brjKe)=KNgTNԄcZvmww'eCWyx@1E.zG#X!P9Q} {Z=K ZaJ}f\"/Y`UVJ}mu9l0c?^!𨎳|*^ߨS<1KK:LHT. j3gjm5E&pe6.Vpρ1YaQ2J Ta Cp燜VM gֵRwy{TH;Mg%eތ[B7ɴN5!7>NIvd m$=;א\if"潯|sQꬩ`6;0w( vS÷@0Wѱa V}I%)#>2W u5nج="'-”?}_w`($jlKĤSQ-2El߹b[l#lw PC%w"@'M6߽0WVMCBn=Y#͇ޕ{N) 'CQ5Qۮ=vq-9Eֶ^]4O 9A1&`jL29 1~D^- t@\R@4߿J)If1ѰfwӽsqŜew o%O)Is898(.1wJN[!(zudEg"" QjBG=(ex:&~Va|eT4eC}X :zVY{ubҸK3gw"(5.t =F gj#f:+@gԇVmDv~==?UWl1x^el%U4n5m Ky<)wLD_eGI2@ ܈P,ZrפZ0 i/z2-)0]~ LзcUqvk o\Nhd0∁UײU/'~Av{Ѿ.JTdB:Ys(`ki~\ͭɂiz"{m_`K9 ,eji> <j(sDU+r&"vp#]3LC31R؈\l'@9$yT]ױ3@h)īm%BJYw $y̽\\-aX"uJdvj2mo3vuC 8dZ@3֘}/3ۭ>p%9mm{5m Q5=,Y)<~W Q "&l{1#c*fJr~OU_!2t$c"M;-'Ȧ/B"G'OϺ5c+;^q6_%`X-Gn.`dz*pu'/Te,,X,dUZXm)  O .g"b o5h@BܗQsע yZB;ؑERq >VZWx[2$ýF.@kճ5ǘ( =h;fWIyup':>߷#at[Fמ<* tdv|B*.Q@%݅LY_Zfq%u[J lI'^U2~qP H?ԩBg$O>^P,3&n`B ȶCOM~dm c.J)L!)о;ɾbĨmQ.50Xmb;ϱ8b2\3c'~L9צ#K懏Bumx Jv&8DT$Ef[4gQNeܹր? :gFs}=gB u]f }dM8HQ/;˦9)1Tlut@<$6HOm$ɢ/G3-ͪ(eRԪe;#1@|8nF fIr? B)g"$0;q~'oX92ZHeMs 9i:vE& )v[k4Rj RNFl'`#ve+[yǓ)nbQyxx,כؚ(GOΌ^?MGZ/CYq [-'1g Љ9sZEB*Hp2Y )Ġ,|]qV'D7Ul1o ?vK ii-+OfWL[-5 VI4s͡w{iu8tê22 udi_9ߓVSiO0]Ψ\+gXvx4ǻ_#%~"AG(E@gV b(3):,aUtb|J˙a׃Euo`\5r&-\|s#NDOTa=|8ol!8ƭlI' 2co^l:^׺IY'1oB8T4%89NK1k\'m:'ٜ+A7D ff _w.q]2 <9hS?.|a!L^EuRBmZn&/Wv2(|fq2:Gec$s8s ߮#9&0zʷGLMqNa k׺Y<].4ﴤWƬRLlqE-i #!c>-doIEX'T}}hoKg[r ֆpv#c{B{|!mKEz-*G@;YvBi6PSNaA-9 7:H́uZhIW I,7t}g5H`h~#M5W7i ]"OuAOsc409hNJ~ZhR)ķ6X]B 9}5 S4CUuʷUqAWI*mMo~Ypql8FY\OyDW9 9g4˖' (3s5J }?y*cʐ-bX,kY⡸IhѓX,S5AtJHQ['5#Y𡶫=̷Z =}P Z8QwtQMDGϧO/{aZ̨3EőmUM9W?2Zգ`Cj4PK.I J]pZvt#[LTW$k্S(qKRo ;~ i28[0a&6΄n2]>ݻ4FAix%|a/OHcA.$ +by]7 ބ^KTv/v{'MݵR')̾bfj <9 'eIskꇆaSlz^mkԁa}lkE?1JF;3ڞCGM\ϩoruUV1t?sa8Oom2B@ciQY. )7YK' W(4YA!c.e*cÉ'H}C*EtC CMX~w"N0slCW_>dؘ6B*P4S>MuvMs&: v]"6'vC'3oPMsRnbN|t]2jr%IN^̖ :pnqPT\a=Ó @vYRgfny-UlNlmnF>KQ!߇< KAq^^U@:;UGLQST 5z AZh.2Gi,\K㩕y$[;h]q*0/YAzf4mCL={J35uͳ]}Z@E`⹲_s^j c⹲ҴEC=TE$J.f6(| bRq3ɓr^xEႰq@i7>JJ~ 0vuF3啱j拉A?; #f՘& e*Q|82luUhv0v!rSߵ 6 v*R5Vp6p#k9)%tv"3 쨟} S9`U-C6w e#5JbUڨWUMvVH~ H8o=x'ZX7EsiS <ֹD.|+c=;^hTeLPTq*jiJOP}x1Zv\]פl k~V y'A|9j&%3ETpb@G}b۔0#F0J@CmsP![?ҥTM5gq*(LH kWr'p.iDqȎӴ^e% {2oy7G-R}ced_:)<OJhI^q$u ]*G(c=TH(ku&2scy/ʽdy>}v U_  |5+Tf:߲!ߍ&27ōtatyͷ?x'}ʫ *ziܶ K4k~%,}~1]O#mC8,Ѯ;G[SK Hu] [t\ L/ZdYV!R29f];/ ~ɗXsIERNmu~)@@gK e+Q М$(PFQ>֜t5+k_]1wC=BY1iDZg<,$7DUZ]rM+r00VkGaϲ ʬAyfphc:{Ή㡌10:gSZ+gB(rC F/ˆ|Y-|  )椽5ߠK>Ys.!OJL;(6+\mm0gm=`M7In յZFR47oxy_v#,_S}_Ƒ¢@T~5g@Kc[n%.ri5]}R0*Y$6~9~'fY{uʘ ~@{9jqyQ;шS? 10RZq'%A"+|/Nh{tP~N}DD]?v+'`v$QP9X$c_MH\C7Mc-DzQRD "x#z#+׸w5c4AEYQ`3la CQͮq쳠\$ z2OA&GbQu!A")vQgw*i?"KQ߳>;()ƄK0/ZRT|3&1d(NLofƌFhzMul>J,7:D&M:qAV x8q*]CƵ޻|Cu`X T${"f&*^=#Aul_!rc ٳoEUiٗf[]54 #"mAQӊ#@u[9fuwQ́1:HgRhZ5P] U9s :ZC9\N$2mox,'% ^&sɇW:m}54o6 `pD\Zhَ\=Iv^WQ?Dm&5x" @-w Fs#`9={M~5xq!jb9 ծ@>Dʓ}ZP?y?Kkt5;BSԻtk|ɷV` jI7Kg";}nFawfzRH;T['4~4_h)mF8M;tw-/K ݬ+mJDXY Ey#)lGTԛ'uY%ɥ'Rcd/pӭnÄG;7MU-? { ӌMsc}~Þ{%Q51 T",!*IDIulM ab8ŽN;6-)R[ΆP] M]|TΘ擂KJfJnb#D(Y ;hauXZ4ȴOyE%qo\Cfײ+mdL2yG#UǦM} .&lh]x- &O> F_3t͝D|%R 6L3Y+V/b(hC+:ݧJV r/ Ep-8v 7[,*ÞɀpX ?7DS((3cz͆>zi(hƤWs/}›X B.KScSOO7U;8 ><n ڏuZpK,S,Ƌ$@IVKpϚ+$N |&471?qbLP5Fh 8`{vy,eb2NޕPWQd!c/Ò4 k)# *+r t \X,W)ٷ98F_x`^R8|XXsۀFWd5~|FC/&b!gnA}3Yʰe% ɾAag.*[2؛m;o)˒y/p7#QeIv$J26 E}s!!fV뢦 VThOƫz.9}G984-;~wySphCVxїy;h,vKq \fG6sN\vu-FΗP3I5=q!ƞ>h􈶅r~a KzȢE.PF#s%kL34.˞A@e:ͼwOT\2OoX~A٦d1k1KA8yC+ɔ߿wq6B(۸.sC'Tm '":Hј>A;oW+٪_ȏ [}`.MzI()UԈ"B;,ZF82Iy਌й^w\zfKVeٿwĨ63>kFڰ;qc] qb3jAai4mF|y76o .1X Bjd48H Spk*`:r^yuO^ذ}!}B 8&4<*ŴI{ f+!7 xL+oP5Ӛֵ>R^BX̵PPȎ8/m/L;keFxVQBwsQIo2CM`o>ZHyu*gx룷  L m 4ۃxXf-@V?ףfI~TTz +*aD0М̶hȫ?ĪZ)_Qm)@ˣ{L1MBz 0;N é ܎_ZT=ݼc=t"#~Z>E:Ԗ6LPa;4m14ʴL,;F7#~̼-9IȢw,~O)(ޟ& BDƔĝJaܼ,^<.{tđWK4lէW('Kf:_N+jl&*i$бcL?_,L$?( Ov%5z > (]/~ (A?KFβvԌBfH SOy{zt<v") [Sӊӆ.ݳhTn> Y9f>Gxn8hfbAqϤzL腡Mft;C $ހs(c3ܻot;_CS  qq&Q?jOXs_N3^uD))417+yq) pH{9e*nl$D.&?#/d^]zc(83, ޮJ$E&߰\2q4|l>E_ke"ֽ>Ș'vo}XjC(SD&9',bQeVtMA䴯{"N5ku%5%luZd9:2q8TƼ4YTCL)@L6\c$fzp4@0Ǿ"V&?M[Q}~vU{>m+1 XXIJv-KSA70,/%-A6"qqɈ mT;&,5%O # 24Ngu%>,z ~e : ֘P) *ଠ MO^E2sF%P12qz5$'@ߎ)t0<[YrQ^?hrc]`KEE!XƸNM`1Ooh_rCOQ5w;;[}lih0=Lx>,XK3/vhi *xLݾxn /3RO-V㚎MË0%,"qВF>iUz6k~,>CK|+\c;t5m0 k z1v.DB.A٭?=HG+юZO&0VKWuvk$FHJG+rxZǴ4x m$(2BmXRW--̣@7gSR_i!F#m!d[<Iq3wϖ]ҋ#5scB~݃ШpTovۧ[l c^mt?1Pl@yõtm~-~h_5}KhˆSSyOjzr"_,a8jjZQξs]<]q5}< 5~ cw3xΰJTk ꋟhÆeWRn>P_Ӟ/3]c!mc-^_}i;xjLMUM]4ay=$:0Ʃoc:ֹD;כhbw0pFNN҃$Ln刪]v\3WpW[3='1!Aqw็R7 crk}kչ+BڙUz.@1s=.+!w}]3!`·pg x߇Ƚ%C.׋TRU nZن 덅ÂOνxUL:uϝaY"+Œo4E4rOUCkN6Y5E/M,[R{-/OJ.bFXދ=Yգ_uL,}zݶV6,࿪o7-|!/ڗ:;4, 8`S甴RuגLR\s}YHQ#q8}+~Sr 9xƖd&fT~YU E"-]! )CEo(;}+R j۞}]ɹ Z@fŮI|UH4>k@[۴S} S B+)h\|N19zf[͗Q!fOAp:o"6 AۮNQl?7puSx wJ[jLZۃSi38fdG jG.Ty S kڏBEV lU\m|HyGЍ=-tACQi/ϓGiH:vG¢WBk/p{3g?L_U\]0$m8X 5~&ޠD:+ƨ(l^r}1 -fqU@~.ӟ|a&;r/v#W@ [H66nsNƕ"&\&u7^J4W`a.HxMCAK N~X WKIY-<(y$ /?(3V 2d1|WZkUF5xgZ Q )"5EIO"莒a:٩25ETfr{[N80By=fSWTIĐ:XQw,:%;j~ ͡5Nn\-72džzkrK~cnڥaLXg] MHLZ&1&ڲ[sZ'c~/,Ys[PY.s"ƎeT=%mP!\V#~> )% M4BaS= f}KӺS70j${ONCwP`n͟{6jC/Wϳ91\?U1FA6m+M1i+΄<»Xv.Ec5Za0d/50~j`1Kl$'sE >?db?X$PXfEo;׺<Û A,G/#cUޯ-Q Ꝡ܃ FzDOګ@{btc\@,j/ENq~J͑ӃYV˹C\B::bru/۟0 CU_ʐeTomR=BEH4~T1Tf=mc^ϐ%p^^o..h'd !luIcGP8̊A:ӎLWo>Ɛ7\nN{  F٦ʋ{;cd yf]DP|d[wW"ǹ>)&CRPoCd-?,R/T͍M R׈u'`"3Ղq7V(>7ڷϡHs_Q_،k vTF[s%bGY`@;Pdg%:q<YtQ {Xȸ(b8 ^,mZٞDks0NzCq!̷Ɍ}h!9\dIGe%{{BU M_3V wW^ۑ% V>]txo2oSQFE'*U5!M:>RzS hA8yEdcBYU dhy-}#mXtU7PWZ oXt>OL& Nʸe"awZص%_ * -|g5im9A_#CH(T>* #`gC2X≽b֦e?Ʇjߩtǚ@ޑH-aD$)*ZKD >:t礠7MijkB\o"{>C${ԞiNnu{XM*~꒣%Նvm&uCq.=~l5O81Cl,bA[(tx aP=b s@,t0)4ƇH6c;X|mBPi+_LI* 6>A~:jj'ۤu:?YW &cAa \2&Zlw 8?3籕hlPggT r@17_k\H[ ;GF}rPU݅u׸m\!S]n6w'(GD{m |Sj b #fDZŘ'j'?Ke\tv|YXua/mE>'N,x\JP0H76sMʟY8Bu5U7,QY~&QЪ֖}>TRc f{Q qm񆄦hJۥSo;fߴ!bPz(&CqlFtUD]= @L%І6+b!FqH{ȲoZ<d(%]uOp-Q[EG\;” wO틈IV@4R!1ad\FB?8SV{=mvܹ <2 H˖Cl  4:SzsHTKIFmwHZp8ll7<#^a( U)azbs)/BdI+[=e{%3@GՅh} \ۋXs_ۃ!\@?u$w 0Mt:hJ9X=V*s*i·D; C40KT=γV%QxJ=Mb z6F%vNbM>QⰦ[24P]Z)rKf`JWϐүk_UTP9ڒ>!ch*uH[v-q)f|4 "Pq1!4a:cX/o5H8+~9< UGgߥi3]{.:ܠNӭ=Q'P%N%e jk5(R3 aA݅^vIUB.Z6 -峞l]rF@Ym0xŧOPyTU*".uP'g`Bja4%/>d y{{~V=7ȿ8IV:/l88:p9]W0v(*C?jLs~( X?C悲NI)%}:4-":Ҏ {>z#.ۊ(N<.7'}|5'">E#- b]4 IcGU^SKai{_}ԿO#枸; $D~;P\x*{r$啌P{oy\d oȅn"4I{c@^3 KV[#;~HOemQq*0v _8:xBlqZ!D 2+1+/LrbH}Α+!are4^tei z7KwBs6z>gFI4h%D;\M?!.y,0sO4-怦>_b ^O/UVbL@].ao9L{ϖ5sfJjYQ9 >} D@^!RRqUV-'bggё-iwQ`=Pl! ߃cmc MW6 4 LD TpXT?:p_ o8\^O1n$=5_{J;@`vvN5v_H8.)g_9‡`jʣ%ZBd>^dCHo&We%#ɖ-z'<ư'I|H~X ZxMKz3I5Km ]e,yN:hެge&֎yûIo0F;]%g["@Ӓф#߾ lx28T+\uy}%.OXvYƬC7%DYfԽilB"+:#=RPZoy2Yblr\+=Թv?f{*n~A2e-g+Eh,Ǒf.F㙨 '#vۏ 4|a3=ܢr =l-N&mRMCRe,~@^蹻Uu (IeyɒIw|1NGD~* kipO!>Pļ0U@U3s;U{w^rv}l m3)g\U bCJkSޡPrj)LH,"db!ډQ_;me{\m'vWCE@&ǽpmPW41o{6VPDfELO_(sfhE9UEoz2k@|R 84킦S^ qK~ۓ!+P8msB" u`,C [HsIv75jZ?$ ܃8i;ݗ SB7 `; . >Fٜ|j1㽱$,$\ږ"º$1L*~AdLתy+Ļ#0_"wկ0hɑNxma zNvlQEDQ%A^X pv_KaKhtwfC"$ٽ ;t? a;5oLTx7LGqJtbr iJrvꖷ}]s顎NA0^ͺ 7:.A|)iV|v씾j7k88eB(-%=ybc2:(kLSV٣ldv<8+?*LZE$6sBU8 ~xDy%O.l"-#'W\xUkM7,X>Lyͮ 4h{ئMJ Pv ciLl:!vgH?B2,κW@u6}FʅH*c=rL t_T&dbA<tu\~ HA!/(lNü#׀TLWrzwKqa-JflTf2.NM9*RWeu7uvJ dĞ\TAk#/ Up oDaO*(=ڋ>vd68g<;_ X-'MxAYelkB⾅)Iu!l3;C?jlEr>ĈM 2ga&"Li~Eu{;>z )S"\~Ѐo5YԒ|i|pNB/&xYu}XӜtڣ ϘCGswF|[Qg_ ?,S!klDEYe//6[q\PB4drVY?STG\H]Ս}aنw&sl|h<ŘWPQՎOvtFH8VluT#ъC_΄Gi k}w†+ W0u6/q~Ld0j/ԏ9Jy,\/Cw)s^.pE("eӷ. X :^J-JB3d6=ꉸJ&*ARa44/mtt8诊S,H!,ѭ|~O)S./r0;opAxð&ovE7ǜzTMb@z}L퐮C&wo鑊$ꄂ״Zcr3+s=34(Uh@,.vܡhu5耇3co1qRSu+x?=) !dg%aF4/pR rLשЏ4Aj4 u;};Y|l:=],w7|S |f"t; jőjE*,(>rʀj)=5Q'K^ D!5bls- CAq~#3tࡱW±jff'BQz#K5ܩQ1B 0S^85_kJ' FCsHqt=3[iA{CT;sn#\ vu0V#a$0vJrx z7k/8{'ʯR"Z!"d 8Rj:DzEF ۅ$)qƧ,Hq!TPjL$O lju{cuY-Km(#,-/ .mÌxk`}H]h"W,c@Q"ɕ?&P,aOGL|&vkZOW [,u+/Qڔ0KBR0)CVa"S5 reQkxvYcl?qFàbib4W8ض(Vd}(*+|`%0`8>x#oIJ fW!v<жy=K ^Rŕ\D P*egH06V(:ljJ[s!Z9 '}?7>'0S+]\f]2u/}wE` R5KuId.+!W j 9Du}e).Q0]Qgj6Lee*{qӧ-r^φY2r+78~oc0.DT.?@ PHEFun8Vex3Ȁu.Ũtz 1qWX^E:̆HaYDqo!$ߐގi6ĵߵPQ/j,9 4mT:0KśROQ_y]%΂Kn[UWUŜ)@'Saˇ'b,=|ni'/CG0HP ;nZ/@yg7?7r SC#;,yHzWYY) H5^h%+ۆ%X{Gn_L9$n֋ fc<-ۄ;mK#))֎%@C^M^;ՋndqV*f!c-{Tq?ԓK,K]-jc!ݡZiw꾅 pKU˨ss[X%oIy=Ƚp3b6`1/ޜ™r+ y)lVE&+f4]w!$ZݫVU*ZJl|w LC塙ju_ʎNi?A<^{4S;O:@+K~D.=C2]8c|Ty+N|' g"_DPLfHx & w2BY ~-LُPǛ08='^+J,-5EYkQŊ[HO~,^}}3A0z E? 03ȼ K'FkIYe˹~Bւ Zdڻ^\Zp>>al*$RBSw܈1c[ԙ nd bDsTĽqj-MsT&rtHhQ'\_~rG}@*kEgY3>5- fX7_0-iI?%CM#dpR)W?WҭˤOm< J$'Y?*K b &Diq7VN#|ߡ;KD[uR+[X^N6+#4sQul~ȮpL.5`|8#Bu n6󦩵Z{R2s.}cl=켇 h1œ LyR!WI/cM\V"ZWRمS^Ƴ9| ?^'u%LdHd2ۉNpo:T`'jP=4 Xܷ sƛz4!(@{ 0tm:㌮JNITa-SHm2MQ+eȍgj(0x3A\HՄF2vǘɺdNv%HYaq4!-m*H 3(!teU?L X`_1l{ۯ&8c* 3R]7v1Ϧplk c'a18d1SQ/>-~e%z!~NU0#χ;U۩Q.npL2cZ>7íԛ `6 ,*J](q@&`url]F{<*]mOZ, -:zٖqp]A6}6%U|8>(L""\ߏھ[ru,EUhj5M YQRg^yih' Y?A&@RT([ w \ɕsED]Xs9IMxτ+ 9~t=}<~Wd!Q6F49o,O Tq³@W" h"شw"+wCw)i˭޴ˉ$S:L$ZAaƎ`SaCbXD&cpQ fң&|@zi-ِôaR'h}@vL۵Se-jH-!v,jTaUzbgo AKdϒG%la^i/'nvù12\9Y$/(YxcnxY!KNGл =RH9-ܞ5E\93ʉpoJǮ3,"p$Q;JoI޵Sg1Hl _7-q ֧j%r?V$`TfR94~sd**:zQa'l 4~·Β6,"ȮXa:;n^^"1D,c'ϡ]M;t>Ŵ phQv{N,?qg[1UMQ<ު^rUǜǗ@ "|)s%ޱ?Dњg( ϑ+kȫܞȽe>U1% Fsi'2r̒9hYK 69IIhG_[7>hFΙXΝ$02E fR]田Bu~XA`e&0'˻o`F;=_Hf `e+w8;^# ,9% k6هn;VbD~#uabQ}Ґ=3ʹvvqR=&0IH8Ns,(X-kY_TZ@i1zf{:?=469|p (uin97_[-TWt"(Fᩙ~a/'QAG&P)G5@ʖpvw-Sc!>)Mw/^T202~^u(Ms!׺o')ES5Z $rH5e3z `8(A4ְdhOAU .%XO Ml vf1`7z0&Ha.G%E5%25_E!ht<T A2>jěQqnIMo쑛,.-7UшMMy8hƴ칔F {cpXֹmûQgDVq/~a ,Yφاks5NCeuif j0 u=n;3}/0n]:(r~O3:J[$Xb&Z ᤦn^fDz!YY(2G='Z2]iÂ''YĴ3vU+eDiAѸ Y5?F ocu[I-Nlv+ G=4w{WG(r4aX| ,'D136$ g3Vq1~XqDBAk^kbo)d0C 3x69rABj=!Cmhz(,&1yB-jS6Jґ{&SeҌ`츚W,[:O_$sA v g^eGf] (_Tbg1R4[HOٮմrY'XJOeĸw[컂<cz:Ewxփ (XgN|c>7[7=o"#R'PȺ E]0EnqxVl!E>J7_љcL ϹwFu4.gRfQ 6 AҕJ %+6Wk0lkɟm?br~ Zٜ'܎Bʍ3j|]>n-{.Mؖ/)xUf:qFwƜFNF7`Ye]Sp~ZUNBt%Ma|r7!kNeDMNvå2{/I g NP{eFro4yqD' q3Zċz7@S\T0[h9r^.txtCVx$\M{F1lۗ@ABDQ \6"MpoI5zj u[ދU He-4Z*h?>v0"SVQ"XkJ=:.;Ɗ8s#&|R1\m. z ;D[ܿ}((uȲdDަwĤ"a'ߡꬪ/b6&Ղb/oOr,.-x@.` ,3g5ֲ EazoE5I=6'Px  K$ Qz&ඐP*G0| 'Ɠr4 ?&ʒcdnu!"IOĽDy.9}2dyʁputۡ9XqӮ8Q/|Uf:Ҵ\UCaw ]!=Y8"^r{0|&'IhO?i {tT]ڭnf{%2D]|ӱ`P c]ve:(f3BQ2cw#_.!!އ Y0!_ o(6yWz៦M=3e? s'?IQ%~qr+h"r<kekQ6#9R^{gHxCslWѧ^ ]?<|#ρbSi]#lA[sp_dBZ{sym: -\׭Igc5_9U KѾ~Ļg8]`@V "bLb t9]:++C{RtA7 ޚ:ó3z5BȽG%6Yx+h@԰iQQF aP2Ph.į3NQ8H6?Znuzv%Xd.vc-YMʠepI|ab_! 8νYQuEu};*lQ^-nYYOq$l2Bee Ǘ͕MMN>\U0ac ^ R;LA Ẅvy}wUS &ukBCTUU[Ym-SU";ˤ: !ML΍v3۬sh7%=90 : !ӯ[]ĥ|4V&0^"DwsLڝ >fU Nh114\p&:l0 VsO{*jѥ0 (KC(SR-/$7;Fh t u(%;pN/dmU{>O9hm ~s}U+$)/bp˼.-Dt{#W56BBY(|< jrkX1~G5/z/%eM" }̳`\8t CE='֨ӁPLn0[03Ce>Uc|ӊ\}XU֚` PoPڊ7\-]sLp{~|Vq"ǠvSJ7D\CyK=5U \5-{#&bP?Esrs\RV巼wO WGơrɂ wȺ`D >:/=JIz3Rw~nVеٙc$K^^1` sP2~r F/wZ'D=_ 37_߁М+|W|zG2kh!Dl(gzZpKRGQen8&.XXׯoB wˠTLAҗrؼBK'Vҕ2Q\/]ӀQf"ײ{od]otbpcNK3mk{+3j:} ">$~}\6&Ȕpa}Rt{ɧn/7dY[0kQ*DҋT2艟6B6#_,[<-оnNA?N9;7ʵЦ||f@Q4fOPD"֎gS[R$jI4;P?ٴN#} hO5d0 ]}XL]iP' ^I yG=~aMeN`KJ|hPww>6L5uLnMdZxjI4 $u#|+rLڪWH?O-6Udea?q3@"1/w [O>N @d5txSuE$ Y;R\򦫮ჶ4e~} ݅짜5gAJxj0ֽc0c Ѓ%Hf H3Yl?sd*&Q\NDmfu%ZoXҥ? P m4$ӧn̤{ce?ylD<\ADzrEn+ 1o Ll[f.>M껓^ᵂtrM,yc T+S̈́)3?nۗc?-GϙG،".Up=ÅIEqGF*-3!XV)''< >c2kƣM h_Z cAhWg+uq?Rr9ir8QmB+KLnQ'NüScIeN zQ֪3z>#'^]{t򲚪;*q݆msu͑8؝1wn' *yE0E֮u`a@mn=M]X[fwfPOhfZr`dfm)2pﰽSHe8BT^T탛f4=6}lK^jY0[!Za㼆d1]֦Dak?3@VbHzdžb2]^t:V8i,JD[N.џ -й<"?<匂h1(z:%qok$KC1=뙸<둇kO j7c՚F=tL8) iǾm}W9k[>1\B3ryB_肁ߪ;ĸKGjE ֞dc\3i5<{5޼B=ab-ԖGX5=QmV~<~&lAXzp7 $$H"I+`jDWzV\bl@Z /x9]wH =Hr*>gsFR( CF\w8;巼8,Fac &C*P=Y jKy< -&hGr{Gj ($I6!]C=JsjKaJ$>gN7AB9(>j&ßRa!O.6 T qF~l՝snpG@,xl3$RK-;؍5SY4滴?~K)ʷ E%sK=ziK`},_~69]8)1607/!xi]Z%oxH<+ & v>U9^VĚdH)bbl<qH4VmK훬T wqO.\e]~:lX &`߄;q@p^^a~ &lo}s@^_2&mRM B/<&y lRǩqC+*4X]dnD̃wd3e ̠2H =͘V4a<Ty͑Q<`i+ k@ N|p*M4q'Z[8,L3S ܔ7s6Xq 7IPۛz&D}TsNCh'k.D %imO@hګ=@O|)v=7>I|jׂUXqh1 D,0vx65n-j"\ѷan$k& Ȏ$.)xի,?jpIe2c1Hc̾p%M8s cp }-{nd#fNhJy*Ha- |%+Mjc uZre4YEe}0#)lZ>Hx?76$ڜg1lzŢ*"<ɢ3_` 8f"W * ;2i6͙ml[Dz/E cb0솨@:d(Kqf'mOQSژ`m]#gn&3  ۊJVw ?`&JL=+YjpZAbX-\iZ#sՓپ% o@G"pIȼz~FaH;|8iQ dAbҞc^eISዤrĪ {[mL p45H+T} t]b8,֌_p ]d*9R.FPNu$n#|Q2T12 י,O7/yQU*߱"7<᳾ADGR[CТVsoy쭅Ͼ:jvucjfv=u45L՝?_Qt\H=FwPWq#72ɐ3$r`% :ǞY"Pva#+PLnR:ӌ2S&jjdlB@C?ˢW$.#;<%YDkGe{%ԽO_vOwEXbC5{lO6ҍ0Xp_Vd'ngP*}GT TX]qZԏ" `"aKx{D)db8z{*xf:2 1lrG #m.N~e{ub=\H!XDB~v~N5K-Ky?wCYX]w׏zѩk?dWm EYls6V}n> my ݖ3-?,'._A;(7x;T'nnq٤g+ёνZ}p_ӆu<$wݟ/.(.vT&#pQGcDYj%{|9;i(A@wŵnʵ~cm3^Q9|@JqONԼ,L %,| 9si5Ի.{z▗!'( jzM:DԾ)GƥჇ*!Z!(n$#uf:r| 4,x&2qי-㰷\&7h(z剞9C?T@K Vh-=/mr1Jyx+z[i K_|5%( z?Z7h%A ╂]?7`JeP[f!wKuEWHs=-u0q:d ^`hA%%рw]"I%aOy4z`n]7:vF֘c$q%#Vhm u; {Tt[bct;Qv>o);mFp?2qz? x4CP픨sS`-OGI찄KP+ЊڟĒFknP9۱Cwna]Q0WtfC:ճņ@L; oa[;;(@᪔0*T^lg#TYfa I Y_3.wЍD; ڬV&rcV"l6RF %NeBH3it$MN ~n~>}a?RͳN*uʔ51=FF(q$ fbUl KN;3}Xl6:/T<oŘg:4/!O,Y+PR=䎽0dd{$Ky=@JО>rp[vZW׳N_qCjXIE>+gaX^54urrdWcTGc@ N$\Ӕw3 %j7gElA?2߷IpY* "3aftQٙqQA}$GԼ$FHYf<+tQXȣ*j<'Bru_c2c4AL- 5CL=K1L >/H <:ؘi/rWz(f1;+ ]|@Ҧf 4 Fx *Y*=1p:8M<*K<];5Z|:`L$m"$XHFןI4N2}X1p1PMATpt M^FY+!ݙfŔe5)TkL.j{g >/9})i"TA) EG-8_s_}P4fG@v.8eUGx%7LL6}'*䛱E^o%4UHHro^J.h\ݝP/(0/5z.A G%21VIu.򇍖OADu_E?5< :>F]dJbǂU$]QEkH[}zbrloP(_+Tn~dUZ2!a X[z^|-&Wv} ѨZ*jOfg)Uu~$0~T,dE,7xǃroU^ Qֱ:R7.ۤgwy4k*FD3:UT5B]Sl˸'nm! q $ If2PIqBnVucrllkaVӽ'Vz&DxX\W-l&YbD u9~DU2K ޞB>M[$fTs(ddM~3"h}P kh,٬"xzПjޛ&t^WQEy4,vb8Ζ;A ޔӗh+{BD&)j9ѫuJ? E-,;B9F](f|`jw]BxaޏE?nrTaq}_?PR}Ld#{Tm*WbMF-:DZuY`c ;zޭn" gهwJʴ;RBjZۺR:G@;'0DQkᆹ40@u-EcQُ(h3e؋MAz J*/0X oM<)P+KeɽsT:}9JfU,$٘Lv"oj"$1@8_#&x:6~K~%~p!swEE?joş a9 XwAp&2s_SViU~i]VsDγk" ٱuX,:PLjrr.qcjx&{N8đc Z$@H#\4u`;ej2!Uoo%aTX=9uG:qoCpo81wcAxj݋b4 )P.^5Վ^WݖI~HL&wmc۠Mh{gr䟎6UB^h4t g,8JT'JkNiIx"Lߨ E}'.(Ž9A,C|=iG渡9z 1Քٽ|>H"⑨ҫA&dWL<ږ0LFE5`E); ?8=CuмĠIe`v*Ҧ:B|2=~j}"//Q c+yѯ Ё̧k7DLr[ -.Xom h D MO໘p- I,/jg 50с~FR79ҷJYrlQ͒W|FW c-1V=Lwݩ;=\xd> Hlۯ-v3kv7 apfmHNEi.6.A? j$g:\ZvKvEjoafȇt-/ߒrFam 154ͮav:[NIN]T$HJ׊pb:ߦUin+gMf= r:q?8alȂ!OXb}^`/k5ڊˑ8oBFd7f OEJ#/wzb,@r ;.frUV'w=+o+env(ŬTs͕r!xz)\y4*(#CcƖdz *VB."dDQ徢r=譴yӰ.ʉd5c`_2]#U 8oR@i!y\t4 .ˌ#fl~8 RtC,.;DD8+BT*ȹ-hM%pR;ZS4eHgo1q!Oշgf9'Vq/?,"lN# D^*ӓk|YjzJB>9n*h's&KJ8?JY/ƽ?&ܗMs2;aٙ†6X@S53SNPm}irkt&nI AnK8p[7B]:|g>؎B9gmf\\4i8d2`伌kq* ]C.*4ZfGIYSh\tQ v CG`c.i;[~'*̝8GdE 1# 'BWnc (R?D劇BachMaTQ>baWhvt ezf z۸j5!#ZY e& rؕ=XG|xm.G mq}I ;"cCvN.-n,BH 8ؤ7voٌarUtI6A0YC pRL|F]wzG0ef`c$.:%"FPnGurܭp@!|Ch|c`6@hfgh6Ȥb "$],`}pD׆чj2"7$0:f5Pek1uy/cN\Q Bd#7_'_FiSt1:\fTkGvu\'ݰx `HH)M͕)-%@.4W,\E 7UvjqQ=fւ&#w+{ ;/Q5r?lDRֲM|1?Ң)CIl1eS;ɱX됌{rA_iʕ W>@?nyj@Ncm0 K٫OFM^Jy]tj_J(QS?%f_I4}E +4|37g PSiI,IƵ rAD B=` ܩP衶%7dE/:W#eonh0V}vӷ=qRHȂ[rЪ~S\qLT61359g/^ ~ٔa hڤ=]ѩfIP `{a_NđHOP6jR AZ<[WSb⚩lc52e'Daw=w5'=f'f,l nQ{Ⅻ98wDG;j NtCkTC7ll6mw%m  Jb:oȂD9bBY$ 8 C($ʙ{#m-vOj}@|q^]9i1}81|=psXPcs=9<=ަ_QVb^VF:+z!E}Rlf( Giԣ:aL_x7<>>R!YO%8k2˴m'<nd&NS#Eٻu|B(*4₅f 6V,㓷~Uw @Bܸ`ӏf :QA<(ǂVla]} =!wJl>^R'r]߫ S{%cEk{ #ES>t|Ȩc>(5R q,Hlq+#.=[M:;Ѱ"f8-\h11hћذ~>sIQ vxE; *v$xGN.MQ&\MK^_>=7sUmxgmCRn$YiB%.!rݗyE !9Տ dIo1h{Oyo\f+NXɔlտR%6 };F"J޳l@(=wb/Qͪ7j\?Os|3KSbNY|<v˼Bl*\8f4lo\ e2ć+]d~602@r9rO3b r+_@hqvQv;D-J(69=5zV?D}%e(6$Dz?^X.Ysd+I]]x!D#؇r4>r~?+^[ ~C`zF'*uoS`jKVdo)Yښ@Uyߑܧ-h83yU7/70jxZ5ŀN,φ(9]9praK9iݏQt۵UYAX;JK6Fl\c1| Zk;9R%|Qiߗ` _e-q]b#àKdԇMZC(N΄sz2 fx&\'~ t>'}U@ҧרH+sŊ.{+$j @gMr4뾆Nz r1Ex2֝JOŪ짽ȯHKoY;vӐ 6Þ#_-!C0f)0X[ N(W(G %|JX]9{,1Z栋ڭSi?,uY\V‡Bʫe25iR쏻>yAoiJV[t+vdj1&U-\V̾*iIr_ƒovF\Gk3>ĉtfK_,*$~~Xa?W CoY)fqO.qӁtmD[(rT* 42j>[Ԟ~7U|?fz~妸Bf쓹k,&U:YY̴'Bv؉W,H;O< =g(L#qQYaRB6Q^[X}&}g5ӧToETTL\LmWeRvY8}0+bdLws]߭ԇ&n!D6GlXNY7+wrxVtKfHA'&Y:rƌQ1p h̷u¬ݸxw rg.aFnL~Kxn;8w7ý r,0 )1<=,""Ї@T_=e4Fp WP&G(7A<|gSvRH  U&XF/8O0;_ <U:յlxD ["J) a("'rpطLw=4LJv˦*YQ6r2Ed?6Q?%{_᳡MP1Frk1bO£?@`+0eNO=6̟ژĜΞHttWJi:An\'Yv8[;^/Y$[~* K 71E+زUZ(`zLspʓ#od8fl}$N[~7 '5Z0K-pp][n_طd#9v4ln{T~e4ieAʷoW wI,{W[VlOHN+ETOեp^mx˽bKʵ:F54S8łu~i%\1sTB ua H2ɾSl}DJ?JqS96?nWH/`ヲLtݧ4MnA#2kK$@OvS e961q,Y-c?~$iA'=qBl$%0\6b%"^ǥ>0[xU3g@"OJ !;dCڽ.tȼ.9qw4Yn#[(erF&6EO(אbï`;"D6V7`V^}">6 0P屗 xk{gjL.I'APn&fil>UcNzUKlJsCh9C# VtD*OCy{eL; ,8r  0]B &tZg)R}wdQ/r/BUcPpYw˛+xJy;: AKj4"<[S2&Q5km3T4.+qLрx߁9-l@[Ffq:hyXCifztݫ' yhf2rdR 0wCoQcJ"{x,Ҳm{7>b@#BZDn^֔i z̠嬑h0Z0R[+]jLG @∫^ Ԣ w.oq psHQ3BT%5eB Ca ~Zs ݆.GzUGIM31FsvЀ꿕w:v\OJaZRnD c Mh'>CM`?‡Hvt~6 9Kp5(#<㶛 O/sPG P3n/αB1VP(h G̛1tXO A46 8ѸIr]_5aXؿ" (6,oPvܝHySƿ :#b_- 1p}ߞRz?SkݛG+k"/n7׏3-R1mǓ#@ 9Sմ|Ӭjep3 `Vԏ'i]#wZ_7>F{:1&SP.:ϊвxyt!Mۓݷv*ƮޮjEKxK|j";¼'T}|348AiCF-0ۻK j- [ls*3:H o߬5}ͅ;h!ג$ML 5 gF4BTuLJQ(,T>1T$]~"fȷi/#{WfE Yں^Ks_b﷍9{*֩t[ ^tX82Ab/ș'w "s7Z1ӉhF61lN}j6IE$+8$G< MCwZ542R($\ {{<Ly.)ʵ[Iyٓ?|bj`-[ZY^J)6RDUh"xjK.vV Ii].2HÝT?)M6<+{l gi@TMiŪ?Y2dL|Db* C\MF}#ޮ]tSOk}z 3߸ Dړ.X*`G|TQt/;R=gF]WZy cH`CŦ/屸r㐑h2 !H =P!Ձ6>Noh :_ͤԤ%e…ukk z5Jx=56n0w5a H5(=sɏ Ё;Ɔ6OXkNGHS:;p_˪-I@û%ǓyZ ɚ8q 1fا3ϹTA09 SXܹ7#V0!<}4d!! ܲ?GE%mB +x>60_u ҳUC@@`_zJm?[E.|D2;>05"4re|v)^ϥE>Qy)]eF_|dJIm-ߖtAc˸۱/9;Q<$y(&-?iи v+env]!X8}id25,1Oz- ,90ܑy+Tl94L~Eu i !&*%aO'!$?[EXa( ՞ 7YFv"Buk8 )PʡU+o:q|(7.@HIH0kfTH+T=)0`">xmu꫼Eټ4MA NFL #hrZoާvsi,] <;"!5ωD<1dRRgxxQD8q79:m䭥x.)Y[6jdo(_t--[p%G;v]ɋ,|M-saܠƞy>UqBF&5dzǐӝަpl|GμPj7lX|dXh6K6y `l k -P5:O%c 43ws-K[)o u_zs<QA^鐭e܄^pi?6l_taKhx HuTsMHN:Pi@;EH?1+ )05ԐZ@aݲ8^־K}u(ӷL?=M4xwL #uPȪ Z  &*6XVJv\HKaOxWm+| Z9k),ULK=׍Xg[5)w-d>3&:W]wGE 3W Ըfxv>D3ҝSU?me76a! * ng/ pf}sfyA$7ڇ]$x#S. S*+q"m\ST$}AP,le/kcv!Q8zڹJ4v4|FBt\æY~,rf# &{NhV4rjm42zZ9S@$v _gNm62(*T' !)zeСjX l75MW/}tG@c=k6=3lxTJ̅s"S"ÏkTfװ8N5'oY, 듷:/\j? ߡ0 쥁kKˁVd ]˦+Iw9Pw)dhMxHC8Q0IM|G4`6_Ps!:Fޱ=5x5-j,8-ۻ-s}:R[XY/Ʋ7`~(XXZ kîi_)!Y<&+!/4AܪR#P{ɟ55ԹDi ,ըO\?:Ӈp $ΜBT=?=/G!Nr3wCAyp(b2OHҌ?!1/'Jq'γz4eDt HMf-d_T?[D k+^M1[7G T79dLDMIn}q&0hA|vzӡarG=~}fo%d-QAgkHHH$T6gg9K Ϊ~t :@wZ.#T@]7.^q5g|)TQ5]w=^0KoJ 5ʵ^ZLFi zEŽ$oeHTAk!^:vI9p N4:S&RmiĉRdԞtiiCzHw2Crg#%_92SQIg (gZ lP}m_.GR^Y#$>izo9ḙON7lO?=3aUԀdX6mhѨ!f)qZN9b`WrYܗ}Ɔc6K y6I }]Be>NZn _? XLRz|7m[t'I4ؙFz%Y7F)f52\'^iطHY} $|0cޢ 3^a z% \@"-@S墹w[20%D֐rv >NviZ^ӯE6+Tk^'Zv}U >i`8{BfWe[msuLg '0~3WTę1ȥwGUjDv"ɩ* ܯCI_5 YcξuDAixm*&-5]]^ŀa2,)KG]S=r)2vU٤i \B8 9v5G}~gژzgm.e?ˢ7n!݅k4;•}" f)V́Z]g,2khFV M8UʮU;^FYc7V"H"+zaV ڟMG4Ol%9W!iO Z͵\Zsl"h "#{KƻsnlB5|ާٱNo SYhx7.;ڨ\/:i{s{Wi Qz7|:Yύʋ6Y'/ tρ@:Kn.B>r>80瀛L u5m# ipnc7Y/l8"AB|xErA.ڻXu|dѥbN@m\(6*;௓3h{'\4I([; evΫ!lrըqhS).'}J}t6*ɃOnϡ+B|o73R0uYp ada;%D>,H7u/|! $SZ*{oܦC ,x8ŻV\=<) g)+$=]SV@BóGnb9pVoYWmeCDm;o:BqZ5?L*qۢ) vB ,<*wDP*upfO{}+ HU .5ݕf9:o꺦_!3RcADi=[-PO2X43){Rmzν|؎m@/j/zH2 Ni` ]3_*XGNT2 Ez.D/<4F`+,AJNyߨT;^̍c=b$MVοAi{uAq8PqGO*_1lQ շ"̖jܲSF'\6 L9O5Ua;U)q/0cW[ǨYĵ7ld$'3}fR_R /U R.Yc[6OgAIUPD? cG쇊*5ѦEKxP[5eΙ=J/q(ѧ4,ќne -jp!)!K*aX+_lp+(@C95"erk*zQԻ@/P)jR^Ҥ) !&LOJA铇[?c\UmK6A"͞v4M<3 J7(&A 0 fVҖ~ɭ*\.GC8%;!n.x#B{%f9SvrQM-]'G}^F]Nf^ZWA݈|Me H |ߌP|M] 2{2)Y^rX`NFּN=BLD:܊+ScuW؈xl-]]b-ϝ~J- Y@Hu6D(+t*bIw%\awN [r>JmĿ ۵{8-QΧԣ bK/*!JH[1^kb=TuEb"wm@iq ,ry@ ;զzvOEȥ@I:)D}އ`EK~~(OaMӐNcG]8LX~oxX GϑNPuio'c.i:[.!x-[V&G:6& hCvȷA,,-Rk%#t~ݩo!L"lb$/׸2&Ks0>x+~|d+qQ]sGZ0;!b2@~x}(M` T}ow|+c\4zUpIDTiͅ"_AXs_^$8YH>Hxz76YJP.]raJ;; Cr]0I^cTl'j"tjU#p֮d3Sؕ&|I_ESsl& {:\14V[d͉e'ThbFƫlG[SGMg,PN D@ D> ˬN7FtS`&7 }D7Dپhvx|GAvb멃Wm[7#s*Ln܇!zVv{Իa]{I. DŷT$utZH+LX}@wt WzD[Z Sb(Ȑ12*f'zQW ;<< ̴DwJp(?8ˎ )U>jR`tN g0Qg;V(6fJ8*4~2LRфewРRζVyX{S"ѻiE 5V^p%vQdr@C`K8(Ep"iQbt2 ![n%xwGF J0&X)6-U-+nLqtLQEGq#v:/M„IA8U O6 i*Q?yBJZ>C/[Ltl"h"y0"vmґ x",Iu:k9 _x%%{0EnrRʩuڒ6xCTX$<__/@K*AC&+C$a)?^dKOz^!1 \QXg]`*-KgGi2% l:%i@tΣLjco6?h~.ʐL v%m``;6 AZc|vbI_`QN(G3~&UWY݃a)fM;Pt~RWEbAY>A.z,؇.Nm"E7d^H! : nbeǠ!?azE 3 3oRȵJi0{nrPm(Ńԣtd"Ae`t2veMhm,ˍ[xM4(R\@=NOǺS6JjlـJE8xev"J{%R9@bޢ:Ǩ)Sfy`Yr+jhe^Jaі)CXP j#oEVFiR"nC!Lh5!lpugwP۾ReJ$5䴔ecI4'sE1DJ uG9ƖBP62>0GokN~&jPJ—8|_T \Ƨv5X :ߗF9JQg>$N qaAcYc&(amoӦ&bN}a:ڏn6ga G҂z!T՟7ٰ*J #Ёӏ~ ^9㪧!Ջo6"]n<!\C9c2pмZ:O/1l`"=QҶ~/ˏO{HRt`=lX'2D/W+Uhnj+- /4r tf[)UbʄQPYMϕvzqE 0ekLFT8$T F wGU;@HzHdնe;Pge -N0EbK! {߮ɨfwc'p.)eO1@%9N(I(VUf[6M:إב[2ߍ/$| nx`٘ޥh3tgϭ-$7a}_UnuQ!=`95<֊Lx: ('%Z SjVV|?N}a u]?`"h*cy< ׈A*B&A@oļ#sO~]ޯ9rK{l;}~KdQW &CPdcmUĨ|_~ca\&{!ަ)3x FmF`|P@bF@Qd+[j2vܻ\YSfNƳ?9yr[ 2R}B䜪HKq6{Q <3"4VB }n@*G5̫B";?TԺ ѮI @g.!lɚĊ_/x JI7bg}Yl 9.,}Mi#ڔXaѬ"IqFU,ByxY͢ 34jO˪pdՀ7<ٶ!Ϻ:hk g␆niG}ĥ<Ĵ= /_̽Bi62ڲG=N2;43Qe7ߡw)oD)YmB,-Į@-ކT ^eY /ZDݣzرGgоIM$TNWbS{n'i:\ߢέ0Ϙzh7~$Vᗟ8~{POM AA{Ees^ lj-= ,s!4ۂ5aAOV|5c{*YFy6:hsQ䫴"VPv5Qcmah_ٰPm(θyEkg6E I\N}t99Ppac 1=Q"}H_ ٖ\@IM68BqfR|Q(`Q˄־YEYl % JԾQq$$`A&r.&=}R/IB5^? x+|淼YOL%Dgtw͘,?icF`*7v")&]ŧcJ"j$u-RԀ>װ5%W٣EX]֥J>taz%Ʌk4,Pc}=׹YÞUB-!xUM duYIFUA*Cn'_o+q$-*p4ՠC52ŕ?_[2iCI9,Dٌ #\7R (_3q}+&tJoUd/閭F\}F3~n#" F}p:#F wFp] kNXW\pOa'I}Tơ1ƾH_fĵo/q;aMސ=c ڽI_z|P}T+[w hbZI}̼P!W7ue?KiJH9fEk/w'HJCRHKix!k*(iZ N+7zGpwNp:?9ϑxyڦN1]Tr4G^%VO^/BQ0r>f Equ9{#B3IIQ,ް%w8S>Y *7ަW}uzQ=$}O݀UCmQ[+QPl`K@r=E[y% Pͺ屔A0^TP Otsq =YiR_^Uponpn ^}*d߱eC?jTn?>$E%љ?2%6J<"$T +tsО zgvgamR%ˠsN="m`m3 ՒYj}%0A2`U{qLXS ެTdXj.?r@17{,h|9jٝ1Es* *]S@$pB%]'븃H>'^B 2| pH{L[[0z9|Q`bSV ^W^lqZe7+;wgduSJ;R`eH-7N]:(qu9:+mߺRvJͮaBb޶Sׅ Ԭ-} @q<ו q<'g%_FFGPm܇կCy^:eJB{RiA:@dhas2>!.ԹLq ,8H0"}XެNCzU$29S 97(N`0WXQzX9~RV{P>L͉DeQ+\uDz:%,ѴƍWV|i#W k}yF@g͋葛Q%1aҰbsiRIZW )>p]v ;8z2 yOSB푅;a>zڅ'O"CwK+ش S4&kó=fg]7Ƕ'ihRԎ[ivYQ(@+Q!1p7PoD乙 :rMvVp!v]Vxm*+I]!5nsg8*j쐊1aJ'Y`?| y˟-ճL3bRR~ o0t?⌵ƹ\yP9p3)KLSE"ÖINfQx=u !}@x_׏$O̺Jp#Ud.H:{j&߿]Si҄qpIr@d대z׎VE.vmѴ`؏уj;>V (g(@Ȱ!U굫fHq:6s?v{&rQzy~5yty8q h[_p\H1Nc%|* A旭 O?gc4(PQ7>vIW#FWFHDyP/RǰJ֬Zӟ;;ܘkxIMzarnRUcGy Bc3Yp/ѴBnX.7yj+Z'22xLWkyCawRXf} y%@v%67ɐ"B퍾|)Gp]9}nv%, e~3 N$"9bQj[VbrNpبT8G eFx{atrz"fRv7aE-YP7s +4!t;{b @DpWNGy@*,Tx&|!+hL(f8([<\՛X u .{EH"Xb>% ^e9p.M0*lUC-XpZiѼ,P_->l{'YTɝ vy N s|<|䎣޺VϤtdjRf߰H%o^ruTUtx-ڠ"J,ѢNIBUცS b1Hj},pkr} ~/bd4-aa&4L=½6:C3(PAS'X%:z2,8ݬѭ#F#E~y;)-AOe!kwvO6.H'x(=}gt h(+xZ}0Wrl"#F*d;#abTM |Inu)!B4irfHǘpe@/S'#C#sqY )52r^ں5oǣqߎYd/adGwMܫ I6OӠkW1e@0qݗ-?\i|$}VBTnoV5 e{>V%9Kf8.*bLJAVq_Ls9M"PXx:C2=Hn\;}FtV{ћ+cGŁ3ycE9{^$>jB ;ށ/;?b`물^6"KhXL >\{FnE*U v%E˕eJ@5'2 ^3')2@ ͢%@ِx̍i4_N$NrDφ;:n}n%'Ʃmw.{'6ϚGf`ޖƧYp8%zPJ[oG[p%ƴRi`|r$tͷuR q;d{'rؔ'|N4E"ֈ7jU)[Gu2Tunbi]Pu~6ks߇cnkFeqlچ E 6)q,v.LF/M&JxH:yǥKcj6&$1~w OAKbYr3_]9Z.,n7>mU۫;?\Ԑ2uzvW+ECUێ mԲ<)]nf!4}5y$T)ĠOMhÏh;kG+Չn1 dkvΓ#A0h2E&+:/䪎kF*&^EKЙ[!mLxZwКc' Sm# ];`.Pjli&w$C#PTȌwu>,PceFrx;)IkeGvO.gM!BՍ(^4U1fCؐ9wX/o&*B6֘'S 2VH$mC =_g>v-"Fd]Ca[)k WGր0 vlhAғë>tuHѥP{ȫF7fSK&7oz{3p^&J΂\t'#1mu49pPݧI$8ڹ_fwucquF@@lJ_a p53O@sIup@*Ա3h':wXKM^5<@bի.SJC~F_XNjݘϫ}Rr8:lx :\vwQyuӏvw4UԠ#DJ-h ^yg%aG6xVSk` *UGҲhNPMe'M`'k5B.W@=f,g=983ac:1ٯ[DP<Q/ }q>yxvgeשUn%|(sD\T #&kD9JD^ dj<0{(U^:? 1I;i蔥{Llջ<|m>d=w]\Urx; ;vf N'{( !^K;47"aT/ ےȤZ-u9ǧ 9.{eM,3WeوT5s;Wr^{ zjrY/TX^SãY݈0]YҬcfG /mo!MI 'ǀǗJmj}3ķT dBl:r=[;DM*8+L&d"h9G!`O=^ejS3ćf {r4#ܔ@yvddz&^zXFe[%Z3 K,sϬy{Xw& Fars }X~kWsHC$SLQґR Đ>pk{P*IJGGaMORњP1IC-)׻Q<&#t|%kX~}9]m10T۷r-%c|?!a@.3'qu$Sihh4V^W *t<4ϩ,ܫf =WVU{H4YS*D2Iy-Y A%/?'Rja^s,&AЇc+\`9!4c0pWqR<Ԯz2Bc*kX:ch%M}8w+ R'Wf~bMP ͱ s"6o-ar-101i7:qNZ}N:JTE4zsc!`^yI{A`$| H[]Gru7oX'%L"fd}[/y&l~f}Vw]u@3֐;Mf]>V J)gX-vrX|%-{s+YC(htPkfv0_jф;BF.rU4PUm%knu"x':85?R1P)T̢V-+B-/VrV=ˍ7߮* CDpۊ,8ϩ-`0jϨ7.T1}-цg[B'KCۻs̵k]?s4ic4aw#P˹ĺ,㥦Ҿrg4ŧu Ww,uM6醏&mi++Zu He p%N'YH L!`aL/dާsPhrI_?(7RŧHX,&\,-{#Wf7 SI"{y{(hrD"akp W88@SZ p{ mFur/t(uH>%,*u2 vH~v(B hڲBo-`4 _Ŵ kyB|bC1,AJ. XpE}҇)q-jmfwǵmm!s]M9,WtNe| dT 8޸B3=h7\Ğ$zTpe@)cI+H>K< 6f\Li 0C}c(^uEdL95%t, 6yCeEiVM=,]߾|źkC]:Zb wU߿@ bθʮE Qc̊Ew]>BS "t2KXZ!۶OԸ2BNϠE9عPǫURL Z<ڂXb?C_no(z/enwaLGfE$덾<ږXAM?!~Z! ~GCM(`T+ra~ȭrl3u#3|b.\ ]P.jOGwu{-BdQ'lgCxa$$EcKiUBkp [AbbG =cqndaz6e6@&#Ldtެ~ 622Ya` j8my`LӠl (%n̲с>'Ե:&ZJ#F[:=zD.^hfXvz,3 rԹ:jq~- wlG\vjX#}.k,b ?L.4>M\xW~6-@U~тM'u^@6jKxWr0f Iy;24FpL0/R,hN'rKU) AF` ,op9w{IZ~hXq.Sɳ/wd^HgoE?Ca2=86usEf|I] NjG#%c{LȮ-jFiC*"ns )>3%6#t ,tS?iءтO)g/ƛ[9 MeME<тX%[?Y`_],AG&;r/W:wgs8&B˜{dV dk2wKw; L{]:%YT GkOLr\O@MA9Q+mKEL_ _yj4|87ql!d!hgXffZ."5E gdB4ܛD*[]3z(wxeLVٿ*wsL)\Ĥ!Js/ՑGSĿ6&1}{greD%̕K[CI)PBPpe9,[MI|Q:FĐpH^.06(Dv?w֐Hx:QSsE7d r FUs="k@5/d0*9blFxUd[)viX>P/Ҙ 'FwgElןZˈ |LwkvYv)ϜXU5cm4_NCs}/ɲs߶>%s$?MU̵?#$mL0[=徃pn%x[+v*<$D1'KՙLC6=[d@wNfjds7~Ԧ,Yx<"~wBqOdpo\ 4l3%c i7{3?>ķ`gI sS¤r~o-ꂠQ->“wʣ~`3^P; gB0`]Bƹ7VME2U]8Pb̠ /Qv.GJyZٳ@#RFt>~']&uhl$78` АzM|C6}Gn^G%Ӛlk2&3D6;-2S\$C4 l-UUM~; w_em<6#Xa&l>@)Qv;tC`$ISl7[7T<<{ 1/GҧI`ᑞi<܄DC#$K#|J0Ǿ۞# o՘Lv31|./'ϸ!76OǩާzcQC뫷;1Zz"_GlɈ0:$ nzMsփu2WB(▢rfN6_2| ivrg&G+ _䛣d$ y.[axx PN6[doŇH RVB-gȳAf pӵDIL_sEY]%PVɛh6g5>$~@~8މ߾#pq5Y~]agJ"=d*WIv%e(XA٪$i[Ǔ $FQRWHQGq[sNX#'$~ky҇nFf_9'|.w A"h #%2CwhcO.g1Tј\04[78M~ni?W1 )?qjjk"4H چр[EhCK wVnzo(鉐}~?iX\|PG̹d|' .J~5$a5,ƓL`>*'H7۔"U *xJ19 HXo.rGojy=V[.1xNLQX݇C&C\E͕!0d|X}F .g>4IZʚi{> #2I sGzB ^iK̷_YeF^FdhX/e}\`3 e7)aѥoGvV#^ّBS5*q}޾K}##&zﶋm/w 5SIP=x0{M%(GYVOH3%92̈́% 67!fՊiqVor#NC6ODD%*I`сseGs2WsK4YI !-U%D/OmμF(o8ީuKm8%*q ݥBH+9yT *||Ylms[%,|\ĥ3P8wZXݐEp5`Sk'{>_x3qCLTq`H$ֱI뭤 ꆠUPx2q*X#V$Ql\Yo*.QG,b#ΤpYUZ}) {2ۧ^! fʈ=R@t#rV6h]my0At7g?ē&>ZB.bt޶TǓ=&0Bk_PM:O|^|g0)PXƐ!'mYmɤa3-gFnCox/9̤`%Jr4ZuRC4~׹1dRo7܅pQܝLIV}EqaCldȢ+ QiIM(,8/.fKe?o s͇uhb%i!]M+AT%esqIFkq;_Vhnue ue}lqqQ'Hbs&^2TbJ65 W={,{+bĥ&YxD$v0 sr98!B2 :5 m-,{CtKP4j- lpo8 vs8PDKz)`Y?]: GeQM(/"l̥bFL_Z¥v`=P&pG}@w"0`5<PDl{ h#-.Q *L BF2?RC攡zLpY=U=>7tӭ8rd+e'Q z$i.e5oOcҮS%NR]4\H} e`r< %VhTŋ5+%.vEH ?IZ ƈ7t6:yu5{A]Bl$Lrj1b%8usؾE?X t$jJE*s n>D/ԅlS..{E$pl5Wo9R3d2h%Du!-N8Q$Po(9dQfZx4@ sCzNL *UϊKG sU\p`(ې˴c F=w,9vD͂G8}܈АbEx4>MPd D 3]9:2V.|Lx`ykj,>J#[<|N^Q߁1x$j[FϬفyN2вr4- ؗڭՈGtT!&לUTKMֈZ2oCzy@0=e}`6/5_#-Tfy_Q5 ^R;"~dKB6(m8^Jn8ߒ{`t3( //EVDS,xQooŪJ>3f|1\lGt˼.S -NƏ7;TEl9t#nLY:dX3=*{[$~oG8 Q-a>j 9ԏVDVd /65mԴYN!PcbD7H:K;`hNo  @Z]kurlX%vck\&=O󈳆܄_)rwPb#_u-Y%5а?:ݢپ QFmwnۈ$Kk;cf" Иu~AFc} 'B n_# ULuCݭOGLy :hd7"𭿷ȍf{@V뗹3\yD{ʒ%U0e i.% n .r1)NS2^&OFm<l؈n-70Y}6޵vƵsgZ&O!&?!0W9Fj 0'aƂ9u?FOqES1_圃[۟o$eXTP(V9#@.T k({-ӳ0z/,:߻PK_ߏN}A,ŷNɛ<>)E{J~T<7΃5?xLm&cwX1Bțay=1Un5Xdyp;/ g4䪭ց3ldmyaN^)[ircj2NE(Mn uPH.+(eXPz^C8UHxҪ QCQA8 >:,V`a.e(|x[=4<Kɋ5{~G5Nu_zX$m_jA%ܠ:#p.C|qQK $c3?BOH@˅sģXKE6+0eMX= En5y&c -pi Y(Ńlh^## XW P\bu 2rLI%aʭor>S{npp k4CeViI\MD>۵6qz4I _.QP|c9E%ա&u-=Ev ߶>!%٘_n%Ɠn.=N`j+{rP1axG{pG\v%*8˼ S%N\úokH@3M6bTvg$~ ۤX4qYQkVEWn5t݊e(~Kw#3u8%RW%۔"b6P]ɻ7f2Y׽'}'jpuБW]LnT<=Jtzߩ@%M:&(7:}/ʳ׻FGji3 5ӻj-! d;B5r> qCBL:bxL%xt0b pE(ށH? :€@ZEwϤlmYװ*AdaR!:7^}@mm?C/-(撺ewCcbOw坬Z *cgg2h=ֱt)LQCTdGKlmW_k'X0*BwO&]3w2v s(PUu bO>]`%=I@eU~hETҬ׀K@k>C<`*osi^ش%< s&斐f¦"kt6o 4p)VǗɂqٸ3`R; 䩿q=[o"pe 9HF-VC$y3'w?raJ".! Iʋw {zk ԋ=b k7) Lt,Brp"FyqNt\q>x> ›͔G_jl]lGuhqgOD|*JmƊ\; (]vڅAX&(j`ǀ>N\*~ycX~Bˣ8+YJ kقw+*&:*༧j=y@\?YKpu;錍Z&TX OCS._ ^n Dq 5˖okFOgQAԩ &6slē.a_TtFO)FailWɗ`D@)2*mj(7Jؑ+ꍑ(D6dAa{&NNAk+@p-.1qsIeLg:mCY c~(Wnkm$j0%t2hvy7bM'Zw~ړHwuPaT=`Wͤ$f80~߈ڒ Y &|b7l ˔*|<JCEZ%ifX~nhzz- Rbob<]َuLԄ H"cl6:rR=-lļ*N;Jx"2{4AX6fs2ו%pM+x Vej|x5;^-dP${QcHRre1(:v>K8%P2rs¼<*]n[ 5xOQbqd׀c"GpcR%(#,E3Gڻ/^EDRBMDU W/Hٰe_k*8*1P+mBKQrb2[3 v k5I]f7o? Yr7vuwb<$1.x֤\siJxK#>gmdoPm]JV*əEF|r Z&]-piEݹ{qů1MBW_y[NQ{F6+8Ix *h!a*{=4H[UN_;`c¯ೇLa̙J-]0ij2":/ḂZ VsVtmAȅ1kk|fLNY֡+̲n\|I u$/vk9!u1moE<fnUn!$8<߼"|buZ+o ߳2 gۓXfҕPmT/PEnSK烯]꡷VU<`L(-3^n?bp$!plBOwS˒I-Ym',6-a ?W(oz6`Y).< 'm8[9\1(7[ܮ];;L,cvB]'bk?+!C&f齑B1dL^snJd~@3CIjCI.*8'Q>syfuD)'OCf p\!_sĦ V34wƒij1ڀ1nSdN:?/M1htԾjF[Q&Ã1YRA9=IEtUOKvKŷ;KU  2 ()&l/~:x[CUۿ ƊQ@gt;U6cR&y2\|fwgW.T<>wFY 3vA3UYnJ2uz=m!S^ *I=q?MkaⴽT((>]‰%Ԁ>ES3{G.Xn2Z>GCb15z sGt]f3mq3 bU#0<_&/(⋶x^xu2(^ KNOmkT $V;&faq8AׯO'IV$>RHЍbAP *BHdKTz-=Z&`fO "dj:tCG'V5('/:}B^4k>J #`ᘚ\L\9@]y;SCգ.@l[y)0;TH`"dڧSخ}HW%Id8u ).Ohd*wL&a*Ň9x9E*!\z7E돪^Oᑺ.howj)A@o,r+;WL _ڥ=:剕SMde1._76@Y|S𧜙@f/@c-^#GN8p;Dm /];YT^xY ga[Z6ΈDhWLƁWᔃa9AT_ed=2sqZ/߼l[$g&+YGD{f{$NFcN j: ҋ2K\x#oY;ID@94fHRDg s FC`2SPj9&Kdg."&[mE"r# ku?7<+h 'kR4AeY!U%K'8i[{u\Sp2JaRwN>oE~1?KP'MJT aLLqt/Vrk:T"&%wI) PDJh#>yuoMeTтE٩:sxl6e=cs<%7C%O^*ER D/cG,Y3Nŕ s\νaJ6 K~ΐҰB?6$햶6/GwfFR %1C0MƵTw>F! /2/zPC\m<]ηvjJ]+ mHᩲKV/YW $r' ӜgBh)I:TNޜ)Nb܅Y ͓Q )CGF럲K)[o_Ǜ]3z&=GYֆ GVgaFE""c 2-&`Ȁ;^$C"T [#,eSo6&bl@|*S%P;HQFvYlR>"h_e+ᒹv@<4ʦhXCBH աOt녁ɍG[X\,0pNq_<XUg ۱n=5_78;#篳 oj 'pgl}# C6l q@Bc=W=N*B}LN60 D}`ÙK "xxr2J'?-~֥Oz1/&HS#{!5_?ҊRNp GRIv/k zk_*=XfwrdlO( _0MOO+ށm\~HSt-/x5ʁbbUnD}ÿL6/̆ ɝ(ͱ)9i2iLܵNO'+4z.h]'*oО` $l>.:>3].DA|ߡJ)]oMjRlJ'35.&P^־o5%`iGQMJCgش!ۗ(dhQ"e17s\L oGOP𘲄&ɋ U s$њ%)4ƞ`l(0N>| /ץ3ms2hʗ%ȯvzoW$op$a1-߳%щ6e}53ŧo;5Y$.9lP-&3a8=d4mZL;7\0˰0\{* J&Z UEC 2kZ2[TT,Ol  `7Ikepsܐ)?o+:Zxc ǫ trn)-_q x`Gu^8H3ӈٜavD1axft`2]0{/k$zq8ߒi sPɾ|!8܊lыqw8\nϣ2]yV#E~K;'_-o r!>J(aNѴߓH.R%5q%{7|qeA&>g_I垩A#2Ƚxhֱ.ʆ8ĭ n(ah;oR1<9ԝ}@;Lw$0,Y<< i㖌 l_m:q';jcai*!Z\Y{)48/[^B#}Hrs,"2 q߷1?Nu&VKzm|䎆eSShwu+W,Gß=޷qWl-<\(z=Xy`QY_+N BP_g)4uVYyRYZYtu`yT꩸N{[Fy}讫c )7~jtǀ7r%27D06ejjYIN>z%S`ˋ"Zr@y!G'`+P ]?{hB BƐ~:M0Q,v6Nѯ69&Mbzd]+;u<;l77{je\5e5#;u1] Zt+j%nq [<ɂh7>zܙB"]jmIe7Ӛb<'%-0^,Q%#P7SP" )*vpuCgġa316R?4۫`zm 6EE߫l T5<lHDz/X"jU0 ѾM'L:&Bo z5)M=*V"48-Ђ]D|+*gsX|z`uz2w?V"HVgbfAx,S o oK[rb.5|\, 51"8tD*4bRN}S'k$mBNn"!IL10CS>OSDg~7_F }ʢ.:YAgL! k:c!{t{_WE5. $fB*G!Mۀ25Ǻ+Cd1;싁V o&Ce&"1s\Xm"_11)\dswJ4_cGWu׼Fy@<״ NdMѮ>c@>@S7!@3 Y) '7ך5̠=vG kcU.CU>%xݨ@H/m1MAd-NEB~5fB:0=p ˨K>rv0ٮ#%]~?k,!ԋ4xC:BnH::~x,}<#T:QRzz԰-%/},XS=5G) dCexg;6;&~ul)|B"xI tߐnUGl"p~촋穷jjO[ 8| iRfG?yrmlC= 3 %Cq!V,zQѫ\-ҸQ)hWiCBZΐp$HᘑPTmQT7:_}k1OcY"FXJims|K},.n {UE|ٿ;Lb!\v.#'b! `dsA}8KV p=7gy&@w~Ld:^~k9q ~\]ϧ~:cP ꁗ&һWm_@lx%$GZcٛ3bf=7uUI65ԥեT6zVvڂ=P}F $CQ1= {@Ƣh|+yb%! qePl}حU8E&ǥy&(K}.3/Rr0HBD;7Y be!}.f 13v{8 E;Zext4U(_seU#&(?gOCIßdB|`)Gbb2Zjnd{MæT=BsJ!/(vplWxvmNDkN/X!ٛE}FeT̯{nWÓzI2Ao`ҭc4T<:&Q[YD8r0(k^1I2\;x|I>3db|Ǖ^e/`ܖ]@q4Q5S?[=ZkZ:`hi8sPB t%HQZrN:EO;bhQFT{[kU#DMI)D3H7Hv6g:hY!_ӉJ )9ڌ5k#LuΑYi;N'uŏ[|uq yEf in,#7&bߓ/޳q~>9#%ΏdpUo^1 &[DkV²o>m4KjYB0SAeg*e հ}(umTqĘƻAۖfKK>*LNB\) gㆺߵ!IZ۪I g,GoyKaͷVEmڥ'%WEjM"Mi #aniV 5cS#P:=v`.v10s4?-[yS]L7; @pA\௎3+~[mh5cf+Z1`-tX>FAM9Tc>y◡  ^;#O."5_pfO/ʜV0كsE`kTEc -&X PyfIN׈w#1McsmB1~nЉʑyF,SZ o%x~6ڣe@eA4@_&X^lȋX^kx"}:~kXgqj~*'?]wj  &]n}Gϳv@$8CsE{Ⱦ3A(x ZgvzϿO#t*χȵ+.T- 3ATMb.PhPt`z ED@s#a_iGgBP:^9M}Fz嚸XaV4RGڀATLwAq50[`nݡuˉbk8h&XXz${!)XޡXx%ݴn9dY+緢Vz'UC"筇Џz|.b&7_Žoʂ(SA;r(跖 fy\褐*nz ɛ$' 6 WehܜhN,j@Z4왜=젼Ieeؕr9h҂m\Zt0ED=^gK84tҦ6^RH)(K#Vzy>̖e3PC!4 +~W&CY%SHL&~z  \*N{gAuutY/D٥Y`DMov~fsTo]EɔR{FJ+)1Iڹr܃܄bpgbk-vwR0^Y#8U94=L$K lHHEzs!A"~ކ蓔6f%zS=867hWyE#H/)}yua|_3Y;Q#ދ_4rA9ARi\3T[}Mv !Ԓ@fN_Zc()Js`W6ʘ7f:wcRy&I}3_]e,#X4ATKC :YM=`p ;6ˆ@9hCƮ0UdU䣞rK R,@e{;!-O<ⅿUBnq{A5ѡ>N ŸYϸ LcCJ=nD9mѠTYn7E{-. ]R 0'Rbκi+ßc8`究+XUw=)@ @K(B2J$Ήb{SGӞQ};ˊ'&^uD9"wDl}GiKz=pae*dkڕ60V\ EOI:7 42QG([*xMC + ?c1x䘡=WBJ'v-IK:|{s$:̯ϛi>LI3N';ZY.bs*zɌ|(&K_\3O$QP+oOe]\\J&O>nxS֋۹=̑(\BYz 2ծBXk \8z*!&qV¾m0( X;t=cN$2iCK"1MNKx{aLUF꤀(BQƨbF`=r[d~[+C9_Y8m0Mf*ox_.-G=F.JtE؍@KCDȯ_^{KFFg#Rviadׂi1CpLTX,U8+>gUt "ժAV,`.8zE3urި|4lP/?;JՈ+% U} rFO @ PP\PRjmpm+(}NPNeF[ls:yoVxZf7;| z(|WP&bb;l~M>O@(¤68g~_w}whlE" u"?5g/W]).tJn)/ R+ Ts-dMrF ٳ{n*Ptum˫3KN*!\YO_a`Dos"\rza“¨.JR6eMH 0NRvII"q 8 o;-8wdTS@B B@$OxgL?^dn=`ZX8L|۶K1ip}B>|xĨ@ѡ|א[ǶN!t>mh\L`3ZNL b:D2Heŋz p>r.Re1#NjKnTSCNቡ$/'3adQe͘Ǹ/D?/ vUo\_酀bYb_uآ7Zr{ ߠ[kkA$:ݔ͊%6XfmR8g6cX*6'yqN~sxj~>QcՋ⒭sQX }{ף͊?w1w5CT2Ig&t+c[X LӖjXIemM KzOX\_[i0OoꐠP,0U|+Z .gW: cEV1(74/oܴR0u72,ӠVSoY0E]=hgm֫E?#\v:w NT}Z,(n;Н+v Wz^gK4=(nDk *d("IVIC-\c@D_Oͭ] ݗ1#$MOvE%ZQ"b >hL1?Ҿ/ʨ;7ZP30Tⷂ? A\M_ Z_hul+Nwa!\b{Or͇ѩ޴m>KۮM!s'B0n6J|3ݫx9Դ+l4}"=/t V2`U1!yiʍ\I1BvxK%R #@,xT͋Pz SCGٍt)26pJ>I7;y½~\2]xknge7ݷ.?~_ת!Ƈ;~|xB B%~=f=u xrCG6uEzE/ҿnahLP Vƴ֫EwRs}B 9iVPQ OTOfaE%7CmoGȽYʫe+)'{2r  <9|s1{?NV]aKٔmPDy/}8vM6%&ˣ>#bM& e=6H([RC΍X}?R/$aB[lCD7 8 !h yD`'C}kdwOFWي3Js<:]sOh:⠰OYS€ޚxߖ+%gtk&:b3)1{(7z:Wn'\ p|MS}H;FK( ipX=KĴ;'C96hj Δ7/N4QCH7r@M!9U\$GF5,EǸZA7 c z<-~d5qn8Mj9׳1+tmIJѦ3S})I)uɂwKѱkR /-$Z6,[[iz@&_]I#ځ"J8pDl2W,$[>&@،s7瘬2Pu/\ ߰Kn. Q㏖Vb&dxUi̿&j3zWFI_iW<㥋ˮx E,Vg\[`RUwE\$A˧ވZVG|jװ~I'M  X YDNrlcK݃Zԝ+#c<;quy TGx&94]B9(q?hXUIw= 00Nz]%žМCd̫ +5dݠ@l7&>-Afчm}|j)%;"\m2R%j]kVCug`kٜwSaL PڷiGe$g3ś$m=pqk] OQFT'5}A/K{ŨP&v_|W~aT;T$9S^oG5eKi=s?pV;Z5̞ Fk*D%j fֹ1'$^+l SjYZbXcDA9SPVD1PW Sso􈇤 k ^iW.M2N_|+]B뀠_3jīݐxPٴ{ T<I'b5x ?ʳ=Omq܈BBEYN ^/!(e]'kr4nFgڐX2:OBo0lIg%8\q)a pCAm("!3A=ĕXoԸ\ꙫ\J;EWzE_}wqtL iکD =7pb3-s-Gw~G5K.xƥiQ-jgaлWߝ>*}qlуS RPr D7ܱVWuaTf7teT{V$ 0=e M [.!ZLl1Տ_ `'n?b7^'6#*1{ |Fk F/=^yFH fLhS|3'A.Mfx}6X=E%px漼"trqM^= Yhs NpAcGP{|cp*4R: I mU \Ș?c\@H ‘jG3WJʽ~lb̈g"yr/Ak bPmQ!x攮^O2zd/`3d ` `W"O ]tA[~URw c߲=BB䗌hb~NUז9eK.~dIvjVvIWm;0EatyB7`棄{oZ5FQ<&]^/RV9eg%/NUwG?r#^(pܴ J<[T;!Df!p-OTM ɼ#HڋjcIL3Y:NnzqPnfX~dE"eH?!s$0 5e1;cNEY%p9ҹ˝+VB3) ,،#@6G HGX?wLgH&x:O8CFw½juk@]~$q0n.-ol `_ǞwA|ZIh#dkdg (%udC;7=nڀg{7$ʛ]԰U|[J+p!nnA|[Y= y^ JtIc9Lo6Mnd'DjKf==U?Jq)ڃ&qϳ'J uCÜra/}5cqB'IM, Rp贙g9>.D/5i]79UflB&p܇,!Gz!J/i_$kGWvnj2L1㥛GF0r 8hQ x( k#tG*=~26~>>%XTf!6~!?Ѕw@}coJy 6>O&ӝY/y$fX%,egW"XA@aǗTeA% X%b^mj-nkIofGKsݖx/W S p.:mӿ)_`h2w?OѴKÜ0(F,@2.ؼu>-(y@oȜ? =A;vS=,+wQ~yW3qVXZR $//?bCZr.jKSB{ dW N=KFUΔ2\Y]KJ!*B凸!ޮ&ę9*[r2bL(X6D#=&|.q[1[#R(& O2Lّ 0u ]8-2%i+8sHӸfT+`#xW2"i['>;mR)iZ Ŭ/l5pIӯ,~t lNY+|!T B/Hf/y?LZzVdy$yn8tt(B0(-zL_tmƉ};sV)>a/O6G6RHC0VM6Q%e.d^ʾ~%P4Qۄ cl0fL}E1o)?ȗ-0b-rT 9lڜB}I-W&g4S9{ e[ٳV|uKfw9+{LF3B=w ؄aPVs!N߱;p bmao<O yO.vj z\^U@k=ЖXf r}>J և3ULxtɟcMӸMcŃ[ΫfZS_ޮJDt_V cԎ~莺wZTϋmmTљw+̂bǔ3AUFk[+]AHDZ\YG~͋YAA0_H:,94y`c' ϠR 2/G(.t{;F.>?Z܀t ާR嵣m4FF%>a`0c!dj|, 0rExSYTuEa{zoTqC2Af| ToL666wi^w)1˨H}ĒBDcαtr(v>sa ܄Qkj |x=,OUu5\ XM(Δ)an{3~Ϻ] G`oZC_-t>I xIf#'Q!f5D|[-=E41-#Cm~&-#+Pҷs 1ЕF=X'C6]zk^3BgǐH,?= ww}+ } Wq֥"g ǻNpς fAʾyl R}AE[~paɭ*o;}T.apw3t#؇i E9~Dc.3tRS(kWg># հieDJk%~M"M|D%Icz| . Gۛ<Ɠ!4ff/#lHgj!)jH"Ro62˚UUT J^2؃­TڨA5#ƣfJ,*V̔r)Zc[XF'm# ׬H0wG 7}@ZJRtAEoE|VJ2ujCWS8+߶bҋNA+ׁX/u݄t g#d﷤FKG\IH0SMx^Y^2}cQrZ/ɘb+;RHƽk.USc'ɾ"OOڗ;I<=\J&4 UL_wZacD4_|{L` |C3aN,fv FjP:nK UBBu̽akQZca|KvsƏ0wB$>R/kB⳿f75:ӊ#,TwY/u0`yԣP QJncua f7|vL% o-jvۄN׈I ˖WpO'#G?uG@qЦ1AyvJ +hQM X)q_5oXlXii]ZFryP{"M-u&cLq IZhXnoWm̢tԏZGYU44&D5e/mEim+@P6HMę?Lv,Pّyu|Qͮ K0u%^6fXA*%&r7?W]a27\D2?T7&<`Դ,3-h(E*fsЉ!IDtp S֣O*zhĦv,d^3>GN``; Ae80]``⵰vk)-U .ΐXu~/4qЪ5i7:%JgTu1aVU7@Kt l)R_}O^,YҘUOTxZ5m㍎Sɫ?+Ƃ/8Qe$G t"5b]$=rj_-vy P\Ȇ(ߟ*.f?}r 񶓂W",E 6)I 3&n!R3q#*>[{J~(͊VL8A@a#)cU@v.OB !OG k"~>헨T8=LaؙV,v'J>>}erǛْ4ظ F;P6^~j8} %N*,z\mnȶNe) lH1eIs mFz!DqvǮX˖%Ra_^z]F ^![]%*~#qLfM?#ne@K SSS&YSV"@N|_ȥAi}ʆ`LH8ޯR Bϐ=UT C\&Kg#օ&P2>9kku< j΍hEKZQL.f(>ǒWs넂Q7|:@UN{%[Vak=j1I0#h+5މyJCkS[\bHQAIbU|v.Ѧ6ra}lŌ٫t( %Y,y9,h^RS֖15wnptIb~ars"{HMEyxV=8U 9cց̑ T{) Os0%<<['q1t;5; PU%W{-W HfPXDAL}&9@fz*b&]f؂įN"KyWoۍ 4ܙ?=ZV,~7XZjӶdzJM1֍(_.rO.Ti"鑞a5n=, $G"7ZRp'uI;QS~sɮBdN~qNzljQ"<!H#BwS7~|iN)o{6 /t .Gٟq4(>Dk~?gs}Lb\#2^>>6Ǟ.V  ..&Ԣ 0773\-䍆pܸ  lZk7VM9_GէW6gm0[;s$*=h!v`|96yh#R9:Lfd+V|* uQwyGPG2@'L_=5/>]2aVҫl}!F+\%]e:V,Taɮ2j`_=%sS4!X.47u.C@>c>\X*hU.7&/n5:3d)R(_xyV?k[irT,֫L ګ!m﮼NMLEbօ|L`-eC.g־88KwQ!S@kgPklq2?[t% } ZjhJ̉ fyR;N~$zRje,ԙڍ25) 2)JHpU0zK#1ZT_ekU} N(&8O&)VJZ') ;@aILp+ j7b8laa,kşy@G//Cõ<ʨ Ş(&C(F˷\yMl-G+} W٠TfU#q ѧ+;ܤ2^,3n 2\*L(AwcPEZH.H|ӞZ5.j/ݫȵd5w (,.eՉr@*F4Llnb)\Qyu S.ƚd-RᄋڵF7x\<4/#|3X/gZ[E@/,+Jۗ #G S!![K臼H`Wt>/&%dt=[G=,ED~Y&eScOwtg?G4㱍|e$hx^]m$CCDf@-U::P8z gߞrˉՙ?^Rb6-2|]G Lh,d=9my6XtgU0ob"Sfo%7c$ i'=S# >6/hzR;NݚtLJbsz#lV {.GC6UӿTv,ZƱpK,o^?Z _~ HE57[wqhۙѥ~5#` E_Mw"'͞:ӎs=G,r uωlzdЙ6tDE-w|r A64,\ʰ-syJUu)R~%\m 4W4eĉH>~H*R`Q s̑n_[}4 [!߮e屘^AV6^abV+{>CGfC=$!Z*V!dG,}ZΫxVcnc@ 򧷇25O;6ڹIMw):)" rgP_x z:u3#G3sEu,DNʩ`Vbd;e֩:eO-'+0o=J *wG7KhZ=Lߌjߩ\{4vNcZ Vp "޵O >||zv-v=3$ws PqI!ů7zZo_d蘆z"?JXLj-9(JMy4ى 094*_jZpi>V+dd2@yl,f]@W^n,Q>jpt%kQҼru8lH.s͉GQSAnOj2f+zJާa;|p@ Y sސiWZ'}No\<4E!YHK2P͘S:m,A\U& yxgclX:R< vA4zE:)Œ\%W3!oN%02Y@ۿADb WPyʆ_ gG| lMk=Rghzk_A\ c$+׆S_YG\RlpVVl7tC4@9_<8VF9ɽwq17:(f򩌑9 ]E.iR86!(߲N s#K~~ (μ Mu]nW!]h%Rr<aaFq8 L6G+_䐒$'I杅aXB,DYwhO9ѷ(]{l5?u/gZHe'$gjNS:;r^(X.%h Yv`a2{(ȯ绬Ĥ-$Is-^XgX$.i6Vݠ:{ɇ;klj$wӳ92*sֱ/״P(Jۤso;Jb\w))I"6g`kl/Y3.=Z 4[y}DɡRœVܿsl{!:  ?X癬;ˤ_0+#ݞkAd%$dg'ZG2h+ ElBL֑E+bMJ{|7eiQgᐻc7g龶:R&q^':GRf6YA/k/3n*FqDW *(R wCN?>KSFr.7#c> 'xb,ʈhb w'b>iFpKuwTK/ 2壝;[ Rx^eȚ8YA ei2v^ =ֹ:` !rRZeT)jO '}oې }=醢/"9d7:+´W -@&c*mה3]$O9V2aﳩIvN[yS1"^xtF2jrrObBy|d@[Q'U|Y b@%GԈJۦ ΅\Y2~^=4}B>lwT{384O0 w9/p 9zZi8_), bbd&'-SǧQq+ cjaqF7nM|jn r3<6ӯ;\>-YYc=#gv N O[hZX^#rAve0h{am@ '?M긟I&ᯃ  x=eNE:d&_QN/WaKBF}r͢n;a/$ԀZ$y~40xpC`}Õ䍟ÌKf]Kfadh QvW0R>閡6kNȱ]/ڟy|r.3M_)׈ M\phήp=MC1OO6N@3QS\UӡBWwh{_M@ggxFӝOs3 /H6=NN#tfMt7ao40J3oU F~Y0lE:~vkגJ5u|{Ѣ-)B5Yv81!ki2GcOQWpR^(Ƅ6,zKzSQJ)V>tVO U9ÿ~n/Mm .Q0A*DKg4-'煺oV~gִ}\- w4a2]t DElm<&[rՀw+xM}72OpOvjrЁfSy|{V\Y9*Gzjhj׳t&ABOY:\W'x\NO] ;LjT2:CS ј; m _12R|J& _aըQs!j"VNbb&L/o8ĊpAe>4sU\ O895;2mh]3ꈧy17@Sj- 꼼@ b?결oq?8x.$>^DI\GD؎_\o!}*d^ aLbM>Tpv {f\;h_ $:B4IHzZ#{|dz'!K:xOQQxCdrr#a&iGIZ' Rs}=kgg%ѯ +j.: `%Lєs0:Lb |2*,t`Y~yVa`)| XԚ;J@ʆ](r3Wo|P]TN4mdP\g F%.524S\/s}_zE1+fUiRe5n|OۥaOܴq/gdjMgc:IJBc\^낀/ ~Ģ%su:/Nj ,SN=Qn]hVw474^b=HeX#ql >s܆+*]=l{~Wv$oܝ1w ̄ct Td~췔0'xtw:)q_<^q P3聁Fhh.޴`uS \zu3ޡ(cw"Mq~Jr*yk}A @hHL%:V@ A^ջ*?--U9(=4Iy@/Ӓ9|``CZs2(4BٕUWm:RsvѱMl4;5=sJA-1 l{ds8v}nxjL<"2lf d 踚)6X OgLz,[ Ҫ$'S>n%?@Iv/YycSBu%`,Vf)Sň ˗-RowYz8t_^ d$#@&5\Ol̚V T8H6$.[W>H@R5ہ]O3>a_ Y@·Ico$Vr-CfϴO(ƚIq#&gm௴n`!`nUm5_Q|ֶff0)Vl3Z\_5%O_U+sj+nnjlˈb2J^_u wC5be;dڬ4jQ;25w4'ٗn :S6d{ K$Y.]W>K=7V7($,ARX9]BN" <6!eekE "t}C۷.X6! ]ԍA >GgCDY/U/xgA7a1oߴn5ah>驝q__UPޜ!G=C^؇~2.IJ0΃u8Ru=خB;,8{v[ *^Pmc N.>sfyZ$jl皫r}B4:vY5Q~42 H,TٌEXQ`^hOiSX+,?D&SZ8x}-Ck7 G,y6$0cyņM-~뚽|W 0qxaR%~`zk\j#*Q2uWH'Mgi>>Ly>b8Ց*o07`/Q;7\I~|5_*'.ت|͋s2(1y0U>׆1y/Y+JYΘ1h*QJלUh*~MW-5EA'l -k aKb4OaGD=E0u$xH=.MS^$pQ>?K^|@oKiY:NI0Dvo¨"Q.hmS|dKlhQzz;q}gXw ܧHtIQ;42<,"ƵΰFB#4bx 7y9<]c(N4JjQYBIk.Ӌ/=M( K|* )},DJu"ŧk%x -Y r#@O>;&\t"冀怣$^aZU1v~3@wh<7qGZ3AwfBWb_\W(=l@Y"Y:"lI 9!ūƹ`N`#pwΕ\$=OFwDVd]ts  N&}D/8&VA;7&"nB-4񬱍ƥGwt*8*L Y[9 n40|&_a xRm"&Xv0rO^ /9[VǕ}}^ett1lq?<4MXWPCW9{79`E_gK zXEQn`-려'&Q;5{aC툷sq1!V_#Hnn8qYҷE4` %އDlq`/d" y@dzlvgnXcraͮ;gXꄶDjym@IXM6B6%8["e VXZ= |Tu# tƳ_F&&+`:*-T7(JgyfeUOc{*!=UJ,0PՌs]jU )ΨmDhxt<V.rpf<{Йrd_D۬߁K\HU=|E9D4T;f_FOud;0mVa?(h};~yPZv? !I+[gM8[4 # <[\"˵T9 4J"sn|\TC40߫Ia agQ cw2ufArݾ8?.)>}'o./a~xyΈ205r;1n\GxSP- {FAnVcuL#Hk*pILoNҞ/&p0^9/,<' Ԅ+;֓ `rb _|4=!Ŝ ljr.n8Z\a C@8YKw]Ύreoɀ 3b"E=rI.kk)e,1-Fѥ&2"Y KOr(/Ts~OO/%+͸`fbS]LhZSkZwp~<݌";ń,W +ae'v,ຕ@KA%'Tn7U7 c+ITY%,2S)F5o h%IldjoU6tyr7q3&7BDP%%dD9bUp^H9O}]t& 98SyG09%J/o rμ:W.RaK!!,T:آ& Ϧx#e=N|ȷmL=#uqkA% +5{tI1tiXܥ ƈf40o6#"m,HG8i~m;16:&4%K PCC1y =.+o{t([ 'U,l37);>u|"Dq1)s8?\>ݫPŹ%0#nEBQkZ[h_AfO˖ם3(/#cGllA6bXfU7$ܻZߐԝ$;׼r{k]#lXWIi^5f"(pKF#ΔwTL(1Vj@b?5z9F E#ϧɈ.iUV;GJT(۞5YI BW޴eB o*[nVkSAT|L"vC84 ;v8mZ'P? qͅ+K$'8O`Jԑ]Ă=(ؕ5If]E6dX˸Tv\?5 !9/&!?9q-VВJ C~Q Lv<LfF@ w)ǂf/cw&yj',IrmU*PՌHvښ);à']4?J)#wmxc.3yQ܉jֈ+m-;<~K;su3#Paa2~ b\QY$xƭr@Չj[Ȋ76+WR'ӂ :.s%F>7bt9gpq dYzw $;L+%q8H/;f%IXzTHZ* ) yde./P FzMgD_4['+ϮNg ~DVGQTb+rϼC܂qj bX$wJ"xuA)7s߰RLYϕyy#$~&V}uT8(Oפ؍2WRYB5X>+я'?N Kk||gYUPR55Z*gEBѤX Y[D~&Ć#+(wd *Z1k&yr@VF p8vWj,lm0-Nm٘wL9bKvr.۫6KUez Ho'L<ǏgO?[f7#mcJlN&' IPg"_9n VDzV\^bB}0/WUQ|O#Rrb/z msT_ZDw^"wwcpx|6\к]QƂ^[֦o*]Y~}oyKs Df;jEV+/6$ybwN*jFw!%Igdy.2I1 A:0Xg> ?IzW<|Gۧ1]N 1>cyL0'GAxKʃ2MןEgS򍔥W:y۝n|&+Ւ"6X⎿E5^ÉB˜F'^Z0tvcgX+~댪!AT[zuV*PМLֿд-gUdYţ}V酣=ʌM4pTfWIDG.]zz_ڔgiԌ M|$\WH#0~ zFiF3_Cw9o$ʣE `cUGttw s|("- (lB}2W2a 5 ԆwIJ'=H/pDaDi9 uB7GZ>GJY0%2}7*= !G_ƛM_GEұNޗw;nӬKz1i`vE8(^\>,#1;9{?Y**j밒r7fղHHےZaAcX*١ԭ +w& 1*fD&5Hz}21n7i]u -eʞA4^g=yK{፶ \qq$bw 5;I%"$Vk4ymNR!\,'WG,ꐧ%yy&Qدic|zgJߙ T*# Y@_1rk:r#I- θW)Dר> YLǙc| V~e`MTx z])Wa,wK46TC篥64$!ϠO L]K}/)ҞfVEAWUy72KYGqvM%' 4[#3.u>]$8aaj!!>5+,)]XZ*6>nT~M %!p)E5BwlzFhZ%K尘N?Ug7bK!{ oʿ6$$6q'\ݍ$\ϽIXh;>DՌGt~WFLYMA]-K$ٖg5<&5q"Nu!D\e,k1c~}Ͷnȋ}Xs}.bϦ6}VUjDb/JqkJňOKߞzrvյ jMZ#K}'nJ-btc/~uːrxcbɺ->;CBjhDM­5f9i T{W mb*&:W̔h5wb\M Sg6]*bFO>G-*^oSmQ!{ޔɼTDӱmDl>Falwk*4Գ'`V~%?D•$ILZe{pxNxǼpTaLzTdD]3D nTW 횯:y,8DTj cc aLS.huP֟ BeaTi)T X]#U6IF?`<͟Z] <wȫv4h.(_qCJfѐV ran=GRͫ7? ܅ldJm"L x?2rSzX}4(E;y.~_GS=ETl<<]@I%Y*Ñj|z,CH!*V"Me^nTr _>@:i|I;c~7CDzhL,(4eǃN(4މE?* Lah813ٸ7uA?rR|&$;ba웮_ڀi 'e;_k2]XKA:G9* >U$2ke؄]T;fhNY"ZUEZʼn UtdGtS΋\xƝSSЪEL!J BJT3?R%db/2>Iv-c9p#/xf3kk}$Ǯ>>I.w nFħ@dPvD.OZ#UzN Yi`='..bD6y?|*N\S[MBN'A9M5oIшݖ )mvM%5 *x@~K l AG6,¸b_vu 5mfMl~f(G>4tƖ*DVF;;qsОT#|}i (IIA ᢫(-mA &tSdEҢQ6u.y'?JI"K23,SxōaT@p f'U4Y+gn*RԟHCfGI6p{9X܃/B@vjټN#㛭GhDx64AN,z nE`8pTYU ,E>Ca`W !J<"zdωГJ=<.y VX\ٞ~++&_tpB'|2D'vS羄p2ojuO( -O \Jۺ:z@-Lj2@dUzQy s\Sɓ4s}XY:~?5f9ʛ T(q̐7f+*d;(+VCj# ~W{^w6pğm{>Gea[%K|  KJ+AMK]$8!:/yex޺-1k;03[lɒ*مA.{X3WJ ќ@Uvw~;zXzLcixDB C1#&N<-l\t )` deDZgej4u?\˳lO=]WP\1i̾fκ؈P;Qf4w(T_໹gwʈ0TP)ECwB#^^PڝpIkB:-v$j^jH}*Mfu~9- ݔ-ABs+'2y!)k^v͸jj]EgY$Ѩz!rw%G!*. 9lE z*],J`-2TFf,~'2x_Yo gu/qe1W}G]*[b}R ޴s&V }Vs_ڽy"Y8;@;gq306gi Kr!Oijcjޟ"3gzR\0|*txIC* fPrX*ERjz|{5-U E>􊚵k?+,Fc7<Њs²i}٘K|?4nt &|^L1ZΔ- tH:DfN-N݇ߥ6\ْΨ a'm WT_UW [x;eM}!arWu~L֖v_AESo=orVF7AB 9&>Ev`y.˹AGʒD:pըl  Q/8 @V͖( siPQ#K` P-Vb"H_o.VL|R8,"U  R1#SY)8.g >)?lNp8AP(\+sӄ nZp 'A4-9s"oNV֚[%/UݙbO:w]~z _Z[L#An@ʾ$%롭HFEJbάu^|f@֑.89GxO׬-]LMwۦI~vڹu׮qaS%&^r fxbs!lVhh v ikBg@pxER4@ܻ\<\M'0+%L8t0TDLl틿0n,9Jm,rl%#ntŸ}рA]Z \ BNAWi|ke1D. UϷ`Q~C1set`- t?>iYbމ2t0淤dzHHBaI)/qm~9G0u y6Plb,*K+@dM ?{s\+$蛤 Lo5~,gہ_ D9wT[Ba{|6us8TzGJ >.!1#J8a*)`K!,_|I6,;T[xc@z??qwYOJڭ+@00y1Ŝ@-_@"U7R$Ǝd Yz@_w`/6Q? Z@y.1 ::mBK4/{6ҚL VxW/mx)‘+} P0)./t.GDzuӑ*G< 'B/"N8+;p/0L:ڌbܔR$%l*n͠Ϟe vTvٗW2m+wp%nYTQ-&6AS{ E {)ŚE=5鷬͟G|ROٴvX66+F,LP tyunK&8يAdZTxڎ"3=AkOeq@*7׬wB.gpYcs/տOS%&q|X[ ܖF٥bXY{- (H#/lFFzJk M0MPj0tc2)>#zVFN*LoWBg[OV|[LC贽ya)|q:DIj7|y%v%7:9Aǿ7d \"_ iϘLLrqf\@{ =x&s+NE?]bd40^pX 2 qXE.~m¨[|9r`Hh?ry`+D&AgPwG/qZOHRZ~ 4W<.p;1 ݞa4KPQ?t7ik`o;EB?lw`.Fae[g/l:M/|F5 &-8n*Oaf4d~f,T!@SFײK] n8H~T:z^9gw.o!צ?/O 0l,{K{Vm>] *#y))3~藧P $EOb BL xx3Q9]DXnO%XΣ=& _5N~2}_φb˸܊ky OO5_:q%`2vۣn./R |MzbKo|pzoX"uPz̃8g#"dU-@ݫe3Ҙ͢S0P< b4ȝv᠚4qjvE^Z]_\T[_SZ {%SGqM R6d:=jV1v_mc3*uk>o]=¡on~!#Y%*',\wĚC W1M9gkl݇P!8Kw C/.b&[ /Ժap7E@)*mB`'KVN55$nhFV3cMY]UXwoM-w|F^D#Y nSE@x>6Rɍ0̫% {Ʉ䀤jS}@s^e oA}{P=RU R"gn2*4؆+OEĸ464T9<o],}t5כDA%iڏCl6]G+O K<>Nj~ s~pQQI& B7:[.[(_oS."wti5i- M/hZ8Gk̕/M %z?-QvmW܏*u8_F go5rr0:׳SJ /:Z/6"@ Y43Ȼ[8{4E|Ø~R6WJu#Iq %w4ceOG#xvpk=í#?|78ۑލ4KRCR?Now_Cdڲ6bڔ_ܿ"z:)z1JbU&jk'K%8v.:?sxV CNA hW\R򈸐 jYPn{=/Rlͅlm8A - c[Vˆ'/B6T0 T%|w)-蒢WDL}A{wtUygErҧ-/5Ў?eUͱl]`uN ;ϥdM0eh7N0A߰6 FF!%Q[ىk/uBiN CJmo1o>]TYV58HVe-@fǙM]{k4g2ddx<ҠKsa@N;1${uygMr 8K?Y3oVI&򘡥0 ]oZګ/{1#]sj8S9ntF#+'nl9 hxT aj$<\AQo.q u{;ٲܭ38E(%x Ď /M4 獐..^AU"#]΀^\!a)!(Yzmu];<1.V =Z 8|skIQCy io+/ CСN׿z޻/ ݗ?GO0տK0>jаʼn [ XrX䠮DZ$3;1b@+uWv5% d;6M<̖KD#&wpc)_ z) NSg]cy~!#^om~ [50HOb l~.<"L|͵z[Bk" 7SEʁɲAò:yw-|ʫT(hDoB-,"oi2lb=a/Ҡwk?+Bdgy.8I)XOcxքr…9TyZtSZsFFW w~IaZ 6UIs|Ii|_whT\(_[9Ⱍ+Qe$^ڦhm9_ʌևș_gwcJ4]gI IMsOh5,G<{.칿 {}h, n#ڗ4O;vePmFҸ}‰X{oķ貮 M'f7KJmȤrp+xqY-κ2׵thr*XC,dV~p`be嵪Ϙ}ںDh=<9?qr SԹ9Tg/e}ά>~hGncz8Zh|S;+!Iq_A+V'3~q=jW ]uF7sb0[0R}H{jQiFC-25x i`6O$Pi9Ts>rp0Jwtt;օbц9SBoy +qtOYa['H֌e* "Þnv_zs~oLN _8h..#Szj3_iBkzV+Xng'%m ՞> &pE?37 ϳ ӵTIDwKV_$0ߒ@iw!\1 :1 O7[XϢWOAQ -5.]|#1wsF)IQH'M{Ah>,@(zr 2ǨD(.>"$Kb1\#;zo#] ;p 'L,Sf>?pl V6ܯRjtw.zS5vL!&nǘќ*K<@a6r9ԙmuYVjmz{]%}ݵNlO!ŻOq= ?^{mrgMlS;rҖ⛵6K5Gi`^pJ =Bojm&ib&Xnx >+hU>mI߲7R|։UIߺ@S':lyLw"2"΅{Hbt߷!8`FR((f3&ح+tpxJM[%퀍 pWmRPt&/wgbԳ챞qU qׄx)72QߘOM3y]=6pEIGodD4[,Mϓ;j2 >[:]5Eqk}mՌx•84e텰\'Pۯ#ЙgtHCnCA}'+,HrzO;, Z L05cvgXqH:)n`y"K-8:SC,0&?j@/kcv"   O`s2 sߤ2l;v0F1|FLIWQ+Ҝu٘Y d)[Ewu0e rR  vȶUEOCH1kcnv CuwLJܐ$僙 `Fd2J( ӖnQ|eN"99V舿Vzs!;pNPbĮ d0§sLYp[V+?7ojl.~itRWP$ma6|u^IGNu9?fo 5^ךe=a%t0,vw {DW;DgJ 0PigV9kЉ1`Nەm}-鷀5lEۆ)LΰxXQkP1iɵO9;uZw&Xƅ,-y TWqMs]װw'閗su b.\YIX4:Ƅ XŢ`K܇R92^wZZ{?hLS쫷 9)p3'/cM6wlUf_y`}(XvX0? :,'^X {#4 g|=!~$3gRN VaPѱWNi?hxZja O܇Q^c fk*Ȭ6Gs*ْn꼧nl0 ي|vq1z6c,f҈йV=9~?'_==ҿA K0zZP\5:x/uuWZ*Iw56>~q6eWw3 Y&iz}F0:U "k"hb̈QB`dpXd <{뵋|=@^+蝂H!Oi % ɠqq=`Y9ӇMvXN KW7|LOOtu " "Q6 U`!0z| "dQnZsc]GLa ^i4ĽWI DpAa(tτP7$a؏;~FzN!nP r6?++!L $+b)Yi&@i}wS=F]}%>Z|)R3rW WyMmr2\ [[F*P884yQ,ԭpwӜ9v醌Bvf9}s )O{&ft\8'kqbxjy!ny[e79 yK\/"o="?TW7Y/ZS\ @o,4kIO^2ʵ!綊o9,ap4?/$viR6eK0/i=!B@7Ե7{Rջ ?-JگOJ'D ڋ;ԛ q=*9/4:ܒ}$6屈E, VX]C+# d\ܾ3ĄtCKq0MI{ox ǎ<--"Z6'g޸l U&R/26@? cNz7o=tLFKp+4ݏc`Gdp|2NӅ?Fw?n _^\5v!>Bװ ~a;Gf'aǰ}/O c4#OZR+^Í3p%R!1gN@Oa sVrNQ {ۚn B@G㱼A FTKR\W>6?fx݁u|=;>׮/጗vk#Eq/Vҙ1LY= 6K%ܭik.Ҧ I>{H P,j~Q&޶I}݄әK_jnu7?YkȻB٧\ڭ4Mڣu1eXҋ~Ag3pD" 'ieͿ>\{;i©59eObT\|13@54yٛd U+fzCGQxݽkgD\,X!j&Ύ̿5wi:e'M:y+V1n4mֵ)61ݭ&y˲TU& 0Op"φ?b{lDyJq-kﵧ%'2)U^΅| 8`^j!vHYzmfr&`#OG@sahTrG>ȴP磌ʙ`0qjTiw722Z6f <Z" $ʡī/mO*},?er79rrQ"/% `.x=! ;ڂKљzFG%̟7CiTH0L |̅ط S8̦[䖂psNSoCJyJu"ˢ;ӵS( [ڢ1]y wݺI \NVKc? 86#O0qw5.y~I{˩Zޛ +Gmy .f1y`5^H[FSV7!9 ÕUN,qKT|f%Hg٠jOЪ+$:tmΛ_B5@k0*]yp$s4w ^ ;HN[v0:h991QL'pMB:1DK蛸!^r|p ED+N_Kx;︿f3+8!iֶW%ͽczWgCx\Fʹl|MAgkZqͶ8" BfcS/BZi"/RuEզPJη܉LjZ1~C!E=zeQߢuhew2I6f]!,_DXR8B-Ж4ybxA}}橵hʖPj]KODnK&%m<ձ,4O76(lT^9/5^ =q!ʿbE:|qd g w5P>Wĭ1 ފ z|z+t@ex}"z|7D8@= }%6 iN5SZa~zm WhL8uΙ[qWdM47GE <j[V|pJ\qhrlSQȚ  .45cp\aKH <-{W;jȊahٙoQSm&ޥAHMff3₭v &!APm-LΣZ2^t P2޿ede4huµg#nRX23x˕Rdu)F% 'IRsǃQ߂Nk;ȫpHjR/˾=HW XHkn/TxZy](vk*A~pe6hL(sjښW]1Vg?)EڀO0jd_'aݐ f<ҷZ^2$[0 cZ4}C@ i5Ǻ!Cn;a*<^yyhvQzݙwjqa0/+{JvYwfF2d}},/(ٷ C(^YIa?!Vqi̙#8KTEyaV'܇`I? lHW'i -_FXÑFj4%/-EEē )5ss*xdx,c~K W#$=`Q@̣W'e% uAE @s 1TLqگy46 ˪>ZpPGcC0>\ zwY~'*|!/}XoXe)n(," ],=-2Sm` gG}`ڤħ;.J%C5ҋ<ܺKIe$]*u+֌!`VsLrѲA1˰:Tӑ_&#FK(H=,5 4 _{yW {I7ʹqo){g*@ o>omכ2ߣ6IGIzT 7wH:AI7HM T\@$H8=*ps;flpxڋM:&% ^T/(1>sD^ WPZ֥ 3}'7qp:vXc P 0x Azv QI++KI"l#9򦏞Pc4#4]2¡S UzkZJ4aеp*cH ڙZ5z1 `(`\6M~_˒3F9'8zbXQmsW.$hjE84}w Rp sX0 ĜVDAku@i(> N3-E+iR-e:ԡE *ACOQ1O$*eP]8Bf_Dfr {>e?Hs@(.z#hƹclIC*ZLuI<(c*ޮY ;KYacE 7F)s-LXc,{{̭H-_a߬07t7[-a՟͗_3+0V]7"J+g46˿;xV7\ӝɭ<}"#j{^!;4N(qQ^8y2jd5ߋdDGec@`JHBm4?A^(8r9B}XK?us" /p>" %&8<?ĝtK 5k)ʻٟۈ49Z+P4`3G$ My.kd7"Ox.AT˷̓zujϰ=FݕmzG'e(*=G}|x0l]P>&E۞`#3:K)wؙM؋Jf}2f ?e߃Hvl-vGa8 H(IUs%a)sbI)r)/ԲH@X165 O5ciz\GLSc2bƳaDj9vOы1Q>Kq'i鄑I-pvuVt&"S"N[P*%i_y22$~oUImќS&4e0NzQǁMqd,XE<^67wgdY 5+;%&; ֔/bNa0>3Y>v]Th;[~ r60_*s&)KT-[q:LaeQg#().3R9^6ʿDopW^GC6*iB^MSgzg~Wbl++uL#B-c, Zܖ- 5ߪ*){wT KX8"Y}q|^ȗ,(?D~16W5]fƇ$NI>@_kKDAX7hPMİ*q@]1PVPhhXlIǩͪD7pUq&‹݉{?nn9HZ 5Bbxsyƅo@_pyC_Q5J9I F:Zm5#+]3Ɍ"% K[Z~sΉ8JU3'қPG3*JW&ǒ, ==3m@X)֏m]]xq_Gһ}Dx.~Y‹( tMHGXNQ^k_3O6)3 c,],O;p<1:2'/cC`C c5guѫS\,kk폝0 w9ZJFr27Q`G/xBL暈no&6c.vFg^I`"BZ|qYF"P茖ڰ/Th n/yyeo?ˉe!2XDxz:G;J/[d N6ujdiaM kG:7[`%1oDp}҅S 5:Ev{w*TV[M"q|` ~ |k#v:@zV^yRp.iaOA9&;o^tH)c;Š_ h}Mp$Vjә4{;'t?t(j.|E݃0 !\9Ou3MJE5DX^i߽Լແ_kuT?#pzd3㶄SNR ڶZn $CKv }&ި=ΪjI^**A|AV|)ez#{]r^;C,\[ox Ne^ù͊M"y??4I>+g߉&ֽ_ Є*a׉w`(qjr͏I˺N1LqK.1?ҍTZ$w/RoF5bg]W/ w!m9 H:R3%#n>iKΙ?=ibԀo]q7IW*pgVU7ZQUH1sʧ̨@^+S(J~7 r_z {2حLkzh35{6}TD0_!U{J@ATO3fVz]92K;v-tX>Y?/1/S؟]SuZ+SvG`ޒ줽JM'S<{ؖRMp Fǖ(erPv0@rjّ6t-LfCk̭M bY(OD J#9&S hvc{k-jxrGzK4iF0Zrm!gn‡\P^9jD(]'Sc9_k Ep$$C5W)^:𦺘q]Rغ6՚ȇ.ɜqaT[ϩ,qUdqq. 1eĖh"gR(Ii,G;<#[ہD.WkwƜ 8":/9cki䔇R`'Ip_Ͼy@}՘[º[ߖ,Ew4 rUWRdN_q7TM-{OBT xJbTjEYl "=ao:`cU%W:+dA}A6zgp &L N4̔1l GC@}c3gR61W{3RWv)ȅz,Q] hv 2}{p I)x'>lsHv†XSW<8(oD؇P(>Дt ;\+;IPfocpc5]N^WgQn(}DI{# m@7C]q*Ʉ/wP3hbbYEY ^yI{jmi UxեHqP)Ɓy/a1FG.bovօ훒H#{+q3vZ׭ѓj L+h36 F*J7 1z;pefla=76h_xًSmR y<`(xG]sWw8ݕk(A*: u?Y9zHϩ`#iEi$H1ܨgE97KoVߪd7yŘe7uFAXX8.)B0u3B[u$ ޲RP.or-:&+Tl'UR+2=khu E (\@ʹ/ˌ!@a_eD=!N/r?=_&J}Jg4??6\.gmٹԜ{gBIG>01n%-g9LdQyÀ߅=tg{COWؐv`xHK˻ Yn?! T(liZ0D+Lğeb5A$ǡŚ3LA[ I.}IHth:Fn 碤myYًAR/@-+3Ȫ2%9S@Gx%L6%֌I H꾥ceIE smBY/Al\115k_DW#1bU1)ZAhd]aҦDqPU Qp(:*sfPOj1Z]&⇤5\= n`paNZ)@X$EkN@7r& \RKʜmCrU+, (d|tLTRT؈Э|K8wTaǙeniTL]0eU8O* ~O ]į9'haHvx'ua ߔ5h6bnB (UPg{]vQ6 2j?XzAjfS˴e:R86m1 .X3BrB"ѕFZdsQ\F"C=j}ό1]A%qF%(鹃< 8u$|q4+hn_;C^bdGm6s-WGdz\$I7Cy3Tj7'珧x1Y1;챈E(]t֎8Q8,yjssƺ>;}UVS N,Oz \v;爧=z%K ;)LN]wdN9|D1w.1#mE``Wƽ@/5\Iy%B0sƅ/I4"skxũtEk7Tu4UU zk2qnNPY @\ے&ZW Yӌcd`-K6Bq 12"CWNzJh|C~7r56 /)u.mo#C+E'q@Yh*g P \/brl㏍M)lR!IRkOorRCGWs 1HeW'/.*LuƸFUf*;/4yɀ.Mp3U,43;[ia*+"NЕձԕ+_ON[%c2~ʾd{ܸ jw*;;Ì|0I.N5/>ED0b\1>fͣ4`/jzy1~AMյ~ir؝^\$jW9r]d/Hsl c(t~qa7.5ԣK3p2lD " OxXZbkb5JjzAKS04rPkyUϙlix4+ZCf< OǁުT'n'},eFKZq։ۜxpnOh n/i&׊xU+bY5D#`n(KwPŀuq2 RAȤc'gT̪N `v :AޏJ}T 6I+"# 2q"4fUzG^H'aUs_!͖`~歩'anRwtU7clW8\B߻bIcG+U6jD('JduῺ1d"H,D|%!zFCig 3Vx '7՚ɓS箏#@ZIAvXBq$}isP[խVcطrTo\M]*&m&*qʘ O{ e6PSoP O gX!:4 $4@3x\ խj#-%~spwI|F'ΊȎ';X+;~M<@ Q1Q 4rk՛ZˑV}ot(zNFQdB60M6y"E?wa&kKҰo (YBzgCCZL@MS+6 }P"˛;Y.U܊ XA|Vn(\p=~qd! ý8C2aJO[v8'FVABFEtQn,jReӴq\lMeqŷЧ9|y5m>t~qsG-!aTFxM&ԛ~v]ɥƅ]Up}*0݄: b  C%!CCMo=*Bku`3Ve[/Ľ? eK|^DUO>+]@~6([nS)[hW6G2ry&  !_zq}jP9S+Az[B;ivUjhP6ƒFP:4:( cGPl %h9iج*^+Țy ^ .=ϫM9N8xy\sG^)C~y] ܺ=9JEV_STS*FԮHإT{nөggcd#TG(W&dȇ&gJLǖM*Dwmu!zoBoƤQ;JBJf#,!) #KFU|Ŀ0Z^zsJ6m+a.OFۺΪ< G6|֖,gTz"YϘZReb.3{O>(Q5^Jg ;4Ɉ*0k#.:^??kr0?&DɫgXz )%gx Opnh-Ibtg(v#ayHEC|~Z <6N4[R_ck<Pw>V\ij[<n(޽P|g+)q\K;% J, @c$r$ dJp 6`_qQ~c [6=2ȜNxM8y\uјaDSKH~xq&=Fj֮!UWGy-蒴NwQ#N\Sg͍Ļabs9ciilgh %Wtpt&%ܑw?6^zPSSH H94pA"9;gyF70Lz>՜"Ap6{y@bT3SQ[MHUU(?-ċ(`DE]l,&6,ẁ#/v8hud;b̈́ =ƾA,lӂRcy} T|R7~D&o(V{9Jqsmu9sM*#vwƵn>NLǦ:K0=S.RN'VQK^T|%=Rx\gt(W. +~@67񝤨oڱ7h`E edAV4`bEX.s}*V߹yXYnl-LXQJJ|AM=aꂴ>A&+UOSSDp+"S/q>I1ž4uo+ĝGmpۛ/?ș}F'MAs(62ϦR{MԶF35j~3~tǖxUY5%ОXLLV)vع&~,ޫV šɜ"2p, | \ m & bzD3L5|4>^w6w@ =j#ee5N1[8<${_'-t|~py k6mUD\uM[b`%Bsia/+T,xkޤIQhӦ6,tuE˞|o QFz C8sjHu IK ۺ%D_{eJ̈́#@]Q[ `xz@d+/LHeNeYQF<{蔿Bc_(uP[pesa8@ }2'1(LUwK''1khǀ2TȈI\Q^^GJ9c+Awp'hyz X)d߼Ñ+0L^ƃ&2.^[5DuQڢ"兽|MIo0"7fW9&H0 =<2dK#5JT)y4tH~ n |MFL~w2#|8{Y_1ZZ`ѨkE vTwKuEBtο΍`uK,\@ $ Wrv*>"l\G={E ?1u`׆3 HH7LE5T"n[2ox9Gk\8g. +SeI*LRk:K 'ʬ չ 6-Z>b=RORb+ZT1Iqxyj/$v4BBe'ǀ6"BI]FR8wo)&pJR |#!Ҭ`h3zsm-VE2'G Mv/3ac[ tUO.fv/,fIJٟe}?.+/~&08g*/؜< NˢB9p(n$DjPp Ƞ.fKdUfȹ.3. l8_;mA^stȦnapd uJq6j7dSFSN!lr_\n1)"@79m,d/g}{Zť=e"śPړoHg;҅h~WL}ܨԉ^88dPLp%dplѿSYBlrSMgC?6f|&bI"='wRw h(mZceC88sPex/QйÝ bvhyqw~V!/E)A2%&oB&lf`@Gmj<I0wѨqhd$]܈{AiFKBA4iz\LVD?*Ħ;6Έ;ЗLN\fc *ҝn!@<ć]V-Yq,@T|ݮ:PE75/؆yua07r{Rt1N !'dnPiR]\9+kc@I/EAق&F?C;38)yo&*.}܏ uޞ^Q.Xt0+`z&]Q Olmi:{wQhhdO7de<`edh$/F #nݩq&[W/&lǞ?P󶖞&Y^~vDY29ЫmdcҊv,тaGTH~<ȋ  DG298`+)r ?%e eR`Y\X? 3Ø]Xu>L#<a@uB YpA* QEx$^,θ\a'4VvU4t\-t:[ѐ X~do-Nv G!h+9Ple?|Z8%1z z<7!p+pH/~ 5A54|ꇙCe[B^fA,ڶ.v6 clE}xN0f`M.#ͪKXo~!#{L:jbqK]cvRÖ}"Xh9AKU<Pmׂ厊hM+#wmƝGӱ$(Fd!읗t65Yߊ2GK_ O ZȓF}doxʆ b8Uujh$KnhC1jz‰&Ž=.H]Y~!v=1<kUJWAvɗ(8CZVik>DHnM'#Ám%LnO ё+tj&N^qEd>LTx<k\v l!-Q⭺`Aszg2_t-RJc 6[SCU\C"Տ-VMD[nV$3Cp33CPh!sr0lϝQ>Oo1)*H6[`KhG'@!(=ϵ_+.)GB74+n 8SLc.GYDÓ|4Rq*!n؃+PYglrTcA U L!!&ZNH2gyIpg.u0n͵& jzc)6{"C7]P،GXCRʱ'JgF ĩ@:϶WmB>C![>cܫqwss#Y~ ڀm-ɠl`? g{Hdb=CE{gVg'E^y5@7fڟX;+b+ ;ER|Ar h|s/?#˜׆.T G3m;qZ 4pEIfiT%l3 @G,%)OM@rtt O~,KGAr+#=bAAku )'8^:vGEϷt0wp9Nk^4b ~!k*ZqpTqVgfV4qFS*wl B?A\Uk2t\gR@#{f3U14#f"d30!hѤHΆ {bq7`[P8eKaڤ/)6L_ͦrN(e70(K%z(O#գqZoa0)eq^r'ČmSØ SC|V< `1;?^,8_ }/( ,@`QU{ Hy!9{l3.ep:-g!RMbS2d3oe;р>i_Qޛ}>SOv-N@ho x* VFkaY;^9@>ԙmqpL`P7eAG ax4T(E,Ytr_<,<+!&|3917i?ӳ[ Ti'i܍xsk-L텡aWH@F1" LoIQESϐH;Hz{@~M͐/$d|g+ ޘϥ,8({ ηKQqB&yWI%*qrBs>L)  콬XF?W.4)OyݗCsvYۜr2yA ӋUCr{Z#F]6<S*ƻcgR ^l5$QGa8j 8o%#+K#ǘB CvSq! P[C)ҿDujG*vqwO/J&b垴P&ss|M`0V!4uF"߼^6scFN"I{sR}ES3; Y oq nd22럈N)C_k;YyiƂ%) 5fbb?b娃˞cuvݐچ/s9ޡXu!l7/?uߢzvgXѽƐ-o+J:N7OA8wV$f BK9ir:pVV61cVg+}\<u"pJ^ GйӔ!,ō0.8/|&V[9IxA}(QvǓAiҗr"BNa\* 1-#Йyg0DK(qV3['4Fx7g֍W:idhK$,9x :>@F_.͂w+ uRI_+R#`A]k|ƭG[mŤg)sGTt,m Im =>_&rTh42H3uh N29)Cgg\ S:LK4R4ex|E~m /4T8O7϶bnFHSZsXLfUgmpVw$z#WB=nH <0 L\\#BOd5_:5FPzCgs|FoFa}n|R dkΣHVK` x5EKKU~={B 07&`N5l`FárP_Uĥ# g(h?jCb= O{KxRNBx9 N^)ɔ Q*?%é򚥊U˭a+~ѤPQSux@<)m7,ht[8>U'POcPrBlEGzB.=d|>|1K{+9{8R~qq3:,,1I -IzV]R3Yr']:4< ^#3]u;q쩝%e,3XH@ ZT':qVp =Ċ8))[B.͟Ncq5kO}̿M5&V>bvoz]]h'xy8Y7[C uzH)#<-^ T"x3=j$peR"ñm CMԝ.{>< qϩxsN/OQ5)3[Ҷ/i`Ƅ$.]U.Q$'gG@vK(%W=8=^>t-% &xSGǁy)X#RǦӯS1/E.欛d{r5pWu2 -03wi4QFH4z]7*q;iV Ibuvª.'"T0vwx2*Ҙ؃L kJlN-amrV5V X_*\&8hYl AZw$n@"%:~CRo~UzQC.O5r`IbP3 BжSjGM߆'fc~V'?u Fj$kI,K:KF,tRlr-ۏ D_%#X7m%T#OǤF2DMLn<=$(z{,UY$o#Ì%֓:KO=alc6Z, t;\x~ V10ڟ8nP2F*8Ǭu.p21;1B/+%Jq,:=˓ȁ ;&a~37C~a B@y xHfj4K*O9]g|^`yI Nl%?0>5EZܑ3@F1GHjfWg'{4C0@J6.B>:x>RRLwbo)] ZcDcRgaucUOy YU"!u-k]ؑ%45;K݅JA]pr(+|aUR2  x}dTI=TY5 v{2:>[,IĻ$ƿ7ƝOd~ _q{ еԠ|/~A9MTN΢6+!]c_v ;&Hee8^R-k:?,o' L_j iPm{qjɪro4S:ყPWtljLW8?2Vc1 Gɩߓg0pW>LP0΢PLth ClN#UqЮ?|8߅-24PM֛l"E~ tMe_d{0!w⿈|m:|tu,h{=ϐTE-XI(ރ6~|J$3p/ЇL-C^Y7ϋX /!~'J_6G zjMpiuYLNt:;>uy BgVIj3LәVH?ynG^HR!Z7bGq~]e䩺 [u/>_/MZم=XHH?t8)-AWV蜖cXBߩra _O (>b19X 9ҳo(xbKK1|M0rmGMQ?~ fX2=zb -EDN_oת3,OX!_SWc~'mFf\}k5J%Rʜ/Y89|W-Sh~v'ݻ6 )xa|̉7H~֪yWH|Sug#7hΘ^|z fj 輋UppΈ;䃠z9IM{cEPy P5LJg[Aqĝ.|; IP(}m)ڶ,!;U=Nx<=d;b+lmWJCqwydAsQ%gp}D |Ϫwu Ez"ۋdgTlC (^\nBCX߸<~w$8,0j3:["Mvi`IF`9@"HGFksܣu&\^՟H1竒z9]9CrkQaS[џ,Ev/@DטdS†>yꔏa~qSdJ aXL dkϏ$v ZJ-Z*}7X~#slʴ3x΄rPXg'J:50 PsVAq䆜+|v02!؞ԗZaײu_'C{z *Y8>dˀX Zz_fP&e; zb֪RLtV&.-D#O 71 wA!CρO359R)m Mք2HNlN9ii)93Y7A3rE֕,!jx^4Uw>v ^VM"ݓ7G~Tjb^ O: mŏFc4eQ>8ITgؗF=,FىG˲z]h3hsƉ2*7lRȜe g]+1Y|Xh.T(:zI_nq{Yq֑0%,4jMF=5#;ǜ|H,{SS2e?+O/!Gf6%,d@5s|ifR ][]j!99L4`xG>㏚Gqu}Ǖ UiG{|  92I1!tG92~9pT(:}TBX:N}h5aedyFD]5I<_E8E EgbdFX u݃&d.U:,N.9@ *KdZ3tU7%W4j)pw,`.6{ 7qEï[6)=`\|_.rPH*_㞲gwM%Ęqj&}@9kU%gܠKZr-/J) 3ey/@;W~m_·Kj Qyx'`@.I\Q:$RE/UoB Gk\,MKpz-qC\;3C>إSϸecЌW7rB1W0UO̦,wKJ6hCޕJ,˔49`A:[{gk:ZEzE /rYv +vCsPfiM116$$Mʥ=٘&=YVq~y9%RcזUhyU*$ ̂<ʅ6 <SaMhǧzE_ɓ _!.huuU`Ƨ{"H17'=!:RF6v{3ОK~DFAE fvN02%L$C2EHby SsaZʈpHv24}JcjcX1ĉ,{c,;`H.K_е6 m b9-56'9ͱc+_~¿ ks"6lPrj! x@{^+,q3F8=R9݁h[ 1y.Ku- Z/8`{멪xpk-kmmy^ wkKf -4)2C*n^P&H{?LuOUr6 #a .d.䈳DG!qR3)Ӷqi_VmROGZFzǁN 2>'UQMXvKFh9?a>6/}-T%9.r7X&@ЄhV-| uXC?1<9n'%6=뭰1d"ꐵ qXa􀅩&DI)_ ʛTFvj/.bTh7?;W]HJk&, w>,33C}PyK"H8o5yeӬ7Vy~[2 JI ʋ3 &,u'U*P4x]*{7l]LN䈐fIC/!\8<$Igirv<|o@ oY~s9rgh yYVnP! *34--"V7O,,Iԍ3G-H ߬)ܕEfݵ26 y>~"]Cf(Ϊ ߷ULvY蛝A('* 2iOj}H!MOYiSf_Rmhrу![4QxBzZ"A cBހ=sD'88$S WGt-%PHeh6I$(LŦv ̢㔾n6HT +m詀+~4FM7d]NWgXT=S{XV~0.F>J%kP6i=i.__*:HKg(~ap͎ER9#;Hmz(? |@TdSCH ^wKmUVd:`&*5E yJYmW(VsU;dUpAYB$JܱY x;ĩ??BA|Zx!N_J#{4u6$t^Tma?HٻNfGOVޛ^@Dynʐ~'J3]%Ė;ڞm|DIk3*Zc/ +O<`u:f-q!]Aq7>D F]df\YVr*@cw.$+1|S7^נzY hHBCZcqI&|dFUgTB <7}+m$HrV.c~EJ _yr.2.>Q_ɥ\C4}p ޶Ӿ .r!(1w倄`)]bGp%waQFӗ؆|UG,(9 pcE30`:0Kt1^x1j`N.Qz,#G?k60H2O0ʯCެ,@0𔜖e gTПή:t?s*FTvJ5;hF!%/S=eI*9 'ݷ׬?) tqv C!1"("9Ԓv}j.]ghwgvn7N$vօ7JX,݅2 .S!.tj~Ihl>#IlkhvoGݽXdaJ?~'1dFICqE 8kҰ3Z)yJ'&["-j/hm@~P!> R *HmamFsg+ҁ9wּZ2kӟÆJQt;S? 䫹p]5 C޽Q̵ 1CFٝ.h JeUMrvqC!F~m~/dE? KcFМNA oe7W0F]qJK3ʤlNnK"R5F.3xhT74,%ٟDBѸErYpڏN))8!,=DB0Y^SxiQYM~\OD{НR9ә$sbR) %\_"=+(ҩN ܀zjRsPnӐ)X&m' zz(x> M}ϏDO\gyRÑ~ۙDP₏7&q-mC…hņ#/n.q܉~y/I` 5'-YUK>a^v%ظߠj!*8@-svmZc@&ۣ2% sVk Ujb~UP!$/D}7񥤏{ ̀j~TF+HK `ѭbjA,Ul0c(VC'*9c:/vThӓqW[l |LtXMY(.&vv Ƨ>(N`hEtB(-I7[Gxy_Ǟo<؊E,xc˝w斊Yk6!e0T-)K5/f^&֖+to,3C@H;1Yw)Qh8>azrvѫB[;aq&Ɔ>b[Z&JbB{(X= 7᜛%GaK\~Jr~ BPn^]yo^"xr9I}W#V:ir3p.N-J5k i)$ Y?0P R(ĈS*;$T!Ыۆ -V*,\ZS)%H&6pW!/}ŇUaRIwqMR ZmN_~E'~++TY1ęKQ24#|By{`7Eқ9jE5U0I]5m& %9b:2oHxY0A`']ni}?ECƥ/Bi ] *WA!ShgSDa03b*T֘\ݮL`Cޘ g!iFX+?qgV_WD8uw߶KK`Ԥ|xMr6]?7t5Ɩf4GJmpHN'݋gF.5`Lqka"$dE3l^>G0F`4 Xwg% =!Ψ 7I zB2K ~sz,:wK:hPߥcwΚ_Dme)/.Dq_H5E;s9*6DD(;Opϯ]HFK#/2{V5v23.]A.Fu+Do%cA;oY(J(I!j(qYʿZŤΌ!-3wQ&WqqܭC'xR^8%OI~d׌y|W8 uN=v2Vy-!0HquR_; 1b<*cAB;E #G;3K!+lhF"ATOڙkӪ7`ƴBGO,jb1T'ɥ}B8U~eJ=!BO{cQza a'+eJ+ٱIG'?f놊mA˜*ipkZ#17 kyW@Ftj$ DGSexZ$ov|Yg>qC$>f,xDQNrQ0y,86Di'XB <1~lFdŸ֒:~I3z{B\MK*0-{؛.;jGC*闶 r*Q"L7h?)}ƝŻCR+"l5Po7HyZSCPtp^Rr!&Q-Kn m3Tت2`ɞ#P1+ރ5Έ"N'4Nn` :D`J#h&&[;K|RiC> "NAQ̛T^S 8 7xS׸Oc Xtya/L5dm cb& ѥւwh)@ibgM[a9qe_ɷ'3z@=QV.D+PdՈe"M*U 0S,::(jaք *Jyc7h~CA̿&0Gc GhxU,/Ԃ>8vS"/7Li-,3hqpLYE(#˶Ԗl{ %6+_OTLrhkOFmJbkqWCN4_R[ptrgSO,rsMk)]ȈyioaeJ gs`Nn.\;KGýo,UG9;aGՑbz) E#OL.L[SmEKpq9wxTHk\?aku{z-}zghV^2)HLp{=>#>yTK[4m]tC{b>2jE 6co<ҪYtL{l=s=posQN-~UP#<#^s ي:aF*i^*^.g@ ,e}*@} ѢqjR r923!!d;3dm-e5U3FnqZ? /O%n]J݀Q1 Is2L}6k.ʕpK9ַ~7Y,>ss[7u3A(lfe; Kfo/9+^_L:=a. ch^f=t #*=YA(YiX clf"-`'=\^;2NjʽfVEi6[^ o`!lL) t Gx wߊ!Tke dsj,W$+'ṣxbpOQfPſMrÌGkMpf,"fH\W8b[N@uLz%BJ g뜎.lmuwjn`kwK̡m6K/,q 0A-! 18OT?%@m7*!<4;$d)4#zS3氚{KQ} C`@ ^ q돮Qr^_㴖튂xbpUs3CDɽ1<=:^C+@3t=[RfEͮR Vk'ir9x/hMsh"XM6n[ d9Nk˂ Qle΅Kzô|16|P!Aa\0) t_Sau,Q>4= !/sR`[ ŲfigtJLLCKF$6 [6YakkK4,oEh}Yl.sP3lj֬7 8pD#_6haq3Zik 7<0S5zl v!W Sӳqwv2<:sW}(lw8G}lL@c2bҊszս uIcbtK~U4穡 ~\U];|cL O:,|T\;9=gc6ܙB3.'2z Ya^v!?ɆZq7=j=7Νfbs.()A" ti@7_ۿ޺*Na;-]=b[F"#Y`t"90%B=NL~u$Śslpb_?,;SJ=WڈFY&pAMk8Tﻊ(0S;@U8RAJ~듅";n"fZ]7'+f RźbdV H!R=?6jÆ넡|Z`7A Y+W@m\@akW]f ׃1hH ({ó 3ۈ 9Y5=ZO|CB]p=b*! tNk+R&hiPzF#f ۣÓ(ӻQnOJSY5CdԸ2ڻK42'#HPߪ  ~Pɏ[9Ř VTǝY񻅿ߣCӭ@ű:bРM0ZͩeF]mhCέO'𪽺V .̞+1dƵ աjMۙmП\- J)mR$ "iIs+#lB[P+Q&9~wLƘGz [d U#ܤH2JZ`hgJHt]j?ۜ {dwXR'!]/LV^Rhٹ4,'n1 pFttGO@w9df@Q}U~A b +7F܇lgYVm>4٘+`ZmNLix &dPN͂=^*Km@(8ӯ=ZmE}ZTL"~ 46HnتwH`Ug^*ooqE|$ARGQQDBJ6 Z\IoM}̄R=:yUy5FRnp#O-3<Я RtWoˋ+<Dƒw`f#Ld~C㐂 T.긊Kۭ%Ø>"kD 쬍1EÈ'2"E]m-$llޙjjrzhûAdEMnyŸ@b2j$ Z`݉/V7Cӆex, uY~Rpᢪg8`Q1ǥƧ֑0 mx1BnXӑϕ5ht/+"a(na3jp L"̋k Md1~F| -]%;{ 5L{t*z3y{~FՅ@ԈeLwD'u7 0:PgrڠY & U%sPL;s\T?Tvc-X_^`]n͞'~ d#5-5x)+qUęgmH P6vI|]" pt@0jPWqUQ3bͶaR=Ev{:-&kiڎPӹ`jEyI|ק tWd%hqTKݡ1Ä K W:_q~A1dG*jÄɧ%M*yvG/mLcku|tUD$cl)w#~tr叧 f׍@>Ԗ:9[\5H&jَ7gNs.*& Z\Jy%hqxCū~ѿ1s͇82~v>Yq "8_2OE3THmi%e'K ,%@O3+Zz!apV)(% &Tw3-/<LXEƵbI),'Ýc"5̥UƮKZ VV+hR˕T̂3}0Udr͆k=eǓfq'_"|= *mjhLbr!F.d>#cRCߧAlsr<.`ka¢n9\goܗ I ٔH"ZHLK^!DxV@#J|k:ްN{F"N~Ҿ%aX"*&]avsnKw >H{/QDAe^IF9ߵ1Rd;B_A΢Esl%*8#j_= "-ق_!o7Ct~11Y-S4F4 =pS:ppy_EZyjitQd=1^^"phʆ$fgzګbf}`7usȆV΁Bd~j'2X&k}@.aZ3 _$~]p8d3_Zؙ%ۭz2t]Gp+Jj7Xg~/Q}5M /lx?h_њK7'?&^6;;u37ho=A}/fq8@2/7s G=pN$|xgyt]C Ey#-+^Ke~K\ 4P?925q1OqC[?s r~%Bp~`ޝ%.g9Cg'b9ɼHISf{Z.F6D;xGIݑ; <+#C **E@S$PKώ͙&8BjB'爁M?;Y"FηaC/?HGWFs= vLԫn9_ & I(7wwy Uy<Z.o;\(nmn^Rc%gDOtёxn8;BZpSn:5%7D E%J6rU_ÊF|7椋O2X_zpd6A~i+ D' N/=*0N"@XM~ kшYe?x9ZT 5/ԧHP4 $e>傓zRK*06oH<`f o/4J Riry>{5lI]Ðaij]Ɋ!fc,97c^Q6C8S)zQi*$ -twNDSk>tOy>q"|ibkfԶ_,8AIV?wՑɧ{Aj`; (! ڗsw@φ VfOwn_Uzt_Jxh'Q jE/󲄙#M.ULXK"W Ŵݒr$HL)3?咬~p󻀜LT }N'Sw cU ]I?}cg(%Fh_۝b;{~'DEEZrLR&%.M{/ :;i("o,sߴ % v1 \SkVB+dx5?UV{nxKK Ȓd(1%9z@QUJ!=E6$:IAYUrahbNюk(T0!g_ 2 p;: |F̂4Wt+x nDDX;+@ t)=-tBZC޹ hǸS -ߗ:T ԣ`^* 4V?ryf^m%hK)ӑ !6w Dڮ k$q2'J E`s4Swe:w{/IUZ롽d/ KSD{ؓFɧq.h\?\>[2"U7*^f8BԕDsB>~հȔXdՅ MO٢ٺ_Rݦ-MՒxIA箈&}9Ԛ]Z#0pT6 _* avz#q4ýxM ].?ȡJtȡ\ %<8<S/onM,G+U.[EHR#=dI)H@1u(+)="Ҋvv 0I2=t]"Rj}V|='3¨uР o|9a\Ij@V3=2 |˹n,ԠET6 qG*'xJO MP1/!AVIei,N,@vťh>]c8תGw]YM_ p6L[]GJWwO].ccR|=ULv>Q7S F,/VuގX]ܕPꤳ`wEx݈v^41sܤB5ȗEX* AK:5cC iAa#vS 'w3ݏ6@ڃؠQ˦'7'D16+ B; -]/ogÂaٖmBfJ?U45ӑVw"paAVӘOg} #m|@k9T9*zlG MXVw}K:i7(K̓at-owxP1u0N|QYMm5j)>]`A=B۹xycP!텙eYǸh~'nXT9Թ[fD)fs?bQh1Y/imv;NiOuIWhE!UzF4f)Kx0Ȗ1F!mZ)b_W0,Z/_%QJ*-մs|3ԃk"g%FsA3p`*\#fiOƐ|2iCH5KSۊ}6-y^naEJjM| i)nG#Z?H+Xe@3bjK#fn*eH2f"O4|<{FR|oNf›Xl9s&4'2ڏ}cb1AI*]1wLtq4Qϝ d=U|B!]U퇟ƈS|Xsd}l(4K,cx-b(F9@w/z-G}ض3X K?uApP_u8h K *νCRHjlƄq ^'@5-(P|=[̀k;ņGWbeНN/=H-{5/gz[ JN>#mU#U΄ٔuUTf,N#8Y6]s! #Ǟp@> Q<&SIR+ozq MXԚ}E"Υ@e M"OAjPL0K{ -|UI8\pJg[^W]eJOa++v.#O7}H`eje+A9H+VOvŻ?@f.;T*FNt7k7޵ж.s. d#P,YRl%*ij>b{I7w3;- cE+CGei^4 .1?Μ +GשWؙm}rgz㼟GzW֮O> r5Kl!ՈJdH鄋̪5Nm?˛`D|[V;k;/qm^/r.R Ʀ3 y辜%KfWRUA[heavM"1AܝY "b]p(z<&Ua!چ _omm lu "oEHzڃV AʄY}sc73կo~gshM_kc"7,Nf>`AÔHGiQGJ980ŐG gi5 QنyKH*G_'CW5[hLNTӋاdۆbΓ]p<\7TvPc 6-gE:<@ܥcW aj"DSQRf9xl#ԲFITzM1Soۓ8i0ϥϸ˩\Y ;=>0#H9t|zR'õiRN&r[o|Z1ת{+-H8-Yw-yiEs ɥ3(HjHRbn*F"Z4jI+4Bw !UШhx#ɵN@깻+C>'~ו#F%^FJM*Yhf)TM?9ۚQ/3_r@L6Ԅ_kUȯ*%n7*viqQ*g}YI!N|eS;A& εqsxjqy߇olytXW1JW,:A$&GksIqpI4qOE_|/iW]KE`͹^0?z((,?c'R掞 Ku mM\P-aڕ6?<<bʇl[e=CT*Nʱ/X]cnHJZe;gXWd{{b)tyдKJٞ;]<kB- e1*e3XJκfn  K"Par,Ч63~NRuJ\oCW0c"`j^WN,z"22m1M=v8NR:sl )v\@V uWC/^Um8ɦC.{8ɂd&]ލ&^i|~uizhTPؼy3a6$11p__Ҙ]GblCoY-'AdsLSz? V31kG/g[ژ1Hs{=Ft]V}S ~!8[A{Z:3ssrnƗx];}q3$g%N##o1J`,3Aҡ4Ma[Fz{$W_Ov"gy(hQsjvYDY"Q"؀jwW/JjI^vNj ֱl]ؾZL(]<Р pckHەI0WFˇjZ/fJ`qw΂Xzy~2*%a:x`b"v~cX93y 8' 4#bC^26P]8jQ^ϯ3?8jo<4skG/ Gtt0КFk4Ol~+Z&ۘ ^F#wW .pZe0$Rq= yjae)B0ސpl*βh`C$>qvSxզ #+>}.<;ŌLZU@J5˧Xg ,=Oayn\͒() ϙؗjbǘ߇1~׹4Z1N؟{t1Þ' 5@ ܺ~*/<^sD /lN~ R6O4=@dQ ~怄7m5 Jp@;Fz R_T 0pO:QdE6Yh*mBΚzZp.Z<ŀ{6>3|{+LI&.ߞ"/>TJDQlNͨgchd]}t!QEߢƪbmռbj ul6GLJlNw_!*2$ ILm)+8fsYA~ȚJ t g~yd%/4+8Ȝ HspFX(iR\#U2UB d{ ~)B6Ց{\>z-CpجCv -RE?`s#(5и+PY.Gax@aw%SU]CSr$% .YH-њ*!Cj $9x냨jh_sWf r,4<7 9ֹ]F]ϊ5PX<aWè8*dIې?܏|Yj]7{Dڕ4id|PA.E5ȡus,B#uڼCbZ8zٲz5HC4ZZ*|JhVɢ!UUD}tE-cu xv>IほoI#f5kO?7ݯc. Sp9]*"A11{UG={$W@&^#Gi*҂O6=]V7{^ݵkKjfF2`F y@TU2^;ڧǕM+ۡm:'f{ ZK^D2NI¼΀Fd3'+S>N΁Eq;j7[ϱ ^ㄼGG<ɎgW`Fdkf*K!J٩XbJM[rmI檿5]pSQ:9ej|g՗D[&!$4l$Xdu@4f4$`ٙ,Tg-_8Q$8ʂC1i8|4}ؙhPϡJ htMŧN\3b!y9īZf;Yv$9l xqR3sd<|>A U}H~ye:!`OgsjSWgVV= }%TZ&mi d/Px#O1le w"<T3NU5LZbsᔓ/s~? ?Mp*q>[js_CS]lƟșWo,c pV{{'~U;_-6.nSR|P-_DFہmS*!;֝j _l[3^TXUrNXVIƛm5PsOg-}եZb_& ٩-L@)3,hŚ"trv 7.Rܶ۫UVDb%q$WE<Wɔ*aIAJ|؁rfLmUݕ 2Y8 y :H1|Ǿ@/'t0JCoqF{?u>s_ognb\f 4X&ڒٝc#@Db(Grw Et֕_ywvڕ Ҕ}x <`HJv/Qy#} .$tROz&͂ zO #0Gʝ-gi٨EuEcp46kC{'K;=*FGEGo1 nZfP*tC٠ƈ4aFVELKM1e *B.dbp'jM?J Why|T=ʧ=-:NXʎ.l_&.} 8n_"(puM;zP5 ܍UYwGpTLCqm u̓Y^p!V }*jZre(ڄ[JwR;0J]/SMɫzGa9L۝= #ۤ!2UwvS;4tREvTp a*xGehxl-*++. OkFaEoI-Ycպ[ UnX\(yeHrcW ݐw٩/j,1+f;g9IمO6|O Z@} ,2Ͽ# Vt59\~x@IƪJ}kQ@>JR`WH ԰v7dT^2N7won.C},èPغ3\=lN'Y-04@$;ɭ N\=.F$*"mkngrd 'a1$ΔTz KhD9/ǷSƭ|boVI2S|XqZ(lI 6EsaPʩ۶Us掚5uz|g&G? !z7<[H&IM6V?U'pP%]/(!.B1mD k*0HTS¸T0<7E6w/pZ_gGP̖ ]71QWo]TIzcAIP)UyD a$K|Կ~W+pH 6m51Z;~3~) ɣ/z!s!Ʌea=!Rk>6z=,ASDS-kBmb\fa!րo<8 `H=s\ XgB6,3cji]tlT-Z+q!Y,VDޗ\KYNwqMkb~6+AXMMyфDӱ1 |I.WȐS~Qx[GR c{ť^T{T}1/%$'gF  bL(Ȭ|)gd75S+J.E5$x{J I7c,. 'SM{(&慤%;${Tq¨Uzz-RKOS"FQ3=t4*=$8Z̦JoFs6LJ* $< t&TZ9-M5ˍ\uVf 1C>}jwd㏢Ï ~j7=eU#_4SQcYXS&$AD˕^'÷(tqgnlan2No dOd_ ՗4!ַ_B\J}H#[a-Fg+*d D8ld|sn1Kl;ޚb|+gTo_}k-l-ЁG! ^ٌ+*l*53fUbY'p'wra1FHM87v-n_p@;x;QHǭ@-yH&6&OAgUD7Z.|]rVpB1d&[5<9`$$QVլcJPo)Pf<*\+zp\\2I&ElNuB|mxHX ?nU"h> VɫV\F ZLQ8s'Uٻ)]B0'^1LsNȰ˦ 1}\)ŹXjf<ŪeDSL8^?F apzn{m]l⽏핆LM˥)0?qrwB_oS uYӒFMkWn2ow>zMq#I.ݰ>KLv#`bKZE{t4;sxXb0{a/^[YJt=v>KU Dزjq_bn2GQpLZ. k!WzN@XZWƂ%1GfB+&?#~k]+Ռ#}lu]2OB!^5`-NV wǣ2eBh ]0'a+U2؄s]bWwicPY \pq^t_"q΂X9MnD*$.`lmy)K.?x@ectHK`@k(">8 eسٜAiȦ^Dk,viL}:GN eW lz(,oAEfmKj!#w"G'eChnYT2R ?`{1)sY3)Ւi&Z'NS\H[RHU""YF$m+ȥ0}Gͬ3D記_O!6. "Ђn\bfܡ3)?o턊Hl_ҜEaꡋ c#gE.7Md%drUze$ޣ;ipY=ϷїxdgzV M@ݩnC,lI 3-rEjg݇溤VIVb:v x8)Y:e(N Y龦+ƾyQ`Y$Շ2iU(2pо!lzbŷH͏9f ֠,07[CȻ8Bόhϭ(4 "7lJzFXoTui2 ޤMm} OGxB ]fw{f^6]y+о`(e"([N-3J(1gOo">NhKL0?I5 z3N\-ܗ^Dm] /Z|-& OE/ĺIr&tg/" 6$P=/S2fG@kU8" ԕNEIǞFĽaQX=Wf"0E*{GAuM:Zv$zZ_Y%1AMH͇1A!ʹPk˂)9 %ĖfLKC7n]/bodPz&_py*?bfA58wѦq*+;MgCh/C-;YS`jvq"Y&;ȊgA+h0laI>zwUq_eó2_wZGN\OYk0C,#v] I$%8X 'Iof 0ǻ8v=)m9_W77n]9+W!X/UHq_{gr2q5W *bַuF0j1"?UpiG1:r= ċjm dJKKGf[E. 7*c|1b)pI!7b0SakhqRS'CPMʇ !mc  w="RE1F=@z.[eEB?61/fU&* C,i5deP:c1O4J^-Z׶نqzV*.&u(8\ , Q=QDr/,+n`zfA `!^/{]5#>[6_5s62uҁ8xbM/!ȸ) I'w+jM{ r205S 5Rӧ%N5hl l eDhO0U})&|J9/gkOLzaG&ԔZ{gM!̭҈2>K,붔/Xjws,w8hz/Uts56xffië5sUUUNuw=&iHuuJ %i$ _mn v-}h P+o_`w}6b(o/YR^8EjF1c1"R UҊp Af"<;9rh) EL:͎Ɔ@ T-Ӝn NwVu:Zp_S/V9-['nNm<30,2x$F/S^SvNvfʎPƒaHCd!gag:AjtH,SqBhQ yx'BO~р8k{OSl~^"$k_%fZ_nnصhKdl n~:P4\_ּr\ZESq~O@GRzx"a?ѽa;Y6NXۏ-(boߛFAcذl%9@TwI+50E??jmdPWA:#cCVT>@`^a0Ij7hSc%pi`ۅ'\)5"\;bQ /&h׼<2b'wXnZ %%lZѵ=5Y&vrYnM>LS͗rF! 6J`źg>QT׊h,/.BUjn_y4}gO'1#L'7sI Z;"O\`z}d[&6"H*/η^R}qR.>Q,3qy@u"gT S$ gK}8+\2韟,a9sGNe,\ho3E!$&Cԑ54nd bD}Y+ Fj^>gi.@z OGm锬sϤM,tu%G^HVC.jo{~ɈbPF-yVwA=p'-#")%CyR,A* wL@dm2]_K% @_EOX5lh(`@\Ϯ6O%I,~`ޒudA2k1f$vc">fUz993v(P9kn1Gz$pZs".!t>ΩB'xQ$`Ï{B-Q?\kƚr`D{ *!Җ֓Uo񲎇벒tZI~:wimxq Cƿ7yu_P* "e;=הl1|r98vF.[ڂ~}Z6dPq*%bGE_)Bft"0qI0¹ BYj!/ yhg3oߌh 04hi@gE6>3J(3E|/b5o5oN!q1K˅{"ï@xUQEOpq$_. )hpK0/}10iݔםW?';ZM֌ 0PX]^Q0//Z &aZ3]R$QQ9FK`6Luj8(1e X1i*bi'Y5}ӚƅMz2AM dc:C8_Mc2Lkm^poB'Ov1Gr!z: ʿμb!mx9h+wsRw>^iritE'޴t\#Z/W2>XI-Wk&.%{VDz<'K*JIVl:OO Zs&i4U~xbVC Um{ԋnؘ%֙]olHpsL seQK-ش {N@:c+ľJIm< ہssA9SrcJXVӺ Q© Ri_G\*Z=1ko- \mL}0!A0=-f'TCk q3'w: ɋ̢[#v wd{\x_k- 1n$l`]:n&\K"pM٢w"mz/0`Q:|8i YqOq\,ÔR-wtɂߓ^'v9+#~tΓY؃_j.JK:$W8s Պ< ]_ S,{*^@RvBǠ3s3ռ;0 oK|&}DHc) '&QO0N;&B7\}Wq+d5e'>J"CNg/Пa_za:,SrN{Sng z)k}TVn$¨ u^;Giv^Wu^١=[w^hX$ӓ a'<3R`E ,O-|KX!2HӬEJ^AF{_\Uޕ/;P P-+xxBW?Q`,ػI"q}먑r^s?}_͏Dw][΢l^tH;Rnn<.['dEWU$6(MʋXG%4)t֍ژηwtǔ"ϫeY"I#!~ጵ]din%6bM-[4+E;brD(+1ҫtg^$@ shÅ$N>sZJ‹?ҹo "ouѓ1|JK*YxĬ>dz:UmMHg="gC@ H7!CP !d%j<ĊXr-m&( (=%#%ƑAw?ULw16،7m%q~P^HB>zQ*Qrtʑ zDuDD[SNgmġ(q_ ="m;`oRʊҋ#ơY$Ա]h>쳿DPq_䀨=p֫EL=`Χ.mRS' |e7ζBȬ0V4Ê#,Je<R$@{ud-Ab5ٔ# W mx>*GE d2{B^j/JS=(5;ӻ [(ogK̘6wR WߊȪ!U} J'؜qpMw` C$¡C(6 Ç'6ϻֹp~ԈյeWN۸T]|`&ص>A܂u)ixqqnn֙[@;$ct RP}zS7Ҋ_9F@)q&m f_`F䣍c/Amjw\G57}9{i6?<:="P )ɰҪC Eue55k:SI=twL>~w!ol&4E!.K`̬OrD]6ҘVbhf_H[;B6څOi0\G䠹쮌-d0O093g̃._<Cl,?g%.tGW%$j'6I%N4x m-; W7z̜hwo>{Eڲ]WrqmZzEtiQ9.ޡ73vb4$밳 N kOEV$iϼv'Y5&'MpCڗhM$`RXp{z DBC <ڲ QS?f3$oo +J "hz:/gJʅS+"! 2tЭ97p/K5mAM {XmI;ndN'c, ~b|1xR` i@>ֶ\]Rf˃rE&" fFe#3mqXAH=~rG3lL૳? eW c.LL/}qZ0=\Ay_aܶ,qEGk [uՃ0D$%z#UZr ^FV:fߎVH|T(-V$MrV:&q_Yf{S$.C!SQ'Gw‡)/NL}Q|mxʭrEO4Er.\mG׶ЈꢖG {V%U[ZFr{k{1t bK Ơ,3*(&py0 (:}1?MӼ)&KcۃNBず*V z:!Vx5j~e1vf)h8Nw{K[rDe1ioZf$@w;e{Mx(]ķ0'ҶzmK<ΪQj/ZV2\mT%;3K5a$ڥD+?T'We%T?c:ed*)J8NZ?j:88kĿ*ҩ1Ⲿ$AK;n_v؀(T7\au1q$6G0=aW.~ ,q6nhg8s] s/^][w_0M ޫN z~-hXZ3HaP)nS|יɭ,i|!4ElnxB¦Z.aޏY̽Q0cn.;V@fr%:UzdF /ej=J͚#(797'L|\ Q]\qd.B֯壶PgUl淺YlV$eF,mK:ijdBZSЎዢ ʥCJu5$&R  ?-4lr;X9*5Ǖ)ݭ[Sӟ?SQruvc-n3zx[<ؙV_m_ _b/@0(A;b&J!IT̿(ƦXX(/Reoz,*S <1AFK{<"2?;:E 6K$Ώmd`uy>2~vU nx  =WƐ'c#ҧ[C/HݓAf A-Ç}ƺ`wZutpe~O;x`σ7AMEs?;')`~s-*.i #r-4(u쮸s-'V%–<"*L9>xrTw8w:e(7T"$zBM} fLGRpsPݓ;%;Rtٖ]0pݶ\@?da( y_LEK&BuTj1}eS ~5 J_LRUa"2!8}eV'L"zkvUKdb4OT{Gw kyŀcʕJJ!]o_nԫR!F@ӇR#5"V){(@鈵͈PUg)~E‡anH!46XY+A=Ue<1$YiX ؂mLVuL_J.@C0jd PFy|J&记aE/U]-Q┤}Q/?Z zg]cT e)LiP# GW{3q5䜏g)8vxOV>+F..T7%xvݭJ~!/aR#oo I XqBUT[ǐ%- #s"ݘve!: z s`ˌDb,j[+`RNC>Z?FS| c\x>M6t./6DJ/7ӡkNeI]9\5$J;t9Tq6?,Dp0Ēp'%C lQO3:_fՒDIbۼ(k'\z[ХOpjJoT nD<+YϵkJ).w2erg>עKSUOi.*wK#ݶO ( (3eO5n&liwA~ءFR dlNX:{Y||.5[UMb U(Hs}YcŒ\7 >9'qVa܁ЛRHGv"8k蜕- ʺBn`s&Uʴ#}9D!dYG~IZЁAp:uxma9*ffЫgX|=n'YΖ%cLKeߟj\z==_/ІK >3v497MϚX5~_^`/7e? 0 KܾZ#6RDΦ̘CqHyoHx M{#Е-ZqWY#T.zq%,yG۱z5he8c$_B SFpf')5oʙ534)/F|c6Ah$ d6d gLI֌_ tpaTQ4Іt?"Lq+ P)B9n?_5~Hf95͢Py^٦n:!%ow}#G~VEa 6V7)V\,N] 0ՇYc0|GcG?IFaV|GU<䖧)OBvHjZm@0 9Ł9ĺk"1uACg@d]wM_/@ѴMO'EӊLixu Ve-iH-iݎRƋŰ-ey{.9`\yTwOͭn_)hAjH!7$G2vn~Abn"~ harp?\5jbS˯etK3<.~qbyi \$DIհ֒[S>x}褿dE~!;%( С, O{5q9& ೣ@S\r/`c Neu hGny|V֦ՖXsvHcoN<^yPS i ϛY &u@(SKpCcQW4ΰ(Lٿez`;sTDV`ϊ0ɋw8)rӄ0tmf۴Б} L.[-$ħRϰC#gX4Y+,vK0+c=秪)pߍ@/:Đ3TNYM]g5x ?b'{D0ׂ+,z20 ڻ>ɯR%Lm8nLJk_TM!ƌcHtvNWqZ[N4:-G r򚜯f.ULcI6ܞǑȉaQYH+xw s__1ЯnRuU I *Mk2>z/+5=zW5ċ0/ͫqg32YsP;Prg_<#~pt~C}xPVzT;E랠6Qnǘ]/Jڠ3pj]i^y,&HXzw}6#IUhg#vXWWҼY~{ыEY7$a|~y0xd;Alʎ:ɯgcoxY ǡ1C x1x#kKlPVYJw#gՄ׀I2P;}6*ⱉMo!TD]mzI$宀uq=eaY7is X%   j^g5\‰Y<cz|%IR.,Evޞo?ǿ%dE%>M;Z8z&Lbu:@>ٛn[jas)r| tpt[@!vSߣj82 j̓.QB4 7NGFnnΰ\忱h%[L=fFz|kOT1fSBA#eF} a3ڎsnCIʋKzM'Hא![mSLj(Cid$)|ܻR/w<6QBg<◑4Nr./.5szEt 2 R|8yt!mrjâz4[ON&'IKX6[FkMTiw:G.Gb-څ&YM-gk)0J5,^Mn4?qVYdCxhء|RFntҾ,z"y,(vkߍk9p#{& hnEjf_lVg m6ᯘ4H9tU=ĽenbFm 61^*zmAho]:(3KΩ - b/'ejRfA( kF5Z@fNyp&j<{'VTЦy`& DCǗ]YTКl&ު)*@ڼ-GYu .UIJGRaAVdT*+k@0)m*;l#wo{*ͷ ;x! 2Z~Dy3jjS xhkúϏ֧D|2T5H* b{Kb8!ڵ׬ʦwٮI.Gևisװ5 iA9sFH}ٿhV}-Jb۽SZ\׏$P_#4%NKMn`۠AyD7g<|]\KK j"4V]~Lt`ehEW"Ie2,+ NHtRqӞ*Zn!$ϳڗ_l^Ua[E[[%WלX[2ax<|qTPO2թ@E usP.9/.aIo7r/"Ru63yRrn`n*?1q!|c8 ьec~ YVHV517E6zXީ@_1vxIk}p~J]6#?@>-{1p!B߷|X/A|NiݷW/ӆ3^˥B2*c8:Hz|Dr^"LpZ]_W*Ci,?z"2h-u0dnx=:vah|\DIW_٪7vgIBLb\l\0j.F3쒥&%7AWMc4q&X9㫞ٙTZd`v7{QP!ಓ嗻 @8E:bDz˄V7ɦ4ɸǿ3rוs®ԘI.>a *vK/ ۷Ƈn2^@trfWMu7NGV%K9WՉjm4\ 6C-3Q[>ku~GODRr}DH p{Tl~ 5WC ./yBL!~j̨Q螈e:pFg)[k1%~D1b#6a#Vk/̵m|M[<4\r92"Ո]b\] +h8Z'cPHpH<ڒm{v#jD~)M#-t!oi/8TL}]\z#9::7kgKa&S4^7RZᴞ"5 }hQD"?Ƌ<`t1|k--4;#H9ѰQ-y# b&w`>KMRS̼˓t$I&8+.:ZS|f#2cۖRjYk^@Ɲ~&mkF3aà5[mfRRd0Y 9#oL֢ SNVAeq2 K?u}4@_M?yel;PƋ&k|qICi/Y}ćI4h/q \FjZ5U0tmw toht=֞sHy u olenSYsߔf\4o?RsSM]:R fHJ=?DsE4?K9~, / !4YR<% 56מP9k:^㶙N-Lh=O Ƿ›ԝRֺfi9)`\j;Ln p咮RHmf!iXXaQKy=Pdd[TŘSWFL=rq kq i=Uf{Ts7^ws+U[x"y,Je c(a.)yÔUk_mr-mp }?!q1o?Ro[˨oAq\& $ XŻu^dřֆ˳25ydDS;fYMDpϤ3Yp F|sTV *2Xd{u م̜M(Ml]zf4 ]})C5s֧㜣CMEov¿*,=&q() 9Q#81>c ~bW!uh9rmbnY`K^{z_Y >WGruhC]߭ӰMwN:g4w_X\ n/|$J^1<ՈaLK[Z -7 c XQ tS)kk㓭@|85UlR(F~0 ^p=0>lb[=?XUyÓ)+߈Ci)q W당BԅX0բ}p5gO9?$+ ,ɪObw]KqJM|6{jޞuaϚ!h)(gGc A rL8w9jXtHh%u2S2Ġ4p?aZGNkҬzBkM;>;&yc}<TjSύ'0&Seq9h~&dxSZ ٍQŧٕ!{a,θb W+}J`|3A3 08w11Nuq0n9u~DN}XCgiK1<ĭLlװwT|! 'x>Q\#s\ߙhwYp*ÙA_[̬͟Y:>&u9axQ-)حBrxޡhbp|HXGG'WLd, $솤Pb6@ndVrY5'2DYOX+_#"aWnIoxcIzn|N'~C]JcvWǠB/8…?Y?,+ 4+nc@0_w+XJGe'5뾮F$ nԖ? kǫ&?Qwd͊8`5a| حb"s(/C>تU=&2ah{A+% 1YI!bѴbvU;^Pyd~;>uvA,Ԙs9YBL+a"2F0/%}z&>ءt9I Wf+k}B}v=cxCim#N"Ase6V:4FO ٲxE# S+E.&,UHg2XSX/Q*:ФaYm8>f|z؆ $M^tI UX? OۙZ_=ON Ϋ}O,X~żÉ',%@-H6ӱTV<|~oݹ#BnNKؙHޑWU\Rm!ipIa22ڄcEt.3tq~" DeD4Yiì;`2\Z&*(uk M*PS፱1gUlܟÜG?4[X 9BGI\ږCvBx(9VŜ@fld2~nS|I~{ @jڤ|y=,SPE>*hf~+4jApOc>X\ u@16(`ą>^FiɸJEJ[H^w '2@$/J0~̩Ò^ o6vhLO~n%t!hB%c$C1MdFKED{l cZկ`| Wz&v}Ƀ5Th'OS?p>x0J+4c56B䦳A@%=\SyڞƳJ[IKbo7k-f A6vL 6I^ߺ+@Ep w*WVCb8 ʎ & ̇W0'Bo̖CklЫb+8:}/3oMz驽;AYپPSЯaNV= /%DRrs L1ӱh8YiگIW89B{mYldΑ:V:鹘hb"cx]_0].X?xP^_C#o3b(:c2 cr6=.e |E5Nʄ6 :+m'8ib'!ǚ>\ ǂJa[<͝( pdƸ4?lݓ5Aj4Cu[ }$XCLDA;~ߪdEd@k0ܷ|uG}S2oVU#5!p]R.3*l ?H~t\Pƾ>z3DN7[ ?cK%|hjf XDZ(Rr^{=pQ/#/?7‚O$n+C_pn,)4hXX2c̔餫߆$T+/. 8J6@+KqM*TB^- Pڌ-PXl);r'\{ 7{ѕp@]<;T N"lf$-;bMUj-q2WC)I$iTkZX%(xlh$ S fPƋxk}j ֏%~ )ez;%G6[H{K@thBffT @u~ʏ@@~%Db`ii*|6'2XS#{ʊ/gx_qS1;ӳk: R z3e?O f|PPZ~bpcq(HGW|p*D6)V"E+z *t5gia[=\eg-S69'Ok+,ltޙfTm3\BΨΙIWUz\ޛв;\:6\.cn7(?:7Mʄ8h J꨺| &"/s+V8zMMiJAitb#'>G1+JҬ1ZYXtL _' [~/g=;À\i؎ɵytEC']=Kay3LH o[=}9VL'*D5yI[Rnij~Oi\O&)vˆya8R\-c牿S+7q*-^ D\6B)p*a0|6` Ov$7!%_*LC0,^t6#P^oۀ_ޙ+6]Љ5UADTq՛Xu>,DzfN*[%%c FuW*q}._|$>h_ }QR•t -({SAh~W;;d}?a._ ͳ =.r@3{|ն߰1j9 X6m#n-=RȻ`ծ3/=҇H][jQ[z%`]`S!E<2~AUqM' !U?φߤfA*=x_έuڣs9 /ZULA1롪4絗 -,Z 0O{D(>{oeش%-bHwgpDc Sd,׿UڐqwXB$^h\eܻrz.nr`AW:03xAI]c(B2 #i,~ Ey170(k\Rs(jE/'{BJy4cJ9wtBKL\B=-╱;5siiPBҫ~n=`YbAJshmb=aaa=Ʊ"I_I=`Ǩi WVFq]f(H!*:+#fE]VƆ\>`֋z(?isU: ;}U>Pӕ~H+e0q[|8C/ SB f@E7k`i͋,O$~l)͉"`}/^ wo <1D-s xԻd?LDnL%UywDG_rUμ~-G~3iyg-# dW0Aia*v7F7[D| mhmj+zFjPغD;&4琴u i<|._s YkYr Zm.ĵId6=c%NG3Qe<н RyOuQ`/>k>NxyxهaD.s1a!D'jMa29}>p4MjE[b6;AP;#IF`q a1 FdH;"눟=@ \:Z.3g[SK ?U]\b&2K̶XWrB&[ICwKnsorMxYr:MpKdoūN,*9۴>05@lՂBAȔ䇲ݹOpH*z2-ny_$ٚ?3yV"&\m7ݰj)R:BaF1feFV{_~7?ۃJ%:3!ZzSP)af||Z,dY_DbG9Šs=ΩFm'?o|c7{@ӈR[xDgʴ("AIT ،ȠvߋFW@XZ!| ռV &H|$閬Wmy}4mg즆a`+%z5ܰyeX lwtAՐ~B$QV=zm9agH6;@^d/D.mSLH _EZcDABFrbky#y0kla3ʽ{0:R\Em&?i,۲e':ca]RlkFfCUqo{M&95sP/9߁ Q(/fFdZWHs?l:&0.Ǵ*UOXcm/.~+kRwz?괌JgEKr9Ft;)`K`ԑA؛$2 5L=!lYEH5VXKȬvrh7% 9P&w`i:5zy6; ]2yU"^+@5#EF}mlRwƑ̿xlT p1و(j(>rf&/`Y p.+{wt7Շ)@o;? :H"ЇTEJ72=%YMhuO7H*G2Zx H?r[G.iIYL1];ym@uX#ʱ'uA>9s, Y ,G~3>?NBWO&=ԁK{TF]Hk3:fdo dqP&b ='Ҳ++=V2|zpI#CZLԾDBEJ܃CzOt@kX~xǧm^>LjA-5Uqi(Ss'IiGʄn3J^Y݁.LQ{0TU"GOA$ rHi[Ҥ.7^a rks0z (c F >0*egbϘ}C> [ Zs|NssHZ|_껨T*Dxޗ7_#Px%vmatHjj{ ԃƂ*C>a8\P|{2Ml "#4ppfл,`pC?}UowSNh4p4PI1v-U̷8yp]. >.aoۺ1{;72Ӡ^Њ:v^Fkspkw܉u#͑$ﱙz8 Q.L¹?q"kDiLD@f^$6+5V͗lfu{]"Ş~\eycY/lMPsT)QYuj,Zgo_PsΕmtx<Zi)P˳*=*p&ʹ .p z=|!ŋJK:FWHKagRLL9.s8e 4AT[i$wI,er Kλؔ8ʆDHnqtpl tS 7?nۥXJY&=:RuȗK#!CqșW0"4)=>=n!K z aūǖ nfK/ $ 6BQB+Њšqwz_rr8GκT ž?fe0\-N Ɗ?P%rSʾ_ڹg]~.|5 С fY I2?]e>:fV+2l˾mWd39#Fu|_dL+M$qzkY[Lwv 0Rr 0PV^VL(2v ֭KqyuWr8TWN=_\5yJNNy[:`zlqDQp=oKq]M$6styp˘q g4ʡR$֌Z -NH Zr/2Oʄ 󤪺rɔb-p_$q mt#vLD\N S I5=IpVΤc)`̉3q@^_)ȎjsmÕufT9'Ž#SIK*"kuP]x)2ڿlB ˌ Ͳfu{ jׇ]-s86y9v ȣfs%5ժBEo|1;S '3_HuV7棩PNx^&0iH'OM(;ZS WO<L3]v[ @1x\J8)ɫnt* ^sgH2˞avA {QPsңe 4N_*0Z/Cp|Eo#-RR!Xet'δ%4#䚕me0ƂRxY⣧j ^NȈD YX5ZJK6byvtYտsN$>&`sk1C<-U4w c؄̈cu}ˎ8|_mϭp3ɭMXJ. 6A0Qt* AQ)r 1= >⪄*ٓ?A-d* HKef;pPEQpŜe~<{V6`ئc_,pzZYl(AؐG];d&FcaT2K")nO~W@9M V mHn5>44Սs P#\35vJ5=-*AhГ*e88@ ֛Bרvyem].]Rk3ۈ3ANx?aʀƚqlyqu;_l-2BF @rgh4dD +a~ 6 ?E[Bn b,ƻEƄ P.2xӭV 5bv~44L0/<4 {s|\BIHvy٨;wb҉UzH\&%Tgmds*cªw=a$sjF׈$QgQ KUcPr ryJ(eԋ5U|#Zh̺'_GؙƸ?tDhbg6o-`}zCF2JXe/q")DT0v;y4"r͛b%b.h~DHocy_O3"ΨxRGWNTU,揯w/VoT&.GE`acWX`fXg|ΐJ!u ȷ^#2yzI^2LBU3R&'~^Kf=.gzs(Dg_s$}˕tG0SwW]LR y]3Lpג4>YN;tf*Ba~RmDd!ZFIq;]@H5f:'3oquema{<x`=qYa fpH[s/ k+MOFp39}MV@[lmD#X ^a )C –#C'o|,a aZ>!%EtzN}֤J 0/7oGEA$y2H¥%0ZE2bX\h : 7{-7n66z>M{w؄+aA6HCPǂ-ۣSK=|Aβk0ٖ7㠪 .=լ22%{F-qdu LZ.#L~5к8XU0o1ZGي]o@fΌ?+f)MZdGt|=mRH:)fG>H_a=4B.D?C61({)/ewKwdaBϦ*Aac K&e,q@ROc3ٟ'Wq5$L^S\Ƽeq'b'2\,cn'%çB=(+g \== 5J_\>?(B.0S0_Gk1g2 F?gZ_S?ް&l H5ۀvV% 쌥:ug*=V 47WXbQ[ jYͬEi7{iq\9 c z>~&͘{҇E!AEb^:l{`O6c'U537 E,%"@1:@} kg0]iшh2`Sy>΍U0HZ=rc63GB X44mA\: ixQjvL:2i*V6vVS=n˓0H;Q.sj ](7[SGs4؈YO<Z4au >}ʻ}UEe4Ao%ɰ<["1qj6A*Af+xSqeR7 XV0grr"J{?ƻ.zό!oGbU5y6lPr^`CLM+X%  H2mA*{E:mIID'W9R9&'n$U}X4>CZq|Xe;AMӿ6GoZݫ2(Pb4-׀TG}*Ph{#q81,j$']8EW²'l$GQEJ($02sV¬ G&PK&K#;5@r>ѫA|s9`#ӚN:sQKS5:/j,E?! >uԾ ڝ7[5xbu$#N°@Ɯ2Ҿ>.e Bw(f.M8;{V#WrB5atsrp =Xr.~v}AUp+U NpC\Y;rLGFNZM^eY;#kP&y=&‘" f_(ͥ~s ,2ީrjSO 2iebt# UDS-2%ba: zhwnLܕQHYŵfj@"!sԩPCo!"RLEg#_ $+\ ʄy^Dn C)iڰ99Y;*R\y+P:GZB~LG[AʟS no|,Xck@+? iW,qJÔ4U^L q n$njT[8\e.O*B CRfNb2s7 K+=~Q6zkbwZAF:+c ^W9$"_ ԋ㕵Ӧ!)>Pw֣ f߀3x?PG+}h \,DQ+"o9dμs=Ϝ4F;!$} 3 (El; *u_3ю@$pf @ |N{)4ih%x-uA^Z5mAOX$cNL _~ sRiei~oSܥ[:D!Jkkm^*= To_-|3%BTSPlUE Vx~mn~@㝈ɆNSR$:wÛ4 .i)1HKJ Pe6yQ,uZ͈Vv"rڙ) /}eAyt{ x>:pFs+㊃b'@̣j!*,QO4Ie|]5+ K*!\i>x-fU׷nP@^@sH)f+ع6,eiAxɻ) *0%nmg`.Ou+OcA pQ o;->Ƥ3j8Ow෍fBX"HQ+𓓂Wrzd#2"톂7I=V$*|i7 ,P%zY9,TUjq= aPG5Zj`VtʭP^<$_n'zg\4Ty¦=&>0K}C7wXL}P^e3G؃QGVӍD eDqJ\qOpa<%7AУRsw%N[2@z &._h`,6}!P?W lr1ҵά{ ܁Ew6YM<4RxaKQQA ?NS?3eX5q;umE0Ս,+n끛e ;]b '#iF˜c@H9sQcuwy<>rL{ Dp- 67 %LM]W'YOD5jKAQS7I$\tOP^u˼وVfS_=W|G4zX9j)^S*/B1`5# Me閫defʧLxdChBw258gG#&M t?r`euXo{ٻ7+(< vg%!d'eÎm1taJH}3}]I˯ȹ$ yŢpQ]DN~LdMlYT2a 2ڊ!2D[36YgkЄf6a:uHD(Zj&|;b{@9>=LY90 &S]쏮7>MRd]e# z S3;*_D{SZ'9r'j|c,k_Cd uAUw[s`J6aZbbs{\VfdQaM-"wi9m3Nr!]8!da;rK6G34Oּ/} , ԓ,FݴRE|"SpZPU*~ܢo?`( L*\ ()KE|{(F&ߒifg< -)nB}Q 'qn`+ĠT8 0y!&m{Pō)C`n;O\> &Մ{pb!"H&oވ@! r}h>чɒ{5lz .,"6_P+{.iZSe0Ʒ,rؑ [0 'uVbY8 ϳ_:(bV#+lE*V~ȶΑ _?PVI!×Z De{[C9CgRtA4E1ehIy2LLmJR )Ŋ롮nN'Q)>Q!\vqv2 u7fyR Bz7Eyf8-WE!7{VU |~~㯘Zy^7T#]9:\Z<ЃQ}:ԎJM.ĉQ@X et- YAוB.̕<F:s; e~6J 2<7fQlPĀ~i}x{{.KXx-iO 1_VB3\Fءy@:0E[\DZurÔ~:bygJ /K!@NwG'ݔNõ߼t0?p}qqbyF 7tT#Q-#AsגUFwv#}X@cUfQXи*qY5ݜ/eOV\pE$N]Y,5'}Rl5lk ݦ_]{͕s \gk<>Eldv'#0ɻ}3_]c6|WOzR!T*4`kNAh[e0*`GE'8VvCB'J@*V#'t3 EXժ8eFD͎,7: ƬT">f2?`jTćIdxS5tZV! 2Bn 2[t-"in|fݤ&m~7χx`f蜯5 A/{{>G,Ʋ<:z`3֖A߃x vUR;(2Mc~'-W kӵpW[x5kQ" '9@ 54'iA4+㟣 4}ŋ[G#rĈ\-Sr4o6$/?gn/-dƽ:V1m.  J uWYE %na]u"/XT~WK d-m}a;۩AҨý鉞ZjK6"wTKGLTD!Ȇiǂq-YR]\K-M]EŎ-Y56]l7&ojiokrX>5 a͠_U] -blctLxxdX 0Y>7ȋ9a] 3`\dH3/n5X`5A (o~5åDŽ%AeTaS4M`W 4+H+Hԕʑ19H5Xd ,$2FC+},54HFں'Ԇ%H ;Ѽ 2'04` 55ϵ:U OeMc+߰xyXDx!q}1[VXa0DMŠ-AcDTm{:OS0=F3cZ~c X tB 5AOz Ϣ%;w9QC [2<#SbTAWQ߅$*y2K1#ڃ~}܎4}DϴDE,q\DŽ0H-dAؘJ{% LZͥYiRdz ;$ ?]䭆 5ֶKWs"hR2_XA =W.yN[K\ɻ6E8pP"t"uG\zaG)߁ C끌}AGn3 G%}BݠB!&g@;6P%nzeN)_lWOg@bu8!LjϔBBxB Ndgq]=k]YiT?8Dj) Fc89)» xG1SǐU_ŕ[ygbEZ @06*|cxI?,ԟď(dQq7R=q͵‘v)K'5B"dX̭>1+$/;%#~8^@Hxϕ|I!J7nqMh[o=V1x̠)f&wi abn9[_Z) 3sdJ[bĭ:aZ^TكD3'6ۿRncϿ94m.9=}:y(z)K,Yc G㛋CcWv(}dg>̾!f{  Cܺ=z[vrRxh9J:M@yZjoQeP*Ô"ᑕBaַ:QP4sw2|h{,cp9|t$Ij._pKcVLI%>}3:{MΜ.: Kc6j@g=ר'Wh/.\hWFC9?Tn0q.dNC(nx[N1`DžxFnk'FN9$R鋿f6D㝐:[^H!ܯ-8_^L#n6L9i &m΂d҂ܤ ~EӹB-g6;?DY-۬5hI`J,peBY# jU'~睷h@\֩Mo)!raiq>ySMc Q+pqFQ1J9w;O>np6'+#TuV~ ,{bfgFA̒ riV:oxÐD!aLk1դigxx}1HHT]T"BLlo4۴uʊgRB0 $_Te82"L'R}&7IKO$TAFXY/XdCЯJzeM9_4hwi?!ct/{ uzaߕ.”.V)\Qꛁ_~i!C9wIBD͐]H O0Fo2H;s2f:x +%DKgࡍ2DH0ob K4ff/_1QT7q<e=!IG[rccܸ+gȌ]CI'fM?q( NlXRB ^#BAkgKf&JoX,з7,(GSg,pMwgL@]K_NC^ݳ"tNʨԁo҆ RNe2}oa! djۡჾtvZϺ߷X$rNv-m0avն }N0}vۓjkO?>ӖN;Nh坓WKp1 /&%+§ҧPv*^񊎷{F,кTPqZڻMUzcha;lD?~s8" 7M"|KizL gM᪵ N0zdRlq"J[Ր[3/5^Z_bEUuj0!WZg+2j%fzmB'SDUMhS40p82Vڨ5I=j!2:`Eg is# E#]߬] O4uL^8Ϡ%`,^[C,gʾ _Uug2\v"u" dahEnԢ q2n,M]yCsE)]:j@b*9"mW[Z\3P6j%8J:Vix\dkgmۙjb::~ŤE (I!5կ'=EfGG>W(eb޶WWvG"Y9UAF/dIʔbA37WAz(ԓn" a #s3jö8aY:r8ŭdžT$-+-l}?s | a96腵38isUYQOaߵNo9ɪ}J~o sB {"5 ƨe) pa Ļp{4d u˜d[g@J̎9^2eDfvا3r4?) ^B@^p"8I?nqY ^NR/gɉ;h.n$&fXxER=Y( wbSB3Ws흝1BJheG}43eI'? e=F1J>SEnɟҢ ҟwxEH6k++߾6ڼٞixw~%_@kֵIB8NQY!OO(e|Giioc7*Ǧs%ELOP[ÜT>R{$p *^s! 5fWR<0K}ȡhTծ[HPu?>|uatwE_OF /R^q,Ĺڸ y=r 5g6ycp m<ޓ·7yDcg4e{.E*EI ":kLVhi@u!Ϟ/ii=9K\sh fʨZUfS!w1 UKXMUn݅0M̜ D6NثDeÂƻ[o“eJ^Rn#혭ì gt5Ey729VxsНm{D 'h +Z'-|Ĺ [R!'yWU:;y <%vWˌ1'jtp#A@Px[Qv m 1L:aEVQtSu8XfZXC.O4U_;}?$8ȋ]YK5~ & ~S)m:iH=oBs g&}g%=A@ҎkF6 vJHj)Ru`*s-6<(ɘ0M"4t aнa;s4'ZQg>Yq9YO iqvh_DLĬ4lE^5H T,3BrC[Wv/тuVw}EͧQzC&œTbli?'!*ޯg,aXw5XŰ=E--aaWCM! }`l{ EO!H^ w@VGvߦk.}{Nf >+_ 'z-`Kaq(mAqNg zcZl~H*csDQȀJ .(qA Һ jnuz*\ʫtVbk؇҃VeY7K!>k'}m[W3sp(Vڄ{Mtw0RP{%\D"5!.[($ 0j7Ax )Aޣ`0S,U]&m>krdCp'iߣSsW(,<-0wwp%yF+c1-l)a5-_ zyk&X* p)HF}3 &3=5 fDZZE͘() (Ll89_Q 1S]A{p(^Qu *RD<*SS=} n2r!&zܳ~7<r ή豈^[$HP8GÁR_%>_^`V,m9yeޗNTr"P[F'd>ϴ:PmN&PΚ<'5ў~4ΈД&Ej@~pI:OH!kARҤ&iv]T `64yۀ] AWxHbBU]ʎө8ǶF Qe3D-V"$mS K53VASo|379e!؍'*DUN)pHwuҁ𙡜=b}hBbыC$z\Hk|f먳lV\FX} _?4FuSSGΚ&O]UcdD.&Ҝ7zOHQͬ4 !RuP4cJJY @0ħmXFZ;^5|D@/"LDWP҂ΓN5Ym_-ƊY)Q/C\mC M֜XI<#k]HVM4I7+S ~3͢ _hCl@%J=F)wɂLO67:c= Fztb# '+P,xX0| ݞTy.@TliFG ]r +ғt,]=5)[ ޽^_ܸ*wBI,m1q]4wy& -q?R4}} Rg*힣Qx ns)˿hE,"`Ѝ@%MJ bm;J2W !}0L'J5C!I36* ~|bپřJS~xLc3*`6)L >GLOӶ8`P5DѧHYSk5@$.~yɣB mʔv(' ^d;BLH?W|'S+)3 G,ti1*=FW4GwS.ra:"y wL'`oR=9ξ9]?^#㉘AcuJI&5'H 9ce9zߓ4D%)<3i|YJde$r}!qՌg f ?|<q|z%Z$U't&|W+y1 kX)YdO#S@%9y> b |fi9qRPd+ |_R#ɆvtyU.M3Y!M<5$>PE1eVoC9PMjp,+uJ&xtJ.@UmؘՖrX%@t:9~ wݑd_$ы1S,I \1Č1i "i7/&L^GYSW Ǜ0wU@EeD2 wݔ]2:TM0LUf:̲Fݧp rxxfl>H1 Y ![4Ȧe[ 8w4O" R9} zW"GQss~_E2匴z" ̑#~բ|Q9*6 I5Ck#f* O9${"/8HϹ(gwxF)k`LTM39UnRB +(J ܿf?z6@m2a9G[d@a ;Anal3.^\*fLO1[S.qNO: A 4P''1 $*xT|V+f@@PqS%M`go?ongċz{pj^#||v|ۖ"f(JqvCw7P^ϳMTgv}*qŮ$狈`H8kCK%ݘRI2xyeZmi ņldWofb6]էkzʽ_'u ~Ϗ$)Fx7՝gH{ =bDE_*D Pm3f 'YJU(wDP%/n& LGs9J8X_M] ڒ_AH5Gg4֙ , /Qi鮪5-aۣ qm19ePV* f @,*d'w>gpE -S{zx-.r-b=mO9'ɢpfc\;ےG0poY >8 4 A%>Ͻ T$#UhQafd8zbo!D<{['"|O%vS%)߉Z(u:N71BX<^/]1}Ea'#ޡ3`wSGwv0iƌO|n';w+ۭwtUD*~Hܾ#l@;hVxȀ;I+Rj6waq8oCn}}i89V=QtvG@n3qBVC  $MeP[lq1>}IU?{,.9Iqg ZgC3'JkD0kY]xX(/m El]kO$Ǿqj#~:sҀ Iװm f`&}?w@0g?Ψ;U[uþ(޺ =h K襎}bI8 !eZ BԃvjXOӘ[~4#ZNGI 8qN; pGӄ1VHMl[[3@phfz FMkڊÌ15kSԀb@aT>fQ;pi2׿+jwo+VE dCDьsm}O-> Mgk*T+Y 932yrg>TQs)"ޝB*(%1U+d9w>CusFyeM^9σcDљ*@#>tw/إz0$)wBP/-ok#m%ڄ3{1҇~+J29&sYԤ9[=_i(e 2Ӹ]A$Qb6K*0.BM|`@b/ZpkSMXF2گ&W5SXa.ey(egfp0t^tH5f|r|v[f# 2}'r@n`Ƙz*ӫ2+-c n4]C/4ߎY%lhU !?BG3.59Wh!jkOێYGZba<7*`}!$X  S֞@|JeP&x?cld,yIj] HfPcəMqv"VX(cg ִSvp0BȌ׼<\'ua97G]ooNOsO{m'Yѵ9pMiTv@ .v~r7Mi*y/nXw ˯ʢ`' NcȖ)"ᠫ bIo{l:~_ڙ@C#S,ٹO$*HA[g` #,KN±j3|tW 6?I4݇ajͤ67\9.DKWA7V3 ` WϏ}Ж@Q O4ɥmY*3yYsÐy =;J#?4UIZ#?<ٴumu>nJ_͙i.F\23Ql57,`ôPl(D≼y6Dݳh6Q?v.g6>ԾBg@o*pQ-1g%*JuQK9+!ʛ?V~MLW(+h\ Hb$@N!@9'ZW[$ mJPvJPw3;Nk,Ա Vb3vyڤ,_Ьy%0꼑:/q aN~hm{̋͘Ǧ#QQG'ldfeQr1Wwt@sRhtsoۀ+6QT5k[4g4n*$*dTx0%0i|v]qC7+[oBJYqbӯMT'Jd)8ٗZ+ LNg r>cb~ 3N#a{?ۜfwXJx$iB75T;o vU6 xu=ߴ)b|rV4<_@:_{pƅnJۈE~t)uȹ:)ۉ}o78˶ B>5z^ `f/(<4Drq@tĬ]\zLrp:*ϷJjd>:;Na{XbCoW6b]gڞu޽pʆmIdʎ(`$DO5)$Bg2'lka2j^#Vu/2q,d^9aЪ rUpC<=1`3@7Vӡ|N@%L\-"Z9>аgWwo|_ }༿ț0<q1|uBw#MV/ ~ v0{8˦X>=E{RyZdum鈖˭sb]@,A>Erk\d#I~t4 H\T2{Fc>=n ؄iu q`]Fc|P HxthrDz2fۯ)S}̭ǫzN{ |} p< k ; hڻrtH)]fWwUԷ8Lj}YIB>e^W=-[{BjwXiڵ&  >@k|j|`2fRz󖸿J]6d? RGbs;a3lh\|ՄL2|:Y]"Ͱ903²Fg쥂qPfgE+^1_LF0O#OoPJpe/kA]~f 3iϥ1PJCb- {|vMb\u*RǍW􌘶Ccׄ]GTcF釫H/HRmn8JqYj/7?e0X Mj2\7,!W }Z|2Z%۷£']ƥ-tF t*QCR}VPX“rSe 1?sO? Ri ?'8,bH*׊Ʌb_kI>JN1%+ ],g#DHl$qC@<7p#(S9{KcB>qpK fp™8rp:w۱pkbbY Է)5 U ҙ0ȯ=V 7XS1_&GRZ$M 0:zMN+{* nk˿TzG +K(~ 'GwN+˪J޹1*k|{n˽50{Qe@A}@{v))eB2EMU)2L?Z`в'[PKfQ\JE평A,?n5W= {+c رnX%+'%*J1ҵw9M"{Mdc249FҗN`~`;TM6>ɭ" :`kUX_NfR-br`Wl /(OTղGs {̆5|){ACQ&YϭWV) `}v}A>>  i{NPwOQ,r1pBzB8S kr >(~309{d6Rcl̎P YdLe*{H|[H/yE2LfU%.㰊яAp0إ[?nOFAl%{uޤEǽ c7E9wfqᷰ4Q0c3,hdQLEbr&3CjatqYW lE(._mqS鿚<=A!ۻF2>Xzq,ǞRQZ|}//CǨjbsio7!~2@n;SR-'4r%v^qtv9wQ&sĎDEh%,8{pzeAqʠ!cě[~;KҞ74Pӛ@uzK/8Z픻㊈Ұ/Zɒb99[,{/۝Or`J\1&.N`(mq!euzu .–u"ף=q{7oz>l5K]E*<ӕd?Ij^\-⋉#Yֺ ؑlD(VV'pʸ$GŶ8h%e xP]#хGx) r- +2-gGH6AJG0n?l U{:""3_A֡o+[x>&^|7TY }QM;dXr" g d0s m !@0ZLaE-ec4NV~  (2p+fJ&;S X&Iwzoim&dc <1sQT'[oсgtlP#=^-NۡjLOtuXs6xr%~iụ:*4@hFp zɝ:,r  vͫ9F2S2϶\Yc)CW ƴ0%IyK jp;0oGqFv *t.d]Ja!UEܮ~oI`{hd9c2TYXK({Ȝ}^42q~s䅩5g)~DPXSU5y|XW-um=yM7Y2eMݻ['Yz܂74/B|8 ;Z0.tdy!{u{">׻ʰƅA^VeOԻ]7X=Ũʪen/(HlbbViNEmSZac4=@:Mh BlBy6gL+"@M ({| >j[Y9'is9 z.% ?.LlO(\$2OWg- Uyl2M0(HtXx"}c[*;7940ְ'> qFbkIM[ĉ5@ĈͥciBg«a^h Xt_u>Alup[D+NkA;1姶YJf^rLYj1K&EN?F-IR-cC+8ɸ|??;8UΗ]32 R9t; #禈ZZԅ!qweDWw(Z~$[I&.i 9:=}Oߢ>>L<ϸ Cb!p#eV3<Fz|eL ^UU{_)9 v+9{;` E';<{KJ\7XA(/ч>Ǽ!^D[ZPv&aʽMvim9-,NVF]y%KyKl>F aZ'Ӓ`:e YZf:ǒ\ɭUQ1P%v],w~3r!Pg"uPӤ[dIƂd6~ҀsTVE=$֓HSϔG[C?y2#1:u:o AhEfA2U.&8?X]ŭ Wbc]Gna{0YǝgpC0twC5]8Pt u*g1{4C@'Yg^g# E =F6K 6*9ݳ`˖(cpzs|ͭY'4=jQǁB[4E ߒA\Jil8 5+R%%za^@ӰLA_7"P[5Pf}Cc0EdAߠ>])(U޲%%kݻFTAm{='Ț-`C7&Ja\cQr(zv+V+.:Ƽzy6lA^ iܔ# A%c/hiassr2UŕPdS eZu MRXsW}砇Kʱ^ϖc(k# ̯4#5> msQY ֝W dςaHlL(R]z5.r>n$"i#aʷf쭣I\Jࣥ ^.$$e&ݢB7ֶr=$rC*SI.=QF":jUa wP@.YtxCTi~݌@KDQsEg6|'@ !t6pdN]LԨ~ qSeܐ[- !10/Z;!Ec^lB kh]/0‹@:a >نJ$RKT !c\USbpz-p|fNX@Z T 'tºY/j)mStx3k On%<-#@:HBN hHT*:n/~lv;+9u!a~.qpAL0Ze-.D~8KhE H Agʶ^ING*DJG^R?^4R<Ġ1+'SGςzͶN2rwV)]s "huv3IYkqD?O]6F?Wq$3} "Sb`,RB0]Ioc` RL)miU|5I֟&S ۮ JqNXoOT}p]m[aE ˬ{ǚ/}0?3J-/nOyBPZ[_ !C&eDZREUaP>axAb$ֽH N WʺݕU>/TO,Qwa:jf煴4fː FK+^K̕QZkoYSas|l!rC$/y(49- b_áLR&FmUH6E0Fg[yEu?>N,B]JaĜ*vS6(;<7`kIpaRYGVK䓈SCnb30{ `x3WpDf)]wޏ t4Kġcw] o7!>Un:7δ.?>2ڵgR(ve]35RB!Su:}%M$\0K:PAH񊎩\ U#qs r[a|>!@%t?5 ؐ[}_L_&Q+ ' y{μ+eI[-H,swn~Ro7̮ǵhvv7X7XF/a3I5dp%4l{i.QESfLZ3R W&D8Q=` kMT(|7IƳmAh #B"3?BXtq|N X <%Q-o 4k"5Lr'enC1S EXPG9L:tA) 3"PakL11 TOHqpwg2ƯL˾5{2 m$>c1$!HpzT1ߴd͇PG&?17gMt|> |:)uz?m#ڴU/pm(*nSΙ|NKn)D7 fHJCW>eM:Ȱ 8)KXQ/@m7}ܡ:2vQIA(HBnޤQc'j'H׆sŖ H\$ʍ%Pb$LP/~y^'9>ھ9sڄAkR؇|-6p@3mE(֗@2>T)kı\I}>݂cg.1K^!dC}vy$+8ދj 6/Du7?eq^;:#rT'Nc,^&xy-WpҁR=ؚ%+Y_ȋaAt֏grTxˇXnb~)%Vҙ{n"ʨT$1FK$?cߝr+#e;n,;*&M-GQ7-*bhGnӛrh/n~hz+yYsUog/X c"`+ZʗNYk!\-T05TOմuBHt)M7%oDph({214vF*@R>JCt֓mӸ0qh)7EC?"˕`UMDϰP_ՆN%,s $vBIFAʙT/%{k\p͈ %¦'Vۃ _e)\8]ČxH5yPCZGm%[6_ _!,bA {.^'U%=Ut;"Ri1ś +慂 ZV݆N j Wj8{WdeVހ!r趥W CGcl^j y:jC+ |cr瞵@dWn5;lS`ogvScc"@Be %6NXT ZAL`%lfK;8:^`ž3gWz]Iaq cB,""Ԗ§!LҒqJ/_ش$fզq07&Z(I> ] 6?ٜ-d*{(g<4`}OȽ{PF%$M@`|! u p: Dv+?n'#N3\lwsmTPh7Paya%&U둞Hc Z:y lg |NR U k$=Q4S* HD0J*2r~+t).[U< nIҳ>t-KiGW,]4I!5=F ZI V9dnOhY#숻|K Nx&Oށ!1 T#]8 ޗ˗?ڙYK `&3nX]fw w)0$%6~<5g3t2#81z^3mmFfT9y%w-،̫)[ީwIOLVo.N2V| W{yԺQ1^ X<ݱmS๥l\.CF1&bNn)]01& '^C rO3#r8FM2㚼MC;j)6˙g r6e_p!E5= ߟ.u8"liEGM*8@jwp ڃ#"y]a66$ I#F#)0Xjjkٔ')"#|ajҹ0 yTМ>rB1y;X*f9egp%W %Z ]aP8 L\ഢ%Y/ޞ?b`kLf-f%&m_ֻz -\v2a?&Y?{[bs ;JY '(,@u$(ARO*S }wY^ O(R=ҍ=l"rlX훹bR-ub&s!p3('s.Z[K"p*H)ΏWO~OGrq@T)h&Lİ`%+`N`=@QFC졏cJ0.Uơ; DEĤ:J' ÀBք|QlziT^F]ZYMNt$5+*q)(٠ǝc "+x"^4 I a ȉKLHGG$"|<*ъI!WyMΛZD?!#wRry.qvUi#%`_%5Bə5k8> <'j3Z dǹgGZ)MEXҶF*R ~L=cYa5q Om:S,G֕T)ApLgoF%z^k U]܀`ӀחAҀ+@ 3:4kz]}M605 -p\t}D~Wq+4贁5W}MfcՑW^xZ)b$fMڸMBE kH85mxrP<7U뵰Tu-m``xAL-ĝgV>/UQOjULk;>ҹT va^Sc 6zCr! tD{x1RS  NuUuk޲aCSͫd)&Jij䥾NøGW):'*}&2/W'HWab\6Ŏ/( +0<ݿwW{Bf'ټP1SF7+?M&YIOi)8 ?P-Bȹ}8qkK/ =vEn;l7=pV$Ya58?H vԛ_^okןtҍᓊ0Dv Fz!\1=ǻrg=<N`V)w_Ga褥ݹۖ==bYf+RġJy65a<3xv&YG=` l Qijz?cE)ՁBϿ\0lTBd4lu.# wfUSgU488Id5nYkBg$imȿ 8E9WH5TIoN}{j}z3$_2/ضwxc7&ÒHIIU emёKV+N>xt ۤ+y޼&lVј57{a ȱ ǘzqay[4ri0E5 cKzn%ٵ4zVԇno!73ThPJkp̷V@Bp7+< s@1q5X{&{,eBêLe]r-ɄC:;+2ԊD*{œO% d5Vɨds :}/C a*tg ;6Sy?MotJtj1N0ٱOQvCO:?BQ*Ŕ9K2sbpt Qא,Ր8fnDl*5!0^}F"ej(V_:g"9[5k6% _gйX 9Y8Dcw/j"{+PvY+ϘP$:iMѪ>Cv T3W]qEf̪VtiR0]x԰2 *IRO$/FHSK3SXŝ|$xTЈsoװMid^i?LQʼ~gEr\_դr(W^ŀ m|M,]ZDq2F=!'3<*‚>('tOfw]:mEm[hVyq%L2I#zOϚìy``l{k&!Cؔ} .Q-;-FԮ>с'I'* 9@ epz *2oL-2V,0|l3z/d^X͂)M,@6}+Rw˛'HjFOlC##EXð~˜}dE@A Q!Qcs|kip}ʀ4pC,̲E@¹/9X58oQ-wA U yryvvZ@OȥSf8ݽ: r|$O_ a$B7,Epc M(1iC33O!_Mb{KQVft"81q?ΡQ~`4V }l9ۀcD])̨38E.J$ɀ%5^M1 ]lN/1񹛈XBs˰zGEVE|u?J q,+7Koa;_R[٫\;|lzotV&:3+S4k?i;B.WtWt^sy$+ുnL(S\+!b|+7= 4*bi)ahNVg}1w·S* N@;뮓³LJHBӠؠ9fOpϤ'Bf DI`t[ox=L=R e7ӝLJKaude*A#lS@B>S;!I2i=K?Nk X>GxcZ63V`lv܃iN67%$ : :+O8 O 8ʉ8adho9t=߽hOUJsa'JU!;n(n\!V ȕ޳ʶgp;>I2 s8a-K(<PM|gFv4VȦX#@.%l hp #Yg4xn;31 iR1%%[ɪ^N$'7yTщs$M%?u2cr/2pH~Wo&c7tmQ?zi"'o)Zd;wM%qw i?$4ÌQER~ΛWr+J|8FqRf,4 C?wDaFt5ztGhovoۡnh_b20)x!s SJlF[{>v %]?vk}֎~uZ(˔.AH[3ݦrZ"N ueZGF",Br@Ik~)nջel&ժEtE;f=CL]*B,Zo㿻t d n dzri^28}x_G DR4P6& 'Tv4t8|QvT-dtU`$em\z ˵Ӣ5HN|;Y[ B&CAjFLJT6T['[p#p/7ރn}D5_zFD>(z·fo$-vd(g[X&l`'<.'JhN-N>Z'Ya=zBP9u҃/ZNKăa5`) 10IkYbK0X%䠅+ZawiH-1Y[NHu]+Ah2j,DiE xtJ/SvMc=&evG7Ԓ@e2WZ# qϋ"tS:X4,x,P)`|5Slp).s30&EM>2Ѣ\k5VлQg 6/a4MW' $l{g'MfW,L~O,c@Wkwod-PAU'(J#{YIUgUy'VlۆPX!x>Hv$r!R7j&o ABL3i84'`YJNak*r_ǚ\(Fxjr TE2M8wEi7Ik,p@*̊t_Fie@6vq5f=ޛe.檽Ppi,'Ys\:m7H_B ֡Ŏ:0I p`I5y2dJ S솓yԸ/D稟~QjKvP`YNΥL?v+ _OuG ($x8F=Am X.exP ކyZvԜpTGހWcP80 uJS40sf,9)lQ c7a2isƷ Flu)ݎ%bB[;H]úg7HH!f6aYP8sg Oe]@ة$DpҊ[lBˉDA`|NW)IUr7P:[k&r_C*w9l?Q/ƙ2>-[Ye6<(ɨ Ru_L3|a2y{#ꇱ<\u[&Nű9<r$ǎ!$scbߒ9!ϋ}ճ=HUhZx^6BU2*Az?Qgæ mpVWmrfapv\!>lZ6޲t;HNΦ0 I+tSZiS%~(m_XIv \^3DZ-=S5  \h9(<f'Ȓ4XRLUxA&!TT ɪzt*A7$ɚUk(&PtU:Q/L>+J/Gi):&pje Lzc6M,CZ51hm{b%WkٳEZvh1Nz-k!A`꺆yr0G96ˎkt;ᐅ>ۣW(eAލ͆蔡®^g0:6"qo w]Hģm88*7xu'*FKŗ rӬmPₔkeY--vp)TJ%$<km96@v4[w_pb[.}p::t30X=fӭo9'7 Ig%WT>h !T/O8UqvQQiw`nq[KC6> gi8T i!ye]mKT,:|qdEU|"Y'T"&ʠr:HEHAMߠ3IX ,,5;X88Eώşii6[#xl6a~myoH6?|\䗈Mpf%(b}=dDnc JfoOjrV?qTm> cn6hq˒Rz"݅ji̷s'Fl:Q;xrmJu)MNJg:w0 i9R_[i2>dkˡt !'mkk\5Lɾq m~x4l #RG"ۈ?rx]=>'T.@<S ss7](/ y'_T8dwq5=_@|C`bXcC /s{kРq@xکr/Tu|d.]< t/ v@x2V:t0&h"φ%e?"r$æ!쒂B(3:I "af:s֦M8,򆚞<fǒP" %u h/!u 9 NxJL*m'+ ;YfzEI*K@M;"ۑ<ɩ q;NFo%E75:G=";GY< VtZt9DKI7Rݏy M~z `4(0alӮJp 9Bأ ^aFz.0pQQ}2S=~ 8֒/-!RH.gƊ-5K?|WIf&楶V.L-JYǪgk$\ |r׻Rn"|{U?t}/#n)΋ZGUeE /u0l .OG7s h=**KOFw{D<]a]SBK uy_hyEdCsYpS5<1WSJ$QgŜ։ÿɈ_$d#swWxˊAQyD7k6 ^;ΦD6e#ccnkȾ ~! 7amg Bs[N`52n wY#.O1T +|,f !aJrq { CfsSGU r3\D!;R2uiG[I·o<(3O;8J6mq:ȏZ!}Uǯ[J9k}9_ͳŒhTTK#iE3VsGvў@`32{,lFn!s>zlM8Omz!KUHF``Ԣw;K;V>|a4ı}^'o/3#PV {߈)2xﴺL)q?}6m2!LD=&@fWA4=D:. oPbv0@"~- hGXI 2̀z95";,!43eO {Ne+˔lIFpD(~1UT&BPKFMVLp)7c3DNʎB b֛c~.AQ8~bw-񵒓ܐ_N#>m@h| wfcxwmp! `-²<̈́ؗJ?=yx#2e03}r{}3 )12`RA@`\M6p`HI$%") \oIEQF[*O3v[N5ʭ;)gYf*I$w~q¾{ݘS%58U_j@\̀N_izdS' sZC0^aqIK*!=zqxXLE$Q xK:wnniW4/EMoyo|ƅ۳ّ|( 74KL,T״?ͷaΠޱ0aYM\I0 $twNHNow)/Qp`ƭ69@;O\5>3B F' Ck [ڥ;*Xt_qEhMPF@ﺰCc'"?t4ʯ:ʃ=ąFfȤ3@ <:.koKwEQ9wI!pHhX--Sk 'CeӋ_%7|+6>8lxbU ! ( 5YBdB^ 32R+.eif e1V 39E 6gԙmVtVz?d>LZgW; YdWԎ}du?g'W:oFd:4Mǫ.]+gqT7GȠ/$CcW!oVgOQ'{rc)1ST%SGlsv~ٙ[B}2a"مZ!X+=~_.W1k`0!ԭ]?w3TΡ''47G>W 3(4%?2!p1';\E* n*m䂒]2VE_g!eDęLRwt*}V v4ȸcg*23cmELc[`T77{gfr!ׁx υףuB9|.al Mԟfs ه~`A/ OUnT ?mIH҂}e#m"95>3(=wwծ  飚qؚC!a{Ro¢ ,K[-gq{Z/b=՗V% l>M[H5Ks; jtՈ;3#@3`2<4/݉a\7n*< o#@p`r`9#-R^ޏdm彵`ɧ֒0u '7cL9̈́ ӡZBϨU7_V,b7Nm|o9d a*>Wѯ!MbܜI?w躅y(J1ւRƤYQ1uY ѫ3p;QE=w\쬣 H+P v6sS3 0KzѢI Q^ʌ 6/`S%A-.ú _Pvm. ! ʍ H~w$ŕOBԔ%Kfĭ-O &D#4&O;ؿM] PfG}%eL;:sJQԴ{ɘ#Y* ]D#zAT-A2egjG|NŒ9TO)Db B0)~h"һz<,ց~.c SI5C e/-5ٜR$rŅ<0OY薬Vٜ~Czw3&%򣐾Uc= q!ƹ;`tpGtI qU8 #gT[ܰ#RöN7EGT,ф~b-e `|]=|+bpz2q٣_Ew? efPIdZI(%L94>@3~7?4v^BI OVDPULߨ0+w$7.(BV$92,!>0xI h x16; ڲi@yY*[XFa[h39KВ_sY1MӭJJ[CL7k۩#:ao#ǃP4h^痐[fS.1& sE[ wPAp5<.cPz-.ʆ E|w5WtMSLuԁ"ƥZȕuLƉ#9qLoCbrXkͱX&7|fsǗ Mn[w#MC}ȤW.-4MK';|v%D|'  g҄Lă};N mMnGl_;lXӵ֜ 9$rb6BwV_轾'@AT?[tk@]V{aj;$g׋J/5`:s%#cObv1)P|o A]sVrQiNԟ`)r(Ξh1oIƵ+2x 73ndĚ{h[~ p,Jcf °"(CE[rZ|1]ikުi'y+2 lV/С0I-_D|u1AӳSO"1ne OyzF$(JL`lkRMS{*O!o~Dk609LIS~`;añOn cNCبD \Rm?!L zч'uMG4 o{0&A6|q§ g]pB[VEU__ږl VxDRPQ0e3(VyJE FigG 2aAl xF e@yIm'*@i eaS{ 5,D#'97@YڛB##>Df7 9 UߣD, %CFiB"*-}= he?BW)KS?jCtCU[!Sx\w1Z;qs$䝅*` Sn6A<Pw_g9A z-"mXyT6.jSJAjWObEsE/>]Z˕"_Ζrq!j8aϰ}lbo^2'B%z@)H(5))$FܻgXE/26l3#.B0j9e\$pGqjk@31;jƅ1&0=𔞮1u!BX|򿧽:+)|5nȮ‚pFBHr|A>^"ZV_D[J`2H4[[m2Ǘ[:1uf~&+Ƙʵ'A5~fd(p`Mhuj,AȊC'qy92+U/T5 3o{ބG\,$9cӅvo[J) l;uֻ 2 6+ϰ0iBY,9>/B2DGyM,42uN.W9 Fg||HUy̓O.VNYHgS_kP?Äa:ӠN ϏȎ#.H;1\Xt2\&SD㩋@&oʘK BV~8}>@8͡ ±lD07(^oszErrZ@my:EUƉUo_",d`'C=&]` ݜ/'6bQeh2[<`li ~, l4\?#F{y6)iOz% U{k`i;Pʾ8r/rp5)-p4M,J6]Tw,\GaQE}`o-b|DC"QRt9y$OM_eFMk [d 3ƎkpkpʖViU3I*mp{vvwCX:qgH~CUx į'@i]#h ի`|Rw< n]ޮZۊd-DhY $J˳LetJhZ 4+UYrڜ,s)G%VQNK?7_f"2mVtEM1ޘ-,/YF?%c4e3c2$~6U4.rWI37F㉜CeDXUSqĔut-n`ZUv!qδ)[;6vs^h *hx M5*$N6drMT!E)aK+C`1QSdG4$H۬U>E-țXb}p麶H޲&z3SU)ߡ}}/8r \ʠquO, "O32ت\fb oXv9n]so#d*Ρ&޸&p5ȵ贁O )(_s(?-)G^HNʋDx,O`ކOg(*&%BVsHT85#k7ְ&)? ߲Q /p&Fua Cͩ>L)i܅єVM~stLasTt!Y^A_(}\K\R]E$Dc3fh@(bf?5g5<͟go<o5tQ]NIMN<B>+[,;Hֽ>Tj ;8`Ks|5H26Hxb^<!P[Zko?[?Q03 K |E<ބY≎el?K_((sWBҒXvڽ/C$a[{}24e-13]S ([5-C0YBy@ ȽU8 /#=Ij鎌"^;׆JaJ:y/ZFNcS2*V,Å\2 MtθjPOlڟ#$"/L yv _.3򚖝o1%>лT%c Z64jI08DL|C.rРNn2ɥj\ם.6%=WS&ҙΤ9a )[. c;7vMYn;W)6~nT8@hvƒef!w6ޯkGm7*- Uɯ ,ȭ0X5)?L §4zlC+]'1|@LJVjX]iuyGnIvEBx F%Qq06Ѿ ޽2 ؠb;k?8~o8;0+Pr>m| \C-sϗfz+KډRY0zO,RՆŬY%D*hc<{ (0mŤ"u]Pe|Nl_;Ae 8G;réAd #69C8=@~GT~,{|m6z7Py j՜(`3ܢ>qND&*i1i8 lDN<8ԐV[aˢh39j|-?B ŵw(HG G{Vv04ya'JP[T&l`$F*eX7=aYrJ yjnkȬ-$87槷&)|_Ɉ*G-(e>"Q> ,0M'xLD86ZUlN[24 EOg1}C)f-}:6+@orL,wu\*LW|:]0˒G. ֲuZ*jH>wm΍{cQR<8ʋ=4_c|NF0%5pɃR.% (?dSzs6FYGGu%R0Ǽ>7i€O܊·syQ31DW9o=l5#FʏʅRZk:P%m\UeU+ :lc0C-GcJ YO I)>φJg8Vx*o[|4^zc:Ć^xH@h'ZLi<;y?KXj J"|L{ c?OqF@&q[&+g_ȔK`TN bg?:6L!OGPuwwɛ:4M$+VIVW[.V4bkJef"qE"zbR\5נsͲĠjmIK|HVl0_چ,>,Y)ʲ~)kkyﲲmcYU=0 ʳy_L{H rq_&1q ՛З,eUK*bC."^4а+X >vu린DU1E5*AR dl]* ;$w>yf%%Gw<sEߑ2mzHHVj_^4d5( . hхqD]ZDA=j E=yQÓa^ڣp};4:+ awv`l{W- r'6Œ쳟˄@tB.VJW[Na1<8Y]&tO\/!XfȐ`6fSlVeqe)f>GEP6Ɛ PJ[ƖÊ?UÃB7B*sBK:dTy_Kg<(}dU$F \ # ^iEnqCQ'pl;G^}"@ ҍLHᔳ^xtqLZC$H"E يlwF7Od;9؛& l[c ]>K-+ϻuB֛EJod/*hpr)nk [;CW^kM!`lSd0mud^=1F `Po6Cr;fL$cyr3r%Zu|ڵm.IM<]E*SEq- q+g.!hCd #|nzCu_`mFU:j/U7hޮIx6O 3F?{&YZSR uM "JnoB 7yK05WpFch'{*[w.PcφjW#O5 n D\hOSa,{ >6\FE,~Wg7C6~m \@M*m"[_w$, &\;ԝaj7KMNp㢄J2-ˏo>a,b4@G7G05iю\\oMj8,VOWIc5rZj>®Ok}_7nX_-Wbה0giXcHZ(`&Kh65p 4XU+e)S:+:΄\FrTav Q#D|\p3W= `|b~]OQ1zfT.X;zN-{Thaq+e%+W.ok JFdׂ4ܳ6ϫXYf|VMM"g="n{)tI3xT"KDӈBEHϩ hz# ?ӆP1q?  ]!^vkg%!6tK6\':tKO>hט&M*jSl6k-V6Z'j > :9SQb ' yMiԻ!G.R}k7ISpWp0.q˹ĠE&>eb'Be}s!k@9ϊ\+;lN ?'*ZkNZImFv쯑ɢ|1u:޸riExٝT.*͘ծŽ X!(c|sroo7g]ډB @t~[l0clI7aioōPG-wVv;{oL$PQ>r1`̐h:x˯RK~'ɜE4U1Crmzߟ %lX< L2 ؉>]i}M!k+ Yp}s,wCCE p"d? 'ʐy^+R';l Дvt„H?Sh[22 ֈ}Nt)PRsC9 p:Y#sAߥ[&1D..[w_ nh^?]оv]FG~8 nGn<̦!mn  v“RVlKBG\pɝōw;ƒP v&lP|P l[f:B:1!vbh/n-ui乫HNU`r/ a! `ľlT{ԡ?*7\D*Yo:9Dv'\y`r.\K}VQJuAcNc_IuH9mjb2j-v;? _%3͔zEN1YN:o%-uFԙ&0['6 0V3gaZgm  2Kv@ݕ2C(]Ζ @pҠZPȅ{ yw|&F\uIKZ .u{@2jlj ZqwuXuA]5"?{Zr 2.=t')d5[R?#O[NuKq cݹ~ jv4EkB#z+rl!3JLQT#Jږ`F1j#Xb  ]EPʣ! r'{~!~>E%N0d+f~kO8\7ׁDBˀ|4 D"{Z_5`Hǒv ܙpZ eq9܄\ppA-@qPK2o4 x7{U$p_ j`~`SQk&DnO Wđ͞ †e=zƂY?7w3L`!ՇS*a,Zo,fw %'L^13riQpVLR;rU.-ΣI*g8.#/ *K0F(9f3BX۾* h{VFCDOPۗݍ@Ŭ0rL`%k_ko++q(fkh:Ƒ}wC>!V|`CY)Qd[AyDjU_NZj;+D6Ϗ%Chy1&n,  =1tnTsLќK!#ЛIJZ2$n:/֢ `#܏*!luw|̏bYNR Y C]&}U7HR)ѴYFM}!vk\oA+Q`g7}P 9S"ag Z [h nX-O-.:tI\gKVC+aȾ,Cj0`~τ]ܳ.zy/yݕ / A iϐkw 1H h29iO>7drׂ;K_S^,.Zz&A7IۋI*%n ;' ݏ]%ZmF WnJw¼av:va=6A{{^&L7KKj"6`|1Q8h:U*[W8J1;E< &>_Bɮ+ 4 *¹%̻u -j fb^7u05`˩cq*EfU# ½MT( QX*+ŇIm8Ǹ*HH>[ a6FNKznL{ | tw.g-\%5֋WdDq@╳|LO0[#,Og@n7h6Z4>‘q W+_(= W%P91Xy#Ud7I^O0]7p6}ҹ7>>ypzɷt1aAܛ^4AϮoր@\J&7o7qaC*w4CnʶETgyYT띍XHڦߟ #cw >A]ǣeE,V԰\ꑹ%<10Ȱm͜@]~\O$q-ڒ6=\=NvDxeDB: *e=^ N L&֡dֳIc@_cXxTE.Ȣ4b}rN*ȦD>jgzut[;Կpqkp,6ihwcc /9\:jne(z6@;A8JJ0fxSV3Ez,sQ9[+Q[K/.+`T>ňʈ]#>q{KWFk+3bvTTdb5Nѕ"'pNp> ǝdϸl-ȿĢĂJ@"fd찿Nw9;9fDz{[ tI\fܩ$.ԣ/zfXť^铒N.+bԤ$.NM^R#}j5V`eΫ%`۫E :Lx+J/>lʲJ)!/U#eIjB˗].Eud=YD699@m*Qs]gHb0?1Ea|:طJ3ҡ5Q ]5e=6gDm7ox R\ych%3Ӑ~cKqPw$JKM>gwh$ZdR ad&ÏeŦʄ :r<>0\rJ9dԷ9a8Ð=,N93qpEMMc1%ON×QPg$!#{ vIpKb eE['ȴuyϢ 4'U6쨠 sš  *uxB~mX]2 J@9 B ,[l w^\+z܁1ro.P1pŠE߻%u#ޯ,W | 8a+(;1! ,iͩ Cp|GPW&㹬P.`~ %[lD9qzRJ)jLV\g>fTSr29Tc4e>EBMUG]ь]O;J2!nA0y}ZN_> ,ov|!O=ZD/s|W218KYft&e f33ӳ#YF+z>N/2v ?|T͹=suGLss.OGv(+L4nӓ~=so nPP-u*X(Q`JI|.n{7 Nݜf7As$FLieٞxgcDsCڽ2?SdB r.aw.KJKF(na@||wBTuQg˕*#4tճ(z:YGPʝE!zK^ܚ{ׄϪNA$qC+)%l;2äLk'A tB܋f]k.J)Bd6 @X>0d C=KLi,M3i+wM4N yl4d""&3'e$ L}~ܓ!:np">O/Ts p"1R!![ gŖ'4soߟHfb3LYkanwNCU]TeDo }T{lb%eshrJA55AbMk,d籕[m9Y^a{/@YnYrI=z\s~ܰd,g_}(uZ**9u]&u{ؕ!񦰩K_|M! QcG66ym^wLL"qL-z@T*e32zC3g.(*/|p|/n/. }9(r_KW>RjUt#Nn'#:R1Qɺ#@ I6I#eL;+iB^C3&r:SJ'?h0hĞk>11 w%"zs@Rc/v,HlP{;rEa/ln=Ij̀@Ek )Bx2"":–:߼1aH=MU@* 5ƉarB0>;\XYQX߶EB$ߞ0JiҖ5=+bT? `F1 h cV︝tZt͏1ZxvlddfCb{X&*Y٤:P7Ў%]FiGZUG0vu[R]DI<:pMrWqGApyH}~Gu{!֞`j0^toN606pETXH+Vj"7Bn`#*[V^P7:~w-Et=fu=C.wh^!4,cIq.znOr3f =.&]*@!L)#&o !dQ!FCaA~7FwBB Ar1/:±Ow9s-4Mg :B8Ək/ >x94[4ȼ9^@Uy.w75UdOۛf1{b'>[~MQ-2YyƂYGe0@7 x7\5_"AM/ٓ TjRZBf" |JRb|蔉ܐrc)n-^#8V wտ(E)Y4L)4 ,TP vr6F!S_0^IAȌ\*׸#|@Q_Ci { Ck0Ojy+ey9zB1%UCǜb/_N}YHrn?g4huYJ^ՙ~I=R$a;9@ۺ냑WC~51v =?ragwkG'ҁMI e3uAP8*؃k| 1PIpHwV[R7Tx20qELI^8fږ? OI٤C9ԅ:)AHj|'1eX+/<uN*l<`i/GkbWJm|Ή^D4fHYEEig7kx'@bU^(G VBՅ'r-xKK3u]IV 5v!7Nbc³SA p]PԴ^bѝt^ἑBއ Vu%њ<djR@оs*sf ~/0g#}NA[ST1ieMB߉uʿ"h#OfǢ٣KcJ #$IUꯦ1O!Pyc5E3\?I؃0Zv^l$5*LD ), }FȗnI]5=[ ,#VB3J79ʨO[;Cxbf\͏ʁdYpNn$.Khc5 o*m#?R~ CgVt(u䌄m$,pWRDR,I2b>^vs;$qbmEd9PgW$Ȕy%9DT<rMc]@jooa5>A_Z6%<Ma?^v lH" 7ŏ6zC?d F_ybS01r1%A _jO i. _" 1%۬`8\g$%h.n)֌TP1!x>|kw!w$8'Uq=œ 9UnG{RV'Tx{I<c#vxTsf15jO=f^,SWC+b)A[6|/^b%5Q`GM.hVtիubKuhl;y%۫oADܣ3zq%YЊ=ofI C"ގks/,> ďPHQ:qVpЋ=̟0. N{VO.+ż;,/H*xy[28&g7c# \|w+W1~B N=&yHht  @Z&Ć=]98nhԾ|(de?\IEGq䈛@A:tF0$5f$`>j' 3+MzY "|A+\k4}hPTAjK=lcf6 -2<"8݊S7ܵfcU$q> z׏;g"`ݜ'_ImF^RbEV ?+yUzћ\JiX4@'W`J ./ Gd6 I@vSqU *& #L{#p3bDfS#e|*9;a8#\7nUݘZTa3#GKe9)d5 @ơް6j@uJ;[pɩcp7&L2af?t"ɒq󠉍 `͔8u#gN!Ŕay'EO'(Vnv\|m:0Sm**̓mF`OQ)+DA\Ey{6))|!XrCBr-ül\ɴ6{لTagӭ:OgD w_pVrMZ6gՆ/5!9{gCM~8UB$= K %r, %tƘ"A4򽽜2!*NpԹp}5N4Yl3"ӹqN2$o4w=qDz=htP`aKQF(N|IED%L~lR q D5ӫU:o=~@He3 6 zf ]Oz07) 1PEIձD9ΰX2<S}e ErS,~O4yˌR>~p^$ϯ 5}A~0rqc;Fn2*})r}g c4Y4>Bl[۶h销:q2@ \l /!+ZQ't"$!nBiF#'NԦyӽplAK<F(J.+;VZ?ܓN`2"֕pN9fQg'*ŰFp $#/DP(M2Za{lJ:2"1a R}QԈ'*+?U%7\kAp&YVHm3KkVT;)̌ؔwV0%xZ֢9\q7޸ujFVik/+YF>Kㅓҁh|'Yo壩LOoś1Vs[7wvӱ*L, w]h!'22-ލv{4f5 ̈QTU[rƊU;V02Cqw A~T^.=,B߰sUwjT+<%omn0ZcDt''g H5>4Ld5 +~ t8K*Bk4\k%r!bj@fTLj\z|y>jm =>=⑜EN!μ0LI̸-DÛ+F lA몛`4Gm}A&w_2Wf{ UfyijЯoAKʆ Tcj.Y*8lJ񉺒`cAnoR*Sw8_(Rvػa\zd׭_FC||؍4u2LG^=AʚtהW.2M8C Kl*M%kd &̺hYN“9r-#Sv ܞOsڼ}M/\\";LˉguDOݟS>1^oh 4uIac4?nW`~Jܒl e}i pd8m YIt^LF.QԙH7:3ov HUS6HCaÓ(;Hv:1cD~C~,(^]RZ"p_/;T7QC/ 0$ԹaItJk8޳3 ?gJ$lv ̜?gk[ ޮ\:J*ȣ$/CPl6IQͲ#O&lhȕZdIb4]Jz`Rz_D^ڐI'ߥE3gOV,IC2 j:퀰 Ro@lA=â@ W-=a?0;Ӫ"΄7B xx G$/$+Brt꓋=KMPr<}PD]VRo'ЪGU1aCW[>2ҡd?#*dfy7b>,k Q ElX>nV=+7Mk$ωHe׮MlUCbeaoeRhbŧ#3`b.Mg4nVtAļ __gy(8-} [o7ϴ/]QL(=[ĦblS?wtZv ]Zw&/XOiTٯ؀}bgj9:`V?r^(Y~3̾}TȷCGFNz(|y~sf' ? |@ fOd@=76}e+T*Meh$g|Րl|uL),>ڵ7962S^6pg\ _@~ʥ~#]5XsM{$P̲,?7RoxSz}+7^ӮYp2+֣_81޾ҮV5k`'tb=Ԣhz en . ?|b)1̀rF+c kGW0,㺍 fLƈYM oпte`dvF]fWmu?fMH9k^~Jݴ˜Hhаqթ҆__ 1KPVv]519`ActXF)[vp7wQm?WXN.+vºp%SRbҕ#fwk^㣪9@/H>-ٳʧ\z| Ts BݏKZTn.FY:ܞ!ITL(YJjіo {aOIy"|u+U'%Ad{bI+k7#)˚qɴR|! V<~?56(zn,b x]n$5t.F~֙<1^ǐ_/klWY86&9PvVv@XֱQ BB&<}.acmib:G|K7a{/0A?TX^ ѐ<%";sQkJ|)p@5PkxUځUr|FpWEe^"M5?(nx>hb,Ҷ5=&[{|צ^*Eyj:9l\66³pGMQ1HP9X\{ZS~β1Ԗ6HX ʂug[(o$ EXdgKRƦ"-Tf1_Z1z,3/&g?163Ey_c }kuL1]F]NDt!'w> {;nudT, ѱ>PM } V kj5F镵 w<%gPrhրVѥ|Jx u ޢwT ҾmK\nC!f*$P!lh ݥM&l[,K@ ƨ Im L|KADQfćP7eZm(ћ!?Bo3^ EAU ZJS"s:1}!lܟܺ,k9lExPag'T؏mk6!L[9 ;7[Da慽o7m#tS*jBLOe|R! IA[e+`aԺX'W`Fv&Y/jxn4J+˱ 3h,=.J!^tՆ!AL\d>qNTEehA s8)ZS8߰7`7/ezsl$܊hF!-m? \3 HEkQe>(F;܎ f;?37w{st:cfTGnیV@䅟]3Ж [UrnOqt @c޸r tdu"b~7 8Oo/db4a&e'S~q}Rر2`Bo.Ec/!?LeR`LUֽ]E0FGPP-cNx,#,;\H%*wV9aX7K TFH+%e}x^;^fh *)}q,zs@iQߪ,.ygJ^ע_Pt^O#QYێL6o=?WMX`#z\nYލܗ'%UWyD2;6t9\&s;yv@VMRJ=Z'sß l<{u`C6oh5m?2fwmutQp9[Rāk$|1<`P V ig !a BoȗWFNPq^HT#HbBE ldʺ qAC:Ze~z5,\vy *\Esě%n+`IMߟ xJ`g$Ori|8]Teu^T/HK}zm;se%~׷-X[ cE3#i452Pto 87ڃ;32yIٞ`vۈ+|,\1A!>KTWDLV?HDcԇ<) @z Eay?Hh9I KmA٘C䝥 ,JΦ#C՜!gITGooAwsfG\pY s3*M 1(@A7lV?0+U?m@Oܤч cS)*UgK(m[dfWFYSs^= (Nig(ՀR߁s´eGЍ;5ibG@8&To@5޹~)$C+gZgV@"taЫxݶ34ׯ^4yb)k0pvM0Kr;aPLwLA /םu$=uZqsy!# ,{kp겈VbFt B'QR@eX[[9ZcfkU5HnRvhqaWϯneu 8v9W0@)+:I.h"S0k].`9'؁d-ja,^gCIƲ6U}%oBguc-k<)-&tՀb,R`I"Pxh(oR@=!g=gFQbJ+9 ;ט ݛKtilKN+QsHd(̾5 t)RؒJɖƴuf}`TfSUƣAWNEķ*)en#}a_I)]ܚp^B'T 90B e b-?xLfƱVx53P}dƟͶ&eF"-98ߐns0gmI!6TGB[_6I eXI0 ^0މƨoR O^!_֠QJ~T<ds 0ba~( :EJ"SWP}t3Ul"kxtVJ(fNdfjޞswIiio ͒^Cc?8/aR<$X˼-+(Dw*NɂU8L熞8pH>ZiZ5e#i>Al;~ŸF /4W;4&̗|8\7"Ui T!X 0'sOR*y~"D/ M[[(3+tʙzvhCuRArY>9Cج-{ \V/C R~UYfgn d.rV%խLJ) gO7XlG;{h ߆I%/DTBP>q41x2Z4)NbsO$ec#` (^26.R&4\)ҘY8k90IN6|fp4 Я`.a˖թ]s=ģy|ېuhn.m@݋b'vZ}LI,qV|xQ+=3k~ZKC *HޭhhwSq_g[_q9WDHZG;h Oy`bH E{ar Ǐ-! յ7=g"JVQp~ӂQގC- sӗ/௸f(~ ÃaBq.72;̩Jm  'B&;ϲjzAw/9hC/; izYzí[#ɬ_qUQj@q(O6M;DHM xsc3v?<#&֠rZN|ߓ`LLN~zt4m F'uѶ Att BdJ)|~5X5$oY/1 tVo]JNS-?e|V.gh {KDG~%ˡ^hb3-vS+A=65 8u;E l{۶\H!1d^}#mt^"zHF04v0x0vvGl\9ൎ Ozg b@z0\oOlk'7_ guaJAVDܲZ*tnēK] bqCr$SC2Ԟ=Z  ^[1{T#Ni7IV9p˧؟ly-9rȗл@*gK }!]0V.7ng5#yR[B"i/Vp=36S}@IM5JoR؛O{/i{*5 TP4́әatu;'%_bPփԟ{ h+ ͎&esnDW8% #'3{"rkmA=0  CN$uҍްzAЛ08A?> UT 4d̠܆LW,]$%a_0M\hғhZHxgIvɺEV ذUtuYQ;`Gs7޲ lxm@0XD S S( AlCX;3C:{e|B<6E^6Ymߏ"79_T6 HSMUEzC}IƸ! o9[.sdjD5 N"pļ;8TpR chEGQ'P+𸚐~=8:pEBY`FD]k#Y|*T~* EWUwJЂ$>%&X" $)4~e_R@lܰSWk폼gJ5SXroۥ.&PڝCa=}?*hvsLOFx I1wou^CWA(d}O|TZ@;Kq7oDH@:IݚHgEu @0T5ۖǒEs:D. ^;,7M0/(; gE*em:HDID¨ZpP$RN-vd*aC}#_!MQT}Y\ RE?>dV$0E+Sw3?k @BɐzWǹ˒R?w)w+6@jMBE sECɷLtdj8C#fʹMMJuʏؾρ8=Գ x 0'p1V3zɜSA!"pCM\u>/PV"X.WU2z ާȹv./?|`<18t hHTxVMUjԓxHOrBF!U_}M [ןTгl̐8)j E:nP؁m9͛C(A];>?e d|Xȹ7ػ|IEo!,wB;^hA/AQJukRb4\r-H!WE7@PmtV}ұ? &A!{\;D&6븑sM: L:y@wVI{Q2YEa${[^Ȼ͈XY+Ǭ3 o A;Q nqG=CgEذ^/ Roqgg 357AI9~k8k9q'Rsx=i+0\~(:RG|p'~] b'VvLL[zeh~UG S)KVtT9 yFgJ-;ϰؠcj^?oT"NżHW^+>w$%cC=e|,ș5~w%'{ ^,"G9"Tc01J`CwOS9syBx_dԞ8~EU@$O-D*>ֿس )"'l3 a6ЯKUI^0a0u2,HaN@2Bdkaׇ~Y7G)IlgFUxZށ>/겉+䑍!]۾ Wۉd̤$T[0Z_hn UNη;\cÏ#'e%)i/lށX7Ϙr#ڐ7EC@;oNI th`R'AK)bU24ǫMuH =l.# i2۝pGLM?ʕJ Rҵe4 @zSt_1мI$̣OM gT@+č _)r$~6V+Nl(ͫTJ0]],}siyAQ;Aiw%I[00Ւ )ہ!b2ѿoL9~ݼe%B)%u^2~V*ء}~~Ʃ R>E(vhCy@۠7&ZjDkB"!7$]PQ`3J9!Xvl{ Q0`z31PF/U=9NJ3j6 jÉpI^AI9%`U^3G03 t+/6%D|'~f'EǤ/e}Pמw]+Y mFb`imY{:kvBoà FvIA8&'7)WUh(T>:1󁙩>(",mkr{'sJ֛}~rRO]*On] ήIϰa豢:/fS\mw?(49ZVpjKon5Hp_Ң2 $xOQ7);yb`DsOMa*󟉁Ane"])b_,QYQ|"]g|_.)QL$!,PvF_6xZv'pIpF;vij!'0őDo(\))Lrn;D\L<7Cc +.M6Zj7լo8Ӹf:'~k)~vAs /K=Ado0\ybd:3 D_~ko˂RwB@@{ѕl3̨%h./ǢP\aV[k21٦1UW/'Zڸ9RFE}b1u%";0<8D?H)Rn+}yAO`m&ў (זM(Gn}aq$/p#+ˍ u0[6RWP_>"'b{\YJGޅܺF:SSenCUZ?0ZBNjmŊ=vP{5-S =Uk0(\勺+C!LBgЌ>E6e@v;H#@=h&"S>X0 wB¢7-'ƲZ^f;ٯl Mt+ Jgs5:P&>k+ UyݚĮ3ɒ CWA֋dk-Fȵ†o/@/e#=ޯBÍrr2# *Je]䞙 V=]" P*p# `kyp2A<ߚqŒ[~xcl)F$"FWVi>.&*&)@){jxio^2R1uyLDtVQ1 ڥ8ϤQ<&"; o}{bɟv¬C/H/h<#fl}EtLbKP-' EpdcgL;18=D^ p8>2>9pO>[y$#/;hý2W(-+x}_1>*[ʼn6$a")7?>ErKoM[ޖ+C- ~$tMb&& 3-BxKP:BFsfx=zQ@o<s0;nBG7F : ą^P,D9zǁ#΂Uy8F[4 ySl*Xi'zq5\ j z Ϗru*A k\['ytHNٟ7y5dkCî̝B*3FP,>>s첯3ѳii'[!ޫhL4_T~ *dLS #Ҥy %xv( FgsN  GcwIe-v>lyAtDMG$thx~BMdDcs?ɩUPeFE@W X:/o<nk#s5zT Ai!͑=-]`ږaȑ{ XSA=S`yc+GvtAIc۝0.0VVbZu`>Fg;9$m4'Pi6_>Oɿ_R` Q:X>÷NQXQ|huأ7NLK 1y|&0c#0S`YA9>GPuT\n?z%I@5y]=dQ徢Ȯ}V1 g&p9(/ R"ϊwU)z=R#2=DB#?U\Jدs_N2]8/6!8^r޸N@<; $nB Ћ|k"~|sI۩`c<} RL @^A$ ]K.G!;wb0 5>dyo!Izv\|^P2}f 0mb<$Qɩ|7tnsUuo ^^\Wh Q-0s_ cm%-ϐYr  a"FT3k Ե#m2pH|u?>MY&-ƕ_ڊmB9 Ou.G0$#u9j&:FMɂ m%rێ>*<<)TzQʳ342k}3?߅AdEwf_{uu`c0 g2ҍ/՞~|'D4DS'HCOE^І/l5#^BuEH1x"T!S,/0l {rSY2CW 9j, 1 `]P)'gp$l8_+ K kNz)"/JW(n0;Tb˱NWȎz^RCJ0_\&RnmQ($DJsODVWe c^ z~P擝FemP:`} `vnЃWjJ‹Ʈ)M7~ɁwHTp`Aϖ[Fs,`5F)۠?Y ;=}yfd*9d7y#<ɒDu۳y>plƞqJoc[--AM)u’BA}UƧR=|g+~D_^Doh/?%d,?9h◝1r3@=ݾRv D; aUE^~15[i`T IFY-J% jIxr FantъNtE%J/>HMHDQ v"-=*tӻn~v}N:Kf!B^{O 4O)zn[R&h{ @Å@T(Yy<(گk;Ϩ>"T6@Oݦ`@O+(u%ElG :m\4り#nD$B(0TMal*߹ QԴLTơ?YۭPjb426i%~(g$וߙz]p7&k-`Z@x4kyR9zY@6ez1شQ : c)OGB Y!Y??auꝺՋ"Nդv=tXʘK%}Rgi2O?vAYSH+ECMM3ZL [B4G4bsΨ  | U_Po^M fl*PӤ4^\-x%>nB_+}ݴܡRrjKwm8g*I6yϕKĺv$K"Xޚ'|Bj94V{I/Q-UN(9=We",ҟ:ѡ2bdvsV;J'V 7L{;%)ZlEݴ脂|TO25ˆb4$^Yۅ*ku@'&cFQ'"q`621AȗxDON'M(3oc`'םou&)zÎZ &Msc! eZAL, uSPy,NZ]5:ƞNg&?p^>AR+̵6[҃Rlk*_FOǒ:XJ>_0|+qeZYp*Fl5AT e.Tfx<^j  };ݍ_0GyE4)!eD2@EPb]iWv0[yS[h((zyFƶ }|oNl30 ؾ5]kZuCڪ]!øOGhB\Ћ#Y K{>\4'1,;Vr :ا.f5RuK5.kQ^$}ךnw@փ0[% }"By+3pҳGxͷXўy>ln5`9ZD_aoR|;ۨ&=pEc3h+/ىbyĠPG*!vl->Ƴnͻm./Td9}@ =8@|9F~Pݠ* O v~ˉRcN"F@81cj(}3Y&J*Ζcj&xĮO$B ;.Jg%n_ޱ(frFZx7Ƴ"q9rdc5 mKxr)3m/]uM`l) AQd/@.J%APö; iT^hFLhLO?Ƃ| M\[1.o#G\]( Ї) S/="osԌRKመ9 h"iK6#B'0cFe!*z_N9GtV}l#Xi+H# tGtC U,f nWS$.,`V?mQ"yG_™񴴯 (e4Ā|73=Zޠ8hGR&i&~\[MTz cuďUNjP>10q; a)5j!`mWorn P3z#]֔B8mxom{lfOD>z,ko?T:?IL~wKÂ}_B:4,ıLV e]f&fƾm .ҹķFǼ*Un{Sq% 7UUٲ!̎~5Y()ebx3VMBT(Mkk4qɏ-kH$lΠFeT @ݠ XBO=nhROL*-=a+9`nZq Ok+>COjw %7`Sif~j W勒;=n¹|4FCaj_FW6'5Ht[vԓ+;))`T]rLwxs肥ȮDlJ/tuڛOka߆$ ˀ.Sf6NR)83H;q\WHQC'(-U1D's){֧MbA ɱ#&=WKhSgv'ϴKWX2* jћ}]yCz~A9-7Eϋ2kNU/ Z26d[c"T!['S,DT}Mjk:~g,Y<yM5%X.q9 $`hVzV/E2"GMdO~9y DH&˜ϞD vˣŹU+z=d%͙1X鳊:L45Z#%%( PD ypvi/io32?l`܋C&" k}Lmg}hhJ(5RB帺"TSk(޶zX3rso3,\&='so # ăhgetfuگucYXzr#sW p,q=[. dQ̱7fi?wv\d!"Uډi b\/ i@8qOX6ϔ3*&b.6;8*R `ޔRD5(H, @dM X͢{g"I:>ۮ7f당L NSY&.cȋ hd\4[:7 +,HVѩhIn]FTAlVD{q?[`%Ұ YV# DlB%Ո/ضʚoͦF M?}'r3pv}*YW8TAe0TZW{I =-6{~}8㛦U8o9A5b s*P5HC ߙ%`!8˖"4Z2, QA:iSWu 00*÷LIha}KNP "Nxfw'[vCg.T=ޖ|̀ڱoD4|ʹ 弩6٠o>s櫉W$7g@ *a}~&(4!(J/k " h=1yM`/*b^Z&s{GrV y s5-V,V ƶ s|pC ~^R^+A8csmF77ں[VuJ,u8#/vJO n $ =4T>&ϦTPߵNLPƜ3 }s>5z:03i.tR~ I~_c6C-cHz"JȲK]Mޡ<λw䘆nяv'usDpQr*DA- <=Ʌdb]; K{c;갅A1d嶰 ة0+[F`يK:CS">#iA LyzkHN񦇩a9I?Ok6T۶;E:B>EP9uHMp7\{X&4(@HQBv{ofJ̠ʡ7mcziTDE&g2_WK70J>6yz<خtX3 L_s;v^VCaK٢wix1Ockq}=7\&m΄֝{׆u [}HoDfLH=PV@dAX]QudE4Y; ٨cVff|:axm펪"ʔ!sϢafzItuJ(Lr+Jg!o*7GW p8o|r}o7N#dEwqZХD]XS& a^_πh l c+(W;z)lږ8HYvSM.|Qf kT^¿?) Еs] :PVVA'܁GGڗȁ2؜DH{` #;U ¸riO.ghr[{*~)&.03;8&*)f S5]; zT ~"NKjiY"d\cz/3߅PkY疨$>$9濱oW.фvOVvX2%ji} :qݯd*maӮӛ8> 6祈GD,T {DSo&NrG Kz|*#|V:h9nrDJ>J6<}*rM)N |tU&* uY/@!hB8LdΕͻzXʅf< u~Mtx_q*dHWz~0l|Eb@IY!J]ңة O$HxOf͝wq^E-!*43eavh`pdN"&s fyxb9c\쓽RH22 69["H)h=-$6;y$?"ޒAW6K A;N8l}m{(<.G!@p=`,_/rGN^+ɆqEQڞF]eƗsd. `K1Rl*P>+o/f۔\ 9O8nH $JvmjD 6^Lf@}wi[18ea-)WEbwlaN8 u3,f|POdYp}ܬ>;#T3d)i\D+E"ꋷ:D3>QlOxΎAx,%u)]TfM)?gaL\g0|`^x:ʎ679)ѹX^djVsgd8{>X\l$j..H@FֳhxBC|(=B< 85C00u`MOL 5Xk^=4!=/L){l >!G2j&f ɸ19SGtŒM P$,Z@P57JBgǡ:a8+7ëe0;3Dt|YZYob|7eoU/kyz/TO>Tt+&o/D*EhF. 8D?BH]㯂#K-'j"MC[4)($~J_tA?p9{$T ĵjUep59qeL D8cgΐTNW9GW P- Al~}21]:WŎC9y 4 MSȃ$4:2|0%Ȯ?WEp;[9mQ4T75>oi5" 4 f$e >RXa+r1Ǚ(Xńfvnc[!9ZbL4 =Tr1/͢:t=Enq}15 vDMDt"|WKAa_Hu7,;-$=s@'ىY%V_#8` "J>[̡auB~ Sr셲1Y(yvؔ:7=@$mYG2 Q@tmI$oibY`;^Q,ۡmiGy\o;K/::!]z5//H}֐Gt XE! HCG\4x2`#HlGu\pnE2@K@Akphz؃aO}Cm2X,,]5@9cnk-cLBNj3RitJoü?F(qH9)n5EK2㈢aaG£=/f]#e^K졫xcY.L2ŧZ/]D(.d^j 2Ǎ1A4a%H]c 3v%v~X OM*ŒlU @t"\Ӵ9`@ Eؾ0?5Bh؜8zTH e/@&( 'd~pl*2TVt)$9T}}'sȼ43嵉sW_m>OP >r, :K {MA8;:Н&B Uuk H%<"Kr0]E1Qw%TS)G?IF!kWl1 &<~^ !5joP,Ͼbv>dbfª]\;~Oq 3`zh|a2J4HȿpTG֣6*9-i zIp,^x~(H D*ʰ괉:@nL_Pv A~"]ia2(KstKn^1$p7YoSnrXӱ껆kn>sTzl&3RO3KdׇWG!ky[׍ze?1X5R(SE1#}FF(t.2^Gth1#NveRۥWQ\t\X'm QskWl}}+LVy,j+ڀKFSAep3Ict6Fĺya ?qoNT] ~= !%Hx2d6ԯ qi ;0==>XLף^SsIbQl>ۿWC*m5|x.bK ]H&cFy tkb R*Sc@-?Dm~FF&9~xt^>Og#Y/u-d<@';ltnIb{{,32,ʉEh/z|]p(r}t7K.][W8E"V:%)MO.+Zs.l`}[t|=Xύja#Ոtl6Is\춟/#eij. Uh4. U?.\s4 eTчNl :XmotRū#!ckH-p߅Z Ǒl>w4V*kQIKWvfe+}d;pcM0)z]F.\QM 0R& i+={XpZ{^dX/%q0=x|V?oC-!pm2o$m)f&RN2|..nW Zx'b rֱg-g[?q ޓWθ2&h+4@J!0֣e}<}7%̪H=R˶l.1>6t}$AXd}o ٵWc0"XO"ا/l0x=[[`i .ɛaAFݭ]>P)0XUy ڭw$d ,`_>/cEQAt77B}< ;jhBpp]\T@:+Lnx0׃>,N,::|?,y\uEfGۗj^ r55dSЂlDয়RbA, #tZ|)e6t߳7/nx5'bbNH;)lfz"J8c8i=.r ܄1c6׿@5Z(FfEbfq7T(Z$Ks9ml˺3蟧Cs~۰E{qM1'M)n#1<m^AuE|AQKs1573`N}s#w;׹<zp.5Pf0'Q8?SSt|?&۫!Y:yG]d9B{?i{8y !gg Ygu-E*\0( =u f.x>_SD;7 'Y忠R9%O5C0X={؋82,B^TXklfKId)MP-B 3zkӈȡj>bVɖg<40^p oVF {\&Gx ž%1Tbl]3{&>mLP7;h*h Q@k^x|1IWymq?߅SNo#X`iOIRSlPއ0IJOMx-m ׶Yl䧿a\eWЖʮLxTHQj"'!i\clD%xM̄$ Y|ƥ[h?hL\J K8dr( >+isZORn kٓt  %Rs)o͐ZVj9pa߻aۅԮ \Tg,45 JTۢx=Gʚ3L7NC -{ qfCW1>q sN7Xf7.#UִO<՜ ES0=$n455wedP 3Kˁ20@3oU_K%+w)t͞SMV~2橏_Բ@ӓRL)!D7W̙6gc.fHiPI0gR/Q̍Gj-:I܃+B-dH:5PB@1B\5B6w ޵)Vps| 1փ߁H0۾}ǂ9Kc7 7Tf[+?gήII/uNLvJF0nNxddP;5񇖕Eh^I&}Q%y>ŽᇲGgcd8R 3(xʈd@7]:SUuR?n#%2`vd! gBl35@K뮇QQGL}l M:Hl6_+ hiM_=C4+:?*=ث?=s[A}jw&}`֎lN R~Gĉ'/Fڤ V?nDϏzӱh$RO)h1&R _#O  ق|;&wmNAB (O7=0ːGR !#Nΐ8I7c'Lr-lbւYu9/9B2(;,卥Yz#jY /OҼݏ`%v*\Y7=nШ lq5ּK,=ٲF#N9jj+ MS][y3"nRk*'sի$ ٰU3:Di{JE3rxmExƲ>?*+Q3yT̩R0$2w*1 z;Ye64E-;vg.cX:X#" qNi}"~^ h]ke1rgGWsrL2BD^ޖ~:Lu";T!JKqeS+=bѡ1{狆+hM )Vp@\#bK|EPeu[a:{xU*jc<anj8B_rGyu">۰6|cp;H92S`s?3Ж.S4LiD[' ?/"AR(c븞}y8!!cch" 6Ta\V''(Nl_-ƖKщ.K7WMtUC`AZ( #CTGHE ?7i+}(.kr[1Q^yb8Mh͔!*/J½EQsH 1vcS<,.N7osS):mPl~G Ld6_T=F/3F[$/{+h%_FYH^1e aTk^?9\>H G t {+,D,-|L{|5 ;Bvth hα M7^u&#Bz#}!2m~F\\LG[0 Z\ǻN¯R,:3}JJ@FY:*޽_pYf"ܗ&?OTq\,tIіF-&ӳr&HNe4aY^>La%Fg` |H^^D`Q4:b5jtbex'gmq+=YcנȃƤh t-hX?*dnmiZKg ^:US-@8N}3ϔX|? nn0 yQ]lQփY70 \k3l5SVvӊqU K3J m"{䧧 4Ⲷ]rx? )64XOa&夬ܝ!]t G38k#,J ȖR?;DIޡdM =NWHDsEgSi}'2# KD~ߓ3-]T5uД`643{J¹d)n [|:f8q Xo nJax/Ikv$}u-yF;+1; ?l ,Ll3~z.+t9R*GNPqd[[N#,pYabzR137kd@ʍD.:5݂h=MpVPC.]W{[_?>S#A³|5r^52簐f(mַqjX# 1VlYR쥿C|*%H=2 k-\80iWnlS_%y޷8=X,Ik8(!7#SrjDҚC_)ρ@8oMH0#0 Vܨ<<&]@]B~Vesh/ i09px/(/H&xqʂPD;oҿc.m,僌tQy4]5fhY7hrn6)ETssZfhp%>K*>T**NJ$ȸAGbsڗDwZH0НR*dc2`kN-$kSr6_Zr#F>`d'g9{"εxZ6 Dt b3q0yt% /<wkTe6u \!r) !/)M~w(Ux*d@vFߣhG9`i5ȼ $/ቻw|߄ZxY|۔JRbP5y523hC݇@.KLmq>tgPnMu>ȯWrL3zc;erT*S~8bnIɅuN^tf얮 o|HW|i'ik`vQߵTb\lOzOYB؎:eoe@=߭.LjZY7dSsL r,Ҋ ,f!:V\6veHu4.w<=iWW-r(tB'TEW{Wu1W]B`BM`a̡뫍 9(+h Zz<$G\F[AC_DH0jQΝTECXӄB~`T͂W)^4_,}B͓%|b+>~nԗ%"v3Ɗd#ƇR"JN%Aǥ!5.!:?}ܬZ8P2kd'zxh.d=9HqZ[B!4'5o nI3F}UdK!`慏E}L,n$x(JZ צ-5Rwك~Mghj'N6D͇38v1J)אbF()-a!#hbuMyϴq.Oz .E1JkyA̒ê "YbgCtx ]/.U{ *.]7hZ@R zhț:7@:j7)&~`^Yi+V1j9ݤkf 8WA]žnwmjE ~=Sۏƀ)um+͹UoQȆ-NEǗ!mӵ韊|KSQ؆rߍca_bU:&`tCat$,k٠bTT-BS8cF"|$b"{|\+6=i\UF'xKx cKG ev"~ _X%O06d8) :L@kXddUkeу+riu SB{e^|ze6-']?{TS=DY wZ+m7txl-fb_ZϋO0)>lp54Sn[wFl!4|$N&jd;F/'(04x&Ls秦T6 jO>qڙSD y{쮯@9**I6nǐ?[ 1"wL;(b,e;9pFOQL!<q  tڿ2 Hs&.=P~HqdJؑ# HrewW1$rsE桚͠KF$ BXelȷ25xZ. u~{X0{'Eh2{}N~s5u46LV\900sO6:ѕT_^kVOڗmMg1weU #e {=j)'չmcR@?G5ɋNɯvn 0XF HВqyL ϑgǢ_7ZU?xDL}AQ;(6Dg8gX9, zk~ Zᘽg;Zpe1DEW\@VL|@-Uw>G`("T 㮦#Xkyijڐ!" 9nF i0+5d-7b35׿'p0Z@ZuLh) 9] }WxYo$dnS٘9)kl}xЭyC䛶!q[PVqocIM2 JR)r*qǪHg]5"7At lT&ۋ/#hBP? &z?!` I$8_}\{zML-Y[~pwazQM<>HgkB̶:j =6ڧ%>?m!F1k,kr5,vloZfy1l/e^L♊ $:mc%BwϫP,.̠f^_J&kS@ '0>+$I`U4uV4aq+\q701Ȥ"E5p@D7Ql-7KY]5+JMO-a?1>9xJg%l)QRjֶ^tb9t|nqrצQ+!Hq@eU :.F>4Ros Rw|s4;/uǢ*Qʎ;A'|WT Mq]9^+A;Lʠh~o C 9 W(gNFhl:jWF~&qܥcv)؄Ҭ%MN2WGQ7*3JØ~l RI%_'f^qc%~@4`P2T 99 TA=Ӏ,=h (fD&CͲHM5S?n:ҥ5oIf.;%.YjUFeQ=`` dQ2RV^G4Ћ9 = D,3/3Gֹ-. =C5fl>=znߺO^ӎR629vRZZ¶1V|Uf}_-xVq+SwM`8Ɗ)@߉e*M+[QsbGՑ={bVZV]1.f<3є km8M7umM_RN-gPQzDe^OVCvNBv, `H\gscQOZvX%YqXHDmd0L1+9#XxG62Pp`9+1D?-a7FYa Ӂ踜+>E;>l'NPHUѓ߶n2kMvq]lCHP##YjJ.(>@8xNGF)z9]Ϙ"ĺ89|uFu!q*G0{at8Yg?{*1Z4R$Ba/iȦYq!Lmѝp񈡩7ZF(-fܝ)2!D.=oAj|_ZDLsLUwn*7z _e<^kXRń.5A[*"w\ 81к L{/o8|k20i8@ RE3]hgG.̑;r>oL?\k Qfn~%{e 3ih|xW?KU剻s'A ?Sґv{ӭX*tXq{ 2!LkWPW]rEf$"B6&Ȍ(bGXoN|=B4iKiL$yhԉtĿJ 6N!pZ a)z$7{yQNkJq=Htj5HtC `}IHƦܻΓԨTA/ q\Z;!=%|\Y~:qv!qE=bKCkMy`&+Y(G F5/[RLK?*s8`D- .OZXK4fMOS-֒8|z*[`\? ~xuʸqU&@Rl6̰*IҜAKj}FE*>4U.mݫ֌Ս3254G:9CnI,;_,XWrU_&IAUR 9? */S8c btt02OYD=q$uxfJfͣ)QkxL9G[ƩYƿ=좪]hdҊT4J;}X[3'rٶX[FeBzVz~#wUd}W/ #·Pni^ òot>c9+`9=J H!cbC@ z _XjγճM $F`ơJY5=yÐþd}C"oŔ|HHGi}v-X`Q(PiB;IK,m@3Vxkՙ"X{ :D? 3. H+c3s3ecv&n!p pz^|ْ4 r8^"[*D4+  AklWC (;ț 1G՘c/ERX#&nxy'eq`i.W' q m8ɨ I}i-K{"j폦=\T ` sXP/]#Sx9W@.S_&aߎ)> VrpN EnGFBk`=CI;ߤV̫3BO|QX'+zF[bX]o'n2*K$X,ONBG&]LdQUʾh^BĴ[in$|g'ҙ, L2>}Wg>ې1̋i9\@cYS[mwsW߇2@S>#)@QpW!< x@H;XlLH=NWVT`'e*88 IPrU%ro}/5kycT|Uy,'a#݆rr1j9~?f+JRP`Őgʄ:L$Gg^vjb < Ic'`lJ{U<kMGc{8W$_b؅L \P__p0wnȐy5^4.k:/ lR|Ge,mQA J׹~G[ܹ53ŋTSTWsϥ4 :VVCY|sμ%TKf+N) !T1>@5CƜtߔyCK.R 5@ޚ->58̴~<{`UtU5i)t25ZtmWghiLqoD 1='+UJE,{Ⱥk2 )\c) =mFz =܃ WO-zU/_D}iL^I,yy''aC-&IG͈[])#4?: Shز(fÄ+tgm T, t >[| R _عЗʼ0%>Eekh-wlѱ<'1C"Xa5VyGBf6͢i+M(_}P;rS_Ap!ziI u|m_Of87Ft~ /T!ͅڂs š >cR2cKk `\Ck,QO/@_K9Z.1It#I0HceuE /M />UY{$T ]Dӳ$jMinyK&*Bt,>Z F5'[#T4JP^[ Gv8l,= =ٳm&u.gB&9<gٙ Bo`uP \rܸɯ z 2D89; W#FW~$ +?sW R@Dkb'jYA^ B6l9{Lu7;8>qsr"Rgᚬ, RξaU]%)ӿ.t+v/HM1b[$bHy|-S{἗Kfcְl;g^}|wq,p|-ј4K4qE߅I!kv2t]d(}Y8}e]$ѵ9- ŐHNJʉ$D jY)3 (Lkq:L/;iH9-q{]$N>/Juåv@bNWl)8_:'oHՉò!¹1쯛}{^VN'4,t[֜w+i<-P5W*[-c\ +.)`5qx…l8UZrgi!9ޣop9&WS{RTxzwSl\tSyLbgS izr3sP”Eƽ$Cu+)&aܿ,P,p}x?PBrfFT_-Z5Tc~a$=|,zs?څ"+D5ۉ g fg<_D& O}1=nD؉?~gM.S^or 5>FP#ZhVv>]Dz?\$UX%ILQ!W'Rr (g*qʫN⋮ LDlCSD\q`x:TtDZ6Z= ĤQ'8FTn<ꁡ?kE>[e̗CPbv @:ZΑzBOl)?Eg>rJdۥ ]pFCJ8lh,UL;j!0sl:L,iUT]bN^JFW)5/׃Qq@ݏB`H>In 亊XO|350%Bl_,)H[.͍]V(l0[ W&e J ww /x(I {Ìz}Rπ̨p mt 4ydygۣxj?/5USpɰbT K8tyx{AHCP-**\Wё^$d"=]IecJkqw:cM%5dsزv_|)uƔ׎$!bK{At&)Q3#{OJ2LgkDR©F )l0^Y'1c@w,>?3s]`M*UEk,A5y"@]G]Uij(2h@~6ގs8u | (CrI8L|1[E 9`+a~#c}=ǔ4Zz8xOI: 4sW%P/pU@a>Onn|,)5WX%5A70>3‡ZLqA ,^b(XwLMTJ_/&g{-Kdbx헢>钔#H3˿5جSu,4[((UdT'^k&iXO>F%挽r}lԴD˕/wR#-kUmRm*_Y}o11۴q,T nv\C@ veL@~sPcI{#50ݟԲ=MMبxb"ҟdb: v뮭~Y?Oj/twL݀c`FaB$zeT Ⱥ ̒d'mRwU֓[qgc _MHN㓲M"ͱh~&sSu-7 d(r1Wi:ǪBdwX`$&-}NXy'&~W!0MVSTWKĤ/ 戀gaC>X= q6ݡ& ZUHva18mc^PWzmB:I~Ma{zSEx~~{}RjgAp}"-F<cIݟZ;0%WG>6 V2> 1l9xOҚ;_F @D:QY$JD/n-2Z7"D3ȞZ 72$*;ML]b %"$G̓&hKg@'XI2` J^] a0 |CSe"Yxk‹5sX";SPL@nDOU?m:ґ}05ÝzY.R/e]Jn}m2[~~Z袿0OʿcrjuQSD?a eh)1ȧBr 1%Zjx:ɝrW357Kl%_(#L; 6[qp+f&^{>c׽\ʒbO۶\w1P %38\wsD)iGO&AcCE  /9Chmv}s, vR- cͭY6Ɠ! S~ݞp)<[ϩO-Ə[ޚrPV'Z@ Ž#%ܧr6UJ^EIuOK|<7!+34t+˞+\C;;z$&GW+(hC+^1'Bwf|`t|6ӨΕ@:n@jf9a$9_Ex̝4gLcww[M܂˃A?ueCɞLڇ/1N('v~68f~~)Ch2Ք` ׮p7F ,tE[ꤛ 6k_:]Á+QZI?CXCI9w*.O &GGj)Į5>MW?;B*+E)$IIf[l*u|5Y(4ZBmrJ@kV22Ja\$fД)ʈNvJư͌+4&iF[G 9F^  BmT2v{&@ n\QQ3D  gQ=}hp M+ K9? V+WE6t&c (DfaWa=Ir@xZ9-&2Zb|}Tkz㌵\%M@XY7s9-Ne]_U"1%|lՄDF6nIʹ!KQk M8?K1<mV/n|e5|OqbxkMll]O ce6?Ǒh{ TIj݌ɑ"'q_ #5`N$nY XJӼ]]]A.*؁J_ϽrҦHZ[JjYۗ}Bs9l/}ՋZHz$Rfgɮ,$9p5_E58&;1q/](3e{%(}l`>K!gÓ欈5 N2sjĬg5fZ&~R^dXϥMc삣u/U!u,q&=YcMP\t_+Hg*{6L$r~ڑ[=:V|![]賝pn>5|煢ќF>~BGYUB+r>XG@|5Vv'z;!^.EStbz^1S5 `Qk* ڵ@ٿȠ0k]ǣc}I"OvJ1'5w5@a[;A  $`qr>}wD9Hwu&qA Bgy%#+ h )9w jݻFcRVȨοnxi~^겐Ymv52É.H <[(wm./k<@jQ< ޘ&\8D[P!ɡ0׭"~SvK7MlIU5N:zd'Kʋ:e$53|}쩼X^8MO90ZJ6:aqj.p'$`EPO}4"lBE$73d7Z9v77\0Y _c=I}BS^ycXQG X+'ݛKpi)Xyp]xlHoDa9e<׀k5QCMЬ7!R{Mb3|e/LboYaMP=pLkaCnpQj5_z7J=&+ dOI]i%6\Ԍ om{I ۿ3k=N=!My9d9 _W>lj VA^|9gqPSg85Y%{]{D-~X=Y J4`|?|J}HOpaձc%MM)Nu&{V(diU1Zal\$=}V_5q]Y+$iȽLc m:b3S?QY(7,;cդŤ4þ2{"^Ռ/ RrN$$ngΣ82Z>N=ٕ( <yxh/P͙ +#Vvqg *WF"nȫ7\JoѰ+.`` gi4h_?rЃ@hJ2?dDyz',3֒esr);47LW-05Is "VCž6LKyNowq.e'qԲbmv3utm_`|TtY`D ; tm׮9rڦ{t&5HSiC)I5_Op] ߸bQqsIsdbSW fMi>m,:@'k'Gݠ,ճ w;*Ω{Xq/9ߝ/tPXY;eZ5,+z8zxaSqcjPs.Yx3M߷A+@alj !>"N A̋i%X#*4z@jĀa#EXE57,|O{it6&NU< Hn YV;ު=jew%p:ͪ tp6>;#JլU?3HQAۖYuOuUbt*{'Gq^1f琅6^+!NU$5k^zBp)_ߣO4*T"$1 E&]Z)`B{k&:KA۝i7M#Џ J _?@ρ4` fFX'L4F)0@'odc*&ZNrWi [»R'#ZG4"Τ$[oWsMk > h;Ue ݉^ Z{u1MlA%#иbAu̻t;a]vK=X)߸glmNhW1/|fGDJ&ko,%BLρ KEruF-&ߟ- m3֒]1A1 2җ5Zf#>u1Iѷ>rLQZ*i[o3Ԅc^iPCA] F4?NVL4Z~g/8u(wJ K{|\bK$S;l<.Z\l>Zo9ܯY3xMn9r8sfΡH^R PA[=T Z:׶fR>oe!phqj\;P%uRNbo^ I^$kW:j`(ϻ:I2YM<%g֎%Yꕧ|ɌzvvS@ġHlV3Wzq I8g#D?TϱJjs'CvPj.Ȍ8OVO_4 s#^`m=:kir? ݳ֗ʬe iK!vxar(~S)@jSjLn!}%O:Jr_rvMeB8(:R;[I&PYSmReF{y;73^R~#w!r7h h `=;5vYZ__pŪ$yJO<lg6*uʄ}CbZzA:ȖB`a!'>fc $8iׁl/,(uoZ}.Yuo oW-LvEdc<<ԓ7'_$rD(/0US ԁ،t y΄/qm;_$4X:gkާ8ca,Nր|^mȏ=n{QJf{xi..}I׉cKFj;i)e&L> j}*:҂},w9e^}RP,;iuةyL$̂ڽ0PtT^m׮"3VON:gZdw2Wv3/RqcZM$ >Uٶozhp[$Lw`Ap0Ol>׈eL} vl5f9|SO0_y^2MK"YWR+t~G[.꽃Qa xnUhY1sN i*P8C:ZPhVb_9Z^U&ܵ;F_ܘOEtv2BUZA%jUT+ = ~ؙcTp2#J{1yhrCW>vbʓ#4aj 7FD=r_C3f^2&9x*sTt; u?8Ft6>#(⬧ `ZAlE?ScX{SD( !mڡwAnp&Cl`iǤ XlinuT M^(<謉Squj>ЀMP7#MP)HMSĀt,w8A{pq-a0DRCsx};:5%.wykI2|UVe}bs>g bRwJ\); hHf!,ZDNjZKjM2 %ǪM)GV3tB~l8..o*qihJ\t{Kk*r>.#`Ćjk:B9aV ÖjiMȈil9}ܼtx#J@r݂'{d&m(d-q o!^noz6$[(Cen>oƼ-p*G_P2jƢRR) y"-(of8Q+Tjm_^*86~۳~&Q|P3<9A-Ӟb~2#69pZv|B)#9&rӣ9 ˜o+qM`^H:Gs2*X94SOEfgXr|`Ad|8$z0iGw{r ֢?1n8c# |iю/Nv4|=QVg$'v{AKY>++%ӂO57Mj,C³l0 y1MXKqv6{K/~r?|RcB`UeΕqYQBߓpo) R{lf6YY#*v B @CB Wdqb%Y1>6&vN>e"Z6rg;ZU6*@2ygIY+[1;;T4p!q\fV/$ZnFsv~Hr26%ȴ'Z(`l & 98nT !֎a5G#@_8 Ca#~x" rZk'&SܮwG7ފʿp q_I?[tEW_W/5|N9>O] G'kqҨ42IʕG v pN{="U=^n0^EfR/Xΐ/F֣_3TAAw=jΊ#&pֆ@G‚>0ʂ$La[8XȚVB -zHWrL,-Х`J-*%q&oUc[`4_Ï#`:0@dŽZLBvV{iHGֆM>7;'EV rl~W\؝)ŕбqϻ*z8I@le(,(Ցׅ)`"[?r\ia]Lɨx5!cx\V щ֝*N`[t:0RlJ\p(:"5,$Ȍ+#U-™ؿ7MVH*߆82rZ9j( S ^|y_Y^˕WBxy|sjۮ& 7 TOO~4|s|0CFlOYմ3!s) εrFu@X~fvENP_C,~;V[.ٳΆ ׌%"YT#[%0t2Bb/b%7O+?Ի58ѫ >8 EF53TLI{ `U$Ԫ'mV()?k+{p!rȨhL W~:d+XR  tXD$iQo`u;kl6FfVl˹׍ns&U 2RDn/KPb&t{^WݶgL83Jҏtcgl󣨸Lcj)7z@_tm Ɍsa܅*澀rzw~zT~F)|Ͻ'WcH@D tALZN0dݫrכz?߻RIEzijWzו;p[U.Pd#׎p[)] ,͉N%Ҧ <u ;Blķl\`mF3{Qf`ߍЬOZ1/X%j8?}lF)6/VoEd; 6V#pt? ;Iz/\ьݢgB Z|7pR:(qpPwY`<Y'EiPHLL}mݎIXte [OW!P.a=Vђ+sR/v6@@|o"(۾Ǽ=WÉCP?N/(V#5OGf*_U["RsMkbBN)Ȼ{' ʱl |[ /(ߩ:2O jХ'6/! %kM~->cL9UdϪO{ }S׸էӇ_ 'z(;lpKAmᇗaҷ@,i+mKO`jhL27 yD؅FJ(wiҲ]$6\ޑtqB{C̄t:+ҫ ԪYs:h.8`…md@3^3PU"f}V6c_ W8;ǜ70d'H`+826ۻW(AtvܮB{KĮ0rO6>=nɟ>ΨIm%?% %57w@,lzmJδdؔa3 lDCP,#D W>[MEቖ\ |D9JC2v.Iᳰr} dǏE3鑉w˼)-2;9"2-oJc]]tW!MbREfP(X#첄+^?ϒZнwLgv(nsk$c~xgl"0Euxشe * 2pr9^F ',YkTwHו4CaqEC7qOgPvMHXGԧ S>Qcb&x]9f ;b5Vki!{WNt2 Z%z"m~S72#בgˀ1rZ+/LTu0iR)6A=N5AWKoy#\ I¢XvĴOnB=.< J9Q ca"ƵJAmgFX@QF 9hrGuvFdSE8]f%Un+*I`#\~0Bq]Bi] J]# @]*2.((w|hj_ s( 7қDZ[6jO/z|(VWWzξF69ހҢdItom3eLmݚ|NG`DOm.p݇Jz<0J&Ib%ZuI"cEǮec)*GCQ6a}]z.ncXUDxEwNj{(Fxoep>&5^gRV[R=¦6QmaLp1.D%Z{K S|@rgލl$ Gf 9JS8SxY=b72~E9Z *6?c9?)ۍA9_g)mČ<$lǤWlAlN^Z`N1Γ $9Ĵe /W VnɫJf7cA(^_Wx-~w~lƫJV@%qj.g=!s$'SaS/)L&H&}z+zPX'hS3.ESgR` GePU骬 }xM5K٥ʀ|d \007=E/Qnk:^tqr>?+/eSKV@RlCʣ`/+[ԾYsKAūexFz+kR9>x9^QP3 DLO, :pOu2a@0rMBU6{iV;pZ=m6&wD6SWoX$2n*ύQDH b[)SYbnV|oB'zCos_SN"xqb4db'V'> /8~*U:?AFV*RU=߭kuAJL˚[Ax8 ޔM="#4sǠGj+w㾔nF&N->fռ Xi{wFxkQ1uAhZkJZUcJP^>$3SǨkFA֤`k̲݊/#DyVM3`ܵhVc=y߷K M9AsےUCx'aforC~AqRˎ+<:kΏ-wIZrhz|5b*g4ڽILwͪe?YgXR\ ɬ,M&?9R8(߶ >x-0ص2p+79&%.> 80lvT1ˊ<ݽ gZʀ4ʀ-D@CO˕m+G%rI_Yxf IO'CRgXr|c/dn]^Da- Palj7beϝ6>-!9z |Ҟ}kIrwi:؍ ~#Q~Im촹 ۙ f݁Sl BZ>7ܽ*w`(dk9TJ#\dו- -^f'/*onn?w-O_bl6j +q)i\I%z6;@;|Gا J/U"#zO)S[ϼFbUoHnlhnYlt2)ir7o|dKIrJ}3Ma|HEHy85 ] 28arq5HxbUi43's`኎=H1w3VbEoc9 Yfp_Tw=,(G _*|Jz.SޢѬZd7tR]dܕ |~ah.LP\6ܵNiխY RZq GڱU}e-;A쉋y\˕*44Bx7}!9 4n+JR sV@hU,FN (Ik^mtQD!*̙ Ijhp8%cYit3Wgg=JċSӱړ?zx5A4uO( !Ye\;<4[b`CҠ`ł\k3uDH,p9ti7۳@c;TѴ2'AU' Fj֠}ÿ[W(Ei-A t`L}Qa'CCWGv,/eu g(N[ٙ}0 u+J-Rڑ- aS#y|ʏeڴLuWC"7SdiϩeQݺ]g5hC4!>2 jscjUɋYH#LA@^zѱ[󄕢m$ڟ:Jk'O5|w9shek!R)Pѝй=?Iݘ7]:L~w\4pݺ{ul2?Jxb5zhXh$"^@BM{B샢B)8[ż]eY2fx(P 5M1 oihҿ?覩lټOKiJFg?زckJ.+Xg gG&]٥v>cztZOS7_FH# ܞVX$(WvL`hb\X;Ⓠz,]cvn9d<;;Vu"lk"dr .@~ iG4~Y/Ra&Ja)TL_w;UQD Xhϑ)~m|la PG_рJ{K-'8XӍ \8ն-t0P+)ZLfՍyHZx9 fF6#&8vXaJ߶g6bĝ7EW9*(8{L<yf'EQb 0%.jy;dr6 1j13_H`qo$O1}V~+%W4I[1 gK=l .H+~|M7Y޿o&DR̰cj{Wyuϑ9k=S_$Oɳ )o~T^p[DN:g 2e{=ag Je=Q\P5D֢oδI& СR"<4X$I Ll;z`RIenI62}i"~ڵvUMMQwu1չ ByqнxH]B:[IHѬ/'*D7~!D5ϙ͡`ߏ-cǽ(Ǩ&G[Ȫ/98]unUMKEJ!IAvIz+P:?Uh(Duۛ(d6O_̹=Xs];oɁÉISlXȡ)Eƪls^mYXc.X@yݳ/"{1EiHwi3Go +G[h{lJ56Dx<\Nلr]A>m}b[4(ΟڹH$SmnmaMXfaƭ@ 9&b%D_jR D\:Qp&qxajLL8$Ae 4+y`Δ F'sqF1Q2V58j1VٲY1NI(`ky%Rz56~7Jeo|>9s^~į8$zvk&PdK`*lq l`EDE^zs.Pt`=ǟN#V,G}P*1`#q9L>MɍNx Tb.;qŤyXU+\ 1 p$ZYNjϽF 4:('Br;nu6b.4Jop_)"(%e  ?t-{7A'cLTU046`B .U۶J2bmU3sL+K7}#H3k!yEiv7sUM[^ Jp׼jWY8CRp9q%璚.}U &i<)Ήlkɂs/>so mGE\f`^}6EJW,*[d08doGY&8-n1s.!kwX^GU\xLlFD}Nxy.9%<SeĤ. ț9<ܲ s@Cx d\# l: oȿɠ ɍpE (Uqg? ZH[2⋺_C' JzA,'пe A5Voj@TWEZ<ƑfY!ׂ0Ddj1)/9+#JhL1Lc,8)YM"b}++] Yqx)Xz{7ة- -.'RJh5wvNP>D;/ݝw0T'%NNDjqht]?չb5eW$֏7{XCad 3JDPb;Г5'}(&&ι"8?h!Aۇ7j1%n5['|yyPw8%\ZU'/-45WNYy_n$?{J9vsZT$ցY!Țf_ՄT XM=`L=ۙ fO:j4~, (XɿSC1DbX@ԂY; ՒY64:B ɘpNf>M ڰX)P<*.k4ëґ뤂9'qzO2!:xRlCd+#;2G{I{tC-b;j tܛ?KnVBinS|m~l:_ \,8O1ˡ5Ÿf7tU ՊOE~k_wva}m?v{AS[qKV\FIdsE{(UiBc}BBGeş#v)!v!{(&|4"?9eT:ZIr?* {?n:P87"abwrCbᏻj0[HsrȏЯ-IDml5&eRiulN+bP-|Ɨ*8_񚧥Hƈs!;_٧Ay'̯ N"úFQCtxXDIkNRi?M|I!h#E/n4Dܯe(◨q\91wSDǘ F--.LozTu/d 'Tz.(lr*!G#3S$~\h? KU5.  eFJ%qJal]-q|#!p][WRhɏRr3}Խd)ƙV!Ii?ȿ9$!v nxڗۈ灮@/p;;oRiF*30'P?8Y4Gx=dZn6nT`=^_t-n1;gw%]tP6 ^7&2sÊpz+E 7*!:2l"lʪ(L, US=1Xz8PN^eOg&g1-*VkֺؠxmgM +ݶTǜ }4z5W{IU B4>c0<N6ŚWR^kKldJ a.H> "*KJs~]vb:{ď_ %QMBBڮR'm/ݪؔeAxXrĄg lA_CYu hCj-iٸ#''.zL[1 o.#w͏cVjWpOl|"Λ՟^>Yۥj[-W Jzl`Y}Hnh/XJ[KiR8Дiz&,O=PX×O[!Z3iw xP1Uu 2wF'_~*@;R2^ pg$ /巼NKxIlau$3M 9`vZbȭiw0!^s1d2 pq]n턋U%) 3LzrH@oϙ݃l~"lbE -v=hA)sِ WXu4ؑ+䢿KЉ '8;u<0Kf$ 1иM2$eش"VV3\g ^-TlM7 MpunE}€o'z"p'?(H/)SVEXVc(LW*syJn֚q1k~tN @/|[ [27`x ~?ע AV+X |tRV;}V$iÃ/LdkRȾURβ7Zʪ.#WK}FdǮZi#0& ֣54=F gLՑ̒?`GW+ M7#_񡱇ukbhR>S^yl,F,,iJGǴw>`*S5I< Q&ʟ_ZZǟ!YmX-`MЊ:0(W?|wN<6X|ujvlY [N4Į1oUhe/Y聓p7ԯj3; F?|(H};J_X:7Em C'2yka ҼV`zp#9BYў5?>㆜M +RPql[ig0Qo{ڜsJ$<q&+F=gz4F R#hIX~Ӈ fc7m G˜OW,} 'jR2Bc._Dfr&F 7Ӆ0M&RcWK_X/`0 ìLnx\u)q>~TIڢOa42_݇Q"5\IxL7ImU"9 0a8qp:a2CQ^@>6a&#) , 3*M$,DMJEzBĆ$S})ak.;ͥ.#˶Tuq!)g x l&MLg$Eݬi!7} dClR3W AҤToꙮ 04#>e#}fJvJwEn1b^HII#͔H`!xT"’/S#&p\@ cDzk(_f 7Gu+߿T$"U"vPYB'%;J$p%~A2T &A/%3/+(R0qN{+.lȒۻP_}p/쬥ah*E>$Ǯ` j#2ƨ\d̾4F2~ R6D2^:|b#))2P.@ 3/;NFR{LGN.(ۛ9[,x\}1/@ˇbAy6ڻ㦅jdxT|=#I=&rG l6͒H#[ L>ԕf ikǂ.ځ/ӂ؛Zh{ {'ְ;TByں8p_4CwBDma3#fDIҒmfР pмaplȗ]<%]{VNYiW5"֒W.pnԞ1^;9{h EAr~{Zٰ{x ߿K~=VYX5؉>PW,snBhE=Eɤަ8}0],Dz,YeWD \ٞ{<ظau!qY b[gZ\j l\c .dXv?5SwOJH@T7>J譾5BNt |Qdw- ݲ,y wYUd pĊxUY!7sGSD\U;p+5(Ez _t]i(MD>e͘9N-==lq0fNtayBxbuXݵ)zt7/ ]aʐ2`LٹC#}\u k᮴Q"@+7IsMΕ[ĻW\w!,& mcE֢e Ck5J^Vo2~AIhP%=jIX6%x|oĄm__n$c'&8C4:cE F $-IQv ?X"^lV짱' # .R$`KMe+SdiB,QЁ>mq?W$JT{ A0XY'9z7QOoPJ2!<~E܀ו~`xn}δEv/?B38r-^. N1 D7*B aRGԀxV@׭iT iɜm&BjcpIs0_Mj42=^3#< B媉kqEOTEIֳ݂C,W]5eO=,ͯ=yuk?ݝ_MXɛ$ʺUse}jIյب~}|A. H0z7JQyC#_ E8 =^P ӀWӣ߽&k/Vː)QaYxGSA/Spr-!^[TքaXf;d0=e"Yne3RO\!/2Kި,=M<+3;H@| Cv&?\fqB0zs@n c5E9w׫db!bpP u At;LVsӺ{Y ti y֘; V?,HXn0uLO|Tԋm GmXN%n؞2x̒K=Ff>X.Q5Uk=݄߄((GCDeًͰx.{j`qQ>+pBOKN?0J!.媆B?8i3@WP‰ݔIg7t 6lqBa՞3D0]S !$d~M ق8 jOʒVl p!Nڃ?l}y`&|{"I=ror*G|).Ԛ܁ XJUo S \h Ty Lna-K&N8}'P`8}LA>J4Фx&5&^ӹ:;>ѕ wBFxaԑZ6 TsF0&>TNMԯa~tga 6 "'6Z@)rJC7D@l?B}eET7e-VȪP)WAE<)%[,aMڎ;"G漱Of[ #> /9sYb*y,1͓2,NGS熔Au~b@FcWn!X9X-mp Q2+| S#KZ.ܩi.IL ~u>'ä]!/gNG}ߔ5"3Kj4==m`T4)=XȎK~zJLYE@0]XZ@vpxi~K^οo;"'qXICPK8ǿ^GZ=#&x; w-1O"cJW7#zJj ;|F;vl  '3 2!kn^ 7=U#w #h.p^BUtp"h0+n30)@.eg;2tƉFk5:La-~Xէ/P?=1k>IJr4P`PTkj֐ON O"ǵ_P kVhb g7OAR, RkR'ziBgV7*7ވ0WY{`z*z_`JIFx?qC2Wca}U}K{t fIɮY k_yPM{"mi~ytx/Chj BuďknZ;Nd6ybaEMP;Pr}z hƗ/oT{)+ENķe\k z , 7-s03>9O!= ׻..g2(nUqc]C7z_r)@FAuOp=_*LJ̯ DHaPUop!uF G=iܳ.8[(2>}p#Y^ ۋi`l=JJ2uW&ii4Jõiޘ պYزak?tQ>:I2 }aӛi\< [ V^c*RD@0H!(rNHiFƟS@ke/[*yl(J|Duh۱֭%2Ϻiv@0Lóyhh[Bz:s}O'H{D'vr)i^Ou32W|Ixj0/9U-"$}#)ҷKJɘ*S׽kbK?Ƞ[N˯٣B4 ^w2$ݳ-YڋيVcU^o]TR Djn 23~z VL?Z,)jTcb5Ϲ(ߐiK) 6HG7ԝ" ,eN>z>ZO&c HhBW!?n],0.:ɽÊO5 ^j\ڶ-#U)xϳS{`8aakt:=G[z)Uٺ):qł-h69cDr3*M߿`Q0{PgoK8"v]=@0g(y*U0cm3xMW7Eh'9i8$LFx4/R.;;LE{"%u4!40"X^DɆw3?Le&nLi{!'>},JA7pge1P@Zk^e/(]o~#y7M-If݊3[G JGLGP5|Z!\QFGy_j;lw& =;z1@dwi+ۇE7Fd,:Y{>Y2%9]H6'WG8D)oަ+ۘgarae#"Wpi3bkDН2|e~ZI;<ĠB iq|?%-D۷xFW\fmG{*(?#as.VH=|J.pUdXGEt[aIf8-BiFdrVE:eE{'!34x>ܝ >M( 4fg|D ߔbcUT\ޮLxN[<+@ʟIJA~Uu%jUNGbWؤS łErߛX5 N{A&oSazm3#vMk]o(ת%HU`6Hm.9sTRK]4#CMz@AZSu K$<7_Xh*5vb#4LY[C #Dц8dK1E9o1EoEӁ?aO{ouQ ^)]gm `})t`ʹGGfU[ ElxR=s r[{ fts>gs| ȰM;H},%3l07# _Dh/xV KY( !i ӀS0oJf#݆PG!]4{Ko?S\PgC^5@r7*M2wkhBc;걟*1N&<}9c=KD& x2<=>K^`~ٔnE"qZtb\0p TwRvЃ_"/ \x 3|/$')ܫ[1+ʴ09=eoo c,iJD'9UAĉ_7qww6q 1߳ &s*I1[iMe lA5 W+l.{&p ԥ*8dK&r͎J3Dw\.6F.+0_mIq:߷E9I5oX0jw1K|kP|tXSiqQ7$=͓yb,]&~ɛt: liG=Jy%^z&/=2 ]@,;}餲"{SR;Pb~re*31@Mp붖nDb/6"PEQQki"6n?;Oqd CaGЧ!(s@hQxF^AßOlTu"ӟ(: !"ן2pȧVx>eY'\EG|Т_sҴ0`@+DI`!woƹecÙڟqh"VC\&k|2?4N.ɾ*Ƃv}͂%dCqwiR & cxNz˽Ym)P(bݙI+v;W1TVA0 ::{ ƅ+~ٓ zĩint7/ &שՌ(FQĕ,/2b޴gK敓 *H~ 5ga=qF }UFHvHZ7`k9Wv$]P؀mb(Msy2n R3- jaYeb@BTua-ށ&&2(YԐn4WKYx/ bym(MI(>71yVB?{ûkK*GRpRJŻMcWM6 J;V3 %-D7:8zյgAT,nӛNyZ"BPbo:΢k9"q! V)'LdܗzzȩR`%Wxih„?k}|xX9"Q[svOkb9E`v(N^eu=n1#(նj+g' ۿ0hw=vxpK nngz]A 0yO5z+Zz+'fbI,V:a`7)~ݠ&C'SUK̛.5 k+Xg>.BٵOtѝŕt%,5a.aIm!{6%!icWV)%`*u뤫PBkj+~;-N0a:ѿAT_tazE:N>O$e5 E!9[wfS(Ы~{GIgIMBUme;H<}u5(Hvچ*Vm;CX 8(,$-QYT=u xldW[݈ZJ\8.xoh9:Tn>:9)VwttCPjpiv5DST@n/ =̯jijLG~H|vy0g(wnױ-x _1mn=t X2PfbvѮ:4l]2B3LߕXÈK =EWf]m9Z HTOzD ڞ,o*4s0cE g~q4 #H$Ҏ#/ѸW$}H8\20㰄Rmcdj2Tͽ+o 7 DO l|_ɞ-?b~;ks.R"Rx0+߀7QJd& Ystjyg#f$I6z{Ԑ~z,5ıUHd =GЫ!c*಼7@i70CVՆ{o0$JL$x, ͱ#WBBIDW$بԾm¤4<=Mk4.J'UDvk߱y9ciS ỉ%s gt<# RWN־ :vwY^W{7:?{QM - .et`p%׬I 6}Yr[֤l؊MHxY=q fⱹQ!>-SK-0Q$]ϙ tQɱG_7h4;fzaz #Hb]+*TUeUtTi=€5dfW=ӏ[UL! ״wsM ߇H$aa(a㊔pQ~zVnf&o^ߨ)8VMP,]z($ÉH`a |1Y5Y.p:`lK].׷SGpGaI 'sVa9\Gt.di ȜUmw!u;U.DU%]2t4lBq%Yi!;өDOMy(;P٤:6->*:UJ!KAht=Ezb#gxឰThI.0Gӝ/EX ԑ ;Hb߂fzzFq,lJm400dPfiWo6<(*T[KvM ZzNÓ] {eDz'Sṫ=MN)=KXMn6ZQ]ځj䔮  z?-!iηe0VH9w{X&m*!TIRa'jD>~SwAD&{HwۆD³ДC4 4<B>Z 8TZ|TԲ"Yw:iW9~Q-H'ڇPkYE4|^Wq *834 E\}фG}d0}*n–(VnaX>#WTB]b)'7x,"؛,󁋕܆ueQĠgSg!,&2fXnd b80FgMIև\e1wL<5*,suA^[eZpmNBբPЊDCi <1qkjZ?bPcۛf'+ zOV=XeglɣVx}Opa67Ōoaǡހ ;1ds&0Ւ9lN^MpqEsNeD^n4P`s Zh3e<9e6k5hQ19WrHB9#Lkta^MŜ0m, ?@#4t)ftNT'.Sߢf㭔Wt},iH?_C`H WۊL>( P~Y'"r1>.ԁdݎ Jsqޞ±ݰj/ش0݉tts %bPYGhWϳ^$"<\B<}SG ".6N So ]PW1qb5N1nlPqUԂ :("]UID0>SЧ6r 'm}jO^L `#VGfOOI dil őiup >[A{Iw >(b ZW#k3ݴ&R=3#@#RVvAÔns6\ފmH# vd4ui vڑE>ំZ JD(F؆ "85U__KÅr7 `RXn |AG٫+*=)$) NPuwn~-3u6*Ic:DQi%q `LF$H,¦" Ȓ9{ o6+92(PBcOŌ+ uғ!\ӅBуR ufTԯJ煛>oKvC ^I6+a㟖 zJJۀ6,)#)nݘS汧֭?;=p6j#؊3f@X7+sw LNĀ؁N1X"J׷@ZQ4؈ߞF17ą'P_#5ۭLr$YQl@jUfK]GڱVre3ϙMofB2hѡ#i;K4kh xGy R4W wqg H0"b{1<`elR .t[͂d.T]>%voX#4G8jLCvϭĬ{SĹmGO.!!bkmQ~jPhv>R pv{OXuxs'a]̉ Ne1)ݝk5z ~l˃L9kH8` o0PB :DBtyڐ¼&.mP~DTK_}+n7N}Ne1 ܌kUؒdPߚw8`G)^'a)—Mibi&䌙oe5 Y&;&L'jαd;MRyѬ\8ӯe۲$I4"WBl)ʭqE b}'q&m۲ *R9-Q|g$4*}}j@;Zurz,Tjl\773F}B)%K|p4MQXos!El dIhnjdEO^X[0 @?ͱRņ`CXC9-E҃) 1'ѭ&LG7\G Vi@>e-Q*%z~Z߲5(P+L1Z*UJR!}9#Ӯ1b@`|[)bᜠW֒)1ҭ`L!~PYhM ]ɴb˲.SsV;CQx<3n *۴yZێ]f7frK.fS-כaF8]W5#R8PdփO)ZH* |TH]>6 t;u-}5 5fĤ*WM'==)g-W͖mE߶6 sW9x &‹{M?n+6w #ۏO&1ӂeNJf+h=--<. yq܇f-^4s_~9V}_!@$#$s 솼CD2v+ 4igo[fo5Tl S˂6銀volpjܳ;8YG br@sH$D-h?Dִ؋Y;pcjҀWOR(k%OIP}cůs~tgLlAeif)>}#K#{^{Y+<}c֠ "gъC_$ %x˦BkfG{#4tDr"^pIu丧XnYRr]04p4֔wwT%iIrT9ʚB04 7isS?p'T U% +CMIx!j8\З. LlN?cђVurB  ,!zN4LS&=\н f[E{%¹+'Jp"xSx2Ckb ӲA~i<L_!J' yL%Lv-gSI,ί: ص`H3+3T+EUe_lBM|+*yJM ! ux C4um݁d„9^w&Ws=Dr6`ĊdApQOʫu\_d -^lWr}}F!pX?±A$yZxZ/[ UOs#Yksȿ XjE-_3rmtzW_ dPXPOUFtԣܜ&o53Q6c0jI3Ȱa*F& &5a?5?\N s3l]Tط#/wb3h .50S~CAE0DBYۙ*)Ue +ℙjyW(IpiDu(9\/4*6XJ~13Ϝ]X]언О:$dGz4eeG9/̷40{5ڍei^KApT!KJ:z3ձ }D(~ʙK9] B+jkOh~VrMFlg,؍n,ҩmZ>"Ge^ʡ[86H{1A yB{+ܺ S.j'MNib9EL#O0f ]-A,W2dADN|IیH'O6h4Z-Km%6rr|.Cv u?b}QRA<ڦæ=p +q#yURT^X@5 =1#k_?$|nW1&g=?{ ݞo^-ESK-P鶰^LbVox| 0%m ^NxԋTxG%?/S1nx1H U_y1/8G;`,4:D4=q(2ezvEk ;QfĽ.,`MD°Q3#7vS'*% 6 V[ 2^H}K'v lO򴩺KTZӥv[,hj /7Yh.ϭN!黝oV浧ɫtSA XP2/: -[h5=Š+{Kti4:W[vЧPA .Nh'̫cA ))/Mm:}#/x 8+ R>r#4Pnpv{q 4tknHÇjF"U݁1]^?Ķ",-|GVOc+$ +PVuEh2~z׈^ADE0I<9YG>bch'JPH:ƾ[aGpԊz{ƏauHyNr+ tzW$o&ˉ:8Ub n_nq3zm?:kvPuM:eFM3Eo5Gr8"$\4r0pnBAt} iEۀrJBS\Gm &tqZ!<6䡻q cT.գ8qT5b=rLQe ZnqU{p$ic}c&=(b:x/RAW]cbq%Ra9"R*;JguŪ?vq}ʍ&CZʐnDu-'Wx#yt,LM%L JN0P{Ũ{ڀ@ w&_L8LKk%tj\+49#R1bsWjZw|DBUOYܰF[f렃9 MYyof`J]A(߸֬yͣI+4&>ѯF!KTy5ug rlLWu`GWXT!t:nD+x1t~9~SF2ǠqmP24'b5JHԅ5\K-m73L%k|Bx?˶oʓ`'J"غ O12Ը*$ '9\7͹]8 Cotb1GDgp6c,2=[kbX$^KIu}vZdAWl ^Y0s dM`q){#IA>6Y6q ({\  d\8OBʾ̉߭0G*&k"qu8Эy͕k.j !齾c*lJ7i :Dh4ͻ'rƯߵ`{t3Nk/O?k8x Faю l<ǁ211Y-YVp#N6Q]E!`5#a  8N$< x#$~&.:A`{(!l M9)U!~5%n[%My1B,o-y>*֦,M `8h U?9njtg_bj ay[D%yNuYˢk6`Y&6,CMYGg2>i2 XUS)wK]X5ˣz儁, p'i$,Bst 9rS2߀f).ʀ&[^̼OgcgVU[9))I(S:!@2%y0EN89ia뿹fbNv)G"\Р@W5+gN}7`=)| ݇e헨]c@ XQ-Ř DWъ_0{OK_/{ 幾TDF9~(Y\^fB0yOʼn߱2zouN ³a(59#1'r۶nX1?(衾ՀsqEI[*uIz94x>Y ?m>GО*/_p>dX:Yt&v&!zs#%4Cb]`h& p\ֻoqk:BGlh1CK7*-TEWQپ:iXBW^H&-LzzZI7b=^ *wq3V嗈e4f8Ѓ. "Z̋tDܷa]^xp\`,8cUJ5`TK I|deـՊ.j+-3MqR%nڻpQ2at$2-}g+cI|S Fj\0):ɏ6+v Xn #g1$G&ZF~n"~0YZRiE T8oL8S%W%zAV\#m_kZ=ǔ!D?w&L ݒEDt>At.Dݗ>-qad;(l+BOذ((X ' km (aV<-UOwtm+ꊶ0ְI*m`j :76p았Kax)NiBEz|Q J9TTU * ѻq1]Prv^2$|t%#`qT?Ý& 3ǜ: H#gB+yWvi:6pP)SS]Ob~3l|uUvk֌{0cg6Q|g(.)!4}5`vQXV{fv GyF.5's׍]a=_¢t r1LcI#d 2ɸE lS.[w'[-%-<Ҋ65_tי{Qݐ,h˹| >s0! TJ +I+gv#}4sb)bPM옺@~וjYf"ɣ/[>@_~M۔%;U^5`zK36flKn<xȯK3k`4+ɚ7b83X ;5; b*(ls b!F;IF _ub q. "n`︄AJx() h] ͤܺD\x P1曲~ %'/9Վ(tm,x8pIi kf|fƞعeVX5cK¦;eohˇ[q$ic?^̛u4M`@ ./PSǁtPo07w;eR*ٓjwk |wV}pTfA4. XYԕm|1ᡣ*y^ȳ'J_Db;QEIb>Er@U.ӞJ %UbtfckLbnI-G"?͂B19jJlYT`` [ԘhWcLfEr5hη+ӢW[b3%|t㍸IPzQ)VG9Ή #VeHxF w@^f/?|oD]!M6[Z|i?W@MM=w}puVb)B˟ K ntPbrMRb ,'-AK=gqbS|vޠ h xَr^o+YԺF[2u9hŗr4ҳiv_Z f]"2-(B9W$|qKi8I?SfD86q*]ΊƓ'GUL0d״xS.z@ч\Y:!G"@܌|2k}v%3҅O&eb3Xvb:0W0SjX߾{˩BlpP$ Fie&\v|2"x9辰l$yYH_s nr /v\LP:=+H>}UgV0j4Ž Lrl/c)*/R6kE Qed=r5%wSKN坢BMt! Z&= " bhZA=BfUl|0=TRGL}Wk(cN8<[dCAD݆0JXj z(AiTKk!$%i{oַ[:ϗQpʑZ hOz} ?IGE-5X -y*g*^# >6 TI&&&XĚK& Bb 5Aa@5!k`?t{+T_>"Qh'BX. e\ 0'd0F%Fj[̛q6T'MaAޝK#KyIx82bHE,YMB$=.iR+N9 GZ[yq^Xc{eP+Y緪@!w`\]<) 9\ 6 vsj"rX5M>j}T,u[`,9(!G? ȶsp0?wHz~o4 ~DՂmrf1;(/C3]~d_ӏX-Sy>'z͸",Ӑ޳*Z7w: 94z8t\쨇ک¯WS^%JxD^s1Be|T&Jߕ|UOy⪬3Bmx\X ͞cpb;S=tO7R݋.nTvaވ6g _q.RXσ^! ZY;$6vzSF d`h >Dju`g00?9u 2.$p]@E>Dc$;^uL}ǚ]ѿD6D(Tr~}+2đ"/._\&do(I2*NR]CAyvt$PFA#>&SՁ?|a mAAZr-WBj~NcIxmygu^Oq8z5BB(khTᮥ)Ky,! o~YHwD~amPVL.ǣnFȮdK;|Lx oa7N}stjyUjMV$&IKbrb߃=$$tAV=t 톑mr57-&\__4+# niUx*;(iA"m^9,1w!;K>}[ш@ulz KGnkAr{ȁ^!ˋ{h5n?$$G6oɽjx7OLYiJ12d&2Ifn'\{'dJK&v-88 W)]P~)f4,fr17*&iVOV.|*w`UQDM # '%yTzݱypEXTGX dX按 A9H,kp +S͑@ERAs" ;|&DZq!;BHOF3HOَN?.̹9Dv/w==Vm[n}0jr7St/ :~QTTlsᖁz\R4Ov˩ GKU*k.3ӥ*#و;[$bF !+r|{S wZ c GF7d*0 0Zvd'_DYY# ;i9w٤݆!)PVH j)gVb;oEUC.d&SESKanj#72nп{ U.Kzn.[Ve6w h0qt;{<,3F0Tqb IX +2"puiTq6`]%%K$BrqFDڞ,SsцV[Wu 7x39W|Kgs@Dt UqC1 \xB'*du,ɾJyRNdnޏ0Qao3`ˢd^dTҗ3@(ld>2[#Ie0kCwXe'իQkfPSѴ]%1xB!Q68iaxgv}uGB2=IQ30TćLB2v! #xМt.15N8ǵI8"*NX*?[Ylfau05"w| S?MҊ2iC"rV̛hlK<g1QY{w izޓ9@A`5 zs` ZzFcAGXz U~-|u2FD9evUN&5_f ] px(%ї0%xFcOl"KuNRAvfsOsZ3*JY+r%%=Dp WgQ(:[7"Z Y2I%ä`YgX,]ns6/x:'P)o>Z"/ 8,6q&AP@n\S𳩂 ak;}oԛ벂@ӵ~ ekxh9rpp:KR^)a 6yޚ`1/::5^/P,s˧7:V2AAՐvH Gt6)T)W%e4?pBm"SbE7;Jl up9lnŜ KRJ / ^UwFRS!v{˱|-Nd(X< ܤ|WV~{?Q7uʿHםC-CLwRD6*h\#="-&I o9* ޅwOP'J ^xqceF""toRE!Mxy1yhD? )lٯ~ gmȮD7:i%f2ǝoP'KnD.F3? S\TgdS}u$L>v/2*M-+eR&EKnQtEj·j*T G8IsgC/.ˉ6<{.aQ}Jg7 Bb!antՁ֋؂ָ#=%Q@-O5]"d+}j'م 8u^UIO4!c+5O~y0"h|w̠؛ط?=Ȓ=&gy jEA<=~x!jcF<ͦZ4{ʚs`Q(5jѹ1vamj%/mnW[6fqtvCem'yL; N8mVKU_\u)UyJNWepFea_W:ʦ (97GSA(@OO=``p6*mo&)LW;ƌuDYD񛞪|Ρ =ILg; s'u&Eyj.aŭOSK>Ժߡ:-yR1;}:-9uɅsB1~['V]Cb#7LÖw >X]4K#[FU,S^'k$@T*!\𣦷T[(4nn P';74+D˛[g22 OU?Z)dmbiaS?O&гQ!SK[{bXe. #? ׍JsηX)>r>rUiLp+k k*OfR/?^P +Ŷ˛GVQYl+73%|ޫhPuzl^O]psk=>/~IPỵIшMEIM=0J !-[O w">io;8 i!З;IS+_Cf`R^gOQ`?9=N1 1j{XIE((hNgg Yw[UI21Z:OshWhR+;vɴ l6QC!s,;$#eGOTM fb']$x&Dteq#?~Xk8m+Nܰ⏂~<.ZsDPɬ&?1(R:am}Vf|bm9C|<y|v) Nث#@WtEq r]Jmp/5WSxkڍt+g>0}](Px=VL(%Κt?!Z$1jި[qLߊtae)aS#Z&33Yn'mb:[o!k`6DQ~t~51 Zy`Lz*!Ѫ !5r^q؉"sOR&mo f?CB⛩x M j=㔘J[,V9uH'?1%% t̋8L -K čaS4cAD[_Q,O̼ "S] w_#Yt˹Ir x@ɕһBn P ]L"+FFTz5׊F5cdV>@ Vd(PazKrQw1b}I{G#Ԟ]-gt- L0>Ry%0We5a}F@jSG^m=?^2ZO{3Z,)Ђy!F-i5*B^֨Kb+8)L59Fw֬++eqí^ fq? Pa~? !ח9/"fmOp;)쬚 )'OVM#)\4/.U}by-cg!hf@!7fOzO潾ry(Da9)"4"`KMMTgghHcTHtABvSDJ4 <ꦾYR¿.0b-Y)X2V<pdbmg z [>Lp9н|*jڊT H{=3'hcR\{6:@ (tv6|#YX$c|nrjᲙݭ i+"LolV3O nD?0/-]3| 2hca^9C$[YJ m )XBB{ +|HlZ%i,\~@_܇YK!5"v' ALNx=Ghߠ+S܋KJľɐkW!Ůx0/DXsp+"YX6)Xvuk.H*q.GQWO\ /;i&2'·]ÒHLS0D1Ig_]ȥ\㴱PdKX 8PEXC4]T76EHнϱbxp,lCP@KҤj ͈UF&z_kC h4 `~0]K]L5?b"+4“sI gHP-yn:.{I9n[|ߕޓ Z(*Ҵ#W"蘒١fH\=fi,+o⠼s[fяf!^H$Ol[K1Z;KKQLg@2h_>:b}_ @?bxm(8W0y;ܯ2uSʆM:5XCNėOᩭ0qD2RHHgL%?d-WF hDݢgIj2t$X`e7 RUtEM92gޥ`WH]:'I-zYɸR'"(/&s )AD34W| CέAe廣#q8[gij6V3~d%FJ@)+{CG^\Z%7y_K->YO өÿ?zԤ9y_lb{پΧ 8لBNņM$Gek<_ŷ: a.CYw9GZq0 4bx!:Eh8]noZ0.1XH|\=GG4/$;3vAm{Vu ᅵ}:=`a~jYlYvGxmE@?wK=^j"q R,TB)ߞ9!PG8}t?k{ll)r#lKtb(f^TU';a%8Bz^!3>`[OC>에9qp, 6RQŦM aϟĩ*ڬx?d=PE@!c*P<"-m k3|ԷKL:hfT殊&/<"PMh0i@+1my|$1Uy *co1&jݦDRb+(O)F'FXQbԿSݥ^qΤ$L#rmQ hڃ͵=&DsQ^f 5FeIl=JΐhdЃ,ks&Vo]6fH=c0ѝiHxǞz `#f=@Kp15OP.Gx-hJfUjps B 㮽nio9@ cy\Fimf0ˬѸL{H 69(--y2 3>mq4."Ƀ%fep|*"csҸBfJT)>t%+}aP63$Α¹<{_ G).1O/ЫzC:`9(VB*BUu| go[GD%7gr3'ï{Wk !Y?՘ئ=7x_<*@X(㒇)n{KmHl9ZՔ;h[U} pK p4қ`{)xc2">V bXΓ)f.at) 2'O7Q@mb < /=Ƒ1@2(C?P? j˰0c^f Hu3ᒋB2׷yM Ӿ4wjlqzUNCZ qL'.ZVʧ1wCάIи] X ۍW 2IYcɸWF7s@R#4CC4Ė4VÇFg ^g $Ng曓+wjL?B_ݶԍ<s Cw\FݸC@::PgEwFw=jIobZ]'a³ V%8f {TUhb][s/Tukڸ GK?n3\~\pwPT`$NO9, c%-ʋE={ ƀIV<Q?pm*ȺU}pN֧=)#MǘsI?C*esaˇϳL|"Q.L <|Q(@pT$ vnY'~o߉`tg=t7%ZLLTBoQ.ˡ@42`zk`ԅXO^fN燨sw\Y uLSWCb`>1ֿyhh:yze))*i{UQ<#dF E1Aԑ*xgX!_]5zGUa+)[pPSaTمr;Bf*7>f*T@o J( pI(YT5zNsC$[m/_eiQ)5>*H#I^Y_ˑցF>02DhATS`+Ɍ̐}s7tUr‹4KFz`TO#H1j1uLe3!vJǃ OUMQ>&׭nK_XVA,\H:.pRja`۝j+jTOikgT3p&J< bͰ* P1\[ zϢt%5'u?kLFd2W݅ݍЁ T eܴnQk0QY ѭM_)-{j%UueQ?9]XMhgjIK$r,@> !!oj:Z?d6Ʈ[t^w0GEor"Aǜ>ϼp}.1 Yv\^D> `WfVC9]S+DbLv eYɝZv盉*^Wj=ݩhD;0d%&XhQWEg Ŗni?L6yҸP5ru 1! ά51r6n3'8A=Qzlf;wovpĢމOEe+V>S$q(^pT]STgQ $ϛ(Y[\̍RO4=[{$IeuBfq0)Ұ=28M>A@5&I9Xs<ٍ\%x+Tmˍ#խ2ia!"Jˤ?$Ypa98G2,mêcUlwm@Vp*U`'פAVP,AHwH)' _u~,>gULXlJWuΡd5ԯ"cj8^J0E@\Kp,}'Kg_ty%+p:M޸\kbܟ1V/.瀈u]' F|ɥ@cϡļ3NGw?=7D},Fq$o#Jf[gBuUl5 cP)8}P+C*_/G> ㈲zo/g ’Cͮ.썫'"x*q)tWQ;X\voʀiV3X͓=Sv#VaTLl~>B$XP˝ldmYtkQN`8>oXw(a+bm+%K@LZqE+ǯ`Y8ۊ8ȫfYN6aٴffWq1)7\[S}#WD!L_R-XB{D3U y~ gI`%`kRyWOM#n! Hr||`wiXNP&_w+ zXOL7jT6bMixUQ^| >W?Gىv/cYv~ ]$7Eg`0sg6ImAvA¯5bjY6 RL̝ykT`|kKB7 YBk}wF&,\=ߛySV~7.t'H|֑(2evEضt}-^.WG\u;$l&W&SNf)vʡ Cr_s)ifrY']Z,Nl,]ŋ3[Cp?![ CϤƊO LY%wZ=>(ìǿ$3IcjPďsvwH{|cu_` U YNl=L$KIƯKỲbCdNIƫSRpT{Wb5Q KZwbApfCژ>:͸ BZG\⠝y'sL?Ϯ#Sxzb7h}B./@hJ7qx(-pb#vF7e/Ù$kG]x.Ё_/!d]8Bd8tfOEVsZdqBv.Ur8cLK2@ܫ.;ygؙ4$`(`$<.@VL9*W31_5(ٜ`ԥ@3Ɠq*%;[Ѣ U:lLl&;HgUPe27Cw|qݾn Y\J};6FyrF=c>hQB[UC;ٺL&s!n'q+$A{P^`U^?s!Qҭq(*? >S]V|pzE% uyDNe X͊4 %JVEmMϵIˆ\S} me\ӕ(Ɗ Pox~h&ڟXR.ܙHG),0n2f$v@u¼,;PmAEo=<\-!kS#~ڐуq*ʦمz)bη7^j7>]o50/0|U22wټ")ZhV ˝cCE{y,y)KH8eYav0HkT&F0P|p˦BS 3 Ł*ib&? zg86uBt.~`J./W^K(+^2C+W{2fF{z:<3a`=5m_{CyEǡW3 S^p Zhv}o~4O D۲|@ވ.M CW>6}fMEMw]!A%vz3C2_>$],-0 :0GөY&(|"?  yR q#,8hMvumR+`D+R5r~-Z=hk@{)dS$=CV*YPuLO*A- J9dTU Nȯm(4µh) Ί\:p}UGcg:,X Je_ Zg-˰֪IZ8FORip1_YI#p&^ԩ$ }cEM4%XI^k1nڞ1uÞ2R2|-x?|N=Tik _ ]zbY[Fu:E"x}ly timBhL+$$$a=ήG * <Ɂʔ8-qtI؂]:ܭ2aҖ>tÖ#gELF[(2y\ EWqfVp%$.ߦsVto7_|̱n;Z*eYy\\^oFdy|JF.Ǡ4zΆtKͨ6ѭkjթ~,ҕפ0m[ =6̅ZMQtpyXӛtPQK͌҄7PFʯzg`'-S q71tLʏr T .?}D&'bv7՜b|wG1R'Cb zl*n5 ]q' .چ#E#\j}Q 7u"59{m^ʺKæKċM*(L+4G5$t7uˤ"E%c9x%>Ry7Q|WaMW-N:$DnGծq*PXvuWҪ:33(E8'u hGKm& "&Jgw$VU24Q 2fѬU*='93c5y>9IkiK S$%T"udMp:q%ɦCz1^.ĮB54h@_Mȯw~u.lYPYGA3Y' 7i-`ܯ&@Y<&Ƕl{o\ju^5hAć]s~Am&h2BICT;P{Ըhd4"if4$zc΄Lι'Gq"=ƋH#SyOZ隷!/Ih4tAv^sȉ\ 8+~fQi˳b5RlR'^wQH輂09JN:Nջ$/ ()8|i;pEl(aYhrwX] eI06g Dx9Y d]vI/XUO3 W'+~W_.,΍evR#m } @25h.QHqJ*1_෪EG+OG vιl/ʊ࠹29!1n/-6Ltsx0h$/ =+!AMr]o#|t٭)Ԉ'CݧƜf76MgJ,vɅ4aV5u]*)'om`B)k'<$*{J'>^I8K{ӊQ,qџ/R\T;k3óhei4Ri$ɨS#y"ai(Hv?uqC?6&ɮFBg5}[lki7“:_GCD S%ng.>K6U2*/#@4OΔ-3o8M\y;Wyv}}G m.9h'`~,x{CL*տab&NtjחQ܂+T @1mQX MC3O ueqJf+񲃃0TGdo_ǪQ%e_>{@ׁ9Ή|yfGhMLKinrz]=ݸ2V1 G$89Jf`T 1>%Yx-+ />`S;pgz-z8XXHN9#9a9^GLJ# u?&o90eʈM/&B(s0wI @F/eS27;|QJ2}?Rc8l؞@@h `q51gub#u̲Hj<;r5Mb%(D9_7 T y %pW|]4؜FU0>S;E Θv W:gHOz꿰G; N=EdZN!s5+'KWXrsTvk K!Fag%pڲOUpԅZaf-+ @<5O;#5s>J `LHI f< JӰ$^*[Cf8W\UZg3"kllْ_uR̷RhL5طLMVn iw QJŔ:UX},p&"ΎWF,Y3"`jnTaHyEG'33__V;l _M˦+HzD0n:gNγ:,= pwѺ`W[YiRE;)zx 7u)1@W3 3.3$2+eYk 햯O-oR~h*+%>>o$T 1bv?p9Jwh ro:/'4*+4!+y?L)!+3&DlI βKa1ȉu_5\]aKl#[Ja<@rc=y_r3ʕO:?\z.Aqγً^kPNj5jkL6NP{p!j$!S1-_ὤFvd`FUo/J]j3$m?Zdřl$'38E`q̳ QQwUtsl\6xuь19V *轰1H"7nt9= _ɳ `~C i@o }ِk 溸%Ŗ$Z\LZEjF@ayO9}Txh]P13n  ˿/k,zB^W@U7N&jXa#qSF<U=$ҁ ͆ ll|5~WE6Zr*<:e ̬_1JR0*Bs_ 7)3BUW"h\ AB2q lz$g}*1Nr MK>m;0c'1,<0Θ*k>.lT?rvZ5U= 󻩖;kv܈8:^JP̈́9vskjL8 9Vz. +}sVQr5Xvfbs̪63a-j:͸ {K#@[x?) #sh6I̭,?Գv\כP />] hXFt6Z{yM/ f=?B[J|cS?  ۾w{jN!#1suE6ԋ=&uʴm]>oSwȟ#jx7 z(Ƃ90]A[O$ֲXL iL*q-s[ArN6 Л+yD 0ƇD}tƣF[qJ*1m#@݈0ϖe_!YݮJї;jVU1>uQ O[u’}(`zUݬ3kyp0v|}#ܖ.kQ%2/YB vΕS[U #?8Xxi*};f*Mv]x2ۀР(Rrv]p۞׀4 "lLPv$Dv&<߯kA6?.\󒛶IFσ4fI|4탦^ 'EH t}/u#T r\ԙt!:2ӗswJٰeɪ*ݸқ;FM 1ߟ1=QDRPV|.%0Dݒ[(KtdX_zT0~(ֵ?ۥ~ #˵`[M'H~;h:$nFK=gr}E#FMsVY>ad@MZZ"n4yX|vUE>)x)3 5,\X(/uj>Z]K5< ƄÿUh>qF[E!F&NoŌd`R1 ()wul͑)fB. 58Zvcs >)n| J2Bɢ~7oSҀ.}1;ᏯͦjXCE- Ո~0 f_r:Q†#C8t hqn`Ba@ y\5\$sv,ވNO$j@[WG~t=r:G i&u ZQ^3Y=U J2֒O${q7p2#filďYMI2̠\=$',>ҹ:ێ޿6u/DgTyd&c3sg)e*lhx{xM$S5YD 9-ߣi>Z&0lж^5,y什y@_*5Y7-we!{&RUH4PIy~-~;D{k~s'pMW0kuM: <Mm%1ɋrt,TTp:bzΓ*T qE5.Bmm{5[nu.R΂V]-T@Bw>9x/2Jl԰T3Oȥ_?2݆"o8f!m-9UʹBDR4|]M~@k| ČĨUHF6ocQ qwg1V{5jђzgjyɓ@S ~ rM:4^ܶwu{]mazp}‡ހqp!"UgYV1;wz(urdA`blA!@v9!䶒mC5g6R~Y޳Y!"L<ݵaf/Hp*:.;|V[3ɄP/]C GHy%ˡ]m#Pړ_\l\d2*H2goK[rPLetcZYyEI{OF<s,yQ\Y=MOWiKuu;ju}]uA%T|N!zR'p[=#C& O KY>=!l1ch7`r|)HHrLgm*#ʶYJ/ ]X |\A&>BaF&" ly2TlGZs#6N%9Mpu `aqR'!L>>CnD}/c#4cL“*-G۞6Z:_5qm;fZe[Wq.:++P aBZUlOZ<ƢPG*Gy JEVthW 7-b"U%//Zt6#+dmsHboZVv`b$ߔ BKaOG&8! \mLC϶"jJIDhQdF@ w-k)Ƴ8ҶV7ֲiϸ[;%E rr@5zKv4Z pd$P=%&hlyd;lǒ 4sPļ wtNԬ\ BʝnI=erE˲֦X -p7PG;0ևClB&2с!aKgJ1hS,XOqo5S:.Zն8\[&wnHvYGĺPC 0t`y{Ң vd gL$ F]%ܶOrh+<$-HNE;}#}ɿ%̽k9PoMJY\,8y2:St`iHc%I {)Ǥu W-6ban=ia*%ܴx`Bu(Fz% v/E*fl%k$R׷&4$Êʴ$|sT CC{3`!|gtW(l>y2Xk"OpdM43 ?.޹{I}(lڭ-Ɠؿ?h%y]@I l8v^/@ÇԈM0$6З FDu£J? D֛4049$H̬p"Ww4MQCOk5PLtT q"P'H,iô7MĔZn=[&j^D9FZ;n-J m%l,qc[7n3R$H<Ǿ3T 3U!f%Ow6L\shxbtM9o^/>,[S ~":zS/;OU"wz*yixMϡKIֵj*F3ov't[~?X ݃HKx =gc7IE3 7Pqa!c'~Яs" c2"}'Si7# Ye`&KZ3]@x2s{<ɜz9eUzIϳf-+/3?O˴xZߗ!N1y܄;Ťye9MׁBwj6]gl47[:@-(lQ> ?e>}vczxEU-"X4Y/كQ] ƒA'L6ߩxUbm<@ĸyR+/gH[5ne"XWpHMފ!K+,Ztzme [qpuUdZk<˧{գ76r|p6ӓAAلyR"i^OS_Kl~9v̴XdaBgZ ĚDÔ:ҋE>SYr -a2sMoAgY[ī0MnqIURtW-.`$}45m"Q.}'bZpO]Pqxj-2FQ-0zDtwb" uX+Rb& 25E\]̒ScS*uKP{k|HD"Pr5@˱_/ؠ+QD(:MqfwTZqi̝<-WBfZ L(F^F#WO3wyO(oV^*rxpUQ)i/V^e>ZP VxTlCl':j`2~i޼} 6=ߩG-PheJtLAl/5;md;@Jc,5I ע[XH6׏vқ܀d^4#Tk@% WP9]rKk+;Lg |A[>j\FoS!׃]^=BLm+?z,[_qTkN,n Cy~5\yrGpfl쥏21EK*>TQ}.YGyO@>d_Z<-FKhT%2\W"dnvl@ZAJ#4fbӺƪFHuazT50wjKra/wk82x78!ʦ~ƐFgnjuؓŐ`Wqړ8Zu'~#L8L`+o}Ńv9>-Xꗽ6 }=50\zGw맏dF)bkލtu QB11qRB="ğk>#Ys cW7+~2jE^[wsn6I*joiS 8}=s'(!i߯Ó@++1ky®WPXBduB} &4wA9 _e_u,7cu[#N7&d[)v:NMYѮ!IƟlI10R 2I,.Jo5c/b_+^h^jέpufN ۪Ch"T+4]oz%Js) E4\F3t.,?O)b*ZbF嬔>hWHL j8N/ߟ[ n:rcɭn%(} v1PZJe<܈a%]_0<Ŝ1Ņzy!(IÙg.h QYmHx1˶VfAE][*8~KpУAZ(y@@N.mP?/%Fi2?7^z :9r+llr;Л(%kE`ҦJaVs >;Jj`cY12IVv{SFj3QrFքNĔ$lm]lR{b2ƒ"Yܿ7 V{N+. 4́ڛ9$gx>GF(߳3m1W+JbQpt]: s1LHMN}NWtc]z]48Dgb{2v@{m{g _0ގd me$nS1DngTIdpAd(}2^%$<9l<6M[grwFC|>:6Ƕ$^i?Q;p\՝7OQ$$칂wU`_f1}kxUf-'u牮A-#o8Y 4o3/ؔeH6o)C!($N,30FQ`|8\'TzuQQ8jtUش#RJƣV~v~GΠ(FG8_ C5 lQ v_,입T JJ~ BѲGJ;cTY?}Pz]DZhnVfcŻ/̱v> : @S&,9juaL Z8cE=ogo#l-"lgUL dhe p9 Ͽf*P=[%WުX[pIuW~1x'x] eB53(m؉<2ƲU"]ACY힥ODFC,hiȵ(h@ \9,d-ՑЫﯪr Nua KF .Z:;jEh?|GZ];lZ=m'aɘ`~iЬX64/"J+Q}5$.8Mvi0<{<&va}y|D6BSLz4?{M(Duљ[06 f\yB.H)q􀠨X02%twGq/~ m!eg+J=Im y% !F;&(Ikm?WS60cI_f=ua((Ux쒗nPgPώH4#O\Iy` -syUZ8iPEk|bذx +A|U~f ) ^e#|<_qV-ej}f+c)$,5uh[-&E??al&tlżB!3ASau]De"5,nbL(p n&oBȠg~@R1X> B̜Ȁ nج: TԞ~Q#!45>ПCt1qz] NzN߱khfaۑZu|-fS,ɔӶ/H:c/pVS8l F{sUכ )x{?Ç#i٢YH]KNmՐ|6e1Fdl@c-bj2>Xɘ~L,e!Y%.~mTz\MrZ(-GRUFIt]_Use/Ki*^UJj2z}׎ BnM"C{9R`؅[%>|L`"pSo7/BaOAZ?vdIp6[e n`/ibUgޯf\q?߫B14-U߼nVvcbw=s&x'mߵn!hrF䬭qX>ѱ_1DWk:S R;񦕷_~oUIFw{>KZ{8x̃_#fa le=:UJՄ7}` ?-}_c SZVJHB^iF L]TpKoq,+ ').,-AmN|6x"D2st$QPrrhj$]eJBMu"ImRe:7:~P]0Pq%1y,s17uסߛ&mM+ Fѳ<o%gMK%+tgF lԙ4C+Ɗ( $6ML*([ ,-=W;&b:QO"1HPnNYHbozU"+l+E5gPM⇺7RcN3n%yd)GOưJ=i^F;XAbF @@3WC@r_|~ (K3ۅ3a;b]/>,0χiVWJIdgn Ⲅ|9a#$VoqGLэg-?X3PE糪C/GGI5/9kMEQԲtpKBtM>C~q wJq< : ق*XE^B ;;C6\ِ3frh 2ߺ{3#Kǎ .ºhFQ8&H0"fH1pUԘ<CN/֯qhe`V`k bzC@fC: (ڠi*b2kAWHz@B4U A+Ss?^OP5&<{G60EeҼرMnTt;L~_:z' }d(WͲ-0r:Nc%xt3%}`"oN>e s+7xm0 d7+ķi(9a!h݋ Q}/=S#D![s`J}MaP>%Ex͹#Q7> Gx+mK_p7NZ‡꼀E&˪uNdITGNzMZwxUjS}tȀx `h۝Co8A2MUn&$*\8`#[x2"Ύַ`|6/^NG&ǎ5^G2pЗaw:W;d-$[,O3/=I fML'D}A+.LFL6%- h{Z!7nDL[S'.K-jpM,nbR1 82L+SwERҌ5.R)-[4hSaݗkd })0ޜDLc65XBщHXHߪ/g˜R[W ss9*Dӝl4c(Op8KE)>{!9.OBӇ :Y16.X}өĴArvFFrIV!}ɰ=+LI$2~[eǾ[Z+V"t5/-i2("#$2$kJ5؞Tڙ< ZZ)CD+ٶfc]>ix^%uzL$)DZ/ +;QJsF1w)C;7ZDk'7x#]\X#l!(t 5;EC`Ճ _Unl*[^?ٝr$@Lj[j-6Y\Lޏ5 Lk|Aף"`9XuT=gnjutOb8Z_XTR?'GlEIiR4+@|xy/wk-]H"^Y1/3YJrh4࿇8 °s׆ױzCeMBo!h{, \{3OւӳK@ȽLX7ko]qOB;,UU 8:rU:(1R}B?-]uWoic\:av[=@ԯ{Sr8-T%:ʐ;y`mۍvP,1g.1u [,:^:[J|+Rԣ{Sٷ?57 66o)04!wx[:4Uk vatL̨#DC, 1C*IF:!)|"@ڢmiEH Ikf fƤݛ7!~Y% bvi?"jq'ʸDX?Aj3#Iu ,N.G? S4[G<qV}^ !j}9艀~WK[sGHͥ%!R4gO`q$(\)x]m>Doqhk:T<"0EnOmeŭ$9xJX`H.ơ E,i?.[ENcD}/uX@"9~ژ'7S5ȱ դJ`٧&]yy P52Y;T`Q|G"/8(AC 0QnjW`cLT_%H2V4d&y^h 23}wcPӣjhEKAUf=V"{dAcyY[T>hwaz§z02mWr7dwR|^8:KV_KMC8G NmЯ Tgq W赐|Rגni_UaxD %=%6Ɲ|s2´rqL ytMt<ؽ"bGbF6Bv.ܻo_̅00RǚצlwA5i|ҰT:/*6b8&~OGX۵ ˝=+V vmX 0I0F'q fW1r-0˙ XgES/$}M5Z< gO絣 ̮: RA]j^f0Gg3Q?tk{ J54B6 3jo_/F̾+L5"뀸"A;XRR\^OnyO89T`9Q]MRdza/mQ|qȔyc"f6waR:mp2or%+G'~xvUBз~Xwbbez.#/%RM ;bDW/=,T}֯|6'uF.GtƔvZcZ #R8!)U47=c"nH8,kTdXkVW[⧟6OZreT.3*Olq[5ޫ]IT+K uGV)?e4*)`A-"1=t0Q1rכ>$+YW^# 䢨"O_H5hY&K\L.Oz lz' Q]@2>S8o`\U +Je^#%ҭh1ō.O!=n!zkqeXt_4pACk0-K ;F,>j|$C97;pE@<d)E[]rw\(33U\` H+hW$@dᶺ _k;M_v N+I[|.}0gWyLe;\(MTagK\\5SKӵMXKo굞MƷF[yYҍLA!5dY!7~9>!+ u^ũs֓>w Zg[B8Y9@2ERM&@"8rt*C=dCYŰ1٨'Hv]!d蕻x@ HZdNƯLO5f1NU)GFUםu+2f:$2''ljmڐߣޥdYM`HR,""sTN_Qsi$^ّn@A3ղ1?,0uC mq>1mkA6q/jSTn_pbM~3?;q%!} 䨵)׽  'Ɓq2#$/| Ec'5 A)4Y5x8䀮=svz7zNjLА#w4#'&muх=W:947a@{,ȣA]LGsiO, _?whyXzoXC3gT6yL ,Jj69PXn.87Pj:M8^kf,ρί#)ս( NhT׽*z{Y?\ iI ;I6G|ɔ)2W2?Mf9LEm_4Z:\%pΝ6,'ER,܏3o8p֥\'yy䫳r\! yZ,mFݒ&}-jS~EUܖ"lkQ,Zx9嫁q,l q=LЛeZLni ;Hqmp$i.X".r C;RdLɕGp$Ng*'tAd%_n XspjMSɗDmf,U 2ё;@V$[S$G<56wPQYa_\#%GtT)y3Rh{fŝ>1ੌzIY$ onogp+ǽ\lT$jM7:CfXOYWO9^qcNy$\sUiXɻ ˉy؞_/~t@Svz+!J61@=ÃT JѴB6&#B~IF>?R0q)Tk 0J)fY(xaj0!+ڳ>h}73u 0cb#[ٍ`0]C]b1. IE;WQ?K7 47khGt/rEi <Ӏ<Z"S` O1eۢom;k,C%\oU^j+H9Tn1@%XZU[]Iׄ-rxsZ=GEe_Q`9Lp_Cnh'SU-5>*ڜ+^L!lz @74 >*'bWSm{mɻ U sAEV4ђKqF>hDO7#O[&ym% ?43E վ&]W@˅h(ԧ48n #nG]%C^^H#TB)95.Tȁ9qr1DSa⎵kE28\`ky6߂[Kn7MH mzǶGM}T(Ϧmr ZZDc,NjdזܐW\Vu&]@]OB,Ĵ^]äNe|¸NV/nFf3؏+g`qAZ 18ƨzxq8֙J77 X!SY/f^5c߮}*?=AE', qfi|⒅XBJ*owOA4#[qid uhnxQa22d<QӉQBwgʝ| kZA(Zs3<ÿ>ofy#Wk96$+ 얜3.<_GMr-xeM~ٳNFw:5h)B1 zܖf((1yTO"Ͼle-.w:JF'Tï-@_ywaȿY!I)J}66KF~JȷZ?jQuE{ 0 ,Xn 4Qsj9Ihq4*z@H4!"/u دLȾ9ou둗uQa0jyϱ~crqeH QqC>9ּuCpRYPٗ>hQ@!rr~5lh-TrT_yA'd/yyIx1sɎ­}$JA:LzISQY*~Dސ·?]GD+D`f {Nn97)6@ c%OZx¡f壵PjB]\Yƿ+C8%3Ul}ce`}˫^k!L(:Ʈ0&d߭?NFEүQ e{2:v"" M&墂`kVkT0Κdkm%Q;DAq89Zk)Ϛ>kFUٲ$f'@Kr_-AvJwTvb㫸|whzӏNPFr9aFv8}&)jUuozI{H*'X |{(9NIiudUMpegM'ΎֈyQ2#>\*h 6aP{)Jdq*E[KFg!%: 4sy1#f"Ho8LM@#yI~FXfWݮM`,9rϺtpO9lJ⸟! P5 %c"dl]^䍂@mkl:p zf|x]^MHgfivq~\5-VxS~d'\Td/.ۻ+3.,AYɈFWkINr 6&aww[t I4`*'4,Abhd5P$A8l1*ڼ/##t GR/[v3=O]꿨„p*r8k(ŌCJEGB|MQy~D00']t *Bx8?4dIx m5i~u^lkJ} sTXVj=<|f6l0em([?4L?vuԜ e8C4k`& [ o/HPB69uUd(\> 99o,HuɈGBԿG/* Ctlk\EAbK&e 4v9a LşVuRo4mjRw(hՐ'1<[-[ f5u+rt:M%%Ƣwd 8=-:$wϦ%}$XbK^lA~v1N4o3]חxjV8@7 /"ā S+އͯC Mz$)SKM-S.A8:mk zε Hb 79l-1o{9 y%N`I5WY^$gjt|{Y:NЄHسi77Dt:* {"J-d׀5OOrډl*׃w|lċʏ&k Z::v"G &Df&]xxa]yxB da6 ,J &o݃q9Pǭ"YVR[V(MIo b'/SLJ֜y_ZW (ĸCܘi_R8vS#$d=^&}J?:X."/~ۂ(~S1%_pQe iW"vW}Z?|b)EFpzM=1ןv [Ϡ٧u%硆9Ɗ t6#R9\ /rJγt֯@mld9EiԔ.1_X cv9-gT (q\+JD ?0`j%6?|zW h e88zZʰQiLwΛ\}=0j.DύN,6}^w_vn (X3lOG;v{ř2 _&T{QDOV.)(]7ܩb+ \J81G\~b5׍[Ky*Xo{P Hௐ*`:0JhyqoY)IT!l3h /ׄ6m*S9α}}PyS:~86ASVȰK!>l`4?ibVt`o(*=6䏣 "]EnR6^ t4oKae$~^mU\ Ϥ; X[Z77Q)9#0_#j"_y\JQ*C737Q{GLPZO< '{6Hj B; gt~W$e$]i|eA9ܽmFnڦ(\Q ɞRP}c81$JLTKf(5pט/m=Y#g *FMkJK5qǙ:zY=p[=:ӣspQӛ pjxoΰ1hcB| F8=͡T7l<ޔrL5РAqet&!,L$Fp+*EAWZ]ɮ݁Jov-1}|۔~yBP>`&j9\Ľ KJx;cڻI1J˕p7plˊ' N}ӱ._D%ؚK7ްYY$s?(W-|O7._ڄGZd\Z5/!peY;x$V ABAmD}<|FZAG;dXƌ;GšcBrKݑ?"tL5LɜRjy.VV ɦO{Q%de q'XK旖5)45Xs8%gzC ifd[n4kؑpq#?|ЍT^_LHIIR1څFNO׶.;+$vNU662\a?ᖖ"^l&΁(^)#nJiW.H&sɐ`(W> ^=,+|T̚5A se!6-1GQ 9rMYJz2 !jsE6N\~{[{vQAwA}$>#P5 gB[~`?.kp騉uA* ܳޢ{mdC 1"&O*XB:\1EK0Q12S#0}l@kcL=~VH1[St'ĭ>Ͻ4M@b BpIB?4+iƋ}˜}~AUv##҅ GRE! ~KKgH_;% p F>*obU2 tx_m'Iӯ8ݯjBtfoNw vw4nݛ<ݠ3k CHOׁgZ-3= ̟@ 8؏\ s{?,5& /:Ltp )v˪kmS"FS='Ax53~ɃO.[;9?`ƻji(N80f$7_lʵ|bUc8Gg-p$a[.'y3ea Iء9@ɉ(@ "ϙ=_F25;*bs/3T5wC\)QQj8Oy, IE*lMx[6wc+ $N@P9]R;t[]+p1yĮ%_w )EU1vo̸-ez ̭phRjg ^wGuk~:B8 oe~ \(vZsm  T^ziHg<(Dnɷvoa:PM=(P}pm'hTZ%۲>?46P OHv kgB Py>q9P - q 'h?%jDߝbٿD<8 /ǵ4h7`xQUb5#4oMh,dcJ6Q+eC,;. 3s ?<`6gT@ s+ M1 <~Z7 kMʚfqoO&v@ƹȥ5d1z#ddlu+yE3ŞHlPF*N?oC]GmhygǏt{˥[Ua?h)6*BoW2;&Xc;u6`?ǵA(O.TV9wUƦsjH'+aI:(m6^Z_sqҕ/.T Xl`N"y-XQMmQ45)QClSZ&G>sھES ‘p BlًcRЩw_`p+΁ӘS[:\ЗHHL&>Q{bDIN/Xuoλ!2(#f+= qm)K` >쟡~G h&3ka[4L >v\ݫ)KQ@UY53wL35 L<>[;ֶ oIOMi'-fpvōk *_ OEVN(,;v]+ '|;6N_jc>@]ͳ@P[o.uwHu^U>!EZ k<~G[lI]lz|D%F!V`8oY&6+ܝEs1?ItPr!I#kUQ݇ׯ$`ņgtbRȏmi#%Xmn|4/-Hb4]1h`fH'ty.1l"?B?oBVjJ^֡vua3Mµ|KwoDïM7 >=ұ״LFzL#h _xBwrNkCR&g%W6|Rlߵ-|{Ap>G żSO1iiٌ p$1vͥ `o!X>AZ 1}u!Zs#֠;}*=FC9"ۋQ[ܱq~wgup܄f=@.}v`LcZqJ^ Iû%/98&1m,coȻXaMl!3ے߷vHU?Fd07A! !$ŔtŞ7XE*rQ$ o`|GQ;VgĔpCM[ȔEjuU}`?T|yմco#HV'qe::W"W\YmiOouf$;n3E].JU@`zμsBƌj]E^H66JGLX'ej b氈NK˒/F@G_Zd,G4/;S wvڤiÁw\w.lF0" A\*i"´͕276S75ys˯^aYbAKCL\_$h=5}{'覑tY'~sA{(⅌\r//ijT+j:.~5 NǞ!衯~nX@bؤYYbSMAJ8 r!-P ,f)XJrxD\Mfd$zHlb *P5LL :IJ|dTy]6ƿV*74-9Ev_B0Ѥ WR|W8l*/x:9ε+sTFts:Vz֦"q1@<(Ou3uVF"夗"Ս(p3HclqEIyΥjNj~ıVNv /c13γvv Օn2шx}笀%5I"ښƊR$m-|ZI$N:4cdlaj7$?]^7m= d%!,j(`,(-.'UO7=I*"Hu5_7] G0dw5Ԏ`Q@j`a)>[8za稝2U^Mަ?#ϣ: 4gCL3#0jjA᣻jAp-9iy2%GWfVִYOK4^ٿk֦hC &y H #>(i$A2@ *K34l bxH]uޮt=ʒ`QHGINahk:D @R[WvʽnMb{.F8 > (9Ju]=R [Bٗ)j^EQ֛ig'ɐ1W%nƟ0lHLz?R`s:㉖ `FqZچsq{=,g/Аe>+3|"g@X8' 4fߋ.kpc*|-#g RuO1O1*ٲFJBX 3ۙUj"&1"TOF7 }@ q:v뿍w(`=DF|ٛLpqvF@&X%\4!Ή(gJO@-_0<ǽ9&8Ѧt6jp ?F^{.dOVc ݹ@Dh50S"`q%*|ӧX$:>AkaM)C\S{ =& PG1d=rH;ޤ\nxA5W?9]85B ,*,_o>`<-.1ʿgd5a`H0V[i`  ? ޴Ϝ`-ǐm:C9GxQ1+`ۢ.ldI;0`[[Z͸>J_ɦA@u01},k,yW4 ƱVv>^sC=-+mmH|4o25qk[p|.ȋګqO\$TN@?V֨7 76|"zLѸ{'2*犭?L_b?A+ jŖmJxa4l#2;bH 뺉oWqYpʳO>{m"(\²#vRAUErmhYɍË!ñ {)f *WvX{)(}+/A*9xӠJ(`[6j s6`հś1BNQڮD)_z"zio{rЂǘ.-C>€4/><۰[~ $R,e258ĜoY4!-[@&5u0#xA:Yk_3YnOrX]U Rjf ~j=5R1M}$v5~~$Hrs?c!&ۦ&gfd &!A{ \?~ڗ#! kmhq$B4#juT>{Xy) :)5>M:}zJoW^sG}!! Yo|jR5zРK0VT6y `1?*VyqԜj#f b|<9 wk@\q 8 2dSXK_z@gqˠ<jk9s~Ngݎ!ˤw\|۲K~*J.'NCRd`~%6q13Px(D%aS_0v{ L^`ziGٯCߩ1l;|ۑϷ~;io3]2jv!q"0Az7Ġ#,TĨ8nԢ\$ 1ڌ ]CeW Uz 'HMD /`'S>MC6z  "Y7AU3{'D =yV/h Iq/ca.ܯz(4G|07 (LeDۭ \n_JgW ɐ[4Pٕ> {SwZcC -v2LA֑,f]̦Iռ1DL]|As&wzX|X&ǛZSS8VN<M +<z 1{П/ׅԶTM5a_@1 Z9UdܪEM]q.°$c2XXa(rZlӓBn7δ=&FA-:8un{j ^ c;c YY{i!jK7׳EՑ'R[P ]0jnKSUHh2"_~b(|\ypj F˯^H I*bnvDcW/]!G"BHSAeutV^'}1q?4B(eN$&m 2FqXcL) o(5czYP}]dǰv:N5 O CO- <:ZwM6Z`T'd$ ~G`ei6#AMuR[[{MK~Q[F]c[c`I%`{ F@ԹJ`h.A_]Lڿؼ\*?i42H=2pH҇YD?q`mbΤŀ;hbI0_dCw:.@z,Ȝj 1ӚB/Q *h$BCӭne.bjs1CJ |,BZ0{2z,!NmLLA=ssG5X(R"jኪVyӫWՑXw핃tX?ͬ.h&?nQPjsԥ2}%O6~pV{ϩе5Enb╚ 3N.:3^,JSxߍAA6 5xH"!) dBƏP>C "[DKDA-1$֤ d>am{/m1Ysy8%w'FX~6`{W xIr(FS \* OZ%KAbo_ZUX?.}s4X&h1GJ`l^]Q7P0Qb>ȏ?(@Ikj;XÊ ',}8mNv]W9wB8@wu{NE*xTDi@J!k[BI+KgU0 o_ |`I ~ BLIR@*+$sR )An}35o$~mOx?֐Bp 9,%N)LF^ MI>Źoʓ=1ȊZ?E\5B4n;G$|z2dS^TE+UW'@,ߦLFΘ؛ȿPW,T&VzH߱WW~yVE*M>c*IUa(˸-өb&vz F8)8h)InZ5SLD\M,,.URTfx'ڷC>,Tϔ3/$aN_4_X⫇yѤ *-<rfRvuuɃ_''OSV)tε#c))PI [L{wWm`hgfeQװ\,?]YF:LH#mTjj>/Yn0sIjL8iǛ7S xͪrD:ۛ%I#TcER8ajBcñj;J0g_4d0zXEsrpwؼ}*=|@ d4 5ow:[N$ 'Ũ9kF |ԏ8*tPIN>Dʧ_c)Ʀc -~S-f:Au!{v³B;'*Ȍ`R9nܫNkWEIi9U`~%J ĵF KݴK!J G0S~;еɪ4vq vu$0tgq?̟~+1v1ړUx;/\} 5:>f'o틊F5:D_oPb8i"c[\&!|PQxW@-Ks{o~2ʸ&[z;kpԎa< #WDc#&(ӏl#nX)5&?tCzHvmsi9h3ːwL^B xfs 㠿XOQDh[vڻ2 :hpar[虓"U 5/2M4 avJׂ.V \D{-4K׆ҭry,C[cV -Ibא_h&r^L1 <8m֜n)!`niG u Ѷxpa;.g%q) gR)o&n-AfhѐY⌐ڸO;qz >4"Eѯ yiX,l+*Xh2K-+j 'r7`aDsoVҾ`N,BII9K ^"f`S ev!N={Ȉ-r@qҬ"}jV!8DKLYfp=`XP nXUdൠoO!d;(Yy٘ aSV9ٛYwƵڎmfoӀW r[>$^X)VG1;fKo Z'M:@%I %c<15Js_'*oOmv =ɐ9B0puSuM G卍téVs:\[2P/9$9]eFvĊU2({&IcQu(!\E** "8,)h,$vGҳy/'B.Eq H nPeDg_@>?DS~^l各hGn7r];ݚ`Bi&4j?yָ9SLkYVZ @ؼ4mIatv04:!A)~Sٝ2vn"?q/IB/p*CD QH< m}qK~il*O-,5~m'rItezqo[`xAJ TgVdG%S0-hJ.8jS} aJ-L3 K8`# <|B ;mAMc"WeXLTF4Qvy3n SAf-~qNg *c,N_vl^exƞF^ϫ,fkįB-D|b0uvxo4Z%:ǡŦo^C+z] HqUXF[X(o+룱M# hö-HcR夘##'f˻>e!QYfkcN Acф}(Rtin3{BݗCݑ8ݚt%Q]MKx{*_f$hz fѿR5$s4FQ3 BSeY|E4(eܥ]GD%x}r1$7PkA_7Y(r3f@Ԣ@#%n|k];@C!3Q{Efk 7J{͞}FQS^g3z1]m2=ͅ2cP͒ eMנ@o NW ?R#2L> X'/uN,׷rї<=}:zjLH6BCBfPO/: pĻLBYqkU3 B`b ҙSk Ï-‚>/_q ȾK~M~HQ-Ãvglѡ8%\/T9Rl ;0%/{~y'HӼ>_> Z|}{k֗׹gN4 }Պ G3$E%ɠV_ g R!1fG ^艠 bS:e5x@:5{ڑ,Kwh]+QOKSI#2ݯSCtddqT(I~ϵ`eRCW ay!`km"SB{OkqTuY<@SE[ %03?q2w#Q儶 %Jh|IA곃 {ոkGxEǻmmBL{ ³q܄t0NCC (,i }ZmOƣS>^q8Up^A٪&MW7QS\,O?\dA^ fI8t2|6_CLr&j .>?7,zm:Nhlp *Ei hC:erYV1rFOܪ>=%Hs>Eө!i`[K3}*w5{pi+iOn)aw5XR} =&<֌ғ-'Ƥw`%(*[sӵcI;p:-1w[W0g:ɢn8yzce9͡`B$P G^m}fOr\'ILz:]*-Laܝz1 Z z &ѺhW,K+-gގ[8yZ'_c˱d+0CXTޤu~+%7 Yn1pDYG`LU3*dJ%<\+c B3{g]IE.O,@ F><.;/V;;XB2rJ1nR%o'g.P<Z\˱kfyAV9=5ԁZ/A[/?# +7?m|,N%'l{_~:]Y/t_~AKv=GeCr-uܪ3+IdYa`mUQ3/zq fnt,:|<:$;13[,fLj r4yP){U7_u! V͇,=yr׾Gj́G$$څgO\-YQnp2{ ,(D3 V#D^ _zXatUoOH11 m]woaCxTOrcj3c;Y'c.`pm's~=U.dOR&W9(Љyl`F1AKf"]+Pekѻiz{], -P>Ano0UkAA7 ?>A[(S/AfԨ#,pQrvBa*ԮTwŎH$X㘘w$Me!xYjl[܂+/NBMKOle~2}M0G9ЄiTWtGp TJ8R쮉Jp; _ 53qu0r>?f*N̿Zq^$W ¢߹L!ˇqtSq2P~Pi!"{fc\lv*գMY9\/K7Pnp̂` (5=~;bPG/FM/(z@HM\\Bf~GK} ~u 1!N6mb-,[A* >G8 fX\-]uS핗^8'l ݆`ximNck F< od\Qp[:r/< 1B=_]\z`}R>}]Eƙ~mNۖ ;vL,` +z m~Uv%: a~FYo;U c3IYkx9"#G- a1bZ0w?ӮuDk>˟qak 9"_W;YJ :16F.,ɚ[.:GT"y+_ ^7jGi5ru6S(P^(r'F^\VW&Fmvs9Д2_7d$At^K\RL1y#RBA,3):a ͭ1w7tÙ}-4TkZ]Xʆ9{ 9QRn] }Vگ3 [UKAл.,(Vn1&<(ĞX,ԋ(sC\(mE1~4|#'_28 w»-:u5`{]b"A5{PNER#ml)d>82feǡTH[N5e)q~\^u_8}WW.L|S3 ԃ΀l"xsuob]XbuhV[K&D !/6M64[fm> 1b^hJtf,,Vų6&7TH¡ǚ rZ 3/V\%In .3фʸ1L0ROF(ū93s]1ҽ_;01ehO@<ޞGݱR[ՇNۑ["؆Bk|J#CHT9y_8 r4]t/g잮IIQߛd\/ÓjU ^2K#I_+?s۬Kp+΃A@PPDhŤPZ< f~.w;n;I&O*{=CV䶗T۴{|x;5l Q\,S/]Ao@ v@dWaX-#dLC6nmptPvNIXN&F')Nlo9wnĵ,T4B."\x`~iIVݟ8#;qv AwYbaTb{RF5O֩1b[^ o3 *%VmNSg= >tӎju JK>MmcOČ:h\-4鞄1Ugs0m}E\+ lU%&u&BDu;(")?B:Υ)㚦UՔrlJeR!$SGЂ ktHE^Ǡk~+lzE%d:;Z29QZ$g#~RG rTjF(nF=HS u(gN:Ou3y>wރB ` ϱL =.Ƿ<6m) FӃ"G ,@Q;f#(q}xd8{m vpe20%w{'|-`OhёЉb@NczA{z eҴEmxNC#F/sc?U$guKR4{Vy5e {ă)oEH@+3`HJJ +1+,)TKDGE0@Ns4"#y kVV*uS84+ld6gѰVL -c2,M{@)j!(Ig.?S 6iB>x-u[ cqx5TEϑ"1^(Ҏ}Bչ4f‡&F-:2Mܿp;#LTTrE#lՈDtd xD7s|g^Nz1Z91:ԧj4yQ:{+$.Az Ktl8fc&`9s6̮T;!Z:Z!vwPYVcUih׽yT !P¼@Vەqβ{)G@ŸV76EU{#Z}S5oԷr6M]dJB ?2 p9:F#xI 1jwg fEP]]Η$#{Y"R0 YuW`k6kGbǽUabĩ +;/_oa9Z&Bbz*F*R LyKkE$߰9'+xp/~2dȢĮV!Q" o#Vͷ+!O/7|n/$꒮؏FpT4_v%$[;L ƹJca$imq}O:ub~}ucآ3aY"g0ym]CNk enʊH ƺ> jtiCg"s`:pL2bG$z}Bt)e6bٔh~+q;kCsdR.,"v S{z--S:5;w54၁,pՆxr+NkC{D@*^_[8%~GD)=2foFUX싉NǤcTw N<#3}`JXpVƝ_Cpl_@!cz0NLaꙆJ0B;֕yu$FG"vo?JL@T?v"> uCHb,̰P#  \ #j 2L_\$P!?T >/CÁ؅nk5XVV.ʹk0q%F77g-hD~vnqGu87 ޚYN쳏zml}܎1(`J]+K%j@-%zj0uJZ+ x!j챕^~!+ҼQq",P$2kT=yhjINRO% !SNgM ?0PͰlPH=b6ZEwpKYzҧe%j7&quˣ->tj9M')Q oiE)&SSm`xT:/g{.ZZb7- `K[.j? q9A^[/U8BykJ6})uFƹDh{<Sefn?S{`$?2W 0 2(4fK+󏙇6zWk jt_ >9I$J7YoY#jb0"k"eǵ i *CAPiu-O ̴b7e˧ +;/ k'0\6IM*|}ԧpEO"\Z͹5 [$՚Crao6NqY0ߚy]z$zG:X',vc ѹt"zҝE2+-_3QP -3, ٸ'@~dUw,Xd*59}nA{"?/Tn y'7@{90nUi'HE@3Xҗ)(Ee= }3(/ie J$}aƷ:M_K|;[\$;Uo{Yѻ,bDӽˆ:{O u οT+14yVS/T4!ߞ9]-(Z_Gn!n;r*q͛t$8.KH7z I> "/, 2xpDd>o*$.GEDE.Tg_qV {q*~kْz.n"~ LrF n\SG[ 9*i7<6kȜnX* ĜCI,:c(z3c a_qrI Wʬ%}UJ(&p<6x;{ul kDㆰlw;:H5L!7\h$sqO^%a2wh\ɕ8B %a f̊PTCaWd?ݐˁ=)]yX/7cvIl$D,zy^K#?> t9CS6M3$':K[Iz^űрV05NyL>ڙۇ9b|#YPī󷩾>ominMXE;} dC? 1u[Ε+YGDL8Yp?@*.QS}^g z/Yu}mB;_49Fk"Kf̿Z|qulcG5JLuLDÛ&GMk= 7me>vx->`37|-qoˁAQ{~MN]B2 d3m~0'e\*fc%;ȿO#MVvɁ*Ҥpr ֛+-(4aAR6$TE۔[a!Hr6hÖBcMpY $$G4.&ivUclػSVџ5 ,ߺpI:Z[r|bSЪ&; oҩv̅ *UN}rZdRHA%ʷ<ؔrm,ʾ8 əhKU<dO/N6>1Kt~(f\i[1K)x8v9`[z'Q,~.  H]w9vݴՌp6g{Cq tt @^g;KC<2҆!gS@7`*p?HTcUH hŗ}[c5D_tY-_4.hޢt U<7z+W ]7ʐx&IH.MfIG٠ڴ;_2N$Unݠܧ32I* WlO7o%##i/^0S2wIb%?;K)'ݝmyN}1Q2a0˾?ʹ80IqӆMi~-Hv :x=: :Ē}ym@ۧKz1t( OTżVӼ06^-ν4KzY6V!y~cHAf8CbɬYƎD C4xTsɨӇڧ촇~t7eo㳮+^g+FP&wzh4n[u8>R/ݘS6pvE;Q5{ͽ O5? 7Ț(#=Tt[kLʝHq.9Dr}g=vc؉͂l4ԅ;%u(b*$fJfT?tfQ924M`ۆRD܂)$amlÉ_x+6q-Fk{Ǿ%81*F` W㢌9N-a?;gCƎѨҥ" dh17\JW[·a\ ^!3P{ܾI\Bv\*ƄmkUwGg>e&x MŔ1 K4EO|xEl}3J&A 9:v5₷)y; a O7o1]wU) Bߘ)%E@L +v%6m>/*G-K  ~m4y`0ZDd&9]2`1wIJ>'}wDD{$+%V2l=әM:UF^&XC;^jZzK"# pR0ܺ pP^2 .rf!x`K2~`$9AA q+Wo^itP54 -!;a.@a`V„QΗϔڨ;e44LG I=t?cu, ӭ /%Ԑ[ G:M[T4ͽ@y<$ˡHAW/!l(#,.̖S I_H`(+Йe1TòH.<>8ۋHهe귟 &`7+yB.Vh i+sˀ_w{͗!7!{F1w\sPbVh~[<@P-V`RZ`0Jyɼ{) 2ݹqḴޡ-pG\@. i- ıj!C!x8;70\TqjM:O37Ӫ(YɀMɪb>`ؔGvͯ~ӵtsýUOJΝ5gYld5-;╈B{8wC3Ok;7XuكkޔjNY$7}pkck[7/)ϋy65Q;lAC+QX"-][ͳ..[x3(n a%qKM˴pB>qP‹!{OWY05 wN$yw?EC5eiCB9M4}ˊ#Ud vux > *tA-"8} 6DE(L +윛̈́|Nʾj{~䣪;`uI6>#]bRLO1\ں|%ؙ>Y'D3LrDFkя+ltƸ8gxLml|f* W_*ٵQSXD|{%CEL0 Ժ~jh4x:rR)E C7SHY=8֙ W8A!p?,# )ݒcoE^""vUMЀ=@ i֓}txc5W2 _l.Qܯj08)-ׄEeUAB)PjD,$0w 7+'QBwj:b"O2ѮƧh5''dF 9^67G ʢ<ŕ344 uwqeK&d@BYrdp5xZn!-)-~It˸iW `3G87IHљλD]܉i~`H*ʶTAM3V̆z1 ki_̀Ɲ<ZZ3L9p\9"0}.95V?RKP#'|_ ;'9nx;Ȑc(QO_?Qr?Ol&.X헧 _zkN{έpy*~6mEvM NSasG(Ctg麗 pC霂&Em?)nut@ds3<aXns豌[ޔ5RɀYg`T-h\7J B1(%haa(8 L;tcq2å_V*S+$JCi#l{:}pLN2 ylsIDǎ4!RǗ˪ai-#dWdd:"+sp/ 1"8pxA݂_j }8.Pb@h14,|?%"اCa|FWV[h`ꇖ!Wk4̢[f(,}$_ZIo9vy)NGKF0W!ŊlGB]DG{!U9&ړ'mNgBF"兟’;Ӥj CoCYSמdIf):ܴQVnh>%-7%*Z57>>Op&o;>. FVsJ,;(IdRmSV+ЇJZgNvLW%8]l@~ Kh|ƭ;WN ~3ƈ|[FU&Vj 5א•?AV,ymS-vUyc`G-l|m~BMNZ beQf~yl3{IJ/4']vWвO7AL$ؠ&j`4OXFUVH@ap7@,Zس!͆55˽2__%5X#w%UʢruHK`d Q W1T ulxCy12bILK۵e$Qj9x<ߜK ӎJ2lS[(wKW4t(H.s2 )o#)KK*zSv!:BYB"yZz9Eyp̭aaܘz/(m$YV~$0ɘky[Jެla$&<UfF(g:SNskAh*e~/Torv>" @QHqQq9Iw_J՛.G{KV␷ ['j+\-HP ިVbG!׎?c.椷MI`fɂuVxalAMhv*g(#Obs`*K39'踨)?_ڤsVd]ԻG~=\N8´/ݍ 4uX3M*U1=9P36+ 3X-v5W)(u+1O6 W֖Db=oLE\=-OxQ|ܖ{]$++8i[=NKXрxhTr_A Y(@(n$PJ4p:#?u#[Q)onj#BuC;OߧJ?pIOuFRKH} zF8<۾۝aD1J[z c $*z=/}kR/={'-#*$NH<+/ye4,"9+6*3d˥|!~Jݨ,Q`@X7%4͒ Dפ%(94rIWe9waH(1^Wn_3͇K $09=b-3'tl2Quv6,ZTfEւ:Dʧ_P~H6gA.)Yv俆%uZD]DEچ8-w#3\~7v\.fJID9$'tb3p .kɸAƶghTZԞ+,$ʼn;GWNsW {x`Woa ,Kg\>׷ 'YMъd歷yx=< ʕ=(~vF{)-zt}ʃ$mm}vf~.@,XZayb/x0 ~L"<' /!ٞd᩠~2HX~d|Śپ8wm!KES_ɬMXBf:@.wTKK|̦&i\P|q7A5zZ:UQ_J()ES_Ƴ5W3|SƲZq@F!Iei. ]YQ)C` Y(k-T\ gN콽NSg.;;1;TEn3 ( |}҃!,+ھz1{CMD!/sGP :睔ٺ"Z88;\uC-rfH}uo_vu̳poV(`$FR^˞EB-Ct)DdQ :.Fs^ }I5Io/159W-{SjӨ#d5q.U}GDwڼ1ɶ@K@;PT  t*b 2[AJP+b>e{b<# ` CWפ~9aQ}U!S: /ΓtPZ\zXL _\%X~`|ϩu9eM朚._q J~Q]-PW?0R.,~Qy v!M Q0xG]$dP=@x˟fBB|sY,A"4[`/Ki$r| 3_.bl~ ͊j a#ke`IFi zBф ʊ Go]Cc'?)7ᦢr5 $Q- ~Yyv2GXHrBY$>Zxpu]/mZY%'(??pKo|vc %2DE/spNMO5(Cƭ t T-u5/q S4)6QrV W'37OϾp[nنŷlKK (WfF av'-(Y]'z0Xf*tnd{d_l fn!n}R8xi+EP3x7jG3 e"wUKOc H%1?$(Zcͽ-~5VNA_ʖ"IUg5$Sr.& (5mg/+G[v}}-N" Z3O{N(IĹv%D }ל־D"=`˴Kȇe?{H`xNnB&7Xdm7ɕ+)n /MXo@x8!5>c;a&gM/bR]'kyY DD]O)@[0OWRUn|wי翠wz[ yػ3~]ed@kޟ5:mQEJ0OCam'dϢ.J zo tM }M%62nj̖aZzTQh*)"Ւ[*le2U Fs=V{uP'BΧAHZju7 z264W:1eF"YޒT0u`V-#+YƣR]EE$ #-K)c(M|^m|@45ץnܔ($4s!R(y\g;3pr B @-ƟI&/ L}֏adBۤ.˭*̖H.V1^E>6?pّ&@5apy+̕pi0D1(m AضEW12sFf{˜ N~nſX@ؚ|Ȝf j9IްJZh3Qqqן:Gtzcܧpe!\󷶬~wu\]^OwPrI?ѥwa'\5DVŨ&h-HO5rfY5dFs%|[&ֆ[bWVY1G狼O7lȸP$0bgairSYg(_hs"Tw1?t"eq,dJ[ }1Fϰ$awRWG\G{Rip!L/ڥKOҁS6ms[mJ!\#(V{[}Ū@ZRLWR"0R[ "Yܻ~73 :{`W)0$Af,q" SL{7h _S'NC zXZS3kƲƑ?J0|(eyHp@kzV<"}鼸QUe+h(J^N"_AabBx;GSHl}WU&d/3IErT 6J>>=@{6enʑSX!%+wXvqo ƚДBx?xTR/y}q) q[$k8bL8`r*?눯qƅ`&A*= ylZpnpnXhFkp& ԔY{]1wlj,OxgК)Vl5 P k,#eCe,s|xлi£tӞl"*z2~Zx9-OatCWÍJ4ARB&|f5(ZńCȿ@c3:ѮI[m 0WŵsB>!kfcꖟí u2}F.NDAv9j㕺}\AŢH<#v2[:myŴ-[\px_ouȱ >z2~3$ս) @5t~GmƉhdAjCS鶫/|`԰h¼ե/h׌dND^壛Y=7]WffZ3|A;V}zw^u Vz*y9%7cWu,DG |l}F.9B ~9~i a[vQֻB_kFnaБ_q~)#H*\vNYɗ.[(Wҧ_Z3{f o | $hO>RO`]/Vr5SJU&bƻq`^aw]#!ʉ$-ƏD5HraZp \^g7o!P]jA MGtֲCJ*f,z꠾.׻ P@{/Vi0&"BdpގyH3D>=ݍ/W,* LPdE:6dKuBKMhekxjcUdA>׊ޔOG7)qIS=VrXʻ}怤_pdNUPfs8/ի"/hXSV])ph] ԥk'U~m0) ;R%&A~֎jܚ)7W^ !n*>⊷!oi;8D"-h*e}H\dQ5>EצNP^^螉yw]s+)no1:تtsz%%=ca_:!|?u o.)R7+9.k@(;hfbϗ xZ' DY>4,Fe/~rtcwHȎo涣\;4wZA8I` >˖ߪQ[]S8TR׌GYXouoP;&NRº; Jja)e)r}8B㙲-x>&l#"ͺtuuCm:QtʪaҎvw i:-G'չ&Rn(Wx9Jf~ O2vCOs[\4?Zq%Mۡe6| Pl8 *"eiR@޵aCGhslD%Gܘ'/Uu}6:Ap?ѰETLGG0 XOaP4=7)ײ rDod'[n,=.8lf e#\ qI#E#F=s=,Z2#&zu.nTU&~k@# ^)ϑ?c7&m'غ3C̺L A ýsOD^vFa{;hq|Zh0Wi?+3[Ҷ\6 1rHĖ vUyE mO^4fxAV}td9K;5,Dӿ~z70ɕeFKU;?YTT]EN- qFBƕ2:rO/]Ybֈ#Fnh o}N)NG>3_e))lnH,U 'Q 7;QFuiP g_'9L>$vGrCWv5Wst0_kG*@Q9Nz>LZ@7Hb`4FDܜ Ft oX>h0 Rrzu:@H !S}|rz̿n'€$TAzi/$}<D>VNi9^_|c1#Đ_pw.S*SZ+') 1FD̽~3%y?2KIGC8bؖ*1z`Q/J_ 2tx%|bD\WsZz m 92@@LD"nµ0K2V@4]3lh);2's cdqRS>OgxVBUɮ :.y`܀}ޢWcc΅Q2d MF\Zsv̺I48^OnfN}J[&< F s Q`Fɤa+)$m ÍXU Wc.pصƫڳOG1i!nU?~|@ A[•8ǯ| ^W$ =20sd큢GmLϡ}>waۃ,iԜA?[-q"Ʋ7xnC|6Ipv"VGz-4Yro*N{%5 E 3KVJu- H@e_76 `}^nnKR Cg7WZ8 9:@<8ęPZHOmRs7Y"/q4- `w&`)ז&(sM )o]%Q3o ܝB@/;GcPv譬`I>Ȓ^5n7 ͏ |]qK[+ ^ rI9I! ۜ>RR1s:Xkizge\ ID,rs7v9Bh965|ʕ^^_FN 5wrh,̶ƈn>թX'`$5wo꒐Qv2@n죂6ƣh 9\oΒ 3bCzabck{'wnKlX{!GՊrb+? Ffj}qg̽:>\ntT߳%hZЋ_ AԖ3,yK[=(EDIP(}t|G[u˾/- UuũB/T}0:gciԞyu2&NͰ'(HH6zxeU%o%/e]L6?Uo-=%hvDKDDpi{J cA}95r~VN6WG`Fr#b|BeO:b 3F^3pVŎaj$'ðAX1*n[u)-t,7O̗0M[u 7%Hd[ScN2{HimFaL nd=W |^ir<%!xϝ.xQ[69xa=m;Wp4yF){| nu vS^6e`=u2OD<Vdk7t&A>炪q4iPՇv;o.T# 5bGi>>ZW~}UJx|f,ZiT A`p@uMUܳo%Gf!zeܦ:%vI8" k E3U@bÈ˓8w&jvR*3YkSlL@7@)3&Rvq0gD1Pʺjls/3czA5u];8JV Oy,D@?sC$Ht+%!(%Dbbe X~ݍ}o.]0tj%੔Jo‚?g"ڟaS2DBnRI–tU%۹N=:#l`t˯+h Mֲ~ٟ<k*d.i]&{-ӎRbO'8XJ;{9Y=TS8َzlR̔OuȕE$Vadv'm-tm7ﴚOXx6n[H+|㛃CdžZOćhsL#-+8i7hS*@ hw+XW˄ح267GT,WƏ${(f#+ ̜6,q<3X@>_򦟄e߸]-]|:A@s0R*knH\fވЬ(2:MatYUͷL. 7ZDwO@ F2T"8*CdE3 xpf|ZClcZ9Js.gw4FUxF0ůϓ'8+u(4GH@A)cq(KU $E놐 Yv5uGv3WiJH<wHi87+CТ3^xv,f?3ψ,N2.>ܤ:=`(&3t6d3Dx)J=۾8ߑ9c^ ~ G( ?_qe""iVj,aP9=cPnQJ_'7 Qozg^!"r} "e HTLV"|?lOk:S1z-{Eѭm5kuL{79hOq%PY4*$1%4J$(m=ki#l)ۜ; *xT(G]EJ}*G)]'0J:kZ6vΊ}]#M+W^nE ]6ז!!cjFPXٓDx9'Ex.6g{!X9¼jI$0V9ZZ$G)=7yO>gA N `2L[p &%CpevxCɩܚۈx_##s7k=HWŚ? @ژYFQh &D:sv'/8m7 a#{U^5Brfn>fhs4Ӝ}9|ё'B?f(͊1h}]CO -3(ꇢ_G3#H B[y8yuNZ@7V)`0՟17uI9ٽ2,Bs AM>UR⹱_oc{O칅P>u;4\NzV_;jk!hCOMgvׄRIʝjUD0X*o[Kr (&fa;VQf9Q_@im3c/F9!Fl)lYHe\ݬ*E"۴F4`>jփ_ҬB݀vROٻIJ<1dCz8<T x*e0|o.q<rF)r'c b1Ľ#>oǞ%=J!RAkQ@M`wr̙'?VL!?]8<ዎe r[MW㌲wX-9܂%k~,7UAoM ).:ܘk]}mDԼȋdME,=\O?R2ulǞ!\u :=̣d[qi" 1bFzʇ3|gĮUā֬}>Z>*PzP0rÕw4A皧57O,Rѷi<-#3Dw֜PP*bY6"U ,pO VKiOi-eӢ5&ΒUv͢^Y?1OG_綰zi5Y%5Sa~ UbF Sk@5QDQq𦈭ז)FsWb<_X/Fɢ3

.G*:i T”׍ѺgyhKͮ|K%ke, 7[mOp|{48f]*4tyZwPTԮ%HN5Ҽ!/Ca˹%'ů; ^M mtAplZBS~?HvX"T8-z pS檨ֵ,gTs76~ gO EŒ=@jnޓny8خC%:} s;ٝt21 Ϊ^95 l#ȷ (wY~1.Ȥ݈cjS.$^m [tz~](-Y%Fv+ݕja W<0aMk~ ^^TwL6}C]~jb'i۪]03 ZC0}Qiu#5~柨ԐAH,z(~l{֕I eTT f|T;`46ZHrw!6 Mjzw↹y,hLڅDUndGs#`$W iG U|Ze@6ڽJ:1fu 3w Q鑇)7jo8[N1Ԩz~p;`yƋNN+hs4ݛ" [D_{Cɳٹr9hX$SY38s"]dd-:0%mw9'QʮB=r3BccR`f_#9ޣ[:q!P'z5!nE~EAìz?Q\6Bre|_!pG*x=mJ+wi!]Ksף!ѝ'PK /VCeQWw2B4іIUPSt!Pxs@dxLVg@^lfW˻fNӢRV&w8ԂϘML__{%eoaq7Xh':?/@4!yMu%Jk^: 9}Ŷ· 3}s U.Kp}g -~E >jdm`MynG$J@K.K1׋@XB{Wo nP8Z 6 څڄ+`ltco8Z+Df>3 Ե>̓`GD|R$z9Uh)A圾F?ߋ.KTs]4a<PwE $(qs{BbQb:@C;KwixȝL `Y?Q;H9Vpw|k rD@:]@?|?bQV`X_BgG g^S֛V@5@S 3SXWK (/ +Hkk r6>&#OԜVd0]3 isurj/>PṶ+ry^zCjLq#B}0{|0b93"߇8:2:0%Bx|d褊粼>079nYR')lA]ٶ6D 6'O0V@PeUZS&+_m[]Lأƀ1Z,&.!sy׍y=v3 rH(Դ{nWs |(-),h]FIC! -66RLcx-AE<Ȧ(W:-Pb7ͷř-*,Qzn~<I>*>6N1O>O^Ь˫fZt欈:!k yn2w,PJ[hyAQ) /s,e'#M ^,=RF<ȴH_( \Ktg=Nʜs w#Vm[H|Cz-G[Gx`8A=:< @4D ! kd h@4qCSļFt/DLfC ]6 &q%YartZ2|=5+m AU$=ǃd}nhڲfu2i׭W$u((H`[xkbI)˦sݞ?:ȧJ3DŽ l jls$@WuI%5$`j4Ek ,z8bZp3$wv|O&^TS[Y.'Ks-W~h1qݱԘ)ehwjCQkMAid9G5ƣ|߬sp#^v> uya??A 7 >o[Wk1@VH #N&4Q[Z`ɀ.ދETfǜ&wOSX*ͨXV(lQ6@S$ F%hݷG_:;Qãp)ēؑ9o59 J 6mKukXɫ`7mSJ޾Xz-bJnxl/z (\*AzpyC2#W@jQUsv.-(IIGuݥ7%7rDmY~%\M:c & qc"q5Aȅ}X=0~K/˰\#^x=A+e>FUm,GXޏk:wNo^LG~mD[ѲZ6>?s_ɈQ[{U{M!l`ْaVvUᑒY)*\[b O2TV{}3aF 䓒m+Z2o]`MUY2.f> h)LI!+Y>`⫹LmYqdnPyBoO<79<4ɶ$wԨ$W6ź5s8HzD^ӆ@ɂ3Zkр$%9)ٮ19I~OܦL2kep.Ժ;hTr^hzZח=jgIzNxK\oěЎwqf1T476$EnuѮxy'@SX?'xo"9䊆pzhNlAIxL$+_cn7l1PRʓzD*(#Bn+,jAjJTQ-,͸A kOa^|(~ՀMM<ٵ=Ƃ<(KUt\Qgfխu4<ƹůPH,e ̜>񹾇3T$He#92x8`CxIg$m_3Л ٦&݄oF[!q&טhIA_? G#9)($\y:SdI0uvZ)S0r5,orXߎ ې UJ:MdVث-*9+NE|9!"q%!IsX DhtM2L?$qw UG["ڵ 1݇}z^L fp1b䤿rs}R[Tm۽%Nw=Ki ,J)Q[E*>ڵZ;Uc2˥A7+YgtԺ4 AP>T!L8Y1w0].#AMjQ G@ NV8|c#RBI2.64r|o?EcbL&O-hP"VhEto䙽f,":ҷwD4 _ v/i,vϏ9A:C>3v;d/O@Iw^xG.21ɡG&ۖ*gYּ{6sܨF Նa5R_OǬC -vk|^'-̴sSB")-~16-PQ*-R#O}=zWRί+{ײ(J3gͱ+8Nm-Q.uƆ%CrZܞ"`J$F|S*N%3=|txhא&BHR.OQOCQU-x&vsxl)dzW>1ʓ(1sG\1aZ?rZ4H }S5w|Dr"h2/ͤF̝֘ }J0#G⑮<^캿Yv%>5q}ϟ8[i>E&K?+3v`$zQ9y~"(B~0v>./l3k:iSh E vq vP~!sg]g6+,.|Q՝A> ?=d=Y1vCߓ~Л zM'uIbīs_nV4>0z]CjQۓm*%fapQTRQӃKaX!҂#},WcXNRH7m.ڎوhG'\Ca"X 77=Pޕl9 Vlș4B3֡[S|f($'ڮ8UvGs̥zΘV2EKhs d /60)tk#|w |ߡ23𾆉b&>'qJ IN`M/JgLCLQȖ8NWdޠtY2M DP]Ьi\&&t!A:mo>^˛Qiz8'%>$jTx ˝YݢkOSd}sB17A$$P.p5) qw[A$!_Hj*$B̉r,uI[[rԂkY<:?~ ͘CRîdtdm(6?5Ho"?<-.}Q &PX[.v5k'I0:ctp0W1E-M, RXe>e !oLP}9 $Dʔ`>vZuv ݷl. ԣ/A9 _ls1*<NZɱarMl$h+1uiZ4ٚzu,Mdאnus0Z2e0sqfXK&;7*z[ YEZ;ary^a^Q!Mx6ĀJB38<},ԛo;Sg2sWIpI)&F ChGZ c`Zl^Η s[ . *R%Lj]zwē̶{2I]БwuK{Wi.aߋuRȱś9XJ^x] RP_}^V{o/҉taNItKQqY:&_p^ ʪe6Q{9\.3}>ݐ8+RD쪌m$Xv=2 rۓ7.톗U}3~+|*:vG-; Boa=p>B%]ОVFW_D:i}F8I7&kX0Lp+46B mʬQk|WŚpoDG`ZNB DN%{ڈB i)-_u'pb]NQrJ(ָوL. j ]*xMnրɣܿ.gk \.CTd,1"4R[?"$Pt҈veRH[rlRE_P)=-Zm/9vx&Ө(2ҳĆt2bl09+~僳'T9K7"]鸥vUrd\T{c&nY{JS>UkRHRLkXcӬ|fM[l;,49?fqbdww"Zw (v@uqږfM@fo`Æ+AUk*njFTzАU|尵 g1)~M\ޓA~NŸ"uD.ZwZ6ԍQ8.Z\jA##Z&E)& ׯ Pn<#J#^#QS@Fv6C1p<0%-1oJoܠ(FhNYÑ>v=ABo~=f;R(4%t/&! v `f;< UӺ KӒ:G R[TH?Yw0~G731[>{hi}AЋ褚oF{Q[g^)5~zÂG/a^Ch?>dvBq*ztÎUoTEӅ+,r"a Bg&K &6Hh7') 7轉XY'Xx@s>1Թ_ qw°_(K2^ao6K_zQ278El%)ƒ)'*yhht[vKojEJ #Ӂ$XT7; & |mQ )$"ju@z@GbpC0]J^'fq%~j)=z]!9nemQb]RdzEL'GncH äEXHѭX'uQ\ŵPf(Il5Ksdž4\'̂REv=w_1Ή5Qelr}Hck*#q/!:)f]=s/$'ߣꦜ M1-W'ki{ 0Ke*VMDvʫ y%q5&ȃ -[y1 쾲KZ$}Fi+%xugJ- ׋Eo2b# Ǘw6>"Gi0Vs/.CӮI4rӧ/G{(Nvv+[PBosq}`jiC{e銩%*a[S&Q_HB6䅼_GҤԳx#^q8U >R?vqi~C'bؼ*iĻ6z2)sl;E#MS9rMpBcL++Bn+So&,75x\m0m2n[b>p'1Nj{:D~w|lB7^]9j¿(3핋 ]P[-+H'HxRthDM#rVOA OGe^ !WQ-`ƚZEa1)l1 (ǓҘ-O8(gPl+A,gg'xu* 5b^x-nSH[D2~| _cXs;'}v<+PA_p#ܯr!P$qm \20lOpL>կlɋc{U|33r).`Yþ/x2 ؼ=ʼ{t)hӾmC@p/yz@B _PKe'z]:\){`TLV&C /N ٵUd*s>1x8K< k*Dt=f π2a?` 0=N;T6b$'th@#Y-]XA/V./u5S9P޾i:`_^Z@h[?, 9ŗ˱1Y`I*9{ ,ϒRm6k &TL'%&\*fqQ8n[+>8g讗,?`VI]Q,߷J3]8zQ\ \xZ´:YR[% Fʀ-r1uೠZ'ͧOHoZw,C?y&*5=/bYXf0\fo3L0Y17#hVY~w϶O2+iՋW1"l /5>xr>`Wn}.g~,|J~3 c u7J9!FQ K1+bnbW'[..:/K;h~#W2 w ggg_ZrFꨭ|d*ŏgxSr]YhdLQ/ZfE`8+H>A^pJH3XzS"*q>l!j~kH9d /3F$~>EVIJM} T]cf7P-XZ˪rbl !_o?UJᑱ* <&J/s6KjWapfHZIwhoP.c}fO'X`gdRO_g!r!u̾#j l8If H.N n6&TfW]H0(OQ*nqc|{tC %o?XpmT#J.R6ugbՈo<3PY<̝dᒍ=pr }U>gF C:h ҘZ^%C% V-,0yCM>{po(iKϩ~$Z8=vKm3)h33[HٯW_܀M( Nd39B8;b#Mõ~HZyK:\v7CxlѱEQqvФ$威/ =}S]n-H=*<9h9hSG4=OcأudbjgeRSES{]^WR8WzԥW[n@ S$1cg?cϮp$لRf9 _݆T-V97]`݈ߛ #+YSo;ȓwaLxF *JZۋ~bTŌ]Nd>&-3O_<_ sW/A7M)M6OmHFn}/łO|IJߒw554s9amlvE c9$j@m`njw4(oL RiuGgIy|4 J $qw/wtG-B|e3w>Pyө_'Օ; })ƨI\FH4+da43B5 ~dbkFQ14,΄ p\?R#%lNO^@TFV7 [޳? =5㸵A?@W=Yp'55k & 51Xo^$RN"w*5|P_S|/j'zvp#ͳ]y ׭ 6r}.HMBb&3 DB׷.x*5^-N/ 8É$Z$S8iWڝDp;Mz :oef^`Ej]bN4lEl $JVV!]P +MaNdF5.'>ހRM/\|,=eGXy>NqZ dGr!y\\~i ֚:ߒ_daQg Z2RؾlP9 x^{K$ӛ6/QT`|5A eRwN}JdN ])|EQqU aԲIA 'Q3@P =BFx .(^9 wV[N)7OVwo_^ F"1EZ"P:=[xHV816N=muɩ>כSziZ.wmAЈG(~KyFG AцjKiRaF w,lea 13 8U CH;iɉ\փśYiM#D֩6`Qi+>e R_]$ZmͼӜf2cH3.qOWLMUSMi9Q(%YmX1ZZwRV Ϧ}O* DtE3!GsC~z'En9ĬƘ Љ B?"x]WkYHO`? +bdQib]ʱjGjXP Zwi/摈)+v& dveb~e} 4}ܩ!&~.XċS7?F~ԺR\ α)MqT$M=(_S1=0jٕ8pdn֥ݪEAOԶNa-#4mo:SZuKT1I8gsmڕL$\|JU |:[ts7! 9JtsQ HZt, `r6.MGMuKGV4KQI9/M;ަ-b< sk,NvI)]ma T?d[D9$H&Z72 9Li̽I[aJq$2X#oS6" /9~;>6. OWrɞ: g؆z [l{6^1cd;>lt-Y`PrԛrC ^ZW>iASX)vm}I'7A\_;"8J(ó(G7L}j,,9Ĉ%Z"!#g۾c&ͬ{͏o;g1ؖ&kREZE4{5B!+)#b{?g[чS~ПM r IѓL@ota$dcA7̂5'K!BsȜ zK܊_cgVtmwI |c{~K+W80,ViP7W>22THeR[9U4LUDCz!n+}[:#9ޭ|Jj}x J/P-h8[7__+3H bvBJpQVwXT*ҚCC>M1&? [ J헚ZcS iY~Vۊn/^ٙ_FIy29VEd8{Ucb?/B9Tvp"m􃣢WyP/__J)+VqErt+HCLU5mB6 {]"STk~?y,lxwVl*1Gӝi21m fDDmq4<5~E?ϩHF0F 021w=I0UCJ%r U1ttvQ.>67L{/!JtY-WKӑΗ:Ez#%*O]p{ ք4eB*:yJ(.ަ'Z.wfQ+95f `m:7V:$r3B(M45y 3s:~ sU"R 6BJ%::DZSszОdc=Ga&N7A0AX=ȩbn$z0z;i2s CXюX:yԗKuLj)$>#tPoYUån#6j@P=V/4/0BW/z`RW{V%rssŠk0D'-敮VOlRm\{?k,˹gG,9`a Zik$&Z <- '4{7#o$VO W!YQ2IXFC,H4pc\XtAqnIi V|^&.u)lOlZB\j[UYqkI}#50E=u:ȫ&Ay+梒x9f]e$EGLQ=[RU :XtCw9m*R<v8gWMߢgqTvcz9=0d[ _ԪI-MmX1E83 #K!MP%c4[6i;Ďq_6iYe$CT Ս#8'_?UB:‹ZUKe.?CBqh1cU].h#*:Nk)=`JQOX<Qrkؖ5jA I2+f%-ZX Z2sЉhG0:u:~K[S9<ݤT6;p)8olr-Q ^ 2qhFh#~';hE++{"Dx3]+Lnf߶7̏VNގZ :~=c E.H2;׆"!ãds6MHq"g5=>i<}F}?FSDP,G^/B*IzȷڦҚ(m5XgU.gGW1מyv~~>"f9@.WqJ31mU$MsCKdڑN!&L3pG,`@ r1%#KQ BPe&yΣ`{2^_',aGծ17<6XQʝW6L#1.wtWoqa-+lܾrt\׌) [[qHn4j6\"Ṇ̀5cٜ\`\xIfc 0CPZ.rýөꬑ˺{p "kܗt P2n@(ufhPa*79vjdi 8/$`!0e=9Rܜc[UB@g%TE,T7-`hHB$rSK VM ,]tCGM,}#33ҁ]?j W$LF1P4^ё̪*G3cLfY 㟶5w*S/apT}wW)Q8œ773d}$HurB*c}M?tTQg R2ńr h=ZJ>xrezX/AMeV(RS WyT)B!tN??kRDotvX EOJ~N P>>,5)Ѥ6 ͥZU~*pz)}42xѳMu~t~$e[78k=SD-H @oVp::pR=3Ù-9+t]dj7RA5[Z&m4 x.q̛[M{"(Sj2wFJKG 4 IR7v_lnU$wRY04|7 "J_F0auN_}*0xxԹL]ܪ]9mUDT\uX{zbH]TH H<.TK$fLFePD+"M#Km|P'̶ 2QH@iM(<F03t IU^DˣWֲDJ=῵5% ']ŲΠX즍84Zk˝y'˿葝OJsEaPDOf*R n9DYΚSct^~gq*qʹ&.,NSoQ;V6` 8ڡ{6ي+z `PjM~YQ-#VlqNBRf|nTĕl袴ڹ&p*83l X_B5p?c&^ptЊ>A {qogeVS9#sֱKO/.f+y*U)_y>hdq&cK\ѐDWId 3Rk6գ8bB6x ,Vf!MֳSYiC% \:1ٹ!GȓXD,Ź"cwP>=z۬`aDoҟL#9IJtMSJ(nroT f{sA* hDTy$4<<΄X}ΐ:CuXLf ZFG2TAYH`s '}X y^\[ƿWOt6pV[̈e,IFtGa7+[7WEz{9Ag&VG4G(ǜa} $)<"? Ho05%hӠw&rfAK /'O': xZsW/\ɜP_{ۃK0PSSF=!mW$%d)i8J"gVF+, _tqjX\j8]&?n3OaMd%#Ԇ4GҶ!p?Z@듡 wrw9s+"8\צ+U8J=Z'!쿛otOA$ (DfRLڛ+0ɵ5/<Sz[6˧oQ/!G,amZT,D7vx9hFP5:^JCˣuVQQ#ŧ4yljIJFH€=` $*k4;ah/ɏv1%^>[NmNtI`xb'j v彟,#I ]m~DtP'n*mKamqD͊ blҕ8NU5@쵁B  GyHM%vC Ӳug3j{4?xHyԨo:Q>Ue3'ID"czFS!nu\ ɝL tDX(ӳP 796N} {}ΛYҹ1t\"Zo]&JO3|1ħ0_. dt^ܤő7Z'1-d%_poӲ@Ҏ8cjԏLuw{؍@,qXCޒo5]FF q[M:aoQM`V7HWcSj1D >4QՑ1pxӷTG3&WU͕.i(%vzB㢛äB?dw~dx5#'E _v5$X͕LQ$ zds[#3G N)_sdK%q:@q)%zZ@ɿiD2Lq.w;S׻Xyz*$h]WQ^OiRԋYXEֹ*D|!qJ cy3åW8#xIpZך7CQDv8wXMIYe4X`ȥL`1Fl}/eɃmqL=cnm7v^tFZ$93р}d%'u9_2X+1{Dru2f6cJвIx @`G!Y6hntS*#5wM&QKc@1j(e=Th0Yc~1t]c)2jfEf˸. $ UmUP|?vQ<7Q;9T5"bߌ VXtGU`>-]E&"mBD8ug>cQBRL!YUQ&KWóe ^VW~G7x(X%|KbERdSbo(2,bP`ybH_;%G (H@ Pb1Bo9+}[OGo.UZJ#I$ngf:m]ss7aSxk'>TY azZ[u5 #̄+ak]߮~8CYj܀b]6وm_V8P,1?]Wl,9`n.\.v/KoExEz:&!֦o R_ "EwA^aj<hf<tv{Do´?Z OOXff? 6Nk$VZ >ίxl*{@+՚Lp:;6YK{hwx`#Wo?@;VbQg"K}(Ad8H1_sr)s *8cl]WqҬ{ޚ L{GjR K &3>uwYpFάwp=%x=ZBGZ-9FY'*-}=G*Wh|SU@Ks:p]OŌ%DRF/2ڗH( Tرkt'' \A JB 쟧a"_ $3s:LgDjda}DSΩn{eA>-h]'6\Sn„u<ť-(o[)qfI 9PdLYSjoB_v +R'M') zl5vjuC[阌G> O'flm=8͜=QJ@=#37-g-HG#Ǵixp,z}ݦ"D30W= OlJ%PfUx*.%d꪿]M&߄-0,aG.$_cϨ}@oLٳ;$PPBV4҃Aa[ϖ=zDU#]oN|$_NQC uX__~ ޜKPə/XDyurӾ6iftzp#R,v8r[D^p(?J^ HRڼ>UcT1v?L&\/l+*yP X8Wp~*w9Cջőismy&h3-=9&lE@W֏;Stqx2:tj9!s=w7? k;^,Ӕ{& Vt`$3N@k]/j,=\7ξ|^ q ;gC߷_8OMPFcJDKC9~-hmyY;ݠ oLX{2=S4/?pGyk%n$X{-Oqbr^ #;Q1G3cH=nsoo^["u6N½F3t&!%EzORv"u 6m=„QbVS <Ծ gʩ'oO0};,KcPB<ڝ!ȱzES.K>,zJw| [C^fv%my9mhsYeOBBlG)N˺>avRp`igPh~&˵h&+j Xx~梓$}`^߿1B6xv]:ОbJKtA`ҎCˀyໃՆjk*&/gբ' UR\9leDUmWG&,'d,xm MN6;r1${,$OmЅㆺnAi*9iIZq=p&ȉ="^iv\6΅pi'UIj<Ǜ韦LcSNOL?C޳e,W؝ʕT/ُ(gJRB#z+R \zeԗM:ƿR#M飾jL{pe]ktgۊV*,]C!d)~(Ś>Xjb"H/W&䰁7ؠO 1pY ^Wy`s 6z:^_|-,|m"o-&@}tI&ڴUBGE&jHaq֥з d9'Mp+P(8t(#v{5=?_#Z;_ƨaN>Aɻ)zP+w9nHֺ7ۙ|@fƲbCܒ_>zw5_R-0`0$]^&U44ݽ,M€Z7Cg.8U!->*F caN RV5b.R%I +l_EK)3~I<ѲX3{",fx@Q5~7'ѧ?6XmqY۱|loH{ج 5-,l ]/u~D ՜Y++Ufb~4,۷<\tI=vtZn .ܚy1c#Ujowvr筶+cqq/ F ǞHLFˤhZ3ZxG1ư֧i0q > eo&;29칌hZzͮכǤ).FZy _lS| Ѝha:s31_99?2D+1dL'wDu*k̝R `@q.53OI|b6%AJգ٧rC{nܑ2ԧ;um3NݛCne0햐*PR!Cx+V|m;n9xL(T`,]FQ[jOu >@BV36ڔ$[^Zdo*%w^>dסxæ{';ZōnS TG=y6u I5A{+6@ dޓ@ E" *l k炟\Y>c*f4KK {v*/-fR|yiDq$V~H+n˔S6sh   km,e~6A$T χj4~},2vV"[,@9cDDY]x,ZN3 Kw+|ێM LoVr=:yo$xUT;L;?S 84'޾`ٺiS~=G%U+,MQc)#&E%dNmхf6i@lxdJ.Lj;MMkɆ〫;X; _w7L» }&$LzU3?Yٖ1!\;2 `kEi),=A2RT< ?s ㇌v Gs`閮xuSNZ`\:W\L^bT3~V^qWۨiW #6i G@@{:rn ]m~~2-J>piz[cw>Zxg`*G+lFKͨѠwR^.@[_s;[{y,E2-aĹ;\L ~pÅ'*,qJ4i)Y!;:bNϋ. W~ƐVr V#pɬM)A_$`liU=ʲԿv^O&r3Q]NK-g x=*#쉔!ʹ ~2' ~kÂ+2`}jVwDi5OZ_,6펝Q#U}+r^is&{a 9S!aQ+`ruҍ4#9lɈ8C~Q^Aw_|J{Ap=O3ϧY5*iJO G k@lvMpy`E z\M'd$EcyH:tBaʩI$]J~ʱIn4*^/BCCiw10?zOO{:\ DTSOp0LOmF<}8xWb_^~`7*rӝrBkh#HQm)[`9j&bFzv> jIP[ DxR,gXZ2mZjANw98$c'(:u7\? aiX93 B.?@Es]o{ؿ7aijȡߌ?TybE{ ~#QU~ZM[lA"9i@ۙ.\|D LL(d]!SUGpPQ P0<ć|JMQ5Y/Rv)Akwm$mHO2v(Xh)`WU& z=y̬D1 Cu; +)t4E!Q(u7}[md;W|xpWJ6Pa Y)m3e0rGvFh= 0~Rf:9 86Q'׬!+%ӲU7:'P4hTvjNG].;G S)a!C?{@J@{"ꁸ#bl͢Hor+sya:$]@e<6=׀kxw n_F}HxMKLh~m*Qvn/]%Xo:x 4(OKci|̛{'&;M#7q gqyuGI(}9G?[ 18k07N fVn*yw^K-V#P/sBii6p)|F7yd"LBоRmB(r+@($ӗQW!HO{B &V¤<1LnX48Smfpheb~%)9"Q2p%Ա%tYs?|\b#§bhg#hc y,p3eBտFp*`Krhxg-rtսТ]9c{mr?o/-Wpp Q37bmKд}hjdJUX@\u_[DYHjbU\ FmfwGEeNnU@SrUͼ#RWޗo$.2U'ڼfw/LOjkdd] )Ҩ8j_W @>cFz,vCpݙlj |{{`CX0B}u^S`¸ tI9l5:PJMaՃ*̞N?"HZ$XQ]sDe RO=,;0T!M8 uX u:HBSغ{tG613*d#!\&Ӛ/46D VYN cƴG|@࢜.@'NCK`8ygr=O^_dVL㪤b|]O{59?WN"!&bD/YNw ,7/=Z)XD=ܔ8 ga;«(kyV~qD>&;Cil2ZLwlVPN:JLVq` )6GOkgAqDi!D.j.d B>X0g?7J? >/ƻx#Y9JS/ $᎐0V#)#mnW8[B?_sY Մ″N02~_}`_ d7JSzsfURj3 du-Q+,JnQqO%ʨ!Ħ7D5yxSNs˂\w |v)֙Xt } r-z w2`Q 8-oll}0+I9UJ2fJ.*g.Nɬ+$qSik6+~M_eO)-淪cAVS"nbQ|Ӈ1R79#E1#-_.򀽤PmEsrʈb3 xAnUE V1J8oIՉqWѷ$fFLV8wd`M\DmA R[͆0䮴׹|WX;w4N *=CF_o:{EpаSĽgI_@L-Jgz"WEK=!}e -|Qz7V{~83]H+>&mټeKCEL|wȤ4f#`S+.5ڙ&LϮw,CΧ}a{U)cJMlЀVvڧ"̰O!U_.:WInm! M)SӞ2p}8>$kKPн&QS Cz !cTh|z}j e QI-KՍdn{.y'|3'E`{檄WiɶΧ)R9fYR&OsHBW#S6 l2?sOwoe)'Ù6ךQyxFQ/o",`M:qg}U3+~c0t U ԇ%`JE/~}͍ !GZQIeSn2ڻՐ{a?Bd\RMJmy'A:!bmgp5չY|׹YR r_}٠h I$|a-cDZ'BLXL sPL<)!,OsBٶ,v Ku?HTI;R2|px'];0̒\*hfx#Vb~Q@i0L#8ϰJB!U_smfz*õۤ m:^FQ<ɻnȎ0#eLtũ6@0cWیX1Z L?1esUG[}SQndgz70huUi*pzϊj+#w EOg֭Z=6~I{iJj_`qwEQ>H6aFBk\M*@3⇃qǷSz![BLK=j1-7R%PК9eY;P!O6Dy\E< JcОg3.xQq! ,|gBT c^.,ב?NIdp!)~ X1 40))DEw *j#@S4ʬ U>LГoJĪ݈1Q@5\e=|j^⛿Sih.16˟%n*uedEG*\"D ֻ!Lk9#t1/pbH 6i=xBU:Wh=͢V)Iorv Gdcc5.&*z,D+#$IMI'uZux^t'4џ; ʑYLvнܔL#%`yFJ}(]vF)9㉿A]ZeuPŭ巏S Y uNӜUS .@ȒV8@"E[o;@ip)$їS0,}D3pq&M&Pġ\bQuwyU#׃W=e3|pXNBDW2&wi*:'}^c&AY:#D9tFq7kO!߶Sǽ|ϭV<[\nӍշ|(v&Q`CVJI;lߕM.i¹Ƽ1:3 ?q%'\4E[$YQy@ =޲9%+@.,.`/w0ƃMyifW;^!AϒHg3< e}YQA {k4꠿l54ߤ~fs$F>.DֽF4k t's<^u:BM1DF1\Z$DgCsf}שL`KX^X{i^P("Oe0 p#lC'ɻXEC M=٬֋IMHz?iUvyIGSM ŏHgqv13oW}.ʥVNКM%|y?m,5<Z.[8V%WޢPQz`.AڱqZ زb*@Hu0y HrlSrloJJb65lSh89l}Z(*z zki:5{-kLe\yls|h.MB\U䷛rާJ%"Ιӊ]HHI h%)LaS@=pdum\MY(zSm#HJLW2$T ȩ Sy;o#%h{-TZ1XcޜIM۟H^s@el"% I;/n++Q+a2-0,na;:78~ bS=?{rbz!t%:MزA8b=Rq)ϕq(Aoz[VUa~ޗO~|@͏էWn3m|ee^ʸ˅%L@rVQTg2srPBsGɃ4ٞæXYSOLgeX#! xpv}l Of%aỞ5#/Aԕ5]:m=*+ѽ'N] "K} x!jšeA $e݇Kb?c.ER _o TڄӍD}-: vQhE_ S % Vߘ ph$9MDťxaSgr{ݍ꽷,C軃-tgdz[Q1b!"J><>'moU{^D%FKa "U1ȹU% w54{z"3 3qNq@^_@ܩGOzkW^fBϢErQVD{6h%cO30'u%9JI~O)>՚ٗu&t %DKJ:IT7s|1t|Fŧa[ D9C<~435cxRV}̪qr(0 vSpVKw>)0QM6`X(>\ڳ"H0c-tG!J;,"u^٥+& c c$tL-_@^jO>ycҼY3\pR =̣䯛 se ޿~V;Ʋ]3Ktq L])3_MؿvƆa@W[,}+hat0:kPGsm: ۅ Hr̖2.O{5aW_/DX ?(CVnc7fؘm՜͋4=ó:,]%6ʡc{:EPdr"4EJ,wuq#kUb&w^2/i0 `+kΨc X =ε%5:eь4-X~Ꮵ"$aZd>οդ գ)'|2GcC:mt& ,2L)Q@Tit' QgCw:_TNn:ąu'yn/Dg%wm/xxApQk92,yls ;T6O m <:[`t!0Z73RCÁCv'Q*R /eTuY{$]*}Ln6Hffrh8,D(;e*g$R168 5rHt 8*ҙɖwb.5YѠ0R?h5mc=Fboh]\a`ĵDbN, ٷAZvє-`%;pMi\vmcMHB3>`@;Vwz_Is{WYmH@g %"yA8phQqبY.ζO_%p(rtRwpJw`&? uՏ辍EM#' 'lh~RNA^lzU}'1g6]xO]oM-ͦw;gaYZ.ťߊ-)iDzT C*dg-ߙǰ3sb3Յr0z8k{ R"S[*D|\CӮ[uƣ[rlwgۖZ)#zo_~3F %0Fz pĆbD,7:X~V'2=Qړ'k ɯ :MTS:E&TeLS-qC^l6hw5EZ )W3߼W\9X8K2EA)ẑ}\jF2<25Cᚻ/3dۀY1v_3k;+{p,mHߺh-K$,qxn0=Ll::!>o m%l0ݡ<ô= M+*/!r|/-?o9%#ds""4~ gK0V{ލ~箚3C-F Thc|*v#!H&ş8:xT5uEy?LT4TL"5|3&jƽF-jqFNOwĆ bsFD3'x(9D2lhquxpʹ*)v(-lݱ_mʚXb|fX1N|@ F }v?y*f)|ufG*a]M >/f^ںXItصϔUΊ<8v+\[{¨Šכ*Ԙ-DF6xqL_UsÖsyH);7&* 99kp+ubIIpy^,)17b?tn_ _B&Z&*d[l fuȫlC; b#^=nz𪔠FuWZ[._pYvhZ;{èՃwٹcM$MدI\+IHKZ7ux8P+@gT'}Yq:1mYC\@9z{\6P&SuV^ T\i-%'([Xo-Amq޿ Iw?PghRxH{װ}}Yͼ5ҹ_1*egjY#n"KΎ#z}  ?~4WW.d]/: n!7Lk}֒+`H@-.YAXI䨲/PWГmk?i 荰dhR:L *E_4юP>$RL^V`V@). (~blEH+Lc*Yq-Y|' ThݠmH;tt)sm#,|zN*ȳ-L{^'\4cŪ`\셽3-<;+7r=hK:?߰haei^e/\ G=2Rt)Ir{+]m}Ӂn`6Ф9WiU!ڈ!J#1Mc KғcAB:}e׹maLD `1@ l0o{v/*΁k[!RZQ0-UeJP,׷?#tN*/%cµчR ~:]( 5(rCDBx߆Q>TM<^05݂,4s)p o* ^m3%OaL'*O>粃)egkӲ (ah߅{4v\bAc`g, A"5NFV` lsJ/qSMFu=@ZO3uqV8.zv2˫q V{]d8 0 \RO)oPv98g{m~~}\_v+Ёo7Ȉ39__.JJK܊[O>z2L!U:S@8;@1FFjFYߺg3AF_z˵@|q.QRۙumFmU!d5'Yd&hS ۗrЛnM$zlYJ4Qq֜Wߍ%bg-9iL@Q

WD>Lg(uHbXi"%ަkkMnߓfAFjO#gJ{RPO91'Ukl+7*ZC8) &·>S>UzbEqڔ|R a[YL~s~=3gǮbQ4-{qU:Hj\s_c*h,ĭ. Oe.,:>e>Sa^WyK?+gڂƳӈOƊ]Yݎ'Xt ԛo*Rf}}`t&"d@y\,'FK m$"Dȣkc1n(!W_r($.>ß-<sT-(} C m h¨ E; MY tN&6!4V_gHr^u/ׂ 8WusmՌ~rn@f a;(Z-w gSx-%?}HVFyu:R'.*z&ըM㦝猈 ln:A[To)[,'֎xPsZn& x֛r#P%9a;m #ui}Ec]B`wf=iA▶Ը1MIoR> 5-GśMK&#.{WLBh#j1C Q?4\/wf aKS~!H%L>" |w}9펟/]Le?h : fI{&_m~ROS$D\˱K%_YQ,A dFH^ybrq"܍*rZUlءc^~]$CLf/9AMsvvP<drӿYWߪ2%0>:{]nO.teE. $`~зIj#9ĀTr'&̂vv}IWԟf"EADE'@ិZH怲N#}"Z͑#47u%u[nd.Il--]]_Gڽ?ô7ʍǩ" R¼/_̸,)[v OH`AL­-Ј j_ ҅U]NR~=AVmzJ$t)JƁIqil /y-j ;u@!}<*u%XNw S1rIIEQRǏ].(r> i'SҥXyiA㰆Pd-C?1nhI#HWsH+mlzWvko5JPJF:1I{FױI K}CadGB<{$HPfxLjwꑄ+E>r},Q{JK D$澘V翚UEIDnS}[t aY0R}j{7[]9-A{qhH4nw}+ndB/>XFSJ=8/Gii+HD P-@o?euqFPtkϦ3Bw.CzlY-g8A&I$5d6I;CY:6]=LbPW­!˸ecP[%6TG>m<\Qk#[ylF#\:Ǚ6Z]lFJC,cĶAi.оv&6<9[pqVLM5;2PPs#[٘ZBv?d*pE ?W}ʚIF82_lpblcz^&/}J ts]sBR#aMAhha >ʦzD=-Qm}1)~| r\"b МUtl*]͠Pb{[tHC~a{dwܱ[MȘC;W3#]7K:5=oܬ(=51ni7@>5HMGOnYc7hʝԀ9 -"!n)r2kt=R. V֛泠JelR޲&?]+~LjOd̄nhBؚ9Q[Tsʌ0UMY,8OIT$CG,='egSB Xj啷[u'~XzCg,͚9n8>zg!nxt:+ͅUԿR؟68D & aqapKVl/Il1Q':;E~Ѻur{z6{]iYa( 󱵫7l8PC~9l;;x)b}|8b&ot1 ^RR,n$|>I\} bM=F,PS/{9 Td+**4غ!Ighp8fH11ЃOYWYvx@|ڦ;3.Ͻyhe0I8ud #?VOGT[!RMJ_h1J(8ٽěcWtR|JL>9䛢usj׵0)%.D[5Aٙg+13Ye*:+P6ZTc#x+!'Tg^kR'TLa3> -xȮ}$L HM`2f2NfXcUJDOVwvz5i )8ٸpD&n_57AĚd"xۼ Ʌƺ\J=l^7TI_p9,1T otjW9 ,5JT ÕФZ3۲E=pP =a G7Vj[H !FnTӢMs כ=f\3{'$$`$s(M7ǡZ$]{,͕wVK&hW 1 &U=NdͿhLy=99,hP|T4eу1Y(R6bmlzIt.ې4% Kn1x|ܮCR>1(l;b} wAk>{7h̔:S0hx^ƾ4=%U/Pe(upj_FcUE+d\!%L4n׮Ån\\zUw؋hBath>PRUg?K8`p֠BQsnDD-DiL!~^ \K>ƭW η.B.ѢDR_a1 k,$s[U8ܥ2- *rPװj-|@S4>R'K>HwhYo*Vx"dFdJ-<65y2tt*lWk͐n W%뢰aiT\ihw ?iFGEݥeT܍֤=_ B$|N:^ /;t/߼==O,^j/Mr5[%"ɦS&]SL@%r 6t'TQv$bo/V0':N+<p*lMc[9RF4I$ו_GPܐ=Fo<43z4.&ZmoF|ά&W';q1JLkFv/-{9v2Ưѫ¨i!Zw!AN%cX 6dz6ʬN7!⾷ڑ5D0VWgԵ˜i&dkR #8z 7Y !|MW:6O6G+oM*hQW՜fBTYϪثj1{t: ܮµeʰJ,̜vvN-VP=>27XD!8.76m[nk0<6UaM_gto7rBBi7-=͇$ sud?'6a\]=iB?f字ځ:@AN| EjOH!ˡ#J^]E<}Jxe޼#ԧVιΚ奪#l4R>a\!"J5D{O)^*aZh |U=+O# J=ۼ}'>=npD4|~posM'.#-˜+iyy$f$ƀm \*|WrԈJE 7F9 O->HIQX̗6L |Aim]ѣזcP`⅔FGk&P<ȓ;p ҲfsIشIe%dz'nZW҃aQOsX,\G""61_.s0qD!'P|B7,q/ c\KE4˹D*RRsoJ 7t-M]/}qF ФBYI[}vϜ/;$"2כD(odO!/ڨ"8UZ/MùySy|,j"))V&di-(+ Tfd="2QuꇠK4k)u\uJjxXGEc(AS`{gdh NJ1}%`r .TLS ;֢˝f_"3ėsXJ[eu񯪓']&C!`Ҙ(t}4c1@|`3B(,/KcmY K~.rO{lf(*$Ƈ9ٞ3c)S/7I`$a[!WˑO(45 kMB}|!\J%jv#Xf"5 5TҕE3f}W#m܎@Z<- uTcz4nAVwu4IծH7iY}Ң xq򖐉)H:1@ltU'؁o= X%lϴ%lOC0NjrQpy':l5X_'(7wgTIpNT}Fa5;K{ҜLBvԀH4Bu +SVT 'z(]U9S :<Em SxcJMH`㉛cpȡ#芫Ii_j;7CIˍn]Z2j8QL.\dtWp@!kG7d/G^) 1Eh+ \G2CIWX6(Uc6Uśf-[=J"R"D_j+,}@D@@WcBf>-~(jӹqDHgLe| Õ:Gm+p H.C$> 4?/i ODԳM?7de9i!HNqZƱFq)A$wC cV= WF +d{9a.n(qs,7XDCrqjVW"L[F/Я А46$^E&8 le.k4QP,KzbaYK-HS`^S&˴. y Y)c+B-Z>o 6d6f>LqDhqگ@U}( =7eTpN?]l&8<OdPQ)c| 0*sW.cpu'jgKD@+RCv#3XfoI J3h Qu2ǥDvx G):S@gB K `=mM}ny~(gMp QwDyfh H\ ߛng;X@|Ҵ[]}X~!Lz84d}+D){j`{Yf (;X%W7hMgU i3򔚋L%hƑd ,dXMs0cIttpzc<:+Y{گ+ DP=Ƚ×#rwɇN5W$5nűWIxr.iṪm닺7샱j>D\K%T%lEm,HBӦ$q<ݷrDiWrx 37878|5'yiLxKC3<*7NiדsP">%0#ek>YZ4&f{>UxBU 4FL0O`!">/熤n&j+HqoG.0 gFRwmf/"'ͳC\ͺ9DE$mGb> "{qO(`%@:;(;q/rȺLF>ܕz߹:f׍=˔G.١| U CݐIսNV"O>e@5-=WQ1'ѝP nY;2ƚ-y|!K#2 %xO9t1:cxULnwa~ %ŸuV **/zr> yM]S?'Y%u\3tk޷3 IPa)i]K٠?!qM3NEP32ʞiOЫ+m+1s";tێc1##sP|Jm'2LVX5֚NVg39D16@ =Gxaf#c !vr)Їf̓'h KNV W "R(b7avJI)sep$>7M8|no6(W4:Tp^`ڒo`-@֯̂_t~Kq΁>u5Y- `[K0 r\:Sz Z}u @{ݙ_@Qwҿc5!fށ:6kڃBQ#]Q=261|}Yd8PcroFlM{~@F8*mp2qe\ߺ_72QZO05*ӯۂ.2~y=OgA`1d Y8S/=LM*- EFɁ"s8VVzU ^ܙUnK⌽!1x3 [y >֢1Ѐ%y I$ z=8~N[ 5Dny)5o*쪟6o|qJsK2{G`ؑ&PAC;ila1-YbF4 ;xZlvL"*"K}B}?[m@]?*15j5er!(T ubM,,g_ Jq^󥟼L{8*E[txAG5FU-݂Gd%wqR*]V҃&,blQrtnЫ5St`oE14i༟]Y Km":%>ȴopF37XC/2搄IׯH ^1s91&\d#$y+LX1ƽ->BZx}+?HQi.L^g!]JҐjm)ϿWT&V: CxܰK|t*}7y4N|`4%nꥳ&u]B=Ļ+g'f`,+lFsuh+/'@ՂF,oX X-[Ҟ)kmꭞSayHp4y [-v鱃 |M󗪊Qr#6@NS6u d@F)LgDh LogY1%JDrQ(D](d2\sAmA>k~$ZMFjfulc2E\3e~fj@Lv!|>y%)[e97z#ngMA`ŊY+\&ao]I؉bK=WܱC%sVkc?zVcN P!> %iNyV[zC&: DT ShħpOO?6i&ʸ6n/)-#uȢ]ir (BX:4Dq@1=JU,,+5pcm/I}d_,myh_o 6zh̳iwog/(%W+bRoLGʽg{i,K}'[A <no>DwPFM/cHY?K|=kO^V<1W;Yޑ-njs>C=.x6Oo8. \h_)<{ћ0ճR(f{qm2i%\P,B@nװjXM;8Y{kCmGM4SJ 6nt,ZX*+]WS* nFuf7 K+%\ʜ!ȠȘHsBr6 +UBھ#̆h}0*^B_^bs撙Ն/dĈUt(yۍ#4y"TeF#z9CFO+me3/Z^7Sz9_Z(=+ wU4Ma0e=W@ņpir[ăҤ>l-8WOCIt%3>2AtM`I1J@ލ>}L,C6o:ѹ6\2Z׻Eg̽QPSIJʓps}`[rEj;%!Z;{ pJQz,UUelKERM4/H|~e: L2 w-ɳXeb;$~UUd;T-ϥD/q2SFL"~I3< hSe /|#kQg]iL%_78gunbn8(Nح*j §}>1uhp {7za;l9}^Nf%OF^\hyJs)9GÅd )bD#}KB'^2ۺcج\ނ>)Wܟnj =%¹JPc2f'._c)|H0Y|W c5ew~T}bHe0&|HPxf2\۟m|Dvk+y ة6d1BbNxپ4h\sJ{xd{~7-gi6c Z=Tp"]!'"l[p&`< Ƅj$8,n㉋!_jD[4:yV,N)rg pAexPDGac D˸B䍐dO_*Odh;=[Œ -ѩlH2лg< j4X.ptG G4T &GȝONGM %;lY"(otBzgO/ZPck`};-gEAb-)3"(sVԵٝ3lWMB/G1ݥ5a1_7AĊkiuĜ4z#bᦴ# ӪȉyMvgnzdqp٧zHO SIz>7_~gyf%7%- &9rKu׼ü":'BFo_hd(ݎDK;; ^ tFoC}5ب}0)Ws]-n 떲eS2>&Cp.iJqܸojIB-$7\T=;BBܿ9}.VHעvW+]uy_nTӕj5i&y`p;]Q;9ezNmRNwX3vA4DVX_Wyyj)_L Y,G?yXKuyܓA~M27KFi1! oa͓ @Ӿzs,gua# DCxGTDX)pXHF+pG9( }`>1uY(I(e] q-d/-;fx_*֬cC5_k ڨE=u|2@/7U}"3\~uW˅~S ~Jzhꡂ"s"YĐW^֟Xs a%.Ɓ 0TVk٨c&ʌAOo6HjugؼхEK>¹KP1fFa€A2"O^;Uϝ0 8#7$?oƃ3s(jTQĵw*.=8l*GcKV'^eJJ4,^)9xөb1 هKItAFȸ؟\Mv!^-1]T 2cIWZ zs#E Nqmu껼b%vP`e+ NjĨnp26Tt3"_Fpϙ1?6mb5X"_>IJ*6LۗȠb𠕝s2ٌ&gȜC0q:)uXY&5͢nS\Yn)֮||ߚ,(i -&EidKAV,WC>禁[s褚θ>|u,>pʖ[_:WKAZm2c'PH!$l7AQI~i $bJ ?60HkXqrTf@hP ciyZⱍX֓3l.ޅxg;^A+_5xp]FˀCy%\vDAb❎F7st=I2)]3Rg)=#qC; ZTGm+(ôSxb"bsIב­N&$2i`V|iQBzNYE<7UKӬHhNSҪ_m4>-Z%q(S?/T^USD&UY\E&)qS!Q-" #^(q5ɻ#d{0)}X6p@jƖVqyM׃,>Va~?EU$y-*굓'^ y |Pw~nY8*Qԗ/JylDH)/K}dK(2F MH% bZ^w8N6o3~,m.ZdkT|\(|ieX]U$|ЮG5=hD6s8qM6O"s&LO^V'x/@QON^]U(9l+܇F%@5 +y#ChCZg2O}lpnk5[2ZP' m:8-[GAWE/UQG["ϊ8]ϰF,.=-#F1 buiTV`J؇ps 1MׂcLT8jT)Z$H+VT[Z`GsY``Y2Lߛ!g|C q @cvvM",r|vᆴ3P9aOLe9*_%k{$ sqb7LIT2_'2Gga ;l/F*9r =ős*(3ݒX3 Xa|3&¢(u7NqI#TI x=Ţ\źfI,f8/P.pKNSOn7zhVCP2[bLRxꀋdC{U#%g ! D^nVV8SwS#A6I"L1a3J]n$ %=QH`avv `v_a *G \. n*l굌7(|NѸ t֗~kQdž!fJ3NϷTxL׻>IqȘ[8ȒgoKRosbdnY3pסYP7'!TJzcshw}@KMdk(}>YL@tUWul]W7-9TR(i%M0 [;ʘ1:: ^Z0 ZV ΍iiǾx4~F:JNvk#혵-Oпw*`k{jS"v5ɤ)9$3 4bj6zOXC?"#ğ9ꗤqDNνCȕ=/zU[i1sotҹ]H=&]L Ó~d 4EР0ɕ`}SEr{lsT͛Ux5HOs;1~7)p ..eJ f]/m&7ژLKC$8"ނS'2T Ves{ʜxq(38H[W*H+p KHM1^Wg-d5L[-%2kIVEw/:8]8GhjT%{2uA~IlF/?3WV;BO8+T6ÅγF\\"NK8|Ӝ~z^k1f#vY`*/!ڪld& KMW/ڒhu橎 6aJ$NE̮Mr_&W`j֕{ & <Njhףn EXY%(%y?Fguˑ=;$Ē~ձ: @ C &4lnG_so&iLXRX+5*K~߀Mgb'OMVBsX»)_d<} 5 xg]UvO,la8aS\?qaK,`4~ϘAk$̫CY⑂.G6w "eqU+^s` `flRcH@9}i\T1{_ɸ9 m]]pL{7z;n"$꧲]vCYVO96-W6HBjiZ[[/ה_Zi s24Uitdbu$B}:@[cr지ٹ߻K5j,L9]78BF4<Ԃ0|r[NO/NH" 7N@6`\Jݎ:UjbPf5L 9^cU5*\,ǣW5fxhu8nIDϩn+>۬ʱX= o Q"Oф'TN&J.Ϩi=RH咫T0i̚G'Hé9[ܛ%Bp565L,qRzKC"Yr :%D, h6yc%$LFϞK:cD*ӔqNcZ*3NqXzleLx4^gͫ(pD'N"4MҦwuaԂiTNi.Q.9!Շ*x8AQ~ND5RenJ7 5CCrÕ mT;9*~p`$7U;i{^|s;h}r8ӈe8A7/Y'A )XSl"ʯ@  `샹ʹ8P#I'%B>c1sa:LZǂմ LyC_rjeH2sR#\^gGg#*5&/#yZB&oHa59k;t[bkAì%pi|KrnHUr!Fi[tqu7H90GwLL6ĴS_!2Ci(-p֍!Pz܋2 G'T='Ǽ'3_i_5myΝ*c7_'Iݵ#EHy55V^b}TVH1tIJ˵]zpd^_}HSb1ЛOyꡆF}a?Zt VYQ%D)Y')<]`G)4JtSvo VvOqRW϶q'PE@^`M!f +s6~u=S=گp D6Y#$3LmDm h vV~qF[!v޶ְ`ap|a $ ')J8zӦtp aF)ƣ0{4r1v fywΌ,Lf_'o"fFjE~)<~/ݞ>b$GF}$ޑ$iڬ!ĨyIT%s^S6fb39UB!!V"8# U0P_) X$͉rј?iF6zEuT/7u)Z[R-&6(Vн1b^Üq~DCgMǟ0Kj'a;MxBV\;%RH:[\8L[ԺYC9gs i(BTn,#|'Dȓ.w_eYe2.D䘂FyT13x$^'e5dd-V(rzB`ɵw(;)eb4 pJZVm8@˿kWUi)ذoդnSzJ H1)gk{MggBL:+Nq/WqɂP4]'&Y 2R v\aPb{8_"QACWr6!L~=Q#2m+׉٢y[}$ߏ֟ZN;B WmA~|by_h^c?gH|f'O-.{nYM+ .z0%#SՇ.l‚%\ɑMTP_@)F'j&+gmai*iuDw9~/V|jDG'o[MN׀mm(G΀/1 7v7yG'ceE#޻WkU>WYr"[`yCÿ]_/E% taHXC+ Y#P'_rOHʂ5WqKl,DzG]Qt7o4.)IJsXI3bi.%`pNUτ}આCmg-Ydt^\ 1{!M|*u%ǶI[\Lq#&Z)ˢhW>Gz"BwyD]Nc[-Žicz*NX);_$` ] igBz4nV.ꎆ\ԫߏ_CbXJOR>*k?EvgXdbyuW-EiaܙK;m&Lh! Y_+UEX"I1RIlq$@pn/]Ŭ1( Y~h.p?YPɇnbb獛W|vANVXh']ۿХVb/Ѯ`sh7xWF%355)련=W=qNɦj CpZJCWu A3(;+Y~=nPJMTS13-ͨZ_;-J"+.Kف}a_O-&*SN8lr W0V.of]m'v=eg0T sդTФҍ4qbmCLktavEZA8}ٺ"ĘY~t Bt3 M.;OM0U1#OYM#V[t 7YtK;PZwFeŦ@a_*DaHℰ*uƙ3̎l< 8}y=U܀JɌvP,,}iuUZu+7TMү|̀ڎ;0k$Bz``:3JvnP0KUs`Mg:90=:5ЈVmQ^ 3ǺJ21u Z/%8eSPa?  F-kްGn+.b~%!q<ꎶbH; ORQm*$kt:j}sMCvٺ?`Q['*B0`v!P#-|ey^<* wD\qChOTU_n8f`䣰%9N9I٩cwsBS0AK:@#7.t(]ϬW #M>~iF.# ԡOywe{]նYѣfBKޡ:8|/&_̤yF$\>m?&B̽/Uw[\e&@7…2B~]^%gERDXbu`;gdh;JP kJs^䋒jyY@z@)2\jA4dzm:؇4P,U[G7k_d.Mb4ݐ5Bd''L.5(ik0l&=|N3rxOÅ2H|,2dϽ#'56p ) LbEhCMOB˞wHAќQL%欟-ka 1Z=rx!@) rT(sJ c'%['K ;fyGȑDTZn\Tq)3 {0LW̤Iא!"~xф#m4z-. I`}LJ!b:Wy)wmW"M;7KC/B夬b1{  j"+ꄮ2QIR~CUv9jǬ'/l-hk,pNEڃpx w߳B&Ӑ͜>Ja+~ [4 aG-%E4ѥ}IzD%"/0HiWȣd. Qmyڂ>,gd5ԩ/$0"s~P}K2M0^l4g(4YA e_Lo=m|Ng^Wqyuh@f`1嵚,/mې7#(/ 3w0M e1FC!?N5NB'ʧ]wF}:d9 ּrX>8o"RA1{d B&N=pЍ>6e܄`q>Ӝ% un4S&*5we1)/C 4`5" B51̋d 6_x3\;"(6ukT0 F$m*$WJF6So%R@{jNdu6_&Z@v\.s;ʀ].vQH_ ͜r34ԂuBwK_2RGn~R4MQl4ރQ"OǞ,rʡ. 7@nvYy/jh8N`‹/}tمe3 Zb ^%vypr զ ބgҌY;rQ@E#XnV6*(@(uiwl_c9 I"A<(nHW ai0?f.JsLIzzK-Na/]|BN&S0/9Я?\|^>T"6 AɘU$eBF:&.Z qAR cF!C8Mw!Cn=|2d-wI<K7DZ:+9N6I)V䒑WZN0?Y1~[ _#6@WZGqe($ TnAuwίlAM#OuSkZFoP:!t16 _%d`ס +fZ@ЅPaA>`6cGR2Ũ d,5Un4Ǝ&̲̇njsr-`F~؂CaP!D/EK%#9ܫCs=%@3v@R°rO>D@Rkmeud?h V*P}%`X ։0M)(1_ɵEb^ҵWN~e3: !Vv;RmĹ)I-K;8Au^aL89;X0"]$GaXuXAjyu-R>框:*[r-2>R~EsrwD&D}bѝ*vbm>wo-fmoN" + Ȭ @X45?y6Ly6( E $%o}=c7¬0AKwd辏sѱl3hPT4΋Xz"- }iS/FV4-}(n.VCb4n`lzrY8XLӭȮ_/΂U1oH@`739\`2={IЎ2&NU}c.$3;xB}DX/[5ݚ3Nx!+Z3 qܱ@ʲJ9K(&2HWG3t{3s=z\ѡ$M˺Vm皘0`!+`ʌ2қ7,:/\K7/dhvuF H{s T_3!ka5o5 \LWQ^}x``h.*^5՛b8NRo/5y0!;@eAMOZh?N;у +܊oLv$Dw.>n⹉ISH:O_QrO.{?{ӓ< xDqH &oh!f#B':%.1?لͱr|D sbպ0;3n 2k+z}X`_o. JM}=gF)>f|ڀ;Y)#M& @~6i8 iwǙgә8}Iw/r{aCɳt,mCBK^(R&83-;O.2&Й\]{ѐ}6uSD }dҺ.ڳ ]K  ٓ%+({^1o6g闱.c>i AaeL,йU Rc,17Fg$lǻf^Mv+nR7]JFiuR2AP,ϭ[K~䧫 ,\ՙ5bF/9#pdPShzbjv'İ+FԲiʥQg1w2qM. fwބdBpCidrI%'lx@-dٸlɻYh"jic4s $/.Bرh^ʁ?#(# G9ȖlNob=+$%@=},%֓IwyS"]m(ܢA`AC[Fѣ^#Qۉ`ˍҪ~yC9hSZLLW6v#W!BBLwP_:̗&M̕ĢЕE;'#1^ݨ QuBL]EL[T(7ߑ9mhmq[P#xY I;Ct9mŎ i1#A0Gi}zA[~<Vzr>UIsʄ ExHJ#6]hwPTE$o){Ibnu_,%٧kfj]ֵwtbƩ 4A☻; QeϝR`pE;VE)iF3&>>Ib֗i$o>'p|dwiۄZr1֕|IS?j**[ò?kJ:G?2RHzT3us1͜`oN :egn} S7aJ9״)&H9:p$7Y6U/7M6D>B`b{K+OH~2̈\D)0ViKtB?r7J\蕜#-h 8D.z\8KI1 q90k4 Ք뇶Cږݒ{jzO Ggalkȃ9k=3"Am6U0@6!,75RRdW s>`1RX#ZSj'@=.9ef Uxvt23sft^L A^'7~JZ e|Dk?77qy'<0دi57.tHP$QE1,f<Ͼ A1[zqr1`,}!Co73$ Xgߢ.f5&ۯ2ӷ¨hTNӽl=ɑ`'&l6T{Cw x# e,d\;t~nV<)7v|us8;"'G724N* 6beϲa`ƚ ơ S9(+C5Bz;_Pb](u_ˇA%OkDP0#BSj2hQSTn:j̺wֈΗ!-iTrgcR#j"qNq\hO,ӉmA ,tJAFd4On_nZKR'-1G8͙i״ @Ѡ8=6-,_s_fGxvtš $}06e$#uJI_y5cuP׏(ea:J5yL$AW&ګ朣 H™&:a.gs{*xr |Ӟ?<D]C-(F +xTGB$)W3EsFg>:{UמG/YX\JnUbDvX˚OU9m"lxDI|S9i,n8. TŐ0NiU1\)㽻X2 ޿S""cV_U<ڷdiq8K5y59:g >~3s?+5@G;q .<`i'n0Z ݔRO '_ZԄ>pT! uc=R7[~?0TbSv0,߱;:rgC|3H>aYuGJDM\wE: o_)p=ʃ:7A|Ni0~  \<LJA:`m]l *y瀧0BhsHYMoxmSA䃌6jNpIJ1,7ޥOifs`4pI`4SuyNwYUw$E?#qBT:"L*<%02yP͚ud9o?Fu= NӶ&cg ЏJ!?_ 9h bdAfvC !u9jaMZY v(nRlȎ*ܥӳx@oݒ7H\Uv zu)2?ѹv/x!7> PZ%U!hʅ+f~hA&]L@u.\!烤W*>{k5G*UМ,qpoU֨E[$'0+kl_ڀBj7r9Q!-+XJ1aH_5Űz *~KjW# w(B bRi,A+ C 2}usfңrb.LD\(~oPRVG)&7V9]x6xlwqNv~!L7>?e$nKW WdcTlsK3#Sսe/U؎&IS+fܤ6 taU@s5BsTFϱ_Pc!v }ߓXfbl "iz̸;"O8bι9Br&:m.%>K QJj0P>dSflyhY@J-w445+G"b6?:Kg$ <ќN*)@$+N'Ҡ_7?x͕N_ZSW?䖦=߳MضTٛ_f n _A-},}ma4K@,D 2Mc@|',Jw6GjK / Džw$8j=q ]!ȶ!]1P\Ǝ3e;F/xRV 1+ %WlMG{V Hamb٠4G p-e'A)w(hT4N7[)sk[xNHM2[Cp6-n&%fs` jH jТ&+MP7 T ] _V?/lDgb]׳yosF$Ymw@u8ʣƲ [=?i&ME^*Gx SD}HeiJSs ,YP&so|9VfdvǣH z^ӛ/Y`}FP/D([Kw"8oy$W?30ԳBdG|δP?1bݓ<"!?xv@ey;=n'㯈o2325nr(d<S$c@?(uEPz_ZxOJ&r1= dfϲPB8X34b''XpգC i:ߐ;1Ha#o/R4#.ܥɒW 'hqI|3d|(U]|Cy|3(Yg9>A$YLV9e^Ęs']-3TwKQ_ڡ%uMt~l޼7t>Z19*\2q%)~G'~'3s -?^/ w10c\偗X8]~v2߳h"'nu4[X9 Q΋ѵԧe(mY p6Б/`Y.rl?X"om,c#5\R٫@ߕ"ZboZr| e'!`-gt^-+ ~" lj3TLsMMO|SL3"XRʤ&iUjfsbbz'LF5N ˕GzsgtZPʹW@Ce2'i4ޗ""R +,`^BtcrsA 1{82>n[N;z ק8Lx ubJhvLŻe?r}zKݷE]n::~Aw4|1kR>L튌EꆁړkgʡiPŦ U_VYU@._g\78Oi'= 48IsteZX]/JصQe,Y҇2&g `_atYx##<;x #Kpߺ:.e7'=Ȍ 99h`Ĥ0@v}:U2S&Nw0O.Z }oh'_:U|^o4[k}FLt_ aЯ۝ˏ-w}pӐ4$[~̓f9M 3wE_OYːǩkV a\ӥy׏b1yi(;%#ci(+8U6 X5D6<8ycP7ժ, $Ⱦq| g?@=J`f&yHx;ϗR`zɠ<O#]fG@KWR/!iL[pE)aHUe Gp5p!QC$1֘A.- W?>|g?DU.BgFҬ,~KvjMHʳ~QtMt?2iNjHѨkIC tIԁfBg`]lm$c imw (sRS(QG.j߿*5儒-lm34z0$0x_\ҷ v.# j P Pf C|?W r'pWqif;z)D0<6]8.A7 R[2 HA/~Wj[/. <' :%^J62*EYSds||*>:?PwnJDV]LZe1B* bub '߅\ƏP^܊C^ɉV!tdјFg]ΈpfAi% Hx^ duJVⰎ,Y2 ǴT3\[fC-DQRp*yi\@h@&J^Tn)Vvsv ]J,}/!Ws- 1`( ~YfIY}i`wg=Z4v3jBQ$H2mZ$|D!-. 4mx)y#na@a W tA 8؇aݜ<$ԃ6di` K[eTYH9;? mʮAA>,!V}1i+LyA ?UgLCI˱6hW[ kpq$*\ dGYl@ 6I_G4rٷ$Nr>drhCb1whgu[=tO -ϸhURc87 ke=&߶ :6X*lUiI9@p\0%o#1<'[f!Ϣ)m=M]|MQQLѩkso,ѡcT#^Hߟ/L%BZJ>q.\4zp[KGկp*tnmeZ;: oNNX>ͳ|o_ &/3Გȉ[rex ެiֺ#x0?T9`j'Ģ2&W; 8l٘(WLwS \1H#"(6dE'gBzOⳳbZ7cGq_(jām3"HwV'=613sa:/}iEd 纔q.g Gu4x֋'CP82^Vtۂ/ĉ 2k14L`^3P-@c=Ttu[ ́ujI.%r c1>GaZ !:%[`LK4{bp$t_q=.{Ox-F/c7j*|UtK?f;ݏr˦#k:Y=JB8{c# Rzǣv/mIjuj/^b3lbHe\M:+cXۇ-)vZF#4R#kR_!='Wy˔ P ؆֠8pp+Nh!&$fԾ$HigW2*vYG]60F`[lR&?HةzE~xORz* =k ?Vj1`qgu@o`S {j'vp{N H~0 /'ʉ\ ES/R޲O{0ПzaBlXF&IdK̀bjT\rQ9IA.;Pv&=Aw^TgKKayIŻAS -X=HY/ Y2bz(e2PͧlY7N,μe  CuH"EЍ=Y~RPGF5/J|DI$t}ca MĚ^iI$Xdѡ7 o pAu W>{F\XN0kChTU+d7{Z$j\Y< y]@U6f6z9ޟ@ze{\ + DJ?JUL'[g{ Nh *=Үnɣ GFu@en-;6JRݠF,@^-<%inOUcN42Q4E`rzaL­̿N]}RuFRTCLE-d2 ٚ`.% שnfzRgLz7q #7':hXdQ}~C_j섌<boa[ X/e%0]'Ӵx 3+@Q!P Q-mIDό78C@#E6,yu2K6KٕMqLqH>8N^nCp 9#5 $bTpT 6"Iָտ;QcǭoJ o/FWCG+|Æ̽[#፝ 05`♒9 KI2=U"-7FUW:= Yx2NœlE4:Yf8_)>C((@I RgH*b- T$ٱJT[8ӍM..SH݅;c3 /QF b2&d"cX &6.\Za_߮vk!hY&!2 o5 =>X/W2$SSHR$Z懠e%=G ڱXrTsfO\RXZn|;@SϞ#P:S7XHV'RZHF$2QtNz.k +J, @DpkjЗsdZ*en$g+xU(ﴬa6DenPxM&0dMHŭُlVkؖ 1ӌoLpt~km!ΝHI@ ø!'wt4c]VIn,0{LG!F"|m$EWuMu+WJ)X"OvOc#]9sU)'cQZy* a*٭9}fl1"RF|#=ZS'pa`뱧*o~"E9S?@zaYc$L=UXQTi6O;IK%&A&U h)1O%\N=^Fa Y$\G[zL9z(-f ZkUzO՟Yx~1t -Sޔ01 zxpV׋;h;WDuY'(:!OHpݾB Y8EKąyPSEYAK1J[sK$x 3kM|bc+#l/ naL!{]MHYqXi0Ddɔî>MHߒ,d$AR9޼ܷtPi0k rʳ_YofX>Qޚ!m\:( piT£)l >Mʮ,<:%W w9s4' B#6تf|n=7rKÏXmne{V);abRaOKb :]Am B1_?(ĚH:ʤ as.5h28&4Ɍ23]*9CyHω1ww;ML nZ{Ϝ{~ |5;F\ަGR_,3y]U1DΩ"§zC7K]E6(i|{.*e.SWe <Y x%Ut55F0ںd`GHEkZȱKj,wI;{g_rԴ+`_,] QW@Bigph.4XpϚқC#Ĺy1?xOPr8SݘB5y7Yn)*qz ԴjLARYY([k0sN㈱bHxdTMihbcqAJ5,Yw($ED:8d20/Wִ&?95x+B4P~Z{]h yk[4h{yZ@86w9x'\m!\kPWKNC?Kqgr@ds"qYO [H&1K j0 tArDz>`^l=9Sc֕=ijή m3a!v . um&GN өH? ^hZ~bk{8n"jkJAL(lw@j l ;x0L-9YY{K5Ƅ[Y?2."$%1DzmnBY36?%Z!hWֻAjCb[Pw(fs]AۍC6HT/?陓djMje6&{`cb6& #5L2;>iQyܬ.\gDqo~%e2Q3I 1`3;u3$B3勳󸞄[/VO>uQfMG)`:& 0._В3Tiibx|!,Ĺ~v@9SD)ȟǁtkڎwe%y S s#d3>H 6O.r/ŝxvX^'F!j2IVZU10Qң{9sښAzT=SDbÙ &KcGD*TmʔIe Pњ*AqD%-_mbj!:~[ Z{(vIn7Iq6}'蕽dcLpDZ1|YsL~FzxRLk |cCSG:9 x\3dՃ6hjrFȊQ2aQ+Фr38  gAˆ-JIX[ϻOL uDz^)4L?ϴ++h^)IY4]:9qq/]EDfJh֍wp+@_ /իA}eX  YRlōJbY$ 6iŕ=cOOSr51i'U]A\k˵k(MŚaN-Z qE3de4_=/c%Ԑy p\s7vIz t1ivۢS/Th ţ 1Q@;[>_OI*ݤ,ؒVp  xKH'w tb]RIjwm~2!rm'QEϔ+lb8 gw;#eZ;ٕDU78=<QOoTBahf4*y6Mx Omr\f@2:ZK~gsa0\? cXMAV抹Gᡖ귽?e6P ojXcYn2hƧNZW-`a;r *m3E _RnPX%yz{,EN|fr͒NkFug]0<pyGw<|k?M'7]d_OWVǷ[Fn/@~!O,D7D7G bQZr,lUtdft[90\Á$S|X<~ˎҡ%Ra]r (f⬍jnSmhW~iq _Ô FJL2g]o5cZ]wYzw{]-J?*T`GJ$"ߊidG ՄRÏ1w 0O&]Kk䧿:Q,BIwnom/>ݡTXp$ᥛ KloF(>Ahv5KyM[R2Moq0ϿN.ٿCk3wiEE'PnX]P§zĂپ t1ЮK3y - eѣJ4uS_Y3FMS;S-+ь{sY|VM͹O>h# _  [SHBӓO9o G]{q#4$lIȚU,ns]svٿPX:۷"[f*hAD\W T i);ڤp=qO) )zbҕ,:ݗFCUE,$ݻL;{LrO6(rZ-S~.yJeY+$`io]T dke ݧ|-Q(Ƒ-6u҆oݎ>!IMo=ʂ+?KӇtwr; -]?'< V(N hg[6 ^}; ZJAƃ +;j0A 𥅯jQl\ Nϡܨw 36Ֆy"$LDw\E+4g(5AKhPr;Yj6z}^FSD:FZхty-Pqy_!pw,J@L^ށؖV9pCcf'xbY0{Q?lA?]ACCi%X󸑸&%/zݿX% ae#G`O>B$zxbu@QSzk`g)Үmh{WK !̤<3,$j&❌ʺ_y {WuŗɁߞYlm#oM֩:a mPQ3~Ȉw`vc;J )?ZhiTfuP/ (3SFUlg~41]66{Ao"-`A$N}b M0_ء'ﴳh1IKi4`Y5S]C|g C{"lR}\uKDrjhT?CAOދ U'u o l퇩BDdIQ[@tIqGk ֜ˇP3ĕ=DAU EKwNHoS o Ԏk|䲕GwHuw #v7xj?a 2І(},%KɛFRZ2DbMsܯt6 >>:%cVF~ZڃI@&C(1KM?pC|? c^C "$ZGH`/\c 7=e3Ԃ/J}Zk/ ȏMV1o7m_Y< wIdcdܟ. WmC&/]\-hau-PEe5GK䎡Eo]F$`_\77zK^cx3§YyNisnؗ6E!NJ:2Kddܲ;9@LoICcbI/Z}Obq[D J fb-K_be7pc=5.?SH_tya1}G`rW* W5q-];Z|2WɽƼ=T!qusL7`C% mXMHx jɶ\TYуdt~.ishaЩt X_cLu|5xs%KO;!y+k D͗+<(eWaxR9xR^Z1wߥ_62غMitSa"S}x ,@KK4Orbwڀbjǚ8N:#+Cc"dđ~(g7j-ǍyRZ1^%ہX5r \nTKblw7ǟKb=ܳF|`& ZVI'G=PăVO`#ǘGX V1ꣂuYr5b‡}7b3A&XSGcלAӎ>mÆS^쵠</|QwQgI;JbZFl6=!Y*L{&;,M -f.6END # 3; G^τwB RZ9V8ЛRkwcx +#V  G b¦jA5VPcf?)F6jr P"F9c|șnToR]S'5lY\2H8mHNZ8Jy5\B 3FОh5cI5 {Lz -LąbDw0E[00)'pu!ZaQRpU@HڏP\ bA8ZJh@YmI%QTq 8۽Rj5)$e RޛupOd$Z!k̨JPϋ[,+ͅ0- 䰵s!ԤF#w=0H%_:>m{ *+Rj bCYkO?qjƥ.W`#OH18A~q n'¿"ħĨyK$EX ۃL Aq%Z3 Vj:N@k-=cGZ4ԃ( ЫZ'J %]Jȃ(P@GH;THG:SiErS6{QQΘIK#r9JO{L*T m m$wq싐0gp8:&Q-Qӑ,"04;6TOb=[?`gXMtM[P &14+_Qhӌn=hBPױ'Lx׌f-bb.L-S]ì!3<{eCC*SRX]S3I”5^^4}"t閽)1ФRxȗ?غArʯq2TPA܇-TCECbTda[kʇS"x|g1u141"mй}Z MJ87!Vo b| ۯF' kI\BcVw+4aV,/ zyѷw>rE]v8-%-:8,+܀t:k۰ZO0=d:{!s[T6NntLH&vmBxF yY"y 1nԁ6 9# PH7"?=giWeUÙYNC8O>Oy!0 -XPGoW'g e dK]Nxw}DxR_ Xn2To+Iٞ OlMr,,q!o$ɩZcpAKWBF'(l;F gئ2('c?tPӪ@ێt, my8IJ!M<{. ;6~un=y者c.Cͪ1gי|߉G^rWCgВ]fP=Nj*Uw0>-_e٢B^CSڍxj19gD"PMbd܍}#.(}vLD3Ӊ0xR y+SHpuq"hCS2F| މQ~4(m ꍋv*Os|d},vz mIMz 4{/q> pŢϻ4t6Ea@q\`)Yu&r-ڕC)3v*ܭjZvBΚӪN6ꦫԩsfbdYtE.IE/wQ +7E(DgkZڼBǟV[ :c?tTiNhr@~M`~)'Oo'0o۹޶^_ d^xiزWj+9 tgOg&̪] =9bAѬž'% g]:r]Cn="3ۉm910V7aӢ`cydΰHp0 =-o$;ro:\Gp(" Æsx)꜋*&m]yHeikiG_0Ω^hF裆Zr!}' MX.x~(*WYlLq9Bfon3U1ձACx-_-DE2( 6,8Aus n v"KH j+ɳF!=.$Bi# k)v3Bܽu㑪T1PF:ؕqF0[}zA[je2wߕhRep`xp5y)qݽ'`T;g~λcL?_Ϻ)G +,c$a Fƛ! [ѳ5ig?ˋQMpdF~ycSҹR W!}\j+UEs̹iUސ;Fb=- um:47{J?zMO}MZDJI~"+v7ȰNӻD<ۖu8ǻh)Z/Zk: LU&!Y}tBFZ^.sԴC1Tt,WuP xKnAj%MjfSqφOEv;3:Q'& rf.ɧ e^{L|_1S頋*^~'s?#~6b>ł嫱 շ'95C5"YB,桳 6i{YY6NрwK/.26¤G{G,4Q>'?`OTgF4TJd~ {7M9iN*zQpqN2{DjX s7ÝZ !*֡slNcd?v Y/- @3RʾĚ:܋rO:93da&4e"`F">8F7Zi}E;[W CR;Z@ːyH-ݖ+hh7?%u f ݊VQcPL;{HgWxd[]{vNod-kC9,Nx#9zgDiI=wg2$-S8=KZ|>hom#ȌrL80:x^V^XTrkrMc{頟8W6T+ H&PRABW i/ Ą"!eX GPAbe6FnvȈn#0l-` (Dc)ԛ.xn_q-1NEeŬ/udRZb>Y!e+e-6e;",}8 j}EB!ƌ!]WWf㛽KjoTkWdE{aFݵQ=:*xIqR: FǘxեBL$Q-49$qӭO,\%.c>yN"rHB]NJ/I{tfn~G>S~0A0,&=nx}#CO֩ oՓZ)eȕnrhŕOCּhg*; & [ycDkPoAq\ҳx_"w;.}cq,[.ǩ~yy" <ᏢmeH?'<;BLȿ1oF >V{:v}nnBQDz5hc6{*2@7R&d͙(.6i' #Ɓ.w8Y|a43h\A9c!л=)! d)!1:6!&q`25G,e5!:e([ 2OlxQ:ȾXF@S78}*GƎ?^{UihjL .6Jx_(',LD &_ m2qHL=ϻ :@S1p O9;^A.ԛy1b/jB,Z_!GUW`lUF5{v;-~Ӵ~! Op\*TAi{!tÑJ7#a|e`nj3l󴥥+ЖXWlU8j媃t2BiN)I8h3ppLmN/-!zCS̤ -! y7J"Zto<_n ?P8Zp@jf-p5{q> Y~af hxjֺ%!I4&V_P/%XҌz&CAF^𨋮-ó^Tɲkp遃}QNaEjD'Z(cb"k¼^:&K$hj< A#א$3/ [{IYU+9TRzȯ)G JQ'b &0}e>$u+A:S8_U%ijbV"_lt+Xeag)vWeFC<] T(ҫԈ L*b4eׁK_ȫ t14Ӌ5 4>"?Q9S=ƈ bOiKqNuٕW9] <3;8Z%\'" Ucq# ߨ-)ZF"<4^(ԍ.BHb5%Q㹲mk]'|Cuu y?zi@cD C0cpJ%c~:್nmmΣoXN1PHR s\ykRo d];|,գX^ g4(-̟\4O@bվƯh5Q HThяK2~@ ypDMN%oEBLkNE[qvXM;+6+Ͳd I3% z5v35ohs,3h47*;9:If$fPIIaѕtjlhdqy.RǪ~ _hG/@=kk7l | *BNb06ƥ ^]Pt?xj"<~mB1wrU \Bi$՗@yW>_;IHq8#-C#g /'}T㽜\VPeIJzwpI:@GqQR@*=7Xid㉞my1#cB,C]=u LHΛy\m @X膥CGYΛ[63!Er|AaIg;gaDrCӶ(I Q#ƗZPhXLٚ2R`?M;&犇'=MAWh8z4yE~@9i+0N|c7C&uAex6ǠR'9LG)?ϔ3)ޖŞf%FÔMlv8|Z[6_#F G_@H(*ω  Tæ?NAlt )q4=;Tzu-GpSQ aoy1r>t6SR "Î[ EFZQp""ň9d 2i3uEJFS?33(|ƑgEMg>na:vTAι3mвU!K}3ˠq Ce0Q(ԉ$F{U.%  \; :8#*SLֵfeiΗfIGI2=#E2ϩ V**/beK20酧$H5,9~ɪcc;iodusBD?\;82ЮHEKIst J7f$ڞ s )cÏnbN5@ʖoS$e7&>ErAQy:ΉYl7AyUc?q7 Lr|S߷A1^"lYbۀWNX]o^_ %Dǹk`yk/P.G(#OjcͶ}B. J, 6kMfŞc  l+ӥU ;b]Q2)σv-4Ō')@lr+j~t`!ǥ"^6tX~I` 0|O-"b0N\39 ]HohwTc/"vii δk PʅX!N $D+3К*i>`GN.li!lD!zG|I@`"kF7Jcʕ7 t?Fkʣ(N4V QD2ƘRf=Cяͪ ߾,tTYcLpri[bit-C3;ǡ5|rKy+LsO Ҋ7cNtUkOrk9aYKjGf"WYQsw902*m"Q$2Vno;\x-}x޳O=H,lWE݁T|g Os/[I𴑸ڒn "mbXnn,1)yiVRE`j${ U jic@ AIxl|HF6V:icx*1߼y;i0F"XS=GL'kX&^aSpa[jݾJ;Y<>SޕͪL"NJiP۹B(z72i@5FI-H3 JSwS_"8yسZk@PiJgU֩}6MFkl]w,^.yҕB;# ?ՔgiR){G5r׵ИXq`%x u e&bYx=$Z-.0jY]d>Pm:RXF(U6T2% \P#[߱9x5Z]BE O du4TK$nT.27JKWiB:PTK.C C2V[˳ |Bx l⁍ͷԤo}T@ /ѩ!2S#>;J$lf7fwuu=_y"D6(aoAeI&vɌeyȳ,--eIe/W<`k2Ux4MFSRJqaSl7fe(`]2`} r96N`l{'/;[,x `6%"!P©Q:_Q#*F )xtG:0)TMzNP6)Ծǡvߵ1Lh q>wRe; SM9ccI_WX0o'LKW{dc8IBRP̤"i"H1NyפT~U3-n~T}UVF36\g@N=d1gH Qs@F( ^RO[b#!ry* 1 t%)ok,bv^'~a|]ZFg(3zksӫ6YFH<ɿ>Ύoƨ-@w 7s3'-gaCPOVFHBzo`-麂 y#PyٯϰD]W,CR22Rm@7ӶҾEfl/'0JP <=M|څVRq 3Csp\ZSB)\f !‘P! Z^sƃ>il@8<{/8wrvdav#5vGP**g8Y 9wͪ@6>catׅ|:dpc-/]swR1d Cٷ6\k =ߺ~EY H Bk̯[YBS_Y3{Hحɇݢ'3C)q"si_v< GgoTui3}dOBpʜ2}>N͂"D_x_zt58GalmJqNEi`RnX]aړm,^+l'0{a>kӄWўf6s%b`.y2Oiӥ6:Z?N/5"_Ar)Bq>a$s1\{:fØNPyTA](p*:x: iɗjYzWs ,r !zfӮi\E щEܕlCՆƎ7tޏ'Rn:*($޹]WSO?%3H}*pśJW;O$r,|v3\ |~vzIA9̦;Acr0N E ޣؘ[s#m.װԔ{}gY8l;u-`ܟ(wyeG93z4X~6]{M܎壟hȀo}m^P┮wԊ/1{Dz.j8φӠt[Wj9PdWt `x"Uo9Y꾠گ`C[x ˁ$;PTbK%n9)D/< vȼj2Toivwxb*d5C42' ɾ(f蓌QIbd$ă}<MrfQҸ5r'A}ai/=0F&ɯ)7̃9 t#q3m?~zwX{|l{zzty4ՓD|( 0''9=V.@OYA]1A+]=E lM8|71&ĂUjC$,$ZjTI9M),S@fӧn`+4 16G g?|=m߃oD fnF="hT#r yvuMwhk6},`ވ'V0j21tgf~PSԊ %`0fE}Nߕ(:`M=OU2I/H/fub E=LJB1 $x OjD{>{-[*O A%Vϱ`1˓ XȽ+~םӀLB MҽT_"t#-MV] ܚA]QLW6=$XVMA\M`%CP l WGiymihyw&5Hzx{sJ!8IP-k?8L`/Z6E1)}HWwoY )Aɋb@Iݽ^T}~e^7ķ[Ltsr(/W qF`Vã&wHC&J00gH¯ >/R)q- Ⱦe0~bv Yki[;k=i`{V@)Id}kizbVPZc1)sM8%O\:2ʸ^vyQ2%ta Mo'v£,Kw[-W&J2 肝y r Oª6DOCܩSF5 E̤ClljM܄ `E qay un#:?!&i[6M-5q 8:` ! 0,fmT({ZE8`(<$(}8W?G:7^ V }oYDD?\J;ˁC>ytfNW Qg#>/ia1ݠo?a_{M BiNF] x}XC'(q,d߿3ij˽%@m%umZ\PUP E$>r7vf;}A`R\s܋~hT%n͎efV'(v8$'Ӛ"1~ϙ;xhk é"e2Lhaa 7nDA8HWL%F6"P{=޿\L Eþ[d-]o(X+Bv2w޼­Xn Jnj[L"=(F~4=w&*@0b"/5'f/䠼9k3B8;Qx4,kX1MZw ɥ3a FߊW!tLŰtG/IL[F t(݈%93 ȵWfQVef\?߉n}@BWk}MrEguvm]|[[Dqywh%& V*hkjR[60W-8:O"忁qxƓ.SoI>Q To(Rf/ FnOi>B06ĻGBqg.50~^U4njvN"IMT] rA:dTv6_ v~Vk6R_M IX;=(n,UG8"^8Tgh/nC7Dg / m$F=j[QMx?u:<]K{}pgcEX*-n,D+\Ngz۫ɞ O(.sG+x4q@ vOΟ,2Rrbs"*V:M`Zbbz1uL;6zPD%]Vt 8(74Nunݤ>dߞ~lZɞLJ}OLNrM9k0USn ƣ+]kQ9 H\@jRҖ:[5V/Z(RxfgNwǒWt9Es#dNH Ԡ%>e>@Je׺T >yEͬz1dwEMuD5%ӝ0q 8v$s@9NlbN&š|LX׍߇uX:uOBPlP֖m%C ɮ!dʧ51ӏq{Ȓ)Tʂ|hdtn 4^wѬYAo-?,MTD8'HU]-Pmr 3{T7Â}~>e4^\q3[3Gr kP :,9E:AW(4AI#%N]Djsfpd%wJdxvF{NQw  JٌatLlڱ=xQiy!aOOۢ.cw4ؤuhH/((g$Wi^ U^iޏƺ,7'rTdשWɃTa?Wz*BIWb?BD)64cX;o[y 筿&Tx7al<ߞ̭n{=]~݈|Ҿ#Ev"* ɛI4h"0"NzLTDXP̯Tuڽe>XGm_M*ᅵLtAAޭ+ꅭSJE\^N}$)P,w[(bՎItoMjmY$2*ȓcaaIʐoMۄ`} M:5?jeS!7Ka VHXW"{qNpB:g$-ի<, BZL;Ii~k:<3^P-VN&<QUAK⬋舮z  Џ:+_ _0p(5lxr2C]í٦ a) w2[v23i(o$Ekt:;L,0XyCɈT׬L,FyNuA(d(<ٞG#QK'fPgMak ⪀yED[$gg92a9ԼhRzEۦtw ޗ{'G?QU9q\k/%"kQJMRw)1Ko1-ʼ.xbb@=*~u;= ZQTþ~8J]#߼W!L W>I tdF)򝝊Z169 {BzgG⇿ lbi0{Ԍz":y ,k頰 0-5 s@!3 թX-DiM=/ͫt2OY:ohO$?u'^":r}^Źzr~-0;9gܳ=?l7#,ף!uy^%^=鸕돈N(;s|T{x]99bow`RCKOPDNtV 3[ XS(Ukr~k!7m&.L,h8o4䩥%>Co῁t]Ui ڊbd\n ~xF;@F95Q:=L:MUލNO_ iׅÊWIc{2ڤyh~J>=-)^ʇ>o:_x);J X A`ԩm#p[q0̗.yUiQSLpirE'U删>5}$TtЗdở~9r [ҟyɑLڪy:q`|v yT g ,#E)b ui2{y鍃 0[iۆ}m\)Wr!)!aBܔBX_F8d-PͿ3 wY旣rc nJt\["ldH/l)Ҏl")D-@DhePÛgZVf tGٞMHՊB@Lҽ9dgP+3%ŒN5i]ՙo̵ZqqI>Ϲ_5qO 66JFT4}/ e@X'q R&Ώpb#($JnBQS+]IJVbm:?qms\nwZcq\bKպ~wnle)?7uZ3뚴jޥm6}n jQX6v~y%#!oZNQ|XՎiO2ۊQuY70#pcc?8?8ACGXr 7+O3]y [fM9;ԂaW%7 k{s깨i0I9"0EGhiJn`厖 s-"[(&Wa7ϦEm0/ ,"ENkf$w&A&V> &pC8Z;p- CQ_*h)uݯ?َ2>)6,5 f:R}ܸ,֗e^4Z^N1f[K@~|,q$'?z{qrWnhi: woOhM_Ass`qyP }l -Nw<%$oo %=B{?`/tē#Y$ Kab}>Q*lx`k,3h8txz{Ÿ`Leրᾅ8ergEȖQ(!0oq$R`~تEEvk-c֥0"X\vutOJ1Hm`njWCD e?݆A4Pr3Sϭ3Q7RX>6ߤuk޵wlGE]O~l0MWKEs (@,Wg?o!`4 5⮅w/q&\NS sSo۵uE>Rji)zaĻTXVv̹1~Bv~SLuq hv5ŕ6B1(bsXܵrLGηjU"$N`{ 7^1cOXC_߯V7zz]BjM "o~֏#ZTIlC$-p7g_"V6;XJq/=&qw[fo<=mlB^bZ w3dGQfE8r4|*N-hSG,ԂP0^ԋN ~3܋DD` ٴN7MgMߪ"4s?ցR{ז3xlt Q12-?Q/*ZڊlpqUJ#J $cH$'@52HLnRZn9kOT  Wi_ , ;/:ݒxpR5Bف+)ۥv;Cq:31 " {uE(wc(/Z5\|R_5.?G5gLsUg=0ܪKs,XAKC U(M~jk:ّnB7\<%ACᚔpKIY#ʬpk''U{Vv~ȥe1,i J]; :Gve-nP>u2I"ηhN0M)p&Y#yU- zU(qxhMo < Zk}~_YCV- w m'k9$9U|~@e&M=Mw~O7):WpySQ/I9Dcj~EX8(U sj{pb @ql rV,|iiq4Ds&:,H Vܚ7iBD}8Gy&yxCGO>)f"#G ^cGMRAzql2o[Yq6Qް67SoϠs1Wro[|q_%צ/*Hm`]HZoh{F5cdP* /FfPiw@7)|ь L gJ\%@)Q<\7=^ֻR+O:p56ޭK8qV(`'W|3UVmt/yA[ySJhSr^-l3X׽5LBbr拓 ^J O֛Évι t:rh%C`94j3AL @ղ5?6LNESyvedG*y\h]䃾ɻY@UD-֓v %a(>#ZIn*|ϙ3;b!$U5N(?gd3++Fݥ!wb͆۸$?Z=hp tAh[%e캬dıZExZ_|8%(y͞k,H( Ǣs˄30OWe#JV=7r1nTtdp! }Bys4cr59r[_fM.pD'C{#a]q v\3eϮʗFRZץ=ۮo.zR: svl]`⸥N<^0p/{xy^.{3Evf/Z%6-S⽳=#fRdt>+2Tl\HiMsNpA/GŵDplʼkb_į/E.П 1V0 x*Q BԵP=W$ZY3"^i}w?!;mz6pd)/OEjd"h*@`Q^GtRGB2\oI~.>v̆nPǿhDZp;;P&1z_h_Ea}Bϐ80hx&HH3qʈoBˆ`g4>z/b‘2+dӲ[ÊqhlcνtX0z"{5bCrdo3oDl,$~nhNȕV D/jNA8J*sũy,S-$4Kӹ1)1k!޶5AҮ>]wk:a5نzʃ9!؄ mNq,"Οő^~V$Ai{%<H̏[ #.b篸7ԨLRCybg! nrA|Mrθ^CT3ε6E?أ)pQ 5۾EH5bDŰhe $*8}F'$9Z'&a(fzCDW}0k$Zt^Hl3PYŁ|ؠb"ȴMLљZ#澴NwbN*eߟ)mRl?TH~xҀd!0S-ժui Y/Ț~swyIuJle.jKzf6/?}evܦ}K? |7v@d?tw/k*e$m?NN3`'+:>lf>>;3[轴6Z6gǬbΓ'p{NP@S[E_La* z> 8S>J{ 2׸TH GP35LNL|rU|dHT!וn 4T@ڸF#<{mϪ٧;J'!j3әPpspzQK.ADʰ$ɥTӛE8gcUAo4m\rfأC]waljiory9h\8TQ3x,Z񌾤O*V1/|&2 H gXO7ykh<55zU$2?LBgޟmY^P\Zې܄)D."y/=B=g] ĽހŨ 4B+Y P3Q*3 B[ jĜ;go])JL$BzxUj@]V" ٛ+VZK3N%WJҾUpABm X5/*t[(a ֗X&9 H8F'Ե_rfo2~Sz])Rw bK~P yI b'μ, ЋCƲJ Q !&PC(Q?d  c[[_W-H`,\JUQXPLXUg־c*&9Hor›[l -L*`뭆[Dt'J;vԮ%6p|9HeUkOJ j3%AEc'㠗z@)rNolNx4^(Ob>8OTuJpm\N#yML^dtW"%1 ) _\:{srgU XpE9fb@sL~1OWePwJyS'KGe} QEuYCh=CG;D+kJQ}~#sAJͣx;'[#݊^''x1B{~xO T &9hB"wn[VRBe.4 ZPE=-V2{ڪXcS֐2 IwZ Q$]p Î]U!Nh[9z 4Q{H'ٺWw`77҄^>VDU+%|o'nu%Fa8 BC٫wRW(i?t_[Ow]VD,͉z72#y/_rƫt-yՄ֢3Lð"9'o8suly @e<&~,JNmz+!vdӨV7QNbϧ ,da"o0;S<bh7"+D9բPM1}̆i7‰r֭Iki Ep!! ~):*) buydĕFcD0²yZNȏ 3|/`e`JdF5Tyz#xR*%q2. c 969jOT/IK+*E==q: ]&]@ Rf𴏳uv€/L^GGf,љ%sj}Yٙ DL86aWl ^ bj?hD}/]1V tI+37 HN҉dV /`G`ފT-d3RLI[[7mL 4a6Dn!ٿMF<2b E !O힞m*ڃ? !(bI+sawxO㛲`$ Ǔo̭u0EQ|;J;`mwTE*!KhIjp.d545 '/d HˤdD5+I6j)'gk]AhPEE=dn=D RѵA^wFIzvUA |3Sb7N0!B'}00'q_/sᑋEohD' p̤jɾYvh,w5ȅV0*Y͌k-e8>;ll&GcK>( ?2;l+ :]u}G/ jMOtk󃌟ͽ:C{NNI8`*Za&6o#6w RLO`G"W:TS_hD/sϰ LX<Hܸ\2=$pAjY+T`0$ϽI{Be=ģRĭxɄ9HGp7x؇?ܩ-*^rhqu<)O">ف f}+$#ZvD%@zM.`VDxiwmD6E`7I\Uf[zu_S˧NV"Qd]ܙ &5yUtbw:/x;8fUI1"`洂U> *SM%O%L#`MRy*2-V v s=ՠd@@p= HB=DDOͫ$Zx!Zu<لyg˭;\64&kZ<+4s1M)qnq[W7+2H3E!;LYv0_6f4c|h_~W?C2O1w1< ISt91PAIb'HMdB!/9?g;F=.P \eH EeߨǣgRrtYQSrtج!CT7,sHi[~?X<g*`̻$b?YYr.p5J+,AP῏q#zFk=M6x::-+?b?Zjǹ,)fl*MBqg><$Xg@JU2A,"gocWt2`]6u8M`+}ɒ*gp."u-w j, @3$Y4}]ۗ~IBebp+1]o}_I"gW\ B}w!ZDt\L?c*rO1D р[cyv'_&E.7YɇC6ݵ368V$&ӯN|8׸X3M30Bs,(c*;l%%1[FXZLXHګJ΢†*V`}0]y\:/?+r/L`U3kR+˵}VDeL38p/zy͞obkNPp"ʏ k,V40VJd_F1h8^ v ئ']`woS@lG+k+,& nT(ڵs郿!;&MCG8e*.>,ىe} t\b/n>Ɓ L]ܺΞ\kn=MӠRZܮb9:fL2$[J_4B:EC]{`z*P, c6TuҩJ.Wc"3"TS|Y+2qڶek^Y={4ٕ>͈0a< E>B}CtX) (n5ehʃwe5㫋vGP <1p Lcдė'Z.8}H8\-eF+VtRfaÜ]M8Kdx|'{ֻ^) O* Fn2{h& FZڜ s-7W YC8S=ۑ"F c;iݦ EB2xfIΎZ*̙k.[ỸQsO-r;4*i8v (?M>/~noglZaq1=&}Fq!!wJbX]ArXp2:)1aNͣI'Oczk<e$AZ1P@fߖ3!-8 gػpm;Ci O}vĪѵԑo K0F;ҥqB2*$Rt,Ǖ}m@*kkW陦t݅id(x'..뮏-\X!ܩh;+FEK2e/ڂwDc%.(d) tZ=_<|[QΗEyF]b(^GQBl+ 47'IDG9r?.D!Z<>A(gJeV,ѵ.5u,gf ,[. 2I>m9H#Vǝ b%nsN3'*?+bCC]@nYɻek<˾C%8lM"~B)2l؁oo/E,)~!{Oo _[]y,41braQW/mH 'mg N ]xtYc$(; ò8Ni9ڀؖ{UoF@eu*0IG-ie*b%\hg<;ͶLC<\⓲hEA+-q@:Be? N wꦹ?~k| OP,HH" +;#.~9wtm|dURUk08=R gHG) QAƚ)ng97j:\^m:9 yL Ro8uY*'Ӌqjb?1?&\R᪂|Vz"zq[럐+8=niZ)?#7]~&RDy^7 PdB;PV2c I4#i]m"w`r&9DfG|E2/mC'@{ŎOW-pT4|D+Dy9YO@{7E,CF0ѷ fgͶ (G%3:&)B_lWT;w#d P)鑱k5R DP|3-HnҒĸQ+8  bC59H? +hMJzuzTgpv:1/(Z_@# /hC81 >Ks,MXPe +侙=9!)TWDC%G1AKVΩ#3sd)iYEY.b$zzF6TIҕpqf!h|:)9+=?h yk3D,ݣ\G"R^7EGХ;v&^0yN v߁ÒљUT \=lUz(i0)ީc#KMڥ CϝsPU-^ZAvyhq:!,%&r싷+^˵6Q0}_Aj#x6/y=vpίbvqO X#땛X$`Ĺ%V 3~ a%EjAntѠk`8;{h^isg֤jN+늖V(KiteXĎjjδNh;]N^|ދB̌2~(1}1q#kzQDM&/H+O!rQ/8լc:΢x~vY2MeV-=&BxbKh)¢yCDW-{IksLЋ +u5cc_*퇊QHA`^6~ 6 rCN@I4Kdd\.|Vm0uYP-i**;W鐖7l kV?k` x@y{oUdIxƮ$pR:wN^"Kd4NbPL)WYx;1B7avNط2|'Z%k=w*K/pa[UVgHO؂%>FÎTe ׄdib/`@SM{]gvhkR7/'pAC.NR40g5#ZC9e49.S/X'BOrS١>D6۳{.|'r(;#^ѶR_5#v2)HߥL+;Uh~UG}B l.s%ARbt(Iwm u/ݫV5k=G3H|lD|h6:}M' $ʚǰ gav3''wٱ2l>*RN|A`Jh#'ln= !b=@ښj$cT?u2$g\-L>B DcJNR*Cm[_+TbQϼ*<թ8LN![lc6Č\?`bZPȭ&։3tm:.n9$( 7۲7o;6ol*}d|l^ +/3^7|nj{oN@hYgya{U[3Cf()xC2c:xAl&Yx7~ywNA.&~z`_sQI\rifxYbE+ 8q+U\˂eUWܐNn'U4r9Xd죨(;fwv#-C<7ZF?2P^oqNMV Qa֔.Z66 c@b0CCy g:6ĺEiŝivAЊ9'ZzgEQeKkIPg$C÷lTD,F2~هh0<7^yv44(hވO K,@|N n53w~SLA0u ǣ"uocnu" gS{s Y K- l_~'6sv;C3n |JYFgɃG-͂ۇ֢~A>2XT41|6~6j \25]Bp +}@FPբwB"ߓRNAfhfe49f!+WFXP_=\6sȕ~ȋ AƂGx;C ħ;, px0%8[:.-%rY_G5̙fo)if%/aֺp.Y>)RRBW3:lAUCx;Sɲ5 ,ҡ]D'y9>Cm v!c`"Σ]$ZWrcIg [$YKkK:hEԦ9}̏"1KHkhBfh7k8\E Il WOx7-sb2eэO9(3K3MXFLbt+P%.=F5BRH]q*R~8,YTn+& Z lҨ&G42):lK:q\O8I?>[)`Pk$8/R<_c6| yHP̪1)(#eV&ڔ1i"zADžgioS7GN0TIrƼ0 .Ⱦn8 dT#N:ѻa]lG^pwYR^gd6f"/P15Yk(9!|2q%xj0xZIܰv[ Vh~%8_Q%OzGF҈ݢ˄Sê,o!}dg R,r; 3TU;] _h:vW'WFg{TB e2a]:8^š $|gaB$ SYKClSoc^Rz뻖yWAwԶ)/TX #5K+IF4~tx鉳 e.&7`7g٢4qv܇mG~\i]c5 MzE p I9TС!q=?k 7.?vB` jY6/kY9Kt=Vg9J$Y1M⇽rXOJu|Y#pA(VfDIM ͪhVe&!Q @Ke'} `II!SCsյ́ pV9ɚln5`\,Pzeџ.$%#m!lO $OfWCW}O` %qѰ\ܹ?2^9}M/pJ)U;d)v@uD`Q̻1f 8X2h1Aac}%JVl;!&6ଵ8^Hi(e53~/l:r2;H&,Z$ >$ K\thөѩS?0=32K2ʜV N -^}I((:: t*#T᳾3C@GgO>k%Gp.%|g0p&,%!axljw>(U$%ջ`Ά8*IYdn ι!X"Q$p#m>?5oSqoB"0ޖ>œ3A!R y;z~hGQoM3E]&%߂%/;]& L_eӂk'ʆ$!Vz'h2e_xv,>HX(wP&as5הr6iVH ŽG]QʿAB酬rp^,Vni?V9d# u}:>-Hy8`n,Xqu(OCҴ w7YeEV lh2 6F<9EiH+ok_ &|O'kW<[EsbV9P0}~T=Q3xd`*>ny>R͋Kf}9ubOY ";dYU?hT_E?WA*(F;ū_*k?/+ HB#QoU.Q9HGͶ1`Z[MiHrAE0;Z]x<}Ll>Kvw2#(]Q>vϫJ:ɥ" Ajajv :,X1{ (&s|ւI zyXLRv:!wHB 3&{iKw9oP3% xm_¥0\VB'?rZm\h0'rԁiy Yzֻ1$v.]} xy[M!o\fiL/l@-1(nBE##w ə+Qs%arfgN\qHK1 ^ v8s}]LmMx!yT)Kє-G9 RMnU7=\cՊ7[>?3w$¼n+z?ZG |)'$;~ծ!9e>I1pGaG}f/yi0O2NR qxI j$I.z9L4NloE:h{CB- #$TeG^Y @| 'O#rKmtu[tだZYf3$8F IqaCӖyBE!"T{e>k8.wNTFEEKxa+'~^?P=|5Oΰ)vF ޥ®Z}q! (Nߥz'QI% I6QkQ+%'I&0DQ ;ڿѷ{9θR}s mw-)z\jmACq$N)R^n:pd &GS}ۺN *\r8v:CU0E2R^.O=}2_!$Ei Q6J^Cxe 0E!X=փ2inԁ5cR##]ZU"Yġ`kJ%6JD#[O:h(S[\'V$lq}ּm!-qT[Sʎ^2ڧayX=F^ch[:63Ctl+S`Hyڡrk"RشHU^~=,mgCR^46N:=_/i8٨2]C neeuZ)8Ɠ=&$)rUF'5byeiʻBTy97 dxOViy]܆<2&]i%v=Y]1~8Q/-2'\Vfl[`(ٯ{p%.Ye8\(BY08v@fdip1W``^;Aź}?=Zt^%ۋuӢuЂ,4cTA"4ߪTR:4"AlHseYJ>-6y^~ *e.6pB 8ӣ|7bN8Wlcv UInna_(C"ѵ3?6laǿ!KJ$K ͍çhpb6 Z7&JzN|@Bh>Ϻkvb7r\W7Q|*YݟX7i3lQž54v">*aV#X,GHMC\C vR\읠ikQk{dfZ\!]@QWR}$g#W>bNRYK-mB}nzװU7绝2N#:0= /u;0 0,wATomSYޯB1ԯ4rT4^)Iu7 >cCa"G2lץA_X}OB;_4{O\I1 e/2ve]g,Ã(Z’;\Hqar9^$~ 1ID1a-Gt  ;#ig >;>Jvs)Apz j3Rٚ]5#X) fP&$>~&_l hIT,Xv)u0IDmjuK*9ln)3E҈0b=(O{u;7m$W淖:%&5D ږ{k;<3:7{}ɥ1TaY^HcՐ0GD5Ur)ؔ;ѩQؖc(l޺")~m 75|&m6<&yF֙&3APWqoI0dOo"YA8cVQVZ h' ?lnrM4;r*Ysи^DwWfxl#"Y>џ;ٟIUD.uxwBB;my+cы,Ĵ(|k*n<0N/!Fcqs#.3y0ߕUk8$9,Nfx&xyrWo6Z:&r;1?ndbyjډci4dǤ)R'y&>J?SFҒʵcC/vC/#i5Cׇ*Kh1f/;M'Cͭ E`YGu஖EsM&CȐNN! t[UGn*T6%-O'!g 'DP%]ѿ0mUB t7qGx ~YpNU&sCo5#ִkJEpܪlz=#W;ɭ'kvwYB>U:WcXZ}|-ѿV,HoW?d7PE qkCe\deP%COcQ_0=y5ˢ^'=?퉩2xx)10hh`D$?]nG{hKQMHTiK-zޙ(kh@mj2eDl  8ژ"L :PA &C%fS⋽ .Q%8Q9onS_EI#_7uHfnf B|KHOd0 #`1AKॵ멥E2K}\>W]wȯV^Xsm %V&bk0Hg5eS۟I \' mFq3D3蝪5=qPҮdNM̭O5`O * +8f9UaXaܿ)D3<&$^/5$%?BJ&a(P{o ]/ͩH̸ץ_\B7ԭPpҒ'Lk~G6$$]`" ^|eιq6sx##˦&¤Q[q@*]YM mJO (YwxSK R˔zJ;Z<&DTV9O`\цѥ[9l'.%vZӔgA}9tB\K*NF#vv8y%Q*7:j\i Wni7Yhmmրr™:h3'(wc.(ۯx+?mЋkK +%y0dݩo^V`riƩ-@(0gOݒ4%fHs 4O@%z{'gkƀİz<ʕtH'.g|Lm#sfk]ϙtoH o*Z8% .MM>ȄW, {Wby=_|[,⊟nsrg,AwN8Wkijd uVM`(g36 {h_[kUBBXh@f?HYtHM? wԴ{'tVRbh G-=.OW! 30ʐ7CꞫpܭ)GctAYB(klq.6*s:!k!L[} Vؖ?M;D(9Tz6%4/&DBDZ\ˌpS"S\K4'8 ֹ4S ^|'+q @#)<42r yDk1h]1vBHJ!x>B?8"cŲ:;y"*ӦR0mWf?;k@36=1g-}ΣiJ_+[F]}% R)Q=;Qj/Rf%VD ]m:AXģ6 ڣ,|ɂqS Byxvs&ܧ_⎨>/0 Q⤏ć>| KCateIgYo%smO{i&sʼnRI2ͧ2ltc{?[]2C _*_92F;nhq_ ΀\Fݝ^-K굸 \&w8eX4筂XM`)Y'̷pǣ5fz=+/eC"o:kG/wZj>\W.h9FAG 8My0h{KZl\ֻ`_޲"^xLXBn4 (jD?BOGiN֣Ci73\hqX=̉"E7lbjco猱.Ȍ"CmaRĠFAx#NZ _[yEF*:ٮIYͼ/[.NȒn98XfpWЕlDZ^7[?%"^&FYBe4B80`<Ө, tκWHA|+ݖ'Pdu!stDfFPvkg>I;{csg|D $ pd@ ZLZv:%)H/6ÇǑK*(% ÅOJa!{2MGT;/\Ņ!@eWڕWK'并L@r WVAq< C5=F|. 5 SnUR:d|0[` /2'!wa-@Ny&X-}.Cw(o`m "3YYEц7 t#@0BAnu ~yB2dmT*^3< 6먤.[s9sA,9c|q &w6&uyl I^ k ۭX5mXIٷgFލ^"@Aˡ7S#hG~ýbO $;8J86ʲ fgӢ񎘠ch鿄YpB >~PU,ƶΤ~cKˁB?9xg9ڷPꪈ;'?]G?M7 m*|r6Z&Pt{(<(#OE>9(~RxƏ̣drNgL3N%L. Zf4k3ɡ%= };6J+x[5^@,fj%^/s)ZBP7+h4'+Xm|in W`yqޮ$w9k0 ч˜W{+`(/ݻk>:tN0sºeu*׽>@$VFZMnOm|O{A0C5] ¬~u@v,lm G +2P *$\d,B3rHdlǔ\ndp5忓r 4D{7 P߹v> 7H͢nٖ[wyA+ ,¦gXޱw$Er㴘:O |N*Hy4fvBd d`h"-A=xKG2-ӌb92D}MD TvIN1`X x]HjYvCZeHdoDD0HL$#k 4Q'lFR}z./$.$i5Ml ȟ`)P$fJiMR,'Hn1גviAB!cX=aCFhF ތvJPDԾ?l#&?'wE;jWTM߭Cj-a}]W\g|7sK u\5 .4aF^oq #+qk_>ábhBrGIŏϊ^kOk bOK\_{G$aJR7 Q\|PA,Y{)L?(/b=[kg<@k~,`F4}9X{C ҠևH*.)}rh`[dJT 8R+=bu5.cxw4udwdX5~.,/@7c-J4 &PP>z=$ ?+˨JW9wNmB gm/Qw9}+^6H|Nk9k ̌4="P)&xuǝ E+^vjk,>y;a\lĦ `"1:B`\ruV z[`5s&MXi 3ϬYG8_K6߀ܒqm~bIM&\#׽ձYk_AfGYxM?Gr ,00t$LIRK]B)%[ EN=Y9dB kB"ەrڹHDb:YB : کxaYɲ `'rRDY;1 7_l#.teن/K.eP@Qk} 7+!&AxAuo:bQன:/`KoW6|AKD[휣iPr 94/|c~ bۊ!eԕ~F@DY RloL>լ-?QPRW3pS= QnM} Ρ x,2 i 8LKvWPlY4>ebDsօW=#C =#wY@ P*W.(Ѷx\ 4Y1kSc1kC yH&PAcy6Dp:@61llBxB2E˼Iu|Z/0byL^:1}F<<UF610FZe =Uo*EgO5,_Jb38,{w):ҺгwrVZQ?}@q<6jp_f Q } #U8Y;,wM'́zIQ <8FM> p׫0O_eo$ xj+Eh-E8alէ@avaΟjXaHD݂*OLFZҙZE^NKb.Iv  bgd-{j~QV ~-vpQg->6}&$}0P`^"ӱkh;Go6-Eڵ9¶gAWۓ~|Hl1xN-*Q_R5Nbsf;Ɲ&sͭ.RDUvG;={j\}[ I ii*#~yK[# U. ,TKrX#yn|jB] kݓ26e%dQ$ #^q2/̾/ s@8իר;ؤ0 sֻZՔ=B5@qӵ>nVi|{\j[ kƏn!t?f<9q徵JܒǬy _C/-\ޅJq yρd(W3dPTÚb!F;&d!kP/clқ1KYWgxI,sQJun2EL8φ[`mIYo.'Dj,|Qu'FRPgm%#V(ZzDF yYw`g Ww=5 ׬Ũg;Yw͘4I 1jtN [`ھut?tYs)V},Ic5P.?2YTW# '$\Hh> zI.밓¿PGgߣ  _OU"O[*~Hz\?N{ /32bUXr3LqJv)e 䩘րz-/BO5Ws_ɹ9\iDvl8+ ["%`ymYΣھs>cz٧HQ)PxIiVڋڑfS [f'b!ܓSt֧rW9C!䪞I"L+f~a!~lkEr 6Um\"5 R;{aĘ35H/Hc7qg,XTLuKp ܲ`n2rugJ\:G.92(mɚ}`{dbMP :|KRcYknפwhC j^Aa8CL22y *Q&6`"AT j|ƾGCP?Jy.~C:-fÅsG 8:󒍾# 4S;v+Jgm={BwU}Um.yf]{'Ʋ2 ?gz!? s%SSv 6h7v̚qj7I8UH>,_8S>0o6Kq^ƼG)8Ń׭w8G_l:ݿ]ᬼr^KL-6s PLw*Lf؟S gB0~7\Ǧq75BCc}1T<9 N 8h ~?Hp c~4%sd 3i"j[N>̻A}R KZV=Bv19  Fx1+O㿤qAR.ωT1ƥKAi\RV˔1"u>]3ktftPf]ˏ/0 8DmqL@w@*Iq6ٻmzL9 Ls,v1 jն@,e&Vu"}j掫Fښ1HkbL[@ dyg0$Faet71 j4m^TIwnzSzLdJ`=cNjxi#_]z}75icϚs")iF屺LX5B?>%Hػ"huc7ix"Ɇ>Tr]C[X{Dy 9\ z`:G**d@\~8j;W}>cV#YSzBK*.QPMyEm!S.:<=x+bhZՠLB nKk’f{{4%Q .g9>X(LD!HF6? }?󱳢9@P^%z]c`;ryNxx,g;4MSaa"HE@>P\El#Yjc (o9/l {LI:k?mИA{8n;H,ح؆V@k҈WDrB:_:_yX2>%I^U0S,_P"C"\I]ky rŪc^w)6HLB}Nn%a f~7{Sy]yI'rEd>e8lÙD !cDp^[SkuzXM?ӡ;*%_H/p.6+:}JG~ κ7Qrću!wR11 Aev,)4^.t-tzGyZ讨rYf-S)4._L 33'Mfg$X1YmJc6 L j] ?ݔ L}o}&Ekгq};ORp8xriA?1f&ĴxE9Y G~9v:l'[18;N#d0RFGU/xn<gGD4 &x+l>0r%|mB[-!|*TA[3$hW =-cwhVvh#nnSk×鹗TA⁩_A5 Wd5 )_D6_6eȌ0cq/ꍬ\ʯeamj~]R{ӛScK3b%GϢN=[RR`D%0NZ_lr,( = Z:,j~xP1C.Y4ŧr& _ q. <Ĭ;Dz I{g̈R7F"0viþ$n{Bd!t.݃Zrvsui66:##aDX_SiiNL0Yb]tr +)֥ vfҋ|ͪh ;Z!lt3.`rA{R1}@ŧCk`xiOo։B旁S{Bq)6S.O cEu7Ts|.' ]$?x i_kԺ=itt;G1N"cpv_5`{ʽocz?t'Ю_1c}]lR# }>EF2 @$yV^jy6mrlV"y ׻iKU)+ MP=/W?+~V__G'jɅCPFxƴ`T8mv^?rVmųgRA{99rO%KݶFw3g8Ź啅<7@LAl#qj\g\ ~/_ G)T&9ģz8pl̢=n_*!S@ xm6Ti&e#e{|aGxFuCWGtHT7ZVg̷kK -=y,A‹=xmXe6 " 4#>Dʳ)ZV2)-T0ޛ'~<>SDtj? .қn>-n< *ƓXȼY(Ty2ʳB^"\N^ !)t-Ѵ)o?Rܲ b%O|G 88]_"0kP^ZMWWP$ک7*]WQfWy|]s"'yC5V"{}R٧>,]RY&n>*+dG6zm&`8XXID5P߮;t/.|"[Rn) 'Jl&DS &>Gޝ ^U G @Z+Dqvqhūo# "TeR@`yQ|Mqvy겏6ҋq]e5Q&6 ~fC]5n٤+㯉6y0Mt!UM)<" _ar=0ӟ?CU&!E'F *z:=n>[5œSYB62Ep>Z7Si- mD3FJ G[T<+ #[9< mI#wfIMP]gKsjdB}r$s"|~ MOwDf>XY&&i4D<*r!')瘝&61&TU]4~$/v5cMT)g ] fnl\(ߵg-)^? @[0<#tLEYdXn2!HC%Y.ƟOD;8Eb.i*|k]_c++1]+Xr甒~ U,U3T?zX\>ٔ8f)Bs,4{ b0譧I| DN b6(kR)2lmi R^޹i)k$GQ΅0"AM$ H [߮-deH,2KУ0-UT30-їk52qT-ߧغإVmVMh%Y]ᡐKg{FA kQoG`$ZaHȢ.H3V`|6j?m#ЏR\xU)uG|iLdɼFH瑕wP[O-/#>d#hQkֻ?' CTmE^k=1 Px ܃D>}.#|560# $><l^4-֦Y|ZSYpQd}b0`iH\j m/zamA*=7K&~l@H P86 ZH(MѱK^ʚ<$!<(}n5(3.|$.x[FUIPvZ|,!kHNn_&N.i?2@S0\"ezCZO^R36{WZW K,|\ ȡebL迿KMnN}gQJiصFTC;s[Czz~6{Y SYtLwH䄔:UL>'S#Q<Üj%鮔(Fa_)|݈WӾ,Fp>tȺD~}5wY T2jOک~lB>A2"-OǾ;OTS$.6gBJJ3-"ĩl1Q )=M(>Q &_3*>.Kj}ƚJΒGqAUM t<]%xΤU˜жiC_ 60U,fNN5^Y=^#9wD{r#q=S> :EhBa75xk)LA촷lifQR:K$n}[MHT@&ZUې#sJkn e3B7d/"guy{7Ml<<̖ !p)7E%ȫz/ֱb+l䫳!ty@b1>6}-3fuq8S=ޏ"9ׯƁ"Kk|#ͮˮLi(#py2ZDp]x\(tBZ,/$c7myx5m HKإ`*`%vcX f0JK[!k·>lyEϹ^@ф.ʹ<1)ڈ=ZWT'15%.ڸ' HlZHB4QB/gKw=PO>3~PoE6P8I0]aNqLy1-@%Tฌ0&JU49ҢI$óG x_tѹD | ^ 7 Y 9t ԳVUؿpl4˙Z;KG5Nq+.s+MD$8}B,D5۾z,$uGHFꌜ[|TSN!uSL l9qfݍ+tjpC&;5 Sup@ g*x6J)F# Tg2vR\s16%]~P967/Ymg>i\gغ֭4Vިn!h|5Ys<{Y#=}r4a.ŲD _DXhrx-tq5JgrpyXZ .s6H~Ep s+)"-k3ہOeU3 =` ҞQt ^Yl25ťvqv&"v>[?M+S U)]Y%R#ꙸb9Ϧrc7(L=Y71&Nΐ{_U=`}IvseUJRdW.mc.2Ċss>5 "_ȐU/cmy1u95fQiY<*~,0*DKfd4L&57biLBEq%M8^ I}(4Q_FĒpBɠa ^Д_ 2z ĕ%iss"~짂xKqso5l&usfjGLzh 9D7եSs 0d9S;U49B9b!c֭zR\e%RES;%ﯦoNcX3/a=s]Bnߕ00ӰM;'tG/9I1 ੴOI}ry(@}?Pz]ٳzr!9XѸ1St֕kUц<Pd-wbŕtO0v*`.#nv*eDFaN`2q\8Wc$ohdtֈ4:M)Qkٚƶ!Q<]h%i%@vEҏEV(`,,‰ΤwT5yMuMkX!@P),}*"aaJ"2Cɱ1(kdo$ Hw ~;Ki^{҄yJa$&jO7Msoi;퀗" ?[3LNt[bwO F* jZCl ld2'_"W&_[o}^ rp0GǣB֨ٝȓ,3rUp γB"CM1T b~fd)ߡ~å o|y2iE`yӆzC̲z;@]ȮhD\MgمJ:L$ 07>F$4^w5v-a\)ICdd&{IN'9;͞WDu)]0~O|JhIhȸxoK?( R-)a:1ׂɆ%5@ʪ ևqɅ}J/V[?=^%q-*&qQ|Bia DĘ,Oijt{\8zkxII\(Y.ߺ'~s-2Ӗv=ZX nAfIڔ?D0Vڅ4|yPR@qVĈeFyv '%`#r i|@9д,QK87^I|C%4KĀHñScVe\ll,\pEZwQn=k_Eo"[ 6,KuB[ߢP\6 ڧ0?9K"W Op\5Ű$ ɗ4> dq;BrzΉ&Sr@ɼVdVvr5EN~-ch3GT\c5Aʀ3. ,mG3B/K[Yx_kGٞ3 ҽSM{G#5͎Hzu=C%ߘvrZ*GatfHp ۶JK[Ixm`vc,)ȳbQ#L*dm+d!\lɇp"1 R_5׫A6іx%6V B42>}A|J>עP5cTX{cԄ@b T槨mS0ʿ igڢʶ2ůB&gۛ8g|&#ٵP: Ŗ<&3)r-P6jI(IO"Aȅ$0(BE!2RE72I_fH/̏vei!3\_vK8rn!$f_qH[Zz7$"МGiҎ2ؠg҃I\:ujɐj{igw6WV^f6ťNRWFʖ;?;,蹒t%0LB ?Fl=sƝ4[4;nc3y`5S'c)KDzrlR i(̞)Mg{Jd gcș5 @"DC8YS! V2Tb~\+vA.^hߛi{S5.m]5N$C@joQ h棒:UufOK@۠{anDžZj祹/E6Ӳ H*:\XD^UE `PVYg'YYtWp3~qc*2("o'(^(g<0N p*V13>= ך.Ry-'Onk a\1 }s lٱB":x>@i^#s4cZg)pXh${_AOhY=F 2cԇE y8so]U77F"QЇ͚tc9|S:HFJׁj)[, {_ ؁~d㰫Ƃ?>$՝.InKZQ OHbb7sDe@"d@D[Y-58qbY ū|͆txԗhԠ5Ҽ4~!TO>&[8`]`:K<,ògkwv<")¿_߄ L8Lt96sSNv?QUeͩRl୴}&JzQrNr?lZ#Q觮t/oe^D;zPsM3z@ʡd}Āa#M,rgNsR/` E{/;IAZD9س= rt71,ӍPld k5=Uw$x˙p[jt~R£፠rKDzh^aIvx8dRkyl9Q17{b-T/rb+ذз/PjrBYpC( M6Or6^j4PVq "GioQ LZϻ.HD\d8V C}PBSSܼ;xFN %ed,1LP6K|+sm/-l<#~@ j`x{Kx@ȼ=%olhE@$Dn| taVB -7sfIAa=_tAD)&6_9os鮝?}?:GVJ&`s_v}'7"?[vDfKQ͔i[KFt/{+gJ->O˂ GAvl9&$I^h.n@Ḿ}|7"5@H'?-|N>sq#(\s :W%|dYy9l}LjY~WbGzb[;PLv"iTIGZ-yN:UF50)'cM}0#y5sԟty}ot|O:`wޘ{iNbp{ "-Fs@ޢB2eK_>Rv <@wۣ; Dg[U% h ɦxMћ9 U;Ҷ=8}a5B»6@IB5k= lJsvҘiwL؃l /\}"cdX,!"y4=/#c4쎣mO aUxoo3pd÷{U= ҍCkJ͍)>F5zh?&N= 3E6uApkb{|{Na{j Of[yjV#g#4Yʦ]s)mte!2Bw(K]F59=H/II%  Onլ&ẁ6xLoWi0 8Z>|.v);^^YJ,0'(G߸,l[<"xb0RAM:֒J.~v)TfɜH `kز7޷{s5 g/~`|,Ui+*\|u (G;|/ޔ-*ʑ[L$)*lJJWtuLp1!4 E ZK|wZOiҾձ,ښ^ɮSrȿomkvm~,d򙣰L3O%LV3U1 h(;F [32(ffg~< Mſ?#' ݗsML{HQ{+ɝVK2;1*Se (֖U3!:+|E;*by.AQ!Glw 6Z^te.]haمDqcz ~ MUO[(| Mq$r;~39w7l^u*Y)9n+3 -25>z)0V ֑2VCz\zkl]K7^3껷A+ZA_v ;QtV@j^)%T۩F㝗 䝉WGqy1OBWKn %Ehh-:$UQ={SRv6PVJZ1kR ɵ&qA}\LRR;>b #9dP9v^=pg,)ъC/MtSӵ 6ć7&e*۴[䎰~-{*BېZ'uO4Z> H^< !d62A֛|ԣۢJ0J ]0$GUr, bJ9f)b/Ir҄C{GZ" Ȏu٠b8BCa>HG)7J$#." r<{:T"h@1b9)cgE,TlOq _N>KE<{ M0Js|PxVUy>N7<;yI%Uf.r>, ެ{f!Ϝ8i,yh8+Ob%rs*rWj[Ձεkd`qK|Q}z"uѪpG1+C(/Fg7&뺛YI 8`dW#dG[Xphp;L3 ;QגhslJ(*=K{\Zӕ|~f.c{#{U T8EdhEysǽxw լ9x(NӸwZz:96;>}g.ILxNt'zM7VPl-^M_2[H9l,8(O,}~96n5WY젮o۬\z7Qx9 EB֟8d )F&ŋYkƀ[̬{yI" o8 26٠NKXg%a0Hs HN>o>#Wѹ&h{MB6@z+<ߒx*y( 3xѬeH-$eJ*{RN5d8UuͳR4Mƍ~+~rQV:8tܽ(cKա! =PM*B܊ O;Ald('iUuKV8+@u%硘)|qf&` ebg㪕'M'r_\w+<\ Ԁ&p(Je/lP]\4}h<洿.B(UI`}5,@xADZ}3L-/ LI56@W#g6--)SHxt$MQv>L+ن3- AۂU4{Gh6 aƑQκ,,Ax%OKSA[F GCGWpf鯛M&6 d=ޟ̑`M->a2Dk:A<5)%_np/1{~Y!H'hy槩*Ί]]űSI_K5 @,! on՛%U 2 'D3g{~O6I0 l9=qg'1Cn&P5(iW9G[DҨ9QR V^Fvcu-&:E"ގ2y hX;Y5 :%Cp S`o62 J/m[iM-V"t$V}ѯ;^[gVf8 M-$ų r̀sdnő^VZﯼ6>$mh1NNP*YXG].o~skEⒸ+(l-D =?6V7HUesڹ 1GUR ?|\h u2!Ut589N_&sL?mj" PE %H55odS> j7a=/o |91x뷦ߣc9inHM4: A[>1.ׁ}~p7N& ~T"bXY,OdEGSsW#vB6wPnd/`HF1 y7TC&Ѭ޼8ö.2>6f[ߏ(BOQ~|`[rRWw9PR! ?D`Ae\y `\@5޽l R96pB@CPPc7(s5+'ŗgP}!?í3/|+h^'!ڟY1LYxd,bSmP+{P! 0J6|ieeY Jlqw4}'=a[.-Ij6,n_yQJĔ6wL]onq:Tvȏ6Ϝ3b:LEi+Y#*%WW ( }lxTJ)V^]p3kAfW@yG~0DtӢh$ {W*&ELzsU,? SNA)yTEWjЂӌiXhq|{d7RW"t  r {ND>3N3Ps2xvg4K c<'UZ  ^ä$;-:,ELg'BC&q,0xV`Du3<xa IS)2c]-> `,C3ƏV!,s+cB5J+)> %x$hU`86"Dx+nXwn8TAYn!P(lgr{7&lox,aӯk=PqYkvH8-7~Q[o q>rg,.~Jt{SH? ;N;;y犣됸W@57 п=u3%3.CQ:[_`FkT0/-ql] rxc>mjoh˨Ė[g2dgK+FP)yCcF)~G37Et;t-Oy`sG]Os2sê8Jp=d['"-OI!>j<{h$ AVgi-a@ _GDHQmn58!,6tŻ{7}iƾ N%̾4#T1GEm)8%x0iRE4Jލ,6T[ڒ7)) '>^JIAElsP/V@@~U+GWo$I1SgBҟ+4/΋|@KtnD `P8c憥( PU"B#]p<,ҠS'sf P!2O'Wl \)GƃX:,5BJ[l0dS8ն%T?CG0tG㹻:/՗qZ#c?l4onJEAM*4ڵK_6Mf9A"5* =>,!Jn ⺰BA3L,ݏbOɖ7ͷoe!|sv|I{:zll>mi1+/f%(sSN3AVn6SoFMNnpB}&J֠Pôzvk$c' aw3ɬKc GPwS,ަU'īMJȞ7xAݦ5' m|6M35wS)LǠP#$fn+wE@aY+%$UU `te EYbP ;~snÈ{$"nIq7+I%M> 3겼x~owq/ GS) cȲ/vNӀ#\ƈǑjWPE(\|>PTYI0M!/Ҡ<,Ihmo+m6lDʪFW }pΎ~ДZ}c*E@%ɡJ—=%k, ZAWp+#Sy-~u'(31Wcx{[]yjLbz(0Fm _؀=1#bW,nl`Sy֎&Y ) ϙVI0Diڭ 5oџӭ:7VѺOM좱Ž;j#P]"NgmC6Nj~5}4Y:),/J`[7{LF<%OX i*a*I_1B{д{[F?-T9 S #x%ۮWltmQԵ u KE͡Y \`g&ZUBG%0XYR06eҺL.$(qJrM3~C&x{\;Z;s-#r<꺹głoٌ Y*.3#$ߑۋl!m(Hx(X g sc@8)eۃޝ@c}N-6˚ ,U1}pi{-m6mTkbsAzuHOb>ө}@ϋ9y>Eː DIz1])G)@2h&V!1/!vP%d ј> Ol[Y baRR4t*OClFEQ'!äd׭[anV^f@zm_U ̏O$] fvq‹Mъ] ;EW%s}(W @(i^\!%`hμɘyZp D3^#Gq±k/ D(ʂ{汑Üo^b́<"Sw_#)sלK,mvZ6S*O>[MLNXDҌW d䈀,qٌIUdpUbNւ. e4ہm m;Tr(>3uWga>H(k $'j(⪦M!mQ,mf~oHx*,]wsWi|Gmʪ;ڲMj!*hg6d1GvYҝ'ozIVMľ@!;c9 c,Y̗*Jw,P@nVl*ENh9kBܼ4Œ&؈7\mh +{$J̺ B"oX )uX ص[2n8 X;RukWP?\{z>^Qtg|KߦFMӘa ?[QSFgYY2ڬ*Yo)F?-B) qZ> D])D`e;K!& a_A3tmEmW H\DGqRKݟdgeog'h3 ~5zǸ8D4{O9C\J$}$x~g>M{l[rmF~ dXJ[H3G0P6.e.Iͱ)I6 j_^%b3b-5D"Hd#`]S#GSNpnLAG0J6NG >oг cne/KFxC5 yǍȚPئEjrb94 J\NFaRCB a W-Mq`8OW4єh]VM;ϩBI7%qlk~᳴ڌrCw"7_D@鉼.x;s^ y`Վ~5XrWNBl<ǝ2-;s} gchƎ0K8"(h#TWK kl8\Pw-136xȣ?!3Ո0iQ[zIG>Tʝ7~+]*OԆQuڟ UB30NFg ]pݱQ `r]`.W`e CA?@?Q~@1Aڄ0B)SnjQиRMA-v&g)j/ ^JiVs(J p'x'lÑ<MqBF?iPr\=ѩf*#&70MAc\+pm-U~=sk@kP_#W^w%I<,\~oJI#Jqs+1]Uv:J$rF^NUN>M*Q'"$MP#BrSIʑN$K)_bCq A5$ހ5ŵ{a{E[Bz|@mZn{;5Ό2i|URk`Rxt~ = $mpˌESGig̿;G4}S'pşME hD]5j'3ʳQ> TX~ 74`|nrrk!{].GtL-βZ48BUgɠX[: } Aпڂ[\lgxr2/gub(|J5u_!]#)AmP'|u49.+^]"@T)ȳyVz%\C7DˊTYhœ76K,tye%~Al|xya->a[Y3!TX|#V?1޳hD ~G6kȄdN yC`;yM*b G UF8Y8FzJ'ڗuUcI_+g)\̬;s-s]2K~C~uZQEZv,K0?Up hrT^B4rJS:d" PsMcavm}BPbNryܕs"9^raQfO &ktz;E_CB̉OKy}C8)uQ|i8#&ߣ/7j‹7c(7$E-n. 6 B uL-HֱQ Ƿ=QR~t<TX7w?`ZS;h7$rU#IFD}w1#ġXնF"L( !^&Dǫh=/}d0}Ïj5?fR֙ETZRT @\[7OB#sBj(KM-y Li_GYRN7 ,AA> KVQF-m`oIpxD/fR>ýIL RwquIh h]qemz]G+p&Aͺ:Տt6m َxov5p*Nګ|#M&u&|Sp0٥)u]F;]Z}t'IfD44Vc.#i|mX0'IH1[q1: 5S;ԑjA;L6.oA*ujdq='c g̓/3`iHOI\(gz]\ϟȄE|i T۾ci08wQ-Q$z?MR,i Cqbj{bج Lm7J"W- i1:ccFtT)§ vnݷPuO?r& :2/ʦ";.X"p$&P&"e%/&TA3cήBiqP?o{4"mpDb~uS e*D嬮O}[]Ttm_ D^A78ǹ9D^Ta`0U8 WG,9%|HI:*Jڎ6(kS$k{ ۾,؏yalpbR IaZ*C&YuלA5xۓ"eKXu᭥MGu/PWt-/pgcc`*#zIƴ@ha!1'3(]Z^xrޟmf rsg @^'iGxô229GvlǣO0X_-?〳Yt́!r0[CeD bnp[j?q%<"Z% $c7"$O!YsNcu*d1a*g5JپȲS.+ÃKV_6YXO_&FQ>]\7YTn6#!q{ I /3*Sf5v=A89] @8JҲQK։HVr5(jT_`f'#2Rߌ+Ĵ-1H=I(X3(G±9;~R}+θ:}dHx&'1!!-¤Nflf2)qYJ`i=qoo@U^byg;A,ڔC~/U2,PӆfQ>tP.O".89׍)B+\dRvN݋;I9-řw2y{n>7(uY9gAE;• KmjRm?NI$} CAOss2" KX/C(c!-K|q&,+|6 \v%T5/,`Y֔bTS vQ*`҆I}wRaذiVȈXK:Lyb}&XLѺ['v+2 x>f0Csw$-uA)vXuihói˧ !,E> z BJ-v)58Ll7 *%maedASͽ>SrP%w?N{,^x);rؗkp#cK*W~R*x4ـ<$L`F2Rזgr0*/qPC̚[:YXN>N6պpļXۺXLAoK^ XIR9"hqŞ8a2 +͝"z Gf -MQxi[1@|HƄEg/^}8D mJ.0pU |;ݡs[+<% o}8O2"$jeÖ"?_bHŀIQ6C}p%ѐ3OG |hwNtC"5ʿG]anVE22_xa?fioajciA>ʸI Xw[_.(==[`r>n)M7W3vRMm4 osErXj]2d./; aZ.\ @#*VفMʮ[ b j"i/^\F^~ۛA+$[VV1@4+2ZZ&mCSя WKؽQc{{r8oj6Mbr^8atzbCض=_Sap88Aa)MZ\ǧmO%-RC#2>y4A!R$v|sO>WEY L6o}uYkKh܄?͕}ye&?}1f7eŎC) Wy/{9qC-ͬ[?x ,xPT2bCDǼ"HD[! i/Ęv_gN|Ґʼnkw<fc[ Ff;6g'%9yw> ҡJP2\P>@r k#J( wiqPnf2X˺K,XHu]5`3F4wO X xp2IuVY&_7}0+ɋM@s=Qb\W߭ݟA+tTU}coEx!VfQF.k$odiY٭Օ>;B GBn1CnsqSOM1a6^M*wMW ZQ9UNVrWe8{1ٺ ؈IR -m48Bݥ7`8gc]k!ZG-EDڢ.o,Y?U=iO=60744ݖ"(@j*S&0Q k3].q'w""Q4N\[.`q bBI h մqG黆-+y9.?d Weh3xDT@5b0q|$r𡎡*\")E%ڨ FȃBI{?ɭ+eV};ӯT)-R@d t]XoJ{CUE%Yz08fU*N͟8מ\H\? ֢}#wBh$y& ؈.iͶu"88׈$ɂfPs&/)8|EAp ]ŧzCybr^JP2tsFa,3Cql;wśbT?!mX8[:1PdCOsV2R ?2ѧ ^tdރSd6D -7ePl2y3 PvVo>>, *} ye\O`2-SUj=##щZiu{ P gzMGvo]bڧܝ)Rq2EI[cnG#ɓ3]g~!崬G, Rge[ #2;hkh3MD+Jn4} b̈́pPs2M?/C.xI#)03@Y q|6a&F1m?P% :J\ ohDl @J+wתX i?+,Nqa@6#ED;/*vztj;(@>(}6e'A j;L4d0ZJ~m`[wFbT+] l'W/m !k)6aɓӀJS2EV`ʮ~G,-RǟTd0l]ddnV{wo$@ LvIE%+п<$QL %bZYA:s5 4j?FTE>wA\e*B k 4[KK|ĩKΜz_-l7 fQӸX|<8 eƾCƨC<춡`rzN@ba %e2yDqk;M"F]xҍfq^JEP$v7\aߟTjAO6nTw$:GWz8~rcRx,'lWD\| ْAJI!GFɺ4Pr 9sk@$1#; vٰ07 NþBpfkz\3l(G9% |nbKL4/I yz,㻈,sA*"`{tY<~Ģi I,iI{9 NN})$zDaz߂&e5bvq))ʏA<0aLS[K/[I bPעC sN|Bf9͆աgEN<+5f5)LḦ%I})ffۖ3xA;Gzv}e?A#0<%:e/l%TP?N񝙹ZT zK$,7-܋ ۯ#{Sa8 Ԇa4}Zk90;m;Y1+5?2#O%ESA:rcyR^S&|;cq**Bx{qˁ6綕j*՚VG38򥿡Ɉ)|0T}5~Mu0KO X]W=UE`(m$.eUlm_q\$96m흼< ۈsv!9:9Ҹyhe&S"m|Ff[ N ?MUu/Uc0gEv ٴJJ WiYPӶnfo1 V+(QfJjg&-hO/"Ia9 .]Ϙ'TOx2_ypۗJOm >s8rejmc;a4&!Q]<61FzA=$"OV;>2$ [}=M %"Kmw@.y5P"Ts.Tv0^nY:BeNNMv}4{F& 5 R|H/,˿5)ߵ2kk#p}[EK/@v `(d} q_&e~g4ž&|E̳x?scgnR-o$ KN)@ZtjY8fifZ{_4BRCߨG{hT)7F;h' S(F*ݨ.q|hȀxW&|a^KaYU2 ~ҪԤ9h%}{wUN}տf8ZHD-Ն 8ª\]7ATycdcGc Ւ"hkpãt%8!;ulp|L[cxk=2\53]Nïyјx!HW Ix2Tuuƫ Lbp  FS6;U8_Y:=՝сˀP~u GcON=1qpJXB"`- n8XF[3t*JM[ա7 Pr]pRJ(nU/c%vːuBS:_gRx"c1cI*2}]i #$Ut{WǔQ #30l:Ul]R@ b th5U+m쩧hd!rl]}{z ,􌏩!bӒ@ܱQd ۈs.om,'SѰ"1Fu>R .5'oaZ$YNQ&[C|t`>MV UHI?( 7<8YC @S~! Ȝ%Rvrp(]#A'$}S~2MwcR?5ݔN%pV39>#s=F]fegtIdsp=egr7d=&_@@Q%sNW :_M!3 W*i#7:RXx\ZD;q/gb3:Ήn?_ю_d,dW_q`Mn ׏ 3Sw2*$9Oygt԰,X;;chbUM $Y_/]t^ Mdƥi~i,- @'Ὄ%2ԟA}4.`' :⠽Mf * H\ؘNץ$\lV,Rd:`夊(8G޲J5q}jӸ)U(WگԔyN?:)Ae8qUd8ޕviQ:Y&6- N-]dd]}%Ѧv34ck+2ĉsޕ\4\k۱K<2Y 0.\'q&_0AA0/I=Ǿ>ge-v9$y9uLbr=[pGAׂFu/mCF\y&3Q+ JVy>T^%0#hrI4R937E@Qk ?Mcgzv2Oxj nXuoDcB)i)R}ӔGӘMOu4*Z90{b@A%L`ݣsxވL>!2'3E_p2T"|g; :H68 oQ6Ǜ["p,>xNȥDGQU/2-f(^c4CAI:E1.<Q*-TTQ~py] xmXGwq>| 4w_Q[xK.@H\I]ɯe0譀UWm-*f\zDOeϱ%HgIU0~KW x=VW>B$>,Y)G|`#9xwl1WA̿N@EE"D*j .}F y[ ,<坻9-0gN>蛤&},ߤ+ۏU8U'r1z_2prʕaQܞr;TLWCx9WM}zM =G']ӌ;mQْoq~*wZKghzBȽL_6"O\obqqMIx:Td8Z<~Fѝi)b/2Z<<U%5F 5Jلlу*iRŘPG>t Өbϳ-ȵo*c+!a/Ҁ̝rs?6 SgU\wHw$+h0{1l<&\3L?Bm\bl#xV`d-CpʗqQCp3*ϮZ;ͱa@x+.oOb\LqѼA5x2ycf mn!/!WJģ(C^9"}׮r1+Gв8(2ܢw]9q p_^N(]@nśo_b4Z<: @~ws!H.Uc@" 8'kkf@6P4?eT*&Ef"^疉ϛ4ZPA eqdlcR^F-giGVM|[ G|Y8;@3?@?t ȹ)zL/gr r}ƓrP R/.}^p!k4_?67d/he7lAbM?K$g*.QSMi'h VZ!%6KbNlaʙ0Q1w',KmǦ1 O!iͶ9QrW[ :oe(3wJFsuje#j40DlLU{dB1S`ۤwy(f(I}wA 4&=AͮQ߻=]b&⎧s5Q8v܇?z"% =]{xGgc޺p !pˊ0e}Qutd6B$` @H 6ϵV)k`}YVrnu_ïi])ATlQ-Q?^M=Sjr4939_X=uQQ~#Yaq3IT:#P_ Yi6pK 5,6{|YXwNYyvSWk|ok3ru9%GOO s-]r4e8wѷ˾\?qz:X1ƈ̄* f5l/(eE@$V<@.?I;WzkE;K+=!dåF~B-zT\YjÒ}R),teJd>7} z=8j5-#&vU>.E}6t{#h5VDgxڍytWɱ$ |%H_gb#@/8[ZϽNllP󢜁 s\ic֬doGzXXYU[L~<<0$լkEYLJͥ[]Ky5d%+${΁[wx2J5J-?Ix'tX];<seh~nV^ "us%;DIv*I^!bu%-CcOKN2@(6xp{MHXA'cy{w~ 6$Dg/ Ҟ]~EF|}f BrO'Bt>Lw3^UqaJƹ{ 4T|,"j;OI};wzX˨Mf}g̀7awnϸqxd¦3jM2oJlw#V/: |cH+ #YV<g4syO@RQ|c,9#X? y3b*_ñDt-.|G* 2Lq)f~rc%3UDg%׉C-!-*3o'Z h8v'h!Bܾ? -IZsx2JUsnMK/QdPp6h1Kj I>#kj۳enϱzΣ*Ox'i42E?ykc. "Dlqp`wwx Z{J~$y[i3xLfB>DV*DK3ѷm}hfxā1 1he;#h_1b*#\]u&y TKDl S2MOMFQl7ItvD' Ǹg{HEtԡ RAh5(xLOGIqتLO"t&˲y^ @Vg99޷TaWlhPwlsIfKƣXv6mR,辌' Dxo#Z*Eu<ם.d Ѕ/&]M8 +\~ t'F(IP2vU8hg@ dB5vKEhp.i^O^ՒdCLBaK0}lαvPzf("ʙXV.,%  8%K&džrǹ|,)Fp݅b o\/5u4 &c P8֚ҥ(KԱnGø"%@y}K+uC) (~셭䉫2fgUq׉1cVmЯ٣BZ;I@İ {դ;pⵓX'ᔄ54=XFW}1gqsmxfM4fj'f]\reZe3\mDp^P`#58g(ft *`ii3n`\Wo^%`\r=/kw_Mka~VVѼQןDĺ:Gݨ! ߈ (E y=qs2Butib}GTW.As|E| [FxL3}$}",fqB mܑFǁT8V}& wR)~x󾦓Wh*阆@Kx^ṳfV%՞nǵCrypt=Q4[$v߶]4Sv+6ddi\o )!AKRI} 7s`!?<)+j?ŴCR>!f&N[J@єƤ Yf3PR#x ɚeW_*6-WSin-U=Oawk>@ҝ}1(0tM=tji ^PM1銹d$l[ꛃ:جybGtG.{ C/Jr0:290Y# 1Dž•]OހV7)*ԓ*}:{km>gN(w<; M/t]ge92 S l٣;ruOܦ[yK&Aٚ[2 -A}i4T{ Sb7($tG]kjh"]gWUrTťRV۷oqBTk]-sBU(+YqSgr*0«1LVlGD5,UZvc`Mm 'ֶ _Cø!Xn @~ԹG˱rHM3~8{^gbcSKv5e^ M\Ӥ5+m|>74qCr.Cd!#Kd&Z-`).dAҠUuPY\bٴ[~S$ºQ:ۚvЌ.|XS6 zij5DxRJٗ&䞛f)НMZdf&:D*8n2 kJB?!_< w\xEsM ex ۡMq~3jkr4q28 2N'w2BBF6t987C3=c 7Dȉ|T0ǔnGB汧'Vc9j|4H+e~'nK.{DB =S9wdXWX dR 0q2d 3~# p+jCIRNsqCt=!J@+>܁s6# 5EN2~j sڧ`2Mm PVO 8]^EiW.-zM집-S 1mΩQ1슀a)g|(*mV,xC*r)XgKsդysG^rcnd>)6NJ\,\՟Ӎ}: pG)I ӧ&r>c@#&NxS3j-hxHM>)/j =<#&7@Ab<[0w(WOh0w ۷MEϭa6ۦ?718pIE;EtR*#G}]hEgszUU}_2E1B nnΎf6րE4_:Vӆ^nu',p¾Ǭal=sqhgqL-8JUL\Z)a%Ęr7|>WSI/iWk`c4\YEP¤_RɄ%2޻H&quDwĖT<uw6>;Р랰'NW#Z) TKYuAԥ: FBmEDҳp 6xWJJ, o[`&0ЏQd~գ9}a1.`S AOXXlζSHxH3"Wu|5F/|2lT a;i񴇦L328j/*֒1?si׌?yD &mm_B8ά!Mc!a<(7Ne/.^}K79}Wr:Bm؇3iQpT(ci7RcʀX'9.0!2c[-檯1~^&j}G.}klr2:'(uKF/M~!׀ HT O I.Â-YQo>~0`ґ۬DFFt NS#)s9DnAOd6(jbz꘏OHiB`\dVp zAFK$ 3AIS뮴;(lgW(෣x놳Ncȋ~(gsژS6R+\B-M"T__8NGGZY޾LQS^:QH ?tP>j3STKi7,³>N"S 2ﰚ BCL¯EncFR+a S6i5S Sɕ6YC$JVx7>yF]L]J/!Q_!؞n:ߎf2<l2a57ڵqKAŖĵVoC$PŨg붾MD0@ ufc yz| !3+d).6O .!(%HckeA^ʉe,^5XDӀ"ma̝/y5S} [PWm `G'ݏǩPZ0r}6 ;CـLLMLaMbD5s+gG9M%*,ZCmzD>2K`+|u fR5i7SP '(#?xOaժ[Q߉sA 0=0@K,“l3Ϻ4~lrc!2]$'} BEm6/ ;86X;b8p.zO- ,mR^n=ӎPEa@=kܬȣ/oK\YBUh/ /SI2<`$mxv51]d;H8}dHj:Q!NTI4ObJ-3ϓJwA?nrJrE )%upAqIAsr6i COi苩:հFPh1~>MRUHpx tdxZOH dI28 9u>LbGN{K^*G,||"˿Vvهa ,lQC^"@6ؾiiv,K~Ǹw[(;B\OG& )+%FX0g@19Op_*9t?qx_= 5S[ѧCEB[^l0:Qa Ge'Mtrz. 2EE1Q3[;UYy*vDs)i7ƞ,1>H $fO+4d^ڶg^sgy(t>+<||C"LѴʝ!b5fR?=UFfmG5t̓Q^[fA6PO|]RO }nDe q'#1P2 Ϯh9:E/Krn[o^Pfc´/I6N.У@ZT:kne6zDpTܩ-LCb~ ,x7,ӓ.S-3&k`4֏Ȥ}7( < 5΍My,`[z"̟=B΁ϤN**|HfƶE軭\ޛzb#Sy x/ʴIή޴( !"䉐.P>WnΟD:vݮ;Iڝ(Y(ç1=vLC,صȚe |_{S>+c V1J>CXC%4X%9L{ a00,Eo|́Q;rFԴ:%جm0._F¸TЧasdk5_?ؑ@JPϲ6G0U!BY`" 8N|C<^HFDHIMP%JETA5|Xo\K~u']d*3XscД/$\VRE :|HKYyk3ב+10OЩustP $[x*i{y6K͛Qv/C JQ @E1 _WhpNj)ZMD)ks9[j CaxTݼ[R:.>62ey^j 4Nݍ$wWm5v-~Y՝5Y%Q0@˳_ӏeci͛H'd^p;c1GoS~}H1Om**F9=$g6L|93Hl& ֯^iBk v<EGzhbxik_Wx䤤.S4m[qÁzNg]}7$;1ڮm5K$ A+H,~jܵi&a 3׈YwHu>Nt9٦:62-Cq?2<ҿJdrO#qx_1؇ p6<NF#Erws$u3 D.Fd\>\cs}oA*EÓdza"Nt}q#x=]~sWkPvu|Q?iEPꋯETKeWk kRu924b_wexxl(%y!:Iئ?irQ*cݜ fpDv*{{lFC"@;xG@W*c`b3+T0U/"^UObAfVic o_cVBdwZ1@8 Ne n=|s))Q.X4lUgI%POk~ Z=v%Y7=}T̴@״.U_IXS,]h8؝mF(I8Ϳ9DW?WǘG(uR\OBf🝔FDzl %v(|UjB'Ua1<'ЗEdsƗMA^pV$:W܇JϥQfXa^?W͹)]7J-nP($Sח+ r4| Py!MM%R!XxMIgٻS"dd2|ɺ9%QOX} D/4Lm**ڕFz-n ;U?(R,rkB8_@T3|F;Z  p:?$wrh97?P2 m'5 Y>iTy°0^XO\G яިL,{Nݨģ(?*7]t[8~=͠쫪u2 p^u_L~QͻgrX Nʙ..|hfo'gl.nfP0ఇ+A6I %T/<gGL/kޅˀ$_1em]RѬ< h(d+ȟ^Ak!N_GN_fo5RlDO[4*K0]_z?)1(Q-.\G1V3|\e bbƺkbw FIx6>mbezT5UfǸWX0+_ݔ*{RW}0j,8>xk3VqyS$p`-h |@Gꨛ"qm eD3~.`qB$ü|Ny*PK))2+j  mt~#|G uVT9Rp޻q;L_ 4KTx fZ՛B+R[+ [ %jO ⸥oj<@RB$9@`}1E2|+a̳;Q6L`fINGHSz";=0D W )ABՅ,0w/9.'cd8žon5=I wvǾt%d֥|LӎWYRY>P>;;3I £;2 6QNS-eZjRqFO(|u٫!S2%z%}3 /YR 0Þ3BY"tOn}Ȃp#gqߨ"4B.bDl֌1?[KߣgM%t+m u<ET֎ڹ NG)b5i> 󌄋[`u XH342Ť'D{3<eaˋM"b"fai%.sд+F[ yyJi?;KpQ*uX) q@+ T1R0nD Q'VRrz7 {b`pV6&\Wk%YDtP6b6^om#'u`}C?hu7(VC0wIx킅RfrCغ@>bx4QJ)Ȓ.Bl4Ir.+ r~iH=,79['fSV^7:1S5Ð~kVSt m]-WeŀP54SRDV8ߢz- 䐵+vɑthTuÇ5,ڱ…zXN1$Wi{A!CBp١mĻpBX d5ڥCh׶יj zvDGX "),ătVdDpa /U0/ˆN(g>"1ּh6fx7̘v[ 2 ~ap68 ?FWJ4w>GBvW^ *LW­c{v)ߍJB3w:C֐!'ѧy<^qh@ml"5Uqa%Z,wփQ{huO NLaoMS*N)[%GF߃T_4OP߻U8#cY pk;$76=[p>9eۤr KH)$yڶ۠b ßp[6- Xu !%[`nzubJʰ{pSzx¥_(s,!<ǪS͌ʃpbO6ԝAEY]Wc2w q--f'lrn D ;@z_bl0/v xxr7 ( {R*R$Z9(&O.l.tYF 5 egw 6Sۤ8D[dvhnCQ`+]vm I'P )M唄c=_'qj?XߩX'٫$Rxș]'ATk!E˦\@߇ӟ D++'K@W0qxj1;XL- tA3ήw* mhjuF-z\8hw)2<Y|P`sqsqz` ړk5t 4,z #hVkGVc4`Qf4d#Xݴ5T"?NPV}]TqQJCW%S+Q/6ػ"s$⾸i61nNEL+ɷF"7W] #XN#L 884HBwvSZ\1*` U0_S).99Ū/$q q 0v _`S^. iXMbR彊!k灨e -f> ܑM=:|x9~RWrY19RzE~:mݙ[2w@ 1vpC9:|ml}.} ^}N/;<$i+R_N[ۮ ?IEyiZ"OU_I Ȃ5sة-NLH[,?ޒW0JaIj9ɶZ0ZKheUm2,g^S"'Y<Ãꕳ>ꢯ kqӐpR-⻍w̌co.b۰~O̳i~3/C2$r3ޓ7GTv`$BQ^=HELݢuLi7L*T@!X%n p{y][[fօ:'ۑk2~1=|8G!OpZɋoq Il-dGN}qx|9"Q@sNl'u>  f ^ʈ3Fq3Z Cga㏕YY5t6*J g!,gB3"Ή--4ս5]6NK_)A7 )xW,HK@F&o*-_ l"#e rV0F8ͮɠhIĜ?Xr=]f6q/[=J(-I5ܭ^ČLO_gOM<+Kipb$(灵 lmϑ2oL .6mL!v=Fw}l{U$Uq1LzeIS 9.=|f}Fw8)ySt V?Ni5AE'dA7%*wB9><_D~Ve+W3SUlAʫCCed!1 "ɬTcG z9WFjC.QeH%"u +G X) oa;!zbȒ3,&!SP$LOT:0Wc׸9t9ʿ838␵/rR|YyXþ`ym z"~X=Ǖh4틪/*2f4?%kI ڮsTIȯ/XIqaL( ̉q Za5~!+R#¼{[u&cBCҀ5B{q- ̙y(sOfvf b`̏\8<'E('*c/"p.gIR=# \@ɤ$Lf#/-t+T'W\YT%2~䖐 ַP"W; g]F^0Ζ,yxWmX@0H&KzE&.t۞M`OE{'V`|w.j1`7\Sqy䒂"21D›npia-It3[+=G%)Ï+D(펵2/Cb~%Ǚ&)b:oR5w eRc_Y9;U(]~a/zB=ߐ4=- (<ҷ^!6{7AM=ޔV{DsNB"z-+_Z>?w@1 I{J} +˜[j6OlW@ԇ75ңe8q(c VbgVwh"I@0~TʯGo6Q.ޝ j\33fes LE@_!ꈳn3oq% Kf6tQ12JW}>OD?̿V_#AylBq:Αcޅ< nPm| ϿTEkH$'ZS}Bin12W9ب hbՙ3J8c_AgaJA"NmzWzLg"+.wv@r/ 3{5`wE3ˋ܍gIo|1+`-,?kra#U4>Ar{ɠ9 0B)#©6ܔ^06 v"N4p]q (w&<>:X`OljT2ug4Myr8j\ls*WEVd)4H6HGD5f.f7=-E*ޫ;K,vR/<C淮4-[= ]39+ |ɔmegTy`dpj`]~&ѻAԇ4mLJeH8Us /fRv=I[!5y畅.GjM|^k^qEPIʯBJ%1|HB6^|0NF\$j8\`rpqxs}+SQG/UfI54C6Fl:@^liX4ITXqϢ#@q"qݎנ#\<'׼>Re؊k=x[FL\^y>A}\}~nec*rGI@MlPy"$t|! 7eCϳr,nnqf2F"'Y@(TT]e ڣ7C4w"lD>nYsPk7ly":2@O`Z_ qҦ~0b1LtyiǣA}ho{,Jտxe@$@?],5G7J:ISlV[Og%^hb 'u+ ciiNa7׀-jk*pWGŭGZp(Qy*n0x{7ܹӾ(LJ[# D O`:0A8y, ӂޣz'UIvye.{y@J9uFɿ*z*$Kx̊*4n!o? \7dUɥUbAk{)j7;c."lw*юA-ztျ:'Ve w9d.g$\/Cl6n;6Z1F g5f)؃/<,QlP{aiƿ&[IRHpF[F, uC :(?|V꭮O^Aq@ԍl'bx`4l" >IQ=?ȱ120~}{WV8 stH̻y5N3*Ϝ}10 UkBPA?l#X]cM<FRWV^ \L|/Ћk_9ݟ< q<!뼦i:FR9`hk@O8Ij)l$ #[%5(M&G܆4 8QCϩG,F5K&]<Dʋ ra$T6l2Y\̇1Ђ 췋Y9wnpS 5xJz!X,9{%1POf51GDF(:خ% 3M3M$}vb@[c/^[Z~_ o T¹l$$oceepI5`z,j|ktSh^҂IIT#Ѳvb6N dбunx[ "{|~^p}oIt~!䪅07sѬo GچJyUW&u)ZMnuz?iJrZjSSJU--]ծ ADU>8ѐfi%~ؤ fUvEB/Tb[]oN;Ccik'-Dl=8t`+a X淽H*U}cCp_J XOңwTyn^Ur>.M&]X*(Fs>Ik:s; UV])* &ȁP:C靳&40e%! }AFdQm6E W*5 Q,y"\ 1궖[ؙE+ATL*53Rӫz0IsTr( ρd͞2aMbW#$AgjѮ\h#Ӣ;m[HeМGP:]z\;j}1,|z9EVřvxQV]AbjYoDz'چ>/3g'a=)v ?,"zc@lm9PԱOyJd焩1"{m@u"VX@>/J+{2KE%;/)K WMԡ tAK\Ԟ$~6I+8ֹZP'k\{Fk>: r5{᳥ZY],lm-[ f;qD!T+:[єx&6Y&!g vv/9曑XjR$9-u.7t(߳9Q7J!KT)K{ƏUAW_!bwe%T[mfR砆C%dn  eC /Ci[@h28*DaXa&Q wϩ>0qP\BhzG@LzHHHPy^R$pSShzk# %.q טA'qqݧK!o~EB|GG35ݝ  L )6S.} mpf^BInqįR7lṑܑu߫QvRnvt;ܞ< |޸则9%=a $_"y? fqx9UU;5 wF"|H`7|&Ŷ9Qlp.Y/xchl\H+4A^ȍ(Jgl '!K<e Tj*4ޏrx=!9\0fimO7C{ i# xi-Nj}ڱErI |r2J3v%J,9A D: ?lP~鬮i -km>+m2mr!߮sM\1NG&uk#:;._eR9tBMacxU7'at;OG6փR°#`0lC?hrSM20\5& Fpn zovA1u`9x:}NPېЊ&xLSv=iwK^]mT*{]0:~5`*)h(# *،" dž;Fli#v$|NևRaЂPͼ+7y,a5thW9?*֝^|p#RTNYZt{Z7u}cx+uE}2["=d Y0f)^XzzBM ڲ<+߿mZO,qN{9DuK&r#ECh&֢˜=&M:]-2'N~#B %UIg/L̀wD ɗhu_+dD*t*/|W`mtGnj&@C,)i`kNIdV4Z%G,Ks b0skc<$n]}Jaak!7zbG Z4y xS Bs\-(bK6FWn\ JZ3vP^81#j[Jٓҿ(N9 OWu OVl3:9?znʼnU8o! TdbA09rD%^ē+kgXڗ҄e %j#DŌZkt敜!5{)uYBcv=WKk$]4/5(wd8.Y\%/9Iclփ@äU{MJE kz޷E©N2[@):6^VJ.#~Xi L'Vt7詨ES'> j7p8Ƶ² Sr7V({|qv1v^=lc ,gAĻ&g< x/c<ȁE|AYm+a> غA88_B%~ )x`>8%}v Y &7D0-kHD^܃+F}60Cj jSuRM}M cIn8q&` sd%0 FN'Ua'^P$Ǘtb>bL7SIA}|GRu3ր26qpe(B:NzК^ %-99:ڃ[4ڏdGOOlmӠdxFVcwzǔ/DSTD:SÖ' &0?^:yDAu/}]-Mv:ؤ!1_[(Q20`tkJz CCc5sO״`M\O/6%HaiNGČZ[l|ƾ;`^ N!7brZp;G:Yop^Gn낀{1X( ސ:X塅"H&.#IceF hXh ezb;Yz3L7Fc5 8#2f9i:R(=I>Acf@[Rc"᭝1lՖCh6w \XLO}DڠGIU2SC3eu o7F-@֗$YBSd8iguL"P.O5H.VeOɪdKG͉Hb5}%f:(.ᒾ`EfRaCFOw_d W̊=| kj{B&pPwb-J_n$+vdB,:nYI3 :=x d WZz}} \e~|&¶zrơ쾘-}… M;lu9O߸-mT\rhʡ:PSL`2][FsL6^ 24]1"+ #%1U`)Ri2pѮ9"JT߾7<($Zz#8}q}c2;.|,> U+X8+&䚰C~f_AL>]NshĂ_jX:C)Wk' {)Eħ M^Fu%O(Z>䏐ٗ`-deW:7\Y-z3>"sPK4P= ZnEg7e(3_C&Hl]tbm=|SdEÙ݄̞,a6Kcm^Ռ!m}Z0I|Rvϟ[t%G7`6ǑoecZxso[d( [.}yIH#32Q3 Enӊ48!؄ 7ٗF!ozLV1>,q w}<+=!ߞ rnq}e\ĊJ/ pӴf{չb ^7(HG]bN/+*ruXIs6kn'R&d)-W"t< wf/HfZsNw4OLW'V/_τ^rq-bHd)v1 Ung <%>l,{4{KexG"@2N7s 1$¯Q+|}G nѪĀc~:R,#0z@l=CpF=*0;@b[H i%9;ekmս޸j(QaJ"WJgZFYgjxw]=(يW;>vcVjNpnƺr2S4D~z0x`"WonloNu 9gɅWU2ڨ&IIu HjPbF]?LKPP3i#R}?cix.tL6]nSDVWS@Ꮭ zxJ-1y-Wkt'ۃDkjP|`5gSm/;/@Raj9ƿ{lDzswm(;xHB%H71IKl1v ɇ_*"DѝtC6\۠Pf,Vb&ګeu,Ʈ )D~%|ʆffYJGb>h{-(O*&5i8@? /Q%XX[L̚-㖾a$ f pU}=.V‹ &P$*3h)1`Gw2Er+L.ۘˣ cf: 2?xCa?yeEarsp5Ξ&7A/M*9jc.ylgG,4pp{ƥJipjUָth9E餝;oFP Ix࿶6]qs|w5y:r!x>3rcపm(S-Ɉ>C%bPRчYVD=g \PN ,WsR۰0jZ IV%#@bxtYHAbz2tfH;u]}AiJ9 ;ҌVåu2vB|[:$V[aqQt~̰{o1 I y4p(D apkuaQ2 gjZ$_L<^ŬB7)l±j＀]<0W`J\,a }-b9=cnX8[5W%7ט&Vzt/l:͞Km[|G8VjpPZz#[{ԤTl ,̏Lܩլ4jA%n C f¯QXꕥc?sG.,K&59y(xH,md12)Os6Q(j5koAR  h,Ks2lb EsxWXA%u#vbkY7/M۳9[\c33…f~ Ȝ2*G=^:йGϨ|ʠC3o|EY k 5ж߯|&ә~i #x}BM@R_wPכp+2i|Ï5B;KzNn͚6`֢}oepvuOO=|;w!P^(Y~rB`Ϋtu0x $[ xJg^Fʬ]}{Bf'ZtP^ ^ǹ*S蓯-JJSv#ޗNK-1@@4Ľ!Av"6B6Kۿ%~.%¨V6M$\~Edu:I2cnzuH~75:"#5@#ec(!#wDUY{=o;xx(Aadk Uً,VHd f$&Acu#}]= l/!HӵpJ˶2˶ޱiӋIIydJ sRd9 p_^Oa#RО}}O1AU4bXBch3M|`u^_?  UʗR 1,$Smd(0rvxfBNLYÝE8)-R K+)ӖjZ i]0ZIGy%\ۦ$6ڛ N5:L0p/ j'KۂT^2"t(0m(zV@퀡Q1Y9>n75bɓ7bgL^ބ@UzbdDr&o1JЋ8LȻ_hg+Uc#oAWEoڒ{A. YZsG><>-srY=|!ck2C0g{<q÷YjSՑ:"PKk;eG(?׼{Sg~ Knӂ$֎axSuNB}LG~uT^eGĪ1Q*ՍUC9f/N`O a2<~q N鍸%%\~!%uJ5XȻY Zb6h-0Kx\4Jۀ"e>J}Xepuś="S#iɫ9 ʖ I>&@ONJe߳['8+s '0Ꜷ|@>\pDp_b[ٷj\p+FPT&e ":g k]FWQhV0q v\ ƥa)|@ۮ+UIoߦL}@ uGioJ9mc'mKIY2Q=0Jbeor ٮ)iK6X99k]EɪZ6[be7騌p} z/*pt3 Ӟ{]t e8=tYӘ8)Vj}-ۼ`EMmD[-&q#hWqP(8wӫ\w9n~D.rNI0gllf: L`iCGV8 v0OQL8î Wk`&Y,}oi%/rze?N)Wm6[dΤP:@-wQʕ|E`DJlJY ˟UoZFsl/uJh7aMDnؕ_A"GLC?}q˕JlamxkmJE>YD׻0{./{l >XJVg}=CC#:63{7B|ˎi:hc߲{`3n%F巤Db9JŧdjJT>fZ&EoC> '"CZCV08#0ަ{$N\ߗdXfJ. [Kk廌W|oAVǧ)_|Jri |MB23k%ҵs{iM;'D햍~f˷c OoZ}IBH3FNX'i[p@/ts 3Gs}8Hh.Ϥ -^=}xGZ+[+uCp &smb E+R9|͖Զ~\`G> qevLCm'[ǽiJ,4P ;2b`kiq3daM.5"Xf-au+ڋIu݉KsSxfm:C$l?`Ǻd)6vSHƶnRK'Zsh(a'>HNM)+E$ɿX z phܦR"CtȌ@d13y?chq{H>gϕ'+38cVT@h}^;{FΩYb[q֬A*4tǒmXxwS7i7{;:L)uhݦӉ!\{j^LQq) /=_|߳D3J|6T MDbhr5r>9*~uj1YF++l^ak/n^\$h <[q%[vM7DI/zE-tb|ɅUܖ5Zޢgtg:-2Ŭ51k%xҮpcihh rʫnM-ݻa;xb&[E ~9/~~S̛Q<P2bKx8LA֭iG5V}^~Dn^/u2HlKҭ%fxjnѣW: o@Lq/R;_Qp++,1:Oje/8jS JfZ60 ͠kXeKQ $N ( =IKF@Ia>zӍj~) )˜u`Bl)կB@S(Ƣ=m_,բwNΟgrx5HO6:+0(=vqn+Zc+"%Dv 8ugwJh)ӛפfUr yG*p"@rF-S}l(h4v+i2\>ltOKrbtʃ<9 ß4I2.53@7H L sMUqݿ'?:u+(FZD|یzkM_p"ObsJkw4 {n#d֫|w 1"qR|_(|1<2ЋA?sbӗXIpΣ $ ~z;;Cc͠Cv٭*=u&cL~ܞ A^1:ItZ::3;ڟ0ZE!>t4ߡ<&q>&>)fH`/oݰ Wm6Vק3UktBɜhbm*$<]z^Rb6ڹsg.E4y+^U >`n*iMJFLrr,CI7?5&f楸n2:\!ݪE%uDFkYmð㴳ۉRY-H#[ؾݱC@xu(ImMi R̤xoI1]V8t %?2^ 8@=|lc }Wf1|i4NDm/ی+4.ƇJǃ SF{9_*@l4ús.dBP)TXw#{EN 9ri@~!4ZwK$ ,}M 1JooY^$'Mˋ cK7Z4>*6pǖjp dor0mzl bQwAi=,N ^!gQ@XcЁڜ]_YP\ge[&8m<p  G\YH~ ';++Y{ 8IGI]' Yk{򩋹]W[ tOj0+` [?^6f.qgKA-xT[Cm(VW4h+[|g{APv>piިQmoUE/h߱sŦ%v7.D.}kCMBC! yKԿ!_RItHUan2hnkm=@zSAŗ'%d-ͤqi]1Z+[ab2Iߡ׽@xأyl; Nf_^mùH\ %@.览9YYGݴ onuwGc$tDIc:Y0o@Fh֝Mւr &HT8X1[t5,yϕ%x#?{Z<^ber2*F(T9| R~ 1Uq%۴,:."imz͡O,8l׉wlBL UQ8 7tl7@)?unH='aO]uUChEiy]Nʄ0wK`RT>_Uԉ=75QJف,6Ơ~T #utSNb,aJ֐*[lOޭbgQH/a؃]&t3+K3{Fܿ VwoА=eWwh/di͔ZIS&DD{'9AwLӳ ] "^U]\HI8}8L#l_ niـ>ao(AsAW%?JPkt\[SO1#\^ą?{Gd{rH@dxW,%p.W[$}䛅!w6?E¤JJ[^#NR09/^M>kTүL^9tM#`9529e3Œ g}WAr[h&kQnQk"2}(C`d;"XxNI^ڎd /Wy!4x$/yD8ABaFfh;W/-iKNV=a0 _gFnr (E0T?nV+A2Hi{WBW=0C2?gZ c؈P)V exf1J$9bFg"]BSV]\7{̝;yR𻿬nd`c߯*\uq6\,YT ]I,B']%r *ឹXI;8k`kŜvK_"dQRaz5Rg/; )&CmW$91_Qmbpq$Ku4Q+L&$I9$Αnr T5c]WHԋz_W I f**6_m)L'/>>DʇZ(N<0ܔs9mǯId'ByoioԬC}niFL@Llb!2U1LC 6 ٙlD6#Qks$.YUg/!8|(C􌝢IZ n QwQy9ª84&MbF7#Sn0~L, f v p3\yaq=SYgi" Vw`W9~t EtAj d~Z ޮqnƷZ'P~@|2ғr|W WuxF\A2xG2csvԗXK&$]C9厙mu{ 8Zd jo'>d#pv,/ 6.P"(iƽr="~"y:C')NK$ZP`P$.c N!FԔo&$Qµ$u಩ۇ 4/jxkAj\:uu@_ < 5{R WƊ\fWzP(%|27=\,S[SjGpZ VʗbP(GI܋l Edyx*FᬵlC(f߮u;N͒M(LN&"xº}vǬΙ GA%F[Kd/w ؂c{^Oy'lyl 7m0ߒj/bώVU7Ĩ3`G/{xNЭx Y0=`F(BeZs~n]$7 vxku8[c!Lr8r:10/Qz8.P ct=I;K IY8H JzwN~ׇ/rl ?BUÚf:~0i(gmD. \`M;#>Ŀ%6 M&`-qM2貄V"KUOL=+^"K\tN1)Cu F cEy|lP7NK2( h%DHC-绥 1ie L ;DZ嗱v@Tԟ}飺M,iWu /61Bk.wHO M3vB$,pU<\ [߮ŴI5 m-bYTź&dxI#ڪv8#/ = u9GdZp0k4N+OvAQeE HeQmp5$ws=m|a!$R77fs3,A=(\^3M1P)Fِi\?TR 'h@zZ&Mmd#=oŽ =Ofטo|]K`l/3N5r6\h| Vi(w\W:#1>p(JRtpD+ϫ\8|8:J ܵ`$-! TCG# 2\\'UͬFYy:jќ7ط%!}oG.ro*&2%bЬ}?[&5]2~{ h6TڋOJ!5mR^DOR4\>tb'V*>|!lg@>W<[!%Bs>& V6 },V3JHo 7OxAZ>o뫩q­pq< Þ8u2Չ[\PxxMD[\@m.wN|9dvC8 ia6t*H#(loJ@bL9_sK:sj\3/HƁ̢` ,5x- 0':_gYbSp5kJ+ayTe D$:ѧϹjU/9lSgU'p1 _6{A5U'~S $oEgemX5!f;t^#~Qs|IqI o\WƆrDs4ˁxQ4pT #5KAyx7`r!(ޟN=kނ^63-աVݍص[)LvVpJy%p2^Ulenާ,lEv&V*%NU֜vXjqؗ jx\aN8[CH:` Di!e<\f&8ǍOdNU+$YƓV<4~3(bd׀G Ic|$-ak%W72[PXxar E*GPWl[h(-9X6Tdz$Mlp35{s_#rWsl~FJvF.)~+LE#2K mXSLh*1ia!ǎ\i $mZtx|,gh*MT`SQ|<DxN' N}0Z;rT/.A^]{pb]m/1.޷C,qyюBtYčhX\V Vv-작y|M5>C$"ymQCRrFYVQúU SCMGeQIyJze&udg.V>[ď8jXw-&S=HcKb|]GfO{DXry.*bP{^ [uK5UJy2SY(JN"sn,H *z^Eme5XnDBF؎ ;7گI5򎍍g"cyVã\IEWs_ago]  By[gIt8}a0;FE BDD"+rrE>0d%5_` 4o\?WA/3[`RA %Pe܏}HV+?DCF_޷)TgsO /^TտAL^FXzN)B<ȡt c-F4쭻? !/eY > M<ci'%ne5T#5T̳b7jbh@@Ȱ#h'96޸&OhZ S^W"t` X@eѨ e#)jzNXMt}ݬc" PI@)N,? g*F,Sz@Nt:ݰbk^=cJpn_C6oۚ+7dQ 0ttؑeZOgd ?~\Z]t!zUnJQbT=/^m_78jPCTEZ ]GF̽|)&qHmY `OGzD)|z14hq56v&*%wII _SꥸAl`8`)%{fӤ67 yj$3Fiӧ92V޶asK89NF2;0f4?׃<}v31{0N5 f}"Mm צ5%iV.| Y$齙"XB9VqOTl[>"r j[{;"G%ə 3RW;.7?<LEj3[8tu*Zf8pjtpWJE;*'%kh 042 ϟ[lz&GRVKWP1EUY)g+,.y0S&(=ШVťrYI$Tsx&eSz_8I  a&DVJ g8a ֎0[i<>(q/!7GNϟhx` ^{Ks^$D:)u׳ϯÖ"NAś$rƋyBD@O}fa'Acebv|\D,Y =clW##wF#Htį$;9Q.BC42spQӉT;'tWLD:nJ$3ܳhwmƑ,M`[dE|dQ&gd!$ࢲ wHV\fG %X; #vW-}ty_`i\$lLBcӨc/x (+ xިW\EO9 hN.)igZeޭg98--Z]|9EoXL&숑#ouC_:FǛt5+Ju嫚ѴvXpEQsG~%.J (~I౛L BI;4=;V&pv3C#c HeB"so|ق[@D r];o]X330ΰFn:Pz~i07k|J} (ϦNȿVچ3{u< 'qo6HV w{~bLU :q(3׾HmRx1a< U!UvP탒IZ{.KN梛ns/-V Y$n\!v>8|Li秝d="aǒtT=%Óދ IُZڋϕ, uTMۺqLeuw$t50tDJU$Sl+hbi=ކV*LrwMxݽd^zzpso[+ Yqojc'/5̒_slbBV`Q"Fi ~v| C!׊;hcڜR4q&XRq"V iq6i14]c U:xpQ1d ̧Sg@ XՁ:MMם$TǴGFbc Gj2gmw't/@jS/l'ٚo*8Hl]hCOǤ'^?vpA尪'1$1E 1 ])3.x.քsm;q1幖DN'Gpp$p!Tdӏ+U/#[6oq;IgnQvgDe#v X~O) kt l XD $:3Rf1^ D ڈP6EXIY'H=ʖ˚ `}Hb+XNI /fks ,\l ꂼ-6WC.6FC:KKYpUJ\[\JX|񨯃ݽ!TG7u_iLxaGʈRn 5ȡsWre!A2J&(_h-_䤴莭J$-N{0£@OT^Xw,vdžd^g|%^FyG[;D*F(t6VZ)?EiٶƂڹ4/5vG2ɟrZ)JOV%kSx9VPJ5w"(O{IY3h!L9 E6J3lUН/=5rZ&ִa/z;\ED )H1݂[ZbJ4N@?!>6m͂@aOGyT1y}p΀j1]?npZ,4:fgI8t—p0J {~ȻOI7)Z!s/Ri,,'t% Q:) yEHo=UwtTlṁln_x/Ct%ldg/p8=ˎ&/LGΆq୘T>sKoURC w8"$bO-m .{q5!X]¿?l\ċAU ڃvie6QٻaǢ)UYJ;A?5vYy{? n \;!$YL7_w 2à9 ~W1ځso6aW.aI-um$kccm|%0RlH$ &ȭ~IBCTXX1(Hd|쉴qSO>XXང^ρ4W*!IL7/6Z[ 8~chך_L54u0ze3y XQUkZa)fԻ!haRV2ZV%&v4>z Fd~Wu:~]t X I~E>q:McL@Z2n)61ܷǻpA(Sp>$>-b<ˆQ+S!3k D]8̷d6ag0CoX1PF%K 5"ı$gYًm.X0\N >W\FE9Zx>>d@< Tav Y GcQ'x>9V3dC(R?OhnT"J@ݷX'k\Ktqps3 ^}.bc"\2S+Z)7Ƙ63+8]-x[JmJWeXrfP)2o51VC&',ԌscDiqQ9!T5 =5ۃF&kw,ͯl$I>x讈pL\?*Aԫ 6BF˟\Q~,iW^C π1roUJ8>Lz¿_1*d H15\9{>cyIAzaK Z!XPLoAIhm|i% >j_e:AXݔ^݈=[WGļg WtICISœ?q S#H” w";:|opR<~NEE}eB>XN14eR_8I(ZS10v;z4GmXgqH$O6qKxznmO4u.o۸?~O11U]-AybSqSjǨj Ǵ#בp.а}A^w֖Nsztx3cF6d:N ` ?eVx3vm678R5p|*%HuaaFur*W-v\'Y Qi:\GYD́7Tq'eqrpSτ3I^QpZ mVcDovuΛm)jvњ#t Ӛq* $hW\:pDR`, (g 7KP<+,ղmMuE#[2q9$EEј+zF0k/7=wѴ+f*`&#+zAٙ*~,l;ʹu$س5^R$j E!sJ{0Rӧ`ᚋU)eDx`&yf~"79X 0@)Ac<hٯ' B3eHݽmt>JnmnUNz7AB=X#4A UqeMVXMjj@4!qp'NS4(D<2X@bue*@/B~`DJ3` ?`$H} ^E`.G]ߡ'DjVs.YG`!WZk) e١SOna0EHvv/`Gӛ UK %w?Dgsjߒ2'w=7@5 ޼`uk /KM[/'-)8cb#"Ҝ88'Y9RoQMb) rg-E523C y՘XS$c2$5$Uc|o rxJbxXAJYD[Y{`NP'hu1!f6 *RB1U"ΪC3 ˇAݷڇ3SDz>fF[;B,cyOve]QP'- ) :6*:^ hK FoJUW=0͜P`e2bX4t/u%X kr aI(niVp{fΗͱᑵ <DJ4b`c墅1JETCb3JN(f n=3T$q(sbھͮ bGIQ@.X:/}*SCSҥl g2;ۍK:%Y0-3 gn)b؅ {Vp@:Uŋͼ'W:$<-Ԑ$h)ADc6 M02cZ-^#'JA],j%(@wvzԣ}rykf\f)'HWiT池b9ix4CBQg3Y ^RGEӘJJ@PC S4T6 ]E9X zlv^1;V;D 睥RE쇝PM;^HN]&lrtDnpGL>%"んDLO/:Z_@h.3:p?:Q_ޥMOޅUkpH!մ6X|4'ݑۡUypPLy2Wԟ6"LPk+B Ƃ}v Ͷdcs-L%C] Ȏh˥@_jY/W3شAN(PD"Tś;U ,3s,0dA|N?:-px3Hت ԜHs=%43'R㑰VVB qΑzS3dP D6BKVɆ4ȻOu.'\<'ڏ,bp sY:pzPѬM9[+љ.jLRR!$(g\r.d? &3tn2IW@c D#񝚿e,<-fLVFH%2T4^O%uGglFf#l#1P}3D-k/6GW,mE(ن ЛL2ShQ-A4'~ż6kVMv.^梓uq1:'GN#?43%]JG?V8cR'ڤQ{%y!Ԣ{{5zVl 7GR^䒙!\`wl *> *0LOr1+*n=(h6_Gx~2S507޻E&MmZ@G bbYq *JP4Y~#Bu4fՂs=ߣa|n|aFMXIWwP 1 /D^j@HcLPfLJ5hn2s+)x60XBUo[#Z0<~Yn.MޒTg(PۍdE}3͍jVsP峒)!@@ \a'=ڦw8Zl9!A4\ݑ{cQ$m?q2m/Ul% j")^&l0^eb (6UO:.;><_=6*-1\'];B&6m>%㿱$=D\:͏LI.n=/]A*YLr-EhS _oYRu2e36yk0 41 `1j!]ۛEt͗X~G;W")Q w[!Kw ,֭Cߩ͵cU.2ODUU t)gaq%mR*G?~HtĘCMp_OWx&6HЌÖ0v뉣rc3pu# [,`2(S)e,|&aq ?$zVLǾJ/Zŭ ;UbCt]"֨A7B~LZ ">OvҦWExPA/#+g9aw6$k*x+9Zh:%0Ϸ nCO>k sa(oωCuuyģ+@bdXo^, 8Iܳ[ 5㪥$+cISJ4B<iVeb2Q'P?:m=W2ou.ÚШwP ӟqÇ$o S>V10oQ1(H&. hOz2*;좶3v/`R#8`*lcaj6\sy_ w&^fqBG`8$HZcZͨ/U|\}@_[9\ދ彩!IGM{&wc8%5?VȒHG9ـ:eFx8g8P@x|\*J#/iU;=%5tv0Nn@d9w'!ыKKOdMؠҹq8U6P*!@2 ׏0 /h5f-N# 7C6~sLD A{!gajA=*ϸb˻:w,Lg75=fŨtR_j'b;c| ~BFOڝfpdLU'a; &}u279~gߤ@S|zHeXx^yQB{I9D5`}tcDa_KF7siLV E&RB1h (#V?~ۊ..κdDOբG H#[Q3Cb+K"8s~Jh}78Az @~3)w;:cK_#(bҏIxLZzb;ʤ!({?\)?-xA֛EcѺK'+eψVSY>hg='qG5FSaWDwՍpg% %<(e pnn%1O8uαE\Dr C8D8%drLھeD ia?ЀAJ*}*'\dVZ z%guhׅ(q;f5 4]fT aTҶ "{uIOdCW&%cˤ't38iqIO*ޗ@x__ue0׆ ,;Ii& oXb'ʑy:*= 2~nsL j4 {N} Oŭ^ (Hd}-aK y5S}7%cu]zz!uMj[uHZfw٣֭T뺊AYVזzyy*ek)>iGZRi%r3̰c' xۼ N:aH驺 LH/`dx֠a)|GwqW%d_Zw:~_t{֮gi L`%%A=aPWh%mM0r(w]4`|RXhZ< ͬLFA腒/,R] B0 4޽pY[=ǣh2H&7sR<+K)kX|TPIl̪+O*+x$Xe=8(1}nǞ@M&OMfN`1hX|ssd[NVg|YG :C*L]g._:nHvXR[hwbV"(BSsԦp@18=sF.!0'y|޶:M (=p#wQ,C,v_˄^NH~;>YoBX^8tcՐi`c}VxTn*D!;Ѡ@oiC)7\:7[8!+36fB(nnCK;W4UQ WA M,zB^{h\N&*9M R !"'r3ka!9I$l>  TCM 蹦MDHnK,x6֤jƝ-;W+hp 1M4h6 %V.3}KG7(N Ы!ʛi8f۷h`i#xc\tJVP/˻j:"Nҿť%:N9wt!_̷I|Q GWF:;lf, AUH R\wE^K&{),}hy]&RBD$ 1Px ofPWTh\pJЊSoRCxGkvk*Y3wf_ۂ1%tߌ )W`ZA30Xt2֞%%>lPs=P3uΤh:UAs0`Q*g ˭fg}#X Ž~T[K=!r81dJ,0q!5|L4#M f*r\PklUԨL,½DuPcץk+[Oj jn4)CEA,lko֨d- e5a(Pt$Y 2ޕf(tR ❌QG*a$~Jݗ rZ 1i@o2p㱌1! j#XQ07!czU_>!n-A:va?c@'MG xkyr9KAw3PSwE!T[V=Q$ ԣXe!D{܆`ߺεA76 q,'-ZECP1PQ2b.Ұm\,sx!`7R`Cr;˕4P !h;S9^S&dzX[$Tw8gq*Zd8aEs|2K*k/"eQIW3tr{@vT2_f_o5b/q`7bpBbM$Ë5]lgh%Iהs'>$V)eC /^\]odј;E]<+$qc϶GZ ]&nЈsK5AsL$kP B.J'tY,5pu.9*o|Bԯ #~Y7GKP8FY N_ZPc-]NƨlzB"&ޙ]eVƖdVJLM.gabKc&39:ڶVOhuuFs'}Oz,RT>$Y9_8Y_KAxم-0pc`; >Ws&`;^.H~\Wd`C ڎE2YeD]JԱ_Pd3ohT\.V=OrRvrPE@)e3n1Pӱky,$%8IżEIFeWə$jPB/$ͣ'ltԎ=u߭#w; #A9R׉.;&"y4nCxO68#͝.űS睶T-#I_npqw |v[8#;Pp4zQAߊ=c^amy.HJ r>0H W ]z65> =f u#(ԯWysƕ%IrzdF3F0bza&ߚӆ ͏[e:D|Pq嵧|^R/~ǟpT|~q*uFm ŃtQB ?nҶMo-[ߦp*y{e"83M &RlEk1fI1tL5O8 aʨs0gnwCP7B |㛉 LPgg#x4G3 V MIwMA  OpГxgUP/}k$h`ևx}2NL}C}V''y疳LӮh8 1e)>"|!1{3%vĝPI#8~?!`DžFNxnHV˂lyƏv9R"%Da}{<(6AKu> %%TMw%U"scƮj 0SNbnGHR5.E[\!:J1Գ'?v]"EﭪN !E3<?Mõ򙡺s:TNO'W)D_!;bYv#4 x={25.bYvu;Bz .܉*}~LfEa6g`-(&y^V`Y}z`.UF<_8( 1e*4 4>ːި|?aQm>cTAٱDT,0~ȓykZK{)^x=+2rf`| }aDZIpH0|J<k'WӀ\n~B@  ׳MbXYʌ$Q5ua("# _w3zŖ 2$k#D zmpR=mKD:hl@ߋC (cfZ1qvr!k8{mXfqi[ǫHCʖYe>$!Ρ8J;5'DԅEkM?tyNugWnyaQ*-`Dѧ3Q&%2%~! ˪MHa d`(Q4[v}9Zhwg]ӧW^Eulʹ|6Jɢ4t7lLƜnt@̼wxd^B\{sy b{- ]*v1lkpذN$bz9DV6RB;o C*z+aC~ -C9n~qii|P׀j+\H:c}($vSxA4z(ҟxs+X[ fM0Kt?gOmy#dEIA [ 3:p8:#{Q6[3/[ia}rTmVD~y8# !"'CWr2W4M}ܐǻQLT0{|Y|xUX'ϘY>'ɯ><\q!9#rB i-{A'kB#eOpkx\kpd0׳ܽ pBwɖVTaDcREߛR;ԼKX Ra&r-ml[A>4>Wksi:AmX dY3`0G"e^Uw07eàq=INIՒ"rz5廙Y 1O,On8)s;5RZj޴H; 33ܔ( $a[ɇ Cdzr=Kp{#9(Vqkq#fcZ#κHpXf;\~Jb::?], w;9=x*Er} u0́I%_:Tj W 1(O.If 1(z=ct2L1sdioAۻge=K%zAS+ѧ.I)8hEY? \OOhn-%G>Q- Gb \Az ɷhbմF/F컶8`vP8p);>Aa; Y<ٲ HRWT"Hc5"آgo,[X Lu >ij$Hګ}P]1q%yR N#P?ZP5ʄF)d?>i#ﱜeRkc $ҙq^'b67%l #)Ui;´ (6 >-/QCuFgg:Hgh$>ҞGF(%=tߑum]&qȎ0Ce:<0 t7$7k귬w]T'i9$nʦ N¥&'g/B?9#.XƁVV@ [S 9*H6w\6 N{U!2:ؒ t#3k SPuH梖|h4Vښ%3 ,QcbHEC"Y2mw XjawLr(m,]a̜Ng"7v\mq8F4XNwW[D'Eq ڱR}^%!DĪ0Y2W"]矧dQmrh)GFY笨~\(A0x=-~i /nBX == +g m咛ő2hǜi#.pcv ;RP 3Y62ó _k^Q[ Ͷ/4Mc7 ݾWKFi{O9[X{Iho+_=噃Cǽ̲tkt , huGU ?L965u Tv4!AH^kiFlΈ?Irj[t}8Y{ "[bb#V%> ȍ #|[TEK^ {Xx/o6-ߗ<# rbx8Y 0;Zϲ/R+T3pg6.#qq7\8їdfm$rP,@7BPg'ɓP& IhlNq^f{G{tq^  aw&qN#ა kݲ̔~-y6zEؿ=xI\0F6~o>y ND~-t~i ]`bH]kI!2D1/NN[D.*}ИY*# jZ e8#aGN/$o^FR :SM=`ow6?xע6 $GO]3b.b8x_b]:!#{cEa1fxIذ.u ta@Ҿgx6:qH7! :\CJX7hR#N گb{/J vhʑpri":, ~Ւ #WIok}Q!A4-aj1As қ?5ٚl{LܠRf=K.y[ \a8 |CiVJ XٌUj㢼QˁH"ߨ٣ڛ*-4D[tسX6-PR_H:PVY<7,Tw-JvPH2`gye*\ph&5=`0\6G1G~"8@<א6fd߂gɪ;0:ȏZ0[0|ި|ի[r[ T{[HB.t2s̋ڈJ9' CQĢl齑ҐT9ʬor|&iN0K+o ,Rn6hxUjvaR>wǑF{AyDLvClX-6 c-o!C]94EG`oDy\b&yW R ZٿIiX/,2yO&Xڙq)7!1& 7Q}jf aͲޓL&}˃脍B 5=!5f((2]*XXvf64 -GfՂѢ)˽&&> HF'].LJd0ϻ[ %l,}P9mo 4 K'QϘں,|V1܌7MqbgIq9Q&GiNʢxCcuuؘKQK3a]`-$W*H|¬pngk{Y. p W 7?_ 3JigCGzGҰP%r ²]B팋ʹv^ZbwSޜTz:m=Mb}|vG0`M]SlLҰ~|oȿ-p ?"?gsFKqVZA4 Z2rdlz}#=K8jP^'}MY &@5At{&PS<6Lɺʳw3GacDͥN|"zMs1ުxd?9le=Xٶݽw~{ڼp@k"X⊄GiP{q˫Hn-0g^p)ϊhYF}ͬvN[9`֮|t0p+I%RKY Go:+X7)0 s@s<>U& f3Vu/ؘH4(z~w%a:j3|/P|_׬w *0WXO#Ї ߾~ujgf7X*Z:e$W*DC uu${in 1j[ Fkϓ놼sPOtӋ~9P=[c^nGŏ 1NJYB7%ע*R.Rt$C^ kkZ22I&(r~ >ZE@ciflú(%)D[jr|Y5F5hVmMD`_% DQku]sFrmN822oS=@8XG̜QȀyU];l(iJCAbi5v]zJ{B*h!/:qFo3fs:zMlnw"-{cNRa%Vy6ri `~18L$^E{e%KuBeh:۱#8G)|s/&BA)JӅђu$P@1~toc}DO a["CAmmeheNG43@pgrע d1"&ʬoDz3u)PpJ(m;Ɋ‡pMtQI /'/0EZ hy]ͼ}7Hb^@uj3y:23hl>>Q޾)[#PP4e۩ j-ٹ-u2>&MiwצOѼ@TDij3>+oAQMDJ%G[f>2 I]~cIV2B\Wz{j7`!ІGk`UPM,TReOr؏F}5H b5 ) *Uvݓ\G s1Ù9Ȯi1busAvE#]X] ;O;o_5FAbI ct,fذ ֝zy fVeU{]^V+r-eRqݔ&ލPMK?-dNVEpLC~8beăS?Z016xl웠כe*B 8i@nx,n¼-7"{x] &cX?ZEiEnX${w{ ƪZ|TîcAF2(9PK [3B_6 ]w_(tUUYH6uPXTw~F[ϝcib+AϗsXВ'Ή1q8.\eB(yݛ[<=*8LkkqNDςH(xyu{*N\@ . '3{/,!b8;r\&vE!S#mIගP|g'K[}ԮN@(ȩvd]J ~Sj EѢ|mAS[۳hވn1R$"EX>0TAVWl@]|4$[r͟Z1@^Y‹,@gTjKJ*w=#^7'3EozF= ..m1 Vr#C-0ɿMAF'a|l-^>JU1!>P+j/J\c՜4:}%8 8NËH3-/`VSѨFѣfXk> pMD7Ut+ߪ$q_liEbث+ XowX.%1Wl6FxCB"u E"/c7Zrh= Δ76C]Et0 X8raǼd;Q6hZ%r[Q3| 2nW늄s7<\9z ?6bdr>^cbqV,G2kg hQ!A ľX!0V1H:hKj՗|6ܙ4Dqj 86 g<"V6/~%`6X g:2Rd"+Q ~=˛Mmܶ?Z6cp,jNPhl嶐m*ΤV%[_yt~*g#P^\!>x-dQ|!7, 'f\GpL#HΙ32v~\hiy9z֩KzG[* HA+mBDv" %$iZ\?ZsLܣkS+M1 :D!JTsAND|Ũv}3 7^ߨsChR D9r[}sXY6ykQiS,9 |]ϔ`%Zkq̼/q1m4 k[;B@B7.0OӅgoKs2.$#bLkc_s+@_qC-m0M쯒0juqܦc˚PnB8{+-FTa!G)|Vo֡攧7ؾ8vo ד m&1=LiΧ>40(!46x]g%nha+&ƹ^i0qͭUOLF<ȓ()r'rL w So;0Åʯ"LYb~9: ÒUZw ۧMpv }(AlxiIفm췺bMˤ=E. cI[7׬M\t ߰Jp1 nq!6 "OPd=ů L%eVe(Nu: \N2Z)f)?zD٥`C7j AЗ0Eڅ S 0?("FyGKLXjm2ׅVq֟6t(Zi$ݒT>8 c„R8 ,Iշ6}[7y~qkzIJ#Pg\/){Y,L/UQj&d4𧱤amHosEiba"3n$7֧H#w ;SRm6@g4\A0V"#p$Cäg  h^LjD19|p QrNphL]FܜϦtUXHPx8/铘-sѤk0ȇQ2}U(Ny0j_+dܨCP;dP1~KdT~ӝ>7Fc^w$7i"[a0jmo<_;8X7?pF 1]!n< x\2eGg2 :]z蝎`[ީ)nH}p !w{X0@KkfRWd^CSuR[՟1+/Rx~B&[\y}k {{M9,./BѴY6IZFSkcA2J\ɏ"?1eC2{hPωxmzBhQ(?U!v[Ѳ'CBݜ8ܘqpo^ڃft#ad VC^WXr\-rwHi'Fl}3; u6֐' *qv]@D099 "Sr2op+ w1TmDi2R޸~RȎ}%A.J7jTfjN]gW`H"=y{f)b8_A.\?.W"p~ vL iܚ` ysc$ iASu۷ !v왉-\]. ~)ktXj.:?gvQS @)1[h+neoX(fϢKsQVK|#HeJ=,n";3Oџ*ް/OUh3T:rw/\US"nusVM"V F2.vP9L̪'҃F׋C#a]aՅa3hzT̈́[M1o6~hԾrRKvp@|\|Z` 䛤/Yl-a;0@<|4z6M=V` l%f t&w M%~%zNr "c? /VS=G04o扤\zK|@K}F'CœiPM<\f# ZrM+8<%:ScEfSy2ϨM LmG6=hu l$ٖ3?j$u[9`ANְ4ujG j}L~gh53" MƂ*Lb34:h`oa93Pywc5hWY9A1D%3e-גtg ߇ _YR$Mus.9VBru-]C Fۀ;m45Mm^\쯖aT_%7|腢 OS_¾B]nZE/ϵPi9Gtxrg'MfxRԅǦ+sDҢVAvu"t-+I~XbB0x$j똈`$0] H29xB@}y}Fy7MQsfwvF6^/ z?)* c3wIlq(?e,^u{$n0Q1J{H~{w v$憰{G݇ͧۼ`\!{UTOe͆7ٱkˏwF3'kx% d@AWd~jsA&K1R8JL#|(9?!KfDWO;63ncMT(UHXi[72i.+[֗D,"BD> L(2Q[PW9bNE; rc i2KgT"@t{ AzEcy/ZF GcguЃFxj:b.Q4a`Fd{Q 7Zn.E7hTƜ(^O/Ψp3䦍sV *wT #q0)J9?'B"/ҐI430m@$9h=B42Qg_lte'(ak>&gȧ*f^ea(}\K:_:3]&v]C_FDHvX dbj??Lc.n W-)Kk ;N8^9ή9\?=+K@'XV: G[>G~ГfǤ;7=h|P2dMu!YlH02kv0ImvY$tv&\Y,v:2A##r{ķ d8Bc&+"Mo,R$R<\k!PS(&|)*f<΢"Q#WϭMu,˖E㯽R9Nddis/ .D*-O^,W8 Džh,*AIzE^"E-m.Y kTk`SkJ6PDEY?wqX a:NAQij.p>C&A>=y"Cj\)ewiX4n*N>[(nPj22|)#XB~ { Mw 5QY)Qo7̾jK{D0g%!ǁn TFO[bOʏaY5&6fiκ N2~~ab,k/Ieg0 uq2SZA.6 >kz5$^6Iƹ][~ "i.U7ou?"3b /j|ФsdGcyEΨGBa-y5a.CXdHf7\FRkiOFi)6)sp6 :3صwaHWԋ)66U$(7y.2VgX}y?$|:XK)kIZ~J0bki;[H-eCAmU .PM`RH!})-7@AhpKҖ(kՀPL{kXl#%f%T;!0*6 Rw}4V"| ދE1"!%IO7~e!xkKI5Z YJ e*?pW@g*V'kSh 6NJ*B < 6_n@`쵺eER!g[C J^ZS"cYW?]СFe_pP.Djp*)glYxPchj+x CMn~7 .d4=|5W84(^^YEm_v>-ndp 30(* [;6bp l ?I Mo~L{k׍L|P3-Xȶk4mb 0x"CXr1cxB[ GCB|Yf;3+qzbK0XRI} ]~#Ct2M OvϮU맨Jq6L6Nձ' Kaˑ*''ׇM-Q>e| uѻGx-F1":wњ443Ҹ +x!Jt ϾRq/7*K<沆2:K^IBw᪰7p0>/]#Jg<$3 |Ku{0Cz/1BrrDu*axNmnY2zb-sIIDP `K.>V^p _ە3һQs{]}`.7k)"f.x2"$l˼SV+g&RB|hE}F O[W돶fӳ  ] ܞCDlj%Em#Vg:mKmz}eлrT@U"]~RG/})gٚ5?*civW`LW8 2x9]^w)⫺1z#;n ptEoBּؠU>?M*˰ܲJԢ*˝ $ >W=n} k-6[#<wXkR_F1WP-Ti(Pvr1~mN\Aj'@.LRJY %ZѾOMr.Iؾ nD`&uj5iwy%peEm/NƚOWba+董$OJRwuωdMs9~x2 x JϙuRSng4HkSaej;z'{A,J&_K3>HV> 0 '"mᘞRl{2tۅRrI?d'12竉pݦcY#$GlrɆON/Qhn%_]hU"~kpkrSmnn>.N^?dVTc`sÐ2"CjH +Z,-Qg_Jn:# O:Q*fF o o{XԔ[(4MdylּLM+d1g}=`qt<)3-ϳXf,Om8ķ& (v!xM{=3j#X_yg,Ju&"eQS]J<$~7jXJy0 `jUxj bcUS(l]HF%:bY]IW"tcJӀ_^B`g-)֨wۄsTܦ ]ݓB^^ TGJ-F ٮs+G:L N꺋IhE6X<M l7,qYLN8ǶS Ʈ׹ DgF<iM=4B\9Lʮ)][pb%|'K߷ 7 +T_tn+* |,qYmj:Q(p=I݊)AS:[xčK G"r% t11Q "Y6ȞP}Evkܥr^q Q}m14R3(z!D@Jxe(&ѩjG0+%[cUbeSKq=iZu΅y/j h%8y̞vWϻP@JBpWhTn̻% .{htnz$<<#(mx gQLT^@<78#x>1K(;uC:G4Ůc%[G Jri|*5yj؈ W4h 0C_0aGkC+Rd@AF-4?rz2P7Dj[\RǢg*fQ}烮(v9Z^ufsou]?qSd)ĉ5$g8 %S|-( *4h7:=MCO&h:Gw(|֌~SALJGİkxLȪ\sp\\3̖Dգf9, b4ձ!㢥L$)Yve xj2sF ˖fĹsZ_r=1H3.vz0g3R_H>R!L?mg-Ь@ F%Qa|9׸9-xK|xHn^q7 a&I^w9yk#dchF7VtPGK.z HŝmG^lz7|H,k*`ɡܜNV//ΐ6'r8skaex75pL Y>eQ!?ȓu-X]JW ~ 6~F@PN0 ~މՊ>夒ϕ z fc ={vqP@.Iއ,"sa$pZ3I{"vpP5DfD@ӡBQir[l(Bu2W kWmٰ"#scƶlTm$-Z43QVe[jU_"wpe@ !C-n(N t~TTB!+Jwd77aOZ5x6G+ʵo~8w(u#n!ڣC6ۺ68>@1mC(zǐes6+B8_8(qxyt 6U'=a;M W$j.:8qU_Vk9.lC+PıIu0u++i!vw_~'z]fu6(/wzNUF#O{즎CY2llW 7 qkhFTy!IkqSN$#`vdg)h.Ay12.Zhz?l˻0y!{Brs;`ɅgP!tsnxY"_c)*nJC-c1 o@r5 XgvO f[zE ~&ӶY5Odh5lBO'qd%_c2b{q&qzۡA"$* Q?,BT}KaT=2qTs9/9L&NڗRU^ qHƫV=M6:s-WZSbjbbpk9;# ,gXhYS#~ӶINw2pٕf)hp|XZc|jl|+ٜȝ(CŴpB%Y*e^<؊3SonP{f7lE N<3<Q&@THNd6\3)Hyc^[hj6V#~|)1&"_HLP˸*'L3edD\^XJD3`Zms6 S< <% DpcȠRIo e AEnikQ9Q^%+VƝ/.Bd2e1K| a;gތtk]VzNJt=fu{.5!G0R :L#VY9KTe+QO|qsJ\f^kxra2 cgV;N,(##A&_IVt cS綅eM˸ઁ1L~ _د5-'ŏUE%k ֺ_XSe^IqIн%:V:%R.i_Risp;FGFGwW藒ZYbT9}*/"(Zf {rS"K8q0}Q<#߾7gAX6VJJJwp,_sF|fyLoPN-L)9 ^1ےU%q{]C2w;ZZEF>yIRNW&xEt!ΛU"P^'XO2Sk'ӹYbit,`aw'`$ g];F01a^uWn=^ +^1%b%R1{"HP{{&~VV<>8y <Q+7zeˎmm' _0 i&8KҁL|2gA/,W8@'H)ϥT4+YfVGRFI+@FֻG ;a>C+Pz6h0Rj2t @Wzefe *"az vr=.}vKo ^pxD60bmśZ9I &.beh}Q+i dFDDF] ?#6`_㏔юjD,Yob a%EҢ&z2DŽgM"( [FjE5nI:ݚ? h[70aaUzw>K\duXtU\yr }l&1ʠs 1;9mGHphh(W iVM > _$Pkk6d"غ{o11Щ179>/F=*Ped T$ < < w<ּ?ҶIj(m1}tOs X!4^"(6z].`*d3־Nr~!`OTe`n)C*e ٽs]@Gd`ߏ:Ha l˜}-xv!ϸ^Ɠ6ҹ nW:M BjiX}ݭOqhښJ8. ̠L޲4ٱXE8ߢLjP3f x{jkFPڊAfxBCh-f'}'D1laR`_^ ov'q "8yiZ h-̝;j/_lzөIc62&W&x\!(ʣ@JF壘 7a;y/o!Y'+QW@ɑe6.o$3>?Y5w]'1-b-ELpUt _9/䀃KU_3yA!DG^{: I~c՞PyGv0i?JxHl%uͬYk;N1,"+hd#5B&G"'"NHăigV>ZhLt=<2os 8c/dXy|J4x=9fTYD}FiȌ8[ 7ui"/r(KD%QB"4ZEkIvZ2 C 2gXAH;y e1.3FrAt Z;!wxZ9̀.zG*MQڔ<#HOQfsWf(K'ZMKM yi]A0*٩;ձR% 1G1R` *gh!UXnI"V?Ϛd5 Nڟ[):3 yTz_8[@͊xh[Q7SiA=aduD葩;bOtT_=XNnb|]82'`Ozw+W0&ߊEF_,?v_~jR |R#n} Pp3ihup Q=< rOxDpŚBOLh#(h`䱧swXGJɤ.gOoz=|8O=8IRHl8Vg)*3",;WG"[w뾐L,"\6 0԰7pC3uͧej:G߉,W=0) N-'yѧJaQ6UCpʳA -Q!OWM&tB N;f!9^VL.~5myo6ކBcw${S,1Jm$(T$<Ϩ"(7a58ch3$} Wޛ ȢzQF8@=png=uOW{So^҂0'\ػSnTD)]?Zq׳oy hGZL@eͳ$ 5S"b|}ؠw8,kBQ]fq0ԝn0ꡫ)M_jRAC5S0&z9#g ˢ1.\?ﱷsݩLqӖ#Zl _7% Fc%s|uc&pW .GRd}p_j7y*LB tpޜ齓'ݻ/22.ă5G3q8 ) $dZLy[XAV{7Rj”JHnY(q;Inm@Y4վD-M gb1T/Rv+#Qw+ 8Rz0oU 5%ĖLf]zeLݻ"L<+hќ 67fc o]ť6sw~h|vġ[BD0!o!um ̆OsmddՄ"Ӕ$41_q;#ӄ)&}7V=IA l@2^bga{y>5e]L騰Fv[6J)Eb1@IeԻù]͖+L#Hi@R ;jpk\DߘFR,Q-X%ZEChU em-8$"LO議_jU#o|.4UY{"ːd&#(=`^UD"լ9^]c3,<,ձ%A# ?'YU0C澇R'rFHq)[n^#bi8jyg*ƄS֢ʫ:a&%|Qc hz>Vf%&Ysp/-zbbWjqhp!ĉ($`<%ȌcqbC ~phusP S=z]N#a  c/ATyNJИ]`S`SLB#4hi%9\-|ZWFo@uQ@}pBUSɩHo*;ʕ-BH$XrѦx gd|Bvh̸~X,ol,-" q<H)EUgGHղHiYhJo#ج[zJQ'.qS\pWRLwUЪ0z+`[y&w_&7ue}L?z֠dDha۬քrTɢez(!.TX X; UJHwz~c|wBc!1Co㗲 B]۷m8@^nZͫmMS5G0Cuk)[% ʊ3qȘ[;pj +’~2[XkpH0FlJdV"2Saʠ^S &O+Kq~Q?X@ɫЈNUu\?Em&u^X;U! O0L @_'/w`]s3![1G#Ӈy-#`&E.μ|S+\` $)aO2V8EC}ioߙ _dv!맬I=%PMe~ e4|}/к;z_U1jOGeǣZWŽdvIE\5kZ)rꨬyMFI$ZW6e_;b A)\wYtwMКJP> L] wOc)@F VP%T%*mӁw| lnOaq躯r91= \(pgվ~J/jL8QaPt9ݦWkhЕ̵֬kOPXOuЂ2rlmLٙsw3 52X- #{t6V?6 PZ6.^ȿWi& =E)3c +yNg;,tGLj}f0`0-blC.d RkuVڢ~[R#nƏkN8~yQ%0(6笠ztBq 9`r;uɭ(GrY6PYS3`yu_/_><i }:E~dh]{2yQ@;B La7%"&^]F M:o%Bf:/6˘SϰzͤtS~qvš]Lz(`blJ/l>WkII[09j72,"?xU}蚇sq-FIUs(Q%R+nfSۿZNjuZGR(d L !N(J6㧪"Y}+dS &NÕJ sT0} `S;@\KIf<0L>06r<WM&A}}$:ݷ A!tzt0d;Q;9%nY*pn"Ow3줺 nJ/8i9T屲h[m ?%qgc5ixZ?nK +{yN8h+cXGibh M`Ak"1*Wr鮏"Fw0^m}LJSmjH*+ R@ Ve=AllC|~ Yk0:xT:i ovj[+ٶs=p,71;ӺGۘ-Ԯ}{ܕYls~mǣ׏rqEVcw4%s%Vj鎻 gum->/RNxy9j9NўݝGXՠ\x7\3հ̡/K٢D/UL cݴAB^.8Sj…ye!5{ "߀05{IA.3YjQ=d$E-LQ'?˵ c&8n~ÆwJ 0͡dt+J3R8qw@cpڨ!z0A͠ %Ǝ3ϚHQif\X-dFUm%h*iL!\ܛO듋zDz<"U|9p1nŊQ}%b?qK|Vpj$|| p"uAS;M ^ )OuϹ|Q-<̓,5+lN3ܥ7y,*m$v͹ILnz h4{;HB誏~/>QGn0!023+e8[F 6i);|ՍB;鹽86Q0I;2x$(C&yv>ȫǾ/OJaIr|})"ڷ3qb7#0GÁ:8ޏ"2>'cw:Wa I$5%ȔckL ُCL!d9~}7|z/Fٽt͌ ry.G0FF5ZG wjZ6@ڿY2GM[Ty|yɕ|Be|n*1S,hW;N &mϽ^{#+Ɉ X%^\ pσh)Ȯ%%LY[hZr0D[ǎ0i0`@Nq'98HvO}U~#,#~46.2(}|y yٚqf[4芰p_uP,qZ[]Zv5 rd~Kb|cFZt5,2>y$c#ۍExk3vm. Yv0)[@M1ϡPNsZSH2K>>LrLx:m[{9KG}APBz@CcAC/ė(͌Y58P1 3f#^7Jh^k)=-8˱_ AÁv'DK;f78|"XIW<-MKCа_T6HG05#18&_U1Rޮv mMS< <>$i:+qiD "ےt Ht9J8S'5lC~Vta4¼ X5E;ĊX!>~aMcȣ+2@s$XO'vz"8E%z%epDO/@D[ ]0 ~cO{eDseև&\9K<՗򖘈`4éM9텒%Ї-}.ԕuRN=u=,  q.Cbҽ;Տu߄P;4 &!L,vv a5$m3\QvY>g&):a.Mkrn->3GK%|4S2sOj+As鶓@^P|gA }㨴k>M"f(qWgiPZЅw{)dv_Uv$÷,p_N(&*(e6N0S@BEPXPQn eH(}" lHR֬ @5\OK,=Bg,?avఈ!H-uŁR]޳6+7$ܘ5Ʒb2CD/ -YԐ&mrL{4W#|`_1TU|#,Mf{ ?ekJ iQk6#^-2crL)n^`Ƚ^TGw%|]a){PҸ03`7|=cS?0ब LO&:I+vs2i1hW=(Bl/Xn!5H{CdN39l91s˅P`DNGrCYX9vX!L|Ah9Iv(6kbDv}? ˼WHPf҉xU1}pi 16!In>$F7 BN ڹ`y0bg\nc bؘ#TY'f a73G{(2 f؀+)F@* <T3f\Pul);NRm8ǯ91 [CA+}p֍ yT4.B ]UA>ALlhjfUeWnzTE5Io_uډ\bxN.;©IL&BG3p&(k AGͤ"@V~=in &QTj-j&̺IAr<GA"PDe܄$hgbHKFGv14SN`YqA9SrZn(mA?OB̽iTP oO*-{[)Vnmg 'ý#v.@Œ>w Jn3ϥf`o?m(!gDِh0j ov۔@NyT~Dmƪ/g L(sTdNEree;~A=8*g>(N܏jG:DID|YiL<&q'n`=V&9C1=6'5pJO?[T0@*@?do ^@tO@Dҹ@/台%|5w3D5gog7e5qqC1:aF9z)*M!*,UCpz"rN#q b=kr{[q+Ҵ_-̴G*zDCh! n}6+۾RbMsZ|^BczànLF XYhġ_bXXc򄊟lmY"@L-~zc/ЈމI{U#jڹT|NV@-Xjyx_p(^x*K  _ 7v>D0UתG|}{4.gN#FjO a6\O7}s<(yJwip SF/쭈s w9JMq-лmLli 9ZK$\bz-:#ܡ>H,m bOq ÄZ맴JJpmnä) \N(}  y};ńkCewQS ֭/HT- 28^ҫ$f[C|0l&zBc %8R~'DZmh.:{b!JfHK H%c<|"!yV|%a?3͇WE'Dp^jy;H.,CmHIuIcK RNNcx{ 4 iY []ǗsSy >v?_sg8\ADnjdF| )a(IBVZ‰&l1V}_+?UzUޅIbJ]pX5Ӟ⩡oQnhVrj8ɂF**` 3ns~0ޱZa=ݛhl Wg |$ًeeDfAlH3+w#Cn {ȇu퇴"92]H8r AtȆ39?Fձ mJ\SQcQ-5>kK|ŋo" -b_fw'Pf@/jf]}SϙC~pNoOFڐ0f =\(@t^6N 44l%$LڶN@ٰ࿛߽dȺ]L^?ŵOۄ"Lw &w< Fx)ܳrw ;zs3aY.&/HR4i-*k_ M!ٹ j#}iebD ƙyFd^!l}LN%7G*H-Ucͬb:AQíAֹDyGP%hU&9x Bk'ƣ+4nZ]拈9!ܦap4GʻоrC1D#Y떍,_j2zsDߣ|| Nی$:DHܴ:K*nœ%'ړ:̐6Ѐ0ĺh!w#lIv cT:eqKdNibhP%BιjB瞱ťЦ-wN> j; 0ZB E8D!1r& rMbeq?CDȒ+'gt.R9m:X >D!] mx lp,3m4͡c]'ccەQo6{] ?&`@z)YY?IDa=&,Ah0~ѐ g -ω1 |Q%D܄ :Pr.U=aZI+zE/TZp ;W+̊E=T}#CXt9hH\ b)%ɓ{Ft5y# vfy6iq[ʦ-%`7'Dx(Jydjq[|@2HC"eqZӝag5B&EAz0!K'I":aât[SE/)tW>g񯽢]^.Ӷ1W/۽T15Kɦj2sAрE*O{a=gSHknN,0qV6~8eޟtUܽ L$eMr)2Ov!tD~hW̚NI ɞy1@#AIK219 ZWL(&1M,#À-D (r2Nroex9==SIFه3粰B׻&Rndduhf W{*R-4˭u!^8g[|C6{[]va{) Ve֎lg zWCńSLm%TXc. JvQ!c,٢޽镽BcVnƪ^.yx;ف!*MT3ʒѳظR`\~٢O!WHp\j,S&6/vlM71IԱ7֮-C/\7{ID{=U Y: pE3OS;<@C FgRּ is9°K?8ROyj3# rB:ZF2&RBϲi8/O l7^lDPotJ=uC;_ YXIx}W;Ksotnwki1Z xæ >D$洵@ښAxp]ή|im9jdxB/T? @9g=?rˤv«O&ɞ36MOg۩ZJd6wZIvW h./ uIqRr-Tonژ=8p{3naq|JLVҩaS "@m&r?+$D"yD2[_nI҂?[S4Xg0St6v.dw 쐒Q:I)ȌPP `d5?NړJ>ڹÇ^pq]m}-+sk& :I|~F wqoyWm9gS|[\yWq`PEs!̐{KP]B]_L8lIVui饔ZIx0rjfigc7N=C%d@*"-}7c`& fF0$6I&}Z Eh=يEW(?P*8$62+6 ? ]AK)GG񪹩a9j9ܔ5ud<Ɵ=VPn\S˗z%eǵTQ z]D]2Rf Ƀh?s>G skQ<1YMsT)u W\r}ވ @(dsܛNS2SR|tBl×: \ "%WKk_ <a QiH)=#yU8s;1.xZ]aqSuz[`B, s#H~-i*s4KaD5VdjBԳH˪<2fvYҔxE= |&q<v2 Sd`EԈOTЭj8\b,9 4|z<DŽb1ѱƏSg7^+jD"Vz1"숓L4KҪƧ8lrkFPmXܻ 0WnVmǔ$ &*x%+8.+#5ҕZV.5DeamXZX>5Xs[%+x8%z8R*jnV>. s_Ky UjzН'l*CZj? ڌ)d,4מ5JoKTL uWs2?&*;9 d0ݗNh Te!{}޺|`PYmnr1M_W3r7n܆>O{?\QH \5n}}]‡+s1Xb PGNw#~>νz\[M?1wO:(6ړ,P@CՀM!`pn#\;4DU%4o4#HPwcp!]ʏ5y 5V /RWDt"kt+)0fsơS˱ŹMYXv-΄i@\UhjrXxb[]Pa9].UPKa;˫1ˀvT1ZWedgGrЦh$PIyl鹌lbFCez*䚢>@8qr&88H@Ik\Ҽ<v"d@/~ T aGD()%=aN{B\^p< (VIOmlaNĐtCZ g6%wN+S}UL| p_Jq&_;;?Ӄ2]XluyMژb1Ҵh8Ɛ²JisnM:mLPae{iQ6`2?"%%I,bE–3F&| aqȃ^}#(A`n?&$ [Lq웪=-kt~Yf ߍ\WD!S>恧hDnI)֐ɾ~NHv/#DMTؑՔNM90D(ϚTΚ :_A{yhI v$Lp_ghXI5aU"dbƐ @-J4yj0oM-d4qXS~eLJS }/4g)䟹mxzpdj.} dIŨb%$ Svq;mA 3AR@zcts #hA[W-Yc۠ ЉCP$gNܣEto}E:-IҶ́"1cb3~FamZ U-T6ZR:kvvCj,cOz֨<#3{|<^7kt6/OpHA,&TR0:juyU*ZGv䜨-,:}ZTyX10Y ظ6g'DZ ƪZ{"y<je cedpc#ONWt\yKM/L6ZH^RStezU,\U[4Y=s}D:J<=Y\no_4אě޶(Е*"G2hF  /莇y'xfdH I|z L!ހC8Η/hnji"^FU50[ZwdIE0WB/oP'_}qtNd,$!Gyl^BCA [;+*7k{"3op\5C\v?2 BqJ0\j67'Z1Q,jk+ԯ|t5~$a3Q׌`K]rxA&l /wD W(RN*0Qn4T;-b͸跡YǺs@FU|V1)Fz˘ZS]z:Muz|0T[W$E!]ÙfAG/=Fs*[61{S>D4We7GOq l?TʑU=|La+$} u*#F'^u=eC1:Ξ_psdGA,ZV -f-S3ņйB7d۸/>q_g 0 Ub^OwpyVdo] v&k5.ZZL}ID|xpCh BmhWF%$JO}O!Y*[WFݮJzT?Q$Z"GLu6 d qyjM |x]&~m2f(C1+"gbkjucL+_"Aypy JJ%Yv,->]k BB>j_fL{3 J>U~nաbX+Ac :Zvc03;@(GC'Q4#2QrFfYw6Z8CfE;&kؤ^Ds!C^ T=`0IRk. :ΒNJ*kpQ@:SIA7hcLrc A~]{˯q[*~8*JxTi7:ZehL.u x!IX5ztCM.[ݏhӤY$j+Ruimݥn6AYk+~<9T@ݎKaPc:|jR1~4:[xjO 6аCprLaQv5&dlXqr78ٱё $C qCX> R [}ҧj  je_`]h4yNa|&P'rFٞjt4rs 1d,i RC^+ؖ BrN_.q '+D5\(Wq@sr8Ӡ&@Y`}G`BR"1H|U}0=6҉-:ցH 7&7,q,bjğ2a֥d JGL: D^bUcdKtQIvtn6%@Z"W$p$I(gaŴ gmH!y!)"Ȇr&@bاĢ/[򮭤{vVF T?dIQe`47n"_T[6%O%B/#J?pZ̻b,zй8ZX"BC:*˰q,eweհ@@J4$1*N>.0/ X۬}(6`(",2Ԙw9qp4Vw{sHL_S; RfS_hjyws(a:SSzJ!kt~T[&ۜzx6uĤ +:`_i@G3HulF+Gz>rݲW6C'ghȊ=mrkhֽ:?%k,XBC+}ԁ݂N:aǒ@>'%ؔ²+[R(ݫ?ACOBE̲jlL}+LsUq3lTu@]t b]WXMF|HBXZIURjޡrJcUS]!2X(MOv"踔 `u+1+ ):ˬ*NqNf\YZwj8Z1P&Y-!xhpf5Q>*뚹a3 hJ]?kVfRz='}Argu:AK#9]}#m)2P]>ϟGqz!qULL]x ø_&`Z 1EkޠM"#Ч0w#LQ;:d tG^?UZUآ=YAG@=; > 4"R\$~|LQiUz^_$c햿N4'Nۖ[}1`< !d e2.{Ҩ,=p??%n)gPɹg[*KobлNB8`(;Jq- -C$O8VP=RתR x/fS 5:VL5 gQ?K!KY}.ck2RMi7c-+ZE\7pΑ3j? jWH/`J`/ȊT:UehxC[x_?}(1=9,x/q59C)$NS =ctQCݎ6~^v3C 4昉BB٣)PԚ§P\M a7ָq ~wir*o^3)G!Z_V/>6_GyưTyrӲ4j>'N/#AjE f~]7~2f{-3e1@o= )C‡q.O08ϰm%X`㑙Oǒ K]F/]ҞPࠇN$})u@;SۻQl̗Z%h9GZWCeC&2TkCgO-U,Λxnj]D%!0dh KRlagW}˿q04J[@խ~:wpх>K d=5#h!:05|#ֆ3Z%f7>j\'.?xǢ1PO_>;]2Y$Uo]P6+rRiYp!ԸeJZ+gr(K'ب:]옖[P )w%R9FͽWuJv3*i\We\IK9d:0ir:f$O)\)$j;iZu fҪ^{Z!mH';*lybԗNbVaU aD5Z_;wcc^$GK;%_h8T ?bG~>ޢb"d'wujխpؕ3b;,a@}kĝ6VbQ/ ުޅFA O!1>l|?]:c:Oi>?Ak ^%D2y_ׂA{ B8q $\L4 "H:n 4hq8Q?pՠM76בѫJ!|VojTˀVOκg`^&R%Ve"3GJ8I5?`3F[jҽqC+ꊸ5L h-(RWJ3aٵ@tNMP5~:l iC9)%]uӛ|=z3CZД?Ml;:~#[ 4_ ک! 2tBn? "$YN\VGд7d+.Y⎐<Ay0j+Νwd1ut$ᷨolp}!No(8¯R;܌{D`? u1P`/ q՘!Xwx2siIS=nkhޅ8ߥڃZ.+!Y3{aհe28=g2AKJMw8R>4HҽOa LzFd6` L蟈1dO 0ޡSZc|VVQx㏽>H+Ug s#2p8Arn/TY36B{Oi55vQȀ+NV<[ɇ)HLVnj.a(}zr~{AѠ~KSC3+q|+p*F- UtI\5f^鶋 H;g<ٹ!Uy&3z;ѲrGz ꗩ._%{G$@[ĽV] հriW'dBqAQԫX[9. \!I?ÚbMA9N :Ɠ\K ƢFձ;؇r܃]( +"=֢U˻C4Sq[v%S0aq^V#&T NNq R=f"N3j }B *vKzql.v5^t%^69`Q#ѯs_gV,l|04sIL0wbJoJ vb @H:MqWCSp,vNFWwx7E o/ޤebJI $맇2R`^\ j"87_ ~3 ՇEu݌|{ { hY.xP8)d<=VGTK~4]GGV(xGQ+KeLLҶ*Bg #|}H+&T[>E-[5jk] Yy^a@#r^Ҩ-y7մ vA >/)}uF!94 ` vmm"ҕt]#Iݺ23+d-I%nPl mxŽd\nd+PBWPoEap h +UT!sg/0f0  +CMT{5LjNէD$*o\q#n|HXq4+;3mV('`d@ūP TYC 2j^=#VWMQyo Acʼn~389ɶpl&&QaND :lO;}zoS 5cgJ8܇.Z7LxUݻ/M SKQY ޿'쑫!kuY%%*ujPLO!s8wwAW0Trj歉+s qnƜ;'iÒ: -& +ŀ"%y47a'NцPE-RR<8,hJ0O< Nt ~-͸SmPu):9[Rx:ݫoG|Ꮷ+X1~?QGLtA _K 0K,c8)40>CRargr ln3FvzVY!ҏgXQ_{1. GitMVbB9JtW< 3ti\Kةk][c-"o#bK5(qg(?  >R" 'j-KԻ&mt~3\{%ș%BaBuq0(v`Ӌi _-K`Rg,m0-0RSk]m.Np^Pܚ:ؓZ;1`t>/ ޹#҈!Gw4/ }'CĐwmYuKSf=2tje$2pvp:U"R#0xk 8J7c@ΞW]9ql:6fenK}/3#Zhd5kx=+0fKQ7Ό؜dt=+CnPv+R  xpnMݯ:Фv%U + X)V)QcF/=3%cΆf}jneΜnh{P1{؛e?ryՓζ~UY;D=(2]Z?PjENUCx̳K,zn]MrX?n5;0_@ZU"uszFi IZDKҁE*$|$'5X38+4AB֙Cn C+3r!-!iVpIfӛ<(c=JDj-b-;4\oIe(<7^d4@;pދ%k)SdwVt` ܯP1I@ܵ>5ݑ<@Nu?"K4x F .Y!$F\bh8֬F`EZ&8u؋C!|%?%x,+$(,c3 @!QaohלQ>ZlwUb8I/h pC]d J՘]4p՞uor.`,ha;{kyR{u:4߬f碇3LbǍq3> C;-6G1]VO25;}Tk?XCAi'$IXC{L$.c>^qaACb][C鈐Onw~]yF}GwŤ~^rqZfP bx_iO_DǭT-޼7u[,>$$ob"HBG5<\yG 5`'VTпbEnf rĜ 57 f:T[y,\(oiRӦ# OƎ"sm'G%t?,fypdhU'+M'@8CbZfSܑU7g1G{BځgUY_HH_0TΑ|m  L0d܍bf4lc/K&;9(ۺO7'PxJOGL59a42"Y5Zz;xce[m{o#7PO$uj/ܜӏ:Eژ/r!CeoɃ$f6}8,fCU1Z+rsc{X$*4q*iHcl8SOP6zӐnqbe7TBdօo+$\9Nf.o%{qbF?ѱ2gU'GbcݹBjzk2<-:A[ lyؔ`9NWsO yvOkQᶪ]QB xmM *ڿaaeH]ԓ{!A`hWԮ=cՇhPM;:[m/RmQ\wNHQ{h e Eh|XP'X59lq8Rw `ϩR[.DОFۦv8oX@v[ Eet=ˀDc2Jmյ+%F3rWb2TRRijÎ1ƃMN׹\܉;iwQ0LJ8Ԫo7 ŮQZUg u_1kWX6DŽ>"Y|޶>>0@9RiďwR?cabS \.&ˋU̝҉d4HȌ ǑRk_'(Jep,;.G%S!KewIv oo0lTuVVewT+1 pG&UDU*sL];\e%L*" Հ۴Bq;d2@d;?Ccϣt#݊*Wcݿ,*Po2<S"C%{{$u\O?,wzg*~G` qu;@;4\#hrMaU2]р)EJYb&J|&=$n`ׯǮmO ֝׾thtus6cȾ0sV϶AhC YT߈mvmeUmD$ wc$+6&)*G}HM4p֩.<: 5 }^m4ayYIs;G8,["KoAFD_v͘<)10\q?Q'(-&ƨ$܍{q&$FΞP9bR)4;e>}MNPy(,HuB;2kADܫpf&\B==v Q.s@*hp:z&IP'eܰk wtTW[0~8LaIS'j*5E-cQP퉰Ce;윃?P*?3ȿ-3cz  mLmE( <6E.bӲe~XJi]̳ś 7Tli5*kۤOQǵ>0)R!GkcG0.:~F AUK,QY~ p+P=[? =8* ybQz!aou6b9/p/0qU\zjwRG/2tܘT,j"@?9P4]nMۼ.tCblh?X":`^ p7o\j?}R u(XX/R&R׌§f]֊#XxhД"N`T%a5>dB7"DZs{L2[.O ކpU@G + &+(};]Br<_t1 WNLyDܷſd8G#u 4Xin;C?^*ۭ41hʏC- FkӖ\崊GF#* θ x vy&[%A1Yl+`o\tB ńǹzf7SԿ0ֆ%0J; 9OĶ2m0]Fh[7\4TAO_;RdY6FZ+~ ˔GJa7Ŗq }@O=rZ} *$h"+lY 9yV@oJ5Aɀ!D9=|)4ZuXBJ|5h[}΋zW.d'~UFR?sKmE^nY3{^axVV/e0/s M:5UqC_z{lօq`, Oxѱ Lwa\gẵYac?= Dl[Š i'Q]ķ p>%9U D]J®m҂EiŸ0KAi !QDM/˔CpE^lˆ(HEJGa!hk.ɴ#( S{F9&^+Z=͡ Ii{l d3}E2֕D$_~L/+ '/׸q/8PXø&&qȢnvPI"ϚVP `Ȇ2U}CߣP%M&6D1N%XX˜Qoݹ=WSw^)2 Hۓ@k%5_5]9tM>.9;' 踶J*-RR0\%[ѲɗFl-C{]"iXA;Nc:0WޔAT/9w=\Ӏ"!y*EFa{ LU̾ҴL{Yq3Yz}uTU9db=dA?/q^d1B'7E>BmѬ!CdMe ;&=p wXT&cF>/ąpA}7q 6ty@ ؝Pj!b(P'r&sNg)M:B:"9r \H*2cr4!)c˷RǛחϱ.ojߚ_5ʄ,B|1jl3ϣԃ(e|p`G,ުl,J"GRc/q͟.2 IFf9=ںIx'oF$9zB 9 Y1YIύMO;nÓW- rG<[:2f:S?v|~ZFqyv;H1D>N&˛Gƫ3u8adwIu%5Ń#m[5gWy!dfŻb%e +bUjo1pGWkkF+"I. n94f=4pϬ֦M8v vqDcUWbĩM'aldG$d(j/M 8a%P#O7N#h,M HI94(ֈ*"e?1Jd=|P~VXC=wwݛFg# ey5kTNޯ6?%Mk7S/nCh=7;3~ P%,颇/6.,fEXž:~fנD*rמ Xj/C-Z9Ҙ &s23\p1\r?~0Irc0ICA)uOE(n9j?zz79A`%-s韦ӥ^BM5WE$T8y#8eپo"f)yNyagPB"o Af'׬]aYW"9TqzjVOv>(wӪwqSM<-m%3Mb1 iݦN<;!gz)Q;X=:Yt}%+d*ns\޳obp4 cF/5{cI?9v8NmGd_{*7pS:s33|ɪŷ0YRk{%G.lMejb?{|^D.jVY:sfh= 6[r(,5D>ֹmj(waoyB,5c#& w+ -IEBpV( 4U}$"eu5$BEI(Z9MAIJNL#7- oj@2e nh6c1By&Kr! 刖%@㦜5 5Y6'Y@$ٮ=)NXGVk}kFr#.!y۵n&QjG4uȝ9`fT(!؛ V !yIzf (#zpXb@EĹy+|[,Ș|jdɍ\_LD%d?ixyALx;\ֿtZ|) <|0;>_ݑosj?%orzOӁ5j߁~x+nSs/8z Lmhsذ3:ӛk6jƟUo< uۯn\V:)3\{mf08]vX* MQeyFb&mC[]6ߵ؎H6behZbIQid xQF^`,Eܽc۳#/t\!=A_ft(qV,ב(OMxHiA:v6 i ܸP!HAw WxnC.@TDֱݨ@U94 FLNER4kDB/|Ԉ]W2! k  PɋO%>k\>B(?/#{gcz ߧHZ2! |*67|LA9pK*Z_D%O-!5n[&*>Q(:إ%n& H 0@\8*\\Y3A=jT6\͹}X'de {!8\URaz+t`k7П[\$ !['Kq% 0/ZPau]U*-‸*5m M3<s9K kئ.`?j=}dW})}N~*.@jjd|ain /Rjo 3(fZ~Q3n-5 ?nk-4Y1ۗ 'zÓ;>%smaWn Syx /m.'<(et)K9h>& K"MFn[IE.SFkA6C-_"zF=!^3;"Oڗ`R%πL)1*:u- dnI`/)S&GnzLz6Kq20%\˲ii7 w睋Hnna Q OQR6)Hw`tfHJ[2]>tȶ=K8: BXF4nIy*= c`3Tw>Gl#\=EP#+Gl cЋSһ $D&M*>|m4' |"I^c0U$7+!Pskbe|Q/3Pi(8^~?J; fl7+OQTNEpGւ%ž%1˸tqM"tLPIE PiEX%;E8_ ۨXNTE6dۚBFo]x&jtgZUpk_fiqD'ܑ Z獟*W$5$s$Oݳ#ՙ( Z%)6f{kr;F`!!~W'm gԶ}ɤt'9A@Pv[tR/-⃈CT}rZUJ`'+lJD@al1ʌ8h炏$d+Eߝ˰ gLgv r5QE2It3{{^?ϳbPw)XW*.~7 ]̧QҠ 9~Rj@kY;89xHmýzzmؕbTՠќ!lk uy`MsTfr)8<#I\>p>]  E.0Zq;5j5F NJKӄzR2D 0T(E1 @tm<}p讏,v6n & D9v.^YeC-J/4"}Nnz= TiRǐJ-^SrjtUҁ5 bU&ijOd-iM_%F8+ΘmK,;du-{jвVE=v3P6żph|ŢE3, J6a$D"*־zAU\bs!~(b=ؕjgp"p.Po4(#Q#g꽁AxJ-=?94b.r`tc,۶RrPPG'vȃ:QPʡ;6bci{.6M%j`c$92,}`$]l)#Ě840\ 2 k. )Q ܥ>,Z< 5nyoي0ԛ{q@Q1 V@GIs-)6 ߩi~+sHF[Xo%إP={ ܁IJFYCcV^)dm%PI ^[ !Pz cM' 'JNz6hJ82Гe=E'?d%?n ϛCNka~o[KRuMFɀ" |(7Ϩ9O [ѝd͜ J!hǩ$ 3oΌ-PZ*z[K7tr+\#^F˯JOn6;dJKypf,яaFp7w55R$RH:qwD*ll$; 3RzVJ[ QJ^E1N&/$}~nHՈ4YXCF(<I"Ǐ QXo7~)n1co;6K PϫH6S !Na%F|x2j~ mHO$Gy"HKIUYwJduw_}VQWdggP\FrU@U2u~L@H@0 u|_g}S!,:@Y!SK\\؜Ri`w59f49eG{mJ%\5gS[!wSɼ[M#k)w%9}-t` WH "_S~RZ`[GО&-[̞Wue;X-#sb;G 2@t ˱̬.}#༮8iqmϟ{|7/nqr\Mc:t+b?Wֽ#ju#+z(g0Fe +m$Թu= qJEvM5;9kx)6{reLYC/TpUd^+paU4,xV/92yƏ?a#ԗ5g}$TbC~.0~@U;qݵy]J25?(~F{>a~dȜ3.Dw+}ޚAyQ/|y+mr1ʏAOV#ݒ,Γ>`;Qoa%R^Ӱ4KV|t:ʰ)n‡|Gz1d{7#XƪytH6$=Y4Zz<*m(LҔ+by:D#ē?+QCZmh^>݅AuYLM: fEx?(+xbx́5x0έxU߶t]lDowh{P"*Gمى-qnFMea% iTsŁvCʲhpMik>gU}S^{TX!2Ӹ muޢ5vsF{$=:ǢbLcPW#:0U=LTKuTUQ=0 # I"E f6sʤkQG8vϤ? ,@m˼uğmR#.caT$'ڏYK7,t[[u2V e-r6E+]t4w0`kvmy8OGCqh7uɯeeKl|_5aZ208:@ w7}j%4x$GЊ'\X[O-oD흯f}}OfY{B7ٶ2='5.I&AoD/.O@;yAP$zӂLhC4|d=aXd7c?)\u.Y,aı{3_`͟SޓR.2hb.ߨN *I0cv~26S^~AŃ{PU~@%Dg.X[~>U,~E=:JY\X2Fxl@>{u.(Im,  tԣ v'!B궯͟hVF}\O%kx"oyq>+oO-uN@]>-: 5|z41Wuyee -' qե %K DN%GM ְ N-xu͋bEs698-Ҿhj@DOnHE텯u>D5LSl~h3;6JB0Y^/o {Pﵧճ幦cn\2Ez̈́2I4HGia;6}=ѴgPs˼RZN`|N0ԋj]hDOĤL7c[;]<^j疾DK\C M^r;`M wɰ&]!nލX.D d`/t]*"cg`./ܕT 8LYu/i4|"EbtR7q.#%#gt{R "}r?Z j&s,* cs/CP:-SK2wQu; %o.9bJ5I0?<1x[ |) ^VKɵw@=`#=K$~~ d-.r 0W4둥t8+QkvF*TA,f=3:A~x|lW玄R^Y9I}]˫ 8X6paO!= ^ϞϒOO~ (6P\urduP3 4C(h`~EcPGVF:*cǧndyE)j1b>|=X^Ww"% ;!+c bBn jSym*9T>KAvyl`1!'6ŧ= |=m3MBr _k/Gv}.k-plInɌA1w#"a e7jBEZc &?djmV> ۄXIEtE\n]|G 2CXx2pv *̔D7)?홽Es7fʦX3/w OC@J%+"3* #M\bx (pՙ f8R@]61ҳP#(|{#|D7oքq(rU*,hu)6|d@J۠Z:, MnOۿԳHK1Y6LϾg[=[rX+Tfy$uš5tVPV,sp?g[,h7s躗T\lhr h->(LZz콩ac@̋$L.ٶ м|@(lfM`Et"?~87"+6Cp41u>4Na톊!e9 cյpŅ݉\X*CmnwScor@|oEq(TkAX9UAiHBUhk&JbJLHOupN/EJ.Y:ʂ}$%i%MڴugAƮcaFFp~No/N%snÖ>YɵǶS66#oֈU :%1',[Ï@c[5J Ϋwx7Wv %y2LoD2nI UTs6 d68edbf3~̯m2stGPO4QI()b1Ḳ[:bbv_ /Xp*h\cib\.?T5i^q'ȇPCw&Ġ}/MGwld<$IC-ES8: :+u/qU$P|Z3< OYƴ. R&*v6g羠ؾyn `h!#Nv9,eQӧу,E;75^mА|R?qV6OLړ7z)ςNˣnp*dz ʱF3ۃUumcU悲Km5b/Z҆>eRGro3&DFƩ+b񰘃$5tć:q ڱ#mNB@RqV+Nwi%Un R>qT ӽTQq] ּ?fK:Q|Svg@biaŸ>c:d6=|F]de?ĔnFney} m!62'L=jAAOe1Ȗ.ӼOgx|Yp9lq>}v͆"%֦P4^Z9oO9-Pk~:qweu @31ʔd_"_8l Xp-P,:ה̊^k'몕0ڬPiPxk!+A>鵥7DB-eW0hkuZIYXwBD]m↕CbH"kuz68շZ!?%֫qL_?Cñy਄yJK|0ʈ[B~R7+]N2 G/G%M/LQ࿸84ʃz5*IPRÿ(:ꝼ%ȬbC;2 cv'Q+!קxguN`ՈE)˲4*8|NO398qj[ C J>ZIl? >'R>%fYD k\pZt:cE$<9O~6-_k% ^B٫d8*d.-uHN#׹Ƅ"8N\ =7W 7M/"1K’I_xd|([+a` b5L`o727:aiʟ965 0:5$"!?vu+T:**G v):sVO^"y֢);Ń Jo9.&͗.Y!X@ 4U p%},MGm=xSpՆYry;sm~eLCkhan;2@X^.ÓWޮ6p+8RQ層؊Z7 ԼjN$^Gz0BFÒ8z^LN6a,U('1ڋݨdcћ>{HX{ gה_Vꖊ.D^{BK]j;F](~9_Ca0s=-L^&| ' :T. W@͑,LQAb\f{,-D,ٷ>ϊƂNh eԭ}iOsL "h8վ&V֍52Ӕ V\_1,! O:^F5}򠁷#NRJr2+sz7F_iBO![x"}n~1GݑZڼ!*vfIJwL]Y(LE u-y,ꠊH5$x`HNO;BYneFh/xgƐ[F~}]bh,v€ }]t2Wh߮QB[n?kf7 8#^Wzv?s 9YMo Iav`jFFD"϶J[Q0;z˟%:N}u$aQAn}`{eXH`߮y4qN j :ܱބ B9o].T۱v@Clo̚@[@VzJ2X]dnl/ D—s[~~v#ZCr~>D~n\$ KBt}cX4VgKckAӕ>Z8^ns]un"wE5$Ԭ&ݬt DAѹLoER? l:ۀU_J(1lt=TL+ b r|TH5qKY]%U,˃KcA?ґk!%#_;CoU %C雷t/I ˫DMm)\IDK4/]j7j1 Ax7I[u֋өazbd:JF٘?Bl66罩)em Fnu:5lJ _e=KA />WmO_(pr սO6C%-3Vꦸ~Iwg:تWfnsS\  ]F rF];2GBst7tn28ufmO[=$Ȉ_UbR,ٹ|_:;&&]B^ϷE=A/)>s| f;!&o&;͓'j}MyWVN \ !&^;$usAMhf=Yj$<826J/gu``aiU-8~DzUŠ>8y,H)i%uȹ*_rg]OpM̃auFaqaw voҰа, Ԩ*ލ`"OHW#)z6G`L?Ci$șMiH;D֫;C OoBœo|߭[?ԃ=Pjbf`'n, :2r5}2.LFN@oe]Ƒ#K^70̭Rw -Q? ׄ=*'|mv窑U>5`Lˆ2QG;U|[qt5 67ٜy3 JX]daCY!ʃM `F= i( vٟCŦJqRـ B>Cc4#Z@*'V=7-[4-⤍*ߐaBN5+sN3xn՝;5"O6w{~/-{weD{4x~db+3>SF}es|/d`N%i+DerE"dJgs紉nA<91ѩ,[Tr X `h9>JY?K`J85%ewH8r5^`BAC5Y9i^ bjL<EAM" J@}1]0:G3z7NV.~Wѯ1<7n]10Ea"B$OǢc(yY7q[ۧw~B Ջ Z,@l4yw9I{~"bqS ai(xm "S>&Yfk2* vp|Qw@=h73/upUmpW{띈Giє3;l6!j+ <4_hM o#h.~kߘC"iCfO[7%u'˥˯| Ǒ)B+E|C' :\036Y&-I k %9!qʃ%s c mk8)[,$G/;֭5%Ypl1Ȟ 9r`=Z)R[>rMIn̥FU}r/@+-4s Z`|>-]$s-ٺ {6*DiI*w$ ۷(\Y8E١**.wVPL5xgJy7ElIgx(8%(2P7:O.*0z"%IНݴ-!TQt*/r!hTeȈc}Z YQ̱[H\+V:-i֗vr-AiS >"rTPy m3(H MPo'(ZTt6[r4Ϊӑ:'ݧh|\BiNhWHEbR"(|̬zVo9%K>0Ըd8lZxd[k8& aUڕq9JR_u>F)9d<N탲^Ƞ<$8fb0vxV 0# fQz'~ު?\aŏOi'zJMdz3؇N"!E^8\1i(ΜkHVl!G?IRɗW_# ԏxJ+MW  yV#tZ%.cA @fXXKV0*|7~ETLi!'~LPa>uЯPH>i+-ǃ'-[Q~t3QO:=`WYSG)B~Y~P| $rj=! jEyB~yJ#zY!?[FVnK@B>j5I̟Bĸ21 "]0? EHh* 0tex &MDZ84*ƅ@1ePceHK3D1Sҷb ΃m#g|؄U*Y]z[5m)^="6ad$۰z2O FՒ~,0A}/mVa1a's29I/KGSLS ]OYBK'}}Y'19te#&G4&fcN^sɾ4g-p>"%=y٭6d4QkAfR%98N:*e%#0 ` ;@BfW{DԴݺ?+ԅ^j<&Bbڦ ݦ'OGLYʍyT: E_m!8n@-({n^߫G͙Xp!(P>AOfDlY9!KEl(7ˉ.FnI՜| (m}. p` @R+mwE*U-@e<[\j*=[B$=^ypLK=jy4#}t0pTt&hsh9VW_,]C))B" ae6N (TL(]^koZς#Ws7Nz/bA6[SfU +\ 2Kb6= q_⮹PGS&☩nRf4ZY@y?sюljN@;Ιժ& 5tVƧ"4nן=A?HL+Lo-X2W{ۓI3ZFtPCFpPy{[v%) U;ZG#?rYW5]{RFXKl:3p-ue8j@HyWr_|R 9Z Jvd)8CB@ VClUlFNـNGڬyzIMT2P偩:͵;6gIb: lk?7iw3٨3_ ,FT*;540gK}#]&ƃW'd@֔Md\:@h%QhGn{Nz5ܧ]HB"~K[vA,6[_Fm `q 2ev7Gx9QIL)9ے! ,'",$aD tkhtȍHHw~6 $L%UH1,%L4ƴ  ϵ=ڬW8Ngb'ց{K5-x7BEǹ1{ՄũٙJ:՜ :.Bꥯ*#-WSÈYT XAL@5/,-Osv()y1!hG.$')")3 t hqqDR' >(ᢴ'II̲Mwe0k4LߞO^7?).H$;^j2j(D{8ʴ@t~ y!~B~>@ y]x. 4/ G)P`kM?Ȭ?N!&fQړ`ggc8SpKRɞ.ͳ:X: qKwٍV!`{Ղ]`ǠӬɂ3lYfaL'o07sA^_90uP'h!kXR`uI\\=gmVwPg~m1ȖWQl r 'k䂤P00U54neEHqDk1 k[:lO x p2r<\UCrorX^*h4PÁlܱ{Whs8m|n;tKDP0tX$arj7;$y>=T5 @?K%d$ynTWk zo<"O>5%ĬF8ꕟࢬm( lb{!T*e<s6!ZИފ5;K[:.ʼn&H^.\'n!\sofТ5𭻡ޟ6;;:mǰ=WYoNsCu#tK18Y0" [=nQq߾|F`⢈m +' DQU 8V0~p FD fW2Vyjrh~$:{v"/U9pI1]> 64|iJmf XlW{X' u,.e:D^;xssgD-Y <-HU P "FG; c!(IV+Kmxnָ 9P[Lna'mmmPS3P !|'m%]oʰp(_S4L[JPlE dҚѺv' e'w+GEv2zQ pn[|JV M&:AX(lC|\+AP:O-j'eJMetYU6s4#M3/D}6: <u19~3(AN V̧kikS-'+F=@`F#/mxub3rbNVbcү{@zڙ8Mo A|]\_VS_ `+ +GGYۂ/&ߨ$PS'fr P5s0x Ԧ2O-Rk'Bo!<(lR6/mU ?x~hsܚ67Ad|ef΍'x+s|aūrqy @N{"+rԒ- ͸؟ʎZ|).C Iaè/+;EAY^)29p5>ysi%ź&x 1%K<\E/wߊ˰KK#KN2@ fKk{fjɨ@>^+9lCr3(,Cz۷7Qm,TR{w(mYslFb Ĉ-rőBrjs EJ/|amѭ ݜɭi+*ƤNn]dR^{~\q+Pueo@ϱe~{鍔Zs̛WR/~uÅ 0d /330 ?=T_~ˮS1S$3^&S02ėIT[瑱%&6Ƕٱd3gTr ri+[!fm!g"3544_c1pQ;ơW ֍/WYj$P=(T#e:*9Flq(/-Bd 覕'Y 2%(}% i.N!xwr4SVAaFQe!~)ܜ1#OvVJ4{x?%ā[GTK ;ދ9n Ru{,;o"ڠYXP >$sL' 3#k™Mh0eNUO>VɯI#Q0󌦔 {Us_z4ŲuR!)~/~`}C&RNp ip g/҉~XԗmgE_AzBɉ/i05T ,C'04>:r`.e}>׸x'1]:`Gh0it>yNW*uv40D@"=ºHŕ]5!pJԳea&5#a\V89:>nlڼp3\Tp7U|l-2}tcY JdDzyK 8SHv 3by ZwtxeИWK^P3blWU\p ,RT;x KTB^vrCeBZ%؀<[ҟ ]߶{d\Tˇa$XM>,**;F&-zX(g^ex*sg{H@жAr$c5P ys:Ru쨶]6&*Ddr4n橿. }')La)5Q\*CK>;:2ܤUGJYa/#-+ioås/kCc hbqX'L0ɆnFAVzUÉo~8If8DrAߚjeo0xx9iV$,Tvs`ѵ"WsDzk &楤JN/<&$BH]eȥz(0ϡY-ۀX-;,k ÐW hQB=cs5_/%o2\YŚ9~06Bυ(9wZ^yej+/ yS ^>k]kx2$O=%BrV??{.I,a<Tf,a^M)wW-zێ5Y\踡3W?"@B} y|mJ:F\p\Xnos> ͢SSG#BBKZ_*Tη}&7'6xE p[xSa!g9=LGum 䴢|4cwdm w_NhPTn:TB([SzŴ~%Q|пbjGHbZf S//vD!JIF*S+CWcc54 }c=Xvؕ{qKM"^3VPo!uHTXKF1]J u H*SǣJl'K_SZ{b@ok2*Y+6fRKfI<.OMk -T)J$0]NvsGZrn{9v6"SkTOխXÕHGXG9?Y[xM sq~f\XN(o,ɕeqMJ' X8OSE,35Tx"MDGJd$i$lpZVpb ƶM2UXʜW9R/ZvZV6`4/5*(۪qoϲGn T]S)yxa᧲.X2TMVS,@n)=tRfB7b`՚~4KcOyU{w <ճ`:%fCH6.__o39LلYLٸB#Q}5װ}Pld[e$b*mg|;㝩?vՔĥĎT+-_(6/eJcX?$^`a+q,57g~rHl.aa9TfQڄ3vʚ1Ea( : ^Vg§\z=$a!IH4%XU)7}^RGuQdgsyE7 ˆj2}yY+-{EM@9aK5Nkzq nJN!qVi8# !TVln62p&TbNPwB)`e*v97' ~g.زTsL %gY#z ƔQ`(dKBUvاڵF̂#A*tci 0& E h;cI I%3|N-t2 #*^L@dT=*/y⻁V[ +sydw[ԏi[K>xW>a_^ؚ[\h7C0^$'ВKA3 GAN;ٓf4iH:eկ 8czV6O+C"!Q)_fu/G~֙J$_IoVPo7!j6JB~8Ef+J%d6hn VUuۅ5bl/eW$K{X)stVEpŞy=t^iҭpHx!/Õ !6Yorot6.|h@w +.יuIUI$Xi`|P@r8d->x=tysZOT8tf NJڲVEQU $n# 'ۘa c`;>Y->F1 24@eXݙYpjcA{|}S!V>r8ev aeHN{Nz&^%pvIxȟc|Br ˦X:qdӕD{߅}b-=|@KOqTy/"jE2g: *+؉I3@!_ U&I95w={N=tjc,ۭ]I _Wƅ2 ]3QlkFUj*Xͤ22tCjFtu2$~]: [ >5烫g߯ˀ)fTr XB0 i;( o$4Qp&d6 l^:.$ ^GWHjy)Q"c_AlGoC*~Su95Y[VF'>>^Ea Q'Xjd-j#ˊt;V9s1rאdoEE(V[yvo(yHɟV &9KFYt P5k[ )pnnἓa7,y $VpGƾ,_uز-ppѹK,sa5f>*Nړj66@^<ȖK#\śy$vJdoQ_! bzւN$p`Ҫ/w^`"+.U@x~$}$fPv2.Iaii bsQt4&}+>y IBbiY];G8gBuscAϧVxFgb55c. n2ld [hra$ Khd+.sBi`Z CWLcuk4Z _aJ^!vٴte_InWqZ9A M&2ЮHyMO0J.THJQz-I;^J[q+"%ҥmaÀ`$m`Anku)`pf : -˸m.D9β_g ~>5ڱkb\܍cy7P?` Ch1VK.B--LElVg3`Z zBJ 2Y C_o-fp G +'u/vͧneʐ]/\V{p{!ԯljzgq:94*WgA Eyq-̖Bh[kV,nvc4Ce_ }:+~lG B Hme5W,S`#bF'r [i""K?X9T$yo 8QSq2F21ѫ?~8_̀0dW=YFPr%=0ֱȷ<x2N6-۟EEX8`90͑z&~撡XFLJҤ,#n=6qOA9mh~ xoCT9WM+ (pnD 58K#Ie?noypxLfojtWw1zKpE!76ar,z ̈-Ԯ$챡@a`Sq'mAW<*5o,ϲt3g5TKp;5y}˵|=֧%QؠV]۫{5 nl@7hvSF֓ql<$FMˊuFP䤢wum/bZq__h{F 5ACP r, sg9&ܱ|Q,+qaK ]#n5<^EFf{A)!sРwaOٛ_>o ` 1. > א,ʩV^{PڏND ߓػRޙ#I5:Դg2wk(qnjq !gwp D؜VJy M#z6zP5g? V* ĬoT[ﯙ'嫹jç8O\{E(,:[Nʈ" !BH(;pOɀJ"7k~ +pʹy!3$ˀBB0N~qf`9'` Qߕ7œ=:(eX̦xŒx089Co-VDc!OyO|2\F1|vNͫl 0W%Շ o=12 %#vf w+ u0Խ=F>>?.BKEpҟm`瘱c!yS[h}~}‹cLt;[ykho9dB$?r4M`3 zP~Àtxu5 ܌ `W7²M̪v4YjC(ttJ,^`9hw9]/%</%*S _qF>%(ث%ռ9$l)%@w-x.e"'$M)Gꥸn#fZI^"N|5,$h8ERoԂA~ErsU~i5[*AWOBbHI.([p!_K9_ߡ+] vk[RbtvKy ZB,IwB' W@ccW`Q؋` 4@AAbuK'nt9fh&f>ŕguph |BV)jK۠ckQ43e҃xF#Go[=[WRU<)gX1gDNnGN߯URmjuzR{H)ǚD2B]gg*ޕO^=%?7xҙ7>,x>*Ng C[LYl-v![+d= GDA\o7i&V}h%% {Z-E%#F 9_4MyCG6%+1X4?)\1ʋP +vyZmdcKB+|n:MT2e扜j".97q{Q_|8\Z -q`4W~טjr7e`0YyZb\cL@KGm"@\f+v"}L: &jr4bܱo_^v$:P#Zdfcjڿx*SSnZ?Tx>nSN':^ɂq x3 .Q/Tn*%@ez,'nd{T˞kw5Ŗ-G9>7>94@":M(rT|aIqGVY߅uxcA`a~zC(vhz&ܱZ mtEX TQeeU_cPmYwH*dj@ieO}0;COCpFAd j,&r0Xބ&e6sz\}UffApJX]oa 3b ca[u_.% Э{XP.2% M2 )Iu!]0􄮣nha#9kHV[jۍo8>:{xhU`dyz/-l񶚪v3d)l`Q|V01ՖȐld\D|iKR@gx͒7Zz2_ Q͉JQuPum?ej8R駅' yt1ٸrG*,ElqC8/rnT[Q0\w'{I#&RoaQdA;9LX< pWh8LHEQGEAm=eZN:%訤9[ނ"FJq(&Ima v ⋳){DGMcj3c`QNaZ${c_nwBYˡ2'n,y_ėd>X#Ƙ\C?PL Y_GdGulOl eum0``3p[$4 /щU3hL07ǜ~>&н븻UdLL jB3jblBk_.=8 R!&B#'Ov+3pO?y9v$ܮ n^\.pO@!{z8<>W94_"ATP,ŤQA0eMOOkBNe$D^ n<8<G%wigK953ӓ?xT긐rO|փ( %wBm8pR3t/I4]#HN#wTGxx2V˲aS TM͉r 'ƒ?_:T@(ϙ~jH%;2ZkT-} *်)RptLەrfQ|ric:E]ZV)> Y(UTL?~hI\G.V\Mф?Vj6T#DOHMQЂ\ o \7"Jk%IWũVuVɫ8OLij-D60>EFY2+}DnᳬVO֎daZAO5A!~E?DO[m)^KpPHڳ\EB{] C3ȕ sed ecLO.zu3WKK2eRRa5RH `AÕ)xo;}Hh[K&e$n TXtIZ\_=w$`izDnCQ[?"G7Nr"k;]JVьjͧ`tfSeHal|=>_H}%rSLHwUBId<}Fc +|Lngf%r%hC[2P:M `\ygOL' 6$%Ɛs(a>'l}=P羰 [UT+)h|7G~LFg<2bTuz#G90,r)ܝ4XR.X>4t:8+ږ}/"`捏NG1hGL{ܭK и:qՔ`h/ɘvF5:{  ;@+$̬&= /wNQK׃#{~S 6vZWTU/&ʤ@[TYpP\s~DYKJ]=mQ@۲Ã4OZϹ9QK\~ P랬 BXe<3mk) ^R]%ܳ]J L )_pR24i7.x;8̅Jta")lj `>XՐ8V,=yC,U ԋ3g:[8 kIhDD5dZ SwH4^;U}@4/ n,n<4 Dvlo.N2ۤӧ%0;{!/| WR-M |8ܟem0m?C3Ͻ]9.EO1QGuM7X@/E*޻Z4ʙIަ&#]-qLz\•e)IzӒLo>hОT~ss LP&kf^C; - ؿ^dxM?fn.( Zgݲ6[V.egO9fCiޘJ7y&3qER77/6"NMac\ExV{W${fVIJhZ{g ̼mywo_M:vTk!bsǻ{ovNC&ȑE\fAŦMTוIs֫8IY2lg~<훀II}+I;oX8EHiX$T.i{]:֨tXXĤ6t.(} nqj:3PI;W>=qz/vG\zÀG %4UnZmfh+#ДbaKP%95 VnResZq뺠eſ&Z`GGi" (伜{qhꯦ%Rp?N1 |^cR"\% |ڣN&in}.N #w, &0$Uly^;m>7AQP=\]/\ QK^}]!X~sƱ.@bwZ+mhǰ5A4i,= bM>o5;濷Q7)^pB <>;(֋|D/I2ZjE}r<$ '@kfo6蠦^n1`T4-gHvʱMuG}͆-hc^p= CJlٗ@6GfeY,yrC]ɜE!P}燌F5l.WA( mE;Η1/s=!u GVj2*:nz λ%cA6ˍdy.ulByݙṁXzK$_ssDԍN@+z&C2/U`PJD5zT~,ك7tW\oOǡ?Z*Dz&XUm&+뱊 0d:hްB1 U"wIˍakmAgGbTR ς`C0-w)U Ҽ5̛MU;3>FohRh0b\ߊQ'ƕty&*uwЮk:90 "sUu-&8se`Hg񑝳T)6$3h悿`.(:RİΟ ܘmc4ܵ—+' puM!Xw]X/}MC5sq/rϻgYM_x{:P`3@rPz 7в=?ҁbo&?Ƞ˭rk[8H I "QPϬ! 'l| D'Iԕ葽W9Cwbέ`ueI=^xiL^'z]ćU< ȇ`6$%(fj;Ywkn mܱ*IGuvŌ-]}&D^qcK`봑>okS5eR93B+ԩȞU=mz=~΃^/wƾ,* X.:Usj WLEI0~BV6;h޵J@Q{mH{ ~jD~b HL'[|lGZVNJԚ{׺;W ]+U2q3WkHB Gk" ; 'Z]Fj4PVڋ-C  }/1@*O!. `c?Z>/4K;LJa}LOt,ޥEY:' H#S]ezn]XZnEg/!3#@{CXރ?ʦ٬y!1lz|$,w~4,pwT@fX}9VtuG$o;`w"*wI^^DFFaf#UDu( LF&D}],Z%vdz6eRyŕ kMRXAQU/ ])vN*(|?`Cy˂cal" sOTtAp[]䟀R6=%ȍYaď4οm+('DDcZNI7JI_12/14p&Mr~qM5HP;bպ.1,,i~:Y;b繚 һ3'/r;[s̿\D2RKF5=.#+IG=vrAp$fpfQwmɸS@o --.9gL MPɫTxo;tb|rn1v}x˃wp]Sn3րcͻ}$"u+ɖrbQtL0,œ;rcO-;Y~sD,za034\l|Dt .Qh1Y؟^-go-YEY(xU~O50+T[,p!u9bVljg y߫t`T}_SI&}q馎 fAZ/ګlykL7EE)t3*i+Oͱ '^^p0~KU32ryW|Sx\N$z11nXR)ߦ8CVT|/`p$v4 dռsA[_{&i_3%O=VBفXF4xںvA W.9[ DkhŎ8xӯ=UVEx6,%+B_>L$[.{"ޤ<fO>Y^  U!F=*i#rB5'1׈\ qrF#J\.(m =ʏ9*+'*X_|tlcHHGcD5*v}6?yEc$tv:ۋm tp] Bݘ鈃5)UU&o*74޸|ɑTq)|x MrMY]q b#:Cg!t5'RW1rpI*2oXD]p([l&͏!0}lb0ϛ)ePVh 1Yvƍz^K5:&S^K85 }Ș^JÝYNx!Rq%5wPX=yh]l9صl%KfyИ~4Ibmy2jVs4xDW Qr{\;!SlmO_oaoy_A*cxZ5 N 6-QGh zfBb Xi,Jw,f罸NOLv,bO@)(·W9F;zF4:= CP94k}9wR<8kB8@p=d928~Yv ~#QL2Jll!ǫ_ԉ3+k ϳ}fe~޾#IyʌTB6c;i<pTs2xͶ6RjzXh: ƿIvrp $]0NCw&VZPר#9 t;ﮈ&h 5)QВZ9;a1%i?8b_@X{h_I)qt T=qeK n+C"-6Q˥):1s?t7XҤ3'!opP_ ƒ]mJuaaoT/ϞYd FRunl4\F%/ 4B!]׬ S{-1̭!'4QlFU_;,&1|,IZqnP91(yD/hzcdIW?Eja^HG{!S3:D{wvFHè(CS}7 `/~:0sϫV8( G٣.;'@V&+Q'*db&]0b\.Cwi Q,yH^X/$ehzWOɱY59C'"U*Y-X=|Oc=_nD`Ļ ! ﲌF- l-A!i092q8~/M4a|20@*v]KO7NI atd@25mŷx_>翕<YMb҇eGFCNdQ|4V~=P G!Iv|j̹KEXMʈ\Q?|61_w , bTse$e3(f~[=H<h? :^r?Tg5 #ֺeLI{l?1->3ZhFӾ9 h^3S=xQVxAyG:6!ƥ֣_;ER[ “k%8_:Vo&L&{d/rrTs«*&63<)oKF"A?O??.`d ;Kb-\E.Ve 3z3oqn$P ݯEK5kQ)@mʰ0o㮬s`.)Rz6Li3{j˵HJQ*+S#W7bGjO3z2f\NyŃÇbAM0 <V_f}?&_mjfd*"aU ߓd:\rGY}RfYE^[n.hatZ/\&k/wa͑8̼L9\_ BXB_' w+nnicr'55Y XF]zk! 8 З#E;? 1} c)iaNϦ}X9W}ljXx}$qd#Яȷil Sy 0 Yo t0-y;ǟqӾUX l Ɖ:mC`dۂd-qZ]j4\ЃrI#]_Ky)JDa+%)Lp%'3/zp-QwW,VL۶|m$֐[4sݬJz:5U at+_<[<9:I$wN w(du\Z_@~<[6.av[dQ)|?Dgl9n=tB,q ]U}>ٵK"g0r͓FNnlv+f~ZþMC#8QCA( ҃0串eqWuGiߊ:~l6x'Wa!n@!K6CXM9gK d!9,xI8l7ܕgB.9kS.0 7CiP˛j.B,bjo siew!LM 7>l~m6lTgkX'EL[!1 7 iu"<[GAǬJn͹;K :RdP[&RX*EWkd"4y t%D+b2prwpUJBjmDH&ηYVe$ B#G1GH,ޒ`>qWwTسv_)8"9T`+QO>0Tߺ (ԫdù|([7e(P;⟍N SP9sG,ѻYL\FF@!GCkW]fU@{;}2S޽Ҝ114x>vUGi( ;kQ3ٖz~4  :l_1`l|zYybNz3?MVgF5]d6qA[!gLHVFO,vKZgy/%jׂaFQ^Y;Q>ʨ+{EkDu6ME e, LnH6%#ʆF)R9t0\Zrb?dvbE^-}70@avx Uw/%ļ"3)ԋֿl)AARڶQj#mijpQ'cK*YmsS)yfhoOl7+סj"~CN[4%=08n) ngCu@mJ/~]ȩfuYzy2Gm+ gI˖fx/o6'Hkwl4ƱyvSu2fxlMIx B:x_{>jQ%k[J>S~%:Sc.^LPד mQF"Z--bG$^\_{*P:fbF;pF-}!1cWT6\2o|90Besms{K B@Uݼhq&z{Ӱ4z3w|Ũ\&mKə|HO'Ԣ{;k:[ъuRfĘg$_|]^@jj?Zg g8~3薉+0'"[Z^H}D UKзO$-"puuYPS) N_m0ψ tV˹IǰByw-+)<)68 >PYi` CûWmk?tuiW hfKwwſWgg[$i<6܁S\=Cl`CtJP3x.=JA* R|3[٢T1bU--KgX? ަTI!$Lv"10>S pAKqJ4dU6%1Hޑ_~8ߟ\x7_"wuA6/B0 %)N,~U!L{mc4 40+N)/a Q*it{N1#p߹i c*"=98d@|dq y=Wʔ0(A4M9Ǜi@\CS9 v2LQ+^(| vWjpv^ ^>kx)2Vss)pb_r'X}7>Kf@tgq2 ^NC9 0#yזtksD0B:'#vxnAzIw"g;8pf Z=ְQ C@ |{5Z?msÏ\rQGٚc,q٬h  k=0 8S nrV$-aQj `IW0t"@$(4$fa' ,=):{Z}FO^oJOaJ;QQ,kZ>בmܰwW? A8 [ٳY"ކ}$<.]^ƻNjd;f_!:͐FZgǏ4##aoΣ4W(^װ-aQ kMfl^oYݯG(@7Dx&rb[u ai4C=묈?ԩpԥ4tdZt(jџ]Se,1Z>bCߨAb<M!h(*7j舖@JB(M!d3`[/L}>>n&a ).{ax)^Ĩ|Ox슼!&8:pWe;SӅ/!xsi= +7[u3d3׃e%xYSj6 Sɨֱ*1/j\g2U F UÙ?X5 0ѽ黏~NwP1kuև~oMst״%7GfתPh/މ1 !b15 ǛуrN+o|)I |3$fQzcЀSvНϴ7sC\ԇd'Xbѿ=L}5~(,W!r+R.4w7nr'fNLc׋ʿb{`W/. ,!/2`,VlzAVk\ь'3݃K,Vg"Zulg>t 6}bχ]nɔ6\.$- 8 ףזe)L5Ǒmךؐ7$7F<*.Q{}L6f*-4wEMSŇ 18 vW?-i훋c7XQ~2 `9 `6e<1_E6Av,gs+b2Q/3BAF8#_ j5ZOrE"Vh&tZ$M ZqduIšC d W>"31.@7;  qQ &;V-W)<'nխ( HͯT[ Y58p12|Q^Ӟ.ыLC^>ǖ[ [[H[twtԘ3F}/D`Pg* "f"1rRjN#V2ds8DucdidrÇ[5n"VxC hjifJ+Jp,Z82KeI\[cWꞯn4s[=M9Di',2r]e-EĶ;/޲!] l4PRѺNv"cKw.%mLZOx"zXy;tUv1*ڠLu54ɂ=3jM5 tWc禮ml.; 6\=2 P?,WcU]4med;9 H1.+C;Tc 2OWۢ4G}56&LP\|?מj+\m\}]TvjgHr| lpY ޼Q'* c?9D,ܒCtGrǤΐDeg0{+|h.@́7S12muf40!-'i֜a!&#{X0 ҫ-pOR%aWȼ@`g̢bF3H Jv/ڳK TLR5BއVEX:Q9aCJh'eHiyQRpSNڀ<С c9&0 ɕMǾ+haS~3!_Tp;spxRiG8Գ2)JA]5W; #|œŨ$z(оW2]`vbE"h;If~G$E;u  l$l mOLsoH?o51ܑi9.uDJ|fg8MљxmYV ){SYD@3hDoi "r-2?۰ K Y͙܀X`[lrnHc,ˀ$UIN얦)) ?Zp֩e4y li4*'m`ca/2/k̬Dřnx;`4`*@ɔ csⷬpiqՒPV8p Q+k.Z4czoTvs@*dwH$"6$0+PQVJɱ[:gK&GtӛVe>&(\,XoHC+i`AfWS.w6.01* +Xz\hoQũ:fMw ĉ5A7 PD뉘WsK%ݳT~Z7٩ r2~=at“c5`ye--5nlVGXJȺ+X}L|cpc M Bmѫ` PKl7KfE7T(J,~(îf!3O8Ҧü`qSJïFP*fS"<g(,-a@}0Q&R%C08SZ.X%ž ɣGN<|!㪖Vy=}AF͚ڍ|7G)yo3_62 M =!sMDPM-o5M10tPm5ws<(‹e?6/ث{/ ]i/C0=OV06F`7i G?U xRL cmn Ec kYo|Z\^ $CO? ugcdXBۭQ1mF:k k v:PsLA{D'PK5$hX-Ȭ.a>Bf8 zb؅Y kV#ў+rsP"a6r+cSH\/(dv6u Rإ~5NfrjFM`9V۴YmQT_s?7BqDe{,De{=o3w/<5 #iY߀w^F!%EJ)'贑緤_ᚪ,i.l%nBa?~GNଵ}m bM3cʮPC/8هCf+J KR6v hxty7\,OQ4F" sQ&a p53[ib|13*x ^*Z+&{r̾{S>pl'#2fbGϳ|~CIЗfhVN [/Ç#vc/.BalNTxj3z3G?@Mټ!^֗iF5. VY[lJgfU @DNl xVMIs$}A/Ūy|&6UekxA5 @D_ҴjOu/ L|?xr(Ƣb6иC4k3&Y2QAx\"P'Xw: NQ䇓+Jb.HH# '.waN< wx5YtbMrE=e7Ǽ a5Ձ~YؖT^ Q?#Lm*&3}rmGX\,ՁMfѸ%L} lPڈȔ@ϻ:@5 {eSnUh#[wÀ\zPį"Ʉ .ۜL0Y}]E^ȰM5]kVO z38,t̓oԬ[tg+VNK]_uvU@AK}5T::813`m'_7b&n^&`rdXv"δ{ו>k{B4Y-M -A\goFhrf9RE#^+?5M΀4@Bͧ&pW/#ej>DMhj~dn lz' }Ml IuLpIU(?^ h_\hy8.C~^7QRjK‡fe,T W ױɌQ+p6 ̩HhEgJW\|/ $CRt_h 1)|W-S"oB }Z|}5N-5 * oxw(Z KcQVfjl7#J.Z,YvR Ԅi'bpsxp$QE4-ϋ[[c~ u3o\3+\Ftݙ2;Qإiۏ B HqHP* g&BkCPK`B(9 q2DJ8z@5$V~y ,$`" )q!jE.X3utHgcWv?zrJ0פ34~1C!y+h-(A5Wh;w/72Xo}Pejïb p- q b+l~ S𞸎ue%XQkao-04r3r.I.7aO5T٭@{ɾggpXuѼ e C}.r㆔)q,蓋?MA<4u4[ťKW^uFf ";p(<(#Pz{Z*i`t`^FJn&iFv8?搚I8yjnXWͼ9VZ9|)j6:uݬ4sy*ȑ-()Y,x5漎j37o*i#>뎚t :6lv Ɨ&"ɧGP@[6h)T98>i A•8ʆW'#vb{4: oRI"VlYh]3H#S`$ ėN~tH%Ca1KUXo4FdWd%|⑙A!8h\xF 6>&sk7䝥:Ma :c^7NΩm~Va)zd :$<>;Nx SBo }~n=Pc6 |9P[1blȍ/c]oWiăGD3V5^/%+4iJ U `mL72\C G)DOO`Kc"Q,g٬6UchjxKD.B;9w1]oТr C[+( $jcMmJ;\W'BMvѪ! LJtܐ;*/7MsH236ʛq-_L~eo2jqSC(:/F\P"pxJmLu{ 9?Ut!'ap ~WҐ#pު޾B,~b+w8ՍFKJ^{Gl lE_f5hVPG'Gi1oEm#(w)hؐvei0Cl?5*oA w +emL䧎/Lܦ꓆aгIA,Ng((2RHMpKoIM0LґFZڠU``x/;UY I9E.AFkz2nt75xU~Dq^qZ) pscio0޹AnX`X价Un z!' ofay.賏).9m|+6.KbǹzGu8;R2DZh_Ndj.=" v5@UgovԇR\—Ie:VgnJAl8 $R{Tbmɐ4@K#lD];kp]J 7L=rcIq%U  8#|//޷0@AXdyqN&1(M!ڻOw ]jE9סry<pJtvc:÷2 R,-XoOǟ1ѽ rtjR8vЯI  ouy&ಿKnR}ʶncb@ZTiLR@܏P .]o{S[Z@Z/GC?<%&346siA|Dó6{Qs1y Jg ]@RVS)zl< 160Y`y džcI℘(W,op1YydQxD{Ϲ] {ˣB"Ýx$~=u)ɝ"{t9L ĵaar>Ë86|J4NR:z,# l%E( >0Wp9Zr˘}P.!*'nb8E`؊b?6(.=I015g 2L-D'\/Z2+;"VaƵOȧ[Qbfھj ;e;AH6"~&*ˏ[M;cU.f0xD 4˔ʔi+<۳51NL_5I",V*C4nƞ94ձW|  63P8dՄb0 %XqKitwd"g`Y9Es%nA'œϐ#+SCO󰩳pKD-̑GE`'d-HZU¬螬M3 G9u:oͨCHMy   ǧ1IkW 1&M@؊vA-Y[+A_!˱LWzLOttF@.HWN䑠%Ty/SA`(awGI&y9Q z5ΜR(`]$%]+'1l7neωq?U#T+ /Wl_KN[N`D>=TOb/# \LZ9ׁ 2bPFJj ߲ĩxŽ>{MQڨ $q#c&YZ9=O7a^ݤj!4q5_ua sFYeL8 9* "%`AArjݛkG{ 洊36kB2BG YX*%7(/4LW%I2}r))U~x(j@_) Y$ Z"9X٣Vaq6eo_n+lʼ.MPjS:M) v2hh"nX[L4_eIag%m/@مVTq[hNTXFg+~ jO,?"żח^eF5u*ddϠ <yԶOouk 904)2NGjFƒU7L;L6ikau_~;g_P17g5Ϯ$HW2*Õ~Oc[JB  &uG\/m5K8p~V }sAS J~2fBު Si+N55 s5*\-_Tdo禧y2TL2?)6%"lD QiP?۸Bx/5|ØFs,UG$81+\?u~:571`>iQIEI_cQ`6NNU|BP1Fڅ@Gc[Bʣ!r^҆gxٰ.WV 73H8+ =$Q}Ւ-pFSje-4# auٗ*hN*0 \E3)6()6.m{eN[p)-8^RQA>Ӓ8Ԉ\(ct`THi_ cM/QЩ DAzb;.R?VV(;G5M?ڂBnCE3Ɵ%A.#lgh6icKM 5Y'M}ghs\5b@Izw{tuSR!Xgu%Y9cڡv:Y@2a6>bmU8Cikf}R֨jcɨ'652qJk<‡+Z*4>`J#Z\gl .GI8Tһs?7ʫZo7s5sh!o=@,^ϸmy:䥂d!u #!,1'6RMfZ\8ӆlc{A#[e@iGꫪpxl4CրR3I30_~DU}y\H,_j@Q*^!P[wH *$}.~WYV^|[x/|a\P|KZqʀă{%= $C4iR9ŬtXÆ*$%B(#0[Th&2Ѵ=I[3+Y:ۡTEf  G:lIo%n޳2o6x(oYjs/5q`YO8ք5v&ҠILPwq4 Ce ; $ =Y UC4bNx._R=`z++`y*C -Jkae:T͔[nvzCoH׳Z\,5/Cz2$j ѮzaW"Kveh`Sl%k[/,;_J1G4̩y<'j䂳a7Jv rwi V_oW ˯6wMJb!ӹQPм?Fv V>SϯcX,{vF-;7qx49`26z 'oXUqHr6c e?jF܌.Lrlm&6.و' GV&_6\WY"_g0XߏΠ}j@"P|&ϕǷ]"m䂲7Ϗz$0{b^TȧK=p+N<>Z~:fs,Jn1C+wgy*|ݾ[L RT|-6|(L? -3rB6 .yqyBb7F(١ S->~Iu׵< j63#η1$IjxS[}N)Sxh=M|l>ά{$z  CE,QG4~Q<~,vkGx3}'D&Y[iɨmڨL["{=Q3ƚӥզ^y΅ڿݢ<{>S\Piy^k䲖8H%ʕnrz^&pjoӼo, &+/`QT>7CMP5jJX䆃( | ]T"dYbnWk̔T- evE)K_ga/UTl5rʣge;p*k?qT螥O{.R b@eD%DH/@5JUvlݖÈ JX Jj U $YSOoMK7׍2ZB`B|1'N-Ϩ?tvWSq`@dЉYy.Jbt&=pG'!E(xd6_X5Nd]fdup =N~4HpΠ6RxrQ|+2y ZVP4Hڭm?-Vm8té9AZDkQ8F׬NŲVzڅ™wY.]0Uמs6L&Cu.5uK/{0U[NUceQ "&! Q^^-##Ne-Ňi;  YNևh@T̃?eYh{\[\➙htX0feR7v 1Ul0p_C[9Ё"T6Cl^qw'H\97~fþw];5RKب\*'i, OeYT|>-u,nzZy/hX"v@~L0(ÏeD3iӦQ#Nkk/u-Y9`퍒ʴx+S&~AGQVH "?q^Qz 1MP[4EϨǓe<&(|f{l~7-ټ?m7R)oİ:P}vh],.GOVCeC{kYsuA0R-d9iҺEs'0Eg;madǔfT{pd Ynyg1C _|JaB[m^ȿOLb5e]!R4;>._WgvL<7Y,_:| i-stQL4I}xSs AXʶn J;}Ӆj[vYU*ːO{0nȠ%dI-\0\yuI_"a'% e8۶U!3][z6,\0Nfocdal V C6pB1[{ޠC!ͧӝ)-2?->C!%XE,h'v8d@5I6/qfR;31Dži?>c+ql_*5]fÞKѝ^_zC=489 5.=ʴẹni.wC#!lոow=)>ϥgDăŚ;wfѴ  OZ,1.eZ Oqk~e]ļh|%rxqw+vV})Wne˷Ӆ*yEkzAOJ%$0B+ >LrLQUzU\`2nf^$Glawu5.נ}z F-[/*Lؽph[`IԘmy+-t0]b/ PF/Ż&X2uo[fɓɦF;0cYP"d { 0s|F"hyQQSii()B!$V 1ʘԚ"M!6nܦ+ՍlQpdmB?~BhS >PTZ gw!'?D XWԽϘ (ΝSQc%$素It;}IuosƼrix"qKѣ3|pG)ZwDL6twmlJ_=SEH0tI9Y1κJ)Ttk?S#xkg aC<[x{^La=B(!qG۪;2,3%A-ac0pqٶSQ@ƺmcS_F/Q+<AVLEƎ'p!r\AtDEcoW0%lxKr8;p GCI>hX h?83[\J 'Y xZ8Y,.xsN7GBpi\))ǧ&cTWNg+L0BXǒ`7jiF`:(SvѮ@OWDJ9s3qH\qݭ !@IIg'gM|Ay|@@st`hBiX j'85ms[^$}on [@Yy؄kÊ7v;y./m5vnh2[9^/,:-AKk9 Ӓ93mT#-(ˍ(bq 54?Ui+az@b;F$Zbw&~Eo.?ƧHJ9tg7!l**y%.(n{& T h 0@J<-ې$>+P{AL%-1LY)a@lzKr{~F吙SS.)lOI)Gj< AA1+'0gUDmM{$α*3zK@z0?\K?h[(%>`Jzª AA&E$L=jTY-(Km'I xHKLMJr:탂> E-a6{rظ7*({J7E d0J+8rD⎎+Jc2y~6|6@V2߇X-6(wd9^sE+r.S0 WGbA=Ѹord)KJ3B)nJCFpy΢@y}`ף+ mj{,9wSc͢[#2YMUg} ;8`Dzݻ,HVA4CJ&z:MVt]ZV6:%YϱQLxG@)V=jB< [:4MF[?e n3Z4,ȒeFL"o=M,4G= 28%aQ@kRb=7 v[3ROYБ_; ԌE kۣS)Y9$cZV/K۰x/dtsfcUc)#@P^ bmVۀbפP?bZR36E@/"Hu6Jh*x%#.B ҟ$_eAx!, Cݙ"I|o^[3%k_@gJ籝Ĩʼn.׉hL+MA7 r`VCwCDo6n|8]O!gQ\fd?-2;Y \˽=`KJiEʍǹ+TLsKC'mZ-@ʐ#YѢ1ѡCEV0Зix#E\D)+Bu@yѕ/]:BחsPFfW&<n_?p '() . uxGUvh@sa9F\~ v֬!^tL}n:żD@ a}J:tZ|[$Fdu\^IX/W CinƑx\i/o@gsR,{*XK=4;6V9LM>.7#-5@HA,al/yn]8G`ik`cgv&4ѯp܎EZq[k67]0P ,cXn ~' >kʒKXxaF8ѕ4E^:\Hmsl r9ՏHg#Ԗ3ii._C;ↀ1q>OU2;j'$3X) KUۜE"~цtb*Qƽ\ !ƾFI&(J{s&}=fw}Q*]A 583q_ ذos=D(3V15/g |Ǎȓ' gCXM*9nUTyyI%q㦦ҨJ fC‚;:JUMm1.n#y_}0fbh1~y7Qij|7L&}ŠWMd4=M=,v'{"hH09b|n[O.%c$J҄-𥪀~#}}\&[u)>ͬ(]&ϸW@ed8Nz]x\Ge1M+G gҥ5@TvLH{˭t?YGvIÿp:Qbz*> Rl"iIZ΂š,)p7ͼi,̲5.3@jDJwAj=6 a?zɧdDaV뚣36N%W _<-o=I"P?aY1BVvr@<M5P>`? 32̃%b"Rf_FR.Z>ↅ i(!Rתj澱 #jq~?C9$A~u3Ώ);#t՝{]b']c>mݍ*(>M,}1i/*&gXT.8aHs+?<N1לvPD|Q (8FM R / WY1wtud RH)qx#L iQ /D^&ɣ±fEU?_M跈!X<#2磍T([ \9>"; D՛}RA4ZVn+@U<#%.Ǽi%L^2)ýݤbŴG6L6;N$& lէf`we/ Q]h04v7J2 3 =ͅwGAg3i47+`y[[Mz`0.=#Wk` _m(f8bAt>)'xDD$(0" h3`Im'M9x9D=%X;y_%'v HdZ[',;ސ0ި-Hԫݶ'|AI0t. qm CR˩ NK|szgD;^pG?8XKZVqwgqE'XA]O)MjŨm2vWFM I{kHeDn \meK->i#pςB;eP pptQ > GUJvtYӉ8]!kVBĨ v,\d(<}:]SO=;ȮlBo)SgS |3Nsݕ;;n(D׸ڛ𸞦Kq] aA. Ar%(-XTdOG%_0`w%?p*USp%~g/ej$ ;a8C[vf^-tYOա??-ZC|.hD ت`2-RJVESH p&M9c^  ~`,"g\4Jf>A~\Pb"nSɨ{Ý8Pa0_H`T:I]Vo)syg5>SKI{cw'* ٘kHk | k&xʞVi)h)S=:H2]&> \XaNfdyGR~7@zٌa`@K\eMueXExX!TKдTDTdB֍}A2mht4fGBv'ᙩv1bhƯ>Z>.:R7S>ڶ #uS0O;U@ `Chf~o#!8\5ֹf{n9BBKWO$i UT*}_|ϑQNS\^Xn=?N'=4b9a3Q M3xE|*ESN ],; VW17QV/b@܌d%K^.%1}5 d#ꆌG-JjdQ78GOXeŚe<=*U=k)FM{!5_jXX;uҀ-v,k{\m?}qfa߇xRҥ() qjdTN@$1XY?: TD8 ۇ{whJܖmw M4L";2=ӼU+M\]Lݵ"O6J'jv{h-1H`S"{_{<j'Mt߸>H(<>A'D,m9)[޵/9Nm?zji9n7+身~3z텡Xa>$;g q2UX ֪)@O=j2VLl߂t0oQ0| /a4G{sc9SNl"PP=Nb 83;P=y{g5ByRC0oXPA*ZQZFY?RÝƭ۱T-ObρTneeubejѷF@+xS=IUtdJ8;cuIT7'{ 87&!^bQoA$ӡBӆ&RLf(Y|z qrX0oMk$ȿ ^\Q#e6Z8rkS\JXIe$*'Iɻ7U8 oڈlwM]d5VSrѲgi9~C3Β^WZ3-Mwi6J-n~s'$4~ƫvSȚaT inoC;H}x7]Zda֮nǹSt:ۊk~=@吵C<~MLJ#MŔsɱ0J k)-Mms4Cw0 3*9WɒYGe_"d(٨a : lEϷB}_JSؒ'o'l׍d-ܫ JM(|a{\/A1hbXs_&RbRIVbTނ`P߶ʁAYIPӱjkɩrֲ}|LjBvS|=úT!uTBpjXIB1kXDKٓ)4 t#x i)}?4nKjOke"bzyoR;bODEEX5>dU>Fx/]֋aד.g^A(> 2TiR2sgGLYv#(3{G wōp."O%Q=pWܨ[pLb-!s]bct`I+| E% M*OxoD (DR1Y99Eff u\n~@{@ BTXgZ;ܣYU.d-{#izeKEM2ƫa:rzBי9L(꫏y(ӨQy2=d>O^5!T~OM6yo.BW *La^H .|`oW09]d݌@Bփ gl#qUPcyI WU}I`](b`1i('g~ՇjR 'b4?>ńxzpQ +) +tM6T|ҫXC1e{Xy29˜L)+{݄#d2>qqo/#ه/jolAY">B؂E#&&WׯF.ɋi!2#=u[6vfdIlw~䄭0OHy ȃD&VNt3SU"S" \Rg,Di1KQo^ LX ?D` Y6FK0})Ư)1VUCohP֬R.8:.zT8,uLڇ!g>-8d~Ւӆm$pSQ96ٛ *2_XMWd"ȎRdH@qxA/kVѿH;jˡ>ma=X Լx>iq0*2l8Cr6]MRZ{]ź}T ̗.}b V(R +<;)zN_ ]{V\B{4V4z[ Pjkvi4SFM 9iW!dj|}]VErGjDD'AiY+(MwL\8.WR278vѯ"*zRm]!U8QF+W/IMܿܭEﱩ2{?ʓ,"6݅vM}(GՄbn>Ռ)쩴)9vePaEn8Z1iGyLBMr7+O7ʟ3 <b)1́ gRlp6blI6ȶf@dx$4F 逫_^]V=:m&t)]Жu)2ZR A!C$DFOkd^X+2./ȶ>jH6X)M$(yR&dib=`XR7S]˝W2e^'AuGh|K_x.&eՓsjJ㔐8 !eP7!N|O#>x@S7.Ȼ6.j˵}ϮH!àٲ\U:i^gCE'Jk$m,=iP;yЀ)lֲa3;FZRr׍MK|ܷ]*Ǻ/ɘDP]o5o@ֿz:/ՕZg,bJ 3tt tvMxa(% mL[A/PrMtHFaʽSfZITFj}7GƆ8tu05DԮ$Yd Yw v_.T utfz%MѼߖl+y %v7B*w|)&~E_L H`Ή^ \w֔kSaQtȢ_!t2YӫQ +L,8u2Bu?9RwPiǘJ])m6s{Nx CrңÊ,F4_V{Ţ%DͲv]R݋], TB .I3q-be9E8Ȇ".8{ӒHYC*6x2<>ByHm*~Efc]7Y#s%G"[at/V uGgOM6TWYSS4'JqHrM#˻z{,@^ZHUNaK姼I8e4 UL&q`_p7!Dm#h&hTyNOA כaڶ̡,g_Qn»xer xc$(G 2Jx"Bם%[=P Xu(YHŋ㛞Yծ-VdP._EW EN% fum_w{8+&ܐfR.wv+XZΕ{ZCO0/kNs[aM4˟f UFj/1EɔNru>).~UЮTEypYZOiD6Tu:i >ÜÉSؾ5k njHI.x+=?i/dq%r2@l;.!D?Z<7]BsѦf{p:oT(4K*AùC={VCoqԯM_t`-/|,k;k+?ugJ^:+:P0B𗟕&2Ho7kؒ2(qo wRWAL5Z1Dg]ܪ\(m,XPN :k\56Y 8>l+ԓqk!x.he ?j&Dmh*:5GoGN()\<ة\ziT fLhrϦi0^Vheﶂ`ZO4gVg%}v@ t#RqXL2tn,~b{k\ [rTn6A麳&;cZ4K4 tA!K @hbEÍb[pϲRKmHD I\ׯazg@ Ʉ}8AlYO00BZ>i'Aq|I~ۆnkBX{f;|X`xStPN&2AmJU+g`myTa/t@J8?5v ~ܕ_ZCI۪\jeQҽac=<ͭW͐=DQX'C~UJo[~Մ~0pqDSs5ƦǞ[˱ܮ'&=.9ؼ0ɨKvEQ.:z}y 9,^mnSZƬQ_1Gߴ<]ZJ{5Qp;tYrVNe}Eŝ^?x#jzsS~|7]GLQ~Ul0 ͊#@E!|8)^pVPXΉ$챖n+c]XuOp=,ݾy]s #Lw2[ 8?xW=q.6E !kQ%%Sza^'^#)qYbK(`i0ǾJV({abX4>tNX%$ Jx`D=/4$B؛r{\rYl u(=9UPo$Emz3 xe4>j~aeZ؛5vm۬݌LTyXv2!1}VYh0I\?y$FJ\E/E/w8V(;x/Q ltS a]%X*@›aMe6&r񆇩)PSZ \ҹͺ w#F#⹴LD\g+w=U%m*Ů?? gR GwI;3EGY⧀3bN d♥ɔ8ay-gw,F+dŵa +ggT &OS?XL*3jtflмvINws"VtD"i0 8a~ʾMي>. t!J_&]&:BUF%2 !ޚ@f ņLӌ"trxUTs XQIN1QYpIL`:GgF|7GpmX"TvdT[DHC"%t&?9$Q$ c8!mԝ]bgp+b0.@s̋18IwEU9Y&&ړ|j4faIm3_{+p0Kau1&$&ybt AENst'K{˂܍ wCL\;+⠌w6Zm/GQIN~v0Tq""ptRFn^ᩈ4}+&6ˑǪ<YZ@G{JKקSHFm64DT$}Oy<7 ,pzݹc}Am #,zcN'&H<&3*O i!Yp1-@8zD= !mJTAnr0v?ŀyѰG̣[TX+x~ qQQE JߥIKYr\$x,L.V/SMfh(;O 9L"'\%Jҋ:иB&vtON IJ'?šT!!Ж 4LTY0(ɴ,U-rUws@ Q[X79H~:zY1m7K}Bma=bN !/X'ogc9MZ'mrRWl?ZR:[?H˝lMQc3vםJFGq7* 5"(>"O\ B [\ O梭7g0낗(*zф. |n9aNj!.V Ԃp@ok.pbFJ%nEEC/*/%_PF$>">Bacj){^C-^]F-άXL#hk`mQȂ9 Nϡޒ|rP{omYNBwِNME'w`g 0eB(/I5.3KVs*@<gB˗a|9!eiX1k2T1s)FHV`R[_k9z r8huA?`KD,^kb7O}?lb|ٟ(E+=@(2 ª&蚕NͬH DOEGM߀{7O pm z1;PUܣ\y]h+E7 |FX|T/;-U'x 3r(>g'Ml@Ъ1bZv[N?h֒Y82]j-\OBۚ$ XhSlݰL~2c Lh9n3  Cr-%vшIsSs@M1UЅWTt*P^wj5m!yjB<=W($vޏIR(+g!7Kߚ)\ T}djSM]N X6X1ݼ +z =ۏ(! '4P&^[ך2hGe"B Xzi^1p"WnL~y!*'W(lhS$7xܴ׹(y4|_iqz;Sg-tudϷ2hrnV}$6*Lܛ01;Od7{ 7).f\9$@fg{U*&& QshWP㲼 yZ|JAR}nO" L?=\8vk ăqT̡[7}$kLoJ)R0&F^s.4=<(`h*9DwN鰸U ς񀆑Nz ٵxh*fNg91>^3@w0¥ VMA,)E]gUN;u ?]$[r?xېQ(\ݱ^"zc\o%]3:u^:G~[ E05NӐ>P46fE`Y:э8wu}Kf_O䅇+< Y6o5}fRM:E^tv$|6JXO;gbGc_VWm}h|{h -z[,lr39w~m?RҶdWtZkǃ>."X1 "Oip^:ش8y8_C2hM{=rs(+Ԡ0 RMWEN^{XMPLƣˎd:8]N0 tQJA|a !>>KU}5i1Ҙˉ?ktbXxhF,rig[ T1%{%E^=~oo6N%fAll MͺHʘ'ym,f45A8t+6HB激5^JP:`a|駪 ZV*3DŽ⣅^O`v#0xOd\B|PV͇UA7."!|q6kaYǓY 16Pf'6-FKبM~bMXN2o&^ppe/HtJ W%Y@ L7aɚTŰB5( ~6R6Dmٽܘ 4zAkK󼦈72;6/} 9Qzg ^l4 m+ JRm1rk<<_CۻmxQle=ڜ:Tw01BМY~&`yA%x> ٮ7/3OI:58[ZB8}0>c4TRvxRYt9 ɀ/getmODj $%亞c_8Rs&N06qEy{#Zccþrw5+hv }SIz*BmBU9[;=>&*t(M{f|m q?Y;pƦRGcFʂi^c#!Cl]0~![Kehc/zv ۞[@qH)aZQݔpH3-@чGۄh0{L@%~\\qW`|=6⥜)WU /*i8xXӊ4ĻJ!*ڃI\ѯYAy{9M)SÏ#UQM:oI|dA|oOj XÍqo9{Y?2-S^1uʞO/Ǣes„n/eV_px 1zWS :xR9a i8e=jykӥ;#ɱֺG}ͅ,Vs騐>:5X˹; Tx6G_I$K} 榼VH* } ͪmLyX;W gjfcN|OGJ\^K:\ m-v}Dݺuó?5,r*G|:0/$pM\Ǽ7[+?ۥc=B>l82\f2$X)*Yֹcܙ9O,*Pi` ?N9Jz%&HywM` 7pֽw;JEd}YjkݝL{4뤬>Q,rK#]K XUWEtWvJL#}&g-B Eb7 sz)z+ =S:/&Lf!cmXf+E~hN,wJ:;&Zhv_Z*Nx@mߨ? hϩWlGk:"] p1jrm^ݰO<1gleQ^C#ƑEtJ?neg;Dp_z.cp;y0MK<{$ƈ\  xЮC,#I-lprjdhC%N+ |򊚩X__g~RY`8Y+7Rdj{st*E,%,mTY9 @7brPKd W5ؚc"tR䫲HB8ǮIl>v& &5 \ȳA  >%}ѦhEs|e ◲/s34\H2Sphk돤/caYT{lQs XgY*NdTN%i0%c\CvK7 6nMP E懙L 50H*hk:cI[Rqd{_c6E6MF&W/aeȭʨU~\ E 7q/;`B=OTֿEhƖC,݋\lp }jIrcvlkfyI}dy` cr.yn]YEKkA*Ȏ\ҽlgNĻdDP:gKҼ{K{(ΨD$Ur]NR܌J;Ǟg !8<Ʀ5y SC'(4xt|&G)L+]]߲dug0 %JS^4┼J3H zeb 0ׁ[N@F?=7:/,afh*]{R:, ,%Ճy0"Xg֒1riAl9hgb1nQfО=8ٯ0XcK>]2'9_)]vy_3#]H#6c=,W'A^9}"Coe=` jAܐw6>0/T)iXc+(3z3>!47>\?ŎL tBΏ{j\kdګ=p4r'ݙ%xfMiL<3,M7딁Sl! jP'Gt1M 8 }xn-jޜŶV&L0X4 ~1ur.fACue@g!`t&1ǝT@ Gw40FI4{M};,Fdރ&l./ ;eY`LGK̭[/˷j~y]Z"R1?MzOqzXa@>7c:bg3Zx)E?ָ8/v#Y[ׁ0>Sڒ9ȇNh{>-+2`WOvI5iZP=٠LS <H?hy*Ig`3?!Ųw>|\Vᦻ ]һa0GNpILj@FFFfJ˫0C#yIB:%Ap>=nhM$[LF@i4t ܴBm`Go1yoZ1J8kZAՎs0hd֭ΖIQ|ȧEIwABl u9ii^aTgqdHv 鰼ur"P=DXDߺ+L~i.8Pik71hݣlH:حfȔ ť c vf"1z[Jf2}Z [r]><jz7fp8sVMs6$ӴH `6v/@W:MQ!Қv5}Ke `vzEkJ/bl~ }fh1NZ'.k6),epFżSFsǑwD&iTPS-+RBΑ͠SlX@/Ȁgi4f J˧p53sȽ!,Bf?eSP2Yd&rI  k;tH`rWP7s,#>x :N(Z=cuѡ< fn._Q|&TDXʴ;ӄ t3\%+zn+ƯR݇3,Ξ{X(O{#a={`57>}9Yj*'h'7G6@jľ{FjPUIPL@Z&L+b9ҵuGpZVkèF׉x偈rN / ]DgSћ>XR@i7n}(q T!\g]0 ]myϘ*GEU,$W+-wR0 Q j+6 [x`&ZMY A9(܃`a/`-F4냊f`JS`d9;3'䊏}d; H$JF5eV0"hRwXgzxP 7l<@ϵJIsﺑ*xChF0g Z\HҒ0R߇r~%t0 %O+ ~i% vw=NG,&+񻑑)"y[Bu>tR5m s8 ze WTG6$`j IPwﰬsh3 3&Ę ]zLA&)l"Ni-oȧB(t͛I v:-̕lbc+zћ@l-PC/7I0;q;f \S^Bؚ(P4N DXK+owC.,C@xZgk#޻M$]oƘJSӒhd>@ -^^Uck۬Mh c9VfN]8!/e,C0L')8@5R}&DjQ Q̖dOFX*Eȩ&}&ֱtAm|Wb㌱Bvt/EDϩI==J"? >+ۊviA P@;'L6 WتAđ<07h5ƾa`RA~s[Ӎ#"q:Ԕ[/\N+Gr"~7QJs@5w"eQb)||6?Vh$VpJM}E|?-V[T>æQ߇Tag:~V0WߔXL&F Gl٤#v!Ac0_tx9J/h.oCKj8|;Eń~5NP7p7uRzdXl~fş,ftҖkBdNAp`(fE_x$7geF41EOM#ChK ɋ=pCq8V"dXԴ=cV/aH7;Wjm/wNܟwvďREEUcD].5&RgN_^Y#b4ce"N΢Ba}e.I`wt3=U Ғ;Më%+:S5u5ӷwAYg<3/3{-SX*: `@z>&(\tTϠ7D2`1ю#8"2byV;fdѮĕ/l!{\)ggY^;k^*,^|DM9LJpKч3^Bt~_y%U޶8 pl+L"r -Up]?Y ]0"'[s#N*ovtן\>F-_폈Z*Ofk PMy暠PWmu߷FХݗ3?r--Y?;A ڊ!}͆O9%y8ZL< #oij(e :jʟ`͵bz"6EYulBg7AX³ꗇ]39rAlPl99wq_"+Ň9VJ={ >swwXS!Ǘ#JT7 + x-_*}١k1h҇@ԫ^yЉ>bY)E5Fb/z[X$@H4c*ts $Jy:G\|H 3 cƣK7|6S."PZwz5Wm~"5b4ӼgI9SsPR:uP껃`% jf5*پjN ԧb %*l_ͰC4CiOs/e+,a+A &.E\(.÷fj?2ԟ.AZvG< O34u?eY̵צ!ed) / ۽& g2:,vE4iu5 EB,wI66Cz6kb@.xy,Ժj^"Hn)lԅC@<صBLTY:Rz,U<:ru:!h"96p<tdu#R F R@i[Yr.}~>\Y̵2Zd f(#wQY;7'!01$K<z6vދM &&"sGZA`8]BiĈ$(ڛX݇9{3uqЇ'1rK"oᶃfz<湱?/# G/k6Xd(uF2G"Z=  {B7C}:nHo: +2'M.6z>&kɀTo|>Aꗍ9M>rX:+vr*k5(-.i\eF $^H77LLzо5}, 3\kUdSӁmv?BwQǐ%& `؊B=ٵ֦|[2)aI®E]C73p$Zj.OI_vlHڒBϽ6]"im?s 3Q[y!}ݢiX#3 gȘ= H MUbu2O+aN%TdXϝq mmjvF:Upt$t&$bDA~t(WKrvF86I?*VpXFOyT;)oܺeٻFź;c)Ưw4Zʭt}?[=G˶z9RX;:’6ɕ$xa23rûWRAS  "&]v=[@㱛A|G7H(3A'$8MD@h,/m^dsXJXx%)E*ԑp+㩀b nU2m?BCfoeL%ޚ#tэwP\=6Q2!k& 4RuM{?ְo^?@ߗJ?K ZmU0#>ϙ/fUnuDzwH4,u4v[QT.Z%;x}m ں9{# Qhu<`:MUHqg8 ȋ4bI 8RRx}S QūGEVN](xZ,ag9s)3衡5_ahTNgw?1h7 ᆔ (o*EGU;voJ:XXyNi',fo=87=~1 N`y,0D3ۺVssMs9TV]@pX[Wz܆%ko_ ,]ty6 q_ȡ|@*y8hOeKO7R/[^TCP}h"r\w~y>XOJq xI&n!znz47xKD9o,:"mt6b^b BϚf(6AOU\ 0D*wr:*{jk'+>avcȖIƮq~ ~- v >3!Pk[>*Hb H@\W 9t2+N82JJ5`Dk(!<"F$=t7'_˔Z 42 1K4Ȧ*x92q4$k)IN\ɩhf0OV⾑f> U&ēF yXu?\cj o.g]4¨91OaL0yA- *yp>*±%sh&jpa/K$iM zft҄t \`a% BמS]YC1 +-)`0+lmO2 =V]ub O1TU-vL|P~K !ςEm!섘Q2Sޠ$hT!k{IpUM#E_)L[D+[2"'&^9xokec/L/+,AOiO [DA ?(%t=v=:o y+A7gOH7FXV/X( Gr)(&ooTLz0`wt}z_fu?W9fڢK:II:입B z_i~mb3St,Cгo$QI9L)0<+#PĒ # ]_C?Vϳ#,.eg$[:^^ՅGѕq[HM<V* Wwqי J&\۝ Cu4(|:~mapTv`-5<܍c" z0(-l}cr |wp罜PA~7Pk,vs% xoH`k|Ԧ݄o_f,E{";SYSϣP&&Ӗnu[4VE9f}j+?ąn7J6ȩ겆H( /t:bK¬kKEiK93ݮ-0@4K0zDןtJXvvj$'O <!Lz@Cg<Hur N9;#KO" ۋ$myOSHěޣbf J#{ ZX~z(T5r C(g%]dK'bv(Md"I:3TgSȰ1mٽ1f9ˀ+=Y ܯoRj#؞ Ϧ2_#wJRvc{ܑK~}"rf]9faŤKn15zeLRe݋fo(. 0+0ƅ?i%ݱ*Z !ih޼g;c{GoC5rRk@UPiѐ6͐.Jk8/*X d:}TGzhUKІyXYM"f4P S?q4%L6ӂ6Ri_:-g>$?ҫ,3axoĀK/)  E)+SIG[F<DF'4Y㴣w?S$5*y%x NޓqPv˺W UYYPܸ$=4yB"ʥ T@bxc`{թ& ~%~{$hLfwain'Lyz+ V?/fA)x7Cv:ڬ=)>'/0_L֌mH0OYTK }"ɈS3#>ڣ ezcN"Gdr# d>;/k\Szߛ8!ݤ/V6 W[=x 跃84uiƌM4{ԄpCW 5g6#;Vh9qlWTxx/fha-vl.d$m $GN /"jb%!Q>|؟יS]t?(@4?I Bm.ޠDay[sG?ANB{f5 ΫL#fKvCwUUEƯQ,L;m-ď#rP33H9pk]pvج5F CFta_CѵЭ7*QK ڠzUtxT'AQ Wo$r9u+єRPyNW@a+eY 5;ky*->Th񖚻m22#`{0at[#n:|gB󮪣ǾĴSۙav; ?ɤHNJ.arjEpSeOV]X>Gy@7:֐^iÞ>Р@CoQל@ƷA#a5Ү 7*<:~.f$GY Q 'd ;x 5%Qצ_`^`-HDdjou]& eG9RW;ƀLL(%t3I?"Hl%G2qohn)Y^8}1CG;5T-nT=a c{D9:&ĺ݀P׿g:\t!N%Q5"5O{3O*+wx3{T!z!x%5k0ޙ+a|T!9g?*@}%%c6)4kM4m%k#;+`ȃ!A߃>M(etn#5iҾW&I9"U3toa{H^,Ɔk/=CaJ@dfŖ+ĩbni\ ۲[Z;>@cdmWYȇ!)Π=rN=PhoO1$U){}0 e([Zy){U}AӅKD.n=rk ڂ5-W8O_;XN |D}Gӳ h&x'iIn!g<'*eAh~==)Hs uԢX .D8B x7smeL״Γ6D'̹P)b,A/>z=Կwv# T";w:Q?gU 6aN3ڪas(M˲Iqd덳r3UaB5jDT~=)Pٸ4[`S q3H3hO3QUPW\ɡ6!b2۴(2wp.%!թd+0cIKWA86g$b!BFg曘{1SRXܫ .w[ED̜M#9u^F~r<+RnJ?<5[Iau $`'?K/;Q'8F?9t6 ;yqR|cԑElKJ6y=3PMcx@Tpo$%"DQP$V=Q44C(^|&`MFݑKZ~ MIF^S:ݵ\2nav1Cd~Wu`Xw>%E{!m.MI"ϏӝN>H5#:hsv? yU;'n^a5AXu%tp9d4jk_[<{zr#$Ƞ$xy8؜P`nOcoi~}iINnKyi(7㉅DwF=l II# +.E`RȍHN oP$b5hNR“)mڰOC;K")iC~.j";r+mxrYLM@1VRQY 6o2"wmb|jp &fC Ӷ2 ]6=^u&O S㑣l?>Uzx~A5:;4P}-]s Fԕ]gR`l5glM# gC m+J{/G@/By#񈿓=CL6W[^וrʒ=ŢM@AkSzC#T$_Qۡ9N1dtґϬLwL[Jd}}mՋ6j+d1\;} Iy mAfeX34aUDPOX+ø_ .q SX1yj^ TJ"w:4 XGLwh<1B(ʴܾ][+Zs9+,O0 Z>kLdza͂㻍rJEpv#SP% oi]y3[A }08¸1ZR|$M!8mX>l cGk [Sdg~50:ŠrZroSfգ-)ou=&\{w֟A|}Er~QIr[`LtAmW7'M?bqӝ:K)DG9YVjnR5d=ENv拉u tAbZ%ᨂ[Q6@ksf!Jl{\b?KZ k žMD%,^s$||P:x1".An K10jI7o(*#Țbt -#d,=f;+lI+uq A~ge[M`mTX9e؄õ{ה,!4.cYfw܍iy)"JƀzlGZJ K(.ߖ.0e6.mw,;HQ@u> .g$ rV2V8h%-d|L[m%[UNug*_OgfQwdARIyׁCtdu/f!kCud &\4+ogֳGَvӝk^R^McgnVqHk)V E/fMF;m| "?,>j :L4b+cHBꈯƮW+gf `](}jFE&43дm3l4kEq:" )lN-z(*.6Yi_R^9Zpd/\f'd9Se `1jԟFń2*m"(,ŖaBoK_3GrBoԮr[T&(ځgQK$ *nisKnf%dkߎyjMu.g}&=;`:F_"hrg𯀞stFa4Jߖm$}W~lc{DSOޗc38!n \*q=0|0-FS̼, nA#i׽X՟&f5%5Cҵ59 eJXBW&ZU4՞]1 T/w ZͶTDN!|OE;LPp(5jIEqL|e#%-[]5fug x)S> -[9v2#6Ė#lZG{_%r9q0R|@bg_}0Erh& FS`J2K=!@]'HꞰ*\o 1fSL yZl׷J!M:'XM"K (ͥWDM?ľ8WsF[?=$ʕ$i"N{P^Vzէ(6h?)brX/sIG;Z5WkU@NRu bwдz P })TLh]f_ƚw3{٫C {CpzBmėPɶ#WމQ0 h(Lz'& ~M?KF =NiVy([{R3͔%~Rßb-Ί .,ɖs+e(M@5ϖA[ ;ذXN4("^# MP@ۏ1hUUx]60=7 Y(Փ.wrUz&SK˄,d,0DRNAYxRveځVDDJxI~fj"ݫҁ]6f2 gGƪNjj:I u ҥD# G^'"ݳM<ލ&7xsK4Z S:ӿ-ְ#fnoI"cڠHYnٳ;&`FGmb4M,gH\V16(H,>!Xgv6zzty eIb!r/!wz:.g-ceBF_t6`AcPNя|Q?ۅ(vu2 * L2fJ@iY19O~*1k\_/jUH6,i0L |tRA{*/"^w;(_P/WhPl%;A<30xD+& ?Jxq8@n M67R^_SBluwh,J N~|2ND>Meb8ep_A`G#g.1WT{S3aPyC] ҫ/4{ ,#'ufn[_IRAɫao$l<™E Jm9"Oj%Untn vr/~ij(th[)*o$)eU%##L X5@phuXJuaNAXTnEPSV/iŇwEta| Sj;kINMMM)rF^s?3Ԟ 8 ?1 KM0I;b~ZQGe$`1zT}–O98g F(qaPYf0?!$iyg^4`HA'|5O}/_3pU܈13b/q e h#wxἏTs^ػ8"#U#3c&gj3* _v Heʧ%>>z:êkfo`PP3V!/h-ތagoʪ<?+ Y&hD -}uu榇6aQmEַFxb5kԬ9F.I([E>P4MR[b3ZM@2b*ܳM Y] OڔRerlkյk5ѮA p;۩ꗿ̷IHuYpTf*Jyc H4Ox/CؚQF?Te10&c>4}'ʣ HP#7|K71 ʚ_1i9Rz +vL Ssd^sy$\j,#aE:&R!9˴PdCh&ibYLMqvчe8C*(u˚u3hFz6Vcb $H Ŝwib2" hI Ϧ#`&_"EVD& n*a2=( ORS?6N|DEOfl ?SҤ!.bk$-3/sR#= )3UN: Yh o Ez#HaРphpC *^9n0!1D٨>;NaF7#nȲ'h댋,y:QMޚ"ݿN1+QEYISOUfF*[2xZoŧwErD\B.Nl_`e3XtW.5'xAba=|s轐RQ'q"Cଓ%ƥCUL)(:lcnsu|?GB97/w3+c,b=̼f#u !: $Β޾me9u0bݗ]cR:UwiHb|iub0<۲+XɛaT8s-ꝺ1j@~\/3licBe/cRr(YE?x; ='冫(q ~9 S~՝+ӟX RNqTQ%l }vx.1*183\Q !uB2wHXy9*=Bj{8xtuez1{'K٫fXR#b1c;S'b h i?-1pEVV"v|XwZ_P@pʼBM|9,/ -iPBXaa薈$ࣈ}.\2!=~Lhhܽ1V!7F[FsQ,>sxp9붤\2&PQQsD4T/C(3a#Yol94/4llW\BO~\n"V |;i5X8 r;)4ź+08SF,q@ zRl_*7>;مrAoT +q"OEsIɡs8:"EurO7 y,G;2V-sR T¤0ҽzٌXID6!2M1~,ŧgYXC6:*rkPh6d˘~biWxmF P LF TMuD/> wG&:k%kN $/SO@i*←\E  4KWS~gzn:CRª'lQ02x_,;)Y\iʋchڴT]Zo~,Aoe{*kgbs𖦲Pj. Z|((`ZǬ~F^+QosZg Ɠn'ήn FG)bI8ȥnnPu3B`!mָAfM F6Q`!?5/0ZpmT* 7kYHLEs%Ŀ U{WVW0|"g?c!BLǭ#(is7cR_ǃ`[L. ^aclÁcZΠzZQyaqrռK:VjNK\΍mÓ1co~NRRꆮ[~1Ȫ彚x l?ԁeQB$^F$}" TC$ 0潌i# ˁ)y$yyHB!v P@R!g{ݠÛW@Oz6H,%w-/-}ZiFo׸CKVzE-)φg:~Щ+լDX*Fwj9 awͣ*9 r6bcodbCbRv؍lġ̔~&X4ِa:NJ"һ> K/vqѯI2fίWGm)-9{v)Qߒg\,bbROB+܀&`o!#|*Y'ó^^ZɇD3UMT bL.٠ď~DMqX᏶qnAG9Lz_3atN1 ! 7ʘ*aK<+LF/>逍&ۡ2t64e]NVo=lSoZ@j)ujk&Z HZTdabdjP_ysK\ļXx!?L VPcxܺ6&V̪"%z6/6q ަ-c 0Fw~Q[$)b{0j ;`MU {1;BțbBx CۺNF&Z$ BE׌16̇nJBW lk07.B% c nVye > KHx%u?hgv5oV4crT,euހzqV /-UF4abUJ1;jԼXtv"D`s=jGCRP΍H愝9zG)3Ry"&U5SVe:8oYt֏Q #0̽;dM>ȳ&MB,HpLz$J~ÿj4;=7cPJh^k0$:l:x0dDS(:w/e"Wra?-e[I(f%'mlQNMwЇ~QZcT&wÄ^V4VeP: {9ý3[{+qAӳ 尚%2h x0K\@[OF}5ea(ʷ Jrx?ZfH ] , )"snW/w2 ;'eeMA>3[rҫSVWt ҹ0ۿE\si2κ?ʄkXA}X0eƳS{l7Τ$H}:#Q#EqLP7sI#ܕf0Tf/1p-d>֓_E2??8~4 5GAr2KMR/XN0xj1bV ݗ"@c̴k-肗vcߺV6])Ɇ 5 .%!"riӗyV=Ageo:TaUNtDr<59z%HizB!ٴ]dCGBI@#HiR #c5`BLV%MPK;琦fв=a0X+Izw6r/O;Y:TGt1mN N%5t,{AF^;`V»kMbim[|k{QL;M6PfwR ę¼|p\m(7ӿK"HfWM⁂O|mdM8ja?͚ BP⪂L>p'?Oo\~fw'2@Q$nsP|-!6F*A| 61BZ퉲mJ⟣{ǸRyA;ZqvZH!BZCU!/naâRBUF%r~dV0y@exjoA߉me<p:=c =y`Z&W?0TxmN%FƕvIFCgTGC{*gumV2t_뛒;99 v׾[u.Sz|> D_ yx߆>'ᒕ@Z]rU_n`GSpds·ϮQ%meO C+aR7c->4Ȑ)3g&P _:=q*J?F o; ok[}竵؎۪3X}'bN1K<;R`9/qf f0}- I8Vf3MLebc-S>0  *(}:Cc1;3$Rr4Ĝ0vqR1ԯDjMGsꁛ,lIU;Š|4_oNoR}H y $Y%u𔵌Z(t;|zroa"z$S0i2܅k*JvсO}>S7W7IE6~=<>Ls_XQd =iǞqQ"[-匜{&?dάpnD|M+E!B艋3*AjZWڢ w+^zݗ̀#>@N9aЎ Svu*>d6IGlq(v]=z6HxTHpcnrW՞ъHO=uLq% #;E~ q)BcAA3OD2 ǕSr) P0+61|{+^t%h¶8~fQN$cKR"MiU?z.x'hPV`ۖ&y<,:h#u5T2YS喩^-/f]i>gic^n{XԆE/rLbb ;S9#5F| 17 T/7`l&p{\BI@@cU @>&> 6o*+ʼn0)^tͫ 6mN >~Z"g|}$wu)BgJ`{HIJ+io,L.S9\h X{OJaO(G^;sW7 b$c#kmEQ"v @pe`5ҫe~Z,7d*NJe=U!f;e OL!nɵGw}MCfO.AJ۽{.RѤHHrɛ,o;L.Od[T-EJl=uDB5ߢpzc[ɒ{WL."΀8JiDf~d?‘c "!x"ÀItPfoU}k~6b xyW*AOH>y<  mU6EZm΄qDKsY\-Lnf ?6ٴFݞAɹ)%`{1vVky< JJbqdv.5V;$vzqZL]aXP~^i?ww xi=cЗ<KcL6ݷ<8lRUdX 16*)2J,R7d`>`!~)&aЕNү o~|ԀGfƖ TbyMKH'hjO?Ɠp6u?Q1?x5)"g>FZCJ qEF0@ pbq)-XVyɡ8XY"^!m҃VPP)QX=^Pba/zUEo\ #mH2ӐqLHGTV;&p2t 8ލQ 'e=$|x.6cCɐfOnMTgm#,?c>q\$[}EdcC{qf-8pB@ZAk@h%wYOwZ<S^P[iO`sӗ]Dd:"Y "hH+ DK h@"s Q `{³d!0i7ƙUm;~"scp5K2h׮Qw{ ۦNM@8,%Z/4L2n7ݸ* U"SsqBblJ^Vk'rKW̏byN:M_?%ěߍ2+,/+HǡLC -ش,ldu|ژizU0c`(AjgVr8y^5̙2H1WL+W򃑤 Մ~taD[xOeA;GzzSE@Ҽv(-}pڽr v˧H'0+~ Kͫt_c0$\ 7Jᐥٛ׉N^(j.\wCƢ \8FCsסi Hij"|R52dl!t >Pw,svu>ҳF[̔Ҹ NM~O f-n?  bwlZƯPNf+A~_2!SQWd/ KǠj* \;gE؝q)&Y.GB6Osd\H״Ids6Zzl=Ji~W<X%V]v%Ekr3od .!O] 9^U &V\o)BspksꂌjS҅!aÐm);f)+]v]5vT918[ɄnO &_ +zd"|y$#{5Q9W +a"װ8\cn6V1['|D dt@gEp~D5xIqK^B£~/2WСm_ GT@_8\e0f*HXG{upB hdW?`ҩ$yA/x\',Z#.SRQ"',&^Rx_e9tL9\=]͗ e!мWB$: pvaz*ZXq*ªw'ÆAipJ{36sE^t8P2efWBFHj-`WB%SP$|&9;Fid`/F+iE[~ctk__VQ'ճ28`Up%Ic1V< ?$ǂ&}\Si:C17|NT5n=wKӑpX$$_w$5Yc+_~xH8"ᅼTpZE7RC@F?5 ^@n_|p\FB}Ifp*ɤ:Xqo"r> tx&kR0T]#rY#ί͏j6:-yc+3(u ]BZ"x>eA@.ԓ@y"1[kSb:vy#>s}c7^+M2Wiy˫O&Oo<˓.MQp #Àܽ2b=*տ*}g͊gY>>xKT9|73lTߟ."lx]l!_FW9w_z?dZ6JUlxdRYcrzCnvf4Ʋ A^E#eFa8ҷ <>~vֳ'P\jЃ&-gf\:u}qq|.dg׋,>)P.^EoU`y53VEI hibY#p"kQv&_ { R-uy%Q2ܸՄCCKČ/.SY0oŲ8(i՜ >;g^?.zF^ځ'grAk6^H1A) *281rI)w>/7=3\.pէE-9TYg%b.!ͦY~ ra9bBM ; YSM(惂yFԞ؁ ߇[oQ-&wE9b U$~[{fqs)eic/` ]x>zjΑW!k1!}[b ߨf(=a^M 7UDxR/7<"Awbn &nJ {,6-swj@'@l,U|JH8~c:>5gR|#%@Z+ +,ӋN܉%we0)C %_?T)˭##%;0E\NJ:~>Ø>̔O nyK5>3E +mk}fjټh{SIa֥ sAȇ˰g֡ 4·t)qV)J+)ȝE{>wĖt D:IaEwʜNɊ[5R7,yWP7~di/0S?sx^s OL[mya} #@WwhXp/ސ楮: *Htס@{xm`K?{&~'vbOxMv~g!Ecj||a`055]*| w`dl@&ZR?WȀHW8ܖliU@DР_E5-!gh7x+ 7c4/YF3g[)cqy6~s0%^kK#*7Xgm/J}[ﰕ3E`2"lo@g^4EM䐽FeaTbBѸ%'UxC& ]Ḉ z5,ooɼpdV9aN 00T̷}Cb]JQ74/ufI@7^ o8+oM5'O?S)m-%rvW"12WĔXԏ_,xC ^Fjgz}Ů!k9*4OJ ŨAEe>7١mfiG=O@׬2b \= U~Ώth\_#n,<^qA9q 80]FxOy3ٱ0&K,DH7bN<,:':Zv 5k)2En&PNdwo27~[N96$hEn?6z'y[=`$>s# wZY:C*f}`7vV,0>eFw-NR Dž&0'/K`y`ʣWװiEh. lMZT()j^taedI v 8:OڷsmikW$))pmDM#jz> VQxNH#g-'hIN+_V,ЩC"V=4rV <g&,(oّ,ʤ] wdWuxG[`B(O u^+,(Ex ^rg0dko /FQfo3~d;1}/ dC1'PB P2Ky$Q&.@`iGr mv+,N4:v Ώϧؒ[޸z 6Btntt \ۄxnNl9+?)|*Ow‚gS ~Or%;q%{.}V {y&~O:GOӸa‡c hliI)ݣ$~(]lp*}蝞1m ?+_'AV\1sU>9!0,t}UUgjXcn{:hq%H?]*skҹej&suD&7{{vɯ9ܘܔD~$?D+sPF& tyӪT|‘b5qh%%wxT*NC#l=wgѡ#ف8ho{u˥~c4v(QBOtMȼdX,Z wcSdXaEs]s>Wf )֑,c1'~Ue+ZލMS ;9d իsٟ9c rP Yo,Ggw Oү,Îk䙯>bسKGFو)zMѴF϶ء;}-OŸx}nppfa8ET{L )=&P;@B dػr&i.ż . DO|x}7s7bP׾Sxݠ#'UWsezɇt`p,Bm\#fί1TZϚ(7>*Qi4XT&Lre,"ĩeчx_"j-/0gM .W1QbU> |L.Cɯ$B>'"%>yLotjZBeȏBg%)<Ǜ yGj-` v';2,i< e2M9:R_O z#^mj̦®uGE49IfUIb(a /wH@t~厎oU@Z$%ܦ;$uL+iycc%ު,nm^H»lm#@[ޯK3wy9Z._Tґ;RuEp! aBu=!pqW@5s%MהQ#>8e'mɱϜ##St/9骹^]G<P5WఉDԝ cXF72g~)2+S)}d_hVU9wlb}/N6dP6){Q"F`.y!!]hI:б]rttMI)-,Q߼ӺS T-trV o} wq:'g `s25J + @ ٥dc FO>]]iYf k#Ө/eېeK5߲/08"ݜ`+(b2SjK2PYb%SѶ-%}rF'?^>dFVM Ǭ3ȠyZ\YOY?j~[mq<ϐ&r9p]n;8Y Y6 ^ \;ֹgg9oyIR 1Axqb"M2:O X,Xq?F O.pIR{iIx/,6bh]Czdv)egᑷ݄3""su=@ZVuzWU'@LIFbQ*T%GHAaSQk2Q~\,d?)xZNo;{{)7Vw:g~)s a/+mF- 76hI<g *߱>aa&\W !gY'RW! VN ypQ-%m,*HUqTyY E*5& R>?NZ>[L8k&Þ*iR1wi+y`K=Qk1*ӌk.) roE[ Q'_̼s@ٙ/!gkz/MSWyBbYmpb!`ϟ<И6t'SNtί8?wLBMYP}L|J8rY1KGіs|j#7M.凎j4:-e|~2ŖINxDr+E$^vy/A{7b@9?|ӑ`P|Isй#3w}÷z/DZfN=M^qq'N]g aؗ$J@5Ս=M&w(ڤx'Ri.߹~J 6Ԡ)̯ xseV8*hڇF󡉯SCw c2aI9r0Mgcr3ӻ#0]i 9AVohmFp͆&5r$u% > LJO9T%8 AD:bޑŌ+QOt,<Z 3Wb;_=\ @v'+ş)pʆ^'ή}˨C98yPefT@$ci3}L3|glwv4{݄B2PEܴ:;.b@ՍL4֞ (1Ԃ+VSM_SH&ӧAHdі^; `=˥^a"oq/+^b0J4 LV,=ߕtG~t v;bGmJg** r2p1jsDWq8Ց MO픩Æ@=[e!`gv:x]C=Emזp<&􇭼R'^\A^xlsk^OEip f#ufj> c~'\\xK)G쏍 /G"ى܎{7Q?pb& Gp0CbYjX6W*ΟPz7.ø%!o6qO@ڣK(nkL@:Q9f*13<nRr9*0OJ v͋q N _pU?3JR ?T}Q@4b]=_:ϻކ@YŸJna;Wǐ=22qG"T}8"_; wZ6$ ZoqPĘw74{YJ)n6t,X3K|3/+x"4tË^<Wt48k|Ց{פK[|mc*Ɋ &)>lPA'd#\YnJU86O"SPu q/oSFS"ci uAy$@d56M +icl~|쥷ǦU׌.b7yrS1-΢õmWG&;(KU Ftf_1Q=ƀ!Dy`ҝ]%bzKq*[}DS̔(dbg_}qfY[%{ҟHvXߎ*ST[jar+Ch?譜OR$gQ/(lao䶡]%ܔ8()59ƽ{(w8nLzU- AaG ~H)L Wh:|(p ?aI+y  \UJ~!fS㢨T!_VC\G̓7f^/'[u+ҁ3.:"zraj(ӺjwV|>t.ӻg~>vĻ!%߿궂H<5Bgt&68 yu QbDf]xV"z?}4s0xchj-R wYx)X#9$F5ǿeQwjYctf0Pw͎C9)RpMY)#43~#l"3v&چ 3U*U==Zz 8y\nٴϓNH]_ae$B%W9`Q޽x}q0Gj=sG =KZ' QyP!J8}vo> $q̼ >f:ŷnՖe3]6Fow JA<{DY6pVXUڗ'ƀ"\SdWg86~󛎪OL \}{'#\@ kO@`p L%/?QŴ/2ĉMsjT9k{3LP  ,~IUۊڠC`Y&w!>f_ \<ڄriȔɩV(K(缛tcxURcY)`SYUSiyt1 3i!yf;b" 8# >]]\r4FPgxi>mI \` c\T6Q}+V{]g"*3 3;s*os< Y1ay4HXf |1Cb*ճn;ne 4%%|O%k񊿹[[k`VzgUc<>|.JLyBo$}XLh$%Us=+kŞL{MR5jba1TO$twP:`qCPz?OA&r${y[_⛌U]n-VýаqM6Kh} ,_󮣯,g % eD4 AIPłyhp`a4[M=T׋g\ Nrg ;l18qܳNNw<)Π% g@1A#kTX0y^P̜n,K|uyD/vhB$\̸`̥4໌~Pcoa֟%ЃNo`b-Ė=Tk6ncNلˆh26^=gLFW9(vAiʷ!eǂ͌W%Ad!\U{q׻˸-Q z3çv=#s)N.879EWGeuvG /LqYlԻنt8v*JlL#ĺrӹƻT^~X?A0m;T,iZ-Dt(b48_CvPdi@ʟ^f)#>}tn+Na/zX -A2NkvYD+_uXgӕntiAUGdX }*lӕၳ8h};P#ŋ}WPe m[񇣪NdoCC:ql&,@aM:s` [qOA@(:aG*i֟MT^qIV'>N6ϧ!nݼbh~Bp U xc/e6+$TɸH2 \, ˺43H((Y%USJ(H9 ո0~"(熦Rď?5W+T/iˠ` g} g^.]YXj'cH%|-Z_f-ImOy(җ;#t%z,4ؒ 2Cop9GJx \&J3e%C9 <#gdQpdS_)"12.*#IhᓇN%>0 ꭤ|8 ͎TaB$4n gV) ʊ9\~vq{rF>sQHEEmf.aM5岜 Q2 i%O"c4EV*}0Wӭbۇ 'o+XPO} s u~t{*u)aoD8+<{ƁM9C^" 1lΔז~n MUx`|ed=DO5k~>*Z]'62k_On/fbBJ%>寊+9 B]sTPU,>OrCK#Ą_$jhжGΞ|Җ/i,szPDsC֔H|غ;g"0lH&!Z Kt]и債*NQ>z^*`ˡ,hQ2s\L1 OONh;.1F:5 6[to{ 8MÐ'EuYu >mĴdpUS|/:*tUh jO(ksiD9qyJ9]qȞz:Od:>HLI#׷2PUsEqiˤ %nnHbW9O.GIhD89>Pk ͇kXGO!vѪ HHQnӛ.S0WidBf Q9)]R&MsY1-U"[Ic̶FOXy+]-!tLoF{N 皟 Nﺀcg㦭x$Q٤hD`|Y-"ӆfypurwPRG ÷\)>7pݕ `) XVʸٴFW P?tL*MTdy.|0LDNT1o?*j)M+ -LNūɍ)4//:wא5Y PeA0.kت,'&GaooxF7?Bf"9~ pp_o7ejh m=Q:WÑA%W3{>騧 cZ&xJrxc/vm UC4OV i:tOe~HRCߦ &LѰwT+1;QV/N0ngTEi9A wz*fVէ]P̃1e`#! yv<[M ps&+2r-wd`Nz!ze]bhtA[hGJ,GԯT |d؆P:F>#`[qC'a3apHێVԳ~뇆YOs9sO#No3ԿeP6D!RNCB$5tTմ@1>67ضW5T G6O#.cݼlaj5A*>; ob~I>-(lPc]#EGw(jek}ۺ)CLj)Zw]Fs ;dr?OBkk X')g}tfZij5_R۱W6˼f4JL茻zedN.-,/;o!1l2Օz{#dQǰK7d΂%_ 8.Jk_Mxݭ=1!@;Ebv;'i*âI1{2 ؿ$P_̄Qc̃6^tm9k@|+pE(o&M{Ha>"e֖.ǗnXŃ:qWXb Vg$<M!a S[?#Qtdm1!QyĶXjq(?o|c@dPu1~K^b<#2]ம#őnޯB3xݾm8eL0VdQ7g6O:Ƞ't-wGxU~!YQ* ZhivpD>;7 j4VG74?Ǔaq`^+LqBJ]|ӠxiL;!6r1mX-s|=MdchytVjbXz7\q9 ZB^ؗAиo?$9R>f,~(`T~]WGYF0?;gfj3ʣB$uqPD'0;E4.x멘3W}ٽKD8h UPYSL&7–K~4QTt<0lΉ_tt]O$'{v/mA1])WLeZg'mTnCd7!I 0-9sXV~t9Cȣ$2GdaQb3gNq@6#6qT{K[%H=~0iuc[v) (nɲ}-ϷLVŔGBR>jAWq,xjT_J5j ؖU!Re3@_&ݯB[zxC؊"c3S] L6.*ƛ+%a =X۰틤Zka  iƊmbԜ_ !>z~> ~dv%z X1@D!h$Az2Ekz m@(\VMɔ*b։`84q=>%2!5=_093q]pL%Y, imVu'#%̽YLnC(e, b 1s˿[n{뀕EP?%ҳJ=ړ'Iz<މF[7/`^8LxZ!7 *ZǠ#o{Im\RlUjPx\s1 Fs1soayeECdC1WYZwSJl@ị'o) O\!uǾSK%l:6ߔ,L s{%0~m(Lp3Qʣ{9*.bLA>vsB^YlۙR%vr!%Ƭ2чcv%d/ 鿇;dOr?ct8zo2KW>$Do2} Żǩ&݆jFrs8!JNcGw*0F)r.253w ) c͑~.|@#˳,ѕUc8\8b9<^OX?g XɅ25WHZ;%9\=xv_!ӹnyht%.29*g`CRDP ځ)ۚP *پڽrys5NRcxtsɅv[y.^ܾ낳W @QI, :;-|9}y,8yv {۵ZoI{r+BM>l e+yaFXH lP|>@`m>l!+M9c>`gt-ƈ z)΂8pc,q$'kuXLvX]C5 M^ {MV}`Uu ZBXn!ie. 'ۀz%d염M*rb˨!W~^~,Z/ 9'3:6uI!B"57o˷]M_+|b`I;7{6@d.J[C^W̌ *o0[3~ҥ/zaΉ*)9!n1?-׹IFt]ykm]`=|D⤛@w*qA0fV65i}I1b< '4{:šafAN[II)TJ@*`1wQl |XZ"n^I7 y8bנO_!}"xg!*?荐㠥Bq!_5rq p8ug$<.i?m8jU?Gtx m8jmTSn`宁H`bbV#xPOE{{E1X ƾAt?L3]/=rs>"EU=6\qn.ߎQO^?OD$LkF܉T{K([w9=5Pyq׵"E}5&#s%EThytbFAO6(Xj]9a8l|qw`zfAǝz1C0>lSgkE3p[jfny!LàZ@Phv[V*yHpbT7=$jï8L5V&F7sN'uyh9:WEd ~8?|`뇢 "03;HE^*=n|۽%齽1b%D%(a2fgm6/>:]Ȑ]iFi|:8`+CBd[T=;}yc~r1rħ)r*Ү4GS'vcP/6 CL.Dg5~y+ǠX}r"v|*RD]1%m-BDOةQыv?* hH6%K^M [R[\L!=MFH{<7U56@O\*SC݆>TC#+Βeaċ ˷R/ O aD9"2 F/L _TNuO9j^$(9Y hFgX1K2ij3pQpѼlkjnDx`"G ŭbm/3FIn!_!XbmI]#A%bzUP͐ W{U `*1wk/pS"Awb2[E#- ?(VgnO9/Bc 9xLR!МPP)KqH` Ma"~ÖW8Z]2n~p>>K sEGӲGM)j3uͨ0 .Qt S~_{sŬZ߼L@  )=c(|C+pC]qB2Ǻ`ָ| Ԉ +=wX;osa& KaA(cxu{+*W`yp8qB,>V]?&sspo}ce'V%rBBY= DMs$q.wF Ƥ w/_C! Ced1el^7KК/l#J(X,UrP-^!;?Iux)PQ)ߤC|[(x(䇿juo%3jvWT DQsJTQΒV~T(9rξA9ñe)֥t qu&ޑ-b eɠ[霂bY܃vPBLK$=u4rE.md*Q-^MdJ  $l 7+ϛ0Jui2w{+o6 > 5/!2UF|-9?f?j$/WIȠI=-jz5un˭/KQ;X"M,*܁ݴEYf{(Hv)Qӌh]W#L9R$T)J>-@9H.--&l%{QtGW\"V(yH8qƹRr2 GS#>5Epl KgzmxwqO`R><#`bCXE_]S#yʚx>?u- L8gxip{1Q]Nzy=PuM^1 "Y([CHz@O~@ť( NZ9BKOtpHG VJ`潣$o ގ/i;D{,&I$;[!{T" MuE$h"ĉ {U2ٷ yqَ̧;~,H LEU\@0drQYt~3/Ʉ7Rq ao05ۡt5C[do܎s*9hzPmT4/@loyOܮWlR+Ugk~< {,Z=pRv.w^;|3nƅl=X 0D3sE2&:=KXKN;M2)[hEw@4h!i"J)$Ң*Ɍ;j&E!gdcNx$l5Y9n>?3=mViZ'@^-a4.f9nOv]gPrfHyc{D^L(GFX;C@7#C'PB9)G4p <ĵHy `]4=2EJJelWhܿr.w$wx5^ k2:Y߱A:6 KCXA<͒=Z D^¤GR437-dgC+fl6eciMrs1o+7 leʉ8su\\RkryVfLL}/QU+ŽS dZ-{U!bBTUXaޙJL6 @96fNQ>E]2[YbsI͋)Ng rL(\(I#h嗙R`q"htĞAU$&Ʈ}eQɜlEV v2 j&Sc:ݟP k<"GJ2^CAl,OUP|^ ƫS֎e~Ky )d}sn*⏍cGtÚ :@A-!ra|՝%AǜYf(8;D\B ͦPs|/(\SȘxڼnl!7'?U9Ϛk[Vkidu$ԧ=MHSLVwձUQ:'d z)&ASu!UHb0of,ExՄ-O_,T#c+qml族C%Y;W/ 2vn;UwpaVN ]}6#QaO3φ>2pmAL371#N'Uwf$$'f08 A4%VO&UR ^ uMG+W+*K*Yʀ/g$yֳ`ٛR+L98tmv&EFX $SA /iC >IyuktSh 0(8E,72(. ]Eiu+ ˼#ƹXƔ8ՄQ QFLXs땵 QG2;J KgtJ9R\ĺ=rܜ a!oһ_B.ƕW #tǧnzuL,6e%'6*rJBym 3 ƀPe9a2 O8c, 'Ug%XR-N|!9 Z8ЫBT73}eOBӐRQ*H7^p08\i_R3mfEL _Jz8zLL0`Hv8N#@rLx?dP+-x>?3&bznYSXMo% PſD->ܡ=AfsRTj,P4 ZiS⦦ @{̠׹ %?[m2XA3B]c'JEPBcNbfuY߬\gol+c05k-~Ԁm9oe]”Ddp+Y VֽHPu/y43@~Yi~m i-BAZ+F ǧ3GBOk9qAM&FJs l:.aЫ-+ V+EƆ 4^A'rQUhTm+͘(42i4-$iJ%3&Qqf |ibnz3 g^dgQ18 7Uh~̌#pwq̹X k< $mwj"HRɍ<&щ)|,҇bl>q|(Q; tL8b2JKjw횣CAY;Bd-~ՎgŊiPg4+g`G5Hcޏ/nlna ; G 6yyp)l:;PR=œ;3)Zd CBg` _W$(CQ3̧ES;ʹ (JBirloF8QXYPv(9F釅ܵ;@S,h* JovL؉-D G =LϡZr&et쀜ʕnWb c g?_a*%~iijwq/8nSC 1xȭ bD'4,U'Mf|Z/̉e0|_ܚu Skz[3_$ޖj;1e<#0R.jQvnN]RlNsqjeqK ؍`%v|j9aeiJ@(o)u\<P(t4zCO/e֗GS:{*P-@X2e, R RXuaV|.kqGr\YGIBfQ8$TNRĽW/-nn3\IUV3@DT~߾8l9ʷhH݆{gb -9Hx@DQ} ֝U ~O&X[Qk=MJaelVJR7H-.g+!a2BoYXO!/fzԕ v d te+^Y#/j[yuMdծۅ#/K G[\֎pQ!" J"SPAPV/m磄$i?[ESH:P糩b 04[NÅW"Z2D^ `J6ntAU ˌcdssvͳ1M,~n'iPM7@nh}Cmg%L'4 ͬ bCwr"1/'K\= g`UyzGzH:'Z @A隒e$~hNR5, t<=)W=>(**Ux} ծrJ#gՓp˝v(8gY(^TOT1MX} -{txH&OiL N"2Ñ3ía9rnӽWv[YQ%YmZ` m-f k`{+EYvt"|,7e[v>ň{CxnYmU oXi&2$@mǛܟLC/^swqs~[F8p|FXITV̋N1sQ!p\FEѧxbjWԋBsq k)*~K8h C*ʓ<ڕ,CVC$/ɕ (3Iᅨ/`N$5cRr[dr!3Ek>I> ((ϋvME֢YYZ= GLFމtJ>]nU9? WtsK9⮓K?*&搆g{+8[MWoCď\mٮaXp5G޸|ejjn/>h΢bH\LCw|}3Fb띧:%-l0];hi'"C]E PZ]wMVG /6}sQ`:-v!;s />W&0/.8W)/6WYZԏa홖gU)IvJulr,):c[,?{ ^KN:(QdAf/mb_KtEVی 5,tKp'-X_f&X"L'%BhIrG( E3M;s,^d^Jl&Uq]]cp'$-6(![@z"Y# z{^;ܝ>O-Tɝ 4аt{+Ѽ|J@6wBLfO^c`&Snp(,#A_Rc Ε-LKcn%8oVcb%õC̆Y"NrȴXTt;⹼KWVbI(w˨Ը ˲ E7$ԡ51ivwy;G14jG>Ya}jҸ;ʦj0]'R4.,UaoOKc W)U Qf1BQ`*r!ąʛ7uP<0LVG@*R/Y(,e$yغ~T#ùPxx$1WRosU̎:G5GEF%Ul Ǐ7/ I:Tƈ Wx N֕y?%dBLR;Yc}HkU~AmPsy`?2Icl=ri2;1jp靗3)V+Hl<"lԴL:sBXD߯]LmޟFm% ^!F뭜n@L(X@ t' 3Sۨ_J;tϰ9e_Gn?2_+ƎkZi0ȐݞoÊf*Em yS| &T7ß7QzGL.AUע3݁^)8Xmy>jx ԁSvS- 7 `W%@.7h bJ+1v֍%O*w -^Eic5nEsP Ҳ- '{O){[S+V% ?*k-57ާOa yDp&ybj m5pQiX3+\ο:'N _hFh0N x!KΙ\ex@0MG$[j;6akHJ&lm'&oyMfx |,8ӥ Rf!Xa*lTXfB:4T%lSwb5%MeA2yYr7J,0K`ʷޱ^y>#"tȾf 膡Zu"Zk%ZuQkw]̌=YG8j PI{GN( ʿ I+\JkIs>OBOk5YOSb*+ 7눟7 \np;c '/B hUq>h2@ӛeY}_^q-rŌłZmn4+wEs#%I6~lPwB͇JJV.ZBYQYфK2bҽC$t#y(JE@<*xgx݋s2d*VN -5~lGjx| ) k.sK[m;]5Fx6 QLY6~Xߴt] H*!=5?yRVZԜUl7f * =|}*g7`z=I Y只םR4~G'i9 yLXdFH} dhc y&ʟa'XB-0;NX54k_:|>E~טZ;7&a/0kuBa-M-L9apW%U59?ǙV/K7tgarfCr MvÓ3 -nH@L $&2|3UA}+\T̸a{QLp25"БWX![Y6S<*`#o4U(t`@!HH̻)Ti5QM(: s9a?l=?zXljp7;dAD~˰y>VX<[&;?r҃Gˏ˿"DX:j)OL5/ԁz:8G Jxm@:<&WWA"?t@=}0v8ƒUߐ9_}mݯvBJ2FH 7f2p/4 CSj4=Q0ǹ?SeYjJtC;evZܑ )"mrtCnI\Wym8>E 8TO48O}otߨD`lRYBv-gg*>`zoiG+rE*"6{('i*m1A ۲_Ab٘!c49^lbayq_JW{GJ3G!,F^ er֓MYl=WYJAfMiƂJ֜ˇg͋Dud̟ J=MdRFٽH{YYNQgQ m[噬7~]*f?A= mޟ0dX=wҔvy@[{YcEߴbD0̬arUr'3 my'K%Xu Ra XV"$/F fDl0Ц49RX50dbW伍j=t:"2ʓHB_eo@Fn~g&:}}W/eQ8t3a4A׎is@ׇ_Sι@_}ot@5,Puy,8Psgj0ݔWo)0e/?~\Wk2^^8~g>!@;:@z32ywk j|" :'Z?e׉ܢ;ikpwmTƦӫ˛:RESv[U]X;|@ή=.B֭ŚOS vz1?WO"V>S[*-K 9uQ'1VYE=.Mۄʢ~I 'a6r" xjX舙WHnm "-?CngMӃxz ,(8ʹ<+T7 \ܗXfeO4qC1p IV@-Mã.7z7,b(2 J s פl ^o4LteԦeP]%HgUVi]/c+T)Q=i]7 p9xz}qI. тHtm2j7ݬDl0HauRCӧòcİJpnbgŲ}U 8ʷ|Ơ׀JV9ӹFŦ_dj$DTٱRu.#o,fYz/7$jY^"Ⱥ X.4Cvc'x{i!\+'yZjtN[h!|==hCda] ǽ\BQ4X+V%F7Qi]ndS'T)dlL\Pi$G\3RWطT[HFU6Be(kMh~Q+EeIAܭw ?;8!{f yZ²[`?sæay ڲO.{o8f1(Qھ y!ٛ^ViUi Spz ՘Si\e# Vp oxUQdY_FrֲJkڒzkc,\v̑:锕zZ' G}I2N:tos?esH4!ˮudgRO2B0| DVzT}JUQ#tw"C*\EDb {DgbtӸEQsfi:c)]R37ecEoHF}͖/qF|7L&q`]QkV5/1GAlh&?}Q4Lii`'4F\bգݤhH(n܊5NOF|]33oB!r @i`1m6U]'JdIThɺB͙E G 'VK}ܺ_wNVfc@qGwjޏƒJi/8~IEy1A6䞬j8B @)eI-xX5 kٚXޢ͜1>/4XbQ۸ =4/%Z[NF\0 H?6vpGoO|&`(K`A9rOU BG2.v͖~t륌|1$PUԨC?\6q-@;UUdV;K#;v,oy9"^^6TrqхPy {WJ<(eʌf||XZ0rcCyR9#lT\e9A6lgw,ьѿ/2NӈqWFXva 4ʌzcu79WPI!}U|grAir0sxUmӇ9`ڬ}fk53' E"6~|//. E^nbVls+%._P/ !c&{Py ”HaĩNc $HYJ:!nȂAb ibs]fTO`x[DM^*p_Js:M)bVf0  m[[ (СϺ,y2A ?ܬ@Uim*".+OV Vmqbfw,Wqd15[61Io/]a\f?2]Ϫs 6*Vx^OUMCs[ZUH+q42Thnt |,l+NiN2tynTjkYv+C^Ko`}lGJwWMK> [A B!!H7Lf4nȑ3A\p)-s[yk= /(݋@kxSbY3鵗H#- e}`pU?)dh~!Y݂d]oiG=_Hv^Y)ЦC^O4+6L<ߨ+U YugNpқ s,lNtK3ܜO| )S Vx`tu#̦Jt몪p'ݩ9S8os@Gpm4jfXjLL_/T?h%ʅ|\쳂<.o@oήC.Wv{vA= 쪻:K_'R洄X@v{dOIth&{v?"ǭVN1>F洸*Wie@!rPO'ݵx{D+g;wJ b#B|Ɠr{{oBjT!#f H-)B\=&] Λ̪ `;yGP:COŠ+ﲹмďwJf;t]}`gJәԈ ]U)΋\m^Cd{qaCF_GM5`{%k=@jnߗEPf|a@7wb:y9U'YɬhMyBc웈so㶲dk̎=yY[6Q_oCRn9'5l}:.ܖ{~ȁjoij{bͳ wtXd%.Y~i G `1GjPŪsH^ \/Mn,~=;$1I\G<]fN_Æ(ɉn,  Cr%r}_Mp㚮2|,!DP)xy#\ja"q]K z?5=&MnI1)yv̏$'Il]߈`0.;ˋ-H!o#+!>ՄRC\v[(c?Jsxq݀mM\<P('v) Z=kMN/Kt '.w6'πx"E%jt~;)N1xt`fGuyy򦓩]FCjCҏ} /c*/2@w_7 qkHBK_sXyy.ݡu5*   ~m3L2"Řn/$غs[hNM&!k_$ ]u}[KgabkI~0תTLwAtmex6:6{6衝MNMDK ߰T a!?bcnU5RvuqMp{ 88[Ɲ\k WMӔXkG2V'TyUq-ފ0:Y{:iӺ4S;Nv?8G.l.hGc |2(b-?׆ Q9| Bb0±}' H.pcO l_H_2*TV OYDHAo"6q49xyCd_Ѝ&fS}M7 .!STaLdj3]J42x>83Gyf%kJqyV_o9v{ '\Sߕ,-ugbs}`t޶-FW8,PNuF ԕ/xW&$ dQ]voWY3j^9.ɤa<"0Y줯;gOj$: =Ͼpr Z--*dƐq)#HV~U5POȳǑF&z6 Ӣ[DzYcK:{-fS*7\% t% Ugtu#׫ ra p%f~()\˰(p>-Dt[Nx"U/wל`tzڢ,eǚz8WD#^?#&d0֘=;"nKp$jT`VveBx$ZIC%ZRs~zC(0ihh4yd{FTcMt#bnH"1ؚ%W/O$i pU6N dgGRyV +K308LF,R2 l+Es"U$#2tUxoLsŴ:VBƙА1K? `\bz{#+^P$:olHsKJ> "j88~􎿞ٞ6b`Prtglr;!z/yaEMKH,{~^ i2T]Z埸i!3ʪh#d- kE>~{gu?O0lf*2P"Ԡ+ x5*S=!ǮX ̎ K;8j3 A!aOLOڸ)AʕU:R[ /*oi'95ů3#1D;d=4k׹uІn fd^O^E{㏔M{M@jq7JRe6~Z9]l-J6fiZKYq頛dRSj (.ao~Ś8}9tZ}`$si>>.Tz&[t贊'ݢ[! ;7X)z_#Qp撵/HR"Z`ΩWmf(3,&~- ]^ÉqqPGq>t.>&<2~@ܸĒ:lvCzM3Se&Ly/KuAi9cJ(]<)tI+`Nk/s{rt_(MXR}x@=1F]lc) C ߈8Q"08e]\oKFh|)7f8p|pc8g\-\xN-Cu/K]Ϗrg^zp;JYMA}AdZ(t0a h&Ae9!MݎzHW6;"69(,މ]'M3 i{t t?ܭ>SLoWV5cU՟l׃;KO&PUI]L ƌfj`Y?Z҆g8ʙz|Ocq-Q0-cLǹ/@sA/*'؍6 Z:%'dȯEO-&N{8 ;|{0 .L=W<0*Oj=M0<@ߡO& B SUjY ͹!ʷJoFr[֨FIoNCZhANCFe7\Qe$ie۴ٓ[jEiݢ r'^A; APVZ9KCC;NB^KA!PY kJ:"R=̳""_??۷=#UKwut! VDz0"o}s=p&Q33Ta[rIy1*UL2gr.8`裈fC]][ NHL/^Ùuӣ/c.9bk٩)Zdq O>egu&4,~:=[AwsraO˓b-?J;-ޗH4 Y9rt0ēCG  vIO`$\:!){XɁ^:jKJиhfUb7V(# #$ 띻#"w Po!~a1/j6| J[V󴗃[Et}`B^g g@ `f ,YQ_ءJyL0sl.=Nt{3狙Y9JLը̝k s<[0#}oXܹ}]siΉ?p:б(];u>X^͕`Ejh,կ WZg-rׂXl ޺戀Q+Jj ;Jؑ*cFGS- х~N leP1OmaC,B3m4L,Zr&J:7YN?dg▫p/m)9NYW\Ϸ|1&%i 3dW 4}N؟ؙ&mj7$ Tq@]&JNao#md@2M?Nh;Bʎxz:Z1{wRÉB1`管fIKXa=w=M%Ó>Ȅ撔ŷ\(~{7ɡ;[A'< A̻{E^} 6DLM 1@Ta8K̼&v5û( ui *IdKyEX9wX)Ǔh Y!ڇ+Rju4#5ќb8a(܌NLK^'<2">t"0nvSz s-!)nG] $%_n0mk]V.8V8v8G5lW@KׁNj˩A'ZS*%8km%m^?If`,&.Q@x+״J.Xd'Rq qyV7ퟭ+6v#pVdut&:U)LvqFKCgB pFvi?Đ1=#c_̅r 6|z) ̱DTm_^ȏH\Rl.B#E _WRe|\Ώ@48=@D.Q &I>u IDqD>CJ$9iPkjF)T"*OT H0(q ֟hӬ4_}G1nh:Y ] S@VqP=#PHB}Fwqèx_0C![p!.+u6yyl )Sy%V 3{!'{OSV`?SN)J׺d0r&WG)lNIyaҶ6alg`܊\4V`F]'G|@e׽ﺡ1z?n~G9B5iqc \h.&|_*jRL*a;2&{|c̫3r?<\p.ӱq^$+=!%ʢG/[(gfP Mk]N.r GV靇#mWcֶL̑ d{|13xnE+>HIJPr>T IY>IoհWXku[Ռ1qTh$o!VyFN"i66 eK˸a,<*ydK@m,i!Ro Y; |4+uBW`/ٕ=IgDG6̐&]?RtQ?. dFmbq~FUlG_(cM%~gAP!v=%xOeG:㸺9c(GxVj6xĀ@nmNҪO6z thq '5aԎC U숮8M;$9ÏREυioSb\q>aWLMhޚd.Y9-5_T~gg}"[d9.ɛ!?.kmPM(pĤpz6S؍f Dqz]<{w68,U#,D^xt0:|.,պ@ɋ~qE`HK|M~,Av2W/] VhSκHw?mt͏D!T!Hß[7y(FVE+L)la{a"Br|V= =._Ћt79N<mrjd{[)ö3я@>ltOCkT/dBKǣTQBN-gU'!w"mH+XTxc -?]mPo I/:,ZfaP+\TZ^ibbA׹77 I莖uMv@_oD5VY{cZ=?BxGYZCg*Xti.[DEu*+4CrXt@R`Ed<Dg^!Җ~ U-D.oM'c3s 0Wg&&<wWe㼫FV(DOJ8Z(!, ƍY6`%ʶuMKoM/ƏSls3LT[12'8@\ 'S)m$F~68L^).НNuU}s"U5#\/` .0Wjs7' 5>tZG{ -Y]$gNp`JhuC]qh1tbm؎F8lnNSze4?R~+J}DGM^0Z 5^fv͏yWF~L2mopF@QșoŪqCl3DrXw8W*`4[.Mچ=H9]#6&[N:Ć jlfI>v`Ъ23j kOLB)G/jߨ&w&۱O'ݠm>ҳ` A( !\ m=#^8`p'HdDx@*n̕Fǰ.<2&cH~Sݼߜ?z~ OQ~D@QC(O2}|l΋ijUNAZuUa}[>'ܬP [kHj~4A-`%VWyQTBm[F 7gCKy3e!ha(8cw\[}93DԸ8G}jTXYK 2p@M[Lպ͙i:Ԅ muFG> ]璢7*gӣr|^Κ7fkBn.PJÕ-F0~Yv3&[v: c%ݚ -<]S]o i1pB[2OD Z}fS>+ސHMW2X6 uA]L9&E<.n>#/  ҽMA }_Lv ~0f:-yALdb0XRqGlSֵí9jQ-. N,ɌȈ\[Hij͇BmlF@(: l#ZX%`{Mq] j ed*#EfWc ڈks\嶝w PZekܞ4aw RSg@ Ms\ovr|piG Ijºh%Oc]4@Eyrʇsw e:/.8oЙ`ޛ&7& !C%Fp_`M <+wĕhH~y,fPJ< Î3jb['x}5ӂnrxgp9#m}ZT'XII7ZeNUf'oѭx|l6:1Ƨ4(,`Rn*gNjeV1̞χ:34 |xYIxy_}mct,z8gnCϼ_O+01U+QDÃ%ggXaMp)vI^ruБ'X>>oF p/ WD<"f_++0 8ysRL4“ToWO(rۓj)PZ2%3qzB(Hn{83yp"] Vpaazz9 q5W׍Os9UbbnwR W

Ҙ*x< :H/&4ma -ͦ 8sO 65jZvk;?iSps5&";I!`~FI- ~tysRĈ@ew|{sIEl/SjVH6@K+bC x)F)ȝ/sb &<ǹ94[x2ϹO=8ػ>5v]3Lϊ?'|;8gm^Pm},mɛ*R *tm%,.K}yNΨ+U@`x"@my`om]u EeӞ؝2RDu -龨K<5=N)oڃȀ+A}Jds mg\LA6R` 0Ht̓Mՙ#) ^*QEi2|y^Zl<r" _BpC J/m agC6 i|}6sٯzna^ tV>.u8s ܍OK%tR_ ~ѱDXyY]fj9NdhߙYCٗ_X<(`nc;eA#i3/vfQ ?%Hj4w41r#. W̅b9$SXAsJq@VDPW+_lH*LF3t' Ն( 9+H|x@ΏxBxǪʼvm5ѐ:ȼ1P u&lƺ_ЇۤijP1R|Q ;MnFܯi6F%)+A;Xc۳oy8d4DY~E1Ȗ[EbPq($V).L3cꓗoeQf LNh:I:Yo0j9RBO=UUg.-[,*"Thx mtDjY>5(A[;M0cJnh;=[Bio"ZϓY#%a"5g UQ͏g lneXqQ92s|::NÅ=BIR.MmaM8n%.= ުR$-p1mcΏ} }-DCX`n%ȭT2.( 7A1\;B">^+؝Kb n==sb;oc.r:ߣ1#+V:v%8^tS2:?GԤnDstK#fi_Gz- ٞt<Gg_oB#ENK"MqAoLgkcf]ƤŢ4*B!:2>|k= CˠhtTGcWb]\0 nWIIZb=VK4Tc@;`1X|Yz[|H#S4go Dxsi]ig/N/>"fȘ`Or#x*D5]'c%qGTo6t2@T*rrZ[g:Oo%푸vMުeݐ&b+Buz.&ĝ4,miRrݩrv!b‚"bu iF23@.*9r 7k/U@{2Gn94&Oe*b7|>2JCj%5@c HbkY/s{_.45.fXoti(sRbr*A٧hie ^{+W#sv.2Ur쌩hVEBkPڞFͥ StDeH ~RAud Yq%;7J5= "j@{u2~A"Y,yp5wĦwm{ `蠡>..u}(HGr,rOKXWǫow GߍLO0|XtCꈩ웝=V)_* A$w?bě| )dEsWG"&w|/>PnQ +{<PhL#o^y.cP5$M;y 2BLM6)|ۖ|؄c뚷>狗G"bŝ*z7QyNtn(EG\^P:Xq h_3=۽]~||o!0Ȏ/d"~:-nݥʥv9YUSNYe3 ^hk*b wKYUv^}$WyfwN%WL MJmnj#q q$X&ʽDּtiڃO&/KSs:iS qf 3M8O綄(-w76㋰mMs]jsDg?v)t*ipŠ @|Gtŗg@*+2gm;+\Rn@{u%}GnSU/9loP[ qb0\RTj *#J/[%yb +펜0RNe;as$3nei9Jca7%V -tܗTw‡ vV!F,YN: rxg.8B34+Q~S7g41K3D ^(z04dFq,Tt Wۄ;Y~nTdʤ3ֽzۺS(Ma}$hڹ`ws"0~r-5T9)(Ɔo9(kVm0~)B {9*NACwXTO.Պ85D%Ps4 4XbѲ&?b8$c$kULxU^vJ_$ FS4?yH&8I l2hluPޡR3Л;l>NA;oq]aF{W A d佊FrGUe`(uW֭YP456g0JLRnN$Yc>Xt:tD lYu|-?3pwQ'2Fv4z..h8g~<r,CiP1v)6] sNܻ+zo+?4qG)~p;|L6RY-N1F=}3nLcbgXWL仝AԷwJ"az2K8%/z=~dPG+*͊@Za UZ|vX/p[gԲGXcH~ ^{ۻ]jsB󼜊ۀʠMkag!*Sc 5kbOJJg1|o>s}% `Pfşs3br&M4ҋ+8 LsSQ/ Bs)@p@&!nv{"NuE|k'4b> g& L(4y gL&#bg/i/Ÿխ $ skTP@j>^'MT&"W 6}VPx%[N\H J;Y 6Uv1T~gx;sbt8^ ,Qxm!*۫uu/Gj_@^FSE7&YLOʭ)ZRq3Kڥ9A3<*a>c`?E“zVe!eEl D'-k@OB$%jѾ,ĿX"l=Kt_ɫY^~%sD6-vyǏEbJpb0rr>u-/gӛ4 ]rtfnצy l^ij5G 0#гuo1f_9f]x> (3x: (8ȩ> mqP٣%,-4yڈNZc칠x.QoY_1Qހqz*W[<%kʣsnaL[r/Qb(QNŲϱW$y=f =ƭԷ.Ng=cӜF  Q: |}]'ؤ1-55`N?w*sS<q{ðe ,f={*F~)S/gľo?B9@#u^+q59cS)skIROMtN }=TdqB:V;63GXi &ɛR%3cAhLCic6lrneF x+$!#uͰaв $)ޒCI>d9)iƕg lqʜ>Nm/9 Qo-xZ*}ps7 @8삡"ZXswjhi8h/(ѥl7㎚ehy,pc=X5VԎ'ku''jHaoH;mdC)W0n!;=|n뾰b\-|j kx?:ЖHZY)٠2"o4`U^%d$WV!!gJvzFKZyf=d݊&TT]D͒pղvYq}="@^hW#$.;==Tt5Q& Jц~Oo$wRk>3#dhr:ax:TJ~$]}XIR=}+y]3Y׭oaTK ]lTs|J:tXWx*%NI 3i_ds7W.6*F(p$s[ 7v|p|:5edF:İ8}]WCFOF)G8`ѱb Z tZ8]MQ@ Ty h8j7dž.`rޝE%bʠ9ݔ`R8!oBJz~OHW D(g([%1|<wA6(hǭLj9z薭(,Ѳuʋ$Dק+ϰs}\GpS]5`A {p7pctlMi RW%k>}FC!58.@Aex@%к+\w*(@{RV:g1 |c/}b\p7"dyq\R&dO_.e}uBVPG\8,0xj+o-uVIGe˘A&so\zH5Mr03]e ƲT9QˁurUΊ?l/{q@ |W"oAxm) Fj+ RfZDT1\T|o$Z,lc,dG|s6fPX3F;yhϲcLzƹ&"s0lO̺3=* NQex[LWYv32A&K8d7rQz?o^b9驦DP>)[ʌط wjQFG7P(r|L7lN4Lkwhb3VbUڷn`P!Zvoh;0Zx(w<tI'qM*=.X&G[d"tJ}fbZi[I fm$T.o9\8ZiNSwcn E+ɖC ڲ3Q=7˦jXw>iP#~Tݱ>wx6Nr'aS &~ &&$:~vfxkD"s5r>+4Kt6HQDdymC4+OXSyo;6 !o7z5qxUÝ[hׄ)Gt0=ʣu}\ h;\crnLǔDp\1Sv ɔ\4=;$%baα;*dKj~ u|)gK~vFB1ZjX2wEgtv|m')h2 /+q-Dك"',ۜߛ2Y"deo. :#Kr Eyd?} r|uUǭ""D,9 s㧈 \dr%lj*'^}6hSqZ;Ѱ6چGyȠX u<;wAn˲ 97R`ynY9Jm)KS7-߈ #l$P6_`wro3yY^3-hNjS_cq H:GiD9'L2-q%jA7 3[ ƣ:Id4ˢ I(vRYF[HJNtKm&;U1 ˆJs_f:Olr{G<(^&!Le'/yXUcs`=HCWл*,d'!\ƓӠɖ/\}*D.z5e)/3}R &0E)6Қo Mrlf A@>HH0/GmqtE[69r_o̩FqPp>uXjR[7R*d;0ΣYj$dd3g~ o5Qݹ{Xug @//>;D&+9.=rJqpۼpү1syzp@O-ʑE!p Schj4,}uB+=Sft$xQ-Z-",NJAS WOvl3sØg8?k%sPafxœu+nH`uu:UAorHhκ?Ϗ DOk(H=X iї'N}ی ݧdž [ ӆLaohUsgj -!u~7 τBl|4؝7YWvo <òĀEL^D[B֦`#d7)(GQwYeŹgrDyVy\O>dS1ʲ.@!%nq)5'HCԳA6^O͗ Jh{1σ8yE2a̝k+!u1?[ھ* XôZ*uޙji"+[MmP)Y|"L ERyO;g'gi40 :yOnkV 5R߂9t}XZ~`#NnN +5 Bd{=)9EDIN-a)Į2'P^ȩWD (tUlB_`{c¨ajv4D43)?j9i6}:ew<0<&~wkh9Soy{Nո+Ro M\=) S}o~{ꚃf0*wzDz XݰY/.7\FOU,Wo$+{@,f^mk3M=iO&ƣSMoqMjFK2>1LIU.Ϥ5?HFI\FmR{ǘ&znc߅-XODKUTEW]ip%L;J05\B+o7˦)(J' "!]Q#ֹ.kOF0+93]hDuV&AbiIDUrkǒ@*13Xkګ h!Fb%T&῜wUSg ~͊fa}EO0m|\?>/Q,,(tVUFB5#`r |x ^ "C,Nݽ7Q*];h(׸8vh&gq&YQ\JD@N sŧD.Bۘ@b5 ykVp"T8.V+zRn-B+IQ̮b ䷹VI(7 ́:rG+bV!fֹ <D9A@rpЧdp-QCsR'VoniS'Q ɔ# ܉6SMi#IC-495xĩ[wD. 0uR󰜇&'ϰ#DUSXOvbSʊ|5w؇'i;JK, z}eq5+@(xmV:۟WΫć!}'vt_Jn[4,@@/( x @ߊgpOwJWC(ґ=A[Fnp`W-)9HܑQrW q?0"[i^Ecik82˜v~Δ[Eah|<?螂K}82p>M?v֝%Dȷy`V3D):ݬ VdA,KQK1]{Qfq2#AQ > |UqW6G]HрJ]d-駺l)Q'&W<80l L}8m !)C3t+/3в<b ͖DN֯||>#ab;N1tPNYЉF"e{~G]sP쇝@u%ns3be_F Iِ흝-F#.})b56ʮ†ի*\"ހ]D]Wmm_^:p_ϸQǒIiOJ(w⚮ceYj&ߜ߳VQ յ1m(!:o/b<ʌ3^y˲͐XdKeeOXGMy[k yxřΓT;2,cX =o5Jµx|`A.H 3_26Z)HP'0c#CY׼J% +cL N+-C`ʒJfK6>="<0{[L$uc:QSc!#hD߂=S1ؚSw 4yhwrnp[7 i q2Xxᣆwй^M4|mcjN)E49K1W*u9|@r놌_|E_"*$YdC$>_3&Dk&Z!'c{o>?qk2|>vE1jNp$!1k,%f"*p^sQBOq+U\f 5.;:ͨ`KIQ9Avܰc2T~~fE[E𖴶Τ%A3ouSܪȯX4MigYUͶGS :,+>s14TĞSI8\/~a] lL]XQ=ĹX\h":D{0\2D - %X0I3@BA!ݬ/!WtK%:Iy.UZ/si?(?U+ hb w\W!撚C 2R8QeQT2¹{ch.[a>Zߣ_1;GUbw\)UJYX_CMq~ G4{td6,.vN ' [x PLѣch`sy׉CɹK woV8 Q۸tܔ?r:y h IZm&MJ|osWUVx\rlr*J}:X(C/ .k AlysK,O-vU2D<a0YeEa$@ &_T= |QiR;^'tGS秆[Z5oYp-d!ij>#KELyܻ>çX}ٙx%wmwoJk IcPb"QQ8H ,\_D]ۢ*sIjdd `{-΋YĕFL+ʿ'Y9)vEwtc7\uLoYGqڛ_P_}FJc7P)V_ƕnf;N~F6%M/y8 ,ث\3]a7 ^3t狓 $_@9Hl; x?ݣ,/p/K_B~i4c7| PU6@%4#훔_;TX8r(,v.P瞧8ƶ3eJИzᇲ#\{Xym,%VYm"zXPDPzTjwtEM2ovt`F>1^sDC]  ih{Ҁ6t$ƝJI.2A30U޷bZUt\4 P>ݢG8S8pB+L$،h_!lZ.@h\pկ9.2r'wr802u1< B:#wr8MP']qZzN؏M8FW+'c0)/*+[Aj䩐fАѥemǰ8&dP( 1mQL6UY63_/ F%82hOpJ:8a%Ev[i@NB?4sX>Um1qXl8x[F,2Gs͜S#RI ,^[ Ӹrl=7\7U;H/EllOêR;?HNQ| Ped!ȶ8{4&OZ58v9c!VSe7UrHTd~%FŸ,szo $Ϲ͛Q6p!S]kobwC w?¼J&x~ k"ri.b+A!FΑ#`"-s:[$2/ CsE-CȔ_Iyetw/VR fOӽ%*Emt=M3^eٵa߬SQb:UAlXTi2 1IY$ -ˌS.mu<ucZEF'n~h3wsݗ4|"u4@>{O0Ҥ \.?7.LȉH"zv:r/ $"tOԏ[>(IJ9@ Du*D#l5#ez띰X-Ofӳ[ \?v% ܍- ?@rYSo &-CBS D2]Ktؐ~n &fL 0:$|QV`bΰ_O]ֳ2T4%:;'cze_c'צ}yێ;j.TdH6۔W%j{gE~l b >䏹%+M|aI2OXQkXrB~Sf /-@c,y/ܞE9Xަh'ZO>ٓ2{z`^ԗ$[vj ҰRxz5}y˗r֯9b+եnȘcVx^͌:0dp'?me+W>TF>S'Ӑ{*$[ʤ%Xj0{Ii2$k]I ? Pf`2~$xDE/Sm`Ϡybܸ2# zK!汎 o캢inDUgRlՅP!Yf?<zFq3CAӅaԆUXXqL|m|xG:˾Q%ɦ'W '+pۗ\ RYv $ qKwBؿ|6q?ftk4MPv'SsẄ*,Jv8.Mn_06? ʰA.F$ 'Q g w$nX{/7 ^cio;5GAS)/O, g<ԵDmQewv2ƄvZS̫߾Ӿ^9轾UOrk{Pe np/Vѥ# gl4)ABL,\AhCD7jڽW5Q/Uqɍf =_x_B OsGyQ,+7ąN61!e58e/&1ߧLoAS:]7{" lwF]0-LU#rIu"{6q?˻VGd)M&g?V%tmRVOޱch0ӑ0@ :ehQc>ϲu(58 b h9úrpPv<]O:c -h|YNq@(mo/%wh!US|[6U"_ \/rvVM&3fLw_@yR,֦6(Rr( Oxmij墜E% E5')3A% #u;}櫤>au ?rA NYo3cD(ӏ_6;O3}5L]C;4[.jYXZV'WX*t3uM鷛VK[?,oP%uj./ޥZA+xu"?/VK5tc$Xe šn`vy?ԟDa |IZ"dOiW'lkw̌cFXdm:? cPf\q \s'=h'/+SۮAaBݷ77$2Е'H=Cfg"WamJ8NB$Lyv%Tn j$rP4 1{w{~vb^B}@(N+0&mm_GvZSNu(9}HAq}4"HFf*| 5G[ryt0a)eʩMpf,#_yV%K\w=6O!~#^=T)Jz*S:>MӒmBL 5&}5X7oU3NwB.ȧlCMʡ5`SSa/l֥7G/:DJ_?uAP'J)'pjy}r%Rޛ3hKh^0qVtWt1ȱ5Hdq9SDc}M/ .kiKʵųa>dUKlX͑;0o4 %%r0Bɕ#mejz|d Wp|Jq)=*9/1\;Fq_SD֫ŻÿMG7#Ӄw 5 \Н xj ącAuVu+nuY;=&͙Dcu\#r3upu˱X{ x8!D YihHSW1j LГTJ vx&z\jWuh`I?ЇѸ!}(0c=&b s+wdykފ }"9yXcQ-6󛸯lBht>}L2Z!?ߪrzԯ>kڱFaI*~ԚeqG]o1҉+IŪ2s|W+F>{&1S:EYv}Ԝ @# x^PHjB3wDj6 ˋ~ IV1.yMކ۽h#Qd /Lnm:# ~Km@kvYE<+ 7X먠TXI!.+nQI-0ƭLɒwЂޯz,x!V,a2\[eWꋍN.cy+>4ޢjt Νc4ً!r_@vK_~A# m˝$tׁt@53C9Qm*9 of1LX [ZWP蜖ešG=./ K£,Zz*`ZPd`r$jҢM0 v2 !WH$;il$(aswZr~v#KqBw܇s/0{],4Tye&vP0)L!D7X2bVi%U݁;kU|[$W3;sq%op#HYU}^cSgUIl<9y(`rodW>VX{=#$z٤%fu3=:3dmi~{;5(P"{ ]Fhwv֟ <_ICR(AFkAu)*O`b*PAbz{^|-- @ӒCW]Fi>pz(G2*9EIxZFVroy,~{U0b9kxk =u6ru4dT/f׮J yF2=ZE_a0ÅKG&O8}fƴvK-t5N; Ԩg(A#nCuONIrV@|Bkw7;u?&#ƌ]Zo 6h9ùჰcVEdV|K*1ȅnc0ͅ k'N>j{ GY|My6C+(6¡h@Jrb> ȡ@\|$R%~ᵥ\Gڨ% r2S{\*X4=&Wv’guZ nglt3 "ǵC?q2?ې擂*u.㒩ߠwkj{Q*-&͗g'dyL[]8X0I^4ZPk-K,ߠ>Vcd&a]*߲e <&ΈiV[W7"J)l,U$ -.H݂Ț` eZ/]/Dƌ5FXݕT\]e+!8 t;1R@>Q5iEo8Fy<1|p]0q!/reKZ 'oՒN<[0`MYKj \XF ӷͮ4\dKa\ f/HE:F?mIXP+@Y<jR̤2 >MJ lef(l.L@ 7>TZER $D֙0VmqUaj(Nѧ}?C^uBN}B=)I5h-c;~*aN9+n-5[$gFX6-,_*EyAHZOjPt?ZA:ҙ̭ҫCLx8.{_mu< v@ (%Yk eWh,kRN9Hpl(w0}{;wDY*6vAè-|hFE 0(&3;d 0d i\𶩩fLQ;ioB6Hڹ;+:N{آ0ovML*jB̐b+1h5}זㅒY+ꢦ׻kDwDI'Q_=nzihH;/ ک5!QnAf6̰6p@7IQOށy&CN8oS`|3`J-B0 =_6utGPN>HIHqDO]Wa<#Eg}kWN -#8>Μ5DSnR;<:zTHb8&GxgZ\Ph}j1vT0{{g^^4ozȬ}S@ K_trìɶ1A8_ͬ+\EU Ky `Wn,piw3j,#˞GW8A'?asTG Nٳ6 Q4]8'?Re) ;SG߁<. ;}%6>c&<CĦ_S٬9g~]@? ߐ! }oT婍U=18PBeWCxhήf͟=RhSx(9qߕkbl/;oDZz1-,gq<aϲ'iZHrږ L偳 y~m sh,X#~dX͸Wf=tmR(WHxadp8JEZK!0%|~V+/+1;^ljiyU}t7eA'; zh\420~,˔e]wPL8R,3ǾH7KPuv? }(G.+o6yZq?_y,)e QXeff2r G0:Ow'}A4!dZaJE,go O/L1aKF ff]\Y &8)c(9g>k@Һ46tרqz(ZT*4H =IV 8}$C#1AElX[ss .g|^ * E/$og8׭gXlr âT Im'θ4$)!ս59}jtVQx e2㺞w?.ܨshFj<|xBmlD:P&L; K]zV"vTf/ÿٳ=$iu?u%al@?+T L0^+LYOvif?z'|,Ǖ r*RzBO#&$ 3)$XzUc6E "jEˤx,}3fDY11шP.ݵV1KguPC{y/Qsvb o vX8meFZ-6y:5S*޿D>61RbF@@uI7, kY~j?qd>UYn mo)2ڗj@X 5t^pdz/\.Rmj/ ׷r\åHOKpI\0=6@hvj3!)u,xv!WwOҳs(PN;smI?Zls OpTQҡǥ$xDqld>_ѽG߿/ujPIF;_.g3Xn MmV8 Xt5Q8Zjx_8RQIn'-!Usyo/ol"Z>},b%$$Io[ZiA/C"p`q_d=ߘ}u[؄~/OչtkyA0ڡ2OJڣJ%-4-wf%%g1ZުLYJ#I K]]@RYc6 įf0;Q@wK\*GIE-G`Hf^'Uj}#V}qmXuk:ͼ_9au$هZBdSL9h)i d3_g%e|?2tL.)y־̬Qxdz^YC1򤌒5.*G5ey1=$Y ^r8BmLvwwWv .%(o[9S ;eH}bN hnjpPT:3V:ۥ-\FH(WSjp%d͙;3U5<79:qzi c7Ĺ%iFA3RCP;TETH! #kdq 5}]VLŔ7j+Or1շ7e 8&:T3JjR’ZN"êwD/& `"B;-E ̈́XS7g'˪\O0 #: 96 URT.~̈́Ϭ~Ƀ@ox]@:g4>+)~t3[cTH͒˒֋[W8֟l@)$2. w(J0I1Uq~RCУ[)Q/6}4uxqd`[t+N{kVZ cq8GY}]Z2 ZY&zOBi(lG>(lo| AyGbqEQIr_EOs_"kFyίW'vI`ޖ~*(2~)@KRs<' gsaq”^);nL׾j}!"rJ n{dK_ngB Wj˫W5 &Ąu ҐYa/#AAHTcLq׋ݧ^`GWx71脬uI$ [m$$wb!] b(q `4g1l(JOQ?r7_1FqƘ0;;dwV\xGH~Q][7=83rF }j$w! &z|IIU^@`K,8`yHnJ{.xw |/&+$|Fdo@d}$ZXOtb0z<r1ƘTeVMsi@InELM **NcmFg3{ox<:9k+C+̩GK=dAc8)tzg UϒAIiѬTTֱ89P". &JƜWH*h1HW Mb X&%MFg |>1N[  0506r?1/ Rv~UŊ1d[09ţisRbUr'`f9M/Njwe^|&xX Mo}iH3(9҈:/ :>0WE8ju̶{8G,}0Õ3+`>1o盷 ;iU{_n%ԙkȹYeދAU;&Cu"Cr_] x4.f.fH6~.φ  bLnm򫅶ö"؉U,oHg2XRkG!Ç4ntf̄Dyt:ׁj55.ļ4tp?rFH͆  kNN zʔqtSpCWP"Ʀg"SQagl*kͷ+葀/+Hmm ۚV˜Ne w0UlZ[5Sހ?IsFݡ 'HG٩J/ q>UKZ•,8X)[rHXOSnj=s:( {lۆSSM?/S Bᤸ4dtN(6Lzsgᄎ<at•)]j5ao2ҺIOSKER icgLX|oG*^ra +U-[0& ښsq_viJz Xۢ' C(  Y=KgGr`i@lUfT묯yD[FxsV3 ܌4r#YV=nBͦ]KD1_@;\Xl:F .+8詹XƬ/ox U\F qƟ8TөC;(!!h\h[_'"?}P/4J{߃.l'WE=X(\GcfemXprvs{#7? G2F6&&p9Fz0{Žmu3DiG0r2k:w#,t W ޞ=!} |"n-'ZTh+PHp3tV%vA"0l SQ5{mQ ߣ9RT]D2p4%Btq/suE v:% ji!V9Z/ {D+x1KM5 b:HXɤdlvYېo@B"e 4\aVh(1.L[vXlk| }gkZ1 a"H~&Jzt}3+}`Zuޖ7nDJcZtq2a6gtlRC⾥+NqM.yJ05FjcZob_V%zN] ٘HFjJ1'vee\Mp)pAFU'n6 %x^nH% /e1| |>@t:7dwhCmCAoAƠ҅% ZXO # EY ~nKE'm V<-wQ'%CFj4< z䡍 %l-f+zycgޏ-]ǫ=|S 8@.@-~BIUt )4SgCl.m@m6Ȍjϥ$bvchlĚlVEMTkAXvZ0 7&JڮᵹdǝWw&HMpOP;pDVcg;ԁg!De/5] lQiA릶&1|BLoh_9@үOOgίr`FdW /R.ͪDRcYX 1>V=ailj-Ыt8gBj u1 ѭ,'sgiIl Li+g S5-OsGCD(L a6p2 @s~^vU@D=o %6#J}@*We!pbigEsӶߣQʁ=od-^1]t-Ǯ귱f^3U fGZl2[1a0f*F1_iuv*x4,3 HDG,X `'fx<>y{~!~ѽwڒ_lj;YS/ٕ?!2U[,;w O:RPz6q9Yd4uatp4 R5i ɤ* "=T{zvNn.AҪ-:xdjj~X^붝;槾 [i>Ԍ* "0Y!O(-q4,vF-$YrtNUź fǬ6lbAh+2z:"0W(z3|!2uR]|E]_BmFsr5w`!??bqwl7/"p:?twM~|M϶ΏwGN+,HB@bf6_#VCK3 +놓|# cみv\_N[dsނ ~y7bV֮ '(0]{k}{F5:)L9=cYe x|փ n*!G-mʫtN~ajU h+ej/F0ސeۊWUL7M߯¬5z hm#5 IΙ94^n4K_Զ]pt47 0`H` Qv ~։v$/4 Cb1zèՉ\|r]&ރudf~IlLٗ-qԒZXܰ5 Иw;^LʠN0%INޢUmh]RY7/˪bTfo5= H-{։ݣ8mEC+I _!3h̲ "dYy\䊫.|Q瑙k鲂 jt$i.ţ4ȔOԯNUC;(EǼ5({c!&o:'X2mV\`\~fQyXݔlr;n;46ޞƪEF臵\1oyv-翎 $ äQpp`^E6*s*)OW6刪sc!ks!aGhb5l^6+#y k@1E SXFRPzw1i[nDgU9nXcw]F0mA"BޛE0O /WVJoy\8RL7.uox&s?D8@>TᥡL'2CݣݓZƑu4sE5$Rx8D)ރJi6ęQ}(jzrCqN* r1\jd+U4KTR^}o@g]eRW;'}3<2skg9p~T2,G[o'jMF%>kU Q79}JPIv^I17u&} %itbz8TZSuJVF>㧃KA}5ع1]ڳ*`:t0 @Xʇb%|c=Y~I0RL'k'bE1`KJtpbM%$@lֈR=_؋ܡ ߎ<I QKa۞wߏ$Lx7 2H*$!3x& d-`,#]y/*"L[#KsO=+1T/EgquVDď<[Vz`4&ߞ;=,Y23Zx|jbL=TLAuw.<3^%Q$?7W EVD1q%Wb%NEEiƣ*!׼3;/^=6%gn{W0tg7&b:kNk ?dX{s]rcQޤ QY8Mj^L0(-.Ԩ rV 9tQ/Xq̲2B*V6# \4\b7z/'8\Ⱦ!$'Mnґ .TtK~@{5m8]x쯰;?zlH]98x y  3 3e{Uem6"@ $Kkܿ!<0O;r,0>oVR嗈oxg6QDR%S\ԟ 7T8tCڝz'0jzǏ)HqJݲq.^&Ly3ۭWi z 9j2vkڽ'igFC?Kmڎ))FVdNM=jdmTp 'i;|LYاPT%4lBxth:bk25fo>S tOY|8Fb72@<:7!Xze/ ѻ};{QE@%`Q1ҡ1Hi`:~8߬U6Y&syG{B훑4roApKH ju4ʎziqB̭֕l:wN<̅4$vhҏ ~B?D06~ R@FHc\-ӪtG5zQG #5[J\[qO}[ltiQZ_ƠW4aʠr&zy5K81}*07lFR݃.̖ptR()Yvgs[/fWyCxPW͑=t=eVK!y rGt;lPptQޑtt _݊)0ɀ. ;RP-ֺHܸ>@a.?#h.)?ޠ$ZZW~ev0-D 4E^4̭Bƛ,bwkhA lܫoy $gL8,a?XPWĮ@IQM #(VSD}&NQ{/roaxDp t&.GUA &_NOS"<c ~\89Z#x]ARDWV/Z{q=-H-ĜXbhYc.`4a:̻+*Vg#1^iޢ%B,hFM5j\һ :+Kn,J`*~Mcm{(/8ђ^k%FF/z$w{::90!)B2dH&?|rOC/Qj~y7ՅA钔i!aϤȝ2LtGϕ,"jWؘ`\ܒS0W}IV< )RJWBBǙ*=@b96>6j!X6Źh͇(7uv~jnlNTKHy  &GO-jGC!ɭS5Bh?m%9`jRڭ l͐-NW\| \ƂtKS<\n$+|ǚ5Hc+ riAAeg-رN0j x*#$ra>6( MsJy@&DM9p4M-CfJ/#_k/7Ss[3T_orAaDt8lSɱwCEƙ5dRv |aw\?#;$i Ĺ [hFO>[cُ@Y,0xg-qxB;tQ<tUJ^w#u o9ByjvEbha%€-{CbHv36[lE4O=5-:ra1V ]D2M%ғ$i"đ:UξR6cumP L+~e#!e{$i\c ?e7UNqG5Y0^nF$vH5u90:&+-|kfAT= X{ZN/ ^h^ lI sU!GD(c puPb?a KrtDE&<d>RH| .v5i4x0`4Ig*dӍnk6uԙ$dt;@A8Pu`o@{5k%q>_c] lFK?dgP L1hTݱL+w"5fYl4" x!/|11١KÌVʈ:4=L[ TKʿyTοk[Y( vz||k-D`r>$!MA}R3#d _gɺ9xd ON6HkoI^i{Y/0DsgvzpoQTaK$Wz씭7[v0}ܗ@<]3t*풹>p&p0tuxo Gҗ.l~$e!DOhJ).9 -z7k<|FNg'bq,:;I]VguY7(4)ndۦs= 6 9^'`}oaВ8x@#aloOCL=fOZ(ry](QN&Zi55?*d%z0R jg-kSjiTZԭ[(͛qy^U<dov 誾}NܔP :M;I?] ""8B\=Ы„0ŝ& 7ߔrQAonJ?~ 8P+ 1}Y{FvoQld}a$ScԈzO /r#np8ST,(NF^m;9ݭlPJdT#`I][1^62*ڧO gG/sEq~ xddio:e@xr8V\0'e}ƜL<>!:}(#}7|$x.%g?JUD6Qd!L ~Ǽjoc`||`NkOS}-H-%=bTw\lb0\۸<ǬNe*<97r(BuRs("'#U)<` E]4uTvwio [ʐ[ZQ+si01Hش-P ;_ZЩjȀک= C[鮮Oe/b!rK+X@aAEBۓ$0U 0L!V4M?,z%E?ds |M,k)b 9xFzy ?#a+<@Gq?HV6.tWkMZ4iP LaA0>3RP^R_j>zs Wg‚tc u@ZS$X5ե#Ddpp L9@6c_ bGP32dקw;=/JH~ʄ6dsظIUX>J<8]h/e)_A4GGBMĮު&RC nvd~(iJ!Hz;uj G!ݳ3l{# G0:ߝ>z/[c`w٪-Rud9+gQֳ9>lc8j*9wUuWuV#W܏P"݂9j)|y51v$t^pW *kxfJ"QYY[q)V2Ţx(ܼKF;BA>b9)(J{(/O{v#ˁ+s\W3k8Yz5?˹mr8R#=w'EPVW N|B̯.Έ 5hY)bӹV.:[3ωk9iDhItO(!w(6l 2XZ[6r/5E ݅0'saQ.@I"WGb _)ʧqa wb]R:qjLV mmdp7YY𸪕͹42SieAѐ HZ6x2I 3s7V*Wdւ!zf5<> Ү9_i戕>WmJ]ل¨ZlZ=:rx4z~Vc67%EZ0DJ2C1{q}x#d溥-dA"0Fŵ;N׽G4;1{q2yEZ iyK _R]P?,h &s`^W ^E2x~h|ͩ!'Yiqj9ûIydl *3d9ใ[g=wH+R!a;! 3b"\-1ov1,Dbج<{8WDl<"̫WC 0KjŜޯIT:2e[7LS0XlK_塋Ïz2p9_roD̗,2oG޽zc#{)_Bo= ar[Gw8j,#"Sk"f{M͈<-3o}2J oZpS fwY:𲫔He1 H#87ps~~QL; 3Tu]h;ֽ ~9YXyKul*91sVӻ<-WI_{H||Az%sJiM&V6(P';eqRC[eoܔZ8+59/k2>QdMϤA @aU9ٙ7L߮ҝwVT6/'[):BivC dnZ(f 2:b1<D`X&iWS)KLIbOb8Z ;[tWٕ~h3ġʓc%'_]&9[L%pGlR36[d;C!hѩ&#zEEsӝn<ʇKG%B]QU㬣r:?n|:ah䥊QTx\YTuJiu$B5w|6 M: "OcJ:ߪH|bh,- lFm $Al2úS:hۀ?ٽ4s] t.EDlϸN? Uv7\&肽cFP. EIZ=`kB.[uWqb[Ժ8kEN[XDfF˾ktLm_)P#OL`Yk?ʱW1 O5-Cdnɥɉ+'0Ɯ Ȋ;d4Eqk:N|XLwU- &cjL'@Tv{vucdX-z\*t+&a}d7|S)s#ʳv_^uȴ(hW~T|&:8EKG DWz;iw(/1î1X{d(GI[gר,U>hj}07Y!{ëB%9Qcf7ơf6"$C@XH@,!ܰ1VfRQe-l.atkHKodA9]2|(FIF"[gxcCe!9 UNC jW:u_>=Y{± k&Ծn@8$O>%,2HCx=m?Mf)XkVH'!esBh\[:<ծ?"y娬Vnm}ۥ9A'h̅*mw?`:qg/jFi4Y$պOMĨ@~L4a)c7kVrD54D ">NzWܹxߥG)YnsQ +Yw :WVp\Yn`)K#Uǝ sl޻ev9pLŀw,3#l&X&3=@ks_V!p[%sٮXUǹhG&27D6;ofaVh ;+*XdTW'͙ݫT3]?Z9M{ފb5^ZwDjtu vސ|_A[DN$nJWwTd',%lq苂y{u]P_/[:xw9NdmmM^g Jj Z$yF2']GgK <9E0%HX~%.j\;㹼*dM= D%^6f*KEd_aXqShsa㟠FF2U`̤JnΉgf#WI 9 u4L?AZ1IF\XmJ^1OL(H&CGOl-u +KωVw@ŧtG!'7ovr\]UyWXuE oIJ%\;t%M[X;Si,-e㬙@6ҾS-HF> ANn1 ^my t;du^o!ʃM zz9趀cm{s騨EAȲT6I t?s_LVTtD @SW~t0]-at/u)aV*K‹Ե.ث-?k_rN3t0^5_I z:+csn%= [+@G![ۿSFtXwX@/E8dj؂4܌^g>sv@Dh[ ]xȿwoMb?5a_F )<-(|f-}lBˉ9/%Glku(Kz`BTD..ځD2.NF$X) Uzezj 3^TKbș*vtjmҵ!#bqvmBIJl:m5Wmj@jY]f,s|ԅh]9e>՛RӺ̉8eh-O2KJfq UD}VQ#C>!@l~7z ABD+|K2g %A#V.ɒb16t$[f/bۉ_*MH& Υp$[P+y¸=OVL,0Gt`g A6]78ƇF YҹfSagP{ŋYR1,gZ-8ş[e`%`+JG3KZhFB5+8M ֙뽞s< Xcu7GeEAC͖}t}\w!,Acu)]|Sʒ&QLl+:('KZIA6בx> )Oz`{=n4$N1ho3N|P]<]TSEq1rXt 6>HW_t?~dTPpzǕb4H \?tIIZ␇'%YK`51|dxm=EhEXȪ=s01Τ;r`|wl}v cFB |;A&9];tv|wUj9Wm2>IS6|Nhyi;hMsc}S_f"y'ɂ0db%/J EV$6>rzsh>D_I+1;2xga]~0y]pOiJftܐcJ2[쮹vƧzg Dg.:NI@6^y߫Xi9Hҿ?>q!s_!] ^j߾i6w, 2TM])lՠ1D倱oԞ>}.2[> ?C$gX%tI]ss!ƊcIK{,(z޷NF˱ܫ@w4c tc)@S0m/mkgqS>5FVq_|ɯ@k[VEyDV01"Xۄ12vs[ay4.[OW05Âv_B{Ush]yxWJ'ujuၐMף2b8TҼo*[4}?G<D+VoX!g1c =OKTyԺ"ʍjvTvl|.#CPz|SE y=YbdR9c_Q@3jWrFq qd2(- ' aVsҾ\ Qt si ݝ3Yp;>Veo-]HUa0;E}3Lqœrqե-&߶#h7"Qcx˜&Q$v\iwoFqeo$DrG[}7/llǽ6tLE*}i.WQEMG8OCt)-3;XЉqFiHTlyΟe@rq َ+lcl.nq36 W滅fsC'm|KI9V1([ Gv3'޸&^| mq/b N&.~X婣H Fչ5!/M}C̀6P' eT:[/On(gH8GMLxch KĈSXz "LQa5{#hᯚ-ue\ _pvP!xT>B矾"%5HT~Zᯃ3i`Ӭ-9Ӧ@D2w Iz U'c'a:Gnguթ'߀)4H3,i, : >p6:e5*K֑z(W Ϝ(]r!Θ]bo:䧫,.U¾OM(|bF|͙+sN[&'ߵYDA=.{?܋{-seh"G*srט3B/aR݋$1kt6%a F94F26O3Y쒼+OƔ71-Hң++AA$t`KX9Ln\MclE<"EG"ZEkīdX*VH[ew:]`IC|0U =~`%f% u+Ea}Zx| RNEsS2ͶJd`,3_92.'|@)Ty8VyfƱ⾴*3ĆFLjjP^rL[_N#{5ȲK3lfv܈2a?QzO{r 3} W-)A\a|&&009g;nwA~^LjZ齞mr~~6{_v# 7u)(1)KJIBW24G[2,fNG ]cAj}@8 ܪ*jMI5sh_:%˜>xzb90\3lP0 [+_f8D?jǓTɳjn 琩ܲ-}ynEFCHPe]@x$JIfR8n\˛hZ]<;@]aֈ ҍS&_R#~c'-" rJ *26Itw&)SwD>?9ZpRU.br;Q&`r9AJ^+yB{GP:E=d|!ߍQD%|E|Lok/(&Q3Z$:]GYO|Acŵr IC;@5l! ញ<+b@'nϕ@eϲ\uUc~xCTI2΃^ρ@jqhr"iϗgVbS+rwC HVx'ޮELm.PbX*DfyКbDOI;]Dn6 m`Zk69&1ԕL`X 4`D]FEc>HPP7*\XVs `Xlh1z5b;?|w%uPV[m@*~^ 4tjͲ DO:0n8>m)6&.C:/`܂p&l{^S1՘=C')ۦs92JL @s]Wzp-2%ZPo?"zbf+¶ L֢'z؟BM H#Ӵ BC [ 1mt3@>fI,6k ӔJ'*dž] zԈw/D):]/}L yK^Q_|||&X^p~`ȹ7-/wnyZ31ylM2A:.׵Ɯǐ9]j=h!x$V;vo0)vpa kPO6nvW?wBzQڲq1>c6 9l/ltʛ'NBޣL%ps)cQĔ絛!T%4Zƃ#vݔldUT7C AB+V:<ԇ~B @Ǻ,#˜ ߩ .Z4 餉e>RbxsɆfH2ѩi F2ID'Mod ZLX_c.khpK^ey`*˽ is]L߅mcdbIi'K/Ŕ_-ZVB<0ޔɥ_9">prGʔ $#ZAo- X{W&G9@cShi 2N?o#t 0^sǨ(e?WVّEHum>$I~5Nܽ>drD.]$HwI[IԤkH:eHgԴ8b(~^{r^ϰUsE+3SW՟DY%E`Pp'Y|P+Á-JX:ۿ;6"k7GW4;wȶ6yW&j{aرTC^xL :C*K)GE}3jzWݛ/ڡգ>w_ `Jcz`CweQDV0[?Ѿp = KI6{,- 9n Z1AlRܫ❨M0??g|pٍ9/Fz: o$MY5cz?>9v2oL'{?N cz P7k27g"ȇ=?mY?Zry O$FMWK׀¦m{M%뻇$-5X!X+  gXl&6ĤZB}^h nj m&9Q@y\?.L|&bkI/5d(| qՍ';ϯUU,6-'Wڗ, ǵx$P^.L'̀^a=xBOfz1>#0ho;!qUTQ)Oy+O GB[m 5;P^EW/zlVG,-ąH8+۶$EUvCÙ :@q)bB;:WY.֘^[#5|=zʀ󳀧;= F|gGo}+(6&9?UVk|y4TSkl ~&'?U;~E%Um;r=b=v(aRyRA}3[߁y8)4 }_Wu61ԸzI4"k"fhŘ^ni}l|5yЛ;9}V'S51yA 8h qAlp8%!C:g@F5b 1qy T'k]N1KqOMi& mU+lH_ @]QjO-mx!ŵr;IQ`֙fK2/G6sH qR K!LiBܒ"Zap>KZt3$'s¬`=@ɉ;|!rP/o_JWaFQ vςIj9æ8Y3Bj#7X/J/ &q9%:A 81ϘoG f> o7e>;%lTUZS)ikhfwnP(ĉRZ}XXv`0*$+EӼtB;D-ToG|ap։eўi0#բ->9"CpGÁTb`uw!-AP"`[e $*7Rpg*fE[*,W凁H/VΪX1oDH˒\I*i {?$l״@+{N/NzOtsjtc-h879aO8W)^ ]NdSgm5/S Ǔ69BTN\m}9pe."捞]JS'i:[e"B0O+B -Zi W/iawщ* m_!+M 8F*@9]}q">^Rv\t5%"Ag5D,۵ݰẤ,-z khA\,я%ͯΨQҨuGQ@t93׼x&ٍΥ86=ŨBi HPJ*}2kX_a##a-o@ڹxdԗoQegwTc΂{:Ʈȶcz#d0tP;YE_H^krUGjǮ}3>Q(h),*.=ph <5UvꞪ/{tۀEʆLmw2ݬ]'9[Ŭ(yr=4L68Π J"W&N[? ٜޚYtUbH4K دQ_:.Ž[ވY4Pghc]gY1͠XYRtD>R\y) uUn:\[.zt`hUaUV=Ԅ3w2@a}^sC̜ vy$HJk2Q2vkZ둂p!~M@p~„ \{z0d)3 ځqYSS /9׽H%ƓY?g-Ş%JfUA?-b&j~K"JgbP>:J~`΄sS hx#7g)<7:#Y^n-nCYr_<#Hڝp*huiL*$ Rsp"+Y@Ec,-jZcQ U?#O8<4My>]da6 6891j7Ӛ'[Go#$h'=qk"8 *BŖrƻCN\r><ܿ>f@LE>}NOd8А_fteRc^#b7}qVBEف6!c䊒}Ga^&[JdX8?T$UZY.hKݤ{{.=b]LU8)UatXܰ0m/uuX:"q޸N 7D02%ASDx8%ί|bV'>:xr?"bU%$E;b\ C$o$55)u=JO6X{ H!vx Ցyg0ElATb@K5AAoܞB(aߐLUs~>-𷲎4KNJϟA&Үl9ҠJz8R32)Զ<x4& ?r42v۽D"wKWw{X< <*B[n{`w ˄+#,% #0no*ϒ37ZS ع$Ű\HUbP kQh)4x,`30(rڧ9KkA)/c!0 O ~¥Z&Jed݇S=)Bwv|G.Ù;(/)%Y4plHLм3OR9zwgy-@ʓJg_nyc7k7bfPL`{+?;%&RtY=mn[-`9o4jlqܴF^\W6edAAe'"`:B/ii{Z&' BE55{fơ$z墒@*4}~[]WZN?RG wD*{ CnK I|OF5z`$MSLWD <zmC[h;{'4H͙ ݵlsN\Q0a֜ ;}mC⦚S1brw0=.φyD4{:4R(l^^\˦pa6:xO'% W#SxN`pQ R5͟/2NE­ΘIaρM,ZgTOTzxP!> PI)hq'6@ dt/(RzTDY]GֿH+QwwA񸑸Qͧd&%\U~cϽ鉬ZGˏP9vgp*.'C̱p (nhc _Ɂ&qW>}4:LG gy_a|QA-"]ߝDDX{iۗcޤroekࠕZ.9r[?PJjQs:PxVa~++tyz 60I{ E~$K h!HK`F]sbҢл LF8Q.şID.vGr6x@H~e2 <=fEc&!ՍQQo =Zof7(!%rzKΕS7 `ܜaxIAJkW Cݓ2UUVɍ2Eư氈r#+mPV}zH.`Ԟ.>W<^3Fq2jI3¥p[*ɇ~e1֖nQ@cde޹ѫ# p"]P>?IgNmdB!"f9>w;~|u,vI@Z{n,_Vp@OS@IC't${Q7xɲI!ȯC T?r:F,Z_RZNU47UTg4?rO? tnX|gs,5?%NqpYzFaMD|${8&aj2^s@$5/Aӱ[&S4gȯWӖ,<(5׭tO[A{ I_(wI=U ћo\{Zz(wpѸT:V jm-5BQ>%QI3[ch:alJaQ7{ס55^$RK9RH0^꣎D@A⣤"@K8BjX(P̕xz^t/m7=6[(*tw? ÜIݪmyR,;~V2Җ'n/VYs[@ 4 )J@zW|(u$+xq͵ Tg!fжmbM;ku҃o.V*2y?7PnH;4ȩ췐ebe(5= () )u,T 'iN/d+ bdؤpDscdͿOt,Տ1M2ŸJ.20fY$[>OSo@;u1S <ڇ;%l >T(yl$>[l*YDQΚt1"E[e}8:`ջ"}< Y܅'pz)oKZe/y TJ{8Rg4CN;ҒY'+Kl#,]bo>Ʊ{] !<^hOHG@ߞEn9Wu3It|$Zb%YTS!^Jt0ҁɩ.LɼH41Rf;-3aa iB"vfIJ|7 smD/19Rn! F[we\*c {zDA2ߟ}T!KE}|-\Ҳ$}PP2\%>GuTo6/ 2`[7@~%A]>#V7@GN7=CB[NE8'͑W 5B)G1|M3/pF}M"~F\c/hYgeu`F\ u'iyP3OomU|% ĖX0U[Mh}mnpdGMC `2H%MU) qwR'ڦ.ldqٚy4ʪj;!-`ZV#ZӴA@f-T0/E/QLL N~smxmk)ҰI1{"k}{uр5d0=w9jI<{5ĸzliug͜q[u'v|MˤզChs"9T.(gzi\$@La%4ofJB+Z׿VDJooᰁa ;]!nN)0ڍ:0\ePa.Ե9_|@: ~;^+%N!-GU{YW~\27zJF.)P4py 6e.e9qiWdcBG)*p#>F䅛}~ŕa+Dx0,[Reg7!`۠C`k Vʄl y"GCqz~LzݺJ@+96( {3;9mG 32Ll>Eb 'CaSb"q&vhC=Jg$ڹsA< |9E0;憫@65mW<$0sFfiK6>6IzW*EĔ$Ęazf%ʰ ,׶y,Ru2Q~T^~SA6w VTx(%m\vup@oԼ3Y_M<9~-q)\w*^Okn)D+tQrcZTVwE`eRh~Z*Ucl̰y_LEwmjRT,,'gPIf{9X# b( t93!4~-ϝlP"0(q垰{Y]"rخAj81 yPj4a<ٸ{ǵ iӎ"߹ k=bI$n(2M;ӕ_I_X,Iž 0}+cI>."iRJ8qF@B+*v`q((g2ȿ2v[X`-Olcc TsN7,Ϧ\|Z0ғ^ݤt䎘,@ߖb>^9l>[3Ca[ P&tĬv0Ҏ1 Y*ߏb¼(I͊<+;:v n@E@X-3KȚE]`j<^GW!hnyu`Yo><Ф rK/٬iukU3w2gLX"@QIi2{CIg+{`D{x! |"% :zBfה~x_=~|2WKy^;w,Z A*|pT X}.A{P%Lo/'Fa u b߷Lg4F>/ANl9(`s"}{`Y(anY=i|1yf/Tǩ\kY8_IW!4stfziGxK.biTQE.7S_6hӜ* ndW+w4^䰕*z[~K eL^e, peA1&(qq)bU7ehxzޛyA;F}9(,}11(.-$Dj='4Y*x^S1wPz)@BEH5C7VaTGW~Q1QI3h?}Z͇Qvk_iսԞXത(RU & .ݺ>k:n/SOX8Rp/ҳ?ΚkM,y`F*~0wY{Tr'NjD ޟp(! .l$U"V-&O]iY{oZ$K ʵܕeFgmXB}lF 9 !l39O ?'OTػ[~y EFS`/6{Et!7B?cL_x)J Vcm\]mGF>nzB/0r(&ד[ >9oh;2-+SU#n'Z SMO9"9Zz]eU#_#O;4rEP]=ѕ?݅1!W]W^#Y#9p6ԳMLK  c,Y&8.5)GH$* Ù"'z7aMA pC.Vh+62JH!ήt٧{deQsom>sUvpyl`SY׹6yǢIb? ]Yf> 7Snh]|NJXcoNMohiڂ>͓&bHINOfߋ,7O==zR~~Ik5MMFpYQs3#H#y6Iy!}3XDhu w 7k13#n:})!7 8u6#;|psZh|ԇt>3v}Iy' ^Kr|kDc=b[#ݸbv+Cz}7{T0^sqVb`$\%zFaDbGl=)UoSI;Í$QS ltag2";$S6t;աGR]gTC \/( n3+Tq+bmRב4ԇ\ 8uR SgS ЋP᧖$i ;D31@EN+J/4)q'*K ,Hr%zA)JX*G3NOpt5$͇,F2r߂cUq4ܤ+B j{C6\ͧï02w _U)rUlM3Ƞ"\A{d))0!Ozep{HQp)Gȷ2ycU6Bo?}zՌ"Tzz2p`6,qG$|+ya17/ǜc}Q!w27*2͘JY`^(^ &nq5[݀vCΊ6?xr7>Bpjn? 2x1 0 -^c z-=XHѠZL݁yЬ:LFs&N{L@&x2(etq ߲w0D#ѵ{m9 #  x=ӻq|[yL]f3U"0!xH~f-i[9_;r S}f*@zN434ІR<bx-ƶuS}OדB֏FnAƦ0҉؎G}{ՆftVHNla?E^Ͳd7e;~>T/1u{j2|sJ >%=Zm\KП >'M i:cp}:Bs'@Q[Q)xH8~k5̦KRZ#;Z;q{\[}L&dTIZc:Ŋ2[?.{ehYHu8NͼLS;[b~wM.4Fb"=j:g.|rlwïo|uhNvqsvS*ԅWw"!o"bR$Xư,Lrbo4dʨ5ma*AU?+C'@~Wei^ OәhVMumMֵ>=}؃lo0WPdq?&u̗ĹTȣv %oᯀ&B;Ěod2 ɣm4 e׎3]SD2`M1Fɣfg@HtIPmK3ֽY/J9B{Y ʀ~9~urpQ`O P1Noт? ~M䩱\e{KV V܈?>%AL)ȅsk&؃T"r6oEDcqC/^2KdY^{.)lѢP;jKTnyؙ3 E>Zl S~5&{t=$DRznO Q;b߷%pB )'Q**H&lr"W0`-=Mb}ƫ!<6x+)TQqJG ; 8a>hbھh߬!+N+-(<@k˨**L񡈴3V} :o%JwSj6H܈b;1"qRxR_ZHxUê!Qr}=yӫ٢%T@ѕB˼- '͊)w7MuYKo%xZ]U:Q6@|-Mh1Hʌờ rbEXvܱ= ؗU*w2Yׯ g !A7\hhtCZxA;IKI-N|0Ȗ=IqmsؔT=x}X]'=3 )2SONY9K^7Di6|w!܇, 3|VF;MҔ.7 de:R>^Dv!+d ljkc=GjT^͌v7J*!-Wkk;,~2X~<_nq1e2Nx #ejRZ? B.{g*n}rwc'M+Vo7'LSK6'xkIPYvTyT?3[IRc pWa'z*I"QbïU\OWF` ,pI5˛ :)&eә02t, iϺl/a4_9| ٌ @ah"Sn4 ppwCw;F??鵿DFv4@qOuu 8\W`>šB W9L>{mWo=u0%|,$[Y:QR,]0%eКN\gO(7CM|!B4fT!!1>ֽAbasxgUU 23 Cc9,>=k!L5ӷ*. -3Ֆr<,].GBХsXܵ<ؽl\I7kLeR4*99u&,]^%\*bա<,oXww1 yL^c "'C> O51EFC?Bv ~Cr@) ^-Jи\[^eE(g'-&N(Ca!'!~M$hO_2ۭ=iz,m.>>ge`L1/pSѷ <Xʩ"D-9siG`dx {vca|p;=p!ɠk:tsDsFꝕ,KHt~IhnU-MK,d=~'MKH_HF},Olk8[VɜФ糫_p|8˳eݏ~z TXSU@J5vICpsF}I\4Xca:KF#D@L8 J۵R~fN~4J8GjeU̓?y` NƘ&m,;0.y H8T\FNlT~wkI96MJ[pL><`{0]r48ˢrxnm~#'O0oP}ҤrexӍ4GGy#N,.$,<~E6R,B pWw,Y&̓1Ȝ)om`醅=*i^3o7 y?:g3HaYaNFs%)D_|#ߋ d~_kOUM.\<5.SMFl!VTϞ*Q, 53MxՈb@)#"@!ydrE(2i|=N ܏~fI͑o/D=(ew} a^ʼ T3{E1,̙i6Sku|5eО1xgVڤ5~@C"9L75*X& gxdh,%W~*w 2i/HcԁaƟiD2C{@gu8c*Đ qdyU@g"nⴲRzj; s=3Gokj[b Sxy!/& .2wĻ>8LFon[9%\+xE@140fZ܁mc`HZ?Y`6`^fsaDdIqoKHc,+o(scBq+UL%T`%+IjhHKT{{=܁pXߘFX=[E0NѲ;:,^짐MWn8D辡}27 _Ļ' I3 t.QH4YQ>+N@4x"9ṗ136E.sAUx>D|wtS%s%M5z%\龅 -cT*m@4OnEŰ"C ONR~~̶f6!A-'KfmG F|5vV"B#:ItzpjS$m =~ܬ}>DD Dn2; @^&!xG;MDs,N(yࡷǪŒ\:v]YUJ]meͮ^4:z(.E(y/ *p'Xmh#x3?r](LNB_%FhȰXM(0]i*\&,y.qRtt.Z2nDlp,3)g"W0iO7`v'Mi3&kNB80uN3tojܪ?\W]BU (/(1~,bPp5J$Eh fŏQY&'{^JXVesI&Ҥ'҂4rjҨ&1eralT{*w5" o> K"R< Y KB 5I7; ] X<}E{t9sX'8Wd'ͦ B*#m*DGLhѰ4c"$F,+1#@$N8soWw qlMi;8ά@^*'{02_^8Tʢ06zA)2,tT*K#!h=ytL~A5v)Z*h ؚI-!S/;̚n}#;`4R^C sIT$ u{u ukc ƀ~ P1 @nc炍h sS_c{B<[6!9S5 d@Yyӈ72"w`_>pYE ƑGrP[ VjuhҷPoi;5;eDu>r(npri є]3$L ]/L@ a%dW$OW뺐MS*EF D *gKjhVgmLaqcꔒ VKNY:j-fv8. )ΝS:"'* AVUc _kK x|my)1avO֯"oOf] f"yb24-C0IS ]rG&B1z6p)G:'V^bXϏn–{\bV?#~ѳgB C;-[㺓QTjivv":mqe ;y-OG=h x]x:-oڼ)屈0l6AS#g=s䚐S1 ێNJuc}1Ff9jTi@1Xbỷ ifL%֒ŻCɧVH̓r1pJDX`v>8.cH/=]C3ħM=8zi׳ _e&Q|H uR,tggm8w;m~/O2X VO:rq(ӧS*鷰;)D0Ы=H+ps3۠_OH1L-^waԥfOO%+*"n0^ 3o%']%?^  onBƔ<qpA^!KTl5 ]ٓ`ZƑ"~hŒBd.쥑xD Qwջs?KU`ۚ1.K,:N],tMPX )EmC.sed!¨ )R !A 卯5: X%!8!-uƜ we뷶B=R]L!wǰ4R\\5wYsNa_y穌Mw}C/{4M53R?U|Nܻ亮 b=,,GIK-l5MkB{6i0 IY?j$K3yAMaPWSN%16 !y H# CXi`S;zNG Gje"<S" ؛fg9J(hăV[{v}Sb골o̅<bJr.j6!*Rfٸ>ȋޚ`٠OS/?ƯJ9K"'`PwDG<`Hyts| U# fїm1|fK2rGjZ1{>ۭ݉hig:?s3@!sZ&#lTLEba._HTn%!h`xO?ԛV_"\{=%bkԡ|ՒoerbD þ`_H(N6C/ż|2 Ӟ wtRNd [ty=~K B )U-\Z#t0&=pBhmi+L˧f*Z O TXj$ҽ՜^8szDa˚.,JRP]<+v8X;}Rv']27e[䅊2wVCaqLݝQU5J4:6*Ֆ5Θu0ۤ?:/+Cr(PWTb0gCܒÇ26J׿Lс`fؗDIl"sbHCs /oPVꧭ2?Y`ګ$cw7H 璀mB*3e BI̝Jͼ.3?wIgEӬCyVD=SNYkff,[or#~Ӌс BWs/B[􌰷:>4 O5o{ ݢ?P,,JD`bzZETd,I{68o$n"M!EbZ7+zmwn8ODpֵH0,slߠ7׋+eCuf Fp0R=NNgna51m9M$6B11-^amD.PIm' |JmJ rĆkt˟ l@?졊ƫ pūykE=hA5QUuh֤lQXޜ֧PZ 0A|W-T6鞙lҭ\~d۶)j\a-=H2NX}zi ]p2NYZϯ I*2S7ۗT_e{^2lƔslp$-, +14<6"߳cOu曅sp呋i)fE a帷H,D2 t= X8l}PMBVJ 8{l=V# xXޝK tラ#vā6)->1N,hvˮ=hnZy-I>B89|:W<VbfI^ z<ǘ6)h5dHߡc; ?IXS8QrXhK'ߓAʕ[ ;N"cO%gom0 j€Oz`Ghz[Nqihl*lLȞ'1JHMlY]KQ6ސj1L$3=97!!Nj7K&FOR .W{L'ߏ@|X6>cAmA&4WѹOlmً&GEY!>.QAc[$̮`<ᦽřI<>Uٺb[2W?s,zb~ݿ/[@=;wP59*L.gh=;r?IѨ7eQ@Ҹl/W Y=f1ߎ[([=RƂOȚ$ڷ[l&;泲/Qqɡ96,nٖ3HvC2%Ɓє;?K :픬it[eON;Tk!Y =cd,Ԏ>IlA.9Q& |]L &`eG2 /J2ƛ+){RfD(oIO`xSAmSekhxy\+z:.΅2 "AMkh>ݪiW # S:E90+9?@? @zRDxF"_4p Ĉ9Tлø\3aBFM[%@tF$bPM6AD`%"x5Nm3*}%GK$e1.ԍN@5E0ˤxnΗmNZ6JG&0*cZghD*uc (:g:*?yhXѣJeĝhWe~M p:"1'"p5Y%]d0#~OP`ߞ?7AE(QY\4V>V.1ãݘK|{=A7\2áW*2=<|TІbI . lu=|2^ƫGi-/$΃@H8"R^.pP̨ٗ^ ?" 1aeGƉϘe]聒Ǐ] lﻍNQ )fh&R9"P+>eF:Xo5a|RF^v՗MN[ /m%DMaXbs:R0xFYU{ @?_r,04gHY2 Ie9%9/'⻍wWE ¤[8o6R4[*u[4 S"!QJPi}rܹ%?L=/ Ԅ1qTGI-\$PyPݦSKQa\°h{1o͢Phi:҃RB xQioI1VWЧhwlMOMȎwU|hG2@Kδ␢̬'3. L!?A6Buv5rC{6۶Yv IW9^TJ}.X0Hm9>&'.* %ۘz_PbfsLIt8x2iYXC$T8JdɪY&X s>RJ)\r[WBv* rc8vV ik.jK}r[@U׉ Vb]WՃw4]v&2%7. Q˵EUh_o|=Ѥ/)۩O0qQE$ވIjĶ?o6&U@Hmf6+Ɇpikjr^=Ldut8wgwN_k'boԟ3ZԘJ;.쎟tUŮ»ϼ63>F%@DGԍodUZ.98b{q/ڶ$fFzߍpC*]Tb-HD34EQOPNc˝%i9WPEbio-_2(b O~)zܪYvJ,|1K3sk S^fzx+TrrD =m7`+k2Cܻ/;Ox'*1*B+DY1`,oze&^.mg!Ko*ºv?8:c~'V\,00ZiQynFK֢0f=\Af*Ϧ\6be)PTNب $5P8i 2fpQ?ZZotL̓^ubڸ?'l5r朦ʨlQy7̳ĵǥ&آuZX[M%IU1uh%"qtC+~jEwSfXc02|aₑk`[1t~z:yR=- H XVf+B?vBWGj$,4/Kݠ^D%r[Jm?wIq Mĥ$;1;[yg{2FUub~C=>2eqD?f[W1XoPTU0wQ߻er.Je[&4:.6&Xq49\4b1"#ˬpM??58J[bY*d+/ҍɰ7srMnY Řȓ!|fU3 K-]kUvےJ_GR<"j+*iQ='haU.]I~YwQB%IxAYIE袀[(Sw״thi*/w(=BXe#(uǮ Tr˚ϓ{ a)18ޘ-f.7 8r7i`$`{"QPJH'_5q3X:L@6!: ^ FmB$kRijFNB߇Y[FLN(k%i.p.|<2*#0]< Lw}-CF=#tLqPKcpR&!KLEE;^1)G-Qj'Rhe<$B EE~Mf*=JsJ;T׳"x5r-[NL#R`'ړ#Ӑj}.ھ4Z| 6F}hc/!x9]$GNDK v`[WCa %oG'|Vh0wM@"ܾ+.Dھt4.L s'KRNu?W깞 dSWĬp #k C1YAИU/]SϻOnis \bW*I>r]z8T=e 2Kq<:@KϸAhlS/ Qt|DtqB 1匊8SfG\z ! >BB9S*L=.fS=LIS?b"YgfJZ}gBOȆ m zHM0!ZN#v; g҂8婊Z_bbW?xzߊ ߲7qo0>r!h᱃-#ׯ(X"Ǡ<˩KK4RIv֐Ԓ /ĀS^ ` ϒGv,}(K[kN=_1xTt1Yr*.}Oј@"ʴvvAv,&n,?7"+s7"yS6 p$u=^ ;'ժe!hRўw+]C R\GNKH`NF^~DOV =ǯϚ|/ЕEϩF{|&tI gGȶb~~Zͯ85=&:VШw.͟K&I]-%Nq>>.X5b4 _LYe7frvD:U~7L8*>)h'qげ6F Q7hAbh'n, TXhOgAӹc1y#7eHoyYC@*r1C9A8$n.֮Xh,|J;;?";u Ee'ʿZ׎DE&:Vz*T\0K& ;#5Ykx/>&D'R]̖B]%qFBVTKT 9f{'ΫtN6DZU'R3fv V[,]H>>̍h?G$Fo}zBM?kq]|d3fY+x < }@Q]fKLo\ϓ#>H/e-dO5;r1u9eP-F= Hh_ft0M ⢥*M~. ɸӸ)񁃻AݦwHh-36`k6דT RA:{0CQ8~ts6V̓v0a6{,Ḓtxh{&2Ct1,+D[kh؂JjeJb`3$v KXgIt0⽯d3=O>݃_W.UB1ӉMlᘊ&Ό@X:Cv>hEIyMqm];74Xڃ[+6R(B?&.feC \>#:%^C"}Q+Mǰ!gp\> f'M8~BVEB+=7sjn/u *Ԉ*wVҾBbvڸ,Ia'T aĜB7 , oqc()J#I1HB@hNcLuk^#IYf&aaOhD]3z ؍5`ZMǼ=Zo hwnZr31-cnU0xnh!F_إc_EB#S!}-[̮0r⥝χLlK+uL*&Vl ϔ'YfGc"N]8īĦTI;TRp>2y-VoXڒKܯ ѭ'E-8O[/Ʋj(B)kȴsj(s䢓0,ـ*䴸1ģvz[MWhV ?*7 _l H{M`ʼ/E8~U %i>$a$z/kV3w(1Wi'jTc0pg_:y ]FST\"'ᔊ=NEE$yKǹc@6#HvD߷1DC~u怑4Rc(#DG/CK]prƒwzkǰ]YYi_fO[a]wJ5=i l(dq3pOϿiPIޓ[y wͮ~|҇XoZWӀt{Om.ٚA_~^2J$4h'Bkq: Y֌ GtJh qXy5¥邦 - BWܞ T^&Kb>`VU=+bM1}>F3)@Usֺh VuCV m-غJD*n{κe7Xe,y~רG4WӚ~+D`F˔ayWlX/,Zk dm"@0gߞ tStSpr|jhBi(U+!IZb^Wjs߃햓v?>2ϷB H1I4GjèBU8SpzoZ]΅u 5ZmOos"vERr%hc=%!#oxɏlWyXv]cn%W&F˨̃vC2!n^8g`bLDpBkbbۣ8-#TS JP-=oNtƧ[HF.nM&R]7iFƳ>$]bjEN87.|I*TiLq9[~2m/̵ ( =Kk[ l۰M+ C;}|ZLH޵̡uxL6ZA0|9Pޙy dF?l딻-ЊF&Wijex3x0GV5l*gd 0[N)ϭؿ`kp+  bQ5()car4%b` .wQ t%eF)`+Il\ U?o∘m$]6oK%c}%ryK %qg5hDzS{CmXdlwe#a>&A$2&)uv>rxbV/]1~,1|v<-9_z#24;=4RF2İ{Հm棪-W!:q>ԌlpeQFZbQOBЌUTR̅Hi\\$BLҐ?8}f8FjJX䵍Gpӿ Li]믠TRgxo:LvWp2#P`՟م0%x%-$k/V̖Z_m-3mDIlh ;7_k߬E*OWlE_lˮdjIg7l;LQ(fTͨK,Q[ kU|J=jv:o [afQF|RX)i(&9L9Gˣgk+ O:!5E4K|>o'"9!CyR^q;]*P:$"*[~nq?z UȞF]ZF^c5M}R?E0&׌IFNe[u[У%l‘yvA!/K9f'e]gLO`^H[ӛA Ch5C]buP"\OaޗxHOnHIC餔If#X_lm@ЬTE4ZF @%9/ QUa75#tMl24S3|cDP@lLMEqnKM6k䙍uy!1 K-,0&v >ܧ`$:4 !P܉I40aFogRҰތQѮK膂6ubyPz3(QOsEp,Y<>V'BHPM]5#dq(ՙ]uRx+OeNnCTĂN7MU *5nJ&2Ek%(eFoи~JmÖ\q[Wyό-#r[/r%dW[L_kȫYUOtYim?Cz5}vқ6m7$V@#OKg9E1LPV ^p&X>!og k7[<k :!$CnXt 'Ql.d-0eΛah)lWD &"ȳ3\n}y=A@L,J5Td]?ZL<ŬUf3c4Wۥw9G`>dԉ};sv9p)mygh`6Zx իCމ~&9jk@zr6ĺs34L.b}MyDH@ŊE77}jND){˧|vqy3NE&qRLpn?Wl_vEt5˪ liى^327 lQw.Mйt c@I;7y"E߭\rKѕ'P،}Nط5,3Rd|ld2r)KE'.iOkpw*2卼3yZ^{6?mFߒğK iNk脣ƃW>蘐a32#_܄j͢ D~R碷\D @X^_VU 'xC& r_r}_+,!Ð @ow-Pyz?_htPC+.ojL_8p @rMf Dopy H]v8gѩٿ;K `τUc\l!>{!zcB~-IyVg2"7 f_R phrH9%Del5a=nү!)߾'t&6mTј}Mt' {΍Z*ȱU0lD'T4}dbxNpM"Q5: 3p,,(:f0e!{,3}+Z3 ^\\u˵"▶Ta- 6Mu/i": \/@?ޒא=Jm5:VpK[1>t%UQ l׹S[ ),$1 sʥ)ݿ+$ýR Їv1ݸ>ZgRw2'PWI HDWO&~}eY<_?([3'l)9PnfV&9Br@zKПO(,ΗPʑxJ9BE#wۭB4_/Y"F@f{!%)t7ȟt7 p" ߥ+Ri] 40~GeVG|}( c) IˌKUG7~x󇺻,))ĭ:D!'#gĒH9 &I"gc0taN`+`tȩ1[ F)OXmEP3YU3mfEDT81whj =\*'x4M8^T, FRM#N뼇 A}Vve!J,8fL@q(on0|rw;W6}|9LbFT9lHP(g{eG=2_\rI:˷+)tݭ4ጊ̞{i"9&@f's MUvL>PQbЃzjQ@(`#P {\]Tek}jX~@ێ"yȶwIplh@ }|BBփujaBB$gHp ~8ȮEWt-A;qf:U Up:I Vx~zX'EHьY!;"`ci)9Yk<y\y@*"w4Xa퓝r|k@O͎Fr;$zTl6B3j~]}(Xat.HBgea)hg7@.r~eWSů8x JwHO$%BV&䁳>YKS PAd8>cf7 gh^ }D ;Xn7̨ZOzSET!ŨT4_':p!5Az 2>l:Ksߕ&'@/Dus` Ғ6dׅhok;jF߾e]8Q#ƨcOge W{F7cX ĢͺyF5$ 5/ RdP6UM2?Glrq2')Cͷ]}ё!qDx[a)ƬdaRJFT 8àdcyT}1ܺR ,ALAT%wc2 񿌳';rEX4Sr9+@܂3 D_v 2euUG\LGGR_! )@7fMP.]l`.%W̭SѸMFl?Ԅ;W.H `Vq&Ֆ^XWoh:.<a(B|Lz9tr P|L DsU(Xw)GFEhsP`m|ڠ *a^ o'9FtّqxCޣ ,jEW=9fDXP2mʟ"xg 5kK,_uNsjЬ0Jy)XX йv j3Zغ&)u,0u*;"-)h=}Q_4+<[I0E,47Jc@+q`Ġw(wJ\2,#NaU,G?W?qLbu%q.<˶KXҐh=ܑÃp4# vܳ#A@qƣԠӡя5#NG>5;eEY29p+NPkm?6=އX6\d5?Wӟk%eeAN=55#Es"rfH~1NԀb Y#_ Q:?{Ua+!i Bv J!rH+gP2(HG<(rda=8CgOSВ~-<Ŧ0刈WDƵY1j9YLY_]#7Q`a9yyB}OX)4>tH'"pG 1=&fѕ,9$+NIys[Fm&żznf5Ps|| RkaAQPM&P:u̪|rɽ}xP,+34ۯ'fm9wT8t. /v5tfkL&NYH<o0XCVY<2f+Fpkƕpyޗ r9H}^w>E qbT?1 r^rմ.=[ b  -a9ƚC:~)XVXIW-W܂Y4󡧐4`a>)*%݊a+Ve9_@$ mCJȫK̕L~EgWEM7F#qDzC=T͕[]c˞X 6TyMYm`c%aojriZ@;B|?<@9G|yѿ $HQ0.g`(!*kj@/'͸#i3q&a~L+G%aƛ>DΓ8*L\>w$juZ9T֯MXRoF?YVqx(_|%b? !zM^s >~ѵ(l`ZFOPF=̈́ 5Gh=W4\Q++Ǫ ~ 1*v]|~\FjS̹8 h7 ;qBJ6ߖZ|lQP`9 {= /+2 pe`wbW$> 5ʯ˺u,oª)Nnnn|mAiN߄%Ѱ!=SF/~!928`bdyZ>wfE_ 7S_v׆ۖT2iie 翌roS MX^%4#]STKpB7)ih֥sŶݛF ջMEZJd{\$@}Ts30St3`|?j}QWB}B> 3‹> bk-HCBWw@C;DuClr:!"Zi%iPNk"Ϭ%rXiYzT# cɋ֙Q[$ ̮ '{1laȆ*9r”@c@/{YMjj/9'D~ɡXz"ܽ5NRNA,3C%+i蠋vH#Vz';{/_!) smi|/t{1j#>3ks,p@ӊshOm՞ ӛP9$DPL(4[[ wI:~>yS nFbW}ThcwaMR8k+-=Jȿ#/õG| >x*  /`T`Vs0Cnҋ a:p۽ndBhZ߇+G66J)23 X*ȨXvP=gۭ!As -<033u"Ifb|_Ēl3zP#< {I1|p\70(9# 'F%@'ѴT^eI`#] cӞACu5) ׁ╛'aT0٦HoeQ:W(A C\֗,9AX**xn UV&lj;/$0t%gt=ζɱP뗐m)4ux - !|$-U7Ȭ``%N/$-5*ˆ˶W5^Q%HE,ds(. Git0f^>_pqA!I"TYR-닼L{u:3咰zNJ]yXd-LrAKQ.&+jزۯtP9vff֛B!CUY ]Y0y?2ml8F"ϩXq(UcZ: %0I!x:"A}{R'v+-֥ {S ߯HK5H 5zuP^kՅN&3ӐF##  V5C[bKaܷPuJ^Bpx'袠Fw*|˨"TC[UD}CZr%*Ym*rs8ź؜Y92!%qV&(肳Uzo q;Li*@/|l+i'ZZ0^Y!ݥLCUD5"3LAB;b#WNv+C]]lyXD1R$^?c5F8hNlmy s\N_2~4$pm"mTQXQ0 D`s?zbJ4aY葨|Ij࠴;*_wdԈm@WI~b[9Q[{zxג#+r9 v cѲ!Vuܔg{JkB`̅_吙jl=2{Ck }ّAE[u7;݋RJu/"Umqh.ɸ.Czk0ScY(٦Uop](LqgmC}ύ8\vj7Ǜx vK)T9G[8|퓫 ^]/a) Adp3^x}dH߉_LNJ%٨ ~ڒVhD+|:Y&SigՆ(wWZcp[m,\3~DזSb뱂f&1LbKuq8zwVXJv Z*;Bj2aR LhLmgACS/J5 ϛUA*D^+ M—K+i|KRKDa}PWv<"1=|*#E8YưЯt냼_!Ϙ@8iXsEeBI0P-']Y6r,:Ls'MƁêhKڹ{s A+'J 5ň .BbʰbtC%ηmĊnLt3zM}EV$rA$^4u[~4TXG}qL@nV(#/I:oH;@^@tXD2BPDxy?Ik,u B5hZ[J\߇U:knF+ X/%庘rjMb l.xPj 'ُU0Os(;sƓWc8dVj:~l}To̬ir +r{o wn)zHZ+վhxM/H"ن\z]Tv>3NĐ- 0ٍ`^u<µn8qjKG[8[:;_fB,Qc~!hfcIeEBrywy4,4DpY9ʝ (ϟ"ތVҰkn^:$P; +ZE&H߻qeβ_Ҧ~ iGJrz;,}ELhŹt3 YcO`U{uiViN]:3ԉ/mvkYJ/B@9G*}C ^ 7C:DmuH䏰OVջj1qZm<uu&$jT/߉.![jW*3GvJs6COZμ4th+nt6=-,uϹF`bK񻺶*.08AFΛMt77|m_T*;`sV?| @cFOCR1p+MM% 7r vn%$I$1v)4P\6ZZvgG +tzT܂p43.rz:uaJNM1kTzU[e\Y)ᇀ4Fo3-$} 4S 7lFL15}uZ6'})!Q]]Zsi:].X+_@MȈbd UmYIW31'hZF]vˣ 7*FW؀u<?3_ m=VUM{p/  ]hyßpPjx3a j?r`#϶I(䂣'aΡJgqriw.œ7>RG!ˈ:=X4xpaL\yV-*[i WB$-RF<-^N<3H{}*lAv,!I4V8P, ]\'尧yTĬW<"]ֹ+,Ԙ a,ܲΔP] mz7~x7hݖX 162πm4IIAP^~ݩip2w7o~٧_~t`YusI1DOVaH7R&+b5)dU + Ee c9zIIT4BRHC NW! IYN"2L^ITߜYG$٫gg|iOYRC؜a (Q<40/۵7Sr0ecE>Nxw=9mEUϴ,o)Z@A~Wz\lBu*6|]h*z\1q¥CWHU&z#J4"`\V(xx& Ù~B;~QRh"Xwy˺.kA80wvų%SšTtk_Z lC%rNӐ|e[ LX%l9 o*ڱ`c`o =9P4r cna-Qpr*"b~|-!twowEn-SQMi@ pFSR.F:] XQre]o3Oyok6>ם% /; ~~'1O?oM~zN WnцJ\'?7h^.\C\̂g\g.+S篂ou)Tu2e9D-㣆f YHIdt5m@|fۄuIks/uYp*Yr&^Pr(IֲY XoRV2ѳEO"䇁ߵ˗Ct 1}P%@96z;xp݇Â50S 1$B8 nTG6v0`ߓ黤7aVj/-ҙC@ gf>te٣j5{i6.Y[(|Qu #J ^ӮK]ʱ|8+3Qw[GK,%(Hmҧal,cDöR[z :(א^!y:S-2kS|eaf?b/ZaGE"{cB[~@EtTP.q{PPf]"i$0uiX&gWM.} -T á5eN5sPSբ9,:_y,#Ä.Լk$f'R뗮04[6d!護YԓA k L'$I=<5MH 5Cfk?sމ[ tr+ҵڱӲGQ$ڴ [/ENaW8@{CZ-&Pϱ+MLWyCl6>!De!E|`AUg}š-TC` iE=z HlA}\~ I#q2{ּ4{u5 *$B, .123 "z{dF&,ff z\yO='IzNEb3 &-FTpzܚgR>8k a{D|*)Q#&.(I;WVAܠ|~U.Cb'Te>0kx@U,qsWP;4H4 f5ݹD fwOc1mOc˳35\u*ߜO6y ͅ^-uKIi'sZFt@b6Z`@$ٚ/BJr*.eު[ُdՌZ'R~Q=kZ% 0aܬﶦ]ؕZOnK=>u#b6DP?xN˾ _wqb_}( n"o.#Bx%5)C:=O raR9Cɱ3 a0/$O<V3>{ИRZ'Z=1-(rG<o_3 1lVT֣q#TrO-h#Y8ƾ@:ܬ/sZA{'' E%Κ7N,Q ".`$~0w~Fԉ *ዿ ?'(2ٸ3Ȑa@,@3u)Pm̷ -pd152ѥ@ 1ˠP2mϿLu/- _+e Ĵ~*EDq\@CN~8MHWYcT&Vhh7o@|Ix*D%Llk$p@ ~|%AS1b^@nj)|l#*uc jJ4:;PS~ͦ;pm3+~=+K/5E%PT^veO\I  Ns$\\o%aϊ/WsKz8totR9׻y27{ n@Mcz_*CЊ:Gd Xn'v́Tv I9/U 5$_`cJ&Aۆ1n!~C!M\wYSiz h}p ?XfqEB[ ?E vNڠFp8W]D؏wZoeiqhfmZ?mT"6)~EeRYR~wRqhfoٔ4U Fz8ljP0";ٔi¡S}֦G עV{gU!me3W4Lĉ8#~/+Y: #V[ff vx*tBV]EN$$`C>TݻQC]pCZ}N!(/7G 3}qMN x6mrMFv<Pvmjc\IT_B~ug.H^ˤd*siB[օ\ %7KVdBTUFB'hJoc7VuBdqݍ&&A v|,A(DJ cgᣒ#ǡ:VI8 d]'Ⱦ^z|.GeXM)(GZ%{ͺ/Ey_B9OޢV"fa%àԲg( DB#6G=5K&l hb̰e/-Q:I۝*Oa8I\!av t ܿQ[_U>*V6v5)7@~hQvG?^qD/ uҺɀKwQ;=0`֓J7^ WV X؁6FP/Ƅuлa}1Zi nuQZ𑸌cۏ7h B:";AE` S1M'?.{it0P׀X"8%>L8ɩOTkG9-L% #^Yb1pn`6~toN[~oU-^xն>ֲ9pX9 r߯x~gN$-uy9 7TSMIa6xr"RWɩ*PbQqKQ Պr9ٽ촖.مFٷ3JHc=!8%8M;ⱬJȀ{D^SXooAsk{u|셅d鱪HJ󂉸r 4/C _\J'"LU,g ಿ} l 6z=%31ocY \)/uv4$-S`.M:_R`=tLf͹\$1سo,/T?*X/QF,(idx^xN!$x GνX$%#a7 `͇Ա)r%[&v&~UNS}%SDظ$2QcŮkD>w媂9)g1@\ɺ\S nk_֦6,MI>NomwCls+v\0󸀓(_{3i.%ZYR$'&h<쏵>qS5&Ȥ 4H9t(ՐP.fO8]aS {̄%`P.,ԑ{$EDK^zݝGiM wK q6onY ;FeZn_'t`|/ϔzFU+2קw"{m-lv30L4Ƶ^oqsm<$"PʙUcT@"M= &8}xp}DyϽp @Lﲒ|08LbR~ {' , -Pzm?2V!I7|]# Xt1%ҷfn?0YdtW@}_1&/dm醯 k-JUBv(p~)ɖt=aήfv1Z 0j ѩ^c16dNMJIǮ 1lBr{ yAIs;{+'<0SH*H䴅0e[f!D%)QPX-,C6r\ y.9rWfX U=9wS5Pֈ:}.L2Bʬ{t7 w6ީVY1*~@6^k ؋IuID.fә:xuV#"G* QO}ŃnkЀW 6fXV.w(C\{ty'jE*a! "?S>8o\[^v[`79?gY'j0΄cs,w\J)~K|XEq`CRgagS(x;Y㍦sVR_' _& l oPkUgpz~*@k]&.| PuHݢ3OjΠ5;Y܍?az7 ;83| g/*)k;YIH3/)c1Zu方ʖ:ȈSgqwJeq@^2lڙXJ4N\.M2W%e{Iq2i /R_P :gj% SR#@ Ւ=d4wW Zr:%FnĐZeAF /0ꮬ!D޿4z!;߳;;Lqhe&BAvOaNw yNT\Cp)J\!BulwB.Aa>n%uNI{;tHǛAAv~d^ ;/[;3IVՌ{0_B!gdLи:Ym,0s>Jr[i;v0B^j+_Z;k/VOތ{vOķg$Fh^Ejtf`?-*ۻKnx@!G]rf}-2B$:=}j] Ar򗹏#A]QBFfL-k("[M6@o+Nu轣+fǞdAqȄ,0O#7ڔ|f: "N?m0mSJ8Š "a:Dp؁Fd:i dkB^C+dWr9 Nc h\gzZ,hqX*F4 -8mGN!KKեc#XHc 4Eu2!^ QMִBSe2%'`ӓ] ڇ'@(PFG1,r#8H,S2=1TZu#1R1JJ?J䳫Vz-N2Cx6,ݟP j^Y($Y|u̟ʷMe!`Z뱝?U "ܾ7Jgmՠ8ET;8͹DhZ_zOo[an> ;N!!r?j)`VݾE/,CL( 箅@rښ!pY|>O'[Rp[Q g9d @ɑTBYQ9iX,%D^sQg>q *IzO2tZ2wk~!c"7gxkD_^ϦaԯbxM'zb){bx7Vz޼WtJK_8 Bb(z%.F>(]G }}{z30"p4&هڼin3& fyrsm5ľt[~pH~/m@vݧL1*KkIɛ|2j5X^E gq.0 J2Yzh>5Za&(@AVyo[ޅwާM/] c[`ꎖ)K⒜$R4@}UyhZh Lz;TN>i*Pxñ wen>iœۼ٣`Sba?~H|U #[l5 5/ pLIE _HPl6vfJ"tio'y2̜ };Vpt@Յ2:sv#/_8͸t&b"CG);]FBRwZ)f=„+g)%w 8`dǢN?:I sT3++lȿM#%a-6DUDQ[QMaad36eMw8Lm b0':u%MEiɂ{;&o~S]SwJ$(Ɠ'۾iY(,0<0=EI=!, Az^bnTԡo60FQuxJן2z mQZޅ`hKWU6E1 sQ78$Cި6o"3l!.ɯt]oˠ؁T+'X?Kw{Ѵg.Juݝ { ⨅mpTcE*pX+yį;+H:p@u[6~dP[F.e*Ugg<*֦Be,A'7){o K\4Sz*zt]McSQc6h[`7_BlL Ck>C0ă<|V7jDGc'_`G'kʭ d#sKÈbNOW=U:j89 U֭-t餯s0ƉiaTwY3eӗ#K'regZ@˒f]UpW¢!WO"W\5LJg?dΘTݓvFTTdN {T_[8Vʤuvb1Q[)s(6qnNG}rR;DT Ms4@%l~,'I{"\Lݞ*1@FJi'?s@A7@dQa1zy(mz[ٛUA+UA`IVXPirAЧ =F,uWt䨪JϧjDtتX=DjJyOu aA}@}8ןH3G֪& eiޏgYPHS2pJJ[ughFe/H$jV2V7MfG -5.2"\Z   PcV= t ք- v:”;5w`PN׶=p^'fT/˱"hVAp(|~ c7ñM0SGSz}"*PgF 235.s Na7 *:xgAakWB T`bv e95zU}K2łJ] mgOF #m'%*f=툉a+bm@ޅ I/ytJCkF#eYb6ଊ݂GLӪk^E:J=kDwiމ0ƣJD,[R눺<:qMT΄/ϳB|(:2 UڐOXQgJDt]ޠH,5ۧN] `~YŧF`g8 O?HQ&`KʍjQ.{)-&M]30׻b5. gֽ=b:袇 Q)%Bd$Z` O&dojgSZޖM< V Ó0s#y3FKjoZiò4@ ?$%3̑C'1Y/`7MP~}Tkܒ_,Pt3nGjE5w{@ar[hjY|=-:%dtMVdeɖq(^XO1s.;L>fդf36E:j'NrJm7ϱ!X70]BX5tuc.A躮vd󆤶8 V~~nr6DsXr:^ou^e 'zCE>0Q?غHnY wb)dT{%2Kh5O4κ9nk: 8SJ29:Q4T{ޓ4ث;d]=v/+N}\9{vqhҟ3ozUj|p !mCeLGpL_ET(Q!+~}9k^!oC8AxnDh;~Bel(*2 ȡf:my~۵ 5P'9STakX)8ӑH@@Mar0g՚SqR[Q,?1#Z]tX;pOFpXz7W-yY^8 69ĽaD"Ӗ~:3㱮yI;QM;*!fadL1}m@2 AHʎJ3@18<pc'vjaqŧ"=۪chy hwSsc,}确"w0'?#+sn?mC{3[,6}/)MȼOZDc= fѼS3*\֥ȔtBCt$gU>ņ•Na.:(7A=B` IHbO {V)1r^UaNyČ2[+:}}&!UbL#P 7tMwiн< +-'#&B!X_>ybxhl`zXI!L(= !;n$T/w /ǍL]e@1;X`e=-'WIcz^e9ຽ|ą}Add`Ծ*o~F&rPٽH#Q0-zi]z1h3C>ِ? U)Ed>~*]L2yqM'( ٽLNe,"`ZUrNS(s֠i׳8;Ͼj,2ADD$O6,@nn?7"5v':nzy*>pN4f,04)=I'eZ #(O'ƨ2u z B咦 do)7c "Ӣo(!j1Nߢ.w0Cn,fN WH`6 B ӛaG_N\7OSxE1qUW _g ~O\h)΄k|#W.(Aόk!v&Tzk/6+KWWv Q!fj%^Z*Zp[z(^xMKAwp9n)# ܣ6mqTNNخp!vqx6&TP 9h.*Ki3VP?Lv'=[h)EÐsuK྆n0dxEv{WHv!Qbg(}RNru^=k[(L(pSTFZWu!cu?y澾{{&B]-3˸Z ;G{%<$U=Ki8 LXACّTGxvQ0a.a>1Ht>`X^V ;4dUº] k?b M=mA?vTB 8=F<*,Qq\N)ͲbڸeQO+8ACI B˹/aERk~cV`L_Uˤ2b0H̿ٴ\ EGiN@$,S vX) xHxhfz %(ԩ6y+@Ӵ<Νď>)ý5d6"A+W:Fs /\=?< y>XM9(_x_RC~ lTzo E&8OU]yKa1aⲎ80qohco+%h5W'SnL_luR6bhȝ8dBs c'DtuսSZp*+Q ',GBzV QGp #Dp R5ФE8|$0ޡ3 zoPY I=\%M ޱq~`dkܮsxu%xaDNS"qsmL'ãK_V;ꆊC+??UaB%zkG,D J}ppRU@ܳKfmHpr'nsvjAQ;nRK߾<%)X9Ԣ,3mq> d|={J!^| 0߳KPtN<b/@H#^{0{9y!7LV4{-:[6n90* BD/>,iYyC:ht TĄ6 yٝ@⢂8$PH_1i3 zM8zPI>݆OlF i]v2sw4TN̳>_R,#HFmd2 0N*O8"%}7-o#O&C56YKLmE^u~vѯ5nz3vdg'QpAd/# TRT \LG{3@4XIK٧**z vTvN!,4n5A -Fk=J KGJF̂kTEU6q9i= 5.Δ$MoiWY%*RbdmZv7ĺ̉^Ze͹cO/4q ػx1*I;MF|}C#CƸ/-dU@Ekӆά @POqL3/%.{y[\Q?OYld0! `u**}sfYԽY.jj'9N8Uűy&}ϫfg)RohzD>ڻLh,Y߸:)XJ\A1c·o\8sb}5#2ݖu>~}SԄIJ X$tUL|KZp+' L43JfR4^i6#ˡc:Jc2 gdPS-Sғڔb hB,+b:6CD^#Q0&ΰr-dOX!kWO?o07q^/|8[E8k#۳,oeO=jgj $ö|P''@(uΚχ7Dy<:UY(HY-X熹fFhb3nԣ70s'xqnA(WwFJ;Ymr; DwD=Sx0%:ǿ`-XK6`Z4Rk&d1l/H|ZHh*0snwj"܍_IxWRvy)iNDF,oU=0p|mr; KI@β]Vwo2+RMNRiN; 1m8DU/= K&Tۑ!l9z1%Qc,0tl`] xvt>YAq)97 Zϻh<&A9)}-fDI^Z#Xn1 aX'%FcHҔy<U%M~rD$57oeQeY:q#XO3*bT3@f/]Nb_Fjn҆j"K.zɾ^אڛoJ;RQ%, lJ7l},&߹T>ئs_VOs=ezc.@'B0.o7\5p [5xޡ ZZ8y*aˤsbh 0]:{#k ?kh {q^{HN^3Q+&QwF{rmۥi@%eʋbLj2N|219a((|}M3ڻ#X@+OkiG3bZnP{eU$Q=8ZtYd|3z(Y/6BFgYۅx޷轆;gC{Juq,YX붃b~N!jnVEei~xˇ*i焫(SZ*4Q$nR# NʚnbNs$riPZǷ( {r}OTSO@,ˠoE.d>tXRFcjyDA{Z'd9WC 1i`qrJ UFV?sm 97ԭjTXQG 듺XsUIZv#k!lg&*ԉަ^=_␫WP3-&$zG`C+Ec@z`8R)Q\lGաQ#U{Gm ށ],^gP12F & 7S, ?:vW. SU{K0,6ym)?x^p !} \AONt*CDE[LlBi:@9O>UgѦH'cS#PX^$z,~,LpꠧǿJ!Ɲhp;K_hC !z+Pʢ<{5,Nu>eO0g?p1g U(@sIT!L(i;gk&$ Aܻ_TPi6)ߵ#9ݹnVRqիAf W(slY V8jn7 u>"$[`D0c=R][<)0uo6 IHumY3r= P@9.%?+$q6N_8T`0_TEG U{Y3y5ixG@Zz罸U" +uwW6ȹrJT]lo5>#{ !"h)W sIJbe NL|l M?F-I]CKU)&xX1q׃魰 ܤqQvi]#aJ׎ ᚯHxďu=p H0z/٤L3Z Į`փA 4=#i.GP CCM Ln$"pГ'-E^܎1H00IR7n@WlG@. dӥr׆3EFRreІ-n_SYw?S0m=R !nU cÃfIB{3\o1eԴ/vH6 w8^8na`4# 6`d,i9"Fm $>^,QWdR*z7z*:;vڻ優Op4`)uHW=Ӿa6_HݤSʯ,#~4ˊlފ>3zbX'Bh-gm_^Ȯf~IZOxsv!EbZ;Q)מKfV֡!#$R{QbĆ9Y!IDhܯݢE}n'q-ԩ3NVkcu=ڻ0%uPnO~WeR否~о\ _tTl#FuO'o6UdSMhms @3V֍QQ1]%&X&5g2AD^%";rX%a.͈+[خAlB%l칬*-V0ߒKE4=%~~HFЦG=t&z !`AIkP7-l54a4-W $ƭ 9AUAx74MD`<Ȯ"rW$;D#0L!V6q؈ r>!8˚IW jEg0xt )H &،R(!$-,xoYTﶽ@TOt8(BwJg'c2i/omtG\6R8 |nv)." IgqT3zƺ5G4_?`  \PrȡD$j"ٶźɛju'*L{?3u8fJRx\r˴8jaF֩~QE^B޶cQ*R䯑1muMu*e@C 9Y?p׉Dt'H'Շy(Z#狑pv_/Dה)fJG 8ٰ{x-Z+5lxpFiYfe[ÐxwU)rwkw 8 1J׵0NY| s8SjC]p͍amhdNef ^v7!ƧV,oY.5QWrjy*.V n?+c`/i:_ixw` ?/~s [l訾çα~ s<@\o"ė輼LL8h"j [ UHV]5Tg2dܕetJApl&;5ΑDրV,"f\SP&rLWa$Uh/ 1Y')\qn f.܍^B{-ylB_^he`I|E2GLYDkq*jr"J!ݾ|e'mo -W s@y̓Z%DnE k*D߄4خpbS%\%C5ok_Mwң=1:bgeɏw,RRX?m-.w)5(^7|N OP@+=j|16=q_Qނ yb ď,yBppF3Igגs]kӷX(`%+< kGxI%eECͣjX|mXEW `QFRdku.DlJB$xXwz6aP>D6F]EE$˄08=D\$8 'xqڑZ !lqƇ,̄jwS7|KuϿЁgjdêz-.a:$dڃ9{udK9PRT݃ÁeP0%i.k5sQ=7m1|+"(I39 _ok -K5 7e2:Mv']ӫɈc#Ur{]!Ɍ#<ƿLLa}Jn FqddTgN:ÝKWG.jgPԛ RCF7Nd}@bYAn޼`|J|"0,bQ!=w~>m}>k/y:)8D`'s^VlM1oK|~)萶\ 3[IaSIRxhf $8gGʃd%cx9{'1vݛQƑdρS6?0_$ S `0u xW25`b v2UxU'L+AR-rHU& H,9(;-4$toQ3{KevSMm5ṷ܅8y[\w6M;ؕ+?z#E̢Q-bkld46CJ>za&x;R*}URźA΂r[,'Gd/ǿ =׉3\ic&5@B)xU[(boWpr!4|#dN>ix^}]a?8 T 0ďPh}D4dZa:RbFwѩmr olKTS:kڪ=BUp?z6Vh~){hHG]lY]>Q5å iQhIY ybJA,.|]s<*zwPz k+h[f=zIEKG{zi}Q;N}o]lC̕${kkBtO3;zBVVZh*-4wk  ;h8~ ~J{;Zv(&imt`8Zt0Nׯ?tLHC.s;@$7 %Pb/8jH22KK)MIZ(iGpWHw ؄SYQT>L5>r<>3Ie~F?z*5a.@ *fpVP>CxAZIC,QG3ӃMQɀO/UĪT{s5ةfλPLm脭b8t\&_I5QIn+%<ҋ1e.514΅|4$%e86X,#Ԫ% H5-> ct=~: h4~FV`6yZ0~4Fh39 iف40ǘ ѱ ]2, r΅dr!c!Y TSOy~ . ‚{瓻%VZ:d7")x%bpinwA tEmn?$"HI#%pQ^߅ɎQeeO6 # h݂pqyt*;H@L: {ZL,bv-ɱ"^IYJ:fj/9|cClh-bT[soj4zAL}}8=tJѬbUW;Xk `蝾RQbrpqr?m>KqUfz2֟V[@v6_iBH C#/|NtQڹqZgSke$x,iD5 у3;u L]͈'-/ZVpm&2ҸT4I۹quG8-`ڒSriTGWDg CxH ܵk~]މֶ~*Ф4[H.l=7̀%.B|pL!by*!LQHġcz?`Vuoo?)_}Jb1/kfn)i_ )g;tcoWFN1MoCסA*MShpRWrS+(mKzq#im, HlAoiy'Wr!ڍA.U:jaǥyQG(s )DhT9գp[M= `79* P{&~UJ?2emCиF!A6ith;)sr"v6TE.q<f!O`]maonIX {wh.Uq5P_R1æn_UYWilվ9]A~954߀eD-,K- ۚ@GWè^mԴB!0}1 dOg<4]%`dsu8AмpU7 ߉b>ڦ)Nc3+'^-ܫ:р ݞ(f[$ Ji3 4>u]̛P&Va_Pt|z?c7;Z*_U/n`RkT9ew]U-Oa/CF}˵qhk8mx\*3&wAc C6ŮL#0 *)+;S榆:_9:H|M d ["Zɒ KȢt(6kP쌛`vrd@5HRIXQ@/,Mq:[`y>5Z]~"Vo1mkXR5o%=Rjskؿ4kP;gK드3HDİ=6Y\6Vtj])8x * r I$68^Q#k%)a<ǞŃ,#茄kRxJƬ2.wRbAݛq?Kr6P{IuK-SCNW<5 xl3tQ7tb/ 1IMoB"+a,娋J/-;A zs1ف0:L[[t~Qp, ."}QO1#9m]Ml*DŽ[#>&Ra5xXH:CQܜ 5D=,C3M?HH4,F{j™kT^~`5.,?lVhQ/o4 N1#V[:hC}]@:XRDd,W:~SK_H&2 ׮ jn\4Rǃn]YBr  \I%M+ $ lFm*[]{K{RA>{ /j ϲ#-CCzp%:!m{5I!aNwy*FQU)>nnPF w63Bi}nj=tNbY&m&- Hݨ>tȽ}KD !؏LΛk!=/f+gT=hxrǭWȻYR5C G~)f$sJ̺,@)*YHD4 s5}V|{F241b-=-.sϠ4}#iy~.p :`lJ5ƻ&W]Ȼ/hH_C8?v*K'PG\j# .aƃ)_Ϯ@/ + GA@ l #G|oDzbJy"S5 !^i/h|jI7 5CpNzAⶹ3&R#͗Nl2)_g1$ECeOo>{=*(r]eyR4(egd,:_`qkrؘ^B5|֎S4O ퟝ6Tci[ӣDWpʯ/弛r/` ى¯[B#bQ q/jO+gr@7 G0Im'G/~TRqߏeO*a3FK!})]z4åzeOOpbY)0\̒Iw* Uҿ2]p xr+]ȽD2gMSA'ޮo5kQ~D<˽9Lԙ;#~N?q.2&(TZo˹$MZ}7,3g$m?Aw+2&uu,p'/ьyH2 ƛ~<8ύ/2;*8{,~95Ii}MI@o]]"^Xj[ 2ha)jm,܎ъaQb%q*\3(N)J#=tu~:5aVǦkRbaB쮲a*Jm- т2⮵)ϯ NfO_[%G9, #f4VB4G@m5tВr dVS}8Mj{#Z Hl~d] ! (fR*. u(~~}ẘʞ-puH ڦQ.1D=XX4jN7A5yDi&.Y)@ 0uƬo>5&AN8a(<*nJocܴTѩa#qIM(["KiwFy&:%8&0DO)zsy `SsK1;%"5/ 7B!̲1`-SL+KeFaWns11}y!83I#1ݿ} J&0oD ZP4zw/4BS0Dicf6*%P !$> 68"{Y{Uxl] ~A^ 3Jn}mf}XרD_".k >bF#fנղbeR)i`on d%HM:i߮ 4LL$CA7)[Ukwaimb++Im$NDjh6R(81Y!n99w:LUc(Σs"-u6eړ} ]q* .CkMjrM`|`4k} 'iE0 -Ur^)fڦoQ"U7_+i=)5?L$bAt\rV{)C[Nsʘ%aCۛ&g5SkGQ_DhFWőѺ+|@BC)YFpm@\ν 6:"<\`d-6<ą[zCڢ&}_^$kIg_DHm6%Eq m&^It >x 4!OUHpRupdWg(e#E&Y}0&| ʴSΊh7k(F,#.֊; gKP;&tY2Ee ]7^@ Z Gb):O4EiY^Ol&Gh0q\ }.+1EMbeSog]̴}͞tL}쒖NR$Z:?TCqʒ&6#YRIU|bͷ-y Noѓ ' ^YV7ܲF_tXHSn+@^m]g7 a8JolYi2JoQJ+ x99v;(AnkTr`3027!b4 %lC&"-&Llo黲d\ȜC 1X:K] t斬ydҫfg cFh#bFLN%J>IC#)t/\!OzL80iwKQ2g8 -("rqq"M{X3¼w{\ }6w| LmkiSBF֬[`>D+aШe!t8^TwGwluöxTS?A XUR%jr} _=WS> BloJ adG//Vwo'†7)L;W]2͌/(/.ΤEÆ L(xFێbgnCa*ZN+Dy"t+?9 =hN'6ʛ/_<<¹jt#d/W hto' 2G'u2B6L9i2y;U/u33=E#e3?gx8Nn/QUN8Q5? j!d)!YW>J["cnOmhS$/TͿ^Hrw'Z/X8q Xz-H9h'iFIih|8Z VauIF5;3 `z}` q_B]w4XԏZo˺ 0GJMbIg٢z@\-[#, m1jک?˘Gլr%*1ʶlC"kbG<.[@o T˲+":peXS '7,dD1W-T̫=/qXCn}gI?U:M~_8E[4 t@E8c \]q)M&_J"tX倱ׇPPKnlH_DdD!K{Wϼ)=UTO r!OӒ#Xĵ32ahwx(AJgSej҉NBR:PeL&8+jRA u-BrMhVӃw뤳>I>Z~|Y*˝{NeJЫyyk9vM./v-8>rhųwNxZ@,=SLOs>۸%V'5Du烇KkrANl*3{*HJQV"2v>/UrpͶ21_EQg;y}e"EvH9VKn > k3$,cy6pW@PV"]>8\! Utwj0,HnFDE+PۿI"LA}D`.&q))e! 6@eV5\rxLi;m(i>& NrW$wog:16Au[%`:e VmlMv%u3He4煠D54k.bMEz!^!xg2{$V@b]Sb7N!~"YԜl5kn"؉-AȎ0Ez)3q,%'J\+DS1wf[uAȹXL:Z%sҳ!?P,s;~޸6uMKɥF`Cka&In>\nv5Rw ,d~Б|TN, SL \F$m =b(Vc56'|mktwǬ(t{4a د/sea67Hl\;=byq*#Eiyqp|s;[VԊ^5&ĶؿHؚd'G0DZR){uCIQNn]])`l݅jlmr1u 3h39\B='PDyx/jbc7 U u h ?!s\RF48\?HNGuKw* d{]xݍb HdݩBCoIFvQa%BͻȌedzX&}D^-ƒB,X6.ljXE@/{DpTܪw]bS!q7'zP,^$*4"2$8 \Zh31=ؐ> DVߜCUD}*5PuxQ|8Io-G~E5`=Ma5e_oed<cQP1I;ɫ'Pe7!ol}􊆍Jg )B>;LۧSr 1cnc* *Otd+|0pMKr Jp!hb*$T6MRtjw$>" } I#-1TN8Y+*ҝ1Ҷ7M&ѧe/$–WxpruDL7=X$~\B*yis,pPy/XC{Qm×X8c zpe\12#S>lieHW!nSQ$CB~Qw% D7ݖx"$ޔ<$ Av40RE_YAhY jT՜8 o~㺞)gQo!]5+U"1O)]T՗Rp랮蕡 |Xfv2F-Fcͬ+\2CD.z>U6jO\FK{3bsv hogO`RrFI\Q}*$²f*z;ޕ+BFۊ-x0*7Cwשہ0Oɺ SKjDU]…cL$U&z\'^TL SI.4$+4Kx:%jKPxx>'`ɪ,-'aKHSj_* W:0eʟ'Sdi[Wnõv3ttIgr2VzΙ=*1tBt]nWT> Dnbp$1Ob׈|8g$^'xdAK!Qq'2 FE IP!Kd9oin˻nץ$eTSRRikGXj\f́eǵ,։so7ٮH;++!X_`O@uD}D7;Gxkc &]?z'1zy@mJZj0  nN'N~\vij|YԌ"Ic 6=O H6*ΥR8BF[KKɜj<rXkg8jnGb@5RlO[^}SJ&QXSb c-zo/[[*Uô#C6)^78UZP§n+ IC݇&Ecw恟_r]CfxP;Jk}-8ɕr3lS'O~*Ի'uaG/_iG݈]>:})ӖM-(_ Xr/=rl"ˆ V{GzsaLj傜܆|*ldA볲G 7(O3TM;\Saݤ1%ժढ^>t:!Eų.>V.`o ߊF mlݧZ=Wﻖ߲i=Q4 ]wWzȑ,ʝ\d5kmৈ5,[+qs;7н7l);%ۓ-SoYre2vkLô )8 zϩ2x?΂WXͧ)2(`<;e[#Y8>Y6 ^ ֬ƃŧ>F6 OVxTK}b6b9=wX=z|?B^QCmNKszgt<›c/%#0[| {Br?pFw"\0}qyh?C%1 qJ|Z.5ڔkGriP@&֧z0uš)\ӵળ/n`V$3-eAo=) ޫn_ |R| QI_#D6s؝1FrZ$GЍ?^7^ғRW74RUfV]!Wu?9 I8?9A [/j#܉ m Ǘ(NYlnZR: *䆶Kb 1x< WV)M^g]ա oj|aˍ.HЪ j&k '4XhNLs.6[l&&S% p͘&ږQ4h;j ~*zHbnVR!6Q sKqcAg+lj47/Gz<}>Š.#MDc{OMZpd6'SEAkA ΐ[D8g+"}z%{{F ϵϪ͡(W!Xsq'guF\@X_u2J$z J.ڵ+t06N:[t'h2OOy1ȱ7 dz 5c?s@ghv!#Wby:  a~ڝex ZLuT"&26 sv&[g%'r?i ]"cuZݍ([[PmDp ;v/Kȳ}5H"wS+ Yz\6lE$e,u7-\}~mҀhi7j軏A#u({Jl̆O *>BEv''A[%+ kA4bx7* \n7i+$0!?—zLoxQTga<P]*uP^U,vZ/ :-NE"/bWJ=׼nMLE勇j Bܯ;fH$]# 6][^0vR5r)Aw2!&]j +F!^T?>d~!3v5s7Q WM-W5$$N`A3Ns})}[%qy|A ^D!keI3,z%-eWx&!m04M=d@t? ܿ`6q) .{>ݏF@:ʄ*eۭa(~δm_S^CVw$]-D{g4M7ρLF1˭b}7owS+qmӖ@Z*7l&M -Ipe|nlby=ƌGZEW CɆPɦ&x&EZ 1Hd'i%cl| 2ZoC>H$ofAq4H.0D;7xR[֍mW_T%gLa'cbv=3FufNb4 ނ&(k)=ZIUo36EepݞtAw3S[alT'OHI,O,?ɖn2$]59 霒JsmLPHH':v܋S{ؽ)IC[{_14ja rum*uz_ ZJ>3;TP4Ѓ*ӞckA+O=Ia&.zɤ&B XK׉㌱+uj 9-#,> α%o My{O'bYe:.8#& %+u+ncfQY x  9pcG*s:1?2%yWa7AeKBV(Im떯;S jE<\hf䚰CWnX&o<[$@+{A͒P% jU 8.]ضc]fCP\ 5e$#]v"qͥyl-Rd͠ġ-WdYA31z4[2iu#%7j9^s+/OӭYl(<ʲI-|e-׃0t^@-3e$8 $NT^nL-._&1*ïؖ~E$g:n[vtJdeO>l)zF*i^rUEC7H-JV]@U?֛X+?VS,f0'FSڲvUrXr& E,.,P37;ȟfgve =FdoN6g,{˺`,]yJ܈/b}9N\(;K,𧋐6/{_Y2KplX.3'2npe. irK*r~:e 38ӱ>,>Rj< *"/ 7j{2G'H ?edHpMP#d/|}xX;(nфeWJ` RǦ)UJ:Z2tSA]9r iw:0[!5"UAK7~!8 zXIn¶Ł[Y$4z ng}b 12ED"!y _sh DyD4TsI4uQ1.@K%aE `?>W LP 1YDK>kV.bc韼(*j2!a,\֞PdžhM%f\jɏX}a CfUE͊H&ag'9{Nf׷kQ0z; %y8,+x6}VE"Gੁ= `ufѷD _'IEL<ˎd)vcҽ/\^O;Rœ~'Kq Gv\#s^L@^)RN? sPз5ԌU \ Quy˜ WZ^Oi3S #VQlr0p*P+ճѹey6da\Fs keˁ̹Cwrg"iH2X9"RU`mzSHz\ ͪSs"MfZP8|nI$j Evc4)AA^3R ;#jӖC4^3{hYv0J: 8@,vo4gs_rr^q}%^ұv$%JrPqAb-F/sgF`F6q/'O#/:-6x55AOkk~-hk᲻TÀ eS*g),r RaXG7@nsrMX,>:o /oAmH4[Pp+6 Y+ˎ\;$Dvs.M$n#QI:UoW_Ԅ4oIjЁ bBZa DD%n5HɞQl콢ڧ©s bj仮;԰#?A|S.-ۼGz2#Z`gF(}9sgOc͆ʒc@:M~(}89߆3-~[Р ;O!"w CRnLx9 MKod(hs?/n˦upu ~FW0Zڇy؀1xfDbvkwvsWFZ<>Nm0HHF^çιSÝRQNOi`4y=:6OLz )øsL>.#C/wey况1,3a9}w3JЂ6hMj=2*W=Wljv{G.]u]ɺ[_W9 ›ϤrXvAUp2ͥl@T@#N!(,-غݞ8>`ǻG)X΀?), "H82dÚ{z6/-VHp K ѱTk3 i@q^?[1LkX@Y%%EEKlq('_Rڪ|Yg 8L<s`~Mb;4Xv&1=W~,f,jKoN%cOjLĿq:8S#1A1h(M6|t r_Ռ.\O+ {&C'f!RNDjڧ/nvd vxuaꞂpOV&kcCdlie5Kgqb߱m{T(g4kcj7fLXưT}D֟"WKD;R,і lY)co[rbaxukjhR(q:>#$]Z~N:施F)j hkCp걨"f9e 92ѢXR*D&֞]H7m ̛UaXmϩ*WFksHUNq֗fXߡO1w:p^y?&9w0uWq77jsrjxQϫйyYP}.z߲2~X>KA[G E͚ľ!" GΛxBY$U_+{Tܭ-砥K,r=xIN8QCmla0Zut]=×QUi8۲9:w$^S +{쏆&(L N@=o!=S`@L:ۻD?%B~kTz;#db!m[өl9*c zfdq2hʘM's)X1?X:!=#J(%laܑ*7J-Blۄ13Ͷ @d?"`aWƒJ!6 v jlޘeOV+ywɢ6-c-x"KA*^K"wE%=zW4^>źa.h8Wa3 _U}'סo5E -1$K ЇX'%B,";KܩBYN!po%ѹlٻaD `a#rr$P:t8M]w0$LJp>VS@"l+uA_2O`(#HYBA}R[_́}h=w`65BQ xfvF#n{k\3}0#OOx[R5DOZe(;޳`? r$ߊYQjmlq2"9t!3=",@XFۧSۧUZ~feZP&N[mc KƿZXK4sپIb4ż;q4a0/Gd|x9sn7+u!8Wc/*Wo>(Kwosвy(24Rd(F6.$;`6Kȟmo7B1S'}^tL:yeKO|=ꪈU>9j.,H&d /zMrP,qJ튔=23vQǝT95?Ɣ‰q:"Y9x TڻBBڴuùjkeUGǫ-=}D3$rguy,г^4Tpz8uSVR`O $.kXkHƦ{ Y;e*4?pVE=aC.}|3%B!q?񅥱`?ÜpMZT9A|㬥Z zj.ُ~w20v@tCv!Q4]m .h!y >K֊cg\cOlu&1f0J3(ndĻr1BS:DAQWT Ƀь?,s:ifY_LzzYK\jM4%]n]%@;x1%#SY- 7:RPӀ4b)1e/gwV%I>,bs5\۵ye9#;1>zR$|N|oA;jF 2K#0 OH i;GDٸ+G0#% cR],< 0 dK4ZUhi#Sm۲q&S,t$HNON89 kz]OG} 9EA]:S|_fpD_N~7%45!72j;{ Xfm`KfF!^&;#Eр7|\Ty7u iGn\/@&=a(s cOvq,%o"|)~=,|}ܬ3}3Et90NϤu&:PJdx=iZ4O4q T6Uih񁥌s0>ZQ<`t1cK];zpl_ZE DCy.vyu K,Y{'C˰ cl /)$2L'v-fCoU.ej/*Ea9"yZ&hE\Ku W#$p;I/doup$wb5\.l\D2yZG]7e()7_:y{hq VZRRHa"y\BUOי. ;l:C:ĊOHRک]!"4TN'Lb y Rmjվ#nc1xGɼz%"෧=S ݯ^, nxkΓeZ7QhFb(e~AbMnoTA#8ۂʘБW$]8 0N5RI]M:k-DA.4Ilt'UùZ %kc;:LȐJە-s4<8O"2_zs.\m(PhݎYٹ9acWJgVϒG0=E9)4s&85 L=[kK}5 4^Y% ݫ! kjS (pց#*vG.ϧn'/%4&бv62˽i55Ip- Yʎ p&Gu3]G(#>]JHہRmΝvjp'YQivy&?g笸wa1S n_G5R&. 6Ǝ0/!.ж}ȍ<ͺx毺/ x nWFAy o=' [/SVtnTڻGcDep7Պ4MwT)=+ͮh x-Zalyõ* D %[={Tщg 7MJ㸛]&Ĭ,GƐx-4<ԹdIjx}XapeS{mҾ ]&T5tto9Ӡ5(d24u۱^~@k';>18AL0d /eyo;ghxq Z8+Oe&U_8ՙV8E34@Ugו6 ]}zuP?O*wlcS!eqS{ YM}&β?S;#tEǶYvbЇsH(R:l+ڃ1=f]֬&Mu&.ow*>!e+2'0)XHU$#4e}c ]E/`8%%BHɃ>97aJ ՟@ $. !mGŨ8 m v YY79_ R*nɯ ւBiN X,Z-J9pp!aw5V9U5T)>ׁhN*g`Ajg<` U6jɣZɯckf)N\P<,JTHf8ZThۅ5Ä:f[;ybRV+9$s'L)&Wq!`ZF_>N)y:{y;tj390|?m XʕRny2Ej\M&+/1roȩV-)!BL_#) &)yx p0/&}to90cc=L6$ 9|A5 /\ChG] aEDE4{"S_IвO-)U__%؞4H49f᫏3Dy,d?]foViqU+WL} ^XsoP$qPCyK=Q k+}O-#[mqX\'Ǚ%`08iXF`dmċd55l|i.`VVo;z,WY b2h6H#Tkm8NB;M(MLBS5M(P3)y6 pU,};T*VH+!"Fokh@gC. U9`ڡNHv bDf~t|J+7|TwO9'{Mhm1T%"A$6[ܞ:OO>zKa'}/iz \K1i%;CK7$ .r~|)"2ϙ\8KN!CބUsl} ~=@ -nAxG\ȅ>w&St Hܠ 0M,8Exz:󭉌7׭Qn9?Lv{b|]W[D=ij%RnEVnf]o8w~%.jRVd^\::3ۀdKM" uKՄ@eoRiC`purpO=~`?uD2+#;d{㱟HUrL'o̻S%4v ƀ{o'p%ɃwDk$0/Mr'9E1nt׭fEKLV{.XoDf^VRIH\SBI"^g<miZW~0/uTMENg4] v0ciX㤦a!Ԛ[?r=m?-v @pdUzvtK׳-Kmg,pU!T捃5 c%T8P~8>IP5LM$^Ob ~l~iϕ3`RqJotPs'7%˨D9p;Ed*$6TX{ݲ\GٽUZF7Osؗa^4ق38m1|$T:dM/}s—) 6Vʹ!cbcu lHrh^jIPTY̎KLcn1,"H`"Tveˠ"ߎ~Y#\7A\pq^đl|Z h .tQh|˒j?)m4ݴ\Q ;YZ? =iKe n3 K{L^QK,T2)5_o,@B+~ٰ6qtB U69ZR j$>xeygc=0][kAeGǿK#X:>ϺM9CN9ǯv;I|͞:¦n L;PS0.BӾF%ѷ'" ^"o/a` v#˪6zl ՆeBY/JƯuu 첛g8#{G}xJfg.O|"Lŕ:KV "N CDqOPɨc+4f*V1؉AH{[Q8֕9q!h_B5hhޝyjfm!X/촒ñqfy[dһ c =DrԊYbL?G{qڏ ʗyņ &{~v@&ZtJP[A캉gS&Dȸ|RHFhҌg惮2E럱E%{P~Zs`ţ>*BS,e)8t5,A.6 Y.DF~L -͜J?sFol?j,z%Y3Wc\tNȜu/M8)PSJ>q,|e ?#bgsPqY)" M3-'|*M?k fl6~vrᎠ(j6 yك "s? >*Pg~hW?Nz:biiodz}TWR>{QP5&lJ}WC6=˿6awNYHi(D|_u|[8>::I.,*)e`^l-Tl'ܭ0Y$VFf UW<ͪ48J/b}CB)Kk )[_kk :×W=Qo^kR;:iVOz|eІZnO䟵BmJ D^aԸe+)/ JVnf'X5 ISp%iV;:.f:yUtu4js.ZX%ҸopË5/N> E̩}m-(?N欪4u2}`Vۺ[`+z߿[{W0!<9@Q Շ" 'risxhp;G T~eB,9qG{XsK^X+#! Y2mHnBݢN5&،n1r.sf]/>GC"9&3$!n`<}B! V%ɏ_! @`lA}QW(+_pqfr2~ QSvA)4wN0b7 Y> 4P/J!=oKN+$O'#) u mL=odzpSwO­sm+ͤ8vjd,!B'øIME!qւm%C9oT yU`Grϸh@va3`xElMIB&r\vwxI13̸ O4-hfyDT C;8O/!A/Hz'TǨ87 'VN+0Q扩~qpG04}8*BCFa{ѹwpfzk|SRA$xyD۝ *=0SVGB#+I \3~f^t͜[V1f٢Zeo6y3z8fjWns6ODKgvb _WYMG/X#9@>U%.x;qûKǞ}r:6?:[xvHE=<~)g/ WHci>Y(rH*敧Xx`9G2=Mn}spK)+kl6\ܒ0qXHj(C]scbMkUVJ;dAYm(rBZ`*,\E:C-)^ՀHQK#=Ą @7jSc7REon7 cuj?P‚J`+C5-u:9l;;LYg~k[c}qQO E)˷Q%`Ƣ <^f(GY!&+,/ wv32NFX1?xt)(# b3هMmӑygNX]GҲ9ύmם[h@GGXŀ0a"GԄ#V0/S7Ch'S.3 ?Gn $/HB[Nt2ғC_ V SFVKG4LwλuAfE'>˷L$L)i*6󴊉{^xg[[ϫ;wvcX n(0%FyX *Tk g82%LVWIZ۩lj:PSy ‡PYIܩi`W cC~J/WQʑmX3_ )CVcƒQW~=wbB0-s8}eoq;ۖ}:JhkR/gUcNbUu`kיYvBUh=uL}wOc!yȆ;mQ:WB≝T1@jO n&م`j]H&3-W*]25ɔ%ٓ$ N;л_aI!3Ɣ?)gM1:SPPP  &k'w @d&s5zK< E97ED%߭-_V(Dt*{n塿fwڻ _>q`@0+nh:I"hd>@ޟ r'ob^w"|y ʼᩌ=!%HoWZ,NPDtK~^b>'`ld˰M2ϯr(Fe3P~BC$z\t'G6ED12D|PL'bcY9A_A_;%JWdk۲@#ê.|:paH6ڦ2㤫NS!.9(7w7iPغdyjG6 ЗȜR@\[5hm2:gw+с_UӓW>3 Oa+D#-.z>؂ ?f{iUsh=|#udݓ S`^]$O{֓r[Rs0`,Fd@꣐;IYPOK Zd~9hVF HY'_Et]n+U[ey6RSf5+9ZHx:NV^-!Bg[2FuE\ב|3qB9ʚ E5 eZk8>zl&)|\]lk:$4x}"  {=Ń^<-c`cH"P@ a<ƊG~4<% qirɰE^uq 9 -v'V0zntZ|%{ϓ>7CjЯ93xw̹HE`|yyigx{?Xz|cҞgP})!7Nx袍B@$ Hʢ1;烎~FsMRp#= .L=p8!b/vUeI4\ KRGYz-qb%: #2)@vCFDz9Cgؠ"v}Q֏aKat|:8h4]8c%R_a*PJɓ'𢙧U,u@Q-bZQAzqHɷ.̾RyB2qw KjkE%_I9am# {zJe` yp|סD+kPlWbII<ŝ)_tοC b*b/Z˜fUo!<>2TY{ ;n;t"F7$F473kGW _#2$/4TuD]n7QQ|uCj6ܯs cJZYM*Q3-ԥ1Ou5E h@wahUw_H@Iz pj+v;:K#o9q6\)6VRfH+nP5#8s0|t,%[UY~12vR& ZQ{οkQ 0`s""]eNK{)Q"#(eHQ6Юa%oe$M` 1ڄezĹ4(֬ Єm<\K8c+fKﯮWlۮ+/ -2o.9C=˧ ߾kPx2@QHE֠s]o)_&8A[*BĚ#DqMxDߓR;qD^l{~2pO$-`@#0fJ^U`7/1 "~8 'k VR2eDXClgB1XՄ+(q|e{~ijOW#Y[GZQ(ͭۗ61B/1*OiID^;v+u~‰>r;u~`Zk 1])S%n!Ké2; }uaݢH9n=)|ALυ\*J#7қ ?ɬz6J %ЉS{ Q*LR+U]׋IVd6M/ /i G8[eS:۟4gPKз#7K[gKƶ(=QpM VA˞tua$)g/".|Jv 3 ̼,P)zCeƱe+J ;OȽ㺯S[jDK;.щ[A ]~gLWr*Ly]III2փ1Kά53=7W/d7`RxF>u B6oINbWN:k ^Z Z|>A;jx(Ք.Il@:}f Dtc#!Y>]8cDtJ{@+A G]:8+vmBR()A;w?t//u4. ^o)gQ:x$fD/ʢCT{3_%Q=0왠7}jJO 6YҡDq.@QYĐ5L ZڏbU@7}yK %̈́MI$Fqu~ |ӡcAª< P4ݒϫ͌T Udt5ip L v@+Z{%1"].8Vj( G&Y0G`Y @MBEWIyxNW{*7ݘt g_7ܣ~Z3|3COA!\Ͳ[P6 itOg'AT}21:szcd:VŬźVZ=fI!{<3 2 z.?!,/;Q]xM<`biV׫ƅ,O9lp'@ &)A8_tSͿQK$ljy0:jYt?8`^J,DmQ Iz޼| {{G,Qcv>z$yBE SoO1k_S'Pң7MjACPuH!#';bl<0wB\4裛l 5!ˣq9m8Q%8%8_,ne% T;Yyny?ls8y|y5(<`r^;I}I^%.|r94Enc$?gHsF[͒ԌE\Y{S`Ȁ%+)x!=wJ \gs`TGFqx#}: 8#']7" r)s/zPRë DZ ~Qxpl^(_Vj!!z5I ?e]ǝ_SbD|sfg qPr4r{S#*W^,\ܕͿHvQ|%0xPtP=odn9 (CC7F'm4ma\M`UJ `HޘF(t$̍BY$ѷa]Ůuڃ|f15;s@߮ۓ>z~'wuM<1oqUBBI`;D:֗uXNX!5y3q[?DRHm+2݆Aʵ̴5 >9 ʏhk ̾iC UxS 6X6z jq >yRLUwל_/]ӢWi?%XWx)_oyY÷i^4ҒY SKvx1S^'tCU+"6XORֿlR7(N0ΗwGM _2egځ#=AhMKTA <ڹhxjUYL _YufCNVTxof8g6DUN%rl `ɡ Rx2|KI%fh%o*܀Q,Mmn~>êmv.v֗հ?:DQDZţw?]2/PSTj% $-e:69`ڝ:a h8pe˂YMv}0^2PT?tNKoFqjֵz-Hm2}cŢYnUq !@ێO՝o5Aֶ/&_#PF֝1 Y]PdIĵ~~zLָg?dٵ8cݛ*x.X+:K Vgdb^mQz5O=Tyw&FvyHcXΌmg-ٱ9|vD%eJYbIJERZNpa?G~>Xe%m7TMهwJo5 Es}@\{h7ёC WBҢ$@yxgzR>G$I`V 9bGD13QADȶf.F盕q$%AĘKŒC@0FCK|:%ixa=W\ZŴ#yQ:&bLmU^o ȣ&Y*=RZ8/iO;Y(MsO+uJJ7x1s T[$7X can5UTX'oo>>5˖Dp!^PU/j>,&{aBNq ޷QWBZz>VO^2cpAY>1/qwu3Y-`a~Ο|12[Lq\NV&&Y^.AmNA,y{:}7"(۝yp|A>M(&I&:ȹ[HYzM'],k 9A' Dsaݕ`| <`(Z5o&4WFnbXw!۬lkaxէ8I&ʀ{Ee l_]N/̌WZ RIRGx1E)%1ybSe[GC|g.`l4R9sBe-/щ]PqM隋|o&7Шn:F`ʭ܄Rkf3ؤ@0U@e+F{n~Fp`x9][}N)=B`[@{9/l>G0PU+]>xl9:F4utS2BXy ޴*MfP .Z?ȷĤm%. 28)!.$ΐS^m, p,Cs!@PJw7!0ЙK_8.:g/S;.B?*)G+"u>"#a/V7L; KGnl/8{4ǔSv&tcit8-*~P5LP>,Cl\,B!hr)OLhIbyJqVqi"cN'jx0s ޶9ђ_!\w;}#u|Ok7?E|_[׶ ۲-xh+ z43|ۈI!'Sۮ@;VlN),Ⱥ9ҖL\QZQ]ny9K l6+^zX!wwAHo! XH~CnbAI7{yiT6#(ڼWNE2m+rD + Y0T&̡Cd>]s5g+P핆|ݰm-5ǼtjzCwaiBf0&ƚU.277boGҪ!eNN~K]!a? )]+`[_1'F8k1ceoS=] SI+ă0  QjG.y9ϖۄuW O Z$[Q` 8K`K,mU/1V<-JJiXX`^dSpE@v9!|N QY*$򃥩:i J/-9Zrf~rJ) )"1Q6j~,JT?NmcD2c.a͔m_¸#vg{HV FqyF]FknMJz(y݂1MY>϶s 0e'9K}+}yJTlzB@=8s3O3/g:<DZ)l"Wt+)Sմ@l8&l):O;FEuYb nfQ mOlkDg%𳊯LI-E'p]782KF;.+l C~P<-[!l%" -gj=U,r1Nk{R_ݪ`?!"I2<פ1AOz[(>=ȋzi6cnX7R׭ٵ@tAPHBǩpLq3 m? #TeDD[d?LQfHw'&Ȫi~eP6_\NVrܪs_ OuQzn Pd)ReZ:n*rAlBb~Yts( -j|%7d g`z54 cv{c;I ßGL[U*h,<ګ+<jjJ[̲̔5*iӈGU7i2QȱuF$$e '9ƔȻ*_~x ћmg78m?1v4* WPM ֏ƹK|EGwշ SUcr{SÝhҭ6%K,Ou 4s$nIN )&HU#k[%ؠȲeҚ=*cm ڗ9lb/Jwks7@eYyHߠ.F(o$i_f2M;g5v4&kA"@ŦڐP*/첱ծ||9yNw~c~) Q# jKW;sU 6{/`-WqH=9J3`ϟ]E),:c訡e;Yytyu\*P.:$lk+5]cN&u&.(fK3`n-dI70eW"7!JlDZcu*sFeݛ `NnIWhM - M>#Mc 8G&"VmZN\Pu]-¼Cyݏ4E-f3Xsش(,Tud)p{Qho95 aj_&+;,x1$\!Ɏc7*,ɭ]4 (hCiW U -?] )xY!G P> tn>w k ?U5|y$p]d~GŸ; Rxι1ꉦ(_X"yvbd4}+\VZ1{ Np, -AY=qG7X@ÝJ%Te,7>E/]k􂡟6Aȶ4㯆v,:BvT_<|/Ot V@q``b=JC5FhîDU7dxu.kĔŮffaj7\&qz Rq@遥1+NJݰ MsF i"r+Pd%7P%7ɟw"vmwEFu92hãMZ&k}o%JބTxxfQ%fՆF)E05y59 #|~d\!Fd\З4Z T y oD0Q7nf=^NK6Dj TL{=MLLʺe θHc􋿍vAi #߃*_mH @5c_1}0U3x-)TITZ5ZBm\rC^b 6n$L6a 1 w^!&R V(k$ekdI&h[)5 ǐ>*XW_K$݄U/wUZ]̝'Q|%ґUfͤNSP.U䕓r`wb}a#ܬb9eXW`PLzXBeC e>/D@WWi}&6Qc\"c\ eʏ4 ǃ`p(ېҺ<yp:Qxai|\ca d,|1%A0-dCtVԈM2ô[0]XF-?x&OZAlɗC%0/DWg2&Sf c]mIh?οfb(~-s^շVwQgvPB }7+Mo*1Fc{]i00s44>ٍ&spY%wS Kׂq~5uUnDK=˓aeZܶ|Qq}9x{„g9qd $|ԍoIfG5L1Ǜ7!l1 yDQU$ޗw*mC&W&hX57 }ј2BgcxhPu\8nRw7VvZVɍ|!DN.2 n(v/VJcg, Ȏt|O&jT|,Xܸꍿ4'^6 9ͻ$(p:†uӼw'^ʹ#b 4#سco첑/E'ք"ndӐC·c!>l}˘\ a"m{3s"_\P$& 3'u.#ڗe\?xI=rANД$(fu/U -twf4, (nPb**>Iom@p wC=P1RkվjaGϵG#?mlHJ*\* @A{s YPu!G̥)SPL{ҲQ!kjNW/{>X_>w.,., S`,f{3)uRhoQPIJ+U] G2^^tEXQ:GC ryZ 4bǼ"TEaRQ̙kg~gJޖ`J uæ*x}v`.{5xHv,6ǹ%.yx%BDY#.1,2s*ۙ *fVE%H4u|I`ƦGڀ= ܪQ_ #iWqn ,Iv >9| _Vdi G+wO-j1ٰB6޿ :5ʆ\cJWsݧt>L3\;3h ˶b#9Mӡg¥țɻ m97 jzV˄l?lr=aJ\"1=ms: QLm~E";PS?7rwQؚ6( E,}<Nd Hʚ:fkiƆ.Msn :@j!So9J5N8&lw?1̬WY4Y0Ԝb^gj}zzQsEPh+QK4A$ WrU)0F3&tpE'kS9W6_ p!L9z3lO;?te~x=аL$Ra7,/rE9|6&:o0^v/paϸ74dH}#3:4a]@#GW&GAb{ɨuYxϪkR\uGgWr2#֠RV]G5R`~hrG=01fۅXiH vKr0^ӕ! kϯ&r _q/u0Tr%'D+շhpDV;ʝ@VC kiUv!dL}0]jMG͕'dQ,6$TsnwT-l3 | %ޜlzrh5fn[%k$-17X׃Z۞͗};.bbJN7\ce'KعTILw#G7O@[7!n?5),7Ӓno%4IB`d( ӽ5ԅ>gAKnRe/YPB%vÑ 6oCA84:&R'ީ47čKXm o3QsW27SKND@T?ߢvZ?n߃]w!+U@Kd*[sG4=:wL*^ɢ# ڋߐj"OZ,Nɇ{@(FP3+ T)t.U.d.$gR-sk8|_ĻDXt.0H/@_ Hh=9( `eGq (_ݟ } 749*#E6?;}J{l.ƫQ_ Tye;DK6h0| OU }5pZ;# =W^x5mkuͧXflG,A?` 7S4a]f.8~89'I;XNB'<{-=F:xo4gHD8vC{GgH] #-ˑ}xK%$=%rN/¹"? 1?v\ {"@1䰨UNdMeŲgk*m* K-yQ>|( :AXaw5|})&h3^R{\< d.͆<ó_EQ R=^$|0 qaCJiOTG|wy5lUMh_͒'|yt(~c,}H/ SW*=-n }Hݙ紱޲A-¤:(; zMZ7O0#40m.Ji8b[oRu`H(o(&x ³- sލ\w7#T"=aEl|#Җմ'1F%C2{e*T=_ߙx a6 fcˠs3/-od"sC+/Ux}Yq HgWT?^i`j}Ol:Ҿ3~z۾م$˲~ұۧj9]yLzV"a}^L'\ɔ^a;AߚDSNw{s:םƅ^ \~@>B?ңYByGDۻhJ]:F 乀\"MLo`6posXTի UQ̂b#.8rKF4r yŦ~CdEE>q2NlPzsѰBAU6|HwjN, 6t^iAjL|܂i# 3-eV #RZX )<lK9vE}.aZ vT0!ԶI:CS˽ ;It)8߲=zT- ^L]۲V˹RZf%_zTdqh3yluzGޅfƻ1-CޡX_,M궳戛oJ. qcvtB2kAP&4+YR?e ~\Xa# +UWI@jK00U3"U?k|"4.y( 4?vh7F'| opȏÓ7kά &cY? K{*5 VE)Iv5-Bc$K͝ڍ8}"%^hy{kԔ)~ (W?fr#*ڡȥ_%Pf"5@H}5IDVM<XEn[H靄2Τl]as~iOGۺolؠ,Fxe4"ԳސMRw5h&(o\lTwK?NCܖGE!Db@8B*2BNUqio87R)1`?/&|D`IQ0QyN(k(J@M+F pںjk ~0sFE@P_}pQ1t]@Cܭ&|wБpqq#BVYLDyq #B/MM)[H7 ъEZf_fJVO *t Z[>E]J~?±G'qҕ¹GpAE(M>rokkafO%Kw#ͮKf\(+)I XƠ]}K:Mib JrXhz5Z\ʨ'i y#"[|KXv+g(׬;'M2ϽG7)b1Rl80-1Ǽ/ݝ( `/O>fp}5Jj/9"@&Kb/| 9.9n\l $n"Cb}itpK@u; ttFThCHGѪtDت-&kK%Y[IoQk&s{ZZ,yVv.y1^bsw ^?5Ry6Q]#Fn/k6aN3xqڏyc-8IZd΂1m;ÎS?rS,A>w\^f*r=D16y=0n?THLR(q].ܵe\yE3_V(6H eHER5 `qBe"?2>[n,K`ǯBAa ZU s Ml) ɻ<+d _)jmE4Ai\/(<̵az \x Y2$QM2e6R+CotCUHqW)F{[~y*QrD=z SJm]~<=t!E%wxq/?!шmՆݮeTEԹ\*Mbb$C9n>[T'Z#֙=k6\tJ 0Kmmwqz'G)~̹,Q7K\*(w94D,$,O0u-2x/}Tp2x3~dE1bs>kV2j)M| pgo3>|%7-"#P~[2:*1t AK"m%Z Js|> e,ht[ ϏRKckl^o&U,+ꀸ\+~@'$=ޜ(4`R( ]ݮp`al+~Yk; +Ϧr'^cgxJ'rBT 3#|82/F= 2'Xئ$cƅ3ͦ놼9e20Yơ 4|&"?&j#YcwDiRHCr5@dV0-4u_{t5q@Tl /|hW@iSfb&ǛHF֝?oitBq"4=Hemޢ| I >ŦQZFݒRX<tNjՅTQJqťԫef8lFU%`1DX~<-% aľEgAk AɍJ"2p14;aBI}GDC:pڨ$!^9p N V€;=.0;Mqi>M&"_JD3:5H}/)$5}ub,k<4hAݍh؇s@1NjQO'A8UabrQMM~aK[uIt5WYNM zaS3P0m8 Xwu1%sv^h 5r"i#k-hlR2PI^g5WOJSN%bn3 Vf2#'hÜVzsZŮtG0 i9w=hda ljUe6#JxwSsrmB33${q&c;N#k̎2TE6E Rr2˪a9Ck@-m9EZu9B;mP2=#I%ڇIe駠!#h7O[9Mz`""~~:o@}j54gͩ,$GmcT@[uŃojZ!-23oQ^ʌ7-Iߌ"m񬧍B[ޙ< "`\i@#^?QEt.O *!g*2Pt'חt5$e HfؚU]kLoic[_2^ӊhts7FSHpPZҏ'h23r%~8B谙aW;%٭wۣd] T脩߆u:%]GE3ƧP-Hţ >1y+\jn-I9daTʥY*j0#ϙf4slx xC2V8҅ʠac '3ARä]O~Fk:2z( YIReEDVG&4KZ+zAZ?9m OJl';@}W9{},6^kJ6)%T[|ktvV3KvzXکOp\qjۛ/un/CX]sR*U+(2w)rgvۚ>nݹX7QO^${$Aӡ^'T@ۥoWC*g`*$ZsCҡy7AlmnhNw:LMGG8\.ʧN:nd6 u(qB};*|O (7K6;oY15Z eP҈VB].+Z/n΅MR;l9ŻUw9Fm^FEcL'u_0f' LihT tPd/g8E l(piߧn rҵ>,=ɑz#LsscB% _#*g#_1q6y]oE3m-'й&;cIgv)R,:cT8k:7'_l$xJ,H/O0b&[ڛ7Zjbj Ŗhp`_8q|J T7R"xtO:x6!OMu:(GZ޴rLR ="faPX߮t^H\|ҰT2 XKW 3M4X)\ZI  rR'.^V>זUAxZ5XNMwN/&3F,c;Bā˜[a筫boE[ip@{߶)f$EL}کK|G\&Za/$D =,}ߡDχsi? BP%@3^Vqj(W$r0'1um:}A󢭻'3J6~P uD.8tU}e,4 +XǮ~0]@ڡ}̲vhYd9޴}3|bg%+ qZ9\&G$S `ԆcJ 14p!9wK|n v5(|]s`#7♡;+(!b5t}3u y}"-!AQ~05* L+YP8L&YQR=Ʀb4x۟CAtL8Y<&LwW-Z\y!P2m~ I{oVu8 nA5S"*;bIΉ%O_kxF$)[J\T2,ۘY]{9:FrbDa/_'xS0JZ%Q:MÃŨ7Ԯq>3\"@/|j 3lu-p@ak*X!Ї+4_)~JbZ,*| 7~e>sW= zЄ{bA0o eAMt",kɡ\Ⰷe;zu܁̜e5UY.ibHg Y^7˅o Xl[,& 1}Ąfx9:͕ ݲ}H3{wB=# ́Ș,[բJ im16aPh0@%ԩɣ`4Ŗa8EOq\?ƞLUnYt9`2x7r"Z9>$pYiySt. Ez_&}NdlGBD3vFp(+`,&O;#_B]VFe< [޳" _؛|b&VJiP@ my_0C=wp{5׻/I?è>8ә<'2ŶCw>!&/t?#qS7Htط؉O|?4Z7xp!t(ܧ]8#VV1yJi@*ԅ?6̔ @G#'J7I^oda9{%f%Ee˭m6{&_{@ K_uZ&m;QњW*AuPiQDocJ>țU33]Zm\T{[sI1gdKǂ4\0t׮Ko>W>Y D %FvOoy %>S0iYr :@#˚~bf1 pf+ W(.+|H'AWsi{IfɮbK=஻5:FG"6M 6ڇ{yGIz,XGG& _cׅf[oD7FS$Fw;W?0E/䈜⒌S7n^' `Ƹh |;aYgy9To5 cㆠOgBFx ?r5;@**nV> o VԪAyK#;k̶3 Ԃ ?W5Jz %ʔ(Q:FbǝH`*tZԅa6t+Jc]NjCb![7}5TA,MFPCw&׷5SNwIOB6  O$Z Mvv&֥U5`)TbQ"[N9^?P}ɓ.^ LPfAg󠉭P3,}>$NIO_D]< 5h*{8N ANc}ߴKYZoc>4H7cG8;@Xno]x"oqHL.&j!6;hFhhDg-C՟e W%64OqXmji{_-}5"r=8>ѩ=LY.*-H:ĵ[ˮyW@qƈ'&*6¥v {Fc&jlrbM[qʹ|& Gpp)(H6P W{%q;[Ix(& _rP^~1tAC^$bZk5j=pa/= ^pF ^ñsD$rwI8+9;e>aNyM"@韔޶i rcI N5.8Ea2OV -!r`!2#ê\6#woM2f BMDcc4em-22[;QAgBԄ$%/&ugRȄT}eU="4/[pN0|*JFWVjFI{jF`\)lPJ̛Tx2蚼z߂+5$8V>]h;$cT_).QJlj@ėb-M0vʬmfY+!k希;ϲD62h [l*5^y"rvPn> kр '{ic׽]>A}PAT[j :b,Q&B6ſX:4m3+LIkbJ[sUxǝxNş>g %+(Ѿ9񉎈zܒf4jiB)xFRMB#Cv#E?naϓs(s`a{`] L>CҎ@ǿ E0&R-Dovi\$O*L3L꾺Octx$<ʠ0ClJQ0D\p\L'?Mw RCmNʛMP3XtѶ$C.g3򓦜fD+m1{~PS=gW߬3gzMfb.]N8uo )Bdc0ax߻3!4Ihbk{*W18́ۏ Er8Z#s(4v|FvOKB[QGi'C`!+lZ~:e\UwE̯.`9U~:<70hҧCeFT}VuvH`I&'3GX _+;<ЎmQsCE:2Lz t< !Gwf a@ %G 9oFlNmumKzi>|Q 2G؃\\@CyS>APeGA}aPYTWD/&4lgɮsB{NG[pTp1 Yܴ̒pqVL[3: #C|?~F䳁G1^.$KR,G]m>3 sbb.ʭcE7.};>tᗍZ+Ƃvd eMx]#jNQdhj%TTr &݆/ oZJl0)wzkYԣI8'zX9 jfThvCqRh<ڼ#; k[-;2"1i!+S=t| VAG*:E1ebo|>2].B %NR*lԈ-p 鷑v* =q6e/P[z\6w_Y%0+Puuow&֐oIS}Ɇ72i-GO'#p Q#uDYyӣzx"q#tPǸisIEW*pf+5R)j Yܑٗ5l 9;] TiAtӌd.'e&c#z1C*/h 781y@ހr E?% w gjlTs* \ΆsC輁n^y ɰ?a,lQevճ/<[.ZPf+Da5-Vuy ٟc<#Á@Yhw)/[68cdɑOmQ-SVRo%y5IR>3d)0{=>8u<} A &N Xžڷz >f6}/D9fcaI0NZ~订(Zz+v°~Zũ,DLQi"ˠss:l@'>ɩw5 CdN&[QOs7@]"M'G)9nGx8}TV3b"H~A;MKI岎DԞ?::@ kAVU[M~zɱScʁxᘥBIqX/W{d 2SG+1@2+0=vඌJX<.\=vtde;\Bdlzn1QF#8:ztRȿ}ll>~o/‘c9&/Wy|6UJS^zh&<&)tXtI2iKxgbMĽfD'}GgrS΄lg6D0>Ŕg 4sU;늩bTܷy5HhpJ\/xHwOoN}QL.w`-0`tm"f9xy :Ag:WcYQ6|,HgpĆ(_ݏADŽ^hλu,a lC0,XwWS۵uUlq&<V~Cڮ$vr:S6Y/ 8ll1y>_P0Ŏ7/%zyj𩛑JŌ}p⨑`53t 4B^8I.Zp8hpF]^s7zZ'lX[e ]A7[|O$czTpr8Pc㕖eh& |e:{o &+vsΧ#2WӑwM`lp$L9 - h:YAÌݳwZʹAr_KYqj2B6AGuy\-J-ӕuO"t$XU ޔvs[O$̝U_bZ܁Pu(ĒMB*˴$u|?ұFL?v %ޢwC^eiRӌX7p3"MR ehԙ`YXy_\:T0B6qP:GP;}Hnԭ# q  HtLBtc.giJ/H¹ X\?%Sw##㓰qOM SѥTv\c<o>fvm,L`g |DW1jI .lT}\V؄jQ &J3tibCײ9:b4y:^hJ(ͼ axqr6a ]c>WʣVEsh2GJFkHN7%b \&m- )Wr=OnzUF7_y=?iPJ~ALt|8W vpqf5??<|<$P m' {C ʷ0FS|t[Puzqrqu.ckufRfFȃ}-B;1†9;hyV }&M/~YB|>d"i+.%a 4nE|LU`wĚ)'Αs#g*LZC輱/C{H m`| W%_ubp=m"sP`+D\O7n_d!Դ)m)Ӿ ^z[i ,fynF<6vΑY&6u)]eWX"fjI:B3o&KZAjxRQt ވ+~4J>iX#i qHG2픁Wb~1¥fvtUb m-[0k07R.=AtfNm"ڡ I-K'@+M #!cOV|C 9O < v5~T3p(֧!b)񓪶mj Y4/W%ZFOy7PUɍ7R0۪pAⲽ[qaa{ˍfȌBe 4l) sN"ec&Q!3T-+EC8g_wY^~4^L@mgde9g3C ~-FY*Y)ADA'9M܂iMg _9?ijIU{CD%#lަ~H)l(9wWް;p?*úM`ՙ1ͺ>_4BM T<<cTn/.^s=e`̜9\8& V/hB&uuqW술q!c͂>M-t=Ų ѫrR }o+.jꤤ/xSX 'ҟq[zb(q@Rsj`g8UPHEݷ&ԼK.2L9aM|W`#D&9y٦$XZ"lފ!JMrg4qM.upA)e( t1rEi9L6S ,W;/g,o5x./158 07q<(1e[!t4mYZt𔖯0"G#]Q g!}BRF&8O &y}tF \J%9 ])i`| `Uzv\Npp$f %CVli:z3?P\i:sC"̪VB4zad]SDTx3eexN lG9ݯy[< \ 4$T)4+ A zjh7YoǤϫZ{oim\Iwp'9v/41pZywHrfv/B' ,:;/.X16=ٮKԹ܈ nwiid%ݠij3zUZh&.1uټzlIl"Y41`eЗ[C{l]VpT'g_zVpDph򫘮H |; NY>EI)E\կ#Z,Ӷ}}1AA$fF 1@`%joe&'Wp^_XX: OP`RzSm*(ڬ=vq+\ed29.H8Yw#RÝd'02^@m SC(\pj_0aw<>PrgRnHȓKO?=Q@m 1A`bp3٦ mky}fJɘya7@q|`; ֊kP?1p|YO5@nWM㥋Bhی ؊ȅ +8ʭ[[ 0@;lXKbIV@__:44ixJ*fѠՙݗ#&d$}FCQϋ2_44 ӡqa]|{؀:9wS2կ9=<5Zp}gM5qy=رF]7 j:.)l|Kʿ+_>|R3n D@y u41F0 rŖ\f@-:8?WclQNRܜYذf5 ũ`.R}Eafi.ЊdxG~9uNzqG Rɓ(/Bun&?$Qؕm9B1׳cBKu.nry`u >VoTO8R?F%R_'U`^3Kdpi膏<N 8҅MhZb]!rl{Nsm6_ 4+STZx/ .d؜ Siٍ >Lf}5!O|"_cWhe&W<5>;Z ݤzr~=_t&´=5pcsM@S'qY2PyؕK5dy ؊<ݴuUBBgh v@O ̗a`xE!vn]ESk?vbOJ*/؂ @/4aW",O\^ "[{fgVdz"ga}uB1Pȕ߬-:k;X<$L]E* 'uwr@wڝfCV3)b+ΜlsYT)НkazU3p?\@[yL@B>cn+Tәd?SA{IK=I 7Qwr0*ϦJ~m̴5l^ Ǥ9 d>\y_`n1P32ZΔr5r bֲ0tPaSh+TT%8玙&w%d'VUzأ,#ZBB\|{-s NM驮,&Ra=w&O_ID^H؍i t)/ƒj["m %}@zS ԅlߖ&)Wkb0&ߗwQzo[`; Qվ;$9e'8(K9T/XS/?h;@ d*ndL +EFnf-?Q|5[ P10J] nDETL(A,̢F'@57upFV) =fZ+R?]ƿ '@C2|0X]巸~g޴_6"Ga\Cy&>~Kln M/zȌBW2O;E= j2T7ѽpO|PlDTn f5v{'((02ޛ̈́?,r47B.!Lof͓Ii3 ,E9 AY y4Fc=tN uR\ 5Ӗn_$Bo 3x{I>@TZ o' QmBVY;<XX᧞~aG0Gv׌^,-gX<cBL>L9f ƚ @xQ05l&aIn`kL$Y@pͲ$an6<ҕwʘce+btbKhP[:*WegXWr[[e[}yB^ +(}g'Ғ@Z!7/{Pq֤i)}~e W1t@$ qyK#z/tE>-V+䧎q=T^DOs2u$$vM1.8:!uk/}؊ֲt̳CMCkY^]v[v fb_O汯:?] a{U+^|E|w:-!,m(4cDVYeJ$9{[Q)#>gI_(#[c!R|֊x4lA6H[ZHsOO٥ʙ:!iΦ.ޑ3zqn4 KۓS*ȴ+Κt|OØlh\ђOUF6haOQir.| yb~Al[[dkx 5むIbS8 ĥ*'qJ`Y0tJCYS[鍁,wҥG:KP bڀHsߕ&J8NZ.]5RwIZKGsV1*,ԧW*daH< LN vTvy"5ޚ#%-'2I5^?\ɵ?)nU!yY6T 9 +h#۹7v[t{Рئym]㡚`m _vx?b c;b,E w&0 T-jlw7:*Oa* (b` `HȄ^Z"~AR:mr45k}ohKʬvCJKU"[B2~;6+A(].0? t-[/l ]_nΤW(G젇_]OQl3n%/zpxmci2oqʷ~RP\k'SEd#"t<(#z!@Ochچ>>c}7Oi&$_yko 3(:qg]cOeJ.|{< gmƬ?{/ڀUP,qwsy{_+p|Fq3yfɻ^y"p_aS&njv†l@))1ѵ0fU;ԑ9(z\tfiځ DKIoSBjLjD3P*i+imgawq5\҉i.Y)jLBW.Ԩ89 Wi8y+I6yTsD*D44R1fb&LuLcc9"JkC-)mbC8 Aӌsb޶cTs 2@.+Uofr! !%t>@qPc rDU+VL jp$bꧦ"@ @{MYo VfR<~B}:w7Ԩ,NN# Ds metᱛB+B IoY=D ΁ձ9n/z, ]} f+\YĹE!gGzZtm+ j;'2Ϡr"̀]oFC'>c?ٲx!!p0>~N?x3O ))LLY!7;Ki)R!Ӡ㤧/oگfQ o ]MK׏7* .o2L3TչV厛T {? .e1I@( 2:fU߮UO_i㶛jizRntp'4v26Y,?9!g̒H:`A3THu@3-nYs]yyeh$~*^ y;Yv/e҆\j*aή j_ b/Zc^rnZ({n!_ЏlqC)6TAϚS21vױJvx J&`y6{"C\^㝀'ꗍV(֬/5g-EULY)0!i Wg S@WM ZC{dSv3>>P"8$yhGHLzg)!նnqR76Jw2n4_"Y bi We0mҬ8%90K1eCyߞgHݺA¢M8Uk_d͗lg# wIyؽUKBIJ阙R*`j"7;@oFA.<ܐčYgc F% y TyijtrT8G.Tө|97d2K?C" [CdF̀SO~`iqNsGX-yEX]>9]^=N(=p_K_%9.QcK +}Ehћ1® 창jLoJQם%y$rNjsdwv` yF$)7G$lr1$[˃jGvvS'5ڕNXq^k$=8D)bn1Ɉ^DS|+Ĩ&B, jD8UU;h$ I'RSڌS~+`j(O66+2/I֩އ@_g$ q أ:ĩH:i퉰Y~mT>\TBGwx"戺2!ogn_tէM 9a2Q1V(p98ygL >ecoliJÝ`0 T 2 V Bf˶<^h-2wIU/@Ҏh9XiwP-,1TB VɛbXZON0@b Xԃm?A("ٶ Ȏd=Ɍҿ#\~`.Q id\¸iy۾ k*b 3ԆvL@}f batRX9XZ9U]Е5g#wUy!m8~Kg4bvPXA~;h} dtʲ8Ջqy  TFy6; T^Y4˚V[,A/߿e,n]v 2t4Be.BvnYKfo:![&^]*tMcpk (@ʘs/ԕDY &J0]b=_XfXAh%/`>Z,'9rq,Q~@j 53^7/!Ԫ;CHӑQ`j!T+n|#[^oK=y-)*dC؇Eę!φ>>&=*(+e> gNL&:\=3#T+G [aUSHQ0*p֫meΔp`S[oZ0BXK+騅5~wP>LϤ j8;ʔA (wԛYZbi|("Jrdžnp#I!~&ΑD&bDՈB"^pUPlDj_>G{hVwfOQ~L$߱pY;e$Ib\fW#(E)xSg7~▶l]Ν or c vȞogul4 ;̐ }yYIg9B%rW*ً̭~r#U"9.qƱt\6-em-?',(׉/MO^MEs EZgr"HQ\ \p{2=1LlD$*4ݔ>qtԇO ( K)(GI_"gQyCzB q0A (awpWO?7v_ٰ9>.,z[*|<F2$ h:88#IL?ݜG<]$Bdlv!RЗ0rDٝұj2o7/ebN€zu~C[m|Qs|.C⎎K mv8c3Ñ@fv3_άvg-b7[6PIgdoqbe۴K "6&zIiibO3vQf,SmZ!fZoɿk) =TX^Ԛ6=x͇egU_zi9E˶W7F9Kry4>/~/Sگ8lّ d 0Ȼ ώچy c2v2*nE\Y \4}c4T[?ت;uu0ѳu\ P*, dL[fe99(`霼u+7M•A0D5"`W!T!jJP]v\D GcLkfhIVJY'~vGybgrp<Իkwh2;֨?B:4>|K< EKKAJN]jk~M^~m~đ0]0[WuT۰} RT+Nb; ]hax#>c5tPaSJ+mqTdAb@vq 6 nÈWd$V&ُeR:Jk֏!pF[y%k tQ6i i"o^ [Wa'e5,m)9Mn^ǎrc!!'w\ IíyVf2GefН\1@O!ȶ瘈ޫQ{KijzU6퓜{K}zqSc)W9/3;Ei1+5"<¼ El Fa첡rbR37LY8br[U7QdDT"YA7Yݑ[ZwC"&Sdt6ƚ@s/d#z!ښ# M[jaȟ'NKI*-? bf ۇ .D|By z쯍3fo!“¦zTDWэ&v zcDy~WEU/ fVN}m{95ym%0UWqo#pffyQsôƋXK3rdݏlK \Υe8&g2KV0;>dY J.]Ck03zO@L˅dHP ;ڴA@BVQC\1u4mA8JߤFob?:1mkS>ZɷWfZE SBVXx˅HhlHaCh_h?HKs I4B*]f-˷^oO!xVю슥Dc\4Б篿~ U 1_3Q۾o A|`W>Or3[ĵ7̈kO\M!RF.8 $o5#6"#Ԁ e^;\|;&[_IS84*SȾߚZSFceyv-'EsnM*W1kcE}A+w.جjń3<<_}ZbY!0`8rq줨v\Ͷ&j7O1IL: ~JATAlj!V ad4蠲$YhʧhΫ5M>Ymǹ׼9S]ws$n|<71ԊqR|r- [ٯ0}vGEx̏4߈y ^pӠiřv0 ͌!PRrj//%]ƍ@KrT2DFtQRBp? J!77T'~ @{(QT$XqKEĘr0_ᶞ[~w͖Vu#1F淸&GT0Gh=6J,_Q-5 dU%Irb[G z^yֹVD{|(Tz3[l$`&Jj^+>f;[{Z :.%4OP䭋څ< ;H_W@%+YǤoe-, ]@d~ĵ;gQ2rS6FvyBJp牲4xݼXxb}j,=fr8cJEIALNW!LQ=o{T$PP$;\7;mAS<^oU@GBg[VPm}< *~;j{zY |L\V!M[OѾ5?v xz?5;NM\}kH;5آŚKݒlL)5OGt˂9f\v?\Kٜoh~\|q} @STh.wW<{ZFKв3"38~{!E :LcL;gaHaJO7 ^:6|&,,lį|nxO*v@] i_9O k> w"i(7%X'A40Z6'SFȃc芪|VXr=޳IAU,J)Rp&f^͠KPu/·BлȒժH?U+gM d{\Pty):i,۬O| (CXߧv[IGAjɆvő\K6Vc0"-r>}*ܗq>-*Fd+ ~@Dej*Iv[6ߏm.θ@~meA$<7 8kLQ )D%+p iJ;I. 8Rƀ),c^i\/ݜ&I U Bʏ3PL~Gt\Co' ԋjQyF"`Oha4 c7VoB1^'F@JL5W`MgMN'9xOgo(1B9pKsR\^n،KZ#+~~ɸЬ* U$j]VR;WtHF~gKBCY[4 Mi˕z څ0\2X+%^+$'3VIBEh"aTJb$U뤞 52#e9bՁz򃡚8^Hpܮ:XN#ZuMFUY.rUo>f's uacݘzҿXjp~Fc=;_tb施@P҉YxdPK k`k*Şmt{!t9 8n_tgkA wwj)qMʝf,Ҳn ? fW4o A":/V G ݩ .We3&);ͩ\n_NdQmz͆juAbb9?%,tC`:LzҠ*DzBRiReߓ2qMW:46\SRv1sR7vhFߪx᣾7ԋ-|;bA;Wo Joy,cGoDb(nmVbK_lL_HiӧUBG1G" <2HaC I6[Ro獥N‘տ51E϶_7IHT0BZyJJ!窱Swl+*tfz$}: #!1.-(\݊e*H6 6V IC$+T*H?jkc-1Rzun"CR[q囡`<Э^P^΋~hؐv@cP>Q:?(BZnBlSۦ(](S,gamqx >ԉn BÉrج?Cü JrVYA)m({" H)dd.ʤ=7門,ywJRxj a,8o;5n f#˙k P)!DM܆U?A!u6pvRg& 0EK3S!!,S"ω{E>;¬lm>FeD`uLvO|H;}WO]Zg۫B14N(m ls&yਨΆ vA~s@_dU7OaϱIlX4nҍX0ո U"|B)Ȃ28NxvM̘'%;nȇ]K1c~ rnt4E>^mU4f;i.e@]$ 9*9 &߫MV OB:;i꺇Z땬;c7c9҃M8kqk4CϝQQiB uK ceU4甑hė$~+Ɍ`ְZ O=a~7)R MH=_>.bސ:eA2t!`qxmJͳԛ1-540 {GE#O4ٔJn:p-WȽa>} 22/C;a3z_ylb)*+Y1gZ#r ތ r s[Zit7? ^w0̱lW2kwwʻmx͊9Xfj=x;1_wY <ޕ aFyhiM1tvJQQw莥YrN@vTMjCL` Q,o?ڢ•c~{6̹%{#P2`*Bج8h1f8cUU5qҠk̤-W3_#O4B]eJ'ƨ:SEu;\9&D70f֨~nf± Y ,#'K'jXW1 *YÃOrXm^Ԥ&\B3493캝 | --"vf 'F,O5#(jaS oUTlx6r;z%RmEWN,Vʈ339vGwaK..?bB, "`m5}$:8#agu 42}R6OtB'gǨ%M`G񦿟m'i.o, ˑ򗉟E\ ='@;'=FRfk]m3)4_7&o^k/}&=hl 7'7ߤ8`ߌ(5 .&PQ)dŖ%e{M@/2 *fC57SxFGti(^=`~GFÐ{2d\|=g8l2ŸMx،*7IrT%ѕJxh{T\;g`N;\v+wK)A I:`1'$cqcLuv`֜ȤŚ}9}xיLY{}5g`}+>]p ֪HQR].[M~2S*dR- #7=6| &(#ʂ=詍CQ;xbzjxoXӲV3c}㡷+.@6ƴdFBO'}a&n7N $|}}t'|/ҸGQM4͙qq7c3KxÝȗrA ɝ pSԑWAMEnؙ1e(Ftܥ{,&Y?윽:撲rzIN TT, juڼ+nѺ;^_[H #Eok&<6zmN|<<ϩ#pif>'sC%0¾y27f޼<׊J,K34^/52/QHl'w/Y؃s}+؆:I()PM]%ʯnFLX"Nnʽl0~aan*r"9))lmJ**_/>+详y.q%~O% _ZIp{Km<AKUM ^}\]yєÑO;4Ku\̊Ɋ\=C[nLaJ/ˎɿ6"BO^ AVK>o]Ύ8I҃Ɍy`HU1ph\2tQ^ 6BCEZML.[:)GHN{J[,l$ZE="y;{[>?Rb,yƗ_VuG߷l Aݫx2_u)IY%&u9R Y3o:a01:U6<ё-Gmgp:vl%-6z xdRVmY/k}!Si>{JuȈG! Am>N85VsG+~zW at"ŵ;sS@ЊmML(1+Eiɳxjs3: e-b0`L C4?5/aF8\8ԐpxLcTsh>q_dq!d+hpp!D)?hЕ9 (U+*eזH͎CTyvj]'}\D_BՂ{8x‹{2\( N~DBМJ#XH#滞KnlXrן+0O1 fP63/w ~u%Bd̼dʙ]P8 by@*l2UKgS?S.Af;&QaZe38U{Z>?Ƚ4 Oˆ]YryVf%)g\Vm:GnpE4dL7xđxRg/ _mkqQ}(o(8sr{ɵ.?rYr^^0+u rvг4{G\t:E ,&R>P9t%bz~ҭnBz'$-s%Jq5Nl'|EY'8~7lmfM3 yw D,of`XdФ|z9?"%Rx+9 AD ݜ.j?5*kE>YٕP.Q_ŇwLS{ZHe+[Gˉptf b;_Z˻(S ~T$Z)CըRR J#9AHr#uQ DyqW4h^Z,8IsÇ'P6*308ﱢޯ޲4F+a!"oʮWf㏵_Xؾd#W+@'Dz2  //RPt35N* Et!M S S@ xYnulUB$sBٔ{>Mff5% i- 칼ޝTcHnsXC?!)Dv|+"G6]SiZEBw!'Ϥ hA1 sˠX;lB(DSzJ<ԝ ':j!V24KD(*\;[''E> Zv|+H/`-ɾƕ[4Ø0 #, D_:wZk|2^@0cdҒDJZd/qs$OR^δ_xXmPUgT޸kWZ Z9&ֆ|a5UZp n$ՓÁ%RA Js*!jLw2[=L`}]xU_zJ,TagTIPXQR|U& h^( f5ъx)~GsyC .Sw5&1r"e/"WbIU_r%CSR `E0esj==3G] q 33G8;#dL|$5/AXF@Yu!R .(2Xކ00#cI.O] g=CQ_7{+ΰMX|e, L dԦmB8mr{iq|vy; z^x1ܱc/h[yS&J3n6BIOgKzj]hnAnwPFnyfZ>J̠ۇ+3ZxTxP ]aH:OEKc#-|b6*isZ~D'~b"lAIiqi@T5f7Y#dME3p+Gl#n * Û\+AKJ| ^vMW9O?8p"ݏ׸9zG.#F-UkܳD>8s0N Fi1*X8{= b5xA'* HܷNy+ZC!BGvEٌ*,]?4dbWt~%lI;Yײ˲+*UOX;ө8֢Qh҈&sUyQ5-]MFKVLQٜ)&U l4Z᳐a;2Y"uCu՘]`LVKssk* y v7#i=>dVu17y2F8;|9zI%]O>uLwUX8;蹵YZ:|= Iu.|.;d 8Ғm-GDhG2XqPe[O [ j$0gφP[8?Wc%޸|09*umh|Y%5߱T-P/ޞnV/jI%R>ڗ'G丌Př]G)Kyg &Zڔ#*@"^q|8$@@ tc8 s, a3Xcm` & |qmz\ M3 ,#gOg| r>3(gQQKs XT9gOL HL{YnoN\'~| myҗ#t:*+F}䘐pmF%REc3_}b%zis?ޓc8xɐCz[ب9~clf'Z*ۃ*hkN'?gp?{W$kn΅ǃ^pU(rpPFJT7S4x@mziy A)Z%ՠ(Hd HxOUe@GҚ&M ;>Ifܯ^w N| 0jUosE9q=W9{P ~o:y&IsCmwDʸ~H>1ldq Йc%.yp8Y"l5*WⓈZ ,DH0l,I"IV% dćAUplx0ugNܜ~0Ӟ15/@.Sq7kNOk)7k"9֚ŝD:Ne07v20H!OEeQXC9aTL0أz~$:/i32@\J ;j@XD'&1_v0b8_jNdjKCPg 7Su/잢:l4uA-YڍH"s@?)N;C}o/ptR&wLK-{) vM[fg".iDU&gimx[pY7ź;c8 < 5ؠ$20P;_"Ҏx+ni@ >Ǔ6Zl#{H}@`Y۟>/nX:FW*{vՎA^"ǍnՈ& uEH"|UЪOBu^X164c(ڒ4fQT.OwtNЮui~L$|#ׁ:v{9ij#J3Ʒ9X.-RKT T@_|"8hHDD]C&P ^z^?7xe*h㣚ؒʐ@6MNJoH IP=s/Sͻ;^@ %٤N樐0\3#}Ne}Mz) @$7d8[ůi0r>&M ^֣`eaFB!CkpŷUBL\8XU΅:5􅌛`K-[koJbגz_I 0 L4 ^ )6<.^3:4Y{ȔOmO@fFu3L mQ;53CjDʮiw9JS E~9/nihͅcg|^$D9oB,ƿSˀ \Y1prv15C <$8D%kkL^T%qb[Q:r&{z : VC$΅n 5U6I{"POyn+qkҍ=~?LO~@KO7 /e%Ո7}bzB'WshRbAK F˯/қT؝bLJm+bĘB; +񔝵~) 0DCuLCLSM^QǛ((rkdj3>um/ n4ni!Fӳ nou bnOf+,`!ۖ-C{úJnkLmڗ9^0;P﹵MHFNUc]ܾ)%Ԩ:<$wf8AEjt1I{x zºj?'|QݠĢ7{Ƅ7aIx۫σeetB Z⌹HqsgDjPb&Ezv>d^\OWX@\2]@"ZN&ո\\o4Q`!DR(ũ'Eb09;&c |oCs: fOV{U8#Yևy um=ZBMc&pg}#\uhY?1 ܖf1jW!LٌQߺQJiǵXE8ro_?OA8Θ+չ폞$1QX7 Wſ0B>,eG/ZXRռZ {SbmkkݰY#^wCٲQ"\MsbHdGn$R26 )د(%YOX(w|uBx 3&m/Hk` ՜mHY$p0a~k#I/MTY2^$NP$ 1*\(G@zMNp=@aR ߲AO'Ĉ@ !U[ɉ$K}kkfQڠCqi\[? )k5^F9m?=a  jEWXm|D5ֽųd~)sݽ?pn Vݏj-bc 7.NE_0vU+;A'IXӮC+3fh<|HYq~n8ur[w7EY-(n4ٺf^Fқː' B0R8'r(Гݯ B\?*ǽ<dap/d8X :3ɥx_~R-= \kNN؁.'C tp ;bizn)ב2pHM z[7j#dֈj2ѽynͳU[Rz 4b&/W7aW4 /? ֳZHxhC<@;g3"8lAKOT%ZYih6L}yx:2ƣ*s1MmV90`#^m"H<EAF46~J!ahoVo+xmytkt8K҇4W_/N:crgntm/UW8ETZmg5ϟ,iLJ-9F.]T|=l>ЗJS)cƅ|نf9Q `'MzxHlq؎k$ycUU@ L @"CM7'-풊1G1N{v39:;H&Ub )c]>/h>5ͿU/PXuΝ#)խϗ hzh V`hN߭y 및y@רZ[JҷwMZ뛡)1blw3UJ.VBkr gP"vˎ%-/am5=pf: Z9h睁׿X%x7mnZPЬPs]39S>]xp{Q+ GQla8"Eaգ[wR y~JzyT[}k1pV۩ih|Y-,k2V; Ȃuh 8lk*oW*`M5mS< XF.p8} !IRM*o}!2M*a {濳W F,JIPip'K&ڻЕPQ+vl3ݲPNylfkFۢ.Ot-Jܠs>|[IlyHr?G977 {?L땛QW7R[ȃqBT "C.Ij= S:r!;ª劊o 9 xoDk]n3 r:91/BLP?l.*Ֆ>ԃ/+oH>1nOf_H&2\X`۩7NfHbX׾{Ϛq3& Z[WN"2{MD@_-T06ʊ7KoxP;̉+ *C >&{:=::ɻllɓDiB:d+oȓ K5ḇ`NŁr}rV"EWZAE5}4I8l5fyRZ8\բmս&o1F|8.Qw-hǏi S(aZڏ.]JMVJ cܕ,Vas7{𛀨ǃ# oL {=U:dmX%0K&OIR&/Y>~1wop y%F6Wo1$d?-l`kyЊ̀ OhԽ&d9\TP͌"z\N O$Cdm~P*)*.h `:NwVDoXriG6r:aK Cd* ʶ){&gZzqErh5Ṣ>'&|sev=U% dK 4oJr%1$ӨWف:CL}?s;^IXEg[~}(PepA2tn< l×d)H:򎞀K̈́YYP6CP,juŷtMۿc2~p4T ߻ʒg ^RͳY,t: aϻSL׀sLH"Nkm ] !<}s_"7VpYIJ̹_)*}f*|&eʪ-@=uwqUYJ%LмmQ5]0=(r]fYnqS$Gި@p&2բ%V%o)(ElcA☏*AC猪:hV/s Z/*/8uR6xN 4"r[8<Biuـw[ϔ~OZH^h1.|rw1 0k|2"i()% {E I`066^X &~C DyzՌ X IBkYޗa[ bjbUkbR˃9h-y64[Uem2MS>T勎BP7޳c|mSZ ce%M:EMH;\ Xaxc2* $kgEX*ZP 3eMݢDtԭ3J /бs_1d=s;W)mg#|lPonnEK|*fV$ta[dT] tR.`TG`1Ob%\*lվɲduGQxM#7,G3(L | 'K3E۞/CmUuh9NFjc6@zrH2Pv_Ԋ'me8S۟OX~zK {au 3/+RYn_Dc;q2w{qa!D ٞ'n:1 A]Լms oev$du sn]CmqEBUBe'tc qA<}cdͥZ=/HDyĀk6o^eJehrO7B5`K4n.2` G${q  {C 4j\XaXu \7ꥂ{N"rXvGH7ѨA~y}ӕo*7NS?d0V诼YoMA =6q}_L?\-$<6HXuN2!r `BCTafi!:h5oB(X(-t3]b PJtOZyWDuAg3UY RPK/zekEFjj1-"B(dƼ@ˈ)ʛg]w)u$%I= jJԫGXqcvQr,Gk|70FQTx'3r야7"~{}P䫶" xw V/!n[->e_$: ίVir>K𼨤D; $+i/\ӌYf1v;;Sq^A$G{|7KM2BxATMљ"E|Ӊ02`? UpsR`OGd66~/0peq6mWVMm8W:0N=^Ywđ;7`Dɜ\ !ɺ,O^tVw"0Nl/evTN=UGSjd5aA~JΧ:,LDԲS*yG]h7+aR_=it/z9\#D Pc/V˙!fnõ326TJ0 Yf3ji#, ㍀sGm|*c!i_\^[h*S=D,]7l#jD,¡[L0ֻFK"= *8ߺ3^.I2TZHA4\n'f 'uߘy0^9j$Y2nѾ6 5Lx0VI\#kvz!>ԔA֛*Sg5>RCӰ?TS~EzG/f?+|;2zLwqB =J$R#u6Ή|X3&&Y~pod! rl"9$B5X \@j7yCY@<&HrS1dy#+ VvminXAA~SAOkw'|ʾ\vyh9G2`itP2myn%% ?gF&Z0R;VtcV?a G;m>㒗M_I]E{s)ɂxhP q"|BJ^$,xq.U$lG~dZ\]>au(i<eqx~AҞ1rU9x1s`1VqD"q#rn@V?y`"$pXڤ(FKr^=La,Q swT2MlGȏ5u6NUt؞sF ୉ƇDڹ Z3<4Ú(|)c5 Oώty_k!(EjdL-6v/ lr!Ri}<+aPeҁ)Ic|O=*Tv ڻ\w9 <R8K^ QҫzMnYPÞ ȊcU8[`y[A& _Ф$ME*G[.*8hu1R_3.K)*`JV b3HN6xεV羴'\-8s^ϯ{-`U$CNI..𪇤]5*G,DY6t$M[2n &:]{P}ClCZ椗F>}~OTΝrgլ$xKx @ jaL.TrDoB4m?@e/fVPn|niҫ%n֑]}1<ὐ@SV[OaD(ϯzmsXj*X:N/x5l&\뭘R}KN!~Z̼?M#1L9(Wd͵5U@aQ|R)^Rezr<SD;K0pKoY"=gZQ8(`Ow)A)[DA3+yj?pS_yvkT?ﶿ NQz ZF6=1aN22˙yl/~H'htVp(^ݷx`=ڂU:jj1FY"?Cy!rkTVJI54‚7GUޣu;P1BbjyJ 7zU+D7+QX_h;m7e"bsIHlgA4Ao"Kz'Ŭ83iMb&'NC ;(5&Qρ9 qN*7GOGH:3Y?"ʈUGCV_t+Ns6/ 'DT2lWXRf cpiQUUBAs^"#*0qĕ;pMgvW媶l4i_3iRF9dJCY"t:-pShQ1.T?o@pzSn7?)'@V1ϓɔ|2YXJHIȹ M'؝OKҒ8]%Am#ɇ>|'Uc]qPsX&)ɈL`"ď:8& _²U,˴#(-2 b;c}U6$-ƭ[eҙ rN2V);=)$:X |^vԼ~ׯHmJ# =N=n} <)Y +kagQ drZt$bͧ]J"3ɈGjaR&EݴqqF̰[BKȑܦh}q72Wɏ5!p]N.޽*L\)|-z* ˱rʼn .驪CMIÉf1Z|.{<UAv ֺKpÉJ96n@SF,G3E皼z-QMlv43aCL xka2,ᣩpLY `vzVhUtL'-QE<=}HvN9 -,U7=[|{8q7ricw}T=>`] F;Uu-(= `D&LcԖ`k'OZx)k(|팋MQ!.J7給mu!YFS hm6o‘)wq|fI;0>ֈ5 KxUE ]Uhfv6P+ewPS4DCUfEY B~ԙ Xdg~ް]iؙسt o4m*DkiV^N񃉶^E o~Pªn!O{_ڝDƾ([4q_G%#wobI2 $ vJ|vd[ wI&Nr^u _<2Y UHBH8 RZb|,"Ij-S 3v{,Y94FmSG)OYHʿ^^xLP7Au+oEM_E!o 䥊8BJԒlb:i$`T( Bi!Ex(TV%(vJ ibaDϐO `cUh`9A꽐IYpFļ~n)nu.g?2e9 E ~uyJʏ$q-N0GCҨQko7Ym;G+Bⴁ_0,w9w,b[AB-qY4m{>8 Y$~[0$ LE`&Eޓ79-;4:%vz,+$2:$ؒ2)6h6lj qϛ߳R g'UpԷƾ>0P2O~qU$̕ RLK:VR!~(|*7ހ^w絸2}4Nೞq@cn,j{ 7-el?3p\jjPntEA'H䧴̈́:^ ^M%s/]S. D1QHp.`7R>9r;|`76)U%5Iӈ]99z2\+֑W ͒ ` s}/\PjV>_hM2'v6%HxΞ'r:0O͊VW ؕ J CNhݺM)$jCƇÞ1f4 а-co h/Y3 bcIAʌIvK\CN?1H9\ S| 4oo 7e[:|t!%"o4IYMӈ&-5t/ஞf8NV\IFXy/ ͊Y'qaF}!@+9k#6gk<޿zjIY5\R P3Ib rN=܉hRi˹oYN`wE[+wX4Sϴн#BygzlAt cvrh)V1i}"!yAvM:^3wG!`aBOr2uް!vr/!tyWg-oYaI}ޜmJW,_ഉjlv>{/b}1E*;<)Tk^}80'QV;yq .pYȸB=`(zrM>lyo8" HRZp^s$k`=;KmAzfE)F,+AMńePg%Lyp}ShZN6ql%8uL U$fm E?]m@bSQ-g0^`ɟR^4vATzmJξep]y )9vB-m+誣}h?zȸD&Ld1H"Ʀ Q-(5 ^Y_Lb !m"0E70s9_|bZ-\&* )S\\ ;  $r_2glkڪI;ܳ`ŤJjn S{rD~J&>YQ[7^կȘ(s̪ Bxx~jX7V<G-*g3;y7Mh!1)CʟUlp4_wpg?[V M[U:M:IMF4H_FN[Rg J٠*-y@Dę8eEF4Z0U;9vypȷڟ:̒*[wXȥ^\B!9t1*SxE_`k7n7dcDz~9BVZ60eZBȏ4KKH"EA6=y: XȻ7h7/}Vd_?5Hц [KzPq1txsqB_}S'gd+ᒸ P[)FrCmL_{4+#t&mM׀±H="cN}C68bBZ{L-h:\i΂$)b,[CxniboF7 hYؙU3)ihԗϸRaŴ2&ng4cլH[dQ~cn7X̙Z<^ć[(˗=|ˆuuQ =ux };6lׄŢ[bAkyPRbk,"kk.k A~WPe4*.qE(Ergچp;Goq"3m [nAڎَّ2> q AyP XƐ[{W'оZJxd#ȝ3ʑӟ|EA<旨B.\%S| i/[l_1}y|{* Ȩ ɟ't3k+ 8X:H?#(K&E`Ii-+-*܌@871*Al (nlvR w7Fk@IՑ=AdWP 5H]G~-ĝwfE\!Gd/@$$8lTTժC!<Vbx v<2ǖ%ἠw`>Xdy&<&;| 8;Y<[+)) Agb`N:aTL -(Ŝez%jRJs5Kd} U cv,-"OD;EO7S3򉲚̐,0]g7L2Xr# ut>Șzq$/Ozd3fNCB WyX|Ŝmw#+~CxY%kQ{ KwsV_f\29N V =tW;uGB3Z4%D /,G"Lf,P% 󵦸7өnN"i8yY#05(hŨlCT*F-fB:.t^1iUm${~-ciQ5ey5[n0 5s;] UYs^ĆQ$FV@"V2ecmo9#E˻:',oE Uv# uCPe@=ֵ6E5)+Up51]ʍ ~^/M]SLVI.!?LU#d}Ewq!?ek-|-bBp=uSiE@Ul8NK=Z?cʏG}An'Baߛ_%}d(⛘=~w _be }`!ֺ 9*lL&z*8|A\W=+ΦQ&:i}%^'28Tt@tʌBoπaE_Wy*$;ƹ3\V _sB2[TN5Yt[jqrS'};JMb|#fMr)AMpsE#7z^hq,q$KtiʚG07 XK ##n]ǔ)Y@`=ݯ?ʴ E!~es*ld\$ *)(o><~ yѠ(#Y"r4F_%x}?E8FhD;Є¸9aZ;O<]29#a>zOrcpaKգi@]Yw2 9lHvUC=[55+=r-S? 8fCr.ĬxLĘyZz_沸+B2y^xĻ>WZ,=ԹYw;ju7t*ޢXi f\^κ}3]cF3&XՅ$' TnOIM?OjIωJ=~(9oJ,N+[d"==#`r#e1Wn/ n4F_ꓬe̼6'b:)E7~[P^̻<f8LBxA7}M˘[,5 ?#}N\!=lCF#hMorNj՗\w4*z=eXy^g a;8#8FKlP<;/=4&0:KUasi9 :gb 6E7c(XPJQ6{@7NߦT)y8h-y4kc`i-*(ǽl&a?ek!|~jt>prjqSD!]JzL?3Q4!!GC"Ih \oKX P~WJ/ϵA#AYly5mgp7Fvs%#~W484qgA8|k\S{B% ;x\i>gI_@"=],n&@]7*a7UF~?S7W"y7eU8۽H}pmoU MMie3K:F@PzaE!LmdL:IKY?ߺ/#S4HBJW!M3-e1 ki[sWq~cBv$`lL^:|xmK{%0ݝH+-iv/X+=(0b7lBBc, `׶UQ'ɬZC8R*saoLVMΜ•On;|N.*w kOS:d.5k R찔f{̈UEQ'=9g9, ;#@P ܞƴ݌uܸ{uZYOAF_")ijCTx#+oaμu~eW? :jv>,lbB0 crN6,9n=;.ջBK(2C[\;&aV4QIvs>`x>-Y0):X_ Uֈ-4M\,-sJC/}Lsb/E\ӐʈȪpJ=I" >baIɠ58_?e h[7vvk~VtaI5L\Uq HSR٢p.`!6c tX&J{dlڀBTuFF7H دbM+T ɤo1~UQEn\Tx\&_>6e""Mf GdM'5?Y@1EM0=mQq"S JɒmPlQ>LV-Ti~tz8\Zt{/W6*f9v(M@{mp(ga)x ⇽R}`1Yz=p 4wDdrHiN.H1gZ,W82?zaaTA7TvxC[$G ]!Q>In\E:jz,]/RO[m,ԗygj;¿ļr BW˫BaXT?zf=Q C8?OpSQsl:UhTޗsEخYerۄXY &'gfg/%3 '( xq_Ջμyšo=EiE{q|&R !uCGAgOa^0Mc3RO{&^_v;ʒcou.. $I5p&43b?ɖhn0u_ hQu>w Ф`+{+]y%I N ì.T;2EGHK}G~&]%n;q"䃦#$q)hHd*&ij/BX `A"UO ]P?j{ZF03l|>"xq&A9]*pd7gRAK$E fN{PT.`& ֮C̓K Wu15@qrc8zw8@&Ț=;/3`>!kqPR QXl]!)ʿb&k8r'ƕH%UF7k,Wy^&.[k{dwfn7+oO(.K@_ sEzߜ#XRm1p>hMmJ. N c -^4mmn!)a-~?ŭbe'[Kg.f[I'[rR"T7,al*.=+v ٛ5 3bc< tT>LSjəl\G]*²uVέq° sB^2G3]S{9Et1w77:h"tI=§] 6?T4[2)=ߐ4#BO'g\tn-hBT5!ZoH#b\lWQ`_R^[VB*H; LɩB@ҝgHR t`/d(5e2Ft;q c$',%aEFkwvL38$⢖fӕPn+aGFxթTA%3'"&JhR67#yaa-80!q6O {xqUɵ Ό/_dXPSeʗ~n?ϙ֗#Q#͍߸yD~ LgYRqpHQFVf*DB&J.:cfR)8LGRtI#-quy)Ja*+\9@#KCP`j7Fh74rFAy{p@MP#+1߁%X-u#ʙ.N*Py4|˵$&l}wQ#@/Sp;o.uX8Xj>"#H0VLpBnS>jVfZ`98֚j'!HJXT&x#%N8)|efXbɄ?H#zp 8pVc *ú>p sX-GyTB8^C oҘ<+8 +Z`@?GIlR0{O,q9xU8)̠aF&<_@\ ³dtC6ad4]:gBѥa٢}B'U;1{(.=F]חހςj;m75拱C|tct1x'և>AaFFSYW鑪 | U5P#CURD9*:~ѩ'(NۙˏIjz옢]p!DҁQb;b>y!%n1&pO؅$O eAv喨t$ D04 4+ԌI2{.kÈ;|%YUo%X,2Sr >]%@`f;^M ޅXdc@2J~|]&(t$Q-&äc0BVFW)މ'Q6:d !>&{>Ǯ/Y K#h֡4[iHGӲ}*uhGR33Byikwz OsĘ2۾]jK>)&x3{쑃_o\V RkVX-\L&(OjIyj 8tT&ZaEĆ2H2̘+ڇYԿ`4i_%xAZ)?o!*.׵0e.ZIAГۋU5X3c]qȓ =u3P|1MZS^C }TA,";AXc.ƅ8Q<C{G_.8#u%0/$"g6Lb's @ no|TNҡC?omՏ_qp%uA-U6ų}Pݤ$՘q?5EZ^u$ʀ %n!2ԝ" ])wXfXV%-a^aLw*KW8azxI3V2R%^$qزI $8z{֛NGmN3B A \+p\+<7aw~f8DKLoizTmLa}(+3+ejWVFD^D >U]Ax[a:P _Ys傦;/:MGAYKm?REJuCQ$bIsײa6vRAi;p֯$r RDS!㢡ec{˂v+ 9%>;֌Y#2Q|Uvmot4mv1uUc,LIL br uPs!Pճ" B75PXTx {J@;RuI}VݿъaEf4F|ՈLeWvPX!PRzUMUĸɊ_HIʢڕ[U]ƌ9  %^T]WcңT7ԺpR$/8PWt8CYWnOeN68Ca-+|N(?7?nNj'QnxBPzHtDr>4IXQ%D* թ\sO(m u5 ձPC>郯E; tNZ L?^x ȁ3$**啩S ?m]=a AΤ[`[iߔd%,1G m6I<)ķT:Ցma5 rw gxmkm ̀A s "/[ !I'+Bceݹ:M'pNj-1L[w9/324|]L|JI]l&XTӬc.C5eR_y0M$0B@D  p8RHHu^ziguԄ%l TXSV^ (xGȕZ[3\_˝O HifT8Kg/\f$'*{Iក)Ce~}W<ԥjF|vHG $W'Mzn\۳p$nT>:cTuX`'2!dԝ?千WEN{#c/t2uJAz@ehe=wB{,A{衍/OtüEpqsM\낆es $ z3Owgo]xX W][Yn^Mvi#L*Km0a%}J5ªߚ2@SVmꋘJz{QіA9sS/e]wk s>j B#9C|W5(7ri:^{D0/Dz2ab7 !SI/L")-v~BFU,QuT[k0%YgBrDM8/5 2Jbjb5oL̾}F~x纑oL3t!bV |^vA`u?W>pqh{, <[s7r˱d %H^KXX& o %9r2tř?`ȦY vBus|QAb,$`Srt z=O)ۑՏWh{EǂpїEXՌKpc 4.Bd? í؝ނc5`^+_"]84'N Ea0Ĝz3%-XOGcڝ cz;>ɎTWujdĝ:8l#>g"&8'þȳh0s]4( nLjbhçsz> umKr qXE0)M!Z.G%ѡ]Q5ux\JâG=IIy CdjEӛk4|g Mf6 lMJ/Qq)^̏bY6.Q,,M̕#b쌋}硴6-ڃR7nd)R7Tn0QYOC.cYYuUr)t_ǂ7zPo}T^Ps 5M6ɰH)[T5hҮWu-DF% azsʦs|X_`2X'7yq?m: 0NnM| K(byߧeo/ C!ⁿsl^U~WiZ~M6('Х=/qJ (F`lH`*(~;鈧,Eg#|IUsKR !:#ؓ_Гp1@]1d8XudQ&MNNVhYy1@?usyiU}Ԫ%Hu/Nm@-bIkhy=&b{Vr?vAeVVV߹~VثC7)mj5UOUͰX͡ NΜMq:O]k DH5È)J-Jmڄx 4jm쫋!k,@In> fB Oɯwdy'w){ V2E8b(*k8#ʷw8i e೎vu5"Qq] ~c[Rٗ! O_(Iz 73%uf0Nӿ.߁d o<"܉wZ nR1ETaSL˚tst) ә#:֚s/j4%gI[o :c V?(t  $\Azh{z$^DynDĒ,5<]k`Xi$PZ  6!,Mil y"rJc3TnKRPJ5!(󀇦Ȳi~>ǻ#ZT~dw/S -IN+PFaQV>4egQKgߖslsK#z|T\7i+QhT@c9mPpDÓ? CMq q ~[ kr(Y5L:~WA5 ,K(wp%ԉhXsmDԾ n}o6VAétjrί6LN#DHk8BW4z]A͉%N"BYޣc$2)j"ה;ND7Β~M ȽQKhn,hBӤy$/h~"ٌ&:`hVuۜS;bFd 9!X3S%w6Gg?<ږ:yYWC{V#*I|cZ_7\rVHs4/o {2uw/w7T@b'X~qRmηZX-eC]3=&VYtWR΢~4$ hZYw/ *${㟡排7Om2bX4@R4S|㕞XI ,ĒR,co^x1_`Vy~G" H!֒[Ejy`L_ӝIIvk6);?ge=ĠѩD{Hj^HwqE[bk s a K9T$7 )c>1[N0Z?;VyʼntHp(&6zn$JXl<+ Hlf*>D݉rp|^kH" us쌃as'T6rH&XȋEq0h2A~262y{@edf8kJ Å \!Ӵ1]jZ>8݂0 QC2@0o8'Hut)I̓*w*T !{y<_:Y6N.=m?%n$e_q9+t>"ZB$cM< J, %h` [=oW[Ro-?A! F=y &0||2#EƳ (%u/dۜfP"炓$ڨ`>sHQ (W1M`(u&Id)yɵX ݾw /!\C˰T5bfRH>&jQ <`%%dv*ZzACjcIv',XQ륭$-hp'w k+Eβ- Qc(~*2݉8\;4*_Gûh- Dm>^(7C?x TF爵*}Ķ *M.{& -hD90xrk `KC5qW珜W.0TNO`VVpW9ΫsC-7oݺ?%Eo ;}1H߱)j.?p!-yZ^w__[P_t5ꨁ|ics}5oH{ptC8QܶceC-H+]7P$5(?TW[_[G}oبXH x] 5ŵSf0^2%UOjw~+CMm15 +NŻ:eW[J BWxZǽvyߦ>;^XΠID@(SXpJ;$Jnj8% TUGtAQyB'c([_9: ɜ(AXNɌD ~I9%**OU0"_ȯ0ڹ=ooh(yx/<(LhgaݤPAGvYu]DtD]C^I$BWwĂ%( g7sP$I03uBg:)ZO'Hj&AQLN^B|#y0^-ZMϏ7؏1):./9ZL!i}VNuQoJ|Sz  q(ofHfیw-hYJ "_Rc^5%ms#,{^C&ma-r .`ރelX&^ IHun@Zx:)np9>η|鉈팯B^&`J_uvuߪ36ЕsJ[&#)C}īcvWɕ/kSCq끐h<b4>c X!A7 HCģ/wD[H1|</&A/x<%bCfJԅxǵaO1If)S)%V W<է]m˯wˆf-@Dk Y`2MDꍆ(+YjRZϸ[O]N1/lJ9:❰FeHUTß]A%^~Hk_I≮EGAQ۔k^inÂђr<>w'F>m֯B'nS"9:wЅwv0# ھODnD-6"jV2Xeߕ}b ӂBdco8BuCV/GNZ:\b9YI /eKm(ۋ iD=!ݚ'a u!\#[ax \!cطKs?t`.*Tvft)4mtuwnێndKRS*(A N ?gr|w*]A6l?ak6`+TZjP,(hma,$J^h$Q,ie E.ϕ[_{WUf$C:݌*Wy 1"maj$чXT/'6aK'VϘ`ʶV}V MgJf_5>G.|Tu54dU1J-(pJi+l*HaMqfLc'p +ϩß֬쑫s'^0=0¼Y@L|bϰW(_cӅ{PI)Gx9d2fbZ⼥+~niɻ*d)/zsfe:#PCNX#g+${ؼK^O,m5?\c`"5C߀uPD 9bG=B͂n*K/@OL.f,0rU8 RV7J#\A[̔$liAZ+"a]oVFeFao Sm,5]!]ޏ04NO}4*QTL6vs")$}^ƴ|J>]y6ĝ{:Q`f [DֶY iLYޝek 0kIwd-*Z;Vl#FW2g3kHw!ȍgqL*g|O uMںmoݾ;IVR{wv 8˾zW"Ю\r #[nSaR#Ե5J;svG pFɤ8]f*Aq+6np2u'l}6Ҍ63i`,va;WLHczB+Rx~2FFwN4K01,Xxz0GRatC - Tϵߨ5,^ezYj1ًkQ&i]W PId4A1 bk +u(>^2H"ka{hŇz("eNW0!Xc ή:kg6S!F]%Ep4où YƉ6oLB!grK*}5}[P`={Rdrjd]k^p@gٙ钭vQLeW:d#u{%&_/yy IY/n 6 sɻ &Pp;84XoLqwX0{qqBe7f༄ǜGal:e?zUBŕ u#d_ &iYEw%\',&R\=_0^xz1VȎaYrDYr6ɓ!fٵ״*ýϱ;By`AFoQo'uяi ݂ I#Wi3J,(FgA\0Md4%u}hK=KYgu3#o0!qeiGJWH*p`OfSezm 3shM9*}*1tk(-XXO.K&CRrGGFkGGA):2-,6FS{RPR=傠`eݑRjkٛZqݣr%2GA(~:.aaD,To9Yf4~dDGP6&eW|#k [ _uB-~Qŭ7 ftZЪAbMchEPNNz 73ݐMj>, ̮`ET:7?IMY‡ecQZQ%7`0 0`1(!#FJ2`]E{8(u^(W#@wG OJf!nqA3+n~welc.3Hsb kGZMr% `B_Ubѕ",Ɛ5}!"^A蠂]1egʴJ{qyǷ#%K:x[Mڄ|13Po1qg8 u|n*y8oJ([BRuXh?T a'mo$+A{ G ;)gʹ[p`wշX~`ิf4*̲t|%&C>B:֜p/cbP^wFwE

7ȷ3!)$9dۦE:y_GS*.|&3e2>Y2LO LA?~VvV:ru$-yͽm3>`~g}L!gm-ː¤{K|sLvJvD]Ӧ)k2$GF5Ő=Z؊vRH[-f;ݝ(;7<JƳFqLQUǤݵš~%kҿts1fG\ImQB|@n?eKKI0C~sWyFtpJ߁*_X2z)!(Ghte+-NT#c^\~PMO%P{(ZCAP˙ĺG8uD.9. XD<d3+` &|"CG%Xf3Y-東soA dWpgoQWC)b~$ X,QycIVWt IcK; Ωk@?1ibӻߛ)zM;*=kc~^M-یNE{X9pEwdLY]Hm,+VCqw:h4#%?KUOF cJW}/oY4%"r#&;;ܗ " 0:-Jr3 ?-GT2 A&WŽ˵U-Ľ^)p<$_S&æn*SԢl=q 7t;•FO"0 EY~)YͰ(QUzQ Cx;0P(sȈѕԫc0k˓Fi6`-fl11JU}p|M"2@7er9ZdgLIyEԕ^miF/-LjWh>Mxk n w&^6-E/&6saABm!?Zߊ2EX՗rZ V8H&IdꄑF[Dok?F B*vhue:s;: \|>yW@ 7J;<x₏B*ğ7xF8vq kC0G{7H _odZF;a{F Z&I6'^4C[EeD,ϘA.U.ʈ?o&&閟D +,4{lE8hV<(uJQZ9ZftAVO T JDd\(D-J7P]z"?/}[}\yMtN;tyn_,wɣaV)w JXZ*)߹pҦGVz)# j5ΈMdP0x( ..n{9c8xCWP$3R30N88AG1W^pKMV?Guw!|9QWKA`[CU8_ eܝY>e3_PjVcogn"M))RZ^a3 7}}o*Ѕ&E Nc@K_Š@@5} +W M(uAUixAYl00kA@K[D- &ǔ}#hgn-|eS B|+`Ɵ5 7|AeӖٽsCX͛6K4P 2x3{}\yX"bC@)ǹƓud+D|b2VKϝY5 *Y'mI |ĪG<OG_jk{(y-`],;1ޤVU+9 5DA&iO69/q]h@lSȬyEF5T_hJ!?9sIe88f݉eW\&+MьYx(Ou|O[;'YiTZ?ab]w K fk8'өp?Jܔa5PFdJh,PR3AMLYe8A(H R<,ۚ-V-_4p {R d0k\[+w}CT?X"kv/z$SK dY⋮}th_ ̀SRN?{s! 21,7r!6lODrUGRLKq:V%Iq|ŐF{2wV 󏢭W\̈́Aj+!C&AQg`E':=^O 7?{2EX*f*=;/Ce&<@FPy٬IʬUWkLEk ~pob5OtWv evַ'¥ŋ}Ov7$*PϑqS]K2 ȘW[@lܸϮC g36 7[b*&x E1aO;^dhQ8`\c/l9vMgɮ^HCJAQKMZI9HWmM;)iGHY4K6σu-31ϨGɴlE$@ѻ*sGXƠЭC~v78\요t3|kt;nvF|@?!魔FϘtp?jW~oj^B8*OnEjYdYF ^ ]qi?^~/cKd9E VxsօIE1k}/U`m 0ӆ}w5ZJ /rJx#Vx0Ã^?o/wTe0ϛ(in_v <;AyϿ(Y "`0F}a=+#=YB=j{Eueqpn.>>yH,|K:ѫHִ6Ŝdž=FUJ -yq+h5ak|+AxW]xUL\IWUS%w}DOᩢ7WЬ pe鑡hu;BܑS w`:v% $ݒ ] ku*!+dψn;Lkδ2 HpzDqH=IGF-ޝ6E_nt{<f b„O}u+x,E#bvy1FNzS`19/ql~ BfBgࢸws+g IښQ]q6,?nvYN5-jG6$=܆*ԙcA[Y`aT/M}#Z&H5ʹ-ϸki1,dR %̑Ւ4,{q zU.I~TXpn#ϛd Gk5~dQWʁ.$F1/hRJg*[|}ӆAJ[ /0~%Y_=4@>h";LIe ,|V mD@*rۚ 0q.T9g=;p 'L// +D=$_Lb'=r~bv>\-p &ΆF"{.ܠIܟ4Ly^) hAmShFFy1d y-Nzx㲩 +h72ɯ6.')r`d$UGU3[Z˙x):-@pju @{z#AQ$ 0Zf>*mK]! )bVWh;JzbRu KufIC5k[ߞKE:I9~oܓCtЅpF:ʂ#'}|FpXXX Z!Du!\֚uPL2'KIƩh.r޴{aS3D-Lγm'cu<l /DXzë+Qvٕk*Sݬ`\y p1hyFeW@a^8k]3x) Z39#>0Kuk S"jHb٠k 휦nU9ͼPN,叶qd jF:KǮS/ Vn Ww=y[]+@ G@(c5ٛJxH{7p(,.:GvhMG&^j1oT>NNK;7J~0rѝ|d2nqMYKQ*:vK(xB$ ԍ7$ieBX ,G?|h%IPOEx_c-C<q<~ܢCgPZ|і!7r@dmN5ġϘ'io20neŋ' /۶HC^2,!:]in*XřgtMk8i"h;օqaR6[fd_T)i\aj6Wo#- l٨hۘޅ$F6蔝(c3KhshV.E\J ]^ +VHNנ4'=lm[\uVu5DkU0By1S Ԗͅ\Jl.e k1cHWkFÒ)$uҐ/j0R\WMf'Uܽmyd8I$e59A/\` Qu >VY.5tֱ £xMM9l?,;;᝼7Ɋ,jFb,۬6->> V[ðPEBC+m|;qƛ 47w=LiUm:0M^+ɝ<)BAC*҉G~5(jiN 6?7ȹ) '؋{2 {2YKo, hh/5r=+W.R4:AkK]]FuL-=wo/ Am+Zj>[ifGB vtCq Ԅ\> V\nQQ_`efm X1IRM ʒܫ`UOK1+K NSwg1*֒<$Re/4̫^=w`[\0!~uُo!Œ gE Ro|W ^4m}b!~1vo1.s*sLi&\h[ 8RmOV2cNFi2q |hRŅ@χ!ҳ>at_=dBTѻf ,/ l 2`oF%YoP_μ"%坆:։:R67y_23³X,㶛fH/akm׮Q ^nDb`wb5*u@,  KeDpD|Y*st^/{zPǮc jŒM=-V+ 30@foFDs)@3KG5T%D>;lYzђ&-ufs1p"ju)h@IpWiڋSͬjALYk:J ?f]EKl0E/)ܳ~^ذ9BEsBD4Ҽ&1brqFplyXnrЭ5}%j_HRCŤW ;HiJ'ެC(!$Vd>Ljc;c@~hTkcL1bZx,4,ꋃh,Pg}ו55m);4F`37Eޥb%u{JtLfߴ=< Ew^9&QDzz%ix2YSg5|E6wa7L.SjyM}_W +8c̒'|2givOR;U靖wIVED%0䷆SH0VtK&J/2D[&{.Gܚ g?&$jv )*ͮ wA-) 賱ۤY!"~梌 .8D]C#ދkŐlc>:f&:Y5uck;q6=l)(w46pǠxaȝnlap^e\ ևYwRfPkR/|K E-=ozOa KL?Kq覫n'\14#3,vמ]k/jl(bDQ  tHaH_R`i8a_ɲ_s 3_C*!}E`s)_oc<7z+}QwaH| Ocp l:ՑT0íF?]g򬿆Dz_/&(ND dDX*M`댰[@rBˎjq,AJ~b%[kF;Q;_Mu3ȔiLz':>]K7L5ĤcaqH~sqKr)HJ]۴A 24r:X;h;{󾹯Ln IsV~ kp`z'GS,Ju(WH[=A4 ޝ9R؟%cKyy4{7q&pHwO& "H[j;EoYSΣ?z,o6Nj ʄ8RS2>Hv?5=0z^WL, H-Ȉp!C\ċ-5<{^23wd : dLZz$De J!z> a4$H;[kӹKf():wD" LpM̞[В$FJ?^ϖY<Y%\J! j%xW ʏoK,m)F%}L5@lԤ4PDחN .ZhV{/nTw&PZ#IuWd}pBBdQPWIfm`dMhE )X1W ." zrNDN\(nYGi_!258 vuUMf}{Խ(DWD~ }-8mH:4q`TH  7mcC" lpBC'< F/.鴐okꃪ&nD\0+?rk}%-ea=~B5Vq͙w4}|GZie}EwkMv7ك5^ο%^i-ؼ窏Z>#bSauF%>B<.ДIl [xF6RfM$9z1n\2)O ,gM4 gy`qP{bAoA_#mlrd NYpB5R7;Rp\9dOS:& %h[-Bd@OvW-׿|&>5آ@bND#M3F[ wn?΂,k?p*Tv0,Ѵ5&=HFz$Mķ.*׋Uhd f 4pQsprI˦+AJǸӝ&^KMy8HӴ9vѪ9$]d'.X"ܱ><"dVEq$y.zp_Lm  M♱eY}O8-E>{rHFb8:ښ$HD^;Vh2a Xl^cȓg Žao Q"s-R;h-L]\ 88OфVIw}L~D;QO4Ui cxϬեMa6׃vI&aYjLHCo9lI#,WS3~I0= :ҦȕdJejgJr8wd{h2$؏^Ѽ<Ɛ{9EYpުa[sU\=\Mw_t9J"M)9DA7A{` &[d+'q/ESZ] s3}[i3 4dl6gx.O4be\[}PqN3X@l#\JX8NJgrQ|PX6NJA8+ۘJOU'4أ*K~?n@ *<A%e&ȐSKvSOϯV  ^Dr 1D0״h];ʱ2b-N?>kj2YtHwztPA6fX3%D!ŸxA!uR0GHM1.HtsDXLOA흸>R[92{55ͽ6W_9C^F@;E)= kxAqt7^@e2F/ +qpReQH%>bP+Nxw)P&fCE ^|6-.ʔ(#2U&<4r[D]rjZ>J-:<6㵵Rq(K5 51=Q5ocR*LR45+FMw[w gўùdtDΠ0) ,gDy3A(G / ?)NWkrL׳$Q}=tĔ1 !^ӦP p#/4Iᬽ! ׶4!#۸lz[,Mvꄕ9 D.<D;Q_KlX^Ww2q)?k!syU燕?K'A@P+6qwge9lQϰ8tQEXVu?p=߼h"YKiDNMн ״oeǏւ`-.${E%fn,.eTn&!d28RyxwdM@:e9 eZ4O՗&A4yn4)qmҗt2SezGsC$)00[r*~+~?*F.Uax kڍm/c,j.z"ΨU+v6 Rw=2jɔ, My8`f鳩hipZKټH#ml~o\ٳ *M>CIckՑnc\VH +h@lJ`K ӽ~"[Xܔ[rAiKK6Bxim0U>;"USev>{ңZ tFO#ov^M'ϚO/3Ӵ|/bOA(/Ö(w#I 0/!hf<>cgَ.*4N^9y5 zD gkӄ=!}Y t J+xa-ؼ'7 Ղd6RZD ހ5B,vyf~͂/=('>qebd ĚA,kQ| JuElC0oI?gg<b1ڈ$u++>jOjRu$o$1ʢ$aL~ }& X7׽G\; S'џX21e^3u yA)K _xsދ9(vXq[;Í1TBSA蒟&_m_tO3.+C>/{N C'xkָBauD6%5 Ϙ[DGc&{K(!/T0q ~㘂r6㦤@tc]zn ahszh<}\>b!GE!ڬ.i_a1L5~ ]2 B*|l|pA(CP,[QK\\ •Zp/i<"%$L*LƁ7i*\q@Tcr_3S ~yqrQX{i>5N2\т 8<? J{/Fpu 2E>$Վ!, &;ޏA~5Y(f5sJQ:7yNkqek{bp񧓊ޔdU0)pQiJJp9^942rU-"׸v+*O-/$+ݒ|8 Ȫ*h_w.2d+<)Z rԸ emxh o-2Hiى6q3;,_=L*5H r[1Z8/PǿSf L阡sVچQyd°BT`{TNIz)IuSQ""R}=w^>ں1t0irR>|G]M4ǯ&bg+Q5[3en; )@u=YS4߮P]'&iѻ0\d4>amL[sJ[)xG/L4\jO0LʳAcH咻OE ,OwAZ@]: Oo ||ũbnӏH'?  4|b9ܠ%@X;6&̀՝e&p"- ЗAԺ+eU+ qmGU0N>i X?p$bdCcW(|$QTEnt7Wx-?)?<ŦF$sŗ5]-nv%B›"/>[pߡ.M4 B'!@锆EvꛦW.ը] *?WnjSAB!_:tZj{ȧ/j܇~Ԥ֦z85j"4eq]9"Qw4afս,`G<r 4wwbE]8DJظ׿;{ꃑ9ݭug95s}G GoŹ~89Jlp3-t0$[P~0~iQN9[3iŢ8H'6-%!h%SiO,&Գ |ygKýzȄ".kx6P=,'!6,F2!.F#c:#&[~@ uu8'lIU]v31ClT#i4@-V\YE31~ B򲷲pׇS"p;͎Fik\t䓌QxYB(.h}eByh{e4`ݏ% }w!oZ+q>`,G ~V{3@)jmoER)\/?}xdi2Cp?-P[HwT@p]_QvK uly|@jY9:]>JγDI {(X UC!ĤX3,R;JpZ/۞(r1H(+ymS<ۜlgU<1lTo6 Hu1l]) iR}:2ꑓ  " )(ELw ^.YX/ /Z>] аTvmnā5`vX/Jvc_,z\?ǐUK^y:8boU+. Um'CBz &F[Ɓ}Fit($ɑ([r Ӿ?f>KHrL#.N0//Ul"B--T:xY_YֳFDRaaI[k%,NV0o^ǁAې^1H\_wY! IMǨ智t(;' >(*27ҭ@#ҫPP,BKy% cM斐: 2\ux>SAUG6ubc柲 Z$|{ǐiF@ ?HJ8X"FMJ+GSە9j' j`A|8&X6~4Mj=OdmPNU+rtv_b:-+/ zg))ὠo3n< T_.N'OXi5|5j?`_Aj?<[),vy \ED|7* )bo"YCҦ*YX4?f$牘ӣ$`,hsP<܅7vFaQk&ݾq*{C_}Y:!a˒yy69uBx;jF !Ȁ/4RsU?Izcgn Fl͐d@@A/ ت9aIMc).~9aP[B燠X)L#>υi%Al200=I7Zh~~'Sиțe{v^.4Nh$4>+Y>Tdxן0Z.TL g68⩳ؘ' )IM 8FvBYq&rkPL0Ѱďt-W-8-tUMFI)`F#T;z$=D~kU+>7cJ\͝w/rjΓYD,/Tk~2"1`R\x_RxS+DK [GבX领MޤNJ+Ϡ:;dtR0k:(U}*ٖ*xU6Ni&sSR jijk)}5 x=&tP!\op6D-g+.¨tT5ָ+ܥkUT:wbduhJZ氟XԮN~-#_9VvŶE&;s5}J$Ić4b=`bse<]B_U>ưސ`gAR4qX6%ٙn? 31~:'ҟdJ+q##ŗ?}P p\x^TH~0OD/[2M>`5a|~D19&؛'L _k+ ڥ B+|*#-ZֆQwS?S\~h̽eR4wM9>ә\6|)EqB]s$vfI!fS}jPPPyUU܌%dY >ޒ-V@qV5pNrMp Sb W-ǵ>e B*IJI2cCS}ZTW}3&&6ʫݽVWK>sqp줌dD}o6g9-bSp)DGN4e:XEȫ~HȌ.\BH,<n^9:[nVof~;Xyb}=qJ@#&zz!ubόa+N'64-x`gN0!Kʗ흻 4k(U  91oˢM4-zQ&uu|*rky$_VC⩲ཻM*ZLuxvdn݄( =@yɾ"ZY@ƋOL(ĩ9~1Y! ̗_%COdh{ . _0zW.dZB;fz'm҃_<Gg\0hX$,ـ7l :S<7!w3o@$nX" =7e)#]S! h]!l(7:vW1=Xm <>#OPI"+Ouvcbbb! b#HsoWH% SMւZju Cg9sߒ2WF iMN|I3y9ij*sqQWAmFBZ"{d ;TF78R~V~rREZ͌ƎǴ }lj/W0'{CBFwSLrXc5lEm_>Ɵv)yF%-C^8lWxA0 b%7\;j88hO^!yz?IP[ݒ=xe0nw-3Ƣ'=o2}ځ 7T 6 kĕ;a:(Kp{ݖ>6p '72;(s4M"<aafU- ꕊL?=+G w@?Z&F Buh͐ӝ"qgOJ!@BG|.Lﶆ\S$\J:5/^^z1M3C@兄c9x+2ܪHCJ:m5F#ȯF[aah=s$,.L{'b."am 79l^eq@/A-XxE?JIh|^ao影0pT]6R>ʼ̼;K2̅ ~#6 d,|lޞ;[Bp63pf1;Ϣ6GjREܕBY5;F R2L^h6[P ?: _~쬆JC) 8^gma'9*f3s8Q^t =>>< m5K(#dF+]xMY: ܱwEh2߳4RJ/[>æa""7=c `26m:8$&7 rgUͿsN;wӧ ,5G[LYgNSwadK:'SQEVfH\N1P?DYIɪEJ9nՆ`}Sf7Bţ(i?9w|-Cß6yt ݫ2$RCQ7^)dMK{k ּO&^˺d>6]gS'٬^y֞-Ӂ=UYTȯH˭vFՌxh^zr:]Qwt{> şXt89XorR>>Πx'f1h_n_?\4`StclA oW[C(w-HYؿLܿM԰v%=>{NJ){E5V B!_sH7cmv8T&뺧|6_Xvd~`7?^&~#,W 'E8Ou>ڶm9E bɉ凔s-g/Ԡi}{,bDY+*4=Q\'al @3\h ⟶?P&==֍~%鳯^ru2|6Y0zI᭽CBa]_ f}3gk@ĩp 9hIq3 ־US$;(}PGr]v|Dy=,z'}Nz鹧-6 9Dzsq\Rǩ}3ǴZR.ߐM\5@]V:QqL,[~n ET0uO5_6 MnNm -mVoI_bC|Pz<D?ÍL}Z{AO^1zuT/򢦎pKo~9tЖ-R}Xm泤U}є/+_סlrU^<GHI/P3B!C6BLUjbR.R<ƧRS6߇Y 薈"E[M{"2.@Ύo+5 DŽZrE3JgvϠr*KN^] ݰ1h~k@&( ő^2TʅnPU5.QxWO Dk5pxC|DҲrU[&I-OXtAWH'䌳w2gK"2ݟ'##stǢKJ>*/{P])=b0;zeg-o;)N/Co;EU~zD nH8&}: pzmo |E˹LӯKsVwsRS*7m =t8`)HH:tD8JoV{ cL-uKqFhlEgp/#A;Pl;!;=a>0A%$߻%L8},kf:8x NIE`yrU S:*H+K9qI_^1K(awn1+k=iUl"y9Eq˚y;,qvD3m[ &/ ' ӽ xYsߋ(8 7EG^X4R*b_rP * %ncU]b gq}7> D% \0[&%~T6-qq&U&mFڲxH)2g=R'emмl#i1\jq x$YE.G/*w}{Un4r q\mA7TxoSڒ"hPn4SJAsy$=)2X ꋢ emɴnz[u9B0q" պ/eΖ;bc"%uWw+OnCdodL Ic?mt *I8oxȽnP-!;9bq* ;6@Y lL&PwjՍfev6r&.+ C56 ŒnBgcZ\r!JɴhnNE<T^xZ*R5JUwp:aE1VyyrJ REy08~Ƥb`S-&?o Wzf/ LȎX|F}ހIEdč%6$"ICmige(hnJwIxka6D~fڠb:3=UlRf2_cGV(&\ _v(=SҎ EǪZBR]kV@YKwFLRM@)D |&{M %ocנp!e8L æcˢfݚ3K᭯ԣsM*7o@ELj3/Qxj@PWx0&ṙ3>e{̋"u'="vi[HH~a9Hib0]r}j!7h 4;+֕5N3t9}֢< RÏrK|;{nWqPvFc7vҜ/m騁'-P uhgo rRQ(7t2qjpڱWU6< v1 e>m2; Eymm؉2@)#*^~L"7nvwOL)ŪmYS5Rrw (TЮ)>p#sx<+ٍneC̔jBi@dd*WN a`9& /#ʞ:"7#BuB!_] n0 Er0Y{(i⥭1gt>%u\{}BP@;$ofgV(eJ;@mL*{[H]/NO3sXvb6u2U}0H/ -@Bi)9uO`bFA>w,PdƱ\CD3WxT1CһUMG hR~z?M/;A zhvƗ8T?TDӾ{W xF!-^- WY8U+ʼn/c}b1`V](zx *סcVtC(-6OuBwc8 iUvYNV˨AWɉ >OY3FGJ.F8C Q̪2w4)m7UFwWKx|݃Dg,}qb-)y$*&mGidj#8zGLŚ*mΧw( ֆ $h*Sq2G]IzsP͛؛+vX u7(p!~4 C?ڐչEpXQE(˵&鑸 'ǓH:I ) 􆰂>[mW,Iz|g]W_>8NfVa.&t1ۧ\XgRȄN=*<>qv57_V"W>%/1e?J.L`; Nh#8j * ZFL||  ,@5 dZSH}H+2N7PoN T&qjeL]F͍hn+;P4ۉߡ%=ǹ–A^&WuIұFF ۏ5Y&@SG%Q?WˬTPmciůb8}r<_m7LoasVկE{-4A@a)JD܆b\:3H.eqQ5j"U}~ 'XW[3]\ }*,AMߪ5.pJ}Memĥ@V5P]Cte.[udNGT'O2FrMgkp[;ꯆr86D7/,/!+`0ώr!hx% /*||m\;(T~6޼ tVx =3Lt:~ELs,ƒ+s۠`[$h Լ'Y$鐊6Tj @RW}>spߛR󚴅P+GH &$7G-}1k5/HE;,ěgt4F}3t9Pbܖ@ n)%dS0ڵ6*^VF p52#bW4ȚXfŴ9{k( l^ ڕJp_~Xa"MN:?ЛJ3@걘wK@&9DxBR +Ό7ktץrS'PV Ir@Y*Q n*(M_ڈ EFj72˺;}q\V /R,A&Hc~VB9'7/e2. ;w&u}I!w#+x]2mZUnuݸdn__x8}ش_N԰W&1ZHfs_7Su ESv">\?EnK]q}C)q H/KqOi-_1REG ~hX; 8Ijg>gS[obǀ| KI?7k@*izo+=ȏ55xbcjqIrAZ{IZ5lYR{ۉ-m@d,E v"JYDITd_I_KuHF4Z)-[+^>} ϱWkB:ˋ`6?$ieAjyM@4,:'N\\$#<+*HC~H+ʨrolP)FoQs #=j8PZ,-3ŧGC` cOJFt|jTe8 ͉Wfh)^~UMJçuWűT jY4k'}t6ɶTTe^WіKGyّK16Vi j:w^~-e}iBj Aq/na-$(wkfk >w~P ^Eܱಒ.uaWػV=v`}+0}ssؿa/$}5=m{|T|&5d;+RdAZk‚n1`w-~"n=SMM6GJvd )g3u̔e r6oib{$YY,(.x:mQg&5#Íri/uY`I?lȗqm7"۽c׭Tە~mrծdZ؝b8Z s ϥn?  :Ӝ A" 7_Tσ<aa9`E\r}Jv($d%}@&i,ٱѶ|o(h=㡂V:'nzٖǭ$M=J/CXN wm2*5n Dd1"Wn]#"Dq^D+.~jcA/gCP!]m#Ou1I:GO~g.AQ;u'(9{YB kV >JDG*nAJ>WLQN_/9ў%LN!:r4,U#ܵVݳ] 0S|fĜl'_c#pIeUay-nO]d5 IۙOi* SljF{q^&@ ~ټ0/4Yy7 mCci blvԴم49'SuJ*\p{T5&45[Dn"q&sD{HzSeIU9oHKW`ID&L]'>M (a7fnSdvetofV+g`m 5PC*C%?dTHPY: Iޘpytt4vl#;ګ&3 k~)MSHJp)$ gKA95Dįl68cƷj7aq%ҨwWA123+a6hiv`4,7X0L@#D؉ Y?uJbEp',Os'S$ATO+rSy<=mfdz.O)x/]rS&deA7}<^6ao3QR|cL%3iSO=E]o<iFO5@@њ+`8_*X{H qkv;;s'[̩(>.bՠA7L3vSMu'+A; ~NAΙ wB|,L=Y)9XH` -Qί41#b}rs/vK*"#RYQ@ `3\ʉr!zoa+W60r:iA^\hgԇrҾ#IhkLNi5Pw^ 2UruïnʢE#%lNDvG%]qw Q!1-$RP;HI@O6^gșj fh#b# dn=|.Ibh4zeVL41#i 2k!{M>\E' ƩkgFN.w̼PcVߝUp%%T;aٰĒx t,-86~Ú8ULg^dBW~e2:rZ-+a~ӷ!mP,Bp:޷itS!Я %ZfdUͰK6L1o߳ -ى%СPcPnȫ|۰0SL@?N ^'Ÿǜ̽I'K?xIruk+oS!P>@\ǰFdPM3T"-W,j پ1KBC$.ρ0 %1 k(TˁaoC7l\䮋gDtf^uYlŇ%@ʄ=2/Jc8¿S|4ɸztA:U?6jM/ZkVd|kmvsn'|pU簙p >Q:s>`4Oإt-x"J`{UH1 ZFve9slAX=UL4aKӴ\=m;үz|у}rྊtͤJ#Nt$XbB=Ļ&0.zG[Y-hR*zZʜ-$3ך~e[uX]fzF̈ θe{4;sY&a"ڠ'"DQ{  "}`K6Ι üP7}xzHTF"DnY eHX*7 _k{26J@Ɔ Ԏ|آ`٫Jla%=Ofyo@TB',*tHQ1{8p]t`㹌c d4ʺ;4QE3/噒@㧷Ru3?q/ &iݼS<>> N5QK7Rzе.tt b}JgE]'U ARB;5g: MC Y\΃VC^B]㸠T}dG k+}6&pP ̏$mbpL1s@~;8ո#nZy iwDEcW ;y3U?7x8%.fNEFlI>#2:+xvB1n IM H3Іt=f)ҳg5iWpFt}*D`g ,\WƃBq׳&*ƒ:lCYd(YE?j&$?,f vQP*>yw#Svmuމ" ݼ\N$O?7m5WdƘ770@}$HQG@T\%\3y(8:2ѵ *>JKZj3=7}zŧKwtM\^l"z5=ٰ :|Jf s) v=px2"!wttl1O!%ZvB5Lǂd=Q @쯔Uҧg-tޓ.^P5R[%x;!@کɫ5g\3Ղj Sd=\*{R}dѥ/UkǓ*gg2O+ TwSUJixxB"Q/+tRY8hԜXUgB?!Qs:/eFpiS𿉣--@v[ ׇKgB|s06Lp~9Y,WYúeɺIM7:Y1דŽ0_ 8#U䩫hR׎A퇧n|m/]e/_b ?~`@Uv Ӗ桗ֺ!^y)0Ӥuv5%a@-.Ӌ܎M֖< n4Dӱ Tqqϸ;G!`܂1`U0%OY<yf|ef7=Wխ/=(Tq8%f=',qɹ>NvoCµI={RI)vO\T 4 T r) %RrcXm+8cmɐ{yfxFNދVR7!p;D-jC֑ViL*M  v- 1H)ўxs᭧ɷ9ŽT򜐙suW ͝j+8M[ŝpZڬO>})W9-._Q5WmevGvFXYֹ̦FyEzٌ+J*:ڋ,\MJeO)] kb\CyjU8wLOGv0Ǔ lY3wnu8[N^gn#!C z `?f:<12Z[y}ڻ}qW`@pձ+h Oȧ|4# ^Xٓ VmF.} ş4^²eCm,rr6;^b祋&ZmMG3I {OY8@J5UnfNv^'--eI%a:@cV'*~](v0n)Vֳ]\#&y-%F(a]sx/9D7`/0b|X`͏֛zI N̑ DH&wug2I B6!fƧNsڕX-iV~xS||䌱^XM]'DFY]9q3xeEFה1J A̖4\Y/jK6UjaG_͑pRmSKTZϵ:'GxP|\>n;9y#4bi/ΎrBs,.OkQʌ wPt?./OMzmo.֮GԢ*S";(3#jO#E]8P։o  Pc hO!0vG $ /('*|{ ke4nP#Ox$ 󗿍#kL ʲWj-psG'|҃M+p{r?@+E —O!tt/I->G1U|/9863Li1e%rD^[sעi~@4X$䊓3~H`W[7`K"t pJډh *^yBI=PrXuۥ9cl~ٵݙ$Dho.iU"Zl=S7u#?#,d_ _7px|Ⱦa iNjܣ*7)mGP(\Sp|ʍC*|v 5RW0\A Mp`} #9| $e/ cl># B][(\b· _i)U"J-5d"~vӟPU2CRϔD#oFs$]Zi.܇ >5<5kY|_~6~*Nv=_*GD^^b2 VvdN?"۸0%#"#ȩ lT1&HMb>%ٓ F$Dme;uaRpG{a7~ɡuv@J9xEcJ#Cosz~r(r Cb,N^m"ud& $h7ulWPZJ$zJ͡`̙%t+8Q gE?^kXs`k͛8&xPF.X%RuC"*3Lj{pȇ][sJFӎGftXI#5X2U ƪ͎v>d [*|0rzGꪤe"J~4i. 8L젿G,ΤZS' ӖbͬR!j DVX|TZ߅NXσ~g",`ft;NrxS,5N,<2]1 ubvLM/lǻZX{7K0 ģ{bHhg`C79xYqf [~Z٥1Ŝק_YIu\ŃmVȭE<&,% x>~Zyk``2&䷞MkW~oN~iSΰ_W /kN:YXt18/*RxS 35{"sEEѝK\E)ۻܿW)AjJݥم6r"S6qG&P-PPE*ξTq=-rUY:JvbZm'wVh@8Gd>{f/]T,^ݼvO?ޏN8<`uK)xx+Fb׻}T465u;P EŔ BNAD)!Fψn'5'/`DZH% ΄!NRp]gvM+-ˆLvZN Ȥtl#@87f=dVWDq%eMF7gw+vMC츉k>~vL Ft:1_i#?~uXɀS?0lpư#N)=s@[؟+h7dfkZMy9?Z`XtTFb܏g/GL%LQ fd.UưhXWݵx%7!pyV9ǖ@^> KQ]!YvTOi_SS^R|ds&bp-@ Մr 4Qzz7ͫ4 C)"q\[jlgj͍^^" 2;:9=m^ě ժ}ӯOT@Cӹ^ZV~PYQ[-?aXӧ%LeGRr3J{=- *9a2l' Kj)I8'||>]nc<3{ :fd\x!2l >տ]*֜l]Mߣ+,ӲC{7Ãtwy w'yn~tjn4$Rr/Cj6,P4$Bx$Z_e!^x'"VV ! @w~|<:e \s{+:K&}t!6^DBEb5 ;Mm͊U[_Gu&Wh\L|Q93qoeJfC UA@vҨ\Kt:\y=l*P4g1=i0.Nu 0Pctܟv)cM Ł ØWzˏftI , L* \(ۧ3cRLJp<mنA~OD3bgTRc% o `JU9؁RF۵:&[4hW"8(xfݚ/0 c";62Tv`K$Ark tB5W}:7ZWCIZ-V+fۓvU&{Sxo aheuV?$۔#)Lm!}DŒ[.y= EI9>*>pcz?,*UĴ&1ghMqW-d=jӢYO,l~ԔZ# K9UX-cў~Ȉtl?wC++'g:g6yp\Bz 9mltOK%7ǣJInj980Qa$,lJHq:RaH?.oMF( /{ 鄵p ܚ%3 m9 OH Iá-c,~U@I;Su-G?î>JZRnN ydb@FT"WH3Ҋg@Z_"}|cac 5La ޗ`B ^]Y[,JB&?\"3@aGA,5pmm'V% eޯb>t$5cFI\ѱr}1=pd+lg)R^{>v,z09*:1Z >Rnp$P=4סR-=y]c\ L~Ӈ3T#+ԎrIj\DCY 6XaCZWr|z+'-\~ L4)Eǵ # ||<`T] 2''Zq+>l뷨 ^1x#\ &:ˌ<:8M,a~I:@yPBdhv%ȥ5/&fPbm|'K a [<hzjEB.3w)d2B2-˺+l``,T$@1JOsK6znд 2Ѝ4ء-wv͸Q"K7Ҭl))~Ux_ƛNHE)*")q`NR} ͠e5tRL%J>Rs% /H DL]m-__8L$^ޢx:5~"%hB~jI->,!ё7*JH _|U/YUS9YF0 d[!XrOјԺT1]/i^$_1{+_Q8oSڀX{r}K$F`5ZFث*S &{~n!pޮ%. [&TLj-PmFZZBN+"8V=Ӗꕖ3f.EyŎ[4^GVKÉzqpb^sKʝ2 l^n@ <w1R'X7%I6Zuy,>y(W#;܉Nh)z^-9y%55x)@[PGE:]vj&wO7<_>oGDs;tPf؜~n;[CIf[%ikg!bDN~2*; &H<lM3Tqro&n˔ HN:<%٭,2o?` mj& sΔZ?doh_jc&J/-l;)}wn1!EcAc'30tn}LZ V1lP+ i4&C&[`&0;@^GAQC?W|+4u/y$4{:&PAU~?†U)XF򝵽0vF'agk f- sr_3š/NS]IA plf'V\U^9d21CD*r,2 YtCw@xaz5c;pjd:ŁjWd )΄3熼ԩRDϙ߬tr"&ͳ~uӕF+wHLY/D%1u@xX05D+$4"ahr:M<捳b#,/ *4#Qզt󼴯;~ك|JcX]5d#t9BG#sgi\ W*yX9 Jz_^/b5v_@R|79@_:xh93+?gl~{|ƆAqHBȗr7acyU[P1fs4꠷ϱ f_~0\y"?(;^7h)d@.puR(r%N ׎}X&B1keU|woΦ]qdw qC1vI^T& )z}pigp |r ENSr64C -a snJL,[ kB~ @Ʒ),yBh*| B${5uG,-hDPL8z;N{' j?a2=C%l&),Б{`*OBt\ 2\iC0Ф@ .l"W:Ɋs ެCMߡ]zRY6 TQNL@gD? /;WE{;(_hbn7 K+,*0FLHIMBȂQ^NKyzT CI,;C֧ 8S*֚dP)|A_$1'#H.W#"S̷;8l6E 2THnZsǻZwc>#5W8]T`ZZкb[ÖgfUbxl=3F~o@-r"nɉ6\6S 5CFͥټy 8֥%KN&c7:\ZܲfkAoPۇ~yf:PjvywZ(J'FsoCSgȷ{8vPA2rZ>40ý2zW+$ᯊv4״쬙-_/LC }Zړ @{9=uIoI"5$Wu"~;6 `4]tj<'Yٯz1o!aj**@L‚K1^7豧Q18P462ĤPJa>x eYz t0;CMe.;GY9HSbewu<<7r=G,Y<9 rgf; @Z:h05%F?Vp ƬN|nkt%Bb^OS-{FR-)A#|sDU3 \{ ZUT}|I1 9N?qmXRG,fX gIEmV0׀TS ;o\Z"u:cM{/a2̱zCC>1.[I3%yϩr[yZdbQ=̃*q߮o^d, (XIjDmܠ=(b82j EuRP}3Q1xa:R\.!'kl 뮙UbEL ~Udst!1eg{kjKfԛ4JR֢_IwQg[nv`@L9!kLLhXyY|HXW J% vE,Vɕ"s"E=YL$cQKzc y6 cPLŃh+*ddsÜ&7JcU$f Ü=\DGkdmvS{u`L2tcM|ID|[VU1 kqC<Wz+7}?4/Od\F;D"8obdR|Nįu>ĶϊϒY.P>gr3CWmOz{|C%=,vۢtPTIG9b , OpD7m'R1]hXyč} IH0:XAM 1k8-c3ja[a0(p#R#EYO0Ku~|lnڨ~]99j?6&7%8V7CVs Y%h eu92B=mZt k-K*/GrsR$, P[J]͝NjO@)\5EPjl}%TXQYE ކ[,wͦBȵhˏ۰7is4GAka7V69CbǒO#IoRn̕|=OY&{Yi>@f=E|n7F<׉.ō6RTu""{&@3٘y/P$!LFfE~.!t -_`PQg/:4:=HF8ft/Ni—-VAU@ OT(hNtj%\ @zm JUheE`E`=~^!^VM]16ADN`(/IzrD0K7B%zI yTl r ;襨?7V_Yn,d̯|Rfc$Jiʙ.oyW’;2C !F'G4eb]MFMy ;bmX$ܼ3Ő}o:P-;^CeI,>цF(2R!&WjGeLˮOkU y!m: Z1N'Dy؊cQSK(5s={j&PpЙ⤭9h?Ƨ02u/0}xԷ+%,#n(,o@^SEw=vNbeU`8KͶfdЅAOVÞR?Giis1ցp̓J6@L]"x/57TIqk,R0 &++?*dau&*$/gDL%Ih<jbZH M}ΏTzgvki.܆[~i;D lp3l_CPx"ʇq@:Iby G/m-O=>/Ӂ:5m:Dlzh}(k7>q=UQ4CGhDh<<ZۻBLDpp[+_&$""Wbg@ .g7u K?M/Y,] G7e,(D , н "ՠRPu 2Vt4tx4KެO(BҕˤSky-yf@7 5/loIx-H!qhݝE8!Rdk_szfO}^(y'zlehW!,큟ldoeuvlo% ( ;PÌlH87$b1Ye;ڡR rܜvEjkE_Ҕ'"{]( ZcC= 8 : oQIʗ%j}@[{ 5iqaW@+. 8)F>6dW3E!`;w ,mbw<8}ݦYpC)0hg./,D5|txK5?B 8Y:}̕k \4J;!Q螣dyEs[\PwѧEpA&Erzr/gTzm"/BpS'Mwj]J+fl &sSџէ*qG`@G-Rr}3"|C}w|K)qCӓ7ԕ~S/$Bk~4@T!D3WϻRT32e?plr33RJFme\^Qw~I]HKoEyW v:UIX\89yt 0YAw<[g஺I9LfȲLmndߧ?㊔K̃EYP`~V^EN&̙JebUptBRBVH0} 0qZwDm._A*}0ngS Yurµ5gIRL4N?*ʽm0|?,J-&B 9MbKsHXmo:}%aLfU3BH tuYXŨOk%`*&ƣ~F@[:|]Yp"yHa["bl23/;:) ^az͎%Tןd)k })L})v4`Fqw-E4Z8 ]ʃm!s|y#/+1]舥c+=ihjĖd^ջD%u|Y;T,.֯讪]k%LVd#Ba } @>Zɩ\ĪԌP2g~̚s`s93Vb mޣLΜW{j &Z@UO@I0"Au4d6|!am"A정[kKih.pٺcl-DV\H* Q8.Kg,6ѪS 0?ȺjA&DŻ$?<_HU _|0:կ~ BZxqLCr7_އj q̇HXo AQ24 8PWj=}=)" t#N,@iJUwN#Ƌe8JۃRsókA2H٧=ߦvs\8; T>rη«_,E-'/'rAyU h0g:,uoio}J:(UGXXj.9a݂zohPf]PGOA4a0z5g-@7s,Gnݹƴ;,C̃X׆xs Z)њ(/(PYsSGB6?5y%x@R.Ua *a/vApǓ^ϨNhIJS|I7NGAŔ@OS.Q|wَ*MHï-|eKpx*s.rB6`%R͘kj 98/ ˹cMWM(ho˄n C|l{ѿZl<>yӅo*b!)"64b/%JΔw?]uwFɡ[8H;3XEu=Z1d?00N$/nK>4r&(!+ڇ雋̦ PkT8bJ0`;K g 9S?` ވH M9u-xX7=٬rÈRlwPBl XD65k,VP.(g抅S 0Zy"&<'/ 0Jqfn3;1Tm"@9=h>ӧ-5gwa9d0ט8G:(%?໲kjhJ-􄙱n7,=)?⭎/uz\$(-X0f[G_ ?wENtiiqv>w.r@x1~ђ`UoL\~\؉Z.F?;!sd8e^%t+c0k>W:[yP-8Yp"8"=8BJٰ)V#7 4|pPŒbP?"'HBL E}зj1E)ѱ-Śhæ 53?0[lVbeshU򂜭P5Mz 4eY1_"3/J"G{y c9g-LDNQ`d"ųhQπ! qwZ0VT Kt;ɪhlDE4f-t¿r~-l6K U .!Kb:xeYsZQ~JftFtn Z-oVs e6n%D/9>Ixʒȳ{āg5*&nW}Y<06"o҆ՂC7c}5U>ze©'P/+%Bx{ u'gCfuKjB,мph? K23 e b rj8ל6I^'q ,6% .Kݳ5Ѿ@D8A=3m<{HT^ڟ'8 ; _2Z/Θ^ v_DO=~u-=^sI6ך'yu=v XWt˕Er޹{)*;eK3 ske7L˦H)[UC=A<`5ߠ^l0w=Ȉ׹[='\䉤A q)[+i!6o4"Aھu n 9_G 72 ͖IϨNxaRP̼5(qVsۧH m3uc \ߌ55S)e#d#<֦L_P1ep@sP2:@$fVQ@h%>ЀO@lzN˦/C<*.}_Ct?8@|MmS7ٷ6.9 a(X?jR}4$[҇(*"  LvT!Ċ&jٝ5[M:cg'L0rhW4;g i4dZGn AXFE{+75~ TT}6 5̅W`,2ɠ7U@8s=y?y3߆yH$iˀw+ dPb2W h b7oٰ=0_USFo9]K ߷NⱳK2guzǎGgxHn38翭+yj3Ub5\ziPKZ3ǟ9R!sB9g0LM鷨jac%']K&ΗawX)jlj\V.sҊ?9I. mͯٛ.veܼ]Ku?^H^@#\Vf:\!uM\xRy=[uxT:yDV )e\l?Phu"qJ`agڽ!^K:y1bxaТ<]S M#"YЖ/ d1ZVBˏMM;H]i0],XKA2I/M) @ ;g D`lT{A<뛫jJ֥e570ƥsT'Rwu53k ׾[3+/RΔn}7(mL&ԝRٺz$ fb \lJveo90jD AH"go$^d$W$^\'4oX~z>#;PI\-QyYΚ qTVXWt)Cy֛L8WuZe7pnSXذBC荬:dBT{h_178Lh:Nӓ?MBa'ix_dr_^d$ x 43B3۝w=b9p41X{lB{(# KkgHi.q$~Ӏp6B>1~xIAR1~jq/v)2 Y"`a]9#\I@[jPVW_*-Bө9׊5s$b;EGlB~m >T ?.Kj8aEZa,G*~Rknl܍2* 3ŋ{*N?~c5_^&9gxvZ@B:$#:GeAj>áoJ6mOhV#H~RC:=ļGsnl!t7[A\5B٤}A{:0gⷊI9E}hM /dQ,1Qj>Ԡ< !sC<= Nz=$K2" /sǖ6zGT n@ر@+iD؅ Qx>ȩ.Hi4̖E˸D1rg "R2y`06̴ʧ8h>b43QQC`_46}|Miju鄞4䡰 ~@[Y0tX8|ୌ@GTZꆀ_H)0nIRd#z7=$o3`d2^=WZɡ_Fӏ$PC&712ü2I@꽪U KrRHAEr4%dUEehAr/(]3#~jjEt@D-lNIc*BfJ_MZ;487!`@W Qk* jָ*5jő?,X~E -G0Rh.RPy^9s 5&Ng2=IրFx;W˦[2,R_tyN.衎h6 #tY A2Ul!-X? λa60'X7^Cp\7ϴFøV@Jcz6ݦ,3*tMԝ:;{®hؑ Y1c" .gt= s"Y? xM<&et͸4H֎c[j%(Z}xe/Zrh~ 8J*ga0agx y5=!#y~}0ٻ%ca@wBh8k[DlFڐ>^6gsm+\Y/"vl.RAgp&eN&8!E W׋fǢ$ RCRB DlNҚNV.؟ol'(S:˕ \E@[JC2?`++ܶI:- o U j׾n<ݴbA5lteE #SS~ҳNbg*|jh (ɚ5{'FL~Y'mdsFt4ty{KFG°;C4۝2VQb\gU!ݥmX<)>Jo655- 3K`l~¾AK%JXd½[ڊ.?(](p,{9C~W;s ϩ?p,bל˼s{kI0w0O!_HG$$: ?xPvcIbw6M˸m9OG.l[U¼w_LC[x>EI F?d-QBVQ$9/ujrP0v%ǖV.Q-bT%WFSJdĥPh*v; pԀHtPg(Zmwn-fEĉ' VOlĆEs%T?  x;f%"=#4oQh%R°r HVh:((jD֬8Ϸn'2բooܼc<-`Lj._ytL7O^_pVK$RkqqGڃ8[~υ! GʤAJU/ɼ/іZWX~cRǼ42>;tfAK3M͐hگ;N_0:vTJ=]pa#PEr+GCăm:ɿG}7hNa7%JJk`Q߾*BVgU 7: A(Uŭգo鐂EU.qrge'pT@9Y 5$B,@ ǹ(!)QȢkLVZ)Ώ2䚏lU;Ν*VQǃ1ذE&LrZJZiW9f@ΕL $oFl)wDrE%LvcXm䥠MnLsMl̹M[X]Ş~O1 }}qhk>'Zt#73? M&cn Ba$;>xYn\qKukm@#oGoEwr߀` (%x9]9='hH[ħC+C8 é1c [2lRRP3e$M)XNU=f055mMk[i9޺U#99#?v%X< ٰunOhH*XFj:Yaig' ;W>' ^^g)y bzf۰cJ l) Z}n>"F}1UmI) 68'#^'//O<Ʃz7h4ٵµH: r0zC3x\LTAEȎo6zȘ2ߩBe|s0}9Bnt6oy2kjX-. wTlXwg0(NQGM|T҄ ml%`;zH+:$TA  Hؤ-mY\odۃ-@lv4Ky:=SE?g?̗OzɜJGhMH$L9u|BTM&M'ޟK9z}|T-{ߏiM!|[S(D_ n KovHalcكzݢ+ _6}E_8}mm2V j!G۷75{iyNƚTkor_`ԛ + R-TH$*[ lyW_|Aڂ>/ tEC)ՃYp*1 \bYY_n  6/&@2fO'EvdD, [@[טa1u0/gڷGRm^z쭲E9حޛ;^j"tg<oCE;jCS xI)Uo+;A9;I7)fc1|u+ch,yo y~|^<]^FaלL:q+@r.GUOf51?:%K(B OC6(7U ߃z b;tc;K.R1ƴX&|q v8KU=XUgv)A}lPKgQXh6o Ca `U;]|Ԝg3P5]oj <м_߾nB!f;%5 Õt^at22(cժh磷 uvXp(F+fn>" ^c:L(&#Ә&SUInRMѱm<.aG{֨c.ÚP(VEL(e⇚#`QvG[ס !Ѷ"~iZ%(cd6F TV+a .^x1Kζ{AD&*lsg:=Dx BJ+'nK8217^/SW9# pY ɇk7CJ[7rMLam HYl]2lr< Ϩ6 * ÿ"j+a r_ ^M:\gC!}VY,-kOdWN8V4'OO_F ;jD.ilFf$7NW)=%_xINnc;TJ!Qx7,ta>=6,bY_}+O>.*D撨 IR}n|*=lگ3} ?AD8=KbVJI`PKMPvѭVtiΩvz R BR|c]gs4bBԿA"c XPb6vG,R»5(l0(Xa:/5*A0pCl#J:{v/-rҏ=azV/{5߉,Art)Jwr)ՅV ߛ{fNnz:#h ciV9s tG?+;]f(k6K^[}wU60;8#EQ};MITo? DHӿа)ά8ǥrsLR2HGB|CN5@Y6 7zg[QTd2MޗԮ&;e'[ltDަIF2̒{8NY/}Y~M%;QU%FaMċjRu aD ^qʦQPH paGjٳl)X-qx'3,!xBv4,;Hp2QFcfG/%ó-( cUW_6`ǣæ#}HY|:vPٷ8Fq$oF0y*<ܭQ>1-ffT6;lrm9=DKE9gܬ'BUGWF{L`;aoۮ'c 뇥0\uH g#RsΪ- C>RcnS6R^]$w)u"iҟ̋6Ǘ_#s[ԅ9IAY1e,1YoJ~Ĝ N&,grZU| ro|럇`6`]Db'h? ,ܭ3ДGc$ M̽Ce9LΖ/:}PRA? <™Qޭ#,TeCR6^tvw`4alU`K;GuzOPo5rDx|S/嘒OAu:$Î],H[vѨHtlxU%Nթ8;@4Pe;C΍VY(W}܆b xԎ 7#pA-58G 0ӧN|{F64pLs>T"S ?4Y;8YV%$qrze3d#;@H/+3>n(sƵs0KX^K3I6Ra^۵-֫W/1bLϷuGe䍼h!T(\CdR8:9PAA}vnXn\evVs[U xV1 WR VO=@mu+OjZ |!Ziؓ |[xWSz#YhW'^>_\hq@wǭ+:uсVW7p&(LG j\,CYMpf#>2yӍX*í!;C!.Bw|ES61bЈ7&4Ҩwhrsc{1*< <D%SjY@?窢ze!.2EG7ZTw +s^^i: ^5ț`!:Mfi@$w-gt4,ȶSGKA?-H#~ Ė`=S]S6%EԸ3pZ_lŕn-*O(Fmv^,IGS匡 J _eVjѓ-t@6[nLµGmOD='nyÊvCZFUè.(C@/ic_׍6BƱF#Yk7౅[yJvdh[=n[RD@S3rPq1،-@-^9gQdG 5Updx=@w6m0ʹvdTڱǾ?%@FeZB9?\*)Qď3nc?CD؍6R̓9'h>(?_2ɑpP9uAwPH:޶#ya)/VHtbCq/+hcL4QW[N̻w`y-lMDmc-'w[& F+XۑrTG%3$ZRЦ]}ڨeb#lȋ&GՐ8>h^|aus>;seYV'לGZ;K347O)=؆uV+愆sڢ\YEXIϰG ؁9e?0+rkӣ?,>i%evn8]D~PO+^rקpΔWWm*ta~D!K}'\ i-KyT6_s.,<`U4D)F@ȲJha _(GN}Bw/TakJcQQ*l'?#bl;XOܡM )P3PLi(Y$| 4 uҵ d ᴤVS' HP1!89{ڎڥykM-n4">ٳC&H޹ fseԳj}'i$90&;m[u/2.~zNTQ1(_sU%zâ$gK}Јʙ W^dN ^eP_}\k9ьS(K~ʸ@=U.iBݢL?+<V"J5ۉCdi(ĜJBi&I :MWp^SzmΨDӲ[A~D_s 0a8HlBP۩dž/ㄧxƘ(OLzR-_NBe{UA xNJ,+ȇ v6_ͤ5Mxmy ht`1kl:#,M>o)B|N.|{zD[g߼yKj&Dz[qBpY$3B-Zlj^tkJFVǓU|JV\.sƧsڸor Nc1_Bqi,*Ns7Z{ $t@W1HsG;2 _hA1s^,ͼ1j DkT;CRO4Pz0js?1a" ܭN=mBnUoxZ+r0k3MKO;4?v'&yďIe]*{Wۭdw7=.HlŃ9rhwS5,wѸ=\3\ -ے-D/~[j|/c_9r+#,c2 ݭY+Dcݾ( cN17#9&22۠Oi`& ^`/)•RGi `+0\F\r3?=+]|hGP7 Y|U:H@ZH [o[qMʼnR_9ڰ27#ۤޏzCQJ2nq/I*b詠sݣ0SLGMj3J~U2gdUzɗt T._Z e &b's\)ɀ&^C lIv, }1RbbS{n؇oR9\2 N\ ;D?c#SIIqQZf_z-P/1ONn5j Tn2U9d4Iba͛zyr~%C 6iV/l٫!~fͩ#"ASOs[cPW B=|!T?ACM"Sj2c;!w*GD.QוDLچbbdQ77O޳Bx4 ]8FeY X#F ,{7QfC/i{D&Ѽ\ 忽HO.IS-zўEr._k +B~_wz!)âTL̹ d=Z-S^߹<1tB[8t>Bꇙ onϚ Sv>"%a>h? Us:~Юgke $SfI[?Wl2aU"qU6߬0ӾlMпd4t z:3!@r.-4dǑ_MCQ-.$܅5:(%Ty 8)D Ħ7$S%ZcU=[*7,]RCpi!\._z_i`[qdPvֹv Ìex졢>6mUCޮ洸ȥ\,J'3pȬBd_  T]R,IC~~\~00dj/!863@A J͋x ~!%Abʐt/c*J'em|g/v~k/SvFo CjD˒b7&`vFv_~ԅ !jMq\Wր)SL-}Uf%` طAwB5dIѰ9K 8$ O "̄[qe =r1۞Vxu:rGÚV ޝpȏ4 sEy3f; JO¡_I8s>n?!^(l7r'Tyny[9uHWڕP!TO< D4L`nK Tw \J`o}-hWw&;h= -m,SNg{ 0TA@+EN4_ K ㊿scc-k>T,+.`P0V"n/pAI/Hdq)7γ\DB%F : [3*b&.#]CdEz"iU e Y0έ7>FGQ=CK#rOO2:áqE$m58=a3 {,y*+@|16ugZ@x~RWmPHY{liHrLɁz}Z)>L:Vx UVAM\A~r8\ j*QA=tG.[V0!&kΝ0AE){ٸNI`φ|vbVhXfjNHN$F8DslV5ĀZBYOz;v{kW~]"&oFS}<͹Xn$[lk)t_-MB6VYFL$ƛZ S0("AH&!O$T ~ 3Vdeټ<ƾϖQ!zy<<*Xpq]W{ eNMD|]~~܎P+ais zT85beHWO%u0kPDuo#vab|~D[qsi6<)5#n` .12+F{0fỏ2KwơyUTkM^NLLl71+&C?15xYB ʼnh#gӎ7N#3ks{8Nx d2;UIx׸A"a>XG]ZA?՛MЀζNous=%V$gdTw==~&x$#/g2Q<p+l%NUA !YԥAFGMՋ>R&zKfywPUkk}\`b'T/tڪ֜4ңq*\@#|-Ћv)$ _5..S@װm'.OD-g".y03qwC[aΓ@TswۤÇa>NE+UxYc$Ԧ}p9qhʘ,hҜax^>,I;p3 ȡ|ުoxYiw`hԜ)LIgVV}yN%lh)/1Ŕw 8Aj!Ʉ$08h3ŬFڄ3)V uƿya!sib&lWc/@u٪ -"V)8 ] {C}'Z0sv7Ds&?x߃9eBļJfLe$ xPұ].rkWAS]&#wrjt.({PH'цy8qpTy$!ގ<^XIr*j"jB=Ot:Ak ZϚd{^8=ӇRjѴlZh~Gyv}C;Hx0-IO?v{\xTnJMbYLS€ǰf*L81MfUq oߎXLuՊ~w@5IO0[K痗/pO1M@{[gؖJ5jaRhQW ɾk(tYS ~gxá׸h+O܌_cO$[dIӉ3eՊ;F"i3(uE 14GzkqQ!u쬋~>߁3# 0҈|[ QgMp % <*.J Gvp%sX]"MVB4•TC x*=; Fjdy0;^67|G$(R_ ւHa*gڃ|lJC&=ՅKӋl*i I(ia ;$^ގeP 38{LMR+Q U9-.Sbq("`Qz~&%0D^ `*G[6?R Sisz x/1OOb`!w!\4A͛UZh]k3%dpîҾΰj Su)wvQ;b]| I3f_i+0JVYVƗ7-ߘ.onuYO |eZ ÍK5V#1 zdAZ)Lk6ޗ2Eˡ(xH?|-{mD_06K^ʾmPyw:LQߦD#oV:пR}rC3=gzFJ8jc`EcqM抦kOx=yua$_G@~V~ 7iL{IVߢ%e$q*SeVňQ._ĽgغYڥ.q0+G_/C\'9=pEuJ"V],h.Ԗ)CHE/=)y{0&JS0rU#Is2aЁ'TS sfTx+R*/n=:8wMrBaWtN(ƪƐn(8>`Ka`JcRuJ͚VajL꜡ A45Iܫ[+ ${ifsVk5wKinzT. $hJs$CWc4+AN}_H-}h7fP|rj /O6Av@D"Q*߁bZ5\Dk(Mnw J%[l̖wR !LtAξ9V_du;NM}ҥ ݯ>z/aFaRޕT._rZfH#K4B)V^&Be?gq)z厛~s⍗uk.< X'=oǧ0TBbTrq{+h)=c KͿ3?2I))lZ@+~j= G O:SLqM}huƳ7Rn$qlDAg! SyC \fdF"M p6r5"7u[1#v95V=)-'HȓPG{)tRLZ?ًXF_4pH^js0NS(n2,^i/tt>5C'qFOO2=u5{#ZpyĘ,d/-fR(Ϡ!W. /P镘~~>V:iHP'V8lkqŐ ^''&G #.P㳀9G0'6G@^Cɵ>' ]aO`ߵ5d:&n)-Rtg5PVl nVf֤R-\=`1$2Z+}r#_^Vkf4 &Жn<~jkty .a̿G_@ȧR]U31L R:ϫlvADV߁jٵ*gwJLK.w c LJ[=%SBAf^<!I'"4=n <1'\i䪚b9ps cMߜ}sLUf+uZВ.ҹ\NVP[S#}P!Νlʍ3 ^T[0dt;pDvt٬׳ &;!Ǹ49;ʥnKO:VGHH$:ڊTI:^1s=R֮Ǻ%-bs+n D"`* ۓ֠=C1ɛJC_?,8%: tvPӾR9Dqի(UO/f/FB>=۴6~<>P]K֜|"*+x\#'z0Tdl}tˮQtF h@Jd/FŴ eWKz$JUM5+Yui[2]z"xabdPחKVP;ҫL87ȂhsU~uՃwmiYFUϗK3ɪ֯aostYB2z޻{z 1,ס= blϯӔ(O*eيbqO90QaKkj;}ƌ[;"GMf'4gx`l2K3aL wŻ7S m(Yvې2A&%yF(QtSHqp_Kv핱PYU\-LOU@RÞaleJ?'.'"C$ v}vjb rۄL8"ZnBjoWʌq!ޅ(;VX -d%R$߹nzqK_qF&y5Zjn'c]]z^.N)R+.&80n^rFlKxWŝQ/CzmzN:G/zwٳl"Cð:!: <-pO_kX~--u+"oWnB|Y >ϼ>msw` fK"4 V}r^A!ֻLƨe>c' >^6v_ݤav09RPׁo’'qeL><1xz2&E. % 68V24W7wgܞSr{+h/>j˪D]\oK5c{zm4S-@C4Rcsf$[ Dz:Y~/kÝG52=UJcNc sO1"tW^lk´W1ג'0Vᦾ.j5c<̓&"^AZ\"+5VY/Eϐ_Eje 99NW;@?BvrP$AZ"r( @܈ޭS>˃uDEmM}2v9|~݋ 3Tn5~5NK3Hɢ_Wqލ?ųȟ`C2 [&'.v>ܾJ7X{niFA_adRnuv/t>2J΅Y xD:5_1GKW'x$l6.T5]Js\Vje~YF,; >)9)(Yx~vSNrb, OF3hgs:ga . yZ!TQ`:ՎjҰ|赓<\H;j7Sh$"36U,ڠfkoхjLϽ3Mf>@E'e+_Tttƌ fܢP ph[$M/1VDjZ/J;jJ;!R8&UI(YM+Y/!-%G׻ӋHaE\]P-fZ`c\B3Q*1ڈK\T_o(h]^aJ0dxGl GBgOe` TS(3~cѷ3GD6*lm ;,#*('tJ05Ї.ç<dc=0b=6c(3^E܊PQ R,.3rR<e@,lzE;1\Q=3qLVtC)W ِ\q芼yƤ۔ 5D)7*EGxH-F~)?\U;%EiwaCo_Bg~CS9c;\ Fj@>go`xh^pg9Їg[3j j̵RXѥ*ODtrh ^X!Ńj3;FzAr%fLd4ېb4vHi3?韺b"O^h\ww^0g=A[x}Be:$j:a%h◘q/WOH!4?Y1{0ލTn* V<]|tp`=7AZQB=mh YڕJVr3π qg\bBP$xigPCbc v Եgq/mD}jm##H5`OL݈QbX{$$f訊61H#_}  hƪzBUN#"G~84]AܪgOZL5Nt=>7uPm4ƂvTZYB8pX*(MDT [ כxt _9JSgtG L {+e딢Juݸ;21CH4"MQZLѯ m<";k'"m#7[CS愆E[fFJK=;$!Eȥ҆DAR.DU8M\+Wnox\5%ɩK(u^J :1Gnk1tNn[eklyn83ՕfzUeSRRs͔F:SI{{񵬌 c,@_}Q{d`3R l3p` RaM}wQu2 NzGQL䥦r,|'3aN;~9"l-j8q>u^.|ͻX RMaQV sX0榙ß뺅 gD6wGJ&ގbX#X\2Ni..c 628h•â;ӱuf;O]6e>;0Ĥ/k gzS)Z--6SNC`m XJ&@^hƅZN_Q#Zt }b n{J1`r Ehоܞ8֡ȿ} ѕz ,[д؀-~Zڢ-`ܾd9)߿D]ۈZ({  mݿayƤns^2[7 ].wX] \q{G>-YKiՍ' q5ƜН'A;rYw !$;D<9KN^. No tQg;"[v96AгSOj,,w1!"5I`8,^:E$K,x% r~Jűwoj3^U_̏@rQPYþ j?=n#: ub95p4U^(#A=IBa ڥmSs/.-uj&b^Iזab|)`ݎIwF/gsO}ӒnQs12u*2$0~ ѬTdQt~7.x hf:ϙj[fF~oA0 w=Gp@/"z;Ë$h 7!2UŰ)ޘƄs@v,F=}<_ _'S7/ 5Ybv:TRYC֯6VXo\'~A5fwn`X8lcHEC7M{:&.=囬*XfYC +Uq4z`'Z۴DN QWy6cxOtFM}]Xs|gn ױќeFe&on_C?oY6Aޫ/I U?H귺satm4GDZ2YXppnR)ì <܅F˜qүdN[BALM>$MͧܨDx^y h^-m6¯H_;_0+S1QdQ5٩=: 4G%UU䪟N_KD&|ݧ˱ǀYMS$< Nb] 0l/3ql1ZbʽgEN.0R!1x$}YCJ 304ᑘΎ{Ŏ ^L˜c"txvP4R_Սڄ.^5$WqpPqe;}Մzt!r^O-~P5:).hZ/٤K!pe!S~2&1&1d|A-Aj ָ`R޹RgTv֥SEVp,drm3'8Fw=#Ϙa@ ̺-5eOv`m*|*cb췎c9z&MHA.ӱ-̠1ĥϏ 7g,rBk L`45CFVD5heD%¿C7D V\E-D|rYߠDhuy ;=0 aZBk>zNGPH۸eLS+fq;hgz/^Ek)!y,/wd]ͤ)Kc?MDGa8w}hG"FЙA/V2qeTCɏF͠bDvSñ1!NɃT]90MyD]IՈ7?VWǬY29Ćri.TY1HY}"W 'U64ɢG/cy:I0=4Me0 RC]/QeZ:v(zJ?Oh0nzvu<ߥWy8؎;2\d[;fHr%NeȂ@`%य%'(hjVwNHvkliqîg{E}9$ntgM dl*rJLLEĿIK'f\/]ҏ jL)h'WeLGbtQprPi_̾]s0{ Cؿ&A%di8bG~w ZQ ˳pĖ57_F&=6s-Ho^6{.`L52 -!\ G CsWn&Emjf1ߞ Ips d/M^ e*S?:/A7b?u0սfS1׳BAy[(Ll:*P? QMeڬw⋑U a0Pxi#G'XIP8$/)t` jepiXrTݐ&.N%z27jE|c7V} Ƚ;u!q6 !WA&Жn͌`fʌFjFbA#0vjSٌg5kQ}v=?2qˬckd7L X+v;JN= `\ eB<)_gFϔK4yڌ53'#LјDO] FSLG)JU+b8jG&O3N6qax E"vx3 k|c".h'k7DG0Fg9(#ί#=@t\BiϚVVh4v9 X|HPzh^?oa+,e 8~8ga=`kC>:}*uMZӸ٢gg[3$j/<{_wفF#Q Ra ZJr"NB*bKDV5Zp{RDm+71YRAOS ǀQկ! 6z@p{8"`Sq`b+}şʅ90wׅG[Go*Z=ҎpjyC%FHҊ *%i*Dge9e F񪉠{n^tDn=UzvVyWTHRjP>/?r9ij9y>vcg<{`wD[!-M!22-E ,þi+o.o(,eYP^`ϲTAX$QڜdOCgs0Vo@\DVE?0S8Pjr^t,g}Y<G8k)T"I%4 *Uq_=|az8 ܛFzvx,ݹ}O a(: ֲ 챏(粢JQfIFy,&_p\ƦEA^:Ͷ[yЖMA )O9LF!Zci2BX"@tضw!_C:7иr V*Ξd6ܑJ>Da#])Up[zW7@ zmE_ fXJL,p9)H%3a$(Dd]{ ,%/DeQ&&(n4-Ղp<\M0cw,[[} DBܚj&Eo}XugYj#0n@q w5y)a"tR?>/8<hGr#aMhURĤ\fݼfcARӕ]iO y'za g#'YvKG1dTŔF>JwTΰy-66 CWAӑ"Ǘ ~cޒoO lί/$:E#7Ǫ0_ ن ց/a\ۖ|lh/_я$.O6 :gGʑɮerD^@ϝP)>;GP2H3ezJ<ńUVM:ƭxQVNRo2U8: $㘥itM0։ ߘZa X@66Xo81_k2Rbb.KaC+o[ւX ߋ ;T9\%J4^3'VMkoYs]xd5ډabwڦjQu?5 m-QCz+A j8SǃWlus [ᬡD%@ˬ c\WZ˽CL2Fq_gyXnp wry~I]Xնاd6d~8>-]hq|J UTzӦ5/f!Tn=;}.IE&4S>ߞҷ+ޓφ |O\?҃m?C~`uaH a.hM5+My%Ճk\7*_˩NJ!By\tO eiD=+:fb(A/6Bh'" JgZy;` SoiIwXan Zs=yy2_P(S ΦiUA{6z8[zR)Hg&Ӻ? š:TX4=T6BܞroC\z8R~D?UX^j@LAXuVBaʒ1nwi% z51$-- ,ž- qǂf^*5u: rqM+Cb p=au٨FtT9+>gn (7G$vth>3O< e)>djH x ;q:H1>RZpb *m3ĭhQ i:JbUN $23R1bw4*zs*J|.'u0czGcD52%3 $1_vOllW,+sXGsyB,X#rq;lG_绹xh*LRy )VSF}IE bO};upy[/ s#;>1K 1ebC"kxR8(cЌ$|;fO3#UiaOwrf哝kLX9Y9nT;{% OT6ַ=18.C)PNd]՜hPR% {DзՋu*+d#PnY8`%.eVƖ*X,)5*˲'@ν)xB7.X' N#@\T&2hlt1vFhg顎ŔMi]LlYuಡ$xDp䪺oǏs]}\O9qg@*9qx\4x=%kia C~Is΍WHǖ05b,A"d;4͕'6c1ZlHzƹSfn87$Ĥ>ޘt(Om6]2b :pO$cfP2POT+"A(;zC\BSzakZ@xGqz$Dt3c<<p {-]PLcҲS=XcΔoztQTI*t`ϡي-lj8[BU!r-ۂcZ83[֘HL jp$&5P$i5zZSߟ+r@%Ԧc3x%;ް/\2ꙇgAl1H]w*.ϥ)HQKoc50g(% !ZY4^8UI]mGw5m Pduvp| )H?9#=Z@oQ4/|*(s T9ߧ%BX  i>:镈l#Xk0;a&Y K+DPҖm MA(ZT^IgU^K@br%.H'p(ࠩ!Gv}fE[Ai`2a0bہR:qDt;gA_wFlK 37M}[2\Klm&,̏)e@ ]ZMk2ψB3U?:Ӕl@]b`M]f;" Ǜ_--.(օ^Mf0wk%!CZ3vCLuyR)(YOiȴ!0-@>X|["n/HG|[5ؿĺ@T`@ ETYޮ- Y,5CU{pSxNP=-[^0%'8{=̺ƊЪ"ȴ(+ r Nِ!) bȷqkY/dq矞6He2[9C|~7 `1d-h[uc_Dqs7Շ V܅RMcv~ID P.Ʈ=NS DJ#g]mq P{~ | L@>;A: C嵐!&}I$>k;`J_oq祟f-p/kbRN}*\ $nX.ǭeJ L;2ёר$܄RY,8h8o;\Uu>&xe$`Kl>o 0JdTќT T8p9N R DFPkQxQ9{k{oA_wC Ԭ@`D*4#xT9o7{*z,ȝm|˹g tX{e tlڈ05h0TGj#Ѵ= ś N34 ,!w]0E-t?ͧgR.AǠ}9 `cY8haOW}QwY  AekrjGJѥIWjt3PMiћNNt GmUF~C@,@8aF'uB.))"S2?nAY3koW:yumz#Iލj#g!nS9˴Iށsω1-‰`WEGRVl_n \ 4dei/^xQ0x)I¾m>+v,M4wSHyb1̠#/D Vȅ=}?|X$_h=|!^'BijFh5d1~ɞM0i~N*_SߨeÍUe,2IRCf 9U6lfbԹt )0եR P =]Y3񛕤6/p`!%Iěۉ[ԒA+WdFwiPIz7wfp,''~fQ aVBD@8+CA]h`#Ue#\u22شZJ̞r FD/L N)@Xօh՞sē4#1 Dy38SG(`ZrnuV7aCrNq*svf&tFT,;@F1ilFn=py\FoTDJY( \X}nE[s[aj09r=G_ DH6 '^C08br5" w/Z-an>ZcQM6OspS-uvyXOG\E>Cy+ؕ 78U:PWNZ15]~ π 4=~7H1 T#NJm9n<&Pt%"|uHn|ӈjvkFfB2^bȊ/>OT1$7Q>H1oȑ(t''WP Sc BNE셽-YE?`ʚBO*f߂}o]RL+ oML(t%ZC!|!ƕ4sUݷlL*Vj|ҾND# ,RBPPq 3?>bjn1I]t>rқ>.nF2P.5dSk])r@W,3-LIra<.lԦГxC9%pdZ'r# ܢhD['yzr58LZ &!} B+Ê7%8Up;*Eɷ> *:2#U*pP'lR&>mLQw_V|0'ӥ/j<뺋||ch=Ahe?H53>8).OFMqHBՒjϫ2rjGʬ ?m|Vŕ/I?FT^VTvYk־5P%CyˋNCٝiRi ˬK=)礥#%n3!48{l72?F |\G75U< YhW"Ŏ51>^0-~o4a)%?e*郄c:-k|#XU^QnD/ -{ oʈߦ./TJU$ݚ=dЅG|y0 @Ǖ^ 蜾-(w6V/ȁgYy^"s9KZ0kf=n)i|˧;7lR=l꣰'EE,+GY y]_o9 I! KEAg^/T?{72FdNt#c yO4.ـnY!N{9NIk^iy"+Erhݑ Uy6Ƴ/}0׬TH~<0E 1QrkJY^/nn=l0w Ոٜ#MP^0:@4R9d~L6yyc1mg+ks0ld훥xXrR #*11Dr7c_zSjkFKJ2=n6 M Ol"^{}V$\),"C4Nvf ,otB}cBSB9;R ZJ2;)T γoQH?ȄZOȔH\eO8CNi93Vn|UW YIjEϹ1y /1}If҇tE;gꉂJ#@g( vCX%6SmmL z(,^]T?c}yf9k-n_lLNd;#AI8lAX}uiqq"gǐa6Iz ;lҙXD%m4U.EHT%nBJ8[7 W9꼴7FϰHGEP _:2~Ui@&9R\C|0x[`kHWSC/q )[ KŠ հ7H>lq\Zᾆ#!mhKq G%'͢ ;6UOKc^ْ0Ȼ͝əd~tr(p@ED31 ͦTEt^`9_3K[~35֌{=;e*|:ѽM wY}[bwn)y|1xw2PPhK ᣅyK{'FKyO0ҝ-+qMGӻaNيIcO{*Os+lO~XFcCb?# Iz#S׈Qo Ep!Ny!޿š.p-nU0JLacw)PuAq!i 3~Si@z^ &::u2ol KҷsS`Q :Vyvoo~!"~UۂLulRiHY#a27c!~ȃ.H}NNr8i k7˿k#da6mSV##K`8?=g]3pG8' 7ᠤsލ+CM"HP ~Q$-e^ӾPj/  <ĭ'is@cWu<ٌ/Ice"Brj Is Z*@ՓU9S._+FI5I6 +ĈQ3;$(07WCvDra]($kCSZi5ÌWa3B.Y0Չy<ڔs-.yAQ7x:*X;%FjDWq'sC.9ՔS]ybmxM% J2e6-j6Վ>uSdsb͞K)&LM#K${XG]s%q Bň]?W9NtKd,Wb=6!)h߈#"{qm&-:o8 kgEֹFa&~G*2,b&Aܲ">jT=@>%0flF_x'JD%Ѱdn#8le0IlШf8H|Jݢ^g~u*n]gT@Cu/ӌ'!5LN-rfһiI72f x @J~8yŕr*ws ،:ՀD)2 |׶@Gqz єnY>iO}XN%^/^[ޒsћۨx>$93PM##qÄ)rM%"yo_&=JmP}RIPhla=I0Iu)Ձf×p+n PU2[S]<L@)W0|{FH¾=YO.4i7}ݗfKR 6ũKKȼ x~d-O׀Q]6hJ_HsY!'@||0e *Xf|40JFٱdO|Q I?> Q@tu Nb]XohջZU=E}FUhjÉwXhwMӕ%QQMmmGPޑL}5`-'Z88bgz u&cUXk >^ qAW-N MW0p|w%YbɊR܉|}[b:jFݫENqĜ%-]!4T0u2aNĿ9bHERaUsΎE 0wC=fc8@ƭ԰v@V-QUI75$gWdp_RTS5mtgߒ4;{^X]ѐpdQil% KJXYbmJ<$ħ  yڃ.7[]2сQ͑юA in4i b\'/Z cTY%݁\7kiv#z;gJY0L>>rLFNp=c|Vo,۰''mF6<J'C)KtH&@4D]"twnnŠa鎹=E6BnG[@ N j &MuU%I-r"LQVjjGY94LFN>%,꧞J66Lm?®^z|'v2쵛5]('8:E+8.{6q(9yH5B0?뒃Zt gAcxǦ2:\C^8溗&-R U}wd<_ )0hȯh/'V9$2$H4P|K]yU 6!=[i43/C6(A8bJLxn~}vLK8p1\@kz ajr]Uyme\3|>A(z6HCߧy*L-&Ldշb?D"JTVaKAWA]I :!|߂Ոq}8xdeTn蚌Y1V!:H61o>t{{z[2a@a&m;Ȱ,+?l:٘'RG 諩H='2dY>2Ør "6Y"22Gt"&l%sg7y, $!d8=qސ&љZu5zd WHJaTQT;N!+_ bp)ͿD(nj4Ca&u%~$9j2OՃd8!Ug":־7 VYVt(/ų7@.E@Gyj`:D;P[zsW\z dy)QWY |YLMdgcҸXaDq'$C`p@%TL1NPxyy+o!*ؾJH'ASl`9c tBFt[LCJPHM"Ft*y1;YуgSC/ %rcWbDw7ظ CF)?5ѩ<=@[p_V,XP'ɘnrFS}8ܷ!cfVBզ(h5dۍ1eiyxJh|TI82RcIanS+o3'֢Q3khˎ A!0#rSXumxwC3z ?4EAH'zDeDzޜ ܪbx*ʈXPI*oڸіttD~@c7_S\ RDY)SzƒugȀ_[t=A:]q[F{'tƉnK2M3Ɍћ g>Kz_^7G hDe.ӳ~!OsI+N(sFk cSR{.{=~>xYE mf?FeL}yF`@&UDŽ;"bm+Yq/eO]T\>&F \qEl(`fT ']Z => M@Gf\ d'2&Ґ|]20,zw4PU6U1=G% ʔm]bC*I°{f[ Zj95J*A5j3f*}?Ww4" ĻV߇?AHd`*F{~AYc'yC7*b_OLK_Ab\F}T \gn#j4J8kgJ[:/a_jI`lڱDx?r^f\up}yt"F57{BN)z}R:L]d]N9w0U` 3j!٤Z6fd˓2>W[`3tl7hk1˸\0 + =1vĵ<"˳} E;MFqp1vT S> l h@&R<}[n 6_i8ͪ.ǐAbN~KR> \]SɈX!' XPE}$]b⭢f򢧘~oYN)*)<Z}@ Ie#'O< zyGoLD;ThQYGM$7X4)a`bG[95|_,*oj֨+ ٛLG3|j9;i NE}LDjZ~pu~иN. -7B=,Ϙv2ಇ{86D-)lĔh蟳-:SW-ʄ2&- [R5>P8iv8` =DDy&+TGd>+CK]d|՛'oY( r)tEN˅W#LG?`1ɝ|͉ [ljv ,Ѵ,J0fg/[wG*Ֆj]7DʴTxl*x ba>^@`j`t]| t#:wOEM (6[ԟb@`wkʻ ?ruܽTOLAwx9.::B,P9d (I0n\_p:h+ ) -Gl8g v*&``ٍxI~5A:AI7+r:h63D ;жѓ'N2v؍V{ ^hVkg(U|[ce'\+9SC$BYs$WPkz`ᐭbri/X 'V '8)_qDW a``Ab\N_tacRK!5c2{k'QVGBQbe>^R'FU'tB$.; TxLHU=‰M7g-Vca}!绸1lnoJo7cj!rV.Ref 0la}J`^%"RI<8 ~X?~YaL $q\=7xymhsic}[V""HhTF5FgڢD"Ji{ڍY_ɛ)r3f}8~|u'}Yϰ+cjHa؋JH?6Ǩ&GryWT:nh;$J6^"jEͧ48yx$+%e"82[H15x*gh4'f"E %z.I\cFt҇wZ$_VZ hV[C~VcZ^F~xj,dK϶#S\չJ#¥:)KVnw `5(#p4J ?tJXyD~SNc*.7v:oRI/(-+ ׶ M9p4!Z1kn]?V|UpaɟU gtwtj+\!ە|fi`+28^ܿ< M]A!ơfnm1<.nX&Jܹ3a ۿɢQ5 7\KzGBbZm!#rC)DcM1~%҆U.Ga OdАVe9tXKYoq$ceg.xؾF4\< Qx ~ <~%-7}\GZZfևlj_C'IޡiNu t;. [= 3"ב u /f}G85?<7Wb>)7Y(O?S\hG;,Cm7Bսimzc[;0湳W%AZ^xi'ؙcus=C]"74, T|N h *bƽT'e k ;^29h Xpz!)J3G 77Ę_6H8}Om{L䕱reᄑ}˼\3^|<ûXUX%LaM=y/Q!u-,TY7k%474 yi /9 g &i~^l^G^1F8 3W}LI0쬊Z^T/oĸ-¤U"q+;=ZM`T#/h;-*9إ˄GMEY==% c;y;92Rejv2ѱJL+Ic$a!q~gKn[^3TZJ@Mt|q6x+D(6WGZ[@HsA3⍌-4Cj4FibSH"KEK8qS=oɽxS T:s%}kĪE"Y::o+\?%HPD'p~ >y&L3#JVNNr/&Sfkgm$?2T %v*&U·'[kє@ڒ?aLn Z^RڂHA/}^A/bu'Oa^AݻXFAFsĈTh;qQ\rQ##b whި'!&ݺϻ1gc>2Ru:&Z*0"^ {=W]UCP@Uqש p \#z_5…1HBr=Ht(46Lo`cĠ]ޒ\N\m?ϗu/][#JKܿ\0`4?^MTG{vkѬv!9$FCmi*qaVՀ+xV[O-&ګ$II^hK*&@#s`V7u9"wU5"H*[-,d6©15<۫;0[./Z)u`!זf8S&h1K4S|+} {$=yhGobRAb 'DN'k/V3,в/^ATš Hf#f"㊓˝c<HĄ5p7FlJe3Ϭe9sk+f1? Ԟp˜Pg誀WId=Gnv8-!$8Jۓ_fƬW5 4 b1xKR_?y Ry[~ź >H-8,x:c ɶ+>L:Vߏ#T{\j2c/;Omt2bگ|N!t@lw mER(+v ob`-}`舃f.-v? g fxE`q},T̼vh~ VDKuP)著h8-q>1|DMFEkES96=[yUE0R|Ak倯 #{G `gw_3*S[_~JFF{\ɺB&.۝WXU$픵NtO>:F/ a˨ vx(f'!(Mk|IT\>%x`:j,)R.ΰ B(d$&=[{X+%c 0؃3 ]hde~yȿ%G5DM"}d[D>חr[QU ENCkWY+qn4\XՔ8ev6cCuQ*8AAuƢ RaU+O-ǪDKR脜DTb~}ØS#{®0ˋ1~XҼe[Ƿ+Ȭp[j.)&[,43WiBkYGy+,C"D ގJb*ĪRצЃ` [Qȿ^٪7}w1 ?qw|4 .I*JJ{ƕ9^Sk.$%kwp=3}(*gH\ Ւ:4&¤[ Թ $g2z ~mL6j!)cڦޓAo(v)HL™Z FsKYr-sqBci0a&(N_X& 6GA¦glCmr43sҎ&(˦GOtK]^ͺ(36ӻc!Ӭ#~{a*aR V=exp$|2O[Ĺ'yCDZ#1 %XKwj;g(C>]fT ˹_+pM:tmRB0&d(HO>h`>W1,0K$$n6/ثJnaw$E_:+I*\2-Yw;j6c" Y^xM9mLCFnGŃNV,<¼X8}8#K=rcp~+VBH̳ԡWzI#bQf?W 8?;z?K8afNvG[ b'X4i]4@`k)Bm"cE)7C][p9b" >enؾmMv" ?Zg;+ͯITbHj-Ky%ժZJVLۏl@; .`L;OTwws2w@}P Xr/\[#Bq"?]NՎXR؏6#lS'նM5'Ɨ#Hu8-d:D <`{`'GE~#y|)*͍D$깁nϸAZk""YMJp}9^g+P޼Scs-kN>d/Ћ*T.Li4)r3RjwСKqK+`8˃ɇ[97Os\=_q7z"\! .c;Y=I>`i!rvbW0,5vyz *lEk[<&{Vϸwņ!PSU+y5=x@raKٹpgJG l;{_ez$:e:l%}I?gGMcs?&Wjd8m'v}7+T1vS= ho>O'uRhܼȇaٷ5=p%-C8P͉bXr(g{P5|bPu$9n.p޶y[ Y1gAD*7v,=JE1=oKbw?GGh?gL&yI@s'"^\lJ::Wݚ ~(-5#+L u WRGmv%^jrZ&-`p0OQvGǾbt~掣ciPeF!ӪSXT0qiYe͐>wRWDMs9}rL0۹։26*y<ND;g!tW{àhT Qzvq~I,'lӭu1^Itpl6bu#zQ}HL|?ί9G5Ȃ:@tt]a6F!2F|#\$śS2UN2Ƀ"JfZPuoLs1FY_!J ~X3R;Uln fMZcyJU(M,{DGu '#=T<ՌdQ G/nn,lj`IBy݂BRmհ%^ۑ^47u "I V_C`}賠q_ D؁#*.ԍ,4nj;@.xc͟O)ār4DGMj ɥ'1/l\\ ǒM6UXC⡟~xL6 o~TF,!5,.l,5z ysg7T< ߺXH'h9* j+f+Pr@)b\[ oK̰Ur<3ݘg"ýr⨷PBq_{MIJqV,$& qhE?5CSJiͿ,YC|[v:J&l/#m-gW.7njҮhIv P"tTO5|%X cԪu 9GnIIb/5t5::U$dӣ3B؇Eo͕#D^2RsW72VSa"8Jaf~raER$hcFqǀ8aD |3}YY<=dr%YE1gŏ$V8ŬvPkee'l2n~!:BӖj!tMH'6n[6A{/ $=S)p H 4Ո\}!4!+輄, 4ސ 9nzD.D iM(^*,nD߷`v-a$FPoQUuK~Nߑub-:gLpA7$;۝7aP{~J8>J&V/%.Rt(7q s3(-G6I|}Xj5َ6H3cdm[QL_4IbqD${ʵ69䕏0 g1U=`VUzv4c31dgso# eDOcZPOMJj/wU8K4J"jmZ/F~$&]7۸ |}aM"~`女.CE!d\J 5MF`21%b ۃcl_~%-D*&5>` '2bۼCîP|Pؠ-Ξ448:5v5VCF U_J-9oUahڙ,rp0bTC}-GԿ.0QЇN׊߯gȏH-4$2f˹ʭ8V/|4h1RR8gƺYwLOgInf":| `|FfsX<}q/\7aś[y'o_>Ea<47dRCc !퀶0*r*>:䈞X쐡FV&, ǀ dzc/!jOh >d p0EYNݍ_DJxw_y_41:y*L&5:}6-=4:xJZ9=:{6/JpOxPZ^DJo s ^$>,`XMASR$S43Z6cNǛQQp-3\?e%SL-lR61~h>S6sٵ Bp3|,XLx‰GK;WV؏t'!Z.(BWJfBiJ ]4{FՄL3Obǽͭӧ4\32f}z6|N3_M iY0_L75Y@QP3^FijvC&lq{'YE(-jLJ@r+y}\nʗ3=O)}liMeT5ES7]@)uûC9'T ڙA҇;=ߐ #Њ! ٲz)<kLR > ѮcKQ|FF<"ҋ:e(6 ѫUX=MYcl=ThlϊɵR:@!TKCʴ1 ZtԞd[l<*ABfOAF`E>NQߢ}=j* ٪iz_|*D4Bc_w$a򼆐dw!03rx\R#5bC YL`nU\.SSgxc󛒃<BFݝ ԌsM"o I5:Ֆ1#(/l!#c:͈C hƬ(M֍M((^guB*a`_H|s8,%8]cy>ɽҥL$EatȽ/ɀ{1vӺ;ؕD\[џ& @$MĮHEnHDyz ڳFt T(*)_Ohdf&9B)4=ƨZy2Bsplgf&@OW wLNxm--Cc?2K9}s-͋ř h2' hhc*%nDed ! "w'y}s8k…HWCtp`uqj58#??v:em8e"yP>@?t[c|084-/t 08>K3ezaI>Aj0ΒߐmȐ51'mVnqJ2~&}y|!)=.ھof\d_@N nz'@ DoY<4y׬!5p[. Կ;{>U]69~9vTrOr:/14韐蠄=kAi5n0|=r`M%k<ƒl ݅'6P2/JEi".2Ja8ݢecNBrWiFP& HƜ{}a"Z"q;WZvpRv@V&("(G,FgpmͿOٓ@r osL;VcW~PeqS]Ra%hhBUTJ8a$\ƀgp$|Dn\jT^ݡAP#$dAasTa"K\@6;^n[+WiNg|pLCj!4cFLMf^4IPmcJ=S5,.}hɼ 1?T?ōL6k Ĉ? hY}g ~4&>6s;Fk =?MCWsP_i[r0 TRjO{39;?5B(UU:b;F+{%QrТVM5H/eet5hXn&dZf܋__y)Ƕ2i42d20;{VS,fDoy-cKH3]! WIp4l`.HHlنg3Cr]rLt(/0r9Pgkԝl7GT#F>o~C+sbm'^M'U|,3qm{`/L{wafelƳt : ⽋.碰gC[j?PA".].Lrh' f+j輷ƭI`pNUqy\@e Kp0-B(T >RQ41CM\7ŕ=IBʽwwPPM/SR c ZDH q4{6}:<s K/dٺZwD=Gqa:fUmAfrIɍL]lJ 8p܊XF([MWA$]PoFϢ/B9?K;?#3)9ӣFpҔSy4xd C ѧ7P|[i:"HEPavŚ7 (?x\>yI|P,+n X5v 635یA.z_;ϣ N3Jh^{bSNclq9Y;ulę~Ŷ$D'2UpW*ٞdG9R!}[%7TUhue8 }̱?EC cNthP= yNӥRqL:\H7RIVkY$qלB1Kţ[}x X"Nge88įlSPy! Oy=Rې80K#X-&a ?}J$PHY~m^P{"yqdvj*cQaz Nl1 33|7؝L *; r: RxRNR RW{iW]1o!xoűpWU -G߲~d-$`ޒ.87)l`$0RAV>:? .P1Up?kZ+T]H6Zy*ЗO0_H v1J,o&Uv礬jXG#moM v۔ǣIJCzy dUA>ZRx>`ȅ*_Dp)JAc^P3ţpXFcZ!W~tjc(AB/LǕ jl|խΚ|\ɫ;udX9kȰ_ k݉L7P:OL :\qJX4wB}6lfɾRٝZ/yj "eEE >'҉fٲgPja6I1}$ʧf˨!9o({u_W^C8soox m LKElFjM=#~^WՊ !r[;ݫ+\BPα'ͻu䩁o4"p=G+/К⟿NYtVeP km!BȯCfh(2t Z7`FD}]gL?E#o XiaS%CI~'{ t _ mIBKI`Ғt)֔e%~Mn0&T]b׋' "܄{ 3ޖ%i&yxLH4}XpvR2izFj g Cr&R8u'37&Q,bRX+> j*=>1vw0-SAjt= TviPF@:?9 MpTQm ={#66>]2`+:z!K{ O=[=^w5k=hEbl"iڬo^Ҩl B}wܫ ?RF H])w~sO|5j^")F_c!XWqAPpPYmE2e6Md~<`$1ɤ,e`GN;A{iu[i+8Kcp(;;Í@M!F=;d¯ؗK}؇ә\(fsi<5bR5i!]E.rn w[3ʞ%UDحW#ϕx88 6cW,+c"n7i74gY#s'1/P$qk}rZTܕs3vhF@ WW,#\rxeX͘q;! ,wZ8KUP82LC#T2M:>ĀY& 9?6~NxzZ:BqFθ>0:@f4!jz1+"F '75H/Sr'p*ՙanb-;1(cI`7C_<5>eƉ7ށ Β0B{`G%P|x3OńUJi:^n7]=]6}NGNy^BAfbO7LP kt#!x'Ydށ撄R,dOjWR&ma.IzlOokLIFqCvѤ} ꑊjy#w=qEe[hb gD%Nrj['hJi2M5o*K-nP:kf|RŠkRJӶnD{ss1::O)ḇH>([+C7Jy ,wgQqÍlw0HelJ|;l3smu?iS3yq#w>QRD96'Z^_*˗ۡ Xn~5'j7ȥiFx6ޚ@S@.@蓼Gԑ7Om}6D_h>U7_wAL|p`FJEqKRз~km/%DWrN9+RsMym@j"巧;oNA/=I} ,'WfS|KFp~c(d<6C{YӪ7*5G}acs% zs̠;6r^!FК`6d"@/ ㌉I'\4;!t(~}ۮA,i er]h .~V_R!G^8:RS@f^"`)|q426<]~jzpՃ|{dɤ6k[*sh=hK;Ւ}uyO|~_o1aOp!w1\݅Ix9?2h);TA D 'b="]@$ Dt Wu5i uEcMcm}i?Id."D#R%+O,bUINAz9մ#'o```/^xvg] 36K64>Ӱkz~e ΆRNi Ko|zM 'akn.|fH d&ښ ܉Rebv^qNs${<8d~4( 1S>pF0m#٘U vuUpKo=NXBjHqTz'I5EbxX2 likR8$_uBS"VLFatz!J {?#sansF`& eUϝy:%b ,YpN|}{ $R\Ä}'>IbQtt}ܶp^ՓlGVsP\ ۧWGD U:k:/a"P{|Ur)7Dq =ʉk @F3 kT>ѡ=ms:G{ݚVC3G(ja>A;-@_CN~YVRl\^.2c0 ޢ/X5`=v"gP}5p^vgh~ERV al3>7Zz}wB,/Ń5(# 0j*lF)>{c+9/=VtAi5qDedsG4j}L!0C??uDq'/jRn/:#c7i Riw`#0^G8DS]*xmƻdtpN 2-"bfC=_㻊 ds/99:](h,[ud 9gRE05GaFz_f/xFe|JC@O7P^ÿXcʥϰą *Hs]Bcj)~X/o&(@mLsቲEZmVo;gG?r}%/Q)\_. *KSFϡÃ%Mcj̰ij7vSN `_qfΊ7`}=u c-zw+4C2?ׅ=U6KfJ&::FLiLBS!UmcD+E˾,Ȍ>r[̫1 x]%SD\TÆwbFf$ʰ,=+ -3^::[<4VeDp_M]sH##7Q(MxtP{Cx./ms f񰛌ØMS.bPu@&Hܳ@ 0+}b;6M6Jޕ찐ejК?\:P2A%O(Dv7M*<XEv CS2 Ut1: giڂ^epocl  ~B{`޵F-ֈ >̈́*+SyEPMBJ C'1=~^a20iS)xk\hpMw8$>Uedl̫H0U?_ԂA;]90fl&;u3|r{JG=|r_A >/BagkDFa&=%YkAiq/X=2^ z =W L#z46%j-zM6vgߌh CyAd=*DjCc;9-ҥ,;{syyUUu*,7^7oz:5;EgL $I.ek[1-GOG"B %GOBSnYRGiR t2zC^Scix B{{ @3[㯿?V ncm0ex7{HɍV~x7C {h%acLhAuձO 9Duvxlo3' ^>P^+TeJej(Z#xevȢq, uhyWŭfq.AeoF9ZaFBWrڑ(ĩ2eج5xPGj&]0+ITrҸ53/5 b?{(0iǩ`y>M.lA9!ʂzOFm^hr+3"7\:\qEuX@(E]bԿp0='ҏ7BG|_1?L9(*=Q/1Bi5B2j!\}w׵;`̳{i#sL[ +!7+[5s܁S<'^*vbnҋ|a:̈́L_,1G|TwgUJm$6d2/Y 6&\ʯȾo6%Wi;vUX[iU4u2SxCuZp\Rk'k4sld D0nIdKv.Ӕ@q@n4#YMv@:jOgـsQ (Vkއ5#V ?yuWˋHj@;w:zg*sг9ύgGIPB΄<6~˳R=|#Hj.qXn_VC @3Ӧ.KU\`>wv6L0'>Dڕ`\QHA06 4u##iE_"WgXPTURT#RxKxC;6fiiS,5xh (u"|\6Io>z$a=V&EݡsՀ>vy?_f?t9=L՜G8 a9@}?4Hon&7 ĊDowNޥ듹VʳbĞ ȌR6n 6W)@Lc+B6&W>TJ%d&mP؃UfXb[ɷ[Y$+ySKmF:uiz9?! ǽi#FÌ]»{rvԍ tUw87fvPuAC!*]EE$ a)\csN"_8OkJ1I6qMXЪs ALMlोBjia:|Bss A6I'vu=:tT` )\  +t|:rzjW0V"^L^^K&[MSeu# ptUS`!ɾBl)]S|,t~f-ڠe!X2eVLD&[Z"qu=$f9Y+T޲lUsLq57C,3cX2^up )$h&QboyY&tFJ(v x]Z7#5Z.Sl,uw YK#/QkRpҔ#8Ðf cWwϣ!y<"R!*O".%j?KL*d~dސ;f- b*:X_x~O Bu7!@pR[c;{1 FI9,N{X{"⺽\tUDKlRj  JƲoif'ꗍ^؊_5[AQ3=|236'A\0`۫T^Ȇd벊Ni~r #\aF+nlgAߪE#o-nk5SvM~u#2mIh}_-@ ?}1mRfl6 IOK 8U͑>SV4H#~u֩֕/ζmvI0׷UJ| - 5u u0f͇PA{ufOp:Q%T6vh(H=~ӠvE<1`3~fxҒ{~[`stGצl45fΌ7vX)wWI|{Gc(N"Ļ*Q}sG E; pPu0)c7GK|총r::a+Ј0x$R./73 f,N+Aƙ*O۝`PƓ^VfQM8<LtG^[:^ǣRm1dʴ(G0Q-)H6:ظ0ZJIA -Ytm OC535Ӝ{d.|nͪ gx؄ԔR bH)dPK&:ާI ;ELZX;Iĸ UmйZ?<:47lӹp^b;W {ei9]C61(S֪- ,:TޙV pǴCۓn`c=m8wV ކ^@=I0`dV0N`ODA'U6hX\6<F`b.` 5%"ˑ*;ݺtH] aa S/d q44 Fk=+?V{ o3kt@ $ IzFc>\Č!"֞)ob%adkXʤjK|mwҖ L_V n$OzO=T\Pua9HZLKX9Y>s'=:#FtQʑkZQw(%T jH%]}[6W,k@؂`>{AN-r)7!uNZ1* +{NGBBSu-RG`h@@>܏ q$cFR>Xee|sے@j|~63aX I:uP:9\`x2!E" #Dϭ\?v$Q0~SD Ig8x?H t+1;5/TS>^E ÿv;6{gmDkAe۱[D-bvI,=ru_| p"M ӊ Ѝ?nNl~p{a PyyԪQRH7xAyWs{>@s > ˱ץy̵;l,RUrUsAk:{H-_f;tҒVti,̦9<]¡?!-[2ꅃB@VR;tI@#lٮ s9ÒCݛJeKX9X^,c\2. a[P*Ybiz g.H^';>~T%5^4?q`BY܏?߁Ҝqmҗ'~2#]nDN^`F_u]Dļv6xzrg:KE0:R_"%}G?0N@]ׯjX,hL iM,_Ӗ4Ku9͑6"3Cfn 6Gyںvѡq$qD=+{B- |8?[ LEG'crDQ) :/&fk;{;N~՗a{т%xoe\ܶ@vO%Z;oPn(xi伶P NK0T}<0J ԉ"rbsw \߭.F2޻Y%~3()\Z?IKod 2.׸;qu#E=]٤#5][= a;Vh/r Ld6-3Ֆ}vjrXpʶƺpa\iȎVGE Em'|ӒƗGWt~w^zr e+%Vߚ`#>#-NR= ם<AߊC%S?}DV8#M;rD%7 $s./(K9k*Fl'A1`Qn#BNF9+AJy_4`՞0z+\UM+"9#1쯘`I!@b…g~0ry Lh!~^h/Ůw7Oʤ϶ L+k/: c:AfBah馗6H~||Fz]8ݬ'QC%hv [l^6?q.y~J[$ 3ʤ4b[<尼 2${e8!4p b1":BhS_ ;d"NQ2\OGrIɩ8Dx1&8 F⩆ꧺ\29 z"Bv'WX0 )u&:\h7Ẓw_n S ]3]G+g|QYx:TB/64RBxڟ, .|/?[tfA)St#|s"A1) Ǹ5>a0:`K{7gF(g.g}h"P6*CP5PG Y0vePa{񵀗Tw\za㢄^dKl ju_8o߱ݟܼKSt!E˴W|=l+2d#W6-/O>N3*w+| 0Z|-v+8ÈAmkn7Bh2>fxT՟y L?b\WyF[oc!AAtpu[5ZºX w1?S3~xwCp[t}dˣ5c>Yڥa}%=M+.0{yŖ_z,eïF7=Xrλ[ckgD*YTˍ6.1@zbHs"K.*V!uF3g*ʩhƸsN^ዊBUG™hU&Dž&wM`zN5MśJC7dSvNC c~['G1 .ۜC8Cw5'[wRʕP4CS~rjtjr^)Ry"^"+۱1GpC&dtrjbJ!*J݌i117?`$i(;RN[M_6Ddv؉ NEմ{ڤE<_UvhV>K_Xmo`mPQJ/Ƈ Y"% MAYۦu2#Y_L=Qrw<%nQ$l] %6L6wHRjY*F5^;r6duČJlc!N#{@(K5Ylq k ?mnX<7׎ǥu ԰i}3$3 ?(M;P#;ձ d7֑lv/?HsMQϊ{g=ٗdշ]K B*K"3;kXVH\U^Ao2XC#rl/ճ*-,*e_&O3s<[ɹ@iK(<3ElۣP+tenP([!7]f<<\Vw \JT-b1,}Ob 6/#KT}k9Vl)du9IzӠl-En a{KJFː+N3|S#q*XAF$jD*2#܂ V%'bu¯星vYC֑VJ2#!F@u)<"3w`'D x,(&ǧٺ /r;QSX sleʜ 9@1e~/ǼztFW$7>@H=('ٱڃT$횫:3[îL2{\8a}J:3NMyaNARI 5Z <d:fw*gS @Cx5bNJP~m *\0nZ:35 ^I郙P ).H U )w 55c[^uQiAq/Y:;<@-ԐRN81h8 l`.A!$!'f uBn^CƶD7 ʉ Iwҝ"3rnK6ec)/|/ONZo-$|V捿S*9 Y提h] {0 9QUO7zb'?+"NLU!_Her8 up?GC^l@0 M `9kV]'vE]NSBݒqZۓx2u'ܜ }О8 ,X3 X#OiTTaRnݿsV]OwP)$UneD7ny$zj_F@}r\RK+86aņjێŐ8_&p ^|;u2 ޴ހq4k-NL.Hˏ(A͊7*MmDc?%lCmNdbPq]{")kFkpXX l HL%aT!H- >R&0KFvim4!@c9j2l%C濒xZ߾4r'e4~keo4R}QAZΗbSIW1Rt h{,`ǜ3ڼYvIb&=9|Mı'i!A9ԋLg{t^|ÎZ oThٷx-111W+@jQ6+ SM}4 x&0ӳdml= "W-ql{EtaϬ}E,<`K&/Nwzx\öoBa34ި&! 7)_Qc DwhH CVGqĭ`3 Sm3NCC!򇷩bܲ2!8/C mb)l[ɳ ˇrKC KH`ۇȧZ/tY4/AOXAA Ai}wVgeqO#4EzEh 2LN ,7ӂs:x)~,%1LF)Lͬci,Gwm.{Z/ kvoK~'n& Wxpkr'OӤ`i^J ;S- nR=rݠ Dͮ =C[a&]#L+of!Cl2! e2MXνu/щk3,n^2Wyy_OkyusU´md<[H%<=0JxIuFʃ>@Ӳ]ҳbXk2ےnN^|גzM*` 3~}ح_5IHVybcBKkah* jѤ\.j$Ns@X5dbwЧC1Uv&rĺgeKc`ї\&!7PfQRA'VVl Cf-?GdѲ Qt|`܏`l_`!>ydʅ+8թWYtbaZ|F8Dw2M[/=7,J(gSlEF͏:u u#f xĉzV[H HQUؐmnGZwz0嫧f pD1iw™\)m݀ס SY#veasy/L;ә<jJ9 6JQ%ºIxSڵpv^ֻ[ʹl̐&5"⋮lǵn_~rPHX|KR&ڞV':n[qLpV/G*"WZ]rX =F8'4H4pDJ mi< Kr%)BDƥ#00]EDN}P'G3 hapQ衞Kx< =>K:V6Y,DMC0sanE>f>:lghp"QS8_hg ^]?~&[] w.w +8k}2L$4ÿRac%0`RJϽBki4[Vׄtn**)|n3L聩A+j/C\TjLRxKXEWi}5^;q&137!x.!GHR\7O˫sr6?Wj+ fΚ:Ct|31I O8&}֤?3HZl/Sf>xU]#DܽiBz~EDGȥod}oh]%%XcEh"£ٯDFbsNic؈N4#c<+Zx8_3(RX~nR=]kxFOz+]& *n{12\ LU>FO}.$y5W`"U li&0 u[(2+61衂}Zpzzҋܸ{<;ŮY/pJ%M*/e0m4@*&vp qXdu"ӑ!dX=X}_kR5{yoy:{2C>H]HpA9'6.> *lÁfy~}l o=KPz^yLߣfIC#.GF^ Jv|N}2(2fG0Gg9Hc~Z|5XE[1|g_ezņDB6HlvViu`_׿RZd"j4#֫)i eFAb]ՙa!aU=G9WIxсq;2k1N!Q$RlfpB/x%8N?5Y?@医:+R&L YӲup^%6O{sS"\ho Jy",4yi^0Ks^| Y=Hz/8gU,KS (ZW-W<4 Y%aatJVEGD0JQYUW.缩 H=?$S] 5y,VdLݸ/GR]z9Plp̻$N6!?G}JBP 0h EFBWMᢥl'Uw)P|L>jNgX I)-;$BLGLBDPsA \>kІH ȫn' QKg>]& %Dg4\Svd%%x#R]?HM y@D}Mɦ+xږ|y󔜬[rK_ݩ<eT}`|_I:ɍRDRK^/9p)wą;1W/7 ] S .}d?N e%%,!i.[N"zf3<8 GƑE?'5T).tI[C&w5t\.795pN?cabw}a.ѿPv0.#y+zkzYA@{k4=*л%_iG]KØgF+dq-=.(" )`&${ *AZ_֡_C"p:U0Sf„J͏}IN8>B)YN[:QzdyU'W7w?i8#`Vݙ󨡈v-!{y:$* |@[}Z0_D`R bnk$' Q_UKC PTmBDrPۜ~v4M [q>ݝ7[)# f5/{=9:ѳm%wIJ߄FeKl58צlrrց`]g%UmzѫޜN,A3bwlwSl+9?K^+J=R@yVlT}LUn_~1T*8a^~kBs 'LA޼Yꢥm9$U~ I5#ӇWL!_ ɐY{Z౞Ŝ&w!W"Z_hdKU:ԬQ>mhBo':@ُiAN#Zq%8d4ԀńHR*lɒ`Qݾ4U7ҴLs6]w%MFS@ڧelNs"Q[>bd<ҧ Sܾ6m< aA|S05k!hl6Q$ Ee?DŽW ǰ-H[YlXQ9Ld>@Sp^I"XB fxi>g9P19<|3Ү"YM{jƒW"n98$l^q"uyn(է^o : x- [S(T* SIQ̅3^;\hS-a=p?3u| ~~ġ%P8C߳3bMAISl+kT-{Ei=~":dU$ UF|Fdx#bz/9 ʚTi|@R@!v]/mɈ71?m=T2#h .zWhAo29+?fTM2pf4SU!>NjЌ߶z+lID3ByIRMDa3'8EhI<6 DR3F$־80{¹[|bA3b=nbI7C>kZ_z$@0 89b]"o!nĊn&Z#>V?#?s`r|$L%^]g/cʅK{`Sb~&u ƦeC"P)#X ,oc' ƃq?YwǰmMߑo ypoVdv/ z0UELf>gxoUJ%fX"^@Gqn;<g'BS-_BMlUjQL w>Uǖ fu~Ge_%b873!z)؟[ yl XIo̺ƐBv4 Z HA,D0ʈG~}g-R]AgToS&%g7뉪|sΘK\RO1;K-셃3/X{4nkzٿeorp'ShZۦo` N%{:*/ki q2O鐕@׃spaqA #2>bGK4Ư6">(Gs)c&հ{ɹ!L%rv{ɝN}/BI('W =,o,W3D} :͗7JZP-Լ'}/:|Xbʓ~ ޱDq_z1>TTPYL ~tٱ9CM1B(?2Xo0dpzQ~ K{& $w摃O>='rU62O6FQ0џ#eU,-0*M`%>EHN\"lUlNZ/+>[fx^?y7orD-3"05936~c_S%aMj:?{X{痵EvC4bC XQe;F^R\=ъf, F\ ċprTB,뵧 g'֊,y,}yX4[ih)G;hp%\b;5FG Vu$|"@:EڨVptCbϨҪ ctj™;(,?'*]Ƥy@ؐCϪ-YzkaV&`dC(ZgC$ro\QFΰhsN&CXG\*5-p O=)R7>UqX|zi@^D@K A4' ?2hfDc7[r {PZR2w/DRP+ex7+@- h>iV?#BfJnLhGn[4;VުBո['BJSVw!.mMuM.Z M*duSZA_ V;yIdj2Y%bȪzv۝EỨ-mis_?wFt]~$𚭷Ä۹Y{F4JҎg*V*?52~rWR| gv^mT a9W)]2Tu45ÝC(y)mǴ U( H8d6͡u[Jler-ksnbya+ ήaK5Fm'G}<91g:*kڎp]Oc_skXovHL ssa熆'Y0ri݃i}E4Mwѡ 3j%Tp ܷO,C c&FΦKJ XDͪKC(;=NO1L9ZUd6:e]<&;zFI4نgEYq# Ej@aHra8<̲Oj >c?dT/7-pdk؋x(?mSV ]s(@~V;ǁۜ\HF֍NBPA&%y8*Z`qs1_OU8[ttƳS}dٗ f%U2X{[3k vHےf*fa?5OkAog"9tg儴XQ,{^̨#9g$3rbeU,?l!Ɏ ٪RhLj^F/0<|1Vy-)o )# ՙd1j>>/O68֗'e!ZN腷ʌRjsC!Ji 12TSli (E*RԎѶrpitSXEjxdi' |q%#!fLvG1b&q<PUMlcri}^a.X6'y=X?`ؘx b;T_xO=fRNnE> b:(ί98Y"ՙ_𶹥BC Hea1FZXJS0}Ы14sUC/6!t1[JRC n % }f%z 1+FO&WD }fm}&sAۅT75%V{ZPTTta$B!t/-uƏn[ 2EZ.J)  &52:o;Z۔*? V8j+nP+u~,ok&pSb*AuK` $W#ORm޸}X#0r,$;@wY :oRwPMvFv!.8g6-CѐǴ|(*:!yd Y~ꬳ Fa爅%̬ Ӡޏv^*-5^GTcpp&5#}@}hTi?R~kX_j _ 3P֠Ԉr,dO-V I\tnWVSO3]̀GN~&jvN`7 uPϗXSDW?u6 5myܯhn"mqCT5+Fz P @mlbŢQ8y܅hXRqM Z{}ְ[čp;%k={]z I דCV8@Qk{9jNl:S?b#\*L*x>0C5"\Q UO4.О㝪\PyV?ll6M5LSOYg7zSTշ"|%1s)o#['8;PAB|  ̀uŗ66L@=Dy¹B=(+DwV1 Ҫ kSԔqfq;j!NR[w:BY!oi$%i JZZg >A=J!G;ĕ#ФT̝3 E;2q l+Cӷᚚ wdX7 >NO79Q&J>D^QrskKYUI *&>K~XXZ7 G ЫT" ,ɯ@-tSӺCe7Seu3Z+Z: a>vbUt|be͊3ݏ._fʷo-vrιg!LxWp_5)OCq ufͣ0qx\Ii"z6Yt.ŧ{rJ~i0pA=wo5-8@|u:8aC1LG߿1 `1a)=`<&jG1XuSep2-/&x~=h*J+3[/Vg,|1g%[+IײUD?Z7~HcZAX`'Mr;}2ܦLp}-maOkmr T Cd 9DNm:XUh"jR'LʡU$uOz[koNSZ1DdsAZ:[/EeE"/0ikJϽ f7J\H4ΗeF[ iEzx/ElLYCsRۿ(vZ") Pq_̺;=W)\ ?J!Xkb_Nrp4vFJp!5‘ƅdSut_)U*!O*#zYlb2Jt?b7-Y3E`Bv;_ @THe GL!`Бe2*hC1f;jsbLa=NYSॸ).)6&x*O$T1S;=ّwXUf,;$}]P! ty4&bxE7*KENM'q<al_Ԓ᱃RNҕ80={#ԠsK*󋩟NtSXu'f x~!}H@K]\,ԛ_^I{l zM#a\s{@O?0|?{"6债rhrmo#êJUJԖ'>E;YKQٚ5kzM)Z7eU]bKJl~g:$\ gJՒ/R"<# 8=fy_ImX-$lG8_LEpSv"}O FB1hnQfǤsOG"nq bsMCC0Yy'1bM0,l}? pxKK1Jºj±~Qn@n&VQpCRdwN8'I15gQo~ t7H&_\bye]9w=|M_qߚ7oݰкm1?͸{}|;nbwPH.4KQ6 hGlS,J4"UPw`{Y aZ U lk:DlhZ-(YhdAͽtW*{_yGeKXkOԇh$hu}kPG)[7 o:z \$1Z\:wv/Xe;2 U+^/O"K+I2JE([bj20[l9%f2nm+k cHSJI~rĸc..LwcZۺ7`t}ڃUzcE}r>f9Ԏ! ߾%e=qXi,d(3(=6e?;f#+pzI.9YGLX?vpE{˜G-%)o@qdwx"s26rGWKy4Ӵ(0e6st@C^$(9*ZQv+--N2q 'PQ ;wq gRޱJ A*wQx6o1)FvurˇQ~!JDDetA4FE |D!ȅ4a0γ^Gbͬ=U6T.`57lB#GY4cT=]ve~͙3!>ZT)-Y+^uK1. DLJ}}3+äjAH*tzÅqeѣje=nۛSz" ށY"A[vE*`8[2Ңm:.9.Bh?[{ 1M kΪ7<,|!M!܊M:V*rCf2uk8>ݺP ,A'5@ XB3o2#[Z0PMs)_7x ],5q{Y/~)F($,#z`f'e Wz(upjF+Fo~ }`#(Axe8cJ8d㣸X„I5⡾LN, î SLrDm'77~7!|$W= I0xh?BԹaU?1È|CPץ-2wȚ.nr,#Q=XVy":km"^>w㛜d +f98'X){Ek9W?dZQZ+l낓{}nS52fڒx6GUAsP?&teXɿgJo.H_ \#L45j+gQ/>q$V4v2(DB/[^a^ZlC4m>E^|\+AY(z0'}OC$W6< ikg<糃AєZz=72Vap2yچ3#z6JΤ|m]1lm|d|ra#PZ9l?C7,B##]MJA8{.A|͂rd\Dl֣ OSiO3n}/ozs͠%Er4gK6Zm#O8P$`{ԍ6Pg1M8C4\=9ݒ'čp>};.1ǘ} TA@ 12 F@rw5s^Ų0Q1.Cx]w;5L3\'NwDFL.@ì9},;hv>)u_ źǂt^gH(k%ߤ qAvl n}jhV; աSnA6|q=H$"SD=3-^>aFg/7̈~K:Lzu2<[֟.,mh_㟼<` tuaY %Ie/ #;}ܣ_79h9lބ~DԖ9 $੽:dsR$Ұ\--Ѿe=oV\@zMZq 8p3_d "ɘy8b:Ua3>G!+ҝs6&uB ;UVHuЀ"M]6tNIK/eSؘ&ϮZ ~o(<@Nh܋rgS+ncІ^f]~Qsx9{q0eLZYd?m# [@drQGbC4t4^LDYk<>FqjsUp<.f`֐zN怆 Ի89XIx_ϢvIJSMyE_I߃謊 J mڑaɵ R <?skbU;^ (Jp\8x 9i@۞+FH٪ݣj頋PjY|ªFEBy`˃/]-膥P6ݿ̖ut7Hk*Hd7&#hдyZT+Lb"-9 # y\_#lUA[,F ˑ'jtп"X@/_X ͤ=\1[07?8a,`nĸ MW4e#ZuirO^CH1o +xN$e.B9:˛ˁ݁p>4Kv WAD(2L\<(mt [Ǧjm솘gs/=TdK=-l$OQt360ޞMi՘ag&ʾЧ+Ur>GYŽH)} 9}mf5 ]aaWK^QJg4H%Yp LR*N[jt>KjeZU$3GVMC=!kqD; ވ漢Y z N@h H)ڭ-j@e;i*7C0[p݆E| #4ϳKMB5U;l8&G}uM#7_\cr:J4\/\J1aқjI^ꁤ4Y}uaU:uS@OSyG5Ѹ|9PT8һ8|0g.MX4/,GJ5g= asuS"^j3)nt3[ǁ#RHkH#'}Pnp> 3XR)^tU͜ޢ4tPrL38trZzmiEcY~ `%{C@#!Sчc Ν[ Ӫo,Ku➮.3!rNz_G'#D [o{ N4; ={#}j0egzIC^:jyB(ix©iײ_CP0YTVx\(:\ Ἐ\WBʩcߢ?BcPWF//d "^ }Z rI̍Ak(nnWcl":!q%Xn;ZnĄ;BqФ+ o`VmrB2_Aafgbm׻5j^4Ԟpwjҋw-wqJ\+\W3E  Zl3*#y٪쵫ӹ?LH"t}fʛ7m|Q 80Z+FQō~j1''tRypȷ DX@ QD VxGw7CnD}$Ԛ7baG$S%HW E[|ךQI Jǃx)]TfM/fӛx,Ec{P yhحWqnW)~䥝!R*QYLD)>H&e~j3X#ҷm91OgO8 hv5ґ(ᯐ6z F_k=d`Eg*#Z PT\ɰAPyf*;@`*:̓RB؍i 7: 1v1Gm:"b fײZ!U=*ro f [=Td9GoĂkWx&$fѵV79Bgs|C|T6z*1)#K@=/MRZmeuk9 K̖V됚 ~#b ą) 4c!K*/K#ÙT^<ki>'yojhsZ43cqxWEh/렇>d^m th ⢡aaҜ?D]c#_CcjzRr96:,i=eu1 \7, ZoCw>7N|Ը(:?)Nw0D:9ch 6P0^7(uK/mh.'@s,g)$%F4ff?ATYpen 4d:f*שt6b5ZR{Y]Xu!K+m(Zd]h(${&rfĹNX]i$ZJe{6K8oRB3?aswk{QQ9!vU*%upQ;ѕZOط0{Я:9qi3 +ZgE #uaibEk~W/0wiU62nD6X,ƅZr|悋m}DF rr LUB}ertCn'܉!cND&HdO%B7glH w4ug*kdjNCuv*?Jc977ɺ .o9ZzmsMͅ!9 ^Sow5@:[~ (7e5HG1$e֫39YsIX' 'ӭbP- C&w6hlGkV\8-N~{0h@T ~$bkpP0T_0փr8Ngլ &7R@2$, <37e/4"%zZE -jr( :'Q3+&<f4YmcN#$Q^q{hPk&Eֶ_F/P-b#) hil0uݿ &7t4>xdHZ FKm25=X/d\-,>mKQNؤcx : DړES&bcc_5AxQ ;=K5ncO15 }A8 پ*0E{H!3J_ \ۿSli;+(PTOh[azvg;㜡"-I#y[ )|uŦV#κkɊu$OS9?l #^H\G>sSٿ?y2/D- UsD8a8Rp7מTDM[fTx@c)`N e ~O>'`cd:TOb(,jAb t}Oߐȹp3^Wnf q]t;;@V >*9 *-m@,ٻ$Y0Y 1Q 0t($R4> kFg}yOVoglG h0$NSy(onk%-\Lt[m*q0"A'ƻj)+{Rr];63֘^ط"`pHIHjoUKz/fUD@:c.:q4Q^nNOGБthư8ۡ>p*H=(µo'U(Ѷ{NOoX @1f0=!l{ITiy@t]o ɍv;.f:^Gj2!%Me̡s ap iBR38pe4_QJbyP%]tjJi~*U܍u4_/^eDN78qBŮ_!'?}=Ja-jZlBI!_*׷hI.-F`fܕ;X,)C=͇g^ 5Y6 h@b=dA#ht G'UI+f}%djA J[T}psV~k Bf`s5 ֲysr ɐ^mAs7M/%Qκbn/&<ݓ 'КxL)n|F:e[Rimf ^9RhEZwdgmAk[;5IWʼ'TDWlq$$|^M}79}SG 8WADkf}[%Eʎ|)#7u6FUѳ8#(+TE'3P.l#KxuIGU.b*_hybͮLaG+_mZ$gٗҜuIV^\(i$ayT8,xx#u znP,M^KHdކOgm)Xyb -fR:I|ՀyMm{Ƴ9(Ke޼IH  s(%+v^"|ɷkf-?]s4 d3 p>-]{T{˥$PEδ؝yj2ĸ`5%;m2qm]GFGCň1I٨&E-L7{htr PN96w9_׹t%)/k,bΰ?Ÿ6 'H؞ObM%<.&R<溊@RXN:=bz{XF{ R/]c0wbwR5p ΐ Fc_7i&ܯ=V@ԚꔡI[t^S;*\k +'QO|j /D҃Yc;(}2 ]Fg5jPv-$6p} u-iEYCiȠsUɚkkSB[z6Ox&]_8[4g*Ki0D6X}H%][̖;bFC;W# s!ح'#=19 $nRQJf_2*:rp5mɣ9&-;=|:BRf26ߺ]r 9 Z2"p F,ڜK\hoqoNB^ B;n*ytdym&EW3܆ V( 7#ON&S&CNDv౿]x's1`AoGXLD#P`NbDW*>;Rq56VT2@.Cbxmqwp쒛+4J_k+0@B_VQo.'˲xf촮rٺpZU2f=J2F6P~ Y$.\{u 3 XLfU@zQ΁t~gP[eUbMQjl9缧kƹO {Ӛ[(bdI]ܤxZ$qw'6I)slWܕJ%n>5ORn!gNgG .yXtl%ҩ(0!{gIh[_d"EMˠ$I:MtKk"%Pܧn 4V/"X(Dƶnh`Ϗ7cw{%MGtgp nTȾi7LḢ|fXXnZAD0~CQaJ 61wA R+K,[#](NsXd \aq^` -b݂<ڲwI U.g1ԟ\"RIޏqi{_E37zJ[b"݉Pe)O8BlSC ?7x.^%B(v Sڝ,ΐ3(&JjI^/حǡ(,P|8a ψG$. ; ʓJK nf1.ym.5#f !Y/3ߋ&c]_ 6tHԩ/R3;ՕKmgUtؤtv [8.cHE]\1vzȊPS4\ @il/}q)Z_hJڮmmKIHU y{td_gCy&]t46n{Y[{< ]jǰb{AۤUûLw=:AW#-gK ۞a 18\:Ѱx4j cbÏ9 d n\gǵpꤢC8sCAL߆b=ϠACCdسov0Xײt(o3hnaVP'ea5 >Ћ<ߦ7Ĺ!r>hldiGCsT=p`^]B` wF Gzw3J2A+[|L Gr홾DG2}-c(Xve~A> uJv2Ĥ`˔!\Z1{ :KS3`^5hx^6+bi3v]%#cy`]YB|'**)D.{CCpyB8_bt2q5RYhUL#JąCXw1<>M"a*Tn2NG4]xPYUFyjB-{8&xSJܹ=nY?1Ϸ2z/+KqgyWY!֜4 2|LswhcS@=FlUbyRP;}y}|y`ރitf^hɤ LlkD 9sA2ՏmQ*#ZF E(J,Y#@nl$,ѮfzVqǯ?udt~`la6`#7¸S7i)պh^qe˺1[Y J) |*6 '6?΀u8AXuaOz,&ҥxܣ)S@V3:2y`GU%x[uѴjo'OR;7;":Wg0Odj5}wtJe!.\<2SM5OGDf3)Ng az:7Dۡ\yNCI΃x2K 5jR44I3[4neVty%V4Tp߇jgyN]ԭ'NK m,I=lX9`R;A[1N y Q mylr6rnZcjU~։E :3DYdI!ֱZTn-DjŅ"ߜgC s䒶hQO6~J8S-2rE=&#Ke/`\5-vG5t$6ww6iUqё32zבϾP ݉ˇ4DUDn0w:C$Qo}̞u-=+H75ay(@ZptbZb=lUBd[O%ܺ &IPX0Y^ID:R^ &Zk~dltHL͏?7?hu傺 SNwv_bJrVTEأ`ܟkGWtm _Zٍ"BLQ*&?.hR7K8@ _ӏXT)i ]$& Crwwj(7a"Of^k0&χs@ &)L#l`,͐l QZ0d9.NtH̿׏mVEQ}bk&Ci>ɞsGL)+:kMpr!{E#Y;h[FI1wS4c>$ b~|-u"S*O9M ?z;)(˲g d n=cd@wX[ ^ 2Ql"76dG-?dWY[H|P?ZobߒI0e@>}cP\=pg>xΒSJ@ c\TjM sm+jwdz }n DtlKU;&/H P$A#K?wx#p]qxHU)9nZ:UI>^WB"[#OwkF~ujqfdFTWhZ ~U"xl@0g$TlG?35$B3D⦫w@KN& ؁:J;wZ6)",5%g;^8 ExB@P0rS13\_3hY]Z¨!&=s ڠI%9'DbjQMLz=^oE5ިnmpe4b1TvcIxI!q8*ݘ7]t`VK: HϘFdgp$kAR7`N=Dʖ]OGAudZN 3m" O(!y`"E90DI=~f>t-{0? aO{Kjɰ]%u3*xUpRFlb5l_ >Lx?t?<Gvi+DaY[:ؘѓOS0bI1]/]B<^ md\:{+$ sOOuYrՄe[,/Ë{^ 22Nmr)/c]CScVnQ޳p̿TU,77<̣{шPM'FYp:1KS@<2cZ0?j\ `I:E m_EHB!iveu6~3+*)l|7: L9Ӿ^ ΅s%+1̆hhAq~bmyؒ7d4Z5%ުbvigJM: l ~!WhNGހIHfnp|ɢO̟ :7'T!9$;/WLf nZ>e5?ӱe@Я/ې5Ie VVE2,Wqb l8lOg$Nۣѡ C& -*8Ʌs+_ VO{1pˆQTOJ8VuO+E(bDlv)홨.ybY9F5X-YJ@ ~Q*2jş7VhԦ\¬aQZ+#.(s1xoPEȞYPOs,r.F6y'@yaqCM;t0^ yHʄx5c S<݌CnKVt.YV?Rpi<X`Ez#/!$ 'E[<F|(%kMAy*c37a,y4ޒ)r=D:2c&gq;tn6Ӆ$AwF!4lQ7U1RYɅ<{hxLNpsy\0Yh[ew[Zu#I-X}疾HHԝk7rt\ةyX?;?‡nDܫ #FE6+'"f(+uKhL$(1AlɯIN';H:G,. %F(YHTQ#+xZ*Vgs\ .K}yw=PLLx WeQ:o"G1*ș3@MJa;4ZcڎqtӚ8t'!ܹDPcUSDN0#4I kS?6AJ7 l%vn\tVSh[[MN˻`nƭ*73"+IMEtasneJI*Ɠ,c5HfndpvrV^ U6/efSPs3Ju!l&ANOlu1e+F먽$3&`eH3 ;\-2k\m}@,-]eU D nY_FF/ Jj;&\WPF~L*+PcT :=>cxɿEO =65?ouDARhŎAA7JK')cx:@VZ 45q_08/QTe(;o4TX'[s}׽qUnL QYA܏}5Te씬V461p_TZtaAˎ}:Q?3:k7 5G^EqB SՆsX$j  uSoHy+sSx)C\zy45t EuRwb EqGb=nX_m2G"٦@ <9ݫn)~"6/)} >0\dKהv*F;׶CY^Y to<)R73:ˋ.KG̈h: Ec ߥ -*at#7@AzϬMlsb2m9v%jN::RW5l)~z`>_8lm*)N~.}`-pXpz6[޳<}=oZf3OVS|SiwQ?[3̢BHb2e/&CeDeB1 :IH.):gTxUOC1|W sstaWU3ίϲPe5N0E,ۥ; n?` 9$y؁u73ylց#Jbs* *ͮD,jFI_n܋vw3"U jBSHwOk'v2c9 sf͖@m㻿A/З:Xj(Ρ=Nѱ(t p+⟆, !2l5GAcgB9KYү+rYまe8~ǹ$~H3NQf>y4Hxy=ƛ$1_Y >f5=/ z{4lo j9f%orm 7x 48[_dNOMC׫wg ~!7Re]jm؍@T-=Q̬ {}ڢҲ{_|pEG. 2Z$2\@O/ԁ5c.agѺ@޾ G#ݑ*؇`>ff5P~UcN0 ?Z*6zqzDZq61RUp_:"]-QܔaIp#2hXIa­$UTupsBĄǫ.GiށAKU VuװSPT X@)LqCµ#'4 ^fpϼQC/J8|cLAYRk^ C>i2 }lK2:G\'̈ gE4kmȖ+%pȇS`b&y:kTCޙ⃆QqKi+ژЂc9j O`C_|^x?Yߙҫb ? "=S0DMŨ@J L)CdX#Δgd\÷/C7M,?RnWXg<hMfQkzd GcusXsჷ{VFAXܡS'7nC7\ˑD4<Z!5AUT;o@BLkzOԲ4!,03=)s0(Kخo.䬵覄jW''M }:l[aoЏi򙾳zZh}`+e/aw7Nݥ=b;c"L^="nlH=Uմ͓"G!oHwC\yV=pGЭESP|DF#"q s>f,cLY6lı\{ϯr%i胼-tI_a4r@.fo\z*pØɂįv-Ƀ+.[صv_sMlB3 TyJc}|yEɞLr ]gB( w+p|ڶqrYquITRY ~޷/4L1EIuK8N+͔dw+ vEHPj'2'trI6^]űt(ϠF'ԭV6GE:oS ^8d6eO/;g]7?ެ-UTPKUtgifW?x33FNv~<^PnHsJM k@Po*; Js2co"&"耊3A#L M1[/׫rʹ#;s;yUxh]nZ>i!5-!}fTIR ]!5e^z*f&*啂M84>E ތZEɲ -x95zQ0X#CITZl=#KX0a RMrA# vI~Z- =fh<;Tsd =0JU1J1rS QI ;Zܴ-fgqe~jL7P9gŠS"x;A!K%DV/̄nlJQԈkPt˪Ôbbޛ}AbB/zڽ~Jx) ;fѬZޛ5Yao|>7)gӥyIE (iTD9 Ý?q HtdM󮃅Hk/3˥M۲E* YX't<qGYO~쮄䒖~;_+6hU q6zwN0l`VLa ){ }p@hwziMd+"# ?.4؀chJʑWU.Rhq[ -j \_d;\cĘ1;Y-4;.kH4FkuzCEHϤGW6wK)R r&5/ Kj"ހ&Iro#QAPobx b`,j@eE>$=3MS=*XV klitJAU`P8)ϼzMn4C/^~6R#ԐHҵp|L\ΖPzn&?(D䱉ߛ%x{$I бZN힏rp># {Q7󒫴9ȳ A9T q^C kܛ{~2V3KMq,BFao*/3&xv[:KӔ_~+H o LRNFhfFry ,^D\b! JitRO+XilWv.TtS<;˼GsUx qZ!|"O8{Їx_æ04'gv?@x>A?j{&J3mk)_.jcGm )ٚ¦e'lM]Sw$/6܆m1u-WGmwY\hQe/Gٓ9L#. jP^-AؙQ_L9H%̢ CՏBd{ٻ)ox-.)5UOC&ߧ^?Ն]|y/bOi>~boc,v&ov*x*y&Ete&Q" {4XAPTvLW{VɚF@m4FSn\+M߇?M C{'t\u7+] MAV?>YY$\Fj {I -yA.!ǎ^0fhuP+֗3z/.U0<08ؘBފ1ۍ0qD ;<]V 6|5! EOL!lGY2̎v/0\USsLԞ&ƸƲڇ $NO֡;*<Cd' iCRU9geȳvr L G3\4 Olhg8'GW;5"X8Z! M;'ڊ)RC)6 /ccQfxa$i_XЇi)ٖzb0X- Z͘я{'] ́QlTzʮRi#zj윬,. ~ DlɃMַm)5&Vsj Fl[ ~`8}h9cP1V +sKYmCөSPԞ EV=0ǹ̥o<* r#44ųƣ8)P>tT @h_0}bMu #gvDR_dJ"W2h[QeO-|u+nJNCb Y!RǮqKoV0N]7Dޯ话LM2N+o_$fՌ l˃Kj3ǡOjl6q%~c܀N'c%ξ"#_`WčfU21哳1XI7k C;d"aъ!g%-yhx-hp5Sp|snwgzMC Ǹ9ݢ>cZLAB~ ddHx6R|V94v _/Z.5TO&2ϥ[n-o/5N9|GtR}8ײJV &Cr/'uSzj<Ñ5V%M91T(6S 8}9LM[*r=JkE*wߕ/)ː-+^ $?MdD϶(6Š@~amн#{B]8p4Wz!߳+HXo5L}HVăߪ+'?Lܬ3&(8LUQ&NvIіfT(䞷Z :x2 r'c;oX /oFΎwsBdRΡq%ԽRWLwZha1;xIݢ5ʈRK1sS2F`c0vf<W8԰ɺuwgϖ#Z,HPc UO}5%8]1:&ٛ\:uU)5'51e˗̠/OƝͳdrV@ DѮ )J{2B1^DkN^I`~I4ԬydW;7쫜8M~joRم>W,> 9aNr3$"{JJm]Dп^'{zGm &L^R)sYjz Rh:)]BHDGa5fSas3!"ÇV'D=uD:rʰ4ܸ833q{T'w|~%]":As-*?vk_d;R,'wahHxw@5{HQP *zQՖ`iL.r(WQ4K޺b++oPs6gU-fmZE =je`g'^`/M<<xwȢ+kbcAicxf?4qM*MM vI@j? 0sMH!dTk&l\u%NJG|x+.`9A"9֧[ PS ؆MU 0XStLxPyL'AgN7B[=S FS2_^n*hZ \sjy <'a\gc@B0U1 h{"99yGu/awL9Z`- /حZ^8r.pMX]CD gTc!?&5چ^VB}/ Tg#sbHT;&G%QBq7q;x-/Sf`^N0{CL5sѿ텣,WS(x5*AOe\C`+ { j*t.p7%5kS4T 2av <&cb ^G !%8 }tl?^ޣD!O Fy40)+>? cFOG4kcvjpnGiPtgs5i,X5kԓۢʎ']JNB;cnĦ$zohGJ+Zk@9s|GX k䇸N_;r(UG.} Gt@؂=%PȔn\z;VX4{C1?1zrk(Mo!Ů~G dsakh5yK֖( $3LMsbԤE07m؆yVvdZ}"Mp fWkaDh;˲c:"$;zڕH UT}́B2"N]΢O7'"z isF^q\ee4,/DUvİ>_ .o@yWY&aeSt!~m ृx 5<䢾=&žK ((ъ^Tq#ʉiLhXj$-IkVo;גu3/K#@7>bMnZMstgfNxFG T F{xh]ʌNYٶYA^{%Z '6ϓڪ Хcvn w^gsɠc,BSCҕa%9c βA?[ B *םI04m3{y?syy"?&O蠽dY–%^ o* JK:KS{v&/2gVIaHlO#W9nOXS$$,$+dc2!4D7 b6Ԟtu Gs1(Y!U)sksZl`qe|j,hd` $Xn1b"9YLQWJi t S*ԝ?7ˇ~9Eќb S?L,Nj.J#A7.D2X/9s̻yX7W]M8gt4E,_i \#/_߶/{1*tǭݳabppygvX:"ƺXx CZ3wõ„~OLN_ ts!E manddǎ`QN$Zb @=]Ɍ=T,iBtf ھDYTCQhvxuF|lYf0*FXK&𚲧0z#w)Ĵ,Op; 7̉q./$c HgO0װ"_OY͖t>*i5|DML;ڕ5@$ٿ< 'zˎ^_, Y-RbЛ5SgnqF4s_87 8B;—x  9zjVH@O#(fjsf}DG|/DhYW ~/pq*b4Z1ߺ*2u~~(1B᤭_BxR-o߀UHSVvPj*]s0\GՉ,Ÿ:e?r'*[%3(@xa^J` c/ \3؃+t"}dƎgTŧ.gXִ]7BB!Pe3R[! C1ɗ5f|2@X8 J4qW%`ďJn: +=$9- P҈9iPO>>Q1HIpb<#\F' ]$7DMaBRmiU:&<x\?, ,.s`"oG.[ȗi D lw\~KeF QI-&f4mp4(& o49rG]%r>FN@SӖ_LkzN MO, „Mig$ςb{-NF6Kp}'-ÿ1H2E~R! XG&Z-)x,jVŞQH1cG=AZ뮂hT%6Hu3E0͂T.f!#t=S&C(̢L)X f)?Q47ddgcI|<ğ*F&}S+\,'x#=ȡ1w@~'ɶUՓ!e_^b¯*EtI+zcMU%K4@C:ti@昰VP-V;0 s/}8+ƞNM[^dN٠>l⵪-Te)qA5 |bLiR N#&'9tLd)xCW h*ñGrQ]fI;Ě(@tZ VRi[||'oau'98|,Il) lIGIqd0I۫t0\ٛa?b0t}xV/]ߨRYSPgSv˜3i$v\_l=@ّ[MkӻE 0+Zz'gϷp XN!3*͘DWFŵ_:޲x4flw59bUf';64>G(ڣA |{gr* 3[1(.^2ybח,\^aO8qhe*,ge ~U-R|fJa#P#BFLZ :}S K7"浓Bȸ<,y|j޷fIey0f3d8-a)R)mU82VDVVfؼ<@("~#1 JxiAΕ$lItOs괁^b؈@b  o^g31jxh~qdV®$ګ4 بmSk9G૏\^u|6:9!IT? L$_ -jiJ#E%xyLyV`f]h W}FRzjj='.C S[CYY(6 CrR<{-$4r7jx\jKث=0?1$Fi23r|KTDd N;)-x'5!' &&î;SuնA\m@~fwR]\mrLH% NCh̩:p p휍) b@@f{ٺ P|IA7}/zj}*La.HgrbC/}# A1ѐq[T|0)^ԡ?Br %`&_f-tpIH 2m#$`&zݏ\>Ӗ2Y4pGߧ];BIۊHsfJQubQe H)e}"RǶ 4pEEJɛ:*HS=;SI9}JF. mUQ(+FȕNĀRX,d=.ݵ| pzwܚMgMpL饄0mm#-cXtt> lwW9Ԩ1(8( Skk3?MʫE]<l9T_UD |HS{1ҿ$ٌ ϗ)tJC +k%}j 12TtfxI E+pmc ?JLW$-{/ߡ=Nk4ZXT~<_5:{lB=eXǚr'p`n!{nGbRۈ񒒭KEc;g[R{vˡDMd~6=GCktjܰm|hJQy(Zm3bnXjl#2W.վ#^M!<8Q M.Fкf?ejȣ% Ƚ [)Y0̆pJcP@NB\S,t:`|~O/#*AZ>gpl;؏<V 0.Uj3wy {P/I_28^!89}i7lM_[rܫ>:eѣbpAd8x nF.r9X<_;؂83rgw,n9e+Mx3ybUNH$S,"E:R+!OJB\{[FubLFhВf.72 #3]x*7[g_6+_Fq:m?YGuL@#(d8?frCS Uu.3J(,S[m$Zh:\\7]fi`9l@A2.-˝KD hO$r",Mˉ_5TY[Q?tKB"r[,#G0&' v`-X%΋N#"TJF8@¥HYQ7OV6p@Cr}kn1,NyWtH #MÆ~TozRтm뺆4Ps<=҇d`a ܿrצP߳1h7笯H+Y%=@`rP4p%}nא19/06y3>)iBOeVī"a^nS>։_ ? *F X\Kxɶ6kvӨTJg )e]ٞiD!p{O\"Џ z)\Ro*O>Ye%BA,ED4:(5^R 5Ozs'$ڇdbly0^\|"ځݡ#Gx^Pqds4Xeŏ Y@AAo'P0!eG@#LCou">.En:4o%/lI!]%W)U8^$U)%b5{8$cbj.UGJ55(PV<|w(3 PC޲>KHVj */Y*$;Qi?[ZgO')ed2e"S^_ť!A ;Tb&Ǐs^!MјW 9;Y1Sȇ`#p@L y,φ.m{suJgϹ~B[!aA&cuk25@PFڇ&oh8ŇɧBmL\>f_dN,%]5倂圡לQTK69YHѤ&8 + & %`6H8wlIԙ[EWN;ͦFѤ.`pnkĢdF¢g}GIB%-OsJPƄʜCc(X> cnUqr_F oo_]DۍBIO9aQA/ѱi6`p|e^,YfA~Cګ|(y#*)IshZafIKm-eZ57JWcK%zr?+JQ3`:ɰVz= R]:(6@ 9x*L'-d¸שpX+Y:K9*w+:D[OC䄠ɢ\s,u _ە@rt} eׇر32pzV쎂A " mG5=Z`wbM9 >B8XU-e+!/^~|.mqsxKDMI|QlZ v.H8 Ic|V})3څpOL;;PECRJ>H%\̵ DeJ1Pe'5#?)-徟}uD]8WCvz\xCc]ªp DuJ4 cp5-(.Iq'1as\.ed!\8Ч ˱\~:y?٘Sl/P-&&K->@{.F\5w?,yi ,:(19P=bTJW;N1neAgYfEPMo'0LM&6r!A}g )0K}OXUițy9iOW(s})zVƎzLA:(}-DFAYM`TOHpqM97&C]0I"&aH'39AuR5eVe>} \?ΥGYA[0t`Lv"3XpƯ1&2o a>?yu0[M/Jo-{ЖPJ+,Ǝ#pKxa('\C5n0Y. +l7T^c "zbթYt6reS]TpFN_6e!|Kx]rnFf5 uI Kޤ K-fXߙЉS"|bD"˸4cy&sW1;{9bV_ӾfqE!רkUx& _01~>k|'Ao;eߟfx%ڨH k ~N.i ګçYz/X&ߎ 2P/V/D" `3Kړ~>r7K,"3-*6[Eikw,j_2F?n> \bO%`I!O3A !OGzu}Ns=n7bVR'03s׿̗M$և k{I]%d;J<`ZGcm Eb)Ѷ蛱QM춴lYB Y+ 5+G[z&)ev2|GHOHen48Ypώ2=m8AqhHk;#ԷMaFى ť|Op/rYyd[&N~H\L~iPRhTXmmӅ'I^>XK5*O*Zۡ>gf9'deh-yuҸrev{6/ A7S M,t6d9w#H872|t Fq d5q0)cIprZS`[~"ý%_NMŏfB';.U:t}) rb.W>V>zӹE{|4TB5PtfȒ,RwWZb"3DϫDڜ&D/+zg?cyF#6ÕHpɫc[2Ѓ%9@Va'6R>?Wrrv:}<{$z{.#W'8D!9-BYCzZTތ'ed<|&X7#YpH HOLqm$f0_KxYCŝ]p[BtBs)OLxQ ZLa0=eMn5peB8놅~N_<.$F0'wu)B@sȽjy 9>ʙNgR{`)e5hI+iq{gC7xz4G\- 90-isZCAC$׭Fzi\A?ORv];Yɼ6AaO1g;{,b_-%5MB)2#<ق k'dXUZ{lD1)25v#?b]xM%ѬsŢ ɊY&nD+˲MfܯC X' ޗgA (I*:(Kqm:m~Ԡ}#tBK .He#RczG|m$yBj845#մ#fw }{&Y]Wj0W HcVߑqG-|pv!WhRԱp=ֻ +jփ}MY)@V0~h yPd?\@WW75p@1uDβ 23,۸3XJ&L2U:~:;fC sTR q2F%#cagf]1CQv9;gh0O\S>d׋g;iI6quh#q+]44cf_Cmn97!Zo{Ȕ`Y6nV#5TLt?};In'Ig.m3,[!fEm7ӮIg=XK #$ݏ2޾jq)6G|nߓξYڢe`gd! fAdynߙg;$XV]?* y (~00??9ۦ3|cx6CGɊQ+h`xы!~\UToro/@\g.~XNjcOMJ%?=b(`ꇠpYyXhC4\de'ڳZ52Y6m5.V`PT7@o%:4俁l.7;>Cy2vvHYDu9iέ ^̷Q 4X+o8 :7pث7i wW[w;48]نxyEw%ZvJf Vm x^`E!;WS%枽ݚA9~#6d4@"=Y&WJfOW·0 l%.}0 a xӕKʊ}EiJĈlgL6*g5i1ḝD|I8z K,߮ߞW~ɂeow퐄=terrC-cfsLUjF ofckZ~}طb@j t`CV}ڛ5J/3aR<ίETݭR S^[{Itzվ)_xWƠ @fd;*4 X<4B/&vЖ p)ygpɞ8SJK¤o!97*VuWI5خy+]|#h범Ν@PVR=R0q堊kӊ6: @ߩ$1LZaa/Ǜ ٬%l4y-/@Alg}tc8&Pw6X-sW3XQ$0~Lhta g39o,%=ĵNJh=l43Jze){q~ʺfU5u$NČg FrfUiz9DlsrL!:D Qճ~[W;3mY"O @Aϼz _¾Cg9JLCC y&-4%ߌWG뇶*rp@ƯSG\(-{9Qs%JcЀ%x m_/UK)tL:4Ώ,/W4 #o:0 ДemU|IS懐*AI"5Gc!l ς8.)Wypon=˶EX3U}pʹW%B! +B0+`mr x'V ڽ̹?-sw\vm-T~>+Hp zkB4knJBo!/#*$ bnIJURy{dƌxAIE7`LcQu!O -6:;8Fb {J=|lX6d qMƒGߤ&;W_=fWEt}t|h**@N j)eRMk4L@ĞJ6E5<9}O( tQ˘ZpCzQblokDX$Vy. {PK!ZZ?8iY cASŖ(yEqpXThЖzy.Q`R"k>h˹Pd穠'w+n8s ƫ@%>/@ Յ$-M:nJLjrK̮g!fĉrs>UO91\{sXWr1'i^kOಓpF?HQ ,st/O( f3t: uŪ721:w!<+Ѯ' p!&>&c 9u+*3*풵f$ ]qkn䪮JV`m+"%!fItp>ueUu+f ˶_?3rӒh-<8ѥ _]ImmU36 ~2t;$W"2SO*;By3]C. QOYISag|.We9\_|/13mT9_P0Ll~eoR5R%4>d9 eY$%C+58Ղ3s{;TC*2 ^֎Kلe,, \<59=1_F0[pxV}`Nn㏏AЂdz,X!m(4VK?S#A) 4˒-OqGPpzy %0݌,'!W7=< '&WI>fZQƼBg:DКMPCEV r2?)cݳ  9/(G_;I .8{釒b+a> &(FƎY yoTEAR4 k_(.ir xw^ KtujZ;՟o$V{A*%XĢ|\ m .BheCˮ#⠼r |}Zo>|3xp:%\tT%y@@Ze˗afچ_6@n<E1z4zL6WWn'UN@+%H&N#Cc*w(q;R/̳ |U>]GȮTξĵP\L$dUiX  ?"|~?j_fqM:FX%l93EKoz@<},/ >B;)yg#u;Y)3!}iVWEse †6nY}BadVNꗔ^_,4,SM¨.9I | oc6BCڰiij|qtSKv0U}gu ߭e[vw+$)v$Ka.W-;ϳ‘uHoiy ^ClhWE,=-{zeN@d,6-"811q U&,L!dh'Hȇ9ߪj[!։z{j;<%v䙉%i$no~;U^ךq iPvź!S sN/sWRP5C;<|ol>Aї̍hsAqfpQ>o\RsE޶3&PLWUW zΑ7ސ:<0$ξrLdF=I^mk};9`CA_pvPB^CcՆG?Tg|BA*zEA7PGBP7˃5шr=kJf󵍳<תWfkunU*Ċ馴28Mc'DM7s /E X^jicr$Pkp/r4̞~a @9 gSf&g\-[)~xlp%f^Rk=$ x*Zy>65~0Iw۶CPmaVǭ!$e B ClߝS ;=']IUP^B Cڷ;9ӥgqc6Y@!1?ݨ/%]F63/y`PwIq0E!;=Uv@ n1 v[l3VŸg,j}{ʯ{L\[:ТM,dh{GN"+%+(~ #V-lQi mXfnڎ!?++#@siK_D:R6)G~+T sd>pwї6SgQa( k@ pLeΦ{䠶?%>#e!>$$m|n5J7Ovz:J?y6a3RYIWC;a%k!0sDDP kQhh&<]3)?Ve #nG6Q)bd ĽB183IZ6]j|# Gekrc:[P=gtþPMJ e Hj/LS?C;Ml8Lfւ+2,`Hkd( IQYwI}-2`|be& dkbz9ljgjwAO vk<[F_$OJ f{M!ϟ_n#=5̢$jΡ>j5,kQ4kbр/,ĝJª-1 uāԈ)#A|oV|C4 GGyJ2@<0_8"umԩro/ejz >_[ (3 D/l,Jpy  H@y*l]@nSTO< En wmuf=vO!*A)CWg:ʹDOs= MU`%/vVmGNfna3Ldi뮧E]sms8QϦFg u=fSZC,fSj;ZkG?+ [hBTX7]AشXBͯ7ˇsyt+ *$Nj3NE> HswAڇ665IO2J%x}?DZ䀃]L0dd`lBv Đvf4O鐖]3Wǘ]@Iu(qh"dhC^9Y rTLKqYA7?L9&o2QdXn Tb8hFh6Hfq ;`g%AB3Msm]mHNMI3bQٿ(߶\)Q rE^Qy2e Y%)k7l-/vRRRڱ (sq+BC1;[ಹ{0 ,f *{3or>7U)b_Qw}PsW8EgHzP.i9aOH2CJj$)>fW=2(J9D"BYSdB;v(MaYcj6֩!`=,D]0]먼Q\+7U^d:J@!AH8ϭ_-$7ivoƥrmw֗jBѡ^[>>EcJFfg/R$erP0⌶n^\4C,[" L l~5Ӯsq+=?mc[;$1~>4msZaO92@%QgOi;b>qT!N% c왽xQ'c#/nCFE? WPfd}ՆulyN N+2C Nm6ќ|gW?/fy:Qck[Qq],QBйtXhAn`u-w+K+k)$bk t᫏`/7 csukIBn·o?1·V}?۴BtGnrAi_*o;IѴO-) ᒯHҘ8MT;?Oz-Ksi~[9Z8OZ$ q!"^D)`y$ɃZ 0 K8]NV^`h6$K_&c FM;7jvf.Q594{$x;Gl1]f;#e>ʰ\UZ7ۛa5}Lcm![گ^Xرui]F0/E23vg&#LW̓{QsuH\TׅcY&_"K.87U$;s5kpr)@Z50si0csǤd8ء*V q+HR^ *ݾYm~08e.J@SD"Y6{ x7pj 搤鸧:ݞe :XJK9f[c^B%Eˠ4|=T5ӑuMBOA, u4F}B\P&"/NTQ01*KfB֡i5~,X}fIٳ _dcz(@, ZSbJ <̅lu6Pn,;x<^E~62~b_[B7_o%b-F7KVJ6;dEvV? {h-TڒR.E,ö_$xy[Sg@H]B1imܭ7?ã(f{b_vӞߦJP6MssIEOHQAN_TyiF#A_Fn}>rRD=@p`b%?\JyYפяs O")&Zw><ڟEsvca8&JX=e)7IpXyz~OxJ:h*1wB+;_IPRtQxU!QGTYD侤-±,feUu6 zegF 9.RGM|U y\QZSKTb@ Sɕ|B(B,#LRŰ[B]vl۪%"4OC6K"uZVY]yEtTpZ|V+Xp_[-{;J6[ÇrZg %>&kr!8kkRq@'0gPGޗ\[%,"w^,˞G*xۭ2<}zc.Wi%wjJ\3SKtJSn1Jh6I6j 㕫-F3|f?3c^Ioʎ*ӹۏgLKWw=*՚UpCK O h ,~ݗ?pGZ͋D Iy K7Y1X^kvs/9|ؑ!W9?g8qVq\y%"^*$[E.o!+w? hꌧm&sFbsB˜e0KpvKoVeBoD_0@*ڡD>7|HBBzHIX{^~34|Sp#+ !x&DK,aHsC=[;[s@˄s!Df c *"%ҖitAD1Ip2n(9m䑜#!I@rj\ⱛT/:Z iz;笝?l+ףz݇~zgbP?MޯlL91x Nč1nv`9U {l&Lp@ب텯|n!bnZGGG[M-<c3ejMGv{|1a#"QcS1&NW,Õrb̭;BmJuzSBl_@ft m&2%d.QQ]N7EД"RtCPiD]S1VYE ڇ!)?J1hPH:7 3p„hP1H*T$Ky35#k.4Q쾓/p3(kޚU;2/\艘u0,?ù㚯DQ:I,`* B9;=EEX`s) x#x$F)=~q cXԓyk0(8A&PCfњ i QJ' IȓNj%K7Ud Zl==iI]I'ɥTؔ 9P]!7^_LKFOt~A6ebUfxAADƀ-P2MUQ;UB%ɯ^™mBN7X:qA&\AE57u&Nfvi6E2OFxEP9jZbv70؏4!tEu*+ooaN 91uH~gcU*_z-)i\*cߘ'V7A_Z rciB< %F"|K5Lq?D<_l{VN5NֆL嵸nGQ֕Kt.U]M\s_[ @ W$1;K4<6W&8h Er XZ7F}CNhB&1Č-V E3΁9>dY\jXAAy7B\J:5? [S62\rn&?J=00~W(Ω+Yg잀/] 4UAjx';C9̥ E L[Y/z:2QN ;%8Dz"shWkJhy5)Q^aC TϽq'r%Uv/.<+Cldiw*LR<KB7FUm ^ՋT"cZN6AE,gn$ > ci3#(˲MM@L@w0YeSEUX ')@PTɹmo25 4:ȨtV<=Vϝ~ShSX .hZN;JɴohW`'PWplGc**=I)v8۞꟪}vG29Эe+u%R.[!8u,~maǀݻq!v Q߇osX#r3U[VNǽ*'eC5_Ȓǭ@GS2r`0@cg{&:t0&Ŝ>XȀߣ aTx\A[3 A²1ztp+k(>siSmjre-v# ]s?]+ +gt3Zo8!b5`${i+:X&FqD$bBy6IiU.;cߠE('b2#V" pbV<{?%~1Yg"\֊V@,C>Mĩk3d!%~ ym Q#w㱫>! H 'j V*2Z`o&Hqr3Ӭ p@Dh:,vpc ˫ 這G1X^ЙGYL-;%4_'WZ'<_B'̺W%|Ns&MkKJ D+Ew>S_@;Y+ҼsRط")Mx2lǑtks)0 KM%sowE~v:ir,հN"JWШ?yrBUJ&ImU,]LL)l/KKtz&֘{$TZZ3loq`ԔU2KK:H鱺9LdMdeh2M\laDPaی5eHLw8Oyo+W5C 5?zro DDw/ڝ_?0B54{8G~:i!4-3vZX`g>يI9$78GMt!g*쪓ćьX=ZV[AŪDDFK'5iZ!t.ԯHc U&8S߈<0R sMBykCnfb[Hp蔁/@Θ?;v.u7F9Q.i.Φau#}2C#*Z"]?Hsg1Fogn!?ojLuvosztО݀Gcz#!psPi-Id9*(9BLBP8 ЇSSJi1'C;5V%'_"Q'Z&2$?4;AzV0k0A1y5K^u;T]'[W%!Q";vrSa(9è4cs3(HN(?eEʜ̤mmM0–)DeKH@/H,੥ĦJ@zxc7E4vD$p6  2{:HS@4ܮQ8QDP S 4ÔC,w-i%½\||ǻ#4H@=FՓ8ζ\)-̤h{JMrX C(Pnm*=Ɗ={Bb4C|Pl#CpL\*GOM8'nXDmC+hdwj} r^IpΘC"1% /JN}΢AS;J3#YMܕeGq6$I0 O78K7&[1N:. ؟3f.5)5 <6mOGk>q&xѼ_ E }-}1n=܈pi"(kum<6O/g7yF Y(ٿr^ˌOAҁ]go[׀ʎ.mKy#~ng_^a@Ru3'~.:uE}As4z7{i1+*y]$+1㖩`(͞Χ+C.@CfuMXHqzRC7e}rk;J/b)kJqe6&i)t.I_tҧl }Ń=f1&y b&}VGX훨Fp3p5\ sN\`b Oa _4=|fOgӤ)1aB%ChMcE= v")mӼxm1Qf" k'Tf(X1`y׭ΙpGn#Eۥ%+9΅Qn=.}`jճ|L;o"Y4Y0>Ĝ,@f_u֊ؘ7NnoM?-d}'VT32RCӏDw# .f+:%7JU)'ěnԹ4n߄X Y 8щl/B@'Aq_1p ),(L bͺ"aUQ%`|t45ٝL6.ỏA*w~?X/{$/ά:nA/@J]=d2Hx31lzU% X$|7 WVgc XVaA֝H ;MaWbQ3+#]k8ǬӘBJa&|=2V#gUUT" hP3,)h/s,ְ:K1y1t$I+FފK[ ʠd'eYvM [A Tl|E8]N+(V%-vC{{@P_3=2y&$;1ۘ#ui А #0P&4SQ4bT#ʙ}MzrB#9N7륆H`,13Ա; =ZhIEoU^AE#-DqkEW̿s3!G:ʊpWܲ)OYgh\+ e{t84Õ<\n_:, Ju#DiuJ3^@[I~H(]pG - cgG{tFUSz!y₫c[m2 l'ȍo]L@AaoWϷFQe#wUH ;2 S|>Urmfq bj]ܐҬC/ ' hYAҽEcg_j;N TQ5+O]R .v4Iv3AWcGm':bɧ"*9I=2/uXb<(pCp]v}55{}]NG<9}xS<57'>NScP)Gzm7 `}Yf2yq|4;[l2-w^GVIJ.:pIm DDt h|޵@<zj+3lfuʃ!*`761zR: xWw:ExكWXֶnՋ>k_.!Xn;a S++jMs雍!\9 t*^_4TaOYQ6n)}nj TY-KWHmլV2~(C5a MP}o , 'SYAj{dRw6߅N=k1l-yt}Ȳ?IM`rV jNZE "g% 1< >_y(𣐀#IFc)&<V?v\hw8L*OB%qn}ue%[~{v%3CР#w~x >Xuv|yqB(TsRԁg;MWΊ`LG3E9p@Ӊ50cxܛ.|wW؊6W vM—jl&$nG u. 'Ljj~.hV.e604LJ3-">Io#YAcy\5tЛ1Aʊ-+^l?{|\ѹMթ*L- j:`NSK"Ű Ga*SpC7ǟ U_2#AA)Si󠧆 \%eY𬞨xs]Aae)a=#9Z$T18/sڰ~wcʦ5Tʝ.mCϝQ11Js7d'L˥KQ#Hc16l4Gs1 ހ4Ј~̇_Լ(! a'Cǐwy:*.{3h1 1 4(*u8۔1-(h]Z}ljgU%*G.ζtDEM8E2\JZpo=FȪXɗSe2q.c,;_$Q d=x@R#-Deqk 8t{ Vv6h4\YtݨB.6\T4iO"6'*G'[شl VQ!cRvhW4+VĽE_:iLm.)] aСfq-|DMVJe3=R2%oq):]ȪlG2K:k "gĊ!'T7gdU[2h&9bG:I A ;+I$@pH1R_J2W`B}|V(kH0mǚxB΅B=U2K?!$rZC>|?=EC ;NQHl?EBBO̹9gml]CCE q~w5KO,98@ {GjĻ4;&3-~5ƫ^ >&23Q',=%f/ !"w*(΢P!%Ji֘sᖵ)<.1˿3qw8Ul>hI(fh^QUiȨQcÑ:%aUhmb. ُۧ((tz(!+G_ɟeU"'v|w;x4 A2l=5^ǰHaØ-XI[9K*p|7OXZDPt¼q%^Q_~~^PMrG- Eb//]r,M8(z|yV ̎x |թ`--H^co^qVk%at&Ux(xIr]N#iBzMZ1mB}O@[.hA}f_ nɺ8ǶwCLt!W@HupRW},2fYI쪍76V~y:3mI;Dpy[F 9x# L9U F(0: Dښn4 YBi);HYV$&dg㫹ۙw rlIY-14 5'g|i/zYw*㟽1G7$tE;m?QY5=):fƾtg̮2h+\\?n.`0 ވ汬Ity4osoH}J-{eIkIdϋ"eQCr%eTLD(|_(Z:>NgI cQ0w1 VH kǖ5g0Ŧ_Z%.~)\1󅃧?yĜ>;Y5{z!d:c!AmVN&HXS9-~%+v %+0l2ED,b1N¾HW0LF\C %FsiߑhP/GO)`̥X'C> [U[ 'TyKm~;§~7)U^Ȩ;~"-k/!b |VwYfRgoL{C/3_?y:MH|问tfqD<`b O~hU ;![Ҽ6W=BxG%_5\=E3Uhnvt 5 $H%j' ;߈yh)˗w}3r;ځX}gh,."sfkU4C8 lD <@rx&>WjX-% QJZyoLCS0$Čv7(2l5ӹ'TGXMZK;yŻm.zL %_]lC){yҨ`w@O)gv/9sG4 %O<Z1mבzjURhm R|ӛ_oC@iELM(u} :xo3+'ĖbKJD#VtsY\> Y٪p(j[PLKGFJG^isܫRͿ ~,IC3́o]$S׍ jA&VLϏmVMKm!8 1 Kzo:!d^I,cSx$q%硉`;cZIw||T"Sorյ*xoS9fe" gP`טWjD$F&VZ%Dc~zVVL $ R}*su8`wrz dԋ P7(Gxc`=Iodeu0Uۅ_1] =2y~'iHC1]s c^!H>{A.y9(Adv0L!*Y v9φ{طېvn(y<߰,Z P)r6aJՕ:}?'R.rĈ x;UKd}@  !9tPZk ՝5 ecI=+PqP{7DTz'^mU cТC]DRTh8wcVN&}rN GJ_g==~O^xpϳՄ$EVGr4Ӭ?j*LM+I԰x9)j^p6h+@.#})3 gg>)8mUUK%6z·NI)u,<3b5k3 r{52?41ֳוP_Xf|3]*-ֿ1eW _Ȩep]%iؾ .jo{x&OA?iPo`S;2 r3@䚿bCcpeaTrW>+S2,6=Ʌsi6JMA[MD:3Nl/w0t-o'7]Z#0,@n#K &ʿѷPN-R"8E< yp +Gd.wW۲KRb@`Llh `Fi/Tz%t`IWΆx4v~]'a^TP7hS^dN?[S^_R;jOrȫb^Ch_ų53w*ʼ^CUµ$ ;,XoQ$nXO-Цi027tYs p62GëT4 +^VGtb-ATQ rG5ڕhXv \L꒥lXY5u0rҘR:b]ſD}!LM n;^EӬ YpH^.rU&_I`;X~7gHwzZ1H,1jWW5$X#6L Sj kYMeF ۷@-ˆ8[xsߊ#i/f1:{Q HyumWUd:Vn4FYWqkEe>voDֲIV>׀=5rIXFEӛ½< ]85km`baB:m(!1_&i#%HhBbl!Wicia$NӿZPʂɔCcAuKĺN]CS5CU~*Ha֛bWo+f+ 6~1خ>nV]xaCx͏o]u؍5 g.3жw% 5~}4%\xjOMiNHllRE$ 4r{UyF'!~*:yQ-B8c{*a/ԕMM<#J%N$`w8՘"W^܏ %s-e閔Tc5,]O.\a\u1tE8f-uj^ Šo-w"3PA\"m3agdpS^p>.WB(\E8}͝(~vCs0ёo&e+dTÚ\t NRQ~4YQw;WV1Gx u wvNh^L)[1k[VD"V`ACI MGyMc /O*<#9V?x^D]_<9#D7,4uމY䂵)}N,p|-V]w9+A diqPf ~Tw^a;waYM@NB. Qt +-AV0Pb(:FUCF"]zvTUWvn!Tbz!;cV0Y1nDuynsc^ w WxUΈ44])g'A͠C@շI"Uf`8ұ•]"9|]q)آ()’<WJuJdSȂH+}W3Z}7{TPt$h_c\ zw9#9ec|)Oc_bTEeDUb\Wk gM0yE) TP2 LE__ČsoaN-ŁGz$ت!$9{bYSӕgWW?ר]Ѓw3ΗP D%ّFT^JNtOxQtk9F]G[Bxi}N%? y^' IZ̩4@>Ċؠ,!ٻ 8.;ҷ蔮X&'SCZiqh41E1϶Ej*9WU8\K IJ*0jʈ}[9òc(ÙOoRm%|Ө5mlFc#d~=v4LRX7-= WWeFƂ \Y 'Ǫg @D;ճ(%Nmvqt.[DR_ $q^഼xDcM MZZ(آ30`{'XgI0@t)~>ڿ A[aF֕()Cqp~saz2c:I܌bܥ2^B?9ETc}4W .J c#d̉0y6m1hl!!odƹ+E|ipͩC.,~aJd{j= ey9(noE)^6yr$8m+[m?mJhPK " Ԉ. &QOWXvFϭQdAwBlW k5Rt^Q^^E<#mzE l6'jhYXnX@Ҙ}2B|Cz \pw^W-0n6\}ZG߯ 9Z`smeۥZ&1/>s#V[R憲ߐ`ON-aRSɷƩ~ZG%⫱2c~?)S}! hՍ~LCR/`^Z;dE-Oy+@ Xּ*DM<w\AEgK[9˹7D?cd'`19+f/-j";}Y7 '+h+0Rtʑy/+?/ud\V<ݝ0I5@9"LsnD11rh%Ɲ|4҈RgMG 7 U !km (]FDfEهi8j zcQPlÞrc!.s?:>‚IlAOf =/łu "3X\[r`Bsrpu[ d_sx}NnFK+tl~_}Dy<ߐ=Kt ک9j E|ϖ]bpa FmZk2,\Adg&n W&ڗ[̦Ur7׆T&96UK83`;@[cCʮm9_g@LGxNJvk(JY" jʷ2m^ob3ۻ Vh٫yUuNXՐ]^8'4y,{zeR/ L5H9Ьd ]cف3%WZ `t9ه[^GNzX{;\n< Ɂ֖P(&I B\&1:r+*$%rvI>丑_n ZGAQj,8r4}J"R Jp Y`HgBng~87@#/V $o@>5Vڌ3EG2w(D"Ak߄W?&]-эt * ;׾0|Xƒ<= 2q.XLX’aFT+W>WkL{2]0.PSLr5>Qk \~ghV!e!!\LA!ԝ<z}@nM`@([ƽ8^~.6CG K痨)I…e~Z%oMFptg8]}uIy\/yNڪ@XEus 7F)lo叜uT׭'Y@Me lpRh'AJ:m ^(IqbGBPHkJW LRյ)%3VqrU3cC{׾,} qI=_`-nH liAkY夔lqfg}/lS 'Va''+ͲG)Vjq T2Ri|Ķ6 Gv~?,-u-N+MZXKLSսL)w먮B/t6׮[Sc<(?͗< MQ>9a9OFĉ/'⨽tkfzY [ NUgeLp 3Xp<R8h7l_6C&pz)b>O.HіG 5Vf㰒S<>utjk۞ʼn,5bV(k ra}eظbBm 4Hxm7h]6䒭{&xlɃi ;9aa{媖bk/]v( I C N0^ڬΫ "Q)g lAuR 0R q"Ш2BAz-qk^y6~UTyOf;ĸQW/}MfmZ3Zϒ;.JbϠA#!ؖgCm{;Pk6>QH& =|E)4E٥+x7x8 w1an.܃( 5zYR@W:-k=ThrCWm^r 5`A**yr hKAڠ7SɅ"O>\NU;ٿ-ERҌخhK;y8ǼK7/ia@#J3ӶL4G[DjN?vð&Hpg -V[4&.l6d5!#C$t3#Ha>##QgFZ2Jq7'9/4F9p5BNY`87&Eft!(yfL@-x`anNmX\fAy 6o F0[wDYLzfף"GaGA"k@?16ItqP`G]G ;mJA ,!u_U~c{@e;Ďٛ"PڝJxTl_u1k:<їYP?]30IW*4Ohկ^jaw S eyLePowzO]ᓮ,hzE ߖp޻I9(n;z p6JsL0H6EHc9lšrL`3??ud('9Ϭԡ56Z;%rX7g'>[qQ7'JR;\&7t+Ϲ/ontK+4&Ŋc蠂#v9c?< gpZ<*}a'lن"b>7%aTi$, DHR@4 4QӸX%t+%Fe-s"iŷ]~Jn#P[T<~%5T)=PPb'*S_n1 ˇB Qqpm82FXa1t c@bԖWT&?]V+ͨap}7 {ձT9jގfpi^<,;~*$~RK-өo:|.Q؁`nRe]@*v3 }kՀ262sPW!/JqW$~pέ.;f]6h֯K$b;.zs !d /,Ɂz2ƶ>K*]HTʕHb2D2x@0!}t|xw]IT98~\ʼnRB|S @!V:br{R=d-5_ѣFl)n~jXP7}I i RbzU@\T԰ HRe@gK RZ!KR 'VS"[]5kr ƩxC>J>X`)&$ ׿`'z'(Z6>fvħy0񙰳Sg!ʠE YH[qJO Z赝L.?4MAig)n.J#~ uaqS8.\)`j;#Pi/bi$)Ki7N_Bey )ٝf:rΥ5jbDi  ɖ"1:tptlP =@R1L5,h4έvLyKדp G&q#1 a뻭 ˾8c61a$I9[o9G2cP"zdƆ:dc{m=eN].~cغ?29dZO^ޞ[2}٢.% vhE D"|,<2,@yBWD"ɨ}c[!ZugBjQsVgv- -t~aKAfJ>;ǡBO}JMAe=54KjZ 2vo JisRJ A?~Pwؘy!lChNDLȢs!Y'}y)g9z绩՘r !gۖ $  J%/ՋD6ཡQ?V%FWòAIXg-DMDZPD-rδ_֭A [%d'6soWȲjEI}#(bu `4߈p[Lem.3Ljaxhۏan N}oltP:K)- pD[7dͳ61K;§F7N}?!F=@!2]G?gV[>HHv6D_iDX%4 #KWK"yP[:S@ǷEjWF6 $t) N]zMEf]/dĿ:O"!-#$Oɾ"MO,(wO '/-Dº7P* ljU߲"ZOuCY Lh nyQ#l3˾K >*Vu%W Tmߵ}PhSMŢt\+;*3 jI>,w>(5u ^_-aiK9̿³Q'X1FJ;)>5#񳜒#3NO9D3 ٥_Q?v_*dy|Xk{;r}~3҉ 3UI5]zɼ&[.Z!=͵H \ZQ%Jl>\;4ȃ25ZgV.PKJۇ#@jM'ZC#Pu9hͪjҫ)`!]y R%oI#|%琘/}2@LX74q=bD-(x,^ׁ)ObwҬ cqbnļ>ɸnFVv6f=M`BC,!m(ц;qߍxؙN}{"I^{6٘aoy"󴤘MY^3Pgo6v'8ۈOV,K*:{NDS -YS@a,%;(9:]*j9>dݢVvk1ağAɫ:Wݏ֨n Y {͑I8onK8f>3t| pGY*qpinOP3_d\:IXE)$9=zEnG-pD ; 8%?ջ T8%H іeCj<̢%q$_c3ײspݢ-v}6sW8 #:1hc5k .]*'9{t,2D6S<}111ZNK< ?[m[ad!mysuɟڹH!?bkRn[W;h6 ~ZTc7"G/6޾+wԬԵR鸂(1vgqrF_[5kHM:% Y-e?`?jW _r*Mc#G_0X;^.Ze.-r8瞑& wSf e-ꡛA}H(\@P|.P= UY)= R\n ,@9 gTLI><ф@@I9a8f?4AŐLQ#%EW$6Pۘ [ `E$,QnYʹ8`Iˇ!$/.<ˁOٵ96}ohEj_)F{Zfq"bz!EEnwYG=pۆ s93aĉ >|~|X"җڰ_o <"B ayvF6]P`n{j6eu 7e++a٨Q%3(t`C}\M3W i3WM|N t 6 %ލ fG҄f!t:Au%Hpd|BT,]`~Ju#\_6?wLE\4Nu\N%<%lt4ړÚbNpOV>RvsWJi]M^a@t9W P,BP{I@tيXM 517_Lb/LB^][Sbx9d[es# A]MфW;G)yzߔb+yCO~-mYBFZe-rÌ0mƮ-75*(zj%XoR2{K'ILT/W+AT/+){oR MWW\>PiVU)0<-"Aߜ@ ̑HBmMa'yT0mdt'B'Tlu1К!Q}<-Fu- ocipz閦.\k~QNPyP_A_iCY* wͮ(6Mte^@xOq3Z*tfY;RlGgRk|N0/0$6SCtb*fuؾQF`p[VKcҲRwK8XmEX7bi{ 2VE:N6[Wr (mw:׭im`] WbǴܓ-. 4 DX1VHN`3tbz4E0}Sv+4cL{8٥8T}S=Ȩ4FYKA@jNV~ K%)/' +;l9Ǝyo-@ n88g^1.d]c*;.BCB~=׸\7c[m: "V~=Zl!=d~g͘& RB"1nZ=pWk>:0>jLGE ٴ[e1&'2c3 *ь4>:wrK!.+g U+Vt|׵= A\)!+1"LD&7Y-Y,is/\̈́ km mfE;%GU;9Vah:i)2<{İo>ŀrb}SP_ΥtY-^13h MG{l*;+:YwZDS_:YhZ?~@c9ݤq !5"tC(W٧VNs"☱h$)`H*m5wƽؒŨbNj u[7Di%hHNw(үށ7&u&=[{qwI)ͺ7k qT΋1e|p(.6/$8I# M2M;)hTbeOne<-~X]}AOMkh&s -I!EY(#s 1= $4kJ,FKBG7'pYDȓ 99Hgu뱜oŦ B 3OQ%xo{:QyESP|>V9&`~E [HmM8+!rj6 DZ&#o}Z59(#d+@辙n%5Cߢ">/AUolVbޢ #;)a END Iz@pMFskQi4B:gTguupisͣzTO,RI+Ҋv*C͏B%;N\E*M?o/ HU>.s^7DuJ"c,y&|-u6S! UUJ{ |Ӧe;RSp;cP*f  S0b`|^>[!s}&"O %8+$808(%fE@5tǨAG۳X1E:6H౻c̳b$Js%_-*H5 [Q6Ù4öBN0pĦ<šy>v_T,6KoM 3 qB]:& ͣUFݱET9{ўMWYk#),Wbn$ }@;\ m Zז6~:M3OxՉW컢B_Cɗ!hYcKs, ס% ?sQap{q@AP h &fm"{5~- r2cJ?Ê@/<>aBlE6l*9/0A\g?[Y uP6مE5i> A v&?m2Z_/]Vܹo"gF`ZSu\+>#5^!IH,oY~]P6=U4j.|6ۗ+p5.1a'4RB8]O{`Pgyn^5F3&Z~1*t7OTLcDwT僘fg &i5c YlH;g*Sy@ X'>\_N0q$ Né NȝYCQ J<}Sl)F =2^}q\Yd4xg8wWFSrjZﶋG`._#.9}%m(FK[W! x3EgFiΖ^nUhEi)Wc^Z?!XKp)TLkq䌂C2Y(8]I7cmMY|u73x 4o ˖_V<:h&z+§EM,¹6-C}CVߌzp_ۡ"rh6\j,0N9O(1IKO (IpKEeAOsQpj\ˆc֨~L-\onHAt.oQm[LFvoA0x-G;6gx2 u; [|T˦&c/8#:O&gKpo6D/eqwOAOカqӼx!oK7ZS+Μ`ŠN[hUXֲ^A^čro&@[GZ֡t21 ~YCWa8 ER&/!LD2+`}X̡6E> }镾yo>xG`pP Pf# sU :,!Oudʃ-&m&cj/3jfbtgEHIy:{vSUO{GNҸH)wR_ rrҲDc O])g iMՅGINztVn5)xWƵw̶{E wC5/LX/= prKăJYKiꈐ]BV~:_}h3ۡ~xT>/0'K!2 :ISԘv9B Vni^d*qC{+V̀Ϭ;(,n޵HN! ,K5t)y: t:1?,ULHr7ֵrz·h/7S4 6#)ucEKt(@>e6쫥(qjhd+jh }T?}]-(Fˍ/:znځJ!xEBsx 5Y\.X?Gbw% 08HhnMPG%D;v_89'rq@wK+ [ޥnTa|#:m!'f#bKX:]0I(3mib"Τ Hip .Lq4y!+\iO xB /"*-oDBMZ+%oMOonk^nO|۸NJcpRNqz9)@' ,db98{' M$m)u( )@> LF{MZ H0 W @?6ܧ7mL1pjL9I/ìHI jgn@rt#rD-'emٚ&ն6^ږI elbuy?PN:^f Qh6t_cQ*\Pf'9jp6xB])ZQ({S7ZKcszŴg𫆫|\HeW :0\ZaU|HmG.X0wY6s$sϓ@}8p}P1YFEnnoJA"3B/&Nbn:TF0p"7?h9+QC 5WoBE !A\}j>8tZ؎F({9=a*<нZ蓃@DAҠ}#fbBl@D/lౠl!rsR"4+*Z(O-~.nlS-}MI6-a䫅9tV[~nB90ȆwV-ݠs⩯HH=pДԛnbt06B3Cbgp,h `Poakɸh17<:jxivM鰼СɈm\yJUw#crFmA,Y@g@QeR^i Bk9ڽ?ṕ4>'b{W}G)6tOP;K_ ?W~X8%1Teu(f w3 B1_ŽA |inPVI`V0џ l'2Q̧1V9}yY kAds= E[Ym3fHݱ(@th sWy2 Qp/hx"tNoG0\D*@er>PmnB(-MD< I~Ncm{rL&)zbqș*? {YO!?A@? S,H'R\ &),ؒ9m02}5{FqaXy'eS4~}J57< ߸?CqEB. իUFVQޤ BH2Fip;\wkd0)~E}Y>7qg{Fk aJ>A Ѷ"ܹz~/aR5{ӖÉUiԂ6M"1`R&uS4$^J~PBbzB4DF+Z i˞E:\mnM(~&ǟ>̡G8{.¨sB裓RIHIQKI52NA> aY QnJ@i+΂ZQ\':hgZ^F,kO԰.?b1s!L|>qXpzXV f~y/)W$HUW:8,ժ+*϶L܈BCSVm K੻Uu%C΋/~!w\u!5# op8PxA(08(y\G;!^\9٢F!*@c#g?@<Ԙ )b F+bm* ,13Zg6k|XJ؊?RVEty:݆ g_s9z@i|Cz,;Dȝ4 dxA1#j԰4~WMCOoqihzF|Us{#@Q(I -jBk~S b[8? m2r1ST q VoВ]H6{pq7 댄ɄLo4KN8˾-g"^Ò~H]24dvUB<>&9.pTeOW6G;)yD~g!W8"c}2ޚ}_wp>2Xhkh!IXor&jȵID^qmct5(G{0M9:Umog9})JA|% ]l'&mG+NT` QW4Yʊ͟*B/˶X /P)P(ߗXMPGw"'N%{DJ;l#پ X}FM<VDk0S8'wGdE2_dZu*YzJfx6?4TIu'PEg\=_AEpSY{JjJ:Ix:O fKV|``aV׾Ov]L$+ZRH5Sh> }E!]4"I˚z=ӎagRBf@Br=sؚ7P;kXgkzDMzTH4>ٛٿgN]$NeTRYL[Z <}6JC6R[ ,Rڧ,-P(X>*x:P1EF5Tv ^0s'0V b&#U*tzȟrVOzcyH9p>v7$t~2{yv)Ncq9xUHFBe=RTaz%C};MC/W79dAG}׏˱S9A:LΟ^":xI6`U!1[ԡ9 v!b;b6IQ>hetP' :kQ66rfB_!1IW8c${OcHc:Ϥ%`t] wBYapcͱ}zoF8,U ,d*OLblBf/0]/|4g56Gj-eٶ.vDOq'vEmS 9cޗ`whTmn!w6iRdDOx^M~vNi@NF~&W]E DZgOfʞ]5i5@̠WY4OeC<âX QD:P}45VqSxDYbIΰQso $пZ끰,\P sʚion&ƞ~Ŀμgc| "w3^c?Yț,̅ROEM6b/g+Q*'a1h63鲕y4XݧnjwV-Dxa,^]os6\t k ѻɈe[¶O+w-M4R7$ÓW %e~jbwDPI#_ϙF]eti@]a0~f*KncB ,uI͠-5u3Xj G0Z%$a|M.İfaO TofƞazO2G#x8TQ8V:iwMb y٨0?EdPAkS|aǩ,NRMò?^e-8^ ti eŪ։_>%/J[c30~T̢=8+fKߒsN м@&ˍӗe!I7䛣ؔ,c %tr0;T4mk^G]~ߚ*5 >P:cp'Xm$rW]P'jc%cd:7/">}nQIY<蟦g[FxX;ZS!p%­OdH?$ࣔ<*w>}i8q`KVl8xt0H.~R2i"}SFWz# (u+IS ))Q}Pp̪^u (`l4pݔ~i][,(ԳXȏ] iWSA^#)GyYwFt5TG~8 v?H8`e c}z"x wX+C޽c6.ƫ0z,lmpfH~7-&wdk E|!- ֟ 1uL5߷r; 0oz$fTR䅇mSܧ:hv^.<+^JX=k}s!#fnP\~j)8"wC1_q']~/a$s%`{Mr֚v_1l=0Af`[xT5]vD85EOx;(XuԍeR_zξ?9ƇV9FZ y>+}g1'8mgLJ|oq% zwI!=RY@59a0g?B Gպ^T¡ŭJL|&cy Oڠs""+ϫHOYףtiq}u~caoAf/{xz0|?hQ 8-w?o U-eaVTVftB5>O) 9H624n^):"4WXzg91`(_|ZsXK6d[VɖnHF:=DqQ&X4h`b< o &^Mnzߚ&D棶=`>9kɋ f,au==#-Ph_ akoHU'CHN&mCMNN(bȩ89y0'ph$DXRI3$eH:}΍1ab#< ct`3[Lݪ-_t`TKَ)?G2s"X[u2aՐDՊivغ q ?gy 38"$*2o >N%&Bw}wcUB֔kVL[ه FK~_[ ܠA53Hl?~rHF:˼/%^ <*]^_jfDcLxE -D屝*Cu=fQQ.AnZس<^]qD_6TjJVsPg;ltLYW,=kJ{zDZ8fiGYsbswN(-%Y|܄uq( Os}vZd8#)nK#R+Ũ'4 J^9fMJW3^@|">?Sgm$r],R_r p3S \Xakhgc#TRCFGSE/+.}_pjl1eoCScJIp霭Rc^rE|_ C弄K0 $aǖ;{uYĚ<cNh})ŐEѷSQ9O|P0_sV^HF6dZxߣ2./Pp" }t><' @NuPKgsFګ~{C#X+ASϓ,D+`$BCtF'q`&g6c`D'YÊ^[$XE ;6BoZ}$a|̕xː;42#꯵ &HKcǖ<3YJ`d]&D!٨Et-wƎ7t7eD3,P[W"a!"z,EIit)syhpȰ'$ڐo N$`wLAضd+p7cN:>1;J9\ ^ZJudj^Zi>:FcvxAT _.R4뵱X_ڕOSt)2 6BXF= tz'JZ۪ud.QfJmo~m^wxJsC4HUl{y &^ }ʆ/kc5jPaWdDaXZ(,+}I'fg CWm)J#8Mfش.@ujYɵ@vCIr<Λ֢Q@8I+)f=l`7LlR+rYy2>J.Y-&Ew%JͰ`7v?b MfU%1Ƥ^C/m1\0Rk "|,5;A}ww@NҦ /v4j^+V@yZdbՁ ⦿@J30ҍ=篡K6F0V3!3ȳwcoI$0X9/25EjCO=R?eZk5;[-yEG;#ꔻϙ4GTO-p] J>6뛢l\> 5|6 $ t CNjUkJJco= 0aT\vOwO87Q vvʔQ.=06 :2ͬtCey`F Ą3iڎve& $OWL8ٺ?j}B,l_ӛ6@Z'/TX瘫CN7xmq ab}IR: AC?+N'/Zh/T8JW!@.eM_*v=>.٢.W(W1А׻)ǶFdio4cpCV nnܟt=Hvנh/eוGU.% YsVճFHEא'_4zm` Ӳ^rw5zJ Ac uq44KAV;$->E5Bq,k'Ηn?Qݛ>:o@uQfV͹ָIY@@VI"'{>f{^13C6,;HMǸRM&].q т}_lBv-UMfC {r|yKuj P̓+΂Db DPj׫VhKvP=ݝ񟛄ղQꜸ ęO/fu- GuUN$-LwN;noa80 l~6JOA>z39AG14`: 0[DɁ_n^V)G" h~bOۢ_ ˳p 4%"nCgTԴsn0n'%A0͆jb<H a qn%.o% 8ĝn 7Lnݚq/3%DHhE>); `2AmwQ[i闢l@Baī.rƖH]DX]ԪRh=p';}bg)Mt{uRDA٪YĘf f!̪Q64z͚oю$+ʃhm# xa d_\=φV[˯oJPXw)fR&߁4oz8cNs!'29|)㖃2`tBDRJ#/3?znO!>eD:ߞ< -&v_$/E 7k[v d.@6!qeD/d|sp#)oS E@,5b3h}-qK*{Z2lj YBcMFXjEJ& U-)B(;.!Dbђ*x.^F@kTU͔_i|LZ.'94EVc]{ W_o=xr- X[ ns6{*l t owOCJ)ǣ;#P*%)}\՟"M[[Y;E-<[ ',w)H擪xE{r?&ZÖU# wI`7g*'ܭJm̀Rmyw {k_HS| ͆jA w}:, @9Zxٰ4ONcqѝL=OOftgQ]):ll#ޚJk;0曷H2%)ATMqDhtק TfGشxw>$ۨ4ƣe|qKตX8moeLBRTEjWomX^N(WwI5+> VF,s2q5(p&,9`;to_͎)bdad89bzpkCjεo$Xf~?STՙP ] cI@BC=4DȄei{0G݃Nu{jFa4vȣq$ԝy#pAl@ ^ S5SNIh o2VɒC\XIaJ}`B7MA, bv.f*;LXdp)"TRhJB_NJ$< IXaCd@5*kW:Lo[|}Vyk66(gGzlyCt?BE6hzL$z pC/c= t.{3g9<q%PC^H -" @24lr}fbĢԢBF VG+¸[gPߐuH%ʛLÿW&~, (.KNI(84\Z,xq`HbKΉK&i/A],x.ex;&0SBRBp7j{X4b; Õ\ft=#)+;.[< pļuJ ìc,1)Hb.d}O}1j.`iYYA_4UDҨ&y!MoAyF܅nnb<$%p!qW`6y38U-0shPD'CgS㬽]FBK/kIN5dSqUPLНئ\D=#r+ 9%ȿC zvÂnߗ<뎑;o@iǛ]Te*~}0Ė;XN# זaQhZhyk0cYc2a%a~km-p à?\UʨJQRҞK{8H9pZ+n&.>ӣ{,'IG|DXgŲWn yjUUܑKٮػ[Hqb0 3Diq/I7*gw/l[{_9H@ jA%Bwu[hDG߻v8Wun[h=`@]}a0vOJmTi_6'O^ڝT?:(V]:P93p؄0kv"DH|- /;~L(-[-đICc=2 aޤK8CǴވ0ϕWtqp9zk9z&[O״iπ(Nba0AR%tG3 fJnVS^shjm<)dc\מ=J.xxka\~n23fՊ$- o3Nvrn5#E54$/ż`ip1W|,bKUHV,.q{HϢ?~sJqB1NKt fE2"(* ?Ogr.s޳H:`8575 kCdmvD_k]tCS㼛 59ڵ,ӝ2*fj~1@s'M5$EǖiTSb-ț~Jn_6;uXf(Rt({G4?o w xW!r?gM+gc`L4R2un%zD7v@>V凎B oXzA`O *2+}-g Z0LK_\$qD; a",MDI]1Z7{ gq_dYsh6:*ċǩx[bq4vA@(nU&pŶԛ{w>J-7.,c'C% ewgq& | 0oB|b=z TV&AR9)j*.I?Յ6)6EPkJhw3>q3‰ݕmF9x͋W%麟ut F@5[hEiA?UFU&a?I-/}t>5,_ <`59÷/jAn ObӴQwxQ{ 7k^%[/],3{际MhּWp0F&dE;p()ZZMĻΨ%f]{UL=s@ߪj F5mۡ>S/+r7{ M]YI9l' E 5,*"7Sה!U Wں<~{l_TڛwkQrOR)}z]}nT$ 粻}vJZkbB`"rj/jW:@dAPRe dR+F[O^ #ހǥ:lk^Afu6K wˎ8zΰ8jl‡L8>,!!_{z6 c\ڟ]it`syb;Iupj>oܾSDa i2룑S\ZtE0pN8N;kGpWwYQ5(/,POQv@), @=\(p^=(?:92 -T7,lV?qk-j8F>^"O 'os}N#[gdw{*4U,P62ڒ6`m='IL0ܳT4(58:hNܵo8蛚 wza{37-¶xN8u_oY!i<$ vܧA-FR- Q(44[Wҿn Qm~22I]/BkPJT|fpLgݸ>^奙Hay^:5X>>p<{Ӡ=O J.PEc7a6l?j&ؼ]1Ǯes1FJRw%@MGΚrn4!j&Z 5xR-?8J- $;ME*v}@YJig ?E}2T gEC%g,9yvDgvFUEhzr_{ы_zSDX"3w=ݓ %^eFCmU8]U1W1ͮ 0ߜDUwV Y01ugzQ*e/j$D%ft5ZuηYDGȒIFʏH*` :Q}8װ)H]?B})@3Fƫ!/T"l'&_ # $.9)ՆǴlGG{coM0韮mãx UO:>~ ѱʆMHqA szQ=hfA;lV[F=i*/^@L'w&رJySu@30;ғx g.Pɇ^G{UCd2]vKuILhuakr 3FƎi0^{Or矜,K ҁbo:u߷BmdW:U]o@FT=MPcO$|_>;ׁb"3E9{#r*6cG]o`o0q]!GY8crN*&l,Fbz˶.Rǜ "_ DoK #8G8@00-.~O*>;;aFRJ;$zt&]߹kaOI0A_kbARr \ʨ7wL,4E4h@ׄ?6Md 5h87vcte~0YMoR?*LٮH;/rzΆg7F`B[8II񇛂>`:$|OF>՘7&Mo&NjŅ ҫ$PEYK@ˆ1hSdTO3p‘seAЖ&t `'eê4'e8h]Jhg4 H%Bh!RɀO(R3Z?+]%e>PvV~[xt-oh^a_p6~fw*4@Q *+IV𦄌K#QG9 ֱeYI(RM V-{pR6rmݧr@ak3oHC>5~HP0[7SÓrygB"yv\/O}t_`?{YD<޴`8D?T1hmti^Y&QNAК>zʚ.,9޸{3©0;jV3@v ) v)tv*I"^X}ST,Qc(7yڎ{'*\[XH}6pxH1w $Vn!ڼ/p}ғ>R]]Ӑ my4N`8I}XCX:8|zmk;\%QyPoģ^>;i| ҈_( 7ƱW4b@ϲ~څ!;jҔ[8CY:ExR71sDI-'Y= ʈ/ۦVNO&MX|r$tcj =PXC5*/|_gcK|{эq }W\-G* kCB&7q ?)VazW=ay}\{"H9QpV#2g>L+[)l  ]ϼq3/c{=崔=`aXY@>6skkOhƯe7÷v:WO7_.tqt*pjZ8PGBfП%>WL819NS McaRh7M|7.;R1B(t(iQ +#Q퍂S*ȣwsHwfl&aMn'/LbwEy?y9+ T3KF:7bhDk!pP7eb_(0g_IY|եշ׸% ;:iʹ"r#dplgNIwDQ<,RI[iE*\8VZIڃ RoQ+ HpllhxYY6Ipc dz̎Z%5oGv}Ӧڊ'(6a҄ Ů4z@ %GBM\Gdx$YCS_CY:&w[C椧-jFRj{gpH/Ks^vŏ%Sئb6ustpzܯ~m~,> V̚הMv1¡/@͉LIUK-a妤^eV~3/oqoXgY.?DCTX8e=( `}Rsez(_ stEJ{ґL@^O~f&d]/+l,%_-:?68m"Serx,2uM~#܊޾HzuCiN9iIN7|'>PvYLIح2^f`_i䏳Dif\PDE5<2>7qeQAY9*,Ř5(?i*d~S^؍DB-w83>J) կreeM 6/|:F٭]S$Bq( Samj㮸I`UFPrVD(q K_KNlfr}c9B(&0AĬIWcfz!/R+a1;0ԅuWC"sw,7t0xo;>\sZo7`MTBD"XO{;^ʚI#n3-g» _h@_2413{N b<*GBQ436_ =%٧:9;a4mI9^&b:mf_(og;gbkQ/5g3nbY="L .tDoJ#AmN;:K/T̥/9FIp^+g$;> wK&L?(дHx܆=:O\}gL*]&3 v ՅMOc(!,Ī[S~6û %l?/3jA/EgFtsܻ>5:;Vlb]á[dLYW2?hF0ky\戻#2KNGS{NZQ9y3脻46+¬"MzKy(Pߪ@P*K}Ya'kJC,*ZS>ye٤Rps=LU-? B60DOGEETkBGREY8a;#Z 0ㇳvOnW Uqo>x{.=^Yeq%}ۻ8tv s'vISA,\CTdbnSK%?1d|°*1,4mQQsZdZ˂JܦUQ.+֮ts1AJzXjTK6Te^>ID5^OiOem-Y[M}>ہNdr":t0KKq/,?T:6t B- *6QJk-.JZsQ+% rZy6:ҟ<eU#ET HPG *r{Z uB[V̙uR+LO?3^spQ&#u<"zeK \xJۛ)+Xw`4q%sԣ0 ^=Ⱦ{B6H}./OZSޡnibn ^Uuuq,VJN"b.-2e[Eޮ:!Î)gzfPO7NV 5M%[8gxo'y:aTng8&\hoc(^5K#cnf[tIY9q n/v%*Oï<\kK}8fqYonoEMdtDofRws~v bbd6 !WV5BQ^!#"_2ٕ%IRaTÎc/_u7*%!^?{R'E_Ig^ ĚKEΈ@DdʐFv&^:^UmWo:qmPHKe;N$eE}4>I6Soo8+W[ `2'9lm."| Π'@}񠮩OHa 4tX5@lBL^J%[4/̹u@uEsw,ܸ7ti귳h_gaO?rQمEǾ| x~-!gՇS9"jM5FVh+Kh ƨ/wJ\j%Scޑ:P yMpΛx엮%;‚Y"IOi;8GIJl탯~trdRE%z h*꟦)dY%)w6Հh+T2@8-f2]9{!y)gz䦟IP|}9L[XW,Gj5VrϾ5>SGQyrl.<goa)ub`KIŶ6G6߭ `rus3r32צ| 2oyG@Xc{-jWme[XOyfuKMp FÕ;w1Z]D2rw18ȳЦp G,+Գ TLhU)ę~!^f$ cSuzW>vHՒKʊ;b\ݺZ`"; Gf81@={yQO$i`iS3=d<\5a1f x\~=҆p^s &԰ũ}b-t{0ȅr&&;ji&to>҄Bӽtpv]c\o[-&;co2 ӫ?q`kl"9Z_W Q$/k ix֐dR^241e ya=63eKaLu En*@ K\4}\nQ\O<$JbVeOu1(+T'zR^(Y73G<PM#?:pkc=~زA |^/_W*^r7(J'}OWr Mc?0\ɛ7lL~XL_ݨ[ )Uw+( -<<>O8Cj1njI͔^IJ I7R]aW cv%!I@e( 6Lbzy{G$4*qvw`rq.q -\:QL˯(|#UD|n7gK|uj U,[W s$WM*[4\ad6`fl|{,>s +L]W.g4힨?.z@ 9&?s 3Z,ޯ?)ڙpw8U}oۄd5&m!ug㮇bro ]"qg] b&K-xSYuZ?agKyc ^q0P򀲂);|gkg& Al,K&}%貊).Ac\pJԟD ,!?VvÍ=sWR}+nuQ?qXOĻ4?Ųh춹E‚YH_x` _k5[l.i Gf?9@Gyj+1K\Dn<6a ![V.cp1K:H4Tk|T _Ad1DOjd;؝Uq E4ZbZ\7=zC6neG]- T"/c抸sS&\[;^kQi@"鑜69l]hզ"ȻuoaښM1 I_<9i״6TS<"i}yQjtBfKKú{G^u +9}~Q>ӢHYеRl`o=PҞ<78nSͣi$bV4 H D8:~_BzZgs4ƶIL4vG|%.!Aw&+Zlz 4& seKۓ`teajB Lް@:x൬JܫwTySդ{j8,`C:7+DPdɖ.ncȖr.(>_W"gt$J]n*b_[ci&1,nnBRp ݙDs}-? |IfY=wΫ%NR:TfI $T}5(*kD AB +t >2>18&Ͻ Дd4|skșGbB=oiV/3)n"M:$Bm eTX3Z* $A-Zܦ{vrq?$avg|lE-V^KYuw2]р+a y<>.DUr|c&G?5:<5YcNi,Q҅[d`%[}r!d:aILzKd7e~.Dl0+ v0ݍ@s/ݾEix 56{ITDVK@2f!ء{AwZJNd燔QZ"R3Õ׼#cx)m|YaL r>@VFr?](J^*ł9k{OdPy/xYKQ'OW|V+?0K{]#)uB[s1(3!8DE<,?GBx礛|m{<{؝蟾g1ت8X^)F>Lc,{Pqa{`ȢCOڱkZ d."5L&Lpg.D-hkLMàAlu`oԤYȓ?2[)ÆaڼW+IB} ů#[>omh N.{/>p8oMk O_j_uwvWtSAJ_n]k. {eZ۵K:+"KH_P, ︫XUmS_0QNd_}@|1_a6Pȴ\tʤc|PS$t=t4!b-'H x+OcBk!lC=F̎GFU%DW{GJx$XE*WFa7(6 @cy-˨AUCY W -st4 >V"O?O|r62G/`chIlbJi||!.rh[kcADӎ#iJ{FcLW#]t/en.qMKC@v )LyA[y|4J~*Xz_e̩E%bLr:Y\%F8U/R̆Fx$m}KU۵jy^ _ 2TD}G6mZAAй.6},8.n&Ty]dTht%Փ}zF*+=Ed]°x!zB`lN@[&qu(^J!3D]!|0e;/x^qG_ɥ`YKqLmYڋ:\Bp٭vQVa<[SLQA'זzY kW^ʛ0=h=}#;kuc5iE(-dlXԶӃHג?`CPpWH{o$od38ݮP>9jPRuyTZD& 0j| HpcT\1EہOUケ6fkImI\ ^85A,PXAoK-JY } +Vu"ˌ^׈xUep8-7ptuݳ"(Nc*/R«w~ȼ6(= dz^ilaV.5wrU J @ 4`@Τ_P)d򉰧8h|)gqT_/I:? 6H3abƍ,wMʫW=8᠙xU :xQX}&XR).iĖҴ?Y# jC$n`h֌aK1'e VnNV1j[(<$BFЂI>"L{ Q}N-BDqu&Sjھ`j9vv4Mpe`@2+pfN͵wPosSPM=74g}s\p 0!ґJlw=r{tX}7%b1AemС%lW4e֥yxz*º9ԻlHe>z{]g4$q`Szѩ$lpDF>sWäU.`dgM+T.03u '3J}dwrutMwI&;Y8?>0y)4)pjE(H&.۔*#nN DjZ $~OsK5 KG\_ⵐ4S0DE(cfCi? ѡP\h1v򿀑dɝZSY^:6ǤjqƑh{ P5io ,W -0]jLMݣQp, UlqO-;IwJ=FB[.3dW!0f]99wX5֩Sq0VV@vkA:8_O+W|Y7 rC=壨MFq?[hg\||%l\a=䗭* `2HhMDEPc>Fajp7gǫzqyP#@CY-:t|XkN9 7 5d> ϺjML}#9ul8 Pv?<ɜ6 $-#{'cyb2pU3%=u#%(lGP`xoѸܽ(Z?ԴeڳNPNx1gHM:h!Jz025-^ض/˕ZLRher}Ɯ@\eX"Vɟ쪹 ݟB`?laZ0[#NCo$ҊSoǒhlp ɩM_8?%*[\K;x(JrGr#~n;yx4bSF1N͹w R{(EŒPkI2<đԌYqpM+4P! %EԡS75ʳ$LN4" Ywtpjj0r{9;&iNdL+|rUIFsy a.ovV-i '_4 r?i=&*2fO|Gʘz: t; c vb 5'8v##:>ܽl1!a\A3Bltn _ӽ#/°ӗ);=`pWq&a_^d{5icq9-NKﻜRDMn|n(F'a\ck8~t t6B\Iz% +{+(?U=*)%r&~ɛYy$䲾\RIhJs7t9wT%v{ɪcS.>&qs_|n!؇/d:bX 9)CEnڧ/Aٖb 5 R6 6Tr,N]vxu lszm lJl)"+5A^>au9&yjF)XBp*Wa'Qd1Vп8cM4toD6FIn_N"jrBI+D @Nex}HUj L 3"H# P":T' ut;0Ҵ 7oǰ1M AmVN  PCre\>" O_\M/߄"?OMK/0:" ☸Sы 2??dq-%\4QE)ieR|fV vJ[*+jt{M_B&5!p=f:(? l @Fw٫<v)D1qn6"* oژAkQNo%,9{6ĵ[qNtX.^&=BCwY{[zA0.o-K8)[3A׍#Ex!X׉pKUF}4lU@hZwdFN<~+w5kqb^K)DpftZjIrӉACnSvW#CFg*Oxm\T Daw``Z|dƷ&)tQ=/Y 3˲xQOI -wqn70aO DgXxx5դ]oE?A qʲ.6_Oq ( =fCnk Y-m}|θ48>hBἹk"Fsa ZW3'0U %5ND*J 2N y!}.O~u F+j.-Yyl{)?310g<6ҍ4GRk4FJdIڴ.u{4@QqPe,S&f)D#k iP8#@esã|;V1'$L[Qf x.ӧ_GvQ5Bu lڂwPw )-G] K1C@\ڶIЉ;z9uҐ l> ;&C/hzF\CosNK1Al)wc0U҇8޽KnȕA. ?Mq ^QaO<ԐiЬ%LCeVM'PT V`pw/`]>뿻8-0lj:/zR(YvD_W+讬 , aNŒbHm0a@8y0!aco.zGb{µC/o\`}m!zIK}Q;aĺN><f>|-éw\牢 v k^b]x'w$FqX25kH#;H7u#tO):u~aGHwSaݨ*@9+qg=N% (ɫMv[F6$U{$yE{k^u<61iMg.ner￘=ENxВşܱf$wlGK(?Eg=M_E2if/m 9_(i󱎾W<3$$JJb67N%:_~6^ƻzNDs !UW?ƅVI) wVM{g,M]P Ey5!t7͐/2+gAR( Ò .#̴1C =x\2cʲmC:Z)/\/yi؇q#Gak{&] U} &[?>,Q];C0ʖ\k}6 ,+>2}4`MM0t bCVLp;bɮ2e*E3/c A} !c?FZЪE'[/T$tw}K+Fո Bc{m֍XuMTU}тb:qӊ_P&wxIt ԝ#kA}HI{*oK*R w阛=)Ҏ ٗ`/27$ RFLQ^n֋:$H⨫ ]A h̫d(iH\~E5=> jا>ď0Iw Oƈʟ5O Լ2Cx~J0U1Åj_HDê cҚm71}r !Dܸ7glR5RIq::C-3(`B;~\&wbKӉR:Ns\%b3W+JY7H!fJΙ*KU)!rXr͞p5NkvgN[S"7ὐ03I+iS]xz==-c$mcR#xjm4gnQ}/;ި ƶlBgA(9G`ZԺlvCQCl7ЭU.Y; .vg#AAD_٪d`xo?`.uWWbe)0r=AОV zoN\js%zsٮw3g@zoS{pHԈ7HH?Te>0ntRmR@/@w bv1c8AVpvSR[}ӑנԔIz<:27uԧaX|y[1i2 cHb$g$*еX@A\ř'PK҂Ln;W*s}"g{P"z[(4tBo.[yot;d1-:t*7I OcJK[1\#0 V'k`@`.c:ahfb[t38GonhueSzmDZ=`NZwK卟,Ro #Cz)cFǺ7sg.j%ןgH7ԫ̲'R<[з"j '+U4Ozx̣Mػ}(xPѽ7BӌTq=w&NZvu-Hɏ@P ` F'ԏ)k/GKb޵"f=&}:>U352\MIPmy,%| ;ReTUwqj/ώKC F:yg#u2>$ot;l?tfg"8(mZ չ":Sg0iś2j*V7`mP瞓򶢼aN.T*^d`M4r(g(bNN`Ū<F;^HVpG`]xg!lj۲nP'R؁#ʊ@w2"帙 ,37ʺn&z h N΀g1 놲I óUE u Hи{0}%jO+|3I J3YbX]y{,fpF=KZ,\VB.w(}~yngF4T~ I_sH[K,d 5& cBN9ab 12{%nοTFJ$G" Odiu>wHLQ<q݈51a6:-Զav\ ONjd̵.P#mh%XUYj?M|y`(%HM6#Iy"2FDaFyf±qÂ,„i1/Xz!d iqL@ LzW7HۘYٖا иW8_!CY!z$l лXoe:T^*ydWyEMI4%Pps*_WqsΖCzUI_/:;ܚ:Qe.: s M(lkVF L|zGhbzfڱ=`)bbr,iD& gaihS 4hiV,rBI'ƥZMײZ>[%fjwx%c;`' Tމ|Pw% #~gzV;$Bau=Q;uhfl+~h}|C8[ 3UAy/4qhS(B%P_P"Ʊ7~aIQ=`$*. <]]0ӮQ\Ź^m0d~">߁WmXqsGS#`rя {$)ݫ{.fCsAۼb 0@JީsЋUn&j2+_kjYf8v>Dhl_>HY #wm_.(<xQ8 ;d%VE=:ϛ4qr?Y奧ʅ1'o_#,7iuX`-[ßQkeWɫ; 0<]$),L.W'A?;lǵ.<=.n'ؐve{Gr\,6tZa?C.vjpWc#"veS62]uK@  b/Eg,auBKhYuij;vL|Ǡnށ^W "@2bMW *Eϳ&rьW7]&}1yhD9G0iNC},3E!]CJ^:RcS ,͆;*lYVޮ=0f||MuJ tdttBxT.Q8Y[yA ~)t_o}lO@(x.tlB+q|};Ot=͌=&񈙎)_|H!9HT\}r%=BϬ@N7[Ye6_\CrtKo'N;]q=_kENq)ӻnyCQԾ}FFyF_jce(3&1MZKx.PW՚}z`k4~6~ztXPY8?0^ wW#@UXA:!Lt܆ѝLŨs*T}-m]\ېd,4LjQL jݖTbs.V\r5>N/>a㲻xu3Ym{带3HBt^HKv%ipeƴWژxWl)uw|V{ КdWАhOOoQwu*p( h<7#?PB{DN_^C~"UN9!7O@IiTcB/H=E9:Z;ri~L~})5!|l,K .5M\Ϳ)d'*4 W-5T@c(|.߄׿pG65l<ؐOH6 2C1e| [7EL`ON'ƍ2iW~7̓On-r un0XZSvtC?훁mud:AFwNaerX,4s *ƻU4NL&nk:ƫ4Q6B0j0e3#ґ=248I`95ɊYvcNqN29/7Xzp |5m~ԡ;A JӅu*::`}&1 N>>.fcV10`aSD~CŠ ҲTQ)S0(YI{/L>Y'm^!A){|>Yܢݮ= wCnҒYp}ق:Hs^e.b<&d"&_:3UOzd/8AByǫ9D!\ݑd_cK2 RrI$VSmC}2eY ů!2.JPQi"1hŧadw,/#2X$uotxOPXH-isqbBkqy pbf1g~7jWf@YYU3t1s<}^O ڝ{҄Y/SG%B5+ s-şK+=lZ I\ _OVBd㾀G-w`sz(lm  FS'2Rw&EoI`n>JF8o3:Z &m(#iIX l(xrHi~r߁ T]eHLݦ"GsP,.?). hBXpqZKLn޿k* P:1 Gξ9u8%\,<+y+닢*MAM'Qud9Y޷|fi3εPbGXZ> b -k20z+?8=,ETʬv"#wyB[`/u7Tfi]gNe8㵉0hzBS;G/^g:kW@EN?! bzD, G{uk`Q]xOǶbu |mdi$݌j{W8ceq;[eNN'p}JU˄9z QVϷ7,eny!| ͅ[0548cߌ ?k86g G@ɉ/U)qˠfh>Vrc'-sFm J~ϦXSI#VqQr?l:AjȤ"1}w d΀\RڜA_=}R"nA>4t9o{T fјI0v/̋1l?EShIԤmzj@TJR=2Bǧ[tB! "ܻJZ;JwDĚs7qHR3wgrb8IH.҃q]SSjU,36P7m@LQ8S`Gf;ѹouU1[CBV=Ț!R2%:u+ąq oA#CKɜB \.tIN!x.L-x-(%,YIW.v8\AUaZՙ*N:b"N1׉Z!.ܸXVhyE$K2 N,F,w~Cb8 ΔlGǀ=)iP3~Gd*,c0_, RWNSWE %N1mK3v{IӂpQ1<tͮ7Ą] Mא#32bڽcĥ!^ҥרsԽXX BUZ8zЈԸLĵYuM۪ȒǛ@:ȗ6vPlRm2}Y+٪dSE.њ(>`2s?tw:hM@FFP/?9+ml(KQI/̶>+xBrOc ,/Wާ.͒T4H(I/ĝɉվ.|1p]{MDx_x".9ئ |oPq"l@Y0&XK+X@~`6NM~1<BKW8zv/v Η ee[B~Bvq`Nɥ8?55;oaf٨L$ |pT4z)݆6k4\G{dYJ h}>esR]=q6q@)N45o !L (K @(Rg|#& 6Fl@,UQ'4<\`63QVǠ87={:֡dtq&0 Ӷ%'SOzz>+ue/Qm{!̪7Ufv ;=T-#[!P0e~3f=6 '> ?!T6DCwt^2VTNYG 3-3wjsO\"ihvAiJ9d 7p.)49.Kxv1n,$ Cf~ _pfC@*JV3DF2Ai^')Xm0>l-Qu.á fc;uWaE](CpRXt/EӒ]~N\tm4ԚC6oƓ7;LPMT#sk(N7G`R}r9:~1m\f\&Ô(qnt)?D,2WQž\ɠv%@Sr(U\D Eh0:Mjr|*=}9TR`y6t|,M ĊN}Fu֐{lՐ:LD4`IZisYT*YYKxIs(e*\S+J,^n֗3:% y̫H}Tšc-a]j&f^>y2.p&K@!?Ə]p\HWX>X\o;lͫ%w(.ęʁz(昐ho~jxSYS.g,ȱG-OvapwuzRζQ2Iq8'e/)Shƈ`ZR:vޔȨ,_Ue!G^^?+k¤&4ܶ>6ea>q+kc~y^Orbj^G:oY,몈o'ԗ)(P4iYT^Z9=*Y p^Yđ/J\ObѓPG@Y]?S`M:zsl*s\ ɵF4WsY_mN r/O[խR/oϋ٢#MSJýH^]UUVi5%S6%Zw{^la3R|~9Kѽūyc/վƺcnyU5xcUl:8 $ɳ`B˭Wx=ϸӳϟ"yzfj-^Z^8LYf+gCRa|a$Ĝ?;;$O s+9/h oj(W8溸s nDmYHbsmD8o:W~}/{`QGe,X#b1 qLŀ穥l)\$H.Ţ*hqÝ@B->[([j,?N6$wjM@\Av(lҴWꭙ 2E֓+e:wGw@U\!=Bgɾ/PN$ >j?+Bm1VVM#*09SwqJsC:Ltz 0ۢRKMt,, 2:It߫%8cu"*|(r̸wΰM #$Q-MJ3EYz˱#a9G_F_=&4&[l7W Sc1eZ KdKhTq44؏M5҉~وWHbu7a3IXmNC( hij!mS9K *_!MQzGîit<&\.,7wٟw0N=u{& iB5F"4( p=@ #VXhWß+LVUZo*6!ELgQރ /3 Wd/{ ²/cM= n~ Z)b{}9ixe[%(R c]w M"S;AXAM>y3ŰRTInWx˼0m΀5 !@K2haX[]u7 gteKp>i\fHC }UK):)E Ix ^ K7.KD5$7]U6i#M=TyCΞh-/( y]T_y~aށMo72_ 2њsd/=b˨G8%X,j0.M"߼أ7c$\fCQVʁExe*wv6N2MV1!ñ/a-I}.xʕ$YsdTǯ~G;bYx3DL6,KUTM"3M׸2 }n8W\<-2R!$M]0Ldi*g_I"Pč=0hV@vK 7nsNd{T ަ|`'`:yB걣ٵ">bp:S%r*8r0NN^H~_e<['o0\2o6mhd` 벝o*׃<0-:<pQ6z5c ׀|=bBk DY;7HwN-Z1t%x!\Gqy=U#yG׵fG;ŢKb82K~*ɸaDİ\Fi5qe`&al9qZ ;q`4؀f 88)K6 Y&0YI0%_ :&ANlTp" `?i0qX# iOleUhJӐnZk_. syjW %auU5 QCB_P#_wH&P-c{(<( Yص,J]];5dOdhijgΣk\jD~'x{;k>%4Nb:^vr3;62p@[ڵH~SlŀffZxA=FVmĐȟd*Jh2->d|YqIDxm_7~N䐈lGp7H񠺱28J6B7ZbF]S(x){E[!{GySi=2|~vxټ &qA0N)DH0xI:C:6`Ebwjf-Fuĭs\C1SS?l*k-Iۼh!}mIBٴG;W`0`buݾ%vqsWX $NIǍjs9wˀ>7neotK@m]9$N͍gkɿ>zr{-'bduX ZSU LfmGH*=d)å.6k.vBX=:p6֞fAXUUMn!_鷿OƉRRErz,kor ӎa_kJ ُQJHl&xvͲ^RtDNJ0ˠM^EtX  #Y= v\DUn ܉ۂw^kZXsfN%qU#G4¾b`2T)d5Ϋ^x_-`3Ѕk{R*&wAvJ"9]'oU[X#\?V< ߊ.Ne_Œ1´I#B 0i;薛2f W)񏴸R9S02ؿ+xPD7^hE%N]Tf0PeM!\=.<͘vBm 2Zčl҆$[b'w/{ۗߑi3 {ʩnPșxl^k%KrsqLkX7\m,#ڕ+N.Q0%]'S8H77_!@/ B'6J)܄} 8aouAk2(|,sy8EOݟN6:͘+n _3frN>FMJE߀EM32%*},d I5 6sL2I Ⱥ=5ݹ1aKw/[QWcʹ@<,g+ݩ7Vr8PzhDe}S! y'ƎM%zNTT0]inUTR~kBҔSJZl0=ij Egp.4 h{hADž h֗MhæKNPhypyqʈFLH yzIK^ڄUV r1B (CY~כaX'aScU5`?>SvÃӘ:M"Rެ4QoY}xQܜiEMjjWvN5y|oJ?^v~vjJ@9dٵ6jTQp]Ϙ2- N,(IѺ~j(Dzw=ei~<`΋p,媄ĨظCS9E0Sg9ܔ}uFjn61H[(?6z|? e |X`EZ.q2G݂n&eH,f8 r6".-nc@J8k6{g-Kqg'‘Wཱྀ`o<8UTU He}:zeOBwsǮS YvW.b ~}$_l 4Ǐ !or#ց1gx瓯2k9/IP6T4YUNČ]uhPYBJN~J$|6/_,b 2*8M#}6џ3S\1͆-&np຿lbsgJ jw N@n&f|9K;;+:K%>B1>BȠU#Ƽ{)IcvͤZhx8E' z])4,;Z!$7wmF? $ CCb?q/f2DrG[YbN0AŇ51.Y! [:{[v1ѸS-sDНe7oF{ ~ЫQ;,W 3ʪ^5㩺*ݛs9)A BCc_kVfc^>~ D~!˞Bnz=)ĎXmaA`I>ipOZtjMRx$,}o<r7@%ݾ٢zStvW{Ek<(䖍SU}LHs>d9oQ3{L7@df,sD#f'J5k\|ɽ(}zF} xPvmNID}*(:["91P 9؝XR!AJ܎L!DL7×Sb-zuDHX $</b$2۬ ݞy:KJ/N2\ (QtŘ}2.\{"s2l,# _Aj&v͞#r[0lon'(Q,=GqCt~wl'(_Ͷ~c=Lv,mзހv.R3d>OZwpȌnXN]^@ 2$^7uv. FA*ڞ( Y9?PZV_9MԆE~vdZ|U68WG#H8;mH>GGhC utc Ycvh:]AZ&xS]bd#܍:Uמ"n)GsA0O'5͵%ڄbH@iåL41騔Y_]WWȤAD3?[.ͻM>3[_'JO)`x>- s, Y1R'J)O@p.A( GyϠh\E&K=VHe -%3㘟lOUjw=%4%0S @Z!߻͓LKkL27{a"UQH|C`_"4p60R_2LX,hte0#Љ3_yb^̴{ٱ{:Z`\6FL^X"(#IFK1,Lv*ReفaC9ث?Fn5MMRmU:9s ٔOw[EN+l+@[|ޡ+sSE~[ ! %$kmx{]Z7eL:ڠ5JҠh*@`H$X<2,ۊD>\"<j]FenB dd'qTf.*`+Y4"dk}zqiVi] 9'h< ?j;VM^d p qe&MwG#oYPٮ. ym:sV֢<EBGRvr#at}'6UƤ:ׁ7Qy [w?‘A4٥PPx 8t1Sͮ9ඔ?1xzLNj. St|_'A`Z.+NܵaIcJK/U=iMۦkXio38~Iyg%.A>[" ϫbZ:SX>yQcwDaL4^مUV=t]v(OiKy]UEy|ܽэi?S>߽_Z{LTBFeds-D0)H`d"O*Eږ]IH/7K&e q:L&Fk F!j5:V<0 FB]g/IˍX#@AX‚}1V@h:9|jC"&QL. xƨXQ֙M. vYOHOt8s$|P?n_tͱ]I*H41XYZ+kWaȫڇ&wC*#=^FiC>2ѹ1^aO߀t^9'&\zQC\#m!Bo\l;T\7'>q}uտ] jRv176Zd(#o; S~>K M&;y9)=y])S}mT}o^ 7+,k"KR@/ɝcn *>V̓]"v1s\esc1[H@!|ׄ=6^#wZS[u)VH+P4.QoHyفRE>8v.$p }R.5HL ^ia^ޭe/ߛlm$uW*֫9Vit2LV:QjTJB]@q1C_@,Lqvnqzc\?cb(ylˮѷ F$,hhdW"&wN7{닷 2x&a^&}^i,uFYϊK ZHED8G5ӳC1C #=gaXz8}d̈́ h<$7.Ė Zzr K.M;w~Ÿ?̓3I= ,Gjy"bTϰj[twhSߥ7.u=`?y[[8K &C7wP~t[0ԚF O|7/`r;lKwTvH])88 ɾbc\ٌs]ٻ'|㨷U~*ܯ[fcc旽۝KV/eDW jya9HCF"b|A35!ߵܕHI5$0o$2Tt~c'ܪG%= ^$xQؓeCV>K晶VJBhd(g B%VETfI0HhH־`B%b',jaϢA=H|A Fa/AKpcS%I6'tSCŠ9AF1c{-Q7'9tA%9ģ+ݙ Ìۧb*#1O TDpT/koadbKRupPB@4D:1EBCI ->Д.> >D?~;8 Fo.\&w3/FRRGx v#"2MÎ߷g7Q'SиNlh* "ƜLc./ ~\*w,-8 4eu*r|-.yN?ӚHev|~L; ۗ11ʡ!<`Ym5'm@o!917Zn Px̔qJ\"Pf.-bu2 GH#`A91D>~HfLնE'w1#~;mԋ!Ja_kFÂs/F9׊`[8\;W5saz)A77 TrAxU&nͪmy\ݮ#Cg^9_T_װeO^mpFxSo[jhc8/@;0q:Z|>23N[w.wm t2s%0(s>k?7F$EMb{ÛBVco5"EgL{ï2B@b.'פp_9)cr\H/:*=FTK枡)[Hl?B)NP廁.)(rfrdd[W/!d6Ț`} S,hM R8=;%H? k6M Y.yQZq_&7&+N TṍW2IJc pɐ자VNwD._1JnN !wZ wy>g'Dյ-W}rod(/LȎF DcVb='# נquY0~#e;rMMMy4ANkεD8se()3·1o P ȬyG9/gHHb^h .3לQ`bPdmj{SwigEKҼ71`'GCrk Lm~/Q.Ug1k 0~ 2RԲ {Tr* ob/zs΃x Uw3gGeAQ}aƅޗj*5wKaH94 +{G "E+(Wwf!x,vK􇓰ԡ{פ9v̱m%ޭqBhIBGU+W*@^0[ "w?/hVVR>7,9Ĝq TzQ_.?]~UbQp1 =vpF9౦|Ր2'\'+3d1VnBR@jbO@)>aAU</`1۴͊^d|VjV8Uz=c6K o7=qmGu\j Dc!`lnXCqI:e;7D؟piY.fvUl؀a,':V# (X$¸T y m*]%A>Eپv JCk]ْDO^JXC&TIs}ƃ`YUٸ=l_ /#4N _x,/ hࠓ7gMIpJ D"zf`'(`'thc8#=>Dc?޿zPJӖR[|&zC!Q*C<F9W0`s8W#%Ф7a ~3Y$$Rb޹rHD2A;.9"3\nw`.lRI|Xk@wk(K#yuǣ6V@8mB!tcMs|B>~C{ 7|#|nN&^zu=5 B>Ŝu{!>m$19}EgnřxSU2لc´)C9Ob*j)5$9 eeeKkpY SFpW<dAQR2iMxNNxq,t)KΙr3z^ɲL. 3}O~sTn9o56 KIW[ ¨ 6>:.1oÎV|HjX,nG뚺_ץ@Ubb+ ֠˱'cV*b1+iqz?Gc#W)_p>6'ة*7LۖSêkvj0,þ͹Rujd`VM[]t.QyB%D_J=v֙(rrr]hyY=\wtt Èq [6cc&;"eC?y,S;Јo;7 2¶_6Ò1J]$ǧU"ؑ2)84e>mHJavӆ]v+xpK. ~8˵kN];G: R6(8 [Qgh /q)Ѳޫ&_#](?j+@ ,:9{ҁ7@5kG XԞ4le8#[kU q=x>}eRy*gY'o 3±wؾ -!5*S y x <@=#_oO* "tb{ՑҘ~'Uc7A})x?nH ȾS mx/ag@-qdVz6d B(DaE%ae5Lyu8'u4t8DJxA{դhHbR>c PkW7LKtonGg *wX S4\X4DKk/{Sj{$8Iď(2P@F}J r/B&Ҙ庶.yV~x(0 aǕTvU&a.|g+"`2/ bApEV +iU ?ҺGA@pso8a W.|8!S?& "UE0^ّɄAn 8]|"tʵ\G*K=פ7^gBSZ_IܭC_[E[6觞i6m[}#|:" 6u}35VC, * m-ԋv- Oo8O/pj&|1SCp_męIjUՆy&&ai| E]&X}~78^ 8;|;`amYV 6̫fNZivP:TAЧĀ1>2O%!ݲG{2HSGZ&-pցtcH7YO|{tJs# Y- \fopLdsq ЏkB}^Xw 9+$t<7]p*S*q΂lO22j\jF@xP[ti9 )4;4:Nƿsb5 1㿏*Ш+fHd[lZGv||_Y~ `\!!}MkQ+`A燼Ō5kbNe҉[]ii ص9.,2~dܸtoپt2!O7[E1g{#4ilsax>  Б,6w>qs ڝޖ${1E2%f&[2ҩ1E Z7K]m)Z\&DYIb:&~x8d@~,b⓱Rit.ԏ'Ϋ? >ywoYU+>coK 1+JKȾO lJELMuP`{ z_,ؒ٭" ^ݣV)+[1r0B@bN CƉ"t=PYtz4dAO^TcKJgy)+Szlh]I/S"xCdn?ɰhx@-w{i7LMO,zZHLĢG~QqfKOQI,Qg#Q@| ̒BVӜV:9 t؈3 b¹!33Ҋ5-UrXb)_;>.H>P+4;R@rM/,}lﴫ_䂤K.m>bM~|O+SrL>۱B[o&vY~QЖ9k*LK eS'U o$^bU͘2g ;(@YqR x;ɸ!;ho,Y?:!sXL{pGu! qq-cfX)Eme6&-]$!N9/?&L/>[z5âzp(!aj{CFܷ-1a}{ 뎢<WqȁxDE>؄nIEǩ?rO$^Vhʫ%3./Fv0X],(.CD ;v0&8-Ĉ" KElGzeYxhYcلȃX{/ɀˎ>WrX_a{&_߭k`Т!z)#T0)m8Gb7VA1׳Xp3?КU˄L,b'\HcM )seOPf>c<5rT պn!٪~SazU1ZqOMcڷ 0K`iU5a[Hg՝;[&b~AZ-uJ9o8_NUe Ki,"Ը߉&E.zx—ךXa"ӈ۔hS.Aӏm82\7dA$c|22N\*Anǣ΂fM@~-6 ѵ~8WQs-r1<b{K2GXnl"poXjmdN]BsQ"},\7Soe*@G/>дS?3f9nOsQxjtD;6aЯJI|:! Wl@e=Dq>ݢk\TGT60H,Xلl2#137[YkJ(T 0E= G n5Ԗd!o#8 ~M- : bӰ7+u9eT 2 KR $Q;"bF1R{+ig%>=Rq\ unXgo^r X.yJzZ`pܰZHJlp6ts('ڸ%dwϵibC8L?` W`f.rš3krZ*PG92G ^<+jD/Kf>TB 1uϾPu]-+Yy I;+t@̝{wsV!jVIK8ODFqQk$Ǥ_?2js_hfT*!5RF͡N'o~bﻯ~vjUd᛹ /&~o U.p=֊&pOV(/*9 S_c޼hWg#qZz Ze H(?Q1F7 }|bwf+'ۋVl d|T~{,x1 @ a {皤>țg#YhRZ_ܬ`_bQ"|1kN"#ͨeNww0 i@j]+v*Ejz g1le<|k?郯5EGZ 9M鵠= -Uʡ*07k}r[ [86U\Jd2[xROyx,Ň Ws $ Ac|V\K>xoLs7qq 3mM`K-f Rcbǀ}6%Y(ְb'sJ,d[/NBrj_3mۯsEd9g[lsu0V"cNon/oQ|?)`aK`PRDQMiB]"SMeOvk+;OOS@=OY5i<}ϺDUwTvyR!\J4{"DPɄ^)S]xI'qG'#nL΂a!],mۇz_0`v_|CFAj@-$|փ5̼D{lڭd \ V  w &DFJ}J0LݍS7"HwwRreW0Qw9UHf>K З[eɏu?[!QmtŎzug^=]C}2PObTyYCu$yz1 e Sz`CQuS>8##>xևnvzcJ| ۓ;)/ְ Nɟ~[ȮH+ Fi>q'5ۆXT!FI>J)a] ]J6l__90un;a;˖[Zh Zហz|/I`o6b !+EZ 0=-%Qֵ;h0N -G} BKj-?4fFjy6(N|1]~}z(0k)#+R8.ɿ4ޜy|r4o53zC݂l.ő|h^k@rFOclZ=Y!.C{i!`q~V,6,bk_oN}X?o'oT$ph2h$bK\`#?sMI֙hTE6譺i]I xJ9zQ5 XY{ D({F&/&!h 2QƫK&j\d>ڌ*\ifS !B,qpY:4afo8Đ6-Y O<ȢZl?d}%qS#6}5PmV-RSL PY ? 7')ѥj<Z+np:x(jmI/()0%h.F`~efIYE{ SUdZYJb%ܺV<#7(AQ[h߳K˟.n3G#pE8*f{kLԴB2`|Gk,'S09gI/zGF& ʤ: *fV J}O`.{,P -pY=G"+fwWe p[M1,G[-wBDϲDJV79uήE[Kgn=@Hu$0iVp _~I ,T}q"y*Xի?2 |{rU.Kaˆq7-&6EdjӸ ۴KiUFF4TGԉ;hRc֧|n fsw2o2#Tb-Xc;Kmybp *Bb}q.lBF)MZaǿm!.aa,!KY@C'~՛r}ƫš_S=W- mKv0)QzRɭq17ED;XΘkg\9-U\2fۑP"~:eۙ },jd|5Yx`[CF_xyRrI[4pPg-eז6Tiud[*cTXF˹8e\Y{`.82Bd%J^D$J]|ipGD¦t3d^0_trtH L&o^wArk;G]쮨>-XMH[?ɤ4#;mBXHȘ]`yv:Bjjx'_c2'3[~ 1EYI IItS8IS|)uM|? dlFsk.~+>˫[}%S4~7J!f@>sՐ$aVzAF R*v`#1rM}DR+, |'"zYGذHLE<Ԑ2Ru/7nZoV8L9MH1ƿwO{R=:Y_ ~/Zl8~YvڑrVa"l`Ⱦ񟳵Q&)Az ֔8PT|mWn{Z l Ntג{R ^d;+9DRdfɁQN܅K$;+M-q1V4%p EN]tiy iz I2S7¨4_ؙZ*Q*;rTw")#akxuF G,h*qZog9gox3pAX15.F9GRSQR#+F/ud1wr8pw_װ<^a1jp@8frAj<iPR7wC\ղ.1 {5LdxV\Uù9$lbiY/;5-:7nXgX'^z_5Cyڀus#|:ŶqdOң;M/==+SV`;`k9os<YOC׷YxwoM|6COrU1lgVk/K0* JOm4%zq^(/-k(,-,'e. vBG! bAA|>OM|2[|Q'qO Y=g`{L8wY%[rf UZ96X+k?[jtT>'md4,8D0HCFG > @BDyr!kh6&+b:J5V'f:_URiSzƚn2'H?@Hejr6rnM$ ҽ "549o%? E*NB+2]a^<Ե4n a#EB4:,޶lnQlĎs'iB=Vw.39j#] 92YmiӉ!KAaH {c"{ y8R"1St1 !sz'jN;6D;71z:X n0b@_; tm.}ҨZi GU>PuK#Z(m0}V?_'F+gA t9 aCE:NˇwǺSrI*i 17Kc@_wS]LI,G*4%c!SiMHEg[զ@o!~ @QV˰b?3\5 ] .&\;/A3fGW;7x[PiHqysw2TȊbT~N?,0ѧ;?B2])%xi>S@sH0Kp> ,ZG+et.@Ac~jѡ^f8n>}ӬU-;ThU 20IN^p+c^} ld-:}?͵ #eݫ:`}& IE?\0dN>UlmdϪ 4gKziboh8!`pݥVė`1"߻Xky̍$̃R=^Pm^!+ac?_?R%xbdEcE{U*EbI!X~g6g_/y䆍7s<#m'$*S j ('>}8UΗ &WȆV aRKyd+1_xjyI`Lm"ba-*̞{@Ϫ^ Z>##hE}0 T9<>q3NDG&cA\8pY;q^2ԤLd6Ye&|iQcV44/?k ʸ2ޢjz9,5Ӈ?_` L4IN}Yj# ! R1 !Ak}cq2>pC2V|jB:$OwC6yr>є _twEg̖|?MHY3e1-Ke?]N"{ncfy(AP!kp ^frhl]Y/]'fv.5xyCའ7%_; `nQv1P_I)WQ6 x|B^%Xz/Geg tC.3@\3ɚae!{]~SKJF7dqB}%x9jgWZ\4Mβ8yDx;d7k4xQ7wNQktzt,1礊;ȟy?nl 8Kv'_dS=mZpEnkTGCIɂ҈C-vg7*&2S PD^WCXqݍܰ~iX~~DW8 CňM|l.-v\ mAo%՝iba pծ؆u调W_$s1!L1*7<>0 ~i$Ď M> ӁgNԌcׅvd΂ ʔ7;]aMrf5`Lp1QhR$opʁlpuu{&DzE 3Xl%XwwqɥZd+= +9*;AohjYo'"9 (*;#+|Wtgvy}E٨0Oc$&p){ $XG5)a+^fU}=Q B-G|>O Y٣1qch/>F}G}?&lT8KyvNT`=h)C'T+ h*S.7e(ΪǽyZ2 ͙qTy8m|J:9qolyY0O2{d1y);/idhV{S:[f7*RҌg,ߩǽ)] %~~f<% ߃2ޜ68PE=OW ,2x6:?(S">P. lҤZd&E 0d &쿋^>}0XVS vz>g{.Ҿ@Z݌tݫ5dzLsuUq Nt|V!3`c!عSdx&!?۩ă0z k.,Ǭs_֤QusJ&qAEßg,(3QRljll} iU! 􄘇8`4wU#UOm@Ct /RPHd|Y/?aR")]Q!w\_9"dM\H7C衲bxXw;dyeuA#= !f ף :nvmOYVЁĥl٫WG@gOu-(ƳdtʵWiLXD ÁmG5pK~{s=&eΩq׬mkbs8.T2AEsOw)ũt9=}XQB\ŗwRb=[ڀIx[ц=fET q*=2%!>\җ69ud ͈zMvۣ+8vE?P8$M%@OxNb_v"2G8 \䘧(br = 붜4lC4!mQ3Jo(1aX(,`XiosV丮E{PX@G:L.ZN &D$ri^Ŕ0'VjNqr)TI0GN~۩!tqܤ^cj,VC 󑐭@O_ӱ}Rt>w.N^ ODy;+*Ʋ_0<|TD: r2 N>G" WҺcǜĆzج1 +YZQ-^OLPmL9O+Y(|R(辵i'zs$5:!<(4}h:K֓v@SƲ4f_UKRJj;3LKU=Qs%莠T9Y\`*T\1H<@qyFT Sn)~:sCZTB5GF\w\ȪszCQg%ј|؄qx_v} >#\Zfx&Wmқhsump 9c`o-1pÚt*+̶*q^XO/~Cm;/Oi<~xS)?~\ ;}}϶4HUC&)mi7R61sdžD2I$m" ƽ#;};7\x^hV6TQ{yGx7 qSz>@h5bgBaZR[0:{rkfN=ތ:qEa D2ؾ<# Kzɭ1;@ij(H~J1N!G)yOn" i.; 6*f}y s4db`ĥA>Sr'je-Ft!U#Rڂ"&0A!2a\jn 25WGJ.|bك3葚6{Lf]&l@'6zd/ ,LUg졁җWh7?FCI]pxxpJ *vnw\w1d&LWzNmrl6<>9Yt@lB^3OZi3σ;/b!x{lĩ,Hޙ*.%hĽ3ɃuO"Gb;fr{eA&1u U+cDcW v uLv@̿1? ERRԮy5)=ë-)<&8Z@ U@r%Y$c! .!<*nVo0& ً+5 T|(uu'tѭzп!F˧'L%1]x Y e*TьõZQCHyE<@cL_Ƴ&\_㻻a6V:i 5y, yO3mud%9qYJ9exCH\Ui(%==0:NO8PN@W.PmhB4Tc X t,mpS: \W HTαX$cb`XubxO)uNAY~Dj`֏T_q QOfsԢpJ4QkI}[zxඐK}&c$ՠ;LokWª 6 LK:cFo'K]vX-"kY^r2PꚊc|DlKyk&JDPdkDdrAm:&}mFY˔[j `[ 2]݉Y &kR7mם0iT [ q75)FFҨ1m's1 1(eV;BYIeVˊPifFP>Sx\q~bbL D>>"A$7/cmH\öJ@gvVͪ TJ!ԩkek+aX,ܚV S]nG;`@$s-K8'ٵ)ܖpdc1Cg~2-̓ozjaRhBʹϰPfK/Y 'ju)zEm܇c _{++NGi;VcFieέDnw?s4*4-E/] :b}ʹ#)ѐIZRGtw [v5;-ouǀ,! 6 v!GL}BdensPig'>N+yu8Ok /Ype&\'Gvjy%FFYup#V%ҊrMV yЭ\;nϴ 葙f]>]e&+gMd{^՞roU)g|(kd˱CWW^ڭٙPQ[Ύ#pVL܍QfU+LnpL8sL9(jpenUL)'m/v:)sF |W{̺8;t ׺h;P$8|HY9"| vk7;}=~+ ?ub 5B/,p'5L-0IT2.2ۈի?S([feӾژ B8kh=Mz27;.*QTSPeVƕ"N?ڕD&vrx%4>$<}{}CHbZ=tA iJ[ c6{:1gqY Fޫ'#:fqudQbv~[!^{E@Ex9o=.Dב{N =dR:*%ʢ7k8=:4 /J5GA$NYpV3Nh]r&Ҡnn\$5uF!0^2D /6!%̗~3اxIK7i_!Vid}M^:Ea1WÎcGm b?01G\et54^3}F$yBz"*ꮛTV8Esq?w|pʴwg`Vm&yɚsHƫ$?4aޅ W[WC&p?:Ht Mr;~`m7]E"rHKUU/bLLhbuAU>}WJ\;N{oVrs;meB^ ].&/ HiS&E{{01W|¢ghT .+B^.W}:cZybn -$<X!\b+(HEh`UzJgJ ~$ %Z#ȽETeHAP{8V.O{*CK@ItDyZ"&@nHءBzB}8xM V@{32[u(uPdgr&qMK$vfjMT0r/#פ3ݘ' ާ9-K%(GfkE0~҈K.Jڳ{xi_|#Yj( P>k>7x;u/7+=1c[PJhхtBijFr/FaT‰&!0Cs/X٩S29;AMSc:8\*; D. ,9d/Gb27E ĉO5X Fag~qSP~9B2y"L*! &Mw)f[:dpIA)6A(k cҷc[̕,bC58QI݃nZKWk?RǍ]vgm+&e#aQ4`":=K0uGV3^Q|l K}>=#J13e8@߇C*49)Q5LgH~#1a#5 PUz~ 7ZPFpJhoʸȑõC ҂[eav0ϲ:67zwx9$Wʹ`PTl@Oa>]Nj] h  @<РL9(St^o=SQl"déȬ1PwPo3y E{s[4 /C/TEB$pN-@Mu;UԾnnӡ> Zl[%1([?= `9|g20rlOҳY?;GFS #LOjnyL`D@Q,J+{{XJ" ` 8e`AɁ::(Q*_|:dfiy}G#( 86WJ``6AEs<9<5d 8 }qn>H cNQ⨗+u}#Y,T]q\)ԧ*0a;RriZのNOŒTi;1:PWK ~5F @9%nSiY=B]fh5(!J!CꢅhXo̶aN.BOݞĕLX/eDvR<`0KD&7!`i]¶%[ΎJw%24d'uc_(IL"::w}U4^]Fs_ 4MO{aq(%Blu2Zk#gȖ?G$o gxk=6B%9'UCj"L9ǥ鳣`qvé7eGJ>WjIPP*gE?N^ ܳb^d~t&ճCaL,fg@# c^hNq_1Xkpd,P.tWx޼!=II1+/A0܌#/M5\ ң3%Rn;V&`hC'?_ !HRGe,"x+c~&%T+R߆ebqSZpǣO)$=)tG,Hb_7%yE)y6 hqbLi㕼.uhnyyJ\z;qq4_y —4"r&t${99|pPl9KY-ܜB)u;KND ?_)QD=utB]hSf?NOp{yٯ6F3_ {<˧_;32LG ʂ{N+Wg ޷ׂa/Sgl/B;k:Z+o _c8KpSö jrTSI,h\A R!D1ⓦG%h l6f~\HKqKdw_FU {&HK̥1!v&LȐ~^ 8o.aȷB}{1-&U@MȮ,)U)v0l%f9fvĴ6΍T猒 hKi$fXAm*Zo;DDޜ:-;j V~6r"H+3dNXt>c %VAv0`[.UɌSKIWjx ז.+3c#QЈݕXR]uGL;AiT4hI0ćiZ H}ܺ񾻨 L ~4̣XC[:["XOH!LoPICdB,ֻ䯍t̓ \qx۟/G `{ëR6OctǖHv,eX4~۝yE;3>R}8X84dPnW~SD=Bb\N)D"Mv0\)86+ D_PG _ p8Ň3x[Iu#d2yvTء Vc@GWa&Tmou<}l8ߟ Y2%Nv~.οYӽ.B^6^d 9Œ1 ^|o"a&hTP!MEGwU pVXғEOâ82| Gjc.(YfDv M+48թ-D+,ධ։' * .͹:Vwr{ɧ98'9}).VWzV }R:}Zmu"a7MvhŢXhEt8<[? cbm+L1!S=. bѻdF=r,Y 6|K!zF/F]wYv5N9[(@E\%b *Edj. KoтuP(K+d%~f'Dgc 9clf?[b(rI!R/M\0%MޒoQ<*}Cqƞ a(9}y1gk{*c_:J5 n"qQ/ux-L|W/գSNynPۊ@dy6-m~ ~^ |V:T拺ſO4-=OALvf krc )l0E.ֆ ,; HcZ5fZ Ǘ[ n!W'@XH$2}j.*E&:2 ќⅮR#\nX:(#,G{/m_9zȖϖŽͭ D 4FܴP^֟XqnW:FyX d>yVۆIN S^]OW"ܧpR)% U~Ax޷z D9h QUL8(B.}|-l],3 sg, PkʗM)e!HJ1CJ_]p/રpw3CeQRR,V(9 B5R "v&3 kpF(GF I>͘?Uiv1 ehÃ޴w8h_kqW,cn*O[[=D)`㾫6|SușgMP0Dre{^攱&*0S./v29 ڰ_O Hԭ++)xI-ݲw,S.'獖FV HͶ(FxO@1_Ǝ%9vSG\"Z"pT.9_@)զ:-?cSI[U7&ZW̡:909u:Wذ9"9~( m~IHv2N3Q qswf40 xp3l`H."rɟQq]*[{G./BbdF$GC+9_NӰ౟,QsqnOA_G_X,u$$鼣 &&򢇠"c`FIkB`l$ơԴ {gm̽V0E6F?mFΟnEh_qKޛ3:CDDU=b~y0H>2gBRՊ#gb(hdV!]]ʹJ1#:JY`Rbc˱)A(+8Zsg1%%TU>4*lIU z(Y!|r|U<-Q<'ãao@ pU$dV\7E7,ӄx}L woVf"R?uKrz0 :JlJH_K '07fT6X,tu:6o]RWXMꭖP>#S@ 6͆f -m1O|mGLm' "rNuʰ0 O)4E GG ` ؁l"F1` 1{vha$mCh'w]2Noiڄ\w9}wh!tIAĪ߭G檨TmqA(LY4H'Ib 3Ogq!gc.uO<ПH-hW*ƢC.reEof#jTTo'@F"%m:ē;FJs"(;QBe!Խu OffʰcS2Iòlޅ=Dh斷6t7Rfhͨ HID%(.}o34ShV((p]@IiufJTjvoPY~_&aMY[tK(l;C# 6߯w"*`C`Ada:i`F-__~K=/OBZr%D. zs?Х.JA>}aW75T8W[| S#3>gA}O[I954_4 "cNvH 3B%$v'C[ tV8f̓F2mgL{lUܺms_"gx~9!g}7J ˃Xp[aS=NSCbD(hp$eR7Ğ1S j\>tOlzꍫ2?=9`k VR(6L|>iEUFU΄H`k1bv;ǨykPׄcz?]vG5'=o1 %˟&l]P;FHr D 3H剖9/+Z4H?[Qe˅ ^P@Ӝ`ZMO}s PV ?d{8dF[ޣb:|i`qc!u9 5=H0zݬ7Ǝ &U%ʼ^xW7v6Y|qI}.eOHYS!ϻ}iYǢq1bp׹h  8@H3$Ӈ$n*0oh K.GH&s i4]ql ܡaXҙ x>[K1v:fGjnhg ۨdkeBP+M7(a !)6%G/:O`_9fv~ZY]cX1Ƕ*d7E[*u\4F_r>85|&j Y-7[.5o?i+SfkX6C5`vHיc{Ύ GZ > e5TIV:wK44?7 29˻hʮ}%po̘4T F=jR;|(WK{rI+7Ť6~Kr{@w%^U#)p|>.3Bz-|=U ʖmWm<ĕѻ3O3Ot>d}UIiD_x"FZ"EdCu4ݚ NL*}Ұ" a.M)w<;c\ ,7q&R3M]ǙmUA2X6ˈAUK/I߼Omx_46?G#J@w< *N|BR̺*P{c䎠Wo`^}KR$4;v ,D&z\UK+1|fa_|lE/Du';۽BEtv# &o<=_ vZ!-+jW//pw4@Ts84OBF|S{J\ʉk,K~<C@|Y-?]J-Ĵ*O:є^ʋ^fgd%!'ulBp>;,}h=yu,L?|?gB1e:0H'ei]veQa?{)$R€D/7 ur~Ԍ艑]AUX>UuN6Y=Q#t-0H*OtߠX*8G1V/PT=W/f쏼 _h%$m* 0ӏw;8; 6DJr#xqe>FPk翉氻JPKkPL6b@P (tDMQB~ƸHIJ Nc 7=Z8+Sd!L,N IZI#.=;nB'hԑXE&J=[-=eh>ŏ +ec4M΀'Ze}%!xBYPMT;P$Z^}K)]n]][:!f'E|ufy wze]Gg!ؐ v}F.ƛwG37kwa"YI!L^bhz,LMۡk{m%z=mf8íd9NB16ev$}޽qvBp+Fd]mܖӞVɋv{;sX\{p d޷P8'K@> m>^ip4!p?/gmc6^w)Oힱ Pb᧖1LBܼ)x6ڬ"@{ѸxjϬj+GunnvJ'd0`*@a9"7FLPn}iT ! DN0,ⓛru#jbԎb~Vd~3]\A~ݎ_ toFM<PR]X3j#bR Ur!NnnYSSng' x;VNܤ,ot Ph._OFkH }Ll`{0DE6> e=}%x$[:!Lޖ40*t Hنq}}z z '8h h^_jwt{kџT^Mzi 7 ]_EeλKT0w}}̓!ڴ$I&h"<IRyOu!ҕߙT{P9Iei{z1K@NeEd)4iG]H[/=6E9&!Ap9Fj98̢)jTT$ tn&x Axe@OS~a2,i% ܯyq|AxyHg)}г>AJ8eAKlxAG^ uw0ߎW;qw79"^2G7{dडTMmD{J_yr%tꠏqt̙G ؘaa5#vQCt+yb_xWUf\u#G)B@0Wh GYϔ/p4!7d-T߸yW['22όP u}ah{ "90^ZWcFcA^wjHVD^fV\w *2Feby|$-P7Ff_j\ tW`/5?+()ܶ>ElzWn2nFl<ɥl /NY]<e񆦙w#x/@? Ph0$AeYQWA?0,h(JzNk E!Yt\,uf{g`Q0QzɢW"Q֞DI1:\Yz Ϙf7t$/dx ,d}"7q& ~N9we }P0g0vQ0 U9 SIJSg5  ,T&vyעnٳ{TIϲ,:)Z {2hq@HP!=lcy1) yT_MZ%Sc4-鈵1{Vz/b[:Cgr2ZIq8]jf]:]a0zrUʉl{.@!&[;%7YWҖ'|{^C18LafFɂ hY;znLMSW/!j)w*O !•]vJh 1d԰dgiǮ͏#£nKxq;Jd7࿽.[ۣn6H4 7FЪZ^rjJCD 71p_0`ţ18+},l;q0 t<V\/|.2>UHvdfmZr:!P.&p-B7sSreݝ0\Qb_M*w|+zsczLEy1?NrϮU|0ʙ//OSbJ4٭{qw:IiUq[(ROhZJ3j~p,g2-OF[24L߮(ȇ?hU39ipAUʈ7c**ꮒn돤:r=dZ{js9 iMƆjow1mk XڥF^yKt@ǡhQǾ3%(!,^|p*qBddogF*,[-c"tCJևv/,TvzPxS#d׹o U5$ yFPT4Nki{>뤣+z}Ƅl߃16 ?} f~_uG_]6g\c8|OWIzw0~WGFwc_SGNυ0N׆6)2m`>| "@;z%VX%r1oX]\]oS;Z+}œRB` VZ ,=8]BƦ5:W8;eljhI3)VsuTd ʭgemfRurǐL>c*V1e~h8_U 0wcs8QdBY;w;t=M a-AH,L=psB$ ;ITlzU`ծGCJ*:**I S>l8e _Pcohy{/8 H!*,d|{R c a4l2MhquY)\2>JW'M";r֋аD;Xh4Cf ቌ!r6se%%F =`S)K9ix_kYm2 )X32M|5(2UByέ8H9?$XI$B%VFsPK鎬 ڇr J} %?ٱeco㌡KvP\G]嚈Q4L`v5#FPsNM8Q>i܎g|ljd !iE7a}+rwMfqx+BR و]v 9X -R#9A\J}!]^V;v!ʷg!~b&%5Z*P"U%T`@)nqJOzi>a!+6D0:\묎i`ha`_fe3nF@H&XZߡ 7ڄ"_bh!b?؆!H_z(H+9><P+)B7=|> S?bJBAzoaq : Ŧ.BF*6NDE3qRY'[[O˭!tMʲ$1Ob7=RCM],oۓw诃j'wF-.RqRԙB?lP1;D_#}ōtF/W= 9-k0D:ˀnP^ǎhvDQw>ePU|Zb[u',+ωlKUpA.8jJ Ga;O2V`fY lH0O4( h빪7֝'jO. !v砜M-Fn~ '"CF\yAF٤͠ &n.=9?&}XiH`_W9C/b6 .I Bn=S#LB~" Q;is~;\~@<Ch5K^6Sp8}6Ck li \̥[|uei]~biN4? O24k:obK^)W7@o^ >.~("@Ȣ0=TF[s 1p@uߟXgmpӐL.ґKƖ5[%k^\Q_88 ܼzB<:!eLvW} c;::YDe(]ZbRZ)&/IHox?jBRwބHx+Gi4.^a&Pg8TN lN y?rB߹7e_p0YG'~ |@Wy~t-S;#eG!Y_+V,?Ro4Zw:,Mxԏ/B˛٪US:(ǘe' ON( s51CDI63 'BdGu}=Ob5/XPm$֕IA*JoUHx dB]s~zz g^A+oE*QGDI{^t]-* kPj8tS˜ h OZG5|ZNJpQ<4'虓Ď1Jnn3(?/}$K7ՖߥTxX_ ]n}!&t~ A.&mJuP5曰* sF4&ׄ7I2r[k(Fƹ>eTI1 (vЬq As+E'`v/CY0 5.j"ű?!؟^e|_I,Jțfc;jrf3~[_]$ lUeIo7ć304)|2P:p%b/g SLZ߬p/"W~m29ҜXܬJ ~-Lc8P>8ypj kW4lVT| `x4B/'LJ%H7J H[\#URs#@<*y m/8oNjܑkL=I()[mN=0dv3eTQs{Z\>akRo91H[؍6ki~Z,s;W,*k0avw7)Ē=kJ/6]J ;f><'/Q xJ" }wPDnL#m_'eyxl׏09'>:v^cű,8s?_kT)T n_M# EΠ>[juR+/V0u,Ra28?e:ҴIHMZޅ)x8Dg\gӋA*RMXgr1wj݆FyGOa#V+EV;ΏXźE6ޣ*(%(/{^-sILXc9JDO; sNyۑwҘdN0N=ȡ-Vn9Px-"i2Ҥr%~ݏSAOepFҝGhIw 6=e_H3Ul+9ƾ~s8E\0`$&|N_z(~ *Cy <*+5A#*M+Z xRĢvY,]SB -֛ VA16'jaSHĥdE K `80b1GZPGpn v"^ZH&xm-7+)z:uIFvڥS@tU~ëϜI- 7Lcj>)o$6-h5ص  *,P^0Y=H2˥}AT]h,S@xK 9mjAz\Kl(#(GY=@}n~(/+; T n/FB:Snh,'䛗))3&V `jok\%'nG1q_2uTHpn7+Ӥ@s$г|![=4&ߴtm{0z+iֿ W'%#yF83 j1rWp1>xkӾ 4I WvyDtQI3?zo@KH3r^J.DQ Kow257YA! ϊ>,c'K8^,zO&Y"}JT zuw nلe$sAX3:rd@ɿflr{=Z*; y77%.!*筠I'yHתa/b.g?9QrrB^=Tg/ `(Q(}@? i"438eFRY%KqV/ B_8cc{\e<5ͅd&+Q>2BK}$!xK[ %c?rd{= ÈlmnST/5gUUԌ{ z؁?՟x(SHܯؿ(eg8hF`"׵z}wSBBP~̉`6J&铗9`55t:6S}%iީ^GOq9CBx2o`.!Q%&aN/1&Y-VвLZF!P1mSa8nZNڍ/jl])ǤFB|l*sjaþ^Ztg#M6ƭcsK14lwK(+`5/(9:m{t/ ^\&|l*{.[ d]v|W}!fZ}u`{Njw*9.Z(5}[ C;.Yd?n036VB]-- R5L`#7l!A^jݷVRe1FudNs(޾ݾ5M|!cr9`Џ[&.C[p)5$%i)R֠Ub0Δlo.lf'A$pn<} T& ΞyY$F Ycm/~e#QD12SHYj3ՅDMvB˳ ̸ֿT5USM(-ZNBRt\DđG!vT !,xXdBP\AK 0$sJO:ůSQʉLd5|?moH 閖K`ܨ9DjQa<g> - ߎ+O~5"rgߺ-vfBCERzȒ5'Lۯ:MBxMT^(+cy[xa7[ԭhE:Ia6]dW9ŷ~[_S! }WTW§[/@8/WBR$$wv­ UgiŢ{R OB' [̈'8AivVq禎ehD=9s0=Cu|Ӥf_Ha?u[Xs5V.IC6HS|tV'}ZH9&v5knΕy {'0͜Ou?uAt FN42A*0 O&Mw2UnRv3ϒ:uNjp~օ,!UqgEgXJe.fƨ^ϩH]DgYBfJjtzfAz̞S:GؤA uȎv[&~7 ^.}z)+`⿩YS).{FÙQcR œ╔:mWx;8 Mee;'yWA^vHqg=({fYEcg}7g f\„:MjU2IkGg=c}ٝGGn(ԯF.8@)Eɔ}%?fz $,XX0xLER 7ȷQvHsIZ<ԘY_FTPQ(7tYe& >-B֎ܜlG씦Ք$S5LF餝PvO7F<d{9R+O wP*(қ֮d%m(Źn k_4'DR>YЗyyaKʃp 3YEO/.9bTBJ;q!1:Vi _:tSZxcO׍6ŶhRL_pm/&.$9!Ƞ:!lY} XPyZd;Vn楛OhR*O5ލǬAXtlHU$2i?Žҽ|5IfbErt6A3q Ғ"=Kſu,XZonSK&% 0iҏ.x˾Yd(& `!6kLbQDgq:kʊa5I狋3m+EH)p[6Ģs,b |)'P^ | ~Hq:낙82h 91wlpPgn4yDYN$Y #^ /ӿ!'iiv7X)]yz!4sޱ묔F2]z8^E>0_ Os06z]`SC~W{fjtvjKYq> mPbHj+&By^Th\"Hg;)"[P@}oK{X:G'xA k ‰m/}ng:nq?73}q6cKZ]Cb[tѾ3%PABKih\d18@~T(%P؄7]5c#pA?mb^:7{ %/ 9_G@w'C@%SpT:ûE/A@ľ8W+7P^+*HoMpUt,2*[O }6TljVLz^AslW!+7i7҂k#=}KNtղVE c _VY*X4?("(y1=׾pp)uoyD0ba?1p?mco7^9p peateH%^o];[gyg=%;70t@̓ϗ4l=ÓT8dA/%#Z uz&Hړ܂ їx#J!nۢ8+C-ي`ͮF H:a|dí@{e)@w8VԷלY#tĴ@KS_MZX6 2S @]O6Sjfo"\\.ؠp[@9^lV8,2z !D-sY@'>z38pRVEo| J]R4b;jAߴ)$$fP'\p"Ϧ7~NP/␯K' 螗|\ Tc!{RژHQWc&z>q V($J^%r.G#Ǥdktjzfmh[)+ gfsk>0R}*Q?2Sp grsU=ӘP6_3GN6J L3EM>wc.!f֦X,D~/^ Re1E"$kmٜ{[ԇh6}V61@n^4l]Q-.pHƨ1B:__8y-ay7Àr灼 }i_ %nYauRSU/" ׌ }hՀB $MW4^Z Tc ZR@uFZX?zTCh9K̻هvfBYMXŨ3bHо23V/W . 03FqX@ENI-4$ER!뜴~6uя3&͏,dőX4;h1rB-AxXR޶'g2~bQł 7+wG*9~3ȫacçϰ_Bc%MiY -8v),QʁaQ ~;wI7S-x[Ց  ) 6Ief|-=G#8\|ik)kQ~a U] #uO9'}P[ᱽQexW_0h2f^H75˾\:kv@.Hjw"( >>.Qv j6폫9?ܲJ@6_!24wj"ʌ: /tp<$Zc* w];t 0ӕL 3ğ1*FAc.?h(AbT^g}MӀxkG9ͽ׷\j JŚ[鈦32`Pg(ee%.[5&!{GBV *m.24FX~4  Ԯ"8Π%NQLl]]x?BmU:@XL$[]36.<uVSǐ}>4gt[? kFSگӊɃRCK<1ڧwsZ^]n"sMi2j~3Da\ň -E8? %qf!R!x|m$3i&gǟW.SsьԖrU/Me ђqW-<]~9S.f|gvBZ5c~CSvsqVf|k{x8uu[aP>ʢ1.nCfdNf!miAv)D/tg {y? ;5h6~Cøߚx|O,+{[mffE\*jRfID3 Z@bHzְ1ի9onEg7n &L$z 3|PN݃wІb5&ɰ܅:in&3jO?1Jk.*T):aZq*fx捍 |.=M,h+J䅖-DEH$b qiyj|BwpdO18{a$&h?;Zx^u;?9i(- DԦm1"H2iBDI) %&䞷+ZR R{EsJzΒn ǡл,#lu$Z%|SN^Ⲣ t=S(1K 읎trYWbdgT/6.O& ͖l6!V?w!9-y SvvqW S:a贀çKk"KzӊvlP%HN 7dY~֡f_J4ck!hwpVu\kxRGq<A菽7ӖIyy;ឃ:,tw# ٙv=EWŕM?}(N#eξ) }MȠ2 @w7ܮGW*5ҸۧPdR ha,[𜃾o+nӊuF꼔igs~K> vIO+Tf ʣX0^dbA2Lj3^RO]IH} h偮_SuF\l~ἠonOnۻlKy(D:iV o} ךhrb-~PH6G14:If$/kօq rh00 9ܯJMV>~JٹJL֤Et+(]t:}bq-_M[h"{[)^ wـzN+糰͏bbi}eK %U&zWn*KcYմ:ۏc>PJA})oQܱ7FV6 s$_uDt|zYU>3X󍔏S(POm3lˤ%hnN,F (H'ze([xug˜ƈk~@] 2TxrctY) 4ݖ`wdlHUY(5K'}ˠ)$ 07rу]{r[0`5 rq0Rv,9nM${YV㬴"l0ѰR¢TTT чcȌV=9Cx]VP f V="1uM "y9P@Yw6kJS`Y(vkb#څ:.,WYV5%xjH3}udM ƹZ^Fpάy+ { V3OtҠ_P3=0(VVM_n&.Ɋn@O6OiӉepq:wB/I@gq$g7"|G|Ű}'='~W)vGlj?͑ V . 3O#VKlX_uqmKPG7 A1VtP6jpym[lhз7n TA-;Cϐ<wp]mTxgUPB׊WrNj4~;lv 8 M0Je~В7 n~xf,~`pgpj$/e<)$n(堻!dԦg|jqdDX{tN/Q"{/a0C>wJ*wGm%*u.|oOG`\(-U{e!GP ADO B98Ÿ]ƶzH3/-r>C'-#P~;$uШ,-c{7%Q62Yˈqc-4&!"]l)o=p7ӆX$*";+9>CO:ɭ͒ԛi:4**.:V=BGJv53L]^|?jaE":sq,Sश%'hBeVp[y7Ǫz1%}P-_ ?.E.Cy Fяq=l6CFݶ$[<)+>E>9ct)I7X5 kBTũ( 211I]eO'QO2`t3ڗws6ٴ ^Y4)7鬃#-r!8h Vu"l]$Yh(Ld6 n +Ux[OFKQlD1^)K}2StT+W4=Mh@J``Pk VɈGӠ9m.Cr+*3+ $vᘲj3ːӑZښh)9S%aIZN":J)bdZ"6Ը^ _1I SZ|ϨK9+Tr,R9IW_/ꬲhXxEgH..rdž{k4f~]VaooM$PrΰW^az3iH4%y>G jGLǦubDh}~@a 1ƢK\dtoH6 /dF~T"nL g\r.';sA8L]Y"M&"9sBnM{B6|mm |l H)'eDMLJRE03E6H9_:p_fTèx cL3\h:2U.aԑ\D`Sj e!'B ˦Nϴ M> 6W*|v&}:Y)/ jCJ26l6ZJV[&d4‚S߾ g;^y4l[0ƨF̤$.}L,af4R! 䰸Vv eQq kGہmPkjS=[}E K)vݕ >JY\#lZzB uz-R{P!]Ց=#K% a޿O<&ټ';Hy ڇQe1%/W> ݴcm& mt#,hb,aƷ"\G5{ Tv)& _i0P̓.Ux7dײ 2M/åp׈3PF Xy Ui d& -:Xyɝ#>93jsr=?#%z].+ |;;9:-7oHiVg1[ǷGfe30l4_WN1UF,cX \$~{ֺL 5q&f 95L'w*?87qԇ3erޮz{0aaDx>@$CM8$|FX~vϦ|/x0~P 5kZ3 _KAgtԂtyD̊|`.YLZa=g/c< ZV[0v)]Xϯ]9Kd>_ !8Lz&{K8 ]+:ʁ 5ۜ~E@gk+Z7K"LvR7gldrHGqvnFle]v6`ԩ-iخ$|/%Dt{&J12S^Q=3*u jV5bi]ZnvJfK-W5-Szc5ߛNjNP?$!,hٸ>l|^J5/1K4HAkڈ%`wQ[8<dѐ\rb:|ϱOfj+᧟r,kyĵR; F !Ld oOűX ]!Jv2Z`-}]CJ{S+ : +ObZo3j2Ug y܎G|9 'gOۮ ':5JIaَɄRrބ(BIwFĨ[_1"f69}^\J%l!e03m-ʈAM9'go%~naӃm'X`i)^ƬmAҬsీudr>f!keewbW8()|RC\"~cw݆0ԍ-¾WO7_^A m=>LU+E$y6 5*$} }"tgԄeOߋ_!WEUjb X%D{T;O F kўČA&DR[ݿQܰtk \_>` SG .i׽:џ\tJг5p">^LE]-zk_KJ펌f.0h~]A(>yiɉe",ozpA $AϹc`߱h13i!cT u=/C|Ől9#k6 @HzF\%1;(Q@`?|zuj&3QKZm!(8O ^a^%fA; >Mt ]_Wd䑙j_JhQ#)]C,$3T^ TkžVv\x2 "%)]ރa3ݾ~2׉ 6d}n@X= &T-zsZp?qZDM7[Ml!'o00YѾqeS>5Fe4EZG\ !DZ*m3@C& ֤pϊF j((>  7cF|JN'e"~D޺ME!8}om}ʦlQ}LtD_mSb&ű5w8B8kfjgZVM99xP7m):H7SSSNG[]BHJSfC I˿O:}_VwcUID5Uh*`==DI,ŗg$"+11I .07O1C&Y4ն| aD0TldžIv7_BpzRUދ&?ky`l; 4'mOw^Pv7zo(lcwwO j]uS3}᜙oNr0$jː4|ɏUqg[h myւ1t|>u xkG<ֶϜ~NS}YDPLTTOEuld F[laK,S4De}.q(k᫾v6 !L%-v" (k]()g= \MPk0ج :T/h{<5)2և d<}2jq*xoF(eН2z猬F_g&&VjIC=B7%I|[VHęNPÄA,k " ~͹܇]5p( >cT-@V-t wg4Kd)}HPL*4{\C|k#E˥@ _r;QoMՌ;'N#ZDRXzבdC\,s6/Iض8W `EqBycb $G #mEc=-M~u t+[3lX1<$`E P\pcU`X]$ܢ4hfsg .d+!besO*yY1TPBs(JaM⢽nV ijEAl\X{o)| w mS4mipW` ZZ-:]P K':_+0k3U ( b5F2@ԓtk?(vaԒPES}0g&G;>e]z*z4B}Mؤe}rmE %ܥVS >6:ϽOqR62WSj=+,*jC?u1j=:"A';>3 b-CBfV Yv# h' \גQM.+,sPt,YE+s| I`5 jWk+r]]#Sc%H,Ħ GvSyhDGTMUMW i̳KYʃ2dBB-6B J2nF݄{pPJ2ȦBOGW aE\%Ml(9ȮD79]+ͮY`~ oZ eK:D󇏘.t=,X4Ȋ^ g4꘲3`P L=>1q^tkά% yCla"3 Becd_t-Ğ"jڏ:3>ީD8c2eژ5 Ꙩ5EuA4|5'`dw&4oNɓ`RMZtKD˴UuWT=8 &h|X({w{8MA<]WP¤ *)]-]nUؖZ9MX6A1 [LLsYB9`%(!HGC8/bCӟ3&>KɖM*3i]ڳm $ 'h7wrQpZ =~KVq XdzmvH.\4ݡ݅ pZ7*dfJ]P#Em!ξn~)eJa`:F:U7vw˥ 5hOrbYP׎# &;T9]/i Cdȉnlu%%OQGJ$.c?O% aFghH⳿Oi8kdq¹-n: Ъ:󕬗ߨW%mN{Oxc~)%` %4o&]›Hw iEij0\niNtqK? >\ Lk:SldY?MyV뛺&iW UQK{t(I:K2TjͭJ.HraFyL Jӫtn•#6rqgLj&yQj6a!D&ex@DlcofJD*e<,kv2NXe%] rV+%\Gsp_s<4z.yot>Z״Qt7M@X޿%IČ DUޒQf+6~o{FuU$P-FQpZd%>Hv/nvB !pϡW,ad6W{ڸӱtlS;QZ]{tLtc3}D]rb XI@S=iqi'*,ȋc WBKj X`0*#uS=L[ *2GY)(A ޾#Ӳ6Gj4!ypF;sY;BWgs]ߔyh3!d[KMA;F܋| 5]lڡIƲYd-@יozA&#T9[P O^PrM?9wWM뮫3<|"oN-oOwFM)AxIb2-+g1"u49Ȇo bՅ~ZtuňB]gNH(C/8B#{J^_-W7y".Ddwi?f ;1T$2KOJ&+#~~I)Sku*>дF yF2Spkk?)& T D0RI$`4qen86ef!֠b>*F }<"&1!Hf5D! 5 oj.w2),#W.K(+7ZgK} ٍG:@B6&;cX:d&<յى+ 5Ghq۔K.Fh9&q?ehN/fX;1Zc({S: #O /bU-RJ`dF.? ZNM7{SU2EۛSE7&6Gae F3Xg@w:~?q,UX rUQ?*@6ڎ8/\[>sd7Py2ΖU:osK)wdEZ[a$:z"77Ahl?X4JRrLj@(6 a?o\}Nҏh3/ `şJA"@I wOt6!2yT]u61 owlxSʙ&2@wJxiEWV Y1 E:H86ݶj1h46 #~^#RK013U{RŎx3SуՐ\Xaז`i  _t!W0HpDm0çwx#6<6nT4 ,Lk <.] ^/r«s+);؅r5w~y`(ټ39\"!?Z^ȠRq&2 C5 4r'uˉw?Ttg#ȫy>T=ݑ]G~YrPH:xA<g:eǥn=;@yO$ u0S_תsnGj%lM =uAM0QPB`EF!roIP ,@SV> =`?Wcb f,,,N'&oڼfÀPVÕ`$bG@~VlYu\yF"6@7¥hG@ӝ oLϓy}ծ!x3~r[*@Y๺^eUjU-]%&r{A|/x{LPspvzbq(a|k9[?s/RGtqW(|쫞رD7{P1cͪo~S5z 1#$nK[줖o\OtB.RSaxG>DtiPN ?h8-$iRAt!39Az`!~[,~sCy1fvK);A5g$QIiŪ̜n5!C<LD.]C"3!qtYlR{[FL YelY6d|6+)H$d`؜tēl=X2KXDUp,u<@ަJaU>d<򄺠7.[5|mFy{Tl B|n/&M)7^\ʭx}%}1e,׽4~jpEC%)=A|',j$9ֻcK097`4}Jȏq$$A(4plaĎm Av:zʹيȁRmK]J}kȨ <'Y&x{#0:ֵHer+;lSH!`,σg\(IrL3A1}eUir{,q~_Z5wӜ!/F2?ݦs#X Kk\o'=~c8ҽO58X{K9-D*AUys'SY%DOU9`?nsG}_c2W'j*#Nq,/rŮ7{JgECiOy9k pWkb=0U*tK!MF^ u(-&E1(?b-z h1=Gc}Ex(t!:S!zZ۳"!i0s aNBC{0a6zOiipq&Ⱥ6Y_P]Z&VNnӻ;:"ze䱁받PTF lMY/Rz Wzz $Y*Ύxjȭ}0 p[BiS{tk MIjXDjzYi&FeZɛ}b|8lm*KD849'-?v6;&clP9]ݧ13APFad5 3gʞ(zꀿO?giO12uJrPC J2>/6CY*k { ޸kUXI8)p~Ɇsfd.*'jqg@!8WٍH" ƛY7zw*3-MMhregwe2f$x ߧ 4߃Ch2sUTOf%L88Ţпgf#ΐ.P cA4 Q;,Z0j5zp6z2ӚhԒSO UuBefBSC8Tz,y;l{|F,yF皱cq,5gAeRy5l Xޘ%?߳ Q f#еD|N~/'Q{8I]^i y3 ;޿E.0ƍBD^X`>4u*ً*!Ol&+iXvkڐUbϢ,x!J=K* =gY[*ksrE8n ٍ(}Q1)E9~3fjXeBIPĹV>f їR|a߷ 4auimYARsb4{ 69ӈ0>Z$EF|8KK(Ң8v fثN9~朥Q]*=Lg`oS_d *K |o7tӛ{ Q RԻ}V???|zHu2ji4z{bOufk#ղzx51:D)]:ɱ&sB)Q!<[g>y}-%+?}^L#~| =~i8ei1MfbDVHZt\[nU_~&Hg gpBͽԬD'\9ooR/]ܙێ3tMŀS[wSt "pÚ"r$e-1]~xc䆃o:hlAD(n 뚶i!^=@tQ|ϗhQ/SEI[sZq,_-aU=}M%n TL)9M/bnAlZ@Øw&Yh)t򄘺w@ OկwݭI7) AcKQ~]#7)\,e.n4V}K=pE+5j96FY&5(q~7y/+?vw|\KE.jJfkg|%BO#c`Xl_(NԢ$Zx߅_ l39lonjszTtb'11!tF)m;5n䫧ϖN:  . ΋~_5 WL>&s*%'ӫ#DPS:jSNcep(h1O>|[F vBd?<3 Y g4dԄ'Hveg{WWd1`j*dђ?CޮcKRr3!3J?# wIU:gbzEzb)acc9µ8S}&m e(?zt/6 ӿD4͗pd3ˏ)B6ܜk2?Cej_aLPJ݃hjS.ŇSyݱVH3 '1y##(FP$ mw޵)ΡǏY*SrQ5AZV1Z[XoUAS{rF>Ʈy AK۸R8: z莓GgzQTya= &8$qTS]?}( _RcFL*}E Ttr5yQW,V"SaTv\y%7 ér׋Ĝ%h_CCzʄ [\2d"ZkNK󡯕83d]{x퀅SX#0eɑtTǑ~X w&zYժa r䦿;kbChbրko+]A AKz`p \?Kp>H pXk6I&3jm.ԩtwißőiU | JN\1Ɉ2e5,жӜZ 0p7|EO>{Bsn┚l>ׁc^T^^?xx"IGJ!U[+}ʦ īYlLPC1~O[E"NjCnϷŪ/Bl/u@M?Ty%y_T7q,a`,m`UB"ȟ.K@LtOZ*fL(57fT=1xVzc:z)F Z i$!oe}Y'81 PľQK~6R RKF@d- D{h2~qiӡٯ!q[3ab: HٟW6?1,yn%NmHPy-dfsZqqp-9$fƲKڈ(cJYx:h%6qx@0B5pQ: GG7At*/y -8[Ioxza3{~460[~BC\+f(m.2`G\yG$ Dh{ 7];h[B L&;-®4)jVW4l9tgkb.fiX5;úbm!F#:7OS7&Zq "R0F4zqPǠsKn{W+Vo!h~Xl]ݫ #OvDOӾbFDCs3 F].wj;wO:'1zE; fK&D..k]nAR ךv|Kdv'=1W5(*wXxbh#)t9fSĢe8M8gm^"PKZ "J=k nnR2Ursx-Ɔ1u]mu}@dS9-†[*K}< as iP=[L KBCjD JBM䋤Dn~)*d[' u=lxR!XJ&5;QJ\8y5 0$’K"UH5%ϷF`Nu2^f%ɿI6Ik;!!8$9q-^V L@QcgȶŴ-XAtPX>,i ^NMn{E߃ gu+{ڸr?]^~݆w˖&<΅a>ԧ,6B;ttRh֖-D8 @޸jyvsmd)I [ Un}he.ņ^ Q\Eq*,xңeINwLn h1TYk8Vƙ]zA,o}e_&\ӟnsc.ҌIunm T}CU&SSKT5j÷[ػΡnܛm):N|ah;Ұҿ-y[pŐr/i~b_PFb2!9BS5s<4ݠ02ucљHwc3, b@s~R}Ӛ]MAi;MƩ @.EEo|x'sDn Y€$+6t>UtD'6cJ] z1\L{̖ec4A2<Bl}$J',RݚEbMzurFL5n̴Y=5Dʀ'5]c&mA9$sq+H2^b-Q,1l/S_{]Rȸv՗Ŋ}s\Sc*3cMOK8 OqAV+`%C:'}7r|Who ow-|3Xm-eʠ_yU2T.3vye^eGB1) Cvhbdc }SHOK=.=/yIWr)jHs |1I?ɁTc*!dr  wl)53?E04W0awF:|WmOI5nKkRŠ'L4LM\IO~oZɔ^v*UX>X 4>N97fJFHgh_ DR>|a}Y8N;Bp~Zjo6Z&t|`23G{1 ٗbe\pxZ<͜}ڻ} H ʛQyҦk[CBD\Z mywLܽPO !v=""=pD!n9yӵt"r-eFmp 䌳,("Tk=SH\]KN{ 3]((7g2g%Q Nf }, #Y˻l=ʆof@ÏeI4v81PK%4BSBؤ {~+69oom<@@ܜ{ڌMm;dľ sph,v"1m=rԤ@wM1,^xb 6LI]Dyzr:Pל)eԠhSR6tp,߰+dJ#q6^.:Sͯ>y.?}0sϳWO=I{3[tʳͳq\Wߚ7 Ԁ cA0iZ8X!xeHԤJ\Qj_S4 @DV0h"W†,$^9$=y0?t\"IvJ\MQ[д1c' o7qEHsWSdW[ (z~撌2N,9k _e9o} 66$M4ABg xC'y&^6*B#LXM(P)13|vw2dBHHU01LNvZ(jrQ,:a^n?)y&XWc9?)Ѐ`Cph,ow/7ݎm /"{^S1 >(^ fkm`i𒝘r@dYq4o5Z~agHtз.pdbT1S)P dYq$Xq&E6Cd @'L7:Qqo-՘FT]/tJW@Kt=ǷbbﮋKYB4 !CbJÍ]5(Vyib }vH-K%G:kHPBТݛ4$v #g 8cK[k%H#Nfe`_,b)Xٷ=k6R)p$RRDx!^J+DoQSZ"Q +(d$5Fd|g&GX砼njD؊Nϵlujr"H0 |H*,T4k}il/hRWވĮ 2E-9"/>O3iA2f2-?1}D<焭Ur GWX Gն;)rDoD8, nVxHI7(b \pnk7`nt'WaO50A wu 0X@M0.(duFio:mZ,!@d+! sSB\.zd}lO\mUsw'}=j˫Ր)IDmzs=4{ 3gD"ʮ+/U"6Mt_[?ӓ>ie&$; /Ky\:]1 BR(r22p6kz(enwAp_%4wն6鄬?;=ok BE:2k/Dj~~,_ 7^=m} 8"6-ڈs 2<9*8T `XX0_-g]5ٱƗRr=M'%\92<,5ŢeE8yiy闄O5tG X$)pђОs֒UV;,o:"k/>F5CVc3+Ĩ_:8u2htA dK9mu2pU(Ď}UMەТ6a/'NK," VxNE\ 1M S[gqF8E +:m61(E~ݥ xy}1%6l ~>whT&t>)CP-XV͸䍶3'7)?@:6f"&S:Y1yiq6|d1Y?W/Մ}2o7*\y羂Utdx62GU5&΍ ,P|mzo< h3t[3r<7}-4ޏ|_g1D_o'Pa֫Evp6~mH X޾x\paQ }E6rĸu|%<9Ydčݓ,+rL guy{TwDVuHФ9WDJHyDHdo= Mh~ y:,|'*da$p/w$2*{ļ?р  K&J 4齇:Nk{\ ֜Zo`i`8x U[U*&ao Mxs h,Eq ^{?~g'CX6MDYj /2@TfHBVU 7@/:ʓ/P5no! ;:kyV8 ̕Z_;{]H(էQxg$z}ܠu? @gPYOëԔ«ww"_ %*"G;YD8O-{<* ^ p/q':AV Ewo9?,H h9&c |z։ciR"f~𚣱'$}F+v|,]ErsE( IO4ˢlhDݢ1c'ZF&̰] Mψ OzAujqQ=9j&>UYn{M: t'0 E quFm9jc^s2ڃMڈ1emq]b_"|-Հ?qy—C-~4eњT7TkCn nzó6V 4wY\Ҡ !@KzCl+I]K"o"Q/'3ٴhΦAHBņ Q^=n"fA)r":3}!mZ+O Lvr֮^}g'lHUơ}|/է?\:Ubr#м pSEx't 8jdAtJYVwXȄ%k7zQ$H1o8ti*W뫯a/E屠 h&f'+"bg1"\bw$RۯMzzBn$u7M)Yuwu|ZѼ15NifzF$4Guy,JB^I2+p%0J`!Ĭ Sr GM,?FۧAt봧Ave> )GNb57\om\~1"O7]_3.)W> r]J -[OEWf,:.CY(* *HfS0+c^Yc8R^Kܹ69yb$vɃE)(*".w hƥ>HCQwq?~WjT|rJ8sQ_aGՆhRήs5{“} ۡO Nt,(A,,"!nDmEәB+1o}>DB lN{T#;HDCKbFzUl.)A3RVZ)4 xܐ B )鹽,O,VǠjD 0Zub<[H'-q䬭t=Kj+5 Ti$Nջn,3$.O? x:-OM2+rd5y=a(e&:, j? 3PѮq\-hK"vfŢn- Kw5Z$^xY.B+6콣=!Q/wp׸=]^B^Z`m0rbLMY !7jhdOUj֯`ORF3THWF…dډc:aLx,6:̡?\B(sBN3&aAR{n\ұDl-#zSS]cvXA;KTlj,7>(9~ &@wiSqh5* J`u4Wbnv0T_!5#%^/nlObdggh˚&l >m#R'G*ŝ_PA0D_@(ȼAHo_q#eV1e" %x3Hy+11&!AˁAN~údwa8#UrvES|KjK>uEd.7*55A_qBpfQd0-“uo/g; J)#d~9T,ᕇ;(֚)"+߱K$ 1.=66ZqKnDpD`wCF9P*fiN^U"/zޔA(LV=;t2<ܟ-J~պ88;#G5N G q@c𸉃Զ| b7`v}+)AiCG@#!iMkl{J]e֨".s Q= 3D/`;C,g#FĊYzbCW1zUnBM[R堠%66ݔ[x_N*މnwUG\-0o _r^@_:${u~䎑vÙlHxRMJi},%O@P\rB1iaG9kqI4 ʭv?2a)Oankq@( y 2R Bp4Gj^1C:3!m*ĴэXپDS#-p8W) yõS/ݾ4߀'il G{㭓23RX^78k#zȲѢzH5SU=`dH.CqG-X`U$Q 7.#H D&gN7^%\I&-Lz9QG0^9Y))Jњ؏}gPԝ.$V}?xI~̐ydIH3@|ӟP(rN Cٸ$ Pw_<@X_=_Ƚm^Pi.<Ϳ{ S{w[S?to|߿ݦ.({=vL<#>m 9X&@R#x?%j`$x?:c9G_ ASӾPVALm琼|3g-&vE㢯Ɉc+ XԉtĭuX2uhͫ'F06d4Ю=T -&C58(U79)64U9P^Lg;hׯ'&F62+yOQ3J#fGSgzLjkݳiVY0@%eJJ2#2(·O|; Uy=4Oqn#_}@[=ipf6 hЃ!_]^ݘ'ݸ@ ƊΌ r6$2YkNa>Q L.4֋Bۘ/yi.7jc'BN??8 2MlHnƼ3;8iW,=gQ!3s$+ůS}K^2(gl12Ǟ3 띶k R#=w@E:_Pvl4yGtrrA.3hK(. vBTX26JXǰOZdA}c}F[ٟA~1G !t۰[,'i-#UF4H _[ 6/ &2".^e2 0,;7Z}͢/M)EF^0#?!kL1 j4s"LE[oChU9 p`~7Vn"]t*wh=ڰ0DLn6Sl2>R; xl[)'<;`:t)"#hc9; SJBg"R\b($}S<Ȃ&L"0`S`PSĎ!bH0ڜtdh:@#k@=gm2$MSMAxYU Nl% WCK zJ'(^< ;0N=XEA"|uF;eϥw>ky~'.k 7=f`Gl(4 #  ED7\#[x8EꐵH Zw~7?L_'1KgD;|!B5}r E #X`SMc7+Hhb-LR6JqayǼiBvVIx@v\nS1 7]3EXZn*8nȁGhl`4WgrYO *m˘PZ^Ruf&~#g8(4E_`wj6hف>~7Gˎ|%( Fx|^W}9hǠ&e^Ћ~b-Q:Հ"y i'AJr|A[dH?6SBFH $5ɰ-.Iݺ%D Io]b]}0Ӟ5˼KErco!]-̣&ħ9wt0N}4ojô'(^ HÏG* JѢ\lwU&jl=V|HWN/t5"13[pT"|z }(To12 ꑢ1[j֙rڣ^@pJIO60Q92[0a׈]8K[mqK>wrOT hRF9XɢOYKvwS[U}Mr*4E")!@ucϥ*HNb޼::4Nd /#Zf_l}fR^U30#oB䊛=Bl~7$ζm@JdSxwdoˇP*$9@B=p;F0)׉_jQMBḢ'g3;g{N z|3* nW.sg[M,WT*ę_jUuI,,>oS5^q3}v<@e=lPٺsݥUf5q&2vE+k E/E?iotv'H2*^"^!#I.r2vTr$j>9w =]ðef(i֋͛!i'o,cE꿿`m8N1' j퐄iöYCpF|u98yndZ'/O8 xV!HT@_ꇯuOp˞8!D9+. ˽wa;-l\3h%+GLto@؋-.=&\}3|JG <)ȞZÀ8ZnRC(XʠBr Rwմ\\ R$qPV% !E,!3K"kLB@Ӧ _,WQ$eК$ZÕЦ P{6iRYF/_k2rHӥ\4XPB%liop?}#dsi)DS+ _~eѻ1s<ȵvp'vyBk v3`}N0f,0]Hh4R O#u;< C z8L)O$u\Ya߈pؗZ 3|Fxh4z Q'xPD*SsEN@oV˾7@J Oh|CoEsRSP7'y *p;,5J&M,x3}T -' "mi"*i:,/Zi8g*Yڐ nbW\ B(X/06X#bXG7/$4/>}0:61>s@Xd\#{"͏xUBiDN(uC,ϔ#!+92+IG j5Gc Ö9^~ub%cbP< ʼnb璛sE ߢ:rKay[1IsTQLKp-cfIbcދ2X!&hO!c++XҸ%^[vo*f%dZٍAV\l$%x}3׆OȻ19ݶ3(, ~ 3S9嫻2T+;B嫱-66Q'Lumf.#gύ RO\Q bVR؃Y oNY =`VK " GB2Ny\tZ̦nbFw$FX~U 'W*i>GM`ELYZj`j>+'T!{P9@D6áU^;ZPYs0W$0:E mK.O4ѓȚky=P RD!է}lF,6\"fI]$qx"ě}5l_}gy-5R7U93?/TqdL8R&Gd`<8*D~u# uUJǟ{D\r68@ `uT/|&%t=8 1m)tczڐ2# Xr}T,4c/8 HgCF; e`hzTLW DF071Q1Q\sR4>a|K*QS0@ُR\NIU( k%v.N> YX7K&SM*2x۳9v; Fq5Jf6.( "o !ע)*VSEmHzxd=]% Tt@4'D -Q" 7✲Ba@5uۂB(;d dEOLSkE/oS6d6B.8: 89ɕp} mz$iė sCc 7ikQL\="kt`#ogɒ!<~^=Ћ)|E)3$sruP]kbgkFQѠ熂l>U^"9_8=L85/gcDjBf22c.^;3E/}hRr1$q-қcIaڏWͷZٜimo@Uih?Y @~rT}nr8D5.'xIn+;s&@;\GK9¡u.LIb_N;}o>m 4V2Ϻ0SK%s;1mAR>+7GH7)D`H/C$5^ŇG.ڽ\eIJz=\ff#=qmAפ$k/aÐt%V []53vo4}Ϛx4kbL86ǖ$ hxvYZ&bq|隚<)iiM :=IJ5N q<;KMXLUf:z6w"V>>q!uE[(Yymv͛VI*H˜0ѬڋPM .+|,'xxvu!Ckj)BSSPe%0f vs$&ghGɗ`/fZ`;?zG"kipmDѡ\\ӵt#븩J-}͡ZZ m=q%ZLfU&Xp;ُ-qv? setwy\&,g[g0' &jq?49߲ N-D)VP$dkړ0jڝyrFvZ܈lKqzN2/#\uBSZ[Y}^<M@4a*P?m;T$bS&5LdUODN4W)¨$f/o$&C0*<Xx~|6@LG=n@?59oRnheV\mAT`I]m `Y+;oI4*w,/B"{]/Z7!II(f՜l£ZA3fL&Xlad~b4 %~&TZ+t-w2;!w~bnvvx/{j^wٗQEKm|TvȥUmO#݌I=4WȮ铕<7w]o !Sƫkֿ,Fvъ7*z}TٻaZro3-ّ?-z9c^:Uv#XBu. Gc@^|t=q~]2vi(jXEzG!dT19Xj%c2*:uN"!;1W=p0Jƌ^ ZoP9:ҡH,N|JCfBi7v_+u)(P U1b292Ao+>hEkJ]Y/ I^Eˉ 9fgV/*!LO_,达\}ټu ƕ8WO_ưv46{ߢg9)=n&/Gi XHάB9eIN$x. 9jB &@U61U`MOLH~0L%C;ɪUp9ʳMG.Xu>7~/v\KJVH+)1ti/1d 6tUb~f8@0Rupnn N)a~_c$7"]>{eb,V/2D ^9.C UH;HusVS#m5):??&H_f"iEA[zd%^6snLp"@Nmgݘ1yET"vhe QCXZ27pJ(p'X)Q7PO` +ksínݸ'4HPFpb5i@á*a` E(q 4dI4PBndn c}>;!v-ex*p'65fK(nB Q ~Kǯr]O3O!Sz6 0kj_: f]-2v1R54!($)4Y+j`2k'˿aj.Qc2~,&9o|(Mm{*? .oXd@LPMH13n B %RHd\mvWi!*FE;;Cɷ0=4)/;$ JΫ980/[4[ Ժr}`M6 Yh L *xq# ,46a5)_)` ܋uBX 9BrEgdgb(;uO}V]y|߫ 8o0ZW[w+h,~o1 ]7K03 1]6q6ǖ|FTN ;8j)/:y!YI`@~zw漒. َ73ѷf}о/Wf8w~]٪-Ntdh|fΘcOzd^ĭra(/_/?h EE1[Jy|SA?N/cʪMfRJĹvDžzcez'UmRhf0L3Z )bdOE܈-=epx-h>CL4!^M#OMU:u LJ&O'#(l=fP ďfvMRnJf2=x/v,rG/+!YdH #_f䓝.l[(ΣoZt_f(^2<<4yʚ)iqꅨ|l`R;7:į@MޜD_4 Z8b%#곷Jz@R(ԉ\q;KGf1O=SU,Utlj{߱IOQ+$3JC/(BS8}Z&qW9~ڍ5=KԓTQ.$Vx9ӽ:$ZE?{C\}cO}.AM@zf4b7`Z$Rٷ@EJ]jP!u(sRָϯ9͓'u MF5mS9|6&-BW̃EgBpG :j oU0B7vF|n4:aK 62W VNE;)9, 1gq& oMU+/>8 rqz% ]> A B躂}OBF."1XN_2ړ)m-8BBOGx0e] Qnmv8'Č8зKo? wW md7$) Gz> xǐήa\e勚&Mז1g_Ҿ]b5Uw'*8br^XP>] NqUt !kgs Uũ(pq+Nc e\ᶷnv=S*=[*Z7%~r]#ǁJrj[>|8G398!{)?fx6ֶu @! WS7 `>Rry2QT/T}5Q:"z ԚYeYissm~Jf;e2HVm2@fl>z;DPFv\mv58{57r)XM>3wrhXlCHa-vC,|CЕ$.rr0~ x@lE :bסPәޡ7Fi4 \?̵|ms*-5;{4:}5L|RʐF#.f c~f vAX,RO ɬk( u+1҇q|q6[Pā׮r{Dr2V_&кmh}0!ղ hې|,6s|&!cQ[׻B6< Z!x۷"5FX>`S{ie?k (z2]!T#G|09^^VIq"Ym&ozXJབ">TlUrVI~ wh3uÁ)\vL3iiDNt{' %y/g^[ʠ?IRwlA12Ay:mbDnL$ӋmEJUyCJ@J wAM6ĭl!Jgே8]z+v3) +,7iyBIgS:VX%dWuHb**Āx?"E% Z~Іz:dُ{mեӠ+%-tfb]ۆ09&" }%NhhkhCct8a?{Xy2jkXЫgJY՘/kSǦꬷp~\ظǟnEP+0A&fAS- %Bdy5x G+EFb&Dk!'bBObq"vAAxʨ \H3k*K3#x!$>CkhpH+"w~ g}+ϔ]? h=̽3P^ly'yZ;s$P5)k􁗶Z5,-tK5A̧9iFt"ϻCѴ'HaퟺUc 0شQ,֕>lA0"Ѵ̤]԰'lyu_ _eV(H8 LIHqÁ/~守s8GFߙ GĻ?>)|txS 8$u)q(9B&OFx9yzz^7Ќ'OSvͺ c oi eky;ҶSup\>`5K|RV-a"Pc5P따S=`bv9rׄe/CO(ި{5B8X|{9egvJI!؅2O͆Ν(o ޷rn8h<8D?>Ԙ;Q[g6[ݕlhI$t6i[{DvW6; hg|GJKudg]G IHpL H ʜ;8'40)=}pqg=jPŝd(BR49!$cz t'|J,gIFTLky]¹b&Gb:IZfv L7Ĺaw7wrG(w2:$'#e\!XHkfssfߧl@#P)2\>8O@& [pYw,j  [VU{h:˶. S63d`oQ2]T%/? t :_yK6vH$To Xa8-LD3q6fXۄ$oC:V a n zఽh\=g=_zOX[O{V ~\A]8Hڲ)ǃuHez[Vί>bn9Yh6[  k-l)tdM,YLӫU. wCj!4;&ix{ލ-%3#0'0됷JNI&x !([/[ }̈Y+֧iS`Vy#8ֱ6ˠ~LEzRJWop1~=oǩnDДAnyL aj>YQN:8٢IIsIxH Zh`(S-EX ĥk;J"߲4%4u=gWq\֐iJS,"ր]Y `{^-iNuO 1շNy*/ ٠\aB9@Q'6,j1KZ6XlCjAz 004@H{DѴX2 ȴrki0w$尳Ng3 >j /*\)b ȑt1\݋WnhAܰR4uK|Ww>`? k+e|͈.}eGR=o$x/üZ>;:`|jMg$ O9(J~حN$]HˡԼqA "DW$t8F;klM^I _V?pꢘ)xWJ^nߜ\RBLjgvcǕi\"ڲډy[}0Ox\(m r0g@NWZ+g%&KOòw ^\t*@i|[;BNU gtY"a"6Aػ9  stZ*!!;#B{aeFF`3@D*~ǠM`T+TROc!$Vke|;.E!mM4ބMN\#7]rP>g0 z p,Yb:zwM1Y2 vX,vw:#釋zX%cFVܑ k@ TC[hq 6|J|gh7$ +u0UJz;/uxܡ9Ir;%q6H3þ񒫺JYR^ |TM=X*PL<1 1Qv[Y,όRT?nfrH^rt4=_>fp ɗyfC iT*sq ع]":`427/M=7? Nnp)-Z*}+4:jS fugzD]D o~c$^|, KC,9YZ9rA:\,*A׬mQr.wA`KO \G{[~tbɟ&+eu' &m@P\#4 «wVcBپQ+ţ,z՗5X(x8V1%}d*oD]2fuMKM=<=sjg㷦~q e"N'oU~E%h#؆˽FQZ9 9Am[]$VheSZ0ߗuNlbT8( 㷌168V]}g Q5mXvDBi UD FB}w ܚ.z=a(vgrxڼ) \*jY L}4Q|"Ȅ DP &cCpEus&wi >Aݰ;u#q/i-)2T 2өx#=n滜=bdBSធ\7W",D6t{#-|&/_il|4X1?|["R {6H Uèp"gF:(kq*7jAy' |IMaIm=[JCӥb6~PW Ȏ+)F >0?u$#ż.}lU.^{>q;=vRf.A#jOú|Rׅ}˹G؆ PSS g*ޠE? fS$gO&[3ΔZt{tpu;1Q =<͎Mj,C驹'bvĨnZXtAKw僕/?q;m$+_ %;5+# N rqT? o\TY}Z%4Yu ƢR9@Hގ:io1qGв6ۡk <&Rj)jtcګoCw{δ}53A&e.U?e,*61FgՉkBN>zρsi ̢38I5YU1~-;5<6N!.u? )d )|a8I~!]ԋX񺆬PkqWJz.O왜&t@q$5mn+۾os4XHb`EK|LLM0w9Uғ3"d_F C~~xa]D"j ּūڿN] TDc9D?)tD"+ ®1/WrY3O!U5Chx?%Ey0tMN:c Il{nD~/IZ''/&'b%֟7pTmO(6n?Hc,+O=;K+s%YN!8U&WV'sȨ$d?ϿiV~?!qyW9Tv jh^##c(oKp$A+e]k2-ݻpŕgHVfúg=8:@҄7(433x+^[OF,vU+`ʻ7t^+Jr_b*Cj#!V׸W$~19755߀9M !eObo@@{k0#v"G#'׎~jzTwvH@Z&/gOnR1[#ʰh]AT-WgP& 6m9yLq;;@0RIr1 ~WdTb_;??2>S7PScmqmPBzMHjstB0 0L;̌>ۺfCn)ڦl! JHw*w4e&Q6Ota_B0PE4 ϝ3g*]~] =w,u nEѯm*I~x! @w|L-W&VZ&a&w.Cfb96+1#g$.",usOCQ\2nJ^luL>eO%(Pu7$ͭ 5'Qgzu ޚ:0+F01{ۅ_%Ч•\`ȻC-hUn%K4BB߀}B_6mWgLMGlsg⃐@+|sĻx`H{]Ě^NZ rwUz]ؖJMހC볇U|Z*&y!8ߐG3^ z;5GUqnZRk, Eopȣ.2r A#L pV0:9[);E#3p亦ï}qxCJ0nK%R%~κS5ӕ1tvHNa}1+*_;p2cLj]La0?_Vk/~|5^ Qk/]Kynd5NaIA߀Avl%Tz8nqcop cK]MM #8Ũe.Xל JPRү& +[pi?z?2a2|%6E+(AiwUwkydһǎ Caa*cx|)Q%a}VH(-y2^Ds O`iѵϰ^)לi 盦=0cD-P 7wMS@"EuNS)yN7YiJ9'tLZALj XIoΉJPy|qH՟"R^7Ac@'_:V(O`zvyb#!)wh D/J `!7hUV&mP:o~l2vccF04 ]5([A9tL|x,`0Eu`BqKYui~.ŧ#{3o?^󂙢[ps *tk2%TSi3H䓱 @eXC OQ_HD\v$o.j,7SUܥ0ql>] _e80{uɰ xBiRGk,yiw| s9 G쒲N@W湈:!U8PX OA+y0!B # pj0%`P)r6ϴ8H}AMXW]CI⣰=GfhOx:U@a'9Ĉu%C&('oEτI?RZ;{Fd)ڕ;8|UOYل3IS +/ r,خMw#_w=8t|މl;`j2ͬ* 4B 37@XUL X9(NJTI[͵!cV\3&˧5,:=Ͽ-uiɏZLzodžP8 B1U=G5sIM4>Hy|F?aQf=$ʴRY?Wdvڥ`,ⶃZ 4Ы2 hmIr:2UPapZ4|6|~G7`([r#K`P UAP'%R2׫$Ubx8=ag?io ؊smkU\NCT&i"}!4/`}_"$K+h ml9a)䛒D$܃'c7c(8Î~ZNo~7:V||CTԿ b)C @H;-8$t&1u{r:+V,hm:E7Ze鴺 껚3HW=(Ha$RodV= 0ot;R!~,_ Z[2[^ I46ygGmZmӋ:=q/A-:H /C \rZyXU!2gR e9az@= {Kn>Nd*o9X/%{6Y2>Or_UV~\tj;x9 +vTb 4xwMͬLZ&`v9W7"=2̺&A)-uepG\ѫJ )@3{iBJz=5DnhatEK]^&VM{20*`}Ho^$:E U!K&L*a}&:kE#_ѵG|.|qhɅ:YP ¤ǠSxx ZvGJ_.Ww4:WPmkقα &eY|'ŷv!=pC"{Z;޶8APCW)L+*)#dv=h^xԉbo%i"bq+2 #;cޟM(-$207.*:n7n ! |wXGrT>l*Ig+*!l)D#CL_>DvçR~U@ԔR&Ww#SC1|;+stG}_(:;#doO}pkjn,%36$H1Y *sT]w,:D򻧮;= GR&R!&2& >'"E%2co/6$U%lYx"*5EBm֠X&h-3E#a驻cQbc85;Ytֹ.!=MAAAACk}bJ/<&thV$ &.p%Qϻ`i<>{Vpq!^o l{`[~7T@IBs\=&ik}I{McPc*kL #h1ͫ/U dݨͨN>v/.:)&qo9lz j7Nˠe8|oӾJpC'z?KHr[Dhk?08tD5{cab\J182~,:ɒd$d9cs9Eya1 q!D~/zdN3 hf)  ڋq1#xGaU z ZśsWX3k: _uŪ?7ᔫf}ɞݮfݠ_d-HcO (wP u=C*Ú be/EoU"\''թzw?R(w(.Co|Ǩк~SX)Ik dm!Bcs{vZ4 Zo{QN(s̴h殳.C.cN;^7"O@'6;-wpHc3F b1qS(xl(sނi,轱qk-j ۣxhuZb ,"⎵bl"oH9G}atHg[־ e~6vP9mr=Ad JZ}dSuđnVv Y8jJi-FR,h1FAr`PpϫW26KDOZ@me." &`c.|M62t'EV4fsхa\lY6pjHZc}G qOG( 7MM]I5B`]Yf01[90ŗ kl'˙.ϘEa->lxd0S>[~M8޾ЫtI| p=`y8ɧ  i}'ILE ]q`MkV;C|k2Hj#$7 zǶB~P%tƻl4<&Taa b G]qښnJKxQCZ ;9]30{ȃ(>jQh|tBG`BhמjakH 95V4+"g7āԯ]c7U0<෸|/.~?٪ibOYxؼvpCv_->ʹ4{q*]EEjZfD7k= AKU!*'G,qY#9LM[n=-V+\eL1"ZfKkF8T:':eXg\ Au.75{Y/uϿA]0r˗g\eh1]Alu6qP566eJyzD-=)+-j~e$A ;;PB+Ө^=&#}Bqc7$Y{P=W^L!E`*'KrNم%%[p g>Nc NCDFO\5q(DN:R+ sCO7EP֩WAWB_z0Bppϻ5GqXT࿉C-wۗiӉL<Ί|GH=HChP.+0P/FKt8!7zͫ*+ '4̪H_6LrH\¡zvRu? `9VV kKF=.'HSR67b=R?,<^MTxmH*,7" }g+\/͔֋+ k(ᵧ6,srPNiv' Qv$!9)dU+j0SJo1I(X9HbvP‡egOX6Aj=DnRnXq*œ"o1ZiQRNڳyY!RaK?x 4mzNLg)>NVwPeu&Ko{)w^jUtT$~A]kK{b%-X:(TZѼJnÜ niR_>Yv>(+9Trhf#| @NRKfxx^ (ǝt{lpY@#>O,"[yʈ6ݠ]1% N) 1Ɗ+Ꜣa;&Yc ~("%hnj" *("?=rcEf^蛁HEEf'4h,[:Vs@)e~e',X )l P.Ax%I;'pm8Cj[,vFPR@>'pxO@ˀ54 ٍO,;Xp)XץR Ѝ[3|={+b ǁN0 ^vn@Jjӝ$R ]a"w¤υ`;YԶ"wxd3UuԛǒE--bΠ|.LdFFša T8_&U3(9ƄD4vF'= 0.hj֗AbRaW0IŌ$H/![|U%zJ4P̊_v0X*)b앹cHICJB4qjySH4`pOH b[Lew*xag*@{ u!+4W]󌘜jce;8z_eEs5>pIN@M>kvk6x*O̷2Y_ /?l^2oUbrmntEsNw!gĠv)~i"(b9q'υ(m#}f M3mA.*$ 5WVp)pgeA 4dDtVJt /]ϛ'fo$2|pcϫ:pNpPDP,$M5Z(n~Y[͘4p i[a]sktjgVI=۝WӻTfB^0|,MoF M9#}$(959 aL=* \;-)Πf}O,wv3VbB]Ft+b H;E焂ܤ$=QMK8CwI;}4nﰁO*0#*y7R9~fs;x)рkiSr2;n'%lwdPd 86-yW22V~iUÃҫR}i, ߷%绫@p# Y&3`jo`.# U]b*ԡZ K@|Aᓱ oeԭ z6` 8!pDG#iO|]2OyF`j5?f ]~h<8*  Sn'a 5ܔҰ]跕np)/=8τmxc &PUv{ Ը́*PqoQ(bul_ (گkwAc);0Wt=lq͜}J9a5^b%۹ڰ٥[ KFT`l&gWWh<}L_B<B5P&&lI{<4Ԟ\ĕ`"sG| cFYp:bqw88:Q=pػ"<0UUCMת0Zd@NNpIY% ЁUc1M#|)n}Cӳc9$z F]"ֻ'\!5L6C*Yo[>X#9#3P Ǥլg'ٲh YڃJ&#a˿s~ݑȣRc4DoЎ7i{Nb;VSUjrd{l\|F!}$Qr}+iOD0&W<6 NM8/JuRzlgRoٌ91|J0e٧CSJڒ[w‹ǫm[X>7A$ީwO)T!QJ*%s.$ )AaqU5 & E|ƻV7Z9ؐYa x.a7<[N0gVҴ*q3*-rԲS8:Ȉ&Zx&wx~Uc6_ϵ;wJR0I&r!$,!P<9Bqfh {Ca(s=*Z&'Ej^8Sy*]~P]Yؾǝ Է-nH0^j̋)iɖsCl;qh.&}:*@s ϕ؅FmDVBޱ"GƅіDL,=Y郷jk:\u'h.tNYYSGh_H^kFogܲ?>X]62* ֏6N><ՉAyاHԼӕǑt?4-@\_MN;8n9L ]&S\LV 28x@%_+?oA@HL}G=n֮?ʕ|Xks}#\:mF|p3FzV2VW]3Zx/ gm 7: 媤k 9n5W<4D߿Hb w^O{'Ҕ06F̀K;ZKqlεc\?_7KI~xݝKIkBStd[K R3A>+zZrH&7;ɈXu*ܚ4bFT n5uR+H$טe$ цn$f %k[u6@?hFRjʱң)bpd0肁uTݿuڅmz#?_t|o_-DgrTfb\@67أA8+^Jb\v@ s_TKg s􃳶"!'PSpcLgjp %i ?liK]Bg2}vFtzP/͈J?HzlEeZ͔4ROOꑡbCnR0ŻUa%J ֤АZzz4Ix⑘4\OR\{vr兖(y1Zc6(0rGdȠ G#0Vx+_|y)!FWok]SSA^p~Jxٖ3cUrӋonN82iaIU`QܮﺿP%6slo>wmo;~a~{ƋSik1Ϋ1XY80ڴ^CD}@PWm8g;>XQnc}*{FYcAye_~R; :YZioeâfEʍ5su $N|[o;0m7g@&2*q=FDsCKV09^FF=gՖcMt'dzI^ACain>SU" O.5!]XP P`aTn҃8Azb %7#~'8~Eh/2(B߹Hy%C2Tm1=MEE E[:eZu9:NW"T #Q\K埴xy٬uʄJl +n?󸒶14^PXFh;"mI|2居⿅)@ґ7Q!מP1\-޾B':A $v ^{‚FUn3'N^ .햐FWmBFr}(o[+*2xJ۞=67ge+|dTϑ[]R[~& {EM)):(t8Vڄs"aZ&$aCeNu]/ EJl8%Qk PuQ& V fXuθiƄn.fvi)LâS;!?d<~U[/AڴKȄǼ|> gxщ08*h~3cW|}XX"DT$K҂MP0ȅ<=}POJgQ\t9ocҲ*x5Ӯ|l⋁%@٦ޥ64ͧJ k׍ rkZjXٵudJI.-Y ފ]M~=!{x-U%XJZJ(ڋ~RK>qS!pICvh $ Յpɲ$ݨ^/!eFJYepҧZ(KR RgRKl8(ktJo@(? ͥ+^-ؾ!Nu4+ʹDd$8J"xAUgZb%yt3 V)|Ğ4pyM.GE|Sj}+&vƬ :V5n9K|DŒOМ*ԓoGO1=njꉀ9j\f[ FD}gGhgMPgN< I*Ǎ*`Hj E+v=n./nvѦ7]Ei cw6(33 I1a6!ͬ2SMZC. ^->V%KJ7mCPn‹;U}R`(4)5Y1<:PZFv>lq Y2>80^r<(G#c)M pc4֛?Kڨ-X bx՚.u/Ia, >7P}abB-6MpY_r/tmʹGarŐ{1FbNp%"O4=&>Ջ9-*˯8-B3utZƶ[2&H$sUvO[igCA.'$cv>cX%Ӄ ˙'0W B]7*9rl1h.BmEB7# y,cG}ґ:렣@/Ǜ@ƨQ$Tw4IݎSڏfxq =`̆5b}24r|;'0ƳY n! ֿ#G45Vgm%SEa9",PXG')8YUL=1[l!("Я>-H:ީT =# ʹCirbC 4y< #T^@Z3rHD TAcN*xdn|o*6VZNkR`ѿc8)qMO&-NJQ9'7dV RZ,1i7ٹԈ&o^7(O F&GrےT"|e 큇+͍kL1cg%z?jyceՓ wE'+- ǃ^Ӄ<:NKcYEgxw"!_a3'u!{t]ž) [zE#\3|o+$,EO5g,(_?KW7w#LSF :W<K;I1x #ZЦ8J:<;ĭIcwē/GstO#TCT\ jpQ0/1@q?;9s0N||f0 W ;]wyy!(ӥ N ̸t!~ޔO)'(!𔯄Dw(sIj`׃Wilz`31=mPH{vravUO' l |z:{kL0&@":FF&qg} 1{)ΓdlG NX,wl;OzNT@X5.=si٥XE⫍ˉ^upar| >:S90̜îC|m\[T3ȤŞkV o"3,IpX/I<@ ޙ>+EV僧^z-G$;=;" wApB%yEF9#ᦟ9C\:m^˧D5BbY,ԄWwW 0zjA%~3ګ- r]+ޖErg%B&FX̜BLΔi?b^⮕:R5norwr Qr\YePPwW=xyiۜ-W6Bb2'2qi:a=bއn6Mu4k@>gG}peMl_ܬoki8קV HH B";zJd&+Uo|)xOO}SZٴ}X4WmYoST4*vЂ*+*{obb/D68M;SC!e66Din 7`>%5=dt.q# C8dh +-/#:Spɡ{S⌰1U+iKxvm´Ha)mm;neNR~{&Wƶw[%2lO1Nm80V \5UakWM4%K@8?AXL [femP(ksfj%UCSG*R}|QL{uqvEzpA?:9_cec#uqrͼaq\Wn?I]D~}.L%*Zy`v)g\6% tX,{gQ%Lrz8%46rT%*4j:MR֥w,0Q #C&f Q+-#yxgn8ڞ,09'4 u :ORїnvG.MiJ`'bf,'ER,slB)8z]OF!}cX%[&sޅ@j`JːQx5J\x7,wQ٨7>bdID4jj{+OaҲҌs$yKql`{KM;_rЄ`!(BxejnX<0 yL .~YvZW&KƁV}+YTvgln? p⧽\A=3:=`~H+;KͽŮeV[z\" O9S5O vĠ?Ɉ7Qd,kt HtQ(y z:(x $<ZޞG[( ^5K@vn$CȈ|3e,TJa@6st@b@;DڭRt  %Cޱ2NjE<4+$RGc0[ӛ1*NopذWXCpm<ޒ)qSГn"H(u  ɀ""L`40G00XOF2$q9zH/ylȢY0]]/Lp%mo7O/29EWmo@|M)MFtye(Ib'yuf'06{ T jQ&a/v/,v郝U]괅ߤK,?H˭K˜n$ j_D\2+1nY@h L_qEiC"{"4?:$0z'&M>gP@RA+wz"9I3rwرzH .0@gI%It߯aR+| ۘyF0݆j@ 2J(wOfU`a"J E$, eбܚrH`HyNؐ|یwE߯@&-KLZ1آ.c6bCo{.=SJ _!s_z2E ߪ9L_?`\ɠ =NN 2/,:jpD*~ M; Al.Yiyon[Z?`MPbXF1 u"}} $WlS`!_}s#P_EJbow}k=We rW}-6(q8Mnz׌;t'L&j~ǹa.fZJ;euXC.ne5$hsܡl3z뮠ޒha9G\.RϗhH! \eW&|z`!AWBy4EmDܝw=(`ĺ}qYʼڷZWmcr~jɘ1n 'Ĺ;U\IO5gn*?s~ 0ߗ2/~9d:RCg t6sÕY4/X j5*[)[*{PEW2Q]>J/!J-aX⡘Ҙ+ O,,A}e \s6:ia!uJZgH 6sZ P*e䧇(JRgԿ ߙI8֝r[>hkeoӊ ]BUmKmP1iޫa}' ʅS3[:hrK*>:5[^bT d\>kCS8#S)QϨFW6DQ'_`7Ε?DDЎ1'bӡ?0  .J:jBGEā[qF~ 8L=Yjqx.(<>9 1*{:#fib?]{A@(HQIgR)* >t<X҃СMɤǿ^T o5 nY4)9;m8F,& .A!xmi5l.y=sxHr,|sk%|#n( Lh;-lTOszg}]P-B/UFS69nb%Y7moG~\|?@6DK/.'Ykg`B?<BQUgK :*,6#"(,x'b2.0D+ؔ٘waK]JBX+LwԤ i[?,n6:^ `2{(A `3=YQᮨ4.Ot x*i]HPܲpD4A}~y\*q!mF]$:w~5aaz_J(ZIkMY Vu@=4>pr}v[d$tG#:Rn]lQ UC/lL s=쥗$RB S$l1K~oZ?D{]c̀S4˾$=2>`ДrsR-Y J uFר'g9a_\v W2eܿIs d)K.椳33e VU75 N\]0tzǞ uB._ʜ4uF)#c(6d2L;\C`}CsYr z)_'+_;AF74d!n? _JD Q_dᢳKFmޚ=UM/OvE=o7GMCg~ 7*rCVB 2]zH;a0sq5>B:KN[ފgD$˼[PhjPѬrPJu{P5,[~""Qf+0ꭁ~mO-{̚@9WJכyވYl v+ze8I9遹jg^bSuդ"I'ջn߻eD7ltmT!$ +_G /F|BM_"*@58'CS nAO܆݋1hc)]GܗdpSg&лq buU/7I579FJW#s*O2T6,w:Zm ?f0"saUZ#D#T zӊ  JHP 2湅ARђ*nE;׀}0]tO\o0cCjٿ!p GczDղ;> @ X_8D 1, /~)yu> D! W~jZnз]a[)$cPK p -J*iRW8k >J{=2 qƣ^wDw 齴ge ~xd &8pTuD҆>c5z >ͱ?q+r*M/qRGŷ¹%e@!7x'1~ J~ŠntYӵKN ȘpN=P!Ғ[虂ĝV! 3i;~zpWc8~WuXteI"ݹV83eTG+pQ41 u1v)â:mfhws:1oRPkrnE:ŹhQjD8!OYT/E=؂ߚgGB͉E{m9so0s #[ }GhqC85HVu.J*y-:h8HǾj^?:34H7Oao7LTvvݭe -|/?]d5ͦa蜛Zn gQmEh2<%x7 -ؼn,*D^n">{ m7 |[c+X`i!hV_(b4*@bZ؇f4Pe;4^'ouC4/ek+!y3r߸1@Q-U@[ɑ(dIoΦ>&95WQEOŝݔ`P9*jS: S5L7iOT)μ 1uygznj| u`O ;~*<#fsPQMa&sae{DQ,xnP" 3]j=卯Y&[7M4f &Gոq(;-aŭ=+liz@ʢ|hjcQ_XQVnU:E6v }a~Pqalvk@ SZ0}iDteh\raaQc&}w9tf㦿6bd'LT%|{VX݁ݣaguunma~'UwmL'Gh,.TNE{rpy=A(~p(HZ vu?ȋQ>_~4~h&"ҧ- PS$=0 \QLkf5LjM ._6 ?Ч6:QD*VPlFKF~'me TO9N|S_NzoeX$kou]'#cd:;lkxUkvP0C 2UZ,gdd$ צy RƆPNei _kU2!M l{o:^H٣h|a 'WSWekmubi5Coم LN!=a٧MC~i(>ԈE8gbaQ4QOw=GA#m<ۖM$H4GwK 9hVo䑵#J ],Ei =J`bsSOi&ӴMN+fghʼA[iiS^!f ^8LQ1*lT?<5P{B $߾p-_<ի)zT#I} *].':Uԍ<F^9x aI!ziU1(nj+?yTu%`_ K=u4\)C^?S]Oj\BQ HwTM8h`V>]V.wB&𡧹\9 y (͠!kp|Im#7F GU q;Ϙ2*'zUNaۼ>9./j??ެq% LK%=dy^LIfxߣ~棡2yL̥)cheyfXDi )@^G 􀬈J©^fFR0襇vɠ9oMj1F +?sͱDgxLս`K-stc#߽Ea7Nɂâބ`?&,?aSMtcoļ냂0l*&rM.bC5"1`> c"T^0kg#iS XK?rOMx$Cԋ6--@S $@S|Ԝ{[_Rj{8 ٲ^_d|4J@IЇ1K%) Op:[NĀ@ FL<NAe? e#O9-.$H& "gf]MZc >'QDH#RC|t\0w\A]IZ:VP^r ȩ YisדrM~:%bm.ӒzGuMFI)^pܒNYMv>.;UQڟͪ67i68+* Wo:8kߘA?oUft&$dIyz=_2('Y oBO?rK8HP+)1l,67E€j ^j9v?L 3{fTiu$I h)h3[ }kžD?i`AK%Y&$NNKz/(CQԥZsKu݆ē^,Xe{~cWI- IC3@~Lov0Aʝ[$xT+Ɣh3-=H) %QvH TT*v6ڃD`g(X.Sg-l9 H}#x)']LܿEv;*Vs0)tt؈tgG2shdž ,M9y쳈QLVL8A EFt:S|d(xH.ؖIRi)lD#<7lg$D6hf47q(VUDUxLjRXE5D'Pr~5&Iknׁͬn +癲tGiuN9lI.lxR v7ӻF+ p8MJ8*%[57+|J,cg$9x-cx|:٨5S+CΡ>bgq .ݕ,v^9Ðz[g72,uMƔyݞ,"gf~Ɏ5u,騧Ad gXπ}QvIIOME]euiIO3MzKՠɖߤ?yM)wmLEY-g_=р*2D`li]aL5CHUƶt n( Nsh^R:1rxēM&X+!j*PRTZS'V-^W ;+hy2a<3]҅;VMrV='ÔdkakSJ2nلb2D8˸soMޒ ݏCh]3iVaUj_\3,{F'X{⑗. mgJMX!d})9xQa |xyTWۃY(;zO>6uT_`C$'p5}"MET,}IE־$琊3.[P`p.8<{JS8}?5CZ!~"k&Kqt3Z~E/5"h'3 KVRj?1N6V4It \Nz6I:D095`ɶ&ٝ AQ˹&~P تe'-)v.ND8'_ CCJJ74ÍЪ9GmkƷ 7MퟐT.}J?[W\#sWa)z T~b3Z]eF /E'_S-uxYołuv_>sqUIsd1sPѣrե5'̞MC!pyDzǝ2B]pĮi;bEds'>CFU14Ю=2 K(U&\{OȁjN"r_^rcEYk Vf5z=rm&ޜk{K,]쉊B˵b>fU+wVnᤸ`_ Ejm'`L(2 A̚inPQP="PZss5K끢2  ƷL!cvpJ`Y9 (#T*y0ֿ*l`0.,\08 HT7YU;_Dg,=%4oczt4bf@Aufa) aT!D"@CJSŧ"m.JO*uGr&QP'pRؓ!tuNF-[-d߹D +nuZ&f4̕ #;K o 7xAiv9.fʬgtv_nC_=D`MF%=q: L@,]q?u79_+l(QtHC4=.}0E>bє&1!y+Q0؆[G^xnsǢHʋ \O1|rkGe*$>8a,FooZ>8b1 ŏhJ |Elԋ[+PW$=vI Av+ Q߰*_0z71x1~X! ~%2oy\vxϑ!Z0~,5.:G*佖%=@db0`۟j{.Eu|K)v(`TJhpIͷy {(ǵz]Ty7pBVRF+{~v$Lt.W]M,##s:s9{ 6AYRvd%/[?yQ63d^2T8B吹 ;ө%t*w,hylw{[cLR9+^0؞5bRHP$^cų\;pZK;>r8S(I gyr&dѯ7ƻ:e 5ˠ}ܾ:{U x(.EC`;Ek}p y}!g.:<sSDmWa`op7B^(yCݑGT'n)/NNB7(z;J/ΜƍF ikNYrm^dycub;\tdgZ&=X) " .O6b[Bٗٯ6T(ݲqM[u+}\-?:ݫA;-t6X h"3w? %$<5dMfC fHVCG~FuI̚GEfr2x>2o𰸍# FѰXީ4ˍ2;#5F*f H"k,0EFbXOGBQsmh%7c@p3֮WuTWiv-3>} ցċ*SJ 1V)'y_ǐ董z#.juo]NK'*fOU>O$rsz\e}o0([[z\ruFF޵ Gw#iw-?ʁߊiRaTg)&z.Ry5e_Nk"%&`)Sii v=|΋pQw,zs) 5T5fx@Po&>쀲y)}?S!'!14`+Kq 4<~4/R8= t8i+6TçJ^jK}6["쫇a}+޷ {իʋX &;Mķ{OC ~Gjr<]s4sXNy2]a^-@ #Ӌfb-ZPM`V~>[55LTrdH'z_,(0&pwGƓ0޷D~@BV\$;lIJ=]!?(GB:Ƥ!EH-Y梜ݸj|k)1  'iE@'aMuv$~4iY?LoM2Ώܖ-_BI`xʉWYK{b݅\jt9mgs0- VP=L;1ν' F&oHOgW궢щuÕqF%0Fҥ@.l%tx`Z#Da0 dnlc\IZc_*2PG S[aOC RK6Dx3 $bI.T%')IT v o@ ˥]8w֯CFs}^wUs^$f( % ޏTLt`·" 'X1`䃭,[I[^_3R85Qxp2`nqZ_'r6wgoN+6/ۜx7MА({cpS{ 7PKMȖo޹* 0İ,v!Tr^0hJ6rXu"+LXs5\ՠ[|%e>(˒7c}CG0@JK [pd%(1X\I1^G1Ȥ(} !x^:ʝ~z=)qs1W$3kQomYZ:[ȁyCl҇\鋅U -d ([~%QÕ +Htd,1Tl+L44Dr Ӗ)z"`~L»lAΓJG -_5gOPG&= xlˏ0jXΕ0E;x\CaZ!m4ɧHb 3ĺCLbUOXwB[" 'v@DxBчI7.Wah_62K+joc^,\Nް3X |7l+hڜYD4ue[l+<)M(`0\G s[8ںܙ;wCt [i znVѱPDsK݇' =Ҭ&&\3p>4 l &:Ϧ TG~:V| JpnA 9H hu%; 0owVpYP,(a/ 3k+EZ߹gfY#5\aΦ1|Y"Y*O`N;P[67O#mޓj-Ϭ2K!®ҼgpAL䩰mxe"dES}äj|E.|U}=:NڗSst7c6J=}U`WfK̛F>d%sܖ9mf*8it;AO4T^[ -Hȼ7ntw2 ]^1g檫E HA߳r/ڽMta?˃>&uZ-raՆH3ˈ &'ϟAJ&hLz\f_;TСuM*nGÆsdbCD=eKuvwk;"5f8$F9N#z8,}O w4髵EZp8 @ X!+Qգ~ PggQiyT$3m Ed2e)StTDIX2j+Rfo^#NW;R^UY{{^qu**y+9S78G WS|qq' vKlI Zi:F`By4l0M}"pb/Υy،c$b/1yУ͢_ٯ>n pL_;{EϨ$tf|d5^];Lh徭dܶG ?uJ\O@~DI[pnC~/ \H$v5$/r ҿŁ={,#M|,2IfpII|f͆iDW=H=:O>m?Zv;PƱT0XΕY @e͘,SXIEgHz|I 6Is6yRUg{6g/JANsپb@W&$;GUǺo a4I|=|QiJ(j8ǐ2 ^(78: 2X+ ;I.\֒/߻^bY< XClw&Y\0 ?Q0FZW&dV3;f2<%S=Ɨaj(8 +s1[iĂ+6 t)2Y::q j|%@/d9?́YX)h"jk[|BT&KE, I4@BOzN :u4;וCN=l h篫H>XS6fBWWٛ51;yOm,-Gp'D sz!Y1 $ fÙΕظi^w;֗Qț#?OuqItEzl<oɩH* @T>eNL,%Sr6J6%d$W"U uWQN$ k*)`,DO~9.3by1˓M$ý*zYUovZ6F$joo#a}"&As.]53'gEZLgN]>r7L 8 N#Mˤ0HYQ(?Lݖ:fXHl#,w=X%&e;KVmkrv%(3_/'eCq/JVcp,o~p[&P/JOo,Ͻ<7 qpE%8m5A`RICZT#B lz=hOQ%%tX[{;ҰßM^%J]80)զUԽxQ|Gݣ%Kדre]DzbA87 22%+-e\8[*&_M Cpz)iYTAg\#s,/$38p{~%h~O ?"3X8Lƙ7&Cz#!p{kLNV%,qf֌'J(]6O݆;h oHc[;ERcC/4u6dĪfL ""qHlM yF!qz?P=RtH@, 5EM>h ʇ8f.It H^):f?p6}," j`QJ#1?YAڵ\-xe-HEIv8'E=cWP{aIzց9v^c-`'^sJ E  {̷^?_O7jǡLrMBH]7O16YϩXh8e BTr|.njҲ+rң/u.v%kǔŜTzh"b`5)`3CZi :k pQ>&խ5m1Ӄ { Vgp/tj>eZH(ƽ"q Td,P1Ot?BnttzDכDmQ30hs mtfkɼ rE,ו-,Ljs4>/Skub( 7x0X I%ISXF}e$ kHb5Kc+Tʌ.j*֐׎mj[EΟ Ez 8'k!=l`!/^߁Oػ(]Tʥn)L_Ts-,AXx}' @@6TG9~l7^k|$5]׭o*.<:$I DL /Ҥ!L{áRs/RkcPP=Y!'6>C?oLCX.dgDG f] 33WZ`Yx*%sY>/@Lz;I^32JMjhH"~m_e^GJxI"b o-D~IJyx?$eB&_@a+AU&5KxE.ZhKao9 SZ+ˊ$V{JjU.- ]LEF|oִrQ9BsbOڶ yv"NŽsC. P^#*fv^UZ'>v%l*B__*X=$BMKpap<bi'tV0\M=w'Pp ֩Z_{&+v4B( Rp6@R/RЇT5~ԭvȩ7V #9󀭓Қp-l|WX$p!V4 ;MzkqMςGpnyh )-Tֵ݊X)1Lڨp!c{[CTЀ``b͹Ow Ėw;1g&ѕf;(\> #ȗMp/Ȭ`%&fa:4Ny8!uy}np UgqQ:!u}Xxe<²<Ĥ0-d0FXG)ض)GCEM5幝,ӽ_S[R'{u雇hctlhdӥV A,nU=Tݢ?0 (AsR4dfE@I=9AN[x5",f80bN-9fϋ&цTwh@)i_Ԍc.C9gѨ{2p7'NȜ 8[]FgĜ-7752$Wi9pG+rXBa}B@wzԡ{{H͎J9+JgZQ ,PȄr"5 vVM`{3ֿj_n*jE2r8ٟ=5>TZjxyk[Օ(ҍ n"Kax VO )a>$\X_w= *1" xbJ bs t*+TgƙA}"Zki#U ύ^>AQ"wN]a"܍=W~7Vڄ-SZd!kQ}%#jN5A51*Xeg3t7.#o&g#eQqv<-[ FS">.ZGzp3<4 d^ThAneluqN:yfV2@3{' qlv"0-TBc_;->xHIqD`¬}L4[T_r#?K))"V5ТK"2 Y4cՖ-i#fo0Ĥ.U^n OLpMT-{͠ EaCVb |G~\\Z ih)%fW@,z\8VV/(Y)[d(UA|ހsuK(uƜʻh{xQKib QJKkx̿-S,)NqkUHX;gT[wO oC_)eT'7`4jF[ЪM@ vUvG L;p;Bq) W:)2OeQwlxl6[Y^#gZtڷ0F6˦ZLQ]b &E}? FmU)׶ p|W&&KWޤ"_3@% ]?4[uj\)8#=c.Qn#i\]TCQHW[(ҌvV~ AꭥozQu1^NP։dž==q8d>ulXϻlae&=v|vuhC!ZC}x-DB,bNzˉU:'bh& *߂<}I-^e1$ٜ}DkW;L;Ց$2=lSQLkn^z3&do [B ge[pʁZoKT_g[ud2Rcr 1J9 =hYfvr+1HolPsB;CwTvQ_nvY>12h,7^rJ E1"͗]!k֏ebiQ+| 6M7XV7$57lb@HG{ ێ&K*† x2j]cImIb QGU ة#z4TZ,VM% fL ~.2 `5IeSb`Rg?voB79{n5#pInϖytڃt>I% TycWpRb-#VDy|<.: [Vn2i&EUtb=B3aC"GSdr~N#jJ;K˘S7aiq:)M}\8^qTeEerCR,dX^m8p ìwyRJIřJN<|fK=zl;oG=f~ٮHڬe.32-"M kt`…ү~]flt^istqD:>s:`.,M*qdUYQ O0ܸx~~=yɨ/f,)Ho9@-tP}GyS  Ym]@< P@J]9BQhe|tU=W"PN$oP,o9P4P@8F  .w[jsRqQNOkpWoֿ.YlD@ N?$D ?%kp;YYXm 0HZ7UA*hPe9glJ^;sjAw<곯AKʺ壯3塱jEl-22n • !0 F:!d!_l g2 *aAm\[!G?W)Ck5l:ttz XlْRx5μ.v }&PoAbm&OJڦEfhcJ<;AWW S<}Vh/~*jN Qj)%g{h4'U 䆇hl1 ٍڿ M.Ӑ]@ TiW6-f.2u0Y, Pҡ/x4z㺵EY ر 6pyBqaXzߝsŗZ?DRR|-1}IGT C[18z Iwj22)oHA`Ѡ[$ڏʲCBfS SPmE e e#TڭǨK3  \lNaƻjP-O)LrFS~%Li`Ԩ79ж˟>[HrΝNw s(/t۽ ?%m`? gP*DT3~S7u#щ=' YȨpN-!ݸTS2a2Sk'mfT;!G泷L\6W7ɴ/G%t(?.jd(9xMS` y.4)i3M ,Jg t%Z Vv]͸+ېLo KhFߤXmv;M>Ed0x6 l I`]85R b4kID|lѐ`y[ ߲`/iy- lo&SQ`mbXcc3S '^n2CnEcfs9bB,g9]52ވ$"(:G|ǡ30Y$):L_<i\y.2BsAݴTg~_6X['E.P,;$1:?1#-x1-M ;?X @)x8*ՔEj5Vni<}ϋ$]pi+4`1ZfC"rKKǰ6VѤ|E1? Gt Do WAl-9I9]Ww- 5Es39zήs3{k|mљAQ,yI74WD9;p"! 61`HZߕM %`S /S?yшb mƍ>0e㝎,j$Yr W6hã޷D 2V8Tnk+F1.efLB~^yC Wu5vBd7+L8w#p>w7؄ȕXp˯=/@Ly}rI*$f&i7&uʉ9g-94h<1P{ u&g^w+ZaǩP@WNr)-ɜOq3xLåz(= ^Ëv:]''VpiDS-UEMRJk & -Ck^Ap,EUǤsb*3>Ϝ  YH_(ޒc_5x8;cϊ__6a7SW. עqB"Q="0vtľ.T(D%< -jAvA.4s'n$w"(“X'^ a'lj{Ia0IT')ta2xZao $p䡸B=;26*)Mja՗7~`Ds Uez?3E˜KU$rldgj'?ush DH}iJ.<ߎy0ΞU* &߆kP ݘ /"Ԡd`P}j.wvdlݕ B0C:!' wEI-VjP Op+,'.[ye}gT sE޲E}G _![<ٯS::>l^.."`n÷tKt܍0)%>6H(eBύ م28p> <<jpN3=H؀)jǨDCf 9܃6˹xs: l#. Nzz>0RW^2_3M:yABƲ0sl]N(Tx<=m]omTI9MLkd 3JJ-n-"+z|Y/Q2S}L(baCnRxиJȒ-&/xrڃFc' x%(!'@OߒFtH-%h"4Uڻ3 Τ0e}w鲞t?(WD5{ZؼXE tͮ{tOh,aan#W2v>sC|huہƟjw#qRK^)6j[=_c's5,& uӢ Œ\TBMy[7{T`wy0t=Q.Xt'K$I@jtWsX 3b'^yiUqk0Z9AEu-_t"CW}NפRxʗkL) qiWni*5OC*+f8s\ΦVmSneW;7/]g$kA1p=u1'"b,6O H|+1[^G~%ǼPy=UUfجȴBwZe(QP~N vrA5 V~"µc̕E9Uc4qmbkXj_z |DJ/t9rDnS~sͼB y .EW% O\(ѬrJ*9M]jNsȒ-~M69>1hN)0~yB*>64w7 2zwBS? ^XWE=e%ͫEY FcP5ȹ;,75t|Psm{\YuCX b6ٔ{g#pm+sq[n+//o L,X~ցjI`osGm2`ovRS$9ۧއI4? ZclHtMx 89:g?T,EZYsUyߑXS |- VSQj DVdy"$uTp삸+g ÁR` k8i^ͯP i6{[J x)/"B3ԃ[jAҖ9nu'77Re z\ڈCmsVVWivM4/W5'GH"zMqmמ;!Wl_CLp|BB& SS6c{$e.CY[dVN^kuXX؆Fp{#:x 87h.'zK 2ĺ$E@7lz˞8IY߁ڢk]?Зǁ Dc3\ 1Zhgn:qC@"Sb Kn7Uk)U-oqhB1l۰A6 ֩\ׂϦ;y+DUjPÄ O}7Dm뤊s}@jfm(H~b 7U a$ =6Ho?gFՋmC9iY]GaA!X+sZt\M1d J2 mLwvyօˉ'E ˥;(91Ʈy1TKZN~q c (%+NCiΚ"Q2Obҧ_x5SkGk4mZ.viCsrJK%Q%׀Iz-ݺY2~cX8 3`XXD\G2X~ AKhڱ@7?e *mdliW_HphiO!JجI!v.h``{;E+E I\SBh3F1CX.>*KrB,kе787cz}JN8@Qw; ͱsl/NB}=&2| d8z]C&}E"7.|Ik@޹f }N7o' m&v޿ג;oDdxC`7tNf+ N%<8Yk=,kQveD꿑'λ1\; Z/A7 )w|9H$@xf37\uX1^YC}4DLgg,<쇧{ ÌϛtE:#Zו2Uf2Ny׳-C~j̓u;iBǶQiӓK`?ty!KGqQ[oZQӟ}hB}e"rLa.l+'ƈryk3ISAB{yhFSX{lS=ʴӡ{ rCP"6 mWTCg^m=a-OGmG7nJ](^{Mv> \iDMq1:Z~`կݻO}OB]$Exsj|DX{>r^%@߃Ri^=_N{LGe BiT}$GȤM>hu^R}[=7CܣjzP}{/ o0`ˎEUH^3(bPNH?/$$F!o< #|hHcP}AR'J(티uD>kfkDʏ~qn ' S 1硻4KY}*,&߯ $ 59)y}3x;r\mL)A<%9FR[@ =a6q-!˴;+?5 ӡ3] aU}\'btK.@":uZR~t;y'O{+e&iC$I`t V@|3E,%nB HLZz?'xӟ8~ `T]7J4(m;o~ W]H! *z-홍|LDfKe$;e*[6A'KQ5_&*vUQR#Բ8oE]^>$.pJ`jy-QVR+:x"+(a}$,.=fhȏ[˾ w2e`2h$JV= +uUK>5p30p_XEiwiI"%-ɊfRd2s\XKm<o;2XAh^Mk`u/Pgks^'+, [:kGn:qbb@v"<~K%O3`vہ_o *FW3] &밢^l|E1TuA'ͼ ۑ;} UluDȄ1HK{mJc;C6O֑Ct,.p@]nn/9@`?hBYXKAP~u0\DZz8}-Uw:d]W<3ۿ `D^ɶf r] "WM}qIJ.gW:DRx?N7+}+< +1%o-,|zA;yscy=uM5!,-24ip! g^>Łݠpp>%+,uAFx$ZQ? */uލc/(6J˄ a0Ur)Dj=g# t_xiB`քPѽ j4?)fE pԌ(%1N<#@y\"IS(GmMo8&9#}SGEGNuRqP[W i/M;ɻ}nH쫨7Pj -2yI'@x*cM\;}<Cbj[Y۬#)wJ9}c=p]<Oƛ]n9 ʶMvW`@0]6I!4TF*o(W/zdkei^&Qbа\.-aåʼ;N~FJ7R|V 6sw#(r4G(1+c3H>T`}\qmwWV>E,{n) oxMf0kr!0@Lw;iMeՆ4#~=KUI$gi>ZL>#w,D:ԃFDlTUUZA4jJRU ^:O $3gCG}9]>ٯB'?iv$N׹^5+slDnbnpn|5X:0AU 3%%Be1j'(CBmeRJ^T`>}Rf{*8U:icRẹ=hTH6 _6X `ėuܿO^CGVVW'3|g 8yמď{&RK ʫxM߾pȈ\U{.Cm<H 6g4P,ͪ[uOn L kik^]Zv[TZm {t^(GZs-ȲKʞ9>͒b)k4:ӕ)$)!1L6wx^W,ׄN\"{!Ѥv*n9h>0wlB+3$җU|g A #"4Fa"Pk"؜wfU+Txb׷榃vDvz]JUxOzc#"Vt<.:_`2 UoY /I?@7Lz j%Zۅ/Aj* ;qE~~蕸X[q:n+I O7=Re>l:{weft׼T.* sYප1k=D{@Sd|UD b;a>%}eS2A<[~d)lz@ !`F.1Eቌf}30-4]ԠMeZ +#EjDw#l1lYLX i]'p2AhYNM"`@ z9՟6c,~{6f`L[/\k㿫~#4GyuT5q@drRm( ҷQnf4? cb:"餄Z@q"O%0DK+/H=I @0VIQ CHTØo;N䄃$>,Ȉr^;Tʄ 'X0C]0&GyQid^Jv@Q9>LT:=l8a!oEzNf nbWՖphkqI#>Ksc?0p"T!FVI@8 _,.e2vUx&CP ĠWF<<9v6iy(n9D#Pyj %7{ࡣֽ7@kJOl/_mɾ迴$IֺȔ_SQCMSS@-Z5^c[-u5]q(4lꓘ`k :% hcxXu`CƊ[.)SP/B0)"7et a'Z ni @byRkПۉlE7PMI)"i9SKt^vBlh E'*\UMiܰ <?dq5F3lA?+Jr~&o)}:oM!SanRO'O9):c^H+lMG_^hv DG }* MGKϽ7Kz9\㝝%R4 lbɥZ+ uw$b|{ n柊.ɲ5z-hxp~4iILvfJBtMSuxkW%\;w T̲P Z=]{8=\KP54Z+);/ȽI#2cƧoʟ6Mc|!80W d6ѽ١T Go;pXa,7 p ι^kDlfw_i`0ܽ)ۿY/<&ԉ l{Gz7ei}gC@Y}B,eU\T0nxY‘ߥj8,ȼyu5XN3̔hW8ՏׅMS7T*;4ҧC3ISL?ڤ#5959#W-0pJIjca0JK˅XxKtw8eV2Ub;na&\7i~h` `ODbzdEA0ƒp 9Fz#g3d~R-kb})) ]CQ_hWR(R] _cVD H쌆3<ۃ)2zNɁx tGyj3f O'0&[E(һkhljYW\ Oќ],Tq(w,~+}8H%6`Xْêb($Omi3)Oؘ$Eh۔jЎ rorN6/ׅG{GrEZaxq$Z:,1$qWa#tI[}%n_eQm'L9]gY%ʼn$xd&, OR 0Įv-)2'U%_@5H:4uǪV9\L:VQQ`q] HH,o!yUFq)J 5:+̝>/^:rr}&c6|?>h+ԗY%wׅݪgZS X5[,/b=.W^91xlm HD;8g#nܡz^giyC 51?_ jGhQ: N ͢ɀFRBj&+7T勲r~7o"I<٥a*MmP "s5/LJx$\(7;78Z˼񇠛9* c vˁ$N4s&N=k2 =[ܸr⪥|e+-<3:{O(չ}ƝUjB>X zOn̿>X^(xQ⅏sƢio0( U 6":xھ\n],{⒆XH' 5J}?*v-"tk2Y hAl CyLX4I\-Ϙ>gew޵e|7:MrFL/ܐ*鄶T@}th,TW_ Jk45RQ(K VU]#LWf)-9] P?{C'c?=v;:|9U^%=J@&؛VrMj*Wi AVu< Ѷ1ߙd5[GIne |ŠnYKz/ 4dYB_OKv6:Ěa9Q%yXtv! svt|/[Ќ4 NM_8pĐ >MUsZ!(?q^,ө3//9/ۋCAv' /g'ZPw:3rXC.pFBEäl<)W4CoHNYWį֤XW#wpv!l-"EL:fUⅤ~Fk]sdz\L@zwlG!ڞ=^[XX쨂l<Lyld8Jxv֕!' dMvݔ?դy6t($WE&vXǞ-ܲgĨ+b=HDZΧ82P~3w~dC}`Ĉ6 xn`5~w4q𓱱jn'{_e3j1/O>ZT8 `M y֤~E:AåLC yU4C<`EZ1&(9{|[n,>A[ P!^Ԣ=Łr,~ ϴ \|t7BYGZz!fNUH8Nl_HH)}3oP~!gStۉtuL\6" ̐lcxJuDewCF+~S^[қziO0@P#giVq'ϲPDJTHddM[{ᣧ {PEh)ݻ#ix|ʟnXyMB AcV("U.tlU|dG+# ތx< l:Q\'̅& :Y#tH,G_Y9uib89-Gg?Z_8#A/JOnS,+ՙY5<U&Z3ayMߴ+0ЉH7~x7n_畡pi4k8,0 ߶}e8\B^߼Ŧk*:"qjW/ER#s!I|SCַ[_Pk#ߒMkQu2,J;KPjN@ 90 dCR$4,S77IjuFn;,H&/2رIalE4ʌKtGFޙo(|r%b@!A9MuT8,|Hŕ#%NLu:eɔR"Z2.|ɪWSMʘcԏM pԬ9A*5ZT8K#g (3e) XS&砏 q*Zfdw~NàJτͱW$(2Z{&p0pE?$+ӱZ#R# =Үv͖'ԵolJlB]d$^ <:\)`fZm8HPopP_M(mV⟍0Ӭ8W6Ry UpI9iE&4Cz &Ddwr9hdM-\-H1RFCpUciB=̵fm EJ8V(R7ڂOt2:P5ICR-}E3mPUc2j/Bdq.cEhCZo:ZX7Vr urIjK{|t*L,o0Ig 2"H@_iu?ˑ|k5&VP5 m>Hy9WV.)y|={GKBYԆ+aTKz6vޜ5+E&:tҮw{~ 'ufģ+:4l+͖0ɊD򪉅.KzZ1j>& Z ) Ƌ [f9(:UIPž=c;wfϛ7{_ć࡯ ?xuOv RqMVӟ|: mIJ}q6]Cv >v؃a6N 7'KrW")@)١qA)BR#.[TZ` 3j.ߡڼRX-9sWBR jR.T)O{ >S/|b;,u]Wg䏜:!D)_T=c2TMMsp2*3P{4s=Hx9-gRyZG NA8q?y*(#F Di?8d`3j芺aZZ xQUh@X~+MK(^t3c5AQcKGRtԚE\tS'eP#H)D)P:PX1jZrH Tm$Sr"|ӔbK,٦RN#V5ӣkPc>>R_+R*f퍚 R{P x}vY.F}\/ϕ s&Om MB>NPhHv+ #O%>8vYT%YdxEzREh-,`rC'f9u%@N@Lyd| ( ^Gv,=fCOD{5Ero}-GS̑53`GÑ +~> 5 jq:9}aΰ3fE(Uc e?|j(|sOHNk_.*u+3.ס D S8$ 2 *fQThLR8 ƫu=_Fuϟ6瞉LӐD{ -_X C4Leg]FRh::w. t:ebKP<%~;\40We'%K\eJ@Ns/{αom֏EE݄"yt%:W/J[= ˃0H%ؑcfPHr#{VY蓵[ nC`{Z7uhr/e 6{lOIBVI (+ $cȽhT8 VQpe")Pe#h\(MHR!)vwߙ;@ӄBɷϖH gc1yq0<3~԰Hl4i gx%r=):K6VͱoH9D5(d:7ep"LZܬzu. UM vFC>(U)@Ӛ݋J|NZXЭDnZx4Bb(4 5]nžY+ MAk3Y9Ͽ1G$C_c^#*Y"`_([/ 5O&\$#86[JhZ 1p|eS@7GbmALHt 9<XtOYɾ^wz9ZDU:KW\-.Kq 7mMg;~ s,d04 P( CX񶧍0\mC Q^GiA63۪`LnLj~vW[Gj+9gL橿$L0HVmH9)$ϖ9E5"08fO`MZlmG ۔6دBJ-7~p$PtF] 4E1(m(@}!Z n ;<[_u&|rnMQhvVO?4ЊP(bıFxsO5~4+iFr34XH$M?at2D$_.4#𱛓[wME9%xesW5*uf >#3ڄ%=";uvͿmw[۽)5$]DBV~jˢʘl9x>lvQ<^5(eL2,Jj1ьZPż//;;=qZg eo5"AJl= FoԘJl_aا]͐^j1VgD Ѿ>?hIx]f&ǘ('_8=tD,N. 6E&ͣ#~3#nG~msuIтhw -49*3Od*xo5OEzDZpNciw &wn4OZ|00BǺ0$_9B'Q̩tހs+XHvdVкz}f0.^#$MO ߡ@6i5imϜ1!ErPiI6&3 +b%@-_cM0rL /"0M{+H%է'HPw6!5"5+ˤno2V6{x)O YRР)ݣQ29e "Vȥܗs޾lz3wOXWC{C'K@>ȍh@.a8uE ͈?7{3c0~^b#uU'$x@P+g(0)7,MB' ^hԠuqZL*QJa(KGC GDj0/9yHC6Bv xk,s~-d{'J"yTmqIꩌceε=ypȻ= T7K3X ,y!L=Q~/%U˱U@< ˙㏂O3J,=Rit +,(  [P{5ayyK YL9g􇔪ȍ98_7AhE,Zed;XII f04# wz\>ܒ0 |hNȌ3avJ `fkǨ[WeOf)%TW8YΨk<%Noi{q6}$-٢#V&_*}ห6)8ݧ1G*@YAB|%F2Еu+?8NGPZH.je먨=EqE]9='Vy\lIg+;7eH7ˎjdwZNg~V×Oq^V; oͨY%)կ l=c1 s6 ("%u-u+N eS杴bY|TtRp; ~$AF@g!uutw%j_z ^v,DW8%a|v#ŠW6qdJǰ+M_L׼E(:ǏQ Ə}/k[W4Pϳ&T?=&@9k;2 ~#_.Z3->!)jғL򇭻ZC/8[%Jw>qND&TubPXGu ԚH8$KL 8q?'rsҝ/i+9րh,S9i]ejǖp5+"7éَkMkt+1FƖ)]D;K?s&`6ȑi5ȷؔ璘y֚EIx8ݕUX=rR㷗&jY]#娃H[VNFhGrhʓAZKִ7q;=yK DErmܲ+Vl|q}n9r¡UWO|imrV-*6(q Ֆg/^7$%Q=6[X!4A@WCPŊasCe C߷w5[7f'Y 9ߤ ͥo(_B d?OWO>]3&V@Qm TX<*Im/Y7a)>6u?yʋM6~y> Ys 2(#Bۃod^ߝ!\s2 s'ka[ hdH\& Ĩai .TA%!ٟqP?t&osI 2 5?+K"HEV"A_:c g]MZE5fsRu8@~Tit/ cF>k$_2X&s WSGu2- 1S] eꗭ`"US.e\ᱫZMf`] .r8 `^S{B3 Vk"Bp3?/] >YM}?ͽsW>/fdMLPkYA9d%!'TD&SKa{H۫R}A~&m_VK%kqCEnE7H]`I>̄@qM`Dzc `._ DO,J_/^Tx=.T~G2njwvTkl>YvKF,fel]?"&[3:bd/E/-]~KӇ~3(aL褣KpMU9ƒy&|:A(\l{]:hxrFF[Œqg%WF\-JK_ sP#UpNi3Fm&BṕEV&8X1]ihBK쩸%IoͷWɶe:y C`]byZ ,.ZGb2A)-'"|y#o0EH):L5?d|~&2λIch< #2PxK,(T]֭bj5_x:! C21ƾ j@+RL&|hx{(Ipq2Ikcn" ,!{ƴƴI\1]83aX`Wv)Q9rL  ]g^V_h`v>?\bDQR7sϛ]a)9pT\Iΐ8VtlJ6+`dLVţ(t dZ:GYp:Gw|,jT]{|4x1ĭIlų-^Enu+g h(h%#: |Wi#{+S{apt$הxoIJ/>]Z\,\+wuMuџeStgLXo]B֝Ψ4'T(bR*Tg,h XIJ 对5IAm+F^c\1vb,M6U ɪjv|b M,tfDH$4Y@vHpD%J݄e&{E"+?)I"W~Heȥw7yS|17 acۓ(~JaHl jG=4a }秱Ɔ}@TڨsHd게!abyc7;pPcݔG!۫qf, %ow3ٕ5}wUkM1!H('W&ʂ/vlQeKɭ~j*7fS [K(!W8&ى'N(.I ]*Ovoeed~%XyKXیV cƻ%PZ:Y;sS_{ 83<2qwb)d;HAwWvJEmg ~[Zbmcsn\4w7^,mhWpZNlb]|ݜM]TG3KEDnMCA;/Lv.4 $f o8ECoZ ^m̈́ۥl*8̓8{헻jܰZ2JSl/ K^o xgz ĒՁb:e2\MNtm_5Qj10p30] (k-y(ĶSviW-u&- T[33ܲuX"Wb w7a+ڏ Lg.HX*@WzH dTl~ w};Յi*T#sM,܊c2tMpfc4*  GFH`_6$s6؜ jh^;FziN>Fmن/"A?$x_+dYo;p{!3BTCts3[UuȯNqWS7PYEt<'շkaS`ȈV5'9:?¾L1#:ZwL$$yEV<6 di8-={]#P9 ZGqP" Zq\xf`13EIO@"溶kߗV8.^Z:-z1>JH"!)ukw3M aˌE u8_cblNXr~4d*%;pO9dq^֗U PmVCPA[;Y` XIDMB>!<S YR+ Eӫ, iD 欓'yiAXlIُU'A Ҕ6^4Y L˟:+ mnD|l0oY{Q,S2Ś2,٘a&3p'dRaQ$9$AQ5^P(˳rTh2z#e7oV9{ km`{Y'W'|EURK{E>=Hw(-: /NmSaaU+^]fD]&\ N7A!At9jl 93>IMBe_/)܉ ]},8;y~6DLyZ UpKIn\BMkr^0rb*-RirA3doSBppdlf_UX43"EAx]G]ĨHUWPJ;2WW\( Y!_~&P{oөa,i.E6D#i<5 y`|@aOV^VzV|I9U+B&OD`Y(`o|e,e΅ %XY9`h ^d;d&=gԔm^kš+-T; يPu)Q O1ϳjoL/cl$A3~c,f=ҏpϺ?CLJ4D${ăK]zy˛b2"עoʚDt.?x`PctO\fkyB> =IXr"^dw>vsJ"{/8U뗥q SWB|W b1MuJQZhLOw_t:9J[GfqN݄cEEq }@IB*raE7Pfd O/9c?IMٰ=# G D;}hK!k`֠R69"k"Q\K$zok9cp_;iIc@=w*cc~1wa:V>耝J1}xIё6[+30 {جt˒|'`ІEo hW ʆ!HAՆULX ylۇ7I:nka@T^V'wB~g+Eְw/gѯf\HiֈGV[ ׷=bW BY%)nfMh3l4SQ 2M##r[Ytxe-rs(Je 1/_1Q>DNPd#Ŋ0-Bчg]YVpk~eW&lG7>94S-|2U-)^MJ"}..m<\t|=R}ٕrz}:e6=$pU3B:+AfjQEߚ{G?kXd)|;vW'FX8G_y[wNƐ)QDiӟRрC6јB#Oqor~y}q ǏSIX=ers@S8&:+pҖxuL:C.cG7jSTbv~&;BY} lAElYYi4|E+*5!KIYG`[e\'!| PR<yAn•Pr%e @bNʢcQHr"q;sG^~#⯥U 4ՒhYogwס ^Eunc~Uv 0KPQ{+]嵞hJhbW}3b`E8KQkc{ኘS) ,}sS|lQQ Mί%3sؒLBFv̰eLد!LS8VجGk :7ҟ|/ЏdvQ;#mp&bÆ8h %HjϨ"r*gf ~92fs`j٫V6LGңVyKuq3D$djjўǠ"V=Uu* {! {5 rPGꆭ9l,̮#f@acԈ[7]QHгeN7Ip,(O] {Y݀o֛,3b$)SY~z [&!sLbJp1jmxaV'~ ZSCꠂsAE*kK06 V/MVNc\nr0YB#_pUlKsY }=oi~OWse}==AXU:L,ey,^w(͚SAꏫa+Vz9o>9UKxJ=Yp%+rMJ #˂JeEODrf(OG+z|=Df!?) ݆ٹ6Tݦl 8c[>{0/wa"?IC=?!۵*KMM9*uiNݺ jP}y`k;JAp kŠAoxe(-W`ceSҔ!`ֈȱӸ+\'v@ hww J+k,Ih~pv^A&Ͳȗc8[,2I/x; ~<&w^+/tu/g(- L0}ϦKt5/֐]X9GzGm >锌"VחWb\.&'ZʩRPGs̓źi%(T)w~W4}r~LK k=X29bm`B:I2S SCԧn*/%@F.|2mBJ>A67v1,;sQ,;}l IQCcf7Z7XCoIڴ v4w1=P]eϑ7Ceɰ&sla!3?5 D3˖MqA+:엪` y!aИ7]ƿԔeJxD*&0 ˫mxpK)<a1*lY@HC3>aJ`@rY#}ܙ6EہT֐Ojˆ@f?F\3ͷ4>>y& ;IÇ?d). ?Ga~ll :~x~40G@闆S<rz%q+\Vqܐ$s*uwS2^E') Sv!c؜[~&KhXX67ӟxM`M6V-Mzh;KھbyM{?!'H, ^ eIrvN(їO&~Mt ,W^BSĥ!8P(φSYP @oNf:e(:f+-OD ܂`5 NJrզ1Y2%%*YD;ٴa@ڲDKk6Y&9N,Y]C>wHˆD{\^!#D!RA=~h}>Qv GwȞ6 *mÈ;{=hZ/UhBG."qF0˓4{,^>Cr ] ]gƋ*5G2SqgTJď@pMyfUa?tvW%'Fd)Z6C05>$%RxlDVQ$ي3Ԅ#y!1KAD ;p@Vbt<8()A|Ƭӝ[eFSaogxnPL3 W"YWzDx)Oɘ$ݐQD&53h:>ץium?y|M8}6wԈ |STUbT.VAQ=g,?3EsmJe,eu[)-* $n5Ҳ&-EC|ظ|w9ϫ&LHPKtz0cJ_V+d亽 ]]sݮkiR\IU% S|0 p_m`&0bn0CʃW"Ap|Q[v]㒑Ȼu<@Anդ$S(:w_ntN$s4kVK ^r0΂pO5SbzsjibP dXzFbml:qqm%.JL2ܣ3n02V3!ۗlOn)1D C_Qh!?d_mۍ4]I :tLJcAvX-q;͕M^?@bŢR<d<9ׅU1p+Ǫ;''vnea3K:Ϥ}E1_-FC%.ӳ0+aAؿ2&FNLvG nLuL~cXL7^߾s>0ߚ HZ y2D`ɰe ݣ;{GSZ ^fa-Z㚝v9}"=T|yh\VW!*D@I7# *(qc(A-WM]s~vͲSjl#'M-Z-*eFLFCBqgA>fX*:Cȡ`k^MWaa Nu?{,M` }?\,}=-!W#=cP N/wA0Wpl4ߞ"Cӓnh*"RX 3(ّ:hYH8C# Rͤx?̔c'[ NGR~)cL2ù_=-[%ɠ;Ī&,RudTW#|ʖGR~c_{b&!^@͏NP˿(:z4nFoiR_88ŏ"Ԋ8*9g6ʆʌsPFM7-}lZVi];gn|.vx!*-]@$ÎB7JhxZ\#5;!H Xs-("e}LYJXk9tSwU`dLkiMaQz f ./edOq#YCO0b ǫ5(8ơwDJD(ӵvK F3%'Jl¾\`N=e5O~}T7!wr~Gf>jŷ(dN "IqUY,[{½ No'NK `C&rEO )iN6I%%y)eeadkDk̎kͻ@|\7&^Zż)lVo 0`(>G39[,$pD#߈r1sKW&BG@-_S]ώ_zKlj,{5*pje彶M&ċ SItZT9,8P?"03KQVY*{ڙGG>}XMqo2\4YEgavMoMnIɱ # |E 1xwLG#O Е'`峲ȗٺ=t)$'B4J3WU4ev=x8+N i|nhG g[S v'90"+q1%2Әa@Lɨ(&z|SׅYjo([Zs8#DOCwHSک8Ӊd3;jwJsEyS{ﶨ%º'iX/:h7EN +fDT؟ߧ;|e?^M ϭF"`x?LR7ĄO˿q5 }Zȑ)&Qh*F;6=Pr:wsWWԌǽ)6(_y,;W/2SB>@C׊s;(8|DRa-q )Q M;_p2;>b~l|k 3/AequhHǽos#*F i5/dUlA5eS5d c31&H$GU {zƏS-C͞6U`2z7H?zַq/.NdDDbbщg2MKTc"WZ?غ3g1|/tjѷez.䅎VT*'PChlS^41}VFNvԣ6XI q6,"tn](QŸL]nxֲ߰mcK_ M([ze Iܴ&6C4z4_XNEs ;UH*1';pq0t)>hhn1 =PuWN/No ώWa`IUpגjXF3 H  WHQEQ:&{G]<=3\.@WOo a]UB/0{ F Aۭ=tgєPF2: YSLlQ|) A=NV wcS@pkp4hpjdʐ+07S'KLA`ͬ&*t:Mu0=!* J-;֫ Ŗ=yژgXiK7x4ܡʇ_՛ 0MZ(UAgF`(:{^ V!?(HL} B4džqFTkKb:.e^=g%SE 2MQ_"{b/2 dŻA!s% 9Vp ߞGLhRxb{H*mՉ!>pMₛoza&S_m9?~WCO%v^JNs p,, E2gթLj wf&T Uр95Q}B,>q$6]m̷{Ћt"Y py;WնK ׈Q_,boͲvXdIʇEٛF{tdR-w9xbT ;ةT'u dFɖI6 ϪTYv2O-N lB7,|/fV%kWv%Yp(UV @5EILl2Ed D]yk?3|zf,B^ rX'luQD2Գ Mm`^Ǐdcn'HE~8 !b؀{4$d P #ks<Е>Q -݃T1Q7+ b1= s) pIc2z[,LYcYmQQ<cs]tbY % `)V!a(L&PFDZ]Kg:CuyYOF5W87d JZgba&([U%/S%%#a_hXL@>d0:>Ȯ1 8BZA;Ҏ׀pvLlAu/5/~6GhBLq!7'}/w.8O~uYgs+eI&WVνR$_oX˪ue\pP{ 7J&znv=QixcQ '_sǭIyrÌ0&,q(GC)T:т,b>f-)E0P$7{l2iCVb UG鵳O" }ORFJgL!d#wP{ة#ke:\$bf[5,(nı[x`&b*XB9nӻVQI/"^ /pYp%%|'34(ZCdMZ2EOQɦE38}޸rԥq9:V܂ @=)&qѭ!+V{.= HVu ~is]\ AyD,M}1&-яZz2ᎃ)T[츲78Yn)C+om]]-XA|4/ Na R- РQ茰E11& f:>z>O?q[>ݫpF@ Ȇ!}7p-K~Sҷ製:Ɗ9i@c72CS^>;cZoPb-H]a[YpNK[D_n#1(]%D#f[icu2fQ#O!f"u >,, <(d~KZ4NGKa y<6x"gDݸQbF P*T;zY狠jq>ʾg^m鋕4i\θXeblJO` TIp1.I}FUIaڃZ_ 6I.9iӚIek\n ?M}/oWf)/ ɭo2E܌Xԙ_;UE8a !;5&Jr5eH|Z?[ 6fR٩8Q["!NԕA W6@-#>^S`S㔿:.9VԫJq ~SkY:Dvw劘-Ӕ\)"|9d㚀l8Tf7Q$f*|H*RgeU!SqsLEb VvvQQHgJ/pwjC^jD07e e>& lVSW%e^ N^Yk*Ο F@n52BFXuٳNmJnu&~@d+|z -,Hsp@d\_zsU: JB3;B MNFw]?l[r PNՕ0k 76du׀Zځ29g:{RZ>E._ț7Gna{] sxr"(:~:ˬ N-Fn`EN&.Ii#کh,€vpNr 9NT#!TX4^]ڷT.ql.yT|VB;!䎷Z6y.*%7 "MdFJp.TaygU!27rm"oCTyӍ5οz_īNJR+r44ܤR\05uI=XΪ4=K:dҶms<xI5#AWETT1(5f۩`ј? UGG1=‹CYYn8#g3&2b:!!3GW͂ $OÎbp8 UӼ Ïc=fCo5FRQ6m Q$X.Lg5Ǎ)Y|r$h lh%E'vU{,}3 jN[<0CIz[xHMjxr;AykMhc`RYwK^hh1@2rz6OψlKt:# ᇉ(pVEM/h@BOďuVe*VO@8l?opZ@zHm\xrmA=ޡ(TGi>+/6pT^'s@1lv"g )9J NV2E}Ls[Q|NYmC4jԴG C'6= \/gZ-"l4=akҘ~Dht=k(x`p8h׬Ͷ\,S.U~% Mj΂z8i(w].POAG+'8e &5@EHʻyOou_%߃pAC~Au}U@qbnvh5)WS ~3K˰ջwٿmپy]4aޱZSU|)={{kb]sYPzpgip ?#vu*no?>] 四˺&OW{ҚvjcߥȎ] =xQ&#pIQɥ3Ň_:<:*&"ۊNʜ x JvUenPv0[Zy\&O4S}fN;}eqniC9K+T 4dȸgp Fx2cLhQXS`U}/(nDZD6<}A%Qw8Uvn1ٕݏ[sv[ݙLJ6u^݁br oW#̿F(:dd|vҾurٗz ֈIՐSc၍^9 II?ҷk.3/rgY \?_W\}lZ0sLR2̏ 4SKopq"Y E*ۻC'5W;Rƴim||ry6.vO~r ? lAaB&iInvh~Rޏ7*]DÇ qdkrXh4^0!5t=`1~9B)&f!!B#.Y~Xu`Vqmnza9? V3hoʧ޶+bV\ x_-w!x}W+i|7)aLF( V7>JsjQO_@ŤV 9 ޜe S4mdu ;;_cjb~&Q!ly%l|NjeeOR qOhҷ8:s1*S녴!*?-.m%trft@#1痫5uh$BWJB,璦B? jyD#RQzI4: hH 2vc}ɳ߳åztg:[jݿiu\`EY9q˰i۳oaHK$,_ cx/ީ6е9^R?]op +AK1:,>kdN;<<$~&RL,Uآ|\z( @vG[@$ەAUv|TgӟΓ4' 4-%ET9'oDo7e\LI‡5=A"R/rfKؔ\_-(b?7>PBdH>nd 5b܇ [ ~K1S *\wDSU%J̑^mDFo,:aku8u b_ >PkBNrNC2+Bp60%_~D؄dfGb^P7JpvM=ocL|]݊H{]їy>Ԙsjn +HA[dvk("JPրN ~} ꜓hZ3և߉55GWwa>gw'f`ND:맕-,(F3&,Tօ MgU.Jko:9~NkP&j?9% j 9aBiiwKtWegrVHi؎*5"[)/hĺ*HӌEȚγOK{Cj: -w#~o(jҡZHȰ`I9OՏQiqRD$FSJWdž? eh--3&64fLd(FXK~hW'ՇχA}NĈRO:vGz2,ޒpK-6b_#!E6#l}  r >󹟰ɂMABއݚ~Bz7:8J$x:]x]-h.J(rwJSZV̠Y%z[l09YC dX#(Wgi0Iaf-i/hά_n18nzu r{3>G&(౬8O)wmUDHe='E4"ުEIleրk˖uؔC l|4?e@ܭN9Hx–(x]MT:#>;8,{S~2)]Ϣp1a/*bPn(̅pDhG71mN^D;"d&fHMhCWfΊ;@H* )m}R6'/V)xFVK0ٹ`upQ̀P#P?w#DQ#-+!9> YX^EtCZ~w^ӜMF}[EɎL9@<{<0Θ#TmxB2_I(iORc:j"x- ;.  "ZĶԃQԵ갸8 [#0|DCItO)Li߷+1m23DĵSpX<`_/VD͙Q2FR# lO;`&J(J{5ڴ{:g@OՊH=|g; j44,;Yb+jr$I׈Nj,{#Gpf,7M`':kX3a$/zݹfF'+NⳓaghR :?xU>!jC".N]uƱ/vz^Wȟd)Ғ7v-N%>GzW!;iQ`G;QRtn[0Evhhy,|J}`^errtJt*`0{.2-_6|0Z-81 XGjȺ~j4S,`~Zu*g;NAC'D}7 &6a%8Si;RVVၝ)+VFw+q.XkY jҟB]:\~NZvܭS85]`?)}P1![t i&/`О>}y 7a_7בsT9`#4߂]I&B= lGo45~ص!Ȑܥ_P$ ONЧjګ8vB5q4}DV8Ԑ8lp6;/cXA&m rwP+ɥ'1M>k@5^Эoi0\QFE}{6>}I r GTnfljIӜ `_tA)*{dM^,c妄]Ӽ^LCX_jtY*.fI!v?r!](6irziue wjՓ hXX=y5rǵ|BN9>DL___4'2ՕeE"KeLDA(Kط[) oQj%: w @֡r" gDy(c7$64S*[J3XOA2 ; wO݀b֕ΚQ Oj:%Qw5(8a!'sO!ZX:|dЧ+J5W<㉣=NnFD,Ha$+D$9;p.^&( ol0.'"Ň!ǻ"^-k /`Lp7NGoF0@ݝ";laQhf_u˖\Ox;]7<'!1o;<֎JYN'F?ɖr 6$q@2RM\99O&?ީ+m.{3X5FާT=&кh^I4FӄdsJ5O/\w9Uhul`jr풝lonb+hue ɢ6c2oŦ Fo3P!KZ=Z?STrgGiܙ/o( s`޼% %a2; ] 6,@g?W63c{|#L yX7bXtvqW2_eLek~d,51f7Lj4KDcoDcN镜Й V($$ȩaOIT>܂EᵈK8)A ^DorO^JS m/Izdaʰ{Fs+!E# !WvAnj#WgA>3Ǖ)Q- 'L iM?\3L$3w@?6$j <NȓPTaY?lY,0GO2#%?b<%/lתXnJSoUѷJfkM* >@;OxuCڵU̙c}&u?6[cOdǻ0 N8j1 ?v3DOAHѓ xXz .mXbs@RezD`BJZmj`o ̒a&PGimtnn!(?qЬT `J>$h.qN; $ t/@\ *uvi+7PY^?[YgaY/ .г^ߧix`tEKDk|ɛۼG؀С KEDS~GNYwJב64Ԯ4͟N ՀIJ''{XaifT9;{'E\7)9q7/5 5"=vFksܒ.p9=b K|ZXĕ)>,d9|%!}0\aрSTYLq, sOis!Or ˇ/=o1[ 'MBf֍:r['ql鷰 \K֘ Tڀ-Ԍo*I(ƣcOD`hJߏ7ȒrUe>vT_R͚*ɇ94 pHbo#Y]|kzsV1y"ҫ\B8zɗ =ȩf!e(V3mu`xfINMJGm7<ƖJ_td^PԱ؄ fKhsCEH([xn9p0fgw򗭞NZ*T Elp +;eDx!f%+fXI̤7p$Qgq}db19)rGtsb0!iը+6rv8rӰwFO E:PQ"<]Ҝ9tP&5uP楤'28/9C%a;΅F!j02ۼMw |`u] 4sL!d/myq!@Eml7;kX:Q@VyQǍTi#AA=a<)٪VSkSA,YLx,}NA5|;lmEx9\/>11OL-41v9 hDPh%$:6[hE~n`ggA{'tI*ou厠Ynj$Si!}MHm ln39.i{ҩ2g 0`b1b+h %1/(d+H\Oh]f!C ``( o}z+,Èl>eؓ3q/%=B}^M guOЊ ?a1X?/qHIWw"UQF'>_G;]Qe r/T7H@5##4H: 3~'-XsxlWVTKa1Dѳݵ5I*v$CDEt  Ү_ǐy;bjLab>2@il' ck_OW9_M{yN7#X:2y8uuX^4Y sl6πwBS {}G#kSd{0uKt)`\B[EfZt;_0fFxP%D仴@% !\0*D:UbN·wQgP-\ +mC= ^uD.[: {WscE< "1N{r/fKE cCSXŔ0 F}\kL* +j5$jS}r M#)yF_?\1+j1IC81 <Q~Q(d1ڥ@^&ːJKH+` f@jy!'Eu+|9T JA\Eu|Ѷ,Y. ;K7v^wZZ'XqW7`#|@P\[To(u$ؒ7yDrWuu4<@|olݭp~1 "k<gE`I)5vV(n #cflaWԀS8 yĔV7|eyL +^%. Am*BEi#Mq@#uK`gy G7TDR;  LK06GYrX$r$Nxh{}Jaz%ml"ۊȺkZN|4Ez/U~\O?e^yKlU-L9';X6~T=@1ժw cJڔuĔg=ճ{7gQ}Ĝj*ːrB5{݇٢r%Co3$?A?~L*2#fiw)G* jM! 2C`_^=5?BQxJЭc||{d^ZWzx0C*W=.qk+YSePbDZz)zت.u*\jJE!#eMG8V籎u: DPL֨Qp-hwfO`i`uБO }8\e-״ KtMOT!i֛*6E;E<lSހG}m|ȕ?#%J˻ψpn^7i_OPh P=DWEG%FzR-I4k\s m_-iZtKR58ķ}4Ou ha |h ÑCv? LG~Zr3od@XAM_r= AN7M25疑h6w&2 /#j'S,zD{[p_#'adDB8771V4۞WKcݛIJG JvƎ13 cϭ?Ϙ J4Bfqj* ==OOxgp( M[ D$My^f]LHFotR>"HyvV&50$UK2&1ݝu:d S ~Fɣ%n{;.FJMFIn(iMP9Ao-RƘ '^ e@DT,f5p 9AP[K PP  75(!Ǩn=|68Yslt{d+8-8/<,ٮCtPsm6P6@yUE5(hc̐xp2rJtPWTKPq0841 ' 1Iss(m񡿭KUp\ZeL7!ens˻dƫ"ެd7 kF'p'Q>9id]hUǙ7ᆽ0k|>4C:4mpf #Ps2z,hė y!z]pG:WLK]}>X@=YgVBL$gRE$U텪Qe•MB$>fI[Owu/M5O}9bHsK%N=Ea꒚tק2vQ#zg(60bz$4(pU:,Ns/+ߤxvM'J,B h.i7*|mX\g}m[B#cx(aքC~rBn8+Lp[t<>5KF-^ſə+ ψw0 BF;וyǬ G, 5la#g,?'d.V >t])׌8n>nhdZK*li(Kh,ȷ.ޗbHJ-$ ̱+/r|MH0aLW|XJvm< sГXqN >]<[Q@h}XpY^R3OB㢺.Hnzԃ|22'N̞̋͌o3l}(]8nQϫ`F]S}.ڤX| 2|JtFwԵ$&pξӇ%JC:Oޣ 3RpnoVB(Yt/-:1ĺɌe %< 84SC?ЁY ci)D0Sy!UPkɣ91n$`X?. 5rMśK>/GD7{Tm-C.bNϖ9mhN?>/t nFJ85:^S[J %]#`)\w_JkwG(o̼+&-M4FbhӗrûF{oF8qӜsgHgFzj0gHML,OtiKaz "?<yqUlӑ-O P!/S#IiA:G@-9ֹ1ARECJ [:<ΰN/DZ.(Qِ U6N!{KSF_rPQnZdP2'Mlܽf a9]TGH+TR9 m/7~is;a}cb:vԮBvv .gU;RmOP,) x2ށ<_^@ cE`Fk0)V/e> z(9e.5A&[B='Fc}z$UO' yFX& 9.6qegKj1Gi˸Kq}dQ8^2+Hn3$\k1Mkvh}o?+qXDfF-4R@ T @h`[?s1|L?9=aDi+3z;BmWp28:P1c"ą[5EQk΂2`s?kyÆ^|ET1Kܝf ,mE3nS.\ΫjhQ: NJQNpOQKbH$Y{\iۋB.)^ 64Vk@Qi| LAC f]a4L+*,Y?dXݰ"gn= ,N%1y9|@KxZՖis&"6 R;[gG^.uPܒ_uiBU Ä -: MR:ZS&bUSꭵUB'{A\ܳ~1gvzBDWr {nOc4 LQKR$se<[ &47Qj$%=^',MWY єLNJV{: Y33`rfOPo~UUpQ8Yu_!\`#Sh_s S?PjRQde^_"fSu,B:/`8,Rԟhd/C(ek4Ȝ,;U[%dth{$VrT#>Ty"=ᜑ?6n@'~'|W{p"3õAP$T69XH[րv_{F065`Xn9(4`TO !R^$AsrbTLUSq ĵd.㲡q'^%jzg˖tt;5(WhvňXҷʌQ?,} %׷[m#c,;] 9v|d6} 7XӦl_U)&G )hniA3TLYGofbo>)ix6겛 .e:᧖wmB~=B[M}Qv E:'7 qLu! )e We^ɿ!ZS:01T^j#䩭w td^軠e Բ=U1jG2^Ǻh3 yx.v9+Ú`Ug9@ʳ S@PN; gUp61 PvTՃY-0;,s!r`6;cb4 N4[c-8$M;EG]ݸn٩c?ƫm=ekG9`# 3̊~&eu#^J sR(J6ѐ}{s;ш EUي9{F9q۴POĴ>>`V0_@W kE䟲;DɋN%wuJpÅxL~Z;:9̭Qӻ8` ŽQ-xSӖ[U)ZRD6=KB YIN vDLg[uԨ\$f+Hrl9 `X('D 225(%kZ tqK2J|'b$H\B7:`bu/C!1P-"6Ҩ, Jg >츽-C%l\,Igq} y>ҽ.>nCVJ}X&3}}is7c~:Pp⃘%79htFnC\_,MNR# E/I%3[vQB͛l;q>n˅hd=ogFmbc )sf).0Kj )aR*xi'}mD P3p _L隆%CmF+mqҨ4tS\KpYLY8/iRw/E7?WSSD RB y$OX}kSߏ6Yj49`1tn Me/hB8-5B\%-ŸdmvsËu r1ѥq rN,D0ic!tGΑB[a<&:zE5l'Y4- mIIPPqk\0%X_/jאٗS̥qNu,k4[D1^˺־A f_j_m\!d:sY?oUX qޡARgQ:mҾH#D%?^3|O>{ׂ&Gt_梁ic.C<CIk|f0zE$Dxv~R.ނCwWsS.*)#1CMX%B2NO'AeIޘ4!#,{ٸ B{.òlū5wWG_2p^D@&X2N$c86먁`pX)vA_/BܚH  $\=6[q^FHdwݿ=l*}L;S('/9T\Bu}1]7?NRH% kD1ּ/G"H9m^$Ttv)D|/ڸȡYÉA*kQk|s/]o-ha%lb#O MWr^ pӷSѕ2 äshzpۧ3J:sGdDV&hZFϧ.F:lj,’BH\TVpH<})A ]ة4m ˘Gfs޴9\i!j ΁]S^}n3uvRw.0@1}`ԍ?뒸:2]gO/tl,y,܆sTim^;ς߰f[P"R,ARXuܼM5D̀$$X,DkQ= f; \G.2r ܴ8#BU'8j?ᴙg@*c ĮłpQ[sä#wnR"Bx4x9Tւ]hH?n)WxKGY鋕Rea"=ft~?}5b ldi.aI: dVA!j Ec}H1SFf,)[XAL؆aƴVI"2M;r $r=۾+?06EAܪ(WO5 б>?+])s"Њ(xVO(T*T.F[?"܌}(ZRw-E>K%H2@5Ü5[9 ŘCjC).Y:}OI"bzYټ^p14Sq皭j3ӤC~/UlatM0hZL#gW 8_ jk ¢:8-ۗ[}ĶK_#B'L->$(-cַa6 *6!?ۑh=xNp#1nvPPf+Z)=%8NE6($m"<] x<3"<y`b%IA{]H۾Ľl_K5*N4GP9dm}@R![ K(.ꖞR(Ҵ "gqB~>a]OgWeq5v)Jλ][RW-ӄߙX9_𹍑!HecʾF,&B=`Ɇ(0azg:*8[(!$FNsZ$<h{t{0TknJ_a0b[0Tuz:T"ن)%Q *ٷAT{E(TkqK< !cj`M,IPPL.j _!aKhvK ؍`kzJڕ6)`e4܁pUQWzcP=j1SM{cfwžz+F=ݡF%-^*lw?@3d@l9fv# Ok õ@xhHӰWUSdzP&Τ_Aږi;14[sgoT N 9Sf-83Sg^8hٳY * 3?mRg#s 4b 4o# E F:tmϙJmM{2m~ QI0 MӾ1:S:;"+]w\.s+:ߦBn/AzM; dU:r N&RΆU= ~Z/G_j+qP8aR=Af 'EYx.5-qObK(YSPs}sQ&9-7_Y]iu\gG2"SKkwLg.U:_t9&ڈp֑@﨏,P4$9۴2!ӳ@eqDFz߫Fm|MEcTS1PΙSL_WW7W<" Z._A_iJc3MR * j?9dOk8 +5"bTVR5T~S:7#8hc_!sDs ڃg;{.g̒'Ḯy|J Z+$NJɭx4쒵> N3R?CM䇩a1 V-9RMLW3I0trVv@yu,SŃO劃 >7J(nAEKa$l988 ;N#Q2?Ŷ8mǖzSzeRڣǓ0j؛JкO^?[HXCBOX:̅)'0&&W0 :ě?($O&IQHr^]%$DiI9c9@uFH&Pۆ^ Q!q;gZf[Tu,WN{XLvie4r!\n \u6ZX"97_ڡ%oꝴ'mP0pj_# ՝ wR< C*!H bo\Ug8<^`q;B4V]`X+0m8R69n'`?Z8)K)_+|`4 !sH걱װaR(f2+x`ّ r3BÖ Ai'i75T#XqXo8݀ÄRX~o7V !U%Sdl#~W屔WMlit?&I& n~w:zֿwa۷$f.1d#,{͈(o;i GĻ'D|{q֯;5-3jLRθwcķ"%pbKa6ejame0`߇"祿R=4V?~(fgM0/G4|69"(N_=5 J,E`A$\k"&0ۤK" ^^n79j(/mI7mĐк <6զy_d^̹E{NZ| g/5_-[P'~ E6Hp*'+QmEXU@}n񹁤ȱ68gQ*,[y ȥBW0_cg tJ5O#BIIdھG0gޫéT )qʬӎә encRgD6㒵2屯$B^f iň]M_լK&J"Qy6[51/T22[4@wJLV{P!'0Q6,,˳pFqB CqGE1<$j]Sʙ#!Gq2dO.]t'ICoEM`^3NvQAV{gr K}6Ptn(3inF3L+o:q{=4 CB(DYױS7Q'qvJrиP{*]#K9%E[yyń5[b2ɮZԡ.5WN`{|mBz߆+%7ד\HC\_ik:3C`O@Y/XZ xŝm*"Ebǝ] #ll{ ;Um犋2v6-06em͹=}O&GCx !M# UYMdO@ѐ/Y14֪$XoPw 8y3HK@~OG@Gj*FxA>)T0?5_?JꊳU}R+Zj~Wxn?Z؜g_zɫ`Mܴ<@ {Hطt_S*BtOXMg;p5E8IZK?hF_O9Ų ]dtG  \5I5dyV!ό Hۼb[uP>N!_% bj $u x1yE%k {<'#ój)cWkfcfu޿/nڥ|\/?Q$rQDgsRjцQkbEÖK0plWQ1mMǚXGUfB; !S9eE[[beS 1GYSY9_b]f;R܏N;B;, ̽͟&cؤ~3HĎ =LiyRXQi$ݰE< )3=^lUh0&UcwH!VonXaȰѧ aWݑblAр\)ƔDO40D=؀v4Guj :wnFrq>) Y݈9B3HFo^+GԗJ6@[ 2֗mIՠB5IG3(6vRCfhޖHH%?H600[m,~c9e psƆܮ_ҟ0$ľQ1ȅ# ?n2EJ]Q(WgV6RڳˀzIöp]\ Sՙ".:c7x7)ڗwezeFܓ "}) 54n$Ն's`zUs?.S? 2Ϝ6\ޢAY]l:]"hڧM2͚=Y=̭=L@nI9ߝl~zubbHm/ZAݷ9<{8Mmِm (~C1x S f,4` N$}rU+‘tvCz ,u]Z {-"WLBq6?ԡ %- k\~L"Ϭ*a`&5# ' 2\8#^Vymh((rG`(3;WC@U&9ȱ()+o6O,/[]b2B8>Mu4 }t`) e>qsB4(x\͚e<^NyYpלNng:'Epje5 B{77==Vd D ֮1Jewo'w˥,&9|g2E v83hd(Qpj}pMf Pi{ \#PF R335J/5;@5>!׹_ֶ/gp8"FW1ka,)4/#N=pePp7aBw0+ˋvbOIN Dc2@{)} |˔ka]>d`~4,9Ǐ0FpDKW}iiW/Ei1{b"cW-\#0 rjg!\1yz_e㚨.6< (K;8}LbOL qTu =$auSJ<ٺcЏҌg&WvO!L_նE`!19ÙЩ_O vYuU%]wTt.B;?2|쥋>}GbDNWM(]&0?NU^O JN2+ex jD3 pVMTRhRx*#P%M?Y ,~mPKhNpSNA|x Yς8UF=P˻Uzᨫ0)괍1̣4v,% Q嶪 'Rn_RFJfHrծiP:'$N:'=ٱϖXΦNм2RYȨ|% ظ 6D~)|/W'zqK7i߭v3j=BrAx$ yN^`D<Ҋ&0ء|L(gƪ̛雏ckti1ڧ\zcP7od;aF+#!M,;y& ܞo[l+"afCXע׾<~ʌⷦ:r?+-ڥB35rT7̀~(Bz3^A`QيnocFL:<\mcٽ@eY( qC~Θ2.,~+[s_Z\o4"\aOŽ46mX-)Q*Xci~vģXwhf>U8XҦ_ vXBldd(we~0p6_G$H]gҁQfVRV"wڬe;B)Aִhr xreAYZJuuI+3fQM|{떴]$kQϢ;DUT;lLQk g|ݘؿPۆL/t uz㇨V"^>p(ApX=zTo,fj6D\T ]5׀iڴKY`P̝7 x_ ODƒu_u|r 7ɒ X`xa6 b2VOߨ&yOhgXujAp)'JE0h %:Ao!OXvEowOS[VՊXJKsY<$n8#kYڕ8{HxL|)X'pA LrY J_$`܂e_GI.#ylyۡj&ǂG q;(U !'jj3?x + oRJ8FJ~q$.s)$|  A? z纽`+v'%V.DrD.3]uEH Or(]@G+ԫ6V[1p*0BP+Ms6BdHvoCG2nX%50&1btYLm#tKaawÛ?p Jwb4=osy׶.*)F ώez?3-y[Rnӂc&&fg |vm2t.Gg+&ek9ϻiPXlswL܅O3!7ʤM/69:YM!75}C5(OQǜqf%V@v0s4q ә~!XcW3Ɍ- &3)c9]BmG Ϭvb$p>()Lʇ(HLn(*I6{B0 +FViݳtYRDO%ǘ?"ҕ#.{ ݣ(Xe62jb ^}dӒ.v@l0iɎi%Olųҩ1m4\[0HޝMJrd^5U[j-lGoQ cɑ"TiL$ZʒɅm*uwzsaeQ?SSBt$E]3Q\a=(wȃeşZ]JHWUK;\[J@~>_ݼ02#Np0Pc>uكD|e(˯V+E (` 7ꈙ<-9-ne`A|u1;nghwYI4X%^GbSBFs,9X5d>Gޔ$\AvrQ`JPK͛y`uivfQg@]9&P)֓!J"mT@~A0EiaR,رnj<._?wYk(Br7 |i*R/5ɾ=`;JA[/ęi;MScd3q"eRl~(U=.8:AFr+_c6A"1$ύTя:j6N{ ``W}+U(j*|gРM:1Vl)zm{񕐌Z;?h_Nͭ>/ޜ!K L||W1P]e|勢6뮘0a~ƲFa@!u F [i\ 1NUiة!N[t8WջPee8\8;McRF3(Mg `xԃĉ?3Z|#m uWXMפZ(_>Jl?_1.n0HfA3* ҜKZ֫iódϔ ^X<;b\Vao~O+{7"KMP`*=hX .g% C{NUT8Gj6f[vY v+@[c~\Wuֹԃ:lʣdT~F>J]p35~ޠtIטf蝢G((Oa )ǾɂYAO+ =_ܠ i f#„+f-Xڣ1=u"(#~<`!&OOT7uo⍭~ .pu>cw e}*5vfIv).'Al =/a{gEd^#D0/\(; pkNUg`ؗ>5a%~H\?f&ldj!??ٿ9NlO\yƤ@6K%Qt-Qe8w$_/Oe]^c)8w*Jb)"/0RSqk7O2D *Έă @L+k$d2 cd{#g,Lp!`:[܏iMD[8T(& SnAײf9(J1pid[y<(;_8`_ݶc*)$Yb˜) AqVJd/ɪsD>;a*ڨ*es-],LsKsLŤ(`wYFtYԓ[]ȃ~-+!'TZ5PAzPEp ͭ*{LCc_LM^DՀ#H Kn( @fE7IGƒYm?> ZۧԬKR[=>QK+nPENVH՘mrψ (x}9^]"E0B6n `͔e` L T!(-w&qi;:b[2trtb==Tn[>(ݮ!ר5`j˄퀀 '\x|bmO ]4T kݜt^Y]ыh#n\6K 9<"P[K^egC:uDHaS$AP.: 5b_X=Ϛ׮|wT ?$ߥ2'Cw" T,9, aXO^/\6^0EAD.MYΤ?5|L5ip;qxxHƜYb[=O?HPJI"@ɞ6{aVǭOϝqyOq*'9&pwEӱ?H||_s~݉=~iODMVxSGu낲3hb(S0:)gdØޏeY$tߑN>&,V33-1yi~7P~;%l*hp݌xVƨik\z:ẁ xQ7wHpg_[ubbPgQ$]ެ`0=qB~ڒ9t^ QcPm>^tA8tF O%"?FUG1݉I->6.k $N=3+.IJk$%{Ru]P~K?|v^Co/f0[b@I?\ek`J_]vÔKE lz.dBk®k[g237ǡZ!o9 S'ج])qs2rd䌘hKN9Vӂ @il2puO&h f \l jڗ_ћw"c^f\tWcwJddSXT*L3vȞƴ FMW}l_s t'Fm!HPob2Ѹ)MRnP?T?,BK6+'* @9?FLL9SU wh^oS fn}g+=̟}SV#`nƶ)u|qRam~&s!3ת^\G3~VΟ8 9@=SzACc;>~?;XJ5x%wXS@'H *QkʣvjH_~kSn)pRY1',9O "bpҀO4eAmp8ؼUai^=ߞV;Y ?8iM٦r\DFb^ˑC/6a1z''7QzMe {#NoW X4 E4(QȘ9[KBR 0CJXEJ\1_L>S ]mw ;=Ee qyo, XOd<t!$$d>xUr8%a|Ox6_x{ϑs]޼hۭm|*Cg_]J8H Smƫ>O&U/n$@2UPh6Q˰!?Ns;$E}/YAmL/25A[Ա&[Šc54LPtTaɜysp|/dв2NFjCnt1.`iƤ ^\]@VWJ’26g =գdtMޱY0͵ⰬCJ&f9ӛe7s 5qL8Bq[xN5Lx]&h^ei0 N͘'|KAy_7QAМNPyd|mGRu8tDuE\qӆ46lJ;:“Y'tWQjl@,iVos}#gۦ*DRfnuA_Wntfp2 yQbҾW/4u!vvo7(ȩըxµlub`'ֱ[@i*%ڒbgVid>} j`v9 ͅ.^ v5K$S^9L fJ6/Z*bXԍ&95NԑǹҒ Q  .* Cr0;CC J>;3ax;6HI++D =awT!U{.fžDz\:[Ay Je20@SsaP\Y5}^½WfC&;E ?ftȥPO*/sЙ-NTtɤb,γ Ee%m ^ emo(cRG -\$B$W[}STsӈCXjֳU}Wy4^ rew3s hs"%t =i#Sgv%4 l8(EU=-!0p[8,Xy|15Dn<:cBs'H]a+/s}~EZ{[Ɇ?rY+T(e6 Q!LDnk:MbDNXԗWsn*ڛ=?y'QZD=] iX6FS3yGnR O"|tZĊ?ҷ-O6/\d>hq!uy9= =Qq\Y@b.X--cYo灜Ĥ%E$2dGc~quJFNH]oЊ8=%Ga>Ouy9PPuL+. 8 D3CQqsdD,)FzPJPƇЧ5VS i|B\>a ׁ(ty:%=7Ø 4y|zuIJa(5 cc7п(%;gED?/U4=RTӦuVer]r_pTQdʾ e{XV}_i$Bm$% p_aس#_ y~qVx#^|MYl0s0vHu{*zIFF%fׂ7p.qcp/Ry7A-P-i"c XƻzWJH/|`z̮LIF!<*:|*pK.bsov[7dLA53l`Kz&<ׄ?wTO&yc#?QZIE'XZy]޻=Ҋ Ħ[?"RmUPCi.Q%qeZw ؚTIPYʳyJiHՙ3ne|rA_jL$C4 ڝ "lHGoyL[`ZbI1P^ycJ;QjKVʂn,s^vҎW&Z̢yk6- .nL;$gpfXҗ 9N,굘j,8زSc!Hf0p[Ϸ L13Lz@ B2xPZ]ՅhG9u{G$"M3vht{>/%n!)<"`0F Py8Y* KڗYxj(á>ڻnnLb^H`}j-u#]Ϩ&Gp t΁LG+k:oQU:tҼVDP[ L |3_uMhY,*pqh{4wKL8aƿ&U({Qjl{at +UkH$ic@rϾ+ Ve?^4[_;#pR?`GiEG S j;BLb {x@wQx1X762NcmވKLh6fK>T4krE#*P#Cs,,%8P&D푇͇6НJ8:p f'!GJ~jƮTAoDNZɣk<}~#QYv()1|p0ۚ$`'Za/ >>c2oWw\5Q nL7? ++|W l2l‚R%gq%!~y,(XS/LQǏ5i7bL;2\)~Y6rP^U4!z6y H&U2;[ ch!-Թt["+81QJ+o%(Οt&JX䯤<^JczńԻg϶WNgo4ED7xY"[CYk)Z!N]֭n3VH8h`(:/:0*~ }Uÿ-CK]XIl.} 0f̹*Vv6YH&rER[&}VwsZb*R%ѳ R[(# JVJ T.p9`t l2w0R:ZZ2 ,BMuf.ڼٵ9i<֞䌆OF/]p봝%Fa*"kl\uwE#޴HmHpCҵ, !oLO l(su L/,[N(NnjO,tCl _j8S_%E >xZ_X!%yxi8-I};QB$4LM=m)YXxoTlƞuDx% F#*ۏJZSd^T`j? oMDA7Sbo)A 圻DQ4[4ulv*;٪TN_(?$ TGQ]H_Ϳ<5)Qͤ&?pF%96)ߨ1|nwVL}xut%֣);m;.w+-|P \wׯ% LJ >kaj'qg9F@,Ƽn&$a,GSFV'݈m:dw)`>m:Tk*/_CjIO[@i^L/?l=DH]Df59W\e\IA]kv/bvżW5/ !]CZ6v} 4Hp'sl2 5,5¸gc. ndy$׈ ƅna4CۖݮmY sNN/JW2dks-0@u3.ۼ^v^F霓5r&|xoJx}K"|O_p{Nֈ Q2dEuw^3"QCCL Z&w"?0ؕj(pyK@n3A:>gCNB>!^23Bzb׃e`]HG.YoUwcVJ˸cElO킝}S{N4K >}0;-ins\[;->HOx܁1~FM377J\P2]}1*7D#a??A%6Yֲ etϛLeڡn}JFDG(X 挏T&꠆_"x.r>mPmّvBֆ/s(ǃ̛L3|F$wDNX_.Ȭp,rDB.mn tÀX.pjUWO>*u@_l\ Ǒj!6w]6ZLϚ8 t:N'r5(!B6uQb w З5<4}˚GcŃjpdksf;) RYhC=sHAXzG֊ƥTNqEZ`}yJ=g(XGSQQB}o7sxqW"͎d]HQbLid6$O. QJƪ`0_)C"F=nX[.zTMC2u^>G6c=cϴ20IݞD6x(X~cnQPʗ7?C)A_28L]Дf[T6 *1Ii\L:$j^Q>3!,j._^w06W `n~ADZt26OцmimDLw? #Dxޠȶu p6Ɉ+{~Z'v9.t5Up1|6&GJ,^4NsR-iHW-M4ݛ%Tm 8+]CĮU^h.V3-h8PR+:KYZJArM7% QO8aޘ'{7Fm.&= }d}d#4uFSDf03 0~S]̻!QXFȳv3T eCE]5AfSHCk/]!^Ž2~9k a6iDT|;+8fӖdn:,6G\]+(1Xx/]ۣwv>(V s[enp=kO 'hoeW댥~)%ji#z* dȲƀyq L?#,YGKD)#%}cOCtzz %8i <W)``d. &\Ei6.]}ͽ\}*H~̔.Q(׿#swHAoDuˑ.Ѫmo DV1AaIo \' ӸZ b6du.,fA;e{^ m4T"k &\SgO 'E,YnU%;!a h&];!EA+4k;RfLG8K\hY/ϲS;~ O&8]oo [*WDK,̒{#3Y?/.M tG -YZoY22K~XUA<8!AgE,^"~ Ec Kُ3kL@}-bz% H?]`ZJL숟0 o7hEGYF߂fm?}ɴ %!$C,Q78HwmOBK3sp}Ww~MQ\p[W폥*5 p,97B}4>\ħ4"7]LRF^oXN=P5&w2}}d҄(7}^ ι09lCWz-fjRS8tXGUAtɛ0Ϯc`a]\ż̌a`"b̆QtAuٍrtNs,_56*)eUY!{4JOł> .o!P>ֆ׺p]eY8kDEZ*¿ה?w(KJjTOQq\r$r^$16Yjw^U^9f}O SH( }mtiu/7 qiZKbiARj1 Hf'Lʓs2\P1{"uy][D%=禸0ںary KWЯ< 0NHKe]_P*/fW?"S4ދp/0^6<%w3 q7H 7_~0v׸v.`͢551݀^ĕޣm*<ܾmag w$\DwBf43X=%ħs )wK*Sՙ2~Z;?P?KXLcRo &ݘ_2@2;B@+rL֭V\XaFgwW*Bq1jGVHi>E̲QnL^@=Fgr$pEl*o+JVĩ/X_ҁi&jhI"u&Jjl/$v5 Qwf{TlvO#y7|iv[RJF)JrXRcDGշ<]7˼eɽ _?!14%Lfwd!(@W,T=Զ,XRΧknN>݆!sLk#kupn-ԛ c}y6;t)j_Qr.#ME??=ɔT)po*Y.LG J< N!3S_'ipetG= 3߅wm3PqP1 g#ч Q5 IpejQ$"Sx^4R^1].CbAK4Wby&<rFԄWy+: $;W[FxL@|64Dd/ #0;<.nE'÷#=LT8etn};奝Jԙ7G! 'P`SS[Uҗ̝7Z~t{@:Q0/l 4մb85FqMU븫wC)b?>*l]9gr {K ۭ1\C LF MwfhVB ƾchN*0Jv&Q)0w(<[ȯ Z5;7VuGhqF (Y9z/l-]͜S2R M9 9 wJ_7c`8<q`x܄{xBWI_{^BOd_6Zm5馫4I$?NHnnv́)U04#ɦ ;=wi)\iNcn1>(:IHΏI] <[;f/cM[[)HP?z8kEYGvf$d BqK/!⮨̗7)K}n-^;x+]+Mڷ!˛<[\dM7W{, ~̲X[C_ ZeHRŖv#xֳLR2+Rl&(jH=2bj(j!pa@ KUY'NS[s^)y[@u*YN+R}ҍU1b)Z:œCK+yi{7 K@n1զ!TQD,2?eJQd.DSGZYiJ %@R6Yi=`}u!cVrD,CSv"$^U*Ђcj ^tY,lia5Њ~{G`,<לv:L}S-aϊZLp0 {*|p3Wu={ز Gᾲw|8Q37YnrKӹDpͼddL|򰡏a Z ^ߟN# fˠFʦQ^iSת|@+mw =-S(Z; #L'U~6ĵ~D\IihTܻxiyZW7h". Xj | ;䋻c_?ǣvYQ{lAWoJ <XW‘%>˰nIU򕂐&5,u$زjkR-䖙D,6#cKurij W?cQ|M˄S{!/ZZ_l#+ی ?1By U\W>X}8jI46- h,$ +܅l UasgDZFM^RQmzEd .hMtIp %oxvwr&Hq]ʋ-0F.4i:ȥFl`k8Qv&w4l1Xlx|3" KDrZÞ^f!`y:,pc0)$(O]K֏.e|?ca2]`5X&>VS6_ՃJMg.-\]au%@ϕG%=7n񘡶G>f 7lu| _ЇOfgC~ [blԞ'e.w\A: 2sʛӠ_\ӗT3=Ԛ#{s_F+aǴs3?|R-tM[ĸ'\t|\GWYȈ慄>K!m[AGYKlz9FQ.n<6> O\z%M1+h7<uBޣ.n/)7'q >,1)`x`QH$ԄP4AWiܳ PVCrXK`oJ)|MZIߤ!io0(jZpL3lY}seɻ6]x"쌋ϮR4)_L$s(\ * %<ܻⲇ {/?*M )MAHѧrmK*{Orz Fǰs@Wa5^ގ8^$*J :btɟ1>XGn;-8 ŗ >qfos hT\Qq.?\\ *( j{qcձR P/CrF_/(4fh:4%t&eA`MU'WK|(M@Y,}O+:W,bJ v\OL`yXr>*꾵Ź#(`ԄQ +oIuC}e-6=iwI8`;mr9 bksYA/0 [݆DpZ!0t}XYW=XacM<6?#%7aÚ셋z1EMYp8WDR7py鯐8\p#_7kѧ~0ߕy{®nQ_]@ o6y$^ݳ8$iftWa- .(@7PyekURdQ5ƛ11M XxC^h#767 78Z9\}fEnFe? ;c4`ې/rŮe-4[FOdiaaAuw7;W|wv-Uٽx#{uYZhg12kܦjyR뢱?oQB8d xyO!lB bOtH=^ib)2l'ZH7iKh]תEwW<ƥE\72)\Ӫ(19^ܒeP0N8q{&ǟؤ=W!؞^V~5g.A" -?&y3諽\6=XlMݪOgIt (~~D[u|@l&Gj`چh1iur);Y0j;̣+c H4^y Ñx+r/Pp#(65͓2~/+}bW=kW>I<_xU22j.NX2-\o xW'ndΗV8yK= vCnyL@,5xaNs-&SRmr*CJ@b!݀e-re x%Mל"ɳZ3HfUI=8L5-(6=gF/IkU_ VovPxtNqbw\zwU 2f\("39!RS5A\bH~`s$kG9]5CWG^\WRac}80`V#HhкFІ+iI>$gT516yf1sEƕfe_n~dKmELiML\'JsϿ`[vE3jzA vC Ëm!.a-{±W"„i;DUkhU mJ~X,q4Z֩rMr2=KzK%O|WIkPm "2ϵ pQ3] w޷,O3ft*3ɟޢDN+t&~ն(5$\ -IF0ʿT6?u1&dty;SfR=?2A @RFS?r"(9MWۏJҫ"qab_ߜ.^Ì9'X? D9SМJcSzS25}!rbd. qaJ@97TU6jsu [opڑF5bJzec2.TC'8WW4pV;TIg/sx$'j}䴷6TPKETŸG)T#u/GUhXQGF U;پ,|ZP-)='ttXe&#"b")1aU*Ă[KDըrt}ν#ڍ`GIqwteF[ʡ @U8p}\I"mgFÙ-}L1c_E$eayXKgh16߹ڀtNs! &B>?C!жd{׏mtG(OE/\ fyKTTULxrٔZ4f #W2fWG2 /Z5#?'ChEIRDR7Oނ+RÜ=2gS!Gǻ'TruMnUc7de'"dq'~ѭ|xZ+F:i =,*z I(x2,>eПic1ܕi:l$bK']wƲ<\_ r8p9OtvZ_ϣ]n8'g&J'맸*pTf S:lWVhg2%~ F+EBzyZI~SR8,n^IAV`~c~mfY!=:40$ֻ,D'n3į|n$%O0Xƽ׿F |4EA\2~Kql?u_;JdqDQˎv4nH9|(B0L B څ_b˂f!#.c3:65vSX'EV6B9Vv|O{8,`akNT4CT5~ɂr9Qѣl6ʹ[TշRgME1_{=2=`FצB2";nxP0;]xs@z9kHuQpRͣ%EhRt HǵM}Tj\I (q489|npK@6S3rCv:{/yL{^Y+~0O6rxl2"(=,8 V!|Dm=23czG}Y9i6aI<DCMʕB : 0MFBhꈾQHܾbl;JUydY_' YVbs=h`%sJt v*3\|u!Qg7ny:Ks TSiuFZvf M씻A D.]wb;8*@‰:Ƅ6v|I̳ca)?XuǺ<o2:XYT;ma亐vH9AaY!Fqp)otm?"D0TLַZhp|!74+7#@%b7`]7D\6<.  nQ'^ ,h߼s1I|ɨ}(l}1xGM x|X8 p8_ YG M"Tȿ@(fּSwmKt};G?vHJgtw fZ{){Ц 96aVt|@T/!0>IZy۲C"&E I&샞EwB;Eyb߹I`J%GF~mB2H rĭU _@_ZooBԣ J9Տ(r<Gv%3@jι=%Y e•[j:Tg?Y(oꟂo⭜"n%ZZXb`WC~j+\z‡O@Ϗokb|y=-' F )hOBdfen2 5uj;bLgtgi Ac* }CjN6*l %$9;/hemSǐ$9{挎7_KYʨc29uCvt޳ih&n9!m21!nCS9Q`Kn@)zS39!n3d,baNX,{x?DiaCua5;{b3 B_Sd`ZX@ |ڞFy9]@ѩMZ3rJZYsAnŋDRE7WKaiJKcU_g᠄5=@ <tAEuaUfɭ7nJX+3ß~-:>w?NjsQW Mbvv!/W4 :ekMHﬠ8/א31H%YSJc2ČtSnB#5:RTb7XYu\l=b#Sǂ:1az1 rƋ$LuhP ɾ'}A-)/6C _PV[~$BNazib9eH;[9L9+aS+b SGPTȬ69ȘlfiܦngX +NR?= [g~#ۻ3dFbTp4G꘶evL4ݢo`ytwf?IGY3Rntb6(0hb6(0 9ol)f2J"Epp?֝~iWq'^c&4M~墩f8_^ mQBD3Dw)Ae eJhqv8z@ oE^LUHtGܞY0Aݬl'7M-Nw::Į ӿy[m|4cgI* @ L497$kmd{R8hN}Fޔ-Oz„ڳwNgmlGm~[:Ie0o'׻>rI-܄*2tD'hPPyX/x5h#'Me6UE3k9e"+ZMclTk8醏.෪YbË.L6x:takp5@JZ4qhNfx֞a@9ɔ TI?eۘi0 ~bƦEϵ7+ 5):Eddujp"AKxt@q {Nͧɋf`/y {1OS"7c;^Gjf^/wh"nPCXaܭC;ZXO8JC&+e^ TUٽ: h{=bl-@ZFuaSMӜlB^1We6JsNE[ y*f? 6n:*bN.Z-Oens1 u0 X]n+a^o@*%C>㈍Pfyt.MYu-?8T$Y@: D0|OVfp!zq)G>"=P:R7V a8hbZ3zwtyME:"Z_ΡQw'QJv;m@&7У7DZo^NAeBw,0p;I-3zDqئ{86oh)nX`}EҥkzˆKZ++i9ə`>VUѤ В r+mhrm!Fb&&}d&AQåѕ6[5 ~tyng/#PƸ!1(/C >V MPo(Ő:j\)]"BBR}S7oK\bk*顊T `fA1]F0<1?r屘!4F9r"]Wt|NwJr*DFC[ɕ15kD!hTDo?Bf4 h `,X}ڶ|(j-e:/aL]PǧnWg~oq&hx?rîgҔjʨնܫv,mmϑeyZp/'DmNdVE_,S44Ir*&>ބ eEֶU),ią]]kwep^]:Qβ{L#vH%{T"(+5lգr^^5Pמ[vP>Sk\m5=],b6BLVfH<5 [?}Ao_Ip4e\⛕DPZ=?2쒧{d%@SJ٠EW RDe3HJt9Vg4cgH 8~Lbg9 ϕU4IRMsH`q׿!]rհC,yZީID ," gz9RRۍ\F*]wAzB%T#GLx:ߡڊ~,Iɿ\}37s9A|X6QU8'xRb5@K+@TMTȔhtb]UٛHb|=|xۇy?FR/=;3V8GL9To4GHOY@h{.=EƄGȗߥ}̌]`pDH:-bb?{L`SϮѥȈK%F9׻PVY$5X90WI5ٱZzg!0<|ߠiZsZXgeh`d`jx$FĂ`Pԣ=hCH0 11dqӢ?OGo"ds(6e!X\9x94mu}2Cd3-<4674@]x#JvRٌV3lv 9H|RKЬt,(.#wV <}f:q}Wl#d}?4T F&1l'15 ZiAUq Ɗ6z<ݗT&O5P.Ȣ0*ž z8H ~_N\ʟ}۞|m%ׂNH֪ZԶ6^a%,2&ӠhS.> :4 ٝ@|W@1O-U,*LwmV*!X?AJw`R1Y/!7g%J[TmD*X_CqN,=Qplj:Ōߠ/PO@P^o~o6 #W1 j}.MuAlQX;_Ţ_GfUpw/82CxɁtn576 &#驯 @<=)s:/ZV|9{l$2FJM*|>:/p,S:oD*cűB2~Ib 9ܔ}|r;󊔙qV!"hJV0xdQKLtLT= ZٳCQ+[s3V.sGάZ"&wBak1LnxLSvĩ,Թr9'RztƖ;t-t7#@C iKOPyjf1`4?XWטAuARf18"dVx 7`iAA)n̛yő(wF!.R/.zZ- O2dGF j,5}frf&?Lhji3,r|d0 H\HH P#?^\.[R@ ^>sT\h^swWI9!P;kAa3sfj!{h[7oHȫ icĿe *3/8 d^J~yޯA4 &h3$:/2Bɼ HTBө$1ZNyU#fΘgчp"@lǦ^X8 L }`5}& *Pz4V̪xdOՁTdj2|6iӶ  0wh(H)̭yiau~_GWWd7И0{HPgfp_ Gv+uԖ W`#݆t&#'-8dQ^nF]NP9+#\ }2 Ѐ0"K4‰ȯ*eb0!L 5Sb9v0!=A UՇd}>CEɯ:-F@=?ѯw L5Ҙ_{*D  _qkQr҇7z3ost0s֙[C{6᳆|aR'23kƁT hɉG̈́f[VY@AN* X%-JPO@b u97!8Cqjj._Fy "4!/f;hwz~HpNͨW,z_l:W{\^retLuB&261A?lgy;UvzZ! u"%*Ar$q&b:mv~V?{ɟqE9s+%[6Ǒ탽 +ڨpW"w+N#oi,D=hhS$S3=])Xұ6K#<G/ʟ"(\eX*x;skHĉM(m8Hy?" Z<]aΡ %Ԅn/<1rVЦ vUluLUJZ_o uC6C;x_2xi( mٶ荫Q1x5RV&wMF % $/U7zXÖ1op(љzgu'ń:twꓪǏf\]7uAXt/<Qr0p`\OyBrnDAU*x(xZưȣ/$BX&z#?^F/C˵i?Zw\v~Z]4}^i\H|~ =vCa"̫iiчa_qB[v3hkKĐq 9 ]ڎ\(D,3_(TX_/uc3wp4ikZ~mc h{Rj":ߢꇏi.hT3E שs<"&V@g J;¢OE2)Wt>m)y$B[hD?P0Yykarsn7RGl=InG$xķ&<671T?Dq{m< T݉t8ƮZ-%J6M} 6ыc %XE$~兎%ZKFuY][WH6m$*r!)< ke,A^=b9wmI('mU)Yl}w}M΃$%W=kD1u/@àQ]0Ԉ/9@TNf_:X֙nLxD ./,`6fZ=2t}RΚ{SMt~(ax$.x.iMDu> 6^=mJ(Jƅl%rr^&g"r@`8c_P> h#(E0\k5 *7rTv2Sqj[.g,G8pH@q+𒔯D6? >:EAT$Ӆ(s!bj[sEc*gmJl{Z߱:D1Th'- q ִSwJѠBGd6(%(=;p<yGYzUe:UV(_SL*2Ǵʁb%Xs r''SeUӶ>:=j*Bm)!֮ɱ?DӑT"IFLK'Ydn[wj3'dGP9 n^L ;]} ^W3{A 1puY3A>?yb1R8xsq8 u[?D llAGIm4?[|BS2W0uG\'Q74;F8|)V2t ZX:/]X Ks>jjH8ZEL?$%!Q^jDz,x3^ݲVHCiPmC`y1b|,'W 0Mc pb;,5uiB)-MXG-@hi ۀ/.=̯a,z+moLm Un4oďʅACN.TFqVErX)d|sl۬yo۷(Ա N%yuj>>R`ǜJ6ٿyoP5 8JNgۦnwA۲?e0<d<\̻YNs-M(0%IyWN]VQSV 8@H/2As9F0r'ߢW5?c\?li)am,x ubЕBk$'CMb#C5.a#q*x eeS3bC*fצPYJ8Ip[Հ.K5( X5~2Kcb)}K8MEqc=gn P((0" -]RU||r+IyJ+GzDFQ_m=&(ˊYjU%~B/.hI'Ib˨}{,1~}$J~?iW7B,8";y~%ҐT 0cZ"ѧgdbW$R-N3X0A<_ˋ~vsF0KrcC1ޕhMnW>%=NNa5uD (:`& ă$n&@izpsA0|-P{= zfwi9BBc$=Z8uYOK)Q'en`G%GJV겈E tVr'[*Ó韃jTwgCywZARL]Qcz6\_"_Y j(:˻-"@9dvGI>6:@T}t|m D] sٵC~8k[f%e 4`\tH& "(PR*oW0k~[]5f<ZС@5*KP'iRp<7v+`\TH!2l9ƨ;kX5FGsM0Op< @&ή];jLT7\)oM37ⲛrW!,⑖ *ح]!Cࡰd~N( y,Q/FފGܯo^y_';Xi*W&L7bw~T(.R։3X#3ơVplFC9%``^}Ѫvf6=ѲDQ{FKY5ksQL(52oY*װYL6z^X oN QzāWn$ -@"ˆnO96w$^A9ݍB( @͔ƻES^!oy:K K4MނBfc\1M~Uoh$88/_&X *ZDsRZDE"6񋹰! E'0Y{/װCW3Iw^IYx3$Z>[~wQѡ6-8y$e+!{38!4+(uyz},VN.jȆ~0'*wr BȘ:O>Nd 迺fN4<<+SiWZƩ}d$2M:n_\u2ҝ7NjTb币azLGO]_)dK#0=tA@WIJYM]1Quæ' Xdoc~d$ @DVD2!N~E,p+'$#U' pr4ڒ hpY w3A'Q3qз3qdH<~H&j`ix"Bg uMsؼufAĂ%wI_uo8$(ƒoȂݿGlzNXa]i l;@lho=jӾwlj.*C(X?hA8Q9ʝ9 bKp,^h#;AM M7H]+ <3R4} %t͓Vr!qxZ(A 1smNš}嬰 L yš҈2JMYcU+lǭL2)g/z >$1bΑwN(n&y>-mfR*ElQ/>/)˴eҮH:}Bל,cyfE\L sLY%- Wq$)cTzUp.׭kķdxKvAI`7ks9 V65&$Τ{2Ab[$J1$-#ۿvJL~ǃ 7R iMۦGFմ\PC;) 02怔ab:Qn\Sj"i[V9 W UTVLŗ%pO-[S~p(Y@NKQn+|6*q\YS }p!Y8W-Ӝ'{f 9\LѥK}A\Ü0x䇋lN9:X1~Ѵx:~c橞 {0@ڔ}SJ`fa]ӄ;[=8@Ζ{H%n55})1Gqcs,;XC k8UХ_.7<=2"D%0=k}I(s%χ ԡhKJ:E%PElP&81P2ּJUWYRAn"f21 m[^%*8AT. ̊9?,-Da@s䶤!k-Il1RssrDћpp ;!4GH^ I\2B4[^_^I O"ք@LIaزGED?25?``e$*^e \)2l jwjG2dq9-yl0򷩖 y@ ik?Q^ AK%LVݘ880ARI:>GO[|[[Wc׉;=lyO6d{Zf3g 1^n)KD(dѸ:a4LnBoRs>?Hԫoœ8. _$ N^nIFLvKwE86tWqJdZns?^+ʿ޻)dx3kߠ˰c7t?o28|Y29AF) +Fv}kD+od`1V kͫSjk6}pZawmݚ I|^Ṇna/=Ѽd'}Ɲ 2jVh>D9N*5*ty2#XHwѱ-bM{Khic[-P;n1 k*_uXh8aL'Q,j}#w)n@4U#U_/t:Yp:ʟ1Tvd G(;@BڳyGb ,bT0?*]1ڢ>F \ۖiYz4>')`ު} s̭ϤV9I gt+^> 'iO؏Q.ْD)b8xOJOywv!w802*^lNhQ`6s2eʅJ=B`n3?KcVӴؒ?5/VA?3POrȵ)\}7k_ *`S7h(-M_OK_]LMB9k=NnHLUM=p͙3I?21|~BfS} 7Ү < EԶ~s([d6ra=!6^8Rb&){bL;`-cdc+уs|ǗlG?AxC9CMúQ uH-Ȁ(+`տ34wLp:G3rb~o5ozĮRe:<+-B0uL^F Q0*j@BHϓ堊sF:b/H *;:Pr}dDoUYx*]yj{#7.%r4 U \TҠ*a Zۼd2<5{B0fӞ)'B nѢfɀQ ;^M yeK.*95kEݦUtH{ؽv\|J;f1t3XH7_m1ר'`}q`)|ڡá)pR7) rl+䢒o6ȏPGfmj:p h4lc\B`7֞Z!ˌkEnGDz2& j;tx7kʡށsH}aРYJ)-ߩ̖y|*2݁?>I.<|Du5dKV5&4xTȇgBqJ8:V tɝ-ahHZP+o^b l-W ?Sdș kLFȠ\U:Q&{*(ʠ Uhk| ?N;rpvAǎU/et$.!o ?iB*RK_pHw2Fu8[N*"1gđ/%B\]9ي|em@6XCdͭLZGf$LBwe̔7%'l 9:)]ZxF&S( 8LPacQ{fڏ|z(>*cA$gpnN잜Z_Q~Mxa%/f%Uk>PC^æ@YH!XCQ ;cW;vR2]rIĭT)(Q_-GV!tl ($UJ1ebeĴwX~(2z5c~DY11]%x1wl\Hio * hR}dЅKQ{ 6R X%jr֬miJAz’z'f}jT"u}:Q@Gk#&. 3/QF!'Zr\WUIxZTP:u1bdauKj4M}Ϝ"o!u5ҚRKo^`aA#?w0x3 $“쟨*FFA!KHN4?jf\ l`a!)CQlZAV0Ka0mQ4$'U2it盄sLMikvS/FA)y' p:k\BZB]`v!)8=UeݕUjZjf M~cja^w2L2 zQU1fILr'vb/2Mntbܑuݭf/?5]dA[&-2CxOYC\}@o[Uy ~QtR+3?%Nd{ ѝ Xj1ja| GfN/R=?,p 8#M|ho-: =g%ve]yDZLC|gKtWĖ+8ءu+< Iˆ hxkІA$1EaF2,]oraK4ۉt^F-F+ 7<{}~j؈p;ܕ´O;PJZ{RW qˈK8;_]OzwŻD;*0fae,4(O8~fm ~mݟ>)n\<ߗM믔UusDc%nMEޞ)YJG jމ༤hY𚷃}!aEـFm1&:d30&"0j qb6PA]~#OP|ͺڒ48+Lt?Gb䭚4 ;aTZюRў-O ˘.N9ҚP9D_SLPӏ &yo'.;Rld^^cwIFi4ċvKt|]㺐ah8nVG C>y`L<퍑m`ZD;S-rАjM+bABN]WbδkI"+E : 9at@svnV*<)xe h9UeC ԒaAo*?>a^I񌳳| |fKǟ_z%c JOke-tX* 7C&E+WR*%a`Wށ8bwhR ņ0x^oJN[="I+(ě 4 GErZ$$^kޝ#Ӊu/qAB#ZS}P8 uv8a 37 "֦C)NdT Xx ac-\,6hdלoBp)oX Ah<6pu[oE2\>ve,UP+1?zC\Clq0=/Nmj5Nrbx{EA:(鑯cH4,3&^Z=k]!{{PҨbO3;iGQ|SLͣU&É?Ξ%J_ZdRy'Zcv}*?qIT[BEdL\ x9o}!\֏my;VB^]<@:Jhnam$:xpAס̕E}aǬ[>׎ F\uN)KX1F3gZ6WCٚSQ?Id_ɛ=0%u%W\[:@ykƩxme*AhE:38L&a`y+U %͎m$3~āRh U'EClۃ<+lT>H4(9e3yYH z';#]F ~>A:#b/_ C+*,1qAed֠#" ~H0c@x}}1~i7E2x{A³li&'-V\foܣ4;}SaFV`Ѯ)P.w^I^Hg`{/]س2fx W`-lH2eLp`E}F,F*iy<53ې~jy{YiOF0OS -c^\稰:ǵ f@m+^B$#5 HS9եg-0lDH=t@A`wt9]-h9LhaMsɦՇaړ=B+yaa;A|E O<>qiB`D Oj`TbkzگNuuѳ}REu^ˮ?iw!l1ùGC$`-a!bu C(mla8}R/^;Å)a}@IS8o62#^rd9wZ5堒$GA%sIoYm0s_#m@5,RU?m4cfz}iI)4Νi~$1bL:11ҷZAĄ_ٯpų}u}}]E b1o!E:ɼX(; _f:uk=^Ɔ2 oXoˡY{ C+}ȳ FRF֫Qʉ2|$WEfٓ=)sXn:VkkvӼA2kWe֔m4@)g><za5𸆌Ns'>% sEUj BٯyPp$%<VP ?ZB]!KºF/rɢq+W[7'f[JI /5&s']m3p4Q62Gw7-7<25`mO7KF0 gGI7#rl8Dp Ќ:n EH(/yơIp*+ j261e:BD̆/d}pU!WC}>.1K/s3E8RnG\tKL((jꑊ4Y'9U"OSs"ڏ!N!glcSJ|#.H07huDc_yhqZEZ(&e$bXqpWCӪ> m;>_M,\09l,tGy"ԝ[uk}4OJT,H޾]Rf2rZUBKB%IpEgxoߵõi# ?-c+ /vg x~v*Ds3Z_rGv20rڮ'Lwg=$%2"6*yۖn݌餗A7dk Ҝ/>srx@s +@\T^(f$/)T\QFx^@,5INtb0 9nBP3QEo;Ue1 *=SL>UW{_# ߑK:=ŤG2~jhޥ)L9LQz:cqİ  tN%T@x .cZC&ƍo}Y; ٪8oY'y3&BTr)]P;X|Yc枑19BVX 'h8L͒p9տ4K~@M@N4lXg%}T$ZCy>#>h-TR6pj'𨎜 !)P#np#m 4D{ol32MϦmryIFG>wd˗vڈ!8Q+_] wp0 >+AoFvg\Px̛[E N'gE)f>):*еyld۪F]ۯωboFO7g G=oqv2<ިoXec!H=/Bw%hWnb@T& $N|s \.YX Xy[&}IRDXpXC C685u?Y- acզ|f)= 7}N܋H rx 2@_"o6I+s7\&3| :Dg@x @J+L\o[v7JQ$Z2[0ՁweImϒ=dt+W\m,}R)%$פW2C6em 90l#^Td=)Xf < R¼S<=-$ Jlbւ2rMT=o>vvBԟ*$absOC3ѹ; lv]k3q 6j/䥘>0TcJ$9b4IѓiCIBKG"&:; 7̈}(؏pG n\KhwѸ9 { ͍M.FCʮ8Ίx7Yhz z]zС'RԎUz^D&(S܆Ygd*oL*ĈJ{5H;$_yjeUJ=YoV*6E^F-rZm5e#0E&"V||-־#)Nr'}|G%ѿr?D/7NFc2lBV_Rڪ\+Kd:bUV|x_olk%&}|s,c#Eqvy_'{:(5fDK DLBXv Cn[I_AIݤRJ^yER9P, .j}&F{!"Im8)v mj)^OʐsI n{j/츃CvFzABtXcjy.xv,Y %\ A#7y]xF[6@޻N=".-{YG8  Gn&aO%"1 x ^-ԩwl(ʡlvA"T!A i/9 au('[sNy%g5ZyipkUd@{! 3$WqiD(Z)n0^cTP^"Uc%j;ۥwty Њ-"C~e|?%FP:d(iD3H-4F~Nt %L+YPf p)Ƚ?ve1꯲w-Т~[F^"cөr`HaߟKR/Z9O/$[X(qoYT=nOsy|E9w$Wm!Ti ,*^:ʒ1UeUbKdaVN%F?ِ̈́6mh->D- KDgVYv ),js߱K j=`)>e(3p>Յ!d42Sj3 #ڻnLoŷN F(J1VىF4k-?=AcmK|QFrx`5:>SnHo_nnQtvE3u!W`ݯGtT;!O0 *ƛ &O%`1oZ+"ĮMP3# bc"3iˇCC@k?vJS6RMuN!Q+ҵ1G | ($K >p?}}?;.~ml^VL q Wsǹ~Qa &_NUžM$N5r|y(;T{SV:>oW u*ɯW_v: f Cߨ)REv+eDD'JjUi*`\6Oz%@[ ca GạCX37 )}z pLQ)?֓8C\)$ijA=٠2'~LE`WpDO-tēRHQ'2IԶvZһRS#Q%MxrKoA,ny؟Q_7}3GP݅-^4d>5d,z"JuHP혾@JI1A@吤WfKE/n&%cfƒQ`+Ë~v"9Lw #S )=+ i|@q.Z'8Ew>Zn7OI> V$F7Z/#Oƥu[LƇŸU7_һO'M`bϿ81'k0a4j@ z"lt/vr5YRP :(țoN+*O'S~x?*ζ$l#8ȝQyU?<P/= a)gۿ$CU)("}<ʄ[ȃ|^|Ը3rMe07MZ-B zuo8o]~,߷_ ᮰~h]tQ04+<u0 ys"u(KCOBjHC!pXui߶mL^VѠN׷E/+R t>VB1:nU˘vf4)4%Jrc:Az>_>hxe_\F |ŗhOKYBU6 he8e"3@ƦVKu%;Vmvl}f1Wm ֎cqw\i7%~^/L&-RN(oִ=[1 %y-F/=O㐝S+QNug$_%F'sYIUj^j@QGfd^au0'9 dޮk@цJ刃dV^2S\j:Vf4mjS!p6W&zʹ1NfzIN-} Oc?.#uMsf6sBnײ9Rqmv)~NHev:˸b`A#)N-S5;CeOd2/}B:8(Ou=y~U]0_]LcuDekLlXquG,V.`KA#_"B1VXm2xzK0I>,89 .R IgB+htV[P j*Lpl[&_˾#q aE^2iD˦=Go^~H>>\udhծry]i150wMf}ʋwmGe5܏E,$QWX J㡕\†4G-0UHAZ^ SQBc %?I؄LpBŶb'B$ t'd *;ɂh0(ԀՏro9,[3f,Z +?韚;I]*u4 ݪg[ C6&nݮ_+ wL(RBU.%?>d%(|-/O:񈇻@V]`^{}SqxY%.s37/qX SDGE5_)k{ⷦ 4s- ErmXhyVl^]'c&ZJ]7!s_j'hgS@K&e3c^1~_{-:uLU+j,:;"Gz/s,Ęv~[;\ӷڞ$=jߠȹXoLz\4B^[!HUYDDս#\"F \]P6=&)Q:[ڸHk0ܛ٧F9UK ?ѥV.ntJmuBNR[u0YPh:lWQz҇:ُi_&}@K pbL'g'6j eGTI[դ;45hM[ܒ.-Hzu:Fq'4 J8gFolt(h;2\%-S*A9gGtv+Y#O+ c= C`#f:Jҵ0^G؜ 1&@uvaZm:c!HS &zYxS R 4}s2M]/IY :0ghr4_!"ljf$,mX>OS,<9[9͝s(R#kAٓ~2W2"_fjr+*v0>a(3H1Y8]ﰏپ;ϊ4-UcĶE{~ԘY)[ V8'r.ڢnD2O]d:Ѷ3@s.e !! lDB^36VZ}'!=u9sYϷnn:>EDR>&P ydqpe1w! !U:2E~l4Jq 8z1 \g~*)rDi+0$ =PGXcW5-0ګT9+xN`?&WHsԠG𮺿V"|emr7CF#MBɻQr$*BQrTYy.">VתF$1a_j<)Vl=`&2lܲ%3'f.9 EI] T@חu6зJ({Ɇ( 7BFq<~>܈ ^Omޙ\!|mO(oS. Ejaw=5 q^bRsz Җ IciUcQˆvӉ͕F}/ }[loE3e-}' Q6lcg Elu@E%5 6_nb!pRN<՟oޯ|Կ4_3D^xzpi?ĉ$Qq($Us v{0&v֤~ziHP@|Iwկb !A3jp5} gFG:eCq 7h!СN^ς2LPC<%X屔9?W 9d4RDzߜJ00?-:wddÉ$ b""aԦ f?xH5 d`$rGfl1}7lD%GxOisN7r kGorLSCzD0[Mls͂xWne\ݽT| ^v9gwRW6I]>=aULy_W܉?wן+ʏk͘R$$ o4܌z#!P$.o]HPͽ [[$Ͼ鸦#S q4yHX6XaN1(zJ3zAF*ݺ!)@5ԑPz*&^4Ez*nm!&bO#kC!ȟ` RiϮhOG$8Zhl!6n=$| 6f{G6^#<{Ve$vaLk?U8(_N@w,yoF`Ee^DGahZ>X5p'd~^^2A񇄚2Y` $6c.ұB5/1xc/%P_|bHyM$U gj\2u;|Q((VZu oI*T~jlTMw~[9mI'`[H.J@Er/U& t0d§4{RB8d1zz0vѻIX{e`;lGMHܐ;WZz)r',L%;T\4tE7Ղ--+)UWEbOHt f Х][9<=f#}ƼIqwy,$Rc R δYew2b@>}oIbT q8P^1?}Q x%#$f o.{ N}f"1wdDl:(4ڟir @z_'Z{`_Ā&֘͐T4᭘=vۡU:VK.BKh"W[<[CMkк>옴}Brg|;1ȸ T7q(&Adhw 02HJPZEJd a}zcNz<G{fhK@*&JFUmRXW u!IDwBcKf/{wOM`[cqEul M]U#zV;*u61UV鈯ȿnjM8|ww*+I5߽?a:__z' o7{'rxK:nmR}ͩ`v6aE$?&0EF/Ve!PLZUyxA.) pY\JVm{$-#{|e~ h.6St `hٞsd.d8'ɚ̔COk|ާOL+۫ܿ$nyrDv2Ma[\2w a*R[ D5q KV'x/z3?M"*(fA6@bƇËr_kXk6 5Gt}]zՠNvK ނ({4ÈIJկ5ϳW+4"~֭R}dgo}b1{?<dǃtM:Iσ7 <˷NT[NLe{o we^#N1>(Ih!bA',6[_s:qswE6*PqaT;UG=9eƈ~Bee%CF cjI` @N:1CoZd_J m1f˩ڑVnk^n[)Bx.7W>( uX2<ǰhٷ`դ@w^GѱSMLtAI{cq1,qPrx = 23\iAn&)qTU.xe"d0BZ(`⠶E1tuw3r58jzvO ޕ z +J c偾"/TuW{V2η`RQ,˅ŕAQ_H_qdoeSWCs([q?xw-Ӽ;X=%_3,fo9'Ls0C}b2~ѕ㭜 V1Y->dv!8-~Ffj~ĬMܡ?an&Ww1 1;O;9?bkR:_jkڬsUzP,gLskUr/]~p(osZK+ѻ{F/C(ܫyh3.?IGd!R`'(,j^Uyg6<-0jut=@?9,[rcR;j%FR_PnL]q4\4jא̚`P{M]#=z E96ٜ}IQ6+*.h' ,/芅  v 8']5HUS.a хFv W5l8Q [lx$0}ЦczGu/]ٸ c`&S$cB3ZW*e̝Q~%GTU|yVk=Ƒi*V'|^s좨 vs3F }|݅u!d/]T駒O laf蕗ʩQ}C?T!.R\m2n+qP\ձuw"R_Ԩmu.)_bͽF`gբK@-=բ|!Q.McFoGFăVO{O9Q̚Z8 T qD䤺F{fFB\omVUŌ&Zĉwf7ؽ\~ۦ{h}{.w66xW@(ꦊ=Yak!냒$e׼dƓD7*`4qVGu#ZSeO%q&q"EfSUr8:F#qB I :\yr #Bw0P{ԙ.g`%6y|r\;*%pյkId:ȧtB@7l3ZO0\R(yT5{@@XfkߴD^^NJPL$G7SsW N> 1 Z?BMORy҉sO bGO]S?U~mwPvk8׭{vnOP{I; 8M>EQyHGE7Z +4Hk/&?S:sW8JPۉy}d ,[g$]i>w``~׊#e _x"䚥 |c~W9R-EgIz|1EYtz%*0R\T,H@:;aWa 2݌co)>{"J[.qnV LZ[Jj>hN3|x5ٯ J?{e:JNQ,p(iG 1K'xGo-濹/ "y5~ VQl(3=p @im9Iiв)Rȳ ~dtGtnvi@,_3)PQT5ĭy1&0 S]k^85|ӕ- U|S DkN|-}tr6QE@u1|lr{ނv;ߏTbvX2/,EDJ5CJ~zSIb}-u Rua{ƙ.úkʫ^{NfR^|nE n(!ͫB$3:YbVEWц)"s+&6|UxBwF*/7b;fiXfc n7aU0N76#e҆)iY#*dz`XY`^8٢i*X եRG撷H%]\bhavݐ hʥS_D׻$ oOyx킋08+_yߺc!Wp?%)WWpaQZ4#k; QGEk|OJ?|4ix!E>+i@*8怿o,:IѴ 5' wޥ|D=}{ 찘vhdV*-OEIxA$?@G[7|o#H/p @^B cL"bs?[c[0a0Uz'#n W{Z*:*E'鵞-Pɉ;:MщЮl0 q)+IQ3wg (ERj. 4v.27ّV͊udy2F{rBl#+&#=]Ŀ|3)_|jkC/2gF[1;,9b&a9 $+o{B~2 8K"ԫw[̲HE/u`'vD>gː ԎQ4Nc$F1%~蹡oq9D4f6v&O2ҤyGUe"qPʵ>Ĩ侰;Z!'tP䜇_ح~. p+|l!ɆrO#y5NQS wM*}0MC]1^1 4]c9/9QҸzdq>N|8ox2[}Opjfl0Pߊl"E.Em';vF~30bB O;RC]YSeK܍aEdZn4ݿ;٠z-VK~1"c)E9}h=!9 h?k[l»b&|\V>_LlL8! CvofZ Sfbt+mjv.@T2N_cAh YΖ~mKp,5pu~pL_LxB]T;_D!=WaZA*J>u:0Ɏ!(#<թJ`y}wC,U\ĥR~4'n)ʏ>>Dn`6dy\~p JT{=xxG3g*&u;AQ^zU$(8dq(6!ͦr9/*;?Aȵ-$nU]:\A?ڋ1<9qbEG|1LKېk}jl5}~^yT1Dx˂p cΌmx9%*4 B-V~-O0J(rk@AaUEN2Y ^os=4oXeɢ3upw|K(͡/oKWˌ5C,0RgyIL=̉!y㊸0cGlSܩ^,,`7#sjH8lf$P7x f9*\Uf gA=Iױ,?,]jDDD;l?|\{W-ԇBR5% "^lf)+N f-ɇ!مK2A0sGT dF~JX;+҄O]) UCmhXD<ܽƗt\ۉ.;Ę Tf2*XPkťſQURɧ㻝T %CK⑌5Z~3&vk>iG8na1[q&scҨoΔk.5t ^7fSTl*RDkLyд̼En~Z36YBHP>ā'O .Qb9a͑zB.t.x-v72XwGy@voqԭN7#l}Y`檥f?`Pc"_I걙;bגj +Yg~l⡮A5K,0^jg"0"$…`w:(TWP>&#JK=b}߻E'|XHgU5&?!D.K旤)w_mCT~p gam0z^w_ e%U>?/+hd{E] uąuQjmM[Lypڈ7&J t/4k~ʵ%oϘS$ P],֙W~-!ljtibryE?#I| qm1c{*Wj7^1" hϝOrêrUfuɸmzvlt).D㵐Q"*@eBq"-56#?\6"gh48׺sqPY޽+}{?9fC*z}k,/$fK- Ru)ZPa[iw%0݀]dj߭,H޳_:f>͗G͖^ J E;< =3,R>Ӝ@}sx;s2lm40O$Pmx_(A:({Ib }0 \wKN Nk@pP푊vgdf9_tO+^OAvᶱIJ4x8y@r\&>kB%H!~+(n[\xClNG4+Ɔu"-SJw" ?`s#Zt<2DOlh9H+R! OM哢zE|<6̆܁;'jSZ Р9n="qe^*Fc7n 9ewG 4b 0AIB٪Wsw50+u-IAt:Pj%?5}2؀)2=l'$IPOԱ)F% #0*ۅ<"uY,QLtX\W;ِ_UfE?䔘GB,t,;t FFpy>+3 >UcU9^>'q:j8 ^iiu D&S3 3 d%q<_JQZE0&= 7O,D.QnspC3>b)0c/xG M%f~+#Ц=gGik'qyKLnYrLb<毝aZU< (#mCM;f?5v0|tÞLsV""3 )ʔQDZ=S|9kYۈ6! '^go꼳?g~i5 :0s6Ӡt3==L5 i<݀80/F`4ih=B<$h}KzU ֜{QnvS:-4ׁ6F`b X:^>a)]*/L')r1#Gg1kNX|"c|+ՠ8"£HMZwpr-@jF$mAT)F1`ewar4̸G0ia7Fi 5.l` (D$>Ŝ7o6uO@7JFr(d`*&QHTq b}FMzKi v1 PTh*I!黇cq'W2-5$J|_yܒ3rnQ?0vC8B sOzyv, ܬCD}[TJ")J κd `ZFx7`9|ʎ Kճ%H6U\cZke7m⢍l7>Dg?ԂD*=zHκۘ-qWǔH1(4|ʆOHiOSzF`>7JCpl] wuړ7 EAY,: y[Vрy]odbT:zzu_68 cq8߁@z2mfya>ݥ얛 32:?-gtwc^jrM1k޾pUn+ak` '\>IPA=<˵tߋ.E_cu8IyB0h< ݊% jY+1fx ͕)|P*i^L) Aʃۛ6'=R6MʅY.rb\Sf2O'LeZP%S=M:@>4Um}^[䘱mM^"!~$Vipd GNwϻ'㦖w]t-m]I|Uv'/$hSuwazmQ^ܭ("FfV;{6JvnaG <6#D32mlĨ9W'.mZViDdO)! F$ K3xUуHGm9J`ZoBk' ȤVP6F*E素#ExN/T{QvYPdQ9M [8mmR5H8p ;NKP f%! =KF쮹{h}of+ۿPHaL_L#Ē{T6&f3{1Y1v)$ߗnA4pi`˒S.X)wo$ 0,TQLWR7x/@pWF@r1*š:Amtfʫ_myHB-ϵ=QPR!Ųq;-?/ҝ伨O?69 ']V!=^Ѿ E&Цbڊ-8Dnj+P>bAfL o]h0jA_K6,Xz$7DF %ox}Cs1Y;Z,>H/H,Pmu,_ B3l|1 JCg׌_1p7|0^nmJE}/TE1e_ӕY{޻,8Eomp!}G:K(\,/va$͂oDSHZFU8bOziS*N&V cd!TaDNR@_ðlUڠ^S#׻S,seb ʁ!Po_iEV6^lj#ÙYK?`V=ߌ>O4:|њhȄKEO,>d_ORV*Y ޔ3-v?Yks_Gm"A؋{?$dd&ٓ de鉭׬'1l`jV0@[LE| qBLDBՔ Zf*ѪYa"% s}0*(U"_oV;4]+^•4=M(M#*!7^\V:'|^2 'B)Ykynb5mZ(& ]$Zpᾭ@w^X_8"YN^]\Z PWəU%1ᛑFVgi aWLٷhcwlp^Ä +~[VSr K@VBЎmAU_/Y_Oj~5gr}Z@?z{T6#k.Kߚ{W`椷 s7ʷce~=2.?|7CXTF+FB}(%H'_|"[dU -e#X+L..o2vnȓt{(_J(16yr ħgp;k&n:|ْ';}k/xđ:!`pLC8Oiw28"vqۼs*,P{;)Gcݎ!z4]9 n6H,z-SF#yQ:n#==qT[cЦ܄6 \X:XHR Uߒ'4}(PjÍEŢޑtm b=S6.08%x"=-y'|7,<Xw^ hۨpb}14d*eH hCJ~Tt3'ĮS+!CcK[?q[^*Pdиģc5O5eqxL;|"+󪚒\X{-jRc]lB>Rɴ^NtejJ\]ޙ^$y3bPz^[JbE:fI.(/DNW-KZ:g{N-6I+yu `ѓle̓X+h!g90$tiE,)js,Z {Ub0*%dnfzs A筼aMlpu"/ bf#mMk_FQ:7+i:hBS);3/|@?B*DD}J GLsηћTBֹ'?c xA#@5M_%0 Z)uAǤ$Ͻ+/$j衱CKsf:s wZ' <}0a!:M}MW@UǫܾEރUQi{{tPMojB|OfC#lQ`׃.푭M}bi lMmyn!Ҫ_`1nC6[z7kzw+e+(A'DgcRxY*8V"ݦє*ϽBkQ-~FoR3h—_Xu4mIV+[4ʮ.b_՜;'K{1 `@p}]ᾃtp{g%$ hF'9_y@y]HShKцsiF_*P i҇lJcOX(^gMk5FnUKy =SY@X '4r윴`yh] ň%cD#}?vGⵐK`%`F 6ꮆވqVje97R`RcRJybFR` } -"R-7it(&,2ayrbZRs; DpூOzw8kE;]81mD?7:Ț1a6u?XLe{ŋ~+a\]-2ZWٸGa_/ːL!*3p.jC[dnZv&=֛N#f-Q]yd'6'5zD&2v*lgIcXv7Qc(;N`9hFW($):6A VՓ!eťabfŷ]Iv⽘=: KUOJ`V+J}ڏ֓3aH Z`[h!b ?Ror 񠚄L̴^j\HD8 ߜ ҒqoEsTɮNkItбO;I*o[4jҘ˟6̸@hY)/rT8JK1+bO/|PW#?r2Yt#)4~ { $7(AmRj RuR[Ka3:2tRo~ Px@{ h$?@tj`j$ yq e3JM# ,6!(D&b4guٶ`!TTl7bnR:NkS#9) ytcݲc%;MʆB~7P Meڌ)ZKdAK" s5uz {V!BMf]Fx%^"~VbGG&,fw5LAg?"|[=j6L)#w3_'(fioGyI{ zf֙f,lnuqX~bRrtCbxaHgNtO~\$0B- olG7%!1 ]g=*ヘıG~:nRۙQخvzr7W0~g6Yw /v?S+ F |쀪1j_\7R'phi5P22H&%pRRLģ/,K#/ &hQtc>$$g[0p4to^#n>R\ Da?T {HH~ڄRA(|4㡊(giJ߿ ĖJʾ$eZtx֎8/3,IAlmMJ-WdiP,8ۑ4$#QC0twI- 4KOX]Öu304_EVڟXTVPd.*gD)~Ebu>ŋSV%8e?W m NWB [?E1K%Ljպ?Ob$)4ϷHLTr3X X"d(T}p ԛTv71]2 @c NFDN3}hQ"ʯ$i)tWm40)Fiet>"ՙir+r@J Lg *db[A81 Z3=A>MD  ".8U =`!,XUb[Q3&ZWGțc ToBM`WB};PBaIA@$'!b<%w폚2/8p>+]'iG/柋aEOr..~ඞ`f[b҇A/0RX[ lI.{OqYgdyc FWtB2M-=YM_w@9(p ϡ\A㛃Xaـܩ(E3,417R5O<='9)u \Q : F'7ﱷ}9]qǶ 8t!TDoIo2]8lW(ah/O#K=k:'vMm>3U'g5}R0Ԇ=STvﰟ;@VctC NO]g}ޖbhF.㼚mG7 0g>0%rin5/{A}Sۛ]Ռ'kǑ\ztF V312$?Okk_򽀛/z?Dp YQU?viŅuZ v˔T@J!B٢ݐyA,R6fqC=25|?g 0rǮY:S^#IXsJ +!O1 &Qd`.C<麀w r*qݓb:&lgrx#6Լvt#fkgfwJLUҌ'}Z0S#:fzFO)O=Y!dx~O+i5\bx\r/o:n)&p Ri]XVaWhb4a4li61UDy#)}|ERiS1taxG>eHRAfT}k9 WISƜ);Ԓ]=يBXiHhPR\GXˬ _؍@CI[o#ph5E ?"yb`J)ayc_:hC#Vc< ?%~<^<+AU4]Ŵ=ffθPcEזd&bX =㧯}Y+%`{˾1)_8$cbƎR9Ľ/.&f2Xp*W;!߷9O&`b@퉖*0 M@).JAc|g, ǰՓw1 vkenHS>U@Q;\%K,"#&{%sX>c@d dY t3m6|576Bq:`837NF爽p6[Wm}\@.a5%7oeSO1p0D`ĺs0bFP3ґ!/7q(]oBbwd%KTD_iNuqgƂ^#?b&vLhQwT/( lMf-MJ7q֬KPGfߑażfb%ď*&fy=rLopn0L usm:'af3D|em`=OրdhiQ.D Lb1\N0T}(\!q#h ׸C}dWLG G,FQJ-,,,=4UӇ+ 铎)H5k],XS`I7Oy#8 rL%g+(fo;Vv[_7v1XMosm.>$*EW픓KmX POI( ĒԴ#-'/yY*732kjT,ҴP`i-qCSP]{~5EOZ(/9$3rywv rOf>6&_;.l:f*X1V>0s'>gCa_HZLn@kUܷ1k ** )˜ 802Sx/}Dz}z%Cݟ"۠-Y^3bC=ݸ%ٌEd eu5$=n[OO+F!Kr2eN53L4w̶G!R~)O`R@Sob|Z:ZK\4.\0/$Z&Q %&\Uť `#.@@ eu|&ӏHDLb Zm*eyd+PڍVU~.k@O۩s'0pV5xFRdֹ]⅌Z3 qۀ]8/6 9dCA33jVƥSdKRAk Sv( y%EV*1{ʜL.bp,b;;kC=HA_9zG恜_T1_1H cw(% k0}C Erq¢(S(7e$H>[x i֤/h |ر|>Tq;4ŧ@&Ë$@Up㶏ECю>[؉arWȤz}b f N!beeL;e͗)DD0kMb|O*S) ǢB%w7e̬M)`jܚY|Ǧ5?Mj@:/?_Sӄ:=X2ސ3%jw9*uBGX0EܜzռzX\Vz3'WneXWvx1xKg/FslHᴌEG?ng֥ZN|CY n[$ C#a7*\-4Q㣤 7*Yq$q!2Wƺ-/p:*s8 CƁb(iE,Jj^ZʎN4θe Nr BLuw/\\_ @&>:8 ] {Hls *Y;aN-R݊hܦk /KYܴDdPXó UR F@:'H]58GgF`?tΤ V}4 [$MybI*y/k%Y)s߾\m4-*sr+B:H` 58hT7K) ,Ӥ2ĀXLJY[,x~~SEǎs tB@۲<7ȯpz>}4"H]6(< 0yn5)'gEȎ,r,Vu2^%zLor~aBjqӞ w5T+20{Q V+m};e*ϾȌ"^DPR?Bm-ɴdUV{ed-;'`/Kpo}?̕yy__,n3M"^njtO&>g1'X읓a"xŦR#F Q;',A y90(_ܦCeϿF؎Km&b f'|`!. b`].%!xa_X tCt YIr 9YF5G:(;QLz7]۝# }mz89M)%<"aMDq\-CT?ړT2R,fܗnsb6cռՐ(T_[!,yC@ ~aPSu 6c4 ,r6ߨUhS)y+_jC<  ,Nw,ɑ9E{ ,#`t%7 xχ0*+d蟫n/D],fEDa$X<` J)FŃVDEK\@Qnc^+HyRhmJ^`W"6jFb(V 䙬aUmшXӢgFDZ=*%_F}#؇F G7%cI-xj˅Ռp1dw_/XL/) ^u[z|{1$Z$ׇ=?t" ?o_"~9ՕKqhep  y-dmWs/5Nvֹrd@n%T4 CK *s6C࣍ՁLQڐBp8cQ5dH˴i8,Ɛ;4Bx^7L{n(~,&sCBl, oyIt޵<9aam}Zs8JZ{ f,UAS4 +< ZŖQn0[CrU*$2h-'w0\E/ ⭝'چ=+xlm7%V?1۾fB/\Zup8|,Y1cƹ`#'(O ss7qzeoN\f>rXt,qc,@"-of%Ϣd0RPtl!RzZRlfM\_5nz~kpw!!p(P)Q2 p9U$-:0 $"UG$) nd؆OXǸ3?ǥD_"TD'tūR:j<PاSs Y,̞Wlv{Y,/B=t)砾[XΦ2x^b!w)cAAOq+C(7PXƪ9le44LzBYm0+pw6nJZ;L~$Ƹa3BGa,Vvg'h%.hU L *ϚFz#^Q+-S="3]pRoPXڒ:~q2::d7Md5,>DJ[\改9f袶ew- 2Qmf|Еp>aKmpA2SaCs0L(-ѩXq*  S5h*7n>:)#@E vށ8ښ AH}M2v.% h\ہA6lв}ăsu8z8g\h ј뵹3_ĠVcRO x$|}E|TZ9U_`uTŶ(Y;4F] Bg\#FLʴ656hK9OS"1=ɫ'13#C$sH>$TDu~lj&V5\fdzn!3A rDhɐ=\6eNZ7UoǐtKX}OslRR~&v$P\,&/miHxTm 뷞Y%IUWƔ0v+%G 5\H1l})z'-$j-623(Six@I\QCPcx5ݐYy&խQK_msxsw"Z@];t@V#ՐņVP^@kTqHO+"C:SF)ґ}cANmX-< {_=< P}8>wXܢޭb>Ԝ})q;0,2L[np_ۯ45Be)b5Q '49ٻ#84J vKsP;&D=\@v4<(5́AiWM+#|P!*6\1MW }h_dbHZǡ3p>Q(A_*`$ D*iVvD!4Hd?ax@¶=ㆨvd!0kRe2Tɐ'f *~r9CvK&H[*D9JSvujXL9eX|(H 33"@d{tlĚO>"PG);܏{9ɐeK4@y%5>!)[[|H"L&VU SkSI]{9K#Kct ӼrbW6B%.(' otky՗ S(JHPLLdv_~ C8&n">I2;?׊^<#㥚qw[kcܔ㉵H)sfտ(_P1b8֐D&8Xғ#FvI[{6NiX= ? ['.ou+-Q̑ag:Z }FUw0GCF.쮓qNa,@OzYXƛa9U'y+]`a֤:϶-,rJI9b 9;VzrhJ(Fƥ%-P _Tc)DR\4w%G8L-sG2>hJ #OE-ߠ^5%[/˱45k7?Ȗo]7 :7DFt /=¾-ؕ g8^>1C^3HW*!HRJ 0!1.Y5YJD W~|q^I,>@V$XQftX}¢׭7U84;Tn_S RzV@bI0Z`y )bpJST]\SmB~៖Zl<@^ocCAFTpIOo'[cOK[PE2` HSav8\30گ*o޹R;{m_d3+xlߙg!AH85r~ܑ-coS&8"l>|.S?Z Ba77:sTΨIx-Z WW^--MB@Cb}褀XM5&CD.G**lspNFW&ϩyD3 p´^ڳv3(M6VGbU D,/ NEJ'HIJ ֚:h ဍ´?@j&~)ɨw0i5ѤX薿 5W+B4# |!2ŊQTn8 U5&ȐnbO?c8njBS yNŷOo`pȴKl4>t?Զ'*/# .}eNR?f. *犽*+{S?z_(!)YDV߻2f̊'bp{ֲ$XJ<`Gm tM@$ PQ_ӱ8FS= ߤ:bxVwḢq>w|1cx:, ǩQ[;i5C2ˆ2&>W0jDZf!#)@DEh7cņ.f#'wE;ˋ4?'u"Fk:BrG[Z6©N7"vF+~~7Ӵ %GМ)~~ PN!@(0yh0GX@s s½ɔr=yf8ێ6^\*~[aky1ZiX"NS]22+fu<&L 3UWȭE<ҵ]&6w.:c&`5_$}~%lz.vҁh-ߢNۋBre) VG2Ur{& pqjmGޱj0Xn(g]=-fvh5s[Q4G  $s [ ̝Qbi\;9<\- ۆz$vDK#L~C`_K]vw/6TxaRy2O&!du' WI7>AP^bZȌ$2uQR()D#j=XeQ[:\ .f9“AGFt}!&y 5R<0dN>kh+Cx~?AТG`=->n~M,H¥qT;)0Q{wV9ƆBmvWckCoԁ9nbDE? CM&7 c$k8F mfK;|6e)"c$#3ri@OʹbG8bY,u^"N; 6+:\oն;@?>wHɾ5̄{>_3y}$.N9R[pTuXSlžZMAz287lГީjKzdcx5&117m{i{|1m;]6 ]5? %8F4Ctܤ3>VSƧwQuF?)kYkk*)J~]a_ heU{[Uoj 3Guqެ2RT}{PJrvJ~Cm.dX R7:߫L%Gٕb?9p:s_05I֫<; qa%ͩ/ w:bv[A6?[!KnOlL=vP'8C;"y C/} ﵝm+YuB:#+I+Q)"Vj\*1ʀ!,:DXel 2BȤZ;R%}$:OEVKdr~,\z4"0sf#AJNoLPӼ>][)gtCLNe32Ρ!֯b.qHmǟd5 &c?`"R*fDQ6է[$:]ccje*$<45y H4OTyw@*d#x-K#t[fF"E7F Dp ˎ=%՜Eބ;6B\N[ ʕTkJ('uo;?[\q9u:[CoiYoaW9H;fMPv^ [~20#4OP )  \Yv%M!Y:e@*P>#zQ @퐗a$~/GꚞBN[PJUzJ.ĸ<^߰WK\X\CA# _$3Y݇G.vcU|D촘FHҳ8 ۲ceKʄ8bd ؖY~)W\+N.{gjdcU I oɌjo;?ju& uԨB4n>a6}dGSDuz[F-F :p.0HXU jEX<$Uw8 Cj9JٷLxDb7gtkDThOWa+*s&/2YMCer*|RVkŕ{-y#E~찌^[)uBŎ~h†h,L\<GfG-:Ȱ3sEo<;Ddu%* +w!qIEmJe'{%x05ڒ9y3C8sd~UЧ}F%VqNQkOAt dO .`e KR86/_2IPDV:Bv]F%gW\?VEpx>[T H0}f;(.C$LU7n;AzQWk&iOLΨRj!̸ܒz:~1( 7v Lz ;dE|Qhp Gʋ rc W^l՚ERo0K= gDjznNLp37H&HKXBfFOor-&Tx^(+W9P?o"Jb F?1bYq3|x"85R0xFvLx!9^1k,[OAr7̉/ivRg*]U] '?z&hֆwƩyc@8_E5<íO]ysK:o`APX)_DM7?sA2\VBJK LE^7'҈R3"2^ CRTځ9 SSYwP|| #twxKcBM$`#5@<{MK[p0VpFۦWs*nC¬qZxE<+VFzE؀@IG5xYIY/~o?RLAiҍbtmY aBLvTЮ4֒s6W'@i6ɺN%qw[8: MΊ#o.y%QuvѸwnvGF3]>)U%M q"TRФN@ʵ0Ibv[]'ZԴ%ro}4f1St勥;ό|W$rk9?=р.<ţga,7M&PQt6xsҌ r{( ,a&ZMgp?(186:oݾtSog8#8@ T{v!a).(3B{1;(\|RHwhV-rX` ЩwӋ^>6eU'DA\^qPwBh>Ѯ{u&k+d1,DxїDEv9,v(5;rn}-ǤԚ,kzdXc%"h.'tq&`yj:%N GUwLFW.WtAh}bqRC1L6ZCy؉]*c10In0_'n%oKҞWȁ2R(s]h~ʢQM,\i:aPf{UA9w4VA'4Qq2KPpZf_'(F'u}2I*_`&)d@cY "i0j|өG 9.fi]MGXc4[Pu77 - ۞+'?:X~f _ùr̀o;G:@$E෋Ti˥y p:qu("(Dh/6zfѸ@ 0 Y`J걿(!꬇)4WZѤ>}7@uq }6H- В!Q᤹vgs.mM/yt-Xȶq҆,9l8qt/[3ɤ^%B]ګ1ۑQUx 7.R:$]0ԥyq'i6ue{;ˁV;YCJ>73y[r[Pzٽ_wC:;d.!\h[-"rx1TQYbB<mqL_F(d$̩}6ܶaUD)nq;(BgCck][F[RO''H>"ZFv."_gM :[iH\#kY}bUܝ >sb!0pZ&B%ryE{q : 5y^XSČ^UUZȎL=YZ` lW+QA9FS )A8I3 eL5u@*Yx=\QB<]`[I۟T)k\Sb)t1^ɼWGtd&wqd>R$J\\1(~`k[SOyd @<2 yҹV/s5-E˂Hp.~8p~z$_I Ď-Pk:q0If ʤ&"׻[/t$t]",\܌L0Qhy5*2V;R _phuH[ ~kWaJ\2bTPzD3k-@ڹ|od/:B*qJZoͼaW6rHSPn5msqdXx[~h2")JǮRף\7ii#:7bEؓA.T QRZvw6AFzP\Zp24zW^;Bn+h#Dq\̀>~n]brQirx qK=#C9@[]d#o-nKugpEH#bl>6:sA)0UP>6GvrN3} j\ɏ G22EV)lpC㋌ /?cnO}c_RAr &GuҚ@\Po_QЈSd49K#A^v320ۺ RB7IKn !Fb?_J[I&5%fL 5X۽Z.s%v!?u8{ t"mm*sM $ F q挼g`rC3NM6d˨,%x tzpeZ|)FMs&?5.ٌAIfȪ@j+ͽVvy`{L;)e?͵Ip^?!?6\ɒ[5W:lXZ-s<ŀ'0$élI37{ l.kN {JEx< rP"ԴD%w C5m^ԱI-C籐_ P3qQ' >8C3΄:ͫF뫚O,T? &lXrnWẎzjDVf]'ś_#L#UCoedX&AtOr{04; ě痴8(9}zv}ةܕԤmLWr.C+@[ m}J8DtZmue= >C4CMj2dav: 1ztd M&8$%iAZw;WoJ? ,wfܶl,mqB'`}'[xͧ%<8J K7DBvsԳӅA|))#(2JPm} "C 8,tЀ:9sx$bD 0NaV5n8H9룇R~%$$x,'%oZOsXңs P~2sn.,rh1*쫆6cň"i鍊: :{p#kE3js<'peE^Gic[AEf$H_?rMmi6u79mng,fY8;,e qS&ޯ8b5WV\QBUiG!nިу6]o'VU97EƸ uOGEV )$ t2?)B{QlTsSC]f'5'ffi1$BmԖ-0H0ݱ$oB;9hCuX*w$Jǀg1S/cXE0`Osԫ#/ 6Q07Aۭ}JaL3jِ? ؉$6X䱛벱|n^b{Q mg`G6Bu~xY<$mg`Ɛ(fǰSq{ތtHQE.☡=<@Ž_ lgBy~9PDnqټ(W/L?LR 5*=jߌkCWb~,阺z~ě҆wtq/lO@5dWPpxBok"Hy^.#XW|I'[1}ztAeFlLO 1,( _t6]ә 1^y)g7xoĕ%{Mͨ"_ ^UGOx.sur.m>@`u? Q%_Qܸc\IT8qVGЦPxl2c}".44 pYs꽳'Žir 2eNH8;-VzcCBE=9k1l֗fy( c ə dҴWX-nk訆+oWV ntVdބʟ6Ƣ>7s`#qi94td`7"&v֦`=Y^3}*?<d'y1!c.^CL*PfvPU3uQYJ21jxxlxxl.=%3^%q@|C=];6:H¤'w]^(h3wtZCl3XlO`Юq=6]qwZt2 J/c8֍u_!Tvl.xԦHXUUomgiטCS-.ΐ-Y %ކ\Nq~\-omsQqG񠴆4!^[\}˫Yn 6r (rd^')t$$86+MZFx$6}?8LwASxmۏv(ZGpծZ2xEҳ&9N.%h-¹sa]ՠ7,8KG,4j@q{+.GiğcDIr'q22W?[t90ȏx:' !uNfϺ(K Feﵒ(YL T>aFJ9r'~CϾG;O]M}kr uz0QN+pnoi+$(ȞPL{ɒi(-ocOT069ʞ2U:wtʾ Wօ$h_frV•9'=PS:u`oq0ι.Mr]$Q e׹&oG)F2"L_\əNxj&ϭKm#gD/?o,!5 bDHS0RJmW[\X,2X˼l:lH^[3 8VpS~t ށ3E 0Q0?\ YeBj?(0Kq.1p>tNbɵS0rܦAb8' wښL_U{YJ΅cY*[̚ᨋ?U BM8;%B7j$HȂ?WU`BU>&,a~T@I9jP~. +c}Fu+HB-COKCv+A"1,Rl2#smu5LΧUK|ME;ZÁ9 D|/41$ aOV}9 UfVWH4G`>Hx2ĭ|>bJ s:,˪U 0,id ֕mj?&"=,ٓSTE+NYo4CJ")&)>'R(9>wg*QQS @I\LxJ \6t\4/lH؉|6af~p'V@a]p2k\k޽k?;u׏-(R%p_BK.'Z2XOp̄:4 [OGвp}m;X8ӣaLJ8Ά)ׇwr˥͸_8x!$Jp0YKd!ZfWdۆ9[gRrRZ9>i-¹+RopI1%:cRSˢeDQ2Wj%@)YD *,ۙNVK*ޭ:nQ'o Sl=o.HS{ףwDGֈ0T) #n^]OQR{4עڂ_w$@EhMVlAj6bwz3˾j']W*@7+pCx;;oSWildyd y4CGn=FƧ7mj`僧7:-]_TkW_5уn-ˎkl#!ZpD2 VjCx$f7eGqHۿXZc"'Rso0jy^W~pqrS_E"sWy/*]HWcA\p3<*h&r3s\01I3dyE-]BI<叿]]Xg[A^-ƀp]^EǡEfk!,ˆ( Z\Uk';FlKMIaP@X#]R%LFk_U~Sٖ`'g[C{縭h-Pot 夦 YEDq),4V5P2򗓗 So)_TnߏlTrY7ڡ6+Ø`I5T%tͮ+x5_ 5]_P7p3U7w9 LteIfd$RC] P؂J|SgiD/Ja[JmcP[\u^,~x&*^(bI=%=!6̪_hѳiԧZ=>4E.V2,|u K;Yb>W5J]$uY:P!ϗՖ KxΊ|)^vќ;5-e!CLj_ 3s411;].\$ 羱DǡRX<rˈ~ڠ &7 ƍ$QU+{j*H~Kġ4`q͗㫞[qY #VN ;2enx7%^k? lr:.b|חp]m"r 9{)< ȗ&kBć'H{i,*̿'1[XЅY8RvP0y)qLOȫ_5oc񒛽|94kkZ #?vD!y/, ݂BP*ADŸlg1|#~r&ڱQBN ,d0:U(IDi%,*Tg[5%(KԒKT $/0/mgWUzob?r!ucϡ LQ *C)Zş1R_Ah#5L*)!c!\,g[W wΑrԊ% r-VSSE5[z?cƜU,58HcDʕ ֓[p8 V2eunf_׃]'@ ޽TeʼH/s8Drq'D' q3ܞp$CՊI?3TތXytɩdA[FG=FL!Z#XmvOqbdlsqQ3?W;/}-`aZb{H[K3[5|0IM2$gE_XF`\7Th(PȰh_(Lk q^ >x :"M& XkVmuT,eOj b īn;"U Y;KJ7vo<ɔSGA׏'yr'V=OMh3 z -`9)e@c) Jw6i^|IݧZ۰>; Q\QWE1H'L_>) 9 ʑLyL,G-c (a\?K{T 4@I#;w6{U zf@&΍p(" 3n3yʫV0 @G0sϦny\Ay<e{DWi:TbދB^Jo?Mp_;b=z[Ny:̹GJ#&b{Hgr*ԔL?% 6C#WpS8$]$ 2wϪ[rrv KCSuf?Odij?x )\e^Z$X(| -ѩP*ǜ;@eaFH}rh1Lu1:\׶ } yKߦPї{yBG~{Q\'v97ۼ4ԸX3|k:1{1L ~x:5nz誸ҲNwAzDBl]'~n\&;]i'bU$wDD֓lKf3yD͔8Ψ^CreˢKDAKl\>"`""v]bFN@QKLLg@x¨!|jmB;0O\rkt3^zS'żSy2dKn|2# Vw:N.!V/ęܠ!Lr{.$MI &qωg:!#ϵch8CT'%Ll ht`naEG dmձg1l=MgT.X+~b^e֟lfMBD'wRv>^YeV:ǹgKF4S ]΄f:a>'Vy4)ݥWVmCJ{ܨGVWd(35|%Tʬ5j?{\RAҘ#yXz]/~(*D)ڔ:dk{w,)fV0⒕>0<vFwc 9:zGB=SE6CˤT}#pFx?F\}3ǁp8. oӨkiŨhO&bSF )OQJeoX jر߯?h+d$i֝hZŵqBI[5ݟ]O "|-'7aqHMhoLV(=Δ,FAӃNpGhˇNgϦyU\P J{{-W>>mѻgTY &ktW4t!9ښT~N6 '/ 3 oܟ0à(߈. T owGrϙ"7Ê)K#-Q$B*J_ [bi^2$6O^/4dU?CX W/˹z[51r_7hy;:\Rul &" raxbUޝCk稀c=&rJЏL)d2 (>B̡W`< O2W&}׬M39uǂim>~/v }6,_eN 8aEo҅J6|*a?UU+\6⠝Pjs,pbV@'ކi畒2_i&_"H^<>B}Ȉ+yC v!•9nN]4 İ"LOg^슉7fm`' xOG;C sPЉTe1?/:ȧ\~qhSI*\i:`u\8[r{{hosz i|ތvMʍdy`Nǂf[K^!)Tؐ졭w3Ψ\ is 1I $zHA[liKyӿdG)8Pa>V_Z ¬p)w7!؆T&DׁCvgtdݎ@yJ&mb^D\%BfiD] 7uځUhL]~<1$*}{׮n&zͽE\ 59s-ylH^ ]Re￝D+̎1p xW>6, W;r$B -8qϣ8*X)`Z/8M3;ϰN%,튱6V: qM)rM] j#i! LvAAX?B9= NZƒ+47={ibb^ LʗsJ[zDfI|q6t'CncHe UNSB k)q#hl" Rgbnj"k Ȋ)Y ^~kfd>gmy>6m >~#(y߿r5OДBTr\y @:o`@E]EvgEJ! Y+(n$*=7~jw$':t".:4Z\Bֈvu6?~,h#2xޙ-~o^U8mm fY g435$XŠ-霑DLI\d(p mF2~_jRKle,%y[~$21R»WldQțʒD`y&9G݇HEoaujλR`Ja@"!8C|Ơ^=l! bg ad,#M$| X%I$ Ӭ^#{DQ Js*^ӬQ;_THp[N%2Au-7N7\@.Ix`?!oZ<2*pcf+RE1_|B6cI<QiWɇ qH{~7fu_Z;zaUL4Lo-BT)qߎDp^vt8{ cLKT>[qhS< ܔ5O4_ Kj$s }:ْ=3^tҼ-pXġf䏉Wyio>ɉTM2 m/}41x;\مpJA˺MT _ Td5h%W8\쨜7z3а}KAij" AAl7 E:"=;A~_-9`?c$^&>2C6=JYrP{O|ҫJ0hehMÏ/7soh KkN+7`T@(PyBЧ%ID#r$^ >qZ'rM;-4UJ#DY>;3Ȕٵq&u$gCjTC/ qgސDW!'>"w 30@MhMd-\NASd'aig%uEq9ѐ )uɤfjC/~8lV;O| vxzz0'')u6ק1ĭEDn.?$Q9VxD|=HF.6POH{_?FUڵ5O#j6+vp\2!y-?{Gu᫚Uз`v c$Q#Z:[^3xQT1{IP\C[.I{?;gO 6Z$KT*<b.N?D "dp\V'qJUiHXӲ{7 Nij*|8VY߮8[wS3,z+SraUѿq  wV []!<r۬*sҋdy=tu<ꏳ@VO/N bhI`zr}鿀&:ʱVWB IfXCu0yE[h׈ETKUs)b!ыBj\$T5vʾA%q J`V*iв`?k!((x*&vQ\=^yygDRzi$9:4M23ivs>{abMO֏MkSw 1_84iPZS'K3s%SjpSl@^+0CyWwrY8Un4 Z%%F L+d)dP{SJ%Q=H_FUJ}uCHtAƎA *O8Pck)^_A8}qOB#̿ъ͘ )DmG^ ;E:KTӵmnUDgU30.G*b,zqSEky\{tT8 @R`w] Tnqzd94Ӳ5{<``d{i)hp lGkP|%3 *yqP3d Ac㺋5\ .f|b[ ՀFz T0V60yd{; A4,ʬ%-|Kx-MKh_]F #& qH<,\Ph {Urc42 k^pO B:OtǬo[|rIo/,uɻ ΀J=ȘNf唴#acwtS^rH<@X/׶~M) _U~T_/ SMK !o;`A|]ZjB]R<n= !Lރ{g*wĔŚ&dWWY~Y*os%8^iϮĮ~Ϙ4StƳh٭8_K0╰P#Kly'1XZșCtuHArͺk=iM n2ݲ"\[,0jq^c r&5&갧ܶ7T2ISSƆB2 ,L6駦!ن"1q1Ӈw'P}~J'M662ҭt\s+}y{'Mɩ[RK1Pl __->dJB,gd@d@7Wo"NUضt5-2l ]uSl%*M0Y402UC-Io)%{dfsšKl{}(6NP푕tB 3)%Yu^`JBkmXޙ茞&yiYHAeCF- rAv2n2r n'M ކ1ppqXBnR[˘+yѭϗu{ RRpg滓Dv%>L#5?9z0/}B aԍ Q^3" #,xܐ5ѯGHmf[:(`$rBq2㚚{yQHAx X\CQߟ@zBl™Q E`LWhۃ^oBݿn9u_c# KS]HK. Lrˁ&uɧ LW F>C4CxxHANOjЋ{Y 22zA[xiYm5M >W_5[>I/V:5h IJU?&q阐b鸲b)i rCGQSh犩¬#/v<4UCpwC<cwu(ʑ+j$0UpDQFX9v1epwӼ^zP%g17e۟-4v(IT?F0%qXo!ܶ>f"H*c"({8;/΄ӷKnx`D<&,AmJ8=ž˲ .L َ>;ʺ9?b,^H*dyϵ+iAz<騹Kf:^xꛀW+dzwݼ6ex0PxqXQ]vSQK)eNńԩA#k#rXaQκgajpclāI[ YҲH-!A0H68"f(< mfiYfAzاQ+fG_oGiFߦ9ufeT3s!PX:@njmoh:yfĎ-rF[bq1'4>ySϠy(;KB)ϱ1:h>u.SΦT:ܽGa }U\ׂe,س 8spm֣aBwconBUl-?xYz `Q)ۥ3(I_rvx.B7'vѢlA%u5]&˻ .@ٖݟtesfMi4 GS$}t!JOcoK墮[ 2*싼|;UkѢ1sF^J`Ԗ9DI 4dNPjs?kLfUϢ ]> HZmdsҕ/wJ YSXwx욺]ÌvE>W |EWK| @7 gwtD-Ia( ~u7<˃24iD=#]Hez.[(l$v8Vš2\V-g"ͅ{l sxFCn$T:Ϝd@"&ѥrCBO)9`^\ie]'3GCC+߲#\-ɥ8=)[P.n^HQyv1hs9Du;IT)!\~"teM>hK_h !6v )ir\dM؁X\~"}Hd?OKcF6""2*`HF+\/eo3as-W#h̳ r·U߇a_&~[ xJ <]097(t)Įܵn]%ٟ鸙:rxNącxvP5?0xz.l ` <&2~ڴ0{F%` I.2Y%|QrLRĽdp3 h56PKωqMg@[iCҷxڒʳ)jYЧ}y̙T%Oְ6Q \&>aI:@g@IxB7d йnuÊ7Ll4aW[C#M3vَAy}oz: #c6%m OxH~ u %7 u٬i4) 8{Y3s€XRY ޹tG,mB:úTHߙƛ2᠝9v?\gˎRn8rlx`_5D@:~/R#%Q&t^>gm2.k%5FфNEJHHvCVXq*>5. GOh8!dCx/}ET: riaK>~T+ƍrZHIJdZ@m啹hxAr'+|^썬#[_e6'0ۇ pCΓAQjLAhPw ^_(SQ%G z* Rr|Ed˕5hgHì׺,G{vtPacXMh0;mOɣ! dyB&P@BYFia۠ѕ:tA⼘Qyw'Yݾ #qNo uʪ KsƄHtڱ](0ڄ};\Dj}\gT3W0 0c՜:6 gqDzs\Nrن\v? y!*$XHcFV'Ʈbi/'w4j$hR\>C(x1G3Xl GovCf͖DrՕmi49 (XZ Wm#m֢\QiYCZe kYiBxgҹO=ġuiFjj%=+6buIi6J ;7j]0vNj u'_SPB2 j=-E=bsYO܃ C6{4 fbM/H|3/knŕ_@čfu.Y.EIY=<2v-W@W;"]h֞!*aPWLu!J79dHs9G׫Ga((측I׈ ^BGP*cKu&-Кo`@/Sk'{?e@A:sR Dx )騗Zf񠽳&+N!T|BXҌr%MѫSqx >Ē`PsM!j}9hIzZ" t_VUq+R!2҂scWuPչyE&%]r icc\jpM'y.'^TJ3,۝+@X|4'i9}[ڭ+Bܝcy)Q^ПݿT|}8W9Cp"օxZ ZhB>63twDG՟բk[g%U/ZchwAML} ܏Ek'}S o#"]+}0&.$C| KEb]?xywbѮK"0ƌXӳ5@ܳ{"jKҵrNԒV\nG|̀- m!mD^ci`ERk\FVY`s׳~n%%GM2(h^*EX!Bn!6#շEt'V^Bk[<\\eOz:^Lܩ)LnZ4dGomUgr,Y7N.䣝/9rlb3Lav%ļ^6,2Ҷ\I/Y׭]V".Ry]BDz4&JJwa(lڱJ} Eًg(bSUd"3UB %^2~td1б&¡9;4P,:Ml}AvA MNZ&a 8}&8 m939fNbـM5POشsUmySߌ"5@|U.X{\ bO=b$ss StgfxւtYټZ(@W6E͕8Y8pMcѰ:_0"ׁeeWfĉpٖee ^Ԥ |xAPə3_~yP'nz9`DZţɰN f`Io,57)<^C]ThNh;n66&⃬{VؿsQ]a߀-cVgϑ+t/_f3jٞ"^Gҝ <2NJ|겵@$|cJZtGq-ʃZΰ$Xv1XƐ;H $9Cvnmf Hn"#crJF9KsaNAuSC0׭~$5̬ȁgǃ0D=>r8&c//*%?MoHЂVdM V`=No`˴9PW`_W(WgV%y9%Y`B+V}Kxs!ڂ,e;R+٩B絀Vo>VR%Mm+Z 8d?"V(6 8tw@TCc.Hq omH߅qE# ~1㑶_8njDgdg$y(o,ز<{h%\̭0w 5fF`F%~; ]Xnɐ ALw$θ7zH!sU 䤸8w1Ip_ˀN\ /@t54<.%d[Zhт.Yf1SfQˡ: ɷm5N;gP"9 б-O7 =RH^W73pKOf9Ƹ8 59k *d$8yP3(`c13ӶߖAhȬȏO&4ڦ@ ^w(9' bw]nR>faQ@Mˆ)̈\%rE 뭯>1;n G5HYߍN;m|gOvl!24 |CUƿ]봟A*hA_OumsU\5DaNlq\Ĵ+Ms\94zMBbOWӳfqj82\: .HSxY'E;1e:k`F§2^$5 jn9"b\/vimcѱ PRh\U(v->^|x$2tw}Sp!`ߍT:ђBPs|-覾>!D ?jѥ9\( u~dvh5s'QNif`u-ohfgUMܫ0F _H f\>b\^iM~yGn,Qѫۭ-M7^WnerC)9x뻛q4ykLJ߆\ 3}uWc`շZ =DIᭌ󲼂em -j =1KMy'C0Utve1窎ބ2kLKBz"OGmYfRMEe+# A%+T5}_2JSs-%~JMH&™ɝNj| R~U?=? ^r'_Dt?J_|df<^2Yc0P|seæt:SޭMetZ.  f: 1;Cu ODVthX]5b' 4ePڲ~V,:6ӈ)fʏWu5^{SC ' {2Z̭7{0kYG5 i,ɀ:6l7l&$ 0Q6K]/N6L$kw4,IL94fC]l`bIgp{<9]Bi~1eW]RE*M ]nxrK o5Zl}HdSƂlXlR0 ՎyvJ{A(7`9_*ku-m(0"R^<~_6r- ĸEDF5(O+U%KQi|MWٹ,EА}!1:m_J;_VPo\2۩hnĝOVsum\1ekHK6<ˀk+^*A)~ŝ.`~#NXez5ne£޻|b EIQ2Kҝ3 :Q[jQɂCfVXLi|1ѥ-p@wuZ(ÂXZ,ާ%~/F>ۆrn-„̞e4 ߩb'ѕW,7JVS]A@i 34|W/B9@ֶ<ԋX~AؓՖwPƘC O~!-ḡ۸D,ċZVbU7?K);c$y(E+٤_x $~\̈"z4ZkYoy/CiRQnaWBj4\?W%f\$g@*s63F-_Qv ,*k ĺ0l^ s9'K*2] + Ps!:Ip?^ @YZlYژ=4kʑC5+2Q3T84޾(5Gnj|2û\I_؅`zYϡƣՀ to4Ig})y*oYdkQTf t ר_u~]3m1?֛_jŰHbˋ6yG[?ʨ_"!JۘTjeC&Y{3&G $]N7Z%m1/_ws$s\<뎞 t,y̨ vg췿PYetgrH\1?(cTJ@_)!.0=oAo$ca7Rkթd1I}$|/TX4Zw[vFEkHqw }7+H"ɾX1黹(aꭚw'$wvd٣APeNW4$M\\aԋMcƿ|tUTэcŒl+xhieBBnC ȣ*2Ύ_?֒'=ȂuDYqwk* šX Zvd%}ƙoIXy^x:cE8dhO^rIᎳ}cQeSmB$bOmeA|iSHeB+䐻YZ2%!23yi`M{@n5u"gL_\QٸTxIw7j&]AG<=tɍBuT_^kF#UQ7iyaZ C6vzf/|a5r!;m6㾫ӆFSX`Ҟn(8FJ]hb#¨TAQuıC 4 |HE!`*iY2qCΊߕ(AHg\I|; cCݻ6x,U._kƔeNQfbjԎu^+oxRLrz*c1ĨAйdt!MO T6> ֻa0 q4)/ _8!^ iNݏZKm]p8S@4ُ4Fkz?bK uAX  IQC/{VOPF3lFKTOVGVA,w/43s¥X$_+=he()My҆PNm PB[`+g, z 6w@j&I۪%C GEhP?Ń9z%gϠi `y;Vk~HJ:W J%ncsݔ_#Z"|<#QGˠ~CܱZK(`@3 ްY4"ԋXZbzV}vϗ/pˠͻ@1QC Y~jlry xWMK?T읈{q9?4pFֻq* f'b- 9KWp1xYGq[r0Z.(>t [a]T Ɇ9^i*ڮaFibPli}Aqs8jhk B} Xxq(_sVld+m)2[)sjMA7]Jf>PcAKUq~ 'iQOQ.1^bڔtbfӂK$k0âZ +!#gP%ZUop7C㥴 Be(ͮ /K/E^[T*uX[>FArX}m^wf/-mz\\үb^79>pghؓvɿ;&~[yau4k%߁JI=L4*1K @a޿ GvԼ'ǁEc.lnzlȏZ LZ M{#/adTYc^3焴ѭN&ɸ`(}AN G\Jn&d@Fìdshg yQPʖlu?x{ta)wIdLVzy^Ao99nDB#Yf 9ar&3!0cmQ46r~+9^{$866]/ oFBh eP&;G"{Q-ftXz}L\9vKVfwpD;rW}Ú ,mUkRhhw;RuBR,a#,|=ǞO{U!B!QD8YL= v C7<|@r+rе`8B(e jpG#5 Zj1/7+rSChrשN~ PZ45л)klCU:C"Mcj)%Z 6ԡw29 KRϝ̊;R'gt1"N̗8m7ϺԵ4r51­VXL7I6ə%-)C>"XySAn1H%M32M ^{(M}u/~6GmdIH Sr t*ń`/-Ѡ D)=el{`T-|3վb_djStw[> -;ϵ5˥[pnO e|W ʃJ`T>K8@, ]i/IYX|T_'o.VNNkXڃ~d= IJlת@Sc輫T8 !L'CY'̻5|˓ ȥ( A7oe+J#)i4*mnf`,Ê"H 2W}muZJW`?I-;D\ &@^kg<:n|䴠50ꤴ4 =1*;~|s **&,s4QooLv($RX}T`~ b`y)$1K C*t0'i\Yb+{Wks4+q03@f'm:O:D*N\uQ^R*o(k> Me@A0Cqx=䌲ۛ XgsF)~ߠ(7$O=;zg 0Z}#?@en-R=i#g8} ]$S[M  ²$ۓlGRh08dQUʙ8(ywHrE<}g>wH^Dw];zY,T_R\7{fȿcDG/ŕ&Z;Q!1<jwaKiO~)ݹcMb /]I@}@) [^!\U7Մ\p^h3nrCYN3D?qXj7@kk/Wzנ5nze`.ߢvm#iZtWJZ3wI_ǃr7Z\z ffKu3W{Јh;[S;CZ؏6+D+[RwD$.lo0\b_4%1v> `>[ NTy3[U'+*m ^0dt=RNWTg:XBLa]xu_4x pRۜgCtC֛YU< YiN%)yWH|Rx)WX(bd:B7- q>Ķ bqeh=z(",h WL"%D1R*IX +(Jpd.VTlQ/o$xwIZU:]Q2@W~@@S&Ie7Ax*Fswޙ ō=͏*=.)gEX%" ØeBc9S=oSݝ$Z5eܚ(Kx̭ijE%\ .7(>ĝ֊r-/~ s+놳sQhTP 򎡏Zct9]ێ(HO)-!P! x `ȶM'taSDZ[-a c7KAR>5x9M$c_Xdѻf@! hm+g8mГV%Ԯi\<\,LeU\C]3&?em-Ν'ݹe;`1"&@_6wtRZuig{/Ѭ, G]"qGvcVeXi).LVJHܓoe:ԫȖ]-T˺Qtk. c=}ع6Xb*@ b, [IXaN? ZHVTرĐ/c]:č^AŞin%g+)inۍ;=~ѻ;@z`"hBgZDl @hU" |>O~6yo[^{*)Mje' L:4~ ["&ĸ,9Oz@A䛇xu3}{Ep1kdF!H!*],!I> [!9"9j*ɜ:PYJ` &} k/셛9+e+aG3 *"dԘ-ee!72S /gE:#du#VLNzj x ~kǮm>AcCb/_Lf'X0 0y,O+(#\Hz1pA_Tg nFuq6Y\r}$0Uq}n5 NIO/˱ JPsN׀6зH=nEζP%FBvm8$uBWS>,:ΐ> %]Qv3M=oEmxz Vt\4!Ŋ^%&4nngʾxx>7sXP hk_k5mpk'mf5BǷ[>TüK)@69,"}%U ܙQ}y0Ț5W {#I"-Y&)Jf m=‡O5aw39(YO0)ƏҳPozA_܋L#O_ E:YG 0=n,CzZGsPWwf+>Qʎ$8,YpW F#Ӣ~V%Mf.u'?vDX-tg1Ivҟi?gF| dLQ7)M7y%:W_cS=Pq^w !KG7 5.r A?'ɝBC&E `HH{F81$c/mC7Bc1[Ѵ)j_y[Yg Ty0R44 #'~6P;Ik.2+>"$̉L^cr`)Q햸M<ʸel:fZ0rc|EK*}+2$CCh_Hɽ?TFg̲8EZ;fЈ\KW֧o[5SEQa.kZ.la c7mn{!* drFu\lxؖ@:#A'S>pಕՒ2+P8r]>U70 ׈^2jStB?}􏜷ΔALՎ)E ~t=m%ybFVÙʛeMl mq}f-8'HZ+RvAIBH{B-<oʐ+MbʅN@cf0hi[DԍWR\U @yG F.gtU-KclO|kdy B 6L,t4 l6J[o&a$7P bWNOzI*A:)0Zz[q]$\Y1DlEivZX#~mWЀe\a {'lXY=uy~#٬1Oe#a)G|Hko10@;Xjoo)a,F~t1]8[t"&"a MBy"%ҦS<s鶶o"XLБgꢷ4AE%X4F돩`hZ햽ncku:ӽdd, r̕o3sL.-RKinٖvq׶\t>ۑ9WQsKcvz7g;0w{5_?_o|ò|/ d5 z(h=j#jP{V@X|KV}hT9H=*>UbTv̂7S:` 0+P>/ xBA#K.]{'ةN`:R,o$,a!`iFRyX2lōJ(zWy*WAL<0†H}xj"B7<K95,Xv)cw3 dF-bn$g jgMv Vs)Ɔ_z_t"8+rǜ)~gtbPf^?|wGޙG01EfAx(/,u/[musO_ :|$.츻qQ9ݾ_)ׁ&Xr.i`.8HSy h޶$9Bfoꃇxޑ1R ; 5h"k4>g=Cm,[X5\D0GMa!]X ^LgpZP*IԬzݿ\C(AlL@zsLt &}1zR!bN(A+!d䁇ryzDE'Cxz8X+;%C8^Ġ^9BvY~ˌ #'1T>?*NzZeixdž 9vL/E kF. &Rwy5j$أO=t=Yw(qhɇ{Ę&)U|BQˢљ.$L%.` T鰩Ӡ;x\k Gꦶ\2xǩ#/άɺQ?|nd͠5eh|ޗm=:Ta[4~+5s!Hqk6,/` AY}!\fjޜh\_eLR4ܸUp:tl:U;Gă.BiL<ӓ{8C85ec#)2 y$'~GRyfBxG?ucf]_G^n2 N1(xPUcɞf#@È< 4M6ƺD2j `:wpo~?+129Qd/vt:qқZa{77T㿋qK؂FL>ڃ5[tC? 7H[|y$Dvx߶0R)rP{1롓Y'N͐"㿆wf95\8Hpl{PX`2z-cf ['ۿc'Wmf3- q7HGRAscKkN8X`P9 oH>HyoHGUt'lG jבtȃ'4&hQmK ;.6~.2)g$K5gm>oK2N]DE&H* cXC?гÉ"tW.YLGG hA=ur0 |D}GLWT}x**uk|X$W%\xn\T(lC~3X@(Ds5JZk5ˎ66 +vA%']b@;CCj4%F‹8ۯ E(dA\zX{zMͺYbq׉j֌t[ `Ԭ ~65-Z[d">.kzt@P;Lz%^].a1"bWǡkv(I(`1Hkpvjȩ/u,E=t槼BP1ZwrFr>4Q64w*2z1%^a9CWHWOdE!{Q9~J6wmSbl;6Hr~@0ō,eK¯6bF**3 iI7mqS0"g: P;MXÛRGKȳxm.,v%qD*)|<0vyr{ }h2NՊYBFr wI\ ;M[Qjד~{?$Uo[[|&rSмLo0LŮIhԣ ZB\e~azq/z_ZC ")~Bz|ǥ783[3R]\5u{!(&8!$}- xQ_G?fzTu%o1%^@l-<{4:S"i8bǫc/W8kZy-C] 3 ҘP$mZhrW q?rxyzYYKjD/&Hd0R(}D:?\u]Ro@ )'8kWsq6߁sSOu/͐M!>O_l78%JuN#PO pԸII.gq!̻-<{j \FސP!Hppʀ]OyO\e%V~ͅg#!Ey 18ǜ‚׉8mn:z }iďe Q\Su(Sv2P&I\ x%r{ EI] P2YTV<_ 랍37jK&`8+O7 Vx<`32E|&Lz~.L4P4I)'޳ gfxO߸D{˯c/5}u Mc2IA;xt pySz\G 1'_WIF̚o0Og2H7nGw}ⓗ,Y,ӰSGYlz>,Eygk~H?E Ow `ys߬e|2ۡ?/VC}]3zj)vwCIm%J  YJ"^)hWX }Y%ya7IZIK',$xsUCTA_mC`-(0M|;I - &hb ?Q]<1u6Ƹ_(oƎT|K)▲t !#_*֝H]F%4<LHs.>fv˛T;q.ڡBFڒ`-6@s*׃#Bgs'[^9(~NqK]t~˪nZ0PxԢ@H̡X>ղp5IvZJoO?UN~.gy4R7y6W S5 iZFlʫE: ;[_SxHfim!n"0@R@\0stW}?]-  _tx`[+%f7[% :5;u.)ح5N%YGrQ_DM"oz)baš#"Ǹ9oL*/'tW*s1K&CR`x#/ ߀C8=aK/êm5"b@;XC^ܬ(s_S[ǿKkF`3HO>c+)뗁neϟS,ըht- EΖyb%{ȃ[dT[2fD#9uV̌QU_E],\z:R%ذϟ;S[hz6~C?%AasT\YA(G_n88O  l-566E4Abj%IZ |[eNʑK91O .GGoE{"{Rޣ ߤ\HxI6O 2Q ekREG;˱J.H ڋuCRQ]/׵\S{ЀI13wӮif75&RnZ cF_G \K!L8פBXliݜ"80QoM|FYldvE2 sMgv9M{ ,?=WSnBq74`b9_Qnh=UA R(=dxID_lMO o?TihFMǔ0?! Xۈx85IiRAW>Y3vt)|\w&pW[$i@p':Uē˹\^˺YZf(޻\] J>#̟SjYzeUEd{x 4WtVVfVTRI-$`IKޖ0WFe?V־yOCXɤ=r3wNegnƒ+ d%y{mALKUlI|夭1&q O^LigiaP!Jh,h)`RDڑѓe"-\ &V^ml"C@"a=]9[r i!S&/,SL ʉ-w $\q?%OǗRoi3奉kY9FG-p މP;y/KO*g%V[mލHVDCډ'f0=MŵGO/}Afſ4KӝUU%TÌ!yP4%:Xr6iKo-@KMҧ&Rڄv|tyK-Qib͑Vr(+{n>HKYWp+[Rd??XnSlI3sPܫnH4uW:cYM7[p8Dƕ'nV ܻm'͌tlࠏ^e` )]2f:%K*! ;z1@֭n6Ҍ~hq\hbq$u#uQos | e싔#Y: kχ֊f dž? .LKӬ/ ڰ{bBZ_7&r2䟴gҮ0TrdA ĿMK(*h--0N\2O-s?#O!yZ@U^v| Y$dUjcP *O~r-2 (+2Z=ux ASXBKOp,1z 7״ɣ_r9dKЇj\o, lf \ψe ?L]e~>F>lgPkqG;8lBݲJī92BGz+DyoM!$tؖh/]2+M7Wr-;ӭ$QQjY2 J/ꗐ7dJsL6k"GAY:4#T J`:!cNS;O ~=N!a ,qx@m8IEik0^Ҏ賱rgbL#y8f nu&N<,BdzQFKkDzaR{]G-` G ԣ=-x:_~tf! ,Ze` Gv!*L {go$tL)lN }tG2N><=<24|Sq>#d=3\&9:~פǃi+Q~D[42(f|Y?$|;d^C,1T}`c^; R.6TX4򖍼 ۹RI{隍o4ZOF#"1hV()?o[֙s\c5'. dstc:~vpgjraA\)+-e䙱n[p;굿mMohBc&QV0?,TU~-x9M,1+,XƕzNjT lH/]*[N IއI wxC|Tkݩh* <"5v7\.],0{b`sA2uZ[^p9 L@BLEܞ;< |)bt.;XR)L$P~zތ}rr 2RfڛT`iܝi y/v)?IHM_H1{U:- .hو9N;I WOp{oFtOz7j'_5z@(7]@)oO|,}uY|ٙ:Fծ/Y]>wXt]_DY9QIJ3C`(~Z_p]CأPpG-[~&zD״p4W˘*գ9B+_߶ x\?Re@fȑյLшgmꤼ*G00iss(/7c$߲ {h32fzJ+OVe'O ;~ Ew!;&%7F_x> ,)XHH`KE of X_;;6ύ轞jztq“f#*m"S'.$Cͬ.l#.؏D#-Q)uL|M搂Kov۶<7sa OV|<{npI&w t)Lub-*bn^>,to[eY05gN17c]ɦa@b'ZSSus/N7`:Q5$fxU!'{Jb.$ObÕNiEt|-&09T>6fI5 B17q4@#3Vs >Z9I/g@Q'RO|{*o64֖2*rܠ -lZ7dRcͨ}b}[Գ.>5mHF"EmC?D߱l}r*=VݷtzC!9ۙ;|oɾ=2 k 4|HkςSp܎ eChȕv K`L6߽<Qn즟b촉Ѽ$oRܖ ϣA. MB]1_K[pQ +AjӴ%f'wA ߗk{:ʋq*VY Z|,nQ}24,/,ف77Bq%Қ RgHߌcMکȴ/w ٸxe͚:DbeufJ, c^ ^BL;WPyIo0Xsj+v9ԌZ*˾4 a!]K[Khq|U,¢3VM0[ w"gwR7(ʀϜ~ݍѐ\gLF{ԅL+)2;,⧊tc YT< e6p[ϓx-7-RGsڵ O /y7+הXfp.tEW ݷm"1E}69Z u]_}cOn?Yq)5 _a 8\q#0єvw0w'MKK ӀPDpQ~wuz") 㔀TIzU\+ uJ:64U?`M)oiD0 tŸ<<(3BA2*H4/Qu.`jx-%1缭) aP\ 7jP&r0j~. |HHE'w[7E"65ɣqv?ͪx+dE^+Z 0Uzɓ>Qf |o+ K3dcrz`5Y: '{k%Q@i":y _zp0m-Z[hBc`̪^Ip|ڥV.J?9w7h*##S~SH Q>0Дצnbq}k̐y""t72V0b\{{O| -[ +L̀ ǹcܓ1RĦL',jHe=)rP`m޸c=*SJ&{( 1+lZ >YulC*{4$uU@6RnIY *yq^L? MXVm}e@20O aJݵ,kH7 nLL< TC3^D.,p*+BC{Ǒ/ J; z#5i46a?SicS/0,~U vZ~N*!Ld+ԣqFvCZHPZmǜ:Ja|Uhru!]zhE Md"Zf5~jUP(&k)\?kTTQsl!;&:=oΡ˪m,`Kgs$r/WE\;(@rkS2ɞ&0&nn-FsVǮepVooKUv sG`?}S Dudչ< G $p ^F\nhhZjﴃi}#!@a׋ -@_m P<Ɠ _1C3MϚ'o5WG;7;6T\1h6R:ˌXDIL-r z M*zAŊ&.,t`bٿ̫CW*z?b.=uw.(c Ț6;.4#EQaK`$ 4İF6\ei m jnPų)KIcR"*Cl`o mҶBBBAuN9J*Ȟb:EoU4nΚDwVJq4YQĺ/3+Cbp`tP$M/7G#bQ뒎61lkӗ1 |0yiu?pr#;х~<D2jj=VbIfuzeAngߧE #΅O6VPlˢ&s;uш2y;k7WMՖkB+G θ) czt^v4^Kc+Px@I>Dh)Aͺ]TW\>ZHVD:Ӡ|٢z8μ/ x鐄 :[tɋL7dDl|;vub䶛`G6"9ԏ?VFU+w2_ ߑSuX * Ɠ`Ãh\6J6RKLo_=T1xhMGÕIyM'L2xnPO]6vF &ۥUs[$}U?H6z Z#g2"6.:lus_Y@D-cQF,G:b~a?X:\uT-!)Tʨh]v.c90Y <:SP{" AVSm.)n$dFc[sxjp<7 YY`w{CaJɇpYzz+,7ko%9AnEP~%ѡ,h[10S"dN';ޔ^-~ )NG IrW9WUb^/ELZDe?nBOVR# 6^!/%C`jS!>5 AhnݻkDߍTeT]'₼UQhՆ a bO:1 /|Co#i >3%Zњj}~A!Fb&6|U?`ފ35O:FqD 6khҴP#t4 43Sr{L UZ53CfLI?Ώ,ixOAbhT~PˆnUuy_[sم (xB.fX,{;E`=S\Hf$b6ȷ]*i&3@ԛd>9kSL ;F*__Y*udwQHM). l4)txվFCƒto4F .`t28yYk<c[@.._ sX7R;V x|t M~az2-xu6F!R|:A97;()ߠ ?+i | $ % WâFc ki6\mqC!_tšN9Ms3fNlI67UGfFE/EWf(J?SRT[>K%q# 9k?ڢ`P"c%K",sA?㺉j^up=!߇9l7 y=ޏ*w?!u1dG=Q&_>t̎ ӆe~g̈x'6%nv{~Ds͉eFt \Kȼ4:ž3o" Bu@ʑ#rP}uĉڪp+E7%Sa;L^ud"`(Hr?y^E1 DžpDV=b"ys$xpWX3`-FTΖA{ y;Xf0ABI񆚲Ib̮K1JFU]3#@ e9Duixs.0C4DK >bv'pNhmc-@ zAnV9)(=k*E yN"Nb8Xt KGw? 1G؎nmq=H4OZ?鵯i#\~)J.P߉˔Oqb|?\3m9Ҥ]AxҕnfMg/ [^dԸ+P`qW52̬pe?-DZ &9F"5V!x>t^WSćW'j恡Z[0}п)^wo mtTΓ,s|qڇt/L hp g#8?a= /3&꥓֬0@dUIvvt`َA^ηi܅#4 ~ װ0 bqhmy07Tz,<RrTSarz%;@<VNY9B d?G&{:&hyR}н $C&VzPa f )mR6Ř&ۓzGK1(TXGT&'jJbgo $yc,hsKO$?y =iss^sN` !M'o`/Y6%:^zۥo:a]g`]$gAV𫥦Cs0A <9 UϏt9| mHhBCt=!qx*{;JRn!J~H?ɮՙ&+ΐ%!8w] 2{+UPi0*h:r,[r IdnpQr wBA.Uywe%A2 '3Kk_* XH8`:ML xݚ\HŘV9tWGY<,O1g)ՔO_GS+IfQD-W!760)Xd(CkcW ()za5B6$"MFc!ݫ <0"VzĆS˜rmgoP4HǛ񪊀Tܭ5̗(7Luʈ_CDYi<ԢW8K V=5DKxb벃'NH)UP̓x!lSs\o$Ldw**l4Ɍŧ@ Xg/[W̍_ܙYHͿ!&>QǩpSêGb < IruU=ePuP%QCFVSkb 2ɷg%x靃X# WcnYN z"I}~a ?N%y%8'Ze1ZʼXJh-8$EӨ|ZXA^Avj 8u6xݒx G $ڶȄtk%a8 V(_ˋ)`7z5)`b<@f{T=ؓᣨ`> 454 cep>琚3Ä\EN}nwPTkT7w,GrMK3G1WWz# m][K~g> 9ݽ,/B*;"$Q plf4rdDcH;grTtMou`TD9+`;h?чu BIGYG)d9\i(`F|G^(UF4V-!y#KREt/RcP< ɡNάC#8` O!#^BSK0$z}Oܫu>׿h 6 j'qۿX)!\MbHƆ9=/iSUO**?(ݑ5`+;C 1F&qcY!|SCn`y5QrLR}QnlT"4CK ږ1-@]BBn M(Irك57hmw8uZO2ϸFQO#%Fyqa-X{#@ʕҒsJbdaْPX6{ƣ|SAп<7qFXm'԰9p!9ҿ10AJo ȳo /z ?Srw'(AۥK uowW=:'s% ʖ]{}bi=VJd0\nu$CӼq3Ɩe@Sؓ+.UX?KX1`@s;}2?·zfF ͤ tî'xgI`ʹ[o0B\ Ud,ǹ4:6YvQa4zT|j!K+.V7'=IjveC1tӍ`dPb>ƬasÃ㙠:'rB3} w\G.JZdr/+9-ּ̻Е |'PUYO"[R4 UUbV|MżzmFq7*5R(Յٝ*!V:#h`&3U9l:lB +|pd!>6Z$,˟dނКeh+2YwqwK~#ЩjˡUy'FS(7qq>Xu)1T(\¦` )Otll7ŦyYȋ!5F1$;d"tzag] [Goh^Ԛf# ]j.d'C J-]%,zzIizc^*^\_!,?r2h0X^inC|Λ'c}%jI;6 +ӆ+Xήx 9 $3(X?fI#]Iwv3pGf1 7Lk6/QA s'/ 1C+1-[C8o^CZm0X\ Ma@o;ۯG./m$Q~L:FfOmV$F;{ٻR{oeZA  U߈*/BS IZ/v@<+Ϸ!^J Y)=RHŕņ=φ¶ 1L 俔܎kLoq&]IP Skqd838VbA3v ,>˄SL%|$. dOYVd4Lk 8_!(2"[QMD@L?)QXBa3ܘ)H]gԖz%x. " ~_ډ#5`N(ryG^VV|/_|pofk~5H=nLjD`g[F9;kYyC:jDn'x;i ʫ9,Sq?7*t-v<9;Mcc4rªpcȤb0:@ !:M12U!ɫ<|ggu#ݎo9g30$v\V[~ݯl|J^kk46;jۥ .z"ؕYsNh8F1|cw>QMh@I"Us|9"SN5ދGttnN%yeY;D9:}Xh,0rCϟNeJA~!Tˁ7Y 5Mt]O @g"j~~>is f[\ټ+M  6ϭY yzȼHN"j6ʗ7;/ҥXbX9!N*%l^ml>F}{X<<(C{e'> (˸d?Q+n1%jدM]laк[s~,Ή}x>B\J4:$Zae^X'pGg\^놭". `]KpC9|w6gYtEr˿&?Y3@< !Nl\~laS-:8v![)P+#jU:ȩE8ál<0rA4Nۑ,E{7k9#'(EHΘ؅f`fjt:N^:pGwnxzfA8 x~+\'#BE4"x[7)0 >5nWs٨*a-]_DM[Q-)L(1D0.)A\ޓ}pjV‡{EPFꀏLJ(t뻳tKIbː=w"QQPG[27nF?ȵ?d%]x=F`WM~߇  $O@oPc(退ZFw!T-hKG <1m_4yxB݆x"~E >0p9:g@Z2NmX9ESMbRJ rUuA4Q1X έQ&|սS܋U hxaN@1,=r-Q/E:,︐ 51n E&6!BZTlgO)ɦ6ͨ'=\Pׯ@_^ Ad ԕ-٣j0vmؽ+=?$FMҳE mߓ<Ԉz7hRtsb.g-rϵ:`V4%|!\5S%Itar<=C\7 Y/O^_ʉV'@Ɣa*[ə$lպzrbLC dàCΜ] r#V}T@ t'Ūxb+Z#LKt-E+}iA9B!7`*&t`L rԧ:gf s ym]l?H7TT> ( qEÙˑ5Ma>Zp7.N0 E{_R=T8kRR-F̫d$?f쉐w%X+L[Ycݖ>gY<hd {5VD,d?T#[ykWXOeJ MZ7eԋis z6}@.יQVA.pnC~ƦJ,"+S.ZmY?%j()I4_ Foh 7@Hiވ%o43wNg8/H> & m=cL :y[}bT7Iا 3d2=T~I&B wU Dɖ.*R=Qq%~q5mcî-]ihuꓠyχ19F;A%'Ju,5,=?G.0`Z{I`p1~֔t}oO$z<QPzV .;[ŝ|b`N%nZB{2rܙ`ۃ3z;©?@{`;9f~N+W i1Mmjbt[y]fr+7⒭l6b^PZc̾Z t?GфO0dE`6t`Wb^ϗD;]Cow# īR@Eeq2vl&a ]CwQ)2tg0-۵>o>0!V/wRN^;t(Û%dFA;& 7J@T[ڝ/Oϵboea`-0[H,Y Ԥk d<6HB^}ĊpMvk:S.Xz ;,=tT?ĀF-edhA O%<<` Af֌}s ^`u@=͐.IpWo=M|Ndȓҫr$XDUo`08^=^ "۝lDg恣mPz@sԦ^%H J0/988dOҭtV%fZ%Zt}?񞬥itMdV2M 9)#*so1:aD7(΢[B$<Q 5g;y)1J |&^&WC5iC Km,SGf%0[d0nn,щm)H!oMwã  )u u:T O[m 5}?e*aWp.ɺ8HJ)o󍎮CG6:"XփWumɊ9PCm zkf9_d| FގK &|pXG1Y*&6d  K8?^?uS}pnOޗ'A0n MZ6 ~zڗq ֔}ѥY+WIm\'-[w_8({ao|qPC˓BMj)؈J=MUaeH`.T1y>/NtՔ'S%;C+:h܁,nO .oH)/i6cJ!:źf J*G9?Fk y|& 2_HFfi9 ĕf )7e堞yv5Y$K<~#s)##2OlZMfo*rP;ժ$Kc{aH|\LS¸!.}[fe~kH˩2IIщ\^ d Rf*ƥf0!g/|j.C c1g%,>*(Ѻ kqe`\ ;޳) bT k|{g8?E"B]͖SD06$piC㭞 4*7Plp`]r.s(!gHsY JcÉ>gpc@,<Ӽ7oႻS'6OJq'% _ k{D3-BhMSk)7W.flrVQ:ހ%(={0r3VITǃ|J~|`cO\GqBJ_*%3c3Ԍg ΍]ls&q!akRg a0N)-jhRI{3ec 9U{~"-z^h;7)t#})>@)Ģ\&J_a3nkڨP^xޒ*[5D ZeUJ1ax|.C&(Ha_][TjekCsnXh5Ekؿm~gd$TT\IFZ{Xu&~rɆ-M/T.h.v3%3i(XҺ[pQMT k26Y$zO,i ŞpmuZL-%U@,9J. w̯ӯ{Z~18fSg0}$|, ՜}TzΆ@k\Ꮌ3w+OHjDA;RADŽ5C>rRKοj1JV]iEWql\mi=L6xF!>^&E&W FGU %9x|#rp\JPZ6q:`|\M'S5a=%`.nrw9,f+Hy6ãi_:7q|AIPK氆rIX!2zx#aQ[it?ʍg>ΡZJgjN2yDzuGe[a԰iU% "yfyheSc.|0Ⱥ!#̺ ]hZ< ;Qg&i0.)|Bc. Ҥ[F^#\:dCx$MsV&vqnkw) \àflze%rK!4xjE:, Ob X%ՊIO,Yvc&Z23<c('yJƃ79D=8S%{mCfwY~MYrh:x"N9t+r/"W".I#n! {yWbqR]hyfKd4x%˷3 *Fs^/aa$[Ӛ7jn+bNtn Ua!XY2IBt@vVK)$--#uPo g!u&=EIQ x^E XJ Uy {.5e`>2(N2ǖZ ]pO&Iu/Cb2)r0,"YX Ѻx&r/zFLviz#%.m"у? f*S<Ƚx2Jnd!Sڶ~n 坵TF7!lQ԰_*dOv n3"ϛy\Nn:]#'w]*˥uGbr.e\}ːMx9NM7mI`NBtb.t|t. j'yM*9Csx>8Aj>j3LMOWuz<H:1.w?X$+Ge+}9[6gpro 6B:\15FI񥤳P}:ɈQJM;݅uwMs [6,\훏.Eeܼ3 OSЙt~NoؑANDXD"qH8[jṆ̑2N V7 w8W('X~b^T;ߤ!pr 5X0* ?F@AAFprnY*MI2h,X y}AvcP/ŬJ ]RcL^7DŽDUr,Hl樜g ߑw!6$o? ò +J$ -CWz.GO)Cjɶhq%_F\{?Z~I?h95vcX<WOgM(,SLX^kX#!%=,?хSI~F[0{Փ􌗯nHL>BM.L&pl,Tf.C?8'ըy5W ʕ 4j-Ar7U/hkAVaIsaPn1kÙPĨ+Zs+P7887 5a:.u185=R(t1Ɨ;k2]|O)B -8,ĭX;,54c&W7I`OYaQV{3GM9ƈuܷ+m`>b+\Ic)|܁BF5gqOT2_~1ڗrB-U뙅mzIzAKT,-sh7Dp&<!ۋ6sHa7÷MMKAK`J`zF;lKA{H-XPS 'zB/:Tf5QTs#GN+kˌ$)=o*.iVyccvi%Q󂝃~j ,@Kq}+mSե=H] T"1]) HD@(`J 鏲@hg2BC"xs:EuOᛆVQQ5iZ lo.kd!>pxm΀tQǠ /]!dPlu6qQ^^,kʕC9Ԇszp ·y AgofFgxx'1&jh!k731<48Hk9NnQw=ҕ}(3nήZթXZ\M0N8KL)FIkQ>"nj@UP!u@ն_e+4~Z#u< 25-րM\Qt拝+*FH҃BdPwClޅ/(3pŕ@ qi1> OFG|́Ұڡͥ@AR(oNM}>CZh}Wgs3pZVTZWM>HmtXz'nYe*c~iVpC }0W؛a*t&էǔ0 Cb.ۋ 8L6x |[D)kE$LYlr+#|*10CX3k4@E˸΋BnNx4l͝7ԠwD!rz"mqd/v( w>]#W[,P5_NK:AƀN"9`㤻ym ,4{Ӆn4X|u5Pđy _dԶ K2Նtxg!׈I=Oi'Rx@);)#}";7Xzf#-DC[JKk+)pTӰ IZpx@`3-NZ$1s.yD:c E:R0yTPd?B-&Py 3"u~ o   5yV$R icr}Gѧ&,Z[q<`37qʤY?iQ*fᎋ5utORLwAYճ*!V?z20]V!IqnK>%}>sD%~"!}[FȼOSJp|ɲXuAqodf^`Ԗ*bVO%̜rӸ$8[lO,AJ6OM?tqM@fϱTu)h1GsnԤ3&7/ 443k3f=r%j#B% k(3y3Cߤl՟qIOX&WkY/!gBwwեVLuNn8Ps=ϧy.9˲1>+YLg) $BXt,96#BM~~T/")ЮMy6m(X/wsv P<[2H1Gmr16Xa15Q {=18ȣL~iy=^[S|z2"$S).j[j="Z #:^ k1+J(O%VBh^CEH]mb36WT$#L.,e(^{oӋQA|TB!2>!ps9^Ф }c`\I;Q #!̺cix6B-O%.2̩ExzbMåN1c1R@XOR6hRє3b`"tjZzUV{81*p^8/;ǥz.WDFߗ xXC|Yv_p] Ue&wd/ap ݆pT!+hV6[arQ8Dοay;PuZ@,_;275ViJ~!%z3hTq)\ktC`KOB;u]HٚCPSat [pg7U#R HIJ50GC#x26x ./j_.RB)nxu&ѝ8J^ٽoȱW%NԨ 5A_6J sc4g=&NZL37IkzϠ|Ѓ[`gpD[kv>hVW[4ގ?Pȇ,F,4'q%71nnZ9U=(߰Yxi$P~S &.ܫ؊ QR_^14Da(p{/W]n @vKR(HUXduY 5^+y [ Zq{~=tH #>QCo/)QOAMYTMuk?9Uii )~c.1c)ĉ 8!x歋51c} k!~nSmT[2)[ t1~eEgLk9#:^qO/ې"mi섫rm:?yksћi 80׳[fΟK2+>':)~~%~"nR׌vAz=ԋ?#]{#[4].>ΖNB0MWRK ۙ=γu*m"1\SaMhjg40xUX^őC\ ,&Č MV{HFx{PI mu n<=mEC1ޥ/re#T-Y_2!i"nE5R, 5IW*2߈o"UTkbwa%$1g{sk46\~}F`l!#&)cb74gc>' xM+/i%,ܸI }>v'͔F`vg$PP&6ե_A^7xZsj>T,%ZY yCp08rSr𷮠d+7B޺EMeie+"Ώ@mlAqrӍz<O?;B9mzR w<Rtwsxj,}"SX}ylĔAa$h{n(C&u/q7^O% sn̾uI L-L{Y |{t<'Y+LE FycE~WS6_9o`?AwHSPѢ|D-`ppTQG\ ߮Dc*Q7 PtCK ]acy tɄ^K c?|m&3 n^ޔ6 vq"+QZ_\]x2O4/$G&ɦ `>M|GZ$v' \V1Rx"~_Q )-Hи-J1a9tjRuˏi&ޙЃJQ#K]n1 _#ε䲛Tq\)[\W˞V3u@&6 5$`a-BUMI{nʨ3GB#V5k R KCwv4yC)\ׄ Um2NDImʼnVLqjgeg+ʴ^%>ҊTOڶqtLߦ^-EF!( BܟZ@fTU~HdOHahm&֌&u;~lj>06ˤvgt,/I%Q+%V$yiA24%'H+&-}_0Md_bW{+[NtԬ>K޼Ԣ~xLt]fN0~Vf]v^M5[҉"nWW&F9u},iE;"s.|nRjӦ -HlhDR/[dG Ks%<;* 0&2#Wwi"7H6o2y|.߂ɧ{:Sy0U`0:ql4=jrLǐ4Q~g1pD0|qv.=s^`VB$B(𡵛io%O0F,$]~aTNS%{)"c,"zv~-_E`NDYd1 {G'ϟ/QB.zdbHNVp5)ܻZ3;'R1^p=( `swΕC,²k4_q,s0v9" "0ʾ.F=HoB[ u!w<!'o=x4"YB{%n8 e\OHeN~D0طX_jBԇvKذξt50^C-9KVʣYU^Igچ.kMC |Y8]UIDIpXjS_!&gԭF x#~hGJj&.5Y48N ~ h$z`LU(ȃm|pE\"ҡH`; sW|fXCm0I^O"azj]upmǴ!Hw, Ӄ;i^`eҿq)1of55[Gޞ@s$QD}ȏo+ycrdϮBhBhyuF%T,&Z {SNDž>2:*<+  zU ]̠uwL*Z>|=fKGDzkC턼޴Eb7 Et\_g!QnXcXx:eI%D+˕ѱgXUWW )UH\jGfO[G}!D߰& Ldk1!u;P*.D%*ٰ0RJ3hzh ?4"&Y ͸J{.L8?nPvCpEDmX*1x}|P$mKoM]USM˜WUJjJlKs]HLp<[# P9OɈ2!Jg,ɵ "{ۢ+U+,3B+O3Ptղ_XZL痏禟S19Zs+ j :ucu'V'3Z iaOɌfL${x]N*ZsϿvZ&ڂ+d6sܯ٘x3;C$g k5_ םBX.M})]-{tz#cFL P0z#W`,]wK9lV!`; ѴR@} 9v.w"~[qՇ& 0̟pyϝKS9b\Q/C/ {zS: z7j==pw׏b0XoLAXxKE6TPK&'jd"(H]Cƥ8w'>+R"ewvV:"vm[-dz4VўwHo'gep<8XRC'"*%j̧̫ Z=?Hrbmݿ=S}JV-B1Bv\D_r-lf3?\ ai.dKfn<[5߀5؏nk=Xh_ XN+XmBډ~G 6*Y\xsjжW6Ҋ-Q@>4:>@αZ#7Tr_w]܏z>%0l0\3?l[uu-Z3fOm`]ƯdQ9K̍h0K@糁]F]8 S\nn~VA-ܚn[Gen̆%1$PbhU^XOؑ YK2fcB53 Fuq HCdq\z0*جt-jKm =I5u7_Z̑X?",U҅- 7:&&dgy`)YL }'zYږ^c5C 뒿YQbɛ9!`}dW^q`i;c ̑k?C " +V9eRp#DK'tj4kJ5LpM^ M32ьRȴS`[y|A-|YV-;:PZ+j]E*qҾH&j}Qk)&{i%J5nga{M%V-Dqw$D'UVQZb zkZ'TbhI.]y~33PB,CrzHW-/E^\}Փ?V+GUd#6quH# e{wW_ЮNE紬=^&c[C6[}"aIWf x>FO_TdCQD۳9nWFJkRvtSvH69\jGJ<_I1 PkG`mi+p"çWih S ү2HBjbH_o@L)Lˆȍ|QHgo2[x?`GbFdIy,[6=oFg :! 7o@4QB+5Ξ.gfFtT*{sEFiB/fozxΥ6?FxID:Eyo҉qh#qpCve {jaFE8JHfD<䌑K@K,=NF_{F@r|)/S䛿.RhMf4ŖDQ`M$Ł@FE i"XX{jl r'=B"`XƢQKD ZGuRaLr78k":z<4 „4qR}("Q 6^¼w%YO?Tn@O$iF+4ޡQZrWqv2H-6yI&Z, eoL(l^593I&< VXT;XZjj:?,. 2]9*<\W]ete;ũ/Z6zJn0bdyrl/~_ۮه2].{Z0-W&&o" >$ @eD|1qbYZpF5CK Pc~ O bM2sXOfQŽZl2Ɯwd &N R+YS1N44_'gGa.9 a f+nbONU Z㖶k8?rj&@br q^cTt1{Bps$ !K$K`ݽH= ZI2RDc׆D @`@ ɛj0b;d#=Un,/rig&V S>:qA@aMK*_ + &9&c7^W3 ST GfZA5=D4G] *OC xMt\2F3X/E~C9i CrGؑ5h^#;`P ` p~THASs- Xof9&X,|`FT' ۇ ʒ&ڨF m~}@Nia%/sz6tdm Szb.mcàQÿQ#Ps'qN!͕G})tddADYpvZ煱4 2eѩ;p CG=q q\%ީyU;+ґbst:qcv>oJbX@&v#].,`[NllLyRF:QbawϓԀ$o{E^":Cg^ j8`3뾣 Dgd%Z Ou,f#f3g "ӧpPTLۜ"oG](jr}%>T'Zp`A4 @65r~`ܴViQ!y5&~,6jAOq)]|=@)ZZ 0*!˟l !1b$S?e\N"7yrsq/Mפco"IqBRAO`K2Z^>AoMC\CuFB<==Tf,LUUon~n?Hm]9]@&I퉚M22qOWUv=YCK}BLh*|l[>(c[[ޛv޳DL>{M_ :SrŁ>(#F{;Pb[ vaM}foC#LfiO{z:o3\Slej<'y{ɻeh (Ñk.4_?SүUa?&lLFFf̥7ןYA#ʰ6FYԅmW閕1jƻ1_;Uivb"MC9zMdTgqAq䧿7h9Etl489O b`Z=Hz}7qۇAB~ $(ur_-KlJWi~q@~.2F/ .<&P%,e/}dϽq;Ghka@<-J<ic |sѴ[y|o[݂\a\10rhk}"{vSfg-o;eCKp?ಫKՋQ#Zk:9~wE?dDMbxs}Yq6~v5w8vqɸNfS0BsY@G,iT5Pr2Kbf^t;rhI@_fSh%? ڽr>[y˛ZpOeBJ! `̉{~$N7fnM_E¼eY)zMzl!owhpf*J7Ci(ES[ӵ#q/qG鎳Yi7s}a\izH3(̛]uؿ l1m)tcs"AixawޚК]u׼ݦ?&aq H𢢽utɿS +tbumVLәz9Qٝ핔HB Tu3%FYK#+^_Z"^Tth9j@jA{p%8Zj}cYsSQQ=gC'9^Ɓ V3a*#z>s Zxz!"]pBќ ` v4uХrЧ1r_#ڶkOIj75n EvmUR#_ɬ[iHjLP.޺W9'bh*ۿ\o.Gvc&k䣋WK0m ZckA/!Sṝ3C5VAX..~E~0<Hq&PXddpR|KO\U<1/XZHAmw[(S3'/bq:;ՂıOxiDWccϭ_,X{ ʳd3*8~w5> > <>l-ƈH'V`ωD@faѸ)'#}(Z,t'.H- fbyn'w02q(Zx=Yt|SpYit ,>bp\n6&$=f}yެ!bK+ts}#)'K%8^־~iG}R&/daL6@/wiŎuF:ZV,7=eo&\)MzH :Z[8^f N^ɚu)[)9,猪|.h#eM }G8߻QJoa?yy-L5qIEn-7j(uފ,(=5uL Esc'P*Imƃwvbg"76}jl zYra@+X\Bl\R̜ !R=E|-`4p ~]4])z#ux|'s.G `7VNAjcǂґObېx$u*Lm ݞ}욦 duE4pPdZB<7G%R7$S<5:irj&%(9f|%jfHƛ<S+dTO,M*Ib]l?D%Xy%GQIh0_64ma`ixU #YFֶܟ -x8^_8h4{- J-T=r{bޤ(] }/vpXtX͓I{ u89naL^/L+ YZ"_a+ž+Ah IM=I~[M%evRTB s>ӞHj,ÜHYҒ@P ,؈ݥO9$MkҊҀ %F['sLU^`C^o}EDcvb\O\<M|gٶ;&|]"nI?*=0ITnZly!qm ,SڶVkz /#3 w[6ZZx 5k];\oO/%^j_׏;ZlWeOD/'4nekw36D )~ln{t\*)%:77_'kp9eN6LHK#\E>KMҼo[ıo?EđI`"9lJfʒ(PZbP"8_̊{]_͚F2Ip$nٳ!O'=\?c.|}536W-^/W8LFeIEЅk+a54 s),3ӿaR{06.\&|9O?7Gj!zJEwD ] W) Q ƿ 5YVXZfxpU^[}Q:޻<}x#qDU:xJmU|Ռ.gX0 34T%{Ai3fV=olOk~*R2X{`B Ɲ8G#Yc18uT4sFNDb0қU7s%/('T-SH͖fvy)ݵ'N*DކͰߞ i.f(|MX}.r̢@$)bh;q5A i᫸eÿ@]&bشPiPu]@^2 = @_֖yHFdw`Rj%ӷ] ^re av CWP5@5[ŅR& /Sq_*[V#_oav2Rf@฻cJ(XNG6E2'FpJiB@@VW]qwЈjzi}44d= ᄆ;v"7y]wmx 捓`% ETxزn£Y8Y&l&!N=c)kM.6؎B~$m|RH*!۴6J7"yRϮ$.(K{b?M+<+CQ-\9Ay_XVLiKPLŷŽ\Btb`]0nV-ۉzu<}kҹW vU(͂$3Mj=VOŏ['n]^8s)}(Qe k~{8~Nvo#kV\ Pl'N udž4rQfM0NJUlȄQZYQ_j@ي4&?"{oIoliqI bSjz4M܀MdaݭRT|DǂǚYY*m, i/VҢRIr@ٟZE#_J_WժYQRbԱ#ߊ疫9WQpCUۨ #8 @gP0"AbK{38Er<5F/w2m'W$ӃO E^@2T0RY!Q}1%R2_hKAm TMp&@dwl\.l~ =&67ԷP"q`4B@Rf ˏ-R &,_ɒdÃN֥腹,ZAY׸uzlU ђܿVN}EX#7cj.,Ot̅eKŸ#Q6'W2ws&WVa2;`.$Hf5d6J[]bmQUMWU*=eޖ{dSʥgeSG4꯰[u蘶?|ݕJȶ!}h)0>`1ͬCv*O ^oojQA+2JKE ;BIϽAMrAt,^doR%./69o=cx2Xe5Qm,Z|Ad5/B+J+l XkMAE/#d_/ Њ#gA@W/O=3+t@r#~,w0;۶N ȝdSqO J^ųO9GSJ^- ņ,˭X,=h3Xm7F.e[OOL+GYD~^ Iǹ_Lj$R\lKt,Vf{*c{ڊATOO|`c8 0Ѩ7'NF<BOzy'e~aѕ#KwmRrnzjml= 9J(\gYCZږciv&zƱcEK.uٳIr~۽?S1FG`a+y}i1j/Nureld Ո(S./AZ:+FBcl#Noey :!vymJi{6zlc]W|ՇI3_}0Pg͟@SHw K\ʝկ@9.3Yq#&Z@mI#"T )X^i0!9K-ŵ.]jJSlSw]3D`p 0aaZs3oGr^INU^`p #"4ODa 5vא1VcgqQ7A]`/`<J?ZasEJЀ>v]?DKo(H`dUHUMA{nXe&~ -98U|pg)96Fsp:藛U$wbx@FR @xjەJ3>Lmu9kaxF:d miPxADҍ 6|4Wj- ={ MSmO E&xRUK3èbGt!?8.+]zWt(CǯVߑnPJ$˰Wyа%RT̑g0=VldIcÒ*7R ZdR:JiKάr^/b]| ~VD꺸 dMGkR\ o{c#K7yeR:9zuҦf\Gq7&=,3hal@ t3ue$ I[+rn'I_[bk Ճ9-Т3UZF}R# #˓,S{Kޑ$泍¯I ƏDC͐AD42Dj;dcU;rrAaU<4 p3Q-#> <gCQ##:m^C]sDu؝'Y[rߑ ɵ(pIvs]7ψ7 '(ŀ}0VdL2\jC03Ӓn^r{ٟg,>u?Sxܴ+@h?{ڽ%Yjg+tJ(RTxk&4"}~*ZitPl '+Y *5,bi dBm1+c M)) OBPyqOqDhKNC?۵VRK^^8$k.Qi'T ƚMLcZ)Rm[s,o AS27ȵq;u5x9 wDqXs]M `?cjj>MdiR .;LUX <9w tÞx9Z;fv:z8~~t:xB,,pO%8ٴGtaVtyPѐj;iɥ2vppLHfT?^8g"K˩If.V/᪁m/{Iμf 2}։} Vuׁ&rSLZ"HjW? 8+ b?Y_uw$eES񡺎xrB=Ʋe087+affkJSUOQD¨Ϙu>"gO=(m[ytzlL=jPΗhk2||4+ <f7LJ[NoImDL2qyWӾ6IɭFPɬv>c{Q5LMIG^e,1r̰!ʨH.AHh0**NsAV7O,$Fd~B0=^-=.A֯(c. [*@C z60GDE4g9.R&7UC4h&mwrsB7'uLqYK ~ 8S@xPM>  !ح=;OK ^fKMpbEѷBz3E@lhwhZ 󺓌"W= 9ɨ)cHT\!䌚k^W~X\ԈCQ5rtzpkڣIQ '3Tq*YQ˃*`}ߴ.,7@Q|&uV h^}h|k2GoWJѾQ]LP9 9a8iʔE HN_$_רŒm17fdM9I龍^Wl&nGV31³E ` / PVZ'\ Kv==(Ճ*&Xf}oY!7:r̹Ca,Y4l⿆NwZk`׮V%s*ޑ1Y h@Y=f玴 %' O^cxmqlݳSSWt" єNΆM!B>zvw]ڵzȓ,F7dSCg ^+5ͧCpi_(Ǿlpcjea\ clt%̟E.L٢$G5_["kyaIU%)ħ4qUH,}ICw؈ncӅ$$|G9H?7*5qܰIiN.쐍&oMF3cln Pk,(!C$#T5OCЛVLf؀&Ig~%ZBYǦx"c Z0[xϊ7ZNEk7>BLk—S[9g `A"iΟ]T𞖈B\*[7"Ū ` o3Q d-D󥚽lh=6 cfwVX:ڦBѠjkF.P'9sh|zک0ņpɞ-2W}J"E$ {Sx#yt^:Kl՜(l.2{cHVc6bw"'ctv*YEFāG&g@͕ (ەtXV>t# A3~#~O%D7F! m'nҥB${ 5C)iW}^30;PK  z~*m pK ̶KA$Ogc~γDBԌZdp㶜_)꽸m3yRnCY8wI0{G{-ethD\Oq̼+7z!EK&BݣK۱]LHykh^mT.C>F|P?ZcIfңc(+ס9%zD)1 m{FUCOnevB3/[Ep[|%/o}UtangҾ[Jv2 ǺG{k Iuf3oRT' "ZUgiW% wSW\ #F 9xogotn#~{6\&a * zQg jdC/mW 7҄Pu4A):0YU*]ݏFߣ 7=vuQPSϱ9ʀ/澷A*L7k3+ JDJ W[r jH&4z{ZyS]ˢAtwKǼR)Un<]êܨ 6YeDAhrTŖ%3_2ă$ ='s,V7,B ,4t+jmWpJUN"N\g]oWM:槿-Am3 OBXCOEw21K1mH&s[!?8 XhjuA񀞪4c@E.7E:= zw"$3 `C[Em `"@ y.>fN OZ̏J Q/?|L"ms;9F_ow>^Jei]ˬϋI gd&" 8(mqUJ!>޻ ^܈ʶ&q$S64irU|Y_% hX|J\E[y%FӇQHCrc|?l|K ?;d|]Xa5ۺCv4wgT#m6՟ )s@9~yc8ԁC]p5'Г(#r:P Uxϣmj%Jfcd;wF~ ft༈N ҮT*LG.&gZ϶SWbia;$auX>)`Z=`pa@ o)jp jޠ"oyNs5Ȋ C]vO^K~{*7{ i9B_#S8̻ Լiڔ$_s惴A4< j$ۻyT>6(@{" n-']D^cͺdZdIJ6 hⵦLF۩f}*1qz;ʳ Ό=. /I.b_? !爓^{j;JD@BG6<{&4:psrm#X7{ϵ ي2)An6Wv@Yv=֒5467VZ&KA ecVWrUmgQ̞u!2{LдH C@zD@T.?|կ!N =q- @1xzeĎPwXRt)=` lm84J+j&H%o+mE * xV | lʀka7}{0³K0ڥ|%2 뛲 vװ4V]2פJU_rjc2Z$>^sW6v|mvơTO&.R2} ZD2;.csb:?SP¹!JQ!QV AzdC4} Y h蘞;w 4[Cڧ,[H 1h}(t )=9:UW߯Md1xT H>ZN,q]R:'\ėzՌeR&kR DI{8# `[L}hVq8@pbDspU?/Bܾ^;)z*1Fg7/?֝ ƮQqPb]MD |]bRI*ĻyE1~Xy9WHb[ϳ<`rmϜUU`6ܗY=Hq>Rٛ{u3GAVt4zpb{ "ZX ɏH3Yla#jSSDEr'}ڰ4Lx)tX2^S,lWQ2WL7..*%R'U(NN)5غPu{c_84F"}Mڕ Mj*IvZ1܅vd"EXBHj!41Г d *)}UvjzdQ8\Pj[æ319RHIΈd4 O(4P»޼} (n¯ӓՓ(q}$4c3) V\kS6kL{~VcxQ:X[gה|ҝKlPG#ՐN.F=c."R| (5ˣV C,?c?_^g%*FuL+L=$$6ex O.[@m Pm= (m Ӌ cR7A*o]ƕ!FήÕ3*= ӼJKθ}o١BHU7'~ZT88A$Ei@{m*vtԴrlT6?v 7лWZz}(^+)Ģ.K0ٲi=.wY$8/)nݑ(ޖqFX5"% W3ςPzzPxT`I()\B~%>:!:05v9tFf::W&98 _V_/ bZ+"4xw| ,HC7HŴyaaoJZ?Q mRA(U t)?Q󔩐[y_HkH',\hX1QSaOz|B̋ |K-SWĚIvɺ-IV?w n©􀝙smN}ҙP³4(jݨ|gb .y G` ǣJ^z(Hj?̩y">")OCn`- JWuB@4t@Zɨ7tįg0!u _1uǜbAp#,ey m`k,  #{`W4Lކ(~M!ZHi%{E\=ծe13䯙Ў-4iN 3`AT*CB|Y!QW{Z*b4[ΐrEV ܝn36.8Ex(nvEGW?j+1Od(*B5 G]}*bd \u/R dVdSua7H':CDb&k Wgxk(AqܛxYmI 9llTfiv4+p;vGFҢ($sHCa2Tfv<xn]P:MO;%>BѪ H:8:N6W=Tl*KBĪ"Yk΍h^1ӳkm8xR /MeTpQGj]c59yWA]8r[3SAmZ{6 B*@c-jѹݶRb&̚PKu6$6[B5~sRXD֘{ 8y&0o$SXhe xo{YardqʉSAfpbZ[yW8O{O韲NGN\*l.P*<4t~U1,.PͭpB_$oj]k-eL1%-x`(g3乆ciF;;I:{º 5 s>FĆw[=i]LjLWBrg rӨ1 Ȉ"'Z&Ld +QPA2fIv yteq_l-lRJ!`ܣrHn 1&w@?<ǝggGRMNCkIx%9&^O2QRx6IǤhOC}xJ8M FT2Թ9.[1*jf‰n. ÅxIJ%m  @Q=͜$р&H16WL!wY٫`G%K斝c~&ݿe|[%8 ;sĨ7)V LMxZߥ :A~j8tFhpfR"1ww$k"$:v':okS#d1P<2tj) \A2hh+Y:2^?1C zq7ސ?ѣCCԐ4߇ M(8)+M>WI86ɌU `6&Y+`>Yí&}Rѽq~3}`իk͈ymY_0a"v51ӛ9G/i3ECnb۝lvK er3f}\z)GPX= gR;X!Bҫ(&Ldδ/a%cYS[w?iYK[9όn+ܿHe}{큀2y>?P&~KVm܊u {;HqL,*0wW> j˼z"Q6KyHo]PFһ\^e!g$-2+U@6/2&6ơwpWkbzg ^@eNPH ^ol(!cJ6SqX,(6@[Y [^yw'}7Jo'BHjIfq.&thNZX3uoy׏6RIZsu)W|ck【APMi0#™JwX D=h:՛`5QH"Uu{6;Uʦײgwځ9 Z~'j)"=X_%!e""Y.,%-zp)tiN -ji~|:cBmVhI@/C.j]/ܪ\akH-@V$t!s&np$8xl݄W9ﴂ! l4HbSeX0s Qwg2ȫ_W Ԏ3儺i@^/3Z3rPps֦ō]4m"Q H̪=.0e}m3+7ThXMcuRƯ@nO\@0 .JȫPɜu7SQjgP0m80 RRFfT;'Thu^yGKI~ZL%/՗tp6Gдb7UnUQ8{yg' ةMgMBtob^s閷|qqۅcHN[ CZw󀩂ht<"=3>hͳ؟竂Yw{q#Es%-ek;VtvԙԺV:O| >D*]g+,bu'q.kО˃nϻtzFH9}&fX:ܻg|hӨP25$X&?5_2ܕkOk"2Bj?N5.>>EIQ"ފe:2.-ުGL!DH2PUXe[t,|!kYoYFf1oFۮݸ~WjLyDyM:-ukLoDQp[=gHnyS&^{w Z Tve70qc = F.L>m}A'`˻;0Od7NG~*j[3N-67h+N;7Pe|&iLHEP#~- voiSS rhm? $r»;ٍ u6w:5F5cΞuHgK+.&5Gi C^FjP/SOKwsҼ]x@7͕rv_M%dXx_gvL؝XV]3H")#y%'BMy1lz{EuL'g;*M)²H$%52 %&ìZFV< ~Q||nB | +b޴;s<*.nAFx;T-LBd JI#Mj^󿎡ࠇqcH۫r[  {<#HU!6G-#w]$<>1/cn U[6  *{U% tX%꫈Zk8Fϓ㩞%;jֲh3*;V% ZW Z[tiKZ&FP>yYZ8-YrzV2'@+^1;Aͣa Mr 5.2~;𴹼H ?H(B)W΍Eu $DaayاE[i1SPP *wpqo42[)-}?OS8 NgӦ\Q>L/ѣZP {QH'{,|١oLpUXݒBۚJ? NA:RSP5J}q o]7xNp#\؍M'e DDVsNȳU4 R>5{WEpPqp떆yc,ݙXҳVB~̽JZ(~ |E#!>@ǣq s Y:p꼵t"-%2._..G>,%JV?)6J?3"8LsM7nLC!ݟ ybg _> sXPrbxRd 2 Af eëߒSшgw">xӀAr9@aR^ZJdhL9\\#];MyDѩ9HophvO:fX$/Eem;i(ZLu0U}BTvqJv5Ef$;Ha'XzQYTP ]!h3S^Ž7|akrpVj&!0C ")kMt 7 ,y݅Zآ)=N&34͍qRVrw;zS\8mvk˞9n\lHW짷)c\Nce@$*e鍳9A(UIf0И6r5'4 Bhe9Y .&35-Y$"P79~ǯlD+b07-PHknmG ٛV/s_uptd2G "% b D;Ĥ^uukE S۲3@Rj o?zvD[?0 Y-IR?t.aKkI{2 8^5l.o0Y 4W3E/Bx+WlOWKjTyl'VދIɰҌ.FF(W:(-%(-jlYmxN2a|FUE6g AiU4dg߾E>(2W,3"Sɕ 0tK*yްz`Eb?ۮ=ciַywj-_wL=pTex. D`'|*{o438|0YP uT̳ʟ"1}Zn1@8@@‚EY?x6MmObo٩za:\OJe-Bsq.|izd$=Y@8mU !KFE@w;J.a1d|WtGfuC)Pȉ4aoakNdH]8fY  lYcD SYL+dwo-D~ G~-U#SqW@PSOl>H_﹀ rR׵SǤ+TI׵ +-LIpW{~4"~S6hrں;sjݾV4\8^"#)ژ)'xCc=Aw@g ҂{'S كγ¤#q $kO1l][vQx(ܐ F.(mpą8V+CccЦ.^>Ew+!1cBwP9v'/f &_ E iTDͺ۸%"F'EF Rz{udKrbһ26 >ai7B:8mTfK*=@gW%E7mH#˿鉥Wbz6 suTe kX}ѽәapPV%.ѵ(v{CgZ~C8fWq Nک,W\W 78KbM8`zMI4WYnmu"ԡ±M~ݐ pm>Oy-' DunMybJlEn,6-ٸ>7u*ٶJ_(M{a݊?mewmŕjrpf:CyZ @k@>wAL` 8 uC=I|Yx6^!Fجz,a}+0ߗ-1K:-z+Ó 30-@*tì{378[ۄjuKY/pTH=i:iڎ pjT ԄSRs򯏴N& Ez9e\I__!ĩ6M<UǪ9!M잊9@Br%1oufoe[m)A'}@ ȣOavfxrƟ/l*Q@31g J/->d\c$nZUg\W9dMw e%:NX7>Bظ~s#9WMݢkQIKY YL7-SZa d^|SFD%"BEx&>=@,ipkbM6K)/dhGܔKT`O%o_q:մ.^P$zb #!#B8^(NeU#Fgy~+C_*`q!ٲ7= SU(rm&~6tTK xA& 66YEE,4$lT' tm6VS c&IKyl6T6;Ijĩ lɩϊsƽC 4wIorgQ@pJY0͙ gJz]{VE,&;֕S<Μ+(rk?IW5hMةhYO"0}+/2 1mUlzeRo:Zޕ "%dq|D$i ;]|8@!HW~ߎz}0 t~F}٪ 5k08He'n2yxN,sO}XoπiGf%H ㄮYqsQ@:4T;6f"5@y?=zfw~r #N,`VHK&wk v$V0toлhz0zi S Y&JB?ATx4$7e(.T Il{ZlՋ¤Jd$OHXMF%.+FǨr=&< l_0z= p'O )X 8oGo2FB1&Lm8!^ ,/z/rgqoqK-y!~l)Fr`ai-ST/PezkEO(^v=L^q?ԤS+W,A ZжoϿ`SԐI~ ͕5G &8 %StBx1]13/JLsh</i+To+ϾKYn;qs :cS")wX_Q;1* 6HJJdodEۂlm0 ʇ5$01xvpd9ݢ,1D-יx':pSxΗu~l|V'ZQ ΃ÞZIN 7\yU\vKY9P8#L)UM3vc6;IrXE`L+;bGtKi郺0/rYɆ5.N" Ea{G+J!\T3:2jGYJ w7T߃Sptar GkܭӇ?ՍrӞiGAw e#ٿaORzNMJjT[%zyR3~ >!< #:&:S@|{"sF.ZYtr\[mxplC@:y3ׇU+Hj->IŘCHlur?1 3hMG@bW^|n* >zL+kVO~57QxZSςs |yxfZN/4siZxd]Zͣjyc 116R6 ~EJ1gS` dȩ$gŹ='eO(Ɍ^&bG'r^SD` 8YX \A7,׶tZ2)=/ 1x/H>28MB[ (Ԃ9GDPNu3~qz["$)|62lCy IV=qxTWVl޿P#B ~L{'2*궳0M'٪xhBNY8:M [=z/>nb8,XYJ%p_P5z1aǂKFp FӤ ْK"Ll qfh&Wad*A(KbuU'Ә񿞉4C&%?aL@~^򈢬-GvF:/I&ɑ _ڝj!jHPvc\U atx/Nظ?}:nFnjI_?Fg˾:ZrC |(kyTk.!L>o afj,T^:m"KcJ SF{9^쓿lY*-? XJY V~d)!jBظEW%ژh<]?8'w\1%ݻ Ansb9\$" ~5>Z< y&'wG:0. ǷrF|I~`kxB+xAo*P<tZoN^ l^s*SZtRTA/GS?I| M.b\L"=t|_l3鮇E̷]RY%ewG45WPQ\)dķ̑su;:ik;p:%(1>!^$oPjo~FX Row߅8_4y`3sGr^~Vy²Z@4dr3z6 "Cj1T`t jAJ!Ӊn0A K?tPe*3~.E+|q\pg27L(^gSQ1qMfT)L^?[=21_ Iض螉/<{W)_;( d\aK;tmۣ- ˨#q'MY^!,k x !ҙ;%Uι<㊩IZ5 X%/H1vI%`nZV${g!/ PU `pYoLmf^ 󇁰EnexLj؟xVeQKUt3˯bo ͍^>݉;K`5p~43ncx: t2;\MzNVTiTcr~uC͗/S!@{,w)6w-(Kٶ\%"VcΪ?ru'*t}GL/kx%[Pbjɜa+C1$Rku|&>&믟¼h{c^:XsxP%G~^4OCL՗HŢ.uϝf}E8h &"<59sE(<wr$4}(Av\^M:ک_OKB7cRO2B Mb:<}9,7үFwb_Y1yK l(âɴm+wVuA&r)޲gm7o雳@^s̘#^(ԊKx|o}^.`89U`PX]7@23QPM=19tdaq|m+Wj8a.>V7ƫƍb 3FvkGOm29衆];GL-Z: ɥ^]%[U/?*1|h9vifZq\8Z"d?,(JH0&`ۺg3>OlmÑj9j3'6u&=(̸tT7;;h >ŊƴDo{[LWn /WrΒHuvbwD kD+SsTLk>rja>=) 9Zq##1UqS ɻ_Y!OGnm㰙d~o s.Ծk"ɷZuVj,UmAw:!u ݸcd`4eB/ܟ/+P0 z>$HhjwW@ Q WJW?Zd[Tl|\vX?]Am;lujm38HQ3ES߮:y`mIBHJA=EP$f,AJ;Et1= {bBy$%̸5onQQ'd'zF:"{1o77NP}v511ֹD.-ֵ2Qx>ewQitrtPanr 7`.ؑo2SuzCaY_O4{oXGq>Q$Q TvWO#%q͎u;ԑE׿i.SC(DqAHԶ^dfCI甄]SH ⓒA FMј?_Psgl3Uĕ"<,3+,O8ؽn vM?,*;5`UEԦiz!'l0hϛ\;0?od Us^x4fO%ů(o}!7szJnN[@w!tUkL݁|D1{dzb+Y"݄>c5EDX .q~uVS(tq+tu hr7DFPQۢ|(qk?*UbqsW,r i"&gCKuoǞ&Ɔ׼c-1H3Rmაمhx}H:f'0@"lFDx@^qW)nqhD#R~,u$DIeQ J Q.Db,L}jsǎ DEĽ(ê+UC"Qzƫ V T2BMnߔT2tYp/dK{_@^b4\E&P v\\_Z֎bKKn h qÌI>μ$޺U`ɏJX%F#cK N!آ~ m_T9 `c ? xbNVQp1&,\LJdqd7 YVIv z-mC3Cd)3q q1ӽk&?ąDa <)ɵKˋkjMMvOC9'rvo]z=J#D:H-b=Q*ď8>@ˡ]5[0ݶA4[MBD2r\ݩ8:&hLdP NSxIuj,aY >FJ,1 #\&?b/.Ш.Lr*PƧ1-s Ap@)GN,iNJdݏB]ŧy\^^CP3#Klr_^by뿂$z&Lq3 yn_GBWҷi "qC]t "BVdg}1u5[,s"mqnPA$O#[HkđJ2ѢLޭ@T7",Ӿֆ۳`E,l_74{6hIJc; $ pf\#SN;k{ig{《Zv!,jMUt.b}])q G2Y}~e6Tu:Q;9@!+29.N?m·d n*>RRZASOPHXwq^!ay}ǎxUq〘pM'vZI)(gQ >|`/961lu C35 ^hAdv3j6J9E:I:i9i+S<Ko/~ L vM!ս8h‚606%\ XrBԠXƁelgzUqWIOS_ЌdF]\K\GT,^W0Me$G7j͠@WN~-#D0 J˕VXP/amx^^H efJ U,s'20]Oύm֟c>FE]e̟lxvHOtZI-u]J쎜ȟAv8={hjm=lFYIeL;!8YN{9Wy%˩%Q0>FlJwNĩ#'~K?Ը`kݢҤy`j" A z>]r`vS>6Cx5gk6+]ӛ@@yyr Y.sK֐{97Inx_- 9k^#Ҟ煶-{YbgiwꑆRyO&']뚬.94<(4z=L扤n{ǯ9qA[u:Oҝ-N @NV4!щ} ) W8"<)pҵviʱh8=X6ITU>Q>z.YY wm^ڐgriKy swMj ֦y64]jq|Ɩ4e<'ѝ`%k ~mT4{f4LZP5ؾ?ޫvˊ6s݁נX,Ke^|@w'O¿ZW EI˖0jGteAך0q|C>jg]Uo:6I8/+AG43hmDYCq! ^L=.S4۵ PȄ#Tlj((J;0;j<2 47߮iwZ'{:Yp) >gMf!\ӅS)31z!@0$yxzBWdlҋ17pkWt&%1dl܌V%4ZhaV59Ũ~` \b(i7O, R^(=+M{׽v|^K۫ٺ4~ ٔDbh"h9bª ]~ L5LkBgN;F6}fWK:S6s3 n^: IDuwE*s2{_qLMϢ׃Iړ*^j,AE`·zBgn"[tr$L6Se?,)25ezUasYԑj~)/PFTV(uѤe jכ/L[ Is"DoW!\ ~L,@©5LƵ|C >;Ff5Z+@v\(톸6G' W$j_tɞ*| F>/`#[.q]tFs})-@kЃc!~VVU$rk_۲eC*ׂvD*f উ G?d?o0ZQdgh_-T~b)BV0TAWjwo3i9]\QIW9/<~- :!4cy~I@E/(yky5Mc@T3Nf܅ֳ;y $܇7DJݠ]3`G s3k0-p Iׄ?XDGL^;zn,ͶlKuSN7/"#^Hchg^Ql-?.^/3H)&|;A_]E@+A6""FhvbXFY݉PjTQ:1M殘"exc0W{0bSfĺi7+-~6/1YF7֗ 6VȞ0?Xc "kVT}}۔AD!v};]C5gA_tKTǹ_kK`)h)3Nh}Vme}Kvaf8 ?b,߱U,Y]I]eԋ̧)\E냄\AMRxFyɄCv,Wm)dA($~n8DX:@PKDK6`_4|`ki㨧1w>n^Xl?a\.2P_=RO5fQTn=:^:*/1-: " %9gyd9ˮJ1%*ʑn+]'ftbd=Y"Jm! ө'962?5?(NnT>@M6ЀWi LbgJ2T=ߕ=ن_wVS6_+ouKg|@c=\Pv2 r8nb}j@l\b΁:Gy sdv/n+ Htgm aœyAƲN7E԰lz @ ߇}O4P((GF_ b&oJ*gb2yM vqɟM[Izż'%T =U.ZLZ}RڞvےakI pr>ov)tX6w!f.r|; ||- #Q8'1 NXdbhzJQ:'AG&Iˉ\F'Rwдl1L/ Q݆qw6CDhB$ElPaE thPX nBc2$Ɠlxd /U}5)WCؓUY?K C+t F`@ĮL%ܷjzl1'`13m$ u1ص(Ǿ>"8\ IbAo*9;g%fG9nq|-<1s1NSy1x`' FOA( ['&טvC;dEkGmNr8s#+O?!F$iNP[ 2n kfY3x2 4\?򦫄xKޅRV(Gyv6?Ê(xDZ}_dUe<=ᰀ;X۞$W8axDQӇm>XDF=[7^%gv*Jk NDkQA-5ӽq1G@G$&B1{i[FGF ޲qf<x?x{O>vC^?+]EY6MR Јf 4J>f=nw[`udaR"T^%Dg$4d䱖1l0CL8Q5-vcb9 \,Cz1߀'̍;M&̚*36j$).ol7>tUf]Q N-Q 7l ,w/{v.'sqeՔX%PšG@;J6Gӻm9 ן>n$i3!ֳ辪zZ^?f)5ZbK Z)r>eřTEKl#V^ T7 ^1Aٹ逯ʯ@a3Γ>c`J[KG^T[ 4W:w#7!Xe‡\}1Bk]P2 :E呱Q˂ T j%Pu5Z)+9k >Ł}r䮏Ѹ9LmGAQe -B~.iu(fngnA $Skޡ$[:PMFUC<Xhg;ؼ.._6q~$h^&5u‰p@K\j)McN@Ë۴+5Vֻy6qF942EA,;@"y$YȐt?,ռ>U۳o׳2 (A72HY*BwWAfOA_U3F B؜@h@H9U?y㺚@O/xS4{Bh(-bVu2xl$Ins;;df5K=q7έCGTu/4&\{J9Ҿ;ؒ^Dw )M;.+ZJ7ٸ%өvlT'E$V ;4k>3tAI-C\YPu~$ X)rvnU0uBmB? @.#e "'߄C:DrQ~"i7bU?0V]$DDgLpgNOHե8|D:lJr*Ham.vXvy+Df҉Ђgnb(&0xEHÌX^|^\yL8=reP| .(h L@,h&k٢xfcqT\J|I'0⚹"<^N\ߑ[[^^n?xPOޮ|W"T~9 "{NX)QgbܬV]l(s4$?b1iO26i bX8_;ًv*t,9:$p?xe4A\1I##bs"Q]Bj!tD:BM;fh 6 } `8M #Y{`P' Ҳ$bi؄oȣ+0dB \͹dwH_>{I5$,pdw˥Nv. Ppǂ*z`aQ\}V׷TLzn-F֌ #.~\Я<(~F䧕MW\ͰxCl:tg9h%l]U˹*44RV4pR:a{IKN+,[GjJPPHGt=H/Uu\@{-; XhNQwf:[ /k sKs\Ȓ _(yV \ ?g]B%J5˞di#&N| 1Kekb*,~ P{x^+ųmuo 2d5b=͇#G1K`# "ٯGq1ZS\%:NbLnsgeͼA_ t`It,Zb,s&Tjs/D>8l+f)6 +-LKHA~.K1,5Yl˗Besw~.@IxC3Nq8~]A .b8= ?fr` K¶@]vmøGRX4wh{UʁMQ*x|tkaXgQ]eGGf!~% Gcx᷼!CutR)=37fb+E/r&`_t[ JǢ=H B&F@m{f{PrFAaÇ oǟ5ǨJkKx*cB+pFɏH 'fLCcl7GW=)hR6xd++tG%Nڌc<4Va!,/uA-^iS'ci;Ͼٰ öY5:?o>)GlY?'[m^dnJ*R!xeS>iKYiஏfgS뗙'xK܄P 9]WR LQUӨk*@ O lvapvɎؗbVʁPQ7q|=7Ee+ gl>Me ]}s%m˴ ejXtxy4mL@‰g[ Iwa8<>-_Ǯ?1Js76#R E޺p`ڰ tRDrm <%XY.NǪwu:1 ](-n:)ށgPJhkH\W#Bfj?RzuЩ-J#Ks (H+qB"Keܓ+Bdzڌ.t^ʚC`0& ]h(r"].UT"NR{ IGv7IWvK4]0~hla. /#([b-ڧԉA3wKH" Dtj7{dxe88r +&U FMMb".ZC[ JBA,p=Rf&i;q%. =lr1qS%b F.q(gYLG$NҋK.p*Pa@μJ8V.d 0 h-Ka kIv#(YMRd` #GIT޼ z@!%gn.(aklkN8TI5REr|_m*K[~'ڗ?H\墢Bopc5/>R9խs*n: 5~?#]]"%˖2 g} iRQŃC',@sVb X}@C ǧ{ItIJ@kH&T8;{$W94}2K!6AH2_r xl.XL\GHRa8!")hˆƣ Ii2F.o1h HBpl4UEIׅ18f Jvڑ㽿8[.Yo#<[=t߰Z؂:r|1f\7KȚ8 CH*o K8 sŌ#1%U5reE^Ihzgu`(ayOG&¯Mt/B7DVw=ŌaڅHC6eH x?Dˆ/ vLh!ArWԅMKK585{Fl8ηW\'SmJgf_0V0(4g)ȋ^O &Cvi:M. w5ƄW9HC~R'<CFIfqRms۱X>Ux -b8R.mRK9x,T`iz#&74؀IY$(ę^W&|O'X\k=[NwiDb~+d7|z4jJjHD^ zP2PdXe-l+,ƴTCk(ۻ1; N HȀ7WFVT&P##WGvjd }^lY3.c}:sJl3h ژ' a_\CH@.3\ w Hz9@؇ S腹mK"1Z-&MGDUrURX]#ЃuuPl=͛dыv_o3> "TZz]a5SP [&Swc)S*b+ě(dQ}l{љB٣#Ej4>'E_ɫ3S-S;lhjpہ=6cORJ-lf?zwW" v*{{&E)%1T,-rIZ~JE͒-ǠwDksZ=FTl`X13_CZA}ba7+}Z@r}'rB'p#yǴ q3:!#_#˙s4[ ȠJcDG^k31UEͳ5Dys<b`,p?Po_q}i~؂dJG6A^XWU,BΥr'Vͽ#4|\|ןpn5e>}na _c)T.ژTbfWp(] 4agYaqg/Np?׏ޯX>hZ,Zst觞)D)C'&ewHYؐIaKKBR8 (4ls*b\9?iFaWy*)!۽EvT>FSjO \uGȮS8ݜW]RwRbquA*k)o e*)PvOْIV,ͬ"4Nl#'Li2˺@$ SL{+9Ï4e sE@N$UPH>qΚ?(Dw&14JY\P 3>ӑ(Lb &G tN&ǚo|$nhx_$>+1H!fB*9 ^m QX5-ՙyouE!M(sSW%qi| WJ ɞy;^>"Tk2=} %켥 f[YvUҨdip >d"|БXyj|۽gҚՙȹ5S^5FsW9;; Lܤ#:4N]+ bɁRxQ/E% 3>&L5Y;VoT ƕw<9Ӕl\鐕9q'kj[E[z׍@qѵ]º*2!kY]cq9RVYع̈$>||h6]{}Jlf`6j_+8\ 3s- sI١Ҹit{p!% ^u4m>ʤ .p^r$pxGݾ4`7d 96n=Ω&?{W^S܆6ر|1(w5 :pp&t8 T5F3jW*ͬ1Pҁ6jO5$}v,w t0b}G)ž<6\&1 vF?p5!ڎ=(C!d ^8O QhuAW,,<19>a.ؗe[ŤAF9{Kpi?qҏjnX6a5q_gSԇ3QBME2tX pm [9}+9]<6h -WblEf9HS\E>h6 2 2V bvQI ČPg(|K~`CpSf,;exڽz$X]Q=_3Bh#Kꉘ[dMw:ZmO6NK73珉mM2ֲJNfzNm sj7XЊI@qΟٰI\B=$8;URcy}@,>b/zEձ{? ~qfUw7V GD`ڷ% 3SvXvH~eNvo]yN'݌|X]7q1tCTEh] 4D~y ŅGvVGg:E_KjX}-鏿žݫ屌/$3PK.m/A\Û^oc&Y  $2 >% Maz6ڬK^A`*΄^]:Au2eݷp Ue<[5Į8YJ`xWu<W8[yyz0B64,:Jw19RtImA\I6r,:< )lP9:1BFm7T׀-濭uÀ[S=IL) # .y?ы"a>Q sGW gάqԱ;fPJ&C=%oI cFI : bSP5LfdmCpMeU0*M+|UrZhs0 m3Sŗ|QUՐg3;9꨾JFXLIh~l_N4baD *)lBw% pyTB/r#o.ۘ0YL:⌨.G]0t~=4@e9Ǝ *⣆l1O Fϱ5Na@djut?-Vrsܥ\̱)54e ˏ3KZ9ƾ z B0z-ȝΠIq TDž* Xcv ՙ $ Zu$۲JGв,7C˜KK@mPil.u޲T0\ӴK0Qr]HV< Avp\7MĪW8# '= WGOFD P1Kd|'Ї\Z)E4U& lrJ"w2 weƐ_&Ƙ~@gd^ ^5SR%Gac'vjuDw @<4z@$)j3d/FĂ1x>׵kXI)qSh79^2ݜM=fuڊ?=~+p'&3A|iU ?/ji-7fdXV].6-a+7BQ;HEFBT7*}.Y A+ U}Lܧ?@qGYkEPIk_tq`}p|*y nwN$γ*z fx9D9 Xr-z#.{ ݳri݄u'dܥ5TB Ju0}ϻ%@ָ*1` 6._!?)'K I/SFūHpJrc4y|O$6t%a|"mcKAaQٗ2?e(N&VE6xXF 2\,נ # UacX@@6R@J46-3:VkMS|=p̔]KnI5Cd:BfBc-MZ@:}GKA%"yw&TKS=bs-V3{ ޶,+ҿ=&QU 1M^kG1c3st&F{IEF\㘼|fe%\DAIѱcqeSbr˵WbA>gQ U8Gbv׭f]  ]O<=8n|ssM}NKD!#A%ZGq/|oO2P/udLMV3|FϠ G?6Y<ęBk{Pn`ێf`ך#%ld{+u>Nh5 .+įaHDႛmS>IfG,nOצ[j`guMD5 !u4S"\. hyQSCȯh[m>HecP1-%K5?:QJI|:%#]x6p2'qqҏޡ͍")akG6o3vwUe M¹u͍$Sp\_32J{<~B&2Ӝ_A]_tC:DtwH|b3FAsGlT3uyњpeC:fD﯄~;\]m9kEᧀR6:n>LLYoc5^`4 ƣH ̹}O#+MGНN :*M/7a7q0\9H0xyc$W8KR 9&ϵu;ǟD]\J|b@֍JX&2:NO`$LUWopT1%qLEcwG6$[&K^^C2@v"x6u9[ڑЗ`m1Ғ^3dV?#qͽ 4 Oy.6s5{YT{ןoLDQt&4-h0oU֧ ቗5+ww(|0=sgę)?v.!a+-&.T?s5xl0y-A[7 ~/x*r,r c^rA%KB6C(9UۨRHr>+HPT4tUzpt mZs}t˛f粩th+ oMn{*P90f]C\V@OB#‰_Օ> >+T%L{U?3ۊId#^"K&|øG~<:Gk]OMMut`KMW)+'OeZ!ʖcso+.–j(nzYIB8IxhKy$ jS[$u,8eS$xhSɈ(kr~^(z1\gK神UJ֗Nal,df3x\Z+{A8pE¥ϱ2 ILjC?`w4`tH%r/6"d2;QERҚvTţg}+!s7rl#L\Qo Qtxώ/YGY_ //[g;\?@'j[kɁt_O~-;H)ku&fNh.Lc&* Ee;%ysQroEd8d*Ȟge 5&K^;GdFNa2fH[doS@F2d|iбĒ MTO| u%c̠kN -?K,Vטּ*9_nl_u$d $B晔qqȫQu_9sv ՘=kZV1 .+P~:_j;iK@fE "X%?C[ ,T]vT&ڤsC琞mn>0zk !3uJEQiE(oUR˂9aux7h7=z8 ն ̯l%,-c;%BYVaD7ш2saĔBh_e逭\MR+K [a̰*I:,?1MtwCl%C >nҞ B89@m~@0]u`ZVVũ kC~dމ4u-}:`6V]F G_F;p"Gg'^Fttc7< l*ل"TFy9Mu1f3e\h4Z@FyM)I8{љSh^Z-!PH-C=hxl2C~rp~PDǯiQ,aU N(E> {ϲ,@I5s!Θpzb+zOU`fNz|\~) Ϙ"c^ ջz.`:LžWgL|3_L BZ}cp_b` P2d7t ug.D`>,W)m~`>˔pj-1{>hNNgծӞ:Nw!459 SKS);i@ - nr:~Ky{ -}3q~)AܰmбZXn4%RNmp烪< &A$uR f_ͮQ#'6 |oYU\ufh:Œc.%70t0-unz9QěC4$ .st>cUPdAY!ys?OZT<@,G!3\ncDtg|%{mGXTN7'aN5%4SJpZKL17l)TsG#tf,%4 9=}JgmvGXu93UP~Aeq~Q%ŻZimplZehh~PD0BYh)0hrGUs v?=.gGͦm?&J$eeE+ŸyˢG2"=o+8H?l.~ ??tD){ٽA_ 2sxp4pP2 Nc'3QNbFt6q azGxU&oò][5*}#j: .^cھk2Pt ZǭIvFbyKe~$oP>!$@0N]^ttwK +,xJKp4 ֝*804lޙw4f1ħrigab9I=jmwoVgC2PzXwhM!`#;é<=_Csb-X4>l̛nȉ3~(\`/ٸhE+j`F}}Htr Sbh.g|WgWVHB\D3pΚHZQ5H2n8_֐irpJlx^*%.H$FP%́P:|jt{4I<S8h*xn0)6^ڞbQ%J~tWY$1l]Κ28ENjQ}&L.  Ķmﱆ׌ (! ξﰼ=*!yZvګtTF!918t&1yfL ikWvoTsU-V{RDotlHWEҙcr c31uE 'CDf)cHb>JQgrR= HnL?<ī;: h[C]5B 8pE*ȥ5Lz%kUvj;bȄp$0mu LGjd5PțR&k&ֿz [h@qDe?PeL@7|7]9"~o֣W vLuv9l;" !iDVS # x:(,%N fns ўMEq꫹x 8 '4ܠB7I׽]̼@+)! Gdm0ns 3096?7LtH%eնvDP[d!1*#mnW VLs`F -X P! &Ϸb0M^UU}UqA:j|^$͂:$$@^|KN۴:ZId, M ac8嬓{QOPWsײ[@5j̱$O/IS6dAͷҚHԬ oa(:{|0][L$ri2#.SܖDauĮvPdMyc@ v\5-?בj^9%'"aЁĉZaV*@cG0;2 \6[9pG\­[Fwzd&EYqc K` B‹tiO)\66A_zX6EfMVι:H@aai=iod#0*,%UμV\Sx`ZX6e!LzpL_ZcQzgeŒ|@j0Ե]OE]< SXHUa7h7A=ɟƥi/}ǰ[cVh%~$=|ܕ+` ${ 8D3KtS3|RJhfyS" 51YTi)X6-:\p9SGQ^ǔ"w@cc@q]:LWf5hܞN^cu5k*Rkχsx%[NN4=t,%qyJDg}="c"%wܕtEWyW?-_|cz[\8T 3`L΋ǥ:\1އ17pJT®[CuH{^AORUo {Ne6;XJ/]řrxm)`B\4xLs.ŀɘ_*az+xB+-7+Gd简EmUs=+*hlt?uC&;p!k/ϱ}Z2s݈OUz50T+oȞ/~XtD`]ߡ?#xFpIȐ]fC?B~n("3)峹XGWp(kō !u uTd?B9 l,<\mK$]!y۔!qtb/+ĵOpK}PRX gq,>? EdC_a,يR(FRmt ymngb֣3U_f V#C`V=Tgk`S;K2yNV3SaPݼc xvVҪç£p)&+[XzI(3H(ZAqJ0, 9~dq`ہ@_ kźu{ؿ4k]A͔ \Sr0E*╱tW^,aʗj F*ݓqk狊i4j*Nt7[Blu#Yd2l"qdr;GIN+{,ew1`Z/wħw^sDVdVu/T0:@?:ȤRa9B$OŦ?F- &#@Q@}v5߰7j,RS1a s?Ӛt.{xslf-fRD9ڪRL?T)Ѥ}l @NX`6Q* HGGH_='ѻ,{V:Z:)]y:Ď7ݴiQ n43SO񒗙~99*N i?SG gR0ý(E.̲9>'ӎ2Ptp<|GnV}}3DzXp7/~Χ"z܉Ly 3m%.KP\Ն ə>I=y÷㉎ByRa]~yfd_m%,b ^sGnrђģ+];)J||h.<@e:oѽYRBaB3[k) D7:Q(FQ v+S3lN$yDr1x17 Nt?n. hc7DZ: tHthؚRbp=o1@Td8#8L4(J!73\>0f<7{ zU-sC@_r]wTfX 7ecR V] ^~OnO~a:paIw6w_wz.i[>u`[F-c?pĘbt ('B!=i%Ǯt#(,~7˴2rk_qNRלrl=:Kp/uiR 0$HPDy2BzqU@#Yv IKn8 (G><}qW~wblсsSvcq,m(Y_ wg\YTCPl\~?!rdtе6h 7,Bx2b/̪Xj|eP+Y}~ v U7|#N#`M?+ǃ\psfua1ؒ|4DNT}nE<4>ajYxtREjvuet֏p1}T  bxҨpˍziPdmNf i@7[,%GV糬-܊\B>Nұ'kj]0Cp X†[aBe6bc/^wvTxdHA'2r)v0@d6%lBE"Ͻլ'\PkBs =`PM"/鶏-wAf,zkKYjȯ+\.(x) Yـ8"e [̕J&͉)ߍ#۞k$:Q~97{E/nYC5 I,U3!Hfaگ=Xx)lLf2}~39,!}"=JP]&$xŅė_o^UF4^DGfE~aޔQƈ^ܯg43B -Mb8NJyh͚q=o&4olU a]bN'f*#,:)gX8FZ$VbVWIk L>\[,Il ªDBlsB' # =u.a9oda.#T-Gbpb铩?BF?A:l!q0KO6v *ő Z]un5}I'ЛxZc?f#ϋ[vaZi[,0X~sye<a-GS5KyK /Q`X0A#+Jz '_GsKܕ,?Ack~h O+Ź1z8d× VsP[ nxd41&'*zJۗ^b}v 5Dv] iNj8|5 >V<-Dee(^t0IJ2w$FOlJA;O߇ynݽaM#]+d2'#{4|k3Ͳz$|*q4([b54_U^$R K;mwP2Fm,{0@Vժ8[6WX=J<<`0WW;Eq)nſ,Ȫ"]ag0=U@|0b͸gF4 {2hF!-/C1f[ȻsgPT2nA{w'k9x rA&LBKé!*3% zʡ#]QtbdD2^hZ(90 9 BFcW74w< z'ڊ([퓝=s W.% TmT[aݚD"T1dt y_%U8@*QkhI JБNJa~/7[PeeU.cΨB_9݄UZMt+$ qTف,hNhW=٣ލ= rn@"b> j ռU)*=t)"TՒj&'(mBDf4N-(l_dztFK, mu#Y4WWZDか&Sȴk Nluxچ͒/i}d==45CNX+7FOYli8#L$Ҝ PfWVI,x`b|~G72k-%$\$v ?/v3VVb>):VS' ~Xl{ \ e&2Xd:pyK8YM59'Xd+hxg:GJ@s[q\ hӛG&AZ^p > <=nO.6M֎(M?؇M* f*g~JRR"0A׾Bʅv6H'\^F}{{K}Tޗw~Ȧ fMic$|}vc־Utu_~ zQk0gugo/颖hΫ`g)wsQ+["đ)Hi&Oz<[QfE!)!J~ |`]֠ kvML<;%tJ)8){UdI~alfw]o8 ZC˻NС&Mxϵ6GM] +y:%cݳr}ݻowKd_>:m:²lU\J,'$!.AMKj-Dӹ6+uw,Y㮣QL @Xh9"bЈzi:P`jphHP φm@y f*,rji!`HjZ/4Ld5&eԒ 6Ym- J? Y܇$@0 ~CKɲF5큄$Ez[FӅ'^]ŋ#zBbErfRFSIVCҔKMR`aY;jN1 c]L8I.+\KK0@\Ҽ+# B] ͞3-cF'v1 Py7w =asnCDއ!cH,ۜ/Ur(] +=0Xvv"Ply7T(~[kzýQYp*'dI&4I.@d%iGg**KécW".xt= YnQ% [;:~l8M#d8q@1Pc̰1j`bq+1)%ɖ*[9OR/P{vV{($8C]^up UrB_ۤikWr4kN~yؤĭ\ w;01g:c'}q^]u%rfgKPb %K8`}&ϝO[>Ƃe?mBЄ<QXx4|_dVENv]d-645H,xӝF[d=t(}]\ˀA`k+(NZ;Q<HV׃mmn:>e| *>kK3.<%Qԛ Tw$ 8:!\iW"oM݃5 .Ѣf@'wGyau׀RJUm*e(S |ff3ViZ-*q˛Dd>6SI[$ -IQ Ȧ46A9vzoZc]u/QHB/Qg(?Q#?h"[M}Zg2G9S?#idWx=..7UI3D4I9)% .@i8uN(~Eaհ-pr "h I4~"ym"b*+(SlDƽ!5䂿!Ojs|*zx_EP}7izU=j Qal[h䵟Fw/–xvpÞҝL+Ikwmr#5qVGSRix(fŃMjnvkTfFZXV{\0ɾWڊPbH=MIlȺPO= 6[8;k"[" #wa tK^}Lз@FY+-rddEՂ(X Ϳ\q.,z6eP6ašLFBFMK"qORJ-)fzRB]9>Dq[A" c3%P˜K8sKhZ(}fJagՎٗ RWac#-2%rA&sl*:6ڰ?)O%Kf얘c^j6_D֥ 7ގ0d2j[AAz}CV;pm."f.7LEK{oX}'R3ܮ"GydV%ψAM^TC/hC*4NT/%_(wF)&휦?u af(kcՌʝ2*PxR⁦TìÖ v;Nj`Jby 9a1VI(ӛzZuฉ@9}Z(,r8xosacOS8?[ ] (w2$?R nvݶ#0_uVa]+T#*@یư"W+|f^2䔥;6dW~xA*Q%-1W\B5KQne[=SWf ^bSnHs|̴7S>[~`y ̦ e$ ޟ/5U7ݷ€ieX(9+&mqf(V\79e-ą5 Qdm骨WЉJ!ҫnj:i3`KE_(.K~O;N#GjUhJhxSC{dcOW|J:6Lq-|/D붩:=x448" oP@̍ o[&P~ U}(W79ERx&&\ŶЄk@;,E3-gmy vtxsL8?;u|Q9,Oh0(j3m9ܿnR >]k])W,SBG1&:guހv(iR>Urw0 k>Ո}ނ\%[kgnC)]v9vWQ¢T8ԙJ bui֩6po1@#} IyT=>P_&k6 ~fӽS$B$ `9OtքT:oNq6Ơ6<|%!W歖{/=w@(_O|f߶ *ZD"F!ҞQ sR\RxWptcEo?ZOybRKްuS/=w$-l_Y) lrl >&1?8µJ;ɢV&J_Yl/y_ "@gUmk};V^&؝O9vrLUx31GB(N NV8o+V]`T@ 0W ⶭ6-R};U u>=C3CX;hl{ە]"HQ EkOWi ^GIivL2]?;N`-Yl"JQޱfN\!*QVitjZk;c"=Zn1 X2s9fܞ 6 F2.qoNl\ 1P)qv^ g Ydt+\84 'qY Z"{pmo,aߏ rDUkAn3C+Ls 5SCI | %"'{V+񘗆T L ?@"x⻔ZN@qý_yƼr ~]‚)!|yM^S.'Ac T1r)`>[u6%U0J.񔒓{bz 4w2( dן^iD%7֢tSQ<ӷ6,pmnE wjtO 2Lb˔ksjzu"$<2ãbM g0ј }q 0fkК ~5rPr;KEkg+ }'i,LjvN.~:K=s?4c :0N&-:xED^)6\.ރD6=Ÿ<1dҮkuU8o(V2qi{=J-0:)c+t_7Y!L*5>Dz%ޚ#_Au TgBDnN\5Tie=VyD!DsYx27$I0,AWco~BS Nl﹬<ܼL뮯rPk33KMM{7WmDpT (%\0Pb1m"eQyZc\1>$-QÍy%S"^U=|tM>N=M}z b̲)Zyg1Uـꟲs+f`A-1?8&KjMPם}'kJߡM3w.絑`'ۈ/4AY&C:Z=0gv8 _ X** }Ye16?@`ȁ WG 3 /7׶-JJzfZ4@bW+mN3g#mZAXtZqݦh?js'*\?І'ûDsepkg_U@P-걊/SY;>ۗgCCh &ю"#';= EJ "b&o"/2+T.+#n?^FY6LέhƻVDny,ͯ Z ,P줶TfY_xȭj4]xG \rX\.yYf 7]ve6O@a.#$A`ɅRm[0vH+Зh YM 'E,IzYNۢhʱ(rf RM<}׭ L,Vv_ԶaXqx;Ø#&5ns4uܲ4$| $0\놥 (kq֮4aey ;jiY`"VyyFgN`6yjǪK^-:zD0y +4 ʏFa9zwF ~IH]ex#4cb fȘIN(2 re?{˿,dp+ۋPH$ly 1 y"w+P YqoT L7q=B7P͙U)#KDRWu[d1>m` {\W4[U[2@gAhX"̘V%#>촠6%nA G$e6]RS5>R SMb"% ˷? ZyTq0]U%Ojɷf%3O~yג⌀f^E~Y ˛B%1IiqOPW'_AAM͝zFz3 vxAi K3 F?W~؝=N|_FwiAW/,Ooh>YC 1 E} .3%1\jÅ=ZlseqZ4\G¸ A7r.z[{qnY\kF@!oZ(KA<{F+{_ elP~r)i^H08b'ҽ{D',:Sq0gBy]A</W[WT8.r~U.r5=xfX/]O3ۄsvG>^S0 |{9 4q)7*hV,g=s9XVl`Ig[2]X9 Ⱦ@hQH{=<rnlN&>5XܩayZ4${o3IJVs:.˯KZqv($I+yC{Nx)ٜ/.@1Ne#;`~uX򛓌T[8^:YNy4JD&W?_%BK*]}R@]&-/''7V2&%XEKc:Mz(;FPaxoH$e:]ȭCI,3ZMКkcF1FCflFK_u'lB2vpq !зno3FƦ[ K>Gmͪr <&0 u]fk+u bySڽjwÀ}!} ]ʱ!DWQђ`zTi}ՇVȨKN<0v.$aEUWϯdpR}Zh؝:ZWMUEև8"9dkғdq]m{ALz][Kxh@ob߃7*!Ƴu[sqHR:T`! QZAQC+CC u9Q72&(od&~^zA4֩ܣI{ښ%1|d QC@ꃌ":ߔ ^sx=¶eEB>X7EG4L|YJu3KаuhNDOD9r#\YO%%jp߷oZQC;R(1G[-w\gYp݁%\ξd3KfM 6AcN[?>u,:ۘ!z'= Z12c;'ΙC~D9A>y%D,q<Ɍ˸#"Z\&Zgכ^+Z2;Gr񅦘)HNQڇ]a ?rAhد 3 >`PvNџ\,BL4^'vUi_Բe*O^ ;m%p\˯[T8 ewmLT$C NV )C҄1*L^"vn,~)W^Bm-K;)biB!CDZTǧmĒ]c.U 722ݿ0"ycf[c+=nBWɞ`!C. & T.zÊFIgYCKmaxM"|8dcm-ؙ5'dS+ :*M[;Mhl!r\q ԘQfj'ɪٞidf"n0DZީ YK)Z=/z/:o|'Xp}; !B$p_^;|e%;rY t00 ؼ3j5Jx,/P O@*%]FED`:Ͼt~ݖsvCX*{*y HiO>i};sw?XG6 5"VE0 y8UY7恹A($(HWvM9ߵ|ĝsˌxfD(]~ݷ1XAu=Ϭ(V+su5̡5%$3Ԓƛ4y*kEZ uNs~t ahMْ,JkFYv_Os,f`n\kc繕O_,h*fO&U6[,&23G^&%8">}@4gN(,8T{H{ߨ+;/uR$9Qr=*cT-.@.k f4.mk Mj vgЙἆIR:(痰 FVqbd71='%Kre27XK 7=XAf͊?οqITk1nIi'Yʽwyzi`6 OV<>mHzd,۳pШqvŷ("9\+֎*`o~@bN uBS>B,. {Jb\w lJDN ZR&cC 0~blyy0{6߾)  D m$U0 _)z:U%k81oXt'P_ `7ŝgt%[v;Kv`Įuwt_N5˳u8@s> y7 ,6!\eo@Ul"^.Yhg& lf?3Go\M'%ʠ"2_ƙ73yOLIKT=@Jֳ)"ˡЫC{I^a ^]Y0bd05TY7֓TliL'!VMlBiΑiH⏑HMbrHL*JwtՌiF^U=2(X3Ѿ,7!'~)yA։{ez;Om Ӭ},\R>i@?9BpYCH+3a׏A_fP|}8ZK2p6#қv@1&$;/D Ppih$xVq+~}fK/|5M71v,gj@뢕B$sG(e-Gp #C6N02y`;ϽxŘrT ^ȶ .g dź[WD&|]NU!_&۵u~Xv2CNŧ>Òv7c ,&T~1x!=qvA3b#yRH\+R{#Q^Z(?W 8b)H,>ʞ-dȉ<40f3sX OCǃ 7vqéR fx4'4gs&F˯ЏԝT|gb,\@O4jِ zCIXSLnt~}jtVPPY51j*&cJqXq(_a<]˗/YHkޟ#A_;W5^xv>1-N::^\)GkHȜ8QwL94p~p32P6w`G 7!e&[J mg+hʱ< ^wGۀI՚j]_Ǣ(L#v\dZZ[$# PaeF0p\cQCpcYN*ѧj.uJno\-~ظBJ:/j ݧ5Dos\r01.&9Zm&CSP k(~ygM|ahɞSg,92$l7qX)&۹Q|iqytG8{vؾ?CP^ZP@ 䤍r#"{J-Wƅ$$}h~&9%| } pM&M02J}\=l-e aU 'L aL9o4C"Kn4,T|7lkJN" K_7:ӂ5KӳT4F0&M6`2ONJkG78]$ Y=ͮ{>>8)BJ(EIe3}>cѾGm@_gs( xzHWźË,K>KW! [#lN!wvv~is7_OڊTៀ .]d U(s"l|vw2Dx-`g<#Gpyn8,[iỹ2x؁T7^(a%ӱ˙p bq氥mg'ו!*L x{(_( uKP7^-͸ߦHW=wx6!{E0}5,4՞pI'IPҾ{&P2>SsG(}vi=~x?@n6E}*Mq*@Jc}l!9h8Z4PAhlŔt4`nJNS4=f l(K-'q,Ll|bPs3qU:])RWLO20.`wdG kta2hToTgr]W>]&+y^gӈF67/i"pDΣø{dbҭ)ZL%ҷd*Iх$OIn\݅e]-m[D6IfVq3i^e~B:.̉;k[zf(L/ g|m\(d.pMo'9VD)g,(f=-duX;3*ŀ2C.wlY푡%-dV\xE_1`NA_.ž2Q6 !,Oc١^hieq~.+R+XȅR# F0Xj, v=^$l6й+5,$O(uߣt:ŐU;MZD߅<*p!Oەu& $Hiw&?qG@Z5\oOɠ,tPbSeU&-?{UEfu46^LB@"҇wK 6K`~V77Rf.AXz;ϊpqgJ:(o-n^jYxafzA\HCI ࡫YtO])zZJ ZK̿u1Ύy ԝ8V=)@zdZ?(,ǺihnzKuVIoJ;30R^٪iEYVE?Y~"d [ *EES3dYD4=Lޑ1R?~G09v]zZ o5ce)oNmŗ4H.Koc2&RQz=0ͤYtp fB1?[du[ bӟY0ur ̇3TټەwT9yH]¡/T1)QL9d m,^H؝@'eO 3zV!zA0`]`VLͧ%}=sگR^A}W \Dg kE^Xv9z03V`hhyІ6{b<҈RڌZ֭<5'&(jw qDLi#,"8Mq8qn&r8X#4ejZ`K})2rxoO%) 6j﫶@: O9qF[[@x328 >ָ_7_S:ȮH95|i`X2-&Ok{Ɋv7!rVoG>ł~[rd&, )MOۇC^8/g}I,Q!1p<q#Ra xz}t6d+B*F6$^U^cUZ|2Sru wEO+dʚ -rY %Ǹ1iS6tEcLd7 LWpށ&µЈIKVmCT6Q3fm`J 64#a&s{-x)HEl!eÔ~}RkbChЭC5)5}BU&EM;x26!`V >9dOwv:|[QC]ݲerL; rFv^# bLgMn0FQ?kr ]QIfV1¹cn %X%rݛ'./$ ~A=ar۬3@@Y' y$⨅P^x[V/MFW"ҖLsqE%khg4w"Oi)O+Y'I#X:0{Zm6b OTП;`9\p03 5;l;v"|6 ZjtfYi i'KUc| ,;i2Y?'ǾP)91.|3A45z}:R "71?IiDj3p jΠ EC`_IxW0bf[_ؼu[>ؼAJ#HdsFv6egc )X=U˷{z4/]Ϳ8NmLF㴉S>M%sMfAXݦ}XP%TfW7.F@K:rgޜʹ,ZYQyxy > Z32V+%uo/P/#|J9jVr{Sm+')gnƉ I hf304t }__ ǙEi`bje)s 5*QdY /c7 NO^쮺ܬ#;t0i&\ vSX=m. ?rU^&sL~&Z(':d t}kZ-^84ttXQr2ӞXSk|䪟j4(Fb=s$W9AY,m|Sy^+Rղ gI#'Vϻ3u~I a,n_h hs=nn#J 1ousb8IKx@*Ai#?=Ηp֓d++h:LTu~ܬB۰_Hrܺ%ڷ eZpܣ|oP? mGOɞZI4wd7]dAt?m ۥNr99E2e ,1tWEHo `ZVIE\Gn9f+`T {2wl^VZ1n]%džP|A6q9zg%{W5 TJZ]J}Aۅ K{X(8gZ@+2ccci]*=X%?"@@Hs0qXe3@ yɆZ;kS2 Yp;JC|Qku!lG'±` Z_P8$\UXt IC ƛHś1!;Z6o^R͓RKʃ(H4꾄3T.g.Wsh8 <l"Y|Ќ CCZXQ;.?X[Fum(zТU%ITn[\ C`(?yyxfEZNnRbs>M 20 W TRK^DV_$7\됃pvaNFz?8oU^Qoq fפ$e%>{ܕOD7c "%r}ohB*I4& QmhaE9QXؿ:LF73jd>Ol9{!:(2^>0Vy4W K'" mHn*+W%BSdC{%<`8Nl+D DBu9< u_^~8$]bt[ħ3e/w,mp~\A-nQl?$a@!֝Ry{ Qy̲QF]~iH_{C2e P L8u>E<:{56.s~ %ԅ-g&.Ǭޡóĵӟ.Z"j\~.p\އkB^0{^#wS+t J_Ue} 5B>)QИ;0/K1E}(#2cLl}]b#Ak*/NjNI}($*I 8E Y\ ?txx/^?\d g'xka5vx6Z dт/`iwh_}%~>CZdZcOravx~{;+*Gg)2=t0!%8j;PZ-وvbϏ_hU81&(z7#VO[[8p }vVeXwՊ -+NR~}>d1hmң|٬t1h(̓ReµrJ\{$j\99BAV.7FޱIͨy]h|Z2*"/g#s9VY;v)BLA9~-PUɤ%xj.Z.Շ*t ~}-%kt1FА9!-Gt 1ӭ{-%]>[R4 pi]*C5? <Ĥ\;0DBpi%G@؃}ҽ.hn/d *q {\(^{_Kyyh#x Wݯs:0p BM(CTw'-{=[í({̶B: rK{#2\/oHѿzn1,}Sw^\9e 3jP^.(/A_#\z~o t=V^Qt(rwM?jĚby6!*/dQ D!jℐ\P3ʈ2*OAaҦyo-nJWyPb:|7Y@|eFF@4yLX g-|* K_Ku;_ zmm5+8` iMZKfnza'n9P-+ ;5cq%oȃ$H om7)v){v[1hCэ©s"ɭ@ބ}s"]l)P<1kY;=8i$^3HKE)w\"Ň{8_r )IVr͆*3ExwH2fZd|QyY E~=gPfޱ[FyT6Ϥ,3ƚV@ T!A+\O2S`xl4@4dﲚKDʪxڿuGCȈ!ÈjOhqz+>;9KmsJG\*YSgSAE.ti+[o}C@"|&!ˠ w5o݋ c_<w3=~lH<Ԙx1C,#O*俪ma\>9n@оrN>Ǡ$ؼ*_0N0!darqxSVoM[o U%{c[8l76cӰd >Ɉ czv079Ҹ^*g0_$qh*,MoY%a`]>`Z|1]zfZxAЕp<1JcɁĠ_CU^=H,N[S'|}G,!OV8 )/E۔Ue.#m@2VG{0x:R :jzbė9jZQ7:)A@MtEdd%({ Pc\"lg"w4#9V$No]?>BTD1\+ ]ҁZw rM܌.t>.%NEK\o5)EA'jģ\I-#:9zS+VbѰgza-i^j19@1е^U-pҰ"$BT.s3|,@:#3Bܢ'gc?u$tE/ )=K?9^R:a坏W2d\ '\lwާG1)aVw'gUv@w q.Sibd J CsD{;V̪0|#„7֧A=,Vou u;}:?\LA&_N y+h#lsyo}wDʏQZȠjpv;_VjM+j<)BrB|ىÊcfm_✊j]IxzB2\23aµK߰٪ο6ε@ H@aTӢ";RLGF}Ĉ{$3_N#'!3Hw2P>@ ׍#USԸV-fƆ0xMq&=۔tX.<"(5S:T:n!;vlE_(R,$g]6KL%4mvo]rKh4jY]Xg0ioH3Q!^b,Fe\PnIu8!Sނ d^-L`L-{T^'JںxN$seـ? oYq/c^H횪SAg(> 1?)g*N;s2'}&}&(>ԯ’MO2v⮚OfnWa"֙zrW%] G5̓Bɐ |)BAt.h \C EӖcUQ:B:ƺpPf?WĦ=G4Nz@ٚG9uÍQְ eSt¤8\ /zECm`;;|Voi̗(RõLnؽf 7"}@ѠUd`|pwV-lxf׎N?.^a8x2 )k453T HrUBlDΨ".F@6M(MܜQ7ǝu44ܴ$ʐ͘.9$H {1L0<*"c5w^`0wMGCAy@NguvL=g = U}>#jPl1HQ›^ubQX#RDd}U?+:˔ &PH#ևW\\'WsySR: b? BB}(Yn_AmA}/ I qeUp3ٳnP0Hf6ii|෗9Pz]xR{aI mx݈5IJ/txJ>a{kz:lj*V9Iw7=y`8QGs*SC1ĐRz7.p=$;Q31J$Sc#I-uMLk3<@_+4Ujm>;0NKa1[NpD-Mfo-vz cI 2=$O`TaT$BW3$:"s&?^f (&/ط#ɭ`)ҕ3cqtQc fs!(yH ]yDḫ/´^5/nIB W3h`Iq돃J[.g'&s{[ù3ǎ=/^^)Rןǿ=g JNٴՠ=.e`7swVZM 5bK/n|jdbʼnxuFq<e۞V)7s|tp Ý|Tc I;.TxhՅ`oKPU3K*5EH{:#Z=FUdDb!uWʶkoDUn7QM< ՝ۅ o0acLu<ХE *Baz( ^? -DX~@K?5=ۻsTdMZsy5w٭Pr0A#LXx#E7mVAM(.bŰd}zxAU=@ ^$_}jqBѹ뱠&w,E1iJ(W%#y $u#yX8˰8{Y˙<\m1|-e /'NrP X| Ť| N>nөޙh欫 mXg=p&L߫O89 rA1#ZBy3C_FlK@lj.f)0u[dBd-62ֹC Q=FyDr5Jطbq/(ٜSV:e9%!j]W Fe0_ p/B3LqF1LneɻGH@EUVUVv&m;/VT܍.c8@8%<jaFYJZZ k4I @]UC~&ȆTq}ވBk9/r0V;i&99乲qh45^h{,7Zxߢ75_+=E߶sRz|auVYaHoxՊ~Z(Z*XXQ)$.S^@DAR0}lm ;v EE&saz!(toFX%4Eښb4; LߒɌZBy~O n7(ra)itxcsK%8R1Z@4'3ӆ.3\WTH\'D9VVo(R$Gc{7;z|]a|&IZHro8hyfhVy5^;BÞ h4mpn-]Hb a*fO,JV*%9VJ ݤajTj|`YuD ݛ%Lp,?|VϰFv!"k`mF3 +gW@JgZJy֩%0/">J!7fE;sp=tãJ)3:F8ϦAwDօz3:1"a\SBe4 *<^lsr[,d]ܫ ^2fU0I_9k46)ᖨd3(% -';ouv$=Ӭ)S /*בZ.xz˞HHKK%ZzMD6Jל…94 J|!rҌd$r)ZT>޼w,%+GJg:JxJ#Cڕn&м( '%k*7i .&P&-aOk֞9xJ5g.U*f!3wqeX[k%8dA (,`Lr(q/>| sZ}_yʔ_{щ?EԴ9/oUOeʙ!z/F$ԯjHB"P ~٠Ghi_w (;WvmnM#]X-@I e "؄.x |U:I7o/vlRMs{ V7 0h%8S{:lNS>?,CN q&bmz/_Ωqp.->9"Bl܋:U]bv\[Ik4h xAk+1j7ܠ%s&|F [e?{sr"A$,79g%"2u%%CHfd0{SZ)R7-hֱW{BʴD4#R~[y8J#1O*`v8#ʑhHF;^ΦB$aL5N=3Z`FtOʻKE%aƩL4pc6$?Od ƱCDr?M mT $v53w KdVO#Ipw^G&2.&J-,׻_['n") DcyS@n4<2Gr_;"eUf۞x_9c`J9LŴnB 8:Iӥp<UvW5o Q)RlrY #t0BBK8; ܷ3i1[3>c1t %3Ȧ&Ww93#hOEÜ*+|^ ҚF5B;$FN`.kL~N fNLzƫrsY&t/=_/Px3(^V,epR''`:-4󇌕80=uᾫL$u kq]\U13)Bb d~ >˿bh0qő̻P#*sΖx^_qYE|B<  anmlGXVc8n]RLSioEES 3"4 {i_58k%%ž'Qs? |`-YΟ=SBpDR렚 xҦ 6nڪ<[e "QѤ"RWPeš;{XX"1WׇN99Y>Z".WZ|~]qVW&"7 jAY{?UAA u,B0  k@-k N_H-&TzOs厬vlyNKM#mhJ(i,5Z?bv+ߦq<~f~H e` &W:jݶ v8٨Y:/7{&F qdRo^{~1C[QtBʎڊ8:I01~r7fmʰ  Hh*1Kb- `Y &yx[ Rw,ؤ[$vFNSj,ucKSPpl p(uۀTP.(f)~Zj j+IxF$|:dz!Mbſt~k=3E G=%^_q  =&G2 o%F$Eς 4ض_H9 H2>z#p{f{9j%E,?J;r5+03"|߽diVʱj/ YzqK=}o 9гͻkY9+й b}Lw.}п/PM3F$Y^28W 6\"P.!O$g!A' P*_RM 5dI0'yń yR2b#k,^)MV:aq<ŧ_uEG+cH+q5?wY@pyXWnڞot˩QNWT/PZV[;Vl8йw .;RrpU~[kcp2AWiDmCipuE pE[ՌaѲ`T-|Kr2mi W)5}/0'r, !>sE)Y2^En7֢¥C߳耮g)oAUW9[@̜} 7Ԓx^uwM&ҕf"#̷>0GJεa<>FkBc`k7TSOV1ZMLP ?0zpi=?FN.A*!6 !yT"[W B~2 u=Rcy9Q<~Pa%E "!Źa*AAOC#De`hmg%KR 7ӊΟm_>߶r^֝!޾5{?.ۣgCYn"Æ023,Zh*14o񘫆Μ~=`A0\R{EKU[Ҕ-̄^jsV-jDEV1ɛZ ?ooclt=FmE(JSlY>20Ul 63m%<;=5~ӝ( FTM8ag5Ih<|rg@nw -Rx ù` ɆwTgq W W g"y{Cx䠌14Z9A2Sp+J$$}bDOG':h, "1.{ Npk0Y|3'`s5:6R5.WIXetպs!@A)zz[W>h\U_?W749&)NBWoȳ_k—B*|:H\4PlEG`2c@ "mL+Tz`[ګ綣,T 1z}Dr&Bir:vAQhUO7 z*"ŬqnjS1x|e"a<^7hDۖАSAeYV#,)NbH@'f"*Q6*Ap*Iy(>f|,!UϞb[{*Sm;C_WSO=ԼգQ4`,V?uԓ>0/r, kPWj%d?OJ_idܟ!+mA0w,KU+ )f?f =dAQ$B]+f DNC)v/2 У30Y&~}Pf )'-:dm;ܣ% QٴO[NZEkFwQg Tq="W/VR= t Z{xuMlM:@w@?+';xrhaP0 *`0* Wn\ [cDR`kˌCT T . ޺jo([i5˩zAޭpE—;%L&yNdk2?[hHMyMFBmܸO 빶$"Q+a!߻xvvuOmp0F1D[} #9hr Wbif\]=,5h &-Sk\eo!:D^*:Q6zH"A$ ȹ V7l_^$/v[sv3WViC^t"QTquSPjeI!>ZRgM.F}.\ˋ{wüX>UM~xF!5c ;4o:i,$Inl=$<N,qRAz8NyVC/{.X"*1no0{T' ۩ o*1ȉ6"вKL[o}]xE`;0E2y|^iց,l%G s# ?OIxU LխTG|^#ׁYclOA$1mt+5+5L&=e$o`{;~0 Q+p!Gˡ"^~vV4FS'_ fQuqot4ՙf^?p>b;*sMyԑ]6tPJyLe#hy12dX/ "Wȓr4 u4kMgK|[vfkpm<GINAu{?406ćbiCSOn,ڝWy\*[";؝Kd_8W.k Mά+Zc_/M&qzCkQ@GzS$g|l@IJce {`S}t K=xn3)P}塙:BB7,Ka73&H^ÂBW>)-O#N{N\H'hW,K2=]cqYLi nt`N6jyw<72`T}&!.p J7e5g&!wõˆ ./~kJ#d4]{b9H.Ays׭ҹ\?F +Al ^!fέ5ׯ+:1-rBH@ u")C7B\SB=z3E]l46]L ߦ$b@nCF/wn_UYwЋr(uY f,9B":Zyv `4ݏ=HE]3dOPȳ3մ%IY_fz-+jw]uF$ 5. .Dpx kd-E “ *xjMle;3$ҭNv\ ~~6_hgh{M#_T9䐭.2DLށ=>fcX7t,gV ,SsNa+ >(_ fY[—NCSXDבmEQYxBC==x__B1FRs$N #TRpP~:!H y-5gRXBFI0l0ZĔOH! /s?zQbl~-LQk2r+ACb O'<|Y*U^zDGAҳ,gm`|'j~1q?PSQU!U`?620 1*W. $Lax.ڐϭ{:IĄ3wou;CN֕U/=S2c|B쐐hÑ_|@(*PNyS]ִȝ) qf`Esې0,ͳyc\t۳Gsw| 0D1nS3IJь犲<r:5R;hK\ꡓf%<k%+1d ? lq[p%"j 3 CQ$I"M[ag|4nr}(֭k22|*bD_4ѓpu^z8//Nta3׎շjvj84ؔ4Ha640ya9L;JHBEHz4<(3 1 'aJHɖ On+#ra-͠v ǖ5<aуnpQ?~iƫ<)̙%| aN_V}V1E#^_OUi c|ŝ#"(юoo(o//yۡc<myQZfkZf(:8z/ N].|%\k+D!-}H/6T%xg*.B8,2RB2j(ݡFhTšKfjI?PS#6d"k8p*Y2l,{Ch7R`n?MPv%pE\C0 oXC!q;O1-HfK%lRzoX/(~^Q@s̄+C=J#۶'Uai)&˭(eGXÃDtbB"D<jy,d"7OU*<-E^Zqmn3 IВD͝btW)A7@* );|xEuT7EyloBk3W@EZq@A,?nba!캞><-ykP9SaD^0<1K(L`x!(>It@%S-|VBd!,ºX>u"S $n:UDyL?>i0gF'kK[U@A;a4 ,፜zA7R>92&ͺNzg ,8Ѕ$Gk@!mCx2}gA]ph_R_ݿŠViiMUy{l~&ud}Yf :ߋw2+nqXݚ;";  2]&;EN]Sp-g4%kqK[:1\BS 2<ZL0! *&jAPsq+~$a?H.+j{$})Hgo0)mW!WD8­UjmЇ($siuH6ezgjth=sܗ^L ]elC)B~1 k+&v5(B3I.K)jX{=yW>PWooWoXxJ:eZ(UZ^mXyS%Gʸ+?:U mWTԊa#ӉmuPQO#L4r\{4*1 fxzeI^[6 1"P T*CG6Dڡ9Z2Vdo[H$]˵]ѓCL1s"UInR9w8":QK4䆄2K;1!~M;Jj3gb;D$߉@wxÞqd⾄bw)3ڶ=5΅T|y[WM}nAn(3ފ ~n>^XKZ'[bw@D\Ja$v=Go!p~?HϒM1Qt3Y^4{X~̤vFWؚLsT@rvz=~Ӿ 6ӧRB0pw :@Il/B- k;5"Yp"|Cf7TGqLLmX48$IWh'\Jϵ.~1v fS@bB~.dlPwE=HmE*reFJޅOW~39ޞiIY#()Z Ӵ`R R|?hFq NJOU^Ng}$ԄwȬ]c= !7@S>-) :%x~qc|(1so0r)'Z';g}ͺ2&,1HgL*:bnԺv@PLxc iZ KʒL͏}:ٞs"bTuF"DKx(W_ qBwԯbsk<~0O,)t5 EYr+bRoi1zʫ$Eɗje'#W#e*!!t^lSf326Cʉ4rWO@*7BT #*?۷xL'4 !*]2쀽 hJw:9D7pՖWDOif㪏4LΩ.f8,_7(VAgddHjnG#:o59hzB,$ɉ@>.ztn4FcWcP>[XiPGtEEb焙-r2CCg.@EN7]|~` <{𨢸i4fM90Ȣyec#?9ZQj5@U2wAqF鹱Iβqz0_ޛE Ӑ6uFf͍&CR5QYc(WS-Tbԋ.ZȦRʘsL5ˆaZnRen3 u:w'@24Mٯ+M9JERڵ!FDp7boIzLlC *[`Xޮl:B3]%ͻ3SJڶeLHmOe 8Iѓ]Vܝea˲,>>'#:c)s9ɣ]ϖ?;ic UѫK0dQBviQ:lv37 44!1sŋ[:,w.,2"f]P뷕p/4BgūfO2g>e gx3R=Ţt` 2 p{B GpN %qmt oRL LA»G'xd,ȚJR/&&AI^r#yZ}ڠux+#e[@a!nHh C|LWr1.eh9 bWjjP[Q4|i lDRGB~@p1Kw )te=:Wè0J"cDNKdK^Կy`m$9|~_ՐM29Zq6Ujc.ll;j̢&w}cȟ К,7 gB`18r!\Wɦ b{N*|"~tp }8VZ'0E%t *Z xq $pL-D=+ V@E&f x^M6c#'{uZ!.%׻Q*ˋ kdfw(o Pb.?%cWUruXgk,εKp?d ^|U"ʹM <&<'-`6!FxGĵ39cmyʛRrKږ$U"~qJճ"Xy>B;dƫ \D VeWͽFNW|::t*:Փ-k>ܬGװ?_?-,ɦq4iI (rP#9\4=>:LcLԴS6L<֎]?? TVG(B^br9lX*C#/9 36[A1 v`f?(ɨ&_iqOOY9O!|٥\>|1i\vlp}K1w߻(򻜱L)ݮ:J)tPclp9U$?ȝ} >̓˽n8Z' -ﵖ!!SHJEV#TId,bxigڋ?yI O3@#܏G`:ٞeoGs*N?KFT9dƹ QM1;_in\ m|-lWw(4ܾaiL!0rZA/,87"1e"#~|sU *to}- B:rOy*VAq4D1k##$9#XIhpgwR<.AG P.m '[,nզdenMm_KȲ  ;ʕ)σ1)bÌ¡6<@J}VWFRIΌ@IޘYXa': ~U ;֤sF%vO7SU8Sl;d1+\Ȏ2y6pUJṼi$H1ax0-"ԎO"J[@Uz5RIjݒD }(i糙:NS,׸lȠr7N0dt1Z\Gbyr TFpfm'`5y LFuϥ)8Y8R F^eGFIH}NypJfE zP}-mN!"X @]"HE`^rՀU0zg{a35ރͿa5)1 "mBcZtKY7:HZ"}\ʲjO< įp>05C̐pQ [>JGtW{9\Q#;AqDyc" (2y':"içsK UMv7C2BneayTR\tr"E݈Kwǎb WwzH脤'6Iž|1 :/=}n>od7d9λEDWCΩpD3&m9 Itoq0wr.]ON%$דz\"ή? ~L9&4F؏Gs9 =Ҵ*ZQjK|]" Iyv$>c#ܺمOPs 5Y4DCלhLe/+ب[lDU]A)-LpIp'1%nC[d~C#\fYeݻ,فGW%$WFf_|is1,$$FiӁ$+t J&r s(\w&O2ԉ oaeG|?}@vH D!$sG1}"*Ga.+p*3 # TBjø0mM k>ݴ)8+l9Dzv6gcy%N6Ղ?*{ W|\ΉFn r!Wl~\z&ē >xc]T\ bY>n-xzBUHAQwP='*|5 ͢i^eL\At LL 8*HiFlx6-[;&@nfr6,g_%Aj1v IOOXmI2LiCnf^T |~\ˁ"n. GuzcμJژdBu *냃-6g^ۖ1F5:Z/Lg8[rhql%m98D?l-vRm5¡vH3+ʉ8PFʔ*PVőxn,N|zM0fX菉D|&z-7Z?܄^/[]'f ,-^: Bj¥q\Q6FRd09ڿ|%0G<;'3eDiv%5KFG{b~QL@I$}g gZMV]SR0WyEE#+2jVJ{Cz^ (} kaxh󍷯En&uAb +^{`M%/ouPf\*5[oWFiC妦cfUҀ_ c5vKO:bv+iapH!ԝvTA_EAEc 0Q\`S;s;O]Id5P(gN'&J;<=Lo(adbT"{gyPXc+mcMݺb^a$&r=w h#p-l쉜 (#8&ʶ{CQ{D,M7 êas/|1lȡ0Vx~`$] IE 4sGjٴ77SزiHX8С]=4O*'&x<-hЉc':N6ݏ5N^Cxݔο.vvu.NDnǡ"ɚlOzlUhYG 6DeR!}*2, si I ǫK*A|1YsaӬhBxJ*C}ZpS1p< dV.XIX|?uawԗUDLcR=3 0|i1np?R/лA 5SwzJYI,CvHcHtː($T4$k-S;4BS21rR}c% * 9hD9@ѡSrC"Lm 2^PK]c.UAcRux}_KW+^+^8B}^ K2o vb۟jZD09>Jewk#-Pma9Tk?j6%U%6BpV _N$g]WʹrѮZROGί/\clbu拾]nSklv/P?͘"*i''sV/p?yxRc9~PQcpYYV< uu4htY2h&T8N;;-W_&]|UU8 VlX7vfU~t!W(ba{7#%2 GQcY}_Xnuix ;r*6hƗMۤfQ}fAJ\qV5ى ]~fecs8UQqrKj2MZ~9@k;x':V0x c,>C=fmgIyjFy>Ҳۉ(V1z OԃN<$:8Nj^! CM?tah^WeM3l%2e%4pUhUk= t ҩ7g9[$h=_gbcQSkuf &#ONqTDy]w}Im0ϟ1qV% s3"L+A,_d /O,-CRujeW^ŷ>tMum֣ DC^M=?o J;4<&"hJ4` @5DU>s\HiP P~c+f};ʼn:M4Y$-0]&QM0"::eAcz=Ɠ#h1f4{}Q6QLۼ*9x)5_5%T@0^DGfQQU!$Et}5х8琻kG)ɋb^)ijÅRHyz4CgyT;v/diXÞȲI(E75oLL{pM>^M!.-B*dGNö gB!˸QPFxJdU7L-tHh[a\ɌE|a,V[VgDteyjbqԣ5GlȻ8G"&B2 jmtg4 &)$oNJvN3X+9qR$DQTaYk&j_k󀦴i`;gKM<9\2| ۤ10nƼ7®YvZdB`ރO&H=)4w[3zס8|4A7O2״LÁIc Yl "zDL3(ZIDo鄊k/?>_f>[c~Iإʹ\bx_7;^,zs/xpDÁ&U6-@FC |⛌3B~*a79W`Zt0'MGR>΢s\[ɿ=URw Ϡ]q~.vҶh^ Tlq 7`'ńQ>)t;$If_hߓV-BWWIÆ a,uUxnp|HQځ vN‰ᩖq6OR'c!Gs2)+*gtYv,j@ |vM) 18x;ޛ;Gk> ANnplB]D`Y,kYa:gpܽ#$ē9O1YC`y @5+P bq:^[~&Ί"]F?js>}ʘ:!Wbԟ.'YO!ɴ,gPLjem qcov5hr> U8&SSPEa7"7P'zY0up:ۀ[}i75s޼ TDj .NCIByE?o)# I@Jĭ+K<|`P`upV6csX} y8PG {B/{nKp5a8wO#ͫ;yE@6 mN>-J [뚯8d" #-/FC닫\?`uT6ʎ}/bgɺ8-BqKeށe&GaL2!Qj~j⋅+'F=u&Gzx?Zw*&q*rd߫ UfGn9TƝ[87 DGW?+ۀӉ+MzL0e;3ه9)³gcŤ!* QGcQ( 8֭N41WhBJy7*pmOWF^xϥ?t1 _ƍg:"[W;mX<H`1?.H C&+5uwPե5?rDc:!ȡ(kkD'qH#Y't2aM+bFgo;KWՅrVW=krw)Nx[T0y7΅cE@KpJ%!fvJQHڍlIJ>O;z-OK!kck9:FI)1 GjH:.v $WCxk彫GߍLjzI)аsݶ]'K/B꺏HS`rǒReq J^ t56!Gùa#!a{́x#x~>@̓],dTS-˰]ɳ'34lI;<Sy6a (o!Ug|#jssX7-Nxr =@ cH1?_xmdTpA:@Xc)w)<#ٌٖw8@8 '|]rXg1u-L/؇WGQ0w&&`G:ذ,$?lt=X.Cap^\ȵhF>QɤH66xQ-QO1D,B:γze# yb \#CKC 乵I11ΣөдA2][SNj*\dd- t{ /;ft Cjj^ԟKl1Iy'sߕW@Zas(DS7o+NsoWh54I۞i}uSYVpEeR>VLLu@ #8 E|TT[zLJekkyIv ;ڔ?whՌ>@^/x+}hZ`1W"r-.c1P5&Yw& +bLlCrNB@hu7s kiGz'#R2K`%{yftGbn=: Xy ٓ /ၩZ,{\Z=YD7/>2]r w95c;HKUu"TQNB"vbL42Ϫ愧n lZ$bLśEN9&GLR,?{;0rҢ ]̻7Zx-*[UU!7:q6Q!" =>ZZZXF< #e;ş-IlJ _elg |>+ӊ$Ual !%+JUnOH[,Gqgƒ)~H:]9U0RTݖbCe.Dh 1[* wu͙c', ec/SD1R|=asb܌'eմ<}Kt,oGTVGHv6U`ӵ'cJ]eY#ŀBMK)؎DDlR:= NdZ_TYO֑od G `yL}qOd_2=ϝ/xrװ}k*R, _OOhy-~b8.}^p,Rc蹲(>-;cQA|ˍWoz 5Q҃1! pݐ%{P0(Z1TS)8㏤ss`启j'b8 ~{?ku]{s_|jLm軖bWa;WI}7E(t?Ͷ4 &?j`XY)LCRP߃;Q@3k,@揑ڎ"JOfa<[>}u/0ߴ?w f 3^+Avxǹ':A mJ$ޛ(rF$L*qN:57dJй',  1@HJ0oy?6iKr~1TŴ_U{y#z$IAdYnQ\Xc:%r tNS^HE37WcCP)WtJ% P$s(q[ q8<2ɋՕS@!3 H~{{[8eVOBq-!Ġ94ЏqP׫$"'\Ǡw(1 b/<ѳ)!:d9C{D;MJFpQc<5B}o VJJ48G V[TzIIETϊ}{= 9Œq%I:v JG,yyY]ɞCm@76Q۝y!I߆X?§%YNMgF-¢oHeL VCKgNFd;KJ^ـSbH PQH$a5i>ﲸhu2_-7S]^D("y92֘,+9N3v* m&h;dsڒ9K,IpqM4߀ъAPHjafq4ǰ]?Ok@Q9F8U,bk:J'UaQ@/Uz@jƁpV?bqJ AIj<:Q2.n"IXJ trh?8J;pucRGsT&? ˴+}ӏ.n:.́N&2YLp7 d hr4ͽby{UGMW!#sDѳݥmKt #wGxtWdaB* d/Ho';@Whڷ_wдLOklӀQ<Եٚ|(af̞j OmJt7/,7TgX93^K_l+\PVe\0jTydq>$={x觴QBL4'%iGI$hy8Nn)>`{rm$e!tZL o(juQ_ȓЕmNuTf'z?Su*zgr&!(i|}=oEqND9C9 ſ0,? %/jN58ƷYB? gLSnߝ̞u;l*@412EjuP)xf'M!mEӃZ44f 9c'#9UY?DGÖM,1aT\u ꨑ#0y{YRLN 8-"wmWx| YSf.Qg~ :r7K<Ŕ l1' /U9)[̺Bi*!eG5#di%JĆprLl*{5wZ:A:"}k0 LцEFU)&3F.nrwYvoEhg9b(2 sk{Vv:filjy8Y|?R=$]'~̑{(lo3‡έ+B %$ij0/-%rЉqqz**b>.6p`jk}AA$poZ0̣ /[̝4v՘ g,Ug \ʒ9s?Sf@`mVW #5/REea5 *g°F I1Ǵ{.{~nJeB/K'爒t+hpW)}"a܇Dnu6= *pb) U7 P3ԍX Jjշλ|$uv;Ʋ`0}hIK4G(3N)<1:MOܻCqˁja3&mL~di'9c7{JoFN!)cl@y]w٘yy7Ex]䆳T6I jG5ɵh"' $䯞 5޳H҈ךYʞn,pj6ŤHĥ(-?J(9穀ZZ؃z;esI&$k_B~dW}uqm ˞cA )(ȻTg9ASy^dvQ ,^|Bb ]`dep-E@7gԯݡKT 6[g<1%#=BDT7s[gG#ؗ,y-l@V9WgcbqJ51v J h:-Of/>B2;)7;dn%k` ^rFө{֎`﫟T6d';j^>6oߩD-h34iA&śA"[)ЌR`:Ͻ: $O=IE܉. 1f8̅9~@+(N'لτ^ӗȒIjES?A0Y4X%AK^'4YDR;flݓJbu+HlŮy{&=:7w\@ e^?M^[>\ԭ^8_ E];,rf"1EQ^6GyF 9=jY&dΎcؗ_E88ww깓@i~lS^ dG%5Kߊ0F #Y9X@l3LW8cd42{;+=Àoq&or8:X6ď_N\0՝1-Fu)o:`7nm5&P\T=)N|ǒQ~rD) ]wߛu<4@P.ND$wBj5"0 To 4rm٨&Ts4qƵٖ~dQ*Dj1ӈ@Em] ;tN"!.Y{Cؗ4bq>39TcBW 6s88+ {w<'[\ 9_*c !ϬokJ8αͮX1o3n?u/=?KwC{7ڸ}?,WVp^xV$˙^ңDy_ڐ&Cy-р|&1I3Ⱦ5qSFn6;:%իe;"e hQ;\.xrh;rBٕo;.C(KxMZ_@QzJ@-1IG4J-6y#،TQZ0ER\ZQ1hm;¾*4I8OMEL=9ee3}z]}hD<vAEcb_u$[$&l;({MI9@Fl˓|OKIL`[DJm8r УqU4 AOo|ިⓥ]H색dRμaN4A{~@\*5DV/Zi,`]V ?<ϕ=lAiI`=-+{Ҕz".D1$쌆:0ǎ1ˑ-&ʢ͚щ:3R4b#V NZ ui^0R]. "ŞC<݅J>&(2Fٜ:(Kᄹ/ l FԀW#i |ĉ49xyά ՑO*.UH~cA/fd7)9GjfG9~\^[р|HF.`nNڗ\_CK*kn@a6ƱR}k 3B6 ;iY[^-bکlsgzӠڼN4(vs[7Jt-7\k%DȦ !9 Z3J"aWy&W2x]EsDh:^"(~;^{{#L͙ L'fn<u茸^B lj|7cX,&Klȱ'Pe5vH )$(]-D$[w$GΠO7~(I|0979mL,Ŧ<)mW'o_qkEDI"F_ikRdDDSկJOxy;UUaU_Y}t76^%Lvּdiɗn;4#%_yVAo*.5`XѓxdUJ2ԃ!l 6ì \e<t%{:o'k&7E(צўOA2lmXlS+AO0@ײ'~~'ȶ!'fcA(XZP}pa޳PR}7s]6S(lj4?_ _3(Wjz\wm4'#sR$iFcgne_Pvryn&/oBc{4aiKO!3J5֔ txT\'2]1l<i(ag|M $Ҽo"86>P˧_2wW~ ~W"t0sOy=mW#xRB QĴ|\LiÁIxbwhoMOx[JsoT" 1!XB%_s&rk֋UkA4Wƺ%STˤzJ16_h C UTGDeFm!?(_/4ah\ǽDۑc$j6HQvlb$% X|}J#sjxlZcJ*J*a􊎥Y/l ɽ1~:[Gy(⽑zGYR,—eRdVq? \qZGOE˹/8-F3CBZWa1CYi^aG1E3fG}'&mHbTSu\EI!܎6{~pm^ey aӌ]YKNbO:Zng˃htFV *# {6sxxf9cs=些T3Z y\cZmLQ/zq32]9&'R*B/罔JB2&2H_@!,ԉ㼃<ڜhGN]۔b+V~\? R.?sY>]w%-Gڏ ۓ$1uqe.N g,1K S.%l,oI'̾C/^Nq]`3~Sj 蒼!D^iB RS6nQ;nAVa~{ jy-hUQPQٰѭs}na{H4![ܰDd7M8e-x@4QK̎ߣwr DJhv xz_S%!iH.ئO1oJ;K+D)SdrH L-{Xa̒XjS?tabb%o ZkQ>UV+LvRߚ9 Kn}q6[ C[-%{+U{-E,Ġ*{(p ]%(H([" u|V,~υG:V$tʐ6ʁPZDy>%+Z|HCDN$~?$EUG<\m04e-ǃK,Q`3DQ] wwzM}7`HUR3}|O"cKOtuշ@j/*$rXJ;+t6qˡ_|*nx*|1{XY9Qe8ȵyH^#DZBnޓPBT1-e &CK4F 1}d؇8̰Jdep߉ 9-Fx v\p0 rlgql -: Ra_{_حE`k-VE?DiS Z'љS76C#g\ 7|$H+[ j,#z ,fV#W4V-%g\;?=%[-/a6hIQcrt-3 lSo~T9pIH~EhH)gn_6j8Y%V{iU=3aO*6!]P;!Pj:5'19C3 V7DxOxn"EaJ#T+1m{\hH3sd9ҹYvq8 Ck?JߔBȣs\E6gW _f:h) /-߹r T![X1Ċd):Bu-Zl&Y}ʻث/yc} kHd.7yU?(=!E}ͺ44Du0"A:ZnmH3:Y}wK| :`|!}/aml~tZ:*p2x ܽVZ+=`ˆoׁr2T4قs׼")G^~{DF[#&`u_#NK5)-.hOǟ$>m7 1hP߿ =73UHew {Kʅ "NL5CE ω2 1a#3gxY!E'$O %牼Z\`Dxi9!ޡ ƠX"4C{ 0;1MF|֍=RüBL!֭Z #jy#(dBg`[jFy7ҵ'iF[~k<5F֌7 7 Aweuqقj<uK(LM ^̯bTK@$Me_?m|H)K"C([p8U=TzZvQ6bEgsc/~kxZL`KQײ 4i7sy]nrseXhLq;M8I"??%}쉯)h =}UYm8xF3g@&5EV5b?}t:{_1`?1 /42y@>{~D8W>yї.9\vD JP7ezvw~c~Ya"l@2rٻvA| bz?1+(s.<t4{@{Hq>9žrsex'6U^>Y ntH4  V|?y _?}LJHqL}X/Jʦܣ6Kz#$!Z+(?ȥ/Pq6VamQPdS6b̏4j틘\fx)J6Oڴe?`PE0msüb }*'/ K/_[&ɮFVN!-!qkzg> ._4շHl+h̚|þBrէqrpԛ1u:t@~#?K,  O+rc}I`N۸~1_S 'e\m|r3޹YFu֜Ut>69N6DiĒA( uy:SFcN=LE)$ EW^+̽ Co &( IbOH#ٴ粧vZ=@ZCһـ@Č!ft(/ZNCke0*rdĀ{D͕kBTI*+OY|+77!`CR!Zn-^Ed4)"؟fdK?s-C[ )9zkD]lˮQ+ ^Y;qDm^5cU8}`g$ag^sӊܾ8Ly\`YLvꨒ$r $4J3֧t,3AعI0] $9e(3 +1sa39R=UX7JPhŵJCdN; )aI*gŏ'WoXN*_(jo\}Α DV&%әc*>AOAm|5tGE%q˙ūZ?S5{&lT:>,G)!Ň>t0n/r05{Uدuz31f_8+v^(Pqbv5QoLL4V[- :Z%NŴ׳!ܶmWD! 1qєs–ho" 9g@-S=RW"_ ʱMQ˱8jB)PcX r Y, '*bK<;3Z;&I̞ X)y$(t8dZVbqڗcswG`[;Zj &lgKeޞ@NR!QV$IqnJ:uH@ &cHiFhLe (HHiֳ5ͻE3o Os䢃K 9VS &nsk.ߜ3;yXyh_vsGr/X@jf2~&wSE.٠;n aoO<8*uS\a3)yc-# 4\ c[NpK>qD{]j4%Cd. e,ga_Ti3~R70L;-e];@_<*Ϫ5|uԦz-h5NWW%%(}Piaq+lMTÜdD"x |`8ՠ3nƣ->U:\kQ%,uB2wOvդ!).0M~@OW-VrxıBz'$8%TҬKѵp26USA\80 ^眝Uk=B43d{6f"i~4Yquh ^H5l3cH}GV6鮄zCˬЛSK*rCA=ӼQPƆatڊ-z> XsK0: s7gAG0eF3Z(SE0ȧWZh't+z(hx=FY,sGQWbe~!1KDKk1~Q4nʀ\wY Fp"w|m:;2;)^}BXȦU_(wQQ7ϕK^ºC-WʦCL*4|BB!Y*J Bog0Iown `:e2G|y9&58FbXV\܄+Fy0UF9ÃQoݜ# i!G6\]~\O\.T>*+Ɔ|D$^l0%M@`_-Zrꝷ=֢dI`PVt;iPz>p)!L~wUWQz)bHeot6:zQ,hkFee V%|f6Yj%=wnj^Ơ+bDS^ '( n} ÕquZ_io|)(}O9VHJZeq'30_A S(D" rKZ|]g}݉ &@:R@NT:UOQ:t֐J~1@8O}eʪ2ayʵ|>nN*xEbO^&KR@~ktCْ˨dm!$h5toSkh(|K8gII ޾#$b?1B|4%)ՄnMi8D; 3셉0~`®rSRxzBDk!Ɍmc$CjQ0-;{䅵+ACwT%s@_[?nm}}C"ߘK\'`zm1_ v}= Ƒ[~WNlZ;=  Ev~z1*Y;EQ&tVٷhR߈):'TВ^'g;\~t(,{#z6TxARdI>X z|55عDG1H~^5O\uq>!5o).r`[ɺUHםgff*i6wjˬXZ.ȼ5?6-(i1["c(h^eۅe'fD5b2MOftK~Mi=RE2]%u'V}}x]F~jg6z:ɗ\m)$si݂6 DauuõpWT~ߋ♮Z?i_;4A{ $m ѽ 'Ki>B 9DHǟ^կ|Kv9$sdg% Dr2C0f{?_Sc}]Q1ڑղWv Q$%qe;R6Fxp uzd}u"pj>ODy͏bqhHnUc[YH 'sνs,4Pe7TEg.{55mlb)yς(GYF> v}+"f(KH}*)m52vp8-\=As`vgHIJGlѐYSemņ_0o^YDU'|em_)Zo$X5 -( "i|[jq'}<̀|!RQrS EB W_i2Zq d2jlAјެOTvAE恌]L8w]+rt1MjY>"dlP;TG2.~/} i}VE5^s* (p~'cU`^\_英ٕ" =(| 'L%fD?}i6llLWW'2(rs~DEí 9ϔZF\.Oׁf u|V\H+XBkHc5`WʩBNJHT8UE΂GEIxmZ('֍WA<6\~C{9MJ]=`*&M 0M!&o(x#Sd㙚 >逪}2P#y7쾘Bn3sJ+w,2)CFJ3"Mz?Ɩƾii8R㚃+ᛨj{I3.N5Ӽ84"M$j%3kqF_xє' r1DA%6 t桶l>:madrܾ,z`}yYfz'c|elFe ccݡ奺.K=h51̾U9wGPM󂧗&v`F:_w"QF*gW)e!Ձh†uVyk( Y-xNcb"ꬣp^_\qCT|t鏙*@=zmٌX Wr*OTlf,fu +5kX1ӃDK>aT &C:w={U $Zknޜ Ux%(g7'N χ%;zv}E"Y#Lxy^-}vּ[sZ/p1,E53k1ibuXANv]-ު3A{M DtFKUe3f8?or-"ZLKC͏y؝, dH^jG{C$ݪX'`RQ4 Xra4z/"`ۮ*R~JM.GmQ skTdsaG.|rX_Ay+{^UaI #Tb҅wɇ@`)5I>oIQ{"Q!1|]CZKh,q? f>ؿL6J$QIKQuy m? _q}3el¬ &|aJ3R?zNqrOJ:;7#0[J,@<k} ]W^ܪW >&J組 a1v;c>Dū 4i]&*9ׇ@U( 0iD<35mZd _PfW5D4|” 2CW?ooЎvu 5zAI9G!@ݻdHPNKm,Xԩ/ {ll "i2a l+*xCer̸bZ.-[Xm?o5{u-J,\s$MSoȗd>X:,c Aĸ|~s#ԀQ*ؘX(⩆S1D>EnY-Tī rc;{\>ŕi?1 0Zj%R}[#\[#8LFqPħ"b?}@.[^!ATz '9>Ry$[_ߺ']@ovg p. J`AIMuG?V2B{1CR0}(sfؿ ӫ< 說_ꇒr=Of]nQҞ]`)8!7pڋ&~y;apF^fRncrf@LRvP+T&^5:4ӵ\RZ:P0q=iZA`$tk~/tDj-X3VD?ӋPfHumVGC=Ѯ눤ИdeXߊزft&v"*+[RZ0$:=/a$6]"YZŤ!xW2?m%.M Rmbj%b㋢<+%6 ]/}SpUWuխ\5g8=Hƪ]r *5=}^QE }FQ1*MMQaHc<඲[C#5(L|hq7o"KQzFV{O$k 7qNo#\Fuף)m׆ε!+mhe|ח,",Sp.13T.oLOD`&ׇw?.b0mbޅH)\'h5A#NgB~5& ^w!}8DY غ(ƪEQ X /.9Fu*m{s1ʘ N"H/d#kX 6Wb*>mESjV|iEB/QXT)uu۶-] QUxaƂlK[Ӭᆻ X+l_V*SD~B'}a N7,+?vԷ!7 v9m`+Ir5ro/Qnl2ϦA# vzbjmT)|O_NN{$oxd7~@mYd%YK*59nka B8 HsLs+LTm ޴{eMsu5V6ZSӬ" UYf6̇_,QݚR㒼%5&]+Tnð]RɛdXx0'^1,5HL.(Ū\v1[ ݞFEOfOv"IܓŨ~ j-B(=N>J@6r:s9-CcS\Z$@G5&Ա?[txkfIJt2.K,KTiι"]w-qziOxS(ύn.JS)]84n~ Am VUSRu+L{~ɊC<~<C]c7MqK4$=f@IK`]8W֧GEhdX!5z?SI:n/r ˙_fopaeXY+kt:5bS~!ƩDլD; Xfv޳ @M$" LY]Gï>3YmrP`w643o qZ+#;kN$?y ^?JxͯXVzom{FpC&Q0A,| &N 4]V#q(|J6(M+WA\ ht*U"T{|-Ac6ncEO){9r7?09N`fJiT@|F`q^j"V֗2-)8I; /w"$Uu^DbSYg,ܪx}luhbJp%묵lauƱ0 %5z) V- t[KBI %ߍi|;mIAmvgRr|V/  {vv-eHs!/L_}5u3}@ښF~f*U_ TKձv xmMx*^8 o=Ma yn֘+1m%X#%]78zy@JT~fpuQhir0'X웪±TT{|3TOH6w _mO2󡖠"#$VvI/& tT2ƾ]J VFjݨthg793'SQ')ԍH NkO"ms`Y Oqs¼TSw/;O#+uKhge gJHO0ʠiW}Ւ HWfn2;EN&RS_‘XoO-mXȑV㕃% U 6sl7N8ԙQZ4J/1U_ia'YpTo$8~sD$ ZۓY~-N\ Z?'];zz~ 4ܪG&Lj@l1#՗uC.U(7{--@Ϝ H֡Z<6qޤIkƓDUl}uqL'dI&:^46Nj 9_y^^ rKa7HbMHnXt$ʫ<>Js834Hg%EP1x^4)yx Sjz]W Da V_e\*tMPeOk"S  I?@Īwaۓ8l$®idǯ/MSc)MO̒x:=xn{X|؋_TlgRaWj1^0:bH׮YY'3v[qJSLd7: ܗ"m:.(Y]&Ζ) 2<kZW1 x 2ǽ#.ajt/`;x]r y sFxB@{xT6QH@qqaPǩGm,Vn:o՚5)+Sz^rL"J{u7 ݷ(y0Kgm`b "U:1DPt ^z*ء<∄y *Ab;c=j'eNƥ}7nj|` İA$ q;#GֱeJŹ$:#ov]hw#ROU/-XL)3Kȟ"٬jIc!cs4@?wR\j5D'u$Ǝ!OYX~OGQZ{:seNyc)lLǣ5"4]#vBBxSС Ro-[Y`a\R̜lZ'?H'P_lN EUa@l1+-E RA;ᮙW颍xNN7Sm۟;$)hJYxn/ `j95ob}yUtᔚv.L[JȞ;\p1/@x a:vj pw%$~/}R k'Ái|L<9R~!w"`3ԗ7FN2he\ϝcBQWj^T He=B HscR~1&EMd!87`ƾՕnqU,İz!]:`Rd1YwM8$k}  mAyw~̛fChzPzXm%SB庶d\!^ڝ 4%FLx6EwLCR* Z] 7ԃx:x Fj4$RLZlHIYv=%w,Fy)s-BH%|`T'UT 6*d 'ΡgyY;]cxpa(*:qE^t*;gS|UeڇA_QQl^c^w(s`F!iŅwwOP#CJ?ʙߟ7іRTdjmOA)WiaakkZBoĴ~'_9p|2P^”+qB JeǚLI􅷬K _xOU3! (sa̤X{{SZ hqWW%.`#Ky桇DpiLUOq/c4̳){QBO *\m۠Uv9۲UBX5ɮ1;.4(hs"؝>\Goߦ5c6jk^!@<oYI_TӦK`DE `?AlƗQVeG^U4h~-ST zYǹXEoRFaa1Lȗ* VYόcn$=q[kTfz+a 5X` f@&>g\v3PUj5d^S\k]%.5r6ML9>Y2x ^̐L/ܩ(k/>e a-`HEb͔^e+Vbh vSY階\BrJ(.u9Xp]XF,!r*V&dstAp6002k "%?2ք [ Vd`Ef`uiK9-FʌaS4%uF҉D⒅&0f\uy+,{e_} ^Q=T{ @JFoCXJTClLTL r>jQt{l/9n*migm5GGxybYF\f|c ۫*?0v։.O tۜz~p/u4CC Y$|=e;A^')f h$B|L74/iiOɁsH+4E7BE1W{V^2I0y:u׶'9OK4niiC(E $+`hKKPz=%GxG W3gK1]n8K|m09g焦a-31C)HoKVc_"\~7(Dӫ 6>/9ٓ,;v6sŠ~Bx-$_ ``q%}gw]3@CX`JI!엺Q^(#c1SޒBP\xdaJ5| T>Ebo(I9ޠ˴EZ-T[W]^R& r'?XxidQR~ p0BAW'ʐE^r0\:gebǁ4K(ZB*cQvyrr҃#tmE:?p/>3i44e ,"M,`ѭ ѰLt~N*NnRHgx&n`e}" qhY\C#oWԌќMDvŕw3岅Ro{@X#d@NK̺89 RTbį[B鍃Xm^9R@]#(* P>H kMc`AKp)Fv$%TCJUkc4ʒ=/=/\?0$e0 08g+)\e:_ClT Yz'61Ő n>e ,T ٫ݷ13Lz#eGQMi8UR!Nrh^P6 oACv3J-U]{T%=)^n\OAm¬t甊t:]P.0)c8i 3y-q9H/1 Y#Uܭ/.~$֘,ܙҘuȤ^~ovr̳ W? _#eu[zYR9BmU،2́,8R1íq+}nM~p( m4:tm-['4̒c/@͝[b=9j5̓,Bo8Rv#s~]bN8 T=y$A2 :e>MgzQ" ϱߙf喝י ͽ{(8-$P@<-B~ *bv)3 @T 7_aMikB{~ErbRq9Q#\ הּ*O@R€#[5WW"<_,~dd`N}ivwBrd4 !ߑEƯgU;;> `Q;&ߗ9L)x@*s3|t?O[mpr d Yo. `Pٔm{L3Ыdl+\} #) '=-]${5i爴Rp"(X7KbkjMlsp]23*&w.XŒ=a腵)Ep8P]|:}clA 0\_ʟ-C/,I9Ad_O*r-+)IjB*wd:W10KHұgAwݺ-IC>p-*1S :K%vKmG~o@xnNWtTTjYE;4yLJ3 p6|F60^lR.c> N2_xM,y6kvn V^!r@&W'swђq-ȖMA$4q^0%Dh]>s[M5d8ddQ_/OұMedZ2zoGx"Q̨y5-NcǦM@~xǡC$V-x9SiȓL|-sGeuMV5q;uS[g@1ͼY׹\w8p1DZG\bvWR:O L4>@! jÜgV'\,)O&i9lv\Z‚ pȡ|y߀>-B`.2rQoA]0S **(g[b0R$=FɎ*N0E7b6Jk}F~;~}xVE}Z015/Fr>dLD(c (c\ZvG5#zv"7a|'&4l?i]O Rچ}N7!|*:P|> q@x i~do8O0]ƜR/K"5W ۯǧ90_j( ؟HQR\!O:씖.n-C{$˔GwJmȥ"W'ZH>Aɱfb9 ~Ac]dkͅ/qo K_E:FJT:iIn~ B>L*~`Y[Uڝ"2JŎGA7u}_%3(A{9Yg㨒 x@X|'iwϯ`8 '24"ISﶥBaL ?eߍ;U:oNd27vOq`誧jv%ms0ӧ*;1δY:unHЎWo9Sx 0裰 ' <5 0{wEBGkЏ;u)󐀑@;~=9͡s&AB(ڰfgqߤ3Ӯjo$Nnӯs*⽂npYK dL.FwGdD PRȐtɝ Hns|'z`xlbn!9s5qR rQ j[⊀&#$JKOj5dCB(3eюՉLת7!_I*C~ 5_rLb \/? oO v6ZVB9ğOQp6*ۛr}50>@5UZ|HJǹa l'KL⅃X#9t%ujˤ[ÈNns@s8_,#!Uăq0uD #' Sۜ hv&{M<>J,o4˘$XZKN8i9C$='L8uILPԴG89 "coZ+_/.zIBgzد,5Q*x}":|u7kp]8H΁C(R7S'KRݙ=ᘴote/G.#SP9/ORsK'RP^:1툛E/>$#{YS;!9``E_i .LABL ehNgyLC/㭝K"MwE,}B)T&S٨`38ޔ輧Zst(J NC5A-3P U'B㇪T q71fKZ/.ita`BSGԈ(WZ+j܋fԓ*7rZƨѢhLlT 1L TzdwEmcaΞ VGveM54w7wP˓5@lD`ʧ&(JsupUk1 /V3uǧ ߶4h RI=s}}Nty MbTpj:gJqL@Pb)Vxr6r;)5|:;,;>I4([9tXKc182zOQOȘ ?!4fPS8nel..iW<S)Hj}փy6>FX(sFeX|r3By[G= h}q= :/3 ˜Pok| PjĄ"QRT$X* Rǵ3Ee%d8F蕪pI)P]Oouǘq@a`#AmڥGjF`"w' 3irS " ˥aƪjsraCd!DM( i9;YojTdoM+6K x,fr]ٖa%SSICa|0^fhz]Az^ ;)9" @wPAQ؃nI0˼LS4nQ GY.VeInM89>lD~n69VP?:*M*ƅ{F8e;XSvE(B?n~6*==Zw01#y-W`b%"t4<ϋaUkdjE~7q Vr}}A حkIEU4A^0+7)ʥE S{ e'M L|LрJ6Oʐ@i@2־(^[gP^S㭤;vitV3cXk7JzO譍a߆..c6,TATUa ",r lPœބ5$9Y7;Z*mS>X~t|Y8c|.8Eaq3op90߯|Tz0/6W>(' )uEOhx[;}9[&(+;Ptw7'8 -z}40ⷸJTY2G2ma&4N ĶE-$FݬYkt^t*׬@njI(ZM+rd<{F9Kz/fhD)wv%GxbBNDXX#h7.a hɟKھ\DC Be[㭙`XVX'#!$53kHPHB{z:hD]( Sn1A-!n;TDUzةI7F#o 7r:pk 2:iڗ9}[wd*-u/|U~oq: <:P$}^ $zyF_5R;Jd]PR"8d2|5c(Tg.4հz~Z ~ pZOq:zԙXI>M70ZyAQI[' -o 4\[,ڶՖYTT1 [/V`HM?-my) ?>IK83K 3M''nI8޲:SߍtBɢG ]ǠGXK/-8ƭIثCp7UhB̠}3U">4Ɍܾ=] 41%l/RHA~Xc*.׮ڲ֖Mo]{gKV Jl&맋D^Ea6,:Dsy$!n2r7֝9Ln.,/[~)l2 G]f''-%C?B!& MGvV j_\/QOljTN1h6E˒uO924 %҃Ao+Px.As5<bISN {dǨ5i䡈̵`ŎIl]= pN}~^6- ک/ДJjZV=C -Bs78b75C0cܲq*^jǰMӋ~޶ٲ`%! :6N-Ϝ?Po7ۮ"i L>sISW1V߸7d|wbH^5ca*0qQV.ۍ{ĭ:8t re\35Gt{Kꢲ̀a|!<<<4]cJGWqEVt2N=V#EH|x~I0 ib'x [L*Pd)J\_Hč+Fs*R +nXB>Ȗ 7mFMs]={vq_1$1>XFtLv }.3-,|He]r"a5'jR2}.jy-rq0.B=yrD2&tW\%Lp%FPig:Nй YQvmM]y$9㓾.IxZIUӥLJFVU'dukHUjVF(r(p#ip>Ug [ݽ29x|Cd0Fu|:?߸'검Hj+>WP4/o=N=׍,f+PUv77Z9: TpkJD1_|4 RxO.VPE+=FC1ҼOJ)8Bl :X߷REcf^KAMj7w8T0 |tMң(Ja~hyHHfr^\/|}X'G1 ヱ[pZ!o1#̕sYOu#/pO>1{V: M ָbg򸁦u._h9FYiHlSM { ^t;w9PH{.^n%VQLp"BiP:i-:[˾V!;ª{`.% {} kqg-1\"S\ͬe*e ;!HQfɲktP7R*[*} a/Pr<:CV&W1 )Q>Q&PȟTːXx ba=+a_ h%IϿF?|>R@'e- ݏ>%͒B=p ҭ'~#_Ή9n%x,LLDy'4-ϡs7ȟPKw:=5E*9|KFYjjF4j>gG)dJ蜇iq LvmN\6dun,<|3ޟ􌈮m y/9L{!軸XKVMw0 :ד9ãߗ)">'PzJ.61賌1 t'QϽ'?-q1mgv /T_H4. 6aJCZ}≯!j! u~̶‘xZmz޶5;|Ab UL7-{͉89r21wTTnCV*OvwC VqIux0b.4hғb(/cw`TX$n?$)@ {a9 +FW 4IHPV4=q1]on ք%Ԟʮzģ[(Js=*cV5ɿ@UJSws2@y;K$!8AnN ~ReO&Og^ebnၕb_Ax<2-?]`iF^4&Habǵ˓-ϝ=tXfu;!Kq!d|Kg8/SA >h5T-܌8 o/Zqĸ6%Z4M_$Ec$v&+?X_\=/eh vuOI"v!ڟ{ZYyQqJJ=C^x q1}ҠF"Հ wV0ŕd:Ѩ5b*#dbv<)iХye̪DMvuJlWՔ eYɖ?(ɐi:RpZvr 㺁쎕B0t*_Q"~3ԻSn{7}&I4^A[?w 7C~Y+2oe@S,N=OE;"]iTY?WW z 5r @Oo5HWӀM$ʅP󋈂an#tg9x| 0s^pu,ZmFDexҹ/e2=z>趇9~dݒ ٱ]ܱ1 I' UTOfofUj"{6r)zg[FEWz M.p0Rߒ,AK+Qaq'ɔ%P+l7ʻ8Fï$ȁ[gI7p$}JTgp(exatƎW6㦪cEءk}͵3UEy Cӻt݇&2G.-a/;6[IAE4 F^-dp82 ogBj>?-{r0Pc (cuˉ fvpFAc"i|-b1>C bttc1JYO=wh~߻Agyy-N^)#m*`ϙGIj<&x͋05sĻ_2I }T)yn3[`u #.ԘS{[Jcջr4g_*Lr܇`9dc~] ({y&],MO| )JC<[;~P5kWe-ns®YuTyKIC 沃y&uNǴnK݁ B/ȢƣEa+U;&ӉMRS-v\g%i'_wO?BdT}zMfWaɝr$|z= S2ZRAȥv14bSa5g(dRke.ٔ3y#{yDˑoijDB2**(Su5 Fٍ? \ĵ7nwTl >B hб'EetZNSyD ڧ?鮁F1vL)#[[T-cl%޵H.yA 6vEܤ&n.%>d2Z F9D/2k`%*؅塣iL،j2Ho /zlahgУ0m? 8=v#f-YM=&JR\~"O&w >`HRR%0.u Am6xz\=[ze '-غ:x:@BlΧvZjn`d%X/Ƹteϸ/Q@(U}nKli~၇}c4gU^-H[%{;)*\n+Z߆[P€Y—bH+4 Cy'zT?ژs1gSW}d_0r(c,#B13>s8f3>a&8MERZ[-z= 6w7ъ:]@;#/a9&: Q^c `՞  )K(l϶H]r3qj$r#Q+'3{B Nzi" ŞIeh-M˷g~! =6 _"DQl?@J(ۭp vx|T27whϼUXb2@ lP| O{Z'7CBUOL ϫzWE=p]Sh2o,OZHgme!Pf:=4g %^8syTX$3-?er"RȆcSv];%pBAQRp0|f5m6!8,8ʩV5|@i'1 ?{rqNfeAe!W*n=Zk ҶS,/kE%˛rZw `=<S 1S7 ɛl >DX;+U߮^W}B:BcGԘZ=\@>xle{?/smrSmF4+ܯYkmvzj&7O['t4a볃ȄVNC<YF 'pxD1)4G/*fT\#'E)` eQzU֗CMnʹq "%jOtϮ^ e4 i <WЌ1WR;cۼ"w`y3=^ icq{pX-7[ṇXTV E4`bL4v+%δ} $mېE7 |(jy[0 yEiW521ALf^)NFLb|z [,Lf lad: F' +Ѝv'8'Rؾ oVǽAz7 W`H=$ypW.@J&c[1Mޥ:?IdiKyИ &"LKsSz X5#?~AEX4+m먬gP6j('6!-Dgxpš.~Bù #mɐMM>R_rfR/:3C0pv7L\AXKI5@pDf=gz<=. +8^(im߰LsIC٫y`/D_;; r4|!>68eJk Ĉt(=k"|61Z,iI z2wS!wD\fHʯwKZ۽0>ݓH;F3ĉ%vaՔDeMCZ}P[1&Ѫ+ g4K,qk Zf_nI`q)N#Ѳyp2HϘ~r-zk]OIȤgE'tstcttSjÿAx ?F93[M'\_9PŬU}Q(O_%g:xϘbMqh`v} //xR!1xqܥoJQ\J{~4O#An?l"zϏ+ 6`̃cq(s 9Zn p_pNᢥKY!eA׬O=HsĎVˌ9/Î1`0~n54[}%Jik=MJV1TQSocX ߾^NlSiVnpT΄}BV^RK_|(m</#H!ux(2|(uw7'+h),FnzܹNД10S`AesrnD zN՘9@\)hUQ~ki;$HEE>.Յ2<B^ADt縑gá*oŧ=4CO1m|Lh6k%'l9U>;*{ucXa7<'KEٽfcIQbvG=4(Z9x:~'^4/䓉sp_9 "3SYmc Ÿ.,N<ѫ6KH_&o1xJjOnU9>ɳoʦ*%IIY57;9̰2<]H*pXЈT01{rB +m)W.8da/&=J;&*ޖKuuHZPښ,ƫ>vM< ׽5Uf_`X7hLm[0dX#d=$rKC 7OJzhVM/|S~=KS7,yYzf%Xuuޏ) ?1]c::_M'&ů \w&LNr~@8M!zyEd8aܰμ`?.C4i9BmgSފ{K~җKZVutQHMF6<ŗyxGVGo0]$CUU1Z'r,ʧ-k$z@ PL#=Z ״4YQZJכ7UC^o` C̢Z`BJv _©,( lϻ[#2֭CrXR#,ցHo;}bYЪrhy&ׁ㽉Yz#-,xr0T{N3!U<|FZ k~QOp"1ToPyϘ[Zj.{:eBĘ'8 HVQiHU:P}d[ݞ-砭[]x<ҧs ^LZ.)>zڻk΍:\*˕L2pEiQǣ-pڶ*k2$?Lχ3R]uN?9XIF4YrHbs#Ie~r\t+lJ5@ J]E-f߈lNr%bB_,`GQu.у@V1 aFP \^pg{ b 0V@N=o1Bv'ʷ'yH?tHU5t1Vᣂ)WqfC_*UKB%V=d cKV11{Be25ޛY&]1 h`SBCXmSx.|ԋhaOy./s:#nOױ U%b4DӤq:]x͊H2M;̅קaYVpJqM:zђXxw '!zrC$LIkr`GnUN%#>1#>s:bΣazⅸ~"<̛LsXpv@7GLUr0_4fT1\*v~cf 1C;K}' "7h⇤$C8OO1^`/JE7| )$٭&e;X2PxzYB[LmuكkYudF E_`3dSݰ$VVҞ.c.)8,_W2 ` R.θ C %A@D#>2caB<  q=}A ?}́G~H#*d ʛM¨*WO5а`\.0"{m?ug2D Ʌ<+$)1.F^дZۊ9?ܓZ-l:m<@J5qd˄N#S0O`ctTd@c7t!y.e->ZĽ~*-N"sP)˜!'.BY} +G{W)=bnBO{yp-rvg\w{B~1JHpBeh,Pw/Am%>xxB$f/eH8bY,YC`fVxA|ә3-Zԧ1×HTWaTϔl: {Xڝ,^^wYWWA[wm4%ڥ%PXIAX4XXBGz/Ԓ jϑTHMRq5:@'^"׹ɇí?t-'q*.})ZNhҸƇLwaGL[ %+x%IɃ%9O57@Az/(vRLCTƒ~9٨#s~/񱯇m %>">=W$Ӈ"{PʥOʻ}As}t'ֶMPru|o=& jP1g7-LK>RݩswS?1O"=6{g@S0|FѺ85G5S87JXRrQԑ[h'zOw,-ھ f Ϩr|Ru//1t=FHҹ${TnꇥvTI%;{Y, ~' n'SR'=fMoxׄeO@\M3E8J.!DZՏXqhQ#ʎ^ 宲SXt '1ԽQʷcTdlK6hXI]/ ]Dת#QvMn9{*J/ Mʿm;먐[L8j+{p{ ΑwYF7_pOr%E/:*8b)rSBZ28(N9CZ&ç9vҋq%j!}I=zut9HIimN2 ^SWF:] 0SHW=vlCQՠ73֊U}TF'r[%zWqa29ܛ!솼E0''،ZtÑ5ް@#a 'cq㹌ڠ!rnp)k8Ю~LGIXQN[{bI`$X7ϴ#x(ov p_YQXkĸ*1W|9dr.nO_LR|xS/O &\o\9$I0u$A,vR_ gЬNi?ܐ>sy'M*DJƎM:gr·>dܐxTq̙\L[ 8&Q|]CBP`1W>A,>M2-zYpvhZRSI3Z=S@Y${YHߐ:(o<~>32rwx'VC6LE g?=k *)5~MW%>-/|' DC/qAZh@_8U&r(:-BԟCͮǨc!W}Y06m;Zu)CBlQyѯڑ:=*-wB ϐm$i)-bݑx<3ݨSSv!!.n:=5TU[t9Q6I랔Sdr@ ?ygk6[\*G@ M`[0<"ýNrV5XN{>P'%҆nͰ'cƖgy7qWզ 1z0돿w$6N>jLZ ԖhOPMbwY@ISy0pUtQ~m| ~OmZ}}_kPphJ?( ZnAcJWA|¸rxX6Pѩ~92 :f}o r)_|,BX rW@ ?ܺC>f؟dc 6 tlѕt@U&;uH6$l7är(Iؒɂ'#qD͢{B'[|B ċ qӇH:nx@ٰh=ȿJ;ȪL 5r&S-hWpZFb:)dES1ʅA"yInq0}'iPc".Z /lv(GepoHQtXeXN/}Y.H- dFiS SYxBmlxs fwɲ{M@<:س^tGD4lm#?{ |dOuNiM%F UF>~Vs>ayWi׍z>5}=rі [uy)|Febi-+ P EXC!,'x6rk85,$n L\QA6[%+dMJ3EG)8oPFf\>g@kl'( V+> 4ȩ1AdfF |PZ:I 1GUN'x>Z, ~_:ޞixiZ5 x4 b`!xp jE1(3p]en&^cE"Mr=Vbf+cg|lj_fƵ6S&mLTGG\58X*u蓡ӣZ.DO &ʵ¹Sad2`r&`{I8TE2Ԗ ryٹR2:l!x [6KNf.m c/3^+ϧm/0Fz$#9ЈPqz nBm;(*v(YN&Y@Byxl}^en7q`^CIj8Igq.L<gbo9eÚ[|1g (䇴8ZfOe?T%X#ųbaM8qs2Mͯw3$%/lbO"}xfkC?9@]lb"K"F`JI_&๳]y.L?u~\ّ3cgSohf<8 @< Tw;ZbpfE&gN<o{YJK[Ŧd pTiH)~f]qUb:4FTԘ+񟁀c'SB.!c"{sO[mCErJcRP8 J~QޓOo֬@ǻ ~#'u fq|~``ikuCmF̻n.B3.BrDy2 a47z9&v!>jpN#}#˗B xЫ2_HllcP=m*^ӏE8OA'@U7v/ hcəJJցO"$L/!UM; u'EK{4G֍Zv:3.6:aWj߯"$ 9 {/%pR`Dd*}`*SEBε t"C8E\msE{Qh+`n'Q pH*nȱx69;?S_d#ZKA޷ЌL$0-KW)˃}P-$L:r"dW0a̧E(eP^`OG yQEҁg\!RJ`7OF e3l/ TF۞Ɓɴ Em̟J0Cmj0l3/zyxأ{Xs(]7\*#O4=ְD1hTqG3Mʁ#QVL]>6FfLư?<4xEQH1 4xl$W7i8A/X=69p@E"SsEJoNC06@Ȕ=+Wxap^Jg؉ p2 IbGc7(AxS%͐㱯jْ`03t֛D 'D݇".@gT O;>[t+'`dLi :Ibe捺:ś@'SS\-;Hg@DɯMk;D(iZX ɔFD9oE<=Ni Ϩ8J{tѲ+ݪ?ӑcPWer~Bij5>&B_ql7d(9D$m P7 K;ETk-ӚFiG9mGpA}ϕ-i/c= ˑTY'rYpW{|gI9=]}Fzgʝrb\nQİ,ƞTf`^Z c䜁o,@턘B # z!=LBwwc|\ͪ9r Ũ+^/'7"PBak<KѫNʵv4iHX&SyA6Y3NQ]ͮ;ZBQ-u'QـlQ0gfsXj7q(e!@WÒ {.JӞFL1Ў;Xf?QDp&!ˬ;uۊ+s*0'J$rԜM?0DRiNvwO,!niAY)!Z-Xt)@C-Z.6)Mm7Gp!  Jѿ3@Ŏ^t%*nڈN1eҷaBǃKޱ>$CAMh'nU]0o@{ =q?w93vY{)4eMted-ga @$D0) saQiHNFGN6 e7 j/hRЩf8hwpY¤餂K6 ~;'K(vQs 2~@Z.6")D"xG[woZrKb- yM:假N?mlK8\63h8+I&ڣ?.%91YV8UwJN lh.li=&8'=IBf5$s Ee+g`ZIDcJЯKbQƂRmeyqۚT6-)0eF@[>f3T#Bik, v&.74.}Br @3"'=&KڳR<\9Zl@R1ΘD+yS;!(/g51x=o(!O$m4Φo3NÐ)?6C=L$=i#mQwBHpXVMI5 ī ",FVmI:<=3zxN ܛRKriBQy)w{3,sdEt 7POzzf:)|wHmOW$ Dbڌ²Z`aipNg4ԳK8 ᒠ\a"f=$ [5%Hp 0Zkzw$%4:09 [Иc/Z-ˍfі1錨Tw@`iZ(_˂ADF\M^ʖ+.).^#`Mq.R"cS49Ȱ?GӪzYn [f8YŰ#>(騈 Bdk۾"^SPҥP7း|:Cƃt?4oʹ/Hbe$W5`ޘ[DZ I9掌fTNj#ʖmX XtbqX20EqPdG \_0*ϴ+7Ak完*&{.^/B/5+Q߸ /)xbF կR ѱ ?k׸Cq=x/R/xt S'@Vo~\֐ĿTT Rma`((F-.څuD<;с\!aE$Y|-c;ܩu(jTQRnOGD[DJDT'lRW` SU OQJ";W;3夜7Q>GJoa,WPŠ (l5myb?-KU'x^*J?DID -pH)Zptzozu#w&V|)C0GD5@o{*֦!c9^~&^ $2A_nūg//.1p(z:05 ITэqB H%'7Fi`q3`5X?n'gh"y耀{4af@bRoN]i+~˽rdH)45AޅR h#f$#d0)\I Żb(TO8%sڊp>ex,CD, rXW7LO:bdPUL,}ـW@'Vhȭ0ĒGze^>|cߴijP8`aG`)?!aE/wvHe95=y02&pY+|xqqF2P66'(B6/a&AofïQrd+\)Y&Kƥd7pK?c),RpQZaXF5߿#THȴ*xEKXa{뽺y(%@OPϞO sB|],ջ:rlw#{`i:-PB[n* j՗ă~ir†AnZr" 8)ƖD[@}HmܰrfHTV((MgR*Лj0. h%*YdrG&~1}85Yԑ gY~˩yɮB \"&1Q0HTQib$ VeLM7g'Ȃ*K}jǃ_ޖ9'qM .N.h^ORȦkn*%=%K7 !,kT/sZ ILb(\wy%lX\jtv^s\8[ٵͿIw PDf8]f:6AR+FY%  ?#%6V@Zf^ki91 ؀AiĵKB-K`TC cn+q`ڐA0>Й>sYT4vТe?aC-]]3E3k@D $<Ү8VgzFO;7,-OY[,ǔ NXnx=yBæ lA$BUܐ7J6GXHh϶f(]_⃂ Q1]+}MN0 Qҙ)h<j?'McL:\fydz8H`I(_vp:'I(Ifbmu0nC9d4H_9娢 r\G텮YEٮ$8^OFaAު;X8Tsw K RyؚU)?J<\vL+Du=-/ `H"evB<n'_98&Zв}Aj2itS)Gr݂%!+nbEMpygxUx;f mH3'YMuO,$hVV)q'f+r̥D~>c.%ye fJQchޅ7Ȝϼ@jz3H<ΐ*8c8# Y/M󳉋&(&t׫ұP/0mB$]d;q'i a[f.f␂U *H¶m+АRh37DᏩ9MS>7W4e<J&@<Wq~LsR8 Ϻ+"2gI[643 ]@ɜLpDR%gYwXl"7_[1Dn])3N6Or$G>&֊e95skӼRk]26Ibi(7(1]SIv5zZW\p5GQ'\2?xpQ!'G{fk"Ֆ·h?Q=4渏ћdH"O^85R(`NV;nƀF!wf,^G`|yNV(-vGYSB;~ x/]CVUb0%Lj|wvhUV4C@bHa{?.|*S -|Lr?Q)8no v+hFxiPa=V@aF _HKTerᯂo12 9=P@fkNg r*m轒:4|E_AŒr`Üԡ=@³<)-ЃLJo);Poz8P+̔n<C~6pV-##/2TZnO#5w ]u067A揎裭Q5ID MIЅ/'kO y %Fٶ 76\msrիhqVk ⨢é.5bsrx̽:Xj`w;KH{9T!%6'Ž;%f?x"/Qhp۵KfK!T/smF[Cf$CQ KT?KMw>!Jʪs@ODl@)mJѦfHO]䛇%ga%SkG$5B: _{QԮ  >9Vy @emh>"d*j~[8$d{Shf|;@.lY&QM12M 9ZP^ q277j^"V S >]BO\%j]96Rc,h2iWd)Խ GUG:?o5)H U / #r|?Vy|2 ='fPM֧q%q6|}л?ñ^κT{9@ Pud]*g\ &9}BW/[ zY}U,> 3Zc&9m% f"S9v#ro`P^ k xgc޳$MqVܻ? rlg`4 1Hfr6˃:d!+[|1ߕhzΖs&$fB/-PM季Ӭ)ҫ?IUkDT{/ ,yCBٹ -߲g0+k)~4bݕ-*V~m9L⫋ 3ovq(읙0$C! Kh(X&17z Õ{qvBzn|ECTl^ 6^$ ܚ*" .>܁ H-clUNۚ$ۆF<0c8]퇝LHI3@;Al7R~/(iA1h \KFX#x4:p.)-oH<F45󘄉K0\hM<=ݚyP) wKl¢ntYǍ- ң2 r!i96d(q$UEf?(O:# %C% ;MY!3u.j9dKmQ< D% rpĘI7v-At$|9VHcse70>{57>eEuQ{& v->m`L#K<Pz>XnshOK̷aLTEZga Cf dY"[h\&~M\mߎHwfRS VԱ [TLpuڿ'YjZVyW:bniޖɒdu. )TV`@TFUh¼ϖ.5o|0%eBsʋs9T: 嵑uӜ`46vO;IJ ~07Y[cQC:.r6 ;Vo*ՠ-12>_ xVo;S ciM>hlX|(Q#!|$Rj^L mGj7=.i1#J@6r8_{V11 1w@u;Ya@5D7ېV ,b'D"*6Zm bA@TEtfnF`<_E$N"6mϯ%k>x1nHFB9[QJٖ+ Cd@ezҘIO E U{ՠAo3=H "I`G?01N? |-&C'yj@;p}jƓ;ʓ39l=7T~/3픕0A}`e]Ӏ] [[>unщvDA$+΍Uk<D~hW!' ^N򈖹 ?Ză 1((~gs}DLSETF9i|&>2TyO;[/'QWShU&aVxumm(y^i銲=0h)kQ'Ds#k'͕%6!JQM;K~ )o=BϋOKuL&tpbE2߼af@/fηcQ(ĝSd4tt\DE=L Ժ^Dِ&8I8r(*?BB%.uVĶ{A# J@,50՟# }4Ҍ6~'0ZҪ3=NNwRZWmk(tɒ㑮A܍xaPaԒc܈f#rx *qִG^ Cg!zbRwI34|~ %sjD%)V?S7͔Qq _t=d(StjSQk¹g.o ]$kuɿMѫ>6u' f]* #*=h,4t3e%ұטj>[o>7.'xI!^%{EcÔ%v+PL8k3a@ m. FB!Ez?l`iku5zNS'*}mStM;şwOS do~+^;5:f$u.CL[Dħ1.K59t#*KjL+}o񉉮ا ~!nvW0Ln_+w:bvp߾1AO+/L}1ޚx[\#|@x:oU%_ nFbl"% =?H.[ׄ8W^O6Wm8ww7O"UfE%&,MS>Yer$#P#M][H4=ٽea0u֛NԂL\~`ȡ"ZDH[ m36y q󖩁d宛b*L°e–ŮWha<Q5rjf~9x,S[\vYKm;%_O% 6Ϋj!-yl"7Ypo9CXX㳠EPקL@+HFE Eb`hG $z'q+νGSȶ4Z׉#oQZ77Ov#~ka>#5mLJ P,9~,h sdj)aN;uxfe`i1 d;[] j>v9NmⵓeQ"KX6:A ;!rP4R0_qi g"^Z~KWނmIU*Mkr׌푟==}18a$=u6Zw0h[c{>"-EEl/W`f!$cn̎L ٬p`QF2y[g5,E qv\C~\VRBEճ_ꨥjC;i{ Ԟ'iȇgē~̙@y0mсTG=zYYRu7`eu {W |'w讫\hn:FM/ Tm-I/% rjHA -Ȱ?eaBgQhpD2g<36\_(! }zWH1"5Pⶄ|ūFlܳT>fHJס8F0)Ɲ7,*bqD'"zHSe0}4sPcPvjsdYk;qUo[ DVf;./a*?MX/Ď5 NY2EOJeAw$:In$e8;LjhǎMǓxz`ԡ ظvn Qd;?n:JgvS=&ҨQ%3vY7oR+:A8SC]PU~b0/>E7m*i&kp&A-tB95{+򍐌')9Y ΑJ.fTx ki_Mc$єF\2;-L7g`1$֛ OvUKO693ڗWLW`@ͭV4 s-S'(ΡګުԧR B6dV;8{"@1`qƸĪpa14= Z iSwNŬn6`DW$m{'('q#sN!7V6q\mOQKlJ/+iV44@sh\*툲|1)WZpݐ^7"PގquvnG %Q^l̙vI&QO= ΐĜ4szɧ1ςgU0>aY5=WIF3iU&@TРJT%rXC׋Tݼ},H[Mn578DNfccB-#VǛ޺2a3Kq-<e+WFrsIy+:qqNP3$ݤ7C+8v+-QKƑr~Ջ+NaW@@7[,h"6[κR% YZHPdmd9RBCJJؕȨ87 JܥArJ8sH{rfQESp&W֢H0 E yf`6V^aE(JO*=+\_0pߎȕlX IvE\`N0-gDq shن ^q=% X2j% 2AQ&G@:lLsʌoCs% #9Kjr1b (nzk! ؈AcBto[ |4 |d(/d*|\nqGk>=(g ~)G.0 \1Z  od "OU{;h\CwjXV"9VzWvЇT5f3[Zvk l˭| vN}!^ *$ju\%]-UGc*P S<:/qƢ}[vғ6 ~^cT {Fȍ|1lf#'(w%YRV7XvJKXy2#_~h.UJMpZ]2-᫈s|ñE0A0*?N3uHqׄ5K! ?PQw|KُD)hip*b9SDl_ZE _a@[M|/&էZs9W3e:$b\e;ODdN*KC$q 5;tu҆ni:Hi]Q{kg"B ŝD/G]Tv OKWkJ9i]*M64ZI^1h-nuNt PVN/KojF;ш;BQR?dVv=;窘Q㬾@&ԋaI;HW_ `jOT^]c2TR^3_>E'TxghX~БMm6eBMd(mXF]ZF^.\DAt:j_G$Z2<cKړ~[JgT[V?|7v^y|Z$@ +.~cbȑO]9Û2)1/=*f'1`In _n #E чl1/.yPΔp̌GA 欷Y;Z\@ vAb jǸ zf My+i(qTˮϠfΰ0k3'Xy|?k7o'oiynf!Z[fX)iF0'714fXR% s[l=C;d4u>]-&ިV[oVtJؐ1OdXr46-oKppKլb3o,1:v^Lߨ.w]M2ƛ2ZOn (Za9qA0ߥr| QB;-S:u"\QJwXPs66'#aVLr+<mk/̈́A慤5nu:Cq6bA'mfƛ~(o4gd=+cGl󻧽df=bwi&_zg\Ḯf\qOG a>*L%ۢA(L-|bR|xwPRcg[`r+AB7.UcO[22qE~Q ƘM*8Fo.u̓#VO 3ȁX; R[_oi,6e??.g&~ o}[mmqt%d\/KDaL2G;㓃h؛ )fWmE{Ǿۅ#x:<Ucdq˗5t֝9׆f@ө|]E:CI""Z{.9MNMfm' @7YU:N;)3Fxl#kj>;`1Q%8CSA| ^Nu&+>Lýlj켽ntREn% #ϰysb5R$HxN*Zк=RJ|r)d^,"諈"7*S9󔌇UZQ ݣ a5&KlHX2h3ڲ[`mpy籸oRiQi?hMQ[DEM %c`IHw2.NnZÿ4x%汪&xFM&RX4@Cn1R}J- h쒎.dne}ItAܨyyo)],wTƸ+ CpbCnXbM}-b!2N0|\3MXGѾq`uIdH'X[5atu π+^(LD7Ϟ{+ 9`.| E)&-|S=+Ǚ8DF? - &M&qMJcbnv?=GR5Di^ ry{PMUS}|K :Lsul CNjc$17fidd#Heap#$2g&˼$b4;`v#V@}sX7' 2c>LRy-_n+ݱ[)=|]И' 2,H.$!:q},Iš"ݽZDb6tS^iA،>j\ ~|j?DHa $Ul;= o^*I> Ir׋!8m0$-PrAѱ`Q,^>9$#E9E\b3>?^xa}՘L`ۛ?^K4H#ڶ䊮yw3uSø1v[~lÉiG @mduNɤ%tMw'?aèDH%r`BF 6Qo~h[a`[~Bc6vBP[>aIoKqY4v:zR@<>uBwϔʚ-1ÜrW"O+@In6w #28u6`=)Lm7(5&Lyjy@eø;)8_ͲxmP_ I+jB1c13PGNB"FT6DUQ3 l,㧵pO.wouǿJӇٌ d8ը21?EhW/'GALt9Vxy5Y?]n7^<ү]ɔ)n-URĩX@Hh0!2ѰS>-Qe i&[ >Cv0 4^P"ղ 3a.'}zdV(ګߏW0%m: Pٛ$?LR }.}lTŻ)IGC#_#`w膪JPh`):8hk1UXGYntz2S,DŽTODCj|P`POޘCsq`'R@s`]s=eL⭧chqVwڂJejUY5Vf E0kk5GpFVv" \0ҬN9Sd]_'"ģdQtFR M~2z}挦 Nӡ{w]'`H1D"\sQ.{0m PI6,fUc `%cFS]l{bh4+Toa`yhxH Tj,h)[l\#\6VLݻJUrҋF&d%¾P1wyB_eZ<;- yxNQOM܁eYw~}O`J<\E'a uя`%vHӾziKIXB,xK8a`[bIoms|k X̐pdCJ|bY,/ޡ;pp„#Z&lM ؅mO2wXtڲPB1V`C'+<7|Wг{c Q긺mb9W0 k wq>bCɻz*/wI)$R7S 8ϗ#2r8? T&5chӏ/J$IZ{r&ЉRge)6d%dIQ#-'訖w+?US*bzt>tf);:&gNyxc[*0!.wRgg?n9+ ޕX; Ryطr ߟkxh}[b,)I42)~uh}O ''${۵oa* Z@9Sa7F~z Im{ È /&O9ЮмB0-ˑUhTH{Igjا\% m[mZoS r eT1<ӿgty!Jau|p!զLj^Kk y&bf6-}:[0-8ēpQ4A Ba1et θ~YH`ߟ6gd8 BgDdLV6M>^_-gG9>'Eؠ_- l$ +OYQ^rsn<*? t_<_ܑź%9zlAtQP PG? z|1&ϧ"uO$yxU"#ƑWtRKg e1:%AHpF gCU^xc̴̹pմQN>B[du? Bsۜa*ycTń.g|j]X*|Q6:Z%X}%}q} \x{G6R$m*6? ɾ8dYu$u3aՐ#|)Z&}xs+[i8C-aR$p'nwC2|;`΂OK lBlBUg],3FwrEyܧ}Jx^n_6ގ~N'0}"GnvKp/q2Y}!M(8WC/.Fy||X}=⬔$z—u+/}I<НL͡ԕ\-79*rXIyDf=eNSm z$Zþmw#Bs?m\ş:/ &mU4/Ko~ݧ|fM!VpU7jJQ#ULA$l# 1lAt 2{t?Ic)WLv?!mKY7ع+ kd]&0ƼpߡԘrگhZoFpCXZ4//n`u*nH^j{8ZHP3JPbm~m_$e5I͞3(.hs0q)L9I eSvACf@&L+h vJa7 O1lV 5N'Kg5.( ceaQ+@VCٛ SsY&Z]H/O'bF<:_tAܫ^@JkEwrw8 CzJxҨ%'YA $^/ ˆf527abN''ʀL)SNguhE2O(B`'h-n0yHc dj46oTVs^5[)q1 '*)G*E!.H\!& gmd"4ρq)A/E=B? kQߊnG k<^ \Rʎq/oR~vZ(IJS}^gLSÍpѪN~xK>nL@NN˕P߅EF c!9+Zl3kUWNafUI2Bڛ"˝Z`gfDQ#MgO*?tyȈH ;bf<s"F_,pȿ'mN&z˙I{vhߠ:$:`&twɨjբ>nNq5D Ѕ4$Bc"?/h׀/,0kB2/(cGAM^a.%115iͱ;4hEhg߰#C"_BqoJL:a L K hI?0A#O)):-䠚ǟA2  [ugƐ\c?k@ F=ȾW7ɡ{SG{AE[d X8ۻC%b5zMd!E0%ϭڏ-4x_"eX %W.Iy.TP Nz7{? z6帊ZS~cu׶ၩ;ы#1GERVVh?HL$O >ie=Fw8åq6{PdoxV:% kf9V&~=$ fE1MQfbW:A:}T( Lm̼vp i8-;LZY+<:1.JF;x-֜NC^:N~?=jcus% ,B3J3W< l1 -A6! BΣ2ߝYM;{l|QuEJlU ; 2̣idhF~e26ߛv2!`^d,}J.Z 0jŋa_V/?0D?KőwEPb߆6ώ >->3' mr*8%ؔ8Ĩ~~ ԏ-SS 8+oIq&,w&̕V th{1z'-wIС D}!od gVde::ZXBŚbW`XI,;xj $-#Ds_v^F H7dd؂QX->d!"4EQ6;5/rgī(3̍rL Y9{F/4vQDaʲ6R>;a~֚ETJX ! @:󍦭,tKu DQ WJj jRK-Ѕd ,A;Jz"4]f 'd&:i>cj!/ cG̩%l$66`V7i 8ėdf2dwxX#`K!.} U&oA8kVmt1Wt'[T~@3-f㷲 1vb>n"==jci'oS6<(e dх!,TtRhlDq7+UJ UsC!ƨ'ՐwVQ5 p Ѹ8(c[rh}:R_whu>ɔrh :;5T:%lp[Ee԰*6.fYy\T!LUhV@SwpV-}xA(h`Dh_YC?{8n#vҫ}+1!R'{joS7#;9J6Lsmߪ^Y2R3 h %йB;_翺,j`IS7T 8G[ܛu%GԬc1@ʜaB ȈO~8GN>^]e ϶+U  (bC#Ƃ׸NģD˛'V;KHKEaF 7 R۶K@yz_Mtg'Zvϗ#La--KJ֨*nijh T >5{s0iAK3k?&H';uY]@Ʃ7ԭC+~ vYU6H&@?n9,`9"Tzf=x%$^ ϻ!`_d?ʂɾp-K|7"&V%0S[7/kǟ7o^Hf#1Ө! 4zt&Dvù7X8ޗ 3XL1?v"΀_ܽC??z◢5y:@q$oXuB1(F xKX;L@t[_>`S9?Ṇµ?#}®&1"/$XdzKyV4ܵ$_0Wm̪qp$=xS2߳^+AA9ƫ$C:$X l4kȉO!IQU=n0K-QlatT^; Ht |TT8 @ܛT;fTP;Os(\RFOFE  l_,c&TN,Nd շ$r;\$J7vw*hQ^e5Jclxi; n'-nPa"^|jG)RlöSIDHtEye)w^Y"arE}cUJE(nR-<I8~@X aB^:XCzkw03l_ U.cP  ᜯHMMiN)wQlh2+%bA:ڄe6URS98JLnۄ5v-+F{?;Z*qsH6 N~w/L01.&DXQfnQPn<\_4V;\ );t8h&x#䠚3\`/2={y-1mǛ7|̡PnN6,wxS硅u7W]Ysm#ދ>̷g}_͎ZdUy&~[ٺ.fCB97m\UDT3[q-ϖH2#9͕G@ A@C3Jv/?C O=0 .>k$n՝błJ֡K h hlp=\ۄ0zk5MIF X1Upf;m{L2hJ㔵^L2"jMaŘELݮG F=üSEnX&=FT۱f2r`"z]-2yѳ47 1S*z~AMu\Pd:9t'}^ :]-TVĎ| )NHQBs ~X.VbVIO馐THBFo mn]|:jAtx >YԴѕ{MíB`E`Htzp@^Aʔ8UzT_veWBu@HY?glrDI1Em=K[6KџkV%KyU.X$AdY3{8+k.,i5)촨%ΓX˖lq#JU(K4Ju48I?r+.kFSyW(} Q,vMn(mIrH[؎Y(8B]Yߞ!lV(?$#~/ JE' pHw*Y=|סm6iU%hk¥[mj2}OtSljǖT`gdo^$d!w=Pr?PAo6uz{p,%z/01erؕe/NC_9c! z*W~"uR[D8 wXC+A#Τ&ʭ.5umB GwҖG7`NP{,zXeqC`q'x>|/L%5נʪb69V}. X3tl_r`Rgclτ|A|9ydï@&NaCy;4|nmEphNZN22Z9pm Pӡx䱀=쌼 GNחzSYn:+{qc?/ ?Ċfx]t5)**fsjc Urw󀭴%Vɘ -g>Pՙaj*C::Wپ;r%y^ԐT|=Wyʱ=2ҍ޿_ިM%#;'^?;/{v'ӭy{wD`oTWK/=w揤ig$Tcd_"<e7@ F gafA8yH6/~N I6Vt9:q<ﯛMXMۇRB4TNh#皪UXq_m7vu<+" KXOÄrgV8=g8CH\V9N~_ x:ÙK:{ޠHy^I7xB^-SvMa)Ȓl7'~L+XT#p%G%V"4PRkv,X^ uߪhZ$ >l>9lB؀A]*ԫϋzb)NU,TJ) anw'@5%d~[$y%0WDᛥ*f+B^:WkXh3Bz+令qk N ,bh-&rqyhw$DQdO EJv)6_>vXҒi#3B=HdRCݗɍMX4ɺь_*5d1˕JNzCn %ފLF+cX\H\1!]A/7SD_۔VDnZ4 j!K+wSWW PlģQׂBE$jZL61Qp|<[2>bݽ˳ #*Cgb {meg9.F 8^CWG"88q#VF{+^sI鵆z50`@@mwPkq[3Upop J nT3|(\{V ߘh.A&: ٬vΐ.A,}(Fe B%ǯ87Pn+oi4W(J61nmy/A.Xc=[U&g{+)2}Y;uA 4pAu ?RDFL gt3D" |KI <ߵDgI* a@he4h:(yQœVh(BkR:8"P3Knrw'OMEZݰP{~K~>UCE XjڜYzgV>6]M Jdu7m66d!(HӪ.KZRo5;Y? )5Z9H,G(GrD]0#ӔmXնZKũ'Ƭ*^פEJ*q>}5%KBs5򔹓-w䢁19=Z=yYi/Va@<[&T9eIiJI] Jp _dboU/ MY{=R߹ěZvG%-n1] y{'%pLg[{֟9="v}RB.y3B:GbNO#z04qq懨6 V\4߰K4tq&s-J+έ7ud'Q6_7R` N}y.4#(D$˴=TRMDQx\rU-aoݒ <5qe]9QR⥏2@)o{ q*[|aw\޷K䄚1Hr/ѺYnAU^kݟvqY("h(դdvGhe:А0 O2GaZ^VFd/gpw'Kk0o (4Lj&4C6X,>|?U.IḐfLCxQl5W5%qJٍHrnsww=\ntfHxJ6/7Tb <Jj$[5̈́тPjiք4J9飘%vaS4J辶yBIijA MceϸYJ33T/3n+5io{V@#J,)`2Bhe$T2a -/N17p̎(oDc`0?}Ⲩ@ tFs>g| ^^I;m窍9u.-+UcM;\ɸLP7s?{JHcW^%;|!7o˻ ) mqM:@Lrc=f?=r{ZP9 ?!u.?6+ȿ4~^JNa@%gGnffo3 95ׄ҂}qZomv^aMUM;тʭDsnEU 4G}5|>EjhI!{ގҖJ6X6 [iFڤ%H $Ze$ SIU2f8/~O~=,p2ދ/XAB1r)oS,cY^^ACӂy2H[%Cg7Ůb2fvn>pyƭTBTZC\[ԑoLv>j? s ~hV}3* K? ;J4c4gXz'X#lf r3F"WYcY%pnb0k{ H%hb$_HQY фfլv7mBTI 5vC?zE;fϵl#ۅT$#o[@5.g2t֞;xGѼ NO*3k-a|9e\KYݽ4U b~.6 (c (츋 !Far2_v)i2Əkb\>ew(s ~ԘoB8 G+GGN0ȏ(x۸ F#U*qh?`U9|r"[LƂQh |\9d4 LY WWpKpi$޹I(w9ݶ`st$hZ#IW[wɡ-5{J'|9E~֌C8q Ж3Qnw6Ds["p-P,N٥=iڛiEſrt$؜m4e샒SAg2ȩ `qfItR1&IFIe@L'{E8G|cMƎZ61>+h}ՒEj9skI({n3t>|(kitu&p3oMd?ݓ;0Lٕ1boP)@ݡzCq_\֎zy~?0RPcʲCAv-;7%A=K5e $RusQ!_L4IGw()qFK(ֺlwj7Y%;8D'lWKTO@670H=3e?ZMVZ2F؋?էB(D3v"NTZȩ*a.鶄Aj5DV P# XlJ{=.Mڡ. \X@ U[Y>SiPQwE!FύfegEC]ǵmE'e>9dr-#K%p8#CwޛT1&!x gc+Gp ʒ]zDCMVQK{G2@zxo\aaa,h͊ހ4`>J`a8H~xr yDAIݶۍg1N1pL\EnҟE@۲IZHe(&J3HkurhX&:u*ocXȩWq{T?NbV@g鴆44чM1/>G!H-#DrxۨJˏ+k>x` ư*0!q[NΨMސ[f0,ĸPFWF#S@Ѳy@)Qs bC^~`;fLt~,>@pk\eQ/YN0*a6v2l4Aj}$Ea~N\c.iTJ#O{9a'7'-{HwdKNܿ#_XBX {#pS*](^pZr3E0> O<X%!|)b0 -a,J KߎEbSUoTr| U^R9)>&wlCK/LMy['?ZLF% Ce%$sIA}n"F_MHp2<;RW w ;{, F 8/86]8s f?6ĿBxaV>;L3$]]8Mi2k͙R*)sIaet_žAyU7 3,IZ d-tkHˈ;h.kɔ!eIm\q HGZyMi0lPm!/}]t2jQkqzJHz*0Wlf<%T,1h,|v9dT%Ǻ-&9 `g}Mco]q?Cd8Wd ͋ve KrP21VL%7'H~{jJHHĻ:NJjo䡤lB!UӯZM`1mpesۣQ' ԰?ClzvP'ڒb:Eھo e'&[e¤$6j9%[{ y JB V2YB;7-qsγ_suދWt >\+rw"9#5lke`fD\wPx\|cSЕ?щ,z)JzH*.kƱwxU{Q[a8y9],`3/W"r[yƤ֭2$F0/6rnnr'3@J|IrU^i, LچY_Qn:DRgjp{sKEzjxKX!6hTp _Q>eĥvU)](5i^`F_4$sH}C! =\_a/|/ҹdf*4;w<(?h*C?|6uMUw S?ۇzmMHaͤ&?JV%:xX0ޟk؁AR6R+W+<F'|KR_BSE~8X#^zy"c]-&2Hskc6XĮI4qW|Q6uN!jm{rU`@#`# QS,Z)qYcl.Ő9\u=J\$a4e m]">sBb(I63'+ %]ӴivZ̎J!Q`?I|Ǭ&_EQFZkIߖ B@#rϵkȳgBS6۲w:dc'hC6u5^ ,լ!y}LBt6ϻEEtg)Pizev<$Ł3.Q֡e]<@~b4}6:72ưJg1R9&UBxx?PfY!6.߄;6!uq2 a>k/mw[z}Tq*]+{]94:J O I|jy~EI4 ^$,:um$B;X*Eq 7[ z=oCC"MI҂U˰WnxMb[t4S؏ѭ6sucf j" kڛ@QiEbK$)GR$95bqp'hD e?asz|o((՛. }HOG,ܷ~ 2װk5]dqp jmMKVxt-=CV>Q Z3ht"[!*> :ƶ(P, GYdaxXb)㧍8f,4ޖuP:aD8)Nd)pS8DB=(VDj`7!4r+|@D*< $ MO*FvQ!|x3M0 zqo/'*XbA l_7zjs.>GY F~Djg| @ /˖{ku(GCaK:' @e%bt0b%0qjƖ^k| CoQ==xn5,]p.V@cNZ"`%O5_ЕdCxAXeΉ42cBYFD$)yޗc& -.EcËSW+k7ϸ@.fYf<+:B%N?'g|9SBd@lF xy_6aB=9O@c#,t0Uoڠ@8>L8`ŏ&2}njeOWk" oKiSV}W^TSVpiV"R$ιA5u^4<{k/8EDR&Q2h+//*qV4vC rK׻zhBW%KR|ʽkf3XPNӛPFݏsw/)nr ge-1֟;Ǖ (g707 `bB3ޓsO+W~JU[(?m,\"hi.M9%{\\LT6]P!Fu=sBѬLg8H8wL L7hWOb:Gd$_:!~@2Q/qsvXPv2ё81qeĜ[={@mA3c- Wv߫2WfCvA/ Ot/A w <AyWlyz 6k!en5S@P߼97bDѹ.mKP2vݣ;:0?:;ɋ'],t̠ucYfu8pli5'&GOZFR}Vd()"B٘NRґ5VN Rѩ֓H^Ml̯:֠/yUB*o,̍D7c{97xQLafy st" EӞas!"v +ATwdVOT7m@Sam7jp©H OQjR͂zIZe:B_Ajx}>n 7~Z)OE!G;^Ɲ(FG氺TPpOL,sIJstj:XgT8v].Z`}}<[skYіϲYɞE˃ĉC0Jd/ܣ-I{gO j;.E笗1ߗ jO i=6_[`7](jeMOӿ_[ZQCc*Zf%*JɂtJ YwG0x5}/(H!D!+͔ `+KoP0_͔swuhUIWr=Itʅxу**pM:=63R/90MBLa7h*C}17=HGǓ—2ֳl7X{%u0_$@֬!~zg#\^v-_|_,a y!TNlYJJ'^$qD O<^9A wVcWѺ.M"R]At>iǯB}4IR ]ε9>jVx5-rx⢇.:r6!rm~)w :<A<9jbsyzQK)g\o\eI&+<STPvBd26!T؃Wx p_0kȋu"mj@8haQpl5Y=oL M^f\BV!Fjz*oxEVc<'eкi6x&& o՟ͮ[ߕiOll-B5:;434aW'6)i"ǶZC!ً*z[w5q5Ǫ7NɔO(mk+=aU+ˎgX}7* % o֛H>ȝf_/.}V q5ؾJ^))OlnwCf`OJ:'⸰W`f37`xԯiݠm{$CKNIB,s_$q<>n9|3D:+O$!L%xb}jE'-{k4s07\LI=&u: Sl~^ʫ%3 -2 "#X-۲H ^", @T  Eh8K{hΚvVWgoQcy1j}UjLJ9%E-o~uJ?̪c>Enx$z%>|>ksJ'yFrKAbn%)&{.tC6Zhm Py,yБi$g/{Ѕ:|I ہdr=r:9!CB3g/bq߉->;`;\zZ# ƐYFX:& c+0hkw Q0Vh?# sVS $oop5ʞ@~keԛ%a;Eu-},(F$wvJ#J>O+,^v~5g㷧_/ %Ia"A/4c[(_#&ϴU9ʧlMWLv2BRP-4Da[? 㻱W 5ER&;=^GI)..;4%K!=EEvf(S>wq"8e&|0r@N>9&rb٩ <<^V]31}zmg}n-I'Ģ.37mkU75~6вۙ0"0҄$"Ezp*ZO d7yb)[X 4ܿ߷fgѤZ>BGܘI,z")!YT 3l3% XqΤ`Go >g^@\/1G};keζs4GO8ˑz{;Kᚬ]FHNΞt{\SS9=Eb3Yρ,PW^CB QwͺBIRl7zci/ʣ[JkvvK{@*& ,!ZqSӥ̺"wԺn1$~~g\w!Y-Rޱ]`i 038L{c@ʎ|wE".P%&گs4E^OqWУ'G̽}oD7(Iz/.*qnc`9ԭ/eEɜR )ECKT&$^)>_DQt9v6 p `Tpog2d1+EtEg4KRz\kme`Q'a|\ex\f ڥ@@}LKXZX,*za?0lVU .[t*Ec.87 S1} *<{|yn{H<ڝ)L\*9닣߄suBkA}7$j$EaS}P*]9ZaÁA߶9\nw0͓TJ9udжE%֥I/q>7̪&hVV攠VUem_2)ȫڳٿWƞF8!g/0=_Xss \)9ُFRC9|JЇ4g9`\y۠@vA#* Jī4F>;H2[,:? KW-GnFK\|5qֲs{xCyPCwYceNޮܳ ٦/*RtuDm@餐zJ[d8Qyp0TɥLYYىЛģA0f%[%o9.o~SwX6㋛i0Tz?a&c u#5q2]0o/|W'O)yS_ `7>[DŽ AJdC)*@'B׬0 lG:DApGF)n%(ƌ"+a\eT>?+vI^"HC-)a( }S_*uݞS#"wBڃI 2~ A-bPo{¤8OםwNY1^=;yۦ,1jN䤍Se*2'yNztMp/3N&ސ؞Ϊipr^L*)QQQqn~}Z&o̍iPކ]R^33`J [Y&0$9ᙊaY ;LwU`TP.rIoh 6m#+IxFup> XGkw%Ȉ{_2K{B$*ץ$z ԙ/VjFߐ%Z@:a!`Ԉ1aKU2qG{k7g&ת}?N7uΝ߯h.({ӐƊ"Uk#@(i@@c#7cNT7&_  QtNPg 𶎑DչDj₨j!M YX6' iͦUԢ|Pd}w-@%TÛWvKv&~WXysmDȑAcJ,w7WBF5> Ͼ5WR+edT.a8L 1|lQ /-w D}O̲5 Y$e!WzYE:9mJY >n&J%'j7 *J-Ռx1 Բfx3ҳ!W7Cʬjp ^AN6sJ FO/\Yv{|&)=_\9 m.Snr$c8GAlQ{Z*NO32y騳ƖZgv2ن@j_#^jSi1Tj !ґކ} ^ˡtZ.+I_/)K AW TU>VVUP|"yɝJ\”+yo歌BQˣ ))navs bނ>>$[B\=%V4׍h P-7e۬ oC 8L$ ,6SFmwy 5u-7(gw͊-aYDla?ҸdDZHC.s=bgH:*+OJҘ9eZa ֫fZUk,kR޴{q;WI_X/|M||]\f4:a%gwjYRUD拠`}J], /Ĥcvhh"?znȈ{CؾMF(9ͩYן8p/s/_ `{sQ,zà D|nrj"zyRz vTR#PzWa?DžסV`$\VڙhpkL݋-!Otqz ªGQ.;$MAu:| Sهo,98t%;5v"'G7_e5\]I:V-e9\Q(.K;qx?Y m خ^fV6Y .$0 D]Op0w:&+6P87*3A|n]MM-Y)!`JeL%+=ڽLB5""iUZ|9QQg?Kשbs@6+GImޅPʉ[6G0AL+j #I|YP+s-_ ,l9AшsMfióLrrAV h'O]8Fby_kkA'q'.YZxȷb>dHXWa N-F~{xٶLÐeLv;!{C/WJ,MLjcQDM7Q.-K^Rmcg[[0.]A`5.)`$G?(\WM(%-iٷŪYiiiLqTJ,ie[-tUD+ scuEqg2QgG/I`vڱrRȆ]ߘfUy!9/{OmѶiM*,.L GR 6/|& ,Aଃ{Jι3HY!Η'Lt*˵Ci􍴐߶ZȊ-,dh#ŋXǎ C?sr\I5:ܾSu2ר#xzopПpN6~DW[;$h{46|LV6zl[IE)Ŭ0yg':&Ż6g8aVH! ,X|S&1|W.I Б:2I‚qN<olόs$D>* \)xUy[GګOiAE9Z! 3KUg>cuNC7=e8DG^*'>#T͈#FZSW[l1ɻX;#h ʈ%GTq $W)4j-)sg̈́] =(_u?$0?x 19g\ 70$'tgN0Zz{m2h+Wq~C7sbjZ2]_W߾6u KDoH˭;`Uw5=4ν)'nS)?:}ky##/U[! MJ!uA/+"MO  k$H1z0cߦr g_H&H7.)U~д/|x8yŵz!3i.;MoɑxZ͓p$)Ȳ;kI]c|qے'TUhnf=^i (t ʡ V9 {AOS)J\_ #?:!JtfV h?ɻc=go'ݰ ̽\$6ۊߤSm)Yw5_facYZ$2C'`O~'nuYg5S-&P҆~!uCfKH F@{䡱9 4Y]qZxL8M  KS-o-ٶzL4&*Y *Hi5j 17,KdBr*Fy=svRP `_xZ 8I (*۸0aBXMՊV /' Ժ[%7%@k/,ҢYRtI> # ݇-,ܵE5D?}7]ը:h}Gjp&LƟ[-t[{7+@^;!Rɪ%:U>^^{{?txa?(RYo#<\ʮ,t˶5{-P׻*GZ*֒Sz\Whw_u0šG!n蚡>%ֵ ;ۄ')!itm@PچL7r>D'(@|D4fys/K3zK\O+.ν4^VjUG^bT(?6_|?vFGS^IB'Qg!$Kv <*I &XccW㾗S*{IrG{v7 @g^Ĉ pfbw8{o-j( 8m$b$rT =e`W:(*0\RѴ0)qSGNbyoW3jrITsP%wاՔǝ<' @|%Po(XJ1DɨOj+*v]`-pa2 ͕"[6(c2~0J\s;x@S;2IGe32PgN'>ur"pIqhZPg氽DzZ:mg&ۺ]vNNP@IﳡṰǵdȈ bqWH㻡ϝxB:Ҩٓ#e贗Vǡv:?9%íCCۣ86\qj>S&=\!%+/L1'J!Wb3fZKp> $Mƛb+ zf2&镰ͤ0n`½ɍ.n^!ȬN},;1bH2/RQ= cHi2xˑ'{PlUVZH 8wGYՇ+Axsd@:SJ#dc3|42OaUz9ߨlo<[Ûsڱv8NCBkޢ~K0q0AM1մ[Fe>vh/<M`=KssW[b;g[땰B7=X3cӜ?&@) jfuȀp?! ޺28;GOn2;ӂ>7?`nI̞ "eԫݺ!:S~MN)ײ84H:RoP|҈ޫa[Q́0{SCR,3 fŴii[bi$xuLzm vhײʺgiH; #zޓ{D:=/DiWlFDj^$F{lBM4 :jQ\^^4q򊩵 7Ŕʛ}ae{?Q~@m!|S-P77&宔ȠCT"@ZaJ1'z8Si&}rŠ \Q{!B;W|~o7JIRd飏PouM]f./ˊLa%Za A |ފ^@+atk%ʾ,0>Wo"P[vW>R+=IaΪ4^?sd_$FC+" yszQL*05oYCگH4ʪhvA)^ u"\nBv*H{Ey-2fVB[sT7]<7)&w%+OK>`N |-CJ8T^2醲VK[bOVX4v6I6LHEW'.@ׇH?  e~WO{ݕu7^+%R*Tp[|,O7)%M7ivsY^JTN^@B%;K,ǞNU+7m$NƗ52:j6@\䢈skVبn|}n4JN+:w턛Q8 kHe6ܨ4jvZzpLDޔ:M h?FrS|b?Btj"^B<>/^߬'҄dǨhIDu~xU~nt* z3W)u)|ARpj<lG(s3@OdrݽqNxė-#R0k.cqVX!s=_CuS`0USr؂|Iʪ5PzҾX^H@@M* %+ɽ=W; C5_?1N$db}#䶏 iyV˅@S:L8nR0hv28 k@@H#` -|u[]#6Fx,q2,yA{Q1Y:>uuIuoHv5u6ܐ?&[-fao˩-iսICqUYꥯF) ~g2 16Q%ZZqڌL>ev{vՑ6C<;RC>&!_"[؛oX;PQjѴ´;=$Y唠 E'Qp&_-NBf:*te6Gĸ@ &9&ˤ+ 4 `lM;tKl-(X,KEp td),U,Xks%ua](f3 g !_)rR8޴uzP{mpݴŶoX:N)WR.wiٳtͮrzZym:E?Uh 9<ӓwj'DSU_+Dؤ~TjPh$)/2+QS=?^;xc#€M7 IT"!3m f㛓x(UC,(ÔH8%a0,.78>5({HfZ<(^&R;q"Ŷ*~c5Zy?/:DT;1),OBxъIcKbG1C@)$Cb zĬ+CuT~.^`k" ɀ16|z S"OqƓ.BϞ@:>0։Yû\\gy RNcK %{N'+[ĥ#zUdf'`j,7{ԪPE>wκ&UMfF0҂w\E:iå1r %ض΂PU,zi7l:Un^7&$<|)o:Q=rPgry&y*oA ϗ__60IFW.Es Ja fKPIh_]5A OI!_Y,3zDߎ /BA[CT ,Ӫ3ΝLo/ba7v+v]/7Q* D}*;>h=ktqNKw ^\Q*F=5+ {znL' Tj$ʪ)x^,AjO Ođtl|F+m?o PtL()K%\?yQ]h^ۈn-'iE~{{xg'.wYhD=Y4d=#Xw8/6j\z*Jh.3^ޭ?3D55fZJ]10dp8ʈff噜8"T+$'mSo՗w~e^Ler [t$o˪]rrXHb ̴1+1gA.*i9 %Г*G냼+3޾)G7,dhg֘]A/QKʺOG>Ջ=#P2i#8wgЮ[R0XPT [M+$<"J[-]O3 ą^bGK;O cJ Ӹv˸y:N歸qCa7CyuƳ`ߠxnEiOƿ%593v6¦zo*ONiGu6aU 5E٧K;#QfzYADE;ꗴkbrJԘٰ'Z$lOj.oI٫m ׃Ӣ«!}Dsi`Q;TZ[omϪ;4/[i7SQERDQHٰ&ˏSl|;K, zq%Cd e48p):4' ykZ$RBܷ) Q^U#m^%߾R:&\L-\5mvTtlPWjyo% ؞3~ٜ8cVfVoRx ?*LCD-tec ?W y'zww$Bܦ0I2b.?jU]T'd(L` 4D/xW0o!D9@ `uՈT6uM`C+fY9\g~r4Ii8-Eq@QrVo t KEwd#D?jK]VH82q?KBRuEfyjS- <8+ugY~1mNyIs秃ed9CPRW!!tvU‡&y6 i`iWw8[ AHSz\ ڌ5&3X"f L*5Yܝ5C1aZ:فY8S >vl {HdB{̩a<%8ٯ *ұM7gEj@%Eybr+KR6Y %g/s4u?_Iy9ldERZ6 NJ4MM#J|k׌SF :~89;''<&OwzQ]kX9`:"yBd6hv6uf)I[@:^Y6 qfd9لR#0v -.FQi͇N/_B OWpd!s.Xݡ-5Ս$g(MІ+ 7X,=hz_{")c8WA!'B8+*\ݘQ:rZ55wɮo$ɺR c9S3pr7Dʂ+am?Pp)!5V}ąbl1]"?=7= L$"PfΦWsT"pՄ:YJזxa Z10K<+Yà(o;q637]Rplq.g>R0SB@߈ ^];O7'{!U{Uf$ps@(0_DSO2*vǷĕc_OkoB8:#l4G[7wib EUK8#lc{e) wR{PH6c><1w3E+8r~uNjd NBeb96xaQ `˹7Ehrt#҆R +[hS^ DM;x8l0OeKPDJ+PXi *@T'wȯؐsSj?+_)~}+^!ec:Jʴ' iz}6=ZBVOҰRCʈv[J #c22 A뗑wBV}a7wZ!ҁʡki Cџ?;]?S&5-gS:{aSÐ38|GU? q0L>?Uv'H%Y?ȩx趟(Kj}p6\* `5\t\j'Izq dtﱀɜ}ѻ.)U.|pٸVhrBk(#9,VP@%1*C ܒ*daVÕr  Raxfܔq4stʁ,t*vJ]n_p~AqhRB@.m2e[ ϱXTۉEtt lOnhch6 X5&7"rMz-w6&N<5eE(t`ůmPb1hg @j/dPv5.DĦv(,kiaxC@ 3$*Kkwy؉5K͖L{ ΄#l"m"m*aĞPx<: 0=3l=rmPB'eǭ=on4,~ʼ>"vxk{ytV{vH w83bEr CJo/u1wiڱ7d'x(=[ka+7Բ xZ yx]*eUʽYYZ5b'w/N`qݟh0UrxǯK4fR%bPe'mo+0Tov0ֺM=KԾt^tUxp)֨ \]̫img/89|0 6+ KMxwmTm 2_7ڇ\>VVn6vWu'{l sQWo5:>d~.!VЖ';_nBe(}J%)XȐ/7';&% B-| ]ĩ#,za3cjQNv<8Xncn#.hbݪ(, gDIF̸`PEOd⪙Xqy^+\f8 +' Lp O5H[rV` U;Z=A}5B )?[@ nH:<{ ;enI P?{IMĤ\TG7 od2>s2 .(_?/ o,'gnH-=x9;/H=P#B)*"$!w9CShʴa"0QPsُ]fȪ]-0!>!u*i&G.,n<DjqTk"_%jLc6f 8N)%ᷰI*ġܵ\]Z!#߹]A/ <hdvFBCZW3wyIBk* H#ו녭75p(%O7=[咷9,ā<Qorj܁A'l4w|^F_d2(1m̊UTF\#1>PyO!0DA G.ivkP2\xa?hԢrJE|D}mU昈K7 DR){yΉw. Ƭv'`mx:|;ZA %stu)8M^C*CX+%3}mv|rWn@(L(`֘nD \_ +}WrHVCKu֦/~?:E V.nGBnWeX&N!P^۰g~my3?I9 Lx  5m<VI}Ҧped9B5Il^ Ki +8L+2+KyBbʗAk&<P&j/FK`7P PM3i.l 0d+bvKי^Fğ?EaJNmO\ww\^hT377kx/y lPςj"?ofNziqޒ!FBCRiL7qT8=z#K&M;֓̏q^A k@`%D6x=TLIEf'ӽ ԔԓW⬰ȼ!o)*)[ &39'ȷiYa4gf;9'B`ScA,+Bʡ }mXvq JI7,Ⱥl=x{ȷ=A1 1Fn ;B&x1z3iº4bb3:#leMLk?VG}AJc1c)LO0bMݩ[U+K| @s=ΥE BHoJs+L1zٌŠ8 G3%Doi$ <ľ w؇w4W͌ai{iXv}PH18Ҡ{e 6î ʄ=k_[Z6lUVyAV= xbv[b!hWutր[I)nіFB3%|8R}RzJvULa .lNY]潬DV1<_ؾvi'ܥ[ϧ t)mEC͢+Y@ҡ. "ecW`:%Bf56_mLL|5` A#Y▜G8@nku]7 !ܽƛ8WHهZak*Շ|me8rVIJ6ŲGl3QgA쑂_A7p}dnђ2xylV`b@̀7C1֧( @m15 " |kCoU6WFY=ŅDS}K_>m#-ހTo|[7gl b4F$LV(5F8L<>a?K՞aH7*eِiJJwIrVjQGk,:zߪ4Ye}`'gMީ{}4ž'D HEƚR/Թ_ 䳂t ldW +D{%ouִМF紃|='v*JMh:lBcFP\[4y]NjRn{@ϑulX 받esd"641={W'ǢcUHiC: )T9nȌC}*HeJ_W M Y)<k i+(h3Yڋy t{;c6"tBb1z0R<5/S_ԧHT:vtY6jYϙ0k6!LW*ۋ(N+,N(q3ٜ դv?*N}YzRo{rP+'sD!5CFiRz Б^.{=YR| >|w3뤕sNJhYs475 cY|p;dz3Guz,bX~f6X%֭Jl ['*(V[)}\hodԙ}Tc~7-~ݑ/cT!PԬzrޝ!Kxd_j*pNyABcKCf P H+E/'e(s咞6xpsWDe`{>\_u? Нd|>VRy߳Vk?ưEZ~Gpm:Ξ$P]7C,8cύx;g#Du?LUlݠq9Ao7tŤݱ+'v+; Ӎ>B .;$/-:2~2(Adtգij`&u b,R/`ş_C]A QbZi7PsYRjJCtw:yKYd2| gDzoF$79n c?uz>G7/EϺ[Gsmڌzܻcž-o0zia#Űy3q()~)%TDhN*Ӛ6?{Z NfV/lMjir;p }ɫE>Lg> 4>H-*^#Ǫesc$ Jݫ?qٜA{ܥbjd7 ɾ`V"j+Lɦ Y4^4J7{լ5INMo̠Ă#܈ *]_dk ;eED|n`a(1Pi8llR2QJV%Uau³ 7OPlZH(+S``af*5ۉVHFrOn˩GBMNPΟs 6:cYCGlEa%~!4TfXHB,,ios]8=xXgwda2Nj7!qIjCpRCo2 ܞ:sW)B`ϸ]=^k.Y5pfoP(5+N2u؂~@|9ÞVX?P# 8 ˣ![&ٜInp31[zCQVWg? z +uKX)?NHUoў+iVVF4.Ba(B'5mHbv"q𳷀*/S#u DG5Fή\p1idu:db;OQ/Á/xC? (bAhʉ)S*FmPI(7ԭǠsY%&cqYյn@yMk< E9+uя$ۦrDg n-*jRå]Mt{_UcJ%@@uj2ɴLg.cbgKneԗ}oE`20u/B(xI uSWfނJ@D; L>j^fY#SpvqXvwP=qOgXC!_̍iFA1nʩAK ̦j3o @/$[)Cx%(C? ׋0osMKTn $JPFNȊ^FLX:{1TUs ,M0yĵ|L %,4TB1N\U``觥BIO\ްt +sL<MQ?)%pMl.dN];xщ@m~H%Av2D #z~$Z X7\ d `Zr|![PN uiKQo˫N_ȄHiʋ?ӱ8bJ=u -y;EC}L=Rhoqzh }9)foWt+u,մbi,ԷY1*09J fJfm_+H&܆sz/qn1mL etl I-ȷk8;fΪX*]\yϒ{*W(QG ` 뿵_] ȏnq-c+7k MhMZ\ȗ+1F1Kp|.>Y+&6lH@ RU> x* b@%d%ޖ ^AN,)1 Rs589=.L[n7V&T$4(<3VSdOWU 0τ騨 RgG1^g0UR|1-P 3K 0wpD+gdR?9Xz;lkh I PX ( S㍼窡c?e_6IUjBekjs@\őI ҷ TZdJRoYkZգݿޯ8ڹhw8[^,$?+ !}@]\{=[0/! ̓WQr^./3k4RsU z:?Xl!ߵ}v!\HU'zl^6@7O;OK= @Lh{ is8^$vxц RU gEvB~ȮY\В0k%9'YvDʸvmi*,ujc7(_1ZlJ?7=9Ý?hGFɔ`P+*+USvƧ HS`6W}EmFԢ{`<>;}` qF0 v9ʯ^;$hnnA f% -hcfNOaM3W1_j sE͝N=:ZEj5:*#˾/}.hIj3:b>26T'<+XmFoW>r3Xj4ZߚJ0#f\$={PKY(@ T"GXSU5 D9RL?UFJ%G$cFzQy/VF:z9>r+٠F )J,Hu8 Ƕe'ՃbORea Hv1E$uN-%̙[=4O8ӛ×'m8JV0/ԿVjyG_!I.A#C0T|~[Ђ^K6~`mDZY~߃T!0>fA~>F~5Q DؤG23ӭC+͜XVJUP':Wf!Suw3|9ByXTȷKVl6[Mc<ˊ< L#1ܬ土>i O4hJŋ;R 0W491^tvULxo/*}Щ}H"|h;G.rx5 ~ܙ42--hT-bH8q퍐3CƜL^qR& JSy2Wu6\DUj*)[X‘FtH2C.<>DZM\@|WKcaat8VEkK*/`S¾]Dh.o6|*+Ba!)ND'() Πk1 ijpVeh5:t1_0.ȣǁ;Y|hV %]ژ9X!H~;e-T-,صYY"Vr/?H7+RV^exph+uK Mur{EnJPnm\Lgc9ͷ#R9+@oJ܆:@* N ~><$Sp)MSMP`YjGm|JYG,$Giޖ `p}`q+>ܦa=,j1(!9[Gٴ-CB1|t#:=摬&6c#()ɘ_ZVjp'?$PX S˿o}++wdd0<:KbE #XVFW3Ni(s?d׬hXN᳛}JQr6Ҋ#ai2>}BETcK# {r[U2XD&xlFCV>Po/I !('b_Na&Da< _~Nyv'k6 MIha\BtjM{FĨFŅNg, G7ں:-f >h60>tqwjݓXci-eM?VhDAevAs-[#;~u(22mTOxLkv9^7/qYLL}ZzVfKe -kĻ m@"||'kZq\-;?kk2$>Ue*D(3=ĉ2դf/!9#] _X0d *_SGX _D2¯H{HPӇ7BN꿬1j7[ t< ̲LޘH>@1k@wI_vH$ X&U{,jvJi9SpQď#+,Ԑ%kꒃ%xF.j S &~Lbzco^j#Ұ|oQĤ9ѥ; Ud)CT~`-ӄZxjHp#UD3BRj91W:͸hyf&x eX] 1.,|Dq),xU-cG-|(|<ԊRl|YZ%>#cu9zSJJ5Lh87{ɹhb=3>Y)i_`F0Q$!E"JmdS˲]Rή `m@=eXR6jR4ý&j5:}&Q gr{DLC_LJxP5fZB|me__P)A1$xa6,RxR7waއ8-}Xۤ`F~F~PGqRbnih&qtx-`9(t=;vcb lM/a98DD~`LBn%{ye5%mHA`!.~1+D +i ( Y 5_;yPQ$:XZ8SG/s̑_(<`sM.f\mRż2Q -8Lz?8P"Bۃ)_Y}26ixe}u]?^}V(p"X,u 7O>@[C/xR #wIa"E w{4*MY^Febľt D!k6mf5̏3zF|E( &:bh suna8Uf Y%u%2 Y@UZ/q\aChzDL1o~pӠ}Q< \ihTޗ(RR3 DB2yf_>˿ 6z닖sEϒ@ӽ6gj)}H#[Dzv ʠE#9.>;_>@xa:SDZʅ)&AɃySC;kѮ%*[M^84_&Fh5!q$B rvq\M=GO>_w['[v/]Ϧ"ZbwƘZ1!i=W/nW6E֓u93Q3£kTivЃ8rv3WǶkF!nML PGkXuiɧK$&[޼3PtZ"҅ZB%]+3:TI3m@7c@ 9Sk[E=o)~\jB7&ӗC_ ,ѦS|R2" -@Otw#/ϫdS/w|s SJešoe?3%_Ik.M[zTsyOQ&&;+*e);Y]:ϑ;W_v\GtA6@',٤Qjjz0Bk !*!+?<W 6,&#GZg\nyR T3S{ PLhy* G(+IOK<9deT4ĨG{%7}&,7Әe!r>5v]O v""뇣-sBI,FU`e@eGrȱLGz&ź`Ü=!W1HMgn+<5MDխR [{Rwv #/T)pT nD'wWDB/Cn~yV:2lUO ?5 =Yz/5hP/d> |@ ~^A{D1bkCNUZƷklw$ :0Opw~Un3(}0sFKAl3.U:)-=V KTڛM&7A-g{݄(~v&opȜl/0je?zs4y{r2$e5A[T82Oe. !ſ.-5|1.Q4CSJ|}j;E19o^߂#\@^hTdoHp$nVĞH]ņxusv i +Y/Ec,gŒGg0[WN&IQ :9,*V`R Z=I Z VHwu.c ͺB2ʩ02jP΋T;obkwbvVW7L ~@-? wt%کiNzE#3}y{~" R+FcXFp~>n#v}2-*VȺ{@iɕ|uV=ɇkך<ֱcK#Y=دe\FauɌ~%Iݘf|Odu!%X,€̢ۖ}YGW)k@sq"SU$4-{͂' b^nU:p΅`Mv`";1*Ҽe`ˎMW%R﯒b 5&:-KܵRE=^obߩ}uu *S-X|?X5*Ž1:*j;[]]e9%  uvB$h*ZVݫ5g}f]5iWE[wK*V-Du8}@NDKw`>?{ƳhMD:.OJ,*s*ahN.+2 14zvڃS I>ځ_fr:F[ UJGltR!T 5VLp6CR\$`)PwZgPspF@? _@ x~ yv1%=bPEH痫z;oE đ Y嬓~bhRfOwB 8ń>LF(=Qj[_FL{e\WGK  ƈ YPQSY%(be0ey4ЕQ,\*' 0 ZD\)FÐa&N.qG^lzTA*[>epQ4$&JaHk,Y0ʚ`~t{'j ox`G΁y˳a3L5BU(LEgg}3dg`q÷&Bov~Ew=Ck ۣUQ]%w\N=MhC5fzӐ"Qk((2J;)A\0wsyׄia3%KzPu5k^EAs<4׌Kg+Xgǚc6oETurʋ*>"S|6>}4Ѩh:@x -7AqǏ)l 'a44#'"I21;\[Dii!F,.`M/F%QA-`)U*"-͡r̲nv2˓2Y"[[vζH›4`:nig@/k_B'NHxci筏4bXb~"@OKV>J7r3,rx4/.] ##[ ":t׎8:]+!G E_zqkPv/+Oiap%'2a?aPp޽N]}BKcA3OL ]LJx!YyVGGH-rLD-v_Xs |7n]RRԆ>L:B{DhNC53]ʫmCiaAT8;Pg4˓<6d(0y37n~QF[l(0zbDX}KNrQZ $p"3T\Ъ4E&ĩΪKcKIci]2a]G#_ڼ_PC7ew7bpE~uTPFAQeџT ӭU Dbe;M#7\AυijWĐ66F՘ϐ#P9& hzkI\._m{J9*43 9?hȲ)<>{]valҵi2k KzswiFː^خ+KhOMtp߆A. ~:PhL~<&ãƤMt[]*]t h.dËGA  G ˢ7?vtf$&Vr\t$SV>v}E솥+ 3A;1p03IuJΨ?$ߡZzkHҽȮH:Zp+5R/[Lk EHU6Zozzs'7vªγ~ 2=ӦLO}ÞA䖮@0Cx$neșe"mxnȌpshT A*ĪtOF*kq{A%Qh*=X^ VM:kK8mXzuT'sfV+`-)|Bmsn\aݫS|P!<* +-}i'U48egKvRaF!Ӎ̒ Kuּ x S;B0r+ݩEۜMQ)6p+ܳ wE'\6$u{%jd"_+H\k4]Ҥ-$9k禐݅T.ye$ *;j %Va!"ޑu>I|=}sY 5ug:~kHK@1ti[YhLW D{LD>1NЌQrQf50!]#QV(ONӣ"P^""K[?`o!eYaA  5QR8aN9hLQjQ_;ߑQ̱ KV=*8k=_!?՟HE Μ݉VQ2l!x!`s,M/ ЍNHKJ&1%_ϘݾKP )b7:auf>6]!OϞ}44GP2 "{{x);ea|Ntc / z,&8AdpTKf*\JVĬ\,#=w/:U"?pG"SIWTyLu <;(?*AkJn߽ jS-}{!(C/{6]39~e&jLj5] Ay}fG4Q?G?5FˎM.`\"9I*,ud0pR K[C9 趕]Nz6vpP{V^܏HeU0Oާ?s=1it>AB(k 2R f"XNCClL皷 kMT *(vmZTN<B:_r,I*̈u^R Rh"tU"A-AJMhϊd9,HxvŘ9z &\ck FnвO8i4:N]L<Z#Egm,>iwfǟϻF"T4-ݧW[A""E0z Lq7Bt/)3\n[F pՊXbxkc 4芩xFQT$AM%UGl㘢8If-XAh؋bd],saS<06!0 > }v3`EK ̒6}Kg6U%V_&TBu)Bý0]0dAg՗23MF7YDDwwtQ<ɑ&Ծزk8=L.]vDl%9gb0%""dNel `۩҃$Ê|N MdQ*h4K޴ou:)Cb,?8F #"w >Aq1r Yui,= ?4KUKLu*ٳ\8Ń+zC_zi=}bBi`:-ᑄH')~FάWΡI{Pqf.x3yׅAArveqK@Gwk&3fNGrUcSq1y2%gZEeR] bFu2Ӵx`PeM-CL$kGo1FM$#*NlsN.Ls2dEfؒ'ZUw,bݩ%6 ,Z5r3`y[3 XQޚbK`J^5x@*.d۠"*` $ƹj0h]K*5 o9LMe݋%VޥWg~0Ixr_R8ykf-zF~gb05qip,oer\ު\yĘ]`:d:S > YF4|z/jE&H 0_yRH~y n9V6m6U9,nOZFG֞|._a(!얖1E{\2`Y_nCCML̄ Z0&ds Z P# AW'@!D]f92Xa$vegYmӱ!&|uy\6P,Dp]̬%-e]Oq@rTNШ1J(=Ɍ^\`97\驜x0:r91o6ƥzONR$^M?eU3h7U&6B\/{ ^Dlx:0q.0*u"*PwK)}DC0%G+ϵWK >,pnMu/1+ԇI`U@- p,7 (DvfਰDs?^2co[}G;<ꉧz(  j$v@$މE`|P. jH[I7e'вRʻ4"6#>>xc5()s껾Ƴ9/ 2q n8*!"jtf+tWEWDWg4r|@Guc`ҭjŬeYûr2~T"VAY"s+77Z߇Ֆ{Ց*'05%o֑U-}!M2(3r} gT74A+(WWD# 0=y.)*ϾBT[}uFn-SS| ES]x0^ Ri=Qo_B̓ђa[ '5+5JyG/̼J9(ظ<}x ǒS֓6@ySزjk€c{׼SȄY1zI&Ƣt2΂DL4k*zHxjp%EL8z?PT mV=HP[\3#F*5%pb#`\Vx;R'V X1U?Ksk=j`7xE3}:yЈMt;i=m?,t~wR:u/zvS(̼l.,-4~_c~B,2sʅ@e?p<'!+ J@mZ\:Y~uzQ &E`J nl; t3F@$L5k$2! QNKVi%WƧ9}?,>7"/-D&,>zĂk7D?uMJQ6(1++^ ;.٬^2`T BagϱqBKD:\݇:‚3Gj'r3o8_(7ȭ6Rb*!}λj^Y" hT>k|u"1Ѥ`&ϕ_t.^h$]PAt-0f:"2E-\tb?\{ / &52Kީ<. >UK7+z F.my: kB«1] D%$q-oSxW&?7 m(mzGM1@3,6]9Nʏ/ŭ rJ6Ҿߞø'MMĵ0 d4E3Qg<\;k-V|%v<[KMBMq2:pH9 YЙ#> ǓrdF#Ň[?{N3r?EB֥\_V$.,C0.Ğ#hA٥i;EMk&ll;9t_}bcѩ$s #J  p1%=~]<#M Sq3t5`23IeBb!{,և.U=6\bۘB ,l³Tևyc*-T 3 {#>1B@;8hKCG\F5&<ii1[={i |>sl_lP~XĹd#|&iEFx3 )E|$ ob6Ďfw1a=XSzzZy패OӧQL8'6{[sZG .]hہ]bgA.6>1B/8ބqW)}pal"q]ovcC>N'79{Q It]rDF]2k aX>SBzC3"o͆ż4_•T8!DTUڍZΪr#&7Q|?躘cqH [ 4Q5JL| CTHogx{umSH)TMzPcTAB*ߤUh:U{qE>Up;4#w`>t:}Ck fB`{vK㲶65{MCN7Cq~(QOz&wÙ[7İX܆g0!_dbStM]i?X9B-9V갃Zў]V}ii&d3' vV  fvvo߿5$hRj ӭJw6o-5OkswK " ٸ #2' >8:qtЯPUukwmT6X6W̪@Ki[f%1Ƶ19N){\{ +.FAZ>b3,ʽΰV%FS;tŖU,`3OzU̽[~Aւ{׎ "~{ U!D%/Z\4ŖJ?׍1W/"Ů/M7y7[XQ:b$¯a"s'c><Ì'Sg^n MzqK~[:FP܃. &9Qa{V@ȬA<7b@Ʌ FJrxn:]R^db ^_ba7ھC!A]<+>:sO#\P.|^N -SHa5*`Zթ[OsJ*uSUFz[ɤvsYZ<%@ 2EGk0mq2 0 wj>4*TE#v=·tg7)bUREa{. 5< ȗO!ʠÞmTI|řt%rM6as[^C̼뤽vt즓a'ЊPU]hn9qB/.x1lJ1] PԄ '<$v_n.rClݤysKƒseʼ|qDNbw0]}$f[eL "C}I⒒!zH ۚ՛YȖdXX(YzPɣ1S6Y[262xZ1IY- N obLk >E[ U:< fbĖHV*_Azj=7mR鼔@jE8ӡ|Ɇxgb+Y ʒ 6o.5` b0C]tv5U"X# "/WȺG{R/x0%@A1'O$ɿRc?p7YX3ah ϣWiVMڿᱥFvG*T(ܑwF#(.?Y" =Ve߆Zu6r8k=msp. hN>ypS~7jUueGU'qTw jo5BTyW6˄]zGףubwb?i0 Q1Ar:-CM!t|`w-f :M#ϨM7AF>&7^ W QiFÿ-BTZDR\{ itZoYwtW ӷ˒ưkLwЯy^Mь"G!W<{#~<Z'dy0_;q3PpocʔњʡG(iG 2& {Ae܆=9>ɟFHVLEoKth cz!2lb@:%q`ֽ:t ^f06cɷePBUL ~)7J a!3f]W/t[ku [c0F)_b x۝ ϗ"ϨSK cal(ڲ,3Io_r܋~_t|lz*[0BydLt;Fp`*+ZPH|SlwBl.#3wj&c]9b&8¾6Lx gtp+.6= DO2RAlB/pґ͙X}0uN)v_/|j2? _3ukY?88ky3Rܷ.XS{qx_!؉n} Zx:[旡tI`M<7z:`FǬ?h<ݐ[CC6yj0 zG#[c7 t<ڸ:_A:^żIZ3H%Z30VS*cV=oh1.8udоUTͣ9U&'i+4Ӈi7˰{[$:b?/;:^bU\ )8lR{:j޿yx$ՠrϸ PW7QhO`nrPNvy^3SX'!0qG䃕\!ߕu!iI=$蹤y[6hTP 6:׹֚ {6Q䣖Ve[\x$9@`@rQLϵfF+?AKK~:?SO;=V7je2stXR'wX@}xhB ޥs߼-OOCV1̈́5ʊO# n© a2Vt` X))6oWsLCgbRpې+DPX؟L jۀigݽr뗝v J8MF><Z`CL[簉{Vx1@F:P΁h]>nX][s. $#Enm%3,4kH2L3nPktWwٻxRKgA;p*䙺Zu#4Ce/(꭫hB[~?mB/) W5hT>gwGjsE!X׽[/M zq'l 7uqjy ^WZD<Ò#D3؊vp17Ǥʔm +Q..-шvDȽNݓ`g^;Ou ťb 3sh ] LEXXsF'ji[)UBfF, Lr-.1Z9%0OA (WAEYubmY4U,iHcpq"RʜZ.NN6z>nfW$8b4WWqWVWgU$Rw2vS?[+f*$#ϭ>Ly/պQ㡶v $sϿw. xM0׌q׆I>ӝ^€"w7cW $_edvVOp4ڹIK9OUq#k{YqXI<ߞ$n@0ַ4÷bDSkTab-},a.F{'-X|֠z3X%LN^#S&UknEFIRuAr410>Ŵ+qXZJJ O!Zm$6A-9W2o&h/$@swBl D@7 d"^شrp 15^-;5RC !{z(<[%vh  ZvL5"[śºUA5+2i ^0c YmZ?t֔J\#'L<`:a?pM ='%wP{[ 7mjh.p49\ 7M.lP\}r?A4v pK]:^{O74yggC@3u5AfcM[W}xMO6Zzt txj; ނΒ."SDF:8jј.nt580UxVz"o$JsP߇p6is#B N-&׿e_HfMH)2l b JUm<> MJ Xtw-+Vy̯ͣ't?quܕ VNNQee7kV2j9VY+-Iu1<1L9rifAM.pw[gefi/ڌRo ș c0:1SrҡS,TSS]%/(Twf# N޲MI5GƗ*M}֎ 6E.4m)mf >&la/G>Z5U$m~Am2X8ܓ}uR*s_KB`|j"'I8#}>bjZa8;s)4hǧq.sܤ+t {j ='Doɺqm*[)YpY8&?3_pгs:abv)y8Y;Ou|OsSK,"&KiSt|XƆ8/kgԛ,Z)_3fg k Ng (VvQP䃀at*'F6QOZbKP{:)-h4gwNf._C&` eom|"+#R4?xѺ&>!;LE_*ZNL"O sE<Q^^sR^]U~'1$(|yotAG~"-`'}P8;ㆁrEGxW,{xGPjA|}.R7zTc)~O|#uqB)CL*hPZN:G<:Cp@a5ZtKΕ+=$!߳SG#~!/o;* B#Ekz T*Z|l%^ۼk-XY0Iw5pK~z5?k$u?̍8DE#3A4, ҾqO<ߍBq- Lai z@޲AΫD#|< "7_?v6XF*" p)9;n '/ dՙ}!?H[InH8)>ٛ*+atluŒ๰? W"o[6knexv@&y?p *WNfNN'h##`ϑ_byh_bOnGNpBV+io5jJ4 RM41ާ<-{\>VOTacrN`cʈ%І˶R4L\_\K&vs37djZeR*(U sSh})0&K>'y§sͧY;-ߗ@m=sGY}":}e7#(tK <`9 hP *^bLF#A,bZ)N՘yPCY7O:42 D=DBĚg?щT~b{|;ǽj! / U C|TUL2gfRߡɣh` a=(AZ,8ϾK( Zmd(cL(^ߍQ~#y.;G!(' 0C*[LyD"(LDƺ&QTIǥsAB!"I?\I/ryJQ ` ea?لg#rc͸q,)>3?,Q P;ǡ[ŚBlRnv9JiqAb@Ov<} ;6"C+01  |t,TآT;Q $ȕ W2.YO)C_HYddF0PΖ&0I1QuM{,س1xq) -z0,m Rzܭ 1(x#9FZ-M *03VbT[Cx/ox%T ($sqzCç6zm7!8h2ZU+D"~뜿u9CQ9y7FŒywT+jHZgՍ5f5s|zV- J> Ka_nj[{fuhr<_CZ5FX-!h(}e<[u!Nb9tyFk hO S:Ng)1$̾(n@(6SVI#r0[V9Z- |8Erg?f:$U& \9xSRosY"ߏ^zy|ͩ)-qjWY6]N8,P^*N噷CsMp%2.Q{RS>xR%Ftqy8,;m:E;Qnapf#_Q/V0t'Lwl9daiS|e>b_m}Tɥ恻K%c4Vu/b SN;Bp,a!'x3TDO ,V,,|> m4,C#| =gǀ8(SsM\Q{pv.)w^kTu9i2`^?(339t/8:Jtb p~`UueyY9rѿy,RN xѣlU"_I \\Ck};HcZ$`!ծ8a>[$?p|`S lHr.Q޴$=XTHIS3R.ySUgNu5E+`{ M8İWYLhAݽo,bᓶvX JlASo`UP;ӪJHfCPvjڄSosAadg}6+7pcJbGoRfYj+֛p mlܖl|U0 M~/NDcCvA+tˡRg:#\m9TV~xi_!gRlBӿ;L&jf@0E>n)ۂO@jjޜ>R)zPF9@tEցq'kb @dyE+ Šx(o7m^$rl @b,/A-VQ3r9wϷա39N}*9^/50,dW?;+۹3}2p@7WΨ X;M.e8KzKw[)`H>ո66 e$#4E1Z(J5^s3QRɖEq>N[d4٭zHKBNSj/gu<ü8W$tlalҬ]mY+$/p{qW0o5}ciA+PpB (*͍i؁R)T4;7B%sbFgd\5B[?Z<1qSI- f{c!Ο[BU-A ђ".rvGŧђ#+ )laVY8%˭jT ZTXu47$2P^SOX3΀&f4@67NJY dϵӐ# ɴdS X6Q$>nJ!wنP㬔L$g`D,?\/.Qa0=X=KgL^W|W1/C]:XãQ40(h`9gd( cT&=PU ܔ2jJdr}VLn67g J`5m*2)˪U鎴$D~oNjo"$yCCC|qx RRw,t|#D9|nQp{ UePVձfaUSFmK WQ+̙8);m1+ fr` #_Yz%p'pϗ)Fz|v‡C `PpY@i7dcI~'L2f$u#uG&"xڙ>[+6)9.`.tO\SP߭u1:LhȔ9ʛ3Dc +I%yT=1z_ZhxJYԚD+|dg7b xe> '{5&÷xI-:Ch 㭲D]Ċr.-i[c:KsX @"Fco-fVXԑ[bwu0*恵Z5ߤ\VJU.YJ R'(ۂ*+J8 O!##R"爈79 eƍ>\d$D;?Zuvx3SonV׾(  6[<"h&]\RFo/V4.'+M ݫhE(P+R@LJCTXn/ P~g7D (8p:>{^V6OB~ig,1{pͣ~-\[MPf||ΔXsLlَ†1YL!|:bjJ|:_IbYA8* (4θ2w7T>G{q[x5rSv蝥+*,1 zj[~mvYxI1b+hL]UqF;UndԂ=iqZXYHU;e+ {PD|le͞7ҭw15)9~`< ^Hـ#,m 6o"c CjR@h /*VL%4'ySܭN7 a C觶KԾDj~Vs=Ѱ%,a.,'cP V0Xg5["θ|'awCOMzp@A*#S ⮤hl+`gzoi!}nRL+Jysbb.7PiZؐ7Sv+w9Id+4P@}8bd;}(^שdҖ@-/gpZ{# kds巣byg[Zr#L2#VY*͔g9 ޣ&UA&h)cM9J@DڌMcXj^,$:lC(jmE/ 0EN&ՠ5W!Ws'6 L*s=0 nb1jU ̝"š!̩W7L<~uek[XݘpǷv9"8*1<3ݦa wBj#ζ~d{]2rozK4:h']X4>!%Gpr@Z7RVSz˻Ej+*z~urʎ9Wj^VT"|{[U͞*V̅̂N=O[Y~eIbK Iw*ƢBP];"\{ N P&'C[UʴZ=ŧ7 JV@`Z+3Ӫ@hi5qà?ג}c51wc8%V.oOd"AHbŏ.i;èIr 7{!W @[?kA\}ʇڢuJ٠E5d]Ah&V+vt@1 m<:.5x@m=zP-Dp>s5T|'Z~Dv*^+3j/1*nJp7Yq"Z-w_Z&*Ej.ϏT\BCXʹ7q49VнH`_︧@QC(j u xA|rqv4&P h_Qo}*D_cH>3 .+qX@7R&VtS b12*0Y6flMm>s^ I^-( )6RdU ̄OWpyߣ܉ʎJCCe2ւ8*qȺ& 3Bۉ$l2`vY fH4L@r{cݼ=O[nqxjK^qf&<AALW8pĀ ɇc+Nʹ 9sV'U"pӂy#ϕ'5P Z2xv"}> syp.),ɪsx%,Y0^OŜugR!B4P$EVhuϑ2#D琪W:.7c8oD/T'M Jӂ@**k;ܶNL=* AfQΩ]kd+O+|# w+bw򾪝#N+|XiawAᾣp)_:1_ sy)k |@]꒐o?RW$^\YjCk%]q೾] j*лrO a_Xg迼g\h^GxjPmu\/)m]'U`+|A6Д6y2_d ~VAw&Bw}DI**O[U^~_mnW꡺ޞ YNXH~ aFb- dI4Ӫ#gu!VQwt{W 9ɘǮq79MZl-Ivlwqs[ѝ"P2ϱ1ܛ}WcDq}#ސϳ<(6xnEhb)[)kJ}6t.24Q\;6&oqP8U6SNqZ W %q/'ib$7ĬӀBvHjR݆'ܦ#+E-qEm'i}b3N+NaY "y"Ƨ8N)_.g|t; b *u *k760fײŢ#tc>(HSrL`HA^2'bzYivArѣh%i\0<+f?bd-M q/QMǙSiѭ`RjǿWּ6`늣OjLxBf-nZ'$tBJ2F.WVVݸV5 C8B1VatoԁpBL̓}Օ{ɂ>:7kfwX5j^K[ :rJŚv~C< ٙ={4 )]XШ88cy^U ׶%{ͱ[ u: bhc߮,~/SIO}C3|6|jkhMQ[eFfciܿ0 ̍BÌ:}e<$"1'Un_Gu%g`=H3Q8Askə~ACC/.%@j:kXe{AcvnzM_+ Bw*LW=@2'Qs#,c,HZ3 ^Ѷ ڗqf^I[}sCǧpI=XxC'S][h?i z>e)4Иx, Y[%\denwl 1d:^Bs1k?< qb];\u }Gv'~N~м[; F%w]Bv)dTVX7[ӖA?h0&jnl:,1yi"nR8lKTFQ~a O8"Lk\2peK%TD.cnfTl%i))^9LAbP!2WV`% lB.A<5=$63Q%[@]G2nǒtHqHN$Ϙ "ׂwc\ < -lHlT#gBt';r\ㄤOas:M[bA^>tOTlf}HIkġ_;&ͬעt&% pȤxTؤj~Qvޜl)Gyqr$S:\˟x[ @BOs9NOE<]|Û!=1E4i[ff5"bgܧ'o^^qZ;}[^Eb) %dY% n2{x]Btz]5-".t;qo3?jb1fl6/@e#0ߨ?tXt25va*H|rs()ЀGsjTk{$xQ1xPm22c1z2`\ /r#[6z0N{ZolÎRF(Đ+ iG$ٷ2L=ag'( E@Ĝ.wm_SSc[ #O,(اϲ5u@:yBoB!UғZ]?it+4d: ˿a%9}MmI?x,P(O Ny ٰhqLFD;5ЀOް'%[kτ1 Õh8RbwwY[f 瘋GҔmSDI<2ڎ{Y#1ZIAuBPwIT93ZG ֥cgvɘ?X'uXN[nziz.ӝ=0,*'h(v DqxJ@"v=iңkj> \}TRQoNK(rb78#pM(4MSWzDEtaLOк3(c~!Qlp}RtU4Bx1l\1$2Q6Xȁe"מ"kC,W7=Uһ]__E=lm|wDs|F♕̬9K`GQy± VZTDPɳ}w_?<^Z+%EJ¹v*{q2#' 4@o]*yۭ!0: g,Jv vY#TTW GxSL|aYUa[U'3y,0na..#wTf]7rnSu*e.>4T[o?7(Sq׸=(bx28LG$NcVf?UKYd8 6b"~_GGk(eGG}JxGnYJL=MCm;^Q iҀqLpd~=w}0ƮN`)Y/q/Lr!ߺ 0tR;MÅEo&By$D@85~PX8յÛU*=D iH'&h?nѱy yҺUcB MՄ\Ķ SȼD-Cb` Ltݐ=WVgQ %oJX5af`5@`*wE|"h'm~OGE7Sp[QNPXI {-p"W)*ҽ7IZﺾj1R(nݝ56uՆbT~M`䯵BAz!ڮyxfw:$t txV:q;M`r BPΝv"#ճV1Z ˚, J)U{1kj7)U%;UVk~&ҍ:-Zy]DYibeʞz\E-vPnn5)6~2ȋMar7Y  '""k^3Wt>!H3/2&Ƃk4U2~n>4d+ra |"G{>W#LrwioYbﱅ$9%eK1b*Q6H4EoC!>kHK?ۍP]}Kb $vts64'IbVDWXb^T~w)R݂_N3[3?œ2b VkmG>N!4$4uucEIS(lD?$cP:TIv (Խ"yN[ A.a_R|r#Jg-- d >97|l}Vv cSQoN;OkJG)v Pͣќ.D_D a#G0tS6p9?uj ]xGs?奔Rf@5o! TVAܮQajt}eI4EIX\㲊Vs6 )<]ºhAo 2C"kڑ48џmH1-|S||0 KAcxmX4c;1 _3a&j&kV7G=@aZ-Rci+ Vg(ir8;mvNұ0 \c$G5W"*bc׎@4bi?>g|mڍgےYSʮ19䶂,^a` ~b}#AOX|ݯ OفeɅi衮_w7]Ӓ5X20sUiQ%Y_0-: e0Z7) .(a;P 6wp m֜gn֟f"" Il^z PK{'%WXɘ#|H}(OX_^ ~y,glWЕFIhF9,<_ I {T̔K,ͦrc#- }mdCy ec߲r8NWHZ3KIӼ\7*ǻ}%6/9WҊɋehG町,J2p,Ogf*R訶UA!^!VJ` `^xYJԉ_I' ªO%|K#*Mtɨ}[ !ɘ{0ɷn5VA׻ꌛoLk-&?TeaSNڝSQx5Jk4nBٿ %zTp")z5h} '"xȿIn08vEo5^)U20ҳ!>?zm\N' ϳ2:-7ʂ'C( 7LtQO hssqݪ3\#*0wkILBT"q$`7]u8%<'BbYU1Q2d5C ޟ<ʌdVU*nKhTO\' !sky< 2\")$i .z4d/RR4~M`Uٵh~$W#H{\N}w YMA5 cN_W.X)Gys3F1aPL78ѱ.z=‡O)1d.t4}'Y1) W o.R1 ҂ظV)40Fu|C@qO`%3i&mhK3Nü'} g} -JU"aGi+Ժy%Yy*C5Ca"Nى41įbe}b7~~:%[J} Mm+N|[7 I]cj}&K`hUd;ԋ+N!WjYv _L$o&;>jVߘ#]'}O3n&۽8iiF W}e;tEÅEd5.9T05u* >D)s܆ }j{}_Lu `Ty\W6X[қ`ںYϣ^dE? Zd}lٹ6($ -9LDaI o؟VPrSNfo$60FxؒuzJ.љ.G36 9uZ5[+lR^f, zAIh2O.FQXJ~rRHpV>R1rˬ@ң^Qy:Nfr;QNlaiia@\ةtB!!]l׌+<Rڱ'CC]qƻit:f?LkUAfmߤղ[( 4hM u㳒Sod*uՔ|}n:|!(cCGGa^Gzţ%z)z~2mzgJChOv\(7~F .kkM̱Ⱥو#a '+>Yi Ld洙#~lQ6H'4AQ\k ,BrTzy끥ML8Kw? lpЍjڎa=ɖ(vNutuq@ B~k,ah%_rY7Т_Lp<r?4uTߗ@qP9!5 iRoU~&X>qD[J X8鴲 %Zy>\H6L_`\^-s{boVcHl. x둝GX76^]e!6+SF8ڜ g}`8T1+y\/Ĥ>@cC@ ^8SP4@(ZfeD>uF =Ez}T\fm1Qp٬?洓77pbMlhjSH3Թ\Ly'~xx]̀ ST)_ [~ajќ^PnR):;JG76Fs, []R~j'DwHV+/ 6%k~ښ?#YDw>R(Ck0'.) @I c H!޻ǣa4HesKyPr V,ճbOSTFBlC0[[W/j̽Lٸ7(- Qf3OBIrWog UqܪO-.zD~[ vnv oah9;KKhY4\h [~qzߡϟqe eKHZ:b<들vXtɗ8ZaP̃bq~:&RC`·"E .`a.;ߊ]|Zقv~Fhy}QO;B<!k mM*΢9Pׯ03 '"{x73- fgn(:eNHSrfEU\5"d9=H'ѫ*uʳ{8 $̺p#ּv]zX|X,^9QUMCM'D#E`!D|%{ၵ N9&SfYg8rt|n)Vup۪ |"a&'gn.>;^} <$z`wΏ 36ܛ)Or}G^%,QmKbHQJTvG ɾb3Od1Y5 _|ĝ]IJJ6nXƘ6[`) ,+#9hk 6i <ݲ^cs&'ht49ؚ%lhPb4_ka"ԣ^^igf:ShفsR=`L.445wYWbl}lpC哌BW'D<$\vҍ K D%̚\/Qx [-q0Āa doOGNU8= -\YIA|7?:`wTIJ))IEћ\azRs8,1-' 4ȼ5Qxj@A\:8Qϯ2 Z\*ua|w^AΚ 6ioN} /}ÝB`nqC6x:Lχ2@9{vv $ z m vn44ұt{ ZSH h~,n r ?g֥6WוUiTN@M" krIM_[|53-&+fH >Uu諻 e2VS-D2K o)tv <=+vۛezj ؂REfWl&YItYS#e)XgS͋Aϣv67n9 5Nq'X J3'*50Z;viC#RKeW ?2]fK#-ThPBO@RR|p,ڭu0ߝl`;p&{juC E>|ȖtLRYVchy Mi!.k8RjEQ BpzI2ǰ#M9c#+BmxCʞTUF~+o]WqԝnDBEFe>F*\Ses{L'z4Z78OÔܦV/A54j||?/qky)"T *|X'ZH>Y~Ygx7>[cH2P C *Ҧ6sC+B~Ƹ#!;C25vm3? %w6dI&{ T?eZ5oмuY-P,m4{X^2ȵ/Su+O7"ʏԹ^ GH D&WI?>9uSD~`9S>j=L L߇EV_6#>}=>R:SJ}0$̰RJm٥41/#^KMyhSk.ehU 2/o!a_]VAݳu*?nN8S ɫA+x,ꂰ!y"/̬Yi5'"`l-Àoɟg{=S;I_7V]* q v,= i#v.5\6n.\{ԏw;vrALLJ7\&a!5_z8ߠ퓣934l ||#&(un~3b6䨀D1a:l:=b* ɪ}6Eo\F_kWuں6Q^Kf|XHk8A@Ц@8ld%yW?} ǪwRN΁k]+l)*z]N8jSAįodAjƹNg|Lo+F+P}IjbMV L:e@>}k R @Hl[08=I@Hߐ\ȚSQFkG WhJúgJgÑCVkzbĺiTYF5\x]obf%ty`"hE Deu*hgBh*ȄxF{j9~Mu0~R`TJҦsQ@~q%K)xoK@t55ld_E:/JԠJn#E Z- w|% 㪝%~(דE̓@vݑح7[-T-V"Qyj#P%TfLP?qv%;ƆЪ7IVi_YgCCU"%Y7-jyƳv9\q4k+R|t\l}Ƞ(`=&>ɟeXV81@3D+ѾќyBSu9h <#I%<]'c>F/~Ώ^mXhIto*w2N`[h p`oºдGJ3Yh&-h$iR dn<{ošf>f4H"3)V/oF\ mM2la%0eU;jiknE^DOQMĨ`z!o2v\PyڛrbS"G I @%E4{@Y|/3?io_bŅ*vx xrb=W@C-kΘO*'oJfiFέ盐!ަߋBxT3b"L2\*{Yxw<"e_3r"ť(=L2hОA};HS,Rm蓿3%f}8 rjCȽx:$^G3[hEۢk z [trIM2U}ry#HcqM3僲ewZ?Âb=PDŽt33ۀL񟌯N{ίu9v/lI(kjRw 6pro`c,dh TҪ8zes D ::Q{ 2Rf*tø., :N&1ca|*[Ӌz|{p –ko|˛'b2*#O"=M)pL {ł^@X[\ a +7 7̕o<d;(b0jI_$ ߉Ιl^ +kFU-Ʒ :fb㜙F`R^͉6̓2RUL/{DGսqWY1=0k `&Յ\> 6643$SG}mW= v]DYfǕByDCy5Tڜ sHn7|o5X?|B7[6҃-zl0λn>%'&>WTɪ<)B*g/'wG1/P\|9QXXa~ȒF.$"Ljߵҥ4ّWt;`U14vX̃n~;JMם\x`e F $)vqLg YP<@"1;Ő[a]qNRRR1z{H$h99>KHh+%?C (mި[SZnhkJ ,|s:'<1(1aԓq d;HL%ǞE7 Jbw9gx 6$E^jMӾuJ%-S]ʗv}z)n±M2CZl N^ t0ܸ!|́aGM@}8VDž{e pILO4k!7Dˀ[޵Ө&zSO%"!FːdA|A=,AzA!+p*7b:LvA"1h7+;Ԗ }::P7nӒ_x1 р5-#D`ce?]wG޳ Ch kx oxCdt<[ţӅ޹`dGmJP& t<&[=ŻhXJ(x 7gYH|7IwR"%\4 藠麀xClz$   + u^|X=nEFHrb%fbN.vQZ4ۯkk pu>[iZbg>?0@3ۛqhS tRL=/s{͉*L$ϟUnxM 9rqgw^rrC:֗'FZ >l?q7k~ש[r02<ȿ,t]?hdiA k_B)z6T ߣ%4A{(4_ #y:%FusSycdިq3y$@;=BtT>pܺ&{ #[ rNEWS}%zM _S@nuof Nvl&;hCVKC")X.e> ҝ}64!aʒ[3iHG֏^f`#X֠_L rdo ( Fs [M`Wevz|X[a"nH ]F [` 5dRHE:Χ3E2(o0-mxNјN*E$F~2!8Dn>4o0*zrZOݮB yb1 8mĄ1S.=Nhj#`pH2wqβQ:4'uoy؋9eb_8җhjw]ssjr Դ̛ i9 jțz[/2!Է-`+]Y4>p@a <"i NnD=}C;(g&;se/ |Ul=nKyD !Իh5gVP{%zB`#3 YF8v[~`cUŁ}_+zՄY'dډ̐Rؒ_7HtR/b|]+<}KUn/H lΣi_~䶡 0@Kқs {(~P2g8@uK9Wf̞҉GTgUu7M/7[p Z=Ը[DTG! wgCZtA4))/Jy[g3o4[MecԞ%hyH+m"^SRO4m s *s 19!0`j%` f?E`ي#UpkFޱ3īq뎧Hr!QҳmY`> r֜_6&JGØzl~JS :5. ~B}?& )"uY:Xl~~Lr@q69)'8kpӶZ&Y)5L(QHdFAUmwuرsFO8GbA m©?ÄsU&)T[3Ca)/?ome͕0ߎlni:QS:0a/"f;#_{rٛA>*;La䵤4#S/{J;ܝJqn?5QP4G.<-?glՕE<=H5d)"`͢wQ}\Y #/!uH$^k>n.߅T0#`9YG֙ɦO9$gS䤗@]~mȞI7NB pȁ `38VG 3l *\+e*-sqb UIG7uc@u`6Ӽ9'2c(I趉x|3LmB7eLTa2qڒ~(QY>Ps8 }JȔRymLmd>YevY ہ?G@e}d~$|K.\4ic[ʮ0  ^=^ӾɝBC;g 7b'W6}"ş;DnUM bLl$a@,.g cqo'^iCov[NjLC^5N5wG?\6NʎbjjXހK`s=cM ǁt޿lzxaA ZT'A\9] )N AjXWR 71sB@ՑBn_h15[ Pu<̄{H` 5$1 Ķ ׷/#Dʿ7"ax;E9&e125L†NQR8QYPWoKzѫM*^Lwq۩YƟ*k>kZa+>4w+IqD"Dfg2/[SӨJviMd'(µ< D!ճDm.6qL`ˢ& z7jU99\v_a g̲& MɌhs63x!ũeW|4slvZS !/֕(R8tI79ILͿn"Oŗ#ϔȤpg<ZM%lro_ 4RHD^Ũpya; Y]Q۾CsU62|FC&U?_d` ƇR>zd cI8.pmIƂmM{ja4"VW:>*|;CuޡZ)**)<cPsMN:!ha*b,qqNC C1JMgV]9&r=/% By##{IZ:'.EYm E v;¦]+",J?,%j6UE I25 Mwj Q@[7136n+v[Bws; nP5\)g\{B~s yW^0'%6YT ݄3gEBl+ax9`j1CMy( C$;횃N7z\ U9O_̰\Ωh@ .m#Ua|bxyBTqK~`Yx7frO3Ti'5kHU5y*gu6[5S* K=oF#oD_ L `t7EZPH4! g흠 qԃn# ͉ṷuwEFyeJ<ղyS;iu$SGJj0)ytY.ۘ15Gɪj D!ͅe$Vr"Y R 눘24i||dJBZgu~Kg%G:bcW1T?Ay ^u8dlYW'es$RIa\c,R%;ۧ B\[o㪍9H4=ivJ4^I| 0M,5uyKQ0XY`jCw{Ak"27[`2&:(}8>h$cMn fn87%]ݥZSٴl=^ޠr9#7 W$XZa1'Ue#H.vT;.ʬdzp]Xj Q ˰JC:TrOՍSL_(ZX D~@iԑY,XT;FGYDc^h3qG07El|fOؒdg&yķSCK֗fvс{Zx !N"{5D}3%PboOzN ]b? SnS,8%u(*>lݼ' wCQS29UJi/ޡoُŵS/ Qn356㏗I.ʱ\xP'O]BD R6)37=Cz+`K"ʁܔR?uﶞ ɴ&*BVޕ^#%nL 5 Z=4&V "p% ACv1eNĢj_@!j.Xy(Sz~' -Xr?vr kiz٭Hp)RtFwBiM]Ms[.'-Yk^N+εNm[.5+vL4ltvNZ"Y_Zh]bK7 Ml7|y+8U!PZil3>a~a }$k>}Bil䷧3,b,H_~#b_wdLtDk-??9SL]FfaӾ-K`/m%m".>A'IP]C[=BY]ó@z`[E2?-?H#PJg1P>dzҸuE`eהMASgtb(v`ԝI<\خU~:H`dB2r{O(}ʞ<ƷOjʝHwd~!B, 9.߶hi(rBt4@ + |>$v ny"vGd Gn`9)I#ɝl^P۵1pIcT+K]naj~ķEd6n(φjӆ4s 4SC">]3(8G@h[^}k@`ߙXI^ŋc _q~ECHҷ*:zʖF#XSPpayx} -`HI!}|Z&? ~cnj3c\}z*P=6aZ%~zaH{υ*]+hҴ^x6DJa :t4<Rul:w23MUFߘ}2{%GM";.wI4~Cg?8!X]սSMn!V^pm*9 dh;F6m%LP^dAC2A8]QxP2RҞ6tQ"2IYc~"s/FefĞ0ܧY# ]m[ ,1nIHC;^)uGZadhb&diY^1n;krrA7kv3^J^R?OWyTŎ~B2+]tbW7X.G>Ҟ^ 2hrRhwz$]m[|b~֝J@z0,JP,ყ.}"]Ε?ٚcvM${vmb7SϛGKݧlY| 6%H ..xv6`\&dQI`޶cޱ֜n+}W{m dM!pK;.mn޿h?k`at=c՗4jhieIQ dȐ,:^67!Ic~r$H]ҴečK'|u(6uE)Ky14"Sǵu?e&[22w\+刣0Pˡ,I2?Ԓ^Eh0ف#p !l7JC}r0)gaj0?q98Y~PUgSA險t=[~!2H6zЅ즟h6I*d7ą]060 6BU բ% b+SI,kv3!9zӤaY @]wUV'-#>i/z$H:"L]7{6Hؿ~Ql֖oOG4{ Sx@ħ[TSB'jb$oDO"CfF1]} !&YDphFU6 vk*'TW7NyoG )B걱(%u4m?ʒ41KNAKzJ m,,PG- Qutw%Jժ hL Ԁvxw@fm?KH8B$XzDCG&LBsl{8tq˯A<{a0~<5ʬ]?p$΂Z, 4O?^mDG:M3X rVe[reꬷ:!is Ox0j,_]ѦvPD] {FcSk&Ó|~3{`w#s`3Zg7&ճ'CdvUO=LXVDq-e'B_}rv$|оѬ$I[Cq-Qlւ.Scl8kyėbf 7 ֐?ԫ# %J®T ?w:qU!Vg!x3|U07k)^Iqib6Ux`?9yr.qȄA k{sD}z ? ;1:z`̔2oMoK@zbg@' þQSdO%Z/^#}y\Sn4 JD77,$+_c4پSxӮ;;N+!m}fWUBΜ .-T@%,Vj>ư{S2kȫbaTݦ|~v'Ld( $+Λא !oF8Le"GA\Hu cD`[P|eP2JS $6N}#"ncx;{oeq?Q49.qX(yxcALͤ5Sƙ@1i~wEO5)-Dv\ p%GYh4my;L2<><^$|76Gǖv @1ЇݫC2EV)7l+Xd=d9{PkYjlZL˭]CEYM=a,7WϢl E˗sFsq-Tthƀɑgį!DA% 9X{*׏.t%L6 F7!m.+H\#FJZO@M$~mKS~3.fgR|[\艼 %]PU=Nm/4"E6l724b;3 P@oVepr.c1 *oNHO|XC13v.T'n. nqA6ӆik"l C{߻%B`@AT"B/kLnjQ#.OsVVb|“7c4'-BkBvrbv_LNpf}eH&Msvs9ь[nTָg@:c4;NOzn%ykN>>_* Q#$ vw[OGc' ~P"rK} 9ƃ֬j t22w)- J":yjm36JDz);mʼn>ٛUk`grn,@?h*jJ&fXF~حtXb&&[Γ 5">q FJԐh nŶϺbn65W`\Xm)nV iC_A;9'G]|l{fPU嵟3[ Ż90H;4Q+!& {"񈳃OucG)?)o#"6xi| ̗VSD)AOAAҨb['z# $*J JϫJT!9v^/? YyvRѯNWѮvˑ}n1?ra3y:0w?d~ /`\xGYy9èEi+_vϲftŔI҅J<Ȉ7(m" ['sn@C§$}TіiZBB|r,f ƴJ T"TcA'5Oa )O= iq"d%Ża*ڠ6{ :kOуa;Rc 5ԛZ7{>[OZDU!8o si ɫŴР߉>"qCeȪg/F*4M%F I`*hģ.MIK'*kIIn7\^>!]ܵ[`XQu? ۇuQIRF$}[^/?QB {Qf2wG2mUc{Bc͠rc;\&I궷AHGVpetSDu 1 G~a3~^4cZa-|qJX>CW ~*A/iEM!Dyk˺.ΐD2H8;Y:O~( ;holik-&n /)> rH:!E4/c/2uAzVT#fΓ 7 $ؖ!nwux`X,c}lփqA+eȆGLc;g=/g&;:BT[/"=)̭{ޮϰ!z{J+>x؊\d TƿVf$yB ?s.P-s GN"wx^-RtWE@ѱMn0uM4BLJjo9qys~z2Fe}|+KĝƉKs7PpS H͖Q9c9 hOz(--~XPWZ<$˚R;C 6Uqԏ_#،0<<Xo Ԉ^w FzvJe7c-ߧZHKWR7 ̵ ߐ'C1CMjMЀ$RJ-StL? 4l`wŴfHbʴuSr'1@W׿x :@"V0hH*/k 0ĖzL*>ZKѡ37Kaʒ/"nhz-=j`1qOLfXO;k9^Ѱ[k.]ļYÿ%|[%?,WI?F+$c.5zR6-sP搅EG s;sw;]/H qlZNhϮX+ZXGZ|ڏy!M Z"̀װJWSdbpE l<_x> l- Vc$~8߉^+IFv'dE?y0l̳˷OOBe8SN3,# RUC)A2U#TKd8$[4P%R.Éna('T.a q#SG;զV8 Ŋ9(h'F.+LҦ^}ݒ+x?U+LI+)"LEU Ÿb]u; Yoė2.{Acg_ TFlalswA< \ȋP$!XXtDߨYJ!ފ9~#HBk}l_RT,'˟L$~I- DkzVS7; 9YAWH/Ƅ22Ny;N\] 1#J.$;mHhG{w}pr?nf6 m:-![;zLVYطD!,~3>5{DMs(o^I{`t#nDHZhe_A98OM;XM@T愴517a㋓oī$):鵒x{QwdQry܀Oh.q}oiQYDo4юTaX`Vj$]g*|XOp[Q9RxTȅ2q=^]>q)Q1bƣ?O{7(Pl .x8E\)i]P|/CZ)[?2|4S 8\pBiQm ~8p 9[hMݯy#Mum '&amaan/o]q{^aocPm\7Lz~Bs[Cy/`LB}hKgR6"3zd\cQ1Cċ6#AIe]aDDn(),޻WglC*p[J!-p2+'q_nWnEJ9P#ɏ%X{uwkY06nR*=\T I-#/rh(yWQgnR;'AY1f<Zkh+Rw Y.zmnòSLGǔOCe"[wȏ=.;ɚI3F/k~]Hp:~mzI^w$e &}O72!< anA Z=M#C4}r]d Bu5f#ظVPpuLt%Si+Cv Z#-[RK *uQ dy!D.`kY!a&YW6t\lV [I*Q6(QqUq $D#2ꈓp 6|?u!e炛B|&}_$Qp>yЫe󎹕wGYR_7eI#:'9:!LZ؀t'(MA].8?y ,gmAgJ .!pt[)nS&V QĦr &@aTx*YG$*' o=$yV EڭYۻ[P`弓]T!QqtѴd:~{- m{_+rj6.EHlDНLgcl>tƴGѿYHaa}O9vZ 5e{1et#DvQ2J 0VZ z^=͝7+xO>TENV=XsbTP۱Ƌ1bvU1 Aa *>{ Y?DmA/3y 47H5r]teθfi$BlbEmA4ξCz3s(GJ,2n4A}!7QoGC?(걄6#J 5hIgC]luFror!z]⿬_G&,';tQӤ.IK2IοD#su;{WDAZwցEP*;fё%i `V,AݿFb׀ɽK 5w\[W?H$tkǬO}~8HW"\FG8R]q-iX+flNj6>_:F^rFPYЩ2)Aιb+@K]A2> +4Y ѰkraIEBpAET]M=L;#u#)TJ֏NH!!@B= )=,(zdPmG0ޏK/zY0ǻKc<~7,uV Lx11Mn8j_2O]7Xrq$ZҢeza|m<*. 532eBf&zC֟N;`&/r}?{tk<ϸ揅|8^,} 4AJPȦF "BWBm1}I$l̳p EET$O_sHF3z^{MS1xr,YrʂrE>dNG^ƣ&^ּ_>Gw>|..FJO$OH| MtybP=ws;Z n|%oWD_/?"~و.HF%9̥oNB4~6lYLdI,@2؎ ڭU,:;L7gRoxS/zN%R^cow}գ@F`AAX;SZ54NgVN2Bcܜ)=QZ}A+I.a&@ =Uޓo9n V|ѭw p@pl&cQAȥf&@8{Qg1_V9 uL C T"GMsW_NAb3.;cPXk^FC2hEa1~ ws9S*5ҋ^eu- db8pGTৎD D*Q[&^|bwXDiR橐 ьh;UUH&緦qLO*6U>U䬝Xb@m="uqia|to2l9yo ~7@TeaPPi5.B 9r|,t^{'%%Y󮈥V~Cjs.Dm[52]2DbeagЬ3R%ŜVYv& OPKiUfc:m kSARf(}_|0^e<L6Cd"StdM6 Џ Az| bnїfYrbŝ -$&~ֲ)ԍKfpb4e;u2gpz aS YheMJYЮ)\kpEd8/ڤI>S3V)u(nCd3\xxJ(Â~%J'!NUHo(>}Ozqdߟ A4ڔ48KҜg_ hdV. FBGo7pRF,mWlj nh'i-7fE`D#ǁȂ j{r&JKpP꿵0ehzF?vvTWg3Y #bGp=PkQ(|{ƝzUD5{LM3%*M d/.}"F/]GAd@QwTYT'_ħK )tKƶf}ݍEv. OҎe[h jbvoFlplcEÙBa6W(CX\;Qmt[s]9nxܳUWk٣9%{}8ݻYjo#p!]!6mһABq\*MB0C 7w$RZ mzCIw}iGcu7sn&vE,;xE v2x˳H-;KJ~.6#V{HOKG R2tOɖ|$|ljYq_%ac~5nto]F F{KpgХG:QU gU͝{RmQ}*+ "ȷH=ѷZ06v{/DcgL/¥V\,uߏOIĖ-89tY@[Xj NõGq[MY`r\l0[뙞xzw s}R+0nk(<%/ph̍,1F, o4P,uawF>آCOҾ6t=%Y7P"jxxAC[c#{ w0jTH&B@%a^g CM^x9TȦz; U> ~q5;4oDWDOC>j)e")֧yuGN۔H*!"a8d}ͭ, {HJ \o|X.X| /aHsͭb4R)P8(67omî>ogwq!a (A4읩Ժ͐M"FTx©Ն7]N:tgNN9pSd 4(,T;)JsX\#pAfx[_ʵ' je@,ɹ_X~EvSԏ((]?S,A59P>FXQ'^JO ^s[=fr-eeuQpbޜ3ո=Naxw)ܬ=ҕ^g(N&1ZMm!7feZZ"ZbXؾg( g'MD{mA(7/%҇zJTwF"5Py[#Sf#Y 8>}Lz P\,nER;8m7In{f^rd֣aeYȾ7T ?;12D<,4 Ć^b?vZ WY*ާѷ7lZ7mE"jy߷[2 SFGeoRzdXimdHh&x)q LbUҹs<{?kV6 -咄Tw VOLD.ZMuH8K*[ HA|Wo'`ǒt$;;<«tOJxMJ7MhWmI2oM#oASڥ_38^ )*w!R + D& 6Mdmlˎ,t^kEJFk?B!L㡋Qm#ױVH2z䃐}ɖ-*1Lq8Tܜ!j S9"_8a?:U LqY"V&]ыιË8@1;viPN 5jUMaWĢ!7^'PZia㬧?KhsB1 tj#;C92Ј٣\ !w{nLdS鍝 *⥁h\9I8M.ǒV`eE~jk :gB}QRu_OS}]2옔QRg_OT!*>Ez /S#B́4 2;`MB0[K|٣mwj[kFO +a*!"BQ(c0`/BEaXצj +u/U<K>ycDAA>,jZ f E}VH5O][!veD-T Ye$H~ I9;c]. $z@*tr TK?ܵzG&F*Ne7V'5@Lf-@b.Qq+&W],d%MW^2!t5X-+#[?dȑA5Eu~0j}~Ja3}uT.MHq 5 )flRlN̉b;Rc^:bmF_^u3ߒn-ϋw_w]'՜iߡ)hl0(ʴ&#L5mfV!% jߟLK||dufPRk!Xg eB][4 D>U&c`׽|;?<;A@y鯋s$2n1z1&.4dxv.<] Zgfk =AG DTq%CZ14&'ەWl7AnqǂۇZ;%#FtH&[1u˕ Q+cX& -f52+(c"_/,Z$q4Mqѕ3,Y]jpcp30YBk𜯨fFǪ:i6WVyF_"kXwªg;= ?R*;λM n FNaJMIMPoIҤkQs :m~Yػ0.Ha,Y')Ʃh^ֶ-7Sɘa]זn}KʭfP`-xdgM8gKmh3 .!iMR(4 ~Hۏ .bb)p2ؼ(~<88}6r^cBUT+/Qwo:NѭEdtF]bv|28)_0.!!jG Ƒٶyf~6oPDy8RMYK]JMߢ# /7lLd|=`AXolR>KܪN*^ը=cZF#XcPvU/4B|?1٤x%%lX䫘LO0%'hHBwHn(`\mt`bIytNBp'F০@=` :+lpUXSNq7ؼ0ΰGQ^MGIx/-(*ӊ+&jmXi *9!TYl񝠥ȨL[ Vţ @ W# 㦹x y5`F^hwA;5߅VzQ-~hs)}A+v׋Fʷ Jɧp.K`a;dްXO K G6NF!#x JM)S02N 3maie*10`e^Z[yXm=,BoNƹ(^tbiKnGXD/P#!CBISVRt_AOn_◱1Z߈,n(K YϞB#&S{tJ x룼o7ڏpy#3 %ldr=.r"jnx?a*.qPŧ-"{@[ b旗а.3 48b P%XTӛ \/pp|l}q΋bfRi@5H|f @㣥>D ㈵"LUW1v~;om*AIoG>N'j#w80V5VN9BiZ1oslQf{^]a\QA}f,eA]GwB۰TML`Q.9AGR2^IɣaX޶$N>~j(لkKSz⁤4kamA@}Ù.ʱ/^P7mgR̗p2aIlC}I?\%$ߖh睗aSkuȅzHpl$p>;h(ugc‰ʄի+B.qJKh[өX&I+ 0˨_xж!-8? Ψr,0uqI5q ⓲ wyZ )N2a)/z9d{Ue |*BSmR5s#37{ƕjFuM@M_ caoBoƱMmKu3ƿג?$y,Q91*1'O;+]V*Tե}Do0#EϏ͝hӮ+Q2  rʃ8&5: r;7odZ3ͱ4S8,yuhBЕ;!dk,g[Ufy!Uգ2Sbkc?(HW 'XٰcE`"e v7П Gxb+3& n{Ʈ΂NwXׁb5 U?3s?3Z}ҶrݑT/D{%-Ob~ 3 $c7/@-b2 u$NLc;(׬>.0'г?qoM=nf C4RyDR͂ Mbݦ08f&r0 1~I$6EG !ӿwٔyܱwpzS7K9Y훆&vgsM7{v"E!vrU3I-m9vDw^ m93u ̅w$KIŐ7]u$i%}]r\v {]ŸE%PmA+G7M3Zs"gc}A!mG=b:(cO@L WCRD/h!YtH!T7waHKW@3XjvcٕDC37gAÔ 9 =lLW4 WJ Gv9lAd#MEU ffi.4|8< Szh[%<> FCXF)w?EpfCi 5gUuN 1BKW?Z,'b ` rߵ.0+2_Z uZZ)cFe)yoN>Fw;VFR'Yp!mGm^Ⱦ= y*0ۿsBBr)IǏvaߖץ~,gsWfS:'mN5fj Io A0ʙ \Sxv<1u6LC;ꏌƁnk  U.-{'!bPe(O PXV=E_LO4EǬ^e=欈 PEz@Ȍt4({Nτtyu^Q+'E&/BK!:}cn#UFhzaw+,#$<`Hɭ+c虧4x'7`[+W\}Mc1XΊZ'H='9bHӛlC|tzg.0Ni|tgyو4`5xŖ|{<AZ]=-sP,d1)]I[U~k2VO!^iRa|ÙF ''CZnʄ{1פա#@{3yV8WdI1+]#>v$v?>ՀcL .~in{/̸M_C]-uVpvBsWY)|U;+h bODc-OZT"J8mgU-]B-,5 )L_;CNnb4/k3 h RB Ur'*9M)&$B-7o X}X##:{)IqwvdCM%zKE _w.29BQܗӁ|N6ؤ= Zݣ%.tHowO7RSQML ,W psGt|%!zjm`[9TzO Cڢw%򽭊E_vƒa†?bvV_v%dWtV{PIf8$t3|/aRkעI}~-@a8iO:~IM9(GQi6x C^@]GR~>ԚTolI d,9΅?3ʝn>?@fOMMMnxm?*h5x@3/Q*i RaSJwI/qP+.fCZ6V]INK Њ>XGhj0o BzmʬnQqLͣ5|c#}G1nE|Y$EDj$N1oۅ>)HԸ*=FCfQIR2u.)טaDF!xtVm(l$^V<8N8(:Ln?^&ޙy:(6f10݋{*x. u`vx^SLHEl\kLF\":"Hm̏0{Q4pYS8ө+eP$ۚp޻ `ng =W_g/"otb0?Y_RL [xH3hkjOX/[mTku$b~$Iz \_# D$BDszx.s.)BgtZVN@wh{45`ZT83~.4G#RPL  kE3&uF. LlEET%[#lKy5~˭NGobs>(Rk|oЖw9E`\PХү֗P`7-ຼq4w]e7>TC.ȂIhvL0{=[BH:EHZꠇFWQ"a2c @H86!<\UHnc1,;!c`ʨq/ɂ_oN {i)fḥ 4R;9F*0FpN^ѓPG6^`@rT(|_Ĵ# x[ $] fXQq;Ch'ؖb|$h:#lhjF`9gq-!Ob133iLOrSJg5 #=Jٱ,©) wfK=pWQ(^[0Q5/ @q 9KBFJ/ cV>[۶KOT$fɕX>:ץ煽' .ɫq87F*9H/Wae;j^ZRrAR)/&0k7$0$LO; 2zv\eb7 ].矁%I{: vTK{WIݐd"_ _BEw8U{Kwɲ!RVwP6 a͂UY,&_BW[K'9\ CFz:S*aUxm["KoL;K(rqye  IY-%ꥡUAVk (?alPA! %'E/o.LM{MTĺroaھ†%%a;urQރĞS jL8+E?z@pQ͌P)(iTdE[7=RZ6)>߸HV9\}{0XIB9UX̽?/8!6)%W<3b ̸FNWw=$b>6h$<_.[ii_U{ę۶D#%X֮grbO>^)S$4K-,q$ʜ_9>JAI w\P'm7o2,( FH7 O%H{4ئܪ$6\O.*ʘ`py⤓Y4k}WIz9%j G1c,Xr! {  `7H[*ǡeZs&^ߵѺ_v6EeXhWJFp@OL!YDzOK0WŜb:}i/ïnecA6k6SNtwL [}t6B8Я cdc 0ܳ%>"LΩےVZZ>Igeaމ",TZPƿ#})K<0`يݖH3W$N?1Eu{a^nojkmB0('j_ E,$s ۹aG&!Vծjް#o^t/*/38@y]`o]JmT)ih1woA0)O_pLH8ڱlW*6O/;-f9~D{,*w7_՝FU3u\jV^0ؚ69tO _~41;aC|GɭOB%BHDFO%pӡkaL~^'{)6C}sWVE2/|̋Kc''0TFNqrC<ૠ C*;{(Ixz1-|"ѷK6ŨA]kݵXEkuW_Wws鵈9b;)-:lO K@E齚BL!ꖙU:\ nӚwkFZ$i1(&'5RDձsʁWko`2O5E q#7#N+Sy%AXrsyIBJQ%*(81M3M£%kƤ8 0Q4X6ΰ7FEdR3_2xyy??eUɮncŸИ7FH!;f`;&~p#ɾqNUo_kB+JE{Ges@*q$A{g&8S95,ԸE9-XUu I"-?Y]Q@95@sd9s 1&A 3ݠuϹuΝn&Qá9)?ZuVMNۊƮυRl\w:{ߜ)n8r? ir`ޡ##)C A8h.o"Φsxm̈́^ fR9-=R]*Rc aUY>[h_9JQ WG|Ii`cgw@v*Լ/ob2 (J GZ%2hnO e}_r} 1jY6V@Y;߈浸 Ū" ^*k𶄨Fdզg+}<-?ry$t 4,Oc^$9}/I_]9"Ujd B̏n-Is~_R0 Mdi4zg㔉N EwړW\g]S u\#4u!uGSg⠊WsVp͌OleF!:yv;Bueˈ7x)TzΐYI1h.%!惻 ,;^{[!#i-kUǻR#²y e(iτcg(AEꛘnD2pPno(la3eㅨnb%SA2~\k̡MGnVȖ´]ꎁ$8%}v@C+~(~PZD$9救8:1,!Hr .drs?aPZrGD俹(%7Xul@t) 8<ҪCQ.Cq+/oWUqۥ_^Wً"1aH72Z~rf*03<`As!UŢY~q! +z#Lt3u%|tk@ q'g/@Y&fS,C0V#''޲rGվ.rw*!њrΤ4=b13D+дqitE!-ނ=~^. BXlOѣ("H_[Oc\MUmn&Ҿ6arU6͢YhLfԸ_]֢ee*VΈFR֤E}r,Nxxzti&M0pww'\aU"dX5f7H)Du듆C" V.R_Mȷb l"^ jrngI( ks| Lr ×Gܲh89N`"~L= tꀊ?EX-YZrQ⌏\+ퟵdWfB+ܜ;!8~̖ޖ*%L@WJS4FSj\Eu ֒Y qmǼi;:MQI+ RQxݐp&h˸j/*/~/BJtV[G6趲3/gТ醃b6IrxqHsK "ެ  䗔Tu}ok("g6Y":W8qcB?#)7w&rkQpXwK&XJ8#8y0h=K9Nӯ:71y F*^ o2dξw0u*>/Su+q:Վ?$22pihD=`Nl dfQe?6Ur|]17c t_-@)Q/d-jbs)$j=*Qat@ufMY&T n AXM R, <$jaىS.@Ns.1roFRLA$M t_= ?(/W),3Nzufrf5ǟ=/=:Ы"] 5%x=TpTWqjtڐ #̍&ϒ8~.;+oM 2l$\)b83Od%|)O/s&~asP 6hLq_MGu(}Q0 5:wlTi04hi=K#3AH}G7B aB@b=J$8gd̮i71ǝBEkpkv&>yeuUzDK\viw y<f :'N>|Gx̖B_{v/({k/#-L] |#+i{N8QZ4h.}`iz0ndfv_`E9?ݦctF),@KͦY+y +mnTk07K2叵z"',vzcթM%v@]$CRQ-XbGev'hTX"߹/;N^߽Pf&d?'_~4Thhk6Jgi>˗X@JSKt??/) *gnKO$(%`n7!,d>7wdQkKPY%, 0ZQp}.b0&]T[ڈn)s/;p /hOwu> YN`,D{*bJ1W6[8;m9ό ;a_LIpj$hdN;=RAU$nHaw3m$Q]#_8[Х Qpsў9 ?oLOۄʘI Ė_ _n=s_lY)^2\TVdserGZ_hlQ,}sL[IxJDQ+kAȯ [ӣ.!|ϩ}N>0$mgːStV,BŻR%߻%ZAQ-XEpOI1ȆĻ4o`E1f1qyϰlK6 ǵS5uX1*2% ,K`(?1#yNN;5|ZmҪR~q@__Cή%U4-F 2Y~ OMJQ=@ǣRR@Aߒ;RP~ThT*ӄ5Ǿ|`8~7#CśxB)'e _mVkwAXt\JLP{bg+=GnLX|:tl Sy|Y2~U,C ( w=6Y +YőDfˑ}f}&笨jD|L[Ϩ/We&' N=P EԱnG.'&@;VgEuH K#ӏ9"Ԡ)re1F㍠!^:]s`Vл;٨[tV/NFF^1YJҊg>n#RDU?(t~ꃴ`=s?ۼEyP$S2S  #w;_Vzꁄyօf."DOc~ zJ|ǧMͭct!QRCJReD9πSMpޗL!@ӷ0pGY}JEb@9|C^U}-7oEN\v}y< !hN yMhwb˴N -٥HN.jRWͤ71\uA}mߒтRȇTGndÉ 3'5I^CƐiXX6evzR]_~pC*HUWPwӃYe[9ЊQEF9T+K/ir?.ρ cʌ72R?"3ď nօBgc4NjV2C0%&G{)ۣ>_ eSBFKlG' xP @es͒~T`WcߔsU axsfCzz 0Ϗ Awʷ0T64(|Ɋ0M WF0czU˫ŽuZ.z|^>[dliHU#WC4ux_6PgJ/SF1j'u#C:k2-PKvwJB+nf>7eXADh.ia1P*<|]'9v6PGī78iv`>diW˾K>L0"{ &$uF`5Aa,ts)B _Sk5|qN!>,D3Z}ļb,k= Y=Zb&Gr^Hn'Vݹ"n|A=\u?JlO۷(2@~/9;g꓎"nh'(pl"!fC Δaf>}OF$.4YVڷ'}]b M8,jkcW&@,GE+Qg-)w6ZL8tE mNZV&nu:,HyÞ}܂a+s3rݡ] >[>|=Pp`iE?r[8ۗ=b7,+} }gpt+b5_ʊ%jLB 9{[K1X{;GY7 {Geroǡ~7>dA_Evwh*Y 31Tk`%DL%kiqɭmZ` 1&~ѕ0Ta䓊MA/8vpHF 0ѼĄQpC/m{q'ßղK^%&ddٰώU>"bqc23hbO*sOb2):eGUz׻62&Ⱦ(]j7+gEpZ- n>*0ns[/f)P<$022WhW]O!r WEo#3_X, Pr}pUGLr[(/ȣQY;DmW%ċ&jBoƱ!p.;$(|ӹ wƙ̏*{e}[7LQ76ƒʺfam; {FNui:Y~LV8~]7Z^] 0dwk!_AQz; yXًs4Ryjk,Xj.|І`H 5.&$hTwl9:E*Ljɷ u3ǚ6H4#Z;?ݥ_'پ#gsr!+bS'^+"Iñ->3v0sKE-ʆCvd HB4p QWirPIu~jI pG =kbG'~**J^nMuOc6D,1&si枾38;ocY 3|D_ 'Mc2McH53A`aew X#ʓKo qm'>h4QE. Zǹ}մjmb~O;WΠ2/NKN،)hHtQ  F}х51 *AG2l-7c{w5Ak+\%`(LZH( dsJ=j,nI<98l(=9. f]It "Lr#!tU8R]2bwB&2=oQF85xIhx5̚2pyp2'DsubZ~õ]=*? ԫٕU8*Ѫ5ȠJUs٘NB@h jiפ#{Jvu8Gji=mJKs< /SF&l]'r>τŢfձxsV8C8R~DSXPjWh[}ZBJ wBG$< H)Ai fS/ҥa%DA%j*t…ǃsid6%>#]'h5, |#eCN12'hJ+)miwMQqt? n0i m4e+WM7YLOA@tҨ I AHg-@`rO~*8~ L/=ZtV+Å 3b߻|)f[́pk;ۿh6 bAO$޳"JWI  6Q rC؀rX?dԴ"dV+IO᪌=\4y+54S.Gj'c+wU \6\M*>VV ~8X,Ue}$sT.AeQWA}l /*7NTFE֗2r< \aɣ!AR6g*u8,[u:MgLզCX(nn?Q+ ޏ9jDb&@Ē@ ݌T#$mmYB b! "uڛ~l-/$k YZ~iy+VHߡw)W$b3P3EkDIH&z)/M$i଒w_ mkު*snI_I,4|LHж3Ti$NCkax`払W"[Xc)XHw:} \WwՒ?#mլ|e][xӌ[tnBr%_[7hs$C ~dPN UVQ -]sfʐJȫr_5$ b`v=Khh2n֖ ?3n1~;1* m~ xZx$6ck@c!m(Zo*t/r}邑fS}_o[cxlBi;¦2k'_XH`rJT+½ 0ΚݙW-ОК{]1/'( vk /s82k1$vBP`8v1} hEP[+06\e.ؖ=Sq7 j3;M}8˕5mӞAY],ڧWvxJU. (ػs"; U4{䚦|l o@)mBhe.[6a՟P6oEf#Wa,kg~֐jv`ndr9Pe8ajVM$wz2¸PA#C3~ZnDzhMxтs.eU<4')ÕF ɺJ&>֖Y#N]]Z(80 xM]mq |t[ŊaQBbv`CSm?kl3E(JZ kIY3Ĝ^_AUȚWڷL_<2bK@A:fz"C^8?dlsXWF:foyu6~  ($0}WMbaiW{H-,+x?55j"#e,*d:*9U=Wr$%hǣ܁J e*Sw/Zg_! #V&F/Z璧l+ 5ndI #ZdZ,j^L "JPD陯l>otR׉+z\"f@ 5zHZ-0؎F_Pa.` C8Q#Ea!)o,QX8V'.8BXU s79>'A¯y"<]y.\CPH b3'u mb6ހz~a v&EW\kxG攆Ejx+7h#U*9OSZl@n/$?W6O䋽m+/\B㎚Yi?כrbE}_ IShZU(FMzaM;YH~NQ2O&kGHdf"N 5]B߁z?u~ۑZ&C8( 1z}VGvd8 u,r PYT"4W-5#; P)ȡB4UhXJqiG~Əf48hX54d.`46t_tW2&49߆QPJ0}V}=bX7ik_Gސ=fIZUr7؆ v-qi>_?{l:8P?b-:@榇4w:aG"fD"gL"ԂIߕ :nTֳR6D ^+BKGy^_xKN۳|#R>SUhN#7K **U ^3afHlu=X<ƽ9Wg (ڿ0 ,;9eϠ`Ngmb?5|d2ia_pݳY@"N >k,&lIj@~ 5T3;RXwmP'\{ڇ8V~o'|$̕a;nr?vnl>/ϥ'Cm Ѳ "e~BcP 3ۜ =V3O 3ԟkW MȭD!8JT>>i$\nߎv7OOO 7W룂^MZ\u KWX7ߎ( %e+w9rzH잱t+h7졳ghZ,;:a RJQw5?-za\I31޸uMR./J`e9}A }Xr735@Y0|EŊo YŎ{qS,+e-[,a+MhJѹ_Lco˄(RO$_橨*ܹ+WkZV1YHsISlPu&;VО=82f"$[,lr*[̉BJj]eG._¼!\b5?9 'e´ĈM9b3W]PvڠpZSTzUk_XN`h`9اr/1K|+yY"| fMn!M3rZQ#~xżl%[練5hdU㹱uy1)$JJlyW c&S.q&<U>^Qt-]ĵ:zE!1ɟ%"n1ZqX}&Sb<oOFpagfН2kGD: .vtOgoQ:3ݞYc4]rTMҧۯʹ1o'*,q:H­VY4yB\XF\ZK9$*M;/w]2($ 4l`佈5kY>򜕂WǶx$T+Ngb0k ݜ58.W 9b#?Uߞ\!z3)oTːƻq2֯]4f,0w #hLt^o|,'ni teI_$>>@5bl(y6>k9"&Ly\-uY!N!f2u78\'S՞uiMchGL| AK_Ae0C%T)16ش٪?I<>uizEz`  G"щa&1YQJ k<$oirYJSxt+"H?'V K+ O?&1 /ȴ+)Ǔ'nf:W!c_kM6A{[Ĭ@x 6;]!<-H;,Y~U9X !K`RRГ= ЖMWPx|ٙ,X9~~u}tZgޙVbTNe5pCxjS{N7&fu1BbWp%sM:}Vi)׿hW P J\ʔ *ӳ%1ۺf0Ol1C =#y,_f+#f6ik)yٍeX]2E?άZt\-^VTg!x:,3W\PW@A  ;{p-pZ !\oCufϔA`UשqM'E^UD f rq+DGߛ~eh:RU]LE$V~9f'm֤ 8.Yj|I$䈜,*"קtMD7K} 5Ն#},65RS?'!FU 9If=yy0uoDΪ,PdX6u_ғ +&ۥ~0bpR{x* #7D\G#r<l;S/OQE9soUdx:w96d+q(hHq/Khsv櫀k/ .{eU+y+up.^_54vyFYfnLH4_r]CzevL"_r-sRpPg:7qYT32x~ԭNoVOj[ZT \D$LgJK@b44aYPGPpk7ף&> x1}C-.JH#1(\nF;A<Q Y _9Ɠ{g֣e2Stffb3:5lj_a^ع>~3MkSFȠc*W_ @Oz#(Gٰ~5 mtVoDv?ð*DK!:&}p)#~۝,՘hXgt-Kc>ZI26 ~+7K}۩;Բ%AkEթevg0_R!># #5n(xG8C#L%%Ē\DI^B:j*n ̭xNW`< %[R해uHx\EsRsITfbsm(kǘI;=E]HKP?6#RZ߀ߢWa L9$&K5%uQS/!U2+x.\1Xw\6$w}58!oh}F"#6$$"Sq9 Z/,bH"_Sa;GxWĮj$(Ҳ$}@(Z[yXV`(Ew Q_CKY;#%r x_'f9|f4aɌE$GIorod^ g碃|7 =VGCUmk ȅ)Jk%Y/9$]Y::/eZ?O4㨤;PgzLALkZ% S@Id%ӟSH[x°iN )H;@f{9LV!ծX\iD{FSp˶a.tO7xwǃ;=u)~Zem$4"dE﯌u}%*0Ho\. Y>lΨ|a 7 *}{AɜK02CWWo+?;,?FEZx#Zf?CiLw]4~M i`(_WĬ/jqhȊiVw9_6#ytӅ@It~ 1F; ^8M=ϱoM&no}`P c0ѣpHIcjCbfLڧ@Y Ev[4WIS8tKz$e3O+\ n=/ط;C1u*0ȯtsǝyи@jeω4kCHwє{s!"=eL LsϿlPmtUW/:wN\ g5^;AYx8:b - Sfʀ摪.+\IdpU24iݛ#_}A &j:2'd(!"u+"RT6nϚy(BBgs <o>Ymk{ I, MiR&@UNHe/↽؂Q`+Z~u9 fj;5 m˟3ArpВFۮaeKKԶywl۪0xx†: ǵۦ®2<.b`J PĤ{[[|7 'kF~en} PQ\$x#KFd3ذ-gr\6עKuiqNT[tlzh!;\<ɭGVza㟃%6?- `]L$?~kg՞g}3^2r? fh0% ߵS@;2}(?n">ZCd\ؤ$?e,K*u}畅z bᦛa{\_kpYRD dylXgMẊ^goBP-p``41 ,?OpE p{5"_Y)[&֬CL'3_қڦ#F$yN/ 6D;9Sntݪ-{!JMss>B_kjyDdG3TT{藚kTǾI|:3ډdM;0a`n0v`> X1'-p6X-%bNfwƕEn %5/\ ޞIZ]^mb/Cu;ȤG$<*Ka[_֔71="S<0cF5v8Dܮx#qX14\醤C`ܦ]؉}D ҿn3 +KJ|Ͽia Wss.wq7^9'HkOI!LI& 7#ֲYDBN[ɫ%+!^K-@ɖ\K` *i<ͤh܄b7 rU9!si5.p cĠ⥟I!*+(lLUᗙqOo/Ow|:0< -:|vvB#zWؽE9uTs_wmU];^}}߶J0!iUHI!BLzFvy|Mg"!B1&?eg¿4"nmm " &D zeH7 Ǵl\ȵR xzgCC@[Ʃ*Y duCց~ 8; DsXȅ$w}2)v{8GֲW$S b!$ {NugԾ{ε\~]n(QȻ)G{XFHWCEH1ʋmF[oD)ወVǛE܊pPGPeyIwn]=5!Nikل%o XDzV #5n@SA>4+S& j#|Iô PPDcdQ^y )#CDh3NgeV0Jr$k#tu߱ª$K7Rf(VH^®Sv%d8]AC RYL3N0PS ;'&IFҀxvZ +4̮IPŊ,4IR}g`zGuO&R3 >Kz ]ѻ, 7iOp zbē[̝/d +".P3Npuqlz >' EKnG׵Nå Wd`zl5qm W,"*,\=}"D4 #&kcʡoOwtv(,DJ'2jT}J2MG$׻[b@pٚIr#Ƃ b ;K3rV yPsð9qC9~-#ҋ@!Āz?g >`HmC=iCϋYU<@g*R)e*HjQlPk~ b2kIzYw)0:,ܘt A( N08Ty$jdwN ٹˆqߟ?W=[/6HZ,.LT_g^[u%!n%@4c,R^0j!. (9vw*q##>/Q [ezi šۻ$.Xک?Q4?{>gPoG`ŇT^zM[.IUf|3Qމ ¯oJ~dDPK BnY.g &PW'EwE Bv,L.?6J$Q|`p4_:GුGW+]5!Agr^%IU!=IIj)ƌᄇ Sqm> xGp(Q_.V1[od_c aIF%&`Sx$w|y|Dh͡ywT{STZҡgȂ;M耂uڟcev>~~0 =쀰$4ٝ[LhKT sa |^I_{ oA#Ӹ^EuKi{{h!*KLB Ⱥ񗭺 ~#ֆh JLQ$轏&ff=SiWJ?p_˺0's:)d{=@ypnhl-O:S(0Ѯ͑(jlO ME$U&3#b;mv@h}&!xz5MNv|}.Ŷ^S+ijw|Ŀ~:W#4lbZ:*^7?uunhu=ڿC OCIon +ᆢ lq8spab>9Q-(N̘*s2E+"^S;G,T 0wˬt.b0tv¦+K,aJ%bP!:k5$GS}q䄧<"$C] x,ڬ(2R(osRn=A2r?: Tx|N|L[r1A &rބM [!|)߾U.;$цNOlKxfncjI0d e%^c4g8ԊyHS;S1[%(&{r % fP^8!l;^&/hYlVW^w;Sr2RPv5D'NE:zK *kɃ) 7ӆzL^7?Y52̄e쟙 EoX5 LeN#΢Ls}QV|f 7f/O^ui:K|͢M)f/֏˴]JFEp?:9R+"/]rK:)-g=g:e>aOދoU2񧛁i* %8]Aj-*9K:!ϓ#/;vdkΟAM̹~Q-;%eq)vgrY-C`FR̆ %[Nj琉$Ts,v崃u`QטR1`lyBphS%*]ujQoJ,ւޫe1nAN6C+PFKOaE͞1 q|O_:."9 WEӃ)ph2WDcW.t->S9mS ܿou@4rvBiWhڙ5ʳzuw O{X#[π™NrNGֲ Z?vņ8%&ۿLLE,hoh!}JdқxUdHHzFU/ YܱƿQF)ΝWxT9ǶXGW[( 8$ ;i}TE۲[-pA@:Tʦ.Asw@I!"OV%X $ſ-PsCѫ{b!:$xjfa2P[0lAWpG.r @}c`-v Y{R^h{G/EukFyެ L7v1z,E+4~y>Z,SBcVf$ ϓ#[ \շA []O>1i[s%,ZHݏ#̭g>(^q"h7:áҩdV{ZF[u¸zt<67FKk|Gt!kqʰ7B=2>0tmXrL9KrF;ޡ:ړqdr|$6;>@9ۘ"gaYZuo؃>ՀSĂoM$m6 &kG㐪F8Ymq%yw;  MQ?ja֯f![LKDKHA>xF)kt~{N;U:=+`UR7 ?!ekک.T偍$]cM f {Xʖ?+~yA-GJ} #7>^Mu3Ą54^B٣PJmтB-\S2lVJ~fDb<5*k>B,Rt}5O%Bz>M+jfq/DJ]#OeWanZL{=GP+ hOf퇘t?l5d_#NO0bIBv}khlO96Ȋ*tܧ ?`hŖn^]tV: NXr8qn^ZZtӔJvr>ZC+'TVrK s/ryfgT N6g.I-,2G唇ecֱgvl0[JwCG.C-3VLA?O{4d% dFT2YfY-I$l*s=7HúQ0=5;H/zUMPW_,+{mhdg XeD~dboB_XC$Փ%!gc|&LqG-D\0!S* & Ĭ'A'5G@j٢ɨv.gȧnO7,#`n17.-(N?yFA_(yPCEՒLdl4.UZ\z"qc,ݾܵ'[~)RK6xh?̒*<3[r|4D5?b;Jl< YnVR?taxtYҨU.p~ [r~ūUQ Mu0>xUQr4 rwN%Oh˶$A~:4!ϤPlviGM^׺l&Ȃ9/Z Ӎ|Y?4vr3c\r_1=GVA1/OK_R l`3Mo@Dbwcsyض6hXM)AY]*O:.'ӌ:T MQ&B 2YL?b"xvvq2u©0hc`vS)sۥ|DxUw|mBȎJm2GyC#KLtiaQa#B*@9UhߍZc gFQ/3Zm Tyw{RC񙉕pPGucW:fD?S3G]po#U˟|$xNZfiR}ɓgIWkL4X {^i~LJW^ _*n{2H&>Z~w3|#ɨ!M&@L3t CS"Dq29,J3Z!z)?XL:2߇^adj9[-'ofB! y;s 20kDh$Aњ6 *jtѵx!V\&/t.`Vl,7`Ɨ^_&iDy* Ʊkם9N7^G`gt`yax/SΖ6u;qP6kdAߥ:J1wBl.Ö=Ī]+sL!R%V*̉9#t74$ER)(+$TϏ.q0w6C#XQre.G\ iLNg\F nMo&OV dN%f)BaGMOo<[b,Tc?PCLau{p0^}#"y Ԁ1#M_F¦)BiU~_IL\rG*VYS:>Ԩ=驅wXN~bx\>8pd嫦8Z&gw|SQ7NjK}r܏$ ?Yemb̲tsA#H1 [N20Vy_eZ廊QVgd(Pv1I??o]h$8M#bEps#В.H=]EQXgr$a\zNbG;aL61Kbpu3.#*hB#sdV-sZprtaRYj~* * uRe|52I0ל{SJNCQ\}B7qN=@T|iji`McI#S6:GTrh/ۭ&cqNCBn SM)4osnwq١4T@̫dtS➠(sMoX|jEg7>3U<_IL.,bhGt;QRІWv`X6BjuvQ'\HS宛KWV}G QskI][2!PgjPI~o;yE[u=I-PfOkg(}Pm0 Uv IiM/'}勳zgC^wCq6&[.$Edvkd7Cu>Qۋ95m &F8;IitbI1\KzLr"spа+ ^>e;tNh잷%0 eF vGrOM7I•qd5~"I;c el}noG|.e.|sHbC!YsVxOv4%]FVKsahPh$;cx/(dui :T!jko36BEoS妄ߗkklD^5$6? D*ު|ծV 4AKXT>CO+_=FHHtZO}l/dRry֯UKKk|ŎnN%WD6}Nr}3l^&{&*ASh 3! =@` 'Gj I ՙ"d6XoAs&.VJ3TeDjw zC0tV^ia tO{D JR]}?9aP^Wp*3UDWPAcQv{q0>8ٷVTH71;mEHF>=m p.}n?nAnOy_6PYlػV{Du:&iwfcrWGyV[ c1C#uYv2Rb{BjkMUM yu~I<%VNn0n10ljZ#A̹$EYAp)(C? z\˜帜[ӭBp(57<Z ׼&[$R@_HKSpH4fg^cCL3sڞ\dVI$H20~ X \*֋Y&w3}3ݎfőAyGRtuLbY.nǥN6<*=,ab`(+`:p (pĤ}| VKb00flv"07 ` wн>+vs|~ȣ}e)rv50- `p?;}AnDcɎ'OWW)]}'^)׻\R_zj #])kF3Z+ّqtHp"6dbZa}ao>tdijt5խ> b ?P5W xOl^2<yVQ]b8ϿU#TBܬs,WU#iԽR |VA/G^ٖxl^)I-wDq tSWGKZ&]M ]%,V^X o<4 /ؗ\ehj1 RAWK!vFL5YnG3+D"t_nڮ0I(A %ҼI*270C2VnMs` giMڏԢSIl=G QSoZ(i"Q8FfӜپXx\#YqaRpe4@ N0 Qw)=ɂdc(%NZN߯IV&Br̃Qڰe=$w5 RjL:$;xkϽNtdq) N;%$ }ntM}xш.1> ~)$LV{j׉K$nhBn%Fwl4ߺ` Yy הw`摷4ĊC&S[UP^MOo/6SH:,v"[%zqT`/I ̈_Ԭh`/F{Pso'@u;J'*x&ˑxo3 U0_w-I.+#5kޅ "sWC%Ya̳/r 0^u`.Hi'F5)86)ʶX( /t63#u`t^5g;n\\[]Xi4sӞ~&Q+.NIdhl]b8l'^e)d֣ V"n1K~d!ZvRBh-%׹>ȵ00jo+bqT85QsOehS7]84fsZ{w{~ؕ63A8*ΏD7W=,8{4tV۱9Q9gkء3nJ?%}vEb@v,+N<$Ug`74!G6}^5TGֆc{vn&M r0ՎmpIRKT @hnPo@6 sb)/ )&b-*z)CW_o͆Ad\3kVۜ4|CIACJC7\&@:uE6",hM]Zn ʚo/zNz~G>Vl@Vj9Ffh=.J1ߗ˫!0+ aIȫRqDku $D[}!VQҕLvž8!mj#7Rzچ cS#@M%>@D8`8LA-3TjK.c=@7˼E$d'')[+ m ptWdVĖUooܶ w䃮ҿ{ȵL%5y[_wLDFKABelB B.SuiUܮk8ڣ3/u:ky|R C(a\ 9 -)ۚrJ L&Rh#-ӄj]'HxYyz@n$RB ..7Hdm6o{E^}A,)MH_ӍJV -n;01Wo~abO ~_!>) ̯N=W3*miSu`h=-;_/X3פֿsՅvrB\@0_zn(OA昨~! ԯG( +D3=Hgp/Nlc\VLh+*zB_P@kHQͿ"jlXRu$\lVhj}4)jq? m(+ Dž1sx%%GRclaUHG`ZD,վ0U͞[TkH8Rݴ %Я]+(B|\11./GËG*N 펅\^i 'ݳ,Js`A` <V9 2. =Gd#LfzgSnZ,j1Ѿ72LE5Ÿ;v.A6'EOaJ@j|ՓmW%OA>*쳣kvrTBjx_Aͧ5"MPnkFpT^ @)?z棕jJ? P3 UOwPXBކ~Grrc-tsߟl>E?O9xvICa=>Q|[%`w(j}W> 7xewBڍ/(o]N()T+J,8;ڄM6. d$zx3/XeW <ħJ_  0m8m^dx Ղ9_rINtfɫ'j(mDu4Bٻ[W~ kBKѸz$XLylrsoXm<&DIgDd S5<22|Ir8#Ah"2.ȿ7X6[Hكmg2˒N\yMqLu A"]U(‚*'H7!E"XI7eshq u b~,Dc5ZC?:%SYI@5C_QJ]c98 2nA;7hK1XےgzPwVap <Ȧ{q^?zgK܈v_Ȕ͆+ 8P!7OyQXnG hX D/= ,7 8./\0Sak|XGTo0K1n^b(Mt ʐi߿m;TjۙlS2v.)W ٟTXa)/}EqTݟv9w֚3=Qq&Я fQ+s?3$@t {TX~y,n&9z;H#׼bp◠n 68ʆ )+6^1]LSGNrIÛp2*Pڸ{%3xy'^_`} `ڷQ6Re%Q\B/Jw'Oh-kf$wi}Si3t41 "L;R{rO}ΊV{p[~3c{nVl7dM_)OsguFYJ`tL[n6Y&̶M?ag7lU3I(6CWNnrx8R6UsLA `Q<C(O?d|9@.u-_ yfo>B1רtgnhlMo,)~U|h$0e,µgLә,tfFXsJSVԤBc&F`>n(of }M uHlGAbZۧxEIֽ\g4iܥ%/cC j >cռkcX k!<%nTX@شs3 A!+n\=xsTo =ΝuF">'5e`]=+ 6 u8msiTdgk OnIWOS4Ae5ra-q }ʌ{^δ&LNqͤcՒHם ݔ:2U"d^ى6db ^[_cl +("TruxGOi MT G'3tנG8 /Ox+fO2dqb=`}5ګWLYV]w3y#,MJ4]9z]8VQL jiAkhdQf1BtK Y) L!1V / WkbΈDoS%ZM2AŊhc=^,4d, "0q V򥺂!6\mJ 0sW_tnsND9q'x[P=_j&Nw"7_*Ӗ& gvswpG6V-gâbw_s6m2`V)s莍5O6 A5v(3W|}cq]j*b&+K }-ьԄ}6^n'X^%wH0鮞^G!װ/ r+$glPWCCα\ݙ [i4V~ dMnwމ9R_N!XgmwPpW;wZ tC`cFk\=9;<Ѵ$\]L"əlZ'75PC0iBf~ W $!- 螻KyIlΑ&蛽&9WfW6A'|$Fu:^  Qq8-ʘR~&nģhSAW(wK\]ԩ˴ LYj25SNuZ(Ҹ(jDV;QiGDQP"a[ ^v,no]8-kVľ*BlV@#zP( ͔/XP. Bި~rkpPRcn;jV0@ ypa9ahFRň{Tq ,6])-3oq|M3Cu"cφGߐ 0jrRk T:#xGoQR/sWU^jG8Dm19>`a;Z?-evԆ^-sNs Zq"rti3bjQ+#k.nb@s ೻q7 Kꍚth-A*oҒ'8o(a6`ik|r9{S/LgXK]W_?N M"JDzXBY\dG]#zOڮ}uJsV ?*phʨ)NC]^-1yGmO',|"pZ[eI E7UX0}^!-ܢn9dz;v1kPDa uMgHx_%1e[+_$[BT&)-gw)rɜ`tϥq{8/_@xP }ڻN#?|IPi]gmXvCXphX04% wKLTea>! }yKkH/ի.uYzwpqؘ0t0l {F 0]zg7tLbQ몈F$Ml2WIW5rLM;+# Ø(@O;mFh=Mª8 k60[96%iGƚǭ4#齗nM%CQ?i YQUtGdKUMh3ԋSRKw]-pw]F =X_\O~ٗӒ(J6`ٺmF V~|g3M׎1Id'f%[JL@-*D08oc5[n29"|K\$K})2.Jf(ʩ3lkza讆$0H`HW%9V7tF<ȶJR<5}LZJ?pps6,ޓiFsHc&nR)^8lQw>Hȱ(nJ,]lU|2'hbU:J}9]2w ?wuȕ77?vY!E >a"?؜+kWţ@TS}ψ1ƵU!U[$ 9e[d0cs?Y|k]vЛ'O.S2<9SAYa3^^Ή&\ق(SɤKFW'| , ;d)K l=ޖk\Y6yq󙶷O8'GȢI @|)'w'tpw'Aݰ:v:|Fy<2<9|Z`#z I&% n(cc&:l҆~’)]W fW3ӕuRGaK*:0plT~=m\k&KҰ?U"kl~Ѻ \rT&Ң2./J%$<;?OwЃq[yHJ\baT&Koy uߞί t+UML^xWˣHh,թ3 a-_]r>BY1{[d˿YhzgoJMjm,@X2&XosKk):ilö0L3N $f{+[5~FOh9i"|:Xπ$˻NƁx9!GJ Z7FS,b/˳"ܼ4;ޒ1!lK5<[p;@i0pY!_7 bA ®3d8r/m2Bp+h*ڂ=`Ooiܗ~6-],y@=ŕcba/03PѸ|VA0J}*ᑉoAcwZ|d,3sK KUSbz&N4.]OrT~KdSqwΊQUp;{Znlsa'+%r$Glk`DZ C}1^ͅ<5ÁqXHO:FcX@ BEGINB )!{i9Y,٪ I5A֩Q$ kEON7XáGi-'a1B(,3$tt-SO5-AT ʩy]{c?FmDtKt1 +`}c]n(%[VG`O`#a86'x+xU9`Xlb"@)T: `(8O#2$;/&Jwgɪ`b?ljc3*؇qJJ ]ϭ28W q=ls҇34Y j>IV/VN.cN3# f2Uɛp- w- D7l6׶vwsXZ"]ߎKW3̗֩G0gֈ@ewRpTȄyN9Dz/u^3j?"떆z*kx LSfO &3'>1ݠtW]\S}Ao_}S<rId7#bBOOIOe?V7RK?g{ļαc1.:$u)$2 ~JE@5x֋;lp]+T6Pie_:m`yW!݊0{Ff?t-$Ic,5Wy}!޵kl|1ReYKɓѮbILQGk.XY[9p7AF)+/iҲSGYyW8E%䕲~VQYn?Idžh#SWbzHBsG kUkJ5 {sHS9bL,Pyw  B(t~5J5T2qw6+נjEM*v)<`J3,Zb[nǵ~xW^F@^5<\}:!Ym0]w^4$^e[hH>5Y°77\8L}<H'Ot_ħ *r%(\7.~ K|nᗪJ5A!P5 hfUξaӨs`Orelu턥]p5iAL/>%mq*O ɨ'uO~K->ߚ Ѡ:$U 6K{=ldg#;cXcRh?KV".G-c袓$iȖe10rA<чg,K rJ¨`G({aƉt^7cYʹ'hڐA7ɵw5J1ҊNpӀ`ؖNo,RCAV3UlxۭM;|}^l?_9Fu wD!3ꗑT};CAl)Go}ݸ0= c.\4 {^a(NЈ7ꞳIf1!-md `+Jds.cFbr'E!qzC^: Sw0z@9uaG₪kG!ShJ9$/'9ΐHcQ5&ՀQh#cM+^LsR19S&n6.0lJZJ }F⍯gؠC*h}n&].9v,G( 2S˘P@Ls<*O=+J O,%@@dp +gWG{E T{ ^Z|ſepa'  4 &U&&AIԵZe`Ъ#PkǫhdLDTبAS 2,$vlt^zǰk؄[L%Z;6[zHzW^ȂH?}AkؠoӈZÍ%̕܁ȴe4C"|7K^|py@2wͥ)1͘Kwdsз&_m/$M )E9+H 2}Irx=♢[);i鬰Lk1JQGU pcY`X6\ĚB*p7cKanÁhgS-,3Zf\/xH%_ \끔 KK^E)TI ]E(=aO!Z5E%Э]~#+,9(ˊRi(5)l5%̴ b֒Xz[w1k#xfMY6p s@\Ch)n(!/>ɇ_po͒w& "xi:r-AxџQ:֦ a35`)jun`ΐ4\ٜC4&M us6&V@F\ܖM5چפCmv iuٚVNp0JC23p̘- A~fDZ #(zbp%*VUTP BRo݊M |bW^n:/E^v7T(=3o#za[l+0`Pӕbw(;/,P#K|@zk3'RF(GA6> L <^ҍβNܝ6*G*UBdJÏCNzyy#O `35R'P. 9Ӟ,:=ܐS{{;/T+J`_T;B194kO':: 55ԩQ;W(͉ +mwǘb06. $q!r 3_ CWC!VaX\OOs^Z"ƫ4 }܌,(QF8,|vdԺ35^@5TZVǯq؎*'[^ײH1 GТJs'Gdr̐qjY?.ـCQgrqR'g1 xq8rq?ŗuwTr-2{0|ng{/Z޲9/a'B ] -`IOjDu9S1g|YfG @JJBĎ1T:sp!?P+X3DlѸj+bCAכzo:3I gB.4#JZSn HmVekP+/2? S3H0k3J*#m"U]I)SyH\`-G?̾)Ldo&ۦ|>0V6\1~Izs_B,ԧ4ɞwҲLAIdn{N 3"4S=d\ֱ 93sB\6|J3O0}PB1f>mD$&/{M?ݲl2=mlEV뢊F^/ R¿[Hdq%)u4g_QApyT"&22I5ȳqDaH=Wb0h`>Q*)yRj>i]*#ML,BNjţ$}H..^_@,6`wHĂۡR.0m<,C2cD 9U(@m"~ARP>ޟjef;xFX4^ӂӁdӏ|xٹqTX<1G #L\7D3^9%d2Ö),`"|8V*'x@r*}R V9~,8c_p :/,"y-sKyqN1g+'5d@(lίَΎBqVK䳶`吵flmV{5dp:ŗp^t/LTcؾ%;XbzdO*] t;X~v J ޠC"c!>Mg1 3ݽv;Fvd Xl M t)%Lѥ<{-!uIcjEA|ɷ S[\i,wSYZtw;@Rˋ˴BU$l`5 ,y"Q'ֽqz Ծ&Ι[11[MħLpyi BgqfٵM 2_i0P50:mk$YE_\x) (7!kbRM{I+&/Nwy^(1{bńE3 ^bW<)Z{> pÊyVF[c$?A+'#Af$TAI)W)eh{=D19d|P~vyk3FC-v/4IS&l,'QB, Q&l}oNTNY>$B+i%(i6KYp-rFM&F `]j/4R[SM# EcǑ4ۗ7(+N02HHvS/ݙ}:^˽~5"q{ XkF+aᩗan @?ٖC*RfzVQy85IJV*% tE:Rf7,_zm5(c>,ӽ,*^ |P>$>hL߂o[^^٩x_SW4T GI^J~Ҧs]u?\Tߋ[&hdޢ@9,j#0JB/ΑC Iha?I.d#jjVa~^/~ g6C~nb((?fqt?KRx`2&";nlsxmY_zn∆X> LanB#Ռ;%LB2Mp~Y'1Ԥh4OirS7. U,QaA3emAaH(e x$JHg,np3tRh[l0 `@wH45w t Z^6͘l,j5 Ƞ?'<! 05T]h,ڿ<1SjWe:+ltDosPBg 1AϘ+4z_L`i2^gɨ"B)Ê̾?G`J^90,'-q`>UnHPO;t6Nu?YYK-NCuU9ôV݈(_5i,P ~-:YYivԂwG>$kQ 6/(˳Rȕa %88`U7ڰݖc_: G*H}.Ct1ii3Ӷc0ڍ ,rOfsR"-Xgodg{B<7t΂@&L&HV lGx!xX\x;TPc6)74~xj '>DEb. 1)Ej'79BپU;^Vm߶h@DKbw>>Ťi8=VVP\߄~Pa"=X3\;dġ%>28 b;/מhވ|AZ2?.8Ln5h=8`+<">wa>ƥ*N!ɷK_'V( ]6)8+ f&p}5A wkGC=Dh'HKG>+~>ll4ojF3^_wG_3l:1)}ZOY R|6_KǠ0os"ӤR4ISk o؅v5$$C$yR0ߏaɁ*s x_wYs,qoCc^A# 8Up )hS#xLP(fn+B6DDq?_) bNֆlc5o GELJ}-0ªqofU+}$'Q{\,YӶ>? ,!Q2ʪZ:1uQd|>HOa'L 8̿;/Bj[)(F68SuJ <(>VnZjXTGNNGt@!p6$!vr6Xy |~ò6|uӝ7ʟub_M3v^UNb0 %I*greX7艱^̎0O`fzvj;Cs+^_uG{BI'^ά{^s2u22 CW:+MwVippkvkmx6|5.A*uo2SM͕'7p,7ZvAeKB>pfnL,E2<^*TG\L#4E.~4 1EOњti\f(Qb٦2M7Q*mf8 km*E;=*&+iD^ oY$bd|T˞/9,-"("bK/&V6!-r[KCQŦhi 6>R7vڴ񳾌aN7()e"w@t亮u`1jfBPؒ(f0-.j%ʘc6@ߙL $]ØX %λz:&emLx0T! }ZQILS:=:~M?Oߘӑc]pp}pA4a"҅zSܖ2{c/<-l_7:-o_Ad)Wk,3C"}U/%Zvڮ%YxI27HwI;+WU_nJ)ps! AW?tVɪ$SjȤzv5HBPGɰM~xB]@躺yCevPE/%GȅvYUz$:<Uz%]If>6-: RqL_wRw".An/mfE<js.З_rIP[~qzmA\|]LtyKv?8I gWxҝhTUWuyI. DJQS<屚?9g*`#UA h|XJiCd\xM#}Q1{hU59[{ ''][#tyqX4UYkHmq fƥdZ= /*7_fDth9BHwKU!gȟ07ZIwCT#?Ј5Lkn%R+GAdO{Uq}0d /P,1e_`|3àdJt).7 M\ ^iسN_em= ^2iV{ؔ#_<&蘈pJ;Ozso"i;Wn{"*:+PY0Q&ٲfޖNT;Jpj ;YU?‡*b7MS(ߘ6hs8a!W5cѠ9owP7C|x-٥LJ3a/yX Ē,bvo/[}o(;x M5-9jZ^\ JZpMNF {FQ-أ)rrqP*"=MU*~K1;5vdp_M \nԬ?5n'+m#>&מbm%YG;mlk2 R' {AF~f2mʟHsK]Nɧ9*k:$`<7꼜|-f{>i .\h2/@>|PVߊE%1ؓ]@qߵlb<GiΆ~ 1%*nmO9^e `[ , !&e 'k| 2 Ե߷^Vv6=6H~A^\"Ii6Se5ţtxW1n`~$^1_ sU3~ ߍvN8ol8ܟ/Z&fu &E /5$}}PBC. [A~GzBisLY-W`Pr~iLPׇGFLj~_442ُbC$jYzw1 x"L5ĎKr[% @Aeѩ%BMJg }2EZ>6)X: =fȾ^.:]s;NMKEwOEzsMM i]Pt,kQSmKqjXsk{&#? EQдO 3d$T. x0Alv$k,[rLUlXU.Z$+,s}\a8 |,C5V:= DyBN]ޣCnyBXvc9%t~u{ 6h'B4ݶQOQ:~{rѶXrVuO9eLt@BؔDVp`C:|Rmg*\#Dyϔ|J(chB(mR[`u gҌDq_wSVjUC8bkWkNuQϋQ>TyKb-YTޱ$-xyW]FqOE (bZj0jjcnB1>lN$ys6U"WPMm^B(Cʹj`Ϩƿ ޗj F"-Sa+؝ׁokqlT?tqÎ9,X8#P!b,=7b )УC2Qoׁ(z~'@vWܲB4Y?8<]7;yf^=9kc $lK"ijJd3Y9T[¨} /*NINE7. ˱q"{H9*/E+wL3U"c 7w (k/=V=t7穦f#\R@["g ;T$#D$6xz<0{ߋzrn{5Z _`Cd%N¿gԋ)*oMrj]6e؉3BkNr:M%LD.bZfaBEb Is&AYJm벳x N?ltvuU3y6Rv{CHWmkGPj Ledݕe>Br oͳ1P3}ة9ݨ~|+]|̾02 t ZPJ54GurZI̬jVڈSb+9_/c"HzSM Vz_jѣ0K,(ކGs~ uHE)&t&\i>Ts%?Y' 2PuI}OX (&WTg#kE}Qnu׹^+Hj\}ElQa8"adp3 %n4,L rg< rKJα,S(@L0W RcYh*pæBU'ej!2wl 5/E~-t1W{Ñn TݱC4 ! YuqGf4'ɀ;A[`%7&agcɑn_HIx=Y*Ibi^1w?t;C|og^U܉}5u vo9;v`jo,x)q5iWuMEjx@&m+Xەe >&WaH\IE_nf\֜=gҤn|(9"H$*3ľE$LC];va3n 7gn~LC1?Zy4vk#!mVH!zngA@70Hfstd،&DLQ*|9V]w5=Ksbl:V)Lt{`'-FUY5̶.bd핋gҼ$LeFd/@u1oGg,`NjaE0WDs8QRy~ vwsJBxݥoD#1^ߋ<=-;ھ[C%F]Tb`%Ow|(*(bVa*^a|1%n[z:ih#AwA6ȸGD M61ɸ- dYvD)`;C( ]N(Z 燦~d! eGHȍSg%, qaG#Z dO6][{AdZ5WyeF"##HIdnYUhKﱒu8nr$*c6{媌3{6>}*] e |9ӥY>ۅq ]g1jwQڼ0u7@lh Eޤ *ѫBk^I,[#kI.H{ .yfMx&lB=A}@}YnHaσiBSRƽ+$k'->[҄#5g\M3>raT8}[HH\:Ӏ1"C=+He3 S!khP`&uaS!C3} ΄6w!VҠS {ɇ ʔӨ#v,YUV´fWs %;=yV+:F[]sg׻Z%+u5U2lj5؋m~+f4|98\B98 jkB_R҆Id.:3(3VK,Efs,09czckGU#pև0+h% k4ϡ6X!jf5HXa.O%ft;}v |FG3:mQ4,ux:Hs,kTOI}.;,`W?JSm W;ƇZzT Ǧ˰a\r<_πYġ7p]vSHxb/3 2\vp%M9<5*0}5m$ ;U`U+MSe1ZrOg)?՗2#7Ec{G2Vޥ!>q}'Xcfլeg<ƕF0m^hcD&ϖap[2!.ma1 X1 [ONu, vCH=E.  vʡBC4K|wS{oaNe+<(z T4 ckHȇIR=RYrwօLՋXNJ tsn >~s XlG`p=DFҹ|/ 1o:WrBG!@`ѤAy=hBIG6Mn٩$)VdĝuQx sثAI.e9 $|A1P66Wpv dv%m\^AwZ e[Szn ѹ7 bsIx!崖O-EZ(70oms@M O v߀uB8m?N xU$|)/}<5}ӹcK6J l2‡a$0*Lض;ƆtsYd̟'J|9*ޘ}x/-\w[h 6l~bٸ6WyH`s`C>>Fdp~eg ;0M|1hcS}#v|, C̃! 4.eUSd@a\!C6}'X(~=:C3I.ya<ҝљlxAє`|;QUKCC%\D[rjLJ͖9s+&*!^TW4G.cK=?űˆ׆݃),sРQxJM$xkCO8e5EA`~" 8PU+0ŝCTëYjCMoBq!K)_ .pY>un31eN.3r>\r떿XJ*>2T 'EyCr*Mnm?&bFPJ^ Kse1 $ߎ&V9S-twJ'ڰG>*BsMTy$j^ ݠ@0k^8߫AYi}\ͰI_d}9Sa]RRx*(.&֐ʳʍ틙e D_mHˈS-sA;0:RQ U'9ZEve^bӷ0FH ׋h`1΃ZH9# Zmf[aRnfz]bԇ\'F- hۨ;aaB!z*=*NN6nr)\m# { #ɻ%dtT Ir*qo2HkU2ꎕfh9,h(_c y wrgʗȌw,Um7r_O8LFuVQ"֤Θ_NI bMtаGyيk, R5vV*[V.2/"f &1%soI9ئUފ0.˹f=32ruYR'E:l ;TMbqfbhQSP8>)h] Y棰MR8 n11qד'!zDž{/NkC_ F *F <*U}rY/UI|H+%"ZhVLgʳ^I#dY`Úg4*hr8T#gT/.y&b^=!̙}g%$6ӻi⎟,[ݧê.Ba= 1sj!_֓R ,v3_9a X`[엯2^U[-ND.KXi;?toSS|Ncen2"mX?Gs*PB9uđS"8F0`KIm  Ί,f/EvWSNKe [WxTVfU5r )c⢂\ n+ ]cO aY `+.(Ghg k~=]-)PYcm\PHa/p!ɟ oCvx{>_zD/'xkj5 )8Fa8:O|4΢rW?tUzlU5ܑ'W>n -6TUx1 uvvFA5rzB~~Ja8.W~T}I lY@fuE ^lA }gNN &!1Q,Jqݸdc'3c7vg*Tq> $mF %pEjCOm\:5Znx B| jF.m{ߑ@M\_D#Dؾ-=#U"\KOV$Zm}Lli v|Z`Qc4z>v  7 ԀoF:%ڼ['p (EVǿwOmSm_{fE#52d7^P% >6 C+Fݷ&o7>S9ԗTKwXccYu( C-oԒZ6=;඗Qt~;s]azz@jށ՚zVXZF g347nn{K2~!``'=w!; ”td(N`w3"F}H1$!M>LUU2N6Dfw b{"L9Wop&Gh-f](-Ja^l.7};a,OKzm:ZB{^b<b8;DHF8Sbd]KUaWn;9C`zf}U+Z<^3n/,¸1;KrN0͂X]bBiJw5 0-{UaH0hRi 05#^I-U .ᄻE@x@/PuGˬȩxI4E&5|b)*yJyZA-X]saɾk/OiZ-*!>6Cq+Zqh?4/:Խ2 nB<70q#b%x `} S 6ML񻻇x{xJc4hme 69=Oƨ;ᴸCGR [*gg\.6Q6 VXx.+L9A qjojEnSu$Cj@YbJZam鬖5D̿$8R07l03~ʍ4+E|j`+efs6Y BU~jչֿCЯStYD$x.]8ޙr|bzT6ڊdz6<(hܠI,%'dDhs؂YciqE\PQN>g /n5-kiD:=N}\t?},O]n ~45WLf%TSOfD/^:_gUs Ƌoư{ |x/v3z]$PHbiKdL-Sqy`-%2C%i [v5HN!mlbxKN8B=(|!9/3IA!.Bk +HGa%U00];5i˔ Al,bR*(|60eLWOEAUlE9"_pk*X}xr -Ջ`ϛ #qlgK!"u?9lӟkv2Ba~ dnp. ؞3F(Xh~h%1eVk <2>FkUOd6,5wj鉢}'?r.ӯaEZ`KqO~ 0Vv0%<I?!Pm[*09<̑շ 'z@mNlG:KH>ytl:?$6bc6HEN%!aq&*Rw ՐV+oV3L13U,&7-bn֮u_ֹ.[jJ}V WBŕb;͑DzQi|~5y7 FD=~5]2lt¯~isɄoBa~F4>("w+&dG:TxѼ@!t8Xiq2*dF̓e.LֆfW7 n3Y_l)a:y>0=+)Qkll`p%. kKA\`֣ՀY]>+n`<r$G`⓹z3L2jԉVD/٘h%[{b>aڌ+G CkkDi3@mmi 8AGC Vt;~j^T'W4 o'm$^?p˪$Dc(G5TAו.adszS/oS؃wZc9>p4%5nM8Wk"e8!wzX|_ʮFg,<${9x+jq[g{phIa Ȱd ~!f;{g=Ϧd2N%ՒJ:V Ca-NqcȮ0 .Wa.XKӣ}v*a喇b5U]:AJ29IE`83W_ioqzUAhO[ӋA56[**ǙiM%6\>sv r( cv2YyóEM`lǴ6XprĘ:kHF[lnMۉimN73 ZlPIE^vXzɼ&^Z{\cʖ\u\>׺tdF! aL tCcOX0G9"(xR-zK#j//ۋB2}TNvL7gr:gxn֙:@?{G(}J9n꽠>uw14tڋ!J1r/N?'AkCacj>:o F+ SQD!zOOx!FE(H Yl?5,ŷ6TCF@ H~!~%'hszK/Q\z!W~}I>]$y6o /_YB/7>YӒF5cwb5Vjd!R<N рu0yX(52G}$b_3W';nL4HbhU'iZ 851tC ?88Zc (tfwN yF> i"B@gt*'u˳=i]hzP3LZ Πٱ Q K}?,%|~ iM y4TugCf}Z okekY^XUdŪ1X6KG3p@s'PLh=T3F?ʖՏԙq@dU*]e< 60F9@HZ=7L3^4d3D}F҅Kn.(UsçJ@p+6 3K|XgI׌ފܟ`9ڧ݃P 2{[ r|_$x6 K,YU68\F A*kpUtߖ~U!@ R{m;bM${@t(7uW*T$['u*c, :VF&~\_LF/>aRqyrofSqms܌ mXL"4=Z٘9T7*]NWϋmnmi-^L^nIJZNtC%Z"ttNCPP}Vh8V@ԒEf\1AdAɔJTVSe568iV]S% FTp܂T}R9]؛^QS{+eXpzjX$9 G0t{2Ś^,kaƥVl A%w dhe@ėeen|s3ŸQCK4Φmm-v|ZeM9RLzJ,"zOh}VHx3t#h%sB8J x iȽXI})"X,hޓC 516ɩ%2¤nf.ҙ&hG^J I/( ?/>\,V)sgV^6{}lJhoաD `Oj5 g8lk'ad>Q9ր)M{]LHby&&eu!&a(=q^Y-0dq~ i=hHW7QJ5"p(- `{/Y3gSX?aqʯ\6z[lGuX$DBJ^bF=ڧΦ{OY/B/D{ݥ Lv] We[Z-@4A 7ZKtHWЎ~[L 1*:X 7iۥ_Pw ;^ޙhPJtG>y8F=%ZX,0.9mox-0Ra&py|$!fU= J/@b-Cu@,n0+:# *tH_܈ pHPS6kQxCZ MNjJ9pUm<ͼ5r5x@`G69Fȱz2p1\Qp J<[IbEw[ ԥZPUC>r\3}7 ͆GrJY6[7J.¸樧=I^R%RnˆRz?W*Tf;K8R"f8Q8$nk^G˻9̶u)_ahCyR='H*o_>ʧҨ!\#WeUgXҚ}@жV_fuAFr VM^@.oT掚$ѥOL!Vk*> L FZ20E U} z?lB.IV%4xfj]wAWZH'|^xm9"d>w HȭjФ=2\%a(fQ޾/D`a* 話aփՠW3 &3WH 8(.(e2ZyFCJj,,p=4 po#P#F(LnV̭ c%m.;RDq&\ҝ>ݠs0&6>6m"ϓVT4tr7MiDLC@0mPy0dM-J?`J (Kr}4e7Ԙ"#}@AV0ֿ?kUQr7>FdYeA=쪸_BўI o͆?7#@2CPǧޗ=ަG z+=U(bNm2i1 &=6GJYXQCMXtB;aq>Ø-k gY!3r(P\rh{tJ1f-"WvvԈމ mhw" j+DM[~۬p_];n_V zeJЪ_nf ȁ%olBrOX 򿉜yIM"WIDaT#n}Zl%Aƀrжk.XLVCu> #e #=UMpRF+^׺mAPx;MьJS刦yYrpdU(:˯ɿ! ⤒b2.1CP5),J]wۉjN\#B zqbMR"Jk@4@ד٦rYށ:DLb2 w搉Xkj?lW.5^$'I޳|A;."s08`TJFJ˃ϐ=LA;Bt#9)[„Rp9ps\bw7Kߙok,Uk6K\aMjR l2"|˙weWu݊K9q;AkArijQ3Z*maR@)ou>q1kz%*Toh` y>4;07N A_5o‹@-4<AS)Ox(0j^P:믊%2u)t^@)8UhesqP,ȽUIq]u*~A(*2Bn dOCE%;&{@;>L d> ix,Z%tItrk>$^ ]+Zmo_<t\t%Ree* [)ogPN5kLsT`$ wĝƆ7ExYUR! +*_@YA =}\\.Ml@d9Nx.JoNukޓl9Oco=>% lS,^<p#J}6j37u@ w^HD<"n0K{A ഼LEz!M{8; -n{6KH&)ܚ-mlv#o}?"'#KF$lPo,[(<ú꼟UL-DVvN~k>h-'bЪf9n˶'t!H߶9uB.a,溷v9ɥ-G -g&IO3^xoJֲQ.SfQg@Em0P.^еfޑZk<ȐŢo,nceM˂v]BIH;W=8݂|K@uN㑓y\&= DBnM5^Y!> `!>MmUkaC*|s$ʜk> 7$@THt8}Ar>%`YUi%n>K9[s]̊N"3PSr#4.i_i3{s̠}9U\3V\^Kd1 wsİ;}rEmW]|yDlN|k`vk=:+>G<< k>~ٛ$^%%brD%:ZYX RL'L3%1 8zu5Np0i@`6KrA{!TSs4W`8ѡ)uV+7)2X5_Cc2ZN7঍#4ŝ*y+ 62'T*7nF@cc a"`֯~ȃ#QJ=< 1dp!S |i4uxJsi,xwN\ |<ff%]Ҁ 5]j&5^%{j1J|{\ㅏ!'I` "~Ê}XgSe}4vS=~ρm| Fhhʠ"a-dE4EFS! FEa|]c0Re%u;*9S}~dӦʲZMa(.'jܳי,!/ ~>CЪD7C"jVq#Ejbb6M * OZ,8ƯDóƗ tkhrZy54?^kX,'Lh4: G1{&$VUv  F.t^;{3-N)<?(VCۜO%qv%72WAr#{+2f ;Nx[TTiIAih5pSCt1(Jx"vNYeԤ(?; d@GBKLp:tTO׮݉eoG[Qa*^FW!Nj#ˋYGdfr..QRӡMZ"^~lԯ|l<@Oϓ?׌LF\NRٔlb{o*Ğ4\#V_ 2̴ I} kjA-Geه +u.1M*{Eq7)bYQ!Ьk ߢ{iߛaNaAWspIkْEx9.;=OgU`)SBV:sAsMô6ʭ(Vu{WTe HѰƠ/ǤfA'I53`4ɥ#"g%撰&2zi\Ȕ N^yxa@kM쬃dcT4?\G ,)u7Ŧ2o9$>kKN ۲}EV_kY0?01(rl8({;+W'ș0#L$I:౜W4k[Pii4tHGPK֡+U-WE62$Q)Pհ؍$.%NIrHdi-#k4yKbL\$V瘣Y q1%wso8>^N&uGAǧα]r/9IfBQIh pz "%RJ`֪ϯ:u -vJ$8 K,9-VZ tBBJ_4 XfS˘P=?{A-y!:DTZ%&oC'm#bō?Gy{ca~Bc7p4͹L(]󝔙hg&wx, l-1.fLYHR1M??-PQ^ xG܊.g0 r?<5^{iDEU TABZ 6^WZft.eX\*~َ >AW;4w9*qg9 Y`mӱ6^G0qmCVE/=PsS ,KNWr514M1&Vw) 0DmW+2l~S,ܜB/|ISؙ2 kZPa 4]\9U'O"`'joos[ }&h7ι\*1+A&8s9ùTV"SX~#ġVFS:Vm]i|r04N:o93qt^$e 6HSJA< ##&µNڶ;{N3䪲ǘ AKUD&(e'3<_@5z qף4<,*\Pe{mGMٴ=P:>s ť/jOS[(p]>DuJhU b!YUh[NMe\`RMuJ>$ip3i #GL9bN74;UWiCF#W#`:a?y\ltO4 s[dRe'eј0[(LFZ.US55kqL]=h'kNhbqpA%mњJ"vG3vA7oml>ʵo  j{Q.F?(%F5(s3eFWL>z+'-\"A7ħucfkd^*?!iܘ08E bNt;-0&uTڮ~i,XFL㞱_bxsRv p!!SNF@ey\1 6xUbj$ ċ((<>d~%^(S%U }GkR#5RGwYkb#L0CWA'aU찴WزƩ_`/M32:rZ E>sdM@V>뵦f0%$MiNE^SZMT++(9]oM73)2R[ho^cp|m"G|1G'l oLd@qssI.PN.:=o5_X~|vXEWRBjpN @Ys9Dp˂Kٌ9/(9;uffaE*v32g άUffl7{VNX^SڴԇoS&C_5a,h y7Zv)ڕH&8Î3@ӐSTE?I,7æ{l`Ε0ozo8[Wϕh%g{, 6WU?4( ?66C6(_SOk眆"Wog{z22|O{5[k:s@n3i e;%{&MȰl(Zķgu(r a:.+@.'Apdu̳UV~)|[!Fc\sɆwoLkv!sb,;sJ":`+Dvr v"c( Llbo:?Unk.X> qH@!w9= 砓e6*kq|)-)L]VW'f-ҡCYj=o=7~a3k+ȋe/Dz,HbZ>x B nc̢}I+3>~81գ["dEy@Pͬ. ,bD>10dew[NU: J@*fq, tv@> doj1ʼ\@%?9*.KyWN:Atet_R'}xHo;YBs<:DGt/c*c-h6Wܞ<4:ޤԘKvYd܁_)Wbi||YO͎١ %//t~*w N#uzw?g򒦽 m uY{B覊C$udGiK[' $jq!  GM_\NK }xoʫY)8z<<#'H9wQ Q#3FqyJg,uK;=ho ?ԷY5(#JeFs;JcFS-%ȼn%Ul&[J2Aי/s.5NҴh?_YU9gnM ˃O6R䣠$HC,Lm?A 'rίI4l.$WIK2=d;]Lף2޹#uՇ#)ڣ> rLi!}H߇n*)@dHgc¾};GsJ) (uݵLҕƧJS SZ2QCRoᄼ!Zk>K^zw>_6F l/ꑣոl Jnֿz;%6 (1:R )WNX<ɛ@c|{AZ !-Lf &X/⦦NYOsoi).]Uˍx+-Üvç(*.Mg@) NniۿOX"ur%y@5 .!Fo0{i诮rSt>)vOXWsۻ]ii}] U4U^f/2E(x6IITc6lwX#YTz/єJ_#%rn7ϪQd3Mchta6isb2 X'ɫm~[! kPNQo_2i1?XS*H#704:'u\Ea"$o *ib~>g |s/3 mZ̔;욁74*WA]NVa >Dy1,5:Yhp8y{#,躜3)j2?ZOEՌi! jtH&fJɽJ!ɭwK)PJd7B?2i<`6v|YL\F,`w"*dglWoT'hn w="]~4~u$B7:OLcC.)i>d,bX>webʥS޸:Ԏ]Ml +Ka0piKݐK]ph0ժBba4BMm_vGn~zXc6g=1Q a= TDi)>K |߳7He`w' |߈!} 8w]p-fa`?lQO1Z8OA|&p_`&!J `#u1CS$-"ϮgHv -e:?A BөA ۘm py"0]0"(b#Q?0$=c3' bx~inrI]ؒ;SNE,q/7"Dwc;g!Wm!rn,NO5Lce>r#b}ffWT<k8IjHj{REvT%&^xS㘓gyo>sxwg/Z?$ R/F;Jf*"g)熯vA\iHFOUwhF_~'^6("^' ٩%;$ BLŁZNH7[H[>\l4W%K۫ԁ X 03y><08fkdBj.C7UX^igۍˀW_ l@\ Qt2Q x.0Ѳo6t{FweHO|^JvskkrKu@U3ECSiߓ^zH1 ԊRxifJ^_V&ޛki+$XZjunP^9_;\*T:͍x1#*Ӭ so~.`+>]ydvz QM0 }`\3?8(eԉGr2o "z᫟"3Oƹ=,5GD ;竵FVD4\:p&{;fJt50+o^{*8@A0Mɕ[u5oUGy2v644?Or3t3iR"MBDA 5n}p"~ !&gNr jVxwpӥՒ_L64Z9HpԎa\H,f `.160*>, +x'=I*"u/vb֬Dӄ`A>#ڙJ'ap{X (.XPu[-Фfta#N}? sn~,MsyQnSQzqHY@4:FិMYJIΚ+T zG?}%*!މpYQ"\oFiK>EaE_.9H x=ş-C$?1:0~Ll sE<_Q'grJA肤3=8I*+=_sV-;3㸡Hl*! mI.{B(+wȄ`9޸CR dG[dW -ȓt7V%cK_a[!󉕼-6iXꗜc.ٌ6ݡD|F`BwdSvuw7̢>54╏V[ 0~Z;Eʾ&kuiM;BJjBDou}7@Jv| |ӓ_=;H!N}tK׈#IأR#+4Lbv.= 1 !h-P9Ykb_,aezT h4B6$VXdipvdBq"0ΐYUY)ċχ!Ogo<ra5zê:ӒZ&SfO:$]RLty0%{ O*[ƜGW?j#H3fs/.KhIUNHE=eFF+l/:Azlm%.KF3;[ @bZhڹu?#tX%P\Z@fB1ał.2ՕDjɓv 37`X˹j=dYrMgŬ.鉑Ma'W8KwHcf2_'q Aj~mß##LYVzxw~* @b2+\8gsH[FV7`_;ju֒y0V,ʣL禉}\(#fNֱXH~/_,:cr.haړcW?P~Â0:GI{pCNxE&$%6W^2~~*nYkjJ[38pa)D4TȠ'KAzc uhSZʲ\Q}W*= >.9ʀ/e$Ao9lCm:uyFz'gF œJىgECo:XCngcBZ! Ri\&4G>iDvoR?)l\(vxx[TW\icQryws'Qf a! әb͋ zDKgfjn6w *:V,:C!_t~_O$a$X>XvyHQvynXߒ<#FYڎ@r&'f^RO7"Ak%ꪟ$L;%#GEͤ'u{OL 'J9u=yU?98Iqe?ՁzT;S48\^-v񔟆=^Jy&#~TjtagWoowҘ/n!޻kvcId'Kv㠬/'k 0`&)DGdR>FOn+0~Vlk`+ʟ ^ M$&UjRᵗZ̎9S.Y0V`. "9iG!(abu }Aݒȋ!6uޯ3F5_(+ʟ́TNa{ ݉{؎' \SBQ v`^܏3V5L_ -<6L1Y9Dw#kaeteɝ$ _AGώK=p )Gs}6ʞÚPMќMCV=z4F^d| `L\Z!^Enuv-^ fwMwCf#QQ1𴳆1qwjT7i e(bog1KZakuM=*186Ǹ\"{B}[.:8~b?TGD uʮP'jMHǽiwǼwQRIAU&R|G%ѩRˍ915RhYG eOݝTYI+ *CL@]IձG QЫaOmw?,ATGG" :a:~A 8>\(\F٣ hx9P8xFqE&,sTrwaґTEO< BwuRbϸ@kwrMa Cqj;x?G 7ti(oc=LO}3?;ٔe8mܭ$NN(qMG׫_GO-YvUh\/H @pv,/gYmX9S1wչÓZfkڧtLStC2/Nl!̡dX (URbrAWHGK>5F8yxT!Wt؁img9,yCDo3\KE&l:SAP*C6}[+E53> ]_N-%.rNX/F$E=䘮+ߓ޸H:d]Ku 6(]vLNgPf%y3?34X^& @\&Ej@VT)=vkB7P/غ*wOC:oe4ůE-~|,b-0,hGn4Q*(tAZphZX*0a&)[Tt 5cG:4ZQnwذ1̰٤?c_L|}HATѬ#]w$75Il?y,)&Y>7vրtoC|FXĖ[CT2@3]ekۦEWiY2Z# gbk9B "}m1[+- }$sP%w*';$(?p0ʯ6zL#.t{K~7KOW&CNsL;q}/9[Br6%Įl Xsp1 bkU_s,$)̵RG.aVE?pvvn"N^qQXߧ@Zd~6lƐUv 98YԐnZc(5%j2 res1WEL>zt۱/}$ Z;~b[%]W1ͿEnE:G~tV߷ opOl= VbLˍő" ^ID QsR jJc4(p4=[%YYkFTuzͭހZ8&"`G7&X4dEy\"&Ի`'717)#P8tpD  AZ"?M\h={>|<a`p]t:oUYۧm0zJ mE h>(DbBI(@F%B씞Bs?&&~4:@w7x. r}ARaY@1tbiGC.n9᰺+ A8pgs*k&ۜ{V%]εI+?'>FOcl t X ;s`7$4x'|ҀwL+& <5/>99؍chnQFށMZdZ~q|bU[Fwz-H ӰisA#d_柂DCGh1,9&T2 IfBIs=@BYwi'5,'άtq GrL}UYzv\B/E<ﮁѣ@A@@6wmt$}%rftMP+@gN𙨉8-VR!ꨰH =֟ K]|" D`-OuSGV/)`@^wR<1딟RewHg]]3ۖ~vd2Epl ʹ@Wߝ}+?`giaIۯ{EG#$w,h{R#;2Q?aVW v=om؆#0 #%BW8+$TpLlM'I^H?.(>^DN ۖ9I 3,;:-Sem wŹ``)3C}FшYdm#mVsjPBo nk ="綆,| bcz)XW6~".+)Ԡ Vj[:`"XbQ xsӳͧI;S684{#af] CP,=&Utr+]/T}52=scWoaŒm_rk&_ۃHzXE*:fȽv=5$bYɟo5:#JŊΜL[=UoʸtoщUdv3=qW2"sֿDRvP1ёbo(>}|AV ݜ+Tq,hE#`ܣԬqKg͗߅^>U`2+of:N(Ro$mL8-{N'%WrL`; 1 dj;eZu>dl)^zYa'ܶrƳJw awbi! 4K6w]>L ϫJ h3G8=&h3w7]k9&x1F4OƁ8Y)S@C5&3w2pṗYh:-u#Tj*ik-.3uZ|i8^;xVK hq$CnYϘ-*U'=RL.z2As\RY ќ,@˨C6&)T0Qs\Ȥm[K8/V?.YZ #5 膲amh\=: g}~(1jT!zib MWĢ|5\yo?eryo ?1ӽ#(c.cf@Yp dǼO͏N@RBp0؎^A1'Ocb (Hi{GFb̎jR5%9';D(*:>{ngowz2+ݯo܈x'x ;đQ%VV+H#+9zuMXOhpv@MhCr3G ],IO4z1H>./('K>' xNMkH`c !+u8 ?h~VJOX<7Lݕy;C9V2:7FDp<&fJX7@LD7R.jLx0f d3aEmrʚIyfG0kJ9A*Gdte A *Nh}<ܡ7>j9&rܞBә}ԣ p֚,Z@ œt❱z}{nTt6C(͇BtnB iy_FeK[>ouuCuf#L5=ؙDᤣ"A,5 [4$ )j0;Coer0٠$ rTKi* ɾ/ ̲Q ]&\0ܰNP=l6^r#32g"5ڸx|)qLYkbx{rkܗp ) Uԓh [}욓m߆qyOp-a]A[ ]a3glDxQ׻ +c sA ߭'q^8(#OP,X-wA4y=nqlTok)}srzU)fؗ)Q*wn-ޤiXyG3S StT Jo1t'+8Lف|ð9aG8$urwH.P)A ^[| )0@ߒ"Ч ϑOP>#!ZܩҎLfsq=l?SdJ&_`P O ;5d%Q:rcܶCDEYg=5CYKX|1e"ܚɏ9XS-eh0'S_숣.8{Ÿ/}HFj;A]n;7d`bx nߓx'- %K}VNBqkR@+%-+,];\@/ۂav#hoOpKұ\w~s5Z=։t3z䴌alvW@'yo3OƲ `JuAű-6;~?iIQ /0L5GiC&U{O}%1N x"قWUdK,)˾p]ew| (BTsN__i?(Z`(ۉѺgbnUS~ LPt/G*J=o 릃).׃@th?i~׶E|{=یM*|v`B<|Kx\TT #_UTt(7$P8SU1pRmMRk*  <5CkUSKUut 졉2nJZabH!5{/;`c,*`"/%6T%)sQ]\q됕OGYv>.;>f*O*g0˥(޹1wAh5=M"7q7`O_ZPuDlW '6k`rL 7Y4e_ҕ!@ycvb,QYUH13 x%{5,=MӼ*IϢ5[ӂXmB5a*h]]j&K0!Ns9c>A*KB_⤮I-4m<ŽX(u 5Lf2ʩ9ߘE9Lr`˦R,^iQNs?Sg3M˚پ6 A> U`kn{RK)1:@}7Qz`Q;3y9Bjmj[Y -ِ$] KP骳_0mvY+k,0+HFVN vPH‹\6Xib][mm7_<Wicf(:礽p֝Ȇ@޽ 8Z{eeմ_}^>w4-xhIQE%LA>ɪE/Y?Q7/RD_m?#Fe͊oJ a@NJhn~Xn+'ީ{Fq zO֦ҕVqv uB`Ċ;rI[*jgPo$=GU'=T,ZӟXZw0b۶G ) B eXljsM5 |.TzG^J1NwKHbr|۪W˖ JkyKܜ4Ez 9XztC8> g `NDqһJos[7IwM+ԁ xݻmd¤)'҅B+f^Y?n>Ѳ{߀J|hYY8tVߒ\l-nMq!yk [m؀K< mh^ - i=ى=jk XMV@p\o37 AMr}JxD =qGPB\P: O/8O_,^QXgɇ@'.EY{O߀\z@Oa1"fM5ЍusNv?6X ^Tm@תrrZlGP30Fu 1RH#e:VpZ_;Y8 zx.Agvj"/tG/M.ML=rݒUm0WTT\Fc/8Cvc?h2 cP լ灎W$7nfx`lҊsv 4!SL_ْG}&z*,|"h6bxj> 3kl߬g0آBP4Hri;j!6\Ơw:͆Z^܇3XyU^[!Ğ.:H Xk~T[H‰8-x Sw3{7˓^x8n]:GRJH)ćFnc4{!=%EXtq:=0~(uV[Qk wى& L&©{5\R43Cl5A Rs^EI<'V=02X,ݓJZn\>gc„I+Z)ʺ5Vσ]Xuʲ}cH]:'AZgLVqwFx8-dT-&B>:ۂt Aѹm|xnѕM;z&ddiu͌4i/={EA p &zݐ" J'YJRcxbH;PUcvE]fT(v8qE!&콕)Gn]b$ !'XkZ(`OL&mb: f }bx$ASg@MT2Mk@ٗWn%a&7Ƹ!3)e-yq^vfa~6?>Ӽa֢:xyᤳں|>>1gaK7ZxZ"j+`8Uh0~ZzhRs+G@#EB hA*^xi9b}+ɥG z6kw(=S >a+R4a" Y_IS7X4?vDp  @Mgj}*^]UɜSf;qad"mLxW {JKd@鲋[-աE;;7 Ah!,(:J]]=vVƫcKا%?6{:}C%|6~sA@to[0#LM;n@;GOm(T#MbȊ6<՞ XWK]pk&he,V~aT-N|7Z OL) J'݁ ^Ӌ ,%f8׋+s=&yoл:| 0΁jIDQw7}H=SsM"@Qŷ -a^㏇z=ҵGxp qPZc _;=M7;ř7ܚ|{i1J't`-DKK"3)< Irh{g˱nrwCD:J}.E )gS?dˇc`xGiWGP[JY:MX uar?z@|y2";V`ڱlH nt"9;Kp (5S,d ܾQ(Ip_MSJ3v)"@$7.#/r,tԟN6@PU[T뙜$%kv%{Ul8-F?f$:/ ?} YSZSBS*R;wXǛ Nslܧof_6/aJF.=)6sIqeFhk+C %|[!W($[ ,MӰba.M1*:S?k~^@:nkpdZM6]xnKZ$1ܐ1w١hBܷk ,(1cĻח}֖,ژgA: Vqz_5 yTK X dZl+{6H(rl|^ʢ'c /'bCOSA2N)Jlvۙ˺v\rǐ1&L?!de N,y+ѧs޸e(/b{SC:MG"-Zay)[|v7CEHE:|8w.v;e?Q+a bf}?OP@K \X!yyrl~_+HQ;Mp,4B㏲$^Y|~G>7S{vcrd h‹0ٵK&cы X,V~ #u2`PB\؎vY-jf̗ 璨NQ yPkwkeМ|k[9صSrqZ>iҰ|w6O-RL 9Ŵ2ֱ$'oBr1L ]w /TEX 5L"9ؗ(nh&r}޺d De o7|QCS4I <$W#aŃ(W֦IV nmSmKP.%$R!9MvތSUPOg߱eYef:F6èO/iNP S" '_>mFs.-9sөZcwL\9,-VY):RtUG:>5=p.g7J,Zj59 p%H5=P!$2^OqBI+P^$7bhkHn3 =`)yheXsThR59"2DA_O!} (]/B"~{ W=D5>s &X.˕-x~xrYE׃nmijgmjkkTB'ν_l, ;+$t5!w7@½E8?'kw2RN )3 HUg(ޝF۳{u Ӌdʐ;? vdd WX vXZӛ>1@<>P(tڨMӽlU͠Tu09Nx+j:.(9ppZ鲵JxhpNOYt A1$^nRFN{׷n2YB zH+DŽn|u^2:>?HPe*uh3! X$-ϻTtH0-X>/XUڥ aVhRh(#GU)SXC/Miaftm9"čv~"0;t(] 瓎9 |TSӽWks Xl2c{'Y4bx|rƛ'Հ6]ÞY+%WǤѾp)[G]bcqu1ӆ~r QiY&[U ueh+ 7{ʞ"v\g}ِI'a7sJhZ4"yCiw+Ԕbm&mqfJlF@Ml~Sv RͰU}kmS,]7C@\#3Ʒ4{㕗q\bgG2P0IqS_uTIW.7Fƻl23[^TzEg:g` H.:{;^J,6j/]eE llPp^}k%&l +eQך9E oB o X,b@'~",+e\B1W zO]_G "=zrFӹ-4[7fPmx]TM/4B ٓn>ӆYQy'3X (^E .-wKM$(3W{yJ)Y(ޥ##Ef6b`*%fb*n*S~sYMpi=$sQ:Ȇ(gX MYklzE^aߣU"(PIyI9cR#)wHx`s< uձiܰ,zPzciW2wԬɲSLdaG>C@]Ҷ a>^[_Ow v+iq0ۤ_eں _[&#Q_ME MVC~$9Ϋ]]OI(ݗ$0NusE(Ѭ!y~mg4" Vk58'>n`3msD{PI!os8;}0:ܵ.&{ b y;hI2|m6 $l1Ot$,wԄyЂ10Nvb&U)Ҏp,NA+ZTYOR?mn٦shxƔ9冻 Ӧ,чv6װkne燔ok~|/q Yr{t3 ZI fa0ZQu !֜@i-a$1>zN+`䟄Sn&5f~I 8J=NMP&Des9EKp8+\E08!xJ?,t[IeUBx9l>O %ZVydCg?j1ໆq%RslQ )/\o'Dg1Yωm(.30&2,Fiu!={k\`o*2gvRkYfu|6Z˚}^IcBLyE +:Q$WVڒY^_/{QZי[ᥤAJID-'#b̔Ĵ7&͗~Qzg,_+#ta^.oF@yU/.y$'̘C|&4M$;-Sb0`izА#=>cs"7^/_PU 3=VOiG/7E$YJH~$^SbrNvÛE6/TQg!={~/2#V15{g`Cz߉:T_vT0\k.VP\@3SBE6jBo!.hw7>~Ԡl &L8 -R Wġ95lj]C"3b$ڠ%\GW=D gB/g, ٥0u+[vY5A k8',q@!;&7B1]BH)GGU,osdf0 R[^Y+T1Ļ)u? E v$i#CҊYYXT1ԭB[ ؒ nוgEre\rrϦ(ipSG;'224ܡUXz} )BB"!u)irzF0|(SlPqgs-yZRad+KQal?Ҽkozr0eת~]Gp tIU+#ɎvBVALԸȣL;Tƺl,nMq_c RsWGF `2Z)Y_ɤ)P,o|1T*ۮ{̚ .I#t3 ʍC|@~ 6b}䚴1><( o# *)os\k#SkOfF01ȧI7tM(v[N=YĦA/<쯪>og175E:՞ב"RQ5g46zy9bnH̴(e!bʋ]!,m]p?X+iէm|wts6Vj#"9[kg9 Au7SM7MXXh1gY j%FG8\w㶴49;yCx8ij zBqyzǭ#!Xj2GY6-|(8@>P-:)$Ҭhr^RY+[~HAh֗eu XUAcb4KB[q}P<E>k99ۮbR,@RHlZk"2l?/,v/;|D@fmF" d7£Ըt9Xymڗ2^pqxZW W1]k>ܭcwӇ& fC^hU|mJEtrVQ Ezo.RSw3-in7tX8%x%~SdxV\ 9aNfW-[tI9%uAM/UlJ0xloPGx'p:߈#gJ<9Q؂51T)+pGZ m 'z.}Wko6Ά\x%mj),iUhnl/~A j{]qCK C#aZPFs'J/8L\']7"_ܝ;qZ{İ3j/q d=|E)j!5{wV?H]pӟ5xy_7V$rjTjy)ŊBwiSWGAU蚵hք6Zl]}7sI5#ȕo|z\y"c Ao냒! "j7NfRw!* Q&a@j(l TɺM5 d9D}`,=  .H:$!QJQڊv1po5jת ,eh Ъ>47`pVNKK>gsCp(бYW|PA9R*;3ְ'&7] :A|sVjaFD$pǏG53V*'%wMԞNtӄEe Rè WyGX} X7[\RDNM@olUnBu0Ƭuդ!,0Q!/G؈[m# lHT7j`V]+@[,7<.jT2 sg{~%1#?,M؅1S&}l+3kK2x6^oMKpFjFs.%^;ʲfJjK5G9MeXx! O0= "W8-LCTiik:'rʩ<l0a<"+6\x3aDR(4D ԜoYg+7e|F͉(dw,luӬ*%P$A1S#UdչY85@^W}n.7W`u{Dܫ=0ofu;Fy9E \Xv#Xلa Dpa:.VQDYZٮ咷@ FO%L͏u*=qޤ@:+ ?hX/zJK2zHpZQE͢8c@EK!'Eu Jlm] SԸԍu&Nમ5Oa/G+cd:Pf]` Fڏ/ˈ:ڕNh'vB޺nPg;*#? LGaBG-VVuS^>;!'U#DRK1>fU%T7?z)8JLDS0 vl3"oq7qTlMXof Kk Sy^z+GM*2s`f[@eM0qxͣw]ȁ?ܻ~uݓaeb#t7|{? lZu!ٻ5b}K Uis}7v,rbJZʁ;/Nа%_NGnNBτ}@aQlpxe(#ô(ӈ{` C.,]0^ uwӛ 7;hmi]vۚCE`2bA#L=NDU},38n Yv5l"8YTAtJ8魧ɍΤg%(͗:fB$ƞ݅Xϸ^懋+/)d!49AY 0L JuPIHުf?K.4mtd"{M*T8Le\e4uwGzۉ P;Gˡ@g2aԖ=QFP6މ0RʼH(畀|ʍb832DGf*A$NϿJhbHi 04 ;c} y$zEa7Y. >D>1sW"T^[_ZZ ۣ5bV&xUB/$.Ru rA\}f{C][8RcJ8YgĆQ7 DkEa+a U P*p2R#gyBñiA,~k{*4Tԝ\&W@YH-_WN]llB$]$ٴQ3 H] tG/1f+!Sҝ Fr'v78?Yd݃d)XےȭW(Ri_@ڇmɆ3;k'NeG-f "fɳ\ GXBTG~od{N588\Aub lAnV ~cY{*(GalhU3<|[Y?hȔP-im ՔY?r~n?ēF oZ^e#j8/ԁ󭹺$8`^&RbF\ Oe^:yYV2Euug"|9<+vD ǟ}蔯}n;fD%Uc^琑D!Qs/LӉߦZu.Z ܏=gfy`;f)|>̈=6a$73la2C^V $%'׳U (Y|RiXBb zE:RZ!]NbkpJS*ң$WubhWx[ZBT!Wsq1zܥ@%S@wȠt*(i0 owpv]Qhc% q"Q*Ãk4M1k2 5c Uc=JJ)ޱ)C48Uc2^'3O&٩3Hfveҽ #+|Z2%DkxMkESq,W& %8`7>$^Ž>8ڂw؛_u5^Kwg0TQlɰR90?ΧZQ}s'꿋z8:qGu d hyxd05J*'\c'L)o l&Y]:O`j-Fyl%m!3[%7ɗg4 GYv1Vw]iߧL OolXC% i J)I}u fDU.Rkwk얾s/ߨ ^ܐ:xYgN`BwR}p8$'go0˟ cK8NO-+-qdٲgWDd=B ?/'-a=єd[+ ڳǯ-ft#ҪSX mwG }|g>;l1NG- 6+ogE2>Te 9wto`p5E9屬2βMЂtGt%i` he xqa]n wW] "t^ p9L{2`(Z:fM"x{Qߵ,&6)yQ??4ǨԎhL?Pnjo4!ONv_8b-of~?Ky>Q|?]kWU,h)au+#g S6gY9TO1{,"oZYtyWOW:6?%F?45vV ,kCa]pbiܞ&LB2Dy"ڬ. qhX/K̹"D~UZw6]{,Z}DO]Sw2S pzE#uS81(+|,̆)!'K,'0;&2D85Uu (Tpj ɣ?.g llV3%mCl4o[aH9<t{=iNf{h AȂaడ+fEvw[Z۔#'Bғ=^|1ݚsM]/(jJ g<1V<ŷ!<2rSW*bSK'rWΫ1//[O1 *Glv-LʜJ4=,jLדBz qt݀[SqnHbK:ɻ!PS/3մZ/H<?OeW{xEM.ez8ŪWDa EfYXHm4Cb<ϼ+oՌYkwPd\ڶW?eî;&q?;֡`ph)3*F:S y4s$O]z*@re7Ru93EX=NIUKxy>L}HzJ3~zZP7CFpW8)1=G2Z6z:<6jBx_(4%L7Q|1A/9ܲv)Evb$OqlU+KuSg?񨳉hJYucYqrmז0h雪ҿx#S#pNsTa̻*{l5|~ gcxFu2t""ÖɝqE.]~"-9 %@3&NŦ@g@KD% )MDYfZ TawXlAl'c!`z,~ƋǙ"~3|pݖI:x;\I{~c&ZJ>7;1~ΠAf8THۘzȬ7fPJ{J~u,P pEV_s  ~ߟ~, _ ^O\KqHoJ@P6fpL>&CCC q.bǐ]:qMSkM$%X8Lv[uZ-uѤ r/_* Ҽ l~g{ _=`]xy_ 6[#upz2 ׫dZ|NE! g^(pi j+au:smDF9]?;Wtՠ8?յVenVV xk4ԺzEʷV9eUĸl+eaXBaR F'0D,+Z+~߈؄03jSl3wcJ 5ӭŠ +xBn֙y|̅;H]B&.qcѱOUx pc%H rJ6'J'Bvj=Jō̧Ȋ?Hk4p @x[+t?0hU}>)>3. 4zGJYնN'~(U'9xj;mtm?mAXSkDzNm9\D}0Cp-n|+󙠳ԋ:aAM! dx L6;Ǚ+~؄PC\nv^Fk =aƅoΣʵ~}(ME,Eyӻ"ML++,<}c@_H,#5psqwL,Ap艚LWP>H -Zm|{uQZ'KeӏtuS-x TUh͚PA 2S  Fh)N`mUyF_^!Mc "|iޠFO֑b!O>Bs_s"VvpFv}a0r2 cK裛#>!53|mj3UЌ+!-pmI̷X'+;>-BƄ7o~2%%\+zc댪cM7+7x8zwIL+{a#"X%*yvЫEl /{} h%&DS*mq6ѳx'3ԩ؃UQԚՎ`CG}?aoH )zAxEDSi""Q1Qr7`^ZHo<- )~IlòE] &٥Z*$K}Fϳ}3&@R y3pYq?}4X~|6JB  Qሟ}mYi5DZ@eV&mܬ<.;-ԒFfzsaf1lEn^iۓ 8d濛qKyC8oCQ _c俈H/'5r tgL4~EkOsej&0U:7.(J.Y@(x^s3:}ޫoٓ*olPDSyl sL^k]U? u=' *DWhY#qjz&GPX^IqR Е, ÅoB6~}9{f|uئvK8tj~6'R1OK.+ vt*]y%Ӿa;yp]RbܬCfΈ 3EA+QY O I,$u׾#zpR#P0Xni̓d&OQiҼ?c^Sb{&Q1fbQS} JF'Bw<|v8R0.MBu >tY4l_1V@A 1 /0 Gf+}^`H8SC#ENS>GH!Ȋ:' i4" 'lWqMnVM<=LH 0īro -?.(,n2k"oO0qAQ agCv Ļ}y}c.Wӊu_,>-Od 0@bJ&w.kS$fMiRkbq4a+8^T.D4Hk^"U;~>- k~pN&W^"u-VH4tQ8;аYZxgm'PcMj.0W5#S*H%/w¶6VQ9c2 h&#iǙs[%rSg|aXQe{tA7?(>d'[tx&CZy%J*j'sHFV Kn66 ێ[k>6c_f@fƇD+f?dl>!.0f ht9D7 tyO}!l g'Q|"teT֥5De IPap>Y<1uI/CW bi≨? ݞCj E SO^xyEpʻyI1N?Mj֭~G5H٧'UUdr>G<4}|_Eo5H,/=h+!Gu)YWc7ʊ&QH~zOJnǁGFOHm8 lz{JvV8y0RܘcAeYhh~LBtZcJT`F] -!d'/1pjKbkcžr|h H7_6B˖΋!D=[Xj= .J(y~ޫ`Rf/j*$fP I춣@,&\ H)dv *L߇I"Դntȣp:i W]{=Z晏FO_CcI&7Zz [gw >G-` [ehe!{.{_̬B!Wo}gn$o=;O_95+v~͋e2gȫ{uz],z|ABlagdĎg>𡦳1c3/5e}5'eGUA׷ު3`߱M1{P7ʠ0K^SQ0)P-beQU ;1!Kg-c/(I~C֦}0c%Ɂ^ʇ1}(׫C+EcUQ+]Mo_g8j$ y0C#x""2eXmdi4ߗ6w$!c8CJ ɥh5`l.vo/b5'sz܋jF YQ`G#DKYܮbmΫD*m],}=\MwI{'xgz>DYLTG 5gbo38cn |a ۊl9Zub} !(_b$>χ:VO\8Mf[YvrkFЦ.&!U(̭gT߉CϺcg/ǍGdt6Ք]j7e$ ]s/ J'J;4$h7v{~]>*C,.U:P?R&\NCf3H[r Uܴu t1KTEpMpC+&b۠+ļXfXzEM 6V<:Y'蛮;D{5aRP W'L"G:Jʯa&ԡ\,ޚ;0h9:Ch:yS`<$[vhece!Ԣp w'Rf7:JͳHqeg\E.N!ZeIExR?67!W 87whYGV"eOGhv`d>U^ϖ 'bbg͘rg}\ p =We^fG0V?ɱ3'Oyjw.$QL 9îX.=t s_8Wj)bxȐdÅ c!%GH27cHy5Ћ^7iNxԫ@$ 1Ƚ>wZtGYτ} VU܀ %5On4Oф,^ȑkd1O:r! bМLc(!s{cτgN@0,L@={?2}'i gJ4N @~T] v,֛?N Qd6T0I_BVl]v @C5yf6gZy{ϨD"򭍀Oqv 3Qq8}yU_*@{?eA|>组j&11]8(2~L5;^=@Ŕ갲rjڑ( #T&5$uBfjH5/8UI_hy!݊,3y@䵡y a~ʷp3j]5s -nRs{JrѮ֨5:mm;I vv3}BG w[fJ|w0* /lt]O Pm["^e*,~<.!=$(5LK X72zA"zli%~+J ?H~eDɜK0D_O_Ҝ!.#Кy<Kʭ3ˮ'a?\EWQt h.?3H=ѸoB N_[-pہ$ #ual~ߙj퉰 {d +םIh>yf:S*UBqd#,Fq: JE+H`4\)#zbB X 8шyR!2NI]NIG75f*D`9Tpj_$!"%&VoH/hOZN4!ku') 8_D Ӿdm!jU`ڬLYDQ+KYit B " FQ\չQyH *R!NxXͱ\Jm1 _E>6 @&w"Mdv{7 cV\M{Yz5A1#J֫ddW)Z̭l/dܾ[ٝien9Udy:@ }Vљ]c eN6y~Qfe3Ux]إڜwδ_kBHcZRmqׅ;aЯYh 0ۍ|ˏ2ai90\񍰼Q`[6es8rz$ eBg)V*Z$.;3dΟ4Zպ#H[^z_./:ͪPwbg]4tÛ%yZ*YK~BD@KXƶ lܯJ]2:^ZVZĠ"@x2g6m!Z_ֽA7ఘ(X5&E ] k4@#;QQ73Pu׵eK u7u·7i6Lielrzݷ6w.Tgjtploo 3@ƥC&+#D- S [|~;=uf@x,`w]/̠ף;MB+;0ꭥT'HbsC16YT,ַ!Hkh(>7x-5c)Ms`0SS1:&Q$iF>>gq*{GNL))vvW6„@f:w{QBLllAg̽v`E2r WJfNgM =,Ƕ'[2#8t'NۢÄ) ȹ2ȵQ{NIRd>+\P(:7Ӓ"Gs0 D!T&3$s ? o9d`b"В?<|75 SPֆTf;}8F xQ#O˻N2"Nn\gOE@Y|i􈢼2~H>\C"vS䕘(q%q6?)ܒ/M-:dESʮpt;]tYmYiq(aI+d/ʹMW͍gԯ]{*,r!^``e.W(z+m=]AEȁ3s ; 4'kd.L)x1Z\DKloj>,ԨTƺ0  N؞rU d0՚Gmn "{9͊q>xc =ڣvdTEo^kVa 'MPMTVIeAzӅH|Rz]87m)7RupYߐSQl(1h`nF׳YW77s!˄qX ZQ"xhB1mp/F2RKU-`lPh/ٝvnO$s6-/WKQ1]?4'iuzB` ߱4ǚy0GrؘrؽP/j:eVQ%lG4w?`Sv0~][xGANc,K/K2~jnkQRlG3/Qӥ; XrXiEa7pI濉ج߱@;cɄH\W !$ '9\{dkhlp::E f^_lPrGNikXPokU\ƶnN?V)02 `}x:hFz/Qxy9HFA-Kj-3j2Vh[4SzO#>qETrXn xHB %# 7gJuT"SteP %"Mk 6OI>*M_Sy2]' ʸN?5z=̬ 4G9B˝ӰR}Gsl}9Dv^ǧ 27jMwM8t27Y] 5QL ~|o&jMq+|&.v%.: L/[2e-~]j%9_7X%GMebfĠ)W&HXpnmhjm~ țu ~%JUHvt`Yo= 'q9RaAo\`\hC7oF?-Z\9z`?::46|J2$x0{xLיnLwy/ɢ]pnzI^[$nck9HTfzrtV{N&6#q~9kIRk:c nj=hJgs @Z(RA=E{zE~tjlpW>d)?THqHQ3 ݟs?X(f4΍jn'԰&=D)nfP\W4pee3$zNy#8\HFJLo ֵG^hC^ >wCAf:M+(E7`lPlHl;D뽀fFI-QKXe]p%Q5\߱6z7H{ ϣbg|= Ŷ!.ק`KlaYߥ+:!U3*;yE0p9!灚B+ic&}3[\}⇢#/ qk|,hqv st6n ( Kւٯ2Y$ W-Vn~Je^Ύ}H7#òj1؀ׯYȾPF#91+`0JE*At5FW<{*{|bvMu,B y:n˙]dV8Dty"`MɖkuH{RoSCgRP< ١V寒6dCA:}V 62,@D i󫂩Lh v$s7!}V>O&|"synA^%-xzM0Zrz9jLSEO4BqoIVN$_B+"`TQL"gfb 5,:6;w/*/isK1rpDc4]{*:odr6 ~j&ܑm6My|r(^i8Anwңn/-F>޼΃zgXؙ.~Nս͑_^afW&7E`&lI#wzpCnVҀg![6Ί$]ՍoM↹>LU?יzO-_-q_qh/ԯ(b k482Gl1b%S ,m,{{>/õJ@Wkw Z)V#p'9ѿ5"YGoe # U`lDDl.6?53#F(YXə<]ݛjj#;`E_`_cR^ -KBF03x9A:9[&z;lAsf,O}+"@Xh$! 5ٜrG9`B,kEm TJ<"a:* q3Y|N/~*Qkl4]t6&vb`Ș9&Ċ9dl đQ܅J[/Ωbe^ebڔ{اNqYd$s~SyV o厡ƩJH V뙖8 (_|Oy Bѷ>|Dͪ}_8od]O -&YqWySI4 )\&ĄWUh/  3uByB7>p-Uw-͍)*'tT!8IC6 iVs0iuH%"gH׋Aܔqk|[vΔJd0#\R< ͹帽+^RJHUEIgj c$!eU.=)?ćY< FFziZ(Nl(p!Ğym$ NM}IcRY[˅ TsMچMsG.&8 (>4Qe)99Tn"w+TI 4E4(Gs@h%^d #&B3h y&Esb= *hIېuY}?2BF*ucu!4H0"2UK :^^0'c$$_A INy*+}) gp/` G>[e.Jp[/s;;[s]$;fk.?H!+l-g,H!?Γf}?ܰk~vM`=Ͽ8#%No`4:]dhr^qV/_"#Pj`+[!Qlu37x.g9qz+E,|1WΤӌb1,(emIUg3l#Ž42jCb FOH!0+BewИR14Ql4V_'~op[׶ѵGn;^o.֜|q8cFNU 2l./TZ%r$Me9f ᾹP zʯ R4*58xؽo{Yd2YKm~JbXJX-cXT(9CWu駝*KGvPm{,7w>LGk*A.Z:z BuOĒVWOe=@㫨?"=alʘZ3RWZ@sB岱[Βr Z4^~<*C1t<^&v"q =-hM^̓m}.:P3Wo FE.E髅謄Q0Q.7sI9!sZlA޷Ǘu'&ko,Z=Y>\Oؕ 1PBmg +]Vq{ع=J R%;C-"e/JQ> :40Z ٸ9ebx9*$z؏ ho+zD0[ w_>f~0fbX~` LD?OYc=v8ln(G::̄lc>$狳ủr\imզ"Qr5?|O"9lP=_(:;L,A03nO.碧]o}9еD;e+YIJgcr½O+-vD3`\X)yT$V~TF`uKjeH5 אD| M/]40~:@ T᠄ȕ4<~oxCi`w`e@ @A!L i2qEϓfCTo۴zL"nHy0LFRu^nZ7Jc-O",|1P<- 9 7o#~gBu4>3Η??x4}-t\P`nn%ж=[џ̞_ZJsՀ:R|tOܧ*K+N}1gZD[@@+lA9v"oC,49rJff]ؒ?RUnZjPؽHI8H ;;]` !dPnLP.6VLOk= Kj@݀8oYiAPTF1)'FRA KO3ӢTY4qXTnw8j 0qS$3mgʗ/Xa͈tІv@ nQj'͋W~-W:+ՐS Adb2Uބ@@9lUwCȋTHoqq]dLB;{@Y+Z (>Vx [X 2Xߪ;\&80lBQN'2TGefK2:<TEG}'0JyNdYp/7=\"3^ybPWuhݱg XP1Elʺ{ GĿi|8D:ۿWV8Þj-eg 5bin}K&)@=vFv0,K8;l[ʠȹCVʑAE5#*!mNû!vzԛ3bړ{l }s=z!a#a%Q|%W1kֽN]U'H)P&k#mmMAB[51}De ·HmA (~Οx1!BvRZ1?O㦗Vey$<)V!Lz%tѿN7#"@"e,1$tR`,iaevs΀ Aa\Bmپ=G[܆T7!"jӢ*0D(D\[?ZCaLR/emȩ6 1&p4P1=M{-hByQ]X5x ga')7KOv%+ RzۓxU9ŧG\&`%M-v4##{!w$1EJaXe*gMg|ˣʆ؄Ezi 1^sl|_kw+N┪yt}#(N߀(ZV7XOuo*!ؿ!Mdͮ~C#J3-> HEHb1 dˇ2 hb&yH¸@,\$ԗ8Zpy'-]1IJiMn>V|-ǒiF@F!qJ~.XLK»G `>^F:\K8X^ ?%Twv)*:×.t#/:/C ,R.şAf4&Z'~+C#-G a48^rGa.qcFuw=(4j zV…sM2] ӮPº<3y VwU"ݺCcO; WVMT1Y*`.1@bGɪAcW+c fSdڛH *`e:+KJoI^e"*r@aĘ˫޽}A*9+6J?0y ؇~֠wÁI9kEvϊ6Mhyǫʟzf1 &{~u?[?r{;sW1Œy TPGVЭla"oЙaΑ2R$מ8s'gO05d9z]|taؖY:odK @Lo7b'Z7Rt^C,5Idʟ(r&bqIt?I\( lvETRWfg]7Q֑-2'pY*-IQ$"*&Q<L<$ޤȒ7  Ŵji W.aZw"_DHd44^H[VDjˡz_dk٫r^䝜OgmK6z#%P!p8W&@\qmW3)5.Vee# JPmKu٪OgH4jŤ%V)(Ό0hΏ!~Ԍ:0EOSw.u< kJM\.BMN@GpH.{)v;xݹyn^ŒJenԽcmүUs>u[7P㩡OԊ SL SrBc"^^)c8<}xJ]͏@4tsc)<rd?XEc$K=bG 0ݚtjic ;hB 1\5^"jU}zkKx=cѪzk2lntAXekW!Hʿ_[8):GR~9z9j.j?.۪:Pj7{?(_0cX$ޫ6[W-}{/3-2<(tWP0%>Uu3ժ4Xku+E$ܓ1:" :B*1g6l*gf$K|Hx!U7fT=ᄏjcq]O.ŴB ۏVŠ-#ƛ(1|&wR,Sc1 %hnոA okjoܗ%_Ծ@ߚLC^rODb*Hl{¿ 1X(F'dnnتycN@K[L,ZM7 3k3E'(#7J_ lF]6h\%kn'Pl`63'yk܇f4zr~?cc#1aJt!8#_I!^ñYŃ`en7X"Pʮzaԩ\5#XD/fdcC;5úvݾ rN>)&>*I}_=)ap)G¡ jlוz{b%y9.5qutd-}Zם4btsK5z*?Oތn[ٹ2lR4WyL64(}J`{3(>,|^g$$@ׯW<kv#xWyDvwj7)h.Mhhަ[XW8KDIP_d=cBg xD<Ną~EFW7 l (#C8H2[4ÔpqL+QLrLc$}@%aBۑp& Nv@bדM6W l`bH`4|x7p˻m"' g2,r=9ݏ6$o߁yp,H,_ `ܛN%!4!U[g_s4s3N8w9F+LaV6!`nž>eo^U[{9zPO0zl>6H=4K6·1`Rm ]mz}2V?NX, ^DXOUW>*IS $sF -i*qoFSh ɵ94 Fp50.!BS*(?4a- kj UmIY^iFXJJRs] wOs5 |g۪-+xJ5k)ڃa,%%cobe0I2lCۨ~>hj9} 53Qm wxoR/+碃D/\mE`N}H&c[1 #v2ܳT-sRrPz|gKcH``&/dza0Dۙx)N®֟ ڎE# uLM.T)tT!X9aWa 94%;w8`sz#Yk:@hN_;zj| s/rNE UeH_[DN"kYZ3'nJp0c֑{Dh]#@GtS;@j9#ZlT#siALxZ}-Ŷ;;)G~iʃqt[{NV,>%ޞPu 8%B*=4ɚj^upg=Va+g\|)fy3MpO$RaPyÄQi$K՞eED"L.Bd̨e_jHH̟,C,b|%rNhmZh3ʚWgPC 6c Xm%fȬh() ,#bO))eˋ9%ϼ} kU%bSa7!*] Rh {gZNkϡ,ۖv>' Y m(ˢƚc(ɯht=:C@X #`Go7#@)C cXIK`|sVMq}w|Bs/pτire&'lxQfC)r^,&kf X8 avzeˢ)e/ʹo}!w]umQcF`0 <;Aj"ƹ0{(^D7'ܒ,Rtַ~< pL[}VUs->*\|隲B511[b2q1>( Me# b0<a khˏJx ņI\ r]n1هo̸~GQQN4~(S<{SuK_^$yH<*:XqXhaS ] #+E}0U+8 U XqvzZ2VmuJN7d(9(QH 8YM-MۂkA NC &<ʲhom4'A0|BvJL&$4CB'm2H:.~F7O +Dof@b<cihgkp[Z֡ qvJ6%F*߇8eMRbsaE=-ۻ#Cmk'á|Kar`V8֒+oQ5jn+l=z% a "w(baПЈ_S3iv;mE(0T1Zecv!*(c s|#lҥm n]'&7?x36h :9I t$`SW 1UqsRfParWYAײ]v 5UoxiʭX°gP15h~! <)fkKh抪/? rzKݩb΁Mv>!ڍ\yh;q7鿙st *7~@Y)ﳠN18.f{|B znZj-T$bˉU[~ųٳ:]hXy‘җuMŢ2NǏsfHͣy,=Me;*DM θ7sQI^HK1E5{'1;`gOAƮk#feȃuuDan'8,T"~}W տ~ "F( 2;0Gレ/G֤m A2 X2{mt@џ}x"T9v$}fYY 'MnF;;}1"Ip"^Z$|B덈lA.AS4_F0Ws =ZV`eUŋ nCQڒ?s;qNnI2>(n҅g'#g[JBɺ ;+a37]cfT/%_4 !l%+GGr{+j3O+cT,l$ xRتgN_4qzUZJETdF+xֳ51!4S#gr^3!3~A1V/sg#l]*s}=n#膌mÂ$t'orv >_uaNST2j \7.z_ik\l&(?’"f.9o&9h;-@M^ =0ِ5'/2 =kjU&1G!Wl`HqfmTBWw]ț/?`K#z*ٯq!}ð_suĬ@,l~"P:NfVٗ2ؘ#%NVIRɻEAW}}.rpF9L9GLw=ђ-1o\"xKuy/w {|QN,LptvHS1YtkՏLjo$ⳠD5dH܃OԖI&^A1nl(?klF~jgn xDނڨ`(UKuCْT Et*lD z*."45Sm^C0p'bSΤt6J+N_NʹE%惌ךiRL))ْ"ٵ?{rbƪ,}emS4K=m]ŝ {Y#=b G9KsBT*7IjBʥwE6iצlMsL%{PV#OѣKJE:V/_xf۩7ںs2 tVw*,փ^Xc꒹hTI!jQr[9a2{-؂4!QH(7o?;̈g{o7E6+0֥l(AusBL|pIKMh$YqK@%W4ϵfB p | gH݅ICdU_L6VrAv,brƗUJ~5sXۖ=Bj=K%Y2r8tEMѴWԹuޒI;U'Y3o#3tcd.(oet\ CiDOaa"MZr0*pni9.H} cCQ@2Kq%kK 67=fN/h@vAа3 R ' fB(/lb9b riT2U@GKqәꐀDVc񋥪A( ey>ѽVWмB&ޅPc#d][ᄉvdMhԺPd)-u T?2bp^^2V@s*dB1D A4[gJ 1nf-O˰DAo. iYE2`ւ}Kd*xj9N;j1Xc c"` ,jϸEYWt)HoSߐpۄ#Ʉ$?&{d 3UO `J+gTh/ sl^eV&J{!݆߹:t!T<2'd.wr9h,M };qLk$A~J}g) |^†=n2>yX.IHkE}_okBx1{cS)AX ukG,qAe (/:f%׌VEF@]ҭ0x|KF6h3E!tob%*ONq-$:uYy U)En%#>\_]ֻK_GDjpYaI_1KW"d,!_0 Mh:O` qm.p>cMUX% Nwk2iٻ:)tŔnMX+mecm _/n= PI_jL]7:`U L_z?qa‰}64L+q*3=jH{j`8rvz5E/Й-kiMg(_@DYbUlP 3Ju L};^yC0zI ߥ *Ӽ=x."*Sh*t|5!;q5O az1/kV!au[vq'x>'I,ڐQn4da?U|Mb Sgi^A؇dfC9͗+-vѠXq[tnI6(hlѧS  T%~&x-igC4{a}-L=?Ś77'mlfSN( ڏH;ww^{t.f=ӭȟ?}R #hȑݾB.P~ a\+zOrV-dk &cbful2l玲P IV<[b;QP~)E, R 0hqD(̡盆w1y )i˳^C{#06N\l#]s [J`/`c)Oer..RʮdՃ\>7^cBOQ߰JQ #+Cǟ )xbxvOؐJK~mCNU mڱ`CzZթ@,̒zoRoh6c5[_[@w&an8p!$\]H> ~/!6Lyi{KP{9ꃜk "¼{6x 'kP uhc8Xyz䆣 `#[`7$9rdJs5KBFsSPXɕ׼q3X|_ZEnk.{a$ K1+F ԑEC&KZʬC4ݗ$_ %苝lkfW Oh{AA `,g#Mn~摓 |!r{eTS?fI7ƪ3pG򅐐ۆX[*X32G u5Z M2_X:-Q.؈ Ă"\Tĵ8 j y>Pczy۫Wz-* Ł}nK|z'j)YՌY7[Պf|3͆S ~}u#rQmp Z]aom.n5}4AR=0xrZ?iG탽3_sA`4o">v~*({r. Yٚ@Zd̕B'fi<#͙4SOEa8gJ.3z @SoѰAq.r=ۚXsV頙VLE}D#]ۂmEnc;߰%x.dOwKɴ$ʭ(Ct)v|7_sy 3"#Ƕ Y80#Vc`T(`mL ű({I&=;ĩIRAk-׊nZCx~d9XHA*6R=/"QIa36K/G?גz)zreS薹Z(sIx1iR+a"VULaBd(s`#E.׊\4dIAIXwMv y'b vm4=uY\ Uq"׈Vk3VX!N>{vV,jhڴ$vW&fY$5ւڮ+ xҼ%y [`xzAAH -$7:h,qD͊[j9e0,bNUFGg lf9H|쬞=$ZNApItaγ79ObOpXjw!ՌM'Ai'*G9٬CL@F6ĝ{/ITR>џNJؐ:jVyzF4ʊ RK}EEH˄]wUDX/|M521ѶjCI;zWLָ,У~sw' 1 yDo>> ca7_|3 „gHeoAQ״mho/EeXdl["Ǝ=<;И, o<5$I u~o9$)A:7(; n" Y!R(y@UCj<9+Aj둺.lL*uxp&|'-Ә39z]0i&]x tie(_s]s,~P @/~ [MIl5JFk/W WϵX^S56ʽ<}}N\zVfnÆ=I#q",ErqŌM@.wZtgsGtFA=vo7u ٪TD2l;-96o<֏ x wqd0LTa#nĭ&d'xVf9L٘Soq'U7UhlµI'$o w.R]TF0)^ӧ:ٗE Oⴄ٘kBd'WW@waߢ[Gi.A)=>#$dٔ&p7bwˣ,+' ]f$SXiHhknuխ(^>~[vOO) ؍n7 zӜW\ M:׏n?ePA{kv ' @}9\;P~Qp}@5X`Í[z/p²,׺hҲeD{3$KW{A퍄 5azQf`5 7+=,b"QU"ٙ&$X .*0pg>.]Cx@Ϫgl5i_D+s?_cÆrE>hHcNTaYbY?ۆتXm=9Q<]_y=0Wf}V˴=|vQ1yhk䲚9!$C[\rěF7܀-jRE;9ϖxF}@&1,=B''?@$Q۲ɾ)b- ЃO9%K]()%tAT Ҵxr/ޏyxw)AģJ bBu:3QSjI\-. G9MgRpk}28~/ 蓚a%= [C dR1jS©F<?n˼55UNጺE6lq| QF:Zk[_acu7uƀ9$6gѺLSGJ\fER;G>oߞ ]'|ˠ L[5x7}Û~ 0_WGl"[GlK4١Ϗr u<$J$ՇqzˎMg嵗"tꭵVc<;˭!'M ۡ@CGrI¾F TDDN@g28zOV!O"eݓXe`L=vvD ee%$Ռ q/Ont? sD352db(+Nc٥!م*j蝱շK/y!bk`4F^hKA7mK}RX0g}KDNڕ/;( _rDu7BO_#4˄PU1^{:`ciz(I qTc@s "#<*0:݄ aEu(!G”d::m=]K4/BX݇B"nWAł砦? SUW>5"?]sصivLkRKb5 *dm[#i.Y{vtYZ-Ja)p% ](l8ۼ3_H'w!GcָLĥvຬ?iy =q-O;{r5VlICna#Ȱ{O2IZJ/H'}F&x?~ս a^cpVXy=" _;wx^}gz;)[NG{"GLTjE}(c HcnF2H(WN3;JFPmŤ?heC-3?:Sqz!BY$ܜz)c9ykyFcRf^/Tf|.Ѽ"ք*`C ?5FZД_:3ri8tyCr11a[<%EGJsVa8mgD7&J5"pԡFYcؒ1we^foP"FU<3^&{jWv9tú Z|AiY'X[SEPKgʥ(FX gQ5]\5'{JݠV'4`O]E̛ =XڸՌt)+Pl.D CLgS ̇"eTkG&b[$5µ(:[OмԚ?8*s`ti<55?X`KlYW l RV5~DXUip /@pl"k2%~ZeDx?)0ϽpsTX-"D9n0WLɈ^}GB㡯ׂGwuGI˗/hq)|4,Jx&`67K`?d7ӢH|ggZY]j&gL Y#͗X&5'l>0IUbؗ]9~*;q VWd[_zZ.9ZJ̆;o<$/On*Uym KB j$#ֳ[1CQ:ks9˔X,\ ǍFx[q,[mv7O$Wadbżz]J,iCn#pVc.hbx4ٛcJ/$m 8w 82G?-@ǻWZܓǁ擮-o!w:,Cلo$b^JF+W_'y 86X|$ڐ[%͌4 9lPrʄ߁-c mJe>>I39Kǻplc+$ D]Si *ËNQâ8!ψOy& 8=.^,#` tDL}Ya8V|;f&D3n΋KEk落&=P4YX؍31ۘl^֢QC6vqlIV|OU2ͽ J.)ACyf~}/D2`Ÿ'+cJ`iP)Kj@;CRs7bZm@t"É]Y*}fLa? !֘U*@s @9?AEː/hJ'6Y$ ?kSKZ& v>/'=<'xN1?jz!^q /% ѐ^Bz:i"* Yl돗ăߚN$'c.N04C6jı#oQE mK^]"މ;+2LܲhMB-!78 0q%p_MT-䌧O7 <4t6u݌&TZp WW,V LR{. )`sȮ<ۣ7Sb'1}<̮[ zEqFS Vqq;(Wo鞵J'1NםqW;wr3K- 3<+ «p9Mmrg6]:Cx9T.i1$޴,^!l>"GGf|a{i&d*8b{anTȪYkdmsU$v^bD.*5)B3ڀ2~a{؎%i9P#n~' ϛLgʤ 8,Աk6ĕN(/-U"2h:Fh=:kٝwB3GIL73S飊]ꪥ6fON@uky}%\DpABjjt|7{ƨ.;GJ3Ȗv[npVw޷/yaӴtyԼj=C׬$6kNX"|G_u͢%n `&Ti~o^I9 ;ttwe{ޜGEq|tS,W.Xƺ1iZ~gnз(0 >N_]'\%#F}̊& AqiQ]Y5Ku 7"1ˮf=yf]v *_2>^V.\}s:0o\=o*c(.Љ@= L oHȃr wh+uv'? j/5 2c>P8k*ChtK!;Nq_1$?va·rKYt7ں1s;?D3Ph( kW#TMql]oG-"'kf? K>*>f k 1 :\()BQ'=d퐧eG;Hzm)fn7h^zh`cOoLxs![wiç;4]PѢPLɥiZЍYPq$q4re&&3N 1+xf4%ACDKӇKr?7\9i<8gN;N4~^j[ώD xn򝩍Ւ,{aeEW&uCqD@ PĘV=ʒ;Z*`ď/\&""{@dGM/mpl:$}",=a%g!`9%ڭ |r3:fbT+0@ OEAO] OOq58ZC-:5r*I1IXD}1+L腓\v^bz=.{Ȟ^@.P,T')E2փR~aUP;mNqo>yϨjC*޴Zz0Lj&/ OkA%хb\{ HՍ},-dM{~<RfpkAtrǡgZE jjel­beSp_j=+@u~o%h0-1X$۝+cX)&L 1,'R!ۍA7>RZv n*C>ej ]DD *[yP!K+  sMJ_6TΖ=W&_NR:S ȝ&0YP,?8Vr'Ȧg0Cl/WoD削R\5u+ŒRBwHL1l%&ҟY!yYIŒCϋZz^LQ("[,ݬ>0(Tj|OxJwfzQ﬉$MQxqPԬ -mݙn=@A=N^ęHVqn6KʇHI3a )tN#,1-"NrẢr6rE7we_~K^1JA)軼cvmlZ&mD~y@v; '_ Y$E#F>_ #BjlΡ/wݕ΅R/:X1#"JǠǾ\VT qP߱ ~Fm|&m/{a(Tj(چV3Oc';@90"ׅ/(/gAdrP 4c, ^׀#OcXI:2t_.Gc5t8'GO_.8G'N#B;:*/ϬAtfT1sp@$qM` DcX§dfnCx,Ѩ39>CPzh(7s/7CH#kdqȠFm* j S&i)BGB&n'S3 ZF\nJ>]W{~}J)1aƃ y~W ͵` ^&G*t/ƷZl(cecux _+)Jrk ,sZб!QXAz$,zju0n|ϲGՖcqsv0BrarI ij}7e[BUXQ/I` a9¼ۍӹ@^hBPRq}\!;B4AɪZ6 _vlTIWHPCdeW퀡 gɠ9 Kǐg0 S(w[IqJ6qmZPPͨjγ=ZJm+ȳfl ~sa+4X| sdq1/5& -S/  _dUV,,`DZD>3B` 9~7ĐAzϡC}q^ȈCAmN$UJ5aEPS12'[̺1Ƶ' ˙IgGӧ;V19nv׍Ʃ?XWdWJ܄;#$ ,mϭTΰLyt{ U?C#:6@Iމ\NF1^L >@ǃ:ֆq*-ڻfl% ۱ mKu6B]r4#rU7.#8Ǐ/K3Q8{VDD)W~YXcs:z#\g]dTm/yu]QR(s&i5=igMO*S)<*2o;9&%v uf7v=uYd_Xol ^ sm@̪y8k̓ՆfI,U]2 )Uɞ-(&{R<YH)R(󌈽aonlhhW@ ]R$ú`"XM#,\XDlg00ah&%GZYri3cDz9"{=3Gpq݀D+"o!/,4E!Z wJMŧ{Gkn9 ~ۢvv!qz`߭Vp0Sڵ +UtM%& \Ȱ֛D\p Tu:Jz:17ws&Lr3&ܷZ%n$l~A~8ӅM\g%ҤQ{ 5VOsSYI%&6LDA+yoaDfD>ah :S'P17g3*k‚',77?VPچpE? InzeygՕ.zd Գﴒ)'bĄROJfdyNsh_e-ۚ_v7k yr?^VMX%&$l|gYI;l:T"{CӇԫv[bDj]V}u>ؙ3<íxmJw-}߃qVU|)^P, \E># zd okbNQa(Lv&:!st("1a-&]IP7H KTCha26#Wu/ ^;9nf+V8d'>[.ӸV QSzTGmj}Djy'|aCs7mîZYa4FIm< m2]p^MO\)k3nv1.q=(5`YVoD >3>GKK*dq"?#-; uF+?P@j9X$ň*#<+Q٠ĕ{:lLkڅ? ΘҪQd_tM Ӛ>kbNeOhߑ`b -~sR+Mr ukoY'qSq4( pi ( C?tOZab ~cP6 s0ԳTv_kGУkh=:(t-coD%ၮ7woҽ|,9As0B }~$UҔX)w\y$T%:l]fEkU@p?[)Jq: 3,.J5JH+>RdY-3[HM˙`T4"%Sr-!*] c)oOd0 3h#E~ ^ C|([d$-bɱOP7`at7Iksp%VV) fZ2ł̵. (6)cQ4j:]D'h C4#=)fg-ݤP ݘaV+M#50DwzZ5ȏNi `0t|y6tAot5z*dkoW vc K\_].ґEytUH jyr-K Y$0ȃI6s{+)^$"5P/kzNC}AXf d\ض]2֘9l5̢W M+o-hOmWZ} ~q8p%7p0'?1PuĈ &RW:9|1U"y9e.u {?ľ+k}n]M/ FfKlNa*ξd}`j]N#ЅD5Bť=k3'nRnyF) (B]&޲rAGڏ&׷ u<4Y=;zD1>Ii\qom~R#T MFljN5DY(R ·֝K #x%eSNj v\/j];Ҝ%‡hER;1xTyyB ;Lo4S;zOc ^<=3\-Nm1Ӑ@DI?ݱ H*[ȏߦ~.~^/Ps8YΕ w#oXmz")tBJ>M^-?xlX^}W|LU#Q"q&(xL[;&Bp Al"ݍ/e1frd! jᴿT5d #82ت?XEo33ANؒnGZ3O$ 4Aە.hߪe|WE0y-ǰkOU):X‹V=4(_ӇA2{6`ԿovR0p-P\OEEEO~eLޤU#le/H'=Ѿί~Sbfa.Y艟A7N.T)(5AX+c6ѱTEdz"%SBmV&zK: 3.Yy |@h\0(C@{-ƶC}$ẫ'~y4Tz]s6Ծ _QK!Gk:O}V'zSD9B9@[JU[!hku^" 1!88sKAU3j",˹L3{lLK`w)_¶L Kvm3[Ϛ4Yg垭6ѳӑZj}+RVP!k5Xü^2UcOSKvrjhT/4X2Zy$-1LbK_i-BC(n1H\MFpnڐ>`^dLWg2^KdA뙬/N;L؀CjV|#C0盐Q.@vOq%[=KY!FU!wP׉Q`ҡniԬ:)NZ\X<\Vs5;%$.>xnL3')mVm+{z0RK}PIBYc;JX2/X8_YdհIBƍ]&7Z@Me?LV?W+HX7Dch|$ _wL:%S2{/fMNz2\)_:F7I^CDFBM@.F65YΝ`Ay X"EMط@ˮ#|RhXfO]5{HpЫ($DE01!N kw@TRf-NOj .ķf„ShTJAf `9B stQ8*-bZt+µ[סآјzsb &tr* m5mÀ& N$Vz}zH]-!ݡ܍%8 ~0{|+e&JZ.]1 =ht?ց"ӑk cWrN bt&fzʯmWߒP!+Lsۛ(Re =z vQ%~?g@Ank/e}v1kpr2@'rk_vlx,rgs-Uݫ+nX^j׊X@(xb ȆtiSwHk׀[j^E~hu!4:c&`_`$2oC0A={]0k(+Rvd^CA6c*܈Q3/ שH e pXLI܀]9\[u!t lq-#v 3[; :Xaƈ/߰1ѭW^PqSbl'BGp9 FF=b*pC}gEk _t5[WQ^L(l3Ԙ}znrؙLfNP~_Pgۿ3OXHdqAu1łb.;Ph'VC :@m-Wݱq0(dR'=&Rـzq>KFBbe.Yz/ ["λO76k# h]em7z JYgbV[ؽZM&-!3pd t?Jf>W W#*u*3iK)EHlG{SEU߆Qլ,xPtYKEԴ!sT)Bb|E{cZ >e$myl+Ɗd{xBqixb?eo<^_9E)SҹJOR `0l}SB ;[a:O4ciКß-y[0*ϋ 'Ă|?g%`=d 'CaĢ}IDt덁ж)U4g 3|SB<村.Kaue0B ߨm9C6<Q9Cؒ>AE":wƾj/a/AĤ F]lI޷Hy0@!. B\Q+  AD|:GS@x?jpu ÷,Zju\ճNyg ̪ pFURܛK<5`;i.4Ikўqs=ԉ+YRp9D#ԴVSlGys zVU#u*CJ isƨ95)&c;xEM=S1g5+rCZʝC_h=ӕA֎̈́Qz86=3 _Q-rRif$!ХiРHyE"†K]JqCG 5j# DBN 5uIsCy'gљ1 TW.4`_pKMYVgʆwW$g&=9;i8$u74q5ژ3P*7 e% >5 P4/0^ /1f0<(Cf/L*Y5%")YU2J-d^.7J7YSx#3rwylʬ~'M 5fk73߅LP dJlֲ:x>HZ,b<>Q⤢; Y-+:i_]EH]-MkxՃ1 @F߻ڭ5Y4y9)C.$`)V [&= 3$3Wtk$NY d>T)YR|gBs/t%?HzspL2NTDȺVG<cٰ`.f?>t5IoA(u3e5Efrx7Rj⪲PÏR"9)f&Yk2tՁ/sJ~2ۮxRCѹt eV6sO j !s4٦/sWXNAcR%4X {HvJa9X*/ž90~ER'Q͗ByŗTù T.(S8e")GR2TV$!$V~Kv h?# flNIs3>2-{`HM ~f4uM ($5 1WqhTdc4)o$OrʒHy7c݀MȊW:[z5:#"=XQf$ nΊpwjrhG4&\(^$p+, qgwS%>ӱ\} R>O2FlKZQ)Iui+%)~& 2Үsu'SpZ|xZ`YiSoMc0HjۙJ>ﴑ&4q R[ACm'u>Lg}nɹ o$kn^]fL6TBޔp~ b3(Z_ V~Btωmݸ\iH<_g@tRԡt]F6=*qw noT2IeêiҴm95\w%V<=hӸꐊ|.1 k\>,k}^5Q-G+;pί(2Q!m+Oޑ:M91UA{N˜2ݤRZ^ӔOMd{يZnYVw(l+EC_o Fh>;>wZڗqnh8&.Vu7^ZՈe#~x՛XRes_֤uV5t>ljäǥ Y y Y;>]/yB׊ #.%0Oիy41Ӣ²^J~XJ& 5btwxL袶_=oq}g?qg6ea5TG_d ~^DXE L,3)|c24m\Y/kQ9oQ!3r$3&{6A*φvO_sPχe ׭}Js퇴P1߹K hI{:9T)#f i*6@D!5mFIS32LYa%n "OٙoQwWFY66l[pr(`y8DZA{ @EI2%c=nV|MѤ-5?Z>F).No:T&IG:Tm{Ō悛x*͠seg`YtӒ7? [f;❝43R|3V2;$Df4.ASm`^۳ h)&ԃ }{ySj9[Uʌ,b߅@) XmOd,'>ZaT q ,Vq0эN 9o$Z2Ίh-QSNj')^yggH5Wf* xIhn8ȩUZri7DNR.`jY|¨d3Kjģ7Q)-ir ɫ*;æ`^eVH)FרQO~ؓU`=H/L,hQzE-$Bz=&FuTǩReSu$kTCĭ7!*.,5͟k-|Dϩm$_u;DGJhbDZ\յjE1% RI4 HneBN f SKlTސߡ!iXnkxİ8P|2ױi{C݋4_}gL~v -oYgHG b'BB(oΓX{["ܦ4kiYV;o#!;<|#::u< @e] H5I*zCx,#-*{?1~:UʶM)lWK^%L܉xJtr TJ?x<34+>bGdM^5e͚̎99E]'E&%B ۺ7K谥h|̰O@K 8_҂9;mkF Ktߏp1 .EHÞ=Ԇ;vAQI }K/MdmQ;BS!>6.l\@j; oR#v()=!.~C0gq2®o5VۀWHlhBû>AZ\Ȱ%jѱrH5$tvs,=0/ tGEX/-w\/{VG),gJ'B'זU^L"/"8#rE~&/38wsv`PoRMk0`%nyv\%Ѯ%͕XFGN9M܎WICKl]^+6JFpQM{4p+Iaȟ %)U)u:ҧrCguVE \qu)"A'A5`P3vp:.q{RC{~-k+EB"9]dekpK aò9Rr+Ylv,@<w?Q4ֳR2GP/|*N&2n"vt(m-"wMRaJ,ݖ]$7-a޼fﺾCP%BCtNّurUT?,0/Qjaݛ]s0!sJ;L-X^[^B)JDZ MmCrQBF[G $n-WJ "W~^ 4yi!cHAZ!2` W"4N:e葡jdiJg='쑬d82VG#ZНcBP%|Տbt&sY;ﵦ?ȋ@pb77x */%AC-(V=~AbsHZR:m|LĠ'bH>Hmvos? tdyY!P=1rk1ebFa\5{ ]r:*AY.r┘vcvzJ惣GWL1:Vhg1%ȃRņ4ܾ/]/3!9>ށ;cDBALntt]#0{ %2ȃY Tnkwa%IңKp<P '؂*( 0}YMSb T"l3S. e R<;\jзxUV Xuʣnd%' |hC9@,g,Rp#W.m̺;e@.IO(=1Յ!;Y=%("Iόx(-gRHEq0A#C=G=<5p~ar#ۻĚgrn쁗i soR[k>CȱWIN溶Rm 73bq2=[/%O:kltw\nuv7"BuQV?59GOqe e zwչ kl8\N2#l|kѫD1XovNO]WMY*1%g*jnjӹ+}V.o羿pBG 9J̻Jqg+^K3@jhX57aNyO3^o. KkkͿ!7 Npuk->xn?;7tlZ!@0-Ϗ}aCw2S&; TjJW ,rC5 ÿ$Tժd{]ђ#)peW}&>?fR:;v2'!PIŸ.~1krXz$VVcUh}ˀ'{Kzȹ.6JEe&z]8Q?O,qXz$VYpSRZx?'c]ps,dՊVm QJ/1@+H[4:͂IV̺|iw+6· :/1u/,~NQ{`[~Sa<6 C X)"#P%[n0zsT "丰͋c.Te^3f_2g oݹMY~H%g3L R59gMU1;VKUXbr *n]kRLCh0ۜ=1 TT8C{SGT#Ieu9Sj>&VB B EEU0S=,r?\)MB%=~"1-b8 (4@lc@]$Was6a8y6ϿR٤'e]w&ݫ8+u,#"CX̓wv0%ܞn^bݛڻE5yFL='6'`SRv0s ?i0`+9gg bWQE2&o{}2,sYFXmKr -p[6&v=ۃv # ,'O?v arR H* R"bqb_n}~F5dFŵ/ ^<?ʌnx8Ɖ6ߢ˷k밢Q~r~zvTƨ>3[k׶lLi++v&5!命1,|p 9CKBWJ@hIP~/olNPKY!*>ëfhn N/<# J &w2or%^Pp@T` ['IΌzRVx~`˦ mrچomSgcP^-ӗg)ːծ)qh!R:9~/7ffJ u`'hEgW13F&eլ/q˘EsuRP6k0XcnZ[ lɯ oHNǨFr¸F~:/H4Ēgg_R'zq؜9K"a/Ko)DZTοEqI+]F B _`MUжRW'lY"9gԔVJxe2zWA)-͝x26Zq.}q?k>Vs\ jj$<2-@@]JBC# ZA+$Q|Lo=R5Dž̓%O "K|;:j*,$9aFS~ i#ʕj+)?Ll:k_N0K͏A5fn0ԜU蔾gO:  C(~? 0cˬpK_zIQ=[=c 4[Ϩ:~[=ȟ9DSkfkg_Mõ~7xGOi㥬ſnߔp~rGUh(%k4fg%֍Zr1/H7!E0Hh{5-ga/D[:pNT+ߗ" 0TJd' [€yd}N Rt/7g?&j[\tq7ET72WjFa.->*IRg\TP%}!7֏lޚ0w-Y\a5SCPnH5zu3Y[+yaj{UT0<Ӳ XVx6@Ƽz@˦Cl/S'?5&:8vamN^oRLB{ӷtf`Mklg n Z+ynUd5Z#zHY$ވj#$uJΒE6ᓯn|RSw!E>P< `P yܭ S#.֘sk$'fuƿbr=TͮX0B,>Yi=%]!2(`|V땰vF4i~w%Dڡ?hZ+^"H75iEcW0䤓BIU$  ax,(`y-F}a!v`D=zyOGZvc"UyG!SśLڐbv #VghKG%V2l6G5X%4xH7ߺOdjvMnbZ(ĦsZ_<Б_z"N !vIMD=cfD{.&9kRZM6j l)/M0qޔ anܘLg\A_ZY}^ƅK7&0A"1EGM}2IY/,*aE6$䚦5SN:Sjԡw&H/mg@!>"iM'4~O|#B,ȕ6kp7:zdHUVim!WVk- v"Cm`pY] tb&dI5fܛɄ;3+/$7i4V@e1 Hioua>K` ìرXoIn7,Rt:8#~3ߍD$}7CMG +NsexxH3WƨOX J_~/ IB(+VU9XjeOs=b8dό. :9Q<"H@UP\''C5]͝Lq@ݠ=z0wK?snʟ %}\ x܎…v=NFcKE$΍H0ë.3ϩ5+%vm n2+#Odo6XpîLdz !,xx@o?ɭƼkgCP  %[H*owej)Au #j}Ph7X)GiZ '\ݱyUYTp ^ۧ#"ڔ!&7wӖp k&a_iݼcV x[0㥓hUz:&y٢@WR,`89@)ye;'=X#lwo4F!x%mSn?ѝgT1#=w; 93!PkW P0S+H*k]hЎV]dy0,v,l^8n\Zʳ5md@.4;\z;|߾,` *=廪/}vDc$&k;^Nnwc.}[U& q, j#jS4nLᗕşo+MO|#axoyhE79xRΞz7WiofKV ojcFb݅_Mpm-0#S3ZL'QR,sZ@Rj,5$wH$Ik{X{?&v1..9x*-mgcNxQySJ3Eݼ&@zO``ðt/f )7Z,յWFn#&2%LcʉЙh+\M&23wQL3Zp#ʶuPɞ?Y.NC1  R5EF{r=*E0BsIp.8/hf'sdAMS#$[l}աHMᘒj94`ޅ ImsRC 2+-Vˈ[ػ1@-fYƯwNq刃Tܕt~Qr3 2AS:DEa2|]_ȢkfNŇ=ӣp |t'ļ|o[\vrxl3U d*D?0eǵ%nh#F͌&L#Yblkiɪ(XQ〥meSnص^IM"s^+/3`V5!2^vEEDrVv)y7adn&SaB;C1!~^Sv -!q#Na꾡;ImV&-ʷǎ6Ĝ p^΋`%8ppSR ۫SOD8`32)~bF٬ [ME3TI#Iu?֙d^C-i@5 ktv$è 2^| VյFps^,ݬ_0:\W|nkd5YG?/m3ÁfNĸ״Y;:_L"Ϲ.QIi`oݧoϖ.mPLKkU<&iz\#l jP. ;UP=\ndoJ̪q.L8cG"bPHՃ#_Q};V>{ (aoo5sr/Tܷ ]v\f9R8Ue.82>wق%T~j&<`{#G - ؄l뭜o8 >W{#$:f\tmZ냺%Bo;{;/Jm¤pn11@*iĶ ^}]ޛd ˞g## A/cP[Hp$P`C4*c"Z0Cm%J ΋KBO $T( usN S8 iNB qP"mܵ\EQ#-('ЮCj^fW0C$ÞzDGpW1eGFAm؋lÛa$^6Fk,^nhA{qdG,uuOJbVU\ Bpt7ߖ )φJCqAHNF'nVkd{}Vr`'v0e;c.js~l}`3bJ}WCYAX[u܂TqB$o{b:\c}8 M6عTjN+,,eo4Ё`#h ޛ^8eEYlnp`rj|XDت1&xL&Ljvvi>I;'DkØ,,J3ybJPb9o.VBfi/8fiዱ@Xƻ蟳(9߶SIo,g&n $+}#imFEyl.Skn [7c.%>L."fZ1+VEnu"lmmj'gD_x}ۊ,U}Br¨}wH)ot hXyb?J k?*Mu !__sz>l][?V7ϝG{ ܒw5<=X:CtYMӒ\'a~˯x-J]'#U(^n#MppO.DBVxHԦ@9,pi ^MS/i[/AD |2d p m:ꡧPVt=EЬgT!>Y(b[q%Y&4BkZ-\=Er)~KocLc]!Ł|mɻ.͸HS š;i0x+xf4Uێ$!t̎O;^B4$8Sl В9(S o*4 [!03[ٿ٘8Y, 6L}`jcDxY;0j4< £;k3*Z I`gUW?+9r (H$m CU"{[̣'dVa928PUuxf˧#4 Cxp4(FHsϖc'sPs:BHF>|)Cl\ `Tc P|\ >uPechtP'[)]sLU3jDE*د6SGKx5aR0Ίl UIJyR(un%$M P[k4.` ) ]U=Z3ܭ7ehngO} Jon?.7h!(XF$TsM~<7c ^2,c3>\f|l6gi9aC0(Up=A3^&U)q~`ͺD*7I`ܯ2 1'[*n\M&x zqZ7Ud͘W@56ˮۺts͇fN{'+:2G?u{ fxY \)C#决'¡:x]<>t5I(;b=ق_=@2~MufZA(ϙ[-^JX3l ҵ7{Elo z^DTU@BG@mgi(~S ۾6VA,5nX$~u7y! ICs0x׵vA5A/ w@Gr*d.\ϩC@fNVN.4q_+XF@sYHwIJ3nȢu ?)xt/98Orα ]%=y`Z˸];fpn' Y}fW\(to+}2-27Msϧ|ؙ6ɓI%"HhO&%p$\'AUufUF&V(XJSMmZz.#oE\?`$˓{DXYxAcTKm*0 n{Q?|6ʆ\ ZFW"ju=øf9XhAJ"XA?X4m)E 'd}{VsfZg!g|ZGSRsjJLՓrı-Ŝ,)ݡru/6,pwu(Σ}ͫ /*ZqUW;|k$QMì_p[pWv9G~0&AԟPaV$ډҕzvBFIfŤ8qF[8g U&F#0{WL  s"6nw^N()KqS~aDbm샵;;D3@;Yݙ$Gq0ٓݏC>@Ockw IjWyDc@⌠AxEmho~TKu|矂TUav1GԊJ2;cc/2Gr -S,%ֺ7-=1t-ϧ0iMI)݀H XxU>K輍) j)|Ԣ}3`wM3esx8 } jP[tQW-# ߳{ ! AaPiQ>QhTFvB;gURF9`1 ;]}ܵB\w/hJ,->aҌ=cOywzmCE@[yoՋ:EZ9[aAڦ$5N vS٧V  ³v\#$kqcf%AG'1@#([--'v16 MHwAɉJRuƒ8 ( y{?\u2[IVjل Lg [UPH5bn!Qpg~MGզ̽PE+=!} ~CF,' 1 q0U YOWt"@XIW[;."MV! &&nRevvDeK(< rFX+Y!IJ䓹|kHRUשO\"{yxAh(Tgw/|+(b#yQ4B -# fgTXq#IsK%AxΞ15/]C-_L.2A:5dߢKF;ǤPB{>KG;\Io+4a ?+eiO 21`gEs![#'Ulȍ98B(Ƨb@s*.>"(]0'ny@ e&I%!N7=ƫ۪ڄlàET&gi 7~W_*s p2s^{݈?B“箇a_ uH0$DP2ع]z\H"*OQd)Z`K2'|5Wımjy#wS5U1Yz}1k 4ق\#9ƕc]Wo0@VPSɫc@fcp'7WC׆Sܓ%H5{[ɕ0D~. T"[V?+2/GqmXFi/=6ƤXeA?kΥ5T4Ont!'?8Y;hpIe/qLj%Ά{ɔ:mїb'ڐxNB3횆 )Fk猣>2mǮzҔNao!%2M4@66+50m@LՎA/r+S#;, ~Z˰#Snռn92 12>Kٮw1 |]7@#EI45u)^ 7ؒk 㬢-"7AVu}%7N$+(1艂c.߫vJo"-׃N$my_MPA*lW3dmLR3޾LnqvB3ڐk^猽\ҖϜ*7N9[Ljb 5ͼ!wxl,x+I!6=u6@1Xn1Zyq,blyܠR nM}_X䘟8 #*jR{ J@2"Vuw?g4xap9 ];vM`Zuew[NHRbpIQZXCѢ:BG[9&SWw_4H?K<ƒ*R3QϢAE&o"DOi B[IBH!Dk;VCzCҎt`6F'L Ěi5^)w2Y.H]% <qΨ:tIѥ^,B%oEH- (DW|e!kIޢ8g Xغ,G@hk-&Əbd‰qw(<]eV8x[}Fuh/_^YP'}`16Զ|M BWL &m,|9ٖ+CJY!GK22?i,aEn rw%L`t -6w?&Sb @BGPY\mc¥ u>E΀9`@zUuSLM HgurAclj-7e+dOHK= KWt"S`hD%L/\jrʦ<~l RJB_$b)};4qG39L0)0VAo̖HVS>~2C!P% 2IG""^wA}y6S mDV.:5P|0K2I"܅"ckoW&z2'݊&ߢ4͙/xMk8Dxۙd|DžD91e[U|'偡y$HdEҿ-Rsz&w'ӘWx+ }tC"F==Z=y\Vb_3P9cC?t)B9~tOshʆx#,Bۥ;M(ߜ{ vg'6+E/OvfSwi z96$>_w a1 -LZQAƝTk4I".HűbhXɬJd{rtPsd!fi=έl 6I7_<3uHd =پ|7B'4zV]Ѩu5::2_8߲4,_=&S'⛾2z-*ךNLuܲZhӨes \\g'5J6dyp":3y3&dUGX͵Uʹ\ ˜ :/̀*R?d8,b P 5&ҩ`(8/i[ܜ82`VAEIS/2YHzH{w}ӮPj١{/yd9s?.rʢxmQVAzfcc95y,*'VU)Ճqr>i)v~u2BiX&QNu.g W,R-O"ʞ(JiŒ)6GFJc*%Aa.3|-A)"yxFEIJxN"F*v6l2ʝ.,bč64M+7@)S>v,jH8wٺj.[b &(D*֎l 2$J>dʙmRԊiSWhk s@doajTEmn2.Z刊Zyz"etе)6(/,*R"QCö- >)!̝T'7 8ó7bTiBבQm=úmM[w-/~_# 9]ZIMWRPg1lSxkEn/how`Ód/W;gܵ\ E^ﳜMfgt\>/VcI$d\ފYjz e:yQM/%ŪuO6_ud =kφ钔ܰ#bTa9GDBݮt#iIy,YS³=s0Lx?[k@16[F%'gt ޛ4tI!NM*{mD$cɓHE,aNb`^7~![d|^l-hrALQ/fZ~*֊QLK?Yv`]B_vO7.OFT)ϟP/OpتHCIBV4ߎ@@Ifrn+[PPKDRIM;H}5qX_KնC)s!!X<aTBl!yw;@H(&w[`̹ \G4I6 <|J*p}eޣORg->}9P3b,~O5)Is&>B-WޕE\m:ٴQG;bρ0!4`^oⷴ@!_xN7 ^樅x0Y xrZBMi5.2|Y(%nA+JQR̬(]? j`s8Y- ڮ<t[{j0HZ 8!3man|k$ԩ ]rU ")݀쳺x~K]jiZ /NQؽ?D΁ ',/]ehbu>*9/%|UD,MFa-NT%ׁL ՄHlő8p1n("4Ր]32aWJ8S$5s$tvkB1]xMԝlMm?MDmѦ pq|ah= YwV"}U4]LttmTML`) -ߧ_DKhkS'`C7+^ݙI4\N;Un\#'), pv {h:'3s ?_-z/l5g('(dx{ԕ{l{IeVV.lo<%aCHAȆt-{C6|!M"Wklv5udK(Zץ@I˹Ɇ G 'e1̑h[z zsU4dzO;vFR4셈u@Өێ(* Ho~?7JB xE"Q,CѹUB-r_߈B->Ojbxuz+~yƩGyL װҼjn$8!SkPRsR6!1zع$qC#.,[|țbX,kSm ؞!mj2L4V.āt g16PVU^2`U5fmgou*3'Ї{sAPҿhlۼ0>VFgu;R?{wK|#hq[¹G {.m ה㤆 ӰRwڥ_'d60pxVݺťZ7Ւбt0 ScsME^%^dE0LLeB#H[Ρsq3=whh9L `&Ρedvi5hC|lhsv?<+jO_ًV/FU>HZ{ q TG&h`VX3#jK/賝 L[?4Ήq^qfr}zk~yr _Ϋ'3@lAʹР6?@B@Ho;#OX4'--zuڼ\nǖ_~O=.j{K7DqT/#q8$Ry"f7s@ru?|9%W:'o/6LXRV}Aٿ߰R1@M^"IQ" ~J`Mɱʈ2/Cϟ^B#" PX˶.,ѫY%m}3 >CnybYؚ`|è$I2UF7W "6I p>˞؁~'uAoZK>Ӆ3>3rm}u拆S&|Xe$57S.^.b48S m;Sihg(ajJX Z b*dƤՀ. 7VMMb-V̓<-۠hi اBG~T )0r6Ie-X XL;m;G%f - `d,#4[D8Ε WERyamtac6H; K_A}쬣8k<bEMRUYERtQ! `Ǯxiv7@BY o4'|cfC*//7U7`xtV:|)~inU;DtEڶYz}CsV2ca/鏙zjZQh:eEĽRy0t?k~:%<QK3!=MgVQ&Qݎ8YFHv∑ZEoѿκU;@CDq~>s%klDзSHl8Z74-TU@M%cφ Ryl?eBRA||D/<]Zv+-s{ۆ]tNӽwj j )0e.LMC%G 3x}/P##"@'M O/g3(j:ẍ́MHeWZ2Ivk IFd} Ů| yRW-(.~=Ca:T?4U%>Rt/JCea=P *==SzcA۷C9iS>\>St4W XnyXZGY0E~Z\Bo9Wv sxTYXⲅB J>(5SRN9nfA(4Lт׆h["uh/ X(q x@ẩPW|2m\&?=M1 sF[+voG1,"-ߨ!B; <`w+:URJm]D~zPu;@mB"HhҪ>OQL '!}me0@^&ݼ2P~`lCljMQ Q(Mt]Zv:1 )3C0C(Ҹwl-JnԤKGȖ_3rB1sR%[-c%.Λ6~G] xÜ%nqh.6_~hFBMHs_ )Z[ e2罅 Бm*ԍrG* !_`HB*2oD[Ɨ2%%z޵ "@J]gVU;6˽LjީKЫ5^#+L`0n"@$"[D2(\N#6d?;YWsڙ+Z#T4?-k[6_C;&;7 f93.陙 ]D֬<>NC b9ylZ%_E  }nL @&Qgl4$g'o)s<[/*n5\cC'4Wi8>ͳAz'&\NLYy)gP' w rN/wӭNwG~͛bʽfz~8?9B+g5~d#n\qT i8 \PߠVQ0px˿?-Q9 UYs)T`BV>ʣ~*pdr@XWMw_vvCP̿ɒ̦O ޷X5.eC^>J_tʼn[7mZMVʝHa wu_o\B6+q6!%YA׌}0ˆ3{:hcvY)VF),-y_D:R˯\ ێy`,wp=rl'eܾj`:j^к@[ΰF鵝TWgP}?YzûL%MϩP)1)wz>Vo`™*農3 Nd-c"$;54>:b-Q(7|ȍē 1tѰa]`)ZF^(|biZd`}5̗@|'KWyzNuM}B9ق`e;XpX!ɥkH;?uXp|0,b}}tYvZrFC!SUl/+DS̖>Dt:>*fuf'`QhH\ @>AEK=ʱ(Q)/Kva^6'kp6`-["b do\uQJ56Nzr8HX h'|m{yVC#+ETǓ X%O:Rr6p8'P} i #>h4'ZNDO>u e1 l0{˱L3[zl~)R\e('Y_Y|g*݋^G7W']cX~gxpŸ%&5YL~8ƽp(F5_@tF{O|ۉW4xRlEȱo*z-< M瑙;g pMJbC<αE>5 3Qmw[z\t&=xLBʶW.\ cYr4BOpDO(J`"}v:q=!2*D'9\o&;&j7t|:Aϟ0Lv`{! '5痭_~ITJm7SwX:?㬫9}Es v |e([ `ye(Q~~/]>ָI<9 ^r^xިѺHR [1D4`esFٹP"TG.F{E @1 /ЮA -0LߣY?1gf":[js{[#p"X/|MC2g!4U m'dsu8H?kAׄ~s`|"HV#~Xo}qJHXlyIDFXKA&0kmGm.#f'=f~dIE(\6kWGc"_MRIޭ,?9 hRCf<&l:?[Y\씖- 8NR+d9ch:edV2 ٕu =HrdnA~2f*Z~U%;"-'6< ڟAOErw?dKgU$ӳ`eċTSX<ܙ]swXKRXFe箦@ ꃥR%T rxluҚPzeLv=č<`OLv'38G~쭎# 7Ɂ]}ʞ}bqBA@@V|Aj{!l]c:(^IJ^֑5d76T( |(:G334 thOWFoM.)d2 7d4b=Z%v ^dj$-8"12f|<Kﳠu0=RE9dKqԧz:h nL5F3jx0]%\7n]4sDITAqZS>X1 ] 6gVc1cQpĵIRem9M0fN:nox[>A.EE$/^VssZ|rAT_qK.F:T  HL =R>k&#Pk L Zjߟ֜pn) arZy3g@h +Ch=)U.^&NH}bGε! f}IXפH JҍLe:4?܏:!RϢvyagc.6K} A6w(8_w2~YDajLv'.cEDy[%5pHH<_Jlz~8l'-<$4b{tuChF&?kL S*W*N;ar6dy$iROֲ.ys˱;Z}@9D_Sr 9x0|+Cvpf"rD9+&􎈻n|AS{j,EZt]uq5P ! ?^~%{׊ 3!2FzQz8Pg4/AO2σ+]"i˕+J`[E+›R-ՄMFPAa3VBT(C4If#:7ddn4mPN["x-.Ⱓ<= =48ɀЬHb/D\ZtS[Y.7XvRW`75DEUu a5L[hgH\qLYQsBggqđ;P$¢Soo\BA W߆4f囂utT^r+#1 ~dOY7ns;]Knp ! %LpM;'B0U_w=fK6!JdKͿOO|Eur.P kqܤwV}+iCT'dX`U382a$4b>i\FJ9 JA Uvev!ٺ8:V~#uSXI %S_La&]ԛ{N["W򓏢dJ\c*G;դ`򳛔'Nq)GZ"/t.?̗t]>quγax1KgxKw>Dʡ;V$901*?Mc $y?8Ic ݜ% ~ե|e.2rȶk2p#h4ӠE@,q&LJyF,GTIUմEe Kb#.n+ ˉV|n/+Kf#ZD6`:gf`&RU;m0&4h?4d򱐅}:>+$41Bc驏Y+%kΣ + #EtBTZ `#F涣O-Dޖgs['cb: W.V#]z(oNmhd;5шZN>3u -fALeZ*_]w 1hZACW>Y.LkPO,|-J$pf)=#=FvL|>/EcNFD exZ^Mxr%ڮOx0t3Em<}IHPRG@*OOL|{>8YwϊolgTSqe Bc8W$xPo|tgm,o~^$K)O%*noMgy{U$ahGdSzSХ ,nR5\as_ Wl&7T~(Xd` tZJտ z'j!C}41g[t ;q jɲ F֭n I۬ ؇0.}\W4L̄*dgܳZv!ZM7+;3_kZ֙ NNa1]3g: th@J@~(=3Z۵-Q8y=v$  Y$I `4U?Z/B=%kC(vv}(dj %LDjB[DI´D?tH%6i_o2٫=/ㆀo}HCc'IJH&rN^;y j NCe˔)m| <DHN/D:Dc)X8b]4 8ϱءLO]kZ2tX3gFrShr}CSt5kKɫO(qƤXf|-gr~lp/ +':uI\[&7W>΁ k6,ʋ 9& <,3sH(vӐ}HWEH‘'dʅC\}'Û e!ǏVθ@Zi,10ӓ(G 9#|ݺCHF8 jϪY Ħ5;ڨ3meYAaE `njW<=]fG*Xe7*@SS+Q[v$+VYq ,GLV[mh?~sVKݥ ىCCӑ+X_*ҁ*U@N_3OB(3V_w٣,p\m͟n2; .8V!&wԹE‹oIP1ݐvvxJ|hWfsc:%9[zƪѝ5mB)މ7[TihbG(q@.&KoF8 jwMpo}>O@jEoы]پt*ˍ&51㳂ȔJxW.UGVx$H=/;biEVxW %BSp&'g% /Z:l#07.١,le)|9c5asM11Ɋ;~U %28~ùkIt{ Y[հ*}p-G_ *q0U]IՠnٲUҳ)ŧFp8k>] "DD~:)Y'Ν`mͿοs;U_sPE:#:z9k< ZaQOon{?ǤV"S I-%^KK(HoNRɦ>:v4g/~.WpLU"H~Gp'+э4W J }Ul͠$5S] `a1]=>|,GGYwȀBNz0w1 ; E/OGe M)o5HR*O{gjIipŬ~kNώ#hvpI1!cH6kuCVh8]xMWU/a@NQX9d wTez\ dg |r_=|'ڼKqy{L"R.B@ m nμ{y Ol*xʅuD~ws].:ċ0wW)/˼rη0P ~bl{WϥP݃ Q!Ka z2N7d lisH(aH,t'MҜ$Ji~"5/}c\fjI&]]nJAlR1_l˷{rF;aAY{4-eG7,̙'BR&~5t]LK W9lN?KWĪUŘ{DUg>cw`U0ǜ+m#}dި䮝M˕,qٙN70Z}cNbd$"$kl^OeJ˛P֒Zryyة҆J]C%:h@O2e"v -<[3}].˚e,t^ PZxRC(r9mYɁ1m>% ӨH0հ*z 0^f?pOb4N:@4MLRɖ's%C cd9LYgbˢ!C+̚_ x6% ɳ_:YȰIA ^G}* ]*̼ͫ_;$S,=H>Y;a}c_G7hΣ`}?VTW,H ƪf$uҪZ&Utu[Q+k& 59U[q3\-+"nPb-qlS[9A`g}JE9Hu>@jQm@P_tŘDO&L3oGTy?=>rwm$IN%T I}" )zϫ˦[ ĆD0i!Cd'Oku X:pu f ʛw\2 >F[T!`1x!\;.PCMN7c]YP1o |UIb=/Ǿ$Aq4%SuC2Y6'MTg,dOZQv K)ӯ 9sQLZ_ L7H:ozX[jh@ʄe9TOi?@yfOTՇ$E5ܺ@Iq"WX9ik%p=\y/R[UPؖCJ?EܷHN٫B= q_;i[Uˢej`r(g%O _-w tnmYlI\@րV|u^{4^;{AEg%lE@،6P5n+M[DS8Gt*!^ ׭`%lʰ ݠ1 +ó(KΆ{pwqD^CJW\W@(il6o0j@4uxуݖ7 ) E$JwsCC<,pYWcqgG3;v &+T](̎Eo0n9ȣjs}r{"6f-!=I[W:]mKd|/H⁽t96ҎK]q)%c*R@#Phi=dM6dΫ6gox|`wnHj3;e\F.#s[!!4\ie{m fnfH?ՅIMT>'0_10 zi>`I,4pV\ݜ6of~Jxh_Mnz؁4ՀRXH4u%LtۨVb'Wh :ONۃ+j,DAhŰ,%1maV :ٝQP>)r8۬0T)Ie;2iU[CE?y[~wӨZ졃o"}# waHTI-atb1(; z $(eGօ;!*"Q:UpV<ԥ[T4CKa̎%l%>-VK<F鿻3Ε62eO JrP*9."v+[egI8aЗ Ț7z3B-t( 5J̛F[(}5z s%7BmD!J(/LӼ9ݫEs `pbdK 0^%`-˴+~#5_{*XU<=p}m- 5e\~0롕OdMɅ]ׅHWt 5P*7LRN9mtd֊DQMh˜^IߖXŭ9jPmuA:m{G|(|kٽISuo` 췵۳̙ l+@Нk+"s4F1",`:麢MJY@# ªr;~0pwdTZ0eD2ȱSkL{ K=#D;ʅ)vTe d e26Hf/Limc'5Y;NF<j^YKqMh@0wtP'MViFmmf }al#$;Zn6B!}?oe(&tTbvv-CT`Q0="upJk :#kRaKjE] *kLwEiIßy43 r<*gYRۻ5"8o7!K솺zv뛅V:LݲKfYh,٪@~Vߙ}]厳H2aulucn?TH|oD"Q8 u. Qe BxGr%}66G:,gӺ#MUYQi{A68>%>4;zRWvqbAиoXj>n|k*uG(H0沊s̗`ȴq'x_^ oƷ}ĘTFuYNGK5p (\OT!&]B`Se+ {aXRv.Bԓ%$3{14a^qY*.,ʤ=K 80Wb5nGȅ?R0dTPwZ uU'8#4!xcv_8XJl K8 l6f-cds|4C0udіw+|QQ ff~/0h{D$EV*tЉrm={{'0Y{wԈ!BG١FOGpnMCZmuGM~WiC*1b2V4\XZҳ鯋2wlg·p=_ 7'pL`|͟sOFwڰ/7i+ǡG%`I;#AuSnϰ[|{^TDKH"\y%4{-r?M52`**{Ht+as cΤ#3qRX;Di<ݬ͞J=g~JŞN$Zj|Oӎ:&c Mcu+¬f*(y)d1m!^&0 QٌByA@wڰgٴ-2Ywf4܀ᩯ@5RtcjwGiBѻHO '-s_:XQӒ Y+;>& ڐ)ݮs[{ԴW6cdktۅ9 {^AUf}ɠ;h<H_Ѷɫrv fHɧ÷KtE@:y`c"Z%6v}؟<6>ǿs0x1Yѝ"KZŗeF2:?k+'E(/gX@"wBЎw'0]谪%zz;zHNہg5IWȮrA>[سG}m/|\E.X%&~%֏'Izo"@KԔy2(ah?[ sP-iҘB4EvN#3.pM08 CGXB6Pu?u^, ;/ Tt1͗$'r1JtoO6RU󴄃 =4?l\tiʊ1+ g6Wdc~n% CHjcNag4YlQ:l}%F PV>$o8U:&".$e$"igFϷsrFI&NOa}Sw1=ND]U1aY!okWyTVK=m=gҩ '|/jJ=ycoV4jqi$OhFIjrעufhBC0pqBfDa[Д3Q>wfVX!Ӊ|jJ$6M>jPp  Y-/݌zCV^3 >;Kx:OJ6BV5UtF+F ˚<W@5l}5㮐P55ʴIM zqp%7t*QJr>!]FYS}z0m $tȻݧ~]pyR ݧ o>- /o6Wj%Vg@9isU6aMX0`E(: r`cy_{`S{ D駇RwD*X x!B~7QOAa5?$!*WeYtk4Rܡb*|zOݕBu"[_9/[8.6.JMdBvqph 5,` ?ո mGeXF"Fj &4&J?l~V>~z'16F\ B?|X XOM\6c>7m (Q?B.%lSl+y(j?GГ",?}Q ORΪ#9LYu!ݷܝ<1k:ӈ$`뷸#yVIAT[HSh'`z&ʪpick|);nT0T$vzIj6h&TV]|__Ǧ/QIbWwOn}Wb[/17hjfL{΂Y^xLQ?"_51/D'z@?\i j#V1+qE"g pwJ[EbpQvcxgEf&j.VcAYHEcijmaXi$iѥgb8)KBŕfC Z>-r%w)J*T~:NU" wH@P!;8OnB08|鷈m+xLbi) il1Y ^,-PI_oFěY0^SS< r GDt/<V#9cϳ(K)]CX@JjK=*THș.f#8i;VBg i\"1qM)7alD&H&RW$C.*8IyX!A'.|_'e۞ɐZ2S҇8Qu63VǴ6ݥa:S$x-'F(Ϩ7O*d],GP=$~}9GBr蔞v~*^l!:hni uW+f;IT2T%},C|Wp cIgө3y bWOA1W7R`Ra2xA@Mt+G^DH#%nUi!FOmxta虗DYA'=+W3o;Wr 1J3 ~c~`].ŎiqXBȍۑF=4?\ wt>_r!^6Q _z- ϳՠsTh=q`o+^/-T,̎0&!`c2U#zOzbl,GlF3=`7<nշ0:Pfi2}/Tʳ N~/u# SOd(=PD n=mvTz9!CHF:A.J׻qlMSk6%VC:mF9* 3̙'~ }}+{<;R}c "L[i52sBnh4 IqRc $30v6;s\`?뵭'=5̓KhMhhN 9k`BM5,z &2h}.l6+z8uLZ^&w.@F8>I Qt&sH5M鉐f< UISDxU'U34$<4B^O/$d֛(|ۆl=\ڛYtNb?턀i1=רnwďt?.'N0.~t VtK>iNl'#S_FA>?w . uie&ohiItەBZgїZ;Ҡx*C-1 (`|mVq^A-M&m]ǭ[zN:I 4fr4n-iUeB@2V=2w QzB5Ѵ~I %8A%[UW1hWMpH}> o99t^V{&kGEE<&~W9 ۲Y5+nݗ(ОvZ+x] %SUEiҊ_CWj45rm[]"3[7ʭu4;ˁ]Ip]-ֶ`Ȫ B;NW21^҄ҫ) m.H%ٺ'D".YXC.\f@с}N1^Z<,:^qc*/"ܰ Q3V#D(gF=&?35{Oޖ2 )X,`g0Sޫ u;M9G0+7T; c$U뺃Ipw}u0G7Tc: ι`¨hվeF][:ɶVMtiԘo}i"g\5~p],mԎ'!\x uчD%@VS"ZIt3Vv Kq 7^|F]sD^K0؅s^eMC"݁^-Pذo;hwұF8*@jBɼVQڙ?VY᳥}=L]RR?Y"> V^c"@ k'Q!0H#XJ$.m caS p`C!I"o&aXKhhCyFYkX'C !72IqJrgDZ 4OUzu_X{]u9p=TNuyaXSbáWbˆynk##h(L&5p SޞzMX$ӼM͒;2mK%=1W\/|Wf{D%,}j2t.07ON2w/[kߵ"#r 4AΙʿ]6Нhm ZOUIijptَTix<ȱ5f6#\wN31%H?7N\Wl =|{\|nqjYyڤAkn(P*s?\tǥ-_ݾy1iv{4DG{NOV(f˼ۢ bN $ujc}ͮSw\xO.B?t$;>M(IeuGHI)ICTj7x ,5 wҐu?mZZMl/a` Ri:>{7GUil>p ;OFSw]fF4̮e& J{]TyUsekf'WPYeVZ U<X̖zdjHjc(HƧn&J>MzU<[Q'ꭗTU,Gy\аuIc%c(BbZ@g5+E{ht5mԻ_Y1WZXk>"{vj8Wqadky)u%gGEl`_%@Znό~#0!a<P=g-)D l*iDQ"S J=y?BW)Wp_)*Z'1snpv4 3[ڈ%3vKtIh"AΊ\ꆮ[˻V2qxt?Ұ/~Ԥ|ܑ?\^d&t0M[:Ou]vvGÉ}܈f'@rC.nQE4zhz2ث1q*U(DV")̀ɓTݳ;*oo)Smg+  rubI ֙:?[ÈDQrG9Q^/ΖH>Ʊ=zBS0IcL(Xaw_7KOC& `Cm?Oް9A{ _"CH,p&*^ )200ĝXr١Q:1 ZBVw,m .`)r=œ#+Ȏ?$ \YPťp$n6 |k:v k~EPJYՇ͒`c ѪU_.%vUg~F[c{l `zYGhp1-`jKq]]wf'0!AP0Z@J`kJӳ^l"ۣu@`~h2'J`[VCW/i]~^(aOqY/ݸFd4/f[68բJE#gT˂5h8Юò^BmCxeJ^(Fh~uZN˾s+ɾ~n +4)F[dElLJmH7 zP#1=}{- P̒}swOd9wZo ͲMi+tk}k1Ϟeᴔn&KHG9~%18jEbTx0uWcym o!gærT|@~RȘ!Egx'{Vn{ ;,kXBF[|eM#ك3̄uQ$pٴ:_*zDTE0l7u4#u2uн,Gzy-j#sA!AוLPY]L}͞kܦݓչj t@p)ld rQ]| wEOƹzZb  6]?}.cl[h݇ {F K(2:b[fdnܵY>ҴѬcؽrlB\]DnO'V~a'ƫqs:<5q13,&eh%zMW/¸8"FpYOuq~u{;RƉ&2۾.&ZMbVTA ee<8=H'~~b{mJ엨y$NGWb9u3&`Z!  bѴst^/ߪOo L{a3?jRlg^4 }s@ڏm(Gǰ }]kЛn8PŠXz iEz'^٥ZeT [2R1־R'G?N3>*Ga >{5w8r?:8(uBd@ -uYӦ1H*z s2R#knw\'{'vE\ n={'/3 Hl3sQnYQ;)ՒL1J[e>SF+WꗺH\C5+CKiN|`>%y,={Ch ϥgA*2J.R-S]y&*dM |DU7$-t)87K`p$W#MqSyRa8P( +-Ybt#iACқ^n)knY\ I5m6U(k8gVhp#!؇ 4)0F6ȧN0{)o{*pa6ムS-.06@'}gy^:|FwB9wnYWv +`[F}Q9bVS*&9vT: a A%:S3:X|WRkXoɉ(BFQPm{PvV E[AI GN/I(٘~jQ¸viaEV O^C̥R޻XtcEGbkAe4\q_ܞ$% eXFQT6pc nU/lCPm.u*V*骞%j{ni)<ܲ/C{}xOΤ LEŸDr/ו.E1M{&9mصH ۲Y4@'v1d) !?R,k 'Seg_P)ydp`,)ѹB&I4\'~DjM+ɢ$J<ٴc^YkE'P?D/X ++ѝkV!P&$&QIH.ݼ 4ѽdL97UOGN0xǙ.c*L(_jsdO;./Xт3I rB{G &s^,4޾aG -#(q}!Z俬y{lN& V"ц4F@jɗ8J#Z@G \ٸYH#\ ]ԄofWWkwwd"h>̋;t$[FA4|Z9 9=Dci)ܟ6**pK*ذZp~W{8oǶ!Z̊&%Nd]ŰY9'B&cNgiwK|ҋ\zC`X+t:f6NZ:9e͈мz)Bn">noBCxiGr jMOַͅbvd2؊BrOIC,з\Zjw(E%&MwhA Aѩ@ߩ6TR6:Tb7\xy+r Qx<^m^s{VAv+J͇ݳ taj8Plv$6[+mqwL?@EYwKnJlBﭚ R/BTfq0%(bv8U咿3}v OY^NΙ6yjyMXmOZWݥ{:uunJ ;1߅p@DDvr3ߡ(cZGy*"TZF}Bw A`da' qlu`nal/'vG;<ڌu͝`Y` X/n)|$QdX7fXyFT#t#E!p$a C}U=>J6C)Iգ֯(a챆6_\-($&Ŝ_Mo][ޝj7@9/gW6 ?at)E%+ ԑ$ZY"KsPBn~oE͗u] xj\Ԇ9CXM"LhxoWxwP4D WjhL4S ʪH$OoLYgԭGb jt@ϯx@R V! `G%D%eN93_M#zA>vy*CԳ<|'L"Be p ƢyT:ٸi,l.l{upk0gzeO> YgbrZ{~I%ϽRK 26HQ]t),%oaLd$|+XWgap\GE@nHJ>DjZ9O]zsʹ+4C%d'C_Ф vt鐬"bYYǹ&Cձi)!Q<5ׇ 1KnIqz MÇPUr=T!(%lqAc2\Xt}5qHwb2YYpE􍉟 $:bzv]N 7e ="ަpa2(Em'8 Vz+hѥprs[7R_'FYaomj}}Ӑ_`eF$5+&"[vD"߶*3) sd}G5/jo.@*y\mc/+1vvX&hB꼪1*W3prx4Z%N=kB'R!s"Ҿ?9XMV ފ| L Mz!ӛvYj??ILs" lg"7!6l4=5PO{>BsS|[) aYaRKxP5F1.50}eXXeVW;=ƌ,$q ͙cJ {.quhĥq-ث&aw.Qv-kL&~S GT>}Fympba:&] wU?C o?k밇%WBnC7L1DOdݠ-@`I Tl,~5qz`bf3b+θd G J.C['-.Q/$9fF&p:q`o( {DA!Qݜ[TF(bYߚaəRadz&E{%"y02ߊ`4x|̙5k. v4s~r+43 5#%Tpd4 q.,Uc?qgHkRx\ѯdՓfGgꁜ&ͯ##bbbJԕz"`EHm90H y!bel=R򜢈Ct 0xhǠcvDҦB%.i~ h4XvD-D *P4َ}zc[}x^:r- =-/?&O޶}9'ӱJB@q]Tg%Ki"&zQͅQnڏk_-0ˤfԮ7JGX 5`ww ?> o8d tgxH_VBItpZ=>|bGG_7xLw6m־x:2—.Z["l8y=̤qwՒb~f5hil(IT\z@p=yEHj2L ].JV0Ix▷_e`nVwJVyZP¥jfNP/޸]6+AHAywglM* % @I."+^<'W6L^VЖHRiGuoQ1oQЭ&^8u-8 MG֐ Y_0dziqBkJIq@_LamGzH\5fG6t[D7̵GD R* Lx6vN=E#|H?ц vnqvWDa:Ӥ:UiwXՎM9⏌E<7l$5cGrҋwd3{aŸMl~%< G0=/BDRB!~Ckǻ[JԾN.xnnɅ?jW Qu-KE΄u\6yP in/(Ĉ-RvX(ne^2=$ %I[ 4@-{c]k(7ɦ FeJur={ l/\5jrb/99rL ;ˍauF NĄ ().r"sY8nvmvXk("FCY7H) q.hlŞ 1]צ! vRc 8'{f>5Pͧ}wdžgtY0mJbj Dʵ 7:?Q|c1AΦy.+ZyfC}~YC |4PpP,rZwp:WN|VĬ-Jok`^Jk=\*B!o%|皢W$VɟE憽/TVN3JC,P⯥S]x,eY7(c7a)F\e !-B\rm- '՚h@@daBfEx^"+*@M(;ZK$Q"!OVq?&[ 1yæx5g@hHbXj' 4L^ƃg5Ypmr* v<`5KyPX*)%8hL7%tE dOѢwjFq.[@G!Qx@)w+ b]!;ի2Yk@SO>~u9\2 4Qr]O|n99vso(Ԅ jYWDO.k~3`\4_B=O{~WM-MZ85NOhόgj9StL]̑Di5mN ,|>6qs"08M_ (e[RK"Wfs1 sSwLj "aVZ T"KfR?:밿m?^qʯnZvGG/[b.*$,Pszbc˕zZp"GhUb1aQ ѤXz '~g[qz,5x [³\!@ QٍۯR9ځF`KF~f= M`?!)53e8uӐDс*ch{MkVbj]BMcGOb7X W>z2Ig3 w65yl%ԥ& ī!^38+!職=tg G6^e+=]9c_050,j|7\Bte+٧ntCIm-7PށMfJ,\(i,:~ZI*F2$@)*ͪ+s4f u;Gt~Bp ]DT A ✵ W/R[GucE?r.@&%X8^<;Qa^wWw4)XŔ“H,~JMkVkrhWq8uzʾ2n.݂ߓT|:ϡ;pIGV:'%7p6+mΈZJ9dSܱ"Y*z:}]^s>gcRd;ʟc đgO@?9VW 8vgN[/"H](RhҫKJ2rQ&=/Z)ہBl3GFA=4)e&ۡ")ǃX0[•!b gg<+G z jjVZч.w8ߺ*P+Эd{bLlG3Jօ2IN$ |Rw/!OU(%v̶ ] B??vċh<xV;CLa-:̣O }CQ %(1STҶ&li So\M6Z.? xh.o^,Ma/yzAVʢ[ƽ H"r=hc60b@7ų;AmGV̰kУ~ `5ܿe BMH7&^cn3J0Y* ?H0TKv [&&]POw}tqBT 9za#SZ PtRAGW9 5]F{p!Nq(CPA}`<JE=SP١qԨDeK/Wke8:.k q\ r p.r3(w"eK aB'VobЬ9ǻ093jRC@ְgvǎU {VJ*()ݩmPp࡮$h<}z3yg#S8{RObwm:!lwI )A8}ABjÖAV0ҙU@U54,,K #h]2*շW jk題q~y~N={=7_ .$ZJy|)>Koٗb̢k?&{M&PcF}w+ij+3->_1Lgv91Ϻ])Q# "ITaug=] A?6X=Of-qWj;`uqA 00RIuƋWz@4nH<0IC,uEPʧ3Ƭ#Cwym3ގQ9ڍ`c^fsjiD 2*,hȣ / j!UFPI\Йp'ź m-pqBCד^d0Qȑ\Ñ]RY M!y)]MdY(6l=P i,8!`M~e 'jm~ 8NtR`&ne\ԋ_f9Se٠HrEg{ieJ=s`` 19֜a9tkgJ)1ێI}դz`7!n爝 .hK(\HL,w3tv^TgAUwIz1D0pG^zt`)@t}@zM tfȳJ]! ^[])0 ٕ!0o>soWh NZH{3(D/ˆ"H WdM|k\5eܳvѣPڴf79ej,O[ _X4bfAs5&1w5h=Exjtdњ#Om׈DdƓxYqK$4K+Tq=4|[]62[ɾ1oDz -E2ttӨ@v. ƱVk'ZX!H`x<(0/"5GtfqPFHOtcx ˗eSMDc0ҶxnnGPK<3_PAUc,0?p{an ` [}%KHO$ ,c_ SY^Qdh{`q^[1sef^5b9o eˬw{d_dkAQ:|r!%0.;Ip"L¹×$ 7τe= rw29*O-U^ a?r0BkM a}ܼBW3I/ |4s@~" opǵVB_f~H@2J56)4:z{?sE\埆{ 07)[?J3[= r#7IdkN̆ H'ǚMA>,e?BiNM靡8I^V',EeZLڒSB A !X6YjuHȇy:PYú;i&2MA:JEx+A<$F4|9~ - (X'^'LlpH]rȥWəܳj078wك]tI:"mIF N\}٢VOjL'3Cxf>VOKJ#b9c}W\eQj{e~wuq2T"zA"& LPDwCe&Ym|P2Yq ՗3L{X1ᅑ@l0.l?MnsP`~\Bx~z{* ggPÝlP0x@EycOt,,J|~ N~(!:BO}֤%Gn>Nդ6>P=7qCW'P~{Rc\j޴:BeQX &y}:ŇTvBTŕRڹMND0QK?o$~Kkؗmܕ\iNZZh굡[i:=L( Gp@3PǮ="[+2ձh@˘^V١֓0GS78I< !zӜ $!H)t[j5bs:A"TűWA?]P53*!l9 t!һ@?\|{,b*$rOP)A{%Js PZuq د Kj5Q :kiDEy#Sq|n;Idoc?ɝfM8GJYk7yyd) nnO pw0іo±R fqCJS?rK#س4,遢~JLI.ջ_i sI]w͠$+ ep7 R::QWi1 U=2N5 c Y8,'" -o.eʲv;u3WLJޮhX %Hͫa%ΰY1ґ\EN'UCn`(aMaZ`4' @>f+e:8%] }M-n#\xrcڍ*enȔ/dRhkyZ&L6l!Qw$S'g"i`pd=H ˌ0PWO__y)~.r}r*'IK*-u+=@-@Pto Blr ,9{(o TP :XwłFn 3YZ𷜮P Ŏ|;Rgy|&-k%Sz\#|=S.\{!JrKy+\i?qSBV~0P=,U| 48Ϙٔ^]rkf"A7i,+gd2+hwܭoLj%]>$!~$r G.|$KfnAjvќ_a9?!z:,eU,8&ؼA^~wGIcu?qeQ3y|J&(}SlBf=lE G&jU\(|1%+)^w|jG__A/I[[cm Z(YS6 hXoe+6Ò} q|eHcCf@5U^Zƛn7M چ10 ]:z7idpv/]^Y۳ 4Iey] hM 6}8z$QI*p~h+QpyI~XurQ(2 ۥ)3z 8OC97`Ֆ %$ދ AްBcr軼~Y|z^ud\ojױi~ @ϲSԥƮ;Yddt,8>^6'Ւ#ߙwT$[%h1\p hyxq^.7ǰN~DvhQkt= 9Nz,6#U-Jo u ȇz0 {'yy}(pTV_NBl Ψp706 USnLnhQSfgs~+0?H+b)[ $>1AWV=ڷbF ܫRO2ٹY [d@oYc췼8gQM^_6&V׌^nNFj0!Kw2 (YbMXp9fq7A6-.hrԑ:z&bqV.=z#W)qъ+7ƒlfOH*U0jSwИTK+@1i8.RqGoLu>?23eubͱS|O*xwZyOnd446U~iMc:]|〥lFy0_@va l4s,N{ ucU,&+^#_K&#AEc  yN1w.,f.^{w gm?32 ?"uUm 掝iOE"}͊]zo<4(( Z6V;)y3$Y)h?#jsq.:YOJ{gw>|wea>(ׂ<<%"fsoqO2 EqI ]ӿady;XbMJY?l+f9ŠU3CS oʒ_i2gD033 w f\9JpG$`|Z2|j4zuy:N%Ƨ"tVhQ)5G 9^"f Ϣ3^>7G+P\ʯ"bvA¦~zѹ $x% 8VrAQ[k: -:D>H\9y( E ;ͣ1 _k;iiF 3b 4Mlg^זڣJaL^hXK 3U9Փ&ȫ, {PF!W-iu = I:IhToåur38 9\yY 0?z4^pia^mkј2?1kg|Dz|.nƇyw{A ֍RںSRX.$1 ZJ=C,+l}L  HIA|`Nf0H M$LJ ab .B*bU4\긜a {/T*H1QDxZ"tG.-<% Ca.Bx)mIl!.A:ڬD_H=c[4 %;cqPg2Q=o3Lδ|e YEӳr#?Rw婻+ 9z͈0iUV-#<^_"q%TJd2qv'nuDcH-,d\Zk[zk^\ n&р*&|e fJxhZʅ3 rJ"t BU20!++\ߣ 4u9*rVMMj$Կ3J];7( A lZ&ʹ ĻdT.+\0TCI[a0!MOp]σIU$Rj—>~gQN؂t>d/z2r>&r POQw)* BY v7 {=Q̪4sάW}:BhF);ċ$3$dXĨ'/e%?~#wJtfJ628kW-z$]R'5tnp'k`x;m₆uc]!{S0sP^s =t@6?=5 ̸oe-힢m=Uc2"0?u6 4ۥ+B"ȡ C:>}sVI)v hvuII`>$_̼pAS%tO6mm&~ "5krpJBacE;VS>8gd\!R1/Q+wo3~:*҇iU\f'B69%O^9?Br<Ψ&Ysԏ:?;oa+ɟ6W͐d:SK7s)֛E9!-v8}xs9Lf;ad¤(Ĭ m­Aԩc'"<3ߩScԧnT)M'`|g xzAVFr#JU+?*c}|;P&j9XjiA 8r%dD +s`Is2(sњ ݮO j{+2 O S =&?PP=v=D(}TxՏP 'LS2q/RZ0 [c% x\֢cɗH*D~2?b*_IѸCy`W%O)5`g9N .]2ɷ#MDlIRc{\ϒ*)ڟWDxxz͠sRh`ecR0.}Ϧr"u|{MǮ9Z)/￶"ė~e?h4zz΁eoQC:I%lTN'Mix><1;jUۭ a3=R7˜5FK&;u8Fp_2x|!8ٌm?F׍?(9y?H y&f$9T-Jdc8d̎3_?7zk4`ݯt =bHo wzc7 c86 _qg2J;{˄eoT\1x\[?Gmýl%Z}~MaYsXqF3` ethP֍JEך$=}gP勇6q&GpZMG;=Mzt{'"RdxlJGF6Hug Z6 aOw#_5g֜7rSz< ЧLo"CDF$R.w3I8LV7)ρPXWW"WV8O`66gCP:S082{9K$&Ԁ+B~B& 8L1$5 g1NXLO-˸B`7h:~~Gb+M3BGVϖmt9k|b_tNxTC׮]M+i+"3P tSLPݻHjwSe}{c>5jh<%v{@X3`Y>)I7Xd}S tV,'LW{OkEc=أB/q E^ȶXm/U15݀<8<g tsm/g!kp*=Ж NXް$J/U5ɉyyN0C@Ozn`NM-qjR6G M!8rR8cQ 7+yrr1xn5 p]2{SΟyF`zSn)j X1ChV"^c"~.63-mKU#}̆.,1:{HVAm.P}0}hA#7M} ߃'0He1bmVYE(ߔЇڽ7K+8'SL3^"/c.8V6^fxW܆ܿe_+6Fĺadzkpn+t;~?km{H{`ZNr/ZiOF|H-]܊u1hMA 3ي[j6Sm("*ϱ@ spA<J4wAyPdR2nN|n/y׏冲n i]`V|_YAWpdsAeHY 8uQSIHMMs9eS@`6JBxN|qhBRې7NX&lŷLa C/[2hQ lVdLf=~C Aw$Ð\%3p%*&keDZB}9R>HZ*4|86)M&/XQ6\)p0- ހͺ7 I^Z4vP@wd5 d[`G|Yc@ދ=$Cg;о?CLtJ!wZf lV , yn .2Yv4NBEz9?'7۫Pb*}ouh pNO05~S%eb/OJ*!f)*a%_je0q=k%FI1<]FQrO^mxg̖ (xL<نEJ0gh#&b$#C;ּ2siU1ki< oVLm-R=%]1LyUt-پ_r jLs:=<[.8 BB4Q MdI r&$aIP@2BR:SFUxh51UE1!S4bJQ\&_٭uf3uix.K Dr|V`,m|M@aC Ia'gJdU͛HǍDF6 "]QNm-Rɵݔ%@T(W0-{k9Q="1:Stv8! ِU=ɨ/77?{u[Ʀu۔E5prLK:VJ5/8u,6p)|lP,aze=K\*@*ZR]sw[r>9NM(0L*} )G 9=ZJ +젢Ŵ $33R~rhVԾuXqAZnz86 T3?6x@w_&?D|c`oLYXja:P+Rj{ *wI:;3<1?moӝuyHg RT ",w:tTM+qY]kJX<a%:/Z1PGcYsPȵ*si2Q 6Cp&4[h["xv\򝮲q?] p:ɡdrw"O\Vu <%'[}.DJҭ"ED7+go:`2^}KQZl}ьu*ɇyq,Cq1j,m]ߠ5E1ڨЌ,$HIŖX+ >5z4*XȹV0mT*LIv2]~lEEM w EDjĻTA-~ɾa[iYz'YUq i  ؿCIK o(mϱ8= T\rԛJ#䀠oBԑΠ;kTui ԜW5Q̌^nVѭa8577<D^)ikJs:rwS}Mq/-Uƪƥ分G?g80y/: k~I!4 lЪd6MKqo%6ooʤ+3<\8E])lRH fݮl iQEtPI]$rft<4Gj.٭HKa x:U<AsDwѨ;y%5!A"{&ib_=5M]ytlX\/Avw-U&W $C0_F*9%bI#}J-! 3ƃW/9;5H ;sϮ~􎋸`"CpJ/U0w!6xMYK{my\eX_SPLt)1*іg$gȝ8S{/6ig}v7@䩐"JiCkv]4yk+GWMPI~ϖ8Qogx[-~r` +;!}$g٤'x8ֽBd4"~N=; |][`qw&<^=T} ]OuCVlH~ݔT\hȶ4/B\ SQ 2w 9vAN`dzÔcL=G )Z>ͺұz.Y>gg8=B_'b́&$fMMlŽCxED{5ttG.ֲH噺>XlKp]t *{;w?!)`V~"jڪ@Ţ8e޵`و/|M >4KȠoPXN4])faJiXŧߧ;ըUv.,#e )ғG2@*"{6#pcQ2RZ׌=>6 *SH"!]`%5j%]gJ%-])g^]_K,࿨Ap{@u$P9ET{.G uc "l!su|T͠4@8TEVsc$礗LO 3A +++MvO34H a{)T/)"G/1,۴L>HqD8B " ɶ:wҽ>PmtkTolGP"nfd,Y)^;kH܂"xvk*2[ >3ϾRȆ?+b>VSv{nZi,Z0yԛۈ.!bm om/P2+#$VYDe fvh8tԸrneRg8''eDr*G+brv*D,O1R¤rP V­u(A5m*lޅ)ؑnI{^0mB[!CZƳSu@POᷱWqE>}&s=¦eLoQ>kb3#`AE_1Hws}N}=IJ:s,C @ҳr:!C̹wDw#6Z1C1w!'DD`!n>=&ͺy/ Kţ_5kl3xi\P eX^qF|x@ , Pt,no%Mzo[NZ^ۣVi{ HNJz 쵹2gƞ[*5q z5+smNXN35{Od1u`:j\ˬY2pدᅯK-0J <4skospp3R9Dc[{?M>RKVy0`>!@i.lu}bpT6IPQb3yP.p0#xuꉨv4YNߢ$+,ܼ䴧Iia^h WSxWů.e TAN?K7֗Sj F+e*# x5Rs42`)`Eb( ӳn.+v9\݆\Ӿ;RL,@o0_aO,'h{ CL!=Og5Uf9ep b1H-ʧHi:*D5ye^}w"\][r0t.vV!j | }@5>߾df$Kˢ՜7Oޭ8k^Uڷ麵ma!&.)ښ`Qk~s܂i:h}N i naAO9f߅}+48H܄s/K EF RTy.mh9L'Zlt.vvװI $nI&(zeTˊ$w$ư'3TMF{_pMޝgz !qjl x`?lfhP{ (.`HX!fa1Ϊ UqSkY{l&S,g: fn5L bZ*!&В[>ZmNޤj1M~y O}t>OV3мdV3><ԉHr4& uR\Kp%o{is #:| IY .M{&L >g8k+5)xp^䔮>8|E)hW{?ÆDTߞr@Y+#)-8S!ST\ C}-@/ i`\Hp{=l.yUh)V[a:Nh,7w'0jX/6nmL4K@Ԝ Ov>9zg7=K8/ j8^ER1O-hTaTw?TIќ;=$W?i=yYxI Q1n"&'qisp|x^J:t0:(q8W*ǥ8/oC;=Kܯi}kC58IhnʼeawySu@{7>Av14!DrNxW2P< B@e8v@~ZΕIäƴmڀbS{Jǘ o0Yo1 Eޖ1 raCevN- VT}i/Ș]'@m?<śheLaFUy, )﹖^G3\>#ځp_XS*%bGO;Ri\nX%🩎 ߳U:Y'd%T&〸U !`JzG-N.)tȻ* 8pMcw{yQ>NDִAI赢E͉r@1̂52Xa+5!ta*!Px4"CL26RR y\ȡՊ|/͉M0(gMQp[xK$. MWϋ= x)`6-s3][GF4@Q i12wI%z$^jJD%L'\`5_b{ҋQT_ByGݙ,?=nuX9UqY[ 2/]edzSԧ.LRxI9;u \tcqY@ŀGPBsBvPڲboɼ7QAxExRYkWoz22ˠ4-f nힷr L=?)F'vᄍgw&~\ДIN-Kk4.Zb&J;r S耠C8)>;\zy@Xψ3ft@RKF Fha&B{+~SֱPM7yz`=A:ݟ5iHQUۛWAV !sĊÊu&ul2t/|4޼"HuiR-nD8q]#xMfpEܺoV.Yn*#MhʝP,_ZCMn&o$/?mqA(dO8T<.\^:/om>箶U=,ZMZd[hUA ōT%1;K' klV':"d_bßԐo_܍Wj/f7;D-OPE{mΆױ˶e>xo+p8H=3,l J[ >n ɠzT1C0Hx_;*Łñbt[~)`b_?@Tۊc+iA1 #WySl[x=1(QXX+gIraᨸ<^]ZG?yȞGkϰ>zC񩄕>{);8+8N|&Ou[xISH8/dJ*A&@y?#%E2S)T1(pGYKEc9Z;2+}~ʱuC6'q|Jb̠dWA;d){9j!3g Cv\-`sļUhKOس p> |/m{|{EJu*k]P8:BNRQ IAqgPFga#|[FLz#C=9c`wB%Tx^%CyKr >; V]۹k Yn|E^"dZhz:~ ӶT-p;<%c}|#/^}s;]tTA_;J *.75i>of-ڋ[U+N-|adPj =XqeRvģ;vXֆjs~Dd/Oǒ:#U%jS= Q x ֲ@|Kdɂn[|e *YHX :D,UvVQ:Ol/L/х7(ۦ*"և̊2踃 P8ީlx[XM|z0*u/xg8U_MU2qSLN 6BrZC} a˄(M 2 .RG;;C3[.V<_]kA`tTH6q0$y!`nb*Q#HU7mX!i8A];}^iQa֫㡝zcix;k(?nAŗ[Dm[;7Q_fbڐϣ٨Сi0կ!?=;P^'W#lYDBۉ sFlPyߔ.@Wn4DP5 8m﵎Xni.v=M^л):H#x<^MK sYu@X.5:{޴ӨXѲl7?v۷ɚQF/ϹG[ l9b38 TĦ䦈isGs}q%$RĘ4FJv)M6u}X6LUhMPj"pFʜ`1z< 9ݤÎ%n+~윤*R櫾`n2JM_Y=R!ءUŪ!\F39&q!ӊw;(QBRHn޽mlgQyNlA$rފ~-ۣ*X`ޒF|-twsx5Zz94܂ktقTc`J:nj呈iÅ$6[+f.\Ңv<@H%c*5 #G,iH<@kNl`_n8x.AƠ,7T-cMJ+\0Չ,BVB'LD8`}1ridMLsLȟF..kTx˼%22 妡TWW6Èiڤt EѺjFg^=yY a*oI8މŬTɦ0vt6k/W|R[Υs%f$kpD^oT"G#:dxrU|UIE !lDi42Kt/YCtLz`װ-1$1~^#pzJl!Uw 3-4z}Stm D{ [`T 9MF ҂De EZ> ^trk8+ z5! 2n@@\MpǒODh\Os_`qYqfHP6Tt{L勬 ̼[c=e=?P%IIHA5X}PKJ{Dᦽ1<={BCA}lz+?F9ɝ"[Z?pz[ CG? 1컅fC7H=Z\Ѯ 7wc=`i? XQ0^o|R9 /AmY_a*!9QpvLZg(aP#k;2l{ѳ 9a7~Tҝ 1倞sÇCSV3Fz Rlؗ k09p+or%7  ON-m82>JGoSsf`1aCMiOx1f IobNe\j>5 ;Ox@ VAՌkEA%fIFi#Lb2 ڨ q%g,J`&}>d>wB$&:Se l`D^Sh`z:$`-u lvh⥙и/>qh?9lj?#(ut(:M.,ZE`r P3x'R,yٖ>=*keMt^S) !Ӧ< 9cU XL{֤67b-Fl^Gܷ)HZ^˧ #5S:OWFѓs0oïd@U![|J^#PRixQ+S9J}'+0} Ki@7+ʨWГH1 `9̏jK6+C ".&kXyIrKOz( ] -|uMCʒ&\h`sce{ᓢ7*Q׶ZgշF<a?V/AXKO0ILgu:01E]g[~ N2uǢi1Xhl춈rƃ;X)'U.>_9wĘ-3fnuM+}L>nRPCk5up-KX!?RSxBm(bw~J@%1Pl؟^yC0:Vg;vy5/xCVԚ+_݂]B| sr*_KX^jy+ n>WzZ8+ΩB_Kvh ~O)FE3B&Gv&[|Ik~5VB+cݥ=lW- Pe띁%֐X`u쬐@Iٻu0z"Nhz%?`R6NP6""FX%j H7D'$ӎ7jM>ad_)=#c11,{FUMtVb"_hN&hߕvɯeL:CŏMDiD, B+ 36S f6Vz"Z.ޱ=+;!FTUR g?[Ux +T|\/*_ j¥DH$7պax&Lpah-KC!}"yrh ΅Q̑$1ͫDDVQ9þ{|McfFgXsݻJz ljQ|-$h:!&1 dQ΄sǺn1K67-9I' -Ƃq~ &n5Fh@ "qK;5ݺ4Jm}E]HrJ?jİTUpθSdn hyA<ě$~mnЁPd nH6Ri7DOr7'L҇^.Ш!FR^γyC.++ΫAmQf8{ΙGw]VU]oV= vtrZr^oy z^ueK=^@Ӄ[\`tE: "~W0𦾜~v_2VEXʊӈKw< wc }ˍeeJdl$._o2E FLn'԰eٖGR]̼66 I%YoNq[Uw[@p"3ho!j'cy4%s,% rp*`ν g2i _8ߎ.)*mKT|&.uYIoD}*D K:kX ]u] q?X ^Zve=Hڪ6+5–5JJŦ Bx0%>ZO/ve$š1pI}f {"771`Yj\zas`Z\>V?Cm*ʑ<4Vx=8n6/p-Bl&_ Y'7 >g7uQ"rZ# j[oasfWjo2A6zD347^܎35nt6O.yt|̤5z- 7|*섩1_fĨF_&葢:6Cw9[iaǪю{gy ҿkX9 ?l=aƲ$Y+@ Xj(gҫU@tXcp>q)xZV< l-nOEf-ĸyl(J|1rF+\;`(D=io hgXy5|3ZS}Y!v_$B{| {J!F{] \Vw 7 tm?l }tH$|X-qrhrX)7e\<X{cGw%{g,ݑaOc!KtR֮5y5ϧe.+V)27@Na399F觥'<>˔YUwx,a,\XWFOkN |x;lR|54 Y 8akP8D1e\z |EX9ϠWhF*SxVlTf~X@urx>:`/Op8MؚHGu:/)σܼޖ\hoW[3&7IJ zp"5VLɀt8[@2)G"e^Ye,&=?"!軛ݹH]YA ou]Qz׏ 1ľw-G!̚gp_y0J*1=ڲVZ<DAV<&/SP֨S>v=yaK`UI{1sh/k躠>U7SSq;lJ4H5 v B^\}IqN4rwi+Fu`=kn-n.ɨ9ֈ] yv:!h'1pz15"Vr6a |9D"Cc7B6o:-}!h*)jp/GL,b@wr4B&1C+ 㻱n}+F@]fbRlF۶\- = Ka ?ӱ 4CM$})>`:Rt+{3k2'P9rY£5Dml2KXRBDȐ]oY x? `ZRrȱU Gd$wHȢuuiBw兡^)OF` k"G*ܬx$a{_bx/dp$w` qcJzĒYy?wJ=8Zi_.k Db RԵce3z%r)}]]d:%4Rz %'G661C'N(Oq߁Prt>w?ٴ3*t8!yW[rU+roYVZc(Zn{oPt=L3+_/X696`QUS>~i],WwM6G|FSdCS˓g{8P^M+69Tg̬TkH[OiMT lkx>H47nL3Q~ZK[,$`%ִpw&Yؘ(JtJXPnÛ5+~'yW 19UB_ H{r1c؃˥mB^yzU/GA'_>JT<{2gpeо:z3F }-d5KmX$ :xOAsy NU X[ZFN 4 ={,ipKoOg*uqjj"z٣iϗC9"] v4dhD᥹ytc1Qi3|9p(G)v-Iz[ džjlb 1Ko'dA@q3)R-9yTU2:OڹZ@ , QfzwUP">g:|@d5 f3l/3dlQ%Nc==IN1G3=N]9[Yt_ R{fݰa`\klH^Yq՘wUE40&k':dS ?2Q 2  |"fא\ 8\PrVZ~}x@ه؎+WHR1RTB%dKJ6O9:Oh"$Zps2Q[gI?1L=#9Ge 8Vዟڼ%7c$1psl<7rM6W騯a9De:2f`%C-5iX}I2f>bqXב69xoI.>1dA=HR5"~;nQ"l-言XZd&^8ripNj*AIA AIE~=K7:&HFPtǘ {x~f{9U5_16J %4t輨(!JO0iaqZ c]QWdMI)1ORQxa2Lx ebn߹#@0l59ga]qR5?pGto #XId ) |myih@3w\WXI 8ywQUurcpC*oO$ o/k cDN1/* 23]aw- v-&@X9td#ɖ$Ej0InZw#9lb-6)sp 'v+pW6V#6G.ώ+,V$ou"%x$bWOp7q!ŕds^wS9BBhC4&oBE! i*1/X}mŊ&Jew#FuZ9-QyJ+7 7Wg,Q)|rN;LH=NOݬ|%IyIi(2 eLAKRkݵ og|'G l?rupB~F%t_ln.z5Ԭ4)!+:ӜJ/zPP9$~޷#* @ZMU^!L}6\ѯ.#CRc\fCzgZdk ôMGXʔ&u#js6"zS?F,>F<?3]!8+R$n\67AGd63ۮ*M2*Ǹɵ&8U;<|F ەVBQifrU*E+B㚣e? ^>J|IQUH n5l:~7[g 5X[W7Ϋ$jœjEU{rPD-'|$KD rf" 2ߵ7BrN)Ox;`WvD ^a͝-M$6?Mk3^eZKH.()_=)N)#VZ6S ̔}OQٮ5dlOb y'VxʬK9H!Ѵbx,oEd,CԨOb9d';iALzY4킩W\Zǔ|OQ}!%a~?!iyS@%m#OYd;G)b7e4y3k3A&Bj=f阶`݆ /J79[W|' (^,;w~|&[ˉs=43 rrAŀPzrDL4p`˟Ov?u4$]'2OU*~>^7.Rә|8YS=QUX5vWV3"Յm{0MU*փIUs )Qi`@~y)q\f6$IoaP!/Nl5pަ2G5뀩7/doT.2\dlEK-WҕYJ)%.g^zɦBR%^ӍCj)k(#ڄw!=) t04I !W$Y:3AOKիF%dE u0"t>3Ǽ8CAM|QԬlX-&9+p=Fj4/sV_ѕ&Ӥczaȩji@S.5z3jPEh٧mp d[:RS$11G>;Jt#`Dynaa&6>tO V(ˡUq=GB 9{j@п@^-! $[ݫ""f 2-nHbB\֣FEX!lhZl _3NhUj{ ڧjh2gzlH,`&ɗ0qCyWc#/z_k tJܾf0Z+W6#Ȇct!Bo8DxptO@_ suppg9qĸB\)_lj\1^mĨVY=nR?ؿ!SuH`txnp nY1-\=:nJbD1O,qȜ W!,g97 !ɂ/l~ k@]ZY̓' PVy3\"g3=oӇ,!loIx$+-Q>ƫyG\Z.U!m45V¨|Ydd.T۞Jyդ"jIJtyʵ228QC9DY\;{f@VFњ["QGP0%ZْmCI 77ZJѹE(7L!Ppj?),Zz(u1 4ſ/gq |mz8y],ղw^Y\+g 3EzHa +D9"dOIҘ()w!2X_*vb^|pjo`=xFow}y~DG?,L30C  xi@qWS%׬}fՊb]XErT{GvNU}}'VL̓{|y ,suQ[}QG\sZx>Rͪq%TS1Ɔdt\Ò a'A#f8&~{9 dsδDW$s4A֠VB v7f3v[K E [&Vjgs]eAQ{ՙVo*#KБ Y>x]VS$W$$𮡡m65 !,P+  ITx*Ε?w**Do\CK[`{x(>8V\cLT 8zr:5[V[?aAx U dASZV8ڊ`e.|*(GN3:%AՌWֿ`#  }xm?\yJH G W>D4䱃-닱3i[:Zcvڐ)G%00ɭ )m YX7)9{:J%EQB$}04$iu{A[lc/ZL*wB3tXI¶Tyˏ+kf%u=r@IK}gsKzJVIIS]4Y!nC⹬dceQ.|{n\?I8DY@, ֡lGj@0s1rNRACd9빧󋵑v&v6(4(w jsYU,ouՊ2˲n~H4 e.RF=_p$!dy= 3Cf Ui=_Ȁ: Si&|k)2ae;ƶ?}rIz)v"O0Z3~',܉g" Z1 A" ΩP#`ȿSE OC6kaibB4`r۲-+Tm/0DٲUu /9J%e)I$0Mg!0-ۗuz iC`U,3dkޟl,>?cQYay 5kvSpNd27T.+T^uqL1NiQdaZł#BP&@J(ݽ,SI:ʕBg}y}+E )~ڄ݊ǡAřL>BN2ߗ<""k Au٤$sSFɍŭAݝlM/@ {vB#ezP+,bݝ-Pqfoi$̬T)4Svw,s¬ 0*<Z 9+ ZhUN{Uobh $CUuԸ $ 5nDޚ#,V aFE" ER ЩxG8ݶ1OsDM`_s`HyͯBs`Tۧwas/p wm!H6ܓ n46|&"3S&a@Eb8PAHa<FF(HL`>T6 }"yȐZz@{`Y戳3~|lu+WY:/YI-KS i tiniärE40{Pok>\ ]zb&If+-Ǫz^kYf$gd>XvE4s~TV–1}r#Hw>l*EgHvA$Ζx*TNx8=$-$etcqӓwRCmA~xKk|DE~LvٿXo[>OQJT6 ?}S.W4=q:@ڊHgcޜڃ9WT-k•Y3;;vh^ޭ4HjT&CbOeqzK%}b(BNHdO'ws] 90R˙;樴lmLq9q15\N]ƃԩ.+CD"T-#̙q|D2+Q]8 2 PؽPč#H='+PՂ%.NfPr@e9"qHJӓ:!{:QȾD)~q)H:2M2,w3|ET>}Qnu(@kԑa%j*##$]ƫ X,hK-u8 ݗ&)FW?AĬA!N_*.U=\6-$l7)vvX~$] ?FQX3NOHlA!i!y3lEK*STs6W3xDm+֙{ p@؀`ٗU mZ3bLq/o>_#}?2@#ƅvjSM-(ʌWӯ*]/:kr4nD|a2-7퇣6O&_iG6X dAQs)EaJac8!֏zkJlط=*5{eVFNnۂ\ *q|8dv H"Vf>Ҫ̨A>%r2 qӥD=B2_LH}W/KI6ZٷB:s14r鬮@'. !L=> ]A)t^<˧d[^ҍi 1Vf4o .:,>MHؤ&dP%Ǫk&:爰UclzQ4;Jz=ߨ9ǝ؍uOP` ,[;. r@.e(ҐyZ6v/#CWa2TCMFLVĤQr#$a]Z3+ww5 TM1%2uc/nEq"3^goq{Y z>A\%JK~gAl"Ki(OJ%adܣ![MaugWnfV'k5:G> @&BAm*pk9U1$xVʦAqTl_:?jDZP^Sh*a|?ܿwIiCJʁ^*bH`m%z9/Lm>/$}'1K] M5xgf*(JKZ3]Sck#KN++LJQo J ]"`&)u.)DO<@.<Č #H#4/A3+x>!Rv~maN뮰I,>ٮ>ájDjʽMi%-Ŗ(aU['#:*NŒ)^PHs ;ga_%7"Qu(JPt5x8|Bb(+șrs%~g ⅸY1L(-&3hqqtzS(8L\*=b{&:AU{(\uj(ȵj,w-nb,ݬ[h"/cj%ej4nhT~XaKS֠Y3v[󪯬&t'6nM){$& %]TX-`THBX q;lO<r9oZ^&^\̄*i ME^Gf#Z?d}g 2g^H@_yg>)U*e#D|{r[{FPO\C 6ƗbΜ~P&Jvȏݑ\z)@3׷ؕ@Tcgz(<| wus+ό-0Q:#O'X'w'%$!yY(3 v< `FGK{Mbwӌ \u7QwpK: 6RhIm;m]rKV{yLj _ZJP6ErF8Ab`ɓ5 oY+oS.+d~Y N |S_+0+bT`x%LidU%ks]`Yt\ rC(^ȕ/ Aǥ!,:p~4٭aM/vk)S7Jnz:'J=?c(/ּkX vyrj'Meז=Gl)7پ0*xRpLK{a\35ķ| O]c?]rU'ԧ;XK¡4L췠DSG)hmA@W^D.Ə(F&D%vH5]/㠁7(_K9𸈳[eZgH q *r\- F2vLYyKlUkqlT^~ +o`v9y1c `5ࠬq!69}{|_ữFcERŷnUU9[l*#=(!63<;T%yMW{os%jeK|4tXDZRS|q=j.ODZ^= L Y2㐆GNhz*_/axթ02M7_{:..iz6h%"6F0 " y}\|՚NԨH0DzD<^ P×IUח6mkPQU> wE?|qJMg/ (iP}D,Ouwl<2N (x'=ԱqC0Tй+m>5l~v1ޅA>T\}#J&jH/lOX-Za17<_ 5Qzͩ uD(!J0X.Q$LOsi7N6,^F* „"j$W.ΐy&ք cݡȽn"x 3FQ<:ў<4 5OZKI n훰hxxƾ2C6E8KҰCi N5Hz0iDm9ggp"Gu(+^u$'b"s/oms ^-E2 ̕'Rʬ=1@kQXke,mTDXJs#opRI8T@q*Y6 E crS7]x!K2#c%6919rh_fP5òoV&_xߝ5cjarcY::v3h% gR"vJM)c"=]{G]d29[ސh|+Z*2/ffD!ɸNɭݡY`'5+؆9d*OC}ao9x.N fׅ-)Yg1Tc/eSa9-MqHgBwB x\1V=w7cSpq2}{ (Wr*PjLUI\da rA>$恲UN}B cx;GK^ed-p=`?ˉ6]ڹ_N1e"/%qPaG-?D{[@s&j8jހ|yV}&pgvӄk*K]ϦL5X:WT ѿỌ|-]l`9+Vy\ϨO e@U X}{"54z!hNtO"KS 6*Mٌ*C-KeO2mLH աYwՕU}fj&HKSYSÃd#xjU#gKeS6}Hd'kpz;8GzEf=%qvpĭ1 KAA5ںJ&siɧf#;ǣq>C+2",R !ˏc5WI.  mm/?#h[2BLܹ1MUl3Nv*ηp&_5ip8TR# L:0Pb JRQwLmؾ0u*Ap~bwTWms~~N6&X~2e0v޺q[t ▣s AגlZ5nFbM:MH$SNZ7418#36 :>Аk|!倰BQ^&Xw|[Uz,k C^dA[bq=,J'p#Kt)Ƕ!*ٵ'Ä93k4y}3뫳ǧ~nBAH=rtCJz23o<rn-*_",e٫XK&B*W? Xun$h!h9=gs{N7''=5R |G hrwHp8_ք;;%{㩂I0'[i7 ('+%oTjm"/)Tl^Sn "6B]bׇT\1 C 3:GtĖHp)*3ݪf߂|ˤٸC"h,Ƿc^{ cΥ;ܴ |If?߅X*h[SMmVo93?PݽylJ֘DvBH67}^= 9TkDÄo߂*`Ӽg9ߟ+/+8p8AQ ߳D\ˍ(8l4Q'Ji/ŽoWނ(CuqJ#ݲǔ$!bQ&k?L%AI߅`>\\>HK7B+#OPEe |>J:F'A[gɵYAT-T&% o{t ϡRU$GSzԟj!;!7D5,@ҌGe-O{vFGwՔfl`9ʶ1V̜b_Qj|( 'ka (te̽#.)‚KA<"V@j M/X6!_{) B)mdU:z)9[u4ACTxP)b5IM & fIN5_Ht^*4GڡcHu[Kw[NgԱ 2Śf}>M\mtyMx`kih,n)U1v2~[ ] ȯ1KB@1J`qf&ZWx` ,BόR_cz=1w[*m!(Ti!t* іǫ.ƾI;G_[Xa&1@M_()fIgEHsEa1b,c5NL s,82Gx+֯ 򋡹3Kc[2W㰘na] >X8(HԌT)G O ^2>1Jħ}93/*ݵɿϠ/b'}D }-z@@V*FTQ58[ `d㨻i^;2ψwpp^t^L}x~bonȰQv]'y-k-"{} 2CBr֣Y&@Vdab\͸֠akuuOc~vFVtEװab8> Cy<U* ȁ# 3m-"6߼2?LPYՒBG-v.Sw cc}i/s7!O#6Rxx A$9r(&e 79c*{՞ 2C0*'s͑sq9,7C1$NYæGy H)b J>s7#ZAMW;(R. uS$TQg#}?Lƌ%CJܟ> dEɨ=k\9pCA;{ *rJZ(=3=y7_r"l_A)(' >Wd i'Nٚ~/嬨q<'i\JVv48Ed@A{5j) uoN ʼłXE {X0CgԊxGsW(ٝy ABKNH.݈("816'-ZyjtFWa(EH % כi䆈|Wd<W+3zS W`E DӅ6J c>a&c#٫ w,,@DRK]ʣ7E7Fߣ~M1C4o;b 6R*fY֐Ó|DdHOk֠_9nff1׎ .Z])a?t ^O=ɔd[?nBDҹzQkٹՈ{ I([$Aס vv4A ei0yiٻ*l_ IBcמqc;|&csֺidRn/@XQ&0+ ֶno@D0 (7mb{PLF=h|}ǃTLl;wK)iD1~u@D*1%(nɸP̅hEP&ZK4{@p~6JlUUjӦ0Zρ|M1@R^{[/ZH_Eofi6t [lL:0\Ng_',"·;L G<)A-~x`:no"Hۂr\!`OR,68|qr/.0SXպ"*L_ұ KZʒ,ER"8պ6FŗnfM0TEsP-4 0lO97P;JBqD~x$, XhNHe|6܏ } qF~'-5ptV0 8@r:]6m_G#7'ygM1O |nwubxC8@p9>{1w;W,ySыY7T@L"4V {bNZY-{<QW2l&/[}8uֻHaICҫ5"OĀ}64 .`J8_B|;{8u d7ȯLCۈ}zbw(s`w u&νvyUa]4hIi]EEF&lԉݻJngM[ eQQvn*Op LN}~u5/H$ȇ\8{7dyn;Ƒ"3&|# ^+:x`XOt؃*NǵЦ aafyjUe BÑ !Ti}TUd0a(a$P(V i6mxCœ 7*_B7?C÷gfPKRP;cUc€H\&Y 셍_^i=8-NeOd~ֶcX9Nj@sڦ qW9EfthNxep)3i&T8sMX9׼RQ-MLGgϭA/:/}}ӽPE ݽ7lA %hp<𧏯NeK+=j{d 0T ^6SuNa5ߦCG[s8J{GJ*3|gWNFk#w* Y#"p);X_6kx'^B0;:dyA96щ(5ׁ=bp?\K?7cP#>58h] ܄z~K&L{OQ_8gդ2uY ҁ,RWfBP%CF X7 \{b½~qESo>A$RK ₪#]:!eyJgy^JNVҀx-7{+1(c E- U5Q 50\ElUەMI !2ak2OD7q|A({Ƀog"B(4o&q^B̀9F m^Me!B$s`6Ă{,*PU!0pqN3jk #ÞWW(bo# !s+޵'OC:"'أv3>޳ Ug'jԆߡdԔS&o~j&T 󼞲fnͼ ^Z* =!tc멧ͽL. #]Qf48cfI?C5<[Sп5"Ga1׭_3rRxOZ7rCZ1Ja,>1L`0sl9+{Y'Y24V9vݙ3Oq%&N6 \ K/M$ȉ5>.:[E^C4UJG//\y {:R>f !w禡'[!"2xY]@(@ ҷw[T74h+s"GLuĀR!cl6в;^]Q]y\=Uj.Ƈ \y5dd}%ㅸ;DזU:<$`@l>;ŽP~it'&|CQݮxf;[|H#u 19"vp~e<{ȭ3s1tL6fL& (<*#:.GQk ﮧܬn𕖥 vߊcӎXOs@ĥCش5W{Y&os;yYLNêtx-  Ie" ہ$ ~" 8pBҡc&d2#]J"/& QA6Ar0hr[R 3 doRuH x:5]ɘ?%/f \Sd}+\Yvóњ0EB"b8Õ^Ib4ƝdJr>*?ðe#"3lL%=J^z+@:bH_Xק9QLqH #ksl睝@c?~?CDKLktڷ`B(fܔ+!5b1G>DEy 8uPٜriz.Qg_ y$YP+-;>zl9(Vu3QN Jr-"-W~wvgz\'EC,j+d3ku- ]I*h⯪R¬!B''"6pT]?w~b"Kܚ69W [`R"~O{ծQn(96G?;ߜPaKQyj˞tʅ_X"Khǘf6ǯX)F1,AԂQaW1"T&!k?ɏpfީyb1}VV[f]kA|FDrpqD w"87i=bF-R8H#;숑µ_#`$o]eAqvV^P'}Z6̃!whz?3X15YkmTֈ-%}dItz'}&NhFH[1}}_%sHN\lZn$ pwcƚ5mC)#zuj!B yשa(}Ƴ6!պMNH(^7 vr_-5pI0b60,/OR7sh#iDnǑT5]4U%+'ٕHS䉛+_Tb@ eHR4TF1v5.WIȓ1" MD8硞}Sp9<@>Q>FWk 1+'8NHcLm{{mXf ^V-F\enMQh*N{iwm#0`h-D[61t@![;Fe9`wD e?A1ĺvC֬]pngLpH %I:EV20*_/e퀑Z^ }@XgS=8N< ]sNk:zLv:7BUDs{Oءb 5He3L\=_3oz naDŽm-u 9a޼5m ul~g%(r5|AaGY P(0HԀN7+jʯx#ےC6e{l-M#+`;%^?ujΙVIw[5.SppA{6+ZS{_y"H5L-r~@dX߽Py]7x[ڀ:;Gyr[Pnʭh,DB94dj1=`:ܒlc!bZPҳt~0nP4C#PKib+<{nc.Σ!"Y'ِxGQï h>b+Srhd}01JnUp9Vdi@<)wҊ*J(̎:+* jc-Jo@?/C~|Xq4NUBp-ݔ_L&Hk{)CT\c WHn',|]mFHFm]dPMkU4 zaV);vvlҎZ(Y*Ś11ʬo'QrV23_qSv&;=T-!xɋ7[-0^!P&s&,xwQMEbJ $Kh!]xIuդ3#.􌏴e jVo^xy.EuF Iwö'*iˆz>e햺ubʅ"n*CxSaN1"\23twkJR%0v⚫Aͪ$wplbUoy PCHACIʲYPwU w.%f3\+#:/@ ͤ+kK;Fݜ_UIɴ[}@"+TAޤK*{eUjŴVr !"|BD+s?Y\5NKEV:@у`nŋlpX6p2Q+Jh-Q]u9i[Ģ ܾ# J_۫\?m[M&j˼ܒbhdݽ=m4m]Z K2`9!ْ"z>ҍ:ftuWqUA=XLJ!>t *~TH1%02I[) րplrHRJ;=Ҳ9^tg=0>}$, N*s6@jE3h_[t΀ۉpL(rd&Aw,Ap/1lIgyw!kpS%9NE}Q(3Hb{Bx̏1=ŧ4h`0q9 {/;H N U$gV/r\Ff]tq95h,;q<7Wvv KPQ޸b>#^Sab=L .t9A@&E@zY5!{'@m@'8RQDf;R.k=`ifk=ϡuNY{LSHwFuEX=>mvVx1,cQtʁŷ5q2LG0!sW{<.]Z'B:;=FGɌX2 ;k5Fa_dNY\[]2KaY`joqzNÁ8c6~-aq/Kfb鏁_.3pB zu=¬Qqg'B4צ ɖm5[hY% 8χS'9ctax,/CFn{ں4 )qiioDF n7<+X=Ƨ(-.U7uҋ&lݶlqQ{x{AؔH;dsS iGbې38w2&:ЊE[SQ4-^p3Ff_4oex_8GF9ao?qexcAB#NrGJ6m*FU $iJn>bHRf:awP)e_||tIIn0X{ C<Θ ?ϾǢBϹ_п}B04pO􋵂 1-LY q8j'p "AϮD._urc=Pp3ʘm2f`IRE1vʨ9!n:vP4~yYݛ&>1e5#mӼ#N 5.-0 {iO S]׵8,GOp C?=ba:Cxz^8TNe 3ĝd\m d%|/*dsqRX$6l"LSLd1^JD;Nwel XeTRF3"ayL50cP" kg8UmGҘbZXNkB;J^!quȱp{6;t w!ɴK"_ 7 ^aPVՌXˑ0ifFJ9X5X*}Uc0,wAmT% (6ۋCQ2|Bs|4tY⛇]qA:4%}NNo$;:Tk264q7#V5Q>y:|XR'Sc?SsUPf} );xmAcmGLo? G U `e^9\o@铘gJ}.ُh]isZ߻SK67)ڸiƟq!=X8ۚU/+J&D $U3 ^E%V,w2w9S8!*Bt;iwHpqBҾJ}A4jHfl2v E4'[؅qA@gFv83ZΔ&H~Da&w1GNjB >Wn|zT""uye5x5K+]$S.nԴC%p(PS&m36EYp vk+dzKفiI:Ov8ϤTIUVoxF%ǚލe;_Vzu&o+'95w@N o<ݿ5,K$t $He\pL:wkQsp-@|9gLVW(|G2jh06?S=eaGrNƣ=TM3سfZlMk5:X C2Hׯ1rԜ/K*Te ܹr*xͲJn6}+D r=Kg^6_p`As7ga4f mY-휤w(|QƀU5>BiA`Djd-~SB_BtN+1, 9$N.NөiP\ϦZr0"P|j=h"lܠlwke7EwJ +xw}YDv f5CJ]qV<[扼΁UαGDEQTu"Lj2!/Nʙ+dKJ6Ot.8PoXJ^%ǑtsA/)Ң=ѾKR!SEyE#6U\U]-ͬBg H xfBI)yVehԿ]ƅWpn0<PM(G^1?*;sad^ u"KJI؃U9c3s'DzmyҎڨt|ƆH {tbaPq`Jx 0]6룼|Eu f.o[b+ ヲ,fUKCqǵĴ xLYg}rlAfξd"o9,P^3^ܦKא8RY'W[Hu]LÕYi! Rl'yEؔ}r jm0Hg;Z-[7|nn}v>.Gz7K(T.ưRaXG"`xuEd/L9[]+qAzfSY,pRu'ņ />si3MGyWEdfv>QBdzGgߖ&sw3݅˰˭GGMbXԕ́Kkƌ'S˯|`cN #s\!VId8nf;(Aln` Cjc-jOK%xVX55TRm.qՖYZ^F2 e~Oo%by0앏#|H[v^ַ]OȌ״ʅ3LqB1xPnη=B+|Ňj@U]԰gAwn쑓YUiz [LDڅVmͼONl:}0 S͡ V| 4'\P@o\j#/pa!ٜFhQ6Wgl(6k+Y5\Fq{-,f`ԅiFaq %>L8(*fvuV\-%4^U@HVp Flu1͡C26M@Ԗ=Ej@ جD`T*rd5:rw{Aq1}&7(!iasE#E]^-!7̉8ٯ?6R%tB~IQvP%ynw(?i, gϳ[։߲kw  Մ"՜j^lf @CV9kb 9)|u “xBB}Jp}jfH`ķiXʗ@c%[W⅜Ԧ5߭D "< Wc1gep5J`/H;Ij ǛTў+<*Ò&p2~}@)SPר{$tPq@?$BHmXF,f8th_%Q N;|DkM6a3d7 K #7g@S`ʵ7>C ~[@3M pGDL3 #Yp.aHK.VbXs.1 d l?Jt*7U0 ȥA[Jfː3u|jF|֎3gӀL&\rh8xQ:}!u=ţCS%V~lFwz9 Gw!+ڽ@Rw: )hECP|SȑpTGE/[P;fwT 82;ءI~|ωGSW]P 9vY*<\]iNV{ " 4Q3S7PxE&|l)ƯP>f&ux)U,;EB;u;pQ;m֎z=!噢xͨ -UO eJ=߷jE֧;?TP-Py@ %i`Tz$j,D€ Z3:,fQ2Kҗ-B}ݬ:#<ހG RNW:܍hɥJ֦cdr1I2A$-%I"x;sour5*_O7-sy[Fe:0FAp|O[dV7]Y+Ysw9`>\%C| 8- 5cwD ;bfU '5ac% @j8A$匫]9S6gp1ÀO3k6vyg.Ő}x.9Z!4}[.!I?_ 4LEzPyd @B5iWP$EIG_jzUIB:d4v򪔨ИI$S$hbˈ)"C@EuQ 232y sGNGO2>XJ[;P+ds5jRaE737wee.#piLudlU&mĝ4y,d hB[[&NgG>ua /?J"}Ɍ z RM=&j)0ŧe245.kfB'2JEx$*ZiZ~C49;IB ˰ԣHg?Y2yS25xNJM%,G[/?o߁|}+r^"poQ-B?C}|h[o UJ1VCeCA!Iꊵ|E,t_L`r|{çbʤJҙz$)^^[㤊ZbEj@gr}.rF T0,^6nNܱƀ0s/f>h`UHRY^I0IߥJ\G9Jl5v[Ŗ86'h'qI_H[wɍ'Ap\/ o1֮da /Nmwp0ԽiյIv gX{!|sH}y>K}(_"mnqofs{dܰ]+RƏý,6DV6U> 0kBYb|k 0#*SA:8n#u+%d"!M./n}|;ec^tdYP,kޯ%e = UTO'/. f{W;(%$mUT%ME_g2x5Sm#* Ϊa+Kdh?udnZtrJ]T0aB+wy̠yN'^d2f5,V)z!zwo)@-6M3y< LE֟W$ٕ8}?&V9ŊwU8~7crd U*w?ue(yj-Eb+{ѱ@:&a2nKF{'+zO {F+)7jBwPY𒄿qyj#cuNUA2P^Ht_˰17=ZLپT̗K㟟rW?J1]4$"s?6%T+`>l6-3U,< 闕ȼfkDgk^S@[x,=iU^A6ϟ*x!/QGjѻT S6sD~uDrfD3W˄gu["-]Vɦ;|{MI9wy{KKXݻF&Mkd#4\>, K2"izʚsuLW.;UW zf Lpeff2aDR5 ޅZZr&2 ͹`ndH#j9]:4tu]IZ؇m]ue7A<ߌQ~8+ל*K*&Yp6Hw8OIY8hSE R1\dʟ^0b6cL~b?X@[׏[XqQUW?^Re;GEŌ;ۍ•9b+_c-ІQ zA;|tZs?XfC5 dC;JEJ5A",ABî T鏪gB(>`ԃ'8/zP<^_@ڭx)]&oddQ1Dža'_^{R.K4\82}XN.hv z$g$r,J^|=#}@8DG v7N{=ƩW~&w%v<_KxHT_B>t٣ U xs~ 25 pTHv_R ;2S_O7L;Y_Px>F`PjH``h?yB0\_1*>CmWş̽Y}]D4A Vo_g8fU6m祏tɸWT:vNNVzz%혨S!P_]h᝼K/ ymȑ6M<2ƫeX9.i6Q̵[CXX" 1$I-`2m%N}SY0%rRj70ױ=ts(ѻT6pc/tWwd(3ej/l Sqkm A:f`˜v)w1@ Oc"w?u/w>/Gڻ(κ.rsѩ6xtOGnagYr&/]bpd+g3vv % [~wm78[u vZlrlYşm&`Ѯ9|ijƭװEV:$(+>tS >kNIʂ7MψtƳy|@-]p8}uFڮ}q"UT W|jnpj3<|,VZA)lvx d砷8jso7ꐠ SU>Ѡec%nF~sKgO}th&﵊܆f/aѧd5QwN YgW=)S.ó֥:Ab:zwE g]mK1$*5IJ~cznB:|\Qoۃ p~1j-rڨMc7!*eda5ès-UȂgls]aY8/Ąʿgf왋Y ozPx"sezn[=A"h&,0"qҿ'Xp{*{;b+ |H*.Bԗ~`D-b;"<@>5zɳ1OsTx"ni56|\S_F m)ҋ́H%eTzNxt;M$Dk?9$!9GΌKH YOlz<={'x9R9mI>y(Uw 6F4hLzϳdQS!fH,hv4% JF#غ̈́k-Ufŕؘ0dHы*)o7k_6A [%D6C׿qՓGi &*$6'M;W g+Ñ+Lg"Kfjȣr6`dQ[G$ؼ)NW#xZc4Cf)D_pR]~-Y), 4:yBo3S"@L0jM*!G~V1SfwA.K50/WϼC4dnʪo)h Pڠl-Rwn>V*^Ԋ#>彎^M`E1ȼN˽aL6JI fQ'C1lQ_|kP –gDVuhF6B8Z֛῀lY[2C6#ҐJV:'idkZŜC}$ܐs1fkR\nVZ 8` ,.|":❒c|ƒ^ $#«%LVuP~/2 2̷eDENY_d\&%7vjtOL B8?AbsъXz'hĞq:u/S;"RlEdn 3,s0W'2 yAw~~=0e L&e~sa-w/Fy8L Rw7͙ģuJNѧ@:lz+"5 P/.U2iFaiTYz=&1A )4B sHDY9,,d, ]vs^kD*5XiDAZK%~ޠ si  k[WM{я MH6Jʜ++4B.0Ȣwz+%܂-UU s-~|k8/N٨8QuO_Ik{34^\.w}6@W)sfj\iL }JL'k1Y8e_pXPUA1n?OA:aP0}xalEބj'M*eGM&t/&OԍW7 H9GIR`,xaw̴;sK(pjJE᧽ufL#  KYbuSAP`A{nٖ*Sgč>b`&|[,YsbP̾]tl_Jέgޱ/ՑaBKe7"RK^&]GDŽ4Zch.['C$X,#l88V`Eh=G $ 1F#}TpRrҨUoc2L2*޵z:yA˷ $d_mRPQztM$6Zk*~ )OB)ZUz4댉ŧV~hH1vJh 5{ ,qT%^{}xS "A);G&m .mj`m,$Z&̚Sd6Zs`u5/%QdwDŽRl,?&{J"9 >se]VL^YV޾xk(Ѡ@755{ZC/%KI>y[Rʹb0Kkik`02yd߉61E,r4B˴v`!!./R)?SyC#v5HqVIػ=U + ;A=C#൬{QCZDkp?RF#:zwd[/vr *DG-qBwbmt`KțH Y+*ڹ  v&F.0n%aɇ9,[ب,Ez ,N*2 {25DSϩT W 4a1$Ojӎ W#;1R lүJ]ǫm ))PXX|7!D&^»g-P$~4{*,mKaڈV](SAQ!%O~<φGj#Mf{Pr.iFTXq RξS砚L|rg|XҊ:s!o8Ӑ?ۺj`+"$6 1S:+ B_7}\fbPZY 2P$4$t*@.L5' FxXf@6&ZvИ5~K=#[-⏗&PHCVt}jW!VyIjq uW2ӵ.EK01RGgq;EZ"RO DBX:\f.ObԈn C4ߧ o. e?qklYTs;X V3W=AU,PJ{?06?V MdwQƑj#Ż$Ra\ =]it _^Qu[<]'`0 8|d""N-4Ղ?]וy~;24zPM{e^SJ`ΉiU+ǖ^A&7Ϩdjt s1k,r\H* $LZcCX-Oi7PB%%٢{0I #ݡ>;X|6$Ji { \D!!饣v/n][-=e?~eS4&|jSLz )nX }j6fɫ + '1+iP,9ʆkm2J}>iL"j8 )Jes~q`18wzp|뢉܏u{rߧ&YiW lS}ͦOR8&9+$_BlQXHHu&z-9ʜ+QwdgQxKO[hQ U`yAښQ4m~&%sbbh+VzōKM ׽-QGW ԚQ@$ɞX 3'{E8]/pxh 3Ǖv<$Ǟ%!la7Ⱥ[W&>a\7s!?rbHU_DɲE= YQZ;$'j/*f6ɧc9j cBl>dp^>+7K^ m~*2OY$CҐm /01 ˷7k,^%1{@RʦծN35Ю#H~_uGf*{M|V_t&^7S⁗B}v}DT hL gF`OҐϩ tJQ nҨ SezuaE!=daRռ͓Y=hTn]lo2t^%4RA%uzp^!!YSOJ;Dw*-5E_ئM9EHG2.eqΤR8UUVS W0k婑廤;Jޱ55@,q=dTV{{3F)ٺg vIAV *~̰!rhuRQBRgdi5=8*>R'}#Z@gc9wMMQ7_ղJgwXC$q?RHK8*okeLxfoyO .GI+wiX?LaLZgD0[%tterUi3ޝz2"K6|䂭xz) j8/\!>1׵rǠ+k iA̛McIП-[!Økp~A 5t0Pv^ϖӚ%2Cm2lN FA5@S$Tan̓=,Y <F:IcCEA/x$W`ua@_ƨc8ݺC`+0ӺDfxE,N 6׎]~ |D:ܠLDi:NxޚUGn2򌩄("'Ѥ`@waM(7ڸ$; -usyZ4%9MĜ[o7PY S/aVLVsGEZDLϿ(HyH">4G_L]3*gCa#W50䷕;9YT[b)#򙭌qk-[qQIT&$?/(7GW < z /@{;(/2DB6x$IOL<^Y L$^]MoSGNJEGY!K5+]TK&ui =```a8R  h76Br /cu_)m(3.ln٪ 3\!6Ql гhFk{ePvKz(pkMH .Y 5Hu, ܄QڹxMW9Y9Us9-TH4#Gq@Qf NEK޲qע\]6 v.W9H|Qw?,gl~%Dr^Rޤ5ڪoh!]oof[ tQ71~&2r%pSoTe06!0KrCʗߪ=Cۄ:$oڄN+9y.Gs^ KeS;"R?JɎӒ$<VBsEe'#Usɾ6tcP GNU?ZG#+K2T d6 P9K%@Zt{{7_`C[Hz{n7J ۠+fX˗>oL5.h np*ɲ e.5j M l I %)WQ]l'vj"FuY<Ԗa4ZP 5OǢGc=GW_;B5HPA<2Z켦]N%BEtĄlGE8.|ks?9r vuht0S8͜:h[dOglY/G# uw /#, ϔ?P^khQy.I1jOti׌ݜ9~J1t<\G COE3<)K<]mΙ4Nm!$_!m,`p|£(mk0&dz?L3'z;5/elY9o͝/r|u[Xj{Lbv$wp?⧗2S_]&S!53"i^0{֣ Жa_+Ȟ5Q\3Y]^!^\ō.>oУ62sji'/גUWzg fw$Ӎ84\8 Lri.NhQn G5bw8k+o:,W(wK? zZcj#g5cLM1e4">8iAY^bv"+~Wܷ=R\~eE@){+] "H"wL:i m-sWY] z.jW WSuJe:&{lD6K`*Ɇup3U{D9wc;l5<W٘ 2JYN'Ǭҡ_Og|щEcKX^úR#[p +v] mb"a)aQlڅHE|R զ9cدk } O.nhSEj`7pF kP W"F ѱA3\N{0G*Lڶ=o@|!|`ӯ+dbඋfU)skZWwf7HT#iI~:F.l[}L)Ҍb^-Ɯp |אg .)Ƴŏ ۈcvrE*z$mL?Bl9a|)V~Sfrc+ٽb( byzf ǸenHpGckŠc2#(y8 `R[;A2SRN'IyI{RϴSߕXz30)qXmnۜ bHejy|^HUu]=ԿNJ\egTИ-L@RJK> JszLB[=a#&L{VBZ)6z^tK#.ff[]՞x B`*-32ٕ Me0[#bk>.{@:}li,f:6+CCZh*J+%qëΉbȤ9=JŤQn;B?so٭9]z.|%U BU^zp2Pk@s#DI3f0”FR\u7ŵdteC̛j/z%waj(@Vg;ˆ^XHRpWAN+~t"jli4xJx+ٖu [JZ〞Dx˭0[TG8Q,v@\^s!! n(N Ёq`fvƫ0NOIh;|9; UߖwuG_5j[&5oexh~ym*s43ZZe7$BtGOkSL|J $!IJئlѿyЦYx[t@*,> 0X= B(灓h;V P0<uX#RqP}nT8X3YųOuUBъH=wUm*d[ )zeϲmh!8-cjnX_baGI Jrh2CC+zqu5BhTz=k8t9u=&䲈+(_,7ALt h:[hAy"U0#wK`Jl|$4iFWA $ZT\( 5]>! kf6aN:S0}6Q:ylK#`'Cɺh:G-'y bM\ IL햳߆u^dV%Wʲ6"nf{MYQ7̏s%y4@ h>C^ua`H/=>&۴f݌{2swFs>.AWbHkrU~@j|QG#yrn]K'w 5y&CN'@Lk6vc)\1j!;mXS>rbcת ՎQ,݌'ez}Π.0 Z?tS-R)NbM@XN+5@-Ju fJ?A:*ZJAil@nDlyq\Xa{)ڀd:USԨ87zNLkyji4!V ^"xKڷш'93&*v/ϒbs,-;͚6[0V9y-?>j✯^U{EȩSy: ܸA-5e{#Y")%nrPzZiX6XemLmpJR+FwF{R]ErMt6We 8˱ܷnTNjdmv~AEɌwuP|_ɶL1}LSzYyh'8)ZhDEmF^@,PF }"g ؠU\PC$nC;mPl4B9*_q[/æD1[b|^eȝts7ws%>nT}Y [=0x\o+d僳?ѓ'\{jF ׁ d.tz4ńNmC3{e(e&X%|&ǃ7SNհ5K?\Jެ|Bހ9; 'ђٳ \ak`}o(^x3Dr)1Q#RZ8M@*~&kˮu:p ~>)!\}VZ7 %d&;t6 xR#vhS^%zuk=_m̼Tޭi^b5-`K苊)Io ,0ܢSx`݉vgpɷulQ'9: ^mur 3ZɷqyE+K:J4BL'^I\[ krZaqu1@u࢝7ּ}9"+ىɪN6Gs:+ĮLpR2{r,1$K__n.Xq,xOQm8AX TA4Icަ b6ɳVD.qb:$'}({߻"D0Bg'/̡sDQJo?5#4 چ>cIb"3~HsY￞m2'> >L0 2ieHUFSmc#~!)ڇ|XBǢcdqM5:NCvVr}}3bak)+'WAT3"1+&~ ,5:IBg#$N"7k[,ҩ(8)B:67?=Lp|EgO|K0t4#El긋ZV3^0UyE蜛\E㜂׵M'`"*QYKM/^ O&u i!0-7˗-IqueW};L*mCeUڌ }ZTwW`oʄIwٹ]c bo0ڔ>ɿH/gk߲2%׋c&|C!2NeNk*=]ADIZ(q*+?p<쉍mn^>`\"!͵P,2{֒zS^QDJ5`34KJ x{ce? Ylߒ,Nm}B@6aT-JXvq/2CG X>4.Kvg?-2"U_sTC|JifEU.|{>pNˤS;3&vu|z2D1vMgaiᘽf&6P)ŒX7yKLsoCEϛfÑcg@UhŔJ06 e:DpeN-s/쀲3\-%m!֝K$@Jo40oz$EC:9^Ll˷oСgcvAu® g2fӳB۳ C\W0D_gd``V 3ƌ'e?tlQ-wx pi׿pyvHX6+Vd B=MCx?Ce–,xۄ\/iAuu*0F:zfJE;]0ݻ\QY7!j˯t#"8ʑp#ӗ*6~Z-ݚϴ0/y\ڈl$ GZƥ)LV9|46 |[RTU"nt:fj5b$;f-Հ#ÙWi/y||$LIV-{Zf ߑ?s &v!ߑWO쾪W0ӆKqvxfN՞+F?SK+8t^gsHEF u*bF FddV:n=ړk<ق]iU= ]**fG0{J槎k}%>[MK+?WS)#}R;[1O~K&6Qgss?ݔ pʇ,CTf+8,e9_z& U@߂ҿIYB&Amz${u.;)=s(Y7L!=gqgGD]:7ϯNk,|iOi+'uB[B♽ef@ ~/NmU?eH.he8b-^_a<(7zQjkc{C sR7Z=]d/(Xc)RR90#JS^+snF٭V:]q}J$mΠ},dCHDUI{U=+~LFˣ[Ch3״)@ǥ02} :0ѯ%a ,~[QݗJhu--{{:Oڝ=2$5*ę(' ZB.rCQ?2?h5W\MN!/3)J V+awl!N'4>:ss6NEͅk W춂qb JKu³U&̞={h P3A ܐmy I&{+O2Mi< >RĩԔsDͅBjٲ2%;'M4sa\j,ae½FoLdy;4w Gf^X۟]XcTf9 K>93b3&zLNu7Gc(;Pg wcS`&j&As,K,&23?.c+-8'Q}16V"K}Rf idh=ϣ0UJ)_0S,sLG\Ō{Udyb4 D!85O K}AM-g,y[ݱ=q=vW/T8+lr{V˃sk JؾP*; eZZ[a;`Ul'^3ba i4)͘Y*Z:~3s}T N3e@ǀ i1Wt~49nֶKLH0שʫ#eԀV]@OOyN.ek6rxWH j/R(\1Dxwk>H%cEx4ovXH.#jy=%ܖع_r/yiQӸ^TChx 4LE'F]t$obx` CLIr^۹CD)N/6Y KyTGf{}΃$OjB|u3nI\>}[ƴΔ6O,:gA*oL{b_iƔj>,Sܟ{)CU I hMLk֜2 1pi`u< $OfK[jI:"tQ9dOqΚ8dcQ9Zex܅~zLL'v_L@}75AdB<@Vꀞa~RpZTJDl- ؅cp:$ۀ{.WSӃ}j?AvWݹ5 Bv5%l2lоY h?|.>%7 .xEQ(^]EڵwEfgk % B)\-ZOU JWVŜ HYq3IBe!(˰o| ,I?$!pA1ݐ*@)Y4.'wT1.^gSW%P8` :O;_qc zFs:O%ݪ;f_/U1ٺ 1gQHnl.5QN!&rm"f*z]&IԍghyT~} 5hjnfOBn3n.{~h+59G?hзM3Ϲ`:":CF!J[Y!bIpj ofoVa9q5~kƪD6=ML/iz!1Ko \46 rI<SlMyhD QP *>`#I;^P(3Ew.i>TU3W#NMTfS<.;b~{hMK.pYը 3j -^@2USB=1!^[ u~4a`hl,^wNB݀hBKnPw+ sg 呃~O80c/@~WZS` =}`sӠGzMSbd#'Z0o'?9~sbkT5fw vl0Gܳ#7ԧYн4 ü’L9)Yz߄$>-FxݠgyYk&ova߶^1?|5}N"Vˋ?niS@X$gX;vI/Xu̜tIJ4׆kp_.#m̞BP35x%b5)t|y?rX&hǞwDn=˱ahbW&?1ڹ=^bHCv S`x(qNąZ-=6èΏʐuc0ǝ9"kkS@.w?[bv@#2m5770>" M(CWzΖ6,GAED!|źK+Nd^\ۜ?dtb=Yom8E.۔_5sޛ/lcMҫz,q (!'ΌL\)6963{8ϬCpK:+r*of?5 cЇ'I6POJ mPjDob5Ze52?u#m( r0y41M4oa; jG&ccMOM& Oa`>\ 6Q~ZR;Evzx'r(avxAC` UL@Mn?e+,ρxP;;}G{AWMCE;GdiX3 ߷ 51 s->U?3X#9y!RqrR#yA#Jcݲ#[}&$kAN=&}:쏲r&V(Ň7x?8׿Ĝ ᆐty߼v:!Oj|*ꛂvƎs-~S6Tǜ6rvhfӪ4z[ DfQ}ڍW"K1 h˔ԫNHfOϽo2xܴfRc;˨NHBc}=n[ed.HYUV9wQ {;'꬜ ̺-j'~$Ťap /~Gg)rŧ^y:EE g@rtvCj1+Ck~,sU}h%~X㋏s (8wfgG*RXl㗋I:KH~N!!D # FUO6v&X%6U ٻLF&iz.}I6hѡ_\o&I(7b[Lf[sƹUM9 h{M>#9uU%>;3&`)y}9xᘢ7_lخаjg0[G<9i|o56:T +n5`uyپ'û;OXn9Ge%mݚh@X#o;]}~;w$⳯'=ͺnxa6nYvJp6o@^i`8@Fd7)sy>{oFvb6>63D㉀dϰc?f.zj"ON~e0 ،6m=!' dpn)Y9zӱ^LLJ2/OT-i(~ [~Mzc?sLI%0qi3K?.Efө$.U[g {tjo Zf@XXFC%OW /'D?rNqI2DG?f>=N1&LIbCżL/)GjeH߭ !%PV˦8'<Ikw^:]IV7EE!NˇL/4l4:x%<QQ=]سt^dՊ!]DQnkүz"0 hBT9O(O^oMgK)#:5"@%H(_WNŵ|B e5rqbĖeD*sknn͙UxTOr75^ m^( eM-ق:s!P 2bkH2=Z.3, Nm3GٳXVA)ɶQDxPm.!×X WxON&+27VER? Płj=yV@x%PڎQSuS܀KrR~M ;ѡ;; #|߫EDKyE` Z{]wO ۭ Ybþ8uT^NJL,R\\Rr-VTRDj  .; \V`^͞d6MA=b$!a3!{& ns>)/P.6Qa*ca eg[Ta/%;rr$WՓs6fkٶx^-2fzOϭcf@:]Yn|>RJ>j#EJ[H슩 7L V[zo("CUz 8K,YkgHxb= %EhXE+*5)a9H̒C>9S]&S1tL?l]qbQ6$'V=dJ/,I=DiDOcŇX w͝B{MuKҌ ?`Кmۈ):c6t#?Ϫ:Q ғ;dlt)p/4͙ b6kajqq}8"vVk>>%rtgWy(.G 13"?|9"v/˔MYB:GmgadΉOgT= p`#ճsx!?I,҃7ȍB!i43V c/;ҩU0?NvEhښx0}<'%Amao(< ~pHzL)j +ՕYGᵄ2?2 x\[ *e kҎ@LdS9}YUu+&T1flڒ,Qt<*2V^aBXy{.]pZuGс9RHPSS"IŎdM LHMͲv37l#`E]6iY% ď3# Y qY AOYrK#~?HmZ xd;`ֶ{2S{Y!M'*v.QŵCN~INc7CZ7"9@Ž̶0j=[jXaZ<& ])eׂ]+'5x3R4aمcP؎?8zN%- -/SZQBΛ:o2Oz'Ce^cs(=.Sm:ӂ^7hUKC~v 3$rUo%+QxXˍ,7fI﷗0hZ~1ݑ4s$Y]|T\@xЩɰZBzWh(@esL^qD  MM6}: gqT杼 :~7x7 PPcm]EeH~bBܹ8 03 ɥI'lTwT`)cQwF8y8oJi9m?8hN7AEMT7{BA} T;N _bO_@Cw[qg*I<`8j9#ϺkcaBrp7>T'>zV5֧7G#= ̅'4T D= ~g6Ҧ7!02.p;.9z1'h_~ҹAyP`G~|QZ/VS +(iC}=Tk70. Ouk" 8B4mr9NAݓo5Vc& #^H3A:u 0+6[r:5KX@TG/Tw^޺L9~Te 094'`Ћj^7Rs{DY k#>oU4x4$FDۡ}$=/_}%H! ϲU=^ 48xwC,7ȓqy|>׿iw(瑘Lz*W8}%V<:(8O)5騦d-vQ~4O$8p}`Vnڎީx^qci-izJSjkNDDk6||uM$xA #iK sn$Cy*K?}->* @AuR895+'1z18WzI۹)rE0^xYQ8r۾޼3$ =(0Š$UB F*Gsݬ-Np<!t?PU)}(L:>3m5W)RUS_n #Q5@SFj#on %< zV¦{ra\UC'yGL5L%ot EBʷ⟒#[}\)#C7O˾팄 B[l(dGE~ +1 V~|q<kQD'Q:,Ou5Y}tp!Lf_rZbs^MH#Ujq:ל?: լFv*QChwĜO\񁮥\_zԸ>]vL *.9ױCIp4J]½+Z1u@ẖ،ɲ7iiIyת;vA/e9e Co!:p08l̍I{-~]xy>dĩjtPu7䝌Qlq,FҮx9V4đE> ۊG(x[7Vd>T$\bďZDM=1T5hm|$uWͻ VBg5GűfY=1W(^Gc%\&={vu d_/JBўКk,:aiRoa{xB2fB[bL>QrC=5ӱmEM_{dĪ! GzIQi$|𬵒[IWӓ#6P% zݽ@ p <ɽ]FDtC)`ņHti3vmG~q#jV., RCʂsZuq]ؠ{E ~v tECd#+&zdn3؆({9ș!U$O$ $0D-5TLs+AskzmJwԍGtcf  :&`dEmpC'J2Q:uo9B i]Rx-˿aQz|y\m:{l2+;?Jm^Dq:Ryݞn "bì2:#Snd@&a6Lr^{! $[tkt˓hhϮŽQR6Z\ƴp*傛_}V@M=1X=]j$v1:TL0E^9qj^uA)kWa|?oX[yLOQ&L♩&h|z! y|~x(:x@p=m N!! ò[T%~ ӽ*OD֠S@HΠ+Vko6V5 ⎁2؛n ]Y).6"B'VUra,r%^=b4 j5(eof#/0*9 7eCaq5}ѳyT(n" &=/(ىN,R%pN󔪓ܧQq8""=ʼndl+ѹ%ޑu{*fg87k>tD{S5-<$TLF χhi3, k F6|"dBWF# ZDMsQLDeuS>L%O69-4X5ϽrUJb,a| S+v0{E<[ða8u I=FOę u,Rxf6?J)۾_։ul(D>fnxMۇ;Y<+7Bl5=suGvp.B%$/>̰"c\X^n~qrόRKɳC겷XI_t,}:‡*ʕ0XYw#|@00d%ⲍ[iKDي/HMe?"fnC=:Lː3?y?"ӣMh쀜&6`SFxn &cƠq'o0{UҢZq[vcwSajG۬ X+x|^Dt6kzgHֶlнsRR^in-h(rj݈Aʈq'%$̍uD=CN9HVϪ84z?5)n-6[u/g8 \/eL3!:)] fkqV"1'%tr?x:\&x ЌtF_uK:/bxW3}eY,B.[ߞCȻt/k0@#il.2EpW$@ցv#= DΑdTjpGdAam&E8A թ *}_9|?CS֙Gͅo]CǗ.W3Bek#Gqmh]_%mLTѦlI7fIp/bFpjS>pYvLq^U(3׾A"[U3ckOVi_ԫ /v¼!x:>mӧ1/ m#}4?ūWeî.8IpNK DbJD$žҪ0uPXqETAG8 Hv'UUXf ;HD*w3<] ַ@pǐ*3%Lr~ uCNm,\F +o}BoŽqBOÅiX? :\9p(]2v0`rU9:!mp` TfF3~,78BoӴH0BzFTK %cC}+ߌXNkºRs̙cm0ց.Q0iӳ+|ҿ㋤9UR[W0IIϦ^ bzTj >$nƜA%mcXP$ V*ACf:7JD8jiz H.-"Xˁg< (&EmxeO jm3mxU(%j(jP#c]_f^Dв.ĵ\,qf.HC˧/?,7+ikr^ i+Y,QcoeTGh媇K`WLmi7Y+ p/ŋnW+BeO@X^z/|wqw|^$/_ti|ϋ̣\xϨ ͡ ?Iat,'I3//8Y@>T  S*)Π<0a㴹8ApH7rv0.+ne"rʱ:e˿ G5!`A3y88&T*!h+/dnh(鼸q?}7Km8ewiӗDPHGF^69) &k5?x)SA$\ž^b*`|$t4*zVNg̠($ Qzc c-f %wO"gd~gWBH??<`KA=eّhc>ಸEg&L} 1 b.ݙVw#,_'LLy7{+p _lN⊶4BY⽖Br7 "TT*)Xqdi_tPBק.:E-PQ}-aUrH~-w~V3/xlݤM 8o(S"d<{6 }-u\ϊYW R0V*(%Wr-Dp?>n4blĠ†o0~f,|Yl3_r /|p*T@HCeJv| nr^ؒ7'Пɩ~REu ɱX&F$ϢΠŌHe` }i퇙oBܨ<#C(;'JY* (M_T'J-4i6d4Ȍ =  4R,~4>&,N./_!j= 7k7]t DfJԒL> N y'u'\pɏ~M* S7]吞 g$pr}w ھ#XKDS{d/i:nP?eO}̨mKɑױ![#|Zgm)>n_TƼdLeB;wBWk/`?YcmC.t%v9kTjD7Qjfmh1ҧ®jDZ|$EU>-"ʤg뺮HamSdXf8עGo~rǢfۼm2Ozz K"%X^uCtiOXFMU0>94ep Q"QhlO[ [AԔ;/"}2TZtM\/ϯkmD^@Hubg~>_V'ΝCHE\xȩt?.URpIU?/l(1ià>GgE"Cx-'N-D".k{M@;习v`Om 1lqz7G[ JY ?h~A'l?e֫(OKX=w|a u͵1SR_FŅEi5QO1iA8V`+ٵǬo:mS $%B**5`@]!|^-[U!"!Xh$Z= ,VM*mlJ*>E8,=ShCX 6lQ%'=B,rv Bi bl&%ũhrl cPho>eN4;&3I%A>b2= 4K2nfEo:, /Crr\G\k(fخ5HXA<㨉yiCt)*#; QkRS(u: IW gc"{@;EQaO ';~ld"8@!V>cIo\C/֡Fn1qD"+N|ֻj'hĶ^ZnO] Hd$ɲjlh}KXc.=T*¿j6}B!orywu%.J PDM7jG N\ ^ 4uVX֩A+I*_nٱ9 nlgme@_^?sDpZA R؄K<@v9$ H]qyќ7C..K(C N:5=/b qtJosgp(&&ձGClב.h0^Pa3B)T }XF/5[tRc̀"Iy@ޑH6l˧nr;TV#% iߝ$ C8PM9id^\{i4@Uy?u4Od$K Ř'OG@p_brZ4NA|@BrPOne#x* ޿5͕X5}/E>DUܛCSQS(EkR`^h}eRm6CWIpQUОQ糢p5FI )O[XR4ܿ8bw8-|TP s3=#y%]a5¤ID!Ib_*BK\$OF&)-և^baxX|&a4-[uT\iSU^+׎t(?>K$bfH=TΨoS4+#1L P"8$Ȍs+56|5h??=Gb9yWؕV7`BVJ2NJ/=|ST}`~SW`PҏǡL(lW?|Si tQ;x `\˚D#{KS*|(G bh/y|![S^]/DY둰cimZ(Ȧ`jm?=-|+ H}v%j.yfg]&T$)|j<1|`ǒ0񦀽m ٓ\R;}Lc,2Q'Ȯd`' 9 u?s^}0SD-=T$сgdFBmyu :0VK߄1)ƈ)B wgJUi4t=?9N|= ]MSi?5Khݕ I5*­{[U8_m1`nr_^vo)E^GK5 CY6IPJt=@K6<&vwR ;OL4aoP %~k^JĭZ_ɜ'Uȣ O86Ȕt[ ?cd-,n<˦ cEw|r>madc=$Vf6`vΩlj>=?L(P$tOècL눪"dbܪfR|pvncI#^s( B!Fh}&hgiLy uP)^E_ rk`5l0J0fs;.Fr~'QJZ&3~&4Bsd!V,sN\ fi$g^4ʮ'EmLr*7\[/ی" ޓ -zsq̡piS'rRv8>r~mJ-pj!ij)0?"PiI0H,[$ꈱJ%R<nj@*cO`=|>~(k7"ꝅTO'f\ԛVh 2N6dJD~V@͢^6]< c  ۰ Da:W2O< }dJ)RFunXtvwRZB~.Abۯ73|L]ݑbK҈qkO#d MYP;79ܰRVxzi8{Ap&1U NjY"W,UZ6^m@I;Z 070$cCȊR[ՀT"(|{ '- oƇ[sED;3qHlQL=:1!䚳1D#l#P"~ŜpgK64d- dQ`uaa@0A":ۈV%^ߴ{q mP Ԭ:ܟY%)R[<vדo9pWqsI{Tj2OxȌ@HzӌM>U-Nܠ{gzL]jGࣉiz1XY%*\T5;- (➣(.COBq%kn|ߡXa]R3Ԍ *n((+UOGtZyaVL"d}T n杀k@7)7;$O4$V5o80r_V͚W@=J!鵃j~0DIry6 Zv"ZV̏6a"|v)D_c>#.{ha9Gʠ5Ŧ΀RrEѭQVUkk#2zƐ\:WXU1ojÒU$}b`ܸ22atάY7:h"B.:qSZ7 .N[=3oZr' oᶐu+((^?5tOJEOB=km|ӋH^_mVg_F1fx{}O82f nF&?uv,`]jw?^,m?3ˀKXj?"P(-p΀RJ*nZL&ʫ5/Nu&U+Vʼ3=% DHS#)zQP6#[/Zƶuq'5bA6Xw3D8uM̳%3S?Zvltr`8a{.{+fІōP81/Hڮ T`.Qw7&,9ץLOx~EӍ$?Ύvr >"pl۞=ϐ ڗ2 |%KiQ;sg,Q@$&E5/=

0j9<9Q?Ea|X`$u)"1ʜ{T{Abd=IqVN\HBMs GoSES:bYXH|Ίmlat[F 0"~YrYůY?XO%f0a5~S<;ߟY!AmeklP./c:A\e4=:~Q7-{x8c"\ 2A3ٽwD{tBf|B=^n6$M<&b_􅲎a=@ PMVb!90fzSG{y:VK[:3&RQ- y \Q \ Ck ƩWz;CBxn?|C|00XH/%f wvT4S I@opirO'eDIp7V~2zwYn-aJ #UPWzO~]&F7zr^4EH&ax{W;nV YqrF/EV=&Ej{R<#Zf2 )@L*JGWLE򪊍gmaB{Z%30|>iEp*He+-XT 8i׌rX9E~ |t- 4;)J'|#&3 ոvke,Bw$k9pP>ȩ=d{27URȈ>o\zzgôZ =fM$nzKE^CU_s@|{K\3|wKyqh@H 8o>c))/eȈKLK֑7Q;RpwPiq(\:BԀ%h-7}Zc6c1zA=D^ģ|AL.ANL 2DzVs v5߇cCcGW8y,Xle'bZe^%]+ZeDK酅߷{ | ,\@öeȰEBeX+{Afҽ֝1L$$2+Azڄ"{y$?b*ERj 6M $R.p)vd!M˻'D^t[6Ud {QR@ޓSe9iѐXg{ML!! %cc,oT3I7u|/{]筇I/a]~ &%0"N$%db8vت[딣ysӧ]iLWAkH#^ |WB.G,!1.1K+ʰa?PzmO30g[t5$ E4wAB&m ݈BlF8*"< LD < 5dlrtfΚT4l[ 7Ni|wEQlc<+3ζQ{p;$<^kGFk\mSHNr+-:,3׫MժctJ6H }}Pc9rQX$FCt_ md! g,Rl:eΈ zl#&2I16bHםY=3̺E~pljm_iL*T~jK"i}xƌVp:L0ih06#5@6n&5Qj<_%h y̴hH-72^3" P|8Ǫ$oʮD OccK!XsM&0q =T}p 9k~kʏC~2dQ/G7ύJCw>!Be72*&Ub}!9Bxv~&3?gh_݁Ɣ2_] M%hA F|Y aB/u K#^S4'OBN`Kl5ssk{QI::Х^6ei*^"@ե8)1e-mEW+l[0&@?!$@L녢`Bl:硇/ |LLcQћsCs?@ 2sƛ^yC`WPQQb Rc*gٗCUN,Fle{DltN]m'eÔJK4,X1.䳃Z)hjcW9H:ijdX jt^_$)2'PgS2]矵fk@11`0N+59F5$6'R2%ȟw]A!,s>, )wdwoAic(ଃ(zOf7"};YsM$W&"T#4}GXPA%S3 >°ִfuV4 =Dz vIj<$b0VC~a'}d;3`\#QWr+ӳ05=T3&l1t!m81K*1u]7|%& AQ 1<7MS!6wQ*>^Mh} ujfLyLlSlSB+Ǟ^RB XMF! ($ F3G}L6Z4‰?Ov-@yP?8̟˼ $` H3J }x0A,JOxK1,%̖۵~u'2ER$FBAn^lif%n/]zoņV |wZoڇms2܀ruFSi ɑQ1y#\{؜?$#YIL ?)8Gkv Z[pM\]NH,lҾ! >A4z=!;٠S c nhywnb'Mnu|vSAzj2=K"dD]ŕ.&4Ӌ;w"}d|ֲHkr(XeuP 1qZIJXbztżEx3;;;eW\uݻDv~ 3136L>}PT5A3L}&V%b5Qv#47k뇍o>a[KErT/Ip .ep,ñJ})X;[сfSĒ(u&hZr2OlxG֮nY,@D ØU!F$ ؇jW65ڡI A(JkthXL `8 uh =-D8TGӁIѭz9\K{ 3Eآz{K1}ou`QR#ƅ4t^HGb.^[8>n8 XoBy?1G`:p.2I,|tKŽ)o3מp|[:ԥ!31SHuO#n_yp QNrSL`u1fo%aNZ.UpBI2RLYIh *WnBv%tﻀaQAۨEu$#n^*hL\X[T^Lcd DǴo*:U9fB5l$ 3Zȁ\NɰOFGSbcU(9H>_9WDa౭ϵ&KGY?GhGWLtvJ'l=EW",8tQ&II- :6;^]S8*{VmU"<ֱL?]mƁ7Tq7WίpݮjBP)ԥlBKAAңǹshXDP0[> NZ8(nvʙ@.GbQfhoF&k@ڍcPsQԚG)zE= :J:!<Jq+k*H/w^:5CN]0\Ȓ ƈe*dpZMް fq x}o6n C,`"n{`%W'"a^q@<!SIBAbKXn0(5L{]y_22~E@[3V2oį t 458jx$\zAfg68i` K0.OuSedN~%^ߒlQj7 allGd]W珙K¡t0Qm;a|RxtqK%6j rڻz*eptѬVqPȩScg"ɅO.)x3P'~\v$8\HVIDGl$(OXi1kPO`!t\uoWI( &m*6@N\}1#'U*uKc8HeAֱ |9dՂ0RKv}fW[{Gq6FdD+̍D|> 0CUFXOHNvG=Of}(WjRXTP1Jou PϿBlZ9.؄ +î€1R5_d[;OuK͒>*eb4OZefdCiH\]}0^;| R SPUt]p!ͧaYWyhQ6UxA짋2FG]LavPmFh3|]ꇯRr"rOBkTp0&wRJEe0[hw.͹ҽAr()r70#owll^!J$$KfY%FSRE4O H9J+é-t>hLNѽu(EˀM2&8*K?I 2偆ѹmìyLQ.U֓ORG 0E,ki4#P9h`z9EamH(s y{ }ivuMW$+t{鍿 y \?fۃs$;ny[M*+ċb\Uqcqi̖t4gwTP]?,r˒vbZ*W1V8UiW&~z3SpgXF7L|9(JM{6};>CТ0'G&4ϬOfIh2.85'<0`K{ɰ7|QC(hd{\V&BcUM @ x<&Ȇ#ekc.CIzKgۖ/%> {`$'7;zA$DTZ[F  { ,5ƅ,pZ'u')u{SgEJx@Zb!;y3R1?齷>?(Zl Xn$m@jœ\?yc7U29[)ASӂ|h!h?E d^r ň}9a| +9?;X!'u]rSZsN˩ڇ]~P)<~樂C_F&A6ꪦiҧB":Mr4G]8b ^!ӋWf'nHfȩl%gëk[ n_@l~$sƈr ͓nvEZ=KW\sqȺ̅~Rߕ*!;R<|hfjSM,7H{BB\It0M;|%v'(CQRvxf%7qVXQdЋ܏:N BQ3[Ak1ʈ$P]Es]'aPקeFӈ0'vgB,T~24_ P1˿zFoo^V6ʈbEL{mle٪L҅2Bg`brհ.'fCHȇuhqFxFKƥPAŗiZD6MxTWacpVP,Jt^d}F]`x _8׌Hf0%+|FlN㔹Vץ_G>>v +NZdX^\󒓗Y.TTmN |'5M`UWJ"^]ȴNb" _"M}6S45Vf[JmVsˇ$K)f!tgpݬ =:V{Py:P8k`m]ELtP)P-Lb $[js(GetϾUSZ.R*5Qe}ڿZ뗠Ǜw.H-anVEΔR*ba|?}x(7h 6s-ҲйyiѮEnP~o1[._ ;Ka>,uQbsbT4Qؐ nޚ5DǠ]]])lz{~(h2jUI{= QR?S avzK!ҳ"WaxK] =68p֫^닁PkpskjAb<sI2D6{k#iO4z |@qfw WKU ;ej6azՌS$ڃ3v/ 7C@ :`\$ȉ5ŰHZPe[}OHailRSsYV9|l8FS˻Ov|W20#hg:1HP1"ᣰ&)1c4F*iݪ$K D`8&%R{I$s2|=;,Rk hFњY売^c\PɛƦt;nVW}(u:<8Ml ̙iuaC v˝ktr㪏(*eNuqX'2R3f*Ir0**>t"-jyv)#++)[l>ʾ m \BA +`\[ߥpp]9Umiˠ˿.Rrx9ZVvx<muˉ`S.<&OQ&*$H_ӕ3-I˂׽zs$&Q)a ߉--ܭήR:r^wT7Z6MY)-&PU\mUp7~w)j֥aմQZɋƱ˭\X\Jʕ,N*ԳN{-xLdaZVFk{O{p-O裆Tލi5w*-DRQ✔O++o{D[! ]LoϾIv8)CؼȻyt'YVh\2&Trg8)VU%R<׸/T&ٴ/z d?Qdϊ-m&NG},XG!d[**A:=Nx$|Jljpŵԃk56QF Cض+;L/mOk) !UNxS* Z"HgW+z9j eWc@u%4Lٳ?1'R.(+ 2USG}Y>ġ$3t  _z*]/^j2<%1_̿*IaHաK 7VnV,9 q;-%%#rXҘV4I/Ӷ$rod^[v*E J>ySGuWUy+Vͭ?,N c3K2+5 [N01QD7ɨ|:UL_l`y%{tSi/]ښ9h%i.Y~b&E~b.eB|ޘZ+`ti?po8&*G*\b6m_YÌE)roo-bɽFQZ,rV1 5x2Uz;pCU׆fj<᷌dPz܌1^j^?nPKR<.i잠OzmmJA2t!`F Nʤ^6C $A|O헲ĒQGR@= h4ii 7! ŸTʥ"&욪ן"H뗦9&kU얌ruƙƖ^\vK!M w9 N5Pj׸;b*RE01B"GdDE[$EhLTl"C c>Y7.Q|G߆ RLsAdSqTCV3py rney(׫r\.i{UaPwGfP4 iՄ]_0 y8T(bw}B%>% B-OZox٬{EY8+MED(h n /*^s5ڵ~,CG.Δ*S?6KWH&?z)˅>bm}ϥ3:]5̝\YNѕ0Mlk;R0&{%iۺzkB5iGs% T70QS"u̧WTg"@`dP}S LGAnAͫ[oӉMFEܰE_j cBʫƢaLf1)xQ]L!icze Al1yy~hP}!$\?{7%:V^|%Ei);^3dDO4v9/>U!^)@"w ð-g^w3݈HxP8d#`͡NtYD ao!0{ƺ6֤@㴝 joVL]TsaFǾ})U{PAXZ9-8\l22F盹*Qk$ 3*7oobxC167ZƢ]%@^"ƀUS dɽݲ` $k`}>^2n2M)n_Hp^!#Y^J4/^0=iظ7LZVI[|RkqĄ!vN#iܭF*̪5 T#U`>vWϯm?W`Tgβ1{1q!F(\ԒDŽv(:-5zmo~HVCi*67qxwbs+:ol$39"2|&?}xϦ%M6Jhuotm(p~kVT,8ΓgaKZ|To^O|㳉_(+tYEit5*&rzș{"*>f g;ȶmREcx]3i3M$#@ۮG 8Og:KToldz pI 0gxO1ĭgW<3F#˵OTHW;+Fl! |U+vu8v&Im_MtC@hs,<툗˪լ @dMD軛[?!%<lK"^Mb^ zfn|Tײ`px0w ,k~FFq(KvLk|&5DBv~_6:;؛=.U1ezaD:K.i % `?QG#UCpB a&HL8.Sr򎪱N֗~$+Dץ%X`T%@=i*tAY;PugkR P \Qh>QQygc%Ȃ&Q(FOqFg"UGhKz,)r rI@*KEɥ@ HXXb%)o%h 'Q0EY -wqR>M褚ʏJOb}it8J21uiPQ-;ASSXVg^![hjSG7e">|4D̓t _ٍ$ iWfx;&ˁ; 5 s41 aNB暃W>xwt('X( @pY JE#5ǥz)*o\ێsߣB[TZۇ! N*btA]"x{IW`U hʇKH^&4| oO3QMs0Ey4!SEwocXO8Z$lhǯC'mE0!.ejUMᏼ2;HZpqNm,3iR@ˤ[֕scZ Xqg`Bwс!VcsI4ޭԷPAKԩ`:Q:}.-zSSiawp۠<9&ӭ'%…Dٔg/2$[O_ixBʝ(8 &ZrS_U5 U8Qb/8Mq\"y*%9y? o۶\,_Z))=j/c#]9E1~C87ӤI~HNaC%>m?1kN۞)%zB06wda{E_z lS)D)P$"+Atd'RS!BDY.w"k,ߝU<]m',j K*f_zmL 5܏MB\ĶՠE"+v=s!6X5CV޶D2}V|feKՇFވ坌Nn8yf"w$@dIED;ٿ4nIHi:_T ˦ʴwlvXo;YvJH_vdƮl,ApKw1g$&M5ٓ.j~+!h=J Ѩr+|d|cKaWOg33p\"cM+$};W=D)Vx[wN{6PTiEt#">M]"Z19V4U ;dw`i״g@H]*Qރ6@|5P M~1cq'Pl$v4Ql0IY),jF;sSYVhPlgC獥t=$'Z/4ED ehts]}Y#=s1h~lQt]ud洙eբ_ߝwپ` '8 ?&Q2ۜo X͊]R8y4E9nOICЫb`$'\L97 `|Qj8d -P<Ƶ^%ᜊdJ"F @QEWMb1aq{OD7gY3? Gw"ҒsDSZ|ﶷ!X peB ;,7<=bYxC)[s^ǰamʪ 9 \Q BlԎ#F*qt3OԻrqD*7aKi$68bшG/\A eNc9XUrTCvaHd/[p!*Ed k GዺC% ~]d, ,Xp,v ie%تShjRݞP\{@ E]5'?9F.FpC(˃x~ La}p>6o!rޓ>FEOtJ7m( O]h?lSf ڛ1kcmuSSɡ99+MҪE3Ͼz|(spU%UjQH:5'1BOBN!Y=cS!]t| `P߃H>z.FRs ѿ\^T)|T-8m%4ivSD~ߝ`Q<IYK kN,lKŇAV\ΦB{yUm ׀BdZAݕ Oaq\.-mZt|M1u\$;t҄iVɨ1umũ j^pFHcP- ,-C{( 6kCa&޲9ʏ! reITBTDY2~ҺQS U,TaAc):k?<1lmb ?6l_R +/]B 2c5q{|\*Ru{+ܪF^L"!,`s5P{==B0ۡx9;^4Eؙ۠JY©X!\WY&Ǫ鐗25ITx[dŗ_ꢋ5Y$8^n)gs3Ej}=pyRTD6@L^8=u cG}Bm7-QxgLd8D*\Y7,miVْs:@+* |pA Dă2U"]nlA݀@XhE>xa|f=kV(Vv 7鐂D 4WdgR]9%u8u n5H[4Pb4v]آx4ݡlچ1 2Kx7";l԰tRC2nDu} P?S}%I7GSz׳ OoSHA"6+*wG@-$" )hm%\Zn!ho CH\ YF G5olyIA% *!>q\96Dt+Li'lh gYu/ă<ۊFRN6aȒޫG~U4HR* %WD| H[>wwvp#)ʾSVd$ի:c(J^WOD<4Bx }GY:x$"eXՁf]v1afW-]ه!/A,1bE(,風eP/OLxJԖ$ꑻxv'mP^.zY8孩aq29/fʟJMxjsIePl*' Jttp:ܚlt!zJ(>TOzgajuF ER~JxAXf5z(toDv3(0#)O?[D࢐:{4d\Y,|9n7W{%qq,{g,j"b " 'K_ (l KpjHʱH|; $1GU[h&@E|wr #2ę#-Ke,2op.{.w態ޠ |oi:TkV wYfC2π5I1"VH Tʫ2ρSmכf8bCJ "ϠK'o\ ?t˶o +J^pfòǣ5^c6kq=oHM-Yǜس?僪5< ֡4*]^7Rq| 5ST tl8^NݴǝI|Q f+0%xp#g ]b3F%h6XR墉ss=h~L$Sj ǶAF2k]vWkS|v#g8[²*zm(iS5jw7w:vnX= nD>)Y?6N W"#Mnu=17 S~fR2,hjbZق*44 cUZ]V7LRSz`.#y-* יͬb }ތ dUIܯl7~=L<``Og퍸':6Xܔ5Vs#t@hf ܼyP˒[h, drPeJ)(·4hRP8:682Tt)#:.sJGGQhɐ03MOTnPFL@ B|{ŋ+w3CDPLIGa$L;,xQ 1!p`e-ٻ/*E<0cPH @QYwP09z6H5ɒB~V)(!)Ze`}$H6S0捪鍛YPA(~K5T3ui\S&Fj*VB] }$aG /xSԕnv3ٔ(txy3oW1oDʫe++qQǎ82! IaLPgoT/lR -'|% բϡ;Y yp Yl Fumxn8k4~qVhjq0Ehaù󲗄Ih nyp}?`2 K0BʬɉXNM;f@ ͋el;Lg L?ʪ!BpuT/dJɞ%7]'|16ZS>;)>4V^-(KJV`B_\OwuqRN`ЃT|=AYTE{oӦaK$;Tkuz>wz޽@o'U+GB; vo(Ts3$xo%ϥ&,&tLp D+y~g1b ONşȆ| >VYS3$L 8EJ9U2\O:zL ,԰Uj~;êЃwmYjEôϔpDVX}g=U[Ƃa33IQbVY|iq3;D6^PSJzr 񹮚4oYEqp{fu΍!blml65giTqε^=bㆸ/ CxB^L,7huԻpP1 h e?PXw=%:{K#nstRXDޭ C^el[#Sqr5 A'92+.Pq(#k2+qk kCPɍU,1tfcFѓr U+|3}n?/%IV_UCOw'O>\|A1UuH=]3Sn疨׭;dɉuaq_anCv$ ?( !Hl5m#|o\9Z pP_7JP ao)Rj{!xDkq!G$FX VM{itx{='oq}qRlj 't@+M<Ŝw V'n &ax])tUeҐ) 2{B(fPˉ#J0)y)xR@"?3ꀶ8aTσE~{/8T -MF>쫜W1!+|;U3,/+dԢB: ږ;38n0=.7fpJPrAXx/aʋU`_pCW,-duNF\L%]|$*|`qTXAi~yyjFahߖӍFS%h7z| ).Fu2L ?\؛g=J fS'GǗo7ϖ7ݻ>B]si,}nei}bH;ga-$+ r<곽ԁlrz,ə05P4Dqw^mWv'`u9OϻRц!H2S)jN "_ǕѐrBk{!4R 3 ;}:!QVO/7*`xvw<+@-Rng`8q-ubTU쿊Ȩ~_W:m} jmN0Te 82oR7VVX(vrX|P<i msD/ރN] :$ݾ3@Պ:Uy$I[L$: l]7}.阅_vY/RYH:;Hd}$w&H"E6kCPULGW8O/La;RMh3&{t;At6e`#S,H_qtuy$OmR]9+{ {a ccYW^B++p/q߱Qࢣy"/@Mʹ)l*WIX hrFK'*gR8H9[n*paGI>20InCM0eJ#CQCu;`^ORtf ,)':݇&64:KP4_/rՃ2ayCkQ V{04K rBo77z@WjbR3 J,=J{?Xy"m? o\|BLhws4|-)n-fpP͊aBPpgV@_-rƄ5ؙ5 [AkM 6^-o(%~ПWC;(g9'8ɒV^_ =T"K^ZHU,ݧ$YF5!C5K3e/ϡ0&*JEU%'H_gL,>9W:bY2-\kko}j,P=rv[C>A(AipjYt"4unYO<ʲ,>"&E|O{:>cR(&͗RZOlIljUJ`nż">A*}Un+Z❠bn9ɦy2ڜ4A؅%]jU EiZ<}kX/ڀ2r gf @qS]/GqC-9g*|rWJ2qXA9+ZY鰣s+/=~ky֝q3+%6>58a~LoYNuX> wvL-'V] ӻ'qɉ3&Rӡ *5¬5}/$jzUyP]-?0m(fTjgJf %/ӟɚcfɹHsH/x)8mu.<~t&Ȉ`zL{/ KSa:smMs/󟭨Hp,D#m*s?f Scd74}LQGmȌ4 +}RGfpbѪΣPR-9UO2 bJXLx~VX=9/Ei)T8=oLÕ:#^:!$w+^iYf Tv!z%B\ny7 cΩyZթb]69z 򽄛'p6p=L碨 o`f JdMm4~oxӗ3SvnAd y\6վO3T&JHGIUbM"ݬZ-$MerdRvuAB<Id(=xsbw4]:'Ч} 07jAj*01>z|}@c3ݟ 8}hv&6(rbR*Pf|f(7sx^ Hh"\s3F(k_Bgu(*w+{,6{j'T& b ~dL ݔ@"L\XdwF |_@{ߏi}eUWe;et^M(#]-YYs1M@ 'az-E 1_x)Di^U!橿57? (k}M !Jco(-Vʖ?[n sv2j08q02N IWb:4X'Otr @9Nf0 %a+:>;4"4$(94߱?Nߦ`ȏT/Ĵ'I~Y~epJ~A`bCdÛ=FZ(kT91@:ߔl"7eP:^yGR;;DDZySvR<8OYj&Iil˗F؅4PI`n-x2栴6PY )4k%q*IXݝnԗ- .|`>߃+:5b$` C9`o$URע⑞ָz_v9_ߜX+8ߌ`,R`Hy'A3U{.uйݒ6vg"\yqYԏb=hLWԽՋ=1/s_6 s1ǠGCjb%Epn_4s族3\`>L3D2gr|@h.# ]*`A*U#,?h$[-Oy=RMm%A l[Ռ$E L^-N,c }ᢣ'C(a JP:*:.6ϯ1 Nd+[9a y#V8Y<4s?_-=(\a *SLh%s\!xzK+T 78d) (e;ѣ_.< #& ۺsᗭ4Rwҋ+]frGdS^쯁C- 9\Wx6{MEH$#<%t%!nBO:+2gťariL0렒&{|-f,vXSf#^4#-0!Ey#;5*3K<2]xU^-$&@ovqD@bcJd w{:CoiNGz&0V`ۢ_Dԕ3.a\`j냊sf?f G=96\r$6t%qL eN#K1fhex3EnG{Dɓ)薲չsr8_{l/ǖy\֜Z $1cO74!صbW>A)?O#˺^Y*̑R:nnXq3^O*5< R wW6-IٞI4_2#qC;u8_{E_:(TkEj:un fyL%ッO)IesD^nȏv`;ASG"9 z,4Ч@(=H qK96+ZGB-8J )kB^z"9 Ni|~lDI]QiRKA3I~sE& y%t,'z$:Su_ pG&#֐ Y!<~  ~: +W8a|H _'>,H$n6 VPkZpU}vB!QQ?`KeUI+oz! h:^AW=jTKq CERvKU$1:2a:םL%: p3%0]z3ɟEw>+kפx~Mv!,+WJY$w5N Tlj7-*EeBCWߜan Yk@7X9hԺFntv' ;&j2z+Ȫ0Vc3o.z[[ {jKVO1BcaR=85ɠ LVz(=SY ($Wy9Y6T :THFH w~qOWaG R^J)XiJ^_ЎS̄bN^tXeS\ZpslɌ?%ackx[) d<њx'~ZHrI,[2Ӻ /QAKMlpps|q D~/4]o.s#d!UwԱhޝS"Y+¶hVՅ6vm`9FWx 5"XmJ~v0=4t@֋Flbt"bᚽf~m&&"\xn$,b"OޜyeKPɻQlY+/0Vy`d34H]\>R%XZO@fZT!ΝԚ&#{GZ P{Fpv>Dp::[?[ϳؾ.ϞGR "qW&NE!"C!=s{(<*^O 6&@MQnt(kBH;s82%TmA*W/%#iv5BIZfM38J=+QWSUm{0Ġ9b.'>M>4|'["#%'Zq* T|ٟN(>Kv_‹~Om:zjxS"cQSÍ=?4 :(>$N/h3Лg@(\ _;*c97HkCz[n"mm"N8Aㅿ'dO-Y=<j-xoGw;YRWh+N+-Ll(jQPykjO?xV/"iF3dMyb KŴY:'˼TtcΟݠhR'8MYcuDrc "LԐU.X UwG)j +}JX I8$Z$O0?-xZD٥.j&}ܺ:YVZZLsA7\)zUJB!6a>(]Pdz,Bt錷Zhd s%Yks j4\/s ΔA(\J.z{3xE`k FE7 ;)Xӓ EkBhCFy6X$Q{';\n>eB7@2#LTuliXz,UoFH!&8zXI=uuC~l 'q;% E W9G`P0 ~:i Gu#`h&jqi$ }P!zwY3>-\dAF6s3b b͗fh5hRv;s;]7>ⲲHfD򘼵 cɄջ S]S`8 Ж-,d> x2xhW1O:{Rkbi2;lś(/K9v%}qwTg|e nܬAnb GgA`=lpRx8o2$b.N??B&H[-iJO+Q #k[I}Ⱥ ol $x=^ב[BF?ciJLU~h/H-A:[hɋ`[D&ࠜ "6β"Н^QJ.+Na&w@)TH>e̖&[FbM J Ɉ8̡".Xps*ҷJ%@q˶9p̍ƨ}͸np1,n3p-G%Cߟxkn0 ɆѯB1u͂|\WG9E-Uj(,kg\5 %pڙ.tWP'D:yF@x5 glDl˽SfUjh:ʉ5j*i v&-WpZP).X_ը.lM9@M&% $ N(Vvt&I=3ƻ\jI]c&8 f^kq Qˬ|℅"wݜLvc[Pep<8l7 \oH2 9?1g>>вF TA!@05 (f̅&%p\nMu-^s؊dقQQ=8r ʊAe/J0pV>YAԺD_L n[-1m [\mC QiK9E!54oʑ@WIV-= T;=8?o?a B7;Wؙ2Sj8PͭZg8an,auʩ^ nHd^b.QGwhO@QyS`ٔס1%`qІ ij?-Lq( oL,À/C v.q%e?@~$| R3/(`6*D8U_IWT i 4R@785탇lVg4@4/gr E4XZ_iO+I02.d B% ? BU}~m QƓ~V( }κ*;ܨzR[`;nU4vmkMݦV mV&Gxr2 ǨL.}9Pm4 2C@"3h HSC SXn83vO#>S0aM]rdZy4_57q766^ƀIƕǢH]f~i3q4xG=t٥{`m|<}|4Vmn]* JӼ=wcDm9./ؖ5]N-W2leRHM),܁z=fk2M%%,퉬@3.5C1$B_C";d m> mwUy.Q49"+ZuW\)^k ,2Cׂ TG`>ՇL@b.>$x:8VjBqt4MGNSd=Ł65lܻݶڏ&Ay8{U6"Qt{Mڈs"Zވw_<J)YmE[c9w)W`\4sFT] M/̀dVZ{Uc%k"mɯ䉹멎~z6WaA]OQRw8&.CBtnO`@A1>-{Ş+E>@rmSSsd_VyWʩH# 8lD.Oe+ꄮ5D7Ak/; `l׊ GIT]LKoE1ʀSzF,ƋAg/l!h6%v'49[7n2`~дl-5&>D1ҏHLLPΤ\ߓ٨]G{QU߄XRYJ}+RKT, ƻ0^P8PWHw<0 NKrK2Hs[ 6zR|B fqa"UψgzWeDJ6΢b({{u{5ޛq5Ό W;yEilDz4}>$ 2 P,VT#&W@ש,MIQeKʠR3 LK~!B*8yx5KkqC/:xH0j Sr 8MFZA%Ol?El fMzA ŹGq:ϜrVe.ñFv0o t.(vIAx.1TjfIr1P.aaqnZ^i!{$IAkTob2*r:?bVƑ 'CsPx~ lT\[Y]H&9ayևu-{a?p"Ls+]na"&eEO]rEZ Q]"zeTJah)"`n" }LXk@ z ƨ*5A{@[$lzLڔDHPuGؙ|r߾J-WYG+nfYv<dz?^QJJ;&Hke͞gƧ0fG]R{M⹲y[R;G3!򉨐|I@@MW+8r;2.[sUJRK'#8QbUL-}mPÔUBGUdd؍ oq(ze-މwOT{T(+C#;W@ rX5<9Qfz):ڒ]'ؐ_:-(AAj}2;I4V9XcK0>̲ FI@v+\,GDP?Ì='TxzWB/>ltzh?hAQz !iaVq500!=yGD =$W}Y& KEe%FaL2b?HǢ| "L@,FA&]7ZOKͯT5;A>2-D ]nLv?h+ nL U]fF(n֢KWSax'G XtgZb;>ɦ|fF6 e<`[˘P6yx^(Bʝ٧Juc܃76*ѿKmd9JYo6bP,+i+(Uw閿8b*$aw< \3ɮ6ND̚LH7[Lb}."+B;Bl~u[9k/tst$arfQb9C*vA䞤ITF3y("yltME+ח\C'-3Zoڎ=Ţk,y1gBÙY@a;gALh(Z`\"}=i@hs[ȽC-ָQ.SY58^WI}YQɳ;C<)V't |kw-UՑG7]\Y؜6jYRPp@ĥbO񡝹 +6Bep yC EV,GA:̜=8 j?˄B i> _hS.GV1Ms9Q}s3ۛt3|̗2zx5eMg""bbSG@ 5 FPz82ARJNҥ<< [qs+,(C{KU+C%Hأ1Ͱ6ejjnWIdC.\bSn`kg=eF8&^Prk8XY8?})J:}?x=H`~r 4Ήw"_ .+H3IpFTguO[.-zԜxWaEu؁d]"mQh19c!úPygi:o'jp#ܧIt~qGdi=^ 0+ǗD&Ɉg yXMnζL҄r{NXzbW֌| ]V5z\Y+'pOb-y5qO0Se++*9|SH~ܕM$N'VT̺ʟ Q4 9+%s[[ǯ)NOWlMygsdʬV[:/h긂@FX+z%agtk *7`d>ё+<0)5+gl?lTZtR油íF"_A  &#&c>zO M^ As+bƓ. C&2eQzr?<=i3Yb )R E\B1ۇž`b6[]"Jݒu"G}6Oݱ gEBPF-'Vt&ܘ(vF7=prkA|GAZg\;Iaw|,o''>CKz}.ѮW錩U\ݻ3ඁ^4a[0jńCx|xmed·~u/\ަBZ[F}qb Z9 bA/3m}^xZ?IAK\d Bqr!_ Q@l}(yږCD[w}R(~~E7lF[x_aW`1BW@Ɣ ]BAd?-CbGa$ ;R}kdf EĠ&}R=Q2Y]R^Yt{iio7YuSUP!@z;FzUWdG{[yyOmg.#?{9_OQljY.(! bN0%OǝPx p$ߎŅ)zb̐!7Bt!"ckд\o oYY. U^/ʪC@+wRWWl+q >?Gr_O-9˩S c~;(;{`U>[Li'fάBz"%@,hPFSD$WBt?&rqyr!:_7Ƨchڃl/`5Hν>rwʗX\; d(YzZgG_{HRHfVu AdHƢmW_rfY"B\s-yǶS+ "&xt>q2 ;Cy+ס4 L$6!>â6"[9IC#F@zPB#Z9:T 80bP 5fy w5-:edH~O:JR%OJE|V0'p#5^)ka'f\&oTc& c':P^2X 6k)䉳F?a0yJcBJT}l[ 7ϘOcb01Uq ts?>ʝ)8%q@M z Y67FFnZ x>LJ Z7A:|&TfC>xUyÅԮzV˾lBHU\9MJ w!-@`9i%*.I~~ stt9}ߥ?&}|$vRauoxQår6S?=KjR W/i@7~$8ާ}ฎ1Y+q΋Y2z/>GOȔ GA#Rlc歙oɸڇT Ưa1)kz'}3^y2_<]lN ؤfTȏ EQ|*' b6Q1tgVP{+ImCUi:z]=9k6ZUkG"A٢wC.ŗBaf frv"̫ 5q"#ڂV9w0,{ႨuB(m2] x=OKF{ks,GB_ ?جpu\Hy}+G@7%][q ֣YwK:hፅ 70xl)GA ]NSp#*tє %ު쿕I٥x[lʁgY̷ݬ|dVj2ʨt4Hq*˹{q!+1(Vyy Ohl~Jgó:bS EvCޙPNjmvܫR'MI>ٸ8h H&gѩP$`P\SkpGl6"/#"w8X" =wv׽Rd̛&!"+bfr{t,cQ>h7Hx'ZYRyB ^c.0neJ$ݻ#6Rr$zYBT;+&(/Zxxo}k#k,o ~:=pBkX4zKWQ$ӟHs<碢m^MkN}I:ǃoR"J'e=*P#Xa8X"wMBQg&:$} SksW;2O)*+4NI:P^4}($%3n=º9۔ m_F%Q܋"eW'Vd?WsBZ~\9(0E08s,{3pfެm"y018~1F$ds׸UIgR;#m,i&!IQjGk!ÁgE2ue y0Nl7a-9So[9Ơ9`61@̇j3pIfx uYJ׳ c$|7) QY_9͘I7iΙǂ,JNݻu(9@VS5!h!8Gw{C/Ԧ׵-4LPfzLg^ᯉG2/AFvǴzC,FiZi̺@A –`Rܕp_~EIY|~_vvۛbHt`gS9WF18 =[Z]~hv,+Y |Kl'-\A% ^eAKvDŪ =y 48Uig6j9mc?`S 77BL4{Eҗ&rtjqZĜ'ʤ-_J .Dd`\cuP)u 'X|z2)!Ry7=K}ғrDwDhc<6ZkMqnX{297m-Et_>Z丧8,mt*X<<[~}c U? b`u里>Q}Mt|/2o'S}\ex,zdjDx)!-?m_zZ p''pIGWqaM+:93nx(HPX:财%^Ἵ hsMD `}(rP4/)1@Jso+vµMnNxXR6XO"pTŲk , S?)vk [J<@ ڑ% &Be|(컌1pk9Z/Evg?S5|!!$X"B\s':ȥT(0ACvlIr"2R!ʷAFƹzw÷I.Ĩt@cj{ 3-ޗ6u`ݧp] !JQ˼@4YVDxg R1 "h|x߹2e4ډb'ϼC-e}( ӟV)[as’MbltĖ/v@+,p|V s.:onտAv30[(hՊ+6Cxs;S v%x"| 'e"/l}vQYo#O瞝''EIs5r޽ӥ-ҺbqEy8Xf<]A5y `A8Cǵ1f%-Mɉ 8@8lP$D°V-^6_9vX+:i)75j ^ﱰ\ð=&_<Α  PVsˤgߊN_͵e"RJmm,{3G}kc[0KPVoMuE/J2 9T` wZ۽a`8U`-Kv'w&Ɇӡx@/xv&F=^K]Cj)ƶoMgv;?>Y6wTlN@!ġuV}a\: dqN2qi_d%Kxk+@؛cIKg+2Mw!"XM6~;V>$BBH1 ?qPAfR@ eqVP0E4͟ ٣رkP8  ܯRCҠ֥|$ٳZzS6><:{ grJS2;[e?`sHf #8h -k=Emy֠H;e&:;7()=J^*j2N<_I?{䊅I+7?AbV~np%L6ރO^^3Q+c9ǬdG2]PScxN淰}#kH~zyUEBT+F֟DZNqQtP"Jo(L$yM?lE܇w߀1%Fjk8i8o pl7ggr"hg"5ca;- SSCʐT4 '*sYT]&|CGl)ʕ^sU-nx1)d PTaWFx;<#Yh+[ 2}𢺆dejh ÆD2V&!&~<%=^\ާ0a)e-}u6ũ5xz| 暃|f~xdY]hjY>WcN,:fIcy~Z92 Z8cZd2[zˆ$F8~f˿0ӏi]QEԅjڅ\c{1Kˑ nI㜂,R6׬qI? +`ktz>/{륬5h?>-BB# S!6E@.7twIacrRLS+B~d6s=[ĸqY1]_gOD7A7 Eo~¹'>,}INrVBww=;o*:bcNZ7r@c- =0v^pvsT'@0p$[C Ng:l3[|H#0㻣zsH*6IYDzϠrũE:L.VsS]6%,Hۯp8S* CITo/%R@:3 kqP;s3R3U…ѱ+0??0Jl:;:1o0=zÈ_H*D]mi;Sj:9藖޾M$I[]RSvTi.qǽ ggOʑS@-w}C|JτLm;{B0bEnl߽h)Ok.dG4V[S5Cx9Ei膌qFJ!+Z0yN?T5)~&MXj(Ӫ\' WՌ~7N&?l"AnAU4[~|Fޛ=jE>K=ϥ 7<. =;H7rbn/ 둾_ٶ"6iHzY#/-7*w1qD9Sn*+RǑko99IC" x3E]1mzp?(uhа㦇bW؊˳p9.IUo#<>Sr+"L,$]m{ZPkf$A3hArgWS@=c^SkyX>+6ʬs#&P$YVAyp(aV54 Zv5@?^yLIʖZ~(Tm?D F@XJZG6A!Fx1`c!k8#2E,,wGҏ=$ 1eR2FE Z{L,l/ {S?=b^߰͌DU>_euAnqynMܛK`J:EQ4 &hJpCj >ܝ]('TX =LlHYt/"{fIZVʼn{P,*p0usu9 JB󽗹p|;#EnBE*QZB@?t-e鉌%bKW.%ź^Ko0Eb=K;Uy&ҫxֳaA*䗕JYs~@ZЂ3s5}by~d@'\|t9|wڙ[z2=m9(@$2Qߟ" VLyz}WRFOTs7?( }i>K(=DcQe} OCzjػ3t?䋮oMG},]"abRS?0 eLRSqEOn b+ZMN~ j(S" 9$J1i%*쨇 6~^ NȂ9ER)l1:`hz)|*P ҂txSAlM]!;A-'aCUl^ Ԅwœ(2;6 p<+*;i{Tmc cciOsn9 q^bH}?b̵BlJ h~mQQɸ:[ _K]5\im0!B)Uj5Je<ܜ[f)DaWhZ&>gWTT郂" n`ޓy*X][ 1Vd`apdnlۚc7 *hz+CcS3(8Ľ|b͙zoz vgPھp7옡lh[,F[jW4Џkpw1.k2+3Ug`hi{3E.Gi8-VC6p߉:âh{MF?Qh`Զg^_!G-ɳ6Xw>w)K1tq4Z"0|fnR\x?Fw7W!֡t>K$Ic@/`6ok6U g;8砗Y?3J`Wj%PqJYrU0mT3c=|J5~[/_?#7 t.Mee z?i悯XKI48U:lzH>+0>}H*2a{n(k"ץ0FcCegcU"A[MkRUZ 'cCJf2T-W#Mw~D8 V2 A:ÒҫqM4 vHCau;36ԌiɼJN;(sgOQ"UXAWl>9CҔ O\1/ar9rN ʽrչ /[: q_R9Z6娐la"IVЇء˭ڰ+_X7A0*`91hjI1M_׸lȳ@\xCRârHS. 3qjG_Ng[~@6z0]=0_bO(?q'o('R<=s Vu? ٛy8fv"rWY'[ZN{0 tPܾe7 X-1גKvz3X4#6P~߲hF} ˔)8esS6Gf\0X:Fl?g`_nJ>҃vDwH_n斧|C{7+8w>>KF"}Ey_ǘ)Ӑ$ '6C7£+Rەp&]̆M/T g4#6溗l]$șxO0MD<9؛n[>PvǥJ t>& m :Oc3a_DuZTK(`}y]i3hD\yes!LH71Q YI#̂:т)&̎>0XI_[Z|"!`^ڄj|"lϚ@PgVCfMEg ( $3%m$):0%P^y}/_z"m49@%QK:_TKZ1_6~ 7eܯElGuV͎pi}X4=LK ߡz-*xx`׃yjd <\P_ KӝXn(E k)|))\Lߦ ]&݌E h:߁oA{UTL̢U:Ue6Q:s'k_,Rwap[X#Q3ud0l*+`K ߀Hr`{6wM+8qs0;T0k'Tݳb+#Pȳ=d3z9rW!(,HA]}qBڔJFpچ_WSA=]S%DQT:zOӞqhJs4W3Y" s^c5 %"}#/Z5Hwe2M޶?ެKF^}vr\kږ ic>XC ߴ(] O><%Ӡ4[WcoG7 cj~XR{u5n,iGa]W! #Kb h`HˊD#ZQ l"+R eYhBPAT]ຣݖ.I\ ΒŅN˗3??ҡq<ZS T4XeQPMJh>tqf͓(;THM>g?;yW.p~]?PP|#{:!.w.7q!&4XVW]sXcpk)%Z _w T+6RLqVJ]PMfNDNDt}h4֗U @++AEw ,j%$p1f_ySWP7Bebua"l3Gp.g{jp _':K=hֱŀ>FNߝ3MȘPrY̳|"L5 yU)ZW=x 'OX*p_yn5/" /)Z ={-#1I}OSb"΃G{Q83G`ʷP2A{4*aĵmY3]_l[SH֭nCQd(ZC]k-=W7ؔlm+j2xBq&vs.8fYo-[]*2y5jխG=%@yׅ$..+GAV(ȷ|:D@L[UKm44vza&M]b^"߅JՕ C0Z5=ys ׄiV#f~;XkܼYuobcnJ= +Y Qho8$p/ kx͆^zkmQgHO;3p>kY!&ihKmǙ+ 8 \/$2T^|c/lNjr:{ 8 ICN%Ǫsu>ws5ꤋ!#"TJzfGU@]*`11M_aÓhgqΝ?'^)۲AS:RyT9iD FG} =ȥ7]+~v"'G4!V'p ѥjv?پfa $nc!=;vs:Apzy_iX{g}R1g@x 'ךe_9hH\pK5'I/JkD-UoDWB0iSz "n>Z0U\ Xbx+F\T3 ⢉BV1Ø˴ȷ)-?pC㘥-Ry=)Rl~-+RtJ_' wDݙ778Un4)ZgRyL.:AgdC%5-*"Xj܂e<У\hnXWS؂A=xen* gXVy7*ƍG m)qpjR{3"Kt%鳒 "hX=OW^mfs#ya;b<߹XZNB90\1O3`{`!nMғ4pqМdT=<( { "lp j ws3b1R6++O^ZZg1j2eCk MX@c+\C|都eFJKXEkArX_͂F0c otobw`Bwa Y~īTY "\7 ;$[74H`7N [*Ik䪴{1T:W l^Aީh3yqb9JXs,Ҩm"DVVB^hO '_nIp! [s]ܪ0?uO̫#fKYW_/B;vb;+x5Qd.A?HV>M9='Զ{.1|'7:XM7WH>b^qZƮ;N0#j7Gz6 *^L L?.D|*JjEjHW]qkc*^*[X(|+[RbV_ѕV-zsP/X{yfl<\>6)qXQ5*-O)IK( ~d sya8F;UBUʥ TIg'apئAAz%–fT }V|WM""LvnV7WEENaqJd~[ m^sY|? boj \謗_dox@>a1ye 2Yf ovMgPC&ˣrmTv` jXCJvSTE&55D}*Ut&P*{s 5; mx~>O) QOEӋ0:VE=qY4:9sLl:TqtcLYΔ_: N#4QI-Z ߙR8D|k4n?25_( lCǙq x0IDq#ZL F: J6e7b97ZvV`s)O`7pr2&u{sȶzމy@wV`52/aԦYC2B?^Wjm>8&m/DJ|N8[ڭ2[}fRRs0uO}F.d(#xl"vx,^ $*AخTMQ$.bI' FV0 5:H@Ny/ŞR:ٯ[V:m&O7SgoF d)ɷ&l๲2*/+7GߌY1$6(c9sg9TN?fdf2aq0f!r3mO(p^41Pz |5=ENah3,djO-g ۿ P Ws\A(*Ew38$vgݍ̈́[:mo6r,)w{ ^'K/HjeڞY[94O#uFiIQ"g~?AMǜ^fzAN`ҷ5>5ZJr<_x26Nj2hZ})hxoHJDE&qKe",ۑoZ̷7=?ٚPj#?՛'1d«V%OCVly&XꉌҊ`B?)4Y&V@YuԍEI{M9 u"3T&HDR}BpoN*&e`9Ogzӣ\ MƎ4I^j1N|/ia8C`G:u~Sm=K:gtjBCQ)Me&#$wxqKF/s@;rmrMQuXCy}W>L\4Z~=ٖ j,RZ E@K=ѻ#3q m<^kr@/lҠIBBoŻtW@ڣ6ir~rY>clD"r&1xHf y7STZtHn-Kq dS?tzD'@fBZ4l$a3Up逺 1qjbܛL̛U46JdFuZp`wOcN$^47`Rw̠TA) Pw4+:;RC["bau_tutՅhpZO~FWDYFB*&ni"m)0@[9jV RxΧ=IiĠw3/91PF] NWө= 7<\!B(j\tZr^Cu]̙=k#Y.N "y1=U|ͯ'$061U?Z{ӆс/bF9֎Rc7lxpI3=冀+%y)|a~a M&gVLac1[`e{kK&҈ 57lSP_#i`ޏ(8{?Z%f6}J:o@3-0B*HQYLW3.RWtg&u 9Y¦"SU _csKftUIcRݐ"r a薩e}N*3!_0[;yRR(wbUǑTds<q-^| PE^W}Zvy5 /3&ԄEwY^w`1@;ML'KS3,H׳g92lPi+_lz'S_BAGEKm 0b??:1/^cR9_+m`}HT1,^ܱǮmB6FuG 9@?Z?+sy.śrh&Х\-ՉGX!XvKm,ye\jO~+D &E հZ,'&.Iw[pqG(y㹔4)^P~ۆz2OՕX.ܑsCW{jsA.ʾw绨 gjŒ?ije~&luT3(_pDЖaYpP|G( M pG?՗ƶEmFλ]F1ؔS,ֺ8yFG",EG/dSU;߉Ƣ\F7XPڴ5(_d^!HbDQai T׶3rpJ/nsE6>!ݖw2lR2_۽n6pNX oF!t44E?[@y'v:< cMLA_,c)FJc"{ysu䁋 U%"̆AvrVIeMUއA"^G9PhOFajLl/3?fE: g:iu5@@σd(8|)s\tjzM0̆F"VMβaAAOa!b.!`#jX=vT9(rɖ-R _=2l ]t2ͷ fS !iS`xw*p6dXNM6gI>с?z)Sv%D |SOh 1ȉ.<&g0 (}{dtkfNe0=D%:qŷ2 Y JLܿ'[~QSs~m .@!#ƚ~ r =!;t(; Ʀ"%.gH8 J^gaϡ.Z{ VI^Jp#Aq#j]Aol\(JUQЮTNgAٖjS3d:U:|H q)/tWM6)IܛV'o?7UC3}7eVz Ƴ\1' H1B2 D.x >;q:N$$G3P}[{JMڎKc.IƱhWB" h#O+.Ϯ^w@]5̲k $bִBĀtٜdkǩi/Lq{Iߧ5խR# ˙7$ZB"T:_ʅ˪vphN{H$c ?k[z?QnDzmHZm[Ofڶ:#i XgRf}7sή kSX$fYZ>}sXɐ;U jwDZ4pjfπ%_֩=^Ql|da)iaAjb R3*ƺuư8e-<¨ˉc8Rhqn'R= H9ģV'ŠH/l"=v[_g ׎&NmrM!26ϓn[ 1f5Hg2rAn^FkI>-x!U[ύ-֕M"eM?F4cJ%p|3Y!Ct EĐl|BtF>jTP$^ #!:Ls=:pm [a7=L3]a>ufBgDT>s^U"8ROv&UlIېA y^].2gLOVRrnM*ُgjQG ߉vԛ8P-Hhh/z+{-w 7(\ӧ&3jI˭r?mrԃKxNID@/$K_,>Aeś<~CǶ]^^wU(kt!H)>NLݥH%g4QfP1%>`gM߰xAɩӯ oo,7$O4nG=T s~<UÌIh 1R63I"\I4$4[skͦZf naQs16'Wgl;ct$8*NUU&!kH?zOsB3?ߺ.~,%& -NTj[.RdEŮj^\C×ypyDڤzťK39@޺c# \R/B8PH|#/Lf` ZP ;BA]iP|+EɖE=+څ/`Phb @G[{K@>!5B}=}墛tN#ݥ7gQ1R[7x}gOF3N V+z9Zd^KѤ[uC)dROƾcXrg14Zz)kݟ_9t)7y!MX]aj< %&(nni-JR9 =r-7J9Fta+szNw Thl ɇFȑh^rQNת Ѥ?Cuዉ;)<5t7eFK:Fs{E֑^wڼ4fPQxKa?0 Z(jx,j}vėE b$jQ~ӫC3l%OS =Xgδ6Cқ[q=}D#E; s<2. ޣk(ES Қ5)%G5YzH9#ДU&)!:\! x#R8%50DnpLgOWcA4 `!^N7v C l|_n[bE1$dE^J]/PQ<`8tOBYh.]oe:[0WOCD}Tn='+G.SMpn Ƚ#odAt3a> l nZ#,P'EEpb`־0$sPy]&ʄx(>l9-N4 i.s*rv8H̛M-^0DVmfxaW'o@9bPw>k>ވyL1&pcat#X-N޾xѥT׺r*^2s^U9@ 3}`V/ˤ_YMя$RP*:T|XŌFOh/݀Cb`Z;t]ȸb)W9U}=/$""GO~@tgUf 6ufc==օ}l 6\}2%/%Q-_YdzC6{7}ʹܙ٫NFtv:1f{فJ|89NM9,ĥPaO(18g15߻0#mo#+T{K8E+` OD=e;$ ̥›_-]hDJi7]Qӌ \r0}^I>L oS>߬I)n ^gO~ӎU"NDc$WQ8]{f]XEWۑ̌4`|eϊYTbdUM/2/ap-#]7&q60/.`FKz qrl.3sc +'wCL5ʷSHdߴ Ϸ$LcL7c;lQ< /c>{,koyX.˗؟ti24̔uM .CscTA j;=tCʩw" <r=s'۶K]č ӹ%;=<[3 !yx9*]p`+([T˚D_s {TCΙצGΪ"X91 (+7p8(`+xx&_b1r)-*4wn DiY¢uqԚ`'"Akҍ'ܶ'RF uxXoB9OQVb|T&!u3GL]LXIBIRY;$9|mn2vr~ Jو8DK$Q$C7ӵII}e^o(\p9C\,Q r?Yv8?L6Q4֗ ơ+/@nrfʃԡ>7`Uy5qKG6R˚u#R>~/,c9c_jPH{z {>XiO)n>Ϭ^Z'ě0|Ʒ]<_d -UZ <]9`Yn򿓎#{(4"(8-]3S?ѿA=l0# :If$ l͹D< C4T۵Z*ױғls:Rg.T)UEI|Mr 8y$"FۛM2cu RW(冣4ߪOd""\Gz1wMԈ«to4csKFVȨz/ Y y.[D ?6D^@*S&Ĥv9:R4x3t '?0 4Y8=H6F$7ӄ#)Wp a#kb$0ik{<7*ơX0ڛ9!2d:b9DJ,D>}Uv,m@ȃlC]W;s?Ysr+Fx{?W~'֕t -}hfU<*{\7ˋpvj2d3{QdGQ]kʩ/s\qoi ܮ(:\(qЍT]P3ydW LI.cb!$wtj!*YMhx^eU2pbsc?hWiF>'}'Zz9ɕ!?ek/"MI-KSjNܧuEts 7m" Ok;m>2x\|9 pN;VV6G> O^se?9m E-1%\8g ”ˤ][6zT>EE!f s~<ӻ;i-JѵBS'"'XU1]JT/ȰxN1YS|)o^lg$Z;~c~S%SjBv2ڠ"%#)$&q;azJ KD;o0v ݁RuTduolRs6dx9:( ωTb3f>4dLM~v$oEy4rh79RjNzuhpp fAaY;7^5 $G߁X$zD Z)5d G|}C,[=IǏFj5mnyx=ϟ'5U '[`!`gH9`n鵃2cHVs-o MМY5DwtY6okLC#) w_'A| :; {*3EuĺڰjajGϮlbsIC>cVXTlJL41I+`BQM 3ۡlK`"E9Yӭɉy7uXԀ螰<[* x17lBA&DGe:kM1zoK:pe?$03~` mĆЍ/ ɴC1:'zL<䋊 m<#ħMCBӾ0hm0..S#4u7mB3űJ ŜSfC4Pm +a~ K4+eC{a4?$t.(Jgh {W!R>?1H^h@:URϙa2 |ɭK&6d%F&<ܙXhW{"Hߞ(:N%0ߓr"P ye8rGrz Ӟ￵v ke{U Ќ&un(3!5'r|Qh4ƔMf.7Ia/"Dv"OsF`G6u)5o)&QgR<Ư׻t F(r,sj#v_u.יw3zH?K}Id"}&4Cz?E;?X[: ٻexBrMSwKG߂H;M\Wî)CDAy @x`ȑԩrO 皔G)/~N's}D)-dYMu>b0PS9'3zň }eMNC,у asݎLhʹ$8, 01kH.^D]?؃%+珽;v2\mp#6B= k2N= %}*'n0X`Ly`Ǽ+VH8Kݴ٪G!8G._$X˼.@\1ttB5ڪ CFrjrO>$.c燬cO$zrXu3ŒNb,ԈGDRpFƏCenɢJz<&?D,`noNG6K66gnb>J(tҗ ƫD_^w )#Gdjikd!4bwEST,zrIB-Mn;%Eeӓ#u(+;r׳{`LI;O.0.2Kuc>YUaĝ}fvJy +l̴3 YR ʧJWuY̋4Yg v'> F1Дy=8vS)j} +Ee~'Gqю$@73!jVqnb,Ŵ#'qOȧc9;+Y赔q|鯴~i^y5aRC"Yj+0\TUagxQZz!Xth"~C\f;}tJ}SZ+O4Ep:@8vh@']7NOWJV򹔄-Ӑ$z!snr@RZhOQoaԅ?% /ES ͺȖgrLWJpe:d- }tg&r]Z`qwg%~5ީLModE@LB*َ򣶔Ct Yo֏D%3k)s`آ UFRo(#m9`Aʵ `r 59@' jaKs'r;o fִ/7CQu&ݶ3:5Ѭ,2ldm)*JWx w!PHynQZs}L,Wmeyj,~&y|o3K\VCcǃp&C/75yhatكדdo.@)e&gXi C]{:MAgCԤK~++v;*ܠڄڨ$5C'''lZTcxSq*MbvsU$K݅ҸI ImdΛ<,UA>T;p3J\͏rGO]#K91CxjjU$"_]HkW/7#wyֶҀZ=\{T'u>Ij&ǽ$<> 9/m[؜2 Ul㝫ǃAI?\Q$'33[nB|ݼ&[Gr"lXUc zlx0qJw4F3>𺩮z љv^)\+pR pU)ORG+QeN+O \O$.!82j_D80uVWl48LU󧼂HEal3n^|HDѝʦ]4>lyX-aZb,kD;_/~7`s$3Q:7O6 pЙϸh+MxAAyf@HNԀ)@C^}4lû`M?X}C\]vQp闟 Mk)|H}4#¦`JF\zU9H/@wvsƖQYg֠Z6TT;pBhs{W[)qĐ4K?g"His|8z>3hJau0"E6JGMbK>A N%Y͞)U?m4}CgbLUkt;|:gוoWd(p }ÉԷ;$)eg$xcyh#C#qݸs.E`X9DKWazDeӪUO^~!Wdٺt_=8 . x~%!%t]6 (Eק.!t V#xv[&26{Nqi5C]XӺwAgVҁvXM|tec?YDrEákEtӫ `h`. (GމU<(lIf~6<0kOo*rd>!m%@սrQ75LG p$W@f]0x.?y]EH/ pTHJ"$CB_Xa䋠.xUOj',0Ǹie!%j$M@|lio!5Mn) %0&%,`vatAf(3"UjvLѻlAҮa+/e:IJ7GX] 0'qWSZ +s|B;ςs}4+#M1;óܑ^4%)N!9B-+o?5tw|K!Rȭ@]pv1 X2GqeQōq; C[^&*sNg]&k ~1 ?˻A<3F0q@"$*g'E 8 ȡ;z^}x7Jx  `.i=knzpl#'wm-ĂGP0C)Vٲu$=||bl$8L;!bQw?!3C5+X$ G>7O곥'KGV|u2sZrbrDJeai.h+#X;-tcAL4s`3C"}P4We|SuB}G %-ێĩƪסf0kDcxB'D"|(@wjsal\Bˆ5BR%D9?3Q.iWgsoE.w4P6gGKj^Cbc&s8 gJ7~0^Bk(tZ|*%( <G vE@>I $>O V{"AC@GC<`J̫ t(OѰ6c4o]tG|1u7zJ=]'!Me0 79$O#W썢ތf'UǞ|`M\`Ϳ:Ӵ]ܲ(CƁ#<`jD_&@\by 9Dx*\JkڃoYC BZmrŧs?Ster*Efn#WWnZ_sq@8$dl*iK,1>Vi;=V%JP7hצ&hLU5nw |8_QEk{!$93 QdkB% [gRl \^2@$loB"qۻSJ8_uV ֶdnk .lX}5) *Se2&RUON>C=J?;OI\#U䓘H๭7.ZSi~ U=P#(LʕK.S#tJYj @3yь$@-]Bw,ŕD @^#ݛqv& Ջl_nP{>\ۣ֏a҂!bS`cVv lـ9j9}=3ޗR>(;6LP,繊,KTk{<5(.gP'ц\*` [DiA+/a;fKnuv9f ;=GWWK4B~~8]M|Bo?mAÌIgw~QF.!T/P,,/.-B": #MTPOL>)]"IӉg'Ⱦ-m *xB\\_|PhaD>^8|g, DnQ9^`*줪;)M)υ>Fd&0:#s%0`ʅ;N_Q~/t ~ AYXwx5NуN H5:ba {vYXaΆb#6;FsHV#gj%#]br/4w++**cl %l qb^˓teU}b-] *BAu2[sk9rwq!9(&Yַ]LNHȆGFg~g"ÃЎn.N TXѹ?JJdqZF궨|)B6 @sFnwqFXuӡ[sVۍn\MJװ {r yYHxA;Y1]NHapYL2T<~w39AEd~PP e7b9\e\Mt~/CƒXI>ke2pG  Ư}=sOxձ%J{,$szaWHO"lyPגw~ÓG46aB1B 9HH<_ v^zz鹌ݠo*'8TK =.;:T>cy6xyٛ2R;u~PIkl\֠UD/XOۑ|HoTZ:E/p ^WI4@ޛz"1JTOU!/.Ep"Cw*(XozF pf2G_Ewj3$`'\"_enF^1J&;4i6bEGt =ee{ҥ"@ w(=J+ḨY_:E-yNӽneʊqkZZ2aΙA.U -vbC c,00_i7[$*l\MAc3c%P|\3A <2*z}}Цv*DZ3hhaWge!vnX7 Eܕ7K#[z Qv#7 w, -jxfl벮Kh_%>81ܠN3 ޥ@Uq(TuJ* :HX;]pNzSPB`o+Sr]L0$nRyS1c'hҺk)a;j4t0R>KVGD*_r#e4*ǯ^&3KCR hZ<(a*y_ "_N&~1I ʆFp.f{(1%bnѨm@bvP=zaDt'}{R }r> i\c,Az!NCl֖({a[Z0{ϬJE*tbr݂??a'h "7mm?lك.A#aASʳt*MY ?wb&v\TI 2jϱWZ/9*pʖVu_ 0}5O"q @mwj41/A<axaSݪej5cR=w?V< ԁsՁed*{&N"+_(Ne>d͇'m3/cmTke "Y{o6ٹ) th*K:2U¥6Ȏ R>MA/j/qǬL'3YIn$@q.,GafAGRadZUqUQU֒&hMF30|Γ4KHmD= Y5[$%jWFM[и~1G\0a{NoX~ޙr r.M0rB!k1"ݴF!DD47'%kRfxT1wz ] C{|TaɈ߰S4F'2ԾnZ7SeF2|QcCA p_lgFS \-syZo0\uڽ\X*L Y?`t*H`7'0a btnU<6RBF!D [^o2^lyкZ$r_ QpI &le1G4xǮnѽ=ٟy(Էpd`tUZV5za'6I'CpkYnJ%}<:o[ufnodKZ8JQns}w%vtCA}g 09WKx z.¿X&%kJlsXV5Jr@j|RMVa?1qՐ/-slWM,V|"✌D gh=::gAv Ɂ薐&ZpG.tDZZ#pE}.u9/YPu6 :U.B1pɇ|_W*7O/= `cEkr8K (Tޫ=hb0Fc"b$7&\h(R|GBe3;0{e3gdwI0^XvZWYV"^RQ!74oDSZFX[$ݛ6s1X1BwM,F3^3ztu=-f6!zb(_  ^CPm9+2hiB>#XOt&nCe`V@ ]ka F0%g{a4_SO_H,ޠIj)xBu6j )nP㴫W!Mu@fɬk_zI&E& ' bi0Drꠇm_>?ࡍѽIՄkR$|Ri3bԞ4$a}j!`Ԟ L3mYCm1󔍱ÑB$V$4g@dP;FWa;O]Fm.͖_;$Ik pKe##-?jb})D5^QcJT,*Gr_GQ7ZQ[Gʓc-8 nW[}޿}s&I]ŢQd$oLO`Y%D72ʵFY'XS_Mğ奜LL,H~:82&~kcxP pF,'\Ԡ!Rͦ!BΓ~ AhuEp[}PQYg`܉F3^oH$iy*T6g .bF@ p{zHTMb_%uv0Uo169BlAщXܼE݂E*>sL|V[[‹RI€XJ>Ҹ7k 1iĥ+k+Wd+@[,/撍Us10 %nhB_앻#ݻ#+"]1DHX & @xNa%wj aUPM#G?+,<%:@xu`_$nf*-k#fQbo-eG{2-׾yd|0`Tt3 k7=~ApR5 wQ̼\v]gf? Nh# K {52#yұ'IվU=kqTqXݥ}& 0/EyaZe] dw7zh6BEX\?[$PvA>1RoQٗ{Vj`*sT ١ێ ;=Yy/8ƚCs,v z~JzZi`o֦*OaD9as+ =!+n`WbMHDS%*mdq0<@'n/硫TឈlKT_.c8fvt rYyEa'7a6jShY'LX#5u"ө}=g4qW?$9U(` ng[_4x(eC1dU8 緜DniF3591 _.BokNE wԬ茵zEaH;-yKMuQf]SgVeo Ŝz k7Ej /LBߤ?7v8`tÝ(|[UPI,WߔTvZ=ءo˛f - e!:8Ğs6|Cޡ5fq !εXS;!(mu"]7awlF޽(~)޿qugcӭ M>#qPiYtj/\sP qcˊ O {OmodA"d>b }KO}EMKDK\(5'/_髼 \?&E!_Թ (پEqM&3ӳ#D\ m0nZ5}Ww(~u.J`ۈ77RH{ m$A_90ڡ &98߯ ;D( ;r.0`RfT{BQڿZ;m=%MӯWt(=$[(4JCRB<p>YK_XqQ$rB^͋Wq|rǓgN}FsI9TU&={<>çRF[X^& xO(uvNTn?kD o Kd>-ö<ކ(bܠ.Qf@34(čGQd\ m:@aҲC:gqip^j@Ӱ \EpBUnI=*lIzyX7*Sg ff*֓ӣğNse(%6֙ q IH^Πa =9/&ֹ⺪0~d_i`Mũ{P6 .Iy!  ~2>Dw*3^tٜ@Pymk W&,>+=6u{nt&ܘXLmI{D#.%aTL"pfk_Ek!X0u2&mx0;xXxX׶d;R^}j-No )9S-{^ YPT06,XD\|S4,eiVू4+%vV4 VzxfK&hm?-8\@= $EN7.*GYN0g?}HrvetD)Jߴ GOs;u͟:Y/-WƼ[[@\ۇݾOmZr]tTwN;> t3hߋV^g` @޽?aaT '7 C(`lOAF!zwBoNk*&궳%|6%\tnݳ$D>]BdQ $;D/H@%?bA¥ B*AMhš/}Gq:+@͛1<2^j'.Bf@~8uVΏ'hΌΈ}5 ӗU ˘l6̃5If@p z)jCUj$fy.EX[8 ^RWq|4Qئh^ ]B= 2ݩC[^0} r*2e>nt>7=7/ ɗIŰ.wa3V((v2{ :LBKs)b2u-BfII]W7}9TcF"Q&k>Ipfpg ʟb*sۻKʈ'CGRƤW2Z д_Flͯ|1LOn"zz2ŒzO.:-8S4kqf-G}Jl Ք`4DFPVҠrQ Ѵ7m<M,mV ӇnOSF+\u 1$ Yi3K? }*ԅ"vbC.E?'k&m왓nl)U|r>xis[#$Qʍ7*o+10kYP%hc&Ysk&Kcm#&>c\oh 3cNkD;e|yڑO&ɂEP.>5zNСRqP>w~%M)Q |yN-mV61x.T$jI*҄AD_GYvCf=Xieq׀U$>#-zNVu _dJV䖡:a/ƝL'0qXUu0iSH捷vℜv5(d:S΃t5 Ƴ [-M?Ii4eƹ@@2Wf{DĄo5j'0 K%ͥMڕ>yu}[E34`N%g7Vbn%ɤC搁qK5\u1S!GĵT9N:e[ĊZ 8v :[F1>h#t>:a7{pE;X.{o4 Xvk" %X~A"̅Q\k ɮ| 9CʦR~5%3|֨|$|))9"Ԁ(_+N"OzMDY;PCkNWey˸ɐoTA1!ヅٻ1!P@<J6#Svmhk|'X+2^3_Z!W&jזD[-Ń0SL t<YuvK~BѢv ]dWHRD_vOVb bN_[%wZnaCuٞk>!"{Uij NK7 {)jz,^woQ{$<\&"RvB)@WaA{VıUPfzeѯ ? I/~=bOXVz:͔fKlR19uR;Yyڬ^U GPJދG]KcLQ!, +tV3!=T/ӊGUA[5lG=7 0xg[<{@T·0y HE߾Ǿ(?C,qq%Z aB̝ilP5HhəiUFI[in`(ATʶB&} vr ]@AcX&WhW+lΤ.ݼKX!8kIe~0J5-YBٻ-zi|Yw6{xT!yƑ6߆gfm}{ VCt|+9By">arm3K%ƏYL[u6\i Zz5 hC6>E<# aO_/Ib}#VO;j\=7<@œxoZtCac#/UWOػY6V/AkJ],;W va/*qx,t|o&hpyHTdO|F(7,GT;;Ggր\myC#Eצ˚Pc/"F1Tw_LYˣYsm)p%;tVpwe*[˭?ӫu_TȾH` a} OdRmT? {Ty\U$\,@}oK^]5'Bٓ訥Z)ҫjN'.%Zo6n_-@k<%,0Ra)E ˬfq۬i@1}u NM ^?&-E>m"C:=iQ(`|%7jÜC{I3>F hG(-O] #hyC1 >}M"4E4P[P ,/WʿMR Ig>Rĺe>fP+I(nr[+w,RA'ȦR\FҦ(;d5RTMBW˯,&铲J9DHJW Tz!եSY9"ZU U,(o:a\мrh+{JC.+87K.dMcRtx@9جKn^`~5P"P Z y|uK^4(o^h%Qm&̓S9?q'lwXoc ku4é]M;N G36;R (T(40c965g0>ݽF00= dS Zu:8Vڎt!i48 Q?E.7 18ay};sS2m.H8~w f,BEG(woG(t ETeՌtRM@y:d`#/'ܾJWa)o/ݙuG|z18p~nj\Gz=M(3(NnWp./@4˟˧%5^~iu_/XM@Mߠ[c#0g^Ww,?6a9n?QBAʻgy̺&ިdtlPѫ<mxBX~q%YU]\쀷SSG<_2nFKr(`C ;~츏[=΃||]gg=%J5:^sb.{mmS")B4gX{lWGrdlu I@LBc>( Y:rx|n,n奤 7Pz7wZer$wc6 *PsTek؃+k3DuAz'~S_uuZc, ataDv]VmQSHզӈw/"8&kRcN=I}Qre!H~3) Ta V@/Nay,5b[MtnzEl ơS^3IQOj[߿=8[<EKK 0FxF`BYr {X(Er.ѐD3ER0 #?7ljri-"- lQ4 ?HQ8,x=¦_{˓Ղe`*vHKj̆?ƭ̔o`¾Ue"CX aEí%Bkx&!F BЖ`4xzЕQy>Wox alX[^cڇC>6 A)1pI.|Kʉl (o(stphE\\cd'MSv7x!.Zo˺D+9TM '{K16cDd0`p30_GJ tWi6Uql/y$63Z ^V`: X* J.O6۹?~h 2Ԡ}FHbZEU>hx6IH[N(9SyV\.urX/?sI,_&&=ֲdH(-[6m}qTlU c9{ U i})a&zY~'[1mϽrf=l9ͬ9Ȃj^`euLZˊ@EDj]9V6ڈe9opW^ ,L Kּyk\pMv"T@.v8B Ӛ4Ş)B&oi;*&^[t "NF^njK=~AuC!`\<86;@Eb&\CPBo>)y+R9M[ O#tct۶f@5i߇A62BqLیnx/]߂eC!fPM [G|O122þfM.%d#uTzFKGK{E0(s6QekέXm~w3ߣvM ؕO0iGs][˹e}y5h9:`Ns03b~nG:M_#ssv>ؤ,?W^?ʎ8N]pp2+oHLuw{!|">f$CC8uuf7Z0R@7P~)>ݞFf"V{E?dDZjJʏԿ?5, L蔩}Az$^(0UY PxM;h)  GSx`sgj-w.<$+fƌq; ;f?aDQg3$o9gGɇntJ7tF{Ԡ4&=t:j$&CG\ gvFub<7 ti+:zB6xNp052b]m4f˒ T-u)G<£&a0"5Kv6C.oF#[x/q;Vk/S'">lD{;:qC !fd]" ^eIMtg(ns K=0cq LKG+_\ |$~,~4|f \䨖n "ѰFܝ2m˫u}Ԍb|b@ʩd>"_EX,"܄f"l53|2=t$)Hڤh,5 .,pY1p'0~:OdǍhFZOt>fJejT֣=JQ)ջ>OЂf~ y d%Zۓ{h#[[ t6E@pa{֐Ric%Az)ts~>Z %N.*hlL%(凥{F|KΠMN}aH>_.Sk kh鸐m>z1vBuy(${cքeZbX;.- Qt2_hm'ߦ鳀yxLcAKKyQNJf C  z$y{T}m8 'ﱎ~H(;Hbis{4YҚݤl^)UFZj& Xf_P,y,@r$بR% ,q.L{v(A-GG n g5-Ђ@"A%+R7+:qdH Pp?=;Rn9;P!8s+Ӳ]8 Pc&j'F`U@a $HA%,3OT]kbjպnH*4be?%8INb)R["#]sN)z9x_o,eGA[ڮO"#B(=$xnj1ϼ/+Pf YX9@]Wi7eArΗ>0]a^o<0v铏 7S9aiyYxS!ڮJFyŕT0M2m:j{:oY ]BF$j’Udk(70?އxp&%!6i^ۤ#2Ž2bj:oI*[G[4F6Br2{;R6D̖R&=Y52P#ĕ{'z)S \҆t ۄDlʵ=Zf* Aa?2T3qoY?7K ,Ptxma&ojHW`𢮁A2QF? Mr@V:5VXu4XvcұV]ZC-I^&Rt^({LW~4ݿ\8a߸S{B/grda(xvll}jBHɦ0{4 fƧ&(jgNDGM:]_\UZxdpliV *'*[7r\0Fh~\'HwR]`F|re3qUK]W18W70 WF4.*<ܙ5 % Q ,}3,; wgζD<`ÜI/f٤W:޽9pG(mԟ]$(/!So1Zhr>arpqǥi7%_# \SNl t_M1/"I(udK[ԕJg:m϶e_r)+b=`Bmb9jUJ/"yJff-}@?x˝T4,ʑ2z%ɯJ-(>]`XWh2J]|!&xu' 8CGde(f/}j5PR`d#6ђOV}qOCc:!N.Tznh/(w ; O>B@"=m)OT0-OEhT4R Yr7\cvo =w~X'<7r=9pafR.*( GٗFiSwW_.4^򄢵{aǶ4UP;Ւ&Vx㭍/?xmm%&˅K+Q#{,g=DJڭ*I ܶ?-*RmCJNO:aX{>Kh#ѓDW߈vɣ$8')?ȼʀwqcmfVf8N'|{df)SH8 ?tIc7 ' dwVRR5Uڙڮ\-ބ$%Y3ԢڵWdzYm ! Ĉ !nDJ3hed.#'w@;y}Ɂ@ރ 2UrOfxczl` _x+Ӱs :7m8WaDZ!+u҄<3E' !Ty~[~gWʄl<lFa0&֚Ɇgaf3YzI\'n!rו*·>cH[` wir4#lyr-LcpK-9G_U4u}r?؉n)|qey7gǖ7Xʈ @ثSpԫ us.ʮay!ToS0Ե) IilU qSٳ?Q\PZ=; =S9S FF)I*,FVVJHQ 2*0Chv >}roK]{Psđ/jHTme_aSF8ڭc0C Ik0 R@8f,[ ADZNQgM>;.&e()fy+KX2@[,O)IsBu}4JĻQnj""ǹX?5ǎj:7':)BUٛ\iB!\Iw{kΊj%|Y'Sabڠuu\w~ |+{aC 5+\UO|*hq\C=_LY J8l̳ܮz/ J[ŋVe&9h/S%MqHԮLUU GEp" Y9ު=0iQHnRF85:QAivpQl>B9I%=7B#7l۝]<kwY k;S~|ټ!.{?vnd4=VWeΤ0H! A8I@e5Ə9**+?}4TSEpPfe;$^3=rt:c@s[ihpQrMz=XJ3Ճ>SD\&n-1$fa9"_f`0Djޫ)UUH^=v0k: -it\wh>e^ z 6as§YOGxbfCn=ڋyT 6O-v;G9jqgסMTk_|("ٌ5؞ϵf1$/qQ4Iʒ:3;&B(uSPˋ>"w)hQ*U1R7ưihͦT#->zKyB F/ā5w&v:q#!_Yk)Դ}ݢQ Qko<&((YId"F##PWnYA{-Ot( Uedu_^}`,2#S ~j2l4Gz^}ʌ{^`mhFRcU]4pIEIdM}tъk)5+/L HCo) }O4kmeGQ.eC7CAmR#f?r^fߨH_GrSe)~U˂ieR]^OQmx074E(,tYXތ9XUd{}])$n,E0?J`J `qg@nHCvU_ׯՃ& p+m;awر\:|YfZ.)&|r\Ѫ8%Rў=} J$+WO-{K8?a J=5M9t8ugÖ5je5@&PEV"u$Bzj歔J0ٵ& p<%#2^1[xtXTM3k!qB!;ך+7X̟36՛ pHtP;T8c'ҵ%1A|6_0$^6gSTF1ILӌ2|M<@F>e` BJSɺjC&`L /8dvTVL"f6ptk!z ٝ>٩= :'E芫z T#M(8(ɰ?jϴ"VDIz9Sy_ ھ]pq$F_4.nJTo;g SvjwIGosmV2{uU3())ɁQUO^Uq 2stCVu8fCKsr8r-G^t6jZx p,u/jPbt0R]X6AV%K@v"žo*\²Ykݸ<(8ŝ^F76Z~" r`U( /ilϨ7(þm0XQà :\xy= b]aT#oXk{قD!奘Y037 Q>d'h G^JXzuځw?CڒsHΆmVܨ$Q(.:Ot8]l:c!$Rfw˓jk]^j-`6t+bjAD[c7'#(UaWk_pvOfϤ mфܞzc, K !7J5dd*Ydb!Bm>}KEUa)(UB`͜ɡ c!BGw _G]oL7g$}⫕O""Xl=WhebiUlJVl*fLLUpZFal!kxXHoBd&Y01抙|G'ie 5Nv7>8 wBag߰U?.W >jѐ/8&. =[^ dY>çBx/N z ! z^~>yE_7-fs"@̓XEG1aHct~8C~ ϋ#R:o?"jzD"$:>yM|M-<,c]α2PdzCR[5xG5\Ֆ DXEWDϵmwXv<ѵ'*j3&)@|[T m$>sH1)0vyKm}i"_OUZmTD4UZە0\. CڶoݨSQs *)UPpk֐x0B~Npf9ʡ!?j=9p t_}/{G &f\ FrX{zĐ?1p2k`I^q>^"jƉqâlHV?]^ǸIG\[D7YE/Ge3ϯ I\*[B^vQ]kC'VWqti49q2ou%kL^KFP(V Eۭ4a0W!0YDec #`pljCH0:oHGңfp1{4^9y3dc2+8 /oPqgQF2hx(2\N|8H5x߲Jɧ远Gp~gc\ y{!cT=v{ߵN1R&>X2L#RJx#ti8zwt&"J80U:,}p_\caRȉ6R7fb܋ƽY\:%P^Qϳ9Eek>4qϥ"u56pWߊ8tHe_>"a^NUt$MLVNO&v|MQݺP4zrj稳 E$ ^e6/t ̙/*%P${*55!$]J "oʩ/em`CXm[KYǕ:M*$ɟ66d nXH(=F!ڱ";cf@`๐StX&rO”ZhskBd<1X~ể27TH9Oɷ(}Hw S xָU<똜zxWx"mU4veIp,@}Qfl5F_v8r{볢3KGCNCQ0xIQ9 Ii:At]e U9(Iv+|lKsuE>= ,#q5t![ @5Ǹ^rZou!73T|s*,)>CQ6i@ n3Cى#D֠ξc5 ՘BgМO֞Ӕ6J"sfP0m:Ș{ Ia<~.P4TˆoIV ]Gz \ q-t^mcH[uU >B} 9v3r,j$*ս#O`* h 0?Jڥa45D3|Igq&U:(%St:46AP|]Ğ-XظZ`ςغc<DװV$~z%H秒;]@]qvÉ3y%[]| rMM/w5w|:%gHnݣ k8^x VbZ! Ej'' xem'[ )hG3!?]#闬τ5FA'[cǜh\{xC^Zm7vLG dYۈ7Xl7_&`6O8;)yl9!] $3UgƒmyŲRC|KDzNw/"c$ ϹMKscKkDc C"r25K}#G\jZC8PplJSĠȦA˅/9xȨ =f%%Gz<$!Z|2?K+`/0S[GxJ1s'aH{ZaΨwU8ZFΑ%}EsJ=!:&™Ug얲\ XŽyV YB88 gVXPAy4?42wg!)Վky_V%;$^>͑U9RUC0m%)ެL3_}\fu+b{dzp/J]fKթ<.`H}XGOU07r'Vl4'ħQ |:Y J!Ly UThd\ $ ~A̟X5(;$ MiFbvnL GD캝/ 6!Lg9mm<;yO۰l i6B9髢WݘJ3{Oa0M 4i\c&l~* 9HѤ"&$ ǟ{L=0.6=U+ls-w̡ 1Nlӵ 2x| o&.Ct, ` F] w8XPt:< !"d>u?Ld^Vخ_zsC8f.n,9ś?27a7EpdA:1^[u7ը&ŕTn>Mt?=걾CWA8}兀Pيܶo4m$CZH>p2yQEUQ<8VE# -] ̹V=dsZ+gjY#- dϺ/v.,Эzoʧ$@fqK|79)u's P E|3N-BZ6w `nSEMuZ,f8׮?4J\VOxآ`φ9X!2B.̃;.vb;؆&Q B$ 9}HQ FfUix =a?G\,?cMT8Pf/?%t^C<NW39yt'T%^2ԛHչͫ|˒|8Չ 6jBb!+n6!gNv5ދ]!k-n~%LHmDbvDaj9Yk<1#MdР$1Qڏ!pHO9sػEE+i7ȏ^mtvo(9u`\HŋheLjr&4E]e5FxNRm=@ S-g3=[<71[zgҞ̩^XY:M5#ɞ<аXr K-2zM()$1TL6'WJc ܲdٗC#8TvE 77"Y3eCfAPC({dZIt43Leq dR>3@]QR3a=D=af@w @Q> rjaُKNM@tՕ}h3p>W0q& }G;.8ׇpxoS,v5m 1Nw pB|>/9m.J L'UP((Il= J 0TJf񕀳fᴸ]6lyT*Xmߟք@b`  5kN aHɣ~kM8'O&V$$ @;{Z)7Ϗ`Of2#0O_.uf3FHwLQ@i_R mTs2|3S&=xDNbS785 ,CCUx]ͿgÂG)SQB7hpY Z !mff||2k9$&ZGf~{PPƗ3]jj~.ӋAmI]ħ V^"Jɴm{sֵsDJVNuzq۟X-"('򤛶\ф.:?s> ҒKZM ֆ'_&+'L_DWVHpQRR,q(~0<8٘Q^j@؂.v. 8$##e(  ׈ :ܦH '; k/qOAfD BAS-C U%P ?!7ޠp/*- N?eK=&jF] 4Qil2fd!G?C? ҉D,v-d4:=G~i3~y(O;UJgzGս>ZFGaUv[*n7OOм(dcj˒Pgv -jɃV4u{`hP|0$'؀Hl ݓn%f|(8p/j࿵|h;aq} \OCe:a|d?)sH]j)e:~?:P/w8`q\ı΂Xo^l2v;\lZM' -H1+ 2^?x68i<[) >p\W?2Ҵ:6>#$ YQ "*yM^7@Sh8F\D*&Z!hi/Zp 6艶FFJ>ds>d~pO=[h Ķ0Z`y5{J:j;R-M ~qćppxWi`tc4:&׃c5Ec.*~p9;g@0beoaAޡ:ݿB$hO; jثext}ްH-.YT[IUm[р!9dhWZesR*Z0Sq G(K'ubyrQB`({}1oʊ1dk],gƹ]S'q /?wEp+{)2SH ͬ.w,~ίN#Y!], ACA̪VC>}rk~&w)]Cs<^>sj5\M87_#_aWz)( F U><&GҡsZ͟"%i F@;I]=^WD=-n0JQ$X+\/)cIݒ{f:zSi)]PĬP–lh2 u<43L's}6mM$AWM*jl#bM<%e*XwH஡^[`hUüɧ@彗L` oE-;p  $FBR.pFe8܂'U#Fڃl3Vi3=Z% 6FϧlH[U'xtaݖEwK_,"n^'m}BX[S|qѾ\K_.Zľ`ĂZs/]ʴl*e̬2vL]'EnU>EyGa/LMS_)))|;P2Pk˝NbpƨPY'nS{\z! xB"xͻ%9yDe֌tlpo0WB61OSxV+.xH7v\ϏF! RM T*P9 .'&_Rdw]fyu'8}29[/q ѮTHzL9#ͥ DA/{,^m4_or 1q^uېeG_LyZ ӽN &XF$%Z2D̪h,(GbHv={JGBRc:>)`Sh}/Rm~lU"Gxo%Pf\1+>؇֣{x;V\ \boRu(ϯ0 h .~e I jPRo%96?%+u/&&su՟J Ja΃Z|+)NL":l= o\W25 GvkH:KÉt [6R Ε*1@Ae$8w]>q$>:~\zL =WGؙDxu6rZ >.i~7c,Ohǒ@y " ݶ|שּׂAfnK}, 1M g">cƓB(`UUiakOČF(By'Ng5g ŮOG$EK8UD\rabH8a5\u6&ހa͇iByb~zD~ 15=FK,V'WLᛵw_kӛGviXBvwm:b|Qq.U؁7|=-Y8zW_K/{=elrQ)j͂L CY͈Zt=ONl\ aDҁf^yZAkΰvPY3ѕnJTGqy|>ݛM#\Swb]\!S&jvqQ[q*v\`++RWɻX7 }T5nMŻgrԞYjFP}ȣ]3sDÅDmggLI],VqmυֺmMkjdÙr}L% o/|EдPQ r4a2zd㧚 ?)3^3N!6 EK2TخP3f)݆;[ˏ`Edzes_9QDCM>T}8qf(^gU06yc2y9]$q1EJ1]a"mM1k< bsʪp4$=R7֒p%YhvDҪh&gt.nl'8@TRVcK<5Յf!pVSj|&!N91hZkRפcSy+ZNPD؊S'(_3l/9חh9v0FXB_|Gt N9f($"i4BwNKN PJ 1xZdhl GFը2@;C{xzHg"|;c^$QOV{KPIrۀU0:|VJ)ƻ+9gzcڙ$Z+.lF.몦LeNav fJ'v+wr3*QGWog6RI* qzM'EڈOJzq/,XQrS FJ  f˩bo㛱 GnCx9-(nx~Ga+Y$mXbA?8'A5*ϭ7R {c&JJڈm'mN @ DƔ#YtSQp| w6p`=Ҕq>cpxŹc. I]ڦ[qR]k||A`+?ZC8U7>P>MVj}Ti2:GDk&!; K~<)Fk =(엕y>|%Z]Z(GlM 'wC&,qg/]ji+R?.YV ʂúH\krF |P{i?`:s=7O$v twSx뙥q6i \͹`{Ǡ! [^dsĻ"`s[)?6.]Jf [8{EQKSқ%!CϺ b,hV  9^J 4ߊCa? n.G8C<{I˦+?$0fKP7D&g("e,9ٴ 7j:&x L!"j1Б --55w־xm4XOè5yӸ0_BҞHpǪFf1#')? t4d,ΞCO\%~ 23uhƌes_M8 MEh\K0 G6<.`趗8lsg>"-:YZVr7Vt`aW1KdQ[$J CGPmBݜ>KAllTlʾ)(T\Im2XË&h4:ն&sm_&RFc8rd+ϐ~mž-| QP_x*kC~=HMT"wWq5D/{fjZ&]2jIoPtE\s~e*Eѵ E},0/J!5e"l64噶M'fTWxȔgS0vL4! 2JUpQPeoYxʈRȦ-SjNqeF11P#~RQK)!B vPPۦ{ke<ga}YРAf+۰ 3Vcwϼq|Aou- ,Qï#etrìYރ^9c"E&]Y 1;Z9/*34ͿF[}d7Z|l6ųLΔ MA Vt`&&3 >-4ۿ?5mMdn°[Zw*3uU\P/`Xxar$yNӠ_sSpO[-CiW&sq9+zA5("2xw,"9>4|)caD^6,93;^Sx{.پߚ49rok PMYNIњ!mn OGu@Z kZiiǘc:P{؉[ 㼫GC%|)`sŒq/ԍUo{2z;u#;VCԊP@ծ];\%6x_Pu ={m~OD(H6s:|_ C? %X leb܀ pՎp?ЊQLVB }7r&\D;SSš0I&h23]ڽDl,ݎT ñԟM'+}S|ۦ2]X|s: $Z\{3nDߡ1ұ:GK1Kd@$ޢEr*̺B/@%R`MbhF:PH]*eYD')/cyْ ·>T{@ߖA#`ꔽ.%LէkߐrrVfT ]^>O-\>d9_zPHz|rw /g%|>x!%bkr(o.Xu6DHI9Ms$͙_v$n: g#*i֋1v0fbvndlFwT(QMk<>aRsyz}E7(EVPG0&UBiXU@o>M-lU. Ru+ L33׬1֑XD_uohP5OlψttZ}OqiaN<|A}|;Lh79,%p0‘_Jw4^>@~ >Uc]2;JsqF$FL[O}Xk(^dz5P+L}Eq3-AVm;LA>΄b>~9w]NB$3~=A+=vwUK@X XA{b:*T }k4(ap48/73sy@wl-zP :FO\}M5f_&SdL oUpյX1NsK_8?f0nN,?߆C~ *RK?H"CV su>3p=]{Ըyǹ>(Ѡq: {QgUle|`p#·[(˾:! _jvc U`FbJVG(b^uW5}90S1m~* z%& ruOZ Z}:ûe ҙ D"s+9GIk$.t&¤m?$2{3{늞 T“y;Jvaoި^/!v((?yyήbXd,b'k}>n$s 8mjY҃(8H)4I}M@iDjVx-9E|+Bcd_ ٖ^lr<:^C[&bC7&ؓu.-b/9WR"K*(wڕx1>""- x^׷ $p :߬7 tӁ8IIJjd\@AjI _Wm\,F+ +vg!fll#}Xe.V8+1F\ B;$GCį c4u\WE(+c}Io*hc]|UV Zf)n ').#@qn3&6b7'Ǖ,ޑ|ka)*dpgwFaY8wnG="V"uwv]q,,I=AΟ5&UH}DМN[gd:s܆2Կ{Mt5髖r]@iܖN]FA 7)4}Lric~z-j?C_L[' g2?0 c@F 8mEʊVR ʶQ&6/EwRE@y4r]wE=T66O};SUL,ƼZɺ<6C@Nl "xOT7ޫ9J^@m̏Y+נsu+a7gNh^:75,Gȝ|VUȠeIb^J`_Jo[?2[>,{wj%c Z/[d_I){%j?U# /̕#a0Xosv]B@5>rY/io')rb )r#1UL9)m;12 > FTjU{:3y]T{?Jk6"T}4]bFDxЇ%ohEn78,Ԟ#F4*On ݼoM~FwKőPYO 6 h@Z;=%Uy TzbOڱOXt%-A|48)Utʑ㠀iT-}B;N<.F@-s?Se.DUAI*[~g8Sۥԍ)mvt?6),mv2浣Q`ʗ2J14v~%{&X@03 q3J]n|o2PKԾCj=ߜS}%}me |sHv^ރ\LVGːz-\BB/IRF vƏe0}LsaX+dP7ZP&S;zL;_F:v.]ff62(h(gׂ&b.+^nٛ4uu-;XKlMV^LC7Pva=T,0wӓƃH&PX#^8%ocTV![rB'U_;l|tۆB3>R=l"X);/yYP6UޑW326n0TUC~evzWl+_ n\_=g733.3I_v+t+eID>ETqRڂq;ڐΗifj fԧ G(|y}{2 TX0hgX|pBWk=Ex*Ez*'j;:a"ײG92YھS]IE|Tځq|a̭Vz?LTt/ 4yR|obj 9x }&=t_>ؤoM s J %;!\P7i+L/E[*U%@`6I;P>PJpqE՝@\nu8&-?bNP-%[d$w>^ 4.g.Pu4z)&6b U(a9Bx T ?+cZlAv}v ߸& ꉡ.f,e#x[7>#5{Gnid{MI ;% ;š;6+2skצEE:JP׶=F s <IEvBe`^t_!#'sw艍KPO0)Hݜ,j\ou_IYQs=h;n\KMaM3h8)w:/ڕzAx2w( 'kl>4͌~5K[TOP[Tƈ:%@m53x*Gu[ɩ6 àL%t9nf1#b$aCdkZ2,3-D' -BFH(}:"p5^L_'ş.Mks Di>g&71 JH2na?$=ٖB=sMo8w7 B61?0L'ߧ0my2x{᡽&בHY:C1\m[*rFm /pR'c;T+578BT{a\".~A&LJR1%CU@F0"yןX p9AX%Txc#deӰ"Uss3 ȋ_٢GY*qFh9/ݩ o7s HUMӪdy,?b'"’<"CqOa7D*8s'IÎ׺TŮ7< Ѧ @Rr.LE;s<,=jt 7=Avx`RuO>mwTc8MA}7k1<$T˪]؊_:# oK1ufHQ9!_T0HS߫QJ/,G >_$N`=[y'/gR{3.uzXɁRItmF7ƧOR 绕lr~?R/_`=paREsYS`M@yCu:5w*an;@asEega\| C%ߺ4hZSE6;l*>( |\q$P 1uz>.黳6;_̛Ƴvʪ\=a/SS931496TD[;%k+%r@[ 3RuҪT_h'dpV@QJvPf!mpn ` Rr>MEXjed.ؤ(u r}Dʔ8bƀXp3TvjV j~"qc e&g"KZ|ekM㝍{Pt<ᯄJ SlgVa?u/XZ8ӏu!e{䄨HZ/Vs";v4 4\D(ZҜP|pD4Vc]ĉrik} S@=>p(yEz - 1= "ˈl;y~h=3O}1K+b\ Şw<4.T $A.\z!Yg7eX =v9>U.j`JEtdOi(rVvWhX+u*Jҝ u&y^ WhFcE$Q~]{!s *]Lo֧*j˞Th%g!zGDLdz:-S6.[O'lUcN$!L{|FFaPXY߫$-מ P$q t_eГ\ eBLL [)毹§(h'gvx._gKa.x@∗EhF6|ĭ"y#% V+[xMQ2bcf.ϵ#)UJrc9t;W?.FEGǷ>fx,L]48'1OW]F r vVVl0 'lg1yDnLz.m]Thqy~_vCI9Qe< TuUX@`3ͼt/Rc\-{浒ۄG<'F4{oŎd7vks]E`1? m'mge=6+^M|7[$i]=)_A G,bW+LpfT%JYD"cɟdP8@Nv!(D*tcΎݘ>:M䦩;+@>@n'U4si2}4cJ2$ӛe&-o 闤؅=r%*MF$#$VQ,":0fYr7T$]fS"}kĩ=3tLPFY.g|IT<6.7pRRk!Y9خL95ȿL:ܜyϤT]xN[#K|g\ ހQ2!SSSiBvBU:Dli װ7\a9(q=M99׭́-*j|HNfi$w^B9',Kt X+O6_?0^ TR? zpL4avmdy T0V_,x*U 8fӆI!:%χr~Dgb,DӝF eSOʍMH ,Fu~r Q(@ePGogHXsq>M(xq3B) ҋTk[nyꏔ0-CkW܀-h4gX6r2G(RlmLzy!)ip|:8Ə9g{!܁r_C? :0qsnPk+f6`(Hk@V+: J&Q¨u{{ l|L6fbKK WF"bk8G+"zO>1#aQaĈh@Dq~)QNLw0 %9e%}8b}ĆHY[\ T"*$fxoÒ\OZU1Ow N3s! ֮+Nin@L[7DsSqJq-=^F)r&{70Zأ'#27*١YH̡xNNB=a|·TM _~ r\akF yz~,ǦTD@i WieM>7wˎlY@P7 "nveDOZ>C&Lt(Ɋ<l+#;/EֽW}b,-x޾֑krWm?ZN( [׈Ǟe, πMc ]̧*O,C`HeR xpNP^Mx4uڂ]N`XG5Dw5Ȟq P+QK T-'27&N͜-RO[YXS<j#^r a@ 2M%f9 u`Sb^?9ko^CZ_1T9&gcIףM ʍ $]\kr9խ& "=(W$}:EύtGT^d{2@{ޜtBd Q7H'>>*#86y5{̐ 4ikEga\6 "ڸG-kZ xAz >+R&1 EZ'RkgZ&Wwh]t/Kgv&ee$_bԥH VN`rrl D79vY3E&Ҥڔ8r 'qƕ5[w.t<:!dIOBc{|no|i9gG绤OPʒtfxpc͕Pswq.Ay9a§7@>Y\KP'&l9O\\ &!WEҸiubw Vrw-2lI5ʔYƊe)U4ab`jHI#J}1di ,7%pKG6l@^BcJOO[J/6}Ȥ%eV،X  %$.AF'+;v"]9 "fI?G\3|šޒ1\ 7 js1^mw6o'$\ճuLUPw;vK͆`$a1J98{ tLFF|ա ͨ*ګ$tf}w_QεiIu0QludBnԂ@*d` H78|+r@s {ɘ[8lG)8 )$deGߗr sݠLnj!2k/ޯ/,jN:kdN^UO[((Itf\) no/eQϱr2*.%{]`0Z$gE Ԡ;"^/d]V%n2xRsSxf ڐީ~ V\%M 3Tϟy;a `ľ<'6HAHJ \'ƾRot~>^94.w7v<6 ]GlةA bT$ztʭY fjAu@G I_9<Z\)1i-vt뱕,*}vBdճOtiN@ԢwK`P95Zp9Zf\g~\[#q>Π0P&Pݓ⧞!CDMEZ>c s# fjJP01>Kg 詮b-3Ʌ Կ̾$0,-#mUd ^9uVA q%Jut&xuN5Ë N(}l;SھV3ݣ&dpğ:Z0w+^0)_VQE'beэc,qkB+b!)|xNF#D[~a+GAnں@&ߙy7x&Z.ZqK?eX-l%gړC.3 !YOߟyAے.Xl?G#  %;K>CWRn~_tR6yd N.6 ٧iށi7 0Wa84 *\\um x3*m,kIMGV}u֢E& wrX}}V̐\+TWBbL'DFf$J&k<R)b"KZmEp,ڄ(x1=Lj q'KaUiIaNնMFJslQ+]65'brZ/O6nsQF7[BR a߃KaUIc7紡5),jQ @h2g.ȁ frߎw^ߌTIR$ᩄSn&D献դ[7OI}"%A 6* @S3Njj u)"@}lYgU.58a~.aȃ$E1L4=HqIisFc^GLlYws"=QR&SH0Cvx<ЖٴR=]XN9#}FDmf:m;$FLHF'}?\;#< Pj-;K\)Vz=' 0Y!uDWp6{b_Xd<_D䙎>*mm%D(hiW!쥏pwؖWs }I" `Z%Ǔ-ji:U>:U/LUz'F&i`cPϬ}u h_9Z/ѴQ1SKq}۾0E`8 &(/#%󦢥S ~j|gvYhV^38q=ͷBZ^9<#^Q iVu顗E[A:=\a*)ap~y2uy5ɔ+xޠhI18A1Jp$pZY1O-_YfYAY nCf.GWd-/JfOyycIվ/wVe~A%o2*" Uȳz/6.mM b6^_s8+Г'0Ra5OP$ 4v1Q<>aչݬ2v~^f/P3L[3-,5dB>QoTu8 >½[Oև!GD4!;ӝ,ۅ^{bHx3wNzeq_{6: IR8q)wMs7o?(-6۵ϓ.Թg-^v ۀ tǸze^eY?c%'!na\A< +ccvPÀL1$wA6(Q?d]KY!OG^VHgFz^Zu^a% Xp$9m&[I9vӧZ4臭&s&o-r=v;L{'S@U5(6Fo)xuA? x҃҂ށ$M_8IE@-3PV`tb@$fUIiA8w=D"%-*s3D K'mëmӯkB{շ"E 1XdU@w(/X?PՁ6O XoyjW-,?I߫k?lwa<8ZfGp@Ψ&_)Sh_c:K  F+QD޾ c1Yљ^?eqp};Ҟ9M$|Y04 +1kSFǘ=.R펲 y[6F;dW_~U95N 'B;cQ޾sjT8M}wJWtMxt(R!6_m#G?c_q@׹mOL<*;nt0NJǒӳKoj 7 5Rɨq*4@LW>'ywNLJw-3g\kVN΍s>0 k45Gb)mjqYFRS\ `rd،3V?6H]V'R@j?C`R:_s# v;|@s7HɌB;ޣpBalSe_81~^]&hKOJl-+ ,)ipу ZX `k 8Hק PL70+ ~92/lS^+<@B 9[/Ȥj,E!vQcS0Ez# B*LWrjQ6Vun5Qxml_BGO?ک3G7:Eώ/hz;_,y"LARHVM>4Dr=-x0*CFbܜh,}LQsEt^CGEJZSk>hmKӖWkp hC]ɣT#Y`)/4ו)&Lxzee,4B D?)d>#Fuk7"(&xB4 sI2H-,OΌ(lrPZRrJ kZ0}ƨoh}y̾Ũ!t.a=AE ax1@g `[ ;<E}I\.<gڥwi=H&Xމm?13 ߏ{3[GSFPݶ-v^Ks#,7X$!o} ZQcga^%FEGr`s _s^̯s#tͣnp.Mg`.ZCBwݽSNc+@WLix HJ/3D*Zk,4GrÕLh\ iu9o,^vy^;o@{U@nV{\ zD}d2ʚ %,Fx:':ߕr mdV_ S[;uj1 EQIՔSv-рDfG𛢟>Ղbh3M nт"GnhS)`$I-G-rS_N E׈(?ֳV#M }B|qvŚ=|ix)NM'EE?.:2 ]/)uNk6$axvNtʅ[hKW'}) /OU"$,젳w?BYYh#R(W)~eU:X\OfC,Eng e♻{x5]@3O hoG^n9[ ͹9Qtyٕ|<NC̘?YtjQa;8pl0i2[\}.~)j W3+b 7MJSyŨK_/L(_}rKOyb-&e'ZH-J-ҼA"b0k8Jm.8#dd h<sA<D^N݁.ddzPO4tVF|Ϙ1 0 qQ@k6E $'5Xvz<rF=#;+;Cƫ ~s4 L;yPO$۶Ju~DIn&i3Mk-(ӫ Ky3ef/I ]bn2ߕ*Ȕ2b ]P~c 60~+W n.rM8qg,34-7imGlKo|ɌlMo.(}*uzp>BA]h%2g7j&LۅM2(O Z wfߕ[Si-'ʟ;zM4[Sa\!=M > TQ$93q>RZ/p}a`"4lkz%>jg8W—sF ^~[& J  (ZpҘ4ѝ̧uHVkW4)F~6p/Vݼ_[cdn]'S e>Yl)⾺81, FpP3hlzp!D1 Ko`@/Ev08d/![^\I$.ip (cXv%}ro҈^q{b9栊~06۰uޱy,uJAWM! r) Pd+sWvnP<)U ]c}2']n2䠕ޓabeƙ+|)y *K%KP#\Iv7+C*1`OQgTR6^v4# (X v2w1/,I/Ya:qXN2ֳU< =֮@-4ks^}5TPmM[v}q\Af'se}2j˽]%`+暑Qj auw^R"Jb}7{|T& 8"[ή`w8vF%(*UZEKT]2+e&iS^PYLȀFoTĸ'4T=O!1sO21ǜq> MۜO32H UI8uTTNBvtbo_NZf?f}E,mh= /F=RcMnd%,kg@GuU0W8ڬ][1yD,+99$/XA__G*eϴ1gbF>j೽2WX MȒ70TEZo+.$.Z^ڈ7Te @&]`} نA}vsLlY`7O걾jWl0'L)+mlW3p-"dC47(5PL(qjd1~)=hQ¦+@છKKsD~4^dN)w6כG9h&U~FP V}Ӟﱎ5A@: QX!S̽hԖ1F%-0.-4BNK{0R%T.,hj筒F Ni@8PQ:Hԅ(Ҵ@(#U ]X@@Nn38f/2gNj~pn”N bôS.XR'C?$vtUQڎ-](S'3"Aj#%O}} 6:͆T:Q7aMU "&, FD 򧊼G -]l1z]R =U񄢨ztn=Q7ewg⵩&A#j ]6^/%v, з\R^P>^.( rpxWfxLdFIƻ̱ʅL*3rwNQ> asЊBϤ"+L$%Z <^"DЋ\>ȡGs(=-w0YkWo&PA'eQ+KBvõmGL\ǥ/;y܊^,][]Ou6}$\+ LS;=GZZYMUʋvS6~Ը6C6ifdоX~S],hGX:+"0Gu'^`q͍!t:ƃB*[t 頻sj \Bb۶Q̸&l1JSYGo{b;?hif {&获XcݬJWt_EE\R#%"?0(;,1xVmd\Ò\]0l,aRXkꚭt|DAds#9MN*4_e7]ؽ|H[.CNHI0d(<, 7 s&@yH=(i&ZUMY*u~Gd[]\١ocUkBK6s D@JX<1ۍ^6Tږ ߬h/2v e~ ̓l3]aI@c :UMZJJLcbtd!ΕlM:1, O'+EA\;~DX(]FPv &0+ӏaWh?*r=OkiHHWjY}1"%`6bݙ5]Njc&"#* @t LCb?n!}UGv5 JQKP3!9,l#b%5nZ?) z}_SMgliH5VI`|(G|Ha!GZDC HR^?!+i^4z*y|5XqvVa0Q)e"YDJ)uwp,@YS-6d,ODgVKUsbL<:SR LCyi\J5{,ViiJ bW %S&`IB@-x,#׈ޭ Gx? ?ßE {VO-'KoҦ/;{LZ;lDyT`>(O6ԈJ̖x)h~Ws".,۝O޸+9PZ,GDi:X;!79J&%d 0 #)vơ-c9#I{Z?ki!yYUH.gӮaٱ#,}fjyqdd +>17^OÐ8U$sb r_=oPSbM-U26GPS ò1,K\7 UCI7"gFjZz|Ņr nI{=z^l|i=.}8EzS/PAMhuf#>dJank 0=䷃4tF"#=[_$٤Q;roN@=)c<Gx9e:.Lޮi;{WyFa~ bQɟ(DxV2쉗:Ab6E,OQ-HSu3~Qyüo)tT.Bkz+Z͐ߒx$mQ5w=w.^W;BRG-d}4 9ؾ4 p^ü5Ce4b`^{CvF0Qc6¶ M#t$`:-`{xn挏z$HJlwO]#S }OzRKUJJqf)*Fw̶7{a eiCa{}@.H+l&dU6Ʃo;KJn?Ӭ~rQCvcF/MZkK8 /!Nd4 kb܋v ❃E d#CELۄ<-C1aN~T$w.g/e3C12[˶g*v6@#Yq z eރf>!+: %K9H=&_ VWEaJ;l%r+xk_i2ohdiC R^H#UJ&XĩÓ`Arߣ2tnfA劅Ex41#>l N4)+d/sxf}T6P9A5ʁ4&BX201r ǃwʹuIb;;T$) '}9ڔ0##&na ^(?{nA7\~ O \M2xl2=8.^N^\zU!z˽X wtVXo&V2v#É!A sxwSz^UjOFϜk͋g6tŏeI/\x`vjK%6cԄV{O);o:@x҇'GoP4R:b$7?kG,DT~Lz΋% -^l3덷 kxm?kyE5D5 \TM{ Eh,K,b 8* e|Y$ ]#/u<؛s6jc4 fFga-MV|f0`87T0g;V,axJ &l 6ࣔHC)qFҘ='D;?m !pl@?͟L抢.qʹ;@腖a NbDUZ^PnjO$j*GLY'a: JLKItgeY(bXAKnSԝYX4-AepSYy;6J^xה rN4AH_/ʑo~t8v1`:aĺEEچY]imrM[Wi!dP߅^a{< P܋Iǀ}1ӴU.DUC}|\7U)9a\H& =~RP}6umy} Ē]_F+/T:-W۶=So{fCyrJDι^MښRaUцJ(FG _[B0Bg c/ZsddQ%{7e\jtMY'd"< 4 {Fj s!rye;ou%XRE{y[3y`CW2z:|0t]1c$M ZZS=t\X/*ttx~A5rr̵x]f]|&o<$N)-O|)9Ӵ#MV20[tp 2Ķ:<6agZȳas^BV@LXW(3o{ܴŤE88ܓi dJ<ϷH&>Tki_ie[uwҩku#5P P:IT2ܖMB GM-EPpD) 7[KeC G|NznFszToWQC ܈VԢk%'f u Q==mfQ&O#N>-xPl96G|k.8f"7K]£t4/%2Gx$yS/',+ux8W1ʨaki9JR:P2 R5l#G\d.UF\{D]tKʼnhWq@r e ?fZ Jpy å` O~4bWh̫-o\cc`{Rx S~=jl"ҖP$HhP>0BTTɅN4e޻dDݒbf)seydHb0G.F*taHWkD.B/Bz_de`ki ,o+n\k 'KVyNߪM5zcvS4쟽f9;_9\8~Vb[[o5tvp^j!0:Vr9'Orn\[u :/90cFIub͙;K~FQdrKapǧ2Ulh++ > {Nj{$xVw4DB*G}Zc.4c4k&^1q1/+8LbA7n#d$Eu_1lq1!#ZeMIr[u${]j~ȷ%BKU 5/AƄM2{+ūK7{”ha~EpS)Nb 58,ݓЭtrVܬlOЂ~b=-Ѣʼa|5TM ?>-[Ƣw}Ze]F*-`fPP)Cv}FV­=ጴgfn3#J*/E!ϸ~DaNGN8Y|d>) ~$GI}rQ鱗 ,V)`ig]($ɛӑȪ*H1X$x֧;ܚ|8pWe1t pY@P ~]]D?ՓoHcBP J\N T|x09$Sr^5<(nl=]aNt~~&øXjӨY\1q5iz3a&vX{eݶaV8?*Ƙ3fs_^Sh[ -Y2%V.[F]7 !<FEp,-c0gc? aLG{B_ L{Z=nڕilx K\n,~\Yh90p##\g? (<فt3|P+2~e|~ƾQڅ.:X2fy:H hn:iL; Zc=}~=E%0K {p0.!$~GDȩ^տE=6t@,c"΁+71wsm5$SF-l^q!h*L[*|8>8x/D"F ܣA;Au[UKD q<簊P<.>no^JLvedT\tK!X@(a/bpDeO>idrX@-_Oi1ع꿤j=e&I{xT3 f d^;8jG(ԚSH*P5)a]ϫOLD&B7wwʘ)4mMd`8Cn!;R y1uw?D_ΔgM򧄰 uK?r~8AB^jq,뻼{6^oUru$W(`/2 &C}>W`gJ- )sU~|ҚN&KZ'`E~EL&ZGv!_p*M$WHHvӥLjpDf!G'HtN| ^*D4\ɖ_N-ɏiLҹ!bX]EY 0Mn-#g}WAbOTHH葘|^Or:2k³TpA rV6ѷ(ŦB-Pe5OhT$z"Z;-x3FykZ0/rސOW5ܗ5Jl4E:C7*=X:dV1Xf؇,a ˋ]zKI⪈R踮-NգІ8[r4?Gd] U?am!]|}=v#JvD>]=¾ۮ?Z+ݰ@g>#)׺+tm ^'˵Ga}O.x!|`;Ԛ1f }eHo@nJQ-ϩk1T1/x'pyS\-rW.kvoV0DxQ-Ub{a/L?E>~jJ;QYD^ȃ1 XyX*sZ[#g%ﭪ1Lvo~J'MsHoky72eMYhZQU:'=f{w ㉾8{X#gh W42DōtZc-ެX#JBp3>{GOd(o/J ضtжD:HzR7{< AW<hPDZmVϤ [=FÝ>@ kX/) @C`0rVز=`MFܑ汤cm'~x:1՝*Fڎڀeg#9A^NH^9*VR?6.;bVzKl@P-3S|FདP~FMp+Lӝ26>hĮVo3&qzP )Gֱ36\'p6>LFq'$8Ue8ҫ}4U ʰBy #,VrA/j6Lr6k!QB } KWv9'7Kn[I(ΡdyKvkzވuSHAE1ʬ:o)NOH #a } T&MxWܝ*l'?55{b+^{go6xPn1.ƫq;'kI%;*K C>>l5ž#{m_t88p%2КGlegwo"b tfȩo+-sW+X̔^[^;DT0e%4qDŤQ2kݰ hבUgYQX j#i}s%3ʐI'Yo"nf-|_''֞eW#ZPiwkf4)qc>6_owQK8g $'|۩#TH0`f[9JVD 8va4ΆRziWmy f\ >TƨVXbN>Ljia vPq̟*U.lJk66k)o a[pd! ma%Yt Y}gG{[eƺ8ZR*7(c" -}*t3Uc&kB3񧡃f7hr]:H%ZK \Y3LU ɪJ@ׂ6I^=`~'Nn` \邹 &8ਯǜs 7(jBf*@*8,N;А"]m.#{h-AEYXJ,3yOS4k8*Hzލ+yФE6/$(:(Gq)d`Q^-?FbvjfL2]GKri 3bV4SaXV 0sJ95?>mʛh 4 !dQ#mxnxw;%wQ`W |S nwt,%_46{O^y`$wD|lQXApF_f`q:"Y0GmeB9ݏ!bQ/qE FB@GFw3kL6xc4m ヶNjyVce~`mWX>`t pf:W-gĆn5N$7;@'bo+**n,@QYs$_=+qsAx\ Vy`0KgER-@YBGi؍xeM8:&mJǂBr }H0Zz:f9J|`z溇kfv~-7 Y6=/W()(DtQ3/fVFb[Ac6,Rb'򇶧$`6 VJ䢂/_ :A_[~DۚW%7"Y סOGi%GL5M^oF6&vA2XTT Rx3qUܤ%# $^w3t%VxNҜ7|z?xf)H!Zbw#_leNe#0Uh8qAo`5rEjfYG;yi}LkO Y~nUK$4D-i@Pw{%d%-O ȃzD2<.U:h 0.\|:E"4K4nbl2"6tRWD4KO:j{cXM^Pk=dy}H:BT =k_&bZŧ Tmk[Tk>^G;"[' lM'I+?Lr V,"S:qbn"NdI!BEwȇ!xD8!ed4?gt{g0I>׳ ~_0*z 哶cc;FtGWلʕ LXZQ߼̈tP 4Ԣc63 Ux P5Tϖ7 1?.d2@M"c-JCIu'1r_B*pY^'!B8 yyr`|Q!֧24~C^،PԹ*C=|Cvh s]q cPqYPtY>#We_&ks_>ӌ,__l8LjY+mRX Ś3 .2aܓd\yN~Y":$mD&vBHuߺ+JƉy\&v"|A߻ Gb_tFE}?&2} [T'"5q9ps@iL UVdeX0WR+ztvĢJfI=܅늙tp[V1X F:U1 (MNo"x-$-DCH1HUxԤ2[}KxC $S래z1M! BRCYcd6IԵRQ6 qʣOB7ƺ/NEWDD.K q^@.f ͍Gh%!4Bl!")SV!N|oJLM&2IF.jE&4R3#]v79*5ڪ1 RVی׷yAh{yx|oo`jer8M6qGϬ,,QyPПU]*Yqj_JSY~ LǠl VvCr #!/<*.wog|k ƑKZI?%G wSCFMe&/M%|z|dԣVhOjNÜΛZjh0ZWL;W 5OsSLٛEL$Sf?ҏp^J0|ʜc0<Գ@x^(-t OJc4w .I[zݓr2*(% KMZ!UbpZ4638/Q'}A71q]<,lӁ nN d# ep1IQ^n QrZ#=3M=Pf6'@-@0폰l D^hS܋ߑA:*y&d'#ů>4R,j#4v)&hh {^^far?o-ULbk^ғG]Dk/ڇl)h7QsrugoDa' KKѵC\1,+Zx="~ƫJN-kW?^~mhi!l~eak#}&}B8CdE@dc+K&*' 鲎؀Wen|@"?).\KX`cjvD)ƏǠkIWCw/SL =3RI!?&"e^ }.YiTB)zL%O}V"/#quM3Fr9jbzpDu3oտQA}TC[9b;q#O6G3L~jqȵz>jq˰zq'/ViCG p:nk8k%Pk%'f>RC:>3ζ3W<v6- 60e}INV#zĿg atUpdA4/Rtd㬝*\y.^jh-pD{X8UEHqOJi= (4p|*"#(EyDߍ0tvHՄ^3pR?U vG{RA f^*Yk A~.N2 OƩ IE׍n0< `ߥ[&)* D>K@)$A\Y9~(ƤjHM3J/S+mZ5YgR`WB W*W;~G2 /1Ո]'d K|iLu&u 'uzf(1 DŝڹhڻFhM\<^r47׬&g!+7RKɀ$F@R끨.u45wfy!Ꞙw '~ml&k'HxyX#)8%x.8V,ِ[!m;n^!8nsy'1t+Sos=VG]w<@5Eo$ͺ+ 3H+@Q[CG6P_tC(;k>tKEN뼌"@7ƕv`9öG]xI&DD9>mjE {׹{:$tt˩Y<k_`"EKłxy5] adC[ѹxSqE2{ ū:.9D WIJņcX|ʾ>D9>%'BJQMi^'!Ȕh(sr>W^uN\aP9mTDĒ-,62<qVN<9MkUɬX1U,AhTmZ&@ gIa[X#Џw;v]$a-H[b5;1rDTZ=V#؋-R88QE/$b^XA@sE.EdLa]+~nG hGXܹ_>@&Lq'Γj_,M)( IV|Y;]P[Ϭ1[., !b.A/\k,c_|ohW~bͷJ%UBk )֍~ $?+ 9B ƅ؇NUŏvs<ˡ#:GG&8o5es^e42 _ul ¯. 2h*1s,Jc _ܜ Zj YsӺc"w{>;>$Pqp;gOs|}O@F(>M+a=dQa[4F OT{hyt/9Q }c{7[5N&[/lU&h=9rck*7fvbo31bD uz-ALVF`>pnEblb7"mIBܶDDpULѡPWg:{v}}a\")a&S=߷FfƼ#5ΓtMv"O{D(w8Iܴ񄋖pV=1g#e;KT;eƍ8Q݌O?+AUW8m'qKMV@v'4o2l`eN,vWj̺cr$"T.Gk|ڱ LlOfZ<h±/lp%~Ss X}p i8zcGW'sCtږnT["1 (I &xs|55s}:6}x|~`duX\ cܘPi F.%M (g̕ęKa~B."XIB8*uCYNrc束* F+S "~2kiت(8%<Шju;UUvPܺ0i2YTUu+Jst/*^pg%".]FcWdp+{YϮ&/r<;DkŽtlр'K ^Tb̦ $vd}BN7Hq; _'0Q@!<:ߪWBSjj}ڄ>Tew>;Α.d)AN)jQZ,d2m< H<ɎoO)k4f9p ϕ_1W!~1P"u;8R#69낊`gM؏[ો8;LTB>C[QG[A|j ΉX @9G@!gyK.9 ]88c_ˆ"Y"D3+:A]\6y:YN5)Iq ,eX/u{:JNwb=aflu6F8A-éHנX*mSU4+WcP %_)%#z,oPNTHBT&6g3LEċ!. bnz$hD`[+s5j 3@"S 2Zz:œb_EXDNE|KP{! }WW@ +QMDnH (Y\ h7ZV͍L^z}ֈ^$n7A^X fJH\;(:E: qdU"kCLRf!IxO뽡䲇QY)UW# T'F;A:`q)~C*q-txs*jHKo-I3CJَu Oxmz |eE g< 9rr'<0(OEs)EsV_ 7(nQЋ#&i==g5O clb96 A8yaXQ胹n)xkc%qB"ISM| 2 LqRa/HJOCQ# | ?n"5Ŀa:h H͛MҝH0@RL#֍q9bjwֳḚ )aFJ\KЛKq)t^`vaa[1i?kR`m˕0lgE_U?n]BK[Ăpo ru%D61 ..j35{dEd#TTl\S BEyn.r\Yţ$}/bať^M ugۥiKG^S&-W:/£H -?[%]#j> v3oׄ];7}CЋ<>̓mT@0NjiCJ{ה\͒J% Fq`OwpAZB4r241JC6o"QmWd}1]8rd'x3軲V]EæM*Oص;d'͛М4@nkpUC=ghjخEa0rX9؟2uBtkIGj IrJO33h9IjiD-]e9|HI>n)IP\_nur IN@f_㐷k[$k ss?s Z\1]NqtjYqWNA~J4}#鐌 x0"mƫK526` 8DHeOdSYPf3J9Pɹ8i~bZqCh5W ufMT\DC/XhǴi:(Lg1@ RH#%vE~#lJt*ܓH4̓Kgd op#evr"[sQ{ 8jn+n-(ͨC䰘A6-V~3ąHz" JPk*0#,Ě"@ #{7z0TM7ϯpI~ұ2 M "1C]@Cy!;s淏b2?3`ELZ= \HF7dD @kPK,ۂK` dE~kf>lK[,=;`@cYfaAVnz~|Ac[=s9:{`4/` $%#j/Ƞm>ol{U ZMU3W?ʼn#gd_>1B&Jo8E %.~\TBK=jOoKlGc 4O\(?N-8gn3Z4HkU)-U@ k +Qkd.D Vm#en ~ '}uQK%靊-ЊИ(M9'c-P 8-Jı7֖O0m8 {֑Jğ Hz>l>RiOe$km~۩Kgo ]>FuZVz f 2kICޞГ?腣&?Qvf7x{Ǯf(x^x-Ãlj1 I~KsVyQ 3}c=p Džx p(}t䶨`/b9 3.&Dآ^ 䒤s۵hO=p^ޙ IGzѶiu'?,!O5]PA0AQNP~l8ܞO%<6\e*{d'Hm{K0T}'Vah9hwB&=;nYvfFG?rc9H fǬw!2$^R 7q/l_r"ʊ<kUƨx*@7q4CS5LGu.D/{Q  VLZ(҈^!AOŁ*}uC3簞Ưv7dPKҪJ{Y[jRi!&wPA.b7I D$ޚ`PlK~T r2L@G=nܸ[ ] E)_Z81vЦ/zȢ0)o뿯Wfc]w%~}"{C&N_F Vrp)J!-_m2~[{_̔f3Pq*?8~H@‹g5uٞ ~bk 5ZxВ=Dc J;e B6p|5}ju.5Qt<rJI~ Ng udGKv'az5zP!yRCt[Ym8˜y&Y)hUD/N̴Nʺv=jbJtH1Es3c\}lalL҄ɩвkE1Wyo{#y^Ud>DK8|2CC3h5qxcK桑үy4?|M1C]1{sR Ŷn@bqw1Juna6SY~̙+r̓,Z/\grFL}\5h뺋cÙ$씭̪j>1͎w$^UW."w?EA.܅Y,vlYӚH%@0nc{ =`}IQz[-夦 xLۅ&Yܝ7H㐭1L(Q5\K`DOd۝lddHMpRLdiϥ$ø5q΁8[}x`շ$A0l#8h&552MɦawԎDN,ЎV;\"Dq:8F&l4gk=-)QA ==::!=;b"oѴ] -d5{DLV (c?Y ps˻ƪʿZ FY<MWA|us!Ԅ ԑ1F (FRLuIOv$%wyT,5?A|¨N'*}ٳHkF&|V}*bJ(+j5"{ IjO2ÀKFL7>jÊ tSIdʫǓ $@ٴ.}ywMNIɯ &1jᏁ6rƀZ >T'HGۺ@aq{̆=c+ܽ9)VAѝAyx5ha{ {m9F1ؤ6 b'/gv^`@ o>$- 4K9a|H ߅y(_ˮSW!R' 5s0]2R0z/g/9Pm{ַ /ܰTE@uB$e`^t 0 Xm&qBfxeebڎCDjkk..uxdKd؝ 1FDA`=e-L/Fz &p5اF85R&BelY6d 0&+t *"MjeL2!X\ƍ $FQkԦ1yuKG;y{,م[,&."mHgnP|+CZX.fP]b53pK|YRO|ɯ!:"YToVZ5q 2XЂc5B.te M7(mQ+L-6DH@-Z!psi)%xw[Wfy l%^+oԁxGHΪ~xaE{r:=Qӻ[:D틓p*Awig= >OE 't ]}XsXQJyu1kw-~ΜDV4ц eQIRZ'91#UpBRL #' y]~&hvu/tL%o'=./[шwvQZGq*U -2%^lp] ia6G+Z<*U f rI8gn#36-|78IM=k,Rz\dΩz(ktC~ TN`yH ]D]OʩL3R;u+e7=^NBjwW `c F p!0DZ.^6&]>ܧ=/_@/)Og0|e=Ml\8H~qTSts!--"-P.x#$L,;5L&s _HAFĽk( ŌwVx/O )<$jiw+p ,LUk='l]m|LBo3СFcp?ul+Y>W܍Cpe4~NI`ܲbAԴ zޕB>6 if1 Vřw& iА u#3TD%t͗k}f*8{=?!e) `1\c!!ʾ * M僘.,mY|=8\vk\hu0ќCSo*%w`j™+w.{uMfj+NH [w2۴x慶ɷLm*FK.Ȭw? (ՁB|%o|vKBB߂=4`'G/MfP% p#:ɢDb.K/ ؅?2Tr'*`8Eos4|t[I){CjQѤF; H ahŰQߒ\bղfM 'uc|22`4Wi9QBĒou{>h*?oxdW/k+V*K !cZs'y2:ȶ` (`w ]\Z^kgWP܌&Oi5s `Hהfi=QBp{^zcA$z$d6v#bD?_nz.)%.sΨEt$z!OBpD՜;HoRVe"( 1{3Г·GlTQr.y܏\zl){:-fGk^PHetڨo1hh8_Rp:$ 2_)/_G{юO9Mmr}x&}$EV_;O+ 2v޴ǦqŒLx+ (4S q5[ӁSVRޝ%#1zwf\Ac~ 9'a U&rWO|-'HVYrOPSFVS3f|< >\,d~Ol;VhϠÔ`lźh2Nujm"Wz^ Lsb=th=RREjݍ/d~vv:~Ye,cDW\±3mnl.FBp"`$5]:S8u LdG^xA PKX 1;B1vjSc~ fƂkb£]Up"$,®`iaȉIQbL|P;}VDX֖'G&gsA,uy9U@ i6I`2s&g}]fHHO n}-6`B nLam#O'9><$ؒu/X|H5gULneW&4{::$3&^qЩ>4.w[>= 52q8ǘ5 SL'?sHɶx?U"/uxqɭ' @g1jL:v"l $>i4.lg $ʼnCj+q%x[OO/kL>5%eU}]t9@Ǖ9eI-"}_[0Xa=ڧ=*KF 1@6ϵκP^ĥ^CEq>xl:JRM<_؟dDz4/+[y/zaݧ!0ϗpy\EN.-ۨN4A-U̢VRS&f)I 5`(9k+?9f,e1~u}SgQ[/ e[2/Aź}*}yR1E>^  ;`i՗(PjYR |>U i)j-pI?nJ#M``63"܋R*$=eΆ_(zkvSAΎ!Z^!A@|fK@>z:FE' "? =?3<|Jpһs$s5ԃ`s,ՠaJ-kM3@b'&S(yjSiSG܏5t^=0#>.c>j *BoCwxSQtd}#\>C M-뻟q0|?7Oo^r$=15 bǿᎉR2=0p`3ʉ#{no)Ah'm,45^ ||BD<ALٗO{S'i_L[JP20;djPG|yZf>kA6= \?$)asbf|.aԩIVfAYMvKvO!R`;G'NV!x0.qB073eF V@<-eqZc`g nIT/%3yE+xa(МU?x;% OdV%c2%'_MeVvgdFB^¡aR܎97X|sc5N;?/ 4Q6_HRn΍_%XNS>c@zRH~AH'k9n VYd;ׇg$nܮ!n?ej r?iBX*!@GGhN%6$w4'uIaxuy8l|jD 7ua' /} ==Ǖ  _l b"P/7'K'@ )'lIXhMeI]N8νanZ| 7hB!s:t0+h`)UO6{b>`]:Oc!UO3B ,iu)`$])⯑y,8H3%:Zx׉`>)Й#:: aВ?݅TD `6w@=f-E !P { ,Q5A 1W E4 kix:IJ>󳷒vBVyD QvІnE5)h[IT1ʒ2*ⶖgs]MYF aȲmyg_Tΰ%L)q" T1 IJ_'d6 LZ6u8FΉ0;ǵ4[_Vf `e@i5 DCfn '50<;VB&pgO skzV e6Ȩ=1nQhVęfUmotk+0R\HļƒnYF}'0:@=\6*mThZZ%}{|e7[*VX.5g;ٙ3BG bmd% qRxIRv8.4A2K02 fsUŘSVی[rT5I'I_'2څN=U㊽8Y;ٱmKtbn:!]*UD~bNLq]Yߋ+ǵHH|u+\t)E8͆_ r|[T_/p/IvW=s_ P 5OjiBl^vV ORl[u]R%Pts@Q^a{h}d=J9|}XĻEF Ed x>$Fr7 f[2.08{)Ь6P2?,dFSqC4tqtcS᝷wm4gÐm J )#.;5>meI U)m`0󋈀AiG.ZbbGj %ܗd~yVV3b0ayXo/y8wֶ5Ƭ0P `J FzZDgx/:2UZ(=;e·:t^K7*@Ɠj'-䌤CpEX߭;VF^^:kdbT'p찱C0@};u1p]d9^-t32X)`'x kokL*PR+/fWPȡ2y˿s"@f:Xr'H8'IhZ3N/Gt-~S|AY9s@p)!I_N,0y-\<PGM IsBtԙ{oCN&W?iQ\8wZӚ^N@j_M_cw5 hP9UIJݟllf(O9zCHEދy]28׳:Fn ݱ5)=PR\;bg#j^ÿ9pzP8#?I2pL6%}Q]̥` !K\BA')."Uߺb@EAz41+y%>s\EJ9)y/L#$X} .{['ip=rIfѹGe毑0¦n V =TҀRnH牆q7*͸L)i?8󅥹xIS}iqRMA*b>( 8:l'"Sd'ÂA'إy)VnUUr#,0Wy -H)xEnE}o|Lr92˭mIt{=  /}9mW"Uȉfj1rA)+n)şR:=}ZRXnzj*~6.LC!Z{ڽ;u&lrUӇy.xRMAN%=VIY(M{5Ԡ^ 64xX,6~̏sKm& t 0QÄ灨KZA䧔,e"-~G{)t+Blr|әըGn SP0b1s@EMIJCh\\xsjNi]4 *L/SRi+,taj9"UV5~?i;J ~+gemc7 e''}=Ci窈s=L棄26ɤъjKMxZ#rܸf, aajMk87U5ض[W>iN\=Q>mlU.>*R8[FDr`Em54fydԝŚ !!nKI!Fv!,ŽPK;6vk#qs?kfmW ]bAU|&P2#F=@Fjoqj)ՀdmW$KA nOd鵇S[{Q%tZS)w Nod˰%w<. z`il.q; b1T:2@d@i` zɻMIj6fdrOLya#Ƣ VT({iP^yXڋoB+,e| ϼ,T悴@t?%[,;d_C}DOR3nWr0|:ze{T^PF$f=̝`八Z<#T'H3 5|6xF9 z( A8йx p/Ɯ ͻ7'm_÷<ɃρMlvq`%Pˡl,GFW!*g>M'Qm ~/zFAPtըׂ:yl7 e AFctfV1"ā1lxp9m4jA =eςh(14JQ,VEtONA}5yIDj7::T pGȂ#;s c1ptv?V̆T1r96Ji\a߷:~NQ?DʤuTr Vs^M`nz7;}9d?Y(ɵKt;Z ϹHbA kkY ,N tSe0ôH%ql"& gVdk[\@bߦ ^)k{} =0 {h Nl' $uh6j2P?6 ^TX 潆~+/n#֡d50&j.M' Hmrَن|Y^3 底X,NB ~ 1=uLƈ_FtS]>kv~3IchP6/`2=Y2{Ȫ/|.naýa%i9RGR}Z"0l%*$4ZPuώפP%mX/T֚i;V@ ݯ782Ҿs4ebgꟖ(.;&X2׸,˕ 竁4N{\ 'D̜@9DYC)00fH*1ac7jݐ#eLĥAnhqEs زRC*u+|.ZҟBW01B17됉Qr^2}:zÌnB!.a.݅Ý sD`8Skl-AVcqX(GӐuB=$S 8A#nl[_#G,ʀ^Ǻd8/| #/P= S?yY 85%|^ b!œ(MKLU|lֲ3h(JOKN4: wH89(&Ql*#67)h[=-TFBoQR8ЃI"vČ$e#A }SBkBtص<* -Jiu4ŷ j냎j&vw 1d"j5i{GiV8gwB y4?"@)Ў"*0As)E*5>&)8-Ρt۴ ٖlN3܃S 1g].U [˥J eb*jy+}qb0WapkUYRv}KV@,KYgw#ݽ`{cW,R,e/Qybu#Y}oĄ!Šy0+D/ekZ@k7K̿?nB',59ډ*&zbx?\(( & U1D|.Yi&NJw?XG]_=<ڪXxTxs:J;3n-H>&mfشl3b'Ƙr,_*A-f}&ʨS?jVZ%Y3cr$LKSڊq94{fÑNz2>] tU܅pW/Z6Nʢec^"Y: >iː[ 9{`-dD֎{ԢuvD?tΉ̵EL6ŏT4mb:q{\:a^P)6g0PϢ%Y +Iƪ )RGF SfŠ55#CT]y0KPL ̝Z8y֐$}9lKl5fZ69w{'EF5QEpLOd53\<c}MhDWXH'G\}.0NV /\p~]$^uП&߄L'xĵ=&$խ3Yȟ5+#{}QF<+8]#׌8W B֡Ɋܛ6ӡ~5"!]*]ٱ?(a"Aco{A+=p#@_7zڕ :DTGuC FBf)g09x1OJwV;Rlv\,UR O :dX.,*&/ncyR3ԭؘV&o{ :'{f:M.ǜ2 d|nQ(RkL/۷~n0տ.(43\-vYA|ozUBx+:rwSVºYSV0 Q}I 2g:\"ﮌ<ѹY(D4@ cX]EeJ:鰳NIэ:WiМh[6ip ? +mJsdg+NЋW\IΦt/b8> MԎcӤ.CK#f cfq:R ލ%P汘}W{-cԓG/\ؤo? 4h%B/41U]X[6ZCVwR{(BAZ"wT$\zU>r؁V'k5 s3=yBIH8hO9|X\~ H,%sB]A3ͬ0E uQl?;3ӡkŪJ$ u9xR)a ћE $tueκ0mf݋!(y8T,fY^WhjTQv|GS=~ŸƇ3iS>c9< pC= fJ6%¥a'L3! M|@yչ*ǂT +y}* Ծ6ElWḣ_$x v?91.^dO_jѠñ0YݪU *yӮ;Ncbx"כ@#)TSm$]ǩN }]!B^KCNvMڬٸmF{ЃTJ35Rspih.$:89cg٬-߬06 =ȹKI:f-`@S%nqJ8|xxǓ<[N4r,OJLvbKS6LZCklonν3CV{R5ú扫Oo~ۜMf  ܉h*&+ xQ#?gY`#衁G*6C0zY$iyjo Dr2Ge@YtE,'&:G>dFi#ȓ&]:_ϔY`<乩l9%/NE Sͷ`bkc0Sd-艶3gfWgZ5gt"ű[6 ovB7P/;I3~)X*IoBG\mvNB1ݿғ 4(bFV}詸G-wҺabƜVgV)Vߛ+Ğx\?s on:~7\\$DU. M4$esk$t!&d8xA\!JD31V+< e40meZWE!c@Z%So-0v4}1c2H"@S1Kʘv*9MQ0=#hxTu1TOxi|^?t ށ~rԶ3q>*-4jFBJvX6r~Fb/4w߂w[| nw 1I6$B|`rxRf@*Ms aCfk3,>jXQyj,GD}3qDDLD¥aS5ߴeUl874[C k+͐cL3$JVPZ[ nؽY{uwX<؊{o4/M= N^p )i&TZFÀ8p+"vjX&|pFH z\4oSwn!8hzKB!.0ٌߣj꛷|$e+ީGMsyޥ^7QNr0_ICŀ deo$IxE4ܔp;' Fwlĸk.neLLRo}UbPjKVH/' FA՜z?M(lɀL8\ؓ\G&GMaeQeMq±$h@8R5dCQ dT.KIʍj~7>@R%W%' `&qxJdsc\7@+^%4P \DwRyƧ:1$/OOűlKb@4G2d`YiVU $vm:s5# -O`^xMJ;TC@FMEW` Ygyv;o{_(`5$[7"_܊[ `ZǠϕsT$I2?I" ߁ጡkOMeR2kJ>MS}J$u '9+Z!#!&~) g&r }+}[^grG%Ji#b ߙ3\B YU(]*b+eʮv~qSJ&noo!o 럠'>jZgj2RWqk.r#K+LaZtwY_C/#̔Mk T8:#yb,a6ڃ1\wcUEtEz?:io8Y%=o#=f=+! !P*ÜsFO2>\`Tie=7Qvogҫtsw|Y23mB6ilQ&?_n"HڗneU`$ļX_0j!g! Ғ[0@h@˱ LygJWL$,Icpn2,p)B|˩a-۷"M [PK#fLн X}GD렠jGU_o=ҏ=i߇l:w3(*¬[.%p1=n4GGHR"UZE {@1Ιs"ҰϤ( 7 gDuفy,vP7n;9xI_l4^ Ibcs!G9= PFB}aZל@vSzlIg AI"T@599XmULzPy@8d)\Ņ6 K`Ѕ0H6'_RQnFgQzU|wfG߬kpT=}-fR| &O/w۸SKuɍb(~~YkB"h%^=Aϭm̹͋j zF\e(;S/r:EǒjJ4]Մ&ixnkOrwl!&(_oֻun86/EaT>䝛)wC}1;ٗ6WY}m CE mLROΣ18b2O*]|hi付a g]<Vұ_ sP?*?Ƽ`ĀDjBZ9,ū6Дa+1%0)v> ,ſ&@8ZzJ#.ZKZ% 'yD"˸;C+zth¦ώFh_I#IyD" xUn9,Udڞlv31D9 >cL]\1 F %QXWjRfUv X&>UO! L.!:l is~{~7 ];~q_sDrTͳtKKH5'myɭJG֢iZ^7|O#GccWL":6P838MDak No.\x6!,Csh@u­܋+sRƬST=ӒXEvgfFpQʵy?BG, YN˄::[\ T.+ R$ZɦƐX+. JGU}feHkea:E/Ti:y`T$1 5sJ,gRA$Hв?"LhUK'Ẹ3͍V e'[kH¡S{oDW9x!!+Z/juaDiB rЮ:/V&5 ytBx V'Fl/@ۨg#d)ZoΧIW.Qd59+?øVtz'j{SH6t1z $7:*Fwv蟟7uP!d^W}+m;]s aK-iezwZ>4Zp=>cl;ra(PIH6o|I] ʽx~Maɸ37j6z!:\c}1f*Ϗi ~(GŒG GmX)5nfJقٕqpHeוx +ͫA_ 2́I^67Ϟ5qfKt:0.&<.jlr tn$\1TAW[y'm@fӬwNQD}*-y<ʼg3%G^q5KuTX#*Av1y'^O ѵz=bTᗼ؂x#z@EJ3tvɛ̤xu(m0` %3s"wc4]d <=@(uS@ `(f~£\rܚm5*pF7: *6SMa__tKno>zQGFN05_{Eԩ+0^v q7=L[6Q%X?b?~ NX΀;fHc8Bs &W;c EPK- ۆv `>yw7d (9-4۽Mxta_ou\2Z4@o{rM8wXi< ͍7O#T߭r+@%FU0&ݲیYu'/4+#4~Lsqh> qڞ"G)2N¡OA*̔m&Qc Ndu1PЉ.\'Dvꮪ^BUKQ\p 8ooaY}!ּrZ@Kpa^Γ #cM">QnK²[lLCjz^, z՞WF HޑWMH8>NbkŦoSB/P;|\08g5,Xc2|/97 d{zƜ!͖!9Z J&ƚS8DaIA@$ uv<<$_o sW 6n`|1(eBQlh-7h:H4u /"7x=)gtlYm'ȼ_phG32 Πp_JED[%cʛqGp'u:>sB,acHjǮrXME C>:>fB50MBR@! '݄0Q&Bs*yT݊"G~ 8YߤP[1g&v9 +Tȼ0_&WZ{=?@" rkX!vg14LxD?"]24q B_Lm*ȖC@2Њ Rh* L78D jr"eZ*iǩ_Q:\c8yr/)"TxKP?143/Xصc[DLQt4QL p, yRH|b"NDunUhVSjIë}~@T'yU.Rv6K"![gRAc0cZ}֞O|fӈνɜitG!E*/?+8yME\ttʁ9Enzt%DzE4=0V"OY|4((~{% ݲ_<>KIO-2i | r 1>)?cApπi1MC"*/G| Ek5YBjX5qy[|Pݫy?\ 6/OHAg`.\(d)ϵs 6@謁 G/RvM%[L 70CTQȞ"f5`) x#ז*1p",[]!R5ժJvFPxb+6g #AT,xNw8Fe@^S:#\F-` b+6:TBoX)?6ʽPHBH 0: 4mq}g=M}w]?y=`%+]ITr'(nh CQkLa=cy(Gk/j=oD>쮰# kǃ!qMƨ`Q-A{pvT~8B><\)87RT߈g♒jۘ!) tR%}#A/'ȹ*gnJ9I}ԇn%($:2 $H&u\-cS IS1kbv kz]T B肠q/Tfw٪ ѹTn{3!x^xA aH\@f*XEEK`k:]b͋ XЌamsKۤ M)[̓tmd*aIe>sH)f&:FFDc/Q`@׍.ZMOp3m3ѿ|jгhx BsK)w0q5VZSSuHHP:iWhRh  ( p H6</iQp*o9w#S?6t0 J=~d_IUl.IH0?y>wQ!>(ޕ51D~Er(5X:,ofc"=g?( MBǖ"VHKXBgx=/P=pX3LdkC+[EdaJT\:எʜ32I#t}ћ Fp@UMlGwd; _rOǜ╃Us ܭ[8> *C R ćGĝO=Y',O`/n h5j|{a>r7Ei[PJ:52E{ شbDub|J]z~`Ihh4Wk4j'm$X`Zgd9SZ[)\AKJkgeCC"Yy$%p事6Wuzo'zuo /eꎵI%KG<[ a@G iü66dzFVUgT+#FEk? v+p<*!ёV2彝X\`ڍ 薀V~KvLqK<\(q!yhtdday]*0L.g AXrc׋ oQ[Z" ijXɆT0#!/2ۡP,]<>2U"(M]V]`1gișJ_('Gr=,5уe) 4d[[@h)Q|Ei\cr(ogdM`AV~o>Ы8K8SWH9V7ߖ:ǰvN$_8;s_TϪ!9)wnbJDDM^o74doxbvԲ7if+􂨩8޴%p_㓿7Ͻ2zsuKbq?`9  Qnҽy )PčJjs]r%~=E~sMǰc?3ص` l+ ٥ 6 nF~ף&~|h l-C*!+,a3l:lO"QsTs;"IǩBRӦ92+(Y+=^c03!Ae`Fb׆^*-D<fM+ !3bg=e6+ ̏KX_Q (\X+syS;QV7@06Ղtj;mGn\L{Hå,yPt "Cm,;B0 4V(e]Ԡ*Tc#ؠSG7y~J0ea; {STu}W^('F:O2r 1 '>Uh.hxB1t*oBkacPyt[RiAp,тOݐX LiU*68Ȭ MbwM?]f}FQ?:2+c!Nn<%&`DER%3(n > FҝZ#r!2XBeΧtqkeQTYXd2mV$3z #x=Al\EO2VՅ;T{ pVl!&@@gvoƑOX_Xϥxg}(b+7xY|c߂%ai. )@ۓV,&GiD7v$HpzmT&P'6dE`iӅ772&:gmIמ7BP7N#( Bt^< I#灍{p],ߖxJ @im]MLivZcIDA%`T3& G&qcyHU@.#>;_FTJ!ktE2j~"ѳ0_7FIsc1Vwo7ѿTӢاuSf@Ç 8BF]=vtϷj=Rx:`hQvqpQlIPFtZnUUs2Zţ4z{5% E-);+`A>. y;WL4ƊdɦF>(աbϢMXd 6wN:z AUyZ6OTd|L(t{cJwmLv je,NȡD^;Cڸ]z kc6.(,1Kߺ]ZM(}`/IVE,-Z=p`6K. "vMi7-X|o,.wo}m0Ku uv(qc4QQ4|B8,BQ6c}:TWuj^7b>BqNp>X8VM("$H֝e4>}fw)^n4e*o`gO;ͲfFǀeR!L vّ r5sH.b^H DMiYcq5[me-Si FIkv+c맥'ӿlb*ֽ:gYCQnd涫#Mӕ[O6}XMIgC]t Pp<JߜCczWwhZD0hrQ}Iy+po4/?V)EONRދo<78MW, _v2}ݶ]R[ `ek Az/CH#G(*r}m k`kעQZGX^eQ(HlG=:s2A_#f:8@P@e  ygY?4gNt# ZcaR5@LF[<--SMyfs?WӸW3fʬ[Ww$uVy)U5<.™7?Qx,{sl/C8dp7#< % o'76r}7JlM= o d̵7>~FC6WJA`]ꓵ %XWǽd+ GhU}| *?tNjMULep鉷{VZycj׋1 O·GiOǰ\Sɞ!I@JQQYW/p=:/ksΠ(B.$D_ڝBYP0o:)(\F./")hgS^蒤PC94m ;i60~K~ɺc-zልb_˼7m: K,Fٛf{~03A(3ъLW閈pcvnesRQIT7_JlG5.vԠ5-Q-4r,R-BS[}EIMϦ|'y1 8ʋb/+:6*|.C1->ƅNmbw=`[UN_\ 8(m0C|L{~| t9t }CrS$#s)F~Go=aCi% U'G@ԇJr}AoFrdN0o0#搟xv}nOZĩ#Pk!$pJ6={}Ĵ~Pԋ}Y[Ί79E0%' 'nՏb(1\xLؑR~ G.A@A{ڞAZ͕ hʁЉ*-hP"ggZp.Y^uo(>XvwF¿'5괊?z6)sADUPֱ18uЫA͵m˙|D"64x?(1d6pލGTO,ѸIs{yI{"5G:id$=i8,h^,6(TZ[*V{ע]MY_mh*T){iGqV*/o5O{Wr:uGSo@X~i}@~mw [$;`r]78u*b[|OZ41 5U[ZHCb33JYpr( D[_![iѰf麣|$Tu@:%7BYJAm͙7)HG|(!T=@Q8lƪlWef)ϧCXFbS{ HmhF^;HoFZZU(Ye| fϲ#?bcHWN9Ý=f,L"8`_^s ZE !%$A VKRe)eSᘴWF\u@ZBYKت+)J^ ],b$kd"3'<(5j#j.(]rf?_<",a<ޘ#4}V@}ۆ(5.ƩQק?%xQ+Rn]Iht"b{h\G_;ƨt%˽ $߆`>/ dR@;^"CK9cCzI:k& pPf"\R>YOǸI<ݖ~ҷFj3(jRK@~E bӞ!7~B j{4O'DtQ(v`MCZh7Mgn\wÏңFc<Ѥބ@ {xy⍒2o=@)'-{~*wZ:UqW+#Ж )Ӿ%h(!) A?1@f5D$z#:̞I+}\dSTZs)Bk&IH["}}}X`bd3w<"Dzq˹ u4$n'|&MVa>*_"] 8],+.,7 uzcg.A) S\8fWݴ{rRR(f >\*T!{M߰΁^3>$Rj-7lOΨ=(Şvm'lUccqNHm7ۈZ5Z䄙.d%4, [.07pm'?Qx0F&"o2RU($t-D@os3w4ltܤ^[0͏WI7 UF3+!ɹapĦ 'EQ"fy̦\ BKrhDrv~r;Pxb^Cu:s5)-nqz *K6-cQR俕ƋAfjTѯm崡lN F+GoT6]ǜkA\t\As 9rxvË>Cڮ>5GG5f:K.$SlVlZߋ4+)nd"V>;dZLGFq0|鉒fnc!1aQN|&W \w%PzHOK@ܘ6 +d 665~-; R|7gt{#@t̮?֨(1bt0T Ɓ~Ƒ!Pj{qpqU[HŒ}:GS}bU%) ꅎ0F#LɈX)jHW&  'G"=?:'zz<.eTx,FD5C]AtJu8RK]a;Aʪ2^Y.RHXxqO`bq&B>V y [ъdW!y~?< {Gg'Ӡ,m3-b֙vsHb UBG{f_XӘy4G% yYYZ'\Vm,uאxz)V8g|,fR( >P"R>J._hDovtʶh#F 7~?y0Ϩ ל5Ҙ")#-UtS 4O졧J=s,3Ȉ`:̾+*t&fuX'J.JK_)w]`-mEc#ˠd&Ns!`13B¸Y_Kզ >Ht4M%Sc>N"$`TɃo 9q*<3&ʆq̺MJ6A@J4 /m^v^~ 0OZ2wpocEP|$.>VPRF IK8xlHn5x&]Hʷ_e,Ƀ?fCPʳW<{[ _/)FZ}-ʫ4+i1_Wjm m@hh,Q.ՁO,TzM| *q:]|m,|ɤ&n.-Z} f&-T+KWb_c~Sj`d"Mk&FD&U9i3pS &cg><u&8-+rk2T˱9:w3^.8W\..UθomJԼٸqBmcX=n44 kIYd. m!~6p~w,z3a.B6_I"\7ARDǷ֪m3GBB3LYMIJQ`a>',@g|s0X(@q^o=,Ld-ǀb)3r"^B.p1-|DON٣m(hC7c$jS?0U7!ٲwTԪ~ Y4huծzvIc t%hEK~*<9ۨ&fᑫ\ 0ղK r](U5Qo!jTD=Z0}̯uXu`NΌs4pS‚T&@{w鲖~gR3D 6^;cUf> ̔Ji]qוDdrˣݲ/)g熻ipM|܈;y\0#*4iK{F:qP?C̎T4j ?}0}4W&fwe$2eȡ3m*ы^lNHsG?i(j A]JV~~v/j$JJ=RPrvDŰcX>M:\:+ YjܟVw ;܍H,so&%|cՇ\4LjBUT'ѕ+='*/CAiqy?J)^s 5 $y}fD=u!gمÄA69b,/d#yt k e MYSd%\ޝb? oZsBE!=͉5+1``]s> Le7j 86ڑ^}^22udyDOMHqyDEfnTeGW^V'?eWYueQ1/ 0[ӊԷW抚U? O )aڝ>G ^MR-T`#Y!-m۱: cr)Y&gu< Y-׸qm1"wc!BKEhD)d~m:w~3;R`&^*΢cHuǧ;_NDIJw\f 8VɢCSG(J0F-ZN!zHĀ [Q'%2 ?{w!(}L+N>,7vKs: [`herXnz\%xkMv1p-Rz+(J겮MM֝zcgϲ("O9[90F͊BΕFÄko G\³[VneŽ0ޭv%I!j&BGL{f89-Z:s`)!{iX}`hVuzn5S~.P@qlkJsz_zEEeⳗğkR<֘9NHs3og2Ě*܊ pu#H8XhC;x_J$8r/XrǘB6X R$2גgR` MIm]xYa{`&8c"nz~@0$ ?ԉmm-I FV8;eٰs`Ko?ϪQ ϭ?]+z !z#PI,Z c͏G?ܽDcaYDHZ`ZL&u3"ܐ/XC)fYBNۃy?dP90!T@e\'̬"=&XY^fh[SmhޱG SHX>fMRG1HWݧpj'3pZPg(M$Lyr[EM_D\lfztGI s`/+o4m[R93/XpOLm#I?&.r.x)ljk}ύ'8 g\2^FWvYD_Cp.,1H (m gw(pj{bflN8!D_qÿ'2\xF!4  ޸+. MhYQgAF Cc=P2XdNbe;َ!O=bb!,8L{MuL(h 8-I9"򊺑!>=lB]ZvTM5\a:ApTa1)zV<Rce3i7F/;y^ۙ6zAi6;)DZj*mz\ Qli mkHŶ}bBuJ߻!g-xVMO9>W^Q!a]^`q6OPP%akye7 Ia[UEDlծ<X?ɛI=r 'j3SɳEvQˡp]k^ ”cL}+:u $.%NI(ͳVs͹K=I"*c f}e>!:JE[\n+-RY:e2|`|/7}_{^:/,81cTF fC']EPzzB2r\ A8)B0ׅK%W"Fn^81$8t@ЯBlzs}pkqO}0 l+Ὠ^81C=wY3ժg?7\}Mv33@ǝZo(՚lH. [|7KqM 5ݏT!̿GWa|X B;HmDŚEȧafoD4d"+aQ)/.wElqV5dE֬KdP}bywe:*E8Sax(X9zHuxNDEDźf ѩom>]6?9yR>) \mƁP2WTҡ+!E*>k/inrVX!bƸf]VߕKI ^P80fMix>SS[@dž`ӘL䡡)vNê>u('StDaQ8g`[>؈MO@-* #wħBZe]=GGo7_NX#>Q"zR@%vX]r=+[E0]*&9b)r0f/+#hc{d%1P, BwHu;.U}?fsvʦZs-n xЊ6-vc0;e-~yşpkuV'-$J`.\4FodIԶa/3W_pQI s ̡:j#T5¡Pޯc{±yD8j7 gj1FӽufLUy&KEYiCg)7IxjԃB0"\ީ3bW.;ՎX|i|κ 8pͱxv/t 0c,>ϻ?zK-`~֔[}Аf^l)@9IqN1Q2;&!DQ/ܪNB$n1NNgMށwTR'w:8 PƙT|~+w~~ AIR&a Pgx$GZIȲ9 COߕgh?` o͊*8C+31A$H;k? |bԊeoקDi` Ij1N[f,Г)#3⽕"|(G,&@;Txvכ8J(Nj"5#\Y3:6Et/a]m?g>SK5e/{! _| xq^%jۊKJ # $b+%^QٵA<pMW0c_]<>b+8=E<+,տ+p\BގS3V=Usc-6(%wU:rث~1hN&Rt3K617k0\H$ d\:߄K!!GK0 _{gRE+`:|igв4d)Apݒ}]+/%nGܹIbZY}GeqH$y(<-׫rPOwI/Bܧt"G>I6IpArX_ =$Fu99/P,.$^ BkzDGK AZY|^!Qm0z^f fpqɲ,N>AOs{<宥R /~xghT#!+E̐f[x  m O zFo-b1d.9>{xК)I/T1(uI_fMztLWYw#isӮe DRQ.~moK=w,vq",4uI#)BztIWױ{6bXk+΀ H>px+* REFŞ e9M#F}/돬-63@hb/`ۅj2`vHT"|gUPebjt$[ DY+[OHM-ELݓ ]D~Ƭot:<ۏo@iQ_&57Fjffiej`O猁q( k0Q1Y;`qo+&j̜x]5BAS::߳T-Wrk i^cy#ov965\F~2"N9.9X5dnwJ(|ᗓQx!gx(@Qy#%*hl7"'4GFM|8kiCWŘ%nÞ ;;ङQ b`y \sa1h-gXQjY@6lHH3KxbZm[b)|tDe)7 X)G{:l n)-fn KA#~5_ov8M1#y6[Ǒ .]o Lz(n ܐZq1~[hW0`wO ՙᰵCKT"TFk@^vf~e*/^%lzǬ}?,Q=@dNAd7:PSeF&}s^YGl;U`c~?ޑ28k./<\&nxGn\ yV mA:bsjڨl@9f\enSh06: S.7)asαΗ©s ̂9e=: g9SgIn|z/׶y5l7D64B/IX1/iէ-Q+)3UTKKn׉cߛɯnVqRVħzݾ=8<_E2*k^(ʏxd&C4( 7EW3,UàחfúGbj'f7_خCǺ5wOSSa}fr6cΓE&`rVd1MRGIɄi/i-0_@gc*ˮY.eҽ:Jƍnoi3BScul kfj3Wv K2]^Ղl7~z7lSGcoY):uFK(S]2C`f8^f%U"RW*]/%+GUkL{*Hnٰ6؞#nxۋ>K_E |U/ |S]¯vH~{MdCDRҟ젆BJQA,,G?_|Ԟ!B()Y:ܒY>*T!=ӧA dayU{zJyZknNEg}®WDyYeS >6p2l?s3OzgS4AYUrV|DUz5B^'۾͗0J Civ+il,JczN;K^ymoQmL<ʳ+7fx{oX[GInRkQsRtd.hKjvY3 o:B\(7|0+-\N|v?w7-|MVuі 4ZƵgFJ;q*g8D `+ym|l\T J<_obb?v\yxNzTm͚ea5P|BPo6ml2.s)E4P` 5<|^%γQr'LA2\3JjhW{b?m.N(Bq\h[0rةqGtzkEU55[q1sQ65lg͊vK5IC8^9NY9Қ:*Ż JA0fpo(}Ghr % [|-"Q RA?!σX5$qdnDi.`SDX6,+hZgt>9l%C榵4E@3?9]?>ɘ,פcea1e[0 t>MA]܁"Y&a/miӃ,%f>8}؃rr 봘ffl yi1Rt.[-(tnP3P/d}ܲEzO 790*ֹf!"X0ȻIlozfDY&W׶^`{ mr}DkD4S'ۙz™>yݚ'-`GR|ݟfc%cPBBS{)S>?Z7U3Mll&6AY&N\埀M9ز WțZRd|ss[p;CY d!ޝ*4ܠR8L食/ TI=k:'9š=}Ѕ]|QKGlˡI2ބoڭXB]0}d$v>GPŗAe0|dI)[7,O@,UklVUT%'g&wqɜ -&iRց}hidDl=,Qr9dGdAM,e MV IPj=6B(ﴝs%WDw[Ɠj[ @;rgQ`@e@ ׏Ea)5|Vh_E4 .-=ՁqAg؏ f$aeju H3;p} H|{0Wd /$GXbb#da '!Oũ̼}sRvJJ8=p pp?XL5#(ȷ]JS]G9#oZ7-6o׽KA""˝=ie`^p 9w=^xq^;.X_7y7;zʌ5t%SY$wXx'g )Pa+եaDaއi-ba{ڕq 1kx=MyMv#MO[VK/wJ54GO j 37ҧ.'q y'? j%/O=VUL6, uߙ"*fRoT% \J.L[G*^A)'HJNTH^H|Ey038~9vegI4RV  R]@Lg)ەajjHtR4)%A&3bg%@JnwgKW"Xkbmz%:ߖV`F%%l#v΄q[-N?7a$ XHi RѢ$Y}s .=b\]I@RY2uQr>>9+&Aieze+XJ)<<6=[ B"jH'ԧ4j'+b?=^Pt˗4=#l<Ž͔`CX!|AI"go(F.up*pET'(5a.L6]8QX`="GĚAӌbsA74|tY0ds~;UAт) 0&J韞7KaA/ax?OZ *o@Qs,ԠdLa!̄q59_ז@:Rm@~ĝnV~{IT?-g:< ˿9š1L`&{bWx\0?٫6 DG U2d(q)Wie٤d`gai1x@ϋiABMnZ 3E6S3c@jɬc2SlA8V 9}zY8rŅ]1$rjS[i@{cCn=ڶ|xLYDg%Ru%av./*n}iX?BgrP/W qr ;NݭؕtiOb(FPxOv{vLuNE&xƷhw\1Xl>jvٕE93)'_ً&F ׌y=![ǁ4N4 Ҥ0;HLmCr_/@*5p5TsWu "b99@LaFB!#'eT" tXn>ViW{ ȿy9TqgZw[P7+udf $&\ <) aW\Dg!9R d9)Fث \}qy>~|to.K5-.fyXx׿;1x+D3md\-lFxœ[:nc;/9pG[(÷"rg:"!ptbx񨺠q0b'*Xf"0Rxb~%DҠ+ #XF3<65| agG\ص ⛯޳Ӥ4FC/rP>Jm:A4s˙A6/þ&K[7$ҼcOi\Ƈ˵S!; 2IԄ+?nx6 (` ai?g-/$'XW򃞴sUU\KmԼ}HimZx.-y OktX.%H Zjuh{)͆.U9 ,ez8ؙ6ud-¯Ec4U|Dkڴ2W;S`\O`[hY3&f  QDoZwfc!8AT@$UD^Y ^>#vO=/UK4F<Iao"'kkCL"W~-t:[䃩7wrJCThyN}qX`.~%£8v>[z̠ p „ U3.OHTixKn|"gW[8CnNϐrÎKrgjWw\|Gr(8 PPgTpp-^RB zSĶpvOxEH;VM((kVw` J{L?Z^Cie/_̻k%te'AFl3p~HnewTa: _tSĔ] j הxye47Zr%~鈭g=JRm5!"4|!߫p;b`~82gɸ:`&a\Gmb}q+eyf9OJ2=N=. 8!-"KzHv#l)ڠ Yi Vzv_UlO\3^e>Z$\I6oa&~P JnS{i@p:2@rOm.  ٴ;٤SV-5Jh،27c*]4[ 5W"\\r܀y06 L1 #;(#>]6cb˵4 ws͸<#ڗ\Y5!p8eOXd:Ģ 89zm_plÂeCmH=9 *щB[s[w %_@/HO^=Ehϗ>N\%2H3vOhA@{t 7+އ* (Y( tR.Y~o49,J|@\ڐƥ돴:]a'Q+zeA+vp#8Hl+zg^<7|ҡv7p0ju@!)Yf{jYUqD*K 1mq[ŤXe(7]@V+Bhj}uX7Srg,ʚsGS=QJ\W)8x)yXżNߵ4Rnd.Sc'v3> h[2ԇdR!4J'f$7L1?PK.R[-uzW^zdhg?ȲBu@3ϳX>*YMJ >{d$ҕUQHmW M8rbT|R>0nu3N˹=@rh]21yƾw$I  ݝ gfq%DQeLH|P1&Dž:L^]u]] >@W%=itv0 *gыwwi wh#bq\[LgY?dx_Lj#-g(^- h25)2H"ڵ+| "Bkӧ ?~N""QD ~bD y 9?ٛ4Nkc@U ҽFg*/Z'8ܺHʤ#+JK o'L9cЋPtZbH<(^] :zA|k<:ȵJTVV+m?C K\*?vv1Z3VY '֍ EULGn~?Ͽ$;z:Ĭi_?}C= 4  {7{+XBQ]~rNOQG/|밒ܫ._]ȦJr9+Sb =*%~4e+ kQRdG˴@K!qbHn5<$GSH=}Ѵ~.#b?ҏ%/ͷC1,x>W]5F^*ՁoQ9vv١H<Yj|S!\|t`m5\HIɏfe'|3B"+`{3xH NzI\Č \8 VΥ4 @X` u\3ᐡ6{Xfۡ7#3<#ny`!"(:cTpD+2VSǣo_ ҳfC^, u\f"![L+3AM?)0:n8nzkf ;i(j/bbn/R Lo.kG{-,.~+ynål @l  lZyyD'NQ@TTT)\Mc..dhM6FxH"L+kX-g.^nܮP7z=xɐ}s4c7f Ne@3b>6ܽ;i|ӣEEX pP^~X&6RhY<QX :a +BIwv}Э"gm麭]U$Z'CSKTEmJk;?OIuEj :1ȟ#=/ _`խ%8wL(-wշUx/b97}&Y2eRYyY]5ۡoBn<->s4> URPc*fS-%ظ<DSJu_L BQ(Z3;bo`UMX!Ecgև !DGM.)#%" #amkB0^"g0b Opk*  jǖ`+tWvVا d`sg v"uqRCǜxL]&!tlĠ׀AȌD-CcT7(x:KsHឩ}ՋH[IVvgsQ xI={Qy+UaȞ Y⋂`~uHTuq9<c@SCBQߊS?؟2`&ŞCq1,K0*s CidAIkp2M%%NsZJ5i[g}dĔ‹{iG3r͠Ʌ^ 82 #: iadK_k{.rt]PYTY ɺyz};]"vDRc~K{XP=_xhnNNKy.j!$KXz(t?YZ[QYI_SռKs5 _">2jYV8ԶCt\6|/E8 >a?vgK5,~ɷKf[Hʀ*|FuDHwv$CE86{?dq(bV&:XL 5s@UnqYLy|%e_D.b%,;Sa$r#||br_qva5k_6m=~̓ ؄ lX8k!M >+7&CYBܭ&${ZÙO1S$e=Ȫ_H+(} SJE`C%mLyKds"a;nR~1ٚ?@RwV2 LCiY7/F2|F(9إZ 0#BkA);z;tsxl؟(VTPk^?n>ʜcYh^Dm!:7=ѕg;R7vwZ܃C!28 SAU}``E$wA j:Ck&F U x>:U'@ըu M ܶQ27T[RwaLNӲ@8oC<]9S0bSh\=wiגBy:ţP@+gFLйbbP>?F˸Z';@@dЦR-q/*}KrLWBQ4R@YBM"̈́|M Kʟ ˆc/r ;{eW]sVN49H&R!֒l$= 2r2-qj4OmnP-d0ܲpC"_{8)BaIGF.f]1_Mq࿀6`5}r0Z|nJ5bj.X5P>)j`JR`nAB*2;1k+ƀÏnU|q-ǹ$ؚ(-ߙql4j߳hM4V[_6-5La`C6ńqwऎsKXR a9́LO4[z17Бef]jdR8g |vT.? V䐧\jwT mZYf#4᥃U_ܓγ*"gb fТcq+%cd,;`jd桮-FCg*` Qy_ls w0"Kq?qlu {tB,:o)=7 g]'a糪M@iSEYVK86k-ai~҈{LE/b=[b}/ -.3XnfH-$v&tHl^.n`g߇#p$ NTvbg^y+p«B  H30MDq#cN!&$FF7Ue"k958WoJ\.oW]GY?xEq"(ve$g̮7 WGY s˙ , ϵg#@ϮCOb4k%~ nꎫeBfcb]j3vГXդ銰GتiXw]r|#S}}vf'g ã.+*\E8<{XK(|i MakQeÆlo?gb"G =A,8|_fiLMPP[#աQ xiu \?H.Gn@U\@U_dB}^py=MxWC2&(י`,V=!5=#dLB:6g4Vvޣ;m0q\0"ʛ5Η@Zz9v_!*K81|R;I ̫jK[XF:U;N΢Z-'jp垨_BjS)b E/׮KBXb$ Ⓓ޷0ϐNy=MRs.wdw~2Ej~hUX5ΘWN?fxAd?*~xAKWm<Ӗq̛E9ǽr'~JBvjR7L%`YWq7Xj2 (a0@kb|_9sz*%iE'֑hzŅ_ḺSH#Y< : [UR} F`X8B*x:NZ2P"Z͎ybA뉞v".=.zcfT]&bNٺ,]_+oS;MDS:GI(gOFRR|x?WFssN~W\3'BfuuힷUAwY<9/Yt`!gT",Zk5WQy%pQt 1Jiڒ%Ř 5 LJ|( TZ&1*d'ͺ̓nWqC V|OC H8'bBAQvN+ 9\93庳;&m`w_b]}YdgQwxQʇ*XғD(%\Yj o~$W~8pqK"M֡|Kr2v=1"dHl}߲W}Υ2J򢱁=MNK IRRL"4@\d7K2v^'QWvf`1D9C-4\њE>/-lᵨT+8rüBì9BtAzY:6niaiFhHh+3 5c>WL'@0H!̍HFlWAʿYt<#9l/(׻뢟A!ioZ[hK g ߤNd徿wzz1E>+JX:%*z(JI~3ć [XuȎѭ{xDO 7|"3 QAd >r[>K}EFdPn}^(Ho x w?[\|Q]N?am3=zNۍOd $JHkE!C6#ѹdsuq.LUtfŴl־v#%z<-xjYTBjrRGqVgMp7Ix:> gC+?`NruZ8CkUo"]\.Q7-YrHTa L{ UhiX#OIG=NAxY/ֲL&xG=La(LI7 kuy~@(V@{Y 5P&fjC811irF02LnM?tnrQ͒ibK;[8C.0/q(DHmiX53&rm`sٹ͘ad6uX{qb[FY"Ii <h3D1r7A/Vlh`'#9}&siswr/ܐ}S h9,pف=g͌C\RVR& o7o9OٚÎ:z}V,qT%=--POv >RczE>Uba)R껡/oCM7CkNk {i9ꢃz VPC} i'Ő;2,M{sF!g Hf11s: L W? F1oX 3< {[Ԟ_H,_QR VD&u!shʆb&rM8v`峆vx[}o]<% 97M{_AFʚm*Y'f#m(}ȇDm &C "ET'ym|FT6@b{CVWw&`MG~lYrWN0_ſZ(s~/t,`"qeG)KQ:̚;P2`+."R$T.lU_,%91~ֿdz ~Q%uYIww"PG~ly F[=}у렆~xv",?!(V/NԿ=9=Rbbm`ƯUMP|t̕5%/qP K%PZ|Ecj2H$o\rdUQet0uU=2]iWQHT\Q{;95j( l#䎄6V2%bҕp8" ρa+Uiybx|xI_:Ơf,۶Y#O⿁G }/%`CZɱCQMЏ,ھb}[,|N܃:˕HXuauRNsdp_E(6;vy# i89EI7l!6xL?uԅ/nS 8^!Sw]jmtЪj}k͆t^t'9$YD7:|Ym՞Hu4C̍3PT)?,Fof DW׈eaoN0k3: |.M0]σ7[]vJK*G}aB܇sLD ~C;ZF2"_?+CS gV_K)\~6X]e*ˋSuȠ $|)rAoe ?,d,Aޡ:$5%^c"&#ėO9Gg葺'yc.ZqװQ;BYO[1pH 0~xi| áBwhQ2 F0c5&cDMh(^ *9p0Ƴ Xy<5h]~=Y|+gn҉rFԱ*VK3ʸz6k>𳽎4Yei˜G{="c}A<~AY#Y6tG9gj ] I$~ŕ =3m\^׽nsc٭Qu#65d[5eA<ϔsUȥ MKT!5㣸EΪi&iBMhQ†]Cg6# }LU sЁA2nI+/^\eZfK2+>XmLPO W'1TRIIT&nmkHcW9U/*{F?2-z#­ٳ~ dZ^{F:$tfN8QR@r< $7Cn0C'\ۤb&qxlp:wnLOhV k??CL4O/^2y 󗃫b֯`pGhJKmS1({qNbȕ6gCv?t?\mLe380f\@UF']"\@>k+zl0y䅎ٚe&~ !E}SI cs0<ަH[{mJrwnI {-_4Dk5{PQoK6Pt{n'daƶmٍ Q~g;7]9ݫZva"Ġ-ճS^Q 8Jq "Ie~/zW h%Խ%K[fޟ "c`v#n ym]aW -#Xvo-B+bgT|#rAU_9 uٯLj siWVpUyb,OШGx:ָldiCucK43X[_kn[|*Mms039Jn.Nym_G29H@20Gxڧ @ƐFqf:OY ?=mC>clYx S÷c O{C7X\?$9?>ZX#R& Tq^"'_Pџ0 ʀԓ>2lWR[c_Aik6{^NO= Zޕh6gQb5ݽ-l,ݬn'*YnB!S]| tqUNXU$%OT1)מWO@_#k` 2*@ <gC_ 7o|de^}F&kS.)@m-odE IEtL5=ХHl^*:V/cC.0SDVhA󁁡&@:ثN?5V1bN9P֞ @(<*äAt(RECH- %%BYCP+\ }A-{Ka=6e?Y'O,Baп5[8[T]wodfC#\.ٽU"C-f:٠_C4\:лF'xFi37Y5)7JFB25ǦI1:`67Z[=%U2QM [ [g ܮ9sJfF-?B&M_!j6%3{djG>cF;辚szK*{OJ*Cb#^x_IL@J-i[d NJlSUy7 F1``݂/F}"r7ey il5) sFżfV!*hW]~/">9XaJ5Ji_FD\H.7a!Z\Pra7kUyk NnA]?4F"iQem]^^~CG< 5lBmHۑ'A|D.u#)C%0o:ֿdt=+,ID]y{1~ՙJs0ƢY:EUS~ դ#?z &ȄSY}? Ljn:4wri,VwxnIA1X'_Z5(SGzo?Aƀ0U=o_լnNwǺaP{+U.JƌZGiՏ١qJ ;zNf}x7B4o.rJpARV(u$4*L6|7'i2:# JP:{ygz˦u 3%5Ce]Q$t% 0+$ZGƏ.6˟hvY+!䋑!,կ~pCI>&ג x(Jb˺C 5_!Uo qRGf >dSzP (g: ʎ]e=ݵ+oB: ܘx_.V}yΜLeUq|zmpZ}3I MsL Y4YF՟q*c7XFYh⋷~{Cr6œ?k-ޓ8Tw',)opFL A,aڊ||FKV2Y\^>F4Ibdyз&8ʣf=h%@(%ȗ߀w3h|Ip<&{7b҉[>}!^>nTحsaTYņF0> v.6pgm(f N LO{+< VwzcR>y۳ʿ6NU!k}*7ZrKgf_ ʑeEEͧ]lrȋQcPc6V'V"h..)7'ǭϚ-^_2 ٵ ?5.@d-i}tFs~$|Y% WGdgpV E 6S#ٿUM}6"NӢGeH, -1/cm|K+*lS('z "3=\O9~"G7xO(|JUB )G8:¬(_:5$){JsFȦ6*04BnTWLb y ,VU $~",c 9c`eɎ6"lp1&;*xaU埋FU@RB|\OZWD,g=w Mޢu#BB-LQG^|ڥKBFUQ =Ra\KCīuiޖ4 ⬵x!"( X]R`m|uY?pªspt*)I߄TUƜ?A|wctᏦU/(ѩ4FMU.v< ͓(=2Brv%A$ /\R;yF TM+[_"m {,D>k߷'S5(|xo?$8nNzy̻X1Z\S@֦5\821Rd<{Ɂ$F6/&64tix(),4Uzu?[mW`v/c6v=^?-$a'R# HDqIdGL94.D@ITx_LI;q3uHkUΰG? b8HRqA`v_o6Y I[Cr[a,zj #p[G)VxWժ5: ic?B?[v]sJ6 8SnvMw ϔ _JłF++Fp5E`{X;:#5F\f+Oƈ_~X<cLuߝjwh 73w r{iK(pZr2vi4pgD 䣙>:m߇o*6Aa7*WhW2yj2NKo|L׵9VV "ڿyG!.dY/Q]ey!-b,\$hP+y>5q8$ʛYkDVŖVwOy@lʨSA }9ivD#rBUىi5GvGɢ!p2:t']7|D}qKB%gDž~c7H!Q^"7!7*1g t"A9ŎcūcN:j7ktq -ƏU?4onBŌ 6xn *0_3s5 -< '!}Gn5]}U, ad# @Ҋq`HiWܕeAB_,h]F=t%Bj|[Jttτ=F*f~KR 5H*4d]*g(FIx%rW{]CuZ.l>Je[Dw4OV!x()Gw^V2oiVwZP]T ua aRW\4.'!>y.2FxI1+V \궠5C()B~D=T-@BG{>F'V."M>%_ac^ԊMNGrnaWm~9J?7+O[G/,8k7'pmߑ'@*^(JOGo%:ufֵד1g92 wR̂Z ?7M, [S*Wxs ,tݖ& xZl?t1y>Qk,Y.\O[6geg-߇ v>Θ&G4,-lac7&HYW|xZTv)-f#!%Ǣp-<5F)3*0 Żԗ|~@2'< 0VXm\w& (Ǎ,1XH$]Yl]61Q|ur0nV0j`\'{τ +w%,8ZbN"8nXHxAACwg ,wivXu UՀh*UioH/k'KZzH`),LN_B|jm4$Xw=[3:8ctFP[}ֆf1`(,#eUj:av$xa T#SQ˝skҳ5Kb͞1/̋O_bfemD`Wn #쏉V.wT ZYݞ>jVV8Ym$ dԐt$|NZmuD_ԭĞ) oݓ~ eRUw{ R, ,1.б>R ,(<ibhCmQsSY0{C_Yuj!o 5{vtL>⏛ "Rn50`L$^Og9CseR6 Ʋ ,zz)ڑIZr>m$9V B~bjFV2nYdnU6EJTF&Le20R'_S7( #9l" % }hn M*MS DItjrm |Y-0,n @U0UnDѽw!:F0΋%h3͟|yczr&3s*WֲƶyVeTt_7Qfnڂ{4I:FI֐f{]yeZӃfB"9@"gx=@fFA5EP=V{2c4"2[:A0הO"S'@@]"i:%6‹=+J%1lrZV :E88=$ C:טzͼ|t}I/ zu4aH@TiR=1j3M\ (m_U y^0⦕&SdW̟&wx1-ہyk%*o~C}u6.խPH7T~^˝tc9= b`8դ+AEҶW,}hƍ +a47K;gfd( dp 7Ce? _T7~w+#I""$o&2E< d\&=k{Aw$%vkyYwmU9:c)hi؇G7kbRnq*LJ*?k*Gφ̧*?믜JY`W)tȷJ9؝5vyw%g)0}y9&YI,1kUdk]Ɏ<3:kXf}͓ʚq䧰0lt(5k A}!M_t!YUߕ ϲAPsА;tJo0]g"ԓGbA!Uo ^KG3 ׀HW Y^:ZPJ5A_ ~vn]fK!qgA1CBzlȇݢEAe)3 ں괿7gA.//>Ƞ#3+>yfǁ΂ wgdHʻ :Ύ(/ AH oRJieOmT|UϛRQXd3ir&y7s ̙"[ af[^h VZEt%MG_ Ppfж -*Hb0pD\ S':"}Kp8UBVR/ܞP$iq"c7[|2Z˨YGۥ'j E/QՄ/ jyLlL.IYBL|ls!qcjg%=f(0g,g IO 0H~%YsEFT4.zؼn{Ksg)@Ե=x17E"{D霌D^je l5:z+Ը 0|U<FI>fۍzvůq$Ҋ`p+?*Y}0$N2j5^y>uY$b,F}J>LI4qr[؃|783 &LK!_MW)@?mEX#w{R=# ˫GE-(EU 3 Lɽ6(4?xU:%"곐cq'zcdivπ J?t6dRb4'=$h S!ؠkW†O2p 5ٞO&K]~qWB$¿pEc]vRAt]m'\h FT/SE4hjec\]RRo~AcQ O촅8j ;Joy\1姆1cT{^vؔ]m i5/|u czC6[#5v׸@ЉÅ瑑Mq3o4'PddC c<]I tIMx kH&zSg>*v֬`O,2Ǚ /i'Kb\ e#:crҠq EqL8QeANĺL3nc$~#:'"+ہ>6&o36r|_ Dw &@ZWZ)qTt}n /]qRy(u|"hRWE%n$_,0Ϋm!z,3)> i.[ J-tg'ۜ=欴xVkOi& r1l]U-W[DM^e$odҖ^eYP#E9*o-sT <șt>,(JN##l_˒Pϰ]aSC5,%1UQ?/>vcLħCz}xMhhu ծS2}&Ͷ` @U?M_sY >f.foV_5M;L͉h'?v1qx 3 JײT2ɬ`U1ds$5$W)w5]oZ{A6Bu'ؼ# rS}ѩJ hEÁewL[ȌQr6EM{fEaL.vȘecV6c̢צ :P +,L K^YzlsUg9u eFeb&r̙d(+7Ϧcs=lI#]-my֍cp~S*OB-m$VdJʚ4d4uJݑw󌍮β@NZf{8*w U,U߈ t="fCvwXha0 `鸺,&gh~vbņQmxq`| jrB7dHst1R3HZsK6 c{UyA7{H-@9ȼQ,dŘE $ANEnptO- uFP! d 0Ocx(AEfe;2-L)r3B=6>I"1mh|vzӕW1)[9\hƭouxko g#ߝS͓GI։~iwjU;e7Uj}Zm/BҎP LnO[$,nLPK6lFKlo=Yṟ6o۔q4~g7( _Lanߎ!݉#+"|OX^-Ck]i0OLC!-Aނr̶61boO蔡L C\ ~Tv*?9o5Ba\H̤9}UGW,NZD pGnWAg̝+TQ O^:ZkR=>P8~1FnUﴛ$KWA a 6H=Ó[T%A@g3NCbj:= &Iu;?$جIJ+x)2XAԫ@Gq]0чZr ã5'Xe~ f_cz=[늃E,}yTiCI_+.Nl4uY5ֆR2h/0f2i4xv"ؔ2Q$LV|TBsp󪎃UXxQS9ou%^a[jAFP+JmFɓbkٯA:veV3t tP¢us5v3YD R5 C7Z |6|^&OМ0'jv-sqpC`=Km Q&y/SRKª4+ΌԧgSXx+@}O&O0GiV 5MJ˨>:|,DTm>ϫ|6JiaGa|i| etNV{uy(F{1.ȤcfCw~>Q7 eXNR?f?YpiŰѰ(`6&x.< * "Sie?4OOuGv}ߨZ6w5DN0:/zjG/~7rCdJ@.+B؏,MAw~J)VpUyt?̙ ~hҧDBG:\tU+Pu^8Lst~h#|%E'p+~ Ͼ,ЀYcd^ܐ*.r.Dn@Fi2FRYlAqCz.@_>.0Q0a1_I1p-Td,JӰ"O,YHLTX4"˃݉G wWKhԃ> gT?.^P3 OƬU^X3mɌOv 5x ૎P vסbnf_J9.*Us8 NP%DR34›ƽu^CHCݻ.#J;[upF\7*AsL-*=KlGL~K6zAh]0W˽tJ,`Լc]聭UX\ة"/ ݾr9%9 n{Z#8xr`eG4 #U{7Viͤ{;N)v|FkK .!'96^\$t.I!~Z^Ҝ Ry| K`7νxӦ/b8))C>zcd]6i tК8SܓkcoNGs .6{Ewj:ҿKaBf<2hp:3Aí{a ÷g`׈X fۼ/录 ~zqAlF=tU/9UYo}ߘ>%qt@I֪T}n?>9ꮍ/^И``5+B PLrR"׍Uz6F+.뒋jr >)0{dĜ]o!2] *}S"<tuHc%wMâ-#7s@_ZLѮIod.y(f[PrxԍTe5$'QI_XfT4IM<@mFa`?CC}.[`4~roeNVܷb-K'yf̥^T1ʴhcx*(87SRJ^(ӯY1Y]ңBu Xh:~ڸsrW0޷$5IlmkM@>fa '0luR\TW41*v09_Ř\]7D߃%P45~/֏oH?4}yb04NH>KY+q;X>|/PYhl5e0U2IRHUp'b f^L,c.zc09uV=Nts(UBh:Vy2^?ͦa(~Qs'/*i!;?@=`yO;R |&d y#J}]]0ԥJS,,eO4 AkE_/&`er22|2nM93tl)S*Ml1Gݔ8KZQKe7 }Gx]^Nv=W`c˖ݕatI;a"Rdž2aSPђ;R@լ^EHeQYsL]c"UӼQqש;y?W/8%KP.k?[ BlShfXC{(dPү'&Fq nII&N ׈ҊZjJ  ",(P7Qu;o~#C˦<1ՖĮ67l;##AVVj.PzjÕfK("̈qk#pøs/ι67lXќaOs'S5k1vH˞hM(KlQ3: B;#PVS9cL?jYZ 12ˊ e+4/HލLpӗީ& :rG'.i7p}6 _'Pnq0ȚfrIP2Hlu#n}ߗ\=%< "ưvQUWS׹w/ƌV"Ɩ `atv4Tl@%$GGoMEySԀtɰ4V(oCGͼ,x[3" ,Z3u+tʱgKQX*)f6Mi``),hg/ o !ʼ_A }*do̡>pye  /ʹ6X-m?Ҷ "KZ.QIPxY|iqb㣸0H[C33{Pᇞ][?p}AMWG~ SD>&YZn Л p <#P ck3TwiR:Bڧ3I4Y+ֻ Kq>$đ'sT{SRjAvlJ|SD į#-XL3aٗ_ .k-$ƺPT'],*ѭcs"vZ0xHqN1V^ 7%k@ً5 N"O Z9XJsږ"}"E)=VEBFlFaqiD^ޒ>Mr{YGH .5,~ ȤcO[ &pWޑu/ m iie4zq#2ĨYU쫹=$ -z?'D@-8ϐZ 7fSbv|CH'et Qvc.Xq㡣A ?+e & ]b,]gjj2syF?r~8]olgm5l)Hv"\wjc+uOjT5e8ԑ1u,rFK TjS}j t 0&JD5TĿ Շ:uc;@!wU5|0(4ă]i=G@yJq/h?\>ns6""&8W$[$zO"g'[Zn,%qM{Q4w(~:q%%B𽩇4٥A{(~۟lqDvq$#w( KfS\CM]lKtvo^ZV2Z <>5 N&'aq?V53j 2 Fw&o/@22%GP } B {RTlIH _eekՠ}5E\ [B [AMq!V+Z(ξe~jyVjgy$X%jg$މ@y*>Er刔 ѡMdTD_uX!WɓR=j~T񌍞N6y"|HƘ TvC{.VۓZ8Ф&+c|)YŘxfrBvcc6h@8j|+'ޤJX:^tN_٤$S~_ُam#jqJjo>vғk5F̶(߈![rs4CC]K<{8+YP^Bsy#&l{3 |x7('nZV3oVF(_Ҭ73^Crùcq[$ (| 9?Or-d jTّn yk+.;՞P*m^¿VD҈afϕUYW޽<ٱbI0}HTh)!{IUf"rQEZ"5rKWXo/B L×=Pc5d[ԈHͳev?_Vā //MqJ~"㔚n<.Ȓ.1+>H@~6IEc,(&mhR탆C?*h䡎!t,Մ^g dJMnhiA:g"Y:!mCZCAmz!{A{GRBFNDCޫ3[goIh B/%j{Kdȱ_Z{O> fXjj\ k V '.a0 @%sGWiu I_oHrq͚dOvOqI9Oi7*M:[ҬtI;1{?$\Xs#9Q >70_ [{)Av6+xWl/.`u ӾmWMƎ#n{}5QXۛyjc76 wman=y5fҩXLZp.ۏ*j9~UQGjͯ1Vc|Mv{sBR͗@r?Ny+{u4%nzm䰄P29΃ J'QfLGT)B.rܙqHkZ\T2 .u7K6TBmڡ$P(.cGVlA91U3}O__~i\ h&ih}i&*:9GmUG tw?xX5UU>$Rhybe8~)7er;,ӑM0ϦM&wRlo5xP% ^{YFڢ@ 2czL&@B.|9A7n5'MAdqf^Dg5҂=+ĭuأ%gB'_ejbTZI<=j-SK킐qδ/#[O'`x^f?q0j&<;#}My mV.-)ӈ%%{lgjL!@MAp[ͼeL)d7#Ue|@Jz.-,Q>:cP)hwmg \.TH6DOޤ!G ^VvJ4aĎV / k 1ߖFqhy*+瞳X[v b|sOk}KF>@@*9P=c@<ڴ܃Yu-M6="?S;ąEW?-U΃zD>Ync0cNbR1R ^:9T>aո ܤQp%⃂!PXqV",_G9 V&ۺ? p'*\ͩ_n+\,U')6TY7i[sޛPZ8^WpרrHݻ74ufcDI}{.ۅn Y3֮B&5<R lO;!I&]3ɶmičp-(d%Q,N'fI+ m-_ sFAk3Uz,B(3r\ m 3TS-9ٗoHd|[q"+4- u(h(w ,*ֳ1YD9@6 <Pq~$`~D37Z=/'2\Nx)[8P1h&DR㛍:^XZQ[$E[DwpUl$K٪^뻢麫 /~s*ZYG>. M=}~]sDݩn(08ÉJ2D.]︹owޔo]aII,̨F˷ʔus{ErpkD%BK`\q$ OK {[P= ΧVky8Tגl|/I.%1[a{E,p7{;=D.mF5Ǝ>+ I"y{dޥC#Gq5)^;)B4`G2S+N5?3z?"!׆|ZATEEC᮶b {%OO^DlςH@hoRJ7*r?A2c%I1dك4蒶7ZToe sQG@! 6.dS 3x -HF:aMAΡl-+⼱١?ch%Y>IKt.u?(`}zt:LF{_.q(nY=fadÌVc&jRj]pb &?үHOpoxoBl!Wp P]b |%7JO;|N2nZO*YhƐ+r[lYp [EPpo}$+; EC>A(Vmg*k*8١}uA7\@KvSTCk-C `"81zڑЉp>Pf섇J|;[AJ2N/t8Ͷυrizjɹܡ(oa̔^.]/*xTǎ(φ,Y|l+'`%+jWU/띖gW-ueBz;Syw\\HXdQ:u#ˆL5Wl%jOo!rNȖȷ*S}Rz $\ ̶}XQi'(GiB6V*J>_8c* kUȵ^6tH(O F8z31(g/ ` zÙ`_T כx B9;F>V|6]AS<ٳg1 'ad%bqV# 돲G E$uDv=2 r jٯbyж 3R?^X=4O9^QI/4}ba"@T;@ä:72>ٙRQ%4xLq~4c lQfRA'W{ǐwNCQmeo -mq꒨_zUV^X E]žuf0 :nlO|,^fHn 2#Y|MS=Ƀ4fkkih䣓{*k0ej:3_m#iW&fٙShz#Oa#_6dVj] fL3N/94ojHnT7 ?;kx >8U=TZ2CӫQ\fF_='@"`󿰡,Ъ/bO/Ur4EyteT`aVxq_ L/Ȋ/*NDY1 VʘL @C-kVx?{t"!+.B#u|熬s[n-L=q 1o1 .;$9AP/’1DWŢsZoפGFHzec7%<;Lk^Bt.H+c}-qP~WHDp2uSa4C飐8A$[K IK $BCap%O4j/MfD Pof'&X 9]~#lPEQ!q/գpx&e?*~󅨈nQk`zڨJPɟWΆ"ڥt嚤Zgp2TӶ6Ng2:lL[F N j~J&8MwK`>d݇Ȳ^[ah8y.~R#@WS`y?g#w3P R +vHs9WōIEt{ynzuZ| tG(ۊxtu.9<x^ |QVE׉ɧ~Q6`_<pbលQ<ƝUo-ܻn;Ř0UsRt`XUGM4Mv[χ{~UOA%o7~99Afj?(Jn:t __K;;}?po_4 3|=$n`"sECԴOu9dWJgbٺ 5N'rgj[;$u=D59o$k&5@,211}-'DG~h"C`UiicN@!mtEle _STd~gHUKlCojADá{Th0 StKE>iwPq <?sqN;F( `HHD)/Y JM=%H6n.qm'Z3"$-b0kdAY+;9OμCꘫw#i:wz]7# hHJ{xmty}#uP}ʧDdi4p5`UN:ÀӚzD=)D{1Nܐ&s_iF<%O^-d?dh.ΉTO+Sڕ=;5eV qR-IyX%@Hd2TzIW?W|>мaQnd&jTb1&Yyah9$uyDlvv9F׌fe^RomCA7:D? =.#{"`:5:cʼy]v֘ t%o9pܑ>wYw-f3Fg\/}s3B 5P}#61k= F7djj  T!bNѥlmSےJfrǛqL{ B^ee2J,v\Hؖc4$ʉ+WPel:0 tvo/iaTn$cOXJfw^V&-j{_׺b1mTo5b)7mhZ'O-AGH|rͷDN- f7 ϑ g[6щ(CrIfXP՚ě~[ե0zqTVH`72 lr"TK3(i[x턅VvIhS{l_v=_2@ 8#Nh]`zs29x&%eTvWI/7yu0s8T ڝXqV݆NX~5'(OcˇF&<_Ir,Ó6e[tv|ִ?) i)!6P̀e5M*iA9%m,wX + ( j'{…zwėjl,@l.5y7_tύ"a ( ρ`<S[TU>#B_꽇'ώeYM 2bE lѽ6őuƼ> x8Ӧj`J 'ЭN_s=lGd~fK+[N.syyTd>y|dHl27x aXRNECδy?~퀳߰JKYʃK:tˉ*O| KUvһܖ0F<k%~N627,je:6M(LIONxԃ(lgO V!qD̶/T+~]^A_UG5c[%6gir w i`%p;6 !, nWSfrf :46hC6XD mܗz^ڔ15Jm5Bĸ6U$irݼj`\^A^\e%_4;BB+F58Ц#fmd#J$ i[Li7 .,eoZ~Qœ"=,h;:[#v䍌#f6xC8w36,bllc7mrnZ)S`HGd%|(#Yd=I(rmA3,Jڵa(9dvzX(S^44Q=hl7eW-j]^^(8j=4H B3;2#\T(Ev<[nW3dRLM)m vn:jM9Rvk:[ j%mjN%"} vS0L8ۡ\HGyVhLDdӶzE1UhsИ.w9A">BD ͫ\+obTXgLus A-/-N W񯺾HuL\)Pv_DjyӲF*Plhŕzo0W!A{DZqI# kB{H&&J;  )/?l|Ġ{zy+B zWMꟍ׾$zͧ;D\o ^yG<.>#hNخrP=_lI| /욒ؗkq ˎUu.oڐZ5v(Q̀i~Z6]/5Q=&$?${xschZi MCjrOOoQg +<TD2z? 7.YgHz0^Q>"I 5wF#Zdm31il\h<3P 3yk&#{gD`~ۋȵFϱXPꠦaBU}z 48xJMx7z4J~ k觀ZuG̅n}Ҝp%5„7^wL=ձSUDiIGůUϛטwPJnm2 _(~<ƳfPQ KXv͕'`d!^ ,1]L#g<m [=cq<]|1S~ PJ{(r@R8e7DbJή.ƅ&U9t*SUo~2{CQ0DZ܆蜱$`R>BȠ?zEn]l0 S-Q真4l 3\oE+{-b(5bͥg,vOs)'ֳS6dl+A31 K<#(VQ$Ei)Q5L#fyHz`|wY@++Ud%j9=婐yo|lXgv"4#vdKaR3[ۋ`eJ5@ * "0-HlH) wYCپOnn~D5Cld0;cw,I䅶mh~x+s˂U7_8t1Z{tZշ2]2LsbJ.QSA3iތ9+0Ruj[>Aشh3{*~Z*vws$@K^nVJpybgPS,M, u[4Ga;bLG\$3f1,ja/Ob`G}IE!4޴aұ/Ew+OUzM}۶@ !k͍ $w!LT0o˾t[|%WFbB ZT .7 } j~\y;6+ȆvQ,kή6<&SI=k^ELLtuџS<:-' >=2c L{(yi.ݏbpk ,I~;XvL숲H:&Yĩ(3F5co|N/sw: 9I*b 9-~Z{v?Y"debquj@L]@iȲE uY`.kV1ʿF~~!SSGۊ< mWVL>%ڠGGeJ2GM+\42n+L4-j3 >?O?3F8HG9:iԧ~3{"h-&LF >jmhySyD.sbe'*J[WիSYCBɓ0kg/!N [+߀n'nhM..Eh쭫̟0R]~,DmuQ/#Oh`@8 9}^.qocMjp>&3":w(Ft'=\vn2{ "P>%o#(58+Xv\hH_A{Rl JsKڈ[*-(x.zd?'@npDnNPc t=GSbo\lXSW_nܩQjBWen)yn\q}*'fvd>/|Vs7қ`z'Dyrix8< a-;_PhD#kWGuF,N~PS P] JؑfN3,>|D?ARyjVO| *ܤvhw!N{ ۤxi9zwpQXLƪ,MUPE+/=No.p]0΀SqЁ͒o>\:-=?$:pC/jqCK`g^OPו$mkh#(ߣPXotpWVڋItr %'-+:MLLb?oy@chkgZU=Ȝڧ6*5pyϣ S7$NTNv&[>//l~]u7ϻYKZAT8mjP 8oPP;pYsYҌ)J2 ˖44S'r19b]Ԁ[9PX:_ x"ؑ '?rsP}qe訙ny;p n{QzM~A%;|]!|˟Y@qN)PZwmC5Bnge-[$JAXZ-1vZbnVf<-YX4([@dFIKxbp䍇! pIl ,UAx /qlqj``}TG^q,U. [O`E.Am*xc+gb7T?.uܹS4Tԋ~s!2^S)j53P_ |z?ФN&[I' v"UMnu2G`I075.b!:@zX%F_jx v !AA؜;jj}׹5{sw npLU;q?L.Aa!VF-ɀ\8D@lrR) Ňq24cץ[#hZVڵ(FD48Ntv½mc!,"a$p5)31G1sXjh_mW7ͧ,H\+)P_7,: `XO$7Rvu) +*&pAUPUbor+$HJ4%S*;-qh^DpNgϾŴ#^@{ !m\lzPC~ vRulMMFR9[Iz!AqNǎǰaA"peĎh|> (ӫ%Κ\ރƾNlD95ݳ0V wK6./ 9{d5ZXl&%qh+6h]>\![XThRFQC|;H껕Khv,h]o$۱>]Z"Vcgh'*3X'|Un>;̸k㠕,a#+ BO tϽs)j lBy~L;glD7Nh?_7SGl6zyD  V@!$Sjc˺nc$)x jIe~.,,J9FLc$_cCŴWd|`55D;B(|G\±CFFwPʎW[6'x}QV[W.0N>k](ZD9BA1ٙmJd1dSq @+ + "92<;BVEA&z)DzBnRuỸK6҆2;v媢[623 yM*Hay%fD5rz`ϐՐnwW[ L;er0J >^8ؼU NTuMt\+69U{0QmsNvTx2^Elk3f^zf(9$_U#пn,eBeJ[֜aM^L)7hh:Af*8Fo륺x|h2ak>~_:nm͈͗1^,uŇsR`0}S_fR%@J% 4d((YD+$ͬ/AyG>ou6n}C_}ր۶1(@`~=;_<.3_r.2Gzj2wjZ- =`!/Cj'}Áɩ|D`ug&8[>͡al/o#aN*KF2DjEl ˯&x J Q=c+l[슷8``ZRN}= ;\ח %{ƕ[|hg\2OҍTU vO.3[7]"Euh0)d [2hqVG?󞀗&kˇWO9S P/l,Y^[KOO>gBMTU(]gۗ:a6= O XS `d7iaUZ%@y|3 ʡw#h`Ou3Rm6Ts̉|//`(S1#svm<5r۫흹!|lTi9zr/'1CLsX{]wh:Dm-+otJ2rc$vӀOƝ,^zGƊI'ԩMmjZBIGӓ~DA4 ٰs2JO #5@5#7e'W%J{VFSr&xuΜ\3~~CF&}wY' ңHdD]iπ ")g"΀=(R!<)KVj#O ~QP V*HX(L_HDQ14*Ħ6d. "TP&KmȍE㝋(."IrSO-ehiz!of&ʉvrK4H2U+) 1ZW2_R@MI݁ HO0V-X tN~`?PDlJ;RfP'0Ϝ3^ 4T5.]9] P\K =\hl-XP]ى6 Ր=]zux: v`QF똲+b?7[kM_BD4WZ̃vpW :b(c>gD퐃]Y;bk+ȃS vjf;C`Y]_W͟ )gN2'C:ZY83QynC6 п6ř f)XX촕{{'Pi?vK XD jA|>Hе .XVA☧ 9iz#9}YY]A)&=>a  7S6Saq-_Չ,oUZY!-F9ڻŐ~XbI9E_hܹ NڼVD-SrٽWa=*d^1\kؘ*3*ldK,=QFDطz3xJ'lږ$ ތLY|ǀV0s=:Rd \4V142|Ǭ;.'rgG+“cqa E@בqoT}aNXEg15pik Li@n!$~cg" mltLzmoFVbt䭪~Q }'f 32o_(VnޚPyS{Û2Jq(a1}c}Etޒ;.^rtsY^bIoA]e<> I |'USZd@S2'mX^J/.Ocz-+^8N4Bq!RrmyeyuoD\hxr? W|W]$I꿒eid%.\a YV_"'4hUBX,c:P[O )UƵZ:"z@Apm$N?p=Dq_ Ўֵa„djd| G׋%nn_*9icY/PBG:XCI}w^ Q̚0 1k}AsX*l=ϬD/_O=t) v&XۣCJ>?=~i*F7֯Gi=;~Xxϔ)Dъ=ze0DT |BM~_Jh 2mrT/f_:A> D52rC܋cAʌ0Ӌˆ'¸%hJ;\7_`Fѡ[1n^hvhӻl[ʹGSֺ(J(\x߁tYZV b$7w=?۷y8Oj\ vm) ΃:Rڶ!uAB#I\Zg,H7fb!-> wq7eif9L]nH5h!! IÞMQ` _FX]XՄ\Ϊ^\ 0s4^GtRCk#zJeL0Q,ʆ/nf=d©вpDCUOޮϥbOW}itc[xtK{A.+Sr$kw~j͖FP|~6f^`yac/ʾ82wцm烃QF/ wSaႾ%,3͎26P!C8SD@;\b+ ]0[>WW쯏lg'aݷH";EE \NiA8c1rT?=5A|OA:u(j1@AԞaRAvYj||y.(@4. fzKc_{G>VmQbU}_it^~SjP_}Ø{$~ta]@x;8sj{fR'!=R]xQJkQ%si¢pI "6PADd Wܻ|H\eg';,Zm=x8D(Ҵ`QBnN>iN݀/_;K4|ڳOMnzBDX$uCkjF?42VnJl=>n6 6Es%;⣦zaDB f; Iϧ3X#Ď\h\ɩ1"'cٲ3v{F35!UĭgݸtN ٢p5XN銈ފa\8 ?Rez`'O߷3BMx㜦sՔ+1AjDfq^ 4l0èh ,~k07&yc 'bOtLƶun#ު ?#)5Lш^ob<ɟ`wȹ"W* 8(Z=Ll_NkZͰEB[*0 nʜJ|1kBGE;7ʽtx!jٍ-Deny|qu1/u`hC\2p3fkxzSʄS?BiVͷ\K+@9:zFQ no|to{Gڋj29$FG(,ѵDj|+S[e4E4̸~/Dlݚ4N Hz-O0򳞔06!-);5 6 NNnjD LS۲&Y81NNn ޕ~.72$ci#oAL-x7KDJu2AkI>&w2I[(¶e 5OlJghI,V共20 =z5Nm" ,4o$iUW6cEN]-x$7Üޱv[{_cys n_fZz`vb(N/T|/])tgzA<B&{}ADUpCq~L(CK TSE&@y@*B1^g? q9emqҨnTfKC?G"|H=*}A:]OY_1uհC"T x(gfZm:Jyhj;ڑGY`k@CnTv;V)~=(4 I2Np:Ի`ٝt 'KZ8=AN*;ħqNp%ݦz6/B3?\[R[ٵǙW|SOpq/IRP~cU/(T2=Eն8ձ2*v\' e9++:Rׁ?RY׾TB?kQAY:pp%1g*OS| qLП&<> \Ô\,Nط ML;޽~ B_*3[۽J\AD%9o PU%K]8-HAW=߉,2u%Fu$Ddy]y)ɦn SA%CS)C}^h{σߢJc~ω :M08-T⍘'upx.>z^%-a&0l5C rOE ֺj7VߔL 4yF8DKJA5򼽞ojv֤炕)m Ɯcb}rVAŇemu"hSFIOa~j]voN''2bU_'AVOm9V՞28p1l . \cA1]jWo-fﻱ f-(5`s11pQ!}~"&4Y_#0SWg$9Ł%#.(T}*nzIöK.|=fg&4Pp[3.A9_@򒷵 r#uCub'5 \<:]r 6!'FQi[tuMexrKR*Ě(zͬlVo /jmđ.7.?~1񲳂\|aM9m2iOlX$`Р}z5b^{앸-Hc\ L*k]#[±Hαx&bЇ$ 5ĴWAd>5?KCƱrR=y !ɿh;e"]w{,1~VO>@J_.E?izRw4zw=^4=b&_:IYG&:gꉂ7}mr<Q8T@TM1 0w,W[,znȮCV?Tmpξ;PcAísoX_8Qy]+͸0Y:C}r!WqsAk@WYSCjUVo7Liv eV EwmtΊo$ٞd@N.guYl%0bJt0HNBBuii>ӓJy}E@bBnh3uF$b\Ѳ}}gFio9qml,V¢]^bAˀaS3pSh_Ύ *"b{W\ "i+ҵ(9=6T+OAKҟjG--u0ȄLTؐLAWa p,1תۀ$,ܖӃ1J y(% %/+*Dw%=aHYCڴ.! uM$A/̟r` ,"ŸMonhqqe x@w\Wb@JUSW.ugq?RD]omܿ DB3aC$ך;HZNVGʻ1K Ғ"hʮΆc6w?oo"6cX ~À0I'];Z`^YէO'xRF4<ӂ ;so@%HrC67»#KiEjÃ+ ͒avaCæN6z!=J=?C1jąI)pi+Շ]ȑu$}(Mpls-lY~ )21(5*̀w %6:In>PV'f]J- Ma}n[Ȗxн*C^zʵdO+7٤u^/uaMXѡ_{䎴qw kg7Qr PypB:$I}+rb~l"/clR;M'HAUw5U0h_,!)!F {&/˗W߫^B@ecESt1&vBLm.ΏDɻAw7BFV$B*r Ws顉Jciaf [Q*#<#Md8纀RAZ`Vͫ6US} {鬪<~WӡC1P+yh?./᧫w,~Y{iaZ~VYQTY/NZjU^ME: Vβ"`^UX%Fղ(ٿ||8`U)z toFm8s+-F.;'c-2JƢYVw&+#fdx ^tqV tw;̞  2@w_^o zvI"&AȓDv}f :i2/`qe:^O{lmČv?9~o).}XVxZ0f|iPq@Of j| TN\{SW|\+tf4D3KUrUD'n1WCKYF'/{{zR>3m/,ԕ_Tc1ê%0F>Qڐ]XzHX4r xXGs`pn_jGw&SU0:lBU=1pr~:^\.nEF#C)Wga&GUU-̮#BM)p$&@eE=1 pǑ+)Kcq$qL'p \AV2Rhc2&taxY;XRw5heH'ϖG2w^Yzz=ؖ\|J"#D 6*ʛ-aL hyj-.N<L}\6RVVh;0Jު!QCsuXv .H!a탋}:};lt,,ǹesJʊ GHTiW׹T28ִ- nՋTt٦GLj"faK7lbPEW~ccxTƨ7ex; ?*@ }\c aux'ҮߪFŸ@ =(,݊hճ@Wkob* 1DM3^dnW.$A1ՒSQpj p'oj\}bPP1XŁw>&oV(\aƭC'g)ʫmg g|ZuΪ-SԸ ^Q~T:Xyl0ʸ^Mg#ܰ.SM? Wx,[G 5lᎦv\s}!cevԗq!./B IU  9zsuutOJꜽ0)OA^TuW ohɅPg랑|ldk\ISPfBhrf^%3!,s52Xy=J%Q^Dhe*^ecqHrEӕ lef!.,"|XG%'i 3dTf&]-Ȳ2D?Ē6tRRәG+#2..9xuL{x6U%-ȹHEܘڎ숤[i)`&?!>Vt8C767Zg3VaQ:^S5R (;wq>?G?sT0˜Zng-ܘRmQfFDܞS&^#w%pOOm. ^}e -G c8IϕX+{c@a r<3)}vI Uݽ|Ir,#+{>xJjX3^S*'Iҥ^F7g6 <&YE)?'$.;WZfI9cIEQ& :UʴݧUniP g8^׭P2"ᆪ86Ѓi? 6XM P n L󙄻)Ď*rצ y@rMSC.aB#͕,ғpE|$b>] {8ݼtQHP^.^g/9Y8e}V6y)D!)KFK{ymU L.] 8f*n8^I LQI]I7`dF lUiu &Fw8җ|tC(9`d6'/2~o%MkHAb~ȚFBʓy\۫Q[q7< oQ ޾6q} [<0<-g Q*ͽ.f y,?aM43FxD, G]T啜kM0^k<\>˪(AgQJHu$|ςاoѡI,D/O껛߲vxc'٘@fFMߤ|e5r';"WLJv$bKFfOBn4Jk臒>P\Y1N 6G)918 xlb/$JA- @@EFI, 'oo'Vs099SmRAՇ;Tc3[C۞5tYfD1j4f7nF7+l($R8nՄEBv$a)'D|;1a^?- ?LTFmnPVj}#2!PJEEmJjfSr/9dI>MQM !`^$,5w=dE7hшji!mb)׌T SWhxL cot]> )TTmNm)|fT 8_+9tcR"QE3o0lNz:\8˳t34=s\+ILS3Z,"4,eXV0oq!n`rms$\ggIv1}Z>MڒTOw=^F='x7(ff5ǒ(BB)lHUf~Z.Fmq Hj{QS$TZwPdwڎɩcÅÁz،NQ*"L]+o$^󥽻L=h61 @}cjG@^\~A{ ai4W y옣Ql#H_ 9$۹ P<̩H=F_M'lv1_?$Uߝ+T'fNg\˽Y]k:P%4ӏO*̺1#y#A !ϵ:f;JrZNuf#eV=W41 I}SYZEU"ʛωW3+D2.=_M~f7y|_2MLqCwynam{#*&^ 6 b{34g&@r#Ǥ8 ihDjZUy1ɔSu:XxAܞ<1JSU}Q}nGG@*M;3P?.Ih;;8*#(y!J|RI"d__!%R0~X$2 g UҠ<^+ {jI|h){8$;r.C?">"7qF"ϭy (Y7T濹gbrR[6;CT7fj#Z 5g) ~QNЇ2 H'0^gD[/b!Daz±g=r)o#{q.8?QаᧆXʚ1tD,~3X Y+Yu󝻣sZ^ < 7FWs]Nxdb> HXen`t.xoT7?DQjb<H31D~}1ܡ7ŵW":_SJ$++ ~ Mωi٨.ёa4Scerj1ncz([8Nւ{kWiݠ5_ ҝCK2qb;TK(vau L )?KFQmd6 Db9GX I+lazڈ{@s BDC%, td#0DKwE*cvuKC_ :`&ȟD繨,)~|s'j\VSP,W}ϔVy'AI}Yb֯CAB&!;SP'2DmE@65͜|; 1/ŹЈ |L5gh.=m g) U GVXݤ cW &lyZ\"oC͵Ӳ]c:뎠<-|yVAZЉ^Qbj&GA3$yaJ1- ps~qHǛJI%ԧLl!c9)g؁JTvi:F6`i􉻯 ۠{,r@>-35C-W`2DbqDIT,x43H>˄KsC}'wrHRk4nc3dva*Е3z&ݹ' j. _WuFda] Z謥ӯ3ʻ FM`BW00$uw\֧"5Uɫen`x?]w˥6tkNB<={@Us~=M),t61,ϥ=(ABcζCF)b$SNX)Ch)TCuPڙQTtPrL~<#x]s<+ZȚrJz5o}#:&"[TO qB[.('"'t*DfBٕSEgPzК;ǜK> b|8 3&`nWmGZ8 8Uv#[4)Tn%؂ a?dtnkgr!nHYHR3bpUծ90r⏤;g}/+ʳxłH!Y8]x1a\"}=]_b'?پϱk-O{1&5ڥՙnG$peRC38r]ɆjSm?ԳZ#=q|Il@^ivQ,mu0' [`wÑhA*cB^bM5n,Hnd:Bq)/R\GO§fy [cΨ9ՑQx/}=YXՠ}0yBLiA1Gw{I[]?nk#?ǷR#Mb %u;p!-tQ7:Rz,w[\ jMAjQ } qT7dSɰ,Vy/Gmh!P^݆uPxj} ]36kLz=vUh{bp$C$E&Yt=j\xGWr>Pr$]] M QI-Y眳) edC)$r~0w]KH|櫷ظ#-^n;\)J!)Mӭ$+#H~豇ش4,L*f?R-M".C7D`b޺AO+WE>J>_PBU1@P;9Y#;l-FGͅ-~fch%\ W+GiF-|L!Q=8׻HXA agCJlj'-iC5}.\8,O=$|֘@S0b ԷL\<~k<d2C_4KB SbI͟CmIW%OCdѴy"PГD{f$k{^xujh*zvYE߸)V̙׫i~`ZGa}>zb!\e/q VgNV'S#pp#:~!¡aox[ N"u!s_ 9Khgry:q|RV ;AN]^2w{Gg.tbjqF+BKv7vu_q{MT"y6ZIʥj4.t<W Lk6jbsAndSn|4[hdD"!$.>-|78Fܘ IMƷ|*2UV\D B*TŶ+2+F9dB"r$Α ɲfF'W, o95xc}shL +u0M| _b *AOn!`!i+frp{'ԏYR\ǝML2padG~h@[,=̖Eg*Nz"`8x֞Oڈf!| 9?IbMEل'7j^3T~]@Z:̉Df(v!M`Ī&Yxݦhr`uH/Z'kw #7.yOg,!@C9N`\ h;⻢m{+Gy TT2;_'pm[}o _BoHbs`oZQ\X['[OA8/hn7,K)XK[@NUbj={z;_r!5M۴'W[:lbRo*Hv>KMdw)`|FiPE$cE#-,~ag1%'dTK 8fl!*6kZ~)㱄~Q?aR7VyKTa!j9;b0HtI6wY:-݉8AsԲ%'~>3gPA)0q~@; mdچpx/L Zy?+C77m0Fڧm~95 wuPX{1 z+"1@VO!|TǮҬr|j1Bv#pžNXUN&4o7X7x޸[is!jqih1GpͰ6@̨N/ 8 \.#,!rj.J)p9gN@ݙ(Q1aR@yeGmbHY9(F#8FTnjgzEpitU(6\3u='1WEcF?>l)7ďVqfS{x;H(kPN}KKVu 2f\׿MGtĒ5\,<-G'Ru(Wy]ү{QΒDw ǸgNXeO OcZ3s8AU |M1q|x+ͶT?wi ܕq_=E"c\dIh~ -wGh:0i4S:!;M!!sVPA%A ,5؍b HT] NېS W»%!+1溡Lvc'q571 cʺ`|bP۟*j~ru7渞ʛp4RviK(ҕReKү7/\F !6\1Μ?jC ?\.>wϯR̳ʼwGú ɖ0$y`[.~OUն0xtvV9|㑩@_فU-ݢ$Q ֦%b ۚ>@h0OJ a%ARG V4V}h]-܆FgvNR,ߏSTXU^dťs.M֭\ XFxL <*! 3 2հzvJ雨ˍ-[z"pIWì]C>hzw$A{esD%tSG-XKgPe (zNɉ??ܙj"^QsA({'i,D")=]F+vaﵬb |Igz]##N`OI_1tM. @U3:Sx\^<*ՠubرГhWc62tiBh]{0Zk#6R#X z}tIk6[qlk_HmҘUrZ6{?]Dm5$(z(xCR񈫷$8&ObȨo+I&\W Pt!b97K;QECmso |/?08fՙt!j5͚'eĬvghvS(UU8^=hL xX#d~q=+]BO6݈ftvN>yƑ1bI i6Å$yA:s9eRc :o)|jo }H4;&4iT"$يr–)'/>K#ΧqdY}.4.7wSne@ i{qC+ʍM+VA+lWx݆#u$k&Aُ\k_a(HTY<>`6cCw@xݽf{m R$S"6w vH3dce=%k%|[%㖌`[* A_c= tSQZo1$f/7m MP{\CpS)R: yЛZ*_bs*ھ?SBTH8%Q=> No^zb.kMH!wi"?" V$5'UZNgyN6ۚTBBGC& ^yB:.DG)aUritlŹo~&tƽ[X+TPT3)AV<`{7_D˞%FjJ ')%$=Y3ע'm6\؃AXxWlɬRH[ׂ|`5gẌ ++TsULU)1D2臱 ;E<?ŅmJ7hk!Ý`<g$Zw^~gWYڏBCovK; Bf9}ҁ]tE5}ߖbi# x;U N ClYSJ'k餟Hʂ! XLGY"`Gƣ_^. ʋEX 3:'/c71.MRu~5f܈4bpq"ѫb:XqO(mj IP؄+b+P/~{Rne5È_ޙoWÌ2 pB3ە 2nj~ ܰx+S0%m3e uo- ٲ^~=\J4Wu)٬*IZ] Lz8;a/ Pb4b)xeL k%|AkM? 72^/u܏7׭KBT`^rBqZIG~UA[_%z 2*\J2ˤM2 ĽA]> U=4ث9sidt 2hyB.^Q6(2;nskuC␫pm(0OĈJ7ZSMbs } 1_Z$Ào3 cpTRA'-ߣ>@E:tX`r}A*}_ 7 ao.$hw9ȅEV*C s9c4Pɿw0CG3S u0aČJ>xJAwpV+)Q!M<ŗ!*/ ~R+ ~_:ks-l/mׇNDT?3L 638`!dz0F d轡|nw*/4u s0S[ 0'ev&H:^S/vdWV':bUQSb̩ne\6Ʀ[Z!mRL>g\"W/duN j~w${ k'zZI%?@q!Zg }ʆY-'g<~m߭PaPr@S:QD@p9:eRgA&^"tD6Rnn$RK ^Tߦ,Mv V$_ڛ¾&!p[y wu\:gZۙ_a"=[RAJyJ>5hTx1s9&(b A+783XP2aMtyi1 ([b1 |ΨBw!Lsy fB`8q7OH:2Tz %KXlTNE@#t[H'aEpwǝ1o@"`h&O=8EV0yc&-1\6d@%Xݢ(">x-&{q jh\dm)^T&iF:* @fK9M Gu3gϩPnsΝʫMA$**[DT!2& "shBTKFvJ{ JN q'W$%UE4:vw<* qg^&ecܲ@kr92]0"\Jq5o`oD,E p ^I[C>}!EUeuѺ`nA!,Vf0 E'J 1;s1_F~5\´9ݏU&UoVkEۮOo4`&|ߌ{T─;ٺv_XŕSVϳL3) P`3miT.gkJ?GQ0.&mە߹|!4e5p.CVyVchؓU#${Ƞq[V 7 u;G/iop{: H~#Ƙ+$BJԬC C"eAˑC攺8^Ft"ӗxi/N|@ 0d~KHϬk<5rU5"iIe/4Gߘx->r{ĬQ"9-ǑP;ܵёp $]E{V\ tT?Fo/u 下˘vFL]߿P9CY dq&a睋0 h,O}>/BHi<f9cJ)4=5J+*+3v:0MҌ٢Ңi5Å%\hĂz{6fZ{Wj7~ڨw:"zx7B׭<[!(boI$Rဆ ETn8`,ysٸb%?=b BV Uub W27OY!XGh+_)N/ݺb,D6hJJ)ڣIA@oŚôjmuֲO&\">:> |K1{pot#v3l ds}˻6{)摒t -<#T0V̿Z^Adk\cUbi:/sѲvUI.hVjp> "r/c ז Uf!a6xL`feGWVDЊtE$T*TN-_|WU:ERg刀2ĵާxω,]ɝqwO%Ij{c| SqGW~2Y~^P;¤-D?9ҖsG:?ZQRDV&dcv"yt̽tOFv'D{=~"JtEybImN ]{hϴplos ʘlKIWV2Z1IX.ab\]kg]4S2F-(ҜNjCy|7-R)1𺞧DU)p_aoYt`i ` ΐ@3c;lQBNƓ {ۇ r)CSTVseu̕NdMZ(Թb sp蜸3PSRNh%&w#w؄ɘ/ yqPO,Na^XhȐSeM},J vtߔ(g" SrFI nqA .B{ō;ThPA R`Uّ]4WeI:bo~Zm9cn"=(ҫ+#6i%lM9P*hAׂ|̘P}0W=Vm;B|\vծ{wX(ԇ1+ tLfvMnd&RTk`ܟmfi 5qBZ\b!wgcDP sԷϾ{dᙰf\9Z J|8czEar>L۰}7V.9O2Y+(wOB\$eg<F$[J!׷{H#=u7TGTk =?NΥvGMWkzXj-U)z=Nth#ǟ.Bj{!L2PA (PY1E)(~6ȳ"&XKr`5exB}S.ؐ3 O".AJ•\3([)b'iC=08("ҏ_t W6Ft5N E' =)"g[pFN_erհť?'Utl9jz0NHTuwcیAxݯ{yv۽sBY ?wozUWL`(jbp dHkl質G]$V]+Wٯ[2jZ9xpm5,/psFbu66ԉeF|?qibS~ F+8eZ~tªxQ eOERRD% Heo?٪Y7|G$\;z">;,dY3L/Mte7 $ }$fm[6Ɯd0DƮb B tvy>KH?}U/}MyWzV- 4ct5ojQO@BXS7HQ)Or2:nRh""}gL`gŽWR.%Uj’'asԘv^u6r/:Bܓ59we3udv l+^*Ir}bw֕㮸Gh߷#չnslM] wRW7a!kH5]s\Q"EA74`$;'ލOѶfĖᆏ~YqR3*X0~ sr[H|ԬI5s\G G$aV `]$xX{.KUPqlw( yW. Rۨޒss?t}C#eŞ%Sl. =%nL7Pp p!k~QG@UGDwY֦V,)ٳBrB[6WC!w!`A_AG(ߝWnOQ ajejY{C﯋Xz[#uG r+_oymRY{ &&{n켏;aScOIR8:NܔMy"rw?Jo x~uш0lmaq 6a'_>onnOyOmXn$HR|!H]0Ǹ=8wU nu~.Z)pK^A Ouqqetߪ&;D j. m蚥Uq%'l8/Kl LQT/Z oULhXz ͙EA%b5 #JT3O|k=PlvX-Iרq.!45N@hLҵ[ٽ衺1]{"QOndƕ&aʩź {;xZ隨(+! je2Mk-ȩ^;k5uaD&VW^p>P&&nT䈽h!-J3ʘi۱vi n k+D}rw@鑽ƸlX>߁PwܼP `ǰ.裾S`F&5XU4dcq 8Z:$݋Z ӂ|#E D&c\^ƞ3)[[bJ_.C"f4cl .E&[uTtn>q:)ZLʱ2p"^اm(I/Q r :H#L 䮉MKQɼ9 tudg<-P[Ю,J$c/DMc;Gs]V \CŠeE庇]s<:,Ij0HT&_;X'3N1M è&=8($iy! )Fo,\9.1@j*4UtviUKX&7|ꇍ^|IZ*N(ӛTs͓fA=TاejM7o~|S&[7TpʻH+jp*p`6_$H(j r<Wهs ~ݐ#)1{y5b˧{cB!U3Q8 ێxAQj؁Ԫ yנ. ,FeuJC+6Qu zފ[4 ĜUiXTLhAkB/BgJcT "엳*7|p!M1:vOq6NkI"RPrG""+ylújUaUO3>>Q *ÊP24J鵌f1!]o-ZH+_ KPDqrt;Rj -ȱSʱXcEgҩ$.K+ ~].+=NƗ`)|Uc-YHS;+G`O/DXBQήP{ZN/;P68a^i+frxFrb7beqΓ2K~adm mk]#ρOS|ici롹%&? DY=c:Z-@?=셅%|!yvXPRk0,^DBGG-]`yNz̄ `K0mIҏ`a9Xkg0 r`Eݯ@ m^"wF|+IeCkv>.S(5fa(?[#ݤ{uC>jv1 WS)?w_bE {EgPnzp4v iَT7\܌j.[jNR+1--Tۇ*\q#*XRdJR,̾Q-&F-%-8=41ª`fX}m6حnbi/!Gؒ0;"CR0dYM䆇Y p = ЛȨ6H.{PgL'؅'[g (gИ &fm}HŻm1#Js88l_0>a7՘-A[Cb}߿WÝy;+X~K:?\Vȯ_Vo­늞zvaBǥ̸F V3 DL ('^eP阪DV#ry4Cي$م1 o nuz7ʘi vTJ쩱ۍKamV;[Qr@qb>n>}$2W1,b0 P)w[Kp!?y:/ĹpIOR3Jx?m>_#{rkVNha-;I3'f-8(_L%d }iX9RrLˍzbY5SI7NQ:^qɫdJ}['Bty_Q7 CD6'+b1LX1۫R8[w^ qZ~0,?\(&J \nJ ̭݉kdë< 6e_VE?wv$ɪ<[lZK̖ r3Hm@,yį>*L,XL Ce3ho ɺks#Ea!q?FP|&"r]h{!)Ʃiß*u36DbVOcSTY󴷡b_7S#+uͪz{E*2 ;zk<"^,[ԿLVeS,锩nKld / ? ][E'&#㌌1Єd/>+SPRד^OK"_‡Ӵ7rG3 />)k[*"༙O4iS6u3T)Myl7=_2n_q45cTwNa|?TPCs´F Ԡ_inS=򐥟҈P?*%,.¯B"٩A8:xE[dL9i <* yԐU*^ro58d2\S8M\0fU@|-d׿ 1+B/h5y=(zOM?tDz/ϻ YV9;BnHD5,Z8DGt1'r0űʹ(. !p\V)AA]f]xL&kTKx!?XJ= 4,4#r;ƙ aSacTn{ 6IU`%}$tU 2=(Rz,0@  V'EϊJfi6&ǏO%0)ݐl'Ka1 kD:ޑ6'Dבj@f0my+h}KO _AwV<7C}7"IJ2Rr& P̼!*hbIn S)x4>Uao}{HvQ!rBUW˴RGnR'sSwQ_$*ɘl2-n!bqɥRB# R<Džz.kʂv~ZuqR 4|%]1͋4B0dgQ}{ryB[DDpo$c8⒛ѳ?.ꐩb I@eJN8s%JaN-'5g[N/^*5`I`cwb=`7X/n>9\ ~C({c74JFvyK{qÉqFl3',!~ToCi]?z`~^;ps-אE+`Q4^؉R򳵠)}nOKׅe@{B;q~"Eb3{`AFja>םu1WCtǤ{XC+ƺN~t@XZ8zH28[#(>D~/#ZBUVvI(XQ:> WKP|TcGlvK&L"l='^m0{)EM%yu&J#"1"t0ϧߕ"W7^B74xa(1)EdȕZj9 EJ2rRP>ofPr0@D0ߪA@]qKnDo]2sH@/ vrap i {ZKBWTS5_FI KGu' ^`y\,(]fҌYwQ ɓ]G7h:a\8h1Y Kmz9Vd^7uS@ϓMEIp pi8xhd* {2'&e2v~j$4jwvyb> 7~fy)@tO< 7n0ٯ;_! r!7%/ D5_e~Bpa:>ܓw9q@Wh́綸 1Q; N)@7B|o>PŁu*G 5w᭦,)]l@p7/Wg~^>$>厯]|1|Zw1za<Wcd\BPO+.Q8DZn2:ʶ+i457ȇ9t39DɄ#:d46+mۨ7ln@Kn-b:M!r+EQB.8件{h|߅[pV㔔rXJ*yIB/y$;HXZ(L,8bH*6A/'P*I9[<-gQu(rs%il:) E-:PsOO&܋pXcZe8BΣ|G*ʶ'<0 )nֲ}1߇)=ghWFt FB\4\hIkuR=k0 afhV'B.wweooݳ;p;c`u[_\o7e(*v& V2yHLCI~ʮYC*C[,t:}@9:q57ߑ5#MP^W*^ȋ'MDe"l`&RM31k jKvr/M=c a.ڞE^!!p~`.+ xC?{qV:4m}d9to{$IPWfX,!KJZ!O.4uX0lh3ϔ]M*q%Ds/p>菱dP-q>k- W)b(8R d.Ӽ>'[vP>+"Es1Hᕭ}p_Ѓ|Aʡl>軄tQ5-kv51ٌ}3'󹱓?$B&h"]_ȅؗpOUNWbׁrjW% 1Q뷲u>Wg}vb/81\e{g_.kti(¥:Ւâ (~kM❈~4e/뎰s|2 .FYJf8? L%nYeSgvWgcpo)`>X _ht0,AML8*L`爙R Ĝ^W:gt3:zJJFf z?SN lSJCFn4ZRu* nt5TϑP~Zq/Fji=J^һ ԫUO2؇f8I@ ټ-R2: }UXYcr Z^LXY _29w>ᷔDO*MߙΡYyc0}#dH&֌*c4:Mt 20Xxo(Aop V)C|$C>|ITMք$4J al`k#$uU|{#R8y(]/ʼnir ls6ʦDi dT~?=+tGt([I=K*߹>!8oPS'$?+TC#P= pC,?RtK̚/BP .=W10 g$84OP n  YX >v;K'NΚx,'(DG3pa ay-`vO]} 3F|xm@qRQhR$#.a{XTvXFv.A9u`:-a)e_+"{y"9Y(0 W0v c_m|1iw!<񳆆ƷKkukÆ\O7< h D?hf{+ A3bƱMn.~z@1VޝH iohNr;W^M\{l ^ʃ#8e+Qy`{j[j/S@2=X/Ou7Cw#Oh Go*BGE~6j[Ᏻ2qj1 Ϛ1;Bt?~ i/Y#pXD;q> > ɸ>U6+u5>xr^M]nL~<B[M 9z%4 q^~ |ӣ?l+aep1_H+"Jlg/{"Z+-Z`2/2ʧ&?lk1,1<ԛ9@3OH/=.q Kzq-9!ܐ΂} D,Lv4h2/(]ٱOlI>ńRbGT*WbN+pc:O5|S\f%`A8D'>p0H%"^îY.@Z1\B_0{M Jݖx¾{dj%:xf_lhO'N)ue9nZlW{7N J)bi|+(N 3| uO zDq?gBcz^*^%4 PMRg#V ^o/̬D4!5؉'Mgy|HПў+]/Qs."4,&BJiZ7$o/BT;ΤGP.io ᰷.O/BFƾd%BТpOI2QZ%*veR1MZ`^ؾED]hegbh98SyjF12F^>zEmCN<|@'}U8͗+ ~B/87%mmbfgJ84bӠpyGpLzY1rpc.t48|/eyD?Zgu1FvE "ߖz8"QXTD2vBꭝ>ȷd]sb#_kb揹˔^kUK8襃=Lev/~q`E_響S@P7:tYcSz}Ğ73~Il%{,79,RIнMTtj[O@Q,*j3x{~”2k.CPwyh4a1.=)vmmh"էV"uԉu8LUaYBi;bk(?QǷ'n▾L 'a&X rsy< NA]0!7%FCMa\"H{Prm.J*qk `@Igw?"#Al7iwن39z ĘYWil gs]|j8o/?sR/I+#Uu')ˁVD'OI<2sΗdZܾApa^~aKq -w&]io斛_.B.e ~=(}rCS 鶃D3_>o5s'̲e7__5[u HF2]a;ǷuFg^1u  Б~au?Mk*2Y6Y]CAsԅ{@/xbN&Z]v4Nk4;w%/e;싇is^hTTZIu0m]f`V̂oe (p}C,mֈnnS>qD )XRQ˜V{gů<&֟Jvv)LwsFZk8ݜa)MM"-j,]?IΠ^ʥe`*s vYA~]nR zS?oAǁthz{;2G2Q ^nt̂R҄ĵb何^Dz15ow͒h1Ob&{ٖx 8P uDc|dSQlD$kLxa&']Le4IB) /efttNɶW%aCa TkT8k A)~?lH~XD21ˣ]|Τv!*WiAfb3Dn]KUJ~`TG0FK|(-Ԙ'1?ٓU ⫞+ZQNdB__  vcNBs/V!X) O)Qۤ" &.b9xb݋UD-«MJd2ưߟU$l4o\`*LϤw6m$wrSEL ?%ߎult׉{ni g̹N}17XbLY5_EwaBUDZ%] qEE9w0}Rx晕Q']T"%Mf)v#&1 Ns6lL]>v9 }S1IԙS7F QMip_GJL?awz*+D# ߭vd/N851`nDBo4Ti4Ί"?~} o'#n9,t L6S/vD0CXSX)ԧ浘KxPi%8a]57e,p`ހT}5G]fCaOOgI ^qnc*UߢDv;08,uR?cyʑsj|h~cO Ylal쏟M&ͷ!D[~aFԵ)u֐B ڀ)r/yq.yDž^Zݮ`!ۦ|I $h'FOL &5V7Y[E/#vj"Ґˌ6N@؊/sGxvrNniK7ȃlt0/fA Aks MAX|Rf–`uZ4/p^rrn۰=8 ̰&SA)y_^NṸ-ՔOTqMS%-c"N:PD1+9Hp:骴ⴈP:lM Og=iY5փ=pϧ瞯@CVgWu>8OMMre*GĪ(lm3'ֲdjմyʔcǹ|D8zer/0y`֤}V)ZҴ̨Tvi%VDr.`kY`!m Cj MM똘 Dʞo9GNr< ^mXae@DhwL?v,+cUH;y`` X>P*F*C^C>o,l nו\OZ,[^fʛL'gҟ Tq Ic?`X OAT@x W-mdg.($P0-k4ߩMlE0@.' Wo51)ZǛDh_~D'ѐdz~*󞝖p ex# %k֌yhE%PzElLXKg97 度;:$魑Kh7kfA}O(l>S5\E1J[>k>S0Xn.d5ڋ}_ɛM-|^ݹbv, }[PpΕތ>wY1מkm3uKU"A6p 6۵U(?֩8X4®^i#1%:ĝQjjUPYUGißLa2Yo&40o/bO= B&mEs)ڗn Y@ ~1zW|Aڒ9LF@Ȣ~ =':0#97f( lv@`LVʯ`7!0Y 0 ssi;P=ആg#ֶrYq Z:Â*bOO&g4FCI@ o\sb" k,xTVtV&TtiMD) QNRO>>A~$NYHRᲭK4:$c[vY:as1ISr BQ*Fxu,r2tk턿]EӻΫ틫(YKjX0fofD6 &ֲq"?4f&@q:&]<A^ n{lp%@\osTWI+rŤ꿰C#M/BTÔvP o⶯Ίpˮ-`ΕO  66tݕ~דYEiۼd{v=A68kK ~NzRïuĊX K"|*Sj mQ{5M$V,xn_)_.=.Yߧ9I (GzMlID߄[+sMz[Mg)(8EyœΙ^fۨ0*EzҧBeT8(ʧ=Y&ԟ8l`7~ͯ+ȼ$B붫D'xCДݙEMP2Ux^GdNuv~-(,?bDabOIU4.IUV"(#-2-fMv6r֗B?+9u@Q,N*NJǚv`:07!:=Ђ#m [s/hƏJBl/⯬O;SZn͂k?AV J"/2oG1GW"2^3!HkA ] )kWEf_>KerM[6gko6LMb*v`'6>%'6l9n:L&J'r^u21~_b"]_G5{Gu5'!B0XkK{H,ȝ th6eCQㅚ 6߈h*3 $j ė]R"t=-51& S9wX,%>!B *9ndD$7>9-25nn{G$SG.uLoX 궎r\m},16Q b tw2H65R]'y۝9# "(VCݞ\( GJ7\5N5Ź><'FCWO\^_MW,6a0 L]#U g>)Xw/{TId~ٴusW2MA0-3+aeAGU[lw "|~JCs*zúz;3.`gk~Ugx(ݷKeJb0^M|7ԾqlzT{a=bFF'}g`@DL\<]r(Z*!UߍR.PWU41 {QuEJ E5j4G6$# xx_~Ze-ƆA斈uѭ jcvEwÂz"fߍ+թ4:%0fQzZ$[I#C$IϺaϣ|h]xw|rFW7BbjeӄSV*ⓩb\F +G- h-fASZT/qZ_:Q%q*Ub5B_~_+Z51* /\r+*mϒMk\~$&?."k1dKyFpi@qcz1jz "+4-"9{vmNѿ9LRvZ=׎I/>HI'wpY7{Ó8^x"𥊆Y}NpT۲#gv moLㄯ]_Q/lRɀ~KG2D)uOrӦOꢷ{zAҐ6]kB7Dy..OϹQ*'܏ @n(F SunAOe95o ^Utےq3hoDN^] Jbt2,vK 6Tר'H SN*^UH+o ~~zC DsA9~Ilc^*wI oT5US5& 'fٵ_9yV!ֿQ*7vVq5qHP>tQ㚛[D_cxǘq%1БcWQqQҍj='$?xsrNZ]A38ڑh?>\0wMzaTudžhB!:hӣ-#ל^Q=T.[xsX7EƣB$ՋK`^靼n̴T1ٹI>zإlP׃޴IG0OYo@տM\ck+g|0P#p*jj-ty['cٌ`ď4ІqDcBBhp;.U6M:*`!.(Mt^uѲ[pG:06Á^e$SnP_'&+l8r$9gY8>־I.[) y2W>^3sUʎwc25yeX7}DRMF ÝHaJ[M2/G#g"Ȓ S57aI?l*&6 AUr,4LR}V㰜]ϪɔzN75+WCԸFicSH N˿&59Od* : Vixot# kx{Jט6d ԧ4y$hޙR#[76pu|_ufgZA0G TQ8CyNםdW1MC8+-wBN%sgP"I4:7ɚ!sEw楫\{BU6K& jBjUy C-2S:ߡǏ [w7^)DX3[,.ҁT> 3WTr-I:6,9nKV!KSց@|@G .C‹ j7J,_,&NQa!E|kEt-BeՇ–QSmeG7F3FC8-m9{\NX' y͂g4m)qX)!=z5'Iݢv yPk04иNms٭U]U*NFtpXID+rrl\d `bGB_|f|'f* %p 8n sj.P?R]3@K@0'.rPמ/)bq%cIEg#6ZwS2cdӤ =)x57*iM!qAN Jf'=q].]_nPno2+ڟ`t>8`r ]ƓZ:S&LcBCc"勇H5OJs`YQA*@'$IcdmXoLl^$]q*`&8zGWS$IP1wޅu+\r-(8l0_?azR"vfK(З.AdC)NF>]5k7\2`%:MjwJXr҅7@LSϣien1屏/@BsJXb+a:mF,pP-:r"'zYػ 磖 HQB\$4 \,PЦʖCC^dDmE}+z]ֿ{=) 1QΨF UdI vL^+B%$I{Fy̤.Qn@c=קêgNDbh[Rld+a MZSinP$ejF3Vq֪O+X2Sq}ӓ=W\)J\,gx^5 F]|ReT#Y`kp@߂B"շWf]'Dˋr%Y(Ts?5e z (18\V'|CSTg(}!߃dtSV|:,u)a){|? +9>X$3P寖=F'hu?^[`("Vh $%/%Іw 51͞ CML(C:W3js>Ev*6O]>YxMQ (+HʭJ]$uм03_27<^Okƒg-2qnH?]FqQWR'kE޸@y4B+UYjP|"֓G(5[! ( Y]<~U6[Np}j 2vR@۽Yrȝf(&H("UvZ3Š7Y3npFv*Y]$lLgInDSH0f %x붌I[ej)5,0c T %LdmҮώ4;hԁ?#_G~~!}vִaDmA\ȚFL.Su"x$s\j?""ɝQ\vִ^D݂ܝ޴V)/ ZuŎqVBMӥ;; Tz҇m6ЃyԕD,5BO4=MՊN׍- ҃J=DMe25ƉvgĬ[A4JLH{8ȝ^u~}S76][a'Xu7Ik3=-PH'nq7ps/ IX|f"Hz6Xp?囖#oNL.^X\8]T<,թdUqPIuu|ɔsx{Hrv<ӎr&(g|:A7DlVX(4!)\UJ=aí'(́\Y4`C?1zgpb$HEI1⯤g)jlKJSG4s ZS*>&ڠ ]tSɾKܬU倻.iw^5~cMN̒Ի7X3Vq+ƲBja6ô1W 3Jd5V\+?pf},fsXavme|78CmN(Z-=bŌ u)BBN,f9AV`O\wGu WQqdi0(N)qҧ˂ۇoz1mIAř:toH^*#/QUaL!8޻c)c~O\S*OA/nΥ%5Њ^ B=;`&>ϼ/8(`?=CeKэ2{~ϫihHԸ.%*fi940̀ cj-Usoр4g @]{OLhw߲8RłĢmhsW;A*iq=OH%JWFW;`og:xPΦ0ڵ P:doT %c=؉MAJ(IG;2 ;.l!]튚vdɊm75+3+h(%"HgP F ɀ~sIHV+~P6>߾9~J#馲o$$teV?m:h 6KQRlGB?4PzW|ǫE6on&b~* Di /BrljjX/!(!1[7GcN7-|KYvD)oj,60Ƌ?+mz1|O%[+Znߎ\b/ZŒh7MTt;:i!)n1Sv$Y.ؒ$8++^-,ۜ+-!oʔ',zĩ?W46 ZˑGcv^I:U32!I5:7U`I–EP„1MJ,\ժ+޷"dEA 6lΛU0f\VmC|Z$|Dv(t`9^.kr*r'+F񴖕+2 dF* 럐 @>%]D[ϙF1ݫ8 L+?=?ϲr(]0 ]Hd#eA~s*NX@捥Y.刴XLXE>'~.8~ whG(`tt97z&ǭҷVa ;fJסyjΐ$p TI%򤳻z?O3N6tl*J)fz+`|&T:[X5SJ0";Pa/<&ֹ)˜8٩0tw ֚1$Gׂ]_TŁ9ڤHMɖfWQt$}q׮jt |]tM5GB /(..D9U+R|2΋Qߗ3o,dzBM!*b!4y2\a^/$;^+i;nj3?kZl]YtlG!mC Z"C1N{ XFI n})=wXzB7՘X1LΓg,V]?!ICH4CUhYKҴ8^]fMK%ގٜYqsAdܚ_G60oco$EO`:)3m4ݱw{bvf?օIMjU9&^-*e.:@X^-NΫQ4E6S)y7\E{[Pt] >-y,XrPETپS`«Hjсgm=9SosVR\,w^eY-/wХf,-?(E8k#\ǵw0DrwmoE]jNp澤046Gf P և򺫱wƤ vE"htK_RE)0u dnK+/QV݅su4dAuв)-k'KFXtqϗܓszw[>z[!L2 {bMkG#pō ,w8.Lr/\I@ Z 7qJlT|im_@6ɔh%hHBǙ u˙K6Y?x`U\{\XE6<!S?8ە%t)ؿI =pQe@Bs% tܳvȯ{J $e$#5oQiCZ{Ԡ d 6cS oM늓`):Q(sꂏh>:Qy._J#zs=@5i/Zy|Z6XIF)X0˖eGKݳ6HU:Riи[`u[̧XU*z/Prm\b̼İȄMk+hvFD[B\3 Caԇ"o:SڗN%,70iĢ e%߸ 5Ճ  nbүQʉT G vvMp\2^xTQk9oƏmpģd8h)Gv6FE 3csYY=1yדRg8k<x2Tgݖb}q 1A<FJ)P8XB:isc"ަ1&Pyz攲ҥ;2oEO̲{R̎[4#E-E~_OܬLN>WjyeQ=f&un{~ܠ1NF_~|Mxi.P*J$x Y~2rm=AX^{8o ڈ0zw Lp!O%sK믷P8WpFUO>Y6osKBO P4 uO[J9bogH˚"5/*}䞊ڋ2(dh// ( ^lUq2rE?[[hZ`M܉Hi;ipzyLd`!Lo U |Z*n9xbTE K,5u'ne# cyhܭ c"FʛQBЉy8ZP|vȁ{:Wm3kqԫM1lnvS{!b洳 A8)U$njžA >L%dti;A`:|x5BPߦ}Δn.g{cPVP \t^]H+y@ύ$+Nk CDrk, S l|4/?˴ \^<lEn p覭GK"Tb~p4?/3m"="!Bsڥ[y xQ,T7LD`e˥+l+#c[d S*z*BF9TlRʂzڂŹ'{ZXXqɡR*q׎U0$*[ 8U(%-hL[Ef#1D>uV[ܻ._ V\as,U8a6'c_Vrb3oXE_6ۯZ2|*ۿ~&5Kb" \y"UV8Ty=?-W?ׄq2gSSAH;ӡݵ vOЇ[W/g m6d=Y9, 0N"AGlz+@{h]f8WZS:cq@bxNn/T s yz'(V ~9e-JCB0xcLYLP !]@\ڶj1 6$%թg+!bR1ږ.$ @+4GS$f f*jשs{ `j7 BlQ#1A p Yo{z=K?۳`& ~ot"p+vl/dCY(0 l5<äׅcgN"|*o 1N (hX:ojCfYb= )*4|2J8"Ӳ|.\'b} sA )E 8 C߶ SܸypG0vn`Go5p|L])wh-lLb{ \лZmzT*zI Ҵ9 ªۆp(zy1/:\ Q X~ e8:2}L#{ Pum,2)$"lQ*r/7Ɏ /BϲYffl57؜U>N[y :sHr  :\\Z?Zs*j8,ޥ+V\r^G=D>{Ŵ:|N 94". zCp5!޷/_dFfR+Aho~", ٻەIv.`m6jy/~T5xB8snSsR*AyKW*xcʲtߨ(7P=sY&7$'SEuo10){ 7Z ף@B1:@5Mb^)jN:bC%"76 PSٜӢ!L>{kHUu5_~|͹Tió<نB{dWk0'Jq[xߋyA@^yW8{S#7E(X hO3u' B8#OɤRWq2:S` qIq%qՉs'#B$K9e'.g14yRh8<=&R:G{^6yH3?^g1*ANŠ4ٰ+ ڊMSA|OB|HM:dJ=B\ߘڑ(: kŷFbwgWcFu3Mcӯ xߥHDňC78ٽONeB$Ά8Reyy> _Ck#20ߨEsOت uiB|]M"$zDT$vޭQg:7(ג{$"/S]^a!u'Ö B:ӧx4/yu[]JDEZnOꦹE:X3: [a)ZYU%6*؇k!}&1R *bEe5.&&z&_+% Mt(CSIcEOv [} 4NŒɋ"Zu ۻ?˷:2̈́V; N-L!w(tW:i]X!+$ _F6E pFo Gַ daC4ް !ejb7Bqaۺ"MsCm;1YMP9W `cδde^!o/2wZih6n`y!lz^E 2aXVn.tso>dގ@'b^5y8w1E 7 KgdG %rߢLbLc%EE`  4v!qD؇䢺a*`k[' PX&ʼnB_z XMG v^;2H^E?:zזS+ҳ&6e[ dG UKv"h>ZWoe>ctO)!wZk]O>C^>χ=VNԍCH{¶_ϙ1&!#ѾN3llw7*Rv::GddF׊l0gMVBFfUY(;Q=ۙ8Y(ۆS>pXrvso^'HȞi>NJ.'S!x5 #j ^Uq?桼G q7/VvJ&p zwY_^iF; Mxu?I?LI˹ZUT31:=AjN>}oHs{SmfNe e  Zw!uj?.hߖʏbQ f(c O ~Mҡ2ޤV* Av}o+l"xeg$a~1g0AAI4ԿporJ8W;41/Gtپ.RϲTsTl\h񸍹9r{TU7Yn6(.xіTYRG&^Wl vr9SxYN/y>iȚ{.UAYjU\6]rx՚ EO[v|=mMx xPmz׬ׄR1×iKMzv\A<8^jpS8!5U[8`rJe3kZ1 ij8g`= BP}$÷ ^-:Q&5u9v# 鈓XA!?o&6ө6oPfĐ-"f~~-.%,aD@y EپW{2F-3+ٰ _Xޔ Gs^xۈ6hWIV%2xhU6)> m<=ǹ߭[gA4Xdڐ4l |t P*]V eh]fi~ 5CO1;gg1=A\7wNI;'f^fdl8=/o&B( >s eBz,m W6v#S2uꍠ^jX tL_&AUת%t 1p //C_2Jr혰xpU úE&g3 #ޓ (̾϶̺lWNE6R?;Q! |O 5C,UpUuq]aRPAF q7hi5{{s?~DCfMNRU]:4v}V3r9)-ݠ8>FDȲ„UNQ}8C0`:|J]5)v) z4\wS8a8ܟ K$i4$ j\wȽ!@?…)9o㺐-lO.`V=iQэnA5CL:c^'1+\sP|ݞ>&,cQk,GQ+jx䀩:\3-̆E+0`?8+"A WY3``10 ol ?/hzJj^8PMN9h kݿbwnΥaNWvx31\qTu~}k .]J?,_WNӷR5ퟡX hJ5C䎏-0gyy1^@G  rhX h&ho\V1WCk}=8! RJ_%l_ ={|s'6I=ܥ mM[KBINwާfJU ߼/懷OssU~Ok,VpP)ȗ]?ц ȁ z5E@ێbD シMs0tP{꼽 ҔUb (}/fzD@;#4𑬺0mKt\-.󼛌p~c%afmEjGa`1owNG `z{'#pa.!9SrJxn=mdl 5o "$'g 9"<,:V3';>$m@Q4,yII*e%<3Rvvt$ILb8QV -_naDMV‡˻)xV~!.@ҍ q~x]B_ %lwti4EQFU8^md}a|!zrAsl'; bEP.šCo"5Bs) ȚHtuJ'E~mG} p֏͕Xd]>"Dh|^֩_5+,cQ|w8wRZ+ֳA 㦺 n~)Xr&e@D8&ǥfI+LZtT P8z0@yi#2V7Obi5$$ex|yģ'}Nb15ytñȟDىA[}F~N#S.eOw07WJ6Ԧ0B:MNٺR]Td8qmR//hf?Ǵ"[ ip$qqcF[tr!kNJ4ȏ+sEKE("amPZѢ^}u1qbX]-d]}R{61i=|ZC?.#/WDEܧ4qZఝ] 7KDioJ"kdh9:d^wA̖F ,IWYy)<Bg.:(r1@*WHݫ0KiCotGR^NXhowk1zL̙+yEBkGoE޴v~If>"\+Ԋa4q7 'ʦd MI2x3܂ /C);)^5 7,XF{ bK~R @`ZkpB?b~M*LfP4Q!X@BC t3HZ-ype[^QXGXdN`:]s25yM̱S$=I²aZ<c(Η"W N Gbprɘ< Ԍ>P̈ cvBn73Tzbe2xM^[e{Hoਾ"T%/ ۵ Lm &F}a QTKlLroWx\K6vYste\'-lƷEh*kQqqR! "@0Fm @rwY$k| jy|PhCA=_萒U-,h5߉5%,o`I380.gd$6v{#V6R) c@/V7AaБJ+kGcGzB^sA 1=!CEL91qg:oψ J||e~˽6qAL:G+Ş5AL>dϜ[_G1 k ˸D* Hr6.»GA[e#?WE'5'-ԚMK_2DC TqP :1IN`L+x 39]xʦyoGȳTX2M~l]·A{ǵG-Y*a56g*kOgA*;7nא`cɯ[A/ax<|5.1řUK'pI{eۗke4.9:b&@dkcy3_OH#+h~z xNzVA]icPhgRli%e+{eXׇ8eoM10"\&Ls%Cy9QsЪV(vHe)omzR(n-5?4㭅s@h56Q]>3Phz0h `hyp( ӗhC;cC>a<ËP>^;{ݱRrk1ƙvYwo"(GZsd}g+ GFIdFMwqntmPU"^56ٌ*H(ZO#/Z(8~VUn:q\q vVOÙYћq\ [U7IAeOBݰVXv1k~mZ;0KoR]te #Wx-sF,aiΘ~D`|{kyX=_|\8tů#`r=&Gq 3,DHj[^@% B/`Ǎj4^w١F)싕h 07-{cyVXwp= 3Y}G )b5WWa/b9 OKM&0{34w~x%C?R/ ףhKh!=G "5K>\*1ukEs@ yq~ЮR$ho#xPcUߊv\OQK /?m[Γt} =o:mg3DvpqFߡk%K e5O.wbU{>Esctp)-J,Tp y=֞HB@X if(4@Ќ Y;V@<}9D=yQ~e['o958Վb#|:|9ogbs:a?ĩ{joh5ɠoj|FiVk,jzV&,Dj}cD v<)>ڸpNfԁ;MM:|t=3ۘj;L!\K|{ʻ@)G}yN}MR糝*5[m1.8!B~}sC\2b< TGךi T!?1ETae2lD\eɌǑa!l]2sF[dˤF^}lk/{ix5FBVEd-Qn!}.,ӳp[~aV ޾'e^_,\Z/jnbZUDgm1s;E|x'mpj?G% bcvS?2 v0臾y!aŞPζ=, *#戵4u#7CPte5b> (T`~-C:|p#):}1*$MglE (p :8RfwԽ)pDoZ@~ CÅZM AP/~T@ʕ6RpfBLah3xy!7 k(9@o[=zM';+f4̕R!=lNG.ξxBܠIlWgnj !օJY7ڑ9byEG;8"y\'f%72AƁ-KklUHaVb( I"mv'i#NyG~Q=?'&XE9\`[uBl%kRWg&~@edi gy?nl ZZatVEPD~ ٙEφ>:D OnmВ4t6}g`oC6M-smd%˿K+?ּݹ'ѧ&h"K',kcP\?mk;Bq9SζVا%dեu 9آtԕGNUmwr);[LF!򟞒`kAz]JYjLځ흂1\.dYnƕsTH ѯx#˩}h=#4/iۦ5wNWs o %9F!5]^k.MBB~~G`$fE3ӻ.ԧhL)UyQt i\'p=|cj~1XWM0fF3C05Y"T];/?&5njD?z>'! OiNjjj<# V&*+$#={iq{VpcW}"|9L'٥|Qh`'/y#C]ʍSNf=6dr H3z@' LaW3jn%Rp 6ej8>4;s4e4?. 2Ql{mzzbkkXm.BDq*隣~N{5\̼0*9 j=3/Qn9&ӏH8U tdjw;̫2OW7LTda9upo$WT6v+/8vbt+}].IaFr >۶JcP=L"6y録eQZI2q^vU*z*-[q}h(WgkO&lǡ5i 0HC`/̠wzyW9~; jk0ṩ.|7+j}jt^j8QV|FN*Y=G$Gg/ |mcRw =\DR f4}M ʑo~R&[I6a3bWd`]7%cnv|Y2'rUePV*y+8d+x! EL7CYNg#& ],Ud^HsWZրUo#SiV2m*c(I7~[aηv؊KъgBmPs?4i1xsvV%*PJ*l c*Aϰfsm){,45h]RACIg4дb-vְ!a6B=TpQtO/ƿ yy{0]8'܋b"lb\yX}2@;7?svՠ8"7Y==<(2 c̢67ڽrw]#)QP,Xa2ȅY=3YBi{ew>N4E u8EHټ3-$ iWIucx9܁-';1LدW(iavyRdʢZHơARH@fUU)VBYыWN,z +uwܞ{?@bMY>2)ec15ZG\bo'zzWGz+M%}7#j|1#{T'`wT35-x x Onp?H37R|||hE̎g> @ę/(a %;*(xez ڣUbstH2ju!A̫2WS+Z˓]E4_ބ\%^> Bfáh[i8=TSޡ+o|1J1嬡@V0[` | g 4e˻Y4%$`ܹHYsﰦ)K579jc3V+ډH.zi$2cEYڒ1lBMCfS_GFx{%}ixiGؚizšadL&p>,L<9R}=2c'mC6Bs>7+BrLGsE'T$l=k9B| B@`I3\޸N"L.$ B܏M3xTY cb2ce ctoֲB7lQ)QRir| Q25ȺMY4܍EZTЎDo_(zhUF@l (ݏ>o*|Fz7] mcj6Xـu#1}ՖMT0d`~5 "5~czJJCF)$0AwPax&΢ڃä///̤De9CԒcST yPW,_beaJoD,ݗ|Ba?p ezMΝ2%:nDab"7#p-+`ÐAk̓Z_Cy-۫!kS^/f22è:zUuhNIP>xAY[T6ìzs%? ̤N.^cL/Mdˏdy^YK A]0ɲ IR0r'#Lb#h~:[ Ax+wL < 0?[,TO@x24e$$HK4ARʓуgøy\o'g3m)9=Zv"%|VԀyV~7@ôH9 nrLkY$FTm\99h lX+u 4 #v^tB|!G3qAq`g~vY_wS=CU hI`XɚHҳ Ovr8PmRᷭj 1f!D{\tM+&rHSUbﻜW0XVnf6l2p蔇{}ہ4c6 J0pG[NG2B#Y0p=''}B`Kr^a<*.)ՠ@z]Kj~,!E8f.pCV?W&2HRAl &$q jzDG'@mPxE+M.%Xso0Ew&;",y$E_m=kQk"ïp#Ď1#a1`#&p{m eѿLd#O;dOdnuMkӧscz=![w}6@=D_͙;Itbrjuɏ1F ju  WeAF\l[݈MKz RiP>kf+xOX- ȷ /j14#.p\jGj{|&,R?1f7~JzTskOEi_؃_uMU VrMޣ6NVQ+>-7+۹!*.@I$0(3ypYw"l69_}U45U¡ll =2="Z=s'0eJzљ) &NyMiIF"Mp1+ny;vR"-vy4S3'}a:U^a7h Mf]0F2V =s̪r,NI[M^"^"wX0R_9 Ya"/yn5>C JG/.72@zEQy?ݦ"mM֭oRg*7ÞEZ݋HˁDV}!.axG}ɺ~z7mF7 XhQm n NH;D#0bt?Ƣ*oz~Un@!UzoMMMޣ2ObNPe15>%$w Tbu۠qdwާ.r]y"6QE[ FfL^ޒ$()|%K8;|i-w`HZ+ݰ\RdW'.CG77f,|kP@87^=ix+4)kw={>z5L0Ic Xʱ7|Ya&N.4H vZJd#uTa#ѓ7y|{]b1և`b9춥(_Ƴ($D5٩J۠ iIN3_.xd$=N%i8~Яe)@JQ[Z/GG.#D4N4<*]`] INu-T{qٹcf^ۤ imqZ}b2|J%Y{1R邿[-!~[va q_YkSl.|}\ \4hð{o wsm\C3 Rr)0kc_v{Ɣ3ۆϥ[/6E_e}b +KeB|2j:8:[,vOsk|9]^)C]O$dֆ Sߐ6yL& x0$J ha=({Z8ۃza9C"$EոvSVVM$@?*r8)u̓[aA EU7A!PKw%FIɓe4ޑ`5~>,j2z?W][1Nj*薑Ze&Y0,+C2`;6//x%(HlWڬ652dyr/Ӊ@ Vz&`˭3hkT{ƑҘ]ru{,Mt\@hq5&mG\Ck:jpϱ!8Vtm^|Һ3aYM(ش%n- RB`4 j3[+jducҊ,h$4ɛ.\Yv%o\#a^J ib kgiy4WcM"gUF=UnB\r.Xo2SkD\6g}Y1zZ\3~ox#l&سVp8iSX͜~W ,P)A`[b\54Z'ș ia=ƦF]E->(5Nk⚙^c+I_&Ŵ6nwdо[i\F]d!LI꾺WvJ3JbDbɾ7t8 T&";q;8"WQ#@}  o_7[3 & M'gZZyXsˈ'~$vb~mr<^Ɣ9ik {@VMP5o4mRPh2K/& N&elO&9h)MȐN?g44"}1E`AP*4|1#+ԜWἐqS~+ V_aڢMp {=R}$u w?vzY04PʨBwYGIxtd@՘e]JҿJ ; ߴy(ՓF l nI+MF"95-V/d4lYLyMX>ֿsQF h<*Qnuϒ V+E{>vN2~R_8,Se ĭET%-9"61Z tڿ> _{tϽMm~d5R&z_!gW3l\~~:,s,±s' J[q&xAQPā/G\z  \ Nd`؅ !kB7AuqG.U"CTPH >a;;!1^c,\ ~I eR|G[kB\78aۙEypb/nRBNpyzFqG!gǧ )()6ܑFjG(Y;ߍ9LOu2+m1o[[EbxsOKRI7`yJ^՜vϹB`vk+'9_InTyzJbPĸA AMz!Kd@j#k0ʛ΋AQBk2 x~T7֢t$ |MKTzc-cP'x^U_[.D3|0gU7%\snsOpv`_C6`z@:&x s`v&;]1;Wu2]HpM`vW<*P@,9>rԎ>ټp9,Vqǿb9K [g1([o|^E?P ])y2z-x/GJ+=łIo#gEsrfwEF0L,MTDL}r 0߅eYp00ή8rfj6.Ql`I3 ?">0q.jO Mؒ-8|^i,Z=;е:1(YxX[cOgh>?'Kh {VehϥW6 ;o Ddƀ6Yw-+MFp(d-#<4>=;2dS lLŰHi\4h}X֚q?lV4};{聓q\9{M);KӸVNGhD< 6|5Ugo\`dHvP-d$Ňi.^fF|E" }kNY3DK}m-ůaTbt&w wVg h-MELe3^zڭ:|Rch=%n. na*%6R{4pL\[Pv[p׺zfj?!IDkmgaɝ̠۽%TXZFr*9P>|e$vrmSdFz\XW=77]u}pQܧVIk %l#lk@CQ> N>z|slH-Ff7c|j2 4_xhԳ5b`ޑT +8qAbwþ/{"5 y`N!_;nk}Nsn*7'X_+.RDF"w/.^ZЌp%[DhT"ve&XNP$ewUm<}DF0;yBN艒8oЊC1d65]'j`Y=]h] *AE*IdB$>_l5.Px>kȻJx ?ّQ 5_\4uOCCY; CoL?3i#4%!dU&"-r+9zHH|sFzG7Yt V p$"GAnakΫR b,]෡rVLH0dcDh#g&Pv$8N%55v<ȱ RzC ϭ^w)>%KK"/8& 2G?YCa l(m3:74m;5QU.[s=%ArW?l|=(AT(jQAPIyʠ[]~;gUS׫X([MorSleU nHĨuuqC9Q? ps 2ut5 %a_0W;&{dN<5> nXV*R(gAkoB`&E;L=,Ty|t 0<Wt%K ??U0Ђ) e:/8ڋXKw'no8I͹GV׵oy 1# m:Wbn[DRfc&XSggo68ɍ͎ 뒜nqEc!J*!J)N/+|e oߥX7{?WMYrL̢a$fx]929S&SFhM!hUa9U{Ľ qUJL0}6O 23:Q>V9fHYV0"Oe#mB#GDJo^mKCzpf|t݈idm _gQzoBhx 6}JΌ<4Χ^7]/l8~]Igb.lu̵{kǤ.*{j2p7r;g( s}VRqJ\tm7U QǛ4U5H7V=b|\U|7R+ g&jukPMLFvS`jmRJY/4jV(2us3 } *=4XR "QD<{S$N*neXvS8A\!4+0? `_@ 1)1uFϪ;?M8 x]"!N"`@iPdTw qա<*d`Ԫ&d*%Iܻɝα5r}aP{qEJh%];I$W]l_x>2Æ5d-̼{'VEfTF' ?R\VbYWmhY8$q]㭧-5և$X6*#furw3̫É@sa?])6. CSk+8җvTs7t#,2QA{aG.G^l nMDWo*^YHv% _ yw:4w)+!nwD2yE36]/8lNߑ;t"\2%if}ϩ"ۯrNZa#yi># Y+\k$-PlJSyd^bT>۸ʺlUqh4w؉p[K.4nwg~0l}}l.1icvFDi5.ǺIh:Yt0Kضi?dW _ .N wgPR縣}08Tۢ]f| |~}c3lSfF #~>G,A+'9WYm 4CzT0l?ۖޔc^µ>oک nV@d4AHM Q4*kS3\!X_N3mgCXS(/B7hU<z0*O©eJq'} J¡0O`h>=)VG)dP|hX,o (A+JbdZI49l|Y%,^5mrbMl6A(ӻQtUBM(\:j sB.+F=LoY@@HTBIdž 9,gRY@EI"*(uE+c/[DwOJRUjQ<_nsUر`$bv[8Zەj0NX; M}0}xZ|B:d n3VFW3 +h˷x:$7$@:YYc6$b~RݤɌb̎(~7Sp^e+3"c #T(W 7eKY5k5NOEк2XCڬr4a c|̒ hD9gR!%$Z*I:8w~s %pX{Ohc:.lf,b.d:NMRep8uHGu8e'V6U~`U?6S:?~ʒ`Լ5Q`Sy=8;SI콢xbsdTj;#M ϧ?v&ο9PĒ۽RO]>{ 437 5{S(ɗ$'8<jJ==Jn YKOjgypWv|B0Ѹ+pKb烿ƴf{I+\JLPaHTrRu+d^"Dk).HbB(Qdğⵚ ovF]`WM$܌؈T%j?DxB:%~ ux#+whET o.CZϘj aHA;e?r)b̃ZޱS},EaLj! H<5c `Y#YCdv 8gr|vS608#Ts&  ++#Ǧ\JQ+Oz2_귏仝m&9#}+'ЈlFţq zF!g][wh< ur1}6:N& *,@;wQ;]|5Ad@ R@Nm[e 2 Lf~e7Җ'Y [y8^Z9EVmr_c%M53@b#U{z>P*PYq͓zK-6O7T8')!V5"AFQBBSRKX;JdbzP*~gu=s-<}*GԚ%+8QbTvT- CF;}gLv4Шܕ\dg*y6wnX\"ЌЀXάP8x$5 h6h5# V` fUSVc#NLTI' "}:Fn3MAB׳J(AAAtuyR,54D߈7FshKj^Hj*u3X,T[R6W[#/@Nk*{wX;OHJYɋ[h4|N:c3||z}G{{&(VosT;/wWzt_B(t77yM`]dh^&___'A:l:[x=@gpw|Atuco߹{6[/WEyɑWl] M 4i+ 5@1`-0AFFi[yVµA4Io ;d=3K-ԧ. ;R!#ns_+&*xp0b|k ooUp`yƣ)~e! %-<N=HNɺUa}2%lFu"PÂzBAyQBw-N՜+F:NWd^~#"{L2O$ASPLΡjiz:6h*?Ԓnӛ @V/Ԇ!K%AdTim9mR3-KCU qP1BP6S Rz]]ҧcy]DuX((!M) IS eRNyX$=c *_ 4/7i.zr^@P01|ב#AU-Zw1˴- ҉Bp(;gN{J~}Mj(!# n (f ȶ8}ٯiZH0f,4y9i,2.go 3OFfl,r(GDH(„ zwE}n![??aw[,st+oYNjBAc˫? jRg6C Xb{pbW~{,O~tz,Fu{#G(gP*w>np^c *&3mI@,J¯ay|+Ut `y'殘"=튃bƶGkԫ^wb@*i 2&_+2^D 3/Պ#LK}*pdS> QsFxnT+W1PTT5/%c1ڬ5GƄ2ua3ٻ)PS+tRoo:w}m+ۈdW \3+z rǚb5] 1|R!;GIcI.$ܬA&rS:Z qA|"FƓ&bAQ!«::mq5M^wVyNWj4aSBގF7j! UEҎhճvwfK\R. }OQRi=Ѱ闢ƶ E7BgUގu`ǨK37vN,A"ykߊ"Q!NEZ~STBNt3zr9H#xFxs 7ݼEn(z))V?,9IBt"8ȸ0ڡepQMu:5ٯUݼ"#D;,R:b + ;ydj | 30KTuuQYo $3$k8^D:'N[5zb#\=}Czf߭:ɶ,Ǔ6_|kK7VEK*QÎfh=^P+,ei:3oiIa*{*Qo֞WrDق\e_x$6 rX26%8K62o >(ܽ -yox4j& cېWA'=$.XH<#1'N^ӶCh{$^1"KeM!1DOT9K6Q?Y^̷q8a7 هB'e: ]Եc`B=@CkU 8aBuQZCm(yĜb@nif|UC)? $Ɛ ՠRXֺ = DL@+Z?1t| 7^ B)jtm6ouuh=oբw,`[Kq'pRXig S]t=""A^f7'ម܊75xsr6[y|4ҬG0U{I:mKÄ3zJS:-P^EU5bVoxَ<_/KZW|9ϙ*薌VvEnJd͈݀ENwme*HJ&lsdwďC R._Ej{cQ/*z8j-AL%k(Ֆظ ;PyJHjEI_=aEe͜]ɉU L{VQ:YS%N:~CM>fbĹČ&g']+DS)#C܁ ov|hP-g ۦDGNLjˀ.Qf-Zlg 9C"wr*`yAPstc|ɹr|*a޶ԉO+pÅO<1g:/)"Fo'=?kp=[d-dcW0۰#-45[LnRjHbpL{CNΚ?ڦ:*_35snMp$|P)4NZELQȜM ]H(!Wal7ٌm6?.O<9Ot9ԺKq2SaXEPrw@5ՊT{l'Bc#;ٝ (.'$79K=+PKlb.)1Q(pm%%څp3-̹”E nJ}Ӿ)o|)I@ T:F1X߾IK{=:OG0Il"\D^H9R^f[TEr6[Co][ 5 qogC|, aҔ`lWRO)4["+S #[= YΜR 5jKQ:-inpXm8biBN(Q| G*CcTJ{:)YMW4|Jq XYYm&v-bf縻f-yk?F6e_> Ϣ$Cg90B~pR6].|.9b ~OP!?PQvüi@mn0aWI%^ƱH$7o3c/w\L>KH2{Ah-GS80Xh`VsU(va}]kE>r/ \agw”K# 6J,'#̶/c,\%5BXm GUCd 5VMtW=E>9M}$?@5 a TCca)M/J= ^#Ү)$;ʐ_p9<ݏKC}h[ Dq|Ӈ&f"=&f5yLhs 0{xsbK)' g4o{?FÂ-n*v>es#C2]p8v3$-"D563+RKlÈ;{B4L&r/UcMגdFOo_ ;m-n?/ QW>4Ax̲J{iN3 &l~6f> ﯛ$6%?tU5zL*`-ޥj{!HUIR(hȴ:^F>?ȉ0_)Sh_ಆ9@ꇅ<9 l2l4z9/}͗k*tidjtHڮN}AJ Mu߁(PF RY9eMՂ32kiscŧ@8#́]Z:6VHC^ X!z $'k7:obrjIG*!։O%qm.g}Oj}}y "gkLrfJ+iUDڔi]P>dFjM 7Z_)fxpTT@x?(K^:0 Jt2B)Pq+ð%S*׺#Z_P& CpYgTWh'Y#jf%ۈ l͡Ǒz‘tlIiVhm3cѹ^nꙂ<$($lZu5]gԨo;-[y‚o]ͯFрPq4hAH)#`ΗX8Ik\2u)i5Xl-*ᲂoT'y[i|nc<cp7&:3OG Iwј;V{@hz_Nb XDE sE\ fsWFk&':`,cH٠\i>,p!2 #pk =9PQ.ȲlftWg@}kxrNoOpTzčkso\u3qpKvI:7bq.NHz}GUkUmo v0(fx}ݏw.߮0K;*;;YBáe Bp8K#\ l}#֕p0X_t;SO/cIG!<: Hft4,hտ\<{M3pLQwO_Cħ-UI6wOf.ʸqj!]/&z铼B"(@pvH7sT;PClqN[Ga ÖW 8xBE Ng'nwi7fv2q=}J78lx L5K+|>2qOhK' xML@J܆CDƒCwbbt- 7_ #O<,JU$i֞7.)i]sEs"!|_6x6V(HNu!xvLcM3M<}-"c];UpBOgj(;STs% űdDII}BGPFۋ㣹4[)+{J7IK>+Y"LN6mk@:7YüwYXd@cVu>hZzFMPFWʇ y}wg ~0u; l&2Zs`1`P8\X5>ERM-JighG-k,!ܺʈRh E1I%"xgmA߫O{ xœtfܛ\sh CdX^@As׌_Rt+wZ)*Q'mރ $`@k E ,O +vn(|š-#KR@@6%>U2$0AtKslNX5F=$deRo6WUp#553!+}ءφvvS(뺫`)mP,ZlW8ZVq4SJ343@d./8ᨌN mŁV2w}5i].:1\1FKɧ*.SG$=(Jm4Iߙz LhaJ.%]E?,UU|?MsFf5_L |qio+mʼJ0h 3KuWřy|޵DBqV1)hZ1pC>u>v쫩BZ QNJj>Z.7+Arj|?^7{SJ J:닫n,Ѕ :~Mw5+LpJRh:*-,E=a6Pe??UWEGno+mVD"qV,Sh[IT$Ρ01xSŀF]K$Geu*4S f>rk2H~FGKKY/`6܋eLϏWwEUO;-vT^C0$kdPwig] *H?6Eb:|uNUJJ( r} WC݁l_L͠} 0EƹNX9XvQk a%BM.bn~1iNmî#Im75|#1n84Sl<%g 'T ALI2>YyX#NUXK)i}yM $JhE5];""N_A#~<gQ<'"_*.!ῡT*%YX ǁy̎JN'- DB߁H,;WOǓ# Żz?]bsQCxWAټ^~)s>c;H J'![!@C>hHc,VC|*$Y}N{pydӠ%+;;\qtI폕. *kvEtV73̱CVgxkC<|y!FDKIzr#:5Van?؈e Ժ:wV:. 5 3FP, .Nw>p##咏)? Taxy`]W7K K{ke`NҊj,7$S  {-J[8g;jrw+`6bءL;8Q!l<7p( }bͰw7NWq \͇˽XJؼ<0i;yߤ۽+uˑ+v!׷>ٵpmc,GpDa^9DSȎo&۸sdN-A06epPo䡕y+[@Z7'Å2cf|~\c1[@&m,!踰g@q.ַ w=~ʾgHT*nkŮ02z؆kzsEnu`˶\Up%Hu6KRw% 9бE`Fۗ|J;)}]p/N4s] N#5dnuP/kpZTCO&8-^aыH':XߤldSVJNDC H"Mld4|zB q1EiQ:xyGQ`6k@[C/m2*Ll"4v54 hXroZGݻ]כ㞲(6D "?tmDkb[YvZ 1#)Ѧ ሺ<;ZWTJėb?`"ųe!q#A.[p,g~*{Mwc↗k PV:1%FɈW|q5YxT)w Z8W#Ee|WF$BOH\=ēclpjP"Seɩ9 ƚxU\*(w_C8ݼ{ Ch)z(ApFenG 1 &v Խ'$CBz ǖ3g'x:$mb!_975ГH+)tso^?`7>Wyaˍ:pA5a_5!O$5M_Xc٩dk֞eb;s kRQ#V{#+[}gQX>F֬ [ RYY[*ʋ%2J fΕQw1/wq @ թ]Ā(&6s 9M2fMrA rj/0qbBEmX1Vz Dޙ*+Ơ@v)8걫=vHPPXsGṢs`µrᶚ:Plwe׵xd[6g*{?=YЃUS?f?u!쩏t=}ޔ#뽥.D~0 s9j-v}Q=ٮ\D*?ۑfClFṕLP= G!}yE "b)X:WHI&W_$}_3{2ӏebƜ%oaS.Ww[Wl]yrW:Y(oZ8((н}J:$QL+;:+Vr~þf)B|YlR82H!p$ gVd5nO4"ah33@H@QH`_#T{(L\ץsN+H(W fT'ܳVgj22uQD61H_C#I8F&2Y[7F%S<]s̪'׵fd)&=|빦U/JBtV,SB0Qw~AYEHv(02@vROh0._q9rilбh*(9檭 yˆFGo;jߤdi$/).@(}UmhN==LkP/6j]<^\:R#8a}ө]4RUT~5亵QRYz!D8U2Ț0U},* @B-H ħߢoWCrZDec=։کoIX9J48 i|BsICQX`*~;,Ih֙Lv<ī{u)Ÿ_ݶ9f 5^XWs_ieBrY3J~4^ x71#rӥ]T!Z_2 XaJM}1Gtj')apFX4_B++D ڄ_!Hhs!XoIa)ې;g]E8U#%-dJf4Bz͓z!jsuH,5J"grXϟ،9s}Lg}Izu*awPrHE[/䞧N ug+7}1cNc!1hƇl=V3_?F;sOpneRh63e#ᄆ8K9bؚZ~ [td5[8'̭= KxmO7 IOف#}e |u`GӆhI%< yoD#Fۗ⼡UbOm_󀚫|`K(͂ *) 1}G2=h.Vj4;j%$kS#yէdZ%T\gFXqPߜ1JY_H4%(5" ҅b'#szkȂA.5rul(x 1~!>}G ٠ "IG3L qϭ8cԙ}h.ioPH;e6s`6 m{# u!!\3d.ٝi·8kPVFfW-l^,q뼢*ļq/˒Cf>6Q{ԯji甄z-yhߓiGnSi7Y҉)q)L#Am{4X$?k+^)_t7 &y`0.5( Z ?5V3p-⭫_1TI}qr/Lf:C% F8qLL\5. F}NH'[۽8qO܃bXLw4@a#-`-HUerU+m즠MkߓV-?F(TٺRX=>)B&KqMtI2F,@Wp8@Xx=PÃ\YbfI&˜CW=SQ!m(𩡵&gئirxA`C1]ִ%}Yd;_06C^/ @b?hVLeN T"LГuN3l+촀σقlG . !a@y^ Dh0:>:S4lzz "gz\z5ݣOc m)y^*(_ 3z T`s#H(VkxN$ӯr$*8$ЬGr}L nO(OB(x+n1#q^L& D#D[ 8R畺}/+E-G6h@ 7YՋR*0sµڏ%FG㙗0dѦ+W;Z[Q&`lܫ`SI 쮴>፹GNSD@@'(F05jx3=M39|vN<7\#HI.M* L¡ȶVøh/(PwgYuuO)hQէLVfu$"fchF'ȍHeYݸGqDn|6ޙ*Qa/k& BvQ{u4lcDG^m_KD.s.ڱ㽕er1{PApA<,T-$|#a;@bﺐ0]p T#Ko \ǡn*$zZd'v X܆8Nx1mLGgvB8"EG3}0IǡbcQHS [j~4V5KZa )m'l"h dzm^h%AEd` ix?C|pņSU AgysR*ײe. DS+kUe\-{7]]7#EɢL{M^(/%Fv\xW'f9„nlW n*0+ʰl* [HP |Cdz] KA{Q~{"SB `לF,ep߉f9yHk'Vְfe؋fvX4QK*~Lmmc@Ed_c+Ǝ^sۉխJT<al9bL'M pnU3yDȌa׍393H )_Tu<6yޤ!Cr^8_Η9H8(LPaAx eotTx'@;yvݼdk8BTh$q2Jʘr \̲7e ,jmd3̣>Kt}k@=89Fl%YZcӍ'Oa٠⃖W̓ xl Ea6/ipB4KF5 kB#i}Z:\R\R-: [ѹfՊD /TzrZMn~\EUؠ'.=rGAud`RG@g#Q;ǫcvH %a V& mY뇜A:*Nl`0 %ȺY꬛?p/ mBl/O,[~*Jĸ|sQypRI WѐVWofr@E2C5u!}Po>MƚA)NxEH^O&4mD?TVu<>.RE2pl,z$j*ȃASPھ7yQB솒Xc-0 'y L;z+gmjl7 Z10C71}P " B63%pX\; IPr؁c)qT'˫ȏ\񫄱zO$2MjolKfg/RNϚQ9цӠ^P%+" hMeu[D)4qpLAÇmHFڌg f_-u_%)9vB>ا%)Hb[@zbYgI瞙Pm kn֯:ELj: LxFOoekV3 .o*᜛+ a30p$Ii$њ-QoJ]$(š>]&Q[Ք* Ӌeקͺ|t.NAv 6t3,skELBŀn$D.C 5C&~h lo ,C:SD١S-kmaeAµP&w)`ƪ-ԾS Tܮq!tpAw}w7IY)M'NN$=( YY#i6J̘]ޛc%۲ /FTW)T,0)VI;pHG8S"ٽA#:T3p-~=B,NIɨ+ LHǑls2DZZO DMuM5:m?IlB[?Owǎs6$G֌NA >>c sdib*oEO_U'_TdW2GVgi~QbCL*ܭ8q'e?\Saj6qV^{"[/ᔱNͱlajwWrFo`P 7)%{-зJh6UsE!#Tx'Oqz*5EF;a.(RZs>:R’AqjG*qqr [rf|asN =hfݿG|[HUGfTGuz cKZGsS)S#4tt61;nHDA*w*Ő]-H*G-f6]3Y{. Q8g> B0Y6/k+枙+ wҡ' L=tDF.ґEh&4x.;*O;~/T%qr?Oc3hRW]8sjd0TS%s1p/rtd9|ܜ^O dwnZ3=#465Ky.$6!$v)hu=2Syx6~ bqcSAdB.@w!0jǏ9pC4{ູ-7t)12{!b4jCdFѾBf2BTȂa!X<-@b#LQ \YT:SF4s;eweݭ1DsD.|150u@ZM ʯ%L÷zHаQ3Vb8L$o* ʵfNMJMc1RF<:B%ёq{X*ޚ+κ+fPA @:+!+KbbNqqN@#4] J2Pԧh>FOad]FvehBI"{1p/ V3T8 NGu/t0ڕTOVP909} }}G!pGX8<,m~&gYt;*5ȳ&OXW'+HOI*odKS_@ޑ4 VK#= FQ'`8 _iٽf(@&@3eʜЈwp G6OlCc},-Ŕ QFԵ D[~bof,φwE=Ug0IUޢ ¸^ٵtEb;.=< #c PmYCzS-T[EU_ݨKeƥb7׵R'V,9y;hءrģlJrB!uⷻElM R|BiL~[Dv֥BpaJfRD;@5v"ABwY֒ !Ķ7k it&[P{6d|2\#eƫIߗ-c xܾ(ix_F}u8H{PoG=#cSLB7Z'(lVAuN{).r%z"dž&m NF+ DbbtF?Sq3l6_1FgmEbٌ=yn{g҂V7? `~Qդ@' baX3CW$ڰNw<$/ dPsX4&e$EW,~$RAؑGcMjj勧(Ik|9DɿVV K5@E6܁HPgKm@ Sf8wzx B:'} T=Cp/h#:e6F82>NiڞUtK#іZ,aڮ{U2j+4O2Q1GjfJ3}l2&X`{ɱnj%~M-/K={N}=ѐnbD:E}q +DESB+z"SaAK{D7KsLf%_Bk nxWJCϦ^ 09cO)P?o7RzI\RS)/Z:;KJL#gWXd.~<# 7L EzFόzR1KуTć_e= z{J 5~3Af|FmqSv1NH4Ξ, H gx1'M1S2D؇rfx$V7FcSfSP{CVHqg`V%';f2Ȳ淵{|hBur2#)Bc**< 8+g܋L2 `zOG]]qwRHD%J[Ʈg1gM 3q\*2L [:[$Y6[hliG^d|LRGX!@يT&p/Ti`/iƌH0J3Elt?ЗʐzIN6s>NQwm׭-/QHg7vz4Ӯ@hbr rs{>&7"&EnPV- F6C3ȦvSN(FjcaD ɊUK* vS"m,Qɔקpֈ ?Q2Aʽ7^ɏOf<&B9 7܀ wa.C6 eVh*qfAqz! {Wdf_P.eLDwòBCϲ> =YZ2L4)w\|Mhs{ Ց2 u۩{ZeOMwq lc[ߤeRRWƜr(æ%[멸3X*~W!`@ZE K~zd ƒo3En<G[҈HVA vt=g~L Ikm_(nC\8G@<<yi֢Y 94csu!$GOzhϧX<JZ(r3 !g-Z3 _\.#9Z1Utej;?Ö܃'"IJR;:] ;$\1J`W `xu@ bt1T<, N==gw2Vj zE OPb<-! j+}IDk)T{7h#1!څk fO*jթg}a*9ƦZCi0>hXM&EZx3 X<A#'vޛ7bf%*OQ2'ん4ԯޯV$c J.laB. v`{]s[ @-wm`.WB7[.مR5t;;tyc~LMO C9c ĄdQr.<$r{<'&Hi|uLa F-֑y\3&xADUp8׽6!2eLz ^v+MV{?g'rZ Bln!wWو[%i{ֽM,K쁞{{ Q2vOΚw'$jz$Pj?;7H 丱r`[:6u ۺ :*ҋ4e`1-JFv?QUndz XY7(rd ,fKoڇx1/Wt{*y/7/N_I8 ;+5s(UW\E[|ך͸9Pgi{Jߗi \ÛhPYs"MGefZ/&ʀJoS;[fI;h {MBd"L6~{,!sV(01?*uH[g0. ݓzMp!Q\u&JrPDVB${b|(r&tUZzJ:@$Q7 "XkLv'w61dݛ^n+louddDً1ES7\'LyM^)M^ҨO_X,oȎZemGWC<>ZE3_0ejz! yhxWbdƫ!-K*ϔ{SGKEKzv[pmߍ5މ@=!"+CHńt[#t6#X̮RHv(G5q8ճWb^6Ԡ0T K:^H4>}/ 7Sb6p5v9҈ק0^=F49Mi]-1|dCkt I򩽽ԥjK'r=fҞ5( „]Ō4ۢQ|L>#:]~Hl)sw=TbL&Ұ]D9 WKf /ᔧb _fH"\wܝEдqrY w}!.R5ze !1F31_u'Ȇ (Bn)K槹'%ǫ*Y\YPc e@V`=bjLh{;ki?8H+Mt?qДν宠ў/^֬g{/XFlB_&l2."Z'T`Vڲ ÅkL|A;Swʲw<3Rr˺@Z"(A՘#^X$ Ve=VܻH稞5ů'藤`LEGU tPh"EB0gAjH6?3*{z5*ZK1_ ʁol9ńs\1{ 3jm-Al7:Aʋ˘;T)w%i(<QF?do,n?8p]%u`V-V^A1:~ v/=[O-g{œ&zh388{d9)v3KqFB$b=pdJQ܆Z:9R41P{fWQxŬaE0!ٹXt ڐji>bTfm矅zH_%ߢQ-6 *+az )kC%=_^8`fu7@;ZҲ$b*P@.(c;$7܍hwF~؀mӤ9'{i4L[<[Av C`{7gfÑVwpYo}&2dTSAwt`yku^!'<^)'ܾz8)k!,2э@2h蓇ZĂ=Os,*/eyC:]H襫$95;4[iԩWuHmHN -t~hŏ*Nii ep2tbHkNHC<-=|Y=+Jb>!݊T [AC?5d0JY PfO<  O?]S z{crTk#(h۞h$ƑXq$U9ق*r|I{2g,F֏%/>u"9-7M H?W)|J E1ܴׄlNaNp!  RGA%vZz7~g0F$\ШNVqX7dIv]xYM+T PMYi!vӧGVI!BA1r߹X KE z.E:Q̜ʙрuU%K6c;\W{b9H+w}B?ϰ"c+ O~x6M٤>t862vE٨M\PAڄͪZ eBgl|RH%XBsqX0DZ;>Oc y?L+PEaujW 0LA:cV쯭܊-8+jsA<|7MU x1-*@Wa5q z"eJ4 q_V{<r^3bٿ~6\ÌzRp)Udw t= F&Cl5"?PTvz0:ZK?s/,^+w쨶PV^;7}Ɇv887 R֊q7C¯=d< C-!S]t Dǰ[Q0v^Q+qP FJaP_$@P^ELg!?D;9z'6fw:.iz"5+FFLR pݾb|QgH $4)aBQ &z5[^# R`aM֙'E%핺孛e#M*iȍc?"t3g %܌"eqٮΦo]Gۯ@X+xL! HČgϥ@xotAބ*e5; 4ejym)<ǯi' v|i俼1րݼK{r vie}&Ol>&r{ #;&[@VӽmEoA'<;=`hhY:P)%"E$v\*Gpd i"%/dxk֑W v6))#̈́(*ėhG3ʭ2ތ}PּgX#H~$qcy9 b{FsDth6;=j@\w]{l{*.t#c;ی5Ӄ[GWQFu TC`Z! ]ew 퐌֚.0 ;-:rӼ.~]Jo@LSC,+? O<3ULpiXJ Em\ycRA߅{ VZP c`:iɴz7z>Y L m J3GnD g >V: ZC਌,@^r0|@7Z:#^i6GJ G4U9c>;]$wټUGcDGeL`aI/F=}F =e?)|R >%vp iYjf\ˮX\Cw ++R[` ]XU8Z ` NHJlMA7:e-ݰ#6wLd{E ~ۻo66~1~txNɢ6BXXoBc+`oٲI:0EcU4,Իvjz#)s6@xZ„ZWRbayj0(4x3x=$oTTO̐%@ Pf:6u@oW9E탉"휆U1Ԁ/ulqTcU;eii-YWWJ2ҮE7£C"JVŽ)ީXLן! t{~_bn[P+,mWbODmԋ b$c<2 Wc`LOїPKò, y1Oޗ]6P|QĻ )󝽩AP Q-%%Tf%^91"glor1Z`\$J aM 0;Sη7Kh]q:Sm/+wIeB@d*!5yL,6qMJ 7%5hL,U&EB0lSO]kߟs6'*۫N1oC6{ Y^kP9ho\Zp2.p2"N.&y*ޗYsnӗUTf}b&ȑUl2go]x뭱slF$j1գoXg|^F ݘڈlgQjN#";}wK4yP&0,u؆%m& (R,'V i;tmke7/?.C@Rh&M;@ Sgșr}c;֞zw,}ԲrY8X#p/DқOb}/>κiR$J,7q9 xc%J+iT3sm +o{|ẏAT;w˭ SN?"BIQCb"}Cw( F^=r, Ҍ-(jNM.E@5Cdibyk7dIjCqA05dG&Ƿ1A2vqacHD旷.&bOoFpy |ՕE=eq@ZDqΨONkH#5HXڶa0A7֛VvQ x0"*ԁ(>qaBLA #(i%[|%CO;&4ݎYcq΅832%_Dqɮv$5ol[/$nW|΅Kynfy^4?WL&EIHڑ;K13fqŖؗ f?/BcC7ö\:_}|r8gu4'-d5ί+zLo:F{D1+BN[lf0E{E18 jyKSV9 p$k$c&-Vc*h x4o^CܕebFIS%U| ZoݑGoF)"wvk1xNBo"ӮH\\: -Z ! GrTXagJP'}imm?֢xZw#ת[-6d&>Ap9 ]p#ϓSRVZ{KS(9_\[q(_شclwu Uml{. ,CN"ԫGR=܉'ZR{LV}B/2*2PA7CyC4(aOWf3kj5å\_D<\lW-uǚJt+zI3CR9}׍j,ބo6̖  ;UDqcH%3\ H;|8 oŝ}ZvY(S2,0o xGQ~3-n->+`PWAEy6C얎_~h9`0QKuo_6) o]V`c֟౪tT?HR(-" $bS<Ոywkj}4Dq9j^T#5ף!BfTPo,w=0Px=L!S]whqX#L5.4Rβ*lt5zCeLܤ$j=ئq/r{T,kd%X 0`72/go1MM11$xA׺ }PrmGZ-[L:]Way?yM""fvyvViֳAlZrp{<1 ddB[!Û+1i~[޸RY243c#h U0U0wYpܛ(.8ayAOLc>YQl!|ु >s,N~ <J3װu, B}4Snr[|aa.O}c3gA{(W&M-{GA|I:oM,a; HO 8IєJ٘qk@_<7 /\tZu-8GC98oD=^FY<Ҽ G\AE,rٔCe ?u2 ՗Dv렜al ~eQEcJ#jP!?ږ:qC$DE}]Be=,AuD&<0© = TAs$u)퓟n iKqQ 4$'Ѥ$l/;V6>p>ho(;ੑ ;(-%` dj6V5rX/> ; u_~l@{z88Y) pP#˴MdqEI-1ZHeAQa|7fՂJDw"ञmR@|DZntD૑eT U<=U ܸXbpNj)k+o[>Bg30Sׂ͍0̿PnBH Q$_~-a*a wCXe׌Ƹm#<+ƁtOp|u=cz[C/d`]A#2U[>6dm_Fkza^) {1PTveذg7/Y%hI7|҇Lawˊ$اY<,}wk7ZxzyTPDn׻i4yJq{㱍iL@2 = yIzHRx$yNږ>(Tve+gMj1=;Iܡk iJE(_<h)a 1SGHa#@&a)&3w.BYG@|`<=r!H,Оv#TYLd$=[„hl"6ۣ xh0ߏnv-̖p&M@Ii1{ӬT xCx u#*3CmF;Ňck$>A"(qBuk8 pp'{8hDx,ֵHMfV{wtq LjW9PI !No 4dPe  Nu5Wi]E{Ժxf@Mw4okJ1 @/+ <~/ޗ;bn>N_̅Z"^Je@hbYk޶ ,™nf^1R?E(@yN !rˌ wmۭf_:- \A$D}Utw}UFZFczl1tnWb\:^e3272|ե$ܷۜD+&,{Y9{$ZJ GwO[>2A\ќ&47g/C7(ootߤvIԺVKKi摘b@D\_Β64;\k g[QJdwCR]c˱:nlFAD5D[(N#Y@gCE~6C ty<_ ATۦ q!wpj\[!0 qG8磎 IMSL*#H)f_̎9י%zJ- )|1Ҵ7ư) V;mAxCoµ>$ ՅIirr _9AvRAJfe=s NޟWF~k;q00wOl} ]:3Cc4fV>)jj(B60: DSEҭ@ UgIڒoJ̉H;8TM-8FdM:R kO)"ɲUطQ>ߥi'!:1:12].nJ"uvBFB-qp1t9nT ׼]VR9.4".W8~FYH(+w HB.w.)Q+a"(7nSt4m-AR[FNSK0:&+[Cbw(͞gv-gċ%5CݭH 7[dɏpfB]Oؿ aEK峩ge–Nkb$ura;@G!(?k*wEM\_t;6{oPB:EŘe E7vJk:c.FD,XN,hh8W `~BN k(zZ8ޝhӡEH Q"XB\i#\lU CbB ErW%kª8dd#iO9%; *Sj L\Ȭe)I7 l|7Gfw~T%A' J8DVq Rr _$>jBC?W-.D .r2O8RFSQByjP]K*)SMJh `Sw\wim˪BD!qPت<jjy"yQc.XFS^Q`u1FI l1eEby%×0'F|MƞR: 6,nT3#Y5F7n,X&Tj\6Qg0aYQn lp<g=`>F]N}׎9e+Tю933WD5L.o3IMĎ'>aF t\^pB%!LNi#V?δ[ _ͽmIn F7Mr/Dni p2\C,Ȧ",sH. r2~h#@Jb&9%㯰$/Kp}6}|Qt!ӳ* Ԛ;~E. %6q?y;`<'ҙVآr7[zMT K.AM-J @w6wSyOI g|l|X7%aExcQGB$x3nN`kt,5xg{; (av+x]}.n2Ġ ǭ$2h~9qJYiU+` D>>7Fn𐫍'&V,g^qk^fβH*'I3[&-oT`\Ȼ e$x?v]چ!s&WT֛x 8 R;\]`X+.d]\btHt YE:;=1OK+&ݱBfc?csRjax (+\ĜfLF#͉>y#Ϙ{Pf'\FxB( M^vdz͞!kRo nFDV.$)UG ~Ŝ́luN (\&d`ϯ -ĪϹVD-(Sj8BR^wJ0NZD] CsOȋ+Ko.ܞB_)z>c v0*UR=ݦIͧPH T$G ,~g:MgdBfܝ(/}} #GePΪ@|O<0>_P"UrN-Bq-K(!pB 03{$t+0fiUk(lX'u(v&gG%Zo&Oa(a/? 8^g@S`%%{1{E!7{&v# T3m/K-**XžHճS0S+2P Wm݄sUL|B(|.o^I\4uh^%n7H>ǷIHC2v2Bϵֱ% s T|%pM,0#nW nڹtԚߒOaӀ7T#+;ڌX7`Gl)8Dd0@fvͩPr& b~!׶dbm%&ʉcUCZsEeݠ$iJӦq͌l^2(tK^F﵅^I6@ғg*o ]dƖډ~k6{@FgA"%w-v,tVX nn+w>\=;yy+= [0Z),-{;Qp܆v5]K:Ȉ!mgBJ !=8K)v1W,JZDa;L+k:bR[kn)Q ;B M\CȘwzP0լ[2IٮKWϜت۝5$w6頓.Rޤ.1$= ZO܀nQQvFϹ4'KDciC&ziF)l0Roϱ,17~7LVN|6;rգUN< 3$mLa˽.luyV0a` Zhpn -ıKq4/f!b*Bi&RZYnll⊱/E*VV&,ٜh!{;?@u[ ܌yr)X-Ȯ-s_2dau "~q5cY~|=+1a`&bmcMsaA+Q/6Is*AjiC{̷7st˓ B@8ǎQU"@Μ4٭ ܌m9 %KFE q'[N-ɏ SÐ3PQBLfFBi兿.oԵ- [sFymR'8@3G؀]}& j)9 M-Ÿ!4׹H뵲ᩊJ>lIkwP{hǟ@'Xk5JEˌ\cQC/O]@ [gt:ʂ\E9Nﶦ X…zalIagSW$b?+jz7qјp!߫=( @vwv`XZ8VYp7s@U.fqCbkXIϺgB}lmL=8sҞOvX]>. .-`*ˏTJ*-^o A4KX7 *E7ǵ2K-{w޶/NbL`_6f+%+|_FʳVIx,zk JDp"'N6\=-FiTС 񝽷;%6w~3ADC;‹ kr|:e␔n*3z`1m$Rpb@W8p` ^2EF䤭h89\SÝ8]((c J=0GzHe&ϭs@qsN>9{Ϻ5ܯA>-S:-j鼼a~^ӛjp . dXp"֪HMB?M`Aj?"6;n^'F?UxɥdϟI %:\ &z9m#9g i0@\m  vةOg1|GP \%PVj}PxLÀZ xͼ{D/熒`b <Po* |u+^X ` )w,pӱVWf0vͺgyOo~s`apy/QX݉bw!k A+xFF6u/IPfS7sR71BqSq*a޺g4f^^TtT@sKm}4>O%Uti^LQd}?1=khNxR08ХMsȃx$Ro `m?!D) rmLp!(*.%@v{?5+WOdv;b | _=ܷj/LK26`{z''&!wR&4]\;yӵ{!P:p*#bsJr"'̨ÛPMømWLƵŇR9Na<=Ek9\w>\!CP.Lؒ(S=cNX.|"2dDRuƜR\?);-uԓ\6MVqdSAl&ߊWYF[ͶB! pNnnnNTD]M݊m"|6XQuWK.P_G##xUR%Wfzu&b4{ :IZJAdcPܩZeW\N;iӻ(gӤ/P&GMz&I}ǵ,t5];? :bR. ~EAwO?k ds6XFW+ [~|Sך:cm'9gi3-R!MxyHW,9LN7D6Er!tJ'*Lj )Wbǖ2KޕRJr|ro6ѳUJ^O;If{xv\P]]<[7Vf#-md>!>hy)Iҭ;䑿2sʎIxD ?ج/l!~䠟Ӟ6TeW{#T+t-%M7vT%ٲ:Tq*,ls3.1^a#) nEpe+d* )"Ekc7FDChedx3@ȂˏS0: RFTsȣaӏѳ^QUɬZ`aXiXi^ؿ6-vqI^(EHKн 掠xhNHd<-InU :  {ۢ6,*9?Ӱoͭ7,lW Bֻ-0c7zuCGS8blt6Jş gT8~ kk n0Zky,QTt&~'2gKBye3 G+hG^?ַW& G[VFUx0VFvj> ^ej9;Z!}~jcf+7E){olOHH ^g8u@= !Q_p~@sbZGaX\wp>ltfy~Tn f|Ubq@-4|93Ucj9_ csgzVe@^ҧ%G\ hd kc]$~*.Dv61uΘO8c+ȴmB%<榫 ^wF[h$۽4x#\Ofܓx1~ pDi"3S"&Ab P~"fJJҖºx]ijp9FF4?i86+!"rV''lL hV9[~DYv/Sh&Mby--BOz%DNHvL=Ϟqģ2d-L^>=GɃHn]A Ȫ{n @8F+tȠWX^/ 9CD<fOO) nX&7F:L:rdv-ƏML}{aTBwHE)i)v ˜[b!ʗ|+9#r u[pA(ӋtQ [.3sJS[! N$:V<Qs 1h$WreUYiwa:Gb 2#[.]q%&SR6PP>H,^Fvo{d'iCH*g}PKFdG!tY@FFj9[t:VϝQ6//LkeNK߶b$K)o=~Au]UGeù+`&‘߫v6a,i(m FXlfz2* MP,J]g`ߊcZA D*NlasUZ3 :?q f<6S/^= SO:@T,E@!/Iŕ?+?!({Z"SqUogқ{I\'1 <룈eQ ֻ@ Ca ;"KŇ(*H;hu7#K$m\KKeڑzbV=2RoD[vjsfpqQ$V*aK?>,PDK e2#9UL@"-ރ_61\[:DwXN_ؒɸ4T)'50&IAF5M!,uݱeq1Q OB$I:Sobp-7 ߭- @An LAU$>T-ɟ0!5׻6$ fdx&+~p^Yx x.>0bZκ&`"eA?%w< (T;TkĄ-W; 7Vg7`gbJCx&T ~w+/B-sôZp^AOf0_TC2xȺ \L.O^j$U0]&y3 bg 1k .Zl0({WLuWͼoGJȾ<ԆF]OyS1:I0YkT|Ⓩ&'sO6-4)]h'!p#P_ ?G 3$Mg)H ?QL̽n|v\m-iYG ͖Z.Wpef>WɭǾ*x_ml0|6K:x (dڼ4|HeM ϳnpciPX+K8cboXGL+2_1)Gt+h*tpNSּC[J!opʜиې7펫כ{nT(92]e(f}Cu<8g{k%N{a:%`.r>x-mh1X ʞb؆]3i^*K`hⳃ_Z݈NCd8Gz~ 0t=-S{.31U(4 ?'7 U)i:8wuA zr(7j0ؑJ)VdPz ,3IeQ>kc?y:Ni[I 2vA'yV,4B`pkWG530y^eM>VsADk\(,~)s;^0.| Y+zp0H*b/خ(H31?4?B+ ~1;,c.,~_D"۷]1SU]':{?W^&7&)34^IrZRp7F%t>tq?yOqQm¯o V'M},֢Z1 ˬt!ľ}!@Љ-fNb2[`}vߥ}/Ar8 ڷrs?nɕyʠn6 Rgp@ xBX,X<Ҋ@W OB;WYVDp7N*A:0VR !мN "@oݨUA3tn`(qnI2¿7VoXj( iK6dJ#Ktҕ1>t-(cJzxfr%vTy.rLZ[W-P:"tRxwuɁ s'jlbQH_&`‚rW‰1uhpvU8yܫ;0b6ZS jy@3 A@ÓEcy1W~l$[!^Tm[ҍ6R델v8#ZY&gF&hTPo`m(0Íf.売@CqkVv}Xzk\Qe<Lch@Vx٪QwM #MP%L23Tsziʛ,DWn1&JO\^,]%<|(%_:҆ݻ&"?!(3N?6PN3lurU`6PgYTby. ;6vE-LH(%;%HȂ[N? a7?zP~Z;]ڻ.۝Υ_'p b(QIa3ʚR+}I'gt,G #v>7tz`,F-(ޜ~"tmNguXC C'{ iSH&{ Qvf>q"=*uH۶GQ>vwP4|e"H•D/aEh'6: ^$K^[W^E1ybt@_ϻeF3S3{ Ԁ?uZA-$ &z<˚$1RE.?D!)! SP9i`;Z\?-ό$p/\# iZ W.y\u ^,z`ۆٺ`>mT\&$SC!ސWI?㢦SP&k–J$}WۺnByJ`@Wb DxW|̋駴XY/ÔVcn\+եR4"?.Նa(U챡[٬͏^3>dA:$.w~aIUc{n:N3}=O64o'|5j;wdO$_TkZSvd|=ůQk@]fPTHjA.mK Y,|$B*٘ UlkM P htY}&""wXZxYgIL]aaw{4h~C{1/d*`)W4LKY5GQ0\n,W-%mZӥ=k^IJ?fQ%T6tM]]({.#)zK|68˧;5vd3v ;p;&@ lW+GrV>0#F8!0aV|.b(`k[v4!fENn}STBӨ ABp]&]|dy SaĮ% PEW XV=iaR̠R2 rI ؎_/j#1- )s(EDktVz%K^auyJpg>IT=ذHFo4;ł7`=L(ܟP^w!Odj?C.}Y;ox˕oVM1gU:xк@ڟROTba#Xɀ)O^hӄ~hUmN4(bO=c౔].[BVnmoş[Gxl 8M &6TojW5XGrG;4&cWvu:%(Nj51'ڪ!5-ѬHGϛ,<4soմ]Ecs/@D"G!~7 fzBm*d(yg!)&HȰAA Fp5&2GW{fՋ!9 R?%̕]y8{xTt2C4tg*~=e[-f6 \!>XTS6hyWA ą#vӪ*HXZ-,9M#yѴ d&rPp 0 k N|͆z,#: zlfY]]##7*g}?)PZbu{@G/ $~hw֤^l ,A>";hPi9"D*Q(t' ڑvB9Y oƏHtjѺiVOctV]ryظ^4q_*`#Ydqv9hf^Mo~>ŭZ[=Gv)4N ۅ6Wt#xF#x/y|;öLȼD6XS\{qf(:&7ar-7f{QhLfYyXL ?r8F,Vq` ^06Fg<@y6O77y *#PzZ>{CEe̛͒z(hRNioHŸah? t_ܽ>9>`H.\ouGI|r^Z~>_dibn}t9B@m0߷?XsM%{V=Z L]S>yW~Ѕ~ysnLCL8Ÿ;/co DbZ8_h11tnm]GXrn8&4f9:9yPP#Z9s^ĝp OqĭUs$$(` gh8Z#'ZdX Ὀ}'x17#Y1l`&T^{~6`!guJmsAc01W"UVVaH*Gz༟80VԋIdExTk'R*]IYcv5tyB7\Az9ŗXu@:n4Lb;͌ʿU |﷣_ׯB!j̊դ)]Rdr~'3FExJ(0Uещ z&ˡ#TJ˞kY줔gg XO§ "4ǛšjG:pQf#U" dL~w (yůokkV] DIXђ(Ei /*Q.KlJۭKo;M0Z3w."7juY W5c?ml@_ͦ^KքE״8'pjXCg:TGӠ|(Yļ{E7yQZ^ի4@isv¡%1<izb4G@WO ϻLvB[G}Qkjbj;] LPbL.bԳ!av%*`Ty<^-;a ,jT1|S 2e~; Ħ%/j؝լmk$*87dfm[O,6;ˆT PO$d N # <z!!bw~}[8Z =D bw&aiO5jZJ ,gQ6ݦGDzςMr5h|b:UΔ #r~Jz", c^[泯5d\=*ѽ:\n_giFv?V fdu΋O6"ڬSĄkEqkc2wAM^O4N[V,^MᎢ> :fyc2i}% h!g$#7hMQg*f-t}5Ȍ`v$>̪‚Krz|_Vl-.WXyu2Jf:P@8 :F ˛.)&e=oKhiNL.r\>%iE<_ͥt(bmśԲ2 Hy*G{$`F;[00#(^,Qkz7|Bv md̃Vf (H`:fJ,kgy;op'd ТGN]x$8{LB< J[٪j$<=q~ģ `<1N=Fh*β$ھ0B 9zbhȜe'Yn+8,~mKrfP t X3<=/mS8YlL@&":΃B+,18*?ԙϧ3X5?mHĜ0:+-Ucu+djձQJ^j csz=on.Ҕ@g=n|/:[Z(B)ai=oհESz72iڥ39 ). hjQKQYWNMi EĆ Xt_DzdQX.,.K/^ )cTN,q^X7޲F2e25#~r7zoS^RPkgmN] /?uocqcօx([pl8᪸ѝ25oRd?I<מ&Rufͪ5-R}z&QٟY5XwE-PC%K:yHug%=+jVIŗ2Ky|!fjvZ]:\r xnIo}xpkp.yvA)'9.>2Fך~34{u61XEl7'Y&25dmSJ˕*lc|Ls܌k\sFONhġՅPHoB8Prt%ÿe Td_MkelPxPMR7Vѣ$;wЧ։jkˎ,nEb!_;h֍osHC@+$M ׬RMuk`+Ypz78du=le4 mۧfUh q`wmEtS'ˋ"vDg~kޝ<bOi}gGm,i>ق9򬆤*Fe u^}MQTFC՞KQKf~/|ӝwWG 4Vo(9,R(!DŰlFuAl$emgO!-|b 㱤9Ȼ;fW,b7^Dϣ0Ȣ&jB*Xr"%<|*Sx{$cW6)ɔ7&`E"N2>|QmILq9i4tX@Aka=&{V ;_]'ǵ._2V>Afdg)KФ7fF)l< :Oob8ٟǙSeD g rf㨟V!r3.'ep/9*%+[V8{3rH%H\y[ǖ$&:j 2TWBz^l^!`ob9)d2E0^C,E ̀:V衍 :U[SBkG7MоV ǧ|Sue[!V}g4p `эY[nXhcoE&ONv82!|ZP`־F"=*VcxR:j3F&fDdnQd5,4eZtoN)t!L+Ǩ2G7QT }t͒j9v*otƘZoգώ+: "WhE;E5 O [mjt$i1j%V>ERUdBzC#&P+հl= `"g]YtJ -{OJMV Rv\uy_!8D *QzkGn?棷e&%H.ގ`k5؜+ō r1+*}<^D۬o\m%y0U7KU=hF?GOtks:t5H/[ktϷ/'+Uф+_B ǠJHsh䜄1>ÍUj@9R2VW¡DUrCTG ׉""avNsU#sEew>UU i#s9-%g1l^VUpXo*J~*% )eJ/DZ?Ak |_& `6>?\>R>[u25) U<.A"ԵFv,z9iTMϥ?ܚnJXۺMR `g;.uѯV N9pQ~gg|V:9i*9 sYV`2u އޒr(CiݜSQ'۔' ZILXٯ&L>7*fZVu|v$J%SL:œ&zF0p#-aPSf/*VFpLK+dØz miԬ0 GE')ADpHQ쏄-A;[րSVYZ\L2;Đ0 Oߍ#xa(rVe"U[$};ŻOmSpscC>Yn3p K-͵19< :޽>?F?1KHtFSeݐ/{|x(; ̽JL@UY;W$(QTw5jc}ゖS"L<&M[SZR"Qj َH1v8NZ,Bc )!;|N"ebC.xnn^ ʹ4]Ch1hGZsښ7O*B%q Y@)4EAv|d-mV-tVgTkN|-(ߚT@>E::JbV{W8f-/{>|@cRKY{oAg4!9 "WTP9K'/=AآH]V6lH g:wuwnmLppDifv5X tDAvk0[lw;l`a:I1Ko+o{"-oO k`uc`ToT-G2:2tAQ#}4i _ܾUOqA(y9gX>?h9DOD~5BVKӻiNU#!} V80dZmp+*JèKwXC$ #t"'J1$O5lHtZ Gu_?cub< [)nwyI"M,+q?/& Ez1뺠&˓U[ >VH#d :t~0_cƅ)>zuSڠb߾Kg±D!/[q ]l^ZzALs 71ϵn.C+ꂏ28-"ݧkmhIu1(7ѮsKX )r(9!\cE˕BuI.6sNv/*z6]I[,K# =Q= xҰL R/VeFT-\ ĚI0!}S>NA%R! $$}xM,qgVڪΒnft=nR1,/H."-_k'hMuPjKezҾ!@%O*v^dkĎJG)S5,V{{.vtTeVASk. nuvu${ԟ5W[)A 4Bd%]ji{BP~F8`L~^&B⫁❛ōE<~؈~Ȕ'84,50Ku.Dzi9JJIA pj}'Ap[+Sg}F4jV?džٌ[̖})$ǩ>4gd нGo>m"|Zmvwqe_V⍫E-[&0tfN2&Ő`z"6!zӎJm= n]-=NG͚G%v^ZG#yWb, ~i_na5Z ̀rI3+YJKSi* z@l40np<7av5fE2r1jOBy]w@WG!g ]~U< B"zdܘWd!iLSԄM#j`#&qǮȌaV2C@:3r)HߢccES ; 73-BR?[f77,m0Y$]U7 9kdF-|Bl@c~ϣ)tx G~+о[C;mJ?!W/.>vb-Vqʆl(^I֚ڦlCc`(6%T^Tyrj,]bBFG^XuC_]iKE"|KjGqw :/'X+.xm!wm.1OB:wѺ JEmv0ʻbZW6ٔ8tGSLpB=-f0'ZzП|FRI= ] йNdT]+wOCӢ7q=՗ AGa~Fp*D=)U84;xV<<)^WSŌ vpIypPz8>4yEB=yeɜyv^4?ο.|嚌F$Kʾ & X|{] cCmq`d?1k#$'*[oVp詴y%ZFbNL]'c,R$ ܛV4(?6@85JWo\'%f6 Pדߨ(8Gzqm}U7rs1e`Gh^wuS" (UAS8uK@f$ y4-A-ļhٛ0+-+I9ػHKlEeLqܩ7N`*HJ~{2;}rbDdmYkv:m-w=y4\TK]1?vCպf43YƋZ6h!/d^oI7DBe$Bl:&UI:RVv30yN&W=rw\&<1f20E^݀U:;ǡiS2cvz3LI. vlզP.i<[22vl٢dj 1 =%rP3c^3uE26!+\د*ֆ/^؜$=YS #:l01C'Q:8X7*1# " }!n'"V)Zqն 7o} ]^eN߉•285/J(_t?ش3}~JBjZCƍ#~B)oq2)‹_/|T_Frk# " [p,EK++wx}gsg$$#Eb:ZI' Dqt;E:X}9 |\) De A0xI,G ˷pÅEX*r'Qa=K0Ie*oȭoj3ƔҾ2۳?$j_Yȗ)ʉQJIU ;lNܚ^I\M{ +[)e FϰS$X3 KD\M,?Lz;2c'0UzP[ZЕ8]eWQy8UHpSC=ϋJb"%V ^ۃ?HU `S`:0!s]Fyc6ǭ/#/!!kR Jqn cH~ E IbrTIز8.t4]#=_gpjy^zUoBX4H>Bd"|Ŵ&=Zz_ϸ̿y^Uh-7ip,<`o{ShYE2MkY.p7w FaN$iڮ\D_gά|HNPsH|)ّձ~1]=~h79G\bD<ڱ&_@p{T{a{nԀ:V6iMINEUk |܁iLюQxaa]aണx^pE)rd=т[SeݨMI-+nz0g7֣sA 4A9)MmeLRG.m;n!`NwKnP\k/ %?G&=ߞĤ/SG22F&>ˁDhaٿ}#XIEkI|=wз(V+N3!XJkC5=-R|M A;fk ALh  PmZ%3Ͷ-q5n1Y;$3_bk`s!C?1[U;wʡjhnov'?T*49S@/2 ꒦ĚP":8-|:rOi%r} nZU.qҢ\f83quH* n|ha0'# 8YĽ) {>TZJߙlx1zqAdsAS}B.6r $}眍/p.xo:U^4D}W \\]dE 3-d$ܪ5oR>O_iZMc9m !BGilv LHhm~g@iy@}n>VU!Xqw$!²%8|:.*}u%L67?5F%8򀦵G} ?yV8nl(l b==$jz\Srp4S%CIa`a#v| >`=BKJ tgQxZNBHZnÈҊ;3beIzu&Za5Ƃ 7I}3[O˞FLk}b&sD)MKTުY6\!EK+ }<1@bʧD&"^f({ΌEZbR @T<^Ly' u(?bQ[L;0f ^=b "а/99_aqTB-2Yɡ .1X|BfqpJrqx/-rEl"JSjXo.K}w9K  !_J彺9\9l|D HwJz~kAՀOc*’}#K%WYDqgHD7vc2^%}6?ٓLhwE;.l?W(ܒdΗZVeIgɗJyayd49Ҡϰ V8",A;?l^]5Yߊ~K$ur r/YiͫA6樞-H98y~]4_ Ƙ)'s8#IV.2h~85ץjU)hȧwʑ괞F$@;>H ޼n>E"a-oۢAiHF$M+:рfw#Ɨ;ɷO3\4a2SL1&̡]4ɖ@WFOutO͒I>ϫ.cQrnP^گ['7DL{':6W69V|xtH2:r x(8h 22qR0N,"LK "/1}838d/N!%{Pü\ҽC! a&`}RlÕdȳܢ8=fqٞ[ {sϧ8oZ^dL^tn8_xV`+J.$bw[Wh\T,6_Up|\lXcKSGTj~JRA [ pb^{?-3 or_@B=Wх뻚K%O;aʺ2q83Lj=] }|^fӢc Ͱ-uI['gHE>bs3rv(XrE]Lm^4&Ԩ,"K71si U_LhK q&zGAI<]i.@uŁ뱿.OJZ}j=3P>p9y^mǬq23d XN@s/ `4Mp|f/rˣ<Йabs VUZF/;G&-B"WOi@Ǎw`@?kҜ7U٠Nt}ܩT n%6*yV^h'F>zW;DL4rͭ53;+(RƆ 24?r0ovg"eZ7-k3 \zH^D I3>:l]+ c'T̔)xFH)Ed8 :VrKVq:m&"Tӥ^}t..D6;;Ay$5ڴ&J u^ Ep@=GBRq6cN:`i|ΈG9J*:X ԤsO&Ӥ- TJ7_ eLR: ]U1Ovә)H¯T?a5p?ib׏?j] W԰UQ۲kϣy8G8SkɌrK`t]iņv4ގ-=F\|9s~q6`'y]l4JxتimJlʝ89E<u4Nk144q#__i o;¨rxӹ^ՉK5hsN•pюX < w؆\r~YF0DW9`2 )Tz/]WJ-B38r>"גv[P";g ; )?b 1Q㏄"m&e򰇂Ejq$2MLHA5 R?,MEڇD'=7^P@A6dbz=Ѯ) .x MN1bOF+;ay SJwO1tU\Y\\/nLW-č~8wȮ`R!u3>8TKIݩ8#~Kbnf<컆<26;O';W])ZT9qSE% #V1a}/OOnEzFﲐw1mPL񴵯ۇT}оXתS`tr=9@r̜?&DTcUM|;VO0LHЗp0ݡ㹫ט.S`40H v/!C?h˔f3\H *.jZɛDF,unÆ^BfV *\GCU2\ 3JV\VI{VmKXA1.~0Cm+;W% | rL^]yzډ1@@n'X!|aqq栜<'Dd?*U9<{URfK6o2{5nlĩwW=K1f^3Z{F^3W}왡bWo hT]Ix]J%tKYkc ,h k]#|oF;/̦TzX?v]N/ kZ$jm"m5T`$ ?Y!n^#ƹt>WY'"Ȯ ̟ϡC .d0  I^:{ AMCrFH-Bc })bvqrv>0z!)'Lq:mCE)(G`rA@1 bߍHBcB1q`bq 'M9!ј&Q@ *-DO]{1}T+ 1~ڮK=Q2<+OE5jUX4s-::.8> Bo:ɴףL $ΥheBa5[pg,9j[Ƨd䲺wCpoum8~zaU! /(kУ5wQbfUfwϲ46t"n0y4*7B, mw\TT#XGg~4wvP%@8׈$MK'b)D\*It}%i陽m%C3$nƝE3uSs0?_Ϊdm6M]vV4sj0565}ƙovso7$y ›al?޺uU= z >4bV3i|#jNW@М|+|纊e :/ ;$R(i m9WnF\rhBhVGli0C_==-HTK *Ytʕ㠙S Is9._Y-6,2Z(ɯXfcYqe%g_Kade+  -WH_c3H]<޼'lާ5C{:IY6h4Ya(ZH/ Wovjvh~S2_xiGA@ "$vQG.Wv=%.it| Q Xuquҁe' XݘzLx03`B_ꂣHSx |BHk8r%:I_ɑu04#',hHT|h>ixqB@Z:c4%zo8p[amI*gKdXoFet1H\dą2.(!{G_w:Enm])Aͭz4/qiahڔFFB6DnW.ʸo =3 iR-`XADm8/Sv>:!#u<h\B:,zjkhP:s8 Z~Bּ`e4 n>&Lз<ӟ2 Wb;nUMVq*{#V4=O|o}X\~HY:.4JenQC2.$Gu4?O@&B$rb[$WaKN[Pw1c<ğ@]ܟ0RBVJM$aҶXsо[㖁/dd= M e!>7Qepky7LI|ڝc5<FN)a'_X$2j|*5+/-ZƌO݋)b85u7=+NMIO1j}֭V *TW00{{jRWJG.T۽08bֹW^}]k6cU}(Syd0 %EL㲗=COぁѭ߃]`*mB+SVlϏ8u1;: lճ25Zܿ ËߔŖ1YʩI29X)(U]IUI^ ÃaP|޿+ux8Žt&/Fq]PQ`;UMfH4 ]Yf[r{E¶q`y^A,`+ky3J}o `l0ʷ A+1g7&z* ?"@ҏΣI ^([s':gn0<b?DuSJ8U6'k/È}S'W³oN}o\rxeڷ"WćQl S'"~uBmOw) 1@frwȸPeF]7cBƑCD@WkUX¨-dU'T̸α;q?WZ@#@0dj[]11J38-[ w_}vͷx$1b(2iw/4Ω~ĦSLW_{T됨ZC|븣୰Din xk2ؘWNgXmVe:Xp".89\l"wRKwJӄ ~cXݚa?ƨJ#^v+\8*ݿ)dn[9=FPXߤͿ9f4Bk$.2B.: ʰkO"_Sv$ x6±Y@B"֞@Oߨa EG2AvN5 ^Y4 #

'igM]}ayzQs(C1/L_aBnN#t+.^dmZrre~ _Tm|$ N'P;v{zzEcs(tĈCkJX K4sk"D=%gWج!21'KV d|gdF\skZyjP@&}ڭI Ä;lyx4X NVr®< )bzN*ч39VW-4rW&)tv0,KtL]~5F3K,ʧ16D XPg<E$ mܐ}hn0zz)m q yCC|=dע| B 7[D=Rba ΕrڳCBcwcm`]*2$?lNg~ S[C4t܉6S`w($V&x=6NS@vؼ_B+}6zoKծ]$}[#(}399/ JYk:I&`|m@1Ϝpc񼂲Y<'_:F;ExLN+u rm5o_`v~$cؽs(*"f* TŹKU mH=Y'抛k /̪o*^;/Pq&K`|“a6=h(aiB7W,.P멭Fj+=ma0ܤQQ ܖXaV\@q Խ>W_"k̪ qS{ ,wf툈)(&zoëBTg ^%sJ'WbduH* M;&".^$bض_Ҳҭ-Q`fi(78,ʁaXqk ?(;8_-Ueg2ɕ5E6 ]a5{VOh~;q- Yʈ] ѿ-CyɚO_K6kw{]Pb/ j,Çu Vsf 4fpODPhfʸ)~\WDM@Ya?k ~,J W [ !Eox<4C&Bňby@@*^9e$3isK'cec~jCLJK.J34%2;(eIV؀4nST#wF5?dyK}I@&"Le!dm[U`1-Ƚqin|wlt!9xo 7{jP߻vБGsiJhL!Bܧtz䬡 -V"`QzmR.HB)aY/TEȤ Yc8po`gz#l&}?X]% y=lAIEV" -9q5}:c00F^\'x4%aM:L[}"B"wku0+E5;TϾu.?V, 7tYMnrdo9v(jbPVu.y@tkT)4$22 DU{ʴC"!B+!#ODI 7UUAS@]`|Yaejh%HlAҮ)M AƊ\i)OBvy)ɫe)%Wߦ6V[OPҿV[)>!_Z6B: dsaV5'f+6u h }/X̀mGU'd'k%_@ϗj#}F5˨,A'c%svGXAi4l m'V^f [ޠ +vB}G3CdS2_SEl,'.vy.ъW,k=r^KO6NMrdFm>(, 3Ń[dSߧ-WM'qf"6#UEN!dq +,6[C]LӦY%dZ %T\YbWm~‰sXJjQ%t+iF Au&O SC\i@ec\7I zK!'JJ<>u ]mE"w n9tS<Ӌ{ο>Zo`gB2:Fw/jv I7w: H3QԧcL?o`3=\WE1)k܃ 's'{?~ h|(%C[5&+s8A y_ "[Ty|qrB:o -`o}椷"a[LXX)@nF Rq( IH{36~!Q9#zw4ޚí|Ņ>;Zh:A "?װ06hEQBug"_|=^A=^`&$F l[iOB݂'=؁0=ζ=1l?gA#zf[?a!oO_+U9c^^n[yI6FVҭN]s#X {hGz .Le7~ \|g6R{fE$nu"|PʒQ4fGrCZxI]^MfZ2*u9e(c]p{kV Rg< h(5cNY5/Y 4a m@g{tP>n͓Vn ػ#|r*(H0VhNFZ7LT4 t'koCI!rڒ>p\WWD-;waH^ D+ϑ^҆GQ%BrbOpUL>X"SI]Ms-9Fv)~ָֺ Γ[KrqY_Vr+%j/h3l%([Hcy% <jf'c?WaW˜c8dS]򟣋t95e'b>'-x.;1hL f ʶG, f2!Q!}5ASŃ5BuHLlQN `wG!(ϏN31э]fJu2!r:'D%M2>/iu|92퇢S̮~"ڭTZTii!tKvTwg_q`c{ AZQ\Bu걔d!!_3 7vl 4+Y>Aq"l|MC#l{0>&c<rvmQe`Nzx3y3';A; CY~2\O|dȆ8HyEu31ri҆9f=9Hm4lf6-Y#i9LUL}˂A+-W+ *"`ueP 6R=JYjE8lTymCDH ӻ<.#\wn9L&Zϵ JŘ&",D\j5D' SN"h5Yⶕcj U-cq[J&Aa߫:|zieGC@#kgLwѦ ꁎř&Ut]׾>!-p(KhF89ՃRkVllZ*-'K9#h E bxVێJP[FMmEs2}{OAZƜ--}T_>c_9bwvg4^wipټ/qreRJI-Gc bR:fG!f:2m>5%R5fSؓvgȲ A w _σzfAXvV&Ǽ"fa qRHbhȥi8'W8uq'}&GCP=V4o07)jwK'm JΈG 2&\s\jѣIE33#pr!;avPK*c%(tI|Wד7OEg'XHWKq i2 #c#x n\gJ}@b$\ʆ.+&|HMCʬ:JM::AgY1αXIU85^u%0G4U?{RLYMYMIe"UP5@`vU%YTIol 0 U.8q j(8#卣Zmr7-$ʡRՌ7JWf`*<y$@a3+ xz acMNia#1nL&PIfS2RDnrK9]|& q - &hժXMg Z :VKX%~^v(k/w3a_9+):V Piy6𮧁h]sHh_b37hlnrI@+u+"w#ӪE_t3["2Q mJbn@X3)D2Z,gS/7(XVip?Bqj]Ϝ³eo<%ͬ=Ozqlݹ:n ܠF y\XJ0K"Oߞp[\_4Inע y{f8BLjLzW)fCiw;L7Iye %:t{גsƎNH8S<6sv&eP"QqëK}aO8֝:(Kׄ俄l $h?1SzMj1]7DM$1jhveD%]| C"MZ'AҤ>|ȥ' ,*гe=6^s+A6%fbA^=Ffɦr9#m}@gĶ>7^ȯo2u&-Om# *[UeV -H5VZK^qf3w:ohʧBllURɍva4Ob TxT2CH~&Hc g6UivpV}=N7"z¢\Rl&Z"@#ţWTcTi! NËZJvMeAc-SKUߕH4_ҲG~[8."^d%cu0f_8Q~ 6BB/Q5Zn697.T >9:4G@v?MP(gPui Sn\"#2W>^Q ^A>ƺ7JPg oTJN&@]23/U*.=Łh2.5ozfKE0f oXhi5zlf7ÌYՇu@+%ok@NB?*k~f:h,H]u8&#}R\}O o(2x\_ '}/^hsG;tNE_%!PHu)gKb+tfjvf Rn^RB"FI-8,☳c:1ڿޕ2}n(|`PѤÌ!6>S= iR9U_8+ Zp2a)| +5|~^glH+Mt9bcɻ,#GgV93HK9]e*f_%6 !_ͣH>MAd?ʻ$&NI~ff"z%;(ſ;42c*qsg r,.dA@UxPi ktgx?f}!Jkj~-Ni:!cTsh0e8hnQQW˗ܗ5 t˲/o"r54r^~S B]z\#W2i1=E9gTIy:sj" k a׎ 5\QӪ{Q\QNMvSq`놽J\J$aZ1UenB6XONHZ65BG Nle {`FTRH#0߄Q1L,i̊k 1̲QS~xN[ďʡ1`M{3{yP 5Bsp'pC/N6ע 6{Gh2N3Gk{!?8V/;e'NM:L A[rLmU1a,aK0/OW jP+QZ#;BkldJhKQ] _mYw7-l,̰2Vwʙ1:YE[<8itKg|GXh\_-<~Ь 8 z (Bb(20wʙGW|!y`_!\'PH{~ 'WkOUz譢}PweHQy+Hv?HM[YR EbH-\+ ?y^:ibTfY⋈U! XܡS*:DZԃy K<<{g7j%/1}Эgw’9Dx 0jHJ4FB; *~}K"&ڝZH!'%P٘k8@0Y+&\2z H\m|L tӒGx9NjM2TG羒g_ 8Ӵ EP4NVVW88 T1+P!ЄX>j*1=<4a,uj{^ѵ1ݳ(MBP5'ѫJ>.nvDa}DKK"O浮L-mڑ$ehb%MPrޣ+i~svNjAh젥݄ۀ:W3k'áHGw6p"U%RfTd;_?jARRD`T6k3դM# c2NC 8PNyx|*eZ6a ;2 1MqMz}7ƞPAoq"z/n!:%5GnW&n*}oZ7-UkdBu"9X6iN'(Xz‰\G }J7O #Lˉ;Pw7@ʯhKYU*z!wN[b.,խr+I]R[N0 boH&]l-Z}iLp=oF!S9w ZI)e^Iw;_|MϬ cD\ ߖ6 ^65кYStV]Ѱ ^\&W4d1Ĺ_)60jB /ΚP@Ò}d`;dD3:Gd6 mJ8ֲRy(Z5=Dkp0b8mgnC3튣jႸ͟O. CUCG9TbKwS㱡_;2iҀ8DxS##C[N.Lvk{SAj&Bq_7 Uj̬]˽ΉMx07w9^DZY*GiY_Y٥Ƀ,c+y.üiHumIT0yXԬJ٪X^]8@K Mtge!j & 8u62!Dd7Ʉt-$Ϯ3%'^لI5Ƈ8;|f 0G"2[Y&o%^Ed·Y C/,N%伕۴˜s{ڬVg3:6۱Ϫ=ёY*^]<+l* Ϙ$Խ1#yYun|pj+oBqK"u۫/럵`o:lcqu^Un=2By4*-*9 #U-Oğd-8EjKsde{~ݵ=*LXQduxUi{V"JQS:.B1gJǔF#Y @ n:HmOueM7].Ȑ&]ɊyPum3.V @ݚUUn o<crO/*o1 B,H,Y.!nf=epu-a-,m&|*W | [dR"w̐?K;3+Xf YsZh+ PU 6)gH±]{–G1e)Zϩ_lwL,\Ru^k DS 9ؐ~PTl^@lG-yԌ"`stEVr_8!t G6Z.N޺DybB)򏮴uy@wmNP^J` >RK=D`Wȧ0^RdZ`E=ZR^Gn^嶥ӴZO|&lhfU([F8r EDG{_ R]2n*żSw"хQj^dzcKUG1<'q!s8:iUZ*I??m*>3`pPDIrYME\`mf9AG ߾Q1i ?͙ W毻=&t>1$2i̷JwbQ>Kb:j80$#P*"Inߓ+ L(!4Jχ)}N]kO^`HdNXw2Ovc4͸_?r;AV( s S65F0 pTA-@xϞ|XbAJ%.'XfM% FmYͭ Y0YG :1Z6®ο#d@ڰVqO?_%EMZǪB'[Hi~gW]6QݥXq-܊WZpHk|KB5yL}Hޑhq8jrqIE4cbfjG)ʇ(=̈́!Cu&/)|;`7 c}`VMk?Z'tVˏwglCt q\7c9,AM/5&z&|{<mæ@KГHؠX#pDjlv'~6A4mh_c>yNVno̕v|IWMauA+CqQ&(pS /y&Ӟs4o| $yyZ6AE2}XzXζLMMi] ~~ӱ]cdv ޯWcz6z'f]~ERKa=ܪ=Q/k@z+~Pv= $ƌkܫ|0*bkŲ\+I?8d~?1B.EO*YId9{Eiۥ [VPļMZ]9%I`.+`e2Pa"n~%(}kxzz5Z)"I$3vz6}AW!0]y1*:硙jվgTzGU=,"Lt zډΜMB`UapB><}hD%<,@栘"'L γ_~GGw<i Ќ`xO׹O0=if :󱵿*vk]R @K-#aoh/L'rX2-m9RSkZt"oV5Gm jL`0$KS2ɑi^)X7=)aOעO8 Z15EM<X-݀]zE2&ơ&]pYz\TQa0`>^TGz5(`dʲ"hzI=ٹs1Ⱥ؁{̣%+-n:g#yuUw J&>-փ1ű} OJGGߚ* {0ШDo%yqrsqN֚{GciS@$]R鎗LzL6oM("ƥQM=@RżUyc?*s^x5_+N҇ :}5{[zX*g(%{С۩SZtN$} Y6G Ժz풒KnFu΂SPz|L5Df?C2dFE~c"UԲd-&D/*JNn 3 rW&͌muq! MXBͧ X"ǑAwST%"ffTDo9cv>fF"C~ROC`$;v ϵE#fz:m <%i%T3v|a{"SrIZnƔ8]Rc `\,̱9xA#+ Łī%' APwݞ+h~Q/"TWc\,#hjn3t[vz24| T3<:eHs׾t+nV)bn='@i}0][ލ:xv8v^.ILuڱ?,R U_ %yrXRx֞#!0#v1=w_ ˷ܪ[-L(辸t̍U&Ћk# #QGDacҪ'||j|9AI\c7i[v(jfHx^ ~u_s"^Aݽ&jٳ!}NbVLo-d0VV[/i-U$NXrHG؈۞4- 7NŁ oB?]HARG akmTWVj{0i dO(^>=xาJI%:jZrSTdɐ1.!QKw J P3G~Iw+46ov/&FA:U`#RӪwPZ^aXO0-ܯcY3QN'9=;ڰ*֏e4x.fM(M`׌0?MS0dӸQTΕa</ ֤Ɨ.W/_-!c`39}d=9(N!52!f~n{JSی%?ERF{12!g|AyßD Dsȷ oDW8qf6B{D16Hcm<';LGT($2jO_,8m.t?[)V+diLDpΌ)RVB0>=vZ. hs1Dz^M^X dX[|]AQKLf_y5o/jE &/Uj::mq}G)9&@za1!Lck|//It2l@b#B4KAʟuP$XeF:'?7+Ci ul=u+2SdBѸ@Yx rG짍v-|)N$}-7͌DUtpjo1C V}kR:OD|1tw U}/rΌɷsCDvl6* HyFb# 1-fsjcB;=5ck8\ڵĩJg3 Lz5^nBq [cj^)nHW`,ZN'EX#i.oPyV*"<#V/oCyw3ypU'Z&>צ_Ii @j݀Z3N,O,ms$k;O:v/?aNeq!Jh$t%ҵo6.x@gdg3GKP z āSf|aĈlO.uO`eŬĪ)jpZ sONq + [PETܽRNA,rJ2^MՌ7@ȇRȸ}BT=OHk^QL$dNc,w0}&a۷rhzb_(.q~ p ߿5xxTJѐو߼M5:`%I'ˈ- QZrXњԁ@%ۨ:?ߌ7s^C` y2\*t˔Ŧ$$Nɥ/QPQM2lwqsꂦIȩ_ٺS76ڵv,:ufxEIኂwF@BmW^n47~U` 4i{9|}kO'+G,1N@RAT˖*Iַ+0tVq=vzPBxkx~iWE4l!4n4w,,>N܄QoJp_C5YϨ 8sds3PkhJ6$p:?;Y\ܾas<`hXSNBJ)HSFA#J7E"ᘖ  q, üaY?zVR0Rߪ(?.fR_O^~uj>:];Fs4O!bUeWyu 9,š pYLKC­vU@h`f|SPl1I}81T2=qm&q&x ~w+@D8k+qU2MB_K+1Ͽ4[dt eI~DvP};}tF>T#8({s(&缈qwQ 2qsM^1m8kXt+iEPV@Cu¤iy=}#>k"*{?Vk zWҍiz96STNK k~g2ibD-eS_O?}T(<+F9G ]#HCKK !U鲡|},$T^+CmWBg HHȪ9(7{ 0i?v+ Z>t=/b\|U+hf?z п $ipKuFO7./[| h`|~2{pճA:dN.8 T[|Eě J̺P[qsنrr}n}_YՇuP$&J5\}13^_A݉~:_q5 pA @e0lKM3i}t^Kn:|IH(E9bQ6cO͟FEpg*;La8rۖ9SMՁUNy[Њ ܚ`}Bɦy܈e ~̙$>^.0Rqym0loXF1Fuj]Q2Zmz&m?+{Sħ uLFduaSkgaj`}$LhN]7nlA ͯW[!&,ͭcA~Qmd)R/Aʦ3(2F0aOF@cC[Ӂ:Vj|Wz"#^E~D!6=nv #N$#h䂋9X|g2p_$rf8.NՓg+ LK7n-v疚Kh5|S վYpk`Z!50>T$8בK5؝L-@L0v!\7j "op`!m`:y,84n) -=u{$dݥc'қT:Dh_7txJ!Vd|k>;\%zJMV@/R'O"Ƿ4:zбZ})E89|p[|} Rs?mL;AfiM<2o&sE$u RߤU:l7zϖbʿ+"W>(304x:``5y(]}y0{듸N>uU;[ Mjr][uh"ZEO/f8iSEyC(|c/gd#Q<ɇj}a4*wU`& \ a**cr3U1$Ηչ5oȞzp|T*UCj6߈FJ^7͉F#K/"ôfSOT[ʹJCK0u@-]ݿ:Bw:8wEVfk9sr`$`P-1L Gm}F$TnEd 5]0ƕPigOl愉(Ax֊  F ]節Ӆ̧8L:Yi}S0VDHNԮǹN ȰNݭzR]$:Md~ւyvajHID0gJeXXR uiCq_c* d)%[q^<M!D/0S8>!Ɉ(#G`L8g9Y2ynJw\+k_AVkV>D<fI~T N{zߋЋ^99N4pNna$Ù¸Ҫ`SQf-w1e!{_RhXǍP5q{'^*O=o1]j/jkCj/gx`Rrcy )KJ,X[8j 7Uwd.˩ۗoӪsZ˨g!5)0k8u %E :;;6C=]c3d L3"Q&d>s;/w؎K`uJU]o">ڜ9Hj\ngSzېnS>wvMQfIVcDpx/Vًqm lmgL3c6 * @&wMty Eަ 8^tf^k k$yHm?ARtgMXףw[ȑjTeu@g%ž.-DI_Kpd@0֟,0S3$`"x^./EH:q-`Ƙ"=e:U`B F@NZ kE$4 A]W*b'Lɿ1Y.&Yé}T P s?fO]/TE+@%\<|L5|)AbRT~ '_}K;O>#^x=e]@Yp-~Y1Sl•P̄,jZh`@dzudvQ= L#.tH3_wsݟĚ:n DVy3+!Q3b4^]p5{6 %N[<gԭh!;D cM{ 3ںJ]i -iQ(м EtNRu?S+`}`*%s@i`qJV%DvU댣 ܺA!$Q_(\SDɢo+Y.3) ;tb۝N#JmS =\~A2xcҽ0ԣ `vޤ,nd F%w{(vQ/!s\MA\|fPi:GeQ}Fs7])ɯSѵdS볢VeltQV*a\EoDU&5njQdZ>ӭțUZ:aύ<\@`OvhR;x[&\ COAt:@]fFsQ@+e싇ukLTuqQN*Rjc6Vƴ_\\F+~ApؽӐnPKi)_{\ȀȘݨR]!sh+{пy "%9ǀn|BlLA{ 2l\s6ނ1; 1e<9g$I?)Yw Hge ^,86K!T"l@f+2'/hﬦ+! +N!hsymfffΛ{hߨ RM^O[kKz\)יrYDɖA,e=SM=c9`?0^H`rBHG>ҠI=NWIKd]X A+:J )sfW14^h"jĦatOj(C0S(6;tSPZ4G@%xI(ho=9IWtK vg1SKiU-diADoYyp; 8¡#r>/Ey1x 3Jsg*os,xlq-ӞU'|w> 5%U!MfW(Gѧas"HǪ^_(ced+L[+AMΚV$pZ y +U,YۅY?}nJ+ფxGCzg_]/ULEj;K!Ǹ+Ḁ̆)dknp_@?E!o#:VFhW#j0(9'{U+YEe@͢#*MfrىTo!'|O͡ŪzX/ԕAX_!dopr !S>Įn-.ҨlVqA?y|]Fr# ۇ??3 Z,;z`pH維D<H6~8|w^vο9)zỳ,;!oQm1AZr=;Cc BHqdư%?`m/nגeXyiʦ@VʯmaыzތFAi௣e7Yi67\}ɧџҹ6`]%IO-q&@wiWIhiEs!` \1YPߏQ4r󻭗a[? !~.`uF520^8YS;~^@U[-a]F :ug-gUX>/># ޵;uؾy(w[b$hF>/3 dOup(gEe+B5۴PPikBΜԛΐIgpKSW`a)QiJqK_'@X\(FgfғVs=qM)m!Fٹ]lFmHLԙwZOuy(ftVC1yh<@;¯}U42H>WhLWfU뗧oC<^hv].3:}+FsEo/ 5,.})VRț1k"18t!cjI-hӪsHu6 ض+ VA"Pl0&~{|%u?Row칈3̃>:I {4cIМn NW׽uCny"=;JuIàߔs;L?`z[V~=C䡀92.IciLi=r c[ZLOpυ l=CmB4=XH 5oSN&!s<}+B(,>Q/[~Y@ZhS*u*n38!R@d4'"ܞm/ZܒÍ2@<i68&ֶZ&IȢ- VP (HUopB vcGY54"7,Ղ#OX!'nE# ΕSJmcW85B( C4fV8R壻N ǐv ~. Xֺy_/L 5ucҌ`Qw.(pZ 0 nSUK(]7g%| Tie{/խ+)|+ڪ_PTH6cG,S] 12BF{cYWyk :Ա8_amuiOk#H:3zLۣ./ S(9k[[Rz1"VG- De1Ƞ2E1ރkҠlLhM$v~Tn XnlcUf \]ռ}EȗSؖf8rT`3ďzU3[AmZwf" 8E4itٓ"G&SETֺuDN)sw>tzbBVƜ Pnk@PaQ_[dZj5P] 7I'g̓ n|7N`lǎv!lYꖄ<\].~B$b^-ۀm 5fpR Xw៝U;\6 *3L~{fH0{gL aeY1,m$Q 'QH~>ι>/NUEŮO@a jt6μ㦌ȅ=|<֐0z%ȶe- ȯUw~{!"#0 }x($:I7By s,yw`o>^gGɷto MVe",9qO2yfy[A/yY =s:Q05}( ?. .QG Y`4CterO98r)=U 5ۀm͛ G9ҰQ"!$T)$ح,vV}(/UJsȿhx ;V;X|VkݙByfފUHBb`4f0J45V/t\V2dMo X4f5JI+ @OB[mė)Ѣ<zkMoY!XQw8mSΕ"0t+&RC"6#oh][[ T瘔@nF@]iD^)h҆=5 TZ̎ڼh]:ߚ/ >;Cek׌7葼{4/x$VA_nX*@;J 6ظÔ܋K_@d\k0hI}ts‚ܲ6P Z־4v邘 ;[v3k$7A1OWwtT}N_!@2*xxNINoPofcޠU@1q1M"IBF?B,5zYbF>t(]C{(Z' #.}֊s[pm㚱˓a;L3Ƭ_>-ʛ[$ ]ko\şURT*SfhҐvZl~p9kIQ/a~_uC["0sR|Mᕸs oVO=6rjhOp* E598h|@A'^`#dB5^yc?aO U H];&%xN6zŷΙ"Y ?hYG(e'at DJ~4a'Ϟ=4\ x>wRfGM&v%RIȢ9q WKdR:!'FwTjY܃%K6FfD_;m5ʹg?>*ج:cLkxq&$Gv u|xW[KԈp!bDЕF!/:!e +ĵbD0'plI;Ĕ-r2j<=|VNG"ZIpkΆ]}YwbA)@;&yktfpkhB28297ft3>gv7*n-g]YO1n| 6$rJT ^I41-{+"̝(4H* :@:a29L4CWhbL1΁Z[+bFvw^]Ep%9plҵLA厃(-Bi<˛N{ YKRW':)'Z)$z3>h :q d֖Yݡ˯\{ CywjS`3LJ?=u34)t:g5c]}39ܛo s0D#Z>MA+=: ^wQvtM{ [S^T0+7 sW[60`6fp|,bA-FBdzV{v&ֽCyxrhbi^m?XvaTU ŋ8HNS֗֕wg4"E^TZY}Τoy(PyʤڗK5Rl*O?_fD)-Y>YNUMdX[a@Q/*FiYrۭWBH(^1B/W%MKtZ_QެPAv oO9>{z  -S|W|)#X:I9 pїbQz[9xl0+$]ܦ]l9,X|2D*bO"U'0zc>we b4LI*VH˩`ባϗ~,?Sz܊Wee,uEmQi6nX҃?ua8<3Qչz5_MXJe'_Oɮ& cC>OP۟[*pVhYά%YVI6,rU'73ʑHClq hڔN[ Nm@8c8 ^A|7Aq?|P3@ɕ#rPbV*)i,%-ؓDfbzۡ'/VOP.oh{ue [&@ԋl*1kkKЙBKܧglvtM8RwY g Ԥm72} a~QeԾk] #% 54OȝZtXR6pO^{jh&Mrp᭛gӫ,<{I- }׈ kCŠH Li7JUԼliAK vDYNEkD}d({㭰ab0:p/3:zcC?ő?C1;6/>&1n)g!QRjubyVqQ RK% 6FW%LU8J>TLv΅7Fw/O)s 髹QVGQcv_ ف,v2eQЭ{OgH5hٖçt(Lj 48f=R= hgK Ul)=4EGAT_W&jbdw:7 M((kmh2ކo嵨cC ?ziz[~>쇱rurs<3eqnaV¥״iPrAMd hk'l39ߏPj˼VyTGeāXE.#qcFZd T}Ă$ƤRѮcs}˟Q'4d,@'g0WVd[E<Ҫ&#Fufgв%{CRͲ[H$dC#M1q&*3|GܔJz5&u,.2:,[vG_U "1Vϒi~>Vgwlr q>VJ[-gvA"4$y~W{ۮ͸qY 9O-Bm%QD p=Pݛik1pawJG陽[!$cX#Aqt\%~cxmC ]z ͕D)Mnfլ.0wuYh1`QVTHf=ۥ%*@Xv{uE4~ NpO9K`#ggH.v>8A5w|'sl(0G$w&00%b>R+< 2{5EaO:!lu1A V C=s odk>R;U-! rqn?X}Ϝ01%w^;?-Kȉ ݏ;ujH*3H禅;Ak-Z?ﯣHtnrQ'(ʐPG@<ԙFƸXI2wD#ޓѪ^8I$gAF b#`mFhO(l[6*:;ږ1YWF[W:c!'`.\a/}KKn5>8_.,@?|T1{'@Mb-W;ףç|CCo)*5܂v+6Vޮ8&2GeTq"LPTM&EkhW-8ދLT#y`:lv-MPI,H֔i+ jǜIે󨻽E)[&0{$653N; $wKhI\wOEq Ba"n}E5ݩDmJ4kvF?:oMƅ}xvc7ç\m~Q*_Q3.^oDܔb oV50lj_p<|gk1L;tn:urʮ!\ ?.lu%2Uɱqkp'V*vWZ;i ?x61,1M\Jhc_;!U+l |R૬/ƕN"o1۬nU]K_q(Csr'xD- \HՈ??75ϒ%]vFeZSS.-"QɾewןqW|)40uX]uiENm^pG?]U D,Ni$ˠdٴ(~@Y`b#E_;l Įl^ 2N""f=Lw lHfzPz0L?Z^_ UAE_ ;R5fό;^ !)U`6UpBY` y‹̊|tR'AWf<1s1_Ԓ2YUрM f!aRc^u^F5=E7}OY2D#@ kgC&!G0:cfP]R}*}鰖%W$t\uBBbK:mC[@,"(bau ;=cH[`w膶3]_.qLOF`yA' f!KB,`{q2Ot2acK&l^< G!{vb_8OGp?R4iB_XU-j:kgV0]%DP띆EAØNgvr>ҕ+Kr8**+@ʹDgCoԿ8a@vvKz^w}*d̷j}z;s膰 Q@r;B$I2OZHbwǸfKn٧qϬ3- j!zQjWgjyjT#*d)GߎmE]@VтX 8ƍ"hVb*iK5u! Sz,Vh&Y)(m'<6ed n#ZByN0E{N!؅1C/$0iP#Qowj tY T"B4::JIODe/Gughf'}s }cɼu4|B+V" C|@4x664R$ EOg+qZZ9 W d!Xg?_3ݻL9l3st|XĪYZ~H<ז ē~.*IՊ $pړ3ߡp8 >n!Xqyx H*ZӜxs3D. \Y {F zϲī-z H*LjfZeeBؘ1=ƚS1UO%_r-8mz՛|dxlwˆ.A; aqV(kS垵? aW?, -!G<;RE6LXLKfb1fRʓ'jB=Q*ɪw2`P9C ׉Z=\>4*ma7n(ϊI-( T``VBYD-BH\92@LRNX}Q50M}@|Z 2?*@lX6lޱtY5F0*]t |Tٚ)R%߿B~]gřܡ1oi' o:k8,&|1vW,yeAR, &m ) "1 ,҄/:d/6g@"Nus QKupaluHx!ZFY/e!iJ1 ]Ҟ>MP<^}.JJ M:Y X3/4/@ms۵J֑`Q1 vVڑ *hn]Up0 p1aۄ'oSYypͅJ&6 o4 pvġw;y Tnfki!G8WXs只x9ތ3$w1})9XVU+'NФ8k7V?\@{rZdu?e\]>޵sjUhbñ<mMf:f5[^]LPDǃHMyУnaCoNРX|Fyı:}&@0KE-\C쪯R25`ML .`<S!12 ]7I8~nAkNhc3<eɂ%῾"ZUcX?Õ42yϫ腆D3Rqـ_pW dn ȁƿ=[N: n3F>EyKUA#wPG.n#bVf@EWAF;A`Pt \١ec~~A|p=NO^KS|_k^>٩I[.%U}z0|1=7}/5Qc`v|^]?I?&,^\Ig^ъsΌ )sT\ɳƛ Xܦzšt +$صTG!rsʘ:Pc ҡkˆ΁S=2Mݱtvu? fy;%  ٨r)HSL;kX뀇 534;箬1`L^IXsX~\xOe Tzb~ur.GQ(nۮsk2",san9q79pL\34Mi ḷ0Q{Ofb-\c~$s-Ez窪lt _ qct4[ψv̦M:P8*qy b5KhGZ6%8-7mn+ԊX[YX.k<\{1yܢG-9qIok; &l.E`1]$ tҠJlVɟӂu{ _ނ $Ӄ =CI9ht 5^֚\ Z9 +m)S/o.~hC|d<Ƴ,>og} M+rYd4nk,ⅸ޲nW5/|`m<7~%VsA5ѭGo2ۥUM,^.>U %%:?yNxB>p\ӫ?KTESa2>^H%Q@5'#PjaoN($L P `V8BRx%3bvhk6gd@KZמ-9.73ܽ  ڎx bp+_ =+-ˆ g<1CQ:lhXtD".%aQ>1{@L*_j-4S1:,N*rLglш,kwm)i; 7AL[x;*apRZg.8r~3<"`]oߖz1Co D=yp^ٰ e{|| ߞ yH9Jհ#SG+3)RF Yd}r\`w+ި@I$CC{UXB0 UȻvχ,"mks))=%?7hmq1:.JdTk*¬_KlԜ|â ;KW3$@=y,Xqy($ +VVJb gXwʹ׊2$ 0ǡeQC&%:J%"р,I:$%v?DvVI k p ]p?!. F۾GjfD{iD]xB: v>;,UH?uc+TW[Ot8T02hXo6>B<V%)RN/Kyd~lXl!]kb4^d |s*?ێSre#&g`g{Ep!2*NgWȋ&waoS؀ "~Jeߴ75@z}(RA6."󍖒-ؽЧ!|ͮiqPAJȤwZݜ,/BZܕ;|!3 sB{Bn ѹwOi#(Ld:Tq{;FGx|G*Bh"TݽAj!%sꬱ9V2W2Msos7g:_!K`Vڞ(Vh5YP-Mo2xhd[_<nAp։x rUPJESHkJ$ݮ&IRpKasNr$ij@l3唑tt2zl&-_q/.T%s߸?ۅ{uȵFS#-Ms!ب27X$^J L5;xԫE>{B?|5-0UyB1@4:\88{m[g9Q`7- <8R+FӖq|ZScVWϑrK5lU.:.HJE'b~c/pɮ4k*vt.˜J% ,cr +p,eˉmIHzngwI dwʼܽ,#cby{S_oݬ}KE4q%#0޴?R cbʘfJoݫ0'>Tb%IX*5}ԏwq8sG92T -9=FPI>tee Ksԅvڸ:nN(Q]羦fWUIehj2ŪUk!c4P;6 q,W3 Rk>j4Pfe+!{\ kV_UoрO܍HJJteR%dIѳa4Ga"}-- 88 D K2[}[ MWifft 2݌|ҋ|v&_#.>' U3^HyNIP 3픾+}! QkJ*QD3>> %bS8C.B7$[omu ڙz]~{J{|`r?0lWS@ᵐ)$&sZ3?(+ =+*aGRm,aOB Ll`FC!oFCb @s̍mun<+cMn[2*{.}!oam?hWoZǤqߤv2SښlQUltXB\2J;7VS'[ \Yܵ ,tDܦB.ր 9xqߡq}('C7<+Y틚W-g}JT%GSGڊN&z4$P jxb}H63X =Q"HkLH؃db~- ilh>ӎlb)F1e7KoEX'pATkE5&xd (+e kU/臙d|: v!50Y{|߳[x,'8O\/Xu,VRGRQD#Fm`O+zP%-W;%DPd-l*JN^6PΡ\ :xY=`ƛvG ðy:/ Y%;4?72'qfI{5gmյ;JWNj$bKo4P#շ욜i?YuA' u%7nϖ#anj (g͛us @_ϊC-cZ;H$m">-! ` Z~yEPzn T2B_1zw%7[?H{YISTi512j|c诸1cvNL‡kh22JJR_j#P\TOYX>Mvi2KJ6QGF#@>?'B}hY1`~ef^,@> Oa1o]fq3ZV-ܰI@_* ]j"%;Ӷ}޵z? cۇx &59ɦͤ~vؚR .K_#5x0R硻()5}f4}i=hc+;ڦPGF  HrqLrm`B* ƒsY A?l;KXɺHTՁRHw:r!j<핫lȓ)&>pWbt<6<{0|g?>xβ©ׄ'Ɩ ![>^,nހ%B#Ct1c9Mk~J(&,|{['( .Jh)|gP _rCd:")[c'tK\qZ0"N["%4xu+n?Ɉơl~ < ly!ķC]w(0#N`G?KN'cˬtŃEq9bu6%">(F5x Ƀ#Wn68@ ֛T,]G J$^0i`Gb'';|Ȼ[U 4k΢&n?;}KjI þ\+cmUFz5HO% d/h_RѧG9ĉ,K{!UH~v? Р5oԡ+<]Ox FN@?})6A4^ ?451d%PA55yiU:`ERyQW2q3 \@m~>Øm_֍ldkU!57 Pƾl$w'C 9g%бg"č sef#u M@`.o.(Luos1@w-jsm_T\VHLJp¿rp}^NmJqKw`pՖ2^&3uG-&Fz>M$#~eUqS*$,oDE^Bl#9r{K{U uhY"ZYx7r}E,80%jVqR%}J>WzT;L-Qw%؋rHHƥ\6 [+&d|h(KLQ^oEѵoﶌr Lzl9Ou49wχz[Y(F5*D ւJ3CtpƜD(6lrk`V/35^|Vnc$ ч' ;=SW&1y*SqjiqbfV0,&P]5>Kea Bλ:Γiukb ӡV^+?H dwݍTFErr#qnV5ʗshhTj[InUtFV/9@iSA] h+p 3_{A;$X1̀9f4]kPvtʇ /s";(?" ('d{:‹عXSU~N;i/'x<]U@d0 D'Z&w=32c6]ŷfadfIyNf{@jO$'g1|R`(r&ʡ:.֏ $X˲F 4*WF_JH ½ᐧkԸ2YK0.FEC & mhk! _(3A/NQykgCJ7RQB)({wG]JisV 'ԩ`:j$ 4s3@]HJ{It摲\pk5-E8P1;'6C]{a~\]bQX P:~@42sW)L&gނ/VO#ą&,ݸq~mGӋi 䦖鵆Dw*@ɥp*ÖPETi/|0C11V_'y6jL dO#LΑ=o %e5d|eh\-e**q|M*?ƻ?HGD4Q>r.A5q4>S1soIN7 J4$=ZKNu zD~!$J5:b`IO9jw؉Y E6wv Rw"\xF51YCuC 5XNZ?JwLSVBxl.rφ\?JK4DnaLLFSCZ}H$/Fsy)<._(ʳ,56q)uu3 @ BȣE~:o-v@h0$8!G5K=h'Vb<`ydiRK[(k,q02`#8F>Zn66rw3c`IuJH*եΓZkw]CIBșOQ 񟁦袚O#Թ[3hp>χM#}5_?o_(fWclV|UDJ[8R$H2iv4y2#Dֳpww0Ky=RA%*Q+_mY,ʏ|B=%]"((rJ]C@hY t C ǰ<%CƖ~w.*1qndlg M5;[ 7"OgaVEK0CoDag9މ P06AOnb9Y0ZRuBlpKb;G?.// יʹ 4$C]Ȁa1g{ϑI\6L Sc: }ʩYGswؔc?wogh]c)6j& zkI6#s ON*hr|'qՈi|ZoU wNTh(-`O!4eyb]-kL;مq{\Zq[K=4hPI^{c |IMX#JC⚃qDPz6-tGʌX!}@|:l"<d;HH.CN}djƏ]h͖+e=-Q[Vz)di6R+ Vpڤ~_ u#ütr4(_ѲMuP-ۦ%:— >܄%S>}ߠOq\Z:Le>}W7}&a337~O(yHQsN7zLy/K7o EO,`_!v2#O@'=W{U} h 5$߿P+W-2,#UkIn?ƙǜwD2β7㠮|Wᶳ,xW%[u/)d8sigDJlG/xn[\o#0 5[DٙPG\Q_=UtAv~?<9qpE.%9;6ʦGM\]fUv{G" rVnga=Gl;R[F;%ke[11#$z-p^y?-.h@ AX/(!|N`DF2$N`Dv 4$Am`2 z`{ Ć  0 11EQ1̨i+ffu݊/5g6fky:QRߟw& h>b0;M۵%*hv 8%מf&|KOfhZt*]C(rI4%^/~NWF'*'zk=Fp2! 4eڐʑ%fy% Vt"f(V*Ei>AŒ'hĀۨz1<@)aQb,"4t9b&Z7‡[bvvorM:oVQp_P_;I4T>iHfƧ!2>2Pr3Fb@܍Wkq°[q?K+0[$2Ol£#.H"R;V7>G44% G gG41nz}K5uv9 W!J'ul}Q jo,Y>:$3]Hɘ^I v#-Di)a$J:]:ī".w%`l4wФ^tVM?ݤSa>*(gt1Ԅ)HAg|QbiW;v*/-@OCellҼ|(]f2{U@Zz7A+:1ڠF4tgOqt|VJT7KUw5jb)\BC`ޞ'^} fdZs36I>(ݮwɅW$J.lM,qld5YRWb3c'x-| S2|jxW%C|j#Rv|0MVˢdl[y~55{r0.|ThYIWM[]ƫo.NG?ZZeWA\qXM_>P$ ~[53j;Zb5 ~-\|еmbP&D3wBf@Vfߣf`DghT_ ׉!B P3BM9ړsN2A2]yEP82S tfTfF/>Uނ:Zj2B^CzWdf&Km*ZU,]5MH9&6<'MiʬZi-ؕ>yXCFpK T1N7qR[S& +) Vo,ȋ$jV*6sVxB '!懛j gm4d,>R<%:폺>f,p3KG Ӑ1N|&9%d |]<G9߻>LCsko1F٥Z$Z-ШKY!NR֭Q*^p[YJ꼮vLRx&zurdnӅ[ W2y>qRv񴟧K tsc;{M\zAoxCjB9fyHx}o3>*pJ|uhw 躞rj7& ݮ[ c76^ ;.EJsȌt L |diT|P8FQD'4zANjV|*sO\˴Ѻ*U($B-6B`7Ngd/e%Eű37̇x9O]Qr8ܚZ~24Q$eVY^]sw2>yp',a.;N?M!; P' \5 *dC_BZZh%9.gQvTQV1Hy?R}X YoLDS0P?ɦ٥-@P9Y)3j'Bʀu1h`N98 :w`b$3Ib!K0hݹK(/R#խѷo¶pǩ cAe35e?3qcW`Vl\'à ){Kx._NL"B=s@"Qe)N4EZ-JUG׸F,bSմ8umn0m}?x.+b Y4EWb'o-È&r˾ +}+u*Ӗi*},ۊQbv.&n_)IM}LQAq{\6^*nCnj|O$@Tʝ6CzM=F 2.6(ym8Zw>G@+c/!Ki4@(`7XAFmb1NtAqhi[s`*&kQLvG@}$od~EFH:QK- /W@*xW*>!ϙ`spiY=x>&Ԁ##F.L,2˲{&tYFȇz~yjd8D!*!Nf#ۃm%F]S Mڕ8MSeN bx,?1 `2n;4)Aܶ,h}߰g !;ھlsɇ2-eHu̇j1tTljPq&Fd^k/"ӢUpGqE[Q򠻣Qzd"{]CZ[l4n;:Ѿq`YXYk6e3&! ; %~p%x"P!71m+ܾ&Hr$fqg/"e; @lJq$qj"-/d X*p!h8E͐t:{3 萃zd_Q_Z{!5E&aH$!}1?Bբ*XVék"WRqa7}s{/(P8 xEnj6&p7D|8łR69*ӡvN.N*mC"FPC YM@`<=vaM"ViM-"0d[8~W7c3UaVL(n"dt˗q$U_ActaHKR¾4DۼvQ>ceZyQIQH*=0K"cYS { xG>p&\@}t> s hԮ5;981{GU) ٳSXsidWvJ}k'wT** MP]a %h)@L}#},9 #BhP$94k? u2j/Rb$ ЃSJWh[Xmn4M}U TQ%ctnnԻʆ!xF Ez.=d${]xՂ9"7𠦆=7@ՒrƟ7&ź8 A#aP؇ybs,-tֲG4FZHN1F7bvOt>}#d`ݨ6LRa]JɄf4Lη\9GBp؂.\WuˌyŚJub~(j'n9^ iok~NJ# *rlm8v)"q.ɼc(NӶת񼇃2oس ̹]au ?CP1\Ki}3 <铑P5'ͰS {Z[2|PmJY F}-l1 x߃เLuwʁ+Θ|weic+ȧċ[A|NeU=-41Q!zNCIl}*䏐-|TRiJ| ](MK9޸o@ 1?=}YoI&>6\i^SEDR'@l(5_ r*O bIX}π\ 6yz;YhǫoVB^rfq"z׀6X@.ԽV\Ah|GFo*\yzN%i*`&Bz=kϪhި⟺:ӗi9~A\<X'\q$HpYNR@k#|@M_$˙8 O|U&@y^لGGIsAB%ncr8׉^CMmN A<g(2[L캿fn{r)j_m%HE'`V1S$y.Lz8=,{"umX򓇎N/7 Cg7g8;B]et*Eczq[Z/|NT׷< _J"p6m\ӥ̀ 6qx(*[fKkuC% -&3f} iBkůpUF 0{A' qA׿c*"%$|^@}P@RI~4NrD}{^CSmK<`j<'9\ U6Z7Y eC- 2˱ 'VuF{h]Fxm_A?x()AקPi6 '9ԉw K6eHi 53$yoiz=y9V=`P}[hU! =O];e>8]Y甀>gC˚6 ɵu]$TкEWl{8dȈX _PłA7;@}@93 ˓6#i9$X[!4#TlQ^X*pB4#fN%G{zô0 ncirvBv܃h8ce`Bb{{cEEVBfhU O~a6]K[X-XLMBkv BZBWZh^ɔ<7ȋިe͇ݐaiz<0FWgPnq`Ճ!LѼ\GPIQFal_5}Z.uE=R|xu@L-CVh w,܋x`8L&V^ެdqZBm|OI8#ϥL<0~&y$_ f0 P̖K΅X^|;%h|*Pӟ;WQ%%(ڵ bhO lTq%IE gA:u:C֘fL*xfzmUm7V[sҩA=ꕫ;&KŻ@c~q䓿bo=2Ep4Zs]|00S?WG'P83,Ƭ`5}NZ7_SJuj3bk7$'Oc&bdç6H[3bw\t߳=F| ٷS:+]]'.N,WL]*cP^pd5 r_8EaY4eyŲ /@bi" jM#c+l'J ]Y˄}z>^(#dAlq`E']|!'.̻=G(,e\QVnZ-P:f* \Ej<.zw]Ç2.hXG|J"װ- 4(29:r?gRm{~5M <)Gl{5rp) k=GB^r5ބ#ܿ3[7j}}H'QQ3Ded oJYʭja f-t0ɍ?UN:ЊP\ZD᳧*M=Qjד)s, H SƞZrMppwUMT؞ J} - g{X|,M-Yr.ꀖԙGH׈)\Gq:Ar1:%}&t2L:N~ٲ2,8voXP\X#_YghbYHf-1QWHMA|)L%Ou$/?IT$ݡ/~R .;aDd-ӳΧD"m0/Fk͛ɢ/Uá"Z7}"V% 2?w6|JCx11|eL#Ǹ=eXIV'غl\` 4eyTh7R DJWܸc%myl/$Of#s)Od0tJ|Hi|0pi(T;:ΐp d01`߫ غ\K:R|nQ;~!CJ[eԣN)|#84ŕsCBL)8ֳ'@=&Yt@1a19H .+CTjz #)^X (i3"r sx3Q-^+c4<'  ߞC~lKHh"iДj Ymo Ytg""0v뾠|dVkrBJu:Ez 4t,n¢h3% ?% cv>'!ȉw! IQ+D"tRWFiPԎQ"J۔'YEA`Ng} ? :;"L uTn?{[ۙGNtnvf>6D%\uW=UpZmKLNj b[`4f3Kd8@^upuy9մHohsOuM28PCw|!+%RnGBu!aY7Zp-VZ7? lLԥou1i3h@;bVzCQmK4ۉ *?|?z}@e+ PD+8ae:,ﲟ!glT^o튵z@_9k3iP .Flo@m|^5I/g^v~K䧺[]V PĒ5v4"QUaˀPҲij]=p+vrE}Zt*&uw&@`Ah2 a9I}B Ѿ{a݂V"$s8%lDF]\9wÁ8Xv0aqp4޴*Wo5Сm~PO2_edd4#Ӻ/fwݣ}~)#w3m(dg?WR̨ .oҩ*1qy(2Qbx<Ct$y;يP#en%7 qӟr[x1F'ť1ٿ\𯪭Yɏ=0^ $ܥU"1iOY=ۡFI/0rt2 }/{c\4#s B ȱo\Ͱ}lTĽIׄhGho;Fp?ZIbaB 7.@0 $KlgȪkPћqӇ-, ý“>Cfj~Qûso?ø),u'[FGJ(*(_WMkW3#{;ȇ) M;"j{J;Q3 [!2l<-uюc'5hBVR@u U%^^I)L0G܍]H,`$g4%mGMcer`wGBN[ d#o4 G~F0Ŝ1о$7pCć~<\,W%r4pa怛r۹"lMWQ"yar-YW ;Ժ8F[kbY# 2+X3jn)J9*i,\ =YO]@5ՏPCnbg,hzjpgP=ɚd'pʲ[+;4e/Ξ$u8 94nE}Z}i +/wB&waF<{%VN~hJ_B1B8,"W--)!W_M1-)_ީ 1,K_ssd. yRSUy)'Ucɞpvy4cY1ͬc̓Lq>v?6Fٴ/'GHs )c2:%<:d%tN:'Rb5}DE )RRVu_Z,Jܐ-G:ݒF5Boּ?c]2J/:),y4wZAcg֚g]*m tz@n ƚ9G) "ѱs *EݤT=[4%-aUFhHަ>l{d66H0K#jf|dKz3Ђ~ ωJmf,6xwR\D'҃?-gy؂h.vPdDǾ 7.xT3DQ,--2Pz:ըNQ ST!43<,'^0-I`Qom.[-F QP=Ԙ?Y` $nBY`͇~dRŌiXq7C6^Α+<$Wx.sd9Ѽ(vaK/JfFᜅϷ{~arL+W03YF1%^3l ถ]=W%qX'+pߪq bz#V^|QrEr8ŤJDO\a /:kr1qu_I%6tj[E{.ԮNY, QZow*ta$Flj$41 Ug(ԑP|X"|;CX9YZuU}AU c 0|#$<C 璓j2`o?P3&ʼ$<Bb~69Y]VpZx{nK̾4.J_#%yi$҅)x+ \Gm1uG{U{̔&R0Fȶ#H7Cg!+-% +}+j.FA*|9VDx7pN{ ۽}mⴠ"]0Ԗ($K'ζ\{wxByoQQ]ϻ(YaxB7̊S6Ro?1/0TBkjۏ3 3YP <5,q8@'.zIg;O 4g{=V6Ox#-El*GҁOn-8sF'25V~g*?6]>(_|gD[vܶuI8q$I>K&0r![KJ|:vH =*cchꂇnyY4D8jl¾osK/t18Xh?8FId \p=s^7T3 sAv3öQ_^T\XbQڨnӢyZ/H>,t|-iwT  YaX,mB|.ܓTEU1~I|oqt1A, "b#n#VH:o?\S90\}Y[,&hFNi+ ?ĬĝҊ?Cߤ 9dUL[]wg9BjTcNR?~iAxL颩,iP7[nsDDCa"҈\7(at]HouH8TDq뽲 4ȷ8n?"MĞj^{6wZ.&k6dQz[EMW@AШ7ZۑNW3mORY$ smi & #>)B s}# WiF@iE+ /PaV]xOf@:~u9Z(72gCasf򢄳_+6Z\i|՜k3J2g@i->:kdk_r6$᫕3+<d&[=mcW`a[plD\a{))3KIh[o .@|sb _"@cU:>/U1k~0"Bq%'{ BuSP΍k&*粤MȞ[K!!>Rf &.GߛzmṮz` M\(ZlIzg1xR b56MIЕxGv͂^l1XJ[|fo=CeDu'%&g8}Y؛%ۉ597BX4bߑ䅹w6/ 1Plάsk90ESmzϹQݽSAVp hZ-wDĴM4 po򽖻MBGLo]f܋eXJShc\M8]J3JХ(πȍ`K VTK^"A Lc/ؔ}A* Zv-DN .K /(&[iuX$rz4; 8OƅJ^٫2>W㦦Jج\Kǚx2F0e͉H0BVo6+;A|SsL{@tnN= }Md3e.gZ#،Iv(>rrFJD=N^U-hP:,w}gj0Pw$PwI T`WS )Ey)1h,&G] ;# nNc;]ݻkY=;B&R}:<-HGLj҉c?qer^<F9e/ ;|P&J|Nuܞ "qx1A=/dWe#)[1GKJ_x\4'%VFHk[8lxLOV<Ǝy<;QM'F)VGL譼dhW`$Aӡsy(3O=:a"QeTߞׂ8<`DܼiH"{ x2JW$ i1)e:R :S|i\ o OǜD\ٖIF,O#.ɠK,_mJ=N%٩EPR2IywJx/C!ѧqnBH`0z(ht-Ҵُ BGRYo2"CL8,ڥE1?`;-{bH7@ 1*,:c9qjgh`z*733Yr\![] YD"h!UC6PC 4o{l y\v:o? UUV͊*`F#8`Jf<04iEƘ]-޶k"%2]Rp ֓fb?sёӪ[J{A7o|@Ub^Au`bRetP ͓$EwT/7};K% IP /+}X9d+|P7FǨ/0g7:`J!sxDjbZ+o-%X;2ED  )m1|'H',ͿLmxʎpf#1<[G&wU~|ه`XOR':Dq+p hU~#CC`*L'^`qEpBai@XDϚR_/!|$/!rtPX)dvhOrp68)QXEvbG\yhz7R/1,0!#qފ5FŽ=0 wmȓl폈pjln^):Xd<R1a?f?!'!m̆`^ ?:oOjPܾlnp绣}kc abvsp "=^DPeY1;X2e/mYw62ctiIcz䵛C\@/ \3]u͓Zܙ-XHx4"zAx/H%^n,2k#"ɜPV%5 c^`"_PGe<żDYR™!LZҠV*0Qleb5IRUn@[,c_x*8v2sBzW"<=oKXk"a񣟇4o T0wˍMnĂ  t-)Z< heUe3c9rT|%#=,A>DqjEabY4eNz>=^Ze)ijq\JGƦĠ,xa@1310{HPZ8fƊdں_!C}fͮU%p\w,V$Ϻ1=&1'8W{oa2iZU%.bTA }4CW}D]O;aO ݏT}يg'(UE3#/mGi(3?qLS R f{Ϻ5aձ:!dPBX/y}a8$d"Q_2U\ߕ_ j:9)o$JIв`muvoOj3fqE%oJ{A/PU;N(iܭQ]Zl(Cd9vR=LQpCY.^ Ս~Me[c)8uY TQ.YHȭХ}n9⪕=Lo++!|# AQkږ9g4$< !:J?iG),qTpI) aH :Z9E7PT4^!Y$pJ|-ye؞88?8. V$x\?=߻+C|Mw.%J $P3[pHެ*QJd!+D1թ.  yy4CMov s&6a}9#Cǎ˚r'JUK b$v84 ORyF[7(oO^ ߑE%r _n{|rP {@A# C/CfG~yyuM&{%l#8S_a('ɺ?rr}g9-H̴5U}g:5wM0 ~.7 8^Ad\j'3ch+ܤՁwܪ \Cه|A9}gou)nT6/~Ns ; ڴ`h=9H =<{l# {T')ONN"@@~buIB R&%P)tf/ O #"W|YgV^4Fq;K0)(;@#HFȠgS>?P3.nU{V8hW@ƌ.BShtщ]dKؗM`E"s5Eh2ݱY!@SQU T]͵L = ?ťmB{?} Q69 _2Djs;# Ω`fz-0gǔJ1ir }阕[$0W֥LSujFI#-QhӍWCAztd&erBe<;3Q{);'c\/AmѦ %rg!.7U6"!g/tǟW+,_Pj&@4L5YW0د~h9pm?AW0kUhCDtX5~{Y8Wzn`s堟XNK1 ?LYqV\E,kj9$ Ak"&Z1q/l2[`i{2N=AWHaGZH; > yEG`؛+DEav);nu;Muj3+M5~;7Ɗ&;+l׺v{e2ګ!jNw(͇i$. |}gg[}dlz$qa> xg6=&K,gW?klvka 3n: ,ɼK[ՋvvSeʗ`D әkٶ;ӗW iK?m+UQYdf:80 w"Ed)M7~g˓PI;л􃱊cM7LdQc!f@`bw|ޯ({4FFV_?̟gє.YQeT+V>2t̙E/X<ۉL,gj`N?# K!Iqj}@`KMlڟM'&(p'D(8Iӑyi- S3lz'Xpվ̠y0‚`>Ip:S2%;/S,ӛuAKr3UxqolXzɷ $49w - YNVKI:EvdiI\Ӽ\0<A&҄q{ZÊ}r~ͺ,5g0%;RXL+@zp`E|-Y}Nk'*PWXɬl]'ù JNlSmJXSNOE(# 0ѵʻa0H)ݽ=:C(fuI{|-Y,E$6MH3Oֹc5 K\<#`H265N LW>iLe~I-֠\z7zu$ltnohXʹ)ֆO{lz]>)3:J #(m[qd':N[tڜ&yk d] Bwk`wʈ'M$v I5~Ţ::0w(ۡ2W c6~GewU<\vNsnqM*p) O {:bȀ3G6u[lZϜ FL=Ę2=Z<%T.*60;&N8euiyM&A޶ d ~C>VQU8j^q^IP) 񣥤;H78in`9#x[^ >q `%_zU5%: ӟFŊG艣YÍ1Dwݶ"뀭PYEA2OAfD@[M=`m: :vr!P{a)3E\0RE,w+N\O|tx h8CCg^ @taP0%ig`5eco:J0# /F2X k 73v G۱hkcՅ˴•dSݭk.dT!o2`4Qg $}.#4BSs %ZEmkX~=99*Kihpucd5wOFױvjhk\׉GOM}>DO1#f&$W.FZ\13y+f8ioLiXO$%`FXpS3u8]79d,7W fO c{?06A~0Z#7@9GޠS7.E&H\M*4f8 3y,BYE5VWbB~r-}: QС\tKž!6Q: 27;?İZ3̗ b@3ض!:B&ԄVop8 +Gy>X1tȆQ}X,)2"^P2v{Ď7`$KD~/ ,-I{90%!EΓ՝0oβd5i6_)&B}E%uIй^O S£aQ-e⃹@T,.2XM&M<̮X2I뙓kֵdQ2/I.z kE%9<\=I\˭1@j/}SjؕDBμOѓq ʄ'Rp9N# ImĊ/h9Ƃ}?MDڕ?>\{X0wo!\WC.W6oq\RIlcP"mj@]v@c50xx$Յ\!=3gDp]/Ӽt/0s38JStn挓 fq>a7'$T([ہlhx;k!hPU*V$aK̈;b&K9*Wt}nR9_Wϒ6#"ۓOeޟIizʵ-2 7#fm^b? vNB<3ՐT *C !|ȥd3eQwsv EC۸@9EZ[9kgG @$# dő 6VQ22`r '>x'ȁu>s{}N<,H P!_ [*؀ Q^u%yWsʟ^D+tN&p$}8؋llQPԓV3 *1@T#-3[Ic,Ӯ /Ds{^O2*B|Za3-72&&Ա `WQnJӸ\ Xe#ٸ|&So$噩E+Y݈ٙ:xNW7&Ww;?b`xrbE6srM6mOVQ- #> ~+`{BfR@=y.MX} +{2 uuz=[xI[؂g8rߢgcnVJ35ӎP5Tݷ2N%,=+z?/egjxIwTrǾ%LC؆×\E3,7JghSsOBX:sNn]<fAnl.,F7h 9=+)[`>^]8ɽI;1Cs(C =zyM ?gY#xPW$'L{w ^ >6wkr41K m%7} T}[2r_1j^-Gkd=0$\9x\ŸF PqZ8#9/,=Ts344Ė~]e3$" na8;s1mHVhsi} P 9'HC+閪nfӵRZYÃ"BS"o!Tz{<γ(3a=n/L ؼn=-*t*Oɧ+{bY4=guFQ|M@?cG `5FXGA̤8V1u70G^k;wo=(3pWHA ZLJD]5\ۜea9>yn__ȳeP[Ś{8G*aEby֌h $˸)ow=^fvU{mBiIW&IR`mJ3LE娄e&h"c@n3&.Lړ/l²*v*!1_N7^SuE\)bTt3$+C9 -;-9iٌwqطN{hEn(+ʀxMy"M)_纼Ǡ181!Ϙ+ξBID 7pqo*0ɽ %dE>i< &跞N-Bs 3#)-uܱfQjZ .yLM 5WVh;ܲ\ b[VM$y"pZ9W}kNÕ5EO^v C|_Lw f!l5Ƿy$OwA6?XFZOi;v@kT"qgGx^BjJqr|՚L ~4Pē9WtoYM6"/g=Ŋ|UۤSghy7I2xhMٔ\E dW8#*:Lo^D]%Wj.l]s-g ~[L:_lGnse`mZA޷7>~ׅ5^!χ*aʰrv'Ԇ@+^)Ĭr͵jrm#͡qrX\QmUkږvB0t(Mt!UrZud퐛-6RmU恑@*[":zuNR ͟ț):jjW?2|^[yK A:UMӕabd<ߒ+M~^l+G0L$?]ll~Xqrnp%GS/ V57ލKP5-D6"=.E@>ͮS>E$,eqtA'Ycb}: ٝ^CjY׮x?~q+ndjv洛v,.r7BDRBb#`]Ɯƥ8}GE3G=؏ey<1si.<s mKFs dlJ:*4.y_ @Ɍo.Sv;]ӫ X;2MI7DD$JIwQdOy1ƆV~ky(d#XGM R`,HՍ\[l]~R+U >:<:\, &P=I@zw4 +ymÜFQ9&Z lLN7=9K!|Kg g rUmOΦݷ s(mŒh-2k-/\Ws .|PXI]*1E1E"Z8hx#-?]FyfY.?DdpsΦ-gn4cX `Zcd9&aAA!vҟw,k%=>@~7ͱݜy'q_ݜ 9hxQ=h4U@h,˗fgFǓOā>*^I s{!$^|fɨ P(C*<Y"#:YQLo}mGג$E:C4riAOCMkRä20q.XH؀+50^i=s6'xw?:!df&GUZR_ N4[HM& {߁p4A==)[ 6=̤NBR֚)1QIúkf܂! P5<<|EL>qDoza$yߖ6B}nh鍒a,lFqkqX:_юFJք9.e~8 xT#h"kXF6/ y"PC1̯R={D&KĆ㸘-Ap￵gwALgy#2XYu;#th,eL~y㰶K,e6ȃvρA&~4Q-sb!_ 3ח*u12/)2נq6%Y~;L9:gVpld\̉IdFQ_3[ vأͥ#0& վf#{L@;lM~L]S%ԋ#40-SN:4 ķRnx,aݶۚ{.8ξ  E_3lF( ȥ8aeQq?]qjZؼ pw5TF}t|5H+!/.2ĽZH1T7LyM#k9I?~nCJ׬]Y `d+a"Ve,~mਏM|EwV&èN6x )M8A'biFi <sШLmU$ ŶY(jG@1wi}ZRdmm^4'Unoz$D|Ғ#dC4" h&xXDћO1o׊qs@qk= DLN|s|j҈N:|ËVcp*>PW>Mը7=d_&Db{ %T0TC)3. C6uˆʋGO.Vwo)0A>=OI`KM0]*t kT2A#Sf(ݭ31\76DЄX(H$ & %N L`nVx<IXrd"^,!*B:/2I%9Se?9UG?f nY&v@׮HQj܈ h' ^X D1@.γ>=o#yASaF넎j`LRQDl^ˌC~&'ҡ&VDOBolW!Zm}4.֠~O a7Q;dlԮ bs =퐂MD욄AtDhGΕ<&L6~DdjrqפPa$H"qK|Rz]]i fhԌM ;PN`Cs VU9߼=SF'qn}b]-nzTe8s~p&jC.&z z\$WNW|SMD(ѽEAn‰u[OHzH8SIMvFGGhơs! r-9/rMn{JR7QzљvhP)jR/nnEM{wNÑn@O;#lBd\T<InâmgHu^RWGnWTVPNEHDFsՔ5&5{9]x>ROYzUu2RR*)׹B 2,:rzkO.i$ R\wXkȔB^^C\fPݭy̒Z(wG @8QW4nR ~}sz]iBWh3xnWӞ"7jR{j Ao,"1@R8+iLwch*?S_aWvzapgND4!Ul:⋊c廇T<!K3Ni!Ӟb߀\֧_t&Yy) ~FiPeUfc{ce"37 3>+ngÁ0Ǿۃ*Gs@5i*|õ<(7 g{3y1B3 fn!~TDWa/p~Sլh^U_{f7c{:|=lgsBxQ6Z!,mP U^v˟#DkErq&a&TN+NCI,2ětō[d on}=jstNO3rIxmD4TFXFH)$!X-VtJ{Jpr|3LP5%:345 NSOCa70Tu ӨuO`ܸ% ;H0U)A#}␌vp3YDXw$<[c[BCDxX&嘛"S4 }g1Ӥ&ٳGK[̕>T"tzQ{˶`:husdbal$ .C7z9!IK\]R)Kj'q/7i<7"+܇[4-Y !vkƱ{?e?$%BePg["kb.!2Ub ^Z3`?L&Pg%3}61r.9Ǣwa1`#fHq/;9F~58)=LW ZJֆoy19]Mͤ_fKlOlRC278T?QtLƟdU@)t^~{v`d:~K=^j`me t{xsH큼l0՜-w%^FZ=1nj/L=Rs;Eg`ysfM 3JԟMgOٴ1`o^-?pPy ܥ{(Pm%sh\1 p~/P췔|5\- M *2mMh) [JW0vyer $G eckІCfB㤫p#)4^GTxZDiHT`R+$iYY§4wѶ- w]l${`MIo가Z*A5 h|@{qI[ˑP=yLMPEJSr],ݷZ}yӅ-堈 [m47K` tXa^֯ųf {$O+;ؼV.#Uc<ߛo}}Kp9*S}4Z0OpreUE"_ܩ>._2WUES)?m{"SC*_8w;$s}78hL?ǓSO*M&̡~>2isdoE\텾~/%nE?7¯(uޝh4?pdQۗ0GhA<_na.E?Gż"IBI/ 6x MM[d@]wK}Xc3Dj}YQ0}޴nv}t{5}RJBl}^ }@4 wWT-cV`x3?S/BԽJA7q!sʎ]1#' @1&ͮXS*5DCtY$Fه@g_츣Ee"κOY‡~1G))SY)X۶`-ϴpfPOau7nhBA j8qMyb]P(}61[/E+9}nMrs \\CcWgdyuYSnnuUmeSIt@ƱV& G tݹF#?2MQ2k2R碀TXb#(Zf+ {B cEUd~aylA5wo8થ_=,wBP؉0n~xyq @xQ# ߓreW(%(ha@rbsKIIı-rq׋tD%vWi0%owN|-T9G#9_ r0]Vd,zcxS^$S"A63R>&?r:gDG$zUD^~ʃx]iB{l/.#?c}Z{F-b cE)1Bwe 5^ʜޏ+T%0L HdFj["tCR,v=nNd4u|S@1( U/o敠Q|Z N}L4c0$E9 HT'0CD2$^ʯTq><©-$~?Z_ne41zY:+~{5Ğ* NP 6FUtAfqBuPg8*e'[֙_!=7HC$:46~R)2DOYte"uq[w }:ul1h|yּc,{`GRcW mXVp9߁.#WTiRPj ߚ Wn(!?KőƎ+vc :}ڇI-F= 1Я\kn[UP\AWBaz[ڌz35$g MQbmNl3U!MEyzwS$lKݴiQrkKkB|^KY-B%'f3^[(k)$fD<G#`Zu\)+f*pփmtPVŐLr5 ~κ#&\eиʿ?D&L d\94j`+ nSTh"j{hgˮPAJ5ju, QYo#D;yu\ &SliD)w>2vsh~L쒞_ 3m8|47eKC)w6+*_7š3Yo{`Uu)x4 ?V@=woлbWXӲ_;gdY ߡILKc.൭ozfth"s⮸30yK&U=oFs:bS"g$ɬ {Pu~+Wz)b"uI돎Zˀ)J$R Ł~X97Oܩ _}OKLt"GOҞ Qe]X^:Z/7& uIx{LxFo )Ɛ#oSklue~YỎ)m6L"og_f;\oXZS,wΡJc VKX{6wE.M4 n B)U _&+$^R7cK4-WANe^mc&V 7rlᑄaY4o G9'Pfډ--|@)7X]r/$N\a.9/Y8o!`/r4O butzcwl\F%m⎰*Dԉjlpo|Mo$A$IϨ=[߿M"^,auœxY:K;.=.8LK9 /U:8q ((kPw?$z|6]/RQ ,hE29< PKrܫħϦ:m;]R>ȣIuNp2HaH.8Xޙdn(qcGxH* wV}XiN ˂AZc&*@(8PBO$n~=9zxg~fwN>PK!620>\c6@tH+jkQHڬWĨ#(h 㥳\YV7mVwsBW"gq li揢$҅U^#|Q ppy͂pZꀿA,av4ģ)ۮC>H$ _d UKРn:;v~UvBڠ"nS(eh_.Cn*iX-|y'QEyz*t EQb q5Uζ92^m(dtfҺn+bep}reX+o,/WAn}U` P-45u_}S xqoyJ&) =ׇ1B8`}ڈŔJ &HQC5! h/$$6$MS`?BU|j:fHGNMK 'l*)8W8=I vœnY @cDoxP 897Js 8oq#" R -Lkk]qe p>i[\?(ys/zsmJw3),Rw^Xa,2 gII)DBZ~ Ŕr,T/0p<, V[M_&v y0Ƃ `_r4Р녋rzBe4>}6 c+Bc|/|եIWQ'ھM#r2]sASVdx=m`O@HvAAFgv8Rkv'3Ô5$PS."eiW.3_|ZCAQϸhorVe#x {vc>,Ǹq9{a[_Qr=t/~j_uMLTe#%˞.C} NMiekm kk^pKrpyY BA2m:if^xSX ɶHed@5Q),|Pߊ?<~O8׳avAǫg.k?@ 0v@GS83' 4Pfxݾb(_oTw=0\^'}\\oQvtz[^ 6Kq8h]"n_*$gl/l0|ϒ7;]rQy7MQp>D-%*瘿>Tׂ ;طFIgX1Hs@p,tZߢZf=з>S'VoI!tj᫓HuOζ[TWBSޑ b%pHy,%Xrg e cgPwi_#-e? Xd X%;\x2H5ϼ}sӥ>FJnf曆-2DYRS@itR^lyv.a*LR(3Z-jnXP ҥlm0 lRujS颅 l[If!$c.F&84g]r8I#)i@?ղCQ(ic?tLY6 ,s;H|Du䚘]i5FUUeL,!ȭԱεYMPڱaQCp{F b>PY]q? 7c$ LHM&R#LC\g~&oK԰}<]β~}B[?饜Fhj)mS ?KD ?{.f'f>e/NΏ_]Db{?8' ƍ51=1$: 2Okc) +Rf_7`i>;eKbW{}J486* }M]oo霓?A$w l2Yԩ/,Nç Uczơ~mXtKmZ|"U Ԛj_ʢԸ V]4u;v煊}HEU;՜'47 Qkl(WDm/˅O}pRGkd}UfhDwn`ì@T(F'_GIi\'nA S"lt`L-˶"dcKOL MVY ,Nb .4,"O> ث2?eijjvs앃QN[!igw{-̑eSm&nv f1&#V2Q \ `t~lgJ}Ng&s\GY1&%?^kYhzy(`s:7&'%復knk1Iг17R/@nIO#Iロa|= w؊Ww=5I?)\4u1ʃf6Nooz%0xk$}dAr Y%u)OZOaz, ('tD f)0QyQ?(fH"⯞z1'CŁ+}1/TΎ/$,kC)J|u` !Z2cx3zIY*2Q3eMR\:\# ?m173E VW+)6eMdY0*ԙj +^2P4g>]<ݍ8?6M]`8U7!ɍGLáYn+%pzx SAqց_IA3A$A6,6.Hڃ3:شfD*(9]Zl=? c3!ިnM](ďxfI~q^g5{9%/Z$;aΒϨg=("^iIY6$u`,C;ik(UOf63'5 0zuZ&=?!ײne?I^AM+1 !u"=Y~"lSxG v  IݾC#kx`wC|] zTY̢QIH\_=|ͥ$7lYɷr+ yS 0ŲExK <3gwW, xtCP606w$qmhjU5֍eB+dŒoPs{AVxjka}x k(j/r}]d0p]Cgo x ~safDQBqTep; Fax$5(P1b`*utqwvP1O گGْ׎ȁvlu`G;}6gxV!_<f('wXq̨3Y2<"_CИuR̈:_;Št r9 EPS [i0VKwEx[bR896; uq9xl73R_rʡ9zz?Vq%׎7@4ylz$uh+hJ5F:\s$( H9DXCPfQOL-ʮm+r=<(ZN% j!^uj1 g;g :*i.; E#l31ǰl׈1vtG_GY} 9_V@uINf/2h, ӯعR]SxwAVJ߹{BU;ii&pY߄;Aʴ{jq~R})+XQt=!aAo}+)F42y3 v J?=*bj\Od\W="@!9@eZ 6EH6#=[X.UU >iySòX0?"[xH{1䆬7_n@2U"!;sί0Kb gqڋ:̆pff' BV87 !I?jgVɱң Pģܙ%[1p _ؐKMO^Q ^HؖcaH]φ-5fC#dYWT*d53M΅k&ƅƿKcT[S< VLR\?ӵGXJOS(A!Z{5oEw ]DSImiU+iGQ{^ƦjN-nƳ)[o~ߝS#xh1H$j9Dѿhٷ!s@]Zsy"JT\BϢ(4鷂XAjXW F?6:'RAY N({&Kvca[g~>ǁ(,blL"916l1xr4]߰va) u3|&!%Z9= Hnl??#0ߏY\J!wtk y& Sgji 41fUʼC;[b'WagUpx越W:?FEuWǣ@C}BrDD][k+CtO=43`/ZȢefDآ} Frq1@gŢZ*A/W47Izп-=iL:U\g{F.lS ~h_aS'%$TKDuǎirm 4wV٘s+81^|%wzzcLҨ޳ i?-|& @)lE{0" .hOL##VۿeMZç5Nc*-]dQɓ` Q^#g|$~>[-9,1VRqc!lN&>3bDWT"i62L*r'HYW}\H5|01c:coߚ׀47&E ^s|1}4N-I~q}w . l4 ,v p)=Vs>+P>^ u:6ѶD]r,Zy$!Vv $o1L0ÏPDX}jgϰӰ~ :jiҢZߩj}BWW r|`,-zl9E`+:`S¸/[iGp&]X7McLCc"}a]8QϦQ4vQ{ CZa}Hp=9`_*xh?]01C(z{YtxȟNJBj!|hU%[F^"az*2sG2LJFC:'?&KXԂ<2.\"AON n w*ZsX}$#./υɞTң vQ=_3C< 'Xhۈ}ԙN"{-u+q7PU_ /( mى*/vwKx5y}ISw,Mf+: 㩢jT:)C)YC7tKFIuej/p\|^XZuCՔټ0ci2l'Jc[% pfZB3$_ (j')E!U%(n'ċ_<^%!9px'0 NC5F txFU-8d_Z)gH\$mWSPyJ٢c<Imu6Eq)`?&g# x9r]dGi *^G?C3YU 1S<8sdF\c%|rdr F Bv`Y'IȰkUI9 +#TlHZ`}GXRwR)!De mu|DCS=sl=i"![Џԧ=3Y5l-]t淲ۊq-D kǶK=ToS7S`%.޺f6+}yb+@p$G?#T{4#BkdYNz dYamCBSi>ۑXk{OvT˦V#yp du}C!lٍs\ZLAwl;2ש 5y {݁=B)gw] IdL.P6xD*MsAD=>=.{TZ?\ L}{d3aMRN`g8/>aqB!/1*Hŵ{1 r%n5 c4 G*[ ]kUs7*i%! x.;.`ɥETHc1l=Q$_[`L]}!a^~BOHi_(Ⱥ!i^(2Vul¥VSS&.!+9KX\+}w{F ]JbW_$I%2)5jr7D2:'/11  }(nS}kQPȢ2an=8T6y`@1bב^g3TkZsT%* G&G8®Xh߀5Ƣ(Q=+OWEIK^G B@ʒmچ&_b1},&@u奢W[l8E( yXOjɎJi1o nWJ`yp,ۏdH|N$֚9051/'dI EIuzXj"OMR(.Z2A8@t ۃWЉcc?y CJV?k)K56*DIxЌ*_k$[̄y j{…mQ^[>=Њ F!b_$?sh@쵹T<9B[W+7δc\XY iCFaΝWv !}jL?v.PoJg$Sro~_0B}Jdףha(e_p=?4?vpKsՠiQPDh"5 ȸh+~HC{|DΫP3n \Ƕka;utyL& qn;iOl͝nukסn 0ߦqPTkv߳uO#?7G/=Y@] 3aCϲp*2qLwSg V#;A",gF`KQE(wfs5dQ M#ˠoMFEZ]?TU"XDOhGYf'rnb0)-*[N|=9RMi6^^8EeQ77ˑ ١Ad 7/vv9e$[-l7&HKny4݈1b St2Tg:Op;Zg(fQnh"& SutQq~ Uh O1mNG1ÑC ߇}G)7iEuDyP ZBESWW.m<[Dw?:pUy^ƺčG&Gjp S'd-j9uP%ۉn uJ`Sƕmm7U'6DY̴v(A\_LM]#~8"\x!-F]+Sn|(\Wk%e"9^_.?J:fɺ? Bʧ/r&m|]>vum\(Ix˴}7WkϜ4?5Eu'C~ݗ2.`Uv[[,Svu^cQ4˰*Y{`hF(0#xcYH$A$.E\\uplW_ #|?K"0|zC5 Hyh:ߨNK|n4F\l.çMqy[RnmBp-N3Fs9Hw dfSު'kKW 37͖||.kcMwW8*W%0 (o`к;\aP<->Mc _wy.x;j{e3;31_CB. ݊`h,_=ۃ"Wȣ I]l랝G-0L Zb^LqD=,ű|J ṽ]!НƘo}ԡFdA}3=p+{+j'T\9)ipzAN~}Ոhn\C ϑIk`H ;qQ_bߌXzަozkȅqR$o]̛)UDэXZawz8ݵY a" gw]]OAE0Nv7;ʴYHG襽=@Bx|VՋ+犿]Wḟ(Nzekc2[bO3aHM'>n VSǖab1= D)/QH=- LEb]c"饂C oe3Y0cH!"g \hδh: zsv9OSˆ7aƁ8?uy^s¼4K2ю{|z5C4eA9zJ/ʩ!jQ₇>:9IbH)iX6n&ܖ7V#QY{lȶuL 3Td륆[T%Ae|q_ ,sPLx 0 ׆w<@چfl+@L\vrtVw{D}bS[_Fv 9į"\vZ$Z+@X!VYY"!vjA, Jl_䡣}:w. 汞ؠHi2!p3-c 3+323)޺ǩ-BORbs*6}E/׼Ǎ@5.LMG?@X6kI^ }i;W~2m8TdÐ5(48{zD-c|:h<7Q;.?X5(~h`exGmbpŌ6ȏ̫e.4ĉw3QNUk8c}rƔ MVodsW)v$dGGC̕H=dة4mc1"$ UjxΉ} JRlHK>OOvxt$Oe0՟"Y* er# i.dCh|֭Qޤ;Tݘ0 OUJmb$gJO8 \g")<6Z4͞lL7am)f51sH(5ot݃r~["4ɷjfaؠ.ꂣ7/IZvw#F!76ahU' G_ `6on%)nJߗ mSvj~)5?:hZZٌ,,NLAKa| .MptNAK^1b#|5wTRД(zJk47 a",k.xҘnBq:Q+ЕV;0+J.gʹiG #ȓÔ'124f)I ۣ& AZ 'B`V=TJ*JPoT LZjN 4Uw7 pZb!Im-$+`ӍDĊ&zPy 壢@q!` K#lM8V=-5 oW`(cp^h}_㊥K^Ԓ*6?Iee% WkA8isSP%kBU7y< 1|K-,GI{ӟo)l>xJXzgg`Xv-@#*EJ>g}uv4$>cIp_#s7PAt❪`A+xi[Oh(E$%Jvf\7E'U']]!&U.Y-<Ɓ&Kdiay戁 xPD?F;)4-;JVFM;!jjץ6iƩr;>n;S|2p'&X&XɤnNkt)89"km(UEÜFpZl,vniVңq":6:`xx5hS2q[ Hkĉ,](Bnfhb5A,\)ڞyꯌ;A:O Oڵ(X Ҙql$rBy^5g#%K ]M`! .>\JNXh'Ƀ=~AffϷKx>>ٙ[M>lnfnl" X`_?Jf{#CӚ9{X3 @RNI2ݺ%o+J>W3jI1(3hR0qt>@63ilaMev,hβڍs.V/4Q?:V^*(JC $Uh &ZdJ}C4 S^B2uږ\XVZk7h=b%M#-fd-&HWӎ7 dde0wv9r:>{֢yUK51eyfdDiloX l{FV0eoaTB8sI+_` :n'o|-t2]vv\)%Bd>^J܆I ZD[*E1́=Kd=En>MxO[011k,{@:qVaZΔZC+p7$G?*f$ gPg6byUsa$<;Љ6RIQ!g{(5<:U*kpŽN{#u< g@޳s5PjZ8T٫"۟­v$@?;rݠJ*#"et/i+wʦc^(x G{Z&q97-XU @u)ЈuRBRw {?U0o׿_?5&Uy' D-N'*yۮuώ krÉbݲ*V'mH0Sňm&Jof`'>.ܷ? 5k7OMzұ%$r_F"TjE+ld֔!b,3 aC!3ƤʠIN]+HVȣCNf4 t'!FY1kHHu^7-Щ z A'q(âQP!l|fhY '#V>y lXˣoEAɱ_ u9FZ=q'k^9WoLQ3 n](uVteͧ9i"߅;qY \BVv%28xU a?Q87Gm=-kWv%GRŅ 3;4N*;Ɯ֩^^r;8'rI(0'D kxY̋-WuڨhBzL6* '23 hXPG`xQJl8͕M:FDSGutt5C]a6K igS%iw36}Fo=oǔI+ed|hO+e+:hʫH1d{PbB˃Tb .L;5~#4yDUŠx g-. ron^C1&zq5;e+u "bg~ j0`z2E} 8epi svm-=WMRZ 7.eoY{B*(M:^8V!AU}%&lë85|JzSS ju A*H|N";%xz*MSA{#{#NKg*O0$ڝeτ(5VQY) Ylݧn s9q"կ $Xzt3W)jv4kC4st֠r9:Wt}j ./ {_@" 8 .uz=) q9}-WQyzw#zN%0U٘C@ ȑ=~s~6͇OtGΏm5[.91|SMHK# 89Z8Z$zQL +L3؎nx[ ս' 'rSx޵DE9&1l#Gj~CȵeKhk.K+ 0'}.q^zD4y+++B󣕾0fcSE )UCu O +oeOL *91 1S_ޒ7G]^K"o5(h pΟTV[]WO&x!ɱL+gn.OE?>_K,7)N5!z3lDlD|4Zp'MUzEua Z<]qۡw'\cWzNGؽG(Vz!]?A2;{.d\Q HIIXgv#}`緞q%)9 2VeMŇ'h?_L`n co ʥT?W4޹%uyx+[WXnNvU C\Sە_~4B5cXxZR@{Vbr9FǺ[0J3,<\LYuȮ! ])N,B\t2H#fƻ002|2X麺D>~0].0<8`P:/#'" n%8.TAWR[iH'* eD챞o)")3C.'ZZD>|LQx)#`VMAatH0qi1gB8GMυ&γ$tLXN(l3OlTTVmni&O=(]LܮɄ'BAӶՏyQOE-Ibj6f3Ih#5A+ ,$?\`ogZX+-"ދ:%hU򑆂!l *p26vC'c:4{q"Cp?r]T&U 븚;vD២⫖ZCԕ/iFT/ @]fXKc˸I/YyUiOSuBJ/m3Jv@*&`ۻMP|aBŶD?5pKetyG,WA8묋N6[;W<=š˶@ bRT ɧAY2Ya4ptZE8{jbꭙ86D'kp%f4[&]dzXe|2S޽1fh6p̐#cJRpiyyL{ R"ϢBx6?zapYPC\Gs*ǚE>a"_R6ߋbXl[F䦬_[_'Z$I[[O'f󃜥kUksgx: \ə! MJ{Sq=9]"S`aDfg(7\G]j #j=83޲Tqɒ,S~n*Xc0;8}n-`/펬aIB4`)̝p9ӳu 2&7dEI:~ ã{1j4i5X3TNINgljn#]ܡ8! mդ}.AC+,@J~k՟yB.,VpXSF/iPyi$npuO1ßX5~a{gmh5UR"ƖH0vw/=/މa,hV$Wdא"Ε`J˗-xQ$pKT%z_$ChxF͐> &PIlE!ŗ~sLU 0 ۿaEP)(~yє#LvwX|IpP@`*AWʯ[efp/pN dDvub6ٸ]355 糮U:U>=}5HoV{sjWL)OUlP-*?vXÍZs%T#~ ғ,٫Xay ? _¿ { Mz -P]-)vYeAGb 8aDnn^f.b zCNPZEN}Y i7.zX^!dz9|Xx7@ҵQ5u"pOf&%C&cpOӟf'O28!qnʰ|S#YL<^] ?KSam4"^3-Ad@j '/9Zؼqҵ2Q+HHeeSza}z7KHqZ~4*My俔?_Dp0gJìԡ=Ln@>e)1x`ѭY\+J(M EwYe (SL8kYR++ҧV产r-LǀC)KމS$bK;)|)Fs\w=?'(͋Qb"xC{oiYoX!q\rr4o|h}E"' -nC-LڌM&!( 3YgWQtrmC`s$RK鞛 h4ᢉ z(v,8LF[* aI8S)$@ 8C->d" Rl1$: TI ρCϲ9' /'nv&_`\@VF"##vxjP=3` R0бS 3\j5Fu#W rzfHJÏ\1fK=~$b 6:>1TAgH #i^/bAUB*.ͤ_W={Qt9Wfο.(뾬`\#:$DUI,Co|IBo XABeqVuE݀:k22FaAd1j*txJ%MA =Tu5>`~m7@>Grw4N_%"Fx[%܀/ ԭ f@=kHxC1XOx/Bd: ҷclggE2n0qA?0 BJLcD4#D 2 3Q Gxh`5C#]Q0T×KgѰ6Y m (ܬ,vM3DD0MJb=f$PQj0=,ƗpCVbpjҾ[Jթ3Ze`,.@|ޏ@Q~"}ّm4|0ULsqu%$p,j\§ßL8$%)˻Zu!ĘY" ]y)2A9ov09xT4 @UkF;/I&aQ^#:~`{NsFw??AvYBrHuIɰ?BLsO};nl_.I(08QN)v\~ u[7 s4-XʞgKN W8d,4+)u^gJYSGd{gX މw'щ2D陕:HP6}m>QTPYaDJ%=͹M~+кNb+cU; )yY`\gjaI,Ku'I= =ݢY d.HޞT gij=Nj!~zN<$] Vz_D9 l2*4c\yݠ?`<$,Һ;u:M%:G /~dOb0I#cOE~}r"{m~Sp!%TeE0hX.miWd=o(,qI`Յ JS HcvLhk\?VS?p>`[3J3 Uf &+ lZid߿ޚ<}S'ZKprLiisRXm)聑¥iM,*}ǧ+T]g۩E&p4|VC6giz9aݾ#teSн4 (, 9Θܸ43ȭ=%YN2m ;|ExϷ X7ȅ;@Lϕ LX~Cܣ(gEۧcpy6'F;w#M]<sҼ$Y$BҥxE,yn%7$tA =EaӠn23V_mSR6|/cu^";=I\gyJ, nWVO3RTMƑ@Y}jM @j[m kQV"tWwrߩeLXS-'O0DE@rm&f.j bԚߘ|XmgmI;R2mgl.4TOL"*} $bCO6Q|F 3Rk $$,ɲO;dxX K~#Z6hUW!:Vl2O>=fr#JWA%Q$\,<> ħ4~Z _evϡjf|:'M(4Ӻݖe>x1OiGmLu'mgr2f|#.'3:*0gmj}K^”kK\u 8H1=S'Z, Ϩ|9c;4"yFEsp+T Bzt8"dY T +bY>)N ի>M|‚GgJDqG+ M|b..h/XᱮՂU& fdoHJ ԉ{fo@;_bvj4 !mAԗ雨 D%%,jD|]w'c`n0Z$w㠏hUՕ6Nun aU3zsQ-J6,uњ#*6\f"]v`@M/Nl ³< "͔ *yPnF nݗJy({P(wAX쌋Ȯ|FFniݿpUxKDk ̚jG؀qX|dX@LhRVe@C~\\|qYyL]ҝC448I6f/#ĥ  pv535 IHP8ߢE*N6T%пNu?y0rm`~i!A'x~KEZ݃$eóazQtTΪ0͑$Ƕ=ٕoA>ekM~v{(g1uIKh= فG3[A~ )8N eHፚ 'ϟZ-f\}U;_c.nWQC#zF;d{ĹȤU\Q=4i!(mRM@QZ6k׬WxGD$ z/MuR!ҷ526p]? _#?)dWqvX,jኛʼn u:91cnӆ+;4dj*еYbqQr}ՙxLNltJW\ 8{;} (AC $8ShY&D݂%rY4*(%}tsް3^MD2YQ;.8 CO$691^ Z†~Ωe K Q˦K4[ wjc䰁z=*?[ @l|˅,}u:(<H$@|{ѯrB/H"(YVN2=avˆ"P+3i4|@/:g_.n f L+ӻ=-8 َ!q\1gkt2c/r^Ɵu0svmv4sm*E16F}EbKM$4K[\""]Vjn,(*T!$?t~V.vTVaW\LFTQPz޴| "SkeØ܈xPKs^6PbDO&h,hĥ@ 0ludqr9XZ <ᦝ/yfLvh1ZypGoDN6fmZSހx'G{݊)R-̙&RV" J=Q|f tW6:lhёS+#/LhXgyl!ժ-<)}I4.4[ľ%"N{% <+2jӹ\+00U %Yj^&# :f`,P{9=(b06!Q# _JQ,msp@O#ŷ&&wD:aa7` EMyͣO 1#E~ܻ=SvW3#F[]~Jx y~xxQ0ln,9n\UKk$lG'{F9='G(iS: CG' {a!:,22,l[[\M߶t9F~8e4JVWu`{4AލPZlBoaa0T\tEgҤ%Mzl7#Mv2譂41GXsix})ze:_uUtR$gKYPK8͘7`zSz$lHCƻB-\@%xS#5]"Qi_;_Gur֙suzeʑٙ%#^@xCl.y_<\-ő:I"2y~oqgX1hVSH(LX")x>u@1 ϕ%%C&(JhW6|D!TcݶXH$iraw9yͣ=L&.͗9uTC YPE97\pޗӼr_Qj6‚_hPdkW%@m %tzrl06$iM{o?L?aGyC䥑Q[ ]x= 6d`i>B\#u^s-!,܏ʬw6""n`ʧ{>N#ރW6ȸ3ZGT׆Mo4bT _C)zfr)G~ i:@eu:8^MpҪBlD%}Wh24;sJKF5$4os5Qe$$t7} p1Y ۸ @8"" TF: iS],jt_?[K%KRL!O 9H $ *\e!m=ߏ]m%;D1YP@p7.< 6to'8%d,0nY`ؗM?A+2OJIa جRo!q|-F[X)8nIbmK>5_R$@kOU_oo|"dw.^m@-:N?cW2;kn\A^p$7t\~h8;MصOkqXw vLڒ8 ='d(;YQo%88W.mwAS PncIV<:.MK{Šjka08#@[ML5zZyP*o|^g&MM`"ҝ %c{*-a:9[pdL¸lT&qޑA]068;p(WȒ %xmzkqfR^7[ZGaiwIoB:Y3ȍV#LTm*`+7$dF`ry?n@Pnz#Sw8Sm^/lF@=vʵOQiPVN=h>`]ktW<><~%z9HЀ 8gɷHTsY㠾OqHVy)1ԩg ndq+MkoZꃮ + #YE ,Ѣÿ&v.?"JP`5tIFJUK$dY0CAyvT pe;BΖ } fDzJ|j ho0xl!F2wsMU&*f*8skFG7 :F,mv[ jD$϶u1YkJ/;Ǻm@@*pK9&ŭSO }r}Ǚ8-n`죖P^8f96bG= Dfƪn[H<d|0겱9mv[OJ“G"BS(@K}{ N&q ?Z8PPr?uq $3Kc9K[ ]]Pl>3դY՛ &Iff r}"NMʾP42}=tlŧPzM]WOxYx<(~.&ufAFL"4CDEHAW0qU@L2DF*tT7r N"qC\uR*H"Q?3DdJ,&TYhUSpـ-BNJ xJk+G#IHۗw{*}n)DCW%,Ldlqn3{ީB/}ƷTwghꂹ*yqR UĠWFAQ~dnd p끇5a>=F/CUde8^Mw͊4˿((gPFTEgE #3TņeL`2NeRf CI7|Jݎ3PwR)cƒ_y(wWmf([S^p2&Fw䧊HAr5f*~w 9ޮLm$*}cV-E1h}!B{[ R'(8q*h(^be_`͈e\$)OYZ\a@-\Gy5~KTLPI.~$'f)7?~8V6]ue [tw291W$A?Z~2=5VQd@NtyG4:gi JHPU.Sjh6Ɉ.uJ IhZ&튂  tǩK]T;ֺ} R)t28T>-[N+WGHb*:kPѿڙ<; -Ӱɮ73TAIFf;j>H@;w34ۂ'-4 Gg(kbNtmMlƘGoFx#>8' 0<z/tɽ{aK9䀇d^$-;`*LM$yR^4A9YNѕUҋשh@٠IB*Bܵh 뱍OqKDkKTҫ0?iVZpIn^1jm^&[p/ "75vӠfP>9Gy-Ղ! nL(-ɤ5dFJ" խdW}`.Q;nŴ*%gx `js@3u=L=!A֏ĀG(Pd2u:[+ܪ3FUGD@mWCp n UDNk-r6V+5?]_^$6=#ERՌ!nr EfdmDZʦ"Yv]Y?:zν ĵz&;Uգfi?dA`P~t<$ { )GblR3,v0%nilR@Bu#[o. g^=kvKas / B'W*y "-%sW,G&p>6Ƈ! _$+7J&y.q kuåaO>ƮzQ(.\aB9c>쩏oyf.+p`.MmˡTu./A { Mlr*'w.Obvs1ƃaIOXxYF t lr(?'jzT\}껾Wk$i*MxIJREx$YZ)w9l.Ւ]JC5f| 罐upgGDaAsxz= aFkNDBڿN@쫮[:P6~#^;qBƻnx玟;mHTL'`TwVp(iLq..:c`v󟻫LN[{kK"viUL8 šSg[¶`$w}$paje @v_I"@DCc mzEWP&Rgy ]yU9>$AwQS <6a:MQiŊb\bUstE:+2  nu17:nʀ>|pTv=7L7?ރؔa:íIhDA\i+&1.De(SK׃|glPq5?GYv; N @!ܨ4Do53bȄ_!GJi܉9Fz92$I`h?' ɩ\x}9ׇftWL4DZxR 0jhރ7J)i6!1$ ENъ;Eݺa#N&]K=pc!xt5KD(h0]=O>-C _|/*)pJҟ:y$WosOw>,&JKx2.<6gcq3mN^nERc9E6hj(`Ȏd,[Th^Ӡ~"V0O4 ݣNőf!î6kaHox-Ug{SLvAեg?ZPod %x_KiVQL@vs?*PNVe&d$BltgWW]a-J5_,g?FOѝfVM|ţTeO>ɪ_RVn}FzOY2)e:oYFDR݊`^~6 H!3ugϩl8eS[wR Vdi7ܙBlGOF˹[cg0<Gi+1p{бտD:^ f_=}W3`@ G]iLsG6"[yCԒ~L9Ч<⏩qlbQ5muaoyK;N2jHX ad9ow38NF,*C"Y:}\ѳvۏ`.{k;0S̼?M۞^žt(#òiS|2:Ɛ!9KqѽY:ϏbC][p%˹b$Ҟxa`ֻ>k8JOgtu4ҒuukZ_DxsB,a 479d?&/)Ӓ~=D{[M7_4;Tj҂]y4*( f h#E9\Y `1A h~!8z$ rq]_vA*>'6DGsif;ZM;X Y;y{ح$.{`ԪΘز1<_MxA5}c)ViMp_?^}M_UYDM؀Mқt;;]k5^(7uv5/RvyD~:G/݁٥ dʨVOGt]:U6F(w:Nf]1 uVP;ӷ6qOBɭsh;/ؔM;pSyj@_\?\0UחYSQR8XsFTКV8K&Ыyx%eroluG,s xt jS0/ߧ̶渤 B䤔_ژGУ/D!YG$}ӠxbWpb*R36n !4!ہTz,:[Yp_28VajLw=wzgT?`ChflQP:q e'NJ){xo3(|օɍ:F0}+xuB= sL=IZt,9VA =f箒C۠bKZ'üⷑk gxޯ̥ߤ{!c҅.>լkULܲ]mEDQ5y/o?b/lXa^}&Z J_l=/({"4*oA0W3Ps78yN3@L{#NЧ!K+q z!ݰSJ;^Ǩ]pniL?AE?~˙{J'gR+a(Cmi+rאTa\iqbNOԚ]5!#%3K>c*<Lj z0+ꕰ_Ռ^0UFp\<=}9][ځ׸UJDΡ=6܅kV+j\̐Hђ᭭n~ ¤+%8dž*hI(4yf .xy]<`fA&q y߰owсqHǭ59/VuUɱQKn" 7xx^x`` 1)K&.zCmC`Ezm->\2RϙHt˰ӆ5$3TIs48:Jx{QlԲ} Y ^\XKh/]#7 /,R7þ`>I| T͘>E~Jo+L눤akhdBtkUlņVLRC2,.>M>b1%@%mUT?ᑤwSlZ+b?\C *~I!:5vwˠ:W-hST!`F|*xЪb0}b!,Kls43> v [ġ`_A#*r{K&:E[c:7KP,#Og \} -В>#gcezCϰWAබm߯ZƯ1 ZÖ}S_" LM3e撒qs)%VMw}~R(6GE }_P8TK$My39j -}N":ƔZ } ~<$;e Q#c.3Nd9bR",l{Aik4Gv,|IClڞJqEӧ-g+aə~$t\biX8hAPyLmM}g}؝ '5P(K [2[iZKS4趄o19k񺃃kQ^۸Z!MG|mf"Q l. ; \L8 OlhǾ.c!q57BLUWӷywX]d$u Tdj . 㣒~!G^Ѓh2[(H6|{K“]ach''i37#dC]>Cۜ0ZfsKl%5?e:Dz/W>C =b#s8c\1ܱA8/Y5t0@FFN2\5ͺu6W˯uS"OGҕ%h,DYJ>̭i cЮ6,O*%]'H@bJ{%㢉ս _'ԙ">~)( lڂcdaHRPcj=c82qy(]J/k?m_lYB &Ǯ-_'$-@^!GR{!:g NIn [! 4en)vZߺРcx~ 9 nޓgAeڈ0KtųQ`k#8v}ͦe-C=ecbyWQ+2>G@TPrTIKc-KxQH=w "b ۥ(ǽ0O`}d.l&tA))`P2^~9;: $kQƀfi%9GXM^͐:sn/܋4CV˨17| w^[;BJm.jUuk@V34x O Ï-XdU/$g?Y\OMt:룱 2 4+d|3jMQZб?O'\=m |`^~QX?̱ɺw)=.5Oɤ;qǑoSǹٶ%>&rC4o5h% y{5+(w҃$oH o^|bUhPuط%bo^nӱ \%G kEimз_Ptm(Zt:񞪼;8 iCp2dBNE[Uso »OOPnj1cjBe͟&+g+sỲpd{uk[ǬkB' g&gE9;?\iH2ם|5|6H3Y߬71饰,=Κ\1_ :bjd/?")#_})+1.Tkͤ͋NvGVM32Q+씆]a:P+&E DiYͫzҲ1)qHEad (ؿ-r Y>b3W%S($\HqPSBPibo}rG""KN+G5j`iVyUKI=Qӝ,Yu{2෹#eP.L91z@JF?yfYZBc0 mpZ6&ե)(g`>u##HCnc OPh)YLaM%K(+g8 Q+*äaVeY\Sj+F,,ګqޛ0=>uAB'%8 8.bcK}nR8IsӞ7.UˎXruZgx"nŞL@=Շس ?E@Wd9iKfSFaȄ׀! )0O n&*9(-R9 #GM-أ/,YFQ=|&ET[.vP8~Zdڕ(?M=lɢ^%]vnkDߠi~}iيklVoȲYHU2Ka46vJ09Jc5lki4h*GϝH%PRyZAh=j.*enS $jťtLS_ HK!ޗD}at (%?g ߱pj[Pg 8{ RDFvs8@=6]+aՙB׈L9tILkgŎ NE{|caɑ_ɀz?^/R9P@679 TVEbkDR >uXK<1̦ c" D *'t?*,d }g ؎H3a `+{[LD*)(nZv]!dkc{%J@j.3afXxsI4Ozk2 =ʠ){_TźMF?gxiVH=ǠL=jciv6n;a+=2Xh 'V4HЏ+L̨ãnfun\@je 4rû^wKqܽ`h%n{36QVΙ9`+ADyOj`С*y g :QR +_~֫eQ8U?'f0-qCԿTS/L;2P0đJ:d}HY ,H<$G~ Sws|_golZ/WSBOM̋r0Fofw^~X!a~il: q";8!W2S~x3lZ?%i-o^ďr)LWd$sĐƆ6YtWcMC~C#gakN8+$ T3ArNst΍(DɟCj />-α{д1v\#bFbO9"e<@&b8F9\šDnm[ ', 579ٰAvi[X|)p׃_1G`6*kkm[vidSv隿KXl<+ZEx]/%Ң|Ϣנq<3 f}^ht(o i,JV WIgdzՊdn O(q3}~m=ə77 Ai(IoAfВٔ>\O,r8 o =W,Շ}/H(-QD}&|򿋷551?pt+uRX2Ÿ$SXCR>]#Z0yƒ\3foՕ754]5p ~WwR>Y1@0w_6hyHw,͹i:x1MyML:8Pe2 nCCފ3w>kh":"9RNV O6ZSc"3cMAQ7~;*w,Aw$IbbZZ<5IK/bK4}?"g,'9a3e[dcCrrrlip_SڇbbR5iuQD'er VDfBXMGi:<ĴְtAN*΅UꀛR&]BŒNC2(e?lJT q.E'mMTD#N"i>)6L~ swT~|rcЃUa`:@u1J#|cKŋԓvXq³q_*1P8NVU)S7ړ "VKOAF7Q ZY }ebna3!JD+ Kz7hpAZ5rIhRXV'uNiđpn'gn,vܝ{nY,Fzq&N.}cO@pΆỴּBwD1QLnTSp;MU߳ = !foB$[c3{vY#h7*6v_X[??!9F_x^L^t8mx3fEMM}I`M7%ty؏\D@&,/Jal*G G}^Yق]oW'5Œ\J^ޝN4f6/7[%ETa&i)X4 eߕu@BмD\bQ H¿}@rd=wT0j3o౐/ILū6FPJx̹F*?HkdQ{kl}ILĎ3mpT4g}s w8\-D>k#R2->\q<~ XUEIJ*/qL<9#^{ %dARYTrYJfS7qI_k7}*Y-rjM[%NU)cxF~n__Y:722ʍFvI.#[fH[JƑMrbJL L|JSg:(ӳ$Bcd_| NVЖyA96\CI tNmye 8Ia1@jo2K y m'JʕB<ڄfU Bɺ>%W_#)ݧb ̳7~jP͞PŏDrqCQرm#8K2?z䵬|4&5 @wgEtjF0=,GiO#1;<$ Rŀpі) 9=n/Qr]Yp5#glrIb&`™;o5vV倉hp{wpgv}f@4k~$q4I#鐃1t hPF\{țM,-xRgm?)aq7$N'XidP6_G;,pDd!.G|d{en]7`z|\kqGu2/]9?M}Uy>WGM`alYNN}z}֯X^tն6%$xD8jRO\"h+ƻv|<Ĵ_ir9RuREF bR[,ozk-,CAΈ< [ʙH[Efڹ'0|-aT-NV&z{Z2U{I_0ÔIy7j#0x۩@$ Y:~R+Y&9nΑM8F{piT䤖`X8`F '%76$JOV$YR])) c*TAj2~,ECo >,b-w%WԻO)oz#eU~+/Hw 8A}f .I/+xQNM8J}wK!rLGCp)֓lԢԂ\6gr[t#\1E=54?Pi|FK~)*8x2k Yh7__ ~fޖZfE~JٹoR,4ceemflnOz! 0M\T"%G? q;|=uOi/ZcBKw?%hpY8Xuʘ~_~ _S= JAF"'SVhy.0ɳu cv@կDרVOAYa)GqasDα"ZF(OE`l&9J6чĊ.|gZ9Nj9F9RT̽#P+,U(. c/8:TW`yk ̅Юa-%)>y$op5mFr \9Rr5%[V Bƍǽ}FRHt[ѢN? j[m w!?PU:ȵ0]8WX9 8 V=;r;%>TA!J>ѕ&9ΰqD㔛P ȥ#fNX1 ^{8#I[}kuX 8(Y0򲆖LoN$6^iYmf]4䩯g̟|`dUV;}BϞ0 Wߺ3;"z|ו~?ye3א A "|||^\nAE4eEd8TxcH[q 3MTGpzݮ7)֪/g"Sm PJ 32wW9.6j&&Ӵz5;5(JXY3R|K ޹aV1$JhYexA@zn$oykm|V7TCWz; M7~>ңM̐F ύb%Q]::CquΕ1|\%gN`hOZc씓v40ҷUW2+CpC! N"|r{enJR#zolwV훐[WY,y<@ }CQ$.:u. \}e,Rr{Yg\>,ly4,_ Z;?$:}f^<mBmo#rUH^дs?x"ni?C %nيQOpf2*rS\㎌I[?|gɝ+yKbٖ=-Kʗv2\R(>VNްFm `I"8*44t?YTtU-L%<1~30R Lxjx' |;d7F 23%S -tyVV. E&?VnrJr3V;s+.Żn͓pKePSvW 35s]]H:&j}Rk9⤃ļhe`TbyyM0:`g+>u̒E^ `M VL/[d"Sqm-%Q& dg;`]RY]H0'؎X j~y G%~K&Ke &7vK8"A1; [X/Q}~ ShFA1:e}hj6궣pV>wBVcw<'2b+=f`nul2"+pKF ]#lX8$0̕ 9DiÄ7Eف|Z9\ȣ5Ta/O38ðX5^B*ƠkϑraKf% 5`*D?[`3lV H>DH$We4}'Qy}D-hbKtVjF1ZáW/6Aݍh.+`*YF"X$&5!;{ ݜ@Ii41~>ɋhQ54hHS?{MzACe`c"ITpi8qeQɛu0ᐑN گhm`Jf@J[}fh:Ӆ#Z0]A"Kv[-% [2^70n:MbbqĚS-Y>ȺW.4Hi{TW?FTYw f;&窨 dw$㠤چ5J{~EkY* вtQ:Gp@25|,G^@0 xޔ5nOGNzwNot)-a`)~! : !I!rHuJk]$2K~ú1;/ȌG\C &郙\uHOa x8_c&4YWD7`+47>='%ќVb8~`ٷ0f'Ƶ+;.dJv|3d )6ɢ$ >+s17/ٙsS\%ZLu=w9(x44=.Աy> ȿY LA=& f}]dWrAv?[\|0:J`no.] &a3Z R3Ϩ)GWdzɏCׂ\ Z岝]~Kĺ'9ߣt#^Nhbqa,Seo ɞz]QU\bEgH(3Z =>lRLqObmSeJ㞮˴D{u^S 閷; ]5:Y^9 >ya_ļ)m 䂐TMK pixg9ҏJ%2<&I% a϶"~JEkCs|2JWi!]gּMIU3 !B.l0۽nD Hv`:5A]]%bD*{x!e܅6RtxJL>]*Ѹ~.N#q2`iX&ea|f26Ecd:Bw3:lc+"[3?UaA[ѠaL<#:?oW6^&EAI;0$]%u섴mo7# p{ycjʆԉ:,qÂ΍uld MxkW*G0BWJ)/a72X#sOm[[OF@ 3-[;i=WFŲ^į EՌb$Ķy!=5XCG.XRktR0;(-I%,/V1TE˥N$\9:9/nɇja,a*  )DZӻ?qsN勒(rE?ީfnͯ@=E^ +c'~ʀE=ܾ] '*nxM!ǒwZ? ( ^CY7C|jaGG85yzS,qyx2S҃ӈ˦]?)q1o45&IwЗL=k"R{G0"Wpe\&C8l54f$tdG+nOiPsVuv\r}v {` ׬)T{pY${rj#MwGPkpx\c=T꣩lo>ە9븴uAcz<c]mtQ2{qV2Iʕ]Qt%K8a P)DKeexO3fl(kH4DwT* jrnVnwx]} ÙLWdOt>!ԲTp 7gmNY7 Hz2BfCj3^:;A9ꓥF3ho=Mz cL݇$ /S.Q =7PRs=ds>ǾaWY!.ɖᔆ` d&YpKH$"MsC}64hJ0z}+Hy[UV=@hl Q}ZM:2Tثg1BTde=Xgu# <\ RQwAIetj"|ƼWלP}1$IHHį Mp~`cǔ[56; @[2DiƝ5D+D}޲k7׊ fL6DE3 D3ժ9.ΥYxMq]jHz\V\r{Ww_ ϴwM[ny ]7K:l-#ҐSg>ZoEE6aE/ON'<*\V3ou[<sL_޶VvYZʕCTߨv7WVqκDQ)'D*9kvw+Xavu~/ԶD}` zG詪z5S4 ڣ'ܒxkO$,_11t tZ1=%ͻ}K ;@ Sf I5Ik@9kF#d΋a"ӕވ7",ݽ1J`nӐ]ZD|^,g8I"yW/FM{@N>flPi(:ִ"ТcDe~[Tk+rq?}4Q8s,a~ 1]B$qM/,#3Qu'?o ~fǿtFT r $efcm TkĵXMFH(CG(6Qqzs`WuE 8!xCw ?x2V_+fiIq*$sfFLm<]\#Iy -{yh)1OK?pEfhv:;F ŀVφ-uƚs99^Ϩ!6xC;ztv9 ΞakYϧuK(Pۀ8x =efϖ%Qi{ZJO_ϔ;7~46$GLQ(lO/PwHaayvZfLױ>,~},w9(`Y:M$deuE*G,۾Ÿr_+N0`'^ ݆Ζv|#K1"#~)V\aUdKsPBeGSw9ݚkpNZo%X|o2=ڶIxEc32v69TpEdmSk!hv}*,o0a$Bk]0orͳQd^fL̡2FZ8a֋I<3$-V9!FM# R7O]6 }1B W4i f6 u{+*YHĐ9#w Ιu9/ʍ'BT b`Y23 i @}w]v':ϸ}ғdȕ7!3dЖ}7T u .7`N!(Aw2>#8Yg@'Vn~tASK)!eђͥJgUQ<@YK+}AcF~Ta(ڼkD^%\恳:a/IJ,˝gb&NrYj(<$*#MpS+BcQ{b4'dbzq\࢓eOYFpZs.}%j^w <.OrKP;7[Y,ыeyLp_eڠ%7n!.:WQJ@,[?#!.(|v#jB(m84pokvRB,C!maq"$C$Jc-K7XؿmO)d2X! x$?$#%&f^; īC'H=@:G%yiHC]<Ǚv n H.tK@y|ԋ^%q5s!+H},\+ 1L{ᏧT;P$޹r U+OeSBۅK"iSvUFUosOQnM.C[ v%߬"'L>VӆU$q.2fzHuv{|[o7YGKw=S|WP}'C\XONkX G om6s8U\ѣzO3kt$.[L;XY)5sd4.L8܈/~{2 ۸)KF9/^2eSniA xDێҺ^zmQְ, T:JG 8b.9B3#oM|7&_]ë o,pw`CY6㝿p+ P0q;C%& T=`)k_lR5ܚ յ-yQ 5N܏wT%zOIH2 cW{S St 1ȥ $` ߛ!H%y/E6K[, `'Ls6Ϗ} jPU=t9!K'){va}U]sm=t |f{& 8PMw.h~& ]E4n|;e.uBx@M8Փx_0!;F,\RlH̤\ w% GHrm(AO;tf°r*OM Hp5yfv2@ EV<~H͝"Y\uiqҕN|$3M)ZomV,ܑeU2pG[BѪ)mdDe{D{%l#({ N(ojqɌ^-A,_B2DgXxmf/,Rw?ȗUH19F$- Ѳ}@#eѳ\R]q*n|~KK%bNv-b5 -5u(B'#t,p3{a(G3@D*`iV Ϋ{x!v<x::hDr|+@|&9Ӈ2,ئW;G#!+ C"T݈coE3{}1R1u#9l-p-&qy݂<ġQ\yuBT=tS1\ ~{M:q4!6ۗ4-ѱu˼:_4,la rrwNfSTڿ. gKR޲`f~HM]| Mٲ:7' #8P]}T2lXW6齗3A&`–ߕtRzr+稘LJ,Yk%>Zl(J-VshxM j^iاI (ZI wr ̛IrV c,Ɲ]8տFv1\CUTjC'?* bҁ6h wgJR8̏ny4>mCj*#o^l%mKHW Y]mN0= ކIM!*~Yz+BdF.Q)$9-k*vVaU%34feZgZ'\@D AG1s>࠷"cF4z6![YJjj8C U(Y~}*PwOt/:5㪔-M" zw9薼tF54= y wC8f"tHmș=+Hnߵ(,v1Kc(@,]\)wޠDtk3h/,k#TVnLAjqdc~uIU+vN [⌛zqpG{8# .Bl%M/'4nsLqx(8Dhq xT%>L6?SK=DğuWcT稐o%}Jf1^3ƌ{1vtoZ\zʟ0#+Lߺ\CI":Dcs,N'v 9)<u,iǀq,(oR[)qE [r#`/ݖ\S!;J4 4-l13_-)Bsȃ\o}Y?eH_~2Br Ap~|1;ҭhzEV]lR=38iRHLs` U7c  yX=%ܝXL)sO98 &WNBL=%;a ԃ8TrSrTZ!Rdv~ IDXt ]0>m)lP?8/ˑivhyuB @J2Ƌ 9yWTE h,2Fx-ڽ&^ D\ Vad`h ,vѧbrFwRLyqYVUEJTqei'@C%>jߺ5M;#<Ƶy e2 K 'ҙ202gxtOӳ9LxWDLOTHyMVSF>.11h+* D~zyy{*OCôXpvw^+0(v!sTF_ʳgW6A8 04đ^Kƌ|eHHdRV`XnG- i%aţι?ryZ7Ty5+vv=,b/$+qwx_H䆭SP1K8^pNhk?`O"xX|E!Y=%rI!:$p_Ltf2x >9”M/[w,;k>h$|A?{.[m08IdѩsTߒpqZhqiP{5 Zp hN)ݘ̡jE"%[C2jUKvÍ]ڰf&MHC{Zw\eFTZbpr$eQ70ɵ y1}%)~ngn_잋_C/ L>|{(I <5OO@AW_%ۙNKC@̅UCs2A? cԈa3=8JiW;'#Me?E'PZ1pLOEȠއAm 2&ߓ\%` z֖{F)K.!Rt(f1=X<)k|b-l0H?|)Kr/"_m|%snkyG 3bB |j$q`B ȸL;.|E{"eDӷOHHmu53]y\e#F,MβG4 J}}^V)k"'8"uߌѝ[hf+tQ-VE! |(G gA]# RM*vO\w8yYG4ҹ[4)Q|Db#7`&"lԉeLQ;,}m1!(7yPhk<˪;֗krXǀI Hl}]ygK{Z9_ɗj C+бKXxVSf?i Y]8e & g7p&}yIZMHxA\E7Cp=YnLjeC0B@'eQ2*I)\>Ǭ^Y]' E97맲7OdbR WNNN=hň$Ɋ*W8{~ lj:ov`nNl}qel5:$6%zZ>M9N[ͅM]9c{kUp`dLdV^yxV56 "@Z?~y "`+4E]ByC{k2+T jQ;,qѻյp'6VJԟb͸Y^ۯ>1[\y[YJsˋ a+j6U<3!I]sSK悭f Re8IuhùH~ @eEjFgq 5 4%mRg_/pao$5Z9@̞|,Ro$>#{}yU)^q>:r܎s,N`;؉+dUTɖVf )ڂyDirL#r$DO,^uOLQ0>i SQ;ǛGY||&vG52ؘ(Ra!L' B"7r"j^<;=QYD~OK~`CNĺ"孑O]\BjF2/o“qgҳ)T{pΛ`9s.fAK;ǥUZ964 P 9rY:*Gy0/J/?R&m`IZ+)p#Wى,j3nV>`o}˥fvO~Ksڳ'kN1]8[]_qɋ2&Vg*Xƛ}KCv6,ղZ,oά@]Wu^\FERwS`Js47jeޗ"&![S\5L6yLLӟq)# t*'C>罚Xo؆돩ߞʛ6:J.Q4¨lTޣko-֭>FpsdW$ 0X:cv܍?o^XhU6eʩsӋW]hg5?{v Niw 酔y b9B+EC:\91ȿ|'x8?yejq2پZ8<HH7k"t.USb \HEI+?.\,u <*EyG}#܃:)п>T3=%Lh |*b҂jQGǰ617r[0mPYU%(7rA pZm(}N7 J $V`EK7ܷ!,P$9 C(vedvhЇ>5mľ,#H38լ n?5,KyY;VqvDcKE#޶z19{?vqb01etWb07>@B/UiK7Q9b#i1`^TAq6Z֥M /y̔y,w O\TAtkXyԮcu]F5Bmϰ7yҏt{rV$ 3Ԣ-Z_<>A __+S?misa4CZ-+ ?5P19zo ;JXȿ ?|N #h"Cfe0JP1d:_I٘x.b1ae'9yf ZaБV *%-Pdy:i#Q" ;>(zWڜiE= r $o 貰3 +*9nhXRD!MʲB: -,Ă3F<9b8џDDQ^x(JOk(RTx @ ~T<{_`je ;S$?@Č~6x.wZ"S< 0H,} (e%ERvnؠ7+\'u=G0̜JGVJR+U?;pCcD.0R/6T\]?CߡH'HNCnoZUih@v-n'FZM'1y_ys*VF΀ظҨq`u H  ŘB9 $83z>Y+)dPyê4f| *k؂ C^W:]_0~\vٜSH]u:،d"4 E\ n `fkaC\rrx-=p#Џ-=iކ1(@a`0FR:tޘT:D{.3ۤvT$C4(:gPU#Pq5iLQb^xVuL :;3>5x2yiXgvF-T5IzB11dwbgw P}C0F%%TFJa R!Wj4I?XIJ|+|+w)qoF[x$e$_[cmDUAbx+@D2F3 oEh=N d7oBu!TR1drADwX 'NdVRn!/9X(52 &<MjUI28JojOsCϩ6Zգ|=l/+ɿ-l+Z)]D&S-~}¿yc]v%P]Ɠ? 5x]A(oUAΪvXmsÒ-c8`F3^ݐ$WWbF 0?srO_P;  T4 +M^js ew;W(%[`=m`oww}`ԥɓg4vUaKuXB$NҰ_}YTn2*3kg6**r T&6{q}`S]8qhdAOp@a5\:^C*[~חhqmk',[$?o~E@\2|1u$A&% +j谖yO޵@cw~"a"l'vb֬*5Pgt_xࢴRhYh*=&0@E:QVSu.QBВ[x`I B2V>̾^X)ĐiJ ŸR/`W.lD{`>Vz죳 l.L/AG( +bdan4t8DKYBNZMi,):r0G3WTmLI؞U)o u7Up0]&V FdYuh*h-p~6svDˬ~2"A? sΚTZe10b#LjkȾHI3*KᙺY #x0U!+ϏNR5.|g^ͿVZPcͳ@J<**j9gl"+vHI(ZN Jm2!y+k미{uOYʄ`Z._rJ4@ ^2:n|P.D&f "7ῠkjiB -$_vm}wiZZKjk,s3Z4"{[|Dʮ~<ʱ#RBW%V*SEL-(r_УZ%m:~J&S `V*mdXiAkGf9E)N;̻f|BҸ0bsYw+~a4f 3ZGAjZ,v(-ʄ]8ݜl`EGM.@+\[; .ͺU9Z f&m򀟅jPFtdz'ZfUUհ~$f(KC"tI;fx(el.\=Q|:Z0ՄQ 2߻ .*:ä@/g-&o.c%{ ƛjCȷ -~Fkm˯5]5R>>f^,f(M<Ɗ_M)O (["œNb݊98qsZb♯fMn E?8 퐖^:0唟?aNIk5y )HA;ۻ,qb%gdYSٓxoS}K{[l Yu`;` -ov%ʾ|CŲ_Mvh#>*2fB16yQd\ٓI5uwjuXȥڻI9 v-И`u{4^"r{K@ݹ"\XUٯi:^KJ@ZVg` X+v1̝)Үe&tNΟ9yj4\8Q1=OH1o핍}.b\ãsj`#eƴWL$Zh/xҐMDGGiFj3DWdY7kӬ`$X+V/tV}mFZKGGrn6=Dұr'Pk5h&~D~c" DjN^PYXeAU[U.]߸V7i^*J1>P fIgaY|@'Tv}wMID#s7C齟5=*lZ>t@.Ёv,?MP08砉VoZV.sR * ʪyO}7]Z,)CHXv СecG3-HJD`YǝJ_>`u=ùġyb5 ժ1GMwL4OnT0"圣U¿]%ޙ%biR^64@ >Syzu.?h5xpIՇMѱmPHr‡Dn\'߭M0 5PFA١ʑʚ~ tWYЯi'<#y%"d3~| 6FzO4Vf:|7#هGUA>a:,HA. ۆa>@3`ګY44DGI@&8?<;{|R5}D*&!ǷNpǐsNȬ:|MmY}U&R-: Vÿ 0UR(=' z/ͻ 3D~rͶNO-fGi+`1V3X;,Im QӚY)i}@u-I<^}.C!ȸ&;p& Š{ Ĵ<çMvuE ZR]vkfo](بɚ”D^7u򽬤/1U.d]m؝8[]|_?gɘ,}u-<aαB;6 IHd>#MAOkR50f(IE#|w{ͧC2}Χ' -94rx-0HC3O7L?!IhF_Mڱ<*t3 (xr&&iH_TF% EؤlN3B`v@w|?tq2D1. ^?c⊌jIŜDqR\yGtô }:dUtyrce'CyK >nN97d33n%ENr őI6)1Gr[]b]w:u O^N Le9]Z'w6ͫŨtJŕn'Q|8SdB?tx ~o ||Oc)- B|9vwoHK.ջ GKtˡ2 lNf-O m"  90֛aWA.f}Df`/?K8MF`pu}u}Op؎ne*o0UTj9rM) $^`cՈ4D7msT Y ȱ{<*x;zH7Xo2D@ H ^ܜ^3P>l+JKF0B;+$!=yONυAssjE!*#Nj*t u'(`Hɂn*റIx.=QBӒpj,YјԗCogN=ƍa/u<直Ajԑ/3N+L]H Vdyi;<2Z3V%>}9:. Ҁs-eO[ltمoS*^HTG(kj+u—%jW|]?Q˻KBʲ;(Tr obmVSШ?YTCx FpOXؽ!^w#Mit(kC6y&ue9N &kqia~8f=pYܥL Sj^.OU ^u1x/IoCPb#a;G E4t_l)hx QT–X-F"SK/g4$fM56IRXv ˔qx1P}FߠйS尰d9}>`ii1x|9)M^(َH9> pr DMr"ނH5銎m&}NJ$[0yL *5'lS NI^&PNj_ [Y`< Cx/>_Ɛ˜$b;VBoA(2W.#=ߴM xOy^cu3<"tGVTi181!`ў+[u~}Cs#mLȝ;Mޓ{wu|~S zĊ[\n\ %]xBb{#9FDw%d"8'm;#{G N $tDGA9TYy`oqSs!W]^kvUJ[=Jhx,!֌q<WX"kpeӆ?P7J/ +SBU3*żx1Jqm2[|_ e&?J ߣvp*[kCE~OFeOms]QeN})C3wX tVB4~H_$d|tt'i`;ט4WJvV aðv및6R(.;%r:ʡ>uU`L1ǨUc}S  tu* GD3JuXAE 1 UĠP")5lOe3bx*r R=eNtjFŚT=+z?w8`K؂)=xl-E|?=߻?gg9e /VvK+\ԗ rhj\TIi͚!*)gz7S:y](UȯUf,xov:HQ;$& y쯥7Һ0i&bRuǗ="X?g'122P#=aHo mZEȵy Q繩5 @]<**7 Yn ?*N;HbRi5bx$f(k!>DrӒ[YKEѻ O_}4ح5f8\dϖsytxNa6uV"EHr ;bg}3V䃯7KLšQ.xo^ˊ"ag2%X[G64CRSϊb~~ kHL C|2w CKjZ)N=3?+p #VG]dhXBehf}׭fIImʺoS9*;;\_]Ŵ;z(QDUw[%œgZ,@:N[BluVTB?0*JCϷJ=Y뼦 jx8U J`N shmcT*@j7`!4P {{*Q߶uyL7`H]X;QlY֨ ;LSG`ּiE1IKnUo:ͪ"?tInVO=ˀM7{ d?ޘM5v _>#6Ksl(W:qW*#tTzL{d`>d6f#-SK"{;Wk^=PC{%lW ss{8]Z\*_QNR̀CQai[\ ‚/N?M]:hװު`gmyٗm}zt]c -#lfE}HkI׷! DeQJ '+- GB5b sl7v8*7.S?0pؐ%XV糢F7w$>& |NAfaYw F\v@gKYLRm''sI'wd˫ĥCwݯи^B~1$k V!U)!&:eA7SMbMB۽X9tyekv)Z 9:~X~ɵxY Ug" daW}p\jHޢ,o-|㎮q4u}e]vda6 MSX2 y&z~kiA"w-bѥRhRj.I,!޺Uߴ>4^m R}`YxZɳ 7m+JfR6C:R*1\ 2«(j'3rFe<K!0 ǜ?&x-JkϊGY !^|@1DK^|ܺ"32XsqUyHIRbv[mہ-hr. =fʭğβD1pMvL+y&ͯuN(sq2XV2XU$J&yg&O g᥌4fֳY8+ JPR}+"BLǎ23{,c 56U}XWis") \ƅbR,16$gǀ`Ꮃ_`Y!ANun$?!W6 ;7!8w9]HI?*lv7~.[Ӂ ulЏS(L(NN56 |xp3PvJpt!=y7by1MW5FB6ǏRV}pNjS1.ٗ@_2T MW蘲pU{|#ߐ4CWS C+=Jy*#^d +ή]{_RKW\Z'Uh|dR=plJ+NnщEz¿zWo% 8K~rZ f/[ 79+5L@)'S-OC.+G!wÂ#hXC #):ƤՎ\r]e4P'Oa i|Xńhv1uR+WD"7NG8\18V'vJ76[XGK5+eaUW҂S c?o‚nxhJS+[AqԹЉn/cZ<Ij8*ρ#xŸPxnIldzo/I?o ^QRsc VoF-`t0`pϢH7 TC/sJ*"%a ܄ώ6ŤS8]]U1fSim3o;PH)!n™Huǁؤ+r@V(GIG"CQѤuPnQ4=]^6)&x}aֈ(mGy h?q g }XdR94wӻʹJ *^=/(`/شFþ:9-cC* ߼8T `U & Gog&{ aqSE=qh;a7wrvb$=;y}G귱<l*@cdc;9sk0BO0^ Ǜ@/ig\^fEiÚbk<(dXRi C˂ptG;R0\!j5FL@@7Dd_eG} AI۶ eR9b-kqOFtYvkBe8_n5svMb[|DomZk%CSsbw,6p㼜T2#t{67-Yš =*UGwL3k;pZ_\ zp&Bx5@sr?7~!9[FLڹ9 m l+ס!Wȕz;;@ADra@]r#<8P) 552{rC$*w є`Ó8EyI1~ vZ;2.*\$23B1` c+z*QLj d7``ߟLS#a8[pʸ Wx:TJ[$i D -ϝ ~a'\/oYyQ{rZD?뉺f}32 e%*.i`Cȝu1?ӯNs:Ί!lkQb*A e k{X~{}֔ دv)--hP`"͎hkvUUdy!p\z螀~9y:Z(F@Ӷd ץ- /kBQLls6W7SO*ԝO6_4.=(̓ wsQtjS|Fz mVpؔ+Bwo-.(h!dj"-H@*NFKYB:Ҏ$xUY0u$^a \1r yuΌtڱnF'fC&E 6+]4[(UgxXN;[q)uHܬf68rAgȸ)z/,eOI췒Wל[һwzۨs@U2w,<H'@#6ay*_(U#oyd-ٗ~ iC1)Ten^GuY)G%rucBos6H~ )Nr%ob LFnnryOJ?zTk̦R`U^ƢE3~XQBor! h[HL:]" -]UuTHXS'\j%}Y M}dLTT~$s$SmathתvܸI:껨[S?Cq nmg]N*dG5VQ^Pgq.g^ A=WNSωDީt4BS[@.JG%V*bN|*"r]sja η˚}׿BŴg b$T3@CqSap>A1AYJުN2AVS۶/ed'$Ǥ{ZrWɸlLz|D9+ |,^NG96<:z Ҩ9Z: n~K`t@T .tJWXTU ș &y|̽& _zX 937^bP+xͺI2?RnlB&%63`(j-uѵ&[* 2Y6;,C MV:{.BVUWvFRkW/-")=0*U>dDRϫL^beXWicjc_XPkF4OmFp$jĶW5̥ V2L&qHg(X{Ofd Q¯x[[>@9ڞ 5R-$w @@'Q:i>8 ~A|kWWY#mEU`%Ȗ#Uc"!Vh4rp`#G8%}ܮvso&I8rVsp#j_+k֫ ||z b 8`7fOSO /8i+d& 9ۭ%b3)b|CzY\HUcWUv#EvSpnRɩ s~80J<4t/`@osMt jv:C Џ|c8zuʹwHzB9}?{йRtӺr#B^&mtI?s3R߫ς[o&^ߜm.3,`Q{T~il[I@π.EYSC6-jɜb%~61Z_Ax;׍MϷԤr L(dsD!o G! ݎϊ(BuDt7?`k #0f^RN粗tO> sifHk N?:.,Oﳚ"ECт̪rGAU gh&i D5BUop9 ^10^}j9T )+'hȼھp*?`hl!ۑ߈DYRC~#֐j4قꤎ7lS?O[Hp]]jb;{FP{2*}W9fYY֝;TϿb+Dm#`_ q0ϒWu !ݳ=F =HdTA. +/!>QA1RPr&}kMƼ6F ($D_<axG6pvlA iۦ~;,AG5s/=vVIcm=R=&H<`3ϕq+S`a?mRCȽ?2 0 Z= T@B)&`_58 4*j~Wp 7I)8`e6nSjI]K3@2BįZmw˘`ػ!jxǚ:u-݃ . e:5HzAٮ&6U$xnPv7:h,OZcv}vjT9p',db捕`F褊׃z8pQ=noAՊ[MI4S3G^:ӛv0 H stߑsNGRR lw.׼8=~\v2C>th\PKpV Z/~UB`&3ی9O`dqYab;N(; ιǗTZNsPX}YMAI߇cۥtQe忽 V3]4˻u۪EM &c쩏kds,/⬘@~3do.>SZ 'w5Gf$-}vP% Op+Bz KyMQh4 qFyHxGs9x[,f[4A$ (ALKE:[ ~AB'⾥$6" \FDRWՓe)hA+|\~O0.GR秗ohF"@>h} $Y͎SJ[Qqj[&hmOo"V7fNMůǻPc}»_32c}&h MPNV+MlXq%/pLRI'A3RH^r8f8!^i~{ ^|z k]t+Zwl-\7Cw9H4PJ TBL@y֥~*-:GݟU}8&{d@P~dp/#mgV:v\R }QT^ܣaAKq>]$<&dK'3AJH+xٙʟYR;kY[Ik,,kǩRb6 DžE .=cq|cHXS]SjoA,3 ]1W͸zͱ+ z@eωet*DNJKU`ҔU4E= ^!k HxgW7YNZy \z%{x^On>0mc+4 N] ̆ӗ~fOz'qZVzw4gS켦(`[L,zJ+9uXj}" (HbB=gF ?ى.&uN$jZeO-9&p6?r"gYJ2ճOqK8q )Y7 ;XL O`)Zy~ωEM o6Pub~ձ`拕ƽЪ "֍A:ߔmhCӠBc.>LFu?(/n陃җ5ڶSWPE' p,X@+'ePFh%*2lB#aXP"?'a /2ijB6V R;)O6 e0k.nSn'C[2Lg$(S6๸y+~LrYL*ɲяQwHcF|iFDa"[FldRks#OGi{D HHVx<bqxڑ{O}f;dT~Uhh(} Ӡc_ܜ)vzIM m˺α $ ,2pt>eKE\ؾ۟{ <]1fb9C8j Y*dH>JlYNĨqjꄐӺ Id)X*[n 3UpqqJoxJ?GK"?T=%9L ӻ7ktF͠mJ6 1G0MA xHse=X RtA=1±IWz2tMe:q*~M_xEH2KZ?G5]cջ6#'1͇;Ewwiqēѥ'-@3hFЫ?H^ё\&)vrZ:AgAig BŽH SOOG8s4o緕?eD+j& xFfrOH'T|-;|AAvmu#Jث3X ;K-9nuCBǗԋWZ 9{oT)|WdaQ5YW.+l:qb&rGOV|@PrRvF$w:8,5,50'A,.܅wEVMmpJ[}9C 2B3zNE:jIqA&}*( ;$!ОXk去Aշ@8Ȧ)6蓣j;{{5oh㥽<|R;xt!w9X*۔$ /Tnvd;ل)%c@6@/`S c/mXdaYg}hê0:`Lu (ǀ]TvٌZ7P*I%4} /tky’pwud9ۤːaj=%5clTIgDKu$g D"1r SaOU$/ ])_=)W\'u$8a\(J6 h^VKMnwNa&ml31wA\ KS"JSuHfkfÛ&k^/jP󡵆=0kaMy;㐈HYb@O_SVK_snn,߿[03z[ޒX߲3=oL˓X$BDʤ+9Xw;n%iG'B_Џ63K*&{7@A35*3J1S9eQ DڃьcGiF^8q= @-X 14jbC!`pQ8>GC=4[h1#{ɼp J 0v74oH>oZѧQbA}TU>-xc_FZK%_ h p΅0äR ]葴Vb³YG4l)M o@ P͊~~-Kؙ't|"pd{&N=SXn;t"/E.2()Z i@1Jv11!7Y|W:|l!UYfT X<|VyD~Im_>p*h-LȍR>_y\*<5" .}d"Z|b բޑmFfDgɮځ1VE5ROG…le:<4SIWʜ&LΠ}4=8/& el@t`[\3`]O_Mpޤ,n>C52Uxa'XΙp߹]="=w徶n"M_ɨ}gr9R3Fώ^]%@% .+xEДi"IUy._وn.<Ƽ*/m2m3_:JSwe{3kJNldWSi6GezL.|=x?&18.-?9 5N!NGݫ˔FEu5 Cf5)5Jo}V:e`D0@#YYMRd=9R%6'rfV)d+S@aWxX%j 7r>L ebhw\lv/k*z*$rl VZ%@a~K^jhrP<ˀxk8Y?*tzl?1NϿ  X.Ve|$B0 !TTD\ϷR+xV,4o7+YlCL-g$(WS06⡝zXy_ uPz^35&Ea BnX\\nGV `H=Jza|bXË$@L?W:5?thsY#/zri抠NYcM׼=t]@KU=; /҂?"L7h/tQ ʹS#J EgP7S~etv" Z^gGjo%u'jTEGnŤQ(pV ,9  :޸O7]q,4DP4ۼ;HrTGFȿ*ލp+hȃ1FsO3ti~S0^0.9Y97 p 1 r; DH2J-Ѣ3T.ܘ*a03IIJyQvHadT=Y ߂2~a\2gCk60pyXmʹ* )"d:F5yGˁM>{sE!t;",LYtU`"\t lV gH&aLshX8[M)d^p}7ΟA&StLf<&.J$AdUShBO"]{4|'斋ѐ̞H5 :o( 6r<I%|NHO/'ݤaQB!GQ>`#Q$*h dD¿m.2yV8PKk5u duΏe} Egw5|=%5.ҟv |+w"Dgp9SH2tS'ț3A] j7vԶʠA.Q`'#SO[~i4E>ie~#&8&KbtMMT>,* 87c;:1΍%/6T^N2Q|T5 W1֫S=^>AU,j ;jؼiWEH{<R-BϧN5 T꨿Dv}(v8a ?$kNkaA[Vy~N|w7  &Z:~stf*wufO[: F3A4Ґ˔>USVǁG "a`*A-O OTs1'+!_Bp߸/~fWMg()ɸ-[f00dĀGb810E5z} )W}8-4r7(^sOi҅ᐅT3a#X?}rZt*)ڷ9EQj2⼚~YYTv)@Z}@>?8ɵ}!WjȾao/i99*0'7QJ۴ˡb _4ǴrJZ }%7FB?mA9wGBf;퉲  jЙIݵ~vߋBOKM*lhbW OCLkM8#?eQ,v&0 Ov-_r5ʜ}By@c=16گp*0 trd`J~oy;K`t|5SvxOgnq!2/!݊ i2HGXh5" vX4U+-4 9PCԗU{7w60.р8Y/lq U-bsuVANKa6HikWH EL{*Ow큩M?"KXu&c6FY&-r5iENG馲抹SG0ݫ$x6.&P2W bj̃#,NTd.\׻|IA|<=EԿ}_p]p)P;i,,GTNQ-1s8ݎmh0D7X'S_y?Js.(0Ŭ6%rrɴMR7?L3?d6 HJq˯gwa!a S-Im[^E*Qƃ4_\j,GB9IͺS31Eݛǐ[5+M Iv}ˀ/P%%"_Kdlcd׉נ]i06-ϗR{2/|7VCv _)sH-w4>_s#DD`e-0Un7I]3XcbF0fGkǫtq ^f2&R$}ss8x&9޵-tz#Ul4n/''Qb[]RIc@˳j]SQ#+JAtMӾm 1ly܋G(z 3Y׷&Y>6c1:Pi1\a T)ݪUFIo[!jg5qjDW s( ,{ ]) 5 S\ڼ±pzEfo? /}=>  dlcz8RKn]d`G+ռ(z!8lN>21=-V.;WԀW/ }Y6O EVB=N:^N PWf-?i:ۥibӢ(P'h|X"DkX;sgSpͪuZ#Djm&͜^ar)yim%q^Ul KMĀР6Ru>b-důY;zw)~4 1I1YRPo tLG33"!_(7*jyvgGujˠ$RbT݅ Fs%-! zЭ+!)+Ci `ꁚmljJ}[vY9 sG)`Di(*%1|;h/s*6 CI8lm]?e}0Yhdt$$64xq vXR'$$}z y! - m l@$9jl!eF#븳ȅwru`U_}quҩB@XP^=H nO|~ӯzw!0O^M$R3u Vݛ+mn{2¿/{q1$Cg:KtK %=^2Uumf-š?퇅RM[nNN\uk4p$ 3s%=@rvr<-&vJH߬L,67/yKf Ny1[Ncz耪+L`&.p; qQDHaº >,CfkK <4uGT=Շ)2|m͊IYp)/_@՜@DW*N>Vn3kJ>hE+<@U#$%sPʭ%5YxrR?>j^鋈rFuE4QKF'aP`H}+`BX`8GDKi^̃Nb0 wH)dOY/KcUPQc_8+B@Wbn/O`: 9ݡYv>|=r" pvQ:m)d$>q/8 y<J2-@HTV>b i䣵/[oKJhP3 xđFwZtAH>/ݴZPYM OpDd,~P@@YV $ e>Πm f&Vp㯉#pÖU$ 3<{ޑ0wh3e=T% jcLt8jML1YZUf(ϋwKڂ"2?WObXkv..v)mEG }ݐU۰MeΔ6SECf7Κo$᤺ hC̴"{[DŽ6_N k=tTu!=Hr"Kuq~&& +[ /f1˯5¾g A^3$t+SXE˟En@jzfyJs ;GpvᴔJbJ`xq8C![բ,#gG7:llffPj9h}_m"xckF󠆼xQ|aV$HF<#s=M@or^#~ չ63ŸÚ,9‰_2GZGRr9*ݯEȨ-SV; dJ2\fs3Ohix׸+6)}>,Pӑp}%Ea0Jȋih)R`=3 "t1ֿZCd<)'aRfyγg!.nC. FZ1SQ X|q4d<{X$"$xQgYp>MY*`bgs3劀ZPzA&=`/%rJTM[lfɂVW0&ըQn# FNlߪU{RWjAډme . %j<ۂBבA$.*ESJXl,s"EOj Y}nH' ˕WySǔwᎊUŶHi/OE,g CR&.C9p.h5y{ E`N/1 @'ᝯ8/?b[YpӽI3`d:]PӡC%bTNSm7"V\Zk*JvԻU÷ĭV h$q o~T,K)AgV܍rcj5ίPIe AL3ǂ\8|(4$mllcR/ѓ!$=9ZL\1 s%i\$<% T6j~Ƶ'23l*HHTs%>C(IU(f ۦlaX/@'м}0Vs, (A;}Vn UBFH+^LwL2/d^QJ K Dty hːii?a ; k]{#lsX)fp3J)ˉnuץa!a?IPo\d5g+S.!~|l^]k/mg8D l먑SK0'ksT, !Hm "]mt}nӽmĊV4׼t-CXUw |ےcHlܠ%SVlyN!.j*jLi%T? Ѯު4I,- .0}(U+ۏ| Z%>;y~Oh.w.`X`K1Ey33?= ]0ﴏ,׭zjVnQRLNg",H3,SBx>[-w ;2،8hZM\:-gZQ -&(͛X)(mRD$w %r#(>,/%w =He=ژ01WiHU^&7fC%eHʠ3zA-mE%mG@X;-Q/H 2r<㏖IӦO )o^xJI_/>i!RQն|es -3i/ G-zܘq9Lv"j؈ hﱧUks՞F_E,6 q(AݕGg/mr3rmFԊL~bSdVIv&+*E9p#92`Xò .(@edݹl@Jc@uш. et!0Gjm`wK1DKGxGdأ Sm6B"TAa0B~(G+c! !rt4fЮ.9P%(㭎S?L~UwX(fDK60@U,H-( -v8D!xl J3F, ,UYGE.f !sLa+ufLk@3gPZejM֫yZ T6O2DHpʖۉOA_hVa_լHLΟ&`>BEߋ%z HnxĨ7xs gkis(V cI ѶAWoas6Fm~Mü/&#cÛ?am0zaNzNDk;46q䙂㻐*@K4ZlGTFR,alՄdreIgup=Y^Dl !cDk(rқ{O@Y>&Rl5*?XםTnJU\G!Kt;QŽ! ^LwkA>C -< tPVNU~>cx6HHuA>?RNmyDׂ%Jh8=Te,*t{W{Jlh~#&mvg.E(xK)'kr:?il2tM^xܑiYQQV+ڐ94pܣycc]$^&^&0BYwi/jCڽ eK>y V!G[&g. Ez*7eV*z9ēo;58bܰ]'T'rجN,ݫݣқ1dՙH_w3g$!] +ߝw.Ez@DȤZ+VQ?cʕ{3~[=HZVvjY:5{N蕃` wM6 #(dN ¢/ھ8pdUyqfZ MgZ"^/7ʟ3~Wd a NgHgF3[ק6AY9 1`n1CVy/9o!w߇**/;RL#9ݡk:ȣ8ccxoZOʱtikbo5ABQ *Sy+7x-~iK7xֽ/zL _|e'$Q@aϔ߱R]},!udžn'!$#guSMlkeͬwxK*8boTuUNOw*v$ iZmiqg.#XBHWߚϲ'<;X !R/pFD ZvIo\Vύ\%*D:Q Jc%BWyvH%"Zc(Y'\cf;:'1!3/bδ|}k_6c:g&Pȣ#'qI.8*@(uEe(Q*7Z!7xJbPEK{6،t SvzzpB{@/!yF|flY}.F6|C Eb?FcҾ[a{h_V &e3ŖT&!7 OEGf/+D5& Nƶ8P_ \19q0T!^; ު+=x&}sf;i4YAVIo^Wv-c}$OI=l<+`+gigqn._\oxqA?Fy]S}L`> ;`|HO)h`e@ #цN/L`f.a'ͩiB[֗m2}51p]/ /( >V"UK +rum9^r9i_-;$P k* $bRpSMA_~'o/j4 a6( PMu+mࣶhR/%2 p}U|n-lNs5pz g]c]'ahAȉ7$KSX4d8+Ss&AY:ԚNWU 0B… !u_{PʨEZO;RPQg4a۰{Ga6"<5) iFL\hLw"~c?놻Q'-L{kdϥ4eȹ#Ѓ&R o&vanMA"f@u4abրH=5Z$KRUqvF7-lBӔ\mز={/BW9*3VL Қ?i+S5Ԕon K=5~T@jNbTk2T ^U90=sb3ۼw䠱杬LáHirWfAx.#eL`'6{Ն]._NW^5P>]3Oué8wi1tP5jԭvˤq[hVE7B ^ %hʾKh0 o y2IR1*ɘ]`oR%V!eΐ4ÉhRœpL0]S݇vhOdv|&h9`k,؝B؇b8`aELcuGy+big8pȴ{Ez12>9Ʌ/|:\:`ӧ FliJ(m3A㛥ȏs.vsVӷGrV%˰|D+sDV`nT!SW'ynyCP;n'Uy ޳[[XĈGj+YwHre%:2U1Q馿CcZAqT1F9}_NPsK]9(&@0|E,dxӰ#.6^TnqKqtXx&+ !vNZxX 1ŶU34cM5)WbX%p<׬r=}E!$sa]S)^/y櫝 e2 :~{u~ITیnsOHi[L̺{؀sٮu#0,fD9p1vz'L8ބ΃1wZN[輋s(@0+!,+B!Vv/5mňLFkliɜOdƷJhC-t"~g8zJch$+M9u:@#u!>;zϳa♌ד_#J G5dL,5?1'S"}@'N;'a*bh_e6&6;z8% x4  V$.aӞ-ZyZM>abIjaFQλC8Gxt FVBҎt=UQwnODϼ zꑦ7h@PLicJU6{s %I#O6CHq2DïH*s|l7$Ҁn;0ɖVM5(uH6?,K=sm?\bDn.6I") H2p4Cr?exJ%fcnHp, 8^m/ʾyg6@vRezhU^3U>'z'5E \n#([{4K+A[j 5fA?uDP)T*ld@ǀLm:*,1nϚ>=s4VeFnpOe1]uEBM]yF/=vTIf}O6vÊ@#[[uC;/4v0}p?Ix,B)t!?GLsO4"5)ވ<׭sFǻY1zS %{.BָMtWqXG_鴾)TSEAj+T4P@H &o%@[:8O}v  DtsOhT\5J9fANIq - `V{h|׌+F9hA*эy1ҜyڈDdá Ru_ m8b nPK%E>? kl|=h9;phebw#" PmLN"6I#.[4ɥrC\2c hϊI\d=@aSiuݳa<~h\Sf6kt&nN{kt0YkW Nb3_N{NØa]V`mu}^0{hcm{Ѣm^ oBF1cn܇#}(Z7vhip,nP7dUJ,vk@ⓝi^Y`AGƬyʓU~\= EFH{MU:+GSw8`[@d3䀶K&Yr?,v5Ǒvf/+J`L7ȕ+Eg-c m$ _74E~<7#e[\朜)w\{KHL~DEjmѽ X?">t{ $v`~_ӱ͜O*7wŊF_B&k]h\˜K[q l \"DG/;[4Z8NMsp)eaH IG).5U@ Sb䳳 ynHmvlMUe^W P E~8o;<9M)kk3 l&@..4G\M528D3oA, nV&:b9ЦTdc)|cHD Dfʹu:i¯ .<Ӓ`䢎Wt7w% ur%+G1!`ٚ+` e$]G˂\w-<=b6pLI)_M c뜖3x;򺡐o x{*_^/9bb7ɴq N<JegLI`X[$9%`GBrWT$-d-'C.aAj- Z7Y{lxl)1o;f%hv)W45a#z Wo*roz0^XI»D#YJ/mΰLٽWZjsemϢe*^GB>2͛6q;c@r+gAfodS(UmJOױR` :GZ&y" :F{7c[O+r5>{ai_潛6kw;C*^UYhHia%5ƍs&XVۇ3;pՄw[$e_'BͨWw䨜8DXqRCM$WK.[]WcNH;"SMOlCٷNXKe2:.V+iAw{>pevG+0Uu1UXٝJ UޛU;; 'W`T;mh{br#X[zSiq_Yig1):p@ce`Ʊ9W2O=ɪtRZhj"mK5 !Kt,&F}*fQQXJI!mիA P~ @ [abgo[.0'+ŷZeޟd&-~*z3.<[J g Q e_AÝ2pN\cRt'6d$D$sqME.c-HQ5m(σ+f3q6SڑIY5?1P,57וIn䤂O"i'c{9rw)/K!مDg(Ikoڢ&"2hh)JS7멼9_6@RyK.ȆEڭ&GǢ(ȼTiI2#ـIdD/NAD~{&n_46os) &NHaA/a"H"OHM^x8GQ&h)T@vZÈ)RcddZϞe䯏t_YXA1 (Z<(|@nKąz9SLX>IhЅe2Cdx~½ѻr aCpwR _nRMsbջc)LG4 ;4G? ym$BOxHS&a]eFbn2(ۮPRҮuQ+j( S]m?g ',*(&a@9QRI:1P*INbk97^3Fxܝ2\67ˬ7o?Z$*ՍX}-;B?_C {Heq/-b!htٶAf[rqЗ^bj!/M#N()N8L k)$0QLn.(_Uh[OP#~x,_:<{Gumk)%o_7X9{-ʟPgG&0 yU&mFmё$x TpfAغa_#<|~c+. IGy*ڣW$ϸQ4v[Ph\R#!AWeGnvr3Q &[T4/k5xymX'fnpd#63#\%mv/B'HHƳ gwI-00lզjV8lhc)DW4E䑨lX=;`aKox4[bRelM K? X/e5!a (*sykcZh8oPtkQB03Ex#hAsĆ`Ԧr4mnm7,%:/NNK #"C&}͔kӆ]ԣ0 T廊t`U*_@!%sw >MzbW-;yC(>Od)`¹ kױ5@Z-"*ja2!-g Zf,r099Qx16r>o=UO.YTR*hilσ2}b/|p8sc0Y0b݅~1SCPsDܤGpzzrϘmƋB00XӾ]H9tэ}}RAS9n,^ Wrj B̨< o ]8&n|ųtfeڤI-fXHdN?fQr"INsf Q)W0i~H$cr1slO\R@%)u!9v>Al!;/^\ڽ sLNRl.}U Ӊ?'+M. ! /x yIJ|xJrzڶ @d'41Hmaq,I ъ?3Ռj} U1M1,)r>rxQ@YTŔYRI/ 7~𗔻Rz>d[32ViR+<7!$2Ĵw2rrhکr2҅Q7]nQt?JcL6C..fв!lnd[w'B1wN6CO(1Wvԝ"O񳠠J8__=47g| y,<0鑍_S 6MaS>~i9Bw6E9ə_.z@;\e@]VSXڡ5.ކA1<$Mo9U}P^$ */Z!)s& iǀBޢ@bDwHOR;}&NK˱u5| 8GUIn*WeGk%I䘨/4"qɟ RD8. {V'c>91ZkzxmB~6f. 7u\i٘IXjqrH>HS 9 \3+`Gr LřFтajqkԥ ҍȈQ6-&AE#i*e!Vw6X]aN(@ b9b;cM|*(;(WP%Z5W{2! ޺uݑᙗ)RNp6URA3u\ג$>a6AZ>ΪHC8\c("m% Y1'*_$ZF c2(npyګu+&2$_)"D/W5;E|bCT.:ڝ;+>n~(m :< .]{iiK#xa yB7wpXg(LDuo xO|Kw|ZNՇg&W ->a'aSctz;@)lo>&OShOYnt "ҥ7maIR.n|jD^' Fe,~~%%0hyO?vϨ ]X1 W|VɂP6UkD M]K,քP $rO%JTx;.^oRlvgy)<„/@|"e8[ƪ~|atOv`+%2!qqtB5Rg'.*f}V f`آL(Oz sĺSVs5بV6NP5"2Pޢ12 :ovM )lg(cHۋ]weۿ~; TF)rޕ͗_wL!it;s;Aƽ=q}i'UeJ}'ln8mԘꭝo"qm<9DtfBy$t.Vu0I\e׺-KJ`$l}$iiA~ L'߉%vp1GMr t0E$`2bQHY9Nκ71P6\w~JŒ{TtԲfyX~"zUķWrToNMDثj)G{YOg \<}d{&Cw(J%FBT59Q{xyU݃ ;vhK.L ֑ =kh,d#pq|c_ ]y jf>J80x ŕt_㨐ώ_&e2i"*j_WMv؋0bG>'DwՖp `73_\vVdncӕz U!5~!3u`ΰO1JsBx^fs;Y<ƆV SSo"üɏ<8)raYGkIty6]rH0z9޷ .yļCtI-ȝ0B_ `Zy5Ơ2OV6ZUo ؐ5U2N5seǂ+܋>u'jCG˺z)BJ@Ah%`qЏz16eBc5moMunk$̳Pѭޫ >l:̧WH~}[X&CwG[S֝Q/JF3IڏA@LnzZˣR6B넊۾:0Ҟ,%gG{ɟ 0?EzM#3P۳,)RPeu?;ʉr:.z`]N-=G_c ҂3jøY7ꨔ)RfsZ~u]5zjT-HvPI>[q{+ژet2^,oMwRol~Z_"$nIfR?c#/DE ]tU&R?7%o\`xTpHT2JI[S_Hh6tbfLNFItlzb(do@̕jP K3zm6aaYh89% '%,~XH[(\A烖H7v /BC䧬En{Ԧ֣A0ʎsF!z$o/{ft]֡cQ[pHMP^nj /Rd/'Pn5!ۣ©Q|5"o *Luϟ-Zt\g̃~V? 3?}4;Xj[Ҿ6c'3Aj)lޏxC\Ke\:MJ#i_pj64*7E3KȀC$x"&HB"ܣ.$^<ٵ3Mb>0>_r-Y>55M3=XAJYÏ8BV m&3kDz$;b"a1u V5Xk4 s?EDWIm8<Ӽ;]k + ()G8-?2$ZH03{Lb^Q h"PEj9GX_ qK'sdV.1}ʮnmC*8/St6f]V5<`@Qz:xha//kA6Kw`du*?b M]WhKT$|ƚ ~t5hQG4qng㙼.lbd*=^=Tl>WufĮ6Rx {)Ovh@N\<^6w=f91I`AgZ^tQW7\2g.#wA90 nmAȇ4'Kc|764Q.dEyVH] F%HGO"":* | wnF_sU7/DX4o`=*!.6/aJ&;/~FpWkrdv3sUk*A6{ bj-ւVBمU*r.럊 h.\i\/)A 8a;u:3gR),n6|fҘs#}E..}4Sk@"G07 SX`^Ж$]Y&-#b t,W>˽$kSJ))F4zoo~NpxG*j.ၻ<ؘTy'ovMXg(IHlZmtcdzrԝWe1GYc"mأcj2rQqa;Ny.iFiU^9HVLgd\*3oq`+u]$Y ]*$;j RWD+ԘHv|E5W;e!G #]6U=EA ~M]z _7]X1«0': ^,f_̼̜H7aw>d4!¸8|'9({V+ Gs,^[NleEU)wc  nVfU ,C9 0l8faug"qwQ~rsUI;T~S MA ֲզ/ -΍ż-[-s_ բAT ]| ~ .Z^`n wc0tgbqʦ#.KQb}gIh2i+U!Svp.Z%Y @d3Cg-4~+Y6hQN#Xi"[@iX?(|xĩǐ6W0.*0J.cyd/1#;ߨ:,-CFeAQ1blEV'\Տ 1B4-8Sx[Wn0Jג3Yo$|={u_{Z?D3_q+V2&% }4?hyĆ;&eko,5/(KJa(EARٌmF(sʬw_Nbcɯ<6!TwUHH1 n2GFdy)G| ]%IqcPnn^š {sR[&ޘ]vP0 n?dqq}Hkkڹ[y3صtM.273^qnŢz@8TK_ow숿v2,HkihNJKٽ9I%EZ@hPyAs~R2(OxgIGg|E7~lʽ Tє-}0g%iM\c`:T%)b+,nqޜYj0eJ ]T?^9c5n/L/f+).eP]3!d*4 {Fmաe0'j rMXY9|t2ibh@t ^ӊ懱Y޾Cz=vLJ#X3Iߣ(,%$.6@ JXw/mbVky36KEmlmy1)J9 z&[iuWlx+a!+_keck?OMjq Jtj6suMX&4pTʡqgR7mC(K]5?|wohT˿"ɉ :h(60 ֮ J[yk,Y͙I964bHNC]2٣ kڐd\S q"|_-H4c@qKT*a%f&w)W z-'mM.0$A&73[/e Jp'N1:0/|wXip(l{1K6b#М vrx\|C9&1q\_t(ǣτE[ǔ_+mbửGÅ7{V$iFY~6⭆W1*FȴpH8tR^;YrcQGPqDQrj~xGhqvZմODsx`C4Ί:}'lw^3eE$F`K^ '灬G+$dTҪ'1C*/t 1m՛=¡\cHP'7k3W*}KN޿Wr? pR_ј#Gn9\n+YBg͘C5/!caZӜ‚G]Ya%4: aV{F 8.샼LzGZ3oIΚFbׇo;iN;)?}کN qP9sޓ e<1ygs=AmcW0Ι7Kgh>KiT\3NŮAq %1_i]8^BB*KE0Np_50Ts'4-ޮwU!qptKs=z?ZF4*Do{42dBnj.)q PooQL8nyu/Z]{Rs(dJ[g fܥ؁ on1r(B y= l"k:9%LkL TWsz[c@G+Bp5c) Cd4qG!+)8.0Z,L[c2XV4,6i#Ʋ'{$|otuXV#">=-d8` {n /9~w?Jow] Mk5e6騱 a𕜵KYx*\ܷMuIȍ(D&plԶ^NrJD 'W[r䩱Yr8l7vB&ƚ Nx66μݝ٘wŒ\cdY71KxOf/$ DpGAkwcV<ϨwvJ7Q ';y+"p|͟]O!0 lkҮWjl:Jv$H IQ[Zت}zS*V[WDf]NgV+,U-hHw׎w0%k?#q<΋9Wgl75Fݵ_¿k*(B,կ,y@itpzf o CpY V}!5!0~40"_39x auLr?Gc]t-%I)*"B5Z6O l/,2k'6A(Ek'®L.Ɋ+3 ΡDPy[xDQ$H:TSQqՋ֬8GA-G,9~|wA| _/[es7zj7|V(;*`Lw :c=1|YtR*2L%E%3{FZ_6GdNYf(tZNTiI([i#qed,+@$Doy1<Ϝ:vVm<^KDNi^YjE\zėK >-YW p7< ܂KaSHwЊΓjEZs Uƅx*]&a)Y&ԞT-?cP10TR KZI${u()qC[́xKٱ;xfPݺa7\|$tG j{d-eѢ. Z˲~Gk|+m%ĆB>-DxJ`z'ko!sRk"uQykClN`? dy)X`cd0?/()  'f'VۏW곐$S7 41_M{ ^,_l('[<ءZ.F1冂2Es?b^v=izy'<љxطi=[v1%(Ea>EWn̫a p\𧍗U|;+f3 7R| `U"[c}n>rТǫ9HM"-M'bx *ZiNVچ? V7+Gõ&Ddi{dZ6v&Djْ~Tw0AلQﰢ1 ]>}ׄ2|`S *iR=KSsRW\y0V FEb1߮3F1֔1]P/ٺvh+s`Yt^u}S?p~jFaesKx s6H:q}XEt(aU*9h]ga>\ KFúΞd# di?D df>tj3vqkt4d](LJc(YKdUZ‹h]ǀZIXҜ5CфÂ9BDC`u)h@sx*vIVɀ5 ñ}tz 0ӫDxG T#\^.vԛרawλaq_鍐$^)w] )8Xz?%wFd'Vyw8„M tt@sURj ʋt,.a.nGV1GwnL:Z&\b>^\Gqp/& @IFf^acQ;jv {1VuzvsdDynY$YEk|w荥y7h:la i5!Eq5Uźc=T& [QH?KUCxwZf3CVHhLwV֏6<ɥ{5Lc%z)>R\C, 4hX|(ZvgetskR*>bP~4N'*G9kZ kdg˝kGrD|>şUNS}8B4¡'mrj\t\-yjw- 3^: o%bTȞzm񁳬^nD\5-c#vwMVK55;Y)\OT]fz6x˲ kj׮h9u+(A˰̅17Phw*UHQ4X1+_㕛5ۀ楁:;|ˋމe{R+Dl@߈w3ĄSN_W5YMAqsԧ9K?P 'a0ܜ3xM>}Y-Y e-NN"=?d$X?O*!U27Ⱦ+nU-׫N3G_ŎB}yQIl{,!ج= _ʊ=)Ri/utP6hV$cfȟl\ˤ*9U81vM=e*"~yI'5GFn~_bg%u 7p^RzJ/S{% :9t"/ )l!'Ό<Id6 (d ~jˍdNapz.zs;4Q }ʥɩ:_]i쑲#]$UIؾiBWzɝ.s7E,J|_"%Heih!Hh𬇤Ų;N[Prg}a Xq f9D O+PF -W*4!5-4hsp6ϔH-XP(;*?-*X2T׊լ/PU$XF p vYDTcj | R1UĮAwx+[UK..^uB酿u, LV}^L|߯BBL3d8OJN+ghbF>|%}^]ɹe}_Iʐ7[ -d,83} W|h#퓽"I9.G ˽exMJQB {g5k4򏂥]QC9ᣒ;4LJVL_[./Q |@AAFRsWC;orNakMBnaP0I/om%l\Huf!f&XQR?Be:/ o)V}< wWDo%?]Tx!` Qif/f@Uzvy{J ࿆@#8fuW&OWK7 LLO"Q<|'I# țg75!żB''ܩO(0OT_μv^rBY#.eZS'nHb\lh|if[4of"^b%)> ߴ y< Q@V=.2+NA0ՋiNLq.'R.`o8`5Ȩv3:&RhD" ?;CDB^Ԁ@f5)FBtW ޯ] $(XN ]M=XȊt #v7j ~Ց"jC]" Ŏ]AhU:ݦnKU =+1k1nR>st?mZ;rաtT0x a6 pg^mƪUHKe"oCҗyKoXFf$lhIZ~ ] ~ 5EP$9ʦ o%mK_@BX&_~VߨOP6Ĩqs>FM Rd{9+ӴO+(px:.KW{>PZُd[WJ'CE"\2#5W++0sȾ ^oM5Z_T(CW.tQ[t+&@^#WjW:6IQF,w95J7/O eJWS:3"l0\&N*Jgl`Idn5`sG OYqӥ~@CQ9kf񡥸{i~EHz4h)Ր,ݿm f_c)w HJ'I/]Ӣ&s?˴&mz hJM< (ho;o/ژ bBʹ\WdīYq:*i@9X}P:0cc6QfDO/AN'Q7a߷ľSS52}\R["Aw5zAP,y" bN9hHI“B0L^a>/p zyCvim@n8\7lҍ?(INt_1q2n%V;/ ؛m#V YO킯&kZ_݀iD Ru3Ҵ;-MN,%6!T9 ydLz.-4K1Wq}=8ڎ]v]@^m(:C9_6+ZH>5_݌@[ˢ8-c狧ܔ$wEYMEUy*nެ_(=6|#H{J\ OԚ _B3RF,sFbh6pZ lQn{/> 4 Ebxh{rT0k,k'ҕ|'s#6ĆdѨ+ԑa`>>MZ+=xs3b8k?*7gz|sՋXCe}8³j1ˈ*idr n;JLos.ϙBD9}H,iQB8/ޚ&eؙɎ/thC[+LɃ=k#v_O,Fri:CK:DSǎ zknbM8f$n(ݗYDo݊ >Taݼ^ZK*n`DT`..ܧ!n}t5VL]L07ٜ*4܅\ P@BM4~:i&A* GqUSzE* Ҿf?*5zhBcg_\I ҃B@|{5k*" 6_N}TN?) v~HU'P Tːʼ'%<u&s>N@Ų0q$0.hĉ,Щdlسv "7T؟d%*aξmq|J7I79F؄W{XJ&qRX$: wc{8y4O<@:٪>;#I۴H2yyJoYEMX˿iZq79ØKs$f5,B%%"԰ټpshr-)Q\3LeB='1Bva:)ʘ6FP6Tu%19X+v٣>~6X&ԥ.O3!amYDuM>|2W丫8V kFGv)vl~KsE[v*\ǘ߽/5htyQ'󛦣q(cV0v Hw҅~7D0d$: !䵎Ԇ˯:!8p9#4S}ݕqc][GXjoZCQd2BL+±{?uTOjF8䴌a3]L(^f!@Zb3D{ 0/#Tj Qg4W/87Ĝ h>^nMO SOKuE€L;83WXzՊOFk_.L7={E/RzQV5)v#h Vr: 3yP#/.=PTZMErN{W~u&-i8#c8'ʌoA8X,׳7 'oca.1Rhur<Ϥzp0 *F0jUS`75J|:}"I39Ub!ځ^_:dqc߳xN>e2d!y;mZ1|]?sS9xiwv?!jC0 ^7t9>U<0tMr36%o+3lUA0S5{^h01f=~|(r?&M8Q٣J`e4:E:B+9Qbf4&;p 7ޠmA|σ"!䃭/`=qz`5.o\j?4nHRNN3Ŵ1[Az1uYs`[juK3}apۂnܒJ}'N2<@Ofkaq*]50R)&gi:UhRBYdJ 0t&gv*c_ElyKοG钟Υ4cf\wQv` 9[iIۺ8(퍽sww-Ql1el(HQAN R(+4wNBp_Ddv͘o4K5V!ujۡ8b;8`w"[#IL_\# ̡Ģ5Us=r@I' E=M#Om\}fQQ f/$ wa{Ԍx"2q!![B6\F S&?lE{_ƍ3R܄s?3I^w ttOt kYJiXq%W>ђSuQ mn[ʒ'd#n9t9OHŪ-<`Jaȷ;x:9҆1c.~ҿ &V9>_/(`fuE{z3/Fx\6i.[q/fcOr˜ s#UK3Dei1(o#H +3?rM(N`OKae}-c`<% žhR)!mĴeÊ E[ՋIwL> k CmGR0*SDk"%biMU(a#ܣ ]һ7_.bePt.NB䙮Iz#\QD~I FdW$m Fm=#jw-bO#ZPmjp!0`9:VxFVoqeue j;%Mgw%u鳈#^sU;^1ed=L)M-遪s'ٽm[6 &W?iBt(9EGp3ZJK(د2<^8} ,BeőAvcH NH8>IBD )U|F!3 ;۰8 O$RLg] @%xbs YS-`n\ m"[KDn(l`R]ơbx@`7ZU}}c ɨ12Q֜:.x~C}iM&sfY]9Gڲ#lN..`c2UJV, /6k݇L ܬ\zkd8SA&d$T֚f_a8@`I}a ~X~?LH%nXyWӑW"ChƟeЊs_m|$m?zjn|u[rM\j[  ml 1koWS/ tjV䑍FXzD0hn4欇R\, &V3{?B χ/ ëPW"JA-V .s96e mFN]]לJ,Y|T1a[*%:,lAVY+V{դMD LWys PEY0DpH~rIÁc9"}esB%|kedj. )7|pِ9R*܉6tߊp8cU/ l,<-;Z7ԇ25K&Pz }j)v%G{K޺͵.ɿ:b^ ^ jUA Qy>]" U1@,iWj@g+/rФ`0[q*3ǣ0@@x+.&UǠu7@ p;K7)mI^&*n+8m;,Wbl$FD6[/CH2W/" V*<+L,ʽC=r5F@^Rqfh!0ԅFS 2$jҢ sr7*IZ!J[k8bLJ{>h׋a " .^ fz zv1HZug8.1>h&PPMliw%hiTVud<(7+oRJŷkF(qa2=%ۖrmPfHB)*|>3[;-6+bbTWZÃA?Vpt2(NT(ܶSSћBO[샖ǣVB84b0f!/g/SZѺdGpd&],$JzHPx- l) ĕv.!:"L-NE /; Ъ-et3إN_ZrEtmY;E fqHB]HIX;pl p?2D:R,F2KAHYsnK}`!Kz3;YB r _HD n;63gtcIiUBC7hQTD&[ aYhW7R&dTE36q܀Jߢ1w?$^pd87#"Bi9Pca^ B-ⴄ Ywh'8/W9n8klRՂ\r헨 ̷5w!3"jLO %=8:{6[)_ ~j72f? w4| *ek)Pj\a#Nu/(\PBD>6Gak5'+VxV@Ge+Fj9s(RF/|fDoH)ԏCkFJƛ *sQ (=2dtt]jpYvH9Ff i.%3A MȖ@n,ME7b7cC|*;OLtv.yNq `}hH^"As0[6*Ve{fc{6(I[0n:FۀZ`^:bPi&Y|r%'Ziw&V{y<8%Z0Z: $wu7t4 aWi꯶pU6zZPF̛܀B¥;,:2d"u;.s'JHP@`xZw㊲34bYlU"!#-N~ҧH=ފ,t/;8$'Pwvk@rN:eiI~[Dz'zNį!av&ᛣz$.B] ވfPvNƊ/u$?1dv+jY&Y̑qdj1R;nP2LUAv 05ЏB4Ƨ&[$O(n3H9b wkZgu*v?q"*~5bG`9S l+h)8'_VucмEVNqH[- dx lm,d$DhhbvJKRy9i)זƘ̘3dߚB&q^8cpvl vJa{VMj'ŖYBy6v*-Sn)2%ek^-pJB> Zo><(j2e>}uvcq 4a@ߔyTo0fOcPrj<Βȥ6yݏ)1:>BwkYʿ q dIPh|DI(BZAH:GL.|AT+WxFiqhN0>4R,|Yè.0.[Ijuqj0*cvܛ XW5 3HϘƌi2 ^>W- |*Wª a}G1;//ȔnJ;p}ei0Xnz7iOJMMsivC)O60b:r٬#[WQ@\4ŎOr$Y cX}шCV¯+I$Bב& 8mDS7\4G뭟uš !` D+MsMUYSҐ I9.bԌ#`B, e970Q!I 5^&g#.կi63Cq*6 0;b Ir)bÔ$x}L˺}_+3f"ye_#G`)zUڥamw6E }GHjt^7|Z XBMZcYDzñӱ g22b*qi#Vfv&jCc_sBȹa+ 0vlo}"o В}0FC۝#l=>=v݄)\2e!-OB`#[v!&by[8 ɳnјt<*0a㽪K۰X:ž\]&]Ԁcv.vf|L8Z-wlASw,$3(FM|$b 8%)|CNbp-4Sv;Eȫ\^t#ԤELpJ"o p!|j\pÝEz.H'cNIGS1ڞEi&6XKk Kcd11!O>$IDHerz\x17u|p`b͈f]|ى ـ b kK쁵>",d_6v>@4wU`%a[Ƒv40Uqɿȋdcn@Rwz7l?rgUX BGAqXC9PD^f5)TL4Ih B +6sD{@xB h`WrӑF{=ZoqY9I裌o ,ۺm~pDhK BK?bgzS?$Ewr؊+ !OM\y l3ő#RPP|\li* +|ckAm7GU]Sg-éy@:YklFE j$E ~kfj3ym1܎F\O|c|8P2|%kHP Go@~ȑz>{46z,+k-zYt7p|#}?>wnA0'/>ێ%Y%\"{ZFϚ<*,3a;!aKb6&5: p!"tHҌ1u=:'mwu]>܍j+bEi?cSbi2 6JI( ,-fqYhhtz5Xjc*Q.{+Dɴ십 hO{7H8%4&`үItuވVIgtA﷍Z;@_ott/"G-rγ8CC::=W`Hh}Z S9K_!6@U~5ʽhV$QTj<73evҺHmza;1d-}HhRg{w+;e_tq F+@=["}h9)1,{)+eY ˍ5TWC MC8f5{ n|=-Eyٝpr-˸J۴RkSUzVE&Em|5PzNDO2u>O~L^ 5+tM ='=-`D~(w&zAϝAlHiJ3ʚ =:SQ" .+i< !C*)sƣnA60E3 i'/n0%^&oJ>WKӗ6Q}EL[-ǹNOkmF2ݶkEWihaHLe߁wRnsJs(@hiH{vL|؏@12t܉L@aT`vqB>5Vǩ+< O~q&L jr'hFU;a~z[7ś% YpeBGnMg6SҮ:W 0Ѿ;;#3Od'B "J1dj*aJdrB_{mtt,`Iӝ {6Bs~YN2:՛gHbA@DSp~xS/LׂfRm]Ƀ&[&:I` =cK')6dR?Ч|i=%2i[d"i\v5h?n_)aY(tB嵹3 yD8EƃMП!# {R^#3k\2?΍Yo@ʧMIx"|T< R7H[v";fM_w Mzͫ2@ /R-,zQd{(>Rdh6Pa喿ӰyCxJyȲ+GTK'? FK0ZsOnl-k9豦u2sNTDDToi[nfۗFciTCS8!9tpUrT.U N)/{T>H5iWpAA%iڐlJ`U~RsS3¨ ̻l'#5ekO?1"*`j)sݲZj?y-LI|ρĬ N֚HFR!`7fˍZ6q Dea-jdWMEшqH Xc~oJ0Lů7u* 2r2Ev$N61cHB#3$=Cs|``OGs";Aѕ_5FѾ3IE!~DAy5aSf*KJdve`3:۝5Y. 3c>'վJi"iwC") |$?Lr\AR Y)4'FK2NU>Ş` >Y բf kN0ɇPӒ.E= | L6TAM+V995,%ؔCh%Ya? cERCOY륈F_-%?/?3."f;G~ouih޽k:uF!i;d$㻱gzb-\pAn%'kmNH)?zWq(z4)`N Qp٬"~RC9lù4MBvKV6Zg'711P_Z/~_L.҂9BTeD7{.ߊ';bwe\Miwp_jĭ70PDa޵+>[Ft <|N% L/74Wb%92"e fwW/y ojiٴAPVSĔ5b#lch;AydExhkNZ+-┸ǾlfqoghUWT4=!Q͆?tW֌Q̴ڜ= vH֟g$Hz\`5Cھ?0VS俖dhvӡ-RLA:}H艀i&W[Rq11hm7Qpd`aC2RO]E@O ‡Pzs$!VPؠHlԐ5Zy'+q, I\[oM^@3 sQp;h8=.:=(|m:W=RaX{֘/?ƹ5ju&s7!l'y=˜_yUhsO ZIdJ$U"ҹ?^N E͕ET yyfn깷V*9f Lp|↬jzGU')7AD3΅e ?k?FoyzdVT 31}}KۋX;%m2QYnN)MR'[2U;__X\w]f,a@z֕gCsxԪqcMHl[Gqm6#h;PT\)_5i;'~" zuw1D`ۯ J׿T]/g,͟`uc-T\VEO!PPd˄fCM2ղ\-7uTrQ~ޯ'޳ )م=bAFUV|{@jJ+whh ^ NIW!U9sY;@% >~EzPi=%'=,avg+^4^,ˡjd% }+VLPv֪A]-M;l=:LujIU%U)kXU3miя'OHoû?5l`gRlzYz싿0n2Mg2klV=34ؿJ*GB& Ec\Rxϰ .MNû#a5,R Œdb0ľE3XNjޥ#j#;wnNáXIcϒc).% 75OCqϵu>tQaőGJ'C6'-rˁreY=+^v\`(5!kD ͦ@2B Z-<6<5 6 qԢ{Imu/Ժ6"<$߅woHry]$*h8kO֍ZRMNd^`ӺoѬ|iv䘸*=1Iع/6ƫ\F8 _ï23t4 *֑?72ڨHc \Cw@(.Ԁ$0  ao/;/$#K߫O=2Y[A\@]b '8E0!B?b.cPd3ua`—|ޒ'Hq{^^+ky{yac/s3(61Ϥt$n8!]uJ[WM@C5*k1@dmXzӚ U+'pvM]UYPL OGѴ4ߟ}DjUa"g1*c&'zwjqQvZvzX'y0+8ى]P"ɯzOt٫;0EZ2OMozpcfq4˦wj|&+<݊"= Đ`xGb. #Fe,%@&&ebykq㿆S^h݅ůl?=L*V6Ȅ.ϫcuu$Kzpc@g]n M?j{tyۃ0l"-t.Ώ !a&{`-IU+̯KTrfyP$e^Jژ9C:wp@~\7F_Rd.5'hGe7WU0?K&lX(a|XTQ@2:TXD ,ZH2=qcOP^K?*u`"ts_@kdcaΧH/T7֍D$ JHaFm 8.:-ʕ.sXoL ޚY1:#X@'C dɣʞ=yE2yavyMv!e0s`udjn츗aݯZ`<&ۧ%b988qݑ22[{d1ij p? ~)G5AF"OA>ֱṏX[o-Yӝ)ȄX.Ӡ=H+Aϭ+"鹛O{BH#xS+[0gئ_UBv/-* |͓hf#ډggw<kYY"B,oՖےiE?({b.+yP $q~3lrqB3E- %A}9`IcHydjΦ q)CF-눪c੉-Gg:i8p7Ĥ2YZoM{N}\T9C$p%=,6V9gA߲{q4⋫sҟJf8U%w!U4J( ;qeb/6'kg 䜇53^pN|UGǤbpe1z\) j<ֆpPZWf u.,]SOQ;:1Rq!U;˜!EmpgO<4%?PWt-y2?J~/BX!-sƛt&%-cWiRGr^Oni ȧu#v a=6i$Tݘ^j%u5I:LԲ5L@A>Y&qCz*w03ЀjVl90xL#P>tP#" *;$b҅՞AXHS#&g*޾n$_zB9YnN c8_L\e̡iF]Р߂d>oh#/=~\oelA=6^՛1ߐo5]Ķ")lʜ9vnsHI6s_2~F>Yi=l)'>5JUav|Eb7>GA3g3H lT(1^N)ωAy"u&eHPi8uy]2l!UM|5 D#cx4ZJX,lmkP B–U8o1<, WW8d<@?Bw7Q׫NCt-L(ؤE$x -q̡W-bR\%+ءc渧ְ:ť1]իJtgx['#5h_lw2&] "@eǛF] $ȻumBwx*/NޙUTāj̳naDJ#yagt47}s% $TG Vf_Ո7L [ z82T 76zJŖT)|r(yz3ӿڽ’4`TL9u?V Y}s]Sko3&%r@-f{Yʘq*㉄ۦgnaO7;6 B` Uc3ff;+[SG(jkdQ$7v!HrL/;f$YA8k2GsϹϰ^O bF4Dth2Ďuz JK֋(䊙p`0JGAKcUDEnd%B%D@M_g'ĥѻOyW;ΔJ#ܴjvP9xb M.>/Fg4A"3d͗`! őGƊ"p} CtGwTSpSQ%lEm𗽓|xs;uAD Q3[t -,aGЬ0*S׺4oކ >V1;AD}y&HtiFd|V9otoY8V˴JBwĎ _w0TtU=W}~ޡA4% jû &ėc\r^:*]-& vB UXyN$1blheۑH>mrQFg$򞋐r١:S~)ĉ>"e[+=41[ȜV+ć3_qkY^Y$l-<>W45/~ƵsMtOv z󫥕2x;Ƈaco}eI1, ,~m-]JAq 4hI^M`6V+Z6#b%e@owJ3|Lx)džg/X?)Qcy1'k\":uP "Ho7Ѣc鏙k;a=hZgL/pq+W_)ǹ4 5@+[O¹M\Ā4.=P.'KQ&{P5Y7CMv>XyVTzRZd1uA{~VrOR]wx{3ؤA Y'Rqe n$anY`زEIJqMQ>SuXZn3 ǨY T` Cq"`Q%Ɖ)8ցҨ1 k4f%C֙S8b-U ;Z\TY'I>#HKKh8ʹ YmױPQ?FG'e&j␌c(=7gx2mׂ><5m["}*CuIWp=jQS#wO 2FPw19O+ڢ*ǻ+ di["4A2RRAm6CkܩպWZ$M|$6)I@%+DF_ڳ*#"-DuU0O>obkpLkcU*Bk,21VwDK jth$%N^yC'"D O0E+Gq}6,CJD4W?=o,MG0t Ys _}N^J@,,bH؝%=@unQ؋"t#FTRc9a'C(q (gvΗ oj s@^#jGCwRtn'\W䬚R7)!?x 3.3$R#Gj:B)3}7ίktH|o)A'n[g̵v+^V4ZrbnR+Ҟ2X a9+GM4qKQ$" CEefŽtbyn)>`3:b=4#d\I |!u\?ϊ)I]s{݄aڠNSv(;*Մ-R)ͥ.6v6zlZz Ձ$/殊ast M YF{o ]d)ݠa,P7u'>pW4Zg擸ۧ]H _^0{@0QxS?? 51G'vcB?95`Om[=?6@*x_aTsL!=wg'glCg\Aa0Z;l]ğg B.YC]G}ôMY%ʌxHo* N}ٙ^FGjt:g^!@ߠbQ榽b[[ɢ=Š ^+p{3–ugM"P/*xB6ɟŭcT'`%e%IO|*(: 0 *\'VGNcUl5&.[2D54{U&_/hk=GR4TSt(P=8X'V߬JPol*Ò?w.ԛ{w4UYU /ǟN! 8_$RӨ dGC4ƍjܟd.@G7;s-)[%J= OQc78m8Gw.w|>M8MszzLowSdX bm["|wj ⨌ߋo<%~betHlP)ȀfH)CDK?E qJ!2g"f#C $")0er@. /|iWBxHzFe4Ŋv=bZpS㠥^HH}HEZ(04ْvw(H$Hi zgD/xve3TTub2E~(`+4mBSsήm9B?1Ṉ~Tflh0z3i}2+}Qn067 |*HzMrR əisd S[Wvd9Z/b[QpPe6\Ca5A‘Z^UVn1f$J@/AJEnvm {.L:!mSqz55VC`M\,)d9W}G }'.{$r@77C$!?ie&d7\o*iӋ/j6l*XA} dCfj#!훍$W~dYS&?loͯ5 5*儀: ~?fu4lA'`Pa??a FY,cTP.6w%[zr(G,^?T^AM4A2ez5^x$haR⚎eM$(8s\v(HgX:dulσ׻Y%tlEu 7|jRsae]EfBPP8(oN(#V=,ta&9\Җ-G+ܘ1e$6 W|YusF^ yצjJ-%" '!{s` 爉(hW3 Ѧ+it9eTgJ{?nũQ$ngȗrQ$*.(bka-'eDY(k&YAXQp5p*_?v#r@Q撇PG(:@q5/b s3jMxlP/L^ɤ:Uc݌&$ 3 Z"fhNZMrU#yaf[]tdtten&x\pUhW*;Jtle=̵ڗ@Lu9˨g߸@I>z&&'zZgi7g("jap m8l!9dT+s =]i"%z (}`V55w4 +M 5r;QrErx*N"B5fɋp]NnܿЏ)l_B Pwr@q iN"elZFy)ZH6[ *fVKo4^AȣP/n5Y\ᢎI;.؎N.8r2c |gS-+=[N >N?'Z}" ` Q&j҇O:&@5jX~Tz R.oKFUm?qyؕ÷ָ Nյ`ғ# ҩufߣ?-'ArU:倰3_v1 Xj^أO@6Z,٥ G$I\_o?,O>"h}FccتC wW̋,F&g:JF*3R%F$FZCу$4ȁu<~b3QF)طt!Ie){Ls=ą"%Z:ӾZ4==!_I%Z 9NPB2E#D:xiZ^Hl0i/ok(]O5MԬ d5M"GI^N-)S4қ Ba # fy6$y<*(+6:Ђ0o7ե;qqW4/`Ǖv2T\[ Tr4lƠܢr D1˄^sKhUDRcR{;<-F*L>'Nw 7!)Teioݛ [a-0tMጆ`"ri['n#]X4ͯ*)Mbsީ䨻3 ozq'S8KM̥CibO8Q  `W&2מ!$J&'O'< U-Y5eZ\#*}%)Oپภ8*t@#BTxqiH(:B:қa#W-5D@|7Rh'odp,E3"l='8ڔ~|*xa5s$FMް7aq{!Y\h)ZOZ=xBصTzBhaoW Jhky c!ϏN;('SJ"YF?-2usFP"So%84w0xuE42VH.Xp̬}stϛJsڄyk gy qy:Y 6P)H&8bUYLN<4X&d9ޮ{ãNe$@NWHMF;ӧ^3?kT!3$ZI]Th9jmj,yPntqk<^2NA7D "}o|ymQaVm4:;%7ッVо7QpfA^QZQ`gRt-| &9RF, ggyaTui qF}^6;^F \׾d5@[ ĉVWs/u! Axj( fFg5,O5ɴapnH-XpjMi {YAzƋV$5׊25 lM*>A$]  +ȰEo6^ ( S5DW)nC3uǘ9Tu ~&rSۑtV;4L GV+sAx1S%v8H=vN+qElWЄi2tPK\>BOfK\5*hH3R^r5&GSHR:ח;toc_ǫߎ_*$EoILd+u4=F+^;bűeXGfzi;Y7čvS9ci/jbL.ŏ]ކS@TqsA2q,pyq#dzܹ0M::Ett[6v_fRhMA ഴvnփ:n %ȧ_Ř>kBjPEսtn3^65L$bY]>ޙPb?݊n>xͲ8R $2]\jp@^72Ta/$b +*9lUCND /ѨpN)VpP]'L˫iuDܖH=9=boCPRG#Md0R s@U YOK7exI4OݻePq{mX b!-l.m&qgׇm "{ `YqŮOj)md߻Bz_V ,-?z_$˸5& ?7Z ;}y> +5T )N@nf5|u))cXySB5ܴ_1[.o=<4R~%[Sr,E=#ʔ.ކMzȭ;tkTKsA#;<&FBTL1< GR,- DcvHMoUShEDk:M_l\&z̘I ѐ&FqzKy^{Ϛ_%Afnu8tNK '29!ˆREXg$hwZ7SrmCqw]' BMVɄҍsdpWN^KģbdK1S:;<}$jĎ=Yբuʀ c&duO9. GV^aA/,J=W|i@X۴e'g+ƻ 85埆o$(_*T;>T+s8|{Ss\³hc}V^ODj鐨 t;BHmA%8~ᮺֆN0N%E{ ?SWڲ' nee!0B Jࡩc=9eK[*9.~Zq/HR3f%ٌSL9P1^\&eY͒n4~ ৒ROT5]%L7ebRP逥"Ut\t~)սyh3\Jf-wψMl &it@B}lq"CC`Jp3Z)T$V~8XPJ#%1ZUumP<68}P%@,U M*aZׅ/O*!@n3V d, G>ծf0*, &r~/=x7&ʏktٝ_{@lsUMvOb\3,BUئ<)k)+,՜FU{G{uv}) Ñ2Q9;ꅖ+FzQ{cb[;GFdiBKwzܙ0%Ι3.E9NYNo,>(0, Vu׈!gRm6% =h扣c&֦3{ȿd D]a@~$#REiS]W uߒK"1; #ڣ]|+0Dh@9HOxocI4q#"Af{7"/lM +}&/h-oϐ @k~op/M#NePNW24Ptf]!$wq&V?oc%T+Dg ^T4x q@P2d~3u"-WjrbfG5,<@j)+_ =?hmN#hMXU[뒇}sظi_J&%&>OoiS|{xfߥb{Qq%*E N5+;IU[$Y& Rq'#jU_TW3J^_Uw 5d|pLXp r|[W1dɻfÒTF~)A_l](Ӥɼk^ǬyQgHXqq5aDC"db+d:W$ѨY*8eۿsPO܃򉝽Pb|<>ZQ@bvjxCVV*ZMՅW$IƕKRO?*.o&fT\>;+ڧ&SZ)[ЄM'@A9v=I,fqRعaş.!_h{#]z<ݫˆɗ?I3m;/U m1z>LN+Yuǂ]i4ٚ()_n IoGYG' )2^"\%Ƿy`UAd2^O5Sh@v?SJ9AnՐP`:ڷ#֡ںk \!/lc (G:יъ2пY2Z?[1:\FH_Aԗa/X^k+7o)8(gXRc/^APQs,}c#mV:ةH4Mf0hk:BM6Z9=?@w mS%a+m{} J^D<"wp=/ 5 $)IPB̈Kݙcݑ0kF_} \[d`Qj< Xx;@p4@sI<vZxˮpNW4}zv5:fK}DJQ5N\yh~ga=߱rTWG>V~-Fwڜগ泥 ϐj}E zul.uq#B-up$8Pɷs?FkL B`JR4MY͙ blv8ILg̠[-gHn=G\h%"3]3{sZp ϲ[gP,>5?`XxhD!HT5qoso[tL@B{]jN6TҰ!A]SIEEA61>RnQ'|tv$P1Eߐy9bKh xPL. ,BDk7V)}Yo@&\5ErPYHf-jP?))(h&Yӄrtsg7kt3f<_Zb.^/ZEB:gFEŁ9Gv\ͣ+\sM&]]njL͑oR SKt@uaƽP9ɧ3Jx msiΚ-'u3cOK"rypr*an>aֽn\HҟSAN%+& AMJv:wfru<ϚުO|]xN`LM@T~^z,W7e<J!@݀)lA]3 8g%Z=ü!S$J"J)rQl8+ÊRn$^M[2(HA3EcgkF񗩥b~^m'K'*cvdrT:& |.CփE\-$tp<*EBHve/ {uLo=Ukd~TLC/0ӝN'; 1)n}[6qaޱ-Jt3ͤQJDRe&[HOw,Xmjz8Cq T?q4|?pK[/-@Z0/ʂc?wRtD%PZc" Ş۪wʞ }.lJDɻϫy uC9D%=S')O=L);a{j&zԀu̼0=zco6QcԄE6+!qx_QKR(x4GxcDYʝĕC+Q$L.H yy\ ! a+<'ryՊv3S8__īRQ`NIlV-f:"{E᛭O#?QM$/|ݗ>wD+93gHVhY-`:yKt]冷phcC3~s*dOߚM/d\ xR,P]DzU7Gt5OhV~%WS =8bTW3iap s)SiP [E0 ^*^ ZJOdbExIEMI^b={_ڨ]  `h[SKT@I|%1GNܽV *6!W|ǼUV۩$ųQ$Z'&3N& y0Gͭڼ'_g;^9&~z$1!0pduW<ė= Tc%ibk%=ޏV6z+$e$_У5~A5o0 ,sA/7†^ £ HGC%'7^rp x<F1J\g`Oo  /Y: drPS"k>PPLH&Iw+D."M^@ᡞ&X -2ȼQgM,fSTL4c(m(\,%>$njָ; hK=rOb~)}Lv4yTPp qwm.?{FHPnyb93 lWB;X (T{ 1Cfx7DXuܰ D?Q<)h)1$&raDn}R!N(RM8l Jw2c UANA`i\f1yV2 "S'VXJJ ι!l8(B@K۳Ju"8ÛY?jY \扫#㸯ȹ<-ѡh0xf,%0. xTmbv$S=n ^q'Q:ueQ=q+Pu~TVf|@u=Al!5mPg8 ҆8.GߍzEa-4 ?pKf?!`C )0?Ыbb>`_,jx3G4*e:kJgMbbO#x?ףei&M!IPg _Jc.W_6-0/!=yD" 'wN߱'?n;iCw\ kȨ\'1;c>],֖V-[MyGtȾ*"p +[Od˸Y+p>e` gIFB "TŚ1>_q^{of ˡl^1uP:*z_CY/ 8ٿEmL JS8:bDY\T&̰|0+iʣid'P⍭a+AfMP"5djH2d"f QDhվ()(d$N m̖/VwUV`"/(X(ؖsKT4 \_]uz7%PNk :p~TKTWj6ݷcn_sbCtyP!0Ͻ#d^?"ls`K qkd"#d,TB6y)6TZ/1g7-Mqwtu&=lZ yf#6/(O\r%F/:(t/IHUOVna蔁P{8쁙B:FY=spy/I8j:woeP#Lii+/8+v|wkH֞eJS|bTސQ `Z<Sdܿ|yZ3 ilbgvfU>]qڡc)u]2@ƀ/Q*,0f--wĩ81O:u)gO]zQ WcLڢuZZL<*(Xq5w6yӒgG\s#f:&%mYXbM3Q#I,gvi2@'nWX­E?أ:@'7gZKFNC `-#I:q|=5#zo;V?r+,oAS?#q2ڬrDe /le4R ċfsMqWLkw(t8P|?[Ұxb$r-Ǟ!ϲLY[[Zru,<&!;Y1^%JwZ S)$ÝmEɳ[Ɓ5 7o޿QPSƩN*kSGu= OքGfR > ߦ +4a7Q'! ŝ:#QEڼÜs{6Z7ϑo)XI >0hEXA'_mc5AJIt, \Voz!?Z)<}.&Z:i"7I1AY)bϣ _&_3xCh~1Xb2#LŒ<݅2S%c)7' AUtJr^V +r9u>WkFT,?Qct:xHaXུ7[n]d>E94'Xd@Ij۔<+2!P;TPz =>Y5oDգEf&*L@W E"];ZCB;W Ghy.M"׏= *xy 8.j Np.k3ȸ1/Aq4;?@)P ]'pd$,)aE[zڕUojvr ?Y,jd`M'Bh@]Q3%[QCøB͗ wMyo;aLPe_X a-VX# MyɶzxvC$ (m@p&jDzRm qXtI9]Crx3]s7>-ũ!@\ﵧTH$:;d7X#P㬘f+x&YI%lW? L&O_<{*,bŴ~/WT.[vlCv3[?Ln#.̸ 1.t 45NK֙E+4͊?UB~`Ϡ`?݀\ "Ut,K!J׬@HBIk*.~r0.ݴ4G[\c3|U$>3q˚̞A.?:Futj8kx3t|_N94`y>f-D -^1ȳZ" =?D3?qn2ߴLƋDZf+t'\&U7ezx,#Y5Yᾮ8ؽe÷;.83! {T2ki3 kp;`<³ԭ9s֡ݣP/-I'{Y0ydR _jDPz#SfbS>ԻA5 -AIOYl;g8>xvыJ$44oE]ہ_gPkq>sBWbXO,fJsĿ&苩Ƅ+{QJfi/`{}ү-ӧWCc9AU` ҹޅncan>gr_'p/#gQ87Y~~[KHvH]bjza//<0VQ1 >x"| Y<2Hvu(?)c~ >79{;>OIJF+6kY0L(΅r|=7f#xθ7j(A+ަC]ؘ0kO;J.EmXc aGIqwTd_)o9M 4Ƀǹ'㹯w=D{Zl3jXwNl,HA։٣椳2^ 1hG3ATsqA H 1ܗMŋxsCm!`kvMHm{(׉Gmv@G do:'׽t22_o t!"3Z!8eH7>Kg͓//U_jm Wcv lZf KuU>|0Nނݷ,> ̎f|hSwR[nꤱY=wbL&E՛өm8-ɄĆ 1%{9 ӴavcPQ(oS;`y>Js*^"⿙^`<2 <\a~SfZ=AS. W]=9)'pgK{`c"-,yz*}%ztr;˞aH^x@b& K`/擡n[$%,pRR8 96M](N">\B9#ZAo\ $ ӕ+I驥H2Tn ƚhÇKu]j xZ\X@ x mI' e %fNWq!DG1WF&|WH&GڳA^Bdjv3CLymЏMăz,ȟP#՛+ڗ:ȠsOW:yEܣMl+Oc 9oB˂)J)L:d7YBJ.fЃ(# (nlur $\rOU`]|o"Dkb- w*[g~oMMy8=v /L|S؟:c}%WZ~ y.)9ӠRͮ%{FoAAC 7$)PDε!=ۡ8 &rZyÊ|(:՚WܲQ,-0M9|tr[ЩafCޞ3&(M=0iv< ~xa8F7n1٦)ǞMAx&@{)mmna*5\u xkPƁM=Sh% KP m=;E+9*#!-b^RFxx ,"]m$T۸eHAoz@niHMj~* gG j6?9DU^Ml["Fƥ[ < {saS -ўbӎhҙӭ)Jv_^!7',ӸGb;{>@%"h}d'MXP|ɇ=م8n[:-߫Cd w8 ,w6²jQQ/X9o TU!̎ IDV3/8d h9H5pyU&k-##Qo O$?Z݃,u_qK.ߟf<}BTbDdVZRUE~,ܒ'21%3qwbV?njH` 7 W}kJ~35p%-vʷ( FSsg 5pJRDZqe=Q“;ӧ>|mMR6Z' D1?ߜF9{5d9Sx埪Dy7IDk1kMxXBfs̎ޱdܷ'wȎ:h {IA^VB2o|j%e W+~dI#ΦPr [y;@"[%o*u {u8(Kގ.r[GT6Һ8ePO Gto- Y|i_ʧ$ k{$tu˔$ Cخԣ(╭N=l)L"0;mCf IQ̔ Y|2$Pȴ}TSץus quC.X]KQ_zB5hpj'D5FaqUqdΡ0N@`]YBHͮL{91Q.J^2uheg/ò4ib{:"ROWpa7XЩ 겉c ,:&3^ ~O^hƵܸA2_<` >q7hrQ UTހxEG?eC{RZaƠZJHl98h_'`cdQÇek~s_Y?m"h}YDNYge'/u;B9uL%]dзpY6u1[Se,czT719F!49Ր0jS41>N҇hL+֔ RM2H3c9"-MR jjMOkG9u[CJYӨ_ͺ=+o%X#O4ӣhP1a* Xwb5dr1`dtqb"'2#׮6xP֍QMOr,Jhl6ɖk!AAc!p'I6v)$o   DU;:Z65QYfkgflCp#@#]>Q&nq°21I%P>=^tSDT!PwpVX[fIzгl-ZzSb;\Se4 \桹O;pT%Sv0#}PguIM./ K\liJṛVme<2, 3T:F? [W}")^\pՋg;a}ք֒3}lJwҀvQɊ!ѐKzkG;Cs'uw; WVyuWh;&Rq—u Óƒ?c#c <Rb8)_=;*ƻ(T<+o`E WC(a8YMMrM.F0)1pڐuy3ܴʘ7 &tEZg(uuDwi/m\qkVvW_^{ }`y%@ʈ#Z^ A?.pH5tW\xqBO}A}et% 2IŦMY^hT >]ٰm"{ҕ5.F8v8=9E;XxlŋY/Ud7,>ACvKk5djJUw܁UDPw/PekT:%Yg.Tjq-k\gh-3`8Օt4`Ї̙K87X1)sIMG A.ύw(ǖ^ݖb4 2ìԠȪ`_;w1 !9 VvJOe ZHM61ndc\@^<%RMs!ڈp+, wm@e\ڕ0klu-д~&8 SIX} .P 1R~b oA>$r=Sj]ҰiLly)Iؐ+٢/ Y#Ч#)~Zc:@Ew;ZJ?;?ϲcC۽4'YD! 8# qb@7ZOJ w}o.iez[<29@hagSņgE! ZA]-y)q10:s*R~xnЕctr$=x¥̠SԞpX'TT8 Uo|,dULطmn*1cU N0|hCfHeI0rίZ2C6:s&IrE]DA8 g%ju/@Pnӷ)hxmhU8Hb^}MIr`aCWIDvhMYܓ ؀TREXwV &+E }gzh0c"rt4ۤYr1uSF) ?=WD>Jm[;\hNh#ӊj[+!%w͘ BXrӄ uI.;0qF,o1Sl>Q,K^jU͑ p9ש[Nε26=?g 3%q[%T8o>|LͲzz@Lz.{p׶izQ{䓮* g^b {:9_d_\pCc('ȇ8b97iTW Pe6%x ,m@xhAAC=Դf95GpZ!U^TIu3H*7[GHHClux]V ea)L)3Sa{crurljќ!=.27#l "1?}Ğ]zL?yHA1tOqCJ_J[z'r/#q?s C$ Dkh鵔{-4|/DeIItޕ&x= @L%0|da::М(gqk*IфLbi$݋ 0 _Vzb&*UlLNQx X  ̛>B~#."2h?١{GV^hyA = 3RdUBh^1"c\L ꜿ52=9Z"VB}2utYBH6^*ڬZ7IQ|yWg8%4{O䃑pڰfѐ38qP6S{s*\f~{ ɕB[_;3R'x2 2 =32yB'a:5㎟VY(00X#mFhx( ?D@X2=h_ڌTT% Sm"R:`\wػ؋9#;4U tVt5~[*`έa_L̃8Q7|t=6]žjµ{Qz,[,ܙo~wa 6޵`LV3&ؙ51(b=D{X iݡrTORV%0 _+f~y=H'[ַX/9j{xl7Ʊx7~c{9!c68Qxr_ұ׽Rj77E[ωh-9+ 0b+R=QLa^ wKQ̂ZrG!GЌH&M U.JzxM,E~$ DhmQ8:?.~ΫMdt} &rɬ KhĵAN$5z=_fޗ\5zT^^L*hyP muHa?lvs 7́GH;8;"x憜h23P1…t.0|zt<'3wx&[` _buG"fF/F „fAtYOZ@r}}M>mw ݛoDSX +3EY8/49(Y lZtD-ձX*>'sp6xGk<4&CFo:E,VM~12ӿx~0(/{'aEMV |ZB\Xk9W8%MifLqs- ()JA \J$ࠊa4esOsQhdoPi}8|R1b‚|-&_y"T=)jR x@tUfes~wcOB?rۤx˵um/ L,E>sq3Xqha@ߕdfmŧX/gۧbq9"jS @͍ށL U "P C[ˡ?DzXcHʮ?^H ڈsu V\lUbkS!ʹ>aiV/7oh1 ve;ƠT`,9Z KRI߶W(`tNhvpʹz a3g?Ǚ6Ͳwx5Θ;:)hLb)룲P,i{'~aɇBBG07M恢 Y.*9в.jb$8vfN$c':PT5aP!E=X6E<PpMÐtM,l脮ș3NbWXfu{Hn%} /|^֬ 4l㬧1ApsN} Ko,7S+XuD׆ޛ%A4'"LI`Ü|4QnK@`{;sͲ3v{<`$'7DmAy+ i3:1`4@!'bWz4 &]Ï 񋅄}S0L/8l,KR(0CPGa$A7V= |}Ntl ,,lY)T"OY~A4* 6}r ytJPɣ_[rh~ X\ZF~h#O/(~2 c|18!Mo\x`/Ѻ-hV jȧ`z{l @t ?=e[~> 71~# o>֙;0E!l 1015GZ[irX\Wu&*a^!8QHk5Yaq((4Pҧ42<6TK#BpBV(BgRJiAڠSw1KZ*[M}Fӳ֨N"$qJ.1_Þ wS ' 6dVZ U'fo=mE.rp@ҫ&/|#(J}cDna?zx@|yㄜ&Lڃ]ew 'bҏ|0X+6*WjrBA4^cŇʗCgD׵/z-gY$}jJ{SDBQAړ/j&gKJ/)Dg%,_=)$r%spt5K&p>S@ 9R oF% 죴&S c$_1I(ndPd܏`Ju74D4̹=VH Z,>Tg5b:&C+,|Ճ/G޶qk;u::~|v,Xt4h(N[;;|B <1>軵k2@3hqliK|5N1~R)&P Bӝ:dhhS8l[j$ڕǘU΍uĵoSiI6{ HI6HO{-y&D!dȘ4,/K|12'33 Sp+9vؗY-/fߗ=J8ӆJ'&k"'757-/2Ls9D`hWkTy_3hKa^{TRfNhD[9A@6؛V{-10Z^|xar3_ɢԉF>^>0hi}&֐,/)/I.>~E'@B4$L_jl*^!0\a*‘bmKfiȋe|)R؉-F&a}`V10$yq\d׀*.`Ŀ5桷qٮ6#f6\ 1;7|wxݎ6 $HPOgEQMҮRE2S_7>|rCscDd{/pc R+- H VYt-ԯfD/c532 '3ir%vsXYP7fh<>3ėd#Nh# My96\oL 1LUo23px-Γg۴WnFB1 32\#. %jiS†,nya/;\PTģѝ&jVU;sǸNf2m N 2a</$e1 R$1-8n Yp}mAUO)˞Y-rU"@QS ST+=C˱">a2Sn]F6sU!,1ױ$'x{ aN"1tc=kZFptK&@Qé|Av 8azɦ2l%dA \R<$I s(.,{p["vYZ4 H!:$9S SZ:HȮbmϹ^y!ĺL}@3XS )Uo!$*9Ļrgq҃T9e.7~㋹Jn׾sutRH;яXP_}UqT:Cޚ ?hb™U-zrR%P^* L.d1,@FvLj~ C\ Z'&H? u *uʞcBʚ,x'(TZIp.9[Bҗ -kj qȞmb|K^V6x :4մ/IcS9k!MUI78u @ɻe}De{] J{!<Wd.%%(V:7-ff#u&R6&ه&Ͼ3XT|H)3?,'{t_.=Գ:~9J.ƒ!{ S-Ld~#2˴3va.1bÿ"VX+qDjg ŕS K"ٛP= [wN؜f%9W2tߛLNhRp W1C T3= lͯ`:=rC2E,y߹ߞu0 Uֈ`p;) }_gjԿy/vP&^0e ٦Ƭ1k+7c3";űc"BI Ab}\!`c۹f{xw/2-T!څI 0e=/>6oqq&ƵMsMI$\7+[DEB>$ ?)vT F++7e*jiao~A; Wk+c*lϳ;w 6U/F(=rKXίyDAEez}K1_ٔgo=3clou Ob`ck-6?ʓ(sދS؈NekTZ$bFo6 30bCo5}_-8-RNmC XQԏbI>+)q)[ha7'Ax:T GU5.0h!YdL`4d1"fD V`~\m v?/gLi xzT|2qI\d󵝷JwۮWv74H=ØO%bJa*xe)S[1HP}oU p"]=jbc֌e&O&SEܕB2wF-J&fdT#4Az`Jk|r1׷(ұs+}[)ɲ4Fc%Z4;܋Sb ֈ@!~lsD[BM }d QHY9ؠAH<^ h;:Ӫ*H:9%K]tH!#1!"c㭂~I5!<'S5̲GޛUJάJ@'"<͡*XŸI.{tyD[dW:gN#?cY蜿zf$wӅ C,,o-˿H!2ڦzſ}Y>3'ž+Ȫ_돴9<5UELS10`h[;6q-IF~oed"JB|eCUE$YU%#xV'clQY֋g!zD Иhb3ek>6F۾h_ǧV( ,|l9qf*UF{uVDhVlϷLmX-ohe1"71qͺ2vbjp? }yRn`d7c>0XDZz'D:Q"w~dT#s4ҌQ2IQKAH {+k&o2MyyB)U :k$b2`ߛxϬ^q67M{XE1;cq=s[ h$! hBF$6T֓m?|F*! 3rLeEAJ^{ijpQç 8WJa$tDkb%!N>mRoҴCGwXr'rQ*(I;o@T%0YVAʹV:Vb5ƃVuZN]?C)1>C93jV`9!HEelz 3ϼh*î~ngDc}yL&nߜY@p;YVtIzH 3.1ГX2!W1 GӍwifQ ׅ&Mݿ{-W9勣1$_rIi4c@`gF&1Tz7 6s_q@ƕPF?MRVOXAg U+F˃b۽ B:_͠aY` 0½V"M5XAN' ިPlie%H2Yȗ@c&biRV=Aߚ}1ʄF,!PSWJSUYSkPMo7XVA93e \؞iw#@[a+b_-AQo l0%h:|5[5$Hs]!9}Vs$?"KW(-Dd\2 =ZαWfm'QAvl-c%`!Gͺwҹ*fX9pq>=nㅆ)~"2^gl>8'C(Ê^uC|D%#E?,aC~Δv0o[YBjtr|O6,fW7 Ϲ >Ez'LoE={ 3fi6CO2 2'eGIV̒Y ݭ QJwxvOUWrocϾp&S&=t/{G#1?W D?E:ul_(x`mhcc*>2 y\NL#Й΂HYz052ˈrWGGTw4BtFrJ`{gQGiyinw:ygS' ddEw1~#$hGs3H.Ê^u2W>5'wG{|K'csƷ3֌ -;NϮb%TtYS)6UV]jiݴܱ|eSo,k2fCNzb3&S)5p3O~=`Xԃ!Qؿzzgt=њA.~H *sbHbQ/efXѯ%Uh_V{>S#-)_7ڀ*<3z$ < J㿣E2dp8"agҦ֞Ϩ/;)TCLU]EƚBaNs12(>5 ['ĒBծ>J]HE뫫(=ݘ_"D=~eЏe EOPYo4ƔbtnN$'MP-Bl6A$9j8@˰w/f A}.GG#GS([hP5H Cfx˺"2Ew*rcGHMiZs%wۼ :Fyazm\F1hFØ$pF~*ݭOʗSWuf[ g"K~>]2\4Dk/]!۽`riY8);*FHkr.`au`ٗQ1r*Kuo$ؕqlRr|pn{w|0콘zYsxh$%Qb)d mp4G!?amCkMCQ$5)}Cf!v2~6A }5 DU5-js D>LyxNJQ$TvL nN J)Ԧc65${,TǬgg@txW֐&QLO4+nWMEK!Nu>TZ0 *#[ʫcލ&`<+خx>{'odƿE1IndJ"fGԐ)!NkM>|1'[\)XxY1f7K>&`=1#ֿ~vC\cmکOOh_wTf,nWh^b:'$6>c;202%G$֎༣OO?_AC,#X+W$TLEMJS[?,sK##>~zmNw=G$>|RKοmUi]uHvsޱG-J#TA:gPBEo, ߚ`ٗ)%6P i .>g_'ommkBT+=!J :*}HV엔FVA޲D5(ԛ_"y@ f m0ac?0 t Ht?a^ (4?pq]^ҹ[WEU3L Հnd]XiG֩%t^G[foG#!4qorYMfyȪCow4ɛV:qj;l}-#;VV0x% ,t vGiy=ܿ"i.^}!,+tU𰡺aT=+ŗ_--~|-%1t8 FgIVS˄k@ܬʛѴE85-ݻO sh6'G6JQÚ=k5K66OaOKna&R|YVRC}Dȝ)ax.k>CLJme}ǠKц,:fqN5:T/ZN@%Sw(v'- 5PPZ0axtonJʏ\DC%PIW@a,(:c *};_>Y-LnO!ݳ2CB{.{XNeK}"?oߺikI%a<jޟEBU;+Umd5ʬ臯}irL\gC'̵cqxt&E84yA/j6)Zt8?g d;p,tGy}zí3VNkaNGH@; H'!Lwh\r,R2Kf@43֩lAu~} ,U^!0Pwͅ{2]TPαṘ3CQ1/,fx}N|e/Ee 1cK"{'kg u`i8c4pZGMq]@6:4۱A)2X\|n$B,]7CUzYȯg'O'T^Yz jAm"+˜p-ۿ!,/;WC$U J,ǝq8am#( wadfy}%^?^?Q޳aw,%4;N!s}FƗ%V'M5=,[aiZ!,1{`*[ٳE}؝n v^lLAEx voL6P|e/zgmW 1B L *OwC&~4hΌzm%rJ0>K^LK6SY z;6= 7\!e*ϡi ҥjS=ީ0H~."|;%X6-qbAį(7!Q8F^πo=wNyRK;,`j8:x_C^ojioϏ[BzeR/ڡxU:;0u}^Ժ-%ͤ35 n &,ic[ţ'RYi!jI0%{Պd D9,#ȥ*_(]h^h3gIeb󇁉6`og'-{[ (CK-H 6098Kм?ǣHV8o1?yX*#JӥLt6sqEG=njJxRro |Zt{A>{}Aȗ$ToFH㭤Mc8=*QPKТhH_~%YqZqISd;w_Q'uCA^7npU&ՙ{b,&]ˇن@DaWbC9F̌M3Ys? si*+oAt84NlG721BH>%PPC>6EN;ILIqt2+N񈞓50?"6NV.dNC'<}Y}y-gw=l#&g/y-҃[Ic@һ_]!>Kfbl(]:+n/neVOޱEt^;VyWJx-qIˇ."0ZAt(?r([n1 bdB7{'j:Ҽ- 4)F.ynx<(,c~םUṒĎly.+<0|sUC8 a~8hŶ/ݦ%aVl1'CF z~n?a@Y[ͮ8%$. 9Vv#5_zX/p4-P<'}8GfMWD 31G7ϫ1VY/]HBiٹ1}5^5¡ P\_ǒg`AOp[IB TPmޱG;OHk~bψ%<ӬZ/:cI*Hῥ!|uG0`$«ۅ󶳈]v"߶ Hr!nѣy'*uhVGr%,L0#`uFt}`(S*edLBV77+/GD&Qr9*JRJtBNPF̵O YWN̄;U-NC&Yiz= p; 6zݍ[i[> Yz2ݷ5e9^ϱ WRH \1=xȸ)<XjXI"jh]v3͚Ri-mݰv#_.VZj<݌hh9W OPvR~.j4> ء"_aF lX9LadXB?kJܰ2~WH"SG O7"JxL53 [c5J>IQZ9^-"LhE5:Gcd'1MQ780Oj;8PR8jkϱh\rekҁO[p^L7$|Olj I*"orI'}[@&woCӓ<%(|ի=NjJv#,L;zo)u>zh?B}j/*TIJ3 k/%?wK^)Vhހiv%σhO^saAlo N /oCR8cVRl gFY<ŝ4%Z5bVf/V 1tMhg?Ky)LCȭ0vFHk2$(+Vc뽄wobb4=\jT.= ˅X޾r6] egDx)a3tKY PFi ۜ-^6m5@Qcı7-fXp rO&^qD[V1)]߭㏖:?},`(!]QUi? D oO韤BغI- XuPZ#Px3r4Ƒ+ +t,ީru;+cHNAY v Vɀj$jE3Q&L3Mko# tL<\@JirQwn~a ,xhh=#;D\2b֍FGu;'?Ǣajfo"[z%>pa zy&+T2 {>N)(I/\e;+]i ku3]`Trl;\l EaM`pybőmMp'e,%?ZfҀ7C@1'N~9mYyhrwThɒ:zO4UŠ8UMEi96D2 XM8ut#ct? 'y$A)x7^f']bPg^▩Հ00Tl`9_0XZqN $nŋη~/*]"P+t==޲ά^= C닏[r5.}4kvN~1FZΠv]6\ǩ;,אDPݤKN(۲6ˎvwG#e Y;%s]r&Zv}< |؂41ħ 4dFݵsKm&$+j)껟_URMqqPRL 07Z )}sN`B6aw`N48EVFs}})\& 8rtpJs$"puFZyDaA,?`0V%uH٘Gk?A㮥 YP} )Ϡ?ˋ>}!xRA]76ya!6%ڥsC%b ʃKڜ I4PjbgT= cl KXtP-!{+g6t% 8A<{ct^s;ѳH1T {ûZEsnD{[?,sd^F w-p2Gk݂9"h8φh?8H ~qk ;]bˉ+ď(%g^)04d؀ƨ;.)cY!h\f u(uj]M@kx&"e kkY&vh٤4DoWJĔA3⒁.[.N=GHhȭc?4Ȧm'3-Ĝa{9 " 4kFBm(5xsIFIX:vݲ$3`-V":]t>n+{*b!"Ta.v} i4fGenY s2-5~yR݃@m>Eaoú+p pqȄN\ y euX|ou{Kћ3]yf=vJH&7mzڡZ2;l]1< tqi}_̗-_XҤ<6R&n]gü Qg[)MTtHխ@,p'ij䒚#SYX:T^!XA膒mA /@fCvQn& ezl0(F,b\D$VzII[ O7v h$@X;'%N*}6YNyF'KKc|P Pe.) 7^yc+kUZ?, )t0Mqn?7LSN۶QM$ePi0¦pOR@F`>kk@m)= cJL^2S;o4P!˕}1vt/Kf_b+d ;d,Y^AQD[zIHLX uQ7.,Kblפs#~A'ħ 2`XFeV|:s4DBTIEWti⻛s[& zH }J|mg/Q'}HJjt?fҀy>޼B|zh^m[*2i©ed$9Jڔ޲buG*cЊ˱oMguA!كw;约(,Om9Y98bToܥ)Iy iсm{^6Uw#M9Ӕ椇GUDj5i=Th='y4y2hV|5BodKWCC*Lk?ac}8 8[Ξbs'xxbdRp r1/G?ґeiLNHx҅/&|+]<<o뀹im}Y l}51%f|`;ڶ }Cv:,9@.nIsH]`+#qDqרYE+EiG$R\x"(R~w<#F{R1C>m3$[i蝑{wj͵PW-ﳕȰ^? ?{ Ti͎;i:(H< 3=ZɫSeQ1Gzsbx hOt \zç};} hD9h.oJ:-q&kݗFW^nCX&$X!k+Ɠ;I7fJT:MW Pp`@сxL&J=;Ϗ , ~.SVo.Ad%H LpD6W)-]5 2z7ԍ_1v ZP½6Yt.A|NKC&9Я|rJ"ap%pjRǤq/ǧب=dRb_l͞XsMiAʮN'B-7BQ2͓^،K=zMG.G2`ˬ@O[m2֗WXEѓu[k}n="BcqFbR_?HXnu>oFxľ VqP W Pq' :WS͠_9bA7 k,'5 m  R1ub*YRPԛiL x3Xʮl+/Lʦqø`.G u;+ߎMCmZqH>aP]pgR d ȗb.*yB/xTm.%:LZʔYQzw/=L[x[5+,`3K>YŮ`UkkWʈWjDcPKr< Ǎ H0Kgp5/"| ,2?:AsɤAV`pAŒV}p&l^H%$4;FWi`tɫz}9t|"I?W { Fk_[TL܅J"uAv3L_\OS(y%)F, Mj2fQ@hbB͞t7(ġ"ŗ*$FyrB(x䱺͌=7EU&>]J*{H7G=o(NWԬ!2 \!=FO(^PD H>1rry]2Eyő~栒|/fϢ2l:䷵pkZ},99+]b)/uSkl.k`7Ҷeq Ma* 3 }" t<4hOϭu2F\:O?^r@J9j0%'Je.v zD $XtmEo 3DMkmW7!K! W&qZNu4;z J/K뫓FV2ydpD`4 )|AzkRun€8s7xaä/ky匼.!<+L}[|놜WaXݩiȌIkU-)trP@^6[/a_}#ӌWRE> w4֚Ɣ'I0{$gp]S繤s7ev^BAvٽyIqjPΰ/gBK*S0~?ӼRi#bg_gDds8, Ft܇aQ!e&̲XY;U?0?âmT,W"7UZz4ToDf25r bYI ֲg3zxb8|:mͪivFɠ挴],;5b ZziL>NWPGq@!:&C{mu3pYagƌG{g`&eR+:AڬϷ0D}"y)j䰭NlU66+Mi!~'L??EC7;v8SWޘXl"YO'<Ho4:uθF1,71J^w ;#G-Hf[Z@y a?4anJWYk1V7.XP!u4K/5c66x(ubck ҃7O6rmw5)Q^0Fǐo^1 R  >C#^Wm3KG{"Il1"~P ŷxb,EZ7wSRaX&"zN"Ԁ{Bg7Hq Zx{AJ@oY @Pw[O> ]ݠI[p5IK@ yguȹ!c^΄4(2VIaw~ ӂŤUqͷ-5}*}B8kNJARNtk\< , l^wtV}[a~{mkg:&Gd2˴Al@ʢ=+ &˯>WΞ["]oAWB9G[T$[, Ixff5^!ԟa=Boʛtnj-R^zV'’%HI8Ĩ@%B99aӂ|Mnc/qJMkU@Y@`j]< k-.DΕJHeVJ+u{NˆCLS%ޤ;7C =B:WjBa/(@KBB*:=畵,Yg5 V[U{^)̅H4=ϕBg߫uc6}wxRS ~vNw 2& B ЬIIN #ȡ/3,X}yL NfRf?oh#+ []D`ASe/{ȡ%w&ι2f"@a 08fՆ}?n}c 2tZ{!?kPG'GNfRpfD^V:\9_Qha}zy삖+69_oXP|U_zut%).alMtx }jc{!;{:̎7$=4JPكs g++ѪɃ#K.}EVH+ ɫ*:[s_Xw_wC]N-gz&EVNke[&F Gmϰ3@, y3N'N{|BxNQ $p6]JI&t`q[)H'ҢM> `)oU㛾fyo@]5Qs CW`)[N%>dݜ~GDYg!^Wݎ%ƈA\&o/owļ&ӴѝS. <'NjJO GK0*0`1H7k\$~ =H"Pd"T o8X`Pss֊ʼ=I6]1)\E1Ĭ_<bMe1{4h 3,("~$ [3EV _jF˕LŸU_(rF@glڬ+0i~sʰ Z_FϘܗ,lNmiO j#}uqnHWdp"yƴć_)U$`$6$Yv/js֔ѓEHh::yN˪-yi:\k,՚ȎݤTVtǑi8Sc3I"ζJK$H?5 ]0p ľ+h{byfUI WP)([e(<8(bKv3<B22?ݣTF:(w>\s)GnkI/*o_&_"}M o)7"w$(,f9X '*[䯆:+ mYP=4CK6d##$TD^l\Z9>pzt k*r`!^FCP#& UpbC|عZEr+.0rE'? Vl6qS0y9U,Px9޽Eh8zgByYK*u\gcb<|N@=~f ua KoQ4Xe1W=a!)P26'wHE-̺~2 I6dU&%EA<~jp/I1TTg#csĝN9[7J'}4sQCɯ,4ll/mףL#U?FL8OHZ|,N3:2% y+R j B^ׇ*QD)T}sړvy-i ZbS 3j"ʘO[Y~pQyhǶ-~7Q$Y Mǩ Ɛ 9v_MhqF"00}::C=(d,$ ;z`'t &c*ZQCJDp 2vqߞdW0|a3m>㵮PH Bke=\= -Z [eͿi @L_%ZZю0>WOD"VoWzFwK9Fsv_D :tjXSzkh>vPs`+?[bd Vp !qUP)sEx= >B~=9O"tc̤$!j(y--oq@ve5g0ؿT'i jut(p~__Pv)"YZ>C|Ȼj[FyLLߪA!: PDDXUN+sF Q$'lcZJc>,*dv1S lI701';"`IE&> ,K`(> j@;{J(q03:h~(SRr8ˋs>DHhУk|BBDS[߱'g:qoE!2k`hYޠ :Q*ő~K/R} LzHH>ÌPqa4 n F_n>u*qV'*#}``iUVr{t{4et)xb#cId4Ҽ}{&8-vJԂ[]2U5yqWgv]6!-q#uKӡrض`GZy f2pFk闃8\AN uf^TuAzCx" 9ø$a9 7*5{Vl6C+ Hune yI͜~w!p$505I[]yr_F؀tXtt]rlз)w{~Ow!/ Z%iYu^YQ1|e~aQZqkM:Lf uJ^c1FMDSqAZVFbn39&b65gLXs#=߮HR.ՓcP]#ި;ex h`vpAtVa $h]LSUHL ۚ6.n?*Bhp22]\h?pSm_`Dhgrj/߽K{wOMnCe;޷"$IC?G§H8rÎ#wP8[BEf Yч{Y-Ŋb)^-|&(m$pڠ|zL[WRh d` 0],p8f$}p)8@=Bw.ˢ1 U>|:i}9gWKAD RK_A//= ,o!6&p$9ISOg̵!2\I*pԆ!(Hw+L/Ir;QZ@ahWƝ{{Ow%.zn|܊ly?. п7}kA75ŗT06䌺bT‰~zu09&E.xrUkۡ3^W B(gɅKafZ*4ALhAZVePwфsbAcʦ?"r?Z'>5syNDXhuڌgߝAҏk"E[F&h dq37k-8o'dC!QHtS nq:ڀm A)@C{D!>SEVyv|4.0o1o8ۦc 5l-v&C$܄]5XG\#AKvOY t\8߀@i%g@@0O[ a3J M=nOːr͢Yx3I]==u?Ђw_z ]`}xqk)-`<cr;f:oe[t-2fwvnNT *[/*MQJFXYLDN:Dt؁^M5? |M&i-itNpÞ]u /b%smi;`͟?p3ND^"D59ςn@ 1C*#ț$#W&TTYc&5K;~?On-{xy#_)):zn RI ][ˇ{ntFr[X {JG@$ yj'% ??2nRېs;2$cut%_w8fQJnX,9c~x f s$ pMLڈs,=I@Ne#%c\ֶ!7~&ͬѥy!m#lmal(N;WQdH+,ݒ(d8֫Ғԙ閬h2ȬIi w:  3`:?sѿblȋsJ=]nkLbf^2՟miF gp G 2~A huƤHp%, ˽~orz4狠Zʃ؈[A_}bQuM`w$ځ܂ Wk*E+󈕴~a4$ >p_Jɬ5W&seyk^/4 XV$ pe18VI:k9ulw>2%^?crrAz}ڨӛP::.Lt߄:xZ< ?ۙA}vSd,SؿpcQVݺI#D =("@35Q{Y7l'{//gf>815˃c@= z)jhM\K wLgAɳ*m? Vvr}/[i'Tarcٿ5}^5L `͚# "6˗UcSWL6*?d.$Lg w8sl\Ct;)wh.bQN|TҸmKFIgƣerkVGLxѪi=ehJ߃bJ$.r Qp!5O\4\x 5iL nc.hX+bIjc]3 DJd,WuW,6Fм¸ïSՉ ^F勞Nb`1_X{[5ɁL|o&+ jL)RGO՝a[^6ɷ?7*j2uC+{O{RER⍿K V֨V/]sa-H\j>C8,!.jǥAξo-:huRMUNU@4IT Gr}vʐ: G҇#\I_+E`Vv!Pq9&$r"67?W`{n*|I) oG5@f0h3Ibc-%ah<1 &^{^yEl)L3:}Kat~<Ɣ_".5$pNsm1|bA̙oic#7Wc>r&Ed:iRN]dRfKi |2ZLb'm ՝sXzFz+(ye +[( қi77/e֡c`d . >j$SWniK^7wB4P uHI{]c$K8c"g 6V6f*x'qbHqfj%*_ރ𺸃.$f([| ?'+ |¢8c*cIEo-=7$HI49)LH)4i]="xyCo:4/Do?}ᐆv' 蕯 .mR0 \^p]R4ч7EKTB~SԴfRNX GWr@<prP菱-%,,}k"YBt_cTS rdާi[vnfWuqXTꕥ>?Fv*v'S+j h:6 EīYEo3Ma<׿ sw5m & U O7K}[{g}x<Сcϡ2Y[ 0Ol XeN u={!N;$g%jju?L㭻n8vm]y #ECz&]BOcO ( k&yW2`rBbZgq$^U12452*[3@@UYYK[7V xasmB!gwHr|j8T檒j4ި0Fm)_Qƨ~(Zjic|F`9;q6EEF=m0 OF jZjxeq\/unzz/S׫yC5 l3פ F~ ;%Oayehs& xx/}~Qٌ5Uo]k}(1oӇDȾ7 `t8}$o}p*Х,?{zKH&B0.e&.̱K|/lj,-EGQbr_6)ꞅ)L n9SB4y='`hbRγ6%ot `e= lAU_5YH^}W4fiJMէ/BFQPtjQ'CORSLiWCb"%nZ$Ҝc|&4Gizgq+5yRZ >-X8жZIa2 S=J@k`2eivj=Y1^?s W0} x287o0"_%Cu'G,F&{? ņّݢePy[>͹Q79BEZK D\G~ũQ]x.Ÿ0AsT9#S>1F缳$9wU} kğl)u(J쬳R.NJVӗi<=cÒ6ޠrZ!WqصS3 agA\$٨ MjFf؀UOz̴Li5n]XVT~EIrn.RA^/{p&rcD"4f'q%jނANZt8Zϝc 묌,\俱jd`7Av]̍ ]8療]D#*XI^o&kEIS4H{H*xvB-OYZJ҆hJሀ~rpgl$L͚'p ia[/$@E<^cV[;E1Ld\|r׺Ϣ{8\.Fj8UiIq?2%9k %~Ozk;JI[OGܐƑGyEVj4'>p&d!rUrM8Niy ~fYDhktiT?$r_\>]\ZAӀ2.R<5}d^طnSmcy幖c7uKT1dA@zħDHe]njQNʞA/WpP[2m~pbe\Ӯ- wN/adwsluU @E&hg;>W=lSzh>-FkR "}ATUWamjvj/zPh`` "9#iw(b)~#,AW24m-_C?-*X jWTVaaОCEU!3k>.USR)>Y xQ%P4%@'sm-87@_R߰D7W]w-w.$D4.go^ecyYm]\D cWwLܣf jW|DV}?Ua01E!X..ѯ0gwj3/2-Fuprj2Şy fj0SXj4?O_c;YjMNmwxSkOD]eqP/1I"[fPW! m8%ьW#ei6!ρ\wC/c_{{0oXʧڽ3/UZy{ z[??6.i'46:_Z{65Gm)˒B_ӌ83z?"Js{ ^t8o&wK1*5TE&i"_Eج9S Oا&6CwO`z̉\4Ks_qCBI^iMiY#XPUfQդ\IN,[-{f.#nVip7 j,ǃ& 7d^{92㈈:J``8;0ӽ7aʜ> &/X[pw/ +&U]}!*+X19oK-XUNdϾ:G%% @NoM>.'*a7d-Δyw~qs$bx+mYf ,}\?.,uJZw.|QdJ]r,UA A7R'*0CjG,oМ\?Ke |m'd$wILO_ڙwUBt ;57~]ΖDHB k{#|5u`?4aWG&]*/ΗƊ +>׆z%Y0:H (APZ˜xͫىd {iYW8aOr@Hv(eoRk[3+Ζ6B@ *oSA/cJ N`a(mC/`>˸UO{qhI}j2/7RZ~|("/8Bu٦wghkU__H%Jmv9]60|e{P|"_ tN:g L\R\ӿm s&X4.=ΣwB2K3EtpPIM|3j}杵ËzR7>a4Uw'Bʱۅ D֛M4 S|0Ĉ?JGZ._R;bѦmP0sa~] IYlĶ(s="}sR$;#x(R\ ?E]P!spܰO3f3W d ܨs!lqoGVQNwIcA:QӾ'nm(SBeX']KmŌ-.A{.+):t|POzP|AfPuyl㳠DTҌ5tGgz kV0rYOO=g W:tĒM*^~x)g[׶493nZʦda.a2Ma$Ì, I;tv?F+0 +1`ucŽ}LZH}w&hx@UݾpUooAcr#^K9Vkzğ?t1sE'&vOkF7+9?C ]WԖֿvݡ+حHT*mYUygǵlKSZ~̭Cx[D/Ѣ8M(7jw=p鰈λP!8ny.Ni;ȶ{cP'%Rw/j+d9s Òse"^1Jy/iP]O{-X]6L<ꐐL!5 NE* KBG@Y H5|x@i ]ы@g+8>z&NU r L_,ˈ*=ݐ~]܂ ?uAу+<0|J\ЀP(,>?n+sQ?GͯEŜíG|R]>T}q. w5\۞pq٩^.3Ywal5aOj(g wysϰ 5uN ^ džuAzxe'/|(Q` _e>UꂴHǵ8%S^xA?bϭuCQkS _MIk) C;, ?+3!7Ug%/+ܥ+hZCx?W5 טCNZ;rSv{hCA !^q_,Ē1֠"?, pF0tIv1CK3& HT +˱:d' ig_ 3k&cDRͪQ`G"mXNLE' 70ԛS*1檨WbIa^ .3rœ) WyþT3žסy+zJ~V  x na6" Be.~]?xᘷ B.˄d# ݶs`%RPY_} >|g a.fR{|'q.笭d(I U*ҔH#?`ͯ0&l:X98^[d&q4Lw^Br"ѭ!~?((7՚hC>^B|ƜUʅ] rΞ"b58ĺ'+voVC?|x|KO"g8Lmۅ@%[rof5c6)@4!S *jY# .73[Tz`)Z㱹TxַH?UҵWIe4$HDhڐ%W2*rCEdIH"2㵑(hzc)u9G{G啯҈Pg3hYDWHO`a1x0Z~! cGN֩ <,л*@7oh ufqGIyfjuنCdsEۘHc"9wUQ LY["+Օ)źH`ZfhxU ?eb$B<}1'"LԯV˼i]E$m۲*nT"iE7V1Xq# >!\aϟv*Hٌ*'9f}[[/aV?HozZ=(*S˪dn8_įQ8ѕg,G4cZQ/|lqF'D8.N(KyBD>5 `ơjN8<=Kֶ)$ ʉ Li >I+ozW^eTkLEHb`#82N_ PySbAD_E_1¨=y7 W?[ fuBÝ8QfS7C>ZTs(K90ΚY:$czwyu- {j_ }]q 4nulC7=f5WHMb|][Q̢9CCG'id`$#w35k8oy@:u;d /y@O 2 3<ߵTJ8.hOicM"(_QkRWv`۬7D XK>5 s;0 WRwGʩ?鍷u/& B0 N. #^9!tl|<mD=ZLWܶȥ\Uni~lDnptPK5nIAʢcˈ;Ѷrʶ(҅eNMKaFPñDʆoV-LOZ CR bo彥tv>NF̠3&u0sY۲o*Ev8`) ޼11Ka[m_IQ(xK@9銆"NnyI gʔAu:H5$]cҶXō ',BIy>:#]]vHi;{`9Hijg m PTtc(7MhCs<i~ʀcy.xHVN4^OWp@&x#/Q1OLCRz7&ɤwz 9˝lrk,̚V!fh_+ͧR:AoTB"ǴӢ)[߬a{G_6n4x=y&ĞԲ(@ZEuQE_E1$B0;"9+(c [7z!tL/L;Jgp[;CcW,` HZXE[%uĨ@= %kk @5YEf ?w*p`+<7c11˜DS_̚Hzs\<3V} ʃ`RՁ\mմ?D-Neg0nwMپrDWE/o!0O|$mݴ3͉^ 6bG]EtIPk0)M>! }%nH^&p8\)-z&|(ҍzFlRz&<=3(mB;~9 ?w]_2HDY=XRh}nf !(lfJij{W}|a<";C֊bxV(~垦oͤ=ra {ƈϑ%KeE,XaRy>s+ ҧc{ A73ז""=WdS9vp6V"_^AcRKڰ`i>c3@kTz.kC+@['/ ؍a1Gor>1 XPi??~0'fӦƯq VlM8RH ڥYv=V-\ LB.h{ N!äߖ՞̾sp@ؗ ncuͺ"Z)W mvfȰ6~mGz%0 j",Gl FUE[eL."AH23od}cP&_;{<ޓcuX|'m79S ?r;jPv#P5@"%(ͼN>t=[ka[<|^ iw$apkUmiYe c*򀧓K,*Z?#m؁*?x6_RAZgApa /93/g,*F c(qbIm'5k֙PC@+ڊjN΁R|\@l葫#XO.Dt)a-_qƅ#FYH8J}TXLY-Jnz sKOnb]x-M?7z 5g"$q!7L[XV?1([L AC|A`=_^dO*N. K˕jH oP1"]R fq%ʤbVb3ّQ{'Ɵ6䮨lD>Mm cF`ݷa] yvcSc#?M%>Rc%fM Z?QuBOtJ&˭J Y| ]_SMZlI!V즤Ëcdޚ@, S)MuO^MHnоZ4/8͝Ӡ:L6\t# &7kEF-Dv9`>xܐd[EتsfeVAKKR͂!QR-l V5E*y5m^aYv)3}7eQ 2dTYVHŢgVt4 vrtϐHH>@d 3i4*!I8 mP4GRsX.RKkE, U8׭u)V! JtKnY a4(áW y ڏheé[?+{XV<Π[P|o2:)6}.1 Өy\ಈRK3BՊQ v]CsNbguK_7qr@.h"6' 9Gwj-E#umD jnsGy%A1S"&,ΙH)QbQZr!M1;1V:Qqw"(S@̃#2+_cHpuFMRsƑ oubB$PgV<#/Eia豅6$~8lAo#* ܦʇh \SXD'K\qƌPAH&^#ùGP=aA p.o{^^&huh^ -daӤoT6jMRGl O.1;tv}4~W k=q_]#'H~J%ʴM]$N21Ѡ6$@uҽ]˓lм+S`ȧk^0mB3u;;>F,t7`2;"ȍ^nC#I'…=Oӥ\udq5#`&63ɫSvǬwm$i1yO2S3tN$:EK'E2ÿ*nw&<}IKgRIݿqmcH< hJC:/%h"U*}9W4UEd,'rJ[<b!?ly_ Nw-&՟ik`=1w@n.1s>[YR.NÜ("oFB%K)?HHu]&*i͝A1*=SӉQ(1Vnͫ ;j佺)x1_:Msݨ*u[cr4Gg3V}WPiL@!ՔXi6|Xkñ Ϩl+z7اthH"K|sWU" Mu{1um. d*损֒*~m#}aLacXcHd v:黁VLM88s`}62š`hN5,{;#YVΎڲqh|Ip0aʹ~`dU"kgh[B" qj^Yy̅" ]ܶ0L^{.o!'u5A1sřϾ\iYd &Z6~<a)WpF4,@0<: GG4/!YG^M%?^20/wyZElŸثJ^Td~HY9wj_Ԁ+^KXѠZS < yޏLXe%O؝lZo"7DRЋ TGlQJ 2eY Xԅ06r~Crda&%BFIwP~r~y5zMފNnK%.J0$__o<[T-;pm2/T/,Uoc]=mS.DmHh_@U&' , ZF^|^M{IpMRsRT|؍ի"'Y޿0pbPMB{B]1 1{Ҫ6'x&{ĺ[z? f9)7-S؆\#U,g:ŸJXIڄ M dpU $D=@"րH~;n)w4BxWE'{>}SP^,>/)1f]͖`M8;ZSQ d1vfQ3\"iN4WBwRRog[(`lDH zN3A%{2kh(H  :\tei\Y$qRCE4apd7ZBF= )"eF,M9m>~(/[|vڤ~r:ӓ֟h+I ZC)ػL֟JB{D"Gc-P` Iu/՛znP/dE.㮀]sn/a&3`LMΓlK8.TV֗o`vn Lm+V [@61rua4Gx Jp}@zZl;D(kٛz<бV]"*zǝN|B4lʇK)WQRPAىj&Bj }; rg?ǘ5ݻn\aOL2-^sѳVVZfR=<TW?p36HHM-#(_C{Yudi ɢ(9n1/NWҵeVt.oK.EjޒȰѵMD]cf~JRqFxZ1KV˚NWho ÅKaTwS,}N[}uɹ۱0s7x=Q.z0l8P'3 KIflt-Q!%M GkA]T[OẮbta ;q?iҕ7t&PV5bL"{yzq<4#Q'-L$Ϩ3x鴝|p#w7cE.d1'BΪ!B$ZNE[+)hMJ&-*-xNĤ )?M=#.A$?, *D{`!\B@I k(&ͺYBFg|=8074) rb@tcbxn8BuVax=X\7sdD(us}9)"aڲ|>VT*:gG&9m@tJ}OxF)_K@gj"Q߃}D|%y->{Rp.&{JA-L\ 4_" E:zAaJP)sēd'֯f뒮r0cɿѡ@@ʹyTЫ6DR=WkjZSWb<\OYm嫛ҍ2 !EG4YdCAFBAH&teS'r}ʓU8@k3|ݹ @>-o`+4)&նUz/uuN4icpEbN{8>i?Щ>Qj}F};-w%oL8%W{89 NF5EIy>dDw,@'B*/x J#?߄N%fMkqV< SX]LfY#I pbf'Ds0Al%oSt,Hf>P'JwU! ZXyK\lkd}d\',^wAmEв&DWu$[H-ahe /^'>ZFe)f~;ͣy:h\}N N,URN}V«.͢OexBV) IB=nsA޵̚9Rx GV|SPQ՚0lwWtѭa&M]?waԅs82nW}sαqVֹL`[k7w3{ % h̛|6+z^LHrEr#-_'dEλz֙;s;bD%HDn:%[;vB(݉84IU3΅-w{n>P^No( Iﳮd:v.hw#ͦ#D9 Hߪ5jiCbE&/L)nĝ !۴s78Hɱ| >A,Xv6feuܨpcXlrxns}wzdN;itt^&~_[̿0kVq|9 c呑S2f Uڊ,n>#no!"PMg4'K`P՗ˣ PQe>=ڙkQ3m&$)O 8SerNc6.e .3шB;^U|#P.D5EJbƐ@RzOT49V Woc@qQw.jX+ n˱9[㞕$O!!FVdeW|=zarb|VRCkz?|3,I~ƮjuĊqak'P/fC" Sez֣.-Tq&uV|OTi`ZrP&Mh +8K gw:+P2qz6 0fG*29g]ǍA WT6Mh)1_j£;fMp{(r!ƆXxXL~"GAWH )*-l$ ^7f٩XCIh= zb{5k&jTH8Rq*W=5Tf$V(pVAKH(Fւ5 >O妘|1 Y-HXr3Z>u`d-j5oQÑե G;ugoaԹ&5Udf;,w,RtpYY:@2c{!n=e:36sB;U7jň<XF]8x.Ru5!2OiOMͪ{cē ~0qa67cBF<^=fuV1صƥ–ܫƖ$?UE-uWÅ{v' TB>pc BV<.@AM:LT:}˯p0oP)ҊESpΩ%O972r6x4BapEV?% "VI=TTI7s9byna&OV&\mu;@Zj$hp-UOBƓ9XJR*ic tp_ 1~P Q4(!;+=n2U+{#UI'vNbirSu#h| p0U*f ɾC=I|@: : <;$mx"ȊTnN.?B .ga;;qRZR&ޢRtߌ_g1I)jx<>umML:L $R&}?eS8LŞy̐Z#(bnZ)s8[c>84Az>k>L0M !* 2Y XN_$9>κljg;< 4hj3 ]E׀{ 3(}&_JHR0$mQ S+aSpyiK)_`ƹf4@ z0=Uzxn?I5g% RkūF_ Uq)`]\J$b6 4)GE$5 R)|!,י"Otwc9e-yb3}框]T8|nuh!{8`?y(rp0#A][zW'Dڶ#nЫo?ɓg8z9fmwuKE~IRX YA0uڰa'sL*`٬.2^m.Ir[϶`1(,X##O ڹ72OFpst- zz*Vp_-p?)/-shI'5âpr6!~ EbHʦCCsޏ0`6=xpΟ/Q?8]D7YgS I|Zю9pL[7ʥ9E/< eƦ}_-ҨtT_DCbȌM}ZG %HSaH&a rK>^:Ƨ[Zq0f,x}[$hָe0vu.3 Unlj(=D办{|D2%ѭlŊeW'vxX X `f<YR<[Q-N.<$U$bZ.fn* Fy6lfdk8 G`kP}%zt'Cvp.'U$yY4\?>5ϫ|*x;XKK-Uղ;o-,U2M; );*8¬jP؃Bizr25k!6]obzRkcSnw]^QMGWz7f. 7W97U)Z UKy2E?ϻ4ZfXz;zؿ%N_!Uh̪6)%<-aG}&TD䂛!+ssjvv]306\Ҝ#RBP@v/)IF D\ ƣo5:WY }}~CuK%#Ֆ˝Ɨ.SL(tA?!6l#pP";V=#֡p (5?D:%#nm:RFIVGmSbcejٮqއAk\~՛tGr{a RM}>p|,tLVf4 #?qIZ1[%{d÷Ss- |%_)󅳈7a-;/=#7_̞m2/EeWJʺsk{lK,zJ3G%8 \' .^QHn1+3%!!qe~a2_0kCVv:/S3s3GGx5> J݆2_/$#7 $mF:wk7_"Lq >NSFʙ,^bC+?$ `LTۮy:=k;Q}z\qAA {U}s>f<[ţA,+(INT* z~'WTH{m<2^IoDn!,O -_+?*߱#0+\Ñ3oޮ\gjX">ٍ&^?lPr(L$8I3-[޸4Z;5ű HWdca]>TʧS"< EXZ|gN&V&\<@~RF+{4dzעب*_v LƎ| tĩ2:[%*>ۜO9͊.|퉜Dd85@F6y^\u$ѡE5xyW#DgGߟ+yؒ)@7Mvlս6cV[NP(YwfvjpYW[<*FF) uèD|ח=/BQ_oDd_aŹu\vd Wk fߩ0g]_Xzǟv\%ghZd<Iǖ Vܾ'yچm.{FcO,~ D?$5t*y;,XcϚ|Յ X8_M&Eߡ4W }d|l)mC,|줕+htQS&;)r-Dtimqd v4UEcw)ƺsU=+kE il봽'qy^@[nqЙ+i $`[PX=gka5S CZ" Q7,Q+TA;N-5d4>Q NRy*C%P,ގZFld#>n.#Q;z &PQ 45Vek>||LCf| L6nX`w* Ẓ_@.^β-Bpk>U5&U||qy_;%ntCOLْ(sաaÆ;h& s.8DB{ {>h $YlW0|FGh^ Q?=u7\>bH2Lr#hBO?}D*V+^&=q3-O t.zi<&&Fr@s&PMN E=07VC,PN2Ȼx:*an 3ㅙlZѐDU,^$iK)Nis0ˠڲv LRzɬ :+䇨M>H0A/汃4@2)^#lY${sxbR#X\WdҋpuwfDݪPm8u`%; be=,t# ra/MݮiO^ȕ Ƌ=НG0ZP)\±w!▀KY*] OǵEJx ~?_</C 0 .Gy ZJE8wgd<2:s"ݗd_%52~d0S=4LWOʣF~wԵWܠ]ooD98ݏd}ᡞ`06H׏Zi2ÜH!h^pøGRF0kqAX[ޮhd5qoW!Z|mˊ`M:2f)2}@wOf=u%2;-VH3#߃7fv{e\(pZEzԼlQe5MWvFyDn(oA-[]I@ק;;< dk>55 syqFfYpй 1a6At1s;gBƚUMD AM)ª䛖usKKψI}-.w8. .4GB)ǔ8Z8F(j$mCV#?T6鱙І#arԉPGnUk"< Yՠ9T#;P M3^A~;Mcj;eVo,{B-8.L']AZ6">1{}~å Z t꜐_uzhFN!C_EBb39!hU^$Lf8E뚃>_e r[ur>]¨i5"j°j>$)pt?"(l>CߓRkNr_\^vN>*y݉#5#=xPU.4\l aŗnoř9![@"*wBJ*by<%vd*ټE(jbTP-nKYۆ5-Ҙ v3Mmʍf= #>ID{^q7[CmNeȧ52=Z+Et0I4X 0YY`ݭy dڈGE8++nGtTă> Fw@+(:Rceb tXL1f" ԳFm:RLw ޻T&2'PӛLé͂Ihq8s{oHP(BSJ+ͼo|3LfCo^G{,e˭>C5A#.*=qtPNP9N)/&|4N%(k8ȋ=8ˌHKad4ꝩi==Pd|apMAyUYF["<>YޫLDMVɕ4R"?5Vb ]>XB)^ Ճ»}FbjCO卷CTΫ#&~#uxoՍٸ/]ɑJ(JGXn$; }W-D|f¢xlk,fAgr9ȰzCl ٮـ;|Ty뜱yir7%LCS2U" 'XCbC1zڅi*jGF&|bͅ/1 M'^Q̿RT5IDZpbF [QaTF\9R9uXż{J\oUA j'.![,!~QVɎbMA"< fW2!$X(M P7zzKb%Bj70 +ܛ%-[obg{ͼf^mXBcF9Sn&01YbܚǁժUPz7qCvxv?P;F\/W3%ؿCҬh;aILͯ3u W&7|aeVV6;(ن ){?KEiwLyp2(f oWR^a ;^%$'8Y ,-Yh!Eej,\,)dNX('Θ^T`&HyfeڄHUam% 2&>=*ZGj]Cph27MT0ww]~0S{(tѝ_ MqTPR")~H̫9Znt6W"-3׏CJl|s7Na1HvEv#pF >@ӄpŒC^Աj ?G"z`)UNGnҠߔXPohXV$I wP_]}MAD*`SA8vnƮ&cPH0U rJ881o]RƋWQn?a 3D= |g$?16}'ͽK<[;PE 7|]}"`vqho=o}Jոgw]OK{C l(x$9"idžRSQ8*gF~Gٝ*P 7 |CU aCƆU B:'$˥c%Mˉ-ym$r^- ?]o\ S̪TV?\8o]鹉'[/`ߘZ36fSj/=7eaZշ6 #Q9jzRP0ch9F^SW%/^tYfo->*%*[+Ȇ=IZf`k;%[sV{INѽI 9nbұ@")aՉAص*@k0f&ZcMYW3= ՗a[dF (%ǜ?YI|vĒ/MZ&7s9N1LF P_JyQ=ON7u9휞z k <`3[t6џtq V+Z"َd!̀jr ]Y))GhP$̥ bt%إbq,dKj̐Z'N0*35.ݏ2n{~T1x7 a' Ҝ۞먘XA_M^f!LBA~f)ԧgn4p{K]-~svL]n##g}2'~?ėH[r. H/<=k77DaWHG7bZ1rw)W^MutXwG_\k>l, Ax2W -'r u5ߚi?-3Q#:uXpVޔt % /V-09_ӒLmkt pTOD^g#V[]؜|Β2 QTg\#z h&/"a(up6T)ȭ8}Siq 4n7b!秤F/xVtpDfNhkuH]F+ؼt2q^Q14Z- W|j>KpeR)쐂]3b;0K(窈LYU/̞餷B6 k48 I ~{[?wC1KP/섨h LpEG0؆dqa8:dlIvnϺMUiʹ~n %+8)v@5du<,̩@Ed)@!x5JId ޳ Bxk~S,,bN4J yΙU08Aٕk[~̐_SV^BD7zs:[5"V@'OܹHmk ѨP*+_[DX.Rz&TRke\a'Xe(:Ed7t ɯo1ka\~Bʧ3L&0e@l[^{![r:ͿF9qtW>+SGW#="$l/N&A{js>DM|#w6]>HKYdԱ,OW1+d=9I#8V ^C=3{ͼt Ioq;#uNY /g\nX9,6]tWBӊ$6nvqvPSy!,}@Qe?ofٜ`IW Hΐ|-.[ ͐jfiuKǎ m!& S|4UV $"dVc*zC׼=0|7m$E`vyNrhN rInH#L,` c pdkǍN)_ [y+ׁqrqvRZh"f`,>H&0MS7j%G>]_ڼrhOH)$ot @DN>PVa :ҶL,yŬFBP|YH& j,{uaKS~M?Y<3鼩ejJyM6OSX 2pB;cVɗ28[;<\vL/͆KSӕݡm6xfrh{!?xs0*_7iSJ ;g}d"Z,rv֨Fb it(ޚ1HIυ=ژvL8XEX1o#7y ĭ)K]ֳ^;K4k]"m(UzW6)Xm))J+[O~j B6S|wӶ_)S'A= '|p(l h9RZH 1=UΣ <$}>4 XJ,X[)r6CUBaH 'tUU Bzg {'Y&E)4sI[ty)~ybNYJ/Cp')^KfgK`*bc#lEvL|%(iÒ88s(b"]^ tBOc 6ۨ%ʝ_,^l%QNMrrdy9ݸ2\~ZmUMI ^9 x4]jŽX֡dxƃ'oח: :3YBZ[91 SմHYBwyz9m +.6Tf&.`'9b[ZCfX1v\L`Yx\KAشŞ=XM+&j O!nIMhHŇFTϞW䓎{I8<:fSA:Q##N"8yR0x7`w@"G&mےuZ6)m=-)59u@LbJjStTrjl{i9{H+*~B)aX\rْm1jBz,d*w3">͎d,i\r%x_z>_IbMx! ޏ{#_ F謪bbϺhCeP/@g%Yu_x"dO "}v璍I lYpT#/H`$<' /0 xɜAA aM8F=Wd [a `va='Ϡmd^r;!ɑ1jQu/xgOKjXm}|?\I{ǝs h7 0-zb7F5wn)gݤ5t䵺ʰ;shii念K?&$y~ CYweB'W?ؘ9"*:QS¹hWFA5]5,>ndT,<)IG:9^1qp8tXP'c I8pה:0ljxՇA|WRiH?>d_^r1Bt%)?QT05r4Tz<5#XO]Rq3him2Oa a|yu( czgwٙ#9\kLW‡ 7hd~E*0Kz{[<ĭ!P~w(lՕwckRm$5{*zn@M'3DK#FPg|G 'Y=[7oԔd@©X\\D&;haÛ/swj98͝3`~7{d^󳙚b2to癄o>˚ۖ? RF5nbB2oIb;=}Hyk8VI_ݗJw=4Vc_r8ʸǛ?+l6cߕ=R_EG37S'c W`& 'YBkZyRm]K~,mdB{4V;;JeA{iYZ_6ԍoׅ}& E¬tn&?Βlo化b ,4UDWm5[T" n5Iswpڅ~Wjc-xX3vA% % d?bGm>*̘1GA"5=v#Gf4KLw!1Mڅfrs%7yZo<ѲPzXr*S/yxm^׆u075lS kC`#A@<ʥs!tm)"V(&BRf1)4\$ 8ނ\+D7rȮYWkm7wF M&<|NZdo}TmB_(ߏAn z-;6RYT , edZtczX\H[T`EO`- qa\W#pq$yͭN/X%{v"@#)+1^T;ēy~wa:ʓ߃H/`X,?:@0E&1G?ƻ&et Cꦿ"ݼQ]Mޱ8x?H7]>'>̡0'KoaAi_ :-uB>N15xӬz<;9NJ?zLw3o;c&h& `jmu4<u; p"7dB Mw?2ELfE53`r@,+:E'./QGD:]t$̏Ժi!)R-h<[<`+1᚞.VJ?ئ$zHU ѹ,`%7RL΄uu).m`~3banт ? -hX@hcY'J9WҸҵ˭63H.UH"ʆ 07 ߈ PQ$U_rlފkW[.jn"¡q߉cOe,%=Q"m¢͸VBN\'$7 E]\Q >)O #9!{Oh'q.A 8e GC<x@X"Mg c b6r#yq丬֩h>P٤ao6JV X0JkȎ:^_"@Ft+Ʉ*N0:!<ը -%SEo^? mTs9Do5_ꐍ_w[7r0GTQI׭ڳUfpR$i %@ c*6p<55ML)oz@'t°vrG Ϥ?/|>1Y_x/8X#& L8k݌q>-ץ4 zp=CwBB0=/Riu6(f*ȝhlܚ<4QJw*"fhOF.J{A OX|?(%dTz3RñQ}UT"8viG |#P ͕=3"0$_ ?TT kM`Nj{hs\IA8tUb)K u:nX9{mXjΐ/fw?>9o"i8y"< sįm]C1-,TI$߁Adx}iEsN$uG!IJB2?ڗ.tQjӮ2$fR P~2Ów c}KvMEc!OfҩJ(ex^u,wl4 nevNbB63|2r=udfz_FPnQbFNPad^߸vn=c@v|;5Pv+ݕߕbnKUwwxHSXkOw|1 [ SY^Aa _fgiOt[|Q,&Ww2۵C8,O`̖2BYyiݼF}鍭tY'䤣hKa?e,2__-2D8r)-R4`&C-3R R56-dZd#wY)BԦvFj=ɥqmBuk,)zqYxQoNqrPՋzC*Z2RKA]xf$Q͠P"n(dsܺ1*03㼽}6$筠`fsn "Q v(΃Fj%%7,hf|GW$d3/Ǜy 4=dh2n̻2b4 BM"J07>Zk5iIg{.hE O5wek/_߽̃|"GuU؝41CqN}qZzAs#}%c)B] 8ՎVqnm01^{hf^_K=#:Bho4HfX;#4&mjtJC%H 1/9f~SbTwz|EWJ 鰓oX-w ŵ>ʔ#ITG@(dAp.uKTZCp?۝S0:򴂈LwWe2֎v͊PKL\BF.˒N14qr< K,s;;^Lw7 S6OvN\ܣPZ>⩖1|F}eo""2p)m$GdCL9P&yfQXjR2L$X݊sۨ]:ڊ&JK8>÷VbyܱbAA4{J5!{k@[n V"UC4O(V<&ϝ_!?&]s| X.qLO.i8̤M? ,Iv?ޭ (bܹ}Vc>=JWtD۪b)J{- $,?>WG5a.|]d*]ǐ!Ϝ`.>$}3BaH 8>2wq,sNt7dW֪wBKTJF [-g|hl@/i)5x1v=5<WZY$!vgL"t_:DzlJ>c"bpΙ?nÞJ8هyetiewuY蜍bӡ}I0QW_p;8@d qe)I>Z7~⢰St}#a;ORZ[SͥUC}kgmwƺ)ul.ٓf%6^b_019hނDa]ot̛ XNΧ xMώ[, &r=%7MڝgyW ~5[6ڃhd'c3/n 5}Kʑ#"F>̂#7!tsk݅ }~ttCS@i7ٳh}Or9ܿU$ 5?~6͋.EV~45gW,3e &ol5\vxzrF-xH1Mb;xZkLVKbpGcڝ73PDsG9CFDq[twT@Z&ˣ;#cؕ_&C]Ժ$%Plڿձu-(T=jPK_5XTkakcd4y)\5K#sR/h ޠ#ߠkf@ ̵$ε+neuW.9H!X(\m5%շEl5RƹSZ R#d#I{Ti5))`7%X9 %?mn'P.|<F`jg.vH]6ٙQsLFu ЋwO$ A+_r;eQޫ ) C$ TŸwn5>?cZЗ0@*,u%o2ږj"a5Dշ9)i'׎Pdq/-ibcqKs5?]qgPm (ۿM?7">s=íCnR$(DH*1Q@u>g]nـ 9jzL=j;@pf^1<aXu5;QAN[熝I:=gXqmCE& M+V͇)lC|Dlۈ #+sr.lО#@5̛OaAiϡX/} oDz7|F\]&RnTC)(%I}A:lLO&M*^g=CԼk%#tf9bmC7x?_j)hנ.};^4_ 'pRQ-U˫@jY.p_1$Z *)sfA;uP"fJ14s;F%1*B`vη¯eZo)̯Z>-MǺR2Iz Oi7a_{%!;ByV>w9 _klI4X6Dc06b7_ 5]Wi19".I3' JMZU_T s/ /2nVwa3_6xeO~HRI㫲TF|$?3vN%:)ɪ(>.A?ԛYa6Z)4uB=Ihxn;Yxˣ`fnQG${!(,4M^l&5UtpJ\2I_/S׊A b@</\_GI,zja*)H+zMz%V6_ hl瓿oB1$P-U<(ůbgۤտja#$f=.IK&'?@|4=ΗLNJ;>R#Osa+'>|GS,d6wNtbN, p)> M: c@O<7x?lCax֨QndwvoV`}cD{Һ3"T 8vPϢ0/CfN񱤟HS@zJ.:H69JpF$-.2˻@g򐔒^9$M (2si>1KfnEbhA0ZCD{{|mq횏$|L;RKxmFl0I!A:iMfbݰbUd "THl3䑆dE]מΕC[$tK(fedlB^} xvʞj(҄/Jſ"u5Qc:%z헦;{dHkV? "}JcQʓE>Rh שjH >EUnwǃ܉OSmkx́ڼ *6US9-uNE6<Y1q^ZKv!W"l@ddqyLKS=)u`V&J|:‚"_Sa3&gPNPUO$>ܼǀ'۹K.ӓfcE!졛}i:OlR{7oϲ@W>";Y3jH\^Ohjw7;d Pq+[{hMϫͮCz (>o0{2N| ` +˥}j^`XnuȥppY<[C.C"haQH} poayDWe[cO7X 5= ܁%epHR<騵hP&\@ }w󅈸<('_2p&ߡqMf6-|-rztÿ ;AR$Tw~RY[8CBÒl2nƴaGz2qjnv(d!$2s |rfk3C&Dt|9w/o,C{8ڋ,tV2\lJL++~tߤt ?HB̔T1@fX 3 a -$?tZu[';NXL2!^btJ:_R\N:%B| "bJX!7ُ]eʥ3E7!E5RWYm~}nZmE}ԃo3+EGv7$/!ɫ\]lISg'Rrc<б$çtmsכqR~?rN .wf"؟%1촤q ?5$!伿3FTE22F4C`-wôK[˓G*5(LX~ r )JQR$'92-{˱FS"]#V>z%3/ť/2Uy+,77a1G/,TlW#݄et>^:x7y(" &Neq`Ћ7r1?t6@7%3oЉq*f{_E^3 ÷?\-P3^שCXVsqE𵈳|otHQqOgeC~T׎cM˵Z_O#mr2~tr}U՚33'n,F!$ _ we1WB| ni(]*3dDr_j% z1W l<);ׇ3k '?qrK5S֩,1P%801\4@As+7}쥠5R/tTS̰I8=J&8AUOH /i&U<ҽ a2; ےH% F@vbvwGI nNW?6acrsJfϨPO>|f/MR39zT}wd#Ŀ4 `n-_8>B gRJ}+DW 4|x̬}^o?/4!p0g 7]v y4PtIAn0>,o ÚR0Gg6Cڀ4[pSs;U <,b|W(جXxm0ws3z`'hY//úKWi"a܀biݸ<7fs;)g#熒Htr)u5gz2M?]:C$x;]!83.KuǼe6V1E͵yr^5UQ9JArZjnδ8r~CtE7NBV'CiHyOܼ xt==6eWc=N0AB` `ܢSVs,$h|:x*Kǂ㲹*`V/?"xS#>n+f'SmEvۗ ӖƁ]Ϊ`S*)M=X} 3"!ʄ0ji#Q7%R@~֝_U]t.S+2tCT FrqP&J-pcj̱KO.Y?*ݥ~vp?*/#VSYk0͡;|k~0DܢulOVC61C$0XՇ>(S]'('|PLRf6>nIQhhbI6h>2IcRm熸اZq-;6{wxx#\1j|3ꁽhsKctuJ{qv;˴v`h >C`t~\ݨz,>η㪌S\o֛w0mNZOZ?7fOޓ;URo]i= , >/=;\"*_3[%Gx'jsMx|/3y%rC^O ሄD`ArOmF՗ʇB̻shC6S9GJɁqUl& ɠO˥m &X&~4^pBXv_[&ƄwCe~4m_ bzl@'hM>r'v\A3=qa3CQӞI"J'(ܽHR~B"[?3%UW;8Nl&]`=-ޞ7'F["bOR9hA=FXN 0w1˶|q=.i0ZH1-EJ#w(yJ"/rBf."i:o RtҨ>8gO',# dw|S:ltȔNi&2P,[ AFY ǥB"a36)> % ͕bV)Zy`n 4ز4ʡcmf~ Ao&DpWƱC8H`(aBTR+C m$fDZ`muq?ͫ[*]H,,rU*kX C}' }&?dJbS,!߬W8J+=ʵ ЅbkY^Јd DIa:vBAW$;b 6#; ?m0i"&/V5DZuѽ1ս\ Vi*=’$c-6 G89hT'2ѥB[|M^5);S?O+ h>q`j{ͨn3sdjǞE­Fcl `i3uHE9o`I]̸I](4첮ޙ6Ik6DŽb>#~{,)*hǹ]24Gy8C))i§ O?5?Pd~ YIV%I|-,q#Uipzvd?8IWHщͮ= h6皕PB['o*UNC].il5hA0>:r)k@ߔ|?c=݌#FZB\ v*Cx"*N%E.7 7a{s@O 99uiY  <]٠mve!If$ތ 5$hX3;ce-M[}[e_JaޕnD1ݡϬ8yLF8FZbY?oG桃 0Y!ߋ>m^I+n,T` P%0M܍ރ"ie 7/L~hF…XeNg{w9]xy"ƚڙ?t=.wt=;'nZe={,aE>'hi{ߧ+gxWq$#vV;ٚ1v0 x$M>KE[1&F o0Yn>3wEӇnuyؤgf{u+c5HEt@RmVգcrʨf-tklxPѢe' h͢/5Z(= vzO10ؤ{5| ?0S(g~?ied俛O9U) ?R6r(J8#HACSno|Zb_|jnц;ܧгl)RN z֍Z' >lͮ3FpVKNr:P+sO?WER# )8`.癢Y]xfji#1}Vۻi$B[λ5H\w"=BSҘZlM?g_ϸSp|zP ^+&/$b(LZ)4~է'4HI_@d9.Z$+nluU_Eŗ } ɴGCh.)G '54j`LZ컁n6>\+um| %2J:2_t2R15Iαl;;v֪7G0.}B9Y汭uEtZ-c邽ijA~Vx|P$ t#= 8ApeO:~-"z"}.u*w:7^ (IllǦwv'eKBĉF]=N-#W wDexP̓-*iXz {蚛=חEX-Y[+1zqv)xFX5Ҩ_Nelm~T+at(J9_I^Mһ|_TٮuXv@9G=T7K&Llӗ^ɟݎnv0౰_  Opvއ>lBq5źo>v1`0%Qo-|q Dbn;y3v>A8%a7r~P+QMBI:柝ZoU@ ň9_6wt"s+ ^?V'aCdA7-c# ]?3eH]!e -:X8L0:t1%֬ M8mo"V$%ڮ'T6~P=ze=A <MH΋{ eب@ ͌v+;}K[ffv3UA)|YU싏',T`%6}I[E>]dV8T ԍdO3YƔ}axER;mӃ\AEe?%[ʱ`C=L۩ۑh袄u,*k ĿgvgZ[_O{xhڢOCsy4`AzgKl_wNK2t>nInv(2x3~AN6fd#`M`;c,!M "ؽ!L~X\2~\;V y| P]3|l u#[6d-#T߂=t\FNh4LJ(_P>B:G KѤax2FhPZÚ܅W) !_n-Sud#EcQq9`t#g:w I5px–0>"%puQ=@(Vm'RX8؆@؟9 iMaLz#VF!jtd弍6tO |jKtH["à AIͧL2{`2|k3`zXђէc&!e""m]6cج"P=qWx3OWM4sZuғx7V)ؙ۱q/qpߴR~P>;|ʌT iHTrtAz#oYn,O}r V$'&GŤ װwpX{4VF3%^ns!e7QXlja)Wݓ۽sP "lA`@wfՇLGA&"kV>ؿA>Jِny&ԆB=V`{ZmqrJwYܙ[ wjK1̵-~)3W nsaG1 01>rF6?z^lkU;X P*R`B$~(DDv )G.fuGYR7ʕ]1wЧp&Stmv.U%_cOTzyYF9R0 7^49Xtș`Y?)Oy&(wҞUHl.ejs[+ߊO3jگtel4VxfgLž舶{ ɵ_w5Y8܀?2%䞺USFRΈ onx^#ʢ,)P}J!gə,4p S_ Aba=O"A[t²zoN8N{ײ7sWz+d3M!&= iuʿE XqIoEk&]h:Bn+|$u.dӘM BՋPب~՚2BDٔu 5k5c lq@84OZ??pdkKR0]z9*#.F %pJoV=+>+L ~JXbd=4g&|\6c5M Ł>vd_hOJ\d91Ms)$"L+,FAx-9FN1{fjDMxD1 }'j>DAe9"B&}X)RHB=Htjʪ7%߅=$ 8Ur1V7;yZ*=w{RAr<_{GU]L$'VTQw4pNvO=&} T㜔kʖ4oBzJ/]PƕRi""XXxs(i.!_`ţDѲ~kwZq΄@RRE WPr>[,%aUU(eUtTX 7{TI #l:L+Ę7^ ț{wI$~M=cķ}I n}y = L=}h$:|'p$@E6F\~#5P WF 8QM*dRmcQ=sX]\w6X?ch_ȉ?(IΝi.ɞ *nEIɿ~Dwysi[B׽k j[t BD,:\9惄ڜc }̏]o;P)9<\'i֦6 LEd =>gԸ '}1^}8ZD_*H\jDK2eȒX ͭGȫqڢ`N"/ɣdPe/)$3s-sunieh FT+5dz&1D̻> E n]?&(\*JSu1ݗ+<%y t^`Ɣ@3F~J4TG3gehQOP`֩Qٙ8"S!Fd~feSjrǁ깐{//?zlЉ| g 갿92^D1–1N~^Ƶlm} <m^ (HZZKY|j80A4[ 8k\e(ZcUS_,3$$풲ek=s\WHMj-JdJ^p; /0׾7E]H!Wǯ}];EU{j%14f6ewI{S@̗mX9L]\NN ]5$="88b$HhSk\-ghŕE/f rtSU0QO^vXΐtB| il B(nYިW0 4*΁jjL5$=cdl#&d*vcs?Ö60@vj{X:hMxr$HTSEdguY8r;y/d˕>;)b*}Yfö͈\_,,$}{m|_i=†TcɿN}\@q J ol_:WdCЉ~_m+3Ƶ7to+$^E8?kq! ]תtHPW1u"ddGfo!4QVpsN  *mNi[y yV\ }ۻ*.mqjx*n'v>biwd7 U סȫo^ZZ0;rSzVj섊\#Ixf噸mڲ=(&EOˠ5ǐ2m Kdvk -Pew?F;٥+ ^4:d܁U/%cE&j5 E*X"E-ͤ |Z$\cjY6*haȩU\ըUTTHT#h*\ sYΖ=b\q"oᾦ8yL sĻWNvā`CCkjn~-MnU!.+N£T @(oaz44(y@%BB Pw-e|vӌJ2[9(n4pQAZx(܁cX>҄O ]$fSjwS֭~S7T}r:@C*3yYV$NwH ETQ1UAV3;l4NB[!n&IlEߵ!]NY2ĵٜTet̋ P?6P9OdM) Myjuˉ)֌7te6 LlF.x56nęlvdu ٲ]_` cu?%qm:L+vxQꧩ>zIP=1&HX5$:01"2AxJ8,bBi%%q_jZTr;^9롹$^+{3~_1ԁ>&R࿑I\UyꈨDbw tOʓd'!M[?nya<plHOsI6OqB;٘>b9Zsf.+#ұ7Ko@S^6s7z"Ѳz+'4&cђXSAE^}7 ҰxyY ϾRh0Iiس'hTO b >E)]Prp`}e6xRSwzFE̫nM3m (S\c{ Goi(a#54.`4&;͜hm"5yF>jp+繠P ZFn9t~Zzsw~)>Sh[xK".&\׌cm4 ƫ+`EBX+Mfmw)Y?)GFC\KֺKupGs#ˤP{/]mjc=AjcaS!5x#&rgN)VOy3`t2J$0Z-I4#u,^DCS̞]ȫد]` Ɇjk})NlW(t"I9OgF,1۷d_5v]bT_evbݏ:lˆ4dގ1[p\l1e;Ga(T\DBT;~.Μ!8$RZl80}!=aW4'ɗ痴MY uRwTe 4kpҗ7:lC ŶקM oP]8;N.o,ψGxoT}\cJ6ˍd42~|۬4EYGF>s2aNԚ2Y;MJCIǏqV[b\XPS[Bs;.FPR&=I$vcA~]̻۹hMK|*oQsT.{JEhK%YckG"m(E~YkVԹؤO) /ǣ0f5 rJR.z.ð&|fQ3n$AȚӆZ'`{`kr 'SQcw3Jp~˨bšãDL)!!ke,Pk \0jμF`A$.2H%RǮk]zІgը1ӍK\i%Xg[F5f+N=,o,I>ڦ>JeO@f)F/y|͈^A=;%0 IU7v\7(PYލQUHԏl;jg)/XכqtY *\ٹX A}`TySMr4@0r^+|ljBIe/n~?N*=L35|󏵼żg۸ʍ™,2RD;yEQ#(j&gW&|ܕ0[S!BfX1Gcep̣tAobmVl <PQ8?e0Te#l{[{Z!!Gzo.WJʅblH]ZP$ްY'b(D.:&G"4h5@Mdy ݾy?{ ;ngn"7S 1bQMBs (zRD̾K, B]U.nQEh6?S ERZlyq;Nݠ/jdn ~bQ]}xMkہޡi$rfe5s|@MV VD saXD~|$&0ЏPYTHטY' 2 $RI Z^Klẞ.ģ9pox hsTGe;Y6*:-s&ultz7.8opٵXlDqk]?ROAmUn ϟ-깾Dg˄A!U# JÐ{CMGDI9@u\AԌih_lk_s(d$^awz7.MxCØ ^t0 ”hl`|C%(85V"[8h0W(E4lkN׸/c"~9rёd $HxwCtxCwhѵ[(]|up5-~r60I)- Pb]1aA.hpd}?_*Nie M|{3F̰",3sZ^D_ Y/GqݹBs46һo qGA6'2TR;>>3wU_.B:#owywuSWQWMlb:d$ $NsP>To+>Ӌ (:D8*`<6L6i?Sq թDxX ~O-.e"M.y@R}B6lrfr$@~K VRxd=N)l{<F* >1i֣~Fng6H_><ºe4"'YXd:6tqjoʪ!Lv{c&97h׸Ѵd Y0S̹A =mث3B^O SY?%'d;5: ;l@c@Н8Pt8=FqIChp#g@O2o$A]z0?Běsk!,Ck"#u6jE~st5 +2TnO(TcB?gK'B9j0N6Ҍcu'RիJYeɄ@ e'(~?Mw{1.|uctw3)j"*yZ+aLKꉋչٞ݃ l<)a߉H.}JL("*8 $e!qםIV!%Vb!ov;ノ 'R<ИK 5'5Yd喺Ѝ)Lwƒ<`&uF]wb6.P]@d?a,LVG6Ü77O0{il#QH&OF8%%@w\}+v XO-3Qgdr$ M=p_bJOULnNq.h0K`Kn%pii*v:SrRY"_FĈcaGýG,V鏕_ &!f&<"̈́m6\q8AL@EˬI}!*eٹ[҅Ĕc 7\$L/#1A`ym rR\˰5=sv$:צ%C_+XLO:D#eF xAu! QótsT!ܬpKWWdEKK8G@ &:g&X9Sv$  7ꆐUgZ*^F Rt64 dqGӈƫk|cDŽ 耑45.u 6㲿bpPJQ+5W\o6\y)'JJ+36P&KUIJDZ/#2^8N*w*%F2}sX%pIudYlK|050e6#1T4a`M4>~[L33KCܣ٢SZtHb PO2 tGe69qo u|;D֯8z&?0Va;\;Y,Ce] "̍uLJd\x9* ey|}빻 "ϒ<({pf9 aEO6r{],!Rjm77LUs"6Y8(1ؚx=OOȒwZǰM^q+­x~#߀y ?*XR6^c41]80b9@mv$ IoC_K:y`Pn׻IO\pwIKk}2ck?x^Ex'٤dP-* 1w$ V|E7'xbip X@Ζӱf;wOd;d*)@=n2"KL@K*iu2Iκ3H_&TN-Dw]}CB6C1{oP$m^%ծLX|> 7ôKbF#HB^DڡV OR%&<<^HWp|na[]uGCuTCWL ) Y}:N!|7KӺҖ[Q4B!?OmZX 'W(Fz?z=xxtT9/D$o!0 fG'YduVLCl;egm( ~2GjJKtg],+aÒDM;T/%10I<`*b좯,B'-kr fly{ ,.dQ,!Cpə >Gm-.fNwy!+Y#`3pDw JY峇=^spG7AA`5$KCI*6bkTxG}edF! yPvBPب(t)5p_B٠Yp54v2d +z)bT荔!}8b~1,e,6_{ (QE<վ4pKs'I``ZX^ *. KKdJZ|dUoEe1G_8dD% _-]GITZg7 nGFJGՂ 2sAOw2~L܈VH6)?C>ܞP{# µ?l}9̄Ū{*ŗ@wG}?'6F{$}I =9z^XSq0-F( Ku\C:ZmD^: N+?Iv?hu5܇Okf/RE1\Ck Q,/xZ^ҝ !6pF0:< G&VH c0j6+=3B>knPiȰIpt͢|_d` DZ(;(z;JhB¸{9[ A.TFwŏHfx}F:Ѡ&jz}7MfOb>ųep쏮T T."]\0Y!$UKF'?? Ji^3n1wi)~n(׶Eki <)hٞx)'}(78>͜gu<ԫk v >6gF?0kS ̨`FyW=8# $ Y$V_MC‚*7j8Fjș{0 %>s Mm+UK'';wݮmiuDoEj 1gߚ-i< NIq m*;!DIݗ>}Xæ;>56w; v ^ 9 RC0izfC1Ɇ )D+`_ms^Ͽ`a330 'NE^y ĸLe /,. )L] $<ѕn\Øm ,ql&SBx7#v#NE<#/ۼs8큂qa(:(a`&`:.\ oJܰn t(r͋%,)t/I1 E_ur5JY@V>Ujw\?'gK=hVBWO ?88Y_Z`v>GY Ɉso,H@TFQ͆ y"lGCY9*Xxm*/&JMcx}˛nGtz7g0$.5Z;3>;3wǔd:n jWF̹maRxӓ:˼yE&auS;kYJym$`<1߇2}| u5C9ˬUF{<ghс 5tm'9#<;!o?DP;( `CZp$VuF"A%<ӭJ"cxꕷ*ϡ{ UG-8J5 &r MhV=T0s$I9!o+)3C{V蠕Es,˾b-'.S˂wKtD Ym/-^X*ꦩ|qeO|t47K擘Ppu)y;j*&f`eU(&nHW7ۡ%0.VeHRAB|7LR3 ȽCdҵZ9Be#uW,;{5X}ڋwSA5ge*+pwxkAXz:'6~,!ZLIEY3ۃhB!vF=F6 n:T . ϝ(yC_+&EEx K]MWl_\ +. ʵTRK՘g%fuYbޘTb/ yXEzTvdL?"ia_V48ĔR N3*"e@pρLJTyP1 2@ *NߊKB.ށ8 Cفtл\4A(Kit'(9nnf-@5-P5ۑ$YE>L1Ʈ-9<zlcU;iI`QvHt#J&-ilX"<)8 }^@ސQDxG9,ه]uɾ{{\9w@*}ɓxፕjB6H8/\'ɿu;{a^ƠIoj b7"U|]`$q ,bJb4@,$F7 '\ l >bp~7 $fF4cGuA@3sQP>A%A&>~Qa~o_poTW݋7rɊI ?N #o"4b'o MM.Uk,0A4)2MfR\7gJl2<Y;C'[v?S (RɌX =d&cYr䭝ҺG}y^ hU33O" GoU# U\Pnգ]p/v,^hl,bDMgVnn;ɣ.wJwІ@La;ɑ;˕CtK׵Gk.ߘ] d E2lʦ38k:%vo˻ӵn 0ҶW.̹UMvFl"VWvOQ^9Rcn*EGbĝC`T&0IX# :Cʓ$F@N;VmPJ~/`jNمi|@;C䝀ݪ|V_y$t нSB ZĿ M`pfwulKB"=(=#fJR,Q&i^v6]I'S2ҀJ`1,L8O(X=ws YS %,񋡲Ph񱫚qxfޢ8UDyRMN*b%]lⷝqSB7Tj\ W0g_fL'gߟ#wx^*y"Щ+԰ˠYZR'_&#D븢_R^$m @`o;,[S2 *5/ʜ'^=xPİjS(+XIq`v)@?e vdן=}W!7aBVߐ端M]Ag_ГA֭pPk$;t&Uͺ$r_@P/5ͺ|:SI}׆J耋[隣8 d++;!k']Y;,yHJ&yU8[_&~q9Kf>oɃtBgIL3; ˯TX'csFFoD9<ީ7"= 8v~gN +BdSej5RpOtTh#0-rW #Ŗh'S"wÈSߢ,k1F3 G6lRhtRou|ݕg 7Du&6}Juc jHT>r͒IFE 3736Gm""CYS*-,CJ.cщLf/ouڦ;F=Z+pOmE6ѰָWFQr\%2\oX(JHIbX-ײz1T!>*^;+f;nC1cFi bd)-di&>=Bv>?}EU$S'%^\V3 HfiuY\ƻ-L15ײ!wUOewhy;Tɒק)7-rzev!3g*1ytvz ߚ6PљkRa}7(84`87UXm{sg1{mJ"Q/=.lUjW0%~'غ ^vNѢ>e׺ P~0w^- Z|〈QZL>eIoK"CE @bV/EEvUr"ۖivV?< ~h1᧤oggp*se,{A! 2)ЗOt\U [ &"H'V՜0d 6 _Z7OC塳|j-i !uK1"^ay1捆Ojj=rtd)zSNh@ֿ\ J *f/gA 6tP#gN:؏l7ZR1'A(t!1c'i[?ckl(Ӿ6dpoo V5^[Y4n}%ׂG#em=Ý\j/b-` 2ScҎ:+;u&Ʒ,Я ̀N:<1 Ё!(;w)h3GmN5m|;_m*7YRe&ެ&ah`T]L% 0@/*K27^700֥"Ar,?'#x޶xB ;s)^P ^?a9bM󳎣pň@w9~;EEND6Ol¨.( .Ƕe#Q_;v2l8`{L~ q;9A|"fV3"P_Txmxa$BdECFq^M6 f'ogʳS5N8g7"M e:J[jg˄>T&[ͣaE\PQR>0\f 7&mOܒفCxI (D#[v:`J%LHigK !`͎hЋ\@h5e{_\7=?,7 \'8@4R4m,@%6fQ.SHM{`ƿsqs9N.ڣ26k7C+'@<f Blr=ԺXgwviU9WMB12ǜMH9-Ksķ|~#`"c%sPMƣI|ߴμyǸ碨{cZ<\RrT;AYk>. )4sٸI3X!=7Xgl-:]G>\ =YEViLa;[~JxF=X%}'2vOHNO:yJ+;wNDžJ͵Ӣ!$,SFDߗ/VAlCLƥO\ 'tSճ屪'BeG+8V7A֮"7`_)v:C9{GUs5?l ;AEH.]=ghAWYT1Es79^E):+؋@zZ~sM͋qi> ϡ==>ܐκ]c#Vy _D.s?ި!CV_֔ļ\3 +]RjzZ(POBxOhc·#{p{&99~_\k0pPH&1^KXI0TXm[Y~w@8@|˹> e+= `^AdRku[ErU>Њ^e'< HmvxgXmig؀Fq>ôA;bTTꂪŸ%ًnr`t<Եx'+z˾*TBCgoG[ ˽PXYVpz.}κF^CT"P۵AXBo8=~|a.J`qۊL:z@4oiWLĆ g\?V/"Վ4Q'+Ȗ0⛖m=V!<`VAԈS-'2n;!zMp.xfs1c F E=qL80V緤X*GY;`(ww9qQS8FI0PG8? pjDGlZ#?. ӨM9gTPV}V&"[A&?Y+~~mϔٴtCr;$ӁzX]rdjߡU-Tm j/JHZbЕ6Bh粑g˝#ndm[y&?%RTkat=-"LBꦲh?P!]? ?շ{˖8KŒ@0Q й(68!犒07w}7CP:fW#c!Kڜ ޔXcˀYRN/% :9a9kfܜ2^sUJ!\*cC=E;M ,yyʾ{KB;K@j?_K_.&W `[v:X")ZDu82!,Rd,8]Z&g S5ڀ>FolL&;禱FĒ8tG*/bB$&i^ $}b?D/2D25>e|3qC_+/Crr9cT^jUϮK"%R[@"hslCYx˼'naE6S;s!UȖ{4h؇ltѸ8g -o47 f~FP`pG,^sUY0  n_Ps2 T|Ʒv38l?|*@e3f9 ?FaM&N/ hm`Tdx嫿 hn&6 f)% rp`Nuf[V`$;:SQߌFol)φbGe?xGGaTE5axxPˆgo |&meu?aBc\JXLq/En˩p+.j%_%Ub'@lz,.reP^\ Gr{觕dYc Ȅ{`!VitkؽTOϻ,\P#p1lbiQ;9ϓF@r}iB4*ǰ2Qs-YR@Y[z`.i)3w9i I*\@L:0 sX w!mlZ<ឋoME x^~* ,}m7- V-di`sl؆fT_/R-;54Z߀9d>g~Y\@KldR{dF9-2zJ:Sf cKN_ϓ)bKPmNbɎ O DZ`AM<[SEN=&ڐKj{ҡ219Ց@}@:}C E\p0`U%+P pNo.m~)ȉ6Qԑ ? jEZطF>QR0 {A-U#E!|X_JHUJx y&m8M  n3_3DT!5= :GGw@0gںQ|OEf^{$&B`B>qHFJ˕/GcXLGX4#J>JN% \›_DjeId*cT7+;>y@c~sS5B x8 \=I>̕p+?hiiCK_=ڶݨmX 10]c50%]%aTl$*:*(P$oDe/b'$ʖ=9v%J]/2~^yw=cj@Q!/ԙ2=PIYJ:%)˴Hb _%$슙t7*;O֬>A4޸ `8µQNnQt@bv5K#@z6$9ܠY{7x,&\A5^-ֱht;ϻfcRAFdnmw -m:qI./IS42 \ոm$ܗ!8R)ؐg|/f E(/ST"X*NKz(}قGjMfQaN㴌Uh<.uy ńF6HJYYj|!3: \Ea7dUR;#OLTj>kcw8x0ta֑0aE璣vUw xb ˱~!&u 5B }a׷RgT0E!`ƇVZ['3| g@ʶ9`sHD3T6gNjX-+Xe f >ߟltIqZwb*ЇF:GdJֿ6e`@LE4JӺv' S 14׃Qgm&=jow`1}‹ %$cn tq ' 'o"$2[BNUosɭÔ>Hl_W̒iPtva荞@Q9eCgCN8vs_GFd c>R% 4`dzI;Ȳ<ڃaһ)W.clƅEŁ6<Լ:WL[]I\ W % vC+Ӱ(+l+]z'`rב{{/!dR|EDSHà;ӔZxFvKvK1 (29mIphYcFY7Ӆ,<9~b/fWs" nOE$ɗ r.}|ƕ9t\YNW/?3aZO⏧\ZM|Zv9{5Kv~ۥ=H#*[#Aj{wi5ᴱj hqC Saf.;{wzwqF80?1~ȯ&EP΂YNP_8AKN/n0WI,*6`so!SD?0)=צ&t'\ܻ6C6q[\e*=^l5!DF $wIG۳ˉvEWwF={lx</'gA 1 vP{K1AL{}Rs!]A J~sShQX'u.in39u( L6B/xRd/3ilĄrT{YjӜM0JXNX* PUx_x= sQ|1@\hJXej렧m\os5dtO=όXfMɳIJj0ɩz l7ˌԐ`﫷2\Q*2Ɯ8!q@h}t/Y$`vWωMH3[S .ݕ͚i?~_ҺPoEX-uYXd[^!U-}!X2`yC7Fs6WWYNOt?͸WlKRf FE٪7Iբwy ͱ+2HzEfy0=G]MW/b(ydT~7:3xPu. mCmgw},_E*Hz`}ߡ6o$ګə}%HTCڌtN|n+kDQ쇙-7~|!&z^0(ˋ w9#ɫb [QN;.>/?@ڕEN #T] .804URdd%VfJfɕӽSv/ 9wC]-'AAn"*, S9! Ҩ^p2sep={x}Dr|'{u÷{Vbʿ XӃe=&d;6)%~z@F/m&i{آ֗9u91(. 'IяɁ\iBGlSt8_5Wo'v3!wV]:ZK_NiTI b~r4Ǜ'd^^|q V f VQϕrXGX*#(/ 5=v{{קٯm<_:O*= |w l)M;pUdEnllHH4Wb1"{/ !W }،&h?Wdu](;`I0@lfQi({9Kۮq7HĻ\kM(>f'9#F,pp-oH^jrR$Ln֌x^M"B$ӓ_26db}S`)0FSnY'U7Ў4-g\(/iUq?Vtbg#=$o~p2vx6V?1΃V?`'#:,Ɗ=' =^m~]o\m'r d6=(2v& nuo%B$65t/*z(SQKG8ti.(N9};͘ڜN(B Xsӌ!) {$ujƛ,B`р =6[uV+[ \S|bt/gTڝCtag^B-dFkr?m%r[W:_} -6@\[_G'Jsd@tGWλu{Ijp^ "?,FH7cBȥ'LV cđ&n>VS.59!wh-3 ;eЍ/*aX'\ ƙF(ZJẻqQaP];+ h RCGQD.{twٶn=CF*AS!f @: ]}֘nTؑ2F){H>*ys> 2ppnbxgch- o&"&8UzC#gwƵDIqcU Ҥ())la<3,+tڹA)Ŧv`ژrm͋[^p|'6' ݋ɻq *y~mwwD=oVN tR%Y-o YzV%A|F"W D4g0`/xPmxG(<v ݻ\CC9:._4n`oJ$gCSnhZ=H#6I)Ӷ<{3&0 @GniDF[߈OIO#V7RTfخ^Nc*4& B $„P.f_ŹœCf(2蚭e}_F(=L1S su_jǣ Io:cxL.CVn/Jd53Wsls]MD'D4z<|S_Q)n *fsTfϏ+?->FۢUvY۱j68Q.ǶE9 -r22ce/ldײbз sj2yZ/K pN3oh]$[\[Whj,lNnbؙDKۼŋa.F3NŨnKVi }ȩȬ2~ω\^p[b& 3`-zj5hZ&c_VClVw.mw'/^nHX, C P;U1?< 'w%j#nTg7M=ˤd/qU3Tha#A45{E,v7}؁-e.q20LA%,ѰR& '¬gRvHKcJjH*sK r{ZDIWiǣ}em\`⚃ۯeʲ,M: kآtXi=2k]\ hU|s#`i:V2ܶO }5§1{t.E85TLQfXLZdj D#PU랕3%uҌ80EX46W7,/|i6:D.)8v#H4A}&|PI2ɐكh #F.#]:pPR˯Ǯi G7r_ ߔW A-T8qh= W\m)LeFFzVBspIuQ,`'ӼMq=fXziCoKT]]Naz%r(ZNKvŖ0M+<_KsY΅k+ -Q-پ!V\Y%ڇBdD.[LZXKdUCAQԵ)Kgo-`YtnsJKY/iepaVo Gk1`2T.P.ي>yeJyl>`+q/ҥ4\qo$."͈)b)q8ȯ,-9띪myC jZxuVytlc8TRhD+TZg#s 7@j;rg2aT(J0%Y$‚ڣXh{#Y ε8b1wow*΁FTu{śsfJUNl)ɢ75Ԝ44ܗ \H`fPMc?70OA#O -:p%$L8RG ,О鍁~1ihgvt/9we@zбvwY?@0u'KRݠ ms|W3:YT%C\pl#ނ!*d5~9'AdޮAϣF/1/#`:J2UNɭA pQ3A27[Lx8sXVʊؚmל7L">C%^Kv$}FwNRA7_{#P ~}X4[W,Y-71W~k'򐷱Kohy~1vӾQ/>]7]#qTubfjM*^DBhw'qdHFk7wVP|u]聎l0,dj#K2˯F@P 4Kz4֎ C{+ہUAQ:fH78?bT+$;=ü`o J%)<$,ZB5X4k.xя' 9;#q@7~]GywSLgG=fP3W3它w_ G)#~wllN]̚#^.j9MKr(p ӫ͖oёbE؛R6Θb$}~7k8mLM2]4sKxP2”'o{Q)<9_bsʓ컏i] `,#M̫+?< )ЖGge.T6}HsBFC TI H!jRgZ_5cвEBo;Uj1S1o;8OL\jykZȨRa3wzщo~F wAW#AuE9WzʏHoTjJDS~Y )t{S'ե?KV}.B[(뺰\OWևw,e/ Zл~NV\yd=@g&!suϣ>^F|e{QJrjNA+ALxUj~Iv狷f]Q;3T_dSv8Y*p%`Q/(;T,FC t~5vݱͣ};)Hc9 ewͲ8w@,uBnՔ Տ 3 4We5ƥ] ep|HK G.5*>⿖yL&>?&E]D݊+)غ ^`IѶ000F 1E?_1ùFMf%X'J|]Lb4ZT|wf]d&KD@{^jxz(…yg R*.iRx8#^ ґVւBseau|PHMa_lY! z 8nw٤,f[ԶL^5K9J#.U[' l^{6N;v2%thC.gn4O)zN2\蓁6h?n H$YUvC!D~W+l mZq=N1,;N8񔢈}UN$;_c+ՔF&0jB0JQZ&MxCS3oXA1C1ޮ ]`)3@e)aYSi_'Q*rΥ Cd pfJN}LZ{o #A, NF tT+B?#Q n+E)ֲ70Ѷ_F[%RhW<U\gw 缑7^[ptb,n1lە {X|XKdr=KK10r9l-@BwkĖ3'peʍ [mzRk,tLᣱyH Oٮr^9\ӖR<=RhF$t l_mt/E3RRd~潺%q!]]qEgT*yOnRORqIRZIK/E&6.{3dLTԧM u)aFO1QPq(Ft52BG % S^Hql"./`0~!wLS(X3sG ) [`+-9*Qa |!]Z&K62e%E+qBL,;{\8 (-kMnktCn͘v5&吙zBL^IG>v% |Dh &,#.xVfBx0ċB:R+h*< YYCx 8s `/UR\)YXb X3X.ƛx|,R 51)RY6Džsbu "OT_?=H@)ީY_Wuv[.SlެY[-la;Á`!r6Qr<ıؠavC"9O*܍/Gjq鸐NC{n,|UuFt'3$@ĉ۵JIy,3tduj3VbO΃Ejxt_Np`7*$ZFqdE uܶT4PR`K(!ŋ.:F`ӧp::}&3\ ;*S痢-Dȕڊ8ך=< K]s{q($ܫV@{"auJ 2ÝF*YতXPՙ 'kWW_+j҇/r4.0榯* '|JDg5AGQv5 hΊx]my g2hqs|nԈ{6L\ͽD[Bv&~r6&d"7a5}d{-HBGӘ`@"z`: X׽De|wշ^꩓RanJMR҆U$}u:KRKŢ&Մ̰7<HLBd/j EQ+s2i ,1T T loЂ_QF&NUjjTSSKe= g?R kzYyh&@;ց!F+[£lٽ g%cl:ڦ ȶIM^e=P M>drTBܵ/g%~Y)6gq`בNL ^ hCU9hf+k^mM:?u։4SqC % cfT&S{0b)"}MI1ڬ"^nrXyͫLjшʰƾ Q By+Gв& {eDְPsYBQA'Z\tA =pnJDlm 5@NGqcYXfdz\DrF-ueDkяFKԒ 8wu#r'kɧee[*f?eQgDmސ7Of_)iY!\^oн}ATT|dLTp}dPӎhcssnѺJt _f6D L= 4">O؅y/K.l\qȨq"zeɀ<|^-j,',Zd"}VXq;aP)quhZF E9yJ{N:.#y.HF_)ޔg 耠9ɞ0)q~Ro 5 G]*UJw뤎fzƹ[q᠅Kyo'enZS}#q%))>K~5%޷3GV;&BO"E׽޹7|S]0lAYߟ= 20_vЉ G)7&?Dhdnsv!hZm%qN,WsgV Y̿Cz!prj?Zuе;QĦr~/˷P.t~Z~|<kԅ5xZ.*V]?;!7/zNeXk^|Q&ȒO.㗝,W+ #D=|f w\͒wG{V[뗶 NaLJԘpe4ymJ"讯r,Ѓ@ɄmsC #kڌ#0Go->M9XiSyj?5Ù:B>gyP˞^-"_#6+]'0DX@ : Z5dVИmY-O} ćE lϐQrt)C5Wqg!lƉ]^rǑh\tyH5:3fĄIѻE]ݬS/̳҇MT7sB}״V66MX6ܵ!8zPNՍ#)‘}=,@2G֘=FVw` )h6cDK̠Jc$dfCT*+s}e Hf_b6@D~}OPS!<1 5~XiiӸDCp#O8ywЛlKWHz};>J/:8˵K=Woκ$C~WrYĢWR;q?dHPi?0k bCQ`ȌFdTQSIj[TγfOXtm?w1Z}+~x v#Pcu.# 6zfUKkmm߀hɠ jIjsrMJw7% ZU'%ٞ[A#JUdVs 1Qʽ6JqX3*3 zX=lL5i>I@CʛfA9SE_m-N4VC<[Dkm%P |]cUE{ <ck/ '"c6sXoպXNS[U]O}}5m9 d~g9.KM^ٮ@(<U{АثmYQDSWN0:D,U. %.l[:L5 3e&e RA=?g]5o_*[#/3TAC,ƃm+y['PrT ۔UtpѰ !9Lj"G|ScjXdyԨ5CdSYl C@+H¹AvD}f:d:߭P(yM/#Y Rڎpn# Hh0|ݖSX8rPd:NKч'a'O=M󈘿'2Vr?;KFy^+ܬ)4ÑbUt9g09>8f,'nXilc[]?V8mEˮ䰨MUx^G+liLsDM¢i`0/Ld~*٣!K^IR!+Q]F2eEC466lCԆ2I&r(R>6,R7z"Ky $5M}JoģBܱ5YI!SVҜe !>R fiSw{](z;lTڂذv_V #YUWA01U\ic;{d[8tw`]1;2lU*XmdniiBf$y8^-qy6LXW' ~G (ҍKb xooa=(brs~\g$\G|Քm=CJ"СK9 1qH&4d"Rڵ;>Ψ Ɠ= 8A@_$v[Er:CjUX~VyN6,a"w֎Lֽ[ZݠI(gkoW߾N" &2L:!v 4;Nb+er0;hXG*}baiv[_ uUo:@t3#t39#I'D?RXG֮ҒKk"pxw%x2 !2NЎ ^[pt^Vn+CIT3ؓZB8" d2_6eS3rGd{!lq/Ng)*dc'}6 5׽C V$S!CyMG\eΫ/eס=[?[2GS|v)d|33c:oE_x#<[BiDMh믳@}F3dTxϪC'|rI.s]{LP9?HiF|ʃcX TE ")?+ !bMm\bk [& : @,!N>H',_e(.!NJN&vv۵*jˇ`{aX02ÆӀ~NH-͏C@ً@LYr&oCi#xg $|Ordj).*4,ޏ#pcOJ%XD+3hT r,Ņ1Bّq#0țV"͇@Zw?rrdGd?$0*lyMM;1u<8gegS3rw(rU&| F&~ʒ`{z,^;A#MG?qOn*~h<*c)^ZKct0$YTҲh] Fp$2Y2wE0#Ӄy֨e.LzEj Ǡ0+`}.\:ŠZiʝJy8 [Lr@Z\Ԓ -QdWz|/MWկC#;w4^%RM/ǘ( ,lSm߽ c &k]ͩ٦}t61T+l$OWInܯIwlȵ{1TШ_m2$5`:OIGT޵7>\E&% xhGK3-IbKbS (ϯ:vhrY nUgIEyɟUg(Lr*ɲ.:Qt|Pn$L Ud8SQr׋C̞۝(R&ذqTݞ20Jɂ 5vQ5J'0HBWbf+ p}vbt_M*Ty[ʣo2I$TvIε21b6uX`G#yTU|>x]d#<*æ/q[sX J[wKya}vvyrTӦ<6ͦ>mbF6$e[VX}ί?^RSlR»Q4b`,*dlֲU٢Ke[f)p_ۛ&?Ο.X.edS3A[>H4N6#ԍ{ ՀT0~hwX 5O\τC@wW"1.`$OvQc$'5Qҡ[nMLSЃ P> Ed{,ȠX h?2=P}Pۻ[6d-Tc0.N{$nu(-I`~:%#+gAõp뢀{}vw#,"\$0azf>7"ÉI4{ S3n#Cz ȉzy\J2k-rL 3Ol04ώ }Z;.C\1k 9.⋳NN%ٸ.%Tc_ۥ}Ofhf]+N}ǫnlhCeu(# 7*ۄqrS<I_ ?#Ъwgi1=K)6ۦ46nsʋEZJ֓+js޾ 2l&B.F0V4|+01l`\3oͱV ,`qIYy6oj$֒ .1B<`q}蝮jNi?Rj]/EZJ>ʑ؇|SUAᲜV̍`*! VZ 7z8Z:k8ws= geCGYas{ n!L?[@pm&oʾ:k&gvzaI|K YX&-8 QZNv߳Tΰ2JX]vwWh%r0@ĦD\nh2~ט^c#EU`zkk|6uՒHl 8fTO獄IMӕǸ#F] GX0DxY x%9j@A*p\W%Q>?{79ĵlH󇥱{~ALl9`y? xYwd<@lT|ڕc#tp10b %#Q6΂j}EP̯"E9UV)˭?5lH[ĐȩߧHD7do+|?ю&3q|xWqVux&tTy2K/U(Mw֝|tPU褮tR9Be/z'Pbx0>p6s4AW-ʻ,'~Lz"¬.~cjq0.v% X\#=0}^]}ʭ[:qc4G#( #,8^鉀~.V`8uNyZ|g̃sxwhىk_ߩ5#1: c0Y(Nq|ʣs$M!dq7A\,L> t򍊉@hYT4wꎩY>>cw~R+Kq!oaķ`0cTS@O\9U5/9cXϝ(Xfsҗv$2dR+mtgy/W}i )}U*";ua3d@$\*ڂmA(kMRJP}Fm8mMw?)(E,k'Gld![oJBJ2K?Gp>p>fP> ]5l7/G!kA{?e 4'ŭ99v !(hf Cn,e%lmWĤ HȹlzPPh_0rqZNGPw'y~#(.BNO [%Պhg!]pj!%q-=i}aa6R]Cͤ@Y7EX4F(eZm~I"@Es@{wcP!\-`eafzsU!nx= F@r?-8m=ɞH%D/oS;6ڛwD:I*5M>G 3/1hhMMB1;P5F.xX~/$. 0!LL<}\v]<{<?rzoVPvg= k2*]c`)y,T3j9%'V5OskCV4Gi(!x+r0[.s]PVO.NK!f;#1V Eb`^Vl$?ꨶ쓵ьѽ& I7`1עCEPO,b`p {QK+3F>R9#>dB¹cjjI/3BA;\&Q8A,-ޑ`'tSYep [ݘ"tCb,,XDy+Bu1h%dfbm޽OrP~LFy>pCж5~(H/V>:h|H-zLa9AEm-n3ā'đO= PA(b"rV*R ι:6ikwR٘nAt⾔.I"ꢡΏ34c|ށy%_Bf_rv]U:mv wG+-}9];@L1^tNXx$t6V3oi8$tzHJ:Z7u:13!g"q{3^ X3۵Tr x8`ZJm}XyxlKO 9 ]|9U-3ŔVA}$0z\GStӌ6\byCp   6^9Ղ~=<OUpG-od?zf~zs[C.r:X;2e:+uIyIX77Hݧ\̈@JVsѴ ~k]^$h[TUݦuf)tObƕUtWxb_őrsCU{;[qd\-d!G|5>a]RkȫW bП5I}!`ھT8=ލM֦QڑG/JǵKX9' v4tqW t_cp[:c.`OY%ۮxk'yxaHSGUr%*Q XT|lR"\ ~wXa:W&W4PFAfkDuO=+xBϏTx :EG |eq[9b(}3}QsQf]KܱrN*ZT^f'btG ").4#\`!ֻd O)Y[5@Φ/A89Ѓh/vYwAq|85GVG˧@|~ŀ32Y? /kdD/M2Sߑny!q|xyBŧ!aWX+"* M}Ԩw)BΚl0R1*\y]$6r=Կ,,}^NfkyAqq~KSYр'y*(wse)cS{8&HKPQVa>In/;< pwO U'M=+ C'ܰ~5q4f,,?ziQ`2Y~gRԮ/R bg^  2jњ;vb= [<{c } f,64D"%@E,jȒ EǪVƢcSGwze`b5oMIи̴[Mha!T˜Mm`;=w*:@~$  k8j}mbwTltTK)n/N.o0^BT!XPgܶ,A0٤#tb ȋl"zER9+ST⌷ 5%M>ôOEо})q# +y~㙂smP1,C4Ѻ# 0 _ߓYOm~Ӛ [ թ UoA)@,^`Qφ"g?K8SX/=1LCe}l=bmGF;YP-6$r}nrzA[]ʏ&d~B&QNQn_ӷ+7(5 ,mPkuK3dܖ k2-9j}Em5ŒU^2@!l65QKqQlkZe9 [.Kl, )Pe 17?oW*[]ኗ NIfVBrIVfX~`w~E˵$#ַ6`"?N9 h~x>]c)S5U;s2T@NiF則4mſ@g'#KBk&A;Xxxptx#ٽszCAxg?`/Lgzya)p\1!q#=-6"P~o}jWG4q(?aC8Ċ@W NtK{FHM>ݚLR =Ӥd= +})NI}?X*xpxSvq9eu7do_.5Q:<y5sA|Q)rd`ZV=jU>61N'О\5OÄn>\â&qt>TH|I tw!bvD>C՚yU A b%Vvq\xZ+91L1IƸlr~#((Y v)bI9_T{Iv;6 yG+4"6.^mt{.=RYfzB>bcP6t~n Qn?])j-KTW7-w&٩ &&ț` a :bCGV>}-sU]jI aEg_-g&׭ }> \z{MRVh]J^._ˊ.R0%t i e01HB 7 ;PTw8n=;~"y{6'b&c`ݎx_;qEw=(Gd n_俟 􍒻jXq<&k.uPKXP4 uUa/Fd_>MP3¶%o @@SO5 \ vXȴP?puC[[23wx}z]:w4S,l<1 +% %%Q[ K=&Z +-\~G)XAª 0*ۙa4[}uZ,47r fs>fW2  ~:/ds.Ż( q. h Ӷ] յA1r:'&bg]$q_< C, T80tA>\`$&7q3BXdEF}ޖ7.x<`K7~pqǧ9 bq2N\뚡952̌/$tq#3V"fٶxR$9H󶏪,~`d+)}0i'g̗ @}ZtL9,I8ׂzVG D#ݣsv U}JoatKj*Y?21ڃ*fMy|`{LlRa m($Z'Mu|zϡm[fΧ1]&{4>5f'2;l!\$oᇗMFb%і] HYJ?]XE`&*B@#4S^6UfzԚU<(Td[=>EB1^qR4 9 &i6[fpӋpZ` @2-MAѓ8냡{x)4]W~ ؜-]}&0t95ܻ7#o2a)U0`G|g^k6XJD#)vr^7C̭oNFwoUR:AnE2:M$Ċm07e-҆u5ce4`e Y0B06aX3cF+s#7A{qњ]9R!r 36q;dI7VOaK=C I>tG9ipk^0~<}OJ[tAg8(v-ng S.:Wh\ -%܁CA`9Fޜu\ypMKw͟#ب@<| Dc*!Keu~Myn) ]gQDu?{8|KcGl,05NH>K)v;—[u/y|3TL((:3HtKK IXX G)I0.VMMU@<7šGhWO1+8E2ZR ,<J+ AMOCgg0oY H_؋b `ɚƃ-m=,3"r%"7-@(Ӈd0aqΗ/xi3/ps$hbEL ]}?q@.j7rU, 7#*^jz4Q⏈u[q(lLN㖏U8iezxҫG5YЫߴd)URLn NfOCiAЫIok}QYϾG(wpԮS銞z!D jiR/䖤DY 2_ʰ@ lbo?E|rLb ڥC~'jTvԲ7Qԣ {{pގ€e: \-O5-z^>JK0I<|;¾V}Nuov6A?kQÖeAq8j N%RNM7aPw,6ѿh*_ B+ 88$_,'=)}C?.Ǩ'9|UvÖ0ݰ~(IJ{Ԩ9-"Wka'mb.jI-F<=k<1Y8IȖM[h9(ĉ-AOJHm^ }"?[5y#&E@a,"TЎZ rp^iϐtսbTU5︕/ڰےwHh]0VXe=j{7E^#Mˁ[>{ \*&ɂ~gQ!!cܬutPHU~eQ*G@sXIUcV>~,ee~4GOzXgxLn~l'.d-v=$j0&qIVof,ۚ'OQ(zUo0D8FLw[ PdUjbSk3mYf3YFef8(XcUȪNNnRT1Hl,( V|$}X鏭rFCl킠n'߈Il6& SQyt+?g3u;'ӷ]'iDc Џ7MN"I<ΐBf;^(Yv-bLw@QM=ej #]_[O֑IN}wkX+W]!kDp}6lLw_<a{ɟ(HS5ǖ Z 5t@)bbH< @?:Dˈ>C+y8D랿e\SF_ 1GIld 6xn 9"Fd푤--Xo>EW̰`,0t+9P?13< oJ'}ąw_*Kml_bJLGWtw;bU:zϬ Tk2XlJ5'?)PD_+vÇ7C-5c8+SElSqIKu g98ͬk?Oŭ1\Mmb %F96G9Ҿ-HrZVUgz Qog;b4SOBN7aQY;>` 7RNYJ\>Q8f!r1*x8S'0afcseHTIYhViu V3.(C=]'g08.n̳釣K2-~ +zß|x 'ϞōwwK풐c;7!tՒx"kwբ2nY/`B) GCL3Gr93wi] ⺣S˩)n &BG ҅]!/31kC7ɮCbS?p+SyI<;L3y9@Z[ƭBd'@Rrl'KK =/>NdY^< Zj`)Ά,SR'mMo0giP:b=U<\O:X{jARuh9qdl&;q $V~3}`;6IrN؉1p.:b I5\S0ӨH{rG%QjGNz'zUZ7coVgO"n?d Y3UvNG urr_ R[J$4MFM mw;8Pϴ%x_)fO?oQc3 -j⸛9pv*}~m/-kS#x"gэͩ# w+G cv'#<`%TVp#̛nD#ݚ˺,#M`iOi2Zf?0ʨ}>9pLM?MR叜桋I⮣qw&`\Q -b=?P! 1MSk)_nFsAO.cJ _…+N^,֌)aG_ѹ7=F96kK Bxڙ}{al{iJ yO @b2w1lB[ᡇQY;J[X3ST<8jKfy[&wx|6@Kd^]іyIjyжh.!ٜUiWޓvg`Oo֟QU(z,-blf#q\W.VHvK~>Q#7X,MAQc̠[q mRoQ8D.BYxB-F]P^v| ~[ÒvcT4k߮:Iu|Y JfGir/'Ad儻Er/UU8vV }kY_3Dy8 Mۻ1H,V>Lɞr)0awҮVHP~qpYlQ0#9yl%mv" O6W(r?ZG4K!Vbס J( FN)aQ֔ɻ[~g@Y]ɻ4j_ BnF0F"vWX! g %$/SIC/Ylqy/1D_^9\ڃWط,%9r:|Eh]o\aW0e%lH1ve(W{imukNРZmW}Ej-iWcf:PYUlx}JTnx9j4%ȉb̫?)b1ҏUMWK|ʟ^y%5-l_A&l(P3>?*"zNF/T+*4ȡ}jJ@dH֒tp ЄivgOY+OVs gBL$(3, njg|RB3%MhRf[# p+aƞ$X؆RAGdC\`aiΤaGǹI"|fd{%QEU/za˴ku xǑr яfvW)v_V@m{i ªB:VO4܉B0AE\aĐDXw) cfP9RsI::nK|Cm`};%;tBYuz5]Q ϯ!#[ t`?!ԟ"~Mߩ:pks-;W\JC S&HX6G+6:ADpEB@&n58 C^ɡ4QsBHlWF\s|RZ&Y]ǝtGQ} ,0}Wzr7ޥ?'h?BL.T!f6x2Vy[0簯H:מKnD|YZ $uf Jqgp(MnG=o0pFqXV mbBV}աN'"?W z8n"x9F| 3:qK yd~nT Or]ys),9`V平[j\[wV9r"" uJT5GR پrN]Eb,ˋ550>]uSuGqvs3m)@ho Y؞+Qte:X+8u[KqUu%pաSm?_üIq+d{b,\ʕ>Av^Xl FDk%ʀoV 7PsbtHp z]#uWk[ ed (o 5̎N-Z6{4V'8BZ@:5ٽ ͤ!iK\Z"Yڻ14ӊ[e4}vOZ䊥`_@' w# _>lq`n*%v\)XIJ ]h1$B_w&41qnCV[S5pY9/ˈxN \7.QAKziOe\CI,%<)jp1Wkj;!J)r}v\b+"Szͽ=.:f`M $!| ʼ@_a/u]źY,;$֐a۸ / Ü!1V?рZ[>gؘgk1f |3O׽Iqgga _4mvqX~vO=Cg{wr;B*ڤԤF܅d&k9֋Ú;=`) ܪDAFM!Q*j{|TѾYlgRL^]aa|s3n` @B`'@<&mץ@1M/L.(iܤDs"5ǀ+bg:BvR@_1(1׺I #1uxV$|k_JS!U4&M[UA7y0%gW,KN 3uGn44|@cL]/'b>+đI}Nc0Ԉgd?6bкq-"nשatʜ%ᚇq rds=*qR# y[f㛫eSK !%Yaw`,;aP0֊p`]E @y=1D3 n'X5$?MY߹9Bݡ|l9ΦAihyזjs p9l .yFe a 2ǯMҍMphjA[8(P{ݥ'솽r5.`D#h(GUlYr5^HPj.=ejtcL,j㿴Q%KڜPBףJdDSAg;7.ـ'pg}: ^~QF5c"7 ݂eiS.!12&#HhELBvҭ,nBQc!N]؞v;(3۽Iˣc2p,"<ف?hQ=kluy?{ps,!vZXI㊒@6d(rGU@fh\8`4w-:e嬇2-HHGȱ9~ =^ ~~-e*7XH?aJS[ F ͇f(~ 4c"y"D|fگ$:VaY˺r:5Gj옩yE$Lqr2lа[Ӆiб5-ѭ(@_w5-2 I Nxs2Wwu#@wo]ޟH:|_&/5VsU{sRUU<*qߟVZAf1PG4>qQpk@4iNif}%%~A6EX bnʴz[j&R$5 K`"Ez-$1ySy[AD7HwE$|r3 }F|n-Ƌ¢;B; 9YXς<>pbs FCjfM#;ʪa_upo"%At/K~nK<6@)]KvqOEHnj>fRVG?۾ۚej1*p@vj{}9DT.Y#at6g~ MضkFm)װ΂)BzL lG8^ 'z,q(I/)b/hMs^1/(x 0Acł>650NEoA0*X뒐adSeVZQϪ(le(. r jKL[`]09Ɲlx`ɻ̈́|Z>$ua#&|,w&0F縴^}x~tv78sJ-[{ Rٱ:{vBQ"0g}oI(hKJcLm"VI"l0K>Nڙ00NӮ!oG4CjL1dQu$9CږZ~۬ro?%-QfLy|稔~-(oysD؍+Y@U"+1;ϸhE ǟ͌lCGcd4Ҹ_ҧPa.=*XHdFp(e6[;Ti_0Yk)!M+eqWvŀndAcnF[~im !0)5kղj_2;<kU;EHs:ʸ|~CGs Uc[ ln,N>kKNX:KDs#PY 5Fy<.nSG=R^ St 0/$h -@\M |A L|;|&iM2Ɇ9tgz-t`2)+{}q9M!Mu1{ɘQbHA*6/:,çIɬWTag!,l^ZCb` ¬ʉα(vfMRA|J3")YyYx6dk}b5b~l1a%<{ڦK՜й=V|`:wGpD4!'B7}LO;G{ QTp EHOCLӲ]S &`.*(!8 Aԥ9ģ Whૡiҹ{ȳhKoM憬qFl;v;B :*d nl+(yχlW Z!¤k%o䓖AlS%b&TG}in}4*3kAu1xvtXrJA^޸Xm,@ jaڇ: Qjޗ =~w!_wK=2?]`?47efП)ɷVDeCBc ΢2[Qa#"0DsyHaUNkBtNxo|d.n)gufui|]w'ۦ^7J_UNw~j!sNڒZGU,NwD!:øGV#uWaP0*~ا( ~df7[۔TL|R9R @4v Bɿ]}L'` EhFr>Z50R lj,LœS 7M|QW٤St#k!v 9J|퓀FiQ~\ܫH )h](Z齝%㎱DXI|~WH娧my(\_cj.N4Nݠ[.jG荁?Y^Zcwlo /~x@#~{8sv734 ܓ]V*n-+p[$k0`]ۓvsd4F OLjl%5hs;9faZ&#dy]"P5\fYb@6KOjEQ\*]q827x̴۹1YsZ1u6ÍB t8ƒ9qZThTŢۮ3Dn6gՐAm6Þ)hٻSADux.wQJͣa_v0u+Jh2y,4Vb'9]lC[W; )Ui\lEU 3d c29>jeHP` gc @&vF`J&TM0:  7~B-bk4VI*m'*83LB>^5$p^XAE} f"$VBU!N]B]zXaVp9G *ݐ;TU]DJ!۪\\ICggj1h؉R\$rߕ@OuGEbMb +j]ۀ㍘`8$d M#(}b,a0/vV!6t3/ /ۧY0-~+Th= ;k[Q``h_b!7X3% xz@8Q Ð v^ grzw>5F#0Kj 4jKNG̍r|TҴfxO|޸-4-csk<93Ni%AZU0.-?K{W)0hק$;tG[=7ǂOKsh':%1=Sl2jwqnkf$okG/X.:t4w FZ с/+D`L$ĮVgU +amwGNJ e81'U;DgIl #L XK Fm(&EZC l-J +2o#"'7kvȎ.ƭ3yDh܂# 2V E3H)'gpش(5.ufjl1r57FU[fs [k=~qO@QϽq{|fwCN2>7i*ʱYQ8#="o;0 of=݈ze$m_/iZ>-)z6;->:ϧ mb'V@l=3CXgcй|(ީi4MQMX$1B"j9ޱ\^C#vf V g,7 |Qߕ(7pQ6%BBO/c2RQaX&Nf\(1Ԓnɴ]@Z\&8aA)1n'_2yQFrmx1'O5z .&;#ٕt{HG!q8i=G=6i8la8FhU' Rj˥c}uG"i>J@z6 r rI&.(\Zjw>/ew:G+h)Z24,vdbd&U;I!9%WfFK09/NsUbGGfßw#p,ڊHnWʗנQd3Lfہ fί',Zky4#힘m.4ZPYx2~,,oLTꊑ4" ht5ҼkL@%l '6`2 7ӢKTy1 e`*F.Q4^|L1W)CwS7<4u׬鳿ZGIQ#5NK5Vi=(xj_D;fXԄ0ꐹRBKf3*{^pX~eB^>J^^m /U0' V^~iXFvޟlIBI<k! ݈fo\RWW[Gsʐ?2S]t"T:q;ﴟwd/BHybqau)5%g򒕏8G-wyk߈Ym sRmݏS#,v{C]l(f_Ligvq: _?P}C%ƥ} czypݺ?e0KNza³Վݡ.n"xMUh/1n 9~;)]Xצ|fp" )#S ky 'EpdOoi2Vd4hk*}c q+(==, :^ LςfIKQǧǃ鄀D*~AZ| mtTqXWd, N-"+y,˱B:ِ*ya'ËHGl͗x}t`NyD_^z%jg4XӤ/$:6lv 'h3 xbx(Mj7 MweUj*6U’_JTǮBn[S+i> [=aT)zïOYG~Z)})FpRQeH3Ce_)EE+R݇g]M8x=6<˩Zu;)eq'2+Uű\ ;kOBE2qƗeE?ToΈRH#CC_ ̠n+pm&?ًd?0u~/-3PEn66!˓XuoBNQv)&yns`Y^zt閜*SL̷Ş-jɸ6}d #-umޟӌf8vav=gGa{`8<8۞͇ _TR67&žw9O#dXzB჻ zWN %^mP%pCO<\$2{PX]uj+o`ɹ)Oχu)3wQjq5h7fB^}\BbDz7*Dz9{M0~< HDA ^H":λN,B@ WNI+ xp[ӎ Zq2jpéo5Cb/+FĦEN7ps.v16}6Mp,]rnZi&s[/K8b8T6kJHh8"YTyaҡ>"~OgSL;7cp:4+<‰)5?R ;j#bıOw=?t4G9S_~5T^y"tG\ gox_GzQ?n\3"Βʓ;Y8kX|iCAe9?r7r(NQ<:DiVzQS'<^D&,~dI* h`#me΋V` dR|齎uђ".*=h bqQb! pEUGɈѰ#icS/ iB4pzv +PU[h*ًZl8hU/! &Ϸ-'"GPH~ʹ?@*!WմjV0,5 |hں<٦c+C* `;H(V1jn#5a2,zg{$EKtժj[Dΰlr?:N[&}$7Lz]q}xw!PU&-Jv1&hcC@<ȌQF+8<)7N}6Q ?y&5:t? ucgmhOmcUq@4$)]fEB w*І^IULa `Afcݩ\dгj:XdadqmD7OH=O@z+>6h |+cB$ څ.\%h_㺡$}E< O"wH+ tF#y>8e> T?Jr E5թP-o3S6 hwEr{NU򴍿dDvQ_׀]Y`E#1CS0aP)qHxz T6^g^7lϣy#j[HiR>db~hw?X#ic| rI?h/~N=g|dޓMYۈ%B,3WS @u]Q5aNuU(9qM$ 5^y۹`^}9_ Y89n ;. f5*XaU>qi[iМݘPD•B0I%E OՐFc_:lÆa| a,ܒښf0K9KU aqۭ+;).ThVhgEsߡacEñ'Advlz2Y#%訵$,HtQa 2}{IrWx뛓=y}_Qcm UqNW s퓭"2cxru'[ 8nrJSQpe}YHרўL\8 uN>W#S~B) T` mE*ыhȹ®݌ VQ hbr%{$o1l 7$SWPϩn3ô:Hs!8ˑMwaٝB%?ThdjĖaPrWNC(PJ dNSRTnpfx/,6bd4=4ng4f/Kt<B5ߐ2?>PtZU-.o}τehtXYPM?U-r7qp2Ubx׀4]1xOJΣjO"JY/)=}f)hc3uQ-T E909pX iOԇ"PXN t8P}h3=^9V4GViId=* HdU_ډU 9gnZ "h~ܠ=m;^ijg^3{!Kq"B eT^ $1 <t'E&ÞjL9_ONx~L΂DX:Џl.{C6Ⱦ∡ۋRcU}:M? S+ VBo??7ʤy5O[CTB~x7} cE檴5ҴװCqxv2@jC!W}pI!ڠөv*Ȥ7< Jl0&Wguf=Kh9C ђ૩2uNJ9bo}d_P7ka! |Uc|Ё%_-H9BwgyV$2̽}߉/X3ct~ыK{׭v6*rZ.Db`೏#[d wdj !J\uYgwE {Vbhkd_Y}^|XH}MqV-Gm2P`Wc*|c_>,C1qhl >.5xp'ƶPCbr]ح=2} %}E%5A Zg6DS}S(3vezN嬞قJ8y ]NʞK [1ę!gKI_&Z[[d Z:c4K] z+>^&@W`^܆;(v: ~i]!Obsthʦ3A2r3@@9$4޾4fwه7c= wxO_p kC>LP&֚/`R"7>10ܮq<ϸ< ^NlJ|'&<~[5oeJv(`* SNJ7in\êTRFK :.KMx[[!~uw*ZI.BZ2-[QRߎz߸A`35:ĩQ=PRq=9@̉=Џj9~<)Rc9 5Yhrώo|x5Np"ި{tǓ0hov0HbI ΞKUwͮ-.=2_"J!n5] j"UTmA5cl}!B'DqV׻5JO.+8V~ OT_9尪}*jgv4tP|acƸ0ńLeRkFauqr)U[򬾂ke_=}.[ModH 0g/ɔ601kqa0~hOVI(UߨB 3HOL>)3 u>ODpN!B̷|loB}vn5j͈ƒ "EGQ1!H:ds RdlQONmׇi$i©)|rGˤ?0{fI@, \vy L} C|+`#e!h cb&R?"=wBnO4/sBH~YQٸ_G#d ULG5!G,*[~/Ȓzۻ֛t.d4 Rv{9q$政b+srECSr/y rΣRD>/QeOC, X_,Qib| |{vEH1 (/ƤվhUqQp)c,DAwBls7ϖxSU =pTDTBzqv|w*Vj.&a Q_(bl[Cm+ݪr)t-kD7YK)܅k*>ݟM1v3/4G?VB(Aw"Kt^U%{`I%f!/g 2,n2 ̞J0GHfڸvWvIKsH^r/-x_Bv" wRP E+JcxA/2T99Mcw*?\,DTLysTldm%р N& 3FEԯx~v.< \wh 0;\5 ar_tb`ܶ|Y@lU(|ȿ|nl(L'@mȮQ)NwOsmMܱ~b47ߗ(F2R|AyړF1%0]dנ<0[iYM[Rz{O.i04["O!vu4HfSȋ9\r2zQ_RIC,]e5xϠ3 4oA5Ջ8s؟Hq2n"RP_r;xь-}6h(X!p ]|B!! [P4*R`uLerk3hŀ\dM2t d7hѡ-&FY.Exq!~a^s2X"IW>CN8qp\oa;-BB(kˌغY_/0e,V}`' j *+g4Qo(v2>#px oҺO<IS RPEρyD^CK6c= |b|J *߭0pRC*ЄJ&Q'f:>N6m"J"kw=A.|&atEbۣD7>Ɏ^˄TINIՀP䥊I,NAG5kP;za ,W0/Qz0&Tm%6i/ƪ R 9Ak1,d, n0oHsG'CœK6Fك}_+bdG>ܳ>9smP pJ+3ZQj ae4i?oW#49U8#O✂~te HfwzSR啷!GrSTplc0voYԟhG͞{"M ?NͰ)f}gavpKs Ekg\rN`{d9}G7I-. 7#6189"[\Ӫ:M YSCD78[NV󰨄 "=fy:(ZJɪ6_9vn_/.IղEn刳4`# zق sOcyn.1l.6BW liGǥ|@[e3bmzgZO7yn~'J O %$*( .47TYi]U!dzmqf眠L#["0}/KA4{Q,7i(P%vG枑ƭK+Sqh&re;VR9?R\5ҨD\?x)O+_Iyè">V2.6*<H޼q"Uu2 FOiujnq~ q(# $}DM aKH+x]}'+F{&HNq.IN< 0z)== D3=Q# auׇBJ Ӡj._Q F+W"/tWBߔy[nq)âzS68"VwCnA4zZ 2cy!9NF`7uw&ޜJ 2UΥ5G&BmGo8H*…eF <[#jXp-'!v.GA6<֗/|˫iT%bk1'-=*lw6(6o{+3+A"w!Ya\?P5u=Re_# @9otgہcUx{Lnn;ii_T]+JK"S_|;(<9fZl57 c{PmHA#ݫZ=O\M5T7T("&zvr~+^/!pK$)y]hF;~wm'{sYk/=df(oc7N)c/KKT!|ث@޴S*;DH_XGxm|>,naxA芪m:%ĬjLfS 7(ހT.l̎cZ0=~4UML2΁dnrIR:|-,/[B% Yo?=6ɱ3OutJtCc1V&c)"%c;GHrډ5N3G( r@G#EH%zvfr}S| ̢/K#d(]E^>`X)ǂZ WIL(we5" 9b?W]J>>$yfn*q.az#kNhJ^\]{)ښ@jil:jܬv5LKAm .#NpA`qb% 畵ةQ@D" m+w;/#Ih&!eU4{\UvX.(O~̚B'J#D-U,e!WE/+kO)k*o9-o&cE(ËlΓLB$f^%ACQUP`%V NTUO]vOu !g}BH"kAOŘ>x0R6ܡkȋ&QV],"p]sZ@`>:m60HA'Y򛾫%S~a?J7 cp!~.t?=j7!a -.m8^`! +ͪyc榖bzt %nqq,~æ>aM ؼ^~&Nj}=jc@=mMW7FkôL|ljBH?V_LTֿR ~3Vl:쎑,;P-&T[ `\l2!K=nOswG"Xbܝd鑓w2ZǫM_i}C:& C@cÍx2{Ђw{bL=&J意iϭ3){*g׮3@#:*_]Pi9XKq{\a2&KV9e_2P m0*jN+*yoV9ww0472_$~4FYѓrx%NsNjӹScGە+y۳EWlX]WՌw}xyv)*M jDYp[en{ WlOpriF&o[*u勀&,xoOtec}&J1q4Ԕz~4nV!=Tss#Ph5g.IX܂ *+0˜z;0ySZ;Y3wV5*LؓW+<},I;Jxe,nsgpDR |36 vt}HbC*8!Rk +[Y1Fuiԡr%0t bl"YHǶ;+RAvAOLD0ЇX[;CكW %ʉ_h?+xlD{i$ 1}; W5 "d Q~GP^F Ud-?`tgikT΍roR[fb=sp t& %2x]aH ++a]d'6F?5, T_pT٭&\ccJ5ڛNyYB_`_a {:u'*!zhl8>yvc""wa~2>x&{Y ŷ S9qn_2\MiCQ_Jag< RQ`hW.4w N'k{E7,bP`=Mh@n܊\pE6I\<~ys.ڿ2B11hym,H&MD76uJLyOJSN{DǮ3r`7%`疴^.6,:?d '^ y'dnz3q+n!]HhCFnǎaHbQ.ކ,1"C)=k{;6%ad^| XRߵ 4;׊\Zj';c v?StM-PkH(r~cB( 4’P킡,K⾉xaYlqgNҠ.'΃xHZEʳ9}U$H5Bϰ'lba?6 ,18qgv%/@-R3%{~-~1ohС`O m[KeW3pR$ 5>'+]ǬME5D9ĩ%m9P@ ^7V.yfOfIe :u\Ztf֖,uҸse3dQAn+ۈ 5 \ފ- XX66)tQi.)GA!jFmn*|NlV9C.mfZyLV Q~_\He)yie%#Yz*0R CP-Jgt걃]%;{d0nQv8p`X 8Tښ3  ƽѶ_\?>i7m5Y$]OR)댹=rڜ|PSpZl #g#:+Uqu_8ZzHZ:$w4-ۢܞc$_-#y<#NЅIa`A,!].M"ޤEjP0&Ga:Y|7$)WROAi/YA[C V k&^ "93 zݫxR E=Q!%tL#4>+@W M5䔲*i¾uy_PdB+:_0ơ2i3Fmt~8*0-cyKCDe;gm )-0 \H!|/y1 t%{Oc_ǹ <1Px}|<*${F Ӭ`܉c:񂌸:p8{_[w?!8 ?<6**4 ?Q+ZV |V_].gI4ѱXc:bU {i}5U\&c4-Od5zJFtI!'B%ZbUE$ reO1K1Ӆ=N f6G:lw%2K]*2|&t J;iۿP~xBkq_ǤhF70Ɏ翴<~`94K-1| (dlM[B%#:NM ӱ2;hLhy621?Q3~n骵aîbx+0zrX[mP邏$T7m~(GRI X QB].=SE{qۇ/J;=p3x-K&dU6h}4 e6q)e)VURncY\09B`o]%ʤIGū+ i +=>F,ϳ*((m*I;l,p\-ZaH\srodDc+ k)KxFQ< AA=0J4OX!W}^TQNƍO 8GMkuhJ_ zh?eVN#ʝ҃(<;;EŻjj ,3@]H0 q!}݋դ5uGg/orI4A &nHs9ǻ=^v$9<;hArrʹcz~kIj25U.rW}#y:NxwL2WG-xA!tAWoZYdj t;]' YOٔ*-~Cz g2#&SӻU^ >1ԡ\Mw4ǸwA5E;:"XK =^vS6>g='|08 ?dӋVCF<-!z1-n$*ο5S~<>BR##s>ցĖP (NahhC7a(3. ƭ N,L0ҭ%`)XƠ2}3:mD0p5HM4Ǒ8S #5<W#c?DOPgg$[zD#Wv|N?L-/^8$|`Phi! ?p-X՜Xp܆Zq8ֿ+!(aOw M3w94{ClYr0 tQ0>r鼭̚%wuX/WkG [)Ҕ14)+ ۂ=~v]H\W tclU~u=OQE@AI ,[Iw|.TWn0JE6:{n՘[#7z.FV:7j  b+C@x!Eʿ<[;ATkeaJ jbIٵnjHfu(޾p<|NGlICJqS;K;Uي{/*?Sf9/غ YݾFy)hvuuIN QU sihs'N>݂$5P\` _ħقzu|F2dhَ]4~?9qx_cMCvXBlt[ W(d3PΩ> $N*>AlG)!6N!T..a)L`"p}3ȪTo^@VLiN%d&uCZщziA ǥB2| ((v7.ʁ"mߨ QIu[ETJ_ wۥi>(>Phں洃|jQ*jIЯT.iz+V iϼ;X8AZc,:hӛED8>Ѱi"NK`V쏷(=q3ŏ`n,_|<~t<}g>"]XT#ц fVaYn t~NsN4?v!j`njNrVaJg#7W=<=BOoCOQkP(UV 1)N|$) h\xf wє2@7A-et5kHX[uEV}_urLK5M\˿#[o\K[&:nhPE⑰l>CX)v 3vID|WԦ˔2}<;gSwvpU' Q76D~ zv_?6 MGê$m?$4;hQfi;i#w!'S?eo1~"gr묜H8<blOTa%.TB rǏe-6 'm!TB/dgB~Xu<"G8GC2Oq Klx B %Ri&]/p \{7 :j~SHPU "18&ף> Ҍ ox (`*ߗ ݿ@> |,)Z[#\ǯHɾV ՅdO - =B$y*>+hy:մ`ˇ60ӫlsq%y_XgRYKokI#F0ݜ@<GS %GcXxVw>щh7}{^,f>ؽF@ nDcϱL,  ms>1F2Px'W([ ij׶=œ;o A偗Zam#=QϘY.گF.tqC{d>!Umhu:G**1*̌Ǜ}a*,GԞpmiXp _}J HVK7OD*:sf/0}4!O6`9ۓC1 { NW KǾ3rU_t1رVqAv>wq[~ǖBՇuy(z}Iϐq'kBMjUu蝈ioJPor@s'T['dĨ=@4pln%K:ڡۤr'fz "tqKLuշZvN9;-F'+"9x[3*VaaZ`Np@2NJ`II9g<}Ǔj |@¶kˑbI;n< ;)kwRk.aЇg3[Q\W(̽2u>X% 3(̫D9>x|lzBcQj1ÓND0oaJSxHnCDZCScȰb\d˅d6VMS è8@_0t32 n<Үp6(# B'^-(M]]ku%bwVKFwtƲpԬb'a:,Ff{Mo -:2ةoi ه[FBAɘ[^ m y ~!27L,3+ZF(;b1HD/_IEuzvXRpOsȋMJSSwn,ٮz-t $2[e-$rE*GsShu(xS=$Gǭ4kw.Bwta$i3̄g\@G"BԦކpO*Լja?!6h|+|j] ܙTzO!m F[hW1mfi,qU$B&@=nwS *.VMXV>u9miH .&i4OBkx3.ڽ+U%bma>H\n61]Seӓ $Vтhj4}QfY4W C5|Hΐ ڤuz=)I$G-\0*Mo: +I ݩH|oY$yb eϺK͝r{Si'.mZd!7{,7ewawOt{;ϸ%xNx2;0K ƨYz?XgX.I@ӕщ}ٛ m|@AJػ9ě&Q@a%9VL*hINVENՂUwFTw11^" @CZd #!?I,ГN)28࿨2)fkM9:VՁ&;Q=`0ǂ@a܋9'24Uw:9,DݱB}F Ժnt" #֏odWcLC?)LV %mbH2uu`b S" X#UرTO _3&}t%S s+m3-x ?+LݸgbH8@lI 4$μ҄XB&.Tpi.ev3=lsx2}K)O2S Ns%e,xIߠd ~k sb>VQd h 3&z] |qӂ&s:HYs04@gk/"nWrge:ŋ:᝜8RF S83@d~cEM> NL ?PW#V2 &M˞\%m}E\nxCոvWFg_'M0UNh]k막9Yd.[|UZtPմٹ|݀EH=>*䈃-X$>11[H$'?*m=GF~CR6U4ϙ X(FY,uCXw6W$+TLγOn,uܫvRlwVc[;"[%xcsT9kHk=<Ä\H`r]‰LL]gQ59;y)?4-: ת߀Ÿatcco,Ǟg.Y گY\yB`&v|;?5WGFkEϞ*O3 zM./Etq # (nC*nvly_X;`>|]wKNs5˘xx1W\ҡjq~FV3GT!%wP@PG+:`$X(G]uD\~1-S )9Y!iꂠ6,rL~//PH =#W556=:?<_o2\S< u䮸vѺp7-# d+VC=sx)WlU X޼Cl4~)7L#}xE!!QO2X-@B9#R Fon;DU zn.'~)&Z薴iƒ-2RhW,4_1gRTj ٣17"Q%{ r/췠PvpFk)]Q_P 2wUDLa)zgI|{uXzc, 7b; Dl4i)^pdvUfʇX#yFQ^o7曟LXxy_iڄ7Ÿ́2/Q/14u57Qɏa&EP!.BH\0HE [l;Eb#")(3bd%s+ +[Pz[${j *X8=i X;*gP/1E lUnh$'gd Y5c{軁,wpb4`F{ ]CKcZFoxr.0)]9" S/ƺls$uUn_gxՊT֪*!Ag vIB>!z4ܿ%k: "@pQF|%Z!vRBxq 0sHV.F5LyB_Ɠ~/)3]Zb'|TP`_'Ƕ$JOUXEONw@nr/VIUIqSqqx]>n=I>xM]pL_`oe=?tٕsZ4 NъGyjV%*qC=[TȢ*1/=/X@x'3&Bѥ.͐P\MHʢ]u *Enk$Ui[v+LP A6=ủ"h@H+")3 BR1Þ0sʮ@ #'۰u3ܹRT>٦'a%ȯ5ܲoZlNx†6.@;Tdx2sidIVu}wsRz[U H^ t#45E^JzWO.VU+}UHĕ?P1)&3IIit.B:Eٝf/ͱa*roi.5\XF=S_;AaN sHWqw8x!T]:}2S肒gẑ8iAT밙 hiL/a .rKhD FRu65Fu >P2 ĢMc (*n꯶C`=YZnlhaY?g#DSRDm^ށ_ )PQ;l"' Û*+ʋ$} 5ҷmwgq!v`ڝq`KAfZa7`h1BLAWn_8:xYE4d-]wZ;t|O%Sx3MPJtzoR~,׈<ؚJ]z(TghHi? ZGf}l1d |.rsO>te#<I}Wj4,BUW4 B`jQ+r/RZ7}I1,<* MC%CUF*ՏV(}) 7~P?m (H箳[ ùu tZznfOmk|{&ttLrVZ B!,.npK] =QM)dpN\d\~7?z0f1NxJbeb9[ԭ]L3[큷eI9%7wN2u.5ϑ䢙Zsl/*U5zGdb^ 1Q,u$fQxb_JֲzӃo|KYZI,cR`"\x?q^D~Е ~̙0c"!/="GHO$6l t@۝~Z-q2&:7+nˤHZRAFY5n ̸3lH9,sbe&"sH̤09PkBuG7kWI gWV@o|1M&BM"G+SEL6a8Ͽ=#Bᦘ<R l5d)VH.~[-{+pR˟.dE&*Aӂzj%rL}{`',p=3`IVO㰿drRgF 3(Tvsg#ez:B),CD[~\^8h,A@N i~kz;[i2/m' ,9 d^'G$7tAeh+1q1qĺ@0B #lHx$um+Sk)>owbVCv>gjF;V:S..D)(yv3.Ơ8֖tiЉ%LmB-ig.F0_v#hcq*7ַOw|{@:;ĕ(J銺*ឿ삟au11f|v^[=x9$YWK齤4r=º}ѓ^5OlDbЭMS@#BUK6)OZ#¥>p%b xrc,828̸uᕧى(Tσu"JhCЃ#,zȿVi>O^o(}"޷{EQڼ V>x0Eg~UxML1OFӺ{ Зڞi *jx=agguq :r"%nᘷ/=cY\MG]jE$8I _KD) bts(^s%lLJsYnR'sP<0͋LgˆFbU]z OZ t)/e]:_Ip^mb/t;)3_.P}ozH\p81'aܠcjcBH-SqH.^Pʣxj'BjBM\N(:BX܈|{G QIfwcLt[YNX-]B,Arw](t3Oztg.)wZ26.02ͬTY3az/V>)Zg~FQQDŎ[*'(0>%f (VODBsMzd­1nQy;gg%[Zz@;gtXH_z`b5h <޿NRLˌF"u?R!VPDζֿqGjR0T֤26>: 叆2' V^Iދ,']Ö|vW!+$$ޒ Y1eP{IAZ!.lAThq*چ1uQ"%.)2T[WtkYd04=(D Z_t'&\\ʦ+Sz8]FYu5ڢ-q1ڮk\RGA%^<¸]Șah2uH#-;I gP'zqۿ<`7tXK=[tEQ*>(iGaO.$%G޻us=52d#|eoh|5ԏTP hPL§w1F0wL į E?BAVd\ck4Ǒ[6rWu(li3#d쀟g-h;A\P㠇Op10lNĺUR'.٠H,?Kz-:w!$񬡞_'Ăًt`ځwM0geU~BN0.jƻ12Tu/)s6tp@+Er^k @=î,8rՔ [>LdrLֈF" asX8=IE!?E˓3cuHo(~< i h:}NO$5o"Wz(ɺv#B3Z㛛pAPlK0)j2L/SsOp"]eQA{8PT굦rz?I^G<@oђ? mp,WQ0}0k@AΙ+* 8ӛctd3e%\KN(qP(O<&~y[z&#otG_oyDjrE2/*^2Բ@Nq %B#mL+mj3nK4E]t1'cg1:ͯU@eǨښe^ Rm z-D[-nnЄO_]2(!NW[S"߸6H]{N8z}3"RݤQa9MZyQ#?FW>sB ^ÉZw\($RFHUhL?I&^ŊӼZI݇!/?w 1$z͗ºgS{¢W]lB܋uocgawgm%]E pF0{ 82~2jK\/2#r]|YP6g3- 83lObZV2 7@#oEOfCݕfhP0_rOM&(Ews-d@xLk[#^.'W 鵍AȢ^G1pR <ϒYuA/9i* W >_9O1+ъ"Y׏*I)!hE\m^h~XyJ{EB>Og]H U-{Y h%iWK^\avdќ#ڥ;>rpɍeu悱,D"ۓ 2z? 3y&b?>kʣڦ`|O= "8k$A<9dA"P#i5SR!p3"K]̾:Y8uLh1WPW1N]x.M|MA% wOR\FgCgӴ_>Ӂ'^ Xqv5uAQǭP!ǞǓ6.lIՕ-7%Q?)mT-6]Mha7Ӻo0]ojǨڙ-䆷!zGu(7V3UFrsG+ҤSНw8֔2G3c`Y,h LPl,w~CpZJ`>꩓ߧ=xEGꃁm08Q]EdHtm:@?]޼+`w :+G4zE?P2@V ,,0}`qJ]T^^m.?ҩM<VBQז]uBSvl:d4q_vJIo8߳CieL wX j) fH.sw;l<&ʊVNX^ؤH{AOGqsDsyz:0%"H+:_e^/>-arB?$ׇ :kR> *#,H e{Jw%Gl2rDW1r}P72.7 [`ٳ iAA\J !fy]м]& w#t;zwKmNo i- _ܕ:…rn/{ #g2ĩ&Hŧ,`}P\ȁGi%얌|_ e'%˥Y*yΜuULd4< 'DըPr{{8T8=Q_a0-idx;Fճz"zYrJK;Dzv)9^]Hh">qZZ\`3\C,޷W@Oup0N taMU= (rF6%>_&k> 'hi} )+r\3WTk0sO:2ACL?U) TOXN>?iϖȾ֢l]q细r9A4T->Q@)*98*zdHF`u) مlVSFhydUKX~E7DH툮ȝ쨺Ws4t{Jds֭fBƁM.çBXO5Ѭ*4Y|d QQ O+عF̷H2BbdE򅍭,7T7*g>ݮ Xs'[}RIȣ LsF{2 ;| .!a蟴D wXG)K-6p10Eb,GȾ  }cQ AC5_?%xy`CC#.(0j^UQ9F "}Lw!L\O|F/@QHv*Z\jw< ;5-j 8o0+fbWLn6~]WJ,Jnk!W!MUb|^憯@69\Ϡ\{NPJrZ^`jN ' We "=Yݵ'șQܙE(7T mWz$аG\5;tt+].[z -jQ=-E4YfgŽJ|撊)[jWm5ֳ:XofM|9(@i*,&`?*aiW . s }W`d$Gw'󦉥f10(敵)pgxRV1E&[߈=we$O>4+7bip /M U(SbPrV0H Jj%&TܚPNˠti|uoX "qpԬ!|Y׾f<;C-ȒgTBGXC;m>SbžEU˗VbA۾`(M' |(ӴB}WzWD$:TZϕ|3gJ-U]AQ~ʱs fr7H<եMᕃx0 hϻ72'6Ħ4*qutׁǿQNvbێp?vxP}a3OT`oN»9hg]v[3V.6F_;u:a.e"oq("7!PC-qDT*I.k=e NL`r=D;cG2{V$g5ҔsJC3"b;cVaYJKS)xNv L|&&&].lފ })$TrSjZ%Dp>^wP*$#^,wxy`fw9dF3;CAڲ6"A >r)hHsbF B??f:io?"~^ ;uUa#L6孜}F_V»xI&. <)t7e>f&i!'{)x}ï㰦qX iF!D2}_߷ϰڨ3TRX,x!O8ρ`m r,´ikB es>3q=W [ ZdFֿK|C26eS@,DȕHfuyy7`ӥ][P/06ګ`49)q .L2&S)\KH?WK'_@<;$t?EcTU=U⽣ΙgT=z 1 vi@PL F̔_jsy)Ʒls$tNf(9.?_LuF #mb_C5nu/hMm#<{|g43C{,(͖lYڴRDoz !צ4E"#u{W5jYU޷5ѓ6@n+mU_d^A{jcj˕8;%qjٲa?UJ9Aj{c,[͟dX ϫg+sp[r6qQH7u5c$r,ēmi9.yFs0 #+=9thLJѮ™ ׆:{>Ryq,ISJ/Օ/Q>e&Jr.Dy<[.C#kǁ Lqz}Q=Ҵ0cXrgQR=p:w8=DEO.Wλ?cH}r^vU*մ.=&Lvbdó8*y*} hp!k쀈iCEQ I*֮y{Y\7`ц[ƁXuZP.y:f;m#@%ڊ}Ul%] 8GJ& 3S]VH|SӐ̄=ߔR2%$f6l޺[l&ZXU;OhO#lF*_Tc?>x^ CdɬI3g['JYN5+ ]|w e\yS[aCxEgm,M7CݸVnU3C=z;=k&6 FG0LC]U#ޖsQ w!NP@ߤ}Ww_=6(ΨM#/ nL*n#InqZ@]db ;[R+ϾČ 35^E^D"(!ݝ:JC=G /Sm ɓF@yOXޯQsmyTٶݶՕ*/_Ƞg} t 3 / Go- .#KɃ-qd*a7kop]XDqWf.&kV;eXuz)8r}Q~XѤ-߯?:/2K5w5pFXs NyS72^XҹI;y^*m=۬J5V!FȐݨ=?ÃLNL?S! hDeS1iʌ8rrXYX+Iw;X7sivh}?Nn87s1580ؽ :pd<ڃa@ˊCJt톏(;$|5OުۓFQFJ&Tjk$VT2Lf8/na"mABH[  p(ف8=pM`mꗚE/E ʝH.NOoki)U0I3ZL7vNӥ۳{zHEMˋ\רnaݧ[3Y4_ۿSBlzrם"AhhMir˂”\j}tuJsBlue&I$×0f{Y͛YGXnQac[$̹^c챟XT]0,Lg>_ T6@wR՘{]$ P絤N MuKp4~ύ0Fep)AiE8mrxh!AFPV'jjਞ~rC( i{@--6c ]Cɖ:W_8]f0bO20θM N13Oִ DM޾]o$ a s.[ aRcֲ!~~hQjfeo9?1p(pg`{巟}t%'N6;TR؀@ ~/pK%oV4Y@O]NwL(RXj(Ӿߋ,vbUQ|-;@͉Cj&,jAFAY)2SXYWww TŀW[9\!N =*RX !P6H5ì^֌2 о02^h q K}x[kVDazU ఇ&F\>Zm%_*6ÿ(uvLu0G/8#ϐ_ %}WYҢ;6t"{e]#ysza@x!8CA_Uyn!8#FanǒF" D{]yjWP&~]^|VsԴJɘlţ昳MHKB* 1sspkew}bٵ yBxi_x䀎W-K2X~bFM<"mј$MYK4zt1Pf/ĢaNxl-f Mڄ#yWhPghe@gR:@;ޗ!Zz*jNk "w$4~< W*J<^.T|R ]ȹ{Y+ O zPJf_sk6Ej̍\}GF0S>BVG—PKaCB"\)6R 6 ܸ\?c0$Ƭ$R&g,1um>hi}`ᣎ? SY  iu$ X:bSJt! OLz˿|^i'>nĭaI࣋aCQǀI\m$y.-7ŮʩeO4B_TF`Xn8z>u̢8i^*>Tiȡvm#!`YRHf7ȰD-6tLU D0k8~@7Z9$vwIbsa8`X^:|4>pyJ{) 7^?~- J.=UV`W]-|sN5+̝qFk^tm7pG:&Y-hԲste#x uSbP;x::;NJ{7} H~Dq̯gS+\CyE[ԚSRu= K؄-h;#j 0r/ p ?߬z~Uw3mC=7>ORCD ?Wt.vUEܵjpaGȝ.#X|}GD̻Om6Fh řBX=Yfaপu fYtOM=LZޜh_zTb=ni<_%4i'~O4ꁉ|}4 vb̤D4P@%z$Ym)%6~=VdMsIdA HZɟq/;Gu;%qO nw) SQ#G\y33)\ szp5:Q}.nәn`Ap`r~oo>-Z-$3U%N-`k,SAzLs{:M:e߇x|%N۞&ufe-NZMȴKi~D~g>XtrHSq_b>?Dk ZLGM7m.lw߹wdfo*"n Nȇ^G}M63fc$aZbb\'{ P2WΦ#p:fuȜYAqiY`o4ҺDeCd3dyT_1ޜ ]?dQA|=/3_rmd -_h`vNF2  3qbm}Q썬l\]1DZZs|v{B1jOv TV?6k"8 ɡa_C#A=2 Dj&H.AX,Se[64 =^G$ ⨁:..ACү0 =?&#c/RD(53yR`T] "_YT ew߲UYmم֛ZIZMPo"cRBx ֱ*vyy 5FQٚ]ت)F[k>@ l4?@i8߯Ӥd9Vңhgub[\'9Z ^vK9aZV/\wuWtc̤d]!,%uCe H a FS0JC1s~bi*S #͇~\__WK~ԫQz(V>T,qd 7QT41b8]Q!~ S4|:bڧop&?oGnkTGE34ekJvSo?uMO7M\qGmB7鷆B'h _JY5aSnv`wzG+Ssn!,qϐǁK~$P rU+ "i Xc˝Ijcs#@5"V/·oqŔ7CХ dĐGGq) HEΣ]k/Q+HLS>[?Ο&T  t5dv.=]t/8nȅ_ Ci/eЈZ,gUAbeAFm;;d>NOG;e؏~ǖ@EcX'teYL2|Drn~i c;NT"MYhξrzv<9y/y5.OmP(nS3 67ӀonEpԕko/ԊJOR۲LV @Py|.~[?%S)ф l{l \>o*1狇} Jrvh{~=I}" fDheUPIwTuH_ѷ:JX"g.XD#@l1h|źW>QN>M$˒PJelMRЄ'-;s[@Zhsqvf O\"WzɷXń'݈y0 - ;9(p}fʴ_\kbU8/ /^46e+/=&=O2.hS9܀njk~K.qF4R !ZvDLe@ς9js~Qw͍bψD1<[f;x3bi Rɪ~370ƃ2!i OϭY0` "B}mAIAśeѷ~]m IwN:H=oڝq ~d;O xlk 8"[nhn@يH !k(A;ˍaL#'Jɰ-ͅr+(<;r "l׿Eu(|`$Kn!K/ephbơX"dp{k>fz)@|(~q,$ecɗ#SN r쑰y=,S3*"LW+.oNO:ub4{IE;24rPwr3( +ʽ}'7_sg Wై \ݣ,RЯ;c_"#w&{MgEtq,(~dM1gXwpqu0 B\lƭ6d"{=2$@ۦZPL-=iF>ڀ0y@/& Iy*u)m68>Yp%O6gFEN)R[ZlU3鈻}|yyҹ Qg&6qf>z~:W\<ӡC[dG^GW˅ə9=@Ji+L^an|c&ܩA`RڕF`:1_PB}ُ{Â~-VUǠj!:Y仴H{(~O^4x a)FǨI{:am^o=ZpƏ l8)ߒ~-Ⱥ{򕮱?-)9hܜ5h,ӉJNp{6lEYKR bEP,nS;A:b9ưs>}2:n ڈa >*>E*w&ADOq'9Xzh] .TQ=nhk/կ:mm:V}2:uF.[SjEF^gF0\:9,b`mܘ\?q+;Hf^ezN'WO ZTP8iU'- ,UqA bk4_sd*#&hS]x%k2U }><ʹ[t(C 6$`<naĔ%Rk%3e AIK-oh۹tr͐TϳXxɖVMP1t UU3k3Y5)u=uXC+@NJitC!١ٗx)[JphB) c1 We8:?(U7ܽMXAu#iW09N]3ji~tp|aoaJ|ȅ/ /TL:ymb8ms6#)Ty`7qjF[S'PIP^]F +5li#[#`M,^l" +#F:)vA\z KΖV7t 8"Nq?ju%cdX"(~V0$Ò諐t2]欹B}%ֆ47񈳡~#2'\{H:XŠ_ ztU+Q{PYv1eXe{ n6VXDkCq({Q kOQbw 源m18Gn~-ӤO3ذTlFLڌD7 ݂۷qY}H5='MaPFh;n8LZDb>Lwr(:]8RxeSwwޯxnqW({O3A7l>~WP2o3Rٮ'!PHVkN!h*&)] f!( +9v8#їyc3| ר E UqAKwEPi J$;h8oe[z[ yuΏ[6~uꔓsa78|[ }ũ_ ֢^ (? Ifݾ'Uu^o=bڈj Njɮm"Y^(Qك-)RSWudfFH.7hLbJnohEmU& M.CdXUlNfo&(yO#N^Z15yIH!N;`.p،6WC-H{'$CSz"g[EnUKc%#cdE=v#>;I.On5끴;\\Т)(hfE=8"xҞehfB:6^[I@Pr2u$9fZT̔X$L#xR>Fp{ht煎vs@#ͣp\0xy"M6 ^&X| P8R{**o@?bV?E{fs\ZG *kp3,^l!f"*$6L ;g?X }}ɼA#1exJ(Þ'aL$:[0BrK W$j櫬7VB R^VU >[?)+ \~&VRn_d z!uPor&`zZWQʋgEulNʫ"+ެ)e}4I)vP#\Yy^k5{a #O{UtMJDQwwf[n&cG,G$H<gr ji-C;V#U(uwUѬbq9nl->4 bpUћW;a_ѽbl%fi d\ڹ5|f"v/%),e_?:Fq_Wqƿ*3̗e0:49&Xg0<99"9uMbCϿ@ wڦ(ggK6Zp(oGѦWoY,}lN1@d,auQU3DRfĕt`|b#5qjK_ԋXic&SImӚl[%7b=W"3Z(\͊ aPrb<ۄf/֋V+KſF>(CNVVKD&30^e&M۸_gm@R$mcPma7HUgu= ,ZhB^MYPؔ|=RVHw6hna3obA]13r7j=2F4MrMrq*1JOj5u0A+F#UW8]W.9zK+C%Y dhNұ #:.ʛ7<{QI-]9wHE~SYB=rĤו z>U+JEHy#,jk{NMRu ݟ8z.©C1aM979NT8aC4 Oϗ Pȑ3n6,z/FHi cd(u}m1S`; 8[kebO< qaiB&@eb'1OҗwNHI IAkyVwM?P8 FU:Wg1%]<*K @=y=R߸v(qEO^zF2p\72$ |QQ=꘻~SeSnZ1b8ؔ'Rk'zu'v|ְDT%ً(WG_jTqU.?xF]H'(>x (+)MɔיC)Coz*mkɿ܈W<<4:'(i_D ;PVFOF>nWZTϋ7{&F7 7!++0+uLx,]f uSń/tagH.$”I;J}_)ݹpz[ ){>Z PteE/f o:g$-J"C$ !BTE*=o5nEJ6OZb)u4 e`h@垡!|l O9"ҩ^մ9 LdM"a)D'-}.^$,Săz딂}ޥ;GEY׌a0hKDˢrxR-,is@ff8Lx"'4b<F#b0ߗ0[8dfO|PpJlMpՓ vxoVV*of^?T犄(I˽>ciyܫ'~s.]@[yg$s6l+d /rOaϯg v}@=_C`y&iSþzv$b@U,VJKTSA ?eezXqlǫ :Y5t 3Uҥb tKB宧bSXHB'G&vߧ7n@Ϲ(E?}ĸo_[F:%F)ߔEormđV)l,u tȍme)+C%d? ;Do"2d%ʩh$ 2fZ={B AHwkt'"~.XnoX[$#21ZzoƱgJQݠ‰>tLF`jb .Wy*T@ *Truso˱ מJ,R{0MsD G9=7G 4\'?+1'5NtBHcEh4- e Dܥ;^OgD+\4x@),D0i~qӛcwKOQq֛/{ww$6m([eTpAdKgggnC!1Z-F Bkg"P 9)M8?1N!n0)[4ojNK^ã^R{ wY,O8Hݮ?Y@"8uFi $+jxdҕE1&HHɄ8+~OEed3 ֞#0_u?&] N cDo99Q?'e;VB~uHjmA2 EfsP$I@u6wNWeV|?C6 ^͌%_@ɋ l{N-w''fQ_oV#_  מzg+g`xhxkw|7Y.xݩ)|м$Bɢ'iJ@X\O! 0S s'Q)xO1i漎,ץ0&W?Us N6Zؽ82a#i /FA|"N]I-\E[a}FF4m@;ƒsu'`?=%?ka"Ukƍ)X/*Zq>D}DnH<.z 8uRrq=Df(# X))AmaK$}1pRyſVG#o"xv箬 Yב+Xp"PyYK_>+G-pLzsE V>[M[J$*$J.~ξiE jZIG4 (ozPʚgȕ&^hqfת|n2\~={-g?/lӻݸG)c`j˃fG|vȗ^6)8^ܾ-<,^"+$}O!Oع^?W eVc*8XHm E%Z+1C \tsiDܙ0FS Xj:S0V;o78J:63 9s+Ҵ2rKdEՏ[w~1ʂ.mf3q7 ?Ӭyzc"x:JIv<$rs RmI.pDWل;-<\]e2ka|:Y)( f;CWxI) o&pH3===Z$v x3\9~ T&Ö[^eͺz-ѱI9Fף"XYbPedy֮ёpxRf {uG1Qlh\ZO7bAq5@9xk/-~q$ ,kgoҬbZ Y^}}Dk7#lrJ=,Ì\S$j0@ %Yh,pX*vs n!㟭 2L]JΛc5*i@cf\NPZmȾPgq{GwcZY*I^brX%Ao;K,*guqr)]nh ȅE08 \˟`\*X jH:3+,'^v(Z<1Hg1 r^"%R>3 :Lu)z2&|siS'YQ ú8~*F)2>]-&#f'B%0&~ȵ-ӕl95if.$?KV^.#fMiSC"]=XSx_lBI-_E# kb WVjC~i6E@Bh t>6Ct E ?&:z입s-MQƜEjӍ3BlST6έKPHbĕ@VWZ} &~Y.SO+Bi, :k,ѽ"i li5xfL`- UpW-d&^q_In>xPCwGs]P;!5Vkq+5AX&XSY ̖ràVM\Xc>/9acfcfw0ZG ȻR2׿Y%$xpmZ "E@OUsǫDPOiJbʙ;#Kz$eɷSi؇5$po\lY0ʻy Ie^C {C t ŶFxu[HAJeQ ߿֧&4 F(Z50] 807W Z@_Ǒ.V{;; M^)#G;@CbS]gUH+¦ߩS ")Θq϶|#S29{H̋5OM8 "Ajg &Б@O ˿3:h<eK}rb-v2˘-A*+jK+PJ:mڎ1 ʦ)}ִk=/[h.aYG5#:UYԈa;,`$f$]F  ]zZAdQ{Qq["z*=* Ot/\c1ݥ+pp,[NL)NU)ʫI[UF@Vκω^M^|!iPʚ'M!B"ick3k*7q5a%$W)+Cs@!LmnA[ {_cתb"*~ lwӱBK|o !qD+ǖkd wX\QE_od+It%NF&%"\s 9@Ui~jRF_jBs]Bd$Dש ,ͤtM0Zi+pTPt t T@+_%V-'^wW葰6ׂ^Z-J#)0tBsڬIHjLp{+C3e4E󺭺׫/jyؿU`$1AƘޣy# |jjj|YՃZ4O0 %4Q Ƚ'q(.HI(pjY0WP~}' mhw4~%m31Nk.N;Q|%)/;D'bU bU%oFDh&CS-ԛ)SnZg杻\nήJ5N ,Z0YTV8N0~xÌe*B)BŪb>s==,NFA/P aB\ V0WʆSqQF^IA%?VR']YрP A+g=/PUhfG̚Z%F*m{x<1r#:xQ75$l&uQU  Q2g)'/_Y/YaK]B3,%;S^ejt4l:^/WfDFiȫ_a}v}4"x:#ew.| #69O[ms-W*9@; `y~I#j8名 ܧpC_]B_aa_dмOϠFE"&'#eC6ـmư ;@][Uq`mMrJW,lJGw3;Tͩ_pjz8uV^\VɢgA|p.plGYwU$lZNkuŇ.~^W;F{k1niѸB{,%>TFhGѹ%Hx"sv\?H"TAԂ: gf 3a T2,ƽ E<-ȘLdV_-JxO+޸cvy],{S|YWHb3q+(`p7ە'b3Lb2Ru=壸S0 W,@ZM?oIڠϯb'̖lؿUE\%=Bx)+@^>4PNP]g1[&W ,]Z_Y`pc0kA1`0N[C٫G2K+ɚAPVZҷ$|ad1PR;j5اW&oPjt4˃@A rd(|霉1#M/ r8]n"!v zrC~VK,\0vBJ+Tւ $ =f qK-V^DCzk*72KP|F ~+1P_8cʵmzIvDZ j RZJVtSDa4^2g ' :")Řg (Zn'IN(YDuf"э|e!ƍRՏȲn$ƺ?GL{ڦM5 {!k-DCbfS({%)/!R_ueě >D2*?!$)w)L5jrb*nֆBC?/ωtq^3CYfǟ+ G1]Yk~.}V_+vvGvP$L_.*5/%,b{Y>/r.O&(Hf7T}9Q+RMwOV;b?|A6F<Ĉpq*XkJXpa3 i |mJ  w?rX[j>j t-5 {]m00l@xHWj7ukjvWKmL&?qF_#JЦc8\ˀr E?Vkh{GcmsfU~:eJV(lT,}o0 JHnlK^fd=e\o'"9o@tȴw٧0.fv)~xC(E $"6y߶qf5JNfiiSIGʹS|:]}͊ԭKOFZ&.@T K`k3E`~["Yޚbude L5Ԋ} c_RFIJe'FF׸0o@1bZuP NtP Z٥B(*aXYY2!Ld\>T7#s3(ICyo?XB8Es4Xq|za'7_[Gw*.M9-XT_z/2 k8@;YdVOU؄ݵwo&Uhf%E1~"-\,|/W):{ǞLwIyhhLh nn݅JM^V+ulAHwUz߷wPà М) #g$gp ARC@{Šؽ]pߤ/ 2IӢi_-;k!8.$3:t/ A+G3#r,;*dV5cjKn%N+ j* \ tYn8XqIr̶ؖHj]"(ldY\n+k2KM)&QN4$8O֊p ( ,ElMڷ\ZUJa( 尮,K0]{"P%*N%vHw7ŁW[?5xIB· qB;o# sipK@e^)$S.<хt켮LZT$̠粽zی{އI6,؝4&#gU_N`B*E! ;nHUWcj xkIQer,?~@Q TSװ&$]3o}gZ)p=}Ih {$WJg̿CSx^9G(Y2w! nzs$!i~W8F}2N= ?=x)aYUQ0| ˔8;Q ňQHS+YWW]:"-c\vy /g{JMj/JfYZ)_"VS (tdIkB[WJu+qnk"5R͂̓[U#>OҹagL9 aBnvM_A3Rt[6X-BMEl߭|-W@ 6sNzsLBe<5oNm߅15-E-B$";@_,ob)`<65×$u#!7/=ZQNX~e0+vBY/: 6—p^}&8m%Y{>lД7 "L>>h>rf1CH>qp,ۮݎ m99~⠣_b#R@y A@#?E70lo` ./k2E}dZ'/&ǒ0{ZSوgawSbbBBAcɍ7oT3¤=hAf?n[˭GO w?e6c.09F?j>O թMsn*d+pE?&tӡWy]#t Y;"y$m@8;pJ.Sл~|{X?&OΌ dо±uEMZQO+9 8.{<Mu_O_6  qh)=T]y,˲w:Y^s0~vlC~1HhS8!C<-?=PU098\Ǖ12)S H d?EHWj;A,)- gݵYmn~UkB;3|F?uŽa< q =|WbJ*㿵8P4ޡo urf.sfdڰf1tOYGJ2X~/X :$2 mf,WZ<]T}G7*LR4Mr$ZXK4lPwe~7︑FOn\{ÒW:gACZ 9ޫ=y^D+ɪ;nI!El].Ӂ$P`!sV*j*$Z|o"w =::ndĖBdp]\( mu0Dgwma@_w|P EXD kQ5 0l"+3|`j_yV#ɥQw z kl-=ߣ ]T}CuMUUE}c 5(@4@<r _H?(6ɓdc궍yBOAU,-Iijz1r=L/eu,GƄqo)+w ,m+ZzEp9@1V%;tߟr9dTubݣSo_5"Yu_ڒtmlFu.<?*1_s.)niAMX[|?mqRdR kB2>7 [o-A'7d|:&]0&?79JbT>ݵ#Y>к5_š^!N*߰.Ǐ=ň0N4Nt;j6$]jZaCvI=V x M8{4ir1!Ig gxQV5v qmI|9O ~O0%E)/ER1޺*E;iV% .m;[tّTnZP~ddb$~muB2sQ7n<.ުD[6g=dkfA >4H?J_Fpy'ojp9`%ⶶիi_f'Lcʓa-GE+:ij7L 4Qoe?#8b%߄"J HI@\\g2x,;]&U46bH憝 q)O-vQ,.ǽ K)_xw.9C cىGF/Gʍ޷}Y>håqN{?zV(YH5ZbZd'.qWbCHMWq:GMzxEfV6$E|FC୓jwR!f([G1VԂ@= (j7!cln'VY* Qe܈P.*&>u b(!MB =БPCCưy:(yFo&KBn[y~_J_T֌`k|j]\XaV6kVj"j˗?t R 121OKz*$n܋{vqnlshf)~*ޙW^œ6E4k|=a |p'dRB3}0Wfp>7xO_h߈cdݭfc 4/ϭ?#JLMZKDF9}sjtCuexlȰGfl#]3wEXu3f(07? G}H.1۸‚4Y^ְ`3g+YW[';=o2%gži]/Y<$=dΨ2Fbrc:fǂ+k jj$zƕY⳴bmGp]8x/B]yZ4 &T{×W良N+Tm['isK|{ ;ᨎfE'vVOp0n +^UP s«P! %Qclƻ{j{'e=r+?E6kǴs(:":R.k 0>/ %_H_@U*eۘDcwMd}$F@UOл>d=;ZM1ĊM wRoqY )cPޞEco~P&2L^6\\L4͕ZVԞէT`vx; |a)Y-ZԦ:bUeCC\qj笙J!ڥ{aB"MФUhˡSk˙7:rD`:6y۝ܲ+_&5v-H;ե=Wʹ};fdXQ]u:fOˎo F ~,ϭm.ߴ\0 7 DMZ4Sq4M^!vJ ='ԕd0KrPΡu~~0y 5HA|oN4&kC~)]qnj[@j]q,5=uwD6S-- Nب69:nW{pDkQn>2R͂FDfs ٧.4D0EJb =gI= ^-sYՌ^ٟHc+߹>E߳=c +h~3nOFW>`l/O}LItҒReȻhk!CMwZ\qp Rad7?;b=tp%ԩο 0Dp~t'VZ?,҈t"uƿ*tIw? ۱lj]D*Oki/n9ZxI} sӏUDK` *3(*o!9!ckE&@ Mf9<n1?'ԕ8He!ϽHvq 3C_"/=%E:5י@ |&'DŽY/MS:4L?w'g<ɫe'\GXuP#+|XKA _ݿ!:-sp A]Y} _ߚ_b nL1AF!r;BC6,`O_(=Yz}-QJrG3H( Uuǀխ+0FwDE`M7H)$s# HɎOBwߝW]8\J(r/mٗ sG2كS5/t hB !eKw<0;ӻla2ʖZrVFF(/o%\Ao>eb}&G,t8?KBg]Oj?U0\x29 ݮ3+׭I"![ADm„0<6aKI: Ų(9ܖ-<7 ~ m묑J\䕜>+~Ξ4 ?wڒҖǵϞk?"즜B`ZڼF1e##U~bA&;/wgZ[Fd5 %rv>ev/k+pc~Zݬ+F%d]-'W muWYp˳_%F{$mAXVE}T7h [±NMk bz/':"ͯ{A[iW,צ4uX$ 3*ʀcj\k; 翭-#}Lc!픑f)(dL{n!hʖ{Н/fWk&Q'BC?gɠ%]_kZuxi7+!=,US|C,DIƫu ͷF\[SnZЪ)FFH1(fM)HfCV.߭Γ <>FE]N C.ڐ0,y'"eRKb%}?k&k.s0-qZi (9&W~K>>]Ӄ#mľڋgbsi Z>% sః1]υX0G )vI[(OGCۋ;ibmx15$diBU:YFX޾|j{y:iZi=~?AAJF b5uF6V+)ޭv7,Ի_ ()]2i_ż~۬92(O2ӿ2,=T[i[:>y7)Ƣ#I)|kDOQ=kAW@19 A^*v1}RnyQ3jxע-~J}n8a߼˹!THk( }` i"e2ט1 tPDH^{eA_2oHm(qv Y )&\*P5#Z5 #+'tPNYIXڒ&1emW*Qc+".o'*對j't)~cAXrJ>cH_] A4lib3 7@+G~h0R&S=(uqZr1%eU56|!kpvCf7-CE{X-!U;2lmgfH4 ,c`QWzT98u'7"W8j1oo8yIQħ [,"-"EHxy(~ qXms5竽D]M{"H=aq<nk_&c1PE@>nkD tC g9NJ&~[L BBYŸ*z`̎MaƴҰPqbt*a:2ԖX6xd19 -stl1OYǪ p %pkn"CGZdBOf&B}b qF6NG(6JۆZ/7} i%Uh.x3:vx:}łi) zFҤz,cOӖvM˚*@PxKfFN; /R4´STa=-LNkqW5j'ݒYc9Sk-bs{4_( +M tRBWս[BpbH)8RXu ٦aP@~0WkNePfM\$]ǝJ4 a[quKF; #/k6 rX^#T?w nnlԉbm rҡ[442zS)&_UU ݯ_ɼdrqH>%6 ΩqOW89Bz`tFŠhu01kҗc}B{%ٷ jV|IDD#!!-\3!?+xb=n ."Ze?YO27ujIXL}a!@Rch$JjezoMQ v0AЀAII {BYWvFHB^6GX:-c}0C$$z8~ 0&9MDl'忩E4{9wư[BJ<}e ȭ6l| %T5|򍉎&8*>SΟ0ƕ(#GxUao6S-T}աFHsۗSg.h45j}Q \?T[!sTd%3*.x1Aj9@,Sd,fYU/?p_v,Ō4+g*pwf!z䍹]ȥ55zN )?e!]J믈ł?${r<bL1, YCjF,84P](h38XS{LX'~jFm7(ƕ^  0J ~Lh욐et+N36"64<^hlq]h,%.,[!I'/e*_<˛4hfC  ÄdPV@Hl F|B@#!9OS>3ј{9b^DIv4=_ckR+cٝ)FQz}tqu4*O{< &0LAQ\ @iJ{Uq ZbPw"xꣀ.?"܇̼3C(Of> FHCAmd<:wM^?u4x*pMO|L(1Aa׎Do+@ ia<42\ S_)1T*'F) 4'XLS,,v2=M;ߪ6U/^ft#E[7qW+)ӞL4V k$,4]\>ٝ_AR'|VmN@6`l:fOt.$Eʑc K>2BJ]dž*f>Pv!a'?Q ƃ>%!?BuwbCeNvϜ@ !@ZqϡWM@_k?&shZ]%Ւb|':6<.DڍoWD̓<$t XxF{`^*=DXE5MeCԕg]a&ApO@c9u sJnd~34 [0QwHY ([`"Hi/T\*OW\p |L oc`IEQO @_x7 Gp^]fBZ:.pmq1 09/"F%rBGTu:rZ&䠇Veۡ\Z\rɘs*,1!xb:@bPX]^?7q DSAzK |_ ЬYtHtq$@Fi ^T՗,0˸}@ݪܚqo9iMz`OY⚸d\Щ_t>UW ;ڥ/!v2"å (`2F_J݋w1S@~@W[`HmqO$R)9fR-.^kح|FݰC;91SFzʱ(;+UF~5gShh&[pX:9s8do 5m[mHkȼGn<C7,ptۏV\ x?"|s62 hl] ,dzW T1xY alDBsej"Շ~y#TcG|W^^DWls#0,6 `:Ϸ<0܎:JH%ώD/ |>$M'i¨5B2k qeUA.i7MRJ8A${Jގ¥&ֹ-fX{)ds!Z_PYq%:..;^Gnbp3PZ7NABZ_ e$0U' _ڽ+T$=ajͷ ŖS1ZKKK:o|IxLg`68 6pxΆzkL R6R)8uPqԀ;3<>.n;+ -p8\ \cS|P<UTq nsBɵDFZFn.-{Np JN~}p|{~VƿM#? k.̄9^Hmw :gF  L&݁^菨{RvɂEʊ!HڍbN7ޗ,\jKer~=nxȡCRH B璩K5jtyi7./so:hHf̈H֡'>>n]*;VIT`j^,!r_[N<&]ܒf$Pܣhw'?7IZi$R)1y_m&S$|t U鵕xW*H")ɚs wi&5Bn^h1KIrBT$RY<>+z6YlQ%y%+͸R[ܘQ]{ӷ؃L0^9)7\v<5q=…6Q,3ЧYc9J:9r%b:K8VԭGSy?" +ELu>J?-~'#%3~V, ˤBP 9de ]t Zg|5HKYׇ} HOZ|' $%pfMJ|qyeo<?L0 T_(gEޘ-Ψ.ct^.@qǟia;n1:58[ie+YGz=X-FT.LY,ϧ j]e~ܤf̴Ksu*Oh"71% CdQ<Z')#tc<>T`"Z}X>ľ7ӪLANߨl ^R\ԙ$f*5Jd\׏Q,'Qf.ӫwG mm߸}OHgJ%&z|fCZN[v`HɃ)nMz~aK Ւz!_c3h'^̌'w[Tpn5:*ο|: #5tEn&|jhjnbZ < ,Ujüp |{1s ɇӍY} VFM}D 2G;6+& .. @ի펻ۛm;<%]:;0 ҷjNs6&Miȑ#՝~kL/aOCyR4'SupGZn{/M,Q]A'¶KOu)Ng_n+xb=(OL0s D왖^xH |Z iRP"LHdLdZJtt@qS< uDq_g#Բ5X K;Qx3n vJ~~U\/+V\ǫ 67q8tZw hjexdmX~AgЀ:ŁbqW,״kSQP7&@[Fɑ T2b&Tf}A=?!A硕psjkGocs;?ŘbihOˈUޝ&S[\aۨ/yKg!sޢkHXJ4XdYXM Kziwgum/*~O/Im9),A2A>g9(tCqrZװKڭ`!{[R m䢿[m9qcҥH<Kyy>>Fv,DkZC쎇ъDi$6,ςZn*rElM.!k}aygJq*y~s􍊅ɿsऽ5 I;Wqxd/!7"ׂ.9C %1 n{ojmPZ3*sv/;tIl+-Y ÚVGduoTVCnV:8)_gӢKrdإ Rz.',D`D9s:@e #Ħaoy ȿ .iHf6f;K-m֑ki<+e2f b . c8=,SC,ei)'~!z9wښZOwf/u|˙ؾRӞш$&pa=A@sG~Gl'MMR]a.wB$XZԅbupJY U2&I bo;Y6i4TpRmF*OAΓnw`s-L7R: C'vNyqpN=YeAɥ a||NaB+^jSޢݟ,U{r&K~,BP:IF2؞C0#6BhtFe*˿s:zˏ#Y-9~PM^.ߙ96#l >8}8Q7ٍS%j#GcnZC\2Uj9yD,.ifSTf}SJYXLsSIQ=Qu,X&LW)j5$?YF{1 ֝[U`pk-]Sm:#4- W*;Ań=rnKd3IOlI*Dw;|pIؙ3er *_«F&,pos2?޺W'4Obatϭ0kT9(1nC#5/_0f*=HG 2h,nN&Дr2~ ub_IMUMROA8wU~U濯-Gcw3qt| m3YfO؃af&噎D!_!'Nٟ|!Xg)?A5ED#9Vzeͻet Y1k~pᐈti^b,{~ }D-6^ә90XWK;H&s|蒏Izb)@b=݊V={lXvZac_gPBx&+nӽ\ǫG7,𕕠{ q?y[ H1,S7ȴV ֓fcl"q\@2Kofx3$0np_rP=H*7:+L| ͑Y~fdj&q|z5"B [9|UxW(A."qXEduȟo;U~ϵ/ )Β?ET~@gJ;'BiJi$SM߱}SL'6ΰ1̪^p#ncE ʻdfHtWRO|pGYQKux0]V6)Y+DxwqXS^m^TKq>kt]Tć~ f;!~bOl%.![v`WJ0pc<-jÊaC=~%Cq2,,krwD,֟(#MnF }ɦbxHȨV~ u$s3$7|4p)K3N2$Koe)`,RdZ̐ZtO(s ՚;Vk픒~.r狪5\_a(0Wv&KPu; )WCcbґFyT2#)^?Ǯ3XVW1ݹN^ bB]R?89;z3Z"ʡ;5=*8,GʧBнd2sJ54nsi1ś%}/D 2m#u1ch,ARWg-wuC)!;W"@Зa`Uo+ԠajJo$r<'\l;3M2\zIP$HhBd\d{_`!YQWD g<;YSP#(;4%"Dɓ@~@' 7iLEiUZ^ca/ktlXES9zl[@2k$:׃%_s8^ $@*0|>sXP@1bЪD:l3 C>N>b j'.g|IX7+7p#(< Q|@.+w!Z?$e;&xkEᖠ՟l @z,v&'dh)̸Re)A=䈡ie@3{B:/eS3b uԏ0qx ѕۖC{eCHDD/G<{5\hpĺ̆pφ!җ:aۦŎ~7tmb_bE%c%D.Dt5W_n&"4~Ď k]QɐaљmXO^;JX,Vy9rb_cD/dvhN?ײ%砭4*BނoYKHs6LF1nP=sC#sοCDQItT#T:8D6*["/=*^jGߠsw`2Ң3t3 A- =֕cgR6< t≮uW>yAy|R=mF "~ѱb}:V.itlTR# pTߔnW+|lpiWX <k绝I>p9-{O!<u~+''Ŵ tЖ(9֨h0Q8$B>#SucTgHM9g*,Fw$4ImEZM\*);x48!dqC_pKr?G+1^Y1*j[iP Hc4!På)PM۲-Rxpf:EL +5xr((h,A|>gLII nbh'S0̩NA 7B\+g(IPՔ0JXCA޶}h=z)=sr`$:ĺ 12,0{WݦwMxlTo))ͥo9[NI\[kp9{>aQD흌=MU@0 gQD1[S&'!)r:rZݏBt틊3@Wl/6lS܂~;4MYW0>OyjH[0VK2J(8qS bOd d1z4 Sax'X s{lfh%oTӲ4qN [עvLONxJajL~=RŒG4D$dyldNkQŴ&~1̆D=C`yHj _( /M^J/FĂ գ-v@X{"nݯ8mk'zM3́" n퐲lJ r@9}%uӕ`pp[_-vpS,{DSh}eLغ3ehL^\S2{REz\1S?i2\-˝+[?L1:hx*u "Y$?[{FX)[pOPR)|odz:R)I5(6Zq,*F>gWDm7l,-P Qev< '|slRs"}*vYmtw7 $"P\kI$Q e[c\Mࡗ7qsLw3Z \ VjP%,~:Z1fy][8Զ|$aRKʜ=JAڱ p9p4{%]xmsfG .,XNthax4~jSu~;?&fL:%qnͳQ+(fp8dktJ'^pGpФnZ>~ 壑–zɄ>H.xYX.tWJ Ԓ:27;wmӄh%O QD0/=12ђKU %* `qX~@3{bZxl&[%!hh>^JXT.T+F#O;ʭzIXq OG%/k00w'2,P:ףϯPF6q.9AS!t.mE,60.̷ߔ(ZҲzpL^BGYy^? ZѩϷSBgo[4DlPG lƟyA F艛>&WXإ$Qn)!i7 NȪDѡ?yOnXQczC 5N8}{Xʜ}_]up#?SQ)gS%\1ې|;7b ܿz͠d{E;#"JBCbAك袅r2mkcPy~m eީOHr*HРM!x螾1"**w0@+j r΀)'o*Cw[AL]$ Ӿ[5A;Jk(*[!6nŻpwgWFYktqv&l +\qfŚJ9Vqc _]~72Fs r7|NK)Ou;i@wLk!?K/-.2If(VB٥>N 5HΠCqhۂsI'7"v3\_L~UaڃNwo#C;|/V) &SAx=K9Bt#9p>?Ôk :/ g'ƕE$tHJAu0#yd 6aV`k qyJ=W:9/'hQ}w٧m+[}CXIk:hke >TvS*0njecIC=11;By G+KIj 4Qr~9tݎe>}*|N㩄jU1=+xWgjY0J(a̓?.5U@!hj %fגCI&}llw& 1<<$bJv#Ui"XQ':sظ/\'s9,$R^]>({4 (*6ZNeo0? bhE ߁`1VNbnq+aGm˙ydбyyr ~R*+0&/#[ERݽ#aK_PB׵45:*!z[>%J]#_ygsb6"Xt DKշqh "vtsH9vnrNZH'`+<莐QM>68ϊ;lM+^Q|WG/Sg?. o8ElOFPSg*3V<cݷYY8ÝaKQ8Pj{5Ph@Q}3[}gزY#hӭNS {svl p\z4_n}-U#^o[q2K-(JnC'wq5tFȦAcp7IC,6'OzR9_5t75썯#Vɧt >vR4,Mu쏵+1p3/=c7ϨZWF9Y'M" tHjZY2]u*#<yH GHboP5l9p $N>ip}Ρd8nŦNUqx-A=8)G.5bMlbga5VG w- S&y_<'6踄d;) D'8P6@\_}a'kPhrcG &1"[L΂UR^0| l-~eAC{!ABOØ3<醸?'9B >#**^'2.,37fKbe+dAHppYC;~Sn?"Yq3V8"ir!ݏ[ة 8/YH!aTױZ&nd\&ّ2@z?k,a092e h=zPOM:nlg*c]VoD_0ebQ"kGIkb;sLp  O0_p٘]M9UcO5yaaaT'ߧOjK?e"ƠUx=V^{5 Q AZ&UcQ<"wg ga./obݖ%~M2YU^EfG0q`Z-gxXTfz申8P =MFNY#=<d$nlؘn#Sf>PH/财J6XScvaE=]%T&> W$5ȧQx߽1YIťn6lj=N|0kĂD>Ⱦ=2+9i/"' 3|PZ`˝?!{;=.`D:epN0Bʿvu2Fy2:WWctZ͔i_kGxй4ga(2/KXyW.oK7$M޽̗917XJ@[#+|~ȧc,5/3&߻Nhl4.f6'@(*(5xLڪ%yV칚WxnU#yxԗgr@KvFCcWiK@_{4DcΆ9`rL7 4Ɖ*V|a,w9ePBhܲ Lx։Oqj:$ՙ?DTtϑkҵa%ɦoʉRfs.U|8f4;͓ҨsdaI+2.$eh߲_e\ `"P]^VIR%`|\_ӪItO҇1n1LSaʞNOA5ۆ[ѵgxݫ|$O ^[ksn!̐nx#7I$%qWИ"A u^0ӿF[#tR{'~Xaѵ4րr"/uZ 8^9@|EUy?3, \qư=݅f;BvB`CD_NѤJeX/t鎵(Pz}(l(\RP(ևJof:V+Uc*R4 x [oo?MRj7 $C҂"seЃ9Q]Z5H]ZlBV`Ʋs#":;lg5:Eie wź݁^^gGX8 :;qDye t v쮱kQ_,1 ;S%|gY"a#ntK.QP|[[ޕ߂,brfQm'ͻgI9yҾ9*#-##@Q/ryH^MLEo‡08xNv9rŘ t%SsW@Cm񺕙g}1 Қ?Xq(kE[ZxFyp,Q 3;}Y0`lZe3tN?`]Uȳ䎭4.x[HUPk;3黟v9)(';}<>4H5n]adO=:J=lY? BFuPaT &Ƀ0ZW|ĹSR'#UFF,y#*R¡C-i!/ jSZ^0Q|@Yj6 ^V9>G#n, Pgv<*^0ph$]\>‘4ZCPwVE'Po%q? ?cA`L4:nQ-ϑ'}>lh)fޡE08i0T!A;x>V0(R,)6H1y!KM5W v3G!SdШۭސS˦83Qz' U~! wܦE쬸fu$ {x^B$Bk3NPۥpX=br*-+F߯W;Ǣo*;m~Lkv`eɓ(Hl Bg Ei畤Ј->|t}/8®W. -.+*Z+&΢>ſroW+%Ed*yzpe{P"_\ e0Pք,`ZvC` VSE|S\S9=2Es%ޣ85Sh\?MRn`-mFuGvg kg>k r61,.y |cخ&;jZG"H cݖK'ϫst nm9 W 0bn5gTTqW5-)JHeo%;.YԘah^Z`K Sl~H }XOc߇␄Dy6xkosS.iЇ? l!>iVH񝄳ؼž0lqV9&5e}A򊸆, 8ivlY)2]2Ʀ]ɷhAWJ{Dh"!J~rVz y-C !SBq+Ҕa=/܆3H~Uh13p&B2&H Կ~V"_xڒ]G {? *!L4嵤y3A(A L_:4 659R#oW)_\^|>!B;~1 wWt6vGRƃ>6V6"bu ktrϹCP˻ ؏(7r3|;Rd7'_8wI$Qɒy논8p0FLiSwM'[oNb_@?ܛ\ ONT]FA7lU~:H0\g)AcP#|MKts\dw|.NL@D{8Z3=+ x,}ob.с2Q-n"H˧x=^;5Q75Hz"ri䍰aThL1KG7PHEP{A w(2~邏D`:T|dJT-ɖC0&'[a$}mRy49d\0Ԭ[by#J3Mka;of,"M&.f D1ClP-}g$O!i`Mj>L8Tuv~AyqHܵj 7V26rU@=9rgkQb"@w} 2^[RaG^EXXÛYԒ-)TPH ?.R&\ߘOd2ЈG%V,xVn]( =\1Ng=?%^?R7}m5z )/'%xJՕ8wvitvPg2!H־UyϐB'͠{Du6z1Ѧj Gz L])gU,Te.H$#1$\!hQ&z>oJtM-Kx1Q 6 ,&&Dۄ܆lPiNcj /#VrBʿ" &9jq@Ν`;h+3ML+n!ϫ:e&洅L, o8Yq?>dP٢-HLHj{{_mB.U}+}WeUfAk'.?9F Euuinj[vl[a}{ ʙNZVpG@P? Ǩ=Vxe:S3òx+]|S: sBhQ np jHkĮtc]%̑} |O[=/mXxN6cZ}NW!?}Rė'|}X mv:Xn;EI uf(oNVxntHYR2vA1* d–]Ԡ^>Y'gM&!H+rZ wDh1% #кأ aur꩗ҜMYՒn~lr)SEi<:P=W$_WH +wA')jACrOzݳxǔBAYNhGyYc, ;g1g*r "z7lÜ|a T fvaWt u2"\ue5\ Ak8[3[yeǸ=JyxT\Q:tW/į ?NF]X]0=2-F9Zq9hgņ*̺ EcZ@Ƞ2@/S5D5H^5 tWE45B'~RPf(K᫖邽),ڷ_{ܼ=漳C!cjL ?9ۂs 5a' }jL2SObh9/o_ lH[_N38S4pݼ{*a۩6q{'ԄKؒL.&I:[9lk_ gARPS[is'# ?)GUR4`}NoxIаym4o)8&rIK|eU[nnvXWe莅]r|(gQ|xEcIo`]ᒆa' NBN%D$qGqTojl-!-7z n(‘c@S 4y{to8JIW"R~ٵgdn;:xQ;K×; M|`*fYea;Td0Z @K_e[ Ҁp3i* Qf3V{ qK1Y0qߠlhk27^vK& bc3RB&N%0v©nu[ c-,svn6[ 'tMJ)٬Jc(P8)ox5"eFs;xAqrw5~l*x`dhwlFzAy-{ ΠK fG_+eRL/| -FID`a4<[ bl=j@n%s(O$FR3;GHvi*-EZFpzcMm wW?Eؿ=zXkIOwcܶo8ϒ39X[9s&5qn]Je KIu+Ma,OckҐ\ aVkX97z-HڈFF\dݱA`|:{>Ndx^SZB&ޔ ҁ)x vgا0HY> LLJ5]߫+ JnNfЁ@Cr4))|Y>Q){]gWoKN߶l|vfjL7&xl4zꡉw/bd!4NnLZHM"#\F #Lf:݅i9x~ >¨距@yd+?BB1x%eTGO}Lib?&Uq,&V/QyE’&z|YǙqRkWiK'Ij(!رHF(cw%f06Z01”Vٹwi3N],Q٨?z2/1\!oA kY6.$l_mp-]G0x7|tB*"@kA' 2ӝg e (j:R0:RMQgK޾j1@@ |)}~WRi9zk\">7*} ҏwKyr+WSTT5̦)K@à {Z`6zDv7/Nl;fTqFyuN 2#1{"h|DP%+f+J{H7+}W&!uB3I ҝ3HZ"NBÓ[<>$|ZٹF;F7| X_׏2&3{.B.n͛8rcqa_vGi#2w)ʵ<ebc 99hLVYW {_˃ueCݱD7|S|х5;X $DZ-/4WW*mNuaqGܮDceR=>U>o}cM֚ Y ϬRu-m*=9.( ~r 0 ,=QOQU9b/ ڍ/lGPa*%φV7mR4;YљX0:zWů]#ߏ)e|*-Pr`rh2:֣cɥWuXA 2i,٠ٸKYRF?HE(NO% ס 2\=l 3vYh3q{nς.{Z(Y?CSsA>4yAj'pIU#~Aċ_b A6v}eÂ%Kjnja2xXu$#!DSAҹ_u|k 6BRh1n/bM OCw"Q[2,5ݴ$fhvމ.Ѷ}F֑u&=܍&D`>#qNcjP5.¯0- pD*"ڳa*MΒė4=;QVF!#>I`:Bl6- Kں@bbx7Sj:El? .j&mF3^і$+!NnJR{3hG]0b{D1/?qiFB75U,؇`:kΤ~m 柘~dMd'ʳݨ\څGT#irkS$s<V?fXΨ6 Ҧ]xC?fCc6)Jb^ vY;W&a /;C@ |e}UV >W/cL&ʡs {,ӄٽWݴa)c+3G>$ mth筃 V=]Ժ 3n[H:x}{_|ڎE 3=)pԕ%UШ=\X3,׼|6-/RpXsՐg%H1<$|r ^jY{0|jsޫg6C)pQh(e]V2:Bc}{DŽ[JF PXоmC Û`BZ\陪AyE_/U,w)Uhe7# ]oyUo!gST Ob6{Jc{d78J#^Z|zAXM @8=0Is}Z2&bxY'xj-nOhŝ8)]?\T%7d \>V<Ǟ^$+ϱ(_4"*Ixg2x5l8 t ;'ʽfsRqPDeS!ڀat='xd !w (»$y"pzfg>s v]F'csI.Б}L[C.(9@ +]뇳b6,CGݰфe6Kf0`K Ɂ|!$t վ4p3dž Sxm6$ /xaxK=6O1E4hȦ9o7 $PT~AO ` @&5IYlf>'h3v\)O2F%v}'T O Arn>\_n x^Tggd߼3]f|-G޴ө*|+%S4]wT N@=$t:̨f" cڑPw̽|!PЍ"n6gqUV àSMkm|%&5 գxTKC8Ub *# cڿE/N=Re H{YB7X$}$xhU|D }tMhfu;3mV?kJ7IU6U<ڀGE3{_9'L@}MZ#bJт ;D#"٬'mSg٤?*Q gf o[~Wٰ.ǎ#la| lWCuߺjntta俴P'V3(kHVgѐqր>4 4fhڠ=3^4Tq!dv0_b58S0 ~JBy֢3*_b{m%oK{!.݋dXsTg`|KPCšˡx|1K"VY2EhZ!|"o(.8?!>6D5NLD#_OŞ+}$ⓣ{y`$Q3.[ iqWUuHOE=?魅#|h]3@Rt sFXDXZSS!]*[w8(aIb#5S^Fglt#>A״K r" DENL:_Pm̾9D`r8>|¸FZmY](k.nFbB[Ki`94 _|Ͷ޻Ȥ)@$M |nn_VXFF$rĩU9{ROĭ1Z>sxDq^V#ͩфg,$ J%OARW--f-*;lͷBD\o(`KDB_.n5T^\4k$NeHzhr j| ' dd*j]vвq8}Oǽ]+Ƥ0#oS_ HDn vW|ΛIPi[/k֐& ;P*8oO"=W)E<IͥM.l~nZU..Kvb(1eRKt=<20IHa+&t^MؠYjVuavRn+~Q>:gjOǞ9ibYFA!]2\X:UrWwI[a* U  h wp; ĪyV(MH^ǢOvbP XĬ'a.]f} "õ~C Mff(~elFk7ڲ*̕ <=C(k>Sj]>2H9t!@'kP{wkXܳbWm85NvV `&\pS-tBƱH ]WKޕİFM"cz;*s OeX#/r9Pc-ݱʦkH|S"Z}nx/&jo &{$$ 9=9 ^0g xU+؀YICɬW,=q|cRQ?I7E^%Ga=f @(%D7f;sgñ;ƿ-y1llss bPx%gvU}X CDdW7)f +O+(en]𬦮0sR"^# *~_5NJLܫsG/E󮤖!DUr FLDp[K=ya-8$٨0ܘ#Zy(^ాls9$W)iȩFj+hph6/K D$;Kp`^ .3ycU9s=2zMFHeunH?)uHϗ‘NPV5(ΐJKtd Uto1"JHHW!lc債_SR wR 腵wR }'omQ^-^MWT (BrC% GK;h<8p$ayfAC@&G_S [S_UAZXu}dv:#+nIx)Ap`0-!V2P:S :VDRU n&ťTD`%I8υ5ItڂzH&/%g/!m9f |_'59r>2+gM YXmza9p^ HΑ9"C3}yD?Gpvo7a҈ĖV57ʥ"lnpiVMEzlX?!c@ILቲe"&_i$w#`}m_ ċdR<5Wldb6G!9Ax[;P|k(Wr#U*u$F](xI[}$6W~ tIewT?od$=7ct ai<_ZX\BVG,4#AFIR^>B>x,۞Laor[Ls6W1r\verPYOi9mԜUv9g˨?LY|($9O׮v ףJD5ϜБCP wZY%8W"5E]ՁȨ)|c y2O(g+-# ?-UC Cn2x$Vb>Z'jm~w f1F⣞ &ćH;lPSnN^͠>\F*#{`DJ\QJf6m r@#`а3\T<f0]*BE4JwVoˁU^@}P73R"ol!>)|α-|ȼܥɾu\ryw :),-h _So` *3}BGGwI M!BVDe]s"7#.YNc3dB ~yٙfxF0Baǚ; ,uQ pȪS' f%P+_#mO 'vYJHtċS.'mX)fLKm%25* s:g[y>d/ٚ0D`qG ?dt$3o{Y _źS>qZEM吕^e <&"1س؈ͫ; jiDtc:1d~,h(u~]/T7^xUs;@nD\gcӺpz;ʐ_P~Q6!hQ@+V~>/J<LG.Zm~2@8oi-lO3 1.KI^$ S+? ͇=s"*W=v kkkP?+`$"AlpJ zԃ_ݮnhZCXh{䴎+щrP 1` 3Ɛs۵ Ck}srDI1v-13/3u gHMĻu>Rgς.3]6vh*;vL-ԏyHM$ j5~Oì|T. fPo\Q΁ycͯ1{PqEجE=e0IY pa|ڒ&6Vu8VMݜ2i׳E* r80Ż射*f=|4hDixzpyf*h>a.Hy&G$}˗hr_SUՓ@AY fI,RB S5Sb܆xʗܪww/%q0SksS~Ƀ{`Õ<$ h >d%}=Eόb RjI;qw}ڠTyo~sz89R623UJh8XZڍHEoCt#K5=5ԘNPٴ juD,}S={S,PYRI]yS6=َkzѧ#W aSRßQUu5 fD#fxIT׮y# {1gnzeG˥+]{Vg;]Rw'xQlUx =6Q<3XDb,\8`}vƮ#)e br~ &_/kd>ö ;o!,€zڄ?vWxx5ɓ X L64J"+ZqsL+wz@,B˗8Zڥ'I,}[%^z3$C~ȆeB:IFٚԙ~\u.XsZ+CJjD6$FALl&g$KCWnf359ЅW`.Vus/MAVRߑw0ԧ}ѡI0G;Y)W̻#lY .7kͿRBW2hf-2\<W.gDIC-/fUL B}eG7vOÿ}J?wsKa(O]wZ,d;YWqHD~`)4NA9(YG\Ya jQ?H)bId.,}Y(ɘ2zLU 1^" yASe\؛<4O'_[ FWٓխ+aTyvN@CyY7[~>PO:k&8pa_$HLJ6jq k0vYiX*KTx-Y,,IpZυ6lv_D$pqdER%e)cr$6}VNqVaCh{;7h1;Lӳ=:l Z>.AVA=W; v+g;ݣc 6?]3~}jڽ3/J:ȷeTt ,_vXtF {|P86.i[2PrU q)Kg"_,l[{ХlE:1/ aflΦ݈0A^G3c鷮&::m*g835dŲ\)e%/GS>+[*i\+ 2Aukh[ !l|hIz1}ζɆݯDTvG4t6]iJ;-c\6 Y Z\I"-K2iQBaP͢%=D0|C ٣zG ]aD>ž:~d HI.qg1-{q@$¿u'æS390 ʋC)N!Nn6D^--`*</LbAd hTx!u``a J\]YH3XU~Ix1U꿫@+h_5H[=o1Q1g) ҙ rQ_`ۊِlġ6 bcO`p?M?ݕm]-ێN=& //wӔtHSq>έb>ۀ\Zmsk: ~O#SY]X߼7S-;$TȀeSRې)m|AM HbwPr%ц".~l(,P|XE2YR&BA̓*7z lp/jP%g2%4dÝ[nLC3~NxZIǙxڈ %ue5&'o {8Iiy`4mMzI0e4:iK.2pR6_ًsW`MisW+NJkZ?8&[9xփ\㶯ċW%gN`@.T$㥻[*/!_DBrq6[RdUL@_bV;T HtH\ҩ)zj7),ު '5#jtNip)y(`)*2M,|u^: l+udA[K/L,t;uD~@- %5XinP#U-xѮ`  @WtvЎv9B/ě {8bcpA$`˺Rqlkσyח߂Lذdam!]^íQ oųG[+Ux$c;#QD-hKpRIc Šg W/B7'Ս+MóѣZ; c6g4_+aMFf:i4)*7~3V%bDQk%ѥ䰺Zo}@ibI28Zw̑C@7hBm$2Q?.o[ɑ2^ 0@j/ zQVJi8/kk+_&z"pSOI~3^TAt  c][EFjE.*:/s'2 %:MM^>1@+Zdg Lul*;4D>DjT7zcXw̭D=:40'mQF/P]KёAIʽ7q,| EiJ2DhsÀkT~Xb%[ I@ HNܶuAL{<æ+2<dpXÝBzνuAijOx3\CXh_jܨ1UMs;8=Qk=a<bPd+4XbCd?w&7pZЋ6 :^#(.)W1F} z0fɦ{W`Rb7j͏ 9ͧU3<"^wGEHM,b+fgmaK`ef/?cJCXiD`)O=<5o4֭9s Pdlvxxx-.sH%0- t/3|⭗7 3"9a q7 P԰ɢjNbGD`&|l]5gȺ(HӧYk*>g^x\ч76~~E >ԀqO?Az`{mGVV%bڛIT G#< LQ' % 9S\B_ @?:W< QltNXWQǑqDtqh+Gir"AEG%>% -J7w! b!%ygY[t Y3>X1,EbcC`S/B.aoDCӕmb0"a zu_&sz?:%|*A|?Ix(%Zs+Sx[^̚]%z&\[k$ZC3'^C>V!oS5ɥPPF಺Hnik Hz֢ݜ;iXd> oY}F}S8GQs L֡lT92VE̙_EuXe/<[YL5b ^xڳP|*hs+),VMF@'.[-[M̳ch-AbۛYldR]#-.؜nE9[wQ/Xsd̳_|8KȦԞuL_Q7ѥ䤣33V?vUt뛜g඗#8@jE$ɓ+k@xyz ~U6IK-C=ƋPTjH?mb+R~@[!4 >VgG6L0 $Jӣ*m:x29OR#y[@28m.z^IꥁV~x6FgJ֟d;rG?USRAXm k36ə͆!5>f(ِL]O [ǦWbX#@OH;#Fu\'vކP.bnb+~isٗD C7],#r; N H->eYandZ2p7פ۰1HLty>ZY6i"*x"fA iAe t ;%B#;;'&/I\P;~ >\c˿EKة⻣{gl(ο3*`u CeŬ%?P[qك^ۉji{3G'cWz)ItSNز**[MtJA`/ ߗV\[|6݆K\(y̠R’C ;͢yr|!x"$oQq3L6r_Gqؐgk5;Oh:"`d4wӚF3S(fբ7f%b} w^-By",gl%$IK74:Oȡ?<.J{#R2C!ka00x{ hYR(+`I#Q/1F gIgM @Ĥ#-6GgɬeNW.geMo;YYxwFP99E%4wBHVݩ}_Ro)#Gع"zyYC;J0Tʣ1c0Ч(cۇsguMoiPQo< T es`B=o?sH:J D!P"Qchy&&^_ Aɗ]Z)(EuB9( d{ZS]{i- *iu$C_`u{&nA9\ uioi͡'_@mTd[!gzKՓHposeYQX{VG4,?77(a*t 2}`fx>FPel;Nڤms5+ֿ[wi4iR`pK$JGFM0"\Bޅ enh˴5\;/ZRLA aզUJr$p]f,.ϫ5˞ Ɖi liRG0@WD (-~nk(R '4—I܋&-v9p6-4}™Zr" ؎ܛ8e! ;6]Ò"Sx4=]PFr3[=#c1C@dڣgF?«8gkIi.os&fDFn9U =n! u F' #7qY?a &br9(mUNR87$1YC*'R3=] e+jѥ hV*OKLld處>jϿl$ww_qTA1X&;ΧT2"+6h  c>O˰iwH3(Ud ]lUEa7Bbtj3N.˭P`KrQIkE/w[ss{7ciVcCg.%]t ݉xղv;Pw=ec+YL#fVx\,g wč|D\BȔ3=ݬP4-h%aԝ8Uۣ^ :2pB1T3+ Ovqh&j.9mx3*@"P!Nso^m~xUA|$aU'+`3/`ӱe+ֻ]jO/樔hE}x>Rg`UF#%4' /bDĭ]᷺N'՚U`܄4 - [ Rbw25Z,y5ޯ8 I ^ ?) *eGyq%o*{ JSSѝiџ&.GYݾ?E )x~?V&𸸂3z6]l!WjliqMRq<{HbDq8/knL7٬/on<_Aǁ1Z bIх[s,I(bj%xX>U_2Es+!q uo]A8ett,̨c]J+=,M/nxxqVd_.cI<Ko-VQ|R^ݳѫUӌ; Տ;FjvV_B 癧ODOC2 r!i{ruxYr`#Zríf,"}hʼnqR&|)fYVN="A摒bM)ƈdOzfWLbX7ϸ:"DX6RN[>s6*ćN`t`~SFQxŰ(Ss~˴/c,b/}ߝYS`yq7Fb.fQ0-'2H';t^.Ҽ]lM/z"Xz @tS! ZD}E/Y/FwA?p>]S 9)k:bX;b^8MSDvprgԻiE+uF}8!tk\LNTqo~AWTUoDT%! E "yS#3 ^AީQ.ߎ*2rfPO"8AUw(N:Gc]ҸhhѕL;d:=ƳE?f'$-7Uމ.21#.DeТ/r G6i/ +,E q%P="n HA(X?o=B^Q1IX ԉ8`rX(j~cDy,4a|VbγE΂1Q&!+U#4-rZYS -+rv(e[UHE>(0O8+L޴Ur@4HeFKF/$03p#鰇/J[/qq:(s aG:I [|)損e2CĐ1 @s7}G >F{惢 KSolgď(uj543ʝrVh9xpV~WSY0 ^.Oı78.QT!5mֆ_18ۋ(% OH0{EnN,a3*yGoHv.ij ·р-{ $v i$&Q& ~|&#|Oi|f1FlnX;hlKbo )g*B2}k CSШAoRbD:v)yLQVKӴl@=F=`yZ]x;:5S3[22 ۝CGM R>m6yS`ˮ&^6Naft)AC?B 6Snv˞y-H ],>Asj+gJ[s?ʭCd,Vd֬ZI0[U"J]xء='{t<6{$ʑ?|d5hiokV8X/Ԃm~7e+s@v>$V5 %q<-~4[)B0e%X@nap2*)^& :k%t=WxʇoٖV\XE K?] [ .&e`ѡm_jlEA#$h5 y/}GTjڄ->ؾ"[OAu[kHe 1܅7=X}cq?O%ukAuITQ/?hQȿ갼 ZhRrKG·jھŪ4o f5UL~coZ5( LK?n&Mp4E5D2oP}p| +.i~gPed.oy;Tom Za%R)sթ݂^1Ur6Ղ<[g(RSI,,tXkqoڻZƋԋ>q`g YYg";G _! aۄo/76̡:yls Z}q5kF%k&1Na1$QZpy@K *}/ 9.ސCM"+~',lxD_p >[ZO)hŐR[3S h7IqaynU%}>9r@06I36zeh^NRqmr&"h*ԯ9)bfJX{/O$9|.!`8+(~Si= ٖ'^8EGX9 n+VLlkO7KG]d/;,$I" !XI" 9o㡉RבQד 2p!wx,rS#,PH[%(3b}3IPݨ>~}?w¤hx =>cHU&OGmswm>xKLctcnڂ+Mem j>#T䤭\r4-WDp\4Q4& ~Cw1PVUW(M)N!vIڽ+R!.f(b*xuC>bLɠZA-~2%gd޸eC 3FJwKfe(yR@*P+ D.[2x3Ԉ2!:EQPnjx-4Tmvi7uh; BVK"@  [ܒdr^B^FJI;Hr[峏DA?z4~J.Xص9`ƮHd;Ih9Jn5lt6O4#IXhvs27x\Vh&e&0$_i~=m]^teS#hznX.Z1B&GӹtQ=$E>K *YD9 IjiQ1lpXr"\ռV?k#TC$O::e8u+gy΅,Qqr kZ`80HZ UOɲ(:s`$*0xDE$U׃UH[uIy/O@7'$|<5Y(*Y&'q![ |Jܾ)ꁷ>~o7={Wi0i3O:'ytX/Î/ \hk;+n',NZL kќ'Y/=4rh7eɀ+,:H= *FHFMMܝI!' Ia^$S\ 'eU"%rp1 Yrcv~x(5xemT2܄*O 6Fj Xb6X*HFuiuCerHpyb>29c|&]SKLwE-hIv<,ҩ_={[X [CeNg f[ *c'-هfhsqay6=fNX<xDX*Ě{fuTǑr_wgl? [<Eܐ,쒾(PxΑ߱T ?ĎcU|mKGfۄuo+_񹴾!~ $cB$Uojt/ Ta"5ڼ#(qNf RjfZZ6h@l>ʼnM*1^|^̍uh"0}CCp;+!hMț sO$c5R + ?Ab (= a០g|`M*S-@:`dZ8Iq*|ƮYи,nl.y,EKkwr$`sm̝ʪM.*[QQ7yxKp;Pa ['_pVM߱ CX9MJNm:Xj|'Y,: f u8Ud5=W75x_lhZ+Q41*<u)3NH^6uyބ8)H%''=C< Khw: 2p:o[g?LyAr)kL" 1GZq&̇uSpYʟB̷ߕ]`+-Aĭ%Vύ3SC1_NN NOk7WA<[flx@ տ]ISzͫ(c$qdׄMk3B-vP ,S "ˏ(WVkb\wɋ }w(}O (}}ҖJ{j CVAP iKtﳭlGo'[D)tH 7~;߁>f~ުP0P[!3gsZ֯vE7{#8tw& ,[Rǻƾ*;T@[ ei K@ol=U|ts?k> |~E:,Hu"m>>I'z &փnnv/'BFLB+[ey6F ?Hu'Klt : /W4m1Q(=9AvJ7}E]hX,P(`1neƣa&( ,ӫz?瑇tE]?>ln3CJfd, ũlϏ`qˋ ;P4DCO;1ɚb{vVYtoő=?*^<$,t^IC}>-=^k)TȊ#9{OK|#MnNe ;Xy$`7̪[\p fĖ-)&}1o~>3$۬P_auw0zFLr;"njq9E: uKħk"$ۖkAʇe$zq/c1# q$ tFY%xyU߬inBw棾`XQ\l+Y;"븏Ĩ60m:lNb(A}AZ@Bػ5FϴES#9pBTqZP- .c|Eae<'hyqخ1:T5yxCܥ_̋u-w:vq \Q4qv*AӋ9S! Mw}jEEi@M2VsBM{)A1', śP5?kZwg\B<-\yԶ߷2gÓ2 Gt!~9U/ڊ=9qg3ѕ0OfU<#>xO}у(GcˊS: [Ŗ)Ek*M2 #IDr.ז}]{W#fTA{] ?jՑdnc+( ;f >`u :1خj1zPOhW]}<!v?&UE,w2R-:D&hI>Ut%7D4ۤ R6o$qxeU~{8eLʓZdCԟ8'>I>?tMjI}, /f٣'oOܘ֣QEPȵgG;),M{I6`[t/l,RP4yiǖ4r26< Rx Iqb2r[(#I"9垂gak̈Z41=$1?1GV=Y!O\RM1Oh.㛥;;M|Z,w)RCs]P\J}qT+Z:lكs&Ό*‚ȸ(R `rZU<{X*lu,M5~cDe~לɎ>a h^s?^S,F5B\c蚺%s_qJz[AQ=⭎tdKe^BL?!x݇nL;(h"e@m@rj:{c*O@,' bNy?m(l»Z@J30OPty\-7m1?[alr4pžJJ_ؐJ!\y,Ȱ|ul6ð3Vo&(GEHUΤU3jZxf cK ZG[2⠶-׉7 (&! 9=h))'E~n{ɪ KdA=zLk5z,Al,mq첨=(RXItfteFf2WzX"xeHEԬR}3j"R_!n֥$_ؑ(Y.R A0`?oY 2[lmܥfe%,1rf'8y`5_-x0 &Ί^yU+ՠA"l=G,΃JsD ArYT2*adg_e#cg!,:I)sxn۳j+ 0mi! h]9:…_ٸZ42j(ݣSkѡɶFyMcw"4h Qv{9ӔV -xb)2Vl͛au$ꔣ,G಩/'2(w.9jūyzz(K7tRB^q'jQs%aTLHXiI~HO$LCͮ 1Aqw|Y *1>XE3uDnk Έ&u^^"aka/=TqW9%V?6sOx?m6,L^8h6)aFkSm#tRlxl}B<0 ƹHՌ۳`!, 2ͅTkwLo2.r,AvwGS`ܢڌ(NB7X*t"A(1FE`L(!{*oI5#q]O8ֿ},3[JpۀsrIs$tmj~a L ,lUqv< *nj†id/[_;~w]_,ў ʳ[i4ش@4c -f|ͽ94*}W yGѤJp_:CZXAEU'zNRk*8v[,Z\LjI/1G4*ibNaqJ,!"03EeOqQJ"G Ӥ%|]Y1{_ /Px]X]d $+]nL" |EeJ䖴m37FJoa9¿XnM5T\5Fa)zzB-blJ妷| ?Yg?Ge>SQ^џTJ(:~M͉m[f0\huiźObl_v8or]\Y:p(l_w+isVz_&3 HT-얗ٌZ]N m;NWOdzO4W?VH,n8 'l)>F&|Xf*tIEF!jV"Υ̘v=/u(T c/,oz؜AZP8]jSsx_1u|@Ip5MO(tᎭq@]PCA~HY "7(^<4ôa սԓ }4@EA.#t+=k+%1zĿ]]^UP SP, O9/{u&1vMi C ?GV~Pk1H Ks[>29AkLA{gh "|H7>tA2|L6PFl1sǟ6$g̥p賱QUǭa*6"'ԇSvV U Ie 꾠내 %?5,,;ym2)p|glmcHEE@G7&x)NKjiݯkjVk :U3 )F@PpzHGW7_=n dkHi "NPkX^@5AuVCh66O6& ˖q5P{ߛ!&~l43YNC?=k%Ix&Uҙ0:c(udW\Y6Y{o$AAچ.R0'Rպ2tlvyIkgQi,[ GGSw~ٿQ.<'1.Hўݩ@zù:XzF`i本U,pL,G~[*2Q)F;aܕ^ݯf]KV`F64*XO۱XWi WlpNв~f+|IeFmm:_ tUP75xt5Y 9ym7b. Uʹ+5l^'1bX҂lpDW oatΧWi+1X'2日;Q_*YN `)EuBH򦞷4}9$H|A=L{+q꽞Li*h푿<ق3\*o:JtEOi8x"Җ?='sg<)ihH~Y+։W>b &!w-&R4&|u+7*6qNl%mG ]0f{ l|6C/>g;{+q|C1aL6 maUJ0tMaU+/=Dtp4^R 蹞%۟XAO?uY^V !Jz@ LkoOZ/8V O)y5"9‚Í X-L#*7!\"JL'-C-Ul]C@?Y *E 0G tRvQ=\K [ƝޡeL}k!~3NZB^lC_ESV:Av+eXf`JHy>.*8 U _L-I(&4.N_}Єx鋦^0[ PudU%Bk͍vqB<['_pww,Rz{ˀa{61tN h'cǠmHإF`M3jYٸ`>ouM3a5"8c)!XO`^4 jP~wޙ$ ۄvluu5%,7|֑#u2i Ɂ8OFۘ+?jdXXYvUl̶tIE{Y/D_nGgq6^ثM!bW䠽ޠ#EA0wq.6`R,'0f)3hՂţ 3*^`v5*{5,(v/J֬){O!ꆻ^k &ׄvb)c$rLjWQ3>p|T27*s,1ϪKR79`m;l<)[zT鵩U> bg\:ԅ]sD P#H" ߈CqEt.ٴPC E3utn#t("IOk2d} wڍy,;-CNJ9R%bZ>zyyq7{i8t?:~:<Ä^6hLu>mLCx}̄8`XWQ=U{⑅+}UBjMyöw6Y(S+b^ů/s &5 p.l@ikOcHZ# ?`YIzCk,A9mܲ8b|lZO kL0" #Tzr! BPJt!Ӑ_F{4ĝ*F z+kn4^<Y]e7nVzq78xN@u @D)h^804XZw-K0>um@sED&#?,UJ+s Ðڞu\bڪ>A/Rn{$wGl'.7FR$R{n{}5rÖxY2oz&̱)3xot/Ȝ |"LnRTda)4^ͩW<nT$⢖ sS/:ka0˧lKǛ~DD )Fo._Vi݃My/+&g‰]·?Kx7G4|lT=?ղSɄpW{yL!Vq&cC\ ddb==ædHñH^SQvPr&kԥ晦DD*$Hp2qTYUBm[^->uNKg R [jTPDTr9dJmiw`#Wډ:xڼʬ:X:x?5IC0zlEBOK*-;UrSYHp9v%3jא VJYBz*S[GښLaKd̼-X70A .ϩ{'$-C(Bt~Ӫ8 6j*wёv~Ϭ1L R0Sʰ%-!z1n1Z`.FFZbD#EWI*ZQuDXc2owi(F=-54fuZCqۻ9Ӷ-'[G12Δu'*J`]62*o/Y2 %MS9{A đ}&(wӂN3ؤxqn=uGk⭬R~Cu&6ܷmUupif@'RR/_Ki Y[݃(dpkhg)O69m8k">Nk<'-;Vo#dݝ+OnɵV`u,jSoYx^6 qQY`YSr)2@}9̛FO5)Ywdq!?a}Q_8I_&539TI]V-Va=A3PI&|\[C㺴W' s&#°klbQ8\gN_خ/a==l> Hvo݀>#,9cTu"B o@r r[َ[WcZ8yBV>IYH}"'ĺk*6ώggzƆՓ,1_+mX3=?]˸ԕ]`q79ߢ9޶Hk*lj2\co6hj]ēFMI/AF,j7^z,\*h'F5'jC_.'  і+>t]OS3X2ʽ{_ L~ySPcAJ~ۢR+>n -b%c!1p ^Z<,Cu" Koɀnf'VˆRr;| Op$&1[T8|觠}MT%8A5}@ nuCٌ;+G 1Q$"|jѫa40.L`cD{ 3"T,Dfʓ)MGW^᪞( <r쐆]A9K}/< U/#Co:2D@]c*b6zh࿠0mZ pF4:GR|*Ϻ9vv"4eJs8 svft *)1=?)C^*U ԥU{LV FxbzvD~:"$i % M˧Vro\MxR%i| $[;J߄$ǭ%~feߨHW aSM)1?oJj&599n='σkg1/{=y!4 \5~.j|a+ۊlLqXQxpr|txa܂piδTjAkEJk dp( w 1s&pxe5UgϘSb՞֙ @;g5H SŐv ~!Mij1# ݜ񄚐kۛfj8ُ+^3Pj!:Irr}FvԽCo+ugELG?eeL+O2R+do6Y%2NZ0!A;dJW;L'C55CEDnK8)l>=wjM +H<Ѿ3rV:*!Eas}6H?7J0[nm#|BJL@f/c_a ;jRYp}cp1򇅧2ݳ<"= JNA xڸXZM`ZݢG!n dp fĎ&jknsy}* cώ3dG?g~V Jc׳5촇Kt׺9w$vb1Ws"DlJN ܘhVnA$Y0ySxO 1#-kt"nogw&aU5I|oŖb )[ZBc-0T`%hNFZ AoS4V29}\n`Agn2?]'O7Fs8zdCC }6Ofl7SYFwG;Ua{>G44EKUUqba 0@rRپqb-Ҳ̦D@"=P*(nKv;Pz*t /VhBHzwuWQq{Ϣzv)"e`FVɖȏ#q:i$JZ0^;xȰjJe1grr;&9A2.;E w8H#X+9Hz(jd溓)g,mE_W v Sc,T {Q/A"HFr[h0|#YXNՑ/ߨ%j"-M{_h) 'Yg 6 Ҙ*pY1,eUVrw{y][+/Z3~g3Q?EíE@ZBp ~P wd7\)Bw>%zl~4D]Chu8# 4用L(s+Ŵ"8$ 6G]@[dt/VrRYy 3gIW|"ֆ_eCԓv3ƹ\3[ěaRP]zXr8Q?@.L) {Rqu Zd#3',St K3\7FԼ3= ChR&@cP45*jhʘB,wgwű:v0gwXƟۍ h5'dbp)xhIu6}U\8Ŷhz6vEd//퍉M*x'05+G0k}lS#+I~K. Si5ouFf9`swdPEKj78JV~)E^$G]\J}4ǡA ^Ҵ&16Wg\Ur @Sƛkexge3=t8F!R'({ Uv)ɶ<@j}Os,jAjH>f2栜)9ЈaS-12OG:ci N.n5с5= 6rYZCCwLl:S,o"JTN}g>kBUb}8U+m eH]]g|Qoz_ g?W0 El ba;d]E4Ԇ?^V^Yof㴒sz(KUL5c.ϟő}k K' ׏ӫj8@;cp K~rɜY $*Y Xr$y*|kƚZ$ ZGܪNBﳴR?77W(XآdMl"%-rхTF-\灩"6ۛT.zPAOpMH5p:o&]{ }fq#>~㔌S$RhLf <.HQRvUK`t#EpD)r^հM ;t 9vzTUw Z3(l( # c-q+J[ak󔱗HĻRgh#X c7@Qda y3Sv7)-Kd୊ȓ4ތFP%gn]tx ) 4O@UM_T`BEA6~Y2.! UZoXMQB>$xuv&8#G +>JӔWP,MdS&ɮ %'ұP0?ɲ-@cP=˻x̯nV "|l`9Ԁ@Q?g]c;+ 2wR\Zǥp˜fF#Igc0!G.yÚwl rHYq9%?;%}B ~-ykC*y?r˔؟?McʠZ/ɾKO!d/ۚ+@Qq/oPy;wٰ'“Z;&kw݊=Kƹ٫L&OS6u,4)(; wkY^Ű4L}T-QzoceW< s-QļQ<{(U*-& DXn5*ELQ[@bc@}Z$"YL Y] imF5ح/IV!U`Qj؜kȩ]G~ۄa)FSAp:2dXέI\]25Ɵ*\^ MοDÍսlrl= W; WnI;{Vve bu;6#٣itxM㠻S]<\ J9/0"!6<PF+Tɠdo9V~Fx!wDj2NuΞqv_s2dax)F/2`Y􌱫0G@qPͱ.ۯ)N佉#j[S)MOϧO]0)-'m!>ƛ&,y/Atx&ID2 #/h{MPT!2iX {ӴMh5}{Ya^PPϫ!k?xJ~l7{Wyw!x.¥@n ( ^I80@elq_/euɜ.>rm<=w/PI fX=6P/0z@XםY \<!5_J?`b:;RR|Bt{Y*9n#{D5 Ƀۚb .P$PG0(HxJ.E߂Q,Jkl0Ik39>%:ii_s|Qo2yZQ4 _vfs|*+ LӪV&cE=#4$n^6y;w ې=rd }Dj"b3l W)$نA [<F/ p.^x}j]1ða~Y#m*U'!2G ;7lD˵õ$8C8 :`Z ԇl& a7~xDzsڅ 5 eNP T96&eVFr\ب ?S}D@l W۳ _eer Ok>(D7N[p-X~\N޴ 5L^B@-4xӵpEĔ~+EP > P2$;Ee|\T>*Gy &96RgFW1L~ilIc x㇎R$&|BD} 2z 6@ ԕYij&6qRLLRC#} x1]l^*$B.^Ս[:|QCN'C#ӄ* <&q>OWdABE1XfGeB^=3;ft|xgh8B4K)ѾHpLU 8ݚ-Et62cZZiJxΟit؜fsEѐ/+G0,88 ?2BT͝MFEHkXQ3A5 B'.yw٣HI kqk?$<8//SoԿ>#2AbU;WWf[7֫׸ oaWy<'3 $߼z)=7l{RYu*HSp~GmJfB{_<۳^[$+YNhn|Ȕu5"f5R ~ZnuhݽqfW" m; שZf(8AujNCBWޛ ~%Cj5u9:{!x&K /ŏWj0+DRFF/ ]sy+! [Gذn4A[jɀs R'T^F"d^X!>ߑ R^R߷7:D(|j &fwSnQyowtr6DGwԬ>ƛZ~G2ӡ|b&T:^ 浴W!NtA~tx~\K 5H~TԅA8w9A|*N)n,RY&DDvF&gEf_v1H{~,v~B^9=mE`QQdB]L& Xa"`Ma~q{j?)%Dم^MyFwp*ԅe6!vE`]B{VQ)!VzLM#r:Ĵ'heW-L&ܶ[US]eH)2Q(ы`gd`q;\tEƦA^f߃v@)E(OyU}<C$C W>MBvܸy+$7$9 gCV[EJf{64re@R:k؇&ePTBF;m"ś?5E&rx0ti *#@( _[Ѩ究s2PSw#ɎwXe;b;h>(1MoЯ{aVa __dWJCҢMxW7"+?n32034֠N.Y. mm!0^W\{~^֝Ib%Y[ g&H'mŬ;a\.tkj=wS)ۑ83.RsLvn,M-w %Oʼ͍K/dٳ2ݬ- #lVgж ,?#SFLm4(eA;DVEȔznrǠ5fj •cU$W]H{[1Tj2zoIH LwQ+uN W8 d9~[oj z˹Ɲ7*_wIݮGYg?*tiNr 꿄Y9H=5 _/ѓַj4C&bs/T֘L,NbRall1]T{ )ItX&=Y/_$Dt^/Dd,$Š-4%I\?T —lNq/un=' pV7y%>-eΧXaUk}{ε"1lѦ~IH`ăqm|/v1(4`gP,{%ɺGO GP^ jY&d Ƅ x # IYY^ճ]SQZ# W4 ^ DV"Zliho`x* 攁bd0pݍd**wB#fI\8r ͺH>G=]m*HGzJA"]TK-? Bgm^%\bmxc"S`U5ps.`jW$=Y6M7gnᖼ; (LSt*LkVuUMeYR4-޹3 hUcNM_xH7 _DTQK0F5,JGЈ Uݒ% tMJ"1Z][8h72mrI^tmd7]%g*or̙x>#o]J&O @Y8R%BͰxW?FsuPc%Quy kܨf {_lKhRtY? W{(Yl݆gxZVK^  %ɸ0yna`5'*p:L48ŭPhnBV':+. @bKʞbI3)|<8 %ثS&+&TNI>3(>a G)xtaoDc:Rm 9}N5"FyH =** ^P`ERJqgl:-D'CF E=_kƬ~-\F^Tm2Ss(2~SY`j=}|JyArcf~s̟s ݞ|p?I#t> DDq~zx{EW;imsi5']#LYCE Kz|'.p'm8zj+6k5)\cks\&gXr2ganZn5 O9*T*8>&Bi[D,.xp2ނܳ<_ŞBxoʽ0<Yj\c5"5;)gƠY~ޥ8嘢~{Cmd4-vUt5ш55$j.)aE!|s&~6i| :S }.ABtV:[򢮏q{c{Q&]InycH6 H4Lvrk=O=#WMZDK] :m3PKgP<'Ro{< O ln+R R#\Wq|[(P!(,%hxoÊw( TXJ'4-!ÝV(CS?j棠|MI'T“U5:sJ ''|]PvcRY, §~ lg_&Igz]=p}'2Yq#/LBqbcbsӕ=ENKWIH+!b3kh>3NNac%(.mtj&KJ=wmЖ"ιΊLU]9#_/IYBr  &upA&yct~Z aW~y4zX T4baOkX:7k܎S;LkXlh#(hoZڇ$rwg'rSIVcxqxDXM0u)9`uBaG1[E+pF-N/s`ɽL2j "k,b/0e[f@&:O;tu~\̽4Ym,~+3NZccFyy3N#YZ2)f~kmvyi ͈qpr/ܖYT!yC1hFS J1,6Tn'(IqwsiGB`Q%wbp bހz;B9Di&oFf#ϑ//6^3wbN,X!tLtR( hDzQ:?XB@G@]Aye S!l{Ka_EdCbYsaB0dNCZ䉁2aB$)ǚهt !t~kR&mkTu}E+{BݚZ, .ӋG@Pl/EDQ9[ce\L]~`p,Rp[n3vŐrmjO,mN}+`3> {F~5>zR3USѕo(CO6a?@]kxI4K+]c{왡DٚnNχEt*  9>Ϫ =qcjek*ʩ-LQe?!݊8|I6i6ַ>C.^~ǔt0&hqIݽ?5>pj{ND'>AƊ,iC݉irb5vOzXۇH2z#=in\| 鏧n$f'Yg8Esq"i.t%j_G0AGzbp>iFCm jk<4 N *z:Vy)+52t7UaVyonq|8=Yπ2-rZw"pܰ'ӦNi/%tjg+f#_@5h jcHJIA u#k̺p( ngΪfXi ) 9dfV&ryç&ku_Q EILfԾySr <@!?G0Ԁy2N}d>HӤ1FDDsAF PE3?has =4f?iG?pX!ҖN.XCBrUSbȺO^\vs]`e$ CJai./SȈ=[-GxQު8A{=`uo;rUj |̬k R4q S WuvLjJ(JLKr@1CF5uk3BKdl)nt77~@1D0 <Hjs3#L:z3 z;~j_Irobuc&n1eḭF$2vIy% `qse0^8g?':mDmP-xdE ,( CVD6y*l Ӗd|L/0fQARD$|N!n gF-_+V<AD]ͭ>wCP$f`V)Ǣ.F36g@m 1x.i{} @>ŏ{N*0P;1h(u.1>.น0W$3MA2L+xqDtZ3^}e:)Mi3 KEa}с s:vYWSUʿ]E=a |k<ص$YȰOG6ry)ً̻ޅ;1ﭽdf_΃!!'sW- apCIR޼Θ6؁ Idqpaf Կ5kn5cA,mSS)< +;HwWdIz eK70s1ڡ%< uڬ4U\C3BU&04e4~.gG~iqq>sF Z8{ ۝&h>^MKԸZyN 0cTEti"]Щl@!; (1PvM[tdێͬL-L_l H9cUs tDb52ʐh8aU4/Xv~0%H-#T~,dpwgt|t1\^鼤D7i%ch )2"#5I<)-7G,]7c ޑwy*eW67Li "cFx/! !zo )@56RVBA& Z4[ YBDJ8I )'Z3ڊP/v ^4$bZQ5 HQ~ 6cwf|i~G5B4\%6c~XwjG Lfq?ᜀ_4Z1/F2M#g6*ˬ;k#EZ; v1a{Do6^C*^k!P$>V^jn.|SAz#oz[Frsɗ#l%fRZ;Kѭx fAK~4K>O>ʝJ ġz<&~<J3?JycCoӡFAI p}El5wE' ت o# ΩFdbKݜ],gy#rSP{b80[)ńMxmdx~vSij0].ٰvl,[#\DB dJml`65T^[yAhv6=o2$-I #K|d"6jSaAru6Zv*c| =SB _Pbfc(突EiO҃z2ySG˃SxdzXk%GkRukz_ȪH֝O!m(T% 媧1 H_|)SoYE"}j J'74PEݵB <2%m*@YtՒ iWQ Н8*ÞW i\j/Fp[F}H}Yq^m8EQF=D֫ #j_U`SB(р!eI#Y,}zH]yNhOWZzHY_$$OF Mm(]xYM(=9Ö@N7[rZzmOac%.Eڠ;ȗ~QeQP*Ϧ ya[^; N\3ѫtPŊ&a C˲T稺ņg\Y < S~/z מ)+^V1n`S@]Tƥu"dIUdwUf_i[mbluJ YA,:`K@3 JZZڢ#Q޳e v1^(|$(FS#3 )/<6F:"X&!F[Ɏ\1J unL\^OSD=zGZ n_4.QײFx*t{,>8Í: ?Kk2Aoh=θYM)(4"j7ڙ΢EpüB=,3sI^HWiwPm@w'w~2HSYTjKTVV/]!\y#"dkx'9U; nͅpMRD6/eiPlDF5X]_#nCD=!?KnN l)GG,? YD DA MCX`B_SV:5*&b$$6oNYsE8 m6\n13sn4(˪ ߝJ=bZxiI4_bL9vʟKߨe1*<4ݨT3|bUg)lH9"Bm"׊D$u.iJBČDƐ7Ѭ鹊oFѴ4'Ҟu*U-c xUm8HkskpV9jNJ-vP{>ci4΍Jj`P߉NO"cryqaRS9m9Lqߓ]sL-Khf65[K cq+mcp, ԍӅ4G$HF=3 v|Cߍ*/ν~?;rպe[^<%b5JzU8(!jWA$QOS}tP*qtk;>UA';ֈ{m<Ro~-a9#:c^93 )rS _O8-cVc{xTmP,l Yibkյϛ s-~`kIӃ }U%ex=MiKGoJ-QHfTo?ޏ do V@%'|"|yZ1˲\Vkoev,[YaV޸F3Zȧc v@o~M@&)/QmM0ei54y1RbrHޣ`hL9~qӟ|DqST 7md!|\o^'JVH2dOo-ޝ<6٧9*=0 F.S) R/@%Okfy2N 2rY&-ab.UUjl熔u2xF'ξ8QKꚇ5-mĎX22!= " U$U78L {z5+ W^R1/\ -'D' 'meT3LL' ؀鮓\8~hGk|)ovtVk/8Ck5n" 7h~"!UA 0w=! g>Ro[^eH7CUHCS8kEּ1{# eIT''їx.! ɋ;TZCOkmn V?1=@lDr~%{=Ev˞([Kf^f.&/ԖdA*1cJ)?:~JCEN(w$`̫luVq|IoU& ;b?릮HFF|EAn?@H4i,H!NSs{W5 Ĥtՠǀ]9C#]rvr{A;bFc|yi1ܛ1\$5k _(F9: V%BdƻLeKv༄$]=NQtnx8+l7B݌1Ļ[-Jŋ*>HoIҹ'@w y'B+0 ÎeH=,`%[%,f zZVK-}6(ɪȠcyN^+ᤚ{,Cַ482i0+>w>Lf%MAf|}!ls}vb$N_7F/Rc9];B7{3Y nK^-Wyjmz`V!|n}NpFZHFs7QFֲ(Cicg? r#m0FBjGrS !tֹ6 >j* Sv#׏ 7d*.|yr.z"]C=: ^rv}L50%V"rrՙ DCTu[nׄ])nL /#Uq(tAl$ΟP3!^F?'87"[B.e EʜCa44g Azv+c2opXڎQP;ʖm Qq|t&M+Gά2 ,z2t0b.q"RIM!W&>yCj?SI , a3|T5՞@=b"#rP*m:8gI+Tӌ{ hUkg7<\g25Ȋ@7T9SAX[ץmA-K<-ZH uOU/qGy,Cg#_zE6Oqtc8-#Sc^-cP|p/ iF"ڶ;H?3x'oړUPP_mNtƒ;j`ͅ@hfq&=V<. Gm.$tvlW_i"GaE,w([6g2U$aycOg겅<\l11i=Y @ 7 u"ȿZWPӅx 0(Ę q k\I[FJ2roOuRf>plglh:4P13UѳASlF{&H2(j[p B w$J8uqv+kUgDwUH9cH`d߬l,N<OkMc-QpKFM2+qI?֎hOx,0ܣQkJěuHI_Ex)Dee=%~?HGɀͨEi`ֆUL)}˔@J`Dz48w!D]HIL?*|dc>s k)mq)8{|\vGt{T)adk;J*uHڷT,dpm)H$15P.KMc؁7On)3ȡ 򧂧\DEjŇ|Xn%Â׶42P#}uL{;0hֈ#!8&PVxK1:Qfh. FFdUWi0$C ^7NV徤 z?A^gB6SѤ|f̏la ߫fk>3qa7v?₃5J*^/İE]g53 - 嬁Ov<>JgQi |ys66`.QROny8L^P-V#ԁc DgaifWH,ÔF.:y lqҧJ/ T@nO+\O$vݑbF27٧)֟XTy2VO,]ͪjis1/~ZM7ZSけͣۇ9iBQBX^+7+Gdf/b(Q05 yS]I>ߟW`r^q@$.8VUfJӰmo@VԻ R'̻ox]A#Ag#VHSE4Ȭ)AxY{ZmrXT*9{Ԝb)Z]hkup6F(^06ze&ū+~̇VX>i7>+Eِ Ϛ]4|~sT@-9L ~vIk|-dH9c0u=)iUjZJ'= _V QA?#2o{IYbM9@LgR*l0CdWTل7H\<꿋qEL"u2_*3nh`W'L\p2d_FJ~o*D[͑=H-d*^$qt-ezčȗ .2DfM.kܺ^vOjsh-dtuPQmMC'm~N [5Id%FHg.I&^yC8  c&{BNh2UB-YXH>/JIs+"e,*'eDP?zV%-ܙM-"j׺OQl ¡|vmфQH>sAh%i Ur"G Nd\ٽ0c9$K>L(@wVfEeQ|N'XlwC h4iYbZ,( *`Ţ[4R/F 3Ag,ĿlѤI ~JTmna,L|":Fz#czIa#٭6 !͆O$;M#F&\9Z~$Sy9EpFd2Y_^.`[]d3\O7"FF}"–p hMk ޘ%M^be,hȆ_zU㶿(C.S6IֱJrTp} r3ĄwM&).#O{Q6pC zZs%Hf+00y,C&6Hդ*0teՈDEl3 B`CMJux{d+)$ (hƵh\SЫ#&!u;<ak>anϳkb T\-2U2<#@Xy*|0x-4 S(EZwGD&j5tDܡ;1=d7ׁkU;X>B#>׉Ivj eN-'z6|ckfhPdI g$(;,b$;fy4PuTlt5GlQ4jϫVp/v;k6>)hćYT3 ^g3b@Nv.> d` r8"Lb$.`[p7Z hm:^i4ьB锳}.9P0[bd{_v(+J%'_#qb{z}hboJs.T~b ׁd7#%Xk2T\tMyiQ$7{\slr OEѠ7?htijsA(%& =,bLz~Gg9BIC#МF5NRZi6 ǼwG<:r{9qŏr2.w!-Uv:wzUpXH ӿw/޽P yQa nLB!c۩Ii&B#oO"@2I~qw 3 !2C[a+P@}/ B5olU{E_P5{,>C<4<7X76/knETXE4X&?Ƒ]S4sU*!.@eHx&/H~CUy~(]QnB73l%5\\-ǘ$QRte7C6>9KifDsR߶\M!`wN,a:sB% &6-B`|g[{APܘv>W= 0s y?}nθ7R8k9C. 3j,nQ(\Ex&܆@n>ԫ^:i>5Qqdl@P,4y6XMY\hEp(Bqݮ9Q 86 cCVʡ)-po.-iB9e?Tpj3lX3};OP݉k%ԃ\sIܦpb3GVGdЉbJII~luf76Ϛ= :thD |+TvtF% J'j<'bG#лf=.^f4پ2T:4EDP1 fCjm`B@3זtdCmP Nu9jPb. 3L$Zsr K6{)B5ϥNky h1`\<ъ a.zx%RghTuAf0Lc7g>S;:~% ozHes3Y猈tqY/ ڶ-,1{$ sSx2rsVT hwA?3s4}6-]bÏTNxT7䞑`񣣿d,ٰnx_s;+5gŠ7`sX!ypXYf) z:Eé ^Rx'03Y>q߸t֊@j;M0K4$NG'Fձeg_3R 'zӅL2;D_̿B5uvGvB63C!/IR BeZ [;,8N#@S؏;E ^֐>8BߢEhrۍmɫ0r3b㽹ܹLGFƤ!H*WwruU Nj(PċQ}-qJP:P j,4,xڧ0A?5~}⽳CHG Mz'jje76W{4`{>l D~ qUg.e:PFшD;׳}<,aYxʀ7c]D_՞iƖl>Flۜ +2y?l#&ﰕa$! + y:pNcM3*]Jיȥ;Fs1N͌v]$Z!NIu:-`3NH,ڶ>uIKPt5ʃ< m9U/3LS=2s#Vc>t"a,s<}BNY!+SFq-ï4Q򯍩DWo '=PBf`ʚbԻ9}9vo#bTqu7=WF]xg8ݤE7w7?zH@;Lׅ[=5]-mu*[y_pμxI>]<1q, ~z苴y`0IIf*Wn646J&vb#DO'eb.uE?.ڡkU4Ef @qoBD5$y:s)&^ s]N8+0Fҡ=h5P; xD QW-o&ɲ#S㓰K8?'K]#}9{XYd7Ncrۦz>ΡjN1pRa 5Ma}z8]oj!8=D]ttL ~AypSNBŹ l)+]73=A۲HݔeEFz؃t xuhm)l+Y;g7U݉[/NK>ݍ8zGq`Tv_I h7GSS ?.S.n$EU8I^1z]0iVN [)Yq<2hF[JX݀?bGLHT:aec90r?FREγ%]ODUjxGCp<@$|@&rr̾ҧ2N+'3"ө{rsCK7l$d^n9_yyύȱ$yXux扲F4,V>78ƂWp\Zjzl̐RiQ;{+I2k9&I.}~:B% .+xajIt94S|yʒR5 Xt~'.BIAb(Hlvz/Չf4ǖ1kI[Q?V{Ay dk Qʐ/*|ğItfn6pF(C + ňw>;җ gՙ^Tu]RZ$:K۶:[hZ{K.Wuu}v}Zo ]{w⛵=68 ^QǢ}[(2-;~9SR'][c:'0#0,~ afk-H>߄Xy^ dF_@ .*ƋȜn z6#f ݻ*-MXFg_|0U,6c)!lI-KU}2΍n#ׇ#D&cET @?5?8;|V" ؽNo]a5Kh5P\!O6wĪʮV@xR6LxӽPdS@cnQk9#_}-2bJ3y( @ JiVknY'>2jz~ϙa{3_%ր- ?/MǑE:ι,@t~H0# FO4ѯa9C}T1"̍X!8g?zxʎ-(c(a[V ;k4 Thb%q鲽}8lxw=&)2@?)*g4'HO~;!,mNbi7R|z.W9H¼[o%UE@?BhnjԒhkWZI׏Q=3hc@awϺ'owɻ[ }pRެҩ7bMSQN%@|wjI1 :s3m#91C$֍˲j12]}.nqMQ풒 jQB$4ͽ"3D*蛧.Yi!z;yUE~Dt[ZN1DZ"oN_)wk1C0Jˤcpp#ΦqTs:O+y]3!j0=H_*EW 4\hALj[넓U& $raS7:E]'Sֳ,B/182!Z]<<Nxo8̴.XNReU@dhᰴ&_&04vQ'pJz;fITNQ7M870euyS6ݞ88D|U 0t4DMˬr1abNx&.SOQigTGG͍^KR.b|6~q`uHp ěQI˓R]X-~ 1QKEхgg[iVr!TA(kd;H޻%oW'h_[8&0Ŷ5F$&Bv0K/0jD ZkϬs_)F˔j8e=WR pݷ]b\yE U3 ᳵ,$P`s#z:;v {IR./SL*xUyg7=~ qCGW-'d`W`:W%yͯ2e6tӜƿ\ِ6ZDn= yOP< y``*bK BqPVHqLCy΍%n 1"cˮEb>J]2}>LrBIt:x];a[ ~\7OVlc*-=u~@2dɸ.qOe5h@ GE@S!QXN&ߥg\f?Յt,V e8?\<(pUg}7iH ـ4f}g "tfzg2XlITUIX*}HE,yQmS ͞BH&@7-}?f7~|*΃" utW#.,g ;=6 z` 0HCˮZd 6GLs&cemё i%\RG w1{:`40%R)< _¬[E˜D16'X۪M_hP9Pmn̽[,* 0 Fm_4~e%u MMr=&MgS-YzmL㾒L/m,gע:*'-AبaT`>̻(Z`NW.חV˜"6R^wڧ%QfHnjWm= myh"Ԓ5You>T˒hzdu N ^ޕW)/2$F(&rk -|TƏKk0$i 9(a-N8J+N-L \ Q@(c<3qp1%4EJx^flOFnAo$6?iw<LY#-ЙEM޳r"AȉN*7vQ6VMT+ w y&0(ފoZ|S`',OkX+^S۾kU)( i<f nυKWzÝ]Qbe@>".Ҥ|8N֤L!G`%B=v9d]":G7|)Sh`"3tU)+84[󛔳P YE~PIXF &ErRhQQ8DmNU؉%1<cdڏ܊sqb\u6wCW[5K02}Ʃh,j$>ݫ.YÅʪ!Ő6u_Z6<|aObH1&NܨV:<{5S8z{*Nlx~lJ_CRkNp)|3Y%ŊܔhlQ6O阕e&>Ĩ_+ZK#޹K!X8#b b6Z(`a:UlRy al-YHDKtΣ5]{X(ʿ؁m*9 ԦTx ʟ3.aۜIO*ACaΜo\VzuKARLoi W< w o|_'_,''0x$X;Nzz,ohUI+ӵcߍ) =lbBx4ꛎq߾jLj8E)pH`4>aO ObjXA@87زI WX Y֦ jo|^=g[&D&xg߫hFv'p*3|UGDp74wIz6V{o(+s ` l렔 "x53qEBL~Tb &mބ<(9W/DY WT.̷ZG0z'] w=Kk?miR\>;BG(muFZ@8%>`M=1z|AMmIK;/OyIeo+~+NIvC1$;tSE\Nr:! nf"VyM<%uQvGWGHJei ͲqZ#36a$LH3ﭖB[m=Gw8-KYG@&;KfaNn9MR=k4ZǂG3DT8NlSӁvG3KMTGVPѸ {77?Y#|"x]/)9xd[Vbcn1%+NC_ҋyQyS̃@2y|ioiԻE\"@14W"l$ i^I/,H(gdV i3x~BX.6v(y $K^ ⏊(C"{>yl*Ւ"^gKGPЀe_%ǂpη;&^F}`g"}ItE6p m T$[䴎-57/g›BXXgoUGȳV\2gC XݗsULoWMᣞ2u:4k05^m鿨C-3-ʬð6(=RE4Gj&uh[ a}ʒJjM|5+y`4qAH^f P۷>CpOmeGЪM2႐rXq(^.E G2^=s0{M%ȅo2~&Ho u}zj6z(j$V{Ɣeƴ/W$@ Cꦀ7Z{+$+.qDT҉ϝ&9Q mӊbe 37BSu8߱*U5<{&  hRNfnH|0D7h[K26O+O.F?r˜'''@G+g0)*b9;F9/7xٟWM_}Zz7wH|`cٍJ+9wYm\QMTg* Z9\ayfb3M}azjIO`?פfzz۩<|(5JnЀҿjl*H9juf#9x2vm;[?M*-Uk)Z;vsu=&`<#fe020 <}P0oU= %+<L#ARʖk.=}AWmJP옠sWkQɏwv]‡i&~]{Q{i@Ev7+`WXeI<,!.jW_ly.J fXJNRݡznO>g&)f `fO36;$?'s:yhUxT~7A pvjܢn)Я5"Ӏ1 /k헜Q7@2^Eh2a/(_rmHJR)kJcy @)!.sIۄ#z~~ !=Fd;ސ^@ \Cu2Nƅ2㴜B©nd3heKRݢ.>5VϧM:K,~=6 hK&ɶ1jtmsҁ{fuLuS > 8d ~tQ@TxEeO`X:Yz|!8dq[v jbBeMΪjpkjVۊ7Sm*IC;6|Fk}惘p.2+kq$wx7 v+Y"T ʥ%|pq N,Ma6 r4\='Vkd[7ܟ,pV茰UPIDL6e5ż܇'/Vl\\B44Xc mhOD E4T#$[h{zI=L$ Q}.w k~ʽO xU~jz{qL:BH,)\LGvئ5`lōRP̱͊kd!vo_ [yr3'At!.zNIuJ8o(Ah\^&?̮{5]acΗ_LKm ` f '"Zrm1A9?5ª5o@-|L`xk>2@H: 1s>Ok[Ekrb}@E)T0qi1S9~|$FDj0[*8쮝owC7M1:=+?ؓU^"En+-Y(6}ttY/ <}gx#F\t]:2>aܧ#Lso2-4+0cojQUhEhAuZUK%sWB zբ3Mخoje3\'[ b3r~O@Y$ dI׫(4&ǘ*D!|G0*6x]KA+aw>j癥rsO(OL+CEJhҺjbs#4vW w~ 1Udg4#eÑYxJҹE/ĎX X@c,1$,H lmībL:kP8'"S2f^vzLY }j C"ތ! g=ЖҟH qe+[]|sv E\V=ǔCQ; 519鿀欹xY9i8c`E6[?bZJ*^,Ԟ™UJW BuAFNptZQhw5At-RMj1/hëN;{"w7-id>p5NA0yT5V˥u^;%e6.Nu͵3T+שbj׊liC6 um` u5*#ڿCZR-p$ku 4b4k ͟ Sⶴx!Y_uwNv(d_j:A#*WnGܸ'͗tPMbd;1~=tc#P< v5̶L/mΘ}{ Aǎ-w.QTNAk/gqǠr76ed|p(f<$ (Ҫ)擄^P-f/VA Liv=^*B~mZ]zc>\Xx FLA?J-<:$ࢆą_U1#8ų'+zBH[H\BiexB$;40{; k\*I,4 V i Pz,<+IroUA@ţiUGƦI5:hَY@o9R754^@ fmh 9`CZ[}O~5ky.w%!cbnunfRqh 31i97RYfK,֊W%;+T3R]V+! 6o" ^x7b;;_g ֳӾ.6|Y%qŖā &Q /cP tm:^/AS]K<o(<@A-E?A"C^ hl6oӵ}ոN;:jXH*Qbop8!!p$ۥVCM:?gx[7&u$Յc3/g-r>OO'] x:cUy^]ԥzjӗ~7R[g#ƶ sd3ss~(Izѻ.UXj'd 4;Q0$ C| H5=[5Wfbr)ײє nP)&;mQBIuP)ֶ;}_~&q`\7$S8i-*qV: 8m;b_`̫xNR\ugme;Sp R,yU`,xC @ AǜPAD[> {h"`( (GWeI%+ӷ0 SW&O Q ii긞"G*L* aٳ.[&TܘED0| ȫ/ ҁV*zz6! 릮銊R+PzDגF# W\VubFnFh66à%,$6En7l1='^,_l:$h*w g5IKSE7c9e0 -M?'n?y'tAPKLyCH]ߔr>Ų\I'\rrg~t찖nFi@FdgqSĉ~]3cjŞp!($ڗ8P%`uȯ]OgɃ; J& qb3\p$vy#5_s0bYFU4~M?媊yVddϬṼ / Y$WUZ]Pι>RL{^G09R湳M#cDۀ9`D'8[ m8D_Ydٶ+7 {+xf^>&L5fYvs_Ņ4Eu4<aO[ѳS\HD|SZbBCHݍ֩oTuفAk(jB+e21Olu{IʪS6F9L@#-LZJRpE\vn՛O׬ؐĭ/A֙E95'7L(n-nPMsʆ=yǡ=#ܛ[L)}L:RcZLa7="S#g]Qfm Fᰈ~o@ |Q7g BNYHO7[^ԸF2KoɢLwL&)wwˉVaz_YF!c܅}%?`X9V&AiS}Ch$nCQ !.;szQ,`#|%Y=j ;OO0ndd6JAw@^2*Kb7!S= @.VTZTy%z< 4bMij"],Կpla GM|Z TvDtQv>WO _klQ~%*Z\ Iq3sE֝ IL 4AwV$EJv} pJ(Ȱ&NMjjӚ†=f_n<30X.71MYhasv?epŦ25# |"eJe>([OHٸiLX[2eFs*Q89^3AC%22kiC-{ 7P?!WM$y܆Yr0^rukA|[.CZlM3uER1bHg)o`:2{cC'Z.ŊJc+#Uptfak!$9xjH8Gq$JIц7Tۡ9dGC+f ~el9 Q!0ݘ$)ҽ4+n R!aD?>S,{<ɲ|nϊc*{[f:c [=Υ*l T5(#+PDP |#z;5qHm(2ZO-W+yڪW̙O1.Ȇh.0D\uE/ #::b Xs߶|L˥KQ`0K~P%yo.Ϸ9N#%t_' 0_B-9Ȅ'.$X&5N;GHVe4TKxf!<"zFja] [k@|@$g>([U6X _C0uh|М?0\O pOBWL)GQ#xz"](lV=gNuu)}M?KD`WvOKOԝ`pl% YȮ}\bXC;V[7cLTGkZ@qr|^Q_*+5=!LN 9ZUiі-Aٗx@ Wm{*AGF K MM#z*?!Bޔ:XAuk5n="p'g|c_JШz`2O?~tXJW=ųl>;i†Nb vP^NE~Z^mcNaA9T AʁI%N>!UD JgxPt{lwq#`H>&%_jH o/^3=z#cqX,pBp xHT6]0l[z 5l(_cӠoEue~^GH~$lkQ'G]@L )fE[t_%6^#lZС)hG2ixkoy!6_ YKӹ19i <\ $Ƙ32n,]Vlَs>~#`E{,-76 .lX0;3oK(ˁ UVДj=rRWOhq( 6;\ˮFq%G *޶K9ezlx+]xRcf8Z &D>\"Yz~mLNL&v%5yg:*m"k_ߨ#B>dZ[MrT!ۤgRQ3eQ7Fe]zm~GLO E^}9-^Jza2žs/IR_1>eߍE5ȧʖ=V8w՛׽;iAJD0C*0#>{(dڢߖr ^ R{p,@ғcֶ1Wxt0XSd`jˑ2ו6f&54 {g%I; T)Urphb WuEY*-B#W5nJKf " IV:U:mqn݆۝Z 9a /W6lL 1 ]}ÇD .p0y1;%YΪA)h£D) } .qgqOa{WNa\g\ h_:_ -C$UvljoIn&9Dnӫ5X;;UݺJz>4gl8.H,:$΃ۃW{֘tl785LqELXFrXDq-Yp9\aFsiī.GYڨDԫ{f]QZr-+ّdn;Mm'cZjtZ\Tr%XB ւŰ½jm05]9t5AWdN]}8 ؊n"$LHOynX /cagQխ>(/3]]B -h6x?N%1|@eK RAه4{fJlwkS5Ov+ _Tbx6B*y>yXv?ά5c-Lz%Z wnE4& -8Q9𴂢a:np~:w[:+l0%FB\24o"ⅫYe:@Jr7@ -;U% .yMswԬb4ŜnJPLY D8`OouS`BarIAFU]s:\C"Žqpm? rzC-Bj#f eSVDNf%-Wʖx0#dYﺋfnŁ߽Bib-*GquJ,[gqf\弞08+hZ#Ѣ0q/O߰hSM^!l ;!^Lˁ]1.ӟB%^x$Z{D0̃a #!I#fCceC[z[֢"%{٢Kwzwױw<1G`k֙;l#,L%)/Q/J"1lϗK*j޲v!I+j?'+|0=na.̻q$W?7$?5z7pMt@iLS1ȜW%.wK'hq2XI!2+Q@(0OɂKH?B|XK@pmmuU\XmLhl9ijRep-*wkM߅ԇ;a7Nu=,ɀz?*OJٸ4i Ay6 jR&ֽٔ8b~~ݝQ@)'gFbBCy\%=Nҳ{?Aۊ#ze=;W,n@=.)"R'>>Tnd9THZMy/>7 8`_NBjgM#.IQlz6~fi$,7=uH øW٥Zc>eAü6}2O?w"%᪤$WGD[`b!sʂCzϲvkP;g Ut<3)M)]d${nb#V;b^1 Zp+AVd`c-V1MF5hb/U%L^fvbe@cb eB) { Y`Tcm n;kC=kAp㹹*H9oZ̤abHtjxrNЬJ,iGzk/fZ8!ˀ״z\s)bg"ǜC i#!|TC.%4_tf䠸5Fx(Z8(:&d? ΰnAR)ze<8J$%[gˍwfjg唒T:B6xe1Ѣس谹LWe^&`F>zcGp8ۏ7a}ڕμP 1g'_:[ZWGq&cs#V,uK\p Z7%[rVZ=%eT\n91Utf oDɠ,8ĤIڠm~3k>=_ YZ<6# |H~ټY=PY% Y,W/[/2?{^ W)Dؘc`(ȐeVV;.VKM!Wt}kq$ݤp'ilt0ļbF5 !@F A5 x6H]4F>1xoL{BfӛΚ^U٩?o9o )[uL,RwU'-(@ms;q q-~XE򡢞j#-M·_̹f7=.ttgRBQ_h;nz mYg棟ފ.XO#mk2=vzx,#& .{<}r(D;5zC&ͽuG!ik?I{6}SN]C5\p?iRM]fGC9ǧ]< OLy8.;'rK6!~ʒh,iN=$%Bc} k/ˠ-z+!"J6^m9𦿆Cj/x.TOJ K&?ВS1!X) w#"k|<3$'tk`sChA7Lz$ɚhʐDfBX]oEGQ .qTU|neH|o4(( Z(Ϩ5_2ӊ9TTlDN0ukL0?=fрYxL'~(N ;-j)jʌfyvv#ܒe8b>9S&?,E/XFT.OIh!Ge+Fhx?5 ?)!4/6\Dmd,VDKSFS+cBY,זXeZ5&_n0e)g++t\v61pr:xuǚd_=T#8xیhYj.?ủX\RfkHZPg:׸ZeFNKFq)v2Wm/sЫE؃l˚=ŪYJ5e6,e*3LhR,/AL28œ1i/b CG΋ְN"4EuzGRՃp~[MdPowe0+P4Oa)>[\b5\[3WJ0oW ;j> FiAXA o&M^nf\TcIX NHT:iM7nnb8(Yb㾥w\6P{#=\  9kt ko 90ޚhޓĨK#gZKUrC+G)+w PFw.2\ .;WvLfaUU[qqABec]$:թ:w(,0dǤZ?T E'dz=S2lūy"XoDI֔|CKG sPHߐW%X<(*D9Ǣ{!-6=賨\&RCG( P&CO Zp.~t~4b0).O~=waBܻ38D$³5f/d ݥG#W74e(uvK߮z=겸ǝk%!ΰ'vOMSѐHNh/2ӳ]懩@Fe%=*AM5Of$M!! =1:An\ -F32` ؙ4g}Fg)鄞)c66Sy NEu^_2inˠlp,I\qgKp/؛+gp©0juax;{m= J.Q1-%baj>aj='D|AwqKNvh_1=>Tp2/0_6\/x3W@T>6)]+(lVYZuu?6CӫNIW`AVdDLYlj;pMc>Lnũ @,y=Kd->WHaCk#m\W p6ZOG in܇p .HMnbwϥ(Cǣkkf5a AWql8gf6vdB(,j#).HAaf?\d4."Cu_A ,kiIÕd#E5PEӞL23K}∛CvkOb8B:Ew5S.:8F`]1}UqDpՕm඼U̽;RDDdbj#2(^.GIu OG!VHk1(?x1l۳DcܨH5(_b :-]08 ftvo▧O؄E*/fuӕ >[8Fr4v%&h3a@QBhvtZB~DHHS5UuTYD g {n.2rIQ/_`1dSZKk!AnO{Jf"h";$L$:ިex5'zY%CT%#!I%hIJz]vlFmTxѲܾOX%J*=՚MT R 1cx%O"QHCh262B6*0oIQRcT dʭ[Go>@ vɱnDY,O c埩~'j18% lc,rch^uM"@pu앧W3WTfZ"9< KQ|[ROEWhJMCL +ā^WAD[n(sB`Hy־/ ,)αDy*"W{ήM g!{toJ3ohUf;pgGG* E΁it-͟%U`R1VlrlyEh_{IuKOr+^;A8wna=, Læ™4}YEr: ǟ+1CPw?˲t};$m^cQ=f~#lYE 9mW)s F'ADUm;M혲圌Zk^R;*KlDf+sR n =L̃γfu]uyB Do\[GbΨjI^2# ْ5hm&U Uf +_‚^EY$\HpgøS34EWyǖ9dǢdjbd*0 u/6̿[xJ@Inױ6h HLƋA.Nj&{q]O L@ied`# hdDpu6JEY*G~|9?nm*r gm\oBzUR\XFG`WglOFGܘH3] mgr H!|ZPɵr\e=bK+yaJM+0ћ1V&+>Ip,-`X#{-Y=h K ?Z~i\..œ xD=ОZOyu\r!mM"8Z&zoҭ#kMllge:}p}I 5"'L8չj84`nT?tU'tWGW*9=o#\l8H!0"xOo{>D‹I7G,xjo\OCѵ{NdWD񱝫CJ)vW"ޟթ A*o>l.}IUxƱ7 =n\YElw?mFeJS@vK7zkԢ {tfq&HGUVWElAOQNJZqDxPXNbSPIQcaUwA>u Q}XN[[@!.=M |m2H9a&Ae-d''ģg굩gv&X̋ u ,gj`[>^z>|&GsV `uE|Πey+ \f곝.f8udYiLGUsmÙi.8YNL1&9`+I4zMt0-}ǫdEqB9|Psa?Yt 괻w9~8_OQ MqS _ ;b=~R8Bk9bF5"2._H?] 5*{p㙹Ů@I7Qf '*hL"nlIkBP2Q;RȽ\b9)aMEjxvx_KFTOX{[;Ó!,a /Q3W܆T%fBnY,&8J4PThvá~˒a%z+'s!F0u+] ZU9YB\ Qm(拃*64D<:p 3u%gF@(M ZJ#<~oww|0c Ghѩ.-~GP9%=4pMPކ{, "& ;ZN1"ʪ4 kv0*0:Hz*/A6/%{@dOlSi@f5*Ga9Z)黽R'=IRtu KQftnR6&&QyW ˰.sw#o]8H~Wy=‘嵂V[myF) 0|ygډ|(*6g °JuR rw8aAWk΅d[]B-X{tJbN Y[U-ͽ?gW!z2ʢLc(SBZAdϟÖJ ( P6<v0;+ w544&1 x02V!U)iwj7O0dg,vxa34f 5ATS1GvωfV+sJCM> AğE` u1*9y_z m։2=|!5>E^{2=Odˉ~F+WMo9+v2U(C(- H:A$ Y1{- iF7g"hUwd|l\JDxo')3K֓;V8@jgMsg9[):4}&72ϋtt}U Mb|M'bƩB9h `% WDŽ>K(ގ#hQ@6s`&j0&v E**};vvgPTΘ LCzVBI8Lw{Z9nIqkg':7t:!IkG;, Y2+҆,c_N:^+f3t'X]H8Z>1@s5a)a>(WyrBgSWvE촍1U#pN[b쪢#ֿnVd[58]2hU7N/ƛ)Χ8v.00\!A9u3!Ҕ`&BLܭ8G0FJ,՜7I]6?XBL>eM6m/nQr*%M2}ij@7csд rj[5kHb6%{N%/1*տsw7tQ8{TFYDc䎏Q)K wL;i;R% ;_P"r>[n>ČQyL$ot1e鍹FoXN*E_j1ÑL{Q |$]1bϞ6! LR5#:=Ş:OEhR|{]=Jb&Ά/Lͯsc !g|B8N [ȟ|P-)5' )_3~M% i#CȋLmkE4HstD;&\Ƞ_RWTWҷY};'fYA9o\9'$l?5!32+E =%4̠q& #NJH݂C1@@@"';Ӡze_e ~g)WoS& wyY o%|*#闟7aȩx`(rot? Սqf[-O5lV^Db/n ׶_gtAvG )ոO4W!!M;oZ9NJ :Q:ֹ zRTnN;fȬ7}|F JոˁP@}SON5X<&HRnZ]]?E?;G̝=Җ_MC; ut 1Ye(Hz6y>fH+x~P ֣LAJ}7T*[C}.p$$~r<EFHVTPzsF(@>Z87dOO͏0# yvڪs,KVt AL#ɳ>IxΟX} ^mG?icfƎӧKW4 M8ߞ6f.Kr7+ ي6B\JC0I(կ4zJ!}q; [fleb.M_I/ե<\CC9]<6 9PSM:Q}"W(ejWTˎU! oi7WyWGpW~kNyPNW1ʟhoa@Mx( 0C 3.X8֑%N NF!Ivʒ˅:tWNzycl %|T/1jGj˳2^ Y^JH'pCs%vHn -U*ܚTP*dDB/(슭C1N pۉ 6di/*}eJ[շF)_K8+I"RiÜK[]vfȦ%!]n!`FI0{}#04K";XXff5A;W] 'gV^ܛ(=|#)Ѣ U?oKBg'[~VJ̇Qmm+NW>WT0lݝ5&8̹U+oHwd0V#G[*-lsŒZb g#xܯf`gv!k%ҥZWSX=Bܯ7K 0/<:FVc|#ĈPwѦIA0>'6W alb6JNRT.*lI8rGŠA%cIgQGus{4i mK'UE8vkx :&<YSۓ4#fx@~|%mWB~@?u.wjh$TZh `*p`"@b0Nm|8dAްY}@ W7˰\e?'_Oxe^"51r'F/'`:Ha*w <0ҌAbWk:?h2 i [ -ud1,3ܺR|4 {5򋽿0ӧp3AwHNZ~ 9%? ExlE.JS[ahS_7o$zi 7kHH|X+@%7obf2k@pveFbGP2f&tkְ'q|~%'{tPɹz@e!4Żt8M_5{_Qwܗj ^b K*"qP^7=G KB^ȋKL) ,cz87V+)t)xSC[@oaV9}~v4TXw<85H4RiL)ClXخB覥2x9wi 4dw+ Jk[tT<#+*( zTu;;]ߐ̤Dd #5Ҧ#aV x i~5xqvXq 'r5Z60L⸙Pɡ;.IcmS@{ dhg 1]8׾AXec8bt9ӹR}{YIGq y?^,<m9T^;l@g r_O\ɦ (`aƇ4;M VCp$NG_? ;J)Ӷ3^G9Xt!Q[^ZquzNGJef1zew^cl -|QclrOo!X(7MBĻQzerp[DoʒzeH.y[,P'9ɞz0l42w°Q{KEc=c# :LJuǽh$bOn^q)_^an @#mW:lx>sHIxNP?ʯgB]Vf*s9e [=/4zz2YOE?o7@$}!M2~4-9Z˓@rE pI1/G?zr ;7$*}g#)I"!6;OT B+M!]:*bg[tuDڢYY oʃ,cg.)CK ZN"U0I^W;2H?wQAgNP-fC a1XHATfjY}fw'eGz~#N߰5]锼F ;tc~qjg3ܱKX|f@C:#eMmW8)D a|rwVb{%eǿGC"`>s+.YfMnaz|2;AxH~@ Y&WRr"OѲ3k ZϠ}¯æ8JمKXp`؅sG)XVvޟc.g,W[~9U??;q^odr!_kԥGg82I' ->3!j´2cҌ n3ktt+XC"B? @,E>%c]tR,$Qnổs},fOv;Vm`ٻk!n'z6pT\(t5/bؙ@PeKQLi˪w>3/1YDd $q9(ܖ4d U67FcJ s[(6A…4>JCW nw AKD VM[`JGsZ+CxSwXN9-6ƏD?ߨz}) n/χoc\ Äs@>=QF.-v6_Or롎WG:`ewς@ wzEkQ)[ 4>~pQw -Tx*l@ݫԺkEb Gra>I_& VQd5vyuŠ R~liFcgV=!mr43u3MC:GxzoڿW͏ڏ~S[-3&lvRkmp_ިЙGCrhgZ*TT2a  lt"vMLeYfu{`+|mmuc WIdZ OOȬ`D}>2@';fĢH}ˀU8[P;(W< ;o桧qaoɓf&ДؐAf^I+@GdYɵlx81"]@(p?8GTy# 70%`Rg wșUOmB~pORdޡftO o/v( 2gǿ(&\O !M!܍Ե"lbWԠ*/2_i{"h׻ߵ I{o(;`Å9 ׍Q *HYҧWkG@蠓G0kc#i w؏2d}9jhlR.zwٚ`-&pZ"?eD74UOD8JN bV,XK.vDJg8eC2t991]`󢔠Jɨn]YLZX CQy:];҈y}tʏq !٩Q 97j`B#q\k+㤥ئB%C-Qp%׿Anm,Tv)BŝZALmZ ӛp^8I[=]- pS dt|^m5s<9ʚ*._͹_QHQ<"uۮ`!H`D¢|/cgy[D{ČH:YJVƉ$F! k]Qa`{?'6T6:*DL uE͛KڠĢk n JZ\]r fF69Nfyz[kk+g~IEs}n% J׋} vDIaSf6 ^Tj}{..Cp,`hrgg Vf_TyKǫd[f-,(y8uqw[b`SMlvB|xb3{I"d[(%eU cV`ibϽ%P;F)2Ŝ#c P\y;,"Zg"v`*ܥf{QkأfiQ*Cf({yaFu WT0 # x{4Lc2]@+8@[ܛb!XZVXg{[=v­֭ao\*V!LR)= 7\k˖պT=1:iigr |5ܚIU|>m7"s!oy` xܲBXp@am酬Xi`ZZ&'"&Sf3[HRVH-@pfZ;'mo,2V6E4.R6*ꀑZW$E{:m L]궔[~)L(yZo夺b#paeETWoiQmWS}Ʋ|k^UdzP敥.3jD-'dBXdNFVMM+VboLEU_4-UxY곷UD NOQ'zB~qWX9g,< oE ɷW㹭9,-_(`LȬ"JH猪o K'X^L zYDbG_0h;"Pa\Ng0gFun ʘ2_ =IhV-c)G 2rc%99 nG&{$$p"š ćT.Bϫ f`p$1jXYT;v?kU i!t,+HձT5O.k Mf%L2a%r` xhD߹uֻ^Pxɞ1}VUc׀0_Mz5]%vrCݭ)PL(}m:ܶZC-p5aڪ] S( ~⻧\yN";;[l]$^n5Tw7fElQf?,'gݓۛxF$"OXtǩXq(u~r{\ By:JH`rǹ mAʗ?g$57&B]C¨!i<%FIGQIIԝԵtwsuū-52$ꑅ/à a=(PH 2'u/Z_ZfD'*:֔߼+֒L"C‰0X)'buP&zKz˟MV:{ų3Q ThY7 +"{śZE]M ϑu \E:`d-0dx< ._]Ie4.&a~ 0RZ/fӘ >+9~wL9Cxv\6W]TLE6|/ %^(Su&奠ckԆ7F 'zKFOj:2M\0MwzwV NU5 t΁Wr#IT M@%w+uf# ldpWZҒ46l.kpu!/raPVK?7@ϝAU-[Y$J )0۳B+X7'u"J`l|8p&gv'e5^,tٝ/0|Cr<b@ucz%43񗱳:%.aԂv0\K&.BofM '՛5- *V|;nN dT0 &_:j9zZIy{ &z?5?Щ rc VsF^!v|3~n=o xr2y%FSi|^'5'ՅE[2>A8y 1;?{rcwxNeq/ `?yS}xM+?l&A_'=59xhw,Dd%xڒ9Kh<~9GԐ7W920NQ& +Hʃ̂peoa߻ .rRg4Dγ-vRoCxtC(!60Pۉ品bA&bm翏(W/{+ݷ.6LB04+*(4|;t rWO|Ak NX2IQ<t &F Ѐp>o"=7G; #$*FeH=$dyuNpq 6~Þ2!7KJbcinlo3u{r|vYeKyKǛP'togXEjD[ǏKףA/\,qP@"a.s9o^a e[19Jp\bPvm ,l$Y˖3 '|A`Cil~N{Mm}ghYZТI)m@bY*>9 Yvs@6"]GZžߔh`6.fTta*KY?z5"RqNJ{6g<)ALW0Fpɨq[+~B[ Pި󯖊X՚ 8=4X -~J|ky< NkepgGF%.ӭSdϓ imv7Ĵ߿B<{Ӆn0#lbwmY>hAh-E1KmH,Ѽ3ߘҾq}E5oח*n53gnI! QU20ՄZBi՜䞵aygp" /$X}[iOuhW. }ɓ쮱>lxIgW6b jbD:0`2;@}9~_@׳ԎGz[WLYf{V&7B+8X޻Owgdf%3|;铙/ \a&=Ȗ`< I o=Ϩ$VऒH1L)Pk`AF\w*ד}"+W_ǩ6hf"dh]|[F8aL;r7Suf04jk {lcH#I<NwiKL~rU-Ř(ʥxRGD 5yO0`0fh#2]fxTfz3)ʹؕU#]2TGH }~&Q A\IK#4gX m*Xީ%lJ0Kֽ#a>R "h7gwڨɤ'Fk*O`⢲,%mIs_ר7U@@1*@wF,͐LaaF*S @{KLAP[zOկ(6_I=S)DG2I`c(h~M טW5oDЙ6'BI䚄g):Eж|-i9ONn $%#hH?j{O-VthFWsx|fPWf gOS=;/ݯ0DBPRe nwsS/u\qucy2Ɔxs?/1ÔS+3GoVq#Nm$/6O0=OƁKm 0JYqT}bLD|u 3!e&0 7[؅Y.D'-WI^=Hjy<ٝ{M6w ogOvy'A `I_˷8'cieŠHu1/Y^dT^<?̬ 8XFJb a>)͹l?ѷzҼPA^`m$`F e&#M ^Yn%]ь,^}x~;iB~ cakC,W S]MɸФ >MŶA4dlvzhlکC>}[ }ŕOtGW?כ94&Lf/_?yX l=m,zae]{O5,-&]*Iȟ &Ibdr]El[kt Hy 멉l*~!JvNF6ד 9OZg(mJG窷=#il+q_]" ?ޕRk]M䖃{˞V{B}׎ݺUϘn2r>Tڽ]diobAogÖ Saa4לI*0kQ2&n=@<5L$G-Qk;. ;aPK`g'Mfzk2ú e{X׸}ە,y`F; SB͊8F:['aóւXBV/LI9DkhGw6q_VR'9,hh;b'ͫTRB˝H$NAc2VnbJ'fki!J",rIR] [iͰeA5ۯMIC 'jL|KYS k\ zFV]4;+s+{, ha)}9=ye R:c{rhN s qf!3E>m"\f 9p T= Yj!דW^+S)qQ [`z]QR4: IGlQ?/T$Eà8ҁidVMcjt\<.^hL3 L|DlX XN#? |FގH~WkrR0D>Ҹ.kzjh*=0#AvՕDOd)̔] M[(N26B3`;Hzji2xfddCl?w6j(AEx@PJڥ[\.*KW|d y1RALV eZ '/h%Gnw-{TݛsN.ct-|Ll-ܧqѺDbnPԷ0\d4\X *YcUT:'`sz)'u|EB.FD/;y)ɭQJz M+Ug(sIRԟ) ꬰ(HiG.Ud'=\`w5"_܄p8"S b|(Q bc0Ph5I_B81qx+myGSokb&\42fOWcQ8yeCc* R@ͅj#az/>Yi=')R/:i*' `VO:Vn:DUqZ˵] 3Ъ hlZEXL?Hws;];HŶ̭X h,wQ@sYDŽQӧOCANh˨u> Wn,Y[KjvtA_VGP:Ɩ B!^5NJńߑf޶AjX댅9A*:n44Xk򊱞`^k\V)BuG}6&~Mωn$ڎT-j;\SJv&i.<%ChK w.ZE):.\\<>Qw#ORݎ+j?xOw~l K8Tz&m^Ien(O:7] S:Y?W8as#u¦B9xAwp ']kxbsAwFqf8գ.;u9bQNg 5J*S3\81]x0 q3 r70ysG6/;Wk"T4ғhX/_OU5pN qѶe֒y.XUj"M?62 "͆y} |c$kcަ ID?q` bI0WU`)>i^d^G=!HJ}FD{_NYv;3lM4nt ǑSGjJ#åoMp:8g89TQFi-'JT9yA܌T5Iɝ V"F_H(uk4Ds.e/tE4#a#G(w7^XI51ǖȮ9 퀍GVoḱLt9mPg<09@s:|&X-aM *],Go$g"!#iȵqlxE-AA= ~ھ6 Oa@q( 5FM0m myCZf@3_s2H> ZX)k4 Ӫy\d>&J w]1?J"rbee }Ovǡz~vaLaN 1sU-JSF" b=Y|W5t9۵ fnuӨP8[u0^leVδt|T噱Nhv\;ӯy \4:}r. *|7Kd)}vx/zovp~DHyGVڠ"SLۑ) ҀAs:,8TFh-R9 IX̛2;MM,"ԗɍTš fe ?"i=4Å'q[\fKXէ*ƙ ؆sfټ_>wN}b7iAu jAҔɿ{@38j'}ߦWe< QS/BiNο SM n-ZX&O!esHcDk|ag^3_!-hb%igo KB|@=&ZJAvJz # `~<|ҿ@G 8lU&Ūǀ`p ޟt%ڑZ> Zp#gƺ(viiz\-158ġ"T4f_:(InnQg"*>*k\޲|H"{j"'A1IͲ'^3!=447 S oW 1YA9_[5\o:rXP}Alz4Fubkۈ={x}0%Saot 0hͱ3Z 3!:uuT@uzͦQ<-6{^Zσh~>v%|pbg2ۣ(/62 ܙv UG uulLxD3,go_RHU5,uA %BʆEE m0XƬN. xl;W%& Hžkc}i7oߺ>:R4.'[_jx+, ڈ%]".C`nuTi 5랶 ߜ\+vi= H2b_!$\ b-+c'@ dmŹԌ+#+y&=Nu]΄&ˍuN撷Em!!jEl3(^fR"oB0@ // Z&$vp C"T3KޏJ>An.C7^";Cn0qy'CWW,bVk-31v֑6G{+d6эB],ZgF(,ۛ'ׄD?#'i8 }_#&){Cxm®Ig@7LNs6M-}s7DZ%Dۏ^.\&8Ҋ`S+CSfFe(O#aAq|}CN|آF?ԥ'm axd~t:>I 뱩fpsX|ʴ;F `bv ` N7"V)EfP-d-!{8lr'& h6cI7> X9i Bb +B7Jib aOC|Sn/Y܆|LlOFv\ʜ;!j~CBNGoi% 'cIQ<1}R〾z x|DཛྷA}[0$#W%Q֢>5St8"#aшv˲0οX:[axLef\S@WY !q< EZ6>n&.+.\iYؗBE|CJp3|l@%' IJb0Sh p#Xhg^? ws$N;^6\ L gF"8:;)޼ʃ!j8<8%`Oz%4ϙ;y"= |;:]oEԅ?Xķa:լ@]8 @&:`ЄOeƣZRbf؊FDxփl@t>Yj KlD Mr絻!$x=ʰn\95J)thқiB@K>5ӗty WƠ:N K2q@lț0W  3[dQ{=T[e1q,Lpَ'fma] 翉V/l @$t/=lp&%Y@7=H@׬]sN^4⣇k`!ޯ}NW"V7c|TlR9<ž$<Ր~yO`EwWwT:BGד:tJRb]:| f,H8a6V tKZ'Zg}Uz#i(ʼnl|5YM/xE%u3!,0'E4pΏsͰwo@J? RRE@‡tí3n`)FH v)obT"9-Gy/cnEUWq!wHBxF=V1@ 2@OvJ8b ҕ9"5H)-s Vn?[Qljrf&:vN( C2M2p_+/vvVv&LкN٩"#o7%rP7nq0q x:GOݷ*Ծy(!xH6zt&ؠ 뱴XrƗ3sǸ.xw4:梵RCV9\I%fcJ7dr>EgHa.ͮ=\+PC<:j }Xsj^Ow*|¤h[BM7d{*r_@!AamIo_ ]hO-L n ./)d#/xi4܇M"΍BF@+ Uˤ tǵؼqWz #L7u-BcX✹(F I@Xʪ!'. bd^U˭r񥛬GJ@>siۢa8۩P@.7F gkթ7(=ԝ[FX*7EI6)d[!JmNj]C5oh_0e[}¶1-._ilN\ҩHz]S d2/<,\+{q u2`ɁgGqD?Qsla{ed|xC^NRm [.'6leT6}` w/@$懠#T,Tg PXhfT Bo4)ܯ6Hi؃w0(W%>|"R${P_>tQ}2~lQ1~ܓN 1 zzfw+=]~-Rh%(NW]>%*W8"fI<6`^r|5֐+lQ6+L7^"aV/B 9@g7CϻVGaX7:E8v':o7ˌOBMdڈ.6[ek׳X"yicVU:0I \bfXOf8P$i)?ؑ? `ƄJw9Mc.ɣV (|\Rhp8>/c8]GƊ}Eu/k Vd$@硴7T`QL1 ׉ļjGeS66J6hqc#{'pPr,C>_[ȑ}+%;<$f[E݌+_pX=5ҙzB8?_D@i2*k Rdo2"X6Fz8x,Ns57cԛYKqLq~9W BT3Ӭʎ`mpaCڎZkU z(:Q|e\#=;1Jc(G3${U[kFS&G/!Q3H65|rrc?f:$#-D-=@Siq8zLպH7s,F'.&h} $NcDW?R]%0AARC4gHeײ3mʳ"խXb_Bt , w'3czvw{qvn"^:T.W)/wlM5Zg"p3OI Y~\G[#Jy=vwAl݃^̓EE7Nx)/Ze|5qfpl!K4e\;Au&['rƒ7Ic(YizHI} < "w_?kyB R4|Az|)9 8M;7CF#0_ U<⋫Ɯ.CaLKxW6y($z\0g/̒̑ X9g[]e[hWi6rU1;:$LJU/Iw!NGTN!ά2'qS‹5$A6b۲iyGA>h .Oݾѫ/ rV=9zIܢ.te4*v/("JuV:GV %~nj.Qa:qo_ҕTÎxKCWz}^rKs.c>glE;Z!BKrwB^*r%[PXL츣kmG8p{UƼ5,2S%Ft:?{Y1cK_@dngE/GjZi\']/ٹ<4^,:)D)]b:ٳ\pVz`gĮC?{thZݶo>մU>*Da),2ݵ]6x SۆS_ z: J\!\ (ӻr+62gC3U9֓ iyIpCt50q!JSBRGƫ:k䌡!TzpsKUPJ@EBϊ=2DUs^5Y/Eq %ɊƦ"qZ*w6ߢwH7С z"L^nS֔WQy,ks>ېhRz' J偪r09{-(4wȯ+Pm.k7ݷ]#nei#<6R"CnIvh(6KUl}F*F.#*43_i]2[058ˊ]\,A <-!ǢRü엡F!NC9PрƮP<ίFK2!N¤6G G°Q+HJčRI|d' qb Q/""'-Sј`z.9dN'V.i@f=N~;Jo$#Q\WNU.L_hzx7 9EE`7cN4h@CekQ4]+He8p:C]_qĈX:PvεQgЊ g0ma 񀱈'A蹁yH*7pZ]bm2uw+KngR2C%uk+.w-+gA%ͥ-!rQŧn}l@xP0fqa0:8Y|7`#w`86ɓ1mG`jQؼ3>, ͳ~tӕp<*tY]^ߑhp9Yoym{$sVÙj .tbse?Nv"4.5[k !mAs«DZaQX]1DvIs^r XK釭=v<,9eGG?Z82q;0PY=0T7淦;`4o lkA;)6' l2:yt. /ԧJmvOdlI#&O(!+f KY*LKXw F:[r\txbln0iZ˚y~KMbk/)6Tդ9|sw%N:**}dHU ӊTFڷ鰂@hfUx 뛱7uĖ$քrGV Bct7z @?u3>ް/ h. (Ž;oY8OnݙjzPk'S)MT8c C|, q ^m羖[LCa䠩o^aYWۜ*e7-sг`Xa`x"@0j#)?8І;QqLژ^v":q)AJ*Sۣ.y|0one99l*_#,p3\䝸8iTYw+iRweͬxpZ ol|"Y1xAsÔgE(Rƙ]"G9q=a!vT1SP=?3**=)g"nzkRҼxq$r/JAxtof(K#"B$ͥSi?MK2T-h+حIp:Zh ,0Hն<[@n<Džn~ ܩ =.a<ŢdbmsH~xZno 떲Qv^Ɔ2. /#P8UYSrԦqP`ƈDzctyWjm"P?oڏA65<v}ӆJx =QasoI)z9.uf 9Ƈ))t#b(k.#NJJS_2@d\sf4^$]Ü|xѷpjH%q_'&Ǧ.y6:76oQM"wxfsB+zѽr њ%޵LgQRb>z8Ksh+#:{\pe :N\"[iu*Eq2Rp?ͲlԽC\z;Ș@dzk%*k)?eC18պnMB5Ϥk`J!g>vt}yӆ455m=[PTCg -)gYE I:Чp5nѲ`м+ʸ>.[5o%d\{¹#SǀhOuY[#fA+P$ϵy wZn5=E _RZ2 p@ 3Z3jC/9`\0jgcp;ޙusnBzYJOEF_6P>T4v@]k\3îsb}",#&an~;330J%\,׳C/A}7KHZG)\L؝TQ~qe:_u!,:G5 JU?Vyd30anչ<- Am;(50#$v3^ӆdczlPxl_)JbB)B`}؀F?dp`}*6/U sD<5Nw\=iWZeEL%ϻvˤj-$%[d[!~˅q ,!9l>Kמ&0YZJ?ͣZAd!Ss5gwaPmY;,ki#ڱ+VeD{)٫xtI$xq*ӎy'HM GŸLShp/4z'N/k1-~w%o 6e7;m0 "PBt2[mt`!hE,h61DǗysai(|p1IG3NRyʠr_DgdyϾImeML8!yPB-GG ⟽OLy*ȟ83JeZ\xv<+oϼ(O̱-啑c9azܒ6_!֬J8º>xXjBj}س7ar|^64;dWmJԌ BZenҞ=dJ L5c+)&Jdvz+T*~v7$K8,b!7Uw`Jp&PҖ'lmnTz[:r)*QN4gwvnY9E5ti=A  F4!790uw~-}#j¦^?%s޺D^p9^lj cxDa9}Xyq Ѫk̡f %]pI<&bxϴPg6"Au<_W"_ڔv@vo8}"kt𾌇h)kQ5F_r^w;{3 Je(e}ѤČ~P1yTUQ96<#z/ O^w&~ZM]OAd"(I0(V-b\ٖ]xI_">9AN_+^6kp1oF% Gp۽LJ %σȐӆ Mm6HOCQ 5[^zx/ɧSiƑ_YŹ`q&(>zl? KW*hUX7|vʁͷb*qf^)ӅXR}9c`)orT;,v;J"M#u{߀,("4u& K0G`ˣk( x EvHώַZFIY%bp<; X sw?C&a\*fk;PJa#[dx7y|7e;O帧k`BdYyw6qQ%uEcf[ǐ!Ƌ{[!5<ʹmg1'}"^Cw:[- e EG\3U(i_b$ n^y lIDJhrH2 VG (1{1 Wd+Xc(<5$Sɱ%(.5nPT.){I-UVƹ i*xZq` I6#'| ^>ڊ!myk䂷4 rGǵr\ڤg*[-*|V*]_!nZs#ѸςX2gD,,%+s8(8T) JgeMq҈i2"ƲY;"xPD$"hRC;9)y EhM739%pU@{QLw4{$9wرmGg·Ր! =*BDB@H 0v8 &}*Nӥ0:edcPm_pW/YÌG &cv=;}WL#̻ pU*$k~N}eIG*ϵA!-$^Si5oZuu$~TX H|j^-6HS$*L\svul4yk7"]w JYT0<`)A9 Enz,J*|I9/AqW%q!ޡdf(%lBPmU T7Uu)Xt#Ҝ/npXW2(ӵU-'Z':{&Yyh(?:/L X U,݁:J-RmO '<Ѻ'\h/:Ʉce)G%~?OyUٛB[\ߙ?bUz*||]+z!Ff1`QL/B![RM P,'B<kNC RBqxxme9ļxDX&*LU0؊\!yܷZ7p*X]0nPk}ckCJ`ϙK>JPI6w2SvW8cr=AgFɭ:qԎtX dׯZK*fMpQgD}&PoMr,`ev:h^ At;"74=ڦ~{ڕw'؉ NvaxOvتO%NJ[+Z[q"TaDّ=-nWR'F`YmTQbIJ[~F`+)-+sK.]s[Gu(m{b$[VD1YrǽTc(RkaLԠ+&|"kGP3m7=1P F'"nv"~j -pZIcɓ?*doMKe :.)x\ <WdRTiv= g_[_$sxEwvJw";2#xP`CK;Tm"C 0x>8yuwhѤl sԙ%c 5G9Ӕ!&( [Vvfio;۴O% w¢`2RS ZuP "8VD7S,I:ڌpgN;V>X\IR<7p%yuf}耑mS.)XVTGYF`ʣN&>juH2RȕRѥL&e)Ke+'L/3 2XX4:Yq`ncaÜ{N" mDy0XZ``(cLq:$!9>r-d&Ilvϛ#[r2x ] ʘeLwݙడ5xg81/@:Yd/FcR{]' >'"R )ۓG.p7[*Y$V{S.]cöŰ*z]|Bs҈d3^A`Mv9],i;лvt/^X08HU[+n)7^fU%EayDhQz*& Dl0{V眰d݈;[P!k~g ըcY֐MAG1Ʉ@#:B(g X.=3;dw!& (i+xSrmBȠAsuImC @ o9zlG VCz5u_ eԓ^Lخ_|A[V\zAnu'uϺsPzvx8+(6AwA#*Q$UUb|,bhHg1֧!0MDY`-0[ă,GjƑ`ae l`JjLXpuRU񕶏f ɸOəZv =-d$ih$K%ՁM;&Vʱ1i;T 1]շF&je⡫b7k&ao1s~/Eo?NZXvLPߧH,y@W7,t7Uupٹv՚* )Lx+1IlA֣y;XjH'o1 wx1VAO/_Y02S18 4<0BQ7ҮcL 8^_eBu X3l%EGK#/:QBcy Bk8*"\'zW"SmO#|#SoQA i!N'CF N:aͭao~m׏E4j.G]]WZ][=E5ƍ4#$}5Z; h#ms;lAר=6bӏ5y|ڊ؛ R|n)(46a $dNCV[ ݄CJTo9mjlE?t8GNSFlz.|BJo-gqEe)M"!eA؜1o2L@chE(ԹK=0L*'鄚cl{>11="k bGתm/*?cv^YSogw@h"cݢ+h $ /)K7*7Kmw2-$y:>USPzN/TXG w{&stxa&.8g#݆eV*K8t_i:}Az̥v6 rt8?et"&V5c٪igݢyܻ OGj:g7ڔ&&W30*r3*Pez/[B$@aH0/&FvgyiX}Hf rq&1rzF7dCh!n'_~*wa: Arb(H=Cg|aOaGrBS ~z;G-s"ㆇ-w?<""\~,Y{} ђPvՒ們QVXt9{6rԮWP:&WI<pWo ?;H& j޺D7~d$*cF#u7Yޥ(ke/H'X1 tP9( IwVn8Czz66~Y x!v%H䑦ި'9]cYfNJk7 (fF{ɕBnb!-qA/-ndoWގg (STۗv[ktKZhQ-BqV\]8CZ"kq˒bd`M̐ Cb[ ay wŚ ɽxtsQ'x4:8wTٝ Že )#b`Xʱ!8ΝFUKLDtPY{g0;۴5DFF!\VFw^T<ìuЇ&!TP)+yQ%>LꦬS?'Wb c F߬r\?:&,ʪ%hX{=ad!X#mo\  ć"9dA.<};qR(/tuçRiO XJ`ghT lb^"౽2|Kz&%oJis1bCm  by09̃"ScUB`"99.tJ1>=TQbnG*R9Oˣjs _?1` {QeNk"la{Qaj{M&ʊښe͝#|E9QboҔ aU`Y~_0Wtk~ޛ.jI9Eokao6SGr0M\!8/5cWzjq>d:5l[Z JW5{ N/Re%Ü1g: V5C#2?$t|ڃ_7"d;>@S^Ю=1ϋ7,+VdK˹@P;Yܹa/L8-YHa~>ri=7r06]if&s> 6.?3>eIp>Wp/%Cp@Qg(ûsARqfayjvU}t!/x.~34TI\O3 \w[QÎezZܿ-xZ1ˬ#e|aS5⇍cV/w[N泵FbJT>+sgAN|NeFCǝnnq"7@|XǧwӀ݉)SE΃g{(RYu@*Xz4c0gN+4QSR{ўKVW"Od يEUK |*Bd! nZ*єt#D#>{"YG çOM)òr)@bI).6j4Rܾ#bK똶Y&bqDDx԰*?~p} :Zn6>=eM:FW۔ajÿUg-}/ ?|SpߝFZBL CD̓œafP&  }=C_E=w H#)yhd]aĉidnJu(ե\؂4k xRRVBE79^[#~IfWܙrq  HP^C63'.J²9+h̾jf(wRnտ.8Va΂Hxxophȱg*qsb/},#A@1ȳ2t1lÞNG0y1)'!ʄ&^ܽBT(La+)R5<՞eDա𛜻pq;+))v$ N6S,aOZ%:ARIn px~Orv #')cꮜ 0ށ &]3g)&{Ǽ}d>hd ;p9,}oEnk?.>vmSn\LG _+rOBYfWΙ%٫v/J7uѱ顭 kӺ?J]8@@Ҍn̳_a2q? ¥%8vTC):;Y3#@o ?[7=m:1!zfq{uzP4?=$!/SOmlD ݿʤBO}6 t} ud4dq `,FNK#9f8}'QKpPG kEçAB(24ͽq'bi^A m RhRdCV^b.z,m#f5~0Sœt]#5ijxJ"vWj ขO WkG;MtPy&=G0\^j߲ߝuߝ!V?:'yr~q: =lVd.=u-%V[6a{4܈sĶ {&ܤ^&MIM 'h6vRBВ*1w:g@)]=Ϭ SF⒔PD+Ŵ`)ni(".p\1F0S40spR{#hB_ʃkvZQƒ} 3\ssjr@U9HJp7SHyW}n_vLJӠ*OFɀg{7GDxQGOJpΉ T,l*F?B,Zfh , (LaBG_G[03Z'McR'dfGCE-Uc GwRjJof6'o1yP-5s۞S-H LACn850)OBUEK{mѱ,0z;]Zrczֳz9G_|Ax]+STE+F1Rrà A5͎zVL=rk4q=@g4C HNGܔpF* J#G# H0>JaRfz\([(1H`{l{yxl6?8/S35#"x:ጘ}`Iqϣ!<&v5*Pcr %UQOþ) d!3d)Z_dtA"+kTAh~AGOc.fc*2Waq[W۵|R5=t@QwAl|~' x,WQQ7k0R@[xhEpXs2@prd`9tم[#uXU"0ȓ?tc>>-R s?ɕ2{/-Wk7+@3Νj/7y4pǰl~ǯX_g{*w< d@q+:d5EqiE%~l>*tp ;s8E:)jâZ %DR$OAxvfWH-I7N=6%9i7zPq8w6$Iij˜_יQQ^wf% S3U/g$$ : yo߉Z[Gişt!12b&fฎAs{p ej[*0|۝qj!he{#cZS@opWJ+Oa ɛ}/ M ^@ثQ'iԬ(tܦK-"=-c(` 9KDŽӏ}ejQD&fe/|#؉>Nm߂uha{(%l:]u>JT!sļ{X Ŀ>q78Vðl4ɔ/x1e`u*FoI%2#x#L8cL|pSD6oŽvW׆$`M󅬲J !wO 2z U.7.N%B3z6-q;ۡTL׃jD,H^KݝBeLӊسD+&1\&EdeM-+9]T{x-k\%$@;90'ppEĝDZŨ_\N]pnwf;|'Xy{śeau|-~8cM'u*7_PXm LP6ȸm<;ǐQ=5ܦ \7x@2?zMqЙ##&P[fߪ\0y>-I@L?' s9*4lX1*;ӗvi|f0r{Y͆ϠIM6_3!%3.o[ٱlI|PQH&f·@Ϋ.]v|G^pc+2aJx]y.o ; Ht5)`xmmFHbF\+#ml.;:$1ީ?'UE~=تn^ CE1c- 8Q67Z76T6ʨ%JMw"!UNccԿ@؆{!"j, >#keܵ&1h@,K_B}04 l>wIauev]C= %ȣ=Yi DAHQ=T &f0b0WƋ4;a(~OМ|وt< KD]!:W A# tdJVXGu/%ɜcV0J0&)7AzZ/YJc2LVW Ƣ^FphBa;^[vn$l1l\KGbM+_ 64qS-q 2qwk9]'/QA%_p6[BY7Aqֻt wQۊ%JG`努rX/lCβR$J7P;^q6ɆWYSTGtRvchA_Q>U6S=sX0Ic_mP@p}r7=xF/m0J<|9LMlbKsKôb ͛AA2Jox/uN8Jcg ˡqxEH⪀:P1HWW%3IICvPxz%uUqc׷!Nwξt" q\!1ƻ~i =CL:9us> +8L)x`k7i|pq% J;]:()v&~>diAC'igرl@@%RD. ,$cܜ]36\vYQ '<7c{m#6ޱaR~(2n<`+;xRlAEF/0xq|#0T@vNa/4zrIB)p'JI2uy'dh /BvL IY֚X5ӂ `=ȸ\& Bqi7}d_ 1\B@KN%9g&0o+5`4c&툖 2%XGr+/ގW{D<)mAWcp nV!шe2O[tABl~hNcT+xЬ[(loˏ =}9}nOpHo3ӃzgY\`gK67HZ"xLϾx, ae޵v9#a]M)B0C(E:9UWPԑyҝ>Ui8#5lVNuθcY5` Lq`ogkq,`q3|ߛ2n[4} ZW`|̧gjuX0:@gFA#_1] Aedb CM9-qj)9lWW>7]/t%*=ON ؕR*)O{Bq>CZgf}٢A \Lpn^FTymAԢB7ЁFe ҧ2kmG(H.*bSE\.O{?FU`K|c>)H{ /oWaJ-LOp58"YSQLeG2﻽rFa[3YxaC?$ZVb+dB:~Y§Փ )ܩ`2O0f!/JjCZe?Vo**Ǐ}1ԣkAjFa9&]pr}h%ou[rtbkXx7c-`T8=\^ʏ Ƌ&wK9Vey!L؟`uXEf]Ԋ*ڜw(8SQd$E€4KLϝ]7 OA+ йOdgP_NpOwń^VT@l}%pJ~qJ>M492OЮ R{Zzk ZMd0f#YN2?X]; @Ihi@>'}%XTٙyZzE: Ş^VAEW4pp(%&DOҴ' CB1[0-O !+ hWY\ Lc;:]΄; &(w}nΓ֐O9ҍaq{s[)R=wԴfΏ_ DLK xZX߅ARE"b]Rr뀓'_/ ?ED$1dVPĺe\v?w|@90Md~C4xJǡV=CI 3#d%J56A،uzBu~ul)ݏ b^Y Βn٠MICܣ,ڞJ"vLzm>=Ll'caj1VLj#Q#$nyv%çLW{+j4t g1BGn j56e$)R!Kf8?r~™OB)ԼJ\ H d?f Z\um}I`!>?T7AFq)ʱвG3^Bx̽ h!΢hQV6y M+C/6$ڵ׃7ka<28› qbhXLp=]| al$I@˛5bR53P={o:zzŵس7+C6{5U*} 7G=Gإ-Eg Şx["?Aň5Ǟ&#?%"9Ė'5W᣾چ|Iza)Tfwu=4be/p$n3F5^,K J @ TmcJ\`5"6L.Zx$yqh=˩^_!rs8@_l_@ aǗ$QID#u*c[ 6a@~ҐisIֽ+=khƏQ@(Ό?+/HZ#hB v<#o;-`{$H,ZQ墿'fXʋ= ̈Mn?.+Ó4*-CIGڎU 88.h %leb!b)j)_ k ݿ qhVc!ԁƟSc)ndi wHom߅ c+hq&Nc{cB.Ӡ#3ٛ)};쬁m L[jem2!;8(\l]Yq`DA=-0J0F. c zX,/1B*+V{D)z/#ވJ×v>N%czM㫵lN*#<kzt0Q881YWϵ |:a!)DcIljo^r̸4Nħj[i#&% LSBQ! .~X rk)_QE*ǚlDX̉mw` 4oxM8< ,f3Fc9N۪c2-ڹ)''NPpm <յZn˓! ZWRj+=ˌ Z(s=kMjHlEmW\z w|o_K_N;}qZ4QI=!axNrl ltjY$߉YpʘDUt&Q-_lz8Y(aa+8{—C b #\F_2D#.y?i4hSoj%c)׻Pn^|3uFrL(CzjUzF+7ᝎZwpNYsNcE'4@t\R ,EI:lq^W~QzM,CO/^1rϛ~K7&+~^u-ub?Lh~-Ѯo9)I .T_?bf4g)LtZ:p{eT^[;bA&n4$݁x$tKO +[#w44Kay:# OGg}TOcfcx72b h*xS#0]:MTQƐ9qB뒏q'klȺPՐ@e2j;AEqP1=sDE<ګ]޴iGƎI}u$sW To^h= ölTJ1> r'0;}PЫUj Cyp}l,7J?X ,T]%D.`4A x @u`^ggZGӁy-l7i jd) ĸveFJ([\p[`,֩f'񁵹 ~ڠoU{w9ym" %`+{Le,9-~ gSeAq}Y'O) {h~,aSTr zzv9e! "?^+R}yG ~aU:*)uR"Ҝ gR.\&S@m5ZQ<#KR.<9Z iyLRRfŁ@KdYo A$Z') $i.2ˏ26*L_鷽s.v K!h*5$G쪠/C% G[$#UoE=Í5%djFIR&w'og k{E:=io.~+9Rz%9^ZvU/OFM))wm%zhӥ~~ЬSfr'Hc /6_+jDYNYd.nE6NXghfE5+ыdu/t3T@Wru#i7_xY>0gO+G<3p4q'Ÿ/#D3uĈ1,V_Rּ%D}\@;5|TfG7Y~4v;r=")ٷRm^ \)V> M/oZ[(Sa!تW3ZXS"ѥVgo ql3߃ VBh6ߢQL0";k/3ОQK, \L,UyZj]$c#$ AyRBWfR/͞2ŠB;3lo41a( sn3۸:D&OV+˼{{qx<)Y7xVUf\C0{vga+P?CEz/K\)H2& 9Sx~뿚 *$a@~]t~ݙ)GDUcK(JOTK.\M"OnmҮ 3pth{^}MI9pE { c\=kWgmr $ݔҤ6JIjU->< F}t"%mf&i_==;Wr^W\KwJv=oG2:E Nr+*XKt?ChZg%6{ $cI"K[telR(hE! e܄0] !JL.Z3F~tbu3n3KCW}fC7?pOc[%%Y="Y`a jkWmh I|rn:x0 `$`f$w)LEN"&p[.mgf7aK!wCF 5Ġ22V\C`5V \Yw%%c4p_{Qh\7CCUŬp"CB7in]tF:82QeJz@&-3VŸU;.ܘ%V-t*9(X7=sݻZr~ TY7ne[;ϟmU~ }m#(䶂6g]7 Ci+ (G `KXv$?|! *ݽCS-`S5m]v)Qъ3'inhB(X%YAMCi*yn=ƘEv1vn. lՠ ][I;+B`GTc"q{Vp#r }$L2`羡: 椚{/ WUscW 2E?b1^I\II@a;-O#ZR\"bf'W P'bדAk.eVz=>WlX7:-ݜf00{D}묛.96i1XHh>2/qF[{-?7znl3kةgZ,'Iz^=Goi+.VȚgeE0KMB,Ly'"lPp21{Ȑu=l5Nw>M QoLgSUIq 0Y{$YdT[Ea)e Lf|ƞ;㠓?E%AmP@ XƧX)r+n33Gz`0R>e9P8r7BSql@%2ܲ%PɦLtܜVIY@" P)_pl{XѪÊ졥\!|,gbBOh{(O8%NV(DԮ#k`rBݜl E|=Q}ٸx+]$t uT·79{4 Fi*v &s3JyB=' ;H`ZIKS[Ej[FAȖIe|{szf4C>g*Nz IG)&y %[y 1Xp[v@bGG~Ms[Da <׻]ҋ OE܃IYMk“Q8oe3(tb9jTVh&W qHI;sӰtL ޑ/dF*+`C M<)}x%!ȪeQy]5w[!h}أ 6@V?? JrJ+0}ğf Դxؼrqm̒i+,H\֜o]ߏ$y7 K= xl ց=t#-f_$`?^-`͢dzwrNe;Ỹ-wdz|vLU'+pVG0 O\'H`C.Թ;)o  RCI8{03]IQ:Ė0d@L61cxKDH‡pfBϡi"}0kJvJof5jd-B ?ȕٻ1S*ȔoВQo7|D23{#A>?CӘwH+ \ '~V`W~4UY+3|'5#U/?_#ऱsr%I# (!3ľX2g}Mnߗ-ikZ7 hMb{".yV:e>7y2#O5 YGٶ }eVmOj3{!}WǨqsBѨj%JV(/:>}r"jT ?uxgJUJu@X`opKtʰe9gi0* g"fZU dm]XvF/sL Q,7\iVX~0fj2nϩg>8.EP gNҜooCО]yO( liN*)QL ;i wv>.U&MefYI<[VC{=F" 6W <>zЄzAQ<#1pnv쯍ydr0qD _lY(D^*|3Ttk a>vִfk3ZLPso)yTa5<~P &&[yu.@S%Uh4PN6ևRHor|Z<7$KgZc 4P=2mVܢ6@2nMD;9x+Zg鄇 a',' U rύodǦ m—dazF5<OF ԟ" HSLwK2Hr? N=HW96:??\ 2p+$@ 4x#;$W(Yēu;y>M(0ZW9;fqs őnEC' /ҝd6B(ҘH1`*MCQz0x. J4L{aR:"*KwFMBf،L:7U0ZBLb%S3u3ppߙtrn!rqfGn= @Zk*68wcߴ&jaU(ЋL̀ l c؇gVЊu ]hp4tmCpqa(LWJ/Î3^enmt:]xbP stkJbJ i'g+S}wLA~JCdH#Y~Ҹ)զDŘʯ"&M;+F;?U=WMs L:`rg]W)6RHkX D{;o>Tk +qzV*}C?H G6b}7뷆.$bd|H|&Bg}nn D~qN㸂i5r!B2qGu<}AT;l!XWGtni60"PĖ!i;]~3wAXd*h/v)ɗGՍ*c4%Vf܇\3ڹ">h*"ĥSZ E9,_n4쥦D5]elߪm:g ~ ԻI;< s&+7i'.e1j 1Gx82nJ̡T%?oG;MM`F%{&@Y8D(Am/Q1L}CPKCTJ||/+z@>6_S?6P)j));wI5Gy" 'E]$QdZ&ktߙDs/Ô7yZuGloAb:<wsvTwዃ*T/uMQJ=꽵Sd´ 쾣NG97Z6= 0f#&PV/?F8*G:^0qr[p3\7Esb,rF;+)'-i$ms8h@]|6#p@)XqC {'$KhiI625ф2&e&ȼ;579O{ƪgTd,^Ӟ^:[kLL]Lݲ7[dO{g a>$7{5GeFTu*/"G5-9ѡYtϨA(mg[zuؤ >; pΚ G" e|?5,őic64luqްn= eo|^;s G+ڷ7M=5<@AnQ\զG9p{avlv zي}m\pK<+1~ >v)^ǥĦ|_$m^|-YR6b"| ÷H` -!y[M5c`]Rs~+UFG#|)t4^y -y,&̄POhG1Ĕ)ⶔ+ǐz+/͖TN;0;DVW{ADޏm1=Ayd=1!W /PTC:2j<5RnY p:Q\LZdݖg3`# TmD+86v5 K!/G/bG:zg"u/tyD奊an!R[E[ $ ű 4$sҷy#~54Cn]^=ZК7:d372"ڏ($n [ŤiwF%YrNŰd)e+$Rp7|Cw:  V8舁(!mo-BQ'ce^ D}oR⛟udb9%<^=zq\CG\kWBC@G05Q cdDM1]JJl{jg*o@$8-_E]nVd./.`o|;u%oDƠ5<> qH nQObw&̶i9Øʂ2Jϒ̘᧲UP R5w~U్z!bхIv }@[`˱dGq=eY!p 2=ևX$F |/~w )Qd]۴~۴Tł&iʠ*ӋQ]?t ᧊J[ѭܡ5ΐ`%L4M}af )OIAOJdlYoHGC͇Ҳ9_HeҀ]nS.esg 1o 0;MޖnYf15dV֥dLFfok? $20XɁ85L ߍPK^%LB NNqbk;FdC0C(ͰZ([__zu EHN+pk/)'[i_]&*~C,v BHgڀ=]µcڕ\ð5aS"e;1%`9k]u] *QKvkx."ʌ겁UX2 Lkk[IvfopЦ#tg< a~Eʱ,?8wz$!!^gj;U(&q=p22'VMX ^1* 43#!њ%O`4Ѹ֝--HmySTh8[hA%b>HKOL~q+au #՜C8yu%sJ[3y%ў/qW<&0ftEA*T33}ʻNy5Cu<*1)BmpTӋs.t[S"pм@N>$IoQ=UZE \"-fˑGX`K"f,sc2b@< '˝-/8t5E(͗v2c IXaԶmgԚ /g1<n7wN trOUb^jNdȤVc(+Gr MI갩'*4Ov?uEO$XaKEX|$@^_$!@$)%uOZ6:9_J&T^[?r@)]_9V+V^gl Hg,!e/̟etBU\SٰdvWCϽ+7=9 $U*V(l̵/PAc"$H&&FVOH~i!$Ot\ qH-س/.}at<{Y]xћRm7hv*&5\^S&wz.@{j@cH,\3sO#ͧ딤gf-Ő=1k pg9o/ s ҭI=FC2vI|F_Gx*҄ԅJi ^yO+MLBRUdwM: !0b3^7uN\׃y!|D+GLDCwK Z й~Iiŗ@iiK~Y5_K"L#KQ|u+8Xy'#ۿjE;HeK =JI0;-95M[E4d,: 1P3b}(:%=2J )Jr|dVePуC9AX:ijh 'k$^}F &KQ,k-6\ ;9~ 5Xygt'e7?kLn#y1jݢ W"yFZLY(ߦ$jPw|]zb)c˺P%laZ?} w+TV5R~Ǎ.Pج;8fl7$xo%Z`iϡ%"./'`?؉n(8vKg4 ׏McDzdwXtwSϞBpM-KQVҙ"\9 r>9ɚܢ"{S/ E WHFŏF[k EڱߖԘp7+Xr@?>TGk}v-B#Ր#.+5C]tu-[F&}P0JCQ9d5s$$A;˷yD 0"\YaO)U|컸yHq}U,^;â0|s\̒I9&GF.+nb%dyt5r=6G1Ybg9ى|R&~D_k2@*Q(e< &xO12"ΗV B!!Q'gעNVAD \.]Ǔ_ ~hD,̥:C$V ;U2xZxFJPSv:^|xY GY ϷU5+m;58-߂ʎ ܁H2CSpVYHSQ eNAKn\C+c?KT뛖wdb)H~M28I)s*IIvV6ыN=qvzp@åFL-uߛC)%_yqoԓQu]˿}njXz&yOba:8s vub/Dh}6:$,wO%S ^M #ß EWՇ=JIŽ@72:zZ +ːAL^p?[ڹ!M,F4"Qg^菬6R4 (] Lh eaGFri SRE^6w#!4Zb@s`.`b4>U X2W$B7NLK\#NU-6LX,QC~@@_v׼@3k44j69B[zJARC`FKT\ kĚĩs2=]+6>6oc"ѓyf>ƈW(TgƑ}Q5x=|?xBH N95 Pk3XL 'B; N,꫎(4>^LXz,egɔ`!jfge@.,U䰗6`w/e5А \jr`tMjtѦ-9a;*E >Qp.G| " ;<J\9n=v&i)׏^<0@/c`Iof$ϸ.Tu l{<Ԇ{25Xu5'ؗtPUkEhH(0$Z6#$뫌)%%Gu塦 w*8"[VTG3th"+DŴfٗOU'^"y}%u_b '[ Lg.dù,$Cq1 5gbq\DiB1$0 Ա|փ=wd#@g=DJ>*3Q!M` mV(˜LZ:%7/~$Z |cW\p']{]3O6VbXӭؾ{}H)!i@B8)‘.އae!u83LD"QVke6Z3Úr)EvFp@tEJ0| q!5E_M4YSy^4Δfl@r&TQA!K|9wȬ>Z/Rxh< 6jGd[MNOE[pOeW`h  [t{Rދҁkh}`oJWRBg2ӥ\y_fߒ|Z:lrM eڽ"+k3}VM;I7pF@d#??jEUiǂu]Ph@pxtZ17nƪ1ej xH w?e53ua K%Tl[̱eOV>:a:ix(Z_wKX[s-x־ eo.{t7M^f]mGtg2oq,^` ¯,`8<)pڽfyi/EuSoR/'ܗt/7tbhZ6>K`苠S9mTCujnF <:X%m~9GMj*OO &dEj#)A8x*}ɱ7j1Mu*Rs$ m )3unwTByǝ ,qT37iGdShP-E|xNpf߀dHs i$mu{C*4XˆQ,"˸GJF`6>zH@tP:z6^Dx)5͐;21T4S\}Ģy>So Wg-=)6q"~3 FNf}[ dd InR^C /#y84WcZ%}1􀄥 3 8iQ_: v OY )TEǿ 1.P]vif?+!sMV닶a^:7^(H#re-3/8x\Q<zIKI=@_*~Z8'xaJH#vJel:9")Eyes]<]1N4g+mOClp1.ESNx.zqZ56}]+aT$ҷ2SƜW.bhk -{PC('c+ReOO_7f:U oH ƬГ/-[O _ V %,S>;\ |гB瑦GKƾh-O ΃)Cc[PBK#'- qcD1jdQ9]pG\d*~0R X3=HE4:75~xћeY8& Ce:fi^]#՘et?f 4 kTYSD}XԀْ.5h{D WRrE)1'Qm[wh0[En y>KRt_>q wSe~Ղv2OQd|eهפHIX(!֛״4 2TD/ܮ~Is5J>fieBS?wk>r@ H?G+9D ~.K%eKq+)s<)ى+Sn 0T959K |!;I,z2a:nƝUw!%w*# WkI_IM͢A7 G.oԦdF g{Jc"\WX=Y%8ïEkdW?"{COX47dltwrJA~B@C-T w!mmy•PTWϞupE%n=;P=f HP0J%*ߣ-Y^ȿX%q)aWmM\̗ݼ<`W}O`YC_ Hɔ8Hf1+Gp}I9f4dUT^"D-xf+ &8ua֓h^`8TmMKφqHK@zӺiYa ET!XV;DP:*A;6\ZyfPMd`s)@^/Uޛ^R3Blpe18,粘"3 \s(w뜏--4JHL$&(ٳ{j* DZn hJY 4&3ZݘpН5ch [?!TkUwWУm4j̆˴PDyxn:fڍ aGkMbAEc.@ےʉX]}ꄉ6Ӽܚr%%5 zZ=Eid,@Iw O֣k4B]fQˏBoߴ)BHq݅NײQ+ZYz#nla:xHߙ%jIpRR$%uPW!џ=@w{ RjdQ*:tYJhAǭL{·{U"C)s9c~\Pu?\7.%TEA,xfu1hS㥂;)d!+9X⫵Zj@mT71}P. .,)!A搄8jRmY?0Tb,J>$9(6UGaJ8Bnj$r]~oJ0bhք"0BYheiZ ?_9c;ŌNrUG-gۖcM`4 )LZpb$ψvQh21v|c-t hx:$lbИfR*Ҟ~Y]0zSK\vX`-^SQ;XlT`l}c'DzEVYh*/A5Ɵ;W7?wah|.U$ eYjAv{s =cǒO&>"=i/U`6P%X 5YDjbV;«gZb$&MkEW*"TE8}(/K򳓗O㉀ 쨾~T8t vL*T# c`+ hŧ(aNZgA`YQ&b(&`w+\h%̔/`3#JD38@H ŒJTؤ0i,qF+wK26bEX<Z^S8SPXL8WW2;]ЕWt) HwpojDZA%H =:6q&]_… ĆgָNuJչNk#PcG>+W51=kʜ٨&D{ 7NKM9,-Ksf}}G 3{=s/I+U"n*aڄ|tޚڀ#9UY ڏ>9'tf C+Ae&\r> ,EsbtvյĒJ*->㯸w b\(%>[E6ҫ`xk5[?"yw/5sJ"I;BS6{e_=BLxA0e _ppn 1`Ç<_zU 5a"_4yǏ6'KNz,@7\)1vE$ kt=(?ǍfzOMUZ2szŻZtgVEZ"dH9Е><>弯:Sewx.Y;uHL]8𑁷d莩xR@WGwҒS GQƕ"\=Z`4Vo)l~2G/zibX$it9uȂRX2Z:*v'&U;&=_N/.gL/:WJ&"=32:7`KyZdko#CFg| F.EyKH(?1NYmOsO϶s5TIҜ"$g< 7O*\r)ڗ5G|24C&3,Z iΑq7O=ɛX ԛ{rTEwMAojAXd%VP;e#97I [@&(`ll 1oL~<pǁnd/qkG"ܿ"+l~{ @}2^ܤŰY؉|+`: \X*2zxN#gƱqW`G Q\ dZO/{V,5d+Njl[mfj+]Fi,T2+8?o12BC@ ?mwBdY߿o#q"skz0ɱ̪duG~ a9>Mcr60d^#K:rfۢ+Aze"M%n{'RqkT2 P$t s^~ u="~U?7:( "c}&Ôac8dEm/eDGw*X+ Dhk90 :[E j'[6$'hu8WY񦝜ud)m] %ۧO Kc[*q;"y䤞,̖%E>2jR{T^JC̐n:K)Xͯ͟cTgLVi>TrHɀ 7T _ϡ1ZH37B9ӶWᦺKiZ$OƚQEcE-nL3@Zt+F^o2O 9=;[ӧAp~zğ2nra^q7#jTZ#Gg~_#\O9^JdH!Qe0(Vߒ'ˆu"БTѵZ8~!c.S;Lo }hE ĊUM?'crf) /u(/D#_`L)pDWFvt0eO& Zw$Xkfq}C=)j?6Wۡ4^4U'̋ 0_m3a0&WzP0.U V5L o1KO=(I5ly=3"=A8ܾ;LV#q %婪j']f]~Uc;#5[pBϒeϾ:C&r$"9.W2C JtBLU8AN!H2v>%NɠMɉc% \ۮ8B9fJͫ44:bpYi熰!F F5J/dlKޤ^> DTpibdÙQX 9m0cn?uVG!y,ŞT5}A.L i~Ӄe'ROߦus)QuFDQ}."[2jͫy *wtm}U-f"˃DQ,b)X76.=¬> b,5TWQڞtaRgI^B2i IJi[[e?]! +V"{SUkA-?CHK|D F<6^yWށlerYܭhA'ybw~J7F/Q59G/Mcs:gNG JO?"('bzY;~5rIe*DS.tB+=篇fʟB4 3l51#& 49g ֚-hDk5?,WYoo85mCB@ն^^S| PP`8bq IS :ym&YNH\Esa3 .4OD n"b'L|ݭn\BJA&*6uFF56ؤ6nkVҪ 4$P{LezpR ~#/dm,\oa @fYvFP׮EA˫ܻ=`)RxyHY^ 5r |3O?|($us $ I ~9"},VM+Oa'j &0~ &KǬLm Wl& { OQ۶z#.QAX$P,zo'1!Yu1]zT4^],C{Fˍ$^uBm];ݕ,5oye¤}# "j@T &gUxƎOnfM'ip[1-&T$&3y ΁ߡ֍GnHSaoߗ8hydy~oct~WȠݧf>w'IY0ӎvA_mVD)AF˨y m(k߾j+Gi?ttӛ @m&AUsNb̭WQb+jޱ Cn&x4? )@G.Fb}h߫s&e$tSt[sʄw4Z#Q.O%^0w|ioWώTE}H7p8b1}xɝeʴ k|"ѿ<2P¥߀jSp)~NE4*$q@BEź&3 V=*TWa0>^,<<}{@N\Tk\Ʌq;;4z3#e~ߤPi)Svp{!CiұOlZ<>_k ^ROZx~-f^^m{-i=(Ϣ]VC0Nn>S\->45O@/<mt]|\"߹-F\5©6XGq$4b 7;ZC}Qh=cҢ^qk8z;^ @>чo=D]B3jZ}}-b͜Q^ A.:t du=a\3 4^<ٗEٝM%EjT&|;Bwn,/f58R:GcVqPNYf񽥎nMGO͹sO@;sY@tor]#d!L.2sf%2͡UK8+)_n{2"GɬLeQxL%] 0cY1 Vv }zL.|=Rםh-;M4Q Nw,7UᱛZSI2魦.ŗcJybAҀcǭy=+o ]Nv3-*+ EvEg@58SZotvu6L "WpفO6K1`Hx۝+5+[ YI` >DQ[F0`#wIiݬZQFi"X%l&Q\zqoin=a.aqGƭ/tSt'I1;yw$;4,ǿ W]nu}NRTvxꌁەULū(EB[i:$]HpZI)X[@~m{>}~o܁A<-$MqV?^nYɏ$z>ߺ!n |{*}c PBSNk.%`c?I |h*"^EZ䶌dOgn{3UpΎ:|G\n֤XiZ3"c#d"6dGK(lVXvdn e܏@T-.E˱#f.X3ؿÌMbރzLJ&#B5bJD+ TUm ahT0HqC^JWX7+*%Yeh&IQ+aq|ZN$f$  j 껖ʂ,R!_3a7!B`@2Y<=?3ڄMiQ7^~ fsjKVF s r YoC(dl%GTVD4n@sq V_쎏x3ķp$P72tj@ڬR64R)qvw7r71"6-\~S=qd,Iyj0OnK,K"QKU3T5Cwmu2CX4UG}ř0Ym84!ߴݞu\xgvIdVD1u/ܽz2xjf=TP6Z7t!6A-e؉J %$ HSwR VfS1c6QI+|}!ro(&jeV[hXȕ)ne6h* IӝqZ^-'/ C*DD{r­,A$pٵgը-#B JN`.u* tEWL`}폗T [Lh9"cӇ؍خFWȩXm ' 2=s9d%fX?4p8˗ \- h AYaxlj{U ^;W&~SeM0H;ţuqr86Hil|Bc)tz漄fY&VwAjLvQRx5%8Qkl'`+s|<z9JÏK֤.+xb^tTʭ͝Ξֻ1?H|dkx\+>8gZ]OC|;Ъk`GInV ؐ'{UX^[AFD{j%Er$P^(R m*r,m8ͿZCΫEO<;ArK *5Vxy))l/S[uMGan_['V}&6] Q p{f:qsu;hF@s-Ұ ?XT.q8\h#<d IuIhy)+HDI UT&l]CL@NVo#':6Ƃϯ/ql&" 6hۇTD6|6"9-IP9?vζǵ|] }ҤqA,-[(0f@,i5(:E ōPWπ Џ!r xs=#}xR[m*Djęz";lp%{WEb\eRρE:jbǟNnjy=Ợ"aO-GA&;Ro#Z8d؜H$nrr+ΘJ>6߃|R͸קNxuhB1&x=P? JAR>`+v\  @T0a6d#шl!WlOgFTuRpߣ8 %r#Z;-Ӏ;Z^,9&I}"t R#Zu{vޱNl"Ģ]Ɋߥ)W "&#t!r1ڜ[smHF\.wk*pferm:JrH@%s}:!UmCS/B=;crw(;ѷ. [1d* cRr0BtDF}PZIb4[ZIɏy_E`E-lU&[4 HF`~Vl1@9fTwC=yaW;w8@xC^zB{2b OV|cnѿ Ź{RT"Կ`ȿCl\M (sAGC8޷FaK8kJ}rJx(N5r\1o6]?PWfYz;Iyp/saַ,E$XC8.ܿEi;lH鎊SDQfُ4$Ajk3t+rJYiOf'_֊/ι!ΨUЕX5:| uZtnxTH7X/#E[mgPz /φki)z`޾B*hް+cqԞ10w}( ϸQ:Da}A 8D >{l-ݣ]qX[H+JmCZq6 { oZ|@(Ib~ɹ R@r6mmk׊^5'3EL61(i)]Pvj i˕yJ5.w4jY(\ѻo|BiY}.@6i)9jLb+A#F31ʻ[WQzy+oP\ f-UT)+K1 K5vV^ԟĥ (ˬ8YV n co@OjKq1oo(QYOmm7U~2^pȓa7SX).Tދ`^[ʶ5j8vnDr̿l/mU::%[gƙH~8}; Q/)N?M+pCd3{XHgq Wus*׭B)Hs~0AQVE}1Pf 4Qpe z 6huh^b[k9I֡"ge) H֐`P6`4~LOAyEפe$1|j֮ʨ.؈}ꃝoѽC l،0Lm7@NNFen$3 \u:5OIz0i!%4d)N+0.hR\С hcPdP釴 ܵˋH3lna$cmxHP`kKK^IX#"<(ֲ#Tom=]탓v,GEڃ'&k|V_ݠaeK3@k&4)|%?^RECkR谮NiG@D6ЉX@á+ZdxY|?5&Gy&\ eT)|!>`6U!.}28yISOb ct/孁ٷE/FdfH|ξ:(YIUp~]Y Ii b :{ˡs1p ~[?uxUo+|#@ f ,y4xBMO] eWa^)| -I$EP[kcm:6+6>;`N{!v_]ãMO(KYqbzcu8#DAxB[n9Iᾐ֙a襳#Ζ-0iVQXwzֽ֩L`\h6Ăhr`isɐxqE](MMUASO{${c.-"e[]roF.$ޮ@g/TKgȖ}XY)uҦq>EZ ^q%=̰q/́ vXEJ2jZ`WT~d=`_z| g4!"!LE!s[C&z9r(7[B?&xWywb?Q}jD:%A !Z)s`2]uODM r":PI 4r=gP3eDZhi~ uS Y37:R^^V8lhZ '1+T}524!1lm Y e*c RRK78sa KņAE qMNWzyfyL"4 _Ae. JirKn<D,x&ku;ft}|H 2-49Ϡ(k4Nznd 6ipԏb *?VSK]- E{MW7c^P)Aһ~'N- HVP}+C`8fp/m.e'*Hd5K~zLycuX;l{Y%I I&_k۪|KC]UB0D- eҮu_0fe[d~{.idjS?GI~*t5'cfP WgWS8S,J%@CbGfؾ`I>ev!Ǚ'v!MT D4 pB6d5isSdjiꡇ.' 5*,Cӳ;GT-&`PD9,MNt'>F맯Yw5_Cypⰻd^_8 nQ/0^ZΊW0Yp.Ś-\ץP~m ?{ t{RlVer]bi$KW AW*p# a]"j=s7xLؚ;F)t@;[KwFSH fq&3tf~+3h|CDXPn?eT O*f dR/2LO@_$%HL«/ ~ 4u.͈ΐޒ".F!nS% /rby]3)PbczJ_`SZ3 YI+ tshK8AL(ߪmN柑}=V$ך4QwĮ@B:S8>i? I+ywi4\'ev0M+aqɄQj9Z!em#Bngh8:k90L RDP?gjϷc,퉃pu.|7MV%٤ |'Kw.;~-ﺟ 004 :#sQE"o=`;`" r9)gUڠuݭi1(~1Ga/{dWfTU_z9MF} XF)4q 77,0G$w<+_,Ÿ6*+džQo MaҀ?EL]R'TD&&0׃M[kF5b /6U1<\#ܫn<PD :rk>j>hBz&hʰc ɒ>/CVl/-N(-S`UDV DT]lpJ O&qTeJRTVz9/N0G0Cf0ܞ1 v@. ݀_T[Hl" >X^ݍ,?7&d*FA>лBwzĀH akN2ug[47ɼ.`{Ƹ{~&PaJ*/ptdWxG&ϽJhaq]RLei7 ì fA 9{Ν7X»(=tI'$ x7zhIh^R'g9qr*Q+&V%/ iޡkDӧ6?<h8GG so!*~q$jΡ}_+<ɞr Իd%Vs9*}j 4>vM.nΦSS)c9E :a}>(,kYX轙|}b֎ܞZ 1$i4F r_Nf$Iwc|v{;k N4!+`cS7#6-#HV}e<ʥL1nd^")"H{A$~Yn $0KdLA1B\;]Zgs"X\fB-䨷ΖVɥG9hs7F:Wv~~]EăD* E4"f.՜r/Aq{`B <:D u &&ЈA[SgT v{ݳJ5 HSI 94<Ӓ=t&J XLr˭,Q R22q|Gh8%kĠه6"\ȆGE4-Q{Ay>!pZ3HN >9+\첸mb 'r3jE-d=o'(4~jSH/QHAgQQ38yFycwlqHX`nߒ@[-! _:!>}u_4`f dr7xW&/$f6N_CǍ]C-7;抳!sG(ܖ45%0q Qeٟ-Ma'L*x&c{bD31 z4à׿h)pe1Fcb!5O(/oP[N1F0Q{kb^p*˫Py}Kgd\Gp}mD`JIx;w6'V{]CFڭ,I'JyĥzQJ=.j>:`8_6OݠfCSG02U[3a0]'XonSIH?MIjwڇ᧶Г9yN]"K"']ūy$aϒU%hcg2pa!UDob=x(QP%h^w-OW-Qab s!/+s$7$qRu>_R;(tm_cEZ2VX-J׳$tI.GaL 8T'B1QIѓq^+Fd!|x8=V%|ރEq'Yy. ŗ7{ >DOuXST~s]~v&?\B3f?^)9Shx3D5`8a gl9b;Ez5̎aqLWT5[F_]L>:}h|<8 ¶z?BxX?,.l7b<0sA?z1!(:WuxRQzj(i:BW m\ /=c!8E2H '>–`h^x v iUTs|b$Iod#Rs}1Yp";U;^f\8jQ f]ݻ2fZsD aqؑa8.-\``OY`.BX#RN^e s@vKL kQ"T3{X#%T KUf Sv_)zTז|Q-t"#AOJUp\,ƉNSy:2CbAX.l&PgH]T mԎ}a ^`&/\Q!XXeʓ0ڻh/ 6>Cx0>3, g?ZEŸаGC\Dk8YVLٺ Z@Lp~9TG U?ֱ$v\22-͈(q9 B@8>y -/ɃP#F׹p]'4emŶ/0Guɸ"Pq|$M2`ݑYkS3s'23Gj^1/+C , y"N:{|uj!HŒ)FQ`*,b}hx3×p:tOb-Tf9A^pmZ\E@o֐/3ǻ(@\Fq$v@m\0e0uWb8|gw&ר.4Ç/$vF2}tz\|~x !?P> tJT < !y|$wYC$)O/3kn9з1>}cKqdatkxt2)R${ L_ v5Yp@u@\ 8^љ`X(]la6 ZL9*C"  iU`igڛN=w0Nvѳ٭P =C_֞Zڎ1,\@ҿỲrkIu6Yb8m O#t}%/*j+ڵ4MkۙjRJ"$|Y("]rL5:y$5:B   cm( {!Yds G_{h]VLj "o` Uv{M:.%+ky~}N$-{}3$"O{h)dЦt{HQ. gk!!?6ƶ(n ϡr r1.sάx F-Lfuc ҷ'jF"z"^yh+1I'[kȜk\ۊ*Y52dqQRr A}%ǿ WNڪ'贬WO/Aak J}&8]v YL  |_֫1;IHRv[@4#,>ҹ?QW#)`?AWIL ֢R=PU@:[?E9)GDy7FSM̴Y" ^M%֑9ݧˈAb@۟x@*@gij8X\ޚ汞Ze"vifqyKl.|66źLdU ] bz}?TH'r-﬘ 4FʏwJ%rDhVpC uUOO¥0,٥ Ta,αM*iLdxNY' ~"۰e{ K<=4L_wnBN!o* &[ o3l#kD _@n ft6#HjYFЪ X\Q,ϫ <}eliBJJص¬֢x$ @@~x<ܤtjG1A.61x%aEv 'H& 5 :AG`=S^>Ce(ǧ2ˍm;I'ZȻ,Fu/DTfȂ*$)s$wlxOg\Ct>:X*;ĤYfۣhHo%l2Y;Ku $s7w"O;!kiv'd5P35UzRڱΥS30AJZgОB(:m{J:ƥ=CAB}Z#w1E9*1OǷ珓 VF!%0(Zֶp]uhL|x6\FoF mb rʚ'DCe<ՒN9cɼeFw}Il9`gtݍaDvH/*VqqGD;^OԖ}N{aOd@=mVSc_bh/gkVFZS#~-r,\eBꋗgHT/ef~"H^g>C@ kG1K%Zpt6/Mh4VSXO@*f ށRx6 EA;?aS;Sw*ba$X+>.HJ"'jx&,Dgg`tc)(mxPter*Cqc/m#I@V3xcO1zỰ_f]c͒,f& P.ea@BTF5DAh!O&ʉNUgRpK}h(1!N7ᴍ*T7Aڧ]v>mSóL4iŸhBTX]: r<2ƐE˾y;tL *,mKr$p!oM찙N>UܗcpWb5B|xnM6;& -dƦ/;cD`ʅ}6f|ij@PDU&yYP4rɹp4 7I3.D-9 ]t@ f۹L^y/+8U=2#޲dUrx"OlݴL+EB"QBtDB*g{ca\a&|QCWzS9A٥\Gw6ר39k!?5&+A}>D<66&\&K$o|DUjտs̋ @4_N kM謯z̷X&-bJl{opK*Lס mߕD2hS>{+Ad/W%a ]q]&IBT쬏 ~2@GlqFDS3dZiYMΤ~i۠PVFJAۉj-b}zQt8c;0wѿso;@51,pӮ9(ĎSW|fQ4 %MR)D=Є[!3b 3}JmͿoql,l~C^=(ة٧sMG|])4Mg1-32" 4Cpkk`ӛxKE5T[)b~H˯qAۻ7Jg:SI-5 xZY'ܿn4ĉ2- < #aHZZ q29C)%i+L!]2][kؖM ayA#6$)gZFP\tQOu~v*R2o Q~m?w&_d҇I`*;'0Jse gyxɋ[#_1cʜ;-4κp!a EaXK|&w_P yJ4<W)0#ݢ ՙrڷ-[&óHU&Kn)~|̆ts )6]҄M7,h ;;*dFXv w .6-Xͪ'lK.%a|_fEЉs7c(O8­>CĪ;JZc#l= tVlgE5}nu@A46 xu%كhO,#OKѺDj{ i]-e(A &WoK {R!- vXJpKj֎t/8R)>/Bem&$A5[n,=G+ Gܕ|hT|8+_4ˁZJjZhNKNS5 +tn3(6+7؟^)݈٨Ɠ*uj(ԈPu4sPC71Z=xt =8D0pG! Dq+,ǾvZΥ؁wk''0GAIB6m'prTmHvFel8^UDu9dJ'ݳطǵ{.udv6nb )Q{̕b"*3s$֏X )>=4#n+zEXcp~8>Eϙ N'  )2I<#:!ziFD+aWjD7?(7/|s*l%Xy15l1S}T6>a׺ ^WzX\԰߇.`u5~o`I`YLks c3ZcfSc7ET-rAm3*[Kf zcK=:odhjP$(+j'ܦ:/Pl$]nXd>kbF˭‰mt~$pҚ2MvC"kRzف(2{IqKr&_< tʗ {~~Vot"&FcА;K(LLkxnH'Z̗MjysG-N1;\`!n.@z7;h[.K_{Au.m*l?Ӹ@L!~5mҍ:Y`>aߴb{ã[J?c~DYGo~*+,3o͵ё;d06ŸϑAu"`}.@.ryC$Cy94j7]2_hP;̐?)U&v0lGșyLI΀ơWٶpbuƍ6w9 +L@gJTs.sff27->7adEDP95eVJZyQi-S~1F̀!Uk<=յ%N}fdDBA_69S9Ra̐pD15aGCx1a5Tp5gloE]` ò{2jW*D鲠֜NoĊ7q̡|6xƤU^(AAƺQ$r3\@)Z 6θVq=Qׁod8S]yIKQ6?}0Gc=KQ#cBs=B/2EF~TUGmYLj\#:.n"{eݵ|֬chӁC4jSRogՈj:2?Xз]6K3#=0- }ǔJV_ۣ@{$TPԺ0$ E>݌75dX\N!}lɕܵeC’ U_na;X7{'@[?!ީ`~-囐dP(gc"2P4™5F$ 3Ӕ Z/byP 20S{N){㴘\>5h1HV'Gh}fZ۶K&(oD"$pc E^>Ӓ6Ekߓ뚯τ⟊'m{dnnM BK^M;XzY%g\lY$aÿ\SNBG9ҜO7"ې6J7*EANѿ|4a]̨s[=Ehw<_<9)` [\4=Bn5.Un[U "|X'~-oX̸؀U۷atq}i}BI{ߏI)qzyqn&;&Dk-\F-d@\ݥc٩/OY |z }@IzkMdIw'U'.+ltJT!'|Z*I YƸw 춉NAc@5xˎɷџ~yif[b+Q .O'gOA|:5aû&$އtrhU%L KZgxN}X9[ɽn+u3Hh1>d*{ .y%?MBVKXzWUJ.ӵ å:0&z;Fa$4L^(v(*t_a,ZcQ?RT~K >4DPIE; Y)0 eTe1ޗ%/ !ì蓢!c? &X>'5U󶲞V$JM 2؍DQ|PbJWz, *05&VPr,/5aᱵ[V)+ >W184?P˘3;(CX%SzLdE+I-^m#a &Tiʖ C;9Kx0G ]U2ëtLP;>L) _1#3?&7a64.fEx~(,l^,-H9TR^Hoɖ)KwBP/SG#2K!5*WNo9х]ٯL-0 CvAG5YPQ-N/":|3vKU4%epxXl C:+ xk/l+JM fCrzHf?%LMľi2utt)҂exBeϬLf=NYITh">^%=3Ka䄿Ft% ];8l) GEhBI*80`>M3$Wq++pa))DafeJ]J﭅*vٽ`S(? քO.쵹i[<(nszR }= tȃ<_UÐ KD.V_Ao'w{`V2NJUdZqhC "'ixf(&ʗ ;+EU 8Ϲzg`Y+wbG.N~5U6ɗwaqwFܟo"DjO^D[7%KY꙽xdJT[fےTL})])w; TO/x&s8ip"Dn֖~[-FAYW9M~f;KEqӯ NmpnJ;D`@7ڐ/B7cOmat>/MϣKv@K֟-X'AALX!!73,kK1, ?~oٝ$F3O>k[ތ4Z){Hi BVyХy;ܭ%AT=8d JbqwUPfYaG4XC Xn:J9#^ĘD\IftyԯztJ~9YX66Rkd8<%cFF"ua"3$'u*Njpm;+Vh8:취|[NT"avNGg|eÀ"_/ llpPmC! ܀D> .HG۠iHqXĹ4>M!&¬$t0bzJ!Bf):%E7[AD*tp5.m&!aGuH'E*_4kC75V/uE |J&=)'wrbC fNyTeUZ{ٗ{dk@rֽ) `CsBF=Tr[SD o۞X(JDݍJc;Xhޣ_= W 8ֶa kCqfʒVVu7SϓvUMi ٔ <Xr HM?7JC9/ Ɲ-_u!bgڧ4˒S<چ z8=HG$N0~c냉̆RI(&Q_L%b3E.b56 H*vEe^7\> Tlht=RZPA]6=PmfskgV^acmt28(``rkĉYJ\y;I:+wv&ێ5 -)8Ix2Ocِ orGj,ʯ*ά? /URCjis:Q&mNe64n1FBbGǚ3a-G Ccޣ }S-OI,6c=<,Υ}I-7#8P1FNa<P w AaLQHpq[!%xePtV%z~RD ,S촲sMW%Ehup2"wj_[1,AGe .}n=dG $װH,0RbfvN됻OIuzA@JαV &k.,txV+bYQJ٣et_P}i oRс"Zԗes+4mc-~LTM<`Ddԥ gk$>~xL{\whCJťGJ}3[1Ɋh%D{πYm}Pr9zzSkDj4Q'|=ϡx.Heqw 3R=;^w s)"-eisDB9?2nE˵Αxz)yУ&[Vy q[@@9Z޴`2aκ,VyWaN%|Х^ޮ^"˄c|Ӆ{" n|ݬg06F3PA<YV6s[^nܑ6엸8 (O S2)Bsޓb< >\:SCLyc f`MԳdxsn`JH{-P%$~.Qŕ~νj`_I-(g0w8儳XBnNܔ8\uy/x/aST2`Q\'w"BmPW&v|Im:59ʍ%K勑g#.3\Wg SɳyͮZJ<թ@]Pݓn~.]UxW^G 2{jnRVyrj{<%new6!3T=GMYriA2Nڡ_:ڟT8?\XP$mi&c{t3 0Ħd?'GԈ״nmX B[K$w2F@,4]HqRZd˺ &4L EJ3%c_Dmia|j1{L0!F}d \Y"pVlbF:6%/׿Lс+`Wo o*,+DlCpKU1u"Dap3gTj\եpA)\Jב\29YıP3Dʠ~As!ƻ3\/t$u,ez'ε)QKD1 ;%%赢`^x X FBz bJ:jf sUm;:\UG::ب#- 4 W>Q2xW0k곜ԍxQzEn<+Nf`Pt rR&@P"~2WeL F aB;iׁ5x4rJPlPY6 yvgщ8v:bnjh9>`**kg`~qP< Q :H)=2"2-J$p{+k,ykփI9E Q'?_b}SGKz?yه?_=`80ͅ6(e㠡|1`m-BiwP]cBn~m:J*q1fd$xNM&kkFgnfW!rz)qCf6^5~`>Sd3G~SZ\Wr}Kk,xb캡'U VPcq{%^/z6G 3{߿I!;wnf>SSNW"O9Pzϱ!V-6`l[VU Ηu\A6r t!/ϊRp Pߜ@D 4QOV^J| *l[5Êy+vJDc$]2=ʬVxΨ1 ^[RG2֥.ZT2M{GW}UCSjuD~z"jd;&Z Ed%.q@8ms6U ݅T hBN0iIB֠\ƃƖα֙D FǔD43h.f,p/ .ݔ.xmp {f9BKrC;UB?PG(2dq M*dԮ2%~SJ%?NtNYW2E1$GhlߏvPK-93rc-BJRxTp%aЗYxfmE;xeoS_p0iSo!w%:ǚ/oZ\(W9ZP8IK|2[b[+t%suMdª+nrL- KĜAj57?>T-;X;$ˠlqpnj|Q ;*dп]l`Cz MvpxxaQ9)EP&f%M 0FrGp-v{ܛ~_yT.y*A>g,+7'Fg8#eߪ4,.KG'yڡfWcЬbBM-b%3w ΞbY }':RtJkQɤ  Z m!a!Ut[>eaMĀ;=髭m`8̐<|pE~9ZND& oQ~nDis[^?,`Wg"i ֞5#m0^Y?/vW'<۲dH5tV V*/щ0w8uIGGNLtDvV9t,0h}`dH{QL8r] ԓ\}DU7H;sHR[5_%{ n\iYFqNbPJirhP`wp"e@o68˵q"fbؕ%|t&o*{^ɊekxebHpQp! ,*P֌/Oȓ,s# z]٫IF,)d8+Gj0gH+!OrFQ9#e[?`yM `΍]2âXK涩=z!#0\q4W.ix$䇷n w7$yc:B"ywXh·^in^>+_^持j3/`!_\qVTqaM)1v{(skh (j 禇%W:Jy9'UMGd,qO`^$z)!'2>_Ϟ(\)X| X-( L<=v/9!g8]:0JGV 3lty|,/{uCiW)q!TEAg3;`$4iu'3wۏ!byǢh@ĵh^ΚW1N%:5i!-N*ƥcTIbsoS/DBbc>8=fl<{3+Vv g4=Om5"*Џ/:MoK.~MЈ@Pc:&ow! 8H:Q7vRAZ\pŹV3HbxCrV&>Iwl >ėf&\p~V^',.o}(:8:x &'ڹfi6 qgfrR˛xb';bznoW8t ^r QoB>~%ر6rGޘ}mY'Ԧ7jYw~$1S,H.wwE=Yp|hgt3Q@"'T?eELD/0ؗLp\q%Zv'/][o9?/¼6SܛqmE3:.(|wg]y-rCֶ,gGL.hQ<n:AH¥ l{wU9ح )j ds87|ZN-opjz6; #ۋcVE 1OWw)_G. y: tNIT>Sj0z6 ?@$Bbgh#dy.PE%̎~nmv-EZՕT}^/,UvI9ީ@J{IЭӍ3rr '4J9<.Pty#Brwӱ%fv-!dXKK D𱞕m-I-42`yg*cF 6#v8XhϮ9*2d<ü^hQJ:%el_tr?PWӫqVkD4O{ZlBh[]iEi՛뒦nT{a׳z,`g"DQ6 ŧr7KB0[{fQJ CD+_W4mńE H:ۦĶ-[UUW mn&oR: t=GcAٿm?o , $1LEQx:g4nftNP #HK{tv_Wr&&012fl:eQn .2g|*9LGaZ`Y;;1Y`'&Cɿars'y0'u(ٞX#kB#].j-+q}dOi#4] d,)z3uxh9[(|؆tY*hP4ޢmC{Zcx`.ѵdԑ!hݘ-> ^E50kfx1=C[^ct^K0} Y$}ݘyy_j&@CYaO]<)i"k GqOYrQ7E;~qp}R3M' ^򷏛 ' xa H$]>2,e_$osہ). ow?jG~Q3F.Rf,M:ǦHNhɴR}Z]Ut ,Ʌ l&uxF=צru5R!=%"Xt&Nqk6/D34ETa9ȡ3)+#%~ne4k-#nYQg헨(\fQfW х:@L>ч֚~B]<whZd碋/Rqj3"P m|k*Ў}d}Q{} W=>C.v{'Crz\X9qK(N!(O| Xlhi^=*Y^ӻ)a:&Ÿ"~^i=ĩ<3PžI`uHo:(H?PNg|Oaݺͣ^Σe`' |e1G LY &!VIOqc%I6_B$2Ud Yѷ1,_kX6୽:LP]+ Ko. -0Y@Yuҽ,Nw q-ϥ%6 aX’aa?lYi5nՕamA52=:[̒ZS,1N(Qà;c/: _V'=G&i|X_VSnr"!(:\?|J%* R I;х] uB;YY_v=O!'4փZ\8kH'!IaJOG_|_|wo RɌUe-{li&IP(n,[H_{#隐>uedqtuusKh([s]˞ZgaxApNڹh2rjfnBԠޯsXS/W!sKg8+!2ټÈ= r@.q7ߨ.YhShE"}hf۞L+/0>7vlR2 ڴm.ݏ,]*[©76{cx!we#'b=xA,~{rH,-Hb"6i0SU ho7xl`rϷZk?WSk [*<^e¿}>^Ȣd6 H`E96F& ¦2j_"Qhv$[@皌84b1FnLe*03@ܺ,aYUE#,R6fO%48!e2ЭAKZB j[ׯ-!L]26ʕTi!]3L.aښZ;ɸk60g> =$Αh$!q4m@L%Ǧ7FC?E..NHh)u:OԾɨݩJշ9k|_RbC[*o4r#K*z"+xS`G򎔣p.~++`! E;V60daѲh2G h2P9IYI23/Jw[ZO/&62u<| r\F'qO p87P d oj?Ue# [*LxEo|D H-T&M<#8ޠBܢR$6>߭ia {:eXl; 79a'qY~cG'sp&@P+5fu7Bn'h'\Sj')+}D2 moĵRvW. `$ݺD&xbO8?0Fo1[0Ƒzo^vyUiE9m!s{>9}]\>}<< 0gϕ9-n]S{xeT-ǀTe褢# r&9auLKbc˃DC,_6 S$@&\Alk >7UOnjT.\fxGM NU"7Vw]CTPF`KdX͜L?TUnN}gC0a+rLS£i|k h}Sxapfpl8aڸk!*,ÛXGFˎGLx Tw=B)";/s Qx:3C5ZHF#DSP&~f+ _a=o &1zz.&a2GG~ n=! q&N'2]h]y9|  hH|kڡaIkG++a"jU`-.uYzPu:IS2:iW먮|cƗc$uX3T F!v ]6z[ Zڷ%ưd(0t%XED0{7[ y݇nfH 5S7cPUڛwsB|j& j$=D,zklǾYA}._R~m~QHӸNg|;_ jifB6i'M`qlF6 ~g}_Mhf,X/@"C$p7c,jfS/Na )yoo~@|JwSi &FHmsa&E]hB7kS@L~H kW@t1}!r3db-Hkƒ@#X#޵v.rfR!4~vXj'}2(:ga=\pH>anݧɢᜢ^sôّ:SNx:nEBOc,OR?ŰP{qG^sN͛nM ^g{Jß-HʛءkɜiXi7(90jQ. ۻ=CN@o4/va[f3>cAZJUip'9uOdbz˘9m],Ҝɋ.K 3#>M+S)n9F‹ P"]ȗPdT(֛Ni.b`6]YpdD^;m3K'v FWLtE-dt,n1JקmF81v߱x.*}YC(h{w[€Ā6/NJJ u?N(!Wnw2CDךƨxàj5O|kH7S}WvV&H}bc/# þ~An⦕4sDrDN?C6Ya)n 6:#zBd}P(|4d)z|9eQgf С{xRȌ)|"g%ZO1F~2+]"]+S:f`)B<֬%b#ȔP҄oA;V 3έZ;Ok.?ҤNϪtbN&Jz-12\plklEY"]tK[:slHfN@Wl+`6= sP >6ү+ ׅw Oe5ń58R܂(jt:{*ϟh@F/$hc ]y;V01;(;wV2~sljFk&P.^IIֵ6~<mՍyI]2k)0aig){-#L@ R$eB) xthVqijpS_b"t &SEE j"tYLYD|A8VG6O" 11Vg2l D6 WHtqAiEF}$b;hAyxdimjŕ2?+h_6^ V1-HEG_KuyuA\f `j,q? ȻCkQ.Yiy,lrbq-m|wI{' wHf)hv, .[_8v5gki*'BNY63RH4=<J2|)$ꚙSxQ ]8G{[*nO0+X1$,FQƟ"OgqN>L+ȩ ëB, J:X5 W~"|#J0 k3ꩳZZ `Le桟P% 1d+tw; c^N0 PSk!g)9cĶB5*O5$(lq&itG_;z^+"ͪ9٠?XR(X((h;G/Q1z L7(7\#EQ,%Y)3kkDI=_}3rMH I£9>w|l7e_#r!+Ֆ󦅰p̜h8Tn ̮1^nq1Zw<gQ+޲1C;q x݌evV=GJ < 7VupW+oQui@ٯsVc q_,DUDnt%@.'"<$Kz=P:}rj%xi)KCk >xǑ}#_[%CjoңGGR[H|e2`P>I)Py8ʜQ_dkq:d|-$#k:w:ʔ/ [iײܨd->F{XutN=9@C&kl Jm]Jל~zq6CX˞\DXpAa&qʎ?gNS9ܲ*{ϵX$O\R3d/ށU6bqJ_cTT>@s.y2r&6]3Vd 0c똚hS#oEQ2@A唽B㨅0f0Sۍwౡ.J^r|ل~+ᆞ@$tX $ڝ<; $ټA-9ZRH&BO/> j;rs I#apXQ̛TF?K4}=32hZ\PǸK#Mrj_iEyU:3 &hV,r^UlޔU: SQ\Zֱ]̡߭Cԭr.DN4iA:ҝvUY2K>IEԬrjH^J:a,h7^YCagbH.<^X23/ȃ uR tu/#x-=';{4y VdJwv撴JPj!gJwll"tߵ)/>kc)vg'ZGfNLΛ=wu 7>N,pGHh=#"vIϫ` `pt'DSWL5'Obcz\ψ#"B4>k(Ұ`e&mLr^N&_\M_g%1+ uA=*, ٕNk5A/D~`Q K$ĵlV 9Df-:6 ֫ ̍Vv:wyƐkcG7 ]#G|7 ~ċ(9v! 6Lg3]5f3n k!Q!]s$(aNJ TJ&{0|.[8̌0rn$ۙu!pIHK2JB|;J ?@x)WoCk-'?^(laZ=z@M BRvuA 'V"* 5M+kg *(tNA8hRT)=x[Uqq7.E@iU@`6PKڸ_i_`6+ .No KBFpHmNNlW.<q&(Dzߢs5׍3]ui ?F'pTT vFƴy3^ruY1< ͣ>B%} Eqfhl%@(n,s={;Fv%!;2X$Z.Añ ~TȳT")[ʏ0[1L^\?~AZn&ċ}a:!!&"\Ν0`V"Noyn[ {m8˚7 *; :q5‰y[Hqla$܀ rnhsT/:U =noS%  ˬ pQ8`ZgC [C#D_1uv=6?xR.FaIacDLg~t0D~d65ߜ4Y=P5X2@p4xh sZeK9JsU^lr u,%k'}\8ʼ﷿_[5Ѡx JBlK5cQpĿK-s?28xd43"h6K5ۤGnRP~ŸYQcqGsۻ5p#[Wvn{,eu Mի6Z2Pv0|)xDz˜G&aSӉK×ef$JxM3-6y\ʴ-&dp.0nL GZ#|\G3`t=ck)ƅ4v-ȑY~z(7ފ"-ٵ_ߚM (u Hab)nP ֗`tl4 ^GXCs^_Ei4]>T `af0\V ˷dȯ.2_ X9ȣ{vrQޖUgU٦9S=\?l;5g'6Z- 2P(p *Z Lwmn@T^M~2;r<^tJG Ez2 '`vnã*'*֓03KJ ۻiP,[YᬪWGc>CitnowjJd3nyvYɽTjA++ȟ;vTU0BLjc:wi체Ͱd)@a9/{(@px=f݋ Wh}ȬO ֌hj> z2Wsgui6\q]dgKzHw[ U({Y*͉F.['5FzԷbAJHY| WҰ.06r#/HHiL q 4E2x yx~SW5i. z+ V~)&P)Gk&RHLt}h[-- 0rO/uV2y%zw|221@MBǟj*9%9Qvv;heipq塬5P_u<cBN-gƒ6%IR{,[Ö9å`r9$=42B46aM"[ѝ ;L'Г;u.łM}q5>V"<%CB6aHXcI/l;ah|z䙧)¨LE_V{W%Kq;),03x-COH&- T S1jXNw"+==j`62ʪ7^5$Je6G\շZ&fWcāM#fɑ}0hkhc|.YO60 wOK7a̢2Da{] Ș &ؐ$O:2̤P@0mc48rizcՎ){rNxchZbи 4} /P{bnRtkHL_+Gժx[jοLe>mܸ"< 3RϏ N<(gQ_) r[_=2(wIJ<v>I#.pw[ح#gw6=K;gԁh}?[61H[v{Do9JUØL2+rXQ;R/]HwƤ+5hY4P( 3K nSJIVTe=csc,` 2ZnBܖ`U?D7tdУ`=nsZ]j/r_A+5%ϘK3+K}IDipabB/020JrzvVG5 NW2Dt*ɬn:[c0#@9h RGk)Υ1L 40{lZf!&JzԤRM1w[ǎ aP%{bh#\XJ,=.\@r"Ж.Ph6#-6. ^܌B9}d@ v-,z`=&0-nrr7қ~9$,ԲZRI{ bCuj0d1ߛ}yV‚ xYSSD^d_Ce33^ЏiDfs (LewO:."t ieTAمbOzĈ6Y :0SOj,7TV6JxE5N5Zg^ ΈIu~sK 0Zg!*J'vTyVsak a\Ֆzfq(fl\6[?Dly^zBflNRlVL_HNZD/@\l+ o Z}Yr1[hU?]:vx7߀]JVTuʥS{6VoB.n'yn9u\R4ue\ˆ#N3ַ(3O QR1SzX([3i',s`._W"bΨ< 7>fnB* ;u'NbBK1n,EViT*Gw?Sε=7aj,7P0]umLw.Rԣl U1R:EίT^󣛫{~`d E}/햐u]A1o7pn*tG?ZӕI%`Jnys[oM/?鷔Fw>AG=sW)H3,It!y5˶Q]LbV*Zmvĕ쏦 m_\} F@ͥ0,Bj)c>ȣؑSыgAckHS ᭗zS=d n<̛9`ՄrP' mg[(!EN+&NYڜʢ A;A b[]A\MKa|ȺtZr#B$AYu=b0<&h;"UW,aNگW3jJlp.w*&24M`cXLw'e;Y+_j ݑ3> MpҎ5V躖v Z$C +=3PENbx|o5<\WvuN2ȉMIl7s m X\}'㳛-j^ ?ʁGs8$XR&]b"a`OT +?O},ιǥ܈5iapfSD$V.D0o:dP:\6ZOyq\wK&5v4]\1 E)swk{,Tti h In"_8@WqKU_-OPH6[kT h 똈,%VA+;5:bmW24ۼ<6|%w w?y< ^g5ľ~q][2 0%г{~]dE3V(FmUH LX/sYö,)  ]kǟqإ.W41Wg;NvTK@yqa%'+eq^HnYwן3h~~PGj'}D8H$ɘvD̖C[ќxs}j5ro{w,xWmG$g"3zҨ1%!K4PG_Gr >)9X5kyN%Ȧ\2OJm)*5"v\/t2ӻEp/lj A ,_E{G2[)LLҤHKN7wѷF WMT$K 5~Y۬/w+q[ *Q>`Ka$~L`797T:ڡˢ,ndl!̟9) `[p˙dxc#η#a êBB_+)]mQDXy/\jh7vdmB@y aV;jt ͟ccNo F FU|ZH40e??$֗T2'ZuLNNfp%0@lny22VgIP/ėgQf~+n׸}ӌb+d\(xdzO_f8z=@* vw k R}:W2hGُ8xO*\P1]'zp lqPj3bGĈiΔlzpxcl߬ȍǹ[A8!#"oyUY/S[,b#;^Vw I9pvMxz60nz;"OiHƺ@$̨8ߌieݵ8eIE# O?f%td;ȸk.bЗb2n)V9Йh4;MSJglDc]kR/Q磘M9E cQ5fE<4i^xwyS5h^5&t%b.5~jBj O-9TAX˗WQy6-\1(ojJK V褫o[mι6귉S쐇g8c]x)솲z-ds-f'y0p m*I*G 9MX-˜gл+)-ꋬW5"4!dwFDWZ`>],0W l*SR= :J9Lً a%΅*0qcu/`V8q mK̢BurhL=r)r6) }/F$a~(c$κ,(D>!YO6+TShaZ#fQASE§M3 od9dniQr=;_orѤ~JKǐV(<hE7]nGR/6qzH51K4W;]R{hlVEBЙϊH'n|W#)խZKQtKMX?M rR% }JVVQ6 C0 C/\#%ÖD4tf=orˋK㬾Zvl`|e!:sށsX!3~ÆP̍Cɂ0JːJӄJ"c Yu.N~=hIy0 uy-CIjE(H2h6.S[D wΘ-̇1> Hl |̶q$Ĺ*j˟~5P}}'aįN'ww=zww,0KyEk_%,Ų{2֦]k%Y,Ӫ+F-&iR†#A5x=EHJW`}-R2>ITOMW(FFvCUENi!c!JZ :,E>EpLrзd`!p8v|FC&8u0hB?7 u6zz 547-A D)K b>ntí_ҀFF8|u7y:H Җy㳳f@q`q6׫ȂfC ;!e*8;ϒ")۞A@uަ  |S4ڀOW8b Dt(hKۿ!Ѕ4\2#<1fǨ%bK/4d'?v{b%^إLzWi&S3j8ftx;CxO}uoP!z?y O_΁ }GkWh~fj ;%}ŭO\}BP82> ҅'T4ҝT_Gwc$| "+Z#m\Ų 7fjܥzM{OHv8&^,VEknJ%Ŀ'oނ"[OxY, Pk(|H@ $[q)n bzՏQ02?OUyՐuh{'>g OXq846E39'rەՖ7+Z %Z'm \1=#7U7(虁G}"k7yu $qT Tm߬kRgD0qX]6T7p@GL6T8l[\W|4RegBĽ[3M̓0عKM,Bqx%۾+*W-]IIz5۷<&K:B}Vt\^#14gZ> nX}RXHw}y$T~Iĸ(= !yGs;Kh}aޯôO&TKoˀٗwQ^d‚fO'"73{6Ok}_.i/վZaZPu5FPvᖢaJuj@˚Mn`M]`=Rh1\-!<<KNXR0y_VȆ%y׾ r鎧 ms- ﰠ_cZGq,0˅|5P5ԅR;+CJ=6L_"ͺp'7oJr:l5W!ޤbW#3"M|ï4XϟqGץa{U[ I*6(V( íSEi tX+jBrB [?>2`ڱj<]5̯`70b-"W?V DUJOb42o=Եs8Xìq\ ȑ")ͣ^ l4)d ~R_bA" c\JDM#dW%8U|U M & 6-'$b9d^[e@ +PۖxHxM]MBr)mzp|(Ɉm#.-?g\4JQ_KK ѹɮDƨ8<_91 ԰2*Ǐd->؃`pY$aSq#Fm ޑN5@NlW&6tm (T(a_ >%G^J"PF1t%M$/niX MY-<Ϲr <]ޤ.u݋t4+*w %J Ϥ]w18ZSYNiYCMX01v OEJ_{S{UQ^ub` 6&#z?N&"1M](ErVT[e"t/gov\j@ȝ |&EGҥn_aF[fogmmz.4T4}oa#qȶ8zk)[Pb-=OJqeߜ!3&h)Wv.y.\ 1 gũ+ŪD^ќo?sK ytx7dVёfYs3)ph} 8KƎ»g A"ܸCՑcCWh( n*=r}Sy+\>~A+w *!{SYY(kcWpiK.F!g9c'@ZDzps瘞ʺI1ڣ Y{/g'Di[,&⥄V1Q9CF4oW>B.?PgHY bq,bnǑ*m2I~] iss偽Lie5u˙CYQk$yvJiCY\]{L|mfT f\a*b,|/VW`nem; #HIKoU6{cG?fro3f益e_X%A7S#cȕnBZߙ?.+s(SVP.kĠ3 Z7~|iڑdcu3bW䪟z\~y~KT["m DO \HeWB37UJYG ˝גA/} حN u tWo_nk11FfeB-w,JnոfzG(/EAH  |7'ٵ'ƑC_WdH A)Q uxi4ʹpM 1@Kv}"kջ-҃Dε8NDO^6ZDRB'0t-(\$xu^.l'LYܲ"T/'r]$!pPTr܀]B5v q&[R @XK]~&x- u͇hfo]D2E5f+Uh֑=MTo)&{l9UF(E푃C%򺽭~ύ"g\R y.nfeOQ_jҧ+2O$Q)Hɼlޢ<$o/jaΡyKTyj\#zGDDŢ{p ԥ0\E,Q{H'3Y͡UUY۟7ųVFFnXqB'Jx3d8~JL'FӪ}Cy2VtjfU ¯OP Mj63&I? L(? %Bm4E1FKP_M|\sZfSǎU>8si1H8Vo1U?A m0ѓ[uA::\+Pc$]*u›<47Y0,iuV2.K ,LS[;Du%V3ac{&#kꮱxZz9/4/ ti_5ϴp$ Tۈ T  :Lbx)J̬Qz[},ے&- .` Txk(&:N]A$?P;Ua 2Qŏb-W$r-̰oEaouE[ONt2Fd.q/_ 7#:ض$Tj>>I;w`3:2,UG욷;'ЪlsƖ/a(b5soYvl: dj!XO@0ߴۖZi fUXrheMu|/G-Y[E% 2@2BIi?1Lq̪[슺5 򸝿.|'K*FP_bia]+ !t35!lzs7dPٺMм ,VZ(]b2D;{ڶhF5PifGJ @Bf6LQQ"\uSzJL=Kxְ{ac8̜x#hhuQzu,sce */ ZY^JF#7U@ 畑DބX99N`s,a@3$6WmN痧sfPBMbK bxwsA4+Tʋdwкl·QWO'yƝa |koICbIlw}=90oV <{wu8E ZAe y&jr69)o\W7p[ՑqJIGHzdgrEe*~g2 Fi{tVekJ^ɢg\"7P6&]gm~W|'AI l쇁IHLC{4!VC{@&'0N U[nׯO, ~b&y%6rb"ey|9O@!&)S,0k"qvQm4o| #rCXl/d'C O^v 5ryl&wposR`-_ke}}!;OFՖ#mSǫHߴyzƏꙎH{7{O,xi9"bR(5O5 rONn^}( ΞeY4^("\H%gqǜ+FwrQ*Ck5ϋL>_m /EfTŭLclR)@NO ^Ye:pJԽ_Kʠ*7]6AЖi}u澪sWn5z\TE qq)J(٣Aq%wORzO;찥6J\ңɟPLM;RjKCջsu lFA xTX"YGtnOFRڕczF&Ӊ)K~N/nwR!ҸqdSR fd| Ҏ nٕNY̿^C7+i˭!h/G I%.kLt}=5bF&EP> z&[PjfEp.Ĵ9ޝK(}&r3QO2Y5']dz}4,T-7; eZ<`>@\#IAy:BO.-m=I(#J:&?f`$:inVW@-k^ R چaõ{){zp/ J}L^B2=|/Lqs@u\"E0$T‰p?֭x#ٯԖF8)yI6+uGN>86W^:֧v3z?Y'q(:pm]G*a{#Y)x4+M` oo| Y4bñSd/v #ߏ>v#f m1Av"\FJ-pdDsz&Z<~!0y|gƀ3/r?s,<  i<bH6ifgWۯ`~:%Qn0:߷kӻe3k*4 Bʞ#bwlow UdS]BȓsN_TS$&yDo86KYn 45ɗB"}POA.fUDp+-Uӣn SgW̢q޲^u tTW ZFZYIs-uL.*չޖCD腋5Bwξr@DߒPHB9TaU;-̠`yP% l`SQ]~w +RKe1"ڧx2.߁Z^*vScr4t@*S ڪmVbTG(iA/,"~gT!vpOT([c:`ghUzh|0TJV[ö˺ڽA&# !FRQǤ-6-W ?$s{mZw&T8);w~Ė,@rXh>)M'c)QܔL,y/Cmf",[ ,*ڻC.k52|ظyTB-4T*[0s,/KvT,*lF;t^2K2+,p96jvz7Փ-$xO 8j{R|o~Urgʭ=.Nt:`Y*6vpfѓJV3A^*YtIεJ\7_X(H1>CTVj.63B}ȨЇ={$ey'붣m!$3 U~ Qm_l!bg 8AqA>C:m%OYͱLm >o#D`?_6K-ae/ɦe$0Cw\rcl|-Aת䘢dy< LjV!p؁ikf0\p0bK-٠3)Lf{敌t^I¹%7xͫx*ϏX^譃D37Ɉ0%czXe=ii=^eeiGX B1`Wy_hS⠾1 ;7~@(aRl޳#ZF8e qa+sٺ* ̉ Џ[767ؚBgް14/0l^uՁl.(L,>U0L+^흛 1ݚz4P4hB{h}u"J#Zos[ #h%Ӊt,4<4 C5l$1.= Q?nxX B/KK> 8."XD2>Lp2$h wGA{2^%"R݆G8Zx?6(yЃ/k$d7?1~!\FMehS{|fxvh[1s?α(㟇7 H~YQE!$""?Z,ȓdk٨`B'bh p޹鴘^/C? ģ1"GjyEy_:, cΦ3VrS:q9n+;'֪A`{ê:~oAL3ħ*8Dq ה>w&xn/l^R:ߡ%\᧝=gCs0|0lis?pϾXeA#t ^څ^NԉxOrԌtŪ_UqSH1ijmf^ I(NR}:鲩cM_|@[ ٸKۺO#W,e` W+Y:˜bS63JCtȴa\iEORYޥ^U/ss@&CPVX=MZCK?'yT=|wmQבZGy!B+ǹ+sah?+=-)*]Plx719;piG31b!(_y|(_J-^칐!5p%iNc8v ՅHkA ZE3ql:Zn([k (i/_]O$fT} HBIS {%eF ?rp@HBQ%w^sWkك~²{iI*Ϲj]'q} cJH(yK!_nY ^%4Ly8+M= ]b:C%vf;yQHqǨ4F}/ENT?hRi81 w&\V!|:`*2E:>'|3'[s,Յ Z9FS6Ճ[@~C+J f?n-NZ|Ų"c@W:,k)8QX?A Lk?4~Ηzj1ؘzΙk,cW nqѫ֜pZ~\U[NL`>s([9%z {mimJ?&)(Yն65̙xfV{b%)+:Tw*Lmjp7u i69/|ˆв(pT(O+M C-(>8-V:+^,JeI-g#Wu$\5@ f~PԩRX ^jyJ@K"ÓDxWMSZp}arw3ΜzF!K{$7&!Ca@kRԭ^*kb4!xh41!$VzܛpHigck@EjV!S<kCTlC>$LQc{HNS!ԍodd"U @v=GJ'9#z|dy6=S-W"-He *t/cU (tawcT4'$#INTɾvU'XUV g\hL@4D\t0(jhYxe9-s78Bq&5DY|EQr(GhtZ农>@wFRz+ojxYo(&-7ΕKvcT*ĄQ֧4f(c9G2|dAor2و.=?*bPvb1_[&_oe,yCE x${15Cv!䌴OzY.QOVSwEzp \@'%:,{ Sj{ML&&odqT' ︙&zHR=@vUV\HdXp^J2hy͇7D@Vefa̠Yej޶^vl-0G;RCs5{o54ceU]>iyX37atxw A8o0Sy(e-z6! pB>b~<+ חŊp8 {˄~|-[fGlZv HoPNjYLDDkZd=ecgxFnBl?>d+S\{-CrǠj@|w-l+2~^eQ:QF?gBT;0n\cQLc(Ir~e B ๣i(-)!`va6h ^P}M,pU6HbzVbYƻ,~F5Nep?KԾ~~"e5o35wqo5M59h%WOљ,"[XN[ŲoI+|I4p|_(?fHW~rrnj7HOqKι7:yB3@,af/$=iMFV0bd{*s8It2glx]H}Lmz0So>Hk'(! k 2StaY9F(Y +*f3hWy%s@QJS+Ae Rp 6z74 ^W :MWԖ9Kؤɯ? /akel !2:hT AǬ)g1ҏP3<5뙗¹Jп$UI$DmèѬvSPEK_D6`m|㎌kr Lp7imƟFjn@f T/{'\ʦDocejİb7룱Sus.#)ƁMTi,ɻ5ؾB/}Mgm\DRBgQU:/f y^a3 ֝.Ŀeٍmdǐ]|(!کMhTH2kyc͇1'"I8U-zhw+*6]DWcFh&RY){M'%g%3dle%s[s"98 #$WE8*cHH\mgs󐿻_GR4Bƙ]@ffZNt cE)R?RQF2W_=M7e13&6›߃1:0ȟLE kckqz9SXoҎٶy?.8fqk15>WÂF([~D,i5GxZTTM'wk|_C(z~5S[nߌ!BwԵީozl՜7C  b*M^$:2lqNU),"(Zq#Dcvm˨ll$_%oȇrgۅ.RFv(zz@#O1wC, s۳Wd*Q=pKTI&[f 6|ܸ7eg|M}Qi pif Hhh[3m:ΐdcN$؆Ψؗ0_0iEJZYgT98ځmr*Pp{Qá.6S8CD}/y?+h z|k& hCKPLޱP>S"?Qe2U +R&V\jE8}UƏ6N1C)x0f43).~-pl aa4ЦT)|K, zU$u])5aInlnJYIG*}ɂ&U0: 2>z(m fFm{o+hݲSjO ub5Xޢb_cN.kL2TxCdURؗ֎Ily9nsCYj"Nꏩ0Xa@A ұaW9Jx@eqy!'}b*K2qplOneg^?Py-_訣VɓHpjA4Ul,~}\/k";G-g&\,4k"]bo+D TUwGCz9ƚ)O %QԾ QE>I?Zsէ \U ˶>26е9ڶP!'IJЅ, ɽnkСUTh4֠8wz:Fm:9GA=idj@XM-yc66%U>Fn;H X0q2 :mT|2 .TǑК)+1?b({y@g-d)y"ty1!.~yJcݗ~u֟@K"#ۈ o|EbZ-z4" v:@pX. $Dʼ?C%:2H |JP-5LED{=! #]~EX'u˪sv0Ł_ꉉ?;f.9a+F !wr VV=KDi|/{c},cFIŚ s xwXOr8#%&x1{^*1ycVWScp(# ZU ĞHᲓPf}] ]tW^ ;zIScZE `4(9_q$.: 25Lofbp wr =T'6N2ɔP7b7w=o[hxhG:}m|2T#1꩜H b}=q}w2h"|=0??=a7%:N*ZJQ駜Ďmz-'&썍!!9v^1pIμ2^ "9=V)#4K0J0?u!G%zJmj3tRJu.g&P wPoR 'bUn^v^.BZ=RcqoPOqoA"q6oIk,ƢD҈sΥ]|{ s*k{[lע-r(qRwy<˃-7^^̣2~O~ e:}dkJuz{v ;/)7laP+Z[h8R~3kޠё%ʪ"9rڼCZ#@ukp`rDHRNEX Gok|w x(ǯ4GC|$Dސ;D4Mz$-m]?*j 0ɠEX~`FO !`II;ΐ ֱqracZP]MR/\K WU"*PXPr⦨ C LzAQBy_!h.(#F\W[Et~}B LfkS#bTf}7Y@㈝46yi |`M޻%TED#vid 㔦ȼcvjabYqIQ7'` rM1tYN_++*KsiLYO̡Y},Kt7y7 t@~-~x/( 88֨W@wy$,W2c<$3u\d?C9t3F豩18M UwB|Ǽ8Ѡ]㭨Ko%SptLGc+'TldUg?U^qjP! h-(U=i׉^<,h+,s~cnl Xnͣ 4݈%y~ݥڤX1ǂMK{I J@ .]`x35M5:oq?OΖ^)CxQ}̘̐QAF</xqIDžZ&qW %{Ϋ7[?ˠGAܰUzUjg-(>cA|0Ө3d?^X~&ЂKB/!SW/dh80I픟d/I_\NjEґKt[/8X-*0wV FUHjWr Yq f+nD: Y:Df87z^=욚A.[W\NgM 귌n?!n胆AY*SIU)ad/XLp8Q[ݖr%З*] 1WLxS~@]<}!7sl-2i4:j0%X[a Qё+AZ %ܭLq3FE򨓔9PDs ̛DU"GQ&e5,Hg`m8aYVF05t% !6cpsQP*WDvÁ;XJȅXx_ ฏmȤ6v]+r)e(ـuz\!~PE#-ccF@bDS0vޔp&4xU: ?c:k&䈜Hri5vʖ$;̊X唈gKk7'gIo=܆ozPa-hA(b7%K?0Zʳ,0;󓛊Ѐ]W z7ɕ! 1Ҁ9VZ ݊L&R)&p{ eJ"rd^wE#)o"1>3n\} Y"8>ȳ$nbUمPsjB.(A:\ț͍O|nkAj]׀cc7o7ʫ>u#$Q%.^1YO17DjҊ5 1CkqJAlu4fmBD^/FjRom>9qOP3QUEc0mj$p?4yՅjG{G쀛[O L,aPv@vu C1giɓI *LEas+ro֣0_җQ= X'i^ 74!aִ'1rSu>49$YQEKOKiyPn3ir?l{!y q KٱV/>(z!,[=i ʅ]ߘrŝoT]9?? fvo%9jAU* X+sFBȞo:_Xrxjэ}4o2ۤ&l:f5k3vL{ JTsKA:+a 桪_4-䔘p&ؗC2[l17"Uh3p»%N|w6}IxxH`"!3p?B%mXɝPzOXnFG$k(ІC(:0'FYkiJkwu2=G r b_%h^*CV;^zEf?>cK:˳ ('hAyMaL`a03c&%:!\9P/)1P}v{zf3d<0IwG:;QLh4xAk/ˎ<]'ȗGU7 n&?_zX2> 7+5)?>=>xâOO?α @0 6뎌BBjw|sza G{ y#<q&FGӕaXR,Y^W#^]0Q[S'z:~=Ȩ}ƽG" ^K0?3LmK22lN? >&MH Ҽ5'̧ѠgB<']YK'X]9aDLiYoO떄u&,x6*|Op2W!*J>#IʰڹO5BYk.\'lC޹qu\6V؆(R-OÝ s2Ocy{&:gǿ.2`lD@c@=n`EailE6N#HcGFnBhVR"ONRNi>ZP }BDuؖ( <א r66)~vҷt-][ˣ\jv}`X>kp&ـCȌ:qgǨ$ 3^mw褠22qGiAm YC7{mz,OKHH11A9OPWvvxm9t9@b@HlMTQ P2^b~YExRōlJ+^ v4ҳyEo4 уƗd#2*j Nqf0̢ ǏOcsQNJ0KHpIVu*XX128XF%&<ôqWO/} c-dKܱ=&:&cBwG]R ½KN+dRjG-!H"# D`}h|Ml fQ0=lj,6SGZq_d"e55yM aEJE LL-jhZ40G1glEfǗݛ@Rff8mRskSP{6B lzULBA^dx/'31Шuկ'- ȸ^F!"Gŗȍ ?9Pq[JoJiI 2մx)4u3kGubXL| Y``m.Rr)HyL' .aW?οza\[O.;UV~`,]4`a0|_њ'Y/Q|T/Y 1A s 3rԓ:F!(ӛ,#qa$00 Ɗ| ;N,S5'eɛmؽ iM'jyYJ*Ͽ/]m5vaHA T9;|DBG3[^zfY:x,j(QYƖ GDӿZ(H$Q%m.6XW5֐y|pn34)"][6`+-I[6^\jV#hsrQ Ld9SZ;T{LbQH`4³į ?qrak?$B)l#,y 2(u2u|VUy(rWN@X))Ηy9Qկ^U  Y3Up@O׺]>Z*} 1c@uXF GM@#JeN,  m'Tj^xVp$1kg֝gN*Hj06 Fc*o:Qݰzdd4ez92{zb#6lImݖYkYnALb5BC_MM'Ė-[1n@`" znl!sϫ͖;s 8ғ8!ZF ~b"@[(;#ȵZ\Yu#S!| lcꦁ&w70Um{^Dbj(jJ ?wbAj2I:RԆ{-:ӷ@j0#<>N'*3[-3}ܱsߡ`tS5$\LPdװE GB \h}ҊbO 0]x?61ZI.\\t[ƕ퉴ָ.@żNw~[˙Y[Z]X}}%fvaS)Z|s5o>C !)aNJ4jo.'"hiAFXYB*p̍}f8.;Ю h@^"԰"zZV#xFgX s&<* ['uM*^ͭxA ``@)ёz 1ro^ΚR`'. 7wun<8m+B>l8d&ًY۝!*`3);XF\{ҙ0lƏ->>ɾ+L+BLpe%(Yߋ\|/"+AJA.үaS}=̞Ds0lumj@@GC0b'OgZj-bbiP G-yxm%RURŋ+_jq, #̛# <`)mBjzmBo0bֺzWixt hM/tR$F;D_h*qG0phdH&"k%=ɸSC1%$p*m#}v,TLqu0B8g*`ʚe _FJ݁xBtUaPsϲB+B5^/%s 0'PLHmŀ=м46q8`sSpL9/RaZbd̘ǻRP]4Q+/PldQhCY-854 :pSU&U4hw?iBZQ_36mBH-n/|".SuÕ+N-X-}ثYWB%Q}),pSѸ'TX$+X_QQ! Pk{ΫNY8&i|ӆH@13Epʗ%HȉT8"ReZUJ!P6+?P~;#8iDI)UΙl 빵ʉkMic!.spjd:u2(lO[lQSЄVRp DžhQ"׭v.Jq?S xSuH=́tVrV@*HLo$k׺qx*F@ju |}W 2Vnٽ8] B˩qnAN3Ik=cݟJ^ŒTS WC D+ivV }Ę=uۮ*{IWRMݭi$8r`'ʚ^g-E<[ɦ @|YHA Τ&wg8Nt 'q|#&$A lISiDՑ`zZ I0{[۳>AH&,}>Cz.z嘄:kQ$%s S[Q_l.G04GtL54s:L ֊7Sz_fߕ`ն[ELg^x?U&c$L7ߓFUn"/)ҩ}B. Ck*7Mݮw- 7>.cr7ZU?pŤqJ2.D>@I$Jw#΢Q1b=/B{Do?,j2]'=BMVxmʩoW5yPP=UE{Ϸ&k +rvCS07 "#:$h^93d,wKw!FZ%ǺNSP=zَ֩@=pO@vQdQ0.F/Jɓ0$& Fk:͏ T.a|ES.\1R$ݔ rbv%YPMS!t~K5R q5/ i~ gv9*Ȗ".+t\}VPS-H4>r!L?][gbu^HOTݝ/Kk}qs<}:ܳNg$gCÙM^kqf8]__9'shk6lvSI,&N^gżx9})EzCe +2Rt :ܕY>oiE^(yZ<) GD.XbҾQ|?jd|թWS }+`ϑӐ#'8ͅ|DZKk+5_I(?JoÆ^ A| OOwgf F*J/SxN 5,95f6%*~%@7pǞd6/3?ٱBɶl;\RwRKKvB.0HZ*RƭƊ5p_`M{HGk7ZR򨪠Q26sq%{ & =L]Zn#]h7.VպM%[a es'=VEn!B5YGͶ67D׾ "gCp'SZnFYjSÍ|ir>WZ,Y?\`@ &3@1Ȍ,&?0A~v;L~u{&P)&ܠrv}.WU"PwbK땬hҶMp>9LҬ>r0Pm,X?or?sQo0}:UUА*26vH)2FuZ GmǥHs"5Ƨ*#PRi"S*TYV}6Wa-#Kz8 %p>FrH-#0Du34f |]/ laejM)P@\ˮ:#WxSލ[P\;b̅/:X++ Mq78㘆ޛw{1i'$C/R:ӓ+1Afv` ^k"39(")1(`zxL-JL.<%zn/-(7C1vAR / !y<|.[bcU3H/rce2ĶJR}s`gSUYl0HИO-{tgMr>p`n肠F˗D52Rxr[#̴OvbdxE "N^Urz'Ʌ-ЁuhpYp491W#à@o)њVkNMf=i(6~ԓ3Ν_w4 + 0>!%z7;Y0W5r 8Svk}nn6F}7a#/'ǜ{E vGOs cbB("(Qdxj'&kRsd-U5~(`ijF8_NRL[Bw̹!\3 y/x,fh܆mVRPbFFR,n { wښsFkYVI>t?0V.,TXٞ_A3F>w{HG UKoҌE(Cn37CuFxV]'bk+-%-.T8b拊\4^ eiA-%D7.US^@%;FW;Lbo*Ռc v}?r5y_r"#V, ryFؖ΄(s؅_=>+tUHmr  ai7^@Qq- ׳.wxetEIOG+!<@q6SeKxkِs/<&ze<#Sۊ-a@@+SMCOUH@9 ^{dU(A9t  1y-T)زKʙ^l3!mɕ7ahilΙ$O0 ?mqڲhi4Kc%]~FP˅X3oA8mKmTU߄AvVkDY4֎—cTgvÑ#x9=TU]?) {3rߵG 1=& /Vhj)d8̈́XHbۦ0vbk>*L%j:Iʡp[*wadКгUXkI_iKppFL1/?.MnMf=x٠ 4q:`E,MɢwD~AWoTg@;,r/9<lz:D*M?ͬQ4%)uhk ìim)"1N2\2~Ywy_݉ޥj.▯Z"rQq03RE!͈j U} ,ĸ7 @PI)7:k Ji'AJH1Q/HgZmN'x]ArR8RaF6h}?U@*ٷ#P@*jJ;+w僦./=Kíhu%=(_f,xlaO# ~ce鴁!8jg>@V; _vAe`<-|:=J!~Z|Ë]Q$cY5/ga'Ei7U5N^NI&4fSlvS6re)tڗ-(E9Hr:I51FT6>JvЦܝ r:3&յ"!VWI ﵌uńDt\ V!0;! q&V1Ǧ4_p%,{54ܒbzZb2~ot+ F Sr;Z(eʓ')ձ,͝2f 'q0Ín$GC O`K_H<[M/$4=LU}/*6dˑe5>uIPsx;v4 ҕ<%)e/:GQä})9C|:̤s5+:L62m.x([kQ)z>b,{{i/&A-4 *waѼ A.b{ZB.!E7ڛaOz.θ h~4](1B0sOIĵo>y>xD .%)=:v*hNhP\ ³޸_a!k<Ȼ^@ŞZu S~ 4MȖDʅ!qo.hDN0_\ޫ^r"za&kƆ?\ D4x-2H~BnjC?ڣpp;b׆%Zod(E@@Qm7h9suښO@-}ҊݞendS+h$ =!T\Y&Cپh[ܳ9٥M-4\`*R!UZSkhj)`2 .ntMՃv~/Mm((or4D'RMsa~'BlNMӂ3C< `20X)ؘ(aǼs~j|BSVûo$TMO x2lXJKxD*$\ǚw4U8[!(g2ȄFGlZT[OD,֓+jWاu~m܃ u|ƸwDd(uwj,+/ڐ[|jyV;FC'5&N#&̯AWLԑ,UgA -J \3(hgʫh,E3Y=r3:o7qyh\Ikgθ|0Mw,7D䄬; 8^ױy=D9"M(F.Jb Em%\C!43Ç_`"RIr=*:i+٘6T& ^ݽ3hK89݋.hQ֞Ji W'g grtS]]Ntcu] I)H8) RCx?biie,:Ƹq"m@#w{"q"c'ʲo*Ðq{~Dvվ A )&5*r}Ew|B6Q 9ɠm`Ey .Ewxd[\D^rg(LYfv'1/A^_\ӴVq ;7b䖑pș؞Zq% JqRc u5lFoîEb`-^&_!򌰻3܍gV!9sͤO|E,55! Cۧ|<d[%썣kf%|t`_Oq -sӧپ[ܜ^u=\x xڝi H^KY xL.cYʊKalZ+0;HaO];jZGꞗr̙bIq=cשx}x'l'[Դ&EG+>fiCu@_gc[`CٞL1ӒmyFO{^/ܿHj9Ȣ\F~n7>lJ!kl͈D1>PNLDWd?xtUO_9v\'AG^gQ7BYBɤnTؕcU+u`}R)te`(E"!P O=_aEa%c1A|v6r㭐HVK/ċc|ZJxʡ›p s.B@{/%)&R|gz4T5-cQ-np;Q#OmIJ'A( pѮ΃yy=z vu} 3U-CZp{i J&: !ШQDFi9iL`ۯFΩJp0ԊǶDQj[nM;x-D^!i.Z =6~s_ @o dpلrH 'DGR*;7]$EQ>RȘmv%@+-";+5?d9NgODWGNܶ4ȌPI*<^kZ@eW\Lw*W "6 * "o:A/QKeywJLB˼K! "fǻ*:SˇJ|k)֝t$zǹ>fE!EO&;d?4Htzإ|AT*h~ nMfk#@86vktZ 3¹Тy s&sm _FC+9׭{Ct?x;Ѐ9$G|XϳDbrF3e da}ج ۼ b AnkpIي긎 1pKm[^1BjBkkk7k26l$_G^29~Jtg֟l@)Y2vV-\qԐXV5FP~)oG 6p@8ёzhLlqEȀsmprUO?2) *א[pDQ2#$N@ɠ;ms)ͧ-y#DN *²ePN]0Y_âgu+]?(xt:mCB󁅖OHYIhоnmFi pfED޶AB]O{ѤW`Ԟ-vR}T1:- .CUὴ}S op 3覻Q JwP[2'פ{PM*_K#+stU=\CnãFVNi(adt.eQ-yd!6*ѷ1'vya2:?ĈUW%.<#5@Z:^8ɺv5)~^<sgSV# sRJW!C 쫪Zt_Yΐ 0RtR$EY]2%|lo4}"nYIoXiFfR6F)xCO|,*7:07t@Wl3.OR1F*2b*Cc0S^A)^1,s]WU˼4?%g;e C.[8rrΚT%y\ 5XxO|d(7*aY0~u(f"_&ǂ1{@܋|#YsXD,Xi2[Y]0msI.8vz]"ju#"h.ox% mUňuz*>lwlR1ܙ8G_EtлH FҳDrѓu.+B<ӏ+anXU;=?[(CU$2~1v4_pwnj$3v.hGlsf<au%f!>Vłn.ZFAdc}laI(]YP$`zpec 6\|3rH8DQϟJ.R]yA3cLвh v8ytזj'PP.''MA c{h$ÿhkÞDq{xY0 !z碕%%c m`T/ Sȵegp+ҽx{>=ej)(2T `3\R dpP(u!Bv{>&V Ac8;$7[ɉ<ܺh헑lNk 1YWCV&# K׹9*RI82&Ȯ 0H4S3(fz, B`6d.IVDd'ͳSODM`ÈNY*9E,M-! fXîu^TQd݇_빃W8MT\Vk}d^sI hD *@HcGcFvRrƩ4ǠDXNd 0ɇIV؟VQ2M񇏹]W !c÷R;;BeQ bZG=wgV-[ 珸u}bSzBVdJ)v#|[#殁B^w,q A8&~v c&H<`ت>-(җ\Vڕ2!;U#Ϳ89 XWҷgmCtU}f+oUe5ZEZpii`Ce99':nӐŵj3:X}So g1#@G#תT;dzy2z/p"p۽-36|XZ9DƯvv5`/X˩|˂+]w5%v%$"EU5Bdy*t ˺m[Ij҂DCSʆ+h0+$sc(hXS_3n#jxwܗr-;,nP4i&o$IUrrΌx")fJ*+`;j(DZhPi#>E2(i fbwDOd ^6""MZ^?Lct"^!By @%I{r,}ň'4){Gwckzq$#yEl !ݦ} EلJD~C=on rSzD4Oxzj 3,#us <%C9Xh}-3 u;Y[M"ΦdāKŅmtPeAyzẌȳAƨTX].qZIxpA:ι"ᡵmrtUۻe!oZ4[U@3Txeb: >aElKNL^d՞ Ȟm}[dߊݗp 6_PX zxԧ㍷ 4 Vfъ'ȴK0ȕOu^!*p y%azwŠ'~Gﮏ!@Iq| yI8@>x n+_N¼DE("yCeDv*O@ư /5 XZ6s=OI9\ъpKN[DB^%ڂv1Cɩa{aHĵpM (cYpJɿ̕U×ԽW#BY[n#[nVg8p Z X33VvX7IK6WOa$6Pmt&G >:,tN;1N***/ F/ SH~Z c8y']&(1Su!һ>$:m@M/7NgMgU(xDϞtC @ #EN#|yQrJS2t:aR}\OR!׵p4o|8]4I hsVǗL{ G\VU*|\s򖄲.Ӽ@<.m ^+C7|UfriGA ʏg4V9 @g^5=ҝn[?e$;e(զ%$2pq{fVs+ á. m:n %_'94tJ ړW~槪D{毐5E}835 urݔ7Qx)g,d d֪(p*(/dT[" P0F(y4juÐ\x3JB ( u]MOfq+ww+lFxY#0 kJ-5 )5ݬ`dV úYP;}X!\f{#j'#Zobey hڙ|ړcS˕ k:% }ђ bW=i˦deҔ\bxT4 .g/n:7nv^L1RIŬHϿop=M/kObu&)ak%PZoₖ<N]~~- }bj}s^S14'Iq`W.ѵbw&E먴u7` G&0$"I&.̽|e1Ӻ,l_Ev- b}tσIn ,pe>2ƒ(B:xY0IOe܇)z3^DxtpNԙ.]oޟl_9rU03q [>+:C)ew 4 n5N7%ԕEDk{ki٨|B+69+ \A3) ̌eiw_eߧYlZqEACy2+7#FzC aOCnu}$k>:\=O.h4UZU@SΓVZWbDe}GaVfg[O;5?~fЄYd0deJU<2qΖWèyB ՏEcƒ(Ex *'&uݔW˕S $m!Vg6 2a,Kxk,EY&_`&:Syؼ 3޸ RUKI Hj?7Z\j2_p+8xke` *oGѾ0e6?ǣ[lArC ہOI [ajSۈ 8н|Wna_4<.8%زLbB<ExGz1KCrFY30 ױ^r]-c]vU&: 07QJ6ħqώ^'amk0#'D% _5M09U3ฯa ]UD1bbh lAnכjLX N@*~|uH'6!~jH~勔XMHS5B\MD\YdU4м [,p[ٙ:YMɿ]Qwfn\1D0}_E@ȠxnKpMJ*Xgk^6ɻʓɬn;>> E.঍/Kz,#<86oeG\ו[QYh]` 3.,[{'W(, :*AI?Zs+$^5H8ӽH^~KmTQP̳$V 濎WZМP)5 N9mK(AUG%MU Vh(0qfWu'ց nIi.(U`?g+Ca ZkK 9'^h&vߋJ)ߛQ7<ިUi #jZ8r[09-K@}:YCN%ȭn**z2l<\WWSZ_+|l5H]vuhD{H!pӦg1zR,g;z^tyJv8dx m\`n=l ,+ҧGsoemS0߄uFs.9:|Ms^gQ#^6ł^p ou&x:uiv+uc8>lڷSidbz{8(T5de@1P:#7AXbCoQIqH|(`U/1?B.E.~94pYQeyA}d勣vvAL3/!>[atą*y02\?9,(s!xF1\^Z$Mߛa G&%CNNʾ6C>jby FBb9dKFblz6~t; >9(HY&kF%5oN#?'\wZZn++`f f?b!:r֑XX@@kN!fs 䕺7SLb ٦a ?!Bb”#5`ܶ!܇s" H`Me&'|U?NJA3#~Y% <@6DuSIGqd%0H?H ',Loh}8)L@$W(VCE9{Akb)< 3)7nIRCA"Pwy T_ji2i)r}#!P'~J 7&4uYDsU dGtm#>טݏ5Ĝ9==/cNkۑYcRtPf"S8SUfZ7M76( z c*-GJONn; E e0S 昁>' QV[gܾN&ҟ"x؝pz7ĉOW"mq@~j]E L܁eԥnS,;E7iObY,-jd,pnk]~J:̻&FKD ~9El肩N$NHsO[K9 lN:b[Xm)x;>hnR wAظ6'2+KW֙ akRjKHy*]cr%~77[cqopst"0E}X>>V4؄'Rx-Oųmƻ8B)C׈6-a}>rhmK/n^^mݚFv'V*wh+%zk*a1?LX@7n܎kx\[jL,sL[S>d4R|slQA,#%GI"Cg~((0󚽹rwb3a?~;*RPD^ls[N=ڤ@C1df˺TѼ||F)MeMU{ -+:PhULk tErjHvz~6)Y@f*/=OK?4jGYI:(K.2Idy_K2K")dkq!t3[ ܳLKh\41kaލΠ $_!jTP$6ߑQJ/x*Xg$MΌ3*c ̇FK8r&U;VFfZo% ٯZ ;92wHINzqEaiddC|.xXl+FQ*HvqRZ,_$f'bHd0÷i6җ+?ӂlҔ&-9P? I.[?+ƪ60 EZ=6xF,RW\.ݩ} S_I 8:ĜqD*E{~5uC/BJ Oxe'}MM,*DgΈ,{ oU^Hgi3Mk3mn'>:JLO[m'vĭ59 3:J2 ;d DO{Hz7 kj6\ࢉv׌z#e=I3||e .<.Xk;I#Eh6e6˗eDK\ (e!+#Y.ԠҴR:݃9/&xԗ=KnQZ)_FAzQ)N1m|fƒ7=wJN%{W jOcfS"K_zrWI5MCtbتk Iw UP/tŸ̈V'FWZ[xg_02bЕLߠBL h3(-m2E(A2T6P{$aNdׂg;*0 W,šC?@-j޽YR;k 4{ܰԉaGz?rP/t_bгUrŝի07Tel ^!GW3 ǵƻ.zS}r۳*+11g  2سQˢWfU١ՅOM#I[*~'z6<ޜNmuq%' j';Gersq.2͆(AuwTYUQxYڏj7bUc8C+vή 7;h{^$CbH$0 v>.6_2 P d5-Q@J "n=APIز3 (_"xVf K/ջ=s(Rl?yR*ioQ!=Y._}}W' nΒMPa؇ccxǴ&ܵU\\%Y/WBK+흄/rb^7EsՕCByo6"D/Zwh,YGg$Gn|!}FZ>1oo\/uhQ'Bh7-qI@e5XLL i<}GqW:]N{ t CJ 8P%h5A(dMCIR~wfT:AsbhsX"騚e9bⲧ2Z0I:?Vံv}\eŠ=ʳ*/6:&?baҢIwuij$Wa}s#VGa拉9]UQvC;+*X'z˟!FS'XگczV~,9WL9fO-u-3r@ 5CM Jvw)V;VW-V@ vqDn#;P4c7 ̰R pMrzӋWc3r"* i\0Z5V4ǽd|O.{"0K%r1@Y7ԊzìIYb?-^y"!?&YA*0^F/M췄?Q)y ;;PZ:.=xIsWw֋yL\_"᷌Q44bתkHk/"JpHF+ޏ&~ D4Gh4v yzp=v%t&BE *\?U5 xzi]^fڴֆԆ'Kt)ǁcmTzOϙ܋vffQw^<1,ih*UTe]$mjr< Hxrh^w_E7n+>_$o/؟#ܞX">(o\o!BZ9pDB*r<>YQ L\{6嚿Y{I-'G՟xR@k=aջ?5_WmmkNJS~r$Z[8nu0 m lcSenG@"IgΝdy򇎤ߧT0ag3FcXR#[ߗu3&Њ0h@~\¬dBKFh30buE Eɮ×B ^&oqE@Y ,M &A  nW/X2`='5d@jϙX![CڋC=$ >Rb5e=AN@s*ZK tL.C|>4(;Ƭ'@- q;?OiU"X!ʯ8iB[zAa("o/&q1JH DkԠ `s(qhSH'.jOZ3ej\ =A߯tXGKԈ" A˰!DtuÄ&hm:l=1-ܟMe`)pBP$5|7/ؿ28NQBXBZ3[c[gNjSЧLLy3q`K1Oăc' o4os&eXsV*T_y>kpFU}d4GNch"Pe|yjT5ԉ+ #lIN)eYL2Vt;/&3 ۧcb./NtsL >͹Az۲SZ rL/%5VL<2ŲxҠ3_]Bi@ڼiXlâ/q9Sɼ8!V:/a__77Z4,sꞔKV[OwIpnuUCMa@Ϥ^rHu$hkkTO`#TJ#ݴ yyZ6p 6e8Ңxt-*rf<|?] 4z'̚X2b:XT]rυUUJ[ nOf|"2&ENHMe'E;r,[uv<ԶTJZeuwC`$'OZ nai7oo->>A3Lߥ)=17C;*)4go6/" l,W9 x~j;o< OC.PV[\eJ1AqW'X04i01d3D ?G7:WVν#Z}HLzj00$P5uӨ[ְ|?!LJ5N9\zHU$q|Dv cuK&ibO{pNg}F39A%ڋ^ 9?e5U$ER6_Jwkr- u*µZӾS1t!Ltz'5d߄ ޤ);%ng8F08JGI\DXך~g+L"9p}'3"i>vL-DEbD-m&Z7VM#{&3{: $ɳ;. (Bv9ɗ~3)Mj 3఼?9hd*F.Ds6y}jBa=7dōH\K='2W!o*m\,>h 'b6)i˗(2kU-ljU֛0diތA5L흨w~7pdZWPTVVu6x)&szzY7?'˩(k0q8MY}#g+=0U%`p7]Έ*`q 50:"]P7t ZTx 1C[xjxAXsKX#D{3v`x)cތ5}6ITg;Z^ANˬPz%4,Yt4j?_D1UEG Xc/FfM LWKYuuGq~b7kVB.kqJ}y ZGyݨ2 W9]~ˈV^(NT3""GYcoҌv o$Zo4Kp흠C]֜5Q5^ji2\EF:xjCqŠS1]".]fC8cUCu>tLk3dL71Z( z=G@aPDa& (4}j8S 4PC%[4;$œiTM1xjѳAo<ɜHj-F(moK86`н_q:E0>h{@x7e( +k"5-v2%NBx:ͳ0 rt%S@+ eIY>LQ.[=5@vKG,KsF"a tt_@PFwu)ΤSY>~$*!dMǝO?C\Bg+23/Ȯs'h=:. hܱY_GL@erl#ݏQx*i͟|: ׆rR4s`%Ip^_fZcG'R0myTS&xN9†|D[aGRe&qğdq+P΍N@y-Yؗ- @̣8Wߓk>5-tLxsU4"nRbK=(/" ʪUHG1}{J"Jc~COx%u9QKr`<4Yi`PIrq~Hg؇ݛStVq"gl][/I|]h+v 0Iθm`$d)p^.i$u&˕x8x'`*kouGl1a$iIl ®&0WA .qw{Mhu!E߀$K9-=]Sw}e;b&̨1nEh2իxt9}ш(iu5<څ2W!p(~Hmjφ=H&ERy4uo2dp?:ط w%A5zޤ\+ȴo~ eX[ffTW骛YOg3*S7 9[B -40|b\m ar(0F 2&lh61|ŭn '.52^i= xD(4F8q_ϤmNΩOEM]NAvw!#< (]<2=پ ҫ•",t'EC4ZK 5C j'>u=ter#p1*!AL%(\ѦX:RjZփY(\ڪPxdA'!6絹Q\q d7wWXP( CL`xU .Z^|YY&0..8Ԣ'K9qUO"Ӱy\3Q {GdʦM)5/vI%TIp.)['8l);U?L󉱍53b| /cڌhV=d6sqztµ(yzjj1l3E6^_oJ#W+QPof3YNPDFzړSػ|,AՖp1Uk>6^`-ۻmv m׻dNԨdԁƅY'\ [5Š|s$㤨|H9cBJM5fjS0jP.ZJm}'SKŞFs3Z0=ugj%MdPu"!&誵ϒ72k N-΁7`ur/#q'7]mÚ _*DȣCE.`¦&P[`v!xS^3(3gMa``q2y!Tp] ԅ8ʼn^tʷ{jICM0 q)7_Әw{Ht{kt%Cz zq3b©[~n\a&jh31 WGax@)ja6x]:4#!; mBKg weI,#2(́- " M JʎI@HCzȈ@&qT4!8tVpKUP^W-WEu"Ho14N7DuU/0mfxY]m^]Sli-}2vmh3|DU7=F cYeCrz}0͑ier䆇W&B j&c5,`-)sIR//1 SΌi©>)_O⎒\pVj`hqx}{:[O]6P8D9[."A%= A}=#X+!}ޅ15uyk4U wF_}W#wd$e5HOXt /mRn̾`Q; 2ah!7||j KHaK7hE)5X5K_n"iyÛ5g18]N[xGz[: LC MN*Ik<:/ƴxNQ[l83/ so 8eCcbJumTҮP!A$=Y,QSDn4׳ Ot߳OD}BI)N^"iCuHӬT-bL]˸mv1Q eg4 cNG>sϮ">K "s jtwI/m+m+V֢ `=9:/*sJŪAJL*#3w/6~E` 0BrXr$ra"P<3L*ޭ,.# qS?xʄ'V9M#lŮ}-N^'K@{q p<ǃBpP|pwq}QR3"udכcpE|6+Q# :< λ`inPN`ѹ:?.i9fq,J(C+ZެT#Y .CٜH)@ ^tmrzKeEjtJ32[;r%*+粆Z˸z&isc|N[xKà?ioBb)'LjX`rz3:/Ox^d>v/;go5gy”A4z*8o3g>/Ӊ`7EONY?aUuVF` cޔȣdk@/ԀcGɕsDzmVͭ9oO2,;S}d"T4I.20FTa.I<:۪ ˅}JA&H5j6p'i`ή&. p2\7 D|㦭NG/ IJ2r+~B-r+.Aaꂢy*e}ĿTMGwU Uu˧"G?@h&ZXz<ũp"S'Iy6.Tx4gn/6ZWy O!w..!DU̹B!♅'UJe{++uxe䯠U_.t;Imqc9& qi9DGt]j̾I޼~jҔKwoUHk=>a Uوw.صF Pc7>jVE/'Z a$x;ǘ6G̳ͣ/To!c5=nS깡 c )/6VgBfGX͔Fâl%[]BĀ6BؿJ]z<@F~ .V;g9]b.7KY#0Ohs`AeBoW"։*\^BПu};tk s?vb/-=g #άaQB2};g7 L(7B66%`!օ+d;V2w/&/%(riITA X `a"cqC0^4L.ԒD+$TދpxAs_ˋ? .>>wt%t]&&%k4Eѿ@b]4W{I-FClPFxc1 ,,EWS$AyhIы(#r2QuͣELv&`ļݮ~< $O焊:&ۣ>lk >$'w8f-5B4Kg{Lva׻aĘ9\n0\@#-0-@ EAd LZR ?=ƐѻB)V9qЄ-h[c BؐO&=-q^(hjUY^;ȔF! 3QfKД ts9?Z]ss#wF8]n *HL*h/v?;A̜(tɲV֛0*j 6y6}MzJcTa $&*U,d2GD3+sP'yÛMa p.#JS7+XiPFE0aUx\ئqo8xvm*gu^%?|mt/ntT:<#ΖʾΉjKSv#0d; yکb(AWWNG:&ƕi2vDGj$\KU}Ğ݃"լ'C.SA*l#sUs!u L]^e2zu'V+1߄VRjNge?2}nT:E"_:&wb>u]OzTAUY K%ŃD[u`!CR!Wd[\b Y^,]aCp"dx6a] nFPק;r2>='YUرǖيVWÆ9~^̻rH!wvpƓ(F8"<6ZZT~xYpCb*9 EElzG=C<aq۞ةy_Y 6y;] 9Kg >D1{MZj!A7>ĉ9! D&'tK^auJ+x,|0W,mk<abA>G-V#gɧARm_H byae&?,o~ ,1*wb/n}lAh=ˑOK4䳭oփ#{wAjTS#IKz3k&l9wu{@R d6v:L aeS i0ŪƔ) UnE-w2?uG2ZOt;,-/6  ] }hw]o2alU!b{QnjgQl;Ď2Z1"wpK1$@L9b?`ItRjIyV}?9(j8}\+MŒ-:wӐ R kR6BéƨsfЗ_nn2̐8+o+WR Z ^W^> BIR}L"~Tzw7~W$1UW:[R+,C-xyjT, g-NDjRL1Aa-;n/-eQW SVÿL|y K2۸ mԆTE7Jq An>s4*&xfAG=2!Z hCV}d{괹mE V25=u,6G&"+}^Ոv])z ϪL@rڻivFP >t019KzatDjT ԅ:M&,%]Ā@j*e`$|mW YX9W2ĀlF`E0+kSN +ؽ,I$ D0&8pwx2\7 RѢoWPoH 1F0{ı4~ +}u`rɷ! {N2%DNHjrխ98ިN 2n; j׹،yf\ N䷫jkEЅ-9Λ4o8?,E<(y^^{Q.M'x8ͱF H?t!> Nl:̕0hB]==T.6ABKBÑ$—)Bbˁ'8wNDHz Pr1WV9-AogGaG (d WX75gg \]])%uq:jCTx>`zĎڰIqL>tvD>iք'+ cκ0u:1%^AǍu78bFT"j K8w/C%s0'_.abbN.lh+ݝT /%vزp_WV:d7#e/w[ˌCY|6H]G ݱt~JkW bOС>O"i}Cw! ߿k`,Su+6I7rg\4*}*%SR0)fiݾ鸱p=ӘCY21~jC8}̝:TMY< gcW\FnF fdy& TځfD%+lyOR'D ҹ>wA#d@plL'AB"[ =V}Dɔu{3) .x9 K1q~PܜDc Gt⠬Am;CD~GnYFS7易{Š'Sn5i}T;jiުpHO Y_4cxd osZ,ˀ,2#Fhf@J M ҴPVWHMwtV[$h9wd+{15G݇$q]A(e6nzCDfQԯҟXG2 ʾώp+IM{$/4tp|K*%,ehLlM2\eF!e%-\ h^*CjF.Zѵ.8 RjgxI6!bn~irmL3 blN1m1 _E2ʓnޣٷ0 K\bo[`Gu^ ifs絬giiU{6k. >x9r/9l1-Z]v9 p{I7 Gr _lSYN*11 4N<Ǒ׃ZAO40,wt.!SubPB"u77zG\Ia%5sI ͸cc zROcq&fJmi.Y&-鱦Eԙ}:-ox]̛c{pb*R 9ގgSU4 Cs?|]${̍$MKVs_6նoPq-6X+&j(MefM4zђ4ɝ E 7@Yo=ؓxK䳂?r OTͻ#}AU9H6K)s,pN,W~Yiǩ#es[L[~T9\W-qhI[/T:F] $x'=@C(?oܟ'GMgL**uSf&dr!fegvTc c3 1QCp- hN9sRW%YwB-Lϓ]:p4Xkw{QJ7; QjV?>CSЭХr5MKP<91%4T9~1 I 0B-Lk@8dv۷؞gfmTZ%zQ\|VkfG tv޳5x^s\/Pއ%\n:|s'lЛĸ8tʹsJuMGIk,'zr| AkLy gDQQ;ﴍd RP8xax 5 i?GKv}2C;s3)XjhDXEm&pj48HG Vg\Y#rFL̷}V7)^Fr W:øc h/^1L/|RE7Ӭkl$sX (O!Fx3H ǧ[Do=լ>6yݠFjO',icC^5=@I3]ҍ:{b-mu Ɏa7Ҷ K Z+)US}Qۭ߁0+] v>wA=SJl^sÆ81C9/܈t'i}wlN%a#*]Lzx O4v1k[[5"&!_% UKJEk}`$ׁU;:$_}bK VVAK?5YQ'. Fqﵴ:Mb^QGPh6 7)Z'd$>d:I_hY\c{up1j)(l{By? FC+D/qbZNQxc Y|ͅB{8Q(iY19fӠ;xG2Ec< !N=wMZ븝}eŽɤojYe|z-*$AQ[*O *~u%~_- L-$rs^5FzitCt`~ Wx#fd”8?x3ˎRZ=D\Kҁ?q&I"!8O"&ܪQeX*":{I<4Q$]Ew,)7fj-+-c7%ӆ8eF])N&@4Xx0TL~BK]wC3t.PVqzm?TeMYKd R+U}Iyߛ'.#t1ޕf{Qyr|B<[= .3(̱L?/m5dV+2*V]BT IQ Qi?c]!'zz$V{gu?hfvvo6B>jHDvBU -8iO2 KgKv*urÝ6ٷ 2|ożR֒\K] `fp;k 1DY#`X(j6''Q4*WaFgEU0"'ZI9s2UjtSE $54kh0;dً'gZq0b>UG<t"CYr/{%ӫXKmWa=]腅X50U7vZkΛ41&vY[VۺAOUgf _3KJIl1T ֭xp0ֿ1 6HYIٙ}" @k.! wQ .J KLN\Mj!v5XyFI.}=ⅰ1bXFY*cB/eXZΈwR < m[+=ئrpvۨ2-6!+ 5/ *w:8r2Q+SE;!ɏ~83; ,#kR]D3-G.Y/ޤ1~2(؞w2Rl[4nnl{Rn$]ۉr*'l$.MUA\->?AVisб"NGcDa4`[4_q v7tf(4Dp]PI^e|~O0r*D0Za*졊6_*%9YX]%lfo=Íqmo!,t= *[a25I[yIv'ݒd̶/atjm=cN6JZ=/`tKd]AyiQ54LMjPzY!?wƘ*a"Zqٴ巘k&#@hd־{յnB7׸E%Z?X"zQ0h=chy{}lੱk)4g'7ɞ.52%Te^eB%GMߞ ).Qܮhf.Y5JldӜI|,i5iSxj=$bAHI(4]DHI1y?\ 0?-7)Mz._Me8كûΓĸx;H+=~{?Upg;BUü Xb~\wei9 %:Tqࣇ_fF j9!\n犒s .s|;!!t:ϕ9gnOuɬ2>l@d]0.ga ]&54y\t9@/3TO@̝sͣWˋpSINk3 \hj]f^]:UHkWP8x&ٛ %$_1JMm*UR|Ŗ0yج ICuAưV(0by(w(C2 "jWкDxk֟&ttq5sn*]G VOPQ&%,$T|eA ^eCgI-bܹ~]dSWJlp:zς/ʾK'_U,hU>N9=ވ:W '(H.%RNf$}BS!oS(1ᅂ(e P>Lp4RhD:1ֲ](R35bhslG'\=Ѝ=4?= _%)44%xuAo\؆=Ձ=׋̳D sj;@n:0!m `bT=Ptw *'Qf@Mte:Do!0tp-t&*$d=+SΟkJqn F߸ve@eǸNC;tzn]$"}GU^b;vLy٪9~%aIEDۓNK8cϐw"Y .򴏌`l4~ʕ/9LE&/Wdly姮?{jV=O}FJceY?[ Bkn1c6%<6b4)MiR 7Y3WNX[ax0-)X OÛ>a 5n x yjx)e7LJt1shIK0̶aTb{zA,HQ!rL;fdG-ɼ1tW\9~y?tbcp7lwg4lC:qI(osdpG{̦VL6IYg1w\hڪۅ.aUh_:~3g,|XAJ N<Π6Imm-f@V"DMhbn#)1:F'&?oi5.XzeQh]W/7LYw$ >]ʢqa4ngs|ҳtɭJn7MMUg2>*xQd{[l ڻWcKwݣ%6{{b/4s#@XT ߽i1Q h[R!Мk`)bIh@0c3oEN؀<@В=s x33Zd4d-_>.ܚ65c+2w;!! 7Y3h^y/"L:?d4LՕ?nCqq'prZjGIv zP6k9憪F!jvz#B% cdK\\~"1;O;2^y2":+Sl~L!Jix@Bi=Y J?Qڭ2twv]/'>غM3\j`="=+ Qy-irA K=6Rc@ӗY~7N덝nh")z++Pg Rρb^)- zeke1oTT/oÞA{- ;".Dp[ lm;s[bwJ@[Xq$zz/~=1BE T">^f=.@q.g寊9mvE'zDZQgUL٤ެJv |"D2\@0tKq]u]0\Wdُ|Vnߘ-$.f 7WI?|Mf4~.q[0 `w VD6C&s tadu5X0s!|Q3*l)lxw8\fMjswuf<vcqlA5:Y*[yM>W>]\_]['K}s|̉ f+.̠`!Cw5B$n q*עnhRQZ궁1\j5θ<[ɹ>=phR'H~q(J5ـ"X =.Q> % 7qGGPMYjeAշZ瓗xXjR%"33/,璞i|H;"8cpqre =S磻[/4"r9KM/ VUsvN"`3t@K)kfJ/RTx?"ANlm+#di#=[$ Ц/\:qw$#y0=J㘒ci2 :$ԇRI1 HxÏ!'*$iYA:q܆&H[-nˀss뤠oc}vmR{58ڤSmYr^|I*b<9{S"=FE>clJ;=ݷY"6K%RyT{iSRK?WZ':BW1e$_ԒlP5z+[J H9[(z|cZ+8Ej`иJ|ޛiL]R8g^,g'_‹ )iL=j^< ٓQma;̤3rN-LixN1ut;\.^DV/3y&ey꣋co6l;Tc-- 5/4 B5iu0.~]cɐBXHT*SjNrCbr+Y@_^O},@51Tt˗N7/7BZ'4 /D&}gk+Ȉ/}|t7hWWX?(^%s2K$ R8ΊĊB0j)<1Zs^FB1B[Aep=2dlqESFgtdynfZ֩I}EyB}<7ͱ7"ܤH1jO QUR8p _ ]xPڭSXcʘm!YQk}<Êx3۾o=Kh>\\"tG7*OTLR۠KOdEߩC9AuvSaތ(dGb:gN܍0Rj{Nq3(#ؚrk <1' So)E]Z@Īh@INKCj'޹6)ڠ=U~ H0Li.!)I6"PpkC0Y'z+ \zWOLjP'G,\8fyDK?H0-MV&% Bl#n{Ƹ Nv|@Kw, Fi%%漫6]M1B7*͇ux3^&]zwL@7Q=Uzc`YL=G3TE+ {}>o)b ⺲xeK =Ѿ} ̛1Vᷚ|i6Ӕ#.leCEI/4H$ qq!^`k-6}[|\A=Fʩ<N"'ceaKN\WcYum1'Z~ /&3&ky%5㶚 $LĊ+gk {??pƒ1NCsvs8֌9"pzPjB4hb?Sݜ&[ &*T/Og0n21]~20bttD\[W xz|9eA8?ӽt4wCfӴstGq",Qtu.S೎j5֐ uz/_@k4'I@6da[QQ'9>Q;SHpz\+MڋC>2yE\SDPy]b*:[@'5@p%^1Q/$@#Sc5,i5ZH#x0:@n O/]MKⱪ, mYB{At3ȎvW+EфIz}himw|JѱXQ-u8m@M*"ݩͿ!(rm;ύH`'G%mI,yӝsx$iұ΃)ς,FhH{yA,E8q{:(i²Fa%$ej fy&T^Tߏtٶ)6-lx.Ekƀ.R":Rz*ue 5K/cG/跃@c/5A?|c~ltB cӣ ȵt%ϠK%ցO_3ոdrN],mIRq!ӝ ߘ@βVfً z)? 1yj<-n&;R;eznc !r4]_.eo80m_ӓL^:sy<Ǎ<潞lڹ•9hfN<,z란k C댊9ŋvf&BʓGLXBt4F'u.Xh]N k>g  po|cr".-o0t\< ~kbvwSz_-VX3u{O?OYioqˁ\ Ar;r1VLk(SgU M 8$Dy僈|`3۪$^!dRZ ꃁZ;WiZNR1bkD3PvE,$y'Tn(Wnu98}Z.QwQj:-czN,mJ%2Tos[ J\yh9_ǚ88@:EgXP՛-l7><BXM+,ˌV2nBshߩ Vwf?d)06ڥ]zl>tV5POsE0(s٤j9r/8٠D,]r96M7{C pa~9( ~1";*eˆփR'=Wosa[goQC0zoDl+7j,: mD_Gވ8X:D,9@5 ;M2qئĽXVH6fq+J6ߤY(n OsH%fRRdSmH F("PZANW$wop/GsWO%?(T"~~Q g?,y*~(O;0J̙[ @/a@ZY5h Ucn Q"/:ؑM"oBيK  {϶h3Z8M?9pܱc3 m+L-/{oi+iÉy?Yr+ltbUWkYyBR] {Gb|eٳor ,J@SQ 柧е,fh1MjQC> )"?Ow؆5x ;-D|0*ZDe|Na)Kx܎$sY;7 >;[@R':e. T LMtcl/ Vl~w#vL`@8:6-%ދӀn-ɿeNkF ccC`sxz‹JK4@CDŽوyQ9MDbv]si8.JjV-it$Pt<5\iuPaj!Gu/0m-Lůs `ߧVs+4=p$UK{YʼweT@oJIIJ3`U?F ]b. ǹ)CŀMtk`>@4Hkt/A:ДlPE7t+=I= }zRGF-=omp?~.Wr ٢:a@GjaAli=Z<g;󪺪r$vF?7T,gQv|\+@ ?7ע߉-o]|p<_ \V<$phNlLNA6" gl"k%>ǎ:H­}w}DŽ$ u&W@<)eX{N L#dzFՖVSE2'{urexy:ڝz2s˦NYYdAO" c{/bg5 >\7a^~>(loe= qĬļ)Esߠrq|/PW;k̓Vv&K8g-FѻߛU/+6tRp9\渗gƲbhtVGR΍9&]o6GБIaw1R1G!oXHt/EgrPQ ;)z-";eS3?wiI=a茇x le~-ٓUxҜKA*܃sg;!Pcrtmե-rڅLߑ?Dk$.~=ۆېƃ#/Y̒3uݥ%BYIA}T?/6k@$ Z QO8;'m(6B0|7@jϑM9 4 @}Ff+  L rhv1kVFv.uMS*$!QQarv$nd"fԠǒ,Z~G܊A$ohmayׇNLJvMӿ@ĖU9G2X7P-u*fު=җ0Eˍ/!;2HREޛ;2Q_1r2S(XKuqjo!*8ߴm9 5f,;dc9 ҬO~y7A*D%A&LO9V_MI(cj} dSE;!2;}p"zRcV@m|0ePvxX Nt(6)oomDB>o *},fnAV4o,x>1FБjIÝVcSRg GnDVKSd%nBd[CAAlˆᆔF=y{pY]Z#o 魻~+a<v<|cqξmC+υY<Z52= dI€5x"ĥVa:qӠ`rc'( {/b_6`vb ,I"tl>PNA$nl3kZ5"fVQ jы.8aO9jx'XИ,o~Wn{bCD$zɧu(k!9Jb ȧDU>$qPhRMjMYк@ط3}]";@0ţ̉o͞x&/c~wJ+6[-ewLҽ67;r+6=o6mnr/@pA$t a2c;^U*K"es8#nU=zGNt.M{Ǡ)+ %\a:0̈@>75RMn08Hu1)<Fqk(?&V$>ħ=7:¶kcox?*ۅ}pց {2G< d MjfGeqSZ%#'>:" WAvwx\tt+<.EݛqNnw(܆=`/7!b^7%ЪbH$;ofܒ_'J{lW.?/td%TgN<)B),H(qeЃzMc bk~r"/MX0pOԽF$hEǥ %0tT֑"¡U٢r5rav>a_rh{Ir﷜ݬ(ak Z2&ZNKin\jC3qR[[F- EEV̀*w /R%!/G*MƔ)!OOMGO3ћ!D0|+U_ld{=g9m&:#j(>p'f-?w^*4l ig wn,aΗa\vi T&PO%J QuB 6 TUy`bKo&M!d>.p y7?#sc< s//"bԍ 9~ וCCi!3lSc y"616.,]32T=W4 =3"Hx76;.n{5 "l^(=n= i۔DP| cD1ϭDWNj-V/Tq7m7>og!uD'P̉rS;E  c5><6_dy"8EOS,p,L;7dyc8FܕTSAYs{3? u LIXrzڋp柑EׄcY2PІGsBu7>eU*O#j$775\ŀV7OJ]m O U\`:}S5 ]ؤgɴvZ8Új>Wx]uIW:9h6/ b׏5Ih C6 {rR'O;J@Oz-S<\n ad ђ_V2r=; u#tA3? 2)j[e@2ytqqD2B1sʉHu=aCzH1=ifԚ'a&)edq&Q~#⥝XQ/WɎgZ@Ϭ4e^%&V}qjbA } uͶ y-;Sf}{bDTVxlŖ#͎sqYH{؆O%P)#)]  u՚ʗ5ypM=d~}#g\v@m6<4J7}V",쟜~Cҽln.<-WJ=AEt=Y!GZ}M[lN^;,̍ޑ}i¨ h{nr Y=ma:VdhJ6?&+#8)0Eucz'oBP}x d,kb09Bǹ&@wJ_2dA>FTNI]nbH|Ce~r0)*P2=kf ,vs?O/pߖJ #`:((&V9PZc mhJ\&^*%kUVD>o:JȰ=3>VTK{M8̕98I84hA;wTYθ=BK9-ǑirDLO55y>4ΥD梫]Bj+G5p&ykJ4|Vaeˏ)#=##6~|wGChP& fy΃T]YrC>|[DYW#jZ^Iwlpf\0V8< K@њ n):Tsr;8ivQ@ތG2mdT_ڈO}kdzf"Xr,F԰ 05;4-/L o1KE ʢ]:,d=0i$Z]CҝmB #.; x #9V( D:m5MdzZ I;eekx.Tlp +x/[VL;BN߰=x^ FL +p%h4UJ@[`΃39$&>%~q"72oGkYf3ǯ!ӂ?wK)b@R-%v >7T #kh`lyT.*?CKɡ{1^*W]r𲦠RXӸqjNtD5)׭E #Yj3&СĄMsg^=r|okB*.Vb{ʺҿ _K7އ71"0\ lNRE5y.ю!C5URC"II\*5BHaf`|kZ!P+Sz,~骻tڑ d],C%~~d+惍"&,E bdNX1lUD tKDͰE˳Tb^c͌{M]d @kli,&QN1 o+2o# rv֛M\ίhx?D>f1I\teu e?AzIBԱJŷ җri٬3 ӵ>v2ڑrr u 6Y턉l.aUkby{8Su_i($v4/e+4.+QS^&hb^Wt$Ya1.1%$ eNυCIɃg9+ ]Q@+gDiwZ͒CQ|*Ʉ%+ֽnn 7Ltpti^Jk'G1!kto[m8fO%ti0_Qɑ}]#J?6 hB6>Zj`@N׽]ZM9{mпK?o<GB\^xۇPoGL(| ]u2@%N7VX#4`_.˕:du,r5X'Qt,>DugxV ]`k~?kO( y`dA%^|^57,aḿ} ֍$'QxŬFƇs頥OFYHs$zȁlݖֆ%a~x-CDȼUTHvX뮨+"p Oe6RxDұFUP]<]ù2H6R=.(B) `n Sаe6ZpDk Y5OuW\x3wڍ._Cš[(CR1th6IwMTnqr){Pш$T;^0ckIrY_*k/]}~]l>i48"ּcDʊQt񝉸]'0PzBڰi6xﯩѽ 7? i3}x$,u!1 ^m ֞ˢ(Lvڨ5oh,2f\QC yV{Kx cN[¥\\n.lTsKt6 6qx[wwh;6u+t,g# 'KbZSyԊD)oBA}`y&Ia5L*ܞn 8fɤ]]„-x%bݚ.ܸj,3p9i-I//8͎T_U+|UOZ9b\jީ8XVwxF;q ԥP 5$Ȁ.[1mWkV]od5QT#N rKYrӠ{&]R_IЕތ x6? }=0'?,_ȁ$šٸiBkvO>1偔_6SWGqDG'~,ӐE@sdo+rBPJgx+[%Cݝ(XkثŇ+g/I?z,Om,td: l0fq,-:sKQjp ?n9[o(޹F" tevL b8TX?ä-! ᮱FҢ?]!P5/>K أ3)tw?klU5:_vm#buuS[8=mpowd'\Z4s:%gCR@g/Ӗ"3kc6f+ ?CsX4TgXYU@ G`CB'#9Ta*l"f]HsFm#?l+zh-ĥ= iu[&}!aꀯ(K+Hk>Pm[‰oB ՞kP}!$;Ͽ]~%YzYeHeba/ 2j)ջŸ6Wy9#(I(]z3@a54IAb2PvUI Zu2y"HFZGX@k/s~߰0Mk< 4zQZC ^E4KCƎ)^ X䧕lYh=D7g*|XFqwZIJR'a>hJ(Mg~te)AhɺG۔vաb˩(0Rʕx)y& ]:!BTD\A Lr,'gxD" nT]#(R\ՑtN̛J"^NYPS-K`|s\)(-"Fapɍ{ z4:quW,LL#Q{ nLf+KέҥAufJ2"=d{3z[93mJ3gY# (!@@4,VJ)i KxWZ3S,^j'v3 Iݬ~mCۭ6l;(^T|,DC3 3}2u'簃cEi}A`*_#B&EG]Bp%D⬭`b:תjaӋ2|$i~ǹW<}ΫN+Z}]oE+:!JHu^]cE0ul ?D=1RdB|)"0skhXx+0/p&v+-EІWރ|m{MrD pcRfc8huu3:gYאk toX~UFJ%s)Ds}B&!z iYe{rH L;7XRYk~)8*Pk;9.ɷhK2J_SMDjAΒ^:6qNbۑĨn'RM.>(i#Q+,KD@cueܷm$ݺuBR民`Md)VlH1C];qAftīec\TDmƽAGw 7SPFʟh z=] ma Yh!_|^}_DRh97e7>8g^OUJ\jl"$xq ql23o?-,'O1{(Sj,RopͪtuDpazjkT1=w)Nw 2lœ? oPG XD}+-rTM$iz@t,Ueࣿ'L X]P"f!MBpA- 4X5́ 7e]OfߣoxſR" JLmF]@f@z PiJ2-OZ=m\yMH_5oYWgl.'çz˃a i}6o5^)4n wW?H_]. \N  vja&F;G?gI786Qp[i5 7 [;C3҇\0]K BȔ .r\sW DvEo`9e :-i\(I{R&9?i5O~S,s ͳ܍L/_5\Oe O>{ }AuӾ Lq$RmA"q4gWXEyV,FX9磍6)_LrMxNaHqNR?c!21ȸ'UUa5*\̎ ñD%ޞ-(l`B0i,w;PpP(<?؈VlM3\4*8 RZ}u]·b#T~t e,=Yנ)'% 8Gqap4N l1 ĄAz9~.Rfu/'ސInj] гz uWkIqh1\D9Ɉ84 3LxpN v$TlvcA#c:C`zldi{4T-|G VJWhM(AP˲N\T:8; dU$!aKlZ g<ƀ9A ~V|)ZS;ޟмyeF Pr:J Ϙ(g:h5vc7Al1V>fm -{_eڨV$V”T fST!77_NPr5;H4ʗ9btThr+ׄg#">[;D^/G1c,gvQھAi'$xQ CxjDd PIhk[j_r2qY_Jц}ytpǥM a?g!eKfOUŇ1u^{xz](=B*X0 6EhC;duRpyDP9Vu7 {];`oޛZo/Z_ȂqN `C"@4EpKBqNM+{UPZDTzːmq|lv'f?J[}3iTHw5~Z\퐫W( :'dk$gyTn̓aT[l zn`\@A \4gwg@]б쌀%x*s .!f@~w4/Z?O;hUZpmTassEJdYzNL}IR'Wz~2}O'>09_8~H:BPNTnȘFŷct_%>hxi!MhYh 5:nw5P5kٹ2匎~3sG<@:'w,\NH/R]r1s>0nkXu_~jP}0.DwF x_?LރY_E@eJ:jdRr9b/39h8zȣ@J'a6hz{ǂewn)Ǎ-wNa/K|Ԝ[>sf3C>@b C̔`prf؉FDh,>)jY"I}s.86"QRxZva?)T#bn#opp= {)JDH--dnj9#i4m7vÕ7Xհ=ߴYސ6@s[ So] fuKP+7Z7YWj:[ivlG3jڸ_ Pbn/t4W9Ӵ$x-VQxKd^-]^?DYPp vvX Vs4tcۆ?JeV`=mO@ V!쑸fcBo!0>oTUrt1qĶ;UK~@ϝNJpsy? ar_oZj%Kđv K75+TJ10,Е<hbOq R'Hwfs[;fo4&qrGf Dh]q\q,:*p*M8XFq X[aj):LwDg8B!f4{ϱFO)s|6ii\\YE;P>\"t.R>Rlz/4 ,8,<> ;9" A]zt5O\@T2Db3 Eװ(c\ Jx O< Y;S!o1uRVq9=ifl;#|wOveߐ/oZLo^f&#lh }J߰BKl *59Yk~|F\ ,gAxRfVVNFp9OMiE [>+KyMkkJ6BK"9,[Me0XD\&u/p{IANQ-y:ѩPCYd6$Ȋ}/ꙿ?PY > +qD\ZCm 5zE! 8m(U C#'GwtltTHh-ƶ fx&BH|NG~%OG:(Br*h0JI?l<)|UrqH >;N)&2g _)kq> TP9@_t7["j#7hLOƛd`m@Up:S 0TFoѦ*ń h~/_j7Mƪ ɨ6}lzN **o`EgaJ(`#E.PtHS17@^)[Fd%1^WbA0go09:ץU/JA>oa8.F5yK&M}@\ yD"f[&:T#c[AfG~;n!C acR8 :Na7rԀ @*f>W}@ exkԼyiZ0H+iJw|+YJÛ§=!f>faޚ{V6jT[ߘX6?#r'Mm˝qC!&x^:R1gLlr?-VG} Xw/ˇv+\ueiIxY͡J' OANo+|\I3 ^DA̚h3mR#o4WЍ-59;dh3]SPi7m9g6 a(p J]wh˱:7Wm$.cHKi6%)JYLL-P}W2A1vJ4x>.]LY|Ʃ!!Z㦆E_o$Ob/46Mj2ڏ*&ejp3 ;yȘ\\- A"-oxm2 =$n:8![/t(}= CەXQ@Ewɍs>K~àMך h9>iߤS",}[K|#7`Y |=FC1ayyc/n͞i0`:Y8d^kyILt6I=5.~ Xr } IRυ6ǗIo I bxY Gsf=K@L7Bb$G/&$`>:.aƐ)@ĺ^_6R9$7"i45n`n\9´4:9e|?c^ ^M7`*^Ӄ:q Q{~`:81>4Jk(;(6/Ӏ*½(S}zB_#"1 t# }Ydwq{ZlR/W=ΛJ/kͿbhZWz>baJ I{%HgPKzzP_b1YJV3$4޾֭ix%SslVi 蔾IոL}pKv:iv9q a+g)BjjcLC˕::4n9eRWI-Q"(&ʧ5Q`2A):DB`(cҬz]'2;{r\/u\ 0r>͇,'ydNLɮz|/{$+|WVW&Ԋc+&U=P{*O}# Y$ϥˬB.1LlWIdH@6l1b0EL3p$MaeO+dvI!nZI4c7(#/O]Dv ".\lI[Z8Q 1}ͨ57޳nA{&wB|IKZ&ɽJDQ"f(a"^Һ6nVtY_XtPCl>葟"s4Y$y y1(*m(v$!Hfg^|0'pRA;|h;`y--KݥB;yF쁍0SPՠ*@vI}1ol Hjg,Lhuo_{|2AÞ"vxp@jfp9<`f^—Mi@}WF: ֠UXw "OZt*- l$ہo?B2?PM1T2VD,BLx X"Ҭ?4LS> |k$)SH\$~ab|Y3;7biNX&Bm]{cy^wɄ R$}?jR^S!mOJYd%ob.rGbLQ>W60 ;*;},OW5jAVڙx XV=6p%^bl%%4qH&X>,!ZJ w%TeO4 kzMĕ|D5Rަf׾g]E1ԾO` >F7,V1!Tɲi$3bA~ {5a$rE7 `[¹G]*C`uļ}fhrMpo>gĝcDUTֳygLo+\ZS Pb0,kw_ע|\Gn H9z#>o:{V3gٜsa=vw(Qp"@&TS8}\cWf-1@Գ+l,?w*X 6)~!iF*sszj^ .T-clurhoO0b ?)B$gn1EB0P ~Y:+ɐ=3 yDe2G>CoT"l{Dt/α2Ls[>Q>=i,fkݡWᶲ^>ӊA<-%RVi7זi)jU&70p/`9KO$,@J=^GQmuPڮȰ^I `"RJ84DrXΠ6=}|E?m~ u1 qD1g.&Q}wO.b`Ds\iƕ` U)^0V[0qcqHck}z_ ]uQ0l&i.?yKlI}r_}  R՘j]q;DQE&Gy? }|3Nr_10i%U5-:W HdH#duEٌ~9'Kve̞tyzHgdhjOUA'A˵V-+wwHV=^ӹVdIZj*#F ŸIMոl&pMi*|22=N< L(P>@I[@8t@F׾2_t0>uG`Xn,!1?h0wOE5爅3hv^)/$9B9OQW`"3qiKV $|SN߬?yKLjP*J>KHCbZ4ɀ,BHDSq 0UG9H[rH bYs2ai 4g|Y9|]ZNQ=chNtˇgx{LaP0WNPW&~k#\~0p[jQ_ ţ:H[)ܡ E=RĉdA4#wTĿ&SZH"9$iPϋ=4;&nSi =!Tg]X-.JvON"2ҏ 04|Z`C%;p٭(t. hj ]YB>, Z d蝩BA*>f@0˸4sl?u;sLvmyiX30~،\lA }V03˧ qh׏mZs |A#{#uwzw*}ŻvGC2hn1 ўwbbۣW#J䍈]Д{4eS94jxFTw^V1A{7?j^i^P#f- A@X2v*9Dܻ%1c0ٔxS+zh~n]u?c&H*bJB|0]?Cԏ@ʘ{`Y{ e&?MTRb"dYY%2.AZWdu2; VJ*9YaT5$ C06=;\1bl8]L?]E |h}jZ559ԑ X"Bg8cf Q*nyp NC-5}5ECGjlL^͹=r 8T-X_Z-M iT!i, |g|U3挊S|1V/Wh>lZ3bK zXIU[^![wf25 mQ[FPcNgSX"æ]7; 'AlĆJj#tnUwΔ}sAPVMrm,G áELN끡LJACgamDπOPGr9% iôpX̼a~ȧ~h '&'$h"6/N/ AX@x͹[y`K;HrB,oNRM [~Bj C8d!moگ('ȑ\k1Rqܥ $dα>*R,ءzW9[Jz\a1x3)_~WV-V_ C'̥*Ξxe[RP9IR[v+SyղWBk&`xesr3UÝ ,Iz D_CofMeKߔo=# hȪ[$8/kQ%ȱ IFGИRAW ai*xFKu71L!o\ ca$W ]C54e' v?])mG쑋S1<75ϑz, 3I"j,9H8&h9-{ê =C'B8W>lB!ɧQ=[-|~ x&tLJ?N,,!w|}t : ::j:=c$q˴~ϼf] N@x}‡cD6meG|V:*fW( !Qol!ݸn #ؽ %GAվR&lݪ 6)" Bs.G’G 0&JUɆG wrd36}9UዕLA—Rڣ(à fG-!PH }#';>.9&luT\>a`O|=: 7aVNbT uVgac y؎%d<> -^1՞m0Ym{ *ؖ{q3SUH[ߎflщP*²y+mߧU[1o^;ɹθ@kEO¦-kJQ&! +@MvR>hٴ]Ő~0)z"n aNa_v 2TL)޹G+@+۫LVa|yJ [? ov.f<>ppLᑎhZU{=rfι9;c>TB\}ֺ9 \7#O\Yj23q ot@5{'Ms4+$S"OK( Q|7G"jz病ﭣV!VJXn0Yq`ՋH'mm8gW|waq(erJ9hĊR qUE>27ӜM'pn0k !Vh"ʶF %2uM#3̘zax=\K-Rp| biD$1^p=c޻wgpHl_0>;:׋nEכpMɱ*Dyn5wMOe9{?BcN]%KylA 9/WAM<}tYPܔRIS\Tw;XG:!} LP43nGoZWޮP'`ùJ\wlhbH{14 {g~M":ɭpXnE-fq@g9We+2L`dzofW<:G>_'YRU}5?)__ rަJvj\py%8 ʢ$wp`ʀ'RJ1(| 59/V7w Z>t1M_1L/a֧ս=|R32/|{}sK=sT(}[GQ ™Q2V(D5S[Xx4Oo@#DU5nkPh[ 2pxWg2{oyѭ}H9PȬo4qpq}P:BWvlM,[k'`w9 |m3GJEIsЊR \@,m!vNq.P鞖E/kq?詙H`bn[M6O x+a2ȃ|3&Zst\&ѐ}M$CvdhxcHh{x =u  3f&w40n~h]DlUy/~$WqkkFls%r6/<ϊrp9>{EݳlSqpNVnS$l1X)(6onH?9yIbP(,@ AG K8 KjšV9!'YTWfTR.صbÎN6%uؑᙛC ݅p'5_Ĵw|}myÔ<E#I3 Z8KvCN 3 2_Zirp Hyp}j:MX"5c(%*_B`2䎜qd؂,)4J fv$5@,1DXL"u[Y;chO 9RUȌC4%8_6T&(G."a749sJ:54(a@6D?<+ا),&Mߐ$D8^_F|:@xo*1Q%>W."q$ΓΓbFCb%*nr># KS݆aAnN V]զhd|5- !*azoVf";#f eh g6I)Gb}@ z]i^}[e.)g:{G(7i H-{nzbLRϓà ߜJV}ME]xKu:%MI! UC\D.o6ї}N*ݭh7[#U4h4ԋ4rL/rze"ɑ)#1 p}!8{緟v^Q^vʛ25TQ|E#>euF%mD#͔ eR^f,$ڹQVwrXUj|mT 1~11zmt6j>Fw/~uȴ~U=W.(ȑ>6b `@sl 0}lU!Fwd8*pPW[YD=ch=\.HgJMZgKOb&tĕ Yba>{8bQc]Si=#SB3mCC1yHw`& <~{cjz#i `L䢤Wmy ۱ nř7TM$Y/u nـR˛r `lYDɎwQnbB@HTc+nL.I>*E3XurbJ緟n+=޺CAn_#yoҷps<|M?+=|z<^j  Nv.+~צ jvtkOtr{ 0T~M^RwIf³wBFEfGj9zT |>q5&L`=M"K5nFU]I!0lK7B=a<3,_? Wq0M 9?(UHB%),We*ƺdZj^bG4F( ,:ýu8ZI.bDӛp\)ďի㽅HY6m;xh$ <DžS (2Wp*ܮ{EZ xèD-]qkL-9wAm*m\^Gn3qo=a.5]Oeok`f?Rq?R fz0GCd /=׌e2}DO]3P]M=!17XmE҆^=1dce<ÖzFلPy䲭 ֘Eȩ!``;RkX§&W|p6ܖ.[jZuo'2C)SjOR4^l/DKM%e)GY F e7V 2~Y#{ReR d6å;ќTB?Ql&w'U&ߤP=be\+-)͢W$@sҴI>mf05q(:r"]?`}Ė+R{*x'XA7v3A_YOOѿEO$n,lA $fQ*b3og=гv#Mݟ_Wc'1iIƖؖE)'ZgLD i:QY(3Γϰ-S,{kb*{â%dWMY○lOΗĢ>$ʞ`0UM=|jHo 21u9Myd#a^vtG>@E ^zǙZۡxz@7c"ZWwP0CeiD-$)θՒ ?u`UCJCQj2\cHKzt6Ӊ }pn4(bF }-Ԭjt\Nӱ8K!߇=p$Ѻe6bɗ{/mxL,Gn~g/PvAW@FâqDt5ʛk&1GHjh¼nuWm=iFqDQ:>tH2JB30}1W% fMBc8"P!7SQn +BEQj,4 3nJI&AU01șAa<:є&Ua'~BH1V.{=.H|r8WPCRgY2WfQ.[dJMAgn 6=58+ę,fxElT\;z-ė4 '`|6\qՅN})ju_3>l1D3ËK}0z pK{"9dِ'/QU,05wLմxpCqAwG!۲,5s>//:cE\ſ(”xU!D:/k>\`#mXZ\O&X|+-x@wv7+qՊN=`ɪ/!{iYz_~%L+Nꍩt_ϲkJb0HuC~qn Z~ilʒKq,G8@4;XewLDooM˷mͼ.ϏDY4 ùw)8hW9zMyŀP_. 1ҋ^ S&Em z&]}ͩ!KеLp@g@}ꡲKk' .ю|; W6F1֟% Z-p}\Y1C$Hd:2B['_R`J.8ۼIT㓙t4ŢYuqkOZױ3?oc]c-\6+n#bOҮ­ &]ZFl?Udr )|w' @Zqe hlq7EPfH7z>SH>ukOMD5M4kqhaXЈh J6ոTJd-#hr5 ̓cj2σxot}&ק=~G:+]`4Ӌ :2.64xcf 2ݠ}Zqwlsn"NnMYh|& Ϻګ =IwI8Gk$yOr +-7cv ө1(J؇kntD6qawqthmuWpxADb-9\&m|s_.&~k&"͕BҹsuF{x4˾_lq${9.0hr{.l:+{&$ 'M$u*`Lmo\D3-qFT&GژC gV&,c 5 ˀ}Si^fJj_S8,P^9%[_t+5!0ko#Ӻ)hVVzW~>oH1%/}0#/ ҅1!t0v'Aj3&'d/|+{":* 0\C\C8|z9oc/j=|\KQW,_8"Pk0BE+Vc>iϛtZP"|=S@f){whыfR0Co$n@Z/r:D`eT/I_ZZZӔUɡqp׫^: 'W)B0֍ 2(kWy RW?۶HJbQ:TQj2I&ZYu(XW4SDEtp;i)X?#,scM2@I;!SNޢ^|$ ez?%$dٙ榲c$ Bp].Td |˂m o=h^ bbRy%R# Uypb9L>87baEuErCuX%$/ypβU?2Ô 75lKd&yoh,Dn98j*,16 ݚ]l=Xȹ=o:UHX=w+bW}Ll].qׂU,ּl.9TFm]68X4QVSE7Tvb~tRfo!7(#v6,"CKY8y3S?,C{lkbkyko͏WZWO"ȽQ9Ϛԩ%B8e Hs w4Sb8_ܞ̐X6q/A)yˬ`@o yd~1ʀk<辷;I=Z'R5p0{f XIߊ;V誨^X {v~A&~8g5Pݟɱ8x (_#a}o^I /cp-]{ʍ 9GL?Zn.՛V [%`3Z͗8K0Na`WI< O26;##G<ڣdqwut{OC,oʕRlK{96PdsvٛPk^Nn bV2k1VKta:OYI Gi@ˀhx`T%O[>9 cHŹsMdB `FB v!_,7r*i).2E4M֬ځ/֯#nȶy)'^ tagՓş :B)E'O9S}<9tHcvAwԾ*OKqsu|n,K=JcJܢub`SϮD ޔ?5$S 'TMZbvtnNT ' \Mbl)-L[VGpm!6RX)iF4؈Bl̈́Xa qT:I=lPƾI!T{pMqTx+Ӷ5`1%GHF U'61~k9֫" w6`T0NdȏAl BQywSn| fgѠ.J|'ߏwlކIqGr(v߃C:/Yjk0>Ì53t+C3Iƙ=RHSptM>?q#l5#ExDU04ڵ>O-Z$QY I^j.DW; 0. C>?>r ARi@5Jf4q D;Te̿+O="q|d?ʢꬤ&lGLRS,5cC ,EnA+B~>ϚCu1)a &w6oWq'YØ:308̂]G(o̴eQj0h~jL E‰?v|0I=ZvJˉ}D BR4IvWoa9[:):);Ri(Nȱ`i叩uxGpg53pK 3x ܢf[- "ǩS):Q2% w߲^!EipM盦pJlЗ 5 y56okVH@TV$gJsAv5DٚaL0m2B:@b}렅ϳ =M/fGH= \Zf2 O_ӘmHp> y%YuTtl0>kċtD6+bWF' >Evq>g8VAA SsC`7;K6.5D|nA9jl얮],8/XNa57Wh}|[;F1]gwԎa@@v%E;xmy0)菚 vN(*.gX0loEWT^RHj*y0=cO %A+rWjhӫX(!0P cX+'ħDsn 7(Cܮ8tw&6NVt8b~icS;>y%[BAi:"Deiom<[G38[v]Cn+ ů~"6H̄_OBzB\kU`$EX ZP\v`WhGo6B)׵rZ"l^`:O^f "هi)O,  7? 0Z%vIcGk)g5PS;b.H)Hn]NFޭ>a5f R/eK(Ik5,t n'|?[s.!qK"WJ>u'Q JPZt ~D9kD(]bMn>\!HAQ{c=x.iDFZ+5T-Y2=LX]-gof54CR΂뀾 5]9eJ;ʋN Dnō |kqz1o'#?7%i^uۣ=o'P<,6C3r96dZ)j û,?X T=3![7CV|ČÍ5>L?Vе|y{I_l>UB#8:A&E?V"U͚ë N ds뺒rW^2[Y^rVslCgŷo~]7␇嶕 ۂu+pa ?<u/>4;Y\L?/P_HN3wfu{燜}"W3}N[a4C^c-!UnyHna Xa̔ǖy~xptunNlsK#Y,IΫػDh)tAx Aԧt fc<;ON=e/ r9+n$ÓAlNi%oL->&op@x*Q/v.z-m9߮h-$6Cx+-p݉{KNd{hg}rV]G.eAd;N.(6C-* [N;3ĖA*30iUÀVXZXbvvBČz]87ʗ2u[Ÿ? l^u-Tyw7]jO I,fELIj؝PXJH1>UhdDM]~϶Ip|j|x:e³`,qiYYhTwSr^X9,z [eV ^ ^r}AuSS30!\cu;=| $$yh[i+taҘ#Z4RZ?oFbms.TW@l鋎dW9ec0EC|y/ǕОMJD6Ǥ<_& I.QexQiHz͍[0UǙDsP?~ =]$<5sD+G/dҺY9aͱZ'_LB#a;L̽Z\GH|NM sH:m-c uĀtxu]@G=I%]Q8Zej~]ۘRnБ+!-껈ݎOӤ$iZ%Q*,k^ +LK 5sc(}ٶ`;Yȵnu 4Z+u|!Vz\~`290uVVCݔ"6&%C.wZ"Bwg';t T\8q\v\Z'.9^5#]o8+a3rY9.ߑ1ZOKɏ uT(&%q_0TؔY'\fn)R31wNMN,S`}.'7 Qf Xt2 "a$ۘD)hO#|Lfj Q-`e ͵}ȤܸC]GAWrqO`NQ1p se/eN%U"1ש&!5XRf5 esny  Qi{B%`n;̰s2Ng v\`i5.fp "QT5B<|V3H7"aêIm *ϔUE*ۿΛ7ɂV x!j]']ksfy1E\BVܰ__C=!;tȂЈtN<+ ݃c{do*e^&j,$,fe,jIjZ<:eD\=y2~Nۻ=jw5/UҶNo6Wx7jB&Ȅ</ƁZa]r,PW\5&y{bRʣ(J%@Ɯͪ(9zԖAU{:ԣt)"{h?k4vu깍md7e_2՟ pH!GJzi*Ǣ}NlEiP5y lԯBτ;p !,d=ުfX=m?u3 ve4[Ol,q˿UOj[˳bYL,Φ57' nL=HZXج#"dN!bX0-rKa -Ac''nXfm•[/BnTDEj?*_r$懡L@yAE$Bq9tWK: ԷXQxg=Oˏ;k}Eo1%qPV#b5*6膄[Œ)ƨNp@ioa2νp1ٺ~(ͼggD㫤$bM%9eKfMjTff%O/7$^/J&R]e:~-s)>d B[L:`@^4ofi#^H_.q`(BY61o^&usmdΌBz~Ҙ{& ;Ȩ _'±J8rH'$5 p o5{.\HZ)AVc,=lM)vZ2≔ :r0紨7f " f1 zL{:z~Vu]nh2~>5gj*i# #~kGCtコ0LuP=B^buN4ZD:PPZ'B'}я:0\K‚zOFa53w\ F|I<:Ja7LiVJi-oCo,ޒj-~aY {_qH@iRSa05~䗸Xkmaq;9&苻}99Q!;)9Ճs+*XJF_'5qÎ?ί1I\ld,<(X;]}(M-`ŕ#D͒ZN'*OYM,KoBj3^P !`s.ѿ4{ɱUԳZvS0cŷX3l,C ў.c`\_lOBZJum۱$Se;kC]5K~V:}79:w;iN?U@\<~p,U4;T:hJ&тE?!J)P!]0itZBmggam'gq}r^ї֖bnDL$e7s~`i fXoAau"/dQh"FYu+}O [;%U;XF[6ZcOW0>=\ۋkQC9}{';T ˔" JTD?{\Gu99cF&~Hu, ayS {b 2ib{5u owJ6‰~\bWU%&5u{GSUbyT` ̊e:׼m>!G$6‚*BkW8AMM®}6pb@W7`$-lh6|L5VWm_Ӕo izjpkiu7I~|(hP9 O)7\8/ ZݽˍUFeZ׍ֳ>+!ччU>q 0srL qH^Nv9%jð2PnI㊽Nҳj݆v}}|@reuP2QfdR0 mJqz!duHk(3266kDNC'0Ҩ!ۆE߲?:$ @e/m@ LBv22]ӂ+aշ氁^%RjtQz3h߾ b ZaM}+$~C]9"-an2=wMc916PWY W?]|8#yU׷ɕN`r>ռs qF\F` ڃCU8?rY=S; eqD5b&V oG̬*5HEy'_ϴ?ᆪF;kcڢmW!zD R7J90}h̀!ʝ_FY5i.fndfm 9f,`WmeހDE']bm;j֫ ĆĶh U{_*>5-q'UP4f9/6cU160CSx/Q8FG,? H'`=^^!LzhV);YTLWF%֭lEJ\VLW|#_VF< O"xCu.ԚB#'C>pgBӸO0aYs>(挆MTuy+`9M1>'V]4ZBbr7>tLY^WDĤ6͖n:Nrg+-я0|O j3\s'm69+3AvO˄`cb?FOyÈ<ۄ7) e(i6d oն:ɁgGG ).WJH3 R5`$ ɨ@2USWG.lxՍͿ yax7Tc)i͕5~t3!_Wp8+F߮ƕ-H$Vzo_BUlQ@d&urdɏ $aMfLdx}*oD U9jp =K8ovGL9?, (*Z 3kqQG̠Y(U!MN{p ?aWsyfneP6!Lk K1mI.5C9=N2tr/xq6:y,V$",MaG*yP1-0e W}{kVEHYo,ٰ 1ۂv=ۆ4OQ/M|qre ajҠ2Rn&z7:֧O!N=P&5) BDwFQ.YZ1w) 7pt%:E< qǓ, W{YF<y0a ς Ͻcz>N^c*O_GJS,X7%;yϨ"k<[#\%b`WvO#rK痸W<|I["n2#DeiBs?AxiO ,*ѹ/IϠG|D\먫-a;fZ>in蛾8sIO͒D`O m[ЌʢKS@`:?D,yUb\O"Z!&2$}0`G6eQnM"a 􃃨DukL8aFOL.?DUط>*C"9QEq6{Õbڂ2f E34uj"<=|BF?Fا,yQ2(~XX\HLC"ev!i4v;v}a.qN{.aEq#P pXeø@&,O4B30G&YA:Wʿl撨w?`eNw *RX \ SeKؓF$\It*%TIi:dbOIʌ3 I Ee rha4[EqgͣC~# Bz! .xPlRD˼X^4Ly,ګ-ؤNi-ÂX5_ЄZF^ʿ05}-IM@ 2485ESVt>vD!"! Q/X%: Ykx-Y;E *c|6ce2˱ 6֠ ёer_l7pztYwEx?/Ď|(hr,)i?[E[lGv!\#n$@3xLZUj?cgaO#ģ&s?ehE#M gI5R78Jx.8`P(ر[\sCX)w4toA"AҠ#{&'eo:K }bo5"Mj+rDYT*QRv$o\n:ˡ Vo.,t P!ɇ{4XȮ(%@,1 $ja=ywZrOɷ;#Nvc < Fn')Iȳ"#R3WӘ%א6T%.{vZ<;r^TyjQ :?v!!Q!99It>+'/]1M,lތuA*+;DX&(!%5|7R>eb2wƺ(E ^pqVo =ܾu=L5\e"WrSlz??bao.ܹP\ӝOزh!'{s ^qMAomgR~#4 K\-(UDVruѫ'4 ""%D`g).'-|˅ZpNH jn[3os>oHA;ypN./6؛^:Oh4-`} Ty P[3wsIX-D#.M#bdBY*!Z{9!W<@O07 CT—dչ2*a{@q{2gwzd^ *w}>2]HʯN}ڤqI4bQԛrז1ŽuWpիO.OtGU2Pd5#gUr<2Nᅂ6~%V03iܘNM>SQ*'*T:IrHiK=Lk@aI&%H+<Ÿ;F'O$q A-`[!""@^5_%k\"(g"CZ"3kAQ@3V=1z ]e ԂP уo\a5Gl^ |HJتjRMAd`:^i)b"ƯJ}Qfoo]?}N~@*|Y ̩1b֎mWt;4'R:Q8#MZCΆF$ӑwaT!D`CqTl`+@oOE O{"e7J\DiG 'l2 ^ܯ\F$h*Xrk?nAIqZ&9@?B`;X퇮 : mO P0̏~0vxeON#q+1;+!eVR"ݭ`_ܶ 初6tحhzC^W9`t )YvtݑM+簩z1Tt)un}5G}{WAlT|j f!59&+Ǜ A'HeoXdֱ:"JA ᅌSJd쇄RdFpU4bkKVm@Fyï:KoXYL)wU ;F[:Jvni 3𻐍Ps@1<{qT {ݛXڴ9!,7"xZA1l~;/ND-S.V_FBpմuɔ/)Z8Vݩd5I _H)4R`DKO]tQabS勸Rs$.{.1u:Pa ͭ)3I u-εڒtXN|+Mn0cMt"3 ɫ =IĔ-!oL^ ln D A<چRnA=$Hz`<]Z~#<Y%6(ˏgfPPl$WHNNmKй{95 g1J.B-NTȊgzW=T(` (=wUgD6&gh%IU14˱&DHɣGlnh9G2;r;\GC-걸\^"8;: Ξt0&r;| _yVI|m S/*Vɫo(d!UaNaJDpU D29ĺMsd[7<@D!j7G;%~8哑GyTƁOT{J??-AӣngL} w/pz}[Ƙ9d4~Rţ}Ż&⩀]F'l/ %4V |ęj.g(U",*쾝oGSx~Xe$E^sHt/8 s1AQq9V{K4qM9mmx'U%$9=au:u`M*ihAc;:t64w;mc [E&[ p9^v.5r+aغc- Ok(Qlu#9+ߋQ`@C}ɻ^!v4OD$ U^-u 3Ԓ}cEn+_Yzީ/@Q23P{o6dbDZ!<2:T+iz`7B]# s"P\y4qIF:~]1H"7CW8;㴸J VD0BGښ#0:( Ńsh+zlJ+sMheYZe-6NnzRNh!yR~6 e [<%_ջ!(uчGA//R\! ÂorKF 8Omp6 p}jSԫZLYjR}z ϮqS|xh2IDz*(Àj$KCxcDe HWUlHE!ҍ6$WsF9dҽczM8m"/S[=gcuH%sIΏE ^$welm.P/(˗`,ַ>ml8NEnfzGyrq>B!{ca*c?0>]e5DO%7RwѾW$w>a:cr ~Ft,_)$u7 v I#Brқ6kt>(5y@Kƴ̃g mg%Un`o phU\ni$1p'$arƊ-[]_ZwO6_ճ@,c7)\,q)v\PZ2*L i&7Bf]ng[GMB W.IgSgȘW߂RfePwH5!A|~v9?תVk Γ;4SK$}NyS>&?ˍUfj6T5 KUWZlwJ0PG=6lo%䠾s|I˷(`Z| &+D2?m[x k?u:&h5<\CQQ tמB⤉u4]kQN/;oj_wٗ$ 8p(Yo]@rբMSsFW5sZuacA[ZbN=a@p!.A;B#V Se ,3yTVY&@hW[Q"{pk11%+8N3fe$ﳩ+$׊:Sf6g%ybGG:v%)o2-0X6!IY)oL:xLxaK+apUܥ|TUQ,\㔄oc6* <{Y֙|4a04>@[LN?l;4CYkYxj~ S*t*kJ&Q_:J_ǣbݡE doPJ(dz䯍@>ۙ[N^}A =|o tCV&|,?guLPxǽa, 5ԭa}(`Ǎ +ׁ4>oe|bk7wm_noQbv滱skrp7m1u]1C|)~u+[/Vׅ3q˴ h|7b5".lQqt*? \Uz4O.-].8ɶ4!V$Xw6N ^UcvFx@kN%(~@j1xG`J7.k ZL(e @5;y fg?z͜ i"LՊ􃊢mN0+b79֍͍i'D_kG3~D\ ׈1Nl'oXK?^[f%mܨSX>!tfOFWB x/ݮDzOYt: ~^ a_/Ei0bx9S9XҤ\+!}HoV1iRon# khsةtB^{<&hKMw imq485]BJ̥;80Ǒ,Ozw?ǞT[XyBc+$d2n]`]*H #uY +atԁS>ͤ2P^{@ ]\=f /ݓ/]z *x!;p[yɢZ+6vϭ.^L a)X1F#emtDq~, ba=6Un|y K h|U se ?yOV$ 5[8H:,o 6YzYz)&R'js޽ O5ժ4 X ; \ocʚujͻ*cOk)F~}l_z07Hȥ@yR-k)tIkB.@[ƪo\r'Kx!{.'>ݱV;lAM$jS՛3$'! 5߾_h͹w!>$b ~NKTSU\g&} IC%h\+t?yC:1L˗P4W3<*ә)G4yd^[{E})20-Y[_锁#c(zJb HOظx~y8s'3g)8Kp2L 1oKR>HJ>me_f0'?(NJ3)~R&Y?!͛(JC*|8LmÑJ/4ߑ$Q$]FN{vg9\7ဧ8 :ǽ܎\(цT Rrk&p/pG;r7b[2W㩂Xq$m%g톥6׀ƱDe*V^ŔDHaYIX!^5jBg<#xd.C43Eehk|`$}iG#&I6z99X?Q3*LnUobU.)\bH4:0i& wx+F-:>ԼSBVPjߑr@~7;y3BT(Gp ,!#=_U5AJLqD} f<#Ԫ:t( Rj-SNR3IYV57Z %ΈȠ+ݕw"$8a_dcJG|5=(/??|M5<@uK LveM: >Ywli490g r:2Jbi Hlx KE`-ږDGEfW+^͟VtS](? bL@asyצUG()f@RD ll#gmf~V?FuhV9t|YRg0D|)QR۶(% YZ()%ԽGkNl#{bw qZ?>>MeC:y/ MjCU(KƨeeQ|2د\_\O@2g$aU$/-c|!mW>vVS!5I=%vƲL&1%n^itBvp%/Zɖ@.9^56Nxd,Gd%ţ;I,SIfWS}P޵M;gÊN zA.}AǫLH+T~e弔b텸4ggJW[&+pp€[V٪>J6T)~fW[9N]Sy]^V.̔*EV? WOy)15' ~; dG%|"t)E,_e835Ҫ|A|vZ[A+%'X{jAd獮 Pȁ&'ֽ >wcD JlrI'5rb']#y=jT+gC/O#86Ik>+ 2U@4_(saѣfS]4YʍdJ`|ʠ/=ټP1uui MV pǍſb[ le[DͼU ́xUyP۔S)NZLAyVUE;*vHXE>*_AO4 i5I4/fpkrO-Z񃑅(X3)y&ZH_+S9m p9yGU.QOx`pYUF ء߇١~j8zLtג4>-_|x^JOߛD i@Bq_ьV3B2Ā&6Y^{U/-C>[[4]!e kALP-ñ?@z'AvE \i>hv.ISgţ!,'fŨWVi$qp []xuwݑRУR蘧? W3ho]k0|pcdգ=LPLLiAZOqzкK!3'X-=.&m|S9P:ʋEw/4acfm-,!szW[͟:HZ=N`E}BZwj5((A""F L^[e6Zx @hwDak}n.Z}:Wr#o4C@LSTw,*>S=~~IB H63=$L R[P7ԁ):䇡6[rD chc%2X&xų?vP s 5;ENIhU5Pkp{5Im_F@F!4B/ۼcFqdt{ O8dӰa gnf;+2%1k&]AW0*ICK4]S直0'% Ṫ;9vt#)Nja)y(0z8:$i &w*i7{2P ZfBjew98lf aP(ު_$C'-ti|:P yFVsߧ(!(.!H:6gȼ gX#j*Ӊ:rx;JpJAëSCnOH~@]OwrODNq9 c0!)a[&b=?R0d\E٣("zw=,}@# (& W,b -Ͷ?2T}ǠݳVzn"K/9ʨJ\3H 왖_ԇtP"a~௢ hR@|fc*I9;[ŵ( d*!$ GN@!]TG&Ojk¦ǔ4e(FWJY|OT۹'U6CS%'~m6@,4[?ܨ\=\IBm0JY4ܪI+a_Tv—-53y#Z~'p{H1Q*e`F>5+vd~d\j:q˭. Lʉ_H9PM70٫rUɑ3 H@QTl~"\~z!*1)AQ~~#olX~ԛ-[ng B%NEq.ׯ +?2ܛDN=5~y5"YB ]% 7(Jޱή3J byՅǐp- u+dj1D{C\5dާ ƣZ}<) `V"Na 5 ৔kA2a uyATKݐCZfL\;̆}rʬۇ&bcV}DIhkJűvmiG:)?W %Y΋@ aP^G@1$Fḿ^mNI5&?#H:J5O\X&HbkSe@HT"_Hխ}`~(=b鶇8CafpsFeX\D76K!ef#G^[VE  ;V[Uz&zGqjJؒ56Tt-Wz԰ y՚ c$'},q6љ7@NFaH n{mdS>,Q%Mhp4[K W)8:ӓLn,cez>s(NePْ$3%ݦL$x"@ N^1 [OօQ. 7#+"xM"3m Ph(Uk!h6c{7L7ڛ&) PTz/9AX4QS)v`)f|{Wa#HuK:|^6f(xr!fI1U)~"[D Zf?Y^%{$~ljc*-PKprD_aG1 ٗ!N$ǞfrڎCZٱ</qy+cNjsꀻՓBPw3>]K>BIZ[.\6*Ї=&3 A^:)͟7bd2s2v% SiBC\ajEfB˄s`pģ $f-卵ͤ/<Ek#uBD!=0@qD@MtЏQ.1Mi7eD9.C.R/`1=q:}ΩjkE+M%}/l&|l喉v{);߀O zuaT͋ҽaX**.*#k0#r㘩t5*#f|>m!c@Yh8gxca *<me@VbHN#nO! 8헙(8}`>gjoFlۮ] ߑA}ֵ%<5^IX\^-3m,{T =9˱j-K:ƙs@N!88v-b`3+kIi=c#7?"Jxb~;'.x \:%{UVyj`դ5{ K>%AtDJ6bD=WuUmJ9B}Jt 4v 2I*TTrZ*.X `7h#<퓝 X4W2خzIqT'*ޫ[oW 8NCz>ޘG,̧C1-c%f3h 5l5'۷#װ#|d<+(x}*hNJ s$C0PxO..h3kZ$4&f =+L<(݋Yy %|er3 0zWX'svw#4RSn"w5Z?4> ē~sG5aNBr1ЕEQX@;%˧֓$g/%МSeIq'Uĺ񨼩\"Gq~P3q[Yֆ/ Nz~ʏaLY~sd=ɹd*y0,\kPsUE)\0d!w&`@o((a; ʝ3أ?5 'uۡ3PAdBOV|Js3g5$ZvcZuiѣJ>>sB\'$BX~Ab<=68_zTj#"U|8~N}NS}3 Xc Бl~; DgŲ+ z{*,a'ǽ б`\ƀ^oYvГU3rLb)u*k=nlK$r:5>6ր.pݸnii%dZPZdbhb=ۺ|w-`GT#*PF@i-H>R֣3q]U[ѸNVQ}kHJ,hMu>t~{쓯^'PZ4?M0ͦ(^!S >6S P1*黂;3$`67;ݿhc_W- VVUQ,UiqR]VqjHlox"K)"Ua }fzJ:L>' K@Zk$z:Mޮf{[߰ wc VŰH*ɿo5u$#zEWs^&,\I8 LB*2/<Ņ3zQRPUB`HS|^)x#rvBA‚/85OA] +7P !NysX8t h7D{ho\ 7K o,(N{n:!gNy*A!"t1l %N?{0/ c5E".Ftr !ǘ9|Qa[NhfY1 bEplѮ+<%8tlyܟv@D2 )1X]Z\8U4>;oFes^o͡jB*2#^ pwK-)~ٳv*U/3ePʵbܿ[4Baf:D>(Z[ t7jK%㙠A?ou: š҇>fTqζȂ}0 0Y=ŜoU^D-CCJ>#3/{hDzw`L9HZïHDZi 8T<X=/p<'tOk #fF}68%0(F1/[&N͐V(40sA\@3.جu\C;UrQ6CAߚ7j#Z iX%Qv/XjHN6OA2b$[A{|:O .VvyF%ghts~2ɟ'ViQvER g`p]{'[AzC C18K5lM3sվ4ٔ3IN)[oˀ:*E9(]iW_a(M~RS[[flntX? (96/L.ӟ"()uctJiH0v"k[$¼3!+Tqic;nR}^'k},g!~8ªD"plj/vR5O-%S: єֳ> oKIW6F#wŵ%O;Y 50N6Ȏ 5 r ԭ\ N 0śVB 07 U}h!4jdNq=A̸_klKq؍J. ̷?FwUڻ>`Hr* )[W埊`/WK,{Fs=\ Vy99Rhjھhk!0uJNsN=4T~̭)Z+,m'V pHi渁L{Êo VwS\y꿁z[M b=f NQ6&%ȿl3&ׄ*)V(=N/|eHX2ac|4Аy_O-0[! Z7! r{0w|\'ֳ46lmD+qs t2cU6"KB%JRo"mMcgHyAh(=n= Lmӡߢ֣⺎AvgI1֊rq=Njt2/4\DNšwLsBDb8njʋOd7F5UBムK MA"eRx>n(^d ?]?J7.)Rjz›>L "x3ʜh w`< %Ee7><"y jnl "tQSnn+K}>F!%Gt,[iVc'gO^&RxеdarʁUWM,!Gņ]߼N83ve0y cˣUht lɶ:Oq^Zt>^*=gP*I2^ۊ, TUp(U0drJy ,Qق4׏O>NBtw|@" _5噖oKAjALTtduh8i9]řV a/NMArdwVc XULD&$u qv?P$grϜ&jcM>XG#N9h„_^ӌ蓷Z!g ҳѕR7Uߏ*^`R),K2Кl,%S`-ziݘ;HBy3E7\ .}ZVIF73^w6(iLfej@Kьg)Q Kqݡ1ݺ Ǐ8" bŏլC7h1.N3?o"WA*C<ɱe1*B(\T1LMnBna\q;70p!"O3䥭k$7D♈EJD遟wH٩EJw g. ؠb J*a \uzr,{Tv+H'ZP/܅8"nѶ^LNY4ފj;8H TB>իo7R|΂UAg v`<\Ffx{/je^"Lw-]O` Brp2F}5;6L3:=;Z5+A6VuDR>[#KCGCTqfϴL#CeNce\)9eD, m _&>S?^A 3[E,͡~ls@ыjت_릜YCkAtV\u̟ rsL;0Ž"ntm SmK|Kkp\zXʷ+WBtrDyA(G:r8nHEe/ z9tG8 : M|@d/J!k;gip. +¹Oͬ;Xhy@ &Mq>݄ fl|ʉƖBΖ-Z+{" ߃WTA ӌu_zu L%r0%a'xaf6z@@f +n+Ndaش=`DjTfkeB FKSlHOSf[MUAփb'6$"突M{= 2#o`z拔QA~~W֡ur &߂\ѫt[ZޏT*]|r Ѥ*M&ޡ-4/H/KxoJώDw>Zb%)6Wq44~}l%=@`6#+\Un BP՝H\Z7FwRG W0#foi~ՄΔ@̖;k{YbbKQ](p|ړ2`[cUa71szF֕Z:* Řj_mbhE5AɲH:5#u4WOsf\]l~]ҟtr>`^,Pp,zx]ֻ4s?^?C]Ӭ7F"ݻ O( :kZ w}v״u<^EOe%*x+O*<;$"?v:៼Mtjdt~z?3v!ö61 :V!OW2,S3 FOoYsƽ]|G\+hY[҂8!`>g\ ՎT!r8m.+%[NsRA|"<3rQ4xɉD;F wKQct\Hdn]o_Q6^i-L Gcsܞa% L&#yfiX%`dGvr4Qg?XQ ԄN"ĂHsY?Iw/}` y[AoZw~g5'C>ld?,S@h6&l.29VsY>a%#yeerB4‡%m^#ampPTPzkpȖI5ݱA ـ&5D~ynD.M,=W) ۡOc(׬%`R3\z=ACν&,%rm-.) G *F^]e'}꣇J?y0+LAgO}|<]ƊMd@zM- bġp 7t=dq1hqQ1DsLUjp2c$DTLV/ȃFܠ-O8 F(&7z预}[zf_[#IF7*nUԉ ;ry}֥WyzD3#L=LrVARW$qy1:4hk4#] Ik]`Ovx@щ/?xe%]Tѡ:F "`aGmM@p\3I -:Hϰ0iC{9b +0ȇhT!s0:%{dwL3q7qcUؓ: [.@O' a!}N^!'~Drm\}4} Tn>ח) eH rle;{}~qq ?$*oE8Z@Q|ů`ȒÏfwomKĖ5)in)@vET,S_Ш\PA".B% ӕie9 "RQfܚ*M80\9/-/ ؞ -%< x(}*qMM߁`oOaMm X$ HR)# 0"bhɥEu}:S'_< ?{.^v/)RxcZO`N+ut  Nv55#HF 9@I]S@~ʱ9P~JΤ+V,rOĮPWa>6^7%ޒ< `$@T>cǒ;yaTѪ(x^`/2L_%ts2!@0HfZ\,Ŷ[ԂbV&ѠT|~`vۡf7qQUhZKkC;.)W6t}Է[͒nF#zïPgx>)1uipj^ٗ3&u75]}Lo^) b}T*vXĢ @%%e$i<>=p%k}zNhߞ)d@2EzEk9~(w#J.d0{q ѡpޜA|1e697&Ǚs0*S*yӒ-뻝TCD2$eF/8EWbepǗ1g~8C^Ǒ,p*ަS9(Ld(~fxQƁ@umex1`a?Y7۟b6:ҍ;6pACq},BNBu> ȿQPԙ#P2A^iL ,YSn[lpzB.§OĎYi ]Img? m޽tUQq(<ջQ@ϗ(7qf廳 N#KFR `h!lG4YTrO 1| q"5eI_kn?Z_/Y3D$.a49rWnN?,#Kh_y3DAcaQ;pD"\G?40x>y<^JҸ-1fPVFZ%2 x˴#UUel}s];0[j<A2ńo&CJci]3^~?(|uC:]t0|`/+ }OSӰա*nz~EĪ򀫙”|YWc"X^)vWĚiݒ5i={Rݎ߆묐Bܹnel:":}VB6`%j: "# 'SGuvdN_Lu(xp`>=wՊj;YxD#vi}[񑦏Gؔ&>ln5-hh6{um!=A?0~u(eS4ㄅ !g~'n75:_ѫ^H9XN`%y*$qnBhyz*ܑ(b%h}%=8"1Tizy":3Q ?/ N"o~ VRSw\`@[p۱Hf"@LgEVѥb+vٕwl[ido"!+z&!PW̛ֈ5rNUAY}y\7~/C"ZPOfPœkaJi]Hvh]r8*tȰ҄mH$_0+N AL'\xwT|r Yj}m~FB&޴qCGe5\c/s\sKxJV,@-RMe08wzlZ i.e!@ؓ`$ Use++x<*rj]J%+m[WXT(Elb/[ MOXpueE i'҂c8=]tȄa%9 I%x"\n-}"ӝ npCc!{\Q^L褢\z^|8 1:>wߐv5n)]}#Vҍ/D o0Bc U&W\w>c_?.Ҡ:4=r&i%l9[9i;;+4ye6Puu3klaxV򙆶-Fxq0)f1`FdbIW}XYeJ& 0LQ%gl ~X:8Wdآ1nvh;HQk͇vk˂@2zˑ3@; 49_ XvWo[u0 L>d$N$5yj߅}Y Os!6Y{幻ȯ)#u}~531  Q0s ?+?vl [ݔJwC65嵼e[?nE_qܬlr_#}zHeqޙw)o9mʑڔ*&U-[ַ?aFvGKK6"k#z-U3jZv䴷|#SDGauBj9oN:Yo ?@ܛw LۼQPlNDձ+U(7OmT:4! 7Qu ȏ [> UPIAy4n–U؀K*Uc;{9- J* g&kHU cE] ϾK|ƃFs RB^26}~w fl?V){)O@b7taqb?m Uu憳Zk67'5G eW G+{rqI[6i/m^ncJ? 1y j;7F* InOq+q!1[cmR@2 Fzx今b /\s<"C1/=LIioqŜ(&+w̶_N!˼˓?zԭQ'~y`W;f$AE#"~]0:Ѽ%2# }KgnZXM.,,wD*,qX М XVw64oH] ~dYkX"-_~FTP#&g=hU#,F[SKa >)C֔LX4yxu>UvrJ뇝/wPXP@r5D/T4|wkt-"v{. o3|˧Qn` M@ Wz=Pu#z'<\CI\5[GӶ!}MvG*?pu `|L+S툳/C+A_ͅO|?J]TM}奆ZnQ ڈ.3 7X96cLxn' U0F;A~ABيo9>'tbUvmp؂@:d}Tken lqɠX$^ݩL|mڏ8"+A2o.#8 u+9e|  RH(ĿS!sv}1n'S.yA0M^3j@- qo ?; P Shヲ/f߳9h(I/!0H[E:9d636U"驀@tQ)p,dJG1q"n`* 5t\3B„)^LO# װB|*Y3\/\[ZKP*s.f" ɸ+J1hY|( kG?]% >e\L덕PLT|ơ<U^(A5sF2K"lk*!nfI {{>WM\ 9a]cƃN\s+ 2rEC;FVi_d>zv72Pv d%ߎt҂S0/חPW2]pӏ{ ÑQ= ^tv6 RoηTNgeYI}b|3iQ LܙS*ui7Bjk&ᯄD@@Gh|]¦}ۓ@X9KkZ J#=B).QטM +}"XR&ܠYOO2<|cQGQ`;&i!{i9Y5ʋxo*X!|A|_QYþJ )99 j{SBtw7 'NՐĞ:;f)1N.ȘmrQ2!SX5ń9YIu7-Cе6An{qhՄN>BmN,,}&B›HE<΋if?y)Wbۻ scR9U TJ_YX6^`dX;lVjr_A+'3Ɨ fΛт)~M<|g(:]m#[ # !V /Bх:G}Ą\U\V \>ϻ8)  XwSrGS>-*bJ(&w e?S:P~~zCD!@o4(s9|5pΎJ4V$TC C-c?p+$UmtOqWx&'и+(kj>SmEj" ICxT4r$o)gWHƼp\R5=k1i4 ;;Ie״8 hB(v2쟾*}/*Axqo0u!{L W?z?Nv磀TItVHGv{EhtvXb v'ejɁrI2Y>VvյxZ_wm*|) ߸ 6!YჍ-*s_5pFUӽvo>g6ϢnBG 9T{=ڥ_c)pK F8}J}c :VBb Ly\:.(lPsu/jﵭm6~vYz߀0$[FpXLwG:q[AnevVf)>zx$qbEX.W1cŸ8L_p qMt5؟$r,}Xfd*JAp@ۮ>>Vw2hi8PSCfBb)[|ng0VjTqV_Ǩp]7;|+\ߙc[ .@d' 5{VcBN|p{tGKQne W#fƮK 45 ҖO\c0SIfli׾Oٴ1ziõ[YzӦɓj$,e;} 0LOn~CJu/r担﯍z?*:©aJ6z5C'pZhU4;{M|bb BLqOڀAV1Ź,%q V-8k&0Z>G_?A|SXwo<mܲ? q0_O?Q5YQX[CKt( {cav,`$\;_N)["swHۘ:Tjf4&B8Re3(dp ЩHlK߂l.PL ELx'=s^2zNq>3?44hK$X6|B 4T6u&x{ABDom*ψ *1>Sz3"! kGkWQfQYᲝ j GBMC~8"4ְ:isƠݛ$0kVZ#|}~q<3x DP{>I4j^Qǘen ()aMhWy 2&2'Zlw)~3cx_"7O3RTe>em{:\/^z]{R1?av'1!k9/Ux!=%ehp1əуf1 eu^;g 77im{<<ԇ&Q~dgjb yǺh ʶW\n(2"?tYVpeBm\VS.)o!c5w<0QdB&>T bpԩxSU?xjFs#gY6J)赺Xlanq(qޯ3/6]H Jrtl8> HY͊ػtIb&I#%Db{~_U!C#óaEW1T<%g#~Άn@DqD&}oe_+ SQv ~dzFR8 p?^C&C hV_~iiI["Xx7v5Uٸ>C GPx"u~s V$ cfSn]}xoox੐;G/ )mΘ7_̱;@߄eO3vqq\w <jɥaGz+BU<~tڇe8XOfawX\'8M)y2VON(5^?UX0X?Bһ=7(  Ծk! N"/.V"@y6XaAgG׀y.pS!F R\m߹8$set C9W m#tPN0A"rb׃YoImsҶʠ}Js&fgR_ [=["IUs5wدwrޢ~5J␑1ܗ26(!LsJT: 7\7D-9wVf ,PGG"c,[u7.ڜs^#MwP]!pEJK_aВZ9瓸涗˫n@UQTa&KZ7iFK]@S9!<KS?/OPNmKJJ7 O !!OB⑐C M~|`{pwq71݇NT|n@"H7ٿv'#?J8yf('R9;%73$c+R66r/g`'38 <VPĘYN0Y⌝nmިbmڿV/uVӂxG輑- `4*̕ B$>C1L/_A%DCСø4s/?3 M44z#8\r7 CzbʙLJՎ [*NI7'g\] :6cRvu!\ h9,D)ƩNb!Hz/t&n-Bf,؏LfMc)aQm~tnS ~xJkPn=cz4%At Dmk>!sc[M͏qc}Lt32bT yP"ef zK5۟-w^]"?il @MZ{.sm\Ϙg>~4A%h*Lu61N gN%}3W873[?2*` I{h,`<%x:0p*Ѧ=jM٪S͛48uΌ_J&m؄"q?98!%{-bvKqML~HٲjT h uUܠ=*cޒ8 ^˜s}@Up_o4jR=y;XfIީCrΖ Q&3h,ޭ] MWFFڙWIHBI2 Pi^>N du@}"O2p">}$*Nt-OYœ*X?ް^T P[n~o8 kQ!b8d.B">J$"nڪ_CzWFPrY"AUB I^\>B^os#HZm\JPj-}׼s"Ь?#Pf03LRa`8W32WkNV0GEU4 0' *^aiKƯ|pU }4ځZ) }(OұP?y"X19ȷ;qjdO]dD0WV1tT"9r8~U5Vm/%vX3>/I[nKq![y=i-`V N]})aJXU!g2C2l O-pܡ$E2y5.jZj RLHBP[C=G!z,ՈǤȌtԀ6g2S0w ]$ѕn6vC#!6[)'O`ۈ6׋%%!26xM<"Yk'B1?1r^Ye)t)qs9Sw`(oHxLJCxTS`v_@B|> j̡&d[ξWMBڈʅ-\oR^qMbѬ*BR  "aRt>R^ l'>C4Ul} aJ"5ƉQ矍ب~4{ZpkKZ0Xۋuƨn6i /Mc\P ]x'Y nG] 2Ap5Wxط}S0\ka7*iXtVT"p(jjNNF}^s{vJ^Go եzV@+0OEZ[S4aGu%<8z.."YފߞByYIDн-;Xi#Aw:NKc1ApnOPs.l\& @rqrrXoAɃ.<ŧ]Dk8Z(֊g6y:c1}=![]kŨ鎟Œp(@v"ՁF$s ~fs^_Ƀ+eh_@Z|wU x^1$I֬ߩnr3N j~]AD_\#X']Oٟe*᱓NM.R妴Jd -yy `ẲrSvJ؀z4$yq ̍$nV^˃&9 @9Cc=}bsNO}H-uOw`RymŘD8i?+Z0KO]s`G~ngk)&>Hg 2u}2vK9RDocສ^ n3RKκ+kʧ2eo0*J,C8:r\YHܔśUW1 cgtsxBg5_|Pjo01qMlP3 {7jTNDm:ŖEfL!NTcy("|3Jk-hl`mCIQҾF zP-"q9? 'XӠQ5D$T@`㞆@+ (@u^r9e)+^{7v P<ur¹9o\*]P be[/A"'1P%3)Ӡ&q&H4M wvzJp/uġK/HE^IcVQFwitiO1ݹwО,PY>i:%絷XUЀ̅qeN[' 8=YLC??683$pș,\dO~Nc|@, K[ω٥]Jtn̉U1B5j9CTH\%+kOti{r%[-?t(6D-QB0WS <^`d6U _a; aSN +O7'9rs>yd $kp1w:9t嵮_F&xi/#޲0&&bCɖjm&l/<$,QH7C/?Y '-qڪ,`=s 2( |_y>j8}`J! Y'%c33Uo\B1b ik~#}bgKnUw]:2=sOuYɛ~^7Cy,QhMU,0"N' (]o\[--ʊ6 a@`lURrƕ{7b Ķ19LOHVِD0GJo+Z6ĔJI]!\Ր|bIͭt= F,bj|xdڭd+Th#ֺ襹xA1cY]mZiK)GTQƎ/obtV^o0g8X*Js4|9Ik)ExO,-` ʼ^٦YK\ZRvA^9K;~ ƍ+w6씦9*^D+Zh@%ڬU/td.ͥ_H &ޠB(ͷq ݊D礂'j9Gh5;me/6#[/ 0 RAgu>0l`XҚr^WrBNV69Gey8xæQ-ވ? *Sl#u#Ma=EySTH?>DrItph ݽNRBxӆw a@׏)+<cLlZr8ձun] ek/H50Q&05M5@I5L6?R M4Ixfp}ͤRIUc}$ăۻ/0Ж^9dȩ( : Ϭ`d2c:ENe#>NjtQ_T UNJ9lr5Yl={PTt5r8+J; 'I:MS*!Ϭ7n tUϱ9RQ,}j?b/ajGgZؤI\m&-O ?hOz~vZ[* 2wRvMZbGL>+~x:%5W赤KVFx-:o9 ˘UJg ~dE~9w\ > =vbMɄ>nAI9/tهhq}1Fil+`yv& \ts wRIWƮf))FO8ՓϷ7GBG& tP c-k?xn;C eBB ]ѴcU C QˉCksAҘⳀaH(km AN[zוjf|?aL"h}J(ģlڴɲTcträ㔗ʨ[EtXN9vAq~q<'X*M\ 63 ?I2 ¢WƘyhz羧 usYR 7j&zm 4e:5k9{-$MR4wۯ%D nJ1 #u=qبN .JF+^YT|K~Y EY~Ln3v?x?vq|/8S%G4.,96 * iNKX6,pě N!qDOm,1/0]'e$6REJ_~üY7skawPs.GV*Of%iF+Uxo HPNK={p<嘊W@{/~xNI\|y!-ЃcgLՊrܗg #nqy  |eF1R0kϸJ(4ȎNѶQY߿>ӊ95Ç,OMT4{o)]Jb/ |=0SNhgi$4$dfCAe+bqJ(l}}bby&+'tSؽiY Ȓ(_8|:`JhW{Wq5[_9u#1H3Ă/ZÓ M |'5I 7_MGߕmKIuG[P7pO;#$Ĭյ! [ͷ<~hb/'}deIy [%CBA~f۬{oYC$*]h.x!>NqcXw,}'ϻ^5LO[0nC҆pkwgاQ3БD $Q]UP#AqҵZ6P +!4. !o>kpvkML%$nCr 2{>{~Ң*^l#0Sm95Q<y `Cz/q5>毟;QVEehtF;c`sBPK@qʣo<adH@ayt]ԆSA@@&2ob8Ss"$1#Gt|Ol_6:QK_C;70_D@%LVx^*Y1Eo903GS*cu6I"Zѕ%sy`)Xvd@u$m L􃏢Fڐ@Qb So$zX|\9 8ax,DLQ l ۃFr-Wp&E689˰Ll3L @@L huE] 鰢 먕& fAӚ-љ0ZSۛ%*8&C˿ӫجe!$"m\PXF&Lh262SYN MFڔр|b  W| *tdbN PY:Hu+n-)Ya=VN7ϥݙq^jKԆvAHJ񂒄%!ƍ38Ӛ0ceC8#UнY;ɊM݋xǖ?b0E%$ Հ[.f/{-Vgs'^']4VB ,ư$$Ըo _ og\q!t;'4X"drs+&wzMlT R58|n4 nL`Hؠ>6fILM_8g4<;Ҳ !" #΃^gWY&zw6H`6  RHdmzn`HCр%6^<~P%fU_|7벌6Fjvxk~G<-wͱ}!ytYQfY#* g_cZS>qXy6>nMB4zNUiY7FeBkLcU_HQ5pRc$9$q'5}#:?^V[.$K \JџhdcW|)xSPˠĘTI վ93ҘSb:m2]zt˛ozJ`*_yB}}W!`5II)Ha:m`(}Dc{izحV6"%XT!S g-MOB@)ê{G!r :=isjC |'B}Th]uڲ4XNϷpS0%^kڄ'3-yP$ƙ!V4NyY5t)=JXLh m-2&ybPkaRﴵ0%o(hrS%ɳ4)?6}•oЉMo;{x\2u疐ginImU?uQ %Nr/yNZYk;zδo`tur@`VuѺb&L9o`ʬ>S"I$+ T`m\ g\^JP.m A؂3;:wVs:A':?.*݈{+`Gk`P0h'6cH `0ST ug.)C5ki}XeF5..y٧1ͫáʊ":oLGkjm:҃!mVʥz+?BXY5T) 1Lġ 9WӸ*=!#/6po[ɢ~;,)& vîqq9>I]͏Eqtєѷ| ^jS˴;' 2 +Zrf^+c?8?Fc{'|>:!lB_)q~pUPMwN7z5-0 9׌UfeGs3%Uw]2ZgP#? I{OGM7 (Z^j}{#[6lPdj_d(wi%~tޫc{T=Dk/fY&+}094 p =9"z\󷠶W?U=Y`J;q^TډO)5wH07 }y:,^V%(=JҎkI0ͷS<\?_d YgW6—! wx{zщU>?7lǧYQ19dlZ荭{7oz+ZU3u!,͏I=#xF̗H~ X m2p @iX ȱ  i_:Z9vP֮?>+3^xE"J{ƪ.5F%8TooW6FAa*%ZZș?riI޳WzCS]L6Mvq3&IK]ef]<gxv1$dfL#ye\WDi~~LWYiٲZjElv_ֻ,y<8p?(VYtVfFjc,i ۣn P̛A1BŵuG͌3mJH#-&q}O|Y] 3|ZlrL}"lH.x1:}iip*_Fд$/}h"AMΧ[׬/_RMwǭH7Gx‚݂!=%z񫦑磓δ?#\`^H Ƃ\I_Njի۟"CD-2g5=`12=5DRj/B{C@)N;&j9|MnuF:9wzzjxh廌Xk},̯K̠U}k I'EQryft=קD|̴F;(O}hHKР55\E]ܻdysWZcTζ6%ș?%E" L">9C> NkkWPD,'1A|xL>%ЋAFRG΋i0 :$a7Z/(]t(MA(xtqܸx12|>w!zlBO{UzY|`!pAīme/ёḡZ SD>+GjjzUu-֟pX WY"0w,BmQb L,+߼_ප;x x4w.`mSmE(d$m(.N|*l/G=&)溋?Iz8,#5(~~Gv8ءQrȗ2qb9| ސ؎D)Gn_(ȥXGr:ypQkCrt^$Z &1 Bo_Y<@΂d> 0Us=C>405m]kCCԄ”K/E_j* x͂$`C@4+%Dm6uЫf dp ; M%k0 :rF 9VAZ0?.0YVa46^$XN >*\q*nH6QCnD!)]`oC%|T`>_Nj3q&ڕc> enMZ]L~vbvh ΂orxo^?K+nmĽVv&ߌv[ϞO̘;.`_0 ;]ʊ̽Os[3ڑ;j4R~/Y{3XGT.+S0r|P/OԒR"kF|wPM"7Zt{/5^p*KEaS!BZ؞.I0vou8ZJ)a+:5z@:PA%Tm-J14cܰU2֮}dlS#˞ v LXXMHTba[>\}M(v[dAOt;b$H43 @%a˵!a=,C)K ̉|e_f ,gT҅lwRQB@1\3_m2NJko̻+,E-≌6(ZPBZ08oC%Jp쉏}zK?0b"Q:t R6; !dLJ^КW 2jF h}&e :-R܁fkHhv(KG+oRq8i='W*5G&b Pg4rxKX`RG)ևe-B.޵io16A vx>~WB3P8/ ca-'_绚^B1>&G394W[#aD~v\WCaE1 ڋZWť eة 3?˞yMD]-*_Paod@\ң*ʹ_o::(b1;ugmFVp8ȋW+JW0Vvc~ƀs0.ƫ+9#*1uCXKWyET>Cfs)wG[+‹ Q5R}mWMl[>bݫB́Dӣd#;3 "Ac3x4)*;ҭ*q~p0h90'[ ۗ&4_Z89Psh rSs,x qw傑w(#EIjE7F%zGͻ8' y aoC@Ʌ`dX(ae瞫dB>|wBBlHA_H\ۋ+&!85XVF*& ƛO* ¨. % )RAkfAФQ EGa͔ w>бJNNd*PՃkx:[8mՔau{e~=oHU7[A۝ #82 c"'{*W?L =kqUߧop/17: Gh#TPpMhJS(( X,l&gi|@9эP䞔QzSok(Mj^Z!}(s@+c}S|Wҳ-Q m%pn* ( pK7)zKh~&|vztCij5 XYe>`lh*lnzdx\{3܌CC/8@3ȮCc8p+fq} rWц`qWN墌b@6.̡ܲ\ݱ c2p_[sI) 3"{UG־|d}KY4LW{d@sɵ՚`(Ǔ =gQF[b΄D%lO+_}nK0h/E'st Ztn2e06|gLqY^rcTV=w^Q]h+9E%ZY@fTŤEp wHөxegRİ87!և+N]>TEO=QI4L!߫˥$IL)> p`F䞤TJK ֞]jt ]n3a`гpc? N՜w~]6:Up.>p&`SF$d[s(LC-}Z~aʼn`EY2M%2ǜ=^(rwWH <{i bJ" KDbE$7/]v&>>8#k7f@S^X!Zаԥg 1OB(ɰEKrPnG}mQ0)~.祒Y$Z/;uYzY!GyJCdhx#a 4vHfἁ_!3<@]vԮ›>-l \FUyݸYWF\^-&6f J~:s.c-QJfbS]I PJ6.f3 |y]R4AoZ1OU~kd"YXB( 'C 4mor`'8Cs㣪ni,X8["Y eWYvDK:91J-=)ᑄSr52T`H Y~7=a,SdnJA3n%>BӨҥ m?M`_Ptɖ ,p 'Wmz3&^fQr_zjrqq!4 |inSDy}, >"7GG.ָiiXȜ5kIh[.eF׀i(AWMxC;)!Φw|^LR r"u辭.$ .Ӝ lx(tM}_a?LnB7indSx~8S ԍ+LRRn*Ou'ZѮ:>5 @/!JȊ{#@ony^7=U4luYuD^h̴u,J,{ kwbm%6_eI09!;I[ %}' Kޤ5A`9˚=`\ *rvX.OTC3 D*Z snKQ$,!B~8젒1ٕyڃ ]h++}fVT"b fAp+DS"_ 7[FkN 0yJ '3Tv!-$ZD$ƠWUpCG{qcVf;<H\=rqFkTj?#˦VhC"ᆀhIA힎#?7U~Oѕ5E_\յlnwc;?2b eY廻x*6W$0OO^)30-z\ݦ\bxEY%L2Ê Bqz]>$[Ao'mNF] U;}I5g{enVgy !n&85:yjIÅtj:11OL 3ѵu3Ᵽs2Ju*-u6>8}7EG@NۓEY"FX4}(lsi*hOW)`<~ɓE!.,O* Å&zU'T]! wSg0E.-遷  +5ïaGe bji] zPQDTъݪ5 +| \S]l\ճhɾfrǀ 9=|$`zzګ[5 [X<끘E.9V7mbLʌH ]RG3b EZP7w:8=%b̄~Ga}A.4h[x#!DZ3d"tL!mV` ng!ig O)uIe m[^L׷_y17:x"x'9s+IeM$gT$q2McH]JΨ( sƄ5MpV$n΢76H-3%+]?S/lkխN9H,Id$j)-G5AEb990xj:ѯ~:Ԟj0}ߵL\שFa}ji4容y[gT%u/5Y޳_o n ʛ4s#vxǛtK  'd>2 NDv$리fӦA,1=_ ?R8e 8-O?lHJ㷇\_]tWalnm&RU=ɼ _o:o^̽xx`m`73E6.? Nm{"^*?+Iƈr팇*WqKEP3Nuf.*t'_EJtk4]z1PB;AzjBTgn̋yy!F_8MD:OTu:wc\1xl:&sZ|ϨoY|͂Fݚo4eIA5_:#.'zlN97g( |ȇS|WcԀzdFgz#eȭ _'ˋ`jۇɿ $ jYO@qikdWQ i$8BCx v _#VY _щ?vo©1I/4C2JW4{?x"+LRO#5b#󽄑,C1o|vY+ʶ*%EFѕ,d/d: AIvԱw?E+ QSp0&=T=|.@/_~ىGX3ANa0`?5ɚ/~rKssX(B#]fy<㻺ZkDK[@:/K׈XkcI _(NoJ1܁!.b#jb.0 ~ʨ 6TZHSIn e&0Y |2<0+%a\ڑUwݕi|P oKT9%#{A$Бm8wGzVuM߅#;EX-Ǿ @0b׻׮(QMnZ yXs>(?.S%*q ^= H9D-_YsÜ;ș񣒷?Xeņ Ӭ BQTdX&IbDL&iPrYo&̵RKss%,IWt Zr6jO} }у K%F=Eq֚S\ wn4<.ZI5Uyڜx $ OZ9؝^2Nʻ7bb/p `h"(ΰWJC934uo"fbЃXU{dY48nܴ~!L !9fbSɳ0"z$Z+i[!ұj#"S&(Mgcn;A LZtGEA p7x)PQ-Zni\jU'Nڵv|Ы38L!Rs3mQURܘP]7j1ܡuR)Nۡu_ӻFVi`՚gghl8ih9c+0Iu{* ]lu/h52Q^zl,m*qv17@V!/Gmd'Jk{*N6\!EfCX9}t:" 2(<4?h|d{qN }6RYTx5q. s; ;<,r"?~*W;[B$ck݋a̾ FhA~z.:xѤH^ɧ[\>}7ő!m2:?I4[ڧbڧl J75PE…iWŹkɊw\R4 ~kH"_L !~5B갖/67f 9Y՛:J-2bd 5^Z-T)bf䨲 #y~}^ӯqT[(>_U_w|rm9CX+B4d)ls@+&P҄sߩ]|*l-]KK53~RuO%D?nNt+(%xc,t~\_V,ә,Q%CF)ҭ֙a@y<_O6@ h[oye\y0á"RQ[6p~1MVVN|;AqKqm+&Bf"زPt*j/ٍ\Cu<|:NDPKFѪMʲuQւ=4K%^i=ozPi]&52lV1^ڍܥ-6e4`(L6e{&1peEiI8iӻֈ&>0 4sD΋ kw>xAHªMG) (jWcbMp;SEoƜ4*Mf&G')$v#kr࣊dC~<8maye0hN8Gܔ PLjQrm5Ka!{~d^ GT(H-k 핡ƻ]K#oOݍEN;I݄ZSZk'XgމIVUE!87Y+͗X_ϳoN_ < c])]b 9ASC$nf3-aS: Mho,u"҅zcwp2(QGig,mB!.-#^-,O#8b&^ 0G(=Du@zzyԴ zW^d۽fEvis21#ѹ mc8p:T:*oPJ4ʙ @b~|ZPZ9o6vDr?7o Un ǟAww爏PʆHpKˡlX3A2oe .9xq 3JZ.P/$%Xb*.M2Y,El[R-SBB \@~⡫"6vSmpU7~0)FQd1FBb%Eд?"yoRD=j2Y\ڬKV G+k޸ .$H8;T<&1ŭ J Z֮1kລmu#vWa KoQԒIGDd|'-8ȗWa/z%"3ژvƞŜ:,l2\n-E|׼E}%U]m1օ@ݗ6=aUy3#"wן›m+!o IVX;S;5eS+EO!Em;xyJ >S*qُ@ +(PrF9%'N ޚ7*\n~'\1QKb_p@ 46 '}'^A1: j4Q5{D|視]g9`jlC$ Q6U &+vC{<rOI';>Ba hP-}uq1ݪ+mV]8 >-01b3жMw>JlWtu%Y=غ[44. 1vN4$˫QCHw XX"B.Wr% +]?M9m?,lg;_Cw:IOq 7Q.1}EY) aDcҖ;Z,T\Ow+(Jkk59# 30v*RFs~P0ojA5GAVϴR<{aXx8dgr1M87! 0PV"6QJ*xo| ErX6k&c u_3F·۩\GqaK'5漂,o *̤[(PV?YwW1u-B VHNQ/Ome"n[CO,7Ew^nxՓJs ጷy/JH9*Վ.3$pq S_~m'>lѱufwS߆p*es挄rfw.c8>t\jֱ9CܭcW"MsiZI=x$_!<+K{ ڮ}KZ V^RK$6 LևplE+$t8M&b#rM%]S< jid[;);D-9m˯ǮO9Jjr:`MGoe,G}zE(ɏm:7ª(N۳ag;OISO ڲUTVDj(F= dCe 켫ץwKj%{7CtJ]H2?nG`A]A4$cOOO.6>&C7 p>8!}LYgZ&073숥V<|a[p9z*|Þ{Ν‚}O;>([;U.+ѢQ)YcD` 1orVd;Ȅf=:.AK\AnfRyn7 _*TgC/. sdeڞ2w]%4hD #[9ȽnTBV|czd~w{P~9K]wlnX1 n"L\q{H\u/Ss΂8w946[[߲zU@W;ay(fCjdDey1 5tt'ZMvv@yvuĿ1 ֵil<6xi XV6Do*覉|aJ"E% >J._a'$-9` Gol^[#5*wͿsxA4(BOZji 0G/X(!?Z3ͷ&7r#a5LdzIvZB8+~|;.0ډBX~T;܋G!kNQ}o-] ƿ+] [u-TxC䊀-:#=&AO?X8F-F(*e=|@ؖ4,vaPՆY{=BU-HEf{`?֒>{=}A<CƚnYh9D=t&3_۹ dOstEiXN5ƈP/s}/L*!T z49GL1T>r5#9 }b h]8-qj9kux_Mͱ@Bvyл p94Oc<'$*"eϿ;Uֺ{8d^pε{Tp!3#;n6 cW',Rpn%GPP9TodOo][ZZ= Z@beĄ]Xa=g/ YOcVsJQB`CD/Dɲ^y f b/@JC%rARW'1"-3q5DC<@DS_TWs]E&xۨV8׫hUؗDaDO_36On]:l}h]ڐJ!zzA? 7.^=̞O0ɵLG&[E4BoD*Xl9]KqdHͳ~"DOk[ 7()p%BE\*Ha8&;0bIuٻ)7rlc'hj]V0Z8d0 i) sC'E31nWh'KƠĉ_\Ahɇ}Dי&Ѡoih!'Q}pu9 x- 4(U5k'MϘ?z"Ʀ0K: ry[ȃN? {-Td3% >=X_ Km>ߟpQT0EZ}J)^ڰ}+oq8UQ.^=wtI z,ǚA?ړ2z=|"?4{H#;XjFF~x 5hCmNWj7JX^ЛQ_+|*0ZhJWKi$mnV(0I =YZY $g_l!msin]N;Vc?(Tz,m۳'9w0e෡,Q9AmKVDQ"yK[Ϗnu["|:j/ mgja5;9H؁ttt#{M=;fcN 9H9{!C #1nY"ߢ3 dDz7żI.n0YYf:jH!e^ʬJI\|knbڷPټqP uZyqfH68l$,v@zATq9bU8`k5|Wf\{]]J*R#mw;D\:Ȥ1縔mnũ/V}c3 X=%VҚc7q͓p*QnĀSQ W rp DKTO OVbW@-iAݙ3ބVL}^ȯZ SE #/sl0T:^$ m[BjVcXl1gʖ9.Y*Uq ;&sf1@kb; Kd%U!eB$Y26-1AK-symLGDm߫m=F}?NmuE`.&.|UMu7X{قN.nCL4,XS/*K+جŬT .Is&a M:*W]#k^z=t>w_0[171ɑ֤c@`YCf7r+Ef e 0!?ioOd]n"UM 6rϽnrcD0w e;YsG0?Q0zظN9(*H}w >Z4e(p`<6JLegOȬf=:*K q)qu6͗uʮ|7i,Hte2q;ǂ"_D҄{( r[9G`h*-' @TK`ݥBMP!NbuKzZUC n >v;>hiښ^~9cXѝ~j7SЀ ɥnĺ9ݱ& f}vf{cτ@ݪ MѮĐ C!qȑY[AO{-wsIqVD9z[ F8ntdr5ܒO /ZwmS(Y3zm.oW 85,Ů]>S]d5kqoRM(Xz{O#_F{ʌە?A(Vd4ۏ f[y7ff ɥpߗ֢'TrKJ7fP6mai&gR^v ;ehX\VRh,]Spd.Ҟdgdo%&ϙ2nІ\ f,S$-=P4+ty:ls|@tr"5589Yr;/R Gcߵ\o6ƴA7N&/CD\ |.Xp2c']lϛvHaqrrvKLtyTºpDJ-$n ژOxrw+cǙ#Ph6صX2>,9 %L@AW5 vIx3C5,WxM]Ck'v:׌s,%|vQuAm^j Hjm׏BڈŤDF.LC6i:HYAPD]@H 煬tEլGqss 2eMwobO'PWoE~l2͵Hɠש*%F~z[XL;WקN@hn3QN#*[5yd*as{J7yA"uUa` XVIlH^QxBgf*[\ OWDV6ؕk9y:gɧ1?cV[F=9v9IPK|&DuQbB3me fȩ(]҈a:(ᫎVM/ŗZТp85Tn<K-W(a5:9qeQc`!K]\2oJlpuu~:)t:@zwKEz5i J$Zѯ" FU<W ga:dTA[݉ ٷ` )IVvAԃLyxc§W%]ޤ \c2ʺk^6 C,e1Weaw {j-t@e/{}eQs@%{vؐ'W6$ dPQ9q)g$N&TΪvкhv29ݣx-1Z-fK-QQU3 ^vN ұgCV`Hto Ⲱ]VGRHIx\XIvX|hiK[Josl\_U3h;+P`, T)c0VFE?wKZde-ʌ&"$k]|vNqŹ~Vn_{BnۑK7@&ɴ9;jMAY9jUF76A/P:ч)O641KO[p)VB@`>kӠFPzÜQGH sܛ G(Ig@{ Ps"Y[CB w ru^uii̢9LX E;^>[&\//IjaUwdAk`,L<*@6Ҵ1) C/:i\6HScMY^CO)*䚌N.1 Yģ^ 4T04Gh;hFO?{*UKAz+KĻmegUmdm,<~vf IR<p-},ietLPImXp- KS=./@`/9aY ^z' U2S6"=V>0=C NE@Qǵ- RVR=wjX{aHs7U){,i\^7\ȇmE%WD\EyW;c?ܦOn+=xG#$\Vס~klrWRO9]ZPx`f 0UG@0;K @xw=MQ ,+@/: y{ٵmçqhûv)ۍKIXӬᶠH?79>2"{P:amTD$ 6>"ue1zI!\bJ1iNYl j5CW̉-B4E겝Amwh&ͻ)eg(q&[FkXK6LFaAijyrȄKuыz6mӊ| ]\ʑ.6'wXlՄ@,Y;`ﴯ 7I|pLIդ`;+\ޛX*q4˜o 髟JqVanS;e. W{m,')$$ G HqBki!A aXوjiz Q_0 ̀wQohUE#V_=аX,y BzFͰ=L]9o!`nfvن|vCưJKtDΈr/x/5ݯ3N[P$|NA.1zphURA;-lkw `N4rLA.(չAzKϾ4{Fchz/xxZH^M]|<\W0RG1)Z@q5<]b+'|[WY!Q]煇t2`OԼu`.8:['A9_ 8 }K"B Z?ȵ qy[@埛/.Գ$5dɅaeK y\un@t=ɒEџ&jZ Z-VF=n::zCN$fR,)$v2խE@wf#18{eq?q2|Mza'sJ$,SBB.p)Ƚ,.5[)9c¾t=ve VT eȜ,Kx˫`5ZPie 8O/+W\H@۫3k|1 rN̶Vd"4'{)w|ӕLa7.A&5v 4ot C?NF624^ K\MMxЉ BWMcԸS](B5y&*)1[ZʲVVP6o;"`LLA&ͣQ׉Q_)&/v܋&_Od#+WF`!}Uo|U;9(~<]@T1t4qe7& <# 03Sp%j2UJ;ԲR237쎙RTTP9Vȵ>HpWY `A }^pG(ԬUTӦ:۞7Gs GZ&_#*Ɗr'T khvHD<p_L?]bO"U'ELZU CaWLN 4_镻19'~B29'_Nbגf$'?LMWtNRszf@+#Ա+Fyo0IC3;6A|H]naєJKⲶNpަ;b) 67$61Zni+VDs~ӭ.Xqz9;GrWE:9KNƔ!bKŢqrq8=,zÏ74QabnȲWZo+bI/QG`=IaڝkC1+s3J^O64tX^6 p xoQ6(Oa=/2F*oYfFGhf_hͪ7ŌoVb=35\*5 DhLk ОK>9k1QwB0m(Z.͈8id3"k6؏ցɩ6oYZ ȃti$FA@Ϩi<gCR)Yt*f:tQi| i/m?宧 J)~f46|9L8E ͋9oUFy/ʠ0awl>&{NH)ٛ 4OlD0 TQkrBB^)`G?봇cwiɇ0<cQ(\(\,)JE0Ah6(%CTPA damYaKrxIh)D)  @]bMcX[䠰C5~0S)oE&%oSMUWy;cʩf]CJb[X^X_ kC,CIb1ˣvΔguV0h-P[_g*vs^8R,} Ȧ/2߱Ţ-ʝ7^K=t=Q&xZBj zX[>Є5I%=G{"9 {9c`Jl*NZXegK;:Nu']s݁9M"*6_]c霡K=&eqw7MB읷B!kL:[*TR#uSW9 b8ᬶFb |gQI')Z ;Л|GC?~vHՁBl73pSP}A疮isvH30YqBypb*e agMKk Z0뛤g4m[7b;x۽k0i! (ܕ %,ۥT,Ilht;zae;)vk.)?ٕn;%FWSbPgbY@wF|t9yT@ ĭ E ZX%a]( ζ:^_1Ø7 l"Sept opLa[.kɰI~2 yJf=~!S9L4\6ʢo72w2xB7@3Yr̶\l1;k@?l4qFS"b+ yXs ^XN|oLg@suqx f{ۆ,|.gן j,lO@݄? P*bI^i/~ )=ppY=~W a+0MzDxy;~tTukxqD&J ` Q6+z7e+`2j-]jK$s^ 3mԭ)K+P{oh)]:Cٷ}y,yPn-XXu͈\0I-%euYgf:uJKN6O>;L?^ eCS 7yq=*#QHϛg=E %cx8aC* ez8Xny*o͢$ꑙ'qnj8rXJVv5F|ME`5Wn-m4/~~wO+7έe^1 Nhn?f:Me9Pn$~Bϻ.k6L | vҲgt_h3a2\Ehoc@sXX*?/98u#VZ(-dVsobVE0 ?n0#^ơ p\OAJayĦ !Fִ=k.8O]fGݱszseQ=p\Ԡ5vU6V7M %YM/k A>1LҗX|/Ucd&Y2pJbӐ/4u_ ah.$OB 93V;Lun:q7O8i^RJ0~%1y3jLqh0h _X r㊙ &PbL6x~[Ht{pw)uE-䥲/}*.j-h7'o6FY?it>`~ J'-ȭUq3,0$=%7 !6RUU ئ\˶Ŝ5I0|l!T@|]e#.K'Rmr0}1yd}B6v8~&6«ki]"UhXj/ c[‰ó*h;`%4~ }-3X3PܢإZQM:d_I D <+ڶB4za,b5ORw_. 8q[vNZp6kc:1D;)f˼*FVtYKYi벰~Ĝӫi2aG9bc&iDǷm0E:é*:M&͞?y˗tEz;ӑ瑝-9.͚%x'YI++>%7&*I!LVnH'D=(l3Ċk48H3DkQZݯ:Dd+ a:jk-ws|{)L.U*"1ԆZ2-DBY]o>oMfA!LY_AAT Wb{_&{,7yt \&|oDv)`JZzˈw9~>BGʓ^Elm?YFl =KjA ū&d/SUǙO70TCCJ[EHc83U;›$iTh6 Lb$9J:hnn>[QCcd<~UR5=y(jNWHؕ"snr=kfOpyz8e9t_j$y'-J*K7hTZec"9 ^FՄ.͙j &֦th3ѥgηa֣D^)K|xoQգ#S*bBb"TAחd8L˙ ҕQEJs[Y},pM"\fq"jvޤ=hb>j\upc9jƅpCӊR歨D9@"$E!흜t3`KlԽ(zI <,Bc}|K1z9:cL!dP>8t>ds£DnOux7T;*"bAa+?cRp>mf~(e/Fx> D@ 3]x 8k>-O!Swj%ncm1\ _8۠<߀XXMsaRm*j_TuXh+NODV>jo01p50Gsm%!J,T§~O{`R `71;Ķr o/Dϝ?؊ܕc76!%7 ?I>XzN5?QY|W: NʷCɷ4)Qh/‰gs6Uw<<( `I7"l|Y0B'J -MV)%lƠ\3_{JXp@u 8q[%طREM%S*xiR2 Pnkn)GfWa"an0n Oho0|2aOK9>wډ\L;aX!MdbpqťG-G4:*&H`)9x R-ڗ{\Մ2 cz$v<@d7Lk濷 wKX`y^Gh E{ u3J:ZΧ"kX9Ӡ* v9"W $z,0R'ew~Z Mrsh{Zsd ,N&/టB\Β*ݱ )9?%fDZs0`P2ԩÀ(Ur7޸OLL@`.z#qV\m?OZ,t;_z,Җ>"k|؝ZUbf1!.GⶸRgߐYPjlh&}3N(dͺₙr?x:ig^.+`҆xQ7z&WNEyݸT$on2@;'MQe؇ (:). ՞ŶԂpN~90]?ֹMp_6?L,)e/Po5Y,r ,I+"i!%>DQ;VBm7g9۳tVOƒ%w08QEўy~AaG*r_sx$uQ9SSrDHhuU|?_ M\G` E%:==T!!g v@|$'cOm5a>POVSJ}/ '6G.TBPalj; ~#P)*yan%]ezHStAl˹1!% ceTG eygs\х۷':B\G Bm!07ݒ`|O+L $50 E7&n@q0"6{QY &bהX8:Q/.H_h:wL@ړUD & Ikȅz t>ގTlPl]g>µXLZj`GO/Cbe tţ 6:HbCegHRZqcv]Zq06WCW,`od7ߛEmrt܈6a%m'v= mR H^'Rq^ lI'sL5iP!^oHiW)6 ==ĕ*f @ﲲ R68^Iq'.}k›/Tϣ録Y s). ֖XJ[=Y=}1G=*o"`ڀ*::nˆ̬L6ɷpUF:ƣ-4-ϽKP+[?]LZBmOnSZp=d;E>|i0/+ "v*jj1UcQ޲:>Pc<]-m]*i\M-5axKc>?ڦ0?1#"'gZܿ;#YY!2JC?H~fV^^̏ʹ)ï6(dWuX(LJL~e֫ #}dbU!!,dIk>K 82u1.'bíD?Ad]t_k 緘+ Vz?7x! PS{!J6쁡n=@.hpFr=]rt9uRrzq¸[Ev7XT!>5eT$vΒ~ɷelRi}O5׼˲1d}2SJ;ڛqn$V VȻTTOO9$V Y,2iEc cMe=Wյ0Gy6p%Stiø;vf| k78`8N}lʼn@FUz@ ^g]y+0U||o6fV8  p_QbJFBOܭ[Pd`0/Rjh`gY&K: 9Rj . 0&X-h76*ǩratl;Q/77ղ8x7#[ss[q)M=:CKjQ%Nn6/SU`Q/޶/(I "&C$L>+;;e5h%H+Bxt~F+k ^lU؎* 1/Ьex`d`xaP[e$cc!v YxX&D.4?\dOrV: 1hlb_\FA\u=wqփX~(vM/A$MmaZ7iV5}cc* +=~YBΊsN>[0#?'F{g8wZ̅sC\alS 7D[ϽqΈ\شsr(Kd1j;T. qKq `xϫǷNԁ7D~Ylp{Wĉ?v9hw>`ޅeMɼ@F.bILzhGrg>9Lݻk ]]寝:@n蔩%R~S@~BF=ku7 ::NSaJپUx ]2 %ʰ@.&OF]?4s0H%H=o$ 4Nwpűӛszu0\Gy+IXP_ #Pﺓ7+z 5)'RyI\f?xdW=-5a9C/fKJ5l#+A T.Lמ^D/ikecύEp'!#_a51yp*ݱ9"/ s>MIy!, CVlΠ1Aо%4p0l#L`@ of36+""`F|}ݹXtp}vswL߼0&Xy_N3 |0՜Ƹ1M# .rб~k)h-ZF DP& *xX='s4TgXC\qKe f0TSrpߎҲMwI*WmHT16K]q.?M&5~|1҉7߮wj~Y'g9KiBy{[A5F˒GsMTeB&'+G䧹"^@MUÇ 5A>V25Fg-}t-&rУ1ZStcNn'F qbNoӐ֜^aYI )ZSNYU¥d| ȩAclߤJJ~•D[TÆFFkHakdǀѕZ[ yc z!q0rJ^[h K1E5Zn4. ʖ|2lO2ؤƣ9]B0=݀.qz)6ML4[VlA63dJܘf]!X$D1m'ozg*\Q%"-P+ph uȌNՠR尻ZJV,:ce&`mT nmxNs߶Ֆ3alўSC#WY~k2*7ht)&#w8'U?{|q! ]"R=GzW+°"p #KpK谢K&iYAt$3Xŧc_< wI4S_R1aKUg2ˉPMFf;XGmܟp`qonwbuHOoCM6 gúBg}S[!p#|/$X BMl1|zE~nSd ި:P-v$RƆx\-~I:ihBf-#&;VqM8..IuN-)1rFeSlLIYz19;s5 h.ٻQe}ī{M?̀3U"S|oEO+* {M[ ЯtgO^]{_C%H3Zb\TP. @yZ.:K M_~OU>;hf@? [+SֆPgf`x}F"Qvf76]}Ty YAR#īR.m.siaizWڪsv=]ϥEq QHѷ[ 1c ^մmmtX?uUt]@£Q3Du;c0!_C$ byCME$._}XRK>66M8g0Tm"4 mq ˩6k-xhfVhh\Ln5@nﺳf;{w, kXuݸYU/@}2ͨ l rp6P2ݽUNU8*Lgej\D.RZAKTMe#4}B X.DH{7B* PcLP I#̃ii!f~0cߢR4:1#8`[ɆG[ 'rz{ \ٳ9xmඓS 8/z[@R+sO,XA<|9㜠\ޝ/gi)pJw"uҧB5-$AuDǘF#GㆣMn/34o<~Cʺ5p5. J""ya:D2vCe}cv?xH5p "m_2hHd++ Fdiʨ7Zi]Mָ,Dw쵚-s dXCڽQ?6 j-C}UQf_a۬ cjQ1X 7]Jc9x!C+2m-"};*9}oӉ1ACV),z<$l7!\pR"Mq"sEA-8ȊNئ.&|EXf p=NZyaZty$i sc=eeG浅:2Lz -(&1RmG"F ΝhRmZw Z:{KSBF,F"ZKGb9xz8aҊM1 tHS ;y|pojh%}D?D,#\oP5hpJj``B|C/G]PI Q6.%rOY;P54ڗ3Sc|)P1b\[_051`^sH$\]qslf>TO4no%Dtx8+C#nB(C0JG}mIZb;t*̠aǼ~AE< 㬋}WcNUזEԞ$Y:&,aOP|E1T}"Uf(VoG?hna }D ")[2B: ]j`" YM~ $s@odE]`P?sh۠Xyҫ ^-V\tpVضww_E!H F?P"A-Ũ.$+D p;:wӀש/iQWB&_[*]RGUqJ#9N vM:4SD?7KPFZB->Hwy"ѝB_l8 @Bf<@_H1|c&Ǔ%Nӟ8P\2l{V~{ƅQR{i} ku|6cWthȺMw6I =B0?u(Jզl,=$VǃUk<'7 " D%yf,gfH3ZħU2ϗdWTC_oS, i4yb>X.)z>y SvOѰ2w|b!&!uu񏿕33ն]syoIM޾;bBDvՃb$X|^o/>l2TԩW/@"}4ײCj:1 @Jz`ΓS&3/e˿6Ӝ:epWb4!b\~o2v]xxݟ![K\a>~b UM=9zy m+/ >m̟Zk gfַróc ~-b="܀&4fLtvԙ![dg_GMEb(cFmj5 BTӒdN*ri@n{Cӗ]sI ndNA. } ({@Bk9yK3͓zz̉N, [Ӱä-(mD#H+ZG0i}=ۚh_4*TZ4x(.%F딤fuhBk]sPI>4t>Ԇwٿ[ͺ|&J6,l| FMZk>7xĽk6: ) aH, mA;yG^sQq$y=Os<*;1be6st; Rr9j ~mG(zoǙ$qY;T"܆|Ap/J6' }RMCT6znB2z'f@srp_`ݥ)ֶ:XXXaAyE.F- S:LXRUCw67MIN[U"\i+.siO^Q'zNW 2΃Y4SK3%"zigW1K/A4+ɀ4dRh2'j?;yPf0{KRdtdsM>4ż_5.ys)6x%k3}ZB؂}ʟo@%E!uB.刎.$R@Z%m go5(JW]P2 KYv;oq7ɺC#R*.[Q9cSUXA )l9I\#"]XuH zI& ]ɤ6CZ3Oxot]W%lH)EBuʦ\Z~9G#x]THx#G9yL?ʻ6o0*}N=4"LW8ݨO0b^odH\[]ߖT%*f՚;=bgJL8 aH%u]rZr X.g,ؖ:-ggQ?wE yy}smq2ﱎ+d2l'?%z7OɬՏ5X,_UgB~i8P 27&WyzH';)k I23)exߣsqV#?ޣ&y1/Чl |2 9bcB},&yn/ 0NSm)gze]loT_J姽eb]Hܴ$>r|$Rb2`%d|0%TvwLOӣM. ?!; c$HD]ݹ $˶u%M$('*R_Iޢ6Z"8Lv #`bT剂0+iXK; FQ60&qYY۶'Tuy$? |,!/P hy (MK~6??؞fZaEEQ\cO5dbg1:X\ 5Tָi`xf#ehVMhm0)3ZeAPJ;of~H =bo/9I7[^?S-P1TCkxl ?x.~Sl'}S^eg+0 δ۱5?xa"AT+vw*Ͱ<:W+H9h,c5BB.I=/t%| *qAd3YNGqUvc>қkr%$52!Zꚟ!XƘQ:'Tl j!'QP'#iNsU?jZXS!A~ԥhh]_6pL/kXD!b4 2HFnE1}/h) 12e$9_mR/._w\}*`AhV'I׎l&!,3QV˅e̕t<Zi%LjʻgZK@b`00fĝ%UP@K^KItL=Fh1"xU#sۺƫ 5w="ma|Y8z&#SQk/m}!5i fn r7j9V_v]ϣk˃#H rg~ᤳwIA<%?Lve4 ʰDaF3PM/ƼotV &?F6.gIsjėN@'hA67ս qdKĘөzyma/I!_Zɛ;uwAgDSʪ3ȁкͭUIVmյg7)eB3@o7 #P:=|┝Z!(ٌqE Wom7411]MA8-S@}&.#r3X0PMUb=O []MMwM(Cn;?VgU|hkZpHX9- IQYw^mƎyf,;Rv+$d?L-*27"vƺEUAnsf}vvǦɐ!ݜ]5ԛs5oIfyDgu7c8Dǧs?m sa+x_>S__EF'B!'&71V7 ./>tIQNm*6xʚW+J錶N x YeWI'߭4EG޿tY=qBJ)ȁi&tFZh4}/DHزΐĿ\ltR|hqʧFh=OqèRp08خf16<M L\܍}Wfjw!F a=[%b TmW=+J9cP BB39kf;~rv?&OWL.:% X~6P:bmWrGLGMpV@?I;jG0ǣ` 5 /2L{N{աT3ݷ(dwvs8/55{$g;3*{`ܴ=~n%x$x,Iii2 >u(*i{-ǀ)R%>JD7R@﷭$eGMtI+.iEWn2 =GrD0h- 'gȊ`}; ;c[IYz6::` Xc9ﰮҙ#CgR4HzM2άwg' TIu,=q%F01I#fBDn+Mr Xa'qzl ',|r@wnm<8`H-ɄS^76<`IK8i$3̤;Բms0ÒZF?V!L̓')RO9 1jue̋1X X$-ƙR !/rF->!.aO$A}K>k*WiO$_gJXv-j{՚@gܶPp-{((;490됻~ e9_|'{ ~튛qH ҅rNlڊri7vvOoDb*vCsnu0 hG&VȠܻ/gIgҙh0wgWp7B kV)) aepg"Uז;۬#L1"SbZ6(7+r&"FB]_L|I f.+hNr-◰`þV_NF,

.hd,%iTy`;E'Zʱ (|9U_+doM9DzADZU[ kyTH ?`N9 G\h->P Tx,4-=s„,UP,֘?P:h7L7^UijhiՅghN0)ghPuu/sB ۱(jog9WO/AR`:@t*ĈNJTtOg'u$ *)u:$ԖFd3J3bd,PZb'hW1w83,tEbMFܥ I ÝF>Xb *L󴲒rS>@T J.=="OZ0LlIw6B^G@a zW>2N>$tZ7zɒ7^+}6]5B6YY AҺxMdۜDfDF)x# T6lx2"oZXm"WrT0{eX`k:%r#Roϭ[Dy(!|~/ub}%$q=8zYn.wS xX^78pvaefyvTqFP̂U_̚grno(ѭ'u rv`ax c1ygשeo)14/Hz]YܱN$aˎ(dʹ Z7R:\qM!GEm.}N5˵ϚK*Z-!5焎Y&Ǫ3r8F%?}[M.$O>eיL;A/q ZJ:Kn&jbn֛jwKN\)r>MX۳S:Τ4FswE\7L5 Z>ͨP#Twn[p6>l5GL+ڃH?y7xiN &@ވG2Ӣc ^ :A.'"}l/4)W~&".D> Wn` >!1g I<(x VPB'YIUn蒔51/hz߃$<>ZjIϦ[j>4(bXh1PrWUv}8 i@H89>Ֆ:a|NP; l!P n}Dq2ͻ{[3V$מjXdmJlj~|+*ַ&s>Ի "Zis/R:N<5DvDy~% J(Wp$͙oìdVAO* =݅;-FMjLa=@5-ʟPZOP"j21W$F6P2vmXb)&& 7v~}&WaKO%g x+ԃh}:r~tR|A #~p!hɞ":(_T"Gߗ>qD=()/xBK8!S$I×cr-Yɳ)4u1|R0 bx2Ƅe19xo:4jܰH DaDuLTQjcSÒ1AR1RCT1= ]OzMA|Qד\Ɗ̣N6Zp3:;rNnB10哒`Q-<_ה3˱2L)"Pbk$KjwqE 8J'xRSTHUbm^K(Z>Ƹt=̒ C aƢ[>6FRVF:Rea<@L]34;yXK8T5'qq':epUG~{W gy J~}3X 0!NId6R{*R40O2t]L̿Z/׊Tk>{+?UY #.ԘjtUbJ<|=1i{sP>dW:.lL3kđF_6J;N"vsү!/~ݗN*Ur,r6gW+b2ԍ[*%t _w`to3.G[K10YvƥӷW |&w T&[=:kُ h1ԑU*k^ {& y}ф9SgP z[8&AXdIbl쑘^JjirJXdNCE\ nJ} %^>t8,#%BD=>2[;o8 2{G:MY VhS˖l8);.r=srz>'g GR62Xa,:W4fĀ ӗyK^TcWv2)GGa7u8YM"~,RݐZ;<>-C)!TUjo5bY=y[m%; Y*>j3S=hv|i-v{2\wE`qQ7`'43ssH 58β{̢g3+{Y/"q71xPB Ӂm:҄;u,꜡cÁSP 5Svc1~q`-nPߪl k"c˵9b %$*YbβB!2AawziTN)`mi},8vAjNbN9$٠*$1ꄭR'* Ӟ^*vb!Pڄ?C@ɹkʼnz1iXPβv&t |Z,0J%Kz$VLro!ua͙i$v7g6wʴzwL_q}R|-=+pNwGn0bx&p| plSתSwcG ;nmnF5QW(%tg6+ !U.͝2|lռBpuV<>A _*@V|qd*AhEtpk'qI|ïD(Y`#`Kۘrx"%uPGCwa!>.Pmԟ9k7J_}陹+*CX9![ՠl- xCaY|jz=4'<3͓4#T"0H3 ԫ:xL=]] QS%V%2e',]H), +%CBޑ;Zm6k*, \L>vG( Eg*;H5%?̾QU`WF, 3czmUҶ= 4Op^W_ 먺<ߥc3+oأLnfVfT'|=-/4Ϙ_6b˷&ЊzG* .ߤSLY^6~@Jڛ!,QN07mҔ X|UjV|BsI\4=(#TWr4cCcUM.%O,JǴܢO 4K*7k$I~ kvxct@bΨcSQ^10䦛Klŕ R#}Ez (,vr!𾦯+'ZFRk6NBjڍƨx<4Q3`R+ȵrL6/z(g>ɠYy|`Dzۗz "SS,թ)5 $aĹY>C*m-3hD23N\F5RПO$Ss޷tfQ$AtzQkg M,:j;d&@[j*HRQ8K;wQ(h..Qeq_̌4 21$I/sʹZOޑ.§%<÷KHksSHlNGF+V>3zP:Ճ6gR<౏hSl8u1s4hf-) fn=ߖ ʝ=2+iMz矵0A!u9KKmTw"#rޚvJc;L )D}t@&50/1E6$AqxsJß`<(R?G>.uc޳dzuob[|~PgPJ@͆bMVtFPp&uC@|kn~};^K$4I)*q}VC0 KzS9&<@d C"`t$C^+f ]4牞κ[>W(]+1kPvX92xdld)?")u/g)!(:S/=L粒l*$!]ÂWuJ<*uyiebxM[iн=Xy!SJ59y8x`\5 euNqA^{{ /7Y8(=kʌ()GgH\t ^ؓ/e4bM0IO}プ۳* +s?Tz[ֳSTԍ9-nafo?}RrHunnZ_'=֦1CV{_WQ`wG ]>1"}(ef^kZ-Hq?~=lq|'ለڒCY2E2dpPWm E[?6oeC؂a\7)8YIcfRdԖ|x-_9U62CBFVWq槮9M](})U՚ 4ǸRjَٕ~^*Uo dH{|d豊Z1\#[KE5ٱv!_o)"U CH(ƃwldsG)NRѩ%illS`}]4|[o$7!;v\`ڏgݒty_y<ҧ5/Tϕk$#pRW4\'O~k JrVl+JhniŎ½6 ڨZ-D'tdv8V9CLȂ.|届Όv}_hʺQ; $ :{Ojp]xU'ad$֭vfJ"F{yUh,:&?P׶pL3o]%gV&Uw&lEݴo&GL刪_A)# f5F}c !a5Z+WÀ@5 I=GG|x$<6 XVB q8`&]bJIv8^֮vĀ $,̓ElZl9:jޥH*K^vL`[Mۺvl`\ ,srg-&ud],wWm>JJ [su= q.@ٮłAXdt]9I8㻜cdEn*G+:Z{:Hx~S5#'^6Rld>Pr*[̈w)El*.Mع6yޏwV]LZ'K>O/j fJIDY0?* [zS-Ѧ:a苮 l!`ǐxE CU}/'ٔJ@ O*QwP^hzH=[M':xXS%K6P^nDuݱ wu(FggqYaj h DmVȟ$\{$`'F0NC@Pb*}eн"0 0/bٙT]F]1gB9K`Xu$W3 P64[h[Py0 f1.xU[|RI@qCG viɸ2gijd!u^d[JkExslfR1sٲ^gƪ[GDcuF RM:@,~MYdY|![e9py@>VRڎpPó˞&Эw>ҏOǙ`CD nyMy:a ❇u}n߼Cq,sWb'X|̐]uڋcPb&8nS[oǬ{\x= ( ,/[e5x",Aq$yhFzNiUtM 2K2M>e!{ڠAțS lҸ]2}DmP8 l/x΋`FX٤tPDLzVP_t˷0| DwɄw=ᘧLe g6u%l?tBwJ2E{3§Rj "%|TuG-p &{{9(fɼ`ȼ (%ztjh*l[R:Οĕw8S4S붼=߶J(;䵭[_ :5 e]Dm'X|k#FnFXVk$GXWJo\{ɻk{Eo""nac&\0-@QfϑBL|^_*@EЀFKƫ(RV3w<0@GJza z+('( ũMi?h j>A?8s5UJ*aXu} jr(,+<}9RJt"it`vV߸D@~H*c=Ply6Si[chbCܯ˿t2ED]6[?freIaȽzP4[#ʨ,'y!ge2܉Esn$}kVdWO*ud*ba3?t( *0C+R~, A\5B%ٕ |MfxrY 4e:RsB`h#*P0:Ft#Zo*vLg+z=^KqG=*:lp'2嶩1¢)s+ *n!I3bRď %IMu!812`m>Z H2ƚA2-\8^]uFCzǤ7$SKv(ζF3{,<==bL@2/&eN$jj;)X>ȹS7Y). l93wA8^ 7S63n|^P=a"04Lj697:x)mEdS SS㤗bYyjlنqv 5_thCM ~"*]s6.Pdâ@:*y%GUb;E+,zqހy-w|[(99HF1a4z0U^,fr~8 W۴VAH*-ZgcCe];>XJS u7M;qWy4偆oD^25戾 R:^ٞDӤ>N4 ) f3-n7"C@H(֞yT eLίtzRu Ŕe6?& h}'ޖ+5_;^ ,kl0p*m=F1jG3{ק->yCIl`SO¢9"<}/ֱĚ0}Lщ 硶%ytdԑ2!0QЦ)aq%&5 +,7k-nq߃w.>̔qD|׉/.0:Mv&eAW&NqMG~vh쟆!xZ&z I TK$Ug2Ȏ2+J*خމP3?`h 8Vz K\\#OWP _uH U⸡αsԆ?Ðwl4BgSgwyܺ6KDqǷy ?qV+*nɸE%ں7$/9iDIB^b (PG%al|a8^IJ6tSʁL1ʃi PՂTRIpy7/1wi7>MP^EYef@CEn xe B]!{e֢ lϹpGWa}|$=816I Z=0bsdV4hy=z~*]&m's$~kC-UWh05w|harICggb1R 1eΒ.xM3U ,~ᘃitbW6g9a\9ɀ/OsGkvͪO#Icjͼf1KopF=;K`Cư:Nwx5"EⶡBbC_ySjQ>ڨ>G<,WT!Ր`)u-#P$O& -<[pΜCЇZJAnEQR詼 KZjD󕖤N2\#D( 4 É8%iEEj%x)O#@hz;SÑOfoEݼSva5^ɗy>]b ?#kS T $㹩e?GO&}rw=Q5EZJ s5MredHynZ?ebKGhLC_@]zc1}w7%϶sx!ІwJѰ9ݣaP ׬}3IzX!jOlH)ax=X"0#jvxTgT` fmJ_x@{Ψ`EF (WH4IЁ&hDƛ7 ~ 4['z{U{Sۺ[o &Dkgw hLFMWmI)~e=ʏ'KuA0RB4L W䓿IF =sJ(Cv9ф#+0ğBX-.杉Sd7yF'tLk^Ij,8ˈD]lqIn4@a06rZ8r&c9lw;왤qVYѤZ 6#fRT) NXTT'\8SK1?>ԳWaҧ8HS䤹`rDA5}sbD%̥ϳ [W$#i 'a0>s–aP f? =C {Lj0 _ْA L(ǻS 7w%kJc@. ]nz_쎪;b9yh%q1-v8]QE FuEri/u?zSꄵʼnalIֲ3w14n 7k7h`ь#,{䛖 C= 6! ! &LGuyMP*FD~;$3-&W.l:h1v֦-v R^ҟ){~VaEbE߻?TjMx[߱QOL3"O^n$ ySfMz2mxq;$"'gW&zb߃r/\z p2 o9lv OF;r{G:.m,RCz4RYdl.sj;hB=-ų|(U5BH+f5 Z*E SR\߇5RۊWmvhꪜC┈ibM,}O y}К*f\ve?/9 9D0`Jbs t$ȱ3gO~oAXd df9tF{$I0e/Gd>EfGY?WƉ0%2h ƿvv"j9+͹\1 _XjI0+JQR{ĉS_6:xK%8[`#ބ7*oJ݈u cI+<9 =2Y AWw(޿騊TԼN=vT'CS+CN0N܆9'7 o}ByCS!\ *Mù rb#i,A/Wv?ˎSǹ8j;AT1#bΰ`7eCeqX_>n΋oMDKXU2qJQ z#Aٔ&{qowG0&W# ȉ׵m?q=ΗӮ/]_754Q|D;&pe@R!IaeJOQ?D "Yـʼn LZ!9VJat{]v|C.YdqgQ] ^[49c{X-KƯ}Ɗ-GbWםL\ n2Ui_S1@$xi2o\4spkг\V9(lXQvUuw'ߑ~gZyIPbda@Nǥ|S_ n2 v V,jAX7e#,YI»GfSHN`ܦQtDTeQկi@R; ^ ؙ҆gsV"ȯxC +tlYWtLHt'MƇѰ_MZ`s;eB,mVk"0-qV 4hXEgAJ>`Fvș Z^UA ʊ/Ŭ&;`>}cyj 1Gܖ#>!o}a_Di0,Jѭ}b&v|ўBCVe/2+GJ~ /ɴч58CT=r 9^:k59i p{C;8mruصI$y[€)pK^U";C7iVDWv@.ipY+FǑ.I>%bٲ~.|_&ye ˎArnimZ@*(!sEzu!}X\@īs kD']Iߍ巑j8(u2 0*3/bdzkwޏ`A[҇N1}zZDeE@wLq5=1 P6*,Ya، w,[N qa(Zhy&2 WE9wX ~ވVVJX^< ~5oޯC]!$dFF,Ϩ' ~+m7 ;؈Ob:xAgpK[V{fZjrm}3|&!vu\I0uRHtM ݦPuTV.s,66y,͢^ <ޔiAQ\qPO-Qem D(>V`0TG@;.oaX\v`$ZOzTjDZwiRI:ڥ(Liƺk8+hyN?j߉۶R~VIX=anLyZ)pvZK^:dS#;߉-Lh)FFD"{#Z[(msqA|KJq;eSJzIwe-ma:f߃cc^^·e OIF Ot_=f#d6T@l?a94S}+A: cX2'0O+&lha|w?ŲڛX9trȮl3|H-Hϕ=w)E%Bt3&GkOQ-H{9.O*HUa' kqmܵlS.p'Sק^MKM/7{8O-ﲏAjt?}?P.৭ȑ'bK4Omhd Fh=K!<]咪-lk[i0FARdc8{O ?TqrG.U}G;*t.N^ Q54q Mڏ:9??'[!K :ڇ$eSR~>f+`+T&ؽ-EVL \}®GTh!zRu0-G}2| \ⵈ,C ~gFnCobE 6h}]7)dtY] U.?^r+bqS,T"Z-ވ)su nVxL} b1nj#k`hjpʜ9FYO%Ҩ\)UB\RMEعdR>ѯ_/qja/nNc˨t˛`ZQ0rPS1 o,I0vEzbo4)fEcu MѴŮʵ iEz:9`0Yv ؄fW)[7z˲&9 gʌ\^xZ1_^SRA_ pKhlZX&,/D*'TɫHB"<BĂZ[5>eMRt"8D'\K:\  +us0(1A%%71 LRF=( L $`cP*3k7|^4:7v2oh9.^\K5\:"4BF'kOA1h&u;.{<$ E w*^Vf_٨4fA_jLp]?1SE^B]"?1+Z[7F7` z+>ԟ@tƟ(l+ir)_.ȚHӑLj>e'g4*j#Kx5bX(6st2 a B 6kU$-"xjz3(( (x/|~ [6xi0&|[}Q$,I3?L~݉֐QnjUwE|^to6 &ܠrE}-M?ljl#g {$}zI!n?.5>/i'i~_k?wZAO:";z6I %"2H)k- ߻Ix y*"¯-Μ,.Jg#F'$w]S0{Oq35)fPLhNBn2n懤iRW8,= G'|չY|uBxjyVZ(G2xy |ߥk$ٶBsMxX㇐b6^e {[2:hXihZCd@L&E=|!%2_ &^EJ5f|ZQF$+*F!Qw @DڬŚxAT݈z/1/C8~S 7h+a9Ww ?^kF>=Kt-m MMOV=~)g*ԓbWdĝů$#wi 4K Rذ2+28b_t/IX: wkPڲ#-%eXc'(*lrTH6x?k8{HHwtWmx^ISB)BnY⵼,}`f=]^2# 9K:: ?ƚ_K[2M_BXh8Fu%W +2ֈAbpP憷s= I]gp 'Dc?vc?]Pp?b$BGf$7Iܭ*D`-{י:lV%Ye"%=Q{hvH7%YrS<}>#\#^X>XS 7> 3\} wL{ρ 6OL7YpJnF' 06bЪ)={6[iۚFTbԮ# Yqa@;]6dlSPrp}ju) ϝl"~Ps2f^GdS / !8(pC(UJa%Դ !{}g4,00^/vo'OFv? !pYlT%ZqP.k+A5+D+$nUq!qHA183]zXmiB/?9d@cLQ6RBу<&PnsEiVi}A>z1~q»DD"s^Rٓ3^x0 \gFTH֪eP{kT0c[]F5f v'n1'[(ׯڊ\)d-xߎ- w5òSV!b@| mԉsw/%J mèͼ#,pQUw ު'"%Hh^u)#[.=#]Ķ2X]Q$6r3k,)c(d;E`zWyTg]zGGJho^qR b,}ճ'MAXO|.X۪,͸xA=T!,TƧӳa w;41@w D VN&\CWX[vg:>Ex:[Pu sV#~dum?$>O轆 H^m//ޤТ)܂5} l441E. -zڅBD覱4\r׿6.Hr,!0NCd4ɯ|g 7yzv):[f`i15U%xuqmBVwgLYob]irX8,@\\ʷ Z6Q^+sPm*Oɭn bk 5Q9-CSQ/$[w7{BLBϊJE n{&ʄb#lWZH%Ux9e"F$QKp)Pa/Cݍ}JV/1Sll\FuZϕI2#^5Pa:3g@ |Lj貿d;02yJV.LUUwo?`hc]DZd}A( gNZnE̛ R%,&= F ~4Ld =wޝ5t a܃338w6+=\Xl}팷:O,uۣ YXRΜw ! *7Ks3q+bV Iy:m?WlGsÁarfߔ3͚z~ GNL~ Cշ]hCJOFi1 JvI`!Rt݁O!}@M۶rNX)Fʕ Z &݄ z@ٗPL3ܥOQ~sfɗJZPE/zct8QeH ܥ)ʁ]9Y[ߴ䫜an68lMYgi#OhC Тk8|;ZDx4T RsDaz$P~cZ@%ýYX ]{v$8؀+iN -773$ibU$)[v=DSC{a WA)zHdc-Y nkFvxp8.~a[~ޣC=ӂC NrAބu cIO8?ذG# gE߷Fn:)!@j]gSbEZ#Son+6F"MY[d}2$eO9#'&]yy^ɣs~D4eaAɇk ̖KT)aYÚURIu>PFr8#3²*Vr#0Ev$Mc 1ƏC͍ˉՀ oMWQa0`úd%hi96fho<%1\kn1[ 84Ӗ CBË8'Nl֔F͂XM nPV<5^UX2ۑcLT+%-=CH."kzk!2pJ={2pk=k=>'>P)b߽2c<$VRK*TqR/vDt{u+TL:L`A6;}T} _g?%ge):Nqre.vك K}176[&&~*g:Upcoq^ H$}g5 O\;PI ufRsnJi6zE(Zb\̹r0F(*ǜޢDNB"JtJwҝ\\?p|>`9u)]NKӷaoW~\|f^ǡb*-HV Ϭn<"hb&a}'Edi9)ܓ蛣e- 0>M&2BE҈пceT:B;Dܻ+̍1'"c Rʇ%SbLy$0Uaqv? Iǽwý%%Vť5kM!CK6%lQGϹbFL]=!Qk(F* YH +L\8*@z\~JٓnO~/w[ Ef}Dth;69PAﯤ, ZIZn)_q,h6ܦ#$1~HcKKY۬'04U>ZqGcb>{%RM]5x5`2 _)׻"M;A9ջtl,6jJA:7!>kCj] Jɔ"a6tKVCZv1Tf&(/c"v^y:,q+$+y3Ud}⶚t6YU$4!BSKTPitJ/2|z'@!o-cqÌ;^wmx a5$mpE˲!'ձP#zvs0BO?sJV\J*, ḢMM?6jSWg!%Q;;psPFlh9j[Q"hcT\HSXMYl9gK+mJ-ӞO*^S4UU9t"|%D2%j1ȝ#NeE 'ԯAJ)"zDK*tb18wxfMgyD!sNbS R]Ʀ{u@ik^d<ZO9tPK h9gX+y*`-V;ҡ)cI;-E.#Z2sBQH7(,Rdf932h7j`tpIM.-?z{w@q5~ 5f B;{.&X9RWe>}p9jFH;c ^tWw~];b=0E C3_AƾM[eIݜr7WZd ˈ¸̹ݯ)hק>J适(C< xgվoDإF')9rH6xV$`ɢ}Lu6ϐ҇:+JGت~7pۙKmAi77yXĆ[av:eLGp@Yxbez+me#2{Hc9 mW}Zvxz5+ B&?V)1]?*#,.jKT7:ڿkvX]u#'#NX8'Fc{ X$@UK!a2ʗ.?/@ W;A~b*`zWv( gwΛci(lԊs~kBUaCh1"oĄWEM.:CYw'Cvz+GoZшeM0a%kƆm;O{{1Y49}2Shzi.mێF%5W76 ?M{Z`6@oEP V,{ڀu2QXm"2ɢgLG%bݽwՉM"mJۨdPK읝r2׷㏩ v-)Nu/ JD*yzRK1Ss%}*k߇umswf𹲉ODEl{\] I}|ԋ;h⎌~'Ye1׻w~5R]8;TePp/\jA dr߻BX| 7_Xy5eۡCm5weїpu[)h;;riYpgl;Ԋ{wH'հAkg6Bn ȔC$vA#6.zwI1=ń ]Kj[NZM"|MxjwCRq;?%QRb& ɦjv $w4E-bPضP,X X5TH)qHȵqvӔ)K=&J%Yۆ#q:pw]v!+M _U+$`{rBS{+S/U>h4K o~qçIPX@Y3X̌.AUO S>.~\NZŕutbeKhzWw'ud) EJ5$N!{@')K>)xݮn@$B-MAp ǐ o f%5Jx~F@~n|nހൟ]:N}̕_.}'MGaWUS {Krd+$[dR0/rYbC_$!"y KΙzۃ6N?be-'xbA牓zqH]-V\5Y ÿipbG^.BF;Qn~rL,P,֣6"tDO^ҕ!9s"cʦr:\w['H| $Jf5/v`Zq0)]ۜ&EL8“C ?.< zVsYYc{'ZWAIEbe ңI!mk7dykpC> Xj u}$lt+*]t&pKT_d=KC}Kꦜ7p2b':UjtǺ2RdFaMp.=3]gXur=Ja2uzêɃdC3һ VfpCh_90&V[\۟' 4ni*{@/xI< t³'FCxy˰(5Ȧ\l>V CUʞk]:Ra+ZT0«}Tl.'/MN8Xl1psD٧T>:[QlzY& aSX4PLe8P=Ц[wڎ"SөjoZvGWd<4``A,dc@ ːPPZ{9ʥ/JWY!{bTpI\sv肺]eR`IZ 2X+ XC+,نy:/%"BʜSr{Qq][U9(`~,HDeo11]󘞕ɅMڼw,n"3)a˄EĀW}nc8mU T~] |:w"G" |\N׍=TZ73c z`Ƣeep`}4U $.Rmozp".u܈EYL]v'v7OQ|D\u1DҦ~ixxYzL?}nڌ^£aoNk:_E~n@-{~l޸GȼAPȖe \9 }gQ</ӦbeUy}SyRX*̼u"L$DNҠ`lN,ZzHv@ lW_%idEEjzA`"<1Yu%%w{T-IQZ4enH!8,dQ+ҽ2M''}ЎB`ݢ 4,WB=#"!}JoU rB#ApȨ+Ciu^L[0{iMM BPf̒I]tld`E4ۗI#q6jѷ{նA1{4Ǿ|`_ qœa0很8ÍrQ,W7j۰ x0Ϣ{xhB}NZg"罛cߞl!M >\Wž{@߉{S`HUBK;h- by:5#3b8'Qjl2 pJ%$V$7hd<)WH?"TS\f Pm)Q͗BJoڠ }*:&1eB?tRvl NYjǝo]e)߷fyy|/jU2g"dUe:h^}%^UQ(pBi=;`VSLNGJۼXAX:W(MU4wv=0xIxRB`?9[?Nf߮ ?t%25>~8:GT_32QˎxvpGʨ @ƀZ-V 8d۟X,p]ӾLSU!uEԅ1QZiYHJ x nIS|o9|cF@xcD|Cg33nC`kw2 L+إtmtU9Y5S sIιMB+p}xڤCnR^c0b=rLCWlt[c&4T(oZ v {oHi2P6.Cx E toٝc9m(XuX> Zf1WZ*rJ <[EVVKR0DJ經 q,\%|Q`&r`Ǟ^ .;z'X>YZqn tⶥ>1oo))/V̧2J!VaS: *=Fz.`%nio $%w{vHb;. 6Tʐ8=8ôbI5sː=j[oom$9#- R mC~:W剴qJ;w^{L, eZ71@( ox`G(|#*؄X*]4G/ 7{## vavkxbuZyģD#?.B zSz}PlL|SX\E$fP1ci 7zH^}NWL9s^89έ=nZ@rC)/O5B`0؆pJ0DЉ099ml"`Y4ʠ^g]GzT1;p`Թ>faQ{;Sf&fXYyBF)MZĶ޷](R>ؙ^y?z][ JoQP, \k/a7?ts$nϕ$ZYp# |y3ʚy~z?/#hZΨDbL- uf3u}e֞%IYg D߽ Cqd)loLZpv-Y:j:P>^} ·ᝩqojQA l\mgG, ‡/F!*?BܐKrd+>r+(s7 ~ pe8@dI3{=T^?/\ $`Բ`Pw ߬HlSĕ~X n16dc墎x+fB[Q/|Oq:QҿhJ|LSB+߅틺;ct́)$v'+K`ɏSrQg!T$xL[]DC\ <2|[$3:u? rC|[Tmi E*!}zbbRJuSƼDe[mAGEŦw+Dq[&Y ^땋<0% d ']@4NGj;IHUZQSOGX1}:QOe*%!p2~B/v:k6 #rVD̐R8Gۻ^$KW jpjilmfR2#B~G+qA bLp:kVXpT\A#VPzJn <)ӜTYp:V+f/z.9L$,FsjS7"Q>Bo*;Z[5*}6g8biF+Jv΅WS GĊbK<70zHVJK9) Mh5ކ8KU lKJv@y+rZ=uiM L>qE63v`{!)s'-dY|p3^\phː >ϤV-)C!.o8b.8ТמO~T$p| "\~留kq>% lTzƫ`[!¡Gdpzlr~Xi>O&Ůui:B_ (8ms_tueB+xIBX5ADn҉Hh|LSdysBLaR:wd6Ϻ%?mX\-\-0ojȓ5dž5_BcQk}NKV=xo쟀G}d{\))PˤXGUa:hd4B8&V$*qsj"5t0"$Sg[Ʉ8rGmދ/8m)MJ6P g6ar{_:?Y*vITO*64A Y4"\~g]'C2)äHB㓾SUi%  X5O ;QA-N;oG*ryFP K$?+MRؾeӓL*e/}E5T'%HXv= ~X=HߍS:uh,,1g3xnjʝ1x0 (&*})fSbB!>/m9 >ȈYQ&,OmxStu|D Cl̄oCtB kfJ4B 9x:8IVGM~0yIx>wB"\ێ8DG͞G"m[&Y ߜ̡5hMoϿH֬K2[J=ȁq=y ڠ)UYN= 1N$Sh9B4! ؟m=Z2;Ҵ>ۤ=]04u89]V𪰵٩.TJ\OFՖb ?E+= Hd*;2`ޢܿލ=B JIo,uT "\\)7x޶;>ĽfۡJ'Vj;؀yFt FpuE><(\@$uϜE--U+qA&N1 }nGH!v0Wl]T ]`g\4rO69ֽM \?0Xo`Ɖ팆& BlCav&HbLաO_n[]L0rƍKUc0Y`N磾-|Ïqdf}Pq0MLxVcb- d "X~6m&a 6 ߇yδse}olI -Tn mmq0}۴VJeңx%q`uӱULPu=`A-Je?6S Ld6K|82`Lo!ч*o1Uw7yV^U=tgާQȌǸdgdAՀrɳh̋`cp2bmj9Z14[0YfـRKnѯѕ\xErTzOvzBɰ2ظB2Hlz ӰvfGf}1f%x ۭ~54uEiPEe :S P 86rF(OSOLO C.nԙ~_Gx7<^؄_~ɨôA}7hr"Ȍ_ls{O5qhA=y"lWuY->FU)jդ}5j͒_WtEs 5̑םrSm>f]7j>қk:ezW֬p`EEHP``*\n4ː%nv&ڣFj29l7`PX\%ۑ߶ks` LQ=cƲHmS,xKH% RHNXo],ƾ{T7:P27N2ߗܑ6{|33W=20 ڴ<+qٺnztdp4eDQEC҈H̉ք5OINzعduLYGklS%G*T!o?܇lH yc.cZ@<7b tAՕ j8K5]N%t3z9RϊHDcVs$h\E:? oc& {3LVْ5bᲣmGSgw%Qg8@B=!_Crl3вNf&i2mH%Scb )'?M5X3Jљ0\T{G8'[[R- ?yG*mҴVDO2$։(m4d_C~ !YUB d7L 6]J$p=OD5:ka1HPo~eq AGbLKd #D Ryu7 40ٔ|)ts2xZ. hV)ay$pE}Z|o ]7>t5#DO|ZM`HN}-K&;GN /pH/+鈵qMf7xtx_}E۾ggRIҺJu)s :XLrԅ#ny bT\8!΄kGmT 6sw^LY} I_>$Qcۗ9)T}hG(|hTdaL->dD(0?iC/ S4c^,kގ&AoJuL@)Fc}F&[Q[ɳoXm7U4n13C9BF=LTn)ȑbHI1l|^| q:x#UX T |7wrm 0N+ZK 輵%ײbulx9Z\4axtNc4#/;Tܮ?{SAӝr(58aRaa[/X@A2bH8)y/A]j8Ȣ%l;O\IY-jg9)3|z #6NJcʉv맹Hx-P75{}2D*KcTuiO" Mv4о_Ue1@HiR]Osb"E3"bP>T]κE k=}H sE|h8@XNJhK.Y@%N I~5g}r>@n;y< _8ڌvJetȋMG75gplnYCUT|%։#&9PESοyI`jcئ~po<;o78z &!Z긽#*Q9u-=_H[Y^dL;i}f4X  `Dԕ_q,JaYU빰ed/H9 )J8pDjͶ+gHFA :|@Дav\R**!pw}ߚ. tjsəuRWl!k>8!ʏ0z}XRW5s"qIlOw1;.!2$xF1ӷP/\_!J2|wHaoI)TMH85# ɍu-Ch'7JP HFbۺҌ=xoe VSDJ)QWDj zEnk*ǜC1G3f]rӝ !pׄ{ 0+OZx@d2S"p2Ҋm%_*=fss(ZkWىwdgHby|eն*@8?Des7/)\1"2D48nEHi*aNH6%E2k@x1b\g9S1Q;9$tڶ`29;(czS>n PCQW ]S(xyXՄa U#{@{(vEx`7K `(ȉ_:RjP6B "5 ]?M)  ,S4T};w:RS/}|уƔp`AFOn%?Qbinu Js8_UR;i\z iBijjCʑD?F-uXU1eؕ;p3Djq?&$HqSޅ jͷG(hg_O~d]8enjW l8Ix9K˾ٿ!vtS*wm^ ucAg{6Cmb%=qIYCDx$*R{7 v֧/_kGeSz4@XnϿ@Y|I8)鷶<= QVOc/v )ܐ\w<BHLihbߑEcʫGbb=*_AZ[QB~>!g|Kl\* 絈iw]"H@Z7h5b^Z$+mL*<; p3pEoHel*KڈS!:h~{=2%l=& #lfC+=2ZkqY<A$箬TTi3B"sF ׼IFsy {\ƈxކ0y|{弚W[;lx냱vXJ+HvPØAbBq2U) ;t >6xsqs>A-Ȓ Fͨp]<^aڮC0/[emLj+ޑee l}z%v0?8ݵ*O+zw=|6PGԇx2,V})sOγ+ٰS1Jy ȹɼ}UF/p.!QHiH2Ap]tĎwmh-4)_ls(ZFÿ-z 7Y,B";oz uO ᩘoIr^t>{ft{ 33-$U8;*s5Rvx;q$$OVI2Xl.(QJC[v(ԛǛCATb9Ys?KUe'(,L+"M7]UpAN^qۊ0k dMoXP[*;aFu .Y ZWtBF!܄+.f@tb \|бF/DQvŲ'ey^ F#o;JuZO+5Q?NҤTQ[H+Q `TIi_ t՛4SNm_WŐkpoxG!>1z W`HRADMba2W Q!^aWRykZἣJ-[/u| >r=ci|]eŖsϢ$N]yBD̬ S Kkv/=5VqECD,Z]38a/2]pOzkYCÑ/r>4l}rw&B g< a}7Ly QIѸbD2J uÜl+zLqq1q)7ň1H"V3 w&~fNJYԚTTԦkćLd=ȮZk|TMAXZ-]j7κ=g 者 ZeE_ {L_̲YRj-XM|@v Y Aj2tKA/A0s@ߕDVpv޾ npJ&d5y춢OiiYBҿK149BU1GmL=4h.*Yac'VY_\[ƺnQ2,`)#c.nS*,0>11X{\mxEzE1%^lz fKMdW!V7s7UIxF4XK7ۛ@@~Q‚LwJm!_ [IrPΐnC訛imd)WKOWus@[/42[Vxi{a8AwzngW[q8WZ@('H-$x%ɳQ"}a&:dzWK8ؔ#$TLs,ƿ+xHsnc=gj /y`"\ܙUՙV;hw-X~ܝ]xqlu11_x%Lئѝ&(-P$g >n)tڑDvyetz/t^ G+9'Gc+.Y$k\t]nzTs(9RlVu{'AxR1_5ZYtތ?B<ϧNTU-w@XW.D=B&>gL(a/ FZ]NFsq]l9\s KrIvkx{ǃF'o֡<_Ij o_ɃC/tHdN)ml8Ҳ.K;"=ïjyg"^Ju.c(s:ٞ-UfڗH_k\au!nԠB>Qz&-J#rK1;|q`7c }dҝL;#4zӃܴ_iw`P[MQAD9u r>! "8h$T¯&QjUO4WQ>]g: sI'Ysrx=[H(FP%[3ە L!5d W-~K _QU+ԫSF8{64"VO#7jҨMOhh=ަ5 ܘ!tǢ7GMu K=;^Cio+_ܱW<@Xt! EQ,L5}/C7"|y05O2=P3enWJT[M% C~l:]\z{lYӛ1eY;9c%*("3)Kg0;Ud'iM-⟚6U\(5S̛'l?TAY1Naqa׍Oi&@yYmy̸u] / '18Ϩǔ=? Gs_z&8*{ZIw&$,Hg)>(q)Yhv€:ܦf Aċ؎dP]*!i-hG Mk:ژ:`y~7d i]V}S e1rcTa̿c^|]":I6okj,C98QxfUyj^:ѱLǻ%GX߷MOGԸH~ OO:6-y t? %@џ;hNwio ȶOnr~o jaj3f[^Ә Sj|yڟf7͛25-u~à1Rm(VYO?&ptZJ2Uw D'-3wy$9)Y 9{aJh,*է4WH\idfeKyN)ltSF YjSՀ=XyTX2i@E6r tY LuƚJc#;+ Ql ݱv/Va)3ߢ!vX65{m( A]m7hN xjjіBoǓ!#{n]nVVie#f["Ra/hlB$w1I7*51jֽ{;4 C !{d'[=%qOV uͤ@߀0>%uvn#A pəTlyr^ځ;;1.|Sx䛨`I&sS5Oyx{͗5EW^%y}ci峆ia2 h0KȌxLfW)0̑;\@g \ ?idy\3yȍ3㡰L)4.0Vm@+Xnsv WG(Ugxw^E#}z՛P|Uhu 8yJ)lZR[wCMdVr9/|tSHe{> ze]Ë &YR($ Ma4\"޷7"'(t ^ RΔ$CqTGwFQ:{5EWwKܑSe6K׫K2bs=rF*4e ̥zΞ}DFW90aXp$g4 lbNǠ$ق8NߩmΚOu>Z&L /vcй#s*]5cg 03֐d-aE\kyg*mZճBk3&݀4'2AHچHĕlI'd?Y!^q4&"i鼤Z)X'y6SW<tQe"TgW9%gzW3B &nn۰T ּR9魝xx! xgu}­ʊhifU'y_[?(iAU9*J݌I{яr?FRxJ)pwC \ 6g嗐ʷwjNץ+ z'r4BÃ{=MXDqSOQIj+;ڡ7 utȈVgÞlhOJ]n~eV<2Т5xPE nљ-1p՞kzkUId}31#G\5Ѩޱv#5|B~QdDdƮeX?66"Ǖui<){E~!*.x/z,;xCv_;`kaG*ԴHԒ-Sl|5G|33!%DX ʩE >@xn.A|b9 \RDkh7g`B+,=~_ChTNsty3Mq))ݖ// xkD9J4.yX:jI$)x&GRͨ?>Q`w3?c?+<7QkdrԒ@_ǿH){Fpm)ft'ɼ\צ逌TecVMgipe.lļ/*fZύ96.5mUXkywn+P_5VOʓ2y'hm!H\} K|;RlumAΝmiy>xVeԞ2]F0L"̋}v"ox%v09}͈ ǔzR .U](X֠x-1@&=@VӖ#Y0nZ@\lFT>}_e@H05L)&k-ف//ˀ;XMIjcz$MY|(}SC~s g2 B}_!VNjc|VZ/x cBA^7/BX >I\6E' U0Epcx*;s(&y641}K]n>g퇖-b;7-1}u!9 noG(_aX [%ya 9k;o5/J l=H`c*!Sk7ۙ[H5>EF.173f`6$-ڇ}yމ`GvKh7]]"TQLJ=O|3gCcR9ɰy/c n)]ax^B73XUetQkkpE:9w 拯ЗAS#8xn0CFXq}I'~Pm *RBM}v|wm5$ݯz!7I+G)тJӵ. Zu>696c gjMeSDCDVnGS_k:h6o 7̣dk|!s,Od~uѺX|z+X2'\%-k0!(СO&_`?4k7Wӽ{%2[Akc#gDޜ8!:ϳ Maeh$9yhPE<(X<cgDE;T'ts%^IRC\Py>oU4{o-{ -` Vi3?Kx+Vu/K]CdКH{` Pqq*(= ):ҳpXI%}:#s+S.$3N+ clAJsq&V_~[Hz5-lm:V~ƨG&Pj:KV'Z.}?nX #`e~]w.93Zf7 6ELM,E/ Y vMHNE䈡L1VP>:#>JT\.`馑_K#xL(9"H=b4qA!{o\ U]-n= 6]>`dž5 OqS8I3jG4g`,>ΓzgQ_bn'm$ϐT2>=XT͘%8R0q63`>xg5֣&<&xl #rWO|g1ZkA$Eޟ]Q .܂Ze vCz9i- 7VQ[y.޶tY-;4kCA'^U -/KHvC1 0zy1d[fu隃=`CXm߶nd|Zn 1ܘv]KH4eN|Mr M; Ikh ȥ?nͣ_/4,VIxf |0a>vm2M $ Ӷ}q]s9O?TIZ{zHY |Gu.t&RAo#X9#Q_,@t:A Ӹcs3ZTj *qk ;XAVlE95LY_)jWp jP )7qcY՜]MߋS.dEpwDńZrP֝^i.h8F@ !z@Sf#g#ok0KV&+xZfI4JtDl$U] Srg2fȨJ%V?+"f4&@Oyk%==V*I e2@YQ!$H(eyS T3SB\KjkЯA#̴ ŊJXLy&fXpHj| &Ė~P+B+"X %9F1r%<:x.stl"F<D)- jM6S-@UePMs m?cOV1*)1zF(#~:5O@DG|vN+:^ivp $f- Z ܋yJGJMn&P|{q ~g)K7b .F[8}%L>8owBqa %>GAlxIICŧ?;^etxz^:R_Ip,8nc8#-2Ύ K꼀 "z5^PMRzff#jv7c B쑈ތ36ʏhEr_ h(AAAb4:B{T$5 F=gWի,MuV৻DQڟ98 <=@yv}KqaMh =_̬C 3tT]v6LxX7ɱMt[}SGi#O :u |~cPV, ^;4iJ <'AUF't")(@«@PVT2̓x 5+8ޅKCW-)lAʥgAp)wH&JuBn͠Q8z`e _A@5Vg# ^~lӫM#gƶvj um,G>3-/9(ӰE@D|tѾjFxDdp 4TYD%Iψspֹ:(7> nmWݭhQޏϢj9!w?#[7~.&SG(fV_K@UhGpwpٵ2~4'+bqmpwuGD_MX`7E!] JxZlbpgeT'D~ g kwmaGJ)q6Gxkw+)qzHr[;tbҸ#z;om$ d3~ĭy%SAG>"E7ߌ`6gުC.9.׸ Ya ӑ0Ǹ؂+dIrϱl}V "$Xq }J&z;38@o iz^Ɛ-.}"Snd*0d6Ù-lϗ:zU%G#cں)"W櫋05zATU(+a`)0y;ۿ+Y, b+PO㵺 3ſ|QW!O-]#3Ho%MC8T4DϞ?^vc^ @Zkrv.1u˙. FopNqN@Ybz]&]JnFgC[٣ b"AA@8t4t(U 0jȩߢP{4p$%%oy!a":dw /8d)c@J m~/  *)6G#g$le+3uoW֢f+}trBenA/1ƿu-+{G遰W_:CB5څh&b8T2zс,cKBr~Z#SG7f`#zrCRw|.DG@yV)2<1ѓdCU㲘) fG73%e<'V>Kp7yF?SX̄&iXOU-P6T٠glGc}갓2 ?ܢcUɨXbZ$-,HYytyy c8Eޓ/>죠\c\BhBOYǑS.R._kA<~yQ㶆Lvk^a(ku-X]}ŷ+Ym:?yߢ{u):A 3  \zњf{ć'ڽbؕB{Un.I)?N̪[-O< }\\vDxZ PN^G^B(بAx9wPIR"8+s3 Cii&i&Q{ Z}~dyEEf0]U;vyK\ᓎ4ҝ]vCmM "08:?ʠMa9[fsq\?yr?c|%3.hH9!Sݲ:`y9xÖۣ]u1IB8$%+@ u&96V|߭Mϣ,i5znMYM<=khhq)fO剫1w7kA5}}{5C6Ki!_$\ciq hsafDgPKre1P[]|i*Pf<$Ѡ?|?ϺFgAQu*boazݧw 3ɾtu6 j鍯i@5*|;5ݡگ.E>V:RiޓCgz\R#ݹ xYC$H<$xa`srxʼg/:C)+.ܡtbjgZA/Um FV Wm^i6;~!I;}}״Ļ{V: \ǔneApAq ośoLEgWK(;}26Y1(rFrkx,A Gm52]c!yLR{8#9&{ؐ߈1酽ӥŋ!Orj ٫ B&ΣݖwA&?i3GfcۗSlC4'3=G9 _ܬώA"Hy9k VZ^Z֘P2S46 KɠSú9I̅ RD@Y,ӄ{Z=c55,A-$lkY_Y( N<ȧF>CZx0skaR{3#Ң9̥>h`ń[e&J1~f!-s %=sfVlpSZC61REN:-p*; 2i2NZ<j_d BJLҾ B\$#/05, 4fϰǨ/t+PnuhQȂ$#T-5isG$^5q#%MDuA` [T񸺒/1<6S?5C4doԺjU''e|B ;X"SBgB>ņZϝC/n]!@%Mg(½`Mƶ1Fא?;f, }%ȞUU܉١pg'ڟxK> TClj&10hU^pUU|GqKi;|t`ߴژɹ_LM2BDgs1ZynU(Fae7fGasDߝ/OMZ8toBX._%C{M8^}l47hdlf35[FAm@Pbr-jkBWe{s>8p.߂62+||ːv|]p._wQv)UHx-Ɠ)1[:b~|ڒ;@s Ue ܘ +#QϝC*QSO>>UP{Ha1-uX SJͩhr#f J^֕766WgBo}t?\!cW*c]R5Ȃ3t?+Z]jha=C˦v }yddLUؿ8Ǘ }`t])<(D~̩EU*?4z^) Mؚ#^ ^]=u='?[ujVH [|\u3Y+Nhn3.d Mj#6Ͳ+h` ^Adbܠ\o Omjw~bFgM evYcnR{\Ԏ~>pC>f6e'Xַ,i~g}J4ܷ(< _}3άq"mWlEÃ\z/npۿ?p%I+vGwipm!ڷmՈܚp؃암񧢠RQ3h-@4}K0B#7I)lwߡ5[/Һ0qpGG 8=i`|K%-ЫWZf78q22l$=iד䯞;_;(Y )b5w nQYYcQuDzoH[*T x%-k 9nXӿc0%]:B$5 pksy>?XnW‰k1{ZFKaW@R@r'a<Ͻ??`ȿZRza/\؉$iZٱtwQujU!嫱ρnw؜jlTG!mɡU8:x ð^(Y>K'&Y C%el?UKɒO+ s9bǿi հQ/4l_³㝐&#gFۢbԦ(nEP2_U,Y0>Ksu5mHzS /IG8 *{Te-ܯdQ@dY=b~yD^1 ΅\0qT\fgy yZpVFފ7]bN^@Ҏ\V¼7w0S]n. FR CtGiNJ[FW"ןtt=gz~+B -b&Ǹ@v/CPZ3d%@h=>@Q%) KfN{pm}3^k:G[ii#5qP}%,sa/qȷ~q r:+bLf~^5fhfC'mB앰ɼ#ȎM|+gz^V9yy\&C{u^7c;JmvN1u +p)yyr (Bd䵓|vc0dlUg,0WspWv޷վ/7T_3 E|eD.+Zo>5aΜwhS>1 ;L4 Կ;R GuugF;$[m9 'm8}`ߎ6}$5=PLNi[(vE \|qlU?ִ7l2#[ӈjcկHgl0(Fy5 @A HiW$/cN$|o2ݙ,/}4+0[f3 `#{AfSư`<6V (=6 Q=F*@ \VRa#BākH %8󶈬"׍db$*\9Nc1|IeAspN`<̆dZ#jKdOS2强ʏFh`~A {P;dZ/j(p?[ i"nR:W :|HG!&N۸?$]tT.hBs6}}E3i)K$=d5?:PFv0L}MW!>lZnX-yOѽxB+H`Fr@槟#SXpc cwRۣ+BBL@TSBcT*/,5035orl6/!Pf&({IΗ XYlAǘJ,y؊h+d 9\.kJU_RΎxJ#(Qk$Ȉ1nKB+ Qd拻ΐ[qF fwE=^UJ {,# ;\>soZ $gfUvV w& fM/Hйo-/I Ki%_Y2w4ܖANqIg!}=ݶ&5<&$W/o}v´&HYطի;Jƙlt}Lp԰L2K4v6#+ _9[G̟"d\t=%uPA3*2? ;s̜i::~9jɸL, _u\N=dk!ݜUL5 -\ !n84ZKѢpUͅì<˖^{lF 60F5dlE$C"ٌ_Lk! I ;\?W:!#*D]THd(Uź12y \n%x$zARs] \mHF 7Qtt7pha^cB SF \9NFN{.Km|.BGGP8*T|aM>Ai!n/TCuR"b22*H^CR $; 4V?7ֳR ͪ^@g^`Ke9>?1&B϶آljVU7Fԑc#=O!ǻt6R110+q97lRcKR_{Fnεg21&fgzQHߝ\i^y G `HyHuQ͟}%@{]8t)q$:σ&6p>y%v*?XXH$}2 /r{~Yϖ} HV YӏK_THބ_6#Ajxsi (ƲS*&Dڭ\ +Mu+ʾుZzHL?ik 1#`m8/A;a>-!x̙&9R>뎆Py fSA=p\': /-EBiw՛, CJ1+n.-8\8bhH׆kt#H/b757h&nU_{C"z\l2:xre8=G]6ؑ En* LR2kiZ6vCpm#:0MZPPkҟ*xbљe~D}q D<]*+6s`E ISqh2~Ǽ~0~՘/a{bZh 2bשq7^fDgd̈́ iO]`V |vjAY6;/2\n՗[hJ6j}laeRkTGtc^hW; "zcf8`Gk8 ƼTxIbے={8q'o Q6s8W/Hs!Yu(X~L-0y΁]-YT@I;ӘJ?T4 pjV73AY;v1쭃-Bʓz_.d9̽! *(5<a^;lo}xc4"=)Rݪ\h>;cR?c{xhn?*#J7B0(@nQRi[?al0fIWl=}6ڼ>Г%uK1JUF(WP>FQ+{Aq1CkTbxm@ԍCPBb Z‰}֗G-HJ;eq~0, 8&<|d]uV93iJpTFNɺ7 }^cv^v_(2280ẃ7F%~K[Hx-c"^inHDzÛ0PGe|m<cVo<( ~+z|I[:xvkbW/'=͇Hʿ DCDBj,.S1VfgoMDI^Ԉ_IO@Kƻ{(2C&ڗ҉{2)jb/pHnR&Ԋx"ɐ(}U?=)gp R(g*|/weE:H@fOz]lε4 1 II7˔ פDfVƦ")`u \_J gYBc" l3\-ΰ BZ٠3ˠ[iD*_ȅ³^]fp J KzE̜3 c x+ `/ڥ>5 XIu_ :Iо2IF3\NhrlּIԘہ!Q"| aH#N;HD=ɉ';>+"8j&3mXlkǪrL=H %E7LJe|y rrRW\)#F(RkĠᮇmVUaC `y./Ʊ7C'r9!_yh [63XDЍ?˳Lq"m@ }_Ͽs]uF/߭&W{f 1q[pY-@fm{N$cE'im9^LhUT'Q|Rux}YrѫaEX3d&\^828r5|c Zy&ݏPz „NGQW2гበxK˕kD 5IES=sS(w2i znƨ޶QpcW(D8ٍlݐ0r҈2`` c8$P?4 -sR5Y4eYw]$͈%6H9~<*$GQ $:ʝtYmZJ%F`n 2~- lg\<@A0qm"xT5H8su>k0J3F,ؾД]t'K >tX@I|@hP/mP8pvl)?nڇlj2FlK /DjjF8xhX}_ϓ޼T]glD{3C'38+iՔ*x o-O֏=JnB f涝{v?`iO*&pתs>-y*7d%+[}k!~ML ,Plz1j!MC;koNXZ(oUõDi MZK7MM񿵜8R}Q֘1^n9x0/MKL9Y4fg ?IN#ӫs>%b;#27M9G>qS;6I'8nƥҰһBuL ݥê|J d񯝲@дլ-ؘQX%MCm%qXЁ~mKWg<. &X=h?IwсvRn'\1k$O{![Q"<(Wt$Wz! <ę"%Js^A/S꧕KMyP[i$8߻DN9hJDZUh0*٨%@D>w8PݣUec}qA[ܮb2 |+Mn⻨@0+:iQ7cgݱ5p4K 䥒9Ѥ8oQ=n(*coՐZ.}QТ6ڴd\4E!KPGl`"g7mmHz&z9η+ݜ%d( ݴE!"=_=TU"J PŠ}r?nz2QA-kn5h2*81vpAr3U=C/x5"n`؋f,A 0!)qÛ%G©bSDI#sDC#6 A:i"MK1N#?BNs˳Du>&p=9M2}{1r@c;BX :nl%n5!%f|^IEmCK }*`Ȯh_|I>jj;uIR|' p"cr+vs5e .Jcy2{C^x;f`P`m8+9K+ sˀV=đ<]5{1̹4Ъ P*'6:PD kChYr͛Qvfw$L 5_z JX L5]} ws4W@R6#ڿzh叶"YϾ ~KO7e5kjut;kIp/,7sD˼Fdj0@ή> 7v9R":؉U( ۨE6h-c2ɦ7vt,ƣm p_|>}0 jܬFP@\ogVZМI!/J/kbCq?Z~1$Cg4`$1jYg悁nWX_HR kC,rL5ʋOJ̆CoUObdXcOv؃Y{g*17q4i*} o&\oŚo]V> &܅"̞犰sȥP=f6[KO- X!F ۦ)'2 ]X7C`%|@+UGVX).>82Ne^i*hF*Sh$K/{./~g s>BU tF'?$Ig,|Ijx9 ~e(3*Zݩm_b/'7D&1\k1 %!%̯fNb6r[˿JQg][Fa ;q'k>3(lc [&>Mg ,* =aй4]Wӷ,^`i\hb| ഇojs.Kd &tG;L6;Z =x{~0 dG/LEe6ogNqrslF>t.Z*_a~*Ml024%M|h`YkHʁJj9-jܑCW@[9jdm*٥OHY{.r>ԋ}F\ gt/I Z5^ W,eFͯ~\)d@Gt"aZ&#}S#3lqakf +E…hRGh+Ʒy (،Y;abP9],mBLKCb-i1u%Xy 8a!\ Fĕ5 RyǀH/? ֹ\yrTNxEXĪ*&b&Wlq E޷LY( ȍ!F&! #Ľ>F&з('2}/`? v׈Z>CۗK}.[T"pyYˮuJ?L(( %L&ex$F3K9>>̎>X!XtnvS:5&1T6ܞ2FlGVq hu]G ǛKׇR@7E|=ԙ2ߥ @;yTf؈OnjXMTqb25ڒ *Y`j_ldg-`C\$GJcMY|z*Xw*vY]!͓ 5ZӲ?Wl#?|g :eFƱ@)-n-sPY`yʽ'Yg|TKkZՔh@guݧ aF!Tz3.BO%44| g%'ޘVVQ/K;,`O&ϴ&\G)GHrg88"סpXM ߦE|#KZ*Q_ogqnE0P_P@yz9#@7WXޓ&ܻ CogbR*un`.`kq%# [˛>" O 2p}֢1M@ѣ)b*zƨg-!NfjUm p [p1GoQ}NyM&1S6<Zr&S>.h]NI-)ExCv.BCs&;Gy slV 9F@ 'OVK=#R촿3Ǿ O2BܐjW4t_u[@`a8"i_K wehL,M6|puia|N`gv[Bfd7g}Ψwy-dgaD7j/RubІ_ГlRLa}:>{aN 2m.pWC>!޹nCƄhW17=廬yce× T8N'S܅>W#6qRH;*rb8(}0O~\7H3So )^+Rs]9%Zk)^{y ˑ Z+UB (ҝJ`d#";fd'Wv߫'+bNvא`[kCTY(QMٔΫcFR^EҽX_k=_1UrUD!`TJ\0UrɳCK⡽0޾ sãŘ-p$#oM,u娂N]KR<j)rs8.MO %:asYNGUMICgK z_uqUf[$^>#qe5Vuh*q8:'3Fb+9n+ʙ#֑%Fy^K̇&vB9ӨSLD-@4ЛNjN}1}JV9}$4k,Vٳ;Kz{{upAT7-ċ^I%iľXV8xP&[嫅ꢁL8ȅ٩FyЏ[NKflB a?Lwү t*!X"\-rv3oc!*cH!V@i-I }oT#72$$+sÚlIm?wn4a穭+\zĺ)˚`XbK{=sNh-hX16 ךu_V2BVw_dwzufQD*(Z9ixG/畿U/qtd==NVЏ5Mzm왛ż 3zƲ."-JMy88j_&r ̍`ݧIC+KK "vVNyW`avEcml4Ar+:޹Y!ueaйI<1jN⿵Akե(5 ҩ*'fWA[x eR1EJ_on ٕ@ VW$>ߺ%;KMJÎ>xH)b}E6%>ѧ&lC}sGiVdL&Kw cM~XYB, \TjQ1xvY[H:~V Ґ3ҝSX%, e:L|ZyOazR<}p/I'gϦ\. VղSdf|EfPh-H-̯+R#~"(d^FM:^:$ZgW|s ~Pty+N@)JߵH}hs?II19e>bIw(E5](?@)x.F!CN]OL˭T(&Dj})sx@ìbvIm~GPQ3Aً.^"/A1hr$/<. 2Xc+k:%MYf'~!oQ"̦bHR%ꉘ"ԁK  WD#4nDk,;/K"eƳogUHq+k s@<AƯAXph ̷goT_ؓVBq1+A g'}W2ŏE38(S"b99QGA Tg,)V .vtpıH%N)ڗQnҠ=y8Tsؙ3~PXи3/{[ je Z#`s,OABHmfҷfіoAga+dP?(izhJ2 (Y$^cP ݑP?Eg=A!9EB+5Ntcw0 ? (:PR[vW,)b84dletyO1Wd7كNˊd/wgW.%PblȦG߅t}WÝrVPT|Or4S{wHn 0/{;~W}>eT ;e8 SXI @V=fY-|h<-:.srNj7Z".Xz4:Jl>+jCP 1B &9$",1fc"V"@,.Ŷ5aJJDvlemY2ftm,DSrOaZ'-_jBNv;p' [U&Ɲ\:h!X=u$pZrHxϥ8U敡\ hm[W 웁x B0IJxUy-$k뗁 0tRq ж˝E `Z (\m8>*+֏Ufm!vo͖^ 0<~'|#]ǭ$>ہzϹ7Gs9] 2q@:3wocU%G–@<$Inۆq\.r)N9 :X07ywE ^[BJh&PЉ<)0%s+ֺ :)} :]9v-.nI#A]Z& uW(m1՚k|#0Sv\5Aa@Zcl$Y;f2*{ZVz?{.[[FsqE:GfuP@ ք]s]s#$Q5*Bar"aT5` /f+‡P0V?Rc^IɍH! 4Z_/F0< Tg MSvdC SC$KSp5+cpٻs;8@ `Ԧ6-LJp.pq=2nS>5IKZVp`ԟ!2О"+qDou&ݶWњuCTSCfZ+LՂ,r۟PebU$4.{7~|߱q=x O.mP·DA35r)]ҹkh1a] .>1Q%.M\ ,,A-@l0*e揝{ q'Y;qpo FM7 ]T9],z4\PÌoסAY-2d&ImBI0^޸? #CZM  N`BCF qcwcԗ;mm= JV߆ӶdGw⨿Hmg)ReG˔dJp[ 幗~ٰ=5O";&#?ҡ5[ErOR48EWO  2ku>T\K@.Ss~lK}SUnWd*0pyxc`@kr]-3z63.@c:'֡x'%-iW,jx<6*A k1$nhDyZjMH<8$)|[#bfbi98pQZM'+$r~w3Ktsas!,T ..{p c@n85ة>pi+?9PEM JLe ݛu2!tcRza H̟\^M^ % ,f"G"XP5h4Me2GP;\&b+_n`rh0~=SG_$3h}^TAg"M$)Jbhvw/'h AJs=q GdQm6vb:*Y? }qc"HP @VE;o*vO6'w qˈ˶B{[#`I}t^v(~gR1 %@r=-Jt_H65%3LHd&,7,v(VWQ|lт+" ]iTfқh[4O""AD.ߧhhG`7o J+Zi6[6' ˥"~jYeHŽ]4ie/ʠۄm.9ޕTbq.^B8|-x<(Yz= 97y1%**&fV(ETY 3SQS+%׵C[#[Χ"zYhU0f*n"!7[EEE׺) r;hݪ\ ~}D;YGۏ%sUs?WJ`!LY;ҜH &.:#R8.Tї)ɵP(ζ{ΞΤ2=f{u TU/l" 3ְI?^tlB+EKK:XyGrr;7݂t3ߐiL2ڎb3 } A:~UێDz&{t ҿEUy%OMJkfc ƽre|-*~#9h6vW= L[ݞosCZQ8Mg\ub-4^)XnHIh|EtsnV!օR -ns; (}@vYb-[ ,Ca3,RjC@[km:!|fd+S$wpu{˝H|_ 7{<<IA;Dy.̥yrtUK&i!7ډMW(l+W9̠$ǃ*6~ŵS3r4*C?HL݇?yp]鞁S2JA8;SH+Ƀf@TKghNLJcU u_ G\0Tuiq 4@Mn lt- $☁</[2S_g0}~.EIU~}X?q/DC=PQ^œgŔ,aDhESƼ Wx4iv!#IxdDZA9wf xWx~YhGvo?8#gI \ #P‹>3eЭzv-z :}c)a0S x` dX4AN8ze#eM5x1wO!y%sUIPA!*p67Ŕas 1xŘ,+cNCɚ %<*W؞o) #NgKF^J~XHULyUn[xx5Xl4s8^ RuKz)%kDqWW͹$d,I'YZ//zMhY3_Kf&7bcޗj])ģ#NN()2( SNZ2yiO|U|t6uR2>I\DAp:M!MVqDn}춖!_so!#O#`Ag<T־H#b!r:ʤ /sr;~eゕƚE5-1@wo@`Qӓs +-SM3AL#p:l$S)"PoA>N_ iv iE8XM)°^T.zvvLR^qP D )%wjnk-T=kQ.cu!WaC!{tP%F^>= R2ᲣirN}7fN%]I f ڌCMivbj"O1g(~l&sD/CJ_:P&;࠷ ̵K^| EDK[łOh-]l2&D($SK1qd1$W8󍪘4;ĝ ɧ3&t1s ^jW@tpDl:]YXOJ ^;,1YX+ QɓXRsuKbbW@5T&7 &0DTW{YYew yh)'+*<%QCq7%ڋ|lmI;841BO}xa4BmHk1rgs{^wc$9|zn }ԟZk?w֮WŻ \zusf6“ ?ȱwWYuѓl,L EwcQ$͠@b-%q]y@I8O4N@4_X pCuýX͎^Xm!P/;Z-O!l}\x\}ɮ>Rg iFZ&(A`ZDX{D])du/ȵ d\SGF% LU7ɾ'7g٭G3rsQ9N3>3 UKSp_!VF̉OYMdg 'LAUW09w)l\\e' PkK5C}q*b?k7r#{َ՞*jj ԣKy¨1F~{Hq}&B kA%&슥$ȐSnrhɵ<^cQDܴh]h6EiB A "%\Q[OP&~2̮<^#Y3l=7BkyA]z &뵸Ff  H;9# <o(ϺuczGi헰A:*ȶM :ўH戗Md9.?N-ItE)ǂl4SD"7=LR'F0 u!R4oHŎ2me) =Sǥө?9E.IwI:;^?Irط@ږܐ5pqńskkð4E͔q8FD;lC>m4C#_K~YESKQ:j 0}vɟ^EpF4>G" *PRh,dZNs=Io(rnB+A`^}39I_023v%3r\+1Dg)0b ?sn+y8}@\"Lϸ0j 9OmKZ.y"*L$̜`29+JY^Au='5 mO'R[v`T/- ϣP5$ e&~Q`TV6_z!ǼLN#5@ucSx&=}PFc>\.e6(DIg%Mn%6G DFXb0 !D <-[&3oVԡ%bʩmbxE TqS6W+'V[cH6m 4r~$nS'0݀0xgB~lXXݓD 1Wcts@Eʺ(zރ sw;Z7;΂ɪ`y\\}IHETj;<71r M^ Nl"c l4lNTֹ m~+C'ƞXyR1#HoKK1^>Ot|'\o`1q, $I;ҟȮzs]CuLw_o"2eJGQYX<Vi}ؚ5E_ېM( c'mlK+pR_GfRs3g=An;\qs&-7}ƟqܫBaq"vh¢4Q6SW) ES ӯ?WAnad=|1D>=?6R(С]d&+7hiw1P:DliX /hHNγak)=*Lۭlc4@7.QA-^%{Cy'G795#Yy?k$⋵W"Eކ̬/3MÆMhτv)Zetȿ, $K px '%2=bRo3*aB )k]VlO%I_j7f0^J 캎ΔY\}/q!1H;Ijp>ՙ n:R~W+Dɥ2ÛܢϑA g8YC`wc]} t#XbaI޷*%ͤt`N@0YӁc|*(j,S 1;as$V=baþ\Aac,G殃 )hi[mE2POt]e9lhV5? 3^zF7h6sj?DObXv?Ev\Wc-) 쥱&+Hجƶ;C t]׆pu>r6 u8M*zμ3љ ϟw|fMCSkeS@%B㒐"HI31*_%3%#㫢&F$:IB\tۅӲ3eY)EfM^/\VB?|[黲l 7C3™Bt.F Ӽ$f1 LVjZ҂qGJI@Ͻ| GC;v$azҋeHR<_Ѣ0)<_$b"kS d6 lp17&&&GGiM`TbRvfP0Jf`rг߈] |ǺPT!&B^U >gW: cxWT DvT@#_W".cCvEnP`+yGZsT.;sn:vS-˞uG@cHuqN4DsY[0ǎHᷖ{;/|>{&̦虨+o~hRZ+:oiٜBbwƙeO3qT̲G U7i_iB[9_4}OPw({yBU)u kYƈR_H+[/6 Ԭ#SnRE+A'GN!P>EqWq͡rD.EG,iD`5]7}y͛pUǿ+XFUI^,@CV=$cI ^\mȹ~!$! 8EFL~~괚uӷiMP^bkN{+&ov"b?EsobB}B2.08_G;fJO;S*+W̃PJ|NrQ~r@6){~2ݺ Ӵɟ(}_i qY;qcsE>m)֩Ydt|IK$k|iYq1h,9瓒O[9O:7;x06k"xj܎,sȣEeqJ)S3ր >B7.ˎ~)Cn9~ts] ru pa-x7#G\ Xozۨ>Ԥev)љ%yas6V5_CW%/_M|nRH6cDR-^l*G<>rvY9BAy!"e"*epq\T[OxM=Z|j\oJ6ɫsy><,®% ҂¶>\=p% IA<6t}Tpښc 9Q}?ˮr=]fl ^f4 :2\{sjg)DOAX΅)#$LSƳ(b2H;|>9GɾKKm)r3^{iI<3n4#' nVGsQPD0¥T駨rʈ6F<"*L2D-](zS$"k ޢ]\SS:fs=uDZ\LaE NN 2xBG+\[5A'*e9x!FzZ)_ ɏC'.0r1aPEf"Lpmc}ZE%f?r p.3$%=a1f\3 cg\I,XQ'wŞ6v׏hL6 0#3'jIEܛQ{zg"MtRT _!,"Kנ^Rnq2o#ZsbRz "H(Xvpc[)漃̦9Q[%Tab!xXŮ>!kh~fDk&9'@'e2p@t puʁ|>ۨLIjZS {F&>jK7s2]/ h53xϭܤ} xpe0VOjX9KjabWHP~X,f4D @'xwQ*΀` +U[vMbi;r8y1vJ'Tfvz{+uɘ6LpSJDJy G+K9SmIqM86)H>}\cU+7}p,(mv_hjJBcf7: 0uOgH@ǹ/c$.Q,1qۗZNIFFʠI8^q^H|(!7^k5I- Krگ<*!>Y֖PQ︢ vw3V:dDSqDݤ`REmyBh榩1ASG?%Ro]ߜ.a[%[<3gK8kN # #6ynV vn^;h˅2cObg @A{[i0Y^@F?QF?cУF,lФ-AJ9k!Ѿ_7[wt5cƃ[ '#I!=ɸABoƛ&T<{|o#1^_Q%lH*=MrJxi z>uT_)u64hZ-c1TVr -Uߢ>(]&*T/ nZ ~Nʴ -`iDg3J`L:vܶfK#dAz)lM@.wl+4dףݵٕh!&\#ShG_\-U푝ĊV !LJцpokxbĈylm5T` R;1l̚~ vH%_jPn@C$EdH0ɠC]&J8_v@/7] ri1+BrT O.6Jg,l7hG:~G? 4c"mUKfWgYY6QmD C'$ʩ oJU'sZ,uGx E9M/0T=O[0e& Yb?sWG $!`\5K>;xP?qx8TŤxLʪ9e c^'#\8Ԑ%mqaL%ZԽf@z*́*ixo_I] 1'e^ܩTt-yzutpụ( xß[,,ȎNNɛdL0/U)d@/[Oх-3x]aF kPǨ=b1#OhBv*,; u4_yTp/"bgTB>t!w&~.\MEYe *L(ϮDu@/2< {:ySmׂ$.o^(L8m{.޵Qz־e ?5>ݼ ›Y/^dH34$pA 7A MCW9Yp ?M"ҁʦO:e@MS%'AEtoPҚZH; n^kxCx (ZVsv!Pu R 7,-aԂ܃!9k\J:"`J$) Ev"7:Bɣ*…+A{ok'%\(zS^X*vCE]t *&/6Vro9dt*&r&hg}|~,wJZ"iװfRk[ ao#Oh8"Lؗ = UWL1#?3:A:ͥE)Bsx?",-@oR*㟶o6;ݵ>o" N%{Z,CVQfP H] `z/yNwo+#JzlA;ǔfɭ[[L7&ǻvݳ R2/r MvH*)˳NlISg˟\X+H|[ jȚ[}"?m(N{=|/ mrXI]M1Kls!~#7"5g`-kyIU!4,#ϗ~{Y*❍i Ujf}VÑZ&%{`TbV@*Nq\v ߜ-܎@EȮf[S-}[)jz֩!qBrnqưهw Q𕀫09 P]{c.=If0CnEry%acb2GB[@cjh}HoO[-9$="ƛ+΁UҖܭ0Rx nLXx eȅVw&a[K ̯hv7E?x0 uERjeU17?6}Iǎr _15R~ d}r̥墑Śz?q[4l@>R!*fc mKbm 6H){h?b}٤$Qe6;g ZQ;GzPcm};'1QIsBUfL =kW_|X`&u,+٪FΔ}z BkqN~pe/wgMR!%Z lD?-R\qv9bKGrdsZX&O>7r[3kNrEE"3xv('moWu~}$Z=Ð|CNGEhTj%jƦYp}K)flIQg{8֯"[Z^b*Q.k!2Z8TN-g<^<]TB%i7fQ&7Op@IAU!]'2n8U^Rr}@M@ Fs=e*)0p@d$pl32$ ph2-tD $dHz~ ;>#}j%X}P9G3@M{N;OPM(s8u)5jxU>`~|\@m=1:,PawmDU})9?U0?. Nu +qquyF>Pn875jW:WG"tmj`[f9Qc?Ϭڪich&70Y] ߳~*i(L8(J˵%QNFAcOs#^T{R3[ Sx5;/ JrzX:1-+!Fg)FQBc;xɁ<.O `Bb'eQX&an${3P}{b,CbW~7~=^_ C wjd|0^4g~ nvDyp &o{خ+)6]\O١PCâNz*HʯpR+07Jag'5b0>FY7H;ȚЫD|%CƝz~*k|_R'Gb5bC%[L!%D٧C7pڵ/'MZ.k /1zR+YBҌb-]hˀ5mg<S}3s<9l"&Dtxl8U 4 4. tYa6;$Dt}n)^WνU7x/9\0m_P0 줂p.um_%\&,K>50jCp vfTFn"L+Wd9U۩(k̇}oRF7.\p0Yl'Z)߅o\2,|X%)_5O(m{d+̦MWvXFA&99.Q˹wwRc*v6O }۷,c`5hC'>ʑ  (=*&Nc"Y$mURIvղ孾^%Z6D>6.P̋c%3 uebⵑ45i{-ir 0>TCU@89nzeH'òʲ5Y*j ĭZ )]qq][٪\IJq(`ߜ/ԝr A I2DHJdaTY^`;E60|־8Y)u@k"DAQ? g '0}x "rJ/pжtx0 78P7)yϜ f;f{nAA8||}͋۾A ۄ >._-̇4 # ?q95]Nu0Z7aV QIE,ij`.[ U Ho+e?~C[zD9Wgo2, 7kWF%8H>.sFX%؂DNoOo_tZ$0](o@NlGx~14"T\`D}K=lU7{Yg I(w, O/~/ÒN{׉}P?v):wh}N8l`8D]Q3w`~ 9>EʷŻ]%}[͚?8u/{{Th~|.~2vQws\dGO2 >$[-?r90(~1)b'p㦷|JR`N8L(p։;)<%tҔb#틴ঢ XzS@K&ng3\Nw .`bJ6تs^!*3K=78c͹Ɯ-p:4?#\Jܜ`|t՝gݺ.|yxTn1PxUqwccO|FA{R!eOt*@ڡLeMS4/{ƥX*)d$9Hֲw&Ԙd-YvfrܢKx詏ZY% @~Hz!cˏ&?{aPD^!0hzR =׭ɴqlģYaP kTP#!j`QF&jm.kD~{quU0ކCmpf^0V2 .dki^O wSc:K+\k`砣;1?/<gO%x#V@"g}> '}m_w30[gsi  y!wul8Bi-Fr}VB8VWLO\)j"z.98ؐW # ~_ob YWX)pZhq￀6'M R9) 2M4ʲlgtoBZe)tTc%dgy܁<4\bDQPpo;W4S{A V}{EQwW?Ai\`I ^"glʈKq@Q9TDCxYn^ؽ*~M񧭨S{UК$O(v`~ak_D 5_g0e\>2ubs[6_/s?f-=H2F`[[:q妢5@4~p%nCtA-*1 +#F] /ot8#Ͳ) Lšj.o{ p,YY6{W'򸪁vJ#æ|,Z!:"C# %{?P-4kvgdsU|9rj*E!by'C6 80sҎ@K݊2: ]]3#ߎEQ!GCCVM^tU==*ȧ\8aW2bM$%-,I磁J^w8C5CA.$ٻ\o[#C̺iچPm\ʏz',y$fD>̀}4K/*`+N wZ)lAoQ]mYŽ2PV=qэafÊhdbR0욒؀0k&umΡF 00vX/I鐥!Z)œ5bFy.nϑYz z]ƭ6v[x2S '0t˧eCARb5"T'(*K1stZR ^.32:( V‡r3L됍< ֊@(%G J&d?Yq(XOe=e5V2,Y9__6bdʖ:Ϛ≐Wjsݺ (Syh؜CVk_T\{%YRkA" I{-dA{f(<`We,lR QƇ~|5 D qo{ѣ*gDUᬚrtÜm*OmOC|zC T!R uqj=:\Hָr=^$P'4lī*_SwMbk'cxow?֛>#ODgAuNW'o5DEIɆ0H WPq򔩓}P+*F˥uҶPv .8 jI3@BT&[qCbE$hn2q#] dRιǛ!HB rFRK5h8UEMS::s$/ TpL5Wd PؒfY^+/Ts͸-t[c7%"/xHYe dij>z%#e&!O 0H?Զ 2Bk}\$Sv1XɴV79K@ U̻ ۤ >=;~I >a鸖a3D+عO_ GO1F$eMGT,~Hf]Ѥxn[m j ?讄f1wCc{:TT(i?VPHNS#=wjOIR y J5fwS7mؖ⠞̽ŞCcM4J:'eGJG+Mrup+i#]YWYL"Q@ ~ToA3[).@?wcp:0)+,\$=y/Z giA1‹LSS?>ml.60 옸쐺17Rӏ\m26w?U35Zo׻T9i@?s1|+n9qƧa<}ǝyj+2l( ZEf>xB^alϬG\WFA*`iX耷D`x E]sYG[<3=|sNͱ Ӱ0++mUM+Q7qO lEV}9L|0b#o+ˋ&{{Ô!ʂY+ȵ^ƈ{P-< RcF8KNrs-y + W[ {t&G~ը®QV$(>e )mob Qy=!Є5TS4SP ƅƌmߔTI]xL5{D*Wtq+ASX4Rr}RRa;LC ı5MxNo.MX]cW$S1m\:t,4x׀b0`1YZu<Nm+FQe(reW76gP^ uo>T<^;vއ[tWԒΣȒB*R W8THP7, 06 R\Ŧ1M:S!,зOIXYBnDZA舍UEIyx$5ϧ،T,xK&ǓQzP_ _(aEU]sa 7:~BLz ȍ!jɜPӭG/ T *gVxZ1zNcC̹o= <z$f"kXM3RWs.9F˺B\ zχ#)Ӡ *=ߢdC*gf*LOXMS # [؎4rkT҉]]{HY4TU̠ 727,DChCxLߣGٷ s|*|m `߉h W;)t"M}/jE9,bd\-A/u:\!y3Z->5u/Ac祭mVgZ (rIUc(vxXRWw%AWlJާ"k FHBUkBqdB['bj z+:OOą1=tk5Uv0ܔyf@dʂ MMI/fn+`D٥abl+L٭l)RZPE{[Ϸ) o(*o̴L57z{-}0m%X$9!ҝ5Jx˿ѐVͼJ-rȕ1/=OA5En ) izHy7pJLR'2&㙚XԤgtCֵYth avs=vp&M*E(\3GixGGw@b7_v gikpSˑrO] cǾe滵=-= hc 8X52# \QPؼ1jr" #)Vv=l>tf'75hX=$%#qWK%2mt{ kS#E>/X8cE'pw:|kJnwu"iLS}FO  u%`[F HǑ1BaU'n8\GU *@?AQ'|A[ٚsKۓ̍PIZȂ $v _'+pgd>FG,<4 !B_b0YUEkVAϱ~Wt` l-Y<ϫ+畦6"} H#lQ*'Հ3$Lڅ-јD F.rj)XSVxPمp80.ja%Jd4)3jQYWhYVේu 1]*IJǬ\mJS=QE?)sG 2i.$O81Q±WJd!/ˑ[yl~//r{cGGf(.1Ϟ=y\;. PYЪnV;LjXJZ4MX8Zkn/:*,8`?D܄E6%:!?JD866HTkqa὎'E@_C"v^N{"i_T0Iܢ1QJOY~PUm93=֡_օutb&Y4BeJ:*"um]>DC[#6~a[:z kŽϴ߬t}kf,Z ӄzE>3{l9-75cD yʈV5.uHٯ,~<˕&.%vV-9*yѠ2=c A6h1;sIR<8GhO)(<~ˢ,<"iX4#SeT:lVb)'L@IS_㌅j4lS7f[eCR4J?PGCl)M}2"VUʜö4\?:p4 \a~yj6=i8ܺoubj ABǭ;q L$;"@FALA{]uLL90Z|`PݞwPPؼIޮdz/ie~DniB@ O`\Qg;,ފx- ]Z/70#&I$N6F[\%= ]d.#y l й ?{=V6#V)r7Yw֜謕T4NTDc]yhg,LbdVW^)byBH@7)HVE\ғ߿2Ou?#.ahb5lY`q">\UL'M%o&%g44;ri>"rMX'QRc%39K\  FEnBs<M!~axG_/T^ E\2%.Nܬ>K` ="XgUbk59? L'?iL77iЀ:[l'ݽVuөRutF\EczeM-eTP;m:l@Ta2b]DA")Ŗy]hDQѝa Z-k뢺(nɷ\3`LMhrѵWPПQ v7˵LD)NT77ڋ$swf #AL+WiᯰE49ڍ0"DDaG?('0|sv;,|02V)rZi;s/G JM~Cj,spX*-tƩkj0M{ o1PVB#C_b6HvCW5inhYO4DMSLA>V/s{Lk_go?T2PR+/eX }zYZd.r<0Lhwgp pz+yHL\3rvJͲw vDA7SZJ. r1Ǔ9vÑx\gz@Mq M?F3Eu\NZo$T" #.0* mm-gj䱚d}esWٮd,WkG>)NC.f(.L5DZzغ|rBY-~m4ۧaQ6 aG]] }8~.K*cQKj+Gne0cQz3NXon`bK.lH8_AK!la)?z,J>?[%V*z7+V#cn%7Ȓ47 e?q"LInI o?iRzv[|Q@E#ZɖJ > sr-ATo*2?2-A62qNԼ&E(;Alª9%"^*$jwais'<<@؉qn5;_;xl=RE:tV9r `G\R5ץFɂO~,nR0@nC>)q~ҫ"5D0,SumˆPvړ"e1B[TvgLM"<qH{Ptг Dתm a䰍'NfT*i"nfܐuظ RXA1sJ\T/?cJֵLӑ֍GBFzIкy(#rUmO-,Ƌ!3@*$ v>ot`%p7ߠefwDPzW^ĤfXR^q^.0~j髭krHvi eWc#BTMJٴlr]3Vt%Bv*Nes=eaƉ`5^&pOxI/}tSrg8i8Rfq]\͠1N14d|$1?_LTf =AI~X;,^6m|}%y?-R >(;V䌐/eŲ[V. 1} ԤE__0"=16C$bf1{ u `954؅]dHs#N邽5='[]> mJ$ i.Ճ7zch !1b::q7oLKtH^Z `̺ɓy;vH86sge%ҫimȜ!>>r]H1xDwb[6:fHBV~Ty= Ff߀c'nK G+yJe=5JZ}OR1fRhN>>=C{@`5jUFANJT[-Ki~8Aj-ͼZ"ZJU#&ai ?Bsm`:p" O YP+}(V)V\a6]ZÈ4`i1w1u?Cg^OP iAPOtGGJ#%* oɅ^vT#]7yoEi9~l%?qr)<mB;5iv':UKLfcP~]k:*Yr T;y'w:_&O=m&'M?ĵ{.bdxFvYaztK9Pfz>& K\}a!]Q vZpjo%$0JY?q!@ H䒤m+/A-R4S@)ۇ0ɶ:]'=4B&DJx(""޸T̴mdQ&÷)#WY„DLM|/rt#=W5vˆJ*Ou4z(\AbóU y"_zu|c ʠf̠HBEPMiVGG9ݙ `Q+ތge_erF./DI/:;rCW]|ɺ.K.I[V > oc50|㗹Y&ٔmȠTrCc]E_-4ͨ$,/u \8gf6K} & uʀM=O?✸y۟.^3b妐4a O~;lX ۻ/Q})Z?egf02wO%,F[Gng }}sHY j`jc'c!MČ|C]Rxk?qt_.TŹӢù^<:-fM(bE$+āp:duMnBv2XRV^SPK&:.NQ8$H_BM'\jp $y14ΘqRȇNojќw<̖s zC8Eu'7 Q vw9QJ>J{ XJ !2K*g8Jeȁ'͕M2x\uU1hm\΀&B^8±:q hjqyE@T0ޗݾ^TI-+U}#*g&Cwh(Z@ ŌL){2ӼP|by;grwZ\Zkob[nQU{N T9vGEgYl=ˋg.0w$rT[D:\{u@ qtkos';xk)Ѻ$*"!! %En+ǃzX4wh=\?4>[ lFʈWۗsj.wX0 R \g"-U4]BAoCz_}*LLe _a] לDΩ޶[¬ HLtC)b#7LtoL%Rٌ I~q_8 'Tk>Yq~-GPn@9O>Z4Րoj|lI/6. P eM F$I?\< A܆NyJE9^$Ao9"uYhTZv+^VaW %p 9;[rs53٢F׋tv! ѳs[W¨9t!RB)~c=FRq7*lsn/{ᾅO!a&W/X QDɥ)_+d4Arf:Lx欔M}DoAk,nR }4erӎLT^@IoL~!N^g6q[0Z]*0Ю|óU~uCWWXرoH"Xr`3|*J+,=P9tb<2vG\FL`S" )3&l{rT6#nK]oi$Ox/*fp*O4ȍ0&|!5w'6wcܧ*m` |ͧߘ#ꆹSQ\ə-s>i5+ ~o/׈kBÔ :qr`JH)\7؄MxԲ0tȤ(xZI˰Q9+6>bJ>`C2j~$#Baa\^]"̿r5?TˆBǨjW"ŹlӸ;O危|g/ UmeF T5l'ﴱDQڂA"m[L۬h,:l~ΪHR){z(QVkLǤf}HaQA@Yk zSbHt#W|QYGSf +2yRӠ961U?2 g3F ǼX=C q4i\]rj$MGVܽ˶Uw'[KR8̃ ;`N $LOŌMǍAKrܞ+Qo'<S!g+ݬ =4m:fS `پH^]e$[s X| da 0R/ mdcTjA.LJ"9VK.oXNʥsCxLMRD8@NAw7QH5@tqIY(ЀRlyX IinJ8Uہ\O:ؽ:p֤>@ .H2,ʜb<-W@PrD- 9NH , al+SC*1wC(S]y}ܕ1=ۃl\4S֧U.Ojmp/wJקc.D(>Ұʧ&=wY󖮛j'd1tJtB`xP'MFcA5})!.Gϫ'ݿb3i~H 1W7Řd!)r.Xd`vxyےcn{?1@A?^^3U"'h5c0[C2'Wz_#aeCKy`k=;yС@,tV88exˌw w֬dj/:%,uv[4_}{x&M h}  E }Gbg$.n|Ϯy:<~{_OJ΋h[m4 n=~dNL~^l0-WHY gD4kTc7z !d'KUf.O(?Z$ j\ʥ)( ͥeQ>eyA;B/(d.L/~9aW eɬta>9x4 G;dMb!n)'I<»>iR,6ݯ Q <"!4ZZJrI8qxCwHϽ%bobD c3\"0H! `<}$@ kmЎ4I 1m6:8BWXK1qfOCce茞s ۴.P n1Zݗb!wtΩr{=)1Sb= h76`QU4KYnDF&0(BV.c`L-Zׄ2 |ckA=K c?БMjrS8*iT @8KA%SiE!np?Yp+|:;Tz5<'Bb[6i# ?C%`MPPPec;īPޡWh#Ǔh-x ۯ}=tO_ecI dME?bwOӍYŽz:"+aQUKD|,>"E.W ZKOmM?Q}Tz(:z'L0BѨc.O 44zRǞt<p㻲)<$U[5'nEsl{ɫBndiW`.!A}uXC!S[&6IjE۞ #~TsIE# {,՜29fƛ# |~ qY࠾A셢9a[T Y1unq,;  :׌Ɛ(hB6axq-["Pn'i["ǘ^cH*ˢFaDOf+U?3%GS3W*6݋e~Jj)U*)A8. dw }J «߱'̸|Ad0QӆNш +^`ݕC(c Bc re26EdLG*n ΃+w-:km׎%{A^UV=:VcٓRsUP2Ԓ"UԋhO˶8b”s"`&(2q6.2͌8@ `QlKIҏ,Vgw"=Vfrp|aKvga_k<}#p_f `٭OypQn%EeD@/D ;e)hJZ.ΔH} YDcIe\/p[.|p..:cmL`XƞY5BqqK% iS`Ca O -BQŭz5 }l>,4#JNN0JOZn<Cs-"a+ Caq >+[pBרFU0P4!`?L,(?c\jCt9ֲ@j|mYHDOYToRO B>? #2k7x=E㗗,0m]7)ɟ1ȡAZ# `(v]ހZ`1)GYj=m/3;ԬfIbY;Q1$rtE.CI"mdI7G$jpf;az n ҒE5h<1L5G= L*N/;M9۲[.y9~/O( `ɜ0X4Bݭw2+xݴ;}]Zu,X ,[uJ'qFGK ؞*8 cQ2hH5RGsǴ78h_֜F?k 'U)gcϱ|(KlQsi#jέb_Qyɤ :Sᇚݼ3( 2=t., PFW?J?u gbc=IOK ڈG} )hs;UFvUm VEύTǠ"d cݘH` &_Ñ)m|C瀇%]yK S/:gޛ2{߻'o =p"yZE'+7_y3gRRM.3ovR4sN2(mmO)i,L40laտz( ((pYպ_?y3|$wVo[RmO7ksC?la"t@MN#{ / O,WƓbCyCKY!juw_ @^ҳjD*[;K4[E6Dau.@lӤuћ8%|!],11u\4LyVKr{!PsP^,݌am:}'#XZUͱBQӈ:#m> z7cW{ - obWh$~c\|3}yWQ[cB= 8},Av:E/4TYnX`π>w r5 C9#ف`זgMAd35$٪ޞw1FnJF;􃅤B1H`3-s{c oLκfJ';k-ϱ9dҕa}NboHyci.g`ʱU rNePǎJӔ Tm1I*\5lV4߸EȊǒҜf![,bSky2}O~}!#^>%6H1LT:sW%q^BCÎy%.㤪(BE GLU?qPCn=%\WrB ~L3hN& Sr[͍:Ak->&8[kMUM7H$<ՎZ9`<ݞ>f6,i2m(Mc.*x.lۅMa@\þ-E&jB nA3Yt{ж9;qw=smMٷT)>r-~׍WgtQ=s][:o|l4j7dK{bj>Wzrvo>Tg4~T(oF R]nZU`ºT%f{}}EIu8! "0ݩt8LzBk *6HA 8r.jV@P G-z}upFǹI(sn1zᛖR~f)ي"NqϺ)rUaɲ(?<^8rMϳZ&-kܵHlyD*auFfAd`%!m%B>wbvy04B). F7)uoE&ςÄ5\-*̄'8VeW8* 5&+'$Z>L $D`jmyN՚ GK]\*WhPpob =  BfuGFj'`U*) ;4ߍʗ _R f!ۊ_"Zu^ GDw^ n[gu>)śjl?O3DVh荩 ]FPh7_&8 ?*J D]~Ѳ:YƨÛ6°Ũ2y#pOwL:Od#@&x"0&*Q%DpPmBކVk瓝@um$PK{|I{TIˋZ}[(q/_*Wn5?'lqMu9%s%3PKkrQe>3S뙯\~6:7Xﱣp)^/x9؋E#Wކ;MHNol9(NV)M`2 wcy0ߋx'sA&=]kQ"O@9h$71=]-o'Mj77>xϋXrIͿ˳/$hi>_Fv>ˀ]m֧XXUb"LꡆșD ,:*kh A_6!Jrkic!/)sW)*qJٲ0NmQ&9hA_ ~sk Ӓ^xnu*8ྀd DX&1>ߛO`aTp=? Rv`(9G͟>77f05^\r o=GAVv;hi%#V\ֈq-"y毁=g^<1Z`[Q35`0nvȦ }W^ u&_~22M2 )N0@`߿tuI%yfAÔE;QH;2-]U{L/LZ;^$h90N ״I*y*u Zl=uV179Yv: -sT~.aA7a̠DusKG| jD; ykE>aE{B$ϓc*E Aa6LVU/ 3LLQ܏k 2̺c0.C)9=KL[pj d1WPAT.@::o _)֏?{rw;}MKTYˠp9X !T1Y\a3O}ת(|rpd_&Fg& @''Y]j D4P4G窤|2ϐWV8Nz2Oh%WēF98s߬$K ;d=Ë}`Bs2n2Q 0@5]sIKA) %VpF`ƒۥm&[IB [lj8[o+h0]q)UXXEY,_X:5$TyvLF2g"@ &\[0 @Q4 UQ:@>Kv;`/Sr)A~uK@ >?a(/9\9)?a9F<ޑ{7,Àq耘muHƲt#-P˼uo+6!% Ԝ93 Hu[e-p׭ 'w~1Lv g݁NyI m,9^YC]F'.c(wA8EY`AyY;VWzQ|kӽ 2I%aS,΀ G)!,tpG` Cܷm_ ._ Uj `.Q.qp١\dFw.q̫۬cAnqd1xNy|eA;4[d4D;_ed^Lzmwar};ٸ涯eT7m:E/wp"ۥD8q$dJ }$B5B#gs"I%1yxMg*oմ=)0umcdr9M:,޲I yے!٨,T쐣&r|^9BM8Ֆeerd>3H67!ⳊIEo^/&.|#>|ۺ'3@喼aKRc&n^θ,کP`y D`\7.AA=n?mZ_ ]v8+ȔP' Wލt$aK.4x@iI1JX}rYԙlw{RsUE%-Pe6AVaPagCj\YK >o5 M`K( 5B c *h&%˿ĚMCc @XG&_NO˷\|x _K3b.ݪsD? YvaʪL; 7݅4k,>%ON "^)s+`!*R?7Uw G޴̍%ײ/kTs6E+ALz7Xӓ~*(q j2[}B9`a7=@Rv<~Аgjv{]jMKZ#)?cPd2=q;W"`V+i?yze= AQIeUNZ0a׿nJx?TKu?EmZ1WC;mG8D [۪d8` /lߙk5nEGs.,Su"*}7{H^%Kxj]EuўBUrdzG_CtByۤ;q1*tؗ(c>U5ʄ!YP+!_Hw&y 7HA}EIZЍ) A,IIE(*Ӵ*;l,F ]`iaQOK"x7TUwlYN ٍ_6Kf[~vk\5ydbX}oxOv/#Ѿծ0paEU' wf*W}Z~6)P{ݥx4+c;^vnֺ%SIWLcI Z0>On|Y`zM&T` 6-hE:gk'x.^?\^]qqIid,1H uMZFүR||2?9S/3<3ҴfL^aMzSShZ1-UWi.WhKfd'RE0N,SH P{hƄP.ȣ-!xsz*ә-sOjaK 2&y`io1b3Qݼ.}F0QZ"z f kd F\l|q0Ψ-[}ex#Wز0_+œ07ʥN:;̹B -X wf f$Ț,  RVT;0n%)'+!S^lӡL ^aZ/ he"L>Gw{Bаuv$J?ƛ^婡8USŋop"/,-Ds;+e۪t$/,y2af].e57OupJ ˪q}95ʄh@GhT0ѣ3n,*Ǻ% ^ qFX,K2:axCok MZ d$4gÒcYR ( b$ /&÷mIJ*S9bcNz$zܥ=0DQcğ`a LB'pt^4>j&t'{Q\?F!Nِjq#U+StEH(+;(ig˃4N՘?xJsgS}#۠ A B⚢bgʇFX@*rIͨIza/6=S [, #%J I3B>?n^d^+' g=l{0̏/_[   YL4L4Ma*@qQ9X](%dNMdWo9>$<.x@}?Mh@*C1yzM˥fϼ#e&;pt"!]CìJKK›wZVyM?1'mO#$AKƳ"o;g'x+FG[f$/5}Vr: \CQ3cHpiGܙd|G*VrT8|{4#.#v4JvH-x1X'fѺ袾a49CB6uGH&e xxXWC]:#cF}Dl U޻(2^v_ztֱoTJ]"'g3q67pavWLOUTJYUG =zny`KS^x-mFlIW?iV-V!/z#Jw(> :%EkZ,QSmf(F *ri 5%pDK`(bESҞCX yFCB8//$`¼~|3A뽒Yu^%nhvhRL1&)`(-eı?ژkZI4QmΆi|KO䳥g/&6l6 x/muBhn ;%Ic;ߐ m'5KޮA6@7H*}Bq ))UwJ<կ܁QAF3 Vg,ڃ%AЏK^AgtU!PJWH† \ybu; hOchGUY,3#*9Gʡ> }k#"³_)c_;|EӸyPR^Ŧю0PZTĜΛt*:`mDx&B=FPXl&ѼCs{1&ʑ.DwZ2~ k~|]x4l^+*Y3%#4ℋ_dFL}T-̳Z/]ͩ ww**WCN(OD/ŏm/ k&ҽ|\er.x=?ۡO*:6w Ҹ~h]C  cxbd7"qL[;cmA%}$ᰞT\>a5!'@PӶ:coJޛAfm?hpY`Z*Qtv ?A}7 8;/7Aw t" |+|;!+e06jW`su"ٺ1< j |Kw47SJ%?hPƦ2:\[nTӪ#$Õ͋)(LCX l*kFqP;(A-͕i]}ZD[ӊúz[naK8^m ۰`QHw'z OvpZW xNi= tlGRO"2$ & .<#@3IrcOw4ȉoSdDRMjnPY6:љŵGoDOy%))Pi#2(a;6amWo g$o6c7F+Sc fO/Aо{4©`$Jc!7* >S_>Dse؛_3FGEC3( KAAVJY/|L Wv'IG3PTCXJQgN`ԏ@Y-1oH 3ݿMU+iRHyQ!FKMf?sO~D My1>I&K/(ٞm) T;09,OAP563@/M ?%Oj#yGa-…?g| Vgj~_Qni\]]sY佰}^HH~;ش``dZa`sa0i_%xax~+M0, 'ܻU*@ڣ E߬4=#+IHvf Gl%5'{ R'OE|Գqi{*Yv;6 9Gi;p}X>%mwU vZwg`ERH77^mYU~afό!|/U>\@j0٣OWm0:}7g:s;H6K y}=TjrIz!ѱf{F &U:p3n=.:Hb+\/:rqމnݽ|~K=9ov{Ӈ}W EXbw u,bŜVt!lQd?ː;z1G#}W`9|3I`"-nvh=))3*/=9.RH)μ\KR6 x=E;&랻n Afql,m{:3p"Uo%OFa_Yomwrenβ=Y]fSͯmОT3Vv*KOWCYD< IM@jAEAn nL/<'4|WYB!/a7q"<7_Ab;3 ]JK4^|Dz?-I0}J o0nH7ϡg,1ܦ Nniӭ1Fd=p"֙h,#n 4'ޭ %/շ岑Iwt7dP[++o3@(BlaA 'aYKi'OKT`m >Af[y{4 }{oƎjh5f@C M;ܡi_%EL!nVs?%q ceF IMb c;4ր랄S3r-koNbfqucIj[g^$8rSߢv)0qdJuޜkHB{B`46:,w="f:І\ђ{iÐڙu&^2iܺiF%+Q$"[!.$VKzI埳ɉ Bc~9-g]LS ̟\1Ns1%{*̣뛁A^jN:/!ݵ.H!PAgXeWؐhvJ8 [D{`֟ vvӼi9ivCUw˦z 7st BikLʇorʑw>/]X9˽7U=i-~h|<r~U^or+\û\16=)y]-?bKգC*Xr}W&"N3"X/_m}ԴhRg[E1JOl-{Vŵ#mfGe-o3?4@X1f@%}n7;0,'_nqԢv6"~2&r)dI ԨQ=Oڝ,(@LVk4I+KLGXX>QCT$ qCXjZJZZ[:@I+82p*|@wK5_o]nL? m2n,')n`kJi~lH"GE]4S?KݩI6/GTj pV t\mBx퇨=X U#UoTh.nHCP$; 0#[,>jZ-[eY6p~X.x&⫔r3x. 0q+T:* 䤠Eq-爵тıgC[7i4C#5 ##]I)<Cͳ__ =eh-q3`tO'' N1AxlDWx]d%0f!"Ƅ߀?.d||yD#s xe##2J>jAⲢOt|T:V)tr1/V;^T8GEx&6FCB8n< F7=dH,JhJLQgnW2Xx.WTf*Тn+BNݓH[ POXmJdGOTM_9ﻬzq\і#ny3lΓ"ZaaYsPqk]IHP6e]MQܢx0{3 Es ]1rqCjX:-Ҩȋ4DhAF[;,4yU:2~RicTE52c4~N U8?NHnl4U`o; h5R~4Qdc4Y݃Sl 1,~5J7߈O?]p*4PvN Ӵʅ{ "2LgiO$2[7QgVڑJE֩v&@Eyʊk)z' 0JuW{ müΏd!@$_<*_թe<҉S[mo^3]Pvbg$b'.mm|`p7-# W9.?A,2 |lӿy `B_8i@/L}+mayēNm4%Vs{\%B5-2qު8>#n=c^]P+ÙO@ߟUq )ݹ޹MϳWq*d⧕|T!>(q-G'ʊ8cV LyL(X^=v?M6ULgcj ~r)Z:G+0g tә?Uy:3@2.IEy^3IC$*Ӱ.H@-P&ʆ+Pkl`]қ@Y0qyV NEjQo#v||R ъ9ȥ^#ksK)=Iwi$ڊi!#J}q?鬖’Ip$OTV{8Wwyjl+0bZvIi4Jf8Nc|+aL7Vꈍaa2柅''mm/0r< Ee6jK[,'sPvT[a+Z)=ӴGH)#w[7bpDsR\wy uծKtZ[[ ~} S`͢܊yŜLM d6%hb*A} 4Ub -8WxgMN~wGnȔEB_kqHQWy+j5]$DI_>3yNmA{3ݩXWX J@kFA9cܯ$1rt˟MI->Y[` r̓ԺE(-;RYŨ,_' ߗ~݃ O b/n۱"lYI4*|3e@S,baQ,~5,'9ŋ Oay;D1GpIK%LɼIWդf iU{E\ aRFՐ@U) J'B;uAtY {5D}4*oN{`'̟+B}OPdmnɍ '^89>ya̬zxd`{8NCqR@N|؅xH Q/QBtd{ XC2%$htJsL205 zorQwa.]34MPeWP M+8@o<a Є8uo8 {g?O?d2#W*V&k_abCYsU7E ;2yy>4Cֻ~{EuR-k:2*jqDo@7=-u1 ٹWV:kz?MM!Fr~?q N'f &|JEH$4KZ1,Ors0Y_2/yPٳudOƔPk(+c'@9EyXW.|DKq\έwa;W2'Uz9\Đ#*\+jH7C > j,Wa_Ԑ X1' " LE-[Lo*O(u̬wugzQ0`!xf { "(Ge:P'6tW)^n Ymѻ|982dtEB'f][chk|€1ݝ,. "F1uJsvr=#Z%{PGJThWJSƁG\\9+4i;CFѓy R ݓݎ&D%,IocDi,룥( 0X+* ~Y&VYzAUSԠ~URì7b%F l&rCM/7eB l(/ք38|ue=q!0] xEHMpPF?SGs1'*Vg 1y&3q-G䲉+hg_4 - 6~TK7$]eA!GTvPHF[C"eS(.Y#Avi۵S*2eTo`aMΠdlU 1`b h(YP8h^^ƗQ?& QrL;ZҪwrvjvz|⧍!DDZw(#|5' )3lܧx-[T~ttq%xy֛{TJeã#]h% g;~bI ei݁4R+ $הZ]YL+zeϤb[%b\ݏJ(WyNiJu53UMR&םxk D"g@Ѝ˭/fųd2?Pɻ}޶ЅDꁝigG!\û a,hc@,='6 ¶L'6udh@k ^KN,d;IdްZ7JVDJ in¥һcLe`Ӡ>ljrjA͙<*~I؞"^6(oWg)% {dRVƪʏJ Ciݡ߳((I'QG #U`"\OL9{/BLU ,c̢YJV>YE4e_7|:`5 c*`hl3nf'|ƒ<{Ie2}'^]%v2 Uf'N?ow"\s'mM')lS`e,0v?8zHB`%HoH=' R|;@@ٻ~vauOnzf0q076Lϙ^7|SAA=<>f%\_[6N-<6Jv`)܁B2ϞLCo<}ivU_/=1s/ C#D9* c",o>Ľ 2Dr[NH 6G?}[lHrpq`wPre!JA#p JF *"%wfp0 =1Crzd:Q}DB"xTEl匸Rpd?MQ' _hʡ)mGu۠.<>wsqp&WrRNaq܉IE#9DVFo6J[[8-N_{loȺyȪpM]M˄N ˳1 Y>>7HYTpHn2Nl WHXϫ}O1M6%1Y0xg-ҿnXmYve-N@ ݼ"=G%6|ė{ĠzD( ((SL[I,o%N%E%;C, \q%K<lb4&AZdc. hβd$B`7 hno9\ˆ8=ywq^CETUGh0*CVY~WC0t X{_+kۑ1a\*yQ_x4Dݯ~:s,5F:}·5qY |6.ɤ8[BR;%$Jj ̂a׌}ɤ˫o:yWo~6,AK;CFG~yHϦ4{(!fxkFowP$3)H]6{=EoިQpL8,ʗ05ryζe爁_Obe/>ZU٭njcԜ\_n^[' BCŎsbUhG@ս}>wڮjͨt੡Orj@K^5t[3\i/TI;m+VF҈^ yˣ0qA4kd~u[r.B+8uZiCO3L>Vmv2fþNPynQJY±G00u60qθD |kU|SaoCžKl,K6;kLDn$̘L Uȗ)2-wH (D-@~H&{mV6%JUc&}XYH#&hKtH-,O~Sjtq*5097tg {eԊ*/5vzmh̛g5`c3"\F߲ C=8J:ttay{]~h lR} &:- s&'n#1ļnZ6[%G@R?W0IAX*I`fc(teCg@aV~9'sВ ܫQ]1^|@t1O6:Ww!\7%Müh$c)JO{=҉UY/FwA$aɷ둼;!+x$]~*tS{/ x:9̰$!x*iƽ>3E9]F }XrIg`)P˹;3FW(-VӒ`\6HsVQ=0 鿳8i䵬]p)Q8̯jF%OShUE=6Qƒ<Ws"3iG{_éyC/Dj:3yoYWJ:Uv2pxmpL]%^}A#܍#C,B֔=@9) a]NJcEQH.?VgC,/ӫq"KSL[F 42֍ e QyƦQ.Y4/Y/0i" V+(7zu& hcnjyQz~(".Zbb;PQ:/*'ZTq!`c3^Y[.RgOHtD+Aᙬc\K&BIK^: xy݇N_b Ðek#oG8Z~'8ǒ.мJ ?O,FуNL,9Wͫ') o K?,a=a\a~բ\>՚Hעd%beiZj+ll]3<޶P5p9Ct߶{vutuUCRn91K2'gTgK }$~HbM{| K/R(JZmιgvV#,Wrv| ٨&Y6?";:uC ~}#Y:s2풣pͻ 9|P_u2݉I{bv|%yB0<82U$u,4^ZzR^q I)|>7D4ItGU;׈tJl.nKsht<ߪfDA@(2ϗ9=\i|Mj\j~мٖ1:h\+V2/J,H]$ղym9}xv0JeB%;e|CN! x>0Qcˑ)=# .n<}tm  'sZwVEٰfeN!}J3 l2c}a5zH'jC}`- fcҔ?#"4w:w2 D ;WsEрˇx~f@Xݪ I8US]QՓp:m7rj//ǝ9u)zKѐí!̆d{y*>DCbCH~{|[hݜI[z#bTOڙ=g;b_(?ߕv+L^ N=n7ⴱDc恕&Ͻ{լ@*T3 q'ef޾۴cpوD2thFd0ZiY8OucjWǻeVkdSyxd^E6 g*DPVǁ+}E}'7a])pnw* ٴ!X,'/<#RRa!dg/<Q#ݣdž ,L)~d[$UaVR(}bS*O?$qmT{a&)J^Xcxog%/;BZRFVV1iãũ'_&Psԕƕ f4ACƕrsj.pl1}}L Jޜ͠iŧޚ}al3^oiAL N#φS<Ћ漡lyxFaXO%N"RT]QV#ؤn`Z2z( +j{ͩebP<><+n8]װ:;בy${)i+aKS>"0"pvO d D)lRvO4"*tJ՞ D8)4%Բ o,Y?Hk7k) 4In(bйyA`Y9LA _znRl/Xʪ/,_ྲT&DrHAa2 o/+VIAŪ82:O㤁%a4#9ٮ-4W&?z27S !+p\̛Ǧ2Z_c0)J ΅RiVطkI.wf~&v9 },>M_V8_b,ߕ6QG7(ӱhIOÃcsoʮ>7[A={PΝ+ijbzC} N+>Y$|V60ENSӢS{V6*e-rUH>Z(o+VV9S\IDoT4sDz69YOMYG<ә̠鞊-Qub_Ɲ}k+zu 'V@(PScYJ4??ٝ#r%.&'iP#(uj䥐ʻe3&tGIt|ܰ]~elm( qUwNm~.'ե)|_x1*GǞ, n4O ";g6:M{髝%K!J )UGVXj@RěZBA - ܚpkdmG05*Nc>*Xs:0<$[su҆F|a W"m1́+-WZ FGq`hHGVri<׌EbaO_aogض9ydV>%d~@t?+@Q>OܪHKBONaJΥ{Prb)|N6~3ty.RT\ոTmuzMÑ M:'_nAc_z2saRVޤiLL;$T]ľB# #GC`6 *' CXwT %YisYl? jMQbNNE7)5p&}U p.$9MBiSLE$ N5--ekxU]1Ifa|OX}5> >l2Drd S.L[_WbG=":ԊW0>-?U|+H;JbݴG#WXY3%D&HEgEWؙ.Orj-]D?k^( 1]7\:X-˳Ymg2+\$}!! ˟QS9/:!P,DϚ]a uF)jR|c{7L57*HG̲3(8LG&{|(A,UL6 )rU%kJq3%+7 ٹa*YX ,]z~ӟlC5#eי%8W/}~0yУ/8`ArP֖v,$)LWNP{6a 83wg|4"BK /H5 ,iOQ?JDN/(w=I¡D(吘%bMOJى ]J!H{%ӱnXy̡Ԉsz*|gv} ̗z,]F/)cs]h{du3ĥη?p8`̛$E؅о`_:$A)=4_76HV 'Im@b#uɰI pʿ|Yw~dc?3gں(]C&S׮2b]7hk8vnb"M#i$Ǽ,~ &] %MMçݱ * L7ٙ9Էᗩ9Dʠ}%Ԅ-D քWecH^ cAN x1ZNίKEM*^qԩ Gπ@gtE@Zrp@\\јw0*A%EAɺB^IۋTgh.+]lšaN>v׾l_7蠾_`[#-{C0C~~ ҅4yu1uQuDO(~5)҅`]ƪcۡ:V:QI{{ ̌(s`e\{Ba99YTObcIWiZQ8?;*ᖫ_95_F:Lԙ3 ~* ,JIt *@k>wݣt]3(,1%^?D$3\3a 4~wp$9i04,1N)$'~֋{8*&.\'|(3 qUˤCR>}7x~+0]&E -DL A]ﹽ+4"/+d12K1F,׹Q4E-INl@JDݧw/!`!#JrB $[sK> 24hRrzncjwHtU^~r3غ]74mDyLԡH+e6%o%e[}N{[ЉfOBsAvyM!1w)k%օpaOVohUu@}[\:~R1]AmS DP!6`-&{Vdhǰ)|]2UȒnB8 颵 8GF`^O!vïKAFeS+u?`a7X<mbk\$ϰx!h_kǐ6o4"H§a͋D+ƼI*B +46Q&h@~]Gb,2$^%ĮU< ǛtN)M6oKƫX1rb$п<>31CjRMveCʇ$.$ (˒pFoxA@~ uH5G \6J SUzd 2J}NL-wa:af7cv+y έʝ3ܦ1Pmm h|*a,8\rF- NYc5 BkS(`ctxڻmUhCL*MmOLZw _Dg5R-<'@jt%9t0nðeb~2ڍyǥ*oO.bר\Hm"h8yLGTvj*YQny+ ` D *9;1~U?I|6 , 2C6X?)|Ʌ*D qT{_!-fbB{_Y8:K* [[+* %xXvm9r^\+$e"J#<+j*c7 R%C̪-bPPlkؐ*zSt ai}}<< KY$lMAq;xHݏ 5vxЦ(Mx=;!#aC[yB9 iGzY ?nm;Ӷ$6rbE@J{+*~ΝFj;ZWL\$7^72²9LQ0c `VI#/%TYT~CN-ɺQ~1*He%hgVH%FxՀ  )|SfM=u8,߿1Krΐp7)|/QFYY:|;cw4RʉGmG(<pDXƨ,חzHGnQ@w=iI+2f%(FQI`jखwJ Ui'Kcf l\!`+5q']7X,W"F_QR=io[= [R[L dfF9<^VeO3gPLtpasMgwьoۼ"w"y e:PZ}vvX$#PaRzR9FūDţX6Zno4!TPءq R_F4s UpĊhix ?7 _9 c!3~UddZ< L>}%e K6X\vhvL^$E[ %ŠEҴ pf%9haz3[9Ŭ5/B #xA.CGO|XLuLr8ۅlR?.}c+7I":bQkD6:O}łvE i˟X#.(t^\(ɭ ]VA@dwA_52'^1ݣ iCw=G^Z|q߫'$ULL_h_jrWޑz1XSfI;@E^P z3aȈT3AF P. H'TrZi?W%xC9>& O8νƌԕ1 *Vt {O>X laҋkӲ4 IU;[}̞vfxU.+뱥x"1A3WC i0v'ڬD_{\Ņ7klQ ^pf7Gu^̜bJX(0'g\IdG/aH)1<Ӕ̯:9*EA jAqhfŠ8AE]?r{sd>nxEuOl?,6`WŇs-ˠ#i͕ z֏ :XY uZݱC8¸W[fjua#sA  *4p(I /6Ciw }[/B[l}X+G%Á,[7a\Ȫ-&C@![@*gВ:w•iX̴NXm W]qyz<MX,CI 5ǐ6 `V^8!iUC4>혯}&1 k]"aj9RM.w8,Gmj67TݘL\F;WϺc.ܻB+ڊqT'sfנHȖ=8C nCC<[6SYtX[fm~0a [E'JW[:4EFե9e'4) O}R1ƚљ/??8u~U9U5tMFIa!|2%IgnT{\s=ZŹ:l|Z;vpK|=^C~ʈNTkOjNQV{;: V)˷Ol:j4n+Ib 7tڔ8>繦b5T˥ݪ#[͔%0e#D ,TT^bNass2U)U%P^]93>/$ëN8]5M#bp~ kw-398)^t_ (ѝ;>ysA)(Nz=CuHXQ>Pч1織>RF$+d#4som,a#JaFO6T&Z 5=ݶ` gah{t?! p:$G.pm.  z @hU@EZ<nɲ{2c26H}coAD%˯5k@u 0b'MoI),?$KB~Ս>iv^L_Xl |bm /U/L?ԯ5_=# P*BO4^턛`xbxiQk&/'JT^Qlt yIa̺sLa8o\M}6.5TY ~ =?Nj;h.^Ԁ%#7 TKrVL+wl=T?O2DڟN:v?^CVܣ>DWƋzG'YdNII۲~Ӿ-I:Z1}K'@}-jJkUG\+ǣEil֚zOPG;Rˮ~VFCm|Ueue )a B0*mowz a%&J !##oɁS=wF"B#,@ID.BpUѱ r +- SWqUSv "h}ń.'c{u pjhQpFbm^N!D,pj /7UNC;ͯ(I<xO3F$f;_ D9C3`䑆/E:!ji7F[>n٧ӑpUM[X& 3 )/tDQ|,dNJEm[Xi5?* 6( ^^M{ |A)5w4X:3"|YԺ)W;j"3Z{;Bvܰyn8k%B^V[qGJu~ ߿Ե!ްiͨkI7jxOJ% ĤC&K 18yCusUUvF/$p1ߧ- ,H6:0u$37Z(^8w^C_DHu?꾀Xjs7vfY)̍߫dO{ȱ~oDa h |h0c0**13IOwZ2+HGH5p<  vkbCjWTLd#K+% ##%weX}~reA$&4>.fgdDtak܃ip>ǯ`ܪ]7r5 "+"ЮoHR@%J~4E)7tU6{Ij̅ +#'IܰYsrx="9`o As@;ѯT4]]m'eT0Ը8m|nc>!39ua5|Pϕ^>dl\Xͬ*HH|K?/EرTvQO|$ 5OyT//!zXⶨg7CW$0HTFLqz{8nGG.DmHҋ+{EA6 a添fmϭg!CKz~3QM8!Fe`ctQuqsѶp~ᢄRpʴ~|]&gׇ1ڤx{^݀ Q& %1;)uRklmXRߕ|Yټ_-~}Fܬx&,e5Rm7 j†3ZW!J X=~qȏ& Ϧ7$g(]c=./aU==X'Wh^Yv٘ۈ.d >}2ډ w!1` ʘ`5Dڡ{ao 1ѽWë1Q6SV[$zP[I\-"IϘF)k5"E'0[)De X瘍q|=@vn3q_~m D;,P>*l.g_+^iJvYc.Xw¶$}E̡cu~P-QŽkx殘u7{5Jw5{ ^Fѓ1ve2R"J9qI3b@e !UF[F8᱑wц[βU3`REۦi F%ftT,逅`edݛ!ci- =l>}Om=έ&6vhJe.EOPWS~f3><~HڌXg4P5kt#LfW8U&0}wh@["m {L.z\xU[ps /Y7IB=D4"`nqxRx*.z{XkXaKaW6 oFȊoHnNzp%dj#o;̓I4_K{=r 43+kD" ]9I33Y~>#fnr0F^ XL7|DT܄kܸOy輥>v.pr!U d6?]af^GkECDS@pve$IL2f` LcIZk_6QqG?|lNn\0 {~juBeWXIY9n>5e'ލ_ѷF+621ȪneH DEW)hWd 1)p鏕k)2F7nas3=n%Ѥ0+>I2R4{w@,c@<羇#ҋl{7 ۧ>/3W$f.Gqܙi ">OJ-"3|u Kr '#:tg;#aorIɲ>]J6cNuc(^?g8SE̩ʣbG`|n4j:vT:T X!7]>1ζy1o|S'7eOaf|t+* (JAg81&t{b Cs+Yg?McBXNml7yrE8̯OKtk|Χz\F[~YE88O˄c| qp^"R(bp!m]MmabOE݋] Q5=Q37no_71oDLBWLz\ \F`[p:!T"H66a'b vKCAL[*NE._hԯ{-jެcnn8\tyll3?{T<r<N9ڧ,j~;&x+K,Fc4*ۇ<]ɿ]l@JU>NOc;<)rϣ%c96V4FQFVŁ+]; o{k3~o`˘]8B T_Ky.B:)w3s?yX3 #]:SJH ]HR_453ڭzޘ;&ozNMWbt8\@>픞 %LiT:ilJ\c/F^v- .~ ^7IU^1Dms^[G=][`\]_ O =nxφlXxLF 2Et ,3afZVR" BAxt#)Jb]%HX7Ib|11${ a?r Y0)g@2;މ=<[4%L nx4p0v~'HNfȊP+~#I*%(+ervCy |^r$.HPPA;W^՚zՊ4~>C>!^$N!#/0?*I6ѓ.b}]UW!! ][@g'Ҿ^62.2h_PUV(QӅO‘d0A_T+t##.FJ JSH4V(1Y.CzNU*iOy>=Yg$uq&G8*d2{ xՉqޯWK4IH[%ֲFhQ΂1:@'E"y%yI^^ ֙@ 1<̵E=fH;DOveіPH#"^:>,l0*3*67_GC5?-ۗ$mZLNmamja1DVnt Р/+@mj·մ:t%W(sFeKn)1Ys\V~.:^7oMne;#u6r,Om3Pˆlg7jHd9\Yul螐 #Muz}b64/ 19Rmxf׻Y绳{53s1KRZPgД@<Ζ?RpU}X3;yoPp%kϕwz´BL]tDTuX8/(ݛ_5;w~ɪrABҔ<

/ev[7^- ҘIXBwJt u4-!gȌe=l+i6]owPmEID+=?p t3vwC)U A%0e=JJlVAuM8C_,ޫƻKM.T5huH. ).T9eBx^cxغ.H{(`Fv. 6ߨq9wscs j!YN@3mW5:|/XPуL`yXC8 Ax!N%^f)%gM,K1B#V޵3bpo-fq_i3ۏZ!K={&>/7swGׁ~ӝOvԫ::u2FkCk$h⩲wQ8"}*;"iW9J|*k^I ֌V>+r/@]n>fo-iU>1S@H7ux1y92pZG؛C @c- ϗ6ksABv8sJ($,6']Q2[dpMN)Y\Pg5_kN c~w\b=0)a|8Ο-KJ@v4 (,u |bQFj s[d1AӊW8#M{|9;EByZ2W-7![<催 2Z#֘eRht ?`˛ʔ2orăgZwecUxwкqC uI;4و):D[麰NDuA]Rq"d=ɥq +w7}Fw0HLjH Vpe4p+NW5C7pzLṖO#lΔp3r}SCXr{tޯj7%0ߋ>XSd)r:Iwqʎ,Ԕ;-<U޳0:T6$ pa*/z!4nGV*~ϓx'n$6g%/;kyGnUӇ4o諾tDU}-TSe)#!XQ܌Z%35U&'a8IkWUDhR}߉ڭL ܁6g`,;X1ۭbs ٬IfFPh! YOm;[ ;Xv=WۑBh1/GgRR)4WWVyIwjDh][} 1qS+' [M y; xډmb< mTǗ?s|8od[J|TNAÓGjfZu3 ni"UH xN:d`G\s$p>oShQ3Z; {3e5:vM(4Y[*S\J4SNnt[z65Z ކ!z0˩Y&1xȢ`* aHvSg0 xv1(2iFM9aQ*Z4s!(g&/>}.bd*2pVYtl\n]Ltz8-Ha{y|с[[QY):dh_ s}dE0MlހC߉"W8?\ƘQX>A5>R~׏k`ن-b+އ?p]Qۑ NL0.KzLm ~zZ7̳劈r-Ӆ z[j XhY '<~:32(8).(kiuCBqs鰏3^Ndr <|d͛|K ÿ'"7[ZN-ndha-$@nV\^8^k# 0GtUi =6݃ZYM`[QcGRSX*kb ")AXs4t~]V]?t.$;ww'=m=@1)]6 Dz*K>B#{kM=T p{yOu+4ř,uQ9] n<-*Q@XlCmSx 2T<C4s_Jz$x+]N=ۿRcl-au&F;!9Z)ee @r*~^iNC1/c@t B\}+T z[ml#Ds[}&#ɭ?]~O?)J [^JT (:& ~Qzrc`&_B?wE#*#QG$wZDz4zk!׽<4Yfn)Cj'v>YuuVb(|EmK4qS[T|]AX3z-z=N浂KmyӅVLJG๑ v|}qyI-e"Խ@̮o;Dml:el%,6ޟ't[:\~r]9?T'p1^aS1H{?|Kqjvf% bx\w _p|lޥ]x ),nU$&mC,f4#6_¼} KĤr ~UYr^FwyZi@u/ȳaqfJ\{P=9^`jDO"5ZO1RVRT-µG>^ͼ9T/:NJevX@\G!QHvBaN+`|ZdeM=DkF.SeN363nC4LIe3(0}57t&q"ݟT׃:sV@-xlw~iu%Ԁc# cQL r'q&ז]h>qUz2J`jGD ^F>ϚÔ+?+wX\֩:XHOd©y$0"Ȕ(*0ŨŁ(W4i?V~>|8شF`=[ Qxf@˸?$"U: ᯂv|gaDJfB$D|x1_hdp %Xo"gD N#wP{i` )߹a3a )?;%[}Q346)v)6Jmb6C}--)q1ыvtU#J)6nj3X9 o 'p[ ݕ7>&Fr} c^7b0tU-ڏ|N̒'2†[އ,!7oA4vm)zu*@ѠoŚg]`"[Qr1"oә= _]V%MĒDhXvo%M߾E[r`/揜Y?Y):l~-H}Lcܟ)1Fv;ڲV[-Sp7pOylpX:P9VuP!1n\Y8˄ukr^&0m?>#0^nk0DTIc (H>. pnm4ΈFM=EȬ1-3=ECCF5-K_n]89@#!w00Y詜~ocB,i/0R\<<*ZZ{IZ)2Xhe I\[GD"%Q|7&l=ZUY %AN"%ꟌFD˃97*c5ꓽpdVhZk"}!!"-_,8κĜKȹ]:<c]Am8dN 2E)^ 2Z9u"œO(2ɓKHb=[ٓ˒>e"X?C#&)i wI,O[Lvm-Sk]2?/Y]cι8ovF~J#nL=1j.YDgYG^9I.4bح)tœf_.6B*T+eBs[g'UyeϧbNKMvDnFAwx֦H:eGYL0'#F2bv? RpfR2' ܒO,=l۝ fgC|>W醾 iZjY\ʲ?){(wyw"o:o6yLVlӫ".vO|n~pgM[/}ZF\q:D~vȔFL3&&Fx Pgm]bhj,c|3o$~0RI)>+TsO0?" Rr1EP.A)Ѵ2YkHOIF1x>ju\\ Q%ȴD)HɟXo:bJ=KopF씨Ԃ\)dȭ-hT4딩ۅ1FsG$%){/٪[yȭʋO?WyU\>F='%m~A3Q۪ %05 Zkt`xd; 1bY nyA0qa>=qU\%fx[/ݓX2VR ra ?R]hNyk0VeE4e(kak10|}Ea8)\\c{΄QW &m@BԺQH 23po^Cj/C J+˺{Gc=.E3*Mևjd8}#BDf"Ai^7a5K2o=㐫 SV!T*h(kN+wb (± `l0*LZ p*?sX',b tBrO".ZJ-RZ#}m}c#wJd`5'mO KN6' C4R! |iˢ1wח@/V~y'H~?hиyn=,~ %seJ'h}8yF_}qzEˋg{.g>i! _χ"5e-؟>z1]ڂ%.NrgEeW{sw^8124*eד DPx[@]ܖ(lqAIχq>JНjfJNUL>DU.'1ck.Z2ꇸW> ҷ!?lk+1f+k~o KxMɰg6$[g[Zyv:" PtԳ!Xrl35$u=/4D!( Gq5Ht?>BKbo7q]X\+7L@V t | fQ@M0DV;(N5V^EB*(E#TrLEW7sHOM QŖ,{c[GX&s{V"/8df̻M~,P$2HuU[y'>T*f<eѐ+vQh ]5ȧ[(Z T`yەa͙gnAC{Tu]˗u1ςzޫ։F=fF%(J8ցѢ aUGl ZW1sLjhjvVb}O6&`w;uTʐ)8no3 ;g\ihS5$tÇaD6a.%u\w3h(mt[ 0և^yQgZ- Zaefb̝g˓Rl6nх'7e9g}Qڶ|4د'NN~x#<&:.I9ǡMNZ\~"HFpҫ4ΰUŒEN4\MN|$8!leNYum3bsqŦǼEfkr#LF5Fn5/toHiiqB}{<F&o|ѝ(>oF7^KUJ:/AC-n :r"J6Gar"}#ȎGv_;&DBUӵ]|u?$sM)mlf}l&=3ƫ,nF! 5hv: "1LEѝM4+T: p٩_fF2U8]StԦ@1<؋TwD²l-$d^b 9J+ ]N?PrGz{ɂ_D@l t\U/|xJo,(AӎVLY Fk]gQ|䧡ƨxJu%+ɑXcFdE{6L?ٺ )k{4wuЌ:U 5iHW.r>J͌ 7 6qo^^&g6#pޥ_-gWg _N2Eӭ3&>pFB~z?m;P [6>У8)lʁf!6iU+CKPd )|a&;W?`8j҉sRBZ_9Q_؊Je˟43an{AՐ!wN-w|Ti`zvxφ}aR }C BjB DCZqE, pi麴zۀߙ`- g_[]U+د.fs:~s \ b < ߊ77(#PVpa&y[g sYNt׭q4Ft"=7Sf% qm_"Y=dksvEOq&68w|ԛM-.Զ@?6*^Anx'SnP@hMcOO@moNWQܓ hX|bO} 5{Z9U yVҘ+oaP*iQy-jU-TBmxZGq-Xy'qITc΃Q\NọtDC'r yknEyA (d; owH#JW5c$.[$Ɗ2Q )lu5YZLl"%Y;NS7J$ߡO/8YISPW9@RFPѢd}p)n'Cr?aYGc{A]=B8EPqcZ, c9޹sLN)i||8OspQOlot8bgl*XIƨYzJ XDCKpAj֎6@Pє)w]*ttVi#ױ#m*xH6S"829/Ӄ)E?a krupMdYc|QuJ ZaPF徂T.P8<-\&8Ez1X aw`d+ >Y<TNO50ˋba+ [&z}JdirkzI2:bkZWmh(/I8[#@$Z(&Of&}vʻ{'PVg*T?D1D[,p$eAܽݭ'Wg+Ì[T*\Y`^D:֭l$6͑^4p8%=UFY0 וWG7wH\Bf* `\,$%=[>lIǯ];.) %Jo ƅRiF6Ede/%v?EaI2} [EFGo GR3@_JJ ƶ#28;p Ojɣ\Zq Y}{!z uX--[*0Gz%{0*h ^3{<^߫Cu7ד76rɚ4Ydn-iJRU>h y.4˻c`3W9ʝOnU2Y@~~:^O!HK+x+Y0iW m8y:O_qN960SIo~(?ANlw;07c3Qq\lx#~o`)n`=cM6Bd: U4.K W|0^Qy8'w2jguD7S3R;5a., !'.2! )?m%V apIAM[5+xֶVʸ/R$pJoޛ# \(@hA}O9hRGW#;`Q(0MRj_:Q ~"8*8v|ʳ n,ɣ厘gL1Sq~?v{:"'y 7HZĖF}^-Ay%bbvXgmͨ۫:&m͈U-_}Yx\')(MW^(ƢZ 43[C-h!o'Vݒ U(.tl\}t"M.) jAl@xDd Ȼ)vibGl}<"/.oI#L&pAܴ/B֍\jGzGBzPȞ\kX:GNER vɷy^` 70p >zn]t2Tawj;i`[+vQPlh@_/֖xý Zc6$0**K2o \A<@lK#&4>=W1 ϣ/b.%cZaIː fA5jkmϮYNяBx3ごeJi[nR T3(yY0Z?)0\%ݟw6snJ1'e;\3W~ʽc yIX4CI߫Kt j%Tt[ 5a_%lTb"נ^#|V8Σ/8|nv n?Whj_b!T-%(fš07j֭BH]Ŗfpӕ5[%wY7R]PFx# (aakX$ 9^>hs5xN]C첟Ww;Hod&W*~UA*Ri`#b&5N>V@RɈ;b%Y~7p"b?QfIE`W QD _/?h VS -ҍ+sBHU `=Hsؔ)tP@QEI#ji9.[<d ԇpp0Zft' d!  Thkx9s3y(؝J :\kTHpnᲠWORW!JLnD0i~[W݀6Is ;D`D:6Sk*Pv ͵LmTvȤjRKR Pi@5[U21s-t!D6}xn=jpq8m& !_b-4L+~h"`4~q>K#商t2e+r 2SxّB/_@*W Q9+>ǖCQ),}piaMgIFfJnH_*?=YTˎ&| ?] PWGNvvm &dD{Pz`3ĵzHg:gy[u*z\~mEvzF?C3t@!\sޕ enB6+*@_)8 R Q?K53դqc| 0W5n社T ~@-*<:ܙh\R6z$.&j31%@D`7cglh]zPJyFjѽέ<׫"񏅟3441AgG2Cdu.Fufg:AUCv! xjaLrUDq9)=I}˼s?OɶaHc"}v՞22sFms^ojӖ]mhv]'V{k3MOLľPGK5B4&xH:\\o.zMhA!!;1 %0>,0w9՜T7$Sx,-=`7(Y_@4Fm}?U%ƀBB""$݅ع N* nsU}tø Fynj#s! DAA'c!7'&Q!a>[c":> u'%kCT\N9YY]B+KƂ`uu okSl: #7#u%s>/W^\&41Ү5K6ѷ؁ņmn U b::Ue8`.fIc j͖9T#π* `}>"?J3.κ[C6ThKB3Š{@5+uL? #,, HV~Or+v6-IKp'1*L3=KdsȎRZTޘxJ v@NWYNsӵ>q,]/>1D uA CRYfDlV+ ,,Z.*לH׎ZaTbh{>1!u pkv-wM.:d^\]Ҩ`؈*Yݞ|ӝc*i wKN~h4b7!ccϟZf}1yyS:J3__y9xYjVP]Q[A{/8Hg(s0$t1)ɲVR T}đsIʓTBJU.H]?_em&UK"K4 sj=ql`lxf.5cz.7|"x,ȃ&Zr6\yctt֥=Ԗ٣z">{ke,R5vק&_xYv4^0 [x2gA3ON X#)_/CEmCm] 0Uq/OdUMQzyFad*v { kNFӪM%:x+hڂ0 l[kwrJGpg >#%ք2@z~H?̲_v}DlG=/-oJx֝^ހ3;LL(1$KPyvIJ2u05eFH{c6c$ڪϥ9Z7_#3HT~{cɪp?Lw&K}̍(7klVv඗=ì~h9T,*?XO#NL$d]{#sgء;5轐NEOTPrq8Rd'^. -643m)\ ݬtPP*{evzd6#jrayw( "gxΤʻe^ 9:97+4k^m&L+$Ė]6`A*е5!Zc)cfA>Z2%@TF2TR=3NRiBtYUW/@fv FˉRcxY[AZ_ BzQk$MmwcYEZ:F(=NɊ?dZ #FpCJpl`MtܗoL~j5!YH,bwfKXeK!ƪ⋤/։lvS}t.iLmep{3u}chYܔSc`L'J|` =j8P z/xx'9qqeJ,"ebX!-֩q`V&6"p]Vsk{Bb3P$T#ǘ<~8Oͅa]PLqgn@<~8 { kڐoCqjg&c19V  n<ޮ f%>ਕCݒrvo@-mWr;s>egLX?C&Vn帞2Lňvve#g+׿^:>}1rk4Ɗq,]|GVfn Db8'&CLߣIfqIhCs h+_ȋx;$N- pzY#5'Y-lא3˦*ҿ{"I~^Jcc;evu76RlY>Q*xǟK\OHpxerPK`_ c+FTJ8%,\ez+o{L @W]#bټ *hJ{yD $ƚtqD²7f),FlW #Y#LFf 5i&FQJݽxbvkv5H' $Rxx'xx̃HvkR ,{ v%vq~ٰSo*b+D70[e7@n)"y}U5ٲFumGR#ggB/ud =+~ !29&nbn]#lWs,82J4.O9 = =Sց G|ڑJutsf*| eYxTL6+^2ƨ+AqmA ?|!U7Yh߸9*>1@(\iMa^H%##`v_g(^{H9x9$GX;64Ze5g ԨET6vUSI5/)]MOe]ȷ 0eN^M;!k]m1ˍ|ґ]R!g3`=:e#/X槤+~٤]Pji4TOkzꊵ;t-X 8}v,@f`5% E&A@jK}*͜tbq:)3B5HPlt4Uj1i!|{feMoS2$}LVTU><RA'G2DgD$_mB5 ~5ĎJO8BBPj ]-9تdvm̳b͋!_:=0q" 4z{hE8ݝUTS fYY] G8Xa2{†ϞV~F_ cM nbzim{LnZU2cf3H^;gc7j dyH0 9[99&UXtYnj|_ sX+ x}mF\UՇɺ催)9U/-TYt|q[ *0?O-HH d"BuDp۸eFԷ ev\i YEF}!=&[v7jӺ\ydaAgK%ZBSx{POsɏPg#oɠGDGea,0m8Ue~xm cU~-GtDh~s[,]bm² Y0'caPW fErTUG!5%ejnZ3D́CYlj7XׇE_o$#)09TWmqHNXeÀNĦ6,Tʮ <{ǝ7*5}f^wicay[:OKڙ8$ d ^ )敜DcaûYY Eֿ[aVV-yS9y媄S ܓ(m̡D41(o.s\qt]>4/iRsby1#YP2{E\qx3]  < bzaQ:hR][Z H.msPJed Uh6U$~Kᑞmkg91‡|-ԉԙ"gt{0:FX!6>␄.HfOṔkKld9y,vG$3#d[;cYykbYj۴L7È-J)ݦ(, ArQSjڮ]GlfR:owFJM[Iͫ͞cM@.nSpP%V}Zl8vm~֢4TTMf.t-hP<@82oD41͙Fa~x dh'3qX\|/l pL3PXX3V{_nH}lKJ&SԹP9J-+ O? i!!%ɕvP S[qᩌNԲ(] vuyhƯcUv뫀'׶FNJJ@{0Ι1X"_2)htl3</rid!-qS{|KJM]h _'av:{3<-N>!NAR]R#uIQ7rv+MU%RzT+p [k@ $Lw(LCݯa{ f*H8鼿;g~?]RUB, ![1SYp{̟Jf:-t)gCvW9]N{-$XoӴ|@*)3J7C%&|bP 捌ճv$hm|6Kܪ L"6拽8^EX"F"~ #xQi7C߲:ۉikp!)/6lX0ZryC.}_c˨l ?Z^#B׬! e9TpŚ^%̗'imrC 6cUAȮ5caY ې~ - r OxF#=P3n- [)lreČftɵZNAЍ4SI?4];t;[;w`Xֆ ׈㳳?:`E8v~Q>񇤯0rkv/`[ ~5VD,nxդ}T&8`e(d4rТ`Ss7gjZ8+$dkkhSJ q7l0 U%a3*<6d =a9bYuvLkCyQEHD9ATno5+ףl)atwn X%"+0 }Dq  p'}btOj*VE[i0:?#ݵPJ= %@T5Oa-zr֍>1wA֮ﲖJ'G6="XieV V%j >lwp$/ -#u-Of*6ȟ?HSJTaTm+Mz[j!ftVYf}[ 9^?>J#4ъ=3Ș8kq[ 0)f&'}4Գpy^G z}~+yf4ܧE(.>Tfg=;`s-Bg=⚌Ӧٌ$Oq6۹8 ӛ64Rݟӵ쥻+D>)S*{;Eߐ7*@x 4U\![M3T>ό]Gd= @d[: ["Y]Nt!Y&ND Hr4(b=Oܦ}/b(xq%G$yOQYWӟb\mLzlh)g2V5,,w׆o_W90?CBIv$Mـ.$ne ʧ9ҍF@_m8^~['--W"=ƋTe3.ZdDй_Y!AJPN|PST9 ,w<χt:Ymr4ea_hzjE$-(OEV0}2tD O*Jmpg⪼16ߕ5CMߋ^K~<{O jQ;eK)]ݯף(@?-r 2~ԨO( 4MVقGk)LA}B}c6hQ8^{)G˺pOeǽ0f=1 i6-pzJN?I{.{&,eH 1dJ9~gpL@bRfH/l̩ 5й;m[݌ #SPCqIF1U_ďN| UhB6JxJ~FDoA3_DM{2vjH|V_Aox?DcTCp[8)?Chr+D:`~#<8qy1mޭ Nw'퐘/V8K3ސy3C6PB. _SF%o~μ)8ePދ]Aӏ0vee pvSK \bɏO7Я?jVϻs<3,샜PPbH(hNu+v{YblBu4`$\@~"W)tU(uD!x Plu6{qkfō]]4~D˾ca>jAH{1M%Pk*eAh9 =0k S`WբfZ; Mbu0y5]~-^yäYұ>W"xo#su6.uQi0.8ӬvM o%X/?̨цҰ9]$1L96gƀ uKT:+ /:fnE[JMQ-E sG2 so/39D5h*B[6HKO`IEU8UmghM%[v_wm?l1i8?[eT^AeEӵ鯨2|R?M#n :9ϭn`Ct{p hk=KdtIKuoZ`[Iƒ4S;vg>AɜO'4v^))rW/# [D2:2MEwe*?P!72m'D(z^yX[eTX:vǯя+'MHȴiwgWmbXaR'JHV Cg/]|Fou| I=!Ȧbڮ 4DR #^[vzZ"3Hz^ __pa CtZȞ+]pi6+56?@f` xx(ŏ7(Q+͹k`),?DR&O r^ł!_/po/@ӅT~`H'j2oY6)z:7Tvfm<&7-3{icH?˒AjR9%S._: df,5tGdz|9`;#0:Aa HF:1XD!PX/ 5'>ܕb .4z e+iCy\5\QI`@c qv&ګ=N6Y`K0Ķbマb9aSSgSJcC+BB)CÁf}AbBad]|[I \%.kIMZE;:rf i:׆&!&Tcy)CjPu"&;;W]3`ӯ`UbmV^rв3zc4B#Z@HZKf6p jD. L$b[u&Mfu n?pǤ; 9,/e 5B3!͘e1e]@02)krtξm&H.Rͼ]__ΏKT: ;L6,cPc&D1_EӃBsg6 ".%UN6&yrXxC{_S u|j [6dŲ>&y{62JO0}dFop]oT }*"i]PϽOAv~T؉mlq @C([Q >d:`y'\ fdxn GѲ+Y&WGĠhflb-h),7|ԹcVLFANG)B)[iA/)w(PQ2Exn*< Uu"%_|?Rʾ=@PPpȰ\^4uOجLn}Z7a[36 |8$H\0*z]kc"BG\UYPoAꟑ,n:)Wqz?Lס*qHa,zN˩l޲xIPX!?,`MG:nr h 0O{z *Z]q-^i l7ߕKܣ#vf 5WJS\ec~Ly]+G̴nPscvw񿚭u ʊ3ʆ,zP6,ڋUD:{|ILc_w(Kbs^vgH 4P\i$LB2jO*'oDaՍ\req䜪y"Dqfx5GZN?@x59A:xHF-xo{I0c ŬwpޠabmdEoa7@ѡp6-$/Gl 4X % /4-,V+ TKJ=sx~i`lclK=o{jEa ߢs3wl9uō5hBVTN@]j.Z;=51p@x&\=oceAf¿&%@v,Sl~2+IBr K;ڄ:E;KB뱫|R8nmRz9h e}B.W+}]Uu.uۺZIaNFIec f{RMS*c{KzIJcq;jdy8mHYO;4ȃ.ot0|R|TΝky1sF'Xm;1q zL@]TGҵ,Atq[v RS9+a@ }q}k[2 go:l܍Yq r,XO7~F~q36N,ϥTĩ^o j"e菛l#'?-4$?8|.\1p֦wZU*mQ5^`8J/|K1⟫(ڑ f$ɓT1ܱ| lֹ`7m hsx1<055w̝#/ yr O!2Ox(xVc~@[ਜ਼>'Wj,Ksx2#+2'Z҆Wj@XTհӫ6XBS$>2 ؎Vоd$0U44s.VE_{4OhyQt!V%x!zUtopkjV.">e4r.ͳ[Bn;m8+?L.*C^m`Yqpﱻgcg tkWdY4Բb6WT&J Q?2]@c8*<坘+({oޟ+8TV>{-酂ЛzlHocF=a:8Jcvu(i^E'C~Y[2X%B=@037aYvo~|Νc9̟F茊xcTojƆug>."vU^.+)ę=7~G۳ωfV<[F]PC!::%Jrkg ޜcOy3uפֿ5D6\B탳1h{(Ǜp  yVܭVuGqGSnv4iQki+(wNaG \SAr^)H>p.زHn*d2jE~#T|=Jp>zdA}"6` }z{.9pnG[F|#gǘ (3u_e&hUI󌤎uH M`X5ΠQgG4hVi ]O2dWb ?8XÏ`4O%&XZF>g֚ugK)S@"Y1u"OX톝1QED)i&*=.Y33zg@_PLDa-t2 u+9:l8ׇµHJM|wW BCaVmw>Z2%Ხf1dlvqPvl/u/ w/T"d:6π7p,澡Ň# 'f_8 N V.p#.WZ7 `/)6H #r6;P7ɂ<\ (cʍa 3c%=+I= .-ׁ%2ړgT񴂾Wdj2 qš3RʨLs?Uqv;q[vʉ H%֮9$MV:'Vt Hw`驻N+z {J=qk;gx]5ner; Va’"r824_1˵l=_PdSmc'$=MrP8pv`V!k="7D+6BH$/!B[d `Җ)9#S tltD?aI~t w#8/GQHL2y9)u[ܜm]<}D,^9ѯ&t1F Re0j~ y{#>"gra BȑaGQ iN+kZ=ʟfJҔ/ d-AߵքOo/9}"6T&EMVY3[ ;\t\6p)=D{nupd\0m6X ].a%̿I>In{!ahojDy DI 8g1%@cC;lW8ߨ~kw`a=wܨD\OݹYJw UC\&'-ncbZU[~.~)shzz?Y`=HjЯܮѭ.gU-vYMջ,rQ!]v Yu?_;g+{| 3 M:ũhmhe5ʹZn2@i"ua*={Wr 8=G|ӶNnezF;QĢ퍪4H84ب~Ӣ*a J%ޤ(tF.# =%<|\Kve򩫨yH[D`3{ۗmy:]Tj7pԷ/dsS)9R:JAaFC7HߓjJR,C- 1D-Ar~UN<ޕ=@ b-;V'؉3zMiI%گR+[m䈝{gq 0lF ,֜9UlwN<2L$Jtʜ+]qA oֽ >!ʯy!=/טTbGؚ:۲V7l^hٓ9d WuΞ"rDd, _`ϷIlCp? IHdym. 96j ڦf잲ޏd>㉤,gK IWS/ @Wí &p;00$R}R%/C&p =0aL{Hٗ4̛;A< 'q \ŹwPI6$E2_8}{NupݺOe fL0P<ԑ1H"/ 0d\* 1!Qkd ε˙TmL7i*|ʭ ۊa~ 嬓1 h0IEI:[(_07.f  V܆ VZNXN~bAHP ?㽋Uh\s2\$ZvصGNl{pȖY JDRgŒ^v]fK# .I˥it R-p_(ݲ%{h8 N0qrS>\0*ba|?Ř:Tzsr7SAA%/6ur$ (~'Zl5e?*gu>.Gv)g=J8fp }h94-2OHpR?f?$,I$Hnͦ۠ٝB8Hd/ AMT%WPjpA00Wk] l h@T_;zز=fSVdzF/m0<-^Vx,D?Hb;1 B$V|-?al0zqV:)m|ے+\% =LW1R7!Nz#[Gv?fA XoxDmL k 25+މψQuZ d &fNs9@U6(ne7d¤ۅ*Ӝ Sa Q|W,f~RM3dӰrȐ~ j⑱^7ns3 _* Pb?DALÖLhZ*цh|اA~:_Nl?RrdwC2\VIz gj"' ߙbp¾ϿtS&~t6ɮ?<+G><7<10,T4ae1ołl|5s"IVAo(&:sJ@0%k <&hrb7:uWЖf{bD7ZjU)P62&ӗ%4ÂP|P)jNjB@ezXƂ$_dHm~Zh'!/6Z>\L@cj\ՠH_^ij_)?bIz {UR*Z; bH/ ?@+?)!yݚNV@/Dv'`퍰ovH˫+a*ol~V5)B[(\idMNiH+^64g]LA-K̀3˘W#7e`~;QDx -j*FgtO V3SŰdI&͆uk vmT'{T#(.7Z$bv;5ݴ)wQq"|z .w[8Œ6_a=,XP[cOݍ1^e С[٠`ͳji'y Y`O6kDq>߲z1 %%0n1l9Oo!KkZvVE!WbJt.e5D6eNr[J1b&F^7`IEMmS`m-5LuB&^'ǸB;mϩ?"|i;Q6rUty /7;'tז{Y&JeC1.G?>x$_EEm$WVb|Nz s9JJ& sZ;QҿNBOIOJwj'bO^\4SE ֶn] 6x pQ["+~ 13 jy1SBuQgl&ݨ%*7@c u0a%(cv/=րO:/<lP*%qS0|WdSU[)$e#VO;gҙ1S#PhβoPT7Jx'V'2t̡:QA`k~w6c<I3>,Na;!H7t6CrebpZY'=g|lΨW姈)\}}@drѥ,7OWIP=9i4 '(WuO O؄{ 4^QyGߚhbUOcWCyyD%{e4WuN[恢BQ;hj,Y?2Ŷo DG/ ;fهS="ސ00X<VV:)cW. }mz'fEʁ."9S>տ9<4c1?F\/OH?9!x>UDBΒ@y@ ՚vŔq6:s ;\x%Qk^mT_b'Ҍ l5a]jzD!+}?7l}v4 qe*+_LڞҔc%΍Ӹꦭ,3̩0ϊ3s0p$E%'uO歰9+i+J/7 .ۼ~ⶑ"O:=|6I]@{5Y>S0AkR!8mgϽR) g.)3ŗWҳ1OֆuRʾL)u:eq0ap3L|hfY`Wm7TEN98E M&UvѩgH SgJŀre(*bn|;^U_Ց=]gYKSHCp fE~b`Ѳ5 GV(aljSc- q4#WHG/).pEV\!ނ~+>ޙ=WT_Yp]q9wWҭrUaxUiPCkC]MŲ(a)NL>)g \2sZHl٦X|~@ zS`VNJ$JAbh`6o͛z}* 6wHܳDVIJl_O, igӠVR *wAsLjaKmZ7|HÜMhUN̬gUNuW R:1Z,_ !&V`ᗑ c70?Yn.z^S; ,&̷)j\Mb*d"2{T<]GA.p_gi(U| rg5.˨a__ʊeOʅ,Ǎ d&Eg+y!V+]VIN&*Gm㩗>v J#s|hX6XCF;Q 3;{~'$;*^"=ۏ(j}õٴ*5BB w9hM Rz#!(Ҭ@jlxMҝx${fz_ ߐ 6`B3)1NĢ7h0P.`g!Dg gm'"SA5>;-m(aڦ'ldNKak2Eid?!x̔!mTe I`$HSlqt 0IM4;nfI2T^ѓJ{};n+j*亳t p(|OXM^HC =]W [sRME?@?)^x]$ּS ;+e%DZS4h<2TgxjT) Jts##u$Qk+?Ϫ(bsdp4 4oPlDxd#8tםk5B!1g|A䡕" 3uoVlC|AFh8[{l G h-w>ӟK:kC7hWxxT\ӣ>/4 -hMUƎJML{a{9(mOy6z~gdI).cH\^5S!-Z51YeLL:a^(B#DD|TUͫE?t3)[sת ȡ]7 ņ9YM"/.rȃ$46ߥer|S5変 nx,k BCő1׋E'@?h"ƷQ F 1t`O q6G Le&l#US~;ZE#sp*MR9g,?>,,=ZG# ڴRTY T5xد+R+(%]JtN!:=jnGyZԒp=hpz.>ŬP ŝ~bӅ3vJ1!,~:E )Z|U>ReXRdkϺڸS⯉N.щ.N1w-UHlVo.w}/`Ԃ)r~Ofl8:roo1A[dPX'jVF">~0-%TǺ s@́S#S9>r(`$mz]?={ldqNo΋?R<>`iR0gTx51:&f"<b{R7W]M/H$~$Ό0R? 1P n,:GO6v1'9@e %Ѻg&":Ezn"DkӭF `&:.awbW]%}4ا捼52OP 7q4ldK_€oSS1}%fz5A e)pH+FFm/WɋL`\]\*v '{PTk'!!kX,\Y^#0׼nKW g~tttӵNDFki E0 3Lc\? e阐hd1ϿfS i^շY1DX==*NYa-79v'$=V)J W?P4gUl(;˧~Yz8C!ڑZ%+KߋR2|ӡANo18%Oi=w?4 chl8VA^#԰p-pe%h qڽ|#=]ۗJTӤgP"~/T3ڞ+[RLg6L6Fi=6O_P'L恭R{l]h(АB[= ԲE՝mj <Sɲ@DzTC!+5pLu(u˖|-Cwb 4y!c"E$;f9{_,jA-q{Vu3[DPlmqgF$V<Yg #OZjܔm ޳ic3` +ؼfiٱ43lUTnq Ϥ޺5 eY,A@v@FyP|lR2Z<3'|ap*Ll#SYIƣ !?L,l#ޓ~˓o`غL I[7 z&n~]-zbTJ`cH)9l*עu>z F}RF=]*= T>sd^qU͟[wNF.^M>rzLV5T*Ɵp*kN@VDD+Y,M3G45JOGF0`qC(bEZԥu:v$gߊ=;-\i# ҇[:^W.LtESj!@EO&`Lhg˱k#^5X9(#u|j[PF*ⓍI¤SgMs ;cH L +/*i}R[Ho~ `A F<8 A|pXTȬ\;nF֌H6D] "d8草x JJTCHj8Y<A_C 븫ߚa\Ȫ3Q.b=ֳx/o(v27VxեlYnѷj`2lI T\RǠ )a lԖc/a>7ƪ&iA18.A[yLuiDfɐ?LQ3l(/s`ON" J`i?А.&6&#pi0E_Nʸu3\LrDJ[KDI#%Q 79V(cEyʘ&B}$8W" 3uW;h^Ժ)¼,_@CS[T9>XVNhnBp 2+T w~_߷ZqVNҽTu'I μVE>c>a}r" lZdCd!nN,43~%a% X)ՋTo\ްX.d*mE͝IK^c0:;Iv\ŷ/dZq+[ئ29H []X j(V^clRH1IYK e~ttSh|(QtwqOIx>D 48RbXT\ rx㫸 &Jks|AqO_}sZ[A[vm`C&mC >%]h:4Ar#,|G̶x':T($F)#A~ơ}(R6E^4Z4-O[ 3a?sl1>85+Tå(tb7xZ3(l(~/()w(ndvV7~f0ِޠ~` ` ܜI,&Ic^x8XȐ*=b*Iظp7P2 -gX/nƒV)_B{Gr"RJ7!(w]IRg^b<,UOroTE*|{@GNznc˃֎f${1Vt`npfЌ=%zB;%2TiDTM7]GX^}Hf{%A܎ݬGG(FW_WL}E#Ff:G)&_^OZq](81^NN(=LPѹQt"Uyx;%s4Xb-N[6ߍN*ڃ|4鿥Xm"eSJc iXWvlL4=I ZTrsյ NX=yi; EAG91?-&7D Y4azgL{)$(| ܑ$vLLcQl|jP،&Yv{t6W8,3RN :fEW rˆ2M+{o{5Ҝ-ވ)/$Ai+L|fNm )(ث$q—*SUh=8#I62S]A kh7Kkc3X{A9QSEbM`DԄIBFqsn70 ;tĭ={.q̐*띯Ȃx(ɗی۱Y1 ZKN;fe^^THmy czRJ6@Wҕb2p67]}rCUOa9J͹# Ҡ 6(3ͣ/*[Ks% ;/FdazE_,e}(VBي]]DVߘU4Zn57AѫYش+ r,Htj¢[CYu [+A;KllXf_Su#xWADZv9ut k%2XxuPd o)S);l*"Iݞ>">.ZYŜ`h2*'5A`^ʊf_Mo X?(r 76ؔ:IrJ%#(J'D5> B4#v\T[M]J_<t`<%uquY-;*9{ם$\v i8/E9l_}}B| 6KՒEN1rJ8gCv|'rQtYž[򽋙s=OVk M PpHE B<{OEC7}Ptuu X}\ZSMvE`f/Jz ]&;R {`ѣ=\[1~YaL|8R#1߭>Q:EĆ; U[ۃA+g54p%4 ɭoٴdRzGm/'S2 iqn#@Reo.-i3\Yn.FH@H,^hza"bST({>q7_jP ig X=D+>Zfms<:Sv/05 +▯J5bHaP_/-Xrf ()D' 𐽯ۓ~iZEW29b@4ѐ^Je(n;3%͌K,ՙD<8 8OfSKDk#$ !S'[?:ѲG7b/6_v`~@(4x]i"6ʮ dz1`d֞I|'UGdխwz*0t9;mf-K|}7ONv@ydc{$ܢaM& -0XxPi>BńT5R$P8ֱ:}/\8lU5Sc#˜pK"8a fdF-ar.XDnqw_ []qkn̂Ξ_󙯂F/U,{|.w>ޒlLl2%|kv&R#r>hndѰ:}T5w-֣0zBɖ9DY\&!d[tVL?r'>-S  _EvϏBHK':eP?Q;mt1 hy}Y/q#Ao ot>\S}pO8IR;נ ]Pz!h 22Zv~ci$`OhH[NLvXyu>R*ݟT-:IɻDR,} AB3 ,U^V+mR\pPi%{co[ݖMxY)*GVFZY/k}0~ hi㲵:k۳pbcTev pq=0<.Y3|.kꙸR&~JRMtN'aU sEoI(uxbG$jѥ 1!Jg29]v8oߓkOʡQ5t1ūo>r'{X_N]#(QÛtb"MK嵒DF&c5|sdo/W)3sFą`G5^3ߞʨ4D,y%{QX>}jy\XCI۽jND:~3,el@~[{q]Q*i^uie/MbH9@xzL(Ba|_-3N!kCQ&5V7,yzB!T,:~KƄ(+ R޿GzFm V.D]]!Kucl4 y.h'F`bv`hr_]|y?yQNVRK[T~i^VNwHC3+~<{5 Ip'7h=߰ f6ef{| -KuS_tA|9НX`wߟA:NINnJ((Ypɢ{Et5S+jN@V~̓y䨰LbF8~J{>"{?TwCGYi\?^"}gK}B mMOyrIP[l@F+bk6}u '|rDw֤6L;)AeX Woro=7rOjc8+~ĹbO.|EEu T&%Q{E⒌ACmN\ǵWWcnu;ؕ7|^2YVƽP՜&9Oč?\LmMbv5~#Wp&i3ĭZR4J05Zay!= h€E:YK Op;x'@FT@>k:td[.jmuocHADYp510<"jV.m]= uMk.r~pşn[nZDupT⿿doo6QEoe+' &Q#u*Iɗ8FY= zIO,kt%_1lM}2CTF/q~bqJnuuk1W-G`6Ӎ[Pl4Omif]aNELo%LM'軤$#;΀M>7'F<XwWVը#|CPz5p#C}j$n_ s{v/h|u9.z.4+hcM,ң٭YXUlIcUOb~ i\r+٘` ,svA%@q0sO9f,a)qrmq·/s~7T]r鱖/N:{)|Ʌi/ezdaSrb;3=(̚ ﷑x2BL瑩$V:9)A[<>r07-ΟmH<=r_`{虮)Cm۽}N_CjNJ\gw$s~k+lS= xڥ –:z60 - sʎ#Y@5/;&VtTI;^eV@` R= 8kšp/t (.Y~"xPSc䣑ӗp{ͱ?+ŻɦJcM#u2]տ!<5eaR]^^D2 rUpm%\V$?@)}tbaӜ-w{:xEoJ+ưt7?5K6IuDeN|le LrR'8Pe6o*R攸$)qgvK\l-_'v!7O$mcU-dqk|m rVdN&jDU1]-TPpToWSCbɲ{%)xZ,:~j4AWJ7CշH6.:f2NTNFGr&k'gaٳ_Msŏ4EӏYU'm縐nVqe lI,;1o0P7RXJ;6id02QVa\fzJ煕 KMɨm(I>IP/@ )@r30Xf"tv'Q*s!\̀OZ4Jڛf~x Dq.XΞTOt&\FJ 悫6EoS~R{od $ϋE6Xxs`e2҃]'qHkVNI Y.rH-ЃG3҆jy|h@38_0>E,>Ƣ1g%R[1fk!`ueAXj]AxBonxA#+4UoiYU岨|GɌFMxBw<Ot5rb8..lX*l铼ce ԘCB{;(t\: J.A8a|k;CvU*>ITQ^K~A 4GB)VƈP4Bk+kUvt } ݒis;wR~ ΊHtq}6uDڜ(a1  ·iugh9ۦ4.<՛nmcM i^X Vn4Ǹa").9ߚq@XR?ط6Bf|r?j"?`[ p63'@az\|*~W96GQzC楿pJ)u" X|A[5¶r'eD1y!H^N.Vu9 |d&> x]1"8剕Oo$M+1: 9xh@w_ ӽ吺6ֹn%g~\?{*K0~} :KXnImP|/6x=|wZ|67;n6xYo2Xv%(ejk N,doۡzFH0lV:&(/g#PցDQ:O1PjSHe 1o:X3W8,-9.ԤF"/PANL& EV0deuZGԖjåH_OB-&|`YYs\cK^#yOJ)P=l7;&BxyN@/%Գ`Ҥ0W6ȵ{U|vSxPKDIW9;GRVҝlV;JZzqE;Sa3nLPY /3>2C{,tfԸYN0iT˛*{+þb*:\vڏ"yXmS4J:G&s@㚻v@cEm^i(y_[<s!"DBUGy'qNή/[h{v)&m^m AQo9!z`r#aRCm\4-h;jg Qb6vVv[n0ӧO?::497׽/:lŁʑ"I0!ު6LNmCr:bp& ;pc@w/n+䐫I;RSs N|$YqJFSsK3iUy-7ǧr|AOf9X]~{W=,`Hafz\o a72pJ09Z{5UF W%/AvqtCzȣh\P5-aj{ G;A{'nb):f@WM(]r2C6wC0<;s*o˨mA41I @@GA m&,0 B2C?">'圻Z qE)[M$-PZ{0 ^r1GW #tjv&b *)M?#{-ڭA6~;=py9w"4) NH,݁]-XtC1ΡhtJՆ@ )4q333/R7HRig):wZ{wÍ! wޅj̷\/. qB/ H8""ZNRmk}ri@BP܌;Uq^okUyҒmD/~* AU=klVHU l(@m*\Qfg g~x.8!T/݌%EuB&bGbz O0gcZgˉ7,iK{<j~-!8}[9"jzю|H!8[u~w`7\\##vc?QioqQО;y4 )2bU^YW(")TCm}X߈_Z2RnLȹ%nae h 9?(ak?̑+R@K3%>i ÂzLK'_0rvJp^RNoeǟ7U?ixe fmdL7x֢bZ N"؂X ݅ 5wKtU磅3,1^2Ǒnj$oړL9N+94$ko<JĈ\]5E.7N^%yz?nz66|5@ŸTUHf dW{)o(o‚\]Γ"$H4fc(axutN6?!}!+ڨr6UXD\:id ԗǥ C3kIL?) d0BQ꒹zb;GSǘP 7N]"-"sv(+@ xt#HH]Yn8]pA-~SUhcLi;9PLǼn)mR 1=c"b `500WiJH4E34@2]`ߦ!rn*SU X1CySi0T}P+Kx:ۋPh3:וNLˎ`56=̅Z8v>sWX`֏{iӵ5qBE1$2Ҏt.F(4NExsngv/;AͨH%}航Y]%ѪI;% |6'K|-܈ hfwǨ{M}` 1a`x uRthp@go'fk 74V{fq侚lk;Wi5iuNmG2P#$xs6{_{YJK^8nTπ/ΔGcPW=yF|Pg-+޵y''H[e^sSk@~^|ma].R[=Ɖ DOe.?#}]h9Jqb6T48:+KbaNz89„B_84j)ـiT5gy a"q%|Tn0Mt:jyjz^c>r׃޳O7-.hGE`[A"tFBU4z'd_>7z$_8+= ϲ@398*7'ΦvXI;e3 {P<[VDݶ~ R)W *uvtJN(Ź{@ \6 iȔqPYG&|D" "ѳMHP";=H VH/(HR7 elc;,Qu r0Ҩn EĒ^-ߝ66I2)+jVzHGdYxf~>V4"ک !9Wv ‹oNxA~%]O@.:9nwLb'/%@b ]gQ?.eU&r@䎰|{ZWvހÊЗ# x/tUI&mb㺗C5l'!Is>u-,RE]N`s5_3H2_ӧYBeXMHہ0W%ڵ԰(F.RoP4Ab 2< lY߃9у党}c =EZeSҝS3Dv HڃNnI7ON=?K݌8CRTaa> TmӵkS2K6Q/TV7"pXYtIX*lN.a{{j!-9Yj".b13¦|I`mSϣ_:Mz˟#{$[5]247e~>3NCaql9Z TRܼi$'ȍfbS-})1}3+3kPF>D LT7P22*s$L0>Mv_a͞ -N(-Y 3cX5Xᨆi'i L #e5bOa"~y!`]2֖ȥBގܿMŬ֗fE{Hɾ+笡JΰocL/P}C?{~!>m>O + :/6 .@Ìؼl mSMS I`ouE“"Nkdz$qdYutnKQ"(.Qhj YV\K$\B¼: d R sG!H;|80ɸo#֡1FeЉi''W.CkٌNƸؾ7KWukU0NLa\%~y*WE8^}$2jæEEʏEp#uYV 'n?d9[ɘt rD̺ՕᏩJu_*FBCCS=>e VחZ]H4Bˠwsː&ӐfpPCJMDE 0"nHh[Uӧ*阅ށWANKd{g&g}4` KNhP x9([.nnh,.~l $A if>Nz9)i̗#р!yt"VR7f9!^)n>gkݖ0y34- Nvo~$y"Ianq}yɏwDI g6 5vR=}]-3.NN[B w(E h+l@0jBQF{֠e"xx.B W/'iR~kYU|+=}R=AџAҔp U)@v[z(圭uh8#./ (PSDE=fX\6iTEn`fr|SϺj|tx富Ի[h<ۀ{e:Rt̜ѵv|֐V6)2v er!F8u%(TyS/yN|u# sfƏw =: oMQ](<ޙ,z8i=hu7B!px0@TjԐO߁)vw@ 輳-=2+s y0N(Z6>Z\΋6KOUG!?sX^ż^ݤ87jV/Y]֏r'l ZJ}yyBsڭwQ.yXs$fyÃ밵k&({aO;zgItV rVZ1AeeU}%fl u7S$ Dpm4d~:.I'=:x(ߒ?c1xrQ8Խuw24-.p+0a5椦0֣BUX~r>>I{fEPeFfgC5|D~F޻kʆaz6#7¶\ h" !2^Fz6Tⲽtg9 X< &yYD̢d5.nkves:U \πᆮ}J*Ƽ9F6+oOS $X,&HKD|~-~>_p:tO8ecͿ)_`sQ*Q3tqNq^zŊzPgA-%T:BQ$սeȖoݸ@cB; @->ov#kG?([Q~ȏ3L)_!"Ka2Q:bt9p&kav.b/T H6YG){]EH ,G3P9|_+kmQcTYcav4&ZȟsVo6TY;f_FV+&lK )&ҥ5kI;8hp8h±}]"=N_IsU-^͊eޱijݦf$PY7މwW?#3 &WTO~X&ɘc^oojsoV'ߎA-ۆ%^qGa]a"7Xh(gU A)ɽ$=.p+ou)3  ~ǡM'7M&y[MiݧG2&7p]_%"̈pxxVRub%uϬ= ?qL۔|ױb'TxFmÝPCUhz]6;Jfs֧$Xy;yQ!`mnTuJ ^=ko17E;o5w y΀Wj 骐kr"Ndo?7-%Ȯv w+"*uQ,_;EwypT&Ebl\'̑G{'#mވSv=*\0eTҎfogcfZ 9_z|g 6w'7q%QmH{{%+Uz# >MopaT̮@"TA4j/FQmF5[8fCRB!d4A? qir{vs {,l9ܚv I#N0>iq,}Evk35 rk8,'lɣMZPkb/ȸla#\D\Dx2uɒx@(9jӀ?*HmxH++(=B5&+ؑi~1uo ă;ZJ!l^Q@x}Z b<ҟuB=J|>+l$ uG۱+#^$"SVof W'2ҴHa,ˋnoiq[VeoDF"d಍YQl|PO\OI跗pG8*nyVoHi\`z&ZڣGXPymo sJEuâ(̒n*Lkg s_w?sLB=T]&,!R–P"VfbX_ ) 4h[v-&ة Jn( b;|TXDVg|i˖&o@dgޑKgL?|x{mW1'<=SxaSS;ʓ`7늟Y՟M*S'W~[&Xgo@*V['e `NmPV~?1>.] >moJ*)Lf7 &#r~Y7%QWswA1cI9wx`t&-~~$Q^X؏m%"uP?bU2R"q[*d<(o5s95Lp-PE []4h*ĪAKnUH 9vV}G-֏8DqP]l}^;b@ٙn=Q&M(A:oJpcmpqj:QAz"  E[4O <2N2A#͆Ck) %T&#.ʽ5kl"t+L4#K|_cfTE3AX0c{5ƅ 1ٺdaoc#{}&IM\u+ؤ3lJ^] bɃ3[tK>ҜcI[YE7NQȺٙrY[H܁Q?pK{}ʰ[ʖ@`]'[}zߎ=mI7CQONM3 a.olBŨԉ߂伧rV'$:m`"yM^ɛz)w\Oo`bS=jZ*=6!yK9Vy]슀)J/YGWTtFN}٧^pھð€_ga#iuT7kC[Du8~[Ĉ_/)6vgkr g("-1 ȍ ]HJ2֓f`. ђg\h;rL'Fv6BOk}5˿_Qx]\`hx. Q{/`G њ# M0K?5NOq/ZɎ FwSj#}A e6AR9|!­= oGT_Rd0Vz(O"a z4qDP 81KNSAI:I`VB z*7{)nMVfO"O,;l y~Lv_y2Din >> F8Ĥ#]3>)`[":7ꀈaEƎ!9 f Y2&5/SzW#K8vkc=r^1 Yu'?~d8PirJ8C䶞 lCD1P8>L$*bE36w'%9.Zɵgfl3FY4A`|W]TZe`v92|Ɯ]Mp~W gb/`OVqK[bo_W[f~xX#z_rSYȿZac8d^jGVEYq޹&Λx!T(@)*芕"$U3͸&53{PC;U"BCo0;7N{!BDt&zE(.:e"1*-C~HF'X'ӿJzj&R0~=|xHŗq CBեK4{1"|cWGOl>! 3/\PalWA.nt:>x#dլ+k_ ?…T WD'#7ZNTI5Kwb\VPSА~r-[/1m9SAL@k':T 5L M 4]tlX޿S_}x;y=qśs2FNqޱemBR*Us.H].)\E;˨@<ܸ>2B6ǩMaRn&*)s##I&j-{?wf}w(5z~Q4b@KsJ3dZA7gCVdrǂşA$<8T3`)|| Ӹs_|+`>?9sLНf\zLy[U ϷQڼ>DRШZ@딳vӈ Z 6Q"W'7\FnWb\ BjWʗD0]JO ̓J;) +6>f+t o/ #2d u<xRcp|Z(!N*'J&ъ p_b `0U F,Y}x1  "4.yG 3y&uLW&=pYP!OQ4on-dJԿwaqN񬻺hZ9b$^FW)6m3Zx܄hcEq@A&v97 WfVAèP6)]d.TU4؄Kc'`N?yi#W0d QpNsWCAѯim^KP"<@5릺[$ڳ9 rhKJ% IׂBDP<)Δ.? bJ/qU:5Zqp5N6}jq[(]-bR*mjc@|]By;FVu@#N}>Φ" uC:"v#TfXL^T800|w\̥{ !dymBCTjva4}B&4lI/ l:ﴋr2fV|r{ެ JMZ.U w" {<Wpeh0[x@.Y9nXZnLaW`= ZԦƌ{չ} [5v@z41YcZ)赒y;grƈ6*!l6ӧEh~&=l^cqh3F&#ZaVLmI3ls/(Y}d.;g*y_܁/jx-Fͥ$V]5%""K>nxtּ:x!IF좚8 Ǭ%)o-:jO lNt缙zށaōb8=O*Zf(nstQUtMlU' |NRl*{^$ȭeb!lcyydg ~A>fY`mP t>DUoX0r% \ 9|$B 5R r!m1^e,bZGâx$%X%[wtVhul'L]6i}ԓ> W/w z$3~{ ~;Q+}3*5жۗ#ITnxObcU j{5q ĂoT6m$plkEDΨ}*ۏf"WZ8&*qήR، 3˶)/$¹ [fds@ 0͓⾫ ̰`)Z I!hS9πv$؟vO|92hT S WӒ/V2yq,b9q̄htK`yzV剮/'f AS:FEr5F-%S@п!Zݣߋ1iU'k(Ub4(zYˆ[ Ouk v%W P!gQ{Y7a_am>;߬C[ד'cNp+~r!ں<^:n?bo!QƬz\(mvvC#hyz :N7Gd#t| jdEy%Ɋ9v+Zn[# r@_ ^.]}۸o&-`֚x8n'KX|tQV65 f/?o"{h:^ Si-6%xgc(Q(}DRWE5u~uQ8 Y홊ޫFڜ Ws&$PԺv\3^kta˕*Wۑ~!*qCB<[5s(_3'B&P‡!,8 qM ]0 R2 94 yQf#1T=PĪ"sΡI-Ipꠝ- 'Z1/IܩLMG~>\VZW4+p {ۆY/4gG7ݕ=2GO%K8w ,W)O3V㚳fY(NSzNg9NjTu[{32vtPT/1pffaSAtDOICRO;l]S@qp~j6 P63]s ?BrP ߻Q[U|OZ/qiX3 $v'W(lB%Q'!\V_\$Ur&ZxQL%ޤ(8OHQO_`.9EL)l!?OQI1<"Ym}EWӡ^VӾ\shY 3~㱀e4>QX8' ?+n/|2_=حB[vr(Yd vo7:jZ>q]QH9hqVם%7b0b@^=k{Vd']7fshmƂ/6$Ri.M>=B^XgLPP; k^9,zh2rW{\"rVJpkżlPש`_;>HW:bҭxO7T|~):s&UsՋR-= = _wE̅/ߤw}tH,%dYnې"ۭa1ydGCk^oA lHh鿽 I/Z|0̍РC6Z<^w=U36j˱*0f}mWc!V`wCB]vkǹzp11%XO~6rF1(z>V- ."V5+_i5^%䧙{[*ѓW,Y=ekn3>Jz ^[~HU3Mf2e: C{ީi?sEǖ1U|Fx3Ɩ8v:x P+LoIN|A+TS:LTkuERJyh=\Q%QGPA,LU: X<>gSc֭Цk>*V5j+ s̲b ^UF+/؋]"~xP3lI/llȐ5¢I<o9^E Ɓ֠*bQ!H8HtO!ӰH$Pnڴ* Gr`w$@Kl̃u؀ haKEuBK64<%B:D3˓mVNzh?da|).]:\xv|Qw OOvQH{Ci!6@!R$ڦEDvCsUCY>28Pg=H;N{wn(z  5{[9YB5p`HvduG(Ҡ*@|( *>vN/Ԓ(9]!צbCXBwv}@ށ~Ǻ›xۨ8'@]QU؍.$FxWa/?k&p|%9} ث5nzgCI +O6XGyO*W v1#q,dF269O34Un>xpmpQGw~~a@,^-W?MgihN}0006)˳dx% ې7ɵd-3^5i-uNfx&E SяNCƒ+b:CvYWHϢw꧂й.4YIr젝un) wEFQC4c&8=EwץkPz`Ž*-kg^^T*:M]L3 Te_":aeΙog _>BpDxX!2py>p{`B!P:pW2 ) E;% I]/` cfL3PtI@؋*S?˩pC̨5%4Ro4[b(TH2*Jẏt7d&Wː,$0bZJuP"UT|y;X]Fur1zYQ0?EhFB͒'<o~U?8<_$eCxBV,r!&5PLa`i]n)uϦʻz ᱫF& juU3)[Tբ2w%B dߍqqu0w.ݪٛAVzNj0ɂW Z@,ȰSځ)M!4}bm 'HNL$ܙuXg9E?6a %-q.YDܠPM# {DRˊ^oIFݿN^Lnkex0ɂ]3#8!rauZ mB#groHiLT :k2՗7sA^[aow]nCݗ> BzV݊4UBE>s+k֕:1H_SOġL$puVO}|.iF#SoeD~/ρ9 ?GiVhBђ^24,N lMyWcC=\1pGjnאHϺ+No~ iT RϏYB(4E-Rm- Au9@7!TzlK8jv-j"̫\DO}zENSGԝiMВoٴk*A R+pA!`u_v??nlkY?2@fosϺdu=['>xV_b9CE`?QPk۹qe۪X2I"w^})lЁ>w^n apeLŽ֓pQ1g!I~zyoS Uݾ227{mk2eO@KZ`;]^Exj#3.8aH4d }U:r8 CM F,WPw -tX8hsJdYaKvstKw07ҰHWӈF#I5]|=|e4lBjdTZb@9^{J NHjꇆӓ7?cA4cj}{^u+Jٻ*6 Y@y\5\`~g 0*\t{@q?]@Bu0?˖N3n9p)~D gS]N;X\?>i)rՔu3 eR:Ѭ*]0޼Y\G"xt D:kɗoeVgaEcUCHJ1G=uaj*:r^Wa6LJZ,CX̐@~#&&ℛ%dҺΖ<EMrg:H W$ h9$Pn&)砒BßxA ܿ+ffM x\19{\tg8N58;u;k)lUnGlOC?pMHryߤR^?CzTo 1+1WMvŔ"eOHźe*#'0RnPT6!ИhE"0w{)%G9˂?Te"#n&6A#A,qq&ݺ${J|k\J'tB# 8?]1d4頴v˔B3xAo*WOVj (A&Ӵa'P((w~ҧh?Ayt,a-Z{/ud8EepqUQ go6? + !`y SGgXPDy v0o|hޝSO'FVOP/L,{J!vi#fV>`P* qR]Ҿt5H XYLE9#ЧXm'R%C- ^ da4)}?':vjbd_@мvjJTJ.\Xxsc!C qz |C32UֳDznβu(NsG,lV^4}⣝`[w|>F9ɠdo}ݍjvfhd[;ʝq]!mRFg9zsKc0,kuVbFN>薫$j'*j: êc@jɜgDfLiĻ]LOXR wcBIP5Ж|w5gx/;mY66Kfk,;΁BTnD).#rӈ*jnŻ"> t 8?c 2KIŸkQe4.ijt2v7b{ O+l[!_=[z3UL:2\^P|§[BCN?: MeQD&j"y胆R x@hrl}eCDEi=, jG%^H_wLxף$|2zRI+Wme2!]*L> U1[ -*%aT+}jxZͳwQ)MbH'OPzYZ)tTH6-Bu7=&8KUiY1EhR{,[n_JziY^9㈳ُTX < xI"2qG2~Cft Z!?Za0WW}ۼq9.&8}hfKA}o7!O۞ Xԩ ^Rm^.%&8}p~rю[iQϮiT™/;qsyzWHmo4θ! SrK:K,ACJ(IW#iI;KWp}.7Hˇݐ'jmZGn eW|POݹv\c抈^W[݋c\n?wy @*lMPK(=j/鷵$Y\6ܛB5R*过ۊY>/H ufSGoNԴˢ|7K/T$$} x0} x!`5̓k>1],ǓXż^k۝S6 x/-45|SXxk&If=%mC@[3MS>s u.7FxxLKӰ./LsT!.%.q [es_m; Kj-/Ol*cXȴG JLd[\+H 72UPag:J0Zb# f:p+Ls"+$ۄdrz/-)d3}*ְ%⛭u cfW_'G4J1|f7bTNu.yF!YEbB{]^5b#$aw^f~U :t)8uNovV;q?.k𳎍ͻ[:ޟs@Bigz V)u^7IlAoJܮdXa]- r_0W͂K3_zȀа fC_ኴa< z@ߏ۳-+us.O܂ Iـ@_֑84HX S+0BiT.c;+ lAuO$^UOKeJV'}ҿP} FSu{ tb?>D) ۘ5q`9wFΧē=j90b!ƾ`11VZH.V@ ]Cx#[߼49CTRbۘfWLwTr$x Z AvO2 &q}Exԃ<PȌp MSP+n2;;Y8QjE!՗הGn^~Iǻ"V4ee繵XG举g~_TX"Ĵ̼/))5lB7WCz+=-v13a[[rus3XHfHmv <=#y)"?zDF q$ )H);`zؚb>яu;׳YTfE5n a f~BIr|j;aRKG^‚VCѢ].88Q!htb]qZ('n-'ub 6WkEJ 9 oYt+"B( )GNbOYkp@d o*oȥvf&-(6'2%PpHKx4gèu& yW |ޘHbp6[h|'8[kysCxbPx'zSٕ@dlcC1Z)4'w.PPWP*ppmDvl'{q;an3&7%W#zZ-몀)};v K% 1AwK2D\_LI+q?0u@{^ sT@b?/K1NC/g-9 U"ҰX`%Mu@C}ŕ`W xgOKk+:>b ,_WhƀTX?Nhܸ<>VfD$N1DJ\x'JGw3˔. ~q?Zj'{a+)N  Iu|lWi(ڻc+FqHzҿ01hN.Ɗ+A1[LCۜzcsyuǽo-sۺ@vbT9>Z)9wk$4jJle4՘Jg{ozzqN!))L>c n/Jo4= pv?C}736,$̻6v.q6l: k)tΦNXX Ο+_'eHK`2j+rZV|Ь|E$*pׂґ,4D[T]Dm"UTq7PU!okdt#Vނd#8 g~v E4s`b$P%QkOxy@"mK'p0"B9AYW6m:wdNI,4Mam#]l} ޴XIT_Қ/-^^)>ҷII3NT& zK~[L5pQZxx 1IGRfsE3BIn00rB& 3QBp'DTTndþ_rS| ְ qr-Y /bhM@0cqY@*MFeI6Sjh0Cú'b i#OzL_]g ~4WQz7Ϥꙍ5ՙkTb޾JZxԎWdS,xUk>5ŻJӚA㍑yuQG#R/o-e4D 1"r-IVhEP7%.4u8JUpo~!NȔU7nc|~hv4 6S?L4ݴ6:\*lqS ?X\mIod {'c \(/Z K@@DڽPfb9gX~_r.يR>?d!egCo̰V ~'[wK,tBxY<~Ȉxr+Kz"Q%uIYY.s!224sVeƥP3=sK#>M〈Vcr.iff)nyKuZhb>K6-6q(ë/e XdUmƷ^AkÔoq꯯| dx}NLS A,.t?%η*x e/8 Pq\f "? 2bŷXlqǹ\Z4ퟎm)pS+O:Ero>=~]tF*z2G-aȒy,%F0P}kԺ׎A;oɛ1uj;XHKl@e'T"mJ!/WH3'j<#CP PUL>˰kRjN2 йPِIܐc$`L#Nh@8vjz ssc rP3.- *q,*X[hV[6`都żz@D+Hxd ":5rlԼ"D UV,l`erNJq3~C6XϓoFrבB.Dk/i*M:@hsX@V\0(l^蜊sUQ[Ҭsgnj"Fr t[v#|+lH"R]ת^ xJeH+ vڒ;|9zSiPbpA広͊m 8`}j?nBli$Q=>޸A2sw1}iqWsr(S_n-]j; P% Hsjy ܉a@0 yJyV2lK~;"!Nm̆} ~JSǬ6t=dc^r!$꽠@nuڬI+0b֘:*`l ;PbAIƈ"ːE(;RϔV|BT -44}_u.LVmGmz`p@׌qr|ZP'kg#4'Ukq Ntsa /4v N,^`$ s A(+a4!=Xj7 6Mӽr? eҥs}ِK o(2yzD8|\EM8.G ӥo'],Ryƭ 4L]vfᲭچ,2DWСKb@6"@fkt g|CZRiZ&2O\]4ƂuH _J(GVǡ %.ѫSr|k6!${`pEHqc/5Jw7~e09{g7 ԗF#evXr61|1@{W!?FʝTd5U6nQY( 7B!^X+ a5_fE1Ot32mAϲ29aR)sֱ V8O 6q{x@LKiæ';!ԓ&Q=dBNkBџU~< s LhrNd1hK.Y8\/TH+9֞uݜM8 z _tՕ~F7T&Q-Ig]qk96lǩeUR=}#y El.%z dʃ4s#q7yȜ*ax~(vZ/Rf1i,gUܶ0 @NZ\_@)6EBsĬ/xCDՂ?8gjFHznNQ1\T /m8JN9ފfiGAX/keJkUDӂƦʾp9g&98];W@#حQU1 y ǸƘE)0o%:C^͠f'8d&U@J \W#ł@|YYΤT7nyyYJ˯2]̀W٤ꖜuYzr?r>Ĵ'I?E;aV͊ف}3np6\/A--U8}C-ii'΂rB2(X?HyѹaSaqiSB1K,\(_9nx<ķk?0`A{[Idp o\D]|?c(EkN]|Z$>WyB ]6I(p?eݟ?EI?Fb<&50\76eqO `Rz7v}Y ב=W\x==%:>R x!-۰{FCR  t<V3!#Y] ۴Boo?)Sl`> D8x4rN ЌCMup@Ui3g($ǨQ-0NrJ%8fEw|:fݽ[)Ԟ׾2Ooz8.~3#Gu}C~z(k4c‹G:֨$ ,6[NкyKܛE!b%fn:"#$O7naO *ٙ  GGm>R|4S "Noi՞7u7ʧOE1XPnñ+!z'aPAϋ2BJ1,٥"l=^|0L 0،jAelFD[y}Z vgbXL)R.#)R&eK:#AH9%qw3~\[L#abPb`r5b<8, s#HGl`\ojtid S::̓Ӧ- }$˴-h@HZ܊zf]e/TC%%> G9-o76㼗I~M<CGOM055{fx:tӥh[gZȾ`J3Yqx3khbtW;R666a!Tᚸ^7<=mV(xJ1Yqnn?hzpg?fZ-^C3|tيS:"2F7ILiF*~,$0gՑD6>Sp/=9QEQ.uu. %.H)! 1pıa4ϸ>R7"/v| q'鱸\l{XC, }lOBdɯ7?r:Թ3,5 v$ Ft2Sl3mvʊ"~XBcS(C(D͟Ǧ'y݊Cȫ] }ap=sG|Ejq Rd ̞XԦeD%7%rDu4TĩV7anD|Y5MwUOTf/1r/lMq.?0-;@IUt4=,60ϴuPbO {}Plv_}/~"[Vu Nߝ:,D"̗P}P<84@ s̡Wi`{ZC8,2` !^dh>O/ZDrksYU;@D];{v# ׼A&.e+"_S,,iіa"R+6KaU!QIN ̘U:mr6%9:ѢM1IJ~Rg '$ȉd ;.mVM;?!BQXK^ÔۏQ5t΀4-UP) P9I$/$ Y*:EA\I2$v:KE:Og PPv\^=/8qTZLj^"Z20i @^ie-Iɲtw*`.ȧq GV281V󙺌ae6,U ű2*dG؄ޏ6x\81<&#SUdB=ڞHRMzrτ+8C6QުgЛůS]l̚PsOТE-{] #z:&mIvdsH2ڲH ZT ߻6Lɹ8df1(W4 1U~Ը)Fdy@#a!L`W=gAyŰw3/m`ufey4j|YΜ[Ze,Lun +iZUS 7؇k*g3kϑx^"Xvw%A ;ZsJATS0yyJ.(2k\whIQgw4/sod(/k,޵6?"sA7%?Wܒ4X88S?z ψx7tCooO&=)w\auvhFltY,Ǒq (d51ƩE܎ᾴ Xa;>so>Kt*FP䅐;R𪚂!.TUtA?o-t@9sh4+$`f$}/]SD>svbj R50m^-^ݒݰFo7s(ǒ?;#Y@YM.Qk\9NaLDi (Hm*(hfZJb1|[rn]:G{ ɂtҘ_~4uu1.*q_'{<҄|!pmWsz۳p]ɭO:h4E:m qҵ^Pzu5z{!L.%y$y\3_GJ^H>hm 0yeA./vŦI`Bm.6:ݜxo8Ƿ-c@+̏'@kRK/>[uE x8z_kTf [hATK|"KG;f~CDuIg}?I1p`.S|^Tw>[ 5%+|"1G|˧ P--}I|vBc,@OLS9_Lk@W,hˤ@ZJuP>lU'&p=yog"&"swµ!muE6FyYmE۳™tܙ n)Zr[L e~;nz H[G[񷀷QHI*'^D,Ԛ$,oa%p^9/kX1UwW1nLl2"}(fF3}3O"_:xSKtoPLFR aal`o7f*`nO&y.߁q_.g 76NPkeKm  E8p/i7価a @ZIUz3kg ## ϸ /W6V.&ؾeqtc,x 5+ ' 4L@mNl- Yoͭ\ԭYQ_RyPJ s.3ɔp׬+%~K3u 0V~Ee8p[k|3MUN Uuә>\\Ɏ@d-9R.$x":Z5Ao3W(FGvXX&397c|)5(V78, ]{ D~iʘjMwki~0;h3}$ۥy1DEϒL$Q%R`^8MnM#M{p Hc􌢶_"Fx8RwRuq{@:⋱v-?$9ڽ)gʮ詣&oɡ˹w7w3J^P(57_!$DaRAl3Nx8`~B|@bb\tj\qK⤿s 8DY}"Lɠ1yZ0 ծU_`R=U>̵bd8u?>j79KӎҊ;n)kTJp;zÖ\-f4 .w s 6.qSi߻rpᆁ=iBUҽH A= OuO;*Pi/48|./+EkC*INDW75eo_Ʉ}3J-]3䥤O~)aȨ*gf, a[j!~Z[02 |}ʿs1xӞG/C`vh#8BrC9UB&JueQ1AO52H@` twJ1vx}|WDBeig+٬zQ~<~1yU e5e)P#y|tbz8{Jnjny}սńQA{?Jl\+"ӛ(" {qf{7 ]rC}[ m4+8D_!!4R#fğo`䷳3*'!!@԰@Cxg~ tIé30\Yd4yjέ˓SL8aDF'yz a B Dy힛7{Fz&YujVn}s2jYSVtL6-+?WVUW+B0C,t)a0A=oxMͲ_HB; w;V0c *=(:`#og\ml 4'8900_grqhbeZDRU LjՇ/QP-wP!ݔGfU&)iBXPD[,e03C+YIb*^.7ox~@`#\:)ΰkγ…c L(IkQr< ܅2\ ,(dF v4{dō߳r`Z̤/E V_h<1vI,DuM MD44kI$79|[qW9Id;4KRZEغ5ylAN)n?2_cNhRYKQO݉[P4Rk'FBEGH([zZ76'.ń9`N\\g]t>qusigre d 2?2 + gv%8T.0-Yaҏ@8 R>1c鼁}p;JIi3ˮa`"$BAUlEV(y9(m^aAt];{7zCn&tϭV*wUo,žڇyU9㪤ձ2]6wvmTLr)xtPY4Lh,LJ 9KJYjd,̳Dp0prƥs#^qYJ{g,a4")˖ |O ; /YeiږWխ|zNͣ2LU=G##v& FBfɒ`4.,NoRmI>Cٳ-^2RAVFި2r?ciŲ:$17 :[zluq42H#"("xʃ(xbGsRkU=)UUŸ5w{j>NъUTO"[+(đjS;F%8q ♕H6g+ F_l;t9pFܲgP~!OO߀0q̬ 0E2Smw!/dŨj5XXjTU>ݡK^߳y4+6idyZI;MsC$?+M\m u=D)DŽJijb֒{^淸 oP@ߛk|]ͫ(k6Iu5>u Mo{S% ] 5 z1|!vȴ!fM2^`>#W{p(̈>i mPbK>>Q sda7: =bxa(]ʯETŭ0r:vNذ%p;ů~* M̗268iTAeC#+LKGEZ)<Vc`g;揅GyFy܁"禾x0T:%-̉.vN ܗV ݰ C2W_P1zH#9ͣ(=r&P ri\€0)0 I^$V@e,Fm:x唪R=fwnXS2rS(S'#Y|q+t>W\Q&zH/ SHtA=Rnԍ'{.g],0ջҿ"IuC)8驳q $Σk:(JSL<cZ?MH6cʢtn*VKGfv ׋}|5^6zc݌,BPb@k/' :j~7]֠"L6߃qj4czD |ro\X9b749VryǗj$0Sc !Lq&e{)ޱ$K~cq2@Ei\4N!F>>>6 I6<&%$i;| jpFj͜E{P d mtMVhD3B(챦+Eĵ)OAi1t$, '$*Jb@8_]Q\`22;΅|%(VȺ4+n/im۰WˮɦyV2-U3bRȘ~byJ})Qޔ_ |$uǰNE+ i420sǢWH S@|#YdQ%҄L& ڸF:ZWݪ`\.M8юQIV#kpzdZM/g}H ȍuCdVw^]EGPՔhmSr%Y[~غ6mXF 1f#}4%h(ghU1bjԏVdh"< Fn]J?g"~EQ8Fc2owMmMt+^Vuop UcPC(d.)&,܁6u4&ṈW 0{e| }<Z$sd80lD^̮626pLA@иan+b߹#G)L_lN0RC)W6 اcAx (PT%pݵ@ k[{Bı]V %ҩh'!YV&9a2Q$K yn9I\ﵧ2G?T< kV!2;~8Ц4KC\*˾/TDm+(&9..yBl;Y̦24wwMFovAC :g]K~eU0AJh{|5XP*G5ʝ]Hsq`4"2 i1ebPjr;M'׆U ctN@%PU)&3'-KIg[EjP7Mv@P*5jB/&6(%}Տ)0(O1g&TGX!3]8<`}gʮ$bzRlj~2N#@Z'K*#Tmqż%/NGI9[s [14*ڞA<Nvm uc>g -Lz:l˚f^Tؤюt#4>NɂuPduKKM`( 0E?@pOM\JG(:J ?AZs28K~+WnD=2 d䰉xF:ng!X>њ^h5*x=:!Bм3(` |ET/2 b0's@U8{VjHv̧R\z^IBL2y0GXlovΝMx;iJ%n`HRӓ'Cʿ|^Eq$b0Y#(O4gҋZk^U N p~Pvf7u}RCTϛܣCOw;\K֕<~98~l{l|!VyY EO/Dû@,µg%&7t 'fu޹5y8Ajʋcnm|è{).UN0A0_1]eBME $ۭIqoN?Ш`ɒk'hU 6#im=D \QJKZ?R˗y%{WouzDfc?ȡgvCdɊZU0HꯌK>A km:N2^(kn-C1\06pƞD`\\8D\ݤh(p$w%kjbVRɏSj.Aq4+lng†9nڱ5n;a?΂8VR7p1VS4z ng- ZW0T(f3"'E}a$p CO0c#b0ٝRb_UxE*%GtlL?q>EE477V!omd?E\1*үiq!Q ̬0, Yrb(鳒WT4Kﴍ/o)d 1ʄ4BOVMڊ¾r)FU8ޏ w< sPj 8\"H3S ^(-+:CYXKa#3qg/7#m_jAq]f,.v 聩~3;6XR^'< ;뿓\Sdm.VfV$pdխԹ/wUZPP"rm@vw [ Fb ZL?/VKoL=ǣN)DYW[:HuL 5.M ig˯(Zo=".G?-NH3cPir<$PI?~Et^hކػe(4N̜/ԔܲzĘ&4G+.D΃PY5U PmqEͳ{>ni5,(ea"ZΎqH)6\ahcui]| q?lY XLl2Q]`{>Ej 8fw-q~vPpNXν A}u?IcEx'Fp;w菰3 N).$fTXq뫙V &?=Ř~et=+V"pe'ИCׯw@dY1ډ\<`9%M,^Cz_`i-PÜV1Àyb󮸮Ҟ5{.>ҚAUG }ɰ.vcM2E &#'D38W%}/pNd^Nekz/$3HuL,,,5#%%sXwf+,Se eXM=<_3fqSֱq8J8VYC 6 Uu{~D~6oLDYi}"|Pgɒ;HP.A:g\GG%)f$vooۚ"{Prd ȑ$PZ .:h L(\npѯ 7R"1V48Dkj gq;^q-+jiUB] ZXV9)Tϟ+O_&Uș%"^  `/[2 %]n%DӢ{Q廎zWΦ>;`ҕ\$l+z*^cL>7`'KO#|{P EkH2-4ț7Vʣw7Bt#2]ubDI[ꥦ{%)[W4}Xo-%h4[ w 8!2ֲv0f8^.X$aKY"4Ņ츷gG e}C^Gj,E(;D2OGm ZJ?q+)?SJϠz-&~h; tr:Cno^|1a|3pc9)_6*f!8{].mBs:hҁ4F7؄C[XbB(тxKFlts"|q*S׎}:dD#@lޱ}J5N+0w'҅}nõMe\5Tʅ+D/O2W?\&]@4wR:{Y]j \եOmL7,LsC0?y<@ū=^G* K4ٷFӖL W왒QEGTY㇑Kc(}fi0D˚wKih\uZMYD;!4Fe#zO;6BFEM_/Ӛ )*dh'?O!R֨=k枹 -&-yogBS܁nXt!{C4ND&Az^}xкі3%%u0UYY' ktD ϊkx\{E;{l_g[JMj~zUƉ 9&R5h#<^*Y>pg'AFz~a \أqSE)$sYmg=T8gLE|CX,1ic;X5U{zT9tX.e 9 uNhb%(Hɟ]E{RwZ=줶Ao߰`-G#mE0Rg/8Y|4!*zZ34G4_ TR"-_CKʥ$?8fXMys(p]*=@Vy7'#ҥM+x#u~7X׶Åu\k UCߏ\ILՆ,35x*ԓd H _(;$B7DhgU=2 Mgzꒁ]*HbcjF'7 0UPK`o>.!|ٜ/7Pi.$gC=٣뱟l5D*+p}#`t?&4BVN1_`N=FƝ.qXkX}Z0{ȸ1T3wj(.0PK2`ް]$14pe-eswAԛt ACE,PbD ]j X dJݗp:P2yT3˜ H<ה >s{ԊaXyD. Mj żǍ!C>H~e+Dsovtַ@Ym[ 7>0C_d<|C1<*D=U4q\E;j,dsy)l6슜 %/N:Vȥr }!._YJJ*P~2NW:[H1{DѹK)ؙ>WFX250vG 0B+!8*K><#QErլݼXWaj#xErt{(HwW|tS@@s& nGzjϋ#;}Y6=XzIb򄕧0oq%7ZTQEk߹#xNqS ̀\xeA\.}ȸZԩ$@ Qbp[@B4MUJ0DzT3ڠC(UB)|o<7OO>,N")ڡJH?rՇ>n L&L쇝+ B_ر ʾŨ9w.|y@ 'M?LS(䰟džir)fe#Q8>e=<ތj- H)K*;m U.a}:LIa wHG5Ej3Ի c`@A|mV͢4L!jc)*tܒ_=kI2%|a|Bd6*εgQ[I+E%$YPN+Mk2!w=:׹~Kh1eѺD]C0= j\&6|www]k3Δ(.74Ur^Kŕ=A"T͑UTʨfe #DAE( Ld)$m9_νzҡק{t|߹碵rZ /a!bE7('~͂P[."MŦ>J!cMQ$ٞ*JM]Z˴tJPj.n>AA^e,&bAKn CF?tݐhaOxiw'Oj(s2qN rRyi  .e$o p"Йf<߲[Tr"] 9 iAuHM4 '?&ؠPr]6?>.[4T}n~t&%i@ВE-'HͰ툨leRIrj:os%eM RghG ~/"&k.(HVJE?.+4=STd䖽d oX0WUlB9ڔi)f _WPx hБ u W9./ '3BY&&,sBAN 4_͖=Zf+r6DB<3tCi0SƭZ3rgi4sฝ_Z\2L%awqxNR,yò" V` w{UQmqAI05q|~‹eɗ5 562ʩ9qJ"oq^0d"2\Gf=Ӻ)P.h7pcQwgMt/6g$#<#05 XǾ^\poT.i,q."N]56hxײق0WwR,9/;g5A@}w)=s2HS(?m|ؙaq Aط[QVl>-ʯy4c(b 9s8avgdaʢN4&iݦ'M^Y2t OO|X<ȕ]m/}}O틳?DӫUv}=Ι"0ϲn=LA1̤Vx6ˋ8Yr_c?E/D˹+ŕf9/6 -Jwu7g(ys{3|"S!q޽m,e \bURuDM{ F1Bww@4^ 'x{/ pBt6e *`ut;MZ4kО@ˋ9@LKlR!Y'  'oݨL; 7xop?`,"DH?IQI^j륦tfg1Id9f~ˣXԛD({NKbJt:Oi۬}P$k ^iF6mݙM8ogM}_N R3ّFdf {XF5`'KSժ4Q1@ۇhu]*j~.4n,_WJ nt[e>?| A rX29`mZ('\/i2w\{c滌6q4}Ol +} n%&I>+wr |&j0@&xm8vA7Ct"CD2~*s$:p˿0T!jϢ !p*R{{?ęh-ao.)d{O;%*'NT5%igQZW^]@_yd4:KI&t c%Ps֟FSP*rſCtql@s;!3z51IVސNm\u?~qܩsH%UNJPamgrVPB*x.5MǫϫG GuPre!g8W< 2p;Dմ6FX`7N vRd@]m"1? By-7c p) 2>&墘^ZOc+- `cnH9:/ILjd`?F?Ԯ@ JC`Yg#|ƥY:=t_ 䩠^S.~ T ^KD,:}}z=}6䖕}.EJI6Zہ *Bar$DL!V9-첝D:T8I`BQڰK~]JY?ה]|"fMj>7{ hA>+ ]1m4ax|MZS=w`&7wØAlk~Z>Oj.O3\w_HG$Fi1ZqqJw`*ݢ'q!_Ube{eB^EP/(޳%W!I@hQPm0Gzsl9c KX+&VüV?2s"aUUrC&d<@FRW(@VVUF4y?ƮAӤ]n'o(_^> 4oΤ4OC*4JW_tDZTp-ڝmN0kMb> n]WEqb$*;ӹz<ߣ|B8756Jŝ3)ͩ?m2>ۘj_JVi3zfe<풷~0 0͏FbVp8cYasE`"`hoJis\6x~p(5O 6>BU Ťzw>Z&Ԅ&ndh|ѭFg]`~5j9n9/]l"9}Ւ8Č 6aR7$?@B?XlLATF%Vb('t-znL)vޅ#+w[܇&vU#ߒuW)DX~E^ i>{y7-2Vhz.yF52v]]X~6|JS1gv ҈0Kl(f49*fO9OGiez7E?ʿ$EWCoQ a>W=Pp <=-U9>N΋tyY3|̈=#p gL'|'J7*qSBa3C:+(IERH{GQeE O/X#$~d6?-, ?Z< d^{˭( Ȇe6樾؏a-8t s1"!QSɭ(ؗk0]dVтhǀF뽆}7\¦N]2ivas4^fkf9%FTvPbW a#wPW*gMnDEj"uA@XM oȶp5B ?95y9Kԩ Vi1grIZHĈFhG06|- 5\Pٜay]IpKM蟎u &3`ŝ :`0E)c$Ԅ*0q0[RiY,71pQ-@j _ {O?NН JQ;-8KZ6Dn+=L_I'l$lnAuP)gIc"tܣ.srgH>4-.OON lm:4[txil"ɒH'y?M:whr a}DWGB%wufN&u;:'wWY/e77GDLm gf1I"K} he纲AU3Ų_}e{0kJN$SQ5%4hRQOA-/TzDO$򭱩v3 n97mرE֍2X$OL5S+>m.-H 24 Ab5 %$=iʁmUCA;~)%X7>WIB̯濤̥3,dɄr8<1ҏRШ49ߞϧײ7iY? Uu%uJ (Z{D߂6,7 ^$!AvnD_ꑾ4hW~}+u{aC{&^ -z|XI#Vv"<|\A6v iCw1W|4HI6@ې%5 $um7smg@\&/``5VDZtuIEuKoHFKrfke7&08GUb`]iw_D58Y;BYjMSiTȸRT((lhR5} g?.+2iXd+…|y"6ׄ7 Yƫ}DqZ]Mg`jvyFQ%2OlX$? _ 5շ,_pcϐ]D﨔 8p+o l*e_Zb}gǮGL"ifm6;;M}05斀K~d᛽Լ;$CRj4Vv7J:n>),zt7/ȰSE̫CF5q|/F60j_AJo W0S:C\Rψ^?߉,c1Ȝ AzRBb$>}Z3Iq.$5mn֛VHݓT~PfԎЛ1Cs;b*$bF>ZzFeʇ˸}"(A+BF!>% QLA[>3jUjg36|KCoj/LɩTĢZK qh4KV^!k/#tv0DASF4GDa6~K.BF>:*YʛL]Q$@ 4 r1h0~!_k\)"JE܉\h0ܹ\0R[eU-=`BbjFAJm1&J&:Aq۠3Y.ȴ W^Ta T O# d<1RfKWMnͨ|딷{𗠇H¡i1 A(W?R$xb!01n(4}oz,Ezlp%f+LƆ:+z,Bv @`ec\ $#nt<:]4D#~ Tz?6J#Xapp3F WuL%V7?.MRP"pmM>`t9{`첡*zwa9ؿVt %a#߽^mqmg"#M#Ҹ}kMƵhaa:XD f#1MzACrVQ{Iy+@Y񋜗r-8~v-kVU-0ĖL"޾NlKL،9;ϰ62'[P->k/(9@toUrܟY:2%̵lWφv 5#F*Ky生 @Ko9S^?*+Ŭfҩ.Mr"iF_6?5KϥyFG'1T00a/0IEȒĠ7h@[L2 ,:u91c`;dvcQ bx9Y*H_w=SY6>U:Pt1#<ĖXO [+Cv)Q9ZTd[4rF`F1/50kJ-_t;/+9(;T`:s]T_[NGYFb$'^®m1}9^o /.ẺRˈkX$1\CG쪡 zܖw\uRi CG>1-oa\gvq Rl@f_((U1Ga9bi2_ۙ -ɉa%5qy:dx:<1q̬3WU9o‘ZNKJֺ̟\n?dͅv, 㽑d J [52o"ܔdpE>FkcBRlO7ȣ*.>S9 uVLL.9aYu/vO%k& `Aϓ-J⨕DE\$)NYvoוgV`9X5^02,ugL2ǿLruu8o!p&"GXf׻N=ΪyG=5TbҒ 0J.G2X%дkH_x6(f'v@·[<hPoA^h-Vl(l3sXfS%t,κEh r oB ,m!l &֚L 5}PD9Eׂ!CbM@KR{||Hvg"˯8HkOK }Oi*g-0p-%Xw3i1Is'@D!¥W] llj3Kxox ԸBvg_??*jdL* ߎ^v2 q"ʸ k+p#CCq͍DKՙb4NpT1ki<~^pQ&|ɽVa/.l~Ve}Gp4Y褒dqyuV~Q}ӄ$#19}-Ֆ8jBM7INf hEy:aaQ?vTy8DE\YXh#.n{i`[gP)qA_;2}͠ C,\1/w*@K uEX_FF$\H:b]Ipt,ګH|(g73lJy7^BL%ie YZbG]jkە ?9Isn9mHKz8?Wϣģ1(&XD1^di/}0-W ڡ*oN7F|dŘGOz´+|b[2_t`1dvòlG]s2eV!gЉӸgb,w"厹A^-1K>pd6\x7XyaL(nL_wC6Zl9]XY٢y:W` \qF >_ Aso='zLjpS+hi^ 8տxh(@iQEZCɗ^g|j`z`uWB_e OKL61ϱGٺqP/zXwރil g`&Ou17Jjc9:+/b=M1 -l[i#Bxߤz PeeQȵ'Y𳇚8?0LYMG\w;iF' 0ˎF0o$l6!Wlqp6} lZ>p ގX{1(P_Hcc 餔@ph@G#Iǧܽ'ԏ%} ]%tbMt*HAICGEJ5v6"ءMdGS߾^ؐH pFװ]Ϛ9'L=O7ޟxkZ?|w}]Ʒy`ynœj0x F6 u?H`zC,lqw^W(/p5=uj&BxBPwoز^џlhnylZ)sD ꏃj0OKO$3i\ = ^Ԯ?EUKɨ@Nā3|iܰ;@qnءpqvԿdSN<q}<NY%_Df4zr n|Ԍlzˉ͊,BK#Nʞg Be u=,<[oUƒ"2Yq塠n$2BlE. i'~e=v $CS $RRʜd'GU}}t$~YQԟϫZdno\~?TnNNJё]~{a]P@Vф=uV v;}GB|h1Cެ|Z@FSxѦ`0BBd%b�z\CH FsfN8m!DVq\-n2ɓ2%Br)AL mX"}~\i R5W5dA^Y J^}wLIJo S$`r`g,C}ge0+iQT{uflz,pVg57 ̔}cJ $!vXTҾwKv5"י"sfNvzDŒGxrh"*mgjҋ|i嚙U(HA )AJLF@ǑtK-60Xb긔(^Q\lzdL) ph'*osij/Lé-ι*x JpΜv}ˣ.9[-y MY*cD+QapɲuǔÓE_GIj2GX G۵܂}=%>͆He&}eAi(LvI y9uOsi:Fpv~'A+էBt, ǻ>T8OM#Oν+ _yuFs_tPs0<@{T[I )d6x@LKsH8[:'!Xts?7e2O5Eg1vm%H@( ߂<_oXw VG7]<'r99~Ah ޤm͓8pnm[8oBZpڞ=ixa[bxO h-=W zaW=Eit}-u̐~NUriN7H`nW20;fx8iّ?Wdpy\ 晻."XܳΫx7Шktb+ r\2J ޼ef<ăC߯&m,Vz(|t(~r%E6nn%I4mPBPʖ'2$WA8]6gh{^%B { }񊑅@.;{'ΰrUڰ,,}d ̿, Hh觠һY XG2>z;IM'+ QΌxnYMBRGRb:i[Mxج腞W*\>T[D| $Ihln2pŔ\?fiݰ#.5s -)uW-?nG{r*CbJv@>zf>m|$AK, \:?Wʏ3rm4uE=^_@t< !0OBUġDޅ`ݑQ\(ZyR+A=)(>ңP4fx,5lӦGL5Ĭ\t~p>7r+t{#@_58 x9V[^*B[lbe4 '=GqXկ-B2X vF|'N: &F/MzR"zmKZKoժЊ\if]u;^ ?pݡgKMOu0 lYPj")^?WHřˣs*F@מ|e`Xl BitSHODI)$_̉ZJ!z,<^;D v~nGA񯕩l +BJ[#8̷9CH}E>'٤N)4¤öW_NnXCFYOW"j*r!kpZS?`lg6mA3 72|ýhhqG8A!=s鯴뫛jfҞG69 H.,A ~OTčlRX D}VYq\`Q |T)+nVnfst.9d~Mai 2s0M e1oh*XN= GYfv:aھܴ/h >b"JC;]/7FTDϠbq2j-dQ]C5%%p#^͗S+S=vh;F#2&ebE'\$FY4weJaUOFʝ&̬K/J{6eT0!?Z IӋ$b>xyv萙`g] MBɈ/[uœ'73Νf9ؚ&/\"iC=;2h^2"_LBW,'ɇtikKdGÖU^1 _U\um d+ܓ zXxFDTw:{C0Mi߫`)kup)s ^{ SGZŪ4a@gݫŲ@Z̪y6.] [ A R9?1WY9c]kiZ͋m}cjzӶjSC(!7zäZ"ĚF촖&<5N#;}^!Cuv50XBJaT.__G4m;ʤ"6H.O_ &KQ0i@S]Y=L7i ")w1'qhŔ)sDΨS'Jj!JZCl(0 Iu YVKXXﳭ`#:qr*Ar#v:^̫,n񉳨nߘ!U HIIBEG#,57[AHPѩ5WUܥ"4Ȱ)FJϊCOC̕U@<Vd"+PgE7}0}ϹBb2-d-0*C>/7ʻn(L+ި+z-f'bFH*q?$AxHG:eO &Boub7EB1R&u޵p;W;3]jTe֣`пR]u]Ta o֝ 4 oڐ0m}4bx;o;i1dS>U 1Oد4꾳 DK|fe ^pp(&'H[aw}LeG+9_>]ʦx¸mokԶiOzEV~ke4 8j,GټlO٬${>ΗTYl?/D~\hb >k e \Jǘ !)cP2uNvdz}N-f"]i@Sg<ʟ这+!j9 !*5ZD ܹ^Ge͝tfvw5g;-*Z)#OV",h ]/UxSr šr*_=c}ԗ+'\iYX \?zE ̰|1vT,T(0.B*kY.զo]# 2 ~CM1qtx8M2u$7m8A7yҒ7}U$\҇1 @!҂I+<든mu|ɨ.LsnJ [oʏ'#k\/$1暎drf9$#vD7ZP /j V`&Aq^ϹKFWlP3˭.V0+99rUӉAG*/ yd> 2pd<9gO>Wo]I͡^dGn[-:͠qn#`{}U+"Cv0PľD7 ) `v\ٙLR%SBph-` =?pQFWdO:$H kF;ewjVp'L{8evk &L+ ;@䳿6[%$?~K=~&rġ.Ϳ5m  (=&ѕftm{3]vȅ5&\Fg2'qa!MgCR4/!v2?)ղ'--F"k4Ib=9-ˎwNW=B%1pquPxd5Wh;7"$S])`>LZc&wzyC@V$73F3l?ycd9y|]_0n҈nK~}S%XY.*FB~sjE `o RpAu霴f8Žsw.% 4{^LueҺub$bb]"A\Pq("qAĉ#[-luOۤM9CaiVW,2t썮8Vp+{?S0ȅԡ]1uψKPވ~rS}mJDg=~9`PĈ1iFK* dTqEdZƂhVW58hnVa~ %å\N&:\ x~.3C(DyyBo#7~bS GACFő"XqU:Ɔpd#puDj$uކ>_y1J&IܞAA[>7b&=*7!QS5{96wcž>#@דI`mn%;Xxn6\+ѦrtԽ/@sYY.F@!1x-> ; $n1f>([dnMm?B'a޻v?z(GG qUp\mō֜*nBSypXJz!oVkPqr4q2mۛz˃.jW%.?ѱj?-"g=tO$6#y*j>Tbɲʹ҆ĭV!J:K4`NԓF&B0Zqw]͘ۯE25Lg>v*O s)0_M{(kHXo+^{C M~t-_C O/|wK+:^sɍ9&0gLJݙ!̬ C#Oe4ű+5`v#sdT)|;SqrIiHZ6>ם"לcG8qx{?}dD la8i{8V]A-f *Lʣ(El-ʮBf -aHB&3Do7{0i@*^ qM`j,!Y% 4f[H4݂%fr(a`+IJ: 4*p1ѳ@{y`/J;qP̻5;9T}@G.&wB)`PˎbQiKS%w?J=т4+}R@KVf'&ieh?×৹5|9`aY4Ũ@pKmRZbWO12h9_[xN,Rr^enڈڗ+HLCz̻Lsh%SE@b|=̓9WF@`ּB>qOo:(Jn~*:B#AΫFg1+fNNرbrIʳ3yUQ[V&GIY/SG q% P8 UcEYĤ NȌH@D AldcZ[)eh>QS@&FA>NeҿCD{ #ep;vF٠U]MݎW>יk[H?7Bn=}6Ĵ .0J;Oy;3H]!A3Dȟ[ws]Kԝ$ rZ]T<5^?Yo?2UINCdZDA; Bw8Q6Y#>,xn}73F˒pDR0%=ՓwKĶFFqe`\Y֦8GD$o^jhb2"7rjL bB+EL`Ma͠i}gJClFR)d $|_tE:v^%YogAEͤW !5!!5zwClf|҂ ^X=T}%\ Z_娙8ۓr/|B{:=*"NkAև O&=/e-FKGxG/FhY#v #4 EH=6b4QYJ>IÑIκ?SiSb TJ)'L启y0ɪ-C c?DQGq̬lwvG? \%7eŅ/0Қ.T,FL)GlڣŢL<ފ[PS~0ȭRK8k 8 1w٬Zͥ9rԒA `a"¬0t ]q9c`HdPI-A&Yl#DYR71eX &\Meȏbt2z ] UBAfayQZx$@{EBa|ʍ 7P Mp5]gśDgEs̀JUc_o,0amDpD)Qd4`TVcTRrm#}6Xq*&9G;|M>Z;o _CƋk:̹c6xK=tG3+[[4ݫ/2Mmg xZRKO+0M=8x|xHNtbdV +u{s)8Y\"k )= >kգ)+ϦSw)R`Ģg[/wJNN"~K0F)AH>*cҠ @GQI9NyϹ43U`MsTP Ag8gWHDrR 6YyCwz:1 E%Mөʿp:'_+}~C*r p3g$TuWG+omC %b8IPCŰ.m)8Q 瑄:H%mhB^ZQAO䂘f&~}0Qg=tNW&ӒkB'&ApjyiuxIp2yš>8ïwG(bk)ZHo>'? 2s(I`O7Hqvb;lOuNt)Q!љM‹l>EzX~ݶg4D(2W[Rx"B7dO97߁VܒV`( uPkAz55i>oI*1h(\ӄ RvuSbp;txIx:tZ9BSPGstnS0<0H"Yॆ?U<(*5-FF碼ng{ٽ]RW\IR pu!nLvw1I8?E~c7dN;:<݅"0}]e.'J-ؔp/ )љ2dj`8V EK9Q`+x1~ ᄂ/cеO=BͷnG|(}W"1nY$Tb`8ڲu.j5$+j;D AIvdV/ {NJ1zu3ZcAW*`=Hǜ \? sŎF#@@S%ֹHzÁU Z~3-|ڒ3bMe35\G}5KNq,lMnsS5[e+A#CQKYgu~j:\rs*'0OsipѤCܑJ 6E,~nc1k ~ǥx'4W!VX:1*&nϮ)|T}w" %P'7͚R\Wv ߿~Td^.kQ$P(.\Um6RGgɂp/t98(BzA^>sYes )IS%'s pu_{(()XFt v>_;RT}z'B-) <׈W=S|e?yEwj'7eq2f}0ǛE" ͎|NcpkW|AMz>[MOeΫqAR^tAoPm܅k]"X AVU|ߒ;1z9d@qœ714k^Q݊敟gO7߻,`e_2jkS=GZ u=e|_3y/oFL]i{$9nL4K8J+MRTEtT~ƻBgsTlrh7xLw^ >\Bf{.' it] 5BtI5x Vc'1JF̪r;W9ڒ~l- :&s+di, Ok킲=I,:rmgAOs>G2l ؓx^='!2::__O~*Kl>EjxI剄3,\d1\Oc~e28毜%<i\;~HscQxepnQO>>v(_xheqd. E>wu4\VWg;)"tg7]ki2DqBFL%\X!X੟.$ZNW&~?].lY BTb㥖)J9d%NƉ*ys&ՒWkCĞ6O6sD܅NGzNa_\Y#>CP͕XW __5 VYXI6$zWjVN[`XQN ޡ@GUT3: AynIKs13ot-ż FWR%Ks_T3䍍v&#>1zy s԰=9VG e!9$b歿>bȢj)гކ} BʥកˑCATwS1,Kd-6Fg;c- uOhA/; /; r<7$ 1J:+ʲ0Rs rxEE0瀗'3%CE*EpK|ZcHGn } 2g3ZM38WA­AE777i$55)h 6.:җrM]aQh͉/vި߭1$ DǵU2" [~= *N}|J҃Ӯ/{z1GI`_x%O5XnR:՞km>" ;)t'U6g<x ›LaUѤ 7u4?KKtO\R9e#6[`Q1y|1[94t֧?ZP]o xm2uD\ 3K H#Zw!uX `.VQ?CX"g9g^m+ֿoJME~M ԓ`}3J-4c(ՋFw@9FC~N-u̔;xi^p=ռ buwVMݨ.=Π?kўũq}.jɵՊɴj(p5F=1=O˧E ƕ~C tYVOF$ =*zx^/w@ߩb_V>h>hX΋d;d#-80.0xച|kf2ȖD& ׯj]s^eAVi7J Y0Hm$ CJ_ ދ:@a4X!Ϭ6Mm 7)]JM!fC3dalWCsN\*NZvҳڵGD7[=ǎ,u =x1{~0 }kMn2&Ɔ軈goO=^~@ \Fdv/ GmYzىwe~} :m; uДa6a^r؅Bpl\'{x |0vMPGɜ9Ԅ^Cbhj Qym( c ν.&qNϒuB/NqmZ̵ 5g(0p:nP̭~[٨gcq@Uf17z2\Ct#mq{1]}ޓv0O>7̯ci#/\Sa,Bt{SWE%Qr=ZP=/ll3.U8;emFt7Q52O#]0Lem[g+u8.\K2PK`n:*dDJJ;H*~Ƴz^تDoo_AŏB)v-QD}.KG"G5J0j]cR,"~NT~FQIϳ͞ƾd(pE[R3v*` ~o1 AkbmUHڏow<ܣ ;O)wvNP&.d"p<~RU nBZ-v54l(v'/?:)]p]K}tgDXv;UB]k^:] hjY8=bQcĜk"8-1ǧ4pPGDapSo7q^\LB Y!Rlzjy љ加#D߆Q[ώݬnV\3l# XeI!@'"=Z; majd OѾRaf,̰RS̺Sd)}2Q7gS  2pOLy`N=D5tuZG>Z5QW])!sRxzce3G@btxMIjPyOԶhPIQyW-ư^+>1~ELcMB*7V2w3ӆ$2Wc;p#5fCIay(GJw6$w5 @pm!Ɍj9i%HAݜk%ŦHAE7,l'WPa,+ZFvu\zt8u\S# y5{Rls!xBFUiE |'G万g7]B۟ }&D u۔Q0\`NMFI"X+D2sh4fP^cJ4tM`^ehd/sP$OKO[7'lQ&Ra=7:PStZ qӨ& +!%`[^ъؖ MNߖ&K{%Gh##!@Nx;ڀRڍ+#]gxf8QM #(RSץas8yi8ie 0 HEw'q=k 4Hu `qFHVִ̨ʰno t!`EzAXVD80"NJEGP`%?pe9iâyzE WuI{ރ4JZ :-ltb89 TzXna 1TlP\NcMdrpB7:*,V=hEvh)V}e:lc>Eߍbj"@7κiR.ª~;ȂfY=Q*ġp{:fatdт>I#⥹4ϬSh[] ( Wkt)BRaQNXu P={rpi⾥)]/3HCd=7F5f402Dc2T2}þ*B4+!*j'SG=TT܍xk χH ?3w 2*}t9ki-.7; R_s*Snw`wC ges<3x@ )xJr9iG,i3i).MYqNC5X`زvB(W vR9n%Қ|etF&A 3B%zVw* )SPvʄ~ɋES+2Tf)KӨRD%v4;u|HȘT$ UVv|M_˞Sx#cVlqŐ~/)qy+#\rk/3AaLЪꐾ rjgWe~)I G)t:霫J`+ȹ0S.R-p %&Cpw)z)=M,"hڰ58vN[)`[ {O*Oѻ@4~^(=U&pNs-H*cKKa 5ȅaB1c´Q  X9`ͦ̀`v'n0Aչ y=z%ƬW=wM nֱ5PYRApɓm4d)ޗsp4ѲN3e`{S18^M}7/m2Nz)AxGW2LV;5dz+҃b *0^bј0lhMƬG菱Vz`Ɩeg.Iq&#?n8"ƿy$42J[©Y2Ug{pNCz8> ˧!Y֪u(;x!'(ɭj+TA>t4{ 37Ȼ~AJOR֌u*ckx߹a7;)ǓB(oP%vYWʝfpYtk؀dZ\NcA !}@g{'uF\}w|˕VdS%R:DlʂvEJӏcG猗.}a'b0@O%sܮFˆDn{ : `tƌDC}H 5rZ׻7u忞w-)e.˃0[/y׭V HvB ?mݝ<'ex/55#GV zGrX.OF7(dyA6 ڰ]@7SͲk*ꨬ2k UY6'n- &hVēQkFv3Ѹt*Ta5VQvJY&y!ͫJCe:2$az;}a79`S40%4]o7XAgl;Im?uV.%{[%#+*(.͡B6"uU2U9N K<|9s{ 9]dfRm⹪{^q/Fc: s2QOx`3 βm@WHPkqBx۫Åz1wZs}OSfZ s!Q{er܎H2b s Bf[=]t#c5Kե*es">ZAY&P2n~{ZTp,^A{0;Zr20:}O -"kڧ|A֜AL:(] j'Z"01 `s!IOTHڽkȝ&EFnӛ Bl۹^{LO ʒ S@2=X,-kb-?xػ \"o~IGa.Nԗ \34rk@#ODAX-jH9 %x]~z#K`LȜ#ѐ;&y_EʴkzXnE-!IzS{- fw:0zzH?[w+q]7yMo$oրRIlV)mMiRدtK:M1oKƽUehaz-F qb,3X ?9^:}T5N؏¤hvKs҆uAaɫ+B]>go-(yU1HRR:/S,q>}Bv&h/и%i"uk4*I4_G$KQ85(q@nCԩ~k_tu9_,KҗϙX>hZ nOsuE1?AT:~pveN͟ ajz}$p505~1vi; sAF8' oEPL9eix¢`m@FCuɭ*Ķz>5ð%1wGBF큫CZZF=ŀ 2bI[Er2O.jIzT2_U>2vizݙi4qw{IpQU/_u=f vc/مG;AYףJnC[{5xW ]jgd- uhsx4i4A |'+빮o툂w~`sbZe⛄Q˗ 39MX %J'j".au|e6'ȗ伎'w͸](9 6KG[Gw~ߣ {ܦWZ>J؇vs jӪ&*n%0J[+ Q k}ay5c .QywZ0 "щR;h]EB:?Zy͞Ϫk\]+&S&Zn˒!n铰<>I FgSaIMD-h8cr`6DkM01e^U뒨:Cx EzZ.&017pQH йy01,9 e쑲"k=϶>n`sjz[~SuX9bMEd ʀĈqYfumd5Mc/t 0~fh]yiX_$wQfT1T&%/D)ױM= bi '0[#kk@Ƕd~\r Z9 h_[ >n.XS (m-ѝb\ ʬPR'@2uXģ+ ifsaٰKa!#`1I&?ĀǺJ*Jh =)Kɲ\L!EH7 䙬0pSyR@ͫdL =Ŕgs`_?@~3U~FȏRP8}vJ OR_ۘٹ(;XvP6\=. v#km@Ёn&p$4'NZW=hanoyZ.x#Uj0 Жw#1z4eN|/"bM;Y9%La>R?tj"ȡj%.=kT)MX. 2w. x3M}߫hF#Fau-@V,j`$߳v8 # _}BPX)m;įʙlu5gŇ3Hvc p0S$)/ʪ:hk7>/\{WUVD%dA!>O>X2/^X@vыtTf;0)`av9XP,ZAwS\|;nw{(O{p5D<^XUwP-.ҿ}bQ b+d6p?[gͪ#HnQ7K[3z/ uOk8KF>*Mtʋ(T 2RB E4nwj ~Rۗ#=Ԕm~rU23fՀt(*>1L蠊lNE!IQDe~;Ź{WG5zCScRGk?;g{)A8yl". k%0(G\YW?^c! &Y|F' D@һ!`Ahn"ƅskKfU/WOz P%FK37kFzACLciSŋ)JSO\zjM}t'xk (/j62"'xkf.c읇!̚}aWȊZ]hx T02v)MF}D~P]1=($SAȊyNä¢3Du]?J"hnԇm)C5\I3uSNYos:ɲU0TM0W߆A n(_:+Q2/<<.1kM30黹&;߯/pA.EVA [q;d 0\R#d&+#a6RE@CIJG T4MoSdzNiO] zBa=, H'b6GEz~CK ܘ̯=?5^xku-xZDCƤ$wSO V0c )N0< fŁ  'dgGՖ)5Q/g/_^j-_H/b3 RF-IJ&88ڡp%r @A~Ё>gЂi;x.7^|?s 8Cן%p 1d@+ic3cAV olJq7L}iS>sMo_#=Pt5IJrשFAQ rթnv朮'qgqQ,4x2"ъa͌сJz*4!" ^?Ժc&$ q!;esc}Uļ ~;tki"YDF9 ׀U2~ɱV{F_<︲j'De66ŧ'Ar8h%?2\ .mh q/iא3~jp_M&0{WUGu$sGgxn&qBr>]{V5a$9 BQ+Ը FCL[M+{+ X],!hڹ_j)ML zZ6UYN"vCVKe#Q"0R}3:̝oJ!.!0 jZ's"O6(^CW2db[hh ގ:M/T{ ЌGAV3)ƞ؉zKro6?( p9aN{;w ']8 2z(# \r|1I9sQ_=wͿLʵq DuE@$C^;H.@"f"!EВXlyrbթv+loHZ _r#ҋDbQIc٪9lMP7CpUA0T*XVU#Rj[1$XI/ B1Ѹp]YZgȉ93}|BM/6o "Q?As%6XԱʂ PÛ3*X;~_ 5mC ^ЙakfZ2?ItLl*Gl'gx#eg̔Aa\K<poN$`n跶H(pd4ݎ\+;.81 '&+مzj]qWds?]F1@,6:sMC{(D',"Kv-VxJ4:I>-ngjp F؎5#҉~Nܤ W;˥{#O D]+_dPc;{ѕYpS]mKowrot5? AUh2A SfH龇&m%ԕQek06ӠnS9]P/N{;Wnf aG._8A6k2KJ.L&twr܌N9hնixJYF6 G}@t@C_^s {LlC|8O^ILaRk^585JtL3M'©VCny]A.G縊$u UD8AQN OO>Y;DQDt.`bkn"%9%-_wza6ff"R 7:}zu9}QV$DIU}\{A\KMޡ俌"~^;lͧgك6R[I$YD* gN.%TA8}DCR$(WUH\Ic< b jXtН61A%\14ȓ(ik "N0YBTD0lzDZzAʼnwmOÿJU ]uJ+:xj"^Eq]wR36?=1l =ol,mq!Me!`M<' Ug>fV>,lYL}Nqw,̡L~q˒p+̾=_>)햢'g+ w@/W9tħeKؓqJSp8H/ӫ<2gς q}MB0U\r_m|T}Z&ׄZ:Oz.R:q薲ϕ) mCr_0?m\n[b|O.(#Elڳ-= /o/ɛtEo*N_JEcP }1"ݻ0?uZ#ǖ7ucU13ǽM$P4:u֘#أi.XNALFHS~ok_9-CK¥N'2tNtEǶY25;1al(_Er gDR?w+m$QC4[s޿P&eX=A NB%A:ۧe4fb+ވ,W@ҫ.xlTM{D䡾z==39Pw@B&?%:^B1Joڷ¢LgANTXෞYfCBomڍj@j*2"i$K4GD"몶HvW(6!uķ(^su{N*DzB@n\bRq* =9ar %\աrNuy )[=!n^_lRhWtzxQFY'3SS%\$fQ}Tuq[,ߩC,6޷ߎ/mD*LvC kgxH~He=pxq@w>I j<؋*;؆qޫ;>So5l>˺/ZF;`\2)(Q^i,Ky|n 43iYy#uA ¼W SNfw4}aUw+@S8s+aF!_qh5LE\!_ ȎsLʼ-ADҀ2 f}Vٺ$ӳ$fEߚ??ywӱYE{Hc/YL[qO#/bDWv iCpCrQΑƎJ!U$]蒇%'8{M7]g_5E[tQ,C5O$6& 6@~n>@|d-s[Ls5/RA2/dq1uB ??4C^ {Å~r$Z7d_#7hn'Ƭ.JhGե_e6Ýr/BXDŽ0uvMNQ|4b]1С~M R@'#y. oGg5\ iu;>62O +`딗5]Bmt:Y6 m\ ΒU6M+ Wu>V^.pE 7[FphwwDv޳Շoz'<&< ɒ.$Ge%u@8`+)ÛrN:8K'XNM TZLY|g8&=jtX)''su^d J6GcҕJgC]T= TNX͌AqDE[r'.yM!F~w!\exSp++0=<iC,kkӮp&oURⳉ4[aMޖ51DK_X8yǁ@՜KHŒ71Di~)3lYqHWf7uTGj7䩡+n5;gdB ,j+E\0>,(Q!!1`%TS;b .s[\lR5/anX?t0ۗsbu)1Q'=$<ӾAyf=;Zlg/qY~ }%S >wORgNwqa\Yk=\4X9Rng^ Mq^.BxNKtunh<*;-GrSeX!Ȣί7_2huXė)J0\| ϡ(`F}8ƺVow<'mLI)fvեHȏ51ƃORa9Z3aCVe,1C2( ' qZTfѧbQ`FD-KJ9if!3Q),B B>LoKmQ"n_醨]&Kx1??]3<n!>l *_M~sMʢ}X-1xK-98z])%ޮ?hr| ͝z3[MHKEdž׈})!l`U@UE_- ,`c=ea;YGj%3>)qcRIg:|c!yE#6 >aaC](E.SY1WuVd&^2^ pUnwQ׈w Hۑ;,9xZ ;wR+fL9[Y!]>x<bУsj(EMb{h Gk)8d;3!M ZzڃI`}JƱX?=e V 7C4QqF ȐH=JK+~!6 e@t g z]c .~cqK*a&aS=I@ 1$ Ž0n+'u. nI6`zs{!4(_cV,SNg) i-QQݍz-0׍tXI]E7 f ɨZ4_rbUu&ߤk314EC Bi>|6I/> ^ 'v2L8 IPg$YD 9^7i*˓S $2-'J%mfvD2uQ ZX%]i*Aߜt'~Xqsdnx`JIj6]2Y~^:={ЫQܩSh%d'(GE| 7HU8m@k5'W]2`'ΞУZ:mҲ-k$RKWG.g:\fIFW1a.tI8P@ִJW >7ׂZ'5gL\@G}g_Ј(`XN0|dj =Er #$7E {AIRoR(L{AVpW,퉲.-S._7v~=0d==\_pw7g!oTHoU ,Vw>ӎ|0S7ؠhф\:5UcT*"eBf~&ݨQ]CzY#MoTWnMElehVhDpZtMMQZVZĞRvzC<-щ5}OIA@\ DL.;!?$ e4`>5iܠ $qm"q)dĢq$Yw-~Ite :`XTU%}"=}"5?(hޣ*ԬAyBT/kҤD<}z#ﻲo^t&;'?+dw#(cۯ21%yFsF GfZݿzd.@(85nVsS;013vD0XLZqϛ>F:y٘lprhl.ٜl:O퓠TWk̙ZRfZkH(\:Û(^!b- yX#&#|Z:XWsc!J]ŭKBҵ` jQUԻW`?X dyJ㳨.w=j<\:_vrfBQW![{gb64f#1@*mͩ<@#gG~NT I##պ^k(LU;a0R)6ylLFp_60k/<մJZ0εpiϳq`Py_.JhWlf_ Õ"&;4hyv=}X/eHʶ<4+T"*ihak7K8$'`ǘlϒ(Kxs[e`^_oE I,,ٱ_XKXgv~Y0/i܋' ]^={ !&tr"8X_5X2}'h5x#1˷dx_Q&>pyu- Aly *5-@(z]%#vS UOs2o;%<8!4X? /qZ\1o޽bIK1mC<70+Hj>0z̳`xR'̣jBl#G/A!BWN5J qF`Qӣ'Kɾq5z0yr vlKvwmK>( z!Mw>/d0wX_傥h-WEj#/|7Ax2%O-- rL&%=>^yE^$%y׫NhgfT };SvqU-C%ɐ)G]̋ 4)'pk/A]gL?n\x[LPcO}lP*$B-jU~8,"Ҙ܏qR]x4=[-gUjmrC|&Tm DtW4"T;wczS".`#9U4R^MwN^/j"(N!ia 4 (ڐj2'df(=O"°9 ZӒLäFm[k7Fjf)d/-8ߊSLR*Üip_6DyE #dAyE&fV0#Gt~p5b2 XLJ e?;ӹ25MGޠkJ<]+Mvof%SIƚ"<3 N(`zx,yp c7<' 43k)n8La~TqV5ꦩ{yf'q&-@}7H f_ TNDKnNGJ}0Da]^PT dݤ9_:<ͽ%F@q8°>oȥ :SƁEQL8a[̶i\G:/ZЂAx1OwWHsG_9鱼Cu^ ,%)Efl|Caܶd5(R6-:Y8 1]ɼpS$!hԠ# 5[TVsS&D;eNb^l&TlŊxle=\i+kMEWm|..!KnU.[?!ȍ ("D&0f/-K:c[ ԵnoYܥØIh3I"hqI v};/'FS1ow1̇D]qԻ+x שΑvVB` ҅-gػq,h|8蜿|aW:|cV<'[uL UFUQw AL7Uٹʁϗ}]= x`Y2=/ mSv)nnw;C h-c6:RwQL Hzj#tבּbp-92oI\mPj>ߔzByYf~RnW 0#8coqf]1fdX+Z*G{mO}|UQ]uw~wґw7m'NSNY_fĨ*8%j+W.ѥqRirlur*z!ar'/ /©5it,ȃ42r!ԗFsQ82+Pt/6*ON.+,9#KW+L8ղv*p1[?ph;x> 0-w2-D[8^H{7$B6ۄmŖT?ww9L͝QO_l z2i-i~HCӐ~qGk,`8!]U3=%joL;EVf {m,ϚB )C_!1Jʐ:/8:-@GfS)k|fK*hϓ/)^ 7yU:GK;||h0lQ-v"57UhBɖyIP .5b z(pܢֱ)psA2XVLyCjOu7!;ra3o:fR'_Uh=x aؒ_ќp6v&˜@+P\ ,/G4͹muCo.,Z`P0 bU4b Ӗi?u Kel1x T㽮UlMneCj []bC=oh7 |xoB^3E*>u -aY66Lpwޗ 8ߝ@M"MASZɡ{UVF-1es۸ܦ?,#ya~L>N,@z'F'{] 4nԴTGE1+6OSuy zYf8W!rj`tXU#ZV.8a&,ݵF HJ૪qx@SF/h] u(gY(kc4'`eH+zd3 eo3*\ ]'xBbX3Ϗ᲏Ԇ?z<ˇSv 5މZox$$ԑAZ* eǶMP(a ܤux_08e=bɥ})U1xh7ѣ9 o_ar*6N(pnsFpwi1Pc2s^_Ef~aG!ɇqS6B5 ZN1a#T ք%!NN>2͔OY-5M0&TU{@s( t: 0}VC qiYy%W%6^rAVPjx,mzl~k^ȉci߃@Y,1pOy:&(= @ ;@X6{˺$<!saorF_54‡\8W*#N3L}$fW4ر@{G,LU?9@G |J@;yU_p,B #zR|}fGI>Żל)~m (Oo-)d3%p4QC ż1K .G)br,ܖ.O,h$νr1 8;Ŵ} av:o=K&kZ2I5$TX CH?na/Sډ8 9{-#x`=E(Hi="TגK\]A#@`oXEf1j[86߽dN-.M!qZ ԄRvJ8Qb-1ƭ ą=Y =~mhbr˗6&h(!M=Mhq|f`;7w6O?_v]Cz8>L_O,R;$yU2'h%H9NJ0G~p)o"ky1<΢R1Ȍ8\HSn]*pAp\y3?Er=/'jg?*J? xgx(hQP`n-^l*{vo!Iʷwa)ϡ'v Xd-wשc nIVӂ)*Lh]^{μ:} ݵO[t_9S}i`4]B07n}90Y)h t &Q)Ae@LaF %l@i} ܍4O3 4[VK#>GA])D-^yY+]:K!ʷ%2o5R|#3=+^ʊ{-@dJQ3/za2R=j&zJ bIj꒧G mSjHVifDgJH%qd%6!Q3L36\;.ٍܗ;o9->6hPEС&bCqI>s6Rp@< Q -gvueu.Eߛ՛_Ce.\,I6D+;JeI\K$r.8;)UY Qo<'ö+HщE8Y:^~7z>TZ'Z[gU_Ѓh K~;;d80cS ?rEӜ0ͭvu4_=eABgp }VrF^Q<+R@RսYe"1F*'ht~`oU)g8i:DkRom$tD.Uh%1cOƁQMUxu?Ō}>LV!t+wdv2+ YW5T2qmqrEO3S$=vD\#l)cd0$hmxC1sWh)oN. b`s|(|V0^SHghW$(Z8(7"am*0YA;d & bɇqIC,3%y '%oՓp=OzΫ.~ X-i 5q)iϻggsqLɿPnmuy#ciƖ#x,`cWSX^~j7/4x|t8"~TPpS&Z $  )êd5;("9Cx ]a?|myaFŧE}Wwr:Zcr*17B߹%i䌔46jnإ Kg=ҳ?>7} 4g '?9$4nb 7_.ݚ6SMd\L C̫6 ǹu^(ۂ9c6JFLI:}?,l`9xp@,t}Q}!GO7WMO6ȞE_){TLc>(M UZxU'=V.Ă"L^IñΙ< %H_7SoS]&6m3$#m/,[7u45{a8(~{18^;L\omҰ:mU XTAshMHFHjBzGn5b2nR/`W1caOd )LQ;m+$J%عG!ό0cOHvI2Tg+5 #v9U8"(BF6r 3gܽn#_cnRS~*am8!z݂F-Vh1" (wlqa"V]kkDL5$U12HFbi[>~G4[.`Yz-"cTk/'V/gÐWg>sS:?3Rc]HEjGAv*8{Br'ƨpƆ3T UmGFRRVxF/ҍ8nUL%xnx~vD:ܺHu2)0w /rZXj״~'JƷb^"a\McpGE`vTݗoQLt1:]٭ >JxHkJȯԆS`@8|/Lwn/X:L1GZB]!] ډ)6 />ѤggA֝rȹ}1'?!%5n&XiC|鏢5,j ڑcIѰx<Uut-Ir!/>Cg.%o#_'^}LU6<W$xbeENBYsa`w.N'r'go\fOK(Nr5 H?!W} +,ΗZ\D"J;A@ʮkL׋c>z Zu/n| T 8%|V' ѷ>_!P-t^P޲d[s1cpfgVaWf;Xf:(7#Q&}ez.R%xƉ5浛8>I+5n[M@}Rj)'qtgê2>!?Uh;@ePw\56X}:MFAvC(ߠEq˓(Wf6X+VD|.]j<<8'Dw,Wtwu.8N3)?HN遬TxQ\n$Dprq~.dU [%`d6:úw85;\ ::RJz!V\7,衅+->]YG1Ԥo $%(&ф S?pVv vyC.w}$ɦӋ Ǫ^lu_v+bK,up= OC`hKzI 3F_S5\2 wnHWf}0bGNى֤|hn"˹!v&!Uٛ3 (J7_4, Ͽ&hA9yft0Z9t 7=ZpCݮ]Fq҈tn}w&0qЃXSgROT^#3ƍ<%gF6NAx$rG\]±5pWL;n7Xh|qvus*?q, T;ܘ} j pa31Bܼ/yGo}[qԬ9ZW<_^& !l-fv=")CEJ` nc&ay 8) {xI(pw7FL|Xn;U4lT>U*ǐgG尭 +$.gbDn1|j1pGWyǀ8#( H8YlDA?9AL6(I*˛v`rl4J8ɩo6f`*2LS}bjP$MK>rR97ɜÐ(uF~—8)6Q(Ex{W,o>AS|rbX4ej`CS^2'y͉ǚ,SߎyLemk$ӜgLS(\p&F37Eu h,**7Pi !Ca/V&I#Z}RF4sWҢt8(ho[7(QNS!φN+~ 8 SPiN󨺵Z~񲂩Sz@+FNmyoh:1)ƞ<Ci9|rPPTy;P 8<8j2xs $ӳ5um&;ArF/).҃-*|r7`@ye [P:S@fd'|Z\ ͼmVzb曑6tWFa=ePtm5o]$T"!W4 *[ ;\ip\jAbM`na"e4q.TXbVjOA{Sؔi}5oj 9i!<#Vis vgJC9ʙ GSU}LØmhD u Ԓ=sDTA'tjmmէGlD/¼Nj͂_X=^)0MFC /_GF J束=ސdzu]$}σ' Q ]f1ےSI]ܼf^R{c+ zKN^W;?-)qA֢#Ť~@UN(@Rrوpxȕ@LУ@ Z{!}+x]R pW-Q31H~S~ j8Xqv9)&>~uǙ$ IJ#|N 8 _v[I2ڐ=tަȠv^o,EnS5Qșp? bXE){[17;砾*h6H klOPX#[ra`QxS1&8Pf&b3#:Qb}4*qTsЯ%[Ti|"Ex ;@&{$I2|XY9VR8Qq:tљ*J^ ^N9_ BK jeh <&wѐENlԻ³SވE4cUKs0?"MR Ltf;Y՝7NZ)/]lqW ASEѐyl`?p\*h_2Qj} 7Iw=ZXRu` )@"iS{ H!輩csL,(,ꄒZnpc-k M_?|+wKNNJA4!ޯ>N/{i(F㙵6ZG\DʹnNp TKI׬ }xg%. y.!{3fB~CyUY˕Bx_ڙj$h8hsAu,͡ #]T V E/­tɱk">=Wދ#dKΑ=ܲ?/ {6u0eyvaa C;ũ9XktM^Lfl]V1EN_:B1&My2͸,lL6sF3*@2H,s"[PZ璱[PK_(HgɩU ԁ}.RgENDjè+ ݙ<[eb}]DJGjeC[ IQ\W0~L97~,7]^F0NAKW~93*LM\ {4ƥƣ~ڍ|jBO礨tM}i뗔9[nޑ93q-11TNe_%Ig x0!0Ls ̽TzҼ.LZs/4E\e3@ž8(GLDmg>wD>=!Pv$ֈ+(| &sͽkJ.cV"euyՂ\XIy&](G`//9ĜOy$b.F{,\EaSt{%ifZb2g C~e 9C~i sk^g7\:"T]Ƕ$}U@>J[圧.y8~# ҃$DdBA Klž_m,> [gDУ[`nlM+ςƠ;ݢl>}%Feі# 69nK%mҟkB47-o6//Y /ww OV[$:Q-҈^~c 'Bd&2[Ho4<[Eړ3i~6+?iYbLeFUͧ!Þ(ulƱ:ټQ^T/8MXkNިE_g"u%a x]f 8d0=:X&ս_=|ƻ[%p.#i KSE&[➉H'CM=0x_xݥ=|&y*ͫ]FRgZaHZK2X_.3\yi.< 6t 56Hծ"ChH@)n(k1hÑ&v8l΃7\-ݚQ9kԟo'n}S(yFN0 r4 nx!>xW,0*p0Ď Psk,Сuvr13ڼP&!=`Yz\U "@bC$W Xf,=} sx>'G}'іiS3K^KNܻތZƞ<1 )]@?IT) ט.T lv9_G)Jt=wVB<3+ov9q&e jY>zUN^8y[dd3eý˝v^X3T1ǃ Kӭݫ92GeJHvy*ứ6几} /̥/]ZX+e^וd_=A5;)Ybu'wECZ@1{qlMJFkDלp#7 %G~: b]vv{`&Ua&];a~iRGbW-\׉ar`a.N_gWCU,P`nvĀ"E~{Co³F`)cs\BLLSE6,7wd1Kz]gV[N4PV6r'l)M֏X:O0 MvxLUPs[=X-}8"֬[0R*66I^ b`8e=ii&W[K$/͚6Lo$xjo]\鏄@&O0/mKv!%T&ܗc,%״\*^*|G n*w<{" L%<[;zVJ6S'] WT$^-PH3gG1)i cQ g {}eVJMIB-Vc7L[=_ |q3[l׸茣p. ڼ ̥Yt ]Oz[PIWE1@ۘU( NZsk0ʜ;:c,%? Zp".\t,>W>}+/tx/|9vc^s,ǚ2ċNS+N%MI=Yfax8hNXU@84=%8hM8@rSV!2Խ aFbUA5 #{Hc̗l.{}5a&~yAbkډ\bzI}YP :)Ϟː)T`eGвhRt!tO Cnʛ>h^q/t)(5gc…ۿ2q8:\⓫?K5t3Y"YՁІ5ꤟ1|.%_[%PʂqҼX^Ķ\?!42IEj cCO*?i*JX:%830(>,K*i.*7M_&{ =eTdvDV3ơ[|W ޷R+ē8yu4$[b\0)~$؟ )GRtetoOhl(`0|[Cj3Ki6qKs(+(AEIz~nm7$p R4z~G24̓ hxw[+r}tMݝeC'"V&v#$k<ެe,N׮GkUftjqݭ8KJWheYjff_)xkvӏ^hy]&=>oHPH1J9KFOvo= #jOϖmY5NFGaN 1>#v*VO{o^#߯AY>m-ȉjB 'h;2H E<3͟>[5$i?rZn\1XʮY8>yE^7A~\>[IQw~SO&y *7ixyxC91υKRINY0>.pv_|+t_l]%7m(Uw,烍l;FnڷДFmx1.V03i|5DE[DÔES 0mnzZ{iS%(Pb' խyx&wǥ޿p}WE\);yW25Jg/?/mZ^7xL4Q`\#wdu^1ZWE!&,Y\"Q՞;x0*paqB&vMζD5G9@iױ9u$#Cf`/f[+eSB2v.8ZH U->Mk_.#6'eeHFi++O@ "`<4\r }rKE2y qnHj8(wv9-v?yώ(ݖ8{J!ڇ\W!R88 ?ߠZ M` jy:84ċ >|۽~*7OeAe\@ξنYjt: o.2n;@~1X>T24>r&-.m 1u}GBN Δ>s/adBR:DrUN=K6zH rP+i.+4?N]FIyX|3"}k`9YpY/Jq$d1cl5/x$"?hB9B+<(J|R//B|(ANi]b7'AZyO凨YD*k( CU2%?F$dZY (`qנSo ǻ*oq+G%;?CؚGZ/=MNnplt)Q+^OdtkagE٘^MS00SY{}Og|+<0CP=X iʑB>שK>[1'YzpYL#{=@d72OZ)f#m4N#R$BG8z<\e1sP,0kީh`{i0 NG>(^0ONt RCzCTh#-8g$q_+nP=: 1-(7T(|/[V #%6K1 0K@(/J_݊TCY}sS`m M^MrkOl3K\ZU{`j*K7λnuy9K[-tMҭR7PjA:%%d}AyC(XEdS Yµz#rXiiYoJUAkSMj!;JljӹЊ z@,;K WI|8*(2W r JUMU ik`K@kU.9 @{yE}q{e|ɠOLk3r3(7Ի+s%Zg)z-ʹ2mhUaϭ q 9]cA6}rJ^A77Z-?UmQ|ȋI*f~6@jYĈQ=~1B́q6+m/-UR:!yWyQAdvjM]kbڈx"B}Cs)ZmnkWOJz?x;E;)(4p]%ZF@<&&AxY)@RL=Ezp8ݴG(Q4Me&b}OѯhP* iKzFM"vd@cQV\cԌ˻}όz㲒3ROYǃ9;hK s?;``S*BO94۲m6vx.0i`9Vgm^UMAYi5͹׳8\F2} !} Ԧ61?x&Gp5#/o'm <^y n&"l XS`x+؏[#r<==KHU$Ă(Pr8/N zR%[0זPqzUoNi]b( P` &@ v_'ft:Gss~-=?~@8Vp5M5FsqG/9kHXWNY[C|$Pjl)|-Q4q*P&h VǀuyH,(r(PqQn 'uȠзK+5s@6A?U'&5uª2Acy)'7nys ƫH Z slxad)L(5<4nK!8ԾoR>(ח;R|у}H)#r,Wdj ScG1$L3PH_ ]z3Q82HT.OB- MKG>4Vo78Ώ3_VRB0@*qvn*%s\۹׬oid?17?C .oɫ9f Mcu CCi$'2<۫~Ew1of)^dJKmx8ݱĜz} s젶a!s-pqtzT"o `Q^`9:ڶG פkQ6@sCz }>(בϼ]4p3Jom+ +[IlcmUEN6y@M`@YXޝFANv \F9>1YZ.:w 9 d_X1 tpP?26 } 5'Z{`( g^էz4@7#:>J\ZȆ ;d??v~JPf 1zJvl(99I`a3Jf͐,tK}?LeA*!YHٴ:W~rdZϒ"#p2RHEاq89fT(4$ʗk Dc"7uP_-e噮 L;?:_]TRm2S΢χ֧kcjܛ}yp ݶ0>x!݅G79QHL(Zk㍤ګ s,-/?nU "Unsnp"h8aacچfM̖Y'*@@Nv0=&ZJn.di!D4H (0&k(+TYW bF }噕AX6p+{eVNgߠ 4J>7]ԍ6bA^̓! M\Z KG:_lBxk-rߢ} zygL3PC}JOYl®=Eab-a 44u(v5JLh$,l&dwyvês:=]'û49 `gn1g w_J?'FK/HyH^ m {Z.,!`۴޷yDJw͛u]P])lhw.EAO2OvAL0+ͣƟC/}XmtjJd{" +B@'ؐjYSR{tk VʓQ7蒗HF=}CJ}@I"'6L\cuCƖ˽!Ik98~dy0l%b&=Zȇ 2F$;v\9E7jw?b0_.(fBpry+_FlghHTz>=xiEM͐1Jz5CÏ9 ]G_AK pj?u  i:ύ4(rbO$v9#YWkՠ zelwye?w+(4mhi46>+>=r7n@ߖLIXV}7 6v! ;&y0^`=c g#{{X YKz6VA><^$-}+ۗ 01!~nL)Ӭh9ruPGym]{%Q|lVͷs~;B*WH\pxJEd3&~ %pI$o/BsMMOlS_o=A/'MfC# WI}PQ;IqQyzBV toa:Abxe#${7 ^QPX. ;1var}Csd Jyn_jfF}z7с[ c]EonT R/"SEC yi jC (uE]=TLj(]t ;C7 :}Ti Kv4}K'#Y@R̈́F۝\~ܭMqG~;Hz.Mf! T^1a~KdǃV'ĂO\0;wy-iy hߗgWς^:e"_䤔ljbpȫ*IcGVjXٍͪY`\6'~NL>~_rm^nX]ؓq$֣~bZF =eM%~t .Oo[=P>ap"4[윥cДGO{rX<]?#MB֟.۷};B yHOmi$xeI8~^LٞL 8XO,#R q~ t+[v]s GfƵZ…Ih4 9ib,n@DK.4f]Cn [R`yu~,.tH0ݾ$ F-?yҲ1^@L^v zĽf,ONj^?+{5M=n_z-֎X|-Eg;?o{^҉$G!3903?Ox]w+.m1*AWjhMJBn&~h |e1}a{ icxt2YyqF¼hVQEx51(NR/ԑC/6ks qNT~3*c!t7HHjއ@͌ }>6ʿ@9Tm;DAةyg/4bT4T؁ Q9M}kTQdx ۳7{ z1Y[6cUnQ2C."tvՆ%:_S ywLO^"o7A1?5E*Bg]SDi 1S@ӱ4 ۡh9@B1* Si_0=x:joR;ji3;՞e @cBEc?N:A$C0S=xV:7ʶ#@&r{]@*b%3t-|ȃ7SєG[" m36Fx'vd4.!7o_Ψ=Ms~QM'ض5DP, el|LAIT{-t :؞P* S@ZW"aK+SIJCJ8剽Cfa jw`E xeR3X` ûM,Yh 2Oz{5̸QN"_J ?bWm1#bTԽ톅},ył'(1C3R4Ƨ-e%6 8X7um4%a3ܽ#>_p^bSUhc7O:*7TUKd *H eA?I;8u+]b4Pg<̳ +[M2 pļW Ic񾗶xpu gXE PzambpAgQW-c~J&yf+AuWwBEϒxOjR藺F/\;^1AVVT8ViKf.6|RP47f7C:sH"k~7}2-~^k?o):Sdp19;[ooM^UG+Mv9 Ϙx{K˻=ϗ WoS?cIS.voaka Pbf@F'b#¹NBWAe{mVwڅ$> DvQrọ::*Ԭ |Ip,#z;-5:bIM J c{#\ri Gd88Q(}N?D\꺿o/`{XH`[]aTcLot2}1D $٬kUBwڏ4sU6o,|=Ly"A|~Wu˞5Ǡ*Xv!G26CC6|~zr 1Tz&1!vR2*ޮftXBkޏK8|*E=z@ +{+*混 'l倳^5 Ƌ@Y~Z/{ %;RD]S +=PcǪ[ݏ9UE?1_ARLs>5B+,؛C6{q,X[?kpa-Zo=>نnQv~V0iؘ8WkBB۾h*:Ws.dZ* ^8,NJr=>:K?KPe 颗 Jqs^E#$LC/Cq~\AmOS+\nfnl ĩ=a )lthޙM)%/V$ G6jVg.gRMmzmP55I=cmYqHwC?e#TJ4jQ }Tܐ7&/Nm/@\ G iUQh,syյ$ҭ Ue"MV;/ASևRjEJ5 ~_V汛t1~k^Ŭ|hXHCw;,SvwdmAOTQß GplgH&n׎vg4_K1]{*ވJ g ء]ٲvy<}!+9̸fH4goa*ȠVTw) V ?>H}Q~v~[d\!i^EU9w Xc5Q*ƥTv* Nr689Jn)`7GH dE$Cݗ~*|)3pv7Q"x2L83gtR3dqB|4b_ɰifFn EZL2hWSD۟Y->I_p`;ͷ ] +hg6 ߄A<,nƚ^>fV3;>喝M*4o>̆Vp0 r|X3w72Շ5K?kݪT刢e.GRL]![b*i_Qg YX 8`vS4LrdΩ^{Xs EAnځ9aAMpDPщC^ T5xJ&oE `Nn<4d T<% pE5@ot㲛_ItE.WśckA5HdNVĪ3?!GI} ` 1%p^e$+ɍgdj㸺]i"^[)} )VS)eetýNv\hZwKP>>cxu: ?^k撱^ r-~(TE}bt|rJLQd޿GS Rήpש7q}m+B۠jIf֡X3_;{)r :zY/orN,6ϛ0c jqo30o1(rDO f Ue=[%뎕C TP6{A[>\֗+8)qAټ-5eƧ,h1[FFfa|H+ۃX<47yt\Q T` <8)(@_&V6hon.}}Yc|-L!ȳc9®&CH90<.W ۠&5!Zݟr g%HRG8Ьl#89w%]/f8~`k׵gF'Ϧb1M)'}^{ F^5[ߋ~Ss=@'s`3̼obko=\~J\:af;iWL GjKY*IQ-kᗣQD. ^^!%u&jWƦ({FqBTś {jGVzۊ;%PROOERmvQʼ3UYXn# '4y8l@'e/i:i ̚y/ŭcwXaXFy≳9iY˵cFmp9 ՉV,A*1ДpI|0kXE5[6 P#Hl. 4ɉXMyB \&s kYlY.>Kx~)04)'7@Ӆ~b6¾2U(\8AxF [O>k3[1FvF'=`7X>K ˻ȰJZ9"\#9ׇ/6ҐNXڻ=~t 5UuA\?FɺI7b* h~(G^G(C)uf)*K:dB yR'/$?`t_q`CK1AC|K壂w Ys0#$!|sy5&UG4ҧ8lzSm^4If cA[38լW^GW v}T }T2nOQf-~@Q\3}tsβOm*_m_fO2&K7B YuaC:`jX8=0PI=uPhyOV5`'pqi,[6яx0@P)I]"CV~{lb]ݐ\#^KTI <`HFL)O;6+b2ƮD5M֙vuq{ey6Y?$ʻӸ ZWn>V zXU#_&yL=5OHUBGTK:%@<"7s~;ngǀ~7 ޾v0vI/B{+HqT#Jq՘K@NPYH issԿcq4Fsi4r& 1b<kFZm7 xsdu9I9 ? G{LA:/ kʗ 4nCü;L`'Ӥ"#:\bJSS3Rn$g^eW.^wӅ$]CF\2 鼜>.f"YlaZt96=iet[r0h!-S_G.2P?KI^#D2\A;Z!7р#z' EI6ğLZq7 OڲkkZXnز;0M'tn@'J|q/$]M1uz,2 7ʨ Dbo6}(_5BPmPytFRz=0TP>:rsz =3'C6$%յ,NN[9EK!O+XP| ?H:cBmKqіl*4Q) >n(>_L5I8k<f3&G; %77mIMTejSt_s k,uU= G?X\8+pjUs#siL{GG8 NDٍ $JDo8#c1t<"5h7= @πjԓ`V@/ չ߷GmF倍N[ccr4ܡqn.;1d&klM[Wp1pů\?zSWtZi??W|t-ҭY=EMs$H{JXV|5ViNgC1ftA%mbCэHhH;gC/.0H77I} (`>!O7.I2[}[3%dGLuC:vDz;d2:=ϴ!'JǶ}a=)"_ZdAEH|Tt Fjl$~}Px[t:7C"d1 q,Y*/$gk^ SG_-_WHt<17kK=VjW.=st-l>XJ|Gt:=ʋc?\EvԚjDCLGd% .~H&AQs)Z<: †>3WHh*G/EW`P[6/`~V½' k<.z-hW11dǀ 6g۞G d?W*8lOAN l 3g=1qp!٦_=qpJQqAܖ1&=nlnlGv=ס ek!)$0$-ĕ#V[ib^DL_>a\{=B,Bh~7>Hrޕus)⾚5}2A-ܐ%rq56d40H#|Ρ4Z)DcT1#bpK"ߨKc*VE3*]ܧtHv, #1*Х]+z,ܦ2=^E<^{_g ͢"Ѹ5=KɰD?2%Z9>8pE;̄0#cDKʚe@)ةɓd6.Hg͡7ˤGѹx0(b^@v1 z/CkA8j}+YS&k-4%n^9%]E!E/Co"ݵ/ƟA\_|!Ɍ7Fƣ;'!aWeR=gB`↳VJH˅I_oky.nYD"jkwyτ/M*NKx#_H8h')̗jw#ԚfݭA"دk_VX;]L]<% +b~lٕ+[Ӝ4L}z";%ml3sd!7ЁSE%֐npaTS<"9A-*3\Hi8ŨLDʫ+̀أg 1goQ 16WØ?{S#16ࢻդ`I9jіc&,gps';eN:U rLL whi(ſ-6oq_3T}0ZRa.]TFB%X'ijnnjw>0-ZKDȯ{aslĞaL2}u9񤣫2(*kaKeqxZ^ O| }q2#uvkeb6&i#ݢwxAE7`P:23*\ |_B"v?20MbRx+}(vi * Da̛[.{_kwvth٫W]Vh8Z,{&2mFFejy'Č봚(,fhՔ>/<zy/QqToF!F/Q fwV ؤӿ %4ILdrs2>:(PB⬦ig'G]aבXQ!Ȼ9Kx~, P>68$ ||mSuf?v[KZ%+0h|(Kv_֒sBhɣ~#[1S3Ǹ ?h? /r/e\c(j$8oN#F668T:VAnc]{|EzA2E䮢!@H>dZPǘ?J\iM:$7R<\pK<Znebk? 3A8Sɵh/s fk誼2ztL6Ԉ?!(G}y^  dyB>^`t8Q[ N&5U۪JTKɟp0)2V6\9F$Q}OGC'dg6*aOշ;u GX-U/.ڔ a(mK)%&rG|mQm4@)mNs%O?t\FCG~,q׿=u%A=nʀ#廒f‰0'{߉bEܩDsh%Biac.QG֣g*o="jS}toqr;^lUx,>ɪX.@vcE~@(Ii +FE:7sc\m` "~"yxnڭ`B7R,TrfZQNj>=Ü_d_DϹNےpa1$6bKNtއ_=n-\a eӍf .E,ŗ fHr-Gl+YyBB]n#uF( "}d"ddfΰ-;S6S~\H~SŽ*™O 3/]C܉۫P0Ib]Ok ;G/Iߦۤ W>pFHWZ(~oܪ0&߂#NNڊBtC%2Da-y:6f,V-Q$iKɹK&Q1~g  +r]&(-#IVd$l{s ؘ$KKK_ }ˋ7b>Ak}jĦwH fi 7SoOC>RtL@$녎q܍*(AxOF,a©B rpmȹa攨[E3s "J{_Tgs]̏=7C 5 %%o_ť| "v³ޅOˀ ,A"C{87 x.)nq :^mZEewC~6Fu,+yә }.#TFB1I -#W ]v>:-S@9=orhaQ3זn'5Y@f qY9vʅ ^~i"_'kř-G>SzyWlxj吱Y|ՂiGDķv* S|?irpD]zm+5Oe.^cP.4,pY0©K}B ,`[Ljk#:b5Ob(A}1}s#I*:툳"M:`\PI5mI#t_p<^GfK:fwPSd/G\~jfe>N8Zq]5Z ػZUj@o _m67AR\ܺݩj%S#w3{A6'SڎG]v&{NrPc/TWI]mC ژ'{~@=4asyK4lgjI3,k.O:0`NrVt&ܼS h,rpq#$07U+l"O+LtRsǮ/Z9$.ҧjָ"G ΓA_+/Ǖxzj /u֤r\{(HFkraIB霥3J:ק̩Ԛ'#AA0܉v%md\Tb&wz;My~uCRX *ZR0Ξ~3-{]jPI 2? Tjc]q&Tu\ R{jL+]E/3PYgLXf¦17/;IgD~EG.h<Ц;==7FJ/Bu6)"p Y_L9^zAc?ʷETفh݀W]JZus?Lư:Db/R'p/&Pp KPi q#I8}dOqA2\bbW>p=37SaE5`]PPpsmJ 0\j(0m5VNw͏.=T}b>vEo [JS[8T ci˺AeCN |V P(ƽe.vĬIW$ <@ПX"|RɲEB\%)BR:MBV* 0$ױ``1"z2n^85Dh4apPS\ <1Tu̚8g˜;?Of%]j)I9rsDS@CDa H%×e'y(,.KW^]> CBe7)`kixamRC '"!.sAȸ+.|G딲I' Z3<۱wb@F:#ˑ"J_5*]T<E R۳2Zno0xF#%Um͸'|1ƙ@lA'Ssg[Y8G*zv hl.0+ v;wݏl6iX:irLH9c[ꋬ`;cϹUi/Ev-0SWIS9 M`'l%.LOfb݄OT zK:ibmh7ڱH$XvC鰋l XlBO 5kUJ M8dK(^acX?v5 К p4}lTy:rkIC3݊EQy?^,@ 0 ?KW*oV"q,6`UNÂad먒pͨy5%q3a>D:-=>b SD*d/ؠ! PJA)(lLҡx =斿 b_hh=xw-:fB|M };rVü 2p/oږʋKwj [X8-@SJ凉"$$RD60>PDf,:M$r .( $qa9F .17/m{|@MBP3 QdںB0wR}l9<:BQN7.Ȟ2Ykw1 h Hh]ŰT=85_**1 h֩hRgp+0>Z7nPސJ`M趕‹~Z R?ڣk{]ޜ:O ; m=hEhBb>AyƲߢEp_J C$+U Ҝv9/M(iT4!|lC/k›NC*2ct_^~zeh'\D~VO'NA2͛2^E*9@@{p_שowWV!$˫Ozq/Wz?"wʐLok4!3Ã^N,j1FQh|"L9nYbĪAAPbˇgH# g؝ Ӡ2w*c ؕnõ .RʆC0 o[dZFJM?I$?4B$$+1BطKI#3EA)MK?:m* 9gaD^+hSliBo kWk}>}ӡ7xl(9(szA9D݌T{)JU rL`8TW VV9[K@ ;XGCᕯmNŴ[>IYK4NJáNsR$Ҁ. $v k.0| >di,1 -vؠa^e ֡ps73 zKAUnվV"d T1=~}IfKiZ IL~*3TA}8.~R%UHYCH%YmcFրނ* ʤ6ɚw^L&Kbv7aAD]~bBWq B_.zRapor(x )#=; &ʘ{HxnGeOf|>2GF_nAxRd98p7Rk3y_X"80h3Il[>>B߼i5mYv-q̿K(*qj5 [63GɘiR/V1ݸ Hr> $"MY]*@j| T!5s+PPW,ӧ|o -rOSp(9Neu>q`rͳo;a!a$F8fB& +Qmw`ڻ]&vF QI|,2=AfaEtU#mRMSo!{l+khJ,{}dЩU)')fP+Fn0|ؿx)`q<(X,݆/f?c!U+GLo,:vˆ= ")RC'H͂_ [O,yz6ZhVXe(.Ot%2ߵ&BB: noLۖ hie'' 0Z23!/_Ey_} OA$#BU\+*=73"$me]u9s0??JvC'sR8!beȹݠ Pp _g1-mqQ sL=Ơ("h[Cbk`fНzݝ*2 @ethoU@# Ѻ]-[>`F+W Aw,=Xd/?k\S{.ZA"@aU6y9S<YG+I]3;UDM` S-"<: "/cWVUg\\[5vz%pl]wRhtB=J.-y1e;ؖʇbCT524gQ V@@aP?y`_-W׋>:$Ό(l3#IS2oIFoZi~䁙 F/c5'1nkj&МhkE!v BBhZ4AGў%uEmkX(YI ԧ:4阂ks4-ɟ~6z*u!$7zY:w*ÊTwdL¨5N\K{^v9^TQ?'1' nJusfi_ !w ='TbBR/η "֕y2\ ̿Gㄡe!HǨ>> Db+|ъq}Od{ܴ*v9dtki`dE{?F̥fnrmtrdKT:~]9e{$=f[=tST{E% TLp~@6Y):NT}fRt=*wU`MZ&BS)Sp2qڥR3*Px.TcK:׳h+yxMbu8A>|krٟi I[Avuvc=j'O DFP)Ruؗ0 =,W}hl [6DpTCXͣ pĞT8?Nү\U^wj/Gn2\a <{F;#Rl~0*bQ*Uϫ! Se[F9јJHufUYZˇNg7Q]-nh%م("GӲF Ӹc.Ѡ΅|x ̝':֑5o7MEJlη܇J4 bmq|qU-VoX(`ά}`S|yrPB2:F>@ 3Xi@ ֌lrsb'^G$f%.,~]lIϧțkL)@k E+jQ=I~4Kzj)htj: RK-`ȞO9ŕ2}R8 _QiӁxz8Cvvټ;w*K >ep$`ZB%ʈ owϜL ;j='KF싘b|kcf"%`?U˥m4!۟9ѕ`׭4{$*8a)ZOTc! _]G"\8 $yD[/V tӖfLvW4I/0J1o6aT^Qgˑ%/6صM5&'(|Kar1`3DrDZ); 4m8L(2;* p"V~3UN- 0%}4Zdw=@&65nܜ[3:r;q{Ӎ{ Ox~$(A\*65&iQDljָO<ʈR];C:f6yJ7`c"+8 _8'y)ri ?J*>Xa,O;)6]QK潞hb{:u-GM.Ψ brŜxJש^NX)΃!}P̯o,Ms`#X !*YLo. Y^AA&UM0u}?ar<. 8܌2s`{ D.jT5AExrlo^-}|H`Yw DpτKXj ;s|I~ǔk*gxX?R˧H$sLc@uR5z~a| 򳹉c?U|`RIz~WjRYYUGϿ4aY;3E-T"c_!v1.PzV}SrI2j($J|}kO8Wd^F {=LY]ܨ{u cyQɚjL ƄD IG$_K&JWkZKfq֪Fܸ|{`I@Ll}?]M$] q3L^1`2FTF&w^c|ɜV?0^"7Pfm"p8떼Ĕ 5yzo,%O!V W7c&\y |~Of~YEuBBssPqmT@r[,Bg6.z!?T뛟SAVg&g4b7VC\}UM ~eUK]s9"ˀ ^bFMMjYwsw=3}-j>ܳas}5zm~iJ}FD$'=cxȤߓǫ5D5zMF[XгD!-Bjn ͣkO-J{i^rȔ<>GE%Z ->!/K} 'MMȗUײH2 %%!)fmBgE$iMx>^ß}*cU͖^v1HXQ^걢1]k6< ?X/A }!YC\}x|?Z+lv 5!+} 4~<nTx {3W`]թp9xW՞ T4][Y$@ +rj3D +]!1&6q}dFz7k`O $f2yՔxԶp$9sd}R^ x>6-}p }P^' @o J5!iY|Vf#m j8 +.vW%/GH~O@;_ rqӹ` zvv ]Un[v{ɂ2a3i,ڧk˜Fz}3wkCl#\T\x.c7[{uF7Pfk$"vJ6vG!=G7ҙeHS$G#>l79]$v?Yc@2BU94p{*EB_ŸXXFE>HpdM' ywu N~:|*x"+¬v6agaKe9 nQ"J*M y oefp?jv1Sm$P03߷M s5jg<f !ڄvpd \ q&zq0 8.AM+$VJјsn: qnoSJe#Zl23[?}zL.fg!^CETٖ'kIf,\!ǒ+)t-ה ~.#fp#7DwRK{cO4 S1ViC" P뀸~kHpʭ>Y߂#雺$фF o.  #*1 #P'@c̦͏[ )\-=U7$2 O a o)D.k=LE;Ԣ vbHiƱ"7w!XNFdTUvC/b3b% ;բAh58ٮ-o#22(TԷBesM) mS@ mِL!D6{Y˙MELTh`Q2A]W~.Vp(*| koXNʣ14%~1U A`Ki2zHP ( R t{]k^91+|<5nCyPD|ۢ>ƼbP Ke2T&o1uUG/%01˲`;Mg^_3Q1!uMٍg%|p#G D$P5y!Bٴ>r3pö㏳t%P8HܗjM$PrچmY<ݗiyGOh,nRq \ȱ-=ܮ ^?T,-9ꩾл2,yvy z`=jDO<"* ړS 6ŧ\-[{/4#9~bR@AB Cۅ85^9Nv7ڙxDelävg4(j0~6̦۳QeLסsǝ!@(!P }\sP2%L.lHٮ;{)?z4_-2ZyYr#HL)^¯QBt|O0ViSha^] C`Ħ.2bbx]B"\i} d"mQԭ.&2uk9N;F$jL[I҉q֔h&>´@+.2,@# 0J&m:QǭBwn-<KTG/9)وw #3N\QtB؆)2'(Z'hGxW1{ H˸t CfӳK07)t k&%ZqK'n&`-C XWw?7"ѓ^ "xkdnެ(:0Zh23S!BlvP,PZt{:jb]@se@t5sd8z `\7ëSj8FaX*蓹ARsvMcJgVZS" ӹkk7IΖC)0z_Ojڙgu1>G6x|ck _sFJI ~X^y??c񿚈cןM >rvzG&NWSsaK<8~W(JTKI[֗`:N[4; sq^leJN)vgs|Kmc~hճW60c\z^׌Ü~j4 8a5mC%-FSq9ec`)g~vp).L'{@@6H(7Ր H2/R-趋78%QCA`Ce[ޙwG9(W焤 PЧl,Mz@On[0D(Wcy;&:/1M9kq7J{ M)bV6C\ryaC!Q_4:C#:xiNnH4A2T)Կk; ġjfuL}yyIGvgdr78vW719!njf%sƕU>6 ksz5m;aXT*X P!SZ2Μ6u۷COBYLDr vK3LO9ܛnunx+&A0ioE{-rO?P>kMsSݚ\r%xh YJup,B+f7N|AQR@/ $Ib|3 $@~Gx`0Bho{7ZG{@Q\J65Q/W=N!:?-v38~+R(M&#9eɌlpt t<;>Ā|QMMǜ%BsH.Ąj׾/J5V&J{ޏ;62b܍mYSMt|cMZ=Q";L,igu8s/Gz9@K י=r>PcWSۢ+it#R{YHC/V\Pnw)[e8U3 s&\`hvdNIp/B '#6lNau}veӫB!\,9Rٞ]\a3,ѥ:rK:Qũx*MJ?L*9 `5fp+<򺶾j0W#Rw9=.R^t©.H qrׁ Ks!pxwtcDڢ"%+>qo,z6\ܝ,{|_"uOL"ep_t;hn/zdafн{ZnPn,Â3:5#{il]ol3 -وCtx]f4%R|zp"QWAO!#6 :Ot&c4;T =ҫ% q)Y8bD,DE,p,bKW\i//s!ɴ}kO[g4y\C;9kc0<0̦C:\훍˿dES7= \@fK'"B1 qWB`aJ{ swVhZ zvb BsX!{\M'BdEN8vCD$DG=f -v[՞ RYv0O`ZyNRͶ;J[1YgLJvm&Ƣ@Y,-3tCJ3hN,_ƺƆ 78ؘʘ)k3œ:0#IyD?z+'i ųAj=pF 0@CͅB=f|Kgzvs+ޝc>aStJ8nm&xbĐ&I ܴ/mh?Jcz> c7k4VE7urW533nE&Hu[6FՔbuO1l?ޔ+Bum{i;)^gv$ZAFÎHOG'5!P? ,q[RofɆKv-<k^]3m#k5I߃htn(!n4}OM54]׏-MU==! O>I n6ޭd,V{AO[Gw,钭"^j@@PqGA.F!r?)죦Y/^Y2% |d } ^-Q!fTvTdbR()ZJ8ed.O i,=%Wy@erLf55|7  L@{(z1u3t*eS^Nu`R~zlZB9C2R>̟ural{u@V@:I?݁Rn3:{wd\L"|'0+Lq3Z]fMp 򥑒YRh.DHG".lXwH=R [Z/lʑ~Aum>B]O<1Q\pSc$Ãƛd2cvpGv DG\ule=.~qJ_9PHT;DjZדd2B"Z~ <vh &l*IN<rp0Rd j^%~QJkzIEָ ߐJHg^HYq7qf#C罻m'XC0iLrZskr}w}?Q849fGA,öPð.($<(MPPBjH2:Ny΄Nt7[Piɱ^cꝯHil09ʺB썒2*Q +*˚x{ Օ?k!̣I^.Vq{!DZTPݪpD<-$vKnRDi2 ~yʵIϤjġi6mkş:WITy(1.j5_RIyתGO")]h@0>s|jV|AH 4dL$GdUٲ/φ$iwutf;_vok369GD[g89;iD8HQ%0sSߠFUo`5glĥOZz_}һU{bI׭%,RijܙНڜI- n%S.!OsCG^3v/=%QO)S\h{A]&*6FևENe\ r4yAS/e0o)vVIoeY ;"&=BO&-&S!K/+A &N M!hN%2hJ$pxZۺ`W;IDj :^*\` 6`0OD)&϶t#qro=&K pm٠,a-ѵPWA&Ψ/$krg"O9o& ݾI{4\C@/e*<[0=] U Sky$Ǭ,Y t`)wɓXً_DУ=rI˺q|Ø BFHFyFw5} .b@vq-V咆%.%, !@ F2Kc";hP$nRd@?0N1XσW8>wd8F/w|RҘmQFz;_a U|whK'=<є>_"Mh;+elI5܇i ]ıSHGt.bYgĔ~H '@6?{r/=ߓDd8s3ȲT{Y"H9c-,<"cv]$=qч@2)Dlhy^-FȲ}] Cwr'c8Ȥ*`(tj6͗!LSdTVsz k=>RS .v 閸 lJKNIFS:dMD39׽jɖ/x&=$S|xoh,ČKEi<=7r`TB_x Jعllċ>J+R ;Kxfx3&D&he-^rh3c{ };I`U8Bick 1u2t~Vh֒7к?ȵ(4ѧOdY1|ъl4m)wlY݊u0W6-'(9&P Ŧӂ{)H)5e1Q]]΢ϝu|k ZVBEn5zpGWCeU`Pf]gv4ЏmkDG۬UcxXT%| 9KZ4hET]"_Bzk^ږݿ @aRM9AOմrt(k#C(6-i-E֎҅ g,.0"=kcܟB!RBֳnqUc(_^\Pi*-n\dZ[꿣ϖA KނG_V QHz(%;xژEVpDq;tE`@QmƎ'G7)=6 kll=r?P1A뚋8y-%?Kɀ]AE|g&Vyai>H j$) <GSWzΧv;#56dҊV6!Ji'P R6>–^ LtVcqm M+MM_!'fHPEsz6E>EA5G`zq s[6]cpbf}'Hk#kctT4xZԯa`?uYEzݸCBJ jњD"-YDFNX%z!촴DA BOo2 uKUt #OCD GN YcS˄tS€BlhELw(dJ2(gNd5y|Zkql(z̨ ո50d=3}-%c"Js Z@;uVn~H]lq_Xpv)+y U1ɨ^#!wu::h&">w,#&X^2Vϣ"cNM Ѹ 2Q \i}-;c9@ď0^BfKyqd/wJiYإ1+~è {ū푨Dy+:YD(4c P/x:B]\F3]/Ǐv":/x덵hV .tBѺ  :L)mQf8 wpv.|+a۲EZRL6yBYxdZC>xy%MQn {1~"/JVƿI$P{vcm[ǟ~V QtJ)E,p@S'(d 8eρPhlLK[#.*j&&i;T܀$m0?"*O0actOC9R%wܸø ,`N7!4⽳tCLBAMUC-AѮC< ǿAX̸w>n,ԋ6$FgDVCV!Rt:ǪฑCPܬrq y.q("ԏL*45KϋirHnæ} Fy л_þE AMU~9*ҔgMlC#6-3os~-{彿\I8y'DCMu;n]B_bܛ{a%k"dS/C)個 A6UsJIK~ǯBMoi YԴ|^[U&!/=[?|9d/G0} 9aje~' +K |s`t2MXoq&‚.x&:EkU*Q4a^qu{6n½ 82$2_2Hv!d==PcP?@>eʻY.~h@чFAeR%&+@OJVCəH&P hP˱7~ʓ R)#"IF?a8}am߃;;)9NC˻E!G[ RGjYC%XnYW9߾+[\w"87?>Zi:pK2P0$9\QM0ڪ׽ R˃M3m=1Uoc\[܉,GSGBD0$WQ:`{}3?lQE&/tK琔nwuY' a+M8SM7MC8=Ieu^jJ-Xwc`c&ca# w@)hJwvNIH"k|wd -x<)ʂnɕȯ YDQS8 Vo b`Jik村/"HY+;"j@_7dz5LdE Խ)o2uAC|VD&.nnʖo[%͞[HpYoZ}=ƌBa9A-}+@29މFm+`&([WC `QJ/ OYvOSX rOVvAi/ۯB-|7Q?+@Yz5;99|~C{KcaA9kKoj10H`pDZ@) fJ߰ҍ51^@ޙY|yg Xf$r#7wq$]ǔK,ƭȏ֗gX2Lu8 сSUJN?M)D#߻J"ƚkߠ%m(e}=% U!I`/0QKm ݪC_e@N_퀋4XLlJ$`yL*oB!D0ՠlgIq>vs3>vb[%7ǎh&1hNiHR¡um W>BKyMlY*KL'A@&qOp%ٛR oꘝ:!Ղ &Y$refGjBH⹙0fd %F`.^EdQ7J |[X#"|Y&ynu);qX7[0| )KR6[GY*W̱=6h'k7ҐH}w&.t&~׃~l="'H0=} d4`vaxܺ2 7v4Nt2u`o;r Ч*FYj.:(Pr/Yru~k|⴩'V^*SYPAf{}QWWhfg-H /{ g̔wQ@bá#_#Rgrx3֭Eoa;|8$;F䑬fhM7'%t74q44p Krrw|]8īʓ3'frn\do(h_jWcP FBahVzx6n*f#7sn2f0KY}&A/?h"!65ǡ?\ʷ {ӗiSГB\{4D?KmTx ܉3Ph:|O#m͇wx+,^ӥy, VvC90?3z7( "5QoEy7pYʟBWQ*`sYC;=1A%2LuiT)D^m͌C=-uU֖ -ؖC5ջ9]R&FEPN8 mhٱYEGyR"A?Ӹ;_ TMWQ8c!(r|-ޕGڅ@i OUY[gfExxGz5V*nU;A$۷[ Z~=R"YLOy j20g}=0¥_Y7:]<X",/fPH#7ڀDzE Rg]ҭ78.E"i2cF6P ')՞D`A} nWLe+]CoIaeh"wVBFLC|H #Kǵo{d^ȯPVކ>T\>3%P5|"Tzm/UR ~_}n F=vٮfp:CdT{ oq6"ZK/io;5a幷0urPe$xh-"M\!%bB̬ZvfA1mxUJ.L]3=9׺F9%ϛEo̵l097+UsdܲwIgY U1 |wvė?ЋEK,~7SKEl.4D%Z"xm*юwZrXDcfa:`ڂԶ'!A{D*YNωQ'~r.f@q>=OWR,S`sRJ/*G"*=+MO_!$ lm,Udۜ`a5;rWjpPD QD%[:J^m݉L> d8v{4 ĭuU_"Fuݔs%ˉgv=#4PF < ; bWs iv>AZձqR30ZmYPv5𚗶 Ƈ| #%%D[!ٝ 2Rso~Qs77o 3.c%X ~d 5hnt{o$2OL]^H19];i훠3&z]zgYjhT GnC&?撒Rg Q|IEl>94bVs MO>Y4ZE(>.$%x #:"JHF`v|n8Yp!9\e*Em\XNd-hG&Aia{woOKMW7㉥i7[vYtS/SWzHgIxzgWB [<~A MavHDo})x)Au:NH!LЌxM-7uvjMYQDƤs)F,S 6v)9ਓP?[[fHfjV:7tWa^ ԅv#]=#ϑYy9.G|H9~b;.**o<5@dOv͑\%tkC>!ˣh2< X\ND"7h_@Qqu'v 1hLr=t[ZOmb&p ҡW>9=Ch *V~IZɖ9EK:-qӺm r{Z/?|abx5_6,Qcapb#aj,HsEc$.:t/na%lѐM>cU`g+pjoj utGY6U3DxVyb`/UǍ W#UkK,u/V c :IQMЦwHд.zˬ4hTc4_V) B2ùI6TY^thbQ=gܸR>yRhh=.! } ,'?%2\ԃ}!u x`Aj)rgjLoyWJ\8GR MP"N>kׅ7]AHHx¢[MԤSXJv[abo9>3J[59K4bItjm{]ЩYqh*/wH?,+ z2@n/zyE 3'=hcaG,NIe&4hs[`ŋ0:Qf52@8N:ZQ!WwFjT.ST7#KfH` 0th YP¡\4wtO3N\iji%D( fF3ζnP]p;:g@%4au2zyf%d"aęSqQ8 KDAK*?#i(~s.7 t9 8ґ7-`TT-*1ޅZM͊Kp}4хyy-~ >ph\aq4o8)0ޖD`_8 U: Ї[LiZͦ=oAȞnwP(QNA\ G*=~6Rc%v2b_uwo{|T^%y nT.6ŷz1=f-²!m0L'z] gi[AsK ,j:qHi3T/)&Co'?niq` P;ŤC qQYDt@*fˡ2~S.85^jU. рoXӽ8benL\A!> arzOSrsi!O 0n.ii @K6h{!K\'H7 9arDv#|i,bgv.GAǁPQum/fyC^; om*ЙaFʢ)"V쭶gIQ/YVneiW>cY>*KM'6odMgy ُ0j$>7wph+Sh 2V8jC~@ 41s&;n.O`7dc0{/ToU2Q$ s@ xjy;[\7d38lȮW0`OJqzv(ɟxId_O10`v[ a,) 87ff{yn_VrY`ՂyB%Acҵ$qNq!DҤgݹҿw5n2j/&/잤?=ZiK!@G!Q\~k㥄T)L*Fd砀Չ=m| S;@P*Tu:aL}R7a .of-/3Rx6=#QstT3Bim@6p`YDz_E3{`=<.{vh$L4[r<\J4T:B59y2>bOsd@p7OS,!jUxl`vmA]JDž~*R r{Rk7-L,hc qt>EL-t(bʆPEGS&~:d,_ '<, jJv4 Ћ>bGz?:R/#_wJ6L#wNSU w 1 ,TTgQnYWhgIs; S-Gx^@x扚FkR?z;}a2VzЫ֖"v߭w9WYU4.:޹Iȶ$V%H|ĤUWXK|r OS,e:#E:P؀W{0^Ph:!t[ĚN/汃P.=Zlˋ5S|)r,ʈ+l85GBX_]eaK{tX=9:%puDΔFf* Fb (ؾm,wc jnCqTPSԒ0M2GIeOM)KLw7a"Ć"cCp2X*uCWmwʝ<! 0NpgZ~ͱ;)0om1ՉPP^5fyK¿?(E)L u&qP]Ϊϲ߇MϺ@LdJ }D vG >ǯĄ^~#b S:U`=dێ,a6{x.^um5uC]R1:tB o (peHFc2J_txG~Ԗ r tM{'OlĒ'=>!9.l8T)Df<;:Aj.x^PlIJȣᙁȦؑy6bu&8ϒ*'{|xŏ2#hJZ,U'̀\CRQZRptȚ(iPAA`mBe*}^Ar~Nʍ )Oh NJe޻~<^#Qɹ芕J2>Ұ/IF@(zhp q^L6a>Ēy '"p}tNYcayJ]ML8Ry޿f#V|P#GfV+Sf.WIZդ=ii:fX6/&Q{<~O[SVu7"@$U8z0ehYo;OgM_,}3^:4j'!@Z>= ҁ+NQEIbQд/p]|V򠧜7^lƵÆnl8h͵I# _nӇOLܻ^5QPZ{w9M d5)\!(1TT6ZArsslPrNڄEA]'xP p,l |v8Ur|}rћT:Aav`㟴[ҀF #/l K piU$A+%r^u~is,Pp˙ !Iܒd1.{SnirZr?9ܝ`r&П;(7TNh۾$_-2ПC7QuImtF@vi2RS\'EɖA vI|>x _kJDDE>b㿿?Gu%)ZX1|b YO(Ȟ^Pz5thAZ_WvV0@}+r\!dz0G(9*L?;aFYFL\I+K]jx7 *5EU )E$;#<|oUޣu6tΔ<2~:da^^}\ʦ@#s\R= -Gx>CR Ğ:* m#3ۖ߃<~q'ei~-ML>;KrF?8Vf**.c]D,~^թu} g78sA ,bEgl@|\>\HU[= 393P=|KH~]c&C4ȋt9-Xk`mkC4_yʼn*O҉jYxlO z6c!&嘽+)DCroaQv`9Fr&>GPľ\KWm]) xRDO2cx >kpb|NdYZH nTϮAvnDϫ%ijXhhK)F fp>©w\H0뛩##wA-y"|;os6w}i/[|{cLie}yb⅗)հ]bA|zc('`G=Vb$SW:(NP1J6QHއ dUv5 &> ӧZȁ-8~JG&?鐆pHr]d/4thnr%$ǓwkL\`I`cS>pnm 2^=AwvY~~>]}B^@lmv3=I)&xw鴸?QK;?)V̒y䇌* b&B~#JdΈM"foLO"r%; -fʺpXJ+ 杴 /]g*]Y Wjҗֵ§z` .S1%AK kj2rDk\aits G!-vNbO74~.mx".{lfqO?ܐ1;=}7>E[X#t[۪Bf[ 7r0K6QIB"p pH5o?[yŲӢ+A'. wN~!XbYݞiZQb|%!}OwOpf6D?Z8h:d&PWlE*:oB} #RdXQz&^K`cX}YdL2BpvT@XdjDf*1.8$iDzL%cΧ{$9:E1쌛Sm^9 argO0F8'iX`kXmu.tU8qbW{R~t6w]Cj532r?tD0%w2$ >dvc` (&ePܯ&D)\œJ"wN\ Qk0!$dkיYortr]GTBFa"WBжd/R;.Ex&xV!D4B x %aG>8nBm $8ZIJAET #é .=D2;`c_UL62m1=!U`b+:EFH͂[ _KYgIMuYv߉^DS+._55$m|E LG؋:^{7ϭG?Z-72jɷMJ~9yH\Ds e7DN^9_&\l@X0 'jn3:ޡMjt4h\ˈ!ȷ5NBQΌ:kf2J>2]lOAg2xPDb dY4癤b-GB`rUK{.1\MW?&;n_H AWUA)`Bns+qٳzO {tL 'cdVpڷ&:DsMDaEnG!cH}s7AΛw#v3U=T~&2?(&\p-Dl p&D*Xkpp= sw*.~՘ء _Ra?<[ \=IͷIu/]$t;6sĵgox܍~%ޗyVsFhOB`6IZkz< =YuA7;#/fk)C+5k: `e6dկ72Q0Wcq<3zTK<< cVE+n!:t,=?ٗyT?<\c+"S0L#u 2!7;軆s[>?2'- S>6IGUl;Vw/#&ap*m=Ri)2r%q]1.gU]q݈Np f R%>e)ݤ%Cuy[͡Y^ZGVOUǐlnzYIsYr24 @;hYk73vׅ&aωԔľO6[cUӔ#<"֐O>ye[%{ͤQv0$&F{2qJcC}gf G3l`vt:$JYsmOW o@Qy^Ɠ&Jq>Pɯؙ :EiQ*dÄʌV 3Ih冓ef8Ha/Jaן b"+",ey O*lsjcd4@ҕ\th Jeָ M,4,3x,LK@˚C_(F0d)P} +,9']hn!['\!{: FZ|4 [-@2wfYZ9A@Y!{)A{e,*E5SD$֗++Qb%g xքCa{i)Xv@)ғ0X%c'z&c~e/vT &1wA:P S&G\0w}븧 -]ug$ 2Q~+Bx2$kA OgfV2 =$n(=4 9kO}pBhVO2Gܔ^^b1k;jzS=3?Gj}p1ﵣz>ue ġh/u[0<6A%|b~JJ#O iqڗD{qi{,,{Q+TYmt #A=9{Zһ%o#C)V'Wߒ!YpQ֮-,]R4+z?P(PJ9=v4lpՃ0n)2v؅oM@igXaDtOy/1VҊ/YnW]Ts} "T܍!,40ua(l_&SwF:Bcd 澖d 3}g5heڋaJv)Po 1؃t |atPm+Z'QBξIu]:Wr Vuf4d͠qQW!Bl͔RG8" =D'J2fS,'3{Dٱ!m]]p'B%"Ѧ =҃t`8S}:ߜ5f=oW0ѽ|7lx AOu FQD~fKX&{[+hx( Ssr):oElEUW,>\oC_ * oPU8js1강ݛMfFy+50Ǟw8kJ,Ś9NS11ʌI)u-"*wA_3"׌lprm~B,1S/xd櫩& P&%|'IY Fbor\ĵ)ȿ,~hfqCfq2̥dx~T}߸tiDhaiWSōga?##[UO@B[db|Z{zL&lr\l^Y;3\i H O6e_ ~ \_?w Ϛe_2(nr]>ËuA?ЯZ=l@l 4UEhGP,7 8ʝ`}{X#ׯsiĘ+WqȮ(|[ZNr1#ܒ j7u4ȳ|MEyaGz/9sH|D%س {L# ia;bgq(!PEϻ|rbr'Z}| *\*@h(I*&grWw.+Rq@LmMxTygBGfrzGy OVc"swKTp_2sbS K`hbu4VDb))qR !2]uD^FzA+NqV]z h<*)O!X"lrUҟm\Wς)v%E.)Axi>lon(۩ T}ŀe-DF e+#6-Ch.Nȓw{d/3h&#jʑQkǶ'Mgv\s"iq+0/B8֋[Qb s}6J%S[X1fP7.1hɻ&0;(ir~2|cBԲ#VF޲ K.%0>1rhX"_S(㚮EɄaZCߚoX"n7ťT4{Лr5+,%ۖ fZ ,S|_ƸNlz5hN&;3Wn0yKtrp c{JDpIϬB 3PV4I!!jD݀V Izm:vR-7گ ,aE$Pfڭ0sO~5BF- >,,$kgDΕG@x .TD(}Yw_92jLԐ/wZg<4}mv!U`"0=~E&I;MZW2tU*=SKX(cd]z#D̮u<~, TO6|vZffg0xTPPZw өwYҾu(00ڍ]|̮q`6JKF=KN?ϢEX99efq IK0YSןG)+|k1 sM =\j6b8X@GVoPn9^88u(dP^KIdP.Nԝ^L +P-,i7GPZq%2,\Trx[ nJ%~1b]}ǃuqHz 4r ~ʶitѡiE2)kn5$QapM #5_gFT`8LWڕ)~ O_S;IPyJa8`*MonZH곂 R(S}>&s`53's fpyߍK8IOQ7sbN;b1Cyr1C *Py:hZ}{ 5~g<[ ۫C{Yb|1}RTSV!vxڎ@2j\êT#!7EН=B!PH=azz,/d"Q E뚚mDs(m` ~7i,ަ%[+ z.;W0~f0'0.S:eFChd} FEZHgj`{t9gqIZ@T60<|{wa%(g Dƶ9*jMoRiEa=^#hm5-)XF葛[[ XoŵPB5욟BHTzPBc͒ X뎧 l,5:/aПvHC8} ĭ:} ZF'D; aŵ(Uy #[tnPĎWa>;[|K-u!q{'G;^YaTuP@^ysڙ[Q_{u$ cSKْr-,l7 8&ՎQ]3,I,HV2BO`[hژůo4l߃28jN|@==Ԉ ETtHd4E#U'|qS8 b C'30f:Z^0U_!k6pf/aC·|ˮTkY>DpVA^Zvr=]G^+ވ2n9k6Evt=&r%w(+`9rj,QUě64>Y㑖PU9V_I)[Bmb;x8Tm[ U &Ka B_,.颞.Pӄ1cx.$q=|f_Ob)%KO"Fd䄸z}-:ޡ,*`\6rH' 5\3;“M/RDKS^42Ӡ`@/V8 lCbZU`aYpaq|>4i,-m:RYPS_ުb.l-*Ss},j <:m[_D5^U`XJw٤ ]fvI=V^O7ؖ"#i,) ߩ@( rl:5CCWЛ꾼RJ 9KњqӘ&Mm۽%L㿴[ ny8;I:yg ra?9`;|w˯ B`k~mbW^m*{xsALrS~H>Y" V)0PK%>Kit\Eq&4 2WsV׮vmz r5w2%еjfOWaRU(~XpE+뼪Y8C=J<}U8.(z<2#.D#s{w g<"`%M<ꖑΐ0*R.ǿQ. b9.tw=J߿sA^Չǖz)Y@C00k kGM G;6z;#kE_\f4~Iq~O$0k-/Cڂ#%oX7 ϛuKé$BaV%‰NoL⃖/~y=38U5j | H cmь&Q5WqFAbK,Pöx=jOrΟQ9mVa寵ɘ>y!$҇Eŏ=tYr#؂rb`7xz*M)n6؋d/z 4ytk1V-̨Xh1} קsy)n{CorO /h9Te]fsz5P1̀J?Ekj2``V1Ւ'M\G֓@6U˺9qZ}}/d72/ 6A[1V]ܞUb8od:56>IU }J)D(Td'!&9]pb 3OoVcZ4̒Qx_I$TcϠ뉔yw[f\mo!)Ꙩ/ar2ǎ| 6r>jJu]K@,cfqfyW&՘Ļ\|q Am%gGTaAFNG (PyZ|+ڡK'KQ.McY2x(m2ct5%é8g(9i_rjА.~\ <ەV}oIPbS}vV{c]LrgomLrcI~ M l9MkаtJ"h4#Z5~ h@kD^4_ۛ|3 UӖ[LJ`2=|Q:>X|$BJ^)sñ.߅(&Bvpw l&L"CQ:tuKH M*wQYn؉]dQyaCx`.GdccM®l1zԩ:GЉ4Tmkؒ㆚ڃZ*k\ qr{ݍ:RrNpYcE0]s'3:~s$>dJejGTa골A1wɃ婥ѽNF4 ;4ܽZz&rW]ާ:W%/nŀuΊUKCk%4>@SV6K) <X'k-cRb5IBB\G:*9O,׎]os j *!jlG6vOK9<&(ܵX).Ü@q1,7= ],R#)hˋKPnL u\鞻c8?{@WoBx ^| o?QPG<2rȟ]MP%UEnuDuDՁ9WނKkU1Xt_ ?'lIl@w:+OUփ㸞qB$&Iq>ߩbOY zqJa\µp.iH_/Ao+cz4;(zuނ9۲b8mLx,(N^/;H : tBoB]`Wl ?j=jlNb(dº ] ~QAFeD*T itcruDV7^pyrH>R(;,(9ޘ+='eF﷠l]JuO*qDNy( |--Ë:]-OS[,)_whaH'c$qmG|U);}|ZG%eI 2reCAh[~0FC 4(x`P3jOZ<}%yew~̓ab PNlk?@<`,k7gę@N`ghqkMژgjΜjs0۷SaO7G]WG>Wf^3:rdC?gbRӈ_4ك!S*FsWht͡  o&0i*{H鏍$Lo7y.zKي8邠 X.+TIP mWMpLчwj3*=_6-YtR|vg!/i5h(2v;͞d-'.loD ٹ΢/_|x8/X,: cɰ\$9G7'd˚!Cnŭڊ=DKdSUia'8wy>VG٧f+oɠKVi~Y²M5ׇKs1.@y6*G}wO[HSX3b1"{K2}J>`vY6O~ҖD{0Q8Fo`IBK)g0K;?J+zWU wRΨ*{lx,ʚ_R2@ DLjc]vꆔ/-[^Q sWC()%<9s+Ή89[݄ۚUdAY%8xlW뾂3%o0H5Yg 8x%CIx*EqAe|UBo $7$y&[%]OtWkś*"d P3{s-5 ɣn`IL٤1=|P3SLbayfꐐ;ƘSk{ x͇&-y ըiVbHF]?ݞ,/){]@Vv>zS-Β O xeұM0a>}NY¹P +x=wD+e_ϷA5[ZU4F&@6Ci/U[6Rߧ q  TTצOI*9EWd]+$SY;6cE͆/Yl;hl\0wu_\uhC$ LCûɕZQ=ލ "u5/:Pb3xd,,UpTLHЂUtOx׋sǠZ-I]|o]ON!/ )?!¾jB; I[`޹G knMM:BWwK,p쵸T9 łQ˫/gn(poc5VAbEKN4No2ˇ|lb ˓k]'`]H6M5N!v<2KWfW]AK/>V뜳67'Nvlt@(iw~S<8MBI#K#:X6$ʛ-=,' 3;ػ& "a IO~N1=/vzԅ"LJah@9 Ȯ=I/D#>wwyzv$C=4j^y%d_Yv1Q&֏wi?(ZDG"oG bE2;+䷀M@ u4*OԪY^K[ 7ߊޭW$S,XOy8 0MeّJ;YHgf2KbD,x "jH-m_U+CCej3=DDK]\Z}KBZ!+Q3AH[-$ Xހ=_n~d!=czs/19Tj3(- VQ|lYWEyZn\மnN! !3MɞNeDV]@6rMcΑ띑Q6,!Szpgayd'\1!K2dQ9>)) {p-_? `KYCgL NX\X\[eU7'n0D0qO&Hz#NztA,.U?]; ]gN;Vc]3D_g b*K{JHZۧ覜c7T !H=dm5H?fM#${QOxA Ҁ ".IsY 9|}lQ~e@vT"i?~¿?Gd&V9n?L٪(HÓ]I}XjMf)[:|vOG7v~%u?jQ,evEԧT"HP-[ MĹ^84w:'Jd3ޅ-<8NXh,-&#M C첽_= ӂ-8jE+wζ3]MbX~*RSlhPzIALRSΉSDE( ª`$2] %XlLjK<"-u/>mgvmdzf^7D*μ藈&ɵx_h/K^5G+ۆ'Y2f\+jY*Xy((yY>)kT.&Z{ؘ5 P'qPF x+#8Z n?\*)v9dex Tw@u*w+;~=*W8AWC ɚ¤ZdXpBhJǦRmfY#g'6U3\?R-!,Eޜ._-j=yoqC*dbҦD; `4W}b&'FȡN߱GOo'"z(،:Vhs铿WP( 92TVCc蒱u ]&o/ !B{O sFD!U΄\_^Iu-S ܏I/ʍ4yJjΔ;i䥁#kճTp 2~nOs\Xc,C8`oW.8inŽ[jm7ÏM *"BNwMwP8J4݇ʑx"^2?wEʼ, ?Z⋑2)\YzIAoM9*iІ?~̢ ;U5Tteǫ Ckw m U?im;W_G޵_+'=div#%Vbj>jyV?L*]I%ؾuFDuw/ ֌$ZXfma杭&3_ ٠ c}KϯEY~)HD$ 49F1`#΋Vqx#g%H/j٠1kow)%*IנR xSʹ6xhϿ8򖔊wsy2k+Bb5˵%,C-Vk2BTG!U_ITO \*;ߟqG`ҍXtY@\pJ٤]ŏy~ ҭyKVt6~vDh 2t"3V hݫ#UٜDW!Z>c?>A,:DA9%9Q.jdîKKbgd.LjLwET㞀RӤ`kzs3Q*H`oH#]qۉf_Qcin#Y7qSX#'UcݣrXcgz51u<{ $q4JF#v/$UBA C_h-+LO>>2yJK )A)?Ji0q?XE[15CgNQ'􎌉Wz'N3-h/mvVI葱;l14{7 +qȄy0qn#ތR^4dָM097HQ:۾J"NP?ݡ۝K&kalXZL9R  92mʍ|!> RⲞXfqSU]PhW5Qd\glؓ3'2ޢBW%N hK+Xty;@H.Z?3>cˏ<SSrW_ ɭ~a/I4w9}A=#kMyJeRVVFcWZRv#VA]-Ⰺdfe12qn!ۨl";@<Ff䗦Dvw[T i)dx7[hoc[2WK wR;WI&tJ%L__gEU^! ް\ۥ=L<9Ul*|x.XQcGk9_ϒBRKϓAu ew ҟ\u)9,WM|\$ɣl<^= 5;@Giќš#R݊Yipf~ 6w s6 yiwXMM8L;HQSuf!N :Qcy}3=֩Xnw8vUʴ>\S~JaL(p,Gʋ7No:r֎xLl=ajh[2z".L%(MYÒy0 kpLF,և*x7CR<1휿BF zvWF.D$SiB"',1 * eg ̆$%\:\y6|yaNݾoQ:߁I_M:yPA`p޺VCTn#ύN>*_' vUլ1Bք"Pߙf-ˁbH$܎WZtϻ]YgoK* mGO'ArhU ؾ" ;-anEp+]7KiN sogDnS毎,'*[NbR5ghS 2w'vCϡ 4vT"udN~mX*tO\obG %hl(@ 0] f""|0CYL>eQ!|84]t1;e^>Hſ+2$6 :JR\7xs*銬0Im^5f΁mhwZӤr˂V>A BIO39G;@Euj)^%8?Ќ^vXHO$_DZG rk=Qp$O J1 !?K6nLvJi:6w8 m_mz*BSH b')4,/”;f gsm3yn%h./ͤr B=-ezچd`-]Mpt?laNЎLU8eř[% g[e,.{WW^[xifjho` >14y[iΚ]Ơ]~ K!Xab3vV4.eֳ_ܥdbOpJLcR^VݣxxI0`Q9!T+L=#t3c%PƝZ=&mj-fgWGut\K3 Ĭו$oi͟{3!67~܊$[1={|GĸR+v+^[<3ɵcs݋US@B[+.sX7cHt-emx{ڦTolj3SO&]_Tq¨&+dd7VJ{#<ԥo-0" = u\uSÅf=2fDץ*駸 #J\Q G!Rv6_IKɘQ<GMsK qm7LkxX{BĞN&{u8҃wzG+~EMFJvϋs 5ID݅ iz> Ձ7EJxc6vBwL ȲˆF\jk z:ӹ3!U+f1Cm1@ay`w b%s9+nFgu.)Y[K\P%UJ뗐/g?>lZisPk/Wx$2Kie9i5_!4 ڥSEfzs^R(!z&g]Z!)^:uг3W٪,U.PTۂqzqg1Q*'_7Kha 6vB[aBn$&S'F1} 4QoV$!hHY::&Lx] H?~w&\:dT* NINK8+;a0I*LiR)(]>1&ھzA 0Wz).2w|}8: ߉s]y"H"bʞ2ޮ HؑTQU3𡂊ͲP(m'V5$ mݪ_Qy{GEV@? 8Ļc=-!UT 6"#4~N86$hLWETP&CF_M݃$ٍBgjKD/bXS^T_ 8d_^]Vb!KzG oyϿ3]k-["jF˽!LswGB(pEK%0i6JY &:㳵 ŦV'WdcRC7]%62r9JXż- az7lr3qy}B|_UE M0bϬV&}S w>m\Qe@ls}L\@9\90jv93_ӭy;`f5 e%zZҾ& {fʌ*BY=;1l5:fVkZG@DnTKɱc$Nу㉷S.$Xר&+޴ `"B~ x,XձrRb7{"Py9fjDK c*ʒ%|d H Kueclxe|%%chFmNZ WVmHGLC")A}6aX̨b dKغsFT>>L$9!*p>FNg0@ogjI 9 1V>Z ux29I۽$Y[vlw"dv,~s:?~mDB{rR~W'*k}ܯ EY^P?.U 1h:ݨ{$uyz:wuASKϝPN p}=T ;`kh1%&Nb@~}ρ J2Rl2.EwmŦ! RAZC-&GgYM=!@zʧPSSӅYτɫ>+3R8N?k `Gs;P)z1$JIʺviJ9XK$Q_@kp\ N?d׵yfH*9H4S , Vb`~gE#%ɒ-e$x 1GQz{BCƸ&bF_4Vߪ?U%,uՄ>wwbܛ+v{KOy0xUJr"?ԁ#~B4I\_q^f&vY#'1n/Kw``N Vh,nc ;_wZXe"BƇ4W ӕ Tģcd=lyq='d9 }a:_GF=o;'.Ϝ ;紡-H`-z|9I=/0pʂemeWYUkZs2E^KQ;_V 9czPέ+\%ڶOhMzLW,wڀGguNiQ~fs0ixҼ'IEFNPt'_Zܑ' GÃ"$.kg]-]L_{h]G_%DŽ oi g9Ne!)&6;T`|_6C-" 4Q/d7!K1-EZr~8T).N,op. 0>Ewe@*yȢ\mS'҆]qO%dax1&ۻIFCftXksQ)Zz#@ݹf$sx%[x;><䱧kDZjO̲k1JlHj {c^ȗ.KkǐtDe;\sk)2oEi_IiSu>t;ڭG3*@l+U*\xѻFO9S:n`FR\K1%^hr;[5K/!Y OJw@,73"zF80dHF7n tyx|`\lzNχG燫\BFyC=cG;OaD ]VPS\&:wю%jʨQg>éLī첀VX*ӯ|ެbj2N)ʚ >ߺє{3N)9&yԿ,ߡr,$6ƒ,j\<:*շ(ে Ac0Hhz sp n8]. ?CM1~]]7W v?Y P|hpyr+ U"Bwe"`=`CX.g*Ĵ{Xء0,p~<ĆF9"k-gSJoyʛ N׸8tfM%:_k[)t$֙ShT>1٪I2Qrz3Z%j\[&x}ltE f-)㖀7g}Hf:Qurs#[|Z9-y2.i7umSf數<>h=i,[(v0mt@NtP˂S\б"8 UZ4P+2Vw=(A@MБ^[,@^rQВL7N*da({ULsmWCwn<𚊹L;9g^~Ұ|{jMa-z8NZE>ܖql ܌Ą_Rt ;{.䦘+]*PϮB#i؝~='mA Hԡ4h qT/u4.<[LH}V!w*FF)[Au480'2Ī 8^s]nx J6|+M吂$nUį aJk}Z7~7)&@6tk]Hm,|Sii~5%FV&0%nG[\%>nPs#^ h|b |-)^hw8ZynXK#\7Os\ɡTozdH1d)$q|^s[dir/M;DAO=drC\W_+ߏ?^f -b Vwi3QS%jEc-vioh2z*(*Ba\74$ؾ|% j{ b R$A!> ;j^88e etXٺK؅dVne|kֲ Byh; %zN=u(4({;!c 6,n }PX͊Q6x| 1M'fv2a,R;i@=<>bRdC)(֋LcE{El/G. TڌPH#\DR8Rg_IЫ9 i˪^v#asjވK(2'IrIb!SObkq>xIa סY?o]ˆbklHvW ǡ{4>ҋ(hZu]4De^V'(02bԃ C?e""qb"1e^8,xyO֥_`C?xVY3VIKz9k1pFaWw A x9sZ9Yvߥ?"w\_ԛ}_$ه8[C 4I2+_̀rJ]_:-xR]ҍId:DN_"3[(pK}Yңr㵧gyˈp"9.r-Z["97\S%T/fϷ`?|mtZ,S5shSDT f@F^oVXsn鳴){m`U[ He4?x4u8Mfθjo*M?/F6r3Wd2ZՖkD|Uz}YXU(fЫLgΫ ^mU{s 4k|iNE;<4߅8DH8UHN]R+ܽ3\w VZ=RVI5ONe9ARV4{ۂ[س,W,fğyxT> ')Zɋuys ,z2?>?!0dh=&i`9ҪO䵓)BKBw]Z-y0b y 8=Q_c<2r#?z^m{@ƈSk)5AV1 jf&2wnYuо[)>x@U) H4|OO| H d -C 0`CR6āLD~!_̨!X-8RS,| ' s>VfgU)G";Aݟ<|^aME~G;7 ˰؇=?ï4$W`?tpqp˖J=K59y.n~((<&?fNDx4{ACqv e]T" ȰsW)+y߀ZPCb{Ieq?)\o*Bk>[!&SƊ}OH\>R0rVkġWuW@sb#^! N46{OZwTT s1%irLh9f{.IS'̦μ쮓|MZ&M5ƾ|dSp/LUz |Gq7ME Pc z6}8]0CG#w >FDLceC-;l\g Tt0|p%P1AMqrVτŴ&sGP a='q[vZ\NmlLa!Pz*iXDN[uP{`ʈrZu@BڤzՄs#>Gp3<6%ne^To5ĺ1ܤM, d31kNcׂ ) lѠQK$ -k!*h ɻrG0'ˏ'yL7> F8*0 ATvrSF&e7kD Qn|m߭3@tSj\u_vЁ4q]jH]N}-[Ak#w9X.w~3u2 N /LDT}9^Bz綘)&odLk(% Ԑ#O̸غdy0 DSPXAa/F_9qE Sr$uer>Jr :c#12*7<tc]pZ//F,H EUI0JK* GX㓊Q@P Cf;b_fwl اc;ba^T*sZgϩ_Aox*_WhzM /c{iCmWI\U8(,xۓ! * O~ džym,e3^&ɕߴwq(#x^L2mLV*S$)}!*t/@ 0XyAu.yBi3ivo~F cԄ07W)H |H_ }5#ƶGxwy!vPdHx-@ %~vc숭(4De\H[Ne8WPn_Ɨi?.jw:  )R܃PX?mu?9ꌋJsMoR3c0ybwRCkb~P[Z⟓*z[~K־:qdirɸFθd&IK+BK~ r)tRC)Q;)K:"x4 O]0,~WX+bm/T2w [s={-Qz{ ql#X-OSZxI ]PW8y6U;RУM7s6xv ؓO`?S׿;,jO^<83Lb%to ڳƈܧ󂦣hyWOW z &nTlЬC'_tl [f|n'k}!g}&HRBOF~_; >5P'ɟFcc`P=cm'4cر YE _p0IOV5uulc\LtRg9³(]J Rh,GdET*A'bgIql7r|͓AuQ:S^F/.*Ѩ ;.G]㱥뱅\ D$`L oA*$]]q;̟1Pa_U"&..kϵ$rFzT*_gmp?\k57H,\LM De>._2GnRg-` "1'n43L> EOAnY__sIz:f~]UP8O:@c$+Ԇ Nl{_UTU~GG`j!1k֭TCWz,nֻn-3ϑѹ'ˡrf!fol36?pkhQc\IA$A$ԣmDob6V?l3C@WPo8|k|#G0w쫣B59? 7i8 쵊J.Slk} K4Ou4hB=-,R|آ dc,PS RvqvMbγјE Ca/f꟧G@UT ̀OnH(Ve̋2.|D)P2M%׏)nXw!rqVfR39e!^C_*wDž:Jd۫ t1^\`P-bg]DV&/eiYLa>X/W}މӷ5 e`jDOGqAb>T1= Lr"Qߨ[Gt0X#!nt6*xoBdN~P߸>MY{V`b⪍vaH.)Ok1 EIv߲Îc@;!mV|-]COIVZk|9S ^1~G(ӉhRlY#ZD>.,dȾTwu]%*ؔc8Nj(~GӘ|R47t#P/Rv/Tɚs5芎t I(Q Kb ;i=#!I6 ߂\lo)Y*:(hTP.UPA>5^Iӑ-ѽa~˸fތگmQPSQа/Gm1Z+߀ZdP33=҃?49jx2u+Ae`=")˽K(GasJO04c''()Ɋb}ċZΤx疜hK+YW}u/6gc+OS*̿~#G${[u|:0δ(D~)[br1;fQXMjql{щԣbn2ύ)ܪ,m-i Yűv~X;OЏ6o?WıZ*ȵlAt$,ٴT ܃#Hfb*Qfzy܆x";M:rH>]_qg(?)eXv՘KkI)aɝC UN%\%Wiçs!*C<^`D2Dp[.%9n$[|1x{uHGYIm%bZ`3M)yB33o/$(~"6D9F"c;_D%UB*2 bX+!I!r9a k*Ǵz>(mN d EO~[5(4x޻]jҽ|S)H# a 3fduG5%blPOPE܀,!)JSK3OYzOuB4'9Os +9p:Y)BXSE*׽FC_R|1]5j35+7V 5 .Y#>vUVUU\tqCp}ODHbwRnLꜷ( +z AqFT,Nl,_w6#1 q]\*{4j1BXLw-Yi$ w!a :19Lyׁר2gYTddDY{%!]wXu2跈"Z|0nHv6YQ ]4K;Wվ;1> [_c$Y4jiI&HAfRX9r @>U4y:|H+wK=kgگފtbdq!$Xƴ}̾IHK5Df}̥eo-~>".)Bȸ0BdV<ь.)v'J%%<5zk. &Jw(l;(5'mS[?wEb(rZ蕏8yrMRad!mUe_3A/8}qح6N}r@.8DJ6`JBO@2=[\СW&=i qs^c-t/_{I8u}ܲsvG;=<*KbXV#q\n,EltB4pOĿ̶:_U`WUt0&+d*ZG13T=ѭf& HKZVxfh2pLCvo)xU5qF s?{En PE wD䉎꿞_A/ A;E{|czB>şP^՞x௜s.6YL@ɭpAӦcz 7d Sg $X>hO` DC۹x7GIPZBĴ}UYqb|&J0)N~H}%Zҵ:?s &EV8a`YV?2i}+7XB )` @NkJᖐ&G=:Em0 v@F,c A[8'f-9@ƕӖl7'nO ~X'–?^]WZߜ/` #A/գ:Wx hg5{b1FV\ωzEa SO4?XJ6ɟHt臢 WNڔ0H@D"uYZ3W|<3浳"0=eaв}}F6$u;sAv+dcBTg ZVEtXXIok,aوlu'n:38-gM; 0OLx/kn}3gIlq HMiK[(h1f]t%(~k|"p5 gTU~x!@Gg]sFOpO~tc[hO 7}dG"Džc ."l5ނ-r#Eu,k#e2qf6{!R--_ozkbn*xEtmm7`H_M% A}tPf2 :ne_  %ty#^ Ɛr9>{WݑiUb>w؋M-C[Kk<{((C>y=umׇ_3m!wR„"H V#G2IujO]GƮr!, y)u͖$+Yv]) ز?㿁C α[*o+6Zךƛ  Va0:W5|^+Y2dŽvi(gp,tecHWϖ4Viv| L7&L2 ߗ*'S`X-J4 Sǀt]r}hZ3YF'C! ǤsPo'-,<Ð@İbpqk(>jU $L,^an BZ3t44e~&Z(L\.TH~tK9U)H$̬1ZrH $'NM}=rN` ;oQmwi&QU38h V _4;k[U@.W SI6E1FܓӮL&No #]=5 z1&L? tݗS;YK4F! KOdk۟\EH{w5pBqu]yd${y4&Ur"缥 /0 Lx0j]0jW2uCR+" rlMQ,ܚg06 ȋu3[H<0LHSx.Α @NJV?mtLV~l9Kҍǟqi>a4|RMzfG2*1H} su&E!^/~j 0._I7@k'jfdy8$t4>gФJF k:fcxM0fi#(ߚMώ=^(P2HD ?qqē5Sfo쾮Ud&!5vC-â P[nP@}R9x޾putB1+yOӹ75d4#샼:jAWs\=paoZ?^u|%w[h벰B'ΒqW/deljP7㏨x*on<'M*=*ocտwjNđww_ݖ3hdLd7yshsjyX xvqZt:D5Gw'CF0 LWu BSa6>}yZqய.|88:M".4a\G BegZ\XB (BU^pvɧ_␷Xj%HyɓFӨ;62?q?P'U腎 t^:\ht{77pO1ALC2~л'=F]t]m?ճ.[gj-^z.kP渻V[p|;,XnJ:WbBRi$k` 19WIfG47 ?XkxE{9?MACAt"m? "vpf5QS~kFLO1k餃:]g h( BK2_o1ϑв\4BB][_CTQ>%:wƵO#ݙoU æ|+ds[a#\K^_Fﴔ _JO<@.E!Ƒ=ј# lA~NHٗ` iE 8&Q_,yC#Ԕ\v3Hj"SR ekFWu6i~4==BLu\>R" W89OKpzeC ;S˱ji=ܔ-I^Lٟ=zA8WNpmT"N/hzdRF0iLNWmbvh>/'P?A-L`` SR':5拷_AYs$(0h:k~ur>3ŭ$`|a%!4)NrLBH:#~NQO)֛phqj;٪=R74#[ԸEN8 e޻p讕qz O 0t@UD;lR[/l 7î&F\*CQSYeh`2@x&0JX":pG%ilx.G*MmcWHjmU@B,h̩'d8`0NY^5 ql:9u ! QA~=VOgv x”Ǯ/Pٖޙxnb*)dբ~@DEtfL^ ^{A,vl T8sٟ DW×$vүn?C˞o=3S Oo) ;?RNs3uD_Ou1"hBIJ*b{m0S{l`v&GjFvmZ֢ rK ɞ /VA; Scw.(KLKĜ!~C=r R9rS#b2MwEDE3H.0ipy_naWV/3D \3(~I9Q'σ7 uɓ#ޱN, nLH-ETOnT+W:LIQ0'o FfLZn%~cVGl0.{\jJU:ezO$x̐ʥUcƨ9y$c7 lh\;)uv9vVi"PPzծyHnzdÀ*J |UԆ#}vh28V3n~IN -Xfω;ŤlK7%[sU15(( P4<\0Y(6/eF ǰI3%$cOAy%9? ݫ!dcyN)˸F D *̴i%@)TZmx4Qeg0^~ۈ'Υk~Q,hg0 9'$adhMi _#7+b6lJxd&t֔nȻgD NR76v~[^$_gVJ#/LaPhɨE,> 5aVunu&<ީ;N`$SH5M8Iz>8x:ۨ=Vĕ$vH1B;2.K<,O2(Ր& AupHeBh{`x'(216O4y|ʴ"u` Uby 1<Մ~CHeJW#6$SFPbAi Se,Ggyc 58!_3'+LMynx #E>;Z%hLblWz&02Φz}ެ( rw#Wn:Ep =]܆9s^M|{Y/m(]`X!)>ϟaXPְ 6,^ܩEINŨ`ZvC|Vȴ0kf/u=W`AfdT*F a(VjbL*G%aN.艢Daq &od O!@q屃- e[Dt%͢"4ۊv| MuC&u)VpV{I1XlI2/|uєw ma.\~p.n+7_b"VBQS\FXdA(б͚*S4jV ޵&B}Nw|Qf-\G¯8z xlqd2n90evLv6~5}7$i>&j/('0ey'Bg]@>i(i$15^'-X7tu%ўc0,Gbvs٫moڲ~X2h(f)@0K c) uOlqi`Qȕ#x2ކߜ͇jʵdzdu&AkR 4դ<^kkaw+y#f-Pc=uuH zJ#@-<%B'5y,]5]D~As: l-Ek{"7ݑ r` g?:$JӘr 4%7UC(aZO>Y E z$E@w0d3tZ-FAv~Oĸ>+* G`IƂI-KjG,rɛ4`cԙc AnaXŰWe]ԒՀ 嶆`!y*_Pk'w fA)->?Bj]m}HƋ=8rur4 2 5qk=^&6~oH10(%xy Rs.PdQNyL4d5 =gh%ү_ [)S}| f׆ȩ03h@gLx5;:ϫݮ1Ui͛l_t0IetP{܃~GՈ?Ny]\_li9O~ulAs 5OoB'EWX^h^d Y*Lpt@73{{i9 DŽ*CP^7I+ > U6hoӹ2 C(KFŴ3!;7Uѕ)kR_P5$57z„~jA-gFUlc߮5+ 7O'UktK9R^"P3Ic"j? RYډP.,# vү|V Ѣa[!gj>bL> z%Rڮ'.z*lVt䇀EDŽ,~l- 4Xߕ+ Leѵꪱt5 =ǾHBeu߭ <{eatK5'2"uHM,&xij%L9ON0r.l{+!  5 ʤ z)aS YVFU5՞m$K'\[Ұ%]GYn_6͡z:׀N8otQ"\`(~kƽ9ւre_w9e3lFxӀpԔ#adS|r`~=ovwH:]j;ƞVPP@0-dxEZ Ԓ"1dQec1Eӊ%";3>kE޴nY zpvdSj3O5p DA}yj[+v?O9|f*)D8e߇ ߞ87)M 0=O_{S`H 4@: 3_/?XfMB(FV+L;Q9J|ɠTYqZTश SL&La݈:~\6SeIA< %mAOlP8Mm@,n:"}jDYOE쿑( NFth@C_%ŹC}Y\vE>VPU-um鍝 S"Icd~\D4]郠ntX#JO`=b?X0,wj+63RZU3Ty!z๾j grڰS$dtou& %_DxiOz^岴ZPMl+eXHrM#s UbIvCIK3O1ʿT=Y*P(%>Yc7Rs_bn)Y>פd`up\EX.UGRI\_ ` ;[->.` wlA_4$7"/0P*L-J4 ߩ 7%T4&Ier09@{oFE}&;}; \|>%_}Tis< "@YpV8YK(gn=e5Fi)U}*ʔcbyG^pLT'xo4GUE =*/NV5R1JB$2ʟpuCGhMQqJ ]qB-K<īHY͹& ܬ$^H'VȽnsD@h2 [V9 8!AWh"%U~A{{Ĭ$Q,хQ>ڬOذ'Zk<f5u[|6Hw*W! |"J+NzA{s+ODbTXڑSqZz2G6Gs3H?*xH "sOxk_ _NcWYj ^W0  ɼd0F}o4HEBqlZ.h3G;)5lS5l.Y'7nDSf {FCԻ4q ٺ])!#TeMCD2Lc{Kl5b@UҶq'ėҬf{i}.H3&Xb=".呎؊)>$qBr?l1dD }Iʲj~'A钖aɥpLLqfٔ;5^e^$P f&@bAQ4^=>9TZJaDaXˡy4}NΆY͢ *^^9-L 3ih tqEdm'EZf" ˳~uuJu$XB"E8| B*|U/q&MeS[o خJ 3tkp\Ί!t5_.WZ].&[9 4VY>j^5.v0|\#)w+MhFs ˕`Dqo.u }U><Նu.hԆ_Xf] !zԉAїk.+Y ~4hn7wdJŇ3bY֫ 䓐O=y&!$TX@?8p`zpʈ;T)sEB2h^NIǕL<.Td>7Bk;yjdb|#d}~n\_a{+eͶE-iUi@(i1 ̣RY5 XCʧN.ÀWQDXaZݳpܯ Rl'j(yVz v&]ɬ aǹH>j M{]bM,FU tG%at"/%x, p֏5@4Z5@|Q;LIBб$FI[ Tm䨙e;MK&LD#.8 ;1)h26 }u>E e2 Ǣ*M!w?^6ןߟC4 X*~)/_y$*t[Y*&`h>K'٤K&(ZFz*R<6CW\>,jwt Y¬aS_6/WޏR{RF+#^YʹZ x&匚yHш;ty/t@}Oa봖0 A.'E]z)Ul-9:~2\9WvӜr؎]cg-Fn1Io-~ֹQj=ImCkl5k\ G&-Tp{nR35<̜76r~=mQ3S,Zt.f|BL2 4i湞ؔix6k*}5@JwM"΋2ހ5h#Y4m-g~}R\Ul`uBU/KyqbN0AD5@,TyyxW瑥t5#Ct 3yhz_ y"WMW^20YS-yє$y!i_6tEmRauʻun°wwrJܔEaD#jI<~aD{?V ]κ}u? ]Q]w>hļǐ^=7-A8OGM:;^u>as쑏s5\u~4p tM"PzX,+ېŠnkJZ2K$aJ%m߻ OވysTxbm4AK#!ʾ#-J/su'A:m5qO"+˨uy2d=@: TퟶD]BTǰ%_VYa(IEބ'-aR=Ln)jyA+rf  b &I]B*$fl.(/Uv=&)Y?o],߂t$Dc ?K\F-|jViM1ots*ir{Hzn>@ o  KhYQMydoj*(B2J6H$w_ѓ0$єp31,(߸& 9l.wZ\5/+~o"_vH6@9њo"?əƨtٝFke )LQ; kM& ҄Վgi}80l68R- ϙX1epe%+g͙R'Iԟ+>rHWY;}`ȗyt;lM LbHvCjBus)f+)[ yM1(܂CuosaשO mDohARWj $'e, \H3?;8UF3o^ׂoo4 "w>i&-xi_g}A!yE&JY*B]g-57SHoK8]qp hP6ӑA{db|$]Τj=KVt N@ !a`MՐ>(bW7/C$80MoSmŚ$ e T F·<uFb^zGwTBtÚ!?:m)+B0G dU,%̾.eP|$hϽ& >U6c# F7Y7BpE%1pbԥJ/.{: 1Nd y:~Fo]jz*射]Fxqk zHi[e]٪ ,eO)z' tvfhnEkq6# K&ARRQmOBoFN$+g ʟv7M23oټ?((LeO¶tժWl߆/N;ˢtYvKp+qjhŤ|8u+~|O*FzͩgLX 6=;Lsې} uWp]hav%h$"U~X Wу^=5t4I椵l2F~f*UV*Ğj>NG' fl!#QOc¼":$2:GװE=@+"0hɢ1jkrt~gCNtKY^5bidvnݕ.B/E^$aix0&E4?B|;q]<1=]\4koM/d$PeQ /~c:낍تO'Ec EP3XB*@BT "'|҄l6+ i\(߆Q]lnRCuo{s]G.M e_x>gAMFld߁ hCc `(G>H4 M+Bi0vtKQrA˲Wu3p@j?Be91HX{|a3L/!ދ\y$l*fD$8AxPxLc]|3*Hj=+j(?}~ ȶjQ!;gir Z #: ƭ+ЉT)269u-JU %-%΍_Zf*b,._f&-$.w%G5Q,/qTxs6gQ=kݱO֜?k f,l'utmhvm>=Դpi%\/vv!o_YkB4Pf7Yڹ~W~aqZaqډփ^{ݒ |(PToȉ4ȞNF1$KtB^"7 Yd5ǥ^f*V㓕8;b#|P.4e6d Lz<DGb*oï:X8GYl5VKy[ PI֑1G4`2`;c[ ʑ7~~ޑS;/ǯNd@]S{y&6e^\3ѼH;(-\RѤ6@37c>tJ{8Q[ߩ O1>=pm4T@o!_?LE8&gHܨircrL;"l }žڣ^=(?͖g%~rk_LT9s݇/lQ2wԶ0 m-<[#qX*޹.o# 7Abr}S a 2$? kZ >M B16vPy<4]q"¯zAS9OnK%c ,u6 Ndios,> [ ^Lǥ׭dd۹ȸO3X~DN.;c0׋4%/$KZX̀g_Fչ,]YG)jS\[$~[Y<* A+(L}mnKj0 NրCuoÊf'8U"X€uׂN;a'ɰcr{1Nϙ7#N Oia^-S P{\b2 ]CLnt='qnc%% ҫ6B,X'U/137=q&~\7(Icd^m~Adu阮oÖj)^[ {%: l_of"rP|}{7Y;.MкļtU,v;yO꫏}i8%2n"miP`{H!36˓~d֬>610Sk39cCqqTS4VR/xܲ$-mj'ˏf" |cUʊFM䉽Я8 O+  @fkmHYه5-Lvr=1]f^jɪ%{t: ?9elS+MKc;YrNrV6|gP%uK_ƄƢσZ1*Apws?O`?L]Ϭ+3 UOΊT& +COP8;:1iӐS|]`)j.#Fe]e0@e7pɋi<\j[H_Wr^'Z}XАw:cSMЀZK7WxӡIIRbb ,9!&5n`WYÝ D賜E̩1el| P$F 3='¢FK2rlHS\eI%jVbR Mî76h920< hں4]O^`Oot # ^u< koLbG@XͼBRbXuGXX.:;rPVzdqYd}F4RzwJ7dNKw']gѻav [u5GރC7lKd){)xD3ZeSdjeOh"=Ru5^\=Vqɫq_H:KSv^a7ϳP%sp;5.瓊fIh$'ֵd5)9UZmayGveR%#',oM \@풺4#> <'KX+Yo >rNHNZڽA8u\S N1C.:uZS"G}2lT5gt/r'L?)o򇧼,jk|i,,td,OHX17 Fy B8<ڐ`,$MkDexH<;p:\KFy4w- _>9yzf`ddR\smpۘ)+.^`$[?m2*fX><\ Ys Z8A3qjݲŝBㅏxWcLY\9#6~.*r,9 "v >^w7QX: (5C/D/ƒB_jR?'>Lntqy6_DSiPQܶߌe6`&3A6oɒVJ.,Rr~Vx ƪ %Fo&T>V:ʵ| ݬH-kwbDmT2][ykF޼U]+HK26JRF6nEu}WӬo: jzhymW-44HFx9}cհ,g]C[>m.&ܮ[QI٦dI|4vZE֧+<ΌyDLnIo4??NƙgƎ|9FnEG#`1[lY 91|a Y LRNˆ$bӁU54n#L݉K>ʼH'M6d- >Gv 5! H 6u9nJS\S.Y=ʏ5C 0`i0BV.NY޷1䎝o5bݐ%@H)nzjѢ|'JX?C!;}aE+MljfӈX"MOBjBK WKNho+a_!P^j|h'w;ݥL 5>$g%.3s$ImXbr@cN MLZ~sϩ N;־%lU?P@ߩ!o8~lL%In`:B6 x+ >Es32݅ 0Q EKH_1Ju}qyz:yq‘`]ygmtXM@Z+RNU+q Ic|^v-,Y~YMLzM 2 RrfUrDqγhf[jZ;]3@_ C}BPV+ʨotU ,~&Y|>51QX| 6=[tSpo~E=;c}ص^OH!\W1ZR ![C׺:hO "u=yцU"/wi~4Tױ`0>ZaSi܏4epX&3>9N.4S.oi64&[4(`Ǿ Q4Y1ti!yb%[k5W[DXM{SD몄㹮ߚPvUQʚǕ1W i%Bܣ>&$ AE2V'NF tMΛ-1j_/X3a^ښsJUӣ mFnvR,5/ Gn,'ϣd6f{Eo\ŻS9eٻI;J%?tHmKmuyÅ~X]b %U՝|FvDHq[ёH}F}lwĩ[ĸ- *~"g!ϊ k[ZWGtlWNQ /|{dB#J_:l/#Oe"X8ç"!STuX@:]G0:/[5J܂lwn!w嘳<MDzkUW~ (XSgSpp/uQ`8%!T|.-2IU,U2rD-~f\WZhaEF>Ne+ߴ5Toteݣ iåKn^yi2.'TpHڰЄ!ʤ3Pqj*;&WXJ k0: uQtJAzU:cvm>HSaJ1-x,Ι%BIfo $R t7+ #'[ <ȀK_6U;\Ĕ/K}#V2 LezƒjK1}@taFǦ~ <;pIOؑ˾Wmf(<\l̇KD<(URl1yް:d~NYg+A$2sl0Jj+,M،!!/:)mJaZ)IvSX.ܷ?= f?|κlʹ $90_'IڅY2xحD:6nT98pc̀ Ĭ5 6̭ӕe]ө,ZW]o5?cZC&3@8.S+7s450HPHt%-wFRg&?BO~k)}ʇoK hɞJyFloϡI01R@'3[Ņ-q>i2L-tAY򚯘OڬPg.DN^CI69%& g?VŢlfYc%KNadUz,tvլBa\"P_\x2i`)FxDTc5=EhynSEAR-ɒBfV)y$m{ah_@Vl7Or؇M7B 1qWC{BXQWyfiрoa BV,dO`YӰOW_O%F?3[L^ȺH8)UB$ìYU_IHC s|\ơmKt ɗ'Dž#(FL4NQqq3դ"eny`fͅB6}ČZ׏)p,^=00ّ#vR3zhx G"53~39[xb8o3=QʲMdQ)\Aq_ae#WɵTlI |~.r(`R_P}bBnW-'@!`m9fq0KJCu?a/JT95j 0<]us,Oeܸskic1v6I璯 `]hkhޅm>4aV*5y2עz[> GxG&2/ZS'w>Pڪ.ľ%ì4oݽ?i;:`?eI(ڲQ*1^muTh1PsXm9-ǧQ^.('!ypVA.U2Wczo|_۽yޙ-K1@ Tߝ\b(BoX.nJo6SpބȁĤS k#"vKrV=̨Zz}(Nlmgx.55MLtTҐA;+4)`eEoFs,AW>2ڗaو1G"ݎ F:R}mx8{AoωJٳs-;n\RƋ 3)|X&ަ5L6N)б90~S&##};ԗW5O턡iZ)qL=VD(A=zve[00K4k0IkZT'%{mGS\83״6݄]~̴u @{>ad9ye/RP~l:m$#@i1r"$5pǜ],.o},@ iZgt`a]/n]e.7Ltl~Lr=1ݍ܈^>k`+%$D`h(ezSW L 7e^)IT F1}5.ǥd( lxA!4G4:~Xej}3!k,xqxK{y@)cʚ`<ƛ+e% 'xg(l,]q)KVȕ=|X@~l&dLͲ踤~{.0z:oL Ìs}O3E%L瓵F(~Dx?Ƒ*XA|Ɔф sU\^?7͜:4dZpZ QC=Nti7:;ܠޞ?i2|.k"yzO^uD!4(@L+@~E^xG, i*UJ^Xw/vkCʴ><*E{3b<~/\,has?r56O# !rW6uq:-_ el=VH!1TզT(bmW>;lnc890ɳMSrNXefoX0 6囜pbvӼ<шphz" fiJփxcZ*!0np+M\1euYh[n%&PW 04iq?Ϊr+7L ,ϳC9h{2ꁕP +`i寝it ٵsZ@Bw_<)R[`L(/?{0S vgaWcdZ.E C͌V4)VSK}7*|⭡T?GNݱ9ǙM⢾:A.peUKǬ9uY=fВ\ 9évsUƅ%Lq:/>wj/o&E6uJ@j8/zm9"q V:`Kb7T~l@+A}og?:/?جq_8tz 0vmE'խK1D8AQp`,ddtt,0FGQa)@^ t欨EY Y FeF vyE'"ռ1= !Q飦 "&! APT/C +'cM5薉HC&\טa JH6S,]r%:HzGw[g]8zБv; "y$LK7Mϟ-zF'C}#!ܑHi+U(V-hn~a)4oTr |Y K)Ǜܾ+`4X\ݾTR/H*]TiqvI_ \c-7w\j4_[fi6pE@ŴWf:+#!պ=mYL  gG_66aH?i0|?:0mEp*sa,'$/d阂ï!~"|w'1QU3Y!e@(N\;^m8?3ECTʬiRELB~c]謕/2}*鰗#NMlJxĻ>1AUdeIxPf=,p_+l0ADٷpozbz3bʝ*̌( t.Mᮅx'[T6#j\h{aqfrN3Vg⦧ajҳ8(>d>JKcEi :qwsnmb֣2@?9' *`I^Lt:gP [ q+SZC|;l>yǜȂ0ZbBhpg\*nÂB`DqTJG櫛W;w! _/JE/Khѷ`2H`00 LRrꎝDԷQ6 LtV`-)҃0NJK1*s`Vgl vw8̡,LJ CE a4{Eۃ1]J{Ӿ\el&#Y%aJ!ho"9;;̊|]wSUN/.Xz nc,R+i@-u _2_r5Aﺙ-[EibϹi]$~ݷ VD_-sa u ,>\;X۰Gx=Yf8 3c+qw1*'G͎R{2Iz!ϒQ/ub`xHhկ8.{C ~}gUQ>\H*XzvOts]T~j1 AX.=t50.MH ι܅p+_CZDb6E^7>>;?>2 ig^gmPOsb]aZk9czve/ugr//?^6"LL5A:l*5ZBk=uðc,g5G<(?=/褎8ޤy2SrV;D/hB?=d|X_ym-=p\3  Ϟ@>kęh{D^N@!1PfeTMp 5ԫ*']pz:i>_OU!B+u+Y%,gﴧ ˦i#Kc,\K!/!Ĉpb "* Q}J5Oz:!)YCnjk;M 1pL"HPM.;N,hХ3r v׊m@$H" bS{[Fmd&&]Q&?CVsW9>ܬ"k`@҄h42 4);̟G4 YkIklCM@"q$FYrJ43YmGU?™/H0JzD|^W1≌;,;&K~l:+툇\ͳ-ƤM!gQbا ^_zz٫Ec"࠱ᯥO`Ǧ[dy߻\B6&t+N_G^l!JL_<=1Sp'6,=v9d3>7 mTr+&S*/S %$rY7FOUREc,&I30ɿBp’䅊&L "pDF3_ NEÒ59pZW( *r_225Qj KYm@OZ ?7s9W3i$PR1=`/u Hw&:`Zm0Q1"ewMEV2+9bD|"'8Z[r(zC=Y2_Sƪ88I\D"X.e֡Am=RDr7vӹ Hԥ;P`b`J:G-4ǔhIOPx&:D^š( ^H|Pڪ1쫘{0)`wHUx.ۄr~x;{*IPc7lʑ)1b yv+/I(q}O 19vR< r~[ʧ[{] w4Ɠ8*XɕL%ZmBz񓆳  ii¤֖\`m.*/`ķMG!p _ڵ +e3;a&t;-I)jV Da竖~rho/dDfYHextX;m,dx=ߏ|v*<?]~Rqov+Ez3Zjb;b%W+'ِ۞7i pT dYГK  D\7|i(RW a0kqf8E2gu[oڜwpQ'z!E4pdbXt`@gQ$jk% Hۗ>H) ~ w2:*v)-о1/ wVgi5ͦ:Ӱ~wC&l9);Dd 'qn}})/gv:28Q3:C}S;h{;V>LƬ{~p]S~(ƎP /gR0'[B}5 8?M U4t/>)6dgpq#ӷ3ƒ,tF%qĒbPW4gꊡrF;ﳿ®4 1s8TˆTg!֓O=cBɛ$#Yw_CY̭'IPBf}/u80;.8"asEz)1p$`KmoSh qN="mTsW\҃mPW;M~WƁZ _3![ &^:_J. xJh뇁1'.Nb.:)?bg3I=9r"a,qvQ)s~Ra\zv\:&(Q ? F>B6Q"B>9c|,ua~ymɸY-0[WWę:4bL,bdw!=ݼU.̱ר6RLҏ2I@ľ(6( #"_D!dit<bv-0QԲVe"A&[27P#%Dۇ51u)k4 %>)3C $`1'ga]_ӷDi@Tu#徴դ l{PwnJ]VqtY-Ap~}gz.'ĖS`jA|U\}}`[6jUnhߺ&䥎eFA_ma)v*Ϳf:w0~Dg6LغU ()i :e_ =jlyY}Ir Ep+ﲿY̿$8VY\i[XD(Uۧ)KU@8 `?H2RP}[#?GF/8 ՐV&G#SLG^o%x!* h|ۿe$CKaVrQF([y}t3|=:m59ff3>$r5r n[\,.3f1LoA+.?*e~딭_ȴ @1 1#Õ%()f,$fh"9buot`zkNӖЎ ,m6S쿌 QG#=Hf{ F2KL{Beꪳfz,`prv{7_ԋj d/u"d<%Vgf(l<=Z,Ն f I|?e)m˘M pJ~^ß fPmEޖ-yp(plFi.@Yg:$&Y@!?0АB8W2R3g8s|[0åݕj$@ȅџl xnMMT>W`ADASFv:Jڤ@yX0'\/kJ,ŇS\cjhv0^.&GFXCݜWjX [$ ٵa-%R,NaM.r`[%7qE,2M ܩfI:*٩j<)u]]3S/$'-Ӱ -V.4HV(:EmdqmA[#gMVƒ~)&B#cAG0M] üs!tcXi.&vg4SVNMliݨb->7+(=^YnJt%`kbӆӘ.]9ubF3̪7y85$}SGE}f24~zlzSJy"m*f "=sw#M?ǟKY1O[%Kk(LXYoLlut RF|< ch-iº9RW̸n PaL.:P7f)5մ%M֥b鐬Ju9*[Ug|9 DxýA5\Z_lh%:M)6* 9zV2->JeNwv {PxK?Y>my[/ no=/( ǺcE[.'gr!wmv[W|Ei7wv˸\pIds*: )&?M ;f'* J!ba0oA$+87I v]F&|-7L4#|) e,ߜeى;S-쮞?VzPnGS;,ŒzPsыF=˼-/L9n<`*-2+_k8e*Iu gpԒ L@D 94=Z{zeEm 9ӃGt`CA"0|-0'!0ȦK5HeHŔ2N*Љ52n3Y=7%fN@7 VjWEO#HN5>6)N7@''G.g5rW-{>$̶VICixJdhae5'}?A9A.y"NVA /=;/rs3K(ReL(;"= P:s 6TGɚ̊Qy J.5ƂnTY_+Uޛ~AjeZ˥a7\[T ɑm]* ܈IA EV#аP; ݐg*0b߃jں%^~йw:?xJU4w cpGXeItͷaqKD ?dľON7n`9s,y7p8 ;/g8z^`_^u`"2i;EK;YKy\x^{iI8RR-&f۷r34M' ޲fc ܚ'` 3-"A"p3ګ3b_!fchvZ[g%nSrxzF7 bo\4J RZ{%uɠ"4WsV%< zE*ب*Do*bgyM9w0J-J\_>nk3N܏ZKawI\6xDJͱ 87X])/5;'ΈMvimvvfM&<Ǻ˪ni_s0ԐŴjZӘku:oʭr$Fbv`a:%XuUD98FQרz-O[̽jج>@s`(Jp[*>6W>(O,(!+Ч8=Q2& >fC\N`$u{aw%e7.GBjgBO&d6L$wXy-gOde6n2@xH,Na}zE^=BᤷknGV~{F2D7(y(*7Fiٗh ?%\ٶ45JåVӟū],](!pAWM~m1+@_b~,d^s8tAvam>MLO}8$EBEs/z8 KlQ8^=Hb-;P zLܬmٗ5dI K,uHoW齶]#Sp ]O>̻uP@kK5˜Ü84YYF7 Ew\s 3ZH~uf)r1-`ϷcF6ŝ T8X;4XV #lV9o[a":8etA_mQ}Z|5U^b g)K7e J mR^xyP%^3Ϙi7*Hm%y'!CFJ UF)53 zbE3*LRM~@鄔߹XVu= K7r@ҮͫDA}]\(I;usb'JlR;vdH-te`p%Q։Keh>&ڶxNVéя@5Da^2?@.8 z"Ǣ:Q|)jͨ8~Vy2ErAE6C.V'*-ch}93(",I޿wG@ݭ+)}>Ws<~[m]!x{~j1#f$4fmPhljZ s875GJ%MtWƌViD}@:ޑjԫm,.d@KeaTw;*[R9C9G'f馢ċD$ 6(X \fB{NS?r{)*'ʭ#ǧYhKڲD3!8^-UMs?UsRKo :ڷAu~"}v:VnSc`gy]띈_"HDI1%D68mj3+OZ|QҮ+Eײ)ᜊ]Ƚ`zz72B9ʵ' x33IȸHe6Aoŏ}syu;Hkۋ8ٹlIt1R%xؐu/ -=\ػV O-ͼҴI>TK!ă%0јgB@kU/6\Zf);1l NJ7# }uds ~KI=e#2n%Yr+ E ۆb-H>SKm$m&Rt@=cp\ݧUDtyn) f &G;t՘K(>D9\҃B3 D޿?çCj}PC2H_NJ^H\>VIv-[|,c^$G"ӓU iI") Au,/׊5o*D<}AGg;ikZ5z4mCU`1kHDYғ  b?߂qfKB5eחBFP5;}(9A!Q[ 6"5FxrB3nssֹo1FVU2j&Hs~|ۖ^hOi<$⒐D}B4;t58D#"Ȋ~ =d-L&MpN-)BZkA-=G. S94Jp#I ӥ;E6,Lr/GnolVkgrUr5{=5 [ ?59VIJ}z&S9vYTo!u̥~ݠ6bĴHi#{^-RGCV=ef#v`A_2N^ {}mI J@#$ oOCɰ4` OR rKFub'}T U/TTNo;`E6tSmH!>s(D]\4?*#+6920JUN*QIQ 9bXb 9Wu\Vjjfpj%7/]dg5%it>:`{9[moWzaJ,\:Je7$-qj.T #Ǩ's*yxF, S2 5(UL7YAX ;3H<7M[HOA2m\a6 G}ę I}|8]u* o/X3"~ض5-re5x'`ܫ8Yu9M l\ ~zn 6fGN;NbR^7A>>)6O"_9[C'ss=2i~ZuW4+މ&TFC,7I IA nAw[nE瓚`W pS9Y|uff#|p;+a *l|'\hXQ4Dv }.riD`o |-B{Cى!*}h? "͉F&sD3r*Hc!űʍKp,ᯚ߭SAjuhgҠqmݘԂT{fZ7wK񛒬q+K9ME1=fYxKSٴ]>j5$-62g451t.S[8 /Qhc3t &Z8T^D-ax$!8ޖ)?A)Jh^d~ao(W\}g+X`f=+ǀyc:H!L"6%wD{l&@#/-{S(ffvd31^7rk@QF;G13x_H'b7^x~R $2K$tթ\W@1.l1l4 4!. >vu=tFy#hi!Obcmr'b>L^J%#oi+Ko*?b ݟ.)'UPR4ۯ}P^{ x19r}?ËƆ3;T[)ɱ.+oN-DfhdӺI?R1ƀg*H[i%^}WzVGD|G}ݔ@"qg92m[!܄[IwEGݨ4 j>xU?V3wf/gl!X:]ņbvj&ի`c3>WqEVa::$LD}C'a]2+lCW6 ZP zkpk\9 QYQ=PG &LpJ"GScm_nx8^q`#b+Q#wІ yn^5jd5]B3FBwIҪk*HKx 5x?zTS %\oԑF_l`V6I,z#>Bvm:xydvzˆi>5֙ ]t+RH `TE7<*alQA-G#?&J6P/ZwyF9L`" Jѣd3)zэBcI%ngZ$#vH !FlB_-!cӥ;kK?z ߳<ݲPZN[QZkKݍ|v.bUnмi' x/Ӹ _݅|Gn"ʒ&Q^! b֓ȚDz켭V4G1_k*Zԑu-0ApC xӇs t!з'^Mfp[^et7)˨t?I7w9(|UE_UkJ\9Tr]+eZVqJwfTpbiJ里 Į*(0H/}"`,vDG=z'p0DhN? M2h(98pTͰYB 9LTRҝ.*"_ ]˨ⱟ掹uAFM0=K bDwEpzCҰb S2DqHZ0k.1qxMI-HmY=*@t7 -Y'6]q9V稿'N?HK,& <Q+옱X^~Ȳbt)~ >4oICmL]3J%5G.cKGF9)AgIj0h|CJVb(vDS9[kteG :9& US1t9Q"?"G\H77y5 r#˲_eZ^1xU'Eh#tψJb'lw`ԛwgH*@ւ5=NkrZ5XA2 OnV@ vӼ6?-.ã6=\AN 3D9qJ,/{/}OD*2$WwC!< H+b 0&~ "e1Uu|'Kɻ͍MA s346h)NHF!/cq~x)d1)Q){ \CF<]H<XG˸Fނ@^^?Jy dat<`ӐUHIĝwVVU:b !ZIN-} ]rgX:vOrq8ƿRi4V%:`m}Q= QD$P<[s?>҅_[6-ϯ'a\u~fȀ~ze,A܇n|eO`qJ9|'aυ >-F h%X;+H԰#Uѻa_*˓ڐBK.8bX)gt(@x=2`GTI[cB4#U} ,V̈2!t g7I]-}Za1* ?.ϑRD ĊZW| +^@,TeƎ[JAYpSpF5z586:MNUÜnAxD{R|;8d!4Edn4/==9| x[)I|~0%z(4F]ɋ[Sl_/{fK3%vW*""? p۸?>BKaktTRES6% 81VxH=FПא z96)k:،<lxS/:fȡ3f 0%JkCTg-+gŹ$x`OER"!)@cI3MN<݆ ԴW81Zpw"jtnaǏ+5ɬm墓Ցϱ0=0 m:3{)O'W#+][[Dc)[lHnhirϐjeצ) gc!a~i[Pݲ>a}KQ3ȯ˝KGR х<6y2rG.Nպ6V۟aҾ_ET[ -%?&D)CT먗v s0[m8mE*D_$YhA a ^cT%wtXm#놘ԉ,XaDɧW0!53U D icΜAs퐴n\hiS!Rs`L V@%~Scmq%lV m6sW#ҿ,cN%DJ yjÃU[ĵiM9Z-YԌ*RgUK$& w&]c"=P:]px'IltV;~$|Lj3rsV JSh鳂AE\tYk G*^|ǕE"677ކg@ɿ?$qԉ @t2̻3rDR)ū.ݒOSQ#>ʐ HSw$<Z*lKCU=9Q? L0q*+EԱ!] q-gݠә!B\p72z++ w? rP`qđ;nf9o3;O|W[)(D`ÉYn0[T;KTCֿ~QesL=6"D%ϡ1oLoUMF'&i!&)'nt* c of/]ny$sikD2aFJAqվgMTh!yL(3Fė g>Ϗ_h$ʖZ-b3zb0B s>bx !\PY ZW-AnDv"EO$Ռa6H,%߻@jQ+|tܝɑp *"Q<֧UmuRW ];M^aR13W.W'{ . ef]İ @7ybeP˟ˬnB!FI1G30HnңtP]*Q= Whl/T mU  Lg}9ZҚ8pJhрF5Ent?fid8J–vM]JNl*ws_23͜xPjG[`# C T^Z5o;4[d?,1RlҽI۶AC{wvTy H}1.ʇFz"w:s!4s?X~pF*(Zmc\#<T-r t92ffWj:&9λNKÇȿjM]I1p.Hft,ϗ|I{5uM%f֔{FI#39uWBwt\qQyWTVSd*- +;ڝۆPܤhA]ZsVOIBVGyiZ@޵2U8ɹC.+i^ .*&1IJPTVW*ʼHt mBluֳ!PH{ X\0lKAȯnˇG5g\ o )IF;k\܄R˚kd!Qw<> qNumacB'gNmNBӴviaCCOV\-XX#>g_&igEndoCc;Q9:/s@|4Xm"vkv #qNV0?*in^Nw[q [Dp7U(kSL/3- hhV}S#3+DL*<r}YZP+ Qy<2$2d(}4=^  JU7L>8CJ$=5Y0n%G~c3 ķzMĨ\:sΙsFF҅ƏTےvaόMC^׊˰gDVђmYxc>s>.R^2埝l $˵1wbAΛ`kk>)jέn{t*>P,;?Tm/O?{9EU'qvqȗ0U?5,v|{;Yi&JWT+0)/!~{cxpQpJ^b` z fr!afvzC*z+SI2Ϫ #y<ϠpĐH~Zp zfEt˃k !\<=NTq_I|[oN,5 bGE'/ 20;ꈏ/ qm0C\}Tj)g,6̰ }Nh5p_v'啌^̳.rt2|cSɤPpi2EY,CϢ eӢ2`֒YʼkC{LhzՃ{7( Q7/[-h^v8k^Si,*kvlHz*>6ˋဳqg@@VPn:tl 8H uKwE@0Ԑ*IK !R8Uጿ24F%m?h +록mlz0aq(ZO~€PfRB1Pu86twT_y (7J-&)h@Qf)TɕZhL!.hvPe"),i@@ВC'qe OM<8KX[ŴL rhL4J)[[atq$4RZ7JR/n_r[tλ%rKhG5R#z3F2F,CQ+v!eLG*V븖3Em Ÿ8:hHKNY ob\Εc =腳5κh6 P,WXQ+ҫ\@z JdJS<yY&x>W ; KEN(T稕8OےH2PEsY z d D3Z9< akEnI:"2ijLG/S#D{ZӌuʍvNw1@5Wvv4 i1;C Kşh{ܿVgiЩY4ZGc*4G1 ğs{ng[* %'txsk:-:eQ r e>!.:Ti%W6k&0{`b=H*h lԹMJĄwq='l,"\;8tmЭe C^>pTb.o[> UcR9XDz,Uee,PMC`*gojt2RϜiL,KbGvopu]O;ڠ3ڏTh s(P((z#(Ҙ"Ũ꧿ Uq֘lFV0/7ϘP^g6Z4, le;' Em{3|`]-&xxݿF z^f#o{)G E&5tvZ/9 =V`DVZ?)_J'~dN#:6 øksNSe?XwDLW[u28~:&)~-5,0Le1e ,}W49[w$FJ4M17Iq!Zn4E%"6S*ò1^c8Ǝ.{X؅ʑsKilQ{5";P፟T¤sreR:6wiJZ,k2Z^ͣ!)%Eլ`|Y~3w,5I ԥ7q v_JIB.PKk NԬKk 9E;E3M>˩v 쇬c\aMa/NQ =#m#! ҿ^Ob>]0weZzIQO·kHOX]!G ԅ,:ah| h`Rj L Tϒ,FJ:RƯ2Ikc܆a$j !*۟rՑPDӀ>jaI/Phbբ4@J[Xy5a ^@%0fVlZV*̪Ö;m[hpaӡ>vg% Vӊ+㦻~F2ȏSqȕ"вn64>qܪp!Wm! s*l[=8@&=ɗy&Uq"}뺜RYz~pqG,bʤcc" -Ȑ[CR߂dj)6M0陽pEMPu2HEu NkW(zBXLڢ݃a\t5ۛkVk6̜Z8'QI8懬*!#sp|][آD-c!T9|_3eŋʄQ(B%E@K-N&=0g蒼{z {[g`bQ,܍Qf4t9 䯶tSΟոxAI [=G~ɦO>[a%}r۞O߾_0=\lt,mH1 ?NȂ֏Zǧ ݔi<߄d0ߖfx0w{z`}; _R)l, e%wqוc7-Db:=$D#Iʽ8K`qLQæ Ajp?X'kmeLua-.wgcy$x5mʊ|ȞJؑ{{_KڟaNh_LK0+C[9-~D^>P64,5ӳ.+ y)u\ؑ:n>cX)\t >NJh]L.W9\YT7$isvD@;U<O?k5 +2 gu(: UՁ?b\T!r.x 3c36.ir5Ră(eq'DPw=~iC ⼲E jYsOwX, !F1cޘo|B+jBct?7\!/(h6C; P ȭ޵>ca;x#>uʈ]IUĕ2NÃ#O^꧂6w/n7.E;u##*Tu_b^t~d- W[.!wFW/Ovц m|*CbD)S 97Euw٣ O6HML&8i?`t|i;iŝ**|(1])l(SN rд4XK3R$_00j4s5?i@؆Ǐf@aEݽDYĩ^J'*V8_5dR&-pJNЅs;MEeOŪi])*t"@Ar*t{2_ʊ%pEKH-2d zk^݅]]Qjkj˗d4xNoN%Pat{ _Ԣ_Khy ޙڣi) PL%1-_o(1AEBpO6uk;TAkVоnQ Sw4<@?:&ܢK+rF##|[WEInDc^Gn)>#\jqX?{햴s)履),J`u55Z19n8)s {}D(_IQ_Zpe?RU"q7O,_MWȈpCBZLNJ0'=cmřX#|48"ȗɈ0:WlwSbv$k . z|Xᘖ n|44rwMs6.|$pMʕZ`1RV=&L $~Rd7pFZs$Ԗuz—E aOڧ*zfN*V˶_?p&y*(ff Z[XdMPZktD~dig,fҝPzf[GIHǺ"UVkV`@u*c'K擭fz8Ax74&Di CH(iv!0`q$1޸8ڡAp_̎f6mܘ^١G1/?;8kjBJz*j-'KjʆD=&k6n[aHɹ6rǗ7=*pk3{{~mh]"/*+[& '1#Kz7"8JѝT?:^"[BF@y6B!q;PPzϥVfj+4 4+ h!waB~`Ym'kMMq; ZД}y)z|t555ii# uyS/v]hþbi'褯¡EI" ё1<qR'VWgiƂ8F#3b;뛮#I2LkҽB""tYʌQ>O%͘?TTKωz/4,vGu( EbG=_=O{$0՜Й(V Tu^QяL:q7ǑHX9d_޶z!"}n!iؖ."6ր4VmLJE'*ZYtʨвY;F;i YV$Q*HBm]z%.ܛMiI3 R$ "7<5< ;LL#Ƭ̪XxuŔ3o=\?f[ t>xEu(lƗ˜E,u.sHjEs [ݐ|nU$L/S S:%rkG:/N]ON^d}"Ju杈tR}F.Щ$;(@ϩ~P?nŨf}nFP ik)i^T6ɝe#7Є)4Z?`z{z3xC>֑?+'iJ$H`}#IK 20#,Fޱ  l@7ҰxG˷0L|RZ%"3b 3;:Je \$v ?a㿔QIcơ߶|W#ܤvqB֯gJծXn}+ҭjO|c.aMWrm^|-ɿ~nC۬o XL:KZ&+?tjmWzrȒRwWnkh2VzDYM3ƍz QӇy4O: [vT$37R'xQ4?{5܈&vrWSO(Ψ,rLGk 'QCPq[Y3ni{NT Z#:.@AP%zkA8Š-*i XJ$Ezuhê{,nzbV ^][,fmlXQ$YK*C  BMÍh߳'7$zԤxH=`IWnLN ;E}zbPQ,z%90^ZQwVN0yUi&6QN^c r2`8ëDCd;X(. ;hK$8ꮷ$ "ʙNwŮ{k,tdrADG_ >ܵ58ktZqgeI)ޯKy u 0A<%&{2.XwJ4{=:Bo"`Jrۯ7%@#7;9qgotB N5[[SɶÞH(sN*3d= t7Jݣ,tN- :=ʃF^-LXTte#ŲSZWvֿ#q$EN%!e9uY29 fmc`- }Ayyv D5dB~ %8(\m3jޣ1=;@W !&Uq]+Ex9;\>`cqDLJ4¤y2qi3S~LrXꂢeV/"g|B"G'xnzጇD|a|Ea?ec*J! s?Q[Ci掍;չ'! &@lU!'Ϻ[,b|`t5gB= 7QBHjG b8ka6KpSelevp=xG_<P[ =,84C~/KGGc v/]z,$D^Һ2b{(C,֤`hҬCGZY7TnmS fMp)oFÜwegsB˯?FlRtgG9JH`*8q(jh= q` n_Mb hW!+VBIݖşӃ9}ZvE xǥ%3 S3"pe2tLl)Uսh < dL:8$jf6oQ~%DjlGp;0j2E rDX-Ux\?,wJ3-E?`sid̾){ߥa _B,VZgpWk{w^nۛ#͗RhߙE en2zri~8g(.cn \.BkA\K:9<O&/FU>C=U HLc:nҪq ]aLY Tɯ2> t.EN~A ٙ sۀ_^!.p>VIOeR;-4X_ 7nэǦZ7:嬯UkS|:&Ɛ:_i~WU@w\gFcϺ?Ov^85G# ue,+>M4c6j?&᳿cuq=efv{א@&-T"J^ JsO{8Ҧ!B1Xm!1VmjےQ~D_"gD[^/q21^),?Rc݄(e nZbb񁖙I/]cypqOWv*2]ѪWNyۂC]1ˠ=૎~tKO 3mX 3_῭[f4HC0@8h}}o^p3DSg^-7mC|9jng^xR.3x?~]!]YK>ޭñ{5wOp](YoIfGGEKxp\v!BC,1.L3D_}+-.tz:tBK_=z>oѿe(u3IC 2АREɔ<| $N34reSW 2%a5|~M{us`7,x*X9Dq+yj}=MIk۾lbՂLEN~)ߪ?+s2FR{S^J8L֜B<|Wk,D@j01%Q{tlׁ)7.J}S,_aCUN Upq[ a{׬E%#?_#:b_k sdfQ!N\@2=;LǣY[%tG;0'}Ov`Dr*s[ޔE^vɋ;U 0 Ś% Uu71QǙ4 CA=y {qb"-N߻|2QBBe%xӕڰte큯-+h|I^\ߥ^Z{4p>mΥ1DGPbmƕy‰9[h}V?/I7ūV d˘|k *=|ieJтC XvL )Wz9;w3@ߓˠ])POYNMfϷ~JQi>eI^Ž%^DHb+ v*  JRld%t e0$-HM4`FAϊ{L38O v:z/DS]hD3Uw!đ`79gfJy2[yp߭X$hv6'3Q YwV5#;WSJҫxԙS*fr%I"y:</KMFLt O? Da@h@'E] Ҳ;H~XJ= GN,TSX("AܻHB?soئzQG,pǦ=\܉K)9\(c%vmUXK]ĢL)w)ssO*Ըm>zAlݣC Ks.Q U`QuY #nZ~g$J c :) VliowNZZXo7*BGzzYGǐ@M{h99G7uLV@,ʊE@@c pIW9Э@#w*?Ev\2~J|F w=LT &nLf:wrKC[A()J~y$TiDE7N| ݋ekWyImD:N5W $׫@4lU0S1 IrD`?bHA)W_%}]CF,-˵ fI&.yÿMokCp$X)0}ҡaK@VMFGnc+_KYUrh U~4tpr荡M[Uz"/k&ϋ}!Ӳw\o7obi̔#RsCڟhycH&x-Eؐ>1te<} l[O 45Hhc []v:@9*cX/SoYU: z)0ȧPު9"|ӫ2>`8Hv.XYxjׅ&Th5hZO=.S8+ "1rT/οS)8@H<Ȩ8 _h3Q0RM$fdNT!{cD缯 ^w3,#۠.6x%_Gj"ײIFSy\t wp:I $j3+71/ЌFNNTh뇿M&~ٻ,Z$ mv?d4F|) Mb\gs06rH to*<yU_GjJ&YK)H0ys͵Ez͠ 2m֊wO +̺bw,hM֋L?CvU ]EpB(1聠36!¦thv|#̏ I.6 są#%%,vƚ΅O$=`K$NP[O{cù ao2mU/2DpT m8s({y?6J)p'"uwHݨĔREgth,DK݅ p ў @}뮑jX &@V xhFmhĢ.l~O.~Z=x)a ᶪX=1MGK;^N&|kQ;΅@SvW0rER{cŦ'c0!ͪl̩NT|eo=Cp)R`7$6qRϫE({h{v<*m^7*'|\Aя^mXRN,D`Ϸ(Mt6<F_i{3!4RZŀhGT$@d{..:CϕN*-Zs2ޢm|"1ChŕxНLͭ7` u.\&16f ֿ>[AMCY_ l&,>ÈkG&fI{;Uei~Rw*gRt9v.fu1DHsN CoA*Jo K:ZY40笜2OEu]Sy;@7Ej!6@-['7SXz<Il`MgeYdunycO+T ]K|0%C(O3Kc}d6bGS\r ¸o^2;{Վ޼q1kd;5J:]v+뜛zCIk9;fH9o8Sմ9Jzd83a 杧wZ#23ݟR74][7/Ǻd|¬'e5&+`Y+#VƐ܉/ Xlj`|@ʕAߧF@q($߭L+D:1LEȳjHQZoyg+Dtgrb4YdI:_N}iy2{=[&-/RGnAhVxSY E&oQvfc#Gjd÷X2_T[YtH?J~`8uH}\%_•/Ќrpͮ!5b[妯hm_*]z UX;q& UP`+`w0:q,_`Mǚ%f*sNkKՔ9ICUҠ3QNiU!-Xn?{S mWMߙn(*`Շ)vAڃKd:i5|/g'*4. eծ=,Ь ,~nA{7)Tm4-:̪SHL$TAj&㖊j[(Y0&0|s#*EWՀ,G@ѣPfz}DB+D煔o u}i[HUv&^[zz] qE&E=ڰy"%/vI@tk7oՁGY!Lehݭ>nY}U3m|kE^C>;_n"RPW[*}dCgjbhO%&)YNq=HT>" ۋ`>Sb[>|eyuԗ2utU9gcM! /4\GLT(EyysOax/M.J#Nu" 婍lŵZ''& nM@gv+캈nXcsJc&‚ԖwH)>Jsy,#x+tD9O( +2ٔ?,b"@炠~߀O4sHP7;|=2E)SSfPv7Èf SS(*1jSR5'dI.7%/ng=t, ڔ3V5|tSͺaCTo^?d Ҕ+C<ގ,\cHӹ=u&CGp$ЈI$j|rA1_i&q }S;.6C;] #/2t<;e[F`B9dҨu2{3\2%Pp##}Io}ϒfxjшlbL)o8GDZQe⋏l 1_!HnqH@'"Y?cb:\tMҭE>n R& !X7ҍ8$䥺)hO lǬ$#+$Џ7:ɉ2ˋ.d ~:}m:9ǰ(:E͘Rn{Ĩ'dn,G=ոT7g btBM,C~)x I.<{Q;EZN PiM_%ѤجnUÆ{[jkMS./GSK/AO n$H҉.C4QNawSOQl`)ڿq&.zo=u1f9SjB B \r6\-Ma yRA#ⷎ/TYQX4fƖw[sq= 8Li-z7iC!0qtHSACQ~y:#h dco \'%[~X*B]cW p`scX" btI?Fd$KZ c;GTG<(*-aF ë/hh#[٠#d|۲_)99ُh>[I|1ٹc^DC+D$yыz8PYk8 4]`/b6YJi{x@e*۫4|]|9 wȪa3F< >1d E'|P@0W|os2=Q<@HXU&yP'_T97Yu")d&Z8zʥhڦ@&}2=$. I;Һ3gH{g6EeRD|4=N&KNNk% ]ğ{/fZnzo.ߝ;Tٚ0Kt\KhQ;ݩq!;މ4%AheMaώ/hy3m2TÖ~6^?;j32 Hbe3fӼGv5Q~ӟn3> W@1Re n@e'Z74>S$Xe;Z7jϾ׬)_J3 WٖP?l!_PǛh߬Z$\. \Iǁ Q5]?-7>meyeSqK{n\YXtD(d?_kB Qu)Ud( _gɛCɾ/ޑogƆ/1kɃIlO 0g提o8`C Gyd]rDrwJ\ Oc0쌚3IWaLw|28N85)j JKyYU_n}3!B'X$ݬΦC ]򙥪N_4I8,2 J,-#nJ>Stnj&lbZ:ț wvHc2IA bC+=oFh9u`e"Q9ҶD@+NP` YyC3GLZ5/ʶj!q 3Ae F4zD.swVO֏3hBGq& t@!ۑ@Bn1P,xE/aTċ xR]@Zm1jzu<\JӔ+!k>%)0=2z߉5DNktfb|؎Vpd2y3h_$.a7%7C&uf2 f;{y# _JjPGg6}e6D102%mF5~p3I2G^(q#}-o0޹\WrYc*!T;c5փ/`9IT"fQY_rd )~7t`K6z9$3ſ#cH GsL$822fNsQ- _-CYLS'ٛiF䜐y eK.s $#I&g3\=ܴʣ++%uSۦɒ2P#3j-9FOZbrOo|57Rrnj7+|o\ffoH ng |K кqT:53{6޷:,H!$Җ4rω 0ȝ_o15Pls8^FzlZf$l/*n)Q+{ *%ƪ:Y\[[Zi-+O+ŁwA`ց'PݡU ZpYhwI+vxrt8-.wA '3nYM~4_l3a5ۥƴJZI'%Xg#ޒsF'3֙<%gb^13f_~Kj)4>r~/ުJYЇl {>Msh N2sį. gy07٪MlW۽}9tuFdŒ#1?`gdؔHqh mBq%1Y _ ta̴yA*Fj^yJj2J~>iSeܚ?mWy1vS)`o~^:!> U-Œ|))q4 Dҝך|NYPlg-ql1{)zZEz!_.F`$ ajNJ-5oҮ*P]xnNTư#.NZj2}|jY7q鏞辺/$5o+SCa16F weY (Wz!QO:10w 7B|=y2I(WrQwAŵA< JcQTTy_)&f \#eiEyߕԯp]`J%>Yhv$-+_řDlfW`&Lhh#!;D2N;vЂ9j8ĿFFcQ1[89"'韎ц+j"nCde m>nAK!CiH, ,w\ć >(/A@Ph6_ar}6JM ZH%g [LhZsa+0uwpSO0ԀȂ&H2n_.Q ݜN*4nqSuX#<8fSg♷t7G -`G/jfҙ^gzoNJPpY]=A[ԌQɏh:2Mg#0sQZ_?4S:9!h,o&@=Hm>[v2ʟV%-8렮5b6a1 IT$ZtT_-N X:]Xkaҕg.hH/V`rm`)Ftv[; ML?`XѼѩIKԦ JD>5m0Xi(.RЂ[<\ݟ#Vܴ9A6kDuKwƼc bEc>ŠuKi:@@O1k ֕Q%ޗs}%uJ}ySsk!Mk%(tCz6k3!b`@L|K :IYCC~cgUw'mئP"?wV.y\!b35m1zvJl=Cwȏ<=2g@p0^.Lcq"9^I!yvog.Wv߾H5 A#FPұV ]pIuOv3q eݐ͏6fL*;1 wW/Gx/8H |h[EkH=[R4S8o$nBwLSG>c$+;@^Δ')ԽֽHh.by-r\6o,U TU5#FnNA1xaBt:Fm1mh~zq?I.X9Ʈ .H8%ؠZy|G1=Քvˊ\ r:sK3bB$GDD]Кk9$'eXOGԖ-0?ξ*裚wX l;a-\2w-1ȏǮXtEA2Mw<6Ђ? q:CXbT04'Ƒx3U—穃:IWmM<#8weTY<6lWko xy;O0{9X} "n"5!vx# j&;ذX"H(euZ !mnj04DQ-@f>4PVlF21Eeid ARl:CGGjsȁ+D}(u˔ݸ>w"&.${!F"~4*pM,rx}[VTyV+&i.$[!D8G!8X604[~,V:) 8Am* B!rT־b!E':SՆ!xm&=fAt~SL:0i(Z`rZ9u%̤-" 3$Z@[3x|"N4p,MqK ?H`+1Lr-lsWm]̈:p4/9AR?R0!_M 0-ʕ Cr/@:o '"@ZG\ 1 { υK/ߙ/mI#T≛$60&;E/,Vp͛3R r`tャ)[ 8ܗ|%esaejdDwoI.ZL Ye{noDP p1QYn,Jfԝ3}:':Msu=:u>#\3ѓb Zhtƣs~A_B_J2Rkp m~@チE;L5hLzUytzڃG. ͬޛv*1 m߱$M11*E~ֳd l)3DoU(0~tcJ@<9}DH*̼Gq$H#~SD"=āxȾ|s\ ^™Sv7:ki+X`M]Iɂ@P_4ZpNjXj|z{reTuMr04u$}*qռ/WGJOH8 OOr(QzY-sz|G;opblE7}p[%},KvP1S*+G3y5CĨ`Wˇ|+/;[usb/Sõ78g tW[mAWwH,w%Dg2W}l+cXF 0fTVlbʔNa/mU'~|HȢO$'HhɋT&~It/F/`ZI݄ٷOxQKQ:I"K.}+@CL0go2kwP~ _Ivc#,pe*n6M1ZQ Q֮UkpvZ Ml6M$^h]4PsP +hCU)j~yՐ-4c*xj[Y2|d-Pu*hV#dYVB B jLPu/*[<ʊ-{h7B+\B!gAл9ƟcV1vdoTXZ}L{X~0BY-Zn@иt8` EX+tրoDl1:~/f[#F9L-pB1HOuT/Ú3!QhҧSCŵ(169]uEdl\@2qR09߬ wk*AԆ (yԊ~chAwg᳹^LkMje@wdE:Ȍ͸[r.h!V' 3J`Y}(Xf#]- )fgZc=NS7b.cn k֞̈́O̫K'K o7!}Mkn栉e{NТ,S ey g_ S8BuuPCpE1sE2 I*ׯg: {`,dy,+ mktL k Xz2D ,+ޜW,t r,O#b#{d_COH\ܱȐlu20F v[ %ϥAՄ>8 F+KעZOCk I/ mzOC.)c%~"3!3N=9kG"ߡ5bltvyq/=@%id>3P}sfnt:LFa"<"Ni8Ӥ.:i Rgl'qVKajOu?N&t/,;2, SD$Ol?(*_,,a1}_qNU:VM9JPTe"RО8үKʒ ZwfɤY K*!ѣB@3'v&bJx܀B~? ]mi2lM:kQ`2P r9\⻖,sO284wۅ$ٔbVMjнC}R3`%Kūb\lYWNF3my!Vnv?d^JeC ւ W硩>1ؗC(d]?6 :3 " :v?ai;նbj[Lc/OT4O 9c/vKiz(9yeU@ nO <ϲqSWZ$fv';ʬac;xBJueMIWdJ%S4 z?$ac|ya׆EWM%zxŀj!˻==!#ѢO\%A\1M3)̡#ɐY P?&{k Q(߼ ,3JwYfPk<T&QǴfB}R@$.`Aom:3w1ֆGG #jT⫦'2Oj)@۫E? wɶ}87|C:Ev/t`w=^DbgTnjHYS*3/Hw]Rna j.cA^j(jI_ rM_CzCx,;6>/>^lHRZXGw)֗)n)z}Q>#&7!=|m?ȅ!m\@ONALG@5ԠNp2uޖLQ4?Lgkp.H o7olЃ'%;l@v(+GwSM@Xfc(5Ym=9Q/=% &m=zx]'/,LR'&P)cnXn!$8aYQ[vq 6 c i hCU7pۤh+(<Մ=傅hzKTUL=7^)pkI @ԑ&]Pm-a4Cy57LY:^*)No8|?6`=EWo|dJNkOnd8K) US݂40^-8bkMe1D)gV[v5 nkӂn ݟY+gӇ9a=PΟyʛβ yUNxw15*%^eoʒ@&I!k{?K*>eϨZ[gFuʦ?ьk1pٽ N*i@hϓ.pD:S.k~+C-2< tNy+&v^ }vDJ b$PXKo\6NݾDg%Z3GBl3͆qZSc~dՋy4h RL) ]c"YcZpތpv< d'(cDT&}!D5~_\ۍ7l*e#BQnR Cmcc݈ʊ~}z$>bzë>GW `]"dy;q%^zVX%t!cIaBՇ nfqٝ=6Ca֩b+S n;OVd&9'CY%xđjH1N  n~ķNn]mn]Wg>3-/HK!f4tM}NjC!moBSL1]Ly:fp9&\z3 ܟ l$ hߗPmob6}* 阀-C[$;&RtKn/ fSTO/jYٝExvo}1}%t/θAx ܟyHV=)6㤽F0,f- vosk8Jt^l+AƎLaːZj6tԶӘDIef zVsw]v$V9< `p8>iYyVxtgd{LȰ8_ނ2aT u?a 󻏠`ܝWE1~J)<)o%X}#Ul5E=7[lbsE'?V/*ȞgޕSye/2!?#"L]u{q,Y?hwDzV52NHyGWCrʑrQTˎNT02r ]KtGs g~d(r+Ziˣi.;G%> J{H:v7)9<Z!Q˫rh-+VxGK SKx.7%IJ2 QG*}ؽG ~TwO8LUJRIjПl[x } s~VT%u,8{Kr7yn(wDZ.)`cVդ*(%C'a/mg@ڎvۅ!>X/8o)~r*Q?YbZ^m (%셟m H8t%NDmOT庘eN@MM@4e'RƉecGp Eb5Z=Y002 }4VlA:2dWή WPPԀt/wttBd}^%msĽxqI !ġ&oLn f_ks ccİ;39z\& L62+?gA##M?O`A*0 lG+ ޗ >E[2Ln;KA.P =w*<y[d4{!\F+] ;ݖMV,ҙꋕ_pΘj:3bpԍ-0W6w̘g1;[x&v$C Jۗq wiX}2ʤ?5cP.(m/a6!5>?p|k\~8xlSZl; K! %W+&ZdTU֢"nUP Kf8C3)]EǼH%On ԎF.4w2"Feѷ<'wb\y iиò=XKHRy\ϵ k JHιa/" a"'"j\b݅2shә E  oYY̼)݋q:{[ÕQg? 7E;j8}2K }yr,umbe>F;aQ  Ad%s%e:s3I4;8,:Plo+uZeVyò8nJYY?:>YE~ ӜRUTlK󈇑^.D eΠƽ6 WLdhp7VWP*]vޞ4σ&5;븎Bc蹥HjaB zr\_ck[p$*); 15H to+&>U3dܻLQVfC$05f! \ElkBvPU-%q+ڳ63 ƭdpviGa*Kp0CG gw'.6NwXZ;jv%"Swk~:G" #Lb~qwҀE]+@[]݆^x0:![h$| W "w i*G=Mmss "tͰI]af,Nmv'UvE[41*r׆lv5PwJ2*|G)Ŋ踍#ܬ$32}.i/:ӈ+LQKXHp5w -fM]GY^`g`GV|%G#(O ^r wOU rHУYJ.`PMDvUfv<1 2c pJ: 4!JvQ*RU "Vӌ2TЂ~u+{9o׋'oP#ԱEr!H-w` ǨVZpXA4bQBNZp h1#_>~HkU%ԋ$>k[W2[7_ 6IUu|y8O^N7SSH{B?II&)Òz85YT^Y2+2) a;u9E;r]b_Q.A]gIԧ3 -10&3#l?h#E*6Y7Oak%wu3&GdQ,;JEƕaӨARXܒw`e'}@o.oԔW"KID:Q>nx2b[əاi|8S2|wRx-Yt'-o,ttSؒyγ=lq%@ljL<DE Vmq^D?טq!)˞ VOQe|;eLUydKvʑe6 ^ nBa)/ZrC#aUPCŬysyJu4חla%L0۾̽zfi0O5nF^aL)TiTQҵ>l9E!=#Аt@/N;)5+݆]]h=e B"|-ո!Gm -J@-Yd0nL=6&[wkO~ZYʝTvC΁+NΒk9ͬI{mfJ h^=ffG׻b#ċ9c?9;@"ZUaV+ }0]M-g٘LLUƢQnЇxd̛VZ +h)- @=r^Fϱ.v EM{,@oVM6} kp3啖͊W A#3^(v0jmŴV):?zٳz뗉!YpNX?lU-+m7;gON:DFs"% jL厥}67K5UV)>Ήt@O~ ߚQ{ݚRen5sZ뛝AZ5+ @Z>1N{mᛎ`f1-_qA9`2,(ɉTP֎/LQ7Qrwx!H! PݜiOB_p+j~nY$R;:,[%6wpM :zqeZE=n3&a+l_P(6uHtHEt;fR誛 ]i1ؽNa$aת'vǸKU A` 2nyBc㰾";օX3DǫK(_^,6r"/30<i Puw1ߣI{]sqy6RD/] qJ "5Z\,>Oщ)]՘'u^r3Dk{t6!/%IEyTWȚUȶTC#ox3a HԽb̀ 0=qYA6m_d0 ʘ7l]~V5kҼW$MmPWUS|op6:{)H >0Ih1 T+BeHiM l@Vw &X e rMutfSun 1=,ʰ9@k%`_['/+z$iU t0l(cOnfd񖭵4 5u"<hB rdgʼnM~p+9'RyH[F>ÿ9Ku{HXI EU-";6"a|u/X55:Y)R?kI7driJ"I"* yޡ1X=#dՃK| |LsQVKCp5 ]ٓ{?psdԜ^˴es߱QN;Uvl5[@Y 'TR;^*v<;6;9|1P do7Pg;ַ_{gh/H :5XO9n*^WvL;Yz툼g3Df s)\g7oϴ Tq2Q\؊݀1SM˓Zw{8I-411+U:sY5wEխɠ)"vOɱ>\;Kܛ ۲,z1Ӷ o;Ff@#O7n`#_C\3ߦ2U̴` `%qvlآLd/l g ߇$r} ~t|-X4MJ}x=|JpCf+*=/2 |PJ^kO3wQ,6 Te 4ߏ wLo:-VT&jc~G*p,R-dT/3'8IPQO=Fq.鶊r M}A>^aHKű;GUU|oGOW}dOnCGsG9^V]ԩj}ns'R3Xp2 +sPJ!UVAkTrx<tY+d&;@e[UsG8cw18eN0W!;LV*Gj"GRSK9H*aA,E#k Xsv}Fv-XMMx- xE P\ih\C_9=Yq bZ^w:i ]'Gmi,ڕqE%?۷J,3@(MVe**qvE+c$3sxT|֩.nBFi˨Y[MݔU#_:j s}z/ߓC}}: E^^;H_o!e>GF8hmlI`+(c/T$aPamg'KÝo.H uBA|\&c*Nɬ4s(߬#(>'{_-fngqՒ) hm3:Tp/Rrv͠w3 La 2{b1>jDT+&'^f5@|E}i"e+#qo.=nRTX [pcA.RgDԚݬ2I&qNK BYDa+Zr j%që(s}ҰTԉp*k+~XClɘכ3=SuQTvvGS@@&SC-F)ICgeoDz@Pcy #<WQ*QqT_#;E`ir7Eݩe~&1e$VgDjskIVs{ P:3+=S v{Άx^b4QxY"$f\'`Y6'<"7մT.jS 1ڰ/vn4.@r'6gu3UdB~~x43غ/MŶts>_f]͠4ozOж˵@_KgeG0F4VCj<RQ755¸ y:-O/W*<^AU ꫩ4UˤR%]S9s:V-*d_q?K@d8ң** *fU5qW[㩁qLw$ Y7 X?wd('紓rQ-BRf*֜DP9.*)jsj!,!tKX[D>eaڼ+]pWHˬx,vb|eʱ߮_g O#Dtysm嬠|,XnV-bzPųOj^2wMi=`b!̩HƋgi߸F~Fged95ygn d2&%Q@k+&hw(Uඦhf2!.cZfspX1f Z%(] %ijOuo z A;r, ܪ$&Z6>L}Px5P%ˡ{^#Tq@ ܙ˜)9~}?:ߎVKIU!bgtYC֪IP"Z3J- y hbz'ŏq1޽'rl\c+y41T'bk$L点u3м͔B8!hώG:6 ;T0vʛK_IL(Mplh g51!.8llr`KnB* ulWXN%i",}:KfYSVx$dS!c'J`َpzܪCgn h-q5Ђ0qš:5:''Yec>c G?`d?zZdQ^&tWp=8 m,V:o_n6CY'sYWK -.r*?hJdA-02ګNHA`.Xe/gX =-kFV wvd4UvV@i@b3W8 62˵}Lmق#SMX3mD[[ $#~)+ bJcee{Aa rD\#KdGkG}e~;CWըkt9[l'EXe-pX"s!$$zUMпtGG/7?0OEnzLxD[`ɱvM# mȅ:љ&a G"H~B>5M4J^[5I]w*ǻb?x%Dl0=I8z=u#2&A\aF\GGü`1[%rLvE+g_Ԣ[fXmOr*fZ, X;ڨ[Q>7K6kB|O!nCt$"+.MLWD 6C6w5̶d^ۊzZ4~_k/no1 Wo)VlZ(o5I'jo{ ).2o;{j 9j_-:|gSJ ,"3 m?cVih`[&WtBFj!e4XSd10}]rpĻzR`YZq4EO/ <F/PV !Lґ;Tr.ѬM!˽?k8rjA&Y!f~r>\ZT]p^ >VgqgVqt4#rP.x36QQmB䥕 "_qauNX~Qyj?A " A- šzQ)MOv!2)1 Z #HrEhM4Z}R`22Ŷi۝ j¼Qo?s͢@xv.g$5j89''kuc{佑}G[gITbx5ۅa" ,tAǮo35tJw:m Ds -2|才}ߦ B=ĕ#l+2MٗNKc-~PA_ } t~y':okrfZwoSoBͅq '-qhN;~]9.e52Y0 m50CMљ>^xOpbLQq}Phi!ER{]u|~-"śi5!y ڙeF7RޅT$Dzm684Б6ovW/nI&}2S78M5RQ2[ƍUKK[їD~1mFCRp, w/u1g ܱѕfG/@9x~h'Oin@&j~`i6񉥄Eԍ^z~[GMpL ^:]1k" Z ) DY~=KE|?)<<!n(kփ;"i0A (TmV56i!/GS5mtSh10 %idҠ8,c]e%L8)'K ),6ƻ6 j^݆ x1.&Ovdi$RbPzujOzQ΃/C}kyqċٓ-xU!DO6.K MTjU nz ohc':+5ԲV:;-X:ӭ1ApHh?%cF`o"H| +ًIBD'F5A؃gW:0εր|u&DO-o"3h,S,ǀD݆MaC{uN//l~쒄~%W2Emg(uѷO&1]aG) ?_G=)C{gNc]uw~MMijhS]+gA"ЎNBC_sH*rҖz1 EFtGY(f8wcm]5C#(o+D?3^)V1},VI҉ YgW|1hbo`s*!q]&#ӌCGakkW)*tud_-lͫSea1@p5cNnHAU'}s:g=>vk˿;"!)S}"vEgKf9B%o=BVX.ҿأeX8X/*:Ad;*BCӿ\:?(ܛ31{>A#$^z^#osl'[c%~{]+ [F-z4xNY5\D1‡|I2;3Tnuyzf֠R˫TOؐ:g 4%{DvJ~V MxTLpt`[|hE a2ryY];<If_dXwy܎[ȡb[72LNMnya&GцL߈fZ}őDI3ٟU$Sd*@B>!l0yUeK]R컼|qnޘ ɾ[%=ALMGm2?/r_|)@v 0~:& r~HVpRj$v"/tU DRSӡ z&tukҗ ('fߍKoFGK٠.fUL+M-v8\;-jL1kؠT TVb4N\HFw>osq3#m>7u(pYu-Ŕ<e#}nOB&:9yW@w 6<"ܥI@Q}rzia?&ЛeIpC҃gfocln <lO V 5]GSNS#GƘ{R}_q~\RHCuLW_<ɵVu'-5#0Gj>$8l`_%J`[n\/m^=K^nI rNn}MGՉfފ6S%`.3yC}ﺿP^p9jٟaI5B]%D4x}Vjx0\Btgn~ J-dLr~=f%8ؘXx|`.Gyx=(dPZq!sö=l_F ew:㱶.A7;O(K@Oڤ=MLr{6XaDC"Unk&v=dž\^ ns]OM![e ^pi sM^ nTFD93nL %g^ hgñ[Nƪ)^H:^y.U-r}alN۲u>K,ـp\7tNog>%VcOAG_,+jQ\4auGyL!moviP'qB·~3 '쩸jyO-b^L[bs&k`wǟt١3Ii490k~Ң@WQgE`eTegQTvIiTWӌ|XNz:c@cSg^<>b[ZOdFz(~TA8ۚu3NOy@.\ǵ'_;h|8 mϣqXgi7GN5\&43b*:=7(9F[ˢТwcxPf[ 1ASRCVcbb /@R;,V7"Z:C*#KBG l\iR>^9niwՎ|O({9P-o\U.3&Kz@Πct>}( 8 >0W8u_czmngv dZYl"NK/ķZoQeBUB`re?8ȌqVQƆջM)'{{1Ͻ^.uҳ,>;\g0(E55nJڑ7 Zf3㋠ZZCX5id!G(yܻeQ[2N j`jbC+JDC ,dup%,b&Yi8n5&>w;A/ g ښ^o|@zSXuzTq$"Z뭉dg]&3C%hYњW"Ծm)6|yQ\%wy4^r9As<º-,(Wjr hKD7b= R.bC Uvpʉ/( TR]3Gz+q}M7QD>{MoNX|Z[m5=&!aY}A2Lv7,u E( C7iLtPEHʖ*C hf8Uamp1ORg@r|M=g4DTW{:!7zļbhM(@iK!nx?PKv=܋1-h 1rUeO_-k*3Vѻ./nϢQ|E *B]p~) !N?Csz ^rv/pRaX>g SM6z X7B-g?nn\^>S6B@,}ح3O27Ͻe~EgU}u ; :KHL Đ\CR;ign#8CW jI@}qv!a ˤ%AK+d<>YG 0uBtm_D'0Eb iP'rRH«qĈ0 O?VG#0vyhBW> q#5̎@촵75q $,m,@pl6LO]LEYKHq wp{yf opl+`4gqW)Cn9 _:08]Q wj=善4)+B!+sێn[*x^Ke󽰰= }J mܘ~@ HDBx y-ü"SUw/mlY,wTJ}la_hU7acwii5Ā}eMdw]Be/4U*ϻH_K0-sy|=M,' vFSiߎ^OX+zN[P 4Z& ?I0TGd]S%K–j9)lI!}}WK,i&P^T;&HOKQc, =p,(}"Sm\`Q=z<dk74*[f*K@NOnzdՌn\b*˴FYY9U=Z?/j_$)JRA*n \^IaK<Bm]يaM*\t7ex&>Dphe! ݜbuW17`:ļn?ܪ2ö6MĜB>f>jjQ;ؒ=G&5_aW@Ki?-t>eJu|fD6ս/7zKtx(8ٱ$';ѪW*();EĒOJG8"Spe^q 'z w ~L>oeUm XK]S&gY6ԧ؃9+~>b2Qsμ'W 툽 sdPn7e}KT|)5Ȭ~%y5P~G^z]M pR?F}֘W7Y\ݾoք>gKPM<k =E&DHc<ܷIB6Ή˫?BdT㣝fWssh,kxƨwEEl!0?`JF[ g2҆0cYѥ41!WC!6Cs&fwIs^Jhyy1SYUE&BS ğWAQBbV+)3kF9ؚjVw.eAozc|&QK( x?D;*A֓ zvEW[><8.Xɫ|_c#u; G fDN>L삘\ntיI037Lü5& hce2_0{NQ+}]em Kk,;oDRhjfrA TPgGIũ_H uCM2n{F\5:LX4A4`>J7mOPϽw>k]<q{b9svJFRO7F6٬ZLIYlvMGd5yJͪf`ġ@)0N/]@Tfs1xmQhV@/[D-ˍ5t }։C:bAR,f2ܶ!CX nBtO?4ZxiԕȥTEhN7CM/ৢé-۵Xi≆ˆ!> Oxy# UNWؚ=sO7'ҲDo "I:` $Ë-*yS} .|?Ǫ1Q5|ɸD8#q"jߨܼY_Brmj +c[V R*=ש/Tw {.Q 9y9:RbyH^r:BmgM~?HiƸOr|S|\3ژo lKay2h=x"0QjǂsJ|+'rb% Jg5>aS w\Pm(@CDGñRE%q$ ްh_wS(¤kh aގ-$L٘]4?_ $/ yHعtvYEO1k*[Gj59b~laK$N]LUC[DJg!k$ ^Tp`q51>g/RIʇk^p_BAI;s{L | , z-[ϤYnN} $ ?QrDajJ+`: 6$7,r|W3AwE>H-wɖVkϧE ~}N7Kx; R +f6ѿ|Ҹ %f2F @ ͕.1;ɴ\tD#"-6ê񪼛WGbH$-R~To?|X˭|rJ7v-D6Nid^5L*KFOKt(ewLD,XEa"(Ʋbk(ܿn1cqU| }6Bb0O2JZJE"IAuH2]dS& @8br(XY5>2 Y]I*3z&M|] o, *mv`D^]"q]MwZ(^t}"v| ^|dBV$g'/̋-aY,0?2K!M1ܧD(t<-3(zjpx_VDr*95)w;ćQ-:؊|N*M 3#8LUJz6uAn Їʾluhd?Ҹove+F6Kb%H]%ګv|(sm)b*5жf@X@kk٣֥:V;-W+B;fpuc_#Pzd&3^NAbYꀭ6]x\/Q_:1,OBU HKj50G!/rZx10W& _PPO0 qŸ-ܨr2lssɀA{+y"@dmO8-]Po' %k&ĺCig*oe^awɽ_FL֜*-l7ZiE`Z$z ?j(ʳOBaR0Be-Iqs}ðW"LweW3)yFl4ᕧ^|a;El-}@ug^4GgV.8 ԣ`Xia},Ev.63T`-R'UܫS>Zl𖲥}*ɰ}-ҕx*]_?%0fCIu~¨p:!&[_M6_.K07[0{G-:5RG@r[pܡUmBzBe Cgqyq5i?j$c˯) yk%WM:XPڿ_^~~:B8MLw[y7HHIJX6|ʹYH$dY;\Xٺ5蚒9|;uyAP^,t;IrdOr5CD m}V/6Q§4gHMw4Q:ڹ U3$Xf1,xvusCl YY!k?}9{"Xۂ}4vJi9I7BCދqX2lkauL@J}C"ᾥh}&C=2Վ B%rE\Xg9/vRYsEb#SyR=|+i?ڷC?e,_p-g^)v`FRt$N/c~V ',P _h|lgN v"2& VXJmmnKY&RcKfW>6 c蔐&*'HGWT8'e\DlF@HoE9[}ՙ]>Ԛ>OI`=V_m.y`jOܕsf{;YBa\2^n!Nەh)jR|.V} )ӄ߄O-??or0m#V "_S+ߴwacQNМon9h p Q#E=!7:EP'toШ xWg6)F}b[(5sHq:>KhGZ$_r b k~ ZCnӻl#a;払äP:$ g#lƓjH8"oqG-WlA"N[ޖZ pXSa M`qMx }T'o)%ġb֦l7xϞ9ڻrʌ~;8-n>36֐HX]>2~e˭SJA;سӪ+Mn{9zMety[5b'ym̡LX<1skY,jJ|hZ|ju)g)F"9 tmݧo p}yǜg&nm lӺKH9 PT3 mmH%QNr t:/c_evl\嬵Gw֐tMC=KEԜJrb^ u:j3uOZK u&-@/繧w1W }̈́΁K F!Rt,f|Գyyq6zu9Z[l䒇RN;N`s|@PA"P JM t9j1Q:b1T:i3BlQِۘظ$!GOǷiy$ޔ&~Kǭvx{9cIMץ'JƸjw0ԃ PocWtJzLI,PyT]ʀ{NpR1+$ώgv0ٝ5{IӿLl AG"c{Y(8kH@Aks F~\N8ÜC //hRv>qCFӔ/y7nm8oj< MfʘuR N9FR+P)Q]hĪЉ{d$nO3,2_uw '$੧~rٜOx=;pe<Ͷ[Wo3FHO`)9v'vYm5%Q6oVƤ|qOSҿg\>v" UeCDB"^L~5ʪ0ǁδqT5ym"!:e'}՗]K?we#}?cRBL AzgZUN䰎&yVːCX'0đa<*p~>O HM<] 5A2ll1:dl)vCAۃ0zk|/thiy6,GrT!0ﳧF> 9Al@~ˉ/Ai Qdf7ݒ<2:CJQd9A1fzĖ:3ӖzT {-@y)J~5I-Ob JIi0|r"&_Ǽvٟs&'`p'wC7x55?{)-mDzi>SytUtZGuT-&M6>ʫtv]DmeC1Gwo$Jp4 57&dkUm@Ueu*DyRkYc ZI F4wX6WWܩ;'z65QOVC~)čM!olf{0\ n.\_V~eF).>j)o7B6_M "4ii96(L[*#{ hA -?(q imOvBsu9`㨤"T*9*KP%vmLu[9xHG<&"i[?"l` JgL47lQ7& G0LtDx5J(t8ӥ,\, 4D t[d^ ) ^2G:q+xw8mಚuyC tT#+ Bfg m[gu`CQQ1Y沆 0l$KZ_f4‡b59 w?妒%Q%amXw?åmwr+J2TYuO/XͿK}Q;G2bYWh?/9v/0wUAߔkrԪ "!'J !?Er92#í}ÌNAk=e,4Y[ˡ,j]DG_5 D|ц[{kV0MhdrEwGFD]R ҍ7+ח=04JDl[\>A+*#B:L~Kp9|4d.'$\:yZ 6Z4] ѥKQфMeUjdv oXdOBdijh] [6}LA M:N>MjIFˆi1CpVNF pQ0~w 7gR|rҝ˫jӭlw3\fʾrfaEI:thz.(şQ2ZwȡBAm%:"ʻ;f xn(CW/IRSJ_NE.$ٗP#~gHc!b*D w{mga`i Rrc8̉2n,t '5$H%CۨA|O%~%_l;9P@:UV*y@{4pSVeC>(˗a5] )˓EXPD:;E0KƎ"4y<ѡ%@1,T$Q1 nrm[G>ə֨YnQUn}T_>J:b#,vF<-'*~YePvK0=-'ܸ@DEwOSκF92 {' XMOWyWW0_ݻh{e߉oȆ#e@ '=- 1AE+tT-&xU<-/)NFcBEuhmj@ti))ZsÎ,[ʐr#mFv7/EϣCL*U}}Nns'biߚjYsBu;b/x3%m4}I&Hdzqi@tsJCwV` 6KrU p.a'>=`qݲ#ȲMqFcBE6W]xH$aA7VhHZ IR hdbh9)TDmCQ|[7D=0̲dis8V\iS=#4T1+4z栜ÔW{7|UJPo$;[[uK;j0:[նy $Qá]me*OYʉAbl# u4cM`s3!4X!Hۣ*ֺh-xݡACp@q$ZlFz?e\{jԫKo(ȿ [{+GʪQ~S_ia)F.VT # #PPgw}V/H2{6 DzhA!1c~IpB؀w+p [pOtlyJws)0uLr@I:Tb; lD]GoVN%[I7i&/^/3M!7ةB[%&xi8ͅ<0(@6=yN{BrHVћ.)}>7 b֖P$:!'.ZBWe7m1E# 9!pI-g=93ER* ǽsrWBHmDp30V]R3V3aNAz5[~h?h$ ]]`H4צ)'R~WCٴ|5OVCtZh1ʧ4UsŀxThy[l rI6I;G=c8k/'s/l (d{zuTƒX3tzw#kPphC#2ҟ_'RRW$=lBzl?ALƻ$*\M)B\F)-\WÇڼݏ=;nqO1m'՚tHaj)ꖄ=i\;hkh[IaErEs& IS-fS$_4!oU=ڨ9O8<. Afq ZcnI&Vi;;'~\~ aJk15Y=Ry)%2]7͹<#Yų7F\1Gj|S}.~P134ᴕݨ\0ve.)>2x윩dnѥ1n%UJG Z^"3S2%n]6E%26خba{PoG\6O2E?|'*. $ h}4 y^@R#Cf'kk3܄y$v)gGn~z*A8v_D`^~UH?9ja%!P/?XXW0WCC_sSHaBvn7bF?f q8ՇNbOA> ?&{hqm݁h?b 2=G7Z@N25@>\ k VT6h,F0RlpP>d1$(43ka3 PFߣ;=Lڏri.6M`̉2#r^ɽaI,/1tG^2qEU|j7|?ӈ1w !'_.'$ܥ6gdYp '}ΫiVU4YeK:cVhҵ j:ͻ5 2ViC4mwreʕp͟kԈn's7*WK9v8}mxb"(:˷?](8dlfgY* OD&\p/S/燭; @fI\?t <**(\=A$=."24PU HcoU{`Պ~N5]?-kȿ`&{qB+. d;"xdoW mhrˋo(đ$@ "6:Ouu:iWWKFg>mBYI~e +5xa*a)1ECY+0<~"W%xfz0.(5=c_D?y^G8>lT=\9) ;/O^~a#vԾ>`rpƌ\qEbM>t뀠R'x"+C|w韐vaB͟N^fv9=hsycT4=0 ! 0u(v;&0z}ptg6_Y)T&hsa;wIӉ CЊmKgb[oT`)tT٧tj!%묇0?cE_ʸG~wP\b%b ^PywmM rj0|~k<)#dR0yW !jQ` 6ak/z Bh_Í.mTv"RZBP ?ҙl^Tgc'bKB9;VnvYX|R38ǴGn$nvJ1{I w3+e9iQ? b~d]EbڤXAȍzz0W5rHXj*RGW/Piל]O.NƝ JoxlOu٠Q̓,uG0IcGMVI 2k k\~/6ޖBt<\4 զpg!D# !lBcw>PJmyOku6"ӕ>b 0=̿{y,cM$~1wv )&KJ o3Å=</]hpCC?f(e'vĎzʰ.. =8JON/9aNW Am7 e5ongOxqHouTnnhՑCj {4²{ڎ<'H(.#3~֏< ; RfƁL@/ v`DžE B?о~WnNddaˆebx-k8&,փT`F `[g#7cJ-Ed؟}d]r2 G!Q'o׽JzވErp55gX6÷ڷJ>@=f{E8yd)8 礯8gtKBTβ2^RC vP{ 4^sHW2X͐mHR L͂wxɐ{w*]~û *Gא2cH1IɈE2`ϥIK(𮏰HPgW ٭ 4ŭōJ sf`J*ԍ1Gί nLϞNEиTJ=\qiӪķ-zB3 {I_KI:>/LA9$ÁczhLƲ{vgr< plʼ6|iC<)ɦ@ʁWZ 9ᦨf39\t4E8aZJ . rk-Y瑗(ӨXgxZs4Y)(NU}=V C%tsCpώ}1\8SPQs{&"K4_ WyGHe0 Pf5Znap̥ 0h {kX`Jt9_X뤁bIB=@Znֺ }mWU%'΋XSFgla dmGڄ1>?id252a&.F pbvMH19i!G%l-€CygXbw 6#6b `3e.,Zaa}vtx8Nugх2RdϪ\(AU3YN{0yмH -(ʡr/ s<ƭb#pӘRx|~ܧnoϴM!H:ȝ ]*mcW#ЇԱ*[9R]Ӧyg'Seʮ AV5 v Q?Ă;jŘ2Q}8 ߽˾bWε 1@ kވ1a&}5gdrR fٽ$&)IOUo6h]u(k LfAA\|_‘ach9 ZV("{̣aIGM0Q|ΕpCHGRR$3`fTa{WH>TU;YB8tbA8Kh =Om!j2]Ѥ VpY9cۅʇU;qHǃ7 Y u &`;xy7}z{UgWG^s'KэzP6r$7M˃χ5!&-`, <"0H2LUǎ1b~Cfw|!Ra.Q8<~JRnSW/} [Uzo 6=Tp#xm4PhML @}sNKU;n >yW >K +TRcr_+5&z (ԔXSł)I-lk (`4*ZcF_/f0/?y Za"V6HmyMEE6!c:*?tN `h:MsM so!àY3vY8vooOH| jH}<.AӼ#* @sdc=Nھ&``LG! 0S=,⪟E;uOd3~qr^gّ*{oB)?C>H]c߬ eu$B膱1Cݎ90b*=\wcQjbizGrj'H)h0F!BLi.r]\J/;%ǵTpPMx), `EpR5%CxCRkb3,ļESH.Y<&S房z*ZYxeJU|ʩӘ o_lLj @LAa|9a+Ckm-E+7EC/};3ybvnW;)`=\9+Ү/8[H %C|Nlbv( c"J #w $ ݟ:ے,e #զUQ_YƯӵ!ᅨu?/ ok|sVjrn{ +`U'۳\  !{)ջØLYu,&@*} n%I+XQ9#VlZoj^⠁{fvUz (^ȝx9dG?( 4Ϛ nRBGaYY4Z_p,:l>uCwUH4HTM*`(m '\X@r 2dnrϰ؏ÏwqmX8.Z)T|3: 9-p.+܄Q WNL.! : kZ=ς%Pu<@TyrT">J Fu+ TnƬ-T!~ !,kܙt+yٸH0, 3bIrߕǎ40i_&emHڙ5`8F-S.xW^Z`GpŧHS،Q,p&:Kϊ@ Ww̽qwB5 V`޹4Hog{^+@|5k˷Qg^C#ϤE覜ч]OTcطE4}؍, +a_@,wr)tg셲H>ݰ/K=ECnnYmI$W)ܾvd%y[nJl,}=D$TךO+*I1= iJ5?Z%n"dJ^5ERHyG#‹V!ڑ bIO ylaΡ< 1*}Wo#;  7,W5ho r 0Jt b^7xC"Q._vJU@pI[m^Tv$%c,Py^!xq`]"AwR?SGY'A2(x;H;cYR&+?v,A0*`c~jşt X(7r^~Jk _3OH|mG%D:塪,=k;"MȒp)_Ɏ|!.2*aK@pݽ ZJS%: BC=8Bkh!! ϿO88PnTZ[\ȿ^Qv!rvU=U8WΖ雘y6hrܛ@Q%HXJDVTCOZ9+ϯBXڲ/*BV "~,kYFQ g YfNR'BW!M|7 srЪkJ 'X)kK!ӈcU)EB8rn{oku{yHzRi` J۹@AqQ!rP=9tn`ڇFqӼŸnu~}y1h1?ڠl/53=ah%"=``!_ݦqvp{p(K75m@bF~9 b^yÒ61!RAZNTfO7|^ b,U|5wVw stZ+ &lԮpnQ1V~y\Hs1QH)[#E"J;u%r;@')JfSIG(x/"z{oZW.™5\7#Wqҕ0RZ杓4-]ind*[W2!}:<<5Fn~D۞"NV\w E|lM>B>-rD޿2/8M9^!!^Έ:Y>!,="!y^epZ,8a$.cb "~pBnᣡրaG("k;mut!HG!/w,i陁Ыzye/&xek[mU x()4dݴƲJRN-T(m ̙ŪXst߀fskhm_Ȏ%l4Ry/\ Ot[[ۋh0\jvYk:l˜F\ZҚ#63wFe ZxD`%Ew %H~#exQbgCMh2\ k`e]9G+w?I-G}(_)Q t*y~UsM5 k~`i?1-T$s6*]9ZuO,W/H3HG:}bB 1.JvGV!&YҀ%P80d,Wddx= FCl˜02a_ ~)B9Aeuuͫ BZ&.ux_ x._+4GD wR7@&2=<%{1%=sVshl2 {ˆ1R\)&Yw5P̂xu`@ݡ*EYrjea%|s#X{+RM5 ݫkEo~BNZaoߡGB\!շ"t54=,e/wW$V]vė`2V:nNb г%bhb>>B!Q1 NJH!ZůcԺDgDkH:Kk=tmE/aiWw-f"# +AZ6"am&wUu}*V;2ѓu㚮\]-P@;Rm! }ч O _זPr}GW~;抯f8Y i"ښJ4%g ?|; bS`fQ5eϱR27M<}bń%2 :FlFZttS?lb#փM2y-l*Q#/qt' K-ʼI2(ߋxeI9xuY-)!G)̧35w@pFBsJ{Eg.9(;{D(h( _-AGY>#_ -&=ї5q>-Ļ+)<ǿaW"q#dqJ5t\M /KFozkjgG]|>r&֜t8C_kxP\}?EvaV^AP8\E,$Lma&O,K27tq %^V7;"'t_W%Nig?̦BH>`!6=&}{rl;GE x4;Fi63I[D*rh" !?xa9O`Syn'}}K3rGBp VG_ nٵ![_R nΆ|T$PL;ܧ6$30*zb:XK}0xgLBmSI2@^@3и>hŚVDfhЏ3_j ԓV4\>>4Bxz {YS2E c{=3=ӡUn`,meEvҤHzuNoE _R (TLpc`%=V#?h-qOͱ{S @0H5<׈}yɫUA5\<2>Y!Q۾}~ާ|Y[?׏17V&FRBkUrV|5{gr/N͒\j x@q;7,yqvDʧee0Ϗ+ P^dݫѳ}/{WQg)ʊ~H\n۩|15;\V"(Qf }r͞!n2A-1&0zmzcuw*N_Ίm$љ? l暷k%I?SjGbOo0'9rG@m[c'iݟ%ՀevP4BгbETz +5K73XWIZȗBeE3T7 ;"6z# ևqL⦋İz_[)'#BsX^0m%D~!)͛/Аn 1ݭ-)(dr4%I0."_-R}]Fʈ*@ d`ބo Io3Bh:oߋj^*}하HمԂ`>@ˬiE40/(WubB.Ӄ]&tqûz6m2BRƚvLnr^R?2*+FĤ|]ߩG>$CtFkkt2KpRa D48&N!*\ĨcN%zިb*8Q) t|BuP]z2EG5 Zs毑E/T|P_4N]e\$8o!`M1)>E0uL 5 Iڀ Ha͛QZg'7T\eAIl:+ qjPa?oG)fqw)g踤"Φ̬M.z 7dw.lp$g?]ASCM/6Ih;594{;& 3߂xaBZAa,|sR eSl*GSH۹zbD:'k G<"%#o@-eF]M(ZLNYKA.q٣Sd^/_m@Zġ pXQCDJ &Q} ̦)s6E^VImU|T̢a9ťKUS܊Ko+֗ tSՋzQ7r_J@f/ Y`q¾7xڍ;lķ?Rx> smUm/Elg˰'G\Eb|iH#*IG k3xv)E1o:Ia:!ڵ.jFYԞgy3L-Ӈ^7ҍӹYtI8&;aH;n )] €t%:-H˕=%E [$@CT UJ^{CM7Jg.7>P*$ktJ+5v{d|XOL ׉ev^DFl EDw1X4Gt?yr>PY/zem% _D /8 <7G @{=-֪zِb >8wz]M1o gr~wt҉Viuю3Uɰ@pYZS>wi=˩N4 Z7gf(irZؑ/VEs|UƮ`҇9:8UwK(!3I7E{fŀ@  ; TaL&2l0FݳQҔ%2< n@ӌyOf2Xà^.K,Drෟ ӥSA5ŧ |Z%ҷյݫvLTW׎Z2|O]Y>7~4 2\Hz gi N2GLPz\&S[/ v&/tTpП4l@7#A:~ʡ04 'kvC~Q0 b;?{n"J1` 71~{Eؚyi?G#6gRb1"RC3( jvu9V'HlcϲQ*܎9<>Mĸ.x?jw_5}E(w ,V_{!%Uv3[*理SM5$p1$׊CF^@'|j0}=nȑσ>x#AHA\#Ms~E齆n Cf b"1~$3.w&}T?P!1 _B}mCg^%0_࣓Q]t lfᆕQ1۵Cc~6Q~ `  <ꪎ%r8 5=9_iY-/=3ϬvP5`){[ާ2;"}*BڈObKRT9 ɼb@LiwF# Bۺm!rn1ٴPRq[#[8ө#vC[+SY<PcE\=Q !.L&&Φ1ݼ렽A b$[@ W^bF(B~O*=ܭ4l(w-3'qa9ow |CO3>p _*aJN㒡sqלɨi@L뚟LiU0: SMTrjq}XB5j#v*^+M2U"i4f>''+mcz.0Tư+ :Cv 䗲D[.OE3!c6UB7hbvR:M!$hn U[I]{ N>N3^#]$sH [ ] j$tSԆA`6GI_`QVexű$zڮpGld/ #VF4 )IzhԠaiFLU9xN@roU;_^}wy= {etO XTwGL> MP%/+. .D-I)Y:ӳ3hB!uQ ]PƕhQxs{ sE6u\`EN@NhэGSJhu}܍-t<}C$ UF uLw[AO r+D^r_1iks߂8 𗇔DQ 'skh*L~.{ W[o~:Pt<$\/T*Jt2t5p ?,]h~{U[ m+Dݼ|ۅCB s~ˁ3#XК#g2Sг>1o_b ]Vn.!:ƍ{˃P t-!kx1'ُ(7Kiex]jaݰt^-_;.%O.L Cal2.ȫf}qq|5NcgwJrء%ݭg՛= 1CA3qg/&G 'w9Vh^H_](J면S6MM-ry-PW5c||]ZsxطY 0{ph>g>c?-&Ѝ(=epE{(cD<%03x Y.doi=GaBW{Q4jL] 7zsq6fC^n*UVwqOo_&!lXcF~ʱUqjERKup XrcI6$; $`s齴,4S o/k z?釘&p/uQN7T1Ss>=&F&KܪƋRPb.*{0cM#@VZ M, %S>2bw^"m] Sհ<$I2M2 hZ.VkTsL8Ax%IY&=$?>"o }{=zV x66f:#֢&.5iP Xf$}d U -֦˩|NLNsli˖}YHN.ÅCuJ]$x@B9boWCBX@hOkucV-)7>e:e_ṃ+lWNu<12:TV⨖JoK~¸<Ś KG~e6Wl}ld'`w"dp`Q$cY:UE\v4גeyS4ַvYrʳ8"B'(Cv4$؃p}qs;}}5כּy*ՑDRM|ꯇYIM7#ܰY ftSC%3su yju5H{ͦ83K C 4)ҲyQje)m<\a#v) d"jXV t!\ d5G@d.K.Dr?щSIBu*EVq{B:h|^A26вjwJAch{oRe7=ծ RUoPrwo=Q^l"YSHey , muu. 55S` pӷ~e,w ^ 3?k8aOAeg{.kpJeE',1 nifu'[ r|/΂n($7w-g,_3FN΍#KLVrj%tgE"j˾:í""NȃS62;s\?=zXײ~C izbc<U }zK"LOIu5+u RNEiZ-L"2?u5縬J(6ل (\Y}GnfMX Q-v R>>;n"TJ7%H<eTɺNrj,Az&QtERq=5Ѹ2hw6(;-KxS4ޕI}<k1ɌmQt`6צQH".Y@sqk'kỉx#9X]IWF"V"OSV9xK+ iNQrk 1xxv "}I4w]Ѕͦ%@Kk6UXˍ&^.)໖ޟ/IKha}?իzymTwu{fbIǂ1حoJe6%'Ge`z_QhMo/QoBZ/Ih; Y{f\>8g( 1_!A-5TW;~'֥dKo+6ۍ`Bm-Kj|-Ih%>}THbzL=r$,[|Di1MK]&ԋCUρ&R-0ՃH3 )p1}AU~X‘q%P4b)At!R>BWzg>Ps + R CⷔCs ښ1dA}-֯=^P NHkUO&VJ:sQ*8ΐe/)붰7pj[[Oz$hR︮6 D3z6>@숻 i};c_1?|.SߠVXï&Z/>jǼjB0>Mv3ʋ諔u*cD,ڌYw*Z D$-8hT6&$cl;lO)?=$$HoǜBNU:($JBVCeESrD]FANF"zwĩyv{Nc)pg+AV4 XLu\%k_%5~}+/0_z۠2򏷗\-0 Pf1AJ~,ђF9z)ys?fYYҽF-hK8bvjGUq)XbBǝ*LgX^<3+"_UG+&kÓɰxKVM ]uREzp)(3t? HYC!Ch:6at J7pwzuy:?~Y=j̄Ֆwtv\[ %~7 4y4^6hDm 9nUFBRe\ kIqg ,l#LD2ټznj£qx&٭5>o|v(7ޅ-Q1tв*;]Ozd,?O̩W93qɕX=& ^8+ a _{]+s4@a4~K:z*qn}4i '6 *Awj7ƚsbTSjG`&/[ީ<’^ۖ=n Ns`. -a [DZbWa~bfJ6$q]Dń䰒q{"֫3j=W(ƫU3`uTmciuk9\DDGTyyb pD7}7x{~1 f .$\+6K.ALВ,F>:}'!9iU:3T~NjvTmc o;kuE笐QҠ⇍ԭB % +lb8Pvj ɮyPΌL)Z f(ה,0'^ߣ󮻉w=sP30xvtaA[ubepxQ:@;)K9l̉QNjb&m"i̝;g&*%J⊚}LZj6+Yg|Pfjm8XAp>Җb}\|^đO.)셍|6OsT| NINuZIصuZ-Oz4$*`\a`kL<60`u:ޫ|q190ҲN]m+އْ֢ SyWN(>-hX>ZE&l8k 5jdI9I]=3 7 /K'Gq>zI497<۵`(4^[y5}Eo/+2Y_8."8GhamgPsMuGJDMd'Ct9"sƷch7aLT(>1OԴ~{4N,_$OM~ ڳoW U^($j'<$1O ca YKtIczoi1[Bڳ>1BC E?x,cο<_b>gyTZi3? aHȮ|)}Z36f$!H~W6F?t "#0څzIwv¯ t.vEDM EQ–Us +TO3X|fPǍ{)<Ž@NkpŸ۰:yڍw,z&,/{[zxJzVƩFs*,8nk< Rk]I~تLLMϿgk,0dWZs Q^2: :>ղb,YX'c؜"Գ>|--БC.gq 1 >T Hفx+ *AX{k{s_K%~&FGvr9x$]}K2-(.QFط;ga`mɆ7}F/Q~F;NS֔^Qon_b$}: ;NpPO6iDJkOxh-rhfW|tZ:  _̟V\2_03tƇE.Q(ВzT,U1;BGㄞBH}{!v7 ["xXp<-^ݓv] &Dx>aZI>ע |Αj'KK 0f"3[Nnh |!Zr -vZty+IFx%KWS:0+ҮBF,[0b@9Mur~"SȲY,E o5+ BVŪў 'l9ѷJ~OG(z꾊|S\+mO跐ZeНtWTyFNw sb bOo~eL=/[};2;-&=b/m: {4j(Z"QBAIS 946z%Wfm[!O>'rcoڵGuw/2`,B}u\?uhB  +JJ#g-[Z^(NcljiT({HгTHjg|]vz{ rhy8$,&< /Bl;9p+kwS5-حYc1sZ:SMhXgBPL} .*4vs,y@{Km˟/M`kN@g&H(jcݽkzgOnXTi}>'QQC5ݼ1-0xL\]]R)7OKTktËRE8[X5FL'N1z{Г 1GITˍ@H~Ko/r=Yn4Y i=i]\ ؛ >.PO?x}q`ݞI\P0I^4 ^mj  ÎSYmjF+WndHK ]0>qtFn¼7Z 22Vww6,A 53b]f kN+zWH^;lXkR9MW uzJTF;^Rp-/H_m.4\{GZ尕ǹ\Ԅ@TtT\@f!R'Pjgfji4k\C dn)8{eαε2A'W?˳`Cܲ2(zo|Ҿp":.g\;ow-=-mc*_=o 7QUD6,e?F|.S~hl|qbv%=FSÐI3y>!DҗEcSoe6iSxJQqq?-$l ?3D5 :Y٪lmu@k[_?,;Y(?InzEQg=6$lZ@ &~!% d<Bdw۴vB{Б:Mj4kXؒ-6pݳJJXǫdVf\UwsV'ݯ[y`fn=0)^nn)d.QJeq&>Ƽ7}եyAbkp7Dd*ٳZE%:rиVmbWィnh[e >oE= 9 /Z|k3 1F: r_$|dZn7^o?(5eu &; Jz0$ì@LK\vnc3kAJ{$N;SU6UVow 6̵5E Bf62nO6^+aGM:\ KSc گQY3QiXOrF*B8\ɉ5y)G&%ȃrt旅E'?PoY?!Y´9CΚn&]C-Ik`b 4lu54c3?I< Ǽu/ >YE8E@ilok^^hNGmFv 3V'-0ݒ Pbmhskz!d>ΚokLɯ%F[U+_%%)TW"xѝ- R.fOx't:B xBr]3Y+:ǩoyD fg~*½ilDkYʎTIDoJ#,l[Q"[^9EG@9Lߚ7k0i|i*u"ՠq fpod~?Y(<Q91z#;AgPW8}oo2q t9r~/[d-[*dMv\{'!M2DK+^&S4c+( TF`~8T0F)h`-!.f?00 wa@ Q&Ul^ 1n6dP2ƱV 04('zƫ65\8$(1_eX %`JlП"t .g 9Wg[#pG1oZ5)@Uj.n g5]'E*AtbOzWͬHK-/"gtPA%x6ǭq=1ru4$FK;korYt!(wѯ@8>?]b]~f)B,9#F<4Zuu?-p3q0d5w.A_㛗$?K|=Q;tgfR lR^svJ+WNTȹưM_\ӻR$2Kq 3u:BtOHO[b,q=J|6Mږ&zS Ɏ¯صe#aPDPy GMNcv*؇3OZ m؛IFk։"x q^M~ =F/R:e~h&ە/HAnY0vKN5i&F߈ҷ9@&)? (XqITᢚ+='( >FoHx $N.5"d*w@!D$R[{;u`z.E# C1Fc(pƖ -ɇVv=҃w>Pvw*Px:៾~]+ٙK(>_T%f=eEиNX܁aL^aIE}VeT2lDLQ3o9ZJD̝q^Y wG/xΧtVnҥ2R[4.RlEy6KӔ  ΐJNj7<C⢫.qg3w!KI@-<٤k%[ y3ÇxAᣅoEBsoK bx~Z!I&Y`ɬ/J'j&NgJ @qC0۾(qH50юg *GfCYvEIh')9^^4կ`ՙ9OwC]PhvoNrU5t.ͮ4 B3u趍X>ye~/r`yr|5 f#.m*FT+S%Y7IͰ e M,3:=FS@D}a8$` ־T] j (RDźrF{f/5GR7JmZs܃7x`1"7v:E&XZ$ g%Q/R @+<^2)*i/9)L\CUG Ľ{x|V%in AIn#Om+WVL8$5TBg;-gO iH )N!ÌU9r@ a+%aL=⸁ -k%kؽ R R%<J|,{NW'!:J!lX5\nX{]f[mI}joR"\$"Vf=Kvr|D]е5>4lRۅ*%D;Yʒ,h&%=&UcM젃 ¤'53OK= ~L&21e|90h 'x @wޢ* >5;dT#f]?BlBbGRֻ<\R>Q JZ|:1N>x0OL {jD z #V(h1 1#9 4!=6 =b> I=C&X4E@l`Aom"HW yf`Kf h!>}ݟpE z_6;`< ^y w-GoOxRrVؔcUS\ udyW˦~ y|sEtu<4}|ڲ9 =X\L.4V1zlKĆ߫msvE}kRhl9IMqUvcIh&L;'Ea|g1D XXc,VQs]&¶ZTh4G#AQ̋ev6BuRZj>IVN<0wDvOk:6luCXÔEbSt^ޝ(ngw6sZ3"ͼyS>C YĦ_B0J RqCe$;YԝRwTYt@> Xt}<#+~ܵG Vu-U1֎zax,'7#Sr=Kfl,8 |`{S:YfPC}0"x"]׏OR`fA7B\Q9 rI341ܥ"!"3(NJp5w֙Nm/rX2/ifS,O"0?fMgZ-9 f&qICzݿy ^"p2GYq@r|OA*sbZ#jQp{o\͆G]5ʁ<'зZes ۳lEq]EP}*e5Js茩͖  f1wAO{gd * o{6KƸ a yhdԵ:)hL1W:C&vCjSK 2\Wb=d$5dKl&sSrX|Ͽu,.|bF.$v7WQ"C[)O8 =;4޽Z9wQ^bYʌVHT؄ (EK t]X:Ó ^fEv`1WF K~T7g6ƈR 5J d52)甿id̉LGL@./xQYʒyAV (^-KŬf+Rm+k c}XR<63e\گt&0m1 L2(_8~x~(;hOqwͮ-A|V_il:lQEZD-IiÎEv QjA $gx{i:Qm6ɥ<{8 iXOOx(KGBa#i-\f.'E ^P Yi%0><[KݖYNcJ i\|= *M"7_n>L4`4U5m> D"ŗ!⾯PCbkXp{ sgLZ?D:Z1C:ƚQ8sui~"g:9Yd~Ȅ!+"0R8Hv⑳kQbTQt92fl.=vCB`q kLKm 10p {'7JURz!r =A1&k+TXn 7)# QﳀTo5N-oMxܷ>H Ԋ}>i2Q1z?[qdř|Q,(|KЮ:R!gwn 闢W@CYW ;%j=|G 4 RM|I0߲geTJ)T&FZ } ocaCL9I*2}3J!7)Xvd#GuehojDJCEM B,-)]GB%7O?MBq0cPArqA7#r1F\g9HIS#FNƾዋpk@>zr[H$B505FxtocPEF(nm\[ j'fds855S /X8{OF4wc`p-瓲#JMLZ|lە]Jm_ïہIl|ĺN9yqf9t8°(eQ[ {9.,0Npl|i*&]YkIa|kܘ a=yTPzWI'T*t/QT> Ϯ^aKD;- IL`_|\+Z&DR;t; -.@~)`c[΀y1[Jtxt J4lSX8T&"} Ip>?drZ esO?OҦ]B6E^VT~8ąhDԛdU<(5 d5j|gRmKro#(zX"F* h ms'AX\trCw귄lm?xP @}B5X3v19:Ԃu*@xw ykdSLVd8se:G8ͲVj @PJN-i?§ܕN۲qv~ϙqCDNJ EBn*Rsc'|mcLqZepjuD>;|O[ .ID&m3Nvg"V +l=%\.Aհj?p'H`]ue^G `XN{2D+i޶jov}Z3Nykp[_ ~;?ߔ^?;s۶۴hb3 &/weh>ձС@>*PA giV({ =զG_s8aU׶E af?Ժ9 Z;CD@p]@AsuH{y  ҌFY$]fۚ&95԰uH, <mN4g#LndC@{%U0ݕ"Z0uP^.Ryslx1s7}EFRJ4.~"362_db K8E¿`&6u= pI0!,z>?]3^{z4"&Wn̷ؖ:řZ].GI:}rW`2h*#boRQZ7Th$oLZB ;D j}Išq5VKBh xc<=eg4Ps8HY{UҋBr|^J#-9Dĉ|lT*p OL]7Mݝ"Q$1c z:k\{<"A{<.7zW 2 %10 k/:QA"4AT*mք2ҌW$Hl֬R<#;Akc=1XTfH$$,ʔ }qK k.)s‚KI2Fy33 cF:>[a~ PVA:ce~7MVI o 0־/ 6 p 9>= t Kf[zsÓ-"{1hD)>Ѓ d AQ-h~ʌ@}.Gvؼi1ȹ&;QwouyOo˝2T|Vsc ,'?Bow@I#hS婏& W{)$jB}'LKX/ރDNR,`cR+< K\py4i hG\be/}KciyYiZA0ߵ3U /&!/~lt|Fl)$_vfG3xK֛4#]UHvD:&5S 8CaSUO(_^$ws s (bd7ᠠѵqW:aV숨!('}g6ռYQV3"w!}K Mc>{ZDv HdhWW8(` [c]Ti6tR lE >ʁuI&ԫheT$ ̢k˘$uryO?#Q_>-HD 4uO] rʐWrhҚpj%-{ l{W/ ) !JT& F,@O#ohxk6ncD+yBYj#|X0 e 濡%#A0Խu0۝@\d$dR]OŭE*&zٴYP\OH^rZ04goY }j&]s2V 92HU_P<`[5_3 j+(ZcsraƪN18ؼVٵ;Yh/2y`3^w ]*L~YֲPS|ufò0PjMDm2N-rkK%va O\6p}1$[!"ȁHt]bbd tD6DDCު$G1Z8Dn}#!DH T%'1[l3H}w/*%nlAe4-FD@)Mm7#]qyR@g̓ô͓Nw K [!u%꜓QOj7؞&QBd%n%n]#$,-0M{VF^AL1T&GCn{˞z̠zɝ'ۻ /AJr}sy<]Oی3r(ZYH7'2.OI{)f-@(o X.Sq N0H kz3OW&0+CSLҲ.u^1Mik>BV}zXwU.4*BF_5hre[[;3!(epXަulY!=ycRo\0 0 ZVI&ҕa*#$"ݝwQ[wprES$kkpO*^Wh {H~2hH㦠AKoxZOy OWV D+7."| .%E5 \ lqc=g[]Df'7]k5/`e= X p(1r KQ?^%e~zcb85ǹ. h1_s 87W?0Tjo=|i~P$enxl^iq OΛ+<EX&kp (JNWy#sߤqQhR+ݧk͒6{ 1ArCmd-*~ O f8g_5X )pvjV)\0S[]㏮SyT.Gi ~l°-LF8]--cV> ^Ay~gz ۝~+(Mqjjsc=bYxbd s.Pg~W 4E5^`i5¶57AՅe .YRpT;P4k: vvL;}7PC Z1e6)kuH:T"H?NUa0 ]M o5 U!%2-\[EFzyL1%/F<I96<-t~[&X{|qéޓP4bϷ+W}ET i%Q, .,3>]'iϑ[=Aw(ǡmGkiGH^Ie٨(@OD4c23)#lia;j |BAu)mAB¬tqQF. TT]C"kg!ŁƭL.4 JGZd3>ۻg=pUT!S*{(: 6bJC׈&s]ξkhf ?ߐ ZHqr!XO2[M M15/jQ΄Z+@*Ѧi9)j,*M3DjpŠ# 9>bu‰sT!pHx*"F{>&y2;`< Wڇ~EI-^0_$u評Q(JBְ(ivxd̞kDSShZz"Y&4_q0"0gejA_Y?*SI %GWG,޼ֻkyeAjY5q^zs!S87dYxJtPj+Ƽ**~g;$a? yl@9̣`l/E9ux'$'Lգb #WUCkLSEmu%tblŸـػ$E_q@\jT=(~0I}jDbM!ЍwZS 1uńy.G u^Q ݆;+ =AW71QZ*e3!YY9h>N9aX[+KQP|u?OX/<気O pA bOPVJ7S1dCКh6boG 6oRB> }B<(ȗkC !3&"ՌF|UN餟ml d;tȟ;NL*)&z1T0YqI.4'6RDx.!4gZU6gRAYqc4:l)s_03D<&)Ve+td๖g㳦W_S1:֬IܡnJG3u~zEB`WOMhx 0PPđcnǘK^۵N,2hUwM?,ⅠhX;@^@kI[㵡zp{r$6:h"Ky8 h?tr̄ W2F.NOn-xA@=08hOzγ:> ¹5wqua\17㔟=S`- >mBo!5^ ŕxHɲI=?[0' z +O~IA 1C@Y/I)U}5u_p7= @kXD/K㒌"ٕs)Up7 •|`U=H/wem_.̔D U/·@U\K6#Y%125;`{QCQnW7_u!TgzIQT zw T: pt{0DS 86XNy *&oΆ֯GԀXliΡ'9SVj1qObHm_ݱƧx BU/ h",YqHl]G^dρ$!A U;(VHfhҢ%F7-L9,"g8u_SQV8ےjb`t,|̷m!@)#n_j5x.S&xu:8KHo:z"$VFޖ`[u>w"[t cYTW?ŞQ-IX݅()䍷K^-gUBj $ExztJcf@rgBD̻< ܹUa"e8 =5.]P|S;|(EWe ؀F7bOa爵(ŔsY,\#u5[l؎\'g;kUQ(Pݫz=s/1}%~mFΈf_qSs>CQ;edΘ$a,K6ԋW\ j Ia-qבϓ,BK,a r:lpUTjHH:JӑR&oM,=i3\<vdl4۰Fm"}8=ȡO3O)',4y|йp*o'* `C/_6▩SEN`nVղ^Ce}׉a[DK#`~;"ATzGsQ ,Z 60rOMpW.e}AQ5<^!{YܽRn.5Sx-tSMM0Bˉw|H깘SccX)Z}B?ɧ`jUtRD1I ,G}m{FzWܪ}n\J 8zk!;0-Ѐ2J*.Bvr-T0Zv*B09|#>Bpv>Q U@h"G 3"DҽG 2aM"IQE+K3mǴZFd~V{„/5ǐ\tqRl#4.;kF;|u;&`ƶv@q`.Isk\+Jk,sۦtő.3m$]um(mKlɂC'.mBѤIt1Q[nURD2 %@4k Gѥ !ܱf#pSݳ3>;elR^+B=oQ@/#3~.s#J–5edOS$@38i9KGpAɁR*9=*Zv.*-;_ 'H5U;bΛA2qk=uA5>2={̷`b~Ǒ2A!31UVoRI 2v:m5mhE}DA^@yKR}zGAV^Ԏ*}L"uY֒kqDN)u4ZޔCVf$j'!twKr4\M(B!8GeaM' O] !9^D3S<) E H5dFDh3OF44bL_+`3 `]rAȜ[KS r6͚C0tB% scå,‡sQ1Wh$';{O5]2N%Kp-A9:rVzݡOT% -,~F zg?elU(HOcfrg<ӏ:8/~Z^dÃt*[`f;@vӔȌM̴$N+(mfU &cڠuF=9ͭ%z'ݒbop5DHvቤ")qR'W(E) UUܤ8 &lؐV]՘P@$мInQ`4A'o ne˧A9U93oBQXHb)7b"c.U2sՒКU jiѷr3r_u &&m`ǖ6 W(I(>a&nﺺ^`Bu9U9+PA <ꭦ,ߌ.FSe\Rv(GHTwYO^~oiɤ`< Z7^qu Gy@ʱixA(Ĥƴn:!Š H5:K.0My&Iؘِxl%!tS9e 7/&*m!a*JM'@w,țϦuȾ= _pJ fdJs{KӠ\9LGdRpFkmV*.\e=٭Ms<͆zц8?Hҋ _/ RhV~W63'{U9lM1;d406a^,DIzn0e=gf,)M_YeAI޿zx/r9a}[ t_af nU3B7AUQމTt>Rm'f fNm/\^aÎ-1Un5,w> P slDrUn* ٻ‡)H^x=/I &(r_`8M@"mF2OEfz K'L̴"+(H2IUz}Wk3ߥݬ11ÿD'G> Bs5N`Zl/ʿ jpΡ;爇V8&;6}Zp$ ~vcT@HtgD(\A}dDrw`,ix4ིf4\^t\ 4*3sgi柑JW Adg<8>C(jL?tkGn &?O0`׎f![d- u s؏L8 KM F؛foH-^qqFŒ<}V#(z<7 APz`8AŮe<*{ ]8BSz(QU{ᰕnS(t%PZ vBY~c`Y"Tca :zz)Sʆ @kx j8M84̋ ^I K(fIx@]j &@ղAeS}gwyw6L-Cšh/52@b8P+HBJLL@U?#?C&_@@m=;iA"fy*/ޓF m N3ciSVNGf3h1qo5hXG;vGWN2dG@1"pu~h\|q؈ݛi#xpG]X~~D2&6peIܼ҂ᕨiwΝb/Bh$q!9З-Xo&E/*Xbٙ*v=Ru~Jm.JhYM;^7`ْ0oR_ڤyz(=8C N{6iutZ)5d.G=YpXjQ,DUX{DzKIX20P"U?r!lw+43 p\T5mFhQ/0o@%s@Kf@3iU;c=IR+aR;y4Mg &|Y 9{od U,!>V*:"āŠ,=YDsSS6~O+O%$[qw'I"_Bo<[iNDK"U,,D8|{ܐ0"Ů 5VPv]6( OE1: #nfNB.=kp11/p'uW:V814Q5d+U]%Eǥu*N>kc^l^2+@LgxXrO^ohFӨ^OSH"ٜ0cA% N\-4ɤUZm-P;Dv"j͊`*j뚆gC'…>tuC|\"QdOP$e=+G]b9&3YY"d0i?=r֫ʽ4ח"М'4yS*p8žzٷ]j,|jAO.F23t|QA$gqxKhlz"cͻ|&X&nMĔzC*C&_ 6'QxkA<"2ѷ*Krӗ]!?}6bԦ _w"CCd>=W叙d}4ڡvMѴ7PW3kȪ'߲!/W Sowy/ڿL|yJ4At/Ēl8fLd.H[kߐz- Qir΢)K9Zw'PSMkR=$X7SZQPtN}3#m9D;L_˪)♼mϚezC7ՀkWQu q1@NT{@){yVZ{[+|?3=lF \h :i,ͻz7>VIf 7E0]SrbT:*sɚ颙,gh" ia%RI@ -8=&àil%͝Pӭs \Qݠ0`]v kէzq HvQ+Qp1 Y8SkBv|v5 ʚ0Z+2xo ܂ƿ ޝor@̋lCL~{,Aag d8  J )~)W6ˏC>l][QW7" T<O˪_Mdm'!xC/EHIwt*ةgGK&0dsNNI5څI5i}|Rxَ/G6-XQAl}9t]0 8yǍѓ&iFeg: 4:8O)Xn9o|;* /B,U: r}eEM PBAPӔ2̓P? M'iyꉩ͝nN4݋8n>2w,N,XHp~2bv3%!*[ %FpnG<>T(+)W  !$:#{{R'1+KYﶶ߷Ū?(&yFq8*onLt 5& mly`zh<ÞaK օ/$_iZ9{ xi/)Nv!=Ms7NLHܵ5.kO+6cdhdnkRmB|kvq.?698􌡫ODKiG E>ko= Х0u QQUzpD%%7xR '(;xo! +^I'56emN$p}D_BC3s~qhHEI f 2"-㴴mR.*J߀T}3\Mb>w"iI &~+ q"ʲ8O-Y4 y!{?6*6(S 4SnW<S!c9P-`Ynf,z$Me't7* CN ^oI[#yC59*` {sBC5ȑ@bWugѼLo>+n ,,&6Emк 3D hfɈl3hrp,bq*(k*F(] ˨QzhˁhFk.\ -aC)WNf?_xհg[g"'bu}KȈIw`>$vW\!y\hэ8k=Ve+zh#!R *' M[#xR<&&8`$2#"XNp|q:r8xaK`e0tRDVrUjA4K#}Q&sY-BVB 1]j {g?b`R|rsuQ"ۦQ`@(g1 ץ]' jR'Wzk<>0P.Hmύ䈝C 4$2"9I\8_Y_Weg}kXPSQT0MXuֆ x$ojGc9i}%"FVL><ϑ/3:h"|Bi}KkGf -ʈ/`1]+)1"\_iLÑu1sa*iT~Ovې(}[d_VH29à&a2 L;4mT>bH_O0SS?²<6?FǺ$vF&Wp m a@[$×Ly2 # v'U.!Cq+ yhq۶TI3X.{0w}p*2kbwG:Us{ f+X"8U^y|Wr8:>kX,BtnvIR>.Czɲ'Ey[xiBџ=ۖ画u=5LѺKjI*;Cò#3mB%x]L^5 ,04V>r-ߧ-ax5f苸Uٝ˩خ^w_&LYձv ss;EU7xǂO"YWᏞ͏l=/R@SB7]O7^^ޱUD?8'49T~6#\Ҝ愷oo_n%54]qE*WE !-h遯IX , VhDM-4@kOi3jwJOV|ҵ.VM%7xQ ! ԆFk9g.R6 #$56r$f.;DGtֱf|]si9a:2,,xzg0p8Uz> /O|֚ &PnDQ_+<উlyďY"/xfowC͘ k.C"Z#R;/[S AHZSZCD%UP9B⸐:ҢWlWL=:,稹Ѳ㒲cbX#MȨ4ݞ%o[;ɾr4KQ\~ͼd'$KzE)@wYHƱI6ߢ=[ΰ >סq%a{vLʼd~v^*q6P%NaMRNSF-K<@ Ŧ"ܡ_gªZE5 5&y2@ը^nMP%3PV s\wQh{2ˈ o,1P#8ܨ팇eh%:>i˶4?L"Fw(wp 7Ȏ4 v: ]CWkDSȺe3xp1>ӕV}VT<ȟ}ֶM;l΅1V{|@%? ,6W;bqK.~@V7=hޔ"S)-M/*!3ꇦo`M#94*J[ʇOVOǵn[UлsǸl^׬mj# O*uNAa; aRtڐk&2cëm^5q/ܥXzkѵnTN3t׍qKqhPGćwJX4Tmf{-R7aɇMʴϐ̱Ӫ\KaPO#qX4}ˊʝ`:= QYQu|4 j1 =޼o`:ϛ%{1d6zrB /bwOE*̛-,^y)98FJovv/׌+26A&1q.(dܔdCd}!,Ly))߂L)[&P~s['E0%=[UcVGHc{FPK?p4S  53902,OT(t;^4wr."c,ʳ|T䭑Жw*.";tU *KbX"SK(PYE8veE^)+cׇ-GZ+=3?dE\t~,~Zz Ks *&IPFK".Xezqb&OCnahJ# ML2K0;o*7yTR< FԹ ˦\/5Q^vaLt2IYY2A |mSJ^N`tB-@H#5|G7C܄[>^Q gʰ@ixnx0i3 ZE>TK6vq^V"O BeƁ>'xkdn6|Hc0IPxrtCO䇛ً5jKZ.F6$Ryu(| ̀ 5v* y٠k_Y.6#ME6ﻃ箻!k,qѫjUµhmL᱀T;N5F\zSf):g^VhAdw kO-=`j"߿R :m99NcM٪UiTv(3gu=w2ԍ@o/=ݱƠ\OT1l^|U-xff3t6@^܂)qRUESK/#59ω|%ȱ P(=?]K&*Jlu|u7bi.segRCAV۱λ~b9@*04w qNxSMe#m_O$nȥtJB/UtA%?kVsJ;Y 2n[r_%]y$5A= У7̎Dz95Iwv Xs42#\n@(ȏ4-i45nBX`zZR]`ʖD|`5n̼4ȷR2*jU䌨ӟ&-0:5))9ߛi _ ^8:O}ikP26`LҒ_D@;E?'0RPJހf)ӵ6G)ʿ .iMQLz}Zh opD:<.%&ƭai^:ˊE'oh>>x#\A9ϻwc L+h{v`q֗t$Z&΂;i~7(Iv884keoc" BbǾd[ x)1áQ0Ӓ ~:F+(i7QB$W:]m•mT*2e/ /^/6ɒ83v9HO-ݓV)R6i8~zh>䄘Nv`˕+Ww@8ƃWsM`UB}߂Ekaz1  Ukډ:!97]@ Dۅ?3.Y7-ۃ~?cxF)#[G[mS>1u)^4qd&좧tװւ5!"-FKr 9w븣ye /餭وZOt~i_onMQ@yO~Fϲ_|K>HlٌRHcs0>lPj3eW+ ^ՑQ~䥯&blGCc_U2qƩnc^A` 4GKEȢNAm4im–VFF_?ֲMHf2,dW׃B|-Ϥd\C2x[}K7 yYL4K1>CgW6Raw2E٧vC|_+T2'va"ٞ@QjPr\&nhj '8Ol˷+b٠cn-k1GIqCBx#^^C=SU POc^s j {>~a9|'7#q:`cM7NexA(1vphjߍc -YVFP xe٨ZBp0GQJtcI]ӂ+$A Uu:չs.c?4>JiԛbZj@Be{Ē(z TbhSC\92 ݺKM{.2}oͻ&Ox_;Ɨ^M7zov<#Is""4E.Y,WNyƤl.w.m-\9b\J ݄Aʹ̧Ouu: 7k d hNc&EUQ`xsd1 H0GbFM^?AЅLF(HAtM4pa87By7 apLpYfŲCI=`ALْ#|P~z6]z86ª$O^bjYauiMD] W" 7uXOV6Gf )T'.#ˍ{:VnZlY([yU-4zw*Z:~C4>nDCToZ,ZiaKĖRuYٱ8ues{hwne .TQFVq u{Oe"vox >̜/$u ΋s &]Ag/"j+~\:2k&/!&])p]+I)O_Kķ"SWl-t,~F%)m)⽷=D7 f*WQ3 ح׽3'=*.C{Tg)3JC BK!J$?jN*K>q(Du?DC:֠7Ko00!U٘;$KOS`Ol-HRy,(wr bFN4=q8bAٯw1?܋ 4B<2m~`5ԩJ6Q#-[I="Aʃ(Iyms;vyC_Jح1H5jRdPvW&$l.P%V2y"Moj8` `5 v\G|A|;:Rxv$0#^WcYhՔMh}4؇ F > k<\m)CčFe^ &3>+4E{P˸PItinbcZ~-爣QXb8SN &E!'~gIIθvӮ03+Cm2@&4?.)8Vf>ĉ?Clu- ~Wv.;!ܡ{TR=i*T=^/ԞJLs:@E(Ɗ7|Afom*91y'D7Aܰ1lqJiԋ4&wJHR(]Pq 2Lf^]ܯO7` hIc NIVEowя%DddyE.Kxj}ךP΄31eH{+>M[@EI5df:8Ħ_ -bksƸu [@|z;(Mߏi T p^#;ZhYwg?Xݎek{_6paeӴ3LkIWr]e&RūPBvߒeg"ښ^mtg^@jJ›Ӝ!T19䶈\Oʐ|,Vn(vlo7V{&M|ǯqoOCHwpaUj.OwS@h6Jne!Ґ: <` 4d<3kы%>'y ?|b@cdowj66.L=Mx ܜRg˨䫣Kw{,(3pSm-"xLC>IWiICVr>s>S\ETf%f8Dª@{݅ppю{9(n(XˉcPmʥ{!vƙ TƮdi(NbAID85-!7ʛ~?i.'PU+XY ̍=V/jS`']Ȣh.Кa&9dRp [w_7<U_|tW}qؾn4h[S?CL;0@|BqRҋt8>Wd־?[Uz YF,͂)7jag_BXe2JWyK.&-'I. RΉȻZ}{leú|FZ@1@9-> _} $\Fz?h\9#i(27k*- Ree孂  G9V3[vq/5h.SqmpU؉]2ٸ(׎B}ad3bW# |ڇ̉NÄYy:PU@ie[Й;aKVCG$R<͍LAa LʼnéOrєc}+ߝ#Z' ƖۧF@qji,cSCT}e'ZB[lEIy3D0ުº9EgffŝX!ܺak!Q:/Ew(>s |}l(`t{u|' 6_ʋ`z !$iZھ= !0BſUPj7mDۯ\QA{oBߞoE ب{"`L5dd̺mʠ|]g;дȦlqK!Z.6o0;]3_=*/432jp%t3@g]U80 3{F0%s>!2iџ.+KH[dHqEG1a )uk>t| v~Ÿu ~D޹o}f>%ç)jODe"-@ՉUX ?<HdSf Uw9yDWx:aR*Gжe*sZz9AIU'ϙpQH,'W&vТn(5wuF^g=Κ..a ͣ퓝C KdUZug8a0xUzK/XusV$_hv(-U\{".]s1![5!j(X YA/:E5㗁뾮Qnq4eP XAĩW |^b]ο+_΂.Gw64T̉XK;;dOQ'PO[@z~nQ A8pDsV#f%v̻ %Ç.gy)h1 HσMuu^iaMO,Q됰6 k H"[7\dktpfM /-qJs2p[ ;@u(U∖hcg O᪗l_r'-F,2+noY}xS9ZaY$@?(nrO "dXš1HeAzО߬3 ey-.8GI%>&u]'! eϺG"ǷCc;`l :,Gr^(voMнOX?K]|MW2>sC'垂3`Jqp {-bmq4L›譳Åm"'vJGQ=nf#sؕBws%ǰ7l#loůq̭Kzm,gcOj fpROvRAz7H_3}K]18ֵl77zP`3l;&gXLL~1I+dzjY{TY/(fd\".1Tgea|M`S >#OM؍x =񨍳4|"\u~pZgtjy]]r \X(2ጶ zؤxښ^Dsa4/mmRThlEe(Eb9OkS}C;Ҍ+;L#(KA%J mUyg⎜)UyW m9A/}cE ݣWQխ Cw٦af~E ZK`..}-lfa윚; &o'i_: L;d7?зݔ*nSRCJ8_._V(!PY\A)  ]01eev#bPO 츶7&vތ(,}֩%K.LW Eqjm0r}ۓDа}o&yz^G&/ؙܵo"DCgeZ#Wp!o6@l̩8bP'0½!xx{M߈n!M^IR1 H.p<}:$aZ)|cʿx2W®^ţt-Z P¼OP='Bt־fO ?#|ޣTIZf0CM4@kZ LD<3CZA}˺{ ~YI/5?_<{E<@ʹϋwH9'g wD{0} r5}AVYi5!_[ёў+se TVD󂯆2yY!7o,mQwtJW{ ĞL̻jU𔤇00F$⪵T4 x U1'lR)֯PWWJT9E3H wO[:Vn+16fyG5fnfVjB;_5%`T-BL9d󻌬Nb.qcW co)bc9xG+Ū}03Ռ"ZfGH-E}=':i@ژYlx9hxԆRjX&[&,~x! m^V?V#j}YnfZ:Zqd ]? -ͼ_ݨ!@=o"THCa}l b*Po :%"sab|Uk-VS>z3uXVk)a+3)V6k"g[8%![-tnћ%ɼsI90DfJL؃p@dEl˓#KM(=,ש{:ޓX037={4[zS)Ʌ _~*J:;0 (GYݜ?e|&-k] 2Ƴ#e(:L}jtdA6@P{YfdT!Hףoږ*/t/O#OF 0ں^zG.fgSi$%ɸhN#[WOfBL!ˈ'1=v8_ODIq9½n%w* pHbۼq'!R}eH{.ܟW/Ew8rĬ$f˺8= "+EUVq e%:A~& *pFԝ[../`goHy (ߌpж]hb\K&I T4kl!(v8!C6pÏJNn\_mz^Bف@atj)~ou9̼:bZ=hJimo#IK>6=eNZd"Ԃ=۪=De#&(53V@.d8yv~ *3ܰԂrHE_?#ag;Jp "޷wűloWZ=l] E<7 #t7IC[۫׶x[8ZO8ϙL_枱2O&XyёaEL*ui>h⚇|?u-~XIktQDgpa]ʷGr"R#C(Z"%Q<0Hpp;|fb=$W-0ȷ=;+JͭW@=/iύPo =d, MkcR͐O6vWMilقDT/,.Hg/ƍ A~;B{Q[\l]$f7͐ ӳFcO^U&="V+GZ9Qy:ȏTei49KqyVTT%LQlEud61<ՅPNa&yl1{x($umzi]zuGHPދk yy?YO$Dg*.׎-j?8 a:3Y"޴u>\2 T"YI pԦdf+rڸIk' P|2.!qmdOZX5A<3K R0 V)֎ǿ2&-9˒^,8;1_}D*â^BR N0\ ';_ Ksش#to/mφ^)7uCKIv9𻊢"zО7fsdVK5s02aF {xMܜYW-0d.2$-,.gi(oݽzu϶fF,Q%p^ R$*w|MML_ҹp|@;XG$ 2sX𱀅sԹGJ\u U"@nί9[b, iÉgs$qZpkJ߈4jux`+|;狩]tLrHb4ǀգ:t!P2;D&3d1Ge .kCa'WBJPjFi$fXFqSk#9Ѭ> rf(0~5(vE`>!D^љ_' U ƨjIrZ 儬[VS{,O!VBmӫfYG_ P(2*UE ]w#fq|h^['cVF6Qxأ?j(>^ q)Fz} 82 oyw Ot)I1]{@Ld7b*KĴ)Tcrԑ|&Aַ/k(\%9Nf^ltb+)->_T״@Q{YR_CCuEϦge=ֽE,CEj#>*G> dbL_ܭeNnK5- l9)"i0RD~+m&T MO-,e.ܸmI^=xDzaJ+Z?±;ҙ/rLt:Bg ^ZbޭǴ^9N_GJqGaCtpe^ g2M5P!WЦ&a1'Ah;. N*Ġ7"_M-rmeK[.zwj<([l9ݶKx'&o%txL55ag.f'^Ŭ\6Y9 ٺ2-WCq8 ЀY1D%QvVQL ;1ܘ}?ɛz0'lh,-zBғeRꓭha&Ŝ۟XM[,mVs6 Y)ʞWeM.lsjV1uZn]DT!~ /T" xܹ%$oo5_о͆5hcJ?¡۽AL%ߴfK~S(7msu_ Iƻ ̄N4-w;簐~.E"xԓV(if~~45ují_8U1lQi<`X;zp/8]a^ۧ_¿o UMDvu0uzv8G& dHQfbMj,9GIoz0rXg"0hﶜfY[xqy\#خ,mU? [b9󷺩#zY*ݧvdJTܴ{V=8?gLH{t@K^D)is, ~ЄB |kDbAߗWJ2]LDJ#HbefNx )=իsۼ xcrU+-}k'j3VδΤٌ莡zEH%UBd Yxkhݾ(;9쿚ͽe.p$˜7?l3 ,3qk']\1 92^ H9?|2LMU~NLmAv:wס^1꘷G|瞾/%ܹ{0 wALpĥiV!2f'{iۆE FaxþBhb#QY+”1DඉΔ {"h[K1ѣiWf-EoE!cɤżWXO"{_> b\nrTt/嬊^(LGitPTXmRnXK<"1DREy O—rVI1?KH^4 u*N 8,vTn av#=l ̲>ؗp*S4>F:$Bt&ߦGN'>*hP͡?fFU_K*{re0_p\PQL5a /2ggi`p=?IQWg $z6DcceĕN} (;vpyo_tW[;ڿ43y>$ȵ_%x d;U@vD+)`%EH,-+/o{̷e S[lp~-M9I1rO6ϸQr5w/.YmUQ1L[?o6<(ТRPopcAyLZ<3Ι(+ftw$M5 ,LaUgfsa]yѕP|OD+%>#$a̩C* 7q3_32'v>uC+C5F^§:"hep|LLKDFu6yJ 2g87$h:P-Ww͟}x$ )eP(6]40wٓw᳖Jm3'*VS3Tekd@Wi)[yƂ O9k3瞖r!a_"OBH!/pP'iln7גluV4v:]Ȍ}qtS+FIP}-O@ċ5"F+K?BeQY;,b֔j!.BQ4E1*$J.┾7$Vrro.C8w el6ʘ(vDh| eL0 )Y…'㶔_E$g^6-"w5ĢyT8֣Wqv$D74Na/S-,J-A3D=MESN8:R$C0ֿQ$Xj폒֝/U)$ɅE.di*%ma֌=Dd, 7r0?)RsnĽ3N0=dzPƯJ|>S`+= Y8ԱDKS}@ܬjoڱb3 C*Șb7L,_Hةjwh4XM -N'PkV=$Uzj@x?ipЬ;耫IgQKz᙮W&K ~'Z #s ;{۴OThD> $#;n+'‚'{ HŮ9R8c}]?yLdž"3Rª¥#RZ#ӥX +;zRBenN{W'-Cq~ȩ  mI>Աm6N\3tѻ jpo4U@G5dB B!Ƈ*^= }遛9eI|Ke҅H̙}8?/c〔wYZTЗr)>dV4?fNAN&8:؆Wd^:|NQW%*@&TEZ~iĜXcqvTsaF,į.DAńoxB>DFspdU/Xes@Wp)vwA]3ׄAzb2ʠzڜbX$|GNzB!G`sCogxwn—_| _>tER^Rqepp.3^p w꫏J6Sv&q Ҩ|K*ȗb+қ Yl0NOEğ'J+`RȨHJ*Ƌ1Ton >*m +?iuL{hJ87PY%}@a%/xR9KeCW lztl'^$PJ&4kmKCW87G`΍u`\ IW%`)&@3e) uk9"XߺϹ:z;j$H>eQfVB! ^w0ov@8'ykMj3U[δ"|K]=框4./rV%&xx䭁;cų-K?Re3`* oOvPAԠSkquh0]/ؽ7p"a $cm9?g3g]Ir ՜'5@囓r r89;l qjR4&<+Z-v_'vG73R1_n5 F8v6RԅK?R=嫭2)5fMdCe'X%嫚֖ P]> @y|6K2?/EF6ilp_)opnL2r3{YVrp_씭d%|t ZQb<;o}j#3Q' ~mylǜ9`HxP|$JNY?\ӫM-OxIߠ#9ǘܫ0Rkz7.]2 "ĦNw̗yMq4:jx|*VjFm}R?}q{)wĘ ݣ& JG K1~ޟy 0 졛ʜj1jׇ`4gWl-(>g5yfVQU{~wpgU#W3,cUOM\Z@435G` ({1 e_¿+m)"0nX9ʫ{{`\1X ͪyư`IK'Qig8mM=b$g[/'۽x22̟le^^q22$$}q r_?iNwc-!`b ](J:%ɗܹ0uyg AZjOTu~b:$z7/?;p ۖ x_wW3Pٌ:[l*z9W!Z++ @*=-ffL43 W4^F´3amL-3,U=[ tƠ!yUUEKKʔ304Z0?@,B Y 1d-/Zfľ܏ s7?&/CfKa?'ʋh\;u.v 2s؎rAp T7a}9]턍 [z_l`7oIOJÍ/=U ckщGQĄʀ} 6gهJ뮢'C|}|%4&3~9+uQP_D HO\ϗ7MsRO?nN@4CjUE w)aBQr/>jGCy*vݭ# 9G6>kYVٝ"-e% 7Mb<?%j{836=ó#j *n4%vgƃJ6B]NHpj2 FĪ޸ձ~Пka2;Rm;OO:jRT9Ld=Ca"64tT+h F΃WFĤ1}e־aʏ秶VBtCK'ثۭu\)r}4`廋77RF&4ݫBA[2:´W >;gzb\Rϰd:" +9c#ԀNk+vo E:}:DVUWi ϊЂY|o-ЋaPAr!w(>Y"\:2WOv O*0rHWq_!6L8~86چL;ưM׫ZɪR0ypKaQwI i+:q\$ap&uC{4b E]Z M4Uҕ#E%r'Cӏ({%O lAz&@+H0lt^%쉐V )l!MAFNdh-=;v|lP9þlJ<gʿ\xa':+L%"AQm=nF #u<,Bt"~~U7/*ķDE&E.cm/w#̀`]fU/}cHϡ.GXɻ0QzIT[i_8#U)(U[}qߋhN"&r\- Ez\ lz)旜(8Ww1Ф#iaq'ΏN QXyy/O!?!жP~I:3 V遲~7{hFszq t ( ЄbSg:G4~`oK#Old|WP.w"bF1waI}iZ߉gܓhAVgQJ!‡vG2G͝Ο,4B/õHw(=˟˝烔y2-)Hp]|D3 8=X7a$me l(}lɷ+xy62 W&HϷuF;|eqy SȤ3!9XynZ2̽4rߨH!0ODCXx'-([s-.W,gG 8zZEj XF[ o;G1x5C 7 \B'B Z.p\H?u`7=`VKcc:,FOPh{r_i3YӗmHAyF/mXFݹ$-@Q LWͶC!o./ bMΰNi-sDh H6 R*,rJ1G^y EgVgF>Eo0/hHh.7\WγȁyK O^VzVd=3kuݧmWCvrAc/h$Q$f R@K}-[g-}.K-8yT[»/0")͓|Op6[BR,AcȀQ$9~5 錨9-Dǃ]ԶN.\1_iZ55e q~[pAaFKjT)dZj׳@V^95?~mIIP6:d&AM5ޫ o4ka}@R^?~[[A 8;I`k*nJd^w%/9|Ú?<ѐm'(._ L"M-BFQ)l[Mf&@$|mq9ApiCDv+7l c߂rH^ k֟3= [טjE?P?y*2"C56Dω8t+@NLDe9":}/!dcۻ݉/dIəkj\SlbT0Bqp*,`3[@@$NxRt>ri:8f n1aӶ0O$$IbEloQwήTw q]G:qAA-\8zO]gS{N;U\boћYt*v8-G% 5*jh="%ޣ 6zbqxճI?:U|x" 4$LE R#q+hLofR'/` yhI:J|)0%n䱲%/؆w_w-[H]4E ]򒥙A#6Bx!#yQP@#X񎔤_D3/\%ڨ:ʊdmgPqf%|P~ A#77оTqWX1JQZ8˿TfnG/yd{M^9D.uT+(A{MJd۰'X]tzGTǘ͐r)̼) M,'\n0/QJW瘾 {8@mϸ½#n͡Z *¹\z"2ŦVDtYx8)ISXӮ2_>#&2Ψ۸?LoNbg)*N⹺UdQeP-YhR:v)| @l`_&kK8fgќ}x~F:?{`u@7]'_22eD9Ø xʛ @q҅vIw)WүxL}r$DJSA.F~7^1`= n {soNI ]ΞZl>۫Y-y]H>.qVRm Ia:g'C"򻑂py&+\\#XuieX9ΚmQ Qaʒ Za~K^xj]^"JytEIJH먵,LլS8V> h~;ʋ 0Gg@ #"4N1|3A7 TNvCwe<1.O,t9}(st/д$.#l>ᏥQv FY`n& +QDȵB8|X(PB=\ 7ˉ L"3̍n5Ęѝsu KA1uw+z妪ivaHͷPa*M$vW;- Ule] ۅ,jW`SW-wQ&d!*y;q"ǂah.~ e6'46p)Q_y/T±Y\$CWJ#di{a셾w&w~ SNā ut$]DUP yG߀_qj\ļQ%ί5g:wԈ<ׁ$+X}AmN,3x{u)P:5&![QT L5^+eG〼ѫ`)PCfxN_Rfj ކ|P.RY| `MIgΐe3}64THxyϤc׼QgQoa*#ߴAˏ7O/ˮ)F8qM+҂oؚ…c3l/ŞQXXl<*x.`fo#d 3ƂFٵ.v)h}qW/?,GNØ# =4q&kҥk8c&} w 9%!ֱG¨fJB set/GYh*X°iڣu'F tD$Pɥ9^b>g -sF S&2]L`偖9>bpfFcVT_wҿ%SUɕI#Y-jUɦ>% i;H;?Up~RHs1GeN =CTݫ޾\*8Q`Nc~lj8 sj0Bč@o?'C:vU [0jj!s -Zz2[XdkؒcȐV# 1;(};JQ E'&/ɕZZ ӌ ~qzEk:\nT !NMA}F.좋sqpA*;LgQ4&vq9c٭& "gia$ߏc1GXX}R7JibQ)6@zԛ *1};Vz/HuEa}k&fH9_1[,!S1wboa_>SS⿯-UAڦۤF}ihҽ)zV?q= /IsuA|HF\7ntld1LR{^~3yt^ݱ=l6|aQrV.kYZr ?;.1C"qSuHA?BM8LdeCƀ3ZX}uZӹe0-`e:5 vp%=3['_Q1"!@DEbg Z7)[wm9ǜTzf5/PmQhR4VcW|Nrn JRnUڷSHWGl u= ]DBpĊ28#ҝUMZqG@yJbpx>TXZ+G#y@?h=V||ry*t9r*ZbK?V GbRCOhㅈuho'UW_Ƨ]+s˿Y$c0&+0>R~jgδrAe̙ ] Ĺ1nzxaHM9bhc.6gDʋ6H }iǰ m۪ɪSh |dR%RmxUdbY Ksr+U gg ]$Q_sDDgc"xc#>t/hXd 34*f6iMaQ^n>[wgf:[ngp0P*zAs3Ur贏nN&,zDŽ$06˿>3Yk…)7 iFVvP8r$Sr 7|߁WaC{\%NOja6 ȄmX%}aqڱw }@iӟͽ)D ΓDAJ`.ژw|=XĪ6P*Ҫ}T V|QoJ4zuA]}2T63:VN) 9FY!={E`Ы0N k&<0tRc{ɊG볤D rN0`}ɱĺ8X2˼S@ -(۷$˵;61@(ZƾhR̢RS:֕?0@((\D-) KP&v:`5{s׌v@m }BO 0. &,tm¨\7vT;MĶL\$,e? tH/fpxزRέ+}PvkM vUd:cS FYz|nϵ-F'٠<;U T(j@.KCвb- )6J{K2 [?Rȝ'd2rp<_Qxq PrMdimPwHܲIZ"Fܫ_*4Lgs6`0[&E䢨߁)}#$"s \c/(!SKԟI|#E;%B2gRY?Ol"՞8e3[-e~lik)_<^#բۼaVx}wO ?oB?a3Šge]6;fұUg=URa3V A.y  T&%W,{fjCJ#(V_l9 EJ*3sJaF˝Pu^dsN L/FҢɷ MW ʛ/w@15ô\ )e7,̊&I` h ؍8 ՚Fx %f)4?G6tCĺ[eBJ00`T.$ _$ M~*\v/IQb8]h+ =Fp3^Rc 4mX I(f< ͊4AҩX1S  3 }bx\6ܲn"SpjCF?uM@@UCPN nPqMS^~Δ>o0 HY_Mζweemxh|o̎N8ֿ2U!f1xXti+ ?VAtEfb4Tu~Q'fIIs; {-8R: g TMfi&ٻ>&2P6x([=K3? ]#[Qz\㆗Oۨ^XRGVEƐxA<+{\6Dm  pH-oD47|0 wu| 7)PBv#_|hjo4"S @ BөG3s=]P-c+:\wOclμ<.ar 1T"b?ӘlkwT>52 (J׶!LjCѐp(h/-!H L-,3{0qܟ_/t\2>JX(lIf}9lv `e:v-Ůtd !ep/ P,{HlG"oqM.vÛ]5KWJeatc$UK^ZgĿ*\^@ |D[v^Ư%GΛ2+?! /ҕr jȒhx9🔹=@}F.=[8>"uS(N <\D60N:ptz'_s81)>G()<ݵTKP[H>$ߊT~;Řy9-Ȭֹ!OU;oAΆ̙ٮK}Uˮv8Zs hoA[2n^;{bo"$)t`x3 Pg @ 0v*X'xѾw{{+/C̸ռ/dE ]r$Za 8kPO]Σ1_9!J*:l825*XZv=Ȕ(ѤhЗp9h9VP_lķKHS\{<"kP?&B)z 0/2h Ϥdq{XPjERW>գ1v$1lRR$GQ$4M0RhEʬ,Yr'd,n!tT/GcO1 \ߨ}i^BgOaHʚuu@,d4֗LdMW]¢N_S]mE6_8'Pz;Cr\j!kFkv"ȧiE^-z>'(xn)7zrgDR 3ƚ^JDEc.Mǿ?2dOhXR+DKH SCNf-=]k"eظ]XI*J &zE\MC1re.61]G/pQ^vvFM9/1| L~Lr%^k\+YFj}Gepb]_},|*uܾTZKs {YiHAǚڋ".B AD_QϪ"{>Np/g0J4lY (FE= R:2Y:\2=fmͼ(rh~{5U'؋Y5Y!Iip$BbGNC'\Enp,vٜ^i-X͈+ﷄH<.g?t+2=F-o=8^gv,~[9Lpw!3têUM#I*} x+cK=amz6^l[Nyx' ݑTy^rS[[ԑ!=}@n yć(2=b]tBi'q*khU *߽Og8Mde &W# S܍ELTdḺňc>*@ˋŶX̧uZA[T<"|MȘA0wF•2ɒ 3!wg@?EbaΜ%Qtg]zZ AS~'B.Tʃa*;#c(lR{eP_YFg/f5֕w }rd:~]~,0}Zx4r|kp/ƍ~ލyE2D?'Ȥf16,/PQOIٸөgz4Ջ?/^;sy%j,|4{l (@vn\&ӕn PCԩSpẄ́eE_ă&t($ 5O+W0<ۖP>8uc ?ˋY3R@&jQ*cvWs-{VV積 zȢ$TeF A^~Mk"dLN.;[yWv)L`k`M֔DgL _+P(9Fr,ڰn )XgzW k5\Gό1|D[zʼK|c%$ #LRO _CT@QaDKt)q"Z2ڎ[u<eoO XCܙbegttݥ\QNmC24Nc}v@IB*49׳<.]гg;O+]qпN*0mJ+nAS_ř5^Lss|"(1YTړT 8hk#^"hٞPc#4G%pψ wwX},S O *VɑnOԊJz#,.W]JOOBo{EUu?eDީγ~;% q7d ʳw+:h4db^f2-@&Ds*ٞԉ3>4(J4|uqO2 D`!7 O<~u"mx֓]4gQe!Ie)jR`OֳSePю_Tݒ;hqZB-ާijm!͜0'6L(,k*Sxj vr'}輎G 75EJ@ iU|9|T̮9=Mc/k2_#>v;QܟxY{z=(k?ڵ>:od˼\.)<A53T;=+rIJ78~I]Wjiܖyф7)QcɏӨ>K _72-{,$]P)2_+$[5B8AƘ9u{`f7o*soRsXMdudoOu+F`~uNWsο>7MHBVY0Dd|PBW쫮ǐJbl@d4q(3j:!oڅ=< &K; t=7JPaukܑR G҆21窦c_I s3^a3xH1_] \ځTEl yeu3[i-RNg{yǕc#0\#-`&P.=Px\YyQafO4H 7ib4[#&.!8/h$BHG?ZUmJlŇ 6aȘ" c^4ֵo!Ck.'(ݪvNv]ӎXDz3-qk-KUp=u'fAWaU-DDz_%2&c> =0*0!2ŲRfH{. 7:h`&ƫ!ZU"|l IWwprYr5#*Ck&]]~F*ky ܟ#''=ݛ=JCOSb-=0~xS}r9/mGP}̩:&B3p,w}! 5߫ΩEH,v4Z KHS{ɴtX-梯Z|ގ679.Y`򡥇hw-RM'JLv 3GDxi {bw4ބ jr*5ߙg,:,ət _Hi@f1|ݭxT>Ⱈinw,t _< ½~gPi^JF |["A#rL `1<(j܇Ƈz]d%zC,YlvaShlR NEL|9h 7/D}u7k&f5x jS.֓BP|n}+ζ'2$<ߘU^$mlˏ1`=ٝ3nB;D)n ~)UN%>i3\WgRa\(wQoQ._A\)tOIxE/N-Ae ?R Kc/xv}Ï坷ݿ7U9z%( Dކȸ3L;W+c ,X3OObEH Gz$7k$h-&qBǍ#:Y1j #yZvn,P6.m[̚k0[(cCe-k:B61\B,Z#>:˖+A 1.Skggjӌ#hXhrown:COۘ@ԓᨵ 'Ok%2N_ޛ~4r?/ b+bavXQnJ)N枵F+ 祖xrLsM+Λߜj|ρ_ǩ Y &h.oߕ2įk0w"*~ 6jGP0H1}TF6#pIZO f0NaY`M[- +*Ѝ|xw>:rd3 tU/nh M–yDUD u/~W^]VZY@%v-R,,Pw[5ا[\ in!~VAbDa^V+"%HY[ʔ- Jmn_`ręVF#)VI}? /B="WP}Zhv橍)҈>[ԇtTwlt']?@:ܯT@Kn$YɾMܭXb;<ἑ="[XNuǸY&#5W;WJOģ6Ekw?. .T8eWqeHȓvn}.DV--HNz6NBN(N` B&ȁH AyBIʏ˜& !crnPY}٤$ ~cuVP-ǦtAhvOojx&=)ݕ22Ϟ{w [%x5!Ά*.F7pF:ȯ-3vy};!Cp6vGЕcћ;irM4qrNbgkAZ@VL<@ M:E,tbѐ+^l-BۉM@߬Қ [W6SF&0 4 a vfs-XCAPQSxP Te֛e R/ I#҇w|frBOKtJ/,~<,bH*c8a&yv+Έ73')+L:c&nV&*1-564;i1ٰQ y6}$ aUP/EDSY{8TzIJOڅ^yA*Iodzӯ=3RQeB俳REa95.ZQnG̷t>\^A,:KNA6RJ攦[cPa9eA^g}L4 IBDݒoz:5st,+Ldyװu$aK& wWLH@J6$s5f={ea}:-X,½ hXNFxf`}F1^g%LIw8jE(F@Y]& ] s.-^RynVNOi.43h\7M 9?%5,D^H(jEiNy퀚lWn8va+:ѶcJbGYѯGQig+n 닮 D6cW}Y%]G)Usyx|$Oq.bP:<7dPĠl/14(l$i[-9b9@v y&}fv/#Wal+XQ,#*TE5$%o!jf\,U;ܺA _=⩭n7>3P;Kh{J6Wv[VvBo''өlD ٔGEnxʳ $گRxCq~qsJ(,[Mc`n(Aᆑ#Xv,b|pdůx'B35,b$ a63O<@P4rV'g9J%puuC?q߁VƸJ!=Źc)p#se`|TP/bIx_@xVG W31$mNX,yiKV[4c{+cn*qÇU Pؘ=$EG -4PD%/ lexp)?oFׄEX|#$3}HȀ|7OKH[FL,n< j`f|agOi:͐Ǜ}"NAPln$v I'p= D,ǀx[%"Kʳ+A+a~,YV:ʡO 7{"EԻ0~!I'9k}/'{%@ b:On  `eܠN޾"e_⺧|v+ͣc=r7$|V]A5Ο@a~2ds -oLR ts[vMt4?ʟ?4Oʸ*4=#P,ƕ,2.;IE j0Ÿ8JX|7|QSBiیΨa{(-EVqD3HhAf.KLV0FlۊyM`Pzn4:VvvF-z#0Vo =yzk~^sk}gcL4i-L.dibҞe\D2z$([L\ ЄMEtj ٚ(8aMhyc؁z3qUI[KH.04ҼLyb܁=[\Q\~: LԑaR)P-;7'B@%\=5 c *ɫ&sWۆ\SvU+?٫_y(cA1FMo?^yFz}\C&a&)0+SBꧺIszWl«3ѦbA'EF&4PǙe>M yp-tA2 't[7H3M荰 B5=Bz$M_ITYS&'$gG8(Q1нXgS5$#tY*KS=0:dd4'1?^Jt:욼34+|ɻ+/K`T295I>9ҿKTѤ-&p+&Qn YlPm=SL֨4%c+==þ%?LQzZA%/jg]l=YBhّ*W[Ivy&hyOP\9ZepUyכc*:m>ַ|+蟿a}QlZdYi="b~ A~wtP_^"u<^'J2Q#ɂD+V͵>鸁3$FשUI?22" ~TD`NI.>pl3+u&ǭ5֙Q!<[}Lэ /_]}Ғ]{rW+iW@:Lߎ0( %CCzwviB8;K%W̷t}0 ?j&{Girc֮y6yTxz`#To/P볊MOK| @HT}{RBﯫwN0jU q)Q6-T 4wqQ'ԅOQخ8EE3 Jl1RRSq&.X T!8"xn֥mҔ՝Aܔ7XdC*.+gfw DbȽ(9iʛydaa rO; 9i8pZ#_zEԂձ&@J]\CtfLYV%S0Ls03 p"C=v<`(|.CΆ#̮b=&DnUȼ{l z}uk?g9M4T eoִ/0=)\*m)azVuUe2_V|?ς8ʢחu1*e20ҷ-~9[Vt%|.<ҷK*^ث2y,*j`>`JR^,z' հJ;{#t:: 54糥ej*:QQ|g)?JkGxՍMjX57»쾺Ň)fM3%m]nV[nrMmԛn3EK[^HYp8u+Jqc2G7]FNg76S] NB\FPl!8|!n6 V.ǜN߄ao5L WNK2^ȫOFIoTv G QW}>#?X5ЙxR);~,:|5G0+٤j\1'+j:A##XOGl2[pt*x%#d{=ؔ0jy) vy˫/_ eu U6={#FK=5B$p|}fz!@;Xx6yF׍SI_@0T{S )s`5~Zn°u> Ukue FUR4W66lu5v`E1:rı;! R4ѝPy/Gmex\z>Kn~h?h?IH$K[m1q@1a~S<Sg7؜L>kC7ožVfhE>vZ5bjlPWf$%/$ Ե& A8.9.ikW+)y]EZt8=[InvΝ$(I3G5f4߯WZW9DPWa˄#DQx8Z]R2aáѬI_]@|"۵$Wu('+Am:h)7)[ɘbDFFgKCīc\Qj@^^:erlp3)Ԯ&mQNjhd*( 1)&IcswE{. ۰t8ß˻f#v_c𓑺?V`hv)x7/;N恦mF%TlP.0Uܣm\g*)[YqGw0okGpY`Nb P.'i%NNmt>mh17ن~/{"YtgqSWӄɢ91I~ HLJ/W'5D:\3maLT%@s\yij{AkFC*nTjۮQI> ^f8Ω uE+0[x@2<89{f^\PsŰ2=hpF ~|EBCo7Y}87fdLӾ[_Ln/vt0mzN ԫUv"v. A#Ht\vjOף]z~F)RgZ}daEa0IV=A]g$o.Cn.3a[H{i?QIn%s~,LNUF"1@Fj:smX졃gGKpҢ3vl/`]c.Pg ^U DN!]&thzC"Nfyq 5o&Si1'+RIpeKgQ={>ΉjE1mYlqD\^Iv0>z]j]}+aJ Vo=u^ ?F#@>[ə\mD8WݰH8mRF+eogϵei3pi+)[#sxӴty/,8z>iEU~2L(*%*iA?8 qҾr^cࠖ]TYտ\I'+Y R1247vphV'7dɿkگgE*'y@AtB|X9#?~7Jۥ Sb':"[k!>ٜ/ f[0 >2gu`#@f,$9ov垗.)q_rm[fϝa`9p>9_| A@*ڎR$I؄]-C.:XG%ڧ*FiؑQJ.C `Lo/.Z 8,2E|W"d U %V&kGG QP"exVȯ0:Yx*^lL7jdxEG8LїE[O9~JH灪̐o<ՂDGIDO躂L%Hi:u ;˽W38X*U}GQgKF#~1iȞ΀&{ ,Hdd\8M[=s;D$2ᰏ>={RN sPrG߫Xjr />>#sw"(8\7jbISqF9S6M΂#bp `%tW@*I`|u*{>ܬ) 2K bH|Y՝'NR^)s)/bzKoު\{GzcH_sEU0P5ł 9M`ŴRLsZu1hlr&몳k%&z \rB<"CEbSc<^ T̼vq]UCİMS $oF46*B3DɅV=I )sYLjw`lyȩI|:[vfr*jy^ \wJJX)\-d4p^g\ pŽ9|Pv|Z; {%,}Q4ރr([Y l+hv !Fܠ5K T)QɏhχNvg3?A7ruboW g'h Rdܧq}ݖ /Z[neUq [efݣHl@N:(.n'[ne8C\ +O?nv5}AiG,)Re-dY^=rk``VV'eOsx'12r+}qʒo<Dx^1)CF滋3@?Y*,L}td ,k !uƎx>%$qIY1-u YmCH1TqjZKIݪQnV)@{Z5IlaaR}k8Y,oo#VnbgZ{f}w}sqnhݥ3-ţ1Cb0FYijs= }4'I\XZ Afvf`i@-'?`u‚:3: Q[I8LjkBw䤊W`K8@=1o`4#YoZvwy8VLB1Lڥ&W.wݓP8;ZETg㑮l6%[ T&rA[y" yt(/T5 oR-5,W,,jEG>%d|G90bxhh\9jq[5k.05#=%5`윥l xFAS*jk;Ѱº_>0r]h9ǚo: W<"w$p(c]wؔYRLV ؇L&} }:~сc fZr?k03%l`ouoiyLqZ A -};fZA+g2DrFߝ(4YauD"ﮇhrӫw FCd0}ᴽvk,L(ѠW1,}l̀ū>)6&y+ھFmQDgÝELvtBAr|Հ߶i] ] Cjщ}Jx0u".Mȧh;:M*[U6w\sƱ|L}jؐ*.wAަ95$e3U)^\=5cYHo D~eՀ`on$ŝFh9n1*J(^?H k^:e'o6Q'sK1yQ; NOV]i4bk89nD"svSumgE9Pƀv7> QXOno C$D^&@_ՇjT*4̚|zM&NFGDC<'0~GB c^]a 6Woc@W>R3fH;!KuTXש Id ? ɣ1¬KAqǧhR`5EQ776V M$(LJeʅjq#R)܊ @ߝ-?Y/"5:Zw><87ٯW,jzf]rDspD snk0xnז2|2T!O]'J[C෇(jYq'&JcD"8h)iR?'o< Yw$dKl/-;8JˠMazX@ـ6qq&4^>fIgDQ>SQӡlYuC5tdi恛UHR)ewfI5IpbEr~@(%5X@Qں81G4rZEթ2$>^Sk* ~"J ~s-'υxE'c< v- y ɵp^d{|6{b |8`*%pU_z/%!d3r%w ﮊ/ Ks2Jo 靀U||:$򂜌 1k+Y9{6E<_Ә2U v=FMp Z)S,sa?6~HŚlQ:xrE=jA mmʓyLL1dj$ RV6EgLK{ #E0DWMj&;sBN9iH]j"彈콙q;B!CfQtk ~˕+II*#$dXsJf}q>@ʨ(2d̃ucQL:_(U+]L&8G(pG8XߨXD_#8"_ؕ @f~ hx'!^kyژ:h3V%YN<_n}I jbѐy>|\2Tml&S/CDs8&rbBKY'˗ m T` 0"zQ׈i *EEF*=S60DⱢB2u zy1cOx(.8H@p48#x43㰶v;ʰ'MzjB%~X\bJÔJ\mE+jWëƜ-m:+Uyԁm:(SO[QKpZvȣ9erKKl@_8E8F>36 ;ǧp'U͙ͮ&wY]Rs.2#GQ0 F)8 sfo3Vlmj|U VqfOTϹy9 7. ]7UZvIHLPUCxo+7|;_23^ /V.DO[{&'֙ZC3gzUJgYc;%ǗAͩX]tjBU)ה %jU~}ڔ鮯<oj<6ȧg]rSٝX.Sδ,/~"52+J/B גMwYHqR s*E̴"?sԣ~'EOy8_ތv3]4W,%7b>I%glhq HG'YyD2_N\;8b[ɂbn_XZdžq>]Ol;RjNڥ̥o)?( 2|bpL.&e"2!rB$-ȯ5WLKϦXtO0A:W¼k^+LvCL9'OQ[l(7#v==BEde&gpwF9ϥVK\?3U;qVC^ 7>H@^mt@A2X`DbozlsrÖ ^>3nz \cjf#0x1w쪮C0;t-{:+V=Nʪ`tN:&V[R@?jO Aߞ骅OS-Z]b;c16h^^$6׊m{Sf3;(18`%tQ\?+WkzenV&1I(N|5NB !r ޒ)(d[-,,GD;TuUH0ģ)K< XX3E$+Sw$ ĭe޸ߔ8>'pm*bB5 fj +5j<iǀMFj B)dkAEf#.Sx+3toCE%C6Q\溅 GM^gt98W:*ߝ%DN~7a,iK T?7<{-)QZyK5¬pf$)*' }JqZz 93w5i#s4,HJf#1l1VQH7~ zܗ 0bXԏfwΗdEh^D.J6"Ueq,ay^ foFRNw]i T !&_i)< 㒟? VBM3.Kwb7/ٌ:Y%:E49ig9/*BKF9el$ 6hA M* Դ\JkR`p5DCẂ$}q TFJ܇rAD,Ea4vg^D0סoR.⇩3hv"RM]^&`(vZ /a3ed:dK5ږJ7|[10'$+ BR& A,6WY1y%k:hF=wڋ$E&gH/gNWHsC \OFX`QQ2T*+AArJLjʹ(sHkEfn CEXw@HJ⹧OwǮ?8@Txp[{ ̆1nܺ?>E?oyfs, ɤu}| 㩇g↑ $Fwi%Q^ܗP~5Tlj /OJI,ɇۇ/&: }ckiuD6}y -~,cZnZR lhơ$%Ѩ3Yi]"? gF9QTy6 :.6:2o/ L,vߩf##Huk)YF˗$ :^ND.Op/oTG-?mʕ}w|56W'H+ uD!o.m4愞C0kya Ls3&fk2a^}:!Us'~mlNI]K!$奥@jvO|0 enBH=RbYMuV}9KWggyଢ଼b%֌ˀǢ3"DIa8Wr5Q[^>΄>Ŝ/Mr-蔃":4ä Hg;ۢ&-R޴bWD|/;Dd^,Hv[F BfܲSֽL:Y~풊T۲ò $陖Cl-ߗJǸz)yW@Dy?4G>\ŝL&Qzھ.JMab02n6|v/@(Sс,ܾ׈TW]ga'2 &*UW-MqPɥCҕi#%3|f Zk#j2!W (5!=Cob`Lm%?ٹrgRɬ^1۱KY儽{e/zyYFrH@0 }ƩQހ *=nZ>pq*1bB3rk#ASԓ4KdHy4YAg94h'X'"Lp&`5#_ 瀌-&15 sCkL$(:eGGuK`婠\6_&p-xZMw2ʵ*͗EX!WUWξAfg%k| ge;G0MB7bzpmSNY vz>N|Iœڥ7!i;mCuh[\[5[L-AwS@Hb1%hR2ʘK"a\1Z2+-+2*F )h쏗zej4 w}i~7*ÿi RDM z{@~_r^iξ@>,-#q^p<ƶ~` Ub^WHp=Afc6lCWc'FUv\zJwHk.2($=U{(,ɷ 2,%@GZ,bq0b[^agئX]wJ62㓛 ꡆVr.zd)*GNq$`@/@iGMtk3]&@}KJWC*\?a>|~ LHo؅n_0 ^zs>] Rtd_a1l򖅇vYr!mU_JD3g&p,a6O`ɪ8סpvq?wQURGu w&WI{j4nu= ?l3[q9SZ^6`)vEFqREPi̺7; jZF}z21+U$+Ey ')u雠 v/:u|1 ZR>PR: vR1+BJ0 &mq, WE92"$2d=\ HHz%(yowXa" y-w2q~:WT+>-W.jقP (M4<[+&g1tx멜@5>Ӝ z4L}\jT&wU5V̶B춮]yE#|c~[|.vwIׄ]}'$ӟnt7^cw=#Y^#+C6 ^qV_!_ Y%ty065\dےW?6u#ж*S7lZ7غVe[ T*p}Iogƀ7eybpl`UNv>z=p҉Ws-a mb LMh FͪJg.N것jU &]%#m\x+ ]ؽ:yp9WӾiR`2]kbcBOG_9 AA2qnf:{A[^`TdzmoTDt- $xHC0Aꊄ|QpƦ=?Cyx tTælܟg DlU`F!jҮ%LŮ8W?({m"$zd ?ňq5Sy'|8O.dƫ4!gXǹ ݠ (WM7NQa9ehh_ <1I;,Z3qOluVe y_,}!9Jbsh)adk,"&jz!k%M$=Ë3Dx`Tlx$[jfN_}E6[gֻlQ:{%ܕ5̨  His4IShŔE`%8/ZnӿIkݺT~E }*O>zD}c eoezރ 8D9$f]n#@=<)U!V. `}؈DhP{(؟d<~ m}cXyh4pH宏إAvS>e(/sa}@Eg}OPR78Aǁ[SR1^zӺuU?Ynn@ƕޮ ŬQq"jkl DwqQ:rOTXK+[RvĄJ`5ن[@u2BQͧŃ$8{^JGJV5X#m)$,)5x{vOyx$`D/B&-9iMzl6g]UtHG B0h_?vE>hJ03sfXR 3NksqJ"ZbOR]odWuۜɪ]F4dkXbq!U/ .?/ No[l[\o (" kz؞^mZsv p鱥yyfrZz0xX =TK'.\+wdee«zȉR-hot\Ja dI`lޡ f|%79qtRț}ׄo;Eczկn;)aja}ǭ꺍1dᐃ~9f8Ja:]xj{ |m=^yYנEPb/NFوr՞ UP.gQ%!,`a4Z6TM_#8=ɿx,{5xhC9&U;^AFtyemʴ"9TF2P 'k4ţBk8ӊjL8h5 , 3w3[=JiU\Ud%~|@ 9ڞkV?UD҅\ݖ|GJ6&ND3tRэV'ͳnuYl]st5G^meKߨT0Beuog{n H!Oͧ\bn.fB*Tt7Ǎ˵E2( 7!8$w:P_kj@@r3IuYfƆۀ/@ 1}@S ~:Seh&'c}_g/(='A%ey[hMaE0Xq8h1HȠ+d*+ajFv0U"_2C}d(z17͑%i0wŴ%ٖLg9+c :,6e¶^Mϸ:Q#gT7x%ksUx^VsV*iqtXECOZe )"Φ9XD?XA?%V64UcxOюH`mPAT 8,ՐwD%7"|ЦOmYy̸6hڇ>`D~ۯE@! ^]]m7xF} -q)YGjÚr, :W\>ý| jBP*-s!C:5xDZ]80kEdԛx8u7=z1a*9CnCu KUv!i*K|tpnFMu Yn|ovȿVHWH0sΕhKK+-PzߴNqdOHG7^TL3:֚@GcG'Dy- 2|&yW$eɐk{ko,C/s mM{Y3д^*n&L+sHb3Tߗ*QwRw L=&b؅tEa3ĥ~*ҙ7\,CG[cR_nG/V5W=uU ?֔4ӿjWdtP~Pzɡb ߞu n^QJ *n_ǨDaEe&me 5"s2hͲq~1zA؆NGP*WI:*Y&?*b̀*3SdHwv%&sXr̛QF;=Q5kjkJ{}TÛ Ra.hſ;NӛT;s0 m/Y(ֻzq/IZS n)t;O1o? C\?%FA} &2ΑgO_ ;0&dZ# ftxˈfn6[+_j 'ΛlC?!mc}cڣ,mjvbpY8||NAuNCf^J':hUF8)׸BYp'NLp{c}z^inM,dZ:tۆs"}jR#Z{n9RwX:}(dP5#̣ |j< Uepjo)[ɢj*("(|Z%fEj -^6jVFqj #_\SԠ%]8@ݡ;fKY( `{$-tg#XCQ` Ev]C_Jhڿ+()aCP@Y_=t.?Gy*PJC2yJ.Oʚ`<'Yq>RxY)T!Sf]WHNvTKD2p/,8PpFCix{´qIp.$_PcCۺZ&&%;ZMkOU#WE)rUOo=9TB+K׌i@v;y7X2[MSc?DٻMl8;2olPd0WADd@|`Uãθ3 ;V4;!]K?j;Iwsa]`ٮ%y9?30b^e+g8L@V}6侸ᴎ!|dZ9WF?*!Np)0 Ug -VTF?fit opYRVBFH.a{D] rױ69Zz?-"m8, o;A._F4ʇD2j?@eOM>Zgkc>ƈgge5g}—`\ςu.uEeNOrHc٠\6*@C'r/qhw fS.zqs7`,znⴉk bȕU9v*uϬwkt0ߢW TR&kRn #3.lO!@Xi&BԐ2OH[Ww Ns??ܡr-Cly@''FD0Ax~2An Ei<{2BX8 H0i&5!@1Oxr7Uvw݊.&HGql3er\,aі7iXE${W) LYMSÝ'P6+*> [̳a`f;vc#<G`U_ duT0uu5*pb"ܣbIF<& L {R4\줶8SnDm:I\R3.gn$4%dT Ѐz~- n@'֬L'RL;^᲼,v4*VpCQ̷`5t_q"/ljv%R>\ nfzDR5aLGa0_+F8LnvPtT7A۾3pBE!x&zf}$ܿa7}_EAt &w<_,aP>喧V㘲l }vzZ_3z/qgv0 8s<`3=/H.%7G; GM3cE-$ɑls; ښ]e^t}kϽ ,a2Y Ÿ."Hv~T#-k;1R6/Fh-s6{Vs@owKjkFQmрPPJ3'ئ? ߲mVR1Lȕ)7qeipyRlS*[b!q#gG_`9]7-щԉ /xaaWDmbj泌"k;4!^&zpF Ȯ)~$H(h&>/( ( U i;37ֹ W&ibrWWo=c7Liz_V#IIglƏ0phY+Pjnb)>_Qvcz..r:kYJd,}J& R8w2'H]ٴ[CX& ҸZF_*X*}A:foG-t;~GQР/+( .Ҩ~. daB\ȁQAy9j#SQGghiᒜygȻ*,,Xߓt#,@d8,IBއiw-!E[i_3LCSH53,v/E<;epsևCr2OVg*s0&p x2^ռ~[~8}e&VT ͤnZ$+ĶRbȾL0CbR6HU!jiJpx{Cj8x#Z=3Ȑ,}MerwգR2p>2.Ygڢ')k8\?HEkIA gО|5}C*ꎳN{2GSR>uv#xe7숌n%>p3)E`9dǨkLK<M,N֞ ν- +XTh"c>HDhY*-Vxqzz +F?Ւcp[KE!QXpbo#5m2Ƈ9=ݚz . g{{=ݜj2ݹ*iUy:bL8mpk} Tu:j|}ZIJIi~6YѳmJ{|(J&;"lf˖8y]Uu W (D] *%'|~oL]NB9'xA%lU- OىϷ uAMD_$X^r-bߚ2Nu3>XT05`m+6|j9K Q y,W-f,nmN:V%Uumvf4+Z=X@)² /(#ٛK G.UQGj]3OgZJ!f1"*?>fjR$Z"= Dpn@|5[9èEfI5,2r3Okd aڱ]]tK1 h&D,s4YtrJV<N@{E|0 eH#U3!Aؒ@[8LxJ:>r?4i+!r-*=+m`QVd-i8e,`#$֏@]~p~}$@b.CM8STIAiȏ$ˉx l$#RD,&y'˔R>B#]mJ(2ajMže0XY7@&pWv8~HBl53d!RhKrǵw. Ҧ^oGĴ1R|*:ʺdw5>0[@9޻g?s^/&IU]U+%89LlMΒwIs wj< S)L fw 1Q480 `b@Y[ <}\[Eȳ!.'Bd8AU%β?+JnMuj TR\ӠLT -3'u2lt|$\TIDC٤eLw@W!2poLC/6ɧ ߅gQJ鷕['6 Q+'[<_g‚~YlTy^@hqlb%6l5ٛulm-B9Fzݩ_v6x1HhN7s;\kF/@=*&Sok4wD_݀q һ.i/:s74} X_QV/6,A+3&^.jLGJ)~*XGNoAx{_n܊Pp$,}_ohP VM+XؤJZϳ5]PHg#oWXgԱe| T&Q&S@y G}kIy*E>qhڹNxJ~05 oVQ7ImӒ #(=mF="dEb.+'PA~0B$3)6I x*K} 9$X?"0h1rX b!*%{Q%yE'6BU%JEe}^4N!ڷpS^eX`޲3Ye]>K?$ _жU7lkkx|#44SA&qpf,{RM T'ciD3-ލ25%62m^VK7@zkQVㄺJ2Q8 nzsȂHA{L"X(,d9qSד]"Fb s {T봅5s غT^hGLu2Sӈ`z~ȥkQ-q,?]HJ\ hzgt[eҒ3e[g9(p޺qc!娟!E46(cǵ"&f+vV.t"S4aAI߫ ]l("C5JJY|'{C>V2P ň$k~O05ׯ^ &(/U/37+a;ABX.Ⳟ[{)3bjqk_* N:2@pǬ(654ߖw>b[WzD$ 1a3@X۞])VԖsɩD>]B5m7*ZzOVYq:za b*5p_Vf`wKDC*qD-՚@1q[~A*5o0V?hmZCn`˰)o8}'ʉF,aث!CAU A=^n]àO%(X|k7<tNe7YJɞ-Góo'˄r9pg(S6zI*ļBy5%ESMq(.Agsc˰\xVș|!T@tU1fzMcm⺛;f_< :c 7dvX,%4 ӯ`gGҝ?KUV-:p7_:&Of6r)Bof48M`alp*o$?0!Fnl |6ёB5] `U{7 Y 5: C𯀫LZBs M{ZHON3X8wbMQG]y>S#ft!&B^l6*LwKFK_u;햮jK C#)C Y -U;~)zz镠avsN~Ք3҄wP@rHrJL!!7_c.4oT=c;eeU %ZR1Rf}?e|d^YSE9ngJsTA$qeOܝ^gz,Z ,HHAYsW˝[(N%5"\V`ƥQF'.q16!.d>h~d# [Q;>/1RNDqkhRnQiRnrp]BE1d|d?@m/KHUqҾ);Y !S W,l, Sd d,ynCkJ76߽Q|׎C%£cڂt~hsHhhh*[ ᵣGj$3 7Jէ^ao<xg`.3]g{'|fX=gC"b{,|?Wn[ĵ5+i9M9qPϾLH'NuQa :.>-)Jjog~tccvLf ]ed9P:rg ڈHރO2`G)ܕTM^j: Fi1ى^^a*Iqd*ްoaJ#_9@*p]zjqYbC~3cę# +eħMጢ Z|z-l.N( "2TBY' }) |(&Ϳ*bt o%RVס+]Uvꎴ,;{o@RpG~g:̉Bi;C>8>V2PDDm@"[ AkYWdNkVdZSc O7V+)҄t2k-z%f& w]m0-L(SĀ~y =I]۬RcJ-p)*`>40Xo 5/-R䵌؅nv=pkS]^Quࠕx噫UË9Ȋ##8̨Vw򩟏2h+yfy}%8֓Dk{}woS3\KqUU6v'M9yG*4δU-6\4^Cn*9JZxB0&iˢZ6_ 7cXwvnB1~!'ת xeNuw7y*H׈ ɲ~ͦ'.+p:,{8I|ui; qopHq6 p^r T:5nddpq9/@+CP`M'N|g~0+-qA_,^93 ِ,{bEuOʿMc\1* E)4u WDtpmN2Mfr)_ƃne$~OyREjNRPAM-"\=dUBTtAXr0c @,]̊Ҏ[z٦&2lD+HRh[GYj>`n1@}DHa"d_>cGTx׃|gd;xaϪkZoa"Tћk40lUf}^=>()8(ټZsv*;Iܭ8}r iլ0gpOSjh^2Q$B]WE-k-?-OYk)$&w&HAEL5QO5Z?%l(z%YI>af.HO vR$%P`ILyM$b兲|"*LkC{㰴 P˲DʰùώL9bmޚQ6;Ii G%'+Sy}Xӿ4Vxd5o7uW'Dqb;Gqa-Ѫe+&5ùJ0h'"IY }eK?$̑VYk1b &?eE LZ//ӊL{a6F'c JĔd+"bqD;M!T} w%FL.~&DZtx`_X|ED꩜WsO [$/Esr5,ՍQ X>9Mq 1b:K0$!nvY}(u:ܼ^#MP9\<^lg#ځDRHu!}ܑ  6yIW[b9c\'Aq.B_2Yih BJOycen 1 t/ln=EN=c3t^07UȽP猪Z uoЂ4OGRk&&mfM?ڃ`7]I;£cPK5]zaw>դ5<;dR:894#\@7hL̸u`Q~k [9i*h 1&^p+^@!0 6{h|{ ,^&y#K'GsmӉ5cbnN%{u4^4$ k;li=}28SmLD U'=*{\+F PMB #$`ƀUE0Rl2 e~]XYI8O<`p [f{:1Z-ѐĔ`v^@aWA=u.gYU430ǡ8iȰiln%3Ꙧ95y-aSUZ&;9#Tp,BRENy Jg iE W\hsO\88Q;=9R0MIS rclp/ef8m;?t3J[z;TJ.Vi-NHfGw"gPOu:hP<')m~j)J(߇O2SC'SJ8 ҧsĪ{vwJC6^n9cQ|71x8UMV_E HxC&؊;g+.CU,Ul*Zc' dg =4mC@ȴ+ ΄y8N ΋n)\PƿAQIJV@ә$K*R{e1 ]ќ emބqwp "Br.Ц@Hi&Z;}P |v: >=XGE1\z_*z}]%&xya}6:әČc1zvzӹ[ЁjjJwLM2\>s-Ah?^'\8n| T>*&V5I> =-k_`|Q'+½j zIsz95ݩ#~Œ!eK ]$C^n6(tCs`d]ms%=G Bٴg8'-0XpŐ]ҸfKAÄzIzĄBj ~ =FQ}]ݕz{WZ XHLNI{S}_APG_~2*4tXbAv3OAUPؼ> Sp~#qo|XI>SjHg&|n݄kĭVL+ֱU2TpcPYJLb?7>撉a*i N$ ,>_dUhQFj94sn5IOqPm90Ѐ˯2" -@ N =bg.+>_w[Y+)/1,uy+h~2@i*%^{)U4Pmҋ-;>AOJ,-&P_wAӦׅ[o<5k9ֶIo9 c}" Y3scˉAjr߽A/,a;|>>%SW)bpvzʶR<j/DrtT',s2K>TDkF^#Z7աsaupQ/09vjr #B#`7\܊/V!dpr3 F~՟%gt:l&d~D\ }#29l+>WOTa|EޏͶA1V}Nr|}FPO_lL<4i 603O߶qj'}QF1yߛ +)V QXM<*̼L^.Žd(P5^8#l5X*r%-g:ެ f4t5"Ž:{bP \#of#Ӷ>TR=kcTH rs ejv ?Bt!Cq/@@!o!Zj[DlNf' 21'HK·UC׵źlY /"Iڎε9 iƮ2O~,Jn+_Ҕ:Q.!MJ49 )Ai PG${* ç#S.)r-t2hԷiD!:R+|N*i)K+~kFjv״JF"^X]9K?SAw6WO7|dC+ ki:WD9{|0ѷAU"ڶ1[|[SJ$f&KvJN<#H7څ:1NhGh&J 3Kf NL2n꿢*g2$(=EP~eSN8]2s3Ϊ QDˇ-hE%>/,_bsŊNm}Z.\]Ȁwo-DxRAWvFs{O߄/>m;*z jPGdxv1%{T @JbaK:uOp&A[>Y` lsO>Y*_38aZ|dQ ܪAF{@4 r5GJs+c|Vadaz-Ϯ$3u  n'(iGWHz5bMs̫sՠ|mfh_t״Q6U['N+i~=/iW5? =G` 6iQ^3/AWi)peP VaM55Eq:ze C̦hF&`ybbêg= 9ZVwpB|Czk5st;13Z>3:נyYԏn ~8@t01 g_O@T2w iLϠγE+AJ+*TSP`6юoے)?z_<>sjZx30LjoRd&[2z=f~Ft>UO5+\C GݺVӒm13xG;n Ksa;־qYWzp>]ǐ#zLl2󌚸= AdLه%1=4ruuXݩW@j |ʷ¦Nx+3pmV! /Kԭ 7frz7t. B KI0h$1&q STp8Ii".t J~{?7WaU+$DDiݿ(V9Y{<x%Pwٰ'!nSҊ*&ʊc]3cdghmO)e6Lu3zj!K,kז`_ڤyTp#EiJQhI YO\ ՛^y:ْ3ܟ5iv׻r/Fh2[TCdJ.qz3S׫cTY:{YAhGGb@b%V'%;d}Ps{U6k mEৌ}u`h,\/1p=ZD2 o(+RXS:6Inc3uDRmM#J9HZ4L+-?6޾z|fI4Lۄ>`qa2]̬Mf`eҶJRx>WqOVL鼧˝#Ȃo OaJnf+ pxC`r($U/]p BANuΣ)1{b&ՙ8[ gQLYy|QT-hQ@2:RSV1 b*HVކ?)m 6i謂6men~<n!@:ajq QRȏJF.4Ht,7 gi)ËM kĮ0Z$Vxm)0P7Gym5FSn鿌tFk2~PҶ\ݽ5 @0GkI׫ĜQYYDn*>wL@Z]siD%3X}\Bzc-]D_ɤ3i\_2-*C8hT/N"҃ te)=j % ^*KN H즣Eh坩m,C]^N=IP,x@ Lm-in*2%i/ ^`&%t^}0jJzz%dž-:$؊c7Ru^jl\`JН;UtL.V Kw^(DNPZc[ŸMRqaŀwadߖ`+kkEPuL3Cr)kF"JO>  +x94w e*ش{ǹ LZ+ T!s'q"I)z\TQb)ɋh5PpX,t@'udꛆA/CɻjD *m|;@m)p,laJ"-aj"Gw.C|8sR<֣ݺp$TƩ`6!#RC]1Lq5Y =`LcxR窧Ǖva~mZ._Rlyy-\#g*"|hU;iR܌4Fg^~ 'Z_Ia6j\ }$\sڕ$r(@e]ʄ{ hF ¼cd% 1@G~uI/yTkZ,ϋ:Iq6`'v`Q6T~xZ =ky"! *UKH-7:mKT[ToI/\C+>/P% U/CyEv O#uxd,K`ض%+k#BJLMKOct+ mBDM{b].*&*$]K&4jE:%|,-v6SL5lpVYz3@z Pѥ^:UK)ܝtboeJslU '6s}zau b =x2q~6JM zp@`O ^"k')/iz9v&7ۃ OTI.~LUlݨVND$9"  "W2f*xؽkYbQm5``s'J7%heəZmivQɗ[I,ݿE`vT] 1z ?JX&ˮB7!/lvS]i!C_/Xf" .?@RL+wP87[e>Ki_ )a#06h!C f$cڴ:1ZN=C]Jij zr;farqUhQ}m-oHk Ei_hT°T _'̡1 ?pi)6òov 9lQ(U(UTmy<ͤ<Z9j=b^F~BWR,1pj*p('/9ZE_!>60Bdg̥n*Q2u?(A>6d@w5a%cp %?٫ZsT^͢F8=(*Gxbp,{sBvDѻHXt91țem}`ҚWo ՘{Jz4,%elPpK9zI|%/QhG/tG|"T,I&VGA4ԄYɂ<ӶB{'XaedE/oV4;=)+ײ8drUG.\@=S;3}~YȋfR&iTiǑe'Kw e8/mrG!5S⿃'S5x[`$ c,[!un5I.jiYAa{)/HAlM\8E(pzU8iAO(B?$TɊ l#XA4dnB,,%;Dkϯ8?nv)~&/ʣ=\(ЃGVoL:I l\N;B߃S+\;q~1Ax-Q3+&TGZu3ˀVQs֥ݫ!^:5p NSnNSR!(zwܳv=e˲ Z_N$.8>)U!n+ s og0-42ϰ: q[Va IaW}1MEi Jep\}b7;j)KS-#f_g ' M]OSR‘ۇD߯o b[P67*yL=_ą0kܤd{W+Q4[wފ"VEKRD6+0/Rr"&\ێDlE`T ֗" |bfAD; >]w_򿲶r@Cuo`y1o@9v~r5mV:;>8$d7e;?Î:zq*"&ZCa$ګt ;m@|DIS]t[ijLG/#?Z65`Y YkX/\o!b ֚bu>Da&ضz0 &)wN@y&1sMg l45(F![֘X'tJmBj* ѸN6 xw.R:y*Ʒgxw?" .C׽+0qG?jcy lɞV/r3^-st邷9+ egw@tct=# TX.J: S{lsLJE]Dp!sZ[\E#PM ^\'b!&* vZAj4lg# RscҀB#FWIIad (`0TipGo]s<.rN|XM``*!kF~p jm)ܚ*Ї@K[{!D\qaN_ ~JJSZm&;n]>"&#рY#}Ko0GbN:@/ŴP{ElqgF8s*3'uד׬}F#"&0LKvl;qAKQd͕̘ X1%J^@؞ִ Gzd -20o"~帺_t/?,dafayڋbeK/,~fӓ)tՄcieR x-ϣ­ia- KBWf=nc0qfg;U '7bu^=.~ ?fHf>.;ΓW828h?Xqw` R7tǦh+VeH -Mhy1ӚTKNȊ -z-^YHhabnl ~Fܜ|̲xڌ:cim_6"JCۂHT6gGbʖ\Xό]_&vzOh*tC笙7_RzkBmS9{]IeP/9dz/&PG]Mo:*4:U##cX bo>hWj.o9z*dm%Z>ĥ,'=v> 0OZ ᜨ¸oo( Y mNr{@.dK_Aݘl*p"o) ӍJWR!g(6"drC#NB{2Qu@KBpb\>"xyVJQU#ROyy>` b;2891U7KZs1F9C8a!܌^1:G'Ib67 2ۿ셇٘'5'Bvw'8H8 x )7CD5AYQ旰dqУ\ "'虏DB^s^vw!B?4.d?=f.܍t'QlHCo4:{,um׀fVH(U,qeZy`,[lPwلL|?- /7Vvz<,ѣ,aQ5jmR #甿B2[l|k {m5+:]v/_ijx3t MO-;|KIf)D9 H YZ3rik'V=n&!3y6DvҷbpY R5ЧM+|~nxftp%/FHtm*fΚ0:ՍmS$[~v[Z3(|: L=Cdw/~~f-7h=Uo#i="T;'en=o:|N-e 5ՙ~&y>0ϕdϯÁCU 0 V":o}cֿ$_h\PaGJv+ 0~X,Îm 4d\2V)YHGȳU7X*.Q z:Aq Mw8 ZOZM=@zNu|%b)llow2V4]]8ϫkF| ~>Ua$Ncpz~ U\PEsX]"KMeY1e1D9JWK t*h$C٢,'tܛyJX$*#tLe-ԕB#-3Pj6_D fHY$aPEsKLj$r(-\'MYh9n\@5jAhb?Q3B.N9w Xic(iGeρmq%Xh,a̶7X~j*)riJ!jn'r2¤C0&=f{Z$Y37to&kZϚ!?ܫԃ'Ei\nQhU9upeNVc0@n26꾹8"2yR`w\h.cՙA ?f%\+Efݖ2 [*q۞b:h3+.T%BtiPq}b n&.#TY&l>wn!tDr鮿2\KS bShK48:M)sa^Tmov ]{~<69y6Jb:9RcCҔa:)#$*JOU.)k\4bcosɚYsύȷE ĸ;<-ҟKp䲑!SK0oe%IĢ f6Q (V:99mnFCD懵: W{*rs-O4A̋04;1M۠u0VPHn@yε][ R4姽l #\Z52 :B,(=P!ܑZ֤;c+ 4^\~dBp]⎭$? M(-픝]/čY06ZUNQ0rhP WRP]UB)\@? +ݩī\Ҷ&Cl{Kw:3VˣDI nGfkd: SE5v>X2}AgN) H6ø3= uM&^1ˠctI_jQ OHp-R~㡤H'LL:;SkSD ۙSlˍ^ѫg7G_-כE8> 4&4Dv:SzdDuנ#=ʞJFT{t6TҲ0cTQ+1vː+c<`Tli6<*}v3T;wkEJ#vs~ :?9 _NHg*."3GYGhW38ZU\;7ǰLvRW'"Q&Rb׶H VRXZg64-1 ; cd]ر d Ѻj(fʿ ,۽B7tWĴu?_}T7ajym^SV)R`.kbϿ( 2{>D^ԗNoDq) uvyH O,^ #s*tjq/YdLϵ%mI On?mzt9~#@NO?NXdo'U3(ن0lF )zX>Bť>V,M7ǢPSخʮ4Vp)(\,v˰қ j1=rW-\}8ofx"i)2pNOU obY%4Fv贗#8=G*ݰ?0$!\0& (^~$б /ǜ ?x6XJW x!ˋh g :o?&X2BB e!^)BEOo+|Iʚi[3=pE&1BS,GIABEhr#0⒵g_KLr''q$sWb^P 3l]aq DCncM[9 UHsqM}2X|K JA|CSQ{85A[9Fc]6K^`Sv5;F:98Ƈ{ЈE%'yZ4g0."`a.]ۍǒJ=I=m!F@JP.y7ܹ'Aw TK }igRP#YF֧" ܪ׫d$ڰ*1=y:fy O{*T5/w27+@i!nx!|R?FoۗZړXb t*6ib!W@3)HI簵_`8ئ@,y=Lm|=Xd L&荺  h@a mD }eEδZ8Mhp9~:$Mzr1O^iϚ^q}͙ Y~Ǚf :X਄iD5!w@l-La9Tf[yBZ[/*!N5 eG˲mLx4 *Y9;+,# g46'L&]U}!$ޥvCT-Fެn4sXi+P.Џ&_@[8W6ܿ } 2K r>!et )W2D]v6-n+'vN PS'u'eLRV,D!!&:^R3!䛆'fm%{# ^όaW/YYV5rd~ S!4ŕ47ӏsָ;όpK8Lww0LJP6*I6^&3[ 4k.@n/KiW|JAn95߶JYOä%0' 8 Bwc^S i?c\$Y?LG;3V%| hSD^[3wHWK g({: j jo7]'̭#vh-KiJo _O9ҫ46niUlW AC'$-,*G WPH t+g~?&}y#=/[+d(zr1.Ed!ŠsTޠ`iƧJX]VFgռFlToS&Urqēki] i1^nkF +n2G9Qv|!MJsЍ~}U)ȃOY?pl[Ykz )'t֏4k90AШ3ܲ112SW%xSNy+4hhK 31[p3،JRrPpQR\v֌gMޚ.d]L>R۬B|x||zSsD;Z{pH"Hyic|v2x _'7hj6V80W_+{W"\֟ˡVB+?B+pnס$"KekCc"/Uĉ(Zy.HO@L5P9syq.~^2Neo!uPߌ iV`r)D o6; ^gFmĝQ/ˎPT3f$}'8܁пLzNr^q؆Ɗ_(;q3U7$pZjTC9<0DG|C>W7DW/頜(h,<ăA3*g2|4bV3-]W~1;8Q6D6W @9«12h;DA~$+ዖ# Cbbղh|qG?`J/^z/(hC3=z aN "W$e&Mc:; A9Oj׈2K_0{'tOJNՕA)B'ԇVj r_n8T/`.X/bL# q `<'FayQߡEC@ (_kGgmt;F'R0{ uV"\|)(9Y=0MwK)&VMGw\Vy9[}%9j@DNGlUt]JDu$Qt{3dH/w5e lpMkTDԲ'ڻ_5݅,yb K tDGXW/R[C04*:ĘlCGi"pR幏LNs>¢|LRb cxYdvY$ "QC`5apB멋VҒ&"1sE7uqвmHR[jÓetm[%Ul 1 "mTmmX*u{a7S]{hSS5D .*(uʰ=AJwQJ"`;f+ ki/o=4!ya8)}泔zqtxݙQ>&lA*OGD氄nn9e m!M Һ[UPgpb=\U 7ϕrH?<\ y>~+c wGt[]sUCZbhڎēl4COP">Ѓ,ԐKP;__98&fSUufl(dO0Ǚ՚)3%#FU歵 Bh6޿nj;n^R zᘘ2W!w;~O$\V@P%[R!blޖY:aΏscYw22(+k]3'//E]8r}1v0k7' 杀jO,X  \h(g8٦-R+i/0>Hoj%!#P})OК[f +C8)-5򳏵^EQ,Ǹ=-6_Q1B0>ͬp^،ἼX'ﳿ0 OߢGJ3R6x{nV}l* X9#~ָj,I-ט{f]TgZ3L }KA)5l9`Y;C=nJdwZ]C;ۖ #*HHYϛ6߀&^&m_'=Q|De]Wf:C\q8"eW|}zPhDmd8Ws ڂ|Wnԝ.D"9uq0Wpod=jfdĨV?AE OQ2Es ۬ V Э A?W# #q$(Wuyf5vO"!74#cT=f |U6Df}@(2 \1_(K4un8y_i!C~բjJ JAɮKT٥uW :¥/Ngㄥg؈i-|玭 zN74`dX*˩c5.`$u\[Rȹj1PUJViO~*fՌT7-2vQsEex&P$P%lmA`;S3 RwA**KiK!v;n+k:'~7T:ۜm NO 6tJĤ7Mgk{$+BE4Bc5c}w?l"ь"_T:%c. f־lH}4ʺ"L|030ef:VŅZ"5؄MggVtaf:gŚQa[yXW#2rd;%v-,KJp4d./pl])xlO)x.P)n'&vِu~xo8iIeڮ| pZ杜GRʔ +$ƕk䞄ڇ, ,H  B0\K̽<~&.#UN\p ?6q/c# aEZ" GXI0V1g󴚞];"+"I|ϺZS+&2޲.Gz)Gk{^~"yfT~sИ<Ͼfu+ְCQ9@Pנ7na5u^6KUAi3t K( bܲџir"Eܺ*J4`vjaW~ŲЀ?d`? Fy>3\86rru~o+,^W&}q{x݁نh嵹Q)p1p5J/?pd8XhR/&/Փʥ%Q= C{^Nvsѿ19}s*d6p H w'g5Q$IE0dCA ,NՖM:|$Gf*b ͹%#_ᒲ=ዙkŔa :D0j&^SX@ע"YU@iF0'UP#YṉhYJ߲7P< yN{u3wě0O AKBYxvcC>#%aMބ6ve7kGbX`6=KDPecjdt)Kwe)`u!L䀊$ j `sS\#̶NIYq~'4KJ੉L%Izu<E(A(is٤&n: [ra*-]jPsC&xIs!Fy|jZA$mQ݆7jPᒀI00>W8!|w΀-!aKe DkVFv pdN4[^< b+NMa6AEaD.3`N‚c"ܫz:8\QQx7)[[#ք1pM:p}KŻ':'8x)6wc#c9&4F6./)S8M/l,\Ik;nÜkIٲ(Ѭ@~GoѣǠw[ ND?@{م*+$ +NRE)ĬfPawug5nyԃ$VLYjD%Gto(er3f 4jӝ!`tey)FBT@W+~/-E4tMӉG S 6h:ȸQ3"D[ 0<:rRS6^?D?pD&9D4TIլ9-I^RNH͏oX}ؘip:ص"cG.#w]tiv'0{h)4[bǾRE/AZw1G*КWYhG.86I44 C IPl5~31keu Z#]ENCkQT a$F LoS[%u#7V)dī :0pH$.㬥e9Dω;ݡ#9Z?}I] }A諁5Nt6iI*Yt +%Gb;4\lCZj ;16}P$<*%@vWi>A anlU*`{`cs.WäaC' ˣ$͟n_QFHu z%ͱc5K$> Bx y5|L13=$0 >Fa*TWK-8Ǯ*Ga0U}mT'AD@u9] +2[!V/QqS/|j웋(.YٙN?ՎuEec p{`K)5 ɣ֪ȒID**X`kk-<(!~A-bDlE;+nj6h3]`MlO@<&USPhc)hYTMۖbri>MgK;`E8Z3Fٗlrݵּ+;8lf !liD϶eB|# .d.󼸗b+DŽKBб ] 'Q!!߫|b,֞PSa!,ŅU9xihk:5 4FfJHV%#x?F;txal_}AX&g2>va9KQ3zaU=ޕ6ل ,Nïn˼ \Vi4sl+UVr ۓDV9jc=Z3guF>'s3߮\ ;|"gt WݽVEL 2DiHJTR̛@~]ky 4ԼףVax4Gm>&3߹]н2[p'Ye7O:pO6Nζ7tgP}^[7eP·D4 Vp.1z__F 6ו(+BH(E/|,8௥Á7v)Qrk$n=G͛^u.(ЊBԁ0_bD.wD>Iį3%mɇ:`6eGj\9ʙMr}fNAHΓS- MY1ɵKe̹ei0>y_Q`%<21;y!:w4 #v\ʆwY-kav|Z;kwJW)*=X XZ- Bl0:f wʪJK2XP".O(Y؋tݖmYkFFwY)}r-+| RFBU{U4eYsE1'9-{D>}MF \At[ząL{. Kp (tяWd_v3.QOujUgTj`+O ?9HoHFe;m:{zg c;GW9=̩߮Ui2*wp|T@mԋ 3UBœ5DH{ *VjovNCͻ&X78VV]Ŝ"[t-Զ`-5t99@(Ity4K v+{jvl?L լ=e&A Հ Q7c4g;)(6yiM2>]M n8l8K6nOXZ U/l%b ~3LNzj! fx:Z"!Z9 _uPrYz]VVrzynbfͲma*SEQ)ܓzJu) ֬ٿO!ߊ}A1GCA^JT]3*n+[+c˰j:7zc䄇"Zy\vFCSS5$ 6—7jvf5zWjfeHKs0j "*ͮ]_?m'ۻ&t??Eu(ꓜ?R 3 9*8c1x@ZC̫4(Ǽ6+sZyy9 R-"5z,~=`8Op|Dge=砗Q\a -`M2EJ8d`ߪUyu:XDۜU#ې:7` hH) \["C_vɰERbRtU /Lmm=-xE`ԵB&sk:޲yJjhƏz'A۴ԇΜN\~hg#aκ Ӻ=So>mq/U\>3dȺ\Шg$0QN4xu/Z yU]vUcۄHCa~+h(fop$1"@-Tm'҆!߰yẔ~$űT R;%@JRU%P6n2?y(< |hV}*Fs`""&,O-$@ڊ1SBCzpvw{ {kOvQ3VqkEM`:jw ae u*Utr'E9>aȢ!nœH^5uBzЭʻ0iA!)}6A"t<=0cy@^s,qP< ʥJ(`]@|#M(ìث9Y\a,DB-ʾ3ߴ ȟ r|Ht!b VZò'P9cuXaX 1䗢>ڷ|rX}'g`_k٠oH, #۫)>kaSY YU7@~cmF:'T\ :ÀqLx/MZ81k0$GLb\4.uX5U%"1E=V%-M78݅edt/N RɽZ>D܃i:ʓ*pSG5B~ߋE0TT pk6Sd8M*ΏljJ NӮü\xG@"$] ;ȷ=I=i@37(b qOw򁄡됵R(aGDebڍEjdqGS#8Ivm=>BFwH+\ `^?s\Knu(mb b[ծZ1 gTQf7,hCvi,EXK_=ӯȋHM5%Byh͙B}a %!q5gwuχۇOH:q8&G&S"DPxrnhnhbY-Ȱ|o*~k;}_:ػ/!ε72,{AeI!}o_UZ(svY0+['oXi `0 ^=DZZ,p갗g.{,p:B dW%T~JLdv Mc73q03ۖL!?k?۵d;̺δ Oq1]yQu~ QJN A[;+pD_.Mds5SQl߷ˇJ??Vrb|ӸmDwXh6v _mcqV 8VdAJS[(hwL܉H_o,d4ut2&9`DBͨkvtjRL,o]BPR>F>;J&tqˈo)HvA\O}eK:y-] Xj c- ]gEPHeQ@B,LRעe^jP\$EQ,j,F" NJS%UoܷI5bZ*C՞Xe6q &ۊ$D jnY](.s5z[ڵ9klVjO^B`}#UDY!xQܼ\&SOj_JZrE7Bu1 ֹ"w n"+f|PH?^ucM8S5:'ŘVi-Vt1-AX񩥢c)El,v'iweq]{)@TW(qʖ!"rb %I${ZUw ,_d0_  &V W?_YP V`~sg# ?c"JNafOxdWqŠGVWoDQ [ĝ_tT4))?Ͱq}&IڷR$传Й9^|0,ǚΊk$˿4OiŹ Ȋ~I-,mMBMz7l0hb矖@^<;v*B棈w`I4 Ƀ +kϡ9K_٤]tySN)jgeguWA,n5+̭=?J3ɿZ7GwLi|W˲w]R.e$|*&>qug5j%ß)B s\Uo֘dž'i ~4(, PWx(FsS+M9z'类'RTCYd:!rmQ|5$4vuFK~߆5k%^5^C*=oA*KE3Wɻ(,(M֯([jI {4ފ*g0t6YqS' 9V*-Fb,R,ˎbPq|-RQyl D+gOEVdl1hT'DP ڱE<;TK$DdAJcJa{"6."_;3(X %~+Е#:akz!N"-pٙ䄇zWqyQ= 7a˒9qއ/Z°]ix*w{kղ wI?;Fs#|,a sWVniOtܷ3x 9\r{ =t6hu,}wG{&3z }WWsrm}iF$' % prwg"sj [?GJZ*N)OۃwEO]a޾$D\08FڙEVc Sr_ ~tPKT閇C=>Oc3"qr붼Kg Jsf Jxzkni\s\gY_bM9ELP ~2'|un+OCiГ3RQ6@VΟv\ӻtHԂI]XW͐k٠L_ث6s鼊Y'">g,;p9omIo|?e-t5b)R5ۇd^dD'O8=?hr6B^?܁α;e/7ş^hdx3E fHEqW۹huH,Zeu| pђ`nd-SNd ?STAяP,~Y tl!="q3^~⢱V݌b56d=6^|vC]ŰV>FA(YrMV,s#WY! +m ? zGTqnZ9s΂TN#_GѴPN%]w]dfW$~+_w 6*IXx`s}(k_i'GŬÌ$ywZ}Jo'XZM\/zPCO-*65Ӑa3M*qK$; EWO%~ciqƵGm^ۙܙ%aP}:TT/D_m!a3t%ZEUha\!Bi_3vq/cF֥}BDAL~?IZB <ѥbjh-3*J40o3Q )B-@NJ{"9jc9edBk*W" YR*F f!p>g̚bMhrpfY$`7#тDc?Z+o\ZLfJ&>/ T5E[zޛ {áEZwwD8᫫t$+{As0PHhLѩ10ql]8"AJgCo9C1EFJ"T3J0U$?1e6hlUj Qh:OB̋#4bziQP7WpWtU+zRH!OI':.j]揑ޥ$g3x`c5Ǫ%mT!mfkS;hhTPjErL nQm(Xj'R]M $_&ʹ=C+gzxS H&"dixpCa]'e``1\`_ ڱ}ǥkQXQ llh;W\@2\f{7⪛& !H3n(;[<;[S[!+'ռ꾎@+n }TqVzK] ^ħ\gMjYð P$z gKFrQf nt[GIcTb듚W#jH&ǖDh70*E}DwhFݞ9 ax4yxc,w1B~!{n,YZ!B6"PK5f:7=vDḫ~9<:s).=Nj_8sw^a ?d9(/zab?ɠN8TFK_L=$FG0X;oֱD(8/<ٯKcӝZ[иYuiN!0Qu,J,Y́h|%/-E^+i9'LHyyE?w\*bN egʉ3Gc h =ķm&rLwu%`"Bu1mΠMVtirn}fN6ڦ7@%]زT.O,qliXmI4*FGѐ0x,7WGRelWǩ#o 59Yo1꒺|_T"dQRm垼ܒ AbSO ZD|2z*$7ǯ- Y uIŢJO[9Ż7K\ b)ZV9d>'4{wUc7os,JH4#>&ȩ{/=i_'@!'b;X3%URHEwI9/@XQ*չ1 D#/J(] @>C51sDD6!FœBC;)&QEZ7zX/m$Lw]qȁaɩ!H/ŏ)|;',q;1~h1rpW "7?;R\sgM9 oH,[!CDל6&i]@.d3ٽ'y~vG(ׄor͜^^O6d7þ{!&KBShqegPd'*j ;i S S4TgmMi@ڂ;%"Kff~sPmn-Y"|ܺ`DIQ!L ŰcMe9\ح$ծUYnΆMe|*-&:qڣqG/ŢV 6 ޵+2L7d拯Pڤ&|rIG%Hc.ܹ1G9UmIU_  T)OWR>Lt=Yjm Xn2w)ҋ}iK_roXQ 5|CŠWdAE:bQ.)VʨSLds( |7\78@U'Gqt@.w޽8@Ҟ W?Zqfb˕M#\Lbx:Rv/Aq V !0jKƵuk|Gm(O+cK-N1mZ/i&Ѻq3t5Bp@24Vǎy}!ڀ_ldie)֯p☇s j!8yx/L< gjLd/ UDB3 Bo.vaaN%P/ &7hDgپ}!aLuҖs 닏{Kq6 >]Uv&Q/ZHm#wӜM`8fֲWdv׽ups}~* _ןqXYkTɫ5MUTUG WE=raX͝RJ g37X4ЂNμݴ#1hQ1{"Un`mvׇЯ%k<3`!ՏXa[YIUW慇dɭb1ұCuXKE.S\Y_Ԣ c9hf׵Jx!N89R^YNawzkwx"IxP&j?'q'$dV6Tʖ$h -K7t+&=u>5"Yț+5(X3 !ŒE}tY;CSdYnܓ8X$s#QZG󳕁Ng+fԋlo$"JX`$k7uϚ\쀋Qb!kBUS^9Iz7l5xQG"' D+z_C|MNXFE28N*wT$΍)Nx)g%PJ7"RF(dӫ_j?)@zDϖؖt.cmuC9FV]|MS"*oL3e.ÓAV?:Zwo-*īaF緁1] +c;v#m4ӗse6lj@%cG>RHeu 2lx+Wqc)&=/]#?Cv6abҜX@f9t\K]93Q=BYOvM`l!!2zX@ܽD-&;ݜ9nt2G\yomk,=@)r2oum %pe%}4:!$w&=g\CBZlM )mOd2w4O}Xz#U&5o=tP4VŃ$1rKly :CzRYRM6oi>,N/BZDEE@E0X %Bm[+*mT_fO:WFB!|Y +1.F{Z'@ +E<%v?t,uFȃBnڼcH[eH|ޘJ;=VM /N/FX|yB(Dx2Į[7l>r]*#{|3,y<5BX%?bnJkNl f]pRc30f8ylRFdBϑ 'Kդsұ!R vX.,+&KǕxꤦdw|HA!IPpcCP.9V6G8\\u~mӉ+&Nsy"ȴ>VEVM*iV"E<( J}AWФuD~w5؁,X#Q 3^ˮJWz *`+%$ 1b׈ YNOaP5~i9 MW66sU sMP<ɒ"*zKKp_ ?`qv_'Q \À*mX]( 6xBiv 7B-M 쿠Q*)j@q_"|@@ _MXK,г/4jhQ:g "@4 w{i'2$ Oz5lrDT"Nrx&MacnADHXoȷ֦+3,@r(ZxGgX3j"cQl{c =$9yQ4uK/Dy=@`0ք#o"F jG{gֺY *ؘMomuװ|_SJ9ODk֩5M!;vp,wwEEj>е$ e+A$Gl ;8 ={Ukh'0rfJ=K*@/ WUOD'KkgΉLX#۳.6#)oUW3`x|qtmQu铙BPT^0А2a1T_9@ obN [v2I'>%'F)&5!O}+W u%?eg܈rWȘM'A&ƱSW/]<_N,l'v9wK3|wØ{o4J.eap'"$ Zs7@bU77`>c} VuJ;jNxp|d|@kL bBjCt!V4C$ #|Qe JV5))mh <݂79p¹1V?cV0) (bU*ڴB]0u,a8j9{nۏt!qv!=>W8DkAar7jq$_ӶpzMҰqY0d]L[풐K,2gArKQj?Nzd*3'@p:SaO(c)X(FEsx_ ߲?EL%s5Kꂽ'r?Ъe+:Dz 4jW~!' ) r -1xfihg>izk@RFKSJ0~-8cT( ĝ 6K5[$xJ#j|*SsR ~$P 83՗:Hci&~v_kAPD>.@F6P I7e+cr_)pzfNxجt]7Y}Voݫ4Ŗ +ۜGۢ-BNs9? ,C2C ]1}Op@_gU=6]Vس-+"@,t |6IV68rXE/%-E\ kIO .gxe. pk'j 2#GO躟!3٢#5x400i1ĻJSu%40;4ÀIjFbQϵCa}2k5tu-WCHhx|e]5S%`]?g,Wwj$uofA ` vXаR,B!+;)hXHat@_΃n*^0yxGCL`m4>]b3o0})V(¾`vfJU ؿ+;ˣ̶#'oD6'dG~:VGƃY$ubFsq#%%ܥs-޿A߅f(y*{DPrOȺ*ZNS֒?le[(G'B^nGx9d/p.G3jGz^ +|n^ SȆE?0(;,nxQ@/ m 0d{aϮ+I8j|Ⱥe16UCĜ[xI6^)\夆|-wPmoۣ Ek)t ̲ |×|5YƦؙ@d)Y>"][iӍӇ;:w/脕82Y[KC 8.@@.߂H7D-լfCܪ:#>=#,~]Lo&mD&`u8GO(1koogN Lk&1 uEe<ڌ~"1fY%(#_?t@Ƅ49+]Mic6MtFcD}З2nG#5x{YjiasBN l$G.E݊rj5W]0)nkA((E &'{ǃB@AP] Rߖ@fQk{BBxdIm;U&La}'W ஠8q8}CQ)=> v o'zNpq <&Kw 3F\0ӖXޑd|o&YGs6pRcqc%PZgq'wJ7m2 u иvU2qN ϴpvћ}nZ=,z >v3~-xojϳ(}b9w*a#w9wVz֠TZ~;:C_9L70TK:$Sl凱/Oq\"%py.eY~'X;#^,(?qq;}$t$j` tH2RR{S<Mp8iw&/txn3tF% oi|MJFy:#~aM4\F<'oo[O2+jUyxp#ROQU/r4։YWJ!=B^fpD*[4M ?nX +G# Ǵo xۦEk~6b]ֶanm_õ-*5p4N˗hHX8nٷoKjY^J"k>8y5ouN}}',ˎ;I->LEL6HT?WP wDsjL~NRa0u^!tcEabA`١˂|ßTۣcER.>!V ĪdDҦtኾ P6|i!i Fzȋ$9u+|XЉ'VJprX C?;{8n.D QRCQ,oa<#SŮu[Ih(xTӎ;^$u$G$!c X?G{=1Yuűx &BZ~"JqFax[qћOS3'9$hXe}ƍ;Ҿ0 )L  mD5buZxLġtWijgc/ҾH.q,%3ŧ( &iLF}Njd%q 8t +~nkSl*Lu!J+ILhB-F2>6o2)YZ|Bw$00CW?3nX S+>=Q\1J%d}JL{4ͽgli^!_6* ^نcgOZbcQc+*$crcCO_ &ށZiv` 6;}pETu96!5 VPHcR٥!aga3&IR|nc.quE@߁Yv5gTvi]ycy䠍ЏgyE`\VäbBũτEBTG6A-7N$3窵\-FWl[<4V,ػ t/S8PhJ9}@6oBsIZ6^Dy[κE @LJ8f D$kt{ےPB~ -ot!5>N9bO#IÅo 3-"]b6XEܳG_gׂ 诋` L]E10E*{[8WO[GMd9Cj.A{%# ysӧ9>SmOKV PmnF]ª @$E\a*9j#$as7Sh/:= ɋ{wձj|S)6g)Rgx*7I`i=!{ .Os5A\N>(=,R--%[wuff2_lm`K8FnncA,Yc$p'_{YVPœ:m#ɲ$ 2SǕ2mllr)%%Nw5~Qv]\h'qjǿ_] n_%xRjl;H;!8Y땣 G83$jb aq : hn9D7Rtl]1uX?<;uWl hHЂ_Sfyb=ّDV3c/2Ԭe||RU[Gֲ aG N^sGlNwƏ5H{gFZ*ļJS&pihLzeQ+G"BEZ7|&l<9Ụ%{jVOi$ =p)OwKOl1Pg-V ±vӽ!q c A0G/X@AH `l Nt稿fKĸ0 yi«9cXG2ԥ xV(c?쟪Bc; i5dY?wl3`;- kl?xHͳy/趒dɲz%E9k#w6$d~yᲈy2xt/-B5 pU3H0t{Y`ydgqj#b={9VVF;aDyk$l)@ UB6-/* (# }+&6G_y>иøLj^e&c~D㘩q`ʅ1cp/M$p()lJ3^qHL@Ns`n"ًCznL ;fɕ20 QTa͌Y' 6"\& PE0-Y5{ M;!#k+ ` PsAǒj2WP}K"qH!G^KQq lYY! g @NFNN$~:~K $r]`E3QvM W )̳Qxhpu@{ ^K [a׽R"SK@ܯ,wse2o#Þ+*2'Լ` 0ʵ}:sT r'}w{Zz_@zdA*Gq1|qbVѐ,D Z;^1>ƙAd Bt,XNiY ?lPMLR[3UjuDQtھ s/4K{E,twR=HL=4 ,ᚏ×Uc^*S-ɫ {e!~9._L#cI߇ŽN۫vY**=u^} y38FzBOD#P]mJ:0GX@qC}M ЅXf8DQ;.j2Muc:tx\4Pp{O'61\|nT?.hu1ܨ]}h`mh[W?r"SWҒكC}r((YqN|O_s?QԟQ?EfJHxjgp/ߐrEnmP˪+ru4s*q5([`̷3+gr[]/l|#7S(jQy'>KF0yi[n" QN@:7/QC}%@ۦUN [׳ !/lMr6DΎW*gu{N+ڹ5`p쓎N]^E_R2$h>@ ڔ&a3,Ƈc^gު\:;Jqc,)PDhlk ]`$ OgPLLBwzcy^UxL_fB ;n,W@-0?svo"dzыp\䚃J.#(8 ;ާ*Q4}wTB |Z%Z/,)u9+:#S-%nzezGL|\["߃&y٨ٚ(Fo4U^џ:[-bpքGvGp3|7HrƢ{T6%)a0;5`P`@J^<.\÷D)9QY]!9"I70 uy>INEAn( ϙnkQAEGg%]:9=Up匛p >'&IZx9e ROf^14N"&sOǵ/}|eJL[FKRf}^Yi9qCe|'E]9GR. tO12$ЪN +r~3\| F65 13W؄;gnVI3xܝH9gaB#/MeK8dl{hesypϪ@m_ Xmj=bu0u֒ƳTs2HЯ#e{E-&~Ն"߾γy5|`Ղe]ibKSc<ux;rʫIRcNYₗCeC%?6K;4 ,HBb6 *0fg\tHn`K Z#e5pjY䳩Mq?\'I0uЙ(ww{gng 4U61yD!ngݭX3؈# RQee` WHj- ǁRa_y4VU t]= ʼn. ?:1N8.IV9VV2t[GViZ'-nZ".otڹ2넝%A;ݹ!Ogzڿp c]*gYC|WtKK?#7+rP5kO br{73qqG`DFHێ!bR[NH(q=G}:7*+DS=:8 ( 5G &G0] ;6^Ix[PrUA0 nP4, KF5׿iU}7>9UY7?&,7CSsGZ>?  1;;8~$:ssTt>k:L*zyфp4!QT1 N$"DRRs2 }<$Y]]8AM49y`v!;\hLc0 5E3vV7 QGsqp@󄚘VN3C%(Jwio\/>^!P&Qw'PAaOl?JݙCFwco`@V{fPYU#ޗ߼̫/f7^^@1yBhf mBgWI`q#pˡIB-[;sJ$I&6X._ %.$apN/pk*F3grݗ8Tw2gW Nl r̔)aiƙwrQr -VCh Smo'ۺMwjʢFWL>ӆ1PgD>8Κxz,s\t,f'T_qL-̤k3 Ah47$*Ç7if.RnꭝTIz$`ܟoA}`UT"._='Z\*fkVdtq6={if3ǮgK^F$2x|V?x-)Do=bbo.w;n(l5)gR[~uyL@t/wk}B ^EE y pFN,.`E0|.k&F "zȻ+UI73bp@ީ^YYİIZ|juv'B%q:aZEJ5'Rj?\[*e`–0{PX:@IߓW6hS.lqܖ?I0ZzZ%~%UloSz+(Huש/^NJ4i\oG`oO6EAak#[nĵ>IJS̐ W6R[ 1g~ u)kXC֐aAA\bRaEiaˎqw`6Z9j>ZMWYiUjPsCHT*m7UZ (h5"]U7ۙZb?U?=FT`dL5ف+0ւtgȊ3+IK:ކ3qͭLJkW-t<6n,޳"Fs[c_e:5;T~⃤VY1̛cF·g%!-@K{8ʆm\2?0|$gyf 俒wY6Z΅d4dz{hiOa$IM o=Kag^9IgR$ >mB! A>.munQHZZG+{&F8Mӹ6ƃs)e|<)հKb |P&9(?_\)..4t e`0KX2l8l_G*8)S·!xduX]gS5#S YK^# wc?p|a`+Kf@?g9Hc;-C)Df'25ihRX$~_agE95 p\缨UJFeV*֜ 2-D{>Y`}%2ؒf5vW0?6 ƑdYM$"}= !]ެ톫ۮ߄ei(Wce|jO8qX}lMOj MU&.( Q"l'MNO1?l #3&/%yCB~ICWW RT]@}0[/ 0=4O >xv6\ZGSD8dB.djm]5#Ψ0{Mku~e':V׬~/Ɇu(ȁ' _QG!eւgdǒ 2H9Q D07cj(Iž pc\t,#o,l#xGB2Aq4e7Q/W;Lq1Kj.qB5ɖ7~b/RhNrp@ (A~Y놔vf,[{8tD=bwW4c ?] @Yz \ŠIШFV#e`}YKR.Q9Yz*z] 0%*E)$d_P5VB*eyqQ5B #4ׯ2 IEz~(A&Ȃ2g#bB(cYHSDb6o*L~$Pr THT4<gWCG;Ƿ{P;Zu^;As}F H3׌,z\1o@ 9 Z f#LWma]Smf:]o ndy @2f49Αp@ XM Iճguw݈'~v8☾sF,hJUK#"T.9~er)ہ b /T!z=D4g-ٓiHC˰8{<#1aQ U:\"s2#Z:t[)ũV+jU6.03P[5a?$. .W§`Xe6oId+HĻld,4ϤKoͅ wÔ@%MJ= m0A!:Gچ2iy'R0GcŨ̢&N { }CͯT} F=hy6Ʒa1C#GspX(+䩬0N'ユDI%6E|ㆺ+L@R)G"XqGH/d,W`% FmM ܪTk\pLKq\ %*շFyvV̢.1{>K G r*Dؿ 1IF96]?qu9$" × WZPb;59 0U9ˁV+@tP"&8@\-+؈^/SʕM cC%tt9g.ߦ(.^0DGskw?b=%=WONf9삑ɍ 7?P7bhO;b<1'= -Sdi@|v|,'z+0N"z7HNZzQS%r&{"H#4Oqm ZMfͽ|&Sa0(~L`v8`1+)=2$ޔxߋg>*0z߼r[w7].>_Tz_ceFlKI]c3a˘}x$P,UhR}6yjH5!P*~@EyevN-ƠZJg w`UQ 2hx~CrHb`F0[v0kkxFvB3f6~oȆ[|"*Rv-<}H1XW޷? Z:r{=|^ 9>:#:?N)5X^zW"d?HqB5PPMPx )z;Z3x_iI{ pBw?"mOٛĂSlj& >ZDOB2j ]F,nMu[GWrd%ZO'~pne]Ս!ּgp&ɠQ>==pGYkϥӅcf#{$J!1pVyZԹim96DׁDyy%y>Z%Jl9=faT#mkכxC,V7 X? mbJYh*@:]7PgXXñoҐ~2z,Yt:3$`M~AkcHthTb?P)juaC5 ; xyvT}dIUy7eT~R( 2Z@FFj'Y,Dwb;Ix#Fb辞 ȱӊbTI.8t׹<)--RC[zŅk#`Oҋl|#Kik,]=rWo1mO 3#N^mN+f{.&LWuc,HrmZr (0,3E䲖j i˞0 oN+5_b;0s1x^Z?A#W v/'{,m#^6ȀfS;a-]d6ydfb P#)#h>DT"Xֽ "F4%c$qB))exuqt-j:y5C? ><gC0v9M KmC p3Q*˼vjpݏȪN9~.:9~4s3gGu tnӽ`$ [aZ1VpɈvK|JPYӻ&m:"PZr 2VNjh V?U~>T,~";>\2,lyKʙmL[s'(Vctvгt'[] _氪d慠 N Gi=}+IaK؀W0rQ i$Ӷ1q)nM;χ3{|9F2Jc.`ٻI5 &: ?: $] ,RfL" ?M`8U}AF7爳8 s P} D.Erlv"mŽ;m!b1zX,4;׳5­|^:6M|.Q75Ut/gA[$aM]2pR`^)L$Uqψ`Zblo|t7g^+ϳ+K6JG|XV#B`$>:$qdkb۲ЕB6LcL7N ƷK*+#KPc70a. 5ע7';ZUr#l& ̓D{5DPZ#['vFՇD >;tO zoNTum^ ?A3 20i^T0bNʴa_?[q]d]EFT'gYi .l,Je~cY:\-a>ߗ S}XsuQHAqCr[o߯P~n~p+AȦ\=!!Be4Z!aR+SH>[d.!̨)` 0KXd[SZIVzYu1դ8RVn-аá8S;ޥ_fєnHq2'II8Y®Pݵ{YܦL2ts98[\䖨hM`pB7x%hIw#,|Wxx~\ gRxag`wݤy"7 SB<ʡ5\! 98 ˻BYYoԉJTv9?k[oc"U(γue,X_YɄ0xW〦F-f1 <y2&hM0lHQW3;o S&Jk^GʑH0F  A}Ho>r׌aq|yGVodhrÕ抆ޮb]/AbLe ,'H,-KGե%= Z( (bL` PB*n|{1agP[-j N2mp>At:КY|Ԙ{Pc6~f *_M@̈iT?҂ENѬaFxo`Pר՟Gݹgk f58u.aih x>PĎ)䉫]&U ~&~vrw Z*ׇ%3^g7.S,NBӟ6( &/KL8ƞ~8wk)@##KCQ%d®;޿&$OsVqP90 1E %]b2O]=<|R&Q7)|-yTW{$S'$DPey./E*_c~Br92 ^5kS _wb n-{\3HS UNri7\}Dk q\)ۄ9.uա4=F[״M6L/@0؜|n)8?MO;> i fC2K0,pLzFB_+S=k;݆h?qŦ@|ۢn 8jKTmBt>jsmˣ#&qBCP8Dex@[S˷\c@i}qH(\cz U=4⤣n_a^[LJ;hR}Ze& mqk>ϴ]wl$)@IESFX|{ tb0/nprƵd=T]8ZPΑ9$Hh8n̻K=ڽDZ}h.%o/ 5kLu wL@h/Cx1BK0`cT[zJ1V^^w4(ɟGl6n-G:b)Y28(e3ݤ0OT$Z*H9n$QVt{~^@*$)htJpU3H Zśc ԫ*Ղ;ۦ-]a\mEM_+? C0x e= %U ]jDN "rhf+6cģD@?Khb\vG(#f.k?w(J9͑6`P݆ܱ.yPy)l Cm3X#iI$[.L|$,K23]6e*%VT&MLߪJo(-?94 Pcwkb#5Ɯ1LOlq3%fiT;c2V_dRR @ qzH BG+?TFgJc8X倈8sr%Nܽc`1Jcz|Et;0 "u=J#rǝ_Nl5m 2_E&_Rw ]qd^mT{3?/X,跖B]l+PnCޅCwP%ٷ 䣹vŊ@]Vd{ 99gY dAEY8@. #)VҮ tF~F@qNg{Q"4G?YXxYӭ&kB ,a/W ,+5eTJA8YK~G3€\+o5ۥmz-]ՎǺy M| w`Ԭ~5hxLe 1dTdF 1E6фbwNSM#RE[Ңċh!eF3YZ",=9ۖ}y>'K|bIrbUMI:.lx.G~Ϊ.3ɐN T̝Qks HF?M+M{k:u9VV &$ܸ3:܎.6S`WAw5dG0G?'T>UeEkmuUd~_,t;O[X~ꌝeMIi\!l7Z`ʐρ/0r#RЅ {AڱDziQĈ/boVPl^J&S\T z7VCO\/ )g#%Nҋf'ٿ[tq|,&4:f75=JI_NE<엠Bu#Xzb1y\=B凗dĥY8@%+FCj,3q֝L5-hހ\ANw<qNjIjցAoU7ۙAg2RIfUD.mkɝ,t/,%YOVTXXUSg_+~1ޘ!C>NW/C^ZwR苉)rC8Gn |'{[< To"z֘bSGG)mڞF{P I="w|ٰ޿U&D5qYZp`S:#F:/L}ȿ)>Eq3Gax[0#ի++ uRBA)Zvf ]@%L%y&PF *zB'`<4@(mvhTS9:V}P\4_$HD\t.C!}z/U`UtvLv*/&{^857汊ڕo|Kq^mH_br5vFJЇU;+U^pfs0xE%v͇֢M {MgrPֻw'8 +l[E*Ji! gf7 ˃xOYɅqfm1ߣL7ג =%:R#$o| ^l28ā#ilnubڡWrkex)۾4`ΛT❪+f/$U Gτk%Kv@d!IZ ༤InHg5W.9f:R|-lA.ðYaHsQ!@2=E{^z)@(ɴ 1j+4p쁵w *ȁufF#؆oICrgj>X='}$—دLjaG L%o}8dp)5t^ ȹl?fw9v~D4d3' n:tnEƜHJP6rM~uY6y^2$9y9dSM ');M-rⳃ<Ξm3 "ӘyQE$اcj.vBeC|g ي{l94K`m=^A#6F_.&AlkL,KH'6?o*TS;X8WEqr[ >ܭG3䃪WqR[15i&#{yUz@?ժp師!pҺj5[Š)K*uan1PInA6Z. <0%)G][3Aηs5:}y>qק+wc7GΝؔ-ꥦ#heWj+1_\< 蚿{׻l9{y/-_Dyɏ$3&R.߀LTIK/7\*RF{M<*'.p un3/30Ms4r^aQtڰRԸpf"zbbHY&r:|2k@/@E8gdܕ(gN~C>Z,ZZ?t@Ã\ϗ>-Px3 PF}"4͆̎D{+PҠ_2Ȱ3ho(p8_Q5U5e!7L?w:*xxKBtsi&ʺ]QC +2Xp1[j `ֽ Z~F!?1R*=7yƱJɣ&h_Q ψlc[=E>g`,i*0x:|^'zz}cM+s,+~lgtaPq-_S*fDOv=Zq,{%P'Zf |Nǡ"v?xeDNg>JA!iQ=9Avc9[x%ƃ0q"jV\-Qܷo\M C}qe.LKz.NO[\FF!i蕝(ҹ)Q+Em2_ .{IRlR+\EDwݩ9|ٹĠh*3+4 nUچVV]`F~ 4\ m/E% ! ^/ 8M:S<,UvP)k*+K-zGK#D=T d_^cEp)&^6{8kW>yJX?c4.ص4zعШ^^(Uqk$3 0LgjU{ c,uWRkw/hsH~uQI*aMef*a"a/}1lm`<2u"h} ^d<قF?9RP *V\6$]<8Ms~%ua9 ȝ ik%s6N%QİQMi):=$@Ma;ߪQL0^8snxZEd@x%^ůq~U>!6X@hN͘=MX ^R_x,qFu `{r Y |:ɍ\&ޘWCǰ \"(k:F~Vsf3hR8&O}`i&7Vhyrzs.&<ꏦGH6cPw0ey@dc.~=s;pSlsxǚ$%#hjݿ[@3,~v oqpĎ(^C^f3?* wgή'⸣D}#&AnnkYo>:*r6ֽ:ʺ'jdJQ`e xOA\輂ky 3ƾn;čr@R)h$:H{Yt,1S'`kN3<^ᙸ1nwk+9 R*H8F'eH~9 >glB徹k∮qӛE@s D=o.;αR%%j@+QkTә^[3 nƝpnW. Si$]yO|ja'bRY" WHl0'?˕Bqj_k8Drnz>dIch2Dۄ^=r%~ukKEymr׸d; P-oQ31u |B}Ž)m讍4t025aw-ޜ8(t)&7>sT;OkAI6sԻq\S>HI0 |PCtYj\GV ;m+o]@,Jtx";,ݽ$n m5=g+^TѨ8J"e[8`|ln/rO'[-]Ng=W :YT 8ǮM``|?Dr+sXQ<ㅪ0=Oʘt.~8|#3}JsGrK Ǟ{ I:06x@%>G6 8fw?2"3Yǔ-i59kuo 58ĬHکs Jt;Bx1'1m:`i4oil$!\j w};2ٺVZ(uĔfEJV8)/Qƴl,X3q)/l)Ӥg~VA  VC 'Ga(ŬZ"ߞ=+V}H@.S:09(ډL|);WA,?ha"qfr#vR ;,z|+ 'rHN8\bv5Mz<(rCyA7gsݴp )v3lpT9v,p2=2]'/2aRjβ%fm6Jʧx,MX"u T#maәV-K7־l;PR8Ov^۴kxXth aE!Ъz>8Au건3^tr6X·6ϱv}]ޞfϺ< ClUX@;bg}`C32Jo+)CۇOd vjZ'Ped9oo/X bRl&ggj;&** Zm ȪKOpwj'>mrSY4u+c 2Nnz7Y~FZ8g#nCN˳dSn_셤r-Q33&=#ޠ"¦z>8>D+ZEWG_̽xc&5 H^*R>JWx꣜еְ~U@rʺ,eNu[d= {BKCj߷,l cEm7Hå8n8uAI@A1gIit`}rH[utso:1+.&/uΜuG5)1dvDzjʓ韵w!׽%`uph|Q/n3dlϒJyl@pm:q&i3]X}t nT=%oN ,vE8L姝2 aJ":PODXi8m>_Nm8Q3+xi3I^|_*bo~2m~k'kZ{WC^r`kŘ_}ah hʊ D_Kҿgм%K}\ z9($kHV7#l{@VW\mZ\ಋUG6oHY_ SQo4)wBȯyƺp eƳ _fM~0CmA!Cu}i(e[Fn[`4>A$PGĖ6f嵽]5slרw yۜƣ 8y:4zA=3XnNxu8RiN LSALX6P~gG 5a9rRfz {@2Ҡ za8*ylK[[!Sw#5>a=5q0w'LC?OEq~Cmrf ~rQ5oςI[yR50kЂ]Hִ_{/>qT*S}NMÛd@ 1|^ 1CS "A8YfIJ<:m-RҬ6M7o̤=gab Kkߵh PN J*ɖؘU}YȩpAݠw"#KSƊ<Y f*=}>k~W4`߱+%EDZ7 2Mvk9md+dʇHCITqawcABs|G+72w)M+Ea Kq 2ư3mi91Cz XI7KU`lZB\*ZKs2n鎗&?(j?J YddHY2 UX}[A Ĺ!WC|arC!9n)LqT"FaU~_ 'B%S'9|bݓ;8LކC ThCi?3 Tda*sj޻Ayh{6}{O: 2#Ji͖sPoHxώseBFoe A;"g)1rgћ bʼUnLLLVF[^.!NlBȏx"*t҇خOO:MT\&l`.{>v@tg,XOGNEG;PdcC@k9Uow}ܲ[릺E3[;3  W^д7dψO31t Hi#0Ō:]ei_F)3OSK! ]9:띄!; ?kk[ Ww=e-,#XI*iNp칋˚wE38nʸܐPU(״*m(=l) ƾ2E(&weO591K5vX(q/@w`]ڦ}7T0]1Ń'QՔݿ.Oϣ8%ƺZI ڵi3.$ =dL "r AV购?$f2ؗU(7+lnm~3S{* p,B≮}.bC-,s9"ݼx\T1F19]pdJ遗g(C,,oQ| 1Bt ʎa$)4*Y~=C gAV)8n' Jn|WF6sl4rt:|g}j^ m{L_0fYvggz4~PNu0HP=" β>5F.)+Sn YB('Լ)",G0|{5T76? [Nƶ\[억v^u6枓#$&(zGW<6Kv*nN XY܄ Sa`:F3H:LrwG'Aq؅鍋,w|=sc񈇎 5^cT%h?Iǭx@ۡw_bfOJ̏ [rw˛WcTqr'ܕ~AdB/A;y ?wLtւ?,yxcC pfoae ߢ^9 (Y2_"$p}~8 Ŕ$)5te $N Vϙh@|_@R v,] QfUDQf@2clF{kc#5LT1S^gbxV'Ű$"ʎ|{n0}`Rڒ[ 5G?Sx{/&|O:3C«="HJU 3C~w>!R:s;8(C@t8ӕ׏bTv}I/*z{=bO*.MnoēZԭ_: Z6QU㥠- o6#/M 6ӵ^H̐zH7goUe悧CtPhvp;dcQ(PYT:!vy7 HtFϦ{DbTo3B@8xOu-3d:i'V}Wv2sҩlG%a!?urHdA&xeJùM 8V)c-IT5,٪?R+ OPYakѹޞXcn_PlK7YC╗ؤC13O ֶ_M'Pag{7D~i [d"z@ N_ZxA X0[4G޸>@tjQC ѓ3xЕ:AH`QSe8DzP)A#&įЌ[Y6[Hմ!,·Ȅprߞ+ۖ^a%?Uͻ]E CZz툾{3RDE3G" Ű1|E%z,>@(,Yo"wwDIW (TB!*Z+e mg4o!81%=F7FKQ,JéUa0B(0SUNTޥg5sr?;یsM/:iL^OŠ׻ eq^仆;H H~^QA4zY=и~#@[ѩO gR~5ax,@Ij{,i/]do&bЁ=wihs#:ˬx'@K].E#|p,h3fxlۑb%D@=+u T92|lkKY a%sL ?Tx?Ffv\teυc$66.eޘy;~UB'kz2굾e'ee6ruTOP+U8]~i lԠǾ)^6kRK}rtL1Iw ~ #T!"{5PM&O9 U(o[0_u x(6_D>.zw  ?/\FD͇@ }qZ?vj p:KlE|b*[-tWHِKI򐶂V [ꄒj(Cedؙ8 `<Rn~"~0 W!oCF|]7[ ɩ)ȗ4 kqeZDYMLI)Kϧs8ʧlMk.F-p?:~.t= Gkuz_ꁁ qĴ7 PI4hgd4Z?ځb3j&Qjl'> bm(t*yzK纃k9䞻?7vزBǡ4fH*?;n#Ei,Faw`V8đjfbW$F~L.¢AD9)g+%) '`%r7B|y[a8 m7 vKf\5?ak)} CNV^Vku/5bV;i.ٍѹ7/;(|P\' DM'2l4!}uW;Rh>=(IU. 3{? 3-Yj Ye˭.|#PQlGS.b Zz21xݳ>ǀȯjjqҍ{'> U&3({}Y& y[|OU>bCe&fz;͸'F6ahxшO=/ĔI fܓ]fszUؚvC:`;|{X FK' dDS+Ֆ3-yE(U|~@ uy%:swkcz {IGJ2J.o6Mu!,&ST7^uW2싉 1>21lM·Frfd5FVHw0*^F*Fk茨Uge%IB"ש' #^!hğsi7z7`L>[MߺkT'ì_dT=s/_rn3ĿngyՂ~vU1L~(^řP׼MOI lx }{]{L ʧfbWfVHMTDYM[ rWŇh7O/*L3N3^r=}em"j3MOKw`3b}$8!w;U^MŪMltL̗>``t'?ԢYj 1:)pҠӻ/ Dɘ_ճ01/aUrt&k¨Si[]"'Mͦ$|31ΰlrcWtE@*'dGWndps dn*DȏYZRqƵ&\Xd= +P.HKIoyz#/`:ևOHڻm?x[^6spF%"f)$8#Q[aGB"gw܍Cb`_N+tFcz`ŭf|=l^/QV?4v~{= ׅeT n)a%<#S1QP zԤfsuA.NtƕGr~ɖ[ +KXk}K!ž\3r'yCtu1d&UYq^.N\<0lkz!,)W # ʤ|K”1FK ,;N?%j'g24GԪ5_Yߋq@K4‰m MTkgPv6]$,&' }Zȭ nnJ!ۋ[:*tCqh.lɴD} ?j#R ć%Vl N+ҡ y(?aZ&lP:-ZkZƤnǪy#Hn٨bݹZaI.ʿzHJweaJd%y{ZToܭ'luh!Qƻt#apО;_`kGЬ2:r+b妞 ĨH8ڙDf?uk-4ĕd|2]]g[ _jO~h\#b}h|{A [_i9vLcp+,SiDW YBR)L;% xڮn;w !trC~j<(t>/SH$jCcգ6{62Pt*13{!LkiWHw$gfqؤ p߼%bj"R^3|e4 ]se;Uuf h—ՐdՕҧORP 6`Lvp)GvO砫<ʹlUd8qxz>v3#ffSz^=jjvrJ6D|⯢'B5<@  C_{GQ0s_w2c s / 4)^~ӭXX0e.u/G%FH {@bz+ޯ1.^ht`pC,60wQH<)U0>.:!q q_xՆ}l}IJ/^V*D:x`z` \`{$R1' >3X5! !^Ayͯša&.cڜ^˕C<by-]Pt_ߜG7O:YLBbh|)̂&9}ZMvд -?ܴqTqd9ݢim~8J]/%Sޤl :9)9펔=вzAߍƥʾNB[tk{?Eߝ ѥYѥ"BaB} 펳BC։w / @;tPs UI(<֝[˱GwH=5!x ^V\uWSW%^F7 K;3qa]G5[ʅ~2"4MO:Sz ]ej쿂ic#РIW|b@PWj#V:X= +eU$,ٷV a~2TZ[osu.gLyTG "ϋR ֊Be|lFlkScl)mnޏg7*3e6y5&& ~w6 :(,5n$VNx J#r|wZ YB7އ"a@F?iaN W wx&?@}QHYMcZyfApĻ(.+JAHHGpL"՜΍+~se:W0b&)F£ +hוq*ZI@o5,Let0 fxi7w+b*zx}ǂ2 %指RcJ,BHF  +0'*M{>3`\UyqsfFjFW\`wtΥQU*IL*aQ;^rg4#<>q0@2"7t@y=Z^jDyg9_zLk\bENJ5㲇Rgp*b[N03 –x݅b$hQ I%Z|\?ϸѱnj?ꝂYB"!hβ@vxKv6詇8 Ҥ];^ _zk _r",.qO!?93C'=`pJy"Q+PTCx{%`C.憱T ,Bg1ZQ[]HFR2Qawaտߘw9H7Cde)\N(u t L#QY~re3'ny wDN WiN扺VfkRg)0ӘհN}?<]щ^_b Ja\\Jiep ?īfp $/jP']qI:'eơ66c;Pd9Ff0MD#rzj#d.lƬP}. "Hnc }aݓJYS; s+79ǎߺHPwh8+Ԁ_F>eȾjrAe=sjG0fmh&ӯm1qR+nWӎwi %&x"G}yzYP/WnaF k*t~e yj0b7q .#b~}9<Ջh# HtOt5QC!~ M8[ Y폢-|$q.A^T }s&<#0wlȤ" 筞p$>ߋP ˧O114lo'8 Q5%3f7&+AT-Ӗ'8O>ڏNQ}T_>FѠg#*Sm}t@b"SFx`c Ȋ.^}Khkte\Oż3 Ȓ5azS3(sv i5;bt>qF^m$YWEP_FE:! ڍ>6tЁ# "^bϵnBFՐ-:1 ~J=e&Sf%|> 9$l fԙԢ4%+ ֨tEҐ(1Pe^\lQ&^ɝJ& fp0M%wڨɃ0zYK6akv_7YIg1*٣ |1JscCF  SQNe%"E=¬3Uv/!8IVpW0"]ihW[iۈ͊H`k97&,V8pzXXvW7Z~u#X|aRacDO2P.-{az9`K1Ո9ѺlC9xUOtT |.:W)VNWU7aYN{#fQdעm#P+^"x0 +1CaFo:tc5_]3T!̬k8~V~gZ+gm}j-&cPNq0oxܩGa4' Ϊ ])n Y-{Ɍa|;U /Ihμ\qBɾQ#CA%H,dѪSH䳙eTck9fpfc DZ\=1oqBqԸ%xp&ֆ҉M}`9O{סSG ҎBG߁КPEh*B3\6GXx@F>qZ-n8Aꡛ%KQocXKuy |8^Џ(xߗ XR5 Իi}b/V VGi4|#]qT98 }ޅ#WV\'¤`4اEml>ǪePg}zƤbDvףK"/TԌ՟IcۉM[,SGD6}ݒԣ̀?VWr#G DY4 t!;mEzP6ƶϚP˅T"?߬!'J+GmoOx*ζ(0 3["Nv< ->%|Lmm*$A!!ܸE/%ݷKFo6Ǹx_ZD_jTéay!ݠrFQ@$`P8 2tFŨFg Yb[ɟPXvݤ ``[|f|%>7<K?`;':5Чw"g>۫nd=\`K %$˫w B~$DI-GX6Jkq4y1W `2;3ّ0b 2)$EW:*:m}jl3dM 7B3I` g_jaf?"˒@Y=ޫ\ojI;#+5'aG*STI W=9 kƘxvGXS4_lKǹbKT ʜ})krn7. @Ӣ^^ =)gN 5]%[hF >{P,i޸@B[yr6O&FR8JFzdVhƏ[m/=d~*a>cg]!.?D"ެTX''Y3`&݇Fl(jxQ aUF}ݏt Qbic P:WPzq&z[IC"g0!nYNKԍ~HW_CR l bnEؔI.]@n1ϡbӯjOS0ŝ ?q6yG%!O~Ov |kk\K>ńG5gy ܩ* ˈ[( _\kBbdH)T/0 y"c14V>^^p|ni8ۉc jގ}kt f|yB)tJY 1%I׎J!M.c>ʚKxK Sr6 #D*]ݲ=p<ۑ${1vjLS[n?QB͋-DtN/x=梪0w>D.AK{)!7BsVwKL$@h_O@4N,.,ϩ8m)sqjmE8T K]]VZ]pkuSaO4Crړ+j$/ݐg~qb+h! l@ҏIg&ꏂh,FXtU8cЯ@4£Lᴂm=-HP9PЉtz&DzrkQa:q ?ګh ! ,P !8\йz9Y 6Y3$! 'E8u]4ܱ}87r$HImґvoi]ېaIYpQxwUsqHnm?n|a9ݐA(QLhǮV{>x[*RBuoO ޴&=cGaJ-VPvqI 2O9PZ_87:_>^2Uk{hkFɤ*V"1`rJ,l ysAp0Y|'[C W>/aKݹ0W-{:!7P%w _P-4>I۵b݀'6ٔW낹LAC)Mւ8Gr􉏕}Gu   O>I<>/§5$c ^ј$@&7=ly8USQD=H"huČǼrݶN[=sza (|26唞+A{da.~6Sנ?])FNL(zG/\{JZї^Cvf,P`yK#i&ƒ;lY,GĂ gLx +x,z M9֠!'~cGb: ݫ/[=a#WROz^^Ěo/r1*E|e_kTcGu<0?9+-q8]+}"ū^]m>eo`Z##rހ8VM17#&*U1~u+:ײ\~{F.&'9L&DةJrFD̸QU{GPLSĂd/vuǸn I ֦aIR[ X p-cl)*1|Aϳ UdX1}.Mj7 K7E#$k_v0'3ܙ d#U$hdD+htXm"p*eiw@O,TY.YPes2#ы&?LbBslgsbz4@kJ[x>> dg%Ar/ iH-U6@,䖼E2rYXY%3x3K2 J{Hb_]y`Śh ZYǥZw&gPk Gճ&>,k40#Ă|~N׆a_/t8]G&:>҉UKւa0%Ƈ9KwVLhk\c@:V zqm>wp5Vtř^[bSVvMe" %C`AP|enQ DtO`[g;ߕ4PC\с\eQ YNi]2Z#F44(qm*8;0fXnZ4tUF_pXcZ;N 2  5D>8לG)4=jd<@U,W?ۍ8mʽvH2c 0)M zy:uF۪_ r*$#hGam84U(8@;{qS{wӟw<3'װ0fu0On9Xg0$1FX<ᎌ4lu:~ 3tIˡ@YL~@H_d iLkm~(Dc*A7=MkMKqI{=y#jmɻmh-ߕ`= THV(_('\gMp*F!:ߗw<1YgnЫdf^cASS3Y-] f\nTTUwPV Ź=MV*݄.saC8noc8kN L/5K-C 8\{o[7ɴ0g=-]vQgKjte2ɔ.kl8&Kg?j8,{S\S ,58⑍1; 9(h -sykp囒>,Ic4,6'.tk8|MdB)1&аZahi<o}\z$?}w3v֥1TDÕ"]me0JG~i@a8/R|4} tgC1u "^õY?JwGYAF,=+7tQ99 X)2?-1 n S5 s!LJtF_RS4_gȇw5G2-/O lv t{c:q7P߆}wѕ򅧴zZ~PZ%#ƶ)HD' E:/%O>Z5oEnC$3Kڟe=6~H-ۣ;ĝgV IƵI8)"JadQ#YKɏyuHx|k7_nDk`?qEHs4**1,Ԏ2糫K*&E\_j*"_bv/> /Hn4WFd34;)5'i"2цSh3 Lhq CgdcО.;C$ TO_rS J* gCжŬ`MsZD wx䟘1DFd3HMZ8~2UN.1*aٲ)f-9ɤ2O­?p-ǁF7na0C!XwKv.z.܏܉zl62diPʯײ4Tx& {K }'0+Y|<E mӛ+wE|ȑh#3|@1E\=kOG!gr"9K^/5eϓʢ^: v"-nxBDy)XV ǭt$RCB)sAXe7e$ )ZRO`xy+$PcF`TFd5V3Eӱ, IQYy}qרsq.#9[HZh*z(Q5:t$fO@bygKi,/]HQeEYubQ5VoO;O|D@ZH6`Y-rp]!?_ۤKHx^d" ޹Lprh[t>Yt8۝XxM uCj-"-9K d%@H=J@"F@K1ST5҅1R3* Fqp/ ў8J(2VtT8uE7ޟy&W.)q+~H1f?Zg{V.ѕo]`@>5b;OjMïIISHٖݫ8'uIՇM= ,T g{"6ǵ%Ah{K*YB=─(I(]oΤ#TNG;4ͧ\e >lN=Xk(yCUepM$x!X& s<E dg;8 An;nTHߑ\6̚n $YRd:* M%QҥOj%ɑb4~2ipH,W5'h30䝌{DLnKHp:GDǠn|+&0 ޟl,2Xс [ǀfUt<3We(NAX3&::^{'@]͙Y!Odz)v1#Vn˺4M[@rFO,s3yl[$ӡYL{̱x^:Iϵ2$4\ w`jiLY:}~+;'\m:LstE=2qa1Jy(RR؉Ԉ/kE:5kF?*@3$pUv[?GJYW-Q!-lçr<)"4 >1j PZVJP4!"볖49)D 9)S:֞!1b/5ӐkVs1rr1l7ȁ9Zx@P8߄к)Y4U_=9ޓ:AbRX<` e4״8X3nR'\) u&5VƋj\Vs~[&%~t;aܓF]Bxp/ʼn Sq=³+JA U^;K5LϻI?W(tRƒ>JúT%M_A֑A+sdkD,jHTEZxP yU3(N,jV)>gW~L#KG[[4,-`X] +WI:>]Dl'4/2SPr w{8^ DAtE8@ ;jd< Ojw,08S{m,ȜxCCkDe]K74>8YȈzEIc5vav\E'Qߑ6t5ə'y?8TGۧ;ա6lYAsS*Hݙ|,/7 +M1 R `-AHizPLa{.]8}#uEmtjoD@XԱ|_!4Զ~R@NsXh;}hp8`JF_yH8_KNC U!:=vzwdsQ^d+df;ppލ8O@FpIDMfsHdܥJC9Fku WͺR#>1kXvQZϦ2]ymسz݉ h|7#C3xk?׾C2{Ebim4 ?WCY)<70B" (wR7i&}T~(Mx7n[0eQEت5 [eK] ]WЁrH4Fa͜ 0 %?t[Z$ԇvƥxFNcA;e8ETH/`=pX!40+r $S5w%%\aT#V"17 TIHa8 ^6|i+A%W*,zqV͢lw9"gkfqyhBy F<V̫. AHfML%nIԳDj;8FBHa]M q QDjSjg {#/ȥ)^(q[I"L[{"tc,mq>ϵq3l]%[/~* B7|jJDChoq;yb\FzOQ@"Y_BMc;xR,K b9HL'Y c ؀QS$8jQcK&&DGzP [8m f1X+#T>w4+E^6(>軧x≒ ]KNpʤ.Myl/v-D*Ɋh~YӣhE'hbh܉=ÆnW ̥6n-us 6hAo~s^6?0p%EAq$rhKTqzk"nuK \>J(O1R}Fde;Dt (7brpO%lVguWL} uG8580+ f [)A1r?SXz8M~9-ͧKFV>wtjdё@l%E]QLԫ D|7 pi&*kmOCXG O@H'Y SFɍsAT w o+{Jc' ,{[,UE@Hn!C{ E49U/ b8wYGt>jLfFכ0h`B}0Sp!H::{"{[`5y؆cݴG'Y` VӢ} )6;Cp\τdb<]uTn|3ŝbt͝ 3'i_d@mT-x]l^o+8})E/\`H(fϕ9iV8 S}Զ [qg_d[< uuiۑI;LbPj1m D[֚l?"t4*mN/h%o UP8!ڬ#*֕@Z(6\`I@~$ v5|9{T4(t ;,x3Y Fp"\H ~++{͚ DjsaP,[^"aq>Ⓟ.l>G$I1[ ]=X?1&¦nP-15: ,QJU,ꈕd?'Z}/ZtQx s%I֜gŞc0eN՝]lsżǔ-!YbGGo 0&Gpf"8T̢yn,kd6yEग>y 6~qVlp0ݴN2)UTf՘C0!bCά+E1Pez@E“yX1N5*]Bj;ve"-~|zHoע.wwrոc,fp5\= `Їi<#@<{\e.:U%)Xߴ7U' Ƭ D[ pZ2\NTvG>8EpD4G5~()G)"s!)sz&S _$X!!6q\=s j>hU>AS&.B>}F_>f?>uIJ 4k :\ 7Qj?=y#o%sD(v4~k{r 7KFp%׀ Wu]s|`6 QoY N Y8Q ˴C&\Z$"I3M}߆TOwS;پά l30h\< $( <Du~!zc's$Pϵ,| N̡s } ;B9a8inl҅4Na p?:Y#=hU?}ߙ0T֦{>k,yn5_$BksC K cSZKgB⩓-v<3d5q9XWaV9oDոqn"FCP]K+:ylC̙3_msl98hvY{fNBX x_(󌪅EӄKM0f9r|lrx!ݨ3O>~lm/71{Tu{4Lnؔx)bǓ [u;v" ,S?Ǥcr}gHJ _d-IRs(lDY NbsI>m~cN/Tq!]:_ƾ>h}lEm8Wh<-dB^l`q{˺{Ձa;h#P3nt8)Cni1ج j#]{k4A[8:>׷gy4 _ی掠L%) ,M jVs:%Ȁ S5v`Vּg3[uz[Va "ENMk. P4yK뒬_38ʴ\+)Jd=?"=ISdfˤӱ0ObcEDu6j]69܂t?m4=C_5#tʾ2=? MK'nh[׎I ,iq^1CZ-_9̨%^QM \X=shy4*p e l3LTс '$'M'64io~g9zQa=V{պRh}~O7l<5t ) .!6?4ΘTEA, w4$x }Yez)QDj>RWn;xe$IY8+8h<91.,{ OۈmE&UH!^F>#v!Pkt%ČOG["' 1 )fesru#$h0gM\t\H:Uoe9lwђInc3>qs2WӾ!OĜ5:)&|^~ꆎ S[~`EtQO޺k GSKOiɚBN]̗;8(2OOtC +cL]mYM! 6Y3; },& 5ΝB7(xUl;DE5%9JJٻj%I+Butºra4rB]J?'p ]g IŅzRZ"߸q朓מ͋pvbne<ؓj^ކԋ__Ճi X~f(NڐJ~ۨn[yS[T!``E[sXNb,}zz Di}be.C'gX2z> @`5m Kb5Bo1VΦϪ̛AmlӁ:ILĉ3]^=q#r .UR2:K;0BԖ|9hr<96ɇ&HcS-W?v@i]`&m,}V]WW7@l ~ |#Nr)ˆhGAqz~+`^aW`9lB{Q@Rt cm(W!iv>ҿ;`hypxih8+T5`]{ ;vvg%eOxyz)[(j?g}rꃬ dk T~U ; l$lW ~r =EzW)ULN[] w\@ꡘ6PM,*3z| ƣRs*Qڰ૚iF?R]Xz ߝY8"!j%Z8mp{*PdF#ާ|-CXZThUW*GB@j~WNUZ٣?$|?nXMuL}';tߩc Gs%*MӴ9xy̪t;7iKyfI6+}ɲm)Sulgo11XSU8 9dn0<53IwG1LzVgJ8z0WisYЈ+3i`yA.tJikk=±Ox= : ]8 #@}@ +M8랴A3ǽ-IF4zg/o MUEt == m'Z P \0g3CЧih?ܔZ#on=^}ȓ"yW* imH橻N_lbHFUgjeϲxR(aܒ쬿N'> 9i hlnFU5.?dp;aU݃s˺  tlc"O!ڐ\ε4$M w{X!&#{Mq3G+ItA&ݺ%*" -/) #Vߎv兛ܾzw2&ϴS1s =@{`1;_:U$٠/L :!2̧BW+vd tgD,]j:3FvsbXG0/fA w>A`}n4i=yK;E/d1=(" /"8 ўKnWsb29)s໡z)$ʍ5Ol(z.O  ?gymQ^U>3U {8ҸDT]Pj1tP* i3N&'ʶ49)ߏo}롳<ړ 7Ps^48$ GS>nrXJKQ{bGD@+ S:8Zi͉m<{,fR'{LRb mk[2G j7T F; ozInhyF$62f.V36p-~ iD7#OQ>y N!Gju*4PyEBHEo!85"] ݐ>FljW6QAާ?-t>8wLFת"8hM"yZwWkhH#DJ7R~pWHq09Bz'Y_T12{^8'r,2wV:ZxItm G 7؜sQH雸`8h:YA`vnHE RPɌ P9 )|i'2".BY溕d+@\} mʁ+EH&ULxj@ SIUPI3waŕICԎf P+krƯm&S|;}ԡ͏dvG<Y$$oV2ӶŒ(Ch 3LUĞ#]%pƐoR;wK^Ff4$< /ߛtHj+2bSƮ9D)o31ӓEڇ;de)BNL=hEyXw'qر F%aemj80<_5{]NКu]f&5{m]<{<-qM-*Nã ȩ/G*)q=ŏʦ#eE*˒]"I"`P$8P;M胣M kܙg5y9"EM/$?kMqNjv'5֘vM:_dB )E"_6'aoqR$ Q@&yDF"-X~W+l-kֶc,K Q: #S&SaD ػ#%ػub6).MPY'>{)DP4 Z(Kс%_qpI.Jش<*  -#As">n0_ƎTV^k;ʬ1PH|) qEVoFNOWBE9ЃnĴN#dyU$l<ݧq藤Q`WC1mVBoyUe)1T* 5<%F]ol%jiS[BscuP88*W99`I$En5Źr3iԊ Ҍ9zvV"d|c?>s[fY7 Uk]膁 /$q4lm Kf[-~ }.ZNq3$,7@L92RX<`DvZQՆe8?@09R4D3wm[T=Cr`vDu|>icILЧ *G56hV '-p:k€^<ϜpP -e; Y/;ŮtP9RMe"8a.KPS.?b h:Eu-?/{(JǃnO0«l/lt9ެKKOQDܶTir)N>W5r-G+P ?ɞnc YD||54[ Qqa󢓌D T`fԴ|S +MIЫ^[ꉻ=ߠ ]$< m&1|ͯa<%z YŔ?>VNItb~L7"B?Xz=#u |Nǯc>6DL( DNzeBژӝ5{p& )2.ϜcV[z͇jLZh;)b MJ 4OU!h(Oz^= 8A|4>"Pn+ L k-sB>9za/<w/uhti'a $'&;7 Cmy:4r49@*2RQR{82(XgkiENqL^ABԽ2gn*h'n+~勽ǨhtY"M hkV #wjEu=θ7Ep'و;K,m+G3Ȋ۫7!y2Ȅ Ƙlrc(,PPB ԝin$ph܁Ә Vf lͮu@7fAJNҦZ6FѳSdocPw@MTO+ uϣ@ܶJ‘Xa}'Cj9H@S%k" A\"4!Z=HH&MiYҳj&k>XxƓnӮp9 <uyihuI lE?71AOl>lƲKQ: "m&*d)"t n2ma}B9cT<>smwXSW C1'5+"r`׬_5SP#&$ ;QQ"ZSw{k ϑK P.S{hǑ|ۏyҫHq(7sJ.#`7,ĵ=_؄PLv)nsm`@=+شLBB1Xon:Vc N\M{$|[grLsB{JC Vz#b+ !{'ۚbI/ ׷0{ge`"$I7\xPq:[ץfB*ЄxfuDnϵ̟EeHN v7kUW;2T$`9g /`ti9@3>hzS>6!/݈3VQZږWE"6-bi@Y:~ʎ.qkJ(wIMX+ 96-mJT"ϟΈ~%#?r*itW._q<0*8.HnHvY_9S}d<^Gt& tB2^c`lGځ5^G_Fp/dp2DJ6u/yUWlJ-n:.$7Qy0?Xp80lÔlhVo'6@ p sغl[7bڦf`쪴F)tgQB|F$mXETͩ\=jz߇Ǝ4ҟVKD1z%r0JnHz]9b S G7`R1A3StAoA>ML}D'ܺ3hg8-Nm}$QGNOF,'&7'?5W9[BǤ(1h?*ClXD!Mx?^Z95WapXVoyZ= Plo n;_2V+=ng_|@E`VY{X}%c=ܷbNR#)BGذ)mDG[_/Jfy pBF*Vg-L=Mt*vDQ)u&ȃtI_g26J(nSwtHq}^*F#H~6ĉoWC=@yK쌙ͬX 4u%VG}As¦Qj+ 7ctN3yl>d>5ԇxMЎJr ʽUVIU RqphDC.>gջyrXUj`'l {[lxS+y%=-͖7R"&@ЉlyP"ʎȦ(7%h/!q∘mtL6馜ȥTT7]6!F`Ntbpw| W6#CD}[~?-x?XU1S q=3a3 7QC5/`[;l354!?e-d:+>xH|0b нPgxa\2PY,PBNto5eG~6KQ$ 9+xb[ wf0em<񽂦?Tn R r$ZeK{㎍q}Ou65?b0xOiz,oQzk"T𼔣bqt۵]>Mtnk+4SqZ* ՚u0/ tKM$ځN57ukȖԬqBɮڃS4Х( o7{ {ˈ2m\DΞ6иEL-L+-?'۶,6q̺\;CV']j@HnIsQLHd/ДRf@?q U焭@-OT,%ozrf/Ln4ok¨ g(_ۣ^ ky$*kA¿MR]6j|xչ C|-qo,znY 9ZX|N48B*j##O&h5i{⟻0^a8,ȕ%(g/$pb1Bt˅Y.[FY<(zTZ e{ޡ6y+2EvI>[aΎ)6Z#U+xIzK!3n4 8F{Hхj@B۱/ ya-̜l+;΄#hJkvϦp0 `t͗Sj1cԃiCY JG~Au>FP~tglX,kBj7oOd,lѮF!ՊLgOESo.ԌPbG}&r;pz:)J\sO/ 4flloCDz&a3'DJm`5qÑNĹۓ`ݎWeP~?g(f1/.}x0=ǃ0,Ory_΂h?ML巉ݟV$9la[B e5  n J5xK:'vIЀ8z|kذRqQNRT4KhcMf 3KHZ@XE} X{ Cǰ|HEŽDv^ۺbaonǜnq_uB3>5> noGVE3Mgsf& wԖ7Ȭi-6bY%ХK})tGCfF-0K}Cubq&$aO t<_}s5FN*r,l6Y@iSwh?łq]upHb{om LSudsvj@6<8Iov2&լP'r%kbV:67,)nᆖ]EI$HUٴbJ@J9dOB(83בj@YV$}lT0׬{rez|ԟxqHSR.ʏw#@Q㵱By)[WVV+W$ yi<μ-i CN llI1ZYu`N0hόQeHa2#(BQ#,^D"]! kGpc~O>ȳj:XORw.YATD:Dmb:kg9o11$nA,a 볩lՔZ#Xv"'o[a}16ChՏנ;[9N.F>@<>Ox ]•(U3Cǿvi$Kbk{}90̈́] 5;ia."/mW;edDl:bbfP3mz4NrhoeڒEN})X_U,/Ua .9OJ8EK񆒻Bi EuX1 q;?֨| 4B~.gc2>X ,otPMϲ2U2UY``݋8VK #{ʗM(7@ʽNzkcsQ1.95gH;p++̪̄G%37*KO@1 g $ƴ?v3ȩ)Z̧₂l;iݴ;%DC?nTKg߀ۥwC&N{jUV\?|.D#iW\+& M?>+x4 fU~1jXyKQJtSVlKU,P6A8wX$##(.QJ޹2 I`Rml$tبYZ%z2Y|`ĐӨ@",Tr7zԤ5;D]I8rx%K7:>(H$HEr3Mh}(#1mE'ꓕDWHq<d+SUTkm]_GM9Xwϲ\-Ɵ7#J)p{5}=a3}fOHIci mxD(B eP&a M=ZL^; K(wfĻGp_\ߗpY3-6>٬~5uֈ{lbF d\-"bt>w{NA(h DA#-I(gZ!ϲIk[{7פR0~~$cVgzKbT7ݒD Wvx.Z_R Ufdng*,9Hij6j'qS&DC+i׃ qi| ij!E>FWɡc84N'y<йƝ" HY ~"bf1iy89w b#83:aBb'G- x '#@R14SK;%rPe)(%lϣ_UEY}X 5U+i.~fowf!pu5 N"ύ)E<0GÛz0 _Jj^FvL&JFY)Ŝtl쑿4̎'a+iǛ 7O' %?ŌE0rQ;Hս? c0喱U=bcmbC9c_={K9/Gjy?qCʱMxs,ߗڢ?d$3dDA7;Hݾ1kysUKDS)8OcͭjGVAyQr&Js>WY܏̧py4e9$4Tʏ6:A3T[stK>؉ e̽K*0=go@ѫm+!a5Dk85)l xl݄ٷX?^s4$6k<,MD. i_PF3qN:|gˆYi+ {~;;֘xvha4HdaY4`FIV!]x%]eK՝Tॣ1sSϳOƭ$MLT@bŽ1Ʈi]#kF?> ȿ$I诹'fq>$:/ù08'> 1 @orZ:kD]M޼%+lz82m?C:EAOHG+qAo,16}بkpp0-|}&:n!±ΏC` wxwӸCX)C1Y+ 3 B'k=ڻg pѽgPXz"թVPRs۞g_5^M; `Mλ|U͓ty}ʚ{@0 ,Ui:1txאiϴ7׈$J2Wmsd8+fjP\'޸i7:Q ;Z]<+ Dv,ziP,^32>'B )/Bv.<V}BZ5B.#*2a]H$|#c>kѦE!Y~,0Ѓ >*ZAGQ 'nv ypq&sh-<ށv7vn䡤 >UɊSn3%S] v#b?ie}DL M-^HO >/LY{;~~ ֌|\ZlEs'7t{ &k%JT2D=3A8`@f&:Ok@0o=ʼnS0Dj'$Çr~qA =g\gc1`۞JgP 4')nx^B`LMaUYzV9!%W@|nsu+04sDxz i嵖!vl[lU\w7UjR" ɡw jSKj7G-Zmh:⼯ѾA1iPkDH laa: G&k:c핫qq i" =9@-3'$͏_~iO $RAߴ:?pϚ37Jxl.=K uyAudȆRS'qDn~]q:o*RxVܫ|Jo6lRIṉ`S&URe\7쟚,;yRc&ԋd5\}tVZ2msÔ@ngV|$YYWL7gRV4' &s% c\MivSn? + YeH+r}t͙-){1-K;nǝ0DMXʎImڡ`)tB; N3eZo6۞fl+. Z:E-3nɩܩHNLy%u_x|b]]X?{ᡌ[b8SpIVX$ΰ}Y@f=L҆)"҂ͩI 3lxٓ*1FW_2cZudM1r 7破'TR( FpyTYO@Oqg).}$F)fɛo;,O}I5𸖿˞u}߿ѡ'a 8"Z$p~.Nh=!G #L.g8ք[l%ZmK%$ҟ 4vgqFBd^9ljE͠d}lT@2F:-:gM_0֬m-%kM;/Zmퟓ|MfL17Q"*7J64vÇ!Cw4uVKmaFmt ztMySȃR:N,Ho9\/GllRi#n,GݚN)'.*[!b||giM6O1kWo?WMp:ոُ[I2拀` $=*@]& gձ̚={EhԴ/[Uem%Hļ3"!ɧr,3oozQuCXI&ݞJx:K124./-I b`*WEY;r_!`nBzvjwR)շ|-/I˜O[dmc?R3簛DH]wiYCZ)wkW[_8=N0dqߚ3 i=ma=b"* u% gjG!Ϧ $*hNJO D }n&` ЁTfjm}mngA\sml8&gY#\BQ"^⼭GРoM\l"[[hW-F_C7I4+@yjفm)[H0~vm KY|,p\xx1gf94ZZN_X2>:2i'`i "1Gua^0KI5k Zm1 tEt{5Fge-+f]d_F2C<&% qoeo:"uH 3yJzX35/ :4)m@^ʔA2PKBvN.G&(xq7i0= RDeEZA|#k~:!Q!A΄$y{L>C]2l"2 mӽfo,i SĘ 6+R8!2}zN' OqA3/C3[:q84ZtٲJWi$^ ]!lb`ccP[$Ha+?f碑2ˆWxi̓&S c*D28۾^Dδ%*e-l3< 3lψT9twمlظ]xPZORLNhXUN1#"PoV,LIH!ػ&Ֆ*Ty 3YXqxEa:w+"+;b ǃ*|E͵ Vݤ}D^cQrhO}g&.p7to33F>w/Ssk*Ƈ\!J5;6R+3ꢈKZw-kgtV&))r8n]Fi^,Yc.^!&K.Ue$cU({ty9;)1fEa.=wxmz>lژwUs]h_ۙ\݇O B p2ߍH%,5lz"|6^Y¼1PP9w7̡h8ZcĐyu9K$on55~\ڳ9[PC`^#2(Jˆ1||=7~”ulA/?&D1[1@QGZǐ!$nyiY`_# g5!{4{WtWT1lnG (? vO 8;ц.C>)V\HcFBkB^Lu#ȲTḥp_w\g/^ww., {S$U0߸FlNM"K %CJ̭=Ll,׶0I6"N>&QϢCE2`AXa%_?|%`۔}xc2 {84#:܌:>b Q3 ?ZQK$S0dŽ<\Ցkud ['}Y[^ p(TwNbi<,n r+D#t=aNv ^zrt<ƄŒ O|iR hslLN%(^c_:|L:jnD9973H}ү?D3; Y7/ ۄt e: tsh$Qλ_nOK1|'ex#C30ҷLTvc˙w{r ʧb섲I0*a[ `ux|sM?Zvߑ~N" ^X ]&%߿nw^؞HR$m%؍``bnWUߺ1~$)V6k?-bҾձ5B;htXAvk.Ml&Ne>}) #f#ع00A[`-,6`xC+ͪWP/Z7Uz.s w\A@_< b֍o A"-T2tHD=>v.$:&r^ /:WZ0K`܇!~nZ'y8BR'P*gY? x ,EČgG K+JӯYW /_gk wNP|` žլ C={eC[9m*65܂&IQ;+'(1U_Ѯ,fL" XiAO#&ws}=:kDGW CCv+W 6fQ#-_$ﻄ}N閥ɚFH&"7HDXQUhZQ+\T"g<]*yNB$X#ۥʃ8dÝof([ܪa+"`bHGeZģq&QٕZv4GyUa?RH:i1:@'G6|,#) Y$ۥ |jGG ?Z7f\PS?-Z0?-f]I߱ \%^k?Wn?U9O}7r, N=M|-~꽽RHqsO`ҙW@j>1HnLKǏ}lrb;2_;HZXVƓo`ꋍHi$>j)cgZDv?[0xXr+lcW?ei.hA#>xDrDv+BP87h<+NqP/|jCSg%1'Q|4bz'kQ!,iJnE]hfʽi:F^1cŸSiK߂xzMD21;kRS$&r%W% 'G`%5Qju{)>F}ũ&5b"/#rǷZt XT.~:%Ȳ|k#>U_/w* 'fKϒx*JQ863GʔJxpL)1EY{G㩅SX?tz\wa# E@Z-zot{ ^ ~O5P|ONm0Ú=LވYitR'ǍY;V<gؗ0btPįen`FrSE>wbG".B; ~%(!3Xd0e fuxEL3ԶWh=P6Rc^LQh8 f}o5Є4hu&ð״",rϙ;Ko7TױL4Q?@zCM\֖6Wb*Opna Ecp<9!̩3?9'NT!o=`$dkT28gyμAƙEG}zK^78:q䔽7FUAi/ bCDUSh{BVs5ZbFis" vl Zk4rGvU1xfw]1p֒aIπᘔT4# @woHZ&檜 ro{i<`P Pi|k'`9p5wK|(,¶HM!ϊ0\IF_yj@k9ߘp WU}Ia/8#% EΧ]@۴ B>š2Ux-v{Y  s<MCx`Dxe{{ogsrSAIZ'꩘S[UƳZhD"Ju~QEB*ΎukNIl=kjwS0)Ngh9xi0FTdqWWeYڌ{ sH@!NLb%?ݸDM(v#QEvצ;xԧR_ޅYڞPq mOƢڃſ '~"OL,Ϣ¸/U+lZȱT&bXZA5~zá;!ݰAq<zP2BG"Z5]I1P~@ύ6-E}Tl@p&^;^E"oJ"1/ә>Q+85]5k ]d^?EdiNɸmGtaI..5Wi.IEZAqfj N[ϮƞtT &765- ;elj}E*;ږGXpNd ǀxs!9"''(N\:v`\Ц@+V~e-#9;xib8:LDC3]ހŕ ʅSL/\pKT`CB:,`ۅ7Ӱ@ArHWwTAELIaӚwdo23`N1q#oSOԝ@2Ў{&Pk1߸f5,.DAvVs)& Vo:jr l^BU'+;|N@׻N$-" L _S0-fgq<:8?lX ?f>L??F_[2@ kjApg͇5ۀ_mnڣ(ʣk@,$шO3ä_19m=˘8(sf7&6'}K8bNKAfFCh&{f*Eƀ23W *N2uLdYgl,5DrV3oi@]fk1GkUX`N.q9 EG9{V SFrTkif ӒXcdZ-w%NKJQ{25uO"c/n(ޛMR揎T%0ҕ9fhI zotuE];E A^/jk!2h0[]8M_D6M& f}9xP\kcʷ%j;mQ!c4apo` iDݥUEL&( EW#[@(t6@tV//|C;:Blڧ37VlsH;wZ^+3`JB-[)@}Ўk#@N^ Ǿ/RH(C\|r5;JT* 33?3^ f]8.e~ɹJAo!x?1Q`+up#B:5!hteٟ O5N `;;fAbJY,΄ǸUOyXTM*ju?|uk.TFz9t7 F%2M%<:&FJ{De6|ƾ5B9hwjW]mr>⒴N'p-*|Їx_\ K[&v7sʬS +yV+O㘍SS Ε_ ߄vIJό9T(QcJ#q:jLpdpxO{Z>ycC8/%Di ye.@0Je{$$r 6ǘL9xJ۲,Rb\.'t;>Yy 0eWnlCt'FqX8bڅA\?G|dޅJ_2/K~EW BByq ]poS  J$^9yViTN$pT XP.8$P%M- 6xT]fp#UPk N&#{QP5( !da;Ǹ elѝ% s)ClEpTϪȗIF^zz'k)%e9ۼvCQD׬ q|kʃ XZ3ǶugT)p /gB#b!s عx-NTYBqzOyǥG$#Q_Yÿ̭vJ~45O3}DJ톺Xw0t)?wPS 4"Nj<2:Fy$NȻ\Q\|t _9Wƙ!c"K핰Km[##$tIU;'Svz 9 ox{džL]l8j:Lk-[qXNJq$ׄ5C|/냢АZ dS6`;9+YI,8Fڛna,)I:!}/|{iUIkT1ML I=3ˑ3Iev5 Q+!u!+lT<5oV;bAW*} }o? $*]ג\f*u_~ZRXDlg~TDC*?D7Ef:9[_ls |@ʛWA.kIT4$H⁺Nɱ.>o`g#Ӕ 3E+{*Q*x hF^8j:꽚awԬI yM6Ϥm+()Z+MQ#RM}E6@?o9ЗDCܟ>(@XC{'X6|ԃҶY}X @E_;4z+}H~!?Benߖz.(ŸGlL_!) If]"?Orjo~Sf>Y~".;Ėjf@O?2v 83U2uk1%֞~{25YGX V$/c4~S )v yTY TDV-l^NlkBM$qBzN? 6*HK\@#&,܂4VVR^RZ(o$rʼj`R!0l*mN{U#K*hFNc&_4 l? \ b%  `\WtzM mHvcng(98q(mndR\Dpf * q,q?X.wBAjلXbiG-6/k,]u nV5fa6)1a2ڦyCzvlF(s"7ھȿ>rx^* /րp4o~&<=+ɰy^h6 GǬ`SX];8h aoWs'I`^e[S>-WJ.*壆, A?lK1dfe&cIx`Dxbcĵekτ J-|™"7pm Wؖ~Oފ Tg:b6nZ2˒51bDEQޗF}{6#;soҠ=N. P?c~6,hŃ A镶e#%du2uWw\HWo(TM(y ޯ52YԔ8]K*1]ʳɡ_|=IUZi - e`?G]@*+ гut3[8ĸ48!&iN[K.D& A.{o7k!xL+Ou<9ahbϦym %\p .aTD9LQ}0wKz~{ΰĞa"]^? >-v^57TI8};G>kd`ē^$ۆF'z:H|:j8NbdF->Jӕ4ZrD}̸$(b5c Δ[[[mH*BXD?i ˺ v/u@sĕ}Xl(,߾d}*36μ GU 7G'8_[yV wz m1a #f/؞_v7D@B4a^][3m]~34i6 JPj|ϭyVx%ÐtJW*ݤ¥wW IG Q߅RRsO]ȃFlNa}azm?Ԛ$KqI"vS`ZM!.>Vb ́,RS -p4䨹 Hb:rW2$m,mvBn?u42C0}G(`Cn@|jދ6.A}zS@e&CP?@Z *]qiCRDQ?hK#Qؗľ_ńE Urű76m9/ 4 -L>Q']E.MВL`KԐ<@z8!w`,>! ($x3ZݤxZ:IUdj|l \`=ʅňpb#2m=}DPjo)kS0 lrJz;zt<{ɬ'Lx%'<82?7Pꃝﲤ3 N0_ltYƥ9m'B+Z |B ^7ז]0ur2.Ҳ| ,GXz`8w)w@+ nea`=jvGwѾ],qGDqc GH ck/٦E =3Ei)g8cpx(SlͱE>]EkZ jR;1X|[\_¿3᪣JVVKF5cHg`:]GgF,x]-TFsCdcXnvwjQͩX\gA%bf09ZK[a1>G7#l;Q;XFp]5ʯ'~UEۍfTyA!Noey_- k(8zC@.ح &iQwj6ҿ\gќωU),NF #LAHwé ρ+BP4|+ ܌;}*U/ yq ev;s(j!ԋ*"8?Sjhr*Tʢ7?WEutNU};m++eʬ l-W=d%lfE->%/؈Ղ^ V8u.(,h|nyub`xMq թ}OL UF;B?16Ҙ[̪= P)SHCݬ2$P^CH(%qR~Wtf5)L \BE8XKUT>@#)})k&`QfPGg4T6x|7 *9-ӬbVZ/=s1~Mrl2Tkw6?sptvB}lp'&\$:yVN5݆n/oBw= كmC1YS; &z dyH=+5 QQ! G}Oj ˫ k>'M.RæE]f-6x$߸eToCvtp~l\NkӒ*LXH҅u#+C$Mhb} 7\vmZި=U!铟ߌ;]tk3l$+`hS?-5Y.q:n<@lb"󵜥5)MI zTh3-UA<,+>lfZW:ui:C6VU[V#l k0+wq+$v4r yE!e^f=\QwUuT?3oHσ<(߮N2}r!PK{snj§k8y|}el&CQ/,/]7Q Cknky=)`ތ}72 ƙ(h[Z⪉x&4PmF>5gәۘvqȭ^H/X  %LI,T޼.?*zԗ|ѵ32fp>1 mŠ1n75ITE 7KV9 {++!o,R;TWFIvCA61YyUkzEOqHw(~5]c- :%m&%BԀx*giꎊh6P28l:$`T~DP󏃳_kBNTy}ɐIQN+TvХaz/.ƒtͻ<6[#lFw7Uf\O9^wRY~ٻ.(VV?s2iisCqsx`X(XӕsZ1+prÄSf_3nL}P34ŬlR?+7F/v(+w>Z|*J+A X{;l(P^: DW7P&\jBe|v5jMsQys%EGMh)7a #+WᏑ6S|R6݅QQsD3;Sb𺘦Z.1hf˟bA+Ȩd.d~偤~2Ojxu+LMZVe gWjכ~A:xm|mVgtCýAXJYyxd>O)\VfEM35 ;uDC_Q0+x0Þ蟴\Q>%*_ x4]b]Ӗ;l`@qyHO`#Wo] j 6>Y:DZ&1kWy'?@'J٬GgXE|c8;o!ש"_˄xR_G%7Ir2A5I Qbl X/&%)`dmxK GAa؝Lcb\ ;nMǂ[[L:E21e~S2 B}—#5x͢4]73`dT.'[U' RsInv,3J 57/<m/4%oJu^ 2 F('|ƸZ2I;yZe׊ ݹĆ&Ƈ쮣l[f~ .ެTU]2Ps4eTQB 䟏Λ)^D%%E“UFE, Ӣģ/.i26i.h/MV0k\{dMr,M=G*Cwh/|z 4UY ʹA,~7S ̻1aiLY:fut*1 M7!I9_Ɨ4{MZTE~U ރ'X#%?0eh Ib: C߽h%4S5",twOeXfϗ ~9/10ngI*)mp_ ^':te{KvAXK_ zfvLF>ςzAx\aӴ{Rz+a쫎T-BNӫ@Yk';|~ @1IN E?94eƇmpJpw1>`+ :`sVN4xĮ"@إEQ[`yhg_ 8 DT=m QMGEc7lap(J{.墸D-L4{%8Gn|-Voo×kZ=aө "1蟯 ]6m'%6d [B ;BJ&v#+IiI;Q_!\* 8pB#IzBfE/R+46N3eu2zq^?L6ziU˗D0*ʿv_iz^pwNxi=G(4 J]̨9YVXTi!|Z܅;k(ɘ;d3u?Ƈz$#JqNDnV4 K`iF' H?2?<Ɨfqմk긹8T7 :z%`n(B:BYwqxkR(B^s›ݮR]FXq|b+ToߩWK;1EM'jF,2=`xc|G>P'/aKm!FdHl*bH_9z0ΈԜKuT^:uu09IKDS ]V^D3 V٫Jbfy`IS#ܽS n4\"{55'@O#vUG%"'{ye0LquhEb=B겗3#R>Yͨ/#%lzs?Jf_ ]]F>ȼO:k ޣYs`xTXe} ng\]UhM{AG4E2ZOW5ad?Y bski>y֒2(=|K7\#Gtt;|m,,óTgaZ(&]T+*f,q(4 ņ3f)y2qȀ1N&Tan1nS_S~Q Vc~)Ei~ 5aG*d7{k(s_myaZ#*/X+G$*):׽zC'.uc-%c}dx@áfٿ:1bIdCy ]*xjo5FRRXQ \q:=fOgٜ̯K>OE *yerױU᷾q"̅| gë95ekѷK;MQ7[h%4ÙAa3HWmG?=Pb5ּQɇZc@b O @#bG>$Rg6T5V]-.:=k~8%ĸ2w!3͘[AVhP4>ssv 00GVԾbvM<, Uݥ7 ^,,KzC7Nā%Rm8ck|SNU*;/~nZ[CDqpqhaE^L.8CYQ{ZU|R3+,Er/inrH&)XD\FbRז~2}- {2XT:])sјvו<)ʉ=v6Yd3j*GljyVWRާ ޓXDNjWBv+fm$7uh{ v`#"tu/&3"wb\ k{]R"߂ 9f}VnN:| 7M)FOײ)(V[ dH6N#TLEy_.u6AF=3NPK??87 X}ʀKRmR*ālрVħa|ߛX{_Mabpq_((4FH;q*l35j1' G 6 O7?H`H5H3fH匮%m)#|UNBܥ- $'u!a5gʋ+{#zL> KZx+Oܮ Mz9ĶoyDBhQa/i5@Qj髙Z!`M-lr4DPUdK;!<aW"I2=ȋ gr̬͌;bp?nwJvMƤOڼ ء0Ջ)Z-/7TBs`N٭߃^]pYc.V 6y_XZ6Fx?Vo{[`ݩD(^iYiLJS¤S߬zNɨ7Hj3{Z5[vs~,.`33q%g/N+@ E>8]ӌjP⮯̽. qz`7x@&MI@R4k<%O8~<~Y= :lJ=T wגèřJX׸ͣ3"<#!j3b0#2Jm&Z?ͬTpp]c~l g} S;"'ܭ3S4P! ZlGS= ,QLYs!j)󳡤s"/j3LLг\9N.fI~ꂻf:Tqk QGes%H90U/߫%I;.bT u,k Y5zkꚖ0H0#uKa%Y}1( /7A$YpXMyW6t%~| _tb˳KߋQjKXB=PGQP-oho .xovRhMd&F8<PbW{b'dJg?&^_$7n14Ajvh864猚/5tiAnLU33FZOn 3͞VCe52NC|Fq5;PEdzz&HF"ʘ1\E`>1&tx/4Q( @M1ӃRIY> A_6ƄGKnb#U{}Bv(!T")z:X1dDyZ=rb9"-ר4|UXcuQP-m2H_EE]D  r5[׈F`sMA{K^LJyks2ͨu`'a&]sXӞJf .>g/;⑤SJhu?CoǓ^ .T) M`][jã8#Boh*L 0ȼ?g-9mPiJ:4 O8F>0Khdm{EfdKȩ+ 2#Nh}Nmӥ nsy\zœj%6HKȍmB'RSyC?OD1\bǞW"pv-h#yDꢵpV8_}*ZÐy\_Hx¿ζN1pXMh0@!oV:ZF5ˇ{l LxI[J ts>!ف-&(vVvE^&G Ɓ@c5C Gd:@($n㕓T g߫!^* UtUBd/NV^vtIY7_[ό9+5L|s٢=>h `^(' lTufiv|uҋbPk Jݞ&~ Psk'QGBG^ꉖOU\T1{?$ gʳG7ܴp\qk2i~F%>e囃UWȴ8(']B[#:n锰3ێTQm-Z<|ؚXY9V.LfAJ/4yk]Ξ]֪kŬo@H;/`d,a@N<!w֤tg}6D@*\R)+N s@*5{xY3C>sUh$H4sX-9~Ҵ؂9gџMb$IbR_iQ?:zol,g藰B>ēÈC}Gna%/?A$!=u5-wOY4vaLk'IrR`y)^ _;@K.i'IK&Rc;E93;E ձd(@&UgO@g` o56e%BHN@L]ޚ! Vzbl8=H4[灲JյR1   |W&ߓ_N8!-$/yUyl A",XB7I!pV.n}XW6Xc)'6$#hcOd }AYRqY1]Th''R˩xb稩tߘ~UȤZȨ؄IOƖvOqifF0Ѱ HKy-ѽzR-(֚LQdJrx)F8yW*rb^\LG ȜR'F*3L?K--Lg\E 9cU1R_ szC0tŭ/Wȸ{\Y/i%ʨ18ؖ6^Q2.$GK;>p$rUTJjo]M3{nW zǗ3? 4wf OlVL'l}UQw }i+r(ӱ,*0be*v}ѱ͎E0 ڦj}AfL)_5; ޹wxkec8zJQG ]l%: җE eEtեL*5%|Qe-af r s;$- eӌyrU yXÍc"IdoRXTMU㓬qK//}5ZW< Ԉonl3i?FǂK(X\T*g} ,`Zf'݀?QGI1b|ZYUmB(Sp)['X:V.X 6>? PiBW C R[Md}l}^Q_.SY2Y;,y]ے~ h_L?T7$kHٴ7qb%x"^ѽzDh H.jP˩=H"^­p?IDC:( (! {WO?gn#$K|#i_fɳgۓ$=Ev=5;2OBfXZyP$'^d>B>B7t;&̪}y:CbB W&pU" 3e(xeCHF U O4Sː]U)*mYFϙ Az1v @ChPUܹW%xrcwhj@ иcW^c:ʳ6N.*;_ UBPQѾJL61uc=@#b:/# vtx~l dԷ:#EdE[f8T&1skal ,֫uʪ~./Ac4u;_GDzS &?ٜ|*XX~r>qy#S\Za.37m̎K{T*HL|AA8dJ锄s!'_4/ +#􅍮VWހ\JymY*f*-vuMTyhVO:7Z (FuETI-ܷnnxL8P#uhtPFR:o_ήEC0ePx "gM93-^54h'q:}Dk.}s}$2R(TbuEgf)SA>3iխŭ.H\L$@S7 ZIOOpA$yj8W}W笠8f:EȈT$h]#Dm4 P %.Mk$l'zC> Gi / O*8ٔt 1S:R2{:,cTA)?=NAڈdu!%P/խ\jx ³?,aYQ}YvtGb 9pE/m&o&>G.6UTC ֦F5Kɵ`ߊIPTOM+շ'"ۢ9~[B։ND;t3AX$4z./\ЛbHg"sm -S'**|I\5:5?/-ʲ_9 K2!wVNRQnBm| `P(T^|1T%61>FvC"[V~%_̘|UroߪxI3eڄ8:DFoY[3.l;K tYV)@/LovjI[ &6˒yrùwV7{,3CsK2r"+_Mer'u;ddLK5>2% N.*L_΀# ңOf|.`%mFe\W7hQ ['PY,. p޷><*B^vD6uji3TPo} *g3:ilں&#>QgQbI>`p*OT8qD%R$ަH)laexFF8>-dOu`ӯ\ #uŨbE5BʪIsn88'uq{$[KIzĎrƚ6_O]Oj黎¬Q_u>ɬPKفZ,]^T[`6*$,6Lկs1UETfߡX>A#ߋLjv~J Ba]ժȻB!, m~CeExٜ1f t!ղ*a~"[\Ń'J p-ĄD "rlӱ)_؇cEsxb!@O [oK1B{𪲊*I"ў=9+5DNf_Q3y:6ghb!DBD%>̔sE{(p1,mdkK|}_S!* oluX H2woȠFP/K+Ko-][3r.+-6 ًzHm"{ 0H>Q!+8^0dPLE`**)ǃ *K@+ZTG0$e]cƮHbER.Cm6;Z/sEtuMڀd4|cU;ҷ@'qKs[ ͋S/SP,=eB(oժȩY(c5,['_ʿdQ˒$>k?kǔܣP5A[^g+֛?dhl3'$ij; GDUON&|٦$4SN2Jd*,+OF.Oo)V`P怈=ry/Z.VYM6IqEQF ٝrlV:-~ZC:q⍚+РɘYf,)$hDF)/,hDpOq>;R']K2u񗎔g c'TՇTTĞhUGzɛ3/F(@Hfn= [^[e,!1U 涖V_[@Vnj5D6Jܛw^v ch;vX-=D\1>uIOmޜc_4Fs:O)=112۴IAZ(ɥbuչ9U,x.2_L/yjX@ ꄶD m6cSI_ 3PfKnv>h:Jm28H׆T|&4P^[xpxCϑN8<:Y*GelN% m<*:b|f*̈́ 2rub2!Bjb8{9S$uc! |B4"-Bt|@i~`m S 8! Q^–%ޖ󯢛98HF:|%ZuA7's|HlsD|{:GW"vUJL4(}P5Ca}OXkYjyozҔ2h eɖ.˓\9^h0tJ8zj3b|7dv3sr@og.e#! #yS\3o1y%gs tZM0XV5tgh|GM|G8ATQ_ZxR+co\f`g 1k@ډ 't)ќ^{Bd7aI;RDv "($خi 4ЍD秫jHYyZD(Bzh3~ȥsV^kä˟(cz' 9Ns^1VDJ!w;)!5|@-a $5${ rszWܓ,pɶ1;(<׶wP乵˷T&v祪;24:ߌH$.V~/0Us Ղ?~2aOKB+N7W:h=o9.17ӛB*w :ڗ!e'h&cՠ̡}Vi˄L`23_b_ވ\6aa=^*WHQ#R]*G*tjilZy\Bdc+XYޕKT/ >^v#)A`c 4v敳R?~/1|ɑfCA$6WN-c *`k0TaFh>y _.D[ (UCWt2E Roa\r{GPQ׷/wQ"%:87YXagsb0gd jf{W䑤#d>=kϨXbTp ?BjMIPҐi|Y\2198K^J̌*:7{f]mҏs$rE"E_[_LHa ^dX8⪀{ |Ԣ6h[+V]IiA,~fux@5 S*+5C¶Yբ sqt}6cx_g$Ss:{k]Ծv&DUý I8+lhwvdTЀ`3x"jOCK%iǣ4w!NQV*,θBl]LNkr }BkcEznӳ%pwuqOZr<JjIv3d]ƺ{_3gK'\|S;x._W괱]h?̙#A :KΔ?F!xP -{v $kw t`3C>V:ݦ9y@м1Yf?eL/ -YuL&2~ $~P+\C'G5^T ``#VjKx%A5%@9@6^ZC ^W^0Mν66Bǟ'  {JU۴ɠ?^G!߆jəٓ 9\dWL3Rkw㼳ON[%\p2_ Bƞa&VU~/r qJB!҅۠0".Rsc^x-κfRt(鏅)=J*`Si҄(BXѶvx}=x [XnC=<-l#Fx3zg&A/hN!}|D.6YsZr-Ie+{l1tM2bnxN珚/^8ۑԎ^=K,yk!vcGb-'chOLƄWaUe򰨶d"\8;HMhr&vhCX.*Mx[c(p-V`úBL䔗1e5]4&0Du__7JSi7 +eը/CnM1>f_z7&/kA-}ySᡌ~G1Nι-u:`L  ɪVJ6NiJ*Z9 yN{8jJ Ry9EۦV\hZ ?IG2~A:d7xBrzۯ`=YN+Z)~(h5U> lZ f"3`=&e>^\N9Z6chXWGT;^Y"B(bg^O6Ü NE 4Mb ]FdFfԚB鉽lB9f@)=ф!NV1mm ,]=Gx'\ǞNZ@EL ;#HckNǙ]Uo[v-=M[![ׁRY*ofG9x|ZH7씤,KfZ0|=&8Y5*44+,A_#4c"ԾJ,L{ŻDs#%o>5׻Y Gºz# v!26,˕l>@Ta̼+J i;7et> .H?O1h'!z|e(; /Ͳ6~~~Gr!q$+G!$ 71`&cN&ٷH#\MY,}C,N6,2{'j>z7 wle&`9m:Q d.NMdt(s%ot=V$Dqm))&1*.}lM}A~`S+A` W/~D dCuyk>=Fe˕zyRWY }锦 K_wߞn wj֍J}ϖYZ`$Otge^RE`pb8-x[yNafE)閔XQu6u'3WVuh~g݋cN blJj/lT̴VvS э!$jK{J~"qfdɸ*7:ư-3{"R:( 52 y2k08o,* V\Ͳ`MQ2喤NQp!t$n>emʐ? ?񠁎wh+_8čzÌc=ʼ4 3M୞ȲuJ&$ʤ &>0+[x1X 荇\uRpa#y@fFY1a >5l$/=ϳ'.s50WWB21XY73{Y$Cf%ƜN'J~D\S,Ƣ˞ . FQ3UzpYÔ)ZS`!i6- zb'8:]5 EaWCc9 ajp>jrPXZ銲+qDv!G5"\9s?2TNV;QGYҰ2KI#rBڙ{OܦOOzSŸ )r/z'Tя1'=5J=%ΦC*r%͔NfH;Ơ`x;}MXN_WCO?G{x<"1K]QCw)@$Gg"*b*N Nhh)/]xQl`De4)4#aE CTЏ}+K5lO\J&`9|Kؾ)Ok -3sW>)[ina `娺Mg{$w:q޾ggٸpf LȨP! kNNTj 5GN̞OnJi+@ \ų,'E sy0*@e,5He W; J1MjjK$D`]E I֥yyOYb^i5`3!ۢE!{6jUynw~|"jvX + 3 1xnSVR!Û"j^T Xgz6?eU]1dm* aJ 6I (.2tku/Mk.Id˰ΉH `́M,Jس5 d֥*:)rgQu[*hr#KiNFWAgx%p(xz_eWf mdΪ{\ sr>Ei|Nr؉iDg*D72z 65SˎxP{H=3}b5\L{LXp'| }u*S,Ztr0bK5SLZXJYZ&=fE_nH VP M9bw8/K6s\zE[&<4|7>:_c0\-wj:3R~UJIfIiضu&k׼35&•v/R(c!\S\=Fs @u NߥYlŇy"P5f-bU ϰEΥB hN2/4^<%˲C$:{\(u{SQ(Mo-NQP45lax3{*9dgE׵-LBⳙdcmu{{ v]R3|^N}94Uˉ7o#3{ *fIx̐1Rs|{}зcVBD"˂E'/ݾRhQǃbIQOGa!pM184pE6sI3x#0%%8Y 5+?Uѹs>q+*Z*`+ |^z™VqoުNcI]JP8p 9@Lyn,dh1\0K"pg߇;7Уݮ|^)$beS0"TY,H5J2זpb ka1\G)5V+ sׅX"Ύ|'܅8{1-U>`npg0e^H}3UNg[>qXV`92~ivl;rbt5yP_dW}AM*s r#8!ы݋>+g ҩ WH]&[=k4|Tp.B`,3YΌo@s#2?GUqc?5q蟗mBOepۇjjx df~o7D"9v)x+n~~zb^3<[OMhD+1_|KrHsV{%̏vF053WE|ѐHMہ K B4uX]|Z)'vp/ 0D l)#P/ pGJ5knLm0pɚ^dܕӪdX̽ [ sº&&Ûaz1qǨtF;1BΌXҁx l sLUocl~)h:er/?>C`[O8UYK.V+F |;{Zt.K Y?9'|H ԉ摋kHۥw /~,4i9^KEIR9^.W}@ ϖ{0It~@ٜ|@ zD/l!*pwK;)vPr&>Sh%QHw* +x*vOI?GRoqT~,6[`pKn~|˧{T2YH>m#7)xZbȆ:ܿ}PT"kcl4tJ$s_>kXJV'؊v=uٹD$Q:鐡duU$j  %̄xpGHQH^0OXҌYj8| Odr4jDRVV5|< ŰZ0QxI~硆/ s>+bc/U |:҃W"r7 x<BdBe^fTdLFեޛfrT1E%PWL@0P><|7 ~1wNct`CJ.^FcWZy1YٚNwn wPlz3D}uKmA.*an=VNS"ŻHN受"beBxX! ϛNmdKwLy AC!aY QCNHϾd1Z׀2Ze[p%iKwJI;%^-~N0OZǠy!O9 }6NGrUW95seQWB7 g!(1>tᮅ$uV93B 1(ztǫ ӈy,Q~JXꙒ$K l1'kCNiqG`OO *0EbY&lKF*c.v 3m3G\wQ&w[̻QKxو(y}}ҍcT2E}vfۚ>zii JΑbOIneR;{K31'km3{=1Izm4ЯE;2vmSE"D0ixl=˩έyZ"@2̀.a'͆٩WRZmK$Cc/s1YhVGSǨݠXoÐt}UJˇXc\8IXV$q{0O2tv8Qg"-av#@ I#NkbNbR eJԯb[H/ Vv\R[j#.,PaWɖ9G|_BQl.hӟBV:WA {Vi;z)«c `T.,,V,$IW㙓ym):^%q "nGr:St'#>3'47&]Sko߫)g(ٱ]lM[1DsD?l2LϤWP2z:]8NT! q 69.n } Z`[8ۖmq+ZKJɇf13b9{4|ӤQ?סmK~I"89-j$(QBC;KbɴT"70r/̊65" _d-dTUPk(&"ʾLl&M:Ubq΋{M9nʬaGρ|0Toᓐ2{auD7t;P6=&g)# ,,8*ZI J3!y36.wVd92R^U~M ipUN$C?PHpkfreELIM`pu=Gs/bj928?szOw ZDT#m],\?%n\Kr/dGBσps ]3Θ?9θ`s+ڣ ͘{%{ҼAナ|"U dߛ0;!Շ!%Ä́@s3lҏ@%ڇb|gq*ʷݽ6IGjPȼ(Eo"ʱ;nz€qbJd%h=kIy>a̗7}8.R&]bὄ,&PTJkRFWk sU GBkS*x>wY&gvWeL@);̫:Lf[?6RӸ~o*v:d'eAu@^h(s"A/hXc$M L*Q㠳[ H #Ft7jb= e\!Eyg>gVPlfwX8>ake&;Ey{f[ǛJLX#ɀ Ig1bAz4]BoQnRoockB*N$EKޫ<}ƘÖ!?eX-2-{qr q{3 '-R'.4/GIS(^ږ1T3GTڠȨH~X42mX׃Cғ)96 Vz2)1dg)[a̭ǀ6])~5R]@d*,Ӕ\5=%(z? %=z=Q)Z\6Yl0( DSeJ'iczsU< j{Ku>PaCOzKE_Qg:!$bIgYͭNz[c)'-7aibh&Q܉ߟZ ^-Wck$꠸U\:0 T|ĝ. oq=`rĸ) :6#<3co(sJ S/*hȄj%e0Sy(콾|sK# I]{ba5SO..=Se=סC,⠜ eq?zEY{Ltɷ[A!ze9Om}^n_$ɤ`i@1f8t(Bi p].qTȂ8T9&!PGOrwٰ9,YɋHE+qbt:@1'C}틫WAćYy$YbR؆"r M Y>h"%a5W6jYÓwr4"f,TAGi˭%/37[hzAX"(WxW9vbT.Z=ǁS&@p/J|q [b @mwn3nB)F_L&ɗn8|Kuڒ^Y.?hc/mGcҺøPW V7^6Q$jf@u@Xb}y`$=OJNH4m]Dp QY}_3+awAvQFm{,xٌUi.Y9ZF-9Yt149]K]dh`nEp ,!yh]+b\sku{JC,1.Hރ^zH{hO*)5~{ڧwɰ9O< hc 7_-/*Gb}3P=PqNF:M)tp^=*NF9|.ITQlrt﵍Gbf;+6x |$F߰+>ԖbCy] }A}8E p/&e~()C=}7k6b}=f\}^?&LX;%7VlgVM%N8ӹ 'Dlfu[ Ey&ٞJL#Sͮ?bu 7ٜ,e c>L['iKm #^umt#iwlB00~ ^3zIap6ԵJ$V豀_rE2Y-Sͼz9k Yߧ ^߰6,=qd1[ p+D<:#p.s I1 @SEaB8`~FLOSFS`Ws؋uKVD{c=\زFϤ&K8q}@jTr5Q !WY-㐸Y<.M)P/M|8Bk ԰if+ UQߑkIuhj!X յŝp9#J98paIao!m=cpKfJ )ZgsʓA֛K0B+xMS64:B+Q+ޫ ,[0cS4ϝ/v=.D&T 7g8xTG(b#K*5.c  %-lAO, UڞW˭+TխǷ<; 2~ Sx=b;VXtCMP"^id#j;UsD /&2P@s3!SaqOm׏2N>&;!0u9JOeo! N)YShHM)`P_p[A E[%b+mFD~ 1lDSjYqL*YdfOyǼ&/Ri= F؞z^/"^^ӦwL,RRTmO]/`X%P)eAׯ$z1fYwdeSfrQ V8 BZM+]r?vVXtG]%Bf*[ݓ>|Fyͽl32ߡ&'t,AZ>PSdn]tR㚞A]u'A4dlm&Zs.X3ْ~p?2ǧԵu":_W04 xθ/g,A-.QSq48z}U? 6H{?+M}%?ί[l$قǨ3utiI#dfH޾Hfq:vJΕvLg.N [ڇ{H+|"rJVxތ} WYcR^kmޣVZASOi?'>ox o!K[~QkˮEr@D  w&M"9Ah+7 7I/qfʹȎPoڙ`pNTݵ}ѵ'" '(?dV!}3- [Wx6-O"i$+ ue#ӒuxV N.o챿I =A܃I~4^["VOS4T ^zaySTt8fF+Ʊ${~1=`wk)$th+VnaNt+Mށ3MlQ>`ew#L[5 d:ʆ ^ٚͳ_ :\\6<Q"Oc OqHoK7&E ρ-e%DT{H\ca9JywJEe+ZE1ik*v Fts 6ƶ:"fx,G6uAEw?.mMk> yZNϗ  J@|#f6=nC,O%sj1zqa#N]Xgp2U9Ƀ6U ̉ @m1 jT|} 2 &CEө( M۶Zn}z''<'Έa(\ NM~ .=N;s@vhQ儯%~{imRڠK_![_$](a]h#{4m麟IEy ؘTeRO!+?K3-hxECpѲX/hp]~3@b !~qEvDAzdrT0_.Mb?ْ2%+$Zou#ؒ\`X7xq/o]@ Bǒ PDk$_ _kI1r?y|J,a'D蒏omaǬl]]p嘡SJ6oXd1.X\~'mJuAc>8)`lsY֐KZk;=V8RL\co>wd.L'$lF]( h",jwf!`=J[GQ (Qf22Z+K9 2uwN7_jx`5& /_ 1ΘSY% 0bQKqiX.(i _0$L8[- _Ӆ 1{8Te^9if̨\ f=0P*Gm7*xf =L_/Pj1<%W )Fԑn^ \\Oo?@;Re+|k QZ+047C.8 C{ >قꉛ?0:ՑB1f1U}p6@szeAJc߇+!W3Oܛ!PBeAܐ抮A(/;qJHMS͕^O*yBtE/J#2mBB uڵ^JoZ! ZUO&S)B;ت\7;XzrcЉ{a0WیA!t4"'* q +hZJ5_e##ӂ (A"3@N3o.7A_?yfM'7J \d؞Җl]( ݇x7IlXb+G`Ý LF`m1 tK$bg"C]{Abjzlo%Wbzdc)aK5/}Ml6$Xg7MWzV'E]B%$BY'X3745$.cG]PYyK)bܯeI^!?LoDWB* #νOtl@,2-gmVk"60w`b Ou~O@>mܝ-벮˘#yi/Nr5R4"|8v!{jX0xabWjI "8N[d҆_HojXm7P@k7~0Fl=< %)Up*Ij-QJGn0ѳI@;|Q1U#w.d]K"ωvzMh†-H?lGRɴvr@n-f1z*e(AR VsioVxA;2VƧ!ݯ6s]Vti%;2 l$3i~SȘ;ӭ>/)d"$C'E<8<8hd̤CI =wU ?D(Ʃ_9/*weQt}qFB7Z>$3vEI7[ZܣLtMXm$@CgBq`\ (HGky[h-T¿|@S , i! ly-; WeG>yzY45u)}j<uu~iX hm mLH<^)2;M-9%Íˬ-2oqaʹ;eͶlG434`>Д#1!^wh._oDҁ.A]֕N>F v{;8C ^g`MJ6*4)>#&V]Fj,# u'?r`9T`rA2+[VhT ?! vG#T(ܖ$!@m苄*(U2Lwp/^տS: f֐XV_m?8Z9;+7]Li KW(JP*Wwr`YЌ'j fx1<7"ᗻ%3 βJp2~ 3d vl<.G oy@*1JȓnHpfn8WϫےȐK!&Z\O0~! (9h3O#j Sـn H kPY}OHBv$̯f!ଭ0p.%0hVfmJX9`0 6Јj G2 r,%絊o  o),"F\6-K}ԓZay:2ގ#4- PSqzaZ$몓ܴ&'5h m.0/P^%߿,\LcG!icBRHp[.BP̌Ruׂ!|.Hh[BuRNRH y\8JZ1 [5/\iucU?vo60#9:x`aq_Est"1W7:k{;kGSO7 WdRX7ݔ{NGto|TeֶyBDdz8bZ1w$[N@$hT ;KǕ2aa kFU ڏ^!Ӗza o+䘽SR=KU!Y@$BxMvƕ;5Pz+jZ ;p@a(*1;ڳG*r~qxOBjO.TfZ%gO,Ʋ c,Ɓ$FhD[8$$yr 5t<0[,i$>,e1Ǭr,Cm|(t{:^Ddݼɩ!0яVzG:&E=ly%Bl6X^ ~cWғqfZ"(yl cmk>1s,v B7|ca\GUQyI㚒/`zN0: _Q(lOڏ~%;1NW^5X%O(au<= uU,/~> ӹJhU0lId4FbA(u xpb/e:z7ŧgGGD/,L yPĨ#k9?`QfRvBL)K؟Xj?K+fƄn9@&ٳ^^\Қ|5#8'XB J#`SҨ:!A1OM!'vruߑn>R 6qa0LBG&.ȦTeQ923gM2}xߘoJmi+`ڻ,}2T^>-٭j:X㩃$D!w:X .,VU ]' NU*OJ0gx5kI[t9e=8UW]\by0wOa%y,P m_58/;75mqMaڭ'bsgy$TK<4OJSw#z3Zާp2)E;M06(JL*.QЅNf9ŸnFNIȧ_ A܋kmp ioMc! s((w1"hADdV3}J=ޡD#<%E܅2/*F|JMgLDJ1"#%`LQC4[%/^}^KyYP3݂^4v>u(%VJ^Qqتl n@xA J\G <=Gbp='3@V|?{OǕ?[L[*6X=G]diu9 Ao4ζu2Q:r"E P\N58a4N+؁үJ#Y>;g1pXh|ǖ)WtħEC3D}t<](Ia@B& jP?t,oP 0EE+ME}FXsP*L1A;{YL?&8j?Vw & ˇqf|.ol&n#l_-/]o*5|mqKJ{ߥû {kw%=kβ wR>G<:֦"e\V= '6p :ٹmܾп)$X 5umxf8"˂S>z Q-1uQ@J4Ӓj0|zIu~;Fz)ji@ZLY؎? Ɖ(LFqAۚkƌ:n?£ L RKG0NJ|_%DshY9nr?)=;Bky,EJۑU~0["JB)nſ,T#]UvZ#o\Hwwܕ<#8h?^˒h 'H3)Eˑ(^jaqFH\lFiThp lz* 5Po#wt|Jvf ȮqSŲM,g2<Y4x᷎bSq|MM5~zI`Z#F]3I$KǜӒ*QRQ泗S86)D!TV̐j(3:\ҩ9(it%vm\:Afd[q#*q,E}Pl='@?3 TX49y1V6DV*.x¤F8T9gm!3|QҠ9EnڻthQGsr}pK`'A?,66.E S޸FFb#T߄2?K#-m CNHr0sǫ)-"2[el^NϋőR1mEz%+ `Ti6/&| (g0E`@kGx_F)[~9/>YDkʑ]Q{9*hԇn\ǧ"|`NRt74G/qrN9dY+8}fLze68#1>ThvR:E.&.;rqqdH^\qn<ĺ*B*1ż׋OԲד: 2 f*'I?WO ktdȟz/H>c;T7RQU0d̓A[Frk ː*k5,5liqsTBXH 2}P"dQdcRtp*AOQmuJR%SeM0.U$:1όjN'Uu# ާ/HSHd6v?O~I!V3Kn~bn320?̃ *@2FR}!Pp^`C=٥|_l4Wm>gyUUrM"7=l/_MQ[!UL9ln(!ds 'ϤG}e 5yM& {1ɫaۡ~V<,fPfGOͣmG^4fi.?VLPwXÌUY- ď-ia* HiWY@+3:]#2qܒ-Ҥ\H!+V: ڝ C*""/B'޹oM/jhAQ\T)n!%cAKPc=Y }s,KB D6*4DH~mJW=5I0%ySsسLw(s{|_YL-֢sV:s; tqLbza?wx.]tUr7&ݶuse S[+:k  %6,p g 4jEj/0'|[Z[sS%Kޟ5S.yv^;Q e-u H&%IĢ"58YbDjtpDžvruѮb}pj;xQ%~||9`9kvT'+-Əak[$c%@xҹ 0"k |䷸9'9gmi;WNF͌7 ~L$ˏI;Ud1lwL{Jl"D⦺-k0f8ԘT lQ(*;M p  iWW/١n/P&DY=[Y{† =^pUO՛ަjŲxcYaFHS"&}-}QYhpIP[=px9:ĢnFLSXM,9vKj( Q~<+I/LspJxN$XFqiφ|;Pq h!S$k R.ݕ#{+{^lxP$6&7 W@ (0Y6&*XD2i@G|FS+~*zz=9mY}5 j6%ڙ*6yRő^F(+ex3+?0}zfpBNTCoU"H¦xIPc+3 HYeҸ@%=>ube. 31Oݰ&X900I 7>}^$gexȍJhL>lA&CY1/͋Z|o_tNdK~Ft,EЬ ;U4tLnC }jΛJ(IlZaɠ^zY {aæ(2UD6¸}#iVC*kaXxHVE-SC0]HuN=JjPۦ {eu@ŕ4*Js~raZJ( .M2(N8$N"fv!{Œ{'lt2foR XE &G j81meJPr l5-4^ɷ Aaƕ:V0M Z6۶䡚ɔ?ZK&+fr)`%I iRDO22[/ý<_lE!}CL,`Ci!]e]ivrtfNLƧ}31²B,bDn[Pfx4  ڨKܾ%S^0?0D,Յ&#fiP@"ݥxRJt#RΞɠa:-+-'͇ؒ\<("ڶh3W${\`K:כL,)=ilX,x9ݰA^@UTđ0^qʜhm_w!ݜb8'l+\!5;c5}Y ZLPqI Tѕʑ`~9*{yAyvqV.{R'eɄ@fp΀8bNDC?]@o]x5)0aj 㦏!f̘Z܎uy r)%Ŀ/-F1P [&Z j z61k!ݡ"wҟ"OrIWܙI=tj(FZ ?gV&a-YNq+F,^!kY/y6Q{t)_.=9 /W~V߽17Og !賍sIkCk&G>]\*x0PDG6q :9<,Ʊ |ܼ(QV*Uy3~N6G.'!mEi)@ԍS+J 855kQr(z xzϡOZІ֣ ;C";IGдLh.]5S:\kIfP4> "Ȯ?O wo6;87ivxt9#^8NXgܸוwU2dNn^#ywRۘAA n3JGn-7+JՈLN=QS Yf;(an{`z-kѡ_%!)9[\I> s mtg:9m/WcnY~ge #Kc,_{/8l@4<Ք̩cd˒;ƙzK·}{> YE{ڪє@lj۰XK P5cI,QL>ƏNJ# c=.@uǂl6!]WVҍMDz"~4-M~5bL=Sd>W_ U)2;Q˂9`İM<%sӴ=@ld } )M_.3ԺPх(^͌m8L= l*y@E۸,;ShaD%Ԁj^Lj8XiF %Ab}ގFaҏOa*XPפp`ca<7/("rB]"\z2Th&_Sg8Ph 9p`*E wmx]_m5o]\Yj@1m;uӈ5? P׋_H%jYcgnmS)4z`d6@Gpu |SQoH*W*9C8^QidoxY@e0((&ࣽ2}Z;EXMqa6YRKt᧯,}ܻg6NLeD`A7W&#N:uϘl)u㚽qX2rՌlb~R$ۍfD!sӼnNGH~i0\MJ995n/ۜEvlrݸ{@ts}Q9bS S(<~> ?Q.d b -&:8,PRM}O1,wB1XV zua.1?@seA曽bHɺnff\tmi@,!A E '`<:$ 5CnKA i/YFt\̻꣡yLD"PG[(l1]r''eIZX>N.Ou6ڙ>0U}n+{0相^tfA>>7k̠ ]x`CgDk"󛗾_g-9ѵCCEm *#+ރ8NO&w(F;%dloޱ7MpQxhBX& MHYc1d$.Q_,^^#ӐVS "0yogp 9!x~Y ԼFz񈅄I>+pW31Hm\tMyTGکoJb(}ƀ ^-V`:|kH191tMRL c:/pVnLwn}A;`Qh9$4P@u4 -O> tV,pQL?fgjKr9ҺAUo1ޘiH Bc6BU`i{M4:,,̓8JcE RJW<8H$ܫc*W,ZB3Ŕc ۑ6-D _kmI"m]`W`;|RH9*[Ȣ.^70+u}(tC1Z]bHl_ẏM;rR)?~.ʛMduEz Q",EBfK"n[|*9(`LX&vTX50a*+m|Cz*¾Էa5w`J<,_IS %\ ERhYyd|36뛣V&}ULqlb(P\7>0"vCfLev?H]r4W2Dz>~%.P )Je`䝵 pHd]kE"AӅ4=c0-۝bGR,~Jabn>Cv|wRن*W^&*Lc8{,rb|4"u''!{]N_4ӳI9AgOj tOpE1C>hZlj N[DZZ-,x%1ߩif\a@TќrSFr5>a:Eo!+>?焺˘^L+* KJVNOM'yx s?IW坞/tt0ok79Bg^Wfo vsfN<->q 5#*RrT3z^ :ִpȡIKWm֯$lx32*Ԏ05hT~I8ok:o_I4 ?}xo]:2΢v3О]<~XRӾx`Hpׁ۩bwE{Ex@[c,jebܓr~:$!C mh0-\a(DA ?E-uI6# OWyΊ!yܺm =3Ws38|Gu:MuyߠGLD˧p#*e&Nsp]npvvU_T_+^;eW_)܉-SUwFB>,MwPitk{ u3n9ljG10*Hw8Tzğ SF4x9)I7YWM_pTC6]M}ATs|X HZO-҇Sr!E"KfhPa\%ϷOsU]um2r%Z=l b LK%!Lde=Nl? }qڌ04Y䗺V!yKpʍ-!blEBrI '0l5CɂHpkC zGA1m$q-Z5EaAyT@sp++Z$e+ŜR k`t:%R\9ێdN xE\4.>|$rM*lT;=N k -Lr?O+ڏ@;?4ZOVS 7}db~rQl0 >5r2\Ԥ'1/h_gF cpG+ig6ZcEc T!17JP1ba)H9+؝?lC>>'Z|E1z~,qMGK9n;doSS,nU#Y@ m 0bqIl^ۅs?wv=UnZ4VTZt`Ha ڨ/J$1q険L?/`M9443"i28gS;NZ|W, /|0N~f :j;5<蒉=>*1cu&_~~! *i涳mi(ըN_{a /;#|{ADWꈠl3ͺєRn9?;.*6C:ɟ 9'ԅK эs9y")@AK=ޙ|%VWvEB|Vkޢ:dB`=ap:F~|[Z='U=L3[*s!rʑê !IJm Du hAb/m=~KN H8P̗7f5 #B Nt t|7H4eVeʖX'H!Q/ɂVoi?z#PcO۬\wg6v`URϫ"JT`+%2b? j@25|?i׼6xHxW c0FAfo|xF b,.y؞$rlvY7cq!$m2v(ͨeX*|.xn|2e=: jr^hݱ0URZCOF*9|\!Fr.wv*JKU=FUdc 04ۙ iO=1[a @l:hC=M? u$K& Nv}-8/bڈ*#'{;tjӰ\qZ 1T@5S)>ogu, *K-Z쐒F{*,s 7 bfrG7Gc^ 1$LUȖ 19)EŊK:~ mzs&S bx/= ms>++q<xԂ~ >XVAoHj1mG\a (nzҭ>J y|>ֆ]9d ܲS gЂ᠘R)G۪souMԲ]Qr^hSrb<&6 }9?vkYԫQY*m/iV1f!RBsXW;GSH3qrL($! xrB؃B^9`)M9 4z~pɌQs$7>D`=l8; mӎ882YN`1!A[bNZPY'P"Y4 osuUiX$y6* a*k@tRbQDy hOj\=<K^=M˲B@^)mZE*6"7OvnYQ(XFE9cD~.S}Be%3"eJ?*?"HH mF2hLyxvNœ8ucWnUy_w0 xI[mexS~} ܕ@I;V[ߴo4ÍG^7}Ȁh@[h4&b-nn8üO]t;ZCdvyXI9R$AHE/uV۝DzkZ4˖b~i-l]E#ʹBz}7THn=4b" /D0Md-#)cip(ͮ{Q{-WPυV=,u hexgZlhgM.)TR]=PxΫ.A d>㓍oڋ'rU0>[s5|wxr/}bV(^I#-]<2l#CfʏH8D9L/Iw/yDDhۜF~4v@HSm8m2 )—6E/YZň>ВMLv,U q6s1tZaӝSF>6V2F>5 d Suĵz^,Cvb㵹Di) Ɗv-덍SX04[GukvFӆE5qZX>I h- bY;{71O-'brXrРb$WRKS7|< Q>ݷFeAHNB@Gȟ%0o>&㎴[0*'@MQGdZTW[Z#ٻ>YHb΍L+c3Zc[ԭ!zO.* 4AܔH?&. ^/Θx=3ll:Tz<x4$*Bt2~G(QEdx34+=t3ÊZHFQfWϫǦAʵKnqEf=&~صTO0MIoȿt)u2ULY s_)al)!)XX77?J[u0`:bI!oQ|2<˙$PW0?ܦ7>fW8j"8y ܜ?C],nq;v;${;𞔒I!X4,J"BviSCy)ϲ NFӞliDjär>5;cz±cx ?7߯HRy\u'h5ahe98=a:J4yWu x"IT6yKaI`(;V⭬W.8t=.H9C߫d@`!89W l!2ڤ@gv/vhfo[Z)]2N @͈X($ @\7{wJDϯ=A3_-Z \Du#a$"-{'DVW!lzpt"[6݅sZy4ԓLa7_PČvca'pyM,Cz n*W@͎0''q*FO ;$+ }J%kzPOUxؼdpoϦ!kZ@i}+su/e yp܏s]"Ğ5(蝋SӶ3A!51h*7oHgD`t(# n**(:!G&8j).XeBƥ% [6?|@ǸOC]2xEjS[UwmѺǫ|7lG,*r7óMQĘ #A*~Ԅ)8&Gs|(D+ye)pSʖ-hu- Eg3m!tFr;̌Ly@io1yDmn}dlrq4x  Avbs}.D ԂcXwd;: e0FYYykQ j0Jo(| 'J߲6~GEv&.;yX~`+@'J\=~R毢2]N}'!tc.c]Cuwa><Njz)(Sg*J(6A܎>IjaV˫@DVOUj8fR*s8Z5G m=kO?룄 ŃFBZ\"_x 6ǻ nHA$E }$'!$ pJeN2z-՞>)[Rۯ,G˂ɕ4 h y ob&CY_p}vE=/̱r/R'i4IZPhaZ(Ȁ6Ò<[U}3d h=ałq3Q#0a,Fp˲9/N L1J^_M[ͿMDUetTthLYr n)V3HkW%1wOR||{<!R^J9ٶjwQ~+ 5)g(.jyHO $P wƎҝn  g}F~Z*0|3!,$¯e;4pV,Ixl.fd-3RMtYg`1>L@++4Wcg/m{?4Ӎq %uj4dhvE#n3]'𘰏M4υeSeZ_߭%v?KU_A)6w_];"^ FHD ?h|bT3 #\Z7Z \_rj7>)UUx~ (஁`bQʹ9J/0n.~u q2@%i-# sDą@&я;0MTsQVxnX0t%IZ`4Yr+gIqYh]3jci>%,(=N֡OIԔUim=$X9B%@P?(GTYեsb+>+.'[R.{d8{4SY d-%φ0ԇ=RPu597 {#&jqne̐HؼiL7 ͩ_?d*'iO":@]Laϑm\%Ro. պlAN\j5cU<ɉf!a,~) 2muT}Ӝ+';ӈ8o#M>#R ]D[yr÷0r5 2Y`f5*v7^-r{ h.*jё Zދ OXus 4B4~;gi>2'%b6&AwT-mt2ؙʜa\.yh$(` 7C(589lDh'X/jaң|kO-H #hz+h@ѮiNTþsv9}'2JoW( ԯ+-OuKrU)KoFյ<h>OV/&Q3R_i3Z˲9 i%7Τ뉯ycMOUI]%y=ǣXD+ R ^R`gR_8>Lh-8޲G8F%nF# .޳=|Y{cލ sqaaQ͂h_mp},fWe_Sùp@6W`V@%[ 嘞ܜ}N۹Kx(}><\ѧ0x,7ߺ*~tu!&H-pr٥ca8ڥ !*<(KƺOYKի0_ tMS^ԘDAr0C(e I#B9eߴߤT(6 Vk?RbF ߐi2f t}ՔSU2l[ :@u?Cs5^1bHsPNy=%Vn ك,eg@q-A1ƕ=4&U)\"fҨ=ᕓ7F&2D"K*,gvw28DPldYp#8lYW$=ks`4-AY# * LIOK?m;))'d%_==Ō%ʸyP ktk(ڞt$Rr  O 2N{& 9!AH.,ץO/ʑ=4wxGkt'Ƕ3.-Fmб%/M@0~/*eޏS1~HÜFjv#ٲU~>DG~>@R뢫Œ~lDi,ڬ0o@5֍b:c[%}Y[>{Jb00Rva >*Kzo;'iR1> 9@iV/H֒_{W]BT`2É̹:(g`dDbMke|rQgW&T[&&߷Zhz-|ΈF\Nx0 8ww/{)2_Q2WpV;&#?8֦Y Qxs>P9E <z6"+_]) 661St626KO~)Trq :vtT*֜mze5Jk|\ 8ݚg`Qn _V>L %ǟED Ʋ>Q¡bSxD[7BsH8> 3>02j4^f~3?=[s^}AY"sC:$iͫi4$*Yzu1߷Di̻bS@w[`?N* Mr9mr{rY郀? fϤi=[en1gQѶAHsf) .9_#( gJMKSՔIC F~'{ӸKkf}ǧ!n`NOE q&ֲaGi=A$Sl d#`#aVH iqرhCJu*)r&SlL~ݘ_bnp)…'R'Ȟ5' : .8T*3-֗@7J"ʸFkM~&\7"L,!TQ."`b֞B a FZ0M/a<6dDQ]er7.4c$~}{t~Ro,yB!mP?{;ܴ嶂v 2XDQaŽ#)8U[0Zdbz Yѩ7wU\Koψ^j>FwlLWeѮ5c↩+iu*!X40ݘ=A cl"]FK`r΂[WY0d[Db ]ԛΌj/f`S퉎٫7a<1p!%Wz;EEFl0 hsp:;22Ö%ftڞ9sߵIXfϷE^zٱ&JHU %\@HőzOKYx" ӭA`*<yWARTO sդyz}/yjEE O3aqIUJ'2fO]T ܊` ( [ԲFM~ȻyGz'VTARuj9R$D&w_)zULyNКKkȆt\bIo3lͧ78fLOT:΍lk|1(Նh 0Vi~.#l+gO='^Mu)$n>_Lܰ?v gDDRx1c%w ]=55XitٱCE0ZÄkOPi^|kNIr$Ρqط8q!#y@A[@s`mݖWoTnk`.oR?B^&B78~#1E%/E{o2lMGUPvh bd*GNEZ%G@Jwu3ӭiC!dJb0ggVn`v[q@C.@|ƨI mkS#5j9U<MFfOXxDi ;|3[VL%%)Bi7InfQ`ù_ZL;?"Vhssۉj2н ;ER/>R~ Vqe45ڡ 7N)?]Ajl㕑7yt[NOI;TIBP-TMi|rCxѳ4`L~(Xꂚtq&gY`Aﳛ `O8J)ekfL t.R/9 yz! >;_9 S)||] SUg 0ʂ4R<c4G)`^cbؘ×=歊a Te9#؈;2~rIqdP>kg"6{ɘ]mCZr/ ;AFAp:w#'v-jr uY)` JvKH~v^~*CHkϗ^`L:|;Z?դYn;k\Xa0T44cyfP#i+>p'لWe|焗ejκ@ MmgJ3$"dH_q`ћǾ_,RҝK64wߝBάfQ~C JҢEO$"-#c>ڻQ`!+oz; Q0,R 6ӧPu7q&Q-Lb?WgW0/w6 8uH8"[B`ua?x W&w-N* ˅j Ku/:4ǰX`{T-ȃ v>gnDdaQ-ళA<frw߆ub2nU/W_ƚ&3/XUH#gewKZ',}Y!KD Xฏ}Fޫy@c -?>|-~D΀/UEκ]#ު$ ryJ- ןz,[&կT 9X!j`A)JWBKW*`ے3g!!Ư0_ć#cvl/8 F,/BO'dž[Fdz$$L2MYi`Sgyuk$ִ؁``]iA$PO.}R$[UIbG,(6 g=ӵvi| , 'NnKC&p fI H w<6c8^S-}1q?g4EJ3`B ?X>"Bmr!cÅˊYTeFUcIG T6a]Ѣ.)@␛$Ɵd? y_PL|%7g|A_,.|{ؔ}J<5J[=jPжsP1%pm?|'dj:8!h|l x^6xKqDRaFVʲ*_$m~/B+^!3LK|MfWa,S5H^Bk .w6_XE2U[0u{)#.CNpoG;$Q,@u4i}T|m0?E'rW#97|Z4 wa:թQ7?g09`!X9ٌ̐c9!%5%gAwύ cYS]L/&C1:߸zkZ+(.y}.OP[1]y9f DՁvԎNf@*pW,!dB !Ou'e;8biBQg?L{m2Jn0w]suTw.ǏѝnQw+Tt}*VfhPvB$"_8xk"jչ^ʁgJA04Jh/ELe;yZ"pEdP֞?Tf?cҤmxN2h^`;p7`Z`{Sܽ﯉-/́XƝ0TF˦vCv۾RɡN jk !Ab;{ք1d d4]9QӔZ_elBPdPoC<+΀M7Ss%:=+_)5;ݒx&џ.$w`W#4ޡBw؝ dr@KEydbD02ۑ ~p^[Jxh%1HԵΪs7l67Mu)>pPkm;"3j]2`קHy, @,8.|6C RWC>}g:n@BK)66 9}Uq\- JgxSuh^Ljl3ۺwo|eZ^ʶTV śԔ]UYGȽQ7VFd jh .f7s4k)@pVe=A14%zE \W<8.a%aom@?RzN({+k1Š%De 8vNi}v&+ۅ` _C:2"/x gBmb M9%WTq!hUzJzA@K,4|[DgjgLŸ R@+;!A3oh-व \ Dq(<:&< ZW^(y`wHF?e#ȧn}c {[d` Q9 ÍĪ18\*%Tͩ t,I:\j)X$%Ã5.~_]b>_[ ʹFe:,, cXrv;CѼ2DxA1b5=MHU^6'mN[G7]l=o/B/%6dynne%"<bt$rL/^TK*FS v5 5Ӌq}vѫ}/R1UQ5SqL3r|?}1G G%b ЀXt5c%4U^{>zZ D^S+_ƕ"`$BD'CIYnJeړwu#OQeFNcV OEIqLOM3<$αZt?j1$#|P4نH_ S ^ SiI݀!Yc8L0~Q|$9XU ;⸪C^bPNY8s8H9|vdQP@nF1 P7y~):9i\1PBޒ~L03_I0"* Ƥjdz+g-3셖$k9!/YاM'3V3 &Ȋ5">r|\zZ#E/J?x 3qYSg=GIJґ@_GsAc)}Yz[x8L~ PɕW\%)Hv~jto?xc1n+'N0ڥoH<rZ *.Xf%}g. 1=}ypu!HtL qRwg܏X ? yGao|8ก+s;XzPW%y&y: |&|93hsz#HK,{&iqm9.ۮ/uD&_2鏌@ӆ=C] B^Q.ۮdFSIX0Z F:$uvkbe(KR]Bf[+%ue{"ӳ InЧ9Y,ƿ/L]Av5~7M[$B.GXI^t`]@d bJ4k2Xl}F 'C+ 8&^d+p'7 SoªyI`7fEjc!/LTf2%LܡDw[" c477) GaDtoW> %dMnh8ӄ=z@Z$t-0qD<>B!-Jg=90{ypǥcy'tPSlvŰJ?-9]Tl/s¡t pj;71C "<~\FL߅W[]LL yzx Hi."n 9ۋƧ>Gp6'-%w6bđd!Mu_yWiǎӪ(ԎĻ1XT=ƏF/7&Yʶ ݦ`<ݨq^e͙c;U /trg#JS.?UO`kgopX|jyGq# 2Vi~ƻOc0Bg-lnT`^GtskiBa&H1si~~䭤bANg(Q^h1D(v*?X ObG=Ahag:.[I3}W^r{t8,\(($ k\DkLE̞Y vI1^U#^}E%,dC ڰM%;V^5k1n@O=k@jKY{\re9Snv=DtGєJ[QnnP'N4~tI1Mx󤖟nn}2v \VDIW< $9Bͩa&(Q# ^":  8/큍BzLOw\CŎa GWljd[袚 ]9fXТRD|"0K2ހp r359UQ%pcx]uW'5]e4c;%xo[]݇r#NTƖx&)/ʓ\?PK D{*Ž0{G#f?U0HVF6z :>\nvkgr 3!{̹$3[V19S dJYSr -}FuM{N2 3{G@<,y tor -suѹϓ :k *^;B6Ã6%nCX굜x &`m@ү?l:lnC6צc ME/Hi4ֱEUQZź/Pr0qAKHFns>@NXs1 y & Խ LhhhOüs~enxAJx I0Y\X<♎6ts: 1YQ}Q8%I @$2b[UAH6K{XPhZx6D+9pM>nae%`뜞d!h)09//gkXݨ}O#i$Iъ Cpbl#Ikb6/ jo#[w^;ÎA~!^ ЭhPtIP}&2ʹXbKFJ!u Ԡ(}}/\0b ;ST,bP'ǟp<6!ڟk g04y.J# y1 p_1fw|Pxq}x^ZFޏ627k(Ib86o~Sr~Sr*u{/Ai2`G d$OY:e1`篁LL $;!~9vдqCy]Q<ί־F`@:5KW3|񘀷wms[ `c]:"SwY9졩3Vp9qo&bEHέ\fR+F6x׎??q?WX\ˑ~09i&9iLw}̨}b1hAVht&`LX{^5TM bkiv_fJNS8ܙUc-+8tdB$5E/Մ2kGʫ +$o^Ց(x{Q-Jhcz؝=vߕZzA[%Dia| x7[ SamE\}閃 !XRUEPuΧ`Y{slJmj%ϫ܎:irq~)(f|ݴ"xPprQ~LY_NowR5%$0u߹PDC}9 pz+O`xGq#遍,b::>?2<&vu;̈;t!)k !j.3:YD{֦7g6[霿:#iOed^\Bט9CՄpR ygN4Mg\hmdW>heZXng]WSlTЀځ-R$/L:ߥc#VYux `:{]OQR_ >bU; XKFp["e}*@\>YPߌX,QPU9:[-^rXj('/;@~=+xcO[ꢱd=$~W;,O_: /_c4?,Sk&bn>Ewj~[4+ /=.dMlC/i$0!uvL|ؒӫ0İyeQ,:tۃ3IBc!c?|'}k؂qWq&vå0oH4E!U lF"4/nHjܕ0 d )/4?y51;]S|Ha~8򐽕2/ieluUxZ"kto/e{+?#T'Ӫ]~|bm$)zkJK\ӈɁMFB3tu5vxglwտ@@w][M+4T9I1jC͗s%#y-A~ibwneTNiSg1`)Q^JҲzPlO`ua=Mۮ@BCLIaIX&d(Ŕ1^\M-N5`Qa+ );:X*f_A< n|۵rN5lLSg2FoVPD\׏z )xFI@h:)cx ^CX~&]cya=aPXo0cuEMu'Jv/~%49iR>EjRWjГ5gzMu=~Pm$Qdeuܜwwƺ'R6[ʘ Q+ED.zEѺGQԺ!<:rVkfC191 J)_Ap]z=Or0؈^ ܥO;r DTX{N(d?sl쮖O*>Jzo'Ix}ЗQ,oB)auxQliEv5^$+ {LN-4% y d-s-o2M!0JX/}ZWyo+J$sR0ܣ* ^43~b. 4RSC<lW\Ci{}NPY܃$T,(ljr*t O^l+UpYF$Ȭs;T@wDegX{xS*TvNE>b>fOa8x!s` 9 ykqepЦm֬=(l['BvO'2\R&p=Uv"w'5=b?GY] \_m-v8]^}O >g45Rȑ%%SaAY$nUP@5D٥M`KYEgCԉYřЎJ tCn[,p Dt%GmzLnlF&U!r5 \j T)HiBC40y`_Kn]G{%DۧkK3SdgRCbʾSqGro~BY^=evhѴ4\@f'?7QU@jRZ"ag ^H/1F ̀MYP'M@!M0;gi'z3躨:|!n]nfeW;:{rtf, Rz;{]C0QnbTTz Ew.6nR!MTz_ ofvyzmq0H‘Tʳi-'Mg4Ynm[B]@|Oo7쨑׃^cCm`X{Ǒn$emϛ*Գ\#< 9}tG(Sx}^;[;1xKZWlؘ3x>X_r,k p%l.5//O\:15}#xͼzxIf"' ZݡhVG=} -)peϏ@3=/w%;tC2z으[qX@O7 d -%3Ka yk; [F8X( TC SA"ӿHަAGL J/'b*@' bpY'ÊZۺߑV >G[""t=y4r[$u;nW ш,D^t\E jD qn;iDTc<@TGZr+k3P*ǁdxQ|UպZ ;̡SӠp֪vqI&mw!sIIE0! ap-xl@y z!5@srf~A. k\qCuQ6<[y1P.T +_iAr͜_ݷO%%K:L_Oo_^iK;펕K&xxJY5n7i@cC%`G%4<4_  (<Ma}17{<8kC{]"<_nQ+l#Mmt¤fH#. %Ð*aj[T _`dL}S +E1MW}B~&rskAEfdC6]8m(8zig7~>ZS&nv #%OJacڬKx`{h %|()@#!%AkiEEuy4Z_shzIɑ7)(p|i8Iևg\ƫFK':N%;j4)|u' +!hW`$ y)~4HS̈ FcUU1`ޛ-)Mow8!o:fgTW7A6/akOڹ8b'tђQjv)˪:zuJfJjp?[Գk .nuneY()c-Ӓ0\6)`[ Qw|J"Cؕ ,.<=JH$jN+^*tfdW qtD=\@AׇX=Wฃ:{Vgpt*ʎ1FC"fjr'! hAۨg+t*TY`v+%X ͍ggl5+LÛ?kzG;޳E]h1cl M8q*갩lDH=Va6yZ {u c2:Nv~e +ZcK? ['2LzЌaHRi|/\NX7W:[Za-_ ՗tʦ-pet#'gƌ~k4i (:|hӲ ?D{^^1%Dގ!N%0=eP`$T1 =u]4M5eN#IOAؔiςp[B4M%zcaM^#:@Dޯ_^# o['vC쑃Lh3w{LW02 HJ0 O6 ^NA#vL5?509k Ԋv+2 08les=c]dR8RW#cG?i3F8 pa?q,db;" csg)|jKf&}xviv #*ZcgiEǥMk#7)se`+aS0zU\ a: A PiBbfwc}󸵧72Fm0*\?й٫ь9?;!4XBU!j'Yg@@C(0ױXrkVPg"9^h[{)+DEn1\fg ,{zE'0P ?L˞Z{d&J<V-,\ƉGO>X`z 1)0wgň^nXYU[E/5;NJZÅ߄{@$v3uR+j޶.=Q %@:`f#vI]%G.\(N3y(PitʊMh9۸8*?kXrͨPŦg## E bMongE皰9Q8;J H I:"Ca5qP@QiQa< I 6F=dѓBMK)/U1r=Egp]]`8>;D~(ݝEs!ETB߀&IK t*.zWɇ!v?2 ƜxE1tA]LbԹZڕEϲޕql_;ugZ_oKD/HC~g4-'7xf7 eq7ϳݐC)E;$C !Xdص~$qk<{% 0.c,rrG٘_,Ň% R瘘Iĩ|p7qTh(vcKBlM:KK_7y'GVK\Yb;)Q$t?P6v F$WE5 \k4Ԅ̹ ;fEH5gωd8?oߟ5,JUtN1Y:ДOyVG0Wq YкEL%ሜz-D?Ej#{#'wyY' cl#w2ɠƒ\zXGpm;0ȳՂp-d.P[0DgsZD6gt|qj]3fBCBHp816I!R][U'L?Ew!8Ă]n#\H bB ˆ'Bjo^vl5ͩ1TG~ok_z-^'vx&4}9ͥl3gM$[8"h )Z<Aor̕h;*aTWXl^4^YI8c5;iWX a;tP:㥳UOp)Ni PW"iݘ>vcq1.8ϻw auM`HPgi+Bx^C.u'bJZ?ʰ6$1yQsJ߮~0(P;&6و:XL08,byᵗE<= :5aUOsy Ký`OlwHZ m7Qi'1 wf乱f2VTD@,t{}AH M_2|PUgH`]3l>;V뽬E+ĎdϕLsf| (V`|3և+1ۅj~BYvA܉(ҤԖIBbs!ek0 i[l TJO0MĨ~#۾Ö̓q+xG%JQ9ø`zr^x=S%@7ס?.}fJ`Н Ҿ}B% >|Eȳ82=lGt 2"MO7ƷP׶ sD˓-d'P//֏3f8}*t`: m0JKb i=5Z1DOU'E˼_@i@BY&ඬsVc{՝>߽de_2ΥK)8u۬h|ndx6䶽W9kѓej5 Kl"i1aIݹ!3ڗ97gюÆ_ z*;.g(:J"0Ii횛5Ը*9z./)֛xZp)/OSSvDm&+p=ѼTx!{5HCRCxy}pqvj|qD=RłؕDZ*x(VQ{SIa c$[og.U(oO1ԿǺˌLE\N QUf$=I8-) Ɗ{>Ih {`Fpۗ'w^e+l4zIqK+0v¿ٯ(@]Z}nmNp6 SAVK.8GLsnV=ʮUՀ&wr`Щô4`O5|1JN'+'W؈l9 d1 BP-VA[b=?oʟ\|'dH7hShG8hOjeu\EFl :>*. ft_KSY/eYޥKqyۑA,hvۂRXߔ8 M9+(g^񤂈7}[ÄDn펅̀[{(F 1`tXR%v-(AEi{ύ%5 6͘4.UFt$q/bA` fRo}.ЈM jHGד!פh ;%  kbx:CNLJVVgVClsCnHJY ZDUV47Q߹YԇF+}R1R ؂̚MH6߯D% ]~~[8ᄏ Uw`}y,cFEpa68ѾK$~P~ R{r||Qs%T715 R}~]\oݡmK{&Y~0%|ETb+.Ó{R^GG G+,`᜝-+4Ulo] ϥ|d]&1( "Uʨ|KUfp? 8rkf&7cůgya llT\c}YeirCיY:N*5]dCh%< e 9]]"IɪKgM Ja8-xq8,X<%?-2 : z@F ݚxAvTVaYm#t#+,i>V :I݃@[[^k Q-,!n.ޑ@9|!b2ݟ<@}jh=,Ax82xrU'mwO|'wx3bVB!|L 2yb:vZ,b>#!$Q2ck jRxޕRabON,L0tLy%hB@( hlK2 :%/ѡyש*-`Ƈl% Lҹ\/}q,5npmWs. =LSg ovP9J4Ƕ'j{@u{EܿFaĬ&"e=YO56YX8 zpL效RrYYm(EY x'*ΟXgJ]ب4\_P:ے`RB]T 9 naCJm}]xHq߶ }G(F%[~g-tdYț_HUZ(j; כEgS0t堘9Ic'8qYOA;j P6mc|e6A/~"{+C]N%` Iau֪ʔwcp ]^c~s~r&e{ NByEu%̯X㜗#3]\(U=٩&ɀ`4AYqjFK0M=73+$j֟̽ :=˝yv+=Ю&tW A[.H !/O5ն!."WFz4˿\~Yա/kK%DET<M4wjD!`Ԭ{)3>UQb|֪bD2,2e#%%}+/$&_ Oʊ^: uKw?OH+ ,;r-%d<~D{̆[2>P u- RSsXog <"& "Nc8(!3tgo!br{hBoAA'r n㪶& $h&Eu&YhrPgGt@4@uhAKDgO֓Ha+7$À$?Ckh%*) kRȨZb,%yD V|$u\ 4{>[pV2D| NʼnL0ƊEQ̦|^.޵ 68bP qo"#pSL&2EW(yN pmC53%t6pc˗V7{|Hu}iLn}H5+yb _Ca TfJMB7'hـJ}ג3?ϷMqU% n,9).}´xVZUeZ#gg 3i!M(:GF`( 'ɬ^P+hŴ>㱤ɣQ2o%-+TC7NtJ>+&\edUA8:-Kªd8U+@6NƘ.zi{-B1[%O޵bOP[;e_CG*)8ȡ; ՜o-+..]z i؉[IwQZy~JJޭppPqckNM 'pc}5|A$<=bEU+*`wI/edEFVQl--3zHL2}M+}.NĻON2 z-4}1(?=lxV0P[t,%(زESdR:hN0i1͙]U=9iZ|.nӾ8!zfQkKh89|2Zr{(QuS OS]^iVUlч]>y=cuͅ\J"0즕BbR)i68Zbz 'VYb@xLͲBxʰ;M Q /XBCT ؿ_ޮ~ nrzom&f!} ]><_$xm|Xp$% *h#̸e$t{ǡ_{f}bN51GD|&TR^xRg%!Z/x{ X{q?YIHNАBEo3dh Z}mꖜ:قu=~doQ4k՝جx7AW# 1ju ]I|OpWMA} *HW smต#9JFmWOik.bi[Bg7 0_d(Dx5͉loGʴ(3xS;P: {r9CгK)˳@u=TiڀAO=dd jLitrnrO^ks4W L+-}tV!sD1R8ո12#)#8@^-9MdOJn}꼧ꩮQ'B7xMɰڱ>%G7ID;L%Zo׽_FA/69,gG?&o.v$3_zf9- WC?C4M>e=-_sǒ@3 r6D/vE( xm&Y]@%=}h3%r^ %x(2VҧKq0sK֍U+vT겮*V]a-Ъ)KWJUಋe-atx27o+c3f͛9jiI< `1DmcqDS\K{.ǂƘnFu@h/p'GYS YEHG}>[:b ~hmJUڬ^ƟO֕zv! ؈!xSd̶`;a!LlvZkHexǰr6z:?:7 V/_p'v# ,A5-45ћ9"&h\փ(%l:3fZP޵oVMaJӨyeጊSY!w6D87ዿܼf .#Ta"M[;ۛHLk~A#jk>ve%_5ڡNa!j24Fw8cD3D+H٢U'pmGgn+Hy&Ci0BSgrUiy>|xˊOD(.zmIXMvkSè⳾ Dwf,@U T2[~Gɀ`s^4k"z<%.EDu 9Q@8jۻ[ї۲ R/IJ-qҺdaw[f3ePV$l ġ*jFp-fW|Kad}_0ӵAYwRڳ8˿Y7RCEF&όR`ɟL\CjY򬦆{ڢ1цh:Pz=qm4m稢r^tYa|3mT^*V| NO`Paq,fcfbgybёHXt&ep+CAc-ѣwE5@,oxUuO?6D>gtlN,yM)V! fL( <[,=#?禅$'QwᴟCSG.ʰm$ s[):i!΄Z*Ci)IWX ^v6ؗqX:=jfMe_<u=^Z`N.7Cf7a>Hvb z Sĭi'0qXK%f\4T6;B`*6a/Tw̮NMH4G?{+m$ <$ncg(IqEdM@Wy@I#.#B%΅i8MuhHnMvLM/Xiӳ&bA.ao_O2@"4_lp)nPEQSCcXj![JlLzx; d# Gu;̙ъO@+bә'ZJ5:5l^ڡ<aӱ|NWT.2/MDXe"Q)F0:U0cH 9,R6άw0c,U3BILVGMG3Bأ;';pHb+~M7 ~ a<#E`qxnǣOlX`;G#/TUpNx; k7N=4w[ᆧL&vy,pb8:y AGoXB[mqA-CTmk$º_nݚkrZ/mLcp9i59sFu0@%]ǥ(XI 7Puzn 2*ˑ6HUߊEϜs9 1oCۃ$O@x[}1dyX+ɤm\A@+h-Nȋ*܀ dX(Ng28TE͑mc.w[3`MXurhx@;/uƁ@~Vq^lcL8z,%e${+8"AyPPv/G,|!Ԏ$LVE@uYd% +sT>ln:b~P=ac쵐EѮ g*<ڷ""YBMwCk#⨗Sܘn rX? NL՛x&Jqp`*L*Ҡ k+L~L1PP{c-6 2I,>apJX?._! U?i4ȧeW'Eg✰\!71{]kOQ9%4%* 6ݘH')ń|!nwtg+QӍ g%\VJefh%>Mqnܕ΅ _~3/"nvxAa*9>fB%) t;2nMU.!pبt"9 m_Sf;YܟRdGJQhVVWt 8U<ΣU} ZKtA?neL¶k$t(\5)9La!"98v_K_A-/tH, xKkeз<E`#V+"r[ E\xqxqrNϒ`>J&ΒlfSj9%9<;{W%txpT6N t*Nu߽ ?xVcx4Ge2Ҷ^L!"2M.%C11H5$)bugPOK: pr]\r{O|1g6s_W e4idL2[Bޒj~ǾS[9?PeD*qb \s3)3t3[n 0ߑx2ڝy5%t QXVOu-,39Zk7xyDF nկpG 4q KVZv@PѼT{4u :m>c[6ɚ89%rEMZ$T2z 3Osaԉ:~BITkP }_)[(F#M TR^bGqԑGP[4Egmz0S@OEnjb4C|8EH&) P "Ko.i *8Qj9!;I>Ryr.A ?˚8F)hD=ubqA!?ÂFŵC:xy{:f*E0o3*orǬD&f~+JsâiK4s&͈scQ7#XCutسqu0٠*SW0<=HM|ng l3EL5!K9)Œ+N6pY(| J d#}t[]B}0b8pR#ȖwX'xU5=$^ ʙAkqgZ`2C[XʔCw )j_7:(Y0A*Z`t!T*bdy:>;5_k#,a=%!})\3mV3=r;KgwQޮx*Gd ='01u6 h^@b+9[#S +W/9͝1gR+ AP .\AĝK{m`>m>5sI2)DC|9'.Nx `j>/pj̀qMȯ{E w\ǥ:$-K#XO6"bs)C~}K`闙ʅ. 7 ^/PKcYC(Si#%UHSb'1 j0AWW/K8[{+ڎ;,E0bZ 8ydٽsv;v &НLcR! &'̄kMyֻ}{$Yc8ɿrʃ(EBf&OX52Zg +O -gK^7;bl߱[Fovt W1(ӧs1w]J{/xPK:&]PN }gpSX,1U5e'&~_˪ v$ß=ka#’^LBo9KG=j[tL@߯;n9r墿ElL*I!Wgm>]s$,g-Lrqک,OHmplPsADԟbpJNC7IXfRRy\dEs @zxПY= P;2f:@7qag[J1DXDB\'3$x?WgtA<7iN*k|j@C jCkpgJܩp=u{jne-HpP滌+@Hyfd"6ׅWc)+%eXC%G% kjk?I; * O;ҷX׃l iUA]"02"D_x)UB~cr`4 _% \2>fko7j&5MM Lzi/; 0>4 IB;>DM<*oQ{AYKZl~:jl۞pݽz8dL{@ix#t42Q\9- EfSuAkIfb.1*zVէWMxYmw9]m y[&%H:x),2h'9}GWl| ki2N[a*Z#7`Muڅ,\mbJdBie0x}ڭ% ^I/gRWNuiB&~66O͒%@{AlNUJ>Ehf%[GrAMN[*If>qj/n1$n9٦S4uhtݵwb4=B8.g|+9Ya`v~50%P*þ-聾a95`?z $yf1όz":.P pKc ֣3 50$@Ȫu1~X/4yÈQ+/@U3~m=-M=Na'j_+(,4sWqƐ>[[gnJ@mVani|8 6SAfm AJVIKH$ GzA ^PlV1Q|P9uɻkLk8 Y#݁9CB+géHxrո~h=s!Bh¸/`ZU@+!m+lbrȀ4 C~7E_(V͆ bFwbf3hEGMV zȣT63 z͒ެs#CȌ9m.W{UDosr÷xR؊Al ?#ŏyW*̢!Kz_6"Dy ر&(s"}jLE4lEѴhT4P̮#s]àҢ5ub۶6ȥ*W;\{)rj]u:3TJqF54;>Vd\ z=%klsp XK~S!Ϡ[aKnGj bPu]9Kjě B ,#CiO#HUCeNl6kDPv?g2+uToӞuD-Cbر<,q7$"Y۽C\*7c~bjπjru5L@j(;E_FNӠ2Ω_o^0_+_Hl%Gzy{6-PBVmz&z.O<BS, -wDOdG")SB=ѵ41vcR5G/&[]7ffcq.޵/?<=5PQhK^ܥ:r {hky&ymђ䖾r,ӵB<ကݕqugG@LgepnWN%*aP/n/]q=g$F5 A̼"9o˗GID*]OB̾1]AڥF{.*XfUC"en͙bI)6K[`68y<(=F4,l/0^]O,wTɇyD3O KbW5+݉38<)T?E5|UWm1/EGwHpVvS >H-Ri #| @z]d}Y#ZY`iD)Ek!rBu#4"c]@'/-2Lܞ$dKq: ,.4ڮ*?DpP̼$܂#'N`Ʒs]m x_9Y&1apYEm_#:(bDn{Ga2f'CE=yR8~IW^8⃿[w.%Ug=Mm)xJ]ro[(̱SK ~wu?&[>3ȇY'L= 1 I:ao[NTk ^)isLPngUE08eΞB#Tq³[ cyI"E_YHb.OmܗNY.{$"_d%VqdcOn挼*md6B.9Ftwv~.܏-Ur[ܾ!IƒgPYDUM{ǩ.%)S̮\8 Gn: E68&ǰ[dGJ%rDveK>NP:ajȏO0Yf91š[yU:#FA<}{@?ɻwPpfʼn<ŏi3rATjYp _B/Ƚڳ!`@\B8w j<["mצ?[BgUF_sݙ-ѵw0=ɃK1`8=p|?)fTSz-d+lH[>d_ɣ6n r}}Rb w?*ZȾsف{P~LJ?+^idN>S=gy4wnXvjB^nϒ?9`CB+?CHSbz/nG2kvknCET"9 ubV?|ZWLJ]N&G<"Җk38{ *Ae۾j<(d 8IQxNB\ Փ;2dȢI"@d0;li򜻦[,k8LEwFfa'Kl_h+hSg]po cXSΒ H"3K>ۥA2mb,0ƒ9a]ɭ`g*m*omlfR `XkJ,8]*Q'z:,ش%(e "OQ]-ujοrrw|͹Y! YwStx);U|ehh >A*;v8iRԨ V˦bȗe1bFtM5?Oc=7c (aiA4ystRm du33/iS"e\dS $>@]t-z6 ?%DO[?ʌ V(Laz٭$*ʧA Ҏv\Nߊmds팆 Sy֮+?-{vƷC҆ηd{<,T1 FyAԇз$ m@xfZh[ݧRY夳bN)VCWY0S \ #2eS!8ȯӸ/ɾ5Uso+[Dzzq`T4N_A}\b@[5q&>_ ""O8lCDWe)  j%hy:Yjrv̆5m8:w/ 7神`ܹôөTjƗ.=C=ﲝe\j>qHg>būѵlYvP_ݾU\G"+ hbuL}H}H J(QO$JORYR:dk1=dt腾{TRZQOOjM5NER?l4*B$̺ؽ7-/kkbf8?Vib4JTNԽ7޳~'&gw2$/KuC/5!%XXA2A<q%,b}rw @h*zA'Hk ְjPA1 uo#LO^(gL:1btd>Ww}J֟8=U0HG!l0F^=\2[˶Rj$-[M?5?wOt-}7%ֱ#y@f 43"[lc3^@2%](Ԓ+s~ JĈM![sFE`"Qe!x}!BՔAc$HUf 5nnKdtp sh:^.a#61 (V`&_Xӊb@QD ɝg@҈A)wtkp€ط:s}mKOz c"Xɏm _{sc!QݫѦ^eɡ=pBЭBψt_B$W4*s:"rƪidjauًL[pSlpPalЬ9L.ͥNQR F]%!8bHHodkr5b=jLA:qE;F45ߟ |eC H!W1 'يCgO/i0dy,D+=725"S6{ /W44u+Yz1?KT} d !:';JJ$';?F{E'k5 L+Y:;{ПwGR ܿ]bkSa;h_Pkؾ~%x7lJ (W6=oqDC,=[j_=aDf,7WD?^L r*t9Cռh6&vb=jf˄&3/93=Qxb5>VE- =% -$x݄>_b ڑAO95GvtMQdSx fw2T.6&_4*S6wɗb)D_2]+EޤT#$r.Sw' !Y;"՗)fg#ƻ.ЧgMT~%m{ [j E(g:l桞ޏvx>Z ]ݥ@Ù|爭..WݒK  Ɯ딒O^jpL7'ՄԵ']d~zCN"'9=rczW'gnm >-_-QeE# 63:xlfmwBj_B"DLcg䬴/g~C*|;rdu] #.aZ?,BL\ljՈ،8R ,M(a$w@*ؔl$e~C 2!2DÓ#Ft':@L%( iR{]X׳um _U@`BZ{wDҰ&-wƷv@nqPE-Ч-7;IV boHUK#z*r>fCO'PA>(ﴙ1JWT3ڟ|10J7??:\'ým{OӦrQJfSLw͇>!d$TBͦie.V F0ҥki@d?p.6$ Ѭ }}P` t(kv5eZ3&3?X+(gkiI5@:3rGxt]t^Jsۙ둢vX{*#QRG<%[KsȠG\È\f>YmтnC\0Lz3hm:nI5euss)B'NVZ5HCn!L1nIQH[DjVnYM%QGPuSg%+rTkt%*)-j~^3,F{ia{6>ԳDzOwS: x8js Kye 0R2S#Oͺb<#^K{%edmGz uU=~ u fnzDH"TD;C. ̦Pˊ(84xNCK瀹N =ÎϖdVz–~9\3e\}eI,C 7QѤ< +%HKLdpkqƷ,I-(7azBxx!QTE0ﱕ :#@Os;&/ ԏ*owߗ|rܡly3XZ=LeZŹӺ<No㒿b P l+\:TzHqKɛ{K6GONV}S pa>j, 20b CB,P:eNQ1e HӇ / Q; hm1pj)zN/);P4~0^"xI Z3e"d8B $y-|09osщC(SV75YcA;=IQZ@MX qQMٚwrǍP\s%lXr0$#n,>NO%'/g[ܓV@3:~m^ 8NP۾H}߆ .`UK} v` <hU,fsH]2:ԙr`vMOTJ;݋T7_>!KA'DH툩)Gnlj# Ql!K!cBlG1σ_,S˟L[h7nvjѮSAuE\ێ'6ܾE6KN+ 0AV}#dhdaI0hn5*nLN(µ$6}P8}i%Tx*pQ$ %J~F%UJOAm36\x#zuoبh??>Rxzi.fδȼ~ښ1葧#(לiGхV!FORmQ?yopڱAiW!Y m yUCwS:eKS' eTbTEl_"ѵ/51SK6/rt쏰_;=Xpnp]s+ qи/[Dx wfYV7KFw$6#p1H QySij;B`ǥG|b/slxXޤ 'q~-IEYw%jp3~{ c^0LgUc쳈q-jƕ-Ʃ$Y܂= >ufÿ$oYиar1_\&-AKW]DY 4 F 9ŽV8$w-4RRqګ2 v-yQ ĥɏtS_'WF5kĦIT?C/nś*k7ܮZnT""cnHH2*qz&☡z؝iC`eEp|@knq MDdrb:b>5_R3J K?U0 ϵW1n|ի3J0pA*Bg3 2ߦ5v?Bbܧ-ZfȮp(ӳ]Nٛ&V7`;G}/ ?2gW/ك.޷4zLy"_~tnnat zcv-61-(א}= ZZI uJm-P-fvV$ĻoU>ZH8xP`v2Pk zI(uƛ6rIwFH>$?81۰ Z)R@-!Mv7h8=jȎD'xupPWA-sF%tQ$פE5l"S?;;p⛒qVQFYT^qVI̥-Ԧ| ;DP cA<=xXTDB*얱Rlzؒ}f᢮ 55QҜS R7KVljCՎo\e/=v Ut^녙92P;xڿ@sFV6"]n/OھzJHuM]%{Y rWP{է t+6p8Ҥ9Tw=Z8ujwWSwT8?%\`do,%L?؝ͨz$ |}RR>R( fK34 ȡ^[>֭`XY sm iyiۀW#mSGWxf٣pj@.Gl(NFKXx' ;._Y$cR/]n9yQs8KPD؟T^rUЅ}]Q,ޙ̴@&+,yYj1[.-G,yLvk?7u:?uIy7Vu`a_s2v3·pPҬ4"fT0o!qg^؝u_P*_Es% \q4?Iutwrl ,TB#R-ۢXt[nRԂs/_ `Jps?ԕ Z̄LzӅ+II)˵Ȯb$2eZYv(li[MKI7@FړEPݫ H{me/3&uNoٗ`h)eX~էDC=?g GK&GrR '#D~*gߕh_.?e+gE2x(yKp dxM:aE)]Iu& fo^و+s;`t)2A,*ڳĦqB$"݂gH'Փwj?MZscoTFuAl\bV7UMBX`ЌR|*GXpdJ,褸yU3-[Kפsje+hDzbHqi@g$֘h'T)doG d}ѿKr2n4Fte"\O?0{(NjB^;)YRm;g6D1# DlG8R.V;oe 8Z H!@ g8ce1  ɳ$u֯tx@оMs݂ߩGW'iMQÔ̕p*IQ%1 }^]*ֶ,GuFOJAIBh> v,+Zmp%O\\Q:-q;&)~qrVAlU@٦s WXoap4K˘`6FIA8{{YpbY!1(ͣDMfA-cb9XjArHj Ǝm lNHW?vYҼ-,[MُK*BBr10ra[1;fyhq#ȅy~*{iH~ 8h#ϫ_ҲF%RZ&Ft~ =f=zNc|ߥ ІԨv`)'&G*_ĖRu s϶$B#ʃK&뗶M4.]vl:GmU@oJ2P%e;c9 `^w^wrګtkHCIue^cEu1(Tú7Z,V_L2k "2<ⷣ2%ojId#"/߂_1p&Ȉ9OXj=L2XwX2/0׎UL\׺]9ύh40Q) :]3yR $W dH]O-cP׫L0G {B*dx@Ia NbQv wv#x_{BX y_mϼGy=_(Y٘ijzu|54R`"48΃11IF"|u-M5LQR 2u ; dIcn7t0ZN6m0u@Qnn \v*;wWd2[GX8ηU}"+}DSw$*([۪!$ɵVTNy<#@t?00RohbŞ!ڹ =oxS;TNAKˍSk>o%瑩Ը:Vծ _]NNW+DObb#|Uf~SZ&QfX.0.3 $!l/)*Hv{0WI cs(-ݿL|:fBG{Ђxɝ41;|Kbt"鼳M6Fb^Xw'OD du!/;<= 빳)ѥ7/Q]~(ڹx>6B{=R 'l Z2z,¼t=q˱ss>v.u6C׶+$fF( diϸng ;XH؟?d]˷bTh}w)I )2gq^I` ƒ'N4%@q[~!}e " no;~4֨{N19RӖw,^7H ⾾j6^NJx:ܟr6Ry`iUO>d'/>G: 5'7\Ư/5o\CĂ-}b}gwp琊-r2fuEV)D5zN&ǂc$vf0'aޅ>Eߜ+r\6[E[l?V[x=o~e<>Hc[XlF'ķPUj׃} MeVia,} U.ngxRSIiT!ޣ&W@|ѷ1l,>Ȥv ©k $EsQ%'Hi/54 rXSlrpbiHaQ%rdJNǒi'~韉 Z/xe1sHxSDl=>aQ׺cMpԱ'g56PGHa L‡fIX܀|fxC>>FlVos,IM%i0->r0(4IR#vJ`Chr; _% /nc}[4K:{9,h  =D.vj)H-(gcJ>$9o\J@$P\HhQ_t'"$zaKSO,(j;đp,($V P\ %׍xv,/96Ӕ%ˁfC32 nk۾3vv̓ƈ{6h jiȡMbT71tˆdQXO|v 5 3* ֌%^;)_ "G,nŐ5w3B*ZĂh'tw2uzuh>7iJƈڈ6أuxPC^TMHu"MDxZs0Xl8Zp*o%s%:t^NKJ`W~E\ )͐uWI+f^j7 -J2t!DƹUmE:WtzdsYOMb1ŘFgE9$Q?guְ ]'USIW>>S7N*!CO蟘{I`U6 5uBH=`-Ux0|4ع/gy-7:`F;u/H'ִEDPtfIk'|y#4wVυ\,Zn !Ҭr;P-IaEuY0^+yҬAp<~AZ!@`k"SFT5 X0E4J{]*jv:<L6 27uFΫ&_E> %G5~QܻSӼt!F57횓4 S+uSm} -Cf^.kˬR$l<<I@X6/M5 ۉ˛j ϔSBl9]*Z(*J{XE?TڽA'P;v˜NuWg{w-}h*XPO a N_It>Ejb~,PI>vדǹLt҇MڹPQu6w_hrXrS5/@ɧݲ@l}G8^"\];po o Mip[sMir&F$@[pNO%9I1Pʥ!'!觊#XY[ 3ɂy1ab+NK9>6 ;nuhU`Гr %*hb+jS@1RF߳1Pcgi g+P j}a׹bjkn Tm\,!Pʰk tK 3{iSǺO.-Ыp3-(eJeQf=ۮgkM}5e- {*Ja `*ľ4t}Sb8,t<\M֜j)ذGxӤ$AL4Ua]HkO#po!nzĢv-Hׄ26\ Bc@kBnK0*YG!_S'ߜĭVh+`LCtM0o-W~/*=?YsiV/_P æR7fZf_nz:p!}\ґj&w42-,fn_Ȑ=jr$# 8{釪0#h=[Gl{w$3| (,]1թ߇hڱ3Wpt|k~2@b: 9 #WImN8G8> R&y[%F$z6"׆ھ߮)6Y3K7Z[y Y3HܤflQ|.+1U %. M94.Ջ=O}g֕Ν"\ڗ 6z߸ gVmxp/ @d|`v?2h ͭϦDTMd9\3׷Glg2m*wrx,O x´T8J *F嫉8rҔwcEAA=Eb˼?a h. 6:)+~={xA/q ڷ:7|Ta q/;*FMTE%P5jzJJljhO%j2B4(JPg4Xx1avߪ't=Ӑ ~nȇrs:g>brX".ޞƎZa/#=6ѣ7Fm -A@0nUwߩ{'Z{Pw@yρohM_+mabcW niSx0)j\0Q|M$H&`C/] \d~<ΑJiN[zM/N)C;1>u[zNiuӯ~ea6@HݾvW丌b-I8604@2A``5r ̂2t(fڄNf7t5,To׷zY'ktY-Gi?1~'>|uy،|V,`eMn֥TV0T idJ ^c!ts*S4p@ߗ(vc=,4ot/ (DD,Z)pʋ҆"aRNߊN5͓5],W3õiS+^ ƛ}̚@gPsbj|&86XZU  i@m3a2ui%a5EbeWA$ Nhⅾo C')0J>瞦Znx\|9*aKHKY2Q)f':ucˬIxoufʸoU݂+|M, j0&+o2P}2؝HVyD CuOmZX P`7Zp~c ixVLN('bzgm4&tL )چ\8XuIt4OSB$m8RsVSOIԲsbǪ sOhDyЀ"{zyU6=Lk0uϳ:jO*:YC-Dah'~y=׈B 4l~ )eLol\4PqhysIޕ?" g^f7 7Y諴\c1q`#7 76kЊmY#FhEQy^mugy~]|7>[^w-k| M<;)pi/GT AH=H4t Prk>EzK$(e?>$y_S!`3fT!wl/lE ^\9dCPc|03Ć<(=BfOʑEm- &C`οKS4 xl՛az3xnɄc3$C+ȳ_l1 o^)zqiKb.]FgQap(w$fzF1:uތԉ/e4}&tԚM}󌫉t̸0e Axl Adg&f)!xD\-[6p)I88VeWEzU! jd4+l _ʖVWj/|@ av!{:*߾I߆ͭ%0҈9]n}C, zm>dU]Y$A7*"v )oOЂFB B)_JD x…)NqO?Yvyq ׌O=B )^Cq (ah3llɍO3lULQ.{ wD ;A$0|xVIԑ]ASA|Ju_'R.ؙwF;?ú&px !\wR U8rB ''bm3b-Q 6R* CYk#bM\XqC Qh{ySpbI~8ֱ皔19NМ7*X RYnBԻtk,Ga| 1"lj$p*ȦL|g4 5W[hP>7ϛZF]rM/s|vGH7--w,: rcvm?_n 0j(MK]srl!!ҭߗY/٬{S!+;E#& I w^ ?eK8{砄>~4CpQoCgi| =/v$Baש}0rRr]Zp,`{5-/+etT_kg.j{CvE*yMÎk7IuM#Lk=/QY",b,N4hzAh1V"T}U˥~x Uiyl2x9{ u zUW&Kcw9n*&`b')e($;q]p͑5M'M;4ml0ϯh~_Z:fAzk+hkrP38nn=zwm\  sV)fKZu6SW/ӽw(2p{aWTZ?ow?NuP?TN)|ҙhHdNپCTjjx)v_DOoV|P:3%L|:1)p@ 9EȽ;|.`^Cdi\_c\S-R| 0tua#UN^y*..jkhBɠL(rT2ܤ>Y]9|oX~٧3K6Ȱ6V^ g|NzNl`RL)6nXɾ })0DnsjuXmflZγ:* c~~qN8//xdŜGqCc x&EkDŽ1(q7Yh/6c|YY4dC$podIy._ZBZ60Z_oZgw0ơ2nFQ&7TO&c: /PQqd˩Sz f Ap ]liJ`M{+}]ExK8΂lXD9 Wp&Q ڤ0RFciI}I:쏊b 3N"E&P"L` DP rOsXe@M1<=_lxi | ykӿiW] e9Q~EX~KM4tQs=hf*fjO̶JX%h^_D|땗0q(!NފY 0ƩTRT9{fHw(5<|)x{< ElkhDP4ӹ"cɆ0ȵi'g!vا*J:. yDxB%wIaZq01Ґys͉?3M~—`c`^¥lK%w-FbH4K/Na-R/lG9Bo*eEʫ% : #Xﺬy޾摛C *%@t*Qx\CatYIA0|<zJ?;9Yk~Uxz~JFLjDn* 5wW;7 O;k)_Ԁ>(qO2c?ro%9qli9G z;dML(R 闌QދvK4ҏ9aӃn)"v? sLSQa#*ףoԴг|BjrSsI2W [ZFjJ.,ngՏmjAf *!*u{1^SO2a8<[ޫLt/Pgq7[4EKW[84=W_[hD 5Ki疰R:}rV,HxFENsK7<[acJxlN9ܞ7M7Dv70閒}v*`o<Ԙ$wK5@- "' SOSa1"VZJ6)DƽD,Y7#GQwNuFI8[Z-Rs;Ri(h?*)5(f]PyKi::yz>P5f+%ms\OGhhƲұKuav -s 5RL"< 5꫊ TU5@luCauxFPN"Xx$?QȻGaaf:`s"YYj GBб1^$}5x{(lS`fA OQJa+OtnyW*Ybu?^P_HvdzF6oFh}QǺ9w@`*M; tWId:?fGBNژ^ց o%}XB>ΘWTb{xSoyRJy8,.Cw;דde{պF !bӳ@֗[S2F_v!*g> ֓L3]f聽Dס[+2e=!/c50ՆT H[V`P9 VӁR|G %,b f>vK=q-Q/YY69`wBůs+!f˲D Fe?ě$.AlF:K45STȜ~* ),YGRZ 4ՄS13h &-.AbaC;1+ϻ'n]Rj࣯]k6M J0dņ׌ 6D#hQ2|_IY7F@^0?_ Ԗv@^3$1(h@3 (2e$& T[pߏ>Êx;j^9wRܢ%<&,*P}n[;Se vP jάKb0f'<( ZyK%hn&E^-*U!93RÖW^$ƴQvPRȍ tR{*E5kIG:F7T:w)ƍ,S&_w@(|Q,?fۊV@D(ր{+vdp'Գ w9Z(acb*Vm5Yl?2<9QrLlE|ިv@cy+|K%̎c!i-d3{Q*,-B-H`:y[ڜʿnb/_w;8G+{ʣ[K^bE9<ئt~LEOlH.37#su% x^EQ!zNYς$=OA>/ʾQ EvnA$SB^:ڃ(di>HfpKZR"=cH:fz712XW<ףX'0}8xbK~F{Ժ1Mao.kKk0 jd190 ь5 HI#vZ%˾R!LkaxnZݾo4DM5e&-^r/0}mIc,;LW[M?V_IJ^taU;0wu-m }]Hk\kJCJ1ʀqz n_ӊFfS[$z}z} ͮgZH*|, ! G)""˞w5&Pd)%g J|?`ɝ|1.A")4*{'>խm))6<˼bϴ+46̻lP@Q34)8< U^UoQ !ǷBbhU32uh'4s^"vΧ8Dhm6Un2dB;뢶ghi<+B;lV>*nNʰ7Ow8Mv8aWK%d -CLH-c(Q#QMgΙfMe= viHl[0矩>d@ɽ`vn)z?j~yҞbX&NmJ߫ ՟wb;ןtPD>>HhOٖNw g)9-)+q_ֆJOBHHոjhub f6hd 3gO< i(]{-@hN`n%E9VS cwOi|O~L nΫcǒ2H>o?0ߵMJ&\p<})7n6xգMKY)e!ąV g-_,E]!_N/vgaHK>cHzX 8t0}0bm"A)ћwlpbdٙ+tNչ q\:E( s)zyv}`,<"#(u4K `:RWibd}降rx LL(Di̠ h6:UfSpBp Gf/,/@LçJ]UĚW]&=*Z"~6C.S_Zܞ6ѳNp1nXU*4xa0.*Db79c>a~HG,$\t˴uٛZ bό,EɋW m\Ar˷Omƅo8m yKpeRc%;ve:DIMR綔Q*b3nOa@!pSWPFI i:R9u`svRLF'~dC@o-6M0Dr獻ʻ^jw ܓp:mN I0aE]Tۀs/ F:$wP.UؤJXz|&bT %)yBxM dk n?)U݇=tYu R4:+ZGHAu"[ð]Y˶q@g:"Cy7xf7'?zZ˴ZjV6c"'?fic8\xSK<w\;@m`Ϭeps[ Tn 7 kEzTzA~ p Y~N`K16Ӭ@>uq̀O$R:#5ݽx_* 9!dQql1ݠ_wIÏI}#|s @  .efꖺҳY$Q{?T[I]d.}>AbEU\5Da'Od/ ]HA]uK$WP#{)jLlU%mèPɆ,t;r6R?P.zòDKtP̘8U~?x3sU3;o؀$g-cO!Q='㛐0BI1wUXVqQG֨.u!0684WJ}q.O&c-YxLlm8uտqP?\> xXe~'ǔCR-a) "n8ZJ_v|,+,P50.ĭbzG0DzC-svOJ[U.KTՌo4R96o,b)RP 祋bc4}jIp ̚%+~++@)qoeӶr@wa0d ׼@IΰvYQC08gAwUQuuFCW}Z:W}'^\Rl hJ)hB%ؠ}/Ƞ?_ͽn="c͞v J…CWqY99Mpg4)@';1UfIdH&CɊ`in_y!WcUn+CvgA$ UT]bхãN**d#Qc(4|ϲnh,hQyr*Y~`|(Ts3wZ{[lzVQC/j#bA脢Ҽ}M``e6 $N9_C}nqCszr?V_dbjd=O7fOnۨ;_.>b:N`Mf[uV9=hVr\*2yL)o  Fo "IA|wXZykFk{D厦' <Ojή`>w'u{Kޕz o躒\7QϞ%}>zS}YQfnc]f`q[ӆLPJh?XДVeq=qjvj(0r\7dht^ Glh $y"y. ҫ5t5S\D8BGK4| *&0kb -?}mf.S F > fzyfT*{7`@C*-#>86b=!Or6V|3ߛm6 >Tm 0ھ oXqAvoP23!x¡Β v,ս5m#r^ ZۢXk8hӏc⫶pi^u_Mj<g'x(OA7ZMhĜeYrU wӌ=Ic]x ^Ӯ'Mri+77 __g) e t+&[#Kx}hmϾ)+GMy_;T٫~E%ߨ3CZhUu Ea X{$[1r곒p=ue?T!Q7]2|hӱAmvAd2ш]v5WhZf3GeT_3ZY_%Hk@s&-VgO!+`?UI}ߟWjWà  &M!Buw΂ (eE 6d%qhz>9y7e^8=QBk)?ЮyvjZ)Fh=ZMBtK=+eSr.Ln'X2Q˸ϐC\s5}vjH\`76#]$IOG 0X|HZud)p9:FJ0z_ 5¶❕ý4,ɟ^[uz}r^)~?˅7.lY2ם;ḖTurZFc93aȉk,7V=$ CX|/hѪC(H]r"q Y$ev-axѦJn+%M=t}5Hv VZl ;t8nMۛ *8}hvή jxɼsn@Lm2VJ^@Ujps6hM9Pi0yQ62rQ xG6юRcvF :KGS55Ul7so!NEtj:\U4,+"'.,Pgy?qWgT}A!}f X@GFK$ L1L% 2E9-7üGk Զ3Bʸ!~zFuBq'u \T.3Ay =R ̵"EwpHS"T#)^iq5a+4 bT}n<e ;ػB֋3[KGϰedL t<s 2AKQAһghRGџ7ԕb3m|Nah4O?T@NwR@1 x*ZlW#졳$$'jOT]ܮ!Uc vhbCQOmBձV5#jj7/x#o8j|B^'ii\ !3,Q>tTqլ0E@;>6 Yʗ'V1 l LlRv/˺d0PFF퉫C!|)HcK^Ƒh\(v| XhO't Z~s˸z0n`i1U jT09FwiCM2"B1J/Di4\"oo@S!4~^)Ejo).n]`UQbc ina n%}@.ha89˻c|ׅKNCC`K("y<XsrTQ鹡1`:aΛg?, -^;P7b{ܬ!՟1&g?A#%p-٭D$ܾЭ>BMt"f89G5( LӾ)T$Dog4cou>e={O5g%I0C\)rbrH@U|ZFL]m2tYʻsGA?_wb`Q*! ^zI|PzEja>%7qi܎Ȣ,ڌS $w=B1Zd[c`NB>$JH4wASp$SmCRԗ?#%y֊+H8F3yThTß ums (?gmU4%WCƗ?lfVCcP8$IeXEõc?q?5πT]n|P2Gqhq˶l~%Fk=Ѹ Cl 1E+^2CYׇ pPu#Gm.2/g3/#c8+E4wvlenr|k6ҲGNEPIYN;6 (s'fU!?/f%&<^, x Ntk喺EX9QjӜz:0]M;VoQJUO\4w1|2gZ jqjЏ X[OMܣ'ԔXI,m-JJ !Vd \R3~*&)P^V~OB%Çn3cP̢3 y):qü0Q;"?kƬ8ד#y$vJEH\Qc9]Gn^.Nֹ6nU,i}1Gy~]6\"Ř ebY,ʁxe+zEk 4@^wM'l,9QDOO@3P иj1~K~52{mx4HÔUC% 0ЌtLU0f3Y  hqyyHJ\;ڒ᪼`x}n_⨧K/98"V77 Nhxe0 ɵZ>(JC 4?Qck?SC(ц/!}Ln Kj'FVVe__4S$O m"_K;G󟌒)pa6L]J2 ݻ_Y4UQdiZ#nZG-ڧ|K%~w"}KU" @Oէ=FyFx2v9KEe [߱ŧ-rvZ!SBR-C②{Sy>ƆkG;dُ C{UH^tOmڷ!s#BTِ冨{5I]Q,4ڧ&1N *G=1ˉMAumEH|zACfq!3L\3+ M>[W3&nnhq.LM oR͈҉!޿&X [N")UCA00xe(Ł(8paOGsbVv}l"h)sXS2\qݢrqz6!]8]IndžXz~]zTļ\w:Lj~U]7$VY@e;Vk>_g̀:kEq&$u[tu͕/]f1Sgw;'ꐙcªx" ΃6r"_Y5E(ڇvE=k!NX]c"f- iPB215[\Jw d`Ϋ"DQX\͵xϢ{g[a{Xx9]WRN=J3_p")߻)!1ZL. 6]j9 ZZLJʫՑ-v\PNY{8ۺ ֓8@u!_Gr%aU*D"F3mΓ}< ɨNdWe_XԜu 8h$Z'Ɛшt}p\/U,ycT"E/Uđ9:5jG*2u&W- ݩDwuS]YwmT V@!kq#Jf)I%ppi^j_K Δ%ֽN ŘEVБ8T#$\ e==!3KƖ4ZOҷ).}=z`JfU_a'$,Ul8z'{&JyG^t 7K!о8l=}W?|#|qșTČHo%'RY{$G ~]:SdNm ?Ve'Vِ" vO).Dɦ+"zU]Vʌd] ?yUl[ Xu9~$l|9D,q=XT[M4uڈt^Ӏ.yzSŵ l;l0JՀD?iW %VPnp')beE]E:\2.J'D* ;8VPQȓC"rۦ/!9C͏R:N ane>라MX{Nn,5a{;#н#cbA@ c'jGߟGf`ٌؖxcRXK ^zj?>;4o)Vi }89qhH)w^ 9IT9xs2d\@UNN٩WOwC`~K+GH `&Wj~8QqA{- `klJ["ճƿ⩫'Wd@O60O3gjH.M!שC_O4x]3oZx<}6&QDW׸jcɑ [pڛYcm*۴1XZ6 H|pkC>£o߸I(f4$D+hp54X8od`3*[^oKWצ c5xEa30%̭PETC5MEx# ܯT>zPBYÖ@¡#wY\o1mtOSHClNn\+V4n5sY!]8VV&Z b Kwf:xzW7jN&Y)z֯`dxД*w[5z',f$EUr{=q[kkwJc4Ufq*MAtS ~傪%(Kg|_C{g3AY#ew0C?OuE͘ ϫ_Un!DVR>[>2ѓQib+ tL%yA^A uNҧ[ewx..D;u}lTwѭVHfl@BkBt+ՕOi{0]/BNw2Q:oկo>NE.U9Kpj0~/dn<妶@"+O;%"]Յm͏:[ =@Ƶ7T93RvfX,ңu$ù+.1,b,oAn.ۅƟ|;G/ bGH߯i4k-*]I숫Kl0F#5PIf X X' 0~- X`X]]) s^.Nr^cʿD rǵ' zy I;:x5BZ$/9FȄPdř_4G߱`8Zq))~t:߮LfK !C) &beF1 %uԡX[q?SN(]Bޟ3pݥanna) sUӂSbOi>5sSCTpƏZVC$eQU}V`7X?D8:q1ƪrrp7?灸odbō>HϢ}VN-pArq9 (;^̉i٦CớDIEU*HQʓSSnܝ5OlUuNºn:!5癅$%?]sw-*NckyŮd|kBh6l R8=Gҷpx%{k8,;̠އԌ줪ُ#^)?:-ry TYZ&Q/(xH-j SC_t(n&دT^9Bk+ l9ǵ6YiDF$y|;ͳT˔?gqLrzBkV@,3U_X' 2]S'I5,^S6#bT5ZxV봟1@L>ZLfi\XU\-~ԗ|v^!w`⫖ط~Ҡ 1ֿ!{62or3{=:JDbmC}}<~ţ v_8ZF\LZ"WJi\zxys ~)8vS] +p;,;CX0*,8#r#j_&tX;⹐ Etxs*6T FX'\҅~.b};FVZ+Q%AΌlmK@a /G큾oq]]7#_pP'(\>UOɏ꧴$'39qE{)Ds:厃䊷8PꎞϱE)mD?V3!0Sb%lԯO 2қ[5@pWص.3vr7M Fe{3\+s`tL$Θ/f?n8:NY. :6Y`2 ͇+TfO"3Z.uJ*6C&-!ΏID+OA) و 6'AN &2lryMǏI?=!HF*<I`[-2\Hh^9k5ʂ'}U$m3Pzw,cߞ0gaik/ .Yla a.5?䒃zI9? tp"cAy)J3*ҶgKT.>}K= Mcz-?N"ba?:FrSqg[I'F6hd-0|]g%1׽n^Y&")bn8ec79I#hOmѭZmrUF&*o|e}]p=vA7赌Ҭ)CVP*Z3O-b4 IZr4(\ IАEȮay:Eq淧_h,ߧGt! 3k3ďux?Atu x?yހ/jW^Q=,4 ԅf| W3939lU KAJ h; ʊ%(a2TMH-˼||$cοJ&̵̌w؇8Nsv .(zCM iVep]%;~$57 S-OP o{^yUew _RP؈h  \q&dLYi3iD|I:Ql021)eNwA !s%v C> V+uOEXPs%oX`A2).tz"ڍIo |nY6%^3CvJ| b}4 | UO+3V^O2=+.$[r(`ј]-|a+إ+ (_c4 bo^P$CԬqWS-UO̖SOWmݿ֔7k&b3>q4ȫgp>6т>2ڛU?C+-q>?1Uwx[/%J7ė̆/ms5\`9Nw{z"`(t3'%> -'Hi^ShBYcWW?<= ^6MWkBhřBKVzr,<`k\Nq(cϋ% K6HDѵEj-72XWgm FCSar($Iiv%K bp"*8ۓx*\s"7]N݁ FU hCDOT}Z!Z]E^$>$u%ۤ26D(qnnޙDծN^'{ S`5Fu6&+ ى`3O|e` L??q+ѲN>Bk +Eʂ$4d9YDju#o#5W=1m3DcRruHs~wmд0ȭNp1*N($8?̇b< Mx{-c!vm8wj+mjhAaQwYT3;e=֘Pj&b]+ԇk4KJRvMۆ7R?`!vTshL1Ez? <'ԺJ MB]C^J* &Pb$ B T"]Laծ:4pOiꌺVi@/5+| EXJ۝p0Gb%cgB(%)mqݷn9Eg*cN;w!Z4hCbX@hI4pX(glԮ]іExw=XకÉ9b#|>O|A|0IKkߛ-5Im8T"0m&azQ-%Y\TjI%}7׫;ZnX]K s50l{rB@6v $s2RjՏaWB2e]dV;B}J\L<'R˧ '0jsЭeZns-=ȋ!"-ESԐbw4Z{Lf1P|t0 zu&B&c `}`j{8f`ttڝ ޼C]NP6 O!f   U'Ll𵭽RQՒRimmYŏMH~ ͔ -$vjr6C]ſ }d:bnw<))ƒ r ]4.վwq@vTlЋR,o[u/,;[ S Jxa@.Г1۩Ҭ $#o[8-CmEb|H"3c.Pv6PWzp<5Uˠ]UXh䴸IRtTwlƯen܉'&3"-IKg"S4'S$mG`)բUnzS(yn/Ss }[:t9>خ7JArgq$ekF\Ei# |}7mlPV}暎$ L׏_OңQ5k4=H/B:'~"Bǀgfܬx]sCStTΣs*4ci.f0fb嘠Ayj?˰ڒXЌZ-]"Tob Y"}|M|H|"h& mHLQZw ]66Н -h 뵗Um<*Ssw##-j%]JT; ]2<r xh}Y@z9E~!{Z0Amh٧WOlC o\nQpҿkK] +7LP#ۢ$Vw^Oo<$X϶sy:bKGSH(tAk]=}.(=& ɦGґhMy+A;#3d`[ :8Kީ%f?yu,VfŜa߭fllљ SSՂ<%"7;qվ5|_JA/2L鳩ZYe~XBGHWȪ: (Dr>EW쐺)4m4Z#ԭzYLLy0}xAvTU} 1*ΰa=Bң b߄,}o2%?p| h$I+:t!6d0!bO?J#X9mU dgFq9c|)4D0-Պ]rM&!@<7'Mʝ5<īDqM9:襙8(!@Jg NQړA{_2쯮3tc,;0RRDO7*^Oů:۵i(oА9q;9.oق$k][5~t ~"4qLT3[z2g`_+S7]qZ@:*vn\-B(ӘG#; vihTV"럣O$H)Jr9 Zs\qQ巫8?0ݺP% 7YO2atʭGxݔ Z->.ZYBa~D]u]x$!d#rEYiP%[8H^Lbu(cQ:\3^3pzc+ DSC2"J9 p๹ GHe) '25ِw#*P6y z}%^ֹݮvt!ƩME rDXr,-ceH@yA=m"@GU[^IֽC=G-Cr*\2-  L#XQU9cA$bk[_ug]ax Ts1gO`~MȞ F/(wFЂx$h` N;:q`/+7m-*Lg@PygE"Vҝ Cx/)sS!H:<7GN`{B#HcwڧV\W$>Ia]F}FLrrcZ ]z=15ܡXWHHR+_ӧ=iq9['4me=kw4ʡb0|ú-!OKCrN.^DlFP~$R tm@mK~Mv?:OՃjWO'˽ķH@LfC{iSH7WfZ1[_ ywRe|F;ۣ zs2*s@A|Cjडv_+x9@e \#j5])#{c6䛖"yYmKW7s ~C s/ >'o4E ;اοo^QVe| Fn>&FO:xы`@Q1\8c qFTyMn)qF*DWRZ(2㋯oc)Jv?fOL^T!s(⯛\xA [T\mt3a{a̙ZYsֺ.CUe5dִ?&!hYbDo 8rG ݉hc3rDPb=1 <P̳b"ՠ:5i'wi8&6r等3VLnaX{g7p?zрZ7Au*1 Ck5~'mqL6BKI m ?ֹI{D\cNӛL]@-;|c$HFnV>88nãl;!J >Zܚ\mL8_uY}:8"o`Q`󁛫%o^]SX^B?e@ r]r, 9B @/MF/ۄUtvO饶/kaG^X\]΅];;\(㘣By.lx!caVI i=DՎ9~!#d>ȨAΦ=phzl` ;q1`zO6lOA^; ͩk`o#V s`]k)>+ޚ}45~vt ֏N}hdHZT, oVv6ּe o!}[NL۟<*1/lV_N!퉌1秃)5k3?4W*s| ϩ$o^PR{SiIɤT'-m Q4X8?'?B1W^`)3gcim:q,ε᳟1Q@$2#IXN1M9„k")I{&[K !Q0|VgavS'E*<.˒wBct):ԍo߭tT"!9Z{s3jy'kM3AkU2Q|ƢO6]nY x_m`Cej[f"cWKpS.3I 8Jfm5ٙ֒?b %Nb;湣LĤ@/X0>.J-rKRX㳭_l," 1ö) cOvȊ4,Y.26zm ".v5el@Kc#t`!zP Dżg zV+mRLtu['|B)]z2gc߹&Ѣ(Sao ajH=Y}LFkKjzHPt_b?RQq C\2l%RςXOA1P*=O {[.T–D@pd[$,y[Sbyv9]*l ϮA$4)^y>P~ HSyv%#*Jl[@7UhA[YfA^҃ U0AS)ʧLE!k9Dt/Zݿy Hg3%;^<50֟a{U ڟU]wC Bz Pu>F3)OB˄pzg^5YN{g9 ~3{ ;u&:z6kZ{xPBAb~"#MGE0:dTO\TG|ɦ †4XlD3L53@0?>k/yӽT !Y*޿`qz4u*e©?oHڣIowYhǒ8opPiHm%?^}C=qWq{ެd]\S/tLD#%O ;枠 T_؆ *PY"50-X0+dEzvx xNtlּ4"1kMDH+{ZɈhGZ}K#P_sHQFOM7iJ-k{:#'r4IԋG1 5o@KJJI"ΞQ6p4`?MP4R#ic9UcB@>JE+}ENoK7V@_zX9f`16mDܛ@tL)A7`2VxSf//Y 7j[bI*6q2l$4RFX6/ԑ $Ýݶ1hPS8GP Hmo:7DuWYq %7G[w1M"&e\yUYgRÏh6=Zw+*(Z o5)Ӱk>^Ds8l1Z{ cO,kd]́z:ERN0l͏PS7g'k<@CP 'F9׷>2_"ׇlx&YqgTzVKx]:|N2+BpsxNF0kuDYԤeFlh6+yq-;ÆK `!nStN-ˣ_J0 >!. >5Suoj::~J-K Z^NgFȽ.j乲K֍QEʮC<!^h-WѕB_ɾIs3Z_B58y(M\ mif9gYu&&axt4C#c <(pWě#GLKH{WQ't xl9v/rrC{h>o/`.o^q.3x鄍ؑZ{5CQCW5#բ# u*q؃fp`Z9YroBT Vo?0H rv޹tPn[3N>qQĤ9.]z.vc);S< k|B*-CVڀîHEviq;2>n3y+KjxT=6Ќ=W[宱i8yoNj/]9GSk/Sܰ-4:ҧ5 l%sv ^RCL %Fj}!eͲf}1V^yHC1AsA*FވHU;=ZSx4X{d0P@nx=X}p*@~0۝L$=ARlaל Xԕ'q0X)s*0HXӷ7}r8{"[JjM*L4bp3f`^X $n?%aC$8`a #nD%Yk7٪]lٟyKӋ ~"3gkE'"/#cf,7 \XNp6)IR{B`~>Nu$xx'Z&n37ǚ@Gkآn rmp2_ET㚰aJN1 -FirlINȬAP`&_V(ŸS0PW_g<݁"iI}yQ3M:~"3l`Fqg@7r|8H'0Ӽ2y_ga (k€*SM _{+Gv} T oR,y٨fZ1ǚ|lfO|ޱZomu =Xg\ !!y¦!,`H$rneY킋/830g~A */nPs.|LQ`PъIPx*I#^4}P#_2p.r2Cph'0TCW0a`j[q}S.Ldծ&!H"Ims+['as\L/ϽI+ö-,,41o`],8aԿr:pi&a)}"pQY`77Rpсtbxcǝ]CwA9yK`ܶ/;Ѿ4lx`Ra`t*ؚnpN3Er]MN]ɤQu;-ΐuC9h}a|IIGH FB fu ;*$ny, n/ںO'\k@fشQ`}^!\[`!`BD v`zDZгz(YKL ǶBD$ő8_TF7͜ ): `8ja6HS\X0\ڤFLANF݈]rI"yR(X롒54̛SgDs7//*%@YqOT]jGDf*/X|ckA}c68/7س 1gtP%Pɣ"Z@54xj4?V=P"nò/u4 fWC n#j!H &ڹzYTmIE<٨=@Ms 0Ҙظ+Jʻb413ґ<g_j,DA-]VSuj.e/%A,rDTՏ7{2^h) y ~9jd ЊYntN ZK6ܷ[FQdЭYt JWD%iG}2{.n+RoB-sNv^By9 A۠twR7zsrC"hAlX϶ ``Q.)t"L* >vjĞ&[dy`K $SⰆvU|)?B{M<Hq?O|kѥ`_YX`\TrRz͙^\䀯 ;sHi N k #$V)Wk%s (~)2S"]>fw_Majއb"d#U5Ӹdm Hu'^KN/( ""+GßoNPH1ΰ祈;p|X ,)-R]зw~'=L4D:|0l7;+xtUIpMب FTEm-~ ?`ąˈ[W s)؊a(X 2Ca ;LN&O&]fq<^0CuK&1/.;y-(_P)9Q5 adԴ\!?/ח DƵ02DMg}oZMi;gŠy-Cf y0,d`A) %Ŋ}huƲoݫ{V <2[!k)|.Iblp;Mv˹yg=YARJ?C׀;MsI2ߢNf^ ?$71ю.o څM️κJeFWt ǟmou'혏nV97"mb,|d*K+? `MYD"t qTxDwV{(IVy{4ޙ1Ǘf'˔ʝ{Xkv&CxXl/j 8uu5_:6qM8,7"jHSfm@ݪ36^Y ?qv R샨7h@lr[,.`S2yY^2.qЀЭu_BV_&Ųv&1}U\vn2 Z+KC7!A&ǼɩBÿ>Ȳz$1/+3TŖ;>q] Ʀx,aCR2M|o$AVzZFybFi3 BJeSt#y PʁE ΐNz.ym}v[adPPj> /bc>f8{O;T>8ɭ!<#ऋfa xbXqO#JGKD!Ղ;T%ֈwYĝjQ$&̻P8[x ;˾>t+ܵ+7T"@ ncY)CfqK`jL)Taek0miuљ82!(jSzkĥo_lFz*;pb=$׀:82訷2PӀ8];e ͲK٥lfy7a*[ :7\pVY2:XRaX 6*Eټ#ˍn$ߣRO.?} LV$@&pf '^JwpFV\E)v@JW$H%MPZh'E4|q C$ ~*ERK$k~ :$P*8-8/ఋ{Ɏ*o(Y1s6vQ24?NY,ԝOVbXtQH(rߙ$0eU|MAoݦU 3ƘB.[^;PB1e(h5/҅yݙi/95td1na2>oVI^## ?( xrn.Ԏ]rk6W !&)*"w Ç̖=n>6;%/z .tFbkPc7wVDii.lzNچ2c"l?eZ;+_P4?MtN_x v\"8UQ[J.셍)Rr\Y+Ai‖~Bwy) X]L7p`G| [bWߞdĩoi^1ѥBu("imTPZ RT48 `b&x LSbiۚ~S+UIw X3-Kom`~v$*;Mi1$٭__8'FfU n_aܗ1% c7=޺{X@[ݑ6 ^9rBJQE Ri] Wy8w7xm]z VfhIFpWoWfLSVR dC^ Tm y(7~7U/0 `?jX+ӐH AM ]iw)-!ry=g}.NF +w'JϒV̤Q2ڔQFe׹w ;:l%Am1,'fxWI< js/EcLar({p' lQs)&Ŵ$[>ZR:F}1?Y>5?Ha"#(D6o\`ڎ/," 'Ð6Mܗ|ݳ8$^2& 73h?pމ'~ w̤%%|&~)5=,@1 fXI$mqؿ5@ͬ}L^p+8znYLB\N#+ Vdor}Y vhBӼV&.02K.5&R9Z E@*Gq)8lGB "DOKزqܨ^v=ЉQ7MwGb"r% z#0-A!hSO"so`,ڦ乜PtO}h?L EEH-qMw^g&U4mKUx{uo$t7| ߖ?v[L7_-TpJ2M!'״bFeժr$O:(fM(zȋ)C)1s}#Y)lvEfTT}bQJaj$yRA_&+Դn4"*KTSalzHW&`DѠA}ܤ(evFj1t2WUY骺 oOF32[4ld(t{ H~C&Q  u0Reɥ*a0)pAf{oYA9 )l0;.Qi/EwW iw_iͤvs t6mdKi?!QXNNS5]۽1kun###ގq%)t*H+O`W CWbvWr#y BX6'p^1=rҐ%}m˶m#QCIL D +枒73PW(@ƌ<:8`$L e_]~-?G_.gQCK[S'8)@k"U >?qT"CLh@$0hgbm&~t\4Ou.\BO Ei>C*b?1kxddFxh,)w)ȴ*;(#[6T%[f{D|!,El˵4GPvEF6*à/Otu$ SY!K&:-Xŭf; 2 cʂ7+_Qa(0Uc#ϻd2X myhSר)*n57YuXVC;}y*KsjJ].^#% [;JM_8lPH5uR(Y©eo6's&k6?|Q[f޻D> wBS|RϏYb#V(EZuANI\o{_6SLV 7s5hNUo9CW%$?dy79\r42S(%-/7Yɋ~uHaU?1 a!#sv?`(ua1˫ѶG<ډ( oE\BQ08}&פXMQǞ+Nsxڃt'oP[ :}$n|?G\ tKI*-3sU w}7|!"՝UDS!'sl{0]k K8HYM~gB+[DL^gcd7$f9Zrq_[dwo$Y^tzU|Rx;+.;+S9 Z]Ie'W1SuzΐRٗx@q3YƤi /e,>A HOyۊ\E>AI`x]tyuH~ 2`-;^аΫ0Lk;kVpCGGmMUy)d#EWfgWѷ_N}a v:szlU(`Fo5]QP!0{l8 Fv=ྦྷx$M ^KEz`S fxJTq_R=Xie+tt 6Mnj,X>uY/ 0svv;َ4 X3Ф3qLHN{׿^ORa11HX}zmuDB65-^߽c.Eh}Fu-J}e. ,ZmX;Ď@ԛ_v4!1`j,秉o1:" *-iEBb5_ //VOFJY@c84KZkn!M" VF"vѥZɍ"G1.lJ *+M8kKѶb0mBqK\z>>3txK)DD7 CCu9 CGT3څ\s|qkԦof9W_.!~9okx֛Z)u՝. =D[Q8Wh2QB7L˰@Q|v@l 8濕oq}nqeˁ;ƳescSunNa*`YhPUT { ZBZY&GypqVZmN9y% M+0k#Soe57 AReG:` !XpK4J[$Ɖ-a,mi]1R-Vm8( $4ᢨ'_lLVܪωh+l*%Ϧu]3!];!XL/-ei5WVJ+g:]H47QpiԊ=x'əM.w;({hhrRa]r.,hw]^f%%mD N1LYzdԖi& .'>ڇ/?{Z֑-aL%̩?ۄ`*WR1 7"I2:P~)ɮx[a8l#q 4}@M8x<{񉙴*ܲ>z#$7Q;g7$m3Bm}yUGf aH"ue/A@eR5)ۋt() d{.BsVCc)0/ɁX=\51-\ L +[o kǺXB%[8Q8Z'H2=j(ȩI|2VxR-G:ҾN.ȰTf !%ڃzlXjmEyo|8LDaE†E ~wIg@J;3hPSI-#.ٗgWpy@ްnY#c1zvuȳ!V~=hH0BCڊTGMq]&WǷ<*w* A>'DJc~u@&ՎI4-c.saib}v\o pj܈]j' Uʦ|$\*̏ {7ߙXf RrˠFg8ĸLrtY\ ҃vG~FW͘Xnh2<{gE*RcN%}5}kl=i]~@p%/ mOA1M„nsl't"`dPT^|%HhɁtL)/L ' _]e.Y<@ 3 =I ߰=(u,v N-HhQȪN9HL E}&8hIE!º*QFPB_+Bl㬤5Zlbxڡ#־A='B_i2PCNvne{v*u0K=WuB}$)LKlDֻ W 瓁|s\=rv[KnJI9SH@wBvjmw#,?lb%FZc˄ł'g 49TPb_KzYe!grT]84^o0?V(/@5%XY*cH>'ӟ E4ZŒHp [X jq2H!<ٮGB]& OA)'D,j-}j Ȓla@aIxMC혨g샀f(~dNxMvriˤY=pQ[Ldyӡض|HGw/_̉/e>M;%о.cqYPʞ/:`_Lũ"xhk[QgX}|:70`= W}W+ VQu4شeeux#mV4)U\U<F脐EUؼ&qv=;蚣zEK/`ڍs1޴c2teT"b$'z:\'ɳИ,a*!j@ j4Ӈv0~x|1MU$R% jԡdـM@|X]~ Wul?^ ε]* kk6p= ]+':E{jU~ :YCθG# TaJo$E@Bf6q6B_7O4GB{j N2 MVnPev nd8^{?922!X3WaWA:^nN \c.>T@mfV jO/YHM8O Z98ܹq ܲ+='ppbl1d#Ί*p|] @93 S= 绩SI72f4V{nDx /=Gbքf^:SGZHۧJyovʘ)zQZMK6Z⟂oSN$c*zl߹PTE4UuD?3k .].qPoy3}'F B18zvtjn^ ]QGFL{&_H)* Qb5ܑWZ~0 )i"65)%ZlXV)xU&)Әˮ)'\T>:uee:~ʯ&"fgu%@~cL7NU1Б?&j ,ξ 6wWtzł!h}!$ Jd@&_| Vۖ3ȳQEMУ%U$|&`orIQu# 3z@P1hpJw7raz~BMWunS~кm\|sWP*lr0I9j͉wEk^,_Z .Kj A'=կV#㐁~dmy4 BHc# [n)ˆ!oOzhakIA \jo@# [W% 8y:k#į*ɭK/.}.|>K[d{Ѭae%7b_(3V5e,t7PT0%&Z5M(vM1q4RA/O1L'&͇ jil&+c31Hژ_x2q/S 3*ۤGqRN>gQV$/Lr 1 S l%eg䳮y-i]:BDS-#k1ji,L[5>h1&^簭$Ж0-<ԑVP6Q"KumЀB|&:%θBg'hyBZz['h@߿[R@RvS9̝ACT>ߕ>U~19s,mq(]cy# ! -@Rp'"tM@_0ڧ줂74*E4Z.x|$$9sf1F3K/B5yd4l=Hce|(%RUNJvFl[>^qekI@\{͍kF i v׆o& rHl?2m. lB"wnU5$&mxs\+^ZPN35[tc~!P8].lRmzZaϓ|zT~'"f:'0Y2挦mXVx'LrnE/"Jƚ)PNd!)ϻ OHtL1c]h.2B]nԅiwBUnSJAh_Y}+ߩ^N-+ވS` Pp'ť 3r:[ һ+Yܷr 6W Q4A]oH{`y^2<ƝWrv7 P3o>CNc~͍7PGc X4$;[eAq/߂ v7˘7w¿d BzX,1ֵ"%'+?7eX<Ǯ+}Oy,kqg(sw$!u;0P/Hť8)Hbݺf 6|KPvwmTNTHem/fdmcFF(c^FF肩aZG1V=q2 yve,!?!jF//#=>O-03'I߀@?@6i\R^[zr{GEB;bȝK@7gr!D"#.ug 7R1=}~t. IWY61#G &Xbaԧ·oɭq|EG }f:y/K Ut+L /0F))M`(:& &**=b RiZPn5U6*z(88 'A^U> EvMcӍFMV0g1&JݐNrK^l|xpƄد(jw-ސ9ٛӨ$2zt.`@,P+It@wEچB ]Vw79zr3Ay2P$Af]^XqGo0WnTrvwEehJ(SP4rW),S^2OBf"Tkg]1R(8}{+V2"BFJnwR`;TGƬ⊠ 㔨2;Z=`*TW]EӑLL@пgSo_'V)ӯ)Xq1.\S=%)9/%_*iQg:oKRM5oBVEFH}9_ +Yd$Ѳ=5jJBz+RczwJfq/t܌Bs.s|p d33 `^y#[;TК[:{qE]E~nX+&ңe͗%@HWsZ ԞymmpW*,`gܖK??ogs9g@6Y-WPr)偩H&LIv5[ E'`QE#pEaBh2L? Zkh no۬/̱Fx^[X"YvP022xWN[W)*m+R r. f Z?J8ж< *JGKv-o+1Ʌuc/60HA?K>va EvaN2Wdt.yëG_'ܟti5y@hVO)_kB;oњb:O4Fقݲ"l!t]1ͫ8qvƠ\!%lK-Q& bj EU#Nh)](Y (]#8?}fȈL7*3!o]]=Om{gqy@tyTl3%?K(:Ix A%*8= PDun.9E]n+r!yz F2!`j*CƾB&;k &q:u+ةnٍAOjjl PYccN% lcV/>kfc!fɥF$‚Fl omg)錞飋6[9+BHR-Ϯ#l0g '&a}?+8U6\_h&$ҀZ?'RYԦΓ~:4wԗiыSNjm;YWUݎpAKQ  QhoOd<昒5"WPrn4Dmf ;lR;s5-~)ϕA[IVb֋{`[BYCqq lm,(3sS*.>$Țgfղ2Rqz0l)s f}Zȱo@aئC=2ND=i>OH6ZgzE. յ&QS(ih3W`ec^™jWǠWo!5L.2P4x=;ܐa|{!})M1x I/K:5Ӹꎋ=bϩpDt 3iQ)8Z̚=丳:P6*@ZsB _3.vsv|ƪGGlSVE+/vau)q[bb+͸4塛UZӻHJsu,6`6~0b#H >2ױ+e%ž'y%g5O2Qy\q^'ۧp'ZqaT&c70ϑRSS<ժRoSayגTniEy[MJ KR0CQBD !6%& &/t <JS ُw^sdѽ^bSǡnk[󀨓3Ky)0RsϊO= {0r1WTcn- 8)^|!3?MرӿY-Im&^nh;!ΐISFGfV514[Gt?B)~h?YG|?Gp!"RìTg.mv C PC;W9Av 3=7D䊝=Smk4\cQXq9ں9mC1Ȅ0[O|?&]J@vk0AOo,YDD{OQp,\'zU&8q8yc{-z S=[1VT2F3E?gΝy^ޱe+#"2yK6eZ۴eChi/EQp.d/26:N\~y~jT1O0VΥ쥼c VyE>8wbY,l:SBZ@0+S?kf893 Gq,IR:P8偁,Z0?}d+9:WCS? VA*wXuVu^-)SǸ]{k  xFZ}1clJFJ7;'њߟg'Í7%s(\0CuW+ J LjqJH">{`ԐVC*gn؆Ǡ. &?',;Q CNgma $r\\UnR1Fkd' gp%t5--rvd'`.!f j嘵fY(C<܇e}mJ]Sg0 #oL#A'ut}? kxjf޷UȹW~zk{ c^ZQpjyW'j5T0> ,]uߏ r X]^2]ρ Q,ƺBCHt6 Q a4th#|B]گ}Qm?Y6XŶiBC?M13GI-pe?R-Jv YܟB4خyA+I銨ΝIuzpz~n"]F0QcZ'5ۦk7M(YJ>ygu&!TumJE/ILLTՊ>ݪh+$eZiR"E5,vIz& 9M_TǑDw1NY+)zO8x~0{Tg<Ga.kX`|EMgt ;=:=uA=xVX앚%mVɬdgd ƹo+$~J~-#enG,؛a6Zߝ8ќ_Jױu# hr#Ys䙓Y%Z:ͳflv;U]heT`mF<FrF e]حv򔽝jjwnC"|szЏ5(dv\l8A}!]j}-x` O0J| VLFU1Db*n0{n9;3"sTAd Fʠ!N*5qj/S᳡>pXk̜oZmw||c*»8N45/ J)h:lN %Wu*ؾe!h[Pj!R"aa'z*:iC^2,VV3G:JApcu~߱³{-gJOҮNgGm)i<[+@j}qDSً}`dx:Bt*р p HR(LS>*~\"+R*D_h Kv+8{iP\ϦQ/Yecξ9ݏ@"b}tq67佟2he5i~!"Pa 0H eܺԓO B2I9ўwRǙlj3ߵ\o?,5>0䲡?9huSK5VEwXw"%<2Ils9xCLjY4_ x~28VP!hԳ/"vXRȣ>e:CF(F$rdaIwvo<0gVM{.P$ æ9dOe{d[KgiwG!? h3nV 17vQc |0"w%_bc2F+U`&U`-HZҚZQ#sd U(mcEd X3tw†+ePabTT_.I5z}~A|ˮ̮e>";Hzfe:;lo| $xY G,M;R,l UrLvR3ہu)4ih'FlrN<Zn6YWn ic%w_sa=blByVRX(]B ZTQb%!SM_OvZ:{j֑"/xZqk5x",,zPR$w~ OJV.#dRZwxF)/l5Nk`b$fY'qb}[6 3hW%k$k !͇hEDlͧe\N2d*q^֮TkzGvEOz!]v6%UNU]Y%9pvs0x 1@~x$$%0_r3$+EΗ|辦p3*vPb| INkEY:G~S3߯彺vYOnǂ9nJ<@Kd=Ɇ$\\mj+'֣ϘPsX/,>i68Ռ3RiM+ʋŊl xiliz{@9U0VY+x;Eӛ[4D2"6ek2}4H.,)nІyO]f+FXy¿:<,\\Q&GJP =g$#[8p,rldTXXj:̓LQevsg}#L D ."~Ѩ^>|?J|LPP5 ^o\/ qG<" 70WTԔ~)Z9/T&sn㹕gt@bYꅜ7c6"y ',w.ї,#Wb^'̀s|(5U}u*A~M0`73h~YGOШv"MGRyNlzb YܧZDeAkH3a%wY} ,02\;Wsi_ˡ䝯%>anvyl iw! R\\ι|prfC Sڇc{ݘ8i&dHeGvnާV]1-!`Ȭl,A3C; h9+L/R9/V(e2o)@zրicc"Fȇ1W'Z@d[#Z>Sz W@$me֭:(OfHmvņ؂Jj0AP'"+7`6D47QʩؿRL_Y_D6,5rLؼ vt—tpuctb# ՛6\EtȽXtZݧ Qd)gP#pݍ9n(ѩ $wBN4썆f $^jm~ɷ|UٍB&ym( ot&SVU1+mYV +;gؐI 4PDXn+ph{rf}U@ˎ d8gV H ILg\2^Pg`nbS%,v8'tADEwHj_$} \/lQ5_57u/ߍ-EջjR⋏s=ScɠwžE.-Ј)iyWjn L6 @KF{tc00"uFmA`@XWQqo/aZͥk WX¼\˟LuҵOiZTѝAMyʓI_(DՃ;e )>\RP[yc/M7QrlЦ_vB = P)n6=+@ ( t`3նr{j@*M4*xIv>&6Hf/ˈgS?3@ũzA2NM:kcv8 RH!3#XMEMP0,Ձw%ޢfPVtkc?C/I? H ވ%?:ҚzrdN+Y5-n>ho{fZKjHNރ-4ѣ |tB# s߂VcW shz3=afIi(RDOseAP2,d*+^G]̚uƃr]J7(8yA 5eVɧy6f&kݒ~`Iut9&Yrdh`ި`!sAPz Iʙ p5QSJ:']uK7Rδ,18D}ejRqNfܠXя1L~Fxؖh!A~GþBPK4jUjzt.r@ mUւN$beUcǻAeQZĸJTLu*:&\7x]wC)\ ,Z9DYPf@K \Fs}qm VQ-@Њ! *id@87.`że¹b0"8[ΤW>5'fVBȡk4)1-Ѳ|fbSL !j&*՘K_3='Z kEIv']M3H(:yC3d­&٪G%*OL*=;ح0q"\ UK?iBB5&9/6$9iw;LITj[H1DouZmV0/4?X< %loL/r/ s-ޑ?w"z.+ѱ y.m&J`Ǣ~rdn." >`k3%8F`3MM:7'ЊQ)7e!I-6-=]>L\7O2ӊР iƂ9b9%^WfF6&FFJN{(5|Err( ŷ0)nn?.ZhSdL"چVmKN_.l8DI/۝;L.w3(^(P'$gų {+2XDӦ8 +:"ƝH o 0r \a wICB[$@"T;~ teV3P؇kgkO˳}5bf,*cQxuỹxXLr)M=Ĕ&&Nt& 'E)Q69t:-1Dpt(d8t]_snؐ@4 ME=A-GhC' φg;*hЩ?ޯؚKCA$,95`*l.(x]wy֊Y lK`i@Oxv׈ pl<2=>(L/xRSc!/¬ySA,: eɅ`IH\eW>fi ^4 N:xz^1m^:NӨK*<1.n?i ;CDYח/1Yu7)j'8!=SOE$?\aߵbJaS3:DrOg }̑SغLj:9H7 cbF)*;%7ufMSbXJgۤsQ-˝88ܮʽU4U:ep'^k[!./‘*4H ڔG~@MnW!xF ~u/ a=lҙPFY۸se+FM>t@l_\YBfLo^gQ<\}\`ۓOӾҹfi?YM4!1z[`[ G#ìB/qJqƐ7公/ˆɌ+l \o"QHbw9IC#X2>u٧]>Di9ajvHf{=za(G?JnH8 h\_E;pr8W[] ͷ[v"_ 'Z!E+ty ǎU %G*Yn VC3͎=f<6rl f d0\g_DOa T*euQ_7lNS-Mbw8x}XzJ&Qu#o dϏo-t{2 WxFD6&?4Wp>ø`fMdb|S6`4mŴÕ25.̓/^leS⤚ډv_d=ݿCO]Io-{g=elIdSM6˲Kjrb TX8C Gtjk ~8V|]"279!"܏2=^*Ik~’&?A]}pHx]"뮡a CLy%reϑ\i魏 9b{Ha35[ދ!J эC,myPۼ@%5ePMj;B)!>l z1Ēes]Y4UMi]SK(v, \`{|YN\_&m% ^> 98(gbqjd:(mq/ ITö|,Ǻi#U)v 6x2?~-[)QӶҹtBzlk-x(kQ`"1X!qzV$#v|>y&06p_T(hz3-ۃ`L$pܖn~)4pGt8pREMɹY@Ec֚BAj̛;RǫU^wǡg. LD@~h4t2`rpt,N3U|!?3IrNA` ke"ZcAo|MmMƈ^7)ۅ^8IRU0j.GҖ$[o?M$> L^`߁=4%9 VTP\mcՉLN-2?Tiu)P%C^M_s2xfs7Y,d,@mSk^9#U~Q:8h#[agsP񽳅<.Ț>t OAեɥ.*poa 8T1 dPx& e5uW5u2#q'΀AL?ɯ67\~1W`ڪpuH YO{ӻ:j7K8\8L%* :P@UT аzr]?L+@h 7V޼:Xq? ڿ[\K/INJ;W|1T4rK W=6;p̡X :TrW4Jss);gcM`,34 (7$X%  ]?jOgڶ፝.9ֿ1c}5d¨ٱ# Oɉ _D챭MJxv|zI ׿|`y"xFߢ{ZB:`؋ @/? _]9?Ϲ.w(ET })-)➑Sf0[0'Y^J?,nt8;ƑɮΒfup+wУKDzS ZgWEPp1d>eM/5Tk&1&셉-u`dt>))EWOFBeIMb1`_4.{5'ׄ[bE19Y[河|&?)/]|}&S?̈n'Fo<иQ/i퀟?t'hY2AWX|NZC;ye*f _͞fQ4ӳQM.1}Dy',- ̑et'5' " ӓQ"f`ĢN8w8$(%S>T0;01퓎Ǘao&jk+b5k"g8ff,͘NW D"؀]:DE =!]?S:Gո RQډV:sG9;r) b1)R!pyqbJH[JsfK9Q —%Ud5a}2UV`xbyV55p-Ŗ) (f'm H>{`в_&:;w"+,y/(P@}PƓM(ttwЈANW,l&Q+/6RW_`!ILyMv*M胘`YTT;R .Hgf/cbBđܐ*~0[N2֙C[A rUw8e/sz gTa~fF37Olf_F61fN!s殑 bI"- W!'\|lMk/ޓWjtjkw7g_ڃ3u*7m*u &sz -lY%u`vdbcp;*B1]pVRK(?G6Yrkb`=BϔsUCͰ2^v̤oRHKY~+5yN׫ַfDZv S4=[OʒIZϹM/s\q㽴Դ/D ceOb5$sa*&YCUjELShC[^R*"S_3S8?3s]3=.g~3_jW )]@CaDg[o`3 gjj.M7ۤ`/Zwn Cq3VN;?pQ A?|Qd@Q73+a?kCُ^R u08m MY@ztX80 ^'C⥾h QBQv*H%5eȰd̏ (yCSW |XՇg=JV?j'=BrxDZ(1yStɿ/$>M9&D;xf{H]e4+=-}gz}L!%=f^Yfr?e=#I?L;Q@(}z|1C7=a\e6ܩ ]qgtBB )^l65kF_?#bYPK5~ل= ]']Fze192Ctt0#S>A1 8߁1i̇T*GV}j4.*ޅGqr}M߰7`7k#MjPeI\$+jC2j̫Ǽ @-tb4jZ,ߗFrQ regDl6 `:f͠_ϵUsEԥmz)5]LUO1aO}EOK8*=CPٜ b( s!H9wewۀ!SDyW}-5.DX'ch&9ESrbY9NntP]?+_"E–Ў"l?2`ӳV]lwqoQ=ilmKԉ-uD" Xղ Кo'`:S̺z3's] /N_jE]qѐ" Av"2y(=h.nP‡TVg$zG-dftz'6. /ٹGj+ -~4@| =4M^{1 Ay"XH'@0~376n:j.7>*y-W!-d 8mf(nHb_U fYFB|%3k5PӶgf"=|]y*m bxw y4C)Skfz|T<;4N>ޥ~) ˵!1ЭW7{a<1Da/(f0)mp=y5GGANr b8#XQ!#l( 9zwaJaK#zŨT$ VAʋ%?8Jeѿzv,g sLR,K.>RwH=+ʅ JөA}V3A_:wU\ľ2O^PlFr23e\&*ŤMjM,H3H_34Mufw'ɱ8I6 >wPG3LuH l(,x|TlڞLax8Ƶv*X׿nWP*\0> *'I$a3>F2[ePkɽ,ӿX_2'{H{-fM"xVļD}j "A4 oW̜`HXlz}6C4{AC1:Ɠ>AEen3(_isKmNؑ>>Ec< >n@}i'*ASz/o,\؍Rnu Crq$偉Y`c a_KL괤}!mw3qg}gLF~:qlK'@=Uk 5\D#ޝ_X).$- ګ*)' xfawzEXou&U@씦jFq*K}snm%G PS_Cu@!7~^$TD'M^s`Fn"q}N웑=]{JVMa^32rtke1#}h^k4@X^!2wapnǛQk(g96F#"8ib%2z_t.m`V喿y]HKϾlYw2CX*ziʤhR Ȱ@{cJ-JFz[ & !,)k%YO2Fa٭1Y;'ngA3eoIkE ,0S> ou GI^"te"0P\n@'7st+flU]i%W0uLk97sAΧVʁ~̒Jm3"@B2t7䞤pp`y@2Ĥ wS+E1E[Z]! J3M9Druň!*BBI}Ȃ~RٮS YTcơ.Qy[#u@Y,_@4}kޛ~~Ĉ+##,|N-"b\6}FV$DW)fa~dI_ Bq(PvI}qLa\6 !+sc1JTD<浑x~9%.Pʍ's\;u:ڳlU^} atzi0(-p(p.4&b)(@sCFbg:.gȓʜn>ܠК/0f/v>)[6oR-=WuQ|r.F_KY-tB(4>=5IGq`u8vO^}wDw ӽZaj o.O?6^8ܜ̤t=d@ݍyt/l tTtZgDb/3v?:x=w%zf S`>˕c~-!Jˏ̜Vbb.;RlD_;.ͱM0luҒ0.z^D8_ͽ%8ž:] &3"lK =M9[LvM:Oo8X7s޹s6C!K`m@=VU: ?YzXO-j@CY^J:Cixl}s~4 g4fz ZH'T <䃚-IE:@~ʎ<9͜QnG퐡OE 6sWVÎMoeBsS4$ e_}z'z(^&Sp&/̖\vD +:MNn]Ո 0W L>ıbRM;#0-FcA23lZm z|R' b7UQJKm:'w-p 07R݊\}l<3G{ډ@F`2FuN2ZT\m8;oi˧d9)ɨv%Y$.U#?82;NjxO`3G+5At٠["ʫke(4;nqR`?qKg& 8!f}wŖ 0qWRzz:T윮,JlxQĨ!6!zZ{.E/h_Hv#"gX=Kg1V/Ȱn➼}F  =3h$+''l:[l$ౄvTobBwfCM&ü{YJ*#`KVc:o:KX@_{͒Ex,]J#6T4A]!?XsMH2lJSx= ڪg{O4WRP 荪j$xFCpNmJi7mg[bNj}witx>T'wx¶%H-!~ع üP0y u Ek/]4*N1NC k2O`iR/_;+lNB(QE&Pds-h=:8O+u OCY )v$ܪ=e7E20!{\4Ldc8Z2YVP!cfy8٧U{ZA)ݿh ٮdIU[L,Z6d_*̮/YeśP7?(#Р8QVB^QM^yS{Lj[/+]xjލV둅jUMKUb1 3f͢^O-'?8V 强$ҲZܞleM^dk )! rw__1 \i!-L̝Å? ;8e{tk6A-sW5"{.>ko*F O(Jmc0c vppk/`zbj(xqE4dx >cgd˺uKxG#bt-;WbB* B|L&מ ܶo='ևg΍G:K݇ -҂}X ~^Cy-ܳDz6'X&VbƯyھ)kᅉ/T- 2XX-C#0q1x@ ݢKaLXUpa0ch$_^_A b|Ҵ04FԉX6^mEV"Rڲ|lV̉dyVo|GIPaezMK~I0X{Ǥ3Д| .ZgB6{$D~LL= vHF!k0^F|8$(ɪrˀj?5j`lBF3@Pܸ+-t}xhbk@G3'raK'˟4@nav:+B }pMB|%`'=ؘ?tɽuyWXh,Ө}Uބl0}Τ_v$R*XTZ 8 t#d Wam }PtsH1i9B}l~@uS ^ xFPfyAՂٳP =]Oh4E81DxAk$ ^yh.Yst ӳ\Դ]ِ(\Ԋ` yRgtLZř7%ڶm;CM9Qoa<kf.SRtU7DanB\Y7HQk)> \XuX$T `PfBTojH&cqR4dM8"dA~]zx:(u#NQ}jB]!HwqfC]9Yҿ{#mpHnPG=_ePÝjFvJh 1!ٍ7-y.YQNt8W}5ydݲk(yk [ŘťBumw;F&R::>Z9G rpgaJ ]F2&̴X# #ΤwMy3=N_mk\)Fsu5Ro:Ѓ7Dst.P{; *6 #?UKgoj~#>\RGg{#Ǜysv= 0ѳ`;kVV˯t)hXXz;~٤M`084'5Ox fOeJ MY*]Nu`Jb}4 LΥsbf՚<;% !ZBҿgXdZM BwQ5#2PLHbQ96F \iE ;$CE3+86`s#Z:p6§vL%lH.o*wҹ gX#;?삘cV9"%x`n1,+\ӑw0{f)YZL׌}oh : \5F*u+dI ӆh:$ʯ Cag'vJ ުdPv{)`{1=}5ۤˈS2BRrh)]aQҦxw5y0$^*Co?"6;"؈$׏|Q뻙 ۉ9u>|Q[qKH!<ȼcSApg/;8$-ݢ3/2q*CH$6/z!42>&櫰q9j\BDu9H^%JT +B VE&^8|!{08 o URZ@r^Vɑ/zsd*'5ԁѽ <--k>[[|IpLh,Daa$W BՆ|,3@b:8BJq<0]Ab!*)޳Si0X |p2`%BB%PZ+30{FUm=j޷$k-宰 ]@KZAtdv&Q_E ¾7kU@GgdCwd3!^\/ѿ4R'`*y(}XJ#)XQZgf\DUy1:dn*+ gZPwDxlyG$B޸gKߑ1!Bޱ$(EKF#~uhA|P[8YobV'A n\yK?A>Á=Z _D eXŏBّTbg̫s; #j_? x idZĔO64e霙mّ:fvT7mDzD9r`9L@_Kf:)(Cy{es~г.x^Jc27 /MŃup03YۥGL%qn{dYq &.UskhB{yT챕J:"hi+ SK,O`dHbLϾ̞y3~P"5 Aϔj+n)ЏRJfnD 6F ~mQ ?wZc=n"f6IB\$3;:BHV_H8Fc]Dj8%KcN+c3/h8~Ok.3s1zȈ+WX#9b\p РQ1,kR \6<5(ښ5- YP>D%<[HB$k@.=.zc>Z%}OpЬ!m^T"0[}WVuO"*qF/R&L9!~,f^T+TI:p$"څFd.+:ȍXf^^z]^q'Q{ Icu@ m0CV$e%V=Mkf_1VCWdx+I YbBH%/5 uH+[Uz^]mF `w\ҥmw;EFcMat4̚Zqjq]d*i H U:ZGK~0Xr \v ip$&訫VAH29P6<(jB;XT`p~ y!4Y)پZd(,V3x̫n[.Ytuܙ|4eL3P38w)Sa늼.'xooZI;g$6)'0wa! oղBWCaW+d&=:`]!㼄)%{,m?~*X$yrgV~C2/Wi-q2K1t[A9n t%:_&6zkpxƥwt@iƫa`w-v#;=3vs( kABnK vsQ!d^fԉQx_}Q7g~{ǫQ wQw ZNbÛ5Oo#Rƒyg8?sO<~^Q0 ~ilgPKYn۰ItRl)<{8Ş 5jf\uN@)֬3, hGVB8q je%HFk4O|-{ЗO$Q'K#[oՒ$bn%k^0GfMGcT, +` Occ66x=ĶɅ},AcxVU7$?:]Y' p *z 6tDI⥼L&Tƥa叒t3hd&?as ^ڛ&Z54 ?OYh{FV#E"n igZ跚qpX(C]3$Q:p q:H K!@鱙Zg@u{oӂke5 >dQ:c4wxS| Ed1ZAͭNZqiZ@)WQVޞ bPRt.'|S%hJRP(A (|"P_;5ě kd5ˠbxO vK2nHl{8F7`o5 g}*M.#ojY_ \ŗwMY9SC/g1Լt$.SWi7)~饁*'쵩T{רHs'4i+Vڮ Gmub5ӓ]sѹLg@Cz96g""H4űӇutFiL LjM 3Gāρ[F'gjFУ"%xi.qb<͇YТEiX%m57o%ԟ"6$6̀F-]?tm_т\LӛN!$n3w^ݦF}d̓ K\{bNw& MC\ǐT~d'_=_[晌`H!B/|g1_M2 oq?@w)KL)N984?O/B3،Q)+͓bŶU!Yc m `ͤy/R,hípNxw(sfE-fxymfGv?_v.SO`/ǜm)[˴(RP)P'7'x*r`y_0!ꤦ hbkSs.Ȃ}MP" }vFh#،('2rZ\$tWeyr>i6h3:s ǽuOl1zinZk5kIvBg6RJj6.@Zs˿BF_Qn|\q5Mp^4Vzþf㇃`o%d$Y&4R-f] )5WN>%On1-=4WItb,1S#*mu=r~-M=$h/.Q_Y;xMa{\0>a184UMyE0g9.2B̌VžU)Lh}Diwp"dd¯ubt}p%;I*NKN'.P;t`[W܊%1ܒ=rdy~A_-w_MuO:)3{Q G6Ȕ,:KQBׯYli&5S>KX-FīݹRqqރ-꼸\婄oϧ(ga_1od`@./ 1壯_sŚRpddvUnnb r7"QvK)n㦸K6o9{%wܐej+"0K'b^;5ͼI0jGn GA'~X6Q`CK*ܜNzb7{p4 mKMZ8pYPdtr.&)nM@xas+Hj._pM񴋖<}q> >FrpAz,c MG+#Z6*)Mc+˻[*\BjiDW ~eg3fU==,8؎Xm1_:Uήk2ާFK.Ia@㾻R4P@K[^zH<I,[>ljxI=pIhBH`cMkk"f#TVRR"@FOޫMcn}r؈o^%A=8Dv gw|.yAH8KЙ?Sb"Jo`üLAM1x;6ҭP ~=a.1v{ϧƑ{' )hFD.DJ[L6i.OHf$8Lw:KyQ;vW\H8X _2"po J?)q~h![1m1vj?qhVcQ&RdiڶS⽯h THNJ$>AdMJ rAI IAL .RbM#W,V%h-%ܕVYw B",Lr?q`uҠԞ|_+lW戜c)򬡸?:ls}{ڿ(rmIO@7Ҫ?_9- mlKR' [“ -u6"(*Sх71]> CٝZ)A9_ֆ2w5 BlAWݽ{nߴ81cLM2nz,@2iLyUONC/n~n*q8|TcBСI5=o'SUaDAB ?f$mY 7` 6T^)~d_<\ $փP8!x9c5}Rs)0.:8oj8 <~`Ȥ9,Ͼ$tϭҥvѻYu xhˈޥڀ0="3zHa>梹Q?؆k2͋ˡj'.Q:E y*pJb\8)f툁e-(w.=ԑ1!<W6QaĽZ=/9Β< dbQR]yVpx pFWRIiM383-2E9Bh9cDO2zX8BB VtΥkry'P6s%S5uWB%3xgs-9GKcC3^0!>jFC#Wb1H_ݤZ {Ά1pWT)..8r\nB1YT_P] fݸ_-&JH!OP?7t)ؽf޹EsTߡ6?p*~C.G71:G}mLTP# zN[G$!I(lYjN}Oy+W=ڝ]@J) (b #vXH;(HIjķuŴHoDp!!O`yn$h"SG>\;(δ W(v0x7.!q( q`]iN2<,Td~ގ _ϩnBZXdf?9c')'!{{@88M_-&5\?!ߡu8&ϑ䠲ЉFcYD<'ZqEɫo`XD[25%Ó=lr\q)Tq Rɼr/ A l8ր"] ÿNPE`z}+`sVP~˪ly4_ZZoXL #hIPǛ>ݘ&2Fl`<[5VSi p^fd%KTxoY;ǘ|'L m`8 &_t_7a7qv)TfaA&RXv{Eb.T'>MMf?o o{ٗ1`h) ?vejYK=ÁqPBG6#sϿvhͱiʍ(V/뇅? baJ*Ikh}6| ۼܼ%lNt . k]y47ޣn4 b܅0L09Ff5uff?^X2s}2_x?T C,NI~aޕ\{8u%͔`7"Dn"F{{ʆY#Hcb%JKp|1DVw mBk ̜V#'{{>.~ HE/;"/MrWOq!q,5;bUHk~U)ɣepoR s#`zlZ]Bw٘g]Ζ,WQ9`z+FDj3Ӱus&$*IpZzŹKEχʽ|b{^0kßKP_irybwO7Aa6>Lɟ*3Vbkgh! 졝GDj<7ěvY#?%ЎckNjCM/?;F2-HH^_'XG쯟QD'wRH !Szg5'زϗܽPOfMS 3*s*lIg0-KIݘXVKZ )-W@߶kR[*ɘ2}ll @8ѷ3`wݡ%7cbuxFfoDa |=1Jh|9WpȖJyAc Ӎ9au*y4||ݷE`>6kk=]'Բ*JcS :7h&n `ՂƬn-`i&H"۟S\Wh`B*]լ/3]c0}_ $j,ĝ͎kc({(!M?5mIm !fvd"fq"T1Kj{T0gUosL{L|5cbp;7`S3>Pԯfqģ%-jԵt߃@@;R<"r^~d^CA:D(R #Kܧ%5> 1zpYXW_(#U3C߹ bbV0@cʪުK5r] l2⑼%ՙOo)@6]IL1.uمhկCخ~nI.8SkLV{щfHG4<6dc"FԌ'HŚn oo<ܝNkPh ځꞱv_xq{[8Ҡz n Kts:ț;Fiz# }_AIv`~wI_ Ğzܲp2\}ْ8ENp8\Ae͓ҝf9O"TјR/߀/)#&bb~Uאk}p~ݾ2'AڿÛe*^YcUjH2ιxo/Kkyb(6Ϛ*Bn+^>}Y16&0\6(Iˎَo[6$kfMiNef%V)oNv,0fD*D?eT=.#?#V9H9™L{i+vxtٮƨMZQ>?I((7Gte0["Rlgp^ ")dkP(i ^m =bgUh XSx1IU$2wy>nJt'7p|Dp Ka2 ޞq.%*>w<l}~95`XW4п:%C(%$ fT,08!"4 \3sgڀdžt*Qe٬~.էXI4{Ä%CQn[k[mo]HU!9pUCxTW!řO/v)uXcVq/W6&jöv:"tfj3h>5YsX9e ͿQAD,H 4]۞\(d'K[L8?܈kP|4F˪+8gʝmCyFgyil;7^[#S4"y K9rӃ|P7*R1Ҵ1nk,Aϑ I =#?PX{maԭVOPI&gcGbԵK c+ar;~[tZq }F7}zJ/8|`+Vs.+`,[j>σn9d7-ԃ?:ߒr%d3^Ц46Y dF$zjA~|x ٗzBom?*VuBG 5SUꈀ!:KU a ؁OZw~@L1L^ڊѱW~)O8*(7o^Mh 2|L`彨,Dۍ.Ud>|t $;'J??~Đ .&VG6W9*ǫGyتW&񩢏= I]l +ZB;鱇cėҼ;$ߺ1RۇlܪDz:X5?PXI]A&==ndzɽMDa?*ʬ̙)34Fn͵.G^mc ,^."o;YWBqzGKCpP;3ƍ g})@eR$Fۂ2;THFW_(wys sHg=;҂'GusmRzŦuėfYrXʒI 7=a+];Ւۼf:++ 6pb?L1>Qd&sj[/g׳3wLתU)`8V9yי obk+# AD vf+$[k Oתԕx^E;He'VgbX=5m9Uz_H@ȉ87W%ZC7h<%5GC's7sA݈KLZ매:EYe} NV$ős7F_?X]wc]@`"e{/!Yf -!R1j6G*坴QطH\ ?TM-<*!k9pnAh<=xkrm^1οZHi3DZ2[ex詜 +X*} Xg皙4#'wz3ܒʐ7hJI!{-" C(V=`l&l\=1̝m,ZŝjR| h"cܫ$O^0#,lZHZ>tU"v?O;꿈uK lfMulBQӰ|O/1d0yg! Ե'k۪(RkwfQ9]!&XL?4(\ehǭɂۦ Ӛфp.*WMx!YtIBr9dmg44S5_!Z&rơ؄4!p SU|V* <`TKľ$Eb`b, f)kJ˥7;-K$ ^A3$wѷSv uLB*Œˡb;RLuOZUvV3r2e:u,5INvÌؓIB;vtMB[n$GQ=1 /"F[xxR'×^v3\)^Dؑ>5sWuY1kPrܷ NRR8z{'@gbܫצTdzvM}5%UZa1 ykNoJ镝 O~ ƕ 7A$nMd^kwl  m߸EF6 V w*Py_qfu,.g O{%ҊGLyLCw[~Ln۶L&lU p1h.;[ILq"-z#TtP;&m%yu|Z( ;yQ7_+b'PN8!)cS2t4i(hQ nfb\-T݊cNT{*yF.}ΚvG8wkO~,Zk<&*^fY෕lߗg$Y\f CMK>?وA\iAEtٞPج :nl~Bs0$_7Tο<ʉ0c0&Q3V7O2Yf(~%7jAWW;6ẄOD&<"2`sWo?XZ\Eo~ХHjEe0}`VMG8fˌc!;bIE&9qRud)썦Mk΋uН<)U,'#Ky dt]\mƲz kO ݿ,EwQhrWdDe=xһGz>5Xf5 *iLJ1OO灷Rو -@,eMfyX|4a!2KwLeOl5W&V~($M$*hG~@bLm›WoDD_I$J趹./D~n{Jx0_ŋ\uw,)Gy.$5 ,i/WbjJрos!\(, ]7B[:HvWFt5-4`v*O]_)yTH8={~:lE >a܆F! *s?Zt 0یMJ8gNտmߜ=he6mTp`2>7Bق/ېPU{B/]͏,^&lJZx 0m`Sf޴/j+M;M@huf[ֲ9aTKs&݇TeDfwLXZtQͽF?zTyc #= ϐWP ?MK"+On)_5_#RӂϐqB`q )ƭj LH{*nk!2đi򠟋cLe IӣWzTIDd_L|ťo?b2FBwQ0]Vb=\D5' IƬzq7's%hUʢg9A7~,a(L*˥×C麄( AG-us@W+Ԫvjɥz=oJлHohc*e%`v{:+.UUЙ~6rM<2=P8.8MR7.Uk }i&e h:^qI.Ċԓ_xU$`2yZS9)wf)0(?Dfa(  duEqpZBg6hO/!_lKQ/\XGtJG ^G,َe:r݈c$Bg#RmPO[nY>((M'd7<4Og-uvR+GfW_7ke7_^WȎ{4t#7&1H!C>[] Uw/fCEEMޣ,;_%l?/鄮/JP͐irIajSjLlذ!"SAyEduhT.i$!3ju:-^wܑCܨ-9W-.#ȶkKMTXXaO 4dLnVނ(BCiP+%HGj?n "שU$+o<'N>*DLK*,HP L{5"mCi'pHDzS!vii ,}Ӑl`IOëj!# u]tF]r&pYe!|:DkT`49!l4] 4JLa>X18^LC\77'I)5/Ēķ_7g5|k^.MC Ac˘ 4wT6~s턱$~X`wAߡ:JFpȆ\կn`Wv=.a8ckG39V[UaQŤnz~!i+f)QRi9C#[%Gs ltmdɑ(8;X7}}K3lx/iA j9S6srOU\|IDǶ<.l5쮍̃%d(jȀ>0l`tK19 hh]Z?1XQnѢ,ǂas x h7Į4L޽jtN Q˄f4D!.",Ir R`3eCm}vMȦbrڍ'OmգDY{Qx]2<+/$uh$TY kNzbnN<TgBskKb=ajl"@>a+ntAUk_tI+, QKdxZŭAv(v9V.}F-^a@4d?-]GBE3@P9zٵٹo X0'/W_4iUnrM1 ,5-kbœM:Jy  #CkODnP9JA/%r6ldq;7*u IїNZt! ݪ.ҋ!+aJ>>  @o4?Ф8#J֔9[=wn{\RV+SM-Ãv30t:)8heG ~K0 m_݀$8#,˔b|: 14 ِBmd^u7FR ыBw%(6Kr.^}B_x$o^;ũ{q[|Rj yV-;ZG$ a1zI!;^DF_M"ϵ Vձ / ui}~#ȽgۦĦ ;rID{%F IQa* \Xb+mEr RY2eqptn*ܰLt;O ֊6<9 0{ swJA֏`]&Ɓ~i$G\^O  |zê .vmP##OFxT# Ux%-C& X}M)tUjQ KMt+5nD&ֈ[nO?mQQ! u:,\*CDOҹGeD# vd 72ZȊ޲E[85tu5IPFS0rcx?=C {̔oE9$]ͩD$jh T>M-tP2OҹOP=|T Yπp^ Gn(t U@fES%Z.o|(pm5LfV$&Kz1rH |ynN{fC%!ؘffՊiˇjwmD|X:ȲWJ L}'<ח~ȽUTw3s\\eg,'ɾܐcWkCb7Brs3lqX&G5ϥz|Lk?G K'73!k1>Z~묏ZZza5?^%Q 6ɿpKCgׄ"} ߍMvKc#7"0j2qB,TQ丞!cZ#a D~j{{; K[?R;z|f0{}ߘ/9bJbCvdܡ|C r%oU`0 iOQ:fK[6FM.U:zm\Ng/뻜s}z>^+` }fa{m(OFk~rs&3#eEbR@GN5{~$[&4 ʦmhKDTrW,3k2xXeI-'[1.٨[('XݠS>DM4Cr!oG[=)d\ KN_N=x%}XQo/h&( 6-eLaewaBLسV}㛢K9XC$&&I8ußHEd_Hmܭ ZtA1[Lp ʯ(Z0dPWv~8BW+N,2huFKO24S$c_n[ggw;-/. pjR6>6b4 'z@,Ԝ Fjv ~=|%7? KW%YcȒ&&<_`?`R6bt(GSoaH~#*<ϩN$GEãd)A(ZmFM* 4tJ>2Q JM\|hCyHQjfp㠋!3:]7aH4Y$w ~Ţs +{>ӺMe&j+]]X,+ltZZ4{7cR 0$ؖρ$AqX%KşV`8z|X;jY2&+Р1Ŷj0EdߧHK r7HZ9&[]"'dUK2ObA]]xk*مH-AҽvUR*r9;97Ӏ̓;QTOjZElWpZ rDpg`?YA \O'Ɲ+O ;g< ʼn4l)n׭t?WU/ym a3xrH+bKkvV-|}VO2#&CJqЁq>-~Are|!tE!}f 3=tfT*m=#7ӹy8JZOHpR0/FMkCHKc `A&o -xeD x!rWdb)# SRjQ>6*&23q4@?k~o?!)s7UF{69 ׶R_Eܪ)tV8peZ=IH:PeoQO(STeJG?F7ǓPoR'2di(ubizbz/8Xm#iY-Qd's.8xq;~L⤲h|*r%Eg cniM\ sSF`qN]uڜߪ X:fZ 5g}:YsU~T6?n9K4:boi*qLv@I_f(վuxbp@zw^y>RHg)zx9 2o|I}ʿ'/jrP$0 Vy-j]*\EFRP)D% O&z$S_O]Vb~P*niUL1nyk X~F~uh^Jd)Xt[BuYJ;p4ZSiqFi۵͋mDXΟ$* תҒ—OR͉bS蓧kDO1aG wKi=-z[fBz2[noQXۜuX~jzMS⬢_}EZTR W@ e#Xg:ػ56 Sn? v](٨gT€G$ !I8Sc+[d̳Kǁ;s*1;I=yx}A__΍.Ez),[&E>en`̊w w!:$?ʱѥ e8vs@͸x<*M a.NH)hoԹi=0,W lC)MClAul/!ei*x>tvÓ~@ȋ݋l^F2{jns Pz1Z)GCZrỲaOTNȨ=4#oBG"h; Vnan/cJ31.uBҼwfavB%lA#kC K\V'Ldyri dtq` =FسSŸTDˀr+"m4+)Pḥ@]礴U*B&b@veH2U}H lʒnֽ`|pk> R;1Z0r"r\E n{\8q榟eԎ !#xVH`HQH\ܺg›eD i+K= pvӬ=UP(a.W8i''C9"՗z_K%8y"sJص G=f^IBP8y 4?'ҧMqZ\XO=:e[EwC뫠CCJ=@4.Kp8:e1~х@+0(Huhb0, @+8Ĩ+埄 AZ].N;6Xҩn=EziD8\m5<꿟CH$lM';-LpWjؔHBT\ȾU66RL)Ӟ+ه84p@7 χy]-_: sa G&8Bgd#)]\^Y,4W#2gs8Jn#3=Hs5Ă071؊{&$nBkZYb< h{_p 5/.~8n!z?Fϯ!rB+fps ʹ-}QX8 j7,¿uPg:$,o^"}_fqwr 3 `A42btc ʕt%I[XMZdz H9d~{A aܪ"-W'Řn"Mfsm `!"v8 e&a yy}ht( bٝ/$ttJ l䝟$}\Mxp%@@8+w<9/j݌ЏRJac RRW=ushO6ˍ$l%OM@@kBQ"ՇP7)/%w+:/0ðF8VکY$ѱôrQ.~ekYg0(/yƬDܟaOBKsE˴?-\lƜ0E`LD.0ڝƱ4@dez6n}U- _hT2<)7$"B'Yv > ɿcaLvOs( Y3bBMӪ=5Hv\7o@r24a}pGL=AJI)K(:܄8V eAЉΫo 5JoZӊ-ro=SGmRWxQ%R !- Ҽj ە M-9콰8^sq,C;BYJ$ZQdq&M]]Kkgǩxl?^ډT;T8[`̙ql~~7^oFOZ! )-23pvr`nʫ nq!z0 #R}U3cDEwpHz2n<n-j# p6@*&*J5 >;c_0E8cEC=fiJ5S;ır0@fʿUc@C-$u9?fkei}zt2x#Jj@XW2D+0X .T5G8u哤̧(`Lc,gsSM"*lpSw1ft$~omZ&*lp+XDjqN6i&Vluunkf;7shHdQ|70DZ& ʠިxSaKkӋY!q F8uѐ7$JE3; e&#'B2֖Y@_6b/DRF^ |Y#Yȅu+쏆IK|@%~o;DƑ U7U I҂M $`vBVf"&H8+`qfi S~*;WLfruu*{PJe3qt?T`@RPzĠK- bCy{Vpb~)>\LKv͑zw|Ҏw+l`ؔ6)[CѴ~QN ń1 5Є4AvN:j  Eă Dڜ#;:=؋೮u 3Shu-G1t׷>0 *)Ʈ%GK?~$S]>JӟCjG`U{xŀJN0jf!˫J9Er",]p_3G3B7eJ>!!8#'yq}u6'u8r'|ȣ3΄R>̈́)-kV/F7 " xˋ욡"1ӿ5R.v7(,yh򫌺-s߃P/W9ԑ)T4&5O瀍Mm1?/_lU9:ROJ(o⋾Ks/`>7@yXӈ{o1"/ThHm fs۪L|kh0KxR*+a,<e%l)4n };J(^s#՛ 菋EZ"PQJL<Y,9-sTJ0i=+Ӛ.qtTʗ\̦pKmAIfajI~`13NK_%qZA[#ThA\JÏ()Zxo}a,1?cfϦ8]u=Ix[~!G<,\"ʳhbJk+ ,gm|w&CG$A:dH=thb|z9O -8+k$$eolydK>j|(1 82Ա[չvg4oI姣$4tlU@[qQL ^6kC;ao|U<䉠8gsaNx]cRx96[X7!BT2LË ^^_<8\5qxPwH,_/yu蘓\}q\F+czpT)hBŤnsHRVk6/'XT  ѡоA ȱgLMM+LdǗM9#(mZ@1?ΆlաaK6BtjKbtm{V7gVcuhAS9q7%:{M\=pm@Ss`a3?Iz2+ UqR?,3J#̻TS%mϤm;/x_HGʩձtj}^UL,@|YdOI㶥WHPBRWsM۱5MbpQŖG>2ZG{3gNȟDŵs``V+Q0~DzIJ J9N4MJqtt%98I^!?,{6ڡ3cWM~$2;V7?d5GC+~594ERBe]I'+,(nr)-tp9 MUr*խ7^03$tf7kD3ƑpCؘ8M@OU@|ܷV}.ww`p?Lzm 0Y9 5` 0M P_,&ĿN*e`FҕW6*sFr?6nq5¸,xj3Pj8>}~ݺc'ڶ$ҁQ,xR^yZjXpW^`_p_ J_1#cYq"|6FA3K%LI`Ͳ4Os"U"I*Ū, jXYHJ+ 34h?/B>&Y.wort4CFvu̵耖:]HXfg઴xл' #B-1g&M~Ǚteh\Q;3:Ugaq.3 bu\zѓ]ˁQ4ěQ mœֲ_%"{ζ~tƀN5:؍qS -"$3w&P7UI=\]n80Z&.(^ 9 fcRi0=r;T`XSڻ-ro#BEZhRG!򼦕) QioLNWf?F 6-AfAl7џyl3ޗkBԤ"Zq, \(e<^ͩk-]L"pPsj7a]WZ|aNu/&uy,Mi}J ]b6iT+pl.Yy¦Hj)"TIIOf/mP$'%Lmb_\ /1˃?<*>vbF,i֮i/\}6#{>H7<("n<험4\/?~vqyY< ~q]H4c;4) 'z}FCENAe.1 0~OYӽ5B¹Aj _[ ((q**HM&\9gg$[T%U ]&r\W+SW~آʘFJ|v'B3`Z,g9 |,̙YC^Hřn F쿃5ClF¯Ua#&2F저 }l.w])423"FG;nȺY ZG8S2K bWցWst50S O@jc.hmO)JrEH@7yw3޸\Rrk{,`^N|tOc9k7 JX ]w W/E={ GJkOıPIyP$Jia僒7fGccaVq"8@ PWuR+F:$$ؙG$=ꟷF˗ ofVUnͅvQ&󳴁#fUkGO.3])Y,=GXFtUn|q ?AO/ӹzߊŅ 8/*z,b/OnXP͕<"jh'Q 뱄AH GT7ɝ:rLwk:#Kamxn .yGW&b6V {_B>~Q.d)}/].M(uJ4dw)ݤ .31V3zPQBڇ@-ʴ>H`rկ|&'q 'u/b3eza9;R5B=gqˡ تh̵ԑ&b[XKhN~E2#sNNv8F$,)O2kh@$ :x{!Z(Rڂ?r$~ş֨ʐΒYUN!+@J+ ߮*:ÂXeL*:*l%Ay%ph:c]]Iּ`.$7t\^4 [r(ЭU LlѐSbMXUkֱ!TxҖ o.d]t0SVbNQ_CpZܬSFJɌ<~,%䫫ѨR.M%s1wQVnkV{Z^(tI=<y sy|ƪ'/_ZK@qv\;2}>͔%t\|bhB G/ Z]wFiQge\C]o/}\b=&-'iP hF5߄[.أ d4mO-`[sCڱȼ_ÛE@#8Z.ݺ*W9Z }5p-\ucN'+P5ȋR30c;-~3w|W ڜ2e,!-ZHzv9>qD}ǗҎ*efm,Qr%h4e!uSˎ)BDF v@z;hAt}bɟځII ХS۩eU cV)wq#${5XbYrDel QCi(}HDi<!?mаrDhsp>u޿H&bmW8cdts /hJ;Q w7ʀaUk> /\;1@21,jPdjgw {DkUTxtATxD/8t S?L1$:JTcD3`:m׍}T-𚒚ZRM)?omQÊ4%4\rSŢ)^ۍw]$bd!.jzWVO3c jQ3K8H#+TZjmxS0.jbB$!4tHF}`/ a-`ػȬb*f[~|nQEgEN bwӦT}h ?Ym cKM .6=%n*RpzRm2ǭW^ ;q;hA]kR#l,uKY/Zᩱtp-ǃ(_jgH#EC[YN or ѭ}_eŸCf$bFzws3%  #O2lXwLFx)\*$G6k{42 AƃP$HK13)^ ~"?g =4A(`K޾T^SL|J=ܽR<74T1;i +ͬrT!Mq64pVkVxWu.̨g6|[2YW(n]JZ71Rvu[+$Фf9Ų*^u8To96J8n+ {y{V6(S]s\DPyQ)/%C@E}@Ut#bU8[0Rn>2K $r[JGSJ;`P@Uv<5ٸ OۤF7wU6 CM]kcX> "<7)g)bpjT480T6 Ȁd%q b&`p-\xQ)9`OXQSD.'k~0k¿=[N>x7L71rrøF[2D)avQM_\Ζj> hB{* cLO ē%\{frGF{քćus-P5|A ,(Z,qQF,̀]u*6Ԣ8C"m E-bl"]YRu8BIbeY[DkzhsCiA)1y+he{3ʯ1{IKZw`"Du[_z`R[j*HbNabӏYJjI-F{$Nmds,_3Iְx]]2Ijbz/3"s1HRXD+L|xYpjjLxkr Ƶy/=gWbyNXZ! b6> ͪ5TMuT%sQQJrZ5D(v_ck xT5Y3Ue[4 -P ky2Nuy cBDm&ZQYzawG!y9ߚ8t_@P}Bl灮kb5 ː߶bT , 7: _yrPJjR!2TcO8r|%54X<z Rw2D4wX~?hYzT.53r0(OM>1TR޶8q!znp:CAVvNBywI"c4 (EVW `C2z{!cթ}7:-6ZCK&ZDB9b.DHńǠȜ,E %<( 0J% $]!wIuDxL?P#VL:u>,yb+r+R '򙚝aLn,@Ҋi@crc~ä&z*CkrfT*tk[Ku8t_uZNe;W9EJ\^pYmWe~r¯c~x!0-*r*A"zL_HXRe`vu1@n0SF>H3o=?wd7BʸZN)qW[ ͐(v $2G@{"&LAOqXzßc8ZRy%fN*qO@=0}<;1mj3~/;`Z|?K 64NyкÉ9ZQ#w1cUT*y*$E,*E x|E*'Daw0꼀Qf=i!kN*~/R:.#XHH Vh#*9n.f7oS4< TDB;T0a`={DnP'f6CGh@mg}~0^T~9*-+@4E"mb[Roqx%WBV%zB+v .ĝ;U*,n,r%B*:#GKp OCFD=ا %C]d6u"QƯMHV5rY` ZxXn :gَM$=d8NB3K1x'iy쉁osXI!,5]IAA`Jtj˚R )owc \4A\Ț_d[4߾99u!Ђ"r06Tѝm"rUV] @{x6.鹬#G~1ؒBo"ՀDd7F>N,m(M5v8otr}+juLxi,OCo, Q W5]p4eT;Ȉc  _x}j@Z7-x?ywIu0Vmg)=./6C'4g $ւU+aEob L_Nŀ/d=bɽ6̌&2隣h✸#fnufT|[l$F:4Uƹ]%R&ʄbE͓H+ G>VD;=To74`[Ϡ>ΨGpCYoH6Ȁf㐎W1P0-Iu^X1<<&Fj;P0$0 Nܨ!=KAC㹓0}BGIy|]~E9(rRk!6hSvocipxSd_(%u&tfGpvPRP\B]}wtGԝ;6bҝ,$6rQhd"Q@ K_+E/d/FcZenA lGUa/B8?az(gsnU+؃8-$[lD.K,p͸c)3Lwan ֫^̮)A) , "8\=뿏{+!ðϰ3ݾrHBj s8 79ޥ T be<(_z_hr6A=\oIKLl[ڎ1:\(!x|fjpCkjvQ|\1j jȏe_Rg=ƙBPtrrbK+ Tյ ]Hzx?ƄKtL\QL! j:jMn6 } ԾtH+mc\!`\?X$…Q<^FQ>ezLa5! q4@Fg ۃa+hj82 \Q_wqhxvٯE YG(?xpj RTPIݻ>#%,):R+`vpQ{aN5wAܭ'd5\F Tڋ~@3p0bn4>P྾}Tf:I%4S7̂5;:FhRmiV6TyһiRn ΐvl Q<Ż9վG48斂g!4;E/5Y;u=Kd,M&,7{G_B b4#UUcmI($If{|dP/T6E[BϢrY!<|p ;Q<3y0J) X (3$[?9qB\'4zp {dS|| kvVy a'.\ȕ5  EP]O90umvM!"G$Lh?#sF;FZn05āxƌ7P :xhb".,o.#s2P,ǡxK 72Ѝ|^T +y[YMU- z}kUŨb1n P89abR#{y:ٲge19 $8GDSc5'ٴ|\zl3łk|c$6|MG3`L1PgpW4h9FUՍN'Œ@&b'S;ܣrO%:2Rnס"K>%#mZJh Q X-lC, p~q^" {Eo Qo.@`}, 's`?qXD5(͢!d'ȹ+Rܗ3gG\W8:5ש;}3_XބEDk#3Āg\EmyMOkd=!T*w, i@ՖL38bTUrPVJfW`~¡zKoLy6#&|7SD.W)& qWXQ1 үcjJ ['ELC|G`jk͞aNHJm\6EBs3Ksy2yTt?$QltmL\ȶ8?.aݪ?]śА]dYUfM=L7Y8~Cg*h9i 8u5)xgl)ezHWĦ]2"1qӦgQ8V̠)XmҭC:O X$7$d+ټqV e%y /ĺUK GTϩE!&laBbMf㸬SQѱ&FsbQ/@G_=~&M‘jB?fVS=ENV֍svv4Y7A8ưeZBS*sZRY92Wk{mc1f$=R`ߺRyG9{kXxX1Rk}߲⨛ /\V.7t@1Y+$Bmt |qk/J`3FinGE b~esˀ%=f}o qj ڗY#yYSyptk8РL1^qsZ1R^3x78f?jN LECP+`;?٥FT .V,J `A$`կy!\eihW.Tyd(@;d&V}FR*WVƐGAڟܣpc%(b7f=^=a7CdmR69v`ߕnDC1+/H ƻ!S6/ҥ;E1 WAS}:%z!~dp xV.I4'E0۠qZ׏!zBZ-eBvc*v_GJ:+։1pGL}L'TŦ! Lp!O%"wCκ8YL_vz11u@M(xu/nJmslG/ [4Ʈw)%3ws]p4 .*gD8Զudz#FPřgײm+g,wa4] s=%[5'm>Y'x-OhJzl:YF8Fr^җH$X `6!d4f) GI9̊&b:AcN{?~ȷԳ{JrxDu,4sl̒!8S!?,(RQ5"_&bgX}j^18*1Rސ x]mz_ CP_U'+ԲZ8vP5)<"yun>\mLyq`e a%ukdry:d!7jJ~&5vi.t$sP|@gPr0ŴD/~#׫n^hi2.&,Bḑ7tp+k@ɡo^)`&K37ih{L6 Eh"{XxlXbFKTp]Ӏ|-&cmVuGJg&:7jY#^ 3&-p g ˘=]Q-~O)cQLGս06UNSLෳeġ,P!3͖y2[|孳n{=0)6|w1VȒLUq5S@q.I{袐gZ\ - ݯժ'[ @ҿ3A(RG'H?Ŋ{ [y*|ؗ%j,nOo ^Kap+h|'2o3H8+'Nrt2vÎҴ*e#Hq$ YCOSc% kzd NdŲWRh)ww(Z~&}F)8hd_ucU^Ooڰt Ͼbk<',2\14T׽^!^ *IDa<_kgZ臍*r )fۇ!\ѱ3,X=i-b,yㄖjD`/L"=l('$-!roذ:O^Bp#]R֑0d<˹A'dI. .]nFa /I[b-2LCR2 YqWfd}1?ȭ8P.~UaĎ) ¶#{v\jdbcfR,^酟]ƫ& oh$"g_D4ab@ rטQ3)X?|]t~PmQytP;u)nJvw5yY[ !Nc*|fyV)*(lŌmΐ (k\N9Y\w;UA=nŲcIׯ]0J+)֓[&_KiH>!w$1C#S5 GNz1ު盺'![}glUIM !z3KÀ ; ."&c @ VqOtx&vc6ms=ܕwa@䁧12X 3-Bc6±5(zx.;J&CAm%@̝A:e~K1^% i]WVuc!k3 U9+5R=*j>psa ?ɴd.N\4X%͵Rs - ~J}qvPf4~f&60^Z:tPB  QXJҾ"<.'Vtw&fW|;"eH(B-jkw_g/$-U &ϑ^eiÏHR$ImhJfF{C.2?z:82_E{L;_B }1lOuahя T _J8RE#)3̠%3ixXC*0b۩zӘ7HQ NLKu%KZD#Uo0if/: tp6ߖizC؋V'HpAt z3QD'y=~ v}Ls(sDs޲I͵gi(mlհ}:Tm>sBP꧹+@) -E(=DZNt2u IO|unQ%+ hHǎ4g%YaH=fҞF/㞇Xtw{Rj'хtu-9+Mt ;qh.$8jHjzxBV=Pnl#|zq#&$NiU/R뿮{uwE!GA^?'0ד8ٍQjCf 븀;KɧHw3V(9OO8yδ w|_ ˛|ZrLL^_pŵJ v+w w53;\ wZgM|H>ABbs㮎S7f[V?^~D2JhǛҍE%etmA3n&w`TN8&Bj7~?2Ȭj'@ RYh0 ,M(JD02;J2wO]ݥX`X eߧaZOMTsCj/seΨLmP)p&O?Eg뼩.hEgOhFWSO(d9h'r9 oyfKS !T]uI±(?|v ;E{aj eT^%"G3 'a}(pcIu;o" Bh^0Q za6 @j]⯮N sQqė_Z)Х`7f8"ūRsɎ(K6Yq6L,Y8XU6/u'YBɼYh-9h_V1GߤogNes+5 )PpnxɬlU8qqRV%|İ5ukC V!hf^07+JePK ׯI#nL)Mp۹a lm\I6 iȃ HZ3W-ɻb}mcd}m3<2 xpn'g/mQtW韘1QK=$eAχ1ZbgC/L} Ib+X oa_4I1BCDPl1ʒ>' VAÊc^-_r&^vbA2GĺZH]Eq Yɱ]KP^uO)o!K:beN*E`ZH}8)0DcSH8 #5:=? 2}gE39f7ȲRFtdDA1fF2]+EI̓Ɓf`ݻpA]E[3v,d( 5x>`;Fm<4['Ej(gHLZwaYp _a6>W>:JODU5ڙ==S)ںlkUܖNQ~N|W!Q쐶Y3AȐ`G"s $w$?DjdxwdPlɔC5QQseQ//Q˲?2Գpof>LrB"9#xPsE%&;߈e7v\^/Ҷ(LA@/;s dbZgoY/sRؙ^RsW%-Hv^V KZGVZ;7cxz~Lx[ĹQɀzJlxT>y45zK0\!K˾O4?5YByk_Wʇ6` T67--@J_!uķ F$Ւ#MIӿb#}d`I(n";E;2+yygk(`ڶs3H܍8$dؐğZ9_5.7w1>ND'|DLKop^Q+g}\7STv/) = YaOjAs1X/;;bs?R"C+L@- )VKxBB)1 CQ#qVQ\|:f+Z MUHH.AU͇BSKȑ1=PV%;2G̮[Q*;!| A/pjIDVt4+џh3\\o9;7T-pt[G3tJAlG۟f(lXAHlVѩ`>L-9˧H*Y-I|(`8Mz5CX͞BrX)P6[%t0\"3#naz:MwY9@"Հ5lR`UrjS[du?dbUT)3ZR~6G e3]s/ah`y92BϾ)z֜(e(BCJWu$#xŰ"(R9U7_U&4$9d:2 JΔѭx8NT &S$VA\L# '8k"ʟ;6ŗ;! ׇ * 5h:Pyoi7v6{x('[ǘ݊Wf8uK7d&'+3-޽d~3A2x 10aFUqDChR&hsWKS?; s,鳳{gGq4Tj_]&\8$9@zW$8NH6d8! S%Sl⥘076c%J8o୯̋.%Dl­>N? K^ aUSS?2^--̸ _D%Ϙo?,grE{Y}I3}O榿?xځ$|ϰC˖y@K[ml K ؇RmE|N~lxtW%mq[o{LSa Ov⩊~u )Ar,$SU+Ymԩ,@k3Fv|t ?Y}%§߾wM.k9;`Ękn1Lpb̉0VA]z{|^(n qb"&soUމ-Y,m§V'|{a0r[~qc D98cjQ]ul y;d:@Ɛ M$'Ux55i'EL8J߅4FO3jH 0J)(߫)B;եy\?}ΣP7*_VbfC]a6V0Q# ^([>jhQwei2seH|)j6dRk' KP \n8_OyDf:D_~lqbfpWvtdJ tz]3xG(IJRΧŹ1hwy OV.dJ1@ { ?F`Oq=^G&؛edH.k$t0n*L͖2e]M Xq'Or̯k}RidH59bW&ٙWT}[ HꋇxWպ k^3a ȧ`yZ#^|Z)ꃋc#Mhۘ|?@ z ` U VA,C;_mb-y9,>/I ǓjU' :$rӜUYҽ6;rgןv P('룾OI&v_D NW}K)i sszee'ٝSa=׼9垗B{W);V$p4fW,.SUוaٟWshV@2`Tuo0-ODP| )tpXJGOk] e|k`9NIdi1BA)x#W @&r`x'fv9aGq[7)ԉ9TDy8yy`^"1 ~I$LͰHTkgadƻj-rgx~`UR#vRc 47%rs ܖ? F2bs@Wt.%}҇S˩aspkַ lo"5>,WK9X˃#fгkID'QnnRc:d\x0KӸGuah M>5Kg=cW~J5L@> nJU$@O``sL 1n;6 l{)*[Nc?v:A)wFˉ}>ׂ6r,Z^I˼|!VnIȔH%k ־  ŨvkUcHu.\{֪Bdӛ?I˴&?<: @rmhЋ'gd7pIK3D,̕pF\'o \E< YjjED l`9MvZXTq*.t>%Lc0'1Tkۯo\|׺=o°}ka>Q](2мy.C0rXZ[U'uPp*}<9Ts"QD##|}0T(-Zfvr~yaygix5jz#2缺 )dPФC]Ks>*H tNLr p2*&s9l/ņBA26m*8\JA}r,=wi\ WHs.v8,2~ɓcƮ,0(,Xk!L]Yql$x⡜d"VHAbqj׭5s}, @ѭ"7 B8L^6|rn?Ňr:&wD  tz֞GűtZB17V`pk rZlp$~B ŮzDx}RLuTOHcßM"D̳/(!phM!`%m?2PJWm_WtIL`\նc|Δ[-] jRbu=6vnp`ZLU8]mowDb*46L1UҒ :~}[K# 6kΝ$]BthishSѲj,%x@)ypХ,T5)vR> ڹ^)+3^_D49Nm13)qPa`T1d0 *(j~%ybo G'IFznEuNS*ײ{yON7I}dz`n ;ybǸZ0Ӽv?t zf\8 aNv503[ b|T)ndQZǃ17qJQѼlt#;JTV-̜ͬ^^f@+藍r0 eَO_\6VlEj5l݃#Qwf#`z:.Ӈl4fX6^ct GC79Ŕ1pʀ!M (cPQU3G|YV \u̷>ʙi0=IuOѡρ9^A0>~|$D;F`Ş#{mCu :ޮsʤHuj hD%}Y a?e] ƒZr\uP C-ïi.~ `bb/s=Kr)ґ4cgzA{a}.e;8F` kLl3~l xX5N?>~z/ k㿆 8ҋL ڽ p&&#jwT 9jM_J( zBsNBPֹ" RpM(Z},jIGm,\٢;"=(S|o8Y2'dQSoW>y6_^e>7PNcyJ (E 5݇D4'l/Bힸ`)Gm3n9yK+R"ZMN$ kb ʥ%mD0F3p[ 'W;~jA4e!OR2i*q̙Qov)9ܝ4ۦr~7|USV:uWX-dj7]џ+kG4r/F\:)Gɹ ? {$k̙ l]Q2C?Oe:Z@ZMiD,PF8uCnc8:HծDlk3RM ,(,&_y=*G>Wڋ:@ q𾹌7퐠toJK и_lw6@`Os`X>*SӬrX1[wffB9YPjWEϔtYc\cxaQW UQ7%“KxP-iFPIg Bs(|W0>D:Cn]DG#Vk>Uak $G/5ڀRxƽ_7=AzͨA7܁U.B0U [I,WW\}f'Y ).QTFhqO@aaF,{R?xI>29}A/ UrHËA?j8g!\ a?\Ia,+?J 4̞V\{УmT⯜mGk+BԢ*F?)[ŕ-l$URZ/׿>5~ r_d0N%1WsS~ pJD<'Z<5XBJtD Gæ[ӺE?oh.JvOYGK0hK 4K,y # 9Jvo,3R- E1$aWfГ|~'GX&ϗұTJdcawoB*iarNٜ77"6<;svCm}r"JtFэo$6)W+QDNuzohŢyg%[JfqVU=A`ġY'F1΃y^jsl+lBxvGq[7 Y\vchӉkop2JFx8I:N:)<hYimCSu9UX-͖Vr'z١)Za$1"=S ?uGF"BwiuF:^ j8@/R\|9@N"A>eg֌-a+UR|23bK~qLb`CkHS]G$@3Bᩨ &R[>mQ {<78ŸVyaSp`]ufwqh WhEl{ R$p$& GhW[2Ƹ6:G0#/dXi'ʯ)@Z>u6s*,5DD/ҩڒ\WZM]dy,UFsyL=OgU[|>Q"CT`Lw4A{+Z< -rPq%XSÖrvKM{P_"nڕ+,o\80O`Ϟw. hJ: n'd 6I1tA-]9o^bR~)&3hڌ$e%\AޥEpd9)j%hHLS{X}Q%J[&^rݸ4A=M틚t}]/{} ыT;Da0Eo䫦ӻg> Fr:Z=+ɤPV]zU:>xLo)a[dt' }KR 4Kyuuua1#jU{#}Vq;ICF-0R{)98Q3m^hs|I ȍt2z Ռ( EQ&an5zy XMI?N\xk>"d UIHK~%AW%K8'2QtL0j@xR =+At. LYpZ%k7`?Dǰgv,RMoYY2\dި+&=9"Uk[GO3=dBk#vf''Rss`X6Z"Y;QQ kع2, q?#+NHɱ F3ҏx2GIQ c Ypr zkBot KVo⚿R2E'.%lN@=&wܹSgOeؔ}КiCvbk>g*UvvL`K#oݴmxLUg*[Jq'2U=W[uԐF3) ˈ6s,{ARJޤ4?AVwet/0s͖OBFA0uuJgLo@9R'~ PC:գiہhz%ob<;!di^DU :+yH` ù}OqCش`::f,btF>Or#07#o:NLIޔ??`(SE{٪EKH`G =my#£cCQ+Y>r *W4pŒIU /'ɅYz ƄR t;˹"Z|2k0ɷɬyPˏpJ Xʾ$(ۯ/%9u0Rۈ'tȤGta$g8qP6HPt[op,23i8o= EXSR -W`- 6ցɎ, ŵi*gĻB-Q-t+и>l: N! zJn- 9$t<8X_jj8|$TQkjqi0='ӽȾYƘyܳqb_hFG3Gr5,m?FDd0=]LKC1bKpaJ-˓L th_^a쨏;Vb+];N!z^1o 6Et[Įܚ9WwLa|$=Y iJ{}5dv>g3-_gؕ`#L([LsWj|kApo&7+=31 B/ 2zkDY)j^UAB, _)`*h؀S,5-H&Zp^ Abn;3,O5Pɑ!vu9^t6վa"bp0yO4h(pjaېCu] s£qؼXnf&sZLUXXdD ޳5GX;L,X@dEKw>_*4τgd?:y^C_8Gcu?Q3DoXņQQc?JG2Gv^eL .2?!$ܛ@d廞\tAp'[mvgJy _!bh 䢡:8ޤo6%hK>$OATkRY`C'ֺu;SN쐆@a\CHIpGvȳq] D'8ĸ&2}#: Kz(b4+"!:Z˶ΡAꙑ 6'O oc6t}=H8yJkhK P˫ lr UW BHoX_XLY1%®hBw*^"O9ӽ ~@$]5E ^^e6X(]X1 U/=nM6nV>uZu|[>,Q}]=^xƀX#޻t2 >GN Y ء`SCjXI[aNTMqv Udj,J,T`H>5>nWP}beQ׫hFKeLm7k6RXrPZ+]zDn5js09gi6;LʱDmgFu`3] 4\\yϯ|0 Hl1y.HW?eDB ՟dT]Aڛ( ,T[Q sg>ʧf|o,ST9I~OϛRT:8z{haU[P3p'c+1a͖8deӕ\&vd`}u$&E>;7 Rˁ{өIOKJ[\'M75~ B'%U)_!./n &c20IqʀʌR:03OFv^wѼVӆ P. @ş f ?VO/HKlӁhiT2^Ela5}4?"߹t+\Xf2,Xg1o_IaVcI$Fc=7<7E4oD#Sk@;DL x%@>no@$m' pLJ,D撸ܧ.—ix(j)XNQOMjZ~P[ {4*9Ax$BȍQR y gh[3E(DZG{vmY=n^Hjإ=XE4~S/P^ g3 ?ڠQV8Nۇ0#yl 8"",\Z5 Ugw!$D KKN]9ksErݎ\%Aifi:RsGçVr|1 7u **<v҄&ĩYCzDw(3.Of2X\Č?/c/xtEp$-ۜE$f׹HN~JXp HOPT<a e(mmQ&,$U ix:%`RdQ)^]B}5K :̍TgO rfl}nm*uzb gHDߖnY0!,z?dSK4 v"s[+8 Tz͐eLW$_89B\dao&ᇍ̢YԏQ;}BDg*~|ds!j|UTTC߭Uw@"v!kC?~1X0`Ydzx(LRm6,~'%-W(ןX+XonY@(~]%pb̘[:cUR3^H">9&&b YL,@5;Do}Gl'nxxC1]< 8]Yaw*Rm[M~*򘄈?GMӷ+kr<J_?CiQYn'; (Xyڦ+tZffp*٩sx)9ޱ:BPЃMS~6@uNrL5w5 O|J% t:طY{/(w,;ZF}?qApCƢ3`Ĭߧk#d&3FYO>ew|\^O2@Gw:j%\e'wn@P^ 9̺V hp3CM'{^5Q'꛱1E jR(j*AZ]BaI֙a)xx3?{Q'x _ \`oO1}Vb.3};ד*ڭE~Ʀ7_["6BOyUyuث y;NURVh8r~VcIsFw.E220 (ծ<=`Oj_[w&hbN^72MF;b!(Vg1/i>D ^:MϨpljҩ2^|JL<͜ Κ銞X^M%+?mPO ba^:Z&<>EJ4_ Yf46Q~mz>g1n;lT*ӓQax/j@AVApJ39¸^`(pie.%m'|[*㙐p!i6H,D۰̀s# W~Ҍ "VؚEѨxNvI>x7I̠^6O߉5(:H:=!9&-Q@s;PAs7oe~5EtW{om\ c%F Y=[lЉcP9]zYI7T̹ϭƶŃy1geY<k瓯oy%|/Yglc2Ʒ>>:?#&m<䕧"߉OQo蚩e*γ4.<GTZXݐpʕ|H$?֤͐Jz4IP6f*ELjvtWzaBrC(j}ؾ?%g94]!J}5ѣR_);QIŽe+,HWOְ 3-|{)+P VeІxCIf򰊕RA-Iqtfg*(ݿ? v:ulmЭ?6G:IQxBqF}N]8OOkg!G˨ !M*c?bUhXUCx&>-BS%N٘Qe-C=ftդu#J-ux[Hm BT ]A *IG{DYAK$/͚jŇu|j6&j8O%ūWiG;.֪0}wΕ,\xF jTW]tܱ2̈m󀎶P4$ RM-ri69x8xΖ} 2l|zW8?oNN!BJÄ2S~8\y16ُkJ"7F4+60anGy} *tf2Ԣ?'+x}~UB^u~DX&8cR*a 6tYs ȃYsK=E};񦨩x+$5%lIj(mI1"(Mo&qd6(zwj3:-ތ 45\hGSp=O'x ($uiyS;CUJ*ug+:ڔJLa|e탖؊i"m'T;J"Cn)H}k,Xɜ-˖4?R.g kkŊ!޳cr քoQ=;1R YkʀBi=gԕG]MZyT0gIco-RL4Fiσ'@¡nX^x}ݦgKiӊ{OiE*2Y{a(rw3z2 |=މYv0X;%`hn^Ќ5~r)ij ߻ b BzaҸk&xOS;[];HG4WgZ;rSDhF|XQ)O݂ 7җv~oѭ궕LGJQ՘<TR0^6wg-W 2d\"c{Bs5FX~$KPds>BX];(U 8[$vn㱘@+CY@Gy^5-鞾-+<'8rV!X#*],p|_3fUURj2ZvY:ArTGr ? 9&nW=  9%Ր8dK/NyV+?0:LdПut{`$h_'8B%I PUJEBmpնZx(?ꕎ i-gR7AVzbXжNw4 R3pmwvn߿AܻETϛjLl܀ő5D"SM9Q`ILlhA a"UA\4C\Ͳ7,>jMvWh@jnKwt2LWD \p1D|xӉ'On00݆:׶_\ԣX4oާ@gߏ3o^l;w.-FS=vvL=zwO dZ J:ӥZWPюNm]a̫camM6'Mpf^С/A@Cc ?p*"g+"ޙMnJ)R3%+Y 9E 59JٌͶP =~S5G]hDM>AA{nМJm{g;0:,\nj^ź0<"n=p!=#(c0T0،BO҇usnIv\}~}$4=D( A2]DZŃ9^DPePPm[p DKdj8-Yt(G: 9<;X8 ;0gۯ[tix4(4 nf5ߠ"OAbd*fss{,\^S{<C\[h0CW60Y; ,mjݽQ>T"BTu><`dSz xOkZEcٹd*v[89yBRj Aҁ+?OҲ.N ls5aqx'A"7\HZ-NY3>bG\5R=X`-ן vbtu&e4Qz XQ ';!hF v.ݝdEdH/TR1lbVSVYT/&r|CG' r eH(b ` 1@tHu;Йk+1=Z eOg MUy ,Q#O8\P;A,T{Q@ df|^܀jl'msSHcyɦDUj[7LZxgLW!j./h)vbZ:DR/&jwx]R(m}naJ. BuNj&$C};|(9Y]^k[g&j\>pp0ň!ُ3) X>襰 Uh9,4LJ(<8*Yk~dћb-{L4!;Pg\V~Eg_ TYXg,ܺpW%5"{hͰZZ_IRNS4g8=8/GK`Զ`2";@fHxƔRhId [ڊ|r$MFSn*wI^ȣptќoXOp`ƗbJ8fwH,άxK(wzj ŃMd؏CFe[Hō uZ=}$}-k*SنnLvIxԱKC!{ Jk?7I>3TvO惘LNaX5 j0Qdac 1(;:1~gfY!A ]5@8фwXٚC%kui^Xh:T&CEusR/'Kb`BhE %$1P?R: ix"MtQ)#!퐵+D޽';Y&p:ȏf]a]'șWduv2Oт/=!/ѷo{0W'`RyS뻼ɯi+P"\J IܢչܞÍ$$Cl\$#d 3:e=&lZ.(R(ZceM)`v?7]߱\ZxsFaŬ3JN拯~7]u J(r LxEGOj^V΢l$EljΕ M]ԹV\t3 Nb gxk*2ah&#̼gkr2]M,<;:s5_-MbKW]=g˼g<ŞN6(T7z%—C xMU? H(ZH)Jna>_lvvivyҹ-< /2o lanhS}wվ?o tBu.mù+rl} qJ8k5}Q̹pK*i9L@c% ċw0 zGJwda6$L?XYXg\Ok;eq?( Lڗ.o#XzjMat(_xiޭR9?!!)-~.*1'ѫ{R?rg$2rz2j蔾ոTt?G"+ʆzU Wmѕ֤Kt/i=te(ó$,BU \ߠx5sܹ8w6NYOo fUDct0}i4n @kH-pG;ZjZڮQ^]~Q>ۉo+;n%UAçK4#ю S+oNx[ b R=DvZb>HKBo%CU,3WNzZȤ _%V!9w)춘>8F^jBT9f /5|Vm`9 0v^ ɰBRC&*k9cܛ$ݳ[Xf-uױS)My ́E\|"Cb95Kr*xQ`L5읐+(9^j@I;xGFG>ʓ,3zu:idAwAageλ 0A4 lq fQB_qQ\if݈l# |([;/wqao8Dt0\;_DOʲB~lIr'|LPȯ"eoмi\ˤCaαVw !u3z#1|@MRXug1cRV\Q{$cZJlUyϪָ-^Z۝jkgJ:븄t?oA0>=(j"U(sd8m+?HaI 0Ax}h87@J\3LfOA _ 7R#?[35Hb< 1DAtEs1kp'JaH#7ttO{B}yY IAAdݩt [aiG 5(r HE%$E 38Jn/H8%$co;w(gfAxhUsE9MJn^!l%Oܚ9EwDH,1sa/l}+fD(0!53 g%8_Oj,绱Kl$8<3^oFi)J5Et:[ۆUfdȹK@{]29\RAX6Q)&9}c_J؇F|"V뺆2z19aH~R2hu%CDj)[?1Xx\ )SyhTm甓,Ly1sJM͆L~,YiXV_u]f ޵rq>@4">3x>ʦ?;Lɦsf4s`BACC?\@,>{&mittO4Dxn;~ʫ<( i>\OZlx `>-ĬA3մ^3ԜWJ\.bvo|QYi0|tEAsa<R+KYnc&}P>wxtֆoi-y0bn2d1&[dS \TKMI<<íQs5 m1|ԋ0=0B DFִumD԰=[ȿ c>ޯs3/xCZ=0l==xEB 5zXdTHC93QfJ%@^M Uq c|e3|0} 27*/^Tiwz3d1h~v6)i=:argiOs9c8lk8%,Kp'F}loSE!/pMiN֠ROrGFq8B:<+̂'=o&;I:7!pe1 g"{xJ%k #UZ~yKXF<+<*&0OXw`ؠS[7.`lӜn `82M][!INim/D̒C#/?rI 6x ixgAf`N!MF\u,v۳͠OHޝ7P󘀕NoyQ1 @LB,;]@Z$JZŪN3&< А Nsg9bF~ѕü3z!M(VTŹOeBkFVD|/8LGnj98RmF '9AZ|Ό ;iW]T|/DA>V!&ۃpP[[DEe:XKW9AX:,ofLĊ|Qfp_ǯ,~fJFfr3s\e:#:d( ^^+R XqAdtz[:: ;-r,t+1XJ6 )7޽( U 12Y%#ݻ{b0\ vvg>b:+= H2,V.ym||5 Q2n+s7Ϛe;r]T#(l,zI%WGEF`.IL"%.22̴yILک>h3Hs֌2;bٍDd"{(@&9]v9Lx, oR׺*JxK@Vx {o0]M 1ٳ+Db\ï5"T#*y5KP}2[Jإ~o %͓@ kM8|BជH=@gG5 ~gikejR=+buvvTr'葥J\V%ؕ=fVP ]VW6Oku_3e[d״5Pk  'ӳK8*OF,Ej&r<{+44Ma=gF/v9͹L/p ߘC&{2r&ۻLY >Uv6q}f+{I5Dz^*#>?cgsʑ-o`,@y?'dƈn?1 Sݟ==辮r`߯?hj>'LFDEL!&cx_ouV܉!͍-1cS-#z_0oH{5јgWߨl_fUGr#iOx'aVk"s{8s!6 6L?.[QD1\ g֬ĥ=(U"C.(n| NOFlw(PZ {F>+x<ՍV[ޥN[XD%9ϿtگE"aS9FtiT^eq[ch$qG*j7a٫0'8߼AHJEZ H*DӪƒ=Ϝ-zhvDLA}M"fg);JuD^&Q4oNGSu~B #ط2:^1f0mX3 ukopڙ;˖D] C䞠%<%Ԫ1FKBk ^@U]3U^yT-A!Sk y Lݨ yO;-Ȩ{="Q]'S!kB;,[7BVf;p3$HXcsZ.]9T\OsVDz\k?Q{y _zy.ԫH }Gt$={Gﶯ&Ӓ\Spt^IGwcsAH$Slژ/?Y? uI28H"NgtiOkwY-*Xp'$ ԬpW&hwo'2zlZg -$m[('Ҙ`CTYx@'RR2#+M1lЈuLhxĞ^染d u^ d7 NfbHdžpfo a%wQRs#gm@fH=@He3*&OHթ:ښG~newNtiQ, 9J:hWWP3q|krZ?6Ԉ7] iV[Ǫ  HZd9i@6?$93Г;x]۹,1}8lL'?DT~;g`8ܽ*^g=5( 8VYy|}< uhf^ޥ |Ƿ܅Tc1yl*-:F[(Qsq6cLR?GQrietn 5 1k/`wkTV^}ocK 9wBNx07g#ʴ4a&Q%m"]GL B&c]2w>Xk$O?j'AZpUyz]~ڷR䋲F>zL eM a<(dȀWE_[6cz2Y#aZs.]\ZwmV`g^ttdO᲋(ILp**ʈ  h{0!0x"xXOt&4965[[(fɽ1 l~Ne6rc gU!=L/'ME}THLpѝw1V_6dwZ>y q&\KE_!te2N(v҅ދ{ig?4Oj Kp$mH!dXV*>!"Xy4\/ ?p{Ӄ/_T-,E \=gVO2ݯM2/ԏ6IM)|dNj!mbuLG8]Y?i Ȅt4 (xx5RnI4 I(y^>,d?pi^hH(=ǔzÝXlZ=$0_M%ZEABFK/O ?n8a-/MPLr576@CyI*Q4<'R5x|\[W#wNؕ{YDz!Ϧ+2upBCay]hA%e5_JpkxuQ kV#WͿ= 'wjyA+A-NGp7vЂP#xq+ ykb)awU@X}4 8P&8)\G W јiBQMَ(D!x^;jtX.D8V{3/ft)l}@m_dߋ Tw"(VYBnLM<)r,j3׌ I[ʺCpRWMN>B5,su>sՅYڋ3lq|. @15(D͉g as1Wԑ[ .n|ŦJ?_\cX7O NOJn)n w&|;PbTOZ H"1#fB<h͹.U/}@w|n[t+x>Brg .h|ThHx5(` zb'Nv˺Z#7:Ai.n إ\[tAf"ןBK>&b-|yN=yB+dw䃂5RQ쀽/ܳ|TТ` dpwPҟM=gw+j.#9-6!I`㘶]s5)~)-x]04 mK6f^([&cǂo۠&q: ]KHǝ2&b$bdjz浀\M.9vZMKuMCf4o=+V:K]LK {ܙ#ĭ #A?F,xsծIk=l\ඤyhE 󦴴Xmg]rџ1&؝UDVaڠĈR&劎_Cŝ`lu]3/{@mɠ0\`J^bC+#@o?,$Qס{E1ehJk{r۲fFlzWfɉ;LTDVx-si7u_|{vΡH'+J&qi l*AmTA1Ch'G~ V p?4.T`*kHΡ{(2 D8mq>jYỪqB4tXHnr˺ QVXΏ 5MdIv{UI0aXmϬq yz{&<O~@@:=1%PZ7nkGS؟]#({eR>n4}7(3TMТؒ`:논 . 5!~KYm74Ipy,W%*Q, CսgP=IuhucEdK?NV <>+OAÌW$"6t|\|F?)Zw7Tqҳ[g P/0(_C EJ4*彏į7&nn&~ vɻv ]j 55KOv7TaV$#}]zvx4i3 h>lDz4R UJj*:2´(uc:"Y$}2/x[+p]E<3g#Wn~X_@9t#d~[D *H 2hl" 똹T T5;v_{ JE4U4z+ i>䨘Q of>q[/jT3e* 0UOtW4X#]"{ۥ gwϢZ~ْ:&v(TYX x-~{ o~%NmVE'e^R'"km/WO.ca<k0 "03῱d ߾VI"bw[_`@e{{D3YBqݮO28V "S=J {׵"SjUyZ3'dF\-q$p>Hg2a-p.LT=T]UMHx$qwlL/B1В0f[ W7)Xt]HOHbe\ܲ.9E!*GB:$.Ops*&qS-#ܠ^ јtj;p5q7IHfܬ/ ^ՖZ;bȭܦ\b|Gcْd3rpMPȚwEIeЧƫ-b +{?"lȜw%XmjcW*'̦# ZH>vr!ϕ3GTZmͳt>0`l1hpFţ 0~J墺Hc'W\ d Jl3Xo}FrAmÚa-N)3QE"t;j8 & Ɩv@L%_JKHO0e{f > u P>!ˑ$0of/񿂧^WHj*L|wS? X<+aa%66%IGzmD;{$DN|2ȯ84S]'ҴM@^b96*8"$UxxpŒPɹ~ l)**tp8^O,A̘SdEHrc:gY0`#vTFL!Mˈ'.0R:$9S^:_oۤw}(_1<2u"UNLvI0EK'j p]~1R\~.D27znƵV3-s($Uu.;.&-뢢xkl'ߥ$JqAѻQCdH|G%u-0ҪڣMmwc[LXX;#Y^rux`LֲM>AsO+RO'AcsFubʌo1MM|~!ϧ眢cLk2&/ܯ==y=p/uqقʵY3&R%NMm2ގe}y[x.i吘.tĉS.zDʡ\So.Z ؖBw {Ku,Bӎo8OD9k)Sޘgxud֗?祝>_~J:p @bF2ᗄ%ݯ>ǝhX}|t>˺H{hn^LDCr$QPO^54W3);:ָǰf{KF[s {lZD r*}Is\T-\rw{x;-rX7}2hm!RN!.|b@i^Dl! ^*\˞$i*uiQ!-3sW dI+m"a?܌?ixi$jxDFye3uqhz-=!*D* :礗n"$8o}9eΠTip})ed6f]mw jaK܍xx2C~ChqH)PG [$<ŀ"7}͆yVߪqlZ8h`vXCDuwb&m$Gq8ԣ@sX4sl7`T \ .̒kۙayf8 _T)t[C\ n-*i$4R]иM8X` {Ύ7jC7ӑĜ5.zvAs1OtZ3UoQC-4" f`# :hbt2lh13Ճ!gWg O8ݖyZ/p^J'* 5ҴyB3Y X)^ݮ- 媴)J77km<?Ifvz,JGcѰY]43fV,zGVX ?o+:]"<Uổ(AJ)A5)mY_{;"M'~k }h"L`4l4L=X@D?B@pq*A]/nCN wR3=zk e#b`om~1v՗&k3[DCnP{4M1 k("EwTU*r+)S*>ӳh>~x߯z${[ӉOK֊>~$T`'H@^8ãFp%v9 D2 O ]LZAupp W_ ֕WZ[*8GceVlX@d?%W늁/ZZq =>߸*ӮϋE7hF?vA)C0iQvi}nƶ @":9kO JeG|8 D6gT@ݓPoq-GjArY`>BN%`UDE#V%(nzs2ABPRqM6&KYA7I>҈ı;g"F3KJ|]?{TfHKspSXoSaWep2u!qn B7) 9aOZaSZg>$c\!Rٷ"FZJB"xd5F4k2yqT#vW.zm%An'J܅3wzWxr-|u9Gޥ>&l謷2ye>q"f 6?iUXP0-;w*x"c@^G8nXG೜yST9sR@ v y&F#meCa#@`V -wF*$ljfI0g hg]vapr-ٹ_d''90E6EdM|4wדK@>{A}G-* ZZLh0o0 4Z#OȚ $TK̙YI -=5ͧ>!¨l3ވq*dvtw᪑Ł`Y.K ΍x;ճ/譬<Η+caT^VQL7v+%^jVn5̰2A^>Qfpgp,W25d|XBP ArP͜$&"ג4ˡ5Y u7䔠祖$o%1?Y qS~( >-k:Zr14'tWG)Z)aB&:uX]kmFU݀clt3-a;|#',Vڈ`}IV5_8uB)V}vK&v2鋲| Ow|iu4L7U#1i(&;YMMAJPaOmk;Ѝqڋ);V"W$5oJI/{ ɴI1jFT%9|ĸ^@EHi=2HITHRR೓WI/W']`3<]%9c%H&-(=1lP{Hx1DCDᦫs28Ø > = bXo:j< fI0FJT=5nIiNޢZCҋ)|Tʸo=P^DYc&_^~2懕`"Ճ^>Tu`r*RFv#?BRC@; yz[Gp9䈕q`FJ$rtgRYUF/]3gf_TATg2s xܽ8]b7_/ }L_|( ;* ] /*Լ>Dϼh7 B؜#h:vgqD(ϑ+ 2)"dنD|&AoDr{0d3uE"=4GEt$O@/*hg&>SqXЎtm]<=%;0홥V>fTe"q\6$z[1C N@SѲnOnK7y6!,V-7>'Y2S2[xۮL# *Am}:-;m&EH8uM3Ɂ{MmG;|ѥ@P,z$D:k&R%u)+(yb"AvK3ݻ$KsF͌> cZ>/hykl΍%Qqh燞]z(˄'d$rgܛsELNexǨ)H[mrk{f7H?Hҵ- uU Kᾔ]%ސPf|a5p6?$eWb:o4xf;HSXU9RǙV"(eԏ/UˎWT4m&kNOYKfX2̇u CaٯYbej,,_тwB),؂У1!EVyKfDM\7[^ I~Pft܁6I*H @Z=f&jCgWǃblsuBP|\%k.?Efڻw$[OE؅k:>񢇮5FpLWO"ǰ)Eu)ۋOaoIzg4gPC*[$blQ'F|^ۂ@ ,+5##qpC#1e7vK98ۜt,u|"#<*,͹_0BHuRA}=rN,/_nR+΍!ޝ6ys\Iq⯤K=nP278DF\gy yL8d Ť r/Oq8o3Eft@i@]6gjo94?"%&YգnцAe¸M[cVcԱ&CqS lBMK"E tCqI? -7+敾Lk9)BS ~@M}2hu8!M&{ 6mS`o)g"^%7j<*? }`~u*|мֿR=iM.ٗsn343he$\ruɣ]EQ62SѓpROp"CWTe0h 7y>"HZ+վƸU9Ժ)C*;B{Z/wV cn4gBۆ2H+;:DBѢdW*>JYRǏOXfK]!/L6- z4DP݊] /*{S-0.I.==r^fUЂK>61.TISG!e:5 Yj#yOu9o+;;'G]I"29@ W]a<]\\Ǘ_у5rdo0!TuE ybQ 0DqW@4~?/ ݯ]g/6t?)j8qbٌH Pݨ ̲UkL+ +NLal;m^݅!oTlM@aEBw,нo厺سF/jb=#?WI5B1vi 90@uf0".I&k̑Lp(cBjF歈|2/ &L) Y&yi|lq0 0K4A"f ]]1J 4;|(_\+=PR恾P%ĝճy j}A9F|5aC9N]+ڭQCNCdVd"/sy=[eՎ/MyTyH /nU,G>mX0LV׹qV㈳l5avH.p>l7λI!2q^߼{+6Gx/h%VȎ^q.TDI<G\q} 7q BRΕWw t*ݨcO5N Z+ O#/nal//xrW. 4,-;s];Z*<g U¼nG\ߧA($,FAH9wK8"iQȔXEB m` x-00`wVş&!-w{ U?lt$2=EKcO!V6l0UFxT ff0{R:!u.O*F-gX,}M-iZܐ0(۠6׼^f)$h\g1iLW}D_%UVU2~(l.|{;uSB /Vy$R'et6SiҎsUgUE5er8jHMIb.2O^*IX^q:;0tnAxKjnj Oxbvb2.ٜ79ReV9J)ꁹX`;lb21(ӱi*{6T15a~jjƝ /yZRI)9(UŘnAR1`KPhN=rA8r8A_30#mHχcr!V-Q0; nXN0/--JCV] r yL'aGrW.tmW\uL:ɰ1_G+C !\2 LbC+Bl~}t_Ll=+r!|7CAk5;QmTUx{OaڐE As&󄐾 j Aa-8bbm/wa Ej BCW$RE a[PCsC۹Nւ+%>pޅPę5hIq:3/A zɁr?rh65M8o ͓%%X~S [~-2 1̏///i|(\wvt*J-2OTZ')J.BvntX 0WؖIdUB$Iy9uޭ֪ z'=]B"ߗw~a"YhD^Ƙ2XN +-q}0 Civ=` ԩoRA͵9у}SU24-z @'.+_wJEd>K{coud 9#}A?Ftzn~jgUټkuw3G87R<9(씨_eK7\ƍ=8LSI]tC_lP.Բ6%X=9Y$O $c̅ﰴle~Q64n .Z 3lfOd 7EDӤt>Gp@wd2f   Zϑ=ΑǤjP^"NŭXT(WIYX3HvFβ8s؂g$ ) [|5@+~=U<{OsqC>4˧QSc删DŘRDzD\Hrmz-Ax6|; *_di!&bOPͯͫ O0%L$Oly7/B@pMVx[u,:͕R .>8&;9L̂Vĸ:|R 'Q>VO>~H›=(4se~=}\>mYn]V:g~HL05דfdǘT I2sءwܲhW޷3U6M\նeo."#VDMt,n3N_b7Q.z{ Wn!Q%;}hg\J<vǩk^xyv>a)PA3Mw ([`kHWײWFajpW^ǜbgT.O}Q WۦRzkͽKKj@BL0c;L~Q ]Vs٦hɎR랐hgբt[$HC̷-a&1bPOT(ШG%UmQYs?ֵ30^>#pm Sv J0h*'PKeGGFUs:ę;yU 8RĈ%V .aN~$<5jUax _Ոu {/}/˲X«^P \xk-<AEYvGmfNg #X jW5^G*<3 #1q\WeGnKԼ5j3px}c˘Rqۅ.h XD"ѰߺM<Ey4bF\T'S}:UrnzfV"ft`ph0auls$|  (@p^ p^Dse% !!/G 3%4}o#nM.Ӎ,\xL%^]-뱮Rt q֐)⾮E?v"ң76"Tm/KkaA%迼k%n)i[)nV늑L 87\M]8nZT}eZT|˶K49#u@>p~Ƿ_Uv# qE$ɗV58P$hUiJ摍NGU"4YUBTRGWA% ۺ $ĹdS~>_f V$O$/+k-89F 4!|u`KNpG蕐 Nk..Ix™mfڼ$zFN6i($o3nZ}aN^uV䗦ٹJ8vÜtB[*Z1TZGIU)d9l Y%="^5F\KDCl Z>w2BkIɘ,-<v%wk؈tC2XIBGs`; t 's3)kݣ#DV!Of 5$y7mJa&TմW$:uKuQjS^o#n\[qWSSN`V;+189l{:n&@=#חu}re}6|!\ay79~ u1b%pEˉv R!pfJns3sK8} O$cbgF,ևd0+8%sc ]'#1Z]fCcHbԷ3c_v"<[p̓2l?nzRJJ0#k],XzҔ5qKaѱ i@.v? ٤ @T]$7zSx:KXd}zv\(kv̪ 8`. [;\A$ ؛҆fZ(fҵ1*1/ $mnU^:EnAS\$In']2j 2Rc~Ϩ@ We(CР,'MT ?.{RZ@_QPX,jv^wBU NG>Bm!?,ņåYM5W|z䱢bB B%sM_g Cnb Evt֣ii=0cEmNhf"\vyRI@#Z[2$Q h`KC]#cCn,VF{(hݬ"KsrdSdWf@2z%>Q^zBa46 Hju5!KkkIP9*,CUu@IduIxeD,K#<K4kՌ.mtslC̑ ] '0@u"D'A ec0iϬM}ZI*.2be2? ȩG~i HTEAiû2%l\yM•0SOGm$?0VOI{}h|Zn\p0c2b{Q)h)D ?s=ezFVN)u-{}*WSW" G|.N5\O ^(l+l0EMSe @ ,lWa-s~.'4|:-N[@l)#\M16Vqņ֔?#?Н gm5U  0 8ߏ'>HlH$PT2 m{芽f6\{ Qa7}?ƹ`7W`ly{f!pIv/UP>3QpQvxBG){3Ux7/F2[_WAN9vi)(K]'m'Ĺ醘hZ~br$YI^"8U-Q|LSIf 0ˠ,~m?w@9(fmotLN' V:fZSu!Q8Ϭ/4lg+PM/3al粭bCӀe/AӰ!;t >OCW١+xlDw)YB9D2@vHS;N/<.$9h͑~M3cS\֘DSeˤ|5Qci(ev4拴cL'r: KSˮܘozŶo`&/q WfF:B$K1"ɀUqTiYQ#jC`Zg}v;z7+.Ʋ E9"?ↇa@ɍcNK/6PUY/i~6ЬA>Wq}Hny<sFAxb$Zul>K9-Fècq@"^eh/$HXmP7-B{@CZyigG~1@=oF,~aoAoVo&8ZZiS-TS;&*3.~^;=`_P 5V>a36{T׎R훢%l$ ͳQ5U6N J(tiK'\<@!MI$&/,"UxEl{b’扉8rt!K= `hK{>y'0C̵vRh}&D1A(X 1ZCZiE a{=XI!K{216]7KPo7x8^@r_M DfLE$ϧs]G#aM+{yh k9'9|t)\r(z&*_j{ftF/Ew{4ʆυGO&zB<'M-&:f9f@^eRHUsB2k!c4rM/Nh $͎Z^48Ea_Hfc#pHb%6٤4}|.IsOKgRy+/P{x! $/*Ңx79 >~Ե,Pumn0I)ޖxQ&{nkd+Z+آi2BaK&;ȗ\ ZR6CأYn%ْ^.DŽVFN2mfG,Zg .b,edy|< ͛ y4]V_|Υ>$Ɛ>XIHpk!4 }5?gPT6!bA|q_QOM΅-kثjriοY gI &[=ctˎ-% R[| 6y$x^IK@y~(M5ͶW4U@GA+\iq g^!LU3 ='`'_8,ӤdxOp&-jZQH-ُH ?*JS4$XxXCLZ11#vgNi 86@$Wf2ۘ@I0K&YqD< UMUV 5<3ߪEqjm*ĥtfRRe22'}6Ї~bޔ*9cMHm8ʾAQXb&Y_ : $5G^G3#׋/Y˓ՅUBR%^ga=MqsYГAIƔ芑Nc8~T{zU5ABJVAlQ VvGmC=HWaHAo̸Ll0(H?$ػ #$8G6 O(D_<,SN}˚nnIž|THZJXOkzb4Uo9,]Ň7mlAs5"y*OsYc˯nAEsˇ_K±]a08o*% xF)GʩՠaAWyM<Я{%tخH'.M^6^7KI Ua\ߊ?N=h 8=q}>=Tٰ , {4/MAQ(;YS ٓ,~NՊ{ ~MF[Xa%g1X7[ }vLMsJcN5#7Χktb e&S̵FWRu !WSG#\8 $C\E=jv# mx64KxdZ2%gC/B\eumR\5 xպ g+hbt⧛Թs;{O+ HaypRq88xcwj=L5HLfyS{>pwy\-HtH*#v"̤-a.IlpHW  .!o9[Fj':Cv_=S1[#PT,w>y~fpTXB(-֛?Ed &.|lZf_O)=G`G˃?FݩF1* '(ɔAJUџXVLӀm[աrak\zdUަ|XY_);>p> iŸc4}YF9je|j8zgIua'%qt}r1&_7(@%O-#1\z~%hXs9t8`a_:|#|\9f=mEvq**SeC%Ru3(`MsbEΰhg:?,k2 ܃9q/GYR!#TIiԶ,9ty&sFTֶtJl ڀÆ2fo( Za'ć9dtO.;@w] >[9 haAyea@x`z/g۪TK`ִq|,~+)FޭfmŠFޢkn՘G|f{6:& q _=YaT*mΓF|kXIJPcQ 3_ >aDzKK9*=1]L˜q*l~8ìf/FmO.'vבAwp$]R4(>[!ۿ)q)VZ qX m2EIID6Ǜ!qu jf'˽ ^Ph]E5NmL]ot Je2}" lѳau'._ NIN{Lsʙp@?Ô(~41 H[v xC$B4m_Oi>rt|Pڳ-wyr hFWhn* ?MM0ѧm[4ը'(lcXJ&In߿: Rg[BynTE]/ (Ťa[/@,9if_5c%v{"=N)4_ ͪ'&i{>y/C++3eKc0 ߘx`Ui$w."Q͓k,.DX_6 B^Dߕ~ tq ')5! (ՙ,eBKJXfgTy9,T-32{Y6}ڣHn+xӮ[D%KQ7lx)N&FG\MF/B%wP)cwԒjyF?VF]{y;*qV6ܔM==ų7]QטnZ8S!+)ЎNJ$:4Jں<i—&@n+8c S-cO0Yt# 쬡)s :@Fr̦6اIJ(~]l%d& B # sQZF NHEQΔ]4fЕwR[.X*'=Ս,ʍGf\<ĂiV֘ja=ɺwfiZ^ki`( ^xDPmKްv4e ^g&J'jv2`sJE;~(qΟnjwK΂%hwX4>bi]a jyP!&C@9[vX…@+" wmp TԼQ+F ̚7$FL!TUٌ MSSӏPJ Y+鿇xh{l/3K/6˥ 4~dαZ1Q1^R7%h- QBdwYͷP:H@Bywӏ)Hx}V7b0z9U74ӗL]aHTzNZK@/:hTř e$oሹ xxC Apvט5Uvr&|ӥ<Zpy$ؤ1IwIWp# Tr9 -/ ,i)mӑ j$\2vŅpEk殮G}y3aVR="UX=va>rlW{ _%-fuRb]Lf'].dcf9,h)[D7Tړ-`R/&/q]޵$MaUc%j%K+Br]_OnbeDWTJLv )Ǔ[ìK,<bvw4ֶJC2AOS8!c{kS$Pѭkު-5v4miMN`SjѻO8s EN._ @* Sl0P}h ?5 <ͧ) ZlO\I7n4WD2 1MfJ]1is*F^:(D=ٗ_Y{\O+,T^'r -U^ R;4o23̭0|ht³BLi [N3&H6ώ*eqQjT<H A̐bRmCpK 2B.{Pu~C/ǠW"OT";h )85zJVmL5VssLkґ߲r ș:aI!|Jy~ +\hOTB"w"J.ӌj3_$`i oCNVtxQ7x;XH "h|/x׳| Yk& ɛk>Mm}UUImKHE!\"L_K_ۼUGm5Eȑof3bʈBH.͌HBӧQu/VbF.̤3:󤃑ԕAꃓ\XŃjОr?{\HڣQË) z!XSg*F'f PkiŐD@khܓ*us2l}?J5MYQڔ~zCdlv;brj]@>x*-O3 {^5 -< `LaQ>DMdQ3"i7I ۫+Kvd&4ٱtX_] ,t3 i;b\ iqxۛ6Yk"*((xyF[^M' 4׍ut~T?hg7b;rkb&@//J91h[Y$eѓo6-qL_rY;@=86rYLu^+/D.[Z40Mk յNP=YKMZV ,Sf)5|ּ({+z2;/Q b\/eL"ًj~YM17{tT"M0DC S#uw\ؼkNK kFٮL كvcbkE;faWW: p(!]fN^(ybNeRV`gX &f [1g4Kd|SF$8ueWao;e9G Uj%BU⏘2] I)D@*@ :H t%%_iDzjE 'K1]]?G#qp[r=A qⰲJnͯw9IWM&9:U1˼Gb95տK ޼\Pw %B krW1BC^꓍Dt܌vK l"Ymח>Bá 4$4C*QAJ%B 9Zxzq]Y[>'s(KMtDr ~爁"^[A0=>% ߧ51)kFb>JH`c }cvTU͑J(nbyP=bi07 y 9etr44'4 E>=6h^`=vVwyѴo`,Xrk-:X+Ϊ=Kqp ]-_*)d$ѫ$1 ~@#B GCh35~@$\T_oFU^uUyNbBc8Vyd޸ D3֊MLۅ9fO.LX?_SAg%%/DZ$@TK8o2ǥί +h=ZZ*_{z0k`ݾcn:v޹=<.6bÅE,ޔrR-1 >J89?'pn2^p> -G7rszOO8{ઽzƌp|멷1 90@Cy#·MMA#OG/]#ۙN C-7 ߟN}S9rG87;j2X4H\-2N@+a vNm `"[v|s,ZRq"(T|^) 0Og=U>c<^w]7f} /~[yp7 Hkz[NM +P8vclxIh}Zߙ6MWsWzh87ERYha`~äA\ j8&Ao3֐?m' W)hw )D^Yxe$guj ?2^)!G=|M3׌{=i~_0 K:=kKBFWω.le&.E"{1㇀׫aDfMY4))zS:ۍ Si`l T cx,*vՒA0PX.=Nbr7Iz~ylxMf2͎|oK=7~׹ˎ~Ti"^oȻ<~f27髭uDM{#h#=.7= uQX&rO/)LGLe 4 ic:Z+[r'6xhR:qb@t$`i{5}Zz"1HsENE[W.P6Pdj3Ŵ0gu*Ȍn\HН5jTw#~bzlJᝧWMiGHRZrXB !龔\9q6QKn!bςh/̬ 7\ԯwr&Hg91PhS½ 顨7 ox@Ws$ .WXq6:H(J/s',i1ьb͈S}yIM/5>]6˔_"?j~ڴs[8X]'L< uPFSoN9ϒyOAh?V?6 qwpRf~Δln@t-|%[HC1MslwAͰt)(T-{͠” +c@<ЯDLx-LZܢ ]O\ˤ/〦w唷TmNf-F"6_dlLSt;n>635^7GSai֭;U3Ag/$\Lu|'T1tEXY/\[qüPqr|ҩFBkH$9AGM=wؒNBZTAeOh :Js0c86*)Cm拁`߁}z{d!~uBؘ$b@!%Nߒ϶ho ]K~GNE ߜp' Zx8*_n?Jc"+cZ4Ǧ(_ަnqpZ s?aʿm* P냭m.:UX*eg{;TڭPùX0sdO$Z mKCvڱ\*D)ѢUG>#V &/N{5Uq ~>sM2~v(`ya0vƍSv!V^q/>A(Π(eZwi]fzL۹x@Gؑ_̶;Np`8:\x1Oms&"8 {m2)_@ʍoG՛ξt*=p7 Hm!d\"t:l !E*z_Z;I2l#ǩȮ{{~R/bBD(z? "*<8n9w"5UI7ޏ3:=^embؙ{$SBE / 1F) OqdStq0J$}X8S<JDjŊV.1.v82Ts-QbZ0`jBl[& 5[ZZJi$.fߨhwOp3b kbR/M*HU6oT@Fd8D{eFEh7X [w=\+FMGWbyOaqe؊^4柸cϩ_ͥz@Eԕ!.łs rdQT/iq 56I7,EBoݼ TIQ|]{heIf+/R`|.xzJd0"Є`n: cwXD/QB?=)d;2DG+'A2f\E%(l+vp =5-OQܝ y>SW.J3%%͞[SpQSr+RGɔ7Rw6U*LRF 6v9J:M3SO)pK9Ɯܶx7#LvFUwVNYۂ&syaڒP<^eVP|@/]UwnbqYc@~ f=Օ5T &-wFDb]>lAR^f;LhrB⭬L 8sQ0"6T"zSGiV >Rk |%;+)vrt4Ѩ21n8Ѹ}'/b68ȊLe᠅۬q2{wɛL˅ːly˰+ A*]ly叽k{tLYgz#L 6_ E,|QM NnD+(^L`kL[#96 u⯹zg8y IݚꆉPn:"kJ? "`@1fTf. S5(@i? G#)xJ ٖD9_+aI'HQnâN acHU,^ܖQUYLJ;'dn,@mq+98)fF]"ncMQ+> cChdmr9ξ0Am3Q]B1<7 -S y38pa|R@dRo!CiE7RX a0C(pH1gQjw=LQl@z#hy8;\\]ZUGCSھaK~Oue]w)=o6TAE ڕI_: Y󤪢LPNAͤ+`j&# oN,ԝ R "a9/ۣ߯?Li@n$]i\RԬxEV}*e؇ޛ&ŸFG830 8THmGѰb z(!9%-=h%B~w[1'Sι/Xo+-,ldN6H h[kS{.zRm2a%&_2zHW::0lI3Pe/L} 0!$S" @6 Vdby,u ro日<˺ߣ4dŭj ߂ VQئ \o/8*t  6!֠p8u[D53HY¾O }"!?Fd38Yw).P&dڬ`V6S39L*BElSpӹ(?;%`SsE)u4xƥ?$h#s&xԹ۶|\zX/֜}y`PIvEsa5{s3'uoC%S\-' íA rq@ޭ7 4M fZRb[$jU~^0-` IԽH .jY O"b/ԦCݓutLᗑ $%VhlڛtY lI:{=O'\0 {jt!F%*{J 84aXq$bOPfBGuJ"ˤu5nΰph"hA}{ &9G/"2 nja[H88`p峗Phb trX9%tJx Ah1熅 ^Si8G SSYS d 3I}8]{{v#N>G":w6S}"2 =96ЪNJ kFC]$lg0z:rb}jؤMS-(R`vODNUk*|ƴ FSws~҈.%@$9רBչx)L_1SVuwuVLэ A  ڼP(Í)"rp+%>nR_9eC.tJD {uTqюiHVPivL;Üfa~{| ~ފI)D`_ 4!Qke,g+|-Fө!P .ZC xT#sc@ p z4 8U=:I#YWDFi#Hhΰ˲oWn$XziQ 34iy}B LQOMb-S-aHoὊ`-Q<$S/_~r$uu/^L X-<3> u iinAZy-;^:uܤ* M,9e? ( gS!j z5/^e% A-ّ<*ޖKMmWKs&4X|WuHd rMl~w[NZ+- V>v‭W+>WIB7=uU!ۜ@uErǐBaEb](zΙFasY38lH6жrH۫*y %tz<[Zqzɰ?c-H dCJApGpb@zh]Fh>`Y_LqpQ5Yao:#yۻP,0(-wZ?K&><_JАU3T{OWE0yxftux'Pӳvb4i+X 7t`$\\Z(>lLO$ =BI ^CVh3}59e`.*R,#(S= )pV(u5J ]anIl|p]!@^}S;LA~'# 4U=P^ X{\.,m>B”Е:?Qok93x4D^ nywmW=+b H$Bt W@hÎJʚ6ivFbav$w8i!Ͼ2;طPmηq-roA B.v'O-{-T17{]H^a*"kpG$a9!Jg\j 5^͐~_$*Ùq -A+ R@h0,RE,5хYjWp; ̳*4B";7IPy0I(CSjWS89WhRr7` h~)Rc8a1I61l@bdp)7 f 0x>nE?醕{Kmonjƚ_+6K\LF27zʆjMzD 20OEMjاC]ꗮe!{IvL;?k2%os-wr|2D\(`;l bY> Cn]8I9z i¾j1MF @Yf_)b~ z<|S.Y0X)M7́ړ7W,lr2>zRmE}~+M2P8V-Ž=ܦ?, sHC'Lhrv1 Q+sD R.c 2THE'ɅswtO7:ƉV+zٓ^5]SoFEB f-3Mo|_Cnf+&o'׬O8{ws2aZ.ҸcUB&],hؤ$pvz|{C>\H5ߞGs 5C (q—L=v ?IYZap: YSXG|GZzxEaE< jVvA03YJzhA5#53I}qYP b>3*BB< 3#93,u FҵYm0༰+l+QK=%36߯Efes"H"PzՠF̓Y;Иeש۱C)gˉ }{L6"×N3ɚʔcT0͗+i)<:Xh(E:R[ >fط9E93TʭWqqes3¤h'7+!R/.wb!B8lՄ.\q{prAǵ}!`r_,i"9pcq5Vv[7 c*.*6 Za %Trk4NReȦ&p+Z!`%-"A=TJF*ǒUOg[i#e"!ߋVA2_jc%81oDz Ԇ,]j=6r(\/IX >o#t|@x9ܻP;`1nW 4D^m꣊ciԟk XspzzSC%DEwW]ZDW7ᚶCM^82qmpۏ%[Ifm +h& .ƈ2]98U,#wbDJ91Cg/z=#KwwJET_݁h8Z 2:Eqq.RzI?,i (@B Jd?f ϥ%ZvZ!Jw3gK|2/7 TIa쾤& v-Q ԟ MW'$dkwlub #̸wM$ьJ!M;UNi,CLj5;xle[P'?epJDzn_bO)`s]4M>b ~4yu{uk2ڕ tadfa 6]+d2qCAtM,F^&dd&YEOa`@M&%XXqݗPQ`nd$ )ꏴ*z=9&5)%7A&w/"Npb%1F'^>dFf>=3d|FtxiI fxKz4 B(@eQH]᳹ukj,TO`f~q1[;9ނD"If}|)jY43&9-|&x6ݙ-rô`ɴ]&H"ZrX&bd m;pJy#֡ +W1S_mC&z+ qF<Z?rx #I .n*߃իאƧR:希|dI<+{}WPW}eQ*;' bKc7 IKyeul^"%HzUdOU~AM}VTj$0:1揹UК+kds'wGyg>O4tCY?7WZqzl__ѵOMWBܿN,63k]C~?gX[ uh) JiGQe58*(# ͝yg")Dqgϛ0&iVdF2AUUeՈ;U 74 XB:o %UVYB:R*Lm Qi^ )@2r_&C+!ƉzF\и`z4AJm~Μ}`AN3S%[Y- mK *$~a={}i,[ʇ5j G*)ؔ؋ꡳ {XK Pdj+NsZJjY_-om !}*Ia&_ƒ&>rSvn%H}ip 1Ě`lϖ[ ҘK'Pbu c D+*(e6H<+vFIUfen5>0Y+JS櫓jIB-mU/ߔ'KxUiuK7< C'x( S Mu z=*Q86Jo 8 :E?!9v4mSr^xDSy&69'Smiv %w~0e ww;rOaߎԅ5r#kC>MD)7Yjw|KztN)U3*˹BoK$b*Yl2KJxm[ Um:27u}xDj, a#m@'8RHpS5+REdmd̹_FB[A8},Hdī$2/@-[Ѯ&؛WK0yk `x=K^LǠw,,4= 4(9UOѤ.Mw~'ijhjw#(?RΞe|9V|'(ɓ#//j颱K ~q IjRI*TJ_KKj\vi4:fC_I>?* {Khg峭!W<2.y_*:Ul@[_.%(:l:R3:lW7o<m)>!F$}6y&5h{^,;,=꾍8dvwgNbBmY 2#G?c?qHm̮lϣ ti~ .iV/V/cQ" )$=!n/2,b+qM`C-<桜 P"\<I gNߩvMciQnO;.@Sv_^NxDTkP1bQbؾ]P}{ > U@<ۘu*4pOX|Qq$n(,z҄m%̩鰚2-2]NvN#5ip9%q?&].pR+K𞁴8t8o_.4Xp[:ORrVV.و\^- q &\١}QM;#)Q A Pj#;YԐ; ii!s PN+.w -$\ 4x'Vԡ,&²~3paO×,=P']x޲gͩX6.4REĪ1>ߢ/`$zM-lFJ=Ғ2LXp68xN՗QR?3aTMjEh 0ϖ=FQl-ȭIrlI4@:~pZe\L&rA{0x p<C\DeMJҧoZ'"Ϧ|>sZnNecB5b 9PuZ4oӦY\9XCP̳QLh M-[O#tƝڲMn|9pZa048J ^fx{Kדcΰ9N X,fA?OUf{Lϯ?1ފ5ڛ`⺡wn0rt CHU o;j|(~9zm 4.%ߝL @5Lm% W vD1^?Z%$[kKwٜ[323uJ{1CyŽ#R\]b8Jݶ{^Lƕ?x;=U~6O |NW]^&O߱m BaidTa3-~9G `V;{K#g.$pNԲԥ <T2,@;w/"jAoȿY;-'^Td Z:׬ٝrcRI=RŵLwdWFuI+d%ԱfS6 ږr@0uc6wԫ,ɵd,B椾 gr.>;-6DY&/ẍǓTK>nbjjEx:z53B3n6y$A{!{VDϭ-MQISZ=:Ƅ_uc'3'厍~?Q#X.Mޯ<cE Oʩn23=Ĩ5~<ؖ=;Ư*5 bԭSxjqcmU2m܉ouQRVKUfO jP| R'8fO7Drﳊ $:Y%> "մehWIc! - utpC퉣A*o;@‘ 栿k?~W`8,ޓ9AHT`ȥecYCײaj]Ąd'?FN 5O;⡙SU@i8旯qqÍcSkK aG p)Å­W,8Lkh:&E?_ȸ#;fdBPo6lE[H2)l7R0#ʊN=-IJ`.<-mC~i2[S~OqybNl9Qݕ|JhdwR"vAQ,d6~YI@ [aThTsQ~f}{SץƠb I 1Avfm ^~MMNF힪iƫ8Il:a9y2b# PW? 9arF{ay+.xA h22MYX3sfyFBJءн?[o{G *,xD5i6ow:ZxV/ \l8P wk?Vm*6UVJ >j?[7(!҂<CW]I߾ Z]!"T Yp.hpT:7~\~3,ެ}\)]`[VL;>3O4.#q?Rc3߇d֞ ql— ?n,SO+C 7aЀ_?=%Q۾E:ϡ 5pTlg$"q s!|+{(:c$4ԕVx$9rd3Py JA9BgcEo!,qg/٣әVۨ/`+T7 kc\(O[v*s̩+9(Vcuh,0d 91o]<Ͽ i[V 0ƳPU"{='~IGBoZ Kʣpf6e;$3n^6ܙֺ:KoIjO/Šn~oa&~*]%u-:C7~\CO/bi>~30V Qh;ETl|@NpR.NJ4K97>ޚ)~Dhp(g :t'K~):>eRݫr%VM 46C;O1A=mcKQx5<Ϭ]x6@H{n׀ȻYob0; mοϋ*?d!lάSTI ^?P?֬ Cljt,12R(cW MԎ56Tk5卖Z遾ШpnKgbPdp{:, mz;6Z8n><Nthn#RQ?;h,P6YOycã > cUHG圯em]o:iLO`uhΥPzŚ᥻7ws0 TfNt+QI9,2sׯQ;I8-bAc\ݕ A؎RZ6f/9tQ`h3'azh=W$ұ|M\r^Lw[kn:C;XGLWnL G.kK[8'/OWkʯwؠ}g_Fy9)<ԍΈ6pADқ]ƅt­/f~QJN49L0pN:6p:C _8P O?ګxqzaZ8f 6DC$Yꉹ+,lr"ⵇlix#Oѥ}$W^#S) ([w+zI=$dH ?\ȥkqf3`J)5 oG[,~l-3)g7 5%YXۊ}+߀ x!Q!6-&$s&Rg(>j+ޔAi̻ T}u̬5"~R)rVޚ*^-&EK .w:Pæu jܖ~cp]@Hɍź6F{/H1OUm D϶=m@pǎ3XaCYD #[G"\V2 5h .G%߿΅O>LI%9>(A0YJTè/Os՚HI:/nnRwlNLN=6s[%)kޝ G-ߙ:w~{ ;Z,2txkp*=k}|Z$x)$ A`"4l7Nx:0H(.{c@QQC$G=0ds}}U+Tmuby,($] ,^=RDӷ :m>Oo 喑$t |Y{:h@0aaH$Ui%Og>a{O7N6PI}=yQ[S:= |)`]RRBѧKpg>"e h:WAcPAïckצSBÀ-=HV& "_ng6"U j#ͤ̐Z+ߨ qO4|):TЅ3SU2WOF#PUet,dUUv=@;lt1IF-p7+-qNcjn8~FWiTa3Zjz$I`8\h aѳ2%6E {Jy$ft\wyBu HB>tT2vVD/+a>*;feC/t]UtvӉ*aQӻv+fס*,eѢA:.G*Wx>$tڋ>I658{Wxse3K /VTݮnKkF I4뻺1 yFd ߏI>cB|_YSP:"斨]"{_ˆXz @E%1 *۔qq $TW@YsDXBC/轓F ^Hz嶠g(qR y qC_݊6tyHw1Rb5E?*y4w#:m s ὠ 5- ނ3}bܐ>z¸ڄ K 1*s<\R.^0c~2&6Bi( ƬXkLqeA3n6nbA2G>Ѩ0 k,ȰBi$#'#F2nOs[YZjg[{_;p$bxB7}.*p&2<}=ۊûj)o=r bzF_¹-5Q?+DoK7qnmC|x(QvZ xd]oL2f*m"HYw"hM7\xU^_&p V{'Ec/4⨬ jpu1RAKfa %0 pG\ ~uB|Z>U:C6@\Ji[H렵K'czXʎ ;'s/ zfBLݮفfBY 4%aVS2)V^0PΫ֚l3lt|>͐pC/`2f׭fp1'?h}!GA_ Tn_={vG/*8}Ͻ8AlVhHY>*tϲp>,~O1Tdݜ6HdN5!>CC\h͕":^r{b'!80 P/:!Kh-g l- gT 'T:YENbhDC!"M.r9f$ KVZaRFƞ" s| Ӕ f70Fzwx|x-!XWM\+@?Saf>l n'L [K`v)!U%_c Nˬ1tYJpv{l Gqf뻳" 2"qn> YNDZO˴YW&9#K? %.< Շ%?-}.M`}<v!4ZP֒F,m9P@WϺ*3F9)=[h9(a hPg"hR_ޤ< 6?}.,O֏;S7Ճ4%k**IɃ1i{[!:Sb1w築&X X~0Rds"ʭ h 1*=&ڥKZC꫒J|&`WtQEa; :k g*|P[]w#9]m1 (,Đh][>ٲq?vAbf03.[W6u{F+ Z# :Ofk1s!pհ u"r 8NыY= %R+}1C4_۷Qc!1o pAUX&Tqme TȞU5騈uABjZ? -[[Zr uCUÚPVuj ZF-p!3+٫Y!4C5mz#rJGEi]?R]$+ Iyb@iT[) 8#ll&lkJ@OAy=4DX":1}~ '*1a3YI("eB -q_u4 r2^ hO^{ɧDA)*+ܶ.®a& D6ۍB8;++Ml$P'ѽpGB͟3&FͲ4rt͍(j!lE-{HJhiG0CNԭ#PGS#l˄KGđL)*To \;he{5|iFb|Kg 8Z 5pjZU V=+7Fv7`Nd#*L͋|Fgn?0fR>wFj?#qg("e>f<)/*p˲I"\x VUǮK%p8Q1+IcT321g+hAkb+l&mz]`AႨv8P#dxUr39҆ĝc(aϊCe@mSW &4JFgȫCS؋`9Jwn2?2S"_v1xX2qĠvehg#a@ U@?9uXׁ_(. ¶lվlt6kIvkMW'%rb*۳%E9}"|]Jwصۛs _ G\("Ud^S/yy 5ɎR)udã`Bc̙*^z:L8$ur4><@ߋ84k)qO0ld[0|9.ˬ{-*6@??/͡a&tqp@l \K; njwu= [ñdNJ'm՚Cp~:s^u%z`VOj~˳0!ۅ4- +BhLKBp$ n sDI*SyLK[S?4ޏ $\Ukẘ*GT5rmV2{vU-D[u-_֬cX&-?' I1_.xH8GgL|g?IʎLvdQ̢հ% =J/Ӭ-u7.OKR#]w^(O.N/rY0L^&8"*٪AǙ^: fW6[.9g!OfP۸ LpVjbbޟ* "Cn={( ohAWflz`r 7*YUjjMh18| Qk wGQ(/qᢨEY6rNgkDEH2ؘ%!*]arN)h-aa؜'|];k1p΍i#!UYۍI Zr%I4K @XݪO w:F2.]ȡ?JuLN5-%h' L4": W{auL귃pQZ#;C B-)и;B\O SQ. 7|mTQ|sI朦 uK7C 9Bϫt 4[W{l^sZװtXC0}4t鲳V7"8`h˖zLҁ;0.P]:*I e-ߘɎ} |:㷩wSY_`.HsFCh8鐞YZ"!y]󡳱ŭ:/Ld]~@fc>Q:o| e3'L 7]PF=# {Ó,I gj:>*F-A967tV*iI]`/킽Jue^\"ݾo] -*2ЅX^-1^'`|un-tl[2^$1+$~+~cHܗv ގFKżlZ59<b_z/ޅvs{كσű xR8Yb; S0*7aOj33.pfwg*2Os<F|)>2||Əaf=A9Dsq Qov| Y+EHI@tUc02cn֥tFǫC21Y Ksp4zbV9^ZȘ=Nj*-A1X9ah!,>7ьb3!(V75#e"l)fX9`__6&;gٿڹ,xY|Z3_kYwWSYAbd>CLLڏJǃ&4Z2' wي}C݃l."8,c-?D5{uݟp_k5])M3VĭUw~Au>@M wzSI0@BkBl..vwDˁXes8b|J>{W(BF& dWNՎG]Iedd8,A#bEsGI Wd=i#z CUE]߈ ˫wP5TS߻W8,s C IVIJlML@s]O2&~?Y5sX+͝R{RZc QQzocem#"{NyD,Zל09ȋ3 :l(;IǞ!)tW@gX4Ղ*Zvp w2 #v\QMWgSlEaяTn}E߲֩ )+jz>(Uh{`&8_kZOl@IbǴ#XV4r.=?Up0U<-݀z]fs`+}98DFJ&/#R/'ul뀐{+dy5匫=CԹ2'y˓٦k"HNkҿڅ|X+ct\:烓筹c$?jE=Hau/t!y r?S1TC0{B5{fTC"qba k"+d=6_r"u[Ъ}u+~x\Yh@!UqSܺ%ۀ&=7z=P IXvn?>Ʈqd89GR: fNz[ލ~qE,%k9`$a-v}4Tlbkmߵ=("1 ֋$}@0ƍ1 WspQ/5UItp/,˹݂6A&2\5vD?4^O$hi/ׄ8۟MMogԶvi50xau;Q?Зʅ/>*P.|? B>Hk$ զ6o0I ;tKn* ɽLA;uZnCnZ2ۙl+nԳVG o'cp 2OHw6b"Z0(Βt {?J134[ 1.b6=\ ۞j+MLy`C8vВҸHm>vګۧվa۵1Z^x4A"B,dѥڞug݆(w wM1?ӛDL:śE9>֔ |8s :p_lTgB d2Öx&v~ S^{l]/]g*NGQ 13 0M?6: ̈́(+7JP ڃ{?uYli|77M(J~!}[xbƶ aGOkDyreaÎsUyQ&Җ))6??Ւ [ ;dԼ5Z=dP"ϗ*?qr}O<4mf]UXȯ?m> =M1ٸ;~@y8iS= =4)z6St-WVAyIcWZ EpxL4*'S\OWZn`)re< iB1cV&58!˾4+ cz.]WǦ}Rv4H\mœM/,Q4Njߍ @;q-N~܃ 8qC* @GEmX'Ƞ>Lx["~: Mygܢz5FVob| e20M!^DFalT%ل.&뎏OF@ 4 #VWw Z[p(baKޯ?gn?(=wfJ,^6 [#iOΗ\OT^QVeGW͓qwm @~I{ 6,zUBw?<#p @$K8Y#7QP4ʫ1Jz nઑ>UlN[00$ `br/X)Q\Fdn 3$k,eN[6{o@}3LOXʪ`"=¨ ;,3Y3{K/L%e3gRF7o''!K n`ii4fQGiRJ;0P~ {Y_'4/{f/W eE<chX΋"W e߸y[6y4"fCPn>Cg">X TfqmQhٻd8j (3bHܚG e[z_l"mxg"Ř.ˇS C4_2x.1~O@kL]kAsClth iPx<(󆺰N 6!;xDԏ[M {1"Q]cTׯłBϪ3>z@Hik-a8n&ynR'Yug(9 ߍD1gftfF1aύR  Yf9 Ӵ6DJ0f y`e?gN8}TJj`d#3NДq7]D| OfeVª?HV#(7vl9hjrD 3tLdEZ>9auRC0}CbSq ̓Lr#(QBӓ!prTWJvZ6~@x"&Qʚ>`k IA\sN@}{6|/ZqFB-?GBC9t  78!6QN@0RxOK'"z3txXog 1^bI ՊxaG:* $zA|8)%8M*:Z.kBN, mZ@" rmEMZ$HAY [SHRkUܴ=>ia I{⽦ ;`t\:IZER~շw^!t΃:ŔW}y'}&LMP1$/PYM0x u)Dܬb EgxAP^#| ]Wy.D"<02H1(>R6?Y䨆<6 tҦ:TeyЋi1ˆ (FV*Wj]W1:j*ɓp#RTj"S" Q &>_kThWN%=ub#Ͼ^s9l@%ؾA^F6}z ԭ0^KjܱdIG}_P#p/#H,9_Te昸;7tfk%xfBU]nu-=54dpޕ\SL}"_;h+|"aͅ unU&g Q8־_5h&֯!,t) *ô<ye3mJVj'qR|k\%=wqhFưHʍ]iO0|u'׺-@0]!B`k\XMR'0g=|đv!Tx>;U~Q*bB=SM49}pj/OZ>]ج7rv-dto%+SP0A,LSڏDQp*Vl#AӾw-T+TY_g) uG:Nja()=M4P(r\Apxā7k|H%?&yp :.g0k-+ LqW.Dm_^OQҵYP˩N#R˹*! Ytĥ'G0|sxp;T6J9C1U,IE#iBۮA|,\u"ع){IR`ÜݫK̢RW!~!Mt8x≑/gV9Z /6_-?cd\/?Ķv| ـcI+ѽ0u `[zvRT ˟7Ci;ޙ Neq_p7%7FPMD.!.U]Fƒ)Z(POG8YW\got_dguIw864aM]HTr e Ff OW&T=ft"uZ"5A736h<Բ1X똜d1OI2Ycf0pwޔeF'!7w;4hifN\G1;NNOAHg^m̲NģX ݱU Q`hcJ)]f| =V,Bm! Qb/H|af!\ͷْ{{z9#f$=V_]e B sޅ< bBNymL?ދ;|a`9Pؚ힧/[qFJ^QѤ@%v>vkcdS)bei<)}~eO?o$+0W/R)ӯBc(Dw=j,PmsO=ѧ1iOUQVpiy~Wu l3'V*^g6$R}.MxZ 4)Wd{ajt-H̨oq,7[Y*Y#T#4]DgfSWV9h {?^YMBe74y!i oɩtBȼ'_ "gx ([& n>XU.T%' kZ z8$(*ϢXi(Ɩ?2:7G nkSkaoįZ~`»᮲c<= v\f0Ov݉N $՛+s߈]Om@j?[k2ɜڤ )Կɯs"7q:_j49LueTOƷ{)]|H9!P?Y̎ȋGǦN"gU"mtʳ% QctlH=KaHFSH|O9Oe 9_TPS>!:1q@hy%X6\wۭYA5JR>-gՏXbg\`]@9pXS8=$:Fl KAC!Ze2P7Wz|4P>,e8ٽ*3kcpO\!RKΑ.**q!f2|UwZr*=)'M'YΆV;>Z|mślb:PY驱nM4t5-:% S!%ڍ6&9EGy4Ο LP7hW0Ãrs{pQb]C8# JM<{}:: [L^#|&8ivef/mǡ='Z녊7,*C͈UuEUZn[.Z{0#neFԊ$"͍ăG,DQ(F8=G/N{&M&wFP[ a.zۧq|"c}n'I`o&ޱt agpkGιsUHDdl{X/K}ոIJ1Ŏ3>ClQ{Vt# WTzX l/Q,Ś$~g g_eF9#|&>I986E+ a ʒTG:!kv@~?p QtY: 8+N8 f%ٟKQ*շGb% 2fJ nqZ$fxq*ĵ;]3Dm ۚ}5DNNDRzW"ȐQ,k_^2~}V2?K"R̅>:碏7ޢ4u \6î }aq͡e?PQ=B2|!\Q; Z|]ŗWa/ >CA>@VRGCoI'}&kã6B-8C& `{ՀM 57&oY _$ j8W`ɟ;0"%l>eN=$&+aVT޼dB4ݓk.Ar9l>)nLYču8M{՘X^]z| fM&B)4*4_{_OZǬR1!~6@q q)^ hx8d3gCqBF ·lސ4cm^"K58Pj=b~52u#F'_vD/Z2Z)'|F!дe=U"([xxGRȳΰO ZJEy0Ya$a drS͡^_R_Q?.A9&}tw(nX:(Xhd\-^k{ [K=ԮCߔ[AoNHSa{S%jd`9{S~ 06J@%-1 JK+DTȀ\M-``r$0N:R2BE{8D1jfWqTkYԔGE$uJƐ!% +5poJ~f\ Q|z^Bq)>qEq4loIテ0{(`p,GN{קiO]A9 8^*36ߜ.fGI -.=D2kpTݲ1wrM5n7=/V-xxdq4;iyΞAF806ٲ0ذga lLR73w=!,[X.n9Gi "Zh(nRIx]fΓ`E {QPD&v]EiljY{ %OND{V z~tbq ?HӊذRZiWf@=4MnEE%^W G<~e`"gO#CEJSqq>J=&OQ57虍3ne+ Yv] p[ ׫rt&ri>@ uYG#yP kb¨r )fLλ7Lզ~h?$Kh4:VZ{9l/ 2)ϹD{Mi> CMؗGy ѯoM٩~_Zw"^0m[Ճ~p~vb20^C=ilrOe|s8BywaZJ`0h"5.:gғ* o={h]IBPv>>.(,yI^KҥѺZm>uZ X,SD+_tGeztHdp$?{c3?]BX,@Ⱦ5ìvrQϔ pv:{YxB8&L1٣j)DxQG@mr?dt> "6"evnc} G7-1ŁEhE˧OI6zDe6P5\[w3-2)`ъ1SZ=BNF(K{<,Gǘ}#@sc#\ fm Hfp2^!7(qIߘ2[+ջ @;;RCWh4$CbK5p)V?Ta2H.ɮfFd ϱ~H]SD*殮wi'>S )pbisb~ǖQ=j];j?g܍+J@ ÌjlM ֕׏bo HKYSt6.e4md׮Ef q*|o Ug)]rQz^3IA5$z-d~0>\;iC:b8oi#9D:*NgЦ< ۶+`RZP,"=߲vs$<*:Lކ}R&y֣ De>v?pÏenU!g읜AouG'Zq۳aBexNs:3o1ua#ˁ+Tvsь;4 TnA\8joY,)jhBvmR^xgp׈!+Wf$=&PnX.A5s&T{0353)7CaXR68,綢ͣRT;n"f& ?<?wn/~:-F"drScIR~[w0KC:Au` &N(K83>ǟk׾wM0#oiGۭ[w7_M8;G JO8.[Uŏ;KZ\v*)9yƫT EJ{? t1{ 2i-==>qAG;?2R2)_7{Y'B`7gy_ o+ڣY̍׮` ^;I+>k1o #SqN[RW^ڛ }12L#}W4zD,̟#T-]qN,q ԛ)A *l5D`R; dEIֹ"T}41K\^nP4Y2l=} jWwh!joݨT0qb'1~Ob3ulI !tbʨϺ@sy$=PtԆpW":( < 5fkf-X !7OL&xs"@N_"E\#pp "+m© 9~>%9\z5,h] >@W ZPIEUBuW9Ak8ܺٷm ufQ>ihj3]\qh=du)Gfbj ";PkAء&v\N0+;̺}H/HG jMXqꬣ͊=^ak_!SɻkDn d3OwklGcPp. צt!Gg>|Cd^ a|Y=ۿ 5u#Ejo:yAx&r3hq,`_ZjRwJ`p i6f pI!1IƺBSZ"JVL_R!KDc"=q{(auHJW˟t Ԓ'HjʽNQ\VӧYHseR% ~bDa v[RĊ[Oĵm~ 7CSmsQhy@F.⇕iҷᡝnW[lę|x/ި}Xؒid,Zзk=#ŜKtf'l:g|{7q] n%= 9*zf2}c;c9q =p~4>8j+ڍJFf58īk@ii3-phaU?r}\ڎ r#٠Y` $=q`iU!a,O|&\ ƹ[M []jjfZ{\9dGڃ$<>͆/xIQzEHv޼bFUagM0-/fTT@yTI~Ki#EE4ӈ~)SdQdA ?%_d؉#]L!H_26I,xs?ҝ5@3ާuKR эO*!ںZO\.^;}tzcWOɔe~l,76 U䷽0F2OBt`GRqE@ 6"G1Q-K7T,'YU>L ɘJ/]_I\YGݎBF`fxj10 6zR5~k6?1##q82Ԍ2j2\й?Z=ؗ!{> \q##uop^⎩]LUA/Ջ b"2+\BFn-C2Z!C*V;"3R3rY.>xZiI$չc1R'y+4Go0N0bM)"Lw! \ݝY +r"CI5Qªj]w jRϾ&  cPy鐒 &ü-wY?~yPrUA>CMA*wnvƋ?U8$Nİl-s0BZ5n4b10 VPE m)x2%W#} iȭ[q7A|?Qʽ|OP@HOma@il .,L,Mj" kӑpU};D< _bPݏWQ˽X|0sƋ۩EEH}?u1K`$PNz(`^千ɗ7Yr)`MÖcIvGHO)#,/Ay 6g`L` ˍSx \8LX5w,8 딩PQ0o90& )x5l@DI UWS/zfF0_뎟 ;SV!'P]3+0@y6h(nrz>۟<) koIN++U}i+mc\P6eNGg޷ ˠ.DyG4}زP'e`Ԛ}.bhԝ ~-'w4Fvol+yZyqV~,FmaZ}11A 61$QA0/?́u>T2 H[N9Ї!Gأd ڪm]`cV3]8|) MGdr"rj3ڃNJ`ZnPeo !w?1P$o%ډ$UsEΤ;ݹ z<Q{=R뮔ualLʮ1iIP)$ϟRx# ΰTdPaU(ޖb\+,P8u,5 ::p0ki j177Wa\v%aNm+_)Ud|TL]CɔB u |XԻG#nnHB,8];@g#0[Sm­p!Tձ_Cx+dFe%A{D>3QODla Yљ~8޺#[vgRqHCڸ(g90)7HE:%9ב.U"@GĢLʏC( ;Бy82ѕ|LT@GCد9t =5y.sDxqļ\FZwK䂋q5/<׬؝DAњĶ3`{)+GfC V WAQf]CAh>eGYcfUI9x ӡdcMpD[|T^&mGӤ gaaF+N1))P{gs!e7A,Q(ɶ5Pux(L n)1PDBԭl WbQg)Yߠh0NB€Z)P[1/:S_uqK'FK1K?ySsZ@9-쏩D&LX?FB 퍫 e0H/Bj+eeX0,d=r⳪K^$'΋SH(XHRWs 28HA-"]<}M.˨'uHY]'|]V CԸT.A,\R! pW"͡ǝkME[Yy = @+6͡ .<'!q(Y.s5w-^jY6pMc-ЏBs=!CI!+492妺9ZkHd2}VI [t(rKI*Ng2Hwq~?nN~Xv&a|"&xpl _Rm1O^7ifO@~F+a›IQ>`0 -ⴢٖk?l%TxKqB"ɪ9 >ajT: e] 4k^w7Q",Hrj8%Yŝ3Fߡ~P5PW32;>h:Ҵ<֝ E mM(P]~zQ bH<ɚVǝ;2QS)PA^RT5<]D5WKߟ0@١Cu&bw!ni2 HSB~ xҠ~ɛV#}c%vȈ|s̗~͏R& YӏxۃΡItBN#K6q?X`G/ vP̋p{š\t T;p/5:y].$r%(eZ^ J>-ͽ#Zh`KOO`X5FSRKIRtbV%йg9uz!qUSBڇoWt>L)<$0c4HDō3Fo bIS-oĂ92[GH^R5  8+ ̿_ A; zhS>plC~!RȦ&mϥ8o(R{) G_s-0CJωVʭ %\Ne"Abh-{ڌ1"nA15jָNʜ? ՘C*0vHrVZBd+SqؒHWtҒ/tftbJ0#4w?!Θp2\zOCQSH[{"5dm/KZ#2}mo9&fK 6A?t:F~'d2or~fakˇa&vCMy'{v*:]EFҘt&@zx[vz[5oFgZ֋_d9}H[,L! UED J.6 S1$CQ \m?A`eҐ ) _Uf^ O]jyҔ"HOaIw=%ǀ15k'uO :b)oehnCgx- 頊 vH:azZe,RcP/_ .%HHϱF$VF0O(kND@4|m{ԼA\60Anx7Z~JV{L*|OZylV4)m?xv+1Tj||%(Rz$ο.-ba!nƯ-B}jQx7~cuǔx-N:,S3v)$("m?>4Zj i^rN8&^`?/ =bk_PT V8aױ#<$Bbb-k1J9L4so[EĪ,x]Q$FR Y}L`GS.U$lњҏ5=dpDO[߸u ZrhN OSq޾O6&z]elݸ7#,dL)_eh0 $)ꦲ!7kgNi4⇆H0ă=&+9+]eXE%0 OVt$>- 3yw0vWTw*n$Y/pXIhh !RCj(jm{O11ܮ£.97pV$ 4T"[{i=qW7~3~%qf<57nLm cCގ &º܄kWOSc #Uss MDH'_!ZA!'WZ߲>$~߰Hj3dZ$Ň&exu5Kka2[VЅČff>\ɳ,\JM1H&\I[/R}A7z{G\ju D3ΩAw"SD >Oѳ`qƌEEX| AZm#wk<7ǣ=ex8 #@)bgJcUI#sVZDZ[?MhdI-F!҂Ԥ Lb0S>;p&`VR*-"aJŏr"њ| b!HHgޏ~[htdn`ȢKtoJ,7ʞNdBNv?gTOEB.Չ0٬?_/ X7{vB }hu˂2Cb22 _!>F>O@?^FB)(SZV/rХiB9 hLj<%w`$8R^ p[#;aC 5H[[ɜKK"#gkrJyqه5!~䰘BjjCj!hpC kQC5:ԪX(ژl5:|} L6A"c˥WKklt̚C^ߪW^ GV Ya2$$ q2d>)h&p )$bq8S j\FڱV_ #j_?=RѫevY/PVZ'hoY*2p@Ӊlny D癁0F8%dž'qߎ&MsBOeؐm%8? lnL4-/ Ȍ;VA땜86?|X;Hk62d3B$CFȄȝ4Xq.hfBAt:PPiLxMϘNZI;r l*2B$0ȽO:O)0mNg"؀(Y_/ NTu1X\X֜{h}O;Qad)7M v. {ۑ@,֒Nei :i| b]2`!ٗAsʿx= XLtv,w/2up tír]k/s&,~;:h[KY)lLjMHІjˍ%A8-+{`5S 3e8Ucyzm4mM?%gte[nh8k8KF-3ۙO4v$mt;tMeސ3x= Ͱ-/fD=n-1 YD!c}RӸC[t] uL釸G}a-[Hj {NBLxjPP؎fas-˞ SYw dĺx椕>OIg6+NگڧC'vA5ضx\y]Loe" Œ΃ih0'Pu3K[]E)T "ϼGRxK# 6fzf\4 gtIOAAK|'U6FJ}p8Қ}mS3( IMrۀK}#텤NHkR;毬0Ffft)֣ȢWd,fgѭXtV\Xy7d=f $LOC^Pe s09܂w|w_{79 ڙ&-&9x| vb:z˷_+(X*y`FA]9cS3r,é5@,2f2_ԃRJ`Sd6&E`zkk *efqOe;h$XIxROR+2#wLuE-!Pt?SJ+Ď֔&XƩ7'# RIRX-KQHBI<[>a ȯtn9 ,{%bf_O?4\w<Pr.;P]R\%j>&,6926#yXUoskeC;;3˄z\JtSU ޔ1q[ ԳP*0{#Q.a5 \BzȞ-e=_4J?!Mc">gZN( %9Cj^l ॼ׷p,U%$ MDz~ߝmp!$Ͼd" )Tߍa ^hЅz.2=7?\˦ݒ#dŪMΩ3[Q +}+rP*9sKoΕq؛IFgS$ţ|umCUrX] i2!" rw'kA.Rq&ź`z?"W_6/5+h܎VS- ,G.ތ duzM.fۋM3Z6qbdŦr iه &z.* kzk؟\ |qSzq7tBWSQh % {8ġ%A!0dz'63)g>X97)a:n,J^# T|TQKj }aEߣX>ED@nGjjנ؀?aG9EgbጰЁq.+ښnZּc݄h` )jdH=Bt: 8pp:MwêuSfSo0~A ^"W3]*5.cSr 5&+bdoySz|a= anT 66JT${LsGÀQP;8cִ!WwSʹ"eE9[]1jX1g %zm_o2 e(z f&{M_5 /;^8]ǵgNń[G:j +3:RQ=T5^[@g3>&?8E^"|' rEˤG2o16YHP}.so$!Dit~@]DS- &#՗|ChoXD%fx%In( U@2Ǡe97t2TͰu\wp }&}z(PW{z__َMt_ ѤyQk$6`#la?4bc 8M6]$Nc(/$jƓrĬ~HG)5UxLQ =|EYVJZM77d{q2Y$+F?a/2.{j d#`B8Re􇇫9\X;Mh^MIȄl6yN RX4 # `*5{ ,ΗچDAاq/Yۡ[73\V' j52m7wv~BzRn Be7#7Yc Yي9ř eܣz-~\uJM: Aܗ mg=C(I9llb"Zc(P "O'&x>&nAޑ12N 6p/磒)jR)j$jo|ܟX/xI9^! }pAg[\ë@A dj23^]sI`?/ +H(OEfO=U?KoӨ%1o3jU E~E4]JƅWfgG Y Si%̽why#({ Jvmbpvwq$I>4;MLOe//0cT\Tzz; ̇]ئ:,P툴{c#MЀt d=;ޅ+Ol#tj<@W. g˞x*q'eͿdϫ]d$XBj?vYMQGp+΃RZpϋbDf_ H+{d\%'X Ari?֫|2ި,AsGPp4u=öNЍ1r ;Hh-6Ͷ[8( _L_ھoGD6No1 K`ީ%Nݬ#p d%HB m c\V⻺|*囡 uoHFu&cJC׈yB kG"J  [ڂĚ)L\ ~mk"r9&C7z6$TODƌϲwp&~!n4&Qj3NU8iBXO,48X8f}":EϗY]tBQ[!xJ3= 02h $5 Umjvk\b$NCd K#R0 z<pаC#Oj:Pt.ϳV- "T a&O%qY~]G 9Kl&&Dq&2g$!ijA-umƝ#8Z[lR̊HKWŭ=_Y{C#9Yjp`erՄ*`,$M?vmn}|DJ/3iN'.'3j.7%׷۹EB2?AT%. L+ ? ,q%B{QIG.DxHmcVY5*y nTg/%UH?r>0>΅.%W]^3MES7c_Ph%*S75ov;=]\%` UL/VV%ܷCreĤˑT+uOg+LC H$R2b)+pjY]U;;< hА[ˈ c:Oa#I(hzZ3*pE9ja )bKp-۝}[$J@YAUh|Y-ums WU{Wy=ED 2:Gn x5{U1w/OKlf0W{[ecJlurvIXN9j'lXG ~x,'te𹖆UꞫH dEAsW^,ZaLcrPZ?t EXگ/hD7Z YBY*ƙ:7k:1YB೒t <,+ {DTJPZA-VsiqMRذֲ'@-P{p}u/St2 FO@fu"́q73] $CeP6=֚v $PԆOBIsu9eY GQF{'oWt[$i^?xOnqa"U]'I\<“4U..{j]0vE~~ӕ`@1Fotvb_ t{>JEFyl(](ݕ2wȀlϠ_oUoͰNsfbB8P9IoFPjV0 t!8eR:w&UK=!ia;5r1Q~^gu[`A|s*uy<b`/ AּQ)b:4s2 z,Ii6#ӕfG [)^m0~1tʉrw`Cm}diyM Wm{]=\c/ei6Lu! hީ3^=z䥋Gd!GM&'Ϝ[i2jgθ%CR2I @CǍTP]*^^".}|:"EB5E #u dOlCKhHc3|fC`9=;I7JR6d> ee"*Y*Q 6Ex*qfR>?+"e6ngҼz'CA:IA=lt DoIWZGlMwe9*/`E?fcxq\쥈O6YޗB+\NR$t"ޣA(aF;y:R.ֳ̫P8hw&0?>ap5'-fP%7'!ߨt-;=To^?TFE>em*̻/^G@Cr4kz5b 2݌mS/7,{;}tP%V T|. So zw3{MZxs։r3 )y;‹2ˬ) \/Ta!V,ާpiu`Y$'vN(iʬ2'{}0_)S#ðH*BWBv7o3(4ԝ/c оRN~'O^|P|F|): ~|*U7#_vO*R@Έ理yd0jߓHw۞M-Dqm, % 3YNTbⶐʄXN{9ZS['a^9븁sԖDxoցHє;e8j_&T1zt@^*&H}ڮut[܎YXuЗe~TV?C|4j'p!J4hqlV!t4 %^Y54({\.}dFLvG'#ҋa[U-)BԚX_5?sh~iyc1ChgYFmBu;Hs\pxC_^c'W"]lS:ʜ[X#u "_ fEVJxK姓1^k-,>ήvs GT /K{K~fiK5M#ɽos HX{ft#`~'REa' yYQen = ^9OiӐW9Aiq[ֲL pP 1=S<ł1wxFiy07D'S>wՑr0y7sο o2[E?_)VHw[' %tUAo'j<5UЬU\ȀBmCf(lGT4&R}e齊N~-[`KcVM3"X(m"(" fEr i -MKZ%#;ʕ KAWxVRp#czxP`RS+m$" ;*\HVpK]AO $J2AKBwкoE(QJQ-StKpϪMTMHkqpL4!g[Wěw;/KdhԍMf0/3sZx\Xv, ?2XLW0}c7X m>U, u<% Iw?|&GnQ Vbif; RJeWdT}E r]ʚIlYϯIو"R~ U @dKp1``ۧ?5Nhg2 wM,3q10]gt9DCEJXퟎ_\/Ɣe"SyJQwq` o/c +w$.wà'teDFP m@i|11V%T=~tX#c&X9ͭzN+d.0ƍR b{}Oᐣ܋s@X= P :eZ}D+(uȷ邕)X5vc 0Ү6;2z9z BP~hYjf#@AK%u_YwtP90 Ty-J>NxnZe0(3xG:Q ӕϤ4ȘhWOTֹG.$kSw&x ٯfr-X?+>ltZc찔>E:#[B R1>w # -*1|YӉn,)^:{~l|?BPZ[JV >9KJX#cou{Z ü3X18r"g=XQŇ8mQ~vE*@-Rv?z\qSM@)Yw&X% C-Kހ?]Oe^ IJxiڪ,ٶeSE̢|Ip@gvE;ÃM iJ&2@CgXU>-٨TK5`]ЊͧN4ŧno*lqFUUУ26PP1bFh۸?BϤRч}Ě15yyg^3l(ijT}%fi78<(T'j"9[ЁycM5 41\I"lԮ];Dq3Ajwŕ.kJ/+"\Dž |h7OcfsTa}ni"郡!:1H5<t8BƧ/%BXGxZd1zsIj7=ջ?[RE'b#Vm&-OaS/0-ȝ/|ѮMɦOO}:sh3QD3.~[U\p6,a:]xb1{FO@WK )텏n~@[f}лD0y%NP<;^fC'_ti4[p<ƹw֛s~*auzH&K]{F %>G{#>Q&"{'.v^T4._Lgw ,Kݴx ,l|_Gh{ZOI֕ FN$"w ̊[tZVST?E&oFK~ F3h-[JV8}G*08 ?e[ޝkE#҅P*"xEژ啷hyU `6#edůA,HZSv0HP%l>fe!ol2`#ݡTO7a!n7{FSj{™_$j]M[k2L\0E_Gy^eL~v囐Kvla,y+ـ0=„A|ڋTTLcm N7˶ w"&p^5C Cg/d£oAS$Ȱa|[U s!djua82Kß"=I{ɪGZ 'u,.r('q-Onb_lFA,h c^Z'<$0 XFyqfZ ׸kemp ME9JC '? I{ s*zJ=LX+^&$)53 tۋ|@c2b;ý p@վ,#aEb k1JY*i:mē89 9t%q$rX,JrݞNTi:89 =-((CNd?CbXC>fe4% }(JJqAiHb5 GyJxz%A5n8bBtMHAq>汿 ~Dsr04X*f]}bncY6-x!#}.>_r>v!,b;@ KZ,~w_1 xn+f'wMvM 2_*鯰hhU>ኾ&`1:glgDzdM~:Qwz>1l-NvyEOU`Sb 2.>5Y@!~{:_1|+ʒt}'H4M=hdQ;c]!~@(eC1ץSVlסEtY 8}J&3$YS/6yTr濤VX;#<{Tv4G+{wgw갧Z.)~C kIюWd7܂'+/y),iZ-(>}ylpVt_h'T^:FA'ǃz}#GDm+pv% ԂDZWWslX *-"QG&#~܅3RqQUDG0O3 -mʔf]<$' ӗ .K ~/M^xBIJYɐƋPh< w,-V/Z]hQS) DZ}\a}44j92$1˸;g2%F".:H/Og]dbxI,5; Ydy^x-BH>NIi DD ^} M*TA7+D;og-5 +vw*:h ?NK$ g3n' 3^  < ".M "}ȱ Nf [c4qtl?M@!<[ٙ?nh;xK< }䜏'ںI1E8. kBE1˙1!tg<4Y VAϊ C!v0?g߀hi>|JB8z¶I|ob_\fFAL' TQLo_>_8u?͡`nb?J|Ͼz/qsklFډ.yw+n !rfHTAo ߺ݉5Aty봎Lf $*=#gifߙØggeThDw,]kR =eq0΍Q #lyK +>sqZihZ-憼plBiؔq: 4ąeg9QUW#Uۜ,J}HmaM*7R;uUYOGb1(S7FEG8/Y{X5A_t0jq]DwxWˆ3\+Ꝗ‹VKaڌ_ΝN)o4<:})$kʩ ~(V;RGE P[sԶ zSuLNƼ6d:X1i97,5yʧ1@J߿U[pe!+=zx[C`Ӑ'P? |џ fdÞyofغHK10wMPuaxGWT}%)3 Z{^s-`&jt $Ӛpq5 WWm_Q?ۦTJKIT<9hB5@ (\-<Υ7KV7 =oE<6~~3$p,G$^ыK=ix^j47c\O ~^-IkKJ!vҒg,u7ËnߏHZejAx}4 ٧LLǀ_]"= h9S*&Q8Wi*'1qáu6|<srA-6IҌrh`掁b94#zٍшKŦ qsE>W"34xG.)Bʉ,Dԁ[C( z1A[]lb{,,||5` [UMWA:yvr1O6wÅ Q_v| oѯ!̑׀x L$%t[_)\r&y4%fkBw7HPxleUroCw̤^6>t\&;eQ!糤q|/g-EH7FLS%u>nʯE/i6M> vfx^}oLZ*=!&k)C-":/j7r`_wONz4P0Ѓ< F+G7  P {ʷNDoQ*QNAZوknF; ^jf\ /pjfI:]qgasԛ1fF|-#ȭO9彡 K,jOff_ϣc{KQ"8HY)j f=HɲPW NfXAptB)qx*{*;0Av1g$#ٳ@32"|5+:UD-YoTRZQ4*Oeb8*dD`>TN7(COĔ55;O8-ᙃe5{%v?p˽̙X|H[S?(Kjp#~N$!w>j2w+;ߵ>E> ,z+ ]]i}KmD dm@ޥgsĤ\?\ 6qQXiALA+$F' 0$(k/O1_ '89B׌?N(q |!Ӂ;Iڀ[6 G뗠Ĕ 륋jYPCrd,@];;E?чx06B4\ק5H2s$9\n6̕120(18Ht T zUQ[.^LnTnna\iF4)=IJMMBJ 25S7 Yk(IՀB}p4}e N9u٤c]Qc0DLD^gcݷ¡.Z^\spHr5uGѻA [c;`7hXRh򃽮 t D騔Fx:8ǍMfAVF>~FCY0h9`?V%[ņD9JaXz}ٯV ;;Z49Hs'P}NE#uZih^8|긗YOy2a%C! IeG "N zzJXVLpa}H l[ :X EPcx㢏} {g~a^׈ Xct'r WP+ D"$+}aQ:bZDl:,5,[XF@C^q zC29!i؝vMB_<~G|*,u{`8/4\3FuC@F \0U-fѣ<ҔhzMf ]TEvs-%G<ކr<ٛ"TDߪH[[=$x9h)R%Nj rsâ{Pm!>1+ubIa$r:\ d>RJ܇kI@SgkY8{ H$D' j];ՂVc4|E˙U3@,kxs 7!L絺/i6lj .?G޳7o V Z./y\]o#7t%U4;>XCkOrVx NkP=h ]JΫK?D12 )k4@72tMrl73;/7'A2GeәD鼭x~ RƜ k!>|Lj˝_x_єzrgU=|6|%%3FDa2)C6C=z~gѩU;\c"G0R)Rx6o`h g|pq nW|2R،pn>n-<>yj䵱ecG*K e/;v|;_unT0ܓΏF.9qgd5m̢_j JC+̩λ)FL,*Փҏ}WJ mS9*: X tJR@{ ћezZya.6,MS9\XA@oڿ\r/ݰH9|*}qQA"/nL3E,0*rU7%:{2?;_=92Je.?5a2(+61, |jJ}q&%c'<2)G`1uH,uUdX7t)ChKrg ,>haw3g@#s4~L-[GCN^& ]wXaRN޸a_# FQlg͹*]>~"~k۠5`bOJHArh wn`-32WNvi7fzs5BXd VS7A dE? }M+;u^/tdwY#Gj^d6' ڷ2R '@ ޶ËlIC∗no_;3F/cY*W/b(zs=w q_)׻9RL~kҋ-B):ge,vNoI8g%)Q{KeP1X!  s V7$2H3x#{dٮΊF`Ԥ G';nD6CH+ c@t0 2 u "tY <īw/+8mJ/Qyur"!d!EP$E1'AMIK7ϧX#h ʁ04KQEoAc͖Aٹ=ڶj KXI3ms,:|(]A*`I[5@~O~5ܞf 2YYJbp`s ~ N?t @E&YHN3}x]Uu߃n6=qgCuБZRr2KS֙hRmۣVl{j8F7>^ 5n>PPV4 R6$@}MddٺmdYG6n + OpcTUɴٞB]bq_v'h \̺m8HFc[%dec*`.^ at y]R /[[B+~U ;G[?LMalh)'C ٿN3/|É2wEXOMC @C_'@ng0Qi]bY- Iϋr!'@I|N7 kl@1ZLZßG,veY"%TR]qU{!LAR[s$+PL: ?FB^$FJ؝;qUNxG zQ蹻Vྦ2JUX#]=6mhuASC+m`ڦ,oUϭ.A[x4cG{6 {Gb|dHB3|hFQC|_% +{N~H$Q~ZsHJf 3ڱ[l_ 8 B*@LlykԵk2Q3H<VW8(ygM(+3e,o2/_Q}$Zu;=+mgnӯ-$W%xJ$i܆op47H~ML_6SZ2VfCZw 'Ωd9[e +I"se6anV+QHjUwppc+0t%?\a~ 5rk=r#yB5@'Cjeɯ0ENäd]ֺӇ*He-UԾ`}ʕΣvwm0&n[ՆV?M 0)kvu:%K Q/BDC%S=KCiS<.~ : ͣ ?3M9{MWv6[ DBJD&OGm+yCu}{J.P@`]{j&[YĜgBF$xQ641ex|}4h:BMy FhԠ~8޺&OSԾE}y'XR *L20Zeu3[xh~RDfQc wp-$m3]*E=WLj ~u=~Ia-hӵuu{0kYЎ%o6U="rI1Z ~/F昵7xc+\e"Иr~62jw<'mpL{ekza}GIm1NRm|'δ'D_ADh 0sQ_jN_e&J[]l[eOjc٘)u0hsx]jz*~тTilc4>h݃s%t܊`()oT61tčLk)+89//Bn5STXqS"k &BH=ZC6b>4cIUI` "uCwD1HE餤dLB 1Fb$ո_P|%E5B  FQhLdHn,y쫾V1aGEXLErDy73MAzj`˩Utɜk⣿8r \:UW&뚠d\sm'E 薣' 6 pvwa  TGҊUj*Wrî4vb (:*͟1tQ!1 jt*ee%eڝ lڍy*yL]5kB}e1eϟ~`;]tQZu nHI ܛTFlM;a }yb,,gGC;Wm@Rwy(xL/c9t"*)2jmZHn@CpF%\!.i&S !ƑD$IcGj4xܲYRٛcps9Lgı͚-Oeo.p0cMsްqF\Os̀N!xg5_nD3,J9 ZU?^1 ilff"/D~6kҙ_ b>r/lה$ oJ[W1?G}-,KP`=1dsj;꼝#C TiKܲ7me|C] 3ԑ]$ `9d-1:g:z>xt@`'2\~&u2-AYn;8m2"hʒtuUr*>KsE>g)n8 =ӊsA`pMD+DP qeqamP d_\k7O-'8`:{ >߈ xl}PLv(֛Q13`fd/ d5SUٕ|ۭjurx9XF`/$ڦ.)җT(pl P[{1Is]eWw?~v߼ 6F},$$.@=b$ #<0` 5쉜x6"wG[|#-W=ܱ YL=f*\[住RՕ$^^{Ɵ }P[+\ŝ~3SǾg.Ɣ9Sc$Z q:V W`qFE\؏Y¼jDk񵈠+xq ȒY'5X2Չu2#P~_Ѹ^,Q9rg6h}yZF9VهwВ+rKwt'Pބ? c?T~pY5r=N-`>}rxSDbrm[ؾ&U>2)LiSnwJɳ ^87> P!{~O׭FLآմQh2v8Eԛ4Z{i!L\^8Rz2P9¢)eXW}HD#>4P- ?%^8;+$5=;ԉ߶ ,L՗;.!<`25cUEUtU hD5Ia*>dQRUb"ٝN-1~  ԙ}?7j7gkE*MݮufX7 ѕ+sg/ K~~s*rrK]> 3 # sHqd%]*#QJ9G kJ "2&&'|dqR`d$!!U5R QiP1s/'<{5kTn-ίLT\)ڹ&6D~y&U1`@u۲MkRZeVB =m|B#E:ǥ\6զYW԰?۠)n[GR/`bzTW];3;' _=d͇efCO 8qļA`ĮD@F~x:Eq㝾';QlP^Ug宝]5K1SqR DgRt;xI O;W|nZPx SwCOY9)w ך=x4*P4<|LKbڦ@wRr~Ok [1j4nGܻ)(N%\DH mYHWi^i=^]**MnÝ!^­M?/]%FUb7 @eY9.dO1xX$CY۵L0Kj !r^;FL'B@B:A Yyߨ)%<h$Յ(U?L-S;?x\&ءO&e}W6e ]]zV kmd1^,RiH٘uJ䷂ر Hq su'qK]L9>5\C;VWc 6Pnk] ՛Cqۼnúl) &d,nHOp.!Rb]npL'A%*hQ|s;GXS k vn-UͲ";@1n*$Bl{XqqEZL {,q мۈlyȟaUfD]X¾];b"P"ҘcgNSW;ZjA>v!ww.%- j0Z b+!fbrOH cckE0$Q7@CH´h\'{M ́_]fҏ# %1n8E#+gVδeYT|k{Pw)2=Y*;(U &c&q ($ż0dk''sR܌}} b M,xŅxv;w "[sߣ?n ,}s\p~,<;5ҥapIh$n+Rz|8j#>ѕ3G>AANX )XO8DƓ78p}37!V! GFqzrpXD\uaI5]0ox &QD쬊'G}N&'K3+L`5I>@z]r@WßiC4W5d~_#BY<ھZji8-+9Bf%ahհBkwjMCeYRq#v.]e0`-Y ^:PP#3^`k2F,H/fL?R."7^5>S2]c-ܲ|.C*F-Hxmk+Ӹlh;97>&HEMX?G򐕯S"Nb8l krV.a*34Y͑sΕ ѶODئv]{l{?2QT~rk'4=I ԩNhZ(Ds!"8hZiCOlx*&&%xWt`Ê(0SOƊm;؜m2!]rYTمt`ӹpoVC2~1ew,:%|A\U|uFq؈ōX,U9a9hQekyBu[R. BbY-l+cֻ7 @&Dda^7ZU$Ĉ! m$ .Nw6k PN6Hg߃~ =+ WE'In )G2IGGOrYA߻Ļ꼲+b2lVqBx?H9ԁ,=C%0;@rݿk:n؏)Rgv@81 B/M,LDvP7e%Qޗ6[Áy /w$Ϯ.>zFzIb5]E%2+qo=0Ď4]uZvs]Q^LRC>z(pɣSVTp = KHlɱi D"\ҡ+ 7&1磙s!3!QIQ,FIP4 z>5{wIFO?6?pPni)-*P(uOl9T8bSjZfRgĵŔEѻgNkb-2s[-4o&&:\ȘL;:b~ˀkl% L g Nְu޹!lj>=2>uP)f1:-9 `n| 꽴#B&,7=ɈrcCv:pF2AvE2!>[ܯcϸCj)q-fõβ'ȑZǥMVDq= w _ՏOzax+2f*ɐxH u m_F xyX u$p2¹z4'K..y`a _V"Wg ET }*:z)Q!8qU#$OT55Ar_îyrPt=2'ﱂ #b6fސ]SUš/yZECadaL4z ݏK; =CCXHUbQ&>;~6x4RA{~og!z*eǃ;8Un0rMwDN88%o N0W} 7؛h]Υhc+߱?o>gnV)$͛THMʵZmDU Ӱ"plIS3ŷՍ-SAcxYKK2zmwwu]:1[OCd*~`J0I1op~ K;t4#iG0~.>29e? 8W?|+N$Ij6E~!m,35H-r-kҠhM EezqE(-'DM/;2&uBX5D^Q 2h~:4޻V}1 0.jKUi,YPEoB`<̳F˿yKZ ݯ4}_ j,/قs5&mbұfp? wIӂZ/jy$@c10?dJ$ E4QqʞDZ@rEU }tyViyլ0qd$3Qr0&;s*X ]°YݳҸKA47)&j3ʾyagmdPCƼ"GA՚p#)_"x^zR9@c)Г!G`zFe~kNfK"xDVsH{4mRqEI)J/]_UQ&XɊDօk<}7bqUz@p 㵅=B"2䌼n@ƀ@3lGZU;vWgӐUzu"udsӤ$0 G%Y.ӻ(Y xx_O lQcR8Y޿ҊeICDǣK9G^3sN O.rv@JSHMzDVXa[Ź%Ǡe-75RYoI~z<U^70;/./o? p R ǚyEauC7/w~Crn[1ӪLJT6 [N|h~ZdkljNYӫS 5ֲ qnL Y=-k\-Ct+gKYc9NG;=u(q)v{7/Q)pqUȷcmu^k9AQ=0aPOpchL`J|;Q! F6b$m58T%|2=$̈́Z k(JBޮs aY 6ag@PS0Z-yqso,&3KPH/8wlnm5@V=zգW%I UM/=b$&'Ha[.-)vQL oꯇW_)D g򧺪sR=k)FSfD/ۡ․c ǜov< JԐD-/7/9=[V;eS;H0f=|;zw'|baVArfk4C6aV4r1)+h (u7|`tT2Х^J;'>m RJM6 ?X%< +X%D F8׆8irj,4l%dVt:)ټYs 4㲳ƤOtPw7f\S h2)[|"R_Vps=m Ϗ*:2R)q:i;F~_[ǮH)tv{'M{yP9(Q3:'|ެ@9L,/oxItY) n {)W) r'(9KwBR֓/:3Y)j _#vm_@7N /;SNG™XEz:ɡ3M9b) W֪H?_LE. p&Va`p3zK*?!fڇ ,(Xy!TKS{T)j4cQ: yݗ#+ fm(Q[d?3O,B7 ʔS0OB ;eOᇭ0qU݀>AWiН! b@܂< 3}֭bQDdS#9S+'a. 88,譟_ ɶ M/L򛽌טxmK4jDDR,<ݤRnONX?UbXaP=46DQm\X& SLN-FPO@-}AkTA(5w ZgB}64N+P8'P ʁiְhR3?W9u|ZŧKx+&8OX AYo $AN7h_n;7f),x R-˝(!O.+*hE8!}Ui| I]+׊>G$6Jb|BL97O[60$D-鬎M6@;>?Pq*%DMuTL1_jm|:m@{{tQ#/9NJbh& yֽI&5` AymՉbw_bEJ 8% $N&|bw6:[͝'MiIIUPZ,tLA }J(Fa-ᚡ@9RKy٢Gdݗ\0ykՍS)  ;g"2'R3bOa&Pfқܫ7׶ 5XTC+ 1G`)f9V*X-5AL)b Y{ۈ*m悠x Y@0"MIKT{rxy6?zvqoeԲ6,$FqK-ĵGw]BOcׂn~+9`vꍠqG< J?:5Jkj⩊QL9Jc@^6!}Ip@d@aNBZ^!989 @|IC2n-]U9= f}1ѪImwg敽*//o'͢j+'ph1Gߛ $A %nAݶ tVYifOwR3aO}N`&&1Bdʯ?uϔF@h[Q^.=k]V#m]tWs` Y 80W5 8+)k" b}8^z.#i t=0$#:)# ,驈j{+xɼ:j~JBY!MhWt4aX q(#x>(\9$$bbӲtjb:LOC褪Gyfwm})RO3,8wa=6/PXfV-P^3:5ۊN[X^ dn4M{蠺/]VnC@-XR Jh'VcqêqׯksOө,#( I0dp;!HXJ@t 8Q^5~$z˧)(uޏ=ǤUmgB7 HS2a~|'^udS4"Fם (ZFG3Bp(~u[j5#ΉE ,ƹrar *Be 3onOشlF 敃СxzB.vկ_g d)꤮s PD@K2V6`'M42? dWD?:^4 dGyD-wIHcމxU3g}=>rxmv'>7] ^Y} ̛djffo>wHp\ɯk^*Rwʆ/L&A?`ֹBms8`V 9nMu5e Z #VƕUnd-u}5x#ΆUt"Yƙzb15tܾ'ýzP6z˜yOL?e(f_m4m7g 6@g;h{?cxG[ig8n rs].@7; upD`'{D0ptZӇzKĺE;RMq#kub]ČVb{=B/{kME%"EGbcyѝGCH(agx4?j j+ō]>P: +GGL)^5)^v@\35;E]|$G3T=&#|p:K[uT;q)91x)ԡmkj'ܪCxv2 E/CiG? ՗T_ȳC']=|&mi:wਅ!1AvLG 7PѠB:ݟ:'>"og)%xy| wixQ  wQ] xfW_GVSǡ ſd1kZ=1Ɖ {nd xfiLG!٩ĕ\VnU"gHM>AF/RI|GK}]6xC}Xܨ/zq +sԯ*GPM *:b:)L`!~ ٜT 5M8`ac^J>#Gn]Ch$TZ KHc3ʿ}rdXS5$, 햣5 QnƠ2(aE< YiCJÉwUnJL, RJIdbZ6庵qE_,̙l$ލJ-Zر]3m}qNDP5sd!hsr1<&vtjߜe.GOtf{x /+gzUόїa|L\3W- HL"}y=ḙHy:"ALZؑYYugFBU BmU4?|'GynPKĿGPľXN"G.Kz3(B.L.ȓo0G%*uQĪjǶb'D`%Ρ!\$i, NոP Ia(zQrW2fwl6S,MeFq`k v2 ,zcI+7W[ ^ _3 ;F[ e\Sߌ_pv.y# :I^tooj&:dUۤ7cLչLf#BZ#ϱ$Yj,iNw;?2JƳӻbO9$i7qclḰ g17/V/fjo&$ƢWyiL,[b(*i3kƛV=b ?<<[/ezZ>D^- gIՠ_X{}Qkt_~'_Q wwՀ9uRpƌ(Z?BzM_k޽9ۋ̠iyb|XJ/%j$8c< gz Zڸ/\ܾY/[&*JөOJr+Q`ܱfjZ@JqH4UOBß ŇPޤ=򤣽Drrn= ~/O3a}3I쮓fGXixcTGR{8S[Xq쳂8p81zك)Zp)>CK O{ҹa1 DC +p IEƨ?r.v}yn (a'Ym2=g^C>N41pR}f'\ඝ܎VKtf;ÁK;2-)5rBYsaXQ-dp cgۍlK 5;:(Lnq)Ȧ!3P۞OTY*&nJ\i?[vn=|03D)ΰ&c0bfinERN&Z\e[}OgIgzwÀeEï&?sz0`ʜΤ -|)pxQ(J9{Eތ}Q~{ U7B 1_=^v||7xQmrJ !<\8* Grc>%$ Q`O"k`%̄C2V&W %VQsU׉+ zVUMyh*ݏůcqF(t,.$,$ݾ=Է1ϣu0fy2!S$A+N-0G vn@"l2]Q>%)}R3^0@pLLkf2AxƔ}`G%dDu?vQ_0왢~LR*A:@[r/6)=R(tL T% j _~_֭6h"apQ532:0Yi|bo_"PzAX Y!i{^#Gԇ(2;'$< m?|.{N7_W<' Li ްei Č.1qgix;Q. p|0;ut?Z8w2Oa(.#0(7EyKZ[|,sSU_tx RE*^S9z/D X^Fڬbt[>eR$|Xg-R5 swst0 L=Da&EgΜ>BA Vnp8jTͧl*uGveP-@A$7/c8!@f!Q" HH"ؔ*g|#&*Lw17*ýV9X©TivײUcdoC | =x6HLyCYJƅ ip_7T%h' bMJ #F\eFGOཻQ/I򷆥9ؐRn &?3?:Atc\4!± IO 2TPpm]Ivt1eu&M 'Y `:5*a>' MCLWlr׀ ,n%,sڮ*'k 8+-"@;JhY!CF+|P Y[ܢyl1ENNQ,K{f>i WTl_j|z)ٛ:A*B6qQt^Yw\VHB#g4*~S%C8Wșy11$B׷l( (ͷ`GM^kOfi"U]Mf[`syL,H'O=SITU]{>4,+G3WeJ <5A+Ei}7 νt{p\5} ATaG93AOqf$~ObZf]'\]|omqN!/\-O4 ,犵5r%EE^n}F* "E/IM ߓ5/GJ+4yӆ4 ۻRK尤 oN` .xĴؖ[Jf(NJ8>c٭''=NR|`*-0 LG gP .8:pGbOZ EY#՟Cf/tBCƿM1p;gYDg_0.}isqhFP^=(pǛ^!lz]m qP8b{n%+`L)ZѬނ. َ.AL FN_@_UpZdCmeہ*{u*oRL8(eâ[Mđ)z9@ n K#E[c}38 ,5WO,r-F2h%zfDnM{ڥ9H[G$rR';ЕtD΀Ž7Fc{,ptFK;}U&Nԏr0ͷP;nN`{a ޙgfF`Zk__jPѷ{! 璁 ܚNB( xxVTwzܴ&Aּ=3GhI齽nX[T"ֿa!ҨH<w/lӼa #Ո8ǯ  ,9a I=ئ4U1HҸBP Fk jbX >Һ"AHu{D[Jۇ"lvǵqH@aN]{9Ia]eDx "sSмh㩟2qLR8Kx]{6NfF!ATRQazc(/P**H9DK|Vq4LQ" 2VY3rY~l/JkNsV5ކxFB3S0Z#= &KbsP-D_~ ?\G^#&k4X[֟C9B9SO@;(r!4af3Uz! ̪K1#*kuTq'byuv_\4eZ˴s2iKR[9`ܮKA0:aLyy7w('g B'9_>ߓ)|]w%wTpBbBgy>a=6;q+Da-k6BaUq V򌢕yG<:4e5'' f$25 R"3nek*Tq4uf+KΒ%EظT5wzDO N'Y!IL{cJuY^W=d=36j%۸5> -m{Es-)@V9vy9x^[IKW &|.-0r{^_=$vQD!セޏQHfrVsUKzQ n $i K@> A狤ۄJׯ+k(ŸXiуNڙ׸?<}I?l҄ض;I!UuǼOq,-Ҳ)!Cڨ3z`P$2`s( RGa a,-@HͅO$k0OH_.zsh'u:W|)>R̵ (͘) MEAK\qhL}Kx K,7R\C],)]?[&NJGaMOd;d+A1 'Cс g[G*I}NbOɾKbuH-K@،RHT4aצތ2œ(]!V|AON=x'cy-wyfc >Ea*ق:F3#ȻzGA&w0ݗ4ho7 ᧼mR.AnJkfO/v͍z^8gTwdc|f}j⌛cQ'T&HZT \M[my{/ }Ev 4فѭO=lw5@ڂݱέW=9gʚj0VA!gA{Ӵ+p g%d=B%h\8m.]b o{z No*C1+IHbx7~utuɉAǔ Ch{ςq:sA @ύLq#s$/HI5u==~;Gb8odzd,\a :nQp~~MVsE7PPu Lj\TӁ))&R.FR6O>W'sP\+%s~x<N59L1*J1Sg ߳&l&mMN1E=ك7ga/!΂.]~Hu^a#E`϶9g&;̜>"~Z}7G{w (hI) ,)V.1s0CTڪV#tAvаVhw֩yUA:笪* I͏idlQ8Wf>vU 㞟zxpr$T5f%:"y)Z6zʳ|Dƚfeh{ٺ2N;e^*3Nv ̧d`&#WBB[>쯯veNt h5綒g+ -aѕMPpJlV8ICPgUʵ{K`"`h?Fi u荠 cFRQɒ 5ұ"2xʅxJ  8sT-yA}kչWDM~v;]uI0 qe{Y6G~Kc拒ף[rsdU )_d&kϼ/O"FauBV90zR9 B25Zha!MH1~DixпhM-oMS~`"LKR (I7L-T wkֿ / AvQY-,Lj;{d}md.yœH>e5SZ 'rJp_sݹ3dڭo#EZ Fq[t;JxeQyJƪj!oLN'd/N;64΅۳Jo]H#zH UN[L}UӆU+ g/VT/O;-x g85ǘN-o®G2/ziDӠ k_ {C5ѐZuEOfϣD|3 Hz52,^7|' Lb2u&7] ]"oKz9 I Vt^IQ7J[z@lY $l]&U܁>7 ʨj:w$քoLT%NП\"YUqf3GxD{lxf%5lr-v]ңuuc\ckR"ATzqX|B2 #S^B.܊WҽEwKpb^[^-Hi ~XP ^F5( 3q}q V|jIvA W3B.W G\c13f+sVҡ{'ꊔ L2kq0xƭ`Lu 8)bhfNC%v|IlқML s[1jQ $O6|;֙$tQc4eH6DiTבdV?~ &2׷h/°|"mab,](ϗӇG`!6Xv zUo|PRd6QP d#StL,:龂A 1iyF1uWKCkT9YW1Q}JLI]l5W_KitŕlJ6+%%QހNJ^k]1ݠUئ5z4U ȉń!Ҥ *%\0hXjJx e ##.'!Sll2ȵER؏3US8v¢ zQp3r`y`= OWqw=C@}=+8ZШ/9ʴ Zwd`œMa C)WZ;X#= ޳~vFXy`A~wfwyH1atj:_\9~%6IsP-Kl<qu-.!]]lw_b\Jc^p57iM,D-MJiuG)IbCYq0G^ 0qK iMnoӫv kNJ9JPK(YVǁ{ZtLg2'-v :+G#u\)9ד?ḁܑeVxN{Bl™Vwkê@V(sX$jy͙/cfE+€a,Fz2,gDadc%~C#ݸֶ[(ZZr ȉ@+*g0 &1zs0K&]ɢ|4>:ef9%v1vz`].5~#~Q2 :n[#Cr-ZZ+u%tpzVNvyY^7CLD!ԸjJ@ '%h)H9bDȑ5*$$W* ozmt /JV9B~Ck$a Z(gŨGNe)i^8b\oYTR9X>$AKt?߀{QjdSgvJ5^[b+~o]rGD;M?ܗ8)Z?e(N/6f;n(W #P `'s29?>ێU@r%cMS~-PSDjWodOa##?jb5ODyEo{/# qᇔPc*I 5mWkiJF%i FxYKkYCn"bO4?.kKsڐI16h6(/Z5j34`0$ѣ󸫪[ 6x~+ LZtLg#r\+-Ag~p0rv/ѣ&bmo-_i2tq LŧGF/w[@Iq 'W_jxc"si߄eȯFCݲwT;jgTtз8WzFl(WdUl1>f GF A$.Q-\f)M9 =Ie,Xbd((I2?r 0Ypm'O'9~]~Qy--ZPY>uU qq3-Vq[M[-AZoۂ.tؒ}Z樑CV@' t& &w2h) wIFR[e#!ylWwQV/־=Bΰ-:WGKW6F6{fER_0{ExQ꒪hY%RM@Ʌroy~~^eT3s'jJKy,ycb؍M 9&&3YZ:_T\Ly2p;5!uI +FZI"r(gH#QOS`1C4'yaKD&c\̎f@^ B'RuZq UXD 呟WJB,>MUro\C.Avį+*&!W=d0\g2j]slM#[pbc^j4:,Яw\kڧ@N?~f "뻸\$-^0WPW-VPdٲ̳ dkg?1 96)ny7Ǵ=ȘZR6*7x VGzّ|4C9O&Кk:p2KnjـUa4,T !2ցY8F',\u;L,P"Cz:};\Q4]َ%iwh&wODD3]hUH侯}:A( = #ޗ W?;}tRy$43a=93:&ǘ Ls|#N:$L27يҼB.]KTξ/gk駫ypeing—7TVuJqeh|.\]E@9[`y%$I@ 2:s=h 2OPTe!gȬobIuBΟY6KVl(-wY/b@-:4';3)V^ofػt0lJc8OĝZqN-J/[~C$#K'PJc<%>2uIWԑB #ͿXg]Iu'K"ԇUЭ喂E9* BCotINsh+CۺZkMӋ"Xlx)p +=-WRg?m- Vs?5 Ps܁E?][Je{&,*m[a 9D)#^2wp&LZΪ 5`վ]?;ԗH_ԃX\Luo^\eu 2dn<#ՙ5+9%9@3kuZ^ d{6V3Sxk#BR(cKWԪa SyׄWqչ$i%w􉀌-h[?@Z 8yȊ8cp&UA*꤅2?ng^lě7 p9%rƏ P~=cOF|Mzc9jgAP'rq%QݯCj (\+ivKH2M!T+3/' eu[^yV03r } dR48֌VṣɂO9[cfh~ЖMoZ-ݣ>Ә@|?nN2?!@` I\EpigU U+ik/UoZ].yf3n%x2`yuep,8seoV|S27gUytŽ?P];L {፝2W@z[},NEyy]0ҩLJQa7}.hLV&RWv+"i1d=Hu_T86Q@-SQP7[DBr)B҅TRmZq{JRZ[,ԑД bu0a1X|&:l ~MV(ʍV_ݩɶJ50WI.o(X\4ur=\8@(=Oz+6@~*o$TqNY_ːH.t/pj]؜=Fk|y.Kz} i9:& b4EM$Œ#a"iā{2NLSn{dY # DV4J&7nCYcZ=gVPl"|O Aj4[E\us %ϡ5&uP7}D;jyw6ZTps0`SW-sw]?CGDm>* K3LevqtZ:w{~X!<]*4qOSX.6U*~:zGxO63ۤ\tRmx5i&bεG+dH JziƾjӥIW3MfH\<KՋ#&VK$Vc\-̀y+"wL,JXbb6aaQ)Q*jmx'[$lh cPS} G!`h.%bXi`ZpW5kVx b$֘yҿa&]H)$X0P;ngƧkŴ=*!18$|;ruKRvO5ًj<nmheU7΀Dz0B!\:_]Sq®jũ*NAX'GAP{4 7TjzCރN|H47n)sZ>!bIfSA̡Nb LE/A7چM>a э%SOh6đwoω:} CͰ8f`lG>?_TouUbBǵk4y~*-Դ9Q;ҙWZGGaAtk*ߛzҤF@J,>|rRD6DP /*<^QT\|V~al6mss*ф?=XJRryom1EdݻbՓf/BZUea)m[uOwx7lT;'>P( ڤw58`;KVby]㠮;d@WrhJspE={b# =R(_1 v-U>v|q!j5ׇU$6{=CmE"MmW4 |P iDͬ_$ |IAFCXG@Kp,bn[h<'.AOXy*X Y׏(IKcU 4뙇F\¿:N5ʪ s5M4%:vLE|k5ХmٍFt$Kw.IV<9X@=T gr-ݠ, .J3]bp`mw#Eܵ lz DMLptQqV-!WܝMpo3OgqgZ U7[6;HRޤ%I^XeTdn&-?!g#WS{Ҭ zMB hBQ&WC!+j\l2ƻ3#+XQ‚ů$G.Rb'c{u 9bť;$x QO"&~P#I2ze4wI``8Miҟ"zF{DA Ad,AS,iE49G6CEY4<jS]4P2v .׋ XFl-&S>:qG5mq֐ى,MS~+Tden>f5$;wgk* (o<HTz47o$bW8 :'!J8!%i;Il<'V a,ȥ-)x (3bn>4?=a54;-W4@w7Y1%몋[T:$ Q_cc%϶vNu?#}" K5˔ -",q\3g|5RǃdG~3d.4 `Ix}14XavǬiYD>[ =EA/KŠtYFD-+FjeϯHڷ8UDiaێv[+cKν@I((IP`770b7(LT "_9ƷM|%;KolWuڟ.P{,Ù^00gFT٣𪊢1r0VI_Y4ף|YpT]'f g]xNegz-+Ľ(|sLG N,n\xfOXNMmI[Ճrv3I%]JĄy % jDt=5!8J:GY{G,vh)"kxv۬&eB PP?O(tdԄhdcH?Ȱ=vۼxlMm2qX3ɪޜ]qFhWҞQXaɁ$v8!6}u@P>TӀW+D~t´E d{cgϪCx_#1ceʱO!B@*YXFD3s )-u {wnQD!LhUEj)*V^jҧ@Wvj2+ KtC:5I^,<`N{Z53,SS]1+7G 4Fz/ etyݮQdϺG'gV6O1EpfPn}V\覂ð)ϐl f !'WZvTU~LMsa6vY W4t1ZpjGnu؉/_ \Pb_s^#S?RU_G٩dX/1R"E>]}څJ,u2yoV" Uݔng\}ak \GI1Vme9/ɮ.pbK5#',0 Kд4bcx ˽wV6Ӧtp. J-s3.,` =6CJ+c3_qŕKj,wvL^^2ɬ0BH˱ {RE?W"Ȅ%S =LT"70U$BE|Rd:pY9"j+,z;Q Uk݅*: 1:AymW2YדYE# ZeܕvShaˆ[;m Ӝ{?~͙Z̳᳜SLx#FΏoJE)|2m]Rfn@x4Upwba"x%aV-Frq|IC .ZV Oү$l]4fǰJ4Y+۵jlԡmF6dS ѩKyE2o1!}kvzyU9 qMn;'ά@XnYv(Wdu]x?l˴ >]IW|(EьK~:Sui.v&ɝr\ lR)G,fؿH~g{:mbfO?:*.0'KanRl>UWa?rih0EQasӯŵ ?̩a`:YNRL!]WDO*~ɁEcT^` #ؑ0`'_ )JSC`KBufvIJŸ wΠ+= H?>8wKkS*\&YmPw7hT" +^Jƙ׏m*CECD K- 1k҃s+O$GvuFbFGJ1(oU&9lPMI=O\ ëoie{3$6=S0!a 0<E},o6FݎP}8 11Qy["$%!45XbQ; I$owDy'T\ \ k=fǟJ,!l}'܉K*XWSRŖl =F%8 јS9x/.ψx~0(O ڊϼPoD sC4CurwYymzmx|:" /;IEyrSvH0. `E8/u+7j$HQÔVcζN37Sӧnv\070tVh_Z3>j}mWL^Zm@K>.)tp10j{HX/=\0ㅖƍ+ R,542$䂽~iΏ} /S뛔"J!^Y1u3~au%5_WB&iCk* B2FVCVBboIZ(cN_>z~]"B&mE6b\ ԜF)(~% E5Z|$!ir yxQcϐ/8| \o'<|:3SgސrX*#rW4~Q-εHJ4 D=7sjWwO-YɘA7L-wpڎ`Gt ]MȞ#АzbyQPpI˰>DS1P&C@!w+D\:W)}$`X=>:巷ٺq\ ۲)RA_ aM^.碼H+ TWΆ w[aE(k*', .#rH^$ar}&@D#SuόOG-we 4Lgј rM3X&DQJCh٠U~Dqkl*aʠKc5{pu@ygHQ}Y$3It1U Bxꢼ V%|K:r`s倌!su~IŝJ7PX$?̌Q֔9 zVDž*m:IV6ۈr C~^ :,Ř:CB뫺 dNR"; p^n1_3B77]{%4T%eaJ?B}PH<}~vKȊί10ϺDЇX_/rA1.Zr&.G\6!8*rtNan*t6]-)qfaLw嫝l[}:-:wkRάMV 9xP0]_v}*?4g8[h.IEF<5Jc,=[s zotW\ &qi&)ò>sf}{;h-B ݜ-czl|Ѭpا#MM)E4%+u52:t~^Usv%y#S,dːrzc&xFxlLF1S[_nF-oHvs\6:,5 "Zf7Z]Mi ̱` m_u]_,ZnK\zLPS&o&$}yznX s;I knŒdrM: H{nrnV# $)K(bz:8a5=@.]ɏCry uv.X+p5"H:$`e!8e'j5B7ɟ>tةa?> '6=q+i!Фp.^pB2/< BD~II#v3 )LG0tvS A|l,\A%HBo.0[ ZJ8r}`lL{T^pv@4CS`n^բslx;u"ik`~Hn1b۔,϶fut4LM&2]t%J6!NIJv2 f+Ǜ{Kf$C d1 sBݣ?߉Hxka&?-搌CB'[ U?ʁYydvM7ˇKML[˯,A8}-1nKi)㗅..PV`] AXi]NAoHBp\Sd/iJ;wb Bc `\Qnqo?4()Oeyv 8F+|oKf~۽ܑ([SֹjPDO)ȚXZUcgtA & d oOƒ&0N#${G ~Q7/!¹sks1jݲjUb'oLC#eZwT1oV'wL"]ޒ+ VE EsTS=ފ".oolM1|v/[Z6YOyNNnlo V<hXu%E+ 1&ӑdfַ49o.z٦rЦ.SjyS"pԦ$b\6KY?gp EN.&@h'+ACKS5ddy_6'6x}Q}c6A7k1Nqd` wk7YK?u.Pns=E^Tjx(k";>1SZ2pFG ̾:u :K`YsT,vs=!&ݧJ[x/Y D$rДח-WC%Ba"z]ϧ'*b4w֡$H[׀B{(Fv%w}Yi!$)܈ܟ pК4ָT BY"RGTd4ϣC*x]NR iuHu,4ϩ$Q ka6p+ MۢoQJ>M]\F*8}rW3KPߥ @P*x-lh[(!(4YXj`RKY7Ȇ h>dFax>!ڏ9գx@H|hnFQ:a22Y]Gn++/)]VLյ{ VE=mIn @":&܏sYK<$5[)Pe_ĈAyӲԨ^;28I4bx nQ 4K_~&OP\QqP%v'*[mJ`ݱo>ïj۫W~z߻Z)\sm./a''2: E6H;{ "x& sYgzۘ| +Oo8%c/ n^b[]/u+7HI(HhTfsJJ=-`)y{Cy R\RtH;k%6Oҥ3R1muG)"2" *oفJaUxw糺D@Y䁌wy`5{Հ)48*w]qacH\wkiwĉC%]ς}(n`{"}`ˤ~=14[s\[l!m< L,M| d.6ߡoڈZTüq@*9@;:}(A@3V۷c]GLm$efHN" aq'84`B ; Oz1K05׌/,)~ޣv3bm)B+cä['Hk-O'zμ:\%b>ǔ?P9X=G`ĥub^<z,f5(⡲} MwroD)TfeU?W?\D{x܌H :`H:dH8nrr8bp oGO-r f,2ƨ~U@ãEQN!{Ѓ'L"7zn.>1QKU pyUb`G߂b1{Se7ѯKZـ[6"]!`Z?GukoGzH]džUXo"M}qgEvF0نfi2{[$o @`42 lJIt>]83["+9!uU㐾%R^=$Z\댱NvlTj:³?"؈o9Y;trvYټR0J ۿk5 /퐜*R;nB2, CıÕAg|eEW?mF(RZ~`/N40. *Ë%i17R8s &q;{Q4I Xbg\:H>w,^K#Gɦ@tRB^> >g1Kn:^s1(揇_Dyc~Z1Ǒk tR3s8|k3la#ejT+W( '8r6{⍿ݰBJfzy+vPg.;Б=NG1]@"@;@Z'SEs\N&x5 42 CEvl'àwC]s E\A-3ʽn1?K a_aa.ٷv-l%DFQ1 $~-7uժn򓮶PzDB[b|cxh8đ|ƴ@d-SJ)\aȆҙ>M\:NJħQ5ѥM燻Nq)-b=TՕгhJ?||#TD9IXI'6;:xE&se !*AgT(:<&t#JO4pCYy9ˡYaWޗڥ᷵uN(t]ZSQrע?%s/!9d=(.s1aF﯂85YV8@!R2NnU-|l}XgޕܱV95z0UhWuo61p-DL"b{f4z*3Adt薗X1j!u旈 $+Aޏ')nġ eyF 9[rQvDTjʊvMœ45£Io)"e3ݡ\/G0t#թfl.XB5bI|ZpXި^;l~jvq^C8wA]DjJe^)Na:8yM+MٴdNDZQ/>/2WQɭg BI7죏 6]܆[*NPrq<5bc ,VFePg@O 9K:E3+ä7Ya'*&~rNd4cQ+He0Yj#HR \3۱ػP Q)-Lɏ^҇Oޡw|ԳǓ),iFݰ+eHSJ(#O)ǚ@z>Iz*9yDau 'ޑ<<"4z; 9A2: eH-Nuv Qu2^y1-? ^.@[>;vVx-4 3d6t>Q޾؋l '6@&AűQcN/ _;&H^* tVGO&8P ] < U8z"Ъ>zCԂ_ǬfAdvaM h4Gs_Wֶj!o@ ÊkI q<ĸ%!t I[,c;TRJ= F!*J}#~sκRyç:\̵0^.UF4;*_ܥy4$ہ r+r{I@K#܃oءٖ&u+OGH<3E]'1GJyZ|qڅ/'G D|1)|DRkrHqH OP72P <"/{SOx<Wr7ndATߞ1au_Z(!w0l]y;f6(礵ڊʍ3@l&wbV,xll*#q/3_z`Ta@342:(G zg9X5y-Z=^F[j[ۼ;i5T=($y청e5?Z'a 7ˢ/9O0 tA#PJiU/EO,p"\$Yl0-mk+oQVgx ~1/EׁGzDa~t=VKZWw3AP{o.|{pxrU)ϝ5~4WsW蟧."R!xvm4V*Ο+O -BƀֺGHfOUҾۡku}mߛI-#?Ϥ/yVSZ.ۅ}2Y*qwLN9dάՓrmwz0kjjMWNWW('c'6&k=L| nM- aQEp-,^̂}׌_Kni5v^/NzwAoOf(ь髏ۄK**Im(俐elkF1@t>Pk\YS}*9WW_ZPy|{fь0f`jۃ :/^a_LfܭIo7 u'aŖޛ'۾6 _]:. F$Rߛ$|EdT8%p86% O]8{7LbyA8ةetܧ,%j@a,c5Z=z\R/\>(wW(.JMeRXQ5 1nV04`*LuSQM†4IZ VÑ^-U >=qdS֎U.x<+]*zTݛ/%:@jpX++*W3/{9.S@0[_^jѧ0biDόw4}rA%# (+dӽ7juR `gr:.Wմa~q#⌱E.v)]p]'M< !>b}7Ϫ` zw%@χ ^\'@{,B;<$sZG7d& qf:X_zҨw nA`iMZ$nDhH]1*S_ԹO'0A8ʎΆ&97 30o"j5G1,O|d|(J|?{?Dc]ˋٻ{ &o*p5MCC9{U 0z%.7Jx5 &PTxQR<*\-0dQj <+7WF]xz13ˌG4VM{I =[Qئh*G$BT̓캘dOˆ"pPeGew ʙC-i &/Km}nrN.=4ÀAץ_#Q-k^V} @ !tGTB1̅(_ߠ3KWJG*p_F* u, {eMVOB"l?x5O@ҙ'EP}% *'J韗I*!I:~Cr=ޔF7z49a /$-z $ DT@6]AuX-֢4». c\X;y䶳U'#fy>5@kς!Hi+jhAUҚg ˛ck/0MjY)0a`2ӋXRvRvDf5Ix]p~۹iok.eH69=f:0;ٿj%zADT?ї*d컃{}qK3*{6ktPTY@M>liHmL_:, ڱmTB ,ҟ;I+D'2wi%+r|3ѣֻU,<*<-1LJ >>Æ(9O kӵ53ah%b/Q`x35rd⦊|AHͶCqol_fg`/p/-k}rG \͎`}yζh|'e(9O?Rv~aƟ-N=0o .R1&Y]jNu$ |fT;3= ~miA^f\Ζc(k=\κ(FHYQVnj(v-^^Â3qoZ.rą -6]kĴ6 ~Θz"5ܑ uKɤʼnrl=w`q yTf; L|EqRo^hO+mgdmZ2 == y!uҍ]ll8uSyRc|':@hz{0SI{yJTbtm5d~ d+l#=݅ 3',&1xY&ҟ1Xt˖(IjnT\tj6PʴU|fr20gRܿ/; 0y\fx!# ,`d8S>[E j߱5t1{jʲՙ\76?K#kiUɜ,(zFNWp,++{z`dZ, 唿&7mN?1SU]5ar}Mbt ?vJ1; ƈJ2&ɒ!t3Np4!,nm!^( ̣{xKvpQ2ՍdhgF/lcɿ {p+"lte)02nځ?VVD9~άǩh o$q ĨF47( Fֲ znâ'mU*5q̏b(9P7JP@!P FBzyRp#лgƔ#S5%ĘR~YE#dQ%-[UiˌN8f/ l 0=5@ ꔻ~ƾhrs%&0l]\aFoa)?1M;"=" W L^"q^r.Nhkjdg ɽwCkXuhv%S%5>~w"!f,` U'osBhRU԰VZqѹSdZe*GF#|QC?[%m'9D,lH4D+s|DWy{9u"i'C㰤[oZ,xG"H-Xv~:pG|ůƷ6F!BMjqL)`DGBۧsk{؟Y(?Se"<QGR;ZZ40(mY< Yc#fL2JL|wbOOE/15bnX;T _e`3'K8ִz(U"uL"xە~ܨN`O C ,Gf}w_ ő[Kn{ -xfWITv=V],:rݖQ`-0!$%vS8X;#]oW%>Fil4SITg-]Á{ߏ)g۱k2/| |"@,fi+ܮpx:d'BǠn g?ZBwP^"?qJRzi+K9R.Y8j(|EAQh|imv(~G'dC<'u _)` [i%4vx?OmRj i֒=J3l j:{4U!h (O"Iex';vdMY@*rX|x߶$q.?Fxp[z4Z?\)GRid81#!sg`G?e>ָ]hayȕ*m%y0[WfѬi:fYDRӖLΞ)*/eLMӪѥ(3iӼ}i1݆cƣWp4vSUt|WCLJKhW|ch(z;D#<ė4Dv=y9ƗʩCa m}bou/2;Cэ8$ۈ͙ЎuCb!Wﯿ|Z &qȄWK-Y:&(NqU=N@{\Z{;eҔS(0c\.Tr/5!ѲY8qޭ,@㟋m*y̰B8(Nǃ[*#-EX|NÂgw1CZzm.Mp Zݼ!?IwvIdalN -VeٺJd>7ڥ'Ft^8"u# QsD6P,[woe b.xŒHU>^M ^{67 {Ż~5/k uFW*߻0-{D(t&%F՝y/baVܧ̤+D  Оt;τ|™0/Q=nE[FiD8LQ&-}(ArtMyXGt i]9 @Y7<*'{aKG>W#/KBO=&[5!pɦtDDi`MJ<4D*9 yXM*Y]ĭ~xx|ސrXP`dCXq+S)k ƧZ3P.'`j8i] Y>xC@le-⊡r.Vvqyv_ZTl9θO(@ٷlĽ 3ijJUa:<[NkhQ2<71SuEל ^2 n"ʗ;6L=Scd QW)Ŋ5%'M)`t+lnҧҎw0QIK0E 77vМ;" qYk Q)6BE|SVIٚ7=|`h 3Kɰ?{C<O# ) J+z`q='%:BJ2M ] ,46p_4mˈI?UI/ -%KjAfVܱ$M)29xdQUFC@lT×1^WRjF'b+4Gri( AjҙSk_jcMA.]Ki.ضSkf(<,QbߟzZvB k 5 W `oC{ f?wkB Q 屵uE[Uo}|2oC~ѦP MYJ$d8l p- N ͪL)őp,a=Q-JA0<ҋAj|ǥ al\uaaX/Aw 0SR^R]'3lu@oMC^NAw8<89}.sG&S!q3Y}=Z&b㳂R| v3 m6q4C2& ޘ\;L5 b؋WJr'bքQ|ς#K*-.s§E;`' >D$*hw-{H2KV/q(BOc?qv4cxJw#~, p7Sމ=x'Eڜ $X''5]c:l5!h ڹJLj`)1jC$K^L@+K}GyRCaA9h˫8^@q3ֵ>)gɍ/Hs!%['#oiy Z_N:(*H_&$0G,(SL[Z6Dr p^= @O,)ѧ"_ؑr/E7f /_Z"AQ̬Pya-lREpp;|h#.C=Pb /Rw8slTrfoRXާA6]|;'j%u_h:ӱ D.׌XčϗxEyePKIup3_v0asP]T o=&8ii;;&wlBda8щLRך!ŽjHzp|W`]mvw@mہw0"y_ـqYnJmK~Qȳ0G9k7A+LWƧt+=vVq Jq1#y ]ZD? $?&䂽XN ⶠ<AT'?_hӔOn6ΎSgZJ!#q*r"S<) f3֍vsa:uN>j$'W2+ަGvE~tN&eL%>;mh* , ϙl]jKHu?%5L0DCwE_`yJ#x"Ͼ٪zvmR2O1^ .d-4= 0PFN#; z[_JYsk]N-Ҩeǰ{;ƀT-@&@wWw<0<0ǫ>T;Ap6q]W m!ƪI\f/դÏ`{b0ojJ72x:bm<&Pt&B^#^U{:duG:iwal xD^#>"1N#b[F #' 7.ǗX*|+ѥ3(J,x"Qjp 78h0_t 'ށأoajO؏ӳ+w*{ }mI6囹dMC7, pqAZZUYY6&QpXNRAM(yYVl6A'ϗ_(]0~THf1O6z_{4:fׯ1mzѥ:8vU3sSiӟ'=}Gֻo lO7~! tj "r|0& Vz-+JhH MX]NfJ.,.^sG2U piTT<.rtۧ.X,ssQOmM G-rdq+ȩ!sv9VN䊫iw͌!fבOXe@Z~ϷFȁ@~i>VwjT[{CBIr2FMp_<:q9{]ZCSX)@2L @hoȖ0"vYF(p{X|$Q| ݎT):8R䀾;~jS^leW}80Io#up@UT==9Fi9&>F6,+nΪ%؂K4BcՑ܆o{*@t9be9RGgg qm=AC18(T)N6>~f6;%d\fܣ-y[v{m9EyoX3FA-sI{LbPgCOp׍xI%_x:9Pj%x&1r0VNIk\I }}Lp:kOB/rJ$ہ+=Le)iD a O'Kw{TOhv@Z0a _$,(&ScHqMiMmBF差tk7 xUGj[PSZJH9Q%Ydpr;KPK0ioϦaq y8QW%I.'_E^::+T1 yC2y29 rri*c^%4@"6^y#_B:4)52:@o75iGXv*GFVz9 ^jG/@$Dc$vs/e޸>h{Rnx `"~ P/4cZIF(>p UsZC ^7âAO[Ϧ$trL5/YeC^Jy6FEARX+#DmhAt뻘I%t'RW 5 \2hv'2LzF|WO>-Co'<$$:`6"  {_7KqHpuMR`Ϊ LwƘM)P#NCKɩ'wy TR>5p$GQA3tMM96wѓ~=rGPsdHg0?PƟ2άs4(;uyiưƻ/4pBܿ墈Oݧ.N~ w9gg\|vk(_v@W"WI'El'FJ}7*P*N&3ĘkZIHh TC+o-jS5zgSO-_j9gu/EP_bn=HyF4N$J~q]Ό\Fs˘2PexL7q1MΡ.m@d`@Vc]MrzcIm8w C*~ Hz@(^vM gllK}}tݽ$0e|lb&inoZsٳ:)]G`q)r }`/]Gw2I,;oW$.p4iQ_>*[eiw<Lm.+"Ȫ6ZT*0Ic|Q583]sk,M:|p TIw%kpa_z էN<묧CHR|pcl g V7V &&Xm#&d[VUQ+?vYG6[,ƕV }mT8'# P"])CoKdWIv4#m8G2+JOlp8j7%~b> yX%aҀlxk G(jfKMxѱ&x*}}ӽ-f,M UT2tL88h{4풻^V4uM+ +tM/Fw(EcQA6C13 >e@G`inNg 6w&F,${Iپ:|ǵ*.o(p޻H] XdV3 pBR"+Irt*whC|--N%(@"bw> ·ޘAqվIrr&<b4M[c*R'a S!cݣኵrzU_UΎ %xldN<Oב(jzs'aBwSN1qa()wv`"?Mp>G$+e(Z 9%$#9HI|08!fǶѭ9)OxUL(l:@쀨> IYcTySLu@[?-<tP1;EPTZ`8̓L֍q'ٲ8H+\NcK?[a43ٴnt4F},{|*<&О& ښp!uG\@c]Yfa{H g,I| $]OŸ7!MMhp}}B0RÂx72ΰ [$HAVfY=S9kO:`9hw?n?! |GR y8Xn\n_h\W|R K^aևS CG?1I 3pGq言]JFvlb+ovV;`&(.68C8kZ!ÌNθ0}|5ۆWwLa'T;[Xz`-9R-+>h5z[:u:p\Clՙe-0?HG;t oփN̯>ҭt\\I~@<~,q\*MP4SԞpA'9g̐#ߒ_=pzWV@I:c3ۿt8-wg Wvǵr{mO{;X'%lr>;x>~uETW!P8y{T}KEr[P:4?'|~.$:?v@|`Dy"yq\Tk|߻hܐCHluE6wj_5 sCɍ3-bCBM΋} 9-2E}O|Zi(Kr5~*LLfsQ6 ;؞c }Ɵ8!% |r }> Pt_-&.Jarv m$,Rcp e܉fJQbk}~{x§o!2W)F/Sů@V{Gݎdi^nveRalwUmv[N^W#cf<=Dpaiz} ]%X|Qhc XEV_d>o0DZkQ7T[ qh*,04OØO@b;3&?FJRBC~hSD=_?c%P#6:hU1LgJ:RxZqFA5X@v-pzO yÔEIaӪJ\G#H84t&xl0)0]*J*FL<.6T/7kaDdi,Q0];B$5E1Ce$e3sLK6 i/XdЫ4J5~gS}7~=jRoIU:G^oO2;se~'BXr@TcJ|AGpe̖<m:-Úڰ:1Μ.*BvC9B߹yLE0Cy,I{㈙|c&g?33V4l1w*m Oe|SQ?ps1ZH>0CJsWNmoNPŁN'Nr6»W|=O&Qqxʽ*ljzc_Wl盍 BIv~G'bls˟gy86Zz0>F28c;fR7E6jDFHa ),wd+ى0كg`JYՃJ,]auW$0QzH?l%#P,a=hymf2Ӎz1ڼ^ߚԼ,k oc>;kZD<j& ,27jв=i9IV{K!W@9dlzْ& F#|rAl˷1R([,+M|A\vE캳GXֱ :   }q Y$#BhChFE{[ P 4ˮ,N<󑿓SrO$hAMJ\ D.׷ͦM9TCpJpn-<0 ɚ/b8nKST:V:q/z_#'X x˾P.JS;VaՂ>=~@fwHP7Ke vtq隣Ʈ-8J=8\[’&+eh"a'RUMIJ[~ Ȑ2wQ'2R ȗq(+ǺIgOTFt/Ģ[h'Aυ .!vcٕ? T.B5n>DF"?keOvk /q,od"E$*XKb7dQD 9^s%-1;gW[%5dN5rr ..bMYzYl@ Dqa 8|5~~)K9 nWճ.3YZu̖ϨPLɪCgQ RU@ܵmr+:p7o ~&2CF^m*ťo}#ʍ?v'"v !S{K[+`6fn r#GIsZ31Ql<0B$Mow/c>4Qd/ԡ.inpp +ϻ o^h}&¸@j ve|~ 8(Ebm/)̬MS^`Bgze)D|?oJ͚7e,_r Js:%(m/A*$Lb5ȃ F2f[x*; ]Z qQ*3>!ܨ1- ߠɮ2)/9$/$EH'a.|R2VM!4WJѲi-`? < z Rq*HquAsedhWҶCV^NP9@o;L )y5-z[k=d~.(>+- tO ʌQR>'ł?^Jb1ĵ v|\V F!qwJ~NͩnZKR$uLwd)VP)#Eq%o3c5*_K5XxWBl)A"J)|ʙDZ}[j2mS;]at)fo,7+=2y4[n/WON Z7!0'A]W[zC`f0\Z/Ԫ7_."juqv,?l5lcSti\ڐC@ ״s{Yk8}XuYKWlq5wqm^֒3mqr Pud}yϙtg:K+bA4ɥ~R#Ē8KBIh9](%,V5өs'dJơ.&HE|h̙YWpIlk_?O6 ~ֲ'Yep9 MXOJ~F۟<3̧AY0-qM[`ͥCgfJ q[oqGr&kN{4:"Tb'|ao(!ݱwbQ&4Eg*bD2gK0_7c $ Seqݏ "Ӏl<)/[9d[x׽W"hd#즹wG M`9C*1gD`WCoizm_:XM%6iv"mZ"E^eYh }uEiGEiPp[.d-@Wd}.߹U<v<~~徭)Ng?-W$yu&wyQZ62̢0ƴ){ ;h@@ë"5UEj44Wjym@[⯝ME#ܗߏ<;E_Ցw\(s?'\{hߏ28deL܋sXzBB46jtA? PFQP"XsZq#!piisjʤ1{fxeǟc2.o|;vh?.L>`b)zvd=T5h8aZ?s7C5w=lfp}Tـ\ϥ9r{&9Fxw(zו `,b)r69k E2,#TU=-^Jnɦ ąXd1uT:TXPŔ z%%SmL}5uVW#\ b&6DOĨogQSdH/iEL\ 9M`)վVJ8XmBgѬSrpUZ3~<k4/]Z,sm9K}ud.ê5 M> 9b^ɑq9 \n vJ wHq0G ̧bJv,.AZ~\ιk) zJ {#fs`RaR3'A]5)ZT3*`u.!`3<thbR^ȥ] yƒwu1@F3CƲ(S&vVwү iˤ09|k.b5 ҝC?|T "(o7uen܌iw:*ck 7:\4Z& )^mx]6i f,|J~uOi ?[au0Onύl/?U~Q\"sѩHjCՕbYLxdSEB7r}O]C( k $6wv*ɴ 0lQۆL\;C/f%r tT )2qq\7KӔqįZ HnX`2 v{V03̚Ezt4 NUo5`k [6LrHPh)IWl\뢗T4ux"ria?Ek-\ch?fLd=m4a2b?RMlҙ_&XU4:"ܓݒ*\FW@;gkσS<.0Ec.&cƼ1|V"X~ÙOP{uAb{cTNӼ̴1k1*Z=!$?~5kK:cTmiȀb}u:!C2 MѦC2Y ʢ^$m6y$*:["E83I6,ٽUYmnܒYz($N铤B {qgZNVJ]n_Xz iigI}"ChdI,BLg=A`"DΌ(*΋&-g݁0gc6u/Y.oWQǒ\vR8zs;(RhWq. H'X%*, sY_i?G;<&hS#< ç9w{ -y֞Ų⬤R|Ew=!:Yf'GTiuETWJ !r,oYּfqO2T"yk"j[%N_]GUbS ~ -qlY5i4#m"kl$ȩq )[ypk]7L.f,F><7;e < gtŤ֟Eh5cI78Y4n8Ƚ"<#i 5\ Sj_N א $ um"2E]{N&9-Bag[䚎S7KnD DqJͅ 5dHۣ `Y A%'ckf^Co;I]G͖XE\ɇ`CuN"yͰ[s䜧6{>cOP-ل5L]!:̤5ERPzҢ[_9 s'PvG w${,³U>w$r1cӓp*^8oPvlI Km`N^=w?N?u_ΐ49[mi* ")__!$pzvF./lZnH֬?b@"3N&!zqP'h(>Vzi^).-El(o5 h,bWy9HQGySi!HEƘk~ognBt8{E`uvp-F%N Dџ0m6?7"\;/iMF &+,袞 b<t+A|d49 3σ$(0{tPp3k"GC̏:%Qk/EW8cFE4y/Sz|$BSPP yTOKwL &Zba kp#-t:Z=rk,;(,%{3^ݑ, M)SNRX3jo>Jcj.M3 `)V-nwt& o-@z nWclGl&E\JEwHK)m0*>$fڦ,R n5Y&OkTY%o6};x%7T_Ѣܞ[ofԥA+ \ R7;UA 0uB!fy^PEbnÚQ9^nŐ22O*muE<2tKpr-RLPmj5 >4cwR 0:%`Vˈv 1矯biܴd7+\-} q\ͧn_f4P虶#\#7YZ\Lo(P]F lseuTڳ˻ImaW | KsK~12P3"c./x^ϴ21 bӹsIs~y8saɏj,T]'L lIuf#A{]bY` 5z['fcl3݄SA1_XD/seYl k"髙,N |wޟ(b a+Z@[sUQgU -ۀ M CI0ͦB8U3j1^q`QX~=j7E/DwU]fHWDa2ecU]*~~m؛ټOjo"B/zYi#;&& i[v23ý ӧ%[C"9zBkRRϙ|cY)׆fv\T-QJJ3b4ԭ*  <(gV٠$R^# diG_GB#'Oİsʲ@jƛ!n :C+W{?`pR05{'IrObg Hcȏc |OuJ&ϛrȚu 1);=Q y#MIppzЕ;U8G9E=?8{|M? ]{!$ Wr |N[50ޡ]-sUV%>ASE(rE4];S_5ÎGY\Zu>! !N*ǾR!LpV=r'oR 1U vvRv:c㩜w-Jpnq6!0w3p4aÞ{p~EW3{{6+S2GnOאܻ%UJ!\ފ̖IVHʊS~vp(\RT> ): ^emq{~"xhH+_^]p4ҨYJ vjb5q~q4ݯ?ïXIf)-p{-#&Sg5-ٰ`}coCMnk3UtgZJzB b;`^ .trUċJC"{*9Ȅ6_%b5c"|0iPno#zLb wx@w^kzxcnAzݛ c հ$Q͛˂3#csڢ}\iIlAde6ٌr-x GaM[5~k=W8̻"v2ALUx2,אRX!(2?rc8~:L2sy&ICm4Xap&SI-}ѧCcq]9mMðI10ٮgI8["5(uǁd نi(Cs qrw E[qɞ>\6i&9ф[&w: ,Ӷ.ZM /WxZU96oxFL'rJ;ړ\ D׹WJ8%jyJ4 q,$U lyIXl7( p o%}P)7(6kk=[I! !:x+p-7}LAmiWxu='J_B EOBM>< ڳcqm_g)yTVV4fgap@v2|RwLQ3JZ/~^I@'bNItk|L,aPRZ%gmO-*G6=f'{SKw/+n%̓T)X܆tɦQ -s-@%P *?iXN !/gv?Q bZUǼ+Ȍ'sL\L 묚8(Un+/+kJAGlmh[ӤCAXsV9B+_zH _LSMg'iY)IC+.vA| ӳ}@ޫG9;RpM~?Uxځj>6@_RŞ.4̼$)TEźt K3IXFe 6wCa 27֦e)%Em-ȟ5_fu\n[}pnBb$-H\[DШÀȞgH9JP_o s. YS29:"T?H#<Ҍ7UmLhE>, 4B=^< bNR*p P*೹Y1֮UgW,2s! KΞG@bJ25A`UdT5q)cy;{뵎rZslZTE~{Dz,w )n[/=<by&K8`*J;·c|?ݩaY+Nmj9A죝ZtǼj_>u(Ff:2Ssfas>լ{Tz#6_fk9bJ${MIkk",HAEE;s5Bh9atԏ SDO\nԱQzvP UxCeQ;{Qk #~ѺLN(ʄ\O?+m}řDѩW'HvZ3Cu7;8ʿFd:?e撣 T^o;Zs4D u9gJgt{a29V@v]6[@P+]P,i05|4 );fZ7k;, @LJrgJd>ߤijՔ_&çT!Zf*ԉdd_cW`r﻾2j,hNqά!50 L|bL*DdL%vڇ5M:k>H^o,ڨ>6`S_s1B31F$I/QxȂHIgl]J=׭9C*ycVJ+|R'#S2@Dh蕷aBalPJ-rQm64;< I0eX:A̚RFW=g˷m* -~Z -v1bm$´ܲrBaT{(Nn+aIS41KdO/r.o_=ABQ$CE LK[wD3L󛷏~RR6Kscto6T3,Q%4ߣcZiq35PoAÉDF=C-@#Gndsiޗrzas##`9 'M~Z6 *olpHh_X;YSt=Q$' t{5rg"n`kUB'T&xK=@7fU/5C!C:m irlwz%P%`_ 7KߑJщ rxx Lo/ջ=-dD}^{~L$ݥ}6$"ݓ3\3zZ '*' k::eaI^jX];o}vJ! ?L  #1A3 tq Wc֛XgT%@K\6A,/*@*YQ1)V8Ѽ$y|'?Rq|lyX]aS^+]ƀ*ֽr3h[ڬ'Z:vnHbݷ-dΒ-.-@oqVkKHuL ##NF?[Z !x] F EٟU95 A%NEؠ⃹O #*i*i{F >ǻsؗè$_7lJZ 74a:kXuͶk:J.'۴ZOGgF~Z; }Š3BmfLD!,o?_`-E'0qmRD{0q+ǘflۻSL&sTV́OE ӳ7g= (`S!Dhniw&ʄ$Tg3] DTLʇQ]7^EcŬU'ZUH-bYvec^c1Ov|e&Ts-`N`KD=5IJyh*l Ҡqs= -^C5'_,oGzMC=ߨUCwg{N) pB5{x=$sއ9smKoK$rH="Cw@<~SXk1qY?BWi})wo_ ̃d &Y2A5oB@cr(9Ui.ۃxMw)1_'ֵj"D5H>}7zrP=-ȿq13)nM@TgЙko__>&f)uy?;A;RexgUyVijJww`5 //W[n3Dv÷Dsu  9K) !  ƅ vk'3͟ -2m$gN! RqF:|EpA0}{炡=3E5ZTv.L[#Q sz*E1,>gnh CpZTޝ4!tLap(LsASG4+oMqEܗW6wT(pDLk$frA3[HrG8! :G GM*æ` tN"lQ*㯹ʠ7)Dā'5]5czSp]7[!o]B?+|5o#@]]t;C&0hF ?qWg?>a]ԛ4K,#ZܝM ciFbj醎̜lkk'_/Oj4o$jyH'EU c&сRf7ċ&R_oﳪf[C}g#H6q¥c#-{eZ?f7Ggok=lhq[(Psmi+x}jFXur_rE5x~re&K5*Z ٞx=2X#z2*D+WQIc4)y52[nv` rR;>Ќ[Ryg遇k0^zzGwZց{Rf5X"Tfqrk9_x)7"]  Y9,ގ6~h9 u"]8x!Ƅ~PaݮvmyO|xn/jHs!LUw;' !EMyȒ.0WKC` $둎:fu|<{|\7IM0~G rbv]S _1_1Sj*Пu3,$]/`"jXȐk6mC)+ gɦTKbg]Ǥh[iFLɧ^/ʏw}7&@K#Xܓ˪e)J CD ӟ@w\dLm r{OX*eMtme%Gsc#_ ZqtMLX-ńc,u/:[Gĵv"lq $m%TJ1Q^=3@ :s$a03,wGY?)yUChx$*='u̱8.>+(\{+ 9Y&aD? Zs51ǻ*zk9le2ypDs*RqKo,HWLSv6 j=Ӂ宂oє.\'!u˽Xo:pMpyg.pf2'Gb q骋 /Kv.LqP:>.f:ٳUW:3rQT>$o |B!jX7Į1̓6xM8saesc Bx7-D\5*>55F)(PD%Q3Xcᰖ&]pOQ.8LQ#O0[g 0YvAˤAg2atEi0L=D+CiQ o)2kծG4Qa xUoa k \GuLZG,uODx "܉nxI)I=xώ y$rKƲMn 2xTcY¶P1YN˔P% '?N峚x!G`"I; Bh7ts"gP )ㅍ]FOjd<l&5DΡvN id䠊??ra1cV!uS⨇SِEquIR,uh=,ZsJ ν"1o!~RB]LI|  “ˋ#xE}IA֬Q4ݒf򋿲BCA#8\;ۤkתСrh}$Fڌ'cP;>"*vZbU{4b0xy5i.qsT;sl(/gaekI] sr#YW!^5]VR7BEFT4qBaG:r;!yb )S +:d[xcQP{2_PX Ժᾴ؅Bz%2T $(.:KuyI]O^&tV]!WkIm {[NIRnPa$Fђe ׵ s]-*ĝEG?6 а v2ҁ9z'1.eAhgA 1XIд-?!=Ŋi)(,Jmb0}Cc~kiltI-[w>u{ƊWW2%5; i)]5x >dr7x_4Q#҂IaF+8{w@(i{R*q+ny MΟ;}]:??5 L*{ 5?ei*(ETip1seOS vY6(Be75Z>av.h(:X,#m XW-`-GJZZ {vL3wjܨs-&h YxN,5?A\AQ{ З2@w:YEMgG2U%}6V8AwS`i1Nңڽ9`)REr  lR1I@5Qo]hw_RəIN~2" l1c'gapP׼c-y\[A⭊7!t22p)F: |iKkbw*JXnլtBp1&NxJ|z8?Kr 7R^xUKmUHAߎ&vwɣKyTrs*J\g(7b{qL=.5x46a#ȻRzC:倧b=4%RʱDyk=m)P&bU^Yj(e I aJa!*ʡ^~6귁YNM*y-D! x_k82 Di+1 獳ɕ~.=/g֩{$vQ%n_=K_ CxS6D=0VCzo+UEuL U{ͦyD[#ހSXzV`eQ-'vwnTy1ZvMp5RWhxK(S{‹HTFG."¥Ǿ##ehtE[&IH"NdժnLSZ 2KUs1M? ?fW;F()ܔ ҫ$GH?O[R5䎸Vݕ*N!\J䰤n !q,K5~'$OG2-.n{y) $V\HĝJGoґMEɢe<\g}ʐm4A љ֭O7Xjb LҲBatktVj?M1F{E@э %rF. cDv4ܜNqP>%Ir]Zu+ns(V?lrd.mu%d,'ǂt`KqC 9zO=G(PÚ/D" ,BR[h9ۿsdwA3dzODhv]dՖʐeaMCXǷ2H/1~֟ޢs'ȢK͓x?azSӄmugс?KU*4I P*: r .ZڕD`lʅE褉h*>вj/QgiAd;2f1Z VFقɗRksj9#Hj:7@s&H1ǐb)V? w+cS@+ Gx~0- 2̃kF>$Fp2 oQ(_D2uިjf}u- Ll[og+e(6GY0râ?!5Ibzu2?!9%Q,X ߋ(_|V&n*B6Zfhv^Z]1(:DMC4^~S=&Ku4^7(o$`9=/sY,4H["&{}fN=0LZj{CJCr;!dBF@kZ[H (SUE4OpGXWdf#Lc nPҿfYGYuH PAr!/{!N$9fsOiL#i>昋oRVTq|_ALg6.1XE,KH91 'U*fˉD#>FetYU|ni5?R}݁c{mĞȺ4.FO}ebQ3.]1 5ϊeu֝owܽ΂EmJX!goQJ0L[Q~=xt!:pf(9KpC޽}9N-Yc`Z/69R43]yѤn1  ND:VPg&EaIJ2܌;+4I6xh[Т&xXccH\]LT$:CdebȪQO+fig #&JQq5{O36HƄ݄5RRW~Ij޽]WS'1i76S7kAϾ3\1u0P["-G` 7>+ІPF]z>)@.QA@}0rwyE]VBӽqsy}*Ӵ-p? [*.QU&ɢk e,ƛw|k`h y{_Y-0w?MO\86\1nq7 JWJNl-Zy-uo Xgf¼W],sCƣaL,vV|/ὧVSzvF!( KrLP-M-mM P9Zm}.  ė),|Ҧ܊M|ѴWHϿ" )7UO; pسSay{L3m:C,-EUVba+Z;R!INA/jpBHEYIR v9;l)(?$~XzCl: :pL5~詛I^.G~e7L !p*Tn\ wt0D:VG~=Ƕ̼"*ONIB.bUkw-I|OIids#f7zA Q|yk=F t_b/{UrĐ10%d0Wf=*8)g:/_t0YU?WB݋ꋈ/Ҙ]:^O2kns7 ;g? %̏+7$kUwx WG[OPR+ԇG NP¾u1:~/uNv[i8ƫ ddx@=| :HjJ&-hM09gs[v$o6s@} aE>*T<'_|) OÞWJqGM⿲q=ʎ^(ԅ8xgz|RY1 xtjzIi$1&Id%fu91Wm&Z|Erj1.CD)|䷜ͅbrZQ}J~ $Ɲ(6҄q!7y}~ĤT\/2y=o;\rA 6c:οXڶ_QH=z.cBSUe)\O'/6=,DuC^{!kdfY[M=pܓ!\-k2gsYLv`>И1oK ?Xg |z7fЫk o h8*^9v&={lmX,oRK+Fj;V`n(R+ƴ?QdZ{KcnY`r1ʬ Gl=> okk~ =Nwh'UR">RX95GezƣCb5H=5k"LVM0-,6ȊȢq<Vl*P|r|4B%$ .$x^t.1Mp:^FD2y8" ϫ9v; tG@gB{|DR[_,ߤC>_$PoMPkmŗ>A5Jh `>.::Q< TVc8'ǻ/̆(C,kJ-e&6R_]݋of I\ 9~v_R%ڷ½ z[|U5m垸64k@&Uj-;v"K! MF^e=6]z)bx!,?Ti?Vy<,qa{i"%+6m^wOB"[X{&:H`yz?D\\)PY1W!{O΂ZmëLjb!)~qw;7_MLusg-ȍ~CsZ'Cv>_uh#o$}/ּ'A)9k[UIhSp?mjr^,5לԑ 2NE59H\:E 0x/APXlrp%d[\nСf*\S!_Y{pI)􃇴#" ="IٷPOR=qdo2<=iʒՁw &*˳ Ő?cz;﫹.i ¥.J6*9 bZg J&<#_vOD߿&|f9c\<̋E>R RwЄf}s ˅XWmɥ@g%4*7S07:+=kV&_"sz;Xm;@lH]6Ǯ]xY8`"pK}Q_7E8Hoʠ(8n)A]6{bP<{5 @lU6G;qo_]L%f`aP i6\);zn:i4MhJ2E{s(Yv<-WKv3#Fͣs1ݮs洫^K7=#c;_;96;sIю474ƍЗ(f[oQZj•/@\Ҫ-@YWI| Rf 4UtY밬dTZM~畐@lEISz15##>3Tf:9DI ^u6W3I'+އ|9w\eJ)/9Xm+L8Y|?qYߺ/E1ͩ_+aPvBX^7!k^i a3RJO0Fi6Q)f ̀iZ;oP.N0DJ3';jŠߡ!}`5BCqhHN%!M sr|,]ùhHߩ.d&xQZ \6q1>ǹ|ְ2:EY@AK0M%`dsGV. f&y!#gى (IZ1xkԬ[uF ]1T3c08p^/T<)m,U+яDn 5Uh)Ni*.KPJ9}<~E.Fw, +*2Γmnć#x%wf;pZ7cpgU^W`&- "9ۂIPXۍ~Q6ϐjXj4@(s?x᭺.QE,7ݗ ҭCkF!gF\^6C&+.WTxj`ŭ*s^*koZ^1­XNO̶cybIȊd9Sbʆ:e'p~ϱt=ћ *~bcY)t8VkZME.0TErkX lu^x=̈V=5jn^ "iJ&&yGQb32gJtSn2  QN|fVu!&G9@uH،;~<>PP?ʷWH).):ݫJU$?]Nx;O ==xp'_Nh ͝R4.!I$4pY{VFE|?PQNjY!:2pH=ɣ Y@yFv_gPuysn|w>ٌ[kɺs]TIE{ WGB#7ArcDG| BV >4MK_X0"3,YZ!<_ՇEy;0O"p Fk$yNjH9D~vv-'OHI (/?Ĵu]fV_UӡZ [)(P+QP4s6 ߘ{nӶ27퉔?qk klR=1r}8KS#6n֓|Q@J+ UūX~;#+UEL$W:j.C `E;L8J͆5]F.CɠaHk<C )V!J.Yjqte"?3ny1oL<0V!( yQ+d46ܳVMx(m ީfY_[#԰r1J RGEf!GĠ1JhO BSVڰAҪ0A(B!#xϨ}":gIb-%أNᖡ*n 䫲40  x쮚»\Cit-u Í" @[TO e7^ 4!eŚ)G2oQ1 . g\)BL^Dӱ:."K?0 u#_iz~*] /<-tKAg֋ p7fb08U;*ZnuU˝|Q xwfwHZ#zӼfZnI_ʠ\&/zdAk[Ҙfy''Rʓk%Hy#Úů[c%F+NsQ!h̿+˷#heP@gi16C"vg5- abi,=cSj g;iO[PȖdo˻S|x+d`;5ʸXwt$qOĘ Rx4rWL aۤ'> ΦxLzeFTf%O{=OT8;TcɏVR:RN{*G 6בIqo. 7tqZ}Vy//⠻dN~VrKe#:LPsEW`9Qbz 8w /śKl`sKpCY Y<07GFs3DŽ:H2]~%ymD:}rPTl7M[#RMoF =sʬ2 N( jhluҒ'[ >؊j7Ic1wrd3΁bEX:dy(f8A0FI&T[Z ?:{4+1 Ć쮎s\!,IVIx8jK$5~eUL ,XgAV=Ħ ?lױرV]H!>jŗNtM2_+Ѿ;<  ȟbGfgA [HUier1gQ4+&uąӒ(meTG)jyV <)f)7ؒmrCiAlÒe`_: ª Vxo09dPIFڠ;"4lgAv{MD"uӤ(#E8،m Mvfߴ:.NQ4:d9KY{~䩻>%B8O2n,9)ʋ LPoLk( m T%x3 Vub<<U3kmDT@GJ*nuG?{5{!>D\$$J=* >5 #1r(Ꚕ)a0s!1Џq}r)1Kt}T -+:vsپj  Lv@tYIGVtBX_36LrqtlO`8]hL|_ r`Q%:L 2HP2O hia(z  }=GD^Ƶ\IV=8L1#oQ 7]T_H?g"с^ zJuF.%+0`o=Yh!wX3f+CegG8 ;3^I'd`4#W$ zEL 7om?s[}f0{}(+gFmywQ*KTb&zpy6HGR7ד*[jYoR̿|rWu_J bAQMn ޥc rצ:Z ]DԦ6 eIcPWGt$YOi6f`.DŌ2+Ǫۇ*] Cjv>r{NEzglMW*Ð`MMTPGXԯ=8sX/K wlVM>7PڟG{͌,-;jBhJhm2+b*'iHX(3L"YY8+!Gnj6ΐ'yvrK,{xkf:ڱƼn~>Y!,Y7$ 2W{JSQ_BulAF\>UytBe7'p*'Rf\r=nhRzvus9%:4l"[c8zda0 A%ֹjS4R}Wܝ"Yㆾh9~8d TRgw "}?N-Mv۰@6yp%^h_ I&l1K͐V{q(79ϮRJBu\ÿ7k,x(ס7 h v9cfri;9'ߚg'B Rs&E!_AwqESi}Pn*^R"Ήe}: /bG5i@>f O;DaɻqmCvra~}PINxC'7oAp1 WǶ񠲀A E. 芶´mFf nViQ xSX6.GoyʫdOה: qa3Bz;ʨ7iHI|FX49V|7mi &"s6> @ESli.gUb0mSK33fZZF b[{PEÐH3d@-$@]]zoaNz4|ʍZz"Ic15}䥤%=m–Jmco{Vgoє%O(.c_"U4R!z1oj8s*%OtoTڟ'^)s;*57?=;A/{܂~!k2A 5U>t0viٝ|DcQd]1muD*|^!zSXBD=zRP O֩倵>_cfX' )hKiboڔF e `nhA jk a 荆R E6+K&%[3bmׅ,TȖ\Y{e:fQszպB\\Jl0%׈\Ȳژ {B ;(Gm ӷ#9s&yH.([jqbIQ-ѹ?RH#a8 ҭ2?Ŏ͗iX37TDn&z'@_mʙ]3y,T8KU \H 쉥q[%XREɞ9LJh۪t&} |K 47FKU-t9nHM\|\q%Űph2\[{13(U+ WQa33wsĿ٘vI#ЀGB pЉ'PzkgR~@/ o" wHΩxZ{D1Jݟf<ܻ (e4t-;&Փ,H}xQ͑bW  vִEH_ hBϹaZutQ h(--C%c/% ~xe۩+Tޣ%RnF~֡x,o|d˟:L[) φv(T<7T1o fXRfv{i#J=d>A9VKw5R,!CZ {a:mQ4QhAQ?hJA";Ǒ?[#O̴*%h:#٦Jo?S&TZ} LL>0Hgnp7 -`)wmfцvޯl2h F̪=y|r_n3X=LN9R`Ckc,0y+ 3}=ÿltkùSI\Fcsj qým 95"Cvq8,%Dgv?NHo>D+ץ~V$nW(d ?R}jvZ&R[OMܻKxX,NL#]\7z6(T1]uUo;B^NH.Qx)`3R2zPV_LCP絀welrN=׶S+y侱[9ZUR!JCk@#;_Vpqԑ1jO,-d+nҶz2rfa\K<Ņڟ*d0 <$|>?xxI7{3h.4I㙍[?a;.GRIJ0/)PP4P.m̔,|+TfI 1a' "MiSv#$ ]v]TS+4Gr*&6(d&*d' I\zV~-5Eۊ s}dKЙN;}ގa /{X UώGzQJE{c*>ׂWe%?ȭk>i2 _Vw!>hp=yMғ3 y5C_ sRzB剔:X_n8b+%V;E2_>ԝq>aPtro;Al.vR҈fCbӽzbUosLd)l`.7Gɝͣ_7#h]KHm2y邙Ҟ"X4_DY֖Xnԣ6jw^壘y{-FE %w>Z((+[h0xb^*?c^9RVTP;,?c51-y\F庶@ůB\5`Ti@+sIV" ͋zpnHmP[ r{%..7Vln͕2DfDf(gtyY,.fxn-l|d*PTK-k?5cL_uqq #{GUBWmSo7`MܑIC6uiNR3T=O׺Rxi{oq\Sm^}JAi#M$jQ)P8${x/RƼG<46~J1d 0NHVv`&O~#t/l]h#[.S 5Vj80r ctR$5Sn C*Bw%ߙЖzp6pa3ClyyЕEgu`śW b~AteWΙW{ v}cwbc׋jp:s̓ Zc:}BbH`jio}؆6x͋٫p 9d\EW9AK0-tl@w /ddn* f#U#]l+(5. 5"bOEBd^dv׎[ZڷRЉ6zAHb3>Z!Su2;57?܌eIqIŒ޳R< \R7Pz+o\l S^PStL$nSma"ZNrQՇKOE3no>kᙕ,O}ДHgy@nҾT=br Qf& bUztK`q/Gj!jٌpKZ/s6!»^ӿ9yS!vg]u[Cf<Qݔih*ԛo8;[a 2n1ŸP;A?4'@c xTC0UX-C<d*Ġ ur1M%Mwjx督p"d#gBi{y:s0J,sTJR,IvG8/CDuQWA/XE|6 ]G~;(lYi*C,b` j=aj[BPT>3W #◜q-|93i7"@~?b/0n=F8n F)Lx@pgi\3 ]ppII qT}+ ,.M!iQwu_ir5^3vnej Xjj16젂t3Y/ \] &s2%hLKfѷl^)^3}:`1kGDq%K y1sa"MYՒ( 6 ޜue^N&`qᒀ~5rig@i 4Lň4f7Fp|& *EJ4$:i.J}$~;hD]E>& klOᢣtKɈVJ7M^R8Z9Tez*w2ЋU6H?i$p`Жڕ P/JSW NxPUŶH/iO6I Frt* 2O`36 ẕO_Ltk{3o:ʨvW:TQ#zw`j _ m:)|66dw ա:;|>@jhDPKR\\1\Ivś_C(LبOwHA`v܋T4z|/?@OWcOѽ_m@p@xDU`J!(z J牮'%|.0b,Fפ$`7׈cv9S=g%U幖9"#v"%}OTϥ?G_Tun^H+l YByoIh@U 9Hc{/+Z]ޫOTd Q'gߐ>iV{)'?DH|g8q=Lo$kV.NuI.~7t;UB8e>qw_DZ]S,WţK]^ַ%?U0[%KG˜%Ph&(il(&Mu.鰜Ģd|PxZ]b<"">0zc|'zWiը8xaleɳ/jɁrr,.VN=M`A }S' Â*oOhŞ{ @"=Uz$J->YPX XE|̧%,%s.hk'C<=\zR҈Ih@9`l-cV[Z=NɺqŞ7g:PBd%77{ỴkΟ8텿gg|I0df:nWYfy fn9Jv#+L X<4deD "k70|p^7dqFc}81n7%<6: @vJt1 <@SkB:S^.Z];CD}X/s HS ^UvKH|s e96Ё4Ә|݈LaQL,7;S@>cf}Tݲs7FE+?O˰>M/*;xRfs;%&ؽ7d@sD,$hs¸ǥ^4K !9z'K( 6ࡗkzaOt7P&~{Fo cR I#%JyD$#Mhe0U΅zAd,;#>HinO=&똭0Bu 裂dr![?_Z\BieXzĠFbAm!I bݖ/#Q]M&)fB#?m8M4 @5sT(QЊʜ᰽_^98.E.Lz}EI7ɳ,xX`KGǣB!Lv0bRzXvSBeȋtXp:|OV? eֈ38î` f`|3e3 lwL3HwCV]>D|~:)D8? R EaDI"nQj~ûiH2SBF]hSR  D  EyK, )d".ak,jfOғ\ )IyȻq K->H];Ϊa';vvmM*XҥBb-+[5Sȷ^LU]>n&>ȟn@kD &,fS.ԇO5>^ TmV_ 7 92NK2NV'rϧ[ #STf+>0TO!9 u0/:yC^ 8>Ŵm;xwXcK`O./_ =8!\pG=1ҵ1~77pѥ47>bZw:ag"U2҇^Bs- !فXRl"0sLNnoft>OϕϜIg5D!*rcQv"S˙]@QU+%swɑdmׂq3R *Vj|)qT2)*Ag tWL(4[̋s M@_ʻϞRT_LJ`o"OP'밈F/=xN@uNB.D^N~ aܐF{R:L-L T߀ZY"խ}*:(x9r\w0 %O{¹ނ05fy=dbV79?`%ס?4i7"d;K3& j Z6 mN<}6i~+j#,'JRE.<čz0Q)H\:ck)V͓,Rf H~Sش1xH)`=KZUBEzӺ4JL8`%vDr̤JApp:ڤ_YGXj7Χ8!b6amYZY~ㅘ&=RB3y2$=0i~~*%* ,IA#RULzwzQIC&7Iݝvm9BW)\B6& 99`$#1 $?p4bZT>6jپl/"ԧi<ʷ?9cYc'w@PD8+E5CQ|mD[ZEUrЂHzH=ҞG[⳶tkDYutOq2dQ .hB®A91x/l\=Slb[]8#\pd(:أiUh2Hwf֭avQlגiʙw+lsi(ԭ;Vda^0#ޭ6/"AX&?~bf't{ MuYvZ`诵9RbT1\/0 !諬k+FaM^AL1q` p$pL-Ԧ \0@qӄ 6*R5X@sߏKAc}T6죾:g8sd]LӸ$;%-UH: ;:'fIٓ/v"y;^K}dQGo 9ж|L_`ws) \.-2Xdw聅 c[T эx$O@ Mob֞ N "gtR[Gy;)[G w<界|adE^j1ǸxE |ff9\V2'"g}sCy^?p= =v_[bx;uU'Jvz$4ڐd0 H k&} U6pjP$=Cf&^HiyiCm:oGU)Vn$DQgqg52BA[pTLu_QDD0ܦ:(Ň2;`ӫAΜ 4_Nխܝ$8ؓ/SNt_OMSCN.D4+X$(P, ><~Kz%< 3J:hdS2W.GA8񟅝WN[X#2j- 1}lc4bGgCohmirY\νݹBxz᝺2Q}T&.Ctg-FsdhQцV^̀ߗ'N>!/f˧1 uĚ# 8.@p /y|BRi;L`u R^u~HDRz{wt^d[̱ ivHwOhdpP~O8*=+=)m[<26twLSHtg 8'N6 f~äKfn."3aiLN`#y[(ɟgq]ƥl\Zj\+آpHq:.GFk 1 e1n;XCEރb'[8e .v-jv2q̯P7OC]Ma'O&1%P,4 uȿruog-4f-8M2z#ӄ K|Wr \Ei0|Bpi< c8!&_5{vgكfmA m"ȣj1:b=m+:^sySLܼn^yI2yת+ٰ7miNS( tѣ)Nի¢bFcoW^4&TmMw;#ٮTI "H#,)4#$ҏJ]6yQ3H\A?=,Nr?)cDfoa3ELTNHpŻKw7┓TBDp> ]k& r7C"K^P՘O>4߈rڒ|T`##EO0 Sƽc5]z;gL,m}2&E#MSQ!n/ql)ֱLl}Q)gn m%u}=*>g?u>ԦI]7"@ỷ ,;sɌ\(9~`_.GCXY?m`tTlX7`_s o!ŬLm ~QʥAG3$#E2ҩW3u3r0|h dX@WBuX(SoH;vS}#;6n$7tּԮW1>Íݵj# 1߅DiU\Z\ ŏ""q| Ԇ)kv."O1Ì4V64Wjg3yJ|%R-3H=Zs5N<ӧ]_ymMNb= t&h)}gvm$Dc˓hbުl\`yzR=e٢wE+Yb'8% `ճy1 M@BqRӳ3'^N_biN2.憉-)$"<]ʂ:&"RI7D{wpxC)D]TmhHg6ҳp~^|<_ ڃº'' ItA@ݴp)TNq/UWKC{ϲBO2Jd)f`FI3I%XE(0e>h&dh4p)x(͡EVo4cEo-83t29Oh2+&#)^a?YL}~TȼCʥA p">|tZB bl1,+: 02@S!bג>h}wBŊef)G\>n_FpQRUG %Ǔ}ڡ28 `}bǁ 9 :=;HcsZJJ ARC Y e%d6{"@NW&ّK>/M5,A=Hґ)ZRHFo^KG+})6T}q-{Q[+߭ bă<\yg&4E*`*oSco2ޗ_T@ W,v(?-`䍊&SƉlUSQJ.K33D GZE{tI ױMAw|P y(Lrr3e,+[.oWnqz(=@KR-±d`| #uq"';=AAY a˩k)6,!ckoEeߠ `.׵#lf#rHo~Ml V%i`xйnWF,;-$ ĠDH kݼ*c9lL֠zN08岺7ߒTuʚo@e-q77T|@˳.A˥z.#K;E)>P 4 -ЎW)f9#lG5|PZg{5x9}sۮ 5&XطjR!Q c-5_,r ㅔ9lyeu^[s<«Q*Cxf‡CG 3qFLM{)yМ1UxKn{{h/a>zU 'ʫh /J?;]i E`{_QȾD3o2 s gmԊ"tONc9\IRI$Piń3:L* n?koPϛGS.Z9 Luד%jFXX)_P7,s#:qșXjy9 AH}β}Rk4*v _Ce=|#djk֧|`Ħ7AǛzG-5m'"lwN}_}sA;xq+A6#@+Y%—ֿ&I{N0$i8T`Z%LōF8m_R+)GPcEu/Rܒk#Np9汚5"6rf`s_swdר0#\Y0&aQ\չo_I]>}:6MJ:*=Fhc)Z|k3C'5a-3%)B"¨˾~3WF"vQns'R!<徽x$*{Π.'9VPOne_Aq ]˝,+kSjs/O@LH Keh,Yՙc'ay5'菦bj fBl[Wm 1* gA7 DzQ)%@t(f=$nZT~Oi ꑗ^`ÐNzE*_pKg6}k;m#rzA#6RwE۽/+QK2u[o=+?O2PT2m5Z?2h cH AV :KrV2 '@P$qd=}:D UFؗXg.I=jcЬb(n IQOMDGZ`~ѥ)XQWlXDzu5@5}~w2\Bqbd|jVE;[lߒ~>cyt]aQu(9}kl7j3P4eKK uH4)Z@2 ĖG5ў?fsqWIS/Нx_]&af!4KkS/PV]''mc7rw^Fjlم1ɻv\חIUϵ ϙ:G62ΜR_)J8PθHDKu΋.{5qQdgvcΡДgx P_ TW;J߽2IS{@&&_lG- ]'%'c_GuW"׬MkǽE!4m=ތadB۪I6=ea4*j4)25KrBD_zC[g7Z䓟vf-nox ABNqzd+lR0|)޺PاdvJ$+;A\5֏&A|x50bHJ:ܓj0?ejՀ-oTQ%chKvz8ey.{#q@敧$ܾ- B3>Q-18HDdէ$~'S2#DZ474Kg[t#-y7Sg61EggC4Q͒O~|Ny 7[ "F>/B% [}Kޓ}=nsWqsʼu#L^sg{\ll B=Ӹ95V9xvKA4OTz wnaIb2+TKN|h{wk:6!Mw!@Ԫ}ʤL*JR] sS^q / 쐧pPDk{3Iigֱz(:;6rh_#@<ݎ)W@ϟ?6*\ƨKm-"ƂQ^O\;6:dFmttՠafH'$Qa-U:U_ZngU]`!$$$\ ]mE@[dsؾ%"r\sgwxWɯJO HXJ2&1SD3M?&Bp]}Ix[xe KV·n}96+5m{̘IĎmS2zO꼃c 2pH2^vFFn[NO6yzʈs)exCx愌PmM̡R[^:= U֥Bl4B0pj]CaOWp#V؃[Q@"'O;% lo* B*f-I}WFqufY'׿`xc$0)`e,O"x]@^mL2L "♤qT^KW9C!޸d JUOT OF[g^D]ޓ**-Cև<)B4a06A]a>W?q^K5ҳDɥȅ`7 [iƪQ uEjwf"55"d1Ƹ< ^~q<*c̹+v~Kq]vd٭0<6: h2]ϟ"KMo| ՆL#iڰ,&J}L̴K K`<$f[ 6ĉT#QJ2~LB~$k*-o9s/>J囓sǢաڢ`v 10$lqgۼk8b`,jQ[c! ] gfq21+oJ #WҤ0b"}Y `%+=l~s)[*FW]{SL .͌^XYT-lyhSS*{ g6 nfuHf.; ![ANVqkG(%hUB +M~ܢ6] ݨN19E^-]m|6}g Oj )(! Q ڍM¬VM5rDQ_+!pF^ ڟ(0)N27^-ӉF&iOYvS&ܔCP֘ՈΖl\bMbu7:GKZVSlBr:7R<9c=0R`bVG祍YH`GaZc a˜^UlR̔FQUz8C-ch+B߇>g T$T%_AUՓLƩV9Mz h:uAOJҦrVDRzn"oAH !=¯V@-YB#g #.Yh:gZ:C0w|h qQx^OU͘#"4!ۨ6gz/ R6%xnїkke˰m%[[ZmD-c9'1 zѲdo2zF[<]*kILt;dh*>[ |x{L`q# |-QRD<:|1T&s:d?U/!t*s NpagEv' Y3 ApeTjиf/"kߓLf(s&zL vUpאּ^[Qvn[+`,\]LDڇe@x_ʝgf;)Pp$:\w*/?EDHɒpG`)y r@[@lwVL+ v-6G=RZsGGQ^*"V@ g[XIIvL>0%W h;.:-p+=UN״ʲG'WNqwQ W0 ~ 1Ch˽00/:,H_:i@f99}@d aQlZZzԜ.^C&4[4FO'QE~Z_JjǥV ,}WV [n{Es r"6ؑQJ'Fl8d(SK0STj){i>AOlb*Rb۝5O5}>"c]D`Æ_x0pR֖z[ \=-WdNZR9KzP}|۬`$Xkz-O-2f)[pDt'7}ob7rAv# ]4} ?)qNZzp^41+*\)K VIp`-(h!Ey {$4DFP{Hؼ( .䛉|*?%v4(7x=B߀lD!!M$ߛQ$/Rz?*~H 1 E*o|ďE`p}Wqzf?hC -o\|_0KN*6KVkhzQKi@ 9H%&IÒNX:a7J©jlC0܆o8ED$v%MBgHIn8q v|{"Q[aIhş3lK.ytkKpCAxRJGK\/*"\DH>Ao ^OvLJstÈ,3Q7y]lӵЊa89@[qϦ24uD&Ie bY`ihs" NƁw|/ե$x4ғ{;o67eѱC7o ȕn7NIkQBRh.P4NC(V='\(3Ǻխ)I3/ /ϓknZq@/qg-\ ME0lCN^Rlשm>F+ҧDeC}8fhC\Zxcw7C"Z"b~`My++\&x_!ME'-I!$ĸ'w\8ǦkYԅ^ ;'V@j5]>:+ֵU_ʽ^nmkϿz*j (WN b4cJmZsśy54a h8_` b;VtE([V暪H?8Ci:+F01kAߵ27nx$yFwÃ\?x_V#{pb$kNTA=3:Fc~He^a =n@8c(ef^iOx)>jP}QZbN` B8kj'jG]a5IW-^UC2OXWFM4c`> indOY,*i- Wr|&\ o0]7 ^O(Qßʀm!p*yӫaemL $N^Krz7FWR8:jOJQ2盁r:9668f q -4'/hvj)ƵJeCJXS!l}JiXjP}#.-;AZ4 ibHpݗswG~m"u; J>A?#Fzگ%GTtD>iC:Is @~&Y%e(Ww@<,NwR,mMhP`^le!xlBzҨw %VZ dRݔܸ2Mjm K~= nayA@'WŨ5#anim:!s*2nsWNR}/ ,Pl jmߪS3+iXМd WutQĹ^ɕ4'}sqd ,ϻ4Jm#v ~4SB Yq `35rɍ|BAtryr^nܠwM yhDmќud)ɚa03QvH4BWPˆ V<(fb<{>xB(;籟駨G>Mß[>g`37=K>4f\ZEZ̅[X:{\ʳ'j2t!kIҸr=voMk`x5]n˵O UO+liлsz rFmH@&:u12yay;ƀZϝa ,f=F=TSrX+>Q,K{xX=Mph66ٸGP֙d2ʧU5ω%{!/h3EK\e`:u2 Rqe2S!#$ve7nݖSO rFw Di+oа@S(Xӿ!I+ҿswX{,r}B"` JRĎ@o~m-+?L啽{4NP8Xߺ Tgŋ؍>*:fLs; p -u/zB5hXN.Ke= 5C̦4_imFtD"'D< QU3̧@li/\/a5/6r a.1M-U1C(tn={;Q/L*(a$> {CVՍ}#Ż̈~AF7o?ءUXC ,반jD28 r<;XqMu'r7h 0Ht2@}QIJoq&V!}Uz@ꞯv*& eF"OuE.ForTcxJ;%~ C幦:£b,۪JJrGY VJH>P 9E|c7}j4~[dL*Mێ cC o>!wYL^,. 42?g Z]77]uo^x#V3)j|@F<1 D!,EXn>HSzяuwZmbo YR631 S<>_KHFS%:6[=u#=&VVe7RTP:~Y%4ơ6(M!䭒H4eTZ,K}TJ}>ϱ\@e =54tZ4j0mьuj46x/hP {&YɛƁ+ء87BKW+arFg-r"ĭg8^î128~AnB5g@DkLF=<^l~ # Q*&}:g$?4m a+U ;nt.i;<lȈPpd͔d#0U~s֣ VYqjRKĬܢ1lZYR t5`(FeJ*EУd YQ yAsЏLI7@#qb$)h|^iVm mG@B*;)\.SzPmXxkHi 5LAXtk j57:cXUv*m3}g̒MkӊVF'hf=caDn8$r1g ٺJ(O"4'&rMP }[(皆+fXt%\/ +R,T] `D"n(mY7Y<߫!~H=7m?÷rJ0~z(E?xO]zlu@xhu @Cf׺IqOtѾѷ @Y7{3&QT !,vA". xG/'n6[7$swv(2Z:0di (f|c܇ZS+MWezuP~/ WnQ.4ӱ%BS^ePzz`cHn1$~+Ldr<@w9TtkLս&'vgBZb҂E&piZ #vO" tM~%5t c'!ȃBYMhm{QzcVo1F!PvcUzOl cqm)awj~ZviPwAG0 ygO}2*ҺzfFb&/ujDC,(^DPkf\]07x:JJHMsW6=[DEpVFwBGAyU0$[nׁeLӴ3@* {bD%jys|O2ʉg7.Yw_ƲhCTC+|OZh!i7#Wb!TԣvFC&ٽB_eV;.Hf,-hp&ΎZN5$>=8/"_=AXQ#tԪb$z-բo*!u:wp`R&M%cIUQ5ld7qJoF㪮:bԑSWƒtK)!BB]A{YtV:?\) f[i ֠C82ͧpL iRnNDF4e _~|pc_A/G|iLǧXcU4uMI_#R+ŝ׿K[@[\7'ܛƔz3"S,Of :+U_zn(ZzWT'PEOA&XWw6Y->ɼr4( 9/afǻeM)dzJ0uFPv+߲Gߒ]5$v\ ޵)`(bwNA`(u%7Ro`k/!|4A45NOpK5CSzRK6y\j;K&lFcwqm濴)~ÜW0 ikNTe4mIZ FKS8(wP17RhJ\G{Є3Pq5diK Z~Jd]7 Ioh*NE=6&ե,3*[:T5HȰC_ǀ$̓Tc:lHݖg͍$u+%ʹz L7[{hthO<}dD5T~1X0k)6H1)[W{҃ga5*dos+X7)3 ?V>"jtSߤNj!/M7$HFc#@j~/<1aj?KóZ2BژK\o  ZB׎oe%#:UGP ξ=hFըW9/V?\GF~ 8Ilgc065M =DN+( @՘&Ii55pBjiT9jI;\f|t]'K&.RRçMalYEL4[7Wkj1=:8&Dҙ;X;OC%a@P9i O~'׾ FeIK&=`\Wx~y')aY@ ~meނK ]m.ת\Y7F=B ጸZE+ ]Ц'_> >U=S^^בKWGYbaJDu^Ԧ\BP~磸3ůW'3 rJj!x?Q+{| }+rŶ NAv0rD!߅MP冽.WOp9T(ʓSM`6rCgO6DaD>: ύz) uDz"V1L#Z')0e8.tPKQ~AC7%(;C; '`*v@l&CCIMz$T"տ#cذQ%B 1|m; `tNt앏EsUd 6(KMYh.v wmhr3TG=}ixIy&YzgqT=/|`Pدuw.k-9yG6 ~;{RĜ‘D.BXR=Cs, c׉;j"Z,=Ï0KN(h8d)l_}M6d? ܌^/,їP Z2d~YjB4(zd Qsz 1#ͧbs0;+Gccke,E?otH.=ک'T1WfAViJ6I/ 37*mQ_'iT*1Hqp[>lL&Ps@塎kM_R4bx@ 04ĶMT*ϣ^|ejhP"o\EB!htUquGƃ퀄 &M5S%-VXKCs#=E\&ܵųpd⇐sc1zq_ėPChW\b ޿W3p+]hv2tЛQPy<82G &NJB-Zɢs~Lf*_H{qUBvL8dՔUr<L܏-=];;ٸP5h|F3J> ۸rp?Q9?oK ~W«y}8+{ji=x݅m#2uk\ݣ2!4V4& v7_Č{q >n ;Af-vQ=3j|E{ńHt7 )X8ȩ.c`]259ͅ¿zy*x$͛"Ik5`hsLg9l#hImi!/qdHUmId[W}.y=[@`#B'FUI KvZ"9Dl6#,@6JMZ<#|=}ģ%;>fu,~*iyN܌X(/̕#xΣ'c{£)"I% !c_#Aˬd:-K@yXw=8h,Kpf5 2jYMQs 4X,y{*R6]p}a83/{Q4YvU1ߴQG'ׯgێAC;23=#xqwa*}+!UvWIÝD٢3%,քTb8VC 2'GU,AE^/mE޿,>+޼:X/S-}4 &' ,v{gas#wޡVqv 7Pch+Ehۖ4wuv&zߧͫ<#d,~WIՈ$>]cɽa=982Dfs}ֺ1mגz*W[LG,ѽv;!ݜ^=Nլy^zCMI?w' J_b3յ!\$zg+= sjZӓE{5'INsѫ3+066:d?%7qZؗjٯþĀk0s1R# U&r'EvQDћT]s "dցU^ILȇ`0s }8{ -ŠlMW# ٥"FLXo:ȫ{ P髷G!Bh&8.dSHv 5m(Mo7$$:A{9/S_UwF/:&%f$bR7ȎwsѧZ//JtIiH /0:K@3Iw47ij6Ǩ BBRA̸Ջ=I~B>+:(!0,9-wpdsp{#$P̛Cƛ}˴2[֫p1e9UA>| hpˆY ZW v;NfZ@gcHe6kzOw*],LGw:*aZO*&t2h!1QI ut~nPp\10F_Tr+{OW1_K'Qx)3 hYa c` {KU1ݫuG zj4=jexyp94>6?>ihLýY+@9NH,o{T`9+vor/ˬQ~22C>,[m a l RR(Nf5R?;QHBǽ"Lj!'1B{ɿ)8ءv+܃kbXp^kāxaN#r=~oĕWVL$YyV)mjH8̲< T,ģ;¢I7r︙0"@x֮e2THksw'塵YFZ" 8uxuމ[Hd^T,%KOtF/|K]^D U:dν_W"uWm!WRώZs[-Y \kE.ޏs=l=n0["O=SؒsNkT7/S2ֈp,ҲF:i^ [cBqf:oV⾫˨9_O\@چ+Pd-CB|D>WER&)ݲmd{o~*iV\2 B\Vq iy1ZpCRI˧(-R24,a62yv|n  ":BY2yvJ{d,uL,iUܠ׿jnȮ sBX"SCmi"&#Sv0ZB`K+QLaxάs?q!t}PcD/fSލK鷜Bp"Oc ^4zMma7z芏iLzߠ ̘J4) +B"-^.PcJeWo'SD׽}-{|A2gXD;Fp ݬ-(bhۃ 75Uw! Fʿ%HpIypl9Ǚxpՠ 5HLFce41Wx+JFmLe,f%)&% f/"921 R!00_hQ}f Nva+6XDTChδlLDA(xQ~t-fnqh3^L};0%t-=o_\f? j Zr1-7`*/M%}Z N{|UWJ2z{ȁb7cU)q5eb8.B"Ktq Ώ@]Zwgn<_fjdnsHdc4WzIA1)Co|*0Z։d?^.e')@U"wO|c'!ʊV2 _Hs=7Κ)A1$ RR.nqn qbO#R}:M$}zYwxRw2ھD0='rN2 5kDk$\pWyHP)NWh]If o3e\;/#xG@޳4F 3dp71wYO:D|1+G v^V;jXَ;I)gE& 8U{/#tc8utqUKUCn֌SnB(`ئ1FBf#`F*P 397Fr2^Yx(V5?ƭ؅*[bv)!&\(R)J1\8A@J`.+-h2a͊fqfQhLp5xO$+6s<]b4JV O}tTљ]:?B%{Agw!3XWMNEhX .Ly?-Fۃe}*jdYolx!.FN@`)G(>X$>@&R@O3O-gF6NDv3o@wd@JJPaJm$D4,"3+W\l2]>޳׽^6;mVt昢i5 VACUg +ho®z?U`\-`;DaΥcʰ׌;{z.]W|ayf{<`l<mV{y!eA8qe2軟s#[7-3awRY 7o w6l)3kZRa&E@ 1N$3U4Jlo,ZU>ۨNmSv;e҉j~,];>#M)wԳRd@'ZV[m|8gm򭂹),(б\u҂g"vF;ҡ6*Q䨟Q'0Fl+/L~/*赘> Zò5b qf~漦L@2>o"ڭv|! Qlک6YUDqICtJ% Y[WߛJ Y Ao3nХ֚za!P0 ϚUWh/WUWmB훑6>{sxSC |BkP0Z6giY "@sk-@sbr'[=Z"`v@qy\!G Patn:ʲj`!GRjYgķ$F }15Rքvp2 =JF܁t zJ4"9'm 2l{ sG?*$03:jgR0$"}ѝRx'' 2j{2<\p8E˅1})^ˈM_a5\v'eDe G] ywƌ׹kօ4*ʼn[fl/V5FD P}Ed ( ӁW{x:}X 1z,viŝͻe_MX& d1=]/4ʝ4tw$M7tB1NW\!$4& Ժ#Q"s)< EN,vT&H&>bd3v%H&(Ɇ3s}ޠ>{!ZL{pNyB(A өpOL/V{ `UK۲<-!km,ӗOAg[Uz'>q[#s/m! ~rbh(3҄\vdV]9@YJG=YV |X?VJ馨hTnxM&R7&zΟ;dkZ4{,` m\sR<#C͍ERX=R7͊z }$.uw n_ 8 瀯(@[RAkٕvI{d+^y*fFS-]vDGpGVQMMNkҒ}ŨS])={_7LAEUi6:7ֈeЉGb~%d)#[8 ?$%#2uu' N%4$$D>BGrH {㭊 G̚;^8}q"c\ %⢬ F jl'u2$"=p&gEMMAc7>3AJ|%i8KqH/r& m-8twe7 ]}L@Bc-6O  *4;). 7' $x7q!]P6 nR&zּ0Ox"V"&AJ#ߌl)T?Ձ8VVYQ-x{u8×ܳ GU!}~7,e589:H{V3#|-?u'i{ߜ-WMvgb xV0U{ ?b+OpbITs{?jʵF&N{ca}r;u8eޕCVŦf_K nnbA qqgf8C?=M8efKYegTotqFfDIpqWv ~?chJFN+M0OǂLl"^ FSJ}nm- gڡ8N`^kU6{(+kſadJ pt;!Cу sÚKQܞBep9tȭUcuISb\`/Cξ쎶=JGB|O5`δ6]Ϩh|9m5,=R`N '*"m}?r8洩MksW*Hb6u tO#(v󠶖$m kǞqg( E̮[+a|G&Q|* 1ĉr 6%L>6]3l/9~#nWbaB)`@k0&"xsdΆڠV|a$y'Qs$CxBTVy/-,jK:`R_{r>[< 4wQz4G}K>᭚]+0ty:׷)F8ɷ|L=;rNܘFϭ<n2 %.in9&TWxE~e ~4$PqMmN`^jj"(p! 2pCظg6u"#!դFOL)_ /.ol"ru!|ϭ{")1CaSUoS"VO&6Xm'*Eo]\طΣTQF{:;'"Kn|iiHK)t2AϯK&@$~Rz M>n VTtHn ޒt5vQ~IS]WȖґ_(*e<Cd=% #Q,:t؍m2t)#ϹG#+{mb; pCҼAId eCX0 &̌p=Xqʚ;_4(Wb!LoYU 7c9bp06,;sh@!.Rʯ BH_ży [+`y=AnU5fk6WiWM\FYw l,* tq< tGuٲY~S̾ewJїꀺ72•p""D~o:%<>" N!RP0/Cr &C-6IKEJ`vpn1ˆ5=KwPsg鰣zq1}<@ϰj ߽MC98$pm#Z HBia6~́> ce./5p;\,xy,)م d>i e+!rޛ{ť-Q# ųۘnS ojҮr>I t{NqmL*;STY6喜\?+(iQ  / ֶ9"@qV)O}( (^tnb#sVWPe."`'s3S _rUi3'TNq07S1mS߇,@n^i 3.@r0z A84|sfd2 ErëCZq$Ӥw_^W ? y{{ oҞOȫNH>9p''CPrx=ElO$8f߀|j:vGb`9 Lij>5M7GfsO A{KcAr1FyK*Tw_}Mfnec`ɱ6L^ I @(rqTK݃\Ȅ|T8v%Syl%HIit)Q.Oo<0Kw)+W.>Օ =/ru).fEwwwxʰ*Q <$[?-Zo\U醧Bn ta% V@)`ĒhWxIW/ij|31/+h0"?|.\^V..tWuYݺv0 P]ɦaδ!ivXJ;~ &cwY~DJ[.F\z3MU5#ߎ#">{{.2էO{l@_U] )4mm∵Wʓ+nK= N2l*BslL9,n] WP`Uz˨q3 +K4{c=9e4t l??}I6pn!TqX4W r~MHыsD#fI+I7L]|y]nht4ӯ!4Xa4PGC[㧃2&梻[0,dN ,QV[Ԅ_$nhݫc)3 /:/giIBJUT*n#Tx3fǖ$ bJqgn_P'k7M&8udI"ews2hvx[Ucn4^ 1]2Bg Ϊߎ=\VBT2E{Kű+t;ݴFVMHɠrj2# o{G f~Ҍze 4[RX%Dey\>l~$V L婾UvwNxO;E%4oB R,A&wdAd|=Kũ 06]!^10$o+cC,' {; +T#N1PݝzHa,Ha a/xBH}ŗq^ɋW2YP01ヅَ*L@83y e6aC3MWf (~h* H9#F{2LI#pd{D`/F_3TXt2-VZ7AVQ9Yxˮt[#IDa'xkp0ͰMjpP(e$**)pۭ u%cSD<:X;^1ģ}{E?!ܜ''>6氱uC F/=|Ed|vy~N4\+6Ђ8Gejx<̰ 4F%(1PAq#F$=%`qdKR۲H)>@)f3c5Zc5K W8\ ib^]K_shdZCZ);oVm4ü\/+2DF-J—SWBsnGlGz|ڢΐrk*929bihl%"hRGp%]~GJ:)c֝. !Nsiv+!#[%8mq-N6Ir ~EܾcN XH+tkBoC \!d2u MӓҮF%B33Zw4ÞuM?{P0Y[NP̬ o[Lgs}C&쨗8DqN^1Emlmd6<\=9GPZtXz6ETxc/r{MTmkMq7VXצ~Yh m0'Sd>~UH4gCQPo}H!-9h:"Wy2s{Gg< H ~"f/٤Ok*V({_ZIZ9DzUTN93ߦ9vwo C|GU;_yM}W F1Pdaw/E9Q GJ|NW~L"k96)'9)Ӧx5.VX@Dn]jݏ;̄?ɽW*_iH{ڰ>YPs@ k fkpXl'8 ;J E'8tdWF‹7]jLN$8XͽSSܪ|1a,Qe*Mx96).4rs,jQJnd)x_`TwB%%4Go 6*%2l`-Զ¡(;/[̍ˠR!jJ Dib3Fn!K'zWР=Q%f=El^;zg,ߠw[Q3NYGSӚN-p}sP\i]Sx.v5R;^ B ̶+2WEoӢ5#u;*JBܸК"c E#up&.y!0nĴHJ`j#֩2.Ũ^dv#@JVDto@y.Kbg8g_BHhIOGE*JߧtHXV)T# -ᐽfˑ3__HKɥuV -[PD}]Ha[ٹ6&o:Ɯe#Q&i-έe%7Fgd[S Ƚdi={޴;3$'$RG}tspGLOOyu55Xm{F{@]v,Kf0cUPvC:*t&yγbx}IhkΰKb/qf@W 6!aB>S(4Ʉ[*"Agd;#%| :qflc[,pV/)R:&fvI,_B ߳lJ)YuD1( e>-ȗHdX=d!X*'C^zPP!@D~t\(Qm*C,4t6mJ/1"`o<) H{ 92<^_FE.)S.F >2r/arKnju#99Xj%u3;cAU[s͌>[<:[jAL k$ΫvKbx %g|]|4W&?J} L0>ie $gSxk4{ !wf=C J`nh,9T' wu{D`&GmNY7>m2!S|_$(]2uHLKgbC7[=8"jlxG`"lƤLXqs9Du^ c2<ӻ&+o8v~1¢QwyXpJ3(p^b6iZ'PT,iW4K(cѝkG@6qn32P/=5p ¨2]}<M;K/I+>vvdjDq-l] -Ī[ §,{q۷㐆 `B3lɘљY5{A f@=%%b$e`DWlLK!ɢVr,ԇ5#Y Yϧ9`y"UuʀT4aÌq.LZk% ,'~aA䴳az.Mf%RNϗq(j&XdyH/Zv!sUZvǕ?l̶;/y> 1< |5ffX: M,uKw6G羢$N6e6PHyuE(U|.NO^ivoVPW:zĎW:2SjZ!N -i @ 9sz9nV UfSHl20S#￧v@m=;d>Sw\ixǺcFMk2'W>FX9yc57< oW%: 2J̬tfk B/kM*6T`t z&EFZuj\m]܍R' ソc%R=d="\N]sN=v @ +㺴657cZ!>u1v7J)kGz6ZE6p站p-;ۓb|8EZ/~ @uR>¹Nt(T7 #Ef17j{>0OQ<҆^G7!9~.Y܊cdvbjZG)׮5 [m:aX'cv}^_O1ÖL0 A7hs:bi;@A)7+>pV7kaV|B!xMZ  AR37 jbB,T-!ٙ^~Ԣ܍Q?\VSBTZ< U 4u/7ΞPh+a"Pt.vSTa6έ"2l=0f<w*!!z!r˝YnLx1pIK5'r,͵Mgώua|s[="(:XϖKظ|(ځ/q+Q*;;™&\ת@O+Vp{KUj54(K)3qN F)2}(wgHYk_-Գy3BUlxEO^Cxi6?* ̑ѱn<2F=*޼) а8f $K-(~Tl"P1B{LVHza8]KiŮrk"|+R ;Pʹ&^ŶT)L)(o&]%\48FMst3/ߎR]f Gr#4$|09&{]P/zU@&Sլؕt/~7Qk|5jI퇹q2a[l-y|*HX-F{xi#M\o4.d|b YۊQae9y”ZG 8마 x*xi25?sw:V+r)w/olk]\`:y#I5Ӯrqbi=&$a'8ư_k]́Lwö_8޼OcX2;zPfo{t,hfpr6rWtdx>bhqj{ .뎰z/O=M;5Wb6?OYʫG ~Bko0SYy+s0eaq.Wbyd. g h`0%PO9[ےz1 bz0;B zڤIo?7geɷưSDфfl+71AE JJ$ ]rIdpOR t6"2/} 4KPv\po`S݅SF,v*2`=5mVEJR|@\Ǯ!eO]ؚTRw>ub$Dtx k2*T.PG*'a7Pj5S\ .Xd})21O)23"rxP!]дw8gAyo?*O3S~BA,Έ9-"I\mDSDv?ރ ˒- *YT5q%MWɳ-d-O>O!!aLй\&ia@!Z$k鶖}ʧ}p<_\ U FћcbĜ kzqE4,m9K,ߋ1DڔF'?2AܳZ"ay=ꢢ6 XE/efR [VL=^[&jU*M9ݡގEpp~I[d;#aYžlz8ڽ G_DyJ=e5a^ވˉEF=6Sk nx\O]TTrF˛Q3q|+ N1>S }=WjkWKڅܩ# -bA |E&B؏S)x1#VtK^ L%tS;mg" m&NQJtO!GCFtj$Yt%T$G]xe}+a$!H\g+lw.#mn$a<@1q6.5;L~Ӱ'a[e<$ߠ`ˁ Ό5nhA-,WކH qc$}f.z.P*(H:5GK$}kO)\IYfg,*w/E4Ӳ/l iڢ9PsGI47ӢXn=G#E%TXnm< .m%^"+P舊;Uг/ [NvR9I[k \ԄPhMj_1u<(tU.Cȃh#vtnלxR˂J,Xoݶn"7r_r|pP Q0n6`MM@581Ϲm ('/-^^Ls IuC+.#L[j$U@W>h <E ,!)75d;^S7,aӮX;Vi ņu{fZ #HB ÈfQ4RR 3|!tZ[H)OtU;wb%®!٬E`o$n#w!ﰜiͻKa@wxp|a>zY%xH<a^T7h/\}АBΫaS'RF-_&(H4\7HSIٳC23'g1 wɲLdE^L?+Yųs \fg%ZWbsZM(l++'5=IxT އ`;X ?'h$7T3FH}S|5sZf),Ay/}Y&RMOHV"֙?iFI+ T2yMFm_ccW # =r26FηѶ_PF|.`q<׌*qw8MSܙVQ|`Mygf-@u{z["tw){ϫElB^ [_F"f#gEfʱȘ@Ί[1Zþ\b]=^z״݊=pی|uL kYC_5ZC%˝PkjIb&Kjl! V ͦuB-1eQ4)'`WewC}=[[Zx}vgsw#}Xzu%D;&B|϶=3n6IȎ~Bԍ[(|T }hs|#t(pN)M:4txv ]!$@jy\J"gsw/)օ/=I>#F]4"hhA1MKO_YUD#i̠wtc9, P&֠cߋ85Q؍vHCw8~ @gOuѮ+1TO:XHyK1M8Yt wUUnIaL!:@:M0#4ͦ̀#ݘ$3@M/+|j[%2&Jnwo7Q3wmرf;_K7aSulAƟaވ >&yV=BӶiB/T)g 6_oX1lٍD?כj. zY܈]ULZ9SAf7zatt?D;[@UىcX0v~=yyʈ{'r_XMjf*C_&Gp/]{ ڠJ{[. x$+4o "jdsGƕEFu !ıF˄a4pFV'o-<c\@2gd]Sy"͌{D>>3"xZ|Dވ>KyԽ%N}4ٯ39[W2 @Xf([z %! Q,45Aċ.A 2C2VK59Ffqt7ZnlJi.|G:1 7Qu?a#Dg;i7KOݩnM^wʿ,'j\ex7?kX9knXsxB@YX.c=C`:OPC1=\]׎2rXۣG:״v ^=c-d>`+.ύ^qwAA\la0;,ϴ GςARi;zV2o,dVLrtȫoo2!,WږFq4U|HxBܯVJQ㍳th6tv;C'$Ss.Fa#>PoŻ|(fr4I!1B`,[ITjE*䖡٢^cfa䎲.ҹRv15{Bq(I=?2.JWI%(ȶ}t.IAFUv\x@asS b[Ԫ*fOR)Җb'6,D%#;C谁}0\팣o,j3 eIOE$W8 [Y=Q2Ur5sW x|+eF77Qf9{ iR)5}#~N5bW(ygLв{%%XTE -K Lm-/U0 (>8=U's /<48J[Seg;{-oP{]\U[+EH|x%ˌiZ-+7}K;4Wԋ0`L:bܔ}g2W'BJmq{RmĦ;Y0$[#zN͍|;5:Pˡ:l;[ eg9n 㞸_~ 589ѹpG<;t4)1O6iGT7m}7CLL}Pڎլ1Ԇniƅ]w~FYgϽWï._r47a)PT't)JZt@WJ(5U5~u194v XwͲ0"T`a _QEK MvNeV'C$XJ9(F U5w\6.9hV&HΒ0Kp8p8_#|2w*,]Xlh뿚yʿ dr+ +[m:l:b0<F!6?vOl>ܟJJxϡ̅@PE 2aN23dVI87bQ+z*?1)1~Ui(5IFμ2X&A-| Y3ؐ*GJ7xc62l0f[}P4yb}*Rn@XelAd_4~Xڳ\ERQx?1sw4U+Z*gs,<>ݱwaanKt;Y14nv[Fi p MM 55aIH=_z1=O_ZsumP?obE5J仠7s_ld-%4icB*%yٚ:_8u?o/&XBʵlڽ-}KB~n,DY 翆~*sED)=ٜadRpӉnY??u_th pck)lr:#2oY 1Z|*1XንeCd8k`CI T(di(~+H^Q9†2.P!;y;>pzF$6-|H2`͇Ĝ9M 6WtMWXN59kL? צ3),qz:"awˡWt$gG7 T%ny8W0oeoQ` o o"wsy#lj_9Z/4ZlXI}bmG-Ĵ3D{Y4k8im_ $Cg"Ze5,HcqH 9rQ>D'%@^C6Ⱥ̂y%yS[1 Y(]]sDr WQcɴpix{ :c-xб.1b 4%dxu`sSJ@x'v4ˮ=VgßwGV+i"u]0WE 3Ik# t%91e?\kGSB#JYETMeWg"oۄ!+&K;LGD7pqx:!RB>R,U[dnU㼉LQr=q)sn]Ya4S9`-J[v8Ϧ=@&di z@]g3m{VUUK:!O›ի"t([/I :a`0$@Y=+٦;Ro&"6`5~MRwjcSz?pX;raՑ=vE i:jӔAKS^&t|H*65[.O񌎣S&Oa`XT?$C;;_7bHq5^ A")V7 B0JF tU-:h֚hIi=}lqzuNlJv(k+W H. By~[i`>D9_r%Y~a; Yκ$s '8c9N~`*F·| ^]/"`ͻ$Nq6ݡ Z;gT{u*ٺGsݎ  aD\K"ܨ\ M30X6/Ydlw"rM<7myrnvKO6*N-UHUnܢIp`  ,ab7BB}$ zЛ2ģF{# XE (Do9J=ytDz?&) 3썀:QBmm&I ZD&ϻ'6FBm~N«ZK*V*8e.z(|c (ՙ!w  KЋ bl$ hOWFշʑF8Fŵ ~=$EATFw]yܨ{Z^+G`!ꓰb@=n[G>#0ܗgu>@ۨ: Uh4 x|q=nOտL3v*h(<c+kB)Ǐ"hm6Q*\$I:ߵOwcs',4nmTTW*m (ΏjYt_GA=~X¬6Ka-xt cD|voO`,ӛ33XX>%ݟ&`QJY7o貏i8ro ;q <0ӽo "y aU M̟lRqVkf KB%]8D6 BMeoZߝ @˟/Sv%UMdž ZشF(!"SYÉ uw!ڟ_fدGiB-fCT{vci ziB<:e@ Kd{z1LW/mGהmKyfѻTƦ> +b% Mղ,`pqQ9rZfDפCHPaeC>SR"0K*s)\/ {1؃_HLFz=s{}!66#$% 2 7+HGQMge`h/\uQH.ZNIs'dQ|y—DO P*]{N r:sDf| x 㮎 M0IVt(c]L^:Qf⎓ M`NnT>XToJh&8 Cx~t+3 v.F ̀ luL#RbZ ҄Kā> \Ӳ#cc;M$?p6d*Z5iELFh"PQ(9{@W>C>Qj`cu|%!2.U Rd tַ:qDHߌ o,Ӥs.=>mWk=: $áť/](\{+W"S9΍ qI;Y3wl5#xpSXK טu&Z|PeXƲ04`-ZtˢmEP%7*4xb@U|Lӽ ͛DJ8㫶Ðosj21 ^a\XJFLBHv>4ѾOeaׇ0FT r *~ِuk+ M.+AΝpLT*PHL [IxSTq Y2>ǫf1Ʉ߈Z#%]'IN'Пens2[aZ Sy OY燶r.9 8a8pnyʕX %1rǢǰXY y!-Ijp)1)Ͷ1͛,XDQ(Sv Ds«Q+/TV_h (վB 6`M9FcWwk VS/s>eI  \lV]ә4n!EW,B }|"a8u-P$HAHJF#9zבsVX?z_ Rvl k ^a撣} TbJ(O4ZyvA g-~ԉ -A}nz0nY`h$W9})+}̮V5, tj#5,]_&#ulynrIm0I1`~M@}_6Jqa6D8K{1ى];j-kVlUOy? ^؊u[>&8燻ADg> 庉GǧzCCH b ɚ2DЀp:rQwhQXe^M. 54uz0n|+ } /X>W]s!^q/!M;,d$XWg\K]bM_־YTʢAԈUU|@!^)M^)St| :g /P~y;,"㌁:[Xp]X۠wDb_[#o"FήűZ+ Ua$4nbrRH#d\}=1Sa'A6d tSL?|jHWVlsMrO=Im,]pU›KT:s 6h^L yVRÖ{E֦J-,+^QI&[d2)\]TAڍڼk-$ـg3v*8A38IWQťIi=-:MZ ň z'>3QXw+mK{D<\;ub|CH]}TS.JKع}[ۨg[MS2Vko.: _'ܵq+h_.&W\0ceXy'Y$s*dpF& V4 K UT&8[rZ6A]AMf+D 23֨5^^ &[+\JMXRP6H}q=C AVeޓ" om;9&֫-jPXޔVC|{ams8„?DGq̚󝓢ރG(f#2ZlϽ7H &N\'L'R8BlֵƃILkzvGZFFs5lw'n2[b-d'NҎ={Ɠ'R\e88쑁=9*A!I7{.(Gq;pB.s IYZ ^Ո&t0g D<X]2&{bCnr8*r>ͷ8vVj{T0C!D(\#[Ag^"߰#^Q^MQ0(fxM%D+b% iW2VDZlw]ox첓Z7QpB z-Ϊ=u&/*ꨜozI J{![k1, ٚIkTQ?S`!Yn3~xQ  Xr[~Zv Q00 ͂"'|ˊrTOi ӑz=o\4J)ݺtVK7a6Sv+@a-~8À`ٖ|2&rzBVA[t==t",Lܫ/e Ij.Y[S/˫db#($)\#?ޅPy@@s'@ͧhX7-4%t^} CD1-=qvGtrJnBP?g/[9ld=}&#D6TWs$rl_36vbU ?)(愵sҍ^Y1A؜pLD8U_Îy2I(X^./fEw*$Ңa9HSd?[ǶQ$ ݽM͒'^x6@Kt3TV&CTI]}*zZD. 3f˿=},^%F8J3Z@  >R4ğhLTO~u5&-4ibַ~ `<-LV אp* 80%6Z4?mg ΡG-ˌWu:l WtJ,rM#a;M7r3Czu3ԎB& cȗ oAmR)7nJhH6/ƋP*[6W pYocO:96u$CJF^[j"`-O9!rybeNwخ;,BpW' )~R UabO$ gպ_h$Ac N7)P0 9k[-ir/K~>FCQ5\= rG7]Df SVCvu9Ae3մhj&b}j"]\RNA4s25~kj!eɎ N#ǹ>_'E:-cZ-^*J5pִvMzzr0OC:-}(}w!iLCo)h*S:g \_AF|-/f_?ɚwyAnRLn9P$RN*Oe[L/8{T4dQ#]aap;h.C\iYޖA|!gVu^2Aa=EN0ryMSB^55d0]h)d ፱>_0jjnb"*lKf"Gfgr1ذUX:mAPE;|Eu8aCAIe-yu9%躯0йfƤ-Ngΐ' I]ƒl|σݱ7 lYc׮ydmL ҆t!q4 ıވpP^nkuF;!aZ(^-@pYr% 婕:}׹6S2y" (r=BZy9~BL7mV_7LƯnI;5(%_yEeWEB Z#Qې`. ~o(IMv+&@âXSK+C=9ʈ2$v̧ꍢ8A$D*ع T8fhR=k<-foIۘ7>nJ;/gE|Ue>O b;m5Gn dI46rf-YץF m:|;)I'mPu MObؘI"`m{ښ {- %GY8۶ SdNmcwozW$oCbq0dpԺ$jFĐ 3z{{[jڡqV(~V_of|)Z|Th͂1& CQu|=3M̳܆ e Sέ Ww7I^(12 HM/-faUX0g"0~M$gj9Nn/3oF6 ~W@ʵݳu!r÷!`T0q9ѡEF5wި+ǁyH,o6@t:ʛuJ,#senX*{ M(Z#GԐkkOZV>I*:# `tLօZ7DiC՛ :G,V0x`nK FGS5->9VsԠ2a$P9?uՍ:XcaUr6mor8ړ%ʤ>~Y1'dz=8geD2݉,pg~8CLWx$0y1bE54IiI4;b/1Z|ۇb$A:y"3,Z@]x&~pO5s>Q8q2\ OlCɞ(L2<x¯ce޷'[a7qzlc-Z0=ni#{1—˕xW(q>[\ŒTwPYݤ@(B[59ɼ^g\=N[E  ibd*Ys< ư;͒`*gp_ln]œ{mu,^W՟,xnlo((8gsltZ ͓_Gk]4hM vGLW9o]'Wd[ZGN8PУ(HլF`^LenY/1*Ȫqw1 i' y'V],fX .nGƠtK&:b?,aN$Gw;$Y8N| B:$8/!NtPW2cyLLrHEdH㗅[d Q6@~q(mIh'izCRbdk,L68Hl Eo4a|O ހ0{;'_jס!WwPno}JH )]GNP)~LmT5Ԛ[ R78@9ɖ T'Vd.ϝ _b,MΊXtrzcЦh?ʢ}V3뜹Do^Ey"Kkl1innK'׏v]ٜQT"}@Wڵ#*yrh]ZʕX#|?FzX6N)hofvh 3 ŝ=\S^5-o-ɂcz86%; mc̣73a)!}7$WD F$EJ}FC%d9E/3qM] _1@u? ;PISN(%Re,o,Pk/0.QyWۋ3BѴX2ǻX30U)MGϾ~aSki]TqVbA+ dqܪq>Y4,;6Oׁ7LƣE9=lýZ[JɻqJ~Teh:[gγ\{Vs.bꖕ$j_l{R삙<Hwԕ'P %:o;g*ݼs`>A(kAkM?J[QEj)q:)^jbp.$b 9)Os xt;Jan,\%@sOZ;XհP? 3Pw1CC% m|FI6΄7B&@q䣴)$_˺6,O)'~"G= |)億hVLn$Pڝc 8GOPвOFwcdiAA%IbZđ( H܌o?r [54 I)ph͚0g&8VeUGChSiZȆ$[K{"0mIc<:oC,|(&-`jic!>_ >=Ưx )5prWsNzzb1 JAU9i+I> ?b"b|1nzތwWG0hѻ1[Uϙ-(_"j SG6eղ-ieQf)>Җ_?'0AqA#YR`džAֈ4tA"l>;rf( B-Tes2_j.1 s H'nQX t)`\r.u!z65Ŝ]3E^r'`&rF[EBf͊g(\ HXE{Ύm9j5T>7?;%jg!@mTث\;f /({YYXidpOIn"cT障,Z@{欏&N)Sy8 SH*C‹o2seb$}aӸjޛp:' WޖwqSHx93t0Z!#Q?4P_U__UdH?Ҵ,RrKv' 9 tXw$ Kble -Pzy7RPyuO[-N%#q[^$"ɯA&džF1bВQŭNhj {ÒD=Z?r]B.x ?[];&U, I(8~Zpp5hd$8? E͓TXdZka:6g> /iC c|}e81(W3HGukCBPMt.[t8-|iŹo:\u'*hXPq2Syw0@?FCԋF J'>:莼!mҞ>*,gPVVbZty-E^M§@Y|lNM?dhٷa>);ӃB^t¾&PapHܩ ޏT0VUpf0RQ _s6y jraiRq 9JhaDix8^ ".QVO4(G_<"m6ôiHXFx`GprW/hŒkJ]15h_\k_B)GR3ӧca̴WFv$،t3ܘ6G^FNuĽ^5]iT,qki㢴=Rg%_6uC""L5;xm)a5cVA %a)Gվ7 0w›V OVv{1؜khp<\2]׾V%N1v lפpB"EQ0^'ExߗfuP6ˣ5czʃ׻2(Wx.%4 =6(B75c0  .M]:=0OZ]c*tmo'y4PuOfB*-LY=e}E3<> >pD> p.sGg(BVX6s a$Oi01ߓ1)[Xݪ4f ҂&MIfcZv%F&gNUƓ5.9 \J~w#a~.fK  1ZUNiі)5z Z9 6VKۦ:x"VpL+b5L-sߑXV"+Ql7w|wunֻußY pdn3;3h +&8%iCà&?*< -wt(&Z8@Ǒ( -I(=>r͏[%^l6EjHqZg$uT2knQqG*zKXS=&&, 'cpɑYݠut:r11O3$kbǝ|+˼uS/tguz,Yޝʏ hxz/t!qX0J~ /1>lPq&Q@}X <].-b7BXȵz}$ELH4fci<IG.o@{ltb*+yGj>: CwЁڑ: /姂mem, 9nP];O(+]"eŚ)vP_񭄊|V6{$ &B+D5wvr@R؏61![?YpqƟx46YM]լu,KԼ nb,@5E30ϝ)<ھ|i6lH+nu#U"PN+]~O+GU.Uٍ(%(Cb#^m/=ؔ(^a*Ja,sߝs_KmƪjÚq[EBSq2NZ$IʻAty@d?f%(P)`ȽT |KPYer'[kdqz`-xCvk9˝QVBX!f9ABB`|DLGMn">"Ш1ol,`bH֥nj-`)oO!k&ve+uX+nKNzL׈G-_RW~ʦ"y3Qht:Ĺ|V_1}F:*̐H'"Q{N nJ}!Qkvҋe`+(JOMjkf@N0JuP]jq7<;ZA 0rNg#SFfdPCmV2V M'lU8.C1Y;ӌ*>Ru}=[WWrN8_ۨ|d5?$rb+yޠ$k;MY4oLJ1=!mOSح$oYF{c/c!;ADU5wĥe3>zaT6^. y-nj^[?og~\ܜhw&nﮈKF~=eTst?<׆bnxvQGoػ:po u$|̣ח:hJ!ϯw;)ͮn+VDGyM훃&3TN:g[VG2ͨ;[o_kN\ήn 1C{OVO pQ (yYm\]7t#(jXotY&#_3a@jE;V$Tupf8RNVԆav Q#"W(wߏbг( _ W 24ZЇ.óhoD @/7rtf|x`H&|Cri,9 3uSODİN/Kvx !7pA^Td(6ߝ(r>.$Zj?K@BѶ3JqC:lJQ4 8M^YT!Q(1CboQv7?;&#h3Q+׼Uu:*+טQarĕTO0ܻ  ytexcSaƖ3['KEU%`3K%樉XzO_jnpJ3ٕd4vPz}Da@!,~&$eiD2 TVO Dԃ/U !/ j1ri>04`ZKUAR5+oFBk8jo9p8kQR@ xm >٪h壞gbgclܬ0|jZ …,In! {;eOsC\ShQ${L\=p~B%xaD \iI([<Ѹ$S!\d!y>W[҆#:pƹP1Pt"_3r„3+$4P>vkX_ZZw0CR9Bs<b89ޣR.X˟nϼN%xx}";l-I}ME:P2dFITnq* FGZJ +IP/{] Ϲ EYsIUfiN8B:=> /+糁PD4ĉCʝR"Ȉ enE:<ڡ(ګŽ>!ge1s붬C9.׉{2Q;~)7 oOR5!PW}7횝p]"1TL۔Ńkh;"2)vC9%K=,e|dKSῗ1ssl ,EGS:w$mNT $GrrF^Zb3#%Mx 0+RY}3NU췜`hد6~{i7v 2m8KR6Uy揮٘d=ˎD3Ecx?\Ғ.dvy{K2D(@ܩ=¶, iEEtJf(|a-BI^B F g 6zuODh\):1ZpPg|5cX D Up f9G<_B5~1U"8ME=R͵RƋ<MHz6cgF4XqQqv3V~ |\nzM~Y-@P\]T".KвW"ϛtdohd]kM(r|?DV UIՊ`.`Ju{F?da2h1Du.J%HGNhEnC,Ǽq %?F[[j| g^IweSn  79 jD2Z9Gުo/37h9+Ĕ(pT0ގ2D(nSLDC] `6$q\L7BxϵSFĕ?oE` LCJO p.QH-1͉m@ /={`]ydp I{H هȪ\.[sAs73b|H;iz98(?  H<<9)kiHȟˀ;~WC/ESAo\ک|ӫVqa熍o3c9/!;-u3=yd` xHDmBNc1gj̀zAsN?ln%S6R%d, O!wDhgQ;KV@ܟ+#Ǜn <ҴkAf#B6hI昙@%`25;Ԕ7{ ,7h[@0rB;Qʂ(c_yЮbz_A ڽ7hч&`h $5.'3LiL e4oKm]zҵrB!U35Aۉv@Koux]K^!+oןK`48_Vf{o]%O8Z]?eBLTwڭ;5Kmd'ļ85h=uq=ˤH>7?9P5CÛބOF'zS !jV.GdhXQT\Z WH`\7u@Ć w\W,I%B 'I*u՘Bkwro6KᒢVXߥ.o$c(彪m^To`a,POcimi )4}b ކKX{,>@SKGf띟8_DZ1pzfr]!? y(À단%425̅7lFgb[vU EbB^ !`N!׺1?_nK1L~*%;=TC~t$lwL:f\xJjP#<6}'h> z0@hNX\pbAۼ_3dy eqt=9d"5L2ƴ4+m_yZ#dр0k 3rbo7b"ߕ$)|NѕG"mʿޖS͍֩8N뭹eJû }} J1mtSxgZEr(HG|TL8DvdڦRrrgŜs9]Y{U RlJH^?ktwَY6 F_;#&K:O/#F+k%h?-h󩾛SI qޛmQ]:x Wg$yLez'`7EO8iXy9K(?Co5m_LsY+!bap΀>ҢeV$N,(1UeKͳ8_ @|q^w;Blj3wޓe(r4/s"=QcXuYXz+ㇽWHb'HL )nx'T`<\[JiڊH6gH#uF#DiOW#1qgs'jy~0?2u Bq#_`A'>wP+C`3c4/  <DilݔEIZ`w.X]9Ff2'?+CM%&4?9M?3+E/gX*5 }0(pj`ب8`($w &~g@XmպG+)''Fl+DhHT=sYsO /-茶vOgh)60B Nh[@|qZ|q \_[3+?w-fq R 2(0Y@QVS?V&vyK) qgzg,PA6fVy)MoY3h҇ab(  qyQ1׸YO^윶M|!&r(Cj%4e+'dS#mÆ^d4^֞i"Ux48T}5.!k'65mqUam 9Π97)Ju` }ES~XIerK R_O[LAh$%W<ȵ_{źj/Bh zмhwC#&AMp$3M;N|o2q7Y;cN4,ʧ 2\g+н5N,kAY:솂ϵMo/RxdP{.ppZ:{]pF`jX<xQzd"[qV+k:/rmqODW=]fEkHR222jkjVJAc%Y/7A!uG5x%V¢mv#H6lҲٵ~Σ߃Z̋G3rR}P\A/솳(x2hDUDh_`RFo)6zkpgkʧPQ.r<six 3mXɕD! JH% I9\:e+#nh8g|B,0}%>%r?"\ti{~:q\8q`z|HMxpBOS5oUK;KejV0}L?^g񫤹f&IJoxTazR_P#N*p . BLTlFUhV.iM A 'iBICEv鎢/FU aZ`\}t}0TѿzΘV^QgppPkV: , NjʣامB8 Ӂ:!6$  x hs5' gs9D9v=:ܛ{e2hvN`BM'<ھDWB~W PS $A_H&YQ?^y|H,4f/kс*H4_Ƙ9?io$ ÛkR|yJ9k.e~ Wfy{o1Cq'u8`jַ8J?+!:ZB {qKDw1j_ѢI,.V>#87&s ؆R@ , Ra!׃)\;v1چ7&3 G?@\Wq'atӺ:0M-ax)_0ҡ7F(c! +WٽI*Jnzճ&F)6 tyuDo_%vi c-JKPb?5rbH,o[hyʂ4 >^WGB(3Z"<󟖔ӴқLkC>~1y(탢~Hx˒!JUšAѐZ<ʴsjT<fƿLkI}IN7a1Y=K1dFZjًɍ q2nYW =8cBr_2~ 1q^c`GC*~a g%zxT_;y]>.jsGe$4I&g'ܩ7l+r7z";r":J%= a"n7Ig!K:V cCЗG*h%҈_ݪ+drQ\cBA -H=X@W@/w {8b"nwb~ npW;zɜ1R^;ô=BZc'vB@o? "2l PO[WT^2ΈTTZb,Njet_3dS)4R~{4n^K|c|-I8rur0N (iՃ:o)TMrKvJDpD2(e _*!HǃrI *k .y+'3 pZ~vDd U; nS10һj}[2bR]7JLCUhMqid(EE2W$s|9GU)>d;p ه^O;:LV+# 8?*lJ}<#=)%SwWyʦ[Z>aZtdTaǦnH ЉW (K/"yӋbw-%cC _ 7Òj%s+.`K ˔N` W8} _^2>R1k :B8fau\z yuQabu?ހ=!>q"N5WyYWSNCkɥsEKHD2BInNq(qc \Y&kwׇPJ~Wf{F#IT6!}q?/@_?2|'FDsYW% (}+؋C!aúU'5J>3OUT 7Y[ Ǎ'v4ig*9V_\ÖI s\h-M&905 ('&$&!qp>]֮)ZbWUÀú%%nRgb坂@Nus(q(n@6$W@LU @+ :3/g!YɛLQs4A2YoD !MR)*gǡ^53?A "._3 NLTYG f*jXS6?G) >>g5gT`vSB mja Âѕ &6RLCS{ly_K#|_׫&H$J$4L+Z8Vf>Y7ʟ}t]~9 G eOƹ51n|ZiIBbtzT%بƨى. Nc!_,=|Ҥ=ۺ2?&# $%h I!7 Θ<]Ѥ+[#kmsjQBilY];)tL`vѺ)tI~1cI0BoN3j8oL'x, /pL-̹3?? 5;:βB)1ab4' aM>K ܾ9Y󑯒'>VC.@^Ѧ{IY 3Y`M@$%Nm7;/5ZO<^\4X:m]1"QnXZuP!z}iI̐|Z+ҍhAl?HrZ^;6:#qO\ ~@u4vuOhIjp]=͟i5`C0ْ ^ɓC PT5_>Ǽ6 ⧭YEnWZ:/$|| F,ծU=;-zeuc4$<]vV%>CaE$+%:9Cхn\g<>AXYz=j5TӘ+'}+U3On ˬ&CHf#,P*EJ/XpӺLGF%fJCzBJtYɿϹp'#ᐳc\yMy@Cc5YӿZvE`85Ӭc!7>6X̓Ac(3+Or-?rnN" 4lT[#lh..@S`CarBN@#bD 0:vx/F[NSTj8Ašt[' gWLvp5^Qµ4Z; DD@p_] \Il# >D 2+&$ԢA௿[ Tc?_h JI$L< _YHX=i 'B+uy(Z^]NjMIY֪]) !c@&ٟt04|QOiDGT*4#h| .?gѓFZ[(|;QÚEKri7q[?+zKWeex^YӼ#LnáPV0^\vƆd3pk24!&08̍;.H#98[#u q)(3lyR U.| y Z^;:&kPh1MI9]5sq?!m7ՈBc[ #[.u5U\T ?L"Q$#;@O;Y oCd5oîe`1C:*r8~h kϣ X_m"3Vx3zm=nc9᷹2:ī 5o 3%פm3l.J>'53<;A eN UӝRЅ<^ b- N:lR,l'AJYle%RT!3awSn!]Gx46 < ZQ<k'E# "HHL i5"ŚQA~qF=ԕyF5ר:u%} sqpx-`~q;Mg3@Ďnroygk{2\$^"LiD3*{cV[T7°=&^g2WltlZOF3@gy_s<kB˵J⓴Dzh8t%b7K=s^ۛbS}IlƯSO^ո04 jv^ aD,t)Q4c KEÓlh`Rm(pb=wdN^^X]FqH #˷B~NuUFǢ3D9 0ylUTa&tY|#X~}nxA¸< ۮk)عbq_v/ٟPjysjNtڡw{Xv\NƯ x\"7 cI\_0q xVq  "3Kd:.>4Xo5ޗ]Xh nuo3@C^UrA^*~mJ/LTb%]cpXoG@T^Ǿaiǩ$5:+SH|>9R࿖Eq͂3q A]SuZ\#\6Hm)΋vLa971VUHJn*렘 .*qRp u3 )r"5\4ox\S3)7w MWe,jpDEEF8w <Ry{#M?X~8m>"1ؿ&~~7H/x o$oE)_BtL0F+6}Y"US ͦŞDwd?ѽ yy^b4R0ԝ_{`,Cf9 1j*h 6D@#m}cDKa/c%$5='Yqb{bZ*wdDIxlevTŪha;xnahPU>힕8$O=P#qil]Ԍviz\eActsiK@)PN[: NMA!N\XK&yB\)IX̃ABvL(7i[d2DpWA x1{޲@|9WXν{=R[ȹ p/tnۗĸo8着Ѷ1,BY帄e3+"ɡ22ڰF uVShz-Nv\4!*A0!rﳅg=}FϦDG552wW<8Q͓jdү2\ 4@C$V MO$5=`g}FZdZ!&짐иk#OT9-τsRG}topP+VvC$9y׮ Js̩ aF.|prPOSACIاDlth磿sM~*aib jtԈpFD%vU[L!ÈJQ1#(KB?+>!bm]E gIP:amNSaN{1t0M4GʣŽOJKخ4/6 j=#Np?zHAc}58poIc <9bNsc-F`dzn`h3YR6 8"Bwk}[)v()&uRv+> 4S=Fb |G6n1ml;=y}sCG2pP?[ Ċ|ՎP#c;( t\rڻXĵYq`;cjx@}yXMnrɾ#T|PQw{G0KBՆyb| +FC"@8}xr_ pmd]& Ի\gmozV0wZxT<`fQ:7$(? 8מh,?o2{-\I1h{-Snơ+acNrg'i]ޥ,X;Ȗ)ؤzTܞŧ}W4_ 05#%Tl4^2 9`{(SOnZQc3<;pE cQ桠̓A>l`aߕ})n&Qb:4=JQ-& g-*:]c؝# -;Wr!K,v I,]_N8U j~ `6y3h""QQA«pUvW:] prb͔^:|Y95=dG?0H(W1aK>~󢏉NsE+x[)JcMu=&wdʞ-$ Mlȵ*,_ gJ6!iX#c|X/#q|BS2TٸGc0$`n~/G:R*dq49lO[avdx/pLEZmr>S 8DI;.{R\cW 11Uq%ahHBAl e3$IEbpcIibqYjT]µo>f j0DY0fOs YY<0J߯0b~w\5+/嵏rxRsV.A&Vshu<%cG)_Z*EQ<-F$Eɟi<+Pu6*Tt&7: - cΑF=vB(SBˆ$Ia/eg%!#@,I-Վ3e1΀fR#ZKhS$ηR c46S^F Bw*T reܹ4Q,SQu`2곍&?_`߂ { 2pp@-U7*7~ 8 VSx 6r5@`|÷$-\ZxO?c>{ OKqŠ٭4Xnd-?#&\:L5Q22?ԨF"Ю|Kx vD/ߍAmHhl?*Fyad:)ȕOX ߁YY+(f"ܩ=vJ} WL,pqD/ $xι qrBӉ2Oj؁:#!k@o)(f W[*a%}~BF#ax!X26#FH xuY-e5wCxVp7jnML)8sMf, *vi ū DYDh܀v=NJvl ^! .'q6&'[\j걖^REHLEe.PX&E ݥ/$ 'vgg:`hsX!7_ y*GڞH XZoxق}CbnE=#oC@H-[ +M ::pD4'*VO4l҃ʍ]$PRԤUtJF-f6ý+bFɶ\Dr(*lb@[FbXd#mU"AR/846{h&5_Kn0[Å'G+whL9‘/>d$p*Vń/\ d(7}vleƚ(m.Ix0%jm8y}ȅi]^d!L0$\i|ĎoJh{U`ˤ»uPrGOopJ:vxAj@i=H\EA@qtVA0.5%Mt=!KhmK}ܮ |f{%8g}cJYͥ;rk0BS8% 9Ѥ{Ob}AfΫmL.ޱ 9\: &a(NXe+@R?MsF淒g' BduElZBmƝ2 4GZ4 4PSW< kmviW413iDT˅ހ$.oXSK;sχMQ1 <קW`hϸqk/JjNa&c>vVh!ʼN5T$G@xsQlb:oK&&Qni|%4A8"5SW9pmuO{yb m'Aπ'W/W'acyƻo-3]g0KȄMSܕB}TQdxN{^%{q<F(KwL_c8ߡTMv u]һx7(I ϊ12ʅx-i,cI2ҳD`;ǕTtAG/^DIgK&|m:BŃS$[ F6[}=_ドn2-bʤ*fq[>E҃*~tX|udD)d&g|+וnQcקmL<>Ji hHTE;*m{[O^V gϓvyTHiDe U f.ylZ!8Zi*+2&=!I@CfykJ xH ڲgA|j3ԑky$RyCn#5B׺ >ۑ2B⹍V6kZl1Wetk) qbbR5"0P`P[ϥ=s^+S9VNu? 9͋~"/p3J']O#nO n#eQ^r63Bi bƚ ~z鲓H&"א['wqXpdLl‹l1õ:1Zp(WϺ^1BLlǩY#sArFNZvk2v  In_xF&q]DE/WzQZJbeZ"YFVOj#S;";$$4|NEɳsrP)~6R}kמjFm0\ Fb6%1m*L$%㉗C=n*(ךgU~pXkGh뜑 xBrXjC~{|D{ų!$ ɌW`/>0O _W6;6u E@;5.ςVxuv91ehQZUص֪q%k}{ Ke΁J&uQD~D+?%KZ0ލ)ޛ7ꤕmP#\>\K͝{Ԭ#ՎtZQXP"$ s=3~, wpN֧ ^΅߂|_<^O,tX:IP7ZX1eL. #LurX?3uP} h^erQ=mߠGe+${Zs"$}87!A'S$U%q #JCh]/HE}+גhT8%rSbfNQ q3ߒy aV&(UmOMq#V~EW>18v2_w|?T˺ƸBb>`ZZLAR}#4:z)gB$)NyLqF\$fx%*U~8J(ru:44ElcU&raV3 *{ݡoRX<}1{~ Xro#ǔgx8s|ӭZi16;4#"OT ˉXqE+DGkJ9(L;&L_BLLG9wTzHF,{=ynݻ݋"gbT -8p _Ni^ MC󒄝1"t:Lxʓ{ʼnPFB@fh䒸 lk m(/ik)TlW)[fzwu4AVӵ[9ʹq>nGOc@(}OFoNi+-3^jղL_W0 )E]<6(5 B3~0ߑ`º{LY)臂MU\EN}\B#r6-KtjcvF[9/CXLCƷ fc.mJ@7!32Ů/dzj _52bɔMo51+ "=^%IvWde`Tȟ3H3HŖzNKY,VIAO"&pj fO"rY=J`$ՁJ4Xsqeods$e^`\%#k`t֞[,&ztLxTnFoB4nU!|ٹVW-*:yMpG]о2\ 9`FafiG049qdGgDZe`2c!\l4CbfScC!3E{T?GO5h'҇o@C=g ee a\͚Qo>ʞe U'9zi^W@l x[g:wF]PzY0|Xjz2ZN qB!즰\ud28$EB8~0nj,eڿyVۃx/7D^"s56GI/ז4!i2zR+K,]ԋJϟA,?~Z64 `787˳<(W8u ym/}mTa :]]*$0-%@QC@gd12^),Uu;~;2TNҧfrs,KgU81 LA0R˻eV)~ ) 2s(%q=V;J/ήK-f:LsDՍhYQ݇Q~ApRx= ZÒ Dy>F5)h%cHA\m>*T(pwwF U277w,͍1Zw\_Ι{~qeciC|#JKgħ"2~bMBf+fHa(\QN#ǭRkCcŎ#OjRfQ6}W" &JL+Y{JsSNW\T~/3V qp Q7EBJzA8X/Ć8#cZ ] z7Ӗ\T؁PJmF 6rsvAJhN^a1/\i >wSU8>NֿR^i7S;=3( y$5#Ϛ\%^k#v(;#.+<~#a0^G(J,3ZveIdB<$c=\.܌g7u&^O25WzgTq*Qz ,Х8O޻^0sMߧqwvĎOz&858B']Q+ꄑ$e=X`g ҉rA}b3dp'ؤe#~ҹ^qDvG 98IKgFTD յI"#@uD 3avABlũЀ~,<\9:)hNRe:}{.okT;=;(d;Taj_QX*Oz?qxe.ާҋ"l6aMڂ*EU7k ;FϠ4Fﱖ# x;&Y_Mt>Wl(Nܖ%22y)k"+Xf)ן1+0(v .W}:_p{m|2|yq`ԼdRҨgr.byeir/Ʉ/bB`aꪋ5x'%54+z r% o*@ךǫ uI@GN@D8bZ"Wp0y8s:sfo1%~hHݸ4t16=yOa*B/UWb@Te ͡ʣ%]dH[Dt0ٓĠC?#%91L3d*Oq^g.x`LxAUpB9.6ܹ+.YIxs* Kr\^LtVx+L]F,d*K>%lZ&]P5mu B 9Ӗ  OI`f5+qdۦ8)b4M 'U&pt ,eAꯟ<}a^lU]>)8l Z-BDuwӓ?-emfbfl$fxFAo5ȝv>ii)U\"Imzk \C5$#Bh+:_=D*¥m~#goװTmt:wʮEy-#$؋S{gZ|O 90bDy.a֕â(*y6q4RSN"K@kO:@#+yH)32H^F2;+Z bU,15W5 ME־+ ="dC;@Kt{+Wt"$v哢. ABYd<ܗ@a̐!Y 1t*!vRCh]|zdCMzkt8)1^lD`47N "vb>)EBD;F2f (؄2ܽʇC3oqapGyA쇞Ay¡2*MQE38S[OHjK>YVg@PgokgU?/S{p4 Wɷ{?+/xZ'bDqƠԠ*+V 4“c=k<# H,MD)/ˬ(D7qzdNFQ蒗R^/Nd2i+!F%E9q=T^nRUjEt<Am-?MK?eWX=LMwr|$2?to#fA>A0Z;PV~lLtwLZa~m%]D;"l&ёx BbuF:$"?V תURnpQj ۠"qg0OTD& @xFʑP-[0[WCֺV'}:+ N<So:IV9fPxٞ)v{VcK%N/h^Ki௹匎ZRN9;É"AfSig)@=;+huk`XtSaB3p`Cݱ]Cz͚\y.A?3w_1qX0%sT*)pgF)j6֏."[f NCm× suI\SXLvLm/i\vIclz4{~ nڼi3ڡH$$xd>99Fpedܿg)Dߎ{Gcs-sEիMTh0 F!yC?BqK(n fPS79D/:R*wT(Ű^+f 1ՑF$cNH:Oqr;eK)Xk)g!EhǼe8+/o6T+&,dDr2VG?PѸ7]XCZ"8;0Af2it$Qεo&.@[Zs3Jӿj¤Q: vx RȆb?' 50W3"oPg (7d1"19'Ք}*NHlPK(w t-gŹ!P ;Ā~~ yp.}Z~+} z t'X-Z{B>9ʎ;3pT=wB;¯:5={QQNW _lIC R0bb!ˏHм#hاREsd ZӔbxYݜG'"HцOr#D46H[)Ili>|&UG0[jjU'I"}F]Xڡ}6\w ͽTR}HE{eMږiR7ף0\'ԣ3ݺ[>yUwEĘ52gD!C:K:C*l6Ne^|cBJ%/T"(OH~E'W6DN'3n.+~F!._R @pb *3$v2*|_̋A_=$,g{i-f&2-̘eIQ4K"MoqZ;;lW!8aoh2vd4\U7bݿq@=҃L՞w]3>ҎUb|MJ#g1@㭯8mfģDtJNѺ&{=6O %hsr{j>YHZŘ$o PSIjOj&:j8'v4qt9-.H@*_hcU'2tc!VP.fHԀ9ttXe^p;5(|HS6rAO~8[\Yx-U {̶|sffMmyRzc(6^45aB97V4nDdm}vhl{Ɋ:_+-hS1dKX2A!gǺVk(!WhS1 1nmn'm#K]hC&T)^gxRb@ĭu_A=QK߻*>E0VM+XL҉\!#~X n~`ܻ;;??TNC sؿ]{P T+UMCӔl7r<vL!u(0l`c oAdRp "f1p_P;c?頯,1t:vX6-ة~_)>^P0miA8?gPw"Ok}k2e6knokSݫd$%C$p&d3ʉ@a-ȅt,@xX³IOB`'  yp#}R!;mw!q# ;6Cf)z@C;A2T\nUk!I?c.8k=sqbyME\$'͔S< P'Z7^o}Hnp nr(/ @A1:omMN4L֯q͛eJ:'Ix %',bCZZʶ"nv9qik'+ۄ YT Hb"z8(T񌨃0cyrK F2VbDf DM^9d]ŌvʮQ^[pt*ޞ_)Ǜ_HlQ[znҚP]鞊,}*y&%}eMDNÇ{9[XGAxHEM4qlK&K$ߙSH4zaG1Y%1I=.yȀXKvJR E %k܌ĩjr r3/=s׈kAv =v{x*5H|f1 Ҡ+37xGEr]FAO k51ڞ&jc<jl`|iBӤ탅s|6WL#>W8bFnnAB~'9NA0v9v sw APɑd)o4aIʩ+f G G%KUy 2{VصXQcIls(`T0 @ WF첂~=ky1zf6!a;Pw*"1H5W^8g4U wn8-&.y 0BuDA2(+E6# iVRCyA~ r. @B'\`2 yYd?c=F)RI\6q-a98UIs(y,dr Wweu9P{v0Si+wKO8<H\K?7ǡ[YSQ<"̑ 3.U@[M}VBu);"ᏍUl!ÚrXk=:.+Ti S:-{׊c֞4w(y-pBeO!dE1^f'{Ե"_!M_9:@;cy<׵c].γ64k8(c3X O " l>9Mɫ|+KsgX,LI[ ˇ~CPkqt X}cJɉّa^ *Sl 3Egm;Ȩ/񑍡&֡oxXTKWwbO!9|֏ J6t?N7+.\Ń7IK4Xx^Xg8¸ґ$Cɽb9ሽmOƓPl EuVɼgg"Z ?NVoѵ3UOcch9,tuwj\dV>P.i H7rAd[N]0]62tTF+e Lkby}#'9QZKaYga  `@6rVl hd*ϺLn8  BC_'Ӳݾ.(tfE-,~2{wH^J\X7ɹմjYCe#PBR̛-[N*Z2I=EwNGZqk{%KD^qz([n_)I^}kpogC##b p(T,q*5fSqNF2cA7v!pNiB\rܾV+o`G$85RMW*dYغ…|ɣ. yRϒ?Eor6k"=E5VAYE1M` uHC(895|S,0R; UݛW)le`$ڰ(śZ(ZQŲm:!bz&{۳b# purk3J&3vo@c- M:DWA;hFAϯ_L3}:|6X jq Y$hԳ2}_\ )d56.C%Wa /GV+dW9Ba-S~_c3w%@UvD^j#^^S:swO6rS]s:`G(ޢ/PcCohl4 &RyYӽ{!@4*B)3LBg_4Q1>!86s[>3ނu0^`[U#-cG-GQ֯.V;WT~O$ *>]{CU}'fQp30W' X:њ6/<S~q ePd8?Y=edЎ*<sR=֙E]<_E^>!7iwp 7/Vb%&X2ƆX^)g CRFaPpREѡF -T,@aAw< pX'ǩVJιEMn@jsjqy9#ڦKI;ɣV&v4N='ĂM[@D;64eJDxr"s3F=J19n#_X]BT +WfRf =^ʐғ˧x-A>qLt\"|bjùFRA rNƯPJ#nbm@Kyd }D):΢DtK)Y +2`)c͏;"]$ >nSmPXqs%YTGy2kҭQHiύT(qxRU6 zs@wK'i cҫ G\n1 Az^Z%V/.P`6n; F"4|Vҁɞ|Y8RE#2u;|wEb^浇 >/ nTFVN 3q.iCq%h-!R˻kKZYmayܜiUш}7 򽁘q E>ZDP{"CM!@c@0Ξ B IpZ>y/&Y΃^n8зOd-G{jl3Mbz?#*k:qay[!>#'OJp*\EG/I!EŭF9Eu;ڳpʼn 㭭K =F Äw^jÜpDY5̸~*PTSuY+Q I]Ů?ʙXFFdjn`)Qٍ1[]kU ֬X#3Y$W5sq4&J3cTSyDiTP`'8(zSd1vIav'] +iA5V 6"u+~EgK uk#A+ r "03fEIF SXsESʾs2 ἔ=() FȤZ]Fd Kw^ '%4Y1sӌeWi]~abD6ę֮;K9rGQ- v_3;ֵH0NL5>S!5ңvJu({·I: $X~Ȑ g)E^I!Y )m~GS$l1.m<8r<;F#dI0r։Ӎ>qn6\Nڮ֐}s@bt6Ы$>QIQ )9h-zhU *XavLU̶I&$UBN#tw|_6:K++|KtMz;yp^ EjάzȜ%+ؘ 3.uty $XYӊGIC|?}# 1š_Ͽ;=qRmYmHZsaT%WR#@e5CeLNKK3J!{9N7M_i5E_f+LXl9v*m X<4gCV:yҦugq30KY|":I 嬉xάE>9Gd_iݭyfǩ=,<'IF^0ǡ^4(o544Eѱd[dFңr*4kv3d OI$ \FbBD!f; b'IMz vf!hu?;O枬xl8Dzɽڐm1*+$`-={TƛЃqMY|H>GJ9:~LuGxT5g.It~Tc6VcZje.b$ݧ{KN$]l'IoH7-iF8ni/_Pdcd /C^bim5]hG+]e(%!-2;){t\14tEs`.*yEaC7"Ep?`:cGRl\3 {D)/Xr#6F&|Kt a.4~rA(E`Iٜ*yc mi*?W'_\ gU-@NS8зP끫uU@:p+7jy53 P՜BIkTV|q+fkBb}UgsœO{[LȾruYVlMSAHplf( @c;Hv@b]p*0kxE1P3(~m ٵTO~D{EeVƙ{F(l\:%mMPBQ(LuCU Y/Z%;l.s 1kt JfW>q:wc 'nf <0"PY5-3d%ugѪ ^m@$  x Ë.xB9ha2;[X)el02Kv NorH=l@?I ÊRp8eߴ7x?t<Da9Nzƛ[?_Z[F8ق$4u>a:$ʪ\ E[v)B.V=y6&N-lvT}1 we tN͠i{vM.Q (63 ۻyihXiT.F<{[oJS3wϯvo]NEHb?Q`p'jWl/aWlViBjZtEF\k[.=ϑ̶[y9J$?T1h߅g XfF**aтw-'rMcI"s"L)7 |\SH'X t a qTnGoBvgj !lӊuWgj«C '(hF-CWF\>WЫNSt/k )QRL*]%Z1r2=hϒE6?nQqǹF1l I<:vB5ۓ{ ܳOj+^ neqG}n,h7+c-Rٳ ]v39fxW1s f$fO2K!Ac 5 ef 2ۤjFHvd3VeӁqѾP)}3+>Eo͙|t_rp_$E#H㷗/j[/=fU33zZ+]PI.<: 8)/B)QQ >Lo~y`PMWwYMN|4!?IilrK NH}La3oat]8hV$ٷg4H߅9t{)nE(Sٟ7S}S2\!|!s?Sg'YG5 >Wng36cW"_ov3&'eSFj<߃&`WrDpع6;NiaNNIkj9tdʱ]*ԗؼ>082 ;C/d tg=|6_H@89t*3@/kpK њBx~)ntTg[?-R@aDPۑQN{j=j?Fu:,UҌ? ;7Nsa!-P-7Diqȣ{~LjQ I oG* }>.10K^o:fIEM(zP0t|{ߢ4-5//MN#l6WQ4^$0Rk%NT})f Mh-gwɄ6i )LRkA'M/k;T|/{F^}JC+R)pvsS``D1$Y`[stڭ1>گY ~?%gh,ˡ/Ў,&+!k~ɟ'h־ )5~E!4BѪ }b+ȃ a36 U""<4Q~F<|x> lfX#$I_sl\<=M8Z:P/u B.l8T^uj`vҖJU;Ŧxy}CMvm+НN f  @>^C-i뮽!LP!Ho2:ZiK|!fMh(#(&%a`jMʭ{j?qfVvlp >bf ГRQv#f`E0Q/[7=W>y'45 0V|1:. t+η QUCt liciuVH=2%,3q/u- YaZ*Qk,s1w`>N_=gV90Lyz-F[ 0P W11Гٔ8h*kw>l*w+Ҥ,=^/b$X5&@+VQ4tlҔ"Z5i;2`Ŧ%/bdmH xej5Rg֟Ι[Nۊbuxb{JuyF`W爉,1Y5+ף *^.IW(G`3p\ᴙ_7^f7QzQ-x-ZM⮵5r ЭP+C (BeA{xmڿ|ƅ۸WTk;Q-]?U?|P2ͮdKu²/ Ь^C`Q /4Id˥6[ FCeBʢVj82rG#|0̈CR/c5$U_myjkCNBqC^[ȕ R)&^Ee&K8J08?lnov !*9z/>}a~&RS/ r Fot̤q@xMY?:6qFzcϙw xcgA'am',&ΜN0GњevZJnrj6I@̛ϋ&еuJ>:cDA7j>ܐ"림&c„@km@9&  ?[X,!CœUOYE8ضt76f{02|!%CD&p#5_(vąy6G㣗ꒋޚ 2{歐z"8Z` (IK <|,I S7= I'Dƥr Wq3¾}Z$X ~ Tʤ k6a{ ? q\j¸$VvM VH$5H#]:>g2/F^u$޸Vqh)O4 *خe_3-("EI\cmIխҌx7ӠUֶ8.9ձc9RwQ W?p*9@fM,MhgQuhxu1m6ww~<2Y*R5%+}(H.* X)K"g%,,_IhI٪FKJSL D}x]OK!)ƺ)Wtj0q((i.QcW%Is7 JC_Y&+x;X]_$ |[z=f>6C dro7E-GuvרYd)Ǒ<^.8Zf8^,|1Wn<UHPnif2f8:q,Jt N\G݅OVT bdlTp3.px_۬7;*/kT_ocNyܙQ.#y=5 V.ե"^ݤqTUl@0yk%C0u7GXr\YZ;0 ٴ㍕q kՂnAD3c˾a,ysao!r!f]N7\qq\{9w}/|`-ڠ1-YZG|ڮؾ%wrGʒ;Mr\&1p0M}FJ>W?L;R#MN]~'+A4EIhOk@X;8 cn;Lu?{NdMr^Ѡuk=k`%X/.$n"@Ry3q W6 ]7-٘8%W؍aU|3LPo|dB;6xm07VM MBHBEyқ{"=ţX},6nU$f,LbĮ`ױ{pYeD6ʔ"";[8eRU!Fop46iR!`$Ua Ky|::Mŀ 5s*lW]bDOkpف ^|ATI\p.o/cP QBCh^6}˺> ɯ^2gI˾0fcs|tXLC&+xY 'v IaE U@wKQ}B1<$iLKE%c.[`8h/ D 8K0{16x\YcD,HE{o#^7ei'o`^`<\L]:Sz^mV>\wn#1r,`nenMdW`tHil̕vvW⬝e|秵US3UP{׺FhYi*5#ADy :оpʹ^@VӚ}-3hx'_ݰ98,(uo\7e5Xrz~+65i |hO$6k,}Y̎I;%DwN˷|$ Yup]TRͰФ"8y euD!\4{u @:_=ES[Җ:y%K|sit Q+P\=0?_ҭ*6*9Nm?M{l^ bsp3=I8oLWv3BʺWvuө`] 8!}$_sxـqA Ǜؽz^5Zqdrez}xqV3\aYbm3- X~Y茱SԜ ѭ6XsZ]S[(8O32w=+m2%j@k0|nTn85Ӛ z7UJH"CM_L@ίSZӝ:&.~>$? eENA662a@,^0FzdWУ :1@9D* ] oK丳'm>%4Ϧ/70r?Q'.Z Z7&pąeK][}De9oꏑCBPnIߵmNui4%SԖL\)"!LIhp6':F9 x|'f i b\L Ne}2)k6h mvw={ȼxL)rk]x%J4H{*G׿6Ne29MM')ff3(n2$] (xA ፘQvSogC,#J|q1>#3̒0ǗS:TP눸*o*@^pk p i [cf*0Z`=֕ i1#g%%X5ꀦ E+ HЛ4|t?¯yXe#c6:*nih5uW0ZP&*DxTG v]tpoEC<%, *ABgro WcN~1q" `Gds1b&5Gxz?sE 7Z`P*fæ̠ %9N죙cT^qk$Ű7B5pC쩎`E] ֣pټZhO𻍡],,x*"VAJcă_G,Hu|%&ڮrr":EKB!b7\ /6ݠn}֮ohܒ|2Zg6RTȶxlvxWqqMYZU4,YYէ7O8t B.aST$Փ̠_5mG+ 45!, AT2 8m*D%dJoE(* s~&5o`4$˰X̧y2T׽t>GLRƑl~ 9bdfwU¿me#D3| &{ga*78m_61԰9 4n t123+Uvdt#d47C&Y(aõEMgCT,tO?5Eg %`b#q*XZ_GkEX"P~7A i]$lz30 ]@!z.xMU:jp|ն ŧN|&h"W/c7bQHI_As+{{3Iqm6b~ Z#V'xL)=|2dOy 2tpk%3K7=M ScաU_wQ0;5e -|b.>Q_)!ܩSD)xht@ADwtBc\JX03Vu4,fnP(EH9"IK oeׯ{ RF>s\]\-T7aǤ<W rL"!+3ЩKIc')-0Z_r$Y}dG pV{|,U~\m"݇Ӗ@ʨqBf&=+t֓įN(N jq&}ْ Mt Օ%WAyF0ӲJ#aӤ',(PVZTH 1P'ꢯ yOݐkM}>^Bw?:wS)X\L 2N렔E i9ҁOtA/xA5@<>ix~)z%y~EH$M=q MDS%?RE)3_I JWKn8#RƌJm9 miG;kU:q3`Oe#GJ[3wSGqljyf`? -j^3;yoA%Ȁw̓XNUid(eTK/Kz4;De!zB:^<-T0#^R@Gu5`:}N>|tsϩPU>Qt[V9}vD?H%gvN,MIF%&Yډqq i'6ݡ= 3qufAS/YC1'퐕. yRiˎ`~'ڋg7Ƃh}9KI*uj?B{;W`,&\fJ{Q4>TSAGHA^gJӔyU`4JS)!Jc"I@9"GsCi`i _5m*PXq⧻q-,aHU#S*0 㻉3D _Qr3YDinbQpNSoDJh4hl`?dL~PYÞحmm/ 09'ÿfHv3mVοDto~l,wcDgcnqb|R.ܷg9+|Ӥ8yKEU"i nd fR] ?rţ*+=Lk*`~Zqm0r"=ZE3Ln{[Dw:ޱ"u|@/eֳaD5FܢAؚDOCFa1Z_e:TyƠE%pvQKi ne:#TdO9ui=*4Sӆ'Cl]l4jt 8i㪳,ZlP"}Ӓ8^eDx E>Py=puWQEՉ `_i!ED"8EL^2ܳ_;? GJ&q.U8q(}9ǁah$Ǧ-9myPGGIAcr\N:Q06?|.Zg_ ]\Ȁm20EJ*JK bTEQ3y80#Ϣ쳈+lZ~hx{l)#La2k%W-B9GvMbzqM{wrf_lJpTk^PjOFz]qf22,=Kq@3sT=\R.yFeIӑt;3R<꫅ SZ2N]dT4z6^1ZPbꚩ? /U}Q[;¦4HVCVU όɇ#ZPh[Jb1C@`y>Fs"!ۻGIIyi ԃ5cuzw}+HJ QPce6 òwm34!U'֎Wo>;duwZZۄ>TU|JFK g? >Gc /B[z9DDJa0)4k>nvR4t4qJ!;i!zvBiJ (_A"5zYs,2[. 0͗ybxq1ZfjN3( ~L "#D$E¦&PWܙ׫Ӊn)r#zy\Ekr}ނ!HEG=_̂kY`%W^&qOnFӋd뭕RSPcwl#p^Ug`GbʜVvY8t4<(,OdBueܷ [FXA7]4ygWٌ_Hz;}Kx vƸ+wN(D5zXۣZ~LQDTBHmGOLlFbuK&s$pQ%& "[ j"|H"#]!#ޮuc4 dsqMK̔:.LMT(_WeuKl7= nRxH0!j6Pd&HLݩM+]b++\6S[z`Im-P]ŧn)s71{$%W?Qt(^'7h"{TZk{NCEK3G ,dezR>;9OEd>IA<(e˕#D C^sBhrkx?@f])oJhK[V ~iObų4L8AzT.: ,_X+Ú(tcVe5X /aX°5 f]^F0'Xs鞙H\b>W0C^h+~CQ}7"]@I Œ@dx2"TZϧJ5cpx()kfdWj|`|UΞ(_Ds8rv]1xR* mO6Kn2rSl+CN{p3 ﹩8;%lb';']%Wredv+ edMK~(LJ.UF(6>Sԑ-5m؛6`6GEԟO+FaYJH ; GMв2Ms2K/ 6'8g XoH} wpBږ["J!I)2+QxUe0I-|zɌW07{aq-{yFv^|+E]o~05pɥ\6)2"tl"d]"`PD,.MGIztćE*1z|򪿘VraeĈsqN d:'8ԕyw))mҙ%)aWnrޫF)W(jo闋W}3:bZR;E,\*NG1z%]r LZύ㰻pQܺDe`Za[Fv3o?]4u,\*U݃ޭYoB|9^|Tkb4'r Mp:oz\N)Vt coE*0ۜvyڰrϮ!!:,:r51Q޴uQ]HPo1#|?*q cvy?kn񷺒ux2hL})4e'!n*@K~^WuK08bt0ڷ-,K2|%?u߷C=AWcj| 1ۓ!b`L6d~N/ /[xxJTW0( nL+)w7걄Qh_9bssʚ{=(~eIrG剦)#=+ӥ'o=)O>,{?LC Y!։[#eF#4u`zGbG (F<\.5}SLAE0` ;¨Ǚ5Fjd}`Ϝ)H݃vjb~Z9~-LP/JjbeaF 6-B3n e/GyWEL[9%F76đX"D>ABN:PP'f+qpU)f>,8(qPި"$.`04k "&Qqhr7}ϡKzlMR̭k܋U]b2T irؗav=<&b0HD@~v *i[\˅8ۡn--iwq{0nE|剅"+ĕEtWfvɣCCtvN))xtZ4z>DAMY%Ҧ\c6&KqB#*;ol:d.)3TҸpUH炶p [}rz{QiplAF۾PxV@ tw2/6e>dohSkz8Y1t+I,qo KHn+ }p>b#&zةshbGi ox&ʊ RE@HeG'[Ev(3u0BqN\1F/:ĹTfœj)[^v47nCʈLiުQ‹u`"ϡZ%"2 YQ(<c6|\d]+"h`NZ/z !\Odrn@r s35Ӌ)2ҫV{NҨ?tY}_Fڅ|wܹf)=:pKD'2(Hl]P ͝h"A?02O҉chѣ{tIJRhs{ߐ͸~ذ72VFɣsa_L8bʬ0\K GSfaYKZ|Ohݺ*Z fTJ%B'tTmoBI6)H(/Yoҩ%zM&t~Ӝ'~ET!->E^M@]bX#ϣa xDᗴm/=hPpЉ$IJ;S%C L797=\KK_3K$R>'i9aA/Jd $Mz>Zŋġ-&.<7}W,?>x5 SЉ2foܼ6^*+߻CevǫEM=~ sFz.Xb5MlVm2{DwC]Uu I+'vdӥQOQt({f+UDFMh@ئYǴ`ͳԠ|1A xu? 'yJB{h :UqH"Ԋ F X|c@G, K嵐kFYdo|I)Q\XKU"f3c]8Cvb Sk3,OBrAXvMXE-fpgϒ9$4%O4y1E(b; MHRY8jbӕYMeOpkOkB;LQ'&8Og@2@PC? srqY⍓4 \#$ov3+b xQLP7 bYWEI/"`ل4p~r!Id[g?SII~%0\ 'gT[5{S_eߡA9΢ʷ)"IdJFͳ %4Р.d,PRI2Sjŷn7'?FQ- [w q!L$,yKi} ݔNQ5?Gɒu1\$du[M`{P2t 1Dm0O3 *FBԩO-j."DTSILUDݧQB%Rcw"=,n >1G׿S/m[V,D厴 CУaLFx8{ `_sdҸYZ3x2BP}:7@>x#YT{ROH.xo{Qi[E5?P%$Ls:sÎ/HZ}@@shC-5)ITϴZ Sk2N:qݦ܆ץiiл#2@Ժ!yӑYaN\_wo|t\ |xzknB0QXrm"iҁ`0zG')C D CG]hm{$v . mZBpړҡh1WuዯZCL G^{G+X ),˱]vM `Bqu0zzsͰ3bf/}x"՚ 4 e!^|,T4 P21x~- Y5,&> k"Go3NX&}5 =p*/ vd#0)q (]LX=p9X'۩UOOdIGDV] kKOg#9$| P i<'N~XoK%8].GЋ +$b2 7 8q.g:yzn3nLkה΀Y!?%~6g$袵\brTD<8„IIդYD!}~ P6t eiƟ!d]'E batġ.b46OpN$z ս3n3i(t=D$ F=*2۰Ls|Hk {܃OAϹ$>hFࣸټ&"Fʼ@D-RφBIJAmk׉&7 20 <:6f՘JWq-d]bwm#$5L3HԼGW"hJܯkzR62)Ee2ŒƮ*~rhxZt'D%14gsfAfK|bs& m+~F^{; Z c:@16 phy{h[EN8x(>pB|L:q]՚'1xo<)T^i-{ v"#=zVwdDR)!F5&Awѓs%pT Ͳ%"7ld|N%^ZuYbLگEAh)pSoym}3 8_Gp)2J֣6,dbIdT8\|‚ҏv=6 @M)s^67n.z >_&q,5c\޽bks2~v#pߠZU`aK @iMf g RFd&4szEGyVqU7$5av0QwO}{{Cmo=E Gy{#WB\{ /Jud`S̍A{+ȃt'00I)2?i^W$4à6T(U}!Rd۬aM:u|?āWU,ts*wK.&7$X%.؂RpOR%hYRZuH8F^'!݁%OczW:{CƭyjȐDۢȇ 0{4m1|I=ɿ[cg9DQd J܈_V[MW1]=%s`'/g3p[S:U6\{2ҳk'Q BLsOwO$Q?lGC/_xЧTN"0tHM$P# YU0\ڲ}Z2o<*>XJt>t`ΥIvԭM7GG 1G@R; g o85;;1H=c `4)~>ūx(Wųo62RqV_$@zz)yP7Z4VܙPmyaxlˆEbESΡ}m/ƾsvNW~q%w}vAiơm.rhX5S3ea^"!Y @JlLR6ȅHj>m> Wh΃齿&2E=Fr@ZS^Q$zƕÀX5 ._ے{gV*%;Uo۲M`o{U2$VEۯN1 DPgL`n7ɑRj4k@hnN8k.Es淟7"Qz=,U;Nrt"T3CVkKNIaWtn,cUT]~:YOk-ƀL@ ŰL;$>}*lpT1J?PsBN̂Y.x4YØ lbmr qQv36s8-*ӈ JFU!|)<亵Ew2 W`_L7Y ɳ woo(-HˎJ qkd,jр.OrJ8y\t~U,U,n[!7s D%d6Q9OJچiSfKl2Z728)ȫ>tjkxi;u9ɖ ? 7 {KoiDd)IbnmRA]U@>;ډS,xG"6vd' [g:å U}OlPN!4dz([fbg?-jO[&:@R4XμE}P$qmkWK4 ǧQ BԷ#}# x'[jeWw6,o9(ްZy؁GV,5hI.^#,{ws5W3#9twu?"\En G9Gùgf${(VG}}]V[FLnGnE2}Mĺ=2vC Um1p?K\¼voKQ(2K(s2P u]؋`/2;5 .}˂N곳*e.5۟дQ#u.‹r|ш1SDl UI!Miװ{qxXn 4j4`or6U~V DЎ"& *Ho3=rt oJ7&{0& E@r.>S/}"#8Srw!S g9j.N,xPxBYF1ˤ'_hk-G0uf4/+LseSj,U*z e'$eGGDv+Ndn)%ܲ0%7vjuqѶw,rpԜ~,)nk|clcO F ]b Yv)" Rzu%? 7Y+ZYq: I IwM#! # VǨ8HrIZ>r8g*3!5ppsU ~2rݵS#H) 3#NVN\#}G5kDFwi"l k9 ԏDQnϱ7zJ,dr N ǭ,w)/XA|fS;6i'qާ@ 9Qݽƕ?kzAI.T0Dw<>;` !?@!vMqB4437&(zry7LD5#y=S'xeJ sp\ԑt ٓ$cGvNTy: mhբxz5F&+| ص0뜉;M,$!pea; ʺGWm; ڌfX3nN CgFl&`ٖ Ҹd']MXNqbO-l!݆UZɔkLOS8>ڥD;Cq!qL&ݦ&u"qReT|^,Y.22zNï3-cM%I%@뇂G7K+19=]71h\l (0΍xj0'&6Y/Bf='nC_rmJ6G*w +\0w2Apk$)EiN&;Q%_TbwΖB<^1='69#/PV]˷kg286ʍXK"=?AޏL9װTB]Cҷ No#QWoդW[+:!PjtFX(j0Ń.߮0B{1zsZ#Wpx0bj^kqtMip8Ys' '/ęQIQKQ!̛f^bp\xGAe4%ܴ[r\yLD-5:K@2 1a΋|ZyOృչ!o#bQMD2x):Xy,7j4+Xq = %'@'娈& PkmO+1 ?r+$f򮷷#G& b *MH~g(~zPb>̕-is|TI},`˻Yio)<0?D)س<'0ʚ]I9\9*HI 1-oEkFr|{,T|xv+`$Ga4IZsF=\&|f'xjĢ=Kl,9ϛS==$ђfВAt|O'Ͱ=~?l]#ĸX]ߨS珴ytlR0B4)ED?סCYռQiɉci8跳&֝ M~{2x%cI]8Oߞd\*¶t-%Sui&p*wM{T݉В=E1OZt`K?gkٗ@J`xu`gNagQ`Ƿ^zH+0 zd˩ym>JSU 91-[pBh9yI̢3eR@|Co4r>Cw{Ư' `A?"5ojqot[ƹnD?K53-F'/X9КD?0.7umB2dT2דҫ9!ٖ)-{%E@KMi0 ?oK^0%JقWNvq/z[:'svLf\tSA1;K$4+F v ~*# "'F dw>ܘV0L%S7 DZ2\ΎrR dB(fH7dQgbP"_pnql2kNidW҅ECs['&"G#zyꯩu1p^oQZdN5̶!W^J@-PЕopC.WNUEQ1d3}ɞz3nj,?b<6)_GE<""{pD yߪ& YbIj-tm{|)%Bg/ci{rA'+A'M/)tтuhER? ;ԐbZӭ:ꋫ$b܏B f@QhBY޶KdlԄɞY{ e`rfcF#K1~ LJ%i*?dIϓRKD܎O/ ͎Cd2yo)yhHPdi4r)Zc~v 3T}5[B)Qt,oF\.o(wĎ :Af1 mf 9%(m4Lro.#RdM3Z@8ũʰ?{ c޼DDB6@W(|5L?Rg 72}ȎZi4BP*wۻҿAZmd)5m c8._χcb4 n*]dv5*|5 pDAn<% eISċz%ESsaYWѶfQ d?;fOqk]z۫:H^FlhFu?9''8.t@{)Obj3G̏@`M⃎ ^KJA9g6%_*-ҠVtbjbiδ-w"Jħr<|gjK z#wJh?MoXtX8M\\CtNxY@(r3Wٹnl.m;$jr{nȱ<`#pํXN0faT/$k2@[[uZsϹ OI|u=@eezqL0m #&f'UF3E)wBLh 26= \;=`$ݛGRv%km3ƵTeÞU2쎲RV,)4XnJ)u33^S@$#nI~,<L&i4ŊA(O1Q0P%GqnI\@o'E%@rqq{_._]'+ڰ?×+ gAvO WR+`:|[."MOYL[h9Mיo޾F+ׂY Ca: -x B[>#jb4ÚնPt5Y͡.;B|8~^̨`GW̛YNsƏ/}fvቺ.Yq"h3FhC`E }ҸnZ J6zmܮmD&Ff]6u$~aYT1t=#Q+Bt~F;=凊We8NY6N('# L< O(g)\A)#fr#2\E3U3o}5 l {0" VJKZwBeM1(^BD& \P_T\]>"H״eѯ=84` `07b{:_,`XM#ީiXxey6~niهO(- OXN?xڒXְ}fcD 鬎.; $ {-93pC6c{L`|t҉ |@zD/*`*VtG.0[tх*\?EL^K}W4iRD +Bm+p>|ljY>F#_;ab^M-Spjx)☟qL mc~>cݣ2cAY_ߺo!:=t@oWKrEd3b?yȊzBT|#<ITBM vJ}V{B(GMYrƚ40_;X}}}6+/{H|2 SEkkml=^nҐ[wIQ֭;GC 4y}+vg 7=tU! 鈷Cш;ʚFAޕg7: V=m-10p{>*E"ct#)dߒTP+UJV+"A ؉دM\L]xhBՉ6(LvL?r'N6—;ݭv]<}]Y'"j2RkiezuZGE\z1+_o5uzPmL'HT( D&,-+S9<4d0ڛ_ Q`pr iY,tHZ\vl 7g )@o0̴b, [`Y7(;!;+pe1 D)uM%uvs7nj? Gt"P q2II9#dA:W>sԌ4\V]n+k;X(.γjwVzL1vGP5+ _wFtCMڇͮ&ylRwx>r$HCla}_k3 bfbf,}ir262u]кdLNZ2ߓeimcvV$H# }ASprm#M 1fK`[l^r+sxh. sWHb4ff{ mQ^ib>.)q!CN HL/8s7K XsM&㢋[t\BҀt,gbY?أ˺1h\T=g$n1׆wcR0 hoB y(J՟?PoaBÍTA2ˀfКXYKn^B[ՈXv2osӻ:.A5aKjn ÀSg/S`O4L<9 v0U:X0a;;>͘lNܜcۇ5˫jטہiuGz9ʺՋzry÷hqRnٲA\;ڮ}O~=O|`dt%'t~&ԑмɧSN!9u𿺷 Y~k彲 R -O4oga5b C͠-P$>JE^e>բJ$ylwS?Y7}h rPvHC`Z.Uj")< "ϻBYEfGOAE4ڿ-bIbɯ Pr{,8:pݔ`ډ JPOAietw*`mhRw?!)<#;Cf!9b_ZUɓr&dVxP?(^oN@-ҡDS]㸯+184WH5ԓRQ 9Ncsa01$?zb1jNt~#Mx꾘\s*k4EF Ө_48(,$a9Ԑ^DtI"fC_@/<}*yly&SK(c컝=MNV)IЅ(xXS]r?Ʋ=pM b 2)6^#a8( a 7k[ ί)d>ђ?\ov|L(* }EAY܊!jSsRd[w[)q@Kf0($}WUݠ Qhkp p8]pt`J>aDϓq4lʖ^ާ ZF:kqr%>17pUƣ+LH(Htu9\OTBnsXd._-9kSeFЀƁwWE|dD}s9}B$֯"])W ?Xl)Q$A+~ciQmzn%]rBzTN('? #Aͼ~Hy{pjy'W\RIR:fґ>xipcf$T~4 -$L..D`lt] J7 cs!&6"ݿGZ$_9D.VmX.9!D[옸oqC$FSǸBtU 3,~Wf.<@CFuV\ABLȐ!kgѮ6~Cּ.2Ye-ع:ІK!'CdSpC[穻nYUe}%N;xzd t'xmy:?Q <7Ln D-ݾp{"Ӿ7+,1"|Z~h,D]؅4.IIbm­$,"v:S D)C廮Sydh\#Г9Y0Z% ӭA @ja X]SffcTĝ[  p]P<=\xYHZxhSq3'_ߖ HפOn-\$iig5 O'\Gq^$x|;K!TL }Ҵ3ִ#dSwVڠ-أ("Y"<=~<># 8Nsf.Vܧ F=9 C4i˃ [<i)`]6 WBf2m߅tXC5[毠lu#) l#l WqYhoKZVql[1NǻM2Yp_O':d`~DB6&uSrR3f-xT k2uzm- PzW!n1NQǩ!jc34,1`/yB'x 5|VLHҊPMo_?tË,[~XRTMD#.Чym]c@ͪBahw,8dsA_)HAD~f.f/ŴXfnNLc?mJ+R:켯R% )5wu S?Ĵ'mhB?y.S[JrayH.t!U]gjOo LcK͆lng  VK?/`B&`4%k('X^^#2ᨦ"ӪdJHtҽ&?,>xbzwj*u^d4s`I"tz\4d'cso<.~xh]ܵsWO3~& t} o4ЃJ`_:}PN>6BM QhО7=;fR)rC`d}fAEzD˖EZֈW~8~N,>^uO٢ XS5 c,\;f %I$>O9I3lrVLn4QCMkF-/p=a (77nx__wefzc}9E#IÀp:6*ocq+w_OݑÊXsE:v1x.qOQ?Cu$5_t\:?i>6TY'sGo.z(zz]K[6`^GqU"GDt$eғ=(| j M ErWMUް5.4`#:d>@2f nvFkhl|˱{*!/vjr^!Jj3+!έ/\f40g'&0"sϛ b vNlЭD oV<2S0bŢm+qud8Cuפm*vM Gf>Y P%f :|WeC't}jd^P6 dA1eyޫs,ɴ-uS᭄b4ʖ VK"Tti²QZUzDtOw}?5D *3t)~*E׮f@& s!Rw{3y(QBm~_t`DyKQm pKz'l9rɼgmWҖ0ԷQZW\XHQ#R݀pD m_AsuEDkc| foG]k&plnsT`;QǍA7l D~(cz#X%HM#ݏ :,V7/`fyj)AƼ\4#:ʼn s/~Ld6J--烞Pֈ8":҅u3ͭTzMZ4>Iݥb>jT^]<[ps`/вZE5S j%&;N%O0`K7ayQK[an8?L}MB`K9Wha8>PTphD)f j̓2\r_[;KLLfv7]d%CMf}AvʒRY(Z(~>tYh2P](cG[~/[a%UCA1ȕg>~BSiJINܿi?&VtMyҟ- ZUGhT@G1NAp i(a[3]B)X\H;U_\acW$w|@fϦPgC s6 *9N?&`bdyS-R)ݩ-=lǏoCt}QЀVǎZH$QWCL63 .{/l#f,'LdfnZm aV:s2Ϧ6؎JZ|3{)Lz 4VCĵZzu YJ䚰^?l.SPS̟<[jIbs͐,쿊ҵ|=-6b{E"!P@o/~-{mkszA{ GD*0if*jw9;vA7|ʽXdՋ\q~- ^? 6*oAU"[/8w<њ:re#-:ρNߝ֋x'iWe_ zeԏN0+Rrv5'jaB #_*%|/5y=P~wfCPb]c[DR2 $xi*Y cZ߫ bojXv!!d@_e0| Eq0 .a)XQb:nدkR ar %H'FЗ G C6Fȅ5d6̡(ed+hmg#Ҿm0;3RKE? X~yƑ RӰg(RyaƇ8 u3T ~D7FAp;AMԲR. f@o6*澹5A8մjλFHR_OM7S] 68c˪POP^ne1LR1˲ :/  \%T}pE\(=}3>&ȶrc>oK0uڵj7FGWH/͌qE W8>$jPyS .ɮ}{%,ȜRH|1;JZzU&/3l4]RùMnG뒓@LT.c&VԜqֿ759pmk|P2HS38e${,Yz,9@$5z"'U(M.%&#DŨ1[e&SC-J>|4^/DȾR\d,-TA/2}0Uջv( Ky$Cҝuw*բk A2L;V#^jXMx*;RRG$RD(9\ۅt_X+ 4 Oo (*Ԅ59KU2^h+&NFmȟXՙ5?̙f,)3ecqINuug!4y=#B&#3OHho)$0 ZXkg=p\wk0=fg4վ]ӑEc%a۩l"j`dtpdˉ9-IU?lN\U/hK Pމmh6{aը@_ ts*|/<_H+f0kȨ6G~Y%:X2ódǻBLQ˫)"d>SwFf' ^{P`]<34IՇ"([)b?"jK͑OН؏\Gd|fG ; M!k԰=`9AC>)p1HJfqa Fxu(py@AN^[9Jz@~ypy%10:/^f xgpuyMƠ3'm9>]ȧQ82(|24(;H"SBsA˨^JB /0xHlGCcn ia[K:i/:W*efila|<;R+=y 7JS_ aZ3tȎFWwL51 p᥃5aꐟ*7zFyƜ$9 @hteWCW9/|ؐŵ}lj/x`S:\=B6%qb$M Ge3u3|! 7'ݻ֧^S|(nmH8!.B:C8Pe$P*%kYN/<.KlZ/էMAXُQcpf3/&Qa m% Y{kod J Ϸ!`݆i3pњ_Ͻn(CպLJ3  (n=yW[XxsP S)% U'.nTq܄ ǗZfe[+hHo]z.q^/ [$wH $/jxV=`E/q`!^?ead3{4y#b'jE ?VRDlBlT[0)W3&-ơb7FjQzn|[9[c>{\N_Nס` ŠIf|9d'Vʝ`:hg<|#?bϓ۸:$)X*۲Cx /"DK1-~Eo 9%JlYACy;UGFǥ.I.Y4bֹj6  VZA1ոoӮR=E?3~bl7p߿CW#? hWИWTe{*1862˙fCvb¦G }־bE>:߭o]YʊLp**ÓͯZeR\f D6A+OuRI%)ĩ)̈=g- ϊΚ1&)ZIez\+ zo΀ӋZ2}1{;hn&[A@i $1-g MH/IJgR3$ͧG$(}" 4"Ko vd2}}+,=g +P3(5)\`6pf_b( NcSG>b:˛7!Ƒi짃zfy}\u Q]lШD`q7g$ 3֦UÞ$ϥHlCJ:ֹ{@ub (bLQ:cNypdCp|aXH+ugi23IN%\HwU zNHMq a j:O՘WuLF I ʇ2c^ɢI~= Zs; 6Q{Nzut2|MD5E(vZs7#6!(GKSt dѾm"!i`>fxޫL'T>5ߑ7ٚ/iN{)Y d^I/A1-1 bn놤!a3F:KhC7~gK[Xn!M}Hb>\>ksLV&dmqtA'6K%bCGgVMqArC?$ c0>A[ͼCW(؏|ʌ 1Pw6*q3C`Q.eOo|$rڕO➷Fd̚z~ >Ac~ *ЁyR3cOZ@ >7`Y -4Bd`ֲgXuQ''fL}a(F iodm$ ;}c^ ma46ԣ/\wNy~ەk]v$j{:ᑷ:݃i@qb/.C^;^ SYo!ja2__@-4po5\žp܍{۽8Wp]FOnu90[ 9F`#k*ð,M^|Fj^7hI{+fjY^k1mxRvk2_)a.TC,}-3_7Y3w^&7t@#aݐɎ cJU[/؎b0]"-j<VJCWw@im1+b}n,$Y)iY0&f^0j{6I$.p˸eMQM;S1uJ rH KnJ @'!=JRB\e7ŲGrہ UMOqr͂dգ(ѬB[o1õU_0+h~"Y .52JTx r,FG{MҶ6 : yksdAuO,wLMB8r8DEcėtq':b,6z"^=o[yVԹ׎@(W%L04yzUgVJ˻bȍB2ŠSՆA}h<9IwMd>zogHve~*iHiqC7VEτC>m԰lm(묏FX~blZBE- :Z2L4}8 u> psjt=]ҨY1I-q3|a󪆛#HOK:DH3[Yzŋ2?V[lX}o?h쵅bLxDK^sg_bmnN[X@vrp-3vrUN .3-r%d7^8U3& $.?,,#Xҭp7ۋ28T` xVt$} Eߠ$PCՕ92u7 %!?94F/2q=R1/jTZ GZbPs?_&?w׋e >EK<;9vJh!w4j ?rM59.v  ݂W6@(Bs' >QƋc\;JHsXJa?8N6AAPuYRIՉ4)irLo:gpU2 (uJ#v8q~4]<δ؏VlGF9VG~\覯4F%4fTSgv%FZ'}$(%SF*lj Bj]| - @tBn hrfU\}2&@ pǑ[wΛ9ѫ~j4R69pA5URiHihsnl^a?cWp3c9)/}aWSݿ-W_duz2nYZ:r p "?U6Df]_zAtBwv* 1aƒX+7he8M[D (̥MG͢nY 47Bq&CD&jVoXT53#yB\  MwpbfbLOk1>tVW{Ui ;Eic1tlGId\ۘ0lsd9i>#w*=D;UP'3>CiOvj~yzÈs0ʝfC]n.i7m %&QJU'-C"Ҷ@eN\}q^JY4ȅigdHu!@^и>˳d^DNpEF ]}) z Q,c8M .|VW$-æ\:PQplڶ }qvl; ]ϧ櫤ze+kv 9T}MMfaM]#޲+q)ι7o#ߡ'%{t#;+&dhdà{dZ2Ϩ>L=/7[+=k@#9U/C ƀ|!S#?sN.;Ie4-,T)uew Sv0tj_Ǡi.!XCy+`(`Y;2k /\hKnz7hǂE4R.4z; K.`mL'ՃKOtL>/{`ݗsH[ӑcP™-OPvOPG!*`f2\m|B w:*+ +Dh=50"3Y|oJ\ն쎱I:]ӂpV&)87=UvQ)*kYԣܧ>Ѡ"t*GWQvxfWK!׫__Vκsy<\|ÄGEF˛&9fPC:A-jzfg3R7ȚC2&&o"cb825@H\տ^NڡJ|f!}MykC> btYIQ/ǴN&,-T͂Sc4=!S+?'yNyܿh%b&;ȵ'E$C ;Kh>V#mK[4#Z1z &(+Hd.jDbYkPF.ÓجPjˣ%ΠHԘm)NSVTyNLJy#,ѯKhq f"|QzRVÔ,Be=T9G_C7:pft$yG9G|_$81d1J=J@[G.^f.eon-^Rj,{9z(ao.*epDH73:JƼ@W?,rW.(-* k~xxn\ޤBi4 L&=d?~M̕9=nkvT{ݑ&uH"o"~hV5b6EɍĎ=4bTwU_&\+̰U:*1B^vNN|w\Uk{E/(׸/IҾKwI /Bln VCJBZ8H˰u:PQfs|?iK"Q6B"WpJ ; i!`$ R3M7߿2:#m<ǚEA8)$op5ضW0=W«D-P} ,k80x LZK,8:9ͦNtb$V,f߉#XXzNҼ)NIR(׶84`FL&}3^4>yGE8̟m9W$V]]LjbC39Ԑ<x$k~@xsЏ?:q[3skv8b4y ,kQ:,IM<ay`:H6} T.;"U0N^3A.t"iJ43NjDǐ WȝaEgP J<Vsic=Ǔ{xqt1 a0?=an/C~F n O uIݷx1b^J-3@ثB<3*'IJҡ}jkZ/jIf=Dze:aW-|C8g;p%X[N \:p< 91C<-ö | moG˚( p&CCLn24i8$琵6Ǩub8,=C4wqcVwU7MnNMB(Y,L츜.הլϯAj`Z_&Z* X DBҒwXdT&!`X>vytշ[[#CpQŤm 廙#GntGoՅ@i'BCԬ#{EqQǧc@5'uwvζmxΨ!_7v1RYwsڍ$?7뮛%m]Rd3h#!+ Z}m7!w&qf{}y2*7ф˾%k֬cqD o Ӯ*LczVZb]9N#p"?o{_=zwz QˣHPwQg3OO]";끬 ׇf!QWG-P}G6rtIorMN@If_C5"yKluV Mzma_)i)%87 wc\T5<9d:"̺.Ťu-US ^.uYaQ`p;ڠ p +DsY׀dc¢h-X+\hԊ v9}‹G:N Ƈ:vS$\38(ME˂)9 d'zB4FO_Su!sW[n?+x=[}{j~qࡹ/Z"qˎR\eJVFP/$i3'R~.(;h/GX;7FhGppA /Њtˡzy{ Gr1 W`bpViJ/-.!mDI#ggjq\!B3dko+6˴\p[bhh]Mr6ihZ\QYX~[}֭3n6×%iX]\!~ "+F'.s "`+W}OɁ 47CgC&t̖fD7Fu%4'#Ww$oFhSgJG) Ry5|Ov'ZlAGM4 ]K?{X@<] ~ԲUgCWd/ޚy= S$  3<#yj6nBIʡN =! ΊO2QpP]31]<ע]g(Hi+: [*9P:It(DYkb:XFݧBZ|$xeH~x񜲀"&lH+-TW"=/Wz0R#pbHb40Ҙ#AeGJns$ #1P*|)C\B'5i!CJXLJA]L9لdhk: :s/=huʌij_?ZIoP76yY~`,Kl~0.| (Mi`dF$z^:X 5$5xm>pOws*#NLHNI1i Oƍcǿ8r qvBd.^I I%rG4+쩬~ĩI}վ{XQ.6M3hrɳ/3h}TC :&d d9;j{ /+z+ HiWO?ݢCA$|ny݌z@a{* L yx34b$RL{r4\"z m!oL17f?7X%KnGsv,4fZCVb-^eFSlgc]몎ǽp psɹ_WF-n3Ws,7:}ǀ" w li$nWc0JdovMWy7wj9o~nttoU HDH2E1wĺ֫S l~<5($ZГe<]ڎ wDY.W;-IÜp:OCdmĭ9s貰`C|OzD8lQC6$,S~(lE%^e:Br hdG *[Rdޟ,O7t;cl;C -{ Cݜ/X7yS6ezdTIFxVyqE+ 3CÁ4[md5IyWzS儽n6/|fe@s&zvBdžմ{6%]O2첗ۈA0ʿW~!:F\R*dKsӌu S&UM//8էA:,jO_IzyrGOuqz ]eJIc z剷HZk:̜TZ[n7CX^' f-fu$:W4uT- 6 '.ܢEpJ! 4!\t$c%&2w_X1 4:VU,\49t)=% ;֎aA/T!>"m哙ѐC:5h <; c`u!%8]P&+980b-u-1igi68\ee'>* WuuU%Qα}UlUW>7[$/V2N:q9.YC\L6g#0K7I,ңŲP|[qzsrKQx Ri:m-Kz3 4v:ۜ}rᒐ!jj$OP2^+q%e,8kz4 ߎXQ sĠ w_KoE}{nQI~<W8@jMEƾ܈( xOo2Yzq+3ԥ 9hZNחNM TYU4:#CE5<%PpAR{EDz-^nqivSQA#Byo)@NfQCҁ T5晀E-E,eZF2y›{/=݉ UDMwr>>4s-!r&;GJ80lٝt!FƒUZI\tiLhQU^d*i/76q1aU< I6$q Ov-~hs^dz2]m*-B1ABKW\\8".kZ<~V٪0mƹhI"B9v$NDKGMzw4uh.? q^pǡvV~ P^}lp$nWn0<ׇUE]SŚ2:r] KXV4 zO%,2h{CJY^-J/侁1 O!RΫVQ &gӣLT<ۣ7t۸1ݵ1lF*K/E28h^0Ą낥}`M."& gI/5/$$G1o/-CaEU#LM=Sv;QsT2䪥ߎMxCBL@^[Tȟ'a*cLe-M؋b('"$=g/m<DLL'Pr6a {l\e6 p4U7 :FH̠`(J}JޭgsT2V;iK%^ԗH #0to<" {* ɎeM:S$Gy5MYFrLzgu?xz4[B?ڌ-:!?4o7J͒]s9D($CxTdhKee}PLsGպSfOf?k?sB5|eoQחq0ˏɳpD sFJs)W.cwmM4fGupf0 HH0jA"d9Cbx9|Ɲy?3r4RcTB9'o= @XHBd4*l%b'rLev3h\˷v?*5.96\mږXNe'2~٣*Duq&;6 'ba<\u:>gj70ϥkV0PAm8$t%GF.ka>eԺ`DW ['ޞ/K$dJl$S2-\y/nspbhhH*|ipKŀջ}LE4%&3< P//;ԑ轅01$#>b>Q3g`¦6Ur|˒.Sbb+ +jdRD|/0Fp wJ8Q/4O-5dr.0KM|*;]IXy%6w$wcH9k"r\Cxj5p`{}%g=2%F%zqC}UsT8U.ddC bUZ>FEs9a;Rg1+-qpx`7טxلY.싚ˋFq%Z_S ;\vB! Rd:oH6p: qR8M@>xU Gŕa^_ Hb@^troLX'(ZBT~5i#w&5aB[J.r/7MէF)Aa.󬓅a ,?h֫+ȹXbrc0mY=lc bQFaAFPC2 CVoz RƢfp9L g%(p{Q@W[8_R5P\4W= W1iP0*NJZVFձQ3̈Sq[N[ =i>#pyk8i,=om29z>*Hc2g. ^"-94.')bk3W-U]` Ġ'5h.Bz3'@#sw!5VDeރ?D 2@-G:"ؔԶSJa#O˜Nt 5qn33^_ `L/A g8˖ btY?|˛'wEdA,k0)D7GDˠ#ʈh'*0:Scp[dmb`p idgt]ϕ{s9[AGy 'zLgu9xQD?OK+yŇjH܊mssmJD"qC/єa8@ma+NBܲKZтiy9 h!o?]Ȼ2\}{uӾ+sI:{@1ׄy%RF#r r\"KH ByN t8#~HQ{"gXioamvE]!K [M\Pp"'JBհa&8rL*H#+p;zsؠY# 0@cf)`fq¹Gv}wAd!dc6a}I4vy&rt}SlqB'2mt%Wx%mӭh !_j!]tl9 >ծ5-[z ۉ?n>?^Z'pUJץܝG KBڀ¥D da;\=r,17щX$%-Dn{3)O1ҝ0_?鐲)bc*I!4nmavqR5@n?}`pOL?rs'h uȶHIǜ <>_OoyQ$w :fMpb  C8Vs,Z1b Duk_aAE+oAtO) SAv{ DPSYTq׀Ծ7S#LʆX " Fí|in'+lm\ꞣSefpHT<,!&ޘIRJ3Q&oi. >A/ftz=ZEdQň,lPj=<عOƁsfHQ|T[DI%3Uk!c [us)FkX4Q1]$:j'v]G鱛Uv%׬1gH~;@/n>[*̹YA 7T/]OЊ33H4sppUB1=sl, )ba6nQFm& ח#?9ԋ0N& V&J󁀨`$8)i $^-A_0B"Zs%\-RD8ӳ'eL) UB՚mmX9㯓ٚsU<̓R Mu)9LAθ^;`h W';.23.n2E!m~-؟ c:mZssyL14Pmt=Bi( !PQ;J4C4:"GkS ncQPi7s3ۺYWLFZF\OױfjSYu vYОٛ0lQ#[|64eM`(b5BV:eeD-_N+(gy,?d-v$n.%L\)I`)AN!]Y mz9r r>#/ X@z}m*Xg G u0nem?Bp$d/|?<'vLfC%o"w< H$?>D`Q>:|X3N0oGiͩGE{P dmmaBEUG/j;L09ECzOu2ռ|dA|i;yA)6ƐR,e{V\vLR=DkOiiކZkMb&>\il7,*UZUbj} ~ȑZf;+07 :cU(l2Z:p{AQBazُSlY#{xpR{JQܪηcJӧǞVʭh 4{7)7yȸ&-Ss_W΋Hv բ7Q 9 _Y. `=4j=_s@(T&vĕ4Ʈʫ+bsS%GӉ9D"WrK[!t@c V*3ExSzvPw/!jRL"J:2kWn>&:k5XQXǶIŕofAvRv]vL;62ɳwa t_F.RA8`[ BhdurTUkBX%G+s9<. O&e/V,+hu?|2oOyƓds,4LSPad<5F 2U B[N^f>*,k"^@-?6 * XJp>my7Rl&VSdT$`ifW&e\'eda=3/)` s+l1?O.A;?h( W0-qlH6;yXU>6y'8pnja`BҍwO<j{_X|!{B_Zc+~3Pp*HeNvk}t8p^`OƧ[~t]W;zyX!E6OqRF~bp)_iãzc#hR#kw=%f¶zijS92)qHG&>Ld(b{LP0GPsd[&JE?z.cm=Eި<'v=Xn;nݺ&Y P:iϭL b4b2G&Z{P,*Bk*c9QG͞)mHUK1j6@2iz6OjȰޢ ч~ݝsg+1&QCu4;;38Řէr.eq>QV> |39~A{HoK5GN! nk \ ¾P%QagmfHvC|ԒJ|4O15uI:p,E2șe1E5CZ־ü3:4 /~<׶2I@+l.z@8mKZzf|PN1Njcju/w`tD'@:TxTY ޣtzvFCA5=#S8$B}6CY  KQ3jDV| `lݍ:EnKU*Էï]B%\ΆB8#ŌfKnAvJ$ hb11A}K}[U+)< W=k!6^l֝?DU5XqY<˦֭wR0+輵OFjBG ˦a03Wpi!</37[DȢVZ.xu-=)RH[Ÿ Yekk*a Kwwu-:խQQ/rO)iV,z}ht' ]R%%]V3'}]c }Y-|ž'8!4?`dEM vD' k''wr]ŧM"~& @׸yQ~@n}ܺo,q ѸzEȇ5GJ8N(.pǧe:v#cy"2#wUIs):RB+Bz9fN@<%H^AZ9dcO=(]^"2Ip5+4 dEs1W|`.CLXB_\#0;{=yHOE^Ym찢xdeM ku'3& ԅ!h܃Q?ڈF8i#}8}ҢjECH#®{!Î̃bkJc*W2Ee5` uOjؚ>B%f!W( !34 Ke0=_ jWV6&L%=f=Yr)l9v*ޚtXv3i@%=o]Y{8HţIO! ;bde@Ͱz^[9^A4` "E*[tkSPgO\9`!\^2Tȼ[JRR!nSt@-QԾPe*wBjX];]Q$ȨKWY\SQjKrxay>3t`2~@i_t=7#g[IHKJL`$4jj͛bw!Ȑn4$b{N9 "4P }mQ1T^pFgD3qʏX?T['G 7Ǣ?j*P=gtsmW/ar" e}rB/)w㴱7 a6F!&ܽaKّDX*D]ޠu<H|ɡMtxhlʪ 8z z0bPS7}[޳/lq§XK_e(!/S)u &2 e6A4 o`皯8nbg]iZ08{t6J!&rK uZr/ϴѴ2V&bOӧAXuiE∸܉&}L-\{wh 8QpY8WQGh%\ig]~L=fH~EX|X|fm*=;e;RYQ,bzvO3fpkF!^nxćG[! &q3|Eh aK͑s|^Ȼ.V&/Ѥ.!.42J鳬9M'Bֆ;.q?B>2tq+M0e)ńj"}J#RFrapoAv$,YqQSrqv)DH7G2ԤFkv@X'kӥ(Z襧 *ڲU; !҉\H#8dK 6slnuyt0Uqfq)AK4V6qn x6q Q)hktU9OOFÂebB' 1EѰn߳[ҼipsaB0"H(Eo-B Fx;5.4lS}v. +9 hqVظ*PvԒ62}}Av_xy`S@@N4^si|!H,z*m#yb+rQᑕ[~F:$-W9RS#"6VE|6r7d^jc]Pyݠ8|yS_d\Y--mg$f֦iA ' !nY^ 'ަo" *XYAzS vp%N޿ y2;f=9*lCqqiܤDmb *FHCS@C9 Zl;O-:g*-P #{ yxpL@4C 1l]PӾIGh`ZrBྛ:"|ތ \;|c*Iv1H2pN\в SܫM_ASY)y9CXXhf^.'寐[j>T:iRZZg6Kop:E7?&RG>ԚhV&PJ_ Dnk~2ĝJ藿Za~{k E \5SjL9&& h!_Qf-9p֪|4KӼE#fĽU*ԻA&FIa }1IՔ_M=)h*7!aT zIM(B;lZ2./{\Z_BLg6&J?VLqi9H sM,&my8/'VR=/A`3UCd@}0*AG%4i,NiK@TyZ шGjfH~v.,|a8*EL駄4L~+fBwL(o+S+pbQW wd ]gae`Tn"w% dǵ,Tvᧆdql /NY8~g\})Æ69֊;}C&}ᳵDkƧQx mw\n)}ȹ6h^ܧ/{KFӂ54pkn)t^:k5Ȭt]"<{K>< ϩ$rڎS\v{N>|dc@ Nn3 O_ː58ls*x@R=Pɨ'TYN](`NĒK5JW_~Nmr;#&/IXKzV~y;4cv"wVp›d?jT4 }V67`1J>-jjvkVt",}M Zw?;L'QblAs b'G4ٓtȆuk'eƩM56\!ѱ0l 񰯖lOiQu[xq{As%I]>|s3٠w,"魂] %<"1҉)R:;dqԵ^5)4ƢEy3ec *#h*4HD,ˏOsH{Oಿm+6!IaxY/ķ92O9f̪|s$lzXśGc_J{ր|:~az( qP% rqmEVX}d-f&n12(/vT`YPRWhKI]{,F+5RKp/9@ dhvDk˧yӈh&KGO FTATeC7/'°οCn䡋VAfsL^c5ž/)rޑḽ=D ~k,Paa/*>@pvE7+_M+D`2=qfҙndu4 1-f-&xpSpZ'۷ƶ 09*Gc38޹O0: ^" gty.=au^N k1{2- @3o^8>IR+>IP LIbzh"y=  ^]rfԖhG"|-a8uwji1mvgx^ C79,I3]ɲ0'3ԛ;Md,FJ :*VꉬE /u' f3~\^Ժ֣zf;eH/ƞnTE'h=xFE.AFC21^$2ztp!ہ [c\#4$1gjl.ꃽϩS~?AݾEvTUKvAA!d#MpA&&X3 ;|kzE=$o^%Iכar_.pN|W+R}4K$b3UI [GyvKiܚ{w6<(ƫ!vqA|(q=;(9 >ӮF1]ypTa-!cQo(%l5eB]31G{%Xe [wH me3Z1A9OzX!t^, aCDa:R ),!("MC-x_lٞYRuv7lLT@^$[gxw0,v>>ΟfHTY-=/KTL6Cm  ;)x8@UcU~ O7}W|;J]-L)<)$Yg.gkךILċt|+31f.Q6d+-YP[mMim- ^?zeޘa~Q;*b;,â>'˹0Hb-tnn̒/'9ݏgrQLc*)z2 *0><^j<E_K, H  Ke4M[N\v PC]CѸ LF&hz{idXQG@A]zo$Bw ήIQpKzz-lg(״* G%tcF]\ 2p@!R x$'>,|jم9 @))Rfi+]Yvh*@~/ @ݛ-'7C:%-[C4$bp2=Unj`NdA.bgC*QEStМ\^,vP 0*T&0Ve#һ }ywr!̘TJvA9=:N,g9!==ИZ^SHŸ %l9/8[܏`4+6QNga)Cb!"t_7-GJHAv+䯑N ;R%61C/_SjRѴ4t{t$LPⓘ,,|Wpju*+k%:*mJNΟpUwl>dX, >۰,yye0OoSOr=*ӏ<`tB ,'B)KCa[>͆Yt,\3*sa֥sV2-r@_3\v4vה.}Bl!zȫf4C|P[6!e}Nb Ǩ칁hJ=?.—@8cxYS yp3^t+Pބ<<:H5/ 07i_eDzW>Ү/s^o疶{K?tnp/ҰpZ )2׏;l c!["z@# p)u 2[5aNi$fMv S1-g3(Hl!K$7 @@73մA+?O5׌I[ {"Î~/OEX&#J_l]yZ=/_5?4\%h5nc.̟C%4ꀧI&摸yi)^םOB-48X)pEyş0M>ԚwLVjoJ ҁrR3ƈl>o&!>q&j_YG_) `W?"Nnw/!_xBZh30r6_9$4XJEUr>C{k7EV }Zڽ2Po^ -N6WFZh:VnZ 9O {τ"6@!?-BdR7>ߦBACm#881"5(yRߒ $ynt!Hf 7׋e8mu@U S=?ތ l=yl+~ꌘ <2Ko5œeLM҆E-9 ^S_q&D"dTjGmSf` ъD!_]+UۯPV޶QK/ܑk@2=s1(K͖HL٣&CeĕϿ]hSPYII?r ,Qr_\>LPCFoԊDS̉#Hsh g?g"\ 2"1JΔBfu|9_">Z )tG7G&X)HU.)D'8ͣkʞba O%Fb{~ƀf o*2ٜ\\{F7V C~!1BO˝sFP#IT|^*%Wwo}:)z @RBxziIȅ+Vy%-s\͒̍"ArL g14gJʃ8M^V6^ 8]TF˫ؑ f7HV %m7>)JàoPME&\;X,I}Dd$cYwGR8(8~&(,D-f,g6ܐi Lϖػ~MόRXG VV2\E?qsgo2!5Ze0m.Z-be/.ɬA|7)hՑb'<S R$$&)ˮ&As"YaiHw=SY!ABj$3eT5J~kS@ G=q91ޕAjtҗ>;̱K@8O++Wy501?%鼰f~,Xۙ &ѣ4!kl2R\h\4cX¨v5ʟ;rȲG4wg4}-"".0Hݨpͷ_mǿxD5JRK^xMx6H˼xև9-)؜d B1 :#W'E4? X#PS-.ĩ(X%) ="[;)*Z.N!msEDsOhʫ[4WpXBR\UEג >_1y-${T”#&Mf~y-Mph,O7'"٫/tq$jikL o$u,h0x̪;,$'qO1@J()6q.k)>*L1I%=xܷ]Ӧ;}䴍Od}AhK!^ PH\3=`5cuJ)q.z%+A+vk5I`bc:;TG3w_O0jx:m+_ []mFz"}P}]n{fъf-?ppaRo2DsyO@jbHGDʒ۠}~p/(v6dLQ !##"y`+?` :AS7*ug^Na3(A@IVlɽSbVI_*j6YնT\A 3N 40fR˯16~Ml_@*>):!2I's&H"i?5h=C{v f:2t~PYLR) # ։~Cʠj LE=$Rn~oEG誟8MCD:0;jH;3aq+@>D-W2בGc9/%ӽ[O?z YqbWkcQ2dVs!q~2!%L&]`\M^ǭqg"9Sxf|# H SHRzܠ'ꈫEF[B ~ 8_zX) ]Ⴊ9pwM`P*.5U:Lx\o$ڰ0pJ8bљ7d.E7 _@.hƖUT"( ش+;?^߯ >qv@hB-zba]Vʥ9̨5'F9yh8kAxWYfFɦBcYi-?#owLo3uuE{JQyUʟ0Ƴ U:JaG#"[%{vTok}2 6ՏmOG?a-HB\a_M)Z]FBІ}; nNOH-~ ky[^a51h}t3 {L#kTkAкBHoh/DJV2 }ߺ݀蚌>< v㊲% BԵQ 4sݰDg6=oJ\jzG;F94Wu3+u TaNHď͸XzhUmw=4uL.-_o-͐u@GfB X;7h\K? K@IVh#pv^tSPcd^4w}1"먒EKBS2`n$^& |Ok;h%7=.zT{ 5^|zperT\î#ʍł-_ܢDv;cQ=)fu"'O=\?"vCUGB~ ֳtHD#^xٶC7 EX'Fؚ]u[+AFK'_}hU,~.>)қgI 2!"E֛ף4jS֮ $kέ?R;݇{t1CvC S0n_q _H.MT&. Ჩ~mT-\O'D;C ?)IQX }SJ0U5H7s˟UrW(^HƱCsXHتzYOX6fDRp䨶0᤹39PamDUx'. esBp3MT&h3U/O?Lzhm*rJu喙]*:.$hi5_!"mkVxOybԇ!6/,.IsCcGg,={5 H1(Ѽïqe-L/z;zJ jATP#㿐3/fbNW$++mKAN7F.hN<{W3bc sUTr>EtC3˽;>%>. TB=.Ȃ'k {.ZRLcoOHؗ@N eGp+_a Y8iGe\FH_F4V.@t уXmeπ V5O gIhm[jn̳g^kLx) ͤè2]fdJxTJuK.^;cǪQX8 A[h8lTmIS1A zWII^xFM8n]1vS xhr{SM^75U#?xۺ~|GK K֘fd/c(|p瀂3[QrG4D KSI^H%x:k KHI5 "wpaF_zXz9[VP{h`\ T[oNlz6xlʌ>Kapuix=4]$M1:}XV︃]VCR~{=Fdȟt?uO)Lm&#uP qG,^=aBz14fk{DޥD#EP"h9%fHGDŏhbSSkj_dVuXq8iԲkar\03vu%x{Q`C^ߚ35|[k?kߖ217U9OtIĊ)=%GW}ں2Z`gv[ _;qhXҟ|fu4/TՈ $g3NsmYȩ9R@q \R~{]KVOHnJJ4i6E: Fҡ J#), 4|^ܽ]G7Aȩ2kQxfLKpkk&9͓DbEy>eC0e5J bȌřX lHHC2/} &gR墯MIW(Ad2мTQ IK6ҕ[0 1=*~pɘSXsAy'pʼnϕ՛ C_Yܩ8od) LsX3@-)b_mB`9pl>!bl}+&OKB㬓.L\د'QOM$'fp9Ed$'ݧ-y34{MqˠR6mx1v{ 0IWz?zثEow)'Vc`z0 wʪI+B (OHXϠ?@#7HL{ՓAdNƟ'@+燢ՕkGzCۈ;3Oݨ3# HppH?P/M4vҸNŽc\>1ѵ*@pӦB;m{ :{> ۵zB+ݾKc[s[wmqrCzrlMU;GEB*>M/(ӟuN? *Ja~]$l#2{Cq(E:(aS>jV=|xyz/C2DB6:iL(G5_S=k$nYNh7$m7zTD/^WۑRO)K [h{:=*{z-4HLiU+VӦ_? L2u%&Lq8f~Yje1}axU5 6hxWݏ@ldgJؙk oymh]3c7a($fт;pJsuH[ Ч› ]7$ pʂ̍ ~&#hx餛QCe]&ɮ@M$γn5Q'm0{;o|.>EU_0g]V 0 /kԏqKBTcGo΋(ggK7IgǾ^ vחS+q6`'_,=q5LDnF@- <4bdĂ(0"}ງJLog0%QM) 0%NO>70*d{+(hzDܴwa)M>E odm-4Sb^;CO`FeQk`Ul, D $%j#DJ(/k]p?SɄb);LWE,(41VmE?(EIq>=;n1>ӌByJsgs7t94asAsȇyq}ݹ;d՟p|oʧn,^Ay)r}yo@  "lTok ڃqî瀳zd(Л9wHبZpw6bݎZUϭ;TO9^2.&s|I?6 "Yb"Y)!8M!q{缾OCR`;jL0,dK3 G}~LJxr/~4;a28:βl55̫K݀ܣGRtϣрY{2`'u;tFZ"A&joQ-~v;l,ЌFz8{FnĖ(1ȣ,PwT bp8ͽuID{ֻȋy x wVD_If8 St4pu% 2ByzKd $4ǩOM;L,バpuԡy-TX/vsv`~P@բcz Sq;yu@̚AAu96wErZb.)9 ɅHuP!F.B x-t1Bou;;ZM< f@G2Rr.7s]7>9 "5 -)6`fzw<#^*s#CT}s֬DP_(X#+q[&#IlS zZI,;լu~dL&!ܟIB㍫\XdA !%E|#k_+sOFFl5f|#\'r:d#4UingaXq ( jk,qT 6L"2Q%fcR(:˘@Iv:čJx!IH! ̓l,p.dSzІe8QSh`I[m~Zc KUT4I[#Pkrs]_ Ɩ+گj'i`M; bzLx$>d{eItY"OF7Ϳ;ԖK%7eɈmqDV P2ȑ:N.&SENX i.>;RGuenVjb[{X̮MH>K :! =:IVW@ߠKDUxy!kYςU+5fqq GIyyZ1n]s^hv8cn xdL0ef&M?d45zck &s2etWQDE67971y{MO괬BFBgl+gܜ2*PYs9| t\0IZ9/hA|Qƍ_HH,1 uKiZmI'JEP;4];c= Rq8I="o,mR۫qug?G!vG<zƇ o+~LT< R]v`M'@Apz@`J11ԓjﬞ Ld%ߝxSg3b@2ifmzI̿)bS!+Zj!,0C0MZKNZD$lоspwW >nEAzf=S}@.;sR:s*oqY2s$ޯWl~BJ#!>Uw02H>+EQ0R9ri.nY[0Tk-4Lɵ|D"8v~1y*x-seicr䧿bCrrRQ{ |x]aQG>Ny}7V&xX':#ձAitr| g;Q:8xSKGb(ˍ3QNPڹ9Jk~*'ek|ߣAjntpoGh@@rd!:;CA#Mp;SrٓDN%8ހ,yf٨՝3?(< _yW4[Pqn #*$Aƀ7 SdʔT2b|K#5Q݆`2fOf$et?N<0sxxǬ0|wA(+@/scZ' 'É"Qfh8U!.LIܭtGI%ݦ%GߠDJL('3Ӏ7VԟrAX54aRvBo(}.ph8Z2V7ejLk9#]OW2odLASNÚ8rP)_a[E[;A”n<+-Kc~!wafS6 &Loh+ /naf=Q~s`<+aѝ oW\[!V-EZt&rIg *^,Kх\4B~_;tX`m44u l8궞1fC RCVfQ ZTJxEǪVvĎNl|pn^$F'q7FÌw"^JR4scمc#V9Cg>TVMeSM]\9'c"L:;\.d~K^egz-{C10c֞͡Nm(BGv pGjӳQA 8z:}PLޢd[*{Mq 񗘱g 2K'2LYoaV2-SVhN~?97qˏB=VvzG)RltB!yr41WX ы :s0ae)o:Ĭ"Wa@bh2r'>4Wv;Z3b:k43*tI׫ ©[0Qذ8L*$sH&v!T5 a[#4m@mYEbeX=!3}HD_vUZ&##^8%TlYW{F#.؞,'N/A٤ҲhO"xotW* UN*{"7gZk-!?l ?ɇcr$3y*B Kˋ7b/H2EM:-6.I^[j=I [DrƁp8ʌyx{,ѥ&g놯nl9%^w.ةc`O/ط\ oT[.APdvMrr+TI Ls H#7[ك5~VX=>1>λp+huMSJ4vb }0Z'VlfcwjVEB9p-6Ywo>uڠ*塊V7C ͣ?X}wU܈dcj% CD-9em=Gѫ{m}1{$Y᷵6}nTm̓nYFrMt#ʈgy F `=z[WͰKJ@(qiд Y ZH2A_=USS 1Effd <=ʂRE*2胨ۗ3Jy<'x~WgXH[:wia+{-Yk&Gp.[ `٨ץ>Lhn]Lz-/ ͳ2 3sAZZeM3PVi4t<SLB"=bg%:XaA4d`q\_cpmva0R@ [[J2q6$]@^mђRH&~ "'WsL첯a,^Y>ڏTtXq{_̑~P5Ư_@Ng!{g N {Qޒrrp uf#u#EljbSi,YzGÐo̖7v{48XI \K&t](b=dTZ=@Vy FL7f2&-TY#ᵶ%Gz IKiO4 _FjWCl׶2"`hVLj.酀aQѻn|feU}vBEnz}eR(CKJ~J)+8>8YEpI[Qcv:r!J86 F &?JH{0H3NoNЃl  Ԁ=WǧHX/+08`$:xOO5Gh_ lDm[W!+t܂wgH?zdNUg'8;)IڔXm \$Zwih۩,#D~K%.(7*furkk` VJ:#[myf[/e+25{JqqfA# ZF |nx j)^^r//*a 4Ȩ.F,Hi}qМcvَS^? dwsB*=RS/N`՝&mFTm])Z[)|BɑsߘO6xv6{% ^n7na:4Od*`J:Rtg\asM\Uxb^tӤxI-Xˏ6i 7+E IR_b\TSRV4@ ߽&5},Pq^M#h.ލpT o1C'ZLhN{V,E.s/MNYjı$U^w+Kl+_Y,$Ԧ=MȦ@:GlEIR1!K\Wi)7p fi4mRk4PĀ1 Tsa-㿘}~۾,R9x{)!i gp;ns]ƒPqv3Y/uxzS%)0bs"IҲo{JUXl wc=>=~u-ܩ04g (Wܠ l#!\uBPURYEP\[d~Sbf"Yb+)z̨lp~  zaak89>l` Ý]~< fɺHR?&zU>5:8OR쐊#ܴaAKN4P#Q^Ji;񲾼˛Tm#;dFME-ܣyhE1ɘUvn)r?k3#i~zG$eX(:( JQ%U ~t|;g梁;V(Z I>[RKJ +tmM{~ӪXɪP+9- SVQ,bpĐNILHclȵz={IUk[V0vk,‘T|+0Nks_۾N^#6R'~{{|\X>YbQ5< v9z o#̿xwvnL&O|{ֿPдy%sF;QTڒ^jE)beVvxV74 R) q :REpNn:n2NH8-#Ay#nojuΖzԁE>?dMuxm%BD 9!雒h?`_ht2~c}Bl̆2)*&1]qMfvp )Q|R|7 _IY 1OSלTwg r%ngTzi0G_.}51!vǬ bܵKOߠ:KR\4C(8P 7TC~`[]ghNc;ZR٫E! wwU '.7+Oz19C'8uZ$] FhTGoՠ&'G̰IxD>hi vpDXn Y'[5$K1sOY+ќeRdG@M8{MeX⎬eLv!xhBq3VSDVR4"P[ 9o'G0F8U09Qn꡴7bd->IF.-՛(Jnuj=:` !zw[=w7 Wmv:KI6:KHh&yZ aW*SjVxi̧)CQ7,]qYIj-%f l(5p_|}1T%Ejɣx Oa8uvO:0 }a%I1LmB2=`7|ݘhPg&`fv"` 0 Jx $5!.Ǽa0M@hMe'0fmvF5yHa6@O#!Vݮ!yY+`d7]IR)Ghv_F.őLҡ#+nS0KB6eLDyKR6=t u/t}F)IBo //D*BaEzmfδsKSc/o5hmKDՅ,r xm?ZTi)ZNZ/hDT+0e}3y'Ih$x!X+@ [󞼍쵷NF0)lc#8B`ș %Ii-e+x"*7~L,ͩ/xѠfOOܣ̡yJcNYmX @qjbX߯ sY;kĻ̩iaUHEo=ˡRYi_R-"pd(Ƭcz[D&( 54a3a gC zqkNݬ[`90Kta@ƞŃg;@$/KLc-n'7a,-0H€cĚ3ʦ˗}h"b( yeׄpo5guOڦ2H Ns7V@"ovxMS*yuz80'(%X|y bq܂7Y?"n]E>RZM.HI-5g{;8ߕɤ\q=|,.f%p.už|vL:0[bIHfpcB4W] 'DpfM;3q6'MxbF.ɖ\ 0 jNuz.3PHPZ۹І*04|CQ R !S!72lN_Csr4x)]3"yp!>܆VO=|o[ W)o?Ii/ļN2*-Wj, w_D.<*Cw`Cu:O2Pn\`Xg ="͖ Ĝj%#2=: }.$Ҝ K5c=a9o޴o&CML c;#s#/^<:Lp^/"wFXY(F2ޯTVp29R)YIt9 hqj 7HO،d3rseh~I'Aи_#4S/1JKB+6oE:@52XK pCQ%͚=]A p߷2;XQZV()篘o篆y!omuX B#W $כz4\:#4DL@pJ;DBj .5'*C`[C7Ԉ7;#yBkJKDd]?ϷD\.ԺX!Âaq3ԑ^!w~rbCMiڜ.3e~v.u 3-D @9(T)tYF=ks:#P5@v1U7,6`šWu]/Sz@nugmY";qV5B /=Tu[0e 3drady]2O.Z|X>ܼց0ڰК4]嶇P2EdbԃbJ4YnlR.U! liMU~U0;#ŔZ3/nǤ(.-RH&_qo01Ae|`.- pòjɟpJhXyεLWZC@٬fCH:PϽ ? ! 8VyJ&9?f R˛&?"NBU L:Z0I+apNBdѩNr܆ 䍋Wtd--9Sِ /pfkun<~ ˱GfCi#$QRěDҰ58C&s]DZsɀ;B|)hbj-vj{̾v a 8{3Pġ8ޜC4vbQ\>Gɲ’fؐ=$]jNGkȇw7Pa~]a|xq|;h'#իZYG0/:~N h#-npec=Aң9q؇[HՈP'CϧUr% vܞk*7̫^EOOɤcՇx&NubshyLV=WaYV(G"S9> Im]dO}!xx  0;OD_ ۾ܹ|U/db[i mhc'"QMzs Kfd,uk؜up-OHexSW]b_E<7`A7:FNɲ zw|Vp_ȋ>\7*KW%k Wn]h3Y"r>PP U-قT=7a:7*ޒj@ŗS M6)h]Kչ ҒL UaeXJCC~̟+֏ 5McQqdm0*6@}ׁ .N 2=_^PÝv4OG@jCE\Zi $J$rDRRsM۲%b@BlK6MϻlDUw@Jݪ&"UP-J1IE>5q~aNma!._vɪHSti]BeM܏ێpą^lۡc8eې*Om:)E^fja}[7F +ōbn^^ۢhKe' )x{cICgggHYW5X:+3?M-LK̫?,=. PR]pf H(FI쐀m`Jv@{o)t74ߘ)̫d!~v䡑<Yj`X!-nLZnjgRtVŷ,)Xi3&O9nX t G#N̑ P,[)blXUV*/؍+8$ xC;ٓ搉Tt4~Zd4IoSj Dgu% ~{, 2ՉN]%Q@*[#wG[COx(vQ@;F 5_%G,z9_?RboэIVAYh%?kPGy g.^%mW4궎szeo6@Ivb/9ݶNezM` F1K^![l$b]G~g 3z-I+p(EtjdӁT5ՀcZ'pVwS5G2l 8tEQ 6ZGl~ZhjY&.ߘ1c;f;}:~uhՄe)׼֫y4L~ UUy@`}'ZUa盓K.>t[`s$g1^/T?n=B) Nj%|&3}x4׶dֆ#p#%y/C/s 0}pYW /evXccK[@Wm7JDM|ɼM``O:tcT>ru~Dk ֥S5q! gCԳRе'Jr+7~mΓ#76PGd`Ar-~"dx2'gT4w={#JT! tp%MPWu|i4).o+b^Qd?ڃ%k t=f:cL) ^ADKyӷ= V8NB_|Lg+|]4}K\}f-R{%J,}c5طN} hs[&r@Bnm9>{/;SX9]:]W'yk穙c>YK]Z^ňt?\mQa|#Th͕#kaMG,>6m:A#mgqTԁ멗)IGQM dI1a7xᢰɷUN]RLlMd $j|N%n琝S _bSΦ-s'#?!j,AjuCc'1d lz;2^"PòĻrj'#'šQX$gxH/[q #Nx'Q=R:2:εnxJ3ZU!d !+,nW,A`=ա=+YnMߩMl`>qGN| fj"`Xhlŵw(U]Si>Gq6Ury84cz7 DPD't|IppxoXqQ2aϨG2 S_٧@a`SwB[}C"\<5*31NvSLg>A='t% ?Y5&] )f v ^tfm\iaYb`í]ưQ0/_.==w{ČxBP8}Ʋ͏C_eVb ]l"w=cذldRu`k^tmo 34{{`QGstNl.WJMf˪ &LL?j @ǖ/]dc?w ~Mۭ>[M<6DΌޣm8I=jC#kN{@Yu[ @Y-,Μk5oq$=s:/fWd.x`/a₳'emywx IQHhxr/עRɎ BRK6?]/?5?]kCu\/d$7HUpܩ(˪xH}gNʥ aM}DJ'ςHڍ R-ڈgo*k.Q02*^ yhΩc\f4-h_"8G[T/ClqψB{ bROL >"OЦ-(vf>Bqzm,jz1/߂Ve:0E(Og bxTDZpThFz7zj@6,8~%=7!(lNg RP}7ٺ[<망 6FΠnXZpPQ x8`la6O!A@yDC(fGh\mԼ\Zcv /U)-0$gE;)?%\DˤBt]%ї1tڕޖ4<>+R@?GI$bɶQ([\;ydo*+{\4г5 f1c.zvBv:3ZSR#t^ھU煷٥A-toØpG}p 6!coCٮ ?Wvt֨Lv|@}˝Z5Fs&_ΔT@L-vs-O\VaY 7JL:4:]rkP{9e{q$?Ru2C޲ԉ 3X]wnU*#z\g>zgP:4p˾D~krSvheb:vOWʯ)vGTA%iuVvFjvHz(XD_} J0ѳ;n}ޟW >!?;w EqPFJtm29.ChaigO"L,M˶j[/E%gP@.*Zzl:bָ rQZJ$pS7~A8&Eèu[ ]wT1G<@ -ŁG H1f!P0[d{FH? jTXޚux&Jh4XG g=<NZ ءϙ]ɭ1 Ђ. G׼t3ak2c'ZSCU mڠ"n?Gn8~[϶}hzqtK YAE3+cޠ<YH_1~[8P7Qb\#ja_u=UI^k 33+fӷ|:KGDަ|zװ$lj aiUV>&#s9](4cC#)$k-`78 cȗ$O&+ c:yAϦ")7%ػw=`1).Ø =R&8{i'CбHo$$| wTdev;5vkA% 87(ЋJ?UhAOרSқF.Q$ޣ؅ԝ~yE1K&!dp™K @ hp2òՇ>3}w_qqäH̠\O?H3,G`A-hϐIt 8J[b g-:$7dP}}-CH-lcoIJ%=O` z="%7,*JpT$vH^ 6B}1I)S=S1L]&!b]$sVEaG=v*Qj!a՚ )#64&-U,Ni]JTn`7k!c+(_A5>%ΡvdYLCO!l 0_"ĐaRtQEٻ6Nn4ՠQ(S>p󘁨0u3MC2 ]s 'QEGgȓql7sk}W@Qx< u~ɱu vf%U==aOݸD5e/~ERR#\d c9N@jBV8VM:>D|O!Z{z_r&ʹB~*! ٸ?QDDr ˠMl UR4p<&~s.hWxbDI?X7mWlD9"4^ 2̎}沗)BvOק :6ob{(Y)VbYKZ&5< }C; ݷJV'쑣6u^{'aɛ_?sm(w|z﨨YPO+vf>$St$zci ]"O>2F&_ڈh];w&1ymx~YB\ ԛJ#|~6nd~[q:&7P4K ?DK2Q(ʄOG7vV9{OUbhzR j~6!EI$ 5fM^8ka|ŋM-N{āC7P)_EDDK0]o,`2 HbĪ!_[~:~m~"S<|;5WK" r$SN;ZE`;p \a#)@pNs" ^T>tU@zx!`5ϜLN੝t]N6ypq)鯩dZc5mg;bW,KCT-F:9cvg!MnS*xGYpJ\sB _2Ldcٛp՚GSѮ&ŗrDf~,S}HuI,I(2  ߜ6 U~؇[ol yN g ŒS;;@zH:N>g]?l7̛$s"P Ȫ̳&KƪRA% |=BO *nAs-vi)ݞ`fGlzmyBL0C*"貜%Lhh #kDX9'=jlgq5@p#>9I0{*}HLL޵?'f4kʒi Q%ϴ/Frіu J0S,&y LǯB-8kص$a;Zk ljsݥ~Es45TUܸ :6=Fq Ncd#,}RY[MO UˁmwI#H❪4!we.W6MϝcO (Fɧi4x ދw wiJ׭YWl_SK)0n ,%>OCuLj&}\ޠQJ@}Щ/u)*a~&g^v&X򑸏Pd%Y x& Y$UO zsm8~SW4ۋ-3gC}/\uF{'ℼV3(bDRuר6hV6xQj{S7N@~?)&"aWө<5?[uqpքo(%nGw P { !\I9 M3Ma}qV;^)LwD'6zㅟkq15M$Yck*7?ik]!<{ld9p ʕn:l6_IO0ί\{ Bc/b59OqmضX!)`297U׼j@h~y,s#,|9hGLG} PЩњXܪ[}Dfz64g$N:qب*Ú(v N>O;B-!@1߿"ը$XLԝއľأYh[tEN1%To@]kZk6̔{n?Iu(TmQAS9kN|kDy/b2w:}WXlqԛN*PXUmMM=5h}6 *}.C){GYFj|[5 Lr%]pt6Tfzڒ-m> ԧ(ga~ګz K4PSɂd8P憼En8BlJ7:=8F0f*Tʔ:݇]q/F!9FUk7þOL !_Ki +ˉZ4UW[OrN{-4+IqJbBle);ܱ2&Zv/[;!EvPsZ}B9;ָ8vh7 {WgZ]5ڿi#Ep"hx; ɡx$PwC9-nRzntQ[N#ԫʧjG{hm9= GV ɩL?ä詴M|AxQ[\fV J yo $1:7UtT?F_BIE||0, l$-w)}9' FPBC<׉gLqOc%'eT d,Rg\ۄ!e5P{1b(bn )%%[,0vФ&ݱÇ"pZa";KdTpܘ2;?ҡ3Mr$Snw._ hĵb ;Ib?Tďu q[o’D…xY:_F<|/&SFY+&t9='Ee%8qۻ29g;C ȣs "edPݿ3npx&E= ư]1/p1]H*3!77^-K#&r(r1mV` ζ6Z~%ÊyţiI6 X[M'&F9+[]ܒ9?63O"U1ul O3yB=WY.ГAV%R)Xԋ-E##G˃/m )GDz?-T4~70(l0q.ANyU,!tH@hN\|6'u"gzqC{ M۳V2 }%Am6{h6C(vָ1i/;`ٟ!c̸"r+6;Yvפ`65V9 I-JGKTWG$'@6ٖZWf,>fȓ_ao.WL8C6:+~8 wϫڷ>% RSz"fVRzw!V ^i+.:wCxT &of##ȝзN$qQ p̨pXzfĽ.TT]7헋rA,cxW>#hgw7S ݼt(//W=UY0Dym) xB!q#Sx}\%"TuTb %$-lz A+qN77˳p.L[ΘDM20R갗 lu"[ 5L¤<"c2'ݼCYmOe8VR -jab jhTL#ȉz&Tk*{zka6h{+k Av*|* ը(7$JW)U-!47`P튄LLȋ|$Mtt; =wmjv<NW9ah(u ^ ΃2Q~G[ikL7ǂc)a+ ˏn(9*J}oeLՖeH;ِ[iR6Wn{RZV)rRbXR97 8Q4K&&Sg913mOr6)V8ϔVFSX𛠁ȔN:^lǚFSJ=t^Χ!בʚ]*)vFpj$M7] ^`k u蓪W/ C8y|]t__L0!}4d{KvyBwK>Y' I' ;TOb/Mge(y-j⸪] HG  T >WYJ?h);%ca^+﵆]d,(nK""y:h/cTNi}QztsT.8)A7;#ɖty[+Q^NJ88JDE:0 ș;Z̕\nNH$ˠJp ' W<;iuR'_EDC&9=Em5|(D񒣝''W(ۀ08׽>l4JMu3k^deS[kjdVL`KO>S>$ydvZ<%SeahT =B͋$3KN3j%=qr\TS^-,d 4WsU-hJ㉤iv~/k̓09pbԴyK瘮XHSǨԁEL}-sؠi&kq:E?@%SM6pAKqJ"#22׍&b^{J+{Q#ľ-x܌ Y069[wwϘ G#?1r%pt\i8l|Xqa]H%IJfX9֑)Ǫ-gh*1-5XitT|@Pr9tH]TA~D+ci[Dq~drB.PJ~_tz5Fa٧g$S>ݨtv}(\ր_\6TcAuP1FD?Al}=Gv3*_5쪥I2f|PcUK$pO/NMj0m#1NJ{\f>Ў/KC$!PJgXBI$Pahd['7:!R(7L܉RK0: ?.Ww٣ADs\oނRi^"[r,"/OȐι]*24U+a@r7d&:hP-tؠ6À1>''XLmq|'i2Y$5Qb|ffЖz|Uemw"r 30UAw#N 7<*50 z[Lf71w) NB#u^y i؄y^Yy&luqqj#&(>bk4pỀ_0n߳KjpV/k#FH9ygN*A:=>}',>(P $qRݚ۬JI1 vۄ@cXCp9rKzt 4o7I-%a7 ÷%lkxNrdc㹇!sxރ"*E&1We $*S}KJ, }0m<Ɖ4~JU{>ڍTu=ggVV4h̃#>F:MԌׂ}?)7 R1]lt t{W]㓭hD O{Ȕ_UEԺ;7m<9nH dW/p%pCl ,ED5k*XgD䀹d";P|ܩʷß^:6ܧ PW' ;E͆c >d%P!A/j|{Dr5-T{~E bY; x*Ma n^cّ%b|y)*'BxP^q H3C5\ ' ujMfv)Ͷڛx=p3QN3'Sδ`gЕJkBE!8#uYd$\yw¤]H4f O!R*M6 *Ӟ8]W=֯&v0Q \t5x)vsRJX;r6=jS:5"+y$XLZ}A];p5ynx:w ="u4 J>Bb$bߎ%xp rβdϼE.3vnpooCjzUW}Vi$LK_24)*S1~@^o9א |XF>V:JؖRGU ^hP-1 O,!k6ʩ=d)#+ti.>ɀj!Ìa И@8+u&aSjuLWr~t2t[L[#2[U%}fKY+6ߠH-w?}ʺK .D 9/bqmUc2LwQMI }ɷ\.s߉b ;Wl<@ +M>8śy$JL/>T5#2(Wc?id%;zͫehaۊgJÝR)!.T :\9v;Aa8rkޕ.aa$ > s;h΃E 04]Mڍ;Vb qtE! ^G[b۶q=(@ԌCWɔۇ?IJhsh7 fqfw@WT?H!tu"CB ψvd{LssU.KMĝYM}9\ɤ2qR|sfA$/]=wQP&DC/pp$̬fϽٷ; y؇qƁEE}h]e"2.O]N$eHEf MG^xF*p>򱟈)Xq|Q.|\5c!pe[-Twe~ XGNR(SXz4e{WzdtZu Ƣ ]` jP>ab JU|]sC_ZRz`LcYO}Twᗰ}L P|-l/=YD'6pOO l`yɀPcJI|ʌKo);9,9vf$ϿId'TOeOhD6˙ou;d-tX)IJRЪrnʕ_+[gi b* 22i2.V-Xot<YG:3|?ߩdŽV Lu89(,IjW(H-)S4R͗}n݌8}.W!4=ھ )> tm82*O@X H0&w.lk?dX$P OtQ1ހdpK%ZI_>90)nP6NRa}~i!$X\=% /\z8*i CVpkov*૔tRn;B#-h!hHk1D,z0/XJ۽]fHmmS/xA]ͤpUm6w.p\'1c''T,N'lP==`ɼ`+LX =u-7zT$Gڗ. <).Vms-eb_Ȓ_u*[TZ>+whpA,4*dEϗ} =e; +1*0 k 0f`'5qg6"/%oH?JRPZ82sqc<ɩgESǛ`X.rӌnE|uʑ3~P'NbK^~֚IR]3"{͔}^N eXcZkQD7}:7]l=Gߧ#t#M#ː699CFu#U®[Y%0[򑴟N:a]O!K Tk8i\!5Ï(X&?" 49[i| A]Wun16L|nSIeݫ| k_ $ toa*(ݠ$'Wl&?._ZT50!H UGܑݗ}G* ~i ??tEKƫSl,c5#󅭻Fo[[W6q=zM~B7Q1E dBYC6r>>keNgIbDX{DAyG B׃719 :Ċ N$ )ۮOS'SfmT|u,4_u T̨C$Qw tqM݈NN{0>f,] P5[VQί~J/]ToW9Nm_UYRA(&a(![ND~r-mD#];陧]p}@nf Kh*uV|'TgSAQIZ z H.js ͪ#K{}L`?0yӔo5Lj( RBS|@,RSg^3'Dn%v-^n0HR*{t%EA{7FaXz7j(-7r*ryԺn5%ǩW R$;<V+@ ^w;qKJ/^WSM?N5/$v i|zJ/**<E J4*xKم4x8&gKal  'c&ӆ@TEL˷QѱA1n4[r~Ƒӈ[W8# X'W:&tM\=">x)@LY pC` a46[&Ήf)R[ǔ(t LbN[Jzg>g^yՋD}Pv#(_fd)h#B¦-r9Ri(v)jvjbk&bY:ZG\h/7::[7>Op?O50c=l|ΐɵKQDi1!#ZD:$XYcdE 9ܝTEhZjvull%8@))"&8%q<_Dwkؑ 5q1섭{a!fB:Nn`f!ZH |A5ss]ݰrH2}(ʛO#7pv'(z5:G.^%I]T`=@[zOkG׳Ps AewuM!e:b[SA3/@"Y[9# ɗ7g_uS @IB]J PB!8^%z2fӒ_Z YzG2<$(nQKl.@2KwD-3Vϱ< ^r^XNiXRo,vSi_a7S8[PO`"A`1'*J.?iY= ~҇׾(r- L lO%n3'h, Q7r2bCoN)Fjcu0"m؉{~NݾŠX5Q0\K'1^D82TE'D$m !U{6Y:!6Ǯ I Tggm\y*溗>ӆǠR^BPvٟW? 1yQe|Ys?|`@r# YMH}Kyʹ0|6} Ԇr >ٍ#@.60ٰr1Ê}Wń-2"[SU~CTR"IHFMo0e/˭ 4$ FBw#чTbCmq+1)=C<t2vLS'Brw \_QՊWv /h|#rv挤n44]psfpQz,wgr0M-LmwXyjr *|2$nJu{Nt5QD1>y~+ *0 ?}dz^CDf%!M ]P{Va1=5viGG ߍ@\(jvQb2?uƬXz)M">SUTNEQ[(W々^@f:!'B_|/ryX|I/^k<79F 0n@`7U3+d&ZW5p*? -Ik9`Lyz,.ŃKhJkbI0xt:.;ÓaXx'1ji++C, Nč+Ǝ&8!=rEocNk<57UbHK y?i^0h߮K^A|e:(T LjŔwɸnç*&lC.% ԋ6"7˿ޏշ7)Lԉ3UM.$Gk ^T!hjWpk.eiC"%ٵۆ6˽àF1[{nݪOf 6;(-4D{?;GT!(OEF*(J Z-ѮKe69Лp5SnF`ʚR/^~ޱ0Q2=;?XDr/{_T. ]E5; etoEPp& Cd&@?9o| +! ^\u?zxۙ.q+`y׺^AEEoز4kItGfSr=#cΰ4<oޡ/NouvKd+uw.&k2 }nKFh;A_w&09 KNM&*63*,dҨ+!DxlQ}+P1p2KXzOIR2݌_{_vdJx,d|ۈء_8`ixۄB7PC'fK ˳t,{6.yH?3N{1W'zTkz& 䚈WԍQW:DܼY -<'o0+˝ ;HCeʅ8pLjG>mWkM.d7`#$ @_uC͠ŘjkiI$27OTuv^_'SsCHn|xS\SfSPSNɶ;Ρ 0Qu$2>ҝ aьhgQ7:%V+cA6G@8Wo 1 8 ?8`7۸h|K56m9I<`91Kvt{$'@P7g#@`jZӕTz̫Чh!B#P7JGej',u_Hpl,ߴfv&Y'U{ƌ(_l˪{z:-1EM\aW[U?(sRDk$ W yK]'˩I!"9s>Yⰾ@ Εh `cH\tx_.H%L ?sYw(^U ރ6!/Ps-3^7duaSGbyS2"ɽ?lV] t,r"Tk> Md@?p@|eȇnՌ}s~2ސB4$G'bu)B721ɗT-fr狓XKj/beۭvChoC5gSx̛OX a'.zjبFaS~N{4'}S<{[,ԭ}<~V QrrSK@3~4q#=Bh| Mu';B}r6$<4&PQ97hJ,&U=>MR mo]>7<8casgRg-ԋR!W:/U4m/nM9f S}$\z6k m  m^C!3RW$ȝEqk$-څ9bDk9sT) qCpЁ jjT6`qAʂ\^h w 8X!dܦsV5^ȦϹ{b Hg%_ׂ9qUF۸2|}/] /7˕|ێaa{/z 6E;!g' tx @k,>8u `{u huy2M沠cyc -I،F&^kemƩtm^["׌3H %Ou}$9c:~gv'ؚj&i2P/Yzq^J;_ӆ@_GFxd$ѲWPlJ~:̛)Mtò%I`*%'2M[xK攐q 7?R"O?}(Xcbs!^[Q)sXkyt#qQR4,հġA~⍗,x%Wn7*RKj#-?p[SaB/7W<;og߼Oyݟ^Nzl;K I\j>fwg߽s`v*J'GyҰ3P_7VmVO ˢW=lZw2mN1SQv ;c9WNo?,$iT ŚĻES!5.{p(xj*V#PNj* koE9jg#}5[(ؠ;kERbP,(Ԉ?{JK&juR%(ѱT륎G,RFмK@'+PM> O7J /M!pw1U]V[͎KׅlyaSoY='hi}TO;>m*q`Ud%891>m$;u0Ș"zR!:%D,or?oHԖh1$("9XHɑ2wp5>\\FU(^n"2y6[ŚpYj :y10@3`lk3dLpÞvVYy |\ 4Tǩ!qք ðTjAMy6mˎ2*'hnE`Ho:+!%ݤ;mY_osB';;C5횝6l9c`:>/v-xQiʋgiSR z˺ZP>BiQhv6hf@ꂣቁ\ [ĝs#+ؑ A2fZ +Amd"2Vėr]'w=vϯ sVY cAzu9 w'z1m^egK2\9AsL?)hgd oC]coEϣ N4AOe4+tŠBwцETz6t+49 nXm(r ~D HWonUu^UVxFX:6j0~q1XuCaQfz/>Ag x@AZo𮷖]RI_"f /2Z&yeйh^ &FRp]Z>-L%i!HǞ,J^'"=4ɚ܅芟q,HY_5a7Ihii'PNx<dd f7_gNn:}[eڋĮz荏5V8.ɛlWPLVz'P9ҥ1pF .kDG3zxFw/NcP[#s]s|/(V w$bǦ%'Mp\Jo;5/MX/Yg|SgHS>؋7;(ǩc`qXƙ'OkütNCgvK3Cn⹖*zU|×e8Pk )9ELDB]T#9u^$4 #nx+2,䄾 2z̈][ɜ=<ԄW+b[{FLaO9#WN掰Z zmmJzpLE?i0 ,ݧŽ;>(|pϗ`paQ<^:TVO:.u5jM&23%/V, 2N e4 *T~& Y^!}N+v[,5O1ZayZ0 &R*j5Hז5}EE y? 3:pۇRU`W/IK]s P {:*G.2 loF~g Tv?2)2N\# 2wDΈTku.ϣv@4-SJ,_YP {oE&>+w≻';o&mUdPiIl'^lhEU^ ms f|R'RAWbgjX.n&F֬`UUݿ'arJ6e c߅T7Y蔧@Iˎ/lE|C$2β@Ϝ٩HgeٻԱL-V -MD3B)fzSo(aM Y^e象$]0][̅ rjܫ߀bWcm c t_zIptSUYJ?qxcDSW|ɸ;x+' Y)J팒yoBunCq镍Dж 3qz G4t#+}vgS?T1&0+*Pr)Rdf;2+eoYq$=AK:(q9ާړ>R) kI0fL+bakS,^i(g2aE㱵ˈi}鷁-!EBt0Mp2. y0H"YV"&|eZ NJ f+봉7O- wA紊@jM_͙0-#@l$I^L>hP۩nDERR?ՒrV ~[ EM.3BPH?G^zg~[~~.Q\<c1&|y ?\;xq֙-&Y.6̍4`L_MfNL΍yjoHe#sq  IJxJ9ݨ֚*Tnf VZfg>E[t-Gr)x 8ܡWGC!pGH"!t+7ZocyR{zОKU]&}P C32e(%p[8[&1L pqM#÷)?."SP7L 0X.d_%?yNB֏V\,8at/V;Ӆ1Ǜ* 8 霙&.8-g̍*_nRbT90$갬 Ka[ı6Z*nO4Go~ q *MhiTħE[MGu8ɂgݟ! 77'dPXs nxtC{-G][?êipwC19xb\0)f0/r"?kźM < /qsNlG~)aoy0bU0elm! !qcm/uL/[(oB40X|KWdxzKj/wL&ɾnUXj[1Dl9lێw3SΉ1"=$\-]f$1'5򾮃PIbn€iqqs@.^'y+ c7=00(z9?͎K"Y;v7/]\ׅg'jL!+)/,cѩUl5/#Ӳ!\&t-k);^ȽF!9MV`gxgP)>˿tm t麖󹛅ӿ=Gu @}K[dp+t,{=Q>o4dlEwnA klyB ܜJ`= (P -ށNԫ%h !=PgT]()4? pl48GbUϘ!6>E|G}.[g=bL,,ߙ$8Z0m#6AEU7  uz~w3%&o#jUD*5o7L946 ȵ̀ m*ʔOtd@pP݄.=̎Wa!KcjO JCll!fİW 꾮^{rP f+Y&q`ϙ J3 2yZQkAG8pj|)뉺1m6CCŦO.G݊A04Xg@K7g H7#ci7Y`Xj;""H-uFgeeR:6 eap⣙"yP*;cgz@=žEbؾ.Yx{\ &e09PTWq}V\Eas}gG ,خVtrh5"e4O{T,dߥtm/ZŖQ(Eyxu"9BrDsF^ՆBdIUY>SOCGď?:ۆj?#Yң\El#K յ̪at^0r#pS ɤ_%3[u(6Q4me5 %g~~w}? "S[w>k xݢBDE XlՠcUWl{6FM?p4ZE @VB^U=tFs4GCkqaDγ Ly Έq+6EtR\ae7X1zBb+(F9~^̆#+MYٝ'*V0#q/fif?tA|hc.aD*fLλ2 ZS֟%b%&( g 0MEbvEV$2MH3r~|kf|ĴGωNNMjQa%qFRfe' +#hXgQ ;cy ,||&aYôAG,L UXUtVa|<9Yf<2QGǢ2FA[S|Ez-MK <:6"9Z!W@iUաQz۬%XˍQ,=2_VlQKNk%wT;0fQ 5o*uGV؇^KB7o{2줨M19ޡZPV\N}mZr)u,=Y9ۀ#TCd%$3D g5 rU'1`Giy+;*,I HX;ljnSlՖxO9d1ouޝ534EJKԩXWHhGhQ<s+2~Zw]-`$\rF}&2^'Ʈ77pS XnN1 `wvJ&}OȏA8vUmkLEt HRv*HR3ul9M(]_$}nyvZ x }2$ǝBVS#?c@Rƒ̜T:5%T28NJ }؉𠅲kOpFՅ@};rU]rI[/Cg;-L"F/6u[u[1 U.), \0(DʵFjA\3cKgIc=U)R9me4."KRDKl$\8jt<,a2ِգrYaĀ[=-]zFS?7Ǹ\ǧV}o7 -%3Fv'Jcm.T 4 H"趻k Y+9.͢{xhfwrs(+$l>b0gr+rPV .9nl uoY7IVX*[_\3]㬏2 1JGNe5&zZ}I2+Cp9A~jUy VHuCum*ĘװA `)i!˶me|3xh ĜJk@Xcźq&[ QfG7JܰER`Iz)lK Kۘ ܵCі|:YOJuuc%'yAe%EE6|R~)Ţ%ғ^ ,ώLqۨ&DV 84JyÒDs뼈c#/)H(T>'K_.W7I]01î/ѭZ61f[(2T>^@e,\;+/MMN jEVi ƞLGEl1\;d3.mۓ3! @zUa,ȹ8ktTxmBա,iez?3-xSr{lKG4`L'%( edN]fnC7>I= 'מ.aٵH^!/¥+wVE O3iUšvYQOrS"TfUN<1}qreIx{eJͳdYz5KokxiTV$7Jpt }P%M(<< Ka'9)S7ODjISetur s8{ѽ Fb4ȡ`%Gˡb,J%`SηbTګ ń=󝻭}iB@vt3%6Ywzڋ 4CKqN6p}.(e:g %~g=<< ]MäkڒYM~tᘧ|<-T/jՌ/MLf,y+Bb`o5."`PP> x+H_;r.ޛeM\aeٙ\e;',hlDR.reGOyIrU,k ۹ YAiM322 t {oD_mF)ZD4T>y?,_Fiaʇc@퓦RUX(&6㈥>Uۚ #Zd~H.ڻn#ܟSzvRV75?Z )!y)Ck&D z1b?xR\ft3R=K4i]1S ℾcW0hN*G=66uHD+wMbۏСyΒڡgBk^"aMj 2_rDo*ƙ ._f@"Ac9erAx69bzVҚ5esè c"S1ܛ, )N'0o~..&Dd包 9ex][T8ly%#kn(TF(vlyY )!uwd=%wYF-mlTudؼ,.wl{;(;Mֆsg{^d0Y)8NKR} C,c+}w>/; );|qW%;|u l?ϯlldCYwnd{ȁ?-74I_Tm!_sdxIwtZ/Re.됝Kn7&ںe%7?K){$ң~uh/[ݧXw$5kϋ _Ŵ yRD2poQ!#` C12S/r 0l Fb.y;8($Z&&25K\ӭEoVY膘td eX(ttҼ;*AtpϵGX9c'ڒ^JmG^/H]X,$CT#gJW|˖5$kP5e&' SѣW~4d[NCӕ 耊@R'__̟2J!#M욷~=cCS.|`< n+Lf:Xwr$u_MwDOT @Tm4P8Wf8XLse5ChG^<^Lφčbzω9>*o;BCEW8_@? f!0^\dש(~ps nRM3Bqj6*S/I&rħy1V!cDH?`6O)GɪH2~6|]3 VbX|Zj2=&#?.Rͼ2:jKGfnkWԻG㌇7c¾H}}\ONU듵KHiȆp4@8⯴r(Mu"Nq1 &!WưE64cn'云Ǯ-ڽ`S5Zo&괸g۸Sp@\-()3f!غJpE=l ?{}&9(8/EC>zdD]Nz yKHYR7c+uC~Kugiyi(*&HsjF$>,|6'+s>sn,n)}jag^+ΊUѐd)o5J-[,-B!,ZN+śaүţwB])ti rS-°CjBz 6Zz'ҡ r^"OۖTNe$)6H+)1S@#ꦎg1(>`dϠZsrv UQib/$*\k:Oul YFf K#b+_guRz;NIĐDG4-6`&4&=귥9A:fN jS/Ԑ'oC#=-+7~tg*3)ԢsT.)&6'͆!).ybLPP/:,`N^%uWH/nr[=ȿD06Jު) hɃkh (CJJl>{ ?JS2n ~}HcWKZs$bn<ot/!mn(M?fh|CȒh7V$o Sxirddtm幺2EmfzqS0Ib}7l:ӜlZ;勖@i[K% (XxE/yKCt PyCYdcԐ GF_l&;dEy$4 `=ii >ߨKQ|)D+`ޙ]6u!?jVWb-) dssk{R?(6) .2|Wѐ,-(/zZcj{LP;9{xxiZ$ W"(d^~8Po;G5aUS*"@ Ť(z.〱.(4sȊU9߼q$5Y9m 4x eGUۋjk7S,x/#RxXeq7=xʋ`T"teoL:3S!8EQ\:52d jZ)]<)6Vߗ>P+{"󼕌)/ \9u .j0rlG4GJܦػSZPohJ[@| n6>3Aut!orY9APyY-<#Eӓ|+v7'y.  0 V+K<$..|jTT@^,fZ_M{ͯmSEAINPYw$ kYօeKalg;ՎE]~Gr~}݃9˄ٹ1% N m1I6GBDiٛ~iYvkΘ#g`(p=g戧X'@ڲ4Ų 2vi e#5. yea YxEt >NrTJ$r&s,Yt2~h/9̅vP @37BC/E5ϡ`L_Wi4Lc {3F52@no|L THG{Ք3(̿q:Fm%PhojhLun]7F5+)JXb,X%, 7i_[Ry+jꢲ_Y&h+9hr87y'%^ate"ML-k atcX=;ce]N0cGjcIf &`T2n!P(Znu 2{D9b}Rpecuc;:5@c'"=e=z8+ *iF4Y}BnMr"Y}DX_)ѥ"V:1뎍Bzn=o9j_Xz^v2 ӆ/3+N+yTcꚪTw'~CubwGj>Oݕ^UPc~mmT'qҁ-yDKUgs;#Fd>,#տut}ܢ,24:BBIh=6͈Ou~Eo`o.0'}w:*0 n܀A޶D_G3b7lqF67,;ܧT8BfIE`|mX-q%D`(ʿʕ» evHAiu}CF0K:˼AV%)ȷ>L'%n6DL[$ (pE@R3>Uo+m7-}Q/^ >t=K5_}˶ǛΎ1yíp7HIscH=`hK3}p8$Crwwb`IA !;BCngQ'U֠eMWZyup#0O 6+^Ѧ ׳U,Pgt35 uJHg}R.W`/+&??K@mStH&>` 0t4,y۴1~,K0%r2a( PHǼD8j<+"w)'#&|FƊG?LY-)`N-!t"/m߶4r+^wd'TS.#8~CS蒧rPZõtHZ}]<6˛p?v @gVmɶ$&rJ{q]FPzH)cAVQ9H깤3 #9\9+^{ _ʴ5۱D6KyI,[K*\Z+0rpNUoņUؤJw]M|/ mD GB. Nq&(@.vh]ܨ@/ GD'F_ rOp-m{v )d!:6wA( -[%,Ny24 sqʛ?]zAW\>Ш(2~a̔8\`X$ jF-83i5nsBM NhM|=iYjۻ% "Z#67׿dmha23H)k!MwjUxe҇7ԧ?6xma֫'@d^X֑\) 2t$jwB.oL)垽$ s8M[Y [+smMem|g^[~ӉgI1R ];>^'Sכֿ{Ҟp<>xX^u١?"iqŎbkɾic+1뀍V<z~F4eQ XϊxԹՁı@f' SfeGU)!с(jHfld$Nqa2#5xf5[j#w^hդ.Ѯ }sf5? - ^rjfǬ:jm>ִKlpnMwQ`r~k9:-ȧ51UKRF% 9a ]GkAj% 8!e,~ ~,) r 9:&nflS} =P #hxFRI %dn|I=;<ܕ_jw7f n8XGrۭ[@eCj%~^_&}] sۏW;͠c] A  k%eO3+CNfX ?ofU0I5QR צ#·b>n.6V=a+\ x98.ZJhYW?XƗq`^Pb'=4֓m0䢒kvWByFJ<]@\"iU6xKEV7-!Lg֘cŌk]C|ϬvO@;)3<ۺRxU\C%]l̢y%@6GMLPg TK"(&#V (m+SFFnKefm^?~?jހ!٠m8]äF gT[:.:L*|qZEcB"֋Sk[]P ==s=9J6Nu8 k#KWc>b Rr+W]*ʫO6Q$z?3bL5Y $AҼ6C m;Xohd߸xΦkJv!ńh$`QJOց֕c(ϓ-kH1_-'y%+<#Xtd)(KrC>4@cKcVuvh9X>9F`E=rmSiv-P[ԢEBU,'dxsHng$ћ$ihNO\&Rh0cɔ0ta PaQg)"gDnNSvZ}SR R*_nL]?i[x{))=_P~UzE>U_ʾ9wN:|HJ@e -#<9VHoTƷcMUhX,axn1ǫ.?5HՐ= R5!^jFS- VEe8ML\@*1/9м0, lM )h<`XR3^ĹnP21clߓP1$4sjڥ̮!7Jh\K+_}2kunPMVא#QZ G6~\%X .fT@G<&* uZ6!]e$efBR}ய|%7i'_5G Z222SHw3'IRX8>f'3#0Ԅ{݀kN9{rQ\rLgVQk`Ľ>.5m?%Z :^ W(8{62ë]hs%Uo(QNDykS6 j#pt%}F1G)_Ѱ~Йu*Ѽ=!Asp<7x{HL;,@7XuV3q[%M36\Ț*[Xl72olGk.䛐YgSПk`V@(3e{[[^(jkh]DŽMqC֏n(AkmoI;dE kuvsr 5(EXS ׁ/,qs%ʀ==!4NUEQ YAGw1[UVE($/IᤰAȣbP1ߚ@zxvqU/H䥭q^@}y9NЕƤ/#8?#ьB)aұ}Ks"&/]xзt7~ۣR-^`wO@pvMQ@>̟+ cҷv]UX0{!;" .EүXDf%dA<PPC D6>Mw_Z֓WG@&f A t~BIdk_5]1wBƏ8rk_1pw{IQ/ .l]=gCf;C z694pC6`&Vy}7 z 5fRW , Z"^č siQQ-ZC8y/̺׈3r$<4sN -'zv0 ))5B('zϙx筫A,7do#hMGI'yk4y2>ke_hˣu1;^Ϡavne&Rg=eywKF&g=O9s6L=YHvwӸͣ]^F?˳ߋ46V\cH o6D .Ns'0:eﰅ6bP4ϛ!t֒dXl`Hz#0MG \V"^xPFu#S?ΓL.fןffӅ !m^N \qJ$0lEQۋ@ϗx zzf6,㓫xV_o/_6DEI?.f$9+<9Q4 q'"ka{HC5b˚m&++pP&`0-^rZO)sz\䣉=y2ګa7F)lévozANS4H࣍FAtϔfD< Ziֵ oO͎ FV'WP .xZfJRlրxi"A]qBR"3n Cn^<T 2Auqy^|TmbO @c>XG0>Quz'̌NY-(7X:o-Ո.S`9nIkncl@Rk*' G//qSq ,b8NXK (βIF?qI{1_U"E1^Q$Ϳh)٧ e.-E=Z4!k&`:T>6<>kp3yX#f"]8b̤T%zOآvcM}V5LKfT6< O^ XFmŦC'9&H=%7xuκ|;w ^ {dc۾ELڞ7p6|S=/ wr4fRjXXTBsloMv&Wܑw-c2p]#q['^ut5>Ovx]Y}0ѯxB;(}GEmEPG񼛑j3zv)S,. <=B|p> v)&ڌAK8V^ѳ]c MT%7)^7(C8ӐgQTףR-蘠Ôh[W}b72SGEnpPV*-OCI nuܤ'u>g?3Eσp+P,9[ݔ`U{jE=OW "d~)dLXp2McI# O`v<s?A;_=Ay@u7 io&HB̕ip\H=d4m[v_j l%fT50XzK 1O)iІ랬k$XT*5bovpAJ$nFˮ)h~:RqU7qX3hsNo$g :|09\^g>a/hPQ ~BZHt6$ԅnB2k8mtUvJ`$s9S7 Oc g IPK3]ʓk=uVG&KJJ͈4jB/0[Ȧ4DjmRK̡6gjY!+J Y8Bs r&<2;؇_C$Y45F`|c K5Uq.PcVU<#-84W_j|(!mV-G-R@ 2hhvTwpiE>oG}[+)Y+绠@([?P9%.ThюMKF7مGSjwXhk4AC]~ʠ! n>zkE%3KpyWN]!y,E9p91fn^oDȠJ@:Ι\Mhf|jϖ.$%=t!)).|&%$WTBS44+Yη aml7M7TBzK+|AUͶ #V'ȊƓdн=OD9*MUHӃE/-GkjHԠcBu>LOzo?{N <󂍖ltD"ٵo-Ϸs*,3GϤ"yѹEG5Qkc£Z@.T$: 3v>Dn Y" HovuҭT{):z)e'sWD|vtO3(SNDD_atI]cꄼgu˳36B~e^`'_\DgZ^X?c-oo+Z̘Vns\f>Z3oxi G!dh0^xSHM"ىu, vk5]bjd3I+2Qw/%`&)_tXG-7M>_5+ F>'pT>U?vԝ B5F De&Gq Էb:55j;;#&h%!ܞ6gmv(kTL /t}g9JHU񮑌N^be/yG w˙)}z^׋*4ף8GOӁN\ ZiXYIysQ!¸1$7ZW yk? 0>x"` :bxa䚁"Pz c1z}p?{Q9vA*| ($m q0UyՏ ,%k8ayDCAܱ+nwd]Ř*+Ů{FY6L)ďMwe3y25`BvD-mBW07~q@MO~чdgtˊԽܵJȄ|GlLzĦ~I;8x\0;UޞȬIQ8.2-dYTZ*)usw2RոV}?6,p& t .rF!U= Kq8KۓͶE68ã]Fm: >n&y1<1h}/>;J*ҚN*r> p1&,bJWRofGJSKLŻ_oW7"]ߘu__%fOH9=E@@"Ō%z5G+&ՙI׾@q,1 F̢$54 Sza8vg} VL ]H {쟠6A!e?.] '|uqUiE&^~/́>jF>Ko5ۑnʳⅼ3FJooh-Tv'DREkKN[g|w<> Z&1nMNГT c"pK11ͪ-UVB!e/#lB YTVخvE D(9WPl9Ʀl$["n^@Cjk(̊-T~$P؅K=*D (?ա *~\3Ԯ-S\tZIY[Hph9po^_5"):Ik57_dnͽV2Kt?%B2`6P\E/>Z/R%f(Nڪ',tJv TQvC<~ sMdH$ Sj߇kF4YIKGa;rEJ(N2`nR:ㇹh|M0d˙gX&885WX ʱ{TT#,W3G@O־meS^ɛ)#(N@숿 .~UWWF-J7%]8/ArӳJ5ؓXHAv ًvefX]jcP_ BY.α&>ZQCl2qU~}BOIvU[Qj u|&U6ab7jbDC?^iD]Ddג!Tnfhfڐ2y6S EWɎC=i)/WY~n[;}yW큰YD:Z2S-'jre4Ocj YʮuS =hٷQy‘AP+(؍ }9{zn)3)yxlG_F/7;6`)> {SRqޮsV`wEY>"-D,@եϮ%R(AK&%6R'-:T}Z6]tG>JU}jj;blj,Z ƮRō?)ChZOy!VW*˃M܆T-}[H/6ɱN% Y xqgc灸,[k"{5@'U\ǷNO szfMN ?1LƑe|ć4 XwR08Hm`Cf$YnIJ}lújD@[:!W~׷3L͚2Cm| KCD[O;JkxD`];ZэlSwSbx;t8UPs4+ T8~azL]W* r):X_䒻Hlʅ4BǦvqmzx>':1ٻW<Ś ϖDFls-0"/RהX H՟X]d@h?мh]Zh+2?|\F5Ad~(!v9a CuaVyGـJ{u׈u~æ TK4x9~K4c`cc9TǏZ%+m8?r΍w>0̂ņ˽IH$Mped&Gԃ ]8U9`|w$ xĀdB [_l$z #8wЏ9\'FV0<2ƠoC{X22xǫ&3+F7D#%E4@L"5u,"r.cyLl7v׿GCJm1B&CFmxL7c6xzaG^`0=7z8Lb#tq]nsVčZe;yc؄y}Ԭ= = ReMZ.s#W5 RW 3n F!z惭'rGU}0:)e?i2igv s.+ ˮwKp2{ֺo ߃Q4aGR;&\K~b >YН ןrFvղZK=?9'rĄ^_{~.grp? z};,`">hljqy6|1s hBt Ȁ[ 8@[Ep e2_Zi` I4DX8=&f{M܅<8rT@&N k&݊!S){2OW7X \@{<A_1!}8ɯ:˳~ 6z@<ʒF:SЖ 7JCNJaû+K>ҋ1`kPJq;tDjb`OilGoG3׀Q62Hݝ,m@0$0. ?w{L@Ҳ^b]o(߅'ۛ$/7#Iy^C(J&_ ]񆌃.C)jT+;*H"pBq?1&xXoR-ϖZiB8S6ri TW}a%b*7з3nl첢A}_9Zvy}:tOUY2^_A/6?QyYj\w,ⓝ-ɘffMCz|5Aj-c>0@MF:NbT]A kͥtok;͹(f| W⥕׏KaNקq9B[So9`#8([[Cx_'Q@PRf_zmaڦDrdvġ SH1mּ2ՊYɸ$:eQY{l83akR,)p/Z1fm{ C稣:H7,R3<hbfCjF6`r u]= C9Mr܄Rdv&n;]&맥$ A3h^aUS)ac '$/n|7tSšYQkU0Nf q;SN:f]CvQg|ࢥ%<_dZAU›3QG]U f~*vyd#GIkFi3ƓC\LL#V^L421kLd "\5͐C7_)ˆiS4Z%rC=iE mKC<{BH VԽR 1il_ cpr<%,칓4jrnj]i*lnPN]0)_ 8n_%P6HuL_qO YlG(I|~/av6 \ ;^':e:rLb~"x̤ڐ‡1I1 ):@+|N(j~>l g#oh$vm=i6k9΄lJ%@i8 ,RCrbf<dN3 ݉ 1h,""MYAL{y͔:;y?!3^Xa]חA%6ڣݠeBE {jr(0Cu`mcC#q>$HD'SXKR7<'( ?rڤ 3{˺|Lsھ?nܬ_+4M\cֻUd{ kYy {Hk}$&rOOUg :rO[l}%Ã|FJ=ӵ T7Ei~),C9/AYue'1:6fw&5YH%FMA7rL>WD_?i$}M%S}M@`|:+ s6(}h`ripDjxʥn$@*S !7;'0.TTiQ~!9\#`H) _BoEa\H1b˝ /? ]SA/΢)œT~3;'#Zbȝ6 ݴ_1Y6)v?ՕXmX;ݦ[[AN`w, p[m᳭m%;4/q+@|s;`.)=zՕY͹0˥lC R%EzAMrb`_iQDST&\z$ K: nN)1Ow{*f8KrqWƺ^ O y3qkיhz_ߒ)ٮC@bяaߴ/&ΑI* }Ur\Xy. )?߉3+`=YF? !@n\ b^25 R+a񬔂41fjL`X3E+X~zcğf&`(/gCMɢ \#`r4WQ}xIݙ&G>Hz2/}"D\ˀI pqd5QR3..5GjwI-ōԜzIi`މFwq`zp,4!;GY6Ʈm9彂Jʅ7LS Kpˤ|lf71wŞ %4T\ Oϻ:$|V2oE/Wy=X2>79hXnYkN0&LeF`WAsr(ZHеr g3MEl $1,EIprG j [Q #%Q0ٟеu1|jAI.g˝Z6._mk+ة0(iW0?ս_ޤ&Ȋԕ@#kRI!!Ŷ"J9JLj>n1; L8 e2(ں@Rbsՠ#9/dR,x_$:BN2GvYɨHk!2/RVaLxq7s.ϾRbO.EB^ܼz<;r2sz JL4Vܯbt\ 2LR$698x*WFӛtdX@1Ύcy1fYAϴmw QZZAqҼBn_JM?U3\JC9crxJDVZ':$B3ptHw^{Iq>cpokkv;p֛Ą5~j'B-W>ݐHQP-wS'ܐx m:V[*9{ |æ\K eR[,3one<5M|et&6dzl{XVwuPʢs_.\OUN穊>%(|fC6ڮ:;4 -Q6 IZ ^9/@cD0G}۩J}"Q WQݹN oS@zYX>;3{aA"|=s2T Xǚڦi*_y?Bvis:zT;$w=4~j8}>fpӖ%Di/qm9%kcQ{d4g#%\x|uMdzf7Y;ѯ7Zz1뤄*^h|~m& n8YerKg96&M\e6t0-FmlU"ߐ1G73)*|aV; zS`&z!#7`:N"8߲eݧP`Չc։TMiPWa `j+{U%X  A _GAФ4vSl`Cgʊth}Od [D]d@d~lHG9՟xN VeJl9;(KDZfj[!1pɺyU⥐_MʱWezם)؀of!w . i'ߔ8Uȉa,$G*HmRO+_l[&AƂjCAeAiɢiOE 8G߯G;_zȲ9$=&lbGI=r;=G;i &l20K2bƴ[~~L?N[Ŷ FkA̍FRv?CKg(B S;Ņh'^Jg俫48O.tvW.7!#fSՔi{?D2< XE Gt|҅yrh JX602LV~a7:A*PzIU7`󇨍e//E]~46Aݺ_bA [<8YtC! m_o>+->Y^V cF'"qW'bs}0qx[tHKv:W#)8ު]I\!^=6h;uBrq>ɐ/ $Ҭh B1"VڥQߤ@Lk#PսK#jiDpS >c 8ơ, ɰ['qyE[k\LރTam:q h9ӫ,+2 bePp]#k?%&(&=^_ssA6IeI;I/nIhJ%mUVs ߶WDlK:Ar-(iP= 9B%d,oF 8o3ar x"z5+L?q3ZG]ϫ!0XFQ2}ilTPbRE*S̫RChfb83kt{P)mV?b%Y] M'4o{G.9liqrl^^g5Cc$]ą`UZ{ =:&e#  >$v.B$ܓPRt6_{2Px ѩi<{d2CF{Z[z 0ɚ~m)ɠ"8sT\tQȊ:Bȧ_6yV\iOPF}Cn3#"<};TAk#^N;Q`hA4d{_mq$j͗:菗׈4hp#JucnEé疙G||\$]$>\^7@݊|{&~oR[GjV u_mԮHo + "8Dۃ3X,S-1 J<'H"Jdj? 5ԫv1&;|} ŃVk1%{K?~^Ot9rr/mDzZ#$L ]\)/-/$;.$7&ID. lՈ~xXe Kexֽ %>NO&}c?f= xgA<]_ I_pp?gr]f"M2Ggc=|--8?]R_$rSE7ߎDZAMXx$Tɞ"̐ӓkAbںo+j"P| &͆]U< q[:.njR 1 JmkGgZD=!=hC9bw\@#1 XwC`s@y`lz Yy}C %ȍ})Xδ,rȡ0Pgw zs+)8$A4aAyZkok}EK'#U_6п‰'sF(__i<> zNܙ9Ej%#㣶&-V$,V]L6*tP+qy:lis8ݗ?Ij K9tjm8%G)I6ҿnݱXU_޼ixX|cyL{ 3(WQ@$fj,9yN|Gp;ÛFLbBIjPտXT\9`°Ua>"`¤t(^i LC+C)^C R"k=!HXIH E۰Uxo76ݼˀI#6()spZj'RJoET7!t>)N f Ќ3ZFJʥ&O]=r쏇$/\ɤ4-M[V_cəݕqѻp*IA㉦UON `8Vy72L} j.#cmu&C~+E1Eݱt/'nrh_Wѕ\-A%ގŀsBN߈V EQFIT h=hj]OW ;md@v4xTVx%ơQc򱜷cM*m;B-JqtK_-LORPgV>F!$tUFYP1D|z7~K zZx׆5dd8VwY{ܲg6!KI"ɞѴE MnԘď\xFh ]e79at7/\ʙW U=VqMt Ob۳}np=ɿNDq=,d/sAE͹AG4:o;8m 뉻4׆a5"K̂ />u e\kE-0*c#ћV tug]QXR]cKgt^qJR'e"벍Yp'^*zֵmm_uC.0B RZysU/y"7 6ǣ'J53l}\)~fzAϭ%aV01>ُ>TGjͫ* WIlΩtu: U(wHJF!=}©un&UKZ#¯eJI1{yf_ЫaD'/bXZp:߾y,˓B^6͑ PӐ\?`J01uF?4ZHvY7'=?vlGEp֍JU m)WKd80|H|yD1,((Нl٩>!>R!j^ ӯY{AVb;v&/W KSpPpJKY0QZ>u<_4 |'WnHKM2F?f EZyqd24.k]:5 (zrDES{<; É0e얗tuf61 Ў 㑐K?"dllΆCZn*綠ugr8BjFіݪ?iDq;)3ssB+{C^a1 }Tn>A:xujK>Ef'!' L)=LwIx/KW#SPH_K{=HSǛ7k&ԫCX֦TVqDݐrÀM/qK{=0*mW}|FZ6#Y/9N+< v{bIb*'ػ;lzA1 P&swkɵ5C܏/VVAt(9䒂1h<'%>z Uv2 ])tdףOp3`n19)cJyȁuB@w*:=K@JCo5꛵Fc*O](q¦/aۦx?+u \)7g8ʸk<#VrT6:;W95EQdy>.ix|" ai#FX >I; w^wgچ7F-;Q9j'.& [m-ünu{{Ǧ7U]Pvj^b#7Ub#@":׺W(ǺE {-%㙴1;,nϋuf޿GW;ؗZݬ@aX8 }%3kvI[=՘RxOn}:2E!+"efI CɊ[1@HfDpDl,Z0 SlN9tT ^%7o'ƸS/_'y. tW1|^rC磱'f5P36$fv:[: )nEcRmgm1롾&-]V_I [}hX@xfB:]r(\i<4nCƕz62Y*EZt x IVE3-:@WE0dIEAS®宼|(= <ɏ/A݂p$!gG,NqӓFէ ?we+08&w[ iD<* E~k 47x79nP`D߷D~&BE2™g!TE &LXr( !xIrn>YK$ b@Jp=Jy+P_~*1™SÌbT˿M|6¼|b7M>pX B9Ӑ. #Q -Iss_.}=ַ3' uǺ>)~LQ(Ƿ+ݰzS3;, wBQǷY`LcHpC$/tHf[Ƿw`:kTѐW[$OyN[(Ŝc[2T)D }0ʂ> I9YxAٽ/LUd>O53zaB{*o"v iҧqwHIl鷪94$FǺFm5 3,]S7D p|2 +7|6Ovq:SygB j^}PI6E~cm(ҦQn]#gUF[Bf!M5: ;r}. vI$ T00v_Bq ]̄~xK bKscJi >mfꝏ}]miD9}=f23!!'Yz$y 3sQ2@~~ BܙjיPNTոt}n;L%8PUfMȮ$9|؉ 5@HUF~wu[ _o-Kms]a R(J9Owkq$.~ܹE$z*'ZS?BAS!՛Wt/GbyϢ^Cy+A!;BN/)Dr쎩QL9Y./^<'P"zWe@rHvO~K ʝh݊ͅƽ# Tqޥe7LݥTz'| B+WSU= }+A>!NpBo$k&# tM2Rs] QzU?+:Ug=(c:'c}!BGKSK_z 񣈥"bQN􆍨ޔeD (]|yT?`GZipYҢdXP< F뿔a)I,t U[ŋLKB6罟92^sC̴,pB mҪnĺ4[ԙZP5L^@)i00>U`?("hAlgBkԒGǢ_TOm,ԞgjG.9N.MWV~D˞.YrA)ID.pr{7*AtUerU*x)˹+;+zyEYM$9ՉC/)QnY_գZUt7`fI{m`M$D:գzӅ5vol1ePng\Ȧ(o?XgfFaz`ITgY?fEU&wB/ y1\~t)"TʑL52%5i9'z(\ɝ2ilA+Y78B v/Qk11tm@;gjFj~ฒ*󞂠Ŷsx\ ٰfK;g'rKL, :nޕ$= k|dz֋Mt)b7rM&e|GJ[[00]aɣ(e6u[!D%BLvCOv(Ge݉R{Ci[oQʰ0ʴ؂nP*$^bau|s__[x ֑1@#uja{Lީ+K}-;9 4^7sW|Pi*\v*/;\]]ǂun~Ԕx&} NU_[Y="\uEN4lT}ѐ]53Nb\tFTqC1$Jx T>.Ovm Q3!BeW <}j,g>Tg[ںh?UZ)T̅LgY΢)fN\;tPr0cRJB^ /-|AGWSGy܇DWs7V@H:_BZ}[oFOL4|Po Wƺhz*=C̝Z8G.e.tXb#}(Rz" Ho`>c= iw20l戵9&x8^ENI e}=#yiL>,lIW|Kv,6-굄@,z»=()"nf4Gj <' \ C쩘hg)I{m}=mUcZ?B6Ỵb2qtڸI/HJGg]v M':cd9s,oegE{(Y6 >!pW/o.xHJ[;.醕^ۍ,~Xåh(Esg4n;%WR\˵LwsM՜3u6# [~+E?N.ndQ^uR*//f*X K61:m-@zo\6P_v(ĩOy VqX}]s Y$_>u_Dȸ*k53S:"U eV~*8de >}FHl}i:&tQ%+͡w D A#p_V "{*K2*o 8B@?w6Vx5N51Sjon6{m߱v팪kO1@Obt" dž)( ]8𜴗YsN\㇍߱d?MeLҬlIU`2DyRsiZ#?ghY6,HE.(zv4Pznv+b#[>ԤLpU+ZZ$`Q &60ހY},5FRF; Ɛ 8v<%)>u th6mQx~aJ2W'}RhךZt)T^Q$!/ `jk"8h1qKKɴljl Z rA3,HG\+P#YNsI.qdz^\ r&0x9CdKA,;SJAlw/At8I& F 3biO1 ǟGlZTrURQ_EeŜ<,mU2?U\Cspqk]C hQ5ɝŭoLnx@٘LF.; ǮUc2“$<ļע,#-{L')߇Y@%ٯV \ďXG׻hP{/,0"=R=!Z"}C3xJzqq`Rd'ޱ|@3ih UJRHlP=`^R(yEo\8Xީw5 ! 3HLk#eIkg&LP-> a7Ea~ )4+<~o 0 p``##bPyy_w&H^†zI5mG/b@19X}ty(DB,+hѡm1t3<ʌK2O}C$zUU! @{8:es[ץ\ޣkDbPNNOM!8z-O(.r|sAʙʧN`e͛ARxub2Gدd2~y[,~]}=s >cZ wUPZ}xOvu Lv^3 4Od[FKzVx1JL=io9ITg>ߥ>&x]Q`4U-ͱd?GbsP}QK:gMsai=~>Qfb 84/Dc?P;ښX)_9j1c1GU韚OTt Ii "0Z{;'A:W` %dHW^F# ltR&^Gu}Uj."օkcI"Cl>dymؕ.a"=4g xtjyuirЈ.x|wm(v`UH=Pv0! ]Xz,NSv[Y=~͍hDce"#d)|Dw>,X;8 =NŶ=h95P7q!֬ wa;H5YEp\fיUi!OEş_ [^kO@a ؃h0;w|"Fu.ҝ)'R-UN. ,/AKx/2!ꑣ:xPjXh2 Xz;V:%P8;n+H{xn|AG1$2{˜TҔ^zg"j˜]TԯLjjտ8gDKX4V>pgݸZ󞯓tf`:m58C`Q6in.Z0mk?@|Ș}*@Ұ織˺daXdBN.wve/&͚O~sB{ݚ%CV-DjxC!S&Z/g|ˢeZv7ĹC0l6JS滻kG?~,UCA:va;̀eQ ^H^:˹WvbY̾V>]ypN_p~ESTu^0WǼR<[{6 f~n[ͬlVQ|ѓoyd{m-yz>ZL^i6,};Ŷ O!d-UP-. PsMhUx=u[$o(azoVUMU/py^ AݨO9XsEPUJK"6hbH <ՙeʫ=unY#2@ca6 ;##^rGed%R}~zގ-dj0_\!B[ƺbm~”tv\ <*܈ݠb8tW meVN0"rXρ3dn-d;u)?75d3Q!fK>΀}|Ps'4gx/9BTk;"Oɘ7ʆu!UgsJ¬c޾>56ظ`u˄!,)OMk3wtCϯVgT!UGŨ~!/G@]H[|Kvp~+儂2!O BLWIoq)F6j:VqV˼nj82:'yl8z*K& TL1ωh/wnеD!5 3fHJ!Har.+' ^Ɇ[99/e .=%V5wx5R`@昹Xf"^Y @^ ө4:H- b6@QՖ+H_tۊZ6\~T?MZ? C`i*31# Ν.QI~54~&7Yv66P?/BpoEϙXUX; T0wWQGmkzN]xD<2Y.>}?kgɞH7CAJ.e*+ atWL"* Xg~*Md~zEP}O 4?~SW)[ "[jNUNR<,V;%.P'^8Sv'y{M2Qxk3/]B^΍ y~O|S`pr#F=B&ozV9={1ZzKɏ-ŬW#5~X^J ʯ#}"'J^i uP;~ֱuiP C]^aAYvfjr"'QkȔ7j! "oS0aҪ(fO1Cvt?,"NyTiEPvc#:7!3y^'7H#}w96};xu,ѤoNJx: s(ҫVZX ".jQ~.Pca/>]@L\Υg'[ ]}ek G?hSToBYsyϫ7} 6f\]V[@6H:&23nX.7p.y3L.8E7/{ T͡ze͛= K P?n.½L3/z7~NR3ɭQ Y2#f (}Jli{&Þ&:;FiXc{}[!T)aVW1o'm»Tr_k-w8D:};xb[Em sZ-.BYnk\MiF ô>CB a%l( bJY⧑ڀJP*Ag2'v*u-:Avp]]v^qR c5hLRжpDL:P^ӓMKk|S -#FH^w]| -GZ ͓a23jX+%]΋FA(iOئ= UAݘ_Ϻb`>o ,xw5DTE!%z$5_ ]wэ D@_PEk+V{<3-~+8Kfe11p_bdN].g0#Vom>kXKX(O*te)̚Tv]*#7j7;VyO MB-&C%(_O&&)mڨKqל{, `) 5nl81n=V ѯlY,Ƒωv~[o- k_rRH3x{@6N"W%ጦ } 7mm_%P حYBؔyq/9kR*$L^{P|ajxfVbV[S sE`XPccZBhE97d1$8Oxۮfy*4d^o߈ &i >%уB+ژ 4dHK.|8 FR^kv7Qz~T  UxP;\=ozdnjY23nu}6kt}AJMO˖ŕ/ sIEp1s4 ,h9\[ö::?z A+DWI'BpDa0 -ڬwj/J@Elma͖>FVs35BPnm٠ŋTi\6& z/lKl7LQi;x N&NPW wCK:@A@*DBi)nl #`qceQp= oPNJ%9=߃<+Ѐu[LJyHXlBRKtٌ2(EaINV"&Kp!(#'q/d V_:%s$u^[e7)x6q^b'jpADW1 DW`u~wbmـ7؇:>@ᒢ D$rEw 8uEҽ/'a:v:{c1WnbC_L!/Ml&Xd,r&\4t+ ˪q -\ǞT`1bKa`s ]tSV}rVDPL4ũrMSL⌚8%hyGA_rD<#3#]c0{Xyc. 2Y̿lHԄ{,%,{Va d҇"5.63Anb.BF0gw:e&iqЮu'ec CF5X44~kJEs2:s":5Ec{w>6.Y&J k8bnTIe]WP:f2HsCgfO+P&> 0f֔[=!P=4k)fXwj +}EDUEhܼDu2 6;% xc?b3 =<(Q a_a>`$C~_B`XelfFG?`{1Ij SÛ B|Kf-L!~ފ«i5AtȆw2%?H06Oxw˪;wQQon(o=UU2mV{h6A;qDeo$jOz)>Rsa-A~CF9㝙":w'\z)j#ʑ>rЭRjDy[-Bbp]kwsi/:=:RU%] iN<y&m%e7ŋO1l]IZoP y)}廪AhnJD T#'9\s9Uڽ5}L32~H.fqm*U ;'>^$d r 2Uݾύ&pHGg\Bj F?KaJ~ yM-l+(3USP p܉B%Rac|83`鍘s/γ,/]+v{FTr^e͡=:vγ8QVNO֣vyh^ʦk'ߍȬ/ Xծ!N0Y7)Y 4wUuR$Hɐct_[+v#E։{ĒA @sO[Mu ]5@%k6ҟ wXث-(z5#LHj;D ; IL<x]*_=W@r4nj}5mϟ߅J \*{'$3%klٵܼ2v3ˈ#a|kz#5 *P#a@6Ҏ0aε 5K3㭫.*Y QE u.N [n'K?0*j^#|8G8t,ĪP,!qhrJ~3.T0]JO>0 t`w+XoҤMk=Usu/cWN0BϚY*^y#-FW\ֻV6lv]*w@m5?B"ex&ӡ[qPp Xox(1,Y.X@;Je xhB^@f w\/&u ӄ)[o*?a>z]ُ&M15`4RpkU RD(h8]N~*5L7*ʮm&3`Ca#=nUK{),.%CAG;>X::>c/}ŽNɌxZ NWh~k@πLɿˍOM; n3u Zѕfɯƹ.к"NjLmaȵ%n<.J퓟Ky҇M H{}),n@7L'1eXbk h!,@u;E&E|e3=rhL;V8eBȬL!& e>?Z"SwvQ\ҳ> ;^ѲCe]z&hⰲ^VN o38aҪݔgf tu*|Pipڜ8i{<::tq9PL4n2D g_=⯞?'.Q40_U>9rH) $:dи|3 #gC,}/T@\l5 :׿ڕ0YM |#c3^y|ԍp(u)GV#IU'mo*˻vӐKӨ0տN4Qrf(OIfOlywQ|]@]}S?QRҌ l٣~swGૈz<;`vd**uFk I?% _M )o|Gmd 1{m ܊~Ao!9ZJÅ3cnATK~O+UQ[>~ζwgJɤqLt,S<NX]3?(zso 8_C7)״\xaч}5`9oU c3l5WjP;($'E7 Px̡ERnB&tܓ\Ֆg@drn^EO.!5BTpM̸Z=H:6[C9Ruz!3SkSf%+w@Y$w z=S/8%!z14Sa f1[s0)W2[^'5rWqBzz119tyn",S*"WsݳfL%xYf=F/AdCYz-7o]H"N"jEI!ơyn䖳Y[f--;7෤_ʤPU+d}uVt\_r"y oݳ@T2r8 B #vնQ.qJkH`^K)cb_%;}h52ǘ`$;q2ՠQ4({徊nx_,VGxhbpyCnOhzմS4&{"/cgvbߣf;דDwH&_R?q9Iȃo yy=bD3X$,={~0q⁚0o,8gV;.lh~E󧈽h4G]/jذne!ǕYj>@Ǫuk.q0l*봲1ߞczzhrT?hwşLƙW/}\v3an$nPAA˿wȥj.Zuv7tq ~2RT<.LzRvY[O' ԅ{ D4X%|)in)W_`mj#2@x,.c1+h ؍eGDh4g9-ћoه(>kӛYÁkrk~埍x/G|zx}H  ДkmŸ=8U_[Ԣ y{ςf""W1 J#1cgJ{RsaZduiˍVGEFo;q$t6o)ڏE BRmf~VjɶF ,AoaÓV]uw7nIHꘘ;Y̙i5DI.nѰ8V?`&uV Y/J)"kn=;)~d͵h ƫIuP}5ߊn5E7_}Vay ?;}xU,Yx%dn8y0rWG?Om?GWn}Gl\K#ZݑY w ԓ-Y6!0ܙF*?I+wWWTʌY} 5v4B MtB1tV r:ߙ̉"Ww uN;^ܰbrl ,uK[DXBUr7wgWz]U.>=O9sU7W!QՀ>&z(>%nF:BE=l/60MGW?[7!qw$H$ؙpZdhouj dz[Ǖ0xr[40e""{8?X4AōԶ+KqAX풙#V!q9o~%ڛoqz]Y@ peted"ߝKڳ|xc\>",n=S%tz"]TM14<4r ؀s:3 iga׸IٱBX*=eOPUCCȮwlR?zx?Uq< eazT܌>ΟjlNovBou7v`<髝\R,R1Yae#W$kPD4> RD8`P@?NjXIY>0T&j8'} q.*_oAluhq"_MpYQ6@g_U2.6=I]m/=dK)$C ΉS寣2%J[mԾ]/@=펰cQoLn2Zr]Ҥ4:v=u?n|APA^!.#tP_R#4yn-dp1:P%4.^GNKjH5Gℤ)bQ5&qaꆮ5Lwv\OD>J2@fˉS31qwܢ2 5sJJEe6UY2زQR^ 5?Zt{"*5@9[~CkV_ cArdxR '|ZA-+.uO'pWXVI3A􉧠QNUf%_aj O-"R̉P46 S#:I&пP&_j! -ُmhY 9ƕƍ 1-Xe|,LfA`x( nd>ɊC^*FX%é$8 (LstOş%o cm8U`gJ"mn@&JZ NDhq~$L09H!-ի(N=.f>?gOpJrYR9g'*ߟFz9^ts|TӪL9N!{z.h`!0E6U|@6_afu,.3ܘ`RLNP3R^zLAX_ .%K-} MnUMY2:Yh:&I[B]43$rc3.%%ZBË?huN -Xf<$wto &yw 3ލbmxyyIW=ȃkrɈ)&eC_a0d<8Y/_ǖ ,q^߄1^@o~Ѓ$IS;rijZ07.ma6O)0ENJL[LtLm7Ք TUWd&v,/[MvΗΪϗ̖pmE:PE‸D^صfr s^"MKj DU{L'm3J zi袽G:Q? JfglniJ T-`V2`OjXHI9դuZӬҜbwν0}ǁl-H1tJKHNPYAӠvב7Nn&PcxD{5Bu2nJ$gndO׊N%B} AG0W5 MaS0I}?Ki~54e?ZOY}m/01߽!+/Rh7KuOJh*7ҊJjҺJ\e+gr`>Ʌp&uex %PaDS"x>vw'hbdkNUKe !tFa?i%+2wJIzY_ʘހ_c!.T{-Ì~ n8ߡjSrHZAә= i~IHg.}HjxW,?ڛ8.oIv΢+򊓽-{&$fh$o:g꼑) y襹 3 $ĐKa[*˝7 hd6ң;I;? 7.rۯ&S)YZ:UZ+ ҃|yJyCzY)gA,1(ūBO! հ{C4G!!-Ѝdx)Rsbf1(_4!&rp.tç3Bh!ƼHxlf'1̶DSWn=`,%Z%ќSGbQEfX׮pI,":񂄺`!kp)/\Bxn|l?9LtEC_&^O(n?fPН=fI5S pSrMve%"EJ! %1;^CⲞ?W̢M<0U̒zek6!/,pd I4.b[6͂gnbx^ݮ@RúB*T+%1~JiPabt[0pi+& L6p^h,? :T(xagNڥG 'uVL|˃eJG &xM/h`hc>$$'vL6'2ěmg+^|[:֋Ou=Ƕ -P9. Jm8ʀe<#K-ȋ׳įmf$GmƄ/.%H_SPR UJ[;14U?ii.+\7|j &Ar's&m}yiTؘco~r1SaRPWucQܞ8~N4'4wгO9|@?cj̣ GJ~t1Ƃ.v44An<A,'sj9gQ':AVSRC4''K2@.ܯ7-6$UR+RJseY ;{)4Zt.Aޏ@n4a[>/?i2|": iH;T_:^e5 ]."AֲRĵ-lE/xjz>6\ q~X]0EI~ l9ȗƠvdY!gsřC!HrI+0V(2JdQg+%Im2be*vm-va.B#  eR_ ; #܂HdfFԀ\`(ui("d&y-e{&zshtVD޳s%Xg#vTixtSR/!MVK )?Xg;PPEגE<0u"; x?UT57KRϭzӑ7 4GxLHSln3^jTgo'uv+C'ۤE[ҘT?,Lg 0Rh,@qo (׿; /"˒s"x8G #NQ=H ~`jOs,j.SO* Pv%n~4mOjufZM!89ϩW2` =_RI-))RVu|ɵg)zK]FLtlՍu@CiOփDvl)G^^۷0p_|aDziXDB $:wU4;9678Z@XY 0AY:nB[<^8b{%ǤS="!YveO˂kړ{c#<.k1-'-/] |{t(CrB| RzL1DI餬|Y Vͩܚ9?tjĦ2Ѿh jSrJmJOkϸ1 C$AK].33U{ՑTB?ބY FP';9B=9.~K$y<&*9I8Xx6<|=JkiGяy!৉Ƣ޺+\u'>RE< M0YR:?%zz93̸F ik/dIs-8*ڬ2CsN jTc~DO6=?hӎwKWE.a=Y9m:=+70{Td6 ("V-k4,4@hԨzxq_3sV06dfČZ5x8/F~ .XA\1M@Zd; C rdFISܳXj)_ASOd㳍wjwH\jP_h1*  u"2<vaHOƛ CcP VKO60(eCQl4cO(]_4^JW26\ P9oj%aFdQ@]L6tQi-]Mx6"J9=6|LDXI5ɸbNre=<$ۜ$&>vA,^^)M|A=e-=N3`%Q% 7#*#U.s˱.g.s(K$$g:c6G»8#w, 'OGgNޣFsuR^ҏ5z'䈃 i"~b%tY>"<>YP{u-*SX1p䧀 <]<&>8T!3 e-qmsE?r%(0w|2bmRHrRJ pqC|ljyk+жdΙMGI|NqHuO2_D%43+BD*A ^ڝ1אzZ| qtTnb&kO=ٖ. 7^kU<:-$uCYכ5Y =vpX/(a s_tS@8>#K6Qvpٽ/uI':QXu/6M< ME=C75 Zyye^SbެaU[;l4ً,Zgі5 x|@5{᠂X[[V@6f︞ul?KL]#^?[/v[y.OAHתIhvN,mlL1x]P뺃j+>dOA<t!""L`!~_&TgrU-zs=KHLu/0 AӲ BQh=:b+nx@BpvƘw e@pH=s5,%>O!3jεIis&W܅xRm":]a`-Oi*4[vdvwH(, íRT ImEpf |3ʥ79ATIpXd~">tf݉%i;4(rp!aN"ŭ>TYUg襗WK%Jh5sh1 ŢM*mKӢ~ 'Tr/R›RT<~C֌C;)yxX-V:v{̛'B_!wv bxh iKf./郎EF2 3K(dv7ͨbwŸ"[2'Khj\ ȊpL)cqdLjQsbd{m6ܩ7goLjq%+P{#~Є0=L>oCXH 5tIܗab b/ŭ&͙ϓk^BpOj{ejٕɊN&.S>f)x%k׸ۯT(! cis%sn +Vԙ{jT`Gv ,1΅[.d< G`qp%[Ir IRβ /`dPb&*DCG3qv;{MBrj^3.\@^ߣȔL_8\!P2(F4MPd qn-;dЈlυJa+ p'}LcGx CԌ|OfYHqbj=25c]ڲHLCJaFLH-"b>@nTM t'Wi7on d/2gd:Q# ͼ $6sVy;YǏLSS8ޘAf&H1,&Na&52o>)5G($wpOFx.ٞ-vܡ67rG(jz=_ TFUϸR1VK97lRb_ z)v]G;7gQuSHI9>egQwjxN&(,DP[t;)D4.G sA_&o!%kz {*ի↋{YD=T:nԦP$" al)Rdo`#] \4GT)Оd3QD,uu|]2=u"` g"D @mz+Vh Wi\_l Q3`F]vwҳfx )gQ.*O14}GB:030 "!o%~[&\ɁUG BB[h5w6Ζξ}evm)o&ˌ +$Aj~ײģ1 ͙Ti*(? fUp6jfs˫6bIk^c#-%_Nmx=)B)(@^(2"86@ľ7rn6/3ouż᳼Vb*Zem[`}u8ya|VH_9*7W(S;MT4Z_r{ܻp*:TIm/`_=6tg0cE#YdB]zGV=L=\FfneFz}A>[NSv'N=,f[Eޮ:m_FbT`sΝ7OQ`KsrLjx\Q7G Gn2 4qO1Sq bcҀmPB-%6!hP$Bb Б&f><؟aI:XrFgM3;E^|6:e FHWٞ>d՛M/!au Wp] ` qπ ]-8l8G>ZHsaeo3䫆AxN9C[eGŊydTnȯ&EDp3n2ALȯ&N\~B+ 5~l=^'pqz,?BK֟Qt}0pvX}_bFyi1Q99g ]ݵ7z4Va"zm)vw3"YYs)0 ԭhOl Цj.#y'r%E/SUF{3.&Z0L$I^SPnh(CbZ0<w,V rndTR^WG@$LE%^(_)۠ 8#PwxtI(k˘t+7d }hgrj%}7!C`O=P [fhK!SNEvs}uv<G1pc.ouuz~Px:͌[mk}ꫪyOj͕ r1QEw0d Lxy '4<^ Zrnjt~FSuL <vA_X$<1U[4785~QH2ڤWΞ&Z~+>tŏpr7eOy.f.DEمoxcc/qv[23;zeiMl&7p渲GVp˼Ow("G~[Sd[EnCۂpw@įq]~,h-Z Ȍi/4R*e= ]Z5x!?2^O/uTF22 zz?C"iG\qp 3#?-~oNtG0wt --7^oZzS]~ڕw,`mP&╪@aIZpLP2–&ɨy (i)]i9/+hL`^DŭJzCFiZEƶ+ :8iINk|r=R@1yt&+Xr1Z,WKp&BbDI!gD=EEYi1>HqN˭Q9߃y}jky6>?tx2%}归qADb˙ȃ=MPh?]4AkkZzDZB EC0I2fq2n#ydtH .ľ0׶7yn9b$f,}.K*a#O+wqm}'8#}w,_i{y;%BS)JͺVįzDaAJ%,6M-ԟa`[;~U#Ιg$l? +PPiXT|uqʜQ XaAEԉQ [`~g)e/})Q=7ZĞmz^":%!kI93!ׇ/<,W7$4_n?# w \ yw*57=Ǽ|=j-n|Tm(>nhČs~<ҪA;पɈ?y( ,9Yd@W_db{3:A8>z߁,%k!myB;}yOMFcB:uƜ TڌcYhs(ި-]oI6ﭳt>uӒqndHXGěkUif{Lnu+-hpyoje['b5N}zzN-4%/y@!ȼ aGlD<[7@Nqi҂u4H"nЈFYn* },nZhTAjY>T7sh9Il"(x˚zbm Տ_  #J/=(pR/=4,ZGłp~ (k |`O HaoD\A'\ǧ郷i x|3HP8}0 KPؔ3RWJ3TdQGV\ 1`_=:/==., ]^ES5H#FI<Ӽ 1ĥZt phvZ˜9Qo`:!rt9ǓM!ux֕ivj4Z-1~+]$Ju``w"Fl:lNEs4![cCDش?%*HHk5eΪ;--Ix^@vIXS\ƦCޅ3sdt}r sr6$fU-?"5-Kf,D5RܦᰖOW.10RlH)xYqog@P,8 \BB~z<Фɻ‹y`YvRyZoEx62m 7WƅJ^)a(A/U\ysvx}`tX>]`|8:"=}z=G;wIJh[zĪ2xH)OS۠@$n-jZJ;nC'"4*5(C2^suʱ%\iPW:\@ߣ$6 N?A+(о-+]2v40tf=ƃ0]]`=yq?OPT!=ʲ+[o%wЍf<7eV"&Ie6\.jfCEL͌lԎ:n]`|yE0`4#ΙoF@Z(aS2=ڀzk迣?o~Qb_/ro֥LJx)d){oEc&(53 9h זH%Fb8z ˮ@&v$S hйl \a{ռ7W_/u<_E7&MS&6%z ET*folѰ8aC!S*V2qEQ =y"FZM`1h$k?@ZzHFcО$Rq-6u>]mbzKܥ#ְ1 u= fXmM4ػTm(@WUjr#t3Of90w.+X1;.)*MYlʯmT~EO_(z)H=D\vQhy3$r4>x<ضϑzP>MmUYj#e^s1!FkSx TEKܙ}Fd.ʄ81;{"u&E(;l0DP)MXXgxiG˶-\PgRf4=,!jLfЬcNh 7&wę2̋Ȅ?]]B~h`-o91"ROhTaÂeXϐuEy?,G(R;,쏄Uvdk^^u{$%Gj$J_I(? a烹\^Չ b3PD5Kf//Hys!6>uou濃=W=avKM*~˞GTC̴5.kmܫuM3u~E_ @؇A-V\xZTY: f `ޣz_O[ qdˌ,DfZ1ߐϲr[r9!Jĵ{:%aבkI3|JH(-iyvy|CҁC܏~г"LC~|~Eb߹Ir[$|(h,('>k[8AH{/̴.!Ld^7dTRSl ^ͳ"r#/,_1 7mÊ}\KO{Q#1iVؐҳaz^cjw322M!{Z>"҉ѐ^>}̛ouQyIv.ťB!PȬ0.UAk2 A|衤~ -j!^n0(R Y͵mczhpL78 _ !-5nVO0BUv٭C4͉(6#vtbۨ'˗=IZNSFM9Unhꄷ!;FBDeꑍ˗ve\hSt`4k8L8vrzm}bHk8 77ѧ׏}}y=iQ*5{Z57of!HCOOeE`v~ 5 !K@+?uǚ&fǦi?oV YQcU7TPS#9`:5jd2g~џaU]`߃;2tX̛[8*|BO@N}"6NW?g,R9c r=5g5rkL5XJ>I ~R oaWy8;^}ތ֞DӦwo%ǍZ3蘞>^U ]c)X&šH+!&8PrGT vJ'sr+pͩrcߡE‹F":YcqUq.3=xe9/vOC9N8Wߝ[/t6c~ v~?m<=7/%}PbGwPoAm?X4L="&Ғ3rI{ c䇔пcGoIcY$ n2"Gxd4.zo nrLeh/fc(l-DA+%ӊfX<i'q)N-2\i+ *= Ol&-ezVw h )Eֈ37$غyBc/}E1"͙s Ȧ,4 r\LtގYNV#;33]8g-| Lfx^(U"yU3U_""[e$ ,nx LȗXw8Dg2c_!G8ɮ0:mo9'Ȱn tLSӆvV"5najL׽S(9ْMVa5Tsq"xE'Mo+OGPb边6kiTJ0S0mFhš)< Ҝݥ\$hKoA^s@,ۂ;'6_²= jy˽m~Jx F[',CXy(6f3nAUR% Fvξt69NU'fW޽D6;!4Źemqs{ ^)j/Ci`Y:06Otgܡs!lWJ0ODƢUS@ɔ!yfWz{ofԆ9PpYvCl€/%D*ؼv j7ZK.9֧?tt)Zoh5v > Tr; n-vݸPFYI&ʞD]%AZ9ԫiŒZB܃HcQ~Z}#*鋉_(TCf\K~!DI%$Stvڟv%!K@Ⳇ!#08pV@Pr?Fjr8qM4r>]X⒆v D%[RhCF`|bkG`\$COt'!H+6ꛌTS4.iMb5W"MAJǾ-.n]λR7_8lt49{4aA!9dh44O4% :nԾyqq}J#<4e+!)/iq%Tx*nҒ|BvI_uRkڶJO[mZ0ќ/!H*Nc{L=oo_Cc =lpQ rHi?.9}te bda;"7;:(zu+2Qz綍ޘNDa j0 ߯_v;ͺ |f̋-f^/q7 *rۄ i$Rֻz |݃"?֨OE? "g 0xL{9HI}!)U7s)CqËl+9vyY,߃M+VХ CŊ]H<":zY+vȧbb[DQax(#]91XJui<<|u\,E.8 JL~.L?֟)?`Bb,F7[$ug٣Ђ}yؾLcqSpo!Ƹ_9VSuE@Pن96"*FBwh߬~/J6wڇ /QF 4:{WFKN;M{{KvM诶5BR䐨 ޤ#>o*h$~=c/1{+t|i;ɃS.EnE-NU^a/p@F뾕}8A`,_u cðѝQTmMowW% :B~+_:<EC*fe/?L +V'1YF6EUWqv,;;wr?6 NĭN0kWCcJ8~2q7-D"GoC>mT@L.L~)hf%e}m"+WJtba,ό6V݊ It(t#҇WrQ Z> _O*|R޵V_)%E#NG!Up+[+`v+#gZ5]a%6l9[mebpPxƕ(}|H3*5GWuOg/2iIH[&jp(akW) Uzшps`p Wc_-D٨n "?;X > qSܮC:~@RlOg̸}א+pQv5D{ԿvƱ( L*,ڄ \CuEX+@@'C~]x4~N7@ۗ cj%5s"A-iˤx;%SO:QvwsYO7E-)R@zaw9Ϻ6*1%Ey-˝.Hwǥa ók'Vgu&|YGܙSf (%g}0$bV&>xس[wsmErk]'}3Q'>6p|(*ۜlJ͸:TgIb߉X}3bJ[=l׏ ĪB6D>fp{x]Q;6PG~6UTz& hy:'ޥT.v ]n Me9$*8;ضvŢ"(᪘,gn?(kGZ6`et i jcy-[+dnDt-q-b,ɍUVZS3%np&ww$cE.GV ֦jK1 S Kյ2!ƭ6/^"ִ}茅uBƃS̵$g/ e 9?ڤP%v_' mG#T堋) ?^[ԸeoU#`?LLew#,va!)vIo,ɞ<۵*Ek8ڐptUw|!荿p~P-_7$o>)b2eWǮ`G4Cų6hlyjvimzCN#FQE`)$VT8[cŖ3> a] TV3!TNGjA)q,vw#?#T)2ҟ)릯=^} $5`rWDK!V l1 5,> Uj!(?t8E2W{eugשW;ue!$#"]0pM&` @~ ^~ 5 } ae8 K&)30(ZnmRhLqW'm!ey_!5Fزɴ5`\WO&#̆^" E?(1&tjTzeU uǁ}}w Z>a!;)_4Қw`8}qmֈR؊=s<VNmDԮ'jn2iM%-w`E5o4mzdi=U1 Txqr#15w 12+J"CЖUV3LɆXPw_ccSFK'~ߢP<;X{Chj\& W(dc5 5*S:ؽT LKg؋1@w'HktqǒbBHY/6k8},-]4 H Lkx/:䜡( 'YU?gB8b˧>NCG  0&V[>WZ?@msGCK=3*E`Ắs6=" y2&$~Hzj ŒB|֤bl#I!҄ krK%nHU fՠ\,Njgi qEԹyF@.2o 7WvnиALq@4дĎy((4T.'eZrZټWrРQ K 6E}5E]¾yyf#Јi\ED_Ir3Ɯo(@yj>D ld[^gT{7< <8s[1F~ȿGiMD6^a<[\ۻR$L]#ÈQ5^zSNJA+vz 6ayr 2(txcNyuj^/=}9۷ 51קpJWAkbOr1gY 5Rg}9`@:4p{P Fv?>mV,b^?S$0!θ0vX7>fr4m 'z9F`Y&8I L?т[ko7H褬ԴExSH~@虔܇+Ko.IEԙkOeCq7T(g9ʒσ kYxB:9Ǎ}9Y%vv"Thc#㑧a`Nb^1X !idB%΢ 'eE<-Tͥw2Iq{C[847K^3bWNp/}=v< Dm[˩Q./z$uhmsR{GIC?t$?d̾&R[y;ߥW%?n(.ik ,c4SM /K_a(wR3cw~'xϴ¿J(w"RY92|皁 ⥘ EvWw&cgXn. Kt=qRd.kTYIl(S Yc8\ )ӹÏV˟#:6+ E'!+( Зev.`x֐ʶPhIZw b%_QCRc3|U:!^ ڜv$^,!?!B3ZϡlOp\/H|!/KzF" |:|˦p].Ԭ)H\#*% 7w PA_q;$Y*)|};Є Di`x~sK>/)j@~]kveE\8w5#f,M>XaC y<vظFYռPU8[JW՟ȗdgZ.]1>EײHb!f_pʍ{yS"Egd5gɁf,RCuRB>b}oQOXS[Uz+@F082,R[#)#BbÈioK}’CG 89g gqw~C7|ߍ2B7k+|('w>FQag;׊>bvaOƬò̚ց# $qUl=GSyC$D @:?})Zx V"k CeDY|319PKݏڋ#vCIvdZ$BaxaQ@ 1:t禄S*?\" Y+~ODbi}q4{hCkuy E,aQwWAT LR|Q`a7B"*S<& 8\/+aŒWLBcnһ҃DyuPƁ) x aY8, #*Aę,Esp-mh::۞cX8g,X-| ?\lbd8`<ށ 55גKTFTƓ7!ڋ=N汢n[IGěwLLe#סKΕ5 cWq|eacXPy*)xȣd3,𶌽:0^!(ZDiC w7f`exưT(ܝ!,'9Ip)yW?I}f0δb"Kzx, X +q?F'0M+ @!s![49)5m!M(i~PO̕jA-;NM#3wu H,7Mvmݮt?AkHY[/zVzFd[G/s! iCÆ`ud >0Eh,,|[f Ժ0ԆY.iQpVC$_U`zPA Ŕ!R>X*r <*KHLt1g~YoL` n 0i#҈MHq-ril~vXi)PP@|0(Ky>\VJ,NJB%w3(୚}]#[0Yg½KC ْ S^%r- )NYH*m>  ?e-́D2I`pkU (_m0c|P5:/SPMITxݜ:rJ"*#"U0#2~at'kflknEo)  `dc~97SbԛöF0+F E?mn%5^G}tf^(Sa[@^e0?IeQo]?|p4=#̺fzTgi#aAHJwD XTq~P` Y}Rm4O3LT]_c5!,F\v`n-dQBtTD^1iw yG9&TY6G.P5;h}R1,`~Ebvv-=e3bgZNSۧ}6MF(l{%YdX \&D)bC8c~=yz#pD8 Cq$ wLF3x:9%GW)W6RH>> fI*Nnѳ5TXC3vzߛn\M ,&UiF/97CٻT 8:1>*z2ey:لvWXm:\]0x oh4&;@MJ[DIX;F:<簀˓l?ߞ$QaƟt<{ \j{ $]^N_s@ ET3.j5 dA<@_LNlz"h=L1TgqLHw-pNT N8G {}.9i&6i2]י1PVb]X{I=6hl?-Mdx'"NɟTnk ,c@%ۋ* IZ;BCYE1$qKv;n1Ο&ZZvK-+gRitPK@nX I37U? 軇 DcźNt!#ЁHn[xӭkHr~|gTWQ K*spsΫW*((7luTkzSlp"r/nq~8p7 /e&;8^Kmr]r6{4%EDĝHYg5#s0@`?UmZ+i74S KnyEL'b^ŔC fhQۂ;Ӄ~@Tĕ$O:_ega3M.b :.\Q$L^7{7ڮ=-pWԗX*kCL*FQDOm7uYGRZ-=YzF8/W*f]~oCmCG+qvG N҇Is"Zs6FfP.-s0)Y`+lbbHWu*9 S Q[t w:+νŠy]]Y.sCW(,7O-49S JO!d VV,::Qů-/.b[.5VQ_CZo}^uo隚DhJPB[ͫk>z%8ˠyӷҙsdnf LX)+b&yM*)^ A݈E+n=e' UzWmn"!#&7=y,7_P ((YG$ƄZ\|Ĭ܁ H0~ʯGv!Br$2#l6}tpK*xsΘPE1֜Kgjp"H6G hP`aTɓ}@ |QH>k_ DCDIY}ۀ=s=ɍӕ@_LfC% 0iC|YPw)c .+ _T+z r &0ܿl5 4ܕ7RvPsK+NINGeʅ";Vck4xY2\jN;lAk۶hQ8_fqFQp,D&{w<6?-prfwFn"RcJ.,Aḻ$v^+XL?2cr$ 3S-"cG6F`bhXLm}/&jbWSeK4)'1 RJ# G`YS FCP Agf O$(vL9ԫAChUSN:;^& !U|^C_:[@t '3sLd7#?5f!H A,t"^[QG$e>?A3M|t5aaӺ(;&YR_K0˴p};B(dLg }QKb2\OfL .q+&O2+GTVa 4n</CSzɓ+j yP˄MLhb>ZMOJ䗛z DrnxW^J|5 G+l.V ֥uJo/[~Hiͷ>zmҝwv|m㐹|ݭhOh+Sx8=dW7֙'4I<T-nB$U:LFP#ym3}u>bx6Mj1Q#cm1JFj>~4:7{$汖e+HS@(ܷ0Z{5w4Wu+ׁx|N8`mpB}t깯# 4xBbP# 㽵{E6PiSz;S<#lt8"~9&1%?էxq4# al ҕ:r/ղM ~5 ׇcV>MܖSn\֎P0bb>kv5!(Cg2dv{ыʣqj:636FI6ĨRs?/)1Z+%簜>~ @ cƀ+e)C!mzg\C$=L0V WP2rs߾@, /'N|L&ڏ7cL?[{uG`c`T=S,/*y)9+k WΓ~UANBg#;e/e3({+39^-Ëzqʧ{umFqH8ebcbA eydXp U8Ϩsdn߲$ӬT`EhG7 $ѯtqmtQCxVH]KEtD%[vfiz[[$hQr|>qqm5}j[ν96r{y flމZS4j6vJ<@o_BpqL@ej$(\UͫGuL۔ dg ,|rB{WRngTe4uyq5MWdS)GYb$0 UYUHL%Tu("fI괞 +NMy@ #1:b$k3f&ڑ=?*EyEGz~}r¨9,bÑxŕq`s|B d%{Phα؟?V#;gئԮGO}+q53McƗXRr ?Gȹ _굻ieщLy"" <=0FPb݋Lo -r~Tا ʒ -uj٣<1ܵTFk pL*71:$hޘh׃6z=YZO=h񀔜pkekv gfutmZ ,k7v7˱S*? p0sş ,Lâc7,\۴# =Kpq~.uEL^&Du DmH JÜ./o #%~keE~z,{⛏D[%eNG𦷑G{«HV  ? ه-p㯚BչtTTtVt2mXPhD#\:S,P r& H+v ;/ Tx=;X`iZ3wf}rcWA}yێwj<vzzIJR/K'ѱr4tZI՞h:d`jRz26;TdxSLPJ*"\Oⴁ@=Pm 1{L `Fծ3E _;g# B8ђV j MrXFm)2-\HC%@ae H80jxhC`inR\* =g%{&AV",*(yd|جn $mCvhe6*}UYGXC_跥'eoO.@&?@ZymZtpJ *0o2_!(k?ד@38KVe'Й7BM>50ÅOk,KEy4d$"'L<5^2"o6+1İij6N.;1-)`S 'We}jly~wRV dbsz7Oʩ>fHXehgZTCVn'[ t_C>  {-DH|>0,By*cT^8'_jԐc摇8I:tc]X(6kISOY5ݮI|> =GXPD3=A4Y9#a#O;ļF\mh X gK5#y/1anQpHAS!zLق0$S+[50r8&3y=_ǍK%*ҎOK= wk 6ƕC|\|?K,nPznjgc Vd4hz-%vtɖxxx73z5ڨ,E˖Z~-xth[VT;2.ؘ .4vStf#tJ+CD=I̮vdA%PYu>g5(hඊ/n7ev;:}V j_l-PPlwt58G? z[7qEcE x˃4id,+%MPB]^ǃr,y mRu406*n!`H.lϑN; U(>PitӍ,sӊt0ImLD銟Gu2m(v&w߅`KrN%0 ALaA< Bm{/1HoEOyIWg"\ gMx<˩xGDZMk~j{*c~~Prl|w1PcwuüL9LYaιShV}yI? )pD@"J='dkvX1ޗy RM}z(SF- Om]L p9 nyL~̰Mt9~OxNET O6gTC Tv`kʥU1,/BÆfe|w*}?Ku#li}m0K[0}@ WYCk?hgQ%S by 50 RzS6UEùܕ[SU}llM}iLhBsS~E%" ~+T)y=2=7@m:~LFz̅V:>q(Fp$^Ml@C3&]8HTu?4@0ә!W Quo*д^!2 I!(xA&'"yȥ^a"\'z9=!_݅jFZ OԎ(XWaw4H! m+iCkcӗ<#xg$5/ T,_vK<[\a*O5)x 1Pcd0,7IW@3 ea+H_$0 3wBEGK/1qAG<:P{u&p{ox0 bչa$q|EBHR'gw4XO ?VFaZzcYnBg-^l望=t=[$x[0nT/j, @<)F>DEMUVW)s\ f[r{1K%^a}P!&'ԗURVk!#Ӵ0x`SѦ_PPARYEV܆]^Yjn]d>9ʎ;VY1K1zJ0QSd >!3JE`0~@ob?UxzDlӬeqKs= ˝.ΏY\ɔkqNTW}ʴΘyv @b_r <ĞI( uLhCmxfh3sX$FPluS2T`,HEл܊QJz7F{qkHLۏyjpxDbپr^ ܨ\HZb|M{EԌߖ )y3xjө4)qK}0b&[^qOB3/QxM(|&X u_clAmǹ~Yuٟ:Mt\ M#O5|[tmyJlc3-.;R0ԁi!j}:2SaCä+s:FSY^ -YDuPŎsh0z~2JDy ,UrwO LȨ7\4ʒ1@7Yi!mf7r.`a>0 ~ /2XcȊĽ0O2QnBQ݌|Q[: 7{-|Bvv3 N0Mn^ Tz_ETuAO7u6JڒJS~WK6T(L6:Ӹrq_N {"Doܞij !EdLDjc Q8ܒ8抍+.@P2=0}`P' C|:GR+("}O<SzSu%^8ڰ.!T%D} g)#5hVhwJx:˵oPc:<`-tl*-MH$_l*u*\BLĝ)N2q,JIu@94m$0E[ª' rszh`YmLC/ , wS#D? ʙ/jCΊt,Q$}+;M.aSl@{ǨV\X۷ov>H,nv~8o р`\L,|c*Nzbw}eAR *&>B8C9u奓 Qg|n;<&f6jbhEl*vah՘dbX M" pR(jIf/hֵp̉! :S ub4.A\^Dr%)1D궡._uaOנҽ)}mX+&͎hUыn|Ox `Ew26X^v{t{AzQf'0Qoh ) ;<+`vz~ (2\/ZmP\*WgOPrg4%a3TS7%0.˓lFHER"#G7Huz .zeETcB|n825>z  ۇ$k; /`"wؼ} 'B?rM?,OYCOVFϦ}hc4dMVJ/G JPn^CY|8R.ݶJWi:_ϫ;5A}t@_ծ _6c>9k=Hm ޙ{H'l0i~>i*ÈY⪐>PԈUǑ8r#c); ݽnLeh:bjLdFhs<[ >Aac4{9&t}{`ޢFFXB>h!m-/BI{ D|Щy=@50n<ْE =piـl}rJCf๺ qA0-++l|sViKu2\ )z<:Γgc7 I25rA@jb j68} ,3_L<:.ԑmE:'LyDuD*djeefz "ZsL?x8TnQ>"IO$N$׼,[ЮoםU8O^g+ϧ(#zhi̿iMCDN֜^+wh[G K֡'選DGA~iksoYe#&3>D[mWzeO48TG5e}_2Vxr<-,ɐA$U:U/QNOc + xqX>8{ ؍YDʹ̫3!NnŝC ʹyʁHSmZ#V\[[WwGjXẉ;kG7 ;bWWgj ;/x% I48caow;%Za).] k|Tw,& x<BГ--3Bq׷ݣtnGyE7i;F1v͑*j&[y\*mR`9ƼPdo1a-w'BHٹm;v,oi0dw0 $,s֞ꍇVسL:(ȷ ' g#7u)LDQ59@C9d*: HU>`sRQ='ok!V x bs?>ϙq>.=n;eEPV7R~*=unZ6ju:۹t=T#xpIRk {8%U/=l]=&MWJzg;O# W>MR%uVܲ-Lq)"C4XU=lZPN+\Ɛ>55W &Ϳ.1OT.l@J {\σ%nDj [ ]uW_azM~)b!2k8P! FItԯN =zM3 hc642 c?wV 5C!r7  h1ṇ.ta \dp^vtq@}绘xQ7xD-Ց jM,uM̖BbèdjhC*c/44&(%Rw1GC6uk˽,. W-JG,H4_=5WդZXˏZs.H35HÙSo7,|%F?qd.kK׹6WZn%[&c>BP@>hF$8bhni &9cN*QzZYm8}a7vW~I"5{Z&ndO;%,Wf#s~/@';z p4 ߞM6O80R7bTb FD'&&O I${8ײ7V$\!xn`߅JKnz{/~-MATZ:/V풵A_JpxU{ǫ/J'qbJ[q7agFcZ*7Q9u {pƗ\ۜ-j߱9ګfFSL Z¼5VZhvsuoԻ?$Ogv4n#gU_mr!\M>υ{rnwApPTL]cO=T:IZ~ h޿S/D i4N>%- gsk,J~:=l´( СXp1;ޅe(BUb{88uW*s'Ե4}uYf3:6Sц#M( Q%1ZR^:.!(֜q2ja+\ >: 7gzԞk2V nM,K*fc|lv| -ͥř<ǫ7VOpH-Nǯ SfEg~P>Ao [@v{i/jks(ܿ(q"T(F6Ts[D^1&q西4{xm:[GrHIT'˟ң3T^MH{JsPҠ%(ڑb>m9F=Pj$JVRVc$>VO( Z/U؎{BkDpȃfPe ҅Z_|xM~s}|q:rZ|n/XP2\Ք}mofj~KGn{9Y= dNn.wz*OR \GÉaÿ8;±  вRҫ7$R7mN/*gԺ/m*͗4Ѹ5Me$;C neͭqv Ӗ|ٝ r};_YBXi3S\*,b٦mS;P "PѲO"/SZˏ&h52E7>9^$M6GЮnΏz,qP8~BNZs1F}#xeMR42u?L|5x䬻vvFy7j#2Ӌ~bpL f9Ȩ/Z`Mh1'10y>~(|4RLyp5Me,6 6PޮI9JGCŚWjB'Y3 N-UǾ9/B_9i"os($gR"M;hqô58de R_t#ۨlNpw0l~F6yRp'!q!B^gJ%[0ѓ0PY%he8#D<@powxD#|m$5- eOu^q[|rI"yA"*DGq:刨1/,C֒.\DeEDVղl\p['o`>=5L  fޥQf7\kk l\օ=ޤoy}-RQl'eE̺N.#Գq 7W>;f9z[.h*2j-EK\V7D#.y4Cͩ׽T]g QѼwO](]WrXkI':RBpZ2*~AM8@q4̽rQXqK00Lu= <BE-7RχYzڮ;vܧڳ ~bقhj냑:/?`ۭ6.' ^dR .6Gɚx X5GXb=k9p6llKB~6ko5wElfR@oY9PV;Rn@vy-bJѿeV l*-N^[sQ e< x(sǭ!k$oxip^d {fA&HyycKeK O$8x~0e)O=ɭa"LaO9F1GPG,A]xL) 9o\msRwZc<\вN? q\O#=A ̫Oj-/F_%I391HX{Bʴg+ejIc Y&^ʓ0I|QCJIQ-»ZF6eM2 U wCq  lq]>| ܜ1hy6:z29}^LD˲|nLַjC֝{'}{\Oa]a8HC3pcqQvB4-S!wEBk+Ry2%Q dLzHuO"ES=|XpiXZT67TB@J3^k^M"2{0<W^;R?ߪLѓKM[G[dp?xl&]#vX-5$W(jn2f)"8e0TaXzl8B.y4wA+#s \ kP0wxF{L Md'b^ ٚ$["VʴN`/uD0`@Ub`B_oZX("G]y57Dbz'x=/VW!jhX뽸}FZR7s(8KdD'B]:sF@v( E@U`- 6mc zy_Λ敖+S ͪ/42#":Ozb9ƙd@BRiû2b!w +Җ=F"n3tx+uexN `:Z&r/r.}1 Gm]ۊy˔{yy.(EWt׀*Yౖs?Yyq8%O( x.uYmTf7Je [ܔ`a~ң+1Mp2aziBINY#ksr=#u oCS*H5܃SyCÒ0JBmv 6fvfq2ʼn'3 HqnhkQlL* \x6@kOe hZIe=,OFxx g %׉h@n XTroyOս=;1Fsˤy#j\EhG/(ړ<9h$2EcU`8M G-6V ŬxfU ق1͝Gײ0p]n5NOCyl"MT}ю[ һ MUʹݬpV‚$yf0s|TfI]sV 9 &v'*uTP1G5] 0"}saBօ9i!?G\Ҽ't)|s??eg^hxPNw~Oh 'Ig &Fl#;B$nOO[ kKZWO f{Dveࠃкgso<"+EـWᇎOtg*D?OO,jSN sy(,cԜX N4n$98S•c3 sd};peѫ{(DEVH?;d;C Ѳ] ؗOrf|&xf{/ KLy1*w O.V_oLpd tAQ]G*4IPݹ\1 NhčBh>F]!`Nb i@ߪу.{/Gk} ՓBoLk[JL*6Lx1 }d ^ȣײZaJBHnR\VLyH3[T%)bK-,*c\iYvG s s~n>@mZ\xA%.P0!c5F2' %{norWX쿢x6da! [mZeyfpXDgw?-"H%m7*78Nn)&S1F|Loװ`S H=~Fb~|Pwo/;֞khUd\!>~ ͙# uXIچ EWhB'Zg+sb7$$ {Jc!.4@mYF-qk\}v5NLEGM4t@1ɦĪ1}ŪQ31鷨)dz<=SɱB6uy+"rp;c[{{&UzyK^G(iEgBPɳs cIdK W2 5Kjε(j)X#[3o)ϐ!ao/1M&!I{4ʷ]|Ϫ9_և/ <d&ȹZrm \ zS]: FpDl\ Cѓ&K<߹y|j05_A3T2xZ"wi8 #ȳ2 XaD }56Ft:*\ 7p{5 +eP\9{}uˣrv+׳ɤwh *#KI"{hZQ QXqI!ʾ2l1; ;ۼkif~?-5KgڍҟZ8Q鰗wNjʡ`^RP_ VMhӑ}VĹ+zu+ )}K)Kpqsz-w톾#'5d7Uh}CqK21D]WdTW;$t|vgyӦ͂2M#RCڞ>wkd+#]{'"ХH+NCs|;?v\]TD|PKw5p:K`bx`-i0ZBP)֤)9q5{ O9zyo&녣v=άtyN[hvuW3LuKOMw)k!SK 7`$?K5np`}jG҄1nj!h#8W?ֲѳ;]QS'ԵНoa~TzSއNXWP$;gQ6_7%A{r]뫔َ,L|Z3I~I$kw*k 4鰕S$X2F}FPe%sM Ӏ$vU䍆'Xq>Mwڋ~"LZOa8 Ȫu\%3o :BB#jLTibJ]Dg!$ӱA2dD)y)*m3̓0rRCx% }>?|aPmo#%(Im冂C-@vs t9^)i7(gH#T 2krQ'T.07iYD`F4&C.=i`YavBDoOg'G7.w~bvI2+LT%^ȥADUuܜeJذROrhbǿ#i%ti5|m^ 1G5BQHh{uaP掮֯,]73bZ4ŋȧ׌'g FǡQ:1*ʇxV]8UI1$i\̞BNO0]OY\ Ɣ)U%rҘ4Y^JOź7X"~{jU4DWUlpM.-Mzx7ȃR4G$\0}}0;?l%468/ \XTn 5xHv uWˋ9 hspvD's2UE0`-Wqty Gp!jɵ6hu'uQ* uX4^g*9? Uẝ"E+.wD\m~V[VIQ7 W^vL-(+EYu_]:5+uG;,2;ǨҎ࿝RYE4KY9oZv0"v@PKZSqT<Rje~ѸL!,(T*;a:s3/I`ӣT~xarN RJN?A5nxȽȬ4dɥ|V YC%&i40{`t#.YNcN+^#~b0c 1M}+嬏SFM?#EA>`K >wNg(CGOi5ܶ݉IZ? 252iA&OS/bw(NXJbId-V1|f`$'˖r4IgbIyE~Lز KYBX0 0.]*Of=Sśޢ*F޷(%ZK6|"uѵ<T[3dYr_( ,bGh-aKlAmt›!, 걜 q1~\HaKW27~5K!#x=,`m5;LƙV7_w& *ނ%5V9F%sJRul{,=p$#~ GMiI#]40G0$+:swRU*k21П&B$:ߧbzdULcEתݛ9tm}ܢGjTMDZ|tJNSp܍6f/Ng^6`dYcGp+H-@Gg<*;~h=\E'Pj;0'#QyF/[ͱRg b)|$#hy'ҲeD.֣ pJKJHH Kޜ_{O\Z|T[|DJg^pwyCe vZC|At^$|/< gJVU$5"jIOOs^uX|r.5gpEoaZ|)lJGhދ][X,ږ]\^ ONsz"=)8TmaD&[ϓ NQ* BNᆊƀ~ORg',y<#z}_UE>p %T :[SG݉(ʂV^oާc Qsr>W\,#6!(2.SznXz^i5 nm}\Wlp}N4qJ*[U_͖:r'&h&5QgMx EL`BagZeJ 6NG~ЋJ6'r^ HDb¼̦ۣ$zf;[p >: odÛ%b A:ԾJRȯ0#IrSGFF(=ØKZk57̱IP,X0Ko??$_UVnCXTiۃq)Ů3EtWQ6ǯ3{l⾬bNL?PO,B&?K<(u!M Lˊs¦|2 R:}yBl t}*A7UVd(@Py?tZT`]` ›(Vz ]wiFD^8mo5St+–ይ$JVohRּmj9zg+z_5^̜S$Cq_{Upu"utF <cͭʹ*EnEU؋3}JyVނs =K[ NB"v`!TR\wl.gqýX:CSN w JH;IƱs5]ݻqU W/">3(_!EfB[ GGU~a^8)4bƗ4VU_)۲JrzDekA4w7#683;eg9U4C^lz'boG=f 5,/͂ѱ!_+6ںE\FU=@Fo5ٝ`s^5d!$|U[v^`$W=V3^CAD$)*U@:1ԆXMXR0]LĶ<+1$Ols|<f>޲dlxuWt2SWކljj- qJgԝb o^{f"S cKYxXT8;4Dl:=H]jW8s&R[yS6)hyREp!u!6Z[Y뒯Evg!X{ RECQ%(D,up:9QhWYa>,Üw_a؛}享v|Tj8?r;zg$7$+FVP% ʌ87U,>}f݃Oԃj֛dٽ9EK>alH$.#CQ{h WzyJ%kVGÀ53VH[VuhBvk|v@N!$\-bz3^n6*u:a3_oۙ7c=Ljc#I9Nwl kRjf3w ^E/ɹMOo$F sA/}sX'V,\JJwZuw .ugVIA#M*QLzуQ F;3?!b(A?%e88WGT_ x\AX&+ɔda,j]N?bQr2 t=~(Y2Jv 4l=D*̘~- ]R %!I,T&g)WuBOl?5ptYxtI7$Ƥ=H`|a Y )i(NiZ~nة?עg=ÈMCВ:} J̼_@PEDye=Mz/9^#2`L|Df{yO9H"FI }!Č%8&ۥ_߉ /%{:광 _Z||A}^N̠c+\S66H9ku;S]LK,Sh\ՙȊY:ǔb\K}iKW9KֻHk h:m{[` jg) RO~&[3<dӟ6nxUq03xn]3NXO'w E sSrQgJ ֡ ;i'1`s^sh$.^F^o?ܺeeYy7Km_+ cT3XR$d!rUb0h!:5ZcA>h5[E`ȼSFRTL257 6yט^c0dzS4BQ{/ { ފ;{@cWo/s{z=(D;RB|> YF'&5BqtɊvX2x77o*SML.]i*fF/@)׌Et(Ij*ifD`hqdY Bmq>Ò/ӟwz@21εǯ:i]0}QOP#$xjqHς+`;[bԽQMdnDP ȴTmuB(մX.s J>˶2[_nE#?w͚16h5`S*{eJ^&dF7B'5xTg nqCO-gIkg۴ i"8~v殌!kr;GQBPmj*a[kl086;Rz6A8_Nqs*bt\]D~k1V/kLEӌ2I(vT=ؐvVs˪Ey8;%]kT 7`EͭeTmʉu5EouWWNgR~q{O^<[:9j0˗ɆRO]fw&I; 52Бur2Ozi6\.zߚ"E?VNo4F\Jx UjkI?]G^S\_$w`.J΄} !@'sQ#sQ !|+/MtIX@17EA2%LluhNݞ{ izHWuPprKPRBR7n4]rɑ0]jR-K{q?Q$_U*=o9ERFں(X^u^(>[^T໊(:ч\ln吂*;<%sV%tv/;}}'SIF4KJܗs [b"YUSVyLQM(o,Ue:BP/:_X& i}=ܧ(e J0~w 2W- f?MFO&jX'&1PqaO|z n*'I7=#Ɂ`FșL3]ky(boo(u>7'̈)»ѥ¸T ؛]T$j$X(xYcĢE cVfN݃ODX?:1z n1&:&*C_ Tyܬ]Z{zL%tOac/+dt99.3D8O4WH:hDpg8> #y7!vDK/ 7Cn =3oKY.h ;i.|k&zk!k*R{dϫ P*Zd :_=TԿۊI~7rv#{Pk509g{(%S!4jFZPڹX1"N?Loş:Tū + 5>$Nђ쁭bEiUFg7°fpDp_:ud_iFQ2DxmH~cziy(H)O/IN k|Z2J4b=Y$IsXӒa \hkK8J#rYKǰg]+2͓Kl:£鶇-*M /*]uZ"3H(P.~iAA}W.Νy 7hșڮ.J)j1j7Ot-c7#3IR@4mR۰~a+J.bwZuw_fbG(oVQ1u0R{_Ȅe:pxe4nEۣ@~lS1ɚ1jVȋ)Ë]PW6ws5JpT$S] %'JhpQhFMD! T>C ´;S7<"bސUȍ%F݌҄ t⇊g;6E>xwcNt5q7zvZq&M#W+IJCK)_"\ =ikU^IHRXc~i#g=N3!QmF8tr<`aF5fF8,OY ?\KB^Vˣ_<1Aql$CP-ݘKVޤB=)^X" #UrV2Wv1qUh &gsY֒Mw ln,#+JatYppB\i1\ianRQTx}z G+J{yv4^|;~QT΁jUP %~idG-W"A䏝L 3cJnx9ЖtK.WxA e͐J[vN'adOcN{c֢M\E2<^fXn5wa#WI~b'SV:P"m5\7WRAW I['ѢL&E/rJMu c*)"D ,tK@W|rr&Gq.$8塭s U-DwIKzNfP>e" o*HvQaNG9wVTin(pOlfTI%H]=Z c͚CGqk~y4\{(y%" Sp cexz}/EdIس:`+fD+y? &6 Ȁ cb1{ F' ?$;Q!Mnz#_4PH$}ʲ} d׋//exO IBȽy]v")pKr~p:(3xz9 "8ڂ"2$xY b:;!Lr&X>qz ihTQp0"0v> N\.˺Z&hA/-htG(Ҹr[l>1hqr~9V4gfx}2n[{ Ugz7  |(:pEMk{LKR!4cMx!FRq.KXy1Hu}_NFQN34I '%yuOr2O_M(M]D_uc!-YфtU'ShZ Gj6;1/k+@38sL?i f' $9 _}1#cB>]+x֋ em۔i-Qa;7lһa .j)DlOiyT>|b~Ds 4@R[ѠFߴ: A;Zva1U?nz>^ W9@b7L\αvX q55l>-r;զ%3Kf)p3Nbہp 4w.+ c5+a:w-1sY8xwTe/fA=cUb<0yl3^Af*,\7 tOgv6CѤ971EGZTTbR>O >KNY=B8-z }~Ib9~bdk`E^<˷[XB-W?ldRajؕR' $):=R>NKcߝiro!HcS'ˉ,gCs`t kC!3e)ixD FWF{pPj>м,(~ 9eht7))34I+ B@66-%V4ܨ;̔SctĦPa6;<^K!Vހ~(H] {^D?_V@㟕OV1-cPK1b^g {s>щABdN.LFg@ҏڀSdӮw1 9zW*ٴ0i%Vu}yzX蛶.D}Goxu^qT[\r>iH앛Tވ:+츷z G6M^pHQJ\:ЬK B;.Q 輐BBB_.lj}+|<2wfLQzIcl"HX!2_)c\YkR5vfĎ[xP-øk:/5 8o:˲mh⥅!~3=>T4IX+]a.y r& G5)x^#$`X!gXb4o}!+GD IG(uUMY#B]O/r|:| XINԌ 'լ:AW gF#{P([yphL0XS}RK£ԩ cJyF]a Eu*cMM u.\rGʞ ؗ#ORUW(jQ`d=*ۧQ*ݓt;IH~6ftϴV9l>zo#&ikDkHF{R3$.q(zP8 &a&6ڊJ?%\X'8aI$lٿi^3hzij)knq߅gZH~T)d R=d{Г^M=P`* ->5AnMʋ#} %*ӳ39YZ H}V_U܍%‚nYr"Grj/CiRAÕJ]38d73LNq"ZhywF6bD\8=N !hpPE#DqT/|mlUd+0%cfeIv&a"`zi-Rشa\K/ 219o?SHA !?Q˱:ɞV?8޳xxQL\e-:a2H ډЂeHR8?j81oN '+7+Z+Fa =mu# 慣]an.񔎘ޅʮ_ H KweJ>r2CS[S xk͚FBσ s\_K{UO; kU8ShLee mC2y4]K"c_$¤(ji R 97J9V{GK70=X)RF躴 4g^=p3R}@g~>{+諳P'‡۔& "S^%%$+dY\tOLX ܃hMIpΈ(L#oҲ\5i';6U U̹*ך@(v6K4.d?XKurpG;8L oo\H֬]8(;^ћ:bv)n>ۺ.v]n΋'2/p FJlӍp 6*g(Taq6TebeFIΧ#$BJ˶yQ={eAf Ma߽ f󄭸e.~]l=HXRKWVyFv-E~z|tf5؍/-%B$[F]Q_/ȥq[aW2.ac&XKjncF_Q|PF]Yu߼CTCļ02!PҮ\O  ݵ`7W,5%٣.Q)(n?=oLgԸןiPS~['V'91bQ tŀZ{%m)⩗wHIèaԬ, ?TSvG=5pAhM&dNjaXE~M)"d$ ! ;nގO`)>:u7dKxkVJVx,D`?/_ImRr C@y,4قp-aXٹ֡a.EZ%a孳7-S Z%cĈ2AQΎ ~_\w[P&p?g($<)>5 & næO_HuQ[AXr5[P1P TBKEFD($(դ]ڗΣِpݨ6oWת*Lo%ݣħ\YzCYDͳb;.q*4xv Dփ <55^iNr+VP^8RIG t4cI9YCQ33ӯ /< K #)d#HQW&ӥs!͋W l+"N=IC)mNoBM$%}Qr[jY*ÄJ9/g l)*<9oXIA.Pm]T}tmJsYJ!#G^ߪO4 t,I_L]e@ܿ Y8M$^޸lK|řABY6ߜEzYqOo|1'ɻϮ\6$+Cu zJ978>@۲REV;$zPnݯ|Ve)ZJ"be IZ5zE\"+A  ig7)$ލȘ$–+A=uGȃ:Q`؎0UA>].I伜1 I5i%p]mRyZU6\BssIp\8lÚyywÿ(Ԉ+佌 &?D?-s"8Mt&)5AūY|֎2d3"Luɿ.~b)^D(tkU_ŞƨJU`61` GJJFcX)mD` ;x$L0T eUO.r8IG?תz,/ 7)%[7SUgc@8e,oXIl28[wzTxLBѐTC~}t'w i'49{[tW7^To(y"ID7:IA7\qiGX >.wݿ'%X$q-GNAqԣ` z^H \TkoH0 )TUӛG U>ŏDˎ%lw')pS lcdq;_#$i8+esk/}EmN c#b̝_f/×+.KD '? nzbƘ6V{XK<7V>~X C1:`:hD⬾it^6p| ӻ8ltH{QJFt=XҰ/&x܄~3< 5k j(‚{tq Gk}^X_ryl~:#_%=*h@Z&SzK /!7ч Li"^[\aF}kR]*F_̠`N1얟eC'XQa0. B*29^ì0>qGy_QOWSDT73`)iޥ΂i FgJ]S0@\7.cHE/\$ƃTH׸yQܑl8cmR,v)z|GRB־rG֞Íb쎊69y=DF7 ZlFx^^KRZ=-&rUʶ,)XSٞA(K/0QJNa;ȴ cfh)wϢ[Yֹ*& &zly]pB,thRLJ[GTz `Ms`Ԅ\-fG8yQUWj6fbBM f%cdA_R?I.+9b6yJƶ3:9a(lZ5oyåGba=I\$U]C]r[^{UNͱ3.pxZsz=4'?Uwez[;{ tf&[ʹ' ȳ?p>̪g[PX1x ~ˡn-*ux]l .=$PRY&̹s]D(_o5 X#yr ijg#?}:-n(fIfUהXHy`z&7FRS?Tp IOGCC؊6SZHsՖQЉ"v>C9 LC͖Y2`N,:kv; $F5n@2$`(>aJk~;^FCK~s2# +TI8\p@Pb@w+j-q`@n6K).BV :<`W/^L6vY4Gv٭`Zg,N¼lqr"lq*v/[tT 9R,b$wC,?kU]58jϗ_Fz6*i+l,|e' X: BZղ_Xk.QN㊐'48T [3R{#Ǚ;$Y\%"լq5_R3mku_?"2]j,}yItBݜ5$kq#߂?/#}JBW1M  >0 OV>j C|)7|q C\ Xu͉Y0UX-;!43fR]r@.<~3A58h5yŰ#v;(AQk^.9Z,'5_5#zaVGd sV8)ϕ;\dD)<:>:?9J;XIZ9qR`>+_S&Ow"9/M%gce޾pA y9(;ǹMr?Kl6Z D0 l L2R <ۄ H[51\M #ӄa.kŚTyZP)@wyJTFW[n]At2z},tŷIU#heMc]d?oFܣv%t\JP J2x֒Q5g^;H6WbjeY;T≀|WE&{8v)8M_;+uP'Xe/C@e. zyzn撳߶('̂J(%:#nR#eV<+k Yå>3;u82F1'7Dת:[ r$6VVm$imuHKqJR ?Wwr(\VB99CԠehwȱ~^Rif?ݱNX4Tc>r1S-yWk UYl"F2Gfc0j Ng(p6?$_8?7g7 u)?Ʒ3^)\FwwPB @7dwnCrEOhEɫy*d.2Vɯ߳]7l }⻶҅'Y-@'WZSI 0nopK~Q;*z~]c魡g>K 3%/8)L#dX!q6ݥasʹϗdlkfߍI6"+%xx05P,P# SSЦ`! H?Z=GC[Mg&>9t9 2hÌ(fN+#YdB%*7Ο짎Y< CdC770oԤR>iviUwbfUcn "ep(m!Gh );#je',ؐrD?]5zF˧ vLE_p3֟i߸VIh:hѽ}VrSW5p(C5LˎRU0g($+Qx슡<]TZt# B Tל&GMݳH4.)hOˆRyxRX.b"b7E#UF^FqPbBl=h>8s{R怏-p=C&dj?]?B|MOL\?MLfӤ׭&=;d3_ c`;J1Ic`= )v/]ƙ*Zh>)Ѷ Jc8o"9ȏZ11vxdQ,i LIRr"=(q3”A[7v*f"1Ar'q\cݓZW9(Dk:G^?[<#ט<Ζ{ "sҘg36QOFp]q#P{PXג.Ծ(E#HQZ<<f=Fg+;JW*c[8|㮮J'n XހjpHpgbT/80Yh X zCq5w+I ♔Q^vڵyFw> !u3Bx#Zg=Qy8UP1;ZH,>0eaN~[Os%Xib}:J'Jmw껤ΝYu 9~6u@r-X栰-FZ]НP+z!dh..i|puOS?4݋?\ݍמkҡb5(@TV'w$h"5L(YPXgj$"ьI6 Q!1|Ri8 '7zHgzEc"tJKIIyK0xVxU 2O-w`/qM Si-Zݏs?`ɻ|86mi !Ϻ6X!?hĬذY)qNmpl!]~p 5ɏi,LkN_mvPc]CcUW89U.D)S}1f1D-O:cnmlOWDj*5߫xdIqLa҅32;-[t+?4X:E Z3miߙy>_o3kX\B5" (S'ª!)BlT;H_ESIdIef)G)>mSy {52p 畬r8 s8$Un,*p7G9Rl^H8;O,QUsl֚Jf) _qHh DEķ%[?)x̭u[tTfOp]OC.G;yCNSz';wZ F֖c/W(9e&`22]t|JeŋndH[>+즤 P[;˭qx f"9f?jɬyĄuЁc6jplg]K`&evʦV4(Z]@yLoeEx6ǔ!~"m ) e;+ h;glgB1< bÔX :`1'֟5xvX }?cA~S'x2RS6Suؾ[H[a 3ލ9ȸ\ِݼE50`x`@S^8Ԙ"ƨ3ƾ7Q` N.k\ad<]UVc>m3uyIyOs-dr> %V7yc FMKUMM.p;1Y[Iah妑q!/y#p:F-C"Df&c8{>XQk>ZЀt*+\iT9̖ˡzhbxb{7;XZ`{ߪQΐBwVy "j߁He4.J724Ja_K\4f1[[hHU"\Fܬ^i;E3|u~)hV#pڑ䪽kh@! C Q6Zdą`BW0N,ew!d jeH6*HI7ɹ 5>"mEEX(tN~gD.`LP@#` tZ9ޞNsxp, 0Vn`a%W-U)'35~ۙˮ@U}w?/+uBNv -BjvQܹ,N%k0cW@ipuw~=JƁ6nՀr8k#bJ~GPBcAU1(cG=k5>Lfn$hoe 2n6s^%mfihJ;!Xl-řϡ?o[,C+B)"SvMirR] bG}LwPa֋8s9-@q~Tg $1_ ;jhT6uߛr"}`s vY V6! ~8Fpؕag=D9X**z9 4X.eYx:CpV^aPE,;`-.c[+ğ@2jy0؞_ֲfX/h"c5?#S(ћ-2SK R: TvV8R ͥ 0*4kX5u~мŗuw4ka\c887rm,(ʏs1$ +թt+u@lj{ۢ>H˨!_4%ߩ$ƒWܓ4XrrCCfx3:$R 22Mt7`28I h^2t^{*{-F.<'ROSjYB #W5; 1FZ ,$Wڥ39$eq6I-OA.ǫ&ǗRi)4aA W$$G7|L;P%%o :Poy韼P~2kmܪagD R{ Z wjdqV6 ]TVCJW~l#qbǯãi+.f34f ⏅`*]KOqMLs6UtjbP"\bWFF`| 70s_W4~6^nڴB۵!su!Z%cKlirʞDʍ-^([@&d+W,1aMgF&=rWV_ N9=Um2 ÷1 p/=C^7\6t7 c B|X9t){!B\fIοMclEgޡ:u?&Vr˰<_ͮxr#l\QF5F2:;(~cpR Ut|ͪ՘ ݺ_$ﵥnjG> n][,Na2ek^%D_!?j8qK ~|S;S\~;r^bt4&+ gt^mAƛg!)zG w9 w4>f 0wsv +0F.2:DʧJ<',3kŏi G 'S^z:B,I{I4"U ?RrCSL;Z<8v?np59Ja(;‹.25$!d!1#_xP3}ch+UꌳTy 3IXpIo|?""޳d_)7 $C\AÏiF<6_Qhix%@qrPdgౌ ZQ$ Zj$xL ƛ/ P\UP3ګ A(sw&RCXTe'.)Tc6YG799ف$ho ?|yak VdV *)fn6T7+$L{*{Dm)Nzp4^Z Dfݽr Ky bX*P==4N)U&#%X0l#Fm0mH"dZ")3l;sR5D utr09*MM, ҳuޕדˠf<|2Uz-R8i,?lɔ㇋pIF[o=0Iu2<@h fx4Ӛokp f~ԸM5n.rƍ%.uϏ!`Q"V)xt5 w+%: TlfU LoAM*Y-,8Uy` Ms^T:( *-7s|ou!xm j\lz9}pɋa+Z晳֩Ae2FɊԁA^? --Zdz 40ÅoWaY,ߠl C^?{s]1a.<ݼaLG6j $d[=;̯3b%@E×2},;28H)%|s|;jGf̬C<~ E"v+aȭ3~ث. bSJ'ݡrkТuU*Y<80{W.;]S/gJ8jqׯT׿5ze =*<.(7J0:&}▵E#z!z`[Ou%{jD=}"0 #xj"} LZW S9ppu6cMy b6-2m٣f)Z=\pKxX=,Z>."顢N-r? 10F;]s%xAumcʣiY d%NzdTY\&BU .:pcb7QC5oѦ!+:=CO=ɩ|X3! Br8GE6"y @I,$-y&G~%px[snX:Sb F5`ʼ|L"CDPdL+ ؓ %,.홞3Ssv`9s)k]P̎W^IU^1T ߃imk?4.)X)%6a`/#b{k8du~  PWR >VG-l99hV5$6pb,lJH+ HNW>Gw#cۣD`CuCգk3T3? Ć0k(jk%&>ТS[4Ha]T<4i_ Џ=@Z<1D;0:?]ZUw;ΌLwߒ&t.!"xnYDKI%ԃ/yi^:35P6A a9:Kh`XF[oLX4bNZJ uoР_iwP"B iX_A8Z=AתԄdY  %g'h)ybXY7B7n)HTlVwsS䂹-[r_YKS~]v< @gb%tE EOŋ/_F12 Zj'!}ҋl&^51NcdKmdRm?R1޳ђXTnfPh$Q 'WcM*""JsjRce/2$QD|%q:2%W&o# 2/1v:w&g)yy]ksυK%+zMme& 4Z &0)Գ]/g6?"/oʤ)COTJ#L5؍F9QOND<=q=6˛jPrb9.{qO7b9LJ\ʼnpd C+y5ޞ-, ec]@.h=p*>]Vo4CuG1{Mɔ [`RIs2}>OV~ 4jkv(j}A+zuRœ+\7wea ٧oI|lsPk'4ԈSrrE 綊3 ډaSD\q}$f:{7;k?a,l~<;D uLO<wט n_#LqUQz]GVf!qQwi)Y2N}y`MʁxEi_UzТ--[Ym8y1AtlQry) ƾ4Qڼxv5&{ɊQ]f@k-C?KS)HhoIP1q@>z+kjh$edeJ~OPE)7d1ȫ?8-yC9tJ$0GSӄE5B|+MAAk:wBqS.zXp5WtAoeNHA\9n7-Ll tτpDצf kl٨jVOv]4]eکjPlWWƺ1a PC|9\?kCE=,SF${=@[H.C rh?)$Wt@(R+[gi͂SvqչlH{]&5?F C?ƾ9yиS \xUx*ө Y K-,\pb=_R,dNCgf@uF-g^~6+&+Cd"械9CIGuud%.Pe HFww~ /96ѵ(I6RczaP_kP wbLSʸ%KC8t)Ҽq/&=)3P>sA G:3i)7`ii '%-z=;" 9 <'Cp{LX߫7Pߥ9B=#SҾ=|]U)_vzfb3Nm:9Up1%qיmk5d';. Ry@Ǐ@k܁J ,67!S1TGd~_Hk;uaFXswϚl#ZWa=$P:pA%Xr?(di s"j0)m%ё;|4%>lB9UY-Z1\#Ӏ-M"3@crOgv3ּᖯY)TUᦳQ 0W6=c%AL"wx0㬖^ r1n<.oC >p2<.H FKY^uiNV!u20ãu3R? ZcC^@m66!BY5rڧ{yoinAi-'2x`Zcb2Zق&ZYxYopDfU%d%;t$}-Jx  ]'1V|T.wPKkE\Xaj0e*7cD@i$Ek'"CYk'Yahb_sAOUbֽ sh}REOv/r=Re7CشSfE">1XgºE%nj 4Y$${MP(<|A-zYL|./hnV)j )pƝ|Vje\;OC ?[nvZE]KvOWAeihGaGUYdm"%+Lk@@vU*ŧ%SsE/_D qtO 4+aȪfb]5^bIsG|=Ջ/Ê:,ƈ&Fw&wQ(fW&!W|hW@"RS͕ǴTCU=ƥ  mO/)kNDPlq*nֵW91>z`TYd~N C@JF3h &;zZbcí_pXx<ƣKsXd7T{ R.xy^Hl**Ix S6 11Wª);`0PQ,&ZHwxmGN꣝>tk0k osAJ)Dz4a[.Z+ hHvEڄa¦=Kh9phD*j⚤C> ~ xbrI@,N. /B1Lbl ]ȋ@AVlR dY(\=ա׳1*eO;@2@qD_n7!v2mAA]\E+JE#:m%Sɋ`lZ~ vFKeR I9G拄1#^1)+IuFx>/h| .<۞Q<`l^=]zGdX͔j&*'EK{`oZ0lae U_rꎪ/Y^Qbf`Sc2 σ#ntqO|XEsql:& g)kyB}H$iΩB&+wB˦@*2BW;K]࠲~6%&'Y`ō2):X%Xc<}-/xV`j:1S d9ͦ3FL 5BP!wU#EՊ(1y"8iz $@9+)XCI_f<)p2F;8K@oNG!bX<;601qhSX9-y!^Ԩ)%ݏAFl\*'/0_G9NFd riv,ӱ@Z7D0V\̥۪8y9ykNGboOOt|'҆ 3nw=Ů0 i%v_t?(glïyAJ ꜳx'6]uyum?m!}IzsؼWf<6|Oە =g@P8ii+Y!#Ͷ(D)k*]i Q(N.,%] Pe.ď盌-j.<Ġ2SE 3"\]0b3= ;p%JA,tъİjYF|/d}c.O N+)Vu,hVʇ [*qSgtܧTi*/>$((϶$y YE60Cv5B4Zh. :|r;Jִ\4.o!h5qZd .B@_ws+mB ,G$;;hqN{XUV[ ;Ec7AՁ~0CW]3}6h0oo2U{Sn GBDc1L~!{7' =e)S8fĠ<Y#u:/,iC84Ż0 I.ZSy5Gbv>oh'6 8uc%#h  tD+H@${}D)#vwXA g+ cz>"lnM]e'h6]9C"(bdWpQR*4WNί_w "筎rSgЏq.P*F'd Lș d}̛]O'cx:bhAzSRְ) bLk)/&%KZ< K2d 723X] hcZy,_:: ' o0ǎM^W$zxVѽ+]g.g?㛙'1w`[qA`kLPwS1_;"*5pϿ A'3;yGZ0*K$zsqm> ?dFx5#R:t Ehz'/u炏gIș_O>aV<˦iWN]3j}TDTzW~zgŏ/Bwg^5҆oK}O;h pfiѤ eѸYdY[Cb|/3"fQb9fOP#n9 }6<#+!L9=mOh IܮX%fxg&׻iU\QRſpK鳍4bƬ~BnL?ҦQh04:U0me#N1[{_SC;* ;~UWcFqsSfy }q[ C,}! A)?eu:uI]! Dr<`܆rӱ⋶;cK0L)? i.ڻՂրշ "*hGe].yOY|HsdB3̋=1"+e;,v~Z|Lcp[XKxM0;HG*T47. I>a`-si,D?,r5TT_ T}6( d'00gK髊o)Ib8ᩌ[%{ n^Ӫ 4Y[zJi+ mh(| e޲+B})\욤Ek4\7V*NHt Z4榥S5uŜ$p.(Rc7>-s3/Z >1{#c9 w8Ǚt)mPd.W|N.C"0,v9(FdQ"%s?K4`9mHSAz>ߺDKSI=Am gYwp\ MHx;ȍ8F/S iy5,F;X-郏#LKkeK L>uK8Q'zRĒ0ݿBH:]|/o7=hxTH by,9b6Ͷf.й^'w90D59U:j]^Z?޵x+Ā&֤SDw]%$w!S CǢ tBוRَ$y 8`QWM4֔la O*UH"!;p EHC^:$%[*L뭇u6lf/myZPhz4׍>ٶ/AُVpV^ w[!mB6cQg酁#QKbBk*IYʟ,X--WkلAlS_ 7͝kx4]Zz!ON{hBZQ"4~|AuRWIA3̖KKMVg~(I+.յ,=լ&Q?8I$XwMwu6x*D}⅑*(5:Fp?9y-\(D2 \d&D٣+kzm! Nai%Vdba틨Ņ\$_C/.|fATK,~.F̏[9 41H{W[ݦm&y=(xa=a"1o3sh5aܥ:iiq4PQ-u7bsȚ+90c$L)pFV|NGPZ{~)F&Zg 7MZ:L(3I:|S8يSu%{٨[i<a3oyBe:}36|ohuh#kʪ*Ίt_wҖY0@ZyA%}9`YnX QfS9A;7B5M7rUW0#z6dAu2FV7?)$a~)v 9@i^BN-(,ƻM3ݿ[k@ܭE=#+//xh)hʠew{.DlN&.>}?eDE'm-1";fG_Do|@A.bܲ|LS^x6BH;TOWEs ܲa[B}&W?F qчYy3/ XQ۷ \s*KT%"]GmiG7:&t8qZ4޴\ɩ4!'OvLw !"ulVChx5jlI6j;jr#2 hStv~j7ڧ\ F=3;fuA9L*NT `i@SْU"'4%HZМ?ΕviB'1nGݏp) D:FjTA?qj[:h%],K6y-y#~hX]ۨ~#f(s`:XleOu(x]YKOm4=<:m>Aw_n&r}+$J8}VgذUY))/~#"pZF9&`G6%@th yUR0o٨Kp˟;3Fۈdwzri T|:7[u"]){mr^UG N/#ЎT'JtvpiCd~l3oUoZtŹ\ژ[MCqT:xL{~76)s Wlk_\*ny쁅9$"}w ͎5Bڧq,Y @9{,-|vWѯ`SOS_ p .cBׁORJi<9حLEQ*{(+Zz7캚/=N.੹(tEckS9= LD˸fhwY,!pnƱ1aڅeA`}|VA`gg5fVz̲pcab~㕂VțيO16'CNj$OF­\Ȃ!VUɸMY,yM.,~7_c85,JMó2pRbXBʍ݄J3=;`<.Cl?|3w Nx/ڕЅѦG7gr ,6p$- p|>S , Y70gF" gL) L0q| 4Qm\58 ~3oR-A K4qw43)ԠYJHa g"E_C# epKBH(z&F }붚*ӴspO <HW6PW, xAM9`95x+GXѳV\Qo̊s'CE=0U*{µ M: M$>*Bhf܊f*,m9Qr?ҕ_7׏|%IcP[+ C 4 xG;e ]EVU 1kRry {i%SN>K{dHAϛm۠;^nqE=YAio!1/? 6=)gVe!z/Si{m [==|5@ʎ ng F.ku˖y6VDg25zUӬ062^Ѧ6'lvƆ{;gPF 5#E\|w^D[PW; KqΗm\sG沣kֱ3c[j + }G9¹T=jQqWpMr.K{PغƇ6l#Vj+$βߐKc b23[RQ~7gAV" hK1>yK7*U̐$bZL#`ߦL70Hڄ{TTBo?O^ {;O(‹2E~o  =vv}a@Hߣ12ÄmW_ŠYv :>_zN߂Ctأ=fnoӄbP#9ēxV˺gDg)Iv,{gź\g 5]E9F64/Bn(&e%&*(opA ?&ե-VBʕ!&đufyLTV@yynv|plK; M gʢJMCVK-d55N>.5 q!UK$Rdd:H<ɱԵRKaӽt Db fLFB`Nf< һBO_ w.xX\|u3a\#p"MlزyyȣI[8yts6v6ڕy.T<4`7b!2&/]oB;E/>]qsulK9}H;!""Ww{wSF q=Ck"ZOR'Cre[{_Ataoß1D笑TrW0q5l^L.xZs, /ʴ3Z ɖ068Rnzt.0Xvfyd"ȽS9B PA-H0%P}J^V{$穻7Fg#_RBz^Г> 0 ̴ODV#zQ eJ T6-BƥPJѩ6}@aڙy0HsG4C7⩣%mqapPɰ;?&R t@݂4U(j哱/!#VdΦ !kj'<(MTEmУ\AjgFG=Z9Ա"Khɬхڹ :YY6d_Fin10JPCXGe>mƄ\+!3lZFY2 Lݍ>Kqu=mq3bpRZP7nv)f.)|,P,.+TlK?rϴ.&D~|qzHhpC/ Yu )<"g^%(Xp |n Q:gБpEv YK)vC[=$u¼aڃ YhCY҇7D]wxvI`Df-/r"BU*xᒉS\]C&9xhJsVPNciYS͍ }GjB O%_fRP`FQ^ QRW9Γ-k @yCImBo:@tBi"Yj|xϨHZRC4>XZzBC#$Ki4\¸fo+3;K6(Oo :AbwVmm㶦s5:X]ɒO8a_ɣ\ U+ :?7PfF⠮eFVr%G#/4qz$7~UG he^1]'\TՀm(!Y_l;^Į4E.:jinΪ@:4`¹':Aw@7ޘMR(U*o7s0=+ڝwECQ9 7HH8_0i'9br罏sپPu!H zžz 5 (쨜bd|zYi n"ڐGwb3WLzfF:.ϭ[\jXN} T1cL݈eh;?\cşXh)0Yr$bm1SL0itX \Uw0i<*ř,Jd^v1܄]\ޚr!tGL x8f5c#0Y@ [5ㆄJvdV `: S->vbj TTۣb uđTb[ 6X-tjdȦ !J(U]hH"Oj<\`[­S4 Cy3hbsS7נ] ‡T9ϯFBUaS u$` UO4۪|r=x7¼\VvtuH\DtOeZ =8'mP0daژÌB ISX*=#Jϩ#cY΋'f*8Ȁ1,2o"[m0 sYhXa]lYyXpt_}_w#*B&ZX7S`w@ -nH;IjF\&:V1\] %?!RTNϽQB`I&&uOT!] o1C0R8;^@v3*BE7%M$Y?׮*lV5Al m#59xҠ ( UZDoEt R3ξqD9}>G m-] X)YcE3mJc'=v{1'w5 z}*JJerB_M&lXՓOI$/#[fz _ij d.smӲ"hj:z_44e6rEoV} >0Ea Lb@j5]".~8"O]酒ҒUT6:r%r8_9Euf$_Z`b̦ț&l?,~I,R~1~i;\ăM6^:2US+#6>9T)QU"nhOw]Ӏ؊Pxw 􁪤˔m) H7UXP~a *?iPJ~}3k᧋aH6]ThAoBkUӒ~#,j&0ư^ M$Y57m,})BJ'ww}5d w]!4M~;QT U*\VAmxHˤ |%H2$V\l(hk M蚓?ƑVLo-s#Q~tq|?r+F`ғzѾ;c̚-FIğqtCLpܹʪ9jPKPEqO>i'BOhg; aL\ +1=ɖeYɪ^ c3E`z k!eZ\Bir/nz 'f.:w5e~2Y%ߍ,wkF?{PMY]뮜i}gq TAu!7I(cʾg!=[#究ĵ"FwyFavpFtaal\Qa+8ưJ=" aGJh)2' U셲H}XG*neE4tP 9xvE2<_iusU'V<Y5Q4A07X*m'vx8 .: AXzoa&Q-7U" jAݝ[K*g@0ݻٿ?a$٢ka?-Xq:(aI y)Q-?qR֟%8QfS<'* ll,.^d|c~2jF*a2$`׆fjya|pcIe g58¤-t{ODK}h92)Y8Ok oIAAk\*-}/H 77+5wMd~aol}y}wѹgY)إ?E*p!=Y$!x߾ʗCVHB˃m㇄š]{~jN[G)ש֞TL{ƞIʃT,x(;:0[pQѼ28zUDd,`LɳMAi~7n<֠>py'F9roQp1o&?' .ym>0JQvfH&$@WG"6wyj$vIIzS0ιD0aVJѧDUYLvş@>;:/Oby`p.BX`YǞdV3EB'` OI["muw[uH!SY~#>\-/#;0J?s-X`W)xQ_ *N &N&,)$ rGd @ꍟA6HrbS޶wӜ5O:6L|E;Uqq #:h22|go(^j\'ƒa7ͨ*\f?MΝĒ`-L̐_Jh({kYҠOG0ȘB[kQ\7Umy&?0GUwؔ7|'_'4ָg!ϙZ˷!*bhlۋ@wfl1t1uAnL%sO .חxb>/WiezP`bEkAnBEd2r=tޛW`nϣUЏQhXA]29cb6$X[/IF4̌Xo:sO-"~.D>!~ iҌJvƙMv{ZlĒG5UA&^գ6hvnđӺkJ3n}^ZcB I愿:Q0 6EyGL2)&?\f3* +/EO֪o\+w=)yh;upr7Sc? #w/o% ۩=d9)-\ 4 u8(KEOXrg ~(;,JyDһXyf>g{oHbz]IqtϧSL( T>@nNzQҮtW1x?,y[e7 j\/⋈du ]R #o^BRZ| Uz$% 5B)ߐ%%i2"wQ/aݞW`߾ ->uiuk1X%G⟭3ajamIDqt쪞>._8^.v[vwM! o]:"NI ^h } yR}1, 2{U2$uV:`4v! `=m!#J4YxIKlYML]m[oY 5" H j A]:X[&NG˶Q*z&Kͯ_wVQZC vkx"0% 7. a &f_i$` R—jW?N4ANv1%91m3TdV <\4Nڽ`S?cQ?gl4Ǩ_IwSO9~S4ն^7$$6tb1!JPo҇GJ3);?AX`&Mn4aeGu)H*^ \3߆.#(; W!vOO=»;u)O <1P- A\'k~!E+[ĝVlBf@U;$X-]!璁s-mA/]\u0@`pQeݏ\~ q/Ͼ Q9ɛ hkŦ}Jȼ%d44rMQExl(rf<"*䋥+V$|p;iۈ` QACe}b.26~k} pP׌c E AQvkdqpQֱW?tPu4HzJRGoc,쯨/wi?UFfWO [OW;jL`+%=$H mM C|J.o71{c“Tƒ`GN%^ t^^й1ĩ:OM0>jij{!/='fO,&qlCfj8(o12$mYCy+"(Ot#"mobm@udփP|*c7lh^qkQՈMFzo, ga֤SEPQ"#lNiӨrD '] 񦏡vK3AR?q߯z.Ț<<yyg%$„~5z}e[󫑕sƬnG2k>:MYz( `w{ƖnWxql;^W+x,djM~`Z30~,8Nqy!1iRgyH:=$k=dΕY)r C.?_ .pqfYY`Џ.?&,`ހxrao[=UyPݮde;kLrb//(_^YV% e`+iTJ'X7kOUYخxGכ?zgiH_5!Νѐj?nclq4xC46j@t TUF6ܦ Wg-0;6{q]4}IMY[>[-2ҁRh@$ާmOa9R~Gл`?[GƖm;D)Woa%'5 cyÂr0}6S5zJ41bN]hopJ*N5!M?>_ m50Ohsf{LۓR86&\Y ݄6MuzG!tOnwAr o2|7FbJxMN }SLZ8̷D >$fBqcG`%Hѱ\8*^1բ&Εk_$-#>JN$,F[wΘXkE~H G}m~m,L%ۙ:GSXO'aؔ`&]JIK p_f{v~x,lRsLCj`1@Q>I J*hdj"x6a5$21Sg6YBW %<#SyƆ>Kb1 I BKRr<9VjΑR`K'AUj ZȰLD?9uDh}j7HM @m:QJuZRϤpZCrV5Mb{ܳ6Шn|&#S9*zx6V1{ٜ8< yq(D:NL[N h.ݿayv@[~pV|6pQ$fрizO $x}j1G G*.mnpP9k=81dxɚ Jz)NW0qt __?d;7j8f>+;ތ?J>5 'ʗp MǰZLM r|l]xY'.'om[ C@l\q{7`2 2d4Wۍ>0E ͧt$Yxy,nv "M,f`o}>n"s!\F+ZvpVxd[!%Lب5t-,v'+c݄ٸHvR(']*Ϛ+O\%0W(;u_&@hZ^v|`;A}h5 XV_Cwi Mbs}Q:z(lzx%%m踼rڼi#ixb24{Hp;1|Cp^WVoe^V<#pg2G3k|ZgVq#UvMPf'O!蕅a_˃j̈́ij3x1-> ὴoZ\JɍPY\Bںt *G9 >uq`q049 9мt^*tXL\&mEg%w5 uMN8l3;;NI0{ǔȶPxa^9D ӂ,w\yZxESimVTt?]V6sR }I_EY]k\E@Ѫl\H1mu@,fl;yBv,R9 5jj$] Қu/Iȣho*[l9=(N> K\s5VY {-X ~9lQ(B*[Q{Z6O qLDX֮u5V?Ax d\[a$Ԓ&,]ifyi%Lߔ(Li|p~mשc {$BYρU5Ş zZlBdL-Z'=akmޡƘ^]}4<̼*i_}58?4~=/I륯˶2߁Hnn)9]]Cž݄́H뱱SGs3D> )BY暵;<c=C=Pp8ЂP!-`э4MȨ50qRju#@lfKVnmIw`HpLM)M.wtL콟@=l!_0"ͪ~Ҡo GiR+ꔷN^0s a ~7@N{weN\MѓN&|sB!QYu2ruOs0œT^\@s#=o.0g)e*&7՛Tb.m{ȣ/q,n5=eQkEEVTڋ7O4֫h4(qlx!D| a \&tUS},o 0Q0\`$GajcQ}AIC;K7>\<rOJY _n<._ ~-tiΈR:BU7o33űrU@ˁ;JɫnY]މ4aЩ O(^J! V`9P;n?@6 kC(/ GkN&6[$rDX^MlpƑ^f7b[oBj?YXS*zt ͅY581vմhz5A@}nDn \ ^_5(;=4]P#̗ aL"UX6>UdLYJp: !mj8%ABU`? t4sDM(/aT*Ƴ[/Zu" IJЛR}v.OI/8Re9'ME(,J؟b,֐B{M|&0gTwĞæNCr{|`OHhz{s!E]W_OD<>@}s 2.12h[׵_מi>.p7*[2.Tq*[̛n̒m"q=T'j80&ra*/u-VkC `.ɲGniHvyœ2'7_{dMsk퇃P/!vYsHpFwSp|\M dcKF3š(/6\ʹ>#2U48X 9 8̠՝F^Ze6 ʈ . =q[4^xiسy{|@Jʠ֞%#ڳa+e1uv qH3 x`o+* pqaȅ9Zu~riv6#. ĒyH擈IFW}!؁m*N"N N0' ? \=9 p:ƍPBʪprwˏqF׿ImAO"zW[d44efs+RZIr`A}fH$W ˴gu!P0澻(InqGUG,{TJy"6|趆gv){@2s^8eyꐄK&=;AU`0b[xtiZ} Wdq*]gfoOжjh(7xavu`Ԉ܏WiET kcļ)2$iMyT> ް?\~/!3>=h%*Iv0=z{ʃ v[ɽW^9{R@J8S'];?wezD   {: zVǹGQK y>![A"B&\95aE! C@|jK^܏`li>(:i^Q`˵+"'k@BCY!(rXe\ 3iw1Ho眖&DҼ$6sx u U`%N惲W݉͢ϯJ4sE}QW`2SrHkVŸ|Y/fRbv7]L%W*FUn*Q4?_ x^禈, ĭKPO9a`;̽,ɦEBb\9yʪW@ q]m*o7,\Rʲ }e@¨<ܤbԊhvtIQfebƮ'-6/IH RPes&"T)q1#ɹbqH9lU'/ JqR5h*l>=6]+Sll/ƩHH؈RBb kn`+ Y/0ϱۼ~M3oQlU;e~.^,&s."+y>?ieY,׫rAD c,qʒJɰMϺґo%fP*[%61:Iߨ'!}bOC֋Y d9 2iP3#o3u(%hQ'\:MYN6/i兽cM}@F%A#kT8ՐEWDG)Y%O㢿Ie %oCq((O3~ц=4Bs=ݰ?qL!s'OA~ᬼay\7b"ɍ׸Hh|ȕjD9Rg"f}7ݓkD|.d@$fVIV 7_t{Ӏ2ZN<,&F)'Jn]*"]ƹd#ڄtHnw@?C)3J QU̐zinRڋ7Hz~ ȞA!ELs(Q&g?YoxVB\Dae/g&hZkU z#Qeַف/fmÁLzUd+Q\+qt15ObPWbH#)3UC Nl" 4`=%d ЬQwc"o:`R1@{?\٤YAy˫4 >XZ"q'D/ lQ\X-!6^O'ŧ~G̴Q'D'_݌نZ[72נQz1Щ+tB0n:R(8?;ގ[= %Ņ1uHK8P8R -NFtH@u 5 ?\mИCŹFQ&w+![~:Qx OrKX"M:(ٗpX~.S!@ ebp׷%4$ڇ[s %.r Ko?:1˗xzïV{n^}."9ȵDFyg 0c!ed|Jf=NA}8ZV2uV=i(ܣrg)>Yc;!WsF$yhUDΧ*4Υ`ܴ;CZ6E![irs?K r$36!ؘvj8ө͑6('qe.^ocBV[7yOܶ}ЬAN(xJLP]CIkdZ^kʳM?t\62+Ou @ ̼J+%fچf CRkwAP &da]g"{9D# ɔ3Xׄ[2ҁz4S)dfK&i :N'ϫcL Cy9\~# eMA  SŢ$F(*9"uѳ)ǵ|onxХб[d'6Ldy&I<eL;鍑zyKG#mxG\g]>,o`֐!ˆe^˳4 @XI?Z i6v(]/=4d G! t;BupMZ̈=`4REP Hr ,AޘF?9er/;OFO!KfrofȌ|]x%UnbBE{ھSJԢiȻz0E9/IG.{-AqiD73m =|صS|zI핔ogF&Qޣ ["_Mwi#v*1S]}QYÊ@K^e w1zv!ܻbw6^ i$L}ԦeѴx̎h4(+hiVmz- LgCUe|'/>Zh:ׁLX `!2π7pqX&vyjhԼZ&(۸n?V+{t(U &hPn8Pi"to\I6W]F߽&߆I -ܞZw@T/!ģC݋jkgIE; <_8р[ϩ72LyJ>..qEX^j= =]hwanvGMQ}(wVtRosE_$1P[!$i*ybV r4Ek 4-S)1&ew6(KQҁ06 `OJuJ.-;iS$!0_j2L'7SfU%ᑌ$UP;I湦yP˭ĥUz$76XAbi%kЛt0z+v6F )NP!p&KTAfJiu +8X4r驏9;:cVƭ w yHE3㶩f娷Y{%RHHh{D&t%BU~]Y cY Dz8]@Eʐ/4[3`%e-fZt蚈yzn ?QXM7}']ULh@L\PDp@4k+u;=w bB~8obG8]NU T| g&ðY@ IŒ-g$Lm`yAjc DYC2VNoH7QwKP?$s1DIBD*uJDC[?Zh=o;Q߷h$8-r0ɂ$N1-fp/ce88% Џ?Ԭj~*QXwn#V }7S3Q6{:]Fd|yVU]aΰIXl1K22'M,iޚ[. u3iKqb>@v#pt|='/z&yv&'(F [kT-Sbiv#%kufτ rW#3NX[/`h{~3ٴNdQ=iu2דzxj mdMn|j٤-+ea'd=^F>3s'T0Q,}J6'W^4\|%%IzNE_b1鼪T~ShģhWnw@]L5+K e礟s].Ox9SƮxs=_P~J- p* /Z9ctQ xP~7⼥|z 8>}`;>؈o1G{,5}m,@>u|-L6Й'odeV$}1s/ǷVz,f)2֘P"~euW$z)`l[` AA?O\3p 3kN֝m7<c#cԛce_8/[mG鯝 x%qcs߷A+SלeQ }$0ku+#9T2=|\NŻ ?MQsWa{,#g_e1 N$ WWP&/j׍2;,{JSex8߼$*s岈 ߗ9+(#b{3EbO#f 9m,5UI1qq72 db =/O(UT"q UNѸ#ATQPi^0r9gfd(k8ז:M3K'H)XY1+k'VƲ!+Je'D9ٙ 3,f w5iDGZ38`%WW7O}!Gfx6*J[<, b@xI |\'aai"}_'+ArxU9:vA@6)y1~7ϑ΅Ll]<ht5)@8 liuDׇb1-:cG7 ֨ն!Yiʮ|˅߱xs/EĜ<]2TV藨;VnܴJG%+cog^# .$xo q{{l5pWɐ-ZjĥKI60S'px!coBll"YnԼ;A̯Lm A`f)t&aIƪK} a4MADإ~IJLê[>5yR#pF 3,aMː\}k$AgKI7`H|]ns7P1 bAUf`wWկvɄ.+I~%)S3Fv|x{+*Je=չ TLOHѶx$5$fq}+fRKݎ Zr).N0F$,f>V0B0&x1$Kb"#u:_.O[ fX,XZ\āKIJN_]Q=EXɞYJ[*];J7 mX{t}J_ 'ÖV,wÿ;#_]j1pҐVw v4#{N=-~h:.͙Q j3| FwCxRPv"]yx$~ V䱫6,攳Fa8adٚ/eseAFkhA߷*8%h;]#mn)bXI].g?K#),RTD=JEu$Q*9[f׸]Ej߇ֶ: 7L#6=Fw[^B-"n>#m+lAYK7Zߦ+n^>fwd`TV?7x[,ߺ}`FWŸښz6lg7M97wfSZp" q:4G<1#+I{<K3[?p$4cN qqG A߼%͒95̎fsKytCńgތkx6OW0a#ʐ~-׺"4 X^S#Ϯ `<G':[?n۷S%qϏO}5 Z q~/Gc|.nyVE*{m vKA*4*@dxLcJRӫ(jstt%Q#Pܔ q 51;{-|.*h![*)P\-I#,} W:SLnƔm>⽼|R_Z_XXOWڈՎ AUL SY'*DuEt"`鑬%9>ab)z^@PMo]w)Zkur(IWyE'Mca{RPqsAk~uStav9$>M{n)WȫWf>@⼨Qs`i]?b1fLQ9 ~>Zz՘Aͱ sUO8@q <ƒ} D~̴]&q+r1 |^Ӫ$`̟wCm exI!7}Қ-YX38$JB6exO+vTaZ'edSv:KfABʅlB[;K>Rƀ+{:|MMG^|IFˁ}<ն/n=b`HL*y)! 2ip>(ۧyRRKu7iJiʟ!&g'Ztlax(ߞ i~W]̌@ړּN^J׾@(A~6"yKʢaA}iJ4'S-hUnO#V}Beߣ < Crk~:{6{PV5/[pvb%w}dj7qd6=+]Ki` 1<ؠ0$Xz^Ֆ ayy297^Y}f\|@p]P0DrOJ+=GID[xgz d[1L'QsP})v/-iwK)l(FPfk ZH%BKP+E]s)X!` x^@/c 5xqz d)rց-uCE#=E'E8.?@pG~AGqu>fOODi]H9`7أ&<*iuiRdȏUKb,)wVQ nDP<.ı,n ݄vF*%CS]]RDGW27 AĬ0uE)UN>MQ ?7OMoAU3>Pߝ:-rSm;4']tQW\ɫDq0=V2m_̴fӳC:kG;KnB2ӥ^O @~Y4㚞fԂVJ 5,[VGدGODg"T)xÉSshf'7{oC( \izQ$k/-U;Q)EC߈YIr֎zQq$(k3KΒs1wT^ciOpz1p\2X%ti߇"\_$=6#cҡKz  ΈhOFq;'E~(՗\ IhlpG!'r I@.Z2"6 y&.P@%dDRAMuV\Œ zV0S9PNL-O]`H&9v R*Ⱥ<<襍'zO}).}RB,aJ }'gNry1w~!r׺ ILX6,`Va-Z[h%x^cP ̒~at<%m9YxdI4-"Bw|1k?SYk&y4򾛫ھ3 ,X-1FL̿pY<8*bat$^~WXfRl-(FGtf%щX;%Y)o)fST럟f:aC&벋umD}uk D5MoD +RMืma Q1kOp#2i^Y1U_cΛ#з^[3F47uG.q[82KaxY(B8}N>Ť3 4DKs'/Ba=T0nfRXkBLmGu wB.,Yv$΢05ku.FE6_&r:HOϥYM.='y;|Idy+֝IUd)x ҝ UGRB$Ri>/Z\λ4Np)vS, F[՛>BL AKE7Zړ$j{|&)r)n޽H8V reY3\*YN6 ~U;3B)'TeW4K,eyJ690؟FWB%<L_|Tr jq,ƍT(Y Η<|+iJ_bgJ;h5&ph'usU(k-n.fS\hQZ^ hg:+Fe\^z] ؋gOKIWLP,' Np򛴎v )+I]kt8Dh"X@ߊCԂzɯRP7z&ZQC [KGWӓ7f,Gjmmڗ+:YE⡤}4tË'@~!e~mbV>-W(Lk+~0KKu#`4Wd)sC7kM0@/n| ߱+BBqU0R\D(%=h5}h5 }n+10%) "svժ䄢b.z#Xa/}(W~]h.FFGYe%|Ə|tte}Aq}שܺC Z–][`$`sz"L5ҽoE4vn#NK^%_6Wͥ\Pzۋb+`Ht+ MX8K忑vBKO)pA?Mݒɫ MA|-KbڃզC7G10d ȂH*G**L^"f K Jm]7C yˉB:1wC4z w'Ar!᫁5RV9m5D`@Y^,J%(M2? ).I(cVu`A޷i-Cϲ\/2B^o@2ox\n9TolyzL7Ԁߴ^&DV (,3zH P7@$!ڍ52M 33:tTCNyu5r4'-/ uA=e؇![;ͷ>A] X5>m*Xi dH `n$0.ք;5 2hrD xbq׿S*ڑ0Bp; u=ZF5>6 ^8R2rKp$R `"j72KU(773o]3LQ>ݰJHYŻU[cXyX]wgx@"b;p*F儻 ; PaK,_G{aߟO_3qxkeɦNce V5:9#+WXX wc`j'Űn7iqx 0ŵP?O Vo!"of+} :|<%45 QRyVH(P+kT̐5:RSwʪlܢoPwgdO<^o៱LSdZ8DjzK(hFBSQ+ f0]Õ2>mT%tKOmghXK.8J>C$69>~J&1Ty?KYt g q(STOoJOM^"W4Y`J%4:N?Rz5|Az]|T9h;Ǹ lf)c4I-Ќu9S0yyglCS7ۣH'B0;= hs"Z[8 sCa/ "[S  eX L-g?X=LH9Mj^uupz -ya0ÆOc!ۼq[xё_b2,PPЪ_E6?w PyAM _߻ֲPBUc}z+iJnbrVQisd({LIqEO v2 y/)QdqykQ*@g (mэfP)uȱ5yɩ/p<`xyz[ ;} 2 ܟy.d5 vv<: ;;Î F% F ZtuL4h-IA&Y_2Xd~ .+U5Of65ݷ۰%i  .jsǴV8VVGrke4d=P}X. B9D.ŤS54},r-3q,d /ތ~s[]Op-i(:-tÛ4uUkN0Z_g9ut!,2 P_g'3坐Vu.&z/-:P<{w:J+Cbx=rdJ/FeS7Lb\rvP%;$Փſ_~/*IAKRqgaǠK\N>2aW'2lr8LK{W93Z(Z[!6X{,^?aA ㉁/)$5yT۽g"Xm'ĭTi!`(m>:p%@:eD"qc*J2 EA+cTpC8O!zx1וC2V(m*C]7h>kgy kғ։ijQ*ί9c]"bW4P@V=KkC#l[#&M!Jf|7ƊfD{ /gZGLq)}5 @ ȝ~ٽrNaC/y~On& <nk9 |DILQJHjqfnkY b*.Y5w[YpqׄIԓ9kw]ҍɂtTgG]#}X1q .shĆ :%&2qJV(O݋@p(/E$ZT-ȕdsp@z=~ufJ0/!PrM$0|aqf}Y4RBl+BUME}߯~Qq/3PG]^w\D%.:UA&I.2ٷު֔ؔJjc 0u\g NY`fpo*İR\1T#<^LoW2A!u%8`_)(P!u0 `Nջ/A#S.PU BH"wTZ2O#88n!{8K\;tJh:O!{5KnשZɲHȼE<Ae\!#=:]vo]%M {`ҙڛP֞ *0r0`qVav&ʒNCvJZ/ff~ "v>Oea3|]S+Vͻhf׺n`}Q~ Daw6"ӓZ!܊/fhHIo%_9K\㻑{&<roT:B ec8r"F~KwQ O=WX}lk(G(xfѲ4Ai' xVIC _Gj j^fojE,~[՚'gY0w7!-r#n@96HME"`(:jqhoK'/rD Z#=;XC)ݖ cB7{ CǸŖQIEkЩr3IÚ`wr1h{Ӏ)HЌ;2##TB˔y&O3 j[ ~\!hÕʲ2ϖrGkA6^Nibm4FD&O-Cp=YcςiLr :$?, xExjjTV.: 6Ji69IXqY3P#i 咝,t2FsΕo*+ LP4&Ut~lpsLM?by=T@[P[k>6F5*q֖#:7P ; >R%J_}bbӶv Óזvj䨙0ЫZ@}QeIw&ZC,vdL{P/HdD~yoa2R@^BWH|;2` H5ow}U8)ޮoW sB-.<>O9boc;nDn u:=B hMS!xyKk=[ĆүL\p()9̈"u(V*UWwf3S ffEA_^lђ M4s%=~zKV?!$ӊFtLked% Q0*=Ĥd$&jR!G[( QUOB<>5l`0r| Xr?l Vn_ k¶ gT?tIteqiS)D;q5 y `Yeaugf :(wەң|侦4y CnTʦkmy Z:dlƤ$v$.Ybϸ'^I;]qloR9~vc%.Ce+&G1T*k>_I =+=s$q#x@10Q&a;ß ?{S)YZyR)MPjzl?Moppp&8Ů:ŨXw`pnbAڕZM2![I_*1KMEt'61+ )HO1=o^#ۚX癒Oea4(nO]kK2:.b>Ӿ\h|[3 (6fb>K^ nSjtRY>.-&JT,p__ҟ>l-;3#a >FFn+}K-ǬnGLXq[uK ' (:G?ɏM2pO:aqL<8G[+AE9!YEh&k].:?7SRUOI ]?v~y<+̻'kGp-q0)P$0& !:x3 D,[Sdx#mOF+i~r ;ew]m[2قa\M43y*3ĊYTRMTC )u q,ځhDKzqT~DB0 ȸf _ILa679bR"\tT aUrLبiӘ-:cV| G9 "i+1h:%O?]w8걃:\^&>\}}2(\εi;mbQjqalXAژ@w[-m,~D{^W Juf6ފnl4푍a(ʊ\qL+xWkclrOG=qh5::^so2U"Oۥ# q3ʚDJ[ ڍ@QlY1yZ^=oBR*00U̽آYɳO(pgq ?LhU2W:thmd-yPx;+4N+6(M>`#_DZJUvP)>!ʗ==˜ZYtmh+kK2(% *ʽ7)b s>ZV{g=p4W կW'hpB7nޝRf/0׮LEiNCx部ž0 $Z4h|h4p:}iWrgO.ÊSӀ*aZ\{G5O-eEMx/F;岋o2`DS򜙳 T 4TR, M ůE0Ȝ͖'|U?`]P7 *U+0; +`Oqb^u$7 _I[Rvס.[Mn8lXe\LaTd#ZwrO\X׻iڣ|z. àGC‹/!G"uќ#-3E% ~zϋ#1$υ3QiT; d`l2ݵk#Pb7ϫ`T 𻙜8Av4W4Yl_v^ƬKEZ/"6Ei|0+P@R6DwA7'ŁJz;4Q4oH߹@ u׵]F)pKmAiBPiB,pw/6C9,HBa>yHVρ"C%?oYpC\\|U"YF:/֯slao(@t%d[m0WWW3ќpKBи 8Fg%A"ұ@o?a~eDjljQ{'-zrZoz6{ϰK<<JVlw$8/w0ƊP1`Y[O"gy:\)}I2~]PbC-4*]7$KK{g0J]H]yZfԏXz5ƞ\iӷ%'ZiX0i9wt}/{ qu+$PؓoMch:bYS"Zzқhѫg Z0Cn6++r]d3tLpc5|"i[[$G]E#wqqM]:8_9e`$3uNP[͠!iyyJ^C4m[Utl`&|;npz>a"8u\3a_`l{ v׭(f8/IJtI .?Zgw'o;Vup3 yvoy69x,*-U*B푁#ɑى#q`JHk \FO|],``ؠHqс"' feA=&!~1_] g>>NPQn0@:aiq\i!gĄP:Xb%Zp_4y[_Lov,nHVN*PBהa ߽ XkԣWR.:1%cs(ImdCLkLjdJd UPtuJL N/Ȑp趃΄'\gѩNՁhr @\zGGlqiFRΗtsz٩T% `ރ-28/ qCz4cπW6>ʩo0#Z_C. *泏ĸeSO5HōK?9f9rF;l=k{Md@sHƜiWȄPg_ӖHnЇ{w'qz Byw%1I/66;, *9S{ g^0Nz{Hl݋|H`PAO? W:teU8}Li5F2{yKAb$c8Jk$D7ph4OߛնزI14f;ЩkTP? A|Ӕ耼WvS9C&*G}(nv/ 9C8vtx=5!cuki&e;"\Ǚ"֦QIZO|Fd_HE$U?:~Thߩn5V`;6{'QK $AvϡGI$M/AUѥVb%:SC>_kqӀ4&(j GQd7=MwuPfDW6ƪŀ'^[ ˈLcߧo)ۉ̱20?x5X(3% V ()BcL!XI"CD{NϨ1ktRjJixAϞu?{Ҽv Fh|2 ]I$?2-}zJ#Ġ/`¢,Ǿa-vc;p.#pW@wQFu.t@.dIpFۭxGd>AZ d R6e 'zE E;(ƬdyC{N *KNe\Q)=sπWvXf3W˅\Vq"r]R >=?s` YH@Xx+̤]2/~s$uO^<"`#σls\sY׈v@H "O ƂzulkF'`G8nT;? Y8rb͙*ے0K~ FuIS,G d c/6Q-ۂ|T$-D\|3JX;ŬVS_'#D><71*nUU,=nQ}{~o0gj=KҐ'J.fuj?S?X!h m?b w7i3Kfu%MwvJ-Kn+++Sfà03F*Am/߉u+?tZX'5 Q[48ٮ7"l۵ $6) ^=sCv7QbxஆbTU)+@y7lӊԋsp1[e ^*y3)CL}H;* v|zތ ȗ ʱ4uG+x65z|+tL|Ep۵ǹ%SW!3uB:<1A.X0Sn_GU39͸sRX Gɬ%!XpT%^Qc;q49N9_X:Lw_qF=NL0KHʇANh$~@3G+[i9'BՊG l=m 1SW;9b4/i#C&|Bȃyf)$]H$6WJ1 W⒗mh~;b@cs!1L(K5^}yp]/ YD6?p3}[,\`wd [@할]mVO o셃mM5]-7@S{_cWfMTJj*Z[uiR< -?8u` |ti8)# gUBthk|<~:0}MׁʈHVqo{TNw7CH&E\ ;(\;TxnQaozAJ<䈆-,{ sGPM2u36 HЏ,]* Gݱ/ IZٶw s1o)GȩQ38?_ww$Fd\%b@oV̛c36S+xyȏugo'63(I3.6:1oL(`{EЮ!><ΖNc"׽V嵁Ya!< \|BYAzAֽnޒW yc0ʼ hRJ5Ƅnu YtdhOdb ?m :ӺdƩ7^a"[pY K!NVf;ot;ϓ2o^:+wE~RV}PS0Ah9/qjз)wzhA5CRb:OA "Iڐ)4ʟWinzƈt?mv(jѝ]>[ا"W9TNM=;׀ȉ9;اC-ס6)x@-}S1(q\%S[=)l%SQ∸2˓ mð-K,avHO˧Je)bͬ#MA hj4L@϶V#CfCS \4yۭaj"ςp׎ 7J)"e޳Q\l^B_?#-@߫4ԓ i~0*N(}*Js [+]@J]p0COUNE:fszt֒ : -7;0o&q X`d6J._{:q?!AJ!AWOY0 ;Jzl߲__2Ά,e(']dasyQ{[}]hR55kԛۦyJ>K6U}D4b4*k+ ]f:E!="_e7-Y|50`Qt8ƣ+j'Sl)- ˱L2Ԕl*qR 9xv6͎\q͋E@Rdf6Y=@WM<`v8l4)EMe[rrz/nGq\")5~J 0Pbd(4"n[FcMDŷ|x- 6<:7t4eWa{8+6A!Xb@6 Q-_=U:l9 l+,M<:hH0=TZјMDЗM=hla8jҦ'~37#ujk[F,ϝq!Tϲ Һ7qrR'%ø ԕoMǛ$~ 4zdRoWRd$W3iz9o~] T sɝ `p*HZ1a^ٱd{)n_z*9$ ϾB-}!_nMWtF`>㬝-Mϙ9H4eKa&IĹJ~>7I`H}M–urpvٶ \ tl(\/3՘\aPjyMєX0Lm0O'pƈj} ]<ċ{:Xn\rS@/RS5ejqJt춞=bFEj@iexm)Y<:WT {4ƀ m'w9 $ qz,V ?Y2~pknSƸgqqc1+;g%-ƍ$Kٗ/w^f84><{Qq!*bCE}öH"#8w0o'g- ð_j_+cs FUPq pk҃Ix2o t3ߜ~m{'} nU$kE9l$u,QN %nU@6#]i)-]YT:3(Uk{iAtiX]MD\@ش].QGc@ַ**`U aCSUD[IPMT&  ~VI1:u^T#gG3o&wBߦ:w\:Ze5f%8h}Oz7V`3:v57gpN $ ϒ>9h97xu5z9W{IqL$u X~ȣUVZ1sD9ϿʂE> 6#ʒV{V4}ADŽ\\b)ƤV;9ܘluɇ%7(O<(IwbjKK%2fOB k@"^'"X4tO+y]#t˅5쐷0#P(qjp`F 8,κ2bRŝVLPX)1mf߂tr5.%˕_+7@Fq+oK\]x7D')U,;*Zl>X{UNԛi([8GZ9zSR~&qJޞZ|p1[=V"{W_ 0&VCXz<G~ 盥M2D=&2Ga"wk`@?58kK潦Tvm ~ՙU8lo2i&+|;<1V{3\mT(nl2_M:W!ԚeϱGx{kp^"\O Z=B @jGi, >#Si(` R&ie)pu"(@h$(An'ww%fm{~텠ߊ׸z7W5VԴp\sazzPK:)njS){p gDu |,[ֲ.??Ă(wGX3y&Y[M\F- Xh%z{TRxR=J}٨5h;Śa@/bpjO4~iV\ɀSZ\\ɓRWyxO?\'h;/; (YdȄ[w#Y^i PU@u00n3A\T9S@3w ?A2d4rz^$دʑCrL}x^.GI 3D89D^ O.u]iMaczr4ϰ!0k )-8efpӜc/xuq=KIdg;,^mJ|t~+`0nTtY`Dg/\)@`81s LV Q]e. ٢{)|N0׿؞EUsMgз!V$b!] [)؇+<9,@ o:㵆 Hm,A[*m6pgj$ ȟVp#-ыuÕ%ShHON]?{5rރP ]'`Ii&:hKz ]dzhyQm]TP]Hebeur 2H=>Px%XN (X!_?Ȋ_%4m! OPƈ ־*QLe nY%GBͲsP>uVP*5<b~aw j'~ǘ. U3#&9{XMn 因k^qIۍ/$6xOyu yOɬs<2NSLIށ'!P LusLL%1c]/#'U&RdLǑ@8 cytk!XGt ħōCa[-C)SXaيP\ {bMQ ^"ݖ U4Ā D@ƭ@:gt+2޷L g-W2 vHlͺNăE`$+.(r֭d 1V2zpe6ɁHNW>RZBk,A:E[52ͩRf_IaM9ajbg@d^}`n\Ш2nFbI UA\|#w3j)!I$IpCZfD=$)!؛h0`z^ !w h _ t'|` H= #F8gnC6GNAb6K?]'|Hb '߇Dj '3tf/f6CU2),MWkrՄ-9PFqt)K^?%zB9X$9Wq(]p1ZNX ľ@dGtPbX ?3'Q;Xrdx@^ز2 /ʇtuQtxxS(?(/. g >u_+Q$?9ݛZoRBfQrO3svPGǚ[+#I\v_5޵Gx،TMh|JR0CgaŽRNp~d7Rfgȏ]~*~EżTib^rf]x62ʚQ۽׍uҙt+3Tq(RQ &|0˻b!rr'e)3&H7x0 W!Rz8aWn]?@!Ȑ#ye?9E9 C(njCfh7rUך9s89KgqUfTH(UXsݢe/2みw kfaVl.)?ޓJ;z! z fؙbm\HuuNyl/B< cq(wjfs`/?VN#Ohl03wYw粚:P~?3d; .!_P Oq +[X&癩d,m\.WrbEs |-UN.d@ Lx *r)XFQoyQ )k9"*"@L?v˪r Q')fw+)0L>zY>[WZ崎\FT>:5K.PHIlkNQs3+}!Y *t2Wcfl+Db7M`#bl"2,1l|T`,kq#1*'䲣Y44G}/NBLM09F[ 49e$ oz*[BӰQES>kTEd(s@kqlq{ mqȢyK`=|Bttj2ZRNXVø851;I?ڳ`5xI١ݖd Vdu^@8`X's7rpة:F rER*QucTkaӠQW,sl߀)SE*[bOo@W+O*h6\cP˺#=gOQ3jnfX"wN-C550\^zTk˖Bbd"IyÒ0&X<P S$87.<AW\UO,}S=8o:Z7E* }sJVm)_=#dјOz|4WY!gޕM>l@xj%TƦ*OF EBhLh}t[>͔Mmt(j ӗ!$7#_/[3G}aNkp88Cy[ӏX 冖3[_o՛)Q +/ .'LUM(Nw)lyeMp=00W M1.^+hưxK!a(U7z,κDCC!-*" z;~LĝydC ?MIF\0曪|2zCz %5ebl-CG=]^M/^fE ׋Tz`cJn.l@m;aQn0A1z眆:ɓ0?ѥwc\?[xccϝv3͉x?z=X:Cc] qOlE呁VSkYSX%ِKT+ 4ko媉27k ղy\ C̈́\]c_cd肘\_HJ/ p\ |HF$@:f4'y }gHKo~>;^<B|":&|>Y ne2siiL2^1 eä+_ 跿F3{Oߢ/c67JlfdER"wuvs 2(qé̡}p[%IU)1Wǘ z +zG y{k Kƹ5MKT&/$9/"@3t2L'jՌ uF"C 6ݽ _I7ɻZR=SqxVpsRM۶0,IЎXuX U]?ZQI"+X`h?:S I]h;>1#Czw;p?LX'+PC MJ[|Yݽ'ߑڷ-0,eB5oX#9Ib^Ⳃx"6-<5AR>H1Kv2hw5NiQ])eaN]=Qc~|ZZĬH4>X.g]e'B:<L [ƐIvnZMvrBI8<:ke4(WoU rK3{jpw3ZO5_GGJվz=,n1 $YDl@:N Xq;?W VH?͹4 ,@uQ`?)?^avః d0a(3ۋ?(w9W- 2tHem!!S[h ;`'kLVXp#Yr>:;!},Ak`foI5gz# +ȶNԣuSi>FwslG]{Odg4#va52ܠJ ǔ^ ^* ²h@kc@׿"?iFXH5BNXT/Z~qH/h"9|ej+.%yn Agvk.)){g^ٍV2܍ Y=qtf*f(+*c~Xo`0c-_UォnP$%(΍`okus?PjZߟ],h1rği0A=;K_w JlطoblU.n>{Z g~çTGnN1lp6ix9R.9X7 `y1Z{72˻,#k:qriCxͧސ(pSY\Hr+df%naP5됤!/)/{ C e3KK^)<2[1BۺyljyF0d;GY WP&Nl@Y ^GxjGt&kH|uzZR(0.K lFOJNn`TN#k̛s6&>/5U_4[d o5!{Qrl_*;Af *s28 NTTz"LxƠJ$N Vz6-r#;mffGx[) wtV"%v5á:D>7m2[C&|vN r<"XdiCOE^=FY6-,0|[R.dQp!(TELQM"^\(~ kF ҝȟ)1lA::Ya?6%γIeTr668ݿ'W5Jpa?ΐnŎ${A:%isEn_M̠d EFx&q#\ @+9{O!!9Oe0u#T۔^Yxz:&Z3)C1ⲙ͌r -C:YD#m +l#Ŋpl.6 I J8Eb7BsPI` ?WO/rEQBg >l`}9ZsDZW2`5`CPl>Iʹ뱏P)=4M'TբF3^Howobp}附^}KN_H [6E,i(k岃K?p_afS#i*p7xD{)jddh- PQṈb]@=Á2G’w#ݏIQ,[^mm$Nï㞰'[[eMݢ̚^O<8Ly3RDl,~UȸU Ou륰TSE0cg{I`_$ G<VJ8*jUkXbR&O>l:΄?1VZq[3F!NaI<->Eٽ9\Yp0;i c|on&|^/ymjcٺ/ZB{Y|{9#T١z G6)Y4xD7.2g3~gEBj%phYNBƀ7`XcüSjbA (Qh08ފ`,rK!z=]lP( D5 ! xvG ϴw@t9t6c3ȧ."JQnL=z;YF@; N&M[ ,-\iW-Mdm)ejR7*P͠LptoO67S!n Dltj%g1ib:8q_ k)w @S)UNqLe_q3lik՚Uop+ɇ']\Y׋r]G=Ç0+C%m©;(.ꎨk3ˍ)tuFɞjsahRȬC 5^ժ5әE.g&r`Dط iV@mYfcݓF)1IWMuGC7LBEIhl%0y,( B.CxA4%BR[͵lB$L ;9e-Τ#h$J"yv QP d_rXK5IG>Rm4re7%i+TbPqnή1m[ny3swcj5H; )2--Qۥ u !∪_\@/]c@@6Ű)Pi{fzɠ󼚁DIOYy:1Ie%/1Tu,DQyRѤ̨XFTK5}j?u qwQĥD< +dvX^^ WRy(VzK>J9 qQm \[o*@5,WVs:_RԓOQyCJxu4:j3B|G0\ȩOe׃hMg% L?wZ#S=fv@mr_*9o"ߛhm[LX,bUMl }j#ǀ4'Y8u)|rGJC]ixh eū>IoWpAL)XpC_ Pv杧]Y&pzz5>7J8D?WǛM-j~9kBzkU٘@xMO BJ`-dd`apX/]S9`Cڜ8JoȦ0L*d@XFD_1^ny0\l;5!鯣 R[yM4^ ,bՅqnpMN>ɰy)Sdꜹ4d˘=3y};X+h1ԧjkh8o9ѽ$S= ά 5ޮ&y bV[՚L {UפֿT; JSs.xDXA[_#K)wpO _C!QQAtg19珍H5>dih5[:jN0$)ur0]J8059`y'9R2~Iuk>(^2pœSR,V QHzW4pφ +(KW6`y\ 8/[_ps2{'ٿ@Lض2}l0( xN_Wu{--.dEa%B}o`X(ly-"ҏ\Կߝ%OIߵ*B}s`hXn V4k$ěA愵}i%qE{!)b}{~=?PGպ-Jsp, Ehٌב e"[9)c 8a>jW)=ə߱vbH@YA!S5me'ZF/z7ᾖٍ@|wIk3Y6KӅMYv*yI;`{} αP`E q}5d7{(8žQ0'<+c]$rG쨒5 DɃcTOfDh JQQ誣)t"m+Ol{xo~~O{7} 3l? O5L⮢,$vjFx1"ZJaE9gdV7R][~b?Dm.DlzVT?qږR+g 3u;33 D\=5og `7PSfu8-x((he,(\ 2]tݏvF RkWӧзzz|KSʧ C&~E[ZvPD2-9Ljei쾅67\=BT4dQ؍}T vN bx8FU6ͧ^&h*P+5ap>m\R &b2߾Ҟ)Lҽ2bU{ɨQo\"ejD@mreF ;3cp.eBԡGuob;r;E]VC(n۶siQc0:\AF *S6w!=*]>4Y9{y+LD]7.oĖ2}ʒO^I$/; 7{wźEn<]~F-~r{L_Ag4c[2XxtQb0S{M{~q K΂!Vw9u@Ч?[-JTymo;Ěb2*Lܷ9v$aүm'B CnkZޝJ|2dU7ϬaKGkܮ__eyM|EmTQ:k}lpH[¯$T2 r>C2EiIy|DYkVV yo5G$+ CEP›J ө*1 e91Q{dPBUAJwoDN[!xoN`X:ŵmY,-'w)=\RPrT1ڎοs _9Gґw\FDUrFݝ?고N|[( DvRN,*"';",47WZ8/9ZĠ~>E q< TkĂL YЌ.rƿM|DG/"0>`V :ijz^5׾୊(qq<81cUbͥ8'"o `; p)D I3?G1Uddwћ~04}GC2Ag§Es&DE1ź7!BD.z4 ZЉ}>j05 1 5"'љB&T"HZrJ80/: 3[W yC& = RD*܇ א>pmv*Ԏ4s{޲f§lQ1J{M%aT7ϩ] lm%xD7=PNw9g`Ԏ~iq\(ʇC؎XU_@+g7@E9!rPG6ޫB3jrR4iFO #ًxSbst}5sq( 7wK`C1k?IĴ,&z& ݝArp 4)x&Y5.oǛu疩8q5imN9iGﶨ-dνlz /$ҷ:g1< XsT%]K73gbx$5lt$Xy]N\7- :=]NZ>$O? Cd)ʅ1,~|Eq+0Ih.8lcjᜟ;fsw'dɤ|x  F]>PMsg'e=("() yhDbp4⫍@Hn%,\{sbx 1sF'mHu@P8**&Ι[`z? Xn=;wg@ 7k>#~樱YN"CiE|"d(5j770(ɏ&]ԲӁ1r %DNNV^ -x1dHk+"wCWMbN[xW\'Lk@ ߭H 1nz".wRrhw%m-NVgn+6BIpݭL#³ t9*2ή8@7K^ۇN:c-7FKtr=Fm>]Qb75@c/N%Kb(1JL!ԍoaps U#.culo76RAHFNkTJ~h,DVK{j5x _g>ۆRI;Kr%N jOzwpRpZQij2*'ҦO-4@X}ʗOt/,Yb9¹We(C:_Gӽ8Pjųu@1ƱC1f`'nHzk*7g6WZ7ɏ("G*:;O^~gxr1gd.Gs,-4_魓0 =GڙBm~-7*R;Y'| 39La)V%QBSB,rnɆwl)BR6DQ,yl`shU:LJ/'b-Wbk}bJE4d~9 JTutNԭ_ wmelcuw פQEvw>2NӱW󈇳\u2%~ 0*f65{ðbs4QΡ!Z_aH MxN]LpHW0%0]f]+`4`M2:EԈr,:v[ d^V1u#Q֖[`Dg# 񺕄֔F[d-Iryuz~R⮧ÍFu?=Z7?]5^Ӭ6Y/|.ܔ JZTlag/=ew IXMn47 m֜2o-9} pө2c65s*L1rcŅKyX8\.B#8+% tP=@"_ =X&ORu܄Iwvٍ"g!rӧo8Kere5;c3. h QH}E3ߴ,NskV?^;ou'N 9wF~R#ξDI BADy+ 4=wI Zq\BO3ic? ݖ\I]0^3AQ_RUvmM)B]JúBF &_d__O[&[=KɗB5!H ɠQW>P6'HAUT(K7/)nM&/I:傿pK|E ^HUo1@:d+/3۾JU A@ 6s_;h?@3z?:q'k_szk_k8(RLEzr LJkrB5&.Dzg}|H s5:_{R/&vq$&O`^2ISV$W קd{h߄A(ICCx&HFљiV}C!<WO`@LiT9& SwRBVbJHʪ0S;'s[ea ::eaZ@L~KW˴NPA\p:=n+N{CGmB &Ugۊ@@Rʼn|5N#m$/1l9ug m|=Icozz{ `?|] /J)L#^R\k y <> ,%~} bŜð'* q Zg@ kvzh/8[JSLeqOu|ik{mҚhO~ϠҡNؤ=:v4I1`~ UqA[kA' (Mb~CK$oP 2s#ِFq{PmNXPyX G`hd>,`URR,]394yԿbs?t/ fKS3z{!#_;zb^۟݊9u:s Rݖܬ} yrP ա^vøN3fu>.uyh}8\L[ ܿ>/y]Z.xL?E%p] b}&*fjb&ꮟj8TV8+k2(̸u,TG|K `PLv^+>m\e:Wpp]j9YntvF^@B\kjqbš\:B1w=V+Ř2'˚YX˦*{<Νt}g #y|;܈O:#.KXsT N{z0Hu")E\[1˝~ͻA4kkA xNd/Q`dխ,*6U/>1h zf5][5WĿI=^pۚwED"BBqNP'j>p]|{UCN{-~Eq'z4*"VlOgւqQ{@hqwb~!q@M*9ٓ6DLIF_y̿?^0Q剒fӭXLh ԅx]t/GL 4#8.p!b  C1:'fOFv˰䲒x9З膠*.dKtj{c>uOjj;W{lk4 On"ĚQ1Rn@+l)0ziB H66fn=&G>Jg]3}R^u7l|lFw~3JÛsw.N(*C~$JZ soBz̨[!RS%7^zaعY]z7Ń= hޭA /a"AkO`@r$1aR zq>NdO=tF^4鄫ˢLo&n>h)aPP{ [WO4Nx0J!U3:ae4k"N6csNzElG[Fg1 '[aAa?#L>Bʄ BdPiGǩl@CLW0 didZ×q\@~^.>\a_Xѓ)#v0Rb1N1J_J],;_D:{7@ -(ę .YyXs.Fy69imΞª{!"Eؘ7ym*/@@ 26M&: hlWԔ4\a5Ozϕ)&}㧂(=D\@jߎ>x #ه9 U?,!: =x4>|jBKB!5 5a4吲N!nZ)dd[/3M.נu~: Zemv ʾSakqx/Jm0%^U?km S?K8h#ߗŀ/EeH*] >Ê_y$y@ys둱BNE\L²M(= 7RUjU( />єax,)zE.&kNY4|RL>{gI*iݽ34&Φ5GUtR"iН:Z1 ͙LRȥ.5 n~-mujXhBzm~Ya("ẇN;ì QYVN~B %0:=UPck Kd)rj1L-2TKN+} MTn&闂' 0oCCiP_@X ^BJn +_Γ?Pv7@'8uXB1,sq)f3(GaLv$)qn cp@[m"[Y{Gta=QW9C#*uDvż<ݖ$DM;S+ ˥3qز,)4 B0&K£kp~`kKpuL^Z? ,L%*ʳ+1 #0dx qP$r`,+܇?.+K([;N]P%Hk3J⨋_ٛG`zG!r#WrY@{֘GmK]#m!X>Z.%œJ*.` &9-BDI^T:Q2v}_"G$!żqсC&+_&& w]_]pD)3ՊHL/trKm9}%wg!'v*6i923B1ܝ$JSZL#UAZʀSQk #0<_LU">ֲ>6Օ;Tfg AK48p*^|zF cy>D-R3³ųd0=N,b!TA8d|}x̬kѺ8!CAe H@ԃD~& 0Sr&s_4p&O2jƈa8 gVU0I,8EE!\ G1twdR[,À{m;̟z% LgXK3+TE(8z2#zֹϥ^JW %".I)NAE|м7Wҵ)?g#HQ6!}sH'%$C- s l5s"Ea R/~=1̷pT&TG1x#h#E$յ̣C,S\ĹqW캜Ka#5eYhH}[c<-L?|Ud;ߨ39̬ZZ~QZWf<{߿2OhR-B4RI[!-4˓F+#4%Ԩzfm?--> բ uaUQS:231_ lAw-P25`*NA]mJ[d>03Hcbg?杂 AZ_AYKQE60-M&FyAC?H$y"~{G3}Y[u]ˣ oǠʓgWLyS߃UnvC/_9Γd<{ ̺}oDu&RZ XQN]ٿAס.%Ų Ӈs'NsN)0u`A>Ekf- ml*mO )_q Vh܏0oi SHr\}$ȮՍ'#gخn ﰒ8SeV2IY=´a֘]nB.컣-SAIguM,ebMϛɦuph Ne7BDM(.RRM->4 7&֠T o+([R N`P:uZ66eMHmxn" rXCXt*ס6?#A^\S30"\>lz;ɶ끂Gݺ"5ǂMx+@U ds*u`9*|GR *T9ܓwy\rZ .b4^FDȘN63Jj HԾuC|uz QOf2Pv/!y@:-Gm?L=`!sd6}fG,PٱcN"ыx28Oرx:r~͜VٶK<ܕTz'`F6vٌAuXc' T),.HHmW7CZ$4ve&$ {IRnjjI1ޢԮ%q/J ?' C~Kh<Η':UW?9*sq.k#s Ik%|輲BTlhָf뎵&c.D)\pڭv} mnp]8IsmYtK>vOixfTw\4eqK~rGbPB!ޓ6W9ԕQtKQ}.nZ!#F&g>'mGؖZ)Ёeb @ ;q x(a&I)BfN®j[4'ײPYV ;Ahl_!BBa@,|zvXa¨ܴk:szܘmt۠:Ocќ>ZRnj/\9Fb=v%  (.΀G3# NV,ɯhH Gf!6*mUe ˫#؍pCyUaFFڝg4^(Qlyji8TڕY iQD9j/sa]f{,$,ͻ JHU6ayra *X<OKbsP 0+7r;fJfi7Mќ2 1cQU'QECaqe/8 j<7rK#Kn_d\*v+Fz=s6Y^+4J/:j&1ڧv㹡rfV --S 07(4]<§G4 ^2 9# i`-/&6AުP##F^rsH.( p)V+vIfsjq2lXw0olP/.#2 n2k=7ƵӟP Pqx^Z,ͨ˵؜pz[6[VgȾ:K6:nqnHWcZ^"3 S&7~RPN-A6uz¤gE0sztL;A{z&-28`R2¾?:KFvxFk_yj\@S{$k'`(k\=3̟xpPiŅj>O{E4oj<י+8TRb]&C|;ƻ~&%kn]wDf=(m`e|CqzeUqk4w"*NG ׬q$g3+qUҐrjQQȮ+H)\Q)13}#\$y\ /Mi3Sՙ<hJ*!2x󸐸P/ qT2K%#O& ˾J0!j|.2f \YdhIOkxE OG{>yW܋HҔt%,>p1-g c]}k|p jj=ӴRK+-@LXX-k {.gS{$ z(Y"c!z²r.+ApQTZ2׈椝ȐS*Wbf@f/OɩQAb+^NJ?ZbF4e5d 4O2*B#@kaU׀f&j'4@\ѲOκzux^e|`GVre5zvW}cow+4 H| ~ndal*+vC\5ޮ,a2(E).kܱ.t?,[gn~'ZBcq}B Sn=֪ta"|fFfz %_q&$(Ǡ>}o ʪ>B ? n'(Cl)Р 5Z|I>t<̆O" [YʎcJ8'Tûš+d*x`jt0:4J2av?\.j'Bc-v,Ǹܾ$_g%vw+Xxbp GYL-J{Xeqz p"_ƪ +z(e7pO- Xe+<`mt+9mz3EֱD,C8Z a+ ͒Uផ}t"?~Y7D߹wCtAS0JEBewr*#5 oQy܏|A1/+vg A5ɢzgt" HU#[I*zl,^8f ] ."\[Έ ^N`NEQ2 ӑ2U6VsL3lqqcU.W+__p~CxT<9JweJ(g*i ޗa\|,PGuT~ 6ZsMԕimTmO_.K] kgtۗцi<*AgH u]V :UW 6B3 /`;%'D6|ͤ1w1l+tܷ2 i uΕI:k^46,8q/Ay(w8d}T_˦7,0at=FJM+{MwHa؜C_ %d/da8G7GiTaݴA͉eQpP'?)ObͰ b~ܕe4VlPckBOIV0'rTUStɴhҏ^kՖ'' y!;uĤ*T;EeD~YmijN~qG'c)] x^&.VN 4P"m&3,.(n;%>q+ǧT˫ܵzvfwDFEr?̣ ڂ(r b;e#&8dDԿhVwOH*ҺҸH/$İr 2 y5tՌ!iaq@6FzlOd݃%앯[4sYgj|rbKeYP0%Ap(:;F%=da90} +%{҈W~3:t`!Wq+#,.f{{kUʹ7\c̖_N;LdhF^h_4з|'&N/c`UPX[hG~t aRZ0ge hB~_3%T"M~_Fu+}wZN2k%/Qm=Q%s*)[vo]_$@rIi}_?نj*6W$Ow?V\LʆwL@?΁OVQ5BCen{{Vq\㠜Ǒ9k_N ķ  {fB#,pa:B}JP9=RŽU425S!Du|tpXUUNl& 4ؾLb\~ߌ,yW jdn:vv[aW̩ ^ȁ%_C6s|ה4 Z)I7ýy zyXZag䜛=-II9<9;MUͅ?}O ~V5.6t~Qo<f?QZp<"/;׆˼9Xهͬho_ 2@d[gc@!|[,M1۫% Z-׽ # j )b"Jn䞬|\y'%dXQw=~snA*jGf-.5hvS2"`oy9@<6FT\cjd" Ρb2@vw"Uc) y,/HV#׋,N;p~AX3q ʁEkFHL;5t:t,ᾘT0;8ǁSǙdP%cy !یY C8/.|R;nz÷ }2=/mlpqFw ZjBcaɭ ^z@šmm DU9?珲D:6^N켯^қ)@1hzsdF*5ߊv(ˆŹɌ L}R0`EZ5E̮km'}~\ &ƺȠG3Va-Y 4\X,:8Ȳ$AzAkJSlu "0h6 <#1̥(JA̒Z'dˮ>)a3\9oHE ;0|cr1Ma KlJJ +sV~{LjVEL8.67:O8}szx85+7}}#h$YNjt`.V}1)oO,YphT:x Ile:YUsvK :95N3QZ_ăٞO' lpPZ-Oڲf4hj]>XtT30 .!0#Re997#T.) uϦq'|lےM]1OL1Jˈ`nK5gSC Se1 % ]9o`PXy1 EJq@@fC*yπ.r@+::y^εw߶@>{iW*re8c2Ǧ#klWقzed !b_f|HkDdA ޭ/,2f)uֱ82xRvьmP.0Iaj0y+^] (yF$h,M}=at/(T%O"_LƆI{ϴT~6Ε V3'0";1kݜb{ ]"aىX4|^GYfoxc@i_F'?\aRI.]D)SSܡIc¾Y3嶓ʾcX5wF<:dOZE;88 7jyn{Ѻ̄|V@]%7V +7jYkG )TR1y0'œÉʦP/PN_}e)_p'4s`E8`*Y:jsizG c-BWgۡ^J#XxW0* v6Lk%"J*MǂĠgVg)WNh{p և0Z].NޱJN@'W*f7$ 2mL\҅i Ȓ:AyՄj);>j*=v=Rs.x$/YCgXZƢ%>6Vۓs6W D&ԞG*#9K@f+On:JB.tmi&S-Û]"q'g(A!l\F*n+"5H[x=,zׄoe7xčg6K]꟪+v\j%`?5dqށpi "e4=}xʙ5 Il#_KH;Q_w;ns6u€? ~.{$yZ`ׯ%#G zG=/Iq&Jz4LJoK!^a%Y30nSE)CPϖۜ@L6F"*89K ;NƒdeuB &j5wKM1$yf%?s Ŭy$u5)uO_`A"X8On؂32e1/8R AQQN =HBlvlwMi~cфE,dМ.R|1.9)]y_QtBj 28#V{ٔUNͥH}PIj{z¯^4MH9z`Gwp\d]VWӅb8M*'C5eh*AAVBW{Qkb:z0|F It}4<Hg sۨ΁Z$6:yQ\^u}9\ObpK94& yݳ'Wp0Ue.KRBqO1׀@Y 3g>d(/hT.s1X]ǑVuJXv Z\y\{WBVW1Nmq>Ҧ$mce"FB'>7.ͅG*,O)^[=lZgqtQ=XCJ )x{5d63 ,%5ؽgRIr-9\3MLHv׺"΍=.Z\٫μFJ3lLk;bda|$[Mr5`)no$8U|$X0:/TK . <"5Mj]"zKowyo,e`h f_$ TFtE$PWXvZ!?4i+mȐ\wյJ.I[.\[Gnu1{)%@k|?\++3/먶Ly]S-M'^dT<zM^%pkֻ)x4! +%Y}{J"3`h3uL:^[4G#_3+#`tBw+ֈxhŊX7COW7 /hxX"ȭB[:Z@5Fȉ*'Gw\I#Jwl䱼:uc|zNbpTX~/ FijZ,liawQȭ3\#HVϑW&RZ*,e =P/*xcz? )?m(v3Y.ST%/+g{qM`?5PT>fN1#_.QɐjF OR4N-DNVGKcI -2oڦ0E6={+u _*_VHPtoqՓj>:;kc"s-ȳa))U;T IrߑgNN_sP?- '٠HS/Sr#je"Y,Vʮ'qxH}fq? k6W]T V[@-O\Ɯ%$Rw._T6dҽ|iOdr :5U  Yp.$\AÁ-}P|z]oVC2P0Ϙ^&3E`/ [TOx3z#Ƶ=/ǙֳNYc$tC{.>Y*} lwb3Odl$AAƒXX\-8Gk+w" \b}0uvE6j#GXI=z%QMREj zj` )uROBU<1e !}aO7UȊ%UYr6#i9of/g8Qɲr#ǯ5X9x)z9|DB467Q=̹9`[cd\bbN%$Hx,p]ZHv9i;sh[qJa#F^ނg)tj/}.W[K%NuqP_xМ'A(?dV!}uy8H| 1-Cr۰12OXJ/=elA(Ă8E#zQ Q܅+H'G1!/qmTҼM.YLJb|yN}skѻqfK J3޶O75|Z rS=53ީh #֡do`c@8"_P4_R!sqS-ʶzLeFEw G*B,=y%2|-o}M{:,UsrC2fϦU`N X ]8%wa֓N;nh]5X3甌uqt;oR$ 𹿬Q K I*0.CI-M[h5t7&0 7CRk- ncevz5l0mN"LUy4D NQaԷniGGݪ8<ŤrmzɗHo玵Jc,ī 7.!@4fqu%co8k3I `NtzϺYtM K8 9!כI|LaD"`q<־wD woxoCAL ؂oa;.)2BH82 N"׶b9bs")hVCT0 t@*4CR'L64E ev/UUkg;>ړwnzwB>0X99fhXPڭqp@oK[>;Zx?6oebڨJi( ooռY66}gH8z?yd$+l[Tfnf= n$[=8FDM.RL?{)\zǥhȸ JSdduHŋyvI]:FS :/r^%:2ȄT$͘G X\2KO.$vuLuedT۾ P7<~F}(Kxu-4;67j[0p<}^nlkCm( Q޻5j:LįH̘RU;nMdT$YpC{x&#D^BFWvt"]('8jaC^M\wSA mg4ba"D;4[n#jl.~6j {feT*l̒y/+Y4bcL 3tXBݓ;ygNXkZ.8hjY%S2Szș#e;c~n1H{LF7A*ܤd u}ӟOŝ왂غ ky: @PGU.HY{AR'&uQ FJR\OV+o[Ek*΀jP5eK4q;7֎0I-b ^"p k=`yN4_l+̖u22y:$9zK^.Zk4$ `G[dam~|+VC,`|0 | Cձ$7aQEgaƒ![{n3h,4uVc꼉8&b;SDeNljp*xhCWnӴB~+z+1$Ha#c J˗Q 87"l@D#pٮd7 1iz RG3)7PfԂ_5R5$["nvRU|7}>QӓMЏqD]'}ޗ)($X}Ü$j {kfo?a, Gca5MHטԕ^NiFS_[M}XhBs eUjpʿ v \qts*q~Іr`Zբ2!6_1m ۓo2}ך(^=.i؍tKҲm%R\?Yza`+- @/"*F4ѹ̆QlG[x HLuh[ ʈ-9]95U0pEMP). TW>/m)vyW6[sR;W0 4]]w[>t?;G/qJ`sT*Fdpe}hFk[+:d҇ YMy`aJU/}*cR;3xz%`%qm$X.5d 1{0SQl5U jMP1 nCDkbeD'#uC--f+ TrQ!FC4]L߆?y)R!)lJTu-!p8踌8m>eeA8jd[?y>T%gDp ˡfY+V9=g(ߴ+`k{ܔڽX/ Ī:݋Nى>onM'cXNzcD] qV,41,7%;t&3о̟ƂZLIovʵWO<e^ps#DL'6D iB ,K+Ad̾f/"Q(?V >B, J9S~U-18/a( QUR0ܮRK2銾&"Y]9@tqt}ZXS3hR6r3Dd>6m({wfϵ "IZ(h4.k67L B!nEڰ|? s $AR )5`vhweL'LmD`Q&Z{sO}4WQ!Ɔ!W%ޔj`e>i[n/G$79 G5mP;$f^+;~OkT!&'t78\x!rY,fߠ$AM,׶-v~ޜLq~;bi<譿sb|Z,2 M=C'7o1sYꮗGѰ:0.JVRc{[v#cb)8} ZEE#`EXU<o:> fQڢB+ƛ[xJ\j thPteӤfI*Y@[=rїD끶rQ{,x=# MUoKZ#L>~1:TX/WÝf`N44J 8<2i6ԭDDNke%TLbcCF29+4wr&]s&UO(KhL).]ḝ4QlK{yٌ$ 1!؏:+.YYE'xKd؋t8Zd^0Y$F$D7LzUIE5qӒHKotDʰh&O~}}lb`EnaDn5Ϩ۫v'gVyĞs 1Vs];a\ٵ8ܴ~ vF 74>] ^.%btXwl7G!Mj!a LEGH`W (~hXk5Mܖ{T?˫]΁Cě!? Z(  X>1R}Plŗ} CdNI23U!==d\Έ\lwpؒ+g:"ѧJ[0)B(n#\rN`8S&CCw eŢ3'@`nt$EXc@Wy740'~P?5" @ׅi} N0# /QP#M1[EJB7s\c[gt@rDPajUJ9qR `^\*)%P9Ai͵QdTo+3{D*^R`iIK#>P!{c3 ߉X%rIʋ -Z\xfRZ8p'%hH)E!ߝ#|Lʺ< lu@72aݡl.ʓ"!R(ڶjB>V1"?unC맾IVZyjxķޖbY7fX]ԟK0lwNՃ/A. O"\aIc[Ahb1*J hZqQ,WC\|ٷVJ('q i,'2wh, 0=, 5gAx.. r>@tA r"Q{:.-v@َޙg''|oZ;FTD'rJ4ϼj.IbuE otYAM'-@WeZx !f?BAn}RFDS(s|D46ֹ3t /+_4BN@?!f6wahB'7yV[8q3">UTY갏 =+gm; 0ip?KhJww?wndŭ\3eQP2uV-svgH= =IkRzNLc{Mr{B+.5 Fh dh6{B9%Փ)&T8qJZ>N{XXTh}l eC}90#^ E)]gṦlD {^^Ltʕր0j]Cnhbv l/I 6ǶG6[Vfԇ;#d!T J5$:߈q\)&jF{u9Q$dmfrK^E|K1^;ÜdܠBE8! Fe/ 3|BY$`$WEvŒo2knJX#~p^/-xxW. \z"nC#BRkLHQ)oW1|}6Y+W13`b06쌤A?Oֽ#8{Ł„|yjTq U75J׮Qzfo f 8E8OzZ=:Ş-/S˃/Jӭ1)dc[g"uo";1֖$ε7-"!"װ_W-QJ)f\w؄,u?sf筵_$ xl#qj9p15Æ,3]_>85J~myhPtdAsE}N74e$kn&63,u'8#P}!q[Vp~" &H%d pxO{U%V&(ߑx7*,"j!fRKI1XȾՏ%C O4K׮+vг0,nn b-5B&TcB(6;ϰG葤Gtf{5i(Yb4d*;%tȍ2L; bܒ^ahb&%G+LB[4t5*+q^eS"CaK%BX h{h"! ,D2޵MB |t|}c8/)A7ȿVV]Df@4~Do(>TRø`_wYŤ]׹g@$MpW~QjI7(ܲ,x9o->=S;M[ Rl8!##+Ƅn'̷le|tboخ kO@MwHܾ}iӠX12{VFj= @qyq .y/0ESV@tC^3a֐SXa½uītѿ#2?~aީsj$l0mУWe M *:|0o;).aсKZ2.gѬĞTaD\$ATRHxW0{r)#mTUʗ_voM+(Aës#x' Mt?XV ])Hx5kK>{6U) =B'粍O_[0E4B9: [ُ5XEa{7F"ϐPrQJ$~%rz#{44(I9WTkg@ }S6{Nl<0F|PrPzlҀ+TkU&g`i3~"$Hf+)EbUq;l5^""el'59|CkM/Ԝ92Sv/:&wE,h'sP dҒP߁{e4>vLV:T-  eku!e'nO!E-kkϺG L=C `PA;պAelᤃ]JVzu VK(kV v&VɉOD|bT)"S&s`(to0 JBk z0LOלj  <;C Z*>Y}R8+1X-s/,wHnh8_cY97K"5aq5"<9p~<O`gB4TXgo)e7ՉKks4nhsTR˷{y$Rwˁv@N$e2< ]heg G~a)fs pK%O G˝BXi<@K4Z2Lw K-"}ei*=*Wz2d>f-s=8I>Gv:S1R8?D4p_͡jz) 2aoFE}T-~ V ScBum(`Icηzxyo@>o<[s=Z,XB]4\s $!;*PᕳjV(%pc{dQG깣D?d"^r#i,˽,ݤ]n{ ;eV1)^)6FTPA9ģE\ŇbETɥVW@"j~?zx9wحj]<*On.bOl!_{-_aKQ'’u6'9V{T? uKJC*V[vn(pn隚Z9I5Th{,$DŽ¨QP21/76FpK+,MWG 5 R\Xٿ栊H 3tCug!dv~_v1ADxaGb$Zg^=ߴTJS|pyAGb Xrr$*{WړhPх^[vLvgpmd㾛KyGDw +d#J{}T  gH6S- uk:(D2'=J|spٚ jP8Qk IϺ^dh(dž(5{,vZ۠mװgz@F յXt#J}rO$:2@e`c?˼DA^Kc;WX,w!Ϣ!KIu9~/{R5ƲnlZsgfںIx{R;1\D2{. ,I {eALWU(:l⇡LҌKa ~ ߔ'P]q~1zA ٕGm?uqg5S w |a_WޜH3hPKy 85QI.g1-jyћtI@j,| i+% 1.k͍aQ6A{C.2mh %0Β:f`yKA?@Afhi܌H)[* V7-uTHɋPND\!1u8:&ڹ0ȃ=i:&7ㆫzˑP=l-E[Kxw˅L'dOkB*;Ŏ^1_}f3W: 5GV<vYfZ??8;-,Aj do/wUr? ᖅ\+TBfՅS*D g)pyңq`!n.>a•%8T#ΎYQk OJMFg:܉/cM SҮ?)ܘhR@kPn̡vةO-M3Lm7&(sJ jmӣ+>c쬡,_Yc#j]`[Uo-dM{'ߟۉ`CPqa++< Лu12!,Kxxor3:G.Hz(r3Q# >#T47ڻcܥI=j3&p_K ߆߾Wb?ar?Q38wJcPQZ.6E·zpmT:0]* `ڐry,xw$3H▀kX#m@["&7nd~ExonoqfjzĠ Ҁu V{d{>56>(9=P=}:5VYkBizZ} zx \ʸZt7@YRì0F;jSL.:*xGʻs0`u?u=WOlf#R,v2 !7Gr:Rjr CjhɖVpz?@ WUs''ǔ$gk:b kBn3Zr>#@_kt<7wJ=f'.aFݨ]@'WM)lf0F3/2]UĄ^BO|Ϥm*s JZ8DH@0h5St!0'RP8a@Vtɫk縠Y ]4aU/M>"&1:A:14v%PZ*-'nJ}@M)!$*+<ѣ3H"9q?M{C鐣I,ۊt7] A@ƫw&´:Mi .Tu503i; fIU]Clb/$-N{_tmUC 1y3#f?~SLǠ?O<KhZw8h砆q" -LPe++okt{db_{%Ki+R.xA>EϚCK)5+:`y*\@mIC*11w_3;%qEpmXKMcn(vk<]]^ ׆b[,<#vS`ۧ1V䬏l}YȵT~O*;L)ބE ;h2V66 Sb2h87Z~x)ٖg$"^qɿVLgqf+Il ~wgݞZ.N n^|î_#Jh>OoЧ<;喝D y5yq\ W7$KyKǕFꡎ cH휻=|pqOݯ)BE3L=e'r |j-kra'iQxZ.zd hY"p5Tf  ŁUZ^yf'ɪPXe@kM[7MlAá,,L!ğ{=G[75HdqcC%Ђ/Qg RD aLfͶ$`I8;>֩x%s{3:,4%'^veB.l 5rӉ1 &㤏|?VԜ@Q;sXQPUIZ6/,:*nx݇CA"H>ƷsC:؍C8$z|kKaQfTb-{%?NU=SX߈fKg!B%b[. nmLg>Lb tjMq(r#Y:HGBf|w 峲pٴ$`W ,#=P+ wyOұ szC/E)B"*{CCh)#Dj"L ^OU\)Q4V]Ia|iG \y?Z0g:3Mw US)W{O %\Tߧ4ix1ഘ_1OjYXid>p>Xr [;30 Ĉ궂 (F9 G&h苉'0\V}T-<^^ Lp=^R-QRƎR`3Uff$ {,Ɂv"ͭHDrx4OLI?D/GaI~5ҫ-eZ+/FQ} uh#M[C3 eXʊ+\9+JFDW&S8S[) 'l:ꢉ$eaj!6i_*Q=ǻ $oKgN=xl`֜+1@zt<*_̉ W9^c=I1A$BXo >@B8-Ȼ,0FeѕR> >v!Ydy{K87RGmnyܙ Wz&mٓH4bQvaG=xzSoᰟJ5c>(wvruo]7&ۊwɩOF *݁#U:A^T3`,VvzdnsYw8D\",iYh#(aM2DTM~Vpt0^& uX_La%?w)dg+%'gR R6vZh!xiIv-%x7sG$Û3 NӃ*~-@Huh#/eӜla_ i6gj?oNˣz ?󛫩W޽VC*s׉ZxʾpQ+\o'X:Ŝ4gލQ\/hDZG;nbUOxJWpRt9QGv4XRVܦтL _Jm3gĹ#+{RE9o8ύ 4^>Ե_+e D%f#Tdq1…qdhDԸ; JnxZVY^O؀x[rZ:(B\Mޗ%u*X:v)Ԭ%y\8}1hBσ{)Ӑptڛ.Ju <p`%!`#ݟ̬h;~Z TKꅒ)UP)#h.OG]a`dإ9Ә V܍/jb}yW`j'r*&i]/H sDWA5[.:Le:Kbo2UePwZ-ca/c#^79H qo DzV6oJPy|V/5YڴU7wqR>w att&H"!SC4g%Pp 4o !`x6`zxZ1u{N? ULD"2wgKa78jpct?YEKO%Z%REǹ%/΂ɝl>V:luڛ27}VL኏s%~E\ 3as  ɇ ."Yg>KGp+M-SQ&L31`ٚBःt |Nܹ8i!nz[N'OYKled6Vn:V/!"):dv#P4mlhoUrq#Ȑ?!~ئ&/sI(ko,[,J F.}bu0\8;$En/\s-TºmբC:D ObtxEAtI?kk*g s>n0j{x!' kJQn.-\7(!g"1"+R?@&FD 3͚-.j,tvS]u EU-ͶLښ \ε(N.`aj/r1'P$k ~Chy[=v\:K<)jf 4dR?nz#HF(ScmFk[G\8v@%c=PL8 &u }TDv_/Zks[6Qů2Gh4y %I23X<|܃@\*US[tNwOch#f np3eUAJP+7,gv3~ʇ[e}s&定h&$,O7ۆ0#7y[m-2Oxً̉gzQT`<+8n96sno|^ꅿÄ ] l;mzߗo2&p5 ~1 8&6 vEQ|[޷&'W,=t:4$2[%`_T.&wPHd8a/'K$(I+ *M8¢ Qlng( ps($1`} u%Oב,gپ`h]tG>}M\TܧΨi h3WN.q՝.@=i>]599uq!RR9YPl{Vz{x^9N*H(oTF˲NmwO,DK4Ȱ\ !㞏2i`d]sG6ZCP1*zѸfj(1-lkpz3?6 IpV{xR*'2i!s[^+s +t4w꧸ hِF5mVʺ U~/CuP{~>94qF<֠p;1Wkiɾov&E^P#>)ƫs)G% ld+%YrY7?w<7:t*_VP9\} z8NJl`A"]f!.k<@]f?Oxe\P=A#SJd\ 7Q7XRX-\Fk´ܭA:% 8YpV2^ 6ktU,UNwBtA{r:o&>F׏c` O`]2mLzM 9KldZ7|#1DInD,BEHI]4 0+J8OE7R;T3sr:֯$s&7檵^H C}tX#9YK/M}$^n"w@ ˞pSZ9Um%|%GL_c`AY4dYo`-:5dɎϏ<6T3ST4JQ/J)f)/٣Tz]7+b畩2DCw:c6QyRZYXdW^er0,%7a-gԉ`TLJr\9=DpHzm:z.W<B|y3/$!ilzcu}B 4HI05ƇNjOKD!Ɨ<1=ztPHH %ft$ˀ,PRz?p"dIdK?kL2H̴U-NZRQBR]+/BWד UmA00Nz8 %{NdXO9)z=}p׎ >(&LA(/7rd#ElH[v*q٥OIM(ؿ!k :kV(M79rxX I*];]s{^A ;t7PF%s$j3DU/ if!20}g-N5r'ʲXcSFn&,lFhcŎ$qSzBzV4QI2*7;"20 =mݚQfu/~m 8-M1s"Bec3VsPol\ŦH4_GBE0R6m΃J?N UVXd҉Be6ϢsH{_7ʀu\G)^W_@K/8v0 O(|IVW8JEUyKa}CeB/&!Ly|ϱg{4,N3lд͢.*(Ob4y1~ËhK!ͤH<( FD1Əc( @ .,S@|̿/+bCd\F3R27@cf!0O  !1k*ouop_c"s:tѥc'Եp=F1iΒXޯnqL+1|k VZLw/$\nőxHe z.lWaգ]mgZ:P?L^xqY,dЄeˤ)lNdI ORi>TjxB-{iNURx&9Sxu&rZ~*"jh|d7|:RN>1磦J@"+L"*Lm 9t/aSs4U+gnw_kB轡z$b\q=SݸAb#B\c`Pm{AZcӍ2 `+"AI:͙$my700 .*]u*3g Q[ BZrse茁~.jj%M\X3QZńO6:34ElhG6m^wuij}+XZl \#_`':;-!fcܗh5Тm 4ٗn;)PymUz 1DEdp.W90*Dkɖ"thqFyS,9n*m3VlF}9qԗ8pHYPηeHi&Ζc3`ey—'᪬Z pJyxݗN2aJzZ$g=T6qM ?Eu!(qts::d+̵ȉZ2˼8Kn(39.7]~=@iS[Jy */Rn,k%#h:!%αCʇ̋ .@ESڃgƭ,0A>E}@5̨A2fnH0ŭ*n^&3)9pو07Z V8rcez2CGxAYL[mm69*^J=\=2sn >Ʊ9H'9Eq+fs 89\j1XJL }H| ?1F^-H*<=5ȁQ8YMJOb͹oЌ25o9wt $YT9~e-6cJtF .N]"rs>xb>˜:pF3m*Jᕴ =V!WeA/|?)s;LP8·2N 3(% c2\g <;PhJU}RQ kc&3,K>JKY%$Lfq;1oJyBN9kG&Ea#neh3G}>`V=.e?r(H.RpR^ݝ ~OcRO!6\ ․r3:`\nָ(q yJa((% P+c ʮ_g`Z [tȊ]δH+o:yÜLhn1ABps}q^i8紬3Kp.&CINpHb6a}/b:d2]t$&=XSߘ]&WdCXB wvЮkF= t#Nalї~h8&~jTWɒCTb( Slٱǔ[ijx0tw֮N=^*I7-ݏE{ď-a)ZFI]{l~?(Mt7,;,2@!0; qxW%&! Ш:?Wg9x}}fN.rC[a -:#=7 %rLu)WԻ2\CG4,C.ŷZN{([i$2: c'tH~vffA2y S4yw/O9'zip^,wGIis*FL Xm̼S(9x{,s@w*/I`u>#B sNY ѬKU Fc0O6:luyYp}B`[ӄ{RpZJh"8YHhk4Ѵ91|l c^%m(M7YAyȴFCA8;hSY<׀%jX{{m &E=7}EY֏ڳ"fzDkqƟVsT%X%RgS)2zRnC蔨8 7PMo~]7q=>2vEsr4stխO*/G (. S|71Q=}7(~7q.q ~ɖ!rc@l r>vLd ח4NinBm?u2q5& A῾{KVQ 9yFкǶsxh`+C &~m8 XoA}73b"|$RglpGV9&MzoP\!TX>;pnd6q* 3n#؞Ո1=(@ZUGc\ d_"uP*8CPŀq(KU!W# 1aTvQ >['   XծrSA=K[ < (i$K0-gt< y4@ 3F#=dTMCߦ@6A牳3ĴagU$i>}TJ O(Bꋯƾ<#>bSf#I2tO(w5G")CnqS&;Lsb_/PV ,ulIN؅ݘY_S<%'} =ɄPiu릱$qdўޗǞ>#Zr[ l&6ppН.MAݣh30c~ۘ)B%.?T:L} '΁UlQ[ޘ=b.},Y\ף  Z:Q [go,K9ZM'wޭdr|Av>%WO/j*oqI`% TCf#a/qvLρZ#ŇV,jgŇocœJ@{(v'ip˒4`Ddr,:ѾL!e%9*b%'1UƬ:rn8ٸ h Mi !"UgU^oPF[Q封i>"IX]npOۈ~V,u&uur7IW*sZ^BA2p ?4z8 /I$S8S_"RC;̫]9yE^x:-$~g-7s$}o5=_{}0r}Zlxmz>d`t˟(Y$뭪*2_sB|T:9Gz pˋ_kpoYz fGdǮZ)$@r*WwH5LBڙLj_s|)27k,~$4ѻtL>77YpPR|r P.߈AH}Ϟ ?uPP-gWH\k77XYʄ,d6*8/+9*gew_ `!.IT;Q-' /҂?Eh0[? )] x@ XdE}߻G}Wsr&F0aӏǬL DjϣDk_N*\@qVd1/g+ziָZY2I=%౎/"vJu|/vJpgG\BYݎKQ#4\h{rTTϽ!66P\ʁteM9bD7sjԋF$"2"Me4<䆋Q;!f!2$R0'ph aݼmjk"Pn7ޠ4;uA0GCH #SA/ՏI_ +?2o&XN '6=n,xҞEa6 WSv+p=ڽhS}`et(F+ЗvgG8MK!{>y|Ybzt31hDnrڃDWy+֡˯e[5EU?Ы Z" l=)^O7j, VJcDdj[C/,hGdr(P!Sv &$bsmXWm~i=/œ]'`#߭H[;~&:m9`LS|s Ί9S^V]LQobSq6BhSO_t׳ʟ1V>hdn!~I\tުU\#Zć.~&ϧ" _DK_韘|VՌ\$Vg\slUY̞ASYv&YlVR:ID{o7#([W!?BM-rWu- }  C;OO[uˤp1;0Ѳw#/r5yZAj-|>- hBx\Q Ga?9*aN7G6t4<FPVIC"6 _Lh3^(b`ueqVgEN_ON+>\\s\uYµ8TfGA"0Ƴ{kpރ3qRmPD}Sa؛L174cF ˾O>cTA 0D 3gngx:vk 41pmNÌuԌc;<}[MA g{(6ҝ%J(o }J4tùϼ7_wcx6:Bs[XFVxចP C nˠvD2hȄO*7!E 8ꚛr57K? WyްTk-vPxk1ocL 9k[٠DŮ[4Lb >R/XT#l;y,$99Tq,l02--C$m| oy`cYV lҾv"PY%L.޴H}M]F0K/][Yن;>[ۺrS5yx Dwqj= /wR:5#gc-$Qmx))#ř0g2Y?⩻1O$Rԧ,,zv^=2_BGYɒS˔~ 12ڈ*4Y Te![7ysDeBvH *dWNWJDŽKw,-$&@!!u-,2:~<\G&C\G.DP)XC iE#R&pfphy)տ-a]O) 1s Z Ufa_5dM:q(dP;|H/p %p EHBkuFgj$YW##yW0Cad/3DDiI:ZMBEf|8"Ku˚.ByP|bt! YN!_Q$.Yjk"UL[pCO4>)6jЄ\Ҙ'Ҹ*| Xs*.kdEğsI)6NtqjG1, kCЪX`f'S bP8mVw}ybO8Irr0-RdzM-1~oFE qIM,g|9az.9ED*f.݄!'-95~ $BxCKyP~K:w ,LԿ|L@,fGXG|L?Xl_MB"@4:|8 ڹZQU[hpm/_U2zq:~"q;jHϳZ3V?|1V-w1V*wOwFE\ǣim_a_ '@R&''d̩ l~%we؄{}nYv6=tMGPԨdMN5^ؒ/,-YPTڽzf6OưcͿIcr\q+P6oǤf7S**4`eH9ڠɮT1U!4_XcfxnFO{uLhӃfo.7O".|%( L_UI /yx{4R]TnH,@W@KA_S/?a<=z 1q~0-*&|S!l2r@_Yz=Hw'9:_KW/TJׅK%v>mX~򟔂撙|6}C馔xˉ5.*K_.M  fa42vor+:2eÀ zV@$Q h|(a<_ļS jQ/Y}jqs %!F@Dg9(O;26._ٖw-Y̖?;G _;cz.:_hmQ31_3TT0DOד2r Έ2s]6#tH8嚁=θwgj?ZYj&RN[9m-!6g-|JXuaK@;|#WGRZX)rϳ=v6ٶ;N!XE|57~, fo"vΐCG8}&+'pf ZCVBr.kN ad[f@[E878狻$OÔ&,=]ՃPN)x. P+Vvujjq+2|sn58p q+yU9?ܣ2)\)k~=Y4'cq(,hz't)&B# Sܙ?Ń)(* Xa,-7X C=/v3Bj[)w_}GzF!/EU98߹fAbq[7j,1֋c潒g4jQugHvOɶn3Kw,0/k]e}nzV GRPL֤\B &LSwuq(=O'cR)2Ii B`V;˚1:AS!]Mw>Xx(ˈ8tUZ"oqQ+* >@cW*twKML Ͷ#(E(P=X`Ȟ..ݒq *:D'ݪDdFim6O,z##c=fvScL\~eW E 3 ҥ߮4@|O@-@*DP4jꂶHL:;j9i=rC.i9ߘ=0?`hZ zs1/.1.Xpˀ'"έәjLhOGpP'f[8DUhӱ@:A ħ޾,>?&ÖHwN#dS W◙ gƐ H뒞X8y7I{Җ'KMCjd1K bkg4-r2iPlGOPBj{PO˛7塣Mpn{NXJ}&޼Y8QXژ @Tm> 0X{ E\.(0e4KuF5+] EmwQO w2\ %P%mX6lsThK"Aی#ރ4')SxLDN7U=v HlA.0-yɓx N ~J } aZn8t(5IXM-ɗsMno#)-#hwx_$Jtp6ʙev+;"\>>b['9O:hѷ yUŠQ~LwՈk<o, &Q9~]'%̘3 !{ b(/IS/0q-|i*z<R/#E#O1w2ʍ{CMڋ ,9_\#w{[f4qrYE9Q·YPeXĦ:)Z [ 1!:ŸjW'ϣWW '\Z$&iAbޝXBvyÎgW1nz/}W#NpTOX/%Q\3?(d->nACc$q,.6O]ceb0P&TQ'9"5F$~zB[ob=g{ ʾF [=(202(ȩB[KC>;v^LA5 ̻c-d ܙKfQ'7κAsQrmRZ v55]~{iV!G`ИH% iwݖ!Б݋Tkg iEKLD(wjxYNqN K8w*SιogMiwQ *"Jaue/{#z$<9+ #4" =o)Dpm__8^&1.˘5T:d gd2.׵YsqI Fte[ ?g!@co(wtm8QCcʩx9yj7v?I l(Xh}d}G_VG[vuk N[QXH7.MF y#x|I]ļmLJ&ADC3e0p2\%d|Jc"NTKǼ*L03ܘއnV9_>&2'df~Α^dhN_+yK谹2uY_/.p袒Qkm/}Е1uVqn v%tqsuÜM&oorCop˜:? u|IԹc2 Zp ۷uUNkJ6<+G/$НZa4>evuQ!n؜R)Հ|PQ In׼ ] d|} Y 1k(`kӡ.qxGJ8fQ2 t%dgpu$3v`EX]r0B ?g˾XZe_'X)>lטNJ}|eQYuv}R)%G~va/[}{82gRc=븿#=.r4Dx.sq Ay Qː*Rrm6)FROckz&D+|B$by!f*Ul@.E;քg1|Z:c0]k.$F~БR]yxbm$؊,TQl#8& 18c=+>7g22;H3N}#kFm(:2cqJOqJ`σx D&y:nW`k)*cΩDk|&G-?5LDBgsoHYiݚB9cEWF7[3j*h'Q&&2Q` AJܷ¬?r IQIJFehwW)U+S>=G)l%^oMV'd+]މ`]pk hj Ũ]Y"ARl^DKO<=y}'0'nkF',F;=uxClLr-ee!Qc@(\?&.2Uߐ\Yy ut7LN0{Z¾CHB$~xPp&BMq EI?8bfnf3mS&Vksm rUCutob0.'3БiƬcQҩ$qt\B\zZbX\G;޻f)*Ό8'`:9,DIԣ@eyA #*A0(f@!Vn-bY=S݃L;%1EF6\r"p1fWl' 0(87o5KOG@dfuXjo hAPHP1rRc3J7PaHuPBО r3^aSvPqj[NVM<߯6bcsYGr^Λnԗ[Jr#NGܑn \h3Z8pi>ut32]4Cq=ڝSY?ߚaoK LRsZC:} i}c8EW ϫ2:A!#.b9͒x=a<4HN,6ШVkR춥g%JnhM(uG|ǖ=ENv{F[u//42bgS_aetyT ͰX)e{"(+ۜkCVG&0dwErzQ)IqeFtUWWK–̨Vנ({b#1P@}͠< @v(/r"\k,A ql 2n#Z}xgNܴp:+ˊ .6@*@c࿮$^-Cf\7*nSA"zS~ 7jhi=WtwIX_ >Chiyt!=<}U(cuV%'gz @TYa`L([ik Mk8F"_ZW%g- rq`y tD@$}q<=.+,6v7"Cs-60{}1sjmsF~^/3yZ$6dpnb\V]XIQCӑ3nB1Hg,z&cb9Dy{A|ЍV'>ݬޏy,[*rR*崕3>bX#[.rU 5@~(d#pJad@Xk T.cY |j0skuvw_:A!hї:Q(Xr>!HIW[7_~&Q ;(I%6S\}Pwwo;$;mImR+O]t?ތ`Oc]lH}Ԓxff F*J>g|7sIZJ6ߓh,uNNJ`^Ku H5h f6X51 (yA:\ 19}ȓwWex itSy-# @-{c]WfϽ>2Bejr;kբJVa卲M Ԯ➢/C z=`e4&5h&6xJ`{'#&J. ^ 8ڒgLuvHV+EYF,(V;$[&Š0&OG6 Jg&kjƵߗـV7r7:{f8yY3N'2IJfĔu\`çv:g9o]{GfŪ|&9dBKUB%dcMf[XԄۤB2xBK Y(/KJ:ֱ:mc+,UB4O^wӌ00 QֹB3o#Сal18K>,f ;0.󏌿n3 P*"F(6Ecಣl;V 3U$I= lCD0sQMmd (CgUbf1Db4Z:/cͼTZ%NOHaFz7rĭ0] G-hK0rg,=g~D30r{(f8k~x%D^ztS+Z@L"7'$ֱ@)jTGl6܋Z+}h}BW@kZf/1tf` ^5]=T}nzYJdX7ԎPKlNRǘ?[úšɡtbׂcI)XEGD<|] BzkeV0)9V *q|H N!I.t`JOյFnLbuCNsl]84!ݬ4耴ǭ ׏}6a *Q^MMC#u{!EUGg!}vAL)Tn٤? Cmv-[")#HeFMDuO !:N׻?,G4m"lL u! X7oEu 7&XN<91!K0IOMLlckoKrApgTN¤z(F2bL{gq EYAx贝?ڴWܺ`ޓ:&*Y/m(LߝLN[viq ]Z \|05R5>]\i]qx ,o,Q1fbe83/HYM\0'dˀ/QuDuGzBVv\SXt;EPNLu*,X{lVBm:SƟNk_Čˏɷ4/3ު !j>^9Hr(fНE ,~Ʋ9 ز oAWk}R^àqJoڑI,0~z,(qZj6~ѓt w xdǵ(Nx".fo цє=Zj_AAI ~8ǖD [EAOVRe0n쏟~O=UM$| DfzP45ݷ8YҔ0*kZlmohgkI4|T֭]'lHْv)mՆO[lM`+}$#.bS` }!YOa8:j8OSC}zfҿ Xh-b%Ord 3]NM=40yȦg42i*S >FΕf<5wkU8ع$iP!F?EHV9p>~v .<s0^uR9 BeL`h^ѻzVy(xy8r ҂0dֵӒV?-u`{}oD'wl%]緅3( =`Dmh9Cb!qgX#po]~&U::ՙ:FshCG)N U4 #U|oFuz`+]:8"~i^b0s‰,n,?Ƴw}JȽ2-GGyWOBӊ{p iE8$32ө =tWU?̈́DVAqGh큥ƥYr3h{!@/.$ev0LAcR " t`wPx'kL4.O易:Cun+wYK,l h#ʿ̌ vay]-#$ i&c dl5 *V:2.v<̇.=#Ou_#,#1ұB^qU"= >$\D VwU. N&.ᅐTեU7+Dܔ^)OWROuZ8fJKJ:]T4yV=Z!3n3Sf[YqyJ|5=ajHoQEkN pW$)hFϱSeP{Ι2fj_yX 1-J_TAӰrM 4DG6V'\GjCB|@w$#*DOu;皐jcCݻx$>Rρ kPUQc'lƙf6*ybB o.B66Gx2ŭU"ɖ`%4ѕ=H}ؑb$О(e 7bed;LĽHDc Fo.|W3>ky9HiP8!;>[:eI̳X{1fO\MFL{I-5( 7խde(}zA)Ӊm i 皒7ƿD=Hp,u |zԘ E)5K d䑵;|0M|^6CwB2|E>']==;%6&r&Xe(@!g猳JӤ<ݰO?~YTQX\'<&)sΠb\p2iMү៾Ċ K>b|cvM KU$]n8_!xe%$} 96-\sa!B g[Th:O( ޗ3mANck? Wppˇ.gȼH,9q ZG^'tJ(oVs]017}*4:ECuF޷,BHGV@~%?[goͅD~C»b/ &4)jLU-)JĂ匂򡛷mU!x^%Sext/A!R$ H+C8MbT 9Ik xcRܙҶ?Ɍ/]RiS5?;VƯGBl퇥yк žVN4ѩ,D+;N3okIDjDil8)fy 17{!BO#ǍO^C7@rLSyd?˸Wyy  puh;;<\OMf patbߨ7=788aH0kw4\LI)xk3n l#aHfkx]s=s t!^n8F)awP(3*^KJ]gυz bzFLW@~?6{9Jq]%#Ωm -e6zt&QGcс-ˬPʚSv#ս2+u>ѰM;6؆}G~#Dm[X>#~Y'jTzӦ)9{di2Ntt+X >` c$|+$<wh篑#I6XڔGJ 䞯be9f"Bf씑=AYr%1C<8 ,殮ej r*'0.ZuƋsW{3; k460Oט)w- e!~*meL8($&ԉ^8pAA#h$U'͝;;2W;סf]߶,27-CGbY^nqgR{lWK`boBn-@c ɲ\߳t#g,nU>Ғ3*M|C`f7O |a([w:CR)X=Ư/[||֛0}ڰN0yQ"f6T$W |SfU\±&s=Wo|vC?/ʮy&&mH"I~& ֻNTM }FdCd1/`"ˉt mijN 8dkfIy:Q3VYw-s6&\b ?Ӳu!S;]TƟv(=z: ٙ-eLMdۙkK59nJP&_ʁ5>e𣎤'hQRLY~LHK"0>juf wGo8[['1́\3PJDh#^j"˜RԔ1:ٍ=r-R֭m}^_Me 0C"/l\C/כ40sX4هDE,g>:#puƵ"MuAܮ7L\Pt=_+M W.K2M#[n` ݟkOi%7˂<-Ua=|Ho3 |$gҏ#}cjaZ%b σKe(OMƚ&k> b_MNC0<@uDA4o~/^@[xDRB~.d4x?074-lՙː<|.IPiO05 :-1<5(D?w?$\;mL)ުs6{jr u髴iL=Z1=NSG78On&Ʋ4rc u,aDaMs{+ @#HZ01ʔ9^ʅCx ,pQ$̏65amaYrM:}}*W*3YX/f{1NNOH9xܙM cU۽\n ך j>ehhVMoAlŕ=$Gدneo/Wy,8")_۔B_/UxZr<9s'-CTی6c  im*˴3I{l ݅@&<=SBQ]0Uڐ?R@DK#N]>e3k?BDT~e?d@]}_ Oa~Oq-z#`S#R8כiؖJdNOʳpjk'\˝iF[nlOz`ҲHq 05kEjtY[DTX?S|'a6K1 8n{I6t ]3ݪȌQMѩm:ez3 2 hlҰfRgǷ!pP [ &7S0iz3F/ ,ɻ !ޭ@2|ii5^ЮH@jcbt+B. C#dFG `=m.V}ٞa'&8^o2ψ:s6Nd$NT(d{թ\eQ"o`\JQs APTgWNc`11ml*}˛BPа0vǍ^Odr UEpC% f77(ITC?f*B2Szk1AM/&넰O_H&QBѻ`(>ԛEZYV{nr dVHG景PΗ4?HjL"F>)¹vA O_]e29jrʤldʙ\0=`[ߦ{CB螈oi{u D_NoMktAOȹBޥ?߳ I{_Ψw*ֈ|Πm 1]P/'9> kJSِj0LW`쬌ߺ uޱj͛~hyblre ȫL\+!~oluMћct˹n@(zadEN4l+Us 0 _u*G7zgY%s+$Y6y{~^}J;0xw"۞e4Bš+zS4t~:spSTMVS\GF u|@jTILXSeM)e>nmz%"E€Cq^Zu-j>h%@;0xC>kv g^JD.guzMkNR/FkDGJmA{!m('c ]& V u#>"2 !(YyGݼ^ح>F\ƃϑ<0b4y Z(*[ĩ21X _ $TcXkT+O֋#z~yl/a!{ܭ i/x}v Q8Ih΢fJﴬ5P,C .j m0ӟfqGtAYw'Gq0Me縼B*F}YȫQ ]u&lCS>f1ԻA̱E4s?C:> ~ j& !?rz.T`Xj=wUa P*ةO_)o^ZѨs߸tVu ٿpw[)F\"i"oh`e%NU<():PwSVAFP:,%n»Y{Y񇽣H5N=Wk{OE=0۽b_MǑ0_ "i]8f2f73wMu482Yl*?y-}!)}fx,Oa7E+*T`aV,TV,/=>/`ҭ@v3[6˶;nڊDŽNOԝ/!= #b7Yl.*fZaLFL x}" Lmlؽ?jQJΦ<[IjM=f"*am5o !명==U.&vCTzzox_TW2# v?::`wjGFf[ʛ\tA\9R[UE$(v0Gk1łM F΂W:3sQ[ 5& v`;42 yś3ސSV 0RЃ3Bm3&Wa ]eb^.Wm%db@ߪ@ O'np"(ܘ2Mu9CʪjsQ2XqNNV) I"4mL\6``7TkE<`3ݶq'.Zĭ8jǧ3'/lQ`|gIXI|^Tt2D9ַ5qO k-mqspX%,Mm7k6/BTOښkJN!F|M!v`)zV+=v}s9:wphjO>bٴSr!amE^R=:8#fw_f߽֭j(]A)oY4j\Ėq *3eU9ϳDUJ:uUj"\(H{W<(ڇfn@ػ Wc߲]U15"qSjo"#.ݙ-]C'1P7Ox$d., _^s뇼|L >L5eލ%fC;׾?r-7\6g55nH( >ɎC%Y况C9d[-#~'v&jWJ=` U"myR^F- Ym܂ H-8Cb8`U> ?aH};H I43R[cx3PX6lHV-hoz/fV{hJ MfwCtCGa7.'n}jI0z෱^w7OXk> HeP(b[- |iQnR{Zmn>oK]ٔ9E6Z)jy+D^ `ûӁOΧb`0Kt%,^rиxBCi6#Cݢ{Yi1K$U&Ӆ|R=>F('-ϝcǛ6N _%ae{/ȃ՜8dz-7iXp7qOWO/u~1vm,B2bըkĝМzt~kB aa։T2l@=Kʀ*9,k^Ĉ2ӹA 2JGKB쑵=)u3# KO4xkǷN0rsR El+/CNhͭ_p@Q7FԂ~@ގE#zsXVhwa;W7RLKF20OHo#@5ĶaDFk~u8 %hi =ѴUmb[MTHXa;_-F2Ƭ-/JJQk_Ak,@!f6C2+8Ulz= Wݾ3@anRRB"QLܔXWӸn\Ŗ: s|4'ow|mX}.n8V,.p׬B/@Lo&1?o+5鵘 9r!;IeZ=R Ҳ]؈H\ẏ|b"3~*o[~GȥpSL;)p޵ݫ9͔Iqz} W2OZ‹%(d]:_f=:o95 2cJI(i1kuKxJLrɫV;+/ 裿8f*0)Rڧ{A8`ئ ʧ]ü"URiV%`$/bKg3|Ά}uR|jNYj#v*Ƚ5:oMLPUڵZ!<:055jZ٨N*BţR!NxQpC-0!uS)߼5]Gh=yLj4W}߱ݞζNL#bV57t{ԳNCۙf?y85:; ZiyJ6枅06Hl5jJ%&Ve3$CRJЦ M"7pn{DwVp=MOھ2*2mWLXxD[6+v?b.N5Y)g+hGioi>ڷUnn8?J+1 W_ >=n+mp:=SVE$j8~7`[9&, b,!|EBlo޸:WxʧI啕'g{.XZJ?5Td'щF6ɯAb^5qyx;&sqs/ofW/mHM 7y]䖏39fK|,Cqޝ<41<YqY=f6QhYs jCY^y4 SHzF#LuN>0Il3QISir*c`C-ba3, L_%> <ì3hW+h!ؤhCr]wܢȌbayF۝B ,[DS*ԞйBMo0E{gOKБJz,*xf~>q" < e~(;. 9⪈}Max:TS,'ʬ>g5E>AVX5p5xnS @`ƮKm|ft}tsU5&VY'B骓x+:̈6 ⷐ eNo kկ-bd$!eT)#J~].NShef{MoQs![ ;5N %TdzOxEoi2 ^6.G6z5Xw&bDW#_.ok#*/T,8SŚ#v8V&EnH6ULz*q1&ҝB.>rV=Qq׀.]Q8ؤo+*!r,6op,˲2JA)OMkc$pc*6Ŕ{V:ta`$0u^; ع L𑒉 = q '^+h" ZW[{I 57ee $6cZ 9^)m@eáp rMT7yzTAzCPo v~됳Tu'\ '. P129{u`DP>؝yTT䠥ôQ:PB:\W˓I,l O*N96%) ̾dh2z|Aa,1Na;䚩KkvJmk*Fx>55$̹ptІ_2H[u4(*h|d|:.,2e1%F26oy\k C78Ƞ䦲 2FkM$_mP_ʪdž_i$b7!U!DW)=ؕ[ێJSPM=L?4tHoC#ݱؠ]%?©'sR%޽sPHG>[^Gl)UX XA̯ަƙ3aPĩ9ww[HyMX)HpWV邿:@F[{l׿j澆QlEubѶǀp:8A6ei3s@֤k{sJpʔ4*O&q[i`GVfl1nz J'ȓM\l'K8O޷ cvOvrt dTa״^T1%7/B>ӆD{lPMy5x(C74QByYM"<->dJ*؀ IGjW!zfw$Θ;Y̛_\XgC^" 9'ZB2i(-/8=k43"]B>>R#]@p]PkQ6'JIE'̡#27zo>$ʶ-M\b֘7UM0= NT@ΉiZ.@}D}Y0,q?ʰgV^|R2h!$<+ 1/V72n%v߉(8m}welhc{\I^T x/??."ӟPQ`Ep_ &H(&o=6i`h{.5R]0]P[ /k*`l֮' YjM0}ΟsN!.=[pNq|]c m$)qN(rTjc:Gs!;\6 vȐO,~kl ^sT4NsedE-A0H,"!Y\o Fr< o)f` c2%Gޘ[Uߝ \|q~ŝ+I8iN[SC,hm ճ*fs$4opS1Ň+F,;[=.ogob3F2P| sVouL r ^ İ1 Ozƈv+21+qr=5D0AK׾GiRTᰳ~w)iǍPVI{4s=u#ҹ8KUⱍ Iu˴qw9Y̟fWߚ>N}\ T2ڶ +Pdב8');[G$yT +x&.`) a a ˪Cwm(~F rq(¹B c*Ak%, V{X+`cU>Isz*S8- 7p\$ַT XV{$ҲҘ_ǒ-N1 .b/ e){!!5rcvYS sɃ "O}$ p-KI8y]s0bZ/QFiJZXI21 "I?̨C e۲Č)H݂Y#M30,$un\eλnz=_7Go:$i_zg;>mHgg-z]ҭ ITQqwʽ8+Jak;Eĩ jK»*+#1 QV'tW@v12wm=*hٶQojcr6]bւc!]ubRLJ×_J##SV$UXi1? K@Pli4IS)WrDP3B-"0 ; 4(@upXE/$[s=!h_苃s-asgM4Ϙ8AswQq0|tqȝp DGrX}hU15rsb^nA;ZfE~1fS5v b|lDdԲv 7sE8lDCdH[Ű@ݬ8b|k^4!cGGMc UѸ ]V̡ei(+ 72PEK^W샅TO,jwkzR֭^$xjZӽ6ѩMdRV`=N7QԿ)vr; ɯFA3CfB׃UpC0޿,K.R$”!*6Gwr{[)jʑ!|I\!MܥA +  <+i0QZ|*B@z7l:L$~qK<׆ ir>?{lg;R P6D [LH=o)FMN*ۻPC{mB/4kha hى5u t H_cvS`9͍$Gmz^W\\ӠatKBԼ'"7!]b#{6#x1TMaD8H_4c_P3wj/=1!XfOaDM-X1O3BFqF2qZzUhzgKX{* 8sq.66;ZFRXWr^{b$oѴUӻNT.Vp ݘc!l=o ^qƦ0w _ N02lO:ԅy 3!1d(a0Yϟ bQpeݫ%>rʇt&~SBU)Nrp#3ڪ L :8 MW 73=x`_R+ O,Dc9?+`+O>aګc/ 2֪|.9y6'{qΣֳ_X=N M?YiCYvK:{7>gTy#eRBG _ 7F9WlYv/Q=$Ӥ<$ؠ[Vl/yf*y3}l-cLugPf7A\ 6-J:Mwio 鿓W+t..vhVjFډWfFG^hu{e͆4"TЧAQ8+T=Wcbg u/ M1 UtyS%+ق0ܜF\_n]rH{6H Li>uZui@]_1 J ^M**f I8CKS&nxR_1qVEW[vdWf[*Z&l @jvȍƃQ{pY BI̥}e7EKJt!U[~%;fZ>%% ZU/Ű_'ǎ6{af{ DCU?z0b@Ǡꅍg܃ b60-G;r1}[-fPSSuS|J!~ؐA6Mf1hS5,و 2*{/m.%bP '"w_XdQ9Q_i?o5H2/8;/ͦemU =7YŸSd[f@==֜^D@Π}pِ&}KM%(KxƋI/\Z+)S  2lixw8QJP`u|/R3–"=SWOzXwwG=F׀7(<,{;?>6ܦWţ\^6E|=Un iX|BѳSCM"aamf(֤ߦ֓h-qq *v ":<El5+Nh80M{內A586?#5-m >! K"% st [hS^R ^Y\3y=)jt:?CI5i}+h\S=;*c٬瞨L(MZgpXlIRm~8&&P!qx}ɣܪ4X=@gqrz(%y~VͧQT32f_}S༃rɆO7ps6hW1h,#ӝ$hgb UqIi?p#( ljd*iȖ~1[Px/5B%dq9\G3Öͩ?E%99ϓ{hؒp9nkRI8Apƚ-:mS58Fe\Fqo~Z]v=EƁKBv 00V3ɹTO^:Qw uV>hۢi5bޛV*DKM6F^1PgrxZ 皽/WERJGkBLb.}kWP>Ō쩇u7#Rp,D^ ~ygZkM0aQ Ϸ/!a0Nٹ큨Hӆ9.)s>%)ɞfz0B~++W<.'_(ARD{s1ĝUu|هz/SA%|OH.UUn_Ӕ' J8i]!hWYjD+mkp6>*@!<ة1$sHPXuR$wFv=ޢ\P*YJ 2zB F28XB|: %CZdt^PBc"˲s57G#jcR!WՍ$VqCIBq-G7j뛧6*xuݸ{Us {p1 Ag+[Csĸ.7iG cMvݟ:]>!p듪:L>Q ̃ 6 6V?C&b`.EWd@Kk `bA;qm:PP4jܻ>tc<;ѧ揧tH aË3`1޽{ NKᨏn֦aEvL֤Psqw\+֐G9S`Ag*%jeG~*0: }oԊSu(yZ`dߘ(֛bw_CB>[[El]FT0NR`¥I䱉5zg+t4n\z9:vW?įZLIvpV#LWПg ߧ@ dǝ4?VTb=g9"Ũ>`D$h|`X7CuWCc?97> ^ߞ v)7n{,y[ YQvKCؓ~ofɹLIut yLfhHu74P4 Y $xPng]&h#Z;³ę`qոl"D 2rq'`;yhR> sPtM azeA(>z6GšcNS֎`md&W2i}f{뵆yJp,U8W&n٭E}ՙ kihtr<9$KJ`e uw'KDt6%]0x`B8T6F](J RGt[ :> j=J[1D!}=l.Rs|j.|ӤUL;ok)`lk6Vi[ 8S;UȚv\TŮyߛ]{ҭO&\q띧EN))cKJ?MR5In0񁥙l.,΍o,pP ؊=/$G:m9 )~R0A`4@D)q>_-.'7N etS_6EJq@G~=nLXa*h y(;{C;@p$JUL=fִ0ySFfڎEkwo:C k$NMfT)b><@mWRogf a$p?JP8E\"HJ"h4t2(i-6KO$5KƸ.`۽χ[ 8ލ1i=&(7_ ꌧm*`?ք=2&+Ã-Y(@q9oudd2ā [vš~5sc',e_Lh^}:"j[])7s'[*<~mP.?SAȒS,YMbxdobȄ~3.1 my7GxV :|pr>Ip^ubpN֞t8-2/֐r.|naquB@ ɚɳgA{ȚV|ld#g ~D$k$1f>YǚK4OXbGjҎvp꯬Fػ46Y{l%}nZK[R f9֑-k+$zy(k#@CÉ._i~drF]=RVAw[eS9ub˳Fװ˼׍l+Gdg5Xd>.鈛W|` Kd;?֦I;2.d~ &;F;k%!GH6:HSSȡ]85Oœ'\yJ1 F wIN畷ȦV/3qCGA;gtzU@~ͮ˜M =ߺQqJ7t0莄sFhLbGA'˫_5:@R8#%?O2S,Ɉt% ;fqSE\? m40 z10`*_?;AZ\\`x׊A9*|A,'-^1&VGezcn4f^ 9i=]:ؤ_>_/-k>dl?5r?,2+,2bsېEEbC 8,) rA#ĄTʟ¤ 󧤧,Ùfڧ_F v)ӉWX$H~I3"RC5q̀TMEc][w mF6Ԟ8f %j11T1y27x26`[UP__A?һs&9nq!돭`n4.:C<9iwK>YlK0q& a wx+zp0M7bWNft h2!%O'Zs۹5?ImL8(p8jjDuzedi.ӚE`y8y]'Wʓ> p~{nX[maQv 2\i˓X\N {n,b&o>M"BJ,&IBf#ԹJ始-6<~Ur|0GH!PT)Q37şM'6F(z7(j|ps2xiBUP"Ѯdj;/4j09S(tisi&F\݉v)0;RM`C#r.(v/хa 6,W%(8_3ADؔovP991$`]+-G8â$eZf37;1~Efm5pDL fppL43td9sm0=چG}{tG֡Ђ=yksG$p\qϒRe9n2yP;rdnt}.W$f0XF=$&/ebfD-B8>԰1̥+Fl]C`@c١i3JNX"6mQqp4n]B'J.5W /GAA M%WE5),1׾}ӊ)MO!W1"f۫72NwF\quݶ e=0/zHR`l{,eOʛd /4,`F@|:J1(Tj2jPYw=h6UV*BBչ.N5e&=;Ww; l}FG)4%ڎHGQGpiYm)OuicpXKx0oo$t"y&RU |֘ǥ<E4x7(hnh(bA>)$I蟌cyiE@7>S`Uv`0W%TNS)겸aρ0^/ VKwT&;P- xW}(陛`s//zQUOgmY[4*]0 L9]Pu`2Y5*op!U G Ql^+XA7S}A P&izc~ci]24pii^E:\$DV-dhWP-YZ(Ͽh׊Npä{Y!,ONlr2fk_E&L֜r=tDaI⑁n%r娌Upߨ҅Nu[뽦5vvMP)6W6W-_hLsnQeʾ~VS|ۡ0/$˶D(O:x\/!T`P]>7{,bcqjYew̚^y8, 켇%ځl"˳$+IWO$o7TkU^t+ʇWtK͇֫7U(R? bW6$)+M[Z ~jAe-6GBᰊL·ʕOIJT T ZP##t0)maNaw7n o2훝#4͏؊ @ *\yM>߇+n$l85@~ A@O!C}6xܠV9WʘR1s7ѿ jw}1h͎Y ?7Qb`ɦwG0>c*2<։s}!j>"M~ejU QZY!>$8| .cyM 8* r yq*+1xٍ=eY𵐐o5.ۈt]MhZX=Ro@k!8qn /SSs=<*ʯZEł).M+\ke8ݍ0R?aI([Sj=A:TY)o37o˓*5Zw!H*2H-i6 2py'9%J]gmp|}g#u͸^x@fOo ugrTu'}!\Dà9vE عx}ߵ6KJZPwc7%&Ѝ~$/{S5Ȅ!بY⃍>ma<-pň7O! VKWD9[,OK5qPrz.wPup`97⃿|U_&BEQs5nA~@Dhcpa;͑O= Cy #j;eB;2>c 8O_1 ;Zf$m|wfB T27nVi\ND^4: Z[_1 :}amRɇ/rKjdt[Ci*bFǔbKXaȓr>|u%,n AiVsdj VX!-&\+!( Y㼢"Oy2ˬV2ҝϋ_π" Q9˘YP-5c6CV,7z 2y=᧱lEzrRpڮ\3o氰q]g\a<Ѡe; @Y{.hhVmc{"1?ݭqJdF>>&膯vW%iڙg^*͆DV_f#?tC> uc1c50rr0'BW 'zbHG7 nXAɫnR>Q y~V`qfOzVV_Y_^X.Xٗߍׁm*(l7׎H"6iˉMs7wPSqǪ! LTɯ=p!ن;H{ϸ ɻn3 1lB. ɂ/p_**c:y'mˍ::^ѡ\h(v)O=LRcО{O,DwMX0y^7J~K~M=3vJ%$aFWj 1r!6uS $C BAٕ_MguIOY.]H86+؀N"A 5 5l︦5uS|65v 5hU4fR^?|>"j8X s ߉ ɝ7{}Xbp$qtY#R[c&lVa;y$9m *O$&goXKnn.d0U $CcqQr DUIQa6AKC@x(r&)Y emygD7O:3KA˧Y?n.1[!:q[.t$Mc'waoG?/)BlrwV0;Ip^d2ْ2\[ܣ2;3x( V_p|)Ԯ!Qة2 m'n7@OEMcӭ`w40#B& Q)voU .ܭls ^{f,EQ9. TF7Bhk1EL2fΜ#-}'√0,OZQOkA-Qy[5܀G%}pυ~= avf-k7<$ m'Qo+tK;vnR]a(eVIUJ ]g }4ķ27 ^ kK Xd<N-'u*D;GhgM?/L3㷴0a{-}!0Os%;f*>D;y-y!WR(zAyqNnaXy?+f S0syz>?i6A1%eI b-E&-䇌EvXR":t,{%Gpa[y6naTeUݵh P8e!kP7lZ.܌N%:e=^݆L6K 8rnWw28Ty=hskGF @#N)[bu+?yqTPgn^Gya04ȲZVͳG׃ix:D6J/#˵{Y}U!)!>lFTxԿ.7tQ2\H`8y3Wf+a C@܊,:bzA?=X㚛 ظ ݫn Q5BYxHEŕ}]RX(h;`@Crk%Ch~h9D[h6Q~x"bXPnv_TgmAGO՝FL B [),, А59h?3"hZ//^bJr-& xΒ`Ov5H"N u{,[ u0(#j 0eCg/z}4mFD mOgST AQ 5*rF"ٳcVCWa5[ZF&}XrR y&!Y%xunSC&Ԏ\@s<]cмbzDAOc"|d٧.0&p<k,┤gO@ssC.Dvn( ǜcH14(e1Cl^ hɰl0iw U'<,#$C掮?5x.?Tz.(ZYdԪTzTVsT}^00h.܇} Nbx{ h ^WЌ+a3pjFY }ITғ|PCr77h !Z?.84Z0vDHSٝQ4<Z'8MF}*,ſv'U;1?hpž]-:G_u^!>vǙOWևd&cR`_m,O6HF+gEk?t]W:˴A9;gfVV*NJmhȖ!mSFE"No3J@=Yp~YܔԓWT+[ҏ#wgo{ra/C`>RzOvt+jksO b ,}I#ՏA:d{'*b 趧D۶^%\ -Ό~| vaFd S638XGQq ]?w;(jKa2Frov{27Aw~{}Ёdk'_R6|xs-.Hj3 8,aA +eAϺ<_xbF7B.MFBkpNq8ă&&e2Q=+ֿeRVB9~%لc}Q&y%Ζ]~OO (jap^?ꫴK|'O]RXH^MUOG=MPSr` ι 8S“>k-c e%rJ_-'R=ݚCWj'MO}aw⇒\e&kKxp-:eﺣW_; 3f0좌&v&˧Qy7ʑmJ oo۩q `:::OQ=f!Rx $g!pǟRR95Α ~֚Z:,-YO][Ħ_;;\ȔWpϊz+:G:}, ԝC;c k7p0W:)f=T2aQ}6G@5k1M7m`rnG=Nع bhc!Ssv_u5z_j$ʁ`8gWv^Cq&7s: }֡d_rLm7pjlzo6)@MyvNnؑ I *Lvm 7 ƾe`D ;ֲzǤF("ە{WRdَ7_#pwd*il˓`ΚB+ʗOZ$xSV D֑c8Q_Vx l3[y H Fvv&BEPX=;u+NoB12ku,]43lrш}G6Jxc*:@2ap^*fJPm)ØFpTp0AϤk Ɋ&Wy)lK}ΞbUĊ&9ѪA6W†'kS}G(  RV4=  *]٣!Cϵh W`'^he[}CpXݮ&{Te 4#,N,ݚ ? ,Z 6&wA `Q4k16#1;IPG*iYa4|Bz& R K}pރ̓Z|: 0?ۖhzEPOA7B5\FomFW-+wUcJP G iJtvH ,%gw4ER١*Ꮂ +`ϤYYB9LBJq0/T 4%?}mX\k5fqˡRؼy_m5[x>JnG-q=UЊR>&r(,8DG줙5}ƣNJeV޴PGЯD[)M.D"/ǴqӪ5s' щhÇ9',բRiLM2",cr,pwp" ٙ뇃+2 Z+CpY-WWUOW~^(Q^G@I&kH9aU=x:C:;*qH.E9vX {۵)r=nRhba`UkEOF)G0_聠TN:`g?⃱dB5'6Y"- {g^bIG:^|B!=fNƓ01"W]2M{?=s*>&7IގƎnzh[&LNurQINzshy`n"ud),1<ѱo2IDN ׷]Z R}im1rT;y|Twu%_A<_D`s)n;jio[+Y\N)y4 /X5>{{?;:?zuie[P*i٣"Nr @ʒ'e t MQIQ|]U'HЛ"xݣ<4RJps/2qprD" 6ۼQm:9 ȍ-3o9X bGpV<^ihg U>8gHLCc%|?^ n:ܾh"Vbk=f _[VD7K(]kS>!xxa𺩯K!Piܖ%`ٮ-a,#txʿj]wͶ"2`$_mf=Zep_*^MA ]{kr?[frꋮ qsS/߅@h*Ǜ1W@c+URD]t'0Ƒ6].Gx!jչO7OM7 ٸ(.N%` +V%1E_r45 z2 r~3fx6q%%"Gð 2qwLɨTH&{%w#"#8h|72Ě)1^Lp6n?Ƚ*x./,Cn)/V g m gtTG4rBqD¬tNbyarx)|C@~N0P+vǕ}H߹-dSI %"P:^bhN]mĬ^$=+7jDhm6 S"Bm0EntEtKWz9r>`(6] :._XvpB*si0Ki?14<ڵ.yuX[6x80b>!1.K6 ]yD쎘]By\Y%z>zWW>`MJ!r z p]SoəV%}dFZ;V^J#)r0#b p/2Qahf.bZd*2dTC) ًF7js\9ϡ3| 0v/WL$rѕ^q,-+ XxN!J,.ɧV8m\9ט(OD_>Uq&->ԺM]Shz3fh=gɠzYG‡hA$&ZceZĎjZ2%Jw2)\8 F$Oq@.O8,1͉Q3J@Exߪq'<AvuzW5=) nKnɰ=.dzƬ lBH/Uw*`ѪF"XG2s|9F5SߧXgi\ ?Q ȇE!gǛz/뷠aq>`n3brm7T}+nn;C@@m%EdAh.D@GחkГ^*^~5R&om(2`hXܕ7D'0%晃w%BI@"C;&൒ep-\aٝ_UO1.tuN>QYaE_zb0fTIܳ9NáiYp\J>FTx4~ t. jnwX|b *TyRNao˅Z(eGK\1%(<P ?ԴX8'x/PavQytCnGZ[Tex1JRh0i RJ2ywa3ij Pap] J$qQ|+pԑܩ&IJ!oN":"mLo>y&M]^lv4 ӑD*LJgu+D}ugHj GhI2ݴج!o#u)}P8[| _JH lvs笫}čԌUn~f: 8BfIf{B{U$ 7ZMY`hb cw܀>b!2$z8gH-g׳4> JZ[{k%"u_Wbq~}P-GS,WU w9-n"wfKcVvI׹Kv₠y&Ȯ2R,GޟV@]h2Q?_}~LQvA+jr/d~|HVO:1IWlI75|2u{ԥE>=d=!Ganǡǿt2Udϵx۠(T5]̤}]˿7-`Jr+ od'Pv+2xF*!˘?`ڀ]*ƅ+Tӊ+XEUo4*ͱi}Zԕ 5Qi m0"(AeۙpD$7$k GNLCו/WAeׂTԳ8h0GdR/Wu{"&eB-$U_bUMkC Jn1:͵ /0 ZȦ82Ic~&彾 E+"?(D|nX_[NQaB"y3 Tt?#PVMa{{6qBnh7Ԍ\yu钻;߳.IMЃx~hvvvA-5q_!+Z8VÙ^U(H(ņLFifiU;Fܠ607vR aÅslOV@)ѐI/W$ɒ#FIWx|g ТU8Y [-: Xa;bjO8o<$=(bs27MP+84>^: AFzU-n Q"W:k$vU @ЋUύhM"c՚.M#xgIZE7L{8?^uC$a 񰤆!h0Z`1܀v@NОQ1D#&ШښtuOoYE|-&b?!t?j^=h]anĔNh"wB9T 4̣`bO؋sۛF 2Lc<[% ".Aܦޣd ԋ[<[F玘*؋K Q_oץqH@GH+hm PB k Z ,A źq!':tUsNbkZS>3\m`#z?E /}h(9-m'[p,|C͡-::d$Mp[6n/|Qq$K_ֳ]Zv> Lnl3,2YCTBl早-$s#/L)uYE4|FxON(b_yu,UXw7F DkT(q#B{].`fi&b1RPqP~4!~>CcAvjHlVj*b|el+&_P{-y! CϿd1\ZLG48;U451;6ek [՛Qr}V dtᰚ@Wd4#t:оy!ccqEڀk=Qǀ w ˗{D~èg.V7Oݨ}Ӏn3P'͡Pf8Hp'U}5r>-!sO?P9C-飫;"owYWdOaX]-`Kw܀$Jj"+J&',?ˆnBu#73RcL $iįg:Wqb5=R./<V0]\3 Q؏`UI_p+ 2ۡU>!Uv3F ͵tn:%>f"ιKS>k覭CC>98./L5{GMrTFK2az/=+kU^Z8z%*~Qf6?N'Ƃy ؜ɗp_yl1 b--!auӆwNG%^cfv [y8 @U~85"lG/1Ǘ޹-w0W5&HIޚΪkM0'81טAqdLy"Aտ-h?~1(|M1br"aVmۚ9hH:6ڣFv y5.)xo -02yT:#=Yfu߉+2UUn'( J?7f׉ )tD&aWzt$}l<ՀN455VޮP-Jɇxg|IzZ"O&sG--g#֟T٩25K"T?)CRX7*UN~B;nRk1cj wP$=w@rI[!̷ qV}GR5&5$5g<,($t@xżcv\;-f ^Myɗ^}07lx/e -d֑GGqjvj`hHws,䵁3'S l2-2ޓ^uԣJujljqX,=ACEJZӂ0֜F!} U[] Y|9Zg [;T,Kr9m~k/E)vW+ˎ0[e{k JZRHuF(yȝc >d͹=IS8O!I淖 \-OE=sH%_Pvz_.WܝWjB#uxK_{=ù||7gs7õ\ҥɲ oh3  _]EywTn̫9pX!K*Aպ~}0޷0^ئK%eLW#; Wqf gu гf-䙬J6Rc\&YSC)ՀJ#W}vbu_qi?N1&-PKrK/=IM .Fr\#3gEU~s{d Uī# e l] K3DE[Ze~ÿ\OJ)mUtn#gVAqYݫN_Lk A /H 5<~ ' wzBF29yP@ -uX.GcCd|ߘ\yZŃ Z[a[psSC;`zZrڍ]ZX`}|LL>֢^)I_=M?&RT[8b))$T/U3WPE*&&`wͧ@ȩ-;+ׅiĢYԳzj}+\y)þ0o3@eJ\PYZ5f,qCV4WgǣAG|ϡS툗< mI&G\O2c/wLUt2˞v!HWɩǹ9KوFګr+44obPL)~COe8<5@Z̩jׇrt)5fQ>WaYƅ']ZNpq iC=k:Tb:4좜_~:,*gjjU4Kq9bv?{P83չ"AB4¶$@zb߈D3Oו/~RuʰF[U?ʿWL]xΟq(^~%L4]֌Iӑ:Hb_9ܮq90?CƧy]Ė GMܟ/zk!V>j/'^ bqfwfK{Rw fKdpX~(ӍO5vbmܜYWc r鯂oR'S`Fwǵ`&/o03S+"UId"= u)kXxOѠGYs?h`8*yU/IkW|ͳ*üte!3P.〣 @mZj!.'kPK,5V@M-X>FjuÄ9= pg"+vɭLD6$dnuP-Ԝ/,SM2YƨjoiӠALzTAt_XY3DӽAbMMU8y@wǰ!@uaPR N% MR4_R*d,x#4th9pȲZ;"cu28v8y`y+`W\kĩ/(/c6,)H<%d`mNy`N#VNδ#p^I`p{ݽ Yg5Nke⻜T},\ok _&j\bp0@k [P+_ɥ2 rRBݸfE?Ʋ]Ih4!BUp.AqPD* 0V*XiQ>2_*37. ϟ4*n?TO C)x\4YJs>Mϰbml(4`m&GcP0E 0w3oDžLvyƒţz=u~V7sC藼 ULTQJ&'9.꺎ԶtZG4蒉^NEi0oh9l7Pɳz`;ݻ 7/ba;Y $# VĎsI&-㦏巡 +N߷TH˳s(lh1Sy@=0w1˿kHW%pkqGIfr\s a1401Cj זĶIPt7c<~RYLĠcQ?r(kn&իU8Ӕmi' V99Rh?PD4b|x]t$)NTGmXXw|(`R A5QdbJ;OO2 }>)y~i;G +dNE9gxv.;x6(M_˜X=zjB}R2y<"JrpF3@mg& ɇ1 R87v[GbQ ZlP3)NAȶHEM?fH.6%w]ŚGCڰIDUٻmJ %S{ NvSU <-l;kCpZFÍcvէ GÌ4%=\G26$+|01iڻ^!%1%AT|u]PAdj,Vvml^6/vu s>|1-_Gca&+ϖ|z3Uyx6}y7G&5#˲- {J0a}IIV]&[-!i Gh^w0?x ";=솪Tb,"5BtX%^2>Uy(>(`bґ]vqI9?M $"3fKEV)1ve"\|zeP~j[ŸLHΖ% EB*y[}iؐIBު+B0<N8Nmr? r9Oq;mXǢoevÙ S$? nX;guFc4D٧~NL}`szxAriFp i -+Ȣ6]%# #̅}Rp5]X{ό;֣9BWש8,ѱ1@wJ>GyOr(dnzD%$y'f -D-vew<odbY \]ooD!jm%]ei)a|RG;[:x_׶kު[WAamQ)e޽N]ޘx(n&@о\P3q.-n\d4loIg{D[:yhTx‹csF2S#6*W$25lncl*`uEtҮ^ߏ$Cz;n$ ZnFTO%bu4{oȩO;+$^|6`>[bP7] @^Y| z)!\stP(T~$rhxP)w;|%AV}s78(J6.ؿٶ Ξ$`pYr<`U-=,U7V?TrǤ)iq`9|C~ԪH*(y-'A,2BX|ԛ#CSrɱ@*\DQ8vK8\GHtVod+w5nGr4-q_ˍQ~ u&d PCއHiËKֺD䷐&KK2>5[DDh7YWxM5O8%;@i>S Y;[ikL\2եkyd)v{ҖDq1X~t4!^qAWB4  Q^=Zj փ]f#5BD|Ik>t=Ey WXP<"1MN-cu VlD_$j*?#s!dQn3R%ymo@j|jWer:U\\@{5e\M&dO{ڬ;u\b\Q$~nOe42ڏ4.3LU5pjѨ?#v1(Kc@-*5qBG x<ѳyGԨjnk=`̊jO1$‰1:SvEoC?InП>ߵ${)Wîu07UV߶tluX ,F_*iYHp0[Us8d ҇/%:{ҸJQ*Sp xuЭd rPIE3_kFOQqۊLc|U'B2X&Pn5$݊?ŪDtSG&癅ƺHGǖݥ#FN[s+ |[k  Cxx YZ~A3ٶ@^>CpK:NѢ1!N!BAƱKQtdf~$J#K?*4.&UWꆕ+nkͥvrTNhg,T5},9K\P.9ORP⾃I/Z,pAN`y, 쾿 :ؓ#OUK9BOy(u)4-~ ɋbn]3S-8'ϵmo[nS}дIujU$u^?qI%HQ6Ycc!x1JQ_BbJx0`2Yɿ[Ȟr8X$3Oe؆ٶ2(y-QgsgiL1ـJ`Y'%Z-qn,9a=a"_to֧蚐Ph* o53˗Y.G1xDgw'b(V3Ngj?.,2#сr̸iڑ>8=ie-H1: {6VW;{0DQ`C)=$THX9}|no5c7ut?l}+WȥID1T VbQXۂZg5rQ,^ņ+E] >Zܲ^jN#nRNZ2Q![- iEqSdd8A׺zG:dLd2P_?߁1{T8×;h$A9@$Rv*X>acoK{\n) $=Z9j *c4RM\T.F̍8F*eGUbNi{8ɭ*<+#P+ Tnsn׾{XycEu%8|݆vlh|lM.imXń|CC| TYOC: k㸦gh(ƒ{k?PhIz\1Wnm)`+R O 6'~V^\DujUD.yNB^5" -~1V#ym{tZ5UbxC8`]ݶ- ˂Pmab10,c}H9|'}Y,քo0|&B39Y֖ uسxaY B*W_cI1Lrb%傸'gQ/md3Q`t*n}ȂTiȳ\`%=L&Hcs#=⛓DC6 &A?30 w~"s!84 \̏P!yZo΅ 4 f UJX r% ptw"ƊSg%CWwbtNK]q_XY2ui֗_@>rWuA"OIM'TU|<0*llz~Vp E~h~".վ/1?ttIJXl\eKM:(N=8g#7J|(4q]7LKU|0moKeYbnU\qDSIxa O{.$hE^a []­M<Vt:k֜P-a/0uS0My:ϊ$Y EO@Pxٽ>5r2G+yTy%Ghpkb)5.+VP4ABV߹/ҥRO56nϔkE%0u2z졗FBV { QYlpy2-ټD\n] D kRR_NõuÂx$9;AE i'J Vĭ3D^3"S x?J5KR#>gY"dQ!+7O[JH$f3#D0gɂΆF=\/YsH߈E@r0IX)5'gCo=z=W23 MɿV~N, A.I Q& KyU@$F2uZ *w4ak _:rC&/||WI2N:czԜXn6"`bv/R@c_x hk[wxqhY4\pmuFv7>V3U QC6Pe/:2Rh9ҤiI|vj^o71AbrXe^<}fK!vԢ!ӪZ[Xus iZgj׹aoND~&YXs^]v}:#K]8fC4&ߖ1!i8Ze"63|S[0ϭ)۞ѭ(_PW^Vٚ:Z_4\Mtьw+$s`'|1%Vٝ7(”XtA$_KۉAGC*>;2a/x/c2y T.㼖àý/MN}OjVs٠p_93=OOKubZHcJGE|Z ԮC;'Ԍ2c8`I;G.uc흟/[W:i<~ *Z+ r3&H7|fQXW ۿ( r5il$t2D,jwY+癸I\7ܤh^'`NsLddϳDp{bTpc}lo6>Ue[; }]E"!O =FR' LgrMppe4)%쪩FP2¤/u|^ VT9>hfctVwk 9PZp><| tfQyd/:2 6RO5hY~JM6+&2<{g٬ekyQjD+:iL"Qy+7躸S;.@gpj @c̸T.x?{¾Ii6BD PmYNoxXŒ~Ŀ<_5kz?õsnYH<+P䵴c8Y>~a3Q`w,Xt(ێo]Z]c<{r|1Q(QQ@;ʃ8. HEOb,dw_8цX4*f۴pHPL ql?^o%5Yŕ:]a";68xX|`h*-m/ 2&OFkI.%e#xYjH|g r7ԄϦr~X9~> &$e&-k: O>#Ud ( _0hWU\{!|4GD"3H;wyxo1R{W&la>Ѷ˗*ґk<4rmqz<3,\NDxٴRj 74Ъ$&dI<[ֹǫldz|gl/H޿'do!(6E8K"l)T>YHPg([{6 bAO48 E' }3^3S`N3#t5n]-d83lV.OAB 8_v1PV= },TBqZOy,!tvwLq_Zе=Dio_7f[HviWƇP OjFZ#|bkSc%{-2N⬯C5Fܞ<_@4']HWVeLtM/۵*%;U'Z4U> rA e Ƽ9Dvt vqt2$S$qsj$@+nbܡWPUyeũv5D gjP*KEBpT`x-Ї''_s,\V~0Nk(l#h8 !=#TKG>1wi3ʕ^ZɊEi9cNCDjE`/d>h{P3@&(qH $*hP5E0'gH{n :Vd&7L[:j.dϘ <`"gg=,tUVr7 8_C$En `3I=\$9=hhqWInllG+0Ш1q>pꩴ#R{=Um??ޥX$xr{C&sj%B!̼˻tJ=#Ѻ@WEnʗmA!{#X$4wit,wYo)B'yn7YE>57jW{9sXl?pK;q{L1y'pp N?˃*LKc=0g;%yZ wE6K)SQS}!Fc4MB'oY[.-yCGZqUT8C?96D(BY#60 l$jѹ|Xux ,8N~h]'<~hcqǣA\ C (FOj)3SO?CVLh0O[ Ub[T2ħ7F.Db _pCis4RJ^$L5k_t|lL޽ "' AEx qC\ IjUL6:YTқ$M ZuP su{ (P hM̛n0q}uT%Y3CU'0,6\e5n 5~=]/Ҵ:gi6KKŦ$i0# fPY,]Y !cIiIJ)^v׾$ HDF}طsWfz~~9kx3Jct|(Ë WV|pNBwǸd0Ӊ=~g!gL!Xٙ<9ي!Z (Ċ>YYYM9n(N/g i}6I2(\51JqNtIzr'Y " ߇KpfVʰC&`\[Pzz/V jv)=y/әBь^3˹2/5Þk?{E%&[ POIY,ek7DmX2 ~Ā0kiq%࿵ic I^avxPpo(IGRu}`t;Fp=ѾOYE#d-^%44)pC2Jvכ峩F2R)ϙrl&?(gc SI~2Xpq/XE񌯏3˹[컏ĸ7Egc:K}3P]^jҌ@>LĈO4ᴐ9ip̜OaX+9ף3!eTIjpCÌM8Ѕ8}Uupjh(M߀HI6.#YZ vӊ+1vRSIls=lN>+b\2Fʍ+tk`Ek} B^@SEo:֜d͚h-jb XhBEٚ%Ŏkn>^I#iQ%ʐ1cnqUL g׸bX"t>eK05>4:4 (5PBCS~8y3s~Nj.ëJb´"ZND ?`5U@mQ^:<`Kt1l-]B2*k߱cek#tҭ;d鷊W]췕'BDϠV k6|ʰÅ.RN3wep40'S^ y^\A{38awGEm>m ˬڝƢ6kv^N/SRs b:.LH!2ցTaeѢJc}܁+PZ̔,ԬFaf5q8<)QuT*%SsKh}ZBvj{Ƒ#fI}=Njxbis+J3ZF_wԬsMH4(lλ7&tiC-.x=^a$ w |N$.y]޸hSC%*(Z^5sT@lxREw/C "(d=@޻`KD(? q<0ݫgkۢڍˡZC 473`46bh4 |G >; k_A\YDZX!o[ 1{~3/aEѲ~.%5>PG.HJsv9i$7BsעlH z4p{ pRL .ݵTkgagZq!= >jy85{S*VWG D8gȴ-*9ii.=yJ3]$W̪fC38 X |hl_GnP†^紖@2!/BLr >XkcL@ u [0B]5+ xLm2A0[V𾂐WNqZ /jD2t^5W~9i-ۂҲ.TwgIcWtB$vž%a$WK`lh{IIy4LB=6hꟳ kak2۫rڲ {A}-<5^tϤI hƷabQ~ͨ1\v'IժDf=D6.~RBH=LSç17ι}ϳ1 "f0*8c\QY)_:]< yS3'w3.ˡ4]xbe0Tiq ƛ!e>ǀ-ms7x-j>מsd#Ur{vV!C; [g>7\M$ܿ֡8Sc@%tpzõ pqaN-RS٨[_F1~)ZDN/(䩌Jhk}Y B N:fDWW bqqm9d}_, tZ/s"!^Zz3 f yXD@ȶNJ酖ÜD*k3}F«#⁕iܳ[Dyanoekq PAL䐃+XF8;* k[f<ڑ*/|Y g *MZBfta8FI&kl9]\Lzq#2+$-DOIƐAٳ-CsԮq9]q?8"| tה͊^o7mkEa2IĒGaҷx$2h31YkL\!FyXQ7(< }7poc!A/^l@K`Vm4]c"3ґZv=<.;iA$47Ve;)?gCvY\Du#R\l!sӉ;:MEA7$8~3m 3 _S}g5t2j j9ǴGtדZ6/27OW+Nw7Y<lZ@/n,Vݭk|>6FXkxlqa]>su)MOV2{3  ׹x=E@nCo4- F/}l񦣡*c#M)rpҩa#@%?|+?r0o0 !tF Έ8 =*§_fV_Z-a̾ {Z:6,Erγ*T̞ۅ '[ɽs9g6֋!2L'f-0'D䬵Zs CwGd3=oYgCZDV1A SwB2\n}3%>?ɋ8g^CKzIsm?l Upɼ$uFص>\a.J ._gAM/LctK(Q YP7"|5ǖ0Aj isРE89ZԖzo,'`RI 'ƽWLgsߏd:P|힮4*4B/]t &@IL3bAzcLE4dDW< skb)>U~_^QNߪȩ_mu?5P;BC̢q:'9xW L#bӬΕ rm'PFA1i9*񡅓hhN}M/F(8l"ll/79V]P+e#Փ[sCQi09ųw<7d&/1R#Jw1S{&׎[KQ"R̋/E 09恶gs\Aef{8ȿ$>c.yG Z 烙Y+]µٮ3UK"gsY_S_8\>@Y 艗&KgoL|=y1ўi@G/n_lF#B?76 T55&79#_AH4JSgn %ZJXH=$-?,ICQmT5I$WҪX|X㦱tr:9&5SXwԓ!:L|bxV܎jKf$h!i40p7v]=Veca'Ty$)6k:v.gU "WX+ 4%3QUt)56IԁZ=[ly @N?@|lr*}6?`+I wz)4%rj‡)e[3.$$8jLݼ’Z(kED>Ǟ4=>4`>a'zFfW ֔Y_i`lm?l0Ó {;ܭ0U侖vC n3AT3D+r,@_T%7>w0=ֱU: w&/jw-KҮ5F!XX:yZ`Fz׷ WA,_j'; A}HSxУ8M o=V5?NU7>X^q-Q+1:hxi@)=PUAu|& q`qQI^W9.WT 쓧(]7v͌f̺/mH,f[KdH x~u i0J |fBaW"/G9aY,NҪ)z5]f^iE}?,={:'DKrafn"p1P!"G:ԉWZbψ(w V-zVFr.t.swr%kgeh9-տFirNk|inRC[7ct|uBeNHxa=u毮̝E|LH & \b=΢-p<[MM[˻ B1SV(^}˲\mtVOz55z+;}kO-/hNwW XSKNzr ?]nOFT+},@AxeF; g8e׻EA47q{AW6!jX(7~UWM٦E]ԓ霪ʶNzVElt/KYO c ЏmԣA݆ıb`א(z4%AV)(OsXLO "b\S*sUb $rwB`#2c% &/BVӇb ^`f;_3~7§'iq婧y T>ڣ!q@]?ƶp7M}+,Ů X0S/ue:ppwS%GK9` ፬#m%^c=H0b}^e2iL`1ֆtx]'?%ދSV-y÷ajVPl /:?8Zn3v\狟_bďn'zs"@EqO@~Mݐj2g )R92](VJluN}dr.DC"U/zڲx*WL*|cMͳ O.23? ư|D;QrESt.Y4?%YUmuceKs7J׈i)G(#|JDnmhdq;2<'=;Ld⊣a3; 6vn FrK'ֵ1\2>n'܎ -&+:UTz?Ad:}FX6|(;g)8bGƠ`Mx􋰝n(3fzap`jO IKZʶLxݞ ^<$UI{MHLՠԶ'h $>X'=߅ 녦~P!PĶH/ST>rQ\ ~B/%g l8+)%vTy[(}"M45UυtL]ͳ?;c(^ЇPܟn)h>$)[ aRȔ1m@@_%s t*i9 #clJf׋>0{&V$wbHa k!^DWH'7XO3Nx97L9ёx~ᤉr,Q4{_¿ZO/9̡|llLXFȁvݵ(1+-}'f/'E՝#C*ldVn7bZ!4Okb =^)uY[XCFq>[4Sݥw~I&@g3UaT` s=W}fЦB[EzzO ȅepf5!1IdÞDDW mnB9W]o\Ps6bH/KeWU A;Hav˻LhE)R5Wї1>>9< ҧ@{V1g@jt.)Q0~<X/ne2|Flp-0c%i$́1J~ E_ EecK w `K^W|G=ˣO#~foLL*&!3ߟ2j}VKpSz2a Kp5s{cZ*H2a^'NDxn7&șlОzuwqyAXc"zȩ]ղ "xzcb4(ju^/RUzZ$m=c:ӈf:3imKmgoZ= *Y^Y]T'a; ,G7 ,j6ZA.{B˽ twj>Gqw訃x}NdJd@et@Q ]=8zj:Hs gZnUHna٭eRV4)EzIO$İ%/pB4[?p<*5$ֆsU˞Q*hv7"ԏ9eVMyEc*5ɂ.$tje1R[c^>ЫCwvPҷ29N wCëXf˼;m;~À~ÐZ6t6`(yQ# 4n{3 WO3j8_p#薓X"v-3lˇf"n ^T,%=[%q:^hV6N`a}4|fp%x_LrN߂JFZ`8 yt\~lʸ2a|V#UCX/tM?[fNj=M?K 8 |G. C[l)C7 #!hUrd,4xR̗R^Z.6 vȝe~ hLfJsVNH196G3ުVݢ"H3v].+ЃW3^s=gʱ2CdϚL?|/{yYF2̽4kbA*ؒV[@)Љ/z.;YgѪ=͸/aLJk`G7y!v9UpK& cc+.#>""GH:.J4Zhմuior!<ٗ19B[ʗN"H"``%&^4/tMJ~pe7l2[zLbģ/[q 3i ۽KIv:#|r54>EIv.\n8ŒBva2"*.NRژ4BtTm(PhPTy=P4Ю^(n'R%hZ6–Md^ECs |&MHdAmkfOxG['֖d!2Fy kKma*00g 3ZdkdIEqqXmE&N|99a~"]@BxOtgDaHR-L+*1*ڶV _o4'ϦH' w:(gz{鐓x:Qe*еR++'!.4}+AlXNR^e[:.錦$3\6B{&*`UDu}lJj޿1 -/id!&dB{*/ck&fڷcaSL@~j!+9Qzͪ5&MkPDTʵux6Ն3ҷV| ]EfnLOy(pDmjsZkCk6™& ң@e{~ȁv@P̂t*C&Wdh#ԸzWL0v3kHļ%ǸS]o'r @d9 P\%MQJA@+ =,`gkK#aGNEiQQZYÔ2Ǐ#~! v%F;54ֽ0}r冕3YLP)ʤձ9Vxȏ?ٶ8ź'ԩKDc.}\f\wHE!qWU%)cZ6gCc@ /{>yJMu2ƅv7=6,3VŸHœKkpQ/}LΜBbN?ÍM#9N$YC7qTAw@FX6(v"O J| 5֩{"DCMik9Uh#h@f]uĝLPuSl'752_̙|ٽ1u\êExZaUچj^[9 $`OTDY8HhĄHt\+ԕQjVi6 2GZJ[OӤtq hO//G%s7 b㫥zci=&̋m!g3iDWFcjm |=3bt "=ƢL63? ;XP{sxRf#efEîn݅]l5~'cT /IV6ПN9d kJ9*e\SiBX|Ÿ |͋\ҹ¶wiϝĊ?5`cB,7*Keg%Zޯ[.زY:Ơ4tg!qM)8bJSۍY@CK>E, /+5"cm{4 ˾tn6*D6E4V_;brĚ~%%rK=?>;1)EZ0' <6wYgd2uX2QIK` 4c-ƪgzD?LӮJ.S6~ߺMϵIYO}AR[d #ܢ(6>l9~_g~,Aˬ+6FZ";n ]q,(s}Sd$XR2o 8;}yZLIl/y*|H)Jp{qY15|pKuz \j$fv?;\QMv[kk/0ulU9 B%-]94bQeVY2foËkk{hGvL PWvxO<(=+*h)ȼaʹ<-~$4mpw@ vwHc+2'(vcMH-Owņ; :EOeEzs͝|ޅKIpHm?_k yDp8Uy>h:}8 @oq ~zF"ג5>No)V*Fν;!?AdB»R'Hy<=0}f |n-/hi*aPk87h؄qf3l[0_Á'IŃ짜dՊկar2N%耢2$S^/Җ$ AJac(9W:vQ*Gt*p."(ʫ_=N~qùEΠߨQV;s+PH"0FrE_ QƖܗ~ 2֓|-/jZ6e_ ["yKR!¥6^rL<˘E^xZ?Vb+"m{0 g v)/NRgHeF?4 ig1$'kj4 ȭw]U~'D%鼞Lj7/,z'55#c+Rݭ[ҖSo8Mrlw=b$""|"Aєr!B=Y ,%o ݆v gQh!Sκփ-[~H-n^hG ])}((JɱR`?3PeB$EnHG3_K늇=3.@^t7!<$xj}]䗕Fiu$į>K$7fx5:g=jנּ9o< E{ߜ ֊K2=avڐ8^{DW=`MPSUL8JoAȧ1e(aCV ޠ&FrX?t>ڬN9$k[w[ n&Deb-TVAUqچ>[xEʯH?$5҉;dmW"jYڍY䉳q۪c8bf̔\Z)lk?/`+J斢H/יn(T9,emశNHw[`pUv1B w׬ZYtuXSJ3o*+*g;%3 Gn֘_ U.k,MQ ~VΉed5-o󾻺C_$TҡwސsT]k'GG^JY429ڊQYy aVWjuQ N'JK2J9nb$ܳwnJ +یnp^v7TT?fq.y$/W>(nEq{9HT\K1x 9"ʠBD-n F .jS00vugM3h F t/pҀPٻߌLL7]uM$(Ŷ6 }~9TZia >7ZI^%+6b#QUD(CZG(N/9ԺDLh*~\7qa_J-9q#d5Mhy/%I=ctWWDJ}\4B  f}6s:˗ñP~BKJ o3eH {`rGH?CItOb^2iG꿌q@(MJd aO} `㐥l,yVv%TӂUnzQcܚإ20Rs'}e=Peu*^!z\'$reQ4BSL#NlPS |=6cEc9?"$`sˮ^!}B~2?I w#sԙG toaL=֚i үHm6DXh2W{`I/ՅIwI|`4|᧥Ѩ-݁v9?=1i/]=cH||{cϨOYO]MաF ,&wT?)*:o/>R)e뢞`{̫vV] Tðxe碖Z 9@鬚+8:m̩iA-y1#L5j*v%fEL8u+D@k NJ!v uVi-dS͇zp ~v$GC_b0E؉)L!I2y2+*}vYiuA&L/dx{۔HW~)u؆KwnNo)֡u&}Zr)ÿ-rzӗ1 1>&md|t42;=!hl>wG|碶>cWZI˸==D0a0Ki9ѦwŽ4g,=dCq_B je`#8 ë{- NJeRJ :Sk!/ (|{jӢGgRiw<X{H(H.>Q3["t(+HLzֹ w0_5W)6\IhotKQrOk>&C2 kU+RzHJ[ppӷTaSIkbqi'.󬕸% :,v+c=5׶Fwzbt0yx#:j'/av@hXRBk!Zly ۈ.D$)94c[Os>ͳ ##`c1㿢}:^3H  u2adc0'ؾS+HEgy{v_0}$j=ۨ"R#58]&d&wmҪ(5'ԊK_w^^?⍋v&LqsVI}NR}|²iܔ[|Zrtߐ /M 4YBw{R:9DǙVF,ٴhX zSVYj56}Z$ *#ct)&K'EPܒa[Yg5f",]eԱ'WM21Lg۩:CF<aLy $N?oXڭ(+(&#A w - 4^V'9Y[5ҤL:Ҕlszm䡸 V-BLVASj^ l~h*XSG'v&EGNb\L099DϜ?a NkWLدU|4ڧyhܚ= (ɡB24Pj?Mf4L{n:?dD/A04R+b",}Zy6t=讃^\WQ1V`0UXxHʪpeAs$sp,~ ϨܦGOImì?:2~ƃedN+)bxbjAP X;44J/45O X'c(4 mG97 c=G~{dXMm" 1;_)Sb?dlc;u&`IӭVe>< _bQeF$? Mx#TJUNR#7w>>4D.v~OJ*&YM$c.&zcqPnXG!{\)mFclͣa[Am̷h#:D G*4Y$!p./c(v,xcD&pQx4UUcaNC[*K(k2iR䟮N?Xc_#pNb>e D]\_b AaLVAfG s s)j)f:o vAca l<|ڎ 籹`8"UxI9hSG"ERDOx/φ;l)f`Axܴ{HT9acp =16EiJ?,LChi2/(|.>o'1sAB<94RaL[84<>֑"J~q/r͆0zfrֳg^WX||e݌}t];i6>7_؟dUa¬'TD.(?Lr GF _ō.5ڬE8]Vj4ESF|0{4ʶblzBq~䰻R%¢ *?w(xTCCْY 7ҞT$+bd-_'>`7r(fi)%%fjipq:K ?a>)Wc ,2MR3b8՞xdZ>|K3KQx j^sy ܙ 6jCg׶Ko{MeRj{rmp7GgA<P]aĸ77֖XhΘR'"i*-&ўL){%9BnŜÊt!%pR`CXf@݀L2_Uc{.cv.)Ľa+bF !)ttg<BbFڜWQ8dQ87nw  6q~7O7I~W'_o(

qpu5Ȃ$9)g3Z>evS ]*p&_8,VBgVŽT,F\{`v2; yXQ@m"Z!$O2>!ι*ъblg bi@=t-czΕc Lh>Mkz/KL-t@/L6zcdPH,B w$i6a{+@gfq2txaDN|T<.R\^0Ё#GbCT@gϠڀb6OަZm..9%9zLBE^ί@g$_2서 ?ԝ> wLJ܌ݽu={;D(Is!ylP ՞Y:\x H؈B/oh B :G|6į X|6Mc.XdK80J`I2 3_ R}P uqCBlF7a@-ERɩxL7^-\z9:Q  Ub8~'jX]Yk)X%xʸ'F$6EUn)=oʅy%cCplUH`4퐘>L6hʟVX~/(`=,ú5geLf@~k|~IsQzu40;N"pL2Z9 ^Ngܘhw5d>zT[dcy|x=0eD`aoC EWic4~љb4ZfM#B U>q l')-gj*i;U@\ ]Vɐw)@g/'Kmy#Sot\*UQU$es6Sw [WW@r88١m!o2\Kxqwgk[G8`^PiģWT{ΔX9 /A6V^d[u>}N]F3:*LqTۿ&H)HQھ%zHEp)tfRhgnY LB\|h$`8QQ1L1RB*w%k7asvV0OB:Q-sK_u{.[0ͧcr*c6{Iʀi@)C1YfV@c Θ#䎴s =ڤiܶ++Q}RN-řf޵%.!VĂ]]hh9/juMM pu 1 c%zk+ ewwKSE G|):9F,w $7d`y&Mn}UG!pe`b8$";a4(Ӥ ksƑ PX`c7+,Szn;y\$)ηPnf'eY9; 6JpB(uVKda;73*J1PUNpO9om`^ .z3]P-X J.0fqs#̓ELHh&ˊnb;g7tqHMr W}"8,̠Ž& IHot(QV%LiPqZ;(KeZo@ Oa;*@q!.ZGi^ǖݪ۸sކܔ֝#d I56R joMEl!5wPު}OJ)`&0/ۤ:>kI$lh)${xn)vkaƞD$wϽl%K~2JQ`qmhbxBBFʑB40X{YW\0c}dm2?5Dp$ rhF[.ȉJ ݷM{[};f ҲePTA=!hPqƹae`-LT7t)v> EĀṤ$B)N)ۓ3H5 P \cHoSP>|rXiZҽ7Ut_*hwݳ%8/W8[&5ý7w B<*l[!Ϩz8u GX gM'6^+qn }'q>C'(wMrZX젱&P )^J'7_0$b&a1#FPcJtiC1:_t5{j؈|L|7$n#Zn M!biliݴih&X lxхebM2H2O0]ozLm]k4Bϼ" ˵UQMQgo|[hzf[(1Yx?Ef[-2/A l%v /2mxv!rw0"?nM*rWegS>~-OЕI";E?~ڃ|n4 XN  U5fE퇢<hor`0-2GF^bY/7[tS\p,;sxVó9&GUr) |3Q%-{$ fVt/PA%lig@*|%?17{V#3lR r9_|&6p2\7UF'Ok4 o awǽ~ ta GA6KTOc%Kʓ M0IT2[Z]cNr`\{ ؈b,"di/dd!pœ.1@K6#9! lZq4呍Job~.D%F)4c_8<-7BWt[7y뎥j}C''`^Y>U')xr^SJn1w0A`73(gLӂ^C &W8X} ]` R|;f*5 FAp4nt2F0gFK٬V*JޑSn6Q/[s00c0(d32VmxKS ! q]+.KisB԰h>bA|ݏտ5V/PW}a"7&I.UEyrlõac0^C( ^˟xbS*sM|Z|\N.Ȅ)Qm+8GmWE9m>`U QE`L 7߅x<CN~3[i7g(cݢ3 Nv9 Z!,_}9I~^.Cƽ"JqsUXck*>4wbeOQ@)X}λq}@.-vuڛDb17ڝwk%&Z[yu0L.l>X-2swY$ ƊsW 2EͩZ:}FOuzd%gj%VGHz"҅a٣<[A+#6.GRƍgQW$rcdkվq o`j V>ՙ$Bb(6!riygO5+uBQ"r+WX5S.б V,rP]-.wI" اFzG302]M̡p+]sZ?K{ؙs ,n:߹Üe&Bv1y7ݟ㰜&N<`ʸJ~+8ˏp4u+.x *R~AԻ@O2lm Dk߁:f|[qhX4>`]9Ep$p;&Lm}ԑrEv[DL.(Af䆚/K-%#-Ur<9zq%$Gc\4k؍cVJμ P?&>R~<߾JQtKlC,=<f隥=YjZˁ:xCXg&9Wn"xSVkJwd[Z*Y9 582@[ٰCx`Q{B`}o4#?XUz!4Œ|<ǹVH6蔇>G RC/5T4-p H»y:r|j>dIt|er|_J8mwYoJ,9{ۋ b!j<*0Ӄ۩Ee᱙4a6uͦG)QPOŬkV m [ğ"T{'="#7C"\gM%akAek^$ȼ ”7LB],--M LWO^P?E,3KJϝ薥D-ڽq_>]7!yZDN۾V^-hzt.䈉C)%+I]pO> }dՇv)U M[): ,&LOX W*2Alq<#<~ Nԅy!5#V~d=Y%DmॆFd 1?HY=0LU-]J69~q! fI*fܦ-PV߽T򷐚@|wkJ7),\MĬT X3bY(z(tGLr'iŋzIWW7TL(jfcx\ȂlFy;V=[CQ@rxcz71zϝ(y_Dz@50s!;~WwFyܛhj@C<` %+/]f}1POczYlXo]V`܋*CIHLY{a9>o.,g;jژid9^s}Y]**|I "ZHF)=کQ5F;YO9,g-+})EA f0:E)%?>uW=3XH rl%~0Z兡ߞӨc ih|H gָ'x9-r\guW2Dc&c m•VSt\sK?fU<< 3fʙV8S$zR'CAM7k!R50ҸLX٬p}2t5#,T9/X6u`/5q{8)mTydئ!>ID;be[KjG y[9yHUMDpvm2ek<(ߜx h/QˑՐaTtJBįHozg 'rK79LjEǻY%bѽ7$jfHWqS94\Iౌ9GHX~~ÆGf]۲ϸo`ȸu1!<$^NR[™*V1brrg}K@YhstmwIUmr^Z+*+RH &Wfh_%F!J7>dWww`+^sd M4DXrQ3e}_&>!pLwTҗN'fk|р'*b87u`QvT= > T>oI|*t}IDGCw~l9:N[PA pqZ6Iyօ$ʛ=-\UKAB-[^Q`,5uHv؇.ԇ(ۮH( =y2ϡ;L` F`ҢD ],D=Zn6‚]Z>~1+|m P 9bN̈́Uju{SU99q52p>\j~5A$|>pq1OҡEolL͔GE[ p$"BlI 7F4?)3 mo'E+lB:('"N߬+EwpӬWk=t^$?%%$p>3z¼>9391J-HS pQ.H^BVcEzR͒)\~Ĝĕכ<q4+M" j݉F-ˋWK2F 'N>:p7N?!$:|hlНƮ|A{!^khoK}+{`ٚ.a;1MA}yIr=TI ߣXY8b8P0b$(G'ptUf>R^ knrHV\V{,-7Jtse)MЈit&cƲ`z! +gqѦuee/UiAHȂPZ@8y=4-E~ʱ~>nCF|̶D{fPHZLNZz*[߈]d}P\۟5WT."k )ͬ3oVcԁCaPhRI~`Gszj-B|MV7Y&ovoGAiQ=&bF>xE7le> .b4c\v{NR ndWo!wLÎЍn#נ'mYTujY=GeE-niTLHрK dE"`&Ŕ]qe Q+7PLgBCX! d%:#9gbH)pap8ѤG-tR;QKϤ;@Rlu!& ߺKJpSoC&P߸>1!G'(Q;fJdcV^_ZovVe{4A!>|,A#aC4ux$}CwųB[ '<=%8#iT>Շt}U3Y%ߣe6I0K Ew|ͽ-Q4/9@Ѧbm.7Jsg ǎ"A&KI ^of_q/i(!fptMjRުjԘH(e^3?uTWa i52_iBbrL;TIJ>@S5a_gj{sw2._qDhc0E;>k-آMF(,!!r"&P1Mebң㓩mgnmd%m_r*WE-N`%| cx\}C6M`5sN9c[m+߰}Ky8d`[?>,BF{NQ~6~ų tLA-Ek"h,>c5p%w K('Z1WLҪ `aGq%VڅWn#xP …. ԰Imq(s X` %GG²}B|?sMzoM漏Ϭ qvXVB nw`meS(pݾ9;CO]^gL!1sOcrר"ѬirYdHPh-jOxsi7Gv LI EDqp,#弙Cذ>M= h{6"O.n͖ Ob^n)pҘi+/G>ۯPY6c0V 7]sx$SNyg e.19?! C4À] CMdzһy&ٰLvEarSSKxq jﻞMtO1 ]5k0&#j; ho]*C}i! WƔ>X/p t }=;g8} sfTEP $qm#ٓt^UE?Z l1vqZK;LUʼS,oy ^̋].wt>s|'l5~ɝj,hDMJI6t{a1ZkGr+[ʻ4H ԳBp'yDZuZ Iw)B憊z/^ýx l<Qr(V `tNI%"\Ys] 2uhF #ZVIe+8u~$O]%Iv2VELq=lwr_+'~kk 5-9r\sHFr{;IR$ h4M[jp#K/hq+*#jP: X#?W,.pƅ`YJ" K-(6W\p0ΕOMo7Y/wZfu]>t &TCh2}0(Da@xg -eBA}4Rk(MqLe֨40}Ҧg)Pʹ+VN#"# F .Prs<xeU'']v "Oubێ8L E1eLn=w6jAZl b[~vR+qy-,+9n;gTzl *;jW> KC$VsRHכ)Q (OUc[b--,cg8GgsbfQi`HW⣶ uѨZ/M|Y@*פh4UL*_m$QpU >T1&n5|rWΦZc)-@SQ&Zg[dIXc?OMwxH<[s-_idbկ*WdVnRgUrhqԑC^\Qm-`b "خv@"LdKRZv)z駖”0Qs)SЁhcbkVz|鹱8|F/0R9ۣX9vm#7v !"D.C5Q%0XӞ/n&4GȬk묽WTr*;i['s:P$0q=-ɍ< Vr/kM,U)U3--j/9*C \VVM_0=˪OBNqyغL'PQX)Ko]K(vL"#<:ӳ/d/2X%h˻}5\(EC!jf&7v/7Tm|/a%f-LOqBv SUn`Ѷyy;hMK* քݸLj5fmr8 f%M 4jJ8Ť):p$ZU,</hԆ a&ݶ[mE ƙKמ-`$H􊞝Ѭ 7?vv e_n3`<9&T<Oz0-N#bcK껩V*P C>ûN֣]As5#̑AS sD~{:am- |@O4 hOt4ݿL!cP/EtDHeq(/~ЌAn-\,.5]Gd/0>s 'af流!HxەɚiGguV&fߐдD7}JVNRc:A/29LqLx m"tQFv*?Kj/2/"z5w 6<Rތ`V"k\UAye2?U9~%2WxM-v%zCSS7M%A۹q&1ѧ.,sKMj@+ WhbҒOJY6U 9̯ͯ\8 vd4EzlcCX{]}1ls3+_8{S#HRx&媮~"Ӿa L)9!-sc*}|Cź<‘E.ZHh1HZXEh! ϗNvVZЯl:T;"&cɅؔGa*]T͉ťSr1 t0/q1NkQھ87$o| g3CB84-7BJMwy AiFqyMo*IDOy*&Q7o|[TuEyVvhyiػjfG2q`ɱ/`3uJTFk_+Kme_v8"Q5g\Bkg=M?ň/,3Ω:KONHjm,dҽ} m0Bc֟5aBB^'P:w!W$Q>{Yuh"t Cy'R-ڼd]'ѦAH*ogO8R, ½):Mۈ{@0@E)\۲=ֻ/+*pdO ; \E^69>W3V 9`|>kS="u7ZL*Uxkp6:WM+?H))TQrjڅcبWzh<B؄l|b-ji$P+WsGh"E ZAd}COD{3% n' Ox[sz[KF[. Kq l/-*``6h` ¨TQ:_zZcΪ~s7 A! Upʜ}Xqz_􌇤Kֶhܷ+frfaoq;nUJN #5~Et@*RA)3e Fᘗ63ڕ]݄)x[8qAѽM]"ime%T` 5}׳YA%ju I<ǯyY50=v.'B9>EK앾TDwdRClz/S>2/2Rj($ yݼLa<q(ɍj_{5oUb㡤ѱ05QY)[G}CTD\UB&+ M]% M2ɵX_P/l+r+4e÷QCCS`H\ES۹NY5ٯI~A{Sw MiY-_H28릖foMql?tW\%~/\c̲Li4w*tgá4 TgNomK?فKsEX?f19cƥiBbTuYO9u< D~8Œ痼\ᅠ4y \Dct$Is0TY7@ǡPᠡq6RFLM9*d fu(wntMzxט WR%Z1r ~ʼnK 1)+D/8Լ˯/z'ݐ = m.F ZB"wf70e,[[?mȔ%m}jj^BV\bgRDaW9y*{_/,"Cf@gUH сQ|Petɮ0ӎ cYD \w)IsF#%\2]'[S3Ә"KOjE-2OKD4o(ǁUrxg>JxZ[T9C6m۹}_M@+9m|NCB}J\foKJrەC2Q*AWZbd˨l+ubEIiwYIfA&k% XfaXIB~V46x?3{7i#d=*ye)Gl!(QTi {o(IF6#usBȼvEks|aA_!Z4׾ ]#0`p(յN=/ R45;7^i:uQ~C&%l_0^ctiv6!hQDҩ #z{X"OjK]SrbfFRX4rFaLBнݚWk& v S~!9/xH #|ശҾo=Hvw>jБ[ plo "pё]eu/[w8F#q@΄_'U.ѥp[D-"m O KlKj0(6-͌yvVb񸚷1nنt癖ȭ1=.8B/ ]~!.i8p>8Z͊ 1UqO0 0ς&AooĎc Bmetq}0\`=YN+dg*h?Ԑ=*0'WKZ…P&Pyj,-ױ4Ӿfb!+2u.VV]gX%rEm$_|)e!tw\>ik XDj:(H\/Fz#"'X#%`…pq}$QBy%Zw<ӟڶŃhк zW_9Wf)7.eATgOc13"JxΕti5s2YhթBHkUtY\W}e* ;oR;J^:zua0->WѾFsg7[*4%G^a*lyMjjm ]歇$s CtIFh GyX&aA 8{Q&JѭYT״(髾yvLE3ajwKIsQ˪&$HnTuJ@RakSðs5RTJqd9YwM~ 3)[K Mw1#@||~fp9_M*YyANH 89Wx(2br[piҪ'8_yLӋ6i`\Hى =|Ji~G3R:gMFO|;'*+yB:qN*L $Vk&}*ɬTM!Q!i ]rrZv$}jgZNqۂf@e171 d455x:d0?,j"p-D ;u[_N `g9qW3L }IO%@OIm!&Խ`y֩+/Yi@XcP6; |CR1ɻFմ6uYbk`*2[XC8╿uƽA O/ƬK^fWAE򆘾>VDzGTŻ| /9֟ql#b`418rE/;rN(}բ@ޞ a2(gSJs CUqpg)V ̷<"]UFy(@ROЫ}@ʡ!7t8E;DX4YHj7hň;-:6˽ݮSNDN9PB@ \̂?0%, #[˪C"hF\ ;ꇗ΋?'CfT$Y@eUg$x{sp9X&,e̺}g<)U==G,N0|~o =8\s҉`FJ!΅#Sf`^~s }z$U,~~mvg.h?HwY +wþO-7eT(mMĝ&N)9 xEP)xz]쮴JJJw.izQEC`[:g} |˒^EtQ5 PuGy9Bj<,ᡪ{1U]6`KxIq=:P$4 ֏b%I!e,Od4<7la:\ Hʵ$`l3W։볢J2^vFk ѴY[H@WbW>@4d~!i% sI͛6wfG0}v:K0rx"w^ia\*|;=mVӨ'xMVRGq;C̽>Ҿ*]XV|5bu@c 9ڐ/-& %S[BA2k(qǑQy[?$KwL_+dhq+KJL`Y.E+ x8&Dܸ.-1*\+h|wE'{Xᇬ5ލs 9w'~LxO c`\`'cthɕjf"uRH=cEPn0`Z4Fj;!JƱXSTTpԕ˾]O!ZH3mDm&y/+܃>S/`,ρ_R[(c>=` $ϛm[ w\V0yu5F?oA96e}f+%4F+ V5!%@w@:0b;B.qm =v'6IINB`Z_7kɮ,՛s#)WQW*/E;Ѹ/f9i'Lk<3Q:Fnk*jeu| ڶh֮d(Sti[tru>;De08Fcge"(9gw3L qY[2^>v,]1:;~^)|Wb1b%Hor8ay=)+qg@{j)/H_VB G %b,CԳ.p6=3l<40g~oM=ROбӶߟP{ l[=%̆oSz1MIxReuӸ3)TX~ xv"xTOӏ&w'(>.Pܯ>w9`d2c5D/& C[x9MBx]^ƀ,,>*w!>ܑ8ARR;(LIDKgP%da3A7,޻py9}b\gS(.Q 2#'z٨ jBW w=c[Hv5q׍㔐xm~"5!)1g_VV= 2J+dn".%Wgi M~fyA;.V\<#n9rsYgI6ciQ +vfvI&5Ɂ +CdTo5_I$LtRl08/P@gh4Jlnx⫆\8~Gο~c{J)-rmx!8Z$omC12V&1 >m$i@%{';T'چ㎉"yԹsv>%<*8:#YO>72EғJ$[()9(<,~$}#HIbPTqt,ZC*cUh83hO7:#WQ||)I,郛LJE̞SW? 'hGĞgfa#%Vǂ3O{"}4 lٺz) ogR6gjY#|(~҃ tvAnh<_P JunG;3ǶGΞҦ!sr= 6 XSL~EctAE+'fI\^L8Z4K߀ZE& R$`CB/ ~)*Jy+Gp;2bQ!S]m661f-z6gNn75a b'J1zq$mP R}/mL-eDKJ#p^"mЏ;ȉn 7eKf#Pؚ0GxOLXJ\rOOBи#-GloqmLi>c~J?4Ǿ6L5iՙh?3skƊȯicHG\֚ϓ'Ex^\(7zzpZE1VEmX(Xl#KH 貴*]6Ʃ% +UЎ sMc|WeʫTR̉oY$Ֆ5ܾ=a6pl=ZbIF G3"_d޼U"tk h‰[$G+ɹb.n~kLΎ ;}x!\e9bv6&b2"|3JIQIA^z4H{}2 (H;]r5-ϊӹe!vWt"K4JʕYqzB|~jOn8#КĂ z]A:CY$^Oxe\a .eKLW@Ax16Dg:~ڃ|(r@y~qz}QRw|J1K #hP{3np͓[tLr\L=d,άCQ `~tɸɲ kL  G4S [/^pqA?ߠ/{ы<}QsEv(w//}o9d\-ovG}1[GқSb/rJDZ3Q󳿞^nrNAȅٜ%75mA eCqu֓y^Ϳ!JebUgXQPMc]XqK[ 萀Pz?,&YSS)% pŒO~Xt.k)D밪i១dPo$=ul%2XtRJZe!o/Q;ҵoaH8 { _ ધ%Yd}ZWHW+ ,4I]="Jx0kSH},>+դ0&=9CY0˶|lST;J5J$ {MXC@/K-sH M6]ˡ-li -Nfvij_<]9.q! duGV"H 7L +X8YdJsY;T((8l,/|fOf!Uֿ[.C.^]V䋺x e }vK. $F96 S^$cG{[ltZ-ϐ:zi3f|<^;)]Kﺶ?dldڷmw2 blSCPnq39^k̘쯎JxRBqݔ) %Mh OTԕnj<:̵aU)yVs ݪOmw(OJYEcPh<`cuAfBhWDȧ pLq qHCqq,o@ĺ( ~F|m&HW$)#KȸdjU)F<_,4$hQ+J8fp6Bk58Om ^t$;N\w!_73}1R/5ߪ (ǭ N :93t$0Àe"Zw.͊;0g|CHnh!o-3)e"aP'HR)$z |0Gw1I>ǽ0h'? A>-GFv4vz^Lz z4W6'^P(nNA&|BSxMtdaJjz1r I % Hwfa,.f#a6DE r!HBƛ_ QPDT1g۪&w>(' .z[mÞLL2^L G5\ xTԯ c<N'~yX9bZYw#Ԥ<mNN AAxKtP6.0>TbK_m|LDa40hJ̀ן>!NrQFu|) `KW=t֗\ % KdV,2t K%EDzm4ɻ!;CpLt(Dn*ν2J¢{WHjD&oa硰fdSh^96 cQ^i/(SJQW dyOhTmM0Ie ?h_yXI`S!ΌZ3Ia߁lrwGs-=on#bD<nйM/_C*K?*>q lh o:q^f&{K&R1:ůV3*Ts1f* !yE'ڿ]=OQ J^˩i+uPcb E:{)WE#n}}<0HKTqEV@t@ Hvݖ_et4wRn7} ?Gb *6>JTmgF)--4fť0Ņ"Kl8-{εLCeU6ۅ6DziE ?$,Z◲z~AYZµ fDe.eg_Ө'"+V9=VŌq ywagDN&H{M(z5϶hۻ+:\Ds_HTw_%roVB" EQ fsWSB 6Ff u` |[W55AS}8: `Y, %։R[DYWQ1Nd0zg!nw2]KI5uK3tsf[G)9 YFrY}cdh=ӛhbiiKh"^gi@gr ݝ`k{ i^, Ħ~lUӦ:g;/dy z4Jp|H{ڢX-XZ*˸>gƠ_H#?lHGKx̤y9U= -˶Zd^F ݥKq )UP$G<;7 X㱻S"wMp\VOL{FZ%đO9[d4fb6) gD` Ng~L#jc 5uL/9eIk`C_s7Mh&7th>|u5i ׸^ 7~lo"eO¨cRuE4{%7 iW;ByGNULVQ.yr'ͭc*tZ{@gGvp]1 Q&lx wS'b "gMF>큱lݣRE-@9=t{JǏ"ͬ%VCVjC+m[z"pBOO6$ji85@*jN 9~zz"kjLq1ȨTc& dIiF3` /`.Mkfr12s#f&R:0,839n!}t;†I8ژzGT`'M9Y w~p&$EI=4.z)\fV4uZ!W?كa㮎a-qtByz`;;탿l{¦_SpF&']qj^*7eº"J_OдBWϬmUcc>^?ٗbq.EA8 Q~/*'F[k# {3+Eb;%֒PP1 zBuXZEz;N3J ;Ce%\龎-E갡Sės"~Ǵ L*t1Z֒j}7ai< mz? R0(-C=n {(@q(,Z{fg , )'Yӄgba{s>$ Zz0LH[;0ywo{>ȦjJ] |Z@{B͟svL2ͱl7 (q=2%w}1Ee|ٵ>~V{ˏ_Rhle_ir ?^$+]ct]`(;jNPRHDtcXm!艸S.])k A_zp V`cG,Q|lxXu1J;춖Ź,ݒoPԬ输Ms8lqc9Խ?_UY>IS}B2E{[XJXRl|:ܘEV}p3RCRkE% !Uxy#7J1]O-[nvX7*]%i];O#艱 ź d&1K|mX _P/~ a'?p=a"4"p2vN0Wedo!rbĨL?En, uA'ǜm 9ky~>׼ wv{~⊊\?-f[:bVuT[;ji_T̢g3GE;@d!ejG׸n, 0XPgS0BË+85`j |)=Y#=1+0Hݘe1ScrpJYRخxy;چ Jn|~Ӯ ć?@+!L_UKnS$[qVJ:RPЖΒ1Y'Aǘ͖Uv.(7tFjfXE1i3% - DOMw-sVjDMN*)puKv6I .=H*ƣĪ ̸r^;#ZJbI ]A4Ȁ8L(f(N`ԢI7<񦙳2 )%E'a|~S!3yIRIr[_+ݜ\93ʌFVhZ^[Bql#|Fe$jIZ-V ̽zkWc QG!C@H7B Ǧ٪lbz$d;k3AԲdscGm,s3ȴk2t<^83r1D'$?.rJX kgf o.i.vߋU ,ZZ#EmEtS $p`Kx3(b i dFX/h1fkw8B 01,mKnNWo]:W@^=˄euKx/0chpQOtT@J(oɠJ}7ԟc7P]TTՙ@/e㑮L#E%߀ZًYyz9ʿ=Ya2f3Yy!LxCfEAhrTꢷ>Jm092.8z]5HB[bs][)[?iyWXY%dIXGZ-c.NW$h@}mkvN[DHJ lHxT+cKg}W[aJNYe;wեy?YJ0m. rc!ee_t0kS Գiۡ^R*uxJ&׶_)$-*8̊V1:9Jn7 "O,Q(A(9ҙS%cs.҄C<`Oj58 Um)*o7t´R<22* 00-}ń0茮?ACҼsg`ܿ k%b4WO_{%p7+a٘5Y\U҂q=kPmAc;5f33,+$Q-fwglW$9|VUq05_(ť+@.;TkCE? F ݮ%!\'qFvC?D7V8[^jw^ ^v)4TXiMP{%Nhgbz3p-{1Q{NM⳨[Cpz(tc,UeN36Zw^i8uN5EnCӱ#>Gm" {D#A^R"[˖>7 W%wlpHdspÏk3Bnyx_ ;|i¸/ox =jk-śڪkS;CS9R#^vVh͇?tcө,ZRL%U+!Hcdֺ?CJk6GҤ>^,It}\9eƱn`BM_Ykr~v0zuő^ /ﳖ8 J6$cj]"$t~#_GR `+*VYZH%DT[:nmX/ԤhM9W(6o d_֪p,zr4 :YB1"SbTվ?Zz"W!쳭fET@!k`AvPQXyAu'e{=,Z'Qî'.J3+R'ؙG&¢u=#TDFx$o>[G**3W.Ugh@}t܉xISC) 9aW h,1 v?$+1?>qnͽ>G̫'JB+mV3PbwMa@1K ZH-" 7hs{"9+vOv_pbd:7Y8z<4b|9egvҩ_Mf筞Ps/hi¬s ^jt0qgoe=%L‘?zbUiU7zk='.\X_H8J _ȥ{x暸,*0[ (7eY&^ f9RyZ.k8muɇSD(Ee@]V9]N&zJ*]|ɕ_&IzK #0zڟ˞`O5ǡyDeKԜ7yMгVI0λݧzXJ>uJ[VlXteh7aq TE3*@faYIT]P3,/?>&Ӗƪ*Ctg{GUFl5Pj&yxJث4ɊTlG˛k: [~lePx-Zr@\/[œs +$ghA"G2Wz*f ~PߨsiT9:p!{oGD5 Ӱx$+9?WY;n1~A 7P-ݥK`K|ʟax5bKxJ lq#-CCksj$aDf%fu]臍s{bư:QEX_"6Ii "|7߯a ׎x^'A'\ʦDLL614sC\!Z>7@@oyt㝷 ,\0f~ćW& F~3V1A8G]+[Ƴ`'IN5 x~.PuO{oGn~T80r:]qލ& Ok&^?V383)XqFP`:+ȡTI>BrQ U>:M\X{}'ۡƻEVEMй&ʫy{ F}G(Yb=Vf0z  0/C6u#-p;6`1,XsNy\+f2gӽ&nX0{@AS ^S!aۼX .ftC/gţvD}cF@}wTV6W~8f7Fe!pߞkJR`<丝lmsJ [(9x 7(aj1L#%&j^$?5ЧpCe bk9V~NkO+,Xh6O_r)f|n&pb7ݕ˧fpn|:h=UH螶U.K0!bM~M ^G#ʖ$Q,?nf֍%x)TLe#~&+,&6ya !8aGMʉܟ rCTb vshc>/hceLseUrü\oF'>/5T(XxAH@a]ϼ!>YQ"٦Ze*ܡcMOf$ lhHT5|tm\iuD.pJiR.=z$1ts)g@[ՠg&ϩw\@9lTS߰~05)bM 8{ufLwqn߆b4y&nҵe& t"'?!F7gHrJ~<s9OWć e% 缍=u!( * "7*GUS(U$|+,)muDgI3gӇqm``rFA mCf3.4VEП-F(rV/FaVzг%9DmG>R 0C{]X\-b%<fg2@ `X7=LmV;CWo1L984[i;'e /2a`l | n~2Z3ޕ }u-%OKX] p?qnZ)^+RLi^PjȤ?J0>I[gQIA (Y _=ɱQ\{|WJz Lcqb,ҡ!1[!g{'r朁4P7GSL @˾CG9HC|rfj&_q^f'$$]ќ']T,ZШﵕqi92b8 h:[J3&]}aa/r=5N+FBZZ[߸EDA|' I(g,?u2|gꇄGH*T!d}e{',!Z&]G%CuϺf;+.)x3a0e݁ԇ:G=nԠ Fo[A"9DC'_Z; 8@8ux8@/zwR+[8!0t_] (r++E /HvX#ĄQWL\eGXd@78|`%|0W.J*+G|47Kܝ'mi*s ^K'yj]hjz}- f |B3g*\/:`(adZД.CG_vr;ġԡ&(;ADg]&fAA/FB*2HQc QHlo͸<)XFE1w|4Mb+|S3tT)5#~h*zϾGD V"KOmȮrrMܾ@NP0шf)`M=6't+(G?QLirޟH̟Nm+"lK"&baz+JD~N%t|3v<+h^ R;utÈd_MV}z3.0K=HC1jBIEPr>cŽjn8OfHΕ qNvvz[nS C#~7c ' De@2$*}D\"ptf¨oRPc|~.ע*ЮhQJ(OXBk=lls="9:dH+˪Ffުu1tնKz%ZxkAcNY! $r]a6e;0i{08 d{&|sER=DezjT CSA0o~O1̣QXƽ9}=nлkzS7-6YyTRZȻb& 08ȉO5AxWWG3dkPq`DJ>6MEҞTeѱR08\RN Geӽڄ0 hU*?Cmw&eYjXcԽ@Z4yE I{ rHuŕZ5g(+>*mrv=2#@aNOE;TTy'|>t(Qo .bB?'l,7cKϫ%2MIB5bGrճ |BUE.BF?X@0ڤyNj8܌D'6[ gQD3;H9 |YY81fdfpdM!ӻ6߷#InDCzCq-^<|F/A݅_ 1$6>{?-8hwVAȭSQ/MiC k6A͏Vw}:r^ ѝʺQ1]ʴlaG@]2?^YN"]w\%s* ՛So$R_m@~]0 :apC^̀& BLefjΒd-)5 T$gq^/6}tQ*Sk"Z+ΰNcA (w+ּ;H>R#f7kmp"1_ CsY{aW9l3T2'!|N=TGq&tD2EXp' ߒuN? dboh/^8ՇV<ʳ+jzw͕hsU6}YbsS/`&GC8Lΐ,NKWK2nqb]1ISkz<ªoyv ^q)LǫAM fhBs|KUG9L+v}/s#7w i3ӆA ux* Ȍ(*,KiiZDnqhe`2dֈ)ADoʏpW ~ X ED:N\Yc蟮oQQnj}_cۊqPقCWc_ }QijX(M ϙ5Ժx%Qߝ~3z^?9u5%p4?ޥojY1=Cjw]GfY4~7`8+ طΙo,EI7BQCH,/9ޖ͂Yݍ-F60֭'2袨 ˏ`~˓5SBU &8aH_DKyKA99]YBM!U %) kaڪ-s7udlsã©Y9e(gÄl0|!2DhYRm3 H:4'V6.\F/ɟ҃ RF@`93V'JfOk.QN&Iˏͼh(DQFoV@&~NL" ?y2U>FE Rkܢ@s$VQ5RPdsjHbIdЪʒz_7jņ7s.n[1vbθD{ "e/bgԯl sQdBvFVO[NF'Dilԯ|^OflLhRqSB%C <2X9AB:c%99,lSݳ#v]ɴ~vgvxꃻcjUG"5Jɛk _eCL<'|Pد<|0 "SG*u sqj^|+eG~?d*%? '򵫴]T fC4QRɽWJ?D2B%v{Xh2ڭ)z;T\c'ƅTFhiN[oSQva} L' szߴ=o8p=KrOW>> Cҩk?nLxvobt:)U+Ś۲\F#*xy$-G#QpNQj+&y*{2Mệ (]wb{q^H6slGe3\L־S8PI&XG!o 4z eL; ܕz|3t{[~Ks֊QG2H[*+mAZ-)62͏IWmZ=ˁÜO@KXXܓ4Ţ!VKe #݀q8K!~lzsb-=)LDͨf2sQnՕBnc>*>ڴ#3fGW%ERhf8kUV˙O:xV$EG7:+WSI*C-joqb%8%ZɎ-40b<.GF9bDŶ$}d>$~'ۈʥ݆CSq Tˇ0#>|f.yxE jT6,v䉚@}}xy`xF!+>ΟU 0HV-坖o# 'EB^ #𛹁yZE;0(„Ksh@FZ,m ObK{=INJbhJZ_Z |2 B.TC(:Aٖ֔CE2L'=(ΊBn-Y̘i '_ɾV7`E|GQ̕W)< *X0cIjlE:5Oujkê y5󅛌] ~ 'q7tQMU?#L, O| O'gGveY=I Otni8VhWߏcEy. ʨ*y[P,sIyc APZ (C dʶu#eyV^;O#;GhcqU‚s2橎|Z8@CI;ƞ9єѮk5&oDa<40fQ/ll#1O(ň v ~tĉY"/42<->=Ou}їu=Sҝ ĿkZOCĔJSGȶ9]+7CZ#_dΪe7@ř0ǡ,=\ýig+Oۦ,Bdp@EB"N5u!+(1@Rm u8 |E 4L雪:EQg^εQȦdǢ&Wj[0>b[7hOEtN$E;]ܢ PP1Srl/"^dQ-ˇ޶8kwDiHZ}ZK(YAw@bX҂ZiRS]=|>m<2Hdƨ 8)h{E Č!`I<&zcڂ_a!N'OE;D\?2K{74O)]!>evIM޾P.h{ :G$9}L[<|}"~JA?upNK QpTb6LǗ@FIjX$o MwLَeL&5sL~D}ZG0}O5>!:]gL\84N*5{)J\;n'+ % B] = XUY*K$ }"@Z nLQ\<4P|"SޅU ::̈́&ɪ%Fm:x]|m+qX!n!{)lZZsUq3 ?M2Y,q]ү~b(Ҍ8oB#(bo]#aߌs}:.DڠzMYGYIM">TOgxN<#}tGeWtO|{V>(;?:Vd&Mmݞ"?<>%&o,Ti#=ҡ Ɩ롩I<'90=k=٠d8_cb= )w֕ܳY",$*ս|h7jsYj܀A0SL+)&I1 !Z)>@w7֣of"#F^HnWqhҊ_/ 0$&ȃijvm>0a{>BEO(J7Q>moEl uaCؖF$SZÕA>] Dr!܃VRw<1+ŽYw)<* rnKT~|eNKט06קGJlIo|0'<16>P(J k\2:/WYc`q4loNkz*(ӖYfeAdDJ k.ߖ6*xk@D/E>0cq~A&ˁOA%*nxY)?4Cg#JG얟~K6ݢOL1Q{zΪ U%l!+O2yKg<1v(/H róOW33Ok~JSi)HNwzp 8N&*w-~:D8)j xhELk'\6b7|nb4GX.=](ҏ\n+9f} `ب!)`0 |}h#7O nvQa8щcql$]4|ce*Eيzȣ?L٩ Vs3;,~>T!4yeD}#iF$ӑztTNDx'=_ uI@36IBg#b{/PUЂy:duUِwUUv]FyA^aSVdBAʝP|C7[S]P:TFfmY$ 'o,eqcZAtעƿƌ9YvZbYČg{( ;ysiM +Q9<]ݻȳ^PnJ,%ζtYZĻoTB'!hphkxp%>nud/ܘ 0ٚScJk6N7@{I&u oGCTT`z ~5xPC 5ǃ߭Y:!}}.?2Yq`4CBVYR D ŮTis@v}\}wIq^rW (GhqOu=t:N㺣Xo\ᖒL mrlV{6:FRf\x댇It^¢󙰍Tr8 #*awSSYS7,g: k0N@Za|F`b=~u\RnW:q}nX$@9V.P!I ,]]_+kpAp&dEd!j5~M w $8?σBAq͢םϧ_)t쌵rĦ#/e W H)uސE' Fj' 4 x(q H|Rߑx{mG3dBEɱu%$X\|7mBc ">쪼x^aB583cݰeQudي˰Q?붙̩q 8Fn}>H(C@^U )}<4e:)_E ǑӾP,ɰɔn5t ɤbko|mjX).إ,*ڽ;_Y'9c4Yɭ$K1Gד]e!e4D82`YϠޫ'?.Y+ {LDǽ'4Pz8`g x-b8X˪?Z(ڋPD{ukG}%@8lջ=&e!겒.1HA7ӌf-ـ=P៭wX<̙ L iNJ! /.e bD&pF/[:B8&%O&3&:챋>1P`cbJ蘣i8 L4_تFT2YGH?Vn_546h>,4;ԾUBP. zPȣ6_NТFm['hp@c]:Y^)=Zux[g~گ #0EudУ+^C]xB(ŧBd ?X:j`C$(Yz۵*, #\{UF23ydsBXAgK*x+SÑķ!ܴGK Gvn* Z|Fu] u[lkz$}$,6Xَ6LlnqpkU~q(5 ;-'n5;Ceywv)\rҜﵦ=:e.:{:uH'jˤ/b\lU.a^G8cp(ы =[;;ڽdbT#=B?~īB.`mn"-L ͫ[S(9h1Тh9bgL eÕQL3*MucD8pMdICJ@y> M.I 5XjQRYN=1P\/t`gUw@:S-QN$~~Yz.6QYM]C PWJ?%J.BVq( yk)E+m/q>˫D 1{32P '%8zB╜͎Ld?K!\* F}Yl*Cf KнD\O9Ԩ}gW?3FFoN~QƂzzPtGH]YüQf W:G C2{@ݵtR~ дZR˥e;Өt* J4h*seꩵ8}.9kPe-BI y8P ^;ꋁ"_{W P C WAP_v,[EV> C~d f?8ҹ=j9׶svMs*sl?3_6!MwGqN tVWI#e*$[dWVLdɺE^P*biuy-j՞lSRn 6bm_Oڧ%e/,ٛD7Mǣo =*<֗ wuMxyi!Zkce!H{ЦMKej 'Ǡ%-FKj.Gɩ}\4" yЧ%\R/q4}$0@Q>8lDqXK+_Ok;;o-$\bNH̯2J\y8¦sHs El!&"f`s[WnaNBǙ]'#E^dҩm6Jր b7)b]`Wm m ;* *Kкf/|6rUHij5Gۥ?|]HSo~X 4j'/z8!329aap-nƛH0. F?>MȮ@|)^1]a2pEG%RyӚ -V7I`oxMU[,ow/AL`j#׍hxA 8aX-m ]F\gkGu'0&6t*ܯĴ[ۿWB$cKol\)3bBYemPJF)खk]!8o { ll}ۘ\+?h7ƒĵ&Vr`Ts+䆿y"X^&1mX'b4p 2yGm: UN59Gp.tDZ ?Z6ܖ%Vfέ2ж皳wA )Gq[P8 hL .~5"'ǹ\s[K9 q7¶WG+Q:mM׶R).[7X򜉌tmi`E+f1fw5 y>ig )/.D3' 947}[?n '@wv@0ϫC{_S" }zȋS.7=V YEE+j~u;9E5Hlc,=Ph5I A< /h ll:G ۅ`CXv4&:ŋKZQM2tTܲ iF%7U'ӷtG *"thո*&ٮ]<^[*iĭ/4-Y,e\I5U/^o4%Y]mkʤ9{1078O1j*!Q؂$2uHb_!s"UVɻެsut =qd%?kAz+c?V]K 9p}Cf Do ]SB 9ZƾP/MyĽ3m445Ykk%FXV!Ĭ\)Y3kV {A2G Իl̛8'hVe<("V;cf$RZfLeNe % ӽdľ$̡f<"":@l32K q=X1UTS1|Fe&am[29^|Zkwd(T8brXIvQإ|=RD;EБ @n2+mU?/K6VƝ^owN'tX#AwD܊y-JJIi_jUz!3G5!Hge Dx"zzu8hcz(R^=)>,5 Yʈn[3Bۗ"w-j;06S~bpwe8'{3J^Kkq`LY&?wMbzHV\58XpdE?,8X؜S_#${ɺ U~ Z =4jDU$èA;@n ҹl{{Mvx.zUѡNEnd-@|xQw] z\ͦ4K|mHz5bDV+U\Y:} 38,[_v ִdc-Ґ>tijSɬj-F4K^,c@a\ w_-t%CVՇrLͱsQGmE*S zY4tr+.i@ŷKp:n=SZAK=7XQ+.;%X-؝|hXل_ibmܴ1>!4sJVh\Cg~84OxnO*>{ ρ\e<ŐXa,!&FC="nQw:Zڶ&0}qa<)IF2:sеF'19!ʼn6ϏO&7+3oe"KV8c_m=c75u))6K`m2 3n)$nTpmNo'Af* 쭍^]9D7rbNC$Zv>]Yq] 2d9umt't6ȏ9Kjo60?Wj@=g4+ Z_M=sꬻ-N{EΤ 62cOx4sM1ġ!d_!{SNuyޑ-H1 JGi DR;ӆsɀZ({ȳA5;Z!c!~rϰͲ` JQKd iPm/pAeTy's]60EJˋu3g6 -\qdpWnq|ePdF@_+*1JbpRsjvj+v Or[!2^WO巁KFJV27uɔ{m 88Ha=1H FO곦.;l؅6Fb`Ȋ5r_uNx0s8VJA*쉞?LoUպ ?/kwAzn֍%$gh2|]^A`k*fm 6Aeڽ$׉3iM}|wwݡ7r c uǑZَJ+7 ʮL<>̴?nI!D7ЋxHt0q8Mapx%"9r|HkCeJ;31h]`4/%['{<tiT̤'2k]t*텷yNE';$f7 Yr۞%@ (Oc[ٶM86+tž bci(w$f?-H_3 WtǫZC;F*OTj"~NBYX{w,,AoR@^=mZ]j99^TO寴ƽԎ[vGͳ <U/@mþHF${4' Q1A8/n-:[Ȥ¢$cHMV$a-jӑШDۓ/rش<){JC>uyHcEXh}w5>H`y\u@^Q>@$o1Pᦢ %Wj/Kx/9I۹V7 ^TFEG"rx:bSi(t*L! &99C]3M0瀠G%RddSwb|YH[LzC1BԳ3ƒ&3νD[W.MXh3EZèoZeTKy1V4Kp%wAuz?WYš":/GI U/5(),WQGSJKaeYLn3[YXa:7KJ /* hj[QC- V~&~r{FǹI 0nd$6i9]Xr$yOT#5nu36&C´3U|V_1PV6ndt8: *Zn<FܺKo@K\F8s:6r)!g>ݏcl =PcLL,t'(("MM{zwy}n,{±J򈳾&qH/d{^ҍ7Q#?ۿk셾C `/S>?6! ktM򭺍Pih_Q-tV_; l= /AMsn!1\k!I9*2rCI5VS@}c#%1uo y wuM7y.Sx*lϢ7]\7V0=~ۊ"oB"GREc`ˎTSŲrL+NkV~7OH֗1.ewuB$7 u| Ͱ_ࣨ#YXv5xjhz( z =uP6`3;~?e 4 E塅v66 L < J6[#fFPK#tx 궬k/ ϫ,9Tg6SpشT_%tYiɻaxJӐ/xU8_kEgp(Qv.IC])`yZ <_?oU\NgT!i:vH V[b-cH2 uK@ՋgX cXjVgB,+ؒ5`P3b#2C3?{-rDnm+1n3B ).}4Fmd{׹L;C@*J?- AӜ8"p>A.{Wc6^JD᳽Cо9XgAsӻ58+#-u7æ\wbNzk:־&4 ORUD=wk3Kxid&?=@Рetz@ǒFv}37B.~lj7x4ێqOa׿EKvp|U[s h"bLiHaf k&~x8MA%w坞np)t`Eb{C 83ƣ$bqp^[%VgaVoRvs`PEά$@N# qc̛ܽc PgZ^CQƲ \p".IABQe1AQWhPM5pllWjPÙH|lGN绦| Mc:;c9¬9Eh >OMe|6ʸx𓺶h$E|agl& sVyۧ/7ե"iDϠdW>Q\d)i(]OA8EF j.Xm~4zdڻ|҉M.Z4(B }Jtd`sEjo W,3 Z* %TdǢue{J>x[e%K?X݋føK@URkm/\F/*QeHQF߁^DNT0HID 7[2d‚Uq,t?0SgҼN'TǮ=NIObM{Zh:p!*T~>2}ۮ#uoXܟ.,Xlm=P;:xôIz(!zFl ?|myl轫(eOP7ɖi-{3h )mML/MhhCX}F*ϵƹdL2pg@V 'kPS@ 9wD3wF*( DlT>i WП΍4=tMTmCuVЕB6SIUXMN' x⏨OYV2q?>␉FB ?BcWc$8Cϛ*~+]G*9_Ar$ԋ3ĭZKF6 az>^C,rU]%1a5~o)ˮ#tY'ܥLlSjtRhu^Ro< 0g>‡3 c]UwހՁ4;)~ϳl%&ʥD"k:I~K $#8k$1V-XG@RZYp߯^wM?1T@v"UC8ү+cWh{Ya-9c>+D(>I%&)"ikgɼmycA j%&| !䂣LB"KA=+XzA@gtyK-g[\]CW+Ƚ]nY#7rfߪ}f i 7Sk>]on=7߿"ySQpXwf+~??INicZP݃v(F@ 4L%s/W;{\&/jHaCe*XtB)_qN]-Ь\L@VDN%ػܱH5=Win(i/r| .M=[=0̆c啸ĕ6UҔ{UP86S&?!gB/=$팻gעu&M[փ2/]! ח\=lfC-PڜQix6\3Ic{58'L1?g}^\t" Y\2`E4Ҹ&[!"`S2q!}>)Ǣ?_O KRʫ B/B{<f+V8 9a1 {H=R n5:0=M%Ћ:_:1󁔑ʲn_q I&z$ ZGBDՈm޲3pi;οbXBzO]o-04DBx@#i;< l9.wp]r2m'r[:@e<FD7daِQ9XQB8]s;(-E>N)GF?B U3bٕ b#ƃpTAI$ KPb-EK\ΥaqxݦFi,/W<- ws‹Q<4hyXzhZ;Y╒%i2女0Znd:٦# JI?#/-k`;NMHCbϯyVmC+W `1/yN_œ kWcRpAK>T1(5ud$tGY~K3}>92@#WOSZ˘%R"HعPͫL-K%S-WO:45D2>e@z?@`(zu/8Y$p wVLx, FͲMw-eMT( jR"ʷRrMxTMtG! Y`ODX.xǒCo]s0CO_uʫ7Eזlkl_3If mPPٗ^ ІlrLiPdg=?Jc3=lpGVFDkaSt+ ^JiwҒztT3L{o&ThlW'.d'ZnQ cHՠ B?/MZxNY(ۏ |5RwwC^}j.nk#zDb>BՎ7Y@YŐ=]@U-? 452i_UC/UjxJIHlrtp)L,?p](;QGWVULGiT$1*Vn:* HHaHZ̑}C$LLN=T˃Xܭ@_|]__XFλ%=&'w|2V\vE߶R$cerI{!I^ NEd_RrO9Tw@$ ֦>&1<ڄa͛tN-}U6/Jmjwocs jV.>4&֐Ӻ]G١=s+c  =7_*izDZUD7oM}^>qGE! Yۀ^?ؑ9͌'~ hG|QHvgݩ,E~Z+Ko% ׎4s)[ac;ј@%F+}D-=9/R9> C˧ثSNͮ!X,c? i &pY/qs SUT˰J-y]~l\0b8J*;rkDW:9lx\N;R2$P~Q+^2fiZV`R/G#i0̢z?c(M'DqVK$:^w:i}R0؋9W=W_R<ָ7}M̓fiB2f MKB޼3xeRM~ǾRz7:bhis`N1*1^}1( o?nK ƙ|Z#}3_,m^P 6'2 fUiAa azo;f%WID^nE˻1] cR}Ak~e4q[13pY?m$q?M @+<%MHȰV6"5}_Yw9vVt'f4pT] ۛ\>H^QS͋IWh=hވzT|uM[ג9%7K'$,q y1t! 3P.U (4ԛpD˓Ƈɢ!(u2^_Xjk8NeQ  5'b[%94!fGْ zi*N(S%NeZZ4lGܖ܂-[l+ή3Dx RX8uomٿT;J1&Jܟ /\A#j#(Bˍ+Iގo;}M?Ɉ#fJ=l& EF֪8a6]EWW~R:qKsļKn 0eFJq=4SWl AUZ A44aGýYWA5ʧdߛ-OsgiUbrgy'OcusИ =9=W=7 OwW~ p^/y#8D"S!$G6f0Q> K !w.bZ!%!b™7Lٞ~}0\OCP i\$)ɂ3^ d|XUvE~cWIO̗]g,tTZ. y>lIbDs1#E4\䁴Gn K"M(UǟIj OL&fV$%M+Ґl6J+4#!6C+ȺFŮ6JaU\qL7Am]"x@V+@,UNKyKꭢ?%ƛ+8w{6vL恙~,n>S D<2F;Fh'`s57h7l7U HQܽߩ a:;k!*s!Emk}^Է*zy]IxFap\g02c: taZ MJDmqz[r~¬%0iwOsGP0P|*oksUZ8ɿF(Bq_e;,3PW{r"WE(RG0.谏FH3 ļE/TND%P@ &5"B>`044?Fp|ƥqEP?\BL~Jƾ'\t1҄nNuksbRlO4īt~{hݺq'Yi f i9G8 tp_ Ta <3a58r4@]kE+)?KZș*ъזse=qrӿ^V6l\tYc/5u$lv[oX Jy.ϝ|n&Cwqɐ*0tI`!cpWR4Q7p87q>J/wϊ-R?3hn,]jQ0Pƻd$h57X@)XY[UJPA13y~PסPh W>Dx8Mґ\&E|/mf"]Em$Cوwd>]|6 bT雏Y/豈&%# \dnat+"s]dԘ҅ vRv^]!i}:"!PZ,;[#)sgmf+n *mEy $NAVlHBJsK )Njv!•%+w:޼y>Q|Ŭ9LcTr.CVyf* T~."[}l2Ex?ˆcK3UB􊈬Wn'zĄ`hծIY-O b8JPYh̵$f`w;<.ל-zH |{+ArH'ߝ BΌO*/ǥUj:w]&}O0 7SuYZ2I Zɳ.l/;d- @ϲ6e"~/&Kd?@ 2yZO>h 7vW3fzʲj)-QhUNNwA>`O4|;$DR1#™Ya/9DtM3pC5C F0Om,Ys L?!j0G+n@>ۑvʇ E2.+rGO>ƇI97KdNDB۽#gc P*-X ;yڝKEdaȨ;UQ'+iiHX)+wwnCO@TjADY$Eͻ7g3lH@k]\޴)kkDŽ>tVӆ7H. \ygQ3c[9Ox:z-jJYc@*[I˸n>ױf0Vzȗzo;FgQxIL./OX6UROP'>H䮑%C=:B~ srKXzc Z .)OTBt|ޮ5fP3] (CmO?rt|z/ްS9uk}fl2O#$+UO,t|_{x&tN*7G\WɟwYޚp.,5/KԔ9Q"$e W5ZtyBMnIpSLJo&!UO]52uRB(DÚ) ǂ2i[`P{f'2[ N9nqԢdbX^p>1SFPQݩӍ/ͽO}${!wLt˼|pu|p]L__כ$t uZB { /Z;?٫fb]bN4/<4-mB+Ea:L9X64)^Way[T85ԈQ($ϧHk^R{@d*|`J2~i `j\:o,$ %[iQ' 4SLVsICؐ<`D:Lu I4|&۸ZB0D<8g+zL)p&=ψ){+W~eBkZpV^q.~)k3МpJO(DHPm0~b> Xק[mr2#Ur"dTEhRnlfC)_x/ )Hk܌ܠC 1vY}4aՆ'pH9'g1.j !jtނC7TŘlOtQᅏ$J,EkgDWۃXMG3P5'"jie#iCvT} Vjc3'5?N*R|k cbV:ut{O~$(af@~őf_~'J%6gP2 zK7 'cwMܢ u#n@x#t6-4V!<; R 5.fIc[rYp^AH8hז_~lH?j͘NM T+ưٺ\_n3Cjl>ּFa-S^oa껆ߓ2mn9D`9*]UmGmMJ̾^?*+ D4T%@V[_u3P3&Ĩ2=2vG(1A_s'ԛ&gVgʢ֫.}∏7z@~p kM\F۞^!tA\6pTB5p4U}}#ӄQ2*I:pu,oT^%~p]f^mf֔sNEK6 g k4B;>}kIlP<8!C🅎M&BP?];6yL#vUXX^yEY0>؎ޣx,RJ+=MyR)dc^ g/P9ySA-]lx&Vkh_u U6͜mniD.ZP V@qE4kޮ ub;D'2ggzQYZC]jR{>ĒY|%xFc _n i@`w˿&܂Qg5||Rt륦9 y'Y FPWd%͹ʉU>}J"YNs#AQ4lf.lO%+ԝTwnp0Sݽ*lƐE-+Z?e1'v+XdC7e^5Pp} &В0P_f+Q >AkO7e D;[1wE@(Dfn1RԃRx^,>ז)vLS Fڋ`|O ~#¼ن.ztVT2V)zE뇬%rE̩('CgۦJK@М$fTF}/,mxqo潑}ܐJp ǟ{)6:@Fd;R{4nONdT79A"ηx5Y"j;`#×Kçys:ءR)FXʂk)f~Vc*fVҭlR".ȼGDV9h30P7;Lݚ P܎"kcnbud]& f[-׉L}`}&i:w(@x"JvDǕƠkUu]WLH3ȝJcz'=B{x~&H:ql̩VGe}S~%($冀t9 )M(ɦC[fCr+?Bbm>xP; fgQ%u 3v謨r VGZ[?T =x|JhUEYu*v穊jpf3b?T{ fsh83z==P6bф55$\1W?aU 'B;aIjRQLh7?ON4$8Yp㧆dq^MA8ٮ_ -Wڃ'嘘{ωR5ޏ*ў+vIaq_ clgժաp1=Gp`I+S:~߰ LlnNMkYM %fĞXlLg*mw6W#KIa][b4Ƹ%MH?&MFN? B`̥7w'&L3 cb}Ck*Q.~vvbmI%x<Ӛ Y1|iȹhҢ!',QN/bh47BP5upc&7erA=q1eQ;FN HL8#! vlO"&Q -t.viŵU6s3ex>f" 2 c^ڣ} ,6sS-=橥l`|'$Pr6yY 2*=b$i _;+r4t\LCh~G?L< P)["2 לB{LBva~YVf;/Mfc6p?&]7W B%rXugI/caho4!(BIEdV`iiwǝԝ0~R/iXd=f+`Mތb>O7tSir=~Iۙiyu }.7~:[,\g/l;pP?fcvCz'F-&<@q`(:v3צW)`ĝ0KϞ"fs{ 7]Q;ʔsiͮ2ըOn0˥Rim/O Xm' vN=eaPžaD7g֮φpk_npmohJrR6֖yh\E>-Cv7S(Xe984M[ ە˂T,JBIlޔ dɂ ֘6ּTmO\"15N =f_bg1f^}8",UQ{6gC=‡Sm]n.PC[ {?K'Z=XVTߏmHԿf|ƒdpd'1!bN+уo+"J=C|]0yfHREFu^5 );9{9b6"{}8. u[}Ҡ)DK,^CsQ~D$4/yGr0'|5D7W!1]V&F?*t&/vs1+F3wv*T8p_}?mV7_c'i΅4a;e3>B]c|y'sOO̗ >+0p e1Ft+ƽpd=-.[Wexh#WSH{k[TY4(0lDiLȴ~`lQF-,ᆙ@Yw"diS8Иw4 DNzht+v ;8T aA"n#d}djM'uGZfySE#E?BEf: Y( 3ЫdZѺE%< :gAZ $t/5<dƣcݔkV>Gq.Iz̅pљ 4GnN86KJ(v Z [a꿷&9\y #CP "KiۓVEa9+xrϓFu@?ng &+4'jι]ɳ(˼[z$](TEޤb:vU0ߏ$\=4e$eNaX#W-U5cfc&z$oJjBݖ)JF|i8aRjmi7kbu@XS aW4B?PbMt}W<͉쀆қ\үmS"0߷tC'rKNzr>qQ-dŲ%t;C=^+X+[Xh6m&Ի U;? s}'5^.Vg_ep]':DKRZ.\zn2_Q_tx eԜ!KchWpvQDb0ʝHew«X uz5'NNB1,&&aup6Ytc:Kao: VX)IyZ{?ixm 9* zH]p$oؤ7[ 0 tVeƜ>jg; ~2+fo5,![UDߋv7ް%!+r&6&`XiC@Bg!}ì=o?ybxmۦڰL}1|;A8mwEs,og8SvnvT:RfjuVJ>.3SuUu+oh9ZAI$P\V6 q+x_ZkE_  عn}SU=+3 fU͝&^ҙ!O0kmGےTTpf /D?xG_Bh±tV+_S otJRTS~Lyd:Nnh*3J9l p??)Dd4GdIƠ5JpHvc?=9ܓ=?kl6u%0wu2{JPel)xKO'01x(A=#;dHÞfFIk0pTˤLAzO@Dge2(l֟0`fb^BѣwJK_轚ܣlezm8?+f$&s%-svskk,rfpͮ N-K+s^сrDIn-Rm F7 Hvre4Vb3W/;nSr[4͖ fV*]uNj+b ^[\\- wBh=bp`[7L%;%F뜆D}aؖi2($~8 9e1M%NW46f8Q2{$jn 9$D3<=Mz~|˛א apkh$ƪ3$/TAuH TcjLOMbA 񑉉C%}eb&L$f՚P#;7k4t.zj0BjV}}p꼣PuF^F~U\pˆzG"8{hm"#f;XXѩ4P9s}5A~h*7+EMp]zEدS lrM-^(Jfԃ',%*Bd\cD6D57%/K{WZcU5,coF~T)vQ9C1me4RN, -0)՟8lh4 YK F7\Su5˪̪ZV5d%ZFsj%>P;Bd[MRnH} {^"fg]+217_@rsL,-JKVyAgvOAaAAeBNٝmLۀ?dɟXp6dnA<V3`ĥ'ʒ 7&+tfy E=w ]*PcO4O<'@`; ]"|$4"Y(wi@jKd2@T'237w^玲j wn+C1Ͳw5 RqLW$ w/›TQEw惔֍`gQOG0d4 ~VqHJw93W }cWݴ=2E?t꿍kTT?J`k~ j"hckewB_^7XyǪ}K$Jv4 v !uN3b!jPxFځ~+cG D8F,wrE #ffh}yya̕T S1rWwtL-UQ'߅Lʂ^~NyzЕ"k`bvŚbp׻1{O*VQ֕/jц$s;RBΡIIVCcS` a`\OGOEmXmS |tQDv$5PAڷpę4hv3GnXEI$eH*6G $b0" ثLs57Trdx#r%G(OkE fYXCo3\~g s'jdwW^8OKUi? Aw8ѷuGNXu] hqpkz:* qԐ16#1jHcsJJ@Ҿ;*XM EڪrW.7k&u`Fr@=\%gٗ$ewT L!ë89jbi6"oq+{$.5F4"f{MAWqut.z\XCzUwi"%;^u|P-t'IW|i]onlΌӸL:N1I m 6mP\ h?X{8TW|z~pʁ6G[Sw$ I :ﷹUvxi7"PʭARQ, hMj t9*fyzZ{:BAY4GJASYÑcp%@-l fpp鲴OFmz[ظL϶/a+)uԔx^$_S<оaenyqU% C4TcCP{\]#X -9@WXD e/ZR;%Ǝ 3kɰS?bd $D(XBN^mj\O*Xab/<Za +<:|@';ToQ'~v= ;tD,QBg!P9=FnѢ'Meڑ{E\*U !ąJpedIH2ɤK#<ȱRLl/B>LHO[x ,8g5F꾌$'iot"Zk+Sa:~Vu*EeW=f!r0!C002;t"@j\Uh 2p]7>ЕgrZ W^; K /u.HzB/Ny\쥂i#5Ft:.ssIլ&*;cLbd[ mr\j`. 5l-#M +uavF^C[fue,(]Sr%LE-ZH*uqOȈ& R޹شgQ̆N¬*Ң$) A~27o8bw烈 b)|+LU:T!b@A]Gs)날}+jVL(LK\^"(ɀtXX*v7(eD{$m':y$ZM ZDAP( 3PHyH_'(ڼ:(rEE%39HuGCG_(Sѝ+$0.:&4Tvyq7bE(!W6TVŭppEPaܴRiK[Las@P.x@%IG[J%$U-(}*X_?HÖŀ@@mC0Q;APl c9) ^c\6CtF=0`h@nv9|YU"K@!d$X'9L|iM275=(O}x~ |K0\{:ݤ%xǩ2uj ޶eq rmzȯB!:vf3f'dqW1@M!Cb;3(c9& 5 6H%Fc ǘ0n|o#BQL)Nv&h#Ww.ݒ|P *F'ilycw *P=:R&CJB V7oJH}*TSl[U[-9+&r!;`ց.UJiJ z'#%e4Rx&PP*z:ow[:@ g嬮g]NU ŊգUł]h̯9~+sǔ7A=W& /DEԐl>m#l0L ~"\I4qZ@ 4&'e6m_ʼAؤ%M8xuqѸx4=NVj/ 4l$r(kcTohĺ!m=uNά`{o%݇--9}/i[D}l@3dbeՖ>|#M{@pA>@3~A.ӣTcڳ[eԣ=$!I^2zkLa` ԅ:{&t0-s2u8ÜOmn/w$Րs1So@$У*&z3vĪP T2C>͈a 9`2u{5RV5|?K#YndǗ|Ie3FId.ÊgM6^iS32?H4] %cO"s:Iŵ̻3G9޺!}:b8'S32Bfd͟435$ !p#&b6vZSfXC5*Piwtи^57;/oh Pv\Em8b'O"$ذJQ b]%,.<g !klVix4;oH'xE"QɓJ}=>ƳhBԘ6;<,Yh⫮Ӻ'=P/|Ԗ[{)?C%pJ9OaTXqYNZv7v!(xHJao幹fZ] nk?""3~N'N"asbYKYuVJ.)[(Rć  ^rRרdv0, ZJj/* 0/Z֌QҬHAܣ~b)\ql@I "NG{n=VN%3QdlQH` al*gUi 5O2=K0M 仸8 Ǵ%A  prFmk%1%E=3ߌg5A*@.U|qJ\*2Љ^ղ͋&5e$r}&а,b_^ x&t휂 )Hl|@ On ɭJv7(4r?Z-}n D|Ԭ].:3-x2\/GyȤ̹g)\d'TPZEQݳTt5Z鄡Of^;>=žA;? CXB ` ig:): ߺly=k^G&}wroU9 Jq9Uoh>z㈏7:]׾8ZQ_C!PK~">pep Ckh:CϵYRbC8i;KaӮUv!p16CKbA{"k7@ӿo^)Oң"^Z-P٢$)L&+b2)m;(sXW 6x]J\n-4ciuTtGi7릹ˢC5hd(,*ߴ͊&b=K| VkJ\_~}bJ:}~J2רwr>M~=!Szo|ɸ1 lHLRd%jHeX05!-KlTȍg إ T}-$I!Uqy"?ާ[:#J&gK쵮ȉOc E :4ZA"ݞ61_iGd5C%, _ #%ƱL%XxcptvXOjV_MD:t:Y꟥nxESA#.9+VS%֌nrT<.LJÙ_bv̾&]B-ϖB\ kO‚! XzȄyk!Iq~9#F?TfՈN?H[}ZtICz:+|&>c"&j HKmwZh-+ 1썖q\IҠ98X|A :l?"sY/QcE # c\ Ogۉe)Hy-[і!d=Mnk,,YVʦWz}GnPf4)vaZk0l;X+_ QW=>WUWF17H`Lk-d/tsj[U.ppIb tzģ>*yDo+ ֜0cMF 8jI0;vYX/: SIW6KӞPn/ۊ! > Wؘ p)Ra;4LJ\ܬA6#YBgQ-6jA :xPgg^g;DڳQL.͚2!uGl$cЋ*z!:1h8bUET2u3-a>}I*4 ӋXXJ@<N5[uF>N9vODXIYD윃+MJIrKA[337>'a#m_߾)zHF'Uvྴ` 5ìv$>5;z8>_d]<@ Ʃ]&Hr!3]=OJ LtƠwif03C9GVm@yA.mܶM}IWkڈX=/yNR]/W> fQt -Uj!4v#HM%iSѭ=IL@M6BkvFm=np[ס )NFP!De϶ު>vd(xĕ3s X_Yޚϳ9FKLOd䕔1BG['% )]}+6z;s!7+ \)WY<&3g}5mlo6 2AAmMdbNb:V`$MY`JunLJ}.BiYwcn|f0nS= E WjLT98jx, 0s!+ 7` ^^kj}|BJ 62%D<\0?'#RnRTv;)3!,P6eboRa,C ,8z#Xd@IlGwa (qBʗC ! zy7öI^PYחЛeYh#i17?0ŽPTvNC'w|e,`\hn@cN =y>{5$It/o3a6e~X(Lso\q 3&>tlC9012em}CGpJĺͻš%CMIྊyR.\bc6kH؄VA$ԟs>^|6OO۸kV^ 5+[;{-E9Fjj`ui="BS IT\l>"5.7}%eQL6j jB 30-:k SW NE^Ć6bLvnq@RKxLn`B[irzҽ5T}p޿*aPB ߹.aHhT-u/9w_ H=|j.`y*7͂ r)-5S>Rl$-JJjpK 0M.!ugIcA}H~=Y réBݯ?:Y9t-JMS#D`. "^^wP 40BTxuCi%-WV&eNe?+|JY!Թ#X gJO5^TDnU u$p8Iřzs[ks FvfpmjZaX) |xGEK mȾ.xmeC ʀd<ڰRi # tH8RߟˌoHCQF)YZw)po1.LYC^b5&+F9Aa!4oknLՍ Cl3+&/ͻ2W_ih.afHvypQ#/ }_o\RߺV] H/˜[Ꜷ{;3ʧ}暺g\]ko> '_l.t vXյWpw }QM1rR&(΢Ҩ6zb 2tpLf.l(;hEP7~TBU@gЅOEv"ЉHܥu ڹfO:lͻQ O`dQ:'ܱb]qՊu kZS7i{ǜ_g;2=Vϒ]l K!2ȩܐmP=rr|8=} 7i1[m3eQ )@ j C='+S<.?I%v2Wh϶hL__SE>Y/Hys`M8XmL-= s?d0_v\kj%S,u%eHN($C Im?Z4)W k#wS1贎o'^E8GWG{-/TfmU8SWqQ&tڭ± _vn6*Vfm0bʗu=QrGB(L`>+/ثxS- Tf@ٛoۖ@28˷GiҤ93/rB={ B,Z LǪp/|Mֵ^2BGO}^\gLvA<ޘr{fA$ˋҍp4 % 'Cٿꛅ~E ~L1f {*Q5yx/JX}*(.t狞@>;d|[L6Ο.aD{qùpwlSJQʾ":c jGd ތ) s^mPv5Wv[#<'sq&\u/*XCT6fވ)-vbZTqC%dʤQy+5fl+Lap\}b$п0Q3SPW '#hGg\geԸ7'SE*-t⑺)O;1ͲwNh *ig|6M֍[ '0h*nCL(_<<# ~e.m@* 2P҅;A\ Ny3p]Jg`RLvq +{Ns( wQC՝FgCG|4ټh]xP9 ՀTɶOc fݛ3RaC(@(<1jVSiSȃQ:l֪ւ6>+N ^r9frZ'5 UDϏ3};*r78嵑B#U0/Ĉ1cC/Gx[ }`1Ë=S's|yPq#֘mp~&Z/,a}(J&~c2)_Imz1+tU |ynXoQNsYkX B׆ң䅘bjuLaw^R옏m4ۍ&< .; d/ȳLGI[ê9/լZ='3FqOAtEb"Ōh\^R°H*)uЧǁ kD5'hS+9!T! o9QxJzZR/K&H\py`[G9Q4 [3J3?ԾfU=}sL I0$=v#b)ozܢ8JN/*?|evx}O\xZ-K{ D1 ye;vKA\{BEDŽA1&ARؿպ(!B#E%yb2I\ZOM#_+%4/>!;YiC`]m#Rz1oO%H~h/jH&3`B.!1c fu,9f}GC'F0Z DEZ[h΀< +zvJӓ ?墓6 3,l qf*m;RO91=`Hnr Irk"=s*]kd7pbRU.pB~o ~eQކ.vP;5B:I?-n]m|}iJ5 -芾WRkE:a dmG𿏑٠@*ew7e0!\ȩo!ima\ &q='YD/ MjkIS~/xdURf{b Q}dzqX8)SRJ6cװU-V Fptn,닪 B]"3I}?C?9y(^MQCN8NV2V^XLy*DNr{Nr e|V * *MbSs2zH9ƫgt4>)~11%,;` b\v"lw,)IRV/EJϴ[qk#~ ~57Z\퇉/"};F.Иx/Օ熫B#=a ܠUGJҗF嬨<,3^ `8hbEq.CO+fH&`i`U㮂[4]4T-,-x <0@_Wۙ?X߼j-k>l[-bGt?+LF$ b3Ӆ]3Ex&esYUo 6*OZ1,h1 dXm#Qhs[ +6:> A@ WU~:D^8Up rL@3y0j`3t:-5ljSD``1,._<^ uż5kʞ_Ya~M:ᩞ v)U9ֺ,kfUKG၁=„ITXp%Z7-5EmksCî@ߒ\ l3$ =5aCy*pɦ3eCM aY6jYuy^8Đ//l몧vՆ5!B^ kkZ߄FE7"Tx +u/W-t8ǰe [}=MB>zE=QUe,f$ൽpǩjE Q]կ3FӘ^?c853i3 "Ur~1,, fzp ō,x];ؕ[TU-Ğc)|}K;m8N*jñ H{Ԓ TIDsA}5ņ>֣tî6h$[?#]^!| ?>~y܋nW\`5#Mq H1/AER0ܣ3:+'A#4Ig 5O=e5XJ!54I\xzF kyoW+ʺ"+G,oK/!(LrjL!vHJfF'1cF`/&9IuТ duF ]1 8eү5I4>cP:LOZNפIsw|Dɂ %)[JMxWx-w<V2N ErZO C[3dHNWGPAD>'*:nWx<~ MoRx_:9 3QN RZgC:^4y[ ά‡"^-&QCW%;}^!1z-D#E&#*ğ]Ժ04bl !&z`ܘUxOLI(8_l*.dr{uQRZ#1>v:% fl̞o9'1 9% eb, Wˏ5|,z:/*g~Bs6?o7ùdTRF@aRPODMS ),b~N }3, _=ZZu`\zDMxPQ?$ڸ_O3/ƣ}DKZ\kXQ^e),W%[FQÆ cF7FQ`ݓrݛfˤR#yyI nK]DzL8lMA@X|5(Is R%-x%m]ՠ@Xfw;H93)n(P- X/A:X`(.D" ZȂ-U`"‹ -7XPHIR;$A|BdMe@9j-$H2B ~DefME )!OF(h gL68?;N.7Y:WY@lA2rJxGK5o8R8OP &GvD7D!kӐܼGla霤~[hW=\]Ĉ2XE92>  :Rp;4E)m KgGd~8wG~K卓o_Y*ދI?>h}&U_[4dQ`EWfBXKcMu#5ZQ%(j`xRSmfhř<%$;+R`ɸ&&S j!mݐCo~(59vhDj.KM2 g˟]I ja_Ht0م1 Y!y2%*&N.sjy÷(b=bI>uMO~W/V 13]R9U'@|r_Gf F77!!nOyC3GӂUmn>Nȃ7{:q׿'*,>T,:/槜2WG7D??/j$Д~QбWR+j1VX,4y&ts /7mQkn˩bN~'Q{DV4E%;;Aذ } _'$AmCo%UNFSEC̛J&۠US]Gj$8SRiae9V{Bɱ8?N|+ٹj89ol59ϔJ ƃ.XV[)pkY=ܴXk=2T-pݕ♿(öv~H}5tЯN}CO+t2AC\r!\=4dJ_mQ95 jO7U'+!le]aפjXP{o+Jɋ_\`'Hک>nKW:'nh5z<~Fhfȧ%Qs[ hKrmOT+8N;a=M-؝GG90W?"q!o&]Tb3+Ҏv$ɤQӁasfaޅQyio|a&NuXV;p=ڛK4uM/IC=Ȥd݅Ky&C|8Td),ote㰼9T λVDie[bTw&SNOVޤq5Neq6՜I#yMh|Q*%&\hB $?6*I_*f`11Q#M %[:SyY s֏JhqGH6Bm#y$'0ʸ rY.21# &/0 {_se|x1<姾sLѻUV>+3gڐl=l2Zef@W\7xj^Ͱr%It (ň;H3'(<f͚gÉ/;E9.ɈlĩշjP+jkMʝa~! cɫmׄR1)RѸ|b&=m+;ّy[zW -bТC?dyQg5@)Ku7%i=7O@H$dSmTNl%ᵪJ؛ඟ>=|CDo.t BqU-s|G ٪AkJ+ KB]GmsSP&3_InNASxpєԜOD3$vfV̹>Gg Uzl-d ILːLDûӑ9'QSnd»y UsoZ]0z$@t?+?E Qe N6YTGə-ؠ%I`?ئg6τ~&)`hOd{Lu$bLjHSWJ[(w9b<"Ua䧦=ȹS;f <eɼ h >5ˀ<9ґ Lp63oidBΧm.tz!T\lkEK&v)?̨=yrSɬ1sxk#,Y@悡tU-jv#ջT!? hC'L.H`!AbM83L)Wը671PѬT  ^ԿR<AYaoZBY_xΝQ_f % MHg[/b%A@ ea*?<{9$NM~ѫRXqg5|a޼n^VQ1͛ƑݰI_g='$ISJk՝Y]J ,1h>F.A!]}tĽd*PoʸA\w l`&?͇ͤ=͟ d%M\x[7>B)۩1;KgUTDH81W'<G1A/3B[6I !hΤiZбBw.NaEů8FJsL41:`e\B5y[gx5"Kjbz& #NJb83VOdh]P2Tu]x$TT0yc|M!g'?*|Ξ`j%Sp:z` e\C*XT_W(aQycvF-5m(L/@9AoHxTZup $6&ʤ} &ht!3#4buA}Z#,FUƁE!4Fe+gr;ZxUpRs:<*Rܞi ףˮ eVEd.[g_ZR}jSdDӋ*8Ccf☌*όӄЃwEF9;Oxph_@>w)\,عu8 `4Qmk7Ԉy7Xe:(ݠҵ'Κ$GTGWIA`T`|^t\C*K":Ŀ'RP_.w7|aS(_ h[a,!/3:d*3oz~׭OY'Je3Y?cB a,$G􀜍T8@Bu{2خӿ@JJ"5`/T}6>ZH{P@Yo#=Gԭƽ <:L{ 1 l⿿*"?Zt{Oƌh'E >pf{䕞I8+w) ,I]|&5vh%|!i ~aZ1y9wV*գ_aK+& eWF,M{/7pN, +EʛJR UQe%noxmBU1*XSlrKx}wC("RxK )5K*oY"jU[I.\J< a@F=z274аEbА]ljbX@C4'(:& ^!NDGh*uX)V-pFAСc̖wpl.HO;{I^{2A'y:PUUz}df .ІpK';q[͸xX)P`gb$F ;W5#?(Pk\ f{ԦEU7IbArEۘCrIzO DϓbѴo-&K{;x=}yD*Hk\*3g>F=Qɢ:A3!j++0|J__K,G鑘@  o_A+ׇE]__,]Uv=RnkO'fmp&4񫝘)Lۦ,7E6N|D .|xH)[C1Ѿ-iXof\w`juz^>ׅu aYf.~ % ¨iV?[s+j|`\?^B\c>ȞOCf ~a=XlC>c#,e x-8XѾ4}DgbehUݙ+xТJ4Tazz#rC}[Zp"&X̸qRB;fg|.lm%OޥT۽Mn!?-hkMDrԄvrGK6n;)H]+zҧB+p[* Kcޤd3O5\#~ހ"W|=it}D{%f!pE#*oԆ>mh]D-M䕫RAt (ΖAivW?BE;:Y<4/rhS@G $dg$&>'~ڝxd@fx[F$hs(sڽ 0+|n--u3vA2'\|̸n:[}5JK6v\tPċK8le:78||X@ j%2 6;U)ϢcGo:_lh򌚠.\&ÿ |Do-`5XMYAGB"M\(X kN,ir#|$\i۴= ` E=ϔ{Ck`kbs_S93[>7E_ rn҉ɭKB{we b\QQ#_toR薶dC-~]Z§H ZJ̓vLQɕUU*sҮM+L-4y/bo.9yΰր|Ňe 8ۣ}@d)I.6eoN*4} ͧ/ |#3 o/GM.iE\ 9m qS{;#j(3_1(jCm@$r"PQn JU#lW$^J'x)'2_!t\_BiA!4tІVsonݤ%r!H7mۑAiL,&Z70D3J&p%N%6+s6={G&;F&+c{:ʛ/|HGIQju%T6 pަsAoN's#A7C Ȕ?c>q@8~G1,|6rP0°sR)I-嚱`j+yt&O}hz4j֘1ڀFNvR#O”IùBwSx ;H';]{`!;NजUOh(qiVڱ:,,ѽXH\ywPap8y[.*P U+ "VXWDZ& fk*'` Çu87FR{'2籰P5aSR͟<n 0SIؐQqtsW}ÿihd6H Rgc_s֑ߑRw"4{C=0ёITU%g-#)@AR'zqmO>0$is8] }j(2imCaup{H&=9HzȴIeMUԎ|3@} "7(u@^#4G9E||fھcߍ(R$ _J ժ{L7Edrk)~"X"{䑊g+RN"E4;Ut(H~#_eq098?]Tjm=ύEkb$2M&5$ҥ8k {x z5*]ftcrAivi- Fst ^u9}i9:by(`|~`teuC=0bڝf}l@p콛 8xڑ!2$׼oWK~(@l/7Yy%|7r$Le) Z԰jz5Kme;JOY ̄>2S"U#{g%KF=@]2n5ozqtk`k3eiC=+eA&e,EĜ>*y .^'mW|phϼoT9{\mCl}(sY]8Gaz I0U"N.[XoTo#Up:b;zp^.j,# 0]%FԸ1֑2j8I\#/  pUR+H[ܵaB|h'{nLs%[_OJľ7ZW}?S?ՂoP>"&4s%|塾v.{ KT[e3B(Ɗ6]hrb/ IfdR6=-TtΙl쐓b 6 AEo|wX__0O7QO NdA{ [`;*a\ԧPWJaj@I0:]9Q0}sjP(XnYOfX K%Cy@ (mLg& ϰe84|Q\t'l:*y%Yh,w 46p)VLX?0;q5blsSKTZfP]4P3و()NY_FݎPnPMqxǴ\YExE4V'+Y|gW$0Q^j)طwEڲ]Fq+t+vq!Ă, &ё+k '0 5>}_RVg?#TnxɲVzC쳻HF6w2G"PMK  ! bV͞#70;<-42x$iԋz{"u,TR3 .'0,9'&j_.9/k*7T3,}:MK†Iʋ3y+' Yisšl'J^0bf]KU.4Ō;J6, tsM%ʤh`fE18*8aQQ_z*V_bL*°iwNƗ{o9 4WrBMXoowlۇ'p\uނ}0![+3 92˭R 8R(O}}2iO1W% lSͰCw%`;ؚWnK(Q,{a6ab 6si-D+Hy}8^DJs;bW4Ǟz}Z9hg הu?ceu ,>-o/鱥qkٷbWx$CK^ضaYHY31W |M;VPq꺗N'228$C= խSxu%4XV=#P@Z'bTIFЬg,zkdN,rn:hv~To\58~/juvtQM\H.,} q>ƻO*mⴑWY@##]υ1t5`j߆L@qϠ /'d~œ@>A^n-,^;fSW'TrS`ڕ7gt|l{zi^YShw+ٟxK- bcmt@?`3Gzmu1n9U\/EP+`Au̢=+WG$bj2^¦q<.Jr{"~}9@ V N$ cm_;/ya@J9i41`2):[i\*2fp`s9’ t NnXNJM%Hh]p4(J{KJL;FIMT^ؚNݗɮw.ʊD@13ԶnX2ŕЬ-WHStٸ16ȷ}\ei͵SײE"^-Rw+j{ZHY$Hcj6*&jj:YOt騁$Og8?!A3uq)#W|0'T(Pʶ VTwJKD=}~e^M3{CƷh:;S +u`Y{sJ9wM=sc{ʡ ;t\:Z̧MK1 \P h摵,;ovAP={8d4&j$bi1̈́2#UKt \0:K_LEylxs &ք,!M`a u| fa~J(M%k&UM?6dia = vR5qMT65pT9V~FƆp\lFO<>8ȎDsFJo5QD^NSﮂ[{LƠcn6W-Mʇ u&!&ީ͛J5 ̰|XZLQ{eBF6CwUW4/.7,v}kd)0 kq)#.a8̖UaAipRҨDIՉ|ap(s~,qjJ"K#IW0ҭ$XʰzW6  ٮ:b鷑N!bPƵaJDؔVPpVx鐈,)vNxV5~c 6ּوC.ѻ^.IeZ" LʓszXJ [{gPo(t G#Ώ_N^׃Q\ ?6.# +?$^;7 B֩oV)<]jƐ23HO%dF'gnsPmǪvds28!.tX$V>+1p$wW'T_lgNԞ,%ZG٨Ы+rE55(LcX"Vn֧u8[{ ׃҄6y(c=3+1ab( 2ĀQڔ\q]z݊O%]^AfR,֑VT^%{8p wSxo iQJ0Q6[B#n_s^ފ{ ([?MTmYZ'jȝy7J#H1l ~Ix%u aRcyd(}0'y=Rt=gϕ;8uDU_%JrӢѸ0AbA!FRaFgÈ-PKٺ^g vH]=s ]ZlVI/X6\> VR6 18cM(=ՁI;||gk5c;̻.z\1~7f"BLKꀳ"܈*vE #W[#&\>꘢t>޳>r;}wcC /oh 㡘y^n'ֳr+Q.VrDTN1* ZqTrH*kmAQg;˄?c?g|Zl.;tъԿ²䖾'*'hSy͝4TYM)ۤq ¡M\^-⚋)Τ]Gg \ŕ9W S S/qq/bt)YXwWmNԳh'Xk4b*cMKҢ-4'Yfvq7QͥVqr-lͪtJ'G@Nr%E~oV& 2]|&n]Et؟.w hc=UYjt0_ZGHeZ f+u3Vv--][#F/Rgٽ ,ުQэv[ v!iɞ_EA'*MH4U| D Z=&_~AsE: 蹲-1aNҠ$V {b7\cfK;UBn4HˤwJYbיa(Y)n^Z[cʻ"o8^%0w6 %Ed1'*R6.Q9\-(d1t{x DVcN\=zLfoچ=IWHtLiH4T{Ӳ*s}hw|1Pנ=VVng:{/8B U|^(pՀL* jK0t1qKQOmp0p(L^-+~i0#Q4w_>l lp`,vèN|9JR;KTENqf 3sZ}awKaO3旎G4o~yy<9HaSӛ9?dz= znש}oFMXm[qS\hY9mFG13~]E)&ml$reR,G$P63~z7 j\7Xk#{' ^hRZro>y]^.oQl1j!=".#hZ0ՎGQ\a-1YQ&\z"L3>WyIZ&Lj.Ѱld ^)kgZЄ `?-_FMG,GN=k}dQ*{fj*TEz)lm3fUUz;gs.k142=Bu-5z`gsavNIH}>]Rʍ]G[akϴz*GJLB:`I\o~Z'vsډ=>(Ɨ'mqgr`؀FF[}Kk[RN]2ӕ7J0>/ګ%@"?.%/ S 5Fq葴KŖK6B[aı<>8"(bd!w  4ќ r>R>.i`n&*1JWtø=i<~(P=6. }i]%G`ȇYt9=Gko9q遈QԨuJ5blC]>pC\Tὲ3J+g5NucHtxL\b\:iEjWp)sz:퇓*J =F)Bx[GX* I8 ]LDzЛֆJow&M<õ] kBqk}l@^)ӱ/(erv",Yofl:.i+6~BjfU&cgTz #eӸNΧCƙ築F>1%M}Hb(b 9ʁExnj!T8kSG%y] Y*8'j m+,5|P@ m4dލ2&獭?+v}&xU9(?0nt ſ!IYsftcu lʰ!+VBӆ`#)'I>H/6) } F@V;uד⧿Ǵ.yK$u!BZH=eɖ:.hrzf50HerhRP}3m9n5;tlqմv.0eB% l4-rmu G^M4!L^'zH+r}ߘFԘ᥊X8ty}|SwY6!$ؙIi(hPxkV;~v9mYpg/-_`U >P϶QV463l U3qCx5$1)AQJ1B924Wme΅eBE-lWx FaFFz61}z\9*z@1x<1aʧc!/ci$JGD>O-_=k49=EЫj3y/x/%g|}r[=`H۔)  nE0<\b{ێB:<rp.h',PUP:M˕z]u|F;YA2[O&^24mBtn~ DQrH;eԣ.՛M&R忊b$Ƌ݅EH,B1:$#2|W|oԥՄSIJFqo4 .dg;'wm 픭Σ~lJ?PJ#Ȅ2;V|}S٫$jG]$'yvU)_m¬/&ILxt]L,> ݡÚB;2{jn_ZBv0NA6?rY8tvyR%yhv>@+h\L?eGlzE ZT28"mCZ-)w rt#m$p@"z<_e~`O/,lL:F/Im@/SgTez# | g҇v!viB \]nWje^%xO]Mu0UFf{ِ.kl9w2f&Ka"㚯J1꩕N!ˁG0geW6tg{3D*> +<): yxf5.FJ ' ɠƣ/QaТ' ~[$M|ٝy4[[@KD}ͣ̚+Ippx{T87p _䬟!{#w[Z9Mvŧ}Vl Ӯ iqwm;# w'@?1 bqqsoC=sEh#g=] BA*='*O@.TwnE2zXȘ-+/ 4?NEF=U1ET|IܵTc+㤾c0#>I[ߙa>N\<1^ GnE3ΰuj9D-&VYEE$ΑEvst Lٌݔk.'ln8hDŽ Lwl.u͌ jQIeX*<ano̓w!TTMRtOUeKh-՘eRtHjI b"[ 3͛bO/Z$ dIΚW<6~'b ™ sfKJxȑǗ)HIl*^tȁ;$7-N8n5a&giٓS H# ]RqVXL+e> `}(%Νn(G'z8H% Cɞ9kpMaO3$0@3Rp,BQ_@K*If 7IOǣm'M'wzd@d}1Y=~B7K oS4\6d~2dys{k / ],udȔf~)P`ilb\INHз֑2N'q36:n"3ƞic8厽}]XArI&I98;) E*pz/3| ʴihj,F\ducԶp`Z ^:QẖЂw Ozȥ CDUSӘDπe*U %Z-=gz4]*, ZW p7_}AV跘I^J}eLZ?ӻAk{ra;F6,AKDѫjp?9Dm3F>mK!=oSvW)xw& -ޙ43Xr5.A{I+[1ؔ ~K_BS+Y\o\;ADEwHg|$<,ˈOiEk&&,i]x!ssrr 5"[Z %|[!]s'CU8.pdd>> E/: PreER%-vtW u`x- >kI(ZUW1iYt~x6n#VW4Bޣn7E #b h >AJ9"5kuTA7qy #=XPӊlZ= oԬ|&gsiÐRT8Pjr]؝nK{<575oA;Ʌ'“-j CzdO1{]¨zSY&%wUYZwGᛮnB)śXQ`] ױ%g(A ?z~tXDjȝeEr9iL 1eXodrs. )pe)ffn k" "PŖ6L"0"@oC1}Vnig] hf5Wx8wX$K~>sm9ݸ3AR^C`ܷn̐eg21Vf}6p)XB1m Tnj^_f_Hv :gTsN fOR*H^m.op v9D"qл@H3ZXj+؝b}EYWC 4 j9/(%{GT65nϻI6MٕzւlÁ_yc $GY/ /hbΈ p:`RHc߲rk]Y; 6E: 򑲏״%4);0d\txMtH6g\TVVK&T-(:4nsi2Rbo8ٚB_T9!jh ofpoz~[O&}t0!Xں{2\JT#9f!X3H p*ON ' u4>D^&>6e: w)г#"^e< v4ZV5Y}-٢PͼjhhFB &N{plf޸w *_"PS4GXVp Y#;(Ҹ$7X|Gc벿T'P ?jf?8БqL JD|QO8<efe,u k/Se:k͏xb[{ٙ[R bɵCRɡ 񙖓`g!A eG:G g>^@ QX`'F+  IFmJI|nmBMCo{@Y/N9h91S荟ʋ8{{W?v%åk(}9-0~:,ɛyDZ6F)T;27=E<"Δ<{BwOg !{`\ ?]bOV },k )&7zpx&/g**.#pGs@̋{~3>oT)V7ٍGo9C>FlDϴEX\1(0٧gp[ t@9z% ~`Q07(;Qm񘩨L?u֠lS=LWݫS -QpJdIp6171&E^{JA>E =ȟˊ(?GnxOx#9eGHˉmT?uKTRmjR#§Uq/pK]!ZϤZ8t,iI]aqt[&7-'DF:BoðHCfx?;cun㐋朠Ξ5\w>F˯֔+uQZ%4Z:ՅZ]b}0:y#3{ɧ|-qxJ0F}7!+z`R W!FhebojewKVѯU2bc#˟!(u"?B'$uk!98?5nɍ;]Dhim6RԷnzU`u9Y;+B|& RLݲhw5Go_GC=n:Td yw oi;Ս6)@I~[:jUuIB|<232ssNQW:`( .8 )}bdpan?$DB!qs_MKҧmS]jT#ipYaSb$r_/,V>.byzm j0dGxDa&|Y! #2vR=xkb-r@HH?*#]K' 0uƵ XK$SF-t*3M>!! "Vh}m-(Z>muk,yi 0 e]0 :f;kKz<q GKP`̀(ι.-ZImmPܣYBuɻyH:)r ~оmd| F?S *o\D]|6vE+K&勏*!py5mC~Wè)@̵ؗGH ηBHʴem|~6dNhvqvY d؍]^a/<7sCW͑};nǹc=>B"03(h126`t2 po]ZSd\+hѮEu6 9ICtJUP /פe zL^aLYo5wz㽚Gyxk5' AwPVI&ȂZQ& {%!˚Q7!WP_w-J?hMY.Vz9 K$!|OO)WPm<~ڌK;F|6EY %7fu?nPk"3>e'x@pHN+DlXq]F4LSaϪ`-˯*.C`3jO4Y!ѿL^64Y L>$rO^0z~'-хpyaPHmɔqۯMȁYTkk^Z,O_8v!;۳VXp+<&R ށ t'i_w.eiO@,5H~f+F%L|w_X' }N$ߡ|miO-qY1W8痏SڟqzuhS@ t+ 󹻊_VzC-?K<-4k`lJÝ7gz~۞֟n]T4SlĄw\ǹ?x1 Fn` Ahd w,%|16y=wF@chٴ6.KRsGm=[ؙj{^ܓn7Mp1\"xƙo>!tR>``; *q{ gD!NuMmݳWB_ e4ȟ]&1AK]a#1c\TdI1d-zKyDEH}),{|$*^Jl둲>yp_\8T! 2s>=-Dvh}5`ws~rP^[uG:A;5F'01h"OԑާBÃAEp 8[Vf X`OV!pb+ {0Zp#|pu}l2鉕m]F~ Ut{yO)}u~G7u*j6keO24A@GbU*y :DŽ.ޣKqV.Ig>S~h B..K,s ?XZdz"ɐcF{620! Iqiۑ a0Z墧P7T;#8&O\٤clO(θ8#uqxqC=zUQ#k~;Ŵ+:9 #}!MqpjW{DD iEI#%NrvDŽ]fHPH#G Mkw@J3ۆ@2-˱-AK xk5m>V`>uYWߗ Z]nLzd`ŨʦC`]$ GFevAZ0*C) eP?x#XՙkFPDh\~w~$9֌9 ˽E`׏߅DD~x\rں+>$!tK#R3O\-{X8V\A%6%`0& 2m܆P$B+ܧvwyyQw)ŀ)x 7&-9L 9W'x~yU$̿Vkėb)}&n5F{4DmyE1$N]iW1.LLQH"35KV/| ;Dzu'MniF ~<DDaLX.P] sL#FDegC+)zr" NBˎ0\G<6/]m&WփVF3u[3\h-y630rBGR5_X7ztTF{XY`wESXtҷ.[Qdl:ZqXbг4k TTdv?B}]>ۇZb$#O)}#AQ+=C#Ҫnu#Plw`q$>!V]Ilj5(ꄙhohtU%H ÜZW;A$hǛi2w*Chܙ!A Mb1?L g2_!RQV'Qg}m='w>׶>5.9 ~<*TPC̋BnV&k86V&\W߾<9/J鮤_dsgH> Pn#e%ZB㐵A0:\Mb)8X 9j%hg)n ԭS:e @rrk`PbL erPoq5RF@njp:P;'9E׽5q*{m =z]ZەGJCfZ&0(oZw<;mƵC'c6=;?_g~ٟ!Q.jxx,k;65u.X[`>EbdW .YJ2 x:K] {(vYv5` WԉY" z:Ooa5*֭MhoS۹1e4РWzb, iJ4  v#{'`Wa+%2Z!^Π!Q[_ۿ~&R|$byLf,o1t :ȠA~ EEvTK5Cĭ@BXv~'gd(V}*`ŚKdܷVu}p\ZϵjvѿvYz*Ȯ>ZI f0q?;d;h>+xFEj,./&<;| _LcӵdRژ܈| # iN >:x㘺Ec`9M[ʆ'!&DUreXtb(Y6pET,s9ʕx5S^jK=6p s\1!$ݎEfiI\0vk<2b`fOw''x& STh]e|.U'v}0bnjqPQBG^ov"5;6 \NDy+|ͫ #&doy7䗛bJ-SJUJJovd!Ҭwu7DJ*b~"'%#]`v#H EPz4[s& -4xC,[>d( 6ۄ{dng4埜QOw,,G0C22:δkڸTI 4Tg35d]zp6`NEM_p#&ؖX9C9"\Gv#:n3HJHC1k_03`ZE/R$EM>cy dی$EZVi|Ӊ-Mg|QzؘR ᔆ*U宄u @qBስ;cif+8U,c$=1UƟ xֆpbohg 1`8&qʠW-+c}z!fEuo&f,=g$ {x̂yNץI)]vpJ+PL4'$!' iS($J 8zؚ V>yO&/ḏ_?Ux\r}44 DҝDg7#j5' =rNԎ~Tyl|~M@[0Da$mε?|9@i r737FS<ۻ}kRw!쬄t©4*Fmn"& E!Z=0NFa1~OoSBiPK)qIir_R~8jnk-kT86"ΛaPף`_yAQν捎pov7-ʄn?v_R(6BB\ 2u"Tү9(DN.>ć{ްބn=}=yisi f, 6Pajfw#<xr:};xk3u\qŏŤ^e! jHef b97^O\LX9'19A_LW<љI7&뒘iV9 }&Xu(xn 6 laA]3Dx&!'B:񄬚4 nzgcI`:.Y#$fD%N#MMR6 ]&n,Tш/) ׁhmx]I( ܔ+ 9 Pats4.*KʴBcq;?oe}Ii3M:ݨp>ǷaOK򭧱T{}TNno^P ;@.{'u}Ĺ%:c!}6FJ߁@yEtB%iś^8Bm#vKO@b MArm$X1_DFZG|e! ty̸*7Sh=/Oe,ܺց(5<uuKorϑUZaD~,Cs0Wjs箛2MMC:kF$ԶΝ`fՉHUX|퓹o%=&k2赮o5{?{9wtChqZJJ/)J8  Wv҆@tGނ2,~xJ60x\W$MQw ُ9WYien5 e7ɑ)XIGPR$3POCu1{]x6 [0Uįjgf}|T'&zcN7"ޛaR7y U-1` ̹ ^SA4"'{`xtlp10X$"IUK5O1M3G:,2?t|ƗJӲ;w$KLiGZ>ng"oF-ݡnG9A+[QY$*9娡N?k3'0)>pǼf$+DX:.!'.y7pə]=R95jPkڶ?oc7X6C"L$!P$jDÍ;R:6Yr!xN^pYNDQCISe }B4_הIսo,U=J0e+&d˦q#*7mӛ<}T2eʲ1co4A.r+ӄʇ| 8UC|V+SA~LXFkX ]U=?mlSҟp*2Q6iyks^kHς!&q㔋vbg?OGpB@iOيo ]턄 ( J@ͨZ*>`M'z4".ϓXYhQ^{eb蹏lrnT dy7L' _L)nB1dcFTQÎ+S6Ǧ͙- Z\P e8_4_a>*úy҃-!G9\>'k7꠯66{`7˕ 1\Q$4kfIcbWd<yG2v1GJù>6+pd^hxf]DLizWe6*$ -ډh'TdG>f>VG7oef H+أ`oHV+(mo9_ҀD\FOh.Ȥd.] y<p?sQ+[6zVLQ*gPLrm >w&="i> P/"Gœl>IwWP}{T3Ks#L42©w?B)cpQDU; {^.[Zɵ!s|&He`zD4r9{J Fi%8>ul[^p?^/m "dmmΔ2Tu\pb&T4,_,QL߅p[Յ*E?r)~j}py0n6W8WJC$I®=jY6Uq;9o~ #j7g}v|=d1I¶o\F>zUiFFb5?$śF8>C=eza*ut_%|N+;CwیT9*7k7W Ndy/%=T4AWe[Iڍ>݅c ؍_p.?CW >mVlABqHBZq^PKsޖ }rb8f{&!D;Q"q>Fhy=vdQgFZFٕԻr&Ʃ(yCZ$DnH(8'.-g#>0i4$ 5 qB:A•gB%"@bm׉(~AlILsXk i!Մ<C^"nXǧyRyF69'R'\vӍO{#†z 9t "8SIdl~#ա5]G05>缻Xb Ar0c&,Kͣ)GA |JJO<}O4N2ejSU$)9*TPMbj0VA)Qf7h)ʣ|<1Ck6]fBNKZ8ݮ4FeˏLaߔ<j9['m_Uv],rnFUa\ӰJ%v82NGtf[g4?}wO\gZ\2N2q7m v+Qblb8#o^zL#줽= Ǭ='=FҐ%k`3`j]u| WЬulrxoy#_[Rng3"4э A9WvVbKr6%08)Ksh>#&8?" r@7Tиg)ăTX2wFHՃҮ쉾~LvQR#cߑ >9PeqUN3 x$g{PnN˫?_3ɻesUS9ET-dOѦWGPT~̑w;Kn\`"3@ށq3,\:0iwLkk{xVt$gVw-yrR \i\ȼ#lr4Fr@VKpWoh[|ǵ'v@áY  G>pPBg2m*n81>ѹ˥{.ncB)VD**fv*o'y _x|-.k.N|omh?b,Ys fa*wșp7hyUF䘃aEL5d:> [e@sоDŬ!陥ܔ"F{ćl!#Y\J-{iRYGjfsoDM,Dibɘ=?c@6wm-^/{gPݛA&YZ d YNC~'^E9{/i"k̕?M d ?%,M""'o*{ ̃ f+lϴV_&FQH#T5;R8Qb^S7k%P螉ƣYf <xy J3*ZHBj-: }+C9arԁO\,kv\}{$W]m.GMS2Z2,>8-P:h0SF}j7NnF:ێ~14\And5y<1?)Qd1)`8]0&! ɡ(>W h"BYHY[8w`qV%j ǯ12͋FMQ:/vunlü$:ѬboBTHz%މ3[=aֽϪ^%cf[[& 77p (/.@ҭ27}KKaS*%ԣ:nAN7}ڜ`T"-Aݬ.;§ ) eyP*}iP?P~6?taŏ. T#!=ЖoRħoG@zD#pO r>V0.Tz&+ ͬ"By's˦ ?mU*N-2pjJO)O1Dri*">}u?=0%FIV#eD_43 #TPw zAj=ءzd=YT5K1ҙȓ%wzV7AS}Jp;ׇV xnY>aqCyoM/0r*;/DKU1 L[7^͚uɃe sS=KrE4Xν}9&KW? !^D\Nژ/D[D`4^r=m$IoX1-Mr(-f!x)%N#&f >bmR(eր@`FeTuJX30D82m֎b-HFdKpcp̨AsB- nµw֯Pa/+ ϱo3-!":X P$ 9IcnuԮ30ƈ| EFXyPCi-=kҠ̳zh_GuݚciFF; _&2]Kf&Gm\S:h˗41yUY+i[QoҬ[1֋ aaRǺ#%o'Q@+}wH؉Me8k,[" '44bœ)kd1Ea22EdKy= Z[y^x? mhE}A c"yP]1mX{r8ӸC=3p8e 7 3ePSvٟtʞ\&cn5$}pRx)wGNJ,6žWU^r#DW~Ls4_"6 _#[SR5E1>Y>qF fq;m0#Wyp|J"Ȕ/'#G)*'[\V;"- r,r5zqܒć{YM57JZj;Q8!: y ÝaS IyX,w 7*3>Ա;d.8qq?5cQԮqJ Bvo6h{|TTFBpE2ranm`2ɰ/IFwH1ZzZ4. sv@;mo'ci'\W)g¶ŨuЇ2[7Vހ%, @3,**pTmPZ¹yiBi-:b|V ? )R?DNׁS$n?LLF8p3>в:xev@gN ?TJx)* u(|{ c}SK_m HP -ֿۦV?`Q~J[3z`6k/o6Ao>$7cWn((]dg2>.BY:WƤJ yw@m>OC'?\=!!y#k8|q>e  {IQ3ב~b >@$uNl6*oB%a#->gز:8&ek.ԦӮK#{K̎8Ysk5J1;֨͸DĹ ;gl`]G:˰f_3,)2m 'i335¨Db'P$xڽj^JD Anŷj_%P6`~^-^D_RQ%uQ*.'ϠtH!;7Cg%XSmw/#~T`Oj sLo+r!9!qb(c֔n4 .gF xi.@ߧ"˻Qk{Ēp'F͒ t:Ԑ4ۋ"VϜOVܛtۀH1(eĿ'$ j&yj,J`f.BjdÕ󮿔h= 'ܦNiydXj|@q" 䣤^R]vSojx%WT׎,TUI@\IFIoN_b$oDn]¾mV !=2 6%c;c )8 5  x}4yU$\g F-_O(gG&~,QRr$`2񮓔e9< 'T% [8en {&pʻP,+",o1 #lqY?x1۔0aXjS}A84^TzTh`4 l#7 UsafBN߾IR׀=rɦqb(^Eiݗ&M/dMQپv%]"L'{:98F3P3X x+MQT@bAGsn86{l5"P $}/]QwĵHDf&IX~ʌ* F揱/N@s9yիr4+fS?)HA'BI~Hu3ؙoYN[[:'䦯 =HGK!]s9LB#٤? 7$ZT`ס(%rF<75RP~=T+\&mA" SG#̡r|j mj1#^4Oa`/.$A$tq;%-:u}$]{TխnZ<.S;ˀ\Oϖnr]toŠ,Bß aeɳI)t-In/W¾CC9"=f?I[ѺtrI|R$?Ir~*IsQ fL'<(;,F"^vp0<v1?!/mq)"#f)Tӝ8G[rN .R+|LQDKt&ӈb8|9_ULj%N{tș1< S6'PAQi69Q>vQ,/ҽ5H &ښHg#\L4ti>stS3a-0v 4`'3㦽xyTiԓ kY^w%HKGz6?|2  rhxo`vP{&yʝ8_pmr퉿`3pGBw}K?AǛj bhW}jQ*tngzYȰ SZMn&E!2rC=Վ% ~^ e'k./XZԱ\4]w,=bGzO|XC\8vY$  3u \6%pl)Dt>=;N-JI9erx ;,0zv:`0ZP-?^;a \4Dv1t^ |be! + cN[f[/tRV'"u f"K o[?+¬l2OLBYq g[8DNʺAi8詵v@̆I-67B`Zus#g:SfP9]ʋ-We560.plV$n]>`R٫f>cx# 7vs>ĤG ;{vOKgXtQA`bG3• /ՙcː\!so( p|#C<S['o!py7ܗ_+Xbyp$q_#Γ)c_Kγ眧kfvw(7ߌBf^v+rA'~MDž磠m{@ǂ 6J9+ Sd1S'k/'ij{C_SƧ 'eĸ1ʪ@h^Rt>?vwJ\x2XO '>$AoL`sб듢7*DvS+zG7Xm7! ltKTE:5kbpH˸o>".Ǡ6·R̎ҠLذWE13Ɇԙ{;sUXCeٹoBF`#/r{H`A@WeMR-Tdb}߂ WLywPI8D~5Aj܋۬у< z` ? i-E)x`]"2drSE$DNݖv?[EQ'Y-^op58 Z7>K/Ɠ@h ]u8f„giY J( &W7i|03d Ì1F$>\lD6V\y68-zhV_5,F6KK`ڗ FJ) 얻 #1I9)7]Mt$jޚK`Ml6@D}0&bI602歓Qustьz-MzPID lHY(xxAw02鹙H $Xg-N]FMt*PHub%ƕnQXхpTm2Y#mLq[?LhX(:wHivQzƃۇlW@k)8lEA#7?N?~?>˩_S?ٞ@ 8k>(;hͥ1.nrDC{zMTIqPqXV=tA_΀jNIwt7 @4ݲ:JOCgM8V>K!mTI_Rzh!2t4"}'ס'A_3EBD̴MG%P\OEef|[+u*dmf^E˪~;Ϻ I~smj54) DE%\J? [jJ+e+Ru`!j2J1ODdoپ\@Ӊdx7j*[ɊeŖƳ=4#(܃h6},|?P5?{4s(kti,HQBjAo(=T%|,|x`M%E1SBиD\Ԛ:c'RL,Vf7|0gԝC Giwr`HVVFh .$R ,nnw . *LC4Yy`c̲BO͒m/]jgя9QjL6hlRGY00/fiJ]d%]kl׶N z4s6~S-Y7 ;?R0Di:>$F&^[hq.\SQ]M 7 PWJ!# 㗸wI/h2WJ q>1N`̊cw qgHX91V߄6KN-CG/hGw)YXteUF W/7rmʷsȊ6`صqDl[/sVj!z{,iZ0xF>u33⡚[_,.re6{ivYA1I/+qCJEHB>WTe{ ^RZ\%g,<?,!?buK< s#jp^9ݳhD}ߏSwAlI#P6Q ]!d l^PE+YȳʨPqrš<03`\2+PbSmBx'|e '"#S?*K|w<3ExNGRѢwF2 Ż!=:diiWb5D9e~5Ӄ1 (&?]ztocS'YsvNuPY4kE݉ 0N `S1~M\!ѓht#/Oz}*F HT/TS)}jO{>O~Ȱ1ku;J1m|N6p(Je$_9m'k8F~^f7$^~0;2m_+?~R$?9ien;1vuHK 7f/uV9Tbfk}ɧ.sPEts4HLl"/h2U-$9gii]m!ڣ ű!AtL_1&= V[h9(kZ/N~TQDL(`NEm%L`ܝHJ $Rb$M/m9{kuB^VG6DaLtu:0`+p2ijE/$n `Gİztiٮ -JbbQ̃!|\0wj(90Ӌ ·;!x%hYR#Ra6-/ZZ h/aj5z_ RZ4}8ˋ;%NvE,O=&>XD.ri?Z$,"G 2I hq\=xF$4d6ҡ&ٷpkzsq'-'˻/|T}<)ϮхAr)_P!+ !|jf@*h4o^ p-vd@G sђoQFdšY@zT23fg?5u.56XRozxKKUi7G' \TDm_Ǵ}yU/TeRfl2HI7*J-@Wu+E-1Yhۉ%G 40\iR;wy] 3/ɌԸi;+&Um {+Ĩ&d\O_H-!pQpܻ9zhm2|YivDOSKALYzq/Y(12Y5LkRJi߃"ּ xNmb9JS~vgfF/ ܉ƥdZIOedxhjm@ | !PoZ,;ơH2+ubc'kuJJ{C4:ٵ$6T`BMj'u `N0Sʵt}oZIt!]nOo7߯%բ֜嫇 R⦑[Q =*C)Sa@=}Xv.lh z\3BeXm-vʼn^x?(3o(FŘaA gނL=w lM`chQfm&T L lQZXSjKCkZ?TLኮMG$8GBFpK2q} Ay9V4&SLw+w3˜/Ȯ̸%5#J@@i?gmt#1Nq+6~G]"\-2>޻!i3!Y )%s;y cΛ52$.O\/Eɨ-wSշytl#Qlw'aZL_u- ¬ֆ .R 1r(wTb9hNpCk553NFؖK8'w_9#"a \fd??Y5Sd(&rZu(gIz",Dq1`OHϸWŽP Ֆ}5J]vOoJB+KMZjs aK|dheKr+/(菈+G$y_{7W 08${4O{UTQmLTGK݀\]A!ˋ;_Dx<0m{nߧºRQ,9 ;]mXG?#KuCQgcn@NuzC}J x-GoE!x/g!˶: ]DU0QĄm4 .YtbMԋ$o D7z'*c%5 ]m{Fqϸ*zwklf-/!TzízozcNQ>DZo6$`Wg4Q:k4%9$4gNb*p\Y}|.1S]bBӰJCs5{qx"p@nJh?w~v1S+6Ej08h,40?Wאuhʪ R X=o'[|,} ufI >䬬sXr4&ȯ yDu3+bF*ܕ=uiUpw tqI]LBc 8ZY_@e%ܫĥ=Gp̞İMd gw3qW  I5F!n~ۻ.Dà v%4J@BYf_{uvW8!δqVν-j'k}eucu˜nA Ld H?W$b/GjU^&*L55Z#20yNtm<P01a'Ss% TX`E3z!h)7Aoz KZ$E LI%l5E=IgXTr@zO?S;y=/.O΍ͩi,,Z5TE_WSEF kWȡnGȉ`&샞:ǂ5(Ԭ\~gչY|rZfwDqSAnshYtO10$m gwk+ J#]ZA=p=|(cڮL*6V [Ao]`N:<zha>@9O>0C:2[ ݪ\3[ r~[s94#D. s?0fm܋L [MO3h(s.v`o VF`-f hػV8tŻN.3"kRB @McF3Z}*W[YI,ŰI ydz9".df>vGtb5hu+J ٣(4@y½lNI;uEKn6,wOR'@6D~~ۃ_j $襄́ý蓱YޤB;T;U,6DZiܳIƑn;PG{Ⅹ,ԑLz'> ]F "oMRy 8tvv/MyWb9f.6SbAGg6NOa N1Q"n(ovGeP4p9a>SbM:wl^7*(;w*恭|݆IٺSDv^8hQyK\֚-[FQ;EC\7Ӟ~s[,Û FsU{dq6xD/k\ -ez5%N1躑H?֎Mc=d!idA0h]X{Pkٟv G*Q,Q4G'մogk9_{y0Yke뤨bg=seK'n䳜GL /ەlA*b;jM(u[ c^ E2C]M abm#|RJ7U$B<2J2 (c[ ؞oNx.v*@~>>-p^pp0§QKB/jȵ&غqKpK]{> QG0;(6엾bV_b:XYMG]:`䥐JǞKAMG^ pv8siQv`a+soܕ\6b.A$6&-u-ܾPT[L8S/9޺=Sh)cl_A1d7LfTKOʫrs'0鳇dލ4`bԚ..l1hL]nDjjA53Fo: , }Ϙ9hoJ fj,0)mLXnbƠC,xfί&ҊTkg${mI"tG{"Rotk*NN=E4vw}wdB"[u]Y:)yAe,V|4MsJ|6W4=%zhAw%R]/?UV*`._c{$&[ ^:D0dMQ㩵MA#V?' ?G !Z{o5T_Ţ1JK~,uKTpŚ/a\N%}>#|*35ײQf6׸PSQlP7Z? 7 (BA~KM-P.LC۠7uil@͝z238 $ҁt>n>jCѕ!oLngx ۬:'p+d{ (tqJT6/WH_`%en< C8qV' `jь( /i{6>7dcU)ǸeSMmϺl}2bzo1tF0A6i[띬Q,)ZΣENDZtճXUJ\"2D>in_I3M ~;T]lI{=S^^csY=0kp//(tjqg&蓙S6 |1Q`PZKIq>`i#}rjڸI𰌫, ,aKJO^)cFNlvzm?f^c6bTZ# vzn#6yr0^K%SdT٤HLAY1$VP'Q%AFK%FK7;AZ|${Qv6pgK${XSeE(4*9;IK|h?7sx'+MFlV%+'gS[ QD.\?ӳ;5m4+ѡk1cSjem$uj2pBFڌ>]X*hiߑv_Rh"ݸ Id"5M5`Q#U@igGV6'Df޲# 'ϭ -SA|pٶoU= ^v9aϜ3~"]};XAjqRoIN# 4k@+h[ö}ӡ#yE =?vϿӒ%" , 9"!C9g-zd7 ɀ[CBg!qqM|(B'ï?SV03jŌWދ].R厇@kg@ fx% KV*z?GFf,y@?ད-ALyOr7O"Yǡ*?˴:2LL6B?= ;ZԢߨ;;Izzt`,)δ'PJi_*,I%@|.H&,Gn)I1I%E?P@a3NE`)шD=k^׊A<8yaH;_.3rSs#,Vw$<7>5.xK#b),["Tmp}mDn:֖nBxO"9OtQ hn]s N0+50^TV+6INPDӐ"byG4S/~t3'Op QQy`&e1ا|/ҟߚWVaRq>&4ƥnȩ[e't4cU7Am<|a:u$x8'sV fA:!A-T z3dd63^z 1"OT;R;Lt <e_Ȇ䬹qU@ z-= n`lzCdRެvb&'J:`7=,kFjtT ت"ЧwT4SI\ a#5Y8by2p݌+͐ byעz'"4ĮDm[6ܚQP zm%T?E']fTtbR6cB4ڍCW EC9A ^ h c>+DZi'? hcݳt8E4]3! nC]a=BgVq٧qu=CX:1FvNF3f% )k{?<:!p왎W˔\LA!HӒ;j?Lhnbloe:dKSҞMɇ2Vahٰ~%hR('4_98>Dc[yb5_9Yυd7D"":ۏ3塑SymӿSVja0n*.׉޻Xg/AڢVwMj/Uv` >lisݺB娧:g=Ja/ O4 `}j?.gc&^SZz+42bm )-{8m(JQ^4MDҾ/*3jׯų 9$nştds&1<; /Uޤv Tgڵ︐jY"^;2|1=?K2)T:Tf \}ʁҟH݉}ң+I7DȡS*tXrDq *L`Jƒ`shSїYO 7A5pQ$Egi⟄p>b$oEmxm627n0`L(rT^)X?.F{>>Z*^e-jd)Ch.|ʴzK\FVŃ+_}*׊1q]"0feaFqD)q9 B[ԾK\Or |Z*&+!Im_3^<g',1Tp;2rv1$y7Q-ی;hq x@'ۭ+G[&Xkr r@< x=8 ,}~'s&>~[.t.>;O3stHՔxfF3@XߵԚ#Ϡ\hXEQ#7  rr o}vYCu4g x.Pz9c*u@L<+RVL03eCuXRM<˰Bʨ]4Z4XJd'?W K1.L0) G܏VF3ynv;[5כ(^1ck&S`6n"ԍRS=i_3bSO!mtċc.jeyOQ D8xUTAH"SP C3id Bw#8S+xy=];`0nnGbV8f=&nS": P\F WKUbc\夼!UͪH\G=*x8ҥP*ObtI'tŏ1WkjICl/zߐ\_ӟ[kq tV-QcCH`mg†q|O2$8a5o d!vL|Ԡx+?F/J}N gK>vc=:$l )zuuEW8t|hLNYLaϡq%|T]lM1Qp8ګPa%H;B82K4R-57n`9fe\L7YHFDr>wb L wͳQM,̲vA^:HV|zp6z63jt d  C=zYld\MQ[15S;>$},O٨MD#b 2)@ ^.w >"$G`;vT9@pSi%6=ƊpC t+9XDqy>N%G,&-LU˜ B)1+iVްz&; j;kW]b[bΛRvdC48сښ}6\z̢?00 ^:FaxBȞ i/ˤm5 TK QbۂqPzzhjgA =otcgo$=:`C38p^OeMoiffK/׍SyHA_H/ Z-l3nﷆ(h{GB.C}=&)"tT"+L.t?C{Q]cE0rd6[}Ic9 8+ٷpG ?aFAw^  ]QļC+׵C4cr} _V{[܍C P5B&̸Ll{7$c-L^<6]u9+xuVem\f,xt+'icD>G`-Bģ1q@Xg;D45,ō]}NKkm `禟JJoHe,U|b|f]o.Q]Eh1]5:] {CTc;m|Ȉ~˖VrmAQ!*DyBA{r[@|ћJ^i}6ew\O_ <X!4C`mϺy5QjyH&BEZ$L\$hh9^ݢ\U<;+ںHf-Ȝ ~j%t\_{ع~(~$_kɄ7h~ޚbS檯cP*$ +YM+CZ̚TJRW~o\S7+WKɮ@m@M#o%'yVTy{FtaPOZay;FmM}b™u+H={RHxD|"ABPI =Esb|M\Ϧi.o"Ìyf, &D'ww5y B^mG2Zjrk}E]iҰ])a_nyt%XrBihG1:=@M.ysbPnxܜ #1$& 1JȌ7oyuS8Z͕F=s1[(=;yǜj2=eZ\z1 % '=mE"!E6@YpvH7W̅Z[TS:2nxo2ziW [TO(iv/FiF8! a̅bʊ02Cђ`eLX~@QDc:A<ӵdb'?crʢTB;H\kfrg'/QzKg&4Xh5b\lX|⇞lOe@Aw OtOvΉZqa)ZNN V84$^v~H%pCD% U2s[x .rnz:rC]T]~6emUv#z97w&Ȩo"Jd(q=MMf?gFq}R^j n"pFK=#lTK0i0X!S} iHNd`^Z}U0\jآ9CMIo`KDX-L`Ź ;(2;z7  S;0XS}ogJw2*ri¥^WdS,43(#E*Y%G/Fq 5?kFR8?.oZyx*x@ m?{OPM76f`}cA\B ׾ٸaK:GsU,6n2+I֓&o*sоҦq4]$‘hCu#64@i0,. Ec 'tTewo %s]ƣŀ~Cth󝻺iwtj,;M\)XHOՃ8F"}fm"pdWՅ~0Ƌқzl)سr] eM% ǬWr$w^ĴGK8u-dmvGAҧ2#0^WqkXd)2$ĦBV&z_^U*Ms|5ǯ=n1cYp1Oo)F9 G~G_ Y1j.cObWKiBXj_ȡYy- ._/*U6#hidE [ΫbkG/r(Ōŕ1 @PKv`/{R JnO +M3g;0bNxc{rL_Kcʇ( v-ro ;`oj RĴ"wF%kӷ3(\F: v! o8^=lFVc.Tkh%pP*\rV+P`}&^͵8,@cR-<񞶫5> fE3Ŵ0F8ac2t>:- q-Q9Ȍ!?8c*ƭDVL8P =xx vw{rʉD6Oi f^$a]'9hϠS9 1my*pO#K4s1p@3R64Bը‹5\U,Ϫ] \!`i ? VWr76_ۗ TV(0M-x^T9yʥn @gE{9t{<%Pu4uՋ߆R4(X ,|+-f# [ԿHͥQ[lOHYŊ.nJ֒(@gSe6#NmK~V7([ZwJa5<:xqd.%@ bpyf<ܳ/izz 7LmS;T8at6p](ډ]Ap{Q"}>3!?hE*|cX^6v4[fW(F4hbUHl=H\NL[LF8e3siCW\k` TTFeLZx{#3Ux5X3a9S#S3Рbh 0Օ. 4,*pRN*uoɒu)18JmGi8B΄ht)nA5),٣^y7ǃ2k-3b~O>5ބRԪV)X1x]?T׳CF0?p2⮒1-ꇁ [iwXwX_3i t$3o`L[f;#ZpL%qp.:t, WeE6$>Fd{c|1GGilARM.$pXlݴDpڧk޿?HY|&NNDť"M %t6lw(Zp 9is- gĽ!c??x 鿥q$Pﳕ].3A9e!}Jd)`|+M!W$lv3{FIq2tjvF.s5|$)fkad!&iPcӈ5R 2y×NSDo aN3v>Dݩiy#'6d6RdvXzosHToYqڣTR~;)ZhG!~P`,;m ~^hywӝ6X&!3$~]}6@m0{+Iĉ_&w(&H04HDFJ6-6 >z8\`&>{U!V{!2++ܞ.vǔehiF}pߴ_e\c%-R(׆oM:pWYE1A3u''3G%G\!kysz5vm<4!=X9jm^)rۢ9 ᑼy煮ٲ4oWA|zo ~8ڌ6D'7Kq`$7XNoжMeU§Mٷq_)$^eS< P̑*3[9O `سe)-AT%Ebqu͙ s:5O9W?ub绘7ZJGmDgM:W1WqAZ }D9<3р EH nh6)93v5g*nN0 7r^bg\yXg|i"m2u)VP‘*EiV}oB ak7Gso+P5xUfIޚE]h{xRȘ5e5|ߞk R@2cFueg|ggOهhי\o0qhPqA0,rP=H쿕F¯߂ssMBf|@z Λ ~atWUqB&kmqC $9ikNN1"l}oYZ:YaCj!(F"7L @rA5Xywĉ_`؋ݶyܜ 횮G:}ޱʥi%#AMeCraR5e` Hgi0y3%6qxvJL`LeeeӚIT 繈tfyc%1'Cw'!O9H,fKey*SI2'WB9HdyQ.`7FP CtgzD24t.ԡاppuWeV_|+OBUm&4Nevf8Gr^/KFkj(dxm /N"V>{·9SkMppClJ*V{cbd&yت7GDR0}/-}eP/QJmWFRV;뢹l'ծiAv'4:DMVTu%r9%G-p 4b_GDȺ#%1xH:/ 1ɡ塯 KAFE[/Qpbud`%nr~gb 6~+s<-Tx6V10 ݶ"JlK-'p.-OS0D9֗+h>yaF<3kDG߯B駣]=u"pcڥ`b1}(*# pvDP<)6Tn"n͎SzJ ]Tkeه4!ͣV*㹪 IYj*-VYr8Q9 R}# s8oWu_zWo:ۯN[WK_aJX*t>1Qnvՠ.EG +ٗ BUCL}~~)ɢo[SU0o&4 S^$D[!z2F| &楋wC=zaP|T -b ( S V Gmyv!N$=/ Y08Ѱg27ޮ$xJ,E'9ʠXZGSoj&rL5X5gC X'Ww|B(WT"+>[` 73 7[;Ձ)Տ D .DÝF2{ش\98A5\*^^͝%k:R>xzedL/ذ|(hMÌEy>×Zsskń41mȟ!+O`QK`mGX4>'$@SЪDV)e`aV}s xctIpőq"푕d5# Lzl=ZG()#{&a+3Cfk0р=5z`0 } Q9,~J>OоM&H 3#[yj ery7NL{;VGLJ3sF4ד.{#MYg;[t֏U8) V?muION^zNO=&;ܔ 豪іm=2KLJYw.j\vbms'EB1ywA/sz=ݤEAlmx}^WPcEKxyCM0Mx*P9rl@_<?wWXJ-"An*t|d@JT!YW)=ga3U* SfD|e2RێH=l> jmƒD]J|)rA﵎!dŽ~/gz?Ӛڲ9gvĻlɵϟ';;Ɋ:=vVB$ FX8_~wQC7)hm>})qlU`7?UZ'>$Ĺ_Pikl|;EYJ7YN={X@͆W-sƓ]ė*ŧ+4L:+yJnkVugqCEito\2;$ӗ{c,5#Ջ c?^w7`yl j3F.‡銑UZf=wtvgz%H0'r󭔉juXec hY@n B&9x-7Me(~ev8, Mhi?Joe%C)+<7b<-h29E2}܆!9$e22lKsPcn5{g{gX1gVXXBn+hJ ▿3A4~{ibLnx$hdbl vfSJ,O}L\1k YAziQ~ir ܸP(_uMKC1 eB=M烖(yl`CeB,C(~IQyxjiE䛔v{;=y P{a8CzӗpZvbl)b,2ELG` kݕTX >)M/8u]F֯˔:֌0VS4/{{ +#8S?P |_5'}> V6+"R k㘘 }0̔ Pk͝b+ӗvpyZ4$X-7pi |tK,!oηK2RDͥNx[p2XlujRcяce.w<$ (`׀-M-q^.Un UqWa3O "qf=3M!퇔WRD])M`kg.A .7 TgzHÉ^G+so;HJT2([EI洇bqH6c?9<(u>X?;-v1  -VȌk;cbT)'^ڈ$PPC *R@U,%W7>ߡ1e|E@S֨ ҿ"V(&K(RY |Y,a֜UǻQ-k,ds,@m933J h+{[k~E ke_""8dƖ'B7WF| v]RnKzޕ4 pm9qFǣ',^[x ξ2"[]j~~ +d !A#]W2ӮaDSàS pn+PjUz|iCu'MOB%{g1NCh"QK+BBq KY>ăF EaCQ"M3徿+}dVU:՛ۣ?9}O4`6,l~=?}q*+5Otoei^eTS *YWHZ3ir!catgrO{2=( Tf[ۈxK.&h9#S[cً|Dֈ@H_A'ar`cuE?:ˢˇ>{4=ADt '45H}JsρQ_I/>O]L0*%"; (ƋtLzѕTfsDHLpS6O(. 'f0m?JlZ&67B'ncBu1Ӌio26@G<_1 _8ajk:[<}lGR=X }[bw`^WS4wKIG BN0b4ubp@POJİ"|bB,'{sdosdhs$[2?ws;LjxZ̳~{j[I姃j |9[ wE E?u{Gծ^2`>gFw"a*s tSG'CM Z/DOey 6 6-ta HKeM07)(s~/zm4nFNW| ZpGkdy8]Bzv:}M1؝ؕLAlORR9NJD$45p-NjуWgѳPYIv3Bb2)˞!Z229 D@'&2<0dY[i?,~ASztUi@% $-pEEsҗbrPLBؼP|9_5!o!0N^RG SuN4@z2ASfH0ˏ _]G؆ SmIv>λ×u)m&?@'S$Wֳn1zꛥT; D"fE׻2Bo.UdHHحt}pF+l1Y).ZH38m|)T*7Gn*#&dr~NbL{8}JL+GS8{nM8ْ؇2F@ Ţ9dXpsd8#.lNZaTxE^ ( m/;kĆJ] z-9oFYwӘ3FB/ur *Zߍ~w7L2Ղ)>%[rhttvNj\N1,G;fw^~rnPDbi]/ȥbT;@g8anZ 'a4Y^؋ahXC"z{9𓦇gLcCr{Z_FУ}%r|0#Z&{@5| 86WO3$ TĉءFwG<:k^~=-)L] *H~␲iFl}\!yk9F7J`sފ+3!2uTyIrrQ.j/~V =núyki]¯qp9L$R^D)(I.rZ.~SCR7MF&Ǖ~<.$ٙ >wJ+5S"ˤI(vbRz0 ޝkMA ZS:wۏ,5[2~]sR1){aJr[g[1<E 2wMm U!㵪*MQrwN5F1U;3389,f#E_jQ$h7ڻ,L{xPșoN TlR5"dm\&Мl"ayA6-حrb}%ΑЎ4;0[֦>Ɖrwř0r5Յx WۃQ/-k:l`!+PVQ$g2Z׼`W`b}}`d>l)G@YɇݓWM 'dPҡ ޵ՑFI|Z`$y6@տ/G]SQu<cU/pcV'og#'+8\S,+F(A2dKvK'-]տo rBproF!'(r}'SwiVQoϱ ]VIGۋo9DJa4Bm *MO ΗJCWq!GwA &~dZr̯0,32kQ QpY k޳yz,g!˞a^Kd> { 5îD"Yc@8DFT7J*cy#X;4o(\h`$2U1{E$E2n|ѯqLE4q0xic/p SsKd2ٟ\uV# 3#IVO/ օ+QC1= VFm+"(^!t سIjT]+q=an4QllE{O&i,z7bˈyL׉ hyx#w/0VjA)ɳ'\L'B>RL`=L%3ROlഓ 6C@Fn!&™l~Hn>A*a£Pz'r|*ML-dvNYqDT#v6N . ĒseRD)ȘheFd%idIDsj|c ~NKY: •ٜS!2 }QSN漞/O-#X.f2WuTϬ7,=hst0RZN^]*o7xa.\h<|&ܒ~JgB >- \u0Q~6ε0vxF~ g9VQޱW8lĄ6jIasT/`%NrnlWpsLߑXѳP1ٛN̊\ȓ&<?N#}CƮcbc"h6bog>J|D'S0|tLH0a[bM:wꋇm#lI"5dlsdIZk0!)VƥEDbm|bvb+.'쪖(VcAt &w(y ^ں0ԟ_/NˡS`TAgUqT^xx[jϋjVn~ixcrE5'GO71q P"R2h_PCF[^rL[@I)`t.‚t]negjܥ^W XBsz(iOΥE@k3NvRp-PFޢ @Zmނ2,'w;,_Y}AXk^nG 0J*:EzbqDb l> _>gMyWKƭzq3{IKߌLI(g!哦|_e!CG|8A K0?83]^hn~6 |^,X2]]:`po9N{ȁ}Uqz"&R9&z]ˋss6ʒHbcqz Pd㭪pt +4Q 7L T 5aPjd "(\r>Z2K2dP\PV ٍDƕ4<TJ8- G H0xX̿kXa*cwC5@xn'*jV}O,O J~QxJۘk}FMBNi/Og m{#_Ht:DqSRߘK^S(nGWP1КjY~CѮ!S :IgncM0;ee`͗QD+pRwM?QJXt;W}+SsAk>M+2pWAwS[5ls sZZt&&-q;Tko&9K&v%T̎{OsvT{{A*6&>NU?F5LhG-'%|ݽ:/3bsPv}l$n)kK-(TArJV qwO|0U*[,K7CbY׮ wm80`앪ra{4+m4TmP~=9I\Ȏ/X(Njv{T]lVV#6Q֭3-7ڞ%EK5} 93YfT %iPK7QcpTI:e9a5`/k- LM\'ujW鮠krZL⁺p0EZ *amN:?O eHhَ7V`;l@?4`:s Dlva˻ޭeP p!rY4ȿG凕#5el@Գ,(PՅ #M5 g&v2Yohb* 9 圲gmJU*j} W>kTJ= G]P3Ams#P255\S׏ww +r㑪PI\.5f aX`NM|&y.nQvcE^hVB_YH }hkRukZRx҅lɗA>gHND{f}XӔ T~I }[Ar+\w|n4LyёyToڊnjSh] liu1"9( {:حNKpR] w}~_Jؕ%+5=Y  L{<}=f5%ؐ@If6 $ȕ uU)ɝ!{h] S;'=-iiI=!O:yGSfά&| 8G4Nv!V荏7152.Y&H5Xvbc!8^&ֿ~lZ1B"6ljj)DRR2OI[`!W&.V8#&%1:~O"M<:FZ! ;T 8oQoF*gxpJ־}8d^蜭&7& 0XwvYҜ!P\+5|oXn%&>@V`V H+iPS9}(W$ NW pҔ\hDDv ܚ;@!m ZJ*'jw"ifLƁ!#G}?N~sU'2CƜZ3sAF*Ж>(6`{ќs-# ۖQJ7 ƿ ?lA\taCl~U#kӏ(e.y.f#~:A,v&/V &j>|`Zd7'{aP@#gȲ\>Z?@AyzH|;c'9V |}84k 0gظ\ ":RyЖkY m2,fU3?R6N6MRF~Jv14v]>uwÑ#~Ok)j6#XwΩadGw˅bc М+_ U)Lx+}S/DF˧eQqYRmfn*;ؐbLH0NJKmR%mOev"6O;MeĶpf)̰봑#5}1ЧMǶ3k2w/@mku, /|Č9ٳ|e]SL[V42=n\;; AortXOhY0\6])ϡ7R hDspgO4dw/Q &qeރ=Fj_hs ql@\.fO{Ο Mh6zPP{x`q2?ջ/cgƝo|,,ɲY ( Q]?vػ-niϾg)r_D^O @)ljneP 3J%,)ؚ U/7&<`Y}l7ef`Bi"9vjÿWCxr]II4ʘc6_+ɹR_#~']}FME=ܧG얄~6Jꋪ9$JiJkB1 S,ޣΌe.R3lĆ&ؿ#cubVv'|cWth}VYX c$LKy[@wxC.seY=>NY8x1gr2}-*5011$! ,"GJg<}-*Z)ZV,ѻcty.(UOZJນv~a{*U썟=bT]v-C2.j?qQ30FlzOvY iI wG_ C&f f*f@sWo$40߷W[_k9DV[EyInR;67d\L$L1žkWE~\C{6 LNjp׸!,nx瞂~9d2ZtB3𙥿RIl`xcTPfA^ƚUfOЯ7u 583naܦ@e84ZmuzxexM㣲 ZjAb qf@YM2N^UPzo˭@lK&R U 躄."WfƏ^:/~%r~Y eȦL6X5~q-mNs&SӊLOՆ/PQLîRo=Ν)"0ЫY.L ثdžgd"NO\NLN?$o綾3b D<\vB3E ZA̍`|)|t0h04kKBTT>`՘*ԈݣX. ˨7:3ÍEy׵Y:w{~~J)ߎъo'kf|UY3/C^"yi|G7"|W.&q MsWNXgKJDqt)ROeg#FW6pG<;+{z*)Q5)bxB@g5BPR>-# hmbamI?N8!JBu0GnŻ$t^I q.${6܅(mWG'&%rWz\n^{@=ꀲ8sTMta)s@%@5fP:(͓ĺ͟X0V pp=4ñZ*C\B2^ېӏ楃JљHVORE܅zO߮I.Bn/?)M+B?`]6o#}dOCMT kvI},ăƺ>L~~5$oN@5cŎ 0_V_1^`IJ6a2?__]o$ dמ>lr%em3Ȝp i}-Ӑ3th1a?IOM_쮃Azʃ&ɈR5mDD|$[lOi̫H%h,P-⇌Vm fx]۷s3􎂀jOr;B" rc8~p^rȇ-B!?Fm.)QTl$*EUR31aaEt,J- +eWҡM5r-EHэV]]x˅+_ ?fx#+ٝIѵ~7֋ bAEvĜˑ+~X^/dx\!O*;L 9 rxE=Xp}Q@IgMkx#JRu^y/}Os%[KxU /n{7:S(N\Њ%JI9`1(vzb} dl< I2"0=9?E%pvB4)9UD7Pp ( =T 'kuV_lݨ$`)@qVpAr0q95n5NhRg{oɊ4$1\B 8y8 6t (EUK{\014ȩ"d.GU(tߏ4 @.=.RZM[R将#a!$Ӈl >jF9{:]݋x;$GYHai6lLPh+Qd3,'юJ*us`k-`**@2_o$3$MѢ2(Azxc۹hIr1Fl6|;͚CO:5$b4l܆g } Fu̟5DMOS!)Bf 07rf-:p) yuOy ]>`;٩?ऺhIZfP/>t\)!Wt*5hx_Y\'zI8\*O6v|O?OIȴBcM%B-e`JtbAb˂]Lf`$F}:%J A}:'ʝ kIs$2)-y8ƶ*HRdhM\vbwv/LYdg}σaubh?JK8x,R! "STE05DzXF 2saC@Djrc;pC"v8,Q wn^%tPI?U5_Oގ\j3\ҟp:EwÏs @pvMX[>x;($'16k9_>+f t)º3Wj\A(|M% ]>֍fN6㨶"C![;K #5!sY_?e҃#CyPX7@3KԾUIsVn.S @ y8*~7<'()oˏY@:"5Vs+ taoY¤)WwoǖY23mVP|Jn]s;)]J]W\Ȅ(r@oFHME|Uߎ8-_mm: /ig3HhAG*z8 C)՝ɾ,[7)_ڮ!Qɗ 9ȿC)jF2Q1&z])>cۆ-Ԧ/f"FiI\l]Jڤض/ w毚E~fuebӠo׫ddUr '$rHu+!ߙĊ>1"L3/8pǔXZFy?rN0$+ s ^;1^a*`hUŪUHiMqN4R@nOux8 u/`rNȎ2C^.ݦ6pwy;FetJ}zz2:[\u@wWEK":Ezgpրb&2.v)K M>ܙt'dz޺4= !\i[TW6cQbYp򭿇EC?/;d[bۢ?oFSXG5Ĥ*iϺ!vs?whX{$Y&W9yr ̓zgRDbd,쉙}͙ϳ7`U~'[-LR9}uEb @H#1kt;>)Wc=~:]+(}GW"U he*1NT11\zUU`8\)L릭*t듏"7ǒ=a3.]`R2 j,˹W@JnT8ld&h.EFs+*Brdw*O~JzJ; Cϳ_2uk}7N0ԾiUl0"1kR4 Nm2{Rs/?Llv>[Sy2ō~@|)G+tj^\.ORͭ!O3͟8B( n**Z#m9&]AI"̙K_怸قKL#Gi4@;-ʎPftj,_K#kAqP&[!<֟gtN|Qб_%NR"rij4'01!,=?zaq&~Y7 boV E5(Jh%3rv8fɒIȆ8Ml_s٪#0 EX=>&"%YvPLz-B#J%ţW1iy]h#R G2acFHE/*-ggC'k$e7Q07;&&0`iFj[ I.K)%Sւ7J8t .{._ڀAٸСd]ĂxIi[56cbiΧ\xT{zE`}(g{moI`yU*/tRJ^)liW4#'HC/e`rtf쳅UW>ωIsM` 'nXf_wЬ-SiПht pn&M{|F*vnC^-~QY@UY6f-DLन?> ٵ8)_ tT'DEr}Y1{53lՍ=yܖM  ]`?yr"qށTYӎ ddZxIgk'' m:9" ʷ ?_8(i>vrW4}_2Ս< b塻eƓ|BE4:$g M}WO`=WgeA$-mvꜾ/: :9]CWsFQۋǤ*KSUz{JӋE80>)Y62>Cꃗu4R0JX([=ר&#/%>f*CQ L3Ǽ(L .gZ0v +nYzL%:p\?C4* #EDˆp@Ӭ*[gԌH+lɄ9)|QhѯdtE/җLX3tS<X21SO{ȲAtv *|#K K&<{sp{SNjKwurMp2d^= #t2t7*.>NZPfG2S G'į,$}ݦwߠ4$6zkuI `ڪ~mH,(#cJ+[}D v\4 Y8t3@l2 O&Ko15DM|O'J5֢T$=J=MS%Z 8f(Z;\07eA~ 悇FE X7.SE$={P8vVTK~g)P ҂=70 Nܷo1utՉj&)_?Ą? A Sk!)p/cEh dt.>&6R_٬{?K 1Kl4pK 40.ngR.d-:V293h/,f2ɍFˈv~$roa%u7?Az3j~^9ixr*a ' Rυs!dZǡRmebkꎿ#J<4mp5ZxvJ[NBAl;oVܑL2 S^,-0- ;Ji,$QIXSdչ/G]hH~W&vV_ ?9](=! {c*}gsg_~ /a2^h|OsL*cm!Goblij?*BLWye%40:N2+eY#Hfہ7N3w)ܓ=jqa$;BI}֚I5^D37aLޥu'l\eλєe*l)F셟6`ӋTg$4;J根 OӬ;&c5zp; }ʹnkpCQJW4csGVwx393k'N4e'*^YeX8"D_l&L9B3j2Ϳ?/ߛ) )3^@SؖP/4w"By`8'I||=w1jT=0]o`M#S2"YvvHؤ9 S@VcO88hnvx6d&GzK_J輷n_ЂT~}c޷D; @b5bah(uv3-9'$*Q9əa &B?eTEt+jHb6?ݬ2dx*N2u|N f"7JJzݐj4.b|ܵ=eH`x_8Aй gb㓂\X_;,5c[1Udaw A$-)'6>;b_]eݾ b+YF{\T6lC"jSu)IG+:V 7}wF6Z)0w.dx'~2^ӻW'[|JQEY?791 mK1j;0% h="laF ~&9v 7z X 1GnAL&uo_L"_8Fq`OҜdnk{vzh:ke!cu;]>0OֵlB ZWB`7p_hom# bLXCIr~Cc޴z F^?$(i:H )i~'FpxNvmfpM( L(KzL?M_#gE OQ-}GļsBg;C|k`}P*`;vv]|wre $jӀ=q5%/Xg< mJ~ߵi{ycwcbIi_ , Ye; ֮l~sYi@) {*9 TZ*=[FuU!&t_7z7M֝ȬR,]BIeަ*sb)'6<+^Dtr.6{2ҹīsW4jQ1Y\!nL7j@)7#&8⡑AyD ;`(%Q ǭleW_E*ZX?nFaY wO%ꐙhMٞ~.a(0LrZh& ?fg.Y6ϢCTN.Ȑg4Xu$9{` \[Y {(Eٞr(#'0?4cSP(Nҋ)K ORGDT gh4( ͡,my%q8\(c8,FCӵu8q~zZyj3Jz+>Ti ݱ?1ZMM!?,sUnYP::!䗨| 5گԕ7!-VٯD ?<uJ-R8*HkbQe pi-BH;@Y={_ ^rN5Ņ޹X]%Y_#'5=$q0sRI)Uɂ!)*M9b91;z牌QZ@M vƍp]&=ax܆9+vYtƟ0RuU0CZ8%OfBhkP}4%n+U˪g+u(P,ᡜx+qX׏i#Rr:4BGT:瘲Q`jWELU)8C2HК  T MۅO\O6K3͜WD""-ԈzUd$pP_ gDs16s~/}߲~a*9icK)8{oLAgowaW$Ӭš"ZrE2Db({^b t^Jgѷ7Ѽʠ& ⨘hQR̟O`0 B0ƀp6&WcKsM 5mC5Cm 1"m Hh@, In+2& W˦±-g2*On2Y/ә2(W{6EzjfcNV`GwZJoyF"7ڐEu9LGS\WrKxkcƈޠ296H<d˔V*D6U*d}^aX)w‘ӣ8fyZOҮꔦ3 !]Z5y~V|p&ell۶˒0=ojWCjƂdڅ/rM]^*{)l^G5-"o?<U? O5PׯԄtWa@Fa9V9̗DMbLP:MIiRV%>,OOD$w&{CKa"P<;g}iP՟^jv'M*jJ 11SlweQmods=vGɂP@_; Q5;2#g걇ZmM4`\%:s"P4gWJsZun(-~D@֪ty@E N BN+S"˅ w3S p`0N:2=dN\lu:A/ >MѦy0/far- ])( H-WF$X6>uIv?CQ2梓dMb 7̅n!wD5j#9aZ `>ʲPpU-ns(H tQ,=~Պs7[T\H(vf]0'zQ46\t}qqtF"7î@O8KS*Qn]ő'%7ԇ܂<:-ړ_ȰA]RȵS%#IT@!خЪMڀ8x4 ;Q v_!ұݔ}hʸo6!l݉VAd&v :N|VYe?gb_1J{WO:Szh[rcgס h5U.Z³t$B]?+tG2,ԒUH[d!ӭ@R`W ^sbޗQ I pg>֥>N[f|R V} ֑hvPW N?4SWLFm,^y4y*|!a_&`=?:5`ڍ(8.l[Nn!7.۾?5A9], 9nAG~4|5SqO|ϕW,P)Wv.%dbOC'47x ~LçS~a '~i:~{M%@KCq.I' eKθcI{e fenׄdE].WUIa48keƋi-M}'gdK xjM" ˵ ~c&ݑag`$i| eJ)ZWV_c4Өᬥ,Q%4[J<.0p>f6nGXHB8&ZyB88ipo ų̋ $H64>|jmHC7'r }C# H=Or8aŴk8||aQOigЉ\D6΀Ď68cO\u8rL;BLutt7Ӈ:? *j6DjI e70Hn".ٳ28`65S5V67泥Kds{0MzPpRg cjA^4}Ь2< ĚfMM[QUQG% +5(m~I00]x{JΪoB 2]w_ixtGT,_S]'Y-i^mE~YzF0QycK"ފib]YЏ:% 4R{8꙽t8x믰bO4qlt^Mui; Π@%OJK_yNX5I iu7 H=F hQ ..'4^pP|L: Ʈ  [JB:čgɃuH8dgnPA*-VH4(ZP d%ۭ(xUؘ3Q:vk=OeO#B/Y] jii०'üن 8q 4TI=JkVa+Y>,s?+43V&+77ODc^,.1sƀ~!Xx1 hLį `o| r{H)s.w}\?4TiG6C"Q迌zLmA;@@s-E#:yR_?aeX&<5 3`VueNi`jT)~PDz!(=6_Vr<0턺vCމ!r h4_+)FXLY7s-EA*L{ȍ)=@QU>cXܑ(Yym Nxv (@M=JX$Ast,Uep?-bl^;$qgzHvĉ;-uJvWvWF9_z$G'@!(.(6QĦHvGgӊ0#5zB<@ YR}pZ|nipVl O3@q[B{o~wflJ:X8_DܓOUHٍKP=ڍrdY|(_႕g>DEEUJt֚))R/Q+N$G|wƈ"ڥA:&N  \_(3OE8[U.Eg S߹}%iŵn )rwFi1<ep.P' @ߎ]z]!㋜| 76 Sa/$&c9.a'x@~Pd<ۃ-тV^'q HNhA7 lҊOH-W[PM͍i_Na,h؈l@~C??iBfe_ sM&ˤ^7z~NJ03䢝)9"a7"1bcތw{0?`T3ɖ4$.V]=%QE2W/;vd1h{ߡ9nE2 ,!Ώw .suFUY H1@75ÄEؿ9\mf$Tĕe~0$RRTD 2끏WlUtr tjkyb]d;N = ]sxu|Ԏb`kkCFIH>%BeL$x{^`+i>!ㅒHI"WRb)7{Ҽ V:zӄۂ{%%|O?޻1pmh!jbS!9<#H$9E!I^KM}X%"; {ŠK&N| `Mj4F"ι:d]{35,A=zz_6*Gdp-ac[EiU9٨r|A6jH!Kˑ)}EnTp*Eiַ۵TZ| "C2 E9{YkF qnBDi:{bFPK?i`ci hӺxJvbx)Z-guQܖNLJRMb,gf"B;P Ihg(y4KaΙr8.~/UޓY PVԗxymq']$m2|PG87c?فXahhhKD CގXK"ߧN2Nd ^hKe-DL:yl.3t%io1R0Yi_M VX ^aZ {*\m؃4vWux퐞S])T >Q_Ϗ+XSߣQԆM&`3@h᥂i5b k ܔogqqQy Q&J?4j&+# Px+ l7G[߲R~c>[f'_9Ux(J~KjxbN9m۴+b&" bJJ/ ' KpuJƂtyxfC8n|wYBq"!Mc6 ZG4{6(d{S^N0Vfy3k45 .Ae8.xY 8%J\ d!v2qn'f| Bre]@e Z_E kIŇ C:h5^k)7xt Dx+əPƲM {!6pņT2ĈG/MhM' ;OѯABzdx FL!X N:bx=K6|6~Zclq] ;\s!?4T[6n>:vCb[q ˎzeF!! 39 53.رs'x= ,y(ҚkFhN"~ !#ݺy=zv$j*]p\`l(RQ(X-ux2 ݱdKLo]Ge={&fiL_bsvj/ { 4b(_d+s^Xckp )@⇚4sˀ38(*LEϲ5 2Q6\]ax`L6\\|:S*Phv4`фވ,Q;ݞO/-QZ F0]\߅~hj|{ce <s0D/N ߛ"h;A1Fy`c z#&:[59WOm<:pb%7G5&6g7tm"P ;>lʒШLc #\tDṕ4=ޢlXB|LCVGc,w1k\.X0v3ɺz6D}Z1܌T "O[7Rc{>+`\ o!_h73`Y0[4^Q neX7sV:Ufq0q2,@Éw,}Y,?ڿX Es7ƆS 'jOR<  Ԉ7nVvy9Br^T9 , QpďƝp] 8pR.q?)qoȏ AvN#>{w7khe+-_)dD0!v! V{U ÕbhĎ*A% K&eM^ zH}t7vQdq6:gT|+;_XQws -J0$pd1zC̐p2 ?PKG[j>-;~(Ε{;ګ/u_a2a 49q+U618ya"*v N%H#ofsrF߭H LމJ`*_hM &L{JXslu߂C=d!q|B!B1f웗16;j~Ьe^W{lA_@B.?no[yl% *>CDa71p1fm rt],Uw#^֜ܗ!P%Sy"*ۧwMП}rdgt%؂Ę:I:z>HCg*hXUTvZ>70R4D倎Z?[n^< >HLô'p(L^3{JE8v!c$1B;&5liq1E:U/R5<#_pѵG6|WU%D5gp* _gfK`6W՝λqhЁfyt/3K;o{фmxS .v `r F41(e+ϋo0z\F$W[M\cGEmmr+ߣڽWRQs" T%F$%.c7"L7xy Ʊ&J_LvGжs7ЋT~ξ,,|{-*XZ} {$]Y@ ?A@f{ txm96(N|V0mY fkgBوꜦH~gQvaа,/?qWʏ\WTGQh_'*b-~4qU&@V^Qs@MA7)ti(xLn~;tFq@+;<λ1@[Еu;UG^k(9!A}5w$! v_oŖYM%ӻl#?wW: +hPVp"(~w+QpQ׎RٿK@ j3FG~x}2qb⇎K>\F1.V?zŠ _P/ZRI7V#y!%fL3[G,Aw¡pagA ԡpA>o=hU2U.5"k~ۆl=DawHږXOAҿZ2*yeVɷGA$)9W,,#<Je] #uyJ%ܒ o2 {@i@KG$؉ZX?F䉮* nl `9yKae~΍)&#>WK{ [ Wϒ֣o?uO=SہlAi^-3vŰBÎ)GbVԄ-H^ JYK>% D[8!O0h޾}`!1uy@Zע[ǙI./+CD7SR "q޾VĔY1t`rkV"]$Da+q꒝ƼNFc`[ҟ>(:l|/ܚ6=)w%fB}-.]d !&@74 ;_m3Xq zvOгKn'%b3QM{nÔ6XsZ—'Pr6[ A_#K\ƍZ;Ֆhvxc}>4dw*x %p4&\5Mue9Pk.I5zyexZT?M3xEn-Zemy]Sy̡H~t? V)( V٩3J5ܕ}*ǰŻֳ4'nrAlY +XA@eX>!jUV\5kciIyV :+<ݒ})׈Ypji/0^lk XM> G6"m>Eݣ <}A:R)KwHv栤1d3% 5gJ9!T祟޷47,~ET=T$rX9cmK\Hxx0I9 q.BU!TC) CJ tCyeZТU#˦rA72,]8`XEx$#vj"@-hLxM&]n?-zLcnfHc=ݳ>hX#I"o͗K'3-B@9Z`[%^g87Z`FόMSV0X "*_Ezrƶw|v.ۃap_M4l^ɚc2{d0鑶T=p+"Itr"WX꫒q|V{T3XQjƑj!y V qxrD!B TL3A<Zn\*8p+ucX"} {-jő3$l!\§@u` cZ u~x+|Yxghqa+s^@N'!_opߓaU>j'"\d$!Lf<@J͆uniF4؁!uXd5*mVfyUҝ\Egi40Щxh?"<:& PS5ZP&;jhpr=h;b]ͤOs&Q+Ԉ;pp5 ?;JĽF7,h.~+ڟDm*bS"v{h!_WTSV]H(ʉc5ndCRg;XtچJy!,7#+SRm]G kuPJ)@+!`V(udkCe) }Z AJ v;짓Ӈ]P*ۢ }*MfntZ|V~7`ܳ9r:I`:#;LIQ|%Ϛ$jfB{ɯI/G`EޡBUM/lz W_xoc!3 $N:2~ \h;Ԉڀ[ (ASQ+Xjwol=n_'$CV >>㇣V@#@Gfňyg2$/IW_ze15O(mW1W4Iidؑ{Av7u7ЮtYZLe+q"paKyisۂ-o;p}i\$U_=4H_/"; 7G@VPAwM+]QjQ5Y_'d |K>S蛈MyG;ԤAo1&6<~'B._k[Zڻ  R&1VM^n5}{3 ku s"6oqԥ8tW [F֮껧T.V8E^zŏ >rp2 [wӊr7 "Cf60Bt@Qu8|lOo#7l'm?=مxO(uޮ]V]ͰG&0r)[_f\+M^JH)?%A|`$?+qbï6Gb3W>JrSo(qz8n2Ʋ"a$R^/bys+M2rҸ7ȸ `VOͰʝK%?W``@'?\h)S$ Bum csnZI+lhojv2krb|:+'CgDT_PlU;t6}Q2iA Y8ޡ/cu<J8_6q&<V>Bnt)1tmeQ):W} Ŀ8nbLbR* 2'2Vr3}{썭8vJp R #h֗aR{V-:|cnHW"Gpv)]ݰVYw"d%Fk+>F䵕wI |?ߥ)8t/*M3x{"E(AiTmR(_=ً[sr{H\q^eC Ay4N;75R0F;t MN¬]R k<.N0B#i}.Fx ,O@tErkC)Vwuۿ4%TEy }еbj >bELXj_ @d{7 U@6PRG:k歹J:خ:ENtܼoy(aqxnvmQ4UP[jr 7-fR<?_< }^0#C5;|F@=&%(w'g:!JhF o3>A.yF\II] pM]`lU-͟\5zs#(df'ؠ"Q~G;Yh`5%" t9%O=pJ+ؽd] +Py~XVu_n y6SWw 7">octvSJWY q7 ND)w\nx)m ~؟s%?9A vNnp,*Ěb %ZSvG"( [Q$k>$UjDV"AZzii3g1H$І%HryO|l@h㮋`*D$> B;_άc?z_^u8fAXN j>} %ͩd˿g!FZ zu*ޗjL%~Kep(M ŎЃ|?,Ī9hP,Tͥ:m=<іZ}zM(@]F cT-d%Ccߏy /_ RbUrj w b5ឭ$gCS*8r"e <Z._1խ qƛd=P2JxF+!*saV}sjaz'E[M".huj`^Zڟ;m=e<>C{:!1֗ﵷ;?kuB މW IC긂7 FA! U#Ɇ m71BbmJM[Su djH~o B RZz'd O|tNoE%UcUB4/cQ9x#l|V-c UvH WbDћdn;1YJpQDdK!SaX>Iji}7QCo7TבRri=}>U+Q=ޣ uu R \} GeT^5ǽ,0Rl.cN('.=,Z>s!_16go!cwA85ٝBE ym<F\,c(Cɪ`[#h*Dn;3OXpd 5HΨG^i:OF0j'8o =Wrs5mg xpJBMYHn˩.D̟XECoS˺@G7Ӝ9r&3x!*Sa8 1jÞ5dVlIKgz+SSP@a_oݽu:VhȺ^ljqwh] =mˢNEw.m!rhM;Ff^- b\y!u>~M)^b'o&b iAs0f}5tpc\bI,F|=2iL Y=$5C2Lmchz77+6o=J2nC5A13?wϪ 1&i6eU}(g6-(e7 J3b.oVH)C'> ƣ5s/"D|.?=TlQ2Kfbh,PDU̾,Gr3Yq;sE*g) ~$NXt"6$JjU cFb`6^eN:Twǘg6}J%΢ǐ!JZA [ uza+E J++|ESRi $ۉ|$նI(z Έg$҇Q "2>3c ܻle㮆z %-SO4\-meb421poKLÀZX1a-mʊ?vo2x'not̨Ls[l.D+U<>@LuFS;LN#|k-2Yy_ Fs•KDg!q7h.ָLH׾$Z>|uVƮxMÄsl47gTdV VKS?[s]q;RIQ 0q#}P &܊O?YUZvԑ،)bfd?PlR#0$w& xt<.WS ?!ؕh?z%~ĉE7@`d9lvNMή*BT'('e0Xg&nɏ]0?=#p -)oyJ:Us"[e_[B DS)Fbovz~-_GG%",M#0W$Ș:n~"JWH*0RuD=߲U ;v,%x'i|} y8*k~Z?f,hF9JKlPya`..8;"$" FΫnwC!A:K!U ).߳۴O1G){u*"&czDiAȠ"(9ؽO+ g! _ @ҰJd\* Q:,1.m^2.kꊢv("SI=S ?Q 5^]' MgtO bI._LexE_S%aЅK,Igk\)kGڹ@Vx{/FNܻe'$=FFgTN<.]\W:LgM$g[y<FtO:dww042p| Wqc+4@ω-;Q!aPa;^MZ" >}t gV?ffHk?ہM!i˞~zICI3+M $SF)8Ԇ8S(Rb: O;M׽ȫB٪E:M5RpŨgʮ&mфꅢaC} qXMansK|@I2%*&Q]̶u*p;]G'=##iR03%x8&Z,"Cj}˘wR;S@6d !V '9D]l: $/,&қӸ@`Y[$ q咐R2up{9D0(jAvp36]Bۡ˔X$M8LˋbsVk4#݋y<[Jy4S,ÐTϻX5R7,4`:;]&9S6XlY8HpRD ҅/hqR"XHw&DJ{9'4.u90Oԧ{!u<n!SUG Գ=I 2dْoZa<zE Z'dK:8ң+ Oqhs݇bL@S" xZ~mZoQ&x9pc4j qIGĈnZr30k :ޗ_Yn"zqWPl!6:v-"$.ov*QϚEQ~b {r-pPZz ݤ&JppqI ؁Md|H1VD;W!=BwfD2څnfꚝFi8}G{N3TP~lCy%|քQX_vGr:vG\-m| J?xU1>RtL0RK5xs7zˎ,".YK}3\Q[?o-zS#K38r:Cl0lvH&QvDLz|93E`1ɝᯔ.B$Uz9Jq:TVR&+Ī*Փji[wP骅6EHqqA?НtBҘ@BV,}2Y3|]/4nF?Q`JA?PpXNvJn&w'Wp^0-r?lG >)PpaC4mJ)_KK4D$|7gk#n\i+A)(Aύ F˦YqLeߔmqi Sz`fY {/̎ˀfR0>G.,Q0d86& \M ؛WJ+V& `PRꍳp̭0QBKh.(l>cg TZJ<)Vv9#`"踩ad@@az?BGzX雍2@QHpp; ޕg5q~۸f椢 @9!8 ? )#ȰkMaŖbcF Uz`‹{D2+GKl&]“_Kt'ތ5uPRMِ"l*zU9X5v ӕͪ"h~VYqIH9Z`QXlj%X`y8tksYSm1Xy7,ҽj\s:gNKOa^_[Xlſq4mcsd @z+m_ =pWa8ϟsNGEpfN;({*Fn?-*ѭέ7tQk31 d- aCxVq ``x(@sS( oru7n$s^_R:Ýz ]Y;BŽ ̺@0S򊧻TnN4[Y\wO# 6C+y!rvG[Ϙ;vnJ1#Ply;!hFj} 4<A/(V2zKDȗ-SYf_"`Ltyz7LW.ĆÐ N~)a}zS+Kp˕FE7l#°wˢT0ת{f}Hdo[l^Ȯ1*lW?R\,q= \\+ V,sRBRݢޏN4Y,PlN$Ey6!7|0FɃ|)g3n½T{|eG࡮=z$e= }U6f)ãiy=\LCcˍ 0)C+&} 0f,ɹ;l}fP~H e0! -C#?I2CJ q޲:+4ܮ{|frx\n`Bu r7a9eL>q!?"H<5b_tvɉ}YZ߭t R(m |=*JGnyjF>kz Q(_W w[j,{/>s(R}g% Z Al\!;dJ/|s!0۵iʹcMD5d3 -aȰl`ݏ|2F!lv" )$)<ĴZKr7}3̪l'7GJZgI+ӎM8'\ nS  eQ8m{'AKzqOghK#紩xuo⬴oJJ7Ȍa0SfB<E˨ B*$gNǴ(, 5b-bK"Ew&$ꀃ_ @I4@o`4G ;zZsr[4)SF^ge أu(ഏ=Ὡq'InAŦ:-dyTmוc}U;׎ 8dk|l;& rAL"Q H~ uabI%ɗ0l$N5%DķRA pmmh)tBȪ7{L.K":i"c|'O$i^0vE/@oӑ.zN'&yW2Q_z{vY<"z5̺Obgd/ج-T~h2t]2oRC=Õ NZ=1%8O.nФ\'Y Xo("׎m,;]ɸt i5`KFOӔ'"ax  ;@q㧭5jbPS'i$q7듯-iKV=d(YP Xz"nfG=+`HZW09 c!ڱtY$v6miij=qEYx@#~[h3fK?ekaDnwE߸_0t# ,"g;1T0YO,דy;O)}=QGHޗU Rֳ,8Q2C,H)lEPk+i;fe86mV 7. .h*kzFLq.@+ѣ@ Ekf!)OMZEPD&'W.M7"̽#zCe2{@Dܵ/w0|t/W橰[E64WvR%nBd,n[zBCH U&/q9:lp*$wχ TsLPZQՈQhp$o<#@֓֕]ː e7: CncCM`o|D7}=AH@l eHJ̞kJS]̓Ж{JNvڄd{Yiri>ŃKV8WUaGo$z<(f ٞy"~WYkjB9P69󽮳SHSz8GWLpa׽ cAgȇpǺ+* 6|o9ۂ8ܝpE*;b N'NY8]L0aL M?ж*MiH7nȰyfM vF_#zwT%@IGpD>pNU:/ Ym 45wpajP3 zaSe Fz?KzB9PTJ ,™Iĝy5^lVt̙uB=#yWAƬ? #I:-;=jX'jb$/]% H,@f^SqWMQy0 X!T IdH El)BSטd"ݺy(Yoa(7q8Yi_}Incwa]# {7xoidK7qdxJOًMٲ㲎StJ=w|sE[3+.ZelDړЎI6m~1?D2i2–F,wnZP%Xbׇ}_@[`dHZ;u$OT ps+u{Y$Юl1#ȱ{lHg0 l%]4hSޱKc=]p/|=PpQHo|50p0w *@l z˝qAǰ򨀦BMu3%z{D:f}%+c$HD7rgHbY NFV(O  mld>ĥxC"5VR= v̲qn?Ǧ^~_* KgM)]UHi3bjѼ)U)O2? rvuv .S/կ_"Y vգ ,9qvS0[F#7ט7 +Y4Įs)&A'޴bj5a~?Nr;xV| 2>u;뛋\ 9 ݎD۷Yމa%,TM1®KSڬ3ʘ Qho}H\i¿B<+ZMqn]~..sp 3۽ Q⾸s2J*3_N[PM]?jaVPDp*P? /ueiVg5Q_٨£{׏ϰp" 6Y3X "&=59€]o_4R8LFJ lPa kMܰ/A)|px[[r1VbrBUzf#* @ ݉F՚ eNv)|pյQKK=W\G(O rJhf!CEnzʟUD@/8;?oɔw9tSd߮ UV!BAHѓtLV}>$ו]=eZD]3 ,Yј>[6CE*e3\ e1d?jJq~upDW=BJKWelLHσ]2zD@*_`1S򐂌b}f| SMyAg/qijJ}kXw9aGk;NNUt0pUto2N=QQs~ AF[k> $;Nhb/X1ʳ7A_ z m-;Y(CA0JU' 2dm,Z@ FI׏硠a leVe ޯnxNxm,=L$7z"`":.Ef1x'} HaK$+$&R7ݹ*bYVx%K{N.ET{F6t)i1nHqX# ;MfM.oA}-(^N\FVU TRxG[P. QV0hdI\ǒ'Q 4$#rMBO):]e,صMn5,j|y2ic u4^7$#?WJ9Fc_olXy}E=^qHc3P#h@H_L-⣋WtZVzE ƛkq8yoaIOs!kT"8ǨH́*'7u|rݤo)^uhH0䀻|. 9|ʕY |*y3;FYQKJNyF;%H2#bwwSHW&bLٛk Iղ8OXbb3,uʑ_<^nȾQ?b oyyN/KaDEӆ_nm?m(DžThgKlxqv$9dh^v/>̓% &(ޗb%$K0I8`IPw3QeQe87{]Lf3.Dlb^s*mfr ғDz |ZMK@m8g pS ;P(B.쑬MbC)@3}pGLJB24_SvS`3Ӯ(`긼,F(DL?[Lj:M&:P;{a?F\iBhwY8:}ӓ'@CRFxZ ^;`GeFeԔz6&tF8n\n(h _,$:ǸB j! ;`Qu@"kJp1ו^/CxƒS<#f.2,D"~$cl I2*I{dmF"Yjd # du/<ҰW%y7˜hmvW>mGN6 d }C/2汤2G_;Y/DW" 94՞íЦQuˎ[؍! Fك3bOa9yKIo&y6GTF`W+\FgN\՛7A)#thW(bfƇX=)w8duUȲ=g_*7\++F sE> XX#mT>GoW@b7k$'k41zlU^ҥZ\1.'[O-fN T-n[IVڪ"S w%>qTFFcz]R3=g=v%JI.'oFGEHA~UȊ"Ȇh#u]gFPP!ܙHE!:,̓ճdpsd`c/e^F%`#\zǍꀇ)}89CdT= 0N'@Mgqأ:먈j|'<45UH;b>\ \w$Y0Ig}',R(9QޙFIl.&b[akfBWX 9EL{=uM*0/S=Jh2thYzAy->M _B-ʴɬ}P3ocXc0P󗹂;$8RkY͈3O5n'7xi?q SbO׫GpuuգI$@Kds1`]FWNFE|#G<]ho[}({2"#IwԔ`P}>rĥ6.EjlÃ& !9uW2 ش)d~÷Z~bN0f 71XN (wmN:DWK&Xr2\Oo)VBCOp{QeHYQ;5Hd-W6-_µ8| |!$!k3A@&>UVw_d&&b &1:G 60φko&즇 eΠ{RđWm\'܉VtUi9ZQ[eG̳e xu_lQj, Qn* %t6Z>`] Mݕa!V%9rDH=[=?J܉nb<<57]|{xv7]q %k j8#λpT R-`9Mk&N Sμ轑}Nִq[vbjjC*@, [{k,>7l^hB^`"AwFhSIbXxU 3z;?9y'-f sEUa؄U4&Lj2D^5!e̬ RƘ6X DTYJj!$Ĝ4ĥ&ٹr5ZfAfОX$_p|#(;)bĻQ\voaŲxڐ'U _׎<H [@!,G3{fK!R'WE 8 h|zم}ZdΣ][+!%CJ&ϒcVa/L T4q9$(4~tR!L`VKC(BIT` ݶCS;:)ϓsGx+8Ś Л)aȑK~Z1aSybyayeZm !&-0w{ڤ^?#+:տRBZBAHH>dv!r03S&}EsiGQk~$Zx_P!Dj?@/<8iKpV۶[Y'RI~-M]b v[CZ<9^ާ` MJi` :к7Gu>t9=j;ؘVwGcHB? ں4;ߑnO}6zSIo1ݨ}i`2p/IvnY0]Ro%401 qTvc;6}KTHZQcPs6˫ضܨyyqLzbeXmNAE"½rs8Տ_^C H JcU5j3u7} =X=Do7DdډYmz,.ddFB@|yPD؜(Ld~Dƫa{"rGc>kk J<^m.͢.uuDs]g8ff)?dԎlI ޲vR21国*B$.F&E*xkp ӭ`0kz 'ۛtlIZէ_d$٩҉=jG͙?F]&62G!E~r88}C{dZ檠yRhV 4~UuC>5%V1 yuȍd.qZ?ۮc>JUIP^`߷u?N+W8;&TA_&D3+?vgIH1~WS'~=mnEa V rJ4+č$l4_"f4F7S|ÇGp쐏>jġ[{")X:=TDWh;R?bV8Bߖ~zߠĺpc/ZcX%citpsJ,/uˤבtZXV'(ceP Du5 9 A`C<|_3r&:hoɁ ;_mY_k9$Wq[qœy8*ݑYSL;Cb[K{YEG.XJ"CWWëP/eЂ 2ޤ^`yARa+$3mK@!t8ƺ'q0syہN>*))7WeҊh3d5+ ݚfS2S7֐@~wO';ǽ:]zV}.k\jAʑܑ.t;Z8kFEmsCftOX[k L(C4wϚIZ:N)U1ϔRL82EFo-e+@QTqʋyVɱAhxq2:W٥7OZk?LIk vM!&u+F1K$(-jz&H<9͓߭V G̿: (W.B vd tL Gs5uc7Z#vM`31rwZ=u8c~c5RN5*kQI8me`Y|)F2w% auFtX&>rrIYB`[㒪W-"ˌ3G W t=N:TסZ4NBt82 i S0Px'k LR_*5WULjo45wy&܀ܬMY]u1TT=5k-SCZv f$\5T$<+e)UJk_D}] Bd|\iXVaæ\KszRY,6ȂhO1nK]~ϽD5E݋WĨpV eQY;6f^6fWGA92-x6SFd%;z%aʇQU8a׺ $&+ju"G uǢ] (R,Ŗ"# )ϲ:eH#4L v ֈQ5dDxkGHp2xBqy,ӅB5x\g6vX98"Z ڡjV'1}Y_PB;74c;QtBVQ7 lUSHj?Sx.O& r3"t;4Ik$%H|?CxņkZn<iAk L_EejCUB}$申T+ X[8֬#G*`}q(t6f$ ڥhQ~(`ȶ4MdiS̍Qn|g薃|ZߧRI@@rI,jivO]@TCs;$5 q ^o?vxY Ʒlk"^ I#$Ԁ{iz#wȘqS-Qܥ/9nα5r(B~BU"瑌1j:u|l=ra. p֕'Ϫg:w6u5G>eRI3SD{vLÐ#<1əVQ8Znֽc^Z.~g:iYwxo-*4wdz3a%AƶE s^= gdnWoHm5 O&t9%yghiԙ6z<]l͉~Wc<"A`)Kbmpe#Ӏ=k:FO`+hסu-eg"T~Nypu*XI*vT.rygm}KI iKcVx,{R/My<+ ރiuD"2tLWa#g!S^'䬖7DR0ڧ-(̆f#5wN\3=ib%?uD\=ʛ쫣GIGC:]Ӓ"߲۫M$~?m.R!FC @,6_v0yk_搞dø0u]"\BLx/($p@Vd3in)@J.*l'1q@OtI}1 uc"KJZL겲o6∉xJwGN)sᄧ d?q0?HGu/ӋX%Qa~SCE욤4r M{GN:lNCs^EvoyJeeipApUձSl&NJ_s *x8`Fq:n1$g=ό1s\yvV\7%{Zq-V%e eȍ34| N~,:vGTY-@=_mj[PFu$TYc|0VQ[e,z43/R=tv>6t:3M&RDԢ!KNVs ]Nm`e.@@$;;9'vk_CxA5J$6#hjeGݍ!>ܜPbm]ZVn 8#J%H$fky vC jȈˋ]CIB0w?%^H#P RzP&g$*Vg;ꎆ*XPf QK녟ĔV3Tuw ֫ (lU/*lM㨒㽔Z#@H#8$aqpO%3-j)(ϺWÃ0J *SPJj(Ҵ0 !.ͨ7M= K\=_E8 {j{RXG^JRXNP+HHީC+gNBLKb5087 gR#}eAq\^ pxtwc0XijOE$  ,xi`}ް"M @=˯"`p;n!!WXiP,TS8؀@B۩=EJ^9 ӎk)+'@^IXE}{݋0dPL/w@IQMJ>tO@1K@;o*ΌJZi.`NWZv^_F_'DopD5&|VK3h 6lFכmf䴦)Ş*Nb{$ 8B08"."Am nmDB|[woe@>yҽ6]1a#oH "GH}0Y#(aU= &[|!ϔtZkV+T4ʯRם{ʷfkmd>nbcq;Tzyô˳&A0]-wCXQ IJLS>@ MkOB3OR۩9$1E{ۛ|t-Hp&Pc&t{u@pGul b8K!A#H[!:*l$]y{lw!?!3!!t]Ɠʸ5dѾr)ٚ ڬ;~DNp+a\`(Iczf8^KXS-׮*jɠ߲KG;LJy/p6Vهh/e1ء< <5v=5H`)H2}`ee[I!I thg J;Em>=(R5(E=i㐗yrrz57;q;>2ͤN‡la؏xwOUdֺߩ{#%)re׬QQUpb dbR;Hj5ZyEhd`_ K\cY&,<3)3W(X`%(͜uJbӶBqwLmxt:f2=F@+ 4;۶wD~lʿX4&p~,K֘0h+({ lCW7 FX&} p҇NΟW>ҩݬq˾? &MHdə#@6_s9 m@Brk]rL6>v*ƿd;ghMHmT/HLe*}/7SW,yh`K|ֳ2G άsEz/$ K}ֵ' ~z^8y̕WQVcV=Rן8N*{ /k]0Yy#6 ]g$ 5n`'I+Pg@ NQuqݡJeT|Iȫ0͎5_1BH"YHLYy)Ui.b^vN}ǡRkE[0bY"*c4-z,L`4)^&Zv2? 6RCF ,xpg?_ĭA=/}|<6]ʥ_m@R(Υv6WK:8tii2ph52wM[n%))~q\4B.D]%eRnv]c>,2Аj!ub8f?~wwL3'M+4mNos'zS,jV!؞4hd^U\;shrvrWHŸs-4( 9.0dA.Ro)P@@Vڮnpadq׻TdqNIfpc6 $>xC菤"'-̹zthqI%-,Kԍ@ݦ y)B5š"kfܘ!Ϛ2Gq ^wfϼGRQN1aҰL4MR*Ͽ«HH'$_IYfMӗ,|@>w#=I1z6T8(Ţx%=|>-;s@_ A|MCJd%/hZ̲Y(X,G eC1/Czg:N%vmow)q~h0̍7AXe( ݛ&ϰY; Rfԋlѧ8B誐hŰ{1U ,>1ODTgұ, }bi%l[^xj`>,sLHr\&Q7580՚ ٱݘ>rx^w[2G7}Q.F/:͎Rگ<-cBB~yq L öggE(/O(T4iVlKr3t˟`/ pӬ_,Ò;5X~4r6=NJ]u𦍓&mV\DҦV+0ѕYԋclJ-4sٺۃwW' 9W-Q˸fQ WN0x2^Wm~l/ݵY*eP1<3N0`6*my,7R=9Ą BS߆)CZ@hLRڋ2.1wx S]) ;|ċEN.mBLr5FKN=0kgԥ)-Re;u/@0ݎayvk/ ri]-SM[pn,)љdѦ^qel a*)I}1]'&SeݘF d4!70c| `rdH'!t>kR%*3Yc݈tB*ej[붅ݽs`/ ΢ jMb5sYy3#sڥڼAΩGmv&/. E[zAEsu z !Jۖs/j0+ MSrWG۠;nL9\mG$Q*%:wΕ?DLHT4嫆LoؗiYcN ͝=*SJkJ[@4FqI^?QxfTņO[vDk^U kfgNKCduEЬetdy, J|Wa5 ŅqWc^3"Fug/N?6{?:!\Tu !.Y]g,{OEt^Hl,S$1GV71,q_?JA kA1=QԓL]= ۖkwk-WDfZj nU+A1A]&mְpdi,(.4%"*ǯ x%Tu6ƁqB>Jnj5?UZubc5prYuJ(\oR| 1~D?b#gyv/& e1j"hHO8Z//brGj$ >V~o9*oW+&Ap 'n ո1aрr4zRaRB_ފŒFPػΥF&Ac gI:Q l*jM qUx%TAyHr,^> 7iǁ*0xי3C?;=[S~OR aَd"`w6hm],`LD *&H@ZSX6L5(wI\ ksЇ/`]?؜e;A+c|[=Hvsbɺ i_ݧ.qRnip>dgȗU%x(Sjh\}1 'uy>\!}ch~vjDaޡ`3>/׶>7Dz9E|7??lo-]1h;Y]@bT,8ƍ'M1M%(LAB>i``VHH!.EIݫ m-R+}`aP?erm8u$  K4'>LhZ6Lś% /`1:lA6%j\᪚$! GԽ@vQ_e^#0?좦Dw t.G6zC ?&A뽒(۪?ڱYƔּx!gN3ףgapfQ+Oͩ4DecEZ8籦2!Vh.\I.R#/=as^?.|x%g,']ޔSD vp$Xs(kV\<+wU;Yݼ*fg`UHXDFk&fRƏ\!gS%MyÖξA^c%ӅZ̾/o~1a0:BN^ޯs/l R@xtV>bڱP].c6c!`,bGX+O#L8@fp᎘W6;wDmvuOoC^3DXw3pB7 P,N,1)o:'-8^1J nս0Kɜ=5|MU$Ľ \La쟇.39uΦv,ib*Ծ [ / ( F`~; w@r%:-̀R9 H/OIG`Lm qhZn 8/J.R她~3Ίk!"$x )RN7?5{N'6ȏ}m'yJQ.7X-4MN7,U#5BG|F7m3 <x=u {ΝO|5<=*XpI~r}d# Ţ7ݹR~:Z43؝q'":$7B+dk/toj7)+qdS& &;Y)39-yT~ߒh7@]GP#2(s3̷#eO1JQi.KhsŴKt\~{T'gqnSt>7!Ră'ka#Ԁ&SD\_ft/a(6 Kr~x|1AɠȆCZo p" ې T\`j%} nH憌UHtdoz!G7'bUkN2M/QX9Hn"e}Gq:(s]5u5M檘 #ǧr%B8m)^k7D῞\tm5l`0Y)W =iV_Fg0dwR b2<왅bdJ[uT {;FS&h<5^T!.߆.PV>29qi&0Q%q KP6ū;&y/ Q1gWI #+^LťT16#thna՛PW3fv!hv"R׍{A OQ`H0j-)*/uS Dy%vsfZ&5|2$jim؞ƌ" 7i\|)˧jF`'bpi oy{ovJb$fTTQw 1SJ ?'ζFZǴ]ba9Ȟ&l8;P:k JH$ >#4cdYy}-fBQa.e0ir+NJ6i}ʪ$m&\PR@M89o%`RB-Ȟ0# } ZR^͟:ξc+\v w'ȞAg oC bipI )Wj 7Dtc^;*Rr?[!P'/WD(2C>.ƚAKO# IXʼn?>/(x 38hw牅f ))̝8@˥w{||_"}YH B4Y'B$a#̒\ֻㇴI݃8hH,䱚S2c)ȣJ%溁|O?+5Ij$`tW>ZM2퀜4n6tvۀ1JRJ~Z rT'N'0kⱭI)q@R#;r %1c0(?nH(.f>NPXqMᇸʫ [ +i? Yr=ڥak 3``z|j1OX!8*sI<ΪPT`b1Ü1RdesBOH`SwDhwåe!P=:ph@ǧjd\Ҹ^7UVa$U X"X=Ka2XUP*^/T "Z˔y]!{fMLI61=؄T)İd,V^$?hQ7:@u,N6vt ]8VQ&[O3;L^ypk>@1Qְ>(weq7;rv?_vu6teC2[Hٔ> 'k:N,joVTS+ȟo[E+Þ CW;[ \sx3gc}R6AU1(S}Ò PYVYf\)"Eo{/NK(pLNj94bv(3qҾq۠(~D@z橈U[qV3~Uc#,TѵViv*֏^l_\fX5oUeYݷf$өDc$^q &kW-;3R=T/cY5f/٦a\p>d2)@3HٿKikZkЖ\:j76x!Yao]х8)8/mv=UubYwY,vBg`O47ЖPݾħdK{3$' I"VqIx2oOO"秚Ī aplxW NO/V/J .zx4*HՕ RbjN*(1?exbjUI^@؛kz3<bQk0Gې="Nf VtY98U[gY3Ll] Y$z4BmGS_4ac㾻&:P$7?ے }հ_ĖDqiT )#<鄴qrq;G = N?Ad5f8C̝zeIg_%Vێ`l@ lt uxA&_y) ,yjPurEnts)=D̸p%YU v$-*W)|nE?H !GoRٳتj)2~0=]xN/"gАq L/w ^ŗz-f?~ gn2w{3|)!0+94&l_\krM$y&0dH?v*kv,LMiB }BN0X1j ڪJw s]jl1_Hw$@.,1OčSV G(_&pNSCy9Щu7p4Zmt6b9殌mWXSA7KC9K]MR K5l`8I O.zr=tZ&!9 QtF%$Z\)IE~KxJ3Ǎkl][ ayt?0=xo Ļbs(3`pXztBxy#[unR]޵㓡drj-~j__-ͽr u{-xN>˻hM8X{8Dt:Y: υM㉾nYRaiP }ieᖜi,U:zG$2p~&Gff7x0ΛU~ d5%{tYӔqe D(]r"9 ?f{QUUƤ|G.ͣ/ 7ő% _Jhl'I_!,4$:# <$R6I]HSq+*Z Wa6S?u.<G8'5C~irH_"~4SZױ0jC(jȑ1~Ry@>þ4P,x ںrd9z4îKJfa%9YV{ړr$V:/v>ż?l?x*jqrlAIC(\ "r4*I2HTd\DKm޿Mo/kڠNz1goʫ;>7YX1H*lY嗩>~4-.z N'"87Rƾċd{es$ *")oЊ * a @ohKcug_OP2P5N:fXUr3Q7Ytŀj~K)&T 9AFy\_h%Btz:_뛙70}KZT=&{Dxߢ:,9R}L&smc4^P$?UYl7] eu3\Ix-xHDXBod ܽj|s]>1\&#wpa,=vV@c{8ZW=C5vǜppϜ٨?K> b uW11dOyv^LLh \Oȳ1J1dKm]4ۉ©+xy\sxh;*L_;cW3>Br6Fr ;25m#ߑctGiWa0HszYX6Y3lu3#SSgx >D+'Hy-V(}--Bkd}z'Vsx&E5lyC  m]&1&/7܃q) CvϨGZIgrx=4q3ˁ**,hK^&"aȺ ,];p+'Rbd +6ՐdMExdZ9c6(ۺS?ڋ79cɗFvaȒC{'d95xt.Ҳ pUӨ7I[egbvJy9=Ḯc 2a&t "~?@!hEbx AQõ* 1p9I9gkemr0\˗q ¯ VRj ͌ 9܇9 :U`u?c0Nc3'sķ~͚d&%mAlp}^Ղ%m} sVFTf8jkx2|l0zPJ=U^;Պu.3\Nvè*RIbS8#qPz*!lʇ0*RtM;wEأ]~I ʟsn @S}} `G'K3<e`;Taݕ~{d\CdO]黵轻UYj3Ϫoyɫ /- գtЋ;yS[&4np!eL!kMhmW-x^+% Gx)g ڿ#L~vh? TO77H~ݼLw EV_KUh>Y% WmOڅ> tEnWkb3E7=7NʆrA4AM|m߳+'fm LBL=H<&+eJ bo%@(/3!N0߱,$u&6aղcśZęˠMY^j,l|sb3%gsdCF)˗Pi臜ƎV{ 4jdGKujS~:2+m&M{* Y@|=M[joMu W5Ն#ظ|h(x < &]/#[ߗvݠWpg^>3%-!u%*,ګ}V+w1LqpOK4.&G0Xm8Cv;9 yPkGoI5nEH+Xs ̒Ce,hT hiX&-L u*GRo3l$U%1n Ë?!wY܂х9EfPi&ָ$$+Io](Fq߾$UQ6:_tEmޗBRd9?T!1Nw9l0:2Ԩ6Ts51h1޾ʾn6M5T8^]Z/aT|1uwR5Rn(b&5&QԑgjM_c(_>q~[E%`f9m#Zm Đ쭘6~EiϵJ(n}vɘ[ J*aPz`~@Dc1goQ-t&Mx~̒HIKHǺj[~T۟0@.b${)ʼv]v̀ iMl5M#ќ̿ZKwe&y Wt%w\"}q3C`$ w %PSMpΩ ހC#i< |eڢK+*ANh^o Hq$I|#LT!69a߮tl32yd>6Bb%!l,ūl?` xƙ#O:z,4:]UxlY,_h17`Q[);{aKЙD@mjsaڊZbt@ n]w4n:Ҽ3s3C+N a8o<Q˘,Ō2NmEiU~%Fɖ;Q GeInx*PgTЧ9E8Ӷz{ Ҥ!cFVR{PGy%\iz|nD5,b׽ȯ{H"F/BkkYx+ kTNSNa?,J 1V4#+[o/gW鬬} ۸TWB ՟qgڈH?Pt'zO=mP5b2|~q?HI(SbG(IX S V÷yůPW / iV[D7,́ T|gX)zH>J/z457>GvtkD! {e CrjB?Ҟ2sX՛'J a9r1njظcTOh\?v M8M"oJ,Glyzz/8=V)4 Ekw(Xv_[" ] *z(=QސN:>0(.vnHߞM_9&(̏$9 UhY?MTOTpZ~l0 n,{|ߚ&ں@Uk/'DOwhFPZ[:U dUVyLŢy'*gO8IwspYj )a.:\bI=awGbԣ84PW#qtH WNlทeYk!# *ُUatз]3|m_Njqã`ؠ*P-.YuG(:O>;򗖛OfcQlj_vWZF2n۵t8ęRЃ}T/O^kqe,a K4v ҙs?~3Ft9d%ɒa(d˼ii &9A KUYfe-5%g7E*aN&H=+ kW|<[ m|9c1R H'swV NkVxO4VՅXUt+p8!:c .HYPSEJ\ bKp0,AOx-Н}2?cJ7՜ыþ Uo/!@+f~p?mڴ@cdi:2 bm!`YtSrP*RbɎ84㏪uJ\@c^ch/{q-(VVz؂eDQsQCn{&NR&G3)Kk"b%PZyy{kfu^<{s?2aݓMp$o) t=ea?ޛ? 2ү J@mT$$s Q1G1f#ރ=-AR=v8Sq,i2*X$,e}b&'Yz-Ȳƺ΂G88ш)~,sp*f s&WUZjZqKž~ީ!x m% Sh5϶t0GȠbiDVGIF)Kd.OZY]~c9Wˈ%´at%-g![_47*{V7ʫ亠BTt/JhFϲu,m.XɍuNxQ%jM8rPLL#Ԝ] |-Y"A+| G-ἛKw 0ޜivqaBc\]NLf+X`Bd8 o6D;]MeFY3lDXk7%Q;J>b?7=f۾WPZĕQ Ҙw8{Xo .O'SYkd W?"^N/Tl}O5zfȣ6CZZK_2_IW׉n>9mskC9:4 J'9_(­A%$9  9vswɤA(@?]y>fմZ'C=Hѡ=W4 Yv!H R$n_A 9/=7QNuiDxqv+2Wi$>Yk9ϩ$N'j,#fљoDuS5@EEX  y[ z( ySoFy[IlGS|%{{ot`O^*) 6]R}XKzy27TCW bPp…Uk%^&pf\؎NG&9-po֗sew`2u0AdyLW2Jaxr!`rw/e@oܥ9xUd"ɍ_Oxq4qbbnn ށXi梲_dҘqaMB\ L 3kB-V]N =,!&$Ě#<7ZI(fFjCւ8'r=$;a?2E6rzvj#mKp$B߭x_3mVOx[?\(9*QͪD ϦT4vZKr'LjaQr]9 ]lxyu,|t{lJ8%RnQ/uhB sbIݭ#Zx~ԟ W8<:$ՙOe33U'vc4gU'@`0Ɣ9L&ǹ Qu S%bYh(BEאiJp{S>hZ*(4WeСǭ C6c9%n0gzp )LDh`%3_6.YX ,VA&C ck)!𰎽CW7 -C]c2MX+vk '.{ L.0÷J%!#L4K_` $XpFPmwB0OEIƒ :0 $UAtnn=9rI*%~UpʤFh跘lM'hQ3vo`\J{u>æNRb#l6kxO*޴6,%> 3尣ꨆea#oNՏUz(Z<4I/'0`OVr5EmrC:ϿZȊĿ4-=GKU'|o.[&1 28pPU֪]BY7t^S p6+h]; -BW#$~J#M6Ro8x==z/ <>mb%p&OAhB8?A[Gp)VB'rd_L="=%ﺯ~Ҩ{EolS28`NTYC1hznxc=>(Jn.~w5*B4,hj8SqS[0j>Xo[t-$X̛ěw@U BjoYR0C)B/桛PXQ,-F1Zk]a#Ȼh/gvKw꬘=]Bʈ*J,D ^~pX!M^ݿonN_į/a -h~#7s!n={-w 5uۍ=D߹d_R]uuNdcbjvL>ti'~<%473;>Bֳ<#8'Fhm|'avG M¢7E( %G=d$8OZJkHJJ2P҄*ʼ[3. C8cwD!CJ)g'P gJb#HXV dSYq^]ݮ,kڭݫ R Lxt{:⡂LTԺ=^bҬxxtA?hLG$Rq8ڛ燑2]=XI'+P}``pg:X?V69x8_;v}$],; tf8߆X4Q\ωpQEhn943Q8&Y9V,MT C(}C`SIs#.Je ^.y`=uQHi&l3WI!h<ډxKok՟B\|cKF)E™|p$a!%: SG+^ָlx=٩YOσfAKj!E^N+I<)a3aOo`}8MP:b|,‰[z&6w}r mٷНtBT6p;@HFS{LXPI,0y/ @߸46[_[3ySN!H M\8V^+EhtwaQm@[Ny%vLXߙfzz,62UoYg/Q ,B# ʙ'HEd+yDI4'}$!5 7ʒV lľ9iI!Ja<b;A܏MχeФ+7F\ Y\ˡES9Q`0_yjb7yLY Y?kόzQ\_('ld ?&#A K݇JM;V >YADc=oh,*9wuEܦ#}?RLwJl`:Ռ 8SkRLj\1 ,ظę'% "p do6mI^L $/p6>zM\}kio{n᥁]Xo_<,:~UTkHNf0ET"6"gn&7^g}`Cۀ} 5",OcXQף4$tz灬}3n*ey(HͅXsw;k/ YGjKCdHTsB #K=NIzM>t_ǥ[}q^k9ݼz/eNUiOO9h4]`&jA :NR~׶ƟK`aHԭxf.KWH2+uo[lZwQvZԀda׫EEB[?%nQyԚʥU=\.mSz3Zx?1Z| LY˰Ԅ_V3S[ e)q2=;~V_]ŝTU=g8R:)e4q_8BpayNJr˥b19Ȧ21 "I}2 E!i좛cӗ >1m?akOđ3y%ec@#|lIp^R7Ow4l_n=i v^FEb PѱĞ'O~zmAkĈ:7=8 .0XeU gHUApҩZQt {dY-Up ꘁXX^lL0 ">v)[.vgd " q0(D= ؛sK^&SaV2bmsCݶ|^u GqUW#c/DN Z~M)e)DcBfAbsbmpݩApp,XGyGRcuG]YP,bB` $,\LPK3~ +]]oJnX2TQ+@|2zCmc;} } 'u&arADW孆i,iSCn?Jf>}sd/N8߾JX`F]"WJ `xL9t? ^4tMJi!9[@Ɔi| nR1\0A87[(P>۹oNH^Zm\n.?ufz4\8!cXq|TanγѺzh:BA:#Z8cpEߪXӋ7ԽxCwl6LfBFYc~ymi{24w f]՟$;==h:+wL^ 'B/լnJ<.vYϏfp?676IbACXfTx4K zIKڌRD;nmoy=hG;Z D@~Y{377"Kd4GJTfzWZTF*K8 Yg/|RZN-HWSc/~9&VʾL[yͶf zM SEҔh[}/%Y^5,59N5-H0*V[--(Q}OmM?+quB}ɴ'rpw*,5D[F"Bd=1;DW]l^ɗJ^VdD~KLT1;;.+jrVg汯cR40 0k U,OQk?IlrPn|N=;;ތ%e t`3t"FK.L™QsfhTK޸eTI{PW9=>uo3 ݒ.g/>dY5(*veGepuiOOmJ<ֶ`HH#tNNYْPWGqV/ lDA"(S=D{]뮆!_5\nR7H9Fk@:m(2$cMlVjTԵ_6?29vJwE8Ė:7BIWqlw-Apx= ޒCC` |_sf5IPWҠ"d2R)lmh"ᮠ.۞Z+}Bk!$%:'$2?*%"=4sѾ:G'3;!_)j ?! ?R!':*R D3)Ul9Ի3"ǝo/ػ[7ÓWU0H,.z?R]FGgg1M0,Fiҽ>= #7 ;g?UyLVR\`leW{mYLܮ;K2cw{Q c%ݫ OKVkTנbgEC=wvNM 썜Gm[X#oåN;TU[@zǞ8f`~a"9H~ŒOS|!֩qɄ1Tuz,T c(삖%r#}􍒂309YFK&&ijWXPQ`k"[qWY+u6iJ:8fB_ .ڠ' 6zPJ_ -EF).*z"eb%&4?$\S1q%cXy"#ȐXr^šP]C8}oֲ2 ^||*̨AP+Xާ& ^/J4bT[kwGxO7xA>ao%CwL[Dw &e=Z >uzw}G|$ ꒁ ݾA:/Pqy 6P-$֮+FEwVkO,* A%rKE{ u ަC(ZW}gFNm%]6sO{u2y 0 :j);̒cYQ%9qZ8/1r:w7#oDut&B2G.ud&,z)K;/gu6q;J=O *؛_T{y'j+=W6r6N)n 4~hvH- 1j4080c[u kÙ!N.8o~Om:HVYm? rs+NM/a&(U khA5`C=DĶp͑7"C'AFW e%jx\@͉K:ۜ@7.30=A]xi3IOUdux0=9oX_SLa;EXG+Vd).΃-vւL_ ŵc^ SL]Bc2X]$@co}yh+jZ231L/?S5(~{hq\:Em]X_+;ҌS]4D\uv+d,g/ 6<H3-骚5@MzΏ/ؔlLh)/'=>ĺw\q2T ZLY.ğf\v|a3hj`l!Iq:07=NkNġ~pwomawi!oa-ûqg!"N-wADEՙ"ꤧEU(gC6y+f5̿S̷*:rDANyOF%& m1"v|O ɟU~Inؙ$3K]/l.p\Xbi%^Zsuh kM8^ S?/6v %?j{[N06ciZuo˽dt6)Tb--sJ;{wy2󴫊iB^cIz扝ͭ3}W V=a |T3@5No8"t15hU)N^+:2؀OiZH#t5jOzs >{%K;0_j0HHQ:j 8ߔ56^Zm<>r$ON7< j&TO2p d-2'."{vb]]S*: b!O|_V;Gg.א̹P;-9ZInΒxu;PTU*)F/e`~f:Q*v;+RDCZEQ5r/AmtcQb ZIp,QRfx./#ğm?t-y1(iFS0#D]E^p ZXDUEE+|5}f tķ\E{S9=kn-IƞVyӣkD6F֛GS4uuDaI`2/@mRE %MOШSX~hWD^BzXNrGƢԐ/N#13I'fkg2TI9鳃)џakA/ֹgcOڇW=!Q~TjM@ ub H 漥-?1nf?XaT>TN. `nWpIx#/LɎ0X+| &^:0ATa@97eQқX'CHuxS UfYX9 q윮-:*j:z] 0o|; <"|Ǻ!FZ'BҙN~] Ŏe۬¿p=J]RGi{:_\Ѿ)9j/<ɑ}/YB}%w=HB0{)73ov d\وj,ִ)uP[, Y 3 '@ s$0'(0$JcL-pae@cz__=~]cۖQq6n?S#IqL{2|3Ih1O{c=PȳWnOz,=;pY\~)Xvώ i]A lEu9o7d dNYu\C9NzJ[pCj̐? 7i>"ϳN-. Av4$܄NI 1|h H\{@ׂh^"ipmD!oP;>%ty,SؔA6Sې7gLZ}礝UV w.s|;%9y:S0/ROD5hExT!b(;hH}lAmWҥP9 ,w4# D9%X ! zs; \smhhmg<#|=sOgsv|~q^n:,kwICԥE1B$\TVQC{uR A Ui;qw?gFd&ka[VH}caCVS49xLRyt8ELt-r4 BDRDN<~i68CN+לt2+}3F%."?]<l%V6t\kU$a-ZiqYFp1Rm?ޓB&F}eٜtu~gI5?EPï2g {Tõ>-h 5]@}`L%`̼#-r^`ͅ{1Ej1dzfP  %lJ(J SW^rņZn^x!!wYKj ?!IL5ZƒMwd}>/y2َP0 b\Y2y & $32)ucL$\7hLJ DLJ9Y bSDa cosw 'tb8h7\xZC6jVgy-9{# ?""~`PJVGJ3on->VqnEF2ϴ *.0nͥ<#̟VTh;@sa@WhRs$T`;<4x%9^u7)^.Du>WgH$ 1yn4_p9 JϰI~l R`B `q$d+m.&#'~ ]5b֎/^v;u֌Vy#b\9 1; ^9 #ڜ1IsYֶР.5Ued|,"'9fXFYlsoPjĚ^rxɍ_@/5a3%qj*aNhUxzgĴ?h4_~0Ul7D)Sw8(`lEjt:gr%y4XƒkyrR&y.@ˇrh GE:,u30mKi,h/}F'Fۨ_7j3~ZKKㄐQ4I_B\WpȖaU]U!%SZ< mtZ2Ie?AGGM:tgY} / ~d=<&ua@(d61 {}uV&e M!Ů%X)ycѐw^ĩKĐhVꏻ$ ? X눑j;4N,1 0T $fUP_m緐sDM;Ko݌ڨ~ ;Z#u~!h`]$!el.[--ˉ1+̿ـH߆Z4ZZpv9}mã{T+Mc{g O.N6yeЈ.Ɏ@LlJZ!Ę+ߎB1[li3}})A|jvةN"$~1jV׋ʴd ;ߩ7[xv'St]I1{/{K04G@IF^T]$1L>5I. \Q /͟dXQTqEjږ>ʐ:#-%<۾OaPOYx"!Xۦ1D|Fx*~RiYTI_ZdGOp7a=rzP\MW|?l]EH/^ymL` /Y1N3¾ڌs<,][砅nl/ ~ _%#N\zi\42b7en!R*?%UZ.HP)'Sx|Ŀ0;=Q|:݃x)%Ă5.{KzN{\n>꽳E"Y:|@H}Bð*"'lǪpjhCn} '9y`s-uwR PgUFD?rY֏/EƚCw^xV9£x'` sjh$(u˪ S!jC8 ׭8jUuXE (]`uŧٌq܂ |QV [A^ʮvj6){pTB62A@ @GnD%M hjIٰ\o!5ZcXdy+SE¬|FAJy)EwD6Gql*o(:g8o   ݩy"[J+é 'G=BYVz(Lz[efn:7Y."E_`_' Ap3}dIE o#؇f]U~y1+-APĸ.&eJoBI,|Jʄ [g(,J9C?x mv8\H#8̥ NNO4ҞuDHzUM1]KifV0)8zΛmVe9w.+賮۞,Wki=w\HnUy{ ouc-3PHWڽ?TkkYd~^\#&(uT0`ڦX֝.܆EB$)֚btk! H8Kt͹FgCJ"*r\m,|d-mx4YSb4Rm+k>@:hK62G%c9ϽE\ +B8KºI\7PX@d9~ /xATvc@1|*<|2,J Vqz Mdƺpb KjP? ʉ*Y\ 0+*(G*LF)!%R~_N+kaf4lOAE`{qn;56T~*]Xk<7Z(5C%}9?2d Gf{m%oeGHFP"8KiYI§;~ٹUHg:Z(QB6`J[ 4ĜU2)]FgbAa oǦ(oq`?C&{XBω /K_ޏUdT!j8v8mWHStgy{Н-vEE~l8_oFlyQU+2A<], ( @9X'Mr,Iӳ48/ȭ]ZcjR6]0O})G+x%gyV=B/` CyGhyb!e]A"XOxgR P=p8\b-FD,){ ;+ЯK`V3nEAbfnI=7\*TYP4ܨvi|෦:i'Gzb,G @Y9L7RLVN]*q(ݽWP5(1h j8ѷ-;Ĭ@XCF+N fCeiB#,~碜kQ!^jƿd]ܨچ+Xݶ {b[stj/C(>8z=L-?zod9Ay ŌȲ+AMHTʄ!8oDŠrΚf]-(Mw>qvH4|Ow޾+|Gdav4ܲWp_6yƫ;]ÝzNFgLxbԩbnuKӔ TXj^2Zgat$i/cUNPR(Q4^__)s*57Դ:JOpmko2l^ti1imoy\42h;|jۇ5 J^?bY>1C֊@-(7sU67꘺utz0HYFb59sQl=gg# 4) !^Z;To{,/͇ c~[ѽt둤zk`hȫL$6`!|-^w* PFg@Io@+Wۣis3F3ʧth&< zY315͕o&0q"%{Կo\ԤLFWXwtH?{$-*j R;JȋRƥKGf|ˍO Bј#iŃ>BRcqkU0{Dn7mHz~]F5In|ܟ}Fمw~zӛgs1xqOKl6 tiB` *ճʽ=R> f qrZCDg'lg%e:qi>~ ho0?1=<|xH08|2b)%DgֲLKMݸ^ X"A+ tb9|9?q!*|)J'ʏbmJ@=O$qj9<Ȟ J^a :z8?>|7}yc̖ل?(e՞r<' !ַ3 TԱM!i0fӯcbON2`Y>} Ii]Z[Vt` +Fz(8a\3b+pxFɒG@ xmZBm*d1ޏ>ͦb-0(1R/X\(26nH9CTf.x:`@3t)ߤ(8>ZLc>Is"5h -}f?1>Fw;8fk1懱W "ӕJ"Ax0U]sx2=-Hmrf~'8'ɺBHQ$IFBX+SiXj.5׼f+[Ef9]ͼP=Q:3s!L{Dp?؂DV 5}2^K#x-XofU[]hD*IO41nN{Là5$q+Inj%JkISL@$m +*c)JR++rhFWT/fh3IY1<(4s2EDJ$ۙ(^~Ġ|T`6g@_>[~%( 'L)NS r7,MUxH p o2xwޣ R++±Eř/q{!7f(o& &' ",e +Cł+_$@_Wrӊ6@pkku" @wEt̴Mt@s1'gni/ ͮћ ;;ۗ|9Peq]jnA G1XMUVʬYZ>ޠvo?YulAf>@+snt~zf}a,'-ԮvsڱXfmLPiпqF O?ǢŘZ I܇sѴ2oεخ @=7~,"|Rj4=葂h>~4Rh'O;\ٟOL,&HɽTP͜6~m̑GhWi[HD'!e[@cPn#8sn_w GOЖ[hFKjJ+@4IgVQSH|YW.jÁ ]?m?r1*fRHVHkY$GiduAqr^~f@[[nA}M]r*\jcN\3sZT౰7k* 9Sx* cXhxPԲ˛vwLI5'/<@ӏؚ݉g 0yV֛Ѽ o Jat-yXH==u ˸ pMG ΋Ja*|NG kZVKԕhȬZ}CMK~䚀nK+rGek -b,gj" */5Sel!JDuK][T㌗qYD~5ZUOOjQV} Rg1}S>ݚȻͿ{~O!7KEWً7!sŃPS<}nNdG)< Ct/G}:} ZG#Mg'(9oqoDBd{ܖitu/8!Ĵnߛ@ₕ6ض$ >/J4 I,$ /F\qbdMκ@zj!=x˾¶x>YeC\Oa:KʟR6ޟLG:Zw/"& "L;S.B:~|4LF(g.jʊ~F;bnqF36+N^!t5eKqK-@/0Aʿt i|'ky`HqgTfo_\@Hϙڏ[*- 8W.8,U:>'gV+F$BJuus,P.8.#B ْf'i ǧ,[`FP;j?Б >ob{9IIba aKM?-y-D\W:;ȓ=Pw^6쩷)B:E*QƐJG-86n>ڮs§8ڥ6OŠLFSpӺ1bf";\ УX-iZ| z/vQuvF~IP.9QK=c+q8Gxf_Su1,h^Skbnk7AL0Ѭ*K3ի6zR"Qgܾ ~XvYz+. $+$ PN?5%ĉnh쯘/)ƼאUn2-+ XfyUMOszJSOV pܠۤ-X4bY1N|ft/*ůU&k?,pT{n7bŴe $x\rɁl_Y;a4׶YwK1@`a/z+ e*pv#m C l9z<}g[IF'QG5=s?BU9kw܅btdr&]rռWS>j]u+}8u];sEo6zuFd}Dk|?uي76 Ca:|Ϯk?|rfOva]6a$5RHN9z%y29$ܗܤF#7$ӱVP`=5SH4eKu4GƉTӟap(i2ch},+'L6YKF~S2"29ƶzTmL"#%֦݇*JBz̶ 19DyAÉ;:GM=8LncfO5%&-e--q/ z [ QE X0p1bO uk[rCϔUlxXvp{z]+,QCiD>x&_25Џ&;sU%\4 |*׷5#rV&}mB d(H*?GqD/1( M"+5o˧3A!@%꒵GŘFkIev{8OB*xhN<, Qt@ַBx@Ն92k~6Jdג\~Dґ" Nnxo+쾋T0ڴ{r[ 8YC(5A&f;ɭP/|>T^=:665`.{D܈h1Qv--N\|c5 6C?5m ќ*'KboK]q2A4_F|DfX^O @RePUP)4%=2T7t$9{P Ë1F;jK~d޶5$w*"Ԍ.D-nƬÏ<.tT-'Dt`‹>ƴ\؈ aZ]&ׄn^0cEB >V4]k2łu& rq|ZhUEY>r:/;C@AK{!?k~l t ݚn-ye}tP; x;syBi /&q&V hWpKT|x͌wܗ%JI=ٷvԑdE~<*9VPo\:ZWjj,ې^!y9.+*̗} \$]_l`HQ4A$Ζ{ȸ{H!OXf;J@EpK%ni֯8ZeҡWdmT͍-ޙ]7T.Rڎ7\Btr]Q*H"YgW8ESTLJ4j\~׎?L[nղ N7eC/eU$v& t@b/xV}yZ·*N$}qGBUWlsحɾHkaw%=N-ԧ,ჿ`~03;6& ; %ku n4=GVַz2])o{]^ڪēԲ)m0&)p䝠jʹk#|f hO~@vce"L,J0#^(d/U{M۳Gto LH%&'11A7:Ӑd"D6ݢ\grFcP˹yTvc4l2y)\9S :cJk1"5.+g+4ǝ_@BeUEjfچ5C5zK8-K 13Ok);`$=qEs(ݵ'!#2bc :=EARƘ2FB׾tIzӷ$0XGŐb|tL،%0@Ux#dYa~C(+C̮&Oh#oq孥̸$*A!w+T[8ԘEdhy"a?!gsy$.7` N@NFᖺ&)HS!9G6XG5݂U㧘A\O75z.n[\n&N'꽲j(TW,Rbf$T"یߜkcZU@QlL(?Uj׳\N{T7(x݌N:A68Ҝi{rɎw;g u-Q~b3G`[:Lp"1a Z;%+,.ڏ5MRrrCe2/v eZ Bn6PuZP 5/8 k°nxZ&dm4KIF1KI7j\pKRKA$́M謾(LՕN;T6ރUgHÎ\F|"WQCWWօ3x25:J {,$k4S-5 n(Vu,c=X:1]@㹻^ע`?wrMi5ʼ ۲zvi4 ђp͢|L+-(7=LtVBdI P#}΢ J2'^r?Uo9ň ȣ>-%* 5 ϧJ{48sYf)|= -L)B*s0d;3g|$[領F{ޥ]n^r٩ҫiPpPU?%Pd -7Klfk#k-0RޮY6VYVSX{a]gEYG:{n НT!QPL}Iێm`LP*Iga8meȀd-g]LNU]=6ͣڒKfq(Fw'c.d>bT9  Ʈ9;qʕBˉz0M|hLljGlR?[^` [N3=RXQo-U 3-p C}ZKlOȥo;_Cthru庭s@2Mol^5F. 3ćB{j2\Y?,I(ݣSx2YEO9ۈ&j`9&?y.J lS%Epxmܔٻ|ⸯ^c.cWu t-_`ضuJjU>P7z*>X{xoO+JmB=gȟ}w.@_tpZXC?[&~8;̽fQkͳ'QT-|uGpRﱱ<hKk8@Q/W6++lvn L%ygjF:"`gICeligmF2P3q[KjZƇԙ'벴-V0s0ǗU8L.̳ *[E=ǑGMXKkIdLN>VcnӰKmÃǦoCM")%wt ;3&O4Bdv^^#Jɹ0?NcZb7R>4z̔`tL9~I@GU( ]_FW}v>tsNꟘQ$iO:mu .mAhm@ٿ+^ '8Z>X:Δx{x4ݍy(/#;P"nRO E`,>OJ|&ZʍҽJNQ_^\4 |y[,JBxq,=#+@" }n:ctS<.z-% ŕ@CFD7/~:0TIqrF+mwʁ,apDKx[3^Rt,, YRP{Z6 kHtTfc,%J[cDG@pi"|s^3;/G")ԳJ`TGXv.vej~}+:T$ 4/yzWΥM& 0{.*ZZnqD?gf弖_Vg85FYՆ3J'(s5U Lpӆ]a[6(U z}t{1ns 'ChekX 1*`jr 9>5b3DTY-z&hy$|:,'J3*fGTtT7"9ZM .m!\ xպOk&.AƖJ')rmDW05:]K(ǐ0Wv90LmBbn\B:.:hJ=V6b4O(é?7zqr.9(EE ku92AJ HQg|T-xbpj,pZä 0Z# u 6)7ti$Tu`2 #HJwq@xNTE~u[}SQBŸx N%듒h;)*z$2YI\+gʖ?$ G)B~bwl^?#Q]!Pv.6iƒvA2Y5Z{ۙUaZ8h$RЗZl䶶g/JS5H;V=7mTQPj緆6HJ"4iOH7;#5Zn<=n#Fz&I=YtEF'κ) ,>Av|X|Hl',flthR#[?6܅9bubU7o%92J`4rv @/ݡvC| WP'Vqօ ܰ@ݮ7XlY'Sh , fFQ~f cϒ\u5FԖ}y~{a̔wƵ*XC-üȥ.dv(˸!τ} ZRӽ MUHav"(!O.e]&8FfOErBp2>Fhѝ=>X{ԝz&EAƸs<]s4quY(Jh?pl*Gv]!,3jB6wiiNQfoij]F4' .Imዃ \{  % XR…d)  r7IyeQi"hI&ug45Hٶ.(JZQ5 *QiV:vƑrx&|%Rg7s_⚘RӴ2HG&Q\a'8p9ЇSO2R'OJ( Rj3m#PUIywCX(yYX@\8>T";|Z d {mh?[ah$ 'oaC,H|jDZ>ovugэAxnK/sHگ8`ҌdNS(;hB ic.&9qK !jFj'Shd}Žk*My錖2-TJ{fFKLD1"n< o?$yBu(0`;!ILDmh$GxDC UIe>/Mg|H[`#b伓:r%LAM5hbW߰)1 *>!P8PNb9kWKg?zo8Q*]MY:H$zI7[{/ԵÍC/(!EZWd8y.^G7vI :[EcuĎo@V6NxR iN8Ss ݁jrL8y4Hn-۰At{}7WBN PZ/2Dq\b3OE[2bA=]?abA>/+@wH1]gCu⚰n`a306px0ORxWqɠV`qE&k¼嵘z4 cW<%UM!5`q?quD$֜h͛SOڊH)3Þ ࣯#Ǿvi?kc:zsIQ'um0}uȞVp_ vSS? g#[)` \1ȌUd-sJϚlPX5I?77tBk0ڣ,tR#WTc2cF[kSY<6]_:n*jNTحSowbL9f:hjQ\GNcoD>>~F'\uGhvqi;}3'5 #$v^|0QA-;وSOT&*|PIcA=rqd6Y2D,bѮdtX>re`.8VrQF%octk{/|'6?!"~(p\n+P28[hT#@DFq+]!Hi XuzqxALsWc˲O`dUf}e ,RMcXa [Ui4۽`"3g'Y{l $ܴUHe)rg[ndP,F4_ x~mٷ{^W `oHmOTP^r,8~)-bXkaLm8V-l5D#21=SiX^4=RSbQ2J繁u(fx \q8%T1bW}M0! ,)r恆dnVL4./+|VE dViJĞ܌REΙ{\Y?oIH %HWwqI3P 3j9MR7Vn)h¸BsQ*w Xqc"n hOeHkR)ZuYlTFX9aD)g+q[^ >#~<>yjgFˣ&d@xBqdMˬtYQ&.X|I#h-Y!wѨ>B$֕ϳ'd_2>[8 p{ uH8j/YEЖ Q&47LE&\MB.u#^b'G2+Q v9+8^r`HؒM`f*2&-U1&rA U1b+|bk>Jނ{+ ւ-Ւzʹ棚$2 3tI E4]=bADL @KTdqg\=1B̕:g2^7[%u~&IK5j8gЖq% $]1GoyEeNJ[_3nq2DW?F]r߈J;5dU~2fz1&GOF1w|b,ӎ2NFTyT\!+q;\Ĩ!@ H |4lT[Zn֑ͩF׸rv<> % (<8gjM>/ԅ/IAà5'QVqdK6#ߓ5C=jF,eB^ Yڕ\NZ߳e[ d[;sry KFfB!%}^:^? ';#7zzY:BXMo;: U'_S~efYD5(CyVzLCXH$ =Y}avE N6n f~{me^eB˰+\gng0I/X ܵggVjDF T5M%O%3FAکvE ~WH(;@֪j)ivh-/iϼrrj0MC\|@JDWgk![V?p";~ŤOup nAڡ / ȨP^oqaᧃ#*k1wB:[=h,+C늤P[4l5>h2C) X}< M|U]f@:'92WGb]|!Zfg1J"Tjsi}Ͷtq{*6PeD3TRE3"P2H_tF6Toy&SzQ?wg[#i0ԐH<u=MbI xA#Z-?G)~Pgk}[-SjXzVM>c" {Oort=d JXs+]ڙI]T;NTC@,[%dBUg'ry+0._(>n_MҸ3|TL=@<#F9G?3((/f/uFX8 \qûr_1޻m+V\U~"$vj$-rD٪Sr#B}{>ųbM78~%Zg#dH?֢Cڭne\D:]l QΊoΚmUhs@hQ*< űmjٌ$V"),P?[ u,.N:+U e\=R!C,31T1awcӊy 5Y(vN.8xFdOث2ce[4{ ܌Qd/yM#15ℂNe7wN IJO QZpvYSLm(+,+k_ATwBg>R_Ȼ!XSR)TD}jGj3;OУmSm ʋ' P&|Lw.D?Mj$_G|#RW+ EAb . UR1ʛB-K"*2EoA ع$^HiXAnFz(nFJf::Ww&تdtjo5'uڮ7Tx%,K/(k5ZqA6q,T$IaHl5bY^{ۂwR)Sa4pbu:d5\yk;]ӹna#թ!K|*ީM hR|ᩔn2 p%Pafj+P0LQ :dyJ = q)#^H?G@CV4}xmS(Anx{ָOrCejPTϭՒ\xų磡Ƣ,Yl(#gLoP>G Grg@ωIbb+GUHbҫMbsrZR 䂂yH~I \-OE/\KSPKG  Ф"(w~EN? $mlQk0 e-֟Qlx`Փ͐twou}19ڸ$qcdU?ՓnKfB 7ǛXW>6c?PօxC`A8Y`a!gn]w _Z"YEty|a@4l$i =*v!ve+ ~e;:ڸ}t д@?)Y;h>oZQU~)admeRͰ*. j9B0<⹣2Lcf 2I&_٘J3 \Dkm'Z.o܀K^w az2Gd6O*\9ETj?Q4XD],N&,φHZiȂB/jz%@̹2gCxPnwx N 1'˫R{PF@T *~RQ̘E?ܻ Z2r25(3v? `E<- kmZKԚp[ـ3 Elb]fD<ާ%˒@aZȬvʙm!"XG15l=P\fPH ; Ge@G'ãѰĥݱUO[HΗ\" Y>Mͯ’"\" .|w}07 _tr>^)͑p0;b$BaNel<ل* "!KȍTS&Fav)__<0V޾:hGf>5(G~cW1JFiOKdQТ^%uIAa.] 3$,>CHWCW"c 0$Ygq1LI`=OsaӠ1Ú{}ϟ ȇ*(9sA.;Kk`j.{u!c@.&>=¾8Uy繥UxŠZ(jcjNַt_ OܞwA 2^QZ v U ȝx|i&U˥UmD^6M7VkFe ]\|@%¸ <4Goyg {4K_V9{"XmM({ } ݍ;}f}5aQ,uzXgU:XxgyoBSf[ek $=~kohF x$=(0)uSwvbxZ܋Jj?Ί((Y֩a9[GA2z91sSV@.8pnT8?ݚKSThQA}IQ5O203BBK/PoB̭@0NJ0CAn8c?C~!j—!E :2F*X|J*18b'=Ծ%ʊ8)W~&Š޶^tKl"57B 3>%I:pJ2sȟ1/o(O#*K3OP ޖP0(Lc3^xx!I{\aZd gU>\45t2*l<Y.YPO [|$20㢇M-XMy?:zlu|0ZAe3;WN]ԕ]msVE|>hRP vCǏ!rlvV‘9OmQy@@>(6;bn5Gr4&[ f}FTSiEaQ>XE9e$,w'o={Q1gu`dOR&D1Rt-ς.,;tLy.0)[y"@"^_oJ4ր@Q rŨ-ʒ2vf͞P "1RD@y'j{1;Y@T}xfjfϭ>LxG&k݀& ?Hn 2}oRs˼(&ReM5)#+ ̂9ʭa}і!oQuz-  U #6Ci ңw15qE_" 8m8]/Q*@r.c_s1y-Ixb.r2Bbد%34W ̆"n6πɓ,n_!K=ЉXW)|!TW-EȜY!SbɌK7k&:"3>Ol9 )]H"<,c~$uU\ rܤ[YMܧx5׍kI+2ۓҟ@KV3+I] s/ &m܎Fv:7k[–.=}l0U]# PdHza~//{xcT=Mėվ LhxS!>`rj}õ߻ln~=>*7hҧZV3siF\wV{mQ]q]3摛rDFG Vu5lr!KK#ciP> D ;[uzxa Uj{b%/WYzy_SL]ԃ͘8SbQܗecfPL ~϶q6g׍TQ㯢Wf4G?|9ܯHT3՞c s8C>#J/'TJ|9}~k=M5Mp}{3[H0dVg_QM .1hJ]?AۘhI\0͂m̉:á9ܦu-X-orIH+{7sl|з 6CSxm[{ B6#GZ[:nY~HzX]Ŧ֩K>XP*-T bMtWm8&zTFόPbQX @^F7X UfD6I56dG t_IdVz5RSE !F%o\D(cL8?顽2qz(9SPjhCŞ-fL!1n@ I<0Ivy}($4>bzL)0mޓt{|;ȹc dP W |=mٳ2,Xpmdl0NRr `L.y6DD#'yեVvMӮ9ȷmoe6;f6vJл\,o >4&41R̲1s{6"`Ƒ~kI dvx_CqK+lSu<=% BZpOHM+5"+}څ&S;g7;zւ=UL#3q Y߁G ? UMHU;hSh-mh/6cp1l MLGɿW3+B ^mmN*OGrpS;5v{1ڀo!loB+[(]Չa.{'̬,<Tz4"8íTߒ12\ 4Gw؄[+"H|>0ECW <6 --7 d"705ka4S^h@{e|)CfXhEBd.bAX{:xL> 1:0' !5CsEk9jizr%s%Xg:Q_6a|^ިA6y+6p/>7#&TYH d" o,}f;eD.+GY@[]LZ=g0ckSwosD*ɚ#Oׄ3W+{nE"U2JIA gVTm@T 57cLFHFhdU?&{qf#޴}r>Ar_-bjF,;=R nzz ˨fDτ\Zٺ%~i+M=VN>'BvEg:a R 4AV&y.A!FEp誄CZH|i5`XF}^1\2<3E/1ftm~cړb ^dٚ5':le3H.L &2x$NXRv-s\'<-(Yi-g[9;8X+k RĉWFĨ?=crNdp7:u**0Ӡ< jI|(rQv]Y{cxt>U#E(# H܂;y@Ap1*qkooWgX[,VSE/e{9&a?B>RpӃDPk qKx?KuU>^l#:~EM4HcD62sh q&IњcX7J`.SʑSOҍf~J/"I/S- 2;x=Y';HǸ,EḌ, d0gh^Ƚ&bAR\UjHyy"EAU$XPrZبE=TQGDLn/3ν{Fi&XE;k W5q?//=IuBVZ9ўWU567GФ[m&? Jȷ -Km8jNӿŖJ L˛WtrXyg3K4l[omMjֶ2r"/-=1xNϲr_"Ң@O%^ȍϴ[ƜK]6 |\>TI> 5\=P2d7|y9Wl;xET$O-"%(:@e(_8|ra |BZW3<,Sdi}GE lѯӫ!xa!I[ǺK̗I4"F*d(maCzn$<To[8]2ǽ{T5N,`i`7x}D/> ؕ Bɻ9 OkCt#{fiW:z\R(+m⾩iR.E"1P1p!jfĬp=8: ˷ٙ[, ?Y~G?' I\=3\y&QP&2Nc{z#_x*4/k+$*9Y1 '6qV |S1I8XX7!I Dl +1\Sk9tڲdTk*`ז#cWPXs-7g@8sc([f=-kR.2/Ico,ŗNM\HhT%SRةXIt33T_)%ehtʙͺ'عWNj0ފ/ Ϭ|hp|d}[nxَ _HWbˈ#ET{K;3vPWzr@*Gm.Mæ2U+wr ؽpBZgT$=*gmK 㭇b8^Dd{ ҠP0l v&jy&l0zkyc3> bݹ9iNKo߆27M bj({,aGP=wP;0DtׂᵀDӮѬ2J-/-_kg4AӡP[k2+l"sRc4JPE 6 =,/)ePSKO+ Qৼey"!AԒ=Y|Rq_Pe 9[Fʿ&,W^L2ި9{?d"+ixU,FI&H|tA,Ye0r mpb;q&V7/xWZцIG4 x|:2å`o1FmMFD`-qVQ[8pM^*ǹ%`1qEE?t+ksd4<fgf7뿩%4.T#*'Zb$`y;~;]wVdiQ`Q pIp o4tå1k3vԍA5D-|`?v ,wmN/^35,mU2h|`{,7*g<4Y ៉\ \w! @ɧ'o,I a׋grmHZ]-w; VRS\6.@_wj&BYK Ӯ{Q,5'\]_?1zX \:*ȀUZ4`_9F\ҩz-gprd2'b]tF}~@(e:jB<Ey1/*9GaC@j[=dqeC>ߡu`/ɾI1%T}~6>;1u!Mi+;NVGNK&kO^*`8*f[|į4W$?(1w@>I1[r]+$U;7+ s.|Jv:d g o~#Z >bnA ۝"xN f69q!BS+wC1}KpmYd{ţȺ&l]x!tOoT䗿 kR|tӧV[7VI@;v8Ų,%blU-5>^ K S!֭r;i!3uaQbB%DgRɓz)O !(,G]IB Ph_2'OݗZb/j3H?p&(}01 b. gVܘq Ni J*$׿ԯ>u],+.<";"ٍ:z[GxwJox H:O b.㻂={7\BZc%Tǭ=*>0ұ%Jm,Yi# JmKaPZ}-ɔxqGwz1HsXfR? 0.((+YDP|;8Z bSp;qSJWI*H٩ +\o(è?A$Kd3J"]WCd*xI,ܰ{ru r{E"C=nӭ>÷Y͝?omYWp1p NDdT5#cLd:܏ bt&l!0J(ĖA=)C$((%vWloUYGUIA4i9&#=?"b$RM[0]^(Էz5rT n|;vc\\B>IASjzhl3AN d|Fiz=D_/s^wd*3U 0Cɔ\Jw ʘa&]k &ZpV50wΌSs#a\Y-ljTc2o\Ƕt>rK2I8!$~BJNQ'GhRReM,<l}םXAUzȀ?هG4Ƃ`4S۾NWLJʉ9$ԩ Q Qye =]2 w9=}1ל˲X6Z9$]jp5e/P Ȣ>iAeC )vǬ*Ǥz}DMAp;)9_V4,?G5:jأ_V,Hg1\(؋'^ ʿn-'EwS@k1t2&thHs$eVnt6`\ş$Lmt dU0g=#ՓȐcrmjK,'vi"IR\}ee:|v%sXA_q ]AOY݄Khí(IZZ. v Gjdos>*SRyަk41ZwN^ͰC _4@q}F~U74(V96Jny֩^'2&^:&rY$rΦ{eJm\K*5GD$Nq?>7]`MY˱o)ظGTQߓµF퓂0gHTC&OQDcdAC]J{vٻ4[uZu@QZ,b6! rKBm=P/i}g`[YBѦV=[ji,l_∬Us,VA޺q.<@ĚJ00PN=TRX x\(s N *T(lz5ǣj02r!\hm+l2C6 ΓZҥu/650&B%f}^'u'3-`%vė6'[Kؾzv=})pH:;U)GiiX=2g5Bbp|Cp (4Qe X氢3;[`_dzcM^KӈM1=֭Z6%IQ+a;xޕŌMWӻy$Ŗ({WF=nCE cӆx*geN55w_f|GXvqS_W5H YSS&s&9cqxAosSn %8Vʼu9Fb}*sJDS4_-#tg :))͆ܩ LBG 1IH#Ao L05;Wݣi5 ջWj357Vfs5qEh'qm11I-\^q䤘 \Fdet*}Ka-s3( |op޺ GHe3maQ;![*1HԔ+9߻Etdߪ:nGn;)o(Hm&"-Ghl Ȯ}jkI`$+VH\ HLrqk-7r?upSL3 iQ`zIꄿټPl/-1"uJ>EIFm$yH4Mfe#*45R4&V,EoX.xԶ?(vA:W/--kD8)QgW ndGJ Ұ#y?"w*\eժQr̴kP&]wQqD&BgA'S,h͐BȈ`?{9q`Rx`?4!Fk! Y)tWy@OQRi@zsVM8 Zf\B![$CԿ0E{QrnR=Mmg$¢e20:yUJ~7,zNA@"2<}!%AA o&b;OGy #}zEİK^6w$Z__Yw"9Xc2%(L7ղE8oAW)YVnoZ} \kvDn*{UBEV Zca4qB"g_PxeEaؗHV"bI *tFܣ*=3 [ xp2oYjQXv`#b2TOܑ&Z~PGp/EQ֝ù˽,1O1!KЁWawsfzEeY^ջc_^ 3CO6@dh1 *47jlXJE($80!o:p 7-]M$bÙw V3_P_/r|Clo˷kӑވ2T?OQ^=5fE_Zש*1(ouU 1Y;VD2|/H* $NԷ&Cޘ5YZT%h Ag@+7v!xU]?)q耨AAݼ vB-a~w&qwT UP;;*15yې.H#k:OEd߃c+YD9plZ^%z1iT<埜*_k$کȴ[ÔV7K gC Agۧ8NUH4u}.nnHvh>wc'k GD?H$m[cnw;7G]J.| "41fHn@g*eW.`Tȱnbd#Ζ5bC@lմrڬ'pUpL"nO|K>prTDS#6pԒp_hqlr^MF$Wʹ5joF}$26c0ٔFmwwxh!Z*OOq dzPmb>DDS{>b` EI𚟃F߬y g4ʋks{gt~,T*ls.pJ2HрAk_KZ6>n8&*赙韮< ޿etg//aix$:TKȫ? -(_eCjTzĸt\أ}U7Af% Kz$(;a}č o2. 7w$jM7ݞ} _ow`1]Xf*['!vW~; v(w  wZ`V#LecM$j+ƈ>1wֈM Iym<p4I{$܅[p$z%b0 C t;5G_b BG'yW;@ifyq/@%s5Qua^!y4r<.nrV3< 9nhjo6p.=^tJ] (q54f&' y:fҽud$`c"S^(!ً6\f-u^Z(J#a੊Uv6U![V3S^/$?&wH7ЊޝFы8ƏA߇ۧb"s T~s8,%#2~ YU/ Uo ]"/p2mPRzx[ok?'g&_{o4$OM.=2 ~f|WQ:zD3gFjIьSϪwRZ,j"b($ <׉vbÃz-|vyXBi\BHN.Lf#wq'k%C?{q+(ov"#b 0@^e>?a@w8 :8/$24dsRX,D@:6F;y@еq ri)q](tٛloHwdI }.k'W=Ĺ)%ǣ^?WιSGA#^|K\=+)Qyإh^X-`\]Zh\_6,[QK"I@)>q~OSB}RznsRWm*u@B{gGa( ! <0Ad FYehU@+/ag2 bt=ŻC㼰*T|OeKyxJ't`֯n_˷<ZG㲖 6‘bfv!٧-kSF >lfObQ&JG=E&BqLtʎ5q%ޜr쵥S`L˾ȚtI865[&2F5a~T8}ԭk.7N cFZ&W4ߎL5ZhYA]MWoJ~a+6H:&E;CTvE"bt67B=28a?U*N^""Zs9??̷I >j|U{ ī ^9W{VXLy{j][:|cSHLYe^3v1}bb/`IOvZ>2kdK?B$ՙW׸A}sV1S6l/C " 8" =xt/5;d%io -[ƺPTm )cR 7[ =9΀ɏcգ}|-2|Q`cBl={"rjGϙ'.lɏP6)ibEUaLGrV8HNtR;Xi` ; y; = @leaLb֤k{QLOn>u^ܞGzSǍK瑳{hRBST1u@!9m0l~=&CEz_ՃD|{}/o 6ɪSu'!"m'qp6㶠zmo&grs ]7}3̑y'Tv啬-wbNMee8g:ܖz3'v߽3$v[HL*DZU'%7#rXa;ᝎ,)渗x9[O >\KtYx Ɩ"v@h@l+kX, c̀:DfpUzF|]wyG:!+=9W;CG5' ݫ9cڔrVd&i@b&iae[> ig%8&k䚼ח/Q8#wgνǚMk"{dCzrT>tQ\fzC}zV+Mv~ IT9:A^՛4|v3'P褓RlSg׿X@r'qxqRjӒ]/vp8 դU`j`؊劓֐28/`ag{o2ւê96au,XSgy7 C(FV J/ilza>}9~|X ĆO\S\M8"[WZlrO>,A>cwPEh08)+SPuѠ#xQC&ӸoSr*GrZAk8i.ؚ/ J2͑B& $Ƃk4B@ɽ\\8K_s qT`mN%W1&:]p9h-FLxV@$۰*wo[/j1rb&?ry@ sGh Έ&'-=GjyNZ,A﹙k`^~1 NvhQ*}zxL8zEt#woX9~3`eV:ɜN(xH9kRc(Lj KԼ)ؒ~ hߝӢaJy^u2w ȹ\kߓC/p(7{AMk Οf*P_ 'wAc$Q[ \i?| ~kicך5[S3y|(l:XJTir.Fo3M[o|,`YÕA(;_5P5 0&Tw+@9Mۋ'@Td5D>:sJnUHIoJ8v?P-j:e{o<7E.k&uSY|a+\IHXHG-!GDaYta(|2v7K\5[ñx&^ 28cG-U / +K V)){Pn&rPNɐ~sP$9axАF#Y^tdFUel+k!_G~']zdd,=+eEGɒn/G JD7@j0y})Ug,'/?pC廵̞kpkH4L*ѥjgJRe*$l 4?[J}FD=z:qL8.>J~-3`Á嫢3vcʰG \ՙ%be%ھ݄SR#6[ჰZV  :l˻~+H0[>oCNj'F$h~I1*P Hf qV7rMAɐQ`)29#[j7&$>Cwj`e$qwxU~QZ.T۶Фu=4K'E<( Gh B iV6VSV=5 -ҫyǽ+,,FXx `vu4쨟rA=Lƪ!iIdl xAŌ[bOkV\|pw>[u$]zf"r'żm igh\\P@v<9|n_ƑA$&9~X,ld'GzUoAiKO>Cu"`p広EKx3݅ekmև"aX$JlJxup!_bI@BV Pn!)x 턨?2ەfS]e]#$:PZM3O*rй7|]N-Mm{~;~h"T*5Sj7fN`^SД62FW&lT!QV^rP\ (EF1<48qX[o͐ţM(/HuN̈́h<|b() f -.zc|,vB AP `7ߣOڀ?W kJ~Ԍ64jT!ہ, _Y$RnnMc~P{᜼Z6҇]7T6'%\f;o=`iM!h"ر21mH{2H NN{H݊``=z\OeoTqv T$q2Ԃ_]=r@5݈RQM˄ce#v'*vއ1G' %債&g"NӔ'exQo ,{Hyj$Ku;:EӘU`\:*(SJՃ? 4`|4fo /[*:,20>^o2p˄ݕۖd&ƏUs9e*ϥyzDDz(LU=!8z#^㋬ tA6 0bYY|URdJnM-i+fx"̢(m{C%O(VHB\to0{GVS xRZ|nMPQ1ra G?2~_Orz1U Cg#'Z6$78G$3oG3IJNd^м?98FӉ rIN.d2(*)^^񺌮P  EczdJm"6FEʕcvxQ ? Co-oi||E 02x."-Wb>dcAzK|sqe;8z\76Pa;4Cr>cl'>^}ɕW!ݾ#@%^X%db#JPHIsÞxkNAthhe}[*j$6 ]ԧ[P.K@EŪ+j{Grr nstgjOgq>qKNd o[wM[dUE ᤪ\ªT]w_pQ9/.b=Xl/8'k7cX W(1q3":>MÏ̵*hk"OoybNzE'1 S?79c1 7AWJB,#ư|`byz Lh%IvM '0dj[U[2-.v]ӰỆJ`E=чM W|07F_eD 5BҐl&a`K2S1G!AE.pB=z)CXlOj l?{XH7ؖ\=PDžLz;b=[VLHGpG] ;L|UbvC5_z sm yqI  BD~:G.L>*6"(`pƍW+ :QgwXH>O0ρ#|G+0ж:I=e^nRt0Ӣ> (NM3:9E,=[dd"bBX,YhDR_i0[ ֦KH3h5tɆEOQoS%0ԺzW{=7L;* ziᕃe×.V>:!'Ar@eu`O'2ocXo9ԕp1sòpK qZ-Γլ:U"8Nj[.tf_-k~n߯F;𾚏qzE< Jeiz95몽}=Ik}|UBa܌MG" kfkgMyUٍjYV@"u.e3zhn6wm.;x()jlU(i6$TRyd=y43,mѣnS|s_>M*eI_\JyPLVY*S+!~erl~ILj* V5+#5L`-28hp <ć~eyi6߀mpʹȽN3b&~. `6WD˾mrL]+äs.-nOnnƃO[,ozɪ(xNԐ/EiJ{^UJ 4jI{Wt?400NA7O X,JjF C\KL_rPzOY\5n ?#K[<?a3pZG4SxX(V.[Dd.S6K}6`r*߾3Bwnζ䖌^8ɓā$#ؿUVSS{tK VG}'@2Ezt;D6!OذP{Q lov.v@lBIXPȳ]pV\{(IJU23<9[[13EL?{Gb)(6(=$PȺ ꀉ ÆA<;cv sdS 8ms; ܂ 5Tg=t4>STU, X€Ix/n!dPr^ƀÙ&n5AZׄp/H|xy&Oo`mi^~zB"-A">~Cю h[(?f+,<ExH^$ȫ̴i+xt .kpaL 'wZ%. vꪌ .!4rTWMҗܧHU6u[@&R%}.48 o&y(Mzd" 5|k;vaS|!JNzX޼4e + 49VY1l|}[W`Pax2ʈcp<Fsz5eIZF'{" "QL)F8 AiV#AnK6k-!JE{Ve;-Uњg9 wiũ $h>[d7%4bq9}ެC\f.rg@ҳ+'Z5vA"k`z))ɔ.-%n#D60"#MVuH./S[sy.]Z>Pݶ tlނ 7Jz{37סhΟ_g,˘@Ef=W-@=KfnJ*+>(NL~d>)DyZ)#iXqf;ro2Ȥ =cϱ)t^RD&.>$]SRj}Kg7R.XYZʙk8ހmz2@`T1 xPG CS7wqc8̀Yߗ? $آG=zUU~E{dmA;l($Vӓn Nk!3^ѭҍ0-=dǽ:@@#jf~TF[2?w$PWz1[)5]sLdΥy(k1T)aa8)`Toc/-Gn»\ښ3ů3q`0̃l?xzV\c#]Ojef&usYB3qobn*yͧU+u7JRNW?ETsj7#V˴sGӍC3{9r?>r36.)6:` 2|PrG'w? X"=D4 i8s#`BruTƟvlo뽬-$=ʧ1!z3:e8Bti, f5\F:,l(\I 'sR^r)S$:@q,1J W0Z¿˦DmcIoI>a+4@i쬣)ؖݻ8L+&u3xx g^_0F; C@#B9>0H}Ĝ\eWWgkp:%%ȱtEV0ɯXQyDyd _(B=@>dg'D r/j;dOue^sWmYe@0$$|:Ҏ_m9"-7Hǯc" I`Hlg}S[YYtIv5$UeᦌÜt MR鼤f~[]R6S8wkxw=kz9̈́=z70p|*ڭv4| Ğ[ T̠=o@WX1Z!((˲ocv3PUʁ%;e\=N]S}~rk7+\e?ƃU8olI*PqE^셡E>[X&WOZW8LumU3kBЊ9t/ms8ՃzoŤύ9e].sVV!/C.P7(x]2bĹOʦ, \'l&:>ǜFZރTi)?$,<D8'cvDYn ^Z1ke =\ nz*꫙vX!?$&(ob*zu;]q߅V t铓Ȃ]C!jWA-]PD?.frtIe -";@WqЁN>&uS#],=2 M;`e]ЪoUM>%*F=|KیJut'7BQ n=CͰ69aDE.Eb 9 (gɘ8u!;S;n}nRxK$H[_SٱZ9@ftښ;֥`Y%J+SO_8iPXZw$ϛfn6&ڎvq6%r|$3Unpi론} q2e Do-N^S(^O[!jl lil8 UmhbWM:!m(=|2 W.&1r挳pJ &?O͎_bc #3lvÁkGm)[G%e bVntCSN #a@CI[LUA[szGc&!E?¥aK3N-arQ<0mz9Z)tz|yίh:"[}iD!z5#ѣTT_89+N,::SA4o3H"7Ul-;!hK{]V-FjݿGD!~7z6t.:3et/ٵim ꥓r3aXU!)QQ 0iWK9W5j.{z VXΧq֕Jq fP]œ~d8' BuYB]ٝ !E[+/itBӕ(69&0㗉d6E}uD%1PM\RI~NZMzF r7ܵ%*Q]a&7> &xhL4#&3KK#qZ .KͰ0 ?o2] qxM5`>"{!%r !%eg*䗉DbڑӏY\qFZ r S%:`|N~=/S:8\/ʁ(sJ! Jx!]R=7'Y՟lTU;^ODbw)*+󼤐|`b}pj2M,@^}1$&!I 241: )^z ( Cs8n% +;`P1NjmF!̆Jύct+TmFX6m"}^:QAۖ WbfO~l>Cw%]4\A "@J==Z<ǷG5\TV6aщʽVd Ol3*g,5PtM ܗ^Wi|_̊udbq$#] Zt%;{i`᎖z6ۆE+a![_!P!G fQ{F}Bf,%s'C,2,烉xqqf6\ L*]:ɸCFp~ׯePdE*uh=.á`N6:E0si#yWLQD\,9 +cDiF5/t5pJúD5|dV=u뻯z!"(&څQ1)mlC .pgvmv{۩DJi |C4&`WKFߪ"> =gRڅ&Qj1[E3kE<#f!ؙqu A 9s/d(xq6{V$A%$o[Skg'  .O F#zWBʠ'PO0}3Ѳ\x۞o5bEv[5/T^Le')da,MaV1x?OGq1W]copy(2thp CVݻ]vo^;wێi ί# T,S:ԆEfQg A|<ֆ_Eks({qrlc,du+t/ϟ߭1!$>6Y{_4 DOuԹ %V^,~oT:tXO8@3~`l-|o=|n`̙. Qy0av}ϳ[Z6bb^uY9+-jD Q6$g$kNG}ݧHY|~-o h| u"$.[j49S~#^k~Z>e[>dTA㣪d5!]TJ.uxw;^k{ RZ[.%F‹V7;|ލYG,~Egy?67 T֘ڂNW颪0;s:heۂaq?u\e) r?? r<+`-07;MsZj%*d'j[p`ZDs`n;y\N8qdLfV{!\smuјG$\;zm>=c]i1Bt;³p>Ɓ9QhLD?rF{&z!Tz n$f)NZIRN`@ ~dUx8aG3F(oIx}1ցH "n=AMڭK蘨r1v':x_kc2i!k !̏kmEֵރp2r}ҕgÆu$@fۘA֋vXXcx[p p7vĹ'۹yC,25hf Xdžwu0nsy' T4к^+Wy3R`?]e%Seȸd"Sf{۞/d$  Fm L2ǦZѻ-^R9Ҡ<J!Ε]:@uA>%Yk!00O"^}X8Z7=CUVQkU'sV q *g()3Υ &Y@%u6&Ȃ%GH)%cQki;40#l診!3yЀ Evgaa[¹i뾀w7}&>?y-;n(4g'cSų*iK( ݼ+n3E-|!%'@R9`K $ iE F(1`]}h̓ԣ7)_"YcaNj7`4/?w <$(#QqaBsN{a㯬L2SjzmCH,a~k/ܾO(Eשlv59BҷՎ d7jU0NL|ٚ'POKGkicTe44w#+. /Yɗcgm5r1x;h4&a[ ȤZn6NMraOIUIKduܕNXҥ9l^/&iцfgL3v<|b]Yg;ƣv"N: ñ:оˀ1z%^s{=E.&7N6@)~7ʭmZf{ge*y/j9z պ\cC0!&.eexFW-$luB5m{j /=u%+b!V,*X9`vkg&<䲰# _WN2uЉ^^ʎi n@~Ɓmf+L%4)-YiL$.B:h ?W޺&vUZڗ %F.սX tLB7=& Q8tBqɅcC55nt@UoS{)SLgbyf0 X?nS@ j'5r\쫧zSmcDsS+,1"99YJeڴ Vq f3hs:XT.݂[4ک‰Un]~J{T{#}]mOwTu!Lr[%CF}wc䡳# -H`!JoZcl|ؘn=KN|&a=Da|@9%m`?Ur3-Zd(!9HVsb/'MWX`̱^(5aтijd@y&7 ^zzsk$IJ`+ar[v,%6'!ƯVoUn7hh3ہLiMXͤaU{Oxq+v, &krfga֞ ٕb..buDq'@؁Yd*D=Qooel D.cT {c@k2{8wzTOMHϑbS.7翕 ~/5ĬF6G z 1] -ޓXX&B6愧@@H<^4\\Z R[2?%JS9 a|`w i|ZIU6_z @֐>GR+Ƕzˈ|_D$=Wh{Ս>Yد05I= Љj)ǦvnG',Xcc[>\n9@B{$p"b9ېJZ`+JfFŊ0&QPby(N((5)gg󜭤b%QG)k~T2;LyE~،&n9S2["Нц-9=u`l2'xCtUB^?ڍI ;5m,Yw~"x&nl:D$H7FY} IdAu#nYɬ]:̞e 7Ns9 pM_jF&☟HsY&ůc[;ovk7uԾ5ir=Ae8;(vgo(w{VN kСtpgAx A+n'ƧJ"8#0rk82o2+fl6T 1KΘ[ؿ>9{>PzIΏ O KLvv#F?'=DD%BOiPNZ'OW|8rOS믯+F5 +j7{Yڄ F>6Qq&" Ȟԃ8yH$)r3~tZJc;dK~"Cx1MnSeEfz*y&tG:.Lu p$Ao)zo/2tWJA;틫bˤNO0h Sޢt]2HfW2+wf򕢟/)ޡ5KT|mG΋9r0:Y`%H4FOj90Um&}O"/mRTNmj{?~񄼖{5Yb;N2^* J넡 9"SZ=I2,Ф< % ODCM XƨWn R=?zTkU:4Tosst<RCѥF Yc\NZYfF |$Zmmy~l=l ]SdD.~UIRYO &CdjiHt uzPҫg:R8T+z(U-؎HNxve3uYOMz:Cl6}&k3qĽ>? V4>aGA`tsʒqA"Fc#aAdM%BPZpǟ)dtvӚ?`jѸ*@g(l VSXxAwĠ^KT *GlS玲yh'V4oQsYp)`%f24Tȼ~ pD5V﹛)Igl^x+RQ\3Z)e 8K[l#6ͭ8?'Fۥ`W)A%sH&WX>d[N6/ + Ƴv,# 4~%/OwobP<7l/rQwUupd^fϪ7 f]"n̤PdfS{xl3!*Ɗ^r6QMK)=$\nI9XplZ5[@q]TɁaSH.͞"٪BEY:yZV]fn~^}D6ع&&BT|5kKM;ۛM8K__,9ȶu骖".l@Bi?Q-?fXSc\or#o#:BS^qm~xnTY9N;3ޣA͈lѦɐ S{)& *W4hC 7{ycU!{6"rWWL-o {5VoHYLI%8lG5Ne} _t#Xu+Ư1˙{j3øeo7fBPǏ4e @_|Dxk\u{WMs謋d ҴT{}LL8>K?8S\UU8s싣y27v҅J>;K^ǜςiO(Dn:J#"X>Ib5&8! PVF00P{4ڄ R޲^W\pw nGWT7/ď|X{8Y6ՕG]Y!O6r^JHlL6 |LEs"8A]MPݥ.K*,\@>JcT3pH󪔆e,vBA&.'1!cPCEsRkHX U1`Q[*˂VR- q8NoiWK0mKNfUT=(ǎN!G7 Cg($ߌԙ9 ()g.wzX+ rb4jv?.f)iW@ Cꈄ|E{az3w1Z{Zb0!2A) 043NQ۸bkUzM{!}QdŎظèn㇎v2g@)n-`y<$C坖 7*/W @Kt+c={;Ğ.=goCZag PdBy938a!4 30d\D."+͏I0PRm3$~.*ޔ9Y 6_n[_@/7?cYܨK?Ku4rAԐվӼ8c67ZMƬ}]xPk\ypY"?saԅj0K-xSouxqkK@) ^ `m!bd]mcʳ{xkژnyΑA1l%,TJdp2 lNSz.F^)mb/osTa Dt()\v!O*M Z>!X|yYM =:tO x]x7C4͜H:A0J*I Pwh#vvfsp?WǬKlghL6!u`Xp@Edtgة{jY4bXDkJ؈fU!| KO˖~KB3rK9%Ц"Nu^ L/ݯA>K^<kW@0x9P.AAη%xKg6/f-AU9O|i䯭U5|(Xn[vTkn$Ck~QCu~Wv(f*Alӄc)-In,$z@R)H+Igƛ9,H;%rs¼ 5:1Tnc %9qRmD[/2d`P~[ B=^Y|IM$L :$ =HT}S| *>>DjHiUix-ydhרCtf.`˟!a:_;8mX*DbҮdnIe@ ћbmO^t9* #GN7bs TjFd:dA ΂8Ze㟏:ޤ+d"⃋*](x(qzUWg-rq9\ wqdJtʼxDt"[+e~lfEMz+-flC :iǚFL-sRdg"S܄O(B *{]NF%Νv_S(o ؚ ;_>{N/(cUl&<$ N&XoTaބEA2:Ǟb wO{&~ज_fN=vЁ 7nFo0H&S qɕ/7BH('cP{rt]X Ó&ˮdm\w F6M. uEoRbU?3yU t$ז2'BIĀ"ڱjˏ$f(Y>N |Fw r:/Ѵϡo,ķU=';|g*̏ "*N:3HY '7{26Wނv"){hH牛r* yZ\WV3.vuɳO6d(Ebbj[}Te.Y_ DNKx`Qc:fyє>>ǢUf3 8\BIyS?2ۓi ;;7[;tV~aM4,J6DN=ŤV­a{Bw?Pt)SIms+|f ]IdNK^^ڊ]ޭD">.bc/1MܞMb ڗ 2V]2&(4 i7뀎8%tu\Gm"ZG-Grs>3I7 /KǯV+~U,K6pR2DO'Ur*h 5h-mnŴm0 5zY;=p2c"_vk֒/yIU鿆0>Ts4C\,23[^>7!x R^IB)Y=.ȪDeMvm<€#$~ rn0:޺*'Mq(`wT8! Sh! j7Nr]#$$eVw,[L{r.Jd4V@nnsBnk+3O u=>SKHE/҈ٝLv=Bx`7׵v&cs4=gy3m VPޔ\HUiZql֖$r!ђ +FY`MD !DnbhB~,*ϓ^T*g G].{FY'yÍ"qY݌@ & ge?8$+([[NIe߾@0|#NNtD72U n~wX h=&NuvÜ#)k:UTa^s3*2lQL%ā.~/QvE=U%{tHgH)h:x/YWqʾ˝P^K2UcZr/oe*nLFRɌi,~撌oKgI|Yë`cav֡W [b`6܍U#ϗ5i E0]-Eq<' mB9G]=`JdQrIPi- Xn3aTCdFZV4aדP(YiRJw 탂v/SMCq-r5L_!VIMfKT0Ho TwaUu&d*tgw%|7T\\wԲfW zM9b5lZQx*Ms)`#v䦙uw4  ?)| D'G1;ҌIEnloB+ L2 9ȏWnӝH/}<uOIie{聠,dvzgF{J-Jk4$_EGM'GP . *= Y[W{a'(X}|8]@p9>.ם(S1Dͱ>ٸcwAi7 Κr\:lr9c_ ^~1&x<νsvәgG)j"F%=RhJ:kЉSĸc:3sY/4:bfEC: Cն0dmt1h/݃4&?.=봭3ğ$0KCH VQTL󹍂k+ت_j )Ͳ!AiSsΗZXO;DZNxl'L~"Tctڕ2?n֣x9X^x|9H.d7F]*E$R3W;H뉼EG@ VtX3țDk{աV}˲^ǜ 6YPamՅ`Ix$ Fj`1-lNYnh֟VKH&(gL{¼ |.~ibމ$˵_5uU~ez/}Jk%u6{Dv1ϳ5l*oebQ,q -ꊒ\B8gO7-ĉ5Z=˳rκenf= FTbiX/oYYuvzzg~[(BeE= 83.:gPYԥbBvW0d3fNuM3'4㟜PuE9s<0[qI\\vR";Pg8RfKrl ƒnNXԗ M\4WVT[ Z_jd|q7Ht %fO!.G" #.Xqi[EgF#IZO@ bey!kA%."=%$__V6p&U?Tq.KqL?eˠ[w80@L<m߸CCQuᝀp 1!Q*$4'dUSߤ,8V4clfLnl]E 7?_-+䠬W+vaVfYj…Jه~E ]@"Poj~NgHA?nq Ԫ{[1U&/7փ,E=љ\[?ͷʵB,8Sc0y0y@dC E9]Q>uP!mt: ~\\/ f^ |!c8KUqwRh:Mi$aVJ*-‹/,F581Im^6 v] jqqj U쫔a(Y*=*Pr-[DmwqRV_n\ 1Uf{W^  rcH^QU QQrcM%:<j#gd-~QA Vƽ7qc{(qCK٧(#|O"aYқVԀb O uuIDk.ѝ2tәi9{=vɛA (P j* ha؟֣he3j,cD;)"xWw]ӎƴ*Sv;\`K'^%FĿø)<Qvmre#dR]^_!^%/CMh; 컢Dׅ5ZA`"t [~Vs tL$fRNx0uPEgġ-1TOED ʸoTaEʑ~8"^|=˲/9yor̷);`y}gw[C9 QDn7Onc5ZWo>*l58i;BnByU¤:q  MLӏƩJpDNk E`t!R[8y'͵( 9V3[޶HlC$|fPg*&l ץlm ̃ a`#qYa6!eu^hM@E, B Q͗dSRdG~gNnDi"v74 (NCʞ[ӜOA0:E=އȩ\vG+Ρ FT~if-aP缯@49e7 x.  .%*]x*~$W<yj vА̿E K*n o)5R`k\m=Qi^!80lMA^ {ؓ~b|3o'ݴb3 b"8l"53W  Q?k9,T?6?rFu@4"E: a@hPG=8\_n/֬TtXy.4X(mFKi58xYÙUY1^Pş̈.r)hbM3'9-mjG؇ TUOg#%[r2#a {F ao~ lZ@Mu!0H^[;Jc%ÕnM r+H&B;Gt7=R[w{'u,a-y~1 @vM"Xdֈ)F<: yn ԲQU߂0I[~ϊGw.]9hsCp4S#TÖ.\-oܻI4lCb'E)Og&,v{D[ C2R6,7ȲPcn Z'?0 յ(UqgY4kCXnC늢3-DH3` a>y'~5aZo]_uj,AD+UO )ZI1cx <2i}GL_ ۻ8Q,:8Hr;O^}Lv=R;O/2ffx 8-e5YA=sE~{ҵf MUl//mq|+h5'[T^M&f@2?bB[x陬2MB^e~s'o͖|FYN7՝ZN`Y?ùY IjTdI^R"аbDV X|kbjK(SLZ(6mކd $GG*Q]ZRi WޞΏvbs^5q7?gG]$ޞzLNiсJ KSfܝ/i4]Z\)ri@?]$K޶p50t(?1|RNi-8"F=e\ƭ3l t]IeOe=Ò\WZ%rtuVQ|H#oZ݋P+zFrjūƙ͍}+37RQPy3x[+?7Or5t)A$o8JκP{s~lgHuT5Yj yw$Ea d1ˌac3;Á@s`5N2݆EqE5۳ns^|؏;F\>#!.0 X(AZmeBXu]" `8 9GcJpPNgbY(hځeknC/P((8_&΅&rUM/ڕ̋S@T i.&z̜@Qzm4I:QOJhn^N/a6PKPF>9N-zxNjWr=K>g sVv&ŋ?(:Ef_C E?XNhpnjlV/]DyQ pw7Qy̜M*(/|CSg4Ͷ78vK˅yܳzΈ+_|˥&C֥gȹ|k0/Ǣ Ot~-t|(.-7OH; e{>΍rX۳[v'Qڌ,7 \QP\,ƶxT $m:L<Ӑoq2x"Yɀ<=O@Ulj<.tOzYŔBhɥW|B @P4|nQgo|ګ#.}rKS 7K_<+wy6TS&gnndfƱ~Z2{|8vtZn*0`7}|c^(A:OG)X=ָix#ػц9-6F>ԧ%L} ,0^_pJ/QwJl}&Si[JfўIWKKp2öo j٪AM!$ߥ50z0|ž?]ZS_joQqK }e129+ff=b Q#@뛧=qI}VZf1Wu !gd!ͧT#1~Jر<9)9䠤89Ed^= e1Ē_ .Y}_{t z@`ZeRJTJ xoxrs _"Aן;#BsՖ޴Ռk0-[#IԧXT0 t=L0ua꺜!)!F1;;g'bfxԷuddOÆr۫x' !LNC׈ei=I2&#ʲe8t"Wv2/BJ܃ߴ6bZ#Ž[B1 o&go=c'pK)wD| 0M,6%`OsvO+nd$p#ԙ6ylgW_ZW S0e2gi2E9(?rB&5=Ba8=Wu}<\*W/1܊z,݌ԗpfQ!Kg6-|T&nw`;֏jܝSqFqNZ~J+z$ F5"йF@Dl2rR J%'įC#ZS<}j 41c x!>iRQݬ-u˝3%u5{&iidZ?sbp )Fik'a76S6.ׯCZgþ`ײnSݨniY276ă9<ɭ֩t6;LțhY"b=nkEHg7Ep8{{ЄIC47UHM LTXBI Fk wE$FM1{5H Bca1RSlj 1ח%?49 3u>ݧ$:{/9E-/ިS7kik`'2o;-0 i h\ 4ev|O-KVJިvP pMaVy2yr]1ws:hjUp!Q70c~^+ӷ͉{C-c+}J6 vQI5ڻzfĴ 'K NЊSѯw擄ZP֔a_TƄM"{Z~A/w z7zR\s/ jm8nZ%"=5EQװڙ#a3x1F) 8:pd?xYTR `K]p)Pl֞ȁvP}mT} :BS?Kr[6ʝ 'cBa5~3A{/67u pzՉ8k-GԎ["0o! x db3՟S/! ,#9G8pM4K_dž[RQ(Yc߹eW߲H[t[uy NJYܞzVM_\q':r[1|6W%o9SW6ŽQWbۙ!qS /!yֿb_zixWdNad|W]设6Dx.ghͳ`̢Q"K7*#C=r)" yZE/ڴɒž1(XL*ƜH1E/)5&Ǩwޝ 4ijyyIxw2Z+ﵒ&T!aLg3uV.W#ۃbqv6z׎/~Ms^Z <ʇ\&tXUyoC}y{kѱm~MKo8İWK|84mp5sD!j9F-"G~hɌ>I 4>?Τ*,z}or}:wMKc3Ocg\,"$6A&YHE_ڭtV? dz7^XQ~"ts,cȯF3)e%Y:4gȅ ۅnFAעoO8a :PpA{+`Ar({1gًbiЫ^6j*mߤoWh:B"WH 7"eO^N[I4賳g[>eHP14)Է0 q5gαɧD0ZѲ됫 ;hcLxRkwg3Y`S`M^Uk~!DvK·/S| TQ_=l2XƎ_v[=GBR}|o*Hvk:}fdHd< e +-OOW1`FW/6qv+agm5ޏCSPyڍP8'Vs<ɵigjyL +^.koi߬D9gE:Xx~>o}pH3"lu_yнC?"ߢm&^%ڔgt̘c ~sjq5q@9,yl:+h\^{.;K&͖MGAHY=2k> ̣fxhY'%i~h0u6 2~!UY[to%x XaG}ݨb$6b@=ubAw.릋3j &F!VX#UIXV DKAi' `6yW@n}@ 7~E ̩S]xVOotHSK`LSnhZ l֫uG-x"]lJv[ vv7FchShuIih%Q!Tr+% ~A[@]VH@ۆ=QѐcH0j'H^@*|9zՖ(IK4gCI& in y`PLys"QD"Mx9<"B跔ɺVMR ~lȵr;QC@@ }ɴ-Cxh Iʇ[[<][l-ZԞ`sbE93S+8{tߛa<<}p0czcO4o) xPmLk/~溫BJe?pЎf(L'U\iPXu6rK. M[a>%^ugL3RuZBm"w|O}?E-cg9.G~|gܶgj?ݣpR2z7u5B&ku+u-xpEZEB8.3J=Җl&+-yV/MɗatP MRߠA#Խ0nR`*ǐz@Ǒ9Hhd: K-D6" Ya홮mFcT%TW$z )s6ZO͐Q%Pt?G^RIv >W)Uv0@>6v$ukdtcEOմo]VbDoA(xsTFRQz%I@Q~qi?A{`z4DKaOqԥR1k"C.O+i2nP?ktv5 +~__=z;5Oh ҳܠPJiy=ٳ% r"L ۸3.'Xc)-6.SSث^-J]{),%[;L*~rn8<5#ǭH<Fs-aR#٢ q~iwEu(^HU~0(Q`y!kS3`*4jaڱZ|wAkKxax} gC:k7;i!<9]P:0 b"cd0PKk2R 7Nm)] Fe*XX=LcWj)_r]m8yq7W;-,MOXykmimc tss]*Y+lUۥJ?rZk7Uhs33qOә^?wttf WP}qQ= qD#"Ze~c*0Qbh,2(ъ$uF.aǹ}KV>KZq7~&㏥XC˅iZaIL 4R2!1eJl-pHP)ICņ-ee1Hm{h%r`쨡.W&2؁0]TC6a=/`m@P+_Ǩ׌VE?:Y 52ɿ{;n3_yc$s h?4LDhY'{Zj0vi/)־:lK4Ws;!;&)" 0km^l@gnd:jT]a΋2>-f,LήYɮ/鮎o3 h0J  wh{ -Su<ޅ!#C8T1[AZ&iv1NhStxc;rЭ=cmWSGxdؓ<*ޢЁlM7:L^fM̠0TA\?8ut{jջMR:&d@Ҙu$ EQ>`AItWjsJ8BÄfDP9Axg)j.6Km\~7M~">U xDzyKҀGPh}\'blZNITш/jnG_FvEE({¥ih2JMF%n9Lci3E)P>6b |0 B'm#/%7?W|-^Mv. U{Z0~C{!ijS Qy}8ҍ蝷oyC""U8c"KV_d(:C@,C4\ ǟ8G~{5%rSh^ H0-8Z3c"ݢ[ځ6 wБ 섢ΕX&Mv.<kLUa h~"Z:4T G7 yyJZO-Пw"yW >*xf+_L=p0ͩ# 5̉.7[7' s`pq F.*e1cE"RkTѹuExmɡg~Fz)տn=`?9XYZ0ɇHs iDHV"L;WHs%PƋRu"`ײs >F(n,GFvlERM?uKA?|DJgV_4sh̰܆ڀ6Qj{X0 l.'8&h {Ek<7[ӽr n2AW}$ZJG*ybMkpZk[qxY)K% \IǷ:QaM9trSt=X'[rA}#J 3D(w+|f^~Y\|B,Dš ;X<:QExʼnNS- lT|K0E[uIvdc Q~ާi`q?'k7=g[ᚋwhYOWkG^_)m::ځW/HVTA2Bu\pd)~v=Z\8a+tv?_ߓ8 'Ϗ*izF@'Mѯik[X0MA?Ni" EU! KЧl4: Pj3 {4m,~_6rVo6ؘJQonžPODȀҼ TH{wm̩|8{BqYQ}6̎òhP3>·>=d1ҪͲQoAAk koESYvZ "=|ZYvbw8}!KЍ{ϒn V(u+zEsO1޲OKiy7KX#a"7@^8,ۛ T PTjb7P [gsFvmKdY- qXH-UG/jH!eJ<56ɅqGU*spw gj8uhZ2p[2s=ʂIҔ{,017Kc|OCS&4#$b7"6ɪu":S;Yu..E\N)sMͦa~uME Wݝ &t? l[2H .>F2>m%;?e'To qpR!CN%fx:?!&8Zpk$[q9/,ѯ]ZX]8T9gbN;A:]H#ѨEd2vLuvn=S7}⾌ 0S M&Qt1qQV1$m: d4ݚ sEme蟉t E jy QŝB}MQ/JT]8 ,tG@КrXN`7Mj^m4u +;gTŪ\'SÂKр18S &޾8)- C=uT+rRħ1ҳWȾSc4CxdW8}w?r(.'(犱sxtpoݤ3:6c17I͈rI:gfE`[_9Zrf=f}OEq}G\T r`qw{Gb=)M6\eiGQKXX>~]^^#N*Z4(gT#呣7];/MϴIa2UP]U g=@dXQG2A9UH[Ah,ANaNڰ^J vjn ?ڒҁ8o(9L#}2#Dm!,)'6X`x,?AzI憛ޮA6yFၰ9ߟQ*^b(:+Ts]tz 1LC(vw:êU ?۶;ٴLN_6]L :L$j" S%cː/ N]TWY!Uni o~-QBr*{V<&kCzggoi TJV R3wvT3,,u]G-γ 3he%C,ԕ1iwuK >fK;P/ZT7 y86 kq xMjEje,\0cq}}"8WEC)`}).ocBa{Nkbnwp ek[ˍ"k$/D_ztWjљlL aO9ҦBoJ60!fd&LO_sc0qpF 6  }akZ%<Y" U}fs&EdЍNq_#`A $BJJLL\_ ucͤ,mV%jM'+FUp2U  V;)`+j1nXywS}O+6M}u+23O Bɭbf䎊9 u14Q;I"㟗>e/Z_V2Qh38=ǘY]n:(q=+Ԇ+7c7WBVh$&M( /Jܱxږ e>E["HK:e v0F|~oGL@'tF(B3[yQ*oK),:]O1sYE\ -fЍ]X*}]c?x`$ӕUnK0ЎC9LhH_]~ )+Gĥ<َ\&K =ACw܋MG#0㊵m&ǎN39E~L1omt& 9_$peJq3^lQ!M#7"U7uMJjEg/mx`u;{d aA,9krNF΋S˩֔QVNUŽĿGvX?^ter?S>0}Ⳗu,{tJfh1Ͻ6Hu⸣-a4KK Z`a2g*t;n.҃(kXD /dCjM Q'ܯbBOy f+!J YΔO#.GS~%*]'5f6A u.ɢIRF{xHF 3…brZS j Q27To9֩LÝo&WلR7FT)%Q*\[o1-Ovy=t}g [ġRzU yp|[y﵁[X*nCNڙkTHY5Du^]ܥ^Ba> -$++&B>#g:$MJ@q4>˔6.6B=P_ϥI/3'WK셏*;0LƂWs6(:B( XwS@yLAˆV#m(]8&;f΂s~qm8hR\[`v0,rP?`2Ղ) _-s @#HcxČ/\C({e*]ñ)prJ3OHqlHq|Hp }z[ѧ.p0I N0_c)p 7wK#YQoritQ O"BE'ǯQo3ūPG -91ƅ°(Y{8 bh=m%VE027Tlk(] ;pwHc' -^p zFa86#dmr\M9dBI7VCHj U i͙'>e:};lizkHCh ʾP{Z8LP3 )xx^Kz6ʈmrr:+YtmŇ ?ĖfT}!l% ʑ@@^q7OSNTR3OAusy5}'4E`9sR.Cj)Α\e>jfVHw]ܜ{]AX΀E8,eAFC\/dzd͢X2Q";|> PE $ʮ}'hF77#/6u@n-p0O3 Qԃ6VKdu(k;N/"v(X/Z)?XsUx{ZSwl"n0iFK&Ba)RYSof6q8nɒzv$fx5 -RQbfmtw @_-6f]B׹l4u[ϫ2Gӣw>giO4G{v4#ۨO75%,S ^7V~G@c.WoFpgNҋM(V EEn2N%o3q!u w|BMiLg/R7vՖO Uʟ8^*KI?\H]̾Ǜ;|gHB"ΰLr }6 /&6/Ew# ]f}7*t0|=ۆuղ)xRe3K\@-80(tK'&UGۈ#.d-l8*f_;'U hzYo&\DGāK󱍳xvO! HM_h/-ex.58$Sn9y2Xr pHJ^זM.T}(Άmv`+IryOdEml|@,48gg5"*-ؘPK{Uwn K[n%r["ݴ#G!Fm04N%rwm8Gv@xI}_'j~ď)?'!G.g-@'N=, {_qimC%-\CA===-^:{~SCYP|CN7ȝ._˽1xh*v\l$2#3Yϲ/.|Z>>Q\ޮ0Z.٢}4t9modG~SNǑF#s$7|o0%Y{K,jG?UaC:bL&s+G @*m*N:5:@/b\tYl>lngSџa‘H1Dug>rw 3\ gQcWuAno*HZJ)KxnU{ƅFKm3H ><(a}vX4LfYxe+M܆ۇ932) MSjO&h[ V{0'mzD5z`46ZNqmpH߈bm8|3zQ\˔vW91 ++dOǃF`BY>&G`'fyѩ0ɫR铒6 Dnق"axu)4(CJx wBXU#R[v_J@pO k6+=E .w9P1* rթ%"~ RʙYyL! 8) 6\e8*%-fM(h &JdhOK{'=H -BI@'^192ddAM5r9DA*5W#_O;dT `œf ..7 ~ D*JgI{,] ʿ "K:)!b>QtYo>tDxuI8ȵ-\x/ Nqt E:ĥ@+HRY-O0]nr~l\<&gg"D/[~clԓk0RL׊: j+Gzy3]S?#2)}&yAj M*VP*Ab䈆vC=Hk8[eu7LVjfHadPxD@bdla;R4SLxYx~u,m2M=LT~ϖCz[eEnw陬$!&xLu\#kmlY& ٺD&i;L-|séuj(v>ٯyBnyF0Zڈ򭝄4|NhQ= hfdϦ']Ŋ*_7MNk JWN}mk%R ks)tKhC,*Uh 0J߰N>s%Ǽk*}Bc,9_Q[~T{ ZQ?{~EpsҰBX=> 5BeW-V+ jг XSaS1db{q w?sq{՟&CZX]ys6Tv!ZUCfr^O.k(;94p s_UwaPHJZrUi}3H%?o^=xiXX;T/\6,ȼ,-8O&4mSeA*W[a}1y2Tu ^*+9cE5 ̒6iB͔P:" ow9|Od,.7$JhK*&.)T.yD\Fg찧/Zsx3S"/D-+B-7^ϋuQ^G'87l*g"*]ĵ@H1w9xbUo]1{,k_2㏌SxueY@E+/V3>߭<)0 W6I#vƭ]0t0V5*J/)5K/hkqX8w̸HIԎWHrҫj 1hvnP䡦\[km#ko / x9`Bt4;uu#,wgm,/AyT3%6;.f*0MM<d+^'?`@-OȻZm|$>,:L!%;lTc& }fOHv{ebFdmJي#o4598B>ljNP6_#uWǝt ,wO=/k."ƽO@(xC34%݄)$uNNݎjvdB⦃{u]5_\Gt)h62);B(izKx.7SZGDtBSx:1iYB~Sz7\'v />ŚCd,ak:T@1 oC8+9ֱ*`zH}*A/D~ڛym/zLkCbbɼ~+/Fc}4ڑģz5h>!z4;?}/}x{G =/kvl ` {-,#?4=sl[.\zP쿹boM0/"V+1ӷ> |hݺL"'7Lʩ _g@{8ТO] 3k+%@6>}"}ͨk2hOYTjc6bwDx l%֏v" ̟կ@kv@Ѱ=V-^&Q0*( ƠP>`sfqliv;x68.#51X:}!Ǻȧ#Ctt'@wO$__yܞB鶃x>9&k5a.HeR8pn'msj0n*Əc#sObܯ.PnĔ\2ݥx =%ƙsaUB;^}Bb Ccp mG(V !;>ζ؂z?eo:Tp J;:cE] 0I*5@fg dd9ɦ8ϞmQ1лـ󼭩SMp7o؃)6mǍc nf_k8'wzV^XϺ1.3I4;VssXv5;}c-*ѯ^߀EJ& ;}VlLVcEa/%)bN04wn~ig/' "2^Hd%7QҸ֬QX3 5J}/A;tlΝ/0' #*=>Z7o )(Ef #ͻ/m9siʓα!<әWTT&_dӻhSXBHSg T[}DAvUk3h~1wo=!P4g! ͛f%ޕmz^{) Ao:z?ȫ`jQ3OC3~ )Om2X(,J61ɅI-ED+T|Sg{$r sF=q%?ogBO-KR*-dVhq\ǩ.՚-G(СGZxU`H~^,q "͒=rSIŧjWFŖN[8n:eE{&$Ld8.*)OMѭ7T?ϦX3

t=]%|Mn(:~Ws23 ar ~D͇@%+ܚ &z=3էLZW żћz}&*% W䥷_݆9ob_QP=9ߒ7l:IٳM$`k jzگ*&#ko^s6O%Ky-?gZw-Rq L$ 4IUQ-Y<"4iҖIy 5bH;X&6~6b.I*J%iAS |B^kȜSItɼ40G!-YN 1L^AarKw~1],Qg|78o Uy87 A2viOE7sR}e3-,6tFpYߩVn>N`7aֻM^Sou Xk9o.*Dq$ LɽWݾ^3K*9ǟʁcRVXHh6Z zOz ߷<.Jo"T߶IxP%Gэڞ[|oreJl[^_.JY ^{>,o3yQӈ,]A Ro`Což/&M.lh2a )ìU9/7,:KdS!J8儜n6mI}e>zCg*!BKRywr|L_dUUZKE`JP&!R 0g\Nt8P#K⍓ sT9ȼAR]ISW6h@Saed-گ3t!êFPGSe9!жBe!((%␙dIKjJ-J =ZWa"kb4CMIqӴbT6Lx]FkѸSϙdP .? Gdӽv~Hh \1z{4f~%b`\׽42Q6GKM0&BE$sonҖ+㮦wZ,x`B9ڊ&3T#u`t<'91>iA#hGJQŁlGɒFd-7 -چ3 NʃːDr78ijڕx2ԃ5?hڳ.~'q V< gtDAHQ{pM{xk YT*GJ>jIT7fhpB: *d嫣q;p6-fEԊ*X p'9#g5']捋,7Pb]ؿ=o{b5aW.KChloZk088N;N,M`;hO]d<.)9#m5#$bDR{t5&5-QJa1 ?:̔gI=ݰ@[7%\gQ(y;+ٱu"Zm[XdR)kIܹ$;)F{*suw9Nk?<עCW[}ɢ3)wvձxr{c>NǏ0oF_RSR&8uRwrKNfLG՛ӳn:tNya&# mPvΛoo^9T` 2 /Oy^I_䧵otA)\5:[0kqˊQF՞NBqybg /sj4J-]4yakşGD nw3g֣o5*2`ۮ+_:@BZZR ą-̐,S9ƕK$Z>g&4H q$W.ey3xƧ:PiVqtJr'`2^5䅾t+d%I(-4>&ȥ!kh|QB@sFcQtJ#]4 .[{=Lݝ_kKńS[ȏ˵P>rd\ՐNC EȵrڔK;4id1pte>~݆| bp,2ě*P/#1,d\ #K7~ijl $%'qp!/@B[C#(ջKGeN;l]Q@ 1ءKГg4tǃ;[yW5mJB[?mD4Οxm%dX_~ܿcΛ< KxpcEhi#q?דYy3~I~/2φ4& V.ĂYR 4g庭R싡L5 fMV[kAXBY.Z,wۡ"\"MBtF.QDHoM_| Bp4pgCf[!A%< ҂߫6+[TE *Ɗ|5=`#LH}PgEu Uk_sF{@v{o0`_s#AQ[nc#2g~΀)3 Qy79IKb*^a+lY)4C!~ӆu}F,d!Rږ ^Ʈ"]E+%IMB21U'@ATAI/^;4U .5xW~32rc-M¿֠8Mη팸kq350w]_}@NyGo ؄X InR-)¢*4Y<;| MܛqT ߢ-r:)=( ^Hw_9H:Lâp(P0 q7S R[8V+-u棯lXƚZ*ْDoQΕ|!5E|Gjg1xIt?GyV~0+|k>NJY7Ųfۜ&n> ? ㏇FE@"ۉ'& 2Ep)c`UCgL;I#M$+|!lOra7_w ψsm]Wv,2E=AͰO&0mF8˫̵.*"#3k<6{wf)jOQ~7l8~NX uJFy믔 or[GX܇B}Zs6¬GPJn  ^Q#iҤP[WR^F&x4M/^zF,\e`䝀Ôv[0^' s‹-]˖Rek^{Ӌ( #?'t7iY* kpDɥb:'"=φs"YߊkXzMm&4uh9MإShtp:C)9RyMxnbV3R0l'!ܞIitTbLZ[aNpѪXZS2B4d 4)gT n#_oؿŹ[7LӢTI߇CNqs62Fa/WUA7#Fc.w-6G_/f =SۜgЧCԜ|h򽩢ڹE\ޏo@ƕo<7+syTJ{P#l#Fc]MJb"ҝetMCy#Qɺ04-l|oO?NӁg^hr:5: T7z/w(q~<$%Y;yAjHTQ*6됑7cO(Em%F:B3y'=0ˆ|B.|*rTv$F&T SPa Y%q65I2a:`H6H {&ݴ1^O5$NH ZFw-qKDV9sRJ1`3x`m o@>T I\ߖV3pԿ={J 9V=2&KlRgS t3$D}Bfo맯퍜"Qk>PG%Yk!T"0K0p莮w 3N>]e%֧^C[1jI )#|E_^%Sw(oM%0q"Mz3w2r>?局{`fGehC0qo* az=ȶwYc{oA-e[?B*')$|"ubXfd0yY4|+;ȯjP-[IJcy**;@E^zkoyӈPA *o37Z oJ ˛>x͊uu}Ue6ƋΚ9P3gVE%;iΊ&޷M# D?q&vcD^OJ=TbIu0ҀF֞9rMZT~kr3wP{sg|T{cn>:hg\2_.GQ<b >:Am|"D֒dV{"J\ jYG"}&A /ܮLm=[~I9Ӝk zs9Mq{ Ns\ LјW?ٔ1 t1z^رzdS>^"4^6ScC - X7lviJ%:[˿z' hŽ։ȣqZbQ[\manwѤO/IA[0NpDerR 3 Eڼٌp6ȟ > qRW ⼣1oGKfUm*&@%Zq&:0Ź&~БM\Ec) GPްQ#j1'zVͧ|l3M3UmZ`[|uv=׬Xݙޝ/`0dxƧ$rj} -uYFjϘ,^ 0׉Zq.ọ~WAM+0zCyZQ>TkZ&7Bjzϭd1p8,̩3: (P%ww{,9R<޺.!4rZ0 6du5obj6IdH^=ki5>l}AQ:B%mF}S()Rˊzzq^. WjnlEeAŦ}xvȲ;cE;?@k|fjYu ΀U '_j:Mfa>xHq Lw9+<}lZ(Z2/H t'\;UUI{c' b%vbzM~l1cIjhQ3g3nr+J#!_*rZ* N nLGgXST'6K<_M\4wuŨoQqK$Nk)_[*Xw^b^]\FupE2xUf O'EbߣiVi=?oK\{qNڋF񲽳f`,vK{drBiX;\bqQdj:nM1q2#:WK 2ҋi]\'ďp4C9!4NڐB$5FaP1A)S[Tlhj5&"]3}Gf"A *&&MrS]Cnm $Sn5xQ7?e9ɪ[cKҿ[CǀgQmcy-]g(QVgL6˗+M 2^zvc#^Zc2v peg͐}< NjBrWb,y %r[*eCGzB𵒜4Pe"m9XC1: Cv q!5^uKי6.DaN|=R_[}{kll4D'bCIR^Mz' 3@ԝB7lbPxDp`6K˳;'̗V0w3UrnڽG7Âx_bcQ'`{}C[d,yP)++(R^z"[]KNN3l&@EЙ) iz}𑵋 _ J+g=p~ryڙyu؏f Wd.BAb:=~:/@İqVeNVxb/VwwI yrR5 qȕbqndGSpUT,hوPLm[<$o []2S_('{ >8ށ z* Fyt^ a'ϻ>A n7$0K/&]54lE֭R)[WJ52şR9^YIUCcn2t:!G 9}aU9RR5Ҭ:WxL :ۋW>T #xH ?rܔy" Fl6b 0~!oDcwΤyid\4g7o·Bi4čHB2HL,GƶpJhhk6e>gy';Fn~0i`fUaMf`n2,jk"D]-qmD7_,B}vOyp6h1mkX/#z@oPTVOs׷o0F>j:,>dgCA{3cC JvjTJ3@97?_Wmۻ6: *- db]EvPҳ/e8L'$V$oD#Mn^ \Zc^Hsg?_CjAr* &G±=tdgH~zy6EYե?(2XqfT ]2UܝNTݼpZJypE 9{c*)#.=C&s#3 !o$}q>1|k>@ +g_A6/ߊclå-vSFzGUjۮ-K%)b_c[3C`FZ B UlY ?n_+}OPW܊}N>G|ݵ|!ʛ~y`\PUQոåғ=۠4nqo]mɴs*̮DF=[\C'ǜn>D9?[eC7}&S+w!4p=Օ$P' AUY?w=9ddis@}\,qh| TXt)V}ᵤơHؒUHe[|I iBNWQ0,ȃs _ :؆9C lz[,!u 皮-b +S/@{/ b`eo UHp8-B(!qҔN]3?lNrF'yIbGu@:iӾGll>6f^'Xtss|'x в54sl Up.& 3 aJϣ@CqGëc]mX6D纫k aN +w Ǵ$1<6b$i_ 4y\}_ _„*Yi˄ʓGX:_9܃{s.$QLjjvaFH# d 0`ݬ9Z&ҡ/MNj'zD =1yԟ~k,G O-fpVxa#q\Ͳ[J̄h ~PTN\haFM,~+ΐeCͻ8XڢcY+_p<ˣ_jk@0 g "FD >;#;1l u<֭>PSܢba.Xe 70O0k0L4yo^(NN5F!Oo?i<nfΤn- p N՚OwǛ/aGGћHWݩe  &Iz_|Z'2*PvH\,ˊ7yDAQXWFSTߓ@vN"lPise3mSl@ ;Qx E@Dt*f%6/ac;)P|KXH.'}{wb^J?> x# cQ<&L{F{j*w م(5̈OB5Ͻ->ia \eis`cïe w} 6#yVғO]qZp:ց4aБ7: 8:ôgwQqCT z.z5,Vf/ W d>.NՙQH'/؆š'DJ>`WD/t>Lb5+/f8600ل@&6+K끏$ ļّA&00ecXEå@_SbK/&gyҮ@r &b)@fW]kj9$[UIJx0d 5l߹ѷ3FgX7 ,M<\b- -W-Gfg~ִBȺx|Eٝ2!5[PVM ,Z3ݓ^j+5Oә˯M!fTMCBʵft֔lY؞G|9"h_Ϣ5 Vc9a^93T J#%)toVGLC+_.d$I8x3O#qh8uTC=`OقTD]f19pc¹JvѲv1v~p)C%\MF$Y#֑L7X A1&2IHh"3|_zG.7@"G8Dob OZu6Ǯ|q|?_ Aʋ1 Yi:F"6gd3`SS՟ald3=Iׄ g$އR5[IQ??W oAP+|m-t%zd5 McaA$ Q՝܌&㿆e3fX*̯qK@Z~#ćF[h cAHIa/g;G9t@?qJQp &8vE-#P9 HVljuh&†ᑦ' r*H}ݸ'S~*:s]<,^:qC5|UeT8# LvdwA>YfRZ#; o؋3n).vx ࿈ bimͲOgg" W!ԍ9^)9hL_v[,^:Ïw,bf{h>}~DVcqrE+Oz<,u^oޛk|CakMtgW]Z:{7Y9I`!f`CB7i5.YKи Qr= 3d֥M?l["LS3k;u2%Z~N1t;5/281.K^xVgII]R3 5(9F Ͼ, aamȘ[9P 7ݖ%T0u󗖃2'`^`z}Bus(;W 1m#b1k\Ac=AKX\bVT*U{6S{ 46&\=:RPºds;L-=Nl>aD݁6JTeolwZ k$#&ĬE;j@qNq=zƌ(t*'('gLLC" |Qq-'9Gq?@GF|UJ#jص{E3D;X`yl*b"xRCɣ<Ioskեhd1#"ڛΜusൽ #\^\IRezƆ*.uCt0ˆ`/,(gumF -pu $K(SzxğНҕx|e"n OvS;h1dͬ, U65vW~jY|a6\Vwo4JVX(7LV<~'VV b/`% &:-ɾ'96+Ef M? >A7aes bKGT;_|dsrw9z;$I,Z.UMIT[Nc GbI*"+BhyEШO$dw#b:5BACKWt4r~̻3:s(+nM637s<.pB% R OH^Ber aNVbr7* I{8c EƼx9hq7MNl `$n#dÉ[ XL q'|~Vdn%f!p\[AvR/Cv1z*o9* f5kHBVqQUϞYʔ)sp ԍjl&nKq   v%@)1 t6T򺾱GMj9`S*@B'J sSI@麍AP°3|c׏?TPӕXMݿ{}/?E&}8AVRFhl?D6\n@⬱ nY.7JW&RL(v5!^$)f{s|ۇC q8I>ǡˆx~C.v3 | 3Yl4-6#7~ "}DzU󦬝;VePAKK ,؝82/ CmUR,'V;=>C[fg'000_b(dRpItW$?1 @U,}s, ^y+gjėXzd!~C㛼=ĐƗbcPJ/c}񥸣Q.U'kKL\Ac6 G˽ܻ]=k[g i><򙔺KSAGHku%l;jo<8L[AOa_ -R3$!=BtϽ)7]K("GP|~0F͎KuPDQ#[JVl"ڷm\\$Kk'di> JEST|^۠Ƨ^"6!:r:?ϮF[@LHψFꯑYo ېi9V3Ve&=.;̾y*:^ 4K:u-Dߑ RKRkY.`ҥg#^9x>28"-`-:}IlY* 'p 6Nu +#734@a>YP-OV'em7oOewI.Ɩ/ѨcfBﵟye;EM%T^uD6ul?SzQx؃74n).G8^듬|(>}8KvR;NSޮ Սso;ιx_d`x]; &H`ieZ*EjBLvz?l!vwIT%h_hY b:,eb@002}cK Wt;, 2 R]5aS,wJv5tU[C{2zntdE+y\ H79:bΣ 4;* -"~Kg"/h<9`Ѭ8`27 F@c͇ʹ~z24tѼHip \-ީ| 'yq)ޛ =V(yY؊e w!öiPb(W5o"↪ KLH@vrT=X]k *lE0C 4JbyJ xd2]HN?s8Hdz`nj_j1as:,]"1]K\`'$ x2rGSِ@B|Hgȉ D@Jsoͻ'  ;`ʽp3WsM=9N4t˯"aw60 'gH[]NK_ЈGNv<8@Mc併XQby "LBd5ٸ KeǢD8㺛 nGPY sذ\|A(W?:rG5vq6|4 /[z:C̀Se&peaiC{d[qښC_Rk@Z唋>Qʱgqgz1kG-b(ɯ$qk MQ(l[16PlQwta̤PcwQVK*NJZvӫjΤ wJ {TUxӯi} jL\DG!/;hv@:c܍Sk-4g&Lv41 O?bSV#ELe_|p lZ!9?@0'ԞFy2^=^^/c.!WAmio.yrq {<ϡ871iJkgqvYlhYK2"ʴvj}zw:kP:[k8K<9%2#iw ڈ|RͽʈcX$^fOp6T3]yBTg󥦇}4C|0pk[pOlH<>fWP"d^["nb^Ujՙ)/ΰpb'AIj[9WS3ZwvBEAi^Z8 ZlBai H_x㞏L 揲ٴrsػݍSn% pT͇Œ{[#AF޹Ӻ SX2' }cX6b ,bQs}Z"uM@FYsDޗL~M4B(x7'kc%H @Me~ԳzLw{/Ҹp\4LMeX=Ȧ*.}uҥ yW&^E- R"H3I*[co?Y?τ+NT>[tb͞2S1#bJ#k8Hf癓º9RF'P//lxĈEb rCx{#!RHzA%~ gl t`@L.YWɎuOE{'X_4!=V*Ĭ*d̼xdaEBimlEvP p,O3$C0lF6+'\sd7uVhM9$̿$^:S1 bu][< /t'~8Xra `k> & 7q#]ZrAEjw+GQ4~hakWi@Sq_Y]eT"=0o<1!ǒrII:G||ƶc^c!l̡jnfKRtѥy~vm jx6cۚOzZDmԃf7zc] U&S;[-19?h|PU:Sb2RYy .&Ϳskx}8Z񅍔)J2^#{3XpՈzÚD9V^r&xb7ƌxnFsM=mbiV٧R^xɤ ǁ*]NǾd 6~uPi ahX@Ib69D| 񠲢ՅTN ^r_ rS O7oXn {A"9㑾xQ'z=(vw(ʬg3*q/n3~I*2gc|Aۛ]ƥ%[8qJ=@|X$>&G\"!LX)N6TgዹWt"@5 |$C"6cܰ+ >_yO7H'x= :(xP: >B|e'W*ϾrR'}% Q$E]YNi1K|34@P,F|׊: AY4 vmtND[̗ğk"]yuwXWǜsMߛ ĵfo>,+GQ {7 ~1zE#ok:,Z{ʟ+.n"MX~) ̰= Q2h7RRG5r-(BɮO/Y痸uAHbg%oq>W[CI/P c,8`#РI[67(K%V0-kX\^o:x˗_3 QJ{WLO=.3q2ĉ`̓;wInw4})U$M-+gO'tف`5^/\h̉2鲑S֒:T ;U"Q ?w~@wT79b q nyq!#f&3K4y|ON*yRCV ؾ;uRh~0{tIpxT4I"3LZHН2 ZZNQ-#.Dz"uzwBTk;ٸ5M_K6g~O _rz5T!0,!/+mQ׿E9[<ݹ# O [W!~6coSM}>Ǩ!@ƞyş22(zQ,=MS'z~LTmS!Eڇ8A4H9gνdL7S'3;er{ TTƭqйmy1C6:xQ'PjG\5ӝBTbg.|.4=uMR8*?\ O͞A*UM(ѥKׄuom1[daw\Y(f4O{|.'1C/Ql]bq8mACueP+by@'4A*07ܓΞa#GnqI%]7pӄ CC1JlITsl16Cwm.(VQ9L6UuaAJZ Qb@:}>b*u(knޯrzZC݈ixkZZ/+%Ks$dW[hޣ~!Ⱥ)BZB?ݹ HSEe] if5;u3O *eXu`YベI?B] teB 쬠SwTJK~XJsE5 ǣ6 /gM^0 J[": -9 8QE Dyr=bmu(&+ }T( z YDm|zj1AWG~v_a1m}/My,y56 NHIBMف'\1Qx!}K !zhz'^?M!(Vqb{4 ٣oitKN˷/4:qA~E0FS3pm4[ NA;~yAX6VuJeCIb>w7T!`w  X,cC8vj燐ɪUq#*>V+Ш%h+JKr }KAs?,QA?GK\rz3 KvrquY &VWF[9.(''w~u8Ϩ{1/fF!,yh틄w)0_aZʱxU(LH:$NCsl{Al .iη\=HZv}@&*endF&gJ@:^}~ܦf_=lZ4uM;ZINp<`#?Wh4󄓻b$i }kNVE{Q1.) {D[>,:1$3VO=+CCؕ?\W5Ϙ`0&13 >0Jw͈2vUjK՜(?}ݿqs`X?7LXC_s*,XR4޽H9^lXW't6X~]` d0}ET_爔]d%A+uO[u-y~ '0RJ=չags:E=@aC2M&Tό_s2#E#4yn-7NDkY}\Ϋ7Η{KKޮ'f6U vv>ի$U Ɠ`2YDGʟ\pL-EA֧\ ǽpIYu51?c1і8t#&A9aNRM~ǐhdC *g*K7M}vD vdiᒕW\=pg8AFMw ?&_cA 9mvs*Pmʄ{hyN4[@f޵zJ+/8PnCSi![JF*G_:Dv'RП=W> dua/BuVp%'>Vq|:p |ْ*x5\sqʪŊ2Us9mSvk`ZF) 93bU_ (/ n)PiB gp[9 s?ݡwS' C6߉+K`4a1GO8&| TZ5N,uE M |YkπNmiιCY;V&&CTѯs ģӳSQ QLˤ[鎳Ӓs5Ly1x|o*uF>"[Gá+6F[^ cm~~mx'VUA/`V(ҴS_mIgU>5S)OW F7I ?10U*4ЮP vA `4rM,gxQp)9e *rf60\,ӻDvɖl^dO*Ve uAaMpYHZyߛۯ)\7QsKDJUܻ0)-~dBbNL9M/`R=i܈aǫu h1M>irydqIm`y$z@6w$QT+Ð.r4#k)YBa더F>';}?V{ /SGB^78lEz+']♥q{@l찼:쒼CGj*5Y)޵obtjX 򾆌 ~3ý/ {xA}\Ԟ=K-SP!roAg<ɷHN[9!E$b|B#JvY1=кt [%dI*%I</8:eP۲#]k 軷et)B>7~(57S) )JDdf',F8JK)"x+Nőa#32Mfb;-rd^(YIbk@uo@a,SXI 0KdPOFPS~y{<0R-,!p˘'[>^`Y}ae(VcW0c=EtRrcN=QӍ4zLU\g0׫ӽ Ph´h7Aix"f\ޝ˸3#=}s2u jʞ.۩Q_U'bRgyQtӪQlLg}+ϏBS5&Ķ9.y}ܢ \:GixRݺy%i>pS J*tp`$ -<ۜsQoIǨpõTtMMhI'(|7E0((t=S!&ha:-་|M=3fYr!s\;270I 9QDmU{l'#[tMP5m%|;H? m3GN=qʂmy[ui/mă:a˓gBtLJ ^'OԔ=6"+4QcAYEb mkOD̟ElZ^Hs\ɜBQ)k+L$my$ E"0o2g%(20,jpF &kWsC7H-%h|总U!ΟduSiaA\Dd*eo ig/2=)3U6<+ewRŘ_!Uw-'-3 )i:sR_b2 Yj"Q&ziܛ k (w:A[ J,TPو B\wMdp]p| 3v˺qEC"p3+0#sYZxGA o@jHh 2|p@)sEr9) +8cCF rI(+uG#&:XG9zݭ:l b<#jTA r|2]JuN"1mkkh>SVm54jKP/`r݁wVKr{9' E<gv8e?DI59jRyxSb%aՇ.$"U<VS #S<閿\DON](Г qFKGAOA d\4PJ˾{Q7 ѫ ǔ.O@1#p -%-*BṋK'!ohR-}?]L;ڤ;_Tipo0 .>c9L#^cc `]H@2jB Kw..MJxbR%ۛ:TI]_rU&}*a*zCꭺ1W BM}cAELtqXъcj I 0EJJ+^fޱAhK pA'#[眕mf+>(fȜA?XʫM ?ic~>cŔ0!摗"ω, 0\NÛiF,W(J$VR 2\T9NFm!W H̪ı=bd utς& MMT&O)>|76_G~i|{Ɣ޴=rGPN g/ghpȍպ!j5>ه/DdS02ޟ85k,cAciNK6h1ɳsM;ņT)(dPXOop8UrG+-MDLAMKNʋx0)T W:V)Z#\cnsDu=}!#[D8y"bbZR"buZ,1wDSp Ni ,H=td+u/} ذDAH](݅L֌u~@T6 Qѱ(V" -C4CAOL*Ⱥ/@Qeo4ib M,ٔSpMdLYE8C5\C { Vg4"Y~`qh+m#XUD#N-ׅ St-Mge_[ZY,뢾FEnCWkՀI?Mc񂅤*x?Y2"i$>!' Qz }yiAȍN3MtgpV^-,NשO5/8T˻Pxּ47iބRBwps*-2ȴh#1K s=F|OW-fA {g$-Å?}fmt㰮Έ'gSiU ~~  a|3W"7QAʲshml܌3YbgVɗ2x: + ޫ 53(<39˼z5+7j wEy<~bαE"hqďFP3<~ˬH=dz8#ݗA܈=5] u5d4}g 1S8}zz} 5Ţ/XPI$VcY/J ߞbGuaVv2(( KV_؎n⨸VگT&^aGS`!l7G czmKʼnPƂ|F%\̱م #Jֈ X&!sKhZ`r^lAYU}s xGH6cX{6#}H%ܜdb vdGi,ݝ>>[ncX;C!YH'yUvq"˹V}%x hKBtbKAE 6;muߠȐWEÈxeMmrصBRcPJgu EG0zR͵\ZͦF &tpqtbtל4]UhgU |eU g H/)+H^* 49g %X: @ߤgG |e{ R]" Zn03-B 9$5 v=׏߹IBm,vb]:i&%Q*/ÙҚvs^ Ȓ+)$BA#hV[r GU[ 뎪s6\ˠ>6 E:Q@ £sꐾjsSsXhΔY7ópυpKnTMJ8 a/vPM}Onjl y畝.&V#u\3$ 7x^1V.P .NQ?d ,cQ;lt||%(L{ޒJ e-JlZW6uDol:}3PmL΂J[+~`-O`4V;nZ;K[jJZ{~҂ q`Iz+`Z\S=ڀ.etOԙ8cݪm.9˛9mgiԞ>'\n-֖lKd to, [kL?U("z+XaR6v OՐ*ǹѰ,/:VᩴRz`#;Z fmC/Pb8"66wKuv|*,!|/l ւDo!ja9ou%l\S*N}V$#%'IrrHBG^h┹4] V+#ǣ7c?k,7yUg΃ f32ʕн\DZ$rLgp&^$92e8LRrn.b_HA<&{:d# o*?N#.>Ob:9L9 -7ir EnUy'&@_`D{'6SK1hDrU[*T{hWyo{ɈmMe-K^^nQHf 5YI6 `!CKH`BoZT3е0%cOm*d헪ubz!َy<88AP2*̢:8}ܛW%&27 ڭm:%̡ DDdݪvQÊ'RaQU#R|uВ.ƞJ7Laulasp|D1,3\HMy?im]28x$Qp~IR 'LP)9rXf˂kJ孫hYr50 5]vn1/OdUPP ɧ?HƱ{yPYÓkr~>@ `sP SJ;%qzV^'ߥnV[Y,yt01!ăr~%{Y wK!KcB;ѥtQt~vA+`Ph";ޥSμim4hz\%KwS3#zB9M^brVwOEZ]3XfE$d5M'%ȪE?x yҽWzJo/@ƃe.R¾fP,@ޕY=Unk.@șaLVN$ý@iZӔ$V:!Ds&!])=LbɈ8,UxomKP8(n㏏~hç˝;x4#PdLv3kP|3@nA)Gy,@|B2%' <4kjSSF#3w rYJ7*rD_2)hDGH*^ZNPF.BE7qn{6~bduCuԲ,9y =it}`C"7Oh  +&(̑I,.^{ŏ]3=QD_/ٴ`Zvi= OJtFͩ o Gߍ:}}6K y17 D4'J7Y~M!lqwgf1ۘ,p chY=._GNڼ"VWMvY%vBT䞆d7AY- pILwsJ,s>Pl 4LEc|qa.^bV,Sup}5uJ77 tw:q +dHXܖ0Xy_:rʦZl۳7b@ zn3A:R(@{L.SqhЄDU"`fUV;lPp}y/"sX"Vۅ='=3M@c^4>qG `CBC`:v})&)[7)FEȿ_bP*}+^ݎ̈́܌X:{ p2N5 ^l&ߚ`&^uq( pI!͗,ej [6_gD,[L\WUV! tNT13B:c{NL*cZzͻf5wvU 273 Rr/EX@0sX*!͍&\ ?)B{?aD#E`8A-dbe\%-0VEK] RJU2.n٫ K')FƊ)?b~3)tտd"AY"!>yy͛}Ӕj|z6fS?g;5PY=̽&ioq6Z~.l=fp'' pB2zTaAآP.Čz o n&}=1` ),^7|U@۸<[P}T {:eb4%(K˯JRވ0U@J#ĬǶʒQ}kM8j=uݓʈ S,j@c(N0+Bn`C q M,ޟ:vՍZ wrGF+ϼoҸ\e}&}XSCxKF_#KmztzjJKujuH})(+>M(/9 #:s55q ~y783윬Q;k8H@h0z==bbPbHE$|.]Fu3j) 7i!yv^:AZ{L nKFs?5kwe.h=4h/I HLc'워理wQ';#Fbe`z,ycJ+5 &nP33տ/JrPaS'tlJijȯjp Nǻ_aySWwo%X$eV򽬤" &_ w_o礗YYtbg(RG=KO' <e ;s!p( %3fU!C!5S A b('&48 ޱn#\Ir!#NWZۨrfinQ0`)K/Za_r%5f,'"]v8Pi[qJlf c.BʰAk"9g&Cĥz#.'p7_9m֒)u)óNk)Jn+;m챓 m V|epBktl|'EMS1&-ZhԤ viZ$*jv`jqa:{)#]ն8n_]{p`?K5f$Ɔ`mՊHpg`?P2I4m̿ln^flP )Luw};H!  G\nQu3ErOSB ޞTqlEui6̷ ß\2߬{_kfye&Yͮ8Хzo:e+"CzIkfu>>SZ>C]&ƥ?!U /x`lP$2ӹsuq55Mq#Dp+wp˳k'4 i]u)Vj瘜,Vػ\#sG* K M5 pJ.4"L!Ga&U"kz3!ٵԏD~:ttœY'!y:g0ԒfseHuǔٍ˔| j;XF"+gx33 Z7tFPJ!Ltţ;6ƒ' _ CG•4FWx44;zt!4cK;R={*ˌo'*g矴%{˩<O5$~GPyS{Z Hz Sts^l8iy_Fjuq鯧1/$mѧ#oˆLƚ4}Tg;{'j;e _w>ґma;uKsA e*%BK&9f\!$-yTlCRa;_t`xc˲G3V=5KsOrNDx[yn uxJl~B*S }q7tA(^8LDb\ - /tvMtlo2v2o:3jue۾ۃX*7pp-  X.|F^+V,}%"P@Z2n+nOyl^~¹=>҆gAPp"6hkv(ADČlħ<ꥅW&eh߫$*&ꜫl*@Y۩jH£cvc&ߦ=plu%[UO?!3HI9| ?q=ө4;,~cXN垎6St|tVPk]9,g%+NT'ٖeO+rv%|"ǀIğWaץ>WV1 ʙk2'+շgQ@S< ]\4P%LJKKH+8~'c8b tKq¸:ﮮXs萡pA+wŖ%W|(ͻ\=`>c1G:wK՘"B mџy{FMݡ/P[҅2="b Z>kMX^p\'4,7q7pb+ A_lCWLEDsA&8#Fguj}2pJ*t "0ip?TKnw'L2XkQBb0"A|ozOSϚL"VC*E=|ll%] f>3y߾6xkX{QM|? ?o Z[D r@@ {i{[O-0tb=(:뭱 ns t < R\Bt+(3.MPeGǃ1C` i(`\*oN`G(ee۸mr }4oyW=8$G23'%Nz[92M<(V!nD~TP i9ju5c1nFHvѻDXE] ; d 9tSq2<&;ayE&+?n`TLπyaC1NWj=h| "$є)H6tdqr,S/? @8CΚ1&ÚVA[. b Qof 2Sj R4j[6;}N4K/^Ke /~ݚ(Q}G7|!'_sD87WT6y'ؠ#Q}ȽU%?AmL׾kБ!b!07Tup۳ 6|`H8~#zr\.Q?Xeع54'hCmlg:`\^| *to/96gdlgr Ƞ: +CF(3uV0tM h%̞m[ft fx-X.(yDž׋RPf025}Oœmʼ oGS&$C!'`$hLXOI(c:.#HLiOFM9Yv9ã2ioM@ˣڷ<%%϶Gdie͸"v*6UW o,5Fb9_')VJbK W7t y b} !8jYu:,) m(kd||Ä>RǍ(湖gr/6Klm_u\!i}cЋ.EÖsՐYݞCPX Z"tޕ0ޟ"l ~=xah3a*2 C9 D/v[o2v,.eb~t3Tbnx+_ПSV q~q;O4oA"l2=?Kq =X3;2UT]t;L?k-OFQ Z>5FՔqn}VPV釉5:|Ӣ](.9yGn:Gvak_T ͬjZ=Ml)5gL~@WWwuC/hܤEmA+LvF5:ٍ>T#;q@]sW+M,[Z](jVM@5E"H PMJkByK+ֈziD[Ұ|談8XN 2jgQ†k`?klhyGA]]}wbgsg+o&fn Z~3Ω!S/FAl @9Dj87|C `!{!eeºঢ়ME߾`5ӪF}ql& ObZB}6QAk3fEjygeK7bz}Ha ^)P6_$d@nɸ/,Z͞ (CC$.?[L v%(qϋ )@~kMy`ǙCC@b+&*\(̬}؋^T%)X$e"d`WgO/r Zo岃b8wj)^ >K-T %.",%T樦'`8m>eLebDk.2;rTJD#A^#[e ^RVLܸTÈf?'W|Mp2 ~[AkL,lُpY̿ɓ!&88Ie]gk!K5\ ^tK_%Ym_U8-hA\upEgٹAdw7E^ۈSۣJg@ K[Mww34#Uꐶe xf0710 On[6%_woV (^iUu/ gj ǎ[V[j?v*/Y;PuGJOꩵ0He<'YvpG%UԹ`LteX&ع{$*C&&EELRptbʖ.>s1l}W.Uډ޴$@mm$0\tVW6%j`=1ЎT-1Mէ:f+#!e`5kjv.mD\mNsL< z@Ǧ~>zn. ņITk3q9x#ήRhCǁSCT[jGCvx|*Qm'~Q`ɮU!eIsx !Ɲ[8K!a!Øn2MD(O ml*.J`*~ҿlۈ)*'̾$09f*TY\`%z"qUOIXg~$fON6c,2/JGgo4nS=Q ʬv=p]ݤ*},=ܳcm|?+22}{|'qx@84He;m.:3`ϗ}kjKOW;5IIp_y P J/$tq钑NѲc3} >l( &nB͆#̍?mFsCVBdw͞H1b}2p%3Q:Yq=``sMMlgN}973+nM 0[*ӽ!߹j} 4#=]Dv#]] |pړI4x}R6(&h 2 *J4AWx:5Dʼtc$Y!t~u a[6 "J|`j3<+W mfiJ ;0}z Ly8>ۍ`#'SϴIQa=վxFeߍY[U7FU]Y|8ADRiu\ۅh' d]SPუZ?5g/s(N) s!9UyFA#9Kj]B1h߰H|*bBJ xqyd▊6uʮ8;'KH ?7ί tvےknGq")LWS~ڰ>,)F~l =@FW{ͱ^@E;t( ɉffOe}?Nd>;⎀Z# 2eQgUHꨳqoTnmB5tܗGZ r u~v9vQ:t;A9R&ͳZ-}΄I[qYw=$t)TKgv;S9$TKJE*W]zoRf+&@~+(Lѕ@ݵ@u{".2XN|`~HL%; aUrzQgX ^`+DT2.D S2G Y80̋?3dVT {EN(=kFku]+n Ksh4>=ʃ7h:ZŖ1\oBrn*+M#s`#v CjG, j\r$T( )sdus\ nD),m=cL3.ci KUl9C08U^NcTDoU4pm8h呠Ľz-R+R9tFSN v/]Ňq=G0Vd/ZUuxN^L=ķb_W &HjB۾ScŴO@f㻃.P7QNZyݬIz5lRQ] (эP05`='y4w|2K]ypC qzXizK;2;*/_9hV B]mdi!3>5^{8sP<]wjganR6]Ou^*Dlu .~1yIs',_U1K6:.LCll ௓ 58H; 1CE']%)bWZmp>Zm9j[' 0/.=-_`̲SM ]VT> c߰ƕ'iaA˳M@4aWHb![a֓ߴfACB~ GBȀH>/nG_l+iG3ɚdZ|P-EM W~3)˟?jOSt[#!/K(gۿws]8p%Hcm]Ĉ1Z(atsL ڑb'zI9TWl6+>? yoB`fpzI am\ܵcS`+W#:y_]۲HOQuL톸}Piw,'ng A5wKdRAX ]&X\hˏ: Hb4YKlѶDs-Ȅlb+R=N)&>_mp`N<  uzɭFO){_TOa( 03iϘښQ:?Fz'%-3}da@4O v/O[H~-'ϑ0jtjh /X<_l3rdr g"܍iwOJD!C 3!QccB:Z+HHo?Vl<93"iG.Z#G=&SxOf_|H!YM(?Hm(Tp$\@CWջ?$kva~ aN a)Vg42sL/Ƌ ˴Uwʴ9zuVVD=+P0;UTdjlPwMU-P&/ >{HផP1P t$1l 0"j2;e x?\  plx/INCe_9ty5碕 | ?P)3IfB7oOa6g{Aޣ$ފ,Auˢس0k?BIf9p{knY 1}$VP)(ll8;x=|--#n0@'bFG|1MTt˩(< ́&N s8-Si'ڣhKp@%h~!>?T`YShG]DtH1iE':&`97Zy5i# qCqTYJk'!|ۆɣf$B u>slRb,U:4v& 6?uO H VZ(QyZieax{ h {(Cgi|fuvom)Rpm_>`gq:dv9%]Yֳx3io~Nߖ'D㭇hI N K^csVAGye|6pttMI QiOt5AEJa}uUΏɗXf-)GYuY BbZ, o@3[mN^yMQ]wVM5童'U?bdA,w,jbyȏixkR*_Im-_1ռHQ*q)9inC5TMZӶ%{DwDYM&ʵ a]>q6{ƊS?NY~xɤ1&t슇Gc?w݁tKXUv}'nWA5v$dNzMCt q3hWJ#8`lG[8"i(v\břS&LjS~ )dkǑQc*, ; )ULgfPo{ /Nk^ە[rOOt&ޒP$9VėUf Gϗ87KCPEͽyR#KgZLS/])J]Ϩr\|&bŌ47K=ћ.[Ywh2iXqo.:kvCɵۿ}yxEϢ^(׈8b'H e yA} O^%r}jȩ2[<8E+OGpbmp5潬˜pRoлXp"RIhyկz9K3FDѧir+w*\#XT򡄭Q\anQ3m<(yޥy;זBJ-EnfRbi13-Z`yZWeR/͓RA7X< "8;FB^|P#a=H;.Qt._~&I]W=vIbJIQ`$BgA0<{ 03<۹_{&۾ j?Rtܟ;́2?^˜i6 |uE)A*;Z͏8A<9{b|zTK?JXm <'>Re3\u咽Ġ~Ȋea{}C%P6(A@IbM m|K`}(yGN4F 0ZϽ3zmGw !]? %V$cA7]AydJ$}f"H$ +/;ٟ 5{7/=^i[ηqվ쩱= |Xdѳ+tn|59lR^ w1=qd&!j)XGİs=Gc;+ygt85OA2y*T$q\C<"!8䛹?!-SU |5 -}d7(a#Zn pq 4-?LP?'! Ja+tlwЕ#Θa*.rӕW8瓀4Z ">+xB@;zC;vCBXr}<;`;Cmll]k{+o/}*b-flg!x9ȍ9I=!:QɵСۤf{PJjIri?rS3kyxp F:raϭ 3da|d]MH(Sq{2|aNt;V:_wx$}H[XrBHv8`f5#tEc$vizõ q AVv8+o9jU+HCrǴ6l>h#SsmMN UbzNxrvϚCoѴj0iBPZbD٫BdC99{NbIw^&f^"g6?*̡ ;~9upRq5}^ ^L(9:/ILS<= 8:ZR}a2"fŏEE$'ɀ7͸߮ñMEiѷ7a{)!cliZZh 'oDBI;E p0$*l"Mš"̮ɪkQ}BNQԙj^1l_^@y7-*[F >ǎ}$E [*e>h^@H٭؄m@WO"}<]Jq=Kv!Fp ^ E;7L5q),t]-'lTa̢Y Fw<]`Hƽq ltvn_znŜPbLG}6 Mx (ش3(a&9*zMג@۵&b|w6EL0#>\Yg2==xqr;O$!a.] 3^"E=)zl(PQ]T ΍xDv\RK14(Y(DsiD]NS$wo*mbj xU,I kpp@ x8>w=vGk0$SY8[NxA ڴw@pWi*r|Q=0YT 'F$LX/qIJ Y&9(-ځ0B\*g0)+{먅VVxñP] p/q)h'ҍDY#b(5 0ԼUGƒĠN_3XpOuA"rM* dz_z_6\i/-Mh!# k$:6!6k;PDP. ~so00k5>}rSV񘌤[\]XTKE[C-xAK)mz5!G;|zZ6>{;C',Y҈~vYss{ĤD o2b#a8N[7d?@[|w Ftťw >D)$3ͽ93:U ?FlT6 AO+㿠E7tweTFYaTi oz3`o(Ei/Qi"!J;6si> rIDu{/SMP lw_f~,kUh_жWAi`;`b 6k,u @By u' rwq #~G(œWW bə /ae鱨FO.1|AxaԞm^S(B|iҭ3J˖Փf!jX QA:a@P>2HvC(#*$ƂaۈO!K8O&0+XUޘP1C@vXi.HKzub*AZP~H xčI&D0UÚ(9Gxq `aYqJOvݩ-C'I-{!]j:Di=afDྒྷwVX*%bKmc*@?x#^gQ|s#_X~FћkL +L8h LɸD`Qy52슋*@M?=C*kɞ{MH:ʨQ>D!Ury9 #$Ž!XM^s,KG .?_F!(2ԩtE@{֫zAurv&)yV!ƧEIW4w*@nms:fW6J?JcAs'U/kӒArp~qƜw~~Ö|`tPwBoBA==wkSαʱV&UPBҹ0Pv[úԍiRMf,4`rzX}70=mHcc)!l[Rm^@Ňeg#EB`[ܽ 21`VL)OpJhH+W ztvCk(s#<߫NMoe\yBldKt>ۢRZ}\X !~",ؙdh&IL'URl01~P_Gw_ qsĒ؄\?x.vp_#^T{wؼT3^(#Ҟeq"p[{`ya. Tmm==^}ނXjKR†X8fK-z/kכT6)Fu9+qJ)8d6 c{HiͱkL3gۅKѻ` 0 H75{A T'}e@D<ܭxG+">Œ$:DDX{xf?;N+v7MM\#UwBi, l}GDi GL!S;os cW:Q񣫘B(lZjLm&ruЋ Vo;ĵ-_'JH=J8gASUF(a[Z="Q0 ryç[JHQWh>JǗɾƟ LaO*<ڝȁB+3˻yxm0qXwHh  NW! =mMO:Pe/'~ʾ"u^cI>ٸc^ȟ7ϊ uԂ ~AEACgEBXk%5oH PAsSb7*-,P.ԋܿTU'R-6GCUAy#^pmAA#CpCͽ*Eemh#+/Yo$rgYE|෢yGg+(9zjņe2&*:uxĈT"+\-KDzmE cyP5D_9Q'~3p9 DO/J0_Eʜ uόXeMUp]}ϫ\O}yqHJW`b ;ؚ_(h4`r3pMi)wً_{[#R@Ϯ"ް4F#{AV]wJmk)FK֗wӻMpo65ˤ<$]H ?[TJ# ӽvyp_ }&$ s$a/rx9b#jM*?F?BN@;U®#"&oCVtE:{j3*;%k2-=4/$q%7Jun s!T/JxED_Rt+0 b˴a2A5OUR[\ !',rWX$sƗ\ R qi_eh܇a&aoUgA'r.O/νx~y4QDbBlP}d42˱= h|SۆR(IS/o:f֚J˥E(KlZܠEҶOm؟XOGa:;':.z%`EDsfżMxLpcxRV:h,%)4Yy!&~ +J3 p&J4H dx&mZY(JmJV|*[ϗLPflM kIYDgG+UIqnYeoFd`{iDiР@Ut̞(oNǸߗHPMtwj D;R e=FZh!0O4lWHK 6S*taFh{_Gݠr;^*Y5׍Y5?r"-1Ee bB5c#Ask ũ L6G{ıՍsD9-1YxH u%a·چW\TkqꡲIw |(?C E[-|/F1{Q䬓V]CS)2Ѯ/W؞, \H?SOxvYK5x=T'E*B`4OS ĸlZT Ӡ @0ķ )1%"aoFX>2!IG{9CldyXaCF p{]OKMq48}ܾFƅgZ M;ϲ}9}qp6ܳd*#e/"%9VUCCĄw oG = A )0ClHhkQ=xOzФ]ԋ;wRyfͦnbo>Y{W`ło6t%K$ӕ󄈵1$ގS*@xRh@}n꒱e}[-C g'L*,|*hN0Zbf,z:za<{ Jy,}z*JNKRR"_Vlfn}z:nӄK.nm}jQ$7Ŋgw&N&D;kJ$Z@CO3I\<ʧEu֞t#|@XxýP Gum?aC0 _a.]v:Qdw-^"Zn6Lx͹-D: Wȯ 884Uu5 iLBf91]P2fۍZ4" D.@UMA;qB@̒ tUx+6P`_aȂBn;V&hA Ȏzk^gE+$Eᏽw)qg?<K\X0CEα5NS6+x7P8r=ߕ;Jq۞G[z:ĠY73ߐB>(m.H@U[T5"c26I_u0I*I:_Yn nS)+܆99[HP ~!*B>옓w{(dtdU)n/:]EbG9a)9;H`>dVN.jվʱ ׈n{bccS`.|I2`uhyPNꢺYeN F "rLI@#]b_6?cD(iVbbf h}}S5m~_~6y~õ-+d?+Oכa],($ŕ9 1\yj3JwHlG@O:b@˂/n)ly6,!p% EHɶ~gt*>1xqAxH-ztD+EU3@cW  59kAD$/ M{ ^p툧CU}?cTt{>l^nLjG6Ojr٣&'JqMÄpufJTmq3gE5wBE4CpE{E)^U'\B3 +{K c~oU'VcPkj+MUd:%$&ze'`m!DJDNY7ݣĥS0VZ<= -AD{atJ݅?>|ran^ed(˶$ < ÂӑR'^q Syy:O 0%'/ZR\uP*F8OTRT&מ~DT\ͯ$~&2ݼJ.KU,] dۣaj-5A7+ƈ?\Y2]̢S\{୊\PՈe= O ]O,c`qzC7\%1S!ڸK͞w(^Uф-uCo>k={Lⲋ.$ExEJ*\+w)fñA*ۗ-s%hVet7L'gXp /7ŭ&V gyJg* U F*(#E?jC}n_},"V }[wDkwoXdSh&Iw_VALuv5^-8/ppo7Mzlޟӧ#̀ѥʺœi"?FCA?4 (,$!EzsV߃s7D:ͤ \'DFӀMh+8=d*ygiPE#G*M<%Dx$ԙdMڍY~AkxrZE˅}\H6c-?ȁgFfA=f'yv ҕ]ACQft1W?t)"X1GiGEuG*Í+?5uqξM{Yܰl]@:KZq[&k%uO&2 9(w,S֌U\ۘf,t@5dFm]%))*^ 7bƢؒ3kQF>+KmQUK6!4yM9|SB %6^kBSA'1m&dG]bAsL(QMW2IqgW&)=tI3x^33>`TT;n>73O^bCگEhc UeBo˥fg ~|'6\7r65gJMPQlXuS,؅PEЖ¾W 곢q]ʃ@!'(57@KW(֊aǙ^Ħ-r[ͅrDk,풜HeC#0xdF!]TwQ/Ӂ4_N=6 R[{5}np@Wav O7~X">F"b2WxVe!Oʟb ꃧFHm[mIJN=q2\+$tĀfes *[N7)[&]]\/. <)h"Q *pտ TBllPFtGkؙx&2P} zTg8u;"~r3A+e=5906AZ&k~;rv8$Vn7F%fSkXU=@鷋Y>)OZf5a<Y$9鳱-yk,P,pmŧC A ={  eڣ9oPYQpJ+\3sT9Y`nq٤cc(wQ%%5XA J_E aG"92q`!F>mӗڅc OkJ=KqcĄǎRu$kdfr%A\Zvm2E b >]H{@*sQsMFI3NK k~qmcc9-}ÚBywMǷՎ/ &#1=b4aiR \Siy%Kkָ9[,6C0%,uAd9c[ҭ*O -9c;5=w>. 3? [(2u#]iO](z~mi1vcwP:HTY.՟1X DCo !zz~lTCbW!˃:&ZwSɑO7BMʠy֓^،*Ia=!Rg/ UXӔj.΅EfLZej? W^}^5p& @]xW `eSzj9tx [en2rQ] P,fTa1Kf<74ik\g  IHYs" `,9Ks(GgPw5 EQ3C_6J=F7}6VLQQYXڰL6W:AV&sY|=Y%]M^EQTהy )HdWֆ~TWl#}$s'Aco}f@F=ƅj=[]X!({QT"!0w8f9W]̓5dydpjFkl ̷k LUyQ胒uΜWIvL%'UH&2@ېwY!1sOpLj|^qն PJÇy*s\^YkʉDb$5P,d}cԷrk,>:ΛUUdI' ^VsАi>CszM긴 [s>I|5&ѿdVg#,}5JE2GRO)n'~LHmgʆԩ&^MHQlКPl@z2}|j;ۤL&2}vL9_9[޿p x&K>žwҠ%:5%J(Z끰 ؋Bf'#DddKݥ4>HN^jZXԱ?~@\u\63X% enJη+O!VeVWX̧oyB$~u7omS)xAi I}?L!^V3(G/oWѩ藝1m6c3ާ1dh6+Ѵ"ゲrQG\#(Ǟɵ 9W94!GRX:6A1R&Ϙx1G>ƬHVVLmzR0d%)#m-Dc6)v 2| ցʒcv:1}DGb(YxL|l@M]D g<İ?&bsZYz?7y-faෟhz =mTCҘW&+ G0}j=гIM1|\1C3|lbT0gt>@+^( JS 1of [YIo'9-]1 o n5UМ[.Ύ%6/*huSQJsr- 1J`xW0Fr2#^ma2`& |$qE>%͓[OFgP0ڿbl:OHY [ :DV4<=DU!@"Oo%!r} C_~N5)1VH}|tub w5Hc34z%a8rmI#WC.UrkV$#?vo'v7Ժ:Rldw nFfMW,湑cw;}DR+WK yV'ɪJ>ܖ]p_*$MWB+_ BcZ(o\Szb.c6גz_\qnY^({# 2U''EyM^z]_.BW/[;kt~M1Tk4PwʝfVVuƶP}Ba)=s вD8eNW޸KGNܒk?#AaǮ+ry~xp?% 96,1VE۶/'F mv 3(1_} Hh  0^4TBdq#K{ >'C 틶}z2"V|(QD.UoE};o֓\]C(2\MmkYhn8vC\q/9Hj5[kX-7Ѵe_OɌ5_9qƯW.Qy}vNw4>=yM˿v{(~ҋVV-Fd Y!fkBUvvb\Ěm`,[EYʾC?aGK$BKNd.~C#cvj9,q9' v-Rr{2;1ٷƔMTaI^S%s"@i>x¿w1J͑5 h8i%'eXJvKF^ D>p*u?9H&AJx0v5yTۉ 3i`lDHhdRMz4Z.(=9QJ8.5A0Ô8E*(r',XLz.=8FăbID I2kYy(Lrw%)0z&֐ |hL*偵qYEIW,.4U:#2#rOo)BN>sr=#kȣ2-ޗ'- 3ޢ L5\@LQ $8GC8ZtACt<_߁%=">ؚ-V\U2U7d.o4{qk GtEaԳwz2߸KD g uVq,a/悯F7ZCغ-8u؀] l.d mjXR;*3*+b\dLޖpLH*MqՌ\ÿ[se06U%3*Su8+($D-8?3Ofx0Qbא %cqDFeh+fl8m»ǜf{~׃ Bx5~٩$r\tb^5Ax!=z[aJB&uT?CD1[;+[1qh?$` h[,o`P_xqmTLL$_N2QEMM%ll(TUO. h-b+9Ҳ]08 w͖C6&L 3R"WDX7E`A UC^~FK7Hft[osעc58ʨ̠]KCrbZ tP\k^)Nf8BSL|RE%wl0\!c"Wˁ$3H 1ŽZF6=yFVd  ۫EFSx&/]$~:1S? P2 H\}?Yڢ;jMb6cJG+]BRAt,E_gg^`/&B텶)uO#7 !>.V'^_pu.΢JI 5͞n%GW8#|zh_7'MBu}JOiխh[ӮK[%waH""W;<ɡ*%>FӅXCoDH$a@axbu1na.qoָj$ l؛p<#ˢF5Ϩ`h~`q@yjEF,-s_a {nG7->l0E4wOOn&ՐBRύpEpfŸ@B3`@ cXjl[P\Ҽ$!VR O^XZ?8c12 \s֙\]A4 xr#ت{)w^>}% D"{K9JZ'gv^&ݰ)杶 v28'-8|Ǫb{i1484 !mazuBݢ|B\]~T2?3 1lˆ`oW0wxB#fpjk5yoﵒVk,Jw+9GVΠC]0rꨌ3]=GsVC q0˝ejèØ/苙t1o 9(nG|ɨ'X!g$]#&^C HIY1/CÛN,.T:Nl4^CxDBBfpObI g[_2I:yB4t 5Qqd.CJ2oKܹfM386jZA<6Q-63)y`q\ToIX2Y>ri!ut J*:v>BnTeiD?Nƀ8k1!45Cr:@D-Z& 'n*bqҦLxݎJ-7iaTiʁ9n.o[\k} $YB/B(a%E"tڿ9NR旵ԬTa֩DBP&w0CaL1YczWYC|1eCmj9/'@&/̭ uws]To _'~؆z Y:M(Os+<>2[z^a)oL؜׺7rU׻Z(1@XZ RI:\_UNj]K} VǓJx5!uxq:o) uiݍUWA.GtԚ Qr;R`U(a`:⛄Z!3}5TC/tB=^x(Qǿ mvkya8*.T%J8:^6~fni6Hæ7#gF~fv,-C}Gy5/[<>e4˭A">n3YKwqxm/ V=0C1G`^m[{YؗÔ1iM$piLg{xEwmʂ|X柱7w!JtC0E$HzV;r%/7Guu1j >vvn7X |{c̽-#(9YQ:`5ʃr/*}V< OmCkI,gl lR\?UW],r4 'll H'P> +nMv<\)/&tx 2CXsUgWq6%Wy]u螳 qsxJ^V0ʎXh:a{Hf8 ^rJIʺ{jCq&.VK{:bc ^2 慤VNVrXh51b0oUl %nPp(3$,yj)B{x'Iď L+֕eskȌ6) S9Hʻu0I\?A&Z6Q;RC j&)~.*㭔(*V {}WGFIHI[x֬ye*A L~Nw[V.m,gI%\[ȃ(O|ΒK-/4YᝥB}a Ug:8S+/L9!Ĭo)\6:]^؇/㕱z<2X6oMS(`>adcǞ6͙p/TDA&p6!UPmrҟ} & )qTdEm2|yBTWbhZ=oSŁO 3{ F4JD*5FL65CJ/Ϊdt4"҃GH 1Ij}y*!)}~t&Gv|"E^a+dͼdUKK7E*l>G%Im=pb|\Λ@_Gxjl6.A9}"fad5p0O?֨:x7IكL ڭC)ĀWEξN&7lu$/%=K1^/[׋l G'Ӏgp1+<ެL2r{ýYО[u9pie;CЭf~t`-89,*,1 V!x)#M ~$H(] )"/]lQe?BPi"ݔ%Ho2nop 44z5Bf3!MŒz `/+@խU_әlX ([;p4{9O7ɑ*>wLf_ |pDI&S"; |Ad熶f +-UUud?W4&-(D{B%Z <Ǚ9wTKB$)~u%D=*RAVg /p .A#8\,] =o.m CcISK㔎W s'xJGb_Yzy靠Ml`Fn=,p-dEr IWȡ*KCU> CQ;hS[ d^_Xi~'xq.V]"{ܠwn&XMT^~Qr{% i0m! J N5דWm-uUrjmc*[e**j+pghcIE+wTO/eBiOoY훓؜5L?V̸Eytlf.e%qC %YeLR u=#l;f>if +"S Z^N.Ο=2Ke l&UojY>DmS48AԎYI 4;1.5J. w$ 2&#׿Q jTa$.>8̵U?Fꝧs KSKծi1ə0-pz1 2QeuQK8_9SťF5 Oةxu՘k6, Uw{'hvR}"FWowoEHh-ud{_169 {⎳SGCvUj΂zܾhU/nl,ј[el+XcF,SRWdJy\eewJ[нA {D3XȾ~w[ -HH+2V6@$>%yiw!'v#E˄*QDV"|UB7I|cY!m]XJ ϧVuqy{wFCug%qEv-Օa0Y*vu6ҜsU|.T~3 ^}W0u Py7d43 &hjȚ$MYH-RSSTͱ=IV"' x-U  `t} ߊf7ܥ A ͳ ]8BD;f*ig!R d׷kN jJOu@nȪH d1&KLY3^Q:v[`ĆO oa2NUlb#9XY{q2A>IbtDϲB˷FwH~7S ^ ;$ԄA=j]RE0e1&M ԏ^0RKv!16TPN1WsA# ])K6̵5Vg.1O'̫hЪX^$UwZ蛽Nsg2?k2AzcPHzx$ [fG3DGI@|Ok_2ꋃ&=}_UK=(ܨ3Wb(d(v;0_8 &nxh/%.uWIkw&<HqGj^zF}93%/ JRߘ3=LE`?i=Pį'Cc6N=ik$tkN{߲EZpgo 8~p~ Nm1cX=异;^Zhm qk?BƢ_t[-r ƓͧgYtSl ܎+M"X׈XuL`7L0rnϾ)LG!'HyNFmKrkY6:AF`3m$€pCӄp _VO/OYn:%Iؚdga_8}o 93U~fV Ϳ\c9.7-@U4! 8 &b)Kpš1""g jclM~=]F)M%Ы1#l9HI/ G-)Gvh&,ծӁ}&{va iz$,zm4dCZMC ɻ.a&!;CpaKyQʞC (>ZВ uiwK͇w 2 :02t3=LH,Ina \̨ttyfs;d/UgY _O_܂&rl$?Ń5,<<+ 7'}Bs1a6XcqgpX]eH%P!W4v4s]F~$ (-ЌTQl7"V#FiY?n̒z=m~ٿ9ebë~z 9(_\[ԗrU^Z gOrP1逮?u9:Cʢ핯L3-s?W=葬iD9ZӻUkB &vz yu[J*!=RPHS]3edE}JG y3ֹld*ҞrvKʹ*- P-յͫ1{h}=ʚ367YνdV񊪸S'd{w\MG/8fc|g&e)h jRLQmt精51Q۔sfI~ݼOC$6,lsl|· ,e!hPK`~48N g@rG {g!u z)a]k LOT0C$ ;_A-tJM+ceu TXy&t1; : 爌~ ʥ8 Ft6,,@0:cU85R@kFgM i |Jm}~w>yA}-u -Vl=B.8}1^뙰qp{Nmb\~qE'7 ׎*tU;C9|lyy(oʥi:IWUW@]N: &3f3Dc {*%]`xUz_dahBZ* WTfbr3AşP4b Ar#~-\:$D:zLZjk0BgDYpF, $HhAVR#72̃&qc V^͙ҽ%C*$+Y`Gѩ3H@CYx9֌ɋQo߁sc{t҂(w.n/ l(\x :6D[":uapM֥3ð;P oFS+}YwqD֊AQ# A_9ؚ#l~ũn. _֔qmMz6eDI`gL3ܧ6EgzzSiSNiGpSk[9gƧ xd*/tȍL4LBs2a&wV ¦3; eg'Y9_~9:\DidHhF9֪<8 ۢ5>dڗ,D|FSA\q w*@:5eo/`;UNx}5bP .JQKj~U*k N?ԭ`ؚNkN$"G|#Yk J7Q+9 ^l 5cMq64jfnі{P=[͉R,,Ё;@bZy1 s_% W> pp5$NH:^aAeK2[Ii)w6"wj;\qL>?Φ~#f)Zx:(АƁ1^]`Ub6eRFG5Є!سZDhQ."to^dO!.C;ad/3lEPGCc_oȅ4YC}~+Y2AjFH(yt'nU){N@i9M 3GP(AĎʍQ"X"Gu&^< )A X ()*,bm92|VK/7,]H}7]+kFn'csej| *6;()tXƝ]/v7~/pEP:}6Rd v»Me60Koh ^HLCP})iN 읠o@W+"nאQj] Ч,]'tX.6X!(*D크'77ǯ]4Kxrқ|%D4s ڝ$Wk%L$$X]XN`D=[^$3.F-?J(g, aQhǏ 3d٭a"v{Y 2BqzB?>( ΃ "+DmW/]ơl'{_l{rH,%-蝱<Ɩfx6 -.HrG.hK:| q]@ Y Z*|*z.ЕmArL)Mh݁rJϜ^whXn_MO$y|.PJLqĚDYfV!u&AE5m쇩E?:VG'KȚjZ!iz0đK@Š ~=2_q*4o5/_#Y #vq##|=΋NKuVgv&^jӟ!-VS9Ш/6V^bݺ:}mD^ kdg8 ]{Ajt娏OcCQ:9Mz|{;ZFfHri AA:x 1G6)DSɮS?1s \3sgn |MՉⷖ^QjlkC!srBku?#oQR:>)L.,τBw. u.bė@K壭τL4e1v)he/2+1`#v:pT h vvmKcGҝ}ra4RufZ'd3i9jnG qSE’r@Wm Fn3 ''gOp7Fګ`yEv\Bz&M7ov/ (@5CgBԡ$IGr@ ۾%b}/ȋVQLl $.;ݛ'TO)H/bO42pԩ64V-Y #9.Do^tbqFL{c~[(8q3Zi"x$rƲC XhpI rn]U u@/Sb;hfnr<߷\)@Ꮉc~ qVW_dߣb;(شR*ւxZθK,JxR:d*C?-TXr59_~#vI[(B7@OrֱABFGy\yL_ ~4 ue8ߋ*E=ojB1"]n/$mU,*'Bfkx8'6 5|?<0pϱy ́ < %^-hvJn)!*-|_9U@֖nt(ܢ cv*-.X\gNug֚GT ckcG~%/U+F$=?6VUwpReVpc1dI0|s9OI<:C <gE3 n[Q4CJ2Sr $=T-u\G `o% fґh%No8~EFrj k쥸jh11uvZғfJ.VL?Gmߟ~SG$0'jqSx,xP' @˘Yca&qC2sCK{YVwbX$IYzQ;L77z2A)D:<ƃ&*@>;zUlnD/$D>B}7|u:gotNcdԻD ,_z#VLxS1e޼4gsSBv{u24]f x G۝I?F@MU(NG-ǐ6_q˴Ȥe"C-Ơf4$ӤQf>KtId#Na ^Go = DHo4/ {Ǧه<h/T!Fwp6|7. >|͹)JOZnvYQgU= !tG:u :SzOaQ4˹u21OTpD {liLɄMEVt+ G&𮬟(f8Y4sb@ e{=c.ɉמ)hzl*TY섞+ۃ!K4C?ΎC26W$,FT(&ϣA-@Ҥ }`F<~,5Ux.9!u ϐтr@K1Xvŀeʢ8Vk4p5L($r lOz;l޷Fx#Zvh(7T(־ܓ(:5}G B2y-mX}7сSvOEAVUvS(X[\Mnr}<`번*O)hSmlJ$] \wM}1>Xu"D̛$*7:)I3S=@"O?C_ j@N'v.ֲFGtzox7FpH'1\bLTPA>9&t4#Bb[xք.z2 ֯Ro]'jxMwIF&8`źԀ}=t7D]F3,)d<Ĵ{~Ɯ 10{;Ǝ:4t<~8Xp߉qXϙ7 ^ZO#r|jǠ̼i1{i&/GUB1&C4<[7ۃ7^+e2ɳDR.P>7]/yT~dZǒ¡x=,ύal.9š ->J$-&1{QTL| %"j?k6 q BC/|;`@pj0TH[C㢬L;@MpƩKG RQ@- x_-V=؈>  u%\I X'F=;1.PuˏNUE9&=n'08M;jgPAɚxT9xbl Zk.ncӐs$cHCkV6qvm$u]:,LZ&y{St1@eb9>E@j~-#ph_,Xc S ᡦW iXʛ$kgDŤ7́=61rŔK杶S_ 5{XhWN|Q1a"bp`y+t.D-Vb':7S9rtȹS"^=t)7\ځ}L~)~Ɇ7u՛0]?֔On#7 ,kӇdh,MLiXV茭<<^l^/孉Y,%$}Jn򠡽ѳXn`ʷ\?dM _{#Ľ~阖_ü yY1'xCnn[eqϱ)=oN@~'?|EMy#ŗ}|vPՋJ$A' >]+J~Tw~?"$ G&MK3v&ϧEJU/ޗ{ΘXEf 2 7P5 @~C'XZSnb'^zv,W;5Y $FҊx& GU^٤?9+ HOMs3(wco6[$Ps!~7=ncϚaT(J~?j3zB,]u92jZ;EQVw?(=yT:AG@9Q !^;{.܌*^>'<#?09Ce1@/HH:A\]Цy͟LXXAH`,6v-w?_@!a@S0m`VU!.-Ik#HeyhxB4ԃiy s1Cl4iLx^Z7L6d'aL z]dsY/oTp}bm@)(]8ڞ>8m ^U)?^ {ȋK'L.d5%Q;D@3~˷tsV'B HЛ%Y=Ӭ, wWEp* Q [Ex[ 6E1kf|+/W(o䴻8{}\;iNY8[ qN'~7! (;xw?C#6`,on?pGZtQB'9(A,0./P6GSUtGDC!+,j*cqrO\ 岯f"O0#*~G5*cТ[@>3ۃ@*ynP(䇢 Auז]ְ݊SL[|@Y|MMb qg9GBQ!AXdo heAW!5/i$5X^%׬ŽBUz{4 螨vgXkA,&}Vu R?!Ql44ښZ`# +&m E-qEyH$2Uwrp9)\T"a[.h}O:4ͥ'#/¤9 sL_ol~G/.eRiDݤГ6'CGBݕYL.ƯĨ<[C2;_XXOZH@K)JtgDyFڷD:|۲Zo{Փ AU밣^d':+p'>m2=gheg$4|.7|cdB~rE28ܰy9K(EpTu r@"yU ֚&Ћ f n j.LStq=yLHº35)qxy)7v [3,ED1 >,?HB ;h¨{̟蒇H訣E󹻁_+_{1VaY2둏k<,t\{QcD_hᮊj""\=4=23(>(P]fD\ A(kwrܴBN]W6?; Օ/ł.W򆏻yJo!`synL`?oҊ.hĦaO\d$iMmnBPzO&v%E&; ]Ъ2_3wЖV}mr:K]Z&P80.˸xhX.oՈhUORPar:Y/9zG݅`A£5͔$Pꖿ99ue3y^֗c>Pn\'iVb(.E o|-z|K=:ڜqdz>[9y8ڹ%A p"Y^}_HV:UAd蜶|ƅRBѠ!#zF ˈMէ0=-P>4>/kgņK<PiMr|/ցkpA½mR Zp;s-zvH:4`PޛmJPҐӂ:Sh;~WNB~Y䝵7&rvj5E=CȨ>;Ϧ-8 & W)qTq" yy1cV}(‹0RY*9ͳ& r4bpbhc\ Eh.*O7hg*$I=,WjqUYHy+eA1=T@T^C~hN"D7`.jөZY1t&?xoZl !Qf-* :8Udpb> ^,v/ꤶ˜n;)sItwV*fHC۱J0Mcܡӫ4bV9W4A[4UXb`! 82um&йp%+'@%9[1J#8,.Mc=]1~#W@:<iԛVT@lნTVPV{eRNꋑdOSt+{:݇'f7_a58ؿ/k>0y]4F 9XsDNDϗ p!>Q|q$呟< .xC3'u;QH827gqB5 :j8k@͌&N6*.QkKi0> fBv?O+n4ǾqetE,ĕ[OzШPABGe.' Up6nU7Σ#a=$DTH[⊛l gG U![=-"HTD :T }|.</7܀Uįruş쿞 Q*uШ VFqI*Hx -vd>\`~OS8^hʊ=<\SF[S]J|p5>[R@*|κ>+l>džjh}dfkEG_;|P$ƨ=]K;Kģ%7.ao ka?-i<9{-zo!$B&oSaWܵAefݿ6ݑ; ޓbGoǂUd p';RAuhVeT@q!uAy^& [z͘u~#8{; Y))t124'uSCk#q`a땈h0aZEFӱX\@9831TP@"Wyj+|M@kx[q!=(HoGUtJb`}hִ9L:K Gg\g<:#]/s+ۼnԫ-%ϳ>(Gjj Ɍ*eX1o,[F3x=ؼmx\joei؜Ϥtƌ<bsJKuY_ҤZB{:;P5NY'M~:=F2!r~*'}3t2PK.N~9FQē?|]lmyDoB:8Pe!RZ=M t;B,EK 0x TFN,^?jr^U4CMu[w7!iRU')n䅫- yH 3-ckɱU-_dwj.OipyjXNy[ܩpE^S\\"܅gj mK6WvMD2C/ MT3jR99(shP`x/3snj\Vٜ|'瑽fxA<eZ}R)ǫ3,cmg}g;QC|Uy%j3o6zM)Z{$ lՆ1C SMf;?m`,Ren/izSueQ 70]-LEhWY1a'3>ۓ:5Cx){!$ǞVy5=ʡ{Y>*YsVbz~Y\=%m~>@ luaKq-AzmF};o@IN k 7 i˜s? &GM+Cٹg~+fKA53tOV ēxyB͍HN^X(G5%| vlqAO"%O1, 8UNe]YSQ6{-P.PHX\Lt i8K{ 'Di/űB[ٺ`IʸB0: ×䡏,G7!w;Uׯ#d+gdwnOO^]uVHE EMz%9O]WJD(oly!7u<ɴ!6ȡ};y8˥H'ƒ틨Z_o05ΝWY[G@nJ8Wբ |#2=J84kY~Iy80(jQ TM+5=T}kg27UJ6Y-1hC{ivP,@i^Ŭ[t[)3~dZEG/ :}-yMlFA՗IpNDByujYNNgOw8: 8aBvr+[VSP$ɦyɻOu%sRb91<zH q6yw迗.`Պ{&C݊Qz\R-ӵ4ZoWJ+FY\L"M5MhV/#$@dcflSkqxFVGV8#2%mF95049Ud2:W cI;Ғ/AK{t+HO^ \/Y d_;Ck ICm9^9p\g5!Ul^2[-p>IALy?0eLLRl sYSi!>\B0ք}y`^#muv 6zuPiվ+ ^= +t]^Tڒ8,BK1 d:GL)0}aK&m}Y͜5RTp/IJ[?MF%" !ڨvs>m -lG?+?&f]UdD͑8gNQI ْ0S{I;FFQSuHN6>؂ARu֚BM/g ezjzyL@HSvr:c׏@o~yûK$T%X,N;Xm۴3׊OPmKxn |Z|1V^4yMLnѳD;+xA[ur$^)^>7ΨI@L@8 &|t^]ALX~Kat˕?&i֬`W *YԿufɫLby)M9䄍;G&_kYւQ"h!bE9D%"Հ)t@#1rmlχ\X2/qƴթW)[:pOhs쑩rJNw8h!-3&NH" Ce{ف]@=Pe،l˫% NF{3_]nV^Tn,(rSpE/p~x˿r [,I@'ѿA}=P5OLzakBYx$k+Z>WLp?q˚g$yJ]7*es=)Y޻-X$=j>nhRPGpzHvXSq'rJZ}ywS4RkMku.(} 8$|C]Q$t8F;̉7R2*'[U w\;n.I!7|a.:.xj %!|U& уGki'  >.;bޑ݊F4y'=NؓրL rE HN6Ӱ IttevPG&V`ve1[s_1B< .85ѺiH!-XC[2pd&'bnޤ A/C\Vg##?QW1%Zw?U2&V܅Vsf:ǣp2aJt 'hJ/^8&V2vHgQe2xq'}0]E F>op䫤- ;p6˭~\3ߏsO FT QwQbg>p۔Ծ Iq04=24hm+C0G2Kۮ@pɀ:BWd8(+ھ7T:e7 CpRG3l$?金G~;@tYJ33pT&:h]sܨT9^*?Nbnn^&䕏0 T7C}a-Ttz  Dc3Gl Z q%/hm0D-.>- p,2ùA|{ W!Z,{q.A7lJ?Q P$iLG\rs>]!{Gj ;BeHP얌~f҈ؓKMT^CJbXq ק^b2w<E;`OTs#9-χ|?Bwr?rNip_N⫞ 7 #>FZՇU⼪4jEw3ħ$Z<3ʠ,tZ%824dVw]~Sp"f/jZ-s7,E*Q۫FFwĭDk cyZvUHVTU}Eic=;Ju%^B̳a5xKOpasCQ*Ku$C=úFMC;sz&fj ` >k[Lqߓ>} ۚGp`RRbPV@C9)"dWM(!A? ?L /a'c}Ez#Z&zj/ʱ',\f/޲z;q SƎǕ-; I!*')hNT>za-Ҥyy=nMKXk͂A_'☤G[7;GކY  mT/Pw07Es_! vfa<7ESI ϴcPNbF: %0E:&}YUN8m]j ,/.- ].Jӱ5Ae%,40gLdT7K"KcubAs5]&F[)zH6ZJt4*3t<КKk/&oͭPPr0bx}>怱urg'w.Y "Fs6-jҩ0c<ȎG0X1w,Z?) ߖOٍfV^&]#ԉo ӬUFj>Sr3G?Eܬjg{1vYilD b{'j8} o5+܏v1sIPOZYvk-ThUJfT`j/c$ D㟫Ҙ8`v@ܚCeFPdrs0v_bQ2a>t&VUbѭv)_)HnJ^ecG# tp?oNs|CmS|*'& |wz3Y{f5y_X.)WFP & Y#(3El<"VR1WX(-K۷όu?MuqS6k(. eͫGWGV*"XíS8:\ GM8g-R 9&z;H܄gX!M7+[2~k!)0|c_E \b+IذtWsl1C<]D -a!"<鋱Dw An#uQ,{0b[wA-4/<Ff@0T+]!P{czCW^j|E YpdԔ1qgKɿJy NnQ`3Ci|e$- >9p5'>u'B̙gtbtU5ZPIGIvMdl !EU(9u=@DEbYEXH]/*=Bu|h]y?hUŪ*A5e-ӯW펞<6$l[mc 5ECӏ+2: Ukh^K.k*dd]/nM-L=\pV0uh[o1܌ĆYZH{ăѨ'3Y6P<)ALC\;ߵLSAV!Q{^0aOkyԒ]2ϩ,n+^/&CMK]9OgZ:Xbxk.r@RQx ps,H`!x wy7ϋr\BG >$Lș!U*@ ]%CbQm%ƌ胆Kg:VNbyKNcPD݄˘/⿰~ue4l)Ōl4!:tfĞBgK.*:>[yrG5,m?c2"޹djg(S>ߤs/±ަ}3uPDV<=V, fyIUF !$`Q*c~o9t.0w\Ms2պKs(=tKQaۣt9~ֻ}&ɞ!$|r)5QxX^XE9eZ>Er} t{2-wo&0_ pnwg*Vz&]Zp8Ԥpl+$)i79qV?gCeηJlU*C>#z%0>,؋izpQ5tc::@:\).dE4M0_qeqY?P`U8BE!'ԭNsvW&OX/;ٽqQم# a8t oaz 3eʒvJ]TM`qK_RNHwqqQ]Jmi6i9t3wASidT#|z+Ct[Ȗ`FI[oEݷ'%7Wkp556R>xLÓl{PxiDg>#">zЙ|EL(R,,0VhÖ|1 wo^"SgTSLA!3ZGW'G.M.` *LT_ҿ." o($D d|-9>Csd%tRNZ(킷2(>a 3G!伂ehS*lwOoD`OC (q 8mw35Ȯ);7KnkClx\Cu+Q.+i$hYeDjŒ Ǵy`ek1=ͅiNc,1br3Fk;]b VI6".Tw% N/4nl":Ik:enO"c\dꎉń{ eV}'U܀P}kKuawroO1uP}ʆM~d89~ Q%Bᅯ̇i9&a yH-'xWlO{YtOMgf6ȃBqUÜsIH{>I+ˌE tp^ʶ,yRm׀cw֦i ?tl3n)y30u2B 05)5K[&G;Ƽ$b]CZ//&rbHzoe{K'|)TIP[K%ؿ%:k%o[EȌlqy?6!? f! tJjaiON~Pȡ+}nӧ` LB_J~[VokO$ ȝA e+^7֠k{@Y&:KbSӡZşKxA4+ѝ;ZcIg)f4@c06߉ȣ|sbGc,1.Wr=9$ʓ.벲lbǓ^vJuɄ=ȪYSFt:ޣ'o2B6(nCϜUwc^4#o.֥%Zs+%؏|WqKWsv "!F~SHCnݷ)lmwB4ջTj#̘(c 6tNk6I&lgP d. Y)]d;KqdA߮>nq TuC& P4]Ep<sBAbMŜu c4vϻcXpP͕ǩ,=cfs,X,ί']{X, o #J.1T[i)\LLaPbfLe2{_D aB\r2vl0py︻n pJHoYI{oma'e:7e-"Xqvyk!^]A;PEX:ΘrǑ+plCހAKtHAdSnJji1|SSבzwbL"%97Yě7%焜;G/Ap NH۝*ڬY NU]~F==ӣQ5 \82xdw18JGc_RGN#ٔvP@0B#W-( pVsI)0q,6*v I]DdrO]ARt\+ L-drn|0N7`9Ƥtrjt-;cZqɏ)6Bd=8Te(<ŨBSo.r8ƨkT<>?~D7mڛ,_M%4{zD j01W$ߊ*$rPc݃RNex5h)vxT@=r_ɮ C$lr7f-q :%-ZG'ڥj(Bc-;f;x>Ky€(ZE|pZPIRc)͂.X@:gA)X&IEӸ} ý\\5v?PVZ\դU-d2BM%qG5'->@!إ;^BZD5p >m_J^2m*=VǕvf  OQٿ]JPz ;̥Ay__[g1)+5DἍrKv6blLL'i6m@R8f fnX Acʹ2Zgmٍ ߴ,K81$&Y 3GY:lk!~ -L/nbz) =1jB䙔 8mN.o!\hxNM}bMڴ\^z%4_^fCkzP*%ҝ7ѧ ÌSs x0z>o>tLKvc8XJJ1Va,(U$r3: 'kV`z,7tp B:e~w:N^ tCGȈB4M2I3nI; _Oɬ.U 0mOmi'71 ÛWRG򅇽z "7KnӊhIZ$`M N bySzh7ئ&.Wv5WKḛ}E3%Wb=BT8EUVj7#Rm^=DŽu( G!(__t33aF0.H "*!fEB/{l):ҋkR~ ^+p&߁fcnCas"Gm`֯?55hۛ8RZB%9цw&% =V7lKA|`X٧|"D+(Q'9NWMQ]YyInUA#tҥ9h;qD_ ŨT@bXڥ.PoA=%ǂ\1Buiڔ`5 X>6 <>9&+GS*[)12 wba#N:BᖖΎLz0C44Y[.l:a)*Ε'm Yy0B W 3VznY42a+%vȝ]l7C_־򎾗ىPHຬ] [CR^EeeտK:rQ$,fݡEo71Q"x}:O8GVj`]GQS[Hpo UiUg^Y_6kR Q>M"gĨP@kCj_bzZ$m3~{*y+xD2JDw׺ەAR(Aˢ+N|y!;F&Q\|p"٨yjZ*M\PmAzI Œβ[T# #5ieo5`Hx3&P>JBHTHs.1o^ӝIST˅& Й.2"zEXO+ZF4dNf.~^n33KcT2]~{ 6i|hǞx(tҙx:' tW&foH&)ޞs6tޑvĞޗ,_0.6B HUMnUXjb]=z>JG&\l,V'={:ㄆ kx&N}%HPP0.AH| *D2,وxlނts BIK ƻXcgzB|Kj~=fN͂XyTkg,Z+@]&z9Έ2󻼎#`j=&24'BK%vbWFl>*WO;!c޶&:\?uE1ȡ,H)MXcp8Ȕs<*q\F#j.mЭ:ja_k7jD4"}BMG~?$%n Y"/0oR {W'q& %=DPKx7R/i4ѷ->l#CitYZiT;RWvANTcƼBUС'CWGB~qZ15X`;"zVI?(ԡrd6B'rHmUk;5=kCHvϊШK\N;McYU?w"]B4F>$k=/(7ϊA15~cb/~s  Oq:(}6.pNEi渷aJANJk V:12?| t L&Sp }Ic"ހu8L'x=yJAs|jh^֞B7|'$ "|-r 4,rQhD_b8w>o,LZ[*/"f5B l9@-:!;'KToQ:^Nx>Rfdް=duodW0Z Ӏ6 J8&NrQlc=Q`ť^f}p*@qSgoi%zsu h21uѲgwZ^]Q'w_y撃;H, y%YrjԤv{\ 9E`;`HW6я ڀ^_&͵I ոZ،eݭ*dZD헩8ڕ#39kK8?*W†BʦW X0M3pWk.[ r~x($"n3W^FY4a=}S6KSLګObLWOu; _ BzB^?,8gg&'f>.h3)KuK֐6YaƖU:ͺ r1<z*]NsdzYi@9܎"Ųe[vO DPNF4{D)ԇBMq-!Uv{뿈5nr[VX95.P؇ _:g N[]e"DgM&|84̪(MDx4w_dcpinXէpcsSOcpbvqxN}ye94z$W C (Cz[vI1gU>uޠ[BfuzA9ӅfcXpŊ?&bHjL6^[$x±HȪd xzA;$v)zz,du{$M^գʓ2oېɭEraGE;\D;dŬۜ(oxxI@otF|_QhWBzgAg eTI_QB04bnM!7 B߿յ0E8뷎 ؃u,WŸ z*sVc.HwѠgc܅_Jq|F)*D.gSғLĐ@-dL'o^r~L__Wz˟vUX6Oue~b,a  zؤ*NB89(P*\%Sxt*?nab_ؽlcTH8xxr{Нѥ&KW|W 2Y@~S/ 찁ݿݯ1I(HS r՗BtM9UX֮TҗR2SߏSe}8*O !TËE$u9+{Xg(| |W1ZE ;WgPnnq7!J[AE 7H!R '/_rjڻ u>^wi-:rWZiL,@PXM[ժ/*$YI;~Aժ&K6Q3~a)X%M7^%tN]d ]WI03S3Qoѐ?th()"N</EI岟vқj07 Ure3T/" HSDu\WlnaಱN!] 3 PV;--3l-30".I@pZmPazGFz/ I!=NXSrVc8xsqݖ&"3Ia!?(Tؑ U <Ǿ㍶ރ1]<(Niڽ]jv2Ji@:O  O&ݒ* Cjma3I ܓGZy\Wւz'~x(.` <~VhH s?U*|ZU3n;/]k: w:C)ggS]O%K4ޗFGǂ+N6 7Dkd-ؿgjj"$v^>Sl7lhitybG}WB2Q_.hҕ>WEP gJQ!\iX' |{@0&@ϵFV2M'7\2jK.*;T~$ZUN@C?.D%ڈ?ihj@d)4)=_\-^Ggnt9^#̇] "Rx:JjL Hlim%]U ot~x {߶aI$eboyLrW`r.ǂ |&]my2+>Ʃbz:JG4>~셧U4p5fwJtR88ٔwhKw؃IX$L\53iG)d&/ gk.7?H;6#s?sK:d\4V`| ADŽ9Kձx5sT^;oRNb(A+CFɥf(`r,G3fz ~Su:,Pܘyc\tt,(FK^cv|%*hL,0yI 8;fE3pzK1VoE#[ g3G'&B3t+;9Yqz"TlG mQ׎gAp*ŶuJ$6LIP_ |Sl(7K997nd9U&y<vHEvm6`+íB,mlfGuՉK8N`+!&3'A\mUg4ޙ:| mp4%Ys5JW͉HwF`ue++JGnnL9sHZ B&Va-KڱnE3]ƟX-I;XPt>J-v$^ƛoWY8`vد!Vz<@ݔQ4<"z "+_D gjBs&n s!ǔ^̎]L0Y9>GC}ao)(0F (ۗ?p%22O{~E̖m?oAl4/>Ơjq#*``X4zwI8%}(kĎ!msxFti>L7w_!s2Onsm ѢzrjҵD>P"DӐOJ;&~=stIh tgM'hM ܀ɬ1ch 20p,)]Yp2j_6+;8QZNR'Xi9Q[J91-EhqL'$b|g#P-5˞r O`5%ͭ:~HˡH?_Ww֏aj( Y;|) -20A's#ݵ hi8n~V#mb/VDъ,XWVG0϶hr\97 Y&zH]+<(8/y[r\JFY5B+(@UѴ Hv4:)J1E퇗1߈RU-fw[iAH7D}$o% ,h)sMtSߛÕx /XwEUx@縅A &|8QX>j4Y*J,XYzuSP05 (L?~O=6Cޗvl2Y4y~L<SHUo^7eX@qUēǜA8=H}cE_njynOۂϜ ziZcoȦEM`e?ll׫D }@Ado ̼ؐ%TZrBޗj,ApgbI`f= ]GX%YznH'L.0Y. qj" 7 y)Z Tdn] HfD,,Yr:KD(']-ݝ-g,PH\ [==ǥ@ +1[HF&'G< q+ VOɫMd=z(1Jy& 7_cny߼9Z링"ٚ3 ` >;>Ũ:΋mfqlLܡG~_Tq0vݺ65ݡ8w ># <$kC d s>R(Gj c(x bۗyc*30- ޛ/f'KC#ɹ66ɌiQ&pْi?R`O }Gxt!~ cUpY t)3]RmIBEE"Ti+[dyNNt^js.t}C 9:I9hĠ0Q--^;59uX:OVi`nU ]~/]Y,\sfa3f3!1k^]gie#xf]ijB&I$)]j)CTYQ`%R:A`M2JE3^n̺;`rchRAPeȋϑ[:aÿ́㫴ʋ2Yo3A_ ;|)9ْ &%PlE\Y5YƳ?cdыjpʐ L߼'}uu~JEO *U|0?x%WKo; B6Z8}XU, W.zIbi(tW%HkIiLDZpEPz<-$H3bJ ?SRK77w@Ū)RćppmN=WUdS8@*.ro?,X3у6:2j)pR6|gsl7''88 u!gL@ j/:[t٭6 \4gPQ~26kyrzb;t,2FAraN:z(VU z޼~Q1g]{,'^#?NGP5Rp7`W+9c9׾TMHD  gPyU/71^7]"րGցMgN@V'C8 ۳z )#GW,4A$/lj?S*r訴]R ɞ*T`dQ͇.,@@=Q&i-Ȃ-2CU~,(k^r‚RK V?"e~uΌ)S_62?پ,٭+~ȷ}'>Ww?G"pT{HApa)* ߲ҏ\ƙ-9v U 0'(i臾fHwg0S#Q`6h:W0h\ԅ͢+`-M -~ B.Kd?skmjH$AM{uM6CrVpF3IճUM YB h1ՙTut T^ |+$ =3H_s60|u3^9%]A 4RD0Z2}:Vumۣq׉=Vo? "/ VGOa7%A"=pd{*` d4Ŭ@eUuO| _@$݊{Cb0J\,jQ+SG:H5m/\8)<@3흌AҰ=SgK?%L ;! 27f!a7J 0 ڃ| '8`rx˔`^ߵ]fx_9TW9~Sf#grRt k\Sy"Ƨ!s2h%1CXChIp۵*Aچ\QE q`|Vy껶O-=$c ?/(+2wВ tޘ)"|d14bx_甘]3q(!샧ӹVIh67ŔE! :.y-آi >%UF]-HUx€8+,yG:eVxC/ 0-KE&8[(/\P*J-u8l,27"R1Ob +N,$f-Nl`'iaS֦tNxNfqy0$B1'2JƳш:̢tB,&^NJό7ĒR&!7և'rԤm=ҜN-sTAmA5OxYLKcک5~uFSBXoso菲vfo*oØ'1 =JC,p1&s4DmHMv]e&d?4.w5h@ܓcfτ?Ѕ lo=Ա/*X99{ |ͨtzYpi+3#e|؛AE)X.̈@AעeAM}AK37?pv3g9%j(K?Oif3JT7 )jhv⃤%Bg N]-cyrDLM, Lc;;ԺC᥾Ė]6N( PK,bFs::M6])љ>.5eڱ*qXqH5Q82SPmi7l(UbvCJɻ8UדEʓ?xf4gt㓪2 H3GP[vgJ~RaR4M^6`00D1]hZQCY!eMXj^TNC(=MFV;B5,$. Kɋ*un4m 0A05PAc+R%iyN,GhdpB_-m[ (ZDB/5gu1gUG˵+pFo,V E*!NN>ceusïl.FSo\/%.^I'ݩAb?o-qx#rM,~.wf(s3VWJ{F4)$x.ĥ F+dB' I(>}geKb潽ije7;75GfvP=Z+axlc dW%wczD;;W,[\9S~0>1fͼ#,)λ ZJ; %CLj+ 8s; ɝ>O~޷zt|A. 쮇Oy]?8Jw 7xx٨W)QZlI/ϝ-gu޼.6^;F3H4%4]&X`ᜃ3K<k[L~g-|TQ>l/#ɀu6zl)Tn%r G}6UF o8+ u!I%j}h[Ȭb e" E&ədU@޿~, >~R5gXӟ8r靔,B>0k`wn?Pa2|s:T{op)_5mld0(Vj3oSA ghV , |G\Za Hq]/.9+N*t $b 1WiD&纂d4OqH‡k=9*-ӯr{P@,P~g=*o`B+u$B+#Yѳ|\w5E)ϊ\24VkP^Y0Lxl](2 ~uaުʄ[͔a;>qW٠۶=fi|a#@aiTNG%X}H lBu{{ȝ>A"!}Ϣ[َUjw jZHVU2' cnu$gFO/d>ȯx1Esn$A.>G {22ZOg (v*51A zpw0~|}kUwNƢa@zYP}]P$S(B`Ϟr,e89P’\KXOeY?fGPӮ1i~"bdG*Y'NPj'`\^riedZt?{zA\ |{.LW">Kqț1&I @ai2Lm3iL~@[i~OAAǬoTTiUfw!c*< X\=8_Xj섪uhu(OM<̦, r濚&~:nOr=鋾x"vwS}N򚉫d5}E.DZtG5ʻ=.H  E~Lw[\ `FSLX)jY/g C+[o,{ٲ{U>O.ۭGp=ɏ~)8h`صV޻*FΒTb&md17` dkpU5}~t7kEdn"b?QL-/[Y=Xf9tgs!z竓h1٠-@Iw]72C|,N`hʟJ ![JP5.2S*05cHG9LQ>4=gߟ^?Pcaȥbf+(7wum+(6مt"B1vns?|2T_ҷBbH%̄K&Q#a逞iDhg/MkB}b1`[ P̕9 \X%a?R7qpyb[0_#a>鋵1}:;Ȁ!tV4˱nŗc\hTBDlz>S]"Q޾>1BWI520#[Pgl$BH DQzA\0lhw'BT~F; 9¦˳\ME`2S1,Y(|,^l]_)Ikpk؏rZ$atwER^L%n:@@$ْyjȂ_b5$x\ihY tge~ a$=!Wrԫ7R}9Ӛ&UG5|ūTv&)?^Y#pKݟYY1&lL$V[Nޫ7rgm0V6E $.[|Zmvq߆2p8|:ݾ*>y׹l_/rG :uW1؂Q]*|9׼W|M@,w,_=p4f95zʑB&!fU'3zI=K ZNA=2njb׮kynP=,K=kg3gw]< 'd՗ZLvMޯ2¿y'#SylCi\ˇ5B]qL_2U6Sě]|_}>dv^tx6pټ]7bYzHt' W\@Y8\NѶX|v* V*j6>37XtK K F龗+٩ɣ&89ȅh} lп6 F 0c D (i-E'W`t9鼾Nt}w%?mQ97 m?QG#ք#DM@ xo:VAcBN&P@@)kmEVp&eyȶ8=./ fg"Uyz!$2޺.4e*z_"1^m4H: ra͌K +"<0p EgjmY~uF>G9Hsٝw 8O@AV<`@&u&;q ^$V(B jTˌ \c#͊O&{Q`җ{,~$%՞0n^'-p?N PQNI2]. o7Z/%nmΒp q"] JY˔/v}?7+X\0T@mf7A] L&Mv9M㨩TohUI`/y╘Sa32'> kanxtj_7;0>Sj&+(")#Nyuˈtu&Z0^r E>KRYD֛D kj`\@}ҡ"X^5je~^$$AؘsX h:0 <4BBJ>oQ@<̦Sao;4%=2+? /8@77,? |[oǟ ebV(E4l*J?)ʞl({sإ!0cz.cC:X`e@`1oju"u[o%t$.ϻIRs^Y}7nIL+ }ގe: 6 oJShj \v_~/XgAOZk#^T[L]DxӜc@gWWI rA>AŕPFec (Dst0_TճS e1OIWì܁ꐸ75kѮt!SSB; RtFpӦg~*?/5&e'H_w ٺ[ĻH[}12O5B1ò`2ʛp:p[|1-}VF _ʠwak̵2h\!._,:?y+DZݍ9zK5Km;oGV2PF0s%v$]*a·3bHhHwD)Ev*#$cn1KN;І,qݔ3o(ݯ =#?rPd g9sIpu+Ft^c3^vu@6,!`6[|쬲qɟ}ΔX)3q8EE] . 462(6ю+ 57g,-%bB;+Q)VWD!12W&W0X`x_y,&ŷiIaUc{V!?h#Iouu):cNPUvq< Z5Kryͻ,o*>0TSh'!rY䍕Q)p8~tH-e+:Ь9|JF6Z2CRE;ű<Jh=+<0H[ʁc̱Gi~6l pUGd{%JZEZ~ZҎz.4{{a}\ywܯTxQm|xEYSVj|(*P 2%&RTnYQ-dn$N\9afyedk]"F(M+ABNpSYO,?"sxprgN5bD'&!Pr5H[g?-|DZ/|>Bc|G;vM/aL[9pG4!~iU) ,djy,s`ԓx, ^Vž ,.4U}h!!5kVSuz]\9;Dfāqq& Qkw}j[yL/ sژyk P٦v~H ?s(yFF.Tk_ޝHMҁMj4Rd >DΩ5mH]:t]ouvqI⒂=v!zLx%ľtrԷ]bIbfjf-({\MHg^.13!()TBv{5]!eyf>Nk0Mڼ ٫fF;&$M8'f1ؘ"r~]9˝́9h2pk NaHb'-Yxt:ۆa'mwH@ԓ)UK̡O:Z <|׾.ʀ.k7+1/ lUw>0< DqB=V;y%( #jZ`:F/ѐªT}'[ 3I8u32yk_%{W3Cqp G#<xկe |uURഞȒuTAձd4#Ccw$O0&ĵWXƶ|⨯b7>yNxv$z"~vu\+P]{=VQ&C jP`:Bc,N׏ze1{eNK& xsO``Cњx׋P1XiL~QU ]z!z_'śX}LIH9khx ս1n#>~iD ,$8$rzTˬ-Gޕ. r>>Q`;YAkW~O( $Lњ[2gD8]Q Z,"XѮPO c92y};cVUB0`%`dl1d'rkBGh`\nKQ/UE{CWdo߂nCs>y@}M]OE*&B؃NFr7@:<^u OјP3 t85e,>_]}Ķ ; [-ݶQm3vӑQ^@S,j4}G5ݧp:NYCO~~{or^Vj?y7R>L7-^ !S]!##h]Y{w7x]Ru׆q!/r׆X!r͝8oO5@V7* f(jO-o64FU{L8 `u'c(~Y|Tua?S.xdɇDr2`]);h|bǞ&?_=ߵ*)sF7^SI"tNc[NȯGI3N6߭X1q0$x N\{p#MF]P lzGզ;Jꚹxѩa ÿ՜6RU!jG> ̸U/{xQw <>ռP\*IlE?JrW[ xv 8NRS[P9lUv4͝tE 9cpxU] }U6X^~ig'y[ Hq( RVffL$N١y⤙Ѹ;VNwƈ;"37A^rKD]PMlvRHXP}6&1C![Ee/;vB{#nGa 8.bPC{VXiԭ6|C #A#"!ք=ARBf)~[_Џܳ5\^TF"9}fsr/}JTiv/$oO놌R0ւU@?m^~  lQ/Fs7$>[#]NJ <%bIL֌MjBѴnJ E*j{ .B[C݈;#;DM3Aځ@+F`}nș|:@=yeP}6X ]{Au{o)HׁfzIQ*R5i@ӴvDjwEMHso AId)av.qojwYx2]T^m;D誤w_]qBpJ7rlH ]x8(-9%Hhi)E0kz:3f:'WK!x'CX߫YMԴX̻:H}S~󁜏^R֧}'e7K6 vҨ筃zStֺ[X Je5|¹a6\fQ%RP^48)Þb4`rǓp١Ñē~$RB+Rջ:,qM6ɒsS49!ge ʕPo^A"[gh*A,+P6,}G\xbM_ʾU=YJ &τ2 4϶<s12!Ҏ};]T" ~Љ=l1SK N5!sǭ0"`&&~|WM̿K ,gp oW̏/ogxy0`T+G5f;щQ1eb)2/DY8=oWz(!}m~R$aPsSsrGTP4 `e]y(q;9B~u!mem/@'rWPbw/dİ_,8%ljp$VzO`ۗ#ӿl RZ W\J-1n5tgeU*A`L"*& *}&Ӡd!Y(&P/Ab{vNr)WCٱIdeugkvkP5 Ӹ  _<̎.QmYP;1&`C".kIX +NپbQP0ʷ?YZ492-Kg3y-I*ǝ'?sQB?+ CRس;EyyՕ'K~&áWmcЙNzmcm3 nj<$7#G:$~)Ɣ2sEsnr"{ rF.haQg5aW:r0\`BF ]>ɌԲ.'M&t,e$oq\ܚl~QFU1C3Fk \hsPP^bٺ&)gk}( F/D0]OVim??96`JnHJ .G׊j)=?J}^p=9QzLaxll8 I-$=nj+6١5p6`7, SʑiV RgF!Z|@M Ǒ#O j}oװcF7!TQ{ k!&b筼Lf ъAmq}ؠ]mImEpC_*յr c#|?҇O~9(+ӗa2 ;b.т) t0>BL^Tũ?Sr؏tWn$=ZSq`.*r3wٕEKe^ HC1}Ͽ/5t8Z_kֿ,tߔM ڳd.a8KV:TnJlDYu/z~!gؤrAEzn&N}|\[?WG!|M8g=@hJ|\km{ݨcN9ω(PlY~FmP>YV$1me@ Npd$_HrR*Ǎ6UEzvOwfhzx\͗q˩|;Y7֢cBqb!p#aw@mm|^@29E9W8jsU=:N.aN oc?K^|;-+ȋOnVk{',zPzL?J>Dn1Y[4!77+vk)=ʦϛGAqmZ!3 }:{Y'n;-mБCL){b^Ox7aLz2έsDZڍj z捙>?.źXfzQ!n=W@e2Y6yp|XcۺZbI;^PGy̱4 0/LYt E1`*?2&%{;"XbS) *_=3\$bXw2 lXp>m{^^NO}pqc`U1{n>\l^ok*p?/8QAwd]pEz2BC8?sJ_A8\`X:BMdy̆:{{H՚2KWq[ 1i Hz 52Xiv-# =,K` qZ {hc]aQy 4"υ}ϴ_-:Cڃ(M< _4}a-Pdۢ ,͍6j܂, pܫ9õ+q tFgYl.5d;'ݹ #C@`7Z2`b'4+p_Y$rLt(Q!АW!Π >xs*o \\t)T8]?pfJ[ ǻjZꐱ=$nCK+6b[9Ip 59lnH(=2>&?No *5T}ɲTi~O[.qyj7MJ9GB}G5pGT#wVdqUƇ 17-쯬N0qYŬ|rߠMXr՜zVQþWT/1C >UYy׳"n 2LE 7y\=jtT,P`BgPErf5>b.Mg]u9XH k0"@O}bjYiHvB@.-t7UÅ$7`ҡ74ˢ7Kt(&VBn-73-.Gݰ|OmMH2};kJLOw1(YS hH%]\3(Ǧ513›tAFƊD?DMU}y| j[+jN!<>H>d1Rer!_cS `HdJčą ?{F-NV$DX-mB9gSX',GD0c%}͘p*eö lP;єn߳1~Q0Dk!H1M¸t0JB z=#yGhh%cҥ؛Y`R||#`iĥMV3lZUi)Ȗ3$bAсK_=F;f*Mha*sƒ-*/վ%* ,ohqRדadE$SHAH-ݦNKT28)ai|୵NX (JQ$y,4Ͷ(އ_[3sRXiٛFc&MN&g~!0P!$eÉkt?&frϗKyULڰ,DbCx`+!R׳ d v1yQ?&=^JQa<#;gtUj~lJ>JrCXޜ/=nnѳDNP!^UFѪjIsGitq;¶AͶ^ 0\+e{ \WϵT Ffu+@bT.yTGՑ\zH1XM "gÃSR:>a½C--Z$}&zO \i3 &Ή j2JN;(3\=KqJogc) ^ڷ;yel  @SE4/%նƠmcT.q9.k!OxD]]wL r'vv ;B!ߋ=! 0DhNQEH2U sm:<Ҍlhp=1N RY^ђB"SwJ͓O*%S  *aIJd\qFk+X!SP_}9n[o9@4;6]g3ѹ~Pi+i(&b#tTq^Цߌ`"7_fjaQ ̷ѿK[ DSxrX2{?J8;04 Vc?DǍCngR:;fseVwf7FKoe~aǶ\z4ꄖw,- e>epN}EJ Pbyp9խ;mIc/ G\7\NO\Elgċ߃ fžz*)/%G';dc7b PifU5~#U1â}Y0Pp>e86,D̰O-8+}< 8ԑ)p}S|; m6p $3 "w4[t ky F:O5%-tN_;qCFJ)ީ+KwN {s W16( :sʹK|BoΛpFm lQyِkΩ$=@"cn9<D[n4q{Ɓ? 2^ r KobJeA6frrv rB3mb+77 o,a=,4faz}\R(OKbLLxWZ5q~G) cj iT sc+,[i/ oPsG{b 1~ZI$*:{ͽVPt>fJhp`%ȈKPUYPrZNmׂ3ș职e!07ܯjq{  "y]Қ> dN%H{r"*e"Eȸ#i`Zo킺 cY,<`(;ٷ.= :P}"Qק#;8?apdfQy`1fr p:CKOm;db/`yb6A.D_khWh&8jYOWR|r!k4X9١L-X?$ X<^wpidVˆ)WNm]HKuo]>U+8p2R<`|YqIh)[Abȕh XA0Ef`cXA}.}Dst{FDB) %VBe?*^xcR''M10 Ug-~?EʫiI-?<*{>'n⡻H87*o|- + {NZ0"q|;9snnOp܁kv9f$[~$KrxG`MaLxiO’KolwRGJM\s(qXZ<ej0FUOt02HQKr޵K O>",e[gM.`(Y}bT]/!76YBQp͜QO*AT ˴,A~x=:lss%hyUwt37[+<ђ:TAlu ;Q;4W1K% a#N^'T_|uވ wZV}k[Z]j'ɽgՏD$͜߷MIGX1_ȗ=H)C|9*l-,ʀ k/DI{ #b1K(\I,SApc'-!bq?MVNI?w`GFck;+^U*\WxP,ڗd)SBCϳ-ԏ\dP3)Ȁn%] 7bBk0FmNm%@cV>kΙ񎇓ˉ6ZЍe _7H(2wMIY:gZ,C zU/0)/F*9YGAqnY;5 ^#y4X'He^2|T; 8BW,yw9Vxgz __5]ˡ8TZz]Nxtf`+˞<#^7nxY6#pe%z4c_g1v@d ŹUAzJt*͞ ADAKI o}I:eUؽk1ސUלQ($IG5; -4n۹s. bɍ] WFA w6Al`1p?ݰ7X*'4NAOwI0ԝE꫆PY̏7kV:KĿ`OgPԤ/ɤR. D4j%c\$e_M:ϖ~ꇸ!lYЩh[ǜ@ܗ)$.-gh %Hbqe/wmO~ 2Dngոڪu]g@+嚧Bc2f)qlKfw$/|1VyCQ/>-%I Cc{6&-h㾸¢Y,_-s9E&x` `kx-19tKkgc+ѭP&ښ^(0PI#r"XF 21QjQa ! 4@4RP0AjHYA"(!d2_'pz'[d\z~u-:&X¡w{ŀBhao| 9F .se3o`/Wc*Uόq}M_QphXrFs؟Ay{' s:<h 6gm39SQ}kRSF|pJ~l-uhV/I- '(~Z7;Z-m&u|P$8wDc?!(@0%V4.׮`qP~=f>(@Pmhdq0Ԃw1#|u MssW~Sܥ9.Qd; {d_F* T_S^alJ/VV;ESyC!rˣ9xW ?-M'EB(r%M$ޏ15ce2r8r@`4LH.,sЉ\]cl$[,:uʸ)ѓKbp@м_j~bFkx=]T.:NR*OQO:ߘ f!VEzj ~25#-xpb%>ɧ^I})TTHQz-Uk ,~A%6aGO7u V|Ҫ5^~bzY_X䔃~4AlɎ@\cx RW<`HK(w{9n;u4x(HW3|$U) vZQx=*}.ռ]šȽ_adġ"âOCfk)^~pc`qQ@:o-B[@.( qеǠ[PGF Vϥ@e 6n.-=ñHKM_%!iTyrX /?ΧLU # y|ApPVTy*͎/ԇOֽX :>Q0꧐8&1=oss&e+;A[5am6sBBL6ec0v6[, 7폎P݂%Z̔Ur mlgTeZ%:!#90^$0uH r)$^q\Otp}vR5VpkRd[իφqɅ:`kr{oط`ò0@k xѩnFUFxi,P7|z"~ U>щK$62}AnQBgmѾv<5#nk5UN'GD]u]SvE 0#`p0UQX' e:s1Hf)$ߝ]n9!-HM t| =p9q?]ܢF4nTGW̒!e$DtKW;ʟaQqDWb$gBUd nكbgdpMe9,=/YT_SFl%mI#KYn}PO'cı5w/.vkF`GqLh"CA0 p;Fp\|#P»EQKx.ێ0mti6&x=,1/x Us4fɌOFqV lm'MH{?v=;{`Alf:(fv?mQ`u@ h(7!Eg$5Z-A:ڐpI>5`[۠'-x# ACb${:BJc~M2%|/fBi\~#I 6֭ #У6Ej ]Ӎ4(,ot7nTWjeX,!UUSd Ű54RG^5C`TkaL$p|x,Š#:#m[׭Ҵ)ٓ|a>M%)Ҭƫ{` M;/֦hSh .te plV6_NyL#F)V@OXY2eT$߆Q闬I:2NFT*:yoH^| 3u )}߇͉Ǐ"py?>g Op5GDPk̊{f5T6y!d8# !%/T)<=^pnaz؀#eʏ#+d@fRCץZa%kG/аwZT?d <,3P &($)qUdž;_m[48L*md^0fǏ~vLӻ4T`aOHͶY`+޴8e=~y`gcV `uM4xTBjcknb}ML,눟鲀 qWl.ъHO(q*d1W Ld.DB`&U0M-EUTϲ (5A+S\/I~¹8$vN3M@Zhi|LB8F""/3OF57u|syޣf\Kv={&Kuoߍ@#߸(ʇg 62ԖIiѻ<~Kt@GǙ9?hIYHz~b[z (A@VR\PyO̍N"Ӌ¬ǂFw4(`8H[OBCI[6#3&3 1@2n4, ULw "LJOW0j}h3vae!Qָh *`tre7SٵMp9A )'&PvXN-3t*8kVQk-<@E|ynќF7ǝk6m-׌ZFOԕвUd}o3l/5ޟ[޸x#II(pױpTD@*5+{ -Nд \Лhx7âxiNKt$ԪuA*5w Q2xgČIGh&^?g@>YKLu%'de&԰nꗘ41f4PnER(mfRriSA[0 qO?(N(8v/ܾwb HpuyUN>ox$uwSݯüe[7cO;,gb޳^_#?bcR R& AFjSb~-!ϲOB7'@4n微ڜ Mġ Py_̺1 VVl0`|3(apU(m1uW,hձbߚ9:'BneEhm)a~sGO`-hHVi]FN[CƒxWKiG5Rۯ.]{ëψhpxG Y%j+=['g;VXn;+gg{θU?}oo=Ac,c$YdðD|:1@RRHr9(+  6j zҋex_? CEjdP[!X L TNx8o7_c”wzUEۇ|{S?͟O ܹ*<fKdґRn:'-fŁ)Md6dtDr1l^.B |ENE1ijI7;Ưl{m MxQFl)nC!.=Q<0HHr?zL=<שa%Ǚ rm*Six&c|V~]%IU[l˔}0RYUXu|9ҟ 2-=a%XNPa蜟]G&#@~9*C/y~ 'EYZQN[m,3Ӭ ycB,~{ ]Lo$ ИD@eCZvI|cn+4n$jAXY|=, ڬ 0%ښ= Y-Nb kuGcFAKp(>( r3c&64)HYauC[Z{l`* lB uXr9I5BCbJ?>d1/ tPLbl%5-p2K}ghȹjKtJXз)2 ""p AoW@j7.]Y#i@j[ל(x*Ic{0z0o*9;Gʬڵ(܃#ڇwAI3j&) |~e{'r눐2# 'od)jYD& ]浚a';[ B6x%-IuĊfc$w 0i.ʙե.@o_)Uᚢ;SOs뀁Pms~/S-.q`;)ϊp=3NPYMhѰlh,uAG4cfAѧ9d>w+1pو{FrYٞ` ,e;NriW=/}w6j I fYBS2"~҃D@^LriY0YIFrF!YKS;{f7iB$閣"f(N)co2Up ?Tu ˨64y!,>*iZq3|S WnRm(mm$fݮh2E:E۝7КН?^W"p\*׎;lƽr(adLϬ7`4m7I l8&QI[e0{uM{_?RPD.Wpt9 ÔMK #T;ȸK?r$6Gq+MlWJv #,5_! i -74,; uW_MoPo]^nt" $׍3V]=`I*ϚP#4fa\$e N({n;]( Ĕ`)ahVWݎ{\H*'z]Hj!Jet;OJ>{,Tlm(հq6EBaشpVcwlMF`W!r#}VYͰ۞BK`^ Ͱ'|? 8pH̔#:5pЀ$%) [޹."C{ ,Kp="xĴgLز n~Â9j%:.ZYr,.?OQ8N[7:)edh$חaMYj]Y5r^jH}-ahE3+]&7xҔe//͕Y uTZ1X7o!Tfq5 T)O, f35_!crNQYd6Y GgwgNiLQv% iIjq.1D!fUr%x^9S7m=Dv{$Bg)BA[et g߷.l8>qg' '5ф߷a ReN1t˂Des7>$Rٟ@ j؁J6O 5á{ %(M)ZJR5j . H93 wLilz>feŻ$]5Kz:U{aDQW=+v,0$ZD58 "S#I+ śm!Ð. T<1(I%ƐkJ'wTsWT֍Q)*8'`-y33mYEI_nt* R ;SANZ V]!jpGHTImY2Y MX>)% \G=fiMDU=BJ#d3kV6G&E'R ` 14Sܧ=ծ7O7,ε`ERmI7>\G迫d*ut2xwE9vٽ<H5^9_nb /9a &nU!6N,X1Iogwߓ ~V1m۟ݍֶ(,϶{LIgJX@5&1” +rȺc/v?S2(ĬyAt1jm+dl59/k.i0Xh{sko(5q:͔଺*tm1^3oΗb"#pDbSR( ee3eW y",6nKv[,ه$$1n ,Ar, hc͆!C';w;4K\sGyw݄Vɵ;,t0qV8G̵oet'BPĒvp 0Pպz]K(%uFW#]'~$Cd!DDCԧVֳB.~)RRm|ڛpnS&'=EnҶkQ+*2QeIA=~w'Io` 79PS*o"ܗ t.Yy ob3ÆI>@p:(Q3qF!L6O"Vbbf,tK$|"9}J}x̿ڢ 3HIaqR`IݓȜA$ˠ#24N6AےFj`O.X+BGz@1q+-}vEkY@[/T;?9'9N% u'NR j&pf9.Gμ3.#0aUf;X© W]bś]"=wޭH?PH.&e&U34LVE 8n-:~zd@'$sHLj QVr2++5W>dgrjjra~t$͇&ꔵȣ=ߗ,*vh#H5칛z1CY&\ZNpGţhM:M(Ye7P(DGԣzC=1mf /Y( Pvf {n{ ѸfG A2AP7c2* <הTknksJ&+. 7cO4+) yx'*` }Jκ5#͎Fhf`#Z@)wL d 5zoq$ n]x)0Sq7\e;fcyAN',J?O`X/ ?g@" EmV Ĕ)[@":~Yi$ylӄ!cR4H~r-Qq)xA[ij4jT~WE˄OţZO;pRDlCsb|cT$i>gR,Pb#,5r=G;qS*|F9ؘrG y6k?GpE] MzɡH"mi{ȼ*6C95!{p=L1qBP@Q-u9+gb)a1lxIӖ\^S1yKBT> m &?OȒ3KXD)jejoŤ:7@rؔVćs<))[&[YЀr.#x, LHO{Ķޤq$}HY谀`j:ɅJ@J>Hx>*_n[1ejhXYIP}a$z7Xr;5p-l68a>mU#i'Gl4$(ަ)꣥*?I˂lY%M0if]PșrDh0rV߻3 Yޓ̻$E E[e[ ]sJT\=!=2|,t4AD0Jf4vȩGVǽ’e<0a_ȵqJB_ӸM{ dwT9f7hvDhm/&^ Rl>4\l'z6Ljhֹr\0KzN9 ~̼>sȕt?bW1E TnW]RoVCU+]QE4ɔoV\ Slct!cݏZA%qr_iKKiƎ,4m76s*g7[Hpc6.pX}bR,޷ӂFxmp=cV eDnپۈj~RDX"M!#L|PO8ۖ2 ʯR:WÑn}/`umW f+.h}}`IֵeuKǗY4T*wmPŜjb42Ɯ98N/I,nLK+uQjSrlz^Lf[Bz&d,:#]U6Va擩3J\|$ Ixs7bٶ!ț|+ijUÈyj|Nsm)9ðBO#i!LiOOY5otڭ%J7<ǂNzO}M+{O3hoAW+rz5]p}_΄Ubi+-lmU7u`KeƉ^ߓ DkIt6SYV3㽪/jĘQokHtUww!1KVP)僁rac^&&KA206~QThzp~j=("5:=n=s]O4">}n mab o^  R=A6_2yGcO7jש6).]`|=:۟ߗJ'>ciV) ܨ.I8ڇa3 EIZ cd=R,,X0w<-ˠ3Z9g kc.Cݥ8[w*RFfMIS߳Z&ÕJa2Ջ瀮*.n.iG#2sX}O<]P2ٱyЗ*_\ڮz P ԟ(DMmٗ^^î(ٗAkPMw1:hYN!Xf(MNk`t5#ym˒_ H2HQU3.Jܰ[}͒G̯ÃVì%|#y4տo8dtUt#Z8~(`9\xbKxRŧ~^+[4EFڣ|&Vz;i'lGQSa~4<9$, 8icSg3:>JBNY|* A1'4>\od|.W2 |k9~v8T !&@̣&ښXi?I=3<+*ed>\Zpk.я_U$K !X"(rnH6C\v>n/f|q5.o* d,c}cωӓ20,\E,KމB ZXk!ݦ.,mS5.rH"7iѢ5gnujv( ~þ>٦ 7Nqfw}gcX Ui 9;3CQ !sdk*10HHLm{rck8]8fJ^#ijB&73uwAPg=#hRҌ0m?kbH(zugQ¨:Dj{>kcN\7xp01ƄҨvn^Њ{7R\53AhhMAgvƙJ!0v<0kbZ"ž8:űÞ!YR˟-peRg΋Oom[Ln]4FWxNq!c ~#nE6U :Un~}YK#rs1A^00Dp6oRj9sOti"pH(k)g&$of6R8it+pcU;9`A-9ێӤ;vEˉ4ʍel1OE.؟#=p|8OM?.O bT}8lWǟf+,5<֨DF ڂK8COftњ|7l<&8d\:xO%BL(T~RId+u# |#+0en)L.Wn]/")2/%+s'pe{ʟ.}{۶iz=F1-eStEz_zo@yOeCPD }\+({4lD;(6rZ+WI6ZڰzY 5j:[g! eTZK NKKi50ԳR` \4N߯S4d/{_|iqO1͝FzHx N)wIfw[{UR_[Y }tŢ p?лQYzP_%ecQd2Svqm><ӝv9vd 3h o|r+Y2v41CI-^&qyc&o-7Gۚ(X>%(_V4nPCj .qL+iC 'F!@<[ysRm"1@lOҠs+%H'<+O9bvБlw!1QɱbP~"]Qiu Vu!x'r<2)n8I$zmP Gu댎T!<軆)7 J\oGGLfM;SKn-Q gttX؟4jɔ:{}7*~l5)a0`{oydP9׌SOsҗN2Lө-l!wPܮ.*&A0iZߵp/]eɸz4Rqf휬^Jy9_nPUWqw:" ,RcǍ($ww{]> E JLzxc`7lVk<|kF߼/76 LCH7W]PX..Oncʅي.s;g.Tcj{ƥ ` %Zi-JRޝm2r5AdVd<+e/%zjS!E&mmgEO <;ۋ5+6WGK5K&=pC'ę)reK7mk#.0QF~muZYJx_nM|H,ɍ^]C[qV[ܶoMWvZZ+w7L1g\$ +xgP eJwaF i{"ijV F#`^ %Xv‘0ɭ ndF5 q\j7{)zT$ rj}|k[ZiS!dh.5j sOyw,)'Ѯ?ܛ7CTycf >>sϛUe>VշdIRb^ُn?].N'j9#j~i}*E] ǽuOfg-cr72z؋C[tQ{:\;zrWN7v'$nۭ %7U~cS_ą3u j w5;eK?g"44!3v[F`O%L֘,́+{iF^!\]&5䅥RŬ򋏾 l3)P6͉PlL!4 ZzMzx"Ќ}Wthsa u ݭ ҵL.hqs(- OOdP?򔛩i@D/#'k1<<4UWRe:_ -媶Fj.\:H;+IF+}Y$s ͢m<2:iWCoJ z3F|% |Vی4'MlDtѢ! rqUMɣ\au`z֮-aXܼ婔M8z>sXvl&|)_ ժvDܷڦh>`1حiG~w@זvqO^q.6VE"xN&5N}P۩StNR ,_<rXzɠK\;U5^ӹ@w9.¹ݜߋgMLߟGXr{Bm7\zzG.qD%M8F>mId P6/!DlVж& #l䅗!&uxCn'X8 x K7K"<)'SCZSo%7owDiWNPv{_- 祩5cr;VPPvBf{~V='ǽoDbU'D%f2W4培1]p2V X0L9y5ʏk p6;|rCW/n6st%kKaQe(>H>|UCGEQl7;%>'y_Dwpo/ 42c&mf=ӝKEB+HѾLA7,PKk#Ϭ1s"XM9 'û`=yaSU!@SJ汯PFr薢|ˏ@ 9{/%טtc5168ΠS>>Z>=~uֈptYS*]<rhYO1liV[L3\8+Flq- GR]ŕ̷>TB2摝kFzXB繛 .{-%t~|WP-oogne9;K+'K{⮿M j^,[[H']@^GsKƼ7D}#"֔r+8[)ٓ8!ty$(̠(jDޑ~ck#Q ܔ92xO(x>78@K[+bc-5?C82YVL?}ld_e"֒%e^U`؞d"3iY&/3|L#TƩgO@u,:N@ZywuHɻp?~dgwYpP qDGC5;y47T(ٰ3%.޾@2_ Y -SVOK٬q 3lYx_*B?BVN08 XcÏ/$0bH"Wu;敼?>4P٦//)|_m'oZR/}3A@D-1Z9m#M`y"AavLVc9̋ekDTUJOL3(yp֕IƏ#XxGp/r)lvF/(S-ИHX3?h)V*Fjx k1:I(oMOx,)KA dk/Oxo0PR煶APWGɽ1zd>pŢ̀[ 5ˀ!T1zqFrIӢP0aq};Kcf\hUNrU7͂F10`puo:'TsՆ+GTHlrvW|' d|:*tO2eN(k94HDCr90PMmҌ7?WII)'6y$=]tP8,ͽP|'Gu Sكuh6ZkX]엀#>C!7h?|O K4?gűW>W}"&ӪFup]2 2BrYI4p 66`6~f¯\yl*# .[@M_xMߎ'Y+!+ЄI 4 r6kX3[mV?|`؜ےĝY*Da ׽Ցi"vFRr6"9kLL̢rj},tۊu#ͮ*+B{;*R gߚ7ȥoM%uRl1bm ˳h,_E3iZ$C_"P i(-ghCk` _ 0PSߡm?-.0 A0_zYi])ҘQ!7CĆfUznAKE֘J[T6T:||n؏"59}5J`kNߜS/<ح^0ԷU~ =ET:d^1)o 3kϢLq$o ~j1Km.o;=DAM)"q M.iZ^ѷ8tW-P "9鿗%JmGkQP(cѬ{e;~PR*mwXcPe_jJ(SSXgS04IsO9OZe2k?'K6yV X pwD颏8DJ3\nIIaƓnA]q* ngQ+Nt,!ѝ Xٲ!b ScHTUY$uV,9]`} gn֣ op>#ƱO)ɫvTc=l'>Ny]{}wF43v1Ņ> *V *j@(YoUCRkV9~Z)?8 g ɅNRXA@)g> \/$J+ځzߖe&(J e!bmѬt% U0JR=s e{ł`W?P~ F{Q1f B {~lր7Je8 tIS6ARFlLoa4~ZǞ&?`2BƊz'@HgBlrq+U탔 "GҖdqfHw5]'-6)ڳr hzۏ|Mi( HL{k.k>$t`rt>lW @*0W 8$t_[$H id3-t+%zc'[{9U\ԘUrK}KȄ-N )sC̭(Դ&o/}QF3tc+` <Ǔ%A1Q"d|SCyY?H\G;ē_ }!@WKgCUV2PGbv&\(5+>AW ?LWC/D.:ܟ:\_ a@d!ѝ8:aߩ i@Ro'D=[AKԌ'kR) FZb{Zh3ևqj@GV5/,A  9Ƚ*gœK0EcYy. / +4r ԈQ(hعʊ4͑m}b`w=)$1:V GMg)a) NKWOJ1g%=9n'^8̶rk& H?8eD60EymBc?ݘ y+ATo+/I\|']V{.dsGϧeX2jZnć ?&_ܔ6:3A-_-,d~n~έ `6ᝣ"{[V^BH,r`^rd=ʔ2}⒒"ths=ib J|/"1#.®H]^:2< 놋{++FM$&j}vpe}_''gk%խ(5߫[= 5;^Yop˝4u~%@n@~)۳ K_PW'OMճCTȆ:*3ѩu/Bhz>)31%xn"բ?@EInJ~,_:9 9nGᏩY޿Zo86\2`cϧ3pxY:dlbb*DH6kT@G)l6j9A(ㅊU߆ov#vP (q:eZH?7/;myP»IjCמ֚DXFH׸LAl@ $A?6}8F)Ih&'i+ưFэ/q==*sʮOom=:䂽]ۄِЃYȨbB\{ +yrd?Vޣgl{GߌuۖěDͧwFKL7@ Q}vMqoGWFM. ܹu_|z@w<N0lW'4ҽ9AE>Qk"3ob]c7:$0s;`c-pp@HV 1eq)C, Xӂ.T05JpggoN >?mCU턿elr p% ][,nP% k =b3BNLR1Q)ӄ6w0S0FB`+&% OU~0BQ}w& GIŀf%j %OߟwhTeUӡ,ldsysA7tH/(_^U7č㺪|(-w,Q,_-koG_yAR)kfn+þ"DĹaZ u4 D_G#{2׎h T΋%hsb}Cq"_0Y-YggE(`UұE٢ootA^9_Ѽc~"d^0ZITbx* rI:fy(h'/,3憎 6V:ѴJ"I3v<%WW͘q/K\[&0'eIWb|**X!Jd(e3][#j֓r|*[㗎dNwHueoEb,`@8W !*)IV%Ի\g/22%PnV4j>ֱ&m;uxnN;\tAιߜkÑ xcWO]H[Dmً$ Ds|U Zn* `L~2ztN.];p){em ~)TSr }.jo6$XF$"Yw PZtj˧u;SLL-#݄2H{V<9B<4ͅ$B*҉ IK&/OSH9nw`VG+;v,1!( 1}0nȱCaEzRUrZiSBGr@*ជa"+ggS0}>i)BjU,YH$$ͶX+j{%G C}g!v>,& H]/IkWutG$"@bZ$dh?VzDv4\ry ZqAP;-h7JI/C DnI04;Xav59Fsg+p,`1*bgNXFKT+DFET;>hwG(F/n)- xi2>T@N˦p:BL}dnl<ꋚm`PT" ;<[2= ocL~~|w؜ѯS_5ON*1,Sr JYHu[1٨R:f]4o4dzY$:,ܢhCEL ┸=%vkR '\iY sܝ5!ciV.6u׃KЏ^iT6 r $!)?z|Hq&9"]oАW' ,5Yf#5eLux]ĭuXB E5"U+q 4V#@s͓X+mպڴ?mz qH;{Uan Xߞq(&V;2rg)| ǁҿSBL|2pådm %XmXI5NR<] rl6+F1r0}a&C v"F)+Q|$_&.y3꜒Xתćw8WYDFJ7C2Z1*7Qt!k!kA,صՕ$0>8F1`2s𸫉Wby'pE5Е? N <)8Ye<%Kb]1 =3 VߒȂϔ;tկ'_vvҀǐ lt +R؜YLiaoq .Bri 4}Wr pNɒMLW8]X7 7iF5"p_!ЁfSj;4\s rzj|INWI:jool^D!V|gG3nUF̌8<ɍ '-oZdc^?xюq.n/"tJʪ+,&PV&Ck,LPR"ZHK[A`1У,!(`:y5v=O^jjS(Yo'{*5ϴf%`ZyRFbZ_Fq'm #TZTetڶS8e} >)v9ybY[2z.p(4|fڴkt^o?aDu}:!ZJݫϸ6=eS9-w]4"R@tki֭!Ǩ0(/u1ИEq/NMXӁk6#T3EBZA@O)R`A8u1~'OoF y*b`&qxhvH!{ZU0N mW׆i/0yQW-xw~AeBR89ZL?.M` uRX^T.Kl8Ȃ/`oJJ3SuP1vu#&ݖcߜ1u") O&G:20IJR,0hZ(2-L9pHs_Š4upbweZRO31]]w9uZσKrI5d3Eom)}Ckn*05G Tҗ2k i@i~dv@VR Vle@H='6먛 ~4=y%bPozp.%N-mvnνϝrjM7+q#҆D/ /8n n[G׏JLNႂ` خ9JrM L@ҕqrE\lq֠B,co'ʠpe(125vx`y+6+쐭͓B5+>M<3l0>}Jnqq 43,-/ OUOZC&=̋/OĂ/zwb :' Ռq:(CrRE?j>#{4xgwez\PHNCj_-̩W%e=߱Q3f"kO(M&MS۪RSIh.yQ|f#P\LhsC|D#(H}nKy/Wu)&s}2$_4J"U.F7r@46O e=1+fGB\O)j{Skt흐R8/ ?}>cZgyl_¼Lq^(3\׹ 1y&^/؃:nBH8qӛB8S-]QPhx*t@9]X:gAEr׶GOnkUw4kXF>7&Ĩoy(2pc' .mY9.(]&QJ}SB,fӊolqs_KqQZr1:Z@[ eak4QfE(!n<[X6ߟK rqᜠ;%sx=nPa:z>_*A${ɦ7j?l95#|ߏ ҵv_r+zH>Fկs5T7H )={6@ryMPTn.(1`cG!vWKZ|bw 3$Ҧ5$VhAp"%"cSY0ut6!e}fv±"{~bڀbykDF4bFpqCG"c6|'@TO.#d94qj13I/: DW'I 2_=tdz'C.G^;A\f1ƌ[`+RN^o :2i}.O|eχ@P*B029#qd1d[y JVl^yEN,[꼾j8M^nwhkΕ\\8Sc_z1;N{8`$K7dA#ZDV/b#ʶxW\]s2?`Zd'e 3xԘS ._>P$A[k3,xr-*ց=茳xJ1:\\ A-e6(3)emQ.oŨ|Jt۱-'W])yG@1}םk(F trfm>T8^Hl:4[1m (Ao&e+ ^ oGɪG|z'U| O% ֫xa8VKl}q1_q]^V4NlTڦ Z54W0I!3` qw@/8료M<*ۚU$iu#1.^rk`8#X4LK#R bPit hEg<%ߥ5 %Cwrq\j&O3XuMl!v}.SQpAGbJ7\8ݻ(rpA/ G(6ˆJy%wv;U~bc %1 ~-$n=E[p:}"Ld&i+(L.r@7<\)\ ͬPb%@A5@rq!# Ђ%1b֢y}P wQmNCs]^ղԩxZ=Qc}mtM6l]TܘuDp kݟ0͑2' d<,巀C}+\Uz1"W˯W|T3]zF XwZ 9 DZ!, 1y o/0x8p"RH</łؖM(D]0 "(>a-uH[K}οYU6 :mz蝉pţ:$ĢˡWUK*saUJ=g@[H=J@HW~=ߔH-taD!r_[9жrO}vsb/i=Ne"pOQN`62/X'QaQR2ڽQur$86y 8uE@ EDޢĦ{"dnN-5;.,E@h};kϻ+ӽOy"yEQf2[/fB=9#4YG~gR4I#G4J`~dK%!cM<qȉB B&pK)郺"r( \BV)Wz㣊9xpX?P{(@U ÔPd򥒧˨zݒt"ԚQd_ݫhOJ籧3 E>t^ָ2b|@n -_n4(=Qxh-8tGׂ7 V[~ "'3P=3KGlt'8qf& İR]mF=waR+sN7KPY~{tz}YSS`#HuKW= hƒ?Y$  uUl>;m(n2ex_q@D.cpPUr5pӕ [DBVZviUO\N,D1 BmVY1  R^,^+Na{(WgE6K7we:7x`6o˿+jnF6K!|H|ۦg$D"O"61X:"1 EIɾNs?oVXCe8x %&b,3F}-.?=09Xm \YޘV-Sc%IH ?!1&/}ܓ[[:QᏵ/=|8cHz8E0$X`Tm.~ <'1hЮkV?>ڠ&u]JBY帿O;gԲ0o1qshS$u7|(kazPq)D Cl`7Ϟ__5YӀ9hi:[{V/(Te|ǣpm-YC$of{!ςA|‰A<v8? uWT[yT%bRi2g,to1-g]s{ ?it70vq$$3Iܳh)qEis*YtsWp:F*qohk6h&X~ +Az/_!('N l8 DSs />ƆJn"w*3k0L8TOr߹o{.kFDqF 1xj|Qj^J́w`vK@]JB4)ɋO 6o/8sF9.26rε։df}_WUGއ kK_Ɗ7UyIXz(@x*1 KL.~pLO/@Jr+^I@hȱ,x w.m Б0!?r;X5w#ƝQ9T=/}TK-̀Ǎe #3l,\&\eicI'>-&6 03@ܯH!Pƀ-L/tYk?TQxvјA*KU2ӇEkLPˆ`j)&oG*UBw>pJ}oiqU䀝C Ͼ2x*& dC M˿Yrz(FXTS'K[N]GG+=f%Ku@t~rG_@myӚen/_@ą!WVp;A{=ւ^bR5V?sy'r˴eGcĬ7:Zq?ogf`tA h#~r ٍ QAFg,` 6d8.\f1%lZv9ɞm&_I}-èac&J}w66=.XKk "պbpdS++d%&)+=RcU;gsn"4f1J^FP@\)s*g v 8" [fpY?c~=Ihf^&Vڄ"p=cJj)ߔeKG \US qLQy%}xicHuxHnRh*ͱ88# $;sK^a1Ќݽ d^pWy[AnJVBQrbL8}DCfrGF鐥}>ل9‚&N&.û_;$(殊݊D _n!Հh:_Mq5~.Z7rFj-I?LS6v I*k{ƇM/{0Y{Ȼ:~#QGeoG~ث1 p{d.i, 3˱} )'2lBV-{`lZ :jd/kܥFs.;2BڛkAMGĿUF[?T!n3:+`0E$ B9Gh~\2ˌjChy) Al'AM!e7G-lf 8}}*Y41j~o= @QId"1< 4P$ +kdz% vE{*qX谥C"Op{vJ%;*'7pd,Xs](Lh*qݮkbQN?Jd|)0m&8i o {s~gj] ǠVeLaY/ҌOE^Xt3/,EbQ==RZ?!vVdH5/27-6 կYfcfZvcG#Pni4ĕ (F!$J)k<dQ|P;Uѣ kp+`ek"?<.L';ۺ XĊiL\PQAM| |B 6TܟW}+ƭ"JVu AѼᑄtA_UgqDxQrwH^{r_Fݚ# KYZEo ~]]A8i@t33 iFfU PG`PӐ O9u4:^o1a%r( 25~vB7le[lj=~ rZfW_v5~PhڥNJ]^H;GLփ9֖-XO+gFyH2̷hOj0O5 n ~>ݨ|pxS{$5!_oKcHĐ pϟfufGc_=qtl3(ghGQ>\E7g\X=IF^ޜ'je/A9j-{[9>&apS#HAbr&i9 xR"Pd.n!=J29 c(J?,yH^,2b-b*)jh?KL$j,cV5x-RQ^<Rb}Pc-p3qQO{ٵ|,Ө*R-&}Ԏ/.dgN!M6PʄiTy0 3.U82W x ] ٻغ*n HZ<-4p<0&GzޚnAG?[K ͉>@u'9f Mka$uTkTŪͺR1':]7"|BI[Js>>zFh' ~@p͜U=~d?~ 8{5@]j!"S'1J8©fQSb.B^:!4߿m\`Ox] E Xlȧu9+`l|Z'I}"~e^wō|փQW@PMDN۱ސTd*Yv:"d"قG,% iFfunJ2<ग़cRGfeh̒N 3j|TR\-/pg_dMa(!ӌKeo r> W"#?^ #aÛ)W 9zyh-_)1=ҒVzp3fth_~Jfld9$N:tMrۗ*ST!V+3WvOP\EF.dh[Bv`''yWPI|4 B(_W  l,p4m ޘ9@߃$-2Ar9wd8+R r}MzPn۴Tǝ8\=fC@]z%i7d)3\4XEYfUʹ*8ޱo_9ohZ4EghvGq86>6鼡 lk/m)J䣻wOUv<&l R\x|vsFuvPWJGދtoMո]kjc܂eGԟ˾/,,TDg2RVh3L$JX\R~wN͒ &ꔗj>ӣR!qw{ ʬm ?pT~wݟr&@r1]X |:.:S}-?{+S 2c?lTu_d =}7 l֗7пT1 N&N O!tgX/"CӢ%LPg <^]tIokS4 7R6 0yf k$yU^-,*+FishU ̴zR~!}_@nU̽>qq\kбĉsr|^{)n޻;*=Su\{- Ϗ!_*t|S2VI3r#%}`"Kی3aM)`0;#SV!/PMGٙ2~pn_|kŏM;S<6<xHf=.0̬ȃ︎U+רPQF085Y+ظ ױ3 kO?4.佶XxY**F)#w=\gȟUr .Y܉Jla\rhBTb7D֮2CRm[X,'zzDoq#>86#+a# Dp{aLR-FM(f}a\Κ a&#?\b#IBeWŒ9yu9Eҷ-uuDsyY+yBBlRJa QE&jȧ5fB$^[S]gY@]]sK[l֏x%Əa$Ě >xǹ9Į۸߬îoui$*-R|rwy =hlrL X{ӌz}̡ X&!D5lg#Caڏ;Qnwx&wT7A7RꢚCp=&ġfl`AN5ܹv8*5b;i6 (f(! 䟏=[◳m*,p֩k5-j+옼,~.-\C\j/m>#T>bg{L&cO"[Xd y܈f39XQwuׂXZBvEԏl!GJpMݎ풫ƒM~ck&5?&`g)ץV`p]w.s k͐rT6پ2ɒDӓ"]Lpy}:*"\Sf\dx ӿzyRO H1B%+=yk~t6J4K2]f(\'dJmCڜG],{6|b^n^ -Щ2N=,UXe&\ڰm]M^1uKVG=†ɩC~cF9SW/S]-s 'Hw>BE{nG^(sZt%d䆖QQ |#pVۧsmil1wviA!=EX4hE|]a:SpԑZ!XCa=B -==>' ŋٳڰ|b7ʙk  fd kFy|;cOf7|;U2?%ƾۘY!n yƖa zz0@ALq #AidOP6x*^bژEK~FV oFJk>P~ݜ sI>#D豝M `i8Ӡ?A0j9ߡP,jt! sC9j"x-6Ȕtа`/ !dn+CZ[}qOrY+y?0jaȿ8>U:5ҿo]9o!hE..WR\ȹYfWS~{gk|zվIژ vhӁM]vXn^rЗ M-\UѐCVc_g)o[x pզ@爜;H ׆ƭw^rR=)65ĸ-pDO(*)6o3+ Afz(cU$ K=J'pԭ k+ fn`Q~yl]"%kK u_G*۹35+RC4 ʠd"7S Y{HJ!x#bJ'qAzBUo9 iPtuP~P. })H/G|YDu2- v˛ ] jky @oAG*esrI؞8 +_z?$)D"  z8W: Z ?/#0P޷$+ |jh4yX:"gX8t',Tb؊4OΐdE,C'f[i/~=|k7ez8A1ȂbO<.ңF#;ჶ*4ZۆjN{4փD.}PӋ-6$*x$tH,‰fӨAxQ⮲Nj *S/0Jmiaxus̉AYm4VAV ,Schs^ٓ:+ }9qv!` 3ʿW\$'d8Ry;b Ƕ:ָW%v{ҋ]MwDwMyG:NhSd%FPҶ9Y5c{_?rt`%\蟇VRʐ]Xβ=/m/sJU\ +M8oiw'#QNysb 2: 4V؁֮,}dQzaמ7ؾ\}Pϧ ׫d{M? ļj\hZ.6v5o#&V.H{\RѭJmJÆEB hV1,nQ}Whi rs0ӡb *" ZV*{4TNЯxraUubPIgFF [90$-<]Or !QɉQvCIo@~P&g(y+dTiHZfSN|w[;u$p> ػgN} $$s06̠HYדP8,Lݳpyg@&E֛/g}UG99?%?Tl$4ŵRJDgKCҙhtHW 4Vc+4(˔l<^Uxxe|? Bm2_Zs2C'[n2 X:[ˊվ¾9)}km>$&%,ĉwi>z8H5?_ ̤DIk߯C_Bh TgP$eRn%hL1b`=?0D竳 #瑰m$1t4co5 )GZj;!U.b,hS-tݐ[mY`XI2G|GW:d}ey߲rA9J(|ps?Km'("l=diգ/׋l:WbF mՖHRJ(+ӝ[)h_A{|̹1 +xt^Z7x‡G*‹oM2S4.Fz(AD>ESTzxKkj >2{Ca[݂kM+mq +S]4'KQ7H1f}O.ZOquVcMڋ1;u<$OutF1g?"S[gK8E" |!ՎКUk4c)u稗6P-!M]6VT? MzjƙEѩ[7>X4CN@º.,2i9Q`hAs.8Zt~ Fy'%mŊ;;5h˫uԨgP8C3Fb/KN͇xw^`z^1QDx$ilEՙ8Us++4DG~OmX SBlzr˗ FWWm 3jgOW :m&t+ɊE3t:^5 3-&,^=EZavّk2ǧbx^أ;p֟kr9usҵQGQ*VQZ}LD+ ]WêղpDc2E`)I}B>媚}czfܗmAZQ\U+Ǐ+&Tâ(uTbnbK=wCH "|K 0bBÕ'Wj&r(]eR~2Rz3%hWnb(A6^tZՓ] Pɜ/^Y&NY5!֔QSN6q nu7ջ/ UW9 !A B1's#Y&Hrۚ-p %j+ٮ6$4TzA) 2wnT:2 rg`*ɳUHBHhwK,V)_58r>vG^}S.'E'뗊˲ zKw1`~w=qJ1N;Af_/Pe|h:Py!gz4`͐Ţ;G55aMuBO{.xf@:X"hIxQ1bp_ 2}a'˔^Vdk2jlR%-|ӝ⴯b)y BbtT wVС?Sr"YxVZ1/؉T>IPÐDi #_ v|I4+ndR%$ {g1Hw6eqO۹Qj 'NXCg|Q 1J .pTb=gg[-b Sڭ.WRB؅ 4mbz9ܺkTqPra%NɵFo;l"Pl0d>ůI=Dy>]n!_? ' yŅ]Nߏ"x !eI)җv[\om4+o$gca6} epJr6L{M\Z]~E!|bt&«> )gKê 0NN`nMNcVNclHCt7Rdn" qQ Wk$_k;uON⯶L[(ZsrK6*} ɞK}=~ݎC]P.tHk6ÑV5.HVs{pP`F\;&p<9~!O/^<TْW'Ygo*!v2DV4hqјTJѯg8,dnxF>I|IKzXPsҟ`NZbO oLgD$yƶl, Hw> 2-[GHNՂaO#Jo7hK&;\2LG #'om7Ĉ?h6vXڜ@߼N""iњΊ_Uctw}<;=#dσ5,LiFFezNaHj#4EɡihY-ǔ9TTZR61I]oÙ_^dO#(&a⹪ dg8kcAeHie?4 FERH6[>}Ti! J+THWIC2?`J̇ۉ4?i/EW%沇Ok8.io|vK(LCwNo˾4w~'Ё~ D#cja: 8pPT0␯jS(b'eh4{Yi5kRCQw:61zW^r*"-5!DQ3 ߵ۟s \%p[7vAOl krHMnKvͨDFk8|YicuEI:>0?+Hk$W$4sUhN4J%H'w9δY2;^@2c 7?w<ۄW|}Ёq mDD&amy[TݱPωWav[kЋ)Us/M;)UF^ t Y/934e&e<:wLZC/(W"JkP^s\mzv9GZ`q\SS}m=LXkMp)mNoɺM]ݿCMK[,E]#d%dZG* hx xۣ%ϗrX#>0DqyyI̖v#z wԜf3$;/nR-H/Wԕ4k}QkZfVg_m\KWi9s Hy[ľ3Cu*W7J$ ǿono0"0#:Z'kZDSS YvD>'9SNFֿ~Ylu+sP @P"/ ɸҵ5M}5Q/BJ|-;S͌Czl™hA'%}}^? اl\XNd,,D:V@mtJ|um!~gԢ_biS|> m؎NH)fqjI쮸.܋njdP*_ICS C#x.{# ax6%Cn$*MHjbQ%;8QN 6zЈRꡥ# o"=6=59u߱1<.0U x!w{1؎so![m[OP/1Pj4.֒MYZ E;-]"I@4 yQ;qD Z8ZN6)1* *kg0%S[ ~xqf)"/rK*uA7&R @nbسoUMX ʹꄺsAJ g9{!|5 JOm@\IN![omekmyK uy t073A΂*Я(Zt0\V3+vc.bUa;<ӈrPET2P/dr:u?y25ͭ\\[ct`WdcOOn55OK sQZ48ոߜ6SW;׀(OB?pzvecn<s/\v> k "N S2U]}g'H6Ijrհҏ!/i,U ݬl|IǚzTpwQPU({$dP.5"qa?T!3$/=J!IO߮?07Cd2fLOH؋qnmްB7 RRAEH.T;I L>2.pYä7"ݤxZq0Λc4ŽovܹNnN`69 샠~]?շ[s3cNퟍP!}`vYfk%;@Tz: )CRIb;V0(øZ&{sG P}6L*sπ!.1{5yQ?i ~9s^+PJLt/bpH@ ZgL.?y%/`,Nn{BF+̎7}ƂK)Z)DPw}H#;! w/T@z-'e>2Ng>d_5K:`yIxL q"^D(~3- ޵G  7&iMVa 'i$& xd+)hHЫk/0ҫq]¹v.5f(4JhI&P^ט5r_8!'_<24'OH F쾪<#+ZY긓"2HID*g@/9PWYudKR嘰J\Jh' EbR#Ể8ؘ>kbje$>yYI?cl eך#s̄woݗßQ<3Golo(}Btǹ0rr^FB曾: 6?1~E33ըAoYO@ :u$ƌ$yMg1eLE 6ׁe`A/EʲN,J &V:;aL\@WcqIHpp[w}mzƴ~d<428HQc+ԑW9FYFPW@L]3X%Aɞn&b.T43;9u߭y8 zm#-62M "Ξ!_ mݼ+t9u{v4Fd1kj;5+m}M1onFC;^qbj8Dx:qm_%$[{*}t;vtw58l8VŲVn2.S:iۇB@!NZ0)UXw2 #c)Gd-}pLk G D9 "޽`ϝq.J'S,α ֦BFz/]:{mhڠ$WgSjd&Nfw_gq=X2)4n&2 ͎"R(ebFa}O{*<`' H:%[,L`M?O{M-9g%utY;2Eh4 =Laaae./a'!fvP XT0r@ p^m[HV׶Fl7>n)z+C l-/ZBazHx޹Ƒp]ȤeዃK0 *\f-oӭ@vK{[_\ՖdE)ө>+KnB$uAȋݎ}KG%FX%U!Rq6тzI䵮vgVђ.4pkaq z#O)\BRbMP8r<"ME4SQVQF_YtGi7P; ngw]*ɞ=b0T)P+?weOpv=U~|B &`Z }1Qh{|"Vc-'5{x^ݱO 4|%wtf* GFzAlLg+tˮ Z-3ˣPt>$|S3T5tbWD-YH1GtS5֍`1I>#<'3f*dt6> $P jjU@ *6vjjfٱwȋ1m )XIm~^jF]Ы,:):L  \&]%VܿxœVdWR~o RxDr fT͙<Y 9 F"W%1Zp1O2%ҀYUw֙z*;xmvJZw/5ylE&k\oB- _}3~/r_͙>S1F<Jf 7.x':?Ö*7} Ɵ"$yFKuBkyL¼(EA+&o%VFd+j{<"))lJJpiE_7Xa/V$<~xCRz f, (hkein셂 V>n.q a EE8uf4')N'+E}rf=B /%Ϧ&]z&/>5ֱ$0&4,11@ӃF9׮ Cs<_tPr[lrRydxE߬c9N}gPH vAa\W_нkx@KZfM'`?h-fvΟRoot/fUْ K3*Z^N z46N;QP>$_Z  gr}H 5ffQPęYucHSGu{{q# d8MX_]> xE-HHG 3Bz@}>Q*FM0{Dɾf;ixA[; ?lO(l9S)ߍ/TlYND$&R:nD5]Rg.g (XKS2AZ.uq&0W~׼S!K\qDwpS8UWj߳gt$YZPh2N}m~% )#9&7_B5w_ؐa v?@զt>M* l7,ʣFZwu *~5\޾cqevK,9YW%j"R2 /r!LFQgkPa1A^cq}oxG\B⠿2[I8(Se. ~7
  • {͜avLyB.3џmq4)E__.~—ujG3Gۣy;)Y&N>`D^ v"@YI FuR*̄aOO󳀈& gAPy ,搓Z+.yO?5;J]|S M컏siZ8tXǠ4@),{yYU` 9A t4aa͊* -ת9.&XZ3[="JI7?Qrk9/26AO90q_O,"r38 0L6+֊ 81$VKC@f❇jCmD bJi y%l6_g_wE5C- ob}gR?Gh*%h ,la#9Xe*FWk䱙mOjkuJ+AQTՎȝaÞ@NǫsVP7 F-N4X&;@^XVִU[ψ+x*gcEio,d\0U9-6^U t*$0zk~76MwۢƴQb(|n}>]6vk] q0psQLPL8.1jm\.L_&9q_ibR^lv7`+kE.ې@u6KMSWJ Mdh/8碌Jo 87b,|j#4B1~迧$/V?{#zjepٖShG;]Cb;k+zs#.Wf)}L_q2Hvs6 ## z[^Ƃ\bvDܔly]/c!0&aҘN@B^)27c btCFdnU5mG:߂q5h7/ |4G3CDf,Y9oP%4Z_^;?38k LCQ H8 qQZXjٓE\qpPEu1n`U$Z#a1_1n^['q馏.~f-3p_He2 E 5)ks[F* @åkEQpJXԸZI 1Jݨ$$~IW0p0[iA"|Uo ]4"- Xul͞ɚb sW|3lc ;#(/03Tf⬀VD7C˽+B nA.bݦFDP[\#tL'tǁ`*D3<07=2|6oztWw.DSUWe LexА't&_ olQFU<.l4ك۰ 40ؔ~9A Q; /q[e47ő&Q{-xÆשL v݈寬N P`6w3+ك3~!لa^MU=$W%vٶ'>FFOS6=A#櫴rn!}1D qx^7:WRobw->:4P4p:y"V!0ZDDވ$?ńy.װ&j/2.uj c]7`wmc!)isEGXt'%19[&Hg~=kH,O=xsYOUADF! 1!3.K>|-{S{Y Hռpwo T`&L/$z0gk0g-}%!}z$%糰%39Hd'_ѕW$>|YO&˼y|gl< DAy(^qy޴=b`W X̀ L_ i;5lp1/}a !v䑰Svei$ٹ ΁bFe$ XFwѬ;'-'r35TF1=d~ jήtF&G'v,L>Ԕv'6I{R<;3 qTarmH17])s[ AHz`%f=^U*-Ji5@e₺DZ1dfTz6iC6! M~d?n[KSXzg]6;R7d.?OK rjyho1˜@Br'1N=JWئ9Pa5- !1T:q)XB,x (;+"T)^eq5ψ[DW)HIs.-jpNwdH\6%oBpop݄rjxHDܭ*39m lIuµꤿ 3?Isbē6J?%s~Jt@tIC{0T!ot{wgIJ#9aIUfs+t+vd 8`q28sŨv6&7^YІ,XhRD49Z7e ? f6bypcX 3̐d\ٗBF56^{1*t*ҌvPVtd>@@*vU X01>., 5)n]\=O/!⏬~FOA:/e&$u{]@׌.!!ÎCXj5JM6 R(k,V:ϣS>kEh-`cp!|7G&žGU@+L6 տfmOm G]1!pd_+ R/Wvo(jc{SBPijB<:C= }XǨś-~q=Qw{~q>Xԫ1pAjl͂ b%$Er$2bӅ|y64FvZr ֻso>K#/S| \XY I·TdP뽘 h唴F ߽rWOe2ZgqO/љ㕜g+BcFlУIM0 [M2.(` WɆ"DT@[!y]Ntw 6ydodg'~m%gj?` An)+Tǵ?4-g 䨧gBU OC8Afg( &ۿ—e~iT"(+7 ztVav:@B]cm9 2]y'y5x̑*rwF\ğ>ahIT)+oܳv2 yle@7൧)4T0UHf8w'4ZV8px,(iCISj_jfkϱ/KkgO?ifZoVS>.k?㷂2"{沴X͝sݾ T3?/KNڪ}6 ,SN~8M.t/KO%K6$my Qq$"$:YgZQȜQn(PT|/"RkHlWDC))^ 2L|0ol{A*ra!ދH ,ǑKF7B,qYgڬ^ZL?PGiP6: $A"{VoҮ:p2)VtN>W-Aze.ax]p+OONIKߌ]'Ɏ-Q*  0|:9Ə}OGi7Y;%6 ZϯxGW v$ϸReJHE545C{`O@zrG!5NbҦx:-qÀn9 'J{U]r.nP)(Mi=&;'>JI1.vlߗ~`7bfO 2zR4S3QPbtC>U߽wĂt"E,a&cU8K\τK5z! gSv/fY @PGrU6ڴr.848^#\!yK0?0-1Ylԇ5C8`ZW[IQ-$:>J^7TԧKЩ-KG.o7rN6-QyAYjNXCg @BwJ)>Hͬ^t!-POՌlpHt} &[q\\N1:H{e2i@EP f:{7 <{/۫>+2] fuh5 ]ymGOZiPZhdwn,i/z.b^%Q79$@{#柱ު`QHT\ ˱$5XtfmR!f7v2Qo }!`c.y>%d:.< SޅpK33NDp{Huvy.8ץ wA>qց>8(VPKgwlA0ϼ0( .uVT@ &|_~FZU-#<Q |L6au_z>Kz<~߬,)ZƇ`߅7R}Xn/#v}={vԚN<=*XVK`fmxC2=zY,s&_m/FƀFZA>o7S6i]솭T4EvׄY~黁2PBX +3`Q#Z$~3s01?{;/&eMQJ)59FJ2vB̰8#ݭU(!Lq9⚳?[~epbH"Ueh. | A|!RYOژfq彔2bқ#N+Ĝ L7!=lڠMD֕aqh_PQ7F7iĒD7k[Q6)@2n ubcZ3֮ Xߐo;nIs'^8^¨:sDě5vvd` e#u00aZ"FRvgoriʈxI^XI.pDGiT MzWn4d^ I j { -}<6:ou%)o:EoH./3׋oNh'`ԍڽһT gbf%({͊6ΓIIz8#&LF =0 r"qiC֓LJ0>cUNpf׏YbeNNzr'9m<p݂2cB P>%FEg1Aj͕.!b&iL#[ojo<֭>(\L%u3x(z$GжZAqIN3=Q|G;ۈiA@.Lca;%|miuq긌ι!<ܲϤeEdC֬lRq+7O $зC50P 0(;`:FTʅ,\ЀZxaB0.  e&Vl42ҍ3 PVʐay6m|.Zj¹(d>N8y_P}"-xUVTpBt2l39rv~,F4oLq[ YYIlUi8a\i;6ǃO3J^{,ׅX yZoc4xVD_ k_D`9c#'F%aF;ޣzik1m(Wmr٤㊾3U6WFT#V z,CSggx ,:_%]oM߉2 [Os弘k_-%g@^c!+CM$4^UCvAlMJ-yB]ڰ6/lNv,Vء9%~OPJw^ 7q.۰?ښ; IH Qު|wUCfN8spyNyN2.|l4-#[\( *Z$#KkGz 2~7ȝJ6,jU' Iȧ^5%!ϡXp>MYM2L!^xܿQ @hT\QC9 (%C7jV&.<a}0dCvK> l 5]Tr$cཏͣ@RNᔉϟ*ff|T`p:;ꠊ ȬA~ x9"waG2hc>Ȝ~gKG)@n"Y⻟;KiL]iuZr]\=}>6׌gҦDg3a5U yu?wڰ8sFwAJ|!mNo򮑮XwvKSQ{e lbd!Ѧ΅2Gَ9f _'),)1-Ƨ2&x@bR?5n^U79KmLzp":oLi %·gqڢ)csGw!+ٝ2ɠض*F>} Ѱ΄8 @]ލeЯ16a9ԵH0>o< g%N&lIz|gb}0P9ړ>25&߃xo5eF;J (D7j=Gfn`c"9,߹Fߌ N^o`ifl(E 6tO$' T;ś/%G21ADe Cgf!g``F1 >*o!Jf8K)RrX\JJD_cNI8 ,=K=}G ^v2Ο?{'~߃5˾oy .F!uCG~sxrʐ^/1YuKb9_W [(UT$_3ZVˉM 98RO2+6d4ɓNʳ̻bCFoDpwou<(rJ,e(_Lt.IW>M6rĬ o\V!%>eJ3>2PU6g}K04(vq$Z]s mFكRTB?=yRu@T"70H8 (4 9;?1wfU&'Ř4BS)ʯǷ:vgqv1rڏG$-[I3~"_+s ;&YTLd(zO@Iqvu`U\c3~cͰ˙6Q2V$#,5.{v ϕJLBs?-96Zt֚. W",`GHcmBƔ1vE%@9qLmi]f#sD]s?|jYz}/EC' XOD1Vk"\=am`DlW6Q"I|=f^wݢe&KǸ1#qE瓆f[渣Ț2."pmB.с/\TdQeRX}v@ j4ʫʧNRjc"h{?.ЉOF-%b.FGlUנIdOKuM:x^6=FLP8G1ktmS6 ’([te\֞qKtQ^aOH}hq!csBLT7%;"1R9. mUh\~}Øs5YQI?\?ctX~ܙ:DZq-*MJ DI!oP݇>UbH\.xVlw(ڛ/+.o} 9wv+X:jD;u ߙ H<6KKm抳b;8ݜytR pi ]Aeϛ_#vÀ^ ua]/l!3&P1 o.D"K9œ|H~иemQu]bOܞ>J3T;2FhA_q}H1Dѭ jjs,.G>uO2OnF]L$yȾၗX++gwWDn]ݥ@2n6jQ,"h{?qSs@dRF~(›J ccEO䜃׳`ZQ 7j/C Pb\ⲑrKqYIF-zۅB _WX4wME{7#ByxJH7<5"Okl{ɳ#b~T8봏@QRӯ$W`X\Ingl$ր HMΚu}L)ۉr;)mN(*6nŏHl0% %T۟Eዹ͹}J|Qf 1gxRS8cv pN en5jL老p(}?#wmSug7G 6),emO8p*{svs45yڻ [~b VAYf.]o .`E+FW΅ nSf/m#qkQC<ҹ}.iM 9xIQS @Е<`7 ؐe P6ZFI9ƍq^&' <'5Kt>=i6*#4fUpteKGy!Y k;/h/ [/W-f_JeuPg(eNYsևPN}dlfnjC`KVTVǜ%HaUr7_~ dۭ"&KzS y!`;Bkފ&7xΪڣ.iwiB)NuX DRp!*,[)SJlbDqi$ 4vDrP#aTnɿw!/2mQ`D*Uc"YWFhMmx8J`;YoǕ d &BVHfReLD\B #9kPcќ*#lhjp/Cs *.@YM{Ѥt|k 1ku,ydބРMp-^1lQ%jaz8wb-"Tm,?-LI>_Vj^c=kI>v1 ҡr8˲v]eMkhD5!X"(Iy6-EFfD.u鬼E IGH }kC[GN7w7{2*giv5>|AįE &Q$lzUMƃmp f8';#ᜠay)yDdO=^8 .fҗ17ō%@ iJjYS9bVCp`"]&y-Etj4@dW1umK6];+R8u]O3* frglZqq}uDS"0nQ@,d4wѫ҂Uߎ8hy 5'nz}#\U$pfaZ lޜLw <"$:ٝ B^6, tlȡANkgq)Vb zQ[EdH9B͜ =~KqO= RE~K~{S`Vbot.;&L)Ϊ{dT="H;*XyX}AJZPe8Zw L* BɋAy}3-NًSGzWrcd肉l%-(Al`HlCk:j6?I{Z7,C؆Z@vo7yImB"iYjq ^<:٩&6Wa)TmMtO푧\/p(L~9(ANxV.+;"2[" Eo%%NÈ/{+JV_*]ƍ@ 0 fO t]"͈SAyPl;lu}:K 9-m㾽i־)錐"\TEL.R^R$y#(ю"MW7g^mPZp`)"M$貮Y]nϧR71U6ԈQ,c$6)k3Pbہi慂&]~,fp@yk_LԸul '~jT"J!>eȄq_2b=h@(*a=HVgK*ĉO J@;a{2 0i7bhܛY!mFk1+4Sh=@AB&6.*V ˦>aPb@L ]`9:S?K_? }Dof۩As lk#敐wDbE0ēxPI_Dn_Օ=w`2'o?u5uN^\n~+8"`K$(Rz~?(>ɺ +Av_uL^ %d<+;z&|-mS{P8RUi$Q|+QtpGat)z|ozJ8|ﲕ7Ϛ%RT[0XEq2ťF7-1,3:mÐ*QLu/ q]9k+$89`$]ZqK n[VS`" c]Փ{>X.i]ybsiVFILS+19 $y.B= ٕxNQ4 +pJ+iU.Ae+\v{;Uw1tj9O(q`_FomyҢ{5*+!8^ghL. gSg֐ƎPoѹY=`"u'?HxBaOvy"^r[9vzl:1oIOߦ:G;鯌 >[ޫP \8A΃gcN&bEpG`3z"b90),60{?m-&#+,v{;',7˙s^wJh&4m75y|G@f? 0*BY34Nw !ҚYCa*'j7<P @ȭ!˅θd8a<.].Y/Ie"xrjv0$6o8=IBG[͂m!Զ&;M009'!?QG.וD4Ba]SZ7Luy;n$`;J}g}ulqF}^SWuNS.,+;}@/yPQ\NUmjGV4[._1(ύI9Eߚp"gJɁN±GJIVkLRi [4҆pz+TC7g"v}wb*Eݡ#S=5q5Cmi>n{qʵ(cvPT(CK>=ē?QL9ҘEIFFFTh,#WFOct|IQ-q']7rR$۳#2zBrb\zBN fYAioO6 mRM-ıJL)pN_W--f _ٱm:Ƣ>i)IdagX-֗9HdֱU(0v9J_%_Gc ާt 55aFfZ!>*%KN]C>IJ}KM.G4M<4L7{|5ĬEN>a2Ai,[[.0dlJQg%Fcv_XvQGHt_PڽA [jʿ,rБ4YPɹ tC*sGml#"tuO#T7D'|M"+ -10YFyv*ALO ^#݅XvrdtY[W0_ɞ'Tc~e_悒vf9T ^\S8~{BON)Ѯ=yXΏ8( QnFB.9Bĸl~zpdZ`)6DBL]"(IhF*JQu׷?DfJ v27N rA$xPmFʽ%P} g4ڶMen[#kϪx7۩̉roz5T$OWôhM`f`Љ)F_OH. YI'ʊ.N)V 9])lK!w7kE НR;}Ot:e6|gAb(oy3 Ph`JrV\ Kf$L)#4m"%$ Ҵ]]KmCia%lwִ>Vj^NCr`!>_]A/[ԊaUL+a,z%7[p-lD皺suI "8:pձxXJǏfJ'Mg01 nK~^q!q6Q4r+xCfmq6PHt}LLӶɃ]6)8#d*B3ACUwgdhRH *0 4MnO1%*FtV]{e 1fLUN_0ڭv{jI:Lsw I * _l7P 28fxgѓw4Ϻl>4|W鋇P *SvLsFdжV}PJfTn6`!w*535䊅v%ZCg(IrK|6~P]޿& Wf2;Ƅ' omw$;/.t헻vkP5z9K~vߠ:Ob<̹׈vM72L%'2V u;I(80Xs/9oY6T;Tm)✜.p=E:eZԥ)oX%N e K%bm%mub1LPkUez3L\(q!ǃ$p80|ڹD8f߶PpXS0bZ7qw=WI5vdLNbN>l;'_ F{Buhd'C*g`m&cit95XàGه 6A'ڟ>%.+Lr ~bj~4R<0nBpcAt,E}VZ>0S,aTL uY`Q%L Z3}W{6ʥon~, (r9읏!f2"&OٸС3ۜ XkdQv-nj 'I ` +cYªߧLC3ޣMYո&9cn@&E1G3lD'>(hE!4IH`?z=.JsD'=%Ĥ!P|_*(Pb︬T8}0^U~+;#  E,$X@,S]p疡 hxI Q<{:=&<71oE ?kRpSNrY͕:y<ӳ2O$A}fӎ9,E_%h}OB)h}P>Xg:Y?パLͨR,J}U tS1n}fo[!@o2Q*e X%yF,_!sDU7%nR֍2-dQvHOlK6Ms@QbN`Mr91aшGIec ڸMw~L.n3{beբzB1XQOUi@vfÎ푄apz %Lo USEO؛W`ĥ2:(V́N̂&Pv-%`W\$i 2κlYqf<Ͷx0ĄK:90[s?@!$˼4CJeưF=:.hk6~k,Rsb @ausQf*;R7L|{NQo*I{Ӊ[ߴQ:;]]mat-پfSoYٟEH-boxRu/2`'Z3? &Q[1b-mz)Lt!b)OTKB쮅kć[fQD@,oS3:*bǫw#A;N>'kSz-,m8M]\`ؖyQ(_AH[Vth/S93c?? V LA&Y6m5n,2qp[(٫ꪊtw@2/r"q~xyzL NEV zWμqa;H4u$bx_Oo?nȘ*`:S@O(*=W~a0}뵫Z͑[Nh/PDV;jϋ{-6FYX$RR NQ|47A=#1M׫3"YVUBf-"r lCiݥwIpYQrL ȹe\_rm̉|oD 1clsO_B[xW>s%8) PfcWnf$<(_(߾IQ>O;SgUawIZ8A,=(4׭ȝvc}Kh%/FHLh~!+A|hP>U{xM|mDl(Ϙ,f~Cmϣ5jP#q#2:܃P.ar7ukI d~]J;Ͼ-|`~oOynug}.KgSdEATYz.K N"PO'c􏀋9ɫҕ+oKXQǐ=h{s;ȣY&VXV߫;7 -UYf5zT\d5\xFhP+80u0|L}{PܳeGaacIiPRj`i> yZamlu^v 4FMyaL "NdWNf UnQj"BqwӰʈ2Y>Q 2"@s8146~.^M ,Hn r1¹^fϠI9)zq[[ѣ| ˢ~dê!1ycG!S unyߋoIe8ZP1D"PY~g M㍝] D=ݤ;z/0N-&%cM2ueBJb [J\RDqN1,'9$i=K7C8Tqo]p,|1OeBⶽUs G  2W|E2@m~97aС6뒘 hc+ ubŃqZγ1T3mҶȾihۏfB52ziCyk=cqEOauZ3IlmkRs`M!>"ݩ okSI՛ߋHa1sV Ju埊Ap#KkP:;z+vWQ(:dA&jT0 [H@uuv~d B@/DÜ}q}?G<BUܚZ^'CY@$ \|/Z;8hf׷)FlHf:%cЄ^Jq aw g#rW&{:QiO Vָl]C ,})#!e;luBA3O#_K넿9 A]ѼL~rZs9L /@zgYh{WI9#DRVstHR>|{l.L_|.:84W#\|2ںƬYC}5VcgCT+=2],0RniL }*皌\s0pZכDuղw)ozxI:㳦0;TɆrUUӿfѻsh{u\޴˷*|{zrޓ ^1tR-HYgPh3֒)YA2ksJQB1-|17M/>3&*Cwid~TjOzS)!%3 䏬|fɺo0%xqF`&%xݠ3D\/Ae9p󟍡k#9\/8Y{5 n({4wn"rd89qnr`aL,5%yIʮ{ES.?ՙ+Zi}.r=gg+CE;7NN#@":Vf0jOJSTq~p?,t>q_1c[m+}]uXgC5[do98/48 T+C;?/w+]wᧇ!s0vY1?9 H2_w %BOun^ #MH`eS)ƒB<(K}A7c"Ivܹ+u*L]Htu1GZF51 =`瞫\ʰdzPH:(Ώ\y:OgYFxz}enGoT*6`4n!$ AŚa7qL;"خ`'{ʼ0F*}pXozU8v'T%^UK-GxNW)͒~pEE@/dIIW/%DD^E] 'p#K̎7G8Sk2evf¥J L_=ˌX_[KV*Wx C4&א58fóF\sz9SjĄ洆E}G,Kw{~%I (}جlE _ ϊERUUwqWe .p{C*1yTfѹ,õ\_ƴ|IaD("(ѽ}QSA1jtur4$:ч20 ;HܽȌnڨ1 :_<}J{tOr o)|[,p'l {*PUktAj2a2WsFDPCz\*yށϠ8f3Y`UF}e'J0n{+Al4#Eֺn&Q|Hdڎl:$?A-n75ΑXI_ ̯h%|:"Jjt+rϢxaVWn.v< 5%(28򝑀_nď:32" rOoasd?qs\mPpͶ2+=HS:f}-XRSxs~$C)J9@)OиcK,hJ 62$C4`Fn!ʀC>=i0)к[ #{cEG 2֞tp\G1-92N3J溺+jm*7=szkNRE]~c!hx0Q&C/-5Tς~2&QFiu.lDJzK!~]pi'Ǟn#C.(\,+a$?:@Qb8L㽱ǽ9-dApAH]4u?B;,H+eǖ-I0+B1[n#S({Lݷ3G ;"^jWg8-yڒ~cVݏOqLѳ(M~UcSv~M֨0f߂SR Faқ쉫_4 \AdpdD6k ;Ii "wf[ Q?jX%) Q:g0[[C)Sraa_h?`}_9sQ3T=0Ex7FXel VZk95&7hA}./vUrc\--? ]XteR;Rv*ղT4&745ij4Rb{ ILI]7% frvFc0ʑ7s^2FI1zgK}H0 x+j)wy ˊ/;ՉQ=JMW`(E )KHUz^=Hªn;hN(xMRBL9\5\tG8f:ZΗَC UףU(Hy( 5&%1q&)56o2YgzAi#θ0GU֮r$ y ;rPȍo钦xm_enHNqMU͆d?<1g6:2Dmƴx|'qrwFf#p-s /zBcz.UCh&yMТbtSK畽^P(=U cD[{2B*#JSK^մ)3U]NVj<C5}*6yFEUa浽LD3޺-;knQ$EJ|~y!050JcW Fb1a}_^zB,G_lgę޳rþYS7=/ jOpuS+y)\Vk5 }=^W7@Dqoa\yׁiS[5Q2wYKW>1ghN!u)Oʼ* $Idީ )3I3+R/WzjvbZ6(C5YK _;2]3)nu Rmr ?۷d֪c# ʓ+D-5z˓Ο$ГK^2w}һ-vQP|Đ62eo8<9Xn.,fM/-V  ki5@1Qgwߺ P[-K` mG;08ʑ;Qc 1Ql66)k2:e6W6~+ZCw]u .VKj(_"SoUP 2ۘU6,*2H O)P9blƹe'xxb_Ƭ`巒 u(HyW0I3l~44 Χ`*FP 8leWu,D70[vf 1X\n0A=oW=IG%,l#Ɵp); y _bkS.WDzcIL db9)~4Jt4&,)F)NS^" IƻHT?& 312:Cj/ Ͽ3IrؙY}mclbJ],UtjL;#BFzSU1USB'8LIfFƿao<+.h]Z`=xz}^ *]^ҳm@T9dcBX 6+x'/_{2(.ݿ"#1Ø~M%ެNd{U$cq_h 3~1 p,1i:)-v1v^jjb0Oq,ա]Fy[߿wQSPk۞u*i|@NdҚm7bȎmqr@iyͼN"k)p|_~v5{pⳂXQE-x : WTEI#ثk@]326*Z_RŰ`ذED:>iz`SmIfq{"﯄n[ QH8ɭj OGE.aˎru&xݹp p~LGkۢYɆRb{:u2J_B&3.э:B'R&1m}s|챐!SNCfrBpb58]*Xnv87'ЮjlTħ7 (q1>kR?%H #FK|x=CeHV Գ=k+q"Q#^rӯ>ql!~bbl%pf^2zQP){+l| V/I!Vl4v0rdms|_~j4#+;JI71 oߌu" f`$&fsG2銇1ZA k:FkVܠ eHYÏ ^B, , wq >xC $,"OBSg"!^-Z\L{ V>lA`Dk5o:|1U5)pI|8R+@&+UM_5 Aȑ;sUqeY`T>$>sV`wK&zFAH{Y2 }2kykWd-Dĸ>uC<̃ ,C[XYLre[Neϯ4{~f <×MIIHC(z[eXX36)d;C5uL:։&"< Y5r~heTmeȩW^EAE=v~RύiUSX7:(JF/Ox@/qMX@ 9bmx'a 0ihciaÔ|]\g'(I;Axz:_'f1NBRS.5lj,ݼ)!O('/6ZڀOG>E)~WXwBCn )R(ߊm[B&/~"HXfnNtOPggz8ZYypeARGTjjj}U^1eڼٝ\h_QpMв;dE7%κz|vKC6#/JO55)(y>NBa' ur} 7|_e&!'@[Mщ1A: ǔMwǍ GĪ7^8|BT2s7& ُIOD9*2 :;mpug^ǻr ђlfLzێ[NI@&h[Դ >9+O6QbWIݬro̞^7إ mTl-~ 7A]Le-@ٵ SMAIim5\38MtM0hSP|XW "<9/)؅xt>6%|5ڗ̟逡ޮ>v?z3#p#iɶ8#s_s[|5&fVVܭr)<;K T"ˣ?>Ou]3ο:8p&$ Gmyw9~=\f#2%l ?0SOg8n;>оeZJ* SQlCL]6 =uAg7,_L8QG=GC,|؛)O5ڥHɺ`0F9~H>Qƻ*B&v{ph}0%eǮV 0yڙ^&ӿ|K |VWjs^Frq[fdJ${g,s)6NrŒCa,DK1/w-}~А MP1.bQZD/ϵ\s6ңEUk~ξXUm/~Vs[ѓsCU#ZdI.}E=F|ԬNlKkDL K[c p5^-@_%}yȮRcMQǙX-l-Vػȭ6ԂZ;Ot%c*^MY&^ulDq 6d@%`Va>8(#&.闡(IJzJjve4[*lQΏe- e;muîp<Ψs i {>hH6}ʞҶ1&I_?ES{%[F?8IPng~Uavj rbIOu`8]4[&39sG=Fl6+>N#vlIBQWΠ $^g*CWړ}9!]nx8r9@ۣ;ւ37w:XcZ.Xm 򁭓XXKdSЋ0`N;]c ~aoaǞodzk v_ dE脫=;KEJ IByc;@9A/HHzQ3ؓ9"I/`M5rAeI)2lkX3hoG+:y3= gd\*H&n9'8J= Zd\ JUR([ޓ1XAۊ)|M~ʰyaM|Eb4"] G&oSś;VQ2v\dHӗ ]rC@VmsstOxv/|8wAvhw4>vhAӯrj( G(fKоcC_$$N+PX@d\  O {}:@8OLZiDR G/r_kV$4$eb;RЮsy2cIձ(Rp"z*ϥ"0z6f51]q)daW_D^]2'gBHArl B 5N/NnqlJq~7@^x3,8Ψng+>|k @m@k='kj;ȞXoC6"ޞ^p$3gt'edΊE&=9 ,q A0,F G^)yfk?`a FiL[9lӄ$2~y|`eNzul!.3ys2=W]VRn,,^c85>7.ƣ65)?;)p1ddX6X_`+bϭ solNşxc~;6]Al!U hLAq>U:`/T/(!a{Mxh$R|Vԡ#<;U ]]]uhg 2ۜg+\&nlQ]%mr } Mo6N=UX8*F{ hp`둮m`xaÝx%-TI~&ʗ:fC؈-\!( ,b\Y:1Od]F%nQ{ yLn 5sNLM 8(êid/ Z̊_j[/P<;""R(sѬU20."`K)X6[əqs++mnIZ:Y$G$Aݏ#f ܃{׎븼V&)Ssl.ɉlJ.~:[]TIo: B*:2Ug暛J Bx2~'4^1Ǻj.ޜĕ:IsBN,!lO=%/&DT{4ƥ% }Č6EzWiK*ݱvRq %#`=&Br`H#v0r _M8?p;BjfT줫#8! ](fWtf1eYk P.,8@;3B\ yʷ/5Tb$ή;NqBPK_yBΔEX6<;Y+հ+q .)hv\섈 Aؐ`b9b$ttiӗۅNɝ1zɓK!NK[1@gܝ|Mbt@3K2,}@FJ/(-AsBN(ҵhB{T/c!. Cs|<ㅪ$UVٰ::_lp.2:˃ k'MJ S!ce>neVB.k^4-No6ftׄ4ͫBF qcقmWn_b7A k~{_;SkȵF¢snL7"B=z^cv<1V[H_֛DoDG]a`^fe?֐WB_b XNAy =T  h6P}SF-$vq !DE |D3ɑKN/ND%q{4{8nƹf+~?m*Z2ͷ"D,0? X=$rHh|M7(e|`z^\w]漀pq;:@k.z>>lȼ‡5mp q1[-|#BrbJ㱗Yn䯽m?zKP. . <2E5zKpC1D7C Gԏ%[Qp5u)_Mβu>{ ]L([^U\o=;'¶.+3{#g ȘcedNxҞWp:mPT17mrqʉdF^}2U\bg n/Y7Y gteszXL$΃gX1Ef_r@k6 t3^[^B} oughB߰y6Tѝ>`6NY#Q 54 "? lڠ2yhGd;lfwݰFlll2u{N~ j}MUjS_dH'x|N/MG?N\HwKa]'["§'?vb8j@Ť1g1NV h3u2gX*k85[$ж]>6^NC|y`%jז '=Bܒ?7ӿbqcdh_^q+-<׫z•h;1e4<~vx.VGl׽jrIe۽!ޠGgGl ǐN0nTB8ZۗshC-FDXܸT¤ykLl>:ɃB+x#.&ESA5?B|Wc;ۍ/Õm^6ڹe uL';8M5M ?[(O.m^ Y9IReDS3lಒ0#e_14r_E_ %$?9&iUPni KOJ^fŬ_18qt2LV {2;"dJ>Ƴ-Z\gUݣg vN`)FzQє[pK?qc6KnԚWAsUq:atԻ\)n-uAe)LAn!n%2"IEyJОtDMr$l]:U,vJ[Sog8Xe)#&q8oS|IԔaRXa|P1Y1Ө%Uo(*ơ@#+[*q.|~r1vsryց*hMN^wj 2F&fPьjV(Y5͒ĽЀ*l ZR'\>*!C'F t>ڙb.ze5B;؎KL _pa`gYY-Gn5GU]̀Z'T"@2r{鹟ybms(ۍXiޚhOY]a}~g҆8T١~zeG4;I8rLI8J:8K۠6o>}Cѐvfsg`fpk+[!|?UŢcAYz)[Gln/WH:]ff(2B'g㝿lIσf'q{S[1Ný X b W嵄dON 41#5D}nNpxAiKhz͸(L3}p}q,|6:1|JM&*aR<$}`ogXf,$hwd-M =Jf+.ע i,r(9n~8Z G׃Z]Njn`KE9!Q'/7l&mOYʦQUENU'9jMa-V0ѥ(6T <LX,t߈dhX+(=-J S~eEQ?+Y H1-&m԰lTSF<`_EHxt1r'vZZQtSf` Rb.?>׾/lA)7kH\& E4Fʋ~Nosp3: z }עuʮsd/\V}|RW'LB CN+d`؃c/&Ժu* mރmvgCeʄ*^FBKbUs\ܢCL) >.O$'6dȎT^|᠘YdļL5_ȗRx@˔[֍ܗ 65P&~eS%PVnX;ɅhJ>a~1FNѐLȈJ а!x+pf[4a7R\@ڞ8zX%YRB, dX;:!Rǃ opOt;Uη<.ߎ7|cCWQ*%^QN%bqg{n{ih6z C0E"^P>M&P<%ٸeXfd[ ͢pb2kƁ}6.LUԌ",wWlm@<ҥ4-:iy 6^YL``ۛhpb!кJe-n|>UTȔ/n a͍=ڬ -CB+k>!FbHJsZ9P:F0`a 3X:&uim ~PBAȈBBgU34n_ԩV5 bA- OnG^d29vswyy OlTFLf 2#_QHC ՟˥n,$/wZf$pg; ?)&Gxp֤YZWAPs#,[;]OUk$7%13JOpr*P4.J|w85 oDT)N4(gLLT 4i0CՠJ%PDem׷7DϜZJS+܅KR.7)I۠t '[UL埙ǙK^+0 fD G|Tj!0^viswp"#tOO]}qvR}{ JNF}>]Gƾ/39!_[<53WM ˲Mg.] >HӼ#Uʧa"+rݮ+Yۆ^B匰qSҽa(E)A٤dPgn#zw qQ9w4)]Mqljxe@Fw{|bJ_ 7gw 4mN۵}镕_W-ԅ=j;|cEIBϰ*s_%*LC$Ѝ i~&I.d鹯eQ3 Ă 1~%v릖JqŒa:e$ ws~f/U(O#[EID _-S%іQBw8ڟ`#r~0iPWdVxe[V܋N%HN)|g$%C'AՒb$=)o|@Pnf|ü sxk<* #}!19K zQhg>kώ#7pH2.|z Qu4:ÑGxw&G1ɱζW]a_x) >M.W$1a@S6#<7R]ܭK"=.b9$ZN6ǙkD2PfO>Ϸge܌ @!ݙE%Da)8Ggu ֖*uHf`@ G;3Y7dr= ]Om.2~ܶ10NyHٞ,jx'"Oc&e?d\`Se@/Yx,4зG" 5 ⊩{(xPXi8<:FHW`yq~џ|vӑC n9SCwri1(m@Ggap̯VvlV&o txybIӦ涋4.:5OBd@cQ "!|AX%aJ,ӮM0Qۿ-[Q^;.sĦBp 4e6L#˽6yxzlc2ɉ!5= Tbsm }eGzܫ4sꊫ(+QCq2d%umЄ2cGҠq.+䵃3?tزp-0cN/ ݅Bbr̹J\5Q4.F"UV@Ի &Si\y!61t,R2|R푎#b[> }kCZ]dVyA|*PΜx4KĄ4Y* p y~Bϋ6@]IXxB;Ò:PZ8ŗX\ݳ$kn׍nCUEIjN!?'(KӚn'cNf|XO@v"%7"jK͝R% tmô>Vl:9SUa >.v0IT HHFrZ~.9r8>05ձk &*^RޮOB0v:^{ #>W^g2n>dPgAg!˭tʆ_]qIW;ȯF @9!?8dS=D" z~aizB 򲧁1'OHA m\ 1@ #N8E/QR7R5B5y(ɶ #1w'^7Bȯy&fnn {SÄ(E{7z)|itBgp.Oa;.߆1nL%M-X p*ϼv'CB$/ge/u%iu mlmd0DsJ Ba,H,vݢ?P=+3R}L$¡: GU}ORaxw9l޼ JNjUwξoMQZ3aghw!M\y䓲 RMfdz"("Ƙ"%a}Y԰bnC NC>!iJZ`G36df>=Ykʩv{KO]CMx̭o4ΡP|4/c}٭iP\ZAw9U1XNej72H\`m0WBӍ0sP;ha/Gy -#C|B d'؎i$!moوٮsy~f]JMQ?)8Ƀ[bʠ\Ixab/dTSCfQ{^O|?xxn_X[ VN MJAYW|WgkuY<,F-Gq7R$CGl0n +#n)O IZ"!͈` ğ&*k@>:2Iw8= ƺOsA~Q:w0h,(G0:6l$D_r]LNjZ`T:Gs@$G$5@#ehkz,a#.97o_xYbM%4 MBtP;aMdoYSƃ'dG N PF,ͩqPPǰg'mxFj8Ts5Wy<[3UUP(22dc.?2L $yA^ ]=G%wGUOXG+m30-ʚ-)FE&`+g> 3#bD:Xȍ=Y3ܽTr|&C2cv1VݵPG!rPkXT@GbHɬOb'p67o(x]qߪdij=:أ L 9YHㅖ4h *\QL€_z6?5AWctEa'o( [3/9Kf(2 lz+ÂQ0yV0q"pDѥk—>"+C9>k66V[\N[l[۬8k%Î:N$@/>ө@QYρBC+S5R{=<-w^oTB";a-vꚘM]a:i';v{fPnmNT'RP_)fQI00^ILCNFEJM{t Z9IdMbC0Z\]e0,G <ߗ"TT3Kn e`c&hfUjRt<2u x:GYǼ >EOYH})=+g-(9hUVvv)kkw[NKT@$PrڮB{)Q>5wgJfCzu,Y'ǵHJ?=fWM2lE!*wr" ZLba-]-2cN&ÜS_v\l3uY^9z5iBRsC|Q:ۙruS^c[s.}CK%CR!WZM$7'v4E'I$3AHQɯj>)VYk_19)@fmUK-`cpw8.k%HCvi:;AwNfsD٢''}don\y4Sqif;AV 4#H!: Z25NΊ+⅀ZE Fdƃ5٠vإ4NH j]O; L"Xл`溎%0 lNEE,2)iFoaF F_[/mMuΩ<5212@jQWZ_ݗ@]!dz,P$00k Cv |ٳNU>W&H:]o}am=M!tg n{xl6w5@b^ p&9ߔ8E?P8}9VOh9)H ҋ,0#@ 9 BbPۃ 6o66{s(]a[y r qf4BO%("C%'ߦOǀqsa$7:XQO.בJǟW'hԪǒsQxl hOr@KB+f w!OR+gQDB|'2-hSm`& ҷ@EFaW4bgS{ߦ͟?- 0 h3C *Vx2{Io|>]7,z,"LRZod*Bfsb_Z j&T5wrQ0@QTۀLO͔",V.6.%;<ᾷNy(_ VDwxbQ(/]G礊^L7AW]*1-p[+̪ :ucorC4Ke6D;Ɔ#S AyUbC/4 Ob  6e*n؀Z Jt X'Z.!7t/; ~D@ossfCmzXE[?StfmuqhՎ*N%y|4R|]h3 ^Z# 슷4 UVjchEVyPrkp'iXgQ=lXQ%SqFYI:b|Ť>|v zJ/Km<#Vh6 be3"7MFyƭdFTYaP{CE"z>6əNyi85w3.9F;[dm< uDBVO<_SQ)nBF#E|]C)y Ap߀Br1ؠXR#7lTe'tDhký@|R1vL5b?e(rɳtk=Xl(PN~vS}'P3dwSDuķ TAq m/wW)0A6)Maze*±ScǼq|axʇ l4%UHM:_lųۣ1 yH ){gCS_1`$JO{ޖⵜXw3;i̓$pl#=7XdFQEv:|:lKA[N!*_ޚ9+:χ܃qV"BsKL9n~K3 ~\|NKJ|5$-I(lwƝ%%qn*FXs|y0qC,Oћʋ;DTW8vV-{Tczp 5'zehn4Z%y=(o-\?O2pL中 Tڎw`ǟ},}<ǤO´!Lɽh!T#4k.lߓGCB+W-Fs :*۽`{SDuJ^ LHqLgA4Anw+C_AvaHo8B=mT5s%^(/IM$`o{LZGEW !#!>XL+6IҍxBsKѬĞj$r&ف.w*REζml<~8'M'oH1G dy &_Kh-d[ɼ#>DZ ڔ3#+hAR\#gnH-=Ҟq!rL:+<맽^:`WNHo f FA =ujfև3Bt UàvjY]=_XVKH}@&5ܔy nW߲K1S2ﭭ>ޙFik|Oо|UM#wh 9*Ӄ{O(PXfOpFDŽ gm*k2"mL;T3ڛr8m5Be>74tW:ЯS5PC؍ؚ-Chz +v*,r5;6M]VEs -$UDr.OK,Z躮uݻICu9EF!pvVt' 'D#K Gk)hɵNA~l<S@4f|{6yS ˧ADž9Oi\L">&;(f(|,[M<P2DUT):kGK%xa_zKv~Eاfɐs~닦YZ&. (NrZLTبo-:ڙ}`2/.]mRlLQrv5m7c#WVjI^@Yqfk2ֳތ>@y'=mϞV*E[k細h<&>яk04 E]Uaр/]]]U`wus>> Z#|r*.IlKh$8W`abD9l7EN!ΏDo3b4R Wŝ蹧q7!mW^@=O!t~& Wʩ "-ܸVz:HP$9(Y7 ?cATAkxYT`:Bw<_3}ώ9A͖,hAmEw_!ߚT%Nspcx+hj$w˜&u17@_]F"o;,rMެ4Zb 󢙖wޏ\lw5^ieGzY=^EY Bg|vB~XɅo??س JWZD{V>tCxwxJp~VԅWGH&v8QMIbbz+*Ha3֮xQ|(p*vw=vFJIË][>NLR*j8Wݮ?[ѭ';=voc@}42'eQnC&aA1G !p(v P%M|UCpޅW%>>zx=(I[EC&6vD8M[5mឳmj>[6k$5l]t 8/%*q}z_F)l^pRepPl7ˆ5]Xj"7ї"U mu KXʅtv1 3ƣ1~k5!94XN;*QJ D{R^r~yܶ! /e f,>d'{sd?Je} z sq TdB'Qlð{(P^B+-2p1 NPA>9x?.Ӆ$)֊+RK,=GmX^dDF ܒSmOgHYܯ#dsӨw}9;傥nlHa&JƧЈzP}Gkgccgn@V"qw{O>ܵ{G"RA4*se/c2¡<Ŝ3bnAmN\,+aRؼ9Cv_ãeqE:K#M܄3dxAQa .kON,]~YkϽeR+8[ C-Y2ѩX0oVPŤFd#RE)4ȴzQS .^9&^)<GZ:ϐA{ũH{O{ZHSrsrvl9?cQfie-4Zay>':z=DaDa9BubeLJ7O,z(EW,O ^O=~!aIԬmG{QұtvR)EͩRfi&`f[xZ(ZXzDXгW77+$& ERLVL{ƣG!E/:V3/cmwD?>iK.zIY _p5E4_ڥ~cK y_= : ށv=J HRd'{e<[bVSΒ/aɫ}9tWq+mL"ghfRHO;U²ǰ*;TNޔL |7@5MQջJ-˶anyMaӜȝ*wboqu]jAN8VGx6ư r _1'bLamG%raSlPb ~!;A-Ey֭'w .(;/H#4H,zXđ$Q{]o|t` TKpTJ3h<+QOѡ!I侂 B*A VF4zi +t(]!jm?*_QjS:w LC%xx/+q%Kz@B_+ Xifs1o,O+{dІ7{4-j?v-H=:/|u}T:$~﬛ToCA/iA"H\8!~I(Ij DA<=}\5w^Bƿ\0 5V1_¶g?.V_ьM 킎ra>9< !;"EK6CIZ&43NFPQؤtwS~j r/cCRN2(%G9K҈)Lc}!ZvWqJ\ȭ`8ɍac ϲߜCAǁ=(Sg}񫂜"R=CZIݣ6欃!ʮ0HʠůӠllE 6U1Gbjeᰑ''7oHLQ[NlLT-XTj@Z7UkԲƠzjCQ +MUB۰UΎoBrkf) seMޓz$`>@$RЪ^ ];DxH+vW 5w5jlh j]-WÞ:F}?bK"B6e)Ujo[:zXvmHwlw҃ws)(.ijp*ߤ>=Aw؍imoጙ> M7' [$IA# E+\|m'T _|LH!uBn|?3_W#Ȇ_“L] ap5HLggh] Zxsh/kxr_GP7gt^WJ)$A}Iy@nUs,T?nX&bUo=3AOkBo3 (^a^8C!*-\C (@?.rzgW zĄ=`n'D@hzd`pNg#^v YnA\|fuyc  Qf=Gu_Sro,i3ZlLO{~ń(wXDF|m =h%,"Yt-7}:kd7Gg{Z7>(5\L޴nj$Pҵ7ۿp|`mnt L=N=xo*&;OOuJcv+3vTOq6Ь f#Rw )bE'o :=e{D+:Lz&˝nFʓXnPB{PcZ 9ٽ7W)#lZBǫ>cBR+ /''dp-+oQVYڟEsu yaz##_4C ;J `>0cɐ8q_&ѭǜi!aj̍>vy *q3Ԥfe2^Z!ȯQA[o6#f n9KD 8$j>2lñι)ߛv4nCkP5h8h&z#^tF ] Z, jfh|t'ɄH꿐F/NX rFlH䝯z5ZJ` fKGZfq -r/b%,5lOqAnjߨQ PL_,cAޮs{E8\.42E rɵ*ވU=xGqi!'±p!|~*:sZOEcgD z `L @اM%j Ҩ1nsEh')$]+ڍޤQ P6[JAb6PTt rFuڞ5ho*ZS-g`P֔8w\Ƅ6B "*i@iN>Ħc)6Qs/VpxMr4/QŦcZI0zFMd{{{]V9#6 $Mp(.@SU21%Md6$GUC32 ܕv!$? KFW+l .ߕ߾7vIORGۑ\ȐbkH`kJ婙 mt;N?˹hxގp_l\MʴTu{$Jo.~O@wޏ+utƤ'CL38XX_MiHヵA/Z(2 XD~`+Mh?_nYfǛ~oھf:14ޚdZ~yUo;Hr6i9]@u}X( +l@pIœz4)EKӚ'Pi(gaɶu1ӓjAI/Xk|Yf.ʞ'HQ|.=؄vS [O'xr9uǠ} 䇍֔+2 1gw1LD(7IydlI6qk^y X 8b5Ip#rB ߭˨aGXR16ӌ"*>uEJnkcV\ԿPMÊ zq\8SV KwrݦӅxJ0-(*⸣T9߼lMWȕ9Lh!Ԉl15e9q IkaK}T=uml2=?,ZQt0aQt_>3gԗU}hR-h ^[d-.ڂj< ,Ɠ/52V΀ Q02CY:+ȕYNE-v"E[xϗG@/tzS@w ds,/^y߄f^fͻiqs f)r`vηBnU=scN+ڗ0ԬuHQn>Hg$B \Lݩ{4֎ CP|`1dYm!bbw:YZ}%K %yaupf2q>,=eEG ".!#}u&5,ڧإFJ(V֯l5c)!I6}sge᠌Ҹu6F^lqUl4QL&mfW!P(Gc*[m)`@y ae~GU M)cN)3j%s6Aam)RCK#u.@ch5N/ӣ .#1ٺL+ghS7n5>a-iRQ[dM#ua GDt;.8R}]D3!FS E$炔7  ~  k8#w8JGK`-2&hr˔HFf ZB R!zҼ^>ܤ-5K0?\=Kc=g߯jђar8oVc3uC7#z> (+\_TQ+ F(gUEmPN4I>w&f7*BNYOf)<ΆU*d" YjL/ݣhE_挩u u/I׀@p:+jc1BšzuZ{dD& ~N[0dtPHz5Mq2LY5V1Q FI}V@G\KF9暦&ٔ>ޔc#hDó4 >ŋϔSy9*7=Ahϟ%qKk'wOΈ,FscpPֲYZ(ÓڳL[%(~7p .%r%`"^H1=`P^"FF'gד˾%lq`\WP;RGX|@uJ,rZo)ydNorD+R@OVaLOEpnוx9p`vV%*,M6U8?շL.\  b3H#21MmhrG!qvZ:(=lG\*,58f*sc8?"{w}vu,ml1}lnEj_j| {DC8ȓ>iG M=tU܆07:e>zzB$Z"#, ?]}U7CÉXC!Sߨh|6L]؃0Vb^QcvU}p<$[$-E.oS{4ޤihm{"8 ],cH}ӕőr @5|Gy4ބ)yΏ]d_%ѕDgr%rׁ*vfi[&~L5ޛzF BGr~~جqЉ*Ѥʟq47tm!EN "F=g<"kJ )U#WW'Bg/ pmSRuETo<4XUjؿAW% EMLqw m^WBt )޴]` #%Q9vTJYK90ǭF%=fJvT禴1WJ>bvÆ C S!yhNwT線%d$6i^Řь-j Iu3gqVrOOTENc'K(k KJngoR*/X'~*FmQغWi!̕-r#p V(L b;HGKr >>3v@B)]A5,oj:^1N 1m¢@Ǔ1Rծ7<O&HI2z8pVx?uymtLiGGB~kvq6ΙHyp{o(K?nQA7DE9`LOC d J7pz2Hvi c} 3VH)֌ro+(`++fjۂHt$F5}O4WR*) *RΑdU`+NjMyr+#.~aq]:ԃCoҷdvЍHsQg%.N_Pp]ygM5$>jƕ{8xNXKp?bV |fkFDb Í"@u). 3 ~wifWΘ ډ_rWؖw5zIh?o(+;*\J)P^J柋<,.~2ٙgLTוܝiPns]sOZ=(3S[O(F6{ S9 ΞT҈hDsx.7F@i0o A_Z*$i%W7խh>Ci_KU({BʼnRDd,c2<^{g8rꨚљ~㡳eA.JlHLiSR9(6jZ[ePxҤA2#ʔ 9"z1 K'iEś+pP]ld _6ܠ!?5# @y6l}b\G/3/ϊx$wƧy4Z>D+`n~giݬ4¶SjjEJIU{&uBMͬZFpw0q5z fھ$D۽ǀYAdF^+>kZic}1Ox5!xѓ5EUc/ :0V^?2W;ʨ II͊b-T@8dk_$}$gdC]U7`VYRQNL|zSg[ tK'-`o ?D浥?qPߵ8J@'3>҄V9"/VnPۦ͜38H;IٲsvK,v㍞'#@1ZqVKn] mm#odZ d·~CoO QW8( KSL$`n$Y%GA ڞM#(KH$(; +eϛYEږN ˈ֪K:ʶhyw\S暎52ؒ_-Jc|,]&;h2B\Yes,3xWz(\(5b[A3klzp G(+4Y'ȲYd_>ߐ'2Ij0 . H]SLS4o5o*J2 y-e*쫥@+cGҿoTx9>3{ 8xn6K-TEMc`j99[Y%8WvYtn?t1ez'߇5C׸ɮ#@n <[2<͓#L č605•@99õ M*Bar$f^B[+'pXѶ{%4I$.($=Yz/ib)?I> J5^8$S%}geEuW* %gf,b4MCkӊ231^"T7OM72(dqnn6 zA`V^Hد[\ù|z7= t1]ؐHHuԘ]SH/>]2PJc+3۴>tϟwb%VQPZ$M!h8'6D%!z W/鏈|y-(sŖAT$y/MpX\rI-G4|3&_)B"iA2•rjI`S9keSuhrwFZR$C%Aжir4ph:pC09ՒXXk֌ Lk!$9dfwɰL-UJF]_(3L]'Y*&[jhq;|:J<>d)&/]} i+] a4z Hs `+/v-{&=1#GbZ<̦i/g,Dh}D)m=تmM*_>\tdvG d})U~wo*9_b# V6+f2v ?jǕ,چ;xyߵwh( nv$U,O:oxci[ZV?)ޥĔڡOӕ/)uC۸,wm]HbR<:=TktI 2[u6F}`W4lӬx(%U,ƽ466p>p O,/ .5Nۈޘ]Fq/>so:+4B<[XP׌6BE0?lxJTp 60`UXo0qtq6 K {сˇ>v .?w.~1iH``8GPH3YP_T@u2co?.JsEew îvNxj9EE-w&7;)`J y it8ǧ6QMzY6Fr|J]E+YG!5 ޱYkǙtmw Uhʂ;-,GFլAJIG"`N~批> !缮S]ͯƱ$i5`YmwsG-S>OaѹjӮМn p[TvǕwmax,٭`\>{অ{A!Ηd2h.Gi\~ۘۄ8^Y_^ꎣ=vHƵ=qW"(3d,Ɔx^h%KLuѥ7qpgni.[;!iI! 5F@F=Y-a-iSJ,t#WWbZ2p|3N'8 Ikq MA(MnIh*5*P diqt<m]6!?$> CZXߓPK,'2AB''LV _CRZyĹ,J ChZ,/2 )9ތK>+[N*=tٵܜ1}q?j-1f.J刣6:c`"A/ 'viӽzLtFxs?69F_8zR鎦D5jm/S=z s.m=tN豗hAZsBH/J 1 TC8oR䥝L:pRQr2DpשK&5`Hjj[mdЪ%Yj)K N)x}yN.ojhQ+=}\kgXrd ~^o7EǹI󞛼=н}*gpKJX@vb;G~*[^;zuvr΅J);Yj 7ɖ@QÕƣ 6a}h0d{◕7ugޔ7Ěc7Uexo@igXk b~({E6Y e9|pɿ; 0i ݯp".yr]en/M1 5Tj\|>62!.Y>%B&iDWbJ(ikj@$B.ELp~O F)Q,czo[S(Fޤ{h it%B⡈gşY8.TJŸZ $m~lo\ !io)2%{H`0Ç Sf~"$ V `5ND;IRua_04 \O˖/hD_u#RtqDc榼# `\B,<:ٝ׻9& ЙIH4Jfvx7.X _hS&#aГó39ea}܋]ٷԦUg2rit֩.R B5ƽO:TXMF!iq/ְ+OIѓê%7IUIreG !-ù`K yJ)LicC mRr} dnVQN攳/U,,f,YqgUX>KZ<7 /D6 ΐ qc8Q|sr{c>2oe9SI #+ /3Y 떈b3adnbc<ք#OˈWaU1GCB\A ӏ`y zY ic{庐mC>9T9X8ymhdlb6 @\ݚ`훂_"RUwܮy Om "tK ɿDSHz-2YG7THPeQN"lXbnwO)#yqyhPTg{M˜OX5+٬kwӗaUSD0*eqGK.ٞ v68,7͵sץ:F]dd!!>WI1F79%0$& /R ~UCkT'Y]5f Yb^ Fw5lzW'*x0:"xZ $rTl+/ ȑ%t5kpMU g< `zKsi,,3W;]{3A7UbIˍԹ]'Ѻ 3y g0ȂM5 ˪e4[=scʃ6(WS/8}jq#0ξjצ of4Q#;K˹5AH Pa<1zk&6r&oz6mIl ҀsԏAC |֥6/uHeG&p/ LZ@0F}"kn|@PO?Iwm UmQQ=\)@ڷL+E^Z<֭=ce0+K8S](UիI@k!7̼&UeU/I0\"ڷ1@xΫ>nB>= +!؉="awOg &{rII^:8Țkogi]1 9=f2D6÷O-8||XuЯcX*/yAf-Qa8 m# &paJQ>`Qi0Z@/SP3yӭ0I[bUC͝ly;krV(̔yp;B9?wlhg9YV%TdTXU蓿<<"ݕW%MF\}b*by'I9/6b>,"adiGKK#N0!2`ahgXAl[,/)#-(sܣƝf\R'Rd{n`%Oen")֩h7 Ȭ\;k?:6kkXm #=\P>8HMgxTw~oTkrz@d`KV/,UR6ڀ_Ab 27"X.%% sJ ٱjT}%}=1oîK_O,vmGf]&8+au(hUVM?7=\3LػcHGngOtu]Q*;8 Hkxi5?g&┆Pk^LR0$qM\#dۑtXV23^\ >?œ@<Λk ?d: Y"czm}NaX 3{Al6t#Vsaq(jIp.ò83߼r^EL*+<X<\b!}lnN]w1m\hrcotD9Npe0Y_&R7vDZ{L2}ICf,:B᳣q[Wp#ml-7ę+d%G 6e3|<;~h6w zh@^f-0 ve[#v1 0`N]dhp%2]\q!] L gm?VV=Y/z~O/V?|۬y~WwA5sڿ \[AB;òQKvpm@1|Y4vЃƢDZ(@#&<Gw/85= b*$`u@ת9Px>`\; %Z!Y*p܋qK.~ Uտ bBs5,UfRqGs$~jvZcT=qow ژ~;SFJjH5`%@zG#u_i~=ЩnKDp؏dgb\t e8:Owbb/ {I<9Q~n9d&{6@ks.cTo]?: xȯorXq ]Op*U<.o3 FKTN0]?m5h2T!-v}oxDiO m6NZۑU|;bsj*S4BlY qQJt /H>@7KS'Ihp?ȉ*Q&yS޽Ep0e;)1jV>&mYmBucY}9Iym+ <K?m A4ęн 9[QFm^{#1FͷX,0u&]!MMʌbgIbW`}}&76p:3g27449FU#k-pKj@Jō7s=|3!-&ȹ\ 쬉 1>jM}YUV\.~[s#zwk4[ކR=ٿDʱ;yӊUvqHԱS}pZQZv~z Ir6Dc3M뛤;RہKMvY35x?+r/~eY%[MA>St!I6cF6͏9g(%l)3I: #M6+qޏ63sMɶSJ' L9,_>kUlF?FpUǜӿ#ظ+.(4 j:X$: Eo-E%9r|/<e5fLUuun,g`{F+ݲ6&EcbσuO_OL 7k(mt1-a=r<5 6;-p1;%m6hsΓ8B]ՒJG;__ީ'pv'e+ P 9 w "O)RwxC%/k\93Xz A+e  8Mj]jY 7jՍw;XJmFVb $VQn?h"XTj5UA.'1#܄H6Zj7s.!-Sس^GЋSh!rb{u_zz0Ƅs͂޿T-"F1_+0&ҘѦg j;FB&/E b V# 8k\?;ek\% ]'T^ ~;h@.yE OynIH] #e\/0v}M1G#=.ͥ&ūݽ|)ì״ m,'3q%뺂EPo$9@#X 5sH[&:aΠ:dkDz("_Z :| KI'qm ;rPu#xIx}NTP;í7މ$f7>l-ŨTbA#TGwXDy8$4!.{FXm3gB8vםzp2YDCw81Y~Hƶ[pwl+v0> 5mbLKȱ%ˇz:M\dEWaMW-{rWǖcSK&iCO2]В9& 7) _ q!;yj+$%6^B`EmͯjKy&.YS3SŨp--"<0`lŐ2gkF\Wo+}_ b>h?s9ɍ9A *I .9GkyuZ;O\mZAD#(Ky40jVfb(ğ+X/Dql!?'r<ՊgekaNE/kh4Fzp60OE6 `FZ<XF 0r0)lt(j\y<K&E% __ĴŔd?QJȤ}gsrRwق;.pH(_y#!v$I@>Z4nĥˀ946psC綻a\D?n4Td7"lHGLeI3/:yV۳{:etU$]r@ R 03]r'GTEq߀)4[ 76<}Yo ?*#syAftaۊI-5R`A"dݟ{ V˂ )6dd0אF2oZ'f`'7EGa @Hcu4.-Au A\.iEuV-I3WրFy71=/zgceks$7rC2Roy0y,tx$a ^  RI[i峡]g'UE=] "I[!ð)O§ 8Vy6~rGUBv^-ǁ$d9Ϲ$$A?k\¢z{Xv8IHjJ .kA dax:u}]?WdD@?.bLn2;hb;ș@NO/Ȼ&8(/NDu_{M?9 שͯ4Y FzPmCBs` kEV-L5*nasB& #9 *3 ofiN*JmyIfmJcmXޖktHki,wMr!G򁚕.ka )ZĀOFRz]+oJI^f'6{1B*TL ( NiHVf&fVRCޤ2w0qpS`Rz3<in )gQ_QubQ~^hJXQ`sڌCF|ՀKak,nEH#ePJ 5R[ܝ )]YHYBa͝( Ǫ2WCĖ^eF qPZKf@f wt9qhi"$V0tBH[_t,zi6^-n45i @^mtu8v{]mSHX! b~yCM2dy"MU^yM,9A=I,&7-U#{D/_{Q!`(9*2pO׻ʥ&.VIz4mqpBDz}B͈6h\Id6_3i1N-&. =eN qeЄ4]ܢ=W*&)ڨwR}~?IZJEESvv8! &~7O(gokbr[(ڱ8<G8 rv jyA(9:Bnyͫg9|#,uk%Z ;SxBfCzA ȨF{@&Ngol  510#zmi&]Ѱ\Q+,dKr`wc.Z1(V/8UCsv{X%[*B[&$aCAgj!L,s-,en1 wvQ+6k9rL.ȀTy\͕2WT(-UB-&0m4_gK3OA jne_g_SF1_%V )Aw00z5$& S&j5zڕ01WsC'~9J<`K-w$06G]̻oo14#N93 a̙BXFV9O&ౖnƇ 3 3 -,#eZ?;d~2>[Yu{by@e}R|U\*6G>mBDެ3!C6;r\͔JxsNU0 J4D%wk֕&c$K{ ,HP8gvuV=c\Ȑ ukyh⓪AWI=Z쾓NI|®hHY"[=wЦ!,gF^haL#aPW`<'D{STulggi .bB8#9c M?*΀]DX6^@fY0XUUrQ>;*Q[KCREN~/z_)Abi'7)$hFtܭkpN4'4{C'a6Y# o{8\X[%~?f48HF5`V[I9xICp(-jAv34ZֵMq27:W ݵ|h0w9?\!n܁S8Q|!c峻SR=峝g;Jh9NI= !lc&<&M~kpG_ivub̍z>(ECLeV-_ xHϣBK;X.*N}=UYx[;w y]i֨_[tVQ$v?7PzCl]<Bú.*z23o͐Krzkm N}SCËYFDzŽs<{.F#őD"wdKC e?"29#N׎)!)٘=0'` ѝ<;ʥ:jmvS>~՜m|[/bYSwlji I|߄>{i!mtBAcj0*P>Uz/0-L&*voMx  ) qsȽ-ꮻ~In߿4n f-$Q^R@"Qtn{9{| ]^X'4#=1 Q`ˤɃ-< IdP>o/FK#Olib`OMUJΝDKp. qO*l%ǯѫj4{(@E$6w dYN"bEϘ([yfUi^ۛwV8yJݬUܗt!5١hm~;^d{{1s-ѠnIy.C`]|6ldBHt ye>nh׶=IxwCVq^'XƮ %V_`rc>A}[Vq:IE=s}BUoj_?&**A O ~יGYqucY M()l(zϭAż9=MÛ8tl)q\O9J>hc>~-h]gI:Ef1":1΀8)&v۶ȮGAUw-檚`RHZi+A0,2*y^h,si%ByAV0"쾔ߚ@I9#hJH٫tr&LK2N>[ɪ WrqS&)XEUĦ-z;ZWLL'J0i@LKm^W+P̥Ez:eOFZ.vxV;dx]Rtp:`E6 bSٹ)Cmh-2ALQÉn.!6s Z# e܎ $$791@{ Rga##E*YzDCָ5^WfIx GXߡ"O0QZ,0a+bRaժw\[$ 3\ "Fq:NS©R9*ZkPƲ<_7w9w]dq;AwSRᕷcv>侶?'^1)DbahbBO}ۗKLFkGMؤb$已 )JY ` oVј /Q{QVs ^=[v {5~)$'+lIc8sz,EfnsQV6!E Tj)1HĔDMc=U^ P?~RH_ ~$Ac`.WVH&c[ vת),q1u(̪-݆ͻa\E3xorHC|ߧ*1YU[$Ri88!L)ƱG`*-8"t酚#6׸d60DLw'UGd! 0$90RЛK4BAaGOzʘu E ekG!YٓIӰ6o `. ${R>@m,L0xlsK3χKzG m}_MךqZC 0BMi0ُwA3"Pf"(K#h89RB)ˇ֝[Keh#)`ܴ 2I.A6}3 ~+QaMϭ_\MY8<6V`YGnU բW򍇜 'pi#r@ҿg'ȍPaT0^<1>zPۢx xjrFPTlh\N04Y1 , U /[_b[Hθ9,NKJJWt(z 33>n>'zBp}?Q)+ ޠ|&2lE개q†AX PjnŧaB뤀FErY]qr{ |N#n1%^T,%o"Cwnr;֐PKI7Y$3ڟ,8 XI8pv+\"k`V#A&#_R{p5nc<;liBzWclّ,LµrN@gքêkTz䰌b$m5v5^ ùTeC/a[H4o[,'y^ҘV),' IdT}u-R5«Mq1/Yvn4EZHTL.SMȒ;ygw&ւ8J =>'Wa6vGlaxY Ǟm!3wp.PC;9(mw+"15l= Fa$e9uDSb$4K:ΓDElۧ^ɕDEW4׸S*JxRXț^ ݫɵ+k<[z8_mȗeaIz Rtmmn&15SbI9ȯDlBkܿ\:s873t&Gm!f!8e}CD@>:릅ywS yéѴȋahغ-0dP맩PEjC7YpO=рX½ څ+STArdwdQ }'{q 2>4R-r ~/%$"sqAͰ~@Us~Z._99[?"4$V@[ԋX==goRcEgbwq)8D|ŮLp̕a]A^0O|r) &_!fi@`!`C2'ϭ8Ǵ 0hOx/s7k-VC xN^mzzat-BS"xt*VS)\E|_bh{8vc,~6?%-}PjMyEeM.!7J:ŖդtʗTһP\G 퉞wȡ$_$FEsqퟪ;v[$=]p䥂FAouVw_jZy~iex0yS+L+BT{^Cx l 'Bk.R ` _᾵>09A{/n?!ftT_V}#ޔ5`""E%;7fHE(i<9 q6W;Bhx]`M&@m֚\mg$$y׉| 䓵1g)^tj‡Z3 ~p=6e/yhqsl q4띆: mM*"oſqƒ'Kf20ր¥ceq? T6e1A*S0b k9DN3*Y"q ^(YUAmqZEU*fΫtX;sH p~3pp/z&Dܠ_ץ%aآP5?6}6CS>5FȒ@KNj\/}ydltB{hXo] p@ BN۱Ie]e*@k ٷ"䑽r;'1“Q *!Q1@AcJ m@u2FJ[>I>O.&*hPS2 ]gfٍy[8H Q7{|Gv{#nl&N/9)3܈Bw WRX/fa#2vdc/]vepA+Xr3"àƸ }R`*Z8{Iw/.el%03Oq@l^Nr@;j4llYCm` 22Uc[xD)p?K 9 uxk; o\A'ViF&/Iτi7>KM"?T0xoNGeF˩\"R@6ߵo4Atd6Lp_`1xW~X˩'O9Ijv@/ cHu1!еcE$"]Ki8^N˶H9.5ogzCyVgAyGE/94}^O3  <~~Ք;>os?BY# TJMc)h=X{Q.-I"~]< b]o3NÃ$Jع%q c0 [1i[wH{7hY|4Cu^SQWFAE WZx?4>HPǡ\[&n~h6xf $ߤ w䲦 LzFI QRv~mڊN}+Lgƽ*$oy {pU(sLaegݫBRҠ1KM_VZm@-NTKk+OlfK8_âHc 8TĸCiU,bKtl' {#\$%aH=BC\<Q? 3?24zޥ#]&F:{8̭ Pf. #6O1Nu UE{eq}Cj%ޙv6LiŞj/H~׾:Vnj) u<@k@$y%c{bS?gpwd^AxMoا|ڔ#ZچfO1VQ~TEo7j%.UA)pMJYC\V^FTG92W>Bq==I⡥S m tn,rpŵċ@_R2fjT<I*KijE/ysdSn 6'+ Nwd8uu@꽞SmkK@%> -"LlGL>jJyBo&d"STN]Ekc]j .eӫښ!ysxq_Ɨ>!0V;x@߼ލ ECJc@5oJڐϰg0HJ| Zr"ռԝ#WдO mi>%琟NTNl<(LϫiRV :B}s7o1Y,@dLfu@9ύ`Χܻѩy|:2Ehc,'^tYzWDQ V ӟV[#:VUp\IjRL`J_ hĖ6Уk[Ҙ=]U=gP&ʤ(ϢԷ`V] R+떆8QHɐ=`F`3}fz(b Ϲ?0~mq }['pa]93N/-83KlAd(iN M1Kf_#' L5kcCBb%R8Ik?-2Ŏ-j:gO߽7֊SkEΡFv's$DV޴n"[]Ɂ_#EOXvom+(Kb|+1/)'^œN !a~r|%'}eK@T85 o-#UL(=>MX=WW֠$+o1`Ws}7Әd8ٕ919S8sϣ1$߭ιaR"Ze 5ys=iM 4͠2j3=$1 ”Lp~\""$:Iu<}f_wV:nF~vG|)?(K 3ˇH5^F:\);slo`a/K{,@hmGKh&Er=Qn>0|( v !B#+ Iy,E>Ju0Aҽ3?r&^eraom^<*[{R=IAܠ99J<+|j(;Tȸ ?DvܮX&Š#N:5@ϞF[3(2ql9/3u5T >.[!0= ``u"72 Oш9`èP>|:D%:N%Pm{C"y?_ J3;R!Wxϻ&+/&͵_ΊUqUkO'j76,"Q틚z8)%Z٥ 6f:z>ZR9jbbdn+r-t{pѹ6:d-p@)fm= X7I'heUe^I(ISmQ姶tP'@;L~TtZ"X$wiEim͗e3X108'nvg9UW qƻyH5"Nhޛwb[ K䢧olgȳUwQ6FQ)JQ~MB|SiWd'KKe6p=ήZs-pkx8 RI"4@5FQj9ZRFBW9ӊjUd E8RrM~5xӱ)uLi>}[uudN(azO}~&u 0SEChEchŵ~0m ;ۤ=sGV/cel< #Q֋RY D$-6m 8c H fT;z=e}%P@&xK⠄q2Zyp "L7;$\*"_Nh^ʽtZ*(JՈ?'j!`_OIS[E}rȊ @qMEGNM qiP.#q41uA#&Wq<,\9{'} }`:>}s;YCŜY6ȴI|7'q簼<`Bn[K e5E wC pݢU$UZIDb@? }h.}.\eQ:ѪqGd#qJ('~B +{%[-SV}*a\[ݿYI6龓v{P1KI+R*ߜyjkRQ? u`զMQr-=\5g?!nc0iלߡЯw1= ==Yl2&ݙZژl\Kn"3RF 5j5M/1`CouG}4\&CO`p>Q6UUtsI%*ߞgBn8h^d %E M[ ߠ6ϗI0o_[|Gِ6\&nWQHY*ߤj].[ѱFj#T*bOEcݙQ).ʖ, 11{T4Yb3Za.j5Һll8M1/Dv/7~"z9>;o! Dۨ߹lWXr\2+pQNa88g%P䆁 wT=Hrڎ%NCޮDBG}bc5r^^mI[U)6>àʽW+GE7A Ԏ@tj:eFMf7dd.lHCByQwU-ԣXm'.tBM:z[y? ́P4[<;{3'*׫b8?oFpHcZyvssDcyD޾ԭO7*á~31eU$jZڸ>ag Rҍmڇt(l^;THc_Y0DJ&dx`T9 E5۱#X@d^=@Rj4U@WomU^^\[.ȩA"@ `=~z٧K{WH4fV7v1] NF,~վM84->^ҽv\!,ƍ,(0 λvօIj%0ZY誽B0l޺*'r$c FʱMɲ*lyѶ ̃8(7%$w|LhmW rg;t#z-ZO>U]` Eg!ď(X%R-eժoö]ACCAղ4o,q^Ti;hNp\)RR>>CJX+m@tW Wm>Ylrs :I7g IvdRa|65#F|Eb _/}謱'\(FmmE,f6.>u*=9 iSDL-s6%PM_DNInx cCirtj7}w`I2 q^8I8;I8#+/{X}煞pҲu'2B:ʅZj I!A8Xil8("A&D2'}ܘ!CY=qM4HEp0hSg;D#”tvo}y2 l#hW1ϳ6gkƫ$  vp}*0ce{TdڃL:ЮraѪ=wwO5 h_&=uc/کzasEsH#Ib({UOe@Wa[6c 鲱GR;^Dvi*wZU`uK"> Z\a?e"}fF&X^HWHʦ^aԦy/!j`Џp#}IT/~&ր1fficSQknr*v}('@V|ڋ>q*zI~oS Bm~rGI@ciybnfQ蓫$[*=UcҚg:KbuˁEkKiخK5l/*R芡"vQ+RarH>H^|J,QB6Ӎ`k>7u=7]@ _.đ5_v+F v <|4("fAzݯܱgXS:3| ID @]TUPb)&_``k- tK6~> Id{Z` \~mk)vtTkh:gzg{ɡ &^!q6vJ2 -kSe%׍S%=+iU­bt ,'`I:>ދ:I@ƽ~\FSñ:bEw0ڰQ%Z["'܊q(͡֊Dd $vU5{91n%eoky^,bG͖ 7CKbߤ0 eΦh7B^1Ƀ<#k;б۬adh-Pm*Xik0J*X?(׳ϬE43߇/QVMnW'(. Y6w}?^q*uV5%qQ{emfˣ7* J:*)/=RڅZchjiVq;&6Z?nS2ʹ:Z赒xiN`yi`>+J!ÒB+P^ nMP"Qde6006RYuԏy/l ~|Lz̴xq96ypv{ؐ> ]0]n{j+OWXD[T>%]gS9^tN%RׅgS\Gl:Z-lfNIL>j? 5?Sҹ g7e>Z|gDuaKxЌr'?!'e]by.#^vw$h;KViJQZ*\. Ӫrw:v] 6֩ĩ܈nk蛓-]VzBnh@_#_}Ήq[Hp, d We`staXy{,i)N 2C9[쯑]ßZ}(?m>R5Nw%!yLAfp_&Y͏7'˽.:®_cMYoo ;yB'˩뀨#1 =4$ғuFH"od5-\JQK.̹#6.fe.B'ebYϜCԌu1C.Aʲ7w/57@lb lӌkpE|ư' L?u %zKf3ܞ"EEP3r}5㜠+jFz5taY'SiQK`A?<).fOڰ*aՇCӧ 8In⍠tP8ōA^3 UvO4Y0YfLQZ,T \ZcJSEX5Tsu,}rPϥXЏWdy)L $||g.6ԗœ94Fl9.+"곃;h Ғan. }'tdw >( h:1Q-kmC?Ip;Y)2Uc70#}^?xDY`!bk=D%oR+gtEHXG<[c= * )@=Bi`ce)2+ y^ 3SÔq8vcf&nF6ggpPu\[2Ѿ8c$&)~W\_WE.A<Ϭ8G^=yx d _*~nނp**x T`cVҙYa77!M[6|Ix[tbAkђ]FZ}#wv_"̌`Q.;%R: ʅ܍D[&$ N\uv; W߿'(úƤ|yhIZ^@᭜ <桃f׫,U1F߯5)`ȋ1o>B{e4kd}³ k5d *hՍjǺ_;a4 =ŴdFQCBh}5NU)RbIShV1& nqM<t#-\'#| "A9u˚^>TvHO$䥇fbcTMvz.8m7}>ٗXOU tB"*[㓏:$n ';@"U538E?/KP4 EpMzkћ=Z0^opz-^7.Uܳh~ *u=AЛrV7t_#M1 DQ)_'?B6rNLchFw[zmkSBANE"sp<$Ue`b)^(]l$Y\or^k+H ~4JcemPBGBqNJuZjLBOL [pa%"D*Q?Tr(?8?Eĺ\z3a8:e]yCz{AdFR;ƥwi4-wjq"[]Z#;/:?G4=%kt}'}DE:TX`s,u f'\\Z ymt4CBR]?i|-6\ Y!3]nq7"3K_RS- fdյckP^'LI4pZz h]}MFzuRk%"="()#,&U4J $bnx\>"|c'i>/ܟ3q:; >uߠB]o/M[AYMBy b#YE<+VdU} G4ÔISrV 7bSI ꇄjX@B]UdBq(i6WK-- XBɹY4?#kmUZ7w o~iSmaۜUJL ݩ U-ismHxGp/%Ph"$ڄPlә@eݧS]5{o!ݬ$^ 6aY,@ wznd,iG[1hAtr(_%CHE0g47q@cBSrlqu)BU@V-wIwmL,fX5 ,Ɇ0dj;9ŗ5Ԑ #i%_8+*ug`q{Ė} Y%)W0!c0+i.lr&\Ƈ?qT}cŸ aəHZ2ЙcBGO}1V?d ZX7Ag<1WuPj׭?pA8]o0BjdoXt@XEzbh# e$4-ٴ㊰ `"&tYs"@bG*琤蹞&q3rRRTQЪFU2t )@e =,T@WORӨKqL> kxuaÂ3A|eJunZYgf6æ@vG zWEE&,]Oy,/ww7z*>qT3T &&KVfaEobThYYXĴ;73.tQ-!)iU;FйS/rL%l]G():\}kvfkIivZxM =xPTDӏ #\1CO}6+dƻyK?$ODyfEJ8pLbW7chُMUN0Á4 +2 Z rN=hbR63u*@xMngUdIa/ U_[{>z |Dƹwn#"n}'EB+Գ:]q&BTmD| 7ȗu2!Bj :: #*LPW-*5Ѽ`-DQeȖ:|^۞mi%ǜ8Jз=ȢؙjAQU(W]+&J"N@r75X& wKӮL0 ȸR?2ϟ .H_LQ$13E9F;SZi7A!6G".fI\\_f M9[ ~K3?.1DW1@jSPsK*f{ȸm\loE%.M >m;*IJ{boהTUQ$ #_Vq`'Al;wvz>kJ_YU(mwG!0I2 z`6Ӈ;jL(iWT{80\Y2aDR 8B~1$ֳp=i-hH3\kI:#ߠr!)1n9p -XqEA6";ْTB 2% :5hJ QX`V5[&GG>DOͨl,6ju%ޅMpco}H/LڋafUYrEWc\i826aS@tn(:PS$j Knw2*IcJ8F-ckp:uuObk-ÏkX٢yq 1Qtæ&(~$KӪi&G@)+NNN҃<—roL[ou,qϲzs؅XIJf(f+-6]+gyկ$Jg͸D G_c]HZQVo)qY@϶sk{6Z6D:>!&`(Ɨ@IczD˾o'ҭq>8)xN>tUWï?M'IJ?`ǠiLG"ߊb@) ؤJNq">?NreMcFͥXpFZsЗY̌v\I|ֶ-2Z(:FTMPf?WZd$+G.ע{o H8ʈE+ANk104+6z [B<,N\s4QQ9ƀ%PO*;Ҽk$5RR ]&?(byP0w%5$ͺG岤V*ŽVY&f/ zU7 S~d&0ZQ/B[f( YY>xiB) 8^ڔ,}.T/I4 K0+ew3GHpxFl5GW~8{dvmOTm{d~0>_DDD+Ckj}b%GDqZ̜q)r<ëvlFAE:۷N=|}m/ɥ(C,2 hoZyY3{/sU`e)f LLǍn%5{,C}(.IMVp @}ɛ@ ˌ5wvJ $M;~N3'wZPT"a.7?+SdvtGWCw$AuۉC[ ٧wI>N9Nɛ;qh۟6S sJx՜bGؘ2"|xcvj=.c{g4fơbxPSR\@pEۣpJ1.-SQLM!F[J;,p_6ayfz}7kJدM^w2(;\=+:TI C 4=Y*"gy}EnS$hUƼŽoLh6ce~ZaڂQ{5Z4|(j线L ;S ]}>ΑLj*J,i=" '欣^}? ȏRfua<@2TH9 ?/qMh>꿸{fK~')Z1˴;-ޔژTɍf`ZbFs4@^ g$07R_CA|f0'́Z-`sjlH.;sh~,: QOӉZR}>- RY(H/<abx45l M.eR)9x}EULXayKx D-}1ȵ٤ ա|KXguRFg:ܭH1״Lʫ#KQVjy"i4|af%UϘ$ >SykT T<^^fRv_M{F5(3Ҩ,եY'(R1~  5Ʌ5jrv>cTQ{;)J&@*a9USR_e\t4[3Xt[h)6w×9P1[^bh7+ޅ}nk6|:eYzT*}q{ mSnH>@?Xwxp迷fXxSH ;& ^SU+szAiṆT]8oHԣi*Xކd⻰$d +kjs3Px%I7\ً12=v^"#s0+ygf1  NB_BABB:tץ@Toz;[}(L,xƏ V^\e&kxJ:4=룿^J Fz@}  ;Bmo$7ebRSIB0 ~݂Ϣ*<Q{\n*UJĨpBq'AڂEgZt@HVo74a`KNR~o}Spqe뫮z%R$Ԑ[8ǸRp'T&`.[&Z Y]"9ys~Wd+kyKup:+TI; 19r:O*a[,&dC{xJEA=o e?<+-[w?r,s:ϴ^jh;S-XI(+>WIU?C,(e-T!!g:b fs(c8P|XĿ.DfwlFv ~#`> h9ʻ*cL]` l "7`Q="nZYBa̾p'e"hPu{0@!Y0Ga}@wfvx##\*PjV쥑BMԕhE C1UhPI&[4QRziHF^q@@,ʆuW0-`aS:{ cQ_aSI؏-fg;Vz'8[vwbQ2#,g)Ċ A`O.TtMCE05[jlXT5EOHPnqZcܘO5},OQPyY`Lѭya7 ([+G wcu20[gF 0ܪF!VRVb  e K};: MlT:Ic,TQ=m7ބ6;o7:#,:pv"z<2yWE$Z0RxՖQipwJ1s*}{FI59[p\V{]NЂ^<۪6LB~it7qO,8}c.%լr=- !h.V-+ȵBq?@߾BUV% 3:U6Fjwq@Xf.yzU(?0 ݬDֺV݀2* z~m߿k ;kڈ'4o7pl&]Qd\(O艈?4=[b~ &@9nr%,:NdߥcM(e:LCܯWnqjͱ$Ct.-x>"gj1?KqN%dBDgA 60S"[ tpJ%yU- 4r@&`g[c tj0P7v8w2  ~xq wPH@wݏ˺n)q&|jo/V\Lh}qL0_ xʖjaO*ʫdP3|z*(ürtum.HrOot@L)JqW%>S֤\+򰨠&E~~;ָcM遆W0p`gP0#_@3U, l|u¤ek`ӊN!%TVںd5z{ksE'1rs8ޕY&kK96TpqL@bcHWƀ=Lt&dcfe߉z@ Ib'X6+&KV4~l+nf/Q "h!ɀܸgd-P3e! \ryQʯփ}17MWuAOh2٪E@_9lv)BR? s!] /I-҄fN lhBUb^ϩ;tJx$AY|Qg@-Q@}> 1jI5K+n{M*TV̌ Iuuqilo(2K;N '<1vo*FOO٦yF%~ d߅hSs&^z ?n40-}"nRts٬z9[#SLn! lw~+N@evO~.tLl1n c*k  dfIw&JR9kcQmamZLr=hS/Jޣh#6$y\e3XhL0 ".bH _Z&p 6*Q7$ D4/?ʴg@s<~R6(BMR]*bn!dILiixwVwR=RkEKF[qнYp4\6:EYPw-N룵ԠS#1G S3|y E6I\P9g,G!Sp-\n\XLGH6 rm1]SMĩ~׳%;Sn֪EY1qS:$n~ Cn"K*WB4K=& $2cgp UUSI{MQ^&! yD09B"=0v}=L9{@lpoK:@ڡ< `䀞AdeHiB`~Z92ԾCV" 8.8QqQU(Cꨞ\l 󡀅gc~QσS\q҅!"Jpl`+C\@~Vh߉ߋt$ H닁 D\.1Ӌ%v쎆dk󮡟3rq~M}5&%YTiӷκ e\Ch2"8#rewcm Z_Lq@{Jl>=r4-x;h:ݛ ֥gENї=AU(ॳ @wwg~M dn?Ąʦ\/H\ś ÜF%fkY b]wHaC6c.e1U MF'J[&@'-E.!3A(/n* IVq{~1,2 .Fsld$e^"Ƭ[0L@/껚OR*=WLYbvMuNtӺz;YM@A;J^?@,h~HVQT}8M 1/vh#dZ~Uv{ɁIES!wTߛ9*He$=jҩqQƜ2^Nރ&̱+扊2{*r ayU4nl|έЖ:Ul~*31V`ց6n/jtNƒGX{mge9휚Wjتmo'8ݝK-m#P>pxZw fJuh;y"R~nM/Fq͘3ȟyǝÁOae9h `ߟz*Q$aU(c]h2:a B*KhTE4_[#i^j>DP~qy̸H^̫rSa|5x󜚧  E™;fC'gΏ&|/@֍oB NUOsoOAp E:З(ǿ|V Y/у ޠ .H]+y:_B,*Ձ6<ռ,o7{X(BzZ tFy5ڷ?m.p䟵AZ '9se{(4CIQijÖ](I?1) [+ 1āVw5k[{?UΛ+RKHe:$yړ 8#.G4&r_5Px%jECHעg?qG.,t+Mم]|."jE| wnG7%kY n'0C5Ȓ#y' ~M=u2>f{Hqkq3Vo譝ڋ? ~ sVI4tnDg?h0w"4 ɑ.'p;5Nux64'n %hp BnGqVil[clc$7˕c:q[r* !PUc);$Ż6O8 [UWhs=.Xo&YJػy{XPT8`Īڣv65u됯oUI"Ȧk'{]Ňj`aП%Ԅ53I[Zq+OwGǃc`ľ1lU5uwDvCJ jOZ@!|F9N3$:0YH's $qԥ=< *ѿWbw.01X ϒbiV]#G{ ew?ack ;u,`tV 1ITrh/UN܋Q6Ɋ\tٺ#+ hx3% n2ް=Ţ'5Lh͛R$r-w+ŊVy ?sz I1 e68e c{xv 6K!F[}z h cii;Y<@)^'[ĞO(mc(AbTo;mo~BRGK/}\7a z2m1wN;KZΊ &=R.ln˂!~˿. Rql;>b͘]~)||Gl3".x67Kx"FcNݹްcoF:9syW>Ȥ3Iz>renԿn蒸Zmhi͜3+I|eadRMɧ LG:IzKv4Vn,mQLGIkHOĽ>G؏!(Z'B&(WM̴T_=X̗ӫdRAږ[J!>g g)?ufW?cA3"ENvKy3~ϟMm+m6yy.ڷhR8Fk=1X![CYD|H4t%n rRI0N܇,S= eU:R0H3gU S]ERJ'=rS4)|ҺeLǂ0=4Z}k(y:Pd49\oN8b+.h:6++0Ω;8u%+d]Vܺ-7 ij dh[cx.. جuSqrmUŎgH N  qȵFsE]1U4]HCe+f3l.o+"M1&0Ѡ~KV G_hD2>T%l9Ǥ('cLL/ba#1_M,Oc,(*05|%1@_M49M9=2¹׃HdqA߆;%A9`K_i7QEwFs1m`G{KWDG((b$ӟgg7fs^>,]󺜜*L7(J> KT A?3>T&Ӗ1p..vX7lw߯LcC!f[t05:)INS'8yuBi|N ڎ"<[4G[cΓX($Ǵ[p{88(A7]}s( +ks8-@.jkbqQ?f+a T&NdE| $,MsWmlAN=6gd |0|G1h>0(7ӡ@( ؟m-lMHS $1tu&7Pn6ʃs,D`,&NPri^X<Zsc䎳<|/)dHj"BKR9 4޹(x]({>yz0EUs܇eZ8-x4j#Dž]lܞob.e˨ NȫIQ<3+U5 YnAE -@DLr*f\u38isWtn+2ŦAm?IAeĚB& ^6bJZa>{;l|$;pfGߦ}ҿWfX5a>ߵ^D lR<&*{dUɼ<7,@F_vi2"6P LsE#q~3ؐ4E1.gAߴJkhg%o3"3"6c#Tg q!9'M ދj|01#LǰJWr3`T47[ͳ}}[?EنC;gSsb t$PVh mS|'tQׯK$va6s#Eb ^B_gֺ=MFx8( OQq'#r?1чkhxG!yg|ۥlINNz!NP]U[=R|wx,\J(@ ; Q?%СZ`jm\'PMyn8Cdž{讹.ąZ*!A"ǖU‰M+)&- eHɏRdD>cщJ\ēVJVM| cbdm@e'_,u@O]MbD Y2kffw,po<дt1C #:KHgz]XE4ΟtF|jc@#9-9FG-"{?H&&>+MA$zug׸Co].*Cf m"c=1)yE^OLrV0{ wQ[ā6s@r^xazHV~ Z R!^jh bk,4Fq<)h0 A2L?$'2Z[Ĭ COm g:*y0]` ({ WJ2K5H)zec%7 g" n'$P!bj'b_,*y8uÐE~+鶤D-ܨxVeatamqClf<a @xJsGE=aȸSl_A"jWN4ڙ#lH*1}͍ }DՄM~k1~5I缌ZW(\supۂZ,l X!pq∃,Ƀ-981&I5>/RvbD~p!P\Oј_{bQG_ՎOlVy`ig@M'h"mkpuiɆすI$>k jbgg+ "CV۝ Fe@U#X"`g")IxX Rڨ3B0^Ӿy[.tfz0<{Xolr7&$V% rt9*X?t^2ˎ,ٷN#Hg57@诪yR 9LxE zoApTx3w>K6m}ЖⰥYPZsͲN8l.eà:3ܥ:쁉Ga $A'a{Cv[D4υK )XI'5q_B)?{,>.V8@O=}G*Eom0ykmAo8̶’EfOC 0ȭw l$0s,LV64 rVY3J8 N`Cŷ4ǴF nw8ZINKG u ;l<^|2FAZzwjdacslS0 8׳|W͔ ]q8%l"hW;[ئNrk$,pD |""ǚEŦO ?:Ŭ1v]?aM1fyVoue\2VԩsЄ 2 G|Gf}mܓvt\YJh1s`uNX ᨓ·{Y)]]BǏ9/ʧ7b4{=8uZg'½ \dRﵠ:O7Y4OӽB<g˰6"n!>E$IݑVՔugP+tu Jɵ+4/֕# w޳6Z>IpO'߳1.SQO/D5xH><"1]z傚,!ŏ,X`2RiWETpM"lj#me4G]elӀWo6e=֪8f+i!Ϙ ō PR@nx:s>aF[ۡnFz2j~n`Q.MCgSwML ¢`֛U;\O`'Tž9XY3Ӳ%:$=(a*`i% X`h7\9nQ,xɤv-6UmQ [KSF6 ֐ ddy&TԴxk[67hޔxITmVhDdAٵr zI= 27X"{Ol93!zX_cp_t:Wӳ:oTK&o'ÕiyҹpMoU%1GSDg+bck]0I1襢ohtJmnRcynQr`tz:+]-N0 C%'p)9LW*hNڢF`?4d" 8Z@DaX4&*5Z_LGKBӷsC\)rY Z{;8#oMLqXuUE$g$E+Zo)RCɑ-F/2JqOmut€Vz.lheP5? aoXu8{L;]䜤NQoEazr_;x1qz\&YX?QTkAV-}Ww1h/x[OQA, {SQ d2r)z`FF!Bw}^ ," .:\|vT7XWp)ݖӶaRuAf#>j? եsx%a4`8 !vаA0Uud+潙V0>3:Br. Ä;T M,~$Y.?E@+#!K|XrN?#m;sb",ft|EB`wc+V6xYIkZUZ [psqwzQ{gq0$y#CIʎ]%d @˴wK/i}jb)H[KM\*Nfƻ.!T1>Ôk YT8\֞ȶhsp, ~v + @QO>eobr)Y"~meº~l-ov-=*ax עP.d'%MCPsZa@xdA̯ ZɴQUfS 9?4$),Ȑ-/IáiYTH +xܕr `qэro- "vICJN/S`qS !Y򓴱g3?3n=s3^85e:hŅGYXUG.C4իuθ~S„eE3\[yaeI7a!ugdbag~ySgVs5|kAamLUoȨ:t)oo1կ"J,hEQh!LmBq\^-f(*X -e_2UArxCW%kEרLC^y`fP2k*+M)nRwYF%jH&¬ųq ǫS˴C\*h7oTk0O˄pI Z+D8#ԢWYav_⮶h"㈭oG0mY"c*R~}9O!]YQC W^ua|\Ώ.w?nodrF V;i¡'SjhԦc 7ls]_۫]5$\<^[7v!/l/!9 ?XUy D^ox1!aH%C3ĝQW x sttaLY挜ƒU)5չV%uSЀQH쌮X{ F(f/j$K<0J' Os3[)k3ڜ"abK =1+TTn 0\4=R:+ꞏ3a?񽒮OȖ/4FFAC--|j<-*nEгKFktzuTNԍ;8W m̖tHw Cf8 U* {;-::FXmٮCt>SAϿ>2wMUV2bSyFy*̿̅lc /b0D_xuW=V- ֌Y~(̻D! &Y>\LFyK^0؀pSnFú}}E8&[J2˼d=ݯ_cHh5e[K쩜W^~詼9Ϛ.ﱯ{|%՝yK8KSӞ/eΌW3 h}ܩsL5A> |2# ^ܬδ  6N0!UT`F\O<؋8I^c99 c~P?$`++1ٲ1zXSb\2[h&Z"5(uH|aǥ};)ZJin2&XĬ.p Wì'<>Mn?+#Hf|WoA߈ao|R0M+vqiA|V%[}'wS]hԪc.sǽl3~م >+J'_:? 鳬u ԃ+C BO" Iouh) <1],H^E;2%(?U 7e$؎<7?^w!p>n,j`@M_f.&Ϲ{o|;Z⻪Շ WOZٖYrZ|gzDag6F?d>/=-on F=0-Cvs{@,b糟ړYAsY婸zjWUw-X#8 >ׅM4IM6^d 'F"p+\rFQFп܃JYP (g,YA@NJ8+PަZa~6_x=r?wh r;cf'MEQN%.&@j|Y-r?(R)Af@@BQ̋/9>|G*e3tŒ4偯WFDT6n +4lveY-;=K6@:sU7hcGLgG|`(w]2F( "˙#g *4:tk <93>&wayMn{C$Sף7YҶPct5}ُlE'Q`e+Yk"..I,;xFiJ9VغAʪ9ѹ44j<5kSJ9:^R#37'RoM)?Om+|܌9 7sZ'5v,U@p%f"!(<5G^V'soQſn%wS ;O] s$h"FGf2$)bݒ?)"X?:\v*?ˮ#,+4,[]fV?`ZI*z{ bWp+~xA XXÙ7`4gki}TypYҲDPZY#; h`q':Sq7l{jy&M!?k;w;Zql#{*o#AGKX~m[_\9k:'L#$I{DY?T@mb$ڈ^SD6Ղ*&3!ב]G궣Tz|+sLft$ NZGGK1E1ݦ1)Hcdc -//™9T1>!hALjxxXU˫Yqv7/tˇO#3Smakyy(Ĭh5VHN@\w1,nVL%,nSh ڛ>:o贬2;sI W[]nʶ>ⱊiʼ<7nRw,RY#m8v]yJ|_.wYUn6vz.g`oh ɽYc]PBw oـKP%%ǝT޸K Pf:l֟у额L$~鰉R 8q7e*W*;hF}15sg}ۜLz1hyXXpE_A%̼a7::VLkx){ה>)`7!;žW›{OB7%}~2&sԼA+\X^)W֨dCajF>e "A a7#~[eWX~CP݈Xwec%Nq4 n^纱{)/Q`zx 6ʥU߿U%3l%0ԓ0t׫a8nУUvtiDΡ"Qӆ^۠;W;k*4>{6shk8R_S{G]I3nz/z5ekcX~jQ6f>$fʙ7!8BQ:VMQ%6^V$F*/'T!ں6,@E NmJ/JUy]JzBht3/T4 \(6yzI Fdr¥5a1Ծ,h/Ө!Oi9ΌM25 z1P~RVNwrZǒHQSe]s5KSr{N{JAXL~tvƥS>9,38·ɣd[%RJ6>E]IM?P90+VV3;؃۝zKr ]$ }ϔ̇LǞ2DˢѴMk Vh/-rFFl}|B l|a] $Okw瓻^&u~ U̮¡ƿ DVNLJu!{+kvNhم,ɌGgTK̀+=FRˡŐyRvs:Vp&Qx bKᣋK_I˞a7W+Үp3q3C&aW,5uKG<޾췾[q]V i $_@\[3d7eP| HAC:2Y/Cu i-)g|V7pA=gltP\QQ]aH.-UU0sS#u{yDe"WPj\RYo@~SZ<؏J2 EW$9W ʅmWa2Ջ1#\hs !`_mUa1qEbPS,;&Y$ӂzUDA w U'j:P_Gh '+b⩴uvХ'+V`lz+(j;&t{+B=ָ#Jd޻T DA:O7F%=S="1-E!W j얁@CmrVQMR^Df$}}d feAϟӑӦ,Tαj lQ@-Fz _hZ;-ӿFpُ-ڲޠ|Q-~)lƊ-7co4nGOIаf I HNOf+-q2W+cD!&4Lɇ~fK{P.%^tJ܀4(M. P]E =ZCh0-Se8`D97fg#w>@nj[h@J7P _E/w!J8E<%G@Hb*1dZ:Di7y߿Р@k±mRW~{VԀ~QM+L$ENG2SgfZ8|qɯ*MClkłT5t(O(xSVNDOt%J ! Lw8 ezBLfUj5Wq,ͱ+xXl+י`}%Y7;_RΘQoZ%,mi^Yv (,Ŭ ٮkݻFsVXˏdp}`1oj]Ygl6)pDjy\q&k_ݢM2 Eeeie?0B;Vn`Y?ng/gt^KUz3s2Փ6dzFTn|)Hw'7?^Da/M1+Y|@Rzjj]| S\/ 0${Ŕ;k g 5tGpT3#^T|y+%BUȨ$toW)taU{U~dOh˦_gL2QBucI՚ י֛K.Mн;d3K%izuW~pt`+t4(-T4+YG3}ϼ>ż/ґX]n7(t/IqTJh | drMZ%Zwm 01V*q3 PrWʩ5}y'|tr`W00)L1ɍv V8g5l|V5k%Pi!9a^g u 6ZzEUS`-2to>20]=;C[s8^-HiW]f <`">nUY/֐˯̻8T >Q3r@=NO<phQA]$h%be%r\˝:`ŸkAQD 4s僨;`0FCcƶs%PHMk~\Y($ z JW{Gt7^ԁ=:FË>[$MǂɦdUh]*#gpTJ_u(cq)Źj|lu!aơ:Ǒ,@ Y[7ˋ5' ?BBr' GE819$T(9(0Ov- !|"M!&ೊU0l}+w`M! 72궍=a+Idz{YP#ũ1T8Z];LcTs<&0^4 nc_WME)>,}fl_7֓˩Y*&@I+/{}kdVu -j^ RIB8=@C@rqU@ЬߞqݘO<zM;keݮY:ES2uqӷ46uٷfQ^c?|j3*lf{B L- C~VEh#bz8ن< !599,^VN4U 1C&yG8^T֣ŭVJ~5~I#=^rgɴ),½>o'!KMsޙ,FBA!du3Tp6oN?ڗWTgN0Jל_@܌QL@ki t$Y: d:Ω_ŠU(n;dAѭ `lM+k"vi,a /7ZĸP+ma/5'_'gnV 59KjFud&L,_':s&>@ۺ -]j|~WmCtN̂UG+Ϡ/R5 3n*v7k)vϝh,߯lo+g\oϷ"]ҹ&|ۀoGE#)i,WהXDfF}K0ypX~/ZqX?QaS] [@ԧ8X=eF ύ3C_$bLTxɗ ѳiCs w:کDnT=}94KM.pG/Ы+z]YP}BP}vt էcl+pbVώu."~^8̯jLnL#Lh{p5ސ AC,ay Γ/^,!dk#dgˍe\V0voLjG+feh /.e`.pefzr1K +?)t t͖jZEK=G,* H] v^u~P]]@hG*}UAe:HҎ4FNB)}Λ_ϩzlἏG'bPy@/!sqM}5U&C~`W)f+,o~e&MM>N!r> <#ݗ⒤UgشTwK'Btb,zi1Xts'37g%D6pI|hva#Ӯ)UvW%Ns3U*e]&ii}-:vc8Eɍ%o*ƕx5wfp91+\(qX-ΰA}r?f~CryO!x̽Žx?AkϠpfIˌvXjASb=Q,49ǕhbP.(^jsIN%-w$"mg[lJY?c`R1dj#ߺjey8Ó;(I~%'%6QKEOG\^yEɬMal>m@_kg`ַOx7$6K72 !ş 9B3(˿{n*fG ױdf)Jw1;?`[9YIΞrY?|B&2DX'8:4([0x&2ZYS?Ƈg63EyPض`}})?!-S= KLVSiHO`rͬwv/guI,Z6Tz=Orؼ9D܅2i(%wL;ošNQ =םs<&0vZRH)ozwY]a fuCcI(ܑzb\1Ke-{ I g g*e5v,iPKDDˀg [9 aq%2 c _Qhh1&4J5e1tnD"ߵ(˰ ,V\z!oIػ yM2m ?r}BnhyUhYC^T bL1z(0bqZiL)@ >$թuA?J~+ 8;Vэ[NeU90IPK2ޮ]WQvZ);ѧWtN>ͼʼnϽrCƒNoit.=lMc)č{^4xb?{H#4Tmdi ;|UNp8z ևA $!}3ɠnZqcl*+,cj .vF0Bͻ3+ q4- Bl?/d, {vECڎcD\)9})A`:uVmPe0g~.#w>[혁{I|[.F{) A2 u1Jxπd2;NAcܑj5yp;z['s{(jq% gh1(VCn۩}k|$WW,q TCzlsmwC)`'́{~u7_Y4}N 821DF x?T  p/k2I|z5&۔L]@~x~`k Ji0yU?6#q4rhYwE Bq\Lrgwb-am2$=&Ez?16<^獛!N 6 0&mW;?r3zLBȵxLeA4\ʼ} 08YmN+?h7>QOjc"fb e$g/=JsaMZʹjj@͘'@Tp"AIyU0}2j](BSKW.!F%cdhafwQGhjR|PAglv MܛщZך|D i7$hd4wXL9ׅ@d@a$79#V-`^p5]OeʥĮk^^ݦ.OAzpķ9NE܋4\bD0SUvǿO'tu"yye6#h*%[a[-XLp _ӳ:jBYq9SAM~^6(8Q%b p?t4Dhel_ʸ2{zY:rb3||K"vMx hoN/17eW*&: B8KX 2Ǿ+G!1%Ws[Te3+rkɄ=9[!˛QB8bCt'|,*v]Re37H p1*E 8@ZTrj:RͣVRDm+/H\^,䢋ciB(Li:0C"/f?5.gfaOj5GNq}w֊)웞e4#PЃ:* LL45G1 05EwUhϿ݋]O1Q 3CL,[&mǎI誴Tzc|ڳ!zkNZVų~>b;^aztE(Ua4l?~ Kp(s ]Î+_-%)~>JۋGczjv6;ck2hlb6ʥ&[&:P& JdI@"q.E _v27TǰMkzTdBS'ԬP3 ֿ7/%)g!1[+040R9Z z`VHzSi".뼗o'Fe͔%?˝TfJ<ڋ<㓻_±RdIyktD]Ƹf"+׊2)c"P 1@r|y TcWNSL؋bl"Ԏ*АM|Rvj0Nos?*/b pZ{)mkΥ7Kk.-6qg5t0F7Q״q-d;T@%誴rRҠ8Øl]5n[YNPo]!}%]xwgt4Db8:%Ì 2kD#`.AʘMт';RU*D0eWg4؜ax8PpPIFӢh#c`F @>.hS@ ZաݿNj4Q[BnL^6YLJWթ/\IyA >. KyM۩d, X(zIA3*L͘Bd}VNy'Ut( ؂ItV[2m)TNR&D~>ɛޖ .E\DX07]B?gο1J slqne&w0CsHl6LǺ#xAIQ K"$Zil;Rϩ!D(1PŚYc p;~s.|*B6D?y5Aƹx"g* x$睑0(xY,ޅb#Pm[gjzJ=c|q}VR-;^C W׻K=5x7kR!,uA̻TvNY00D.64u}gԇy'ie-{oV8X9*SW%R*q%.&:|8Y;L7t\wZ5&M=ZCFU3 TTDc6l:x񦚟2i_CT|/ #GNn.ս*B8QE`CQ?6V?>Q!&X0D9W\S8]kd>9²SwnY_vk2Σ}xTw! 4t,JZ=d=cRRS>yBj&B^)sa2a@CEbC[Їgcƫ[wI"jA>zOT7oyFY< QY[GHX9@dL}du:zXoGHo/PorOP#C+1ymłr:m+7:s_yd ς&1pt9N)pAV),#ނߝ.p$/|T~w oPn*+Kb7>X >0)h%CyA'FN{7\26Z1ƳT[ 8gɶRP.WU*EkYAYOrJ1]BI L,H!RQ3cxu eb|8trMvl8>ӧVk9-ZyL}.nƼ(3HI]5w;#Ե@ŚAXc7u[c܊U!J.l[;q2E_rPoE^m`dZXbSua\o zw _T U ^:SBzQqA-xuU|7yd؝V9_;콋/d HZՌuرSebe1% ׶zrP f,DI,Zg*@4h֯a]͊?i!ܟP̯=ˆx\q,T2`Nʧ'Cb+Rټ] z )1 Z`/7qܯع}5mpe)ڬiZAϯ <KX_LФF WO >~Ю1LTˋ޹_0o >sLW o+YY·.VL0U-_[@%#r6`vZIQ<|i"FoR`ͪFއe;XmH<^QX)>m[.t(WM&C/ Tw".=*R^U \!x^)D2 [[3`L05rg)ai/0"!>[Z[Vr (:g_KN֩#ԞB>e!c g4RNr8hLx1Z;.l!]Exo1QEHeHA$>p'Mĝ&%:v"C 2~NON2->΃(\)YUH֧4VZXz6& !+I|ky~sI}ЀPtOa3y.(2i9tKL/pi7 #xL~ ?ebaF:?T`Dl ëIG= Za)V]!ܩ ڋ9@1ru)"u}{iN?(u=XA $ZI|NF- C/\t*?$v%y1>"{ӽz{5bEd`hّLBR3:|YV5]U_vl>+x:Mzo-۴=\1Td'l(fFi}˺TA1UeA/Irt Xҫd &KuP@ qTײIk rBa >‹^ȡQ#8]hpu-:k=r<td{ҕ1 Y큀G=0}|"a{=^.zY5of5l޻"V 0-DҎZx7WUr_K!qT )'N1?K?)|hݲP?6 ōSpeʭP.Ln$rL#2fhuJ)e,]Z)~āѴSyP0>q_{B:R %ukbFU}'ZW yū-&vRmkYvd7tT;ۄUι@LypSXYxhGq⪲  g`S9iI+d_((ǧ+ O34;Q˧'Ԛ.-t;}niN%d_q-wư.\q- XpgS 0cI qumDćl]͵4OT֫}ѝ1b^}h m\:aoHy|)əXL2ռ-Z;O+C>ͨ)(,bp39Ѓ\(<k#ݺkD6fMj?36.) صEWɽz5 !Śr&*{BrM7⤞"PՈ"&n@U&hŌalEvdeWp$!rZwo+ibǙAsZ,Tg6ɒLy4 *Fx]N"Y[~gaıqXo+eck[\S7?%)e|w/;BI\ܴe`GW Pc(G[tnDH#>mԗ}Xp [qZ <)Ѕb<$ݠ Ev7.&]M3kZۚ#L*qJS(kl=#hA%2K:+] g[LL:}(I4{)_E$E3  ЧpίuWMcAC>zH}̝{T uKd mDvخl*Y 䮥/;kx3? /%բoe%Qn},>s0dvJȋVt\^m) =&LlbCwz5ZPҶI5 f›=H`CEG { &P%FDǗ8_=6gD 1UƚSO/kC]5𼄉&z0lꤕ,,KqF?ZrpGX75\ȑ'؇K7ܬϵh+As_Id8q X.oq!& I)]a|= \!I9m.f ġbȣeM:UK9bfP[ pr'ӼBGK$(.$h};8<0=cMgԒyOx9';U(+*<{[e9K twpGYHn<ڭb[Gj Sd7t<#w ޒ f(qO|=q{g ʎjGxg0YXiJ=E3!Y\j#>*drQ !]b=v30吏i{jYukFGϫ`'1pS nn5e 8 vZnhT ֤$E{p-S^2rBC8~݌#£@ŠfȒn1,^#_07B3j(?/`,d!u6d4c& Y۞-bGU' r栜f/=$A!k h*c4 8 픱h^'AdSVxR¦7Ddf$ъ{vU{x<$^T$.|| 7<^n/M:(ZA n<,džf4Su7hq{,pSwG+vjpo3_?_t}h!Cğ|h[ 3w9aQK1)"G{U|A(@}0W2fkBFn,V[2 gOpyzzX5ǜEXo}Hv,}[;5JY>7^ʌ91RZ1^yUݾ(6M) 82_,V?m;Lr躺`Eϑ͇b9N@#q:m%Lr)6G\ 'Y|8<}'ʩÊ%у#xҜd~70>yjqtS9#)9;#rHJ!E%'OD%JTvHdγ?(&aj U\j2X݈أܴ7WY}?q[+ImqH{ND! ȅ F?=(s]5e!+ eLKOFO[.HuFAUy;}{ahfLqXLM~)" }ˑ<`T^h9ӹ2O*JOy 7nhql'K*t"|3iLhZ!У">*NlCPqq4hC, =KMў-$1^pEri{Bcn;ty4&hiPoDGϙM_ӎ(Vbìym!yl @^ ś;UԂubj0u(64yIpbuk~1me풌v\o1Pv̚DC1Kͱ4@lRU ڝ3vҫUo "Mb':(2217wL-*KlW\ 5qRԊ5ŻwpqmRjVxHl+DG({E|7Ö2po*=vaº':',L)a,CϸvM{`` = uZMa H 4pu9N-sh]pY [y v`bI茡|4?q|A ם#ݽ]%E 39H.Ņ a4sNʤ5޻S6RCG*6S?HX.~#~OOUwg܂L.y]QKn<)Жw l {N\rts;aY+{zHvr&g:L),Xe߻`b_81[ae)vLkO3 !bw8blm ')͸M4f=a} 4Y+.YH4 TM LRfŘ`d?0d$;*dލ"5ԋwDUE`a,Z/xq_`1N|4N{эv𽽷hj(n ?8RA IFƍwkdƠp-Ywlx߉-h%1˜+F+f"eҍLhH"HJCGkC'DU~N !D̈Vֳ)mXMj9zD`E!-k?T$L#@ɍJQlmls$HqP lUi#ZEE4䲧X?k%-o#@FMDޅLVQ5 8%?RӓPeM5.{'Xle 3nTk;ټs}(:rHY:v:qR|̗!% 륉ԞfX@i8^QN7Ro:A,~deC~[ _9A2AOΨ'VގTt3"s|Ǩ.o;E4F15QzMRy@^)("7gN5kv5ab RŤf~Y>~e_mҰ [GODH)O)-Pb@JC5BG$G+9ԓ9_O87KD1TP#n:OͳW4>O]I,PUAFverVEٻ Fv;>ߧIM:?Iv#?gheuV U@nRjNpy'4G ӌq:ݤd{u'|[tO?tq!Jtjt3etYLȧ5 EO#iSw5b`-MYt'uctOg% \ausiZY>JUC_Ҏ*_i=R|` MH<=ۆeYq ?<hJ>L=bkJ ܓkWAqBTZ@q(BWU~R9#?)t5&1lņ _{`dl r ϱw5]njϫo]~y)JS{[#KV(h.}u{F쑭F혚, 3P$! ?@'0}NU)%42S_Ì>0IBIp΀9@aՁxDuyxAZ\Ύ11jIsm^QS1%76 M4nkjRSifn (:eD*x+*Bas9TV>aiտcK;ݕA֯-g0ũ MVYޖx _mQb)rUgy ]C34|hs[8ސ*jNS-}Qv>O ` R~ÜG:B;n^^_Γ:~Zx2fVţQ,ó]Ɇ)^7hcC1L7z%en-p|=F?Hi+-z!AZ5~L)w)CRC#ӃJO2w^3dĒdb̊8:~eҫNFޱ,޻l͸,Jj)d\vd-yAJsun p "ǠJ/2y=}*aʠ+aPPOe|Cq1Rg.~D z%e!$ĹܹiVEgGmN$#x58Ri9ۦZ&vG1iĚ5n' ӵlrߒaoeu`1g,(*$ )M]66~@c:bKFРM謁(zmi_re-%]mny;mx4LK CXq{5ޭpP5 Xh ̆!xPRZKBu^*: <#FFۼ轘cr7#5;$Fp8Y 3iMh7dy.Y|P4~&W1S=jy!egAй63r0vإ1<lW@yc tɟr|S]#+ajPi y< K N}V%R )a鹃5?tjD RRI<ɋ7Ns~\zab(7WMl\p ;9e$4P'/ JkIrօ\h\r?ᱹΪڃTs`F I RqʄnN1CfY jw ϼO_B)ܖ 4f8TrF~luG@MH4W4x9Z8/!_\0Y [T.$* ve01g;S|9V8*OhseI7`dvFMҖ>V :8HK d ~"acHw*4/ q]'bv ڌk8P7x[zB͇IîX%pʙ#b[HhAddTߡCo=>$l|j% bǵMfŪeND4*Wk0d:RX{pW fQFV}L )ȰEUU.$K(q`놣sqn48T<i{4p__{ED_V1TAϲE% hGcGolgt=^C)V s׋%fd5$7:0 z361)rZ/i >QZD ht"dvWY/aVЅKǿH5¨&Ҋ.2p( ZCGcԑ˪39bR1-MZG6$U-p'a<ڪVHܦIVLROF3݀#7#3:aݮu@4`'|򜫞I4 c7 LÜE (SUv6o~Dfݷ^xCH8U&|΋`Lnn0x% p$ e+ S!s=M5MIGø}fo3de!aڒآ>E â@6 jx[)<(@7>fH >ߞaρJ⟽d۾ŀw|tE0Q[Y3lv%%VHTg&qvnz|9XbJ OoӗJqA6+]ʹUdGVccTlfgͦݾ/1dR7}/^doa Kn9i|RG~pr(8-DSzDHmd y7:H{#QmX^Tk¤Tbn=ZJjMh|l7\RqW8nt+,DT6AETu*%ՕȨGđ2$TęO>‹ĖQ륐J4SfJLK1p޽/]Wo@ojUϒKJuI{|$/oB'?ρ4GǷiClJSi~.)/A+ʩY'h\vk vv킢7ֈ:9ƗDWmGbie5]53k̞,L ՛R!_X8[8y \='/.l߄u<%LlJjdZ-~XfoL6që%~ .&sC yuqqۜ۳YG6LX3"äb"EcJPƉO"u}5]3rΆ}oqxśhb5ɫu5pX?w'$A`'fo>,|pG@oZt4;:P7V%q*_5lϡQ>Gr@Cm'Ԁ<@ NCn#S ?캂] #Z"y]f -;9|u~5*ŒC=ILCLBBȸȞHҌ qus"D:co;; e)DEIZS9~i ֢g{ߥ;VM$~k Fުk]c\s>PA l4mKчJ<1K?鯟2Ɗ_BPNhś*j ػ6#~?&÷dzم}Xb]k44?ct6i8{(}ODD^Rs4!Sn0(1oR=Q$Z: ]Z>+&e3a!/PZ)c8#ǔ(qutug hݧH*Bnԩqnߍ]SÒ]pPvT}2ux!ɛݹe4RX(֯CyLa7r}4BK]]T#hwHP!zdzȡB/+': [A,EwLxs4(+oe HejajrZ.gHOnJ_! Y`@07^:PAZԵ&/kB3=!& RTc*w-QhΆtaz`}|6ޝ'琅[m%"C s c(Aܓ|8F.|3&HZ0M^+WcS3ȟ9{x,~(]U_cxۣek!m Y}+ɧ)psB%hT5SVlPh? :+hNN_hGV sT祽2bGBUڈN(vq|m(ghyg]11jZKz!$#4uj >;I>䙙ET=XT8kxda\"ۓ}|v*^ 4lOR8ٲLS{h0% 1`˥w .[՟Lu'0U1ſyy9Xb&tjxEEvlf&<&m_?uD\9V;P[7cg:g`[eqzQP̎Zunҩ)-}#`k8VꛙkQH,cG}1K.HEJU~$jǙNyW-.G4 EglPբ3>jl2xᶊ3/z O$vNí¢]U:3-_vZ̺m4U/+l? xGͺ#jk.CP chˠD|h ڲd^d \i*Z4Z0g)5B(XDMOeal9;zEzdr]Oۭiv 6,$p7 " F:0d~XuKU N=ZFA2+]ؔ(00IϙG̤H>(l(On=A:,&kYDcMh( ?-#1?ڐD~tŒN$~p N#n/dajكX_ pg>U|c;A7"&Bk5i}beٚlzӟ)`Z""Aԩ֡Sp೴>,uW+OJ"Y {^#;ؖ%(fe=|ۙ.ׄǗVPwG?W52l ,.wbfɥ=ΥpXa\J7g]KNjL""%ς4?}b/6N yTkT<!dcR2^KD1-DM+{q,٫߰*cjV6r)@4)IN4S״pj=:!ލdƧ½s͑0Jhx4x$!ŧԆҩ'RQ.6)QHl̉>Áu{l7V ,6cΐաZ"оBJcU ~1蓴K4qgQ 5CAF5ȉ3jsM̚5(*֛Sʷ{Tʵ~UGআ D WО{DIh=HDiͨ$^wuH0r dnWlw;$m\^VfQP @RedH"M8%nC^sEoXUhsÀG C+eJWĢ?! (<\짍*ao+E Rܺ QɄnrA|!ɋK]6,KEJo@9@ J҄GN'%Xs.m̵ HfP&urZ~v%NrIV(IW$琦 eOY,.{(Bzt&4&નƜ*]ǂ=%hȗB9jl303a{i@RiwǛ82Ap657l{figald!hpc9W4'LD`zӧ`(k~rJ#.F[_n,l*i0G S=+Ġax B2-Ržxv;l^}q #PP-(ʦ?߰%Y.#'6RD |>DT>y "ܞS/~o Rݏ6Psw,kJYW)nk $ F]1w5@Ѓ'nIYH'^ԟ2Y#M\s&ʑ -ŒƼ;^S,Df _q@UL[q{ﶙe7cr)INێ)Zp5fz]ޭ-'ZL*+߯e)Mj9'0?&,3kEE?=/z]YN;:)QlKb=MXL_5ۥY8E5ݎNL,$B}ؖ0\ dP' +u*%yF׾d g /[cZ Pӂ@ңZ( $؟?DKwgv8cS88:21dys(9h;/ ]?|PΓOy$~w]ͫ"8^J*{k!͖"΋BvaWTHT#_(0=c5y{ LTC*)]1> OQI?5g5xj9 tĺKVǪ[VJC<>; Qu10{ ; 7oc\(78yPM3$/L :R R]VW7@StkbmOU8.7Tobɷ Y BoFu;t_mwXsH^C iͨ'ir>[&A$>Cg(?5nn/?)Ntlm֦Y,D,∓2T*ȭ(VO! V|h=m)I|4pSBo93h 쏷Wl5*"ev5eG%v&eLadc9LT ˉ(qf^qH&J`o~$3e?V44xj<4)hW۔V@k"ߍH:0` F>~]A^_mSkLI?^yfs3s^o EЙ FH[,ҧ*䕃I`^$/jfx+wѯM?@[Vބk(*S0wZ2áN/$|Ju1=7dBX,g_`>dPk4?񌦲E\ڈ/Zgr;g&6dx4rjcM <xWpk#2Nl fJ c$=!a:XiRM`ZK*Y&OE\ i譗FŤ-؄pK'7[?^G e&>4|Mg l8ǜ\CI1\E+Fi B\N-';[YXm/lkBO!Gۓ0 bO@ME.Ԥ7z&Q_>c$ 1q2g^ AI@ M9czzQ1xlBb0Dd.^t-\=Ei)K&pdAUd*N;zͣ*jzV5[h@7Y]W~y .J׋r;0࿇W)׻HN0 ҕ Z֫>i;}WXja.^/X_.GD2Z;l>,y2Dȉ ^}K܁kBQn#vOю!7}CJ,tڳC@ٌ-?N$.>?]y+5 lE$C&|ALxrZOH}?TY@K$mS1 ;P̽|UfZBY?۪F&ciI1_,#wd*0?, >n}U|p8R{ۯF f>і)X9y HD>ғvCR6W+_{` _Y>b8gq)ʆg1W*݇ ~.yPy6|9s~a%+ڎz}S@@Kx0g`% }O!!t!Hф> $ {"߲z<5w ԕ0r۹k$K, ^`ތ./Q{Xl uAГoh`2={\PW ߩtق7Κ!g[] I \혩'J>aU3IAƣ%8yq &"p9\J&%;>I'|ۊ ^ S]r4j-XU07 ظȳOw;Ib[| EUIxPh¹A'EN0"u ŵ^̓_Q I7 \<'l*], 5揞q7cxP /${~|"M%CVQYhYss$o.{8*;mEH  pǪK#<"&0 ǮN/θ/ { OB@}[HH4fo?9U@ldsG4X u($/^.&о﫣V%DIx&J g >._w@DBsҘt]{Űb^?Ю7oU۶ ek&0u1rlw`;Uk-TWKCO1v .C O.C׹Zpy^ݷ١12𣧬I.VXy꘬*bcA(iDWf/.WGI[#Qap6)% ʷKHMxTwOZ?KM3n5bGVv2#-]Ni;27BcFldyr`3*kϖuyW۬5.5;쐭INfU&u慍q>˝AI>T9QzWz6Ddž!uS#a])7 q혱2RF9D,DkB!ND/db81Ѕ6^ż̯u+v.IY ^qղ^޻vZUhyH J>}~@?GRf=(YbwCD qO91O](}ʽaQ04KA)RY.W:`,9]NԋLjo_K '=lv2;okKi*VSZ;cc1ɠ*9c+:Sh5ld%QTJ&š)ԴBkYb׿蛄oH`$Kt7Ȓϴ[MbZOCZlD 2[e ] mZJTˇQ#$7K <*'i%"b ڞ$i?(&x^h7 9^*5fp`xKDJe. s˶iFFU;ktp Nň"1guڠ7M{A jDM )VLW)pa]i?L|+kAթ_L5Zo[(%Yl=[^PSqjyA8 <^x{aBTV 6_UG+_8Կ/Oۻ.EJbwgxuuZ3ze(<`V 3F ] [)30rϻ_l{"Y@{x_[%ɹ5_+VrcE&`O9iK z\E~$Yԅ+~ֻ:H u[ڻٛ=w0 #N#㌭BGͰ&x`wY];7ڗ(e˺|̃<$Z܋<ۡB]qRN{^Ye#m2Niؿ,0);66>KkF2- :m϶ FqRb gUʺ;-TEN_8/"fEHd"`}H gµ1/Q(hO9 ج>.$?-(,#*X?"C BPFy$DnvzL"C3Q"7S2}i("bxsEQ2KT ˆeUOlɵ(^RH ]<ֹ}aU??[,8ޟI1a%?Ⱥ$-m 4s&LP ^>D0?{H%ķ ޗ&63n^ KwO@d"dډU+dٿk+ʤ Ű=^z3ڭ-G6(мffF'U[َqhZ{dx{ي:kM縃H^E}Mbhj8FV:7rWJ[oBW4YK}ZMWņ:f3L0?@gv'Y_d :欎IQs#ܭRuLOѫ0c4R<6 *]C5{LSl]#8'ncK&w} B$5Ng.P\qL"W7wfB7D3*"k&$2/̘@<)LMzcl @t@p5cɃRƞC/WQ.cVzƥBVʂ4v9It ~Nʤ tTN>**e _`42+%oj|qm{QBXN\fWM1`6xNjsk}ʮf"4 a2M0hDLR#WXS zs>ҎWjU*ҙ6ej.h-͹ʂ}e0ɀنUvL6_E"B7uA^cF,Z٧52߆?+l+ѐ'`w)5PeWY,=qjէJRv-W}(`M`Rr fX$QƵ#Qr >Yg~d\# 'Fh2obo1J㦐kƀ\ }Z?FB^2Q3*eZ ݑ$9R>bh땓lq{2BB_S0|J gE!:ouJ`cߜ/a*4:=V-{jMsjAء[lxZ 6A_;QhE{yd?J\LޡPW2򛂣qBy`"Ρĉ;tD˲٣i[6tI#Lk!{%Lr:=syk].sʣN 3-yI i js \*WR\:/Lj=IWm&r.}8PNs0.4lwjӐs LMYe,NZڇ ' 5TZw1p'dUUK* į{==]5A~r1U-|8>Vr&hܖFHѨlLhpba19a?bN$6F o5H\Z@})?5|'Ф%Khs_8btP4[C[&9|[k!{0J*)JA@C(}?j+ӱLqolF U'BY=lSF1 8;ԞAY!~0S괐K؝1~ޮ#JaX%A,_,(G{~UZ0{k {+@$&I`n<C;B[gv50.؉o9{Ezg(AaR0BH)9ݷH1x֖J!ZiOryh;W*3Fӽ WG(dMyn9P`PK'1:)霠9St*ҡ=S"/w!B;} 5zgiB^ m {.RS> jwAߢ`hL%BAq5&ċ,Q,D8Gէ`ѹ63ߦ $L+RIz <[M3o?>s`L;UHH֧Szρ^B](īE@w#v̊0O1J]} x,ܟJXˤ3znk5FͷWJJM|Bϙ J6) )( 5GG::W f5ETrye|LsBӔet$$*_э(¡y*7\oxcirycO<{D0AֳECҷ*ܗ{$af*0_gwߔsz[m^~|\((wT31D6?SeSi-w DPg|5k%or5b鰔1-oV~}9F< >y%Fcs !fưE5O[`RAcHƃƚPP~ey Y *7"sþ9˄Bnwt|ldF)t ? SNe/ZM;żZv:ՆdodM0܍ha4#BIF+re7WX:Fl麙 o,_XPKi\.]72 MIN pr,df hGMYpQq&؈U IevUCfu&B\yI+FU~d |T^"^kɶg螵 gCff)'"#(m"ŽqV@PwQ1{WL2G$ځC8)OYL(-k:Y[6$ѩ)۪-C 7ŲMЃo']MgtOII"nNcs `j|`IUԱ, dLD> Ge{(dZQ.",?]h*^ w<=xGwayv[c2Y:U6CEdwMO=`o *_WSluBMbTU0Ej@|O}hL>\r *J/Ƥ|#jdS-*x^2zo69iZ?p;禱:.#U͚Bmh H'}Hyzbye1b_)dAjPd|kkrMp?队Bm)AoQlT1W=oq߂Hwcm282}B Hu֨FwOF\ɅaV"M$U[iQ$)* 3!3S|g {<4ksfdYo&H˒a9EN_Hw Nqa)>byt」ԻV *l:Ӝ.;n࿜DY=nnZNFV$h<"{EwQTH^OшS6{A xKEQ/Uy?+247bҭpqM@f›S=ٛ]y`SyIVr"^.1sToJp2x *=SRЎ^NX۾RBa36!Bպ2w&KM.0O"/H Y#Z]1%di૏|VJ@Q1JwMeSi9=Y"r(gо]h $@PP&2ȟܟ"tdcTÉl /. Ii y# ϫb;Dci] C6, bd6/&ْ2g/cji"\X\vz0u@~ZxĴE9E+"^&A 71)lg^c-Ik;oFc2UQȀ)$Ty;QzyC0y_K q&>$MS5E{Tp;dVKXoiGfREsJ*?qŸ:g<8l &"7&!-œreG]n3{6Qu6+F~&ImiH;¿$J 3tbHjB| ҲVkoGOaڣ(I !ǭGq5lj:r3B{W $2D܇OU҈.H=lr:$q^#ݒ;8gNHǯIZʃ D,8}L~}hgNWyj6=H CHT?&J K#AAaXWɭuzer>Y4s5\wpiWX޶\Z%O&G|qK# R,*ӣcE}?^]3k 7jKU `qXr3)vd89Xv'Zi(*&B֋z(UW!<᷊"$5&Vs5Tp!!xyKE-GY:/MtW5DL'Gao8 9oY%6_k/:v yCaN*͆*b۴^HQ0s?-z>$f`0SExuu#"U`ŠsyKؔ1C@:83-QKu"íS+!g@ ?vߺeʔ, 'H_0x79S\Ux~q$I/eWMGG;3F@kTHܬ!N E%dE;^Dn"k60 tRP cnɪQjvlwWI{* )A.(-~u:gHt!9=#A݇Kaa=@kdE2%Lg \rލ|u}|l()ihLL>Ʈ;'X#vSw {a =nsfirc&DfH8JF"堟/Eᆆ,+*xH(˗A'8dɻp-E\be F%^3?-. *frģVQX'hkXKQD'#r>!^ P2,M]X76s9&JqǛ> njC wcyjg˜Έ+PQNϹ JO.lpp6A +ؽ˵t@[W;to s]ȹYumF<4վ7?AhO `m\؆FH% j?2bPCtcQ=j߇#yƊ2<;x!:κ}:~ˑAvL5f.}چDD^Mʗ|[^j9nԝTy.`qv̝|mǁ!&v /lh O\-0Ǔ9*`~Rrx_on1oW:IOj=FgЌR+>1ܔd\A=oOof9[{VtLW+w3<%CVSXUpCV R(%FQ?Q }sy]·ɷAdۍ.0f']eN0wOlF+7Ҥ 3@)zNY),f,׌9EKH;Zodt%صEknS@{7О·_YЭ/BF {AMWcc +/ 4a Dfg4<>AuFwGJŶ8tk"_`f T(%U9r^fl:;p%6k2&%(,iI‰590_iDcuM1[!2 0Q3%:fliKQpNCK(̑5Bk_yvኳO)k~O7(ZKa&XqlHAU8,k lN4Jï@歹2d2QG͈0H/!Y'=\D1ۿ*Gҿr\p0M|\)+,ʼnF"O_SE+,ח "{#S%-D.^p\>uAu_&P[ffnޔ#V"V" % ~Bwl3V5t.K^];,.kiEE}%`'BҝQnX*rvy$ey}binW{`&•X`!fh;06Ť=' 6/}Fj{ЏTQ6Q0Ei51iwa΀oJ+Z|Wz~/;~IwPw䯉b)**߬sBL;Fc_kDMNm\1DYu=}!-w\G?2;:S>yO;jQh ?}pyxҁӃJ`Q*s%zFu{nX]Ӥw@3!rwڌ~:R _RIk|uPxd]w=@DD,0 {z]IaUJ,hokMnvoz^+@ fBJև[ #.w I9G"䅟%c^8Y9P(mu^_Ie3]U#+8NzyOީer2kU39g}-V>{oQeVD{^NUGdeO|B6似:Ʒ,l9~+C$gi9Ū1qKts\厚r4Ӆʵe-SD_&}`[G[<x&Zy rqitV:3@E*ZqNX)UXd:={rW Lt56Wf!zI pB tk^GtJ]5zZHOX$vzo+k#T Ms8v&[\7] gس~BgmXQ<ؘԗo?ͼy 8$˜7Zob4,sjf 03MWQm=7R xy굟Y;#XfQ˗mX F\ H闧5m3 7~ZKDK]lu"=s=R4,xDǐiI!S;A@lOY$kk: Cl2dpJ~dRp'/< hm^FƀtE!7E lcH8:Q6=2iQhBnNޢWFOYD)Y"S.,05`Kw#S҃|`Q6 ]5{ E-K_UF fI{],_&kޘcGM '̂aI[3<>Yꢟg5+U+kq/حlQ~}R@ m"aG3tsr# О~ݚLi $˛9{OEF6,a!'z)4 ~Bbn4Ro.y!DWeYd,v]y*1!n`ȨOfNH!B}c3AtwITt;(ˆY&G4tD $D'r˧UiLRX٥o,[}յ,yfC8sAB8J UY\5^7JB4#=:j2&}`()r?emhC抄t.\^:ETWsDJ7.>7tL2:I Fg; $RV>o;&ݿsff]aE.lmr|2X~.dV}8rRNeqWn:#CJ#@ %YYj3M<lW EEa@ccK@ź l#]h?!x"l5@! ,?qxVRrOI%j_z>Izw2H|tH2r^/-*$ğS6 :*D*խf_ŵ)E(2?H*AD'UT۲S_5Q GdJ`nf|=90n8\O@@Hrz *nM?vbs zC'&m9ބȲHTD_ OjTX*\rb@ se43IB<}[*1"ȘI/;'x>ԥN+#b^3=,qd|sk;<$1.,px)˃ܻ"eΑ mWh /#:aWA$}h:oD+ǎ:^Wvp}l09G$U0InO-D-ܦHjaڢ#Jsmt~s6Ssӡufh1|y!A}+tW;K.;,"78ed d(bR <(W.=F6m5J-?1pES#y-|G MG8F諁cL>z,z6K(;:J2]qbR-\NA#2UAW,G= rXi QLaŝge 43,npiDB0dJ.h~q?@9Oyi0(SSdT]!΁b9H|Qްf( ̊c&;h7@QvKWeԊR[,Q+*MS`*8c@'2|o*1 } v8fgn kX,DQKbJ=#tK\TU!KAqQ{}${/Jfr-Ӻ$N, f_vͺ?RFMljlfñ\15&4h+[m:gG.66%?-lxaG l#ٳ:ÿ[SP]nM=S 2KݺVEM{$1ZOhn >xs>w9fmZ4n9}`=ВwZIa~7F/j1mA fM7qG+=$Jc3zT9"tV2KwkaH { '4lT{T *[sޢ{!N"W@H)ĺ-B;P|WJΫao[-HiCρ~h1L2CȠ0rd- EᮾoYA~A &'1(wn, g57p:fP͗%ōx,VTN_M"a{(5lI [fBUsx]oCe7D+id/tlr? v~/s/ >k gHJ(<Dv\RH葤 ? &&,<_k"r٧nZOzlԁ B%1/W~ă^(c.Fg귄K:ClGj9vb"p$5 m|ɔd‹å׌[nЃbeix/g\:[cuc6.Li[<dDM@+\ }rX;+rTw?C!%Z|K$lyk[&fkz q/Y7p]ƏKr*lzU:&x=ZOHå>aBE+ƫ _Œ龜ݱ);y~~L[`T8]RO]k3ݑb$ f0'Ȃ hR5 %;LAUʊ@0@ ){Bhӫp{x /~O`c KI 4uŋOvH2湾w dk{fÌ>3?iգFHfeC))b'dž-B'9ǃK<(?5E=M7}neʌלTR_H]g+:5z+θүmrH!iX^tŮDŸP6%c>jҰ# Ƒo+c(CD_֦۳A|m FV]؄N|x9ܒP+Cn|S{°@V9oA7!%Wd cƻZ[G:,jAEFe8myNZ"eɚpoQ.cZ"`XxmOkvDz)1d_#J?P=ch>y1naE"b=eʼEXPeD0d(JG R ꄜ |V356(ǙmlHo~efqoɣ7IyKGL4.?.6Lu4w'Xm )EKBlܻr/fX6#Bnu䬉eavw" W*~=-5*Ui5`f q2**X!gvjśM\m#Q)SƸkxL~tF`Q="4ق΃%QN(m2y+Q=.ǧ{YpoNQm¤JjBZ|daWgoF 6RZ>I1rSʷe+הࡈ؁E:yY<'I@/sYO#K ws e$)xd3jMD}} TsdBv 54jqaW/+~RDqlP5-p_fM0jK,MX"OskA=nU Qc}bzoaTdz?2vN¶ .b:xbSf"ʆ ueŘE=|A([yB;E kIO- XKt3]PGo IՆ&ʀyC*wC KØE:ĶT=@qR1*wS#)ڱcNL<lG1ЯWtJjG(LfQ'i G +fw$]~mV2A [b*nщj~iF0NEqUgٰ (Ʉ8_I6SbpDdov݊.| {!|P:#m"g?%W𹋌vg> Z $u/)oPcI4lF0"] a+Jz7fa@Hw=(x%7 KCƜ6`혍1ht O4+j y"R U$vMO)ps(7>8|*rD6^d;xmCE4\t3QDL25-ˉnU"d1N&1`~GQЉ&ך]>[ 9KFH'ul|~ P@Zf$wZzcܗۤW=-\{ (EH;pKtE"LKS\ yKtf, {YN&TrvC$@Yq ݋ B응H9D &Gփ~WL'f1 F&p-4N:m\(Qi͊ne>bAO~LYF\0_5)v%;1.lݞjħ$ 98 mHPڣtw{Sۍ4t?rqMkݶ8AҜ0;fLse 12:1y$zJ*atnN i;2˴6eN+| {r: &12;90 Z\ S<d'z(fU]fuuF$áڔz\D0Gm-Eȭƿ`eKQicr |Z<$~ 31!8ҧi7o ϴ9K6en՚ 9,IޖAY/Xjvd~6D\-2iFA=KcrB׭{XaݣLC|.bf2ǃc [j-Q7Uj[\T"-䬇E:Ĥ )=ؚT~0 ހKu?g[/6BO3swu@usoğ]jx"}k۷ *6r@aAQ)x ,S҇8/ ˶E{_<7vUЧA7#7s [ %V5BU0:ee{IҲ4Z(s:,ǗR$NƆi+8Т8 , T*0Xq$-@"PO <IR}{5B.zwG)D-O=aQi(c%Uje(b5j5Wxɭ'1uU\"p^eu-'ܣW""JOŊP⵶ ݒN񫚘؂1Fn tg%l~vq-D^kWלFiRe yP@=5'la !λiQeb`ߞ,~&u, Ҥe}U4ƾp~RpW;Opr7{kfKqںpFVwJR*B8w$"6X6,(&X+Y-N>SWZ)a(E;jS@1 _h8< mv;*nܻ`5 uvb kV>uˊfr'("\Y[W6Z>l\xĻ/a4-;(5﷿2q1ĆʷdE E<}9;+K,3J@`28^6ٜ}M'tW3AWp^4Bː¶9^! G,{KwORп12@qqm7=Zӌǐ)}.S҆@W˻Gnk f0c/$ph.x[80-uzNp 4BE"+ub}.cK(ĬDؖY$05m8qo3/~ E>f6z_`/DSm] bir,l6@W~m܄7u> K{}k@@2[qmT,X&4y(8i9 HHX6xU5q7GgBմ me=[O#K-KQwG9XEV5S+K07N[sL~[XgFji[z yqy|*6JG,7L+J0^BUG{$6;DM7]mh=ȯtR/x;nsH)|9oۈ+; PO**2$Uu2Ǩ0ˏgr ̗DظEm$񿾳VQ7ϱ =wҰKWluuP[|Po~{ iAҷT16RʃYj]t$qJwHd]2KԍWl7o^3p/_ ?B3ΪǘO~7 }@ LtMBÄ=*xNR櫍;KĮ| }JCX%;B\1\.|" CD(4n?O^eSxs\O"{5wlK@^]o9({tb|-q:E,(z(xV9BMojڸ~J%!Ll HqmzW$jI%V}W8G+>S}g- l$])t37z)uz*cFæbx GM .4w'r7`m N9Jz[LŻC6S4ҫջߺ~ x8I(]ʒ`KZHI(#*`>k]Yxr>VW͸ص5xlee=HYς*y GnJ3KE3g)vrH][):=8Sr׽Ȝ!4h iUCҺk /FHpA57RYFQ&{J=+-jm}r3X*=ۥKO@[bn\@-8J4(_Dɨ:S  t<\=P:o3j0vihyGBpĥG&ol[v3.ߪ\`m7-8 UH{sCB"NCh\)ς8p8t{FM9N>0䯙p=^PJ#"Ymr-쩧v=J. sH pOIOYST{INPŹ~M$Lu[!$M(@Ht 8=WXRG{Yf#<٤ _ 携"RUۏCMvCxr^wF7S,gODUqlBS}Ր$kڼ!NƟ`a w(S3 _T[{2MȮP{)&Eeppm)`·Zi*^vxE5?vѲ',(Zp9Zٻ5-]g{QEo.tOW y>J*3rT;*_x2qj{%wh)4!b#׸$ScQ`l]v 〽Oz r$w,h#'%]Z(,iHߠltHe!2zu*0ulpFw^eۏ!\>qx<x DIWBo߃x~閽t"ܶ柌/؁[<ۢ e1S@g-y~h@" z E5YeEru{L6V#xlšI0_@2..u62ig9hMZ:01dId`UOndu)ym6}"`?.ÉԤ(2s "ܶS$_& nh[RO,.M 6ك/"Z ̒`*jxHG2ea87/Jg a:m"f1/-hZgTi]~I?޴/>Vzu#!_B>R6U&Tu^No?-A;@9a)ǞBVÁ͕ 5W.t;ҢCj8A`2s- IlN9+eSJcKRVi2)0%r1ؖu=sZ(0G2eZ8y2JWERPqIqt2B4e~D,`~{z.e׬Y?C1a3r!vR;t1U*6+`2c}fzsbhy>5 /$+i + #nYiC9l_EH/nu=#~ӄePHy#Bpj!D{BMzmXk& GCxu%9D_|x{<~u4Beug:nxZN}]31l6I-@-p i^`?"3NV1T↴gmw2 NJv sj|h:霻ѱtx+}Z@W|C=f٢ORF gD 0G,/?Շ@GWۀ'1sd*<= #'U^fy*˿7NIB\cvZuikFav*eUa<MW]YvGWDv8%DOlZG˟Ca1P;TOGsK/l>ۆj?J32)Fn "VL͕iԘf(Z񏳚Ŵ %y}`KO|w$}o MtPg&f ŭIJC<~T+}WSFNYݑ$V;,> 틕ޯm'6tmuKXQv9'P;03ǿb7V"C56VCr΂O/CS!#GG=rCqT\3g˹"C:vٮ,_WY.Υlm=oi!zFe}C[e5M9' ыVClV{up =%4^A*V1$.%9!e#p>U/*NFvehqyLW`߫Cw%(P4kP* 4Kң ecW,53J>-i-51R-"Yc,t7F/³ͪR ϨTNK%$Hj3;ҹ#8ZC[ Zen4mCVSk Dc3Ǣ]0RFv*BJ~Yhӡ0bg+*x vΪ `.6 $32DW6u].`_B~`QTȹ=PCôE܃!HR [B**†YAɈ1'vUGD0>( ~{K4pTyۧOhA:np4Cw r-#K۵O)8zfUz&ևg MZ`"4$Vғ!2"hbDp/$[\̱[MZ eۧ/B `M6ScJ?PMӎ ;'2:@7~Rײ:[P3Qqۼ%*d{M@Ա7 lb59|UǣTcL?=!hV>jւw_ +cʿU8MK^AfIX-,x3,s,R?)6ؐV7uN(Kğw7}sGeݬ)OkѮOG'zcm-dz\qO7~_1=8!&B$`Ѫ [GG'AwO! mP__m/ÑeŘ2b(b @j\Ѹ~z0Ǯ4@#5`Gkyc] ˠ\s5Կ  ,P7w#GF̋\FF'U1(T2p@R|&gGz~ QܿG Ϙ~lU?nl~KYB/"b5\SyZ\D?b7`4~exhMq=|J`,]Ibl&٧? BZPA$;mGE .+_p= ܷ T;r6s+FmwNb_l7Uu)g,PmڐMMnZa)^ֿ5VpB_l[|c-%7Z!Vk1_JqL(\8_z JI`N~]vC9;Pl^hL[;W}.J fcu 7h:; "J&y"<ܯ "7"&lߕzZE]}`$Q޾)H {o &agЦ`$V$ B5;(V)Ć5cz 7)?7Dq=rލU_v$_Xu@@\dV};٪<Lh+~kPG]R'z ~?33 \L8"ZBPc~%s Cg54DW1aωM{eQ%C.Q`v4l6,lɘGy곮AC\؝O|T[vp9T* >E4HˬMp/Q*g^ ̥AuX # օhjaTauY;[<N ,6砅sh'lBLC{]o*}g6~탹_߂v?٣bT慨JҖrYq '8uESx9B@Oa˱z'LIx^ ygE}"BHe v0[n9A gW1kpiB= @\@lJ(gφ0s5Z^x^14FgB/4ӇB*C@.a6:}a {?I<9GDayĺ\*foFm<4⬢}?<%'E/ a}HK&7#&&ˊ"n/uqg2ۓd6!$#L^>)ǟEC֥..Oѹpk:[Qe]Oc,3oy>BJ( MsFV9WH9o,I&lX]8?o zR ݩ wXKPt%Ff%-!Z7_)9!}Jt>x"2~z [AlCPO+sߕ ~Y˄W+sϴ TһGeŎUW7`߾T6 x*r#k+堬k-";ag2.'vn4g,"OF:'!2'y@߱SlwDC+"hE$F1wt$𜇄d/'륋@޻^[y40ٱ%C|DY۷ Vg5Ca ^o,.eڄhYy3/{06W8&\yh|0DȼHȧ9 Oбdv S^ 4o*JNcuX!w!O< !랻GcV:Fif\` >DewobD(y8`0C31guΛ988o㸷BГΦ!ٚw`pleA!VVZ'D, f Oſw>PMgJT7u.'29-|7 N[[V+/?l&CnޜMT6aFt٤)(§AE"̞g$&АS"@3JSHq_=b,.b@Ϝ=>°ɉ/y1=tOi¿z_]G}&E=:f%Q kJ/2o#3*_!™[, CNYBr!ɢ&*zYgų*GQvML;4O{9@J>F@a3bטB d %?JINcGXurB$̭T 0{"`WLN]k=]遈3Up$a/p,`7-gFI"5P N20,`ќ&}ҨV}>t>Di]P_^h6dȟGmȊ^2{7lDV>bLao %}yC]7Y ǖEN(jPG=ӽ.izTUp*c$3_ګBgvp<;RQ9߾,U/pJ [@XIw-=ϸ-_D [.Py]@?ִ nul5 -t}gHa\![%m i[-cn1ϚJ^ O Kꦊv-4҃EUǬyQTJeN 8ၠjԔ1< oI֡VcnJ e3[hy'xˉ[;vˤ}7z*?7 vEHa;QgyyQ6Z8:Z5WeA IKcz<LhLxr&' dK`\8DϡZ7XNk衈sztq:4TR6Q_N)Ia^1L3"bV:,kc^-XzrAts4Ԉ$gW.EFsiX{I]b-86P?ل=HDH'|v&umcl:d'ʨ cPӆX9G7Z; >fF@*F+Kyvj1+%O2B|I>"p7J/:dUmdcj3H9@IF\,fψ:+s}q7g`2wB:RnTz :!~O\ņnSk(| Es:ژˉ+2N*+_/ƵHq[V-b"=vݜE|t֛U;#0oOl) ΢1`s4^ݠM-EؓzPIP󒅗@̨Y ֚ĉʁ3Wn>h/_ ~]4zMlrs}%3z]iUHzlˬ0U!ߌE*8b,B_=$kf_(+`l=؈c.;lX[{CC+ ƓFE 9ެs"-8.Vl='=2ǒI,shCxaRT6](ʒZp:$F) > ţ8*La_Xx]p76*(L@oi4yL>#ItK6+unGJ'ޘ' J'Yq-K^hO_&5z|ET>`k΢*A7ꄵ~ysFAWo@Dt)hU{E)f%eYl2#q$z_t&a7gJA*o<~q:gvG{&z]JӹJJ3dwc8(Ȇ ny{&V.75vHH-F{Fw]TO+lrr6JĮQЂus 1ļ|LBY) Ό:Nk?`FXݬվ1Zdv[ YH"Iq ]LI]vD5 \htiMc[yF&\[bޠ\1a #`RSK2'$[Z}4EB\Cf"ExlV*Au*?>)4dUuV푋U!)v8'QZ_xk{ꋯ_a=,鼫Up%.-X0yQTyy⛋;$~߰'DQdܨg%J:bpY5xAW :E(ҘҖ ĕ #}{o,sGt-o)t2}=`w!tp[.K] mEZ:f{ڎjVDO)HAgŮL ׀b@ٛ 0t`+<6 ߉ (kXBQ~?bXPTVI1MQc3h8 4'zCUsD#e n5~ wO'TH2H^ D+/Y#qO"Z $eR_XIMD[[8.mY>x2[@\4?XѨ'5}Od@ %`?T.@W[gx ڟag<ן[qrqi6 !$d]YZ'cZx;(; <B5;"+m #$9LH)G  7ȥ! DNi=T2wLXAwB*1n_ ֦ a ~Si#f`x Bx1664-:d&;R kb%r {=aX$K:+͹VaBkBkS~ܖcMa2. XՕ})4R=ًt76 ;d^u~Cڃ:j%1v}U~%%y.mEj_܇e2 ״J-ƶXW>"P*YqB Zilv-˴UMz5D\آ.y(ҵ"Ae,1ʾns6}g?ՆC~{t~'3NFuWb7֙ ㆙{rsb*p!m9U[Zd|DH"4g5rT [ o')LJ|!w XEvY 5( e@L/B}E˻X_:x` 1cy{"C(*#/]J5'_"L:5 gA)ɞSlU[91Y/w& Ql`~B։F_H{xbZq>SeHʺDY&u_A-)ƣOMv0Ვ8Z [w!]2:B˹0Z$-E\5_@lb;d*{h򯃨hu Ra> _pZ=7 pXXչ|Ƀ U2ӎTrsh;3?6Cba4s('Ph]Eȗ^oaέn\oԻIp߭'W{"㧘Պ-a݃XL%%to{$JTɦDnvϳ!vX 5~c%B"g%9Euݐ1`';$&vOxZig'3 }[uEe@ u4b'mwm_*^u(V4-xռqi9a )ԛ-1붇yz]7T8ZR_DrjG𙀐lH (z:|#@V_87m uUΒg>Ρk"2=\0} ǴBCK*#7w٠ˁno. GA!GM<~Y2 EBLe*37 n>q  U6vZ`)P-mH'NC5k$`imIDǽ'e(;pcŸcͱV= =2V""͵?"o`O"<7)L)!E\F G \omjBs* iE:Q_{^ؕYu,, mE=Fln;1 nNkb}O'(f–`$ҤW76CQ "QAML*NƦNpY#kKA-Rs-b `FQj^l~{NMnW9iqMjKI?-ۥ*:Y 2Ps G",n2#6+>h([ud=RȴyI7$!\sJ}Cڷlՙ&8Z]Q>{Lx[IgkU'So,Oڋ4ZHWz [ l]n@j6|>3FgȞ}/t[ Le64O=9 k{֞W)̻&ꔺLlm{BR@Po(CZ+L8^[9S5h\=ァp~T94O-p yH ČR+{{ x)!NArOq{G sH6 LFBtn,Gtc%h魂ЌIe^t<:_wk#&!zXX$o5qK)`ח/g ux15A9ONOY>@*2dfBYN_$⠲$E-7T Z9Xo8Xќc?hŗW.|6 7h4O4r5lf(fY.=qϯw {D7kY,$ 1جTܹw bۗH\_HWݽNm!( *ǬE;愛a)'+&͎2ܵF\atR%ErYό{5 E$ k+ץrDQK\p%I @&/F=hܞ<흤3P9J- 7gKYom`t*²(ORj1Foޙ(Fi u)]7.ӖL߈Z*?4zSNY*$Nڱ{! ;eݥ9\Ю۬\ցͲ$G\fg*tٞ orGf[naZX~P!HTmޓA[(b>s}{-'(ϭ4rvƟAc_Q5KR?FL/{tXCH71 竁Bg1H[:y*v-eFU‘F*r4؂_ފgc_O 9ìjE+Ԍʃ\vʟWp1lˈ`HνJ$6g×~d蝵8̣)pUiFTg(ʹF1{%tGzB Q{K6 { i%N.kn6-ᘈ\ Jk$oD]!Qt_ s|򸭝{~Tʊ5yv~FE|8U_ $s`t\YPN&B#+6 =F* ~?[3BPAw We1/&eB!4UMZ-RHCdk^޲O'Ϝie{l˄)hXI.jSgBja'QM]xs1z Gɓ:(SU2fL KÎ93ekn>A4ƧjC [(W/RA:-x a;(&JkUip%7;!9@l@.!Y@قDhKьRdqOSAWc%sRo- fYی6 s?ksss/Iw}aƵZ`+Mr74c4?j+U5w`YGсoe6kdJ|n_`&}C4zqZff3mRVREXk0>(mBf g9z* z>ϩqD^xų~ +09a@_01y QBd"_]B{bD c9K>{JX6:0.-?l!tkBVplBIubd7&:o}tKCjNK3}熹>?$Y_+$X1N}[(\8دہ=N4G@Uj6O.i22% G 'X&%,FCD: x-p'Ca:V4!mQe>'])gxO^!褼Tg2Mp64fŁ8.N,nU2gF/cRnmC3)]=D4EW[ChŋMЁQF. `%?5iجSKSx;ڊ VOAG'Ҥ'TsD`(a1_%<O΢.۽e;'p&KJr?*NF2!]ؔek}m}H*%Xf_dB`slWPE!?!tG+(#qM"'kƘߎxKP9o{M'4k88;Rrj$79RI!qo9%ʂPRC&kJw9F7{o;!|~e3ʖuB'v+,GzM(F} }1kM':@kbHbxZ$G~,tF*e]Ac]`Dkq}?~^҂}R`c7)PH`ͱOerP7P- s6EaؚK; }*ŭe :%x5dFnI}VW=1s>$ +tt̒i,rm}{4G(?FB Sl09Eз~Tf!eFaև̸l*CJF=0)wb-U$ 7Xlr>ʞwN?G@gw,FwzPNI&CiPB=5M`aVʈyԕ˞ Gb Cu}@ פ 6҂+1YZ_G9̋M'SNduZ(Gszo ]c(xo3{aН;)t_z/Z`\% k) М/8jw#4ǒG #4\ ڤi?<*^qyva2E5Υe7jנP?2Jvm,Yﻧw3VTPr;(r sblvv/] 6 ā,jFVշ3U{)Kc8(8}uDM^Q6- E^:! Fb\mvݻ<8O-(ޓȳxMb喑?H[c2 c؎VwBTwBu$ lqF&n{U^<IAw츠hJ,6 N1ȱb9a4+kur͵ZkŎ#uO16W?+ך8$O 0qZ;ㆶZp/șOȂ=TWdvL[SU[ <'U289 4iͳr\O`-||Hģ QYPATb,%,l}!A.Q+rи{|ѓ._S` :~-!UZZ@G7̨9:Ky#"$['ECIA:zF )`>[ikWqwcuX1O{9қN j3t)T缢րh;G?[b1z54ԓ{K0610f["7>ߺ")1I/Tn,j8xvo͐oxd1D:<^)ōqYPеF5ab=X2 qF(o6?w"JTOG"x VC?= ˞{]BqXKh-D5#q$X@HH)#DbLn&n5SX;)ti?!;i9`%#.k-&j9hJi9rO W%x;'|}l;O{9uef}HYj]=(R)ϊdTֱJ*Oְ+Nс .(j;3n"evO&@ N+*/{[\ /P&B1#%YWGߧs 3D (^.Bc c8`=U[M"hE&b!+ti`JQyt8-7YQ7pMO@S*ͬ#CXf`lC$YGɼ^?$|8pWԤqD^Bm+HSvpV׏UixeJ^| ũV 2fh7=&.g=Ur 6*^w ̕`]**O Kag3Q?wCD ppqz6~ڪ3c ۷CÌY4d3X=<9Ӯs!o?,&*I AXRFe2;۹5OOiNP@5n@UrU4?:r,B.!e{V28 W WZЫh07%_j=bbOJO :#{B4^y6%kۏJ; \20 S&}.7=D)V@r6(C ?[״fx5\ԯnu&Ai[Pk3؝|Ĕ} X!.ԥZ5?3Jy]$ɺkx2f Ka-=["$oJ8h<LDyx%KWT@aHw/V%G~SINOz$"uqԐQQq<'JK@1RFnOS*4Ll$@)qW8(5W8c*ާgh{1!ԫWvkGja(89T:n-?I`VÄ0I$1@ȧ /}B)@q -un>5o5 ?݁ձ *ɠA^RƶWx[v8yN7PK<b/>:B,M*!i?W^Cr g:fG[1 v8Ow?)(`NI "DL!=ul9Wd*gV 2'WKYq5%Md4ݯ@$ыdI6^j-z͕% *t➤Ln3elK DD6D]B/7KV)'s7%.(}Mh_y.RiP< m ]9utCeFC]}#ɿָ;~KTx o::C;f]+]Ma~ ^C=Y<>xkV9;1#/bɝ ~9y?@慙LDK_JV] ,cY &JG<Bָ =xǺ]|i),+Gy CVtrJ3E@\'Cj!LFE{R ٱE'eXa-Mwmmd?JsEYu+vj!S2j5 }S幙'@JvDXrGd0YV(Vr椟mje!<[P"b|+a{c" z!e$ TS>N FKxTɗWv{eE&828>j-NA2ohUb0l9t;:p|6=M-. Ir9aF8N iAʔZnRɣxu$'yS'yFsX_~oqAٙύ`cx[pxu: lUoOS*r!/B5}ts/ϺJXP}m(vPDEVfuڛwa}|O5Ҳ tlNO8[$hts7 ~Eg");bA~QImU7vZ};ta3aEë+EqɄ8PQhniQCVMDc}J [Ì׵jyj5H?'_h 3ցV[i ^A5:fgrz&lCVifG7lr2e0GPfYp,:v'<)xY b%mw| ÍI&)VʱTlΗf5 qr ugO5Fi=65oJ8=@C tĂEa(1VE`PD%L>FDi:H#'܍-.p᤿2A:J=|Z4wCöN!0z?4{F.[͉K1HL߃d@GVF:kf^P+:{]N 9k!R*v&D}s~Yg|n0};WhUmM|uo$R鴰C"bxk5|>ٓJ~ǻǹUW*Wp#2HS?WE"9ɕN%Z@ӐRw6 M.z.׬}uWѽ> aO36Ou9TuQxהP5*`rr wC6pP4de3~; ZtH&٥ݍkO T<9㾬MBL#]7 nɇm6lH7"Frurqa\v^VVwio kpD_ _ڶO*D| Gk'\ p, nyÔ7u%1N<ø&@u/_px䎾e}n?xIn(;P27c }gWq,+.@:M*B3smi%ơDy2&%Ztx1e"лAQBwvtrk# :-n.B& WGhd0+D^?Ğb?^&6WCMIQ,zfv$?1Reo);ښĥ@3nq4BNZ۝~BʃE'\ϊfgB.fE3~=TY5ڌq^ͧ P@y#dnWƮVAzJw|@fnI$Hٿ<J]# =Xsj.$vk>[F,@`d5h,( d1: d :ʶql8^Zɴ^<{eCrh`qYpU*ʛ>)տWidȗ 4}_iֻ0lq"+ѶlQ=$qCCʛMo>&B2QIS=M`TA!o.. o%w`a`S_7j 6: jvB1G(GԂkַ3E^"ZzM(ABnN. hd_Y/dd_W8s7b+¼ka, 8/h?*t!*3ƲnһP~7lT'Ih}nӝ!}IbnтDZ^cł6%:>~O>Ml,RQ7I\E2yQq,SnX a8 C>ӝ@JU"%]A#njWwQ<5@ lv,YlO0^eHL`V?~uwnHu&\Z;%xAT-/ל;އ 0 ~_W"qÀ.0! ``_} c!V 04'iklȣNŏ8CON4(]NO\+n3˥e޹܏XN!{;df!5RUi!I͐j Vp 2( hB<#) \!ԭ҆FK^TSdݍ[;nǨ? h4=qפ[8GD^o3׳\npػ{r2^g⹻ ޔuٷ0Ű(\XU"mӉ;S|L1eN5$ἈH=|R["<4Wu trA2B\yrvȘ͉n*c]]VyŴHuIi[ZԌliú[ c#'Ua\-G^5vm~%Ӟ9OEzWQ;`͏{g }8%7)>"5fvEm>{0+YB+8,u $|^ Xw;0R- u{{K`5%qo vM`4?H]mZhY{}|btoA+~.6p> lXA쌑`_no4>)GgZ^}K6u=e:  sI+@ܭ OI~t3`smRL]阊E-CU1i?e,^)O:ѾFQg6P#Rz0x$U62$|ܣWYr xL ȡ{ ϟdL_pe| \B!-QUUٻU5+ZH߸0nfr wFT2bCUzyp iy:C@sL@SRhI_ zX=8x:`:&'$.nEqY/MCv8^ MYuIq:-Smh*HqN+ ).jj'yLX8uG[u$Wa9Ec&]QݎW9aE7ŬǞ_O҈Hu,ȦBt~ z=@|t6,]4IVf񅩣(Pt,+cU?%h_$f ~0VE.)=xbiT,n]⎼c`)NQܼ|`gͳ=QaLȖZ`G~tzK;GM|V;kg7ϫB#3%#\N[%J%NH5rf$/\hbIKQ"UXri6\;Ǜ ȈB9{Kb@7weh\ETj xQ>h;rt`| Y䜴Y4_׻$BF- .'y]Gu2\MH6"h^a^cX8Lfə |RM29fj$,W+I!y  qy,gb4q"9ԗ9"e]`aSd'Ja@01zW@CT)O?,uO+nϳ*ǩy;=#T]ߜ`\hio$ sfqfw͌ݤџ 07>|=ߊk4 4FlU"*aCr%jУ$ >a0i/KfqI{fg;}#쩜+#~-TKvfty@:90-aZ/쉆V>v ҡuk0W'(;?8M\dB,h̖L.Qw@kTN Yz"!@eNszN*kP9Xr@N%nץg@swvkd RO,w//PQ7LMj'pB+;W8%;mjA~˂;RD.{7?P5dVoeP PVM'xL/Rͤut2q/(=ڴ#C6Iu⣽ K6YB/*QD,XI Mk_/.T| G (kH.X{ >ؑ4V~^ *ŬKPDsޚ6z3pV5Mc~uprj>gr~鎦#܁x+O~MCk@r?=[tnixNl9,%iQr i-Ft̉#̇|+3=dWND*A$d‰#At0SEF(XB? 7/^ɕFԊr9_[\(S0cYr()ab9e)@we^\|9rIxL+ms( c@Op/+q|%xxJעaK7V&e,X|RoQ>OX7MDVII/av"e{wD-)Z@yh䕗@!ݓ#vԸL5m\0ĉ'tҷZ/(Ԧt!od4i?| "H{_V%D]cչk Q,$ntdD|xp:|>Z$Lp9zaÈz5B~iPŝWk_qBwFoIEm+4 ׺N ;>As"?;ys~fܹȸis%:(hW(뚂 Lǘ0 IezBgfghaMI°]sAp+{K9Wh ӋNiKT Խ__#O p EAE0?e~j>"*aed0@1dSRro2Z-0TY;t@ö[d2d *I@25eN׬pT/*"fByUx, )82䧹F[lLr9le.&,%p=3zN/=ws\A[ 9{C52>҃~"nAN"p ΰhg&58IF~ZENjy1bt?v&N be(ba7]#MSj LE@ W*]ҨAjaCGF+Jj\ȷp#k+X];I!SH Yis'nfLh =8fqUo/t=qo0x&{DX0}pl&y㡅yڅqL3l$00dY6ː=pQg{%.Ap,u@| {) &[ҤT~?&vJ`= bǁMKU{gZߨ 04JH?!~2Q†u <>3lK]ԀĖ} \6u~_v1pLIPh9:6։.S\hFH9,FOt[HV>?)J8GL62Tq!AR4)X|uE^KۜˈPHfspWAEzOrlMB) "XOEMy}_1aTgE2չ =֑s@CnfcF*B  $( q sC`Ea!26gl4D{/>9Th Jʃ ~f7=Y4on,4QJwin7Z6o51t$yDl@>B" $#.4&1y|7Ș0K]IjU6ce&MksQO&; ^ &Yp^^C$+ɛ,**qa rvZ EbdJE9FO~eT4vvTݓ" tT$ j3dU@y"yWeVI:_?h"1EQ2B@)Hd Ϝ8b#q.gOQϺ Ú$[JuAv5p/ 8\^etą %7$e5?SBħ

    :*tNtӄX.G}+Tk秆oWO~Fko{SUu6vRʜ`SF,ߢ4~C+'j&|"gItJMsS+AF% xo\st0hc=5Gާv;۬ tQHZخ{Hj-nFyXcXkx009I <x!hYbKŰߓ?BH_xh;gZIn1yR3|;I6^GߨE%KOU5f$`,sH ~Ae 8fFL0` ;XRCg5hy6˞5/˚pnkR7 IsaqJ֠x5imxʃ 'Јn-Ŗ@(-#S H",H2ϐG@vc?{yH"l6\[2f@fnEUs&a4@GOaFHaowBVK$MԣuN7Mz:D=KW)tiTRt "E~ ߙIfǟ֊HnaÖ zAiopgvVYE\1nTiC'KEG3q]K&ġ"& Z\{{WH`8N WZ(Еܽj>}Qiw`bK9]qF# oێ+R:GX$͚<4 /] z~FCGGڇ/*sm]{ݛ 9:r<:YeI}'8ENevmMѯPg[TcHŸl#j}/kGǺ*Mbܜ䔕1CnZdVA e(7BTx}WBKfB ~f0K^#kk=%yQk^T褫uRTm~@4*w<igM8ڀ{ybIA"ދfRZ(<, MI}Z L\/"rmt/_@ "zD JrIS7-] عt\u2T# { <.I><җSvU.n}R=| EFHy (7(|y AbE#%הWn#IaELOj}}Rk+?g*4$@d /-S7L9RVGキ;"+käBVez,%РtVQ>xrV'7wUB* >ܛ!+&o&ʨ`dA}衦dP>]6cZ7$H7 @Ǖ,+aU/+?h70${2?'O)]w@j[Re惂VpӾw^V@j$uDLc"YN?"Fϐ&uaqsCfOfBHyl1@i ?v-jL8wbQ%\'EEhxXzuz&<::gIAِ驂(ؖ\gGcZwl&<,f8؟9+q) f 2O=xN_ތp?eϏ8O/a~%>=xe~궨6?p!e!O8aNu=TVBmb{%`\L`aɪ DƨU0ܽ|65ĸ& H~CMA_%3"߄#|gN`-møo䭩 UIe?[l7hht7"J# AF}_X=rwӝN|8YF\qBvsK⻦J|el(Dži+#|R#}RV4< {>1É ZU [OtV3ex ,̺_B~XC/k(\J]K2)WhAZ1XB9EU}Nl`.Z3Pl4\wR7_x+\UIȨοjI߀k\:[WطNI%=nMщ{.qhhzNtӣһYϔd_6,Āk |Q)γ+yld|_zmEiewE}c/0 r_H,n Z5- ":C6/mJ*{A#mE#.RK4#[tRu9U l Єt])Y c;Ab!t#1HU=RY8W=J4pHA $g(gBbq1$(y(s$2h>8$v}P~G `PKPP`-1(6e) ,s⨘$PMPYVj+1s;*6Lyv`?/ve4wdA -au3<;{= 9<TKߪw4p=6_2Paf\Xg[AmXVLw/񚥻QtwYC-9P\+ee7c`*|HX(So^\RW+!İF'b7cU9BH!̹:W EVK)Bp]Wϲy8 qkuժ1i:ɯ`5F>Ւa|1r7gU[DC W.$_R&eO{}viss#:{nQ)}ixlGTb @@.aM7K8&_^4Ś־CS'Kvi/yC)ʧ1khLUDĊigR)rT +w(@t]{\S6 s;zЖtc~刺I|77Js$qN J"Ic$oXMpusJf.g']Sw^Vm ̢-7g,)gҶyfO=G3|JUMť.wUNԴ/e%rҟb/L6(HtWUhc+OnRF.٫$Ad£܈7FU6O,G*;Bo]qڵ"D Nl7\^CeQpQꠉZӠAG*Cz;c-A_ `AxyJך_"ᇫZݦ;FĈ"K6`Al*n72 ؃>EH:'~n3>;P5g8YR TCۂ#5HQwa25-D$5\";8 &yFu\3zPz}'~CFKx8gT MQn7F*C+3wp yL+rZH1ȦH5Nr[j-`AU'|'г QR @ ~g =IE9%r) -&0_/o9v_Vꉌi/%+cXTzDc"H h߰mgXj3n$_6J}vxƻxf 0D{xc (ؘQ|!h[lSyEJ})T#m5ÀV4? lk.3i9ܵR6-Z_{(~Za~3.2#@nU)[^fRk8@i +iPyJF̮_%g(2 m F*ٱ-E$#tlM)إC&``wJhU&nbA4t`Qu;1WfBIwf:s-3(}?! Q\kӹM;MyĝkUur774H2*o0|ȚS&$PSFq˶$e6VK~yUaa.r ua  M1 $p+l7 nSCQ2Uj6-:$ڡ/ƈYY `[Cã4)V^b/ll + 8\iyT&0cLE[ъ*Ҁ8hc@{u )L"('j2/l /iJȑH(w7HTFDZ_<1p H .`yi )%hnOY)e"NzNEƗ'9p'nLl[搮Zx`S*j_~xPR {rSW=˼ !'e>*tR)i>web&LBa4a66Uȟ7bhIF $YXJ¯@ui7;"Åh@>jOkTW8ݏAmf0Ѡzu&K/z asi2;Y2^hQ kEX7*T,LShIbb`9-t`Q.|Wk3)܁֫f]xh4 Fk$Q #&, IW_]YJ DA2W!d5O3Sp/kUÓzccϋOO˂ )j.-nOH ijaLi(K}Mz(G'OM:a]-aYNC Y0ǯ+Q;6~B2KV8%Gգ@gAjV&NubRc髬d^MGC`z6 :=Cچ\Hx`PBCɛNc䯧2Z#>Ж2q&̋ D7Y`x۽׽,[_f7 G]߯A]4~f~areR$Xloe|eGQ_1eB8֫JQG0)zcsf%V bZcጥ9 @׉}$9#RڏpVZ%0NkJ\RAv h\0UъM $+ FA; MGsGAt>Big]1yw{︝? ˽| [~`< ;)0qߛ5V r-;MOj^0_ȷBRʲw[zU4L*Cy uD{'M{/))۾No-jxGq\]gQ,_m FD'pwj:ҕ i0(/8Z8ҟuaP\FSrjz. /9)>1vCiy#STYt[SԯZ1P= f'TD@WMD]:jDS%sC!urO!;YJאK\0sG:t)k*ZHňo;ERϔdI{ohPzPzkZEd[ MMfF_oTh9~0::;L-O)m;祪E#-u&4v\B-rF 0!3àmvp4"u?N溻|ȋhx@+j|X*2:VpI.<'V!-(37SHU>1ٸ JЦ.B9DԌf+eQE6Rڅs\\$;wų>xJ/{fAF_ECxgT1áV7Q ]"BM;:ȉb)=ʙQ7;cKqI|._>St7G ŅqKYi>DSYR#<uT`L-0?W3<";Ī`TWaDxIWߟ9o֜6gh¬ ]c6!"ԋi;,֑KEGHVi pO&5fύe& JB~|ļ|V][S@`T[N m)aniX"7AuY^ >ĦWq]t;ZBI_eH%ٰ \L{vf0iTȽut)6f3i$G@BuC? %;d'|Vr|Go(&U:^-Hk75z4u2&Rs"n@]=)O@GúУS '!M<>w*CVbX1)r`u2-TVuoɢu\P7A̯8l3n4ށa_?_lV6FkKW?xڑ?,dj"YkIMd59@Qy/_DhFZk03 v ij*w@Hߡ.:x!D^ E-MQ4k,Dov9XUD gP9k98DN{سh=b;1 hdh0﹍- k꺉I*JJl"AZb']ēg{Բíd$ =^4(;x\z36!6Rhs:ȱ~$X͹MZ*<&ψhn:8פ̓BoF6W+?^”u4&UClh`UP[_]TC(qET0譴1둳RM !pg"A`2JJכu16[̑0ɁsIT=I3D>[m^⹪M¢#Cpv?E؄o/[I|FX&Puk<9eWv,Ĥ~:eA=mpZ%"3oéY'[k;SS]=_lϜ3ou@W5'<# o ri67 ýc:s?[VZL&c $~vԩrˤLrSF{ѱ,~} 8/LTTObU5~_$U$E%;h(Eb~zO~u<`5$0ܚc[YTe2"IMeyd=y:L2"WL^:m@2oӰ4L=,d>gKg ֬|W|)lpqc(<.UEP#&G#Av"ɾ!8T+XB45pc掰36 YB)FscM› #S*"iGmlt a"m#<{}Qv; 贒MT/ J\@ж7ڠPcH+ƿmYW0=aN_  _po-dA4F@S_n^H92s(,q㞥vslOF;;a(L"6)voPA^uܰ_ 4qƧƄ3J9F :E> Qvt w*X6d$73S&JJ=rrMRL}1vq?c Uv! 3K9yŁ-FDוȬ৬ŠcXXQ'Xv Mpm1F3Cds+?L :((c/'QYk6K(F  :J(Y;찚R ! Jd>vքonԧkFPqsIHka\Arz8%#~ Ϲ\P3cݠ9y=-rɆ):w8 mz(:7\wUATqmt/>rvJŮL/?j 4}g<@^gWJcw7 Yglopĵ%LDX08yCSўcﴛ!89PE&mo=b:~ohHƞSBQ)EMgw&E{8F]rȞVي<[rƆ.y̹ڹyS6ʠpl(j ap&k~ ̂ d"hZaNqMiXC8RZ8B0 _ЩՖHп.P<&j$vj;nbQX@9s?J~K1E%jP{mL)Bil%.i {o/ޥdw۷P2$Pˢ#s%s7d'c>hsI_\}b9>/.xt o{Sa7 ,{Xps`%Cl%jiN8$_ͧRL$]LfO!,-4N2k#8-R^n|ǺnDejb׳ aٷړ9p>C"; |w .H]< gۍoD& uԥDc#?Ql:r6`sx#D7Ò+ڲ[ uIjlh\/#h_lt뭙6Y5,. Mex'!P;RwJh\ޚlBv!橃Y_T4nRi"v B%cM#ncy>,&a_ũȸX L`w`=9wkW{M @Di(+#W =dU?ǨySZ!Q4Y%?8`̊fAك7GP \iҽvP+òiβڂfh&jx^eE&0S 9׳CɃ:(V+b-s9[ڽyM]@*}cToVue0( y2BK35%j}ױfCq;b1N]\{ӄ3! I&OGUQoT:% 0ܿ} 6;okD OuBFbwy(ѣm|ߦ% פ$j_${DwH 6qFƄ*e{}J9`İ>zՊ~'Zm 4mZJ%{p ! 9 W(O6R/x]H犌 8i+a<E Y˾r޻2>ԯϛ4%W©Y#)gꞱm+'ElմUֳ\é(/:TBխsW2@Er>4ٲ6Ԭ]8ͣZv臆|}(fJ|6:d8 F_bg>X0ָ_q5_Bw$FvsiY~'sgz](^z>h9]uG]v3,t&y0mwnjĀIhۥ"x l(d5uJ'GBa$2FgEw ʣ)},hEcl4zxu 4n: W_50 ).{`[ؚ~LcMײԯWBVޙܔ@!WjXviւ7Aqj)RS*bTJV^-ʇ9ˁ98:;k6BEt¬*. GW'ߐ_Mxag2.7ًt ZK$%! %#mx2[P%p>fK}u!zN sEmVj{O2MiuzVҵ uH`o; 5!Y RɲtwÄWMF2ϳlef%=|ӒfsRR;M ʊݗTv J2+bղSv*cz,5/M3u^\M|d6H(H8oǴ z[h?_-l#XC=I Ir&B-C*5a[E{\M&ol:o|5_<`6@)`J w6Ǒur<_/ P/J6+tN&h̀:F/˵aA})/3x<$ 5h0!Wbpt%K/Rv3+QJ~z(IS-Fw\N5 LfȮF½>?9WQmfHa #T3|/UMq\SF3J"6ZC,fjcD(=!N53L!Hb;`imH)j^@-a@ ;2&Vu5@ܺJP/T7|> +_|_b;F>³MjŻ3`(.wh2{ص&E-XQ YK\IAE/"ZB.:rj<ذX"Y1|sjL[TRDpѰ u;h xфO{TqO(dX \:P2@:ee}' F:%YSv QWQv;_IO;vmd$滩VŃl.,ǷYZsNn#O) a[xIjeiWZz@` `DRR4ݪ=7W*@ Ps"vA֌N ,.5FuoZ $C?6AXLN" y0}vf?jIGf='2"XŹk U@@NW+-"4l8~ap(|l|H`lvh$ٞQR\BSV|^εUiqt%!uQX{yrCL+ѝkP+s(;b(()zI@yP"^r7Ñ7܁4PiH6|nUl5AE(;+Ky 77AIjRf_o~0"oe~@ Z*a!Z[ `Tj=[l@[{*B|3O0ƨ 8T8M VD©~tG -:f"RGUǁҎLB"R?/cWpԲ|&pd[).s@uL$wBG^M"TK!Ԕvʨ yp[̽朗^~|#^q}OO&bpyud@v_V:j1{w2л}C0I v&,E%l^R@sxɞ"0굶rW^9y3F> ogQ  N/^\|Қ)\DkMJBT] n\{v{NΫK5cV˭G=Gp3Gם{c-eaÓA61֝} `Wlnc:!SG!M'˧{G]/| oA4.AZa#rFHkD̾2ÀI$xap7 "bdGfmwd3\ۋ5 @" n889thf7gm1pv॥;6R 2zzn0IOs|w"N &Z(5SiH_Z5Jlk £ /Wh"f*ͧ'GQ*e4H'@M5IP P1gp8+?a{1/Mӡaq?)H%D-$9؊ aHG N]2&P2͒GuP82"YrB->pj3)) 1JJ-Q]Rv֎2 llv.ќ~Mma&Ca Ky LbU ]}},%_ ^LW L3J.bC+cm‡Sy_V㝙HNeIE&[i>Ob#A}3 aW2S wMFEՕAylE?Ļ.1x|L>? [L6M_WDێ/$j ÀD,i ȝ~4=Z$x(dTʨHGbiդ?f~ma<@"@*˨Ũ844E&Wm+k(U|2yӅO#id&ڷ[˜I,1OKnc?p 4RI򒕩z NFȞJAX(bE}Q$x6i1 ?_k)1c@oqPH]K, D-,Xs= 1W_Zc%z_?*˟P,N}Se4ަÆp,3x8Iݟ@cacdkV7eC0)$ KQkl< apSc ~Yd9@kHXg x(ExʣaV1@v62_HCd0ZCp+>ФS:Ne d@MQ ǿzʼu[o6lTiIm{_KVmRP6h-u `%Zܥ0T(~3( Q$(ۼ glg:Ls5,D2vrt{`]$TW|1r$:!A^U|ḍ5@7[HE#V'-0H8λ9"[8^>4#2<.6k~k^AJL}b+o4_l|ݪ003hMp;z ] ::: A{%`@tr֒CAH:0 Dw4 Bz^6m̎Z԰!- W憯ǚe +(w3]0Tl>oQ5 Qi2іɘ(UMc*߆b.ɧKbU-ACWY58[!>3z?" d!\CT 6SrF t\9:,XcGE_rW2rFJEyzl'z?s{[ǂj IsĎQtyT @jD=IH+N P=x,v\^-qؽvKۏ "/܏RU 8ާWvHN8nQv~5XbX#/0JBˍM MAܩJqs#_) A?^yRcݳ V r`1e֢⦀[KzJmɈ-VdBToFF湅voa6$yTԱS%/5rR1l%@ET/}}df9fHx(XU.aERgf e4jAvܶvCC f6B_]Ŭu`MDޅ6q7,Ւ[a( )+.u{f4 ce u\Ɛ% v$ W|QqӔ@ H0A/VcJL?e5LjչbF uemO;ꜫTYjgfiwziƧqF&+eyhjw"+S i!]ոo1vFُO.(W9u1|O(0Ieve~Y7shNJJͰ/= "`S-LĻ~Oalb5-z~ё42NV%o>@M@5`k6|ԉ ȑip6X1N)wX,(낔L5Xޝ`O'ײԛpm=_@ "DI>z7?gfTi ˏVz>mm+n BbWꮢ=Wp 7,ݩT2c 81s!ӣE\D5?I2VSk(K^&zjl'ꖁwq.p$,MFF2%_H@gaqgyȔ*C`xswG,"BMyzb"RxŹlIgm",ۉnq]v9،eaAqKg)B{Gc"ɄpVr{ drL>W<(ꒄ6mQOHi #4I5'd4-DNeJ_lIOWBQ@/?9q8`\TD׻gFKl.nm0I3>7Ew TvuS[ c5TT0T/M u_F(mqq:oΝ<2 дt2H/]%WhHAG7*]2OZ#˞SBX- exv0/d,?am>^Lq7vʷwIw6U \ #ӊqcp@LDE2wݾagPX"?E&4XU,BArvu5--hPiӞ;`jU=ä%(Xʊ򍣺t` _NM0f-Ew;Jf%dݵʹ_x骢F [󠵇gslņE)L'Y(,'J_zQQtYB-4IjgS!c+T>$H'N228'NO4/@%H$[#YmVu)4.rb1;SC S *i]R^NkcI|bFDCޔa?c./?ӥDYM6&L܆B{:}4)d/djGͫ!o)G]Zz6C~>2<$Ji $Vj/᏷_uc9Gj!Fw )B 6$fHY#U2}UƕUw5OE}ofy_ƕ'Y{ bզaon}t 9CA^kNL`4=EAUvC'd%2_ӯ a62%J :r18eEKɦ3d!%*TƊ :]CM{]un e6?M=eTȂ(CqTuP&Ҵ5Pcrhk55.Ti!ÛhkU *~&CݵaTL .w! iCdɓѪ-g:(MJi_7R"e6ǺZ4yAބ R5zq 1~Ȗsg]qulϾw̷mc,vo  G24,.WьZFٶl^FOqn6: v4.n/&ke_'H-$eL.";a$׹>BBz{lt KN8~DQ41Y430 /1mvib@DCUsB'j+ຢ7Ҍ}T㟺j'}4ױKM x^O7_; OI^Oc`DXwXS>P(4oB'\ȎFSho=+}# _kۮ,-;A\# UϜᐬWdr mGb=b3 4LHˉWrk}>z2?rroY0&:Y q;-Z#}2A1 ݶdh + H`4 ZJ*\ZHps}LE 93 %aeq@S//A.&r[[*}Qr(tv;1Xt@Eww^V;z9[ -D8@jc`thQ&j8|ձflOj}R-o-3U lJ/J,Uxg/7R*#~Q5]/K_zmD9HqJ<`ZRXj_Wb\k?MP밺~A=x4mcApNPz2@ocl(¯npe&b$1STT9&S_0^l1VȻ)A,( 6Dޕ %^u4dKzSU.9[\'{(%\mVߛJ:M9u6 V!ݱּ&ptfZW(]x#]? @K䶌<-/E#ʞ$74< w֏;{VM}<Áƥe Z_In#anrpL'=GzYR,F f2= F4GOBC]YB n>^4Ln /hrL5/wj_g6uǎzC`N`^/sjw;!_\WZh]詽En:n|;QfXl-'P|#v")jf[dCINR\&s{8|ٱSTpy_I60ȯXg{R^*`DDIҿV5 ćzj;gPU-1d;K'r|o -QG+(3ӽ~WtˏyȎ=z3fB}^0L;oWhS3H:Hd9"okWʡf2 6-2^tuVKď"M̧MX^yx4j%;}U.~ 3ɼ_j`Z/~!옊-L#cBz÷ 4jNW7pVBRb`Dcp+B `eƥ# 3," ?ٞ@NNN3b]OU\ZzhHQ%,k-EtdV.E&)s4m͖UƫWPs؎7,u^G/4/>?Ԥ+fk/Dq_ҹѱUk￾XGY/ߥX,Ti( GG^KfQQMln E5EV_FA'J_!20Hәgɹ)12tػ{ffX݉I2Y?lڤ! o)xGŌ̢gǕ.O*N[ ]vtXރeǁ*lF~]gJn_P&vۦx@M N3DGa}h~`SQ3~tjDlTS׌+wMH"66r}aqGrdSqL51Vu&r/RnjUl&1}$Al6g- Sp-Ƣ)l44|+=BKGlѣ_%U1}* ؋LJ1M95<0u>Hbe#O'1ij*՜Mԗh8RIۼ*HUym;!{An)NӑXg;"s/ 3໦B:rbbߞ>48wSJ;niPv@z({ ?P bekkb>VIݯ׊?a9uɂj $M/L)NTזr"X C XJޔ'1F"tm-xtx@EB jE*i(hQq7S +6q#<>*R.>a9QQ믦6AT=熱va,y_al< ;*Ƿ V>OvL /Yi4kvSk҆*Ƀz+ q:_ 55f+UX]=x^[Fi~u+̑l(M B&p>& W"lDxm+RFvfcj'dviאx4OokL+H[9(0i6M&ȨBB"6c؝f\P z)^D6Q~'Ŏ_j7lx͊*yf9hN!boɈE(6TߤD9 l:_\Hb0k=+7'<,}gx襃`ǯo8(~| kh;UK7pɨL:_Yf⬑7^!\sT4\5˻=\Uaayӷ`WƚjQ8CĹsñ!l}^GZ|s)]LR 0n=0h}irJ#Hs}.XY&`Եτ ryRrh5l9bؓmet!t Rj nq:(,٭۳B\uZ~Bt"էA& Q̌-ڥ`orkvزwLSi+XlɠTsڄYsO]@t_.MM:=$#mLZ|tE@˜F)=/T1]ESNcCڥ\Ցͬ$%{T9Zlf'HW%dԔ5X•.+̳=/_r@~ENƹ z+ yl~a tCbhٿ9-A "CPcLaz= Dw^`g`51<ۦqNc?5Z-yY9fN H7)fF H鴆BǼ^J&)NǍ+ήКQKJҟ")pr3.UI5zfmNEijUZqQ$9l㰏 >t>pQ>)lc*`#`k[mNy9!NpvưZN Ү앩‰4MKJ%J!}fG {ڦ(=C`+Ԗsni@>qS7Eni鹼̠kJ0 2$@$HFgbCA ڗ&t1ṃAKtUR$GK#ڒp!v@ӆ Nhap<1ZIJhzYtP>޻fVECqM7+ \܇PC}d_DeƉ)وrһ -_[Yoܶ^᫶C WFB1^9a y|Dq 0w=Y@}[e/PLl{6 8jRoCbRJ@e1Q Y נ5KIG.5^δIù"krF&#΅Skidr2A|ci|ަm !1"iֱsQ}24F=0ژZeY13}B{?!ۗp%ۙ:6ӱD0{Z3."/p0rV|+DsH.-+ؠYrDCElzz%F5|jHZ=XeEmYC^v*[vPF{F @YQeWh5GofD1/xTk*`@ 5{gTd}e7s"V,F(;SāT80,_T++ϜV$[6* eY p~fdkdo%!#a7&J;Ej,G(a7iH,Q74Ȓ+GfrZo*wA,PB'AǼ/x@( ZUue26S@IDN\/4Ev {>d(.dD{>sc E̒% ȶa>u>NŌ)S v>PE'TDxb=یFL)CZx Q9⯰HGJ` }-\Ä9؋IGiVLs&g¡+L,zS%jP;VZ0?^GrA\{J1fD)~ϜMC'N-ߋOOJJ_&,l! uEva]DNڧDij,T \ %mmD{_1nM@g{'D`AZ_^{bҌHՊpR1xKڌ)$-NTmnĈw 1rL8#u N;O?rõx/ᶾX% $, GOb#WLTw@,ָ0_dJF2T 7>Gw!yִI!B uxXeh=U[brl1\1X <HJOa&VZNժ)uZOQ3ctH%mqd`4(?|=BO4>0Vi=P8R4*ܻK;"Uk6ek(pw{ݲĝԎ-^A4L%z Ϛ``Kb2ri]rRYWA ev 5_LcNAħ/a2QlFC y %2JsBU CDa^:0t{F<tS Xo_Q^AUL"^r†=W- <\]F41[Or=rͱ^` Ϭ{[-ybOJ7hN 䝠JbAĶuW@/E@/P8Q3@R (N@t+a F r4>v}ؚ!IsX:&4/Cd ɠM Ytԯ:Kz!Xۨ \kA?vyxH6Wy_܈ܠJckBlv (Ctn9n /½UD׃eC#lq1:fp2&LjW Ok뽅\ ۳x"040au4=T{ʎ r(BQ4w9u]P_ 'pEI& .$9|*teztnٶ +]e,cTHxs,OpF/G8eTAdU4tNȿ|2buWD: w<N5؈UϨ$SvrKqDQio,UD 9d횀!rA/0#w)EP-EKz)PxXY溎Rܺb qVpiaiRaR-B '/M!}…ɹq% nPŪO;.@ŁPUEw~Ld/@ t$mS¤C 0cY┦a|5gV/f|VXj@KDU{ z1eY>]1=e;NRbxe3:"}NI%͵,1ez_/>bB$_x9Fч( @&fWgNUe *?&.a=1/{$? RN{/}؉ݨVԸb6+Hu%壟^g ]8$+y) ` HpؐȨޡ¤2˓֙2D5p<1pR̀sRج,HvIK|t0VY8ƯqӴW_Z|6/2cD6 / 6KkG J@<=_'FqZ ӑCKKa{U}\eAesѮ1}YyiG;>3 ^jz$EPS"+PYx!9\ih9XJ;蝝(偁3z?D ݲLMϓcy3^FCR5-raxlF=tR ,]u#ཛ .B̦όc'x"SM:y;\E*J/V٩[Fw9^jBI<+e I9yͲV7T#cr8߀`78ݜk/9J"{?b^s΃үfQm[CqZ!C{C\:W9;zd.oW*A8jku=U;ڠR$w+Gu)N.0;JT@f ~e :/3gv#"rMRHpo)Z W2` qsPRS%g7s t{=E\ϋ݅o}jS36IMJo{Gצ Yy b?uXMUUJGH-0bU4p, 1`@!0ZϐnV}&@ݝ\MDH }J26!A^YB/+PqG({+Z1P%g^Q(+z|?bd=iYF x5$@LnLU/&`.ЙDn!~qup/,ʟrGT>p7o%6vỶ4XU^Q9ΝwD=ilHrlu}d! L $veL%f*Fn9"sfqПa ˯l%uAsqϊb;w4'ɼ&ԎR. ( 7Δ~'ۍE J}5~+K  z}9=Кb97mh} lPs^~/E' CUdDMࣝ!?2+u] c<Ò&m s'd5'xVI'2qR#(EHZcHO*4d (lj/=,%R 2 tTA!ֿ=(/\3< L^MGnݺ>Ñ6k m<U"D͚ iZ !-t^&"ŝ|JCoq23h H{]DfFz(<7>%)C5__6˾m(1)ld`?>41& iP3xldf4 /. +bM_9Plrϝ\wzrEB`;GXM;Jd 6gDPuI%V{׸B r/pܙgŔn8 UNF=E{fu1]l(o% ݟ<$u<.c]N%H{8lpCY|UΗ^s'#țbiHJ^F"pVv"ӌNevۈY(NUFpxtd+ pK`05U dq؃p7D*e'2|msBv @a sL@B> ^+WWI č}>}1\v~w2{KHSЭX?(oߧ mLxp^r91`P({QZǍ-> ;jY e?R}DY]kM1P 7-wqɜB9j`k^!`1q*2w}"'oQq;g}?(_[%]C6-\9'WIS^{b2}rDrM?;Z}ML1u Vd VZ&[U0y?%(- ^GahK6mu؜a0s* Ε :vDhiͪ:x@D# qK~PZK.@T)ٖ:Ð{zJz9wy%gBHV/5V('BZ=}`ŷE"G4A^_5ZF׈hQ3OMW${Ş{WH|0Q%Ggv'c7\ Ãx~s 6Iݦ ƨ|U{Jy<TZVYdn2S+0i @-O r"8v.IJ%4҃tp=c2rtm9ضB4/bͷ4|ksV "q3pmyv 5P@CSz,IY͉Fh1ΌeGrPi20]Ч/1WI˙-+c,K 2`RHS|.-t 0cE;Cg$zIώ*dHo";K:m;I w7Fo9w/ʢoK-s H7_uF;%PѠC>OsƬ:u/ƍȜlԬZu9:5@L@4.r8q5S}Nni"LlF,֡xF/ܽ  !K4p_x1'z12O4cQyW?-wgMHAA=WNe&dwGlBo&۩c @=i"\zUkZ J(LDy kZ- 7S'[LOSyw;  *zyV$p U?8IGz_e bq!dG-ݼR!')b/35Ɉ|^ rt >RFH 6kCE99wf@ IJ|릀߁ɲ ؍'oђ͑?lhxNi"Uv=4=4cOu)qĎ}䠊%n{ 2ͱKtqKu_Yh2l:jB[b`=Ob%ɝ@9T|d9Rp(Te3aH[csȚmICes=-S1pvU"IB!w:s+|rl8 o,oμXiMo!W=iرca9 -l)DtGg VX>D1L[{%感&G>l.B<5L\xvfMd Of66*]à>t{EڽOIҚ/L"8TA!޲D(-,mIN;0gbxB;X-v *jJFb:Ls\Y;Q:{HGu "8fj9R''*B ppw`&dIX{6vu;!K)vM! QKj;ȋv_{Qi9aN{ix"18_[df",o 'aӝ&76䕃Ҹjelu݊Na EeyVjs*3ir$o88B1)3 $IQ=(͕f+XM-Gy4u*ie;3C,}XTQ5n~bGyvͼgkkq×%k9.,)@R /$|zGt(0$˚bS[SswP'oHVY"Vsgrmxi4 rg^lڕd)(g= AZ\D@ ߗ8F\QLhjiD%t)6,PtX:TM vSm-u(-{" *R*p=l][1n"2t_!$`~AwE_<27pJ|[#6I@0;IGz5:l؃ !CF=)NҊux‡pcI 3='g"G3z{\_䠷&H~H,U/!( ѳz"53ÀzimePdKʋcX,uv1t/~ DKJ]j8,؋ f R= 9(Brf6;}p(f:yGiZ\d4DtBʏ<8k<~hhnf>l.k~Z(:_9ߚ7y "93\u m$2r . ?T>Fqnl vi,r(QgdۀJªo5SmatW-wz42d㿨ڽxi0cN3Z)5 |U֓T"Qex}+@EJqN̐JiȂ0}E+skecUuxg)?<%Ia )+/oeZ)=z$5kCA8F6kM~-?C(1+ū=s DzQR "+U3ެْ5UHS6JEr|k rU,' B٦rtLr2Y!)>by X͠\+>t)Ǧ̘}W u'c=Yg7ߣ0?z_SKAZ3,$ 2\+KjbtEI 6 Ok9}#Q۳T`oߘ7iem 'JQj}gx+[$3(j4܈ū8/tqGcYT W=ŸX!ƴAn =CuL!.i qABkڞ^4tfh"s+tuIη2(YPIVʾEҴEv~,\MIK=ޟRjU_b-,8ZJu18ۭDP0'p46o.Q PۇHUrii,: h omkT'{*1ڌY؊_J;K9w֤{7] NkiӶ4lX僞5Qwل` YtmE& -缃UWC2m5'5WHpl}VM{L_ρوإ4t&z8f΍H#Y(Η[]I?Gp탉9üKo3-%>H6~n2Zsไ3ۀR`b%eJ,LWrfQPgC7i%o<4 lnэv?3653`l|IA&&L-/}o!yfzˣvUO>=-I_,?pƢ oi+ {&[ JȰPT]_Z-] fqkjT$R[% XS vKtYsl |_4zZ|pdHnLwueyRASp%0'R%@g0Y.65vTZ՟HiQ^sM:s|Yft%ShBb/Zc4Ńn>E=M5&=gY @d$Q1a,H1BD?NAq/#?-cuN\R+[?N%=3kT6= BbSƭ֊YH1{e즾4lz4f*Y?.Zfh`4ԿmvUK/1AB3h c~Ԑ7OW AiiZAӓ=(6a Iz] ѕX᮷*%E 4*K  ;`| 2f uG7dEpF3v(s}z]HITO &BHTKjGe 2}cl҈cUA/p`Lj]j뽓 H u"p;+m0r>ƢpSJ,=rO+3PC.)^2m?<|o)\r>Zlh&)0#'CXS!m b*f^ݎ}`.5_юv֬຅Ϸ_u#*F2́捘 C۸֖u #Pj}zj !$Ō$a"(3A"E9ZսC{7"9=Haj㓙-rq ӷCcejމ l"pnc w G>Ըd^:@ȫUkMTPπS\ Dؒ7Qcmy7ɤp uU1}%5a,+C2㰵_$S JsrqC Š6iԄ *ADkR`Qu8a˗y˂1L"mk)Q8χ/̀DS) (">VE3@Vp׮ڴAQYT:x2jlv6׃9_7*xs]4-dBUXnhQn9wZJp43VpDYg%g|:2ej w7OC<)=^4bښm24YR:Q_հ;>E2ykNΧ͆ô۷0.mX. $, "fg@o#J ŤoA:Ony\IKyN3]RWlI ˌIͦgR}5Rׯ˽Z]Sz`I(k(ezn5Dc]iХU|# u Ę|B ޖRh0'BsޓZQZe0z O!tSPװy%z/k˒8RfE^ Ŷ5o%E%B󊘵WPtɣyVjQ&,^>I,5n 3🴳nkE~"=C L}EJە3uU#;ef'8v<;Լ DUop^WeM4kVͧ\M:h~Bx2N&@o)ת? FHA0攕gg ܧP?-yt|VV#xLЕUd>$G:X}F7L75%'eu.O?:H_@$aOI@;b8;`ֽa7T3 db `*\_q.E1\vwBhYUCj%C_ƅPu߰gkqFi[o!X d# |<EQ`"‰.)hBfVrgap sZRskmn]x}[KlA5?>Ek!m-1%gʵ{i!]Ι\I25B 9V~@vzTMQ\aL'V43ֽ%gȇh~<#,P u 4{}ɃmEy̟9牎g"0a~`W^tw i, |J~sਣ,kqoh[ }=V~0q),=[Ķ1(h1W;c$?zXt|^9.AT^}er0zRpкz0 ܚqx_o9`lŠEOCkH#ۚl2]4k"]Y_|%&8~Uզꭨh'eKFq6xXe30ñP1A&?wzĈbk';?LKdmk l[rJTGb12RJ!CuP&eY6-Kdz( ӑ}8`7x"AHȠiU{!;Ļdv0jE!gIR]E#*ztl([KC!5 Nm[5ȸJ;Y9Ӊo9 FyǛ`-YԻZ꽢HVDnGvҁ U"alI<՞K*ԙ$`.|a a'o[s!5J) !H@n\:GR.PڠYMʗ=C30G GR.R{h& PHPpEh RPx>ejQlmdQ3fОGGgPխ:i$hwD_+8-B Oss02Иe#V+C ؄%VB * Xo|ypDTiaƤ B'Edt4tDB (G)P*,Jenꈱhۜle(㉂Q`a.!ʎ99TJEojwȆ'',Ij%?E~ }6gz؊<U;[ra! GnY$eo.dV ^0TqѢQ]Qb5frŃY6,p=y֧8& `Oy\caYԂ3#[rM㷗`#H2#q7:~^g!zUwN+SD97^{T{oG4Mp cS-RR+sP&e2<.aIH>mIc Xa0]=:a±*UExG#\MSŶih@?۳ CqJ[e.6iFL2̞eW5Iwk W& Pxf/SǡtsKѪYqk2z}t9 ?[tfAf:r~K_o~YJg/..aǬ`:O\ М55PqK5s60۬%1+DYb;/R ~we~Aa^fĮ@z+uoc $i33] yͿ垷'MK[/B[Ѧ9ՒI94Ld! a9pszٷ3iysקS]ԫUN⋦ 6˻Qx'>EmfsL& DhrZ <>i|Pf( u`EBӃlXWA ~B` 60Jqà (7Pr‖뛆 !9sFA,K8-C[3D omMN;J6=`eY[ 9@`7PqPNΜn9}"oבVmX򇴡@H}Z@Sc|\(^[|]\`& _w>u.96ڗ8+^?+9Ic4hfZ,,S\Te(R8{\ SD.+d8`ZǮe4[{rVltbEtZn?f:zȆ9XHy2?| Vq g v%i6 bPX43UƁ[Q'!tP6Q0pQ3RSxXng>ڴAZj}2;W1R%g#*ܽ'%VìaEc9y_x$p.01vsMwXۊPx UTҡn=Rj]] Sb$@8XoV]ީT9 5s<9bV_"DrmhRjD-uk5qbDdcUW2k9yE/~M1f>i9-;@eh>D V w9!xB|5TiCQVq&nkf&U{#yDQR^>š l -L3'Ndcw .]@ZyU 7)m@T'hEqTJY)a0QEN 4[$GCOjΠ^vmہW?;[bA["ȂB~v\eqaOmg[53H`!={ݡ,v>X>Wƞdse`7\B]d 5voÝЛnQẕg #YpUȕi YF3%ѯ ByTYE~nz<"`Q-qՐTcVzҪ `^u'*EӧRbVD02>4K_Em F++Li8S"EF θ7Q3lxz@L}E7;z9KsY+wn%z&Z^V(-~yݗxpjAIF%G!Uqs]c[3Nq4ohen^x)cl*~igd502VݨvW5Äo8w/l.ca#4>E߆$S*"h5H+ZZ "d؆ƍNW8%ϺQ΋S-$L,7k'ڲsf]4d8ɉKuBnQǃ/z4_zIw]~<5Il߫D9ౌDl Q$'_!2S oqJ@OFTFA-DzmԼ a)^=i?prTԄ>ԙ&Gºd9"!%t=S!} %~aV+N^4a7c+&4>~,8x'x Pc0&r=SQ+*yK8R |%^q0_MaRW"s+ x S]i}ƭxCJn:V77R6iz[-ǚjסc_kfj){ 55Owͣ%( KaLGzdî>-?U{ּ >TCla΋܊-9J:őaAt`{ldڷbB8e\Xa&~ T]U`t Iچ5Л{M AZdNѢ΋f,T湺 ՉLg= @-fS:{ka|CP^fQ}[/a12Է Sb%*0*}2{}]Fd.?Ajt7%E63MW N/K][Ac]v.Lք5k@0Ɏp\oSmƟhGoJtl>Γv\ a:L!Q9ĝx5a.Z&fq7;yRN쪜Mth)PS wph->z]>:pĪܨlpuZij=ۥĦ>΄xz5*M™V>[tU: _~ݶeUsS=:b4E<Q~r'Wv7yˏhy[E-6YlT6Ë.#$M},Ɗ'Xϥ؜N Zo3~q %'~Ő;%H6ĈwMp͐yP!s^ӃQ%uآ0G:a9Gxk~=VvqMXiEo5g 3S $C2^O8e%iBMؼiSV˄p7| LCL8b_86wA̐Zf? jJgMxd1lAGݐM4PD?FEiK٨[)3 \yNk_߉7 `3<蒭雥X,y*"K7~G1/r>s35u~ߢ#j6i4S%;HPuØ&}.~T5XYgu!vO&ZSQwL퇬kK  ԛxJypb)!n+%%c'ICgX @,NW;D?ÃrMh`SlMH.(v~;q=F分15{yZX $˯SMD iSr;݇|3HrLxdeo  sOT&Ϗ֌C4Lr򤚙psf yT?&WQ+Ky=3 1as2Ò O:Y7HB! Ynт45\VCIp69;PZgz9O?˷UAJBfW#vBѽ) xߠP\"34CdicF.&(kܪ=tVHWlu &ku ѱQiַz:"hU($=yB!a8 d*+=M JhL%w|9Jtdj}dqN^WG.(w[e&HzⰪR|wnU!/*Fuߛ\=å|$_YtDY\v+#\:]jᆆ6~?6{> )(p7^Z-Б`?=ʮK*7jzl/mxa';lҏ\k)V-KG23qFzQ݄KBժ U;+RZ*}"h:2V9@A3 Z|)3R!H[gZ7m\T`b\j4'G8e+=yl vls(i\)ۆ)ON$>!A*m@k\Zwx=و"VJ*d/Uͭ,mO`U :z܄GKDԆ_kGn*&{#Ac;d2p+,?kgR}/^~zq9R$3oAOB$}96SC1ܫ٫uKmrlWޭoN m..M _-)6Kiz7L ?JëR@ФPUv\CKT$A@H$^{]mvO4lmv #Ų.|B2DQftF =V.s~ )]~ Aq6>Rڸo&Zz&vl~ҠPw<,I}sj7W됿L_JǤYWnι9a]|K뛸Qw#6$&XF9 !K_F_M3p9)ۚKL;R]zOa/M=Yhm99ACBQ&/-Ϗ?\!&WG(đ̅XIEC+:nYa,8˒Qv פGl^X4L*+!UnWlƮaϛv8`*{' QMLwFW]&{=#q!/*`,8f sn|q!7F/롞H[1?lAbf$З0AU9Aψ>)j1&(_.& 8rA*Twwj~Tawn.HN1&un#X^>^fymJllcSW1Z߄~4t)8 X-\^Ġs .PF,re]>4_zd )SO­H"'aZE#IdC5wQ,u6?Zvkn':7w%%tPQW/[+\{k5G͔&dj Bk}%%W,)erZa!'~V[ÿ gkP9(`3_^⎤c׹H:Q`YtD,uJ#<\ 4/bO@; P(E2YAD9m)O(Oh} '໕z@#kQxH1;7z6Pӈo i>mwuaa9*sߎYj.s+>*A*keRnYcض|otġ)7 ]\g "iC{gyuHju~Uk&2+X{tD|6\(WG䋔0&?kHKP|Zh.t$EfpU'e*j" X<j%ϩUٱ+S!&ВptU؎ Rk\"{S8Q;"SIpp=sEOA8e*zJ6.e7V %[RDo#qQ).']XsT<)޵%bJzzv΅ꝇX;Ӂ S"UoUnw;u7J*t8.e>?Usݠcƪ!T+DJܒ* @WOh;%.w\j|еv. zbvO0H'c V^޽$ՎW޹_FGb58^d?mXf w3ir`#<&d%w>zyN4Dc]"s  ytm$搛 72mFi'3LsZh7@Rw{fN٩p*{'G'Ylfܡ0PmY_d։Y>*jٜ+8&6?P66lEF o E\x !¦Eu[὎iIJZD1"9ȭzqNYV| %RrٜfH UZix!5yOIFܦr= Fi s8%A -SxC5 W77ϓ=a]krHGvvimc MsVQNXo\OL= jv>jBa ,GxP))p%·o('g(2LSA`Wq4EUKy3E,j S/!Da&]>򦨠A0fӨ$w@KB fhM KYcA'7\L,5D ~ϴQ5ddZ e4H8qNX C&̙;@N:B9]e>k u?.PTn_Heͪ:N̙ ;C6-)~q걉#*6qb(˔\ʆ6|-K)YjR.!3ʍ}_>3=},$="|[<24i4c*>RT&Ne!:¬zgRwIftp9-  NǨocW_v2]µQX"nnM=n}>ӺUd?pf;dycS*yf&o}h=H >Cv8G>zD5I=F_lT8D4yXwzO[Sa"ȹ4}DwptԃL}1 ĀwB6P9gD4e cPsy/ޢ Tx҆k~R;E!bG9ނG߉St4-1U}v03^wfҠ[DE4_%Am-А0a>h{Y:?uOGN ~μT=q~eEtAgNV5^U g5\NFKڛ'aii@-+rJV5rq㱢j" ur:߅N׎C]TGfsf44IKXG@qOCy;93bVry i^H\;+{x el3qd,;CMɥYra,>bGr3*i_(e'`M3d, =6??7W{0Bdi`/ 's7 Caw-PIM7[Ԇ{c'w҄ő[VqVw0R8|Jp,@_7D *LW)t/_OF{mnn5 _N^JW* 6Gm-:TV!5ldTun\ \Wc땬װL8K bm Jv̸%R=0AW+ h0&gx6+zˏw) puڨ\#T~B !t-8%] j#9!S: o>|̔֩B9i,k&rD]ޮUFhS~0+xU $,m7vSuA5Qe0Yc)tp<Xd%FôoPfw9?H09=XWg'rw{LoBȗAлk{ PKqHd?@esѮus |XR!u4bO0!r1ysi(M*5M'A&`EV;)Hح.YQuWy!X1E Su@Η)שّg-:w~ Jnҏ:}Ze D^I8[,4>XvLȉ:T^-s>,{6he)*k@3KOw)=lTL񠌂C, V0sVDU%4XCWo# zd~6*mGO"w.G\dd9zɶi}oyd$kK?:UiS1mɇ{%k͕ dzI|6%qz 誇Ixtlj ^@YEb4ڊt5\q T67} E}WStpr&_kEQϺ>k9\j|(mY 7K03U*~\{3XL ,hI1+=؝FѾ?OV L/rT]s80ע<̴a2yk?p}%g4W%|8P R&c/jXoƨ_L@ pr%e,f_"*%LEGofNvĽWJ1E a|6y/\GEvRԥ#{F!vs|Z\$`*RDG [to7CmwnGDg?D}RM3/دZT :P/ȫ\n'fs-!`E?xHh&z:DB L|&~؄@"!G@8sv':I!sOr9eWVoY"(nO(Od KP[y7=ZA68)t#F[%Vrl'I2qW]ͷXNs+Zbf5KY!'-]NQt%kP~ȉ˧v0 Z]xޠ"_ ;I'{FY88dlnU I6tU"\hӹ&ZZHˇ.-YkauOPs0q=l㥎s/"+s9evCUƫE DG37o|z6qp~WU?cn|vZ\q_2qw`-@뿦XR } 93 y +t#;Vq4G%h:&izRN_jb1VV*~9PZ\kv.|,RćU&ʏW̭Շ&׭b=D0бRXxDl61Ii 8ɬᓢR[,Nqᄴ mr୍çRg#R(DM#= O)~O+ifozH|%,凅d^JK۳cA;zzʮOynw=p#Żq{EžZ}/=d:BOUF%yxsFI~$Fӱ Bc Mǹܻ-1%mJ֜by **թɅRa£(*2t1IG$rvO<\t0$(^o %oF\YbZe?=^].eok䭑%l0gi!گh4),BU^_+cqn].%߰cÿPQ|LidY0C=!] n;*^nrN<1VrUsFhLv2@d5Hp`֦~uk$VZQX ~&^ S*1$Ű].v]1u=-x5F8F>D &| V /ѽ!?[ڦڷ*{13S |@:ؾ⊀P"s ?91#/\K<$qr P˦r\k0|{Aj8xKQw;ѴAٙ9abQ3l4Y]͵s`j V,ϩJl7Cő6=<`Nt7$ѧl5QCv)ddɐ*srnw4 (/Mo%4i3n$]&-c,"bb{3I"|(/vܦ gm9tw[}H 7'_Fk,5 @%L=hS4.Orx!B3, bu'n]MCb娳 L/9afF;\@l{Rj<8 tu'qDL .0%+#H4PPV |÷GaBq{`R+ εH3 =$pmV]dFPT A)$`R9u7> 9lX\VQgĦTUi8>WGܖ}M\(w X/RtЧ\_ԤIW@_vIyW'h7%7OH=Jaʿك+թ&8vIC/N|vȥ9f_črLbeZncσV1 + %<ږWc$He@7^Y.Z c_h|pJt9&S NGN] = JPW#Po5yVCKqE[R)2 % ttO$~ bJ+_o4"tU6K!JNa g@ \X6Zm`egD,v>KmyȊ[9,а^,ebt;o1l&`vc(zSZaU,,I{l7#Ohנrжla "JoS$Xaw$~j۸ONwX⥟uVW ALɑ#6-70y,pU˰op_tP[M"/^a_91^Η=7=Ā RJY XBE&#l^RN#K!5O Ә͸40# z&8>~\'L܃iVOW83o3ۗ@֌a9x2V!-Z?\/YT K-MOZˣIko*~ť&sǽ!v4V :`E+< gĉ>?(鯐wa̝_C D%~BRDAeެC+\.DIMvT'lRD`mjaYCeb<#kZbc;ޯLȉP"#]E7"p2ZłOc9*zoqQPILف$@3NlUߑp:< Nǔfp("]ZQaтa Z_vqd!1Ł\r|h?ˊ.S.P+0mDsA۩N`pY,nI#>ܾh6{|Ea%R̳ H;.t>!R@i뜷XŭeF*au %M L`l:Mڸ畊cPoV TyKȲi<0F>* Y+0i.-I!PptϾ6|%(M+ٗ'2QK} ֤0$\=7@Ȝ!R 9NFcniu4LNW !fq49ִw#lM0|' '4A@̐/N^Z HTxmt zAx:ݫ).s۳&ކB+U쿑J_Z̮acNDs+`. Ii <{ {HIyNRͶf4{7iluk.B{[ ꠤ 95UEt"!5a}{/`x`Yy!T^E9Uze-Xs>lbH2ͩm 7VC"tGeObi/$+͗ٱWXe;!n|cJ?|)L S^k< CX&׬ʤF}t>@kZ?f,m|b yy/_<5-XHDq>Ae#nnNrS!"3r[ II%s-SFrwTQѶ1|oNXQRlD*rA'  z`4]l.q:H#6 ̠OtD.j)4GbP~o8H%Mgl[n"zd `R:,t cd/86dɵeD;8A(vjsPGn͇CT۲qFS* pkH98%_ z*m[Pe0=82e F1dZBIC^DMgH_UWRCAQknS覝" 24Z&[Z ;IseqݎDQ`?heILx&;6]^!h~G -=5Iq36 93>,~SEMg6[ ٩oE+ߧ C9vIMܻ%vdma)u%R!'Sp3VwbG.j*vޡElds)g_nNҎ.meA Lͧ,5F(sFerΊ4MvNֻ& 5 9Jk9,L9s~1zs\$uG I`}btawjm SuB̟}4OJ.%Î-(GhO v%®l*EM7f3I#3Krהn0:?xtyo8YX qO x{@$:r1O/R,+$Z,$D(~#Q QWK)~p^Y0oV:۵gk I ~ !S| Y-ۇ AT!k|޳|^>/+sawLz.6)'~0"|>G+_̀)9)`:8jbZP3Ο ! byGNEYʬWt/NbŸJêZLpiZI1XiOB`kr2zroe}m|UÄQ/U>qoGllAzE[_.eߓS+I%\x¬#o ӱyeD] ViiavIV9_e>vNSJHɌqo 6=R6#y+LE/b+d[Z1+| 6d m> hs'F3IN5:吮'qܡJ*ILNZR]cJcz} =:a{21JXl-b $gJTM6"7 y:8 \䬴 $.kc\4\Muܣ=O>az8|h~a~5TD4hnX$tǹ̲_+M沷n6z=v\k:+hD0Ӆ,׆%S*zg@F5rq'[.S/7XqhOKsT/l%׮R)C ŶHH<9}pM<q7M R"mNXnFvH^.a-ߢZ,D Ά$-jv -q ) u.#jT}*'zQNKFdخ?1]1L7"˓h/΂]KQ, ܌FY|%ENnBQ_`Y؄f_8S Z'쮿}ԗ3 v =4+Ćڙ: Ђ jHjEDx󬆯Rp7e5b+BiLØ`yzu5X1 ft}ׅ:,`ȫ46Q; ]N,"J./lY:5X3M'v~p qZ:]{qI 0Ndh<.V7Rew"bdB@3 JLDR04ck8=[9> E6iu[a@|X~n ͟7JDi\+0ORTB8swDoOt4(}ClPcv@3]}8SKKc)'4{ZѲ!st SIs`9a-jT,}>1Q: asF%y HJP^NF2ϵC'^@YcGL P(| Onjcw >!QXheW-:oc m妃U1$r" ݆#$ouJ3c _p$)M2l?%)96#gJZpbQʵ|o`UVu@;}ۃXT` *A'olmJ黒!M𨻂Qt6f @0\tDJUq/z^Ko(1aBfg=@{hd,F9qfma{;׏I[zG~Æ;^"mMKtb_N&ӤO>QI>V(rK 3KUScuOCλweJ)|&9zfOh9sA;U+e#f8gsf~:MB+@,6}v;=8Xp:otS'{xx)=hjub&$AZ\RB$T;'_A.l6`YAԞr1 tK8{ni7ϣNHEh~6,E'ob_*_){9" Ԏ!4 L-IJ`Q˻,ȺSDB9 ױpnQʤ'rϖ9M=Kn3"YM:$Zbl8f3>=UxpٚA7h-PH7V -SU`N0`*;dkokK:Ғ0 q+(uX jpIN ܘf-b@}:"`%.Y">ϮDsD&VxJ/؄g`?NJ 0ǐoK~ tCs% 뎪]`}rYd!ve/[l1oߓOsZ]GT+U-uQ2 Uir{=u< q; +=8D] ɶQσ@?o>Xk@s,81PA=[A6Ƽb-߉^ͼ7^y"B=!fx"2iI.M=C0V៻MLgmbˠK86DZMla:"@ue؀,k ZˎFGy\|E:iZЍw !֝.Ehw{ "jeb|,O \yoMͤl.J%T=4QY~1$SFTԗxmA\cq CObҥwU'Xo0{>Md$Eaq+3 LfEG95\FQ5jrVٟl>^[ocӣ~du~{fUhkj$  0N ϯVGEj U?}kSSfr1ωrKͥ%Q|&ew^|J\= O{/rG ߅+uPQkt&759ͤ(ʛ#nk73y;#OK[zϮ M!Y2.\/"i!+,!z:rk-ś]$ c%f!zޒE}+NB X¡5`}9qm^s^D %^4WLnF=Q\q%2e'yP3K|ڰ׭93R6̈[FJpAr RȩF]͡Mh90^7K+6.36:O"OfxV<v)ZqfCFhȮ T6~([*5UMBbԁǽ(}|E<8p#/;ZQ6 jAz1g1}э*it\\sk~%B!B$Btef 7t9%[~9{|]+h/Yx?=4aCp H&/1nLӃwx8 Εm(#d9q0=$7u'6zhAaZ;_d9t4&5 RrpjMo~ !c;d=L2㉖3W 5 M.F\`J>O Sc2# ͥ$ӱscP(wN9Tfs zh ?WutAbgi͒ӯwY\ [Ajܓі\24&~פ% %l azm*%m7Ny9V %wܡdKwIWdFp_Ps[5[\fgxcO˔Aw2+mFf7gh_* ]}JivHe`8ԁm4f,j htY~,-aE7 K.fm<1d1LL3:SgǑ4.q9Yٴ@gw hmw_=sGr$g.eKlz^wMgaJ&睇Gpxsq`l%%9¹W8"-6|\ )bwbΨc`nV˛aݤgA/éc 17?~'q%30:oAh26s>\7jS$ˑ~pRRY kZLȫ^~ tp<{:Qn9~6DtnD:%pkoG~GX$ v/;>Z$\1eW@ѧ{rtIH龤2=e uA v5n?MX; 76(o,(yrq 1lL-{n#-UHW-T>P)mTr%2` U_ f':Emjtt bhn~|) /`7-|EpzoM;,̀1#QϫqoxCfDL+^dlR]K Q/VP?aw) vNry7Ȝ,D+n{z'b*cԤ 8^0Y|l6?m&TtqYZ#ẖې/AM%e6Eb d&,ܙ L1nؿ¸+*K"xs8+n~ã7K.`;}tU&!z`!\vW] U$MNC:^榑86N YeIGգ1-]PسAJj5񎙛Je[IvòX&gJ_Bq^^S[8*6RcO HՕ@gL!# F<iZ7`r\O/Ev8t8.HgE M-gԄ9fsRFvAND#=ϕ~'8]/s5\52Fsf#'a W^ k^/BqP̆4jmn .^Dfq*ΣlPKB͸$Y7|mǘ^ޝMWxE'u!.6QO' ŘTOw(.F=0HטC-v+KG VT{=!-X?eY`5Z,`ߒe:ޑCwTgޢVO,aX82诿+QPޖEE2O7M|-&"ȖOw^AN4~g9x[WR Ex o$Ml>cV1XܻLdܗܭ޽B4vEoSZ^g9]6¦Y탶y>(G-G@Pwkʣ\DT'(%qa4 .:>mF-=9IݮVEm\ڧ3&Od Za9rKUʶ:֪Oxo )H[i, ÷ 5cV>~b/4e+r0iqʯ(I}aAC20"ko9YolE_N9?vh?`Yy `ҍ{c{%{JۭtDo-C!ZYS0 _^֞]fZ\ܱTnZAv8 cbpMq=zYBX $Z{'6\ǗylALbCN b.L(V)aō\˦~`e"3}oBȱ  ds]4|B8S*ޞԚH|>ӓ5b0.|͖e"!ݮ5a+A ^j|QcR-]O/%ΪxG5ج#61eJVFV.!)A8J.&uz3~|"^i\ꅿE悅żXe@:b`RDGOWŹP猌;_]\{>oVo]ILecq@'Dj<4QD`. #sESB4x0"SS֊;{4 .BIoF4$`+sSvxkh)I`]ZvTݦT9`:8bOaH֧#}_?v^Ev xMzo@v-]%K,E?E0ө+7|MjvGap'*=s,W`* ,6ߟLmjJȇj_ԪmL{fKN@p |hc#۱J5 .J"e9E.=moBf|KILy%c敦 1P~$A^#楍l KT6nH־іCKߢϋ c B`[~&g+HN#whg4pY&lzOkUۚyyS_Lti(5L>rdE3Ee(x~Y-C֗}T!hz|*7k:mܲ[s> #P39[\#Z*O\J^Zn*RJQfX ;BL_zK[_0&4qc* SwL:m Jǚh%o!pEл3Y s)KUѰmXn"63Z(Xl%o_3ήqO,jAw i(gB ڠY뜮#ۨL.6 kl[I˒NA:!& 6tW/i~jZwA  eQ  &,JIhBg芝S@៯a2&cn):8XwS1cCΊjVlUTdA݉iCݼfhge^iKCGqyiǹu߆W/X zz!4ګ?Ҽ5!Hj++p&1N@7~&|/U+f%^~ S 0-Ҏ&YBz~i ca6h ζr 6%&g;tP;:=n[s[K:Y2OHՔ0UyT쮳ۜcnJ,yfgv:ٔ4thXgVh ϯj@QӀn/LGC xUZ4r9.# 4V6t}`'#Z `u{E0"T}s%G9HA-qԸbh7:S;JsW:sU-ˏdXUⱔ6Sֆޯw]DEP|Տ \KaQ\Sw|*x H5-FvE@F9OxDEVNw_Ŭ{eUȺle F 0ªGO)ΓCp_qXkgs;_@@Ḧe,'80 ߾oFq8K﫛m%dz5-,ose9'4Q6lLRc`/?zeGd=oL`:L$+x= @ qLn9}0J:HLlNԎ̦\` _QwjñNHQJL&x=i۸]Be{(8{]ى`?JG.u6V0:<=~Kٲ,)MJے!f+>Vo0Q FFOF^ !XkJ<,~S!1W ,e>`.8rMB4ҟ5P5%㎏kρxmDg,jŃ4oYsU#oZe- )Jh\6Y΋NLN&go|ׇyAדF1^T{#^0@="ՁUpqf~  Avc es=҉HWugm&P`u3f40JO6 f +FE! ';^=,j,Ԇ(6{UQGOYBOovбӛ㐝w@mt*/tQ:zx'@:pޘ|":X>9w pF-x +nvA?t|Zy:!߽q:2XjMbKRe'+JMl$hٍBDHKݰeUDO=ە| JndmCJ}1dTX]þM(b6·!>vGQu!doxMu1 Жd%d&RNtDu3C&5zΊnpXABu} OR|G4@+JQ Q#nM I-kB.Nt, ).yNZ B^bw E=hɋI#ә6~w Vv`$YKʂA)vH&.]נә!!-#A-m\sT 'oÎ2ߓxSc-7 x}}s0;t&"k"F&B7xh鰦 tD ĩ8}j.Q1\r! %ͬ{bQhx,ޤ2V`=!렊j3A:2G43]kaJn Yy;kQ~ 'NލЙn#M+h3@b\pob2G3﫟ۙ%ZfN;mv \x0Ǫ:2W%g C0dm{+v'7PlLTp9Z_Ax-bV:X=8q^Dj{4)]=tNj-@tԃK"77\1{xڼhkQ;/LU0 J>^hQ]r)ɅHzBT0%m@6 e9-q9y=>g{/# t$z#ΠcQzg<4n&8='MwrX 20D4"߁VSJڟT]cu5qzEUZ .c"{9yy[vཨH޵?xLS;$vcs ,^ 4p(tR :v^>;?%B-0\ynN˜c?kK+jG[;`c+ܑu^We }?Jޛ^𔳖;&#sbm[sSa(HQ^{S; cƄ&Z@oC)8&QN :#cM^a'19caڨ- SSB5;*񇠵W?٪PKϴf.,:IѢUnX­c͙̀794Y&F{JkCUhG}s1ZgZ'0_4QX!SH#G\_uUgǝ'& X0nVRo 9䩋>!s^789В= TmNn! ryڌ^sJ 7vgEY -XAlvcyrY1 a65^ks̺mLӥfZ9v7\nUg$0g'Nה۬^YUo¾\y+4MݏfE9%oD42'y%[%%H-U2hQ@=~l Ner`dB[XT7Y[>]]`X58ո MEr0eZALPeE) Nľ6N{wӠ $;wfL"f> ?G_&eBDR[נhm)v*f@%tĜCeF-3ߒ%{l *\ ZKH%v+|1&TUwQ[ >)ۇsH=ٲ(iʛЇJ?:e6F#9]MBpfSL6F?=vJ`2;WMS7\q#G%+Y:n\`Pa~ r/^"_Y5Գ8޽v6J; I%.H6An@yPi>Yt*{Hr~+CD.(O(qoM36m^)M ;vnr}w:a?Ɵ9 OVAIل7عg.҃?V?3襏R2O#IQBewEno`&Wqj񺸄>5'uh= G :\(6Nlq:Q2ʠӉ`?L 1~}|wH1Gr֦]13 ~$-mmţQ9ֿiXMlXDbby~ ,Fc5X+/"u/B l͌ټ;hvȈX&7m>΅26ьXM;pfït?XNXf5?\SFf:Gܖ ;z-lf(f=^q :o=>Q M$:&[HW^bExi(:+=7tꢓt礼>;Z%lAۉO%+l{j*}4$q!Ӿˈ?cuYmjz5_U6^%3tUWyr"$E?$qz% $(-B:?]Ѿ㬙3L.(H94\c*_(zڴx;%#4ܐK7[KYz=\壿  4 IѨ6c/ҚΤp! 1(5B sޗزB'ִlx!\B$D:ԍKqGw|Uӓd4(a0j|pC^R:we#B!7Ly wC(?H}s׵WM%kt]8ӅX=poKK6JXM| mC|w~H1nP5F.8r2 cqdW0*b&=jƓ4%~-h-yC{6 P6ռ(&pȴ"hT=ZRwnWΏ;HkJY "Z dGTNOVTϟKYIo!!m}HU՜Mu) F+ }|h[#b(Vt)DE):0/;T,L^śyS)i &u.QDntfB"lQN7S5szmRgcǰO3.P3L.1A9EzB#[A[#KMLUu׺Vг=N3|iKC9}K Tx#@ S.NBQ0^; 3:0YUh& +uH\zr4ReRo1CKe|hYDN`ol 2H2 o8?Hv=YgQr_-(2kwCUfM(^9Pj;r?.dvΞ4#θG 5@ )\:p5tx {hzC  :Kiĥw@x?t.u؂n.$ɌUXNH۸\gF;x6Mx>ǣ]ăA^:T̑CU:(,_bp#[i6nՃN8Y}_=p1Sva3#dp/۫B]8Ks6rrگSv3`u]xgN6^ӛ= kW|-ou(5Zfη58B ܐoex <Ǹz< a4gF˓ЁH<.6dfx7>͢FO;m PWd<1[Qd6! ϖw;RtqTc1LKLƽ\חm9"7WQHTBmYx}v64,.P[Svܛ L 6C*fqG7X&H'pzN+?.9VEW( X[$CVM>h;yd׷_H!0Lea; zsޅ (3-B>Q{OBY.!2L@fq҅ ӑηXׅh.e{=oC cBQ7r[ ipNzL 1]@piuQ.:5z=SHt}Z Chiw;9W[9s%z%q|Jjź* PwQO*(5 el*qפR{DW'^OUMuMM/U:C(Prlȏ Y,a?v3M.ׇ>{h(;^!d3U:O?$RZqLt9'|ǂki@3X/xɪ졯(Yp@k:l5P7>4NL/1ķ\;;"Íq`;aanE?>Brx%P:+CIaB;b@Ǜ\G 08JbS @䆹 ΁9I\@ƼAgmȯiR\A@Ӗ:$ƧQ_ fnsQX"H^RNL(@}:* D^+wXQҁ>acigA5fRsҼKR1vTL07P;R+W4fo=Zٟ,p;F~뤤Qu|f-oe.h/{!14Y850Y{:Y8֜^_MT)xyطM,53ܝj;i'c_tJK / W쏡~K[fc Z3=MG7=mNM;@M}2A^KƍIN׊c}gv)rUXMJxlFv(5e6  ˹A,+?"*%afp]'âY*"{&]D7' p8.ܑWi 8uLu)~_F3Vf,I\Z͋GR ٔ^Q\Q @%VdSGnyZ72yb&pk^TxܭA 6r"M%YЎUYۍ1@]QO#Jn&+K zt'踯GCEK{@12!"Wk{%2'֯vQ /lM!~|J xkTm_zڃΝgXgۥ77NEUd̤͟WCV%X:'nXZ榅u͋fUY2bم,)q5!u㓦M$j,ڏhA!Zy ;g9'XS qV (^E9j?(mOƝ9s ! g)̣{QU4_uY멧*٠R;j0=? #@cPENԏx[:Fd'`B?%A 3sa +LՑ诱ٸO q3/p Od>=.Vc^(uxLܬZ=nYeMCڰncJ'5uk(Tvw,wIvOos\)Re7NFV00ϙ<_^ \bTaY 4;gc[X'd8>ռ1"2ʜwHw*J)L-1+HYu>⊪q\f%[S1595JC nWspU7}z":g1u>5ީ.g-!!^ jXh3o;‘M=XVM`aXs|(3uM%$Nj"$&χ(|O744Rmla qdRU ֖ }iArDسEy8 8Dnw@VrL]bAV=}ͅܟ1_3_ X; .[Sο$ b~6Tӟ환a\ @|}oEt/|?./H;s^*+ơ&cMDkj\E6:yٻ8iؑQ' n+ O|R^)yB0Ota&쓞"|wRB`ԡak2wSBЂ?0tjƗxeȞxXp;Vp;ޑ?~[w q$ ҈>0םD)ߣ~7<3( wX ^ b1Ip14KX' i{ItZ=܃1Z fR,cJ( ?)B P,lZrMiU GN_e!O OtP}i31:gJrcм!=bV{]YL~0as}y#Ld,S0M;r o'NO c *r-ɯo=% k }KXв prcYꫂ}]Lڕ.gBi$X|\qnl`js5T9M1 $voE5G+vfس[[ju1DVnBxZ/n|om&y…2 }9+k(₿ƁSH<39lH>cIs衽)L9䈡6Rng-H_Պp1qw7dz c7\] +DN~ܐX$X%ugXgU z8 ѯh  0{XLoh'+ƼVaXw0|Lm`I$?1vrW{Ceh{{)߲5Ē}Q"GW@(,CU;pLa`sP^W;P,cU䛷OO7*.x^'` okNuWKghfM_>;4{.%Rz \vYیKϸ#NTMBkJguĄ~ UmYR. HA=ۑLPtZȚQj 9&W4< bX{H#FgyYǍBO9KO/pۦM|W-aV[}Jww#0mRhds*&^z-pmmY\`S{AG?h* рŎv_G#lqtTƍVcyփMnYXYڧ-̿JM32}1j]gh<)ԧwdH]{Aq6k$>윣aew*mX Y֜$>|`dӼDR&yp47 nQJEh8TuFP Bh)N zǹkI{ji A_;Jᇅ+QNj}r?n~ <5^|lc'Cy:vp ]dhtgOSҍOb~dF܀1>ƂGD: w0īF%r`"Q`OYFrg]8FC@{=jyOzтoT!%sEZm;ldZZ݈v{<_zgK!|SvAufP-e ,m'80D ]"a#IrBw>/ڒ3MNI7gi oCd#2fK\U,h#9cݢ]ޱ?I{] ;g=ؔ< †6齡t .H/b,E KHXSr4Mۗ}cHub#í7]:ܫ|WJοִ#3 ,+up?@RlVTE+h%ѷ\7Byo7!U 6O8NjKzvF173VatHHE"J(ET)E c.X2be8w3NkM =6]4)؍f n#r9ϐ %N i83m/{$+|6M*ƌ{16mQ *eTjz[34U n2*qk& ϩ[3q H]XX;ď<Ũ.^w}B̨5ݩEy7䠃W 5H$H  -جil [*]Wt"500|EYgC~{LSʈ[w8`jSs$0,*{e2*qmJϻ@rMmS>"UұxqD+'Vdxm)O`iӵcN"Av+ExL5[p*LK8OLIPBmtU%U1AȒ۠B>n+12eU{+MD;g"ңx[ЌUg :1\RĕOLL |#ޜN#uY:0ZMRJ=7≾qn$n#'90 ddY(H%@/L0AI$Ȕ: df}hִhGeՒҽQS@jyY໬ebEXrI!/(!5qM4y{r/j̽(*¢Yښ9",m<%NhWyˇN|N"8wOމ?60d(`&"*;_mkZFT ߎ:됻A^G~.DX;ub]:&h6 pX t-e]"ċ]A/D.M__f:PYkAKCEـd%ɉ]$``X̥dAˢ2{}rbQCoQzPd< $BwG'7qTή8K41_t>97ߨ2dh<<d'~&EUV/`Br+ˈrщaj\`A.KyH5U8b= PGop*dD)9ex'7#}&֬׸Z,߭nv0A0la{_f)I {5躵3y>|sUDzx❡Jg#m,)[ɴu$@ bxӸ_˅LꀳptcD޳ʥƈ.qܧp|Ш%'`zhjZrx~]3$0Jv߼ȇ& .nœU@Bǁ_LSo>0]ÿi潠qK{nWQs F/tn8ਂ~oQh1;p*0AՓR] Ο[ea؊ܷaIЎ- m'8{ᅺBS;O-ן!͏u&ti?¼pѳUEѯxH1sY[]5k[)զ'8iIdKcX 0<ޏFOúe,f Io[>|.:8_[rcfob%H§k~\.̋bC(FMiǀ6utZ@|9'knr [_h3껵fZ2ř#ng2UutrGQ&Lm/QeЅ<%.pACd0s6 ;$BCN@)w Dl>+Z"< g9jW~勰q7{Gb{z,qCضT9UIޜud)MeBe;@y#=@;~;3M.<ۍcĻCLR%"wa7욬 Ҫe0sm^ 1%4XYmOIz Sr>V!,V`޵zyF5hZ<ՈC4B1kYEÓMm/Pl+VE%8ԫuwƈ~!fpÞD`e8.j<`|> >QW_ d/}vKVSMDM.X"*^s^"F4ŖJ(\,FXa%t ]h+?!k v19l:S7{>e^'.e QB94Ȣp%Ѳ)ŵhB4l-D-pHVv'`EuEJo& 9ٵ"uY?#@nm4fDu`G["|T5u-.g[&I1(R,FC&s+<DT0k8`ڥc9b_sE x5C'6)B:yX0gVAPr%40=HpRJG}v ;O3$|3m)o{=yk=yȵBNX0tQ f_jdn^CMV6gL~$#AT!gXq "*1VE; Kn*/n>Qu\yJѷmҫLDlb dՎuR淜\#0D𩱣ہw,dֈ$+f=,iL@P&6:c佲lsϙ\''T9W9!^LkT,Zr W-~fj*ZD-Ցޮ#PX^Y*tfX]L2PMi+{={ڳ{چ}" _>-ŒoXd) &ؠ.jy b2@GGKCG^wVد>L/r{qlcLX^/zbeh_6̜Jxh/6遙G{/lx}o!)@%%1by [bXW?N&R p{M5ӛ$g˞ܩEigxǶ_gHCmmX_ ٘ 6a%ų$j,-`:!^u84qN#ҩͳ@67@( kMVGyt~/N9{p1Ms] % {phݮ6+j6lq:*c0QfK] dv 5I"tt5?QL%oyVޔ۴pXiB#)tuvV738R#'Qǀ93sl7ϑ ?d2֘r@BXS$zqCIRgRz|P+ M{,?]*UOW"(R5ct3UfOcnK9u x& *}҈…g"D/^' q u+ɮpr.ks; $['^CeBP-ǘb;sHX+.LT> za<*}(k.Y`J0@g{r}L:NeB8;@Y|ErؒփW~bJxZHkP-8=͗XxJauf1Ȗ՚heȐ\z$q0z_&Qr MF\CoJLE mS<>f@Lt? ! 3&{۷알cpeRd%d"iX|]ǨD&wmY1j˺7Xbed߉9z}ۧ"Fw?]f7ZLnQ[Qbsr`u4iAYϵ5>"?mׄA|! 74x7}ȎkosdNJ+7/{'XW=^ R4Dh-S5ځ7̏yF,1E9*(PC=~ 190F?ѵ>SN?;"1ѵuZNEYQR(:Q2U0$m6eR$hJŻA01A= 5.`uk[v,A0]g5 R Y}{uat^^Jw@(NiU4n7#b0h5@Z{^jOM?p8|'_ٸ`sW7F*g,2-4^)76R0Z0&ѯ?"bf(K< PZ@̺l"th}iY8!#jc0}iŮM>1Fr դFH z,3Nx2?,[2/ixGţԱ:1'c̫Fv :Y}.GX..9+fge^=ʥg1$O{9鯉F:\bJ׉,1K݁zi%?-ʐqhqc(O|,͝py&(s@LoxuljsUnGħGְ|#i`xb<xAcKoE, &,EF^?-5n_J\0IÉ Y j7~Zѹ`>Tt84H>"E\Y`{ e’R diЍqpn!; |wX;~C꧒dž 0DpVA7`l*Rk9P͠m-Lϕ޾{Ԛ LVLQfуy#qmWo`#/K Mשtµ 0kEloG⏮8r 9Q؁;0;3BqO}amj$n"3F +I5&4x2YEVTmlx ǟ{nCFXݱHlטkO pl0)fx^ﷱYwZ+فw${87/guL@,R+@wӈƭ@% ?]c&giXL^õHRsofh"x#RGvREWѯP8wa\F0ʥPp"8pԣ @ig%?i}Z~d'm`g޿ˣ&u[=M{WC ȶZǛKėri؅X -BǶq?GI=CI -r]S=17MMlH9""j{jޖ*@l0ftY#|J/zk %$bvS+)[D楓xaP@|_ΥOp]JZ+&Q:ƣg5G&<g4 /9<.9&̈371,eWv@NylCTLm o VWC03~B&0M~i>WBݛ{Ÿ?/T2l结ܖT58BkY\-d/҅:a= ؀B"oМۅQz:PK"XãHov.uaxڢnlim DGXޱit*h+TY L~p?2:&ݙ/? an={ٯ3p IɎ)#eHOglN>Ӡ6CXAYLLakA_.tz`h kVpWjxFd@&@ kaȴ1CDW}'Op}U_GwMfk64+n>٭T|@e>7\\L13W? $OT粠p ¬4e;cBi95'GUϣPR'@ O5mfCiJ  4 Uh}# A$N9 j[P.. (V>6bX~w\lWw?a^jo/yadqHf /|!b4$y}=9j }N M+֢%llC M{k3\6seoJZϴy'9o0x]"n{Osd7 4Ƃf9uP]o |{'{]jFAx:yl$W Tn )>{RoѶ?P0ڟ`!\nA6Iu5cG@mlW!N4Ŭ*Zx`aAt;S8 Oy ^u ,*2 [vu28F}Ե:"͇7@ݏ|kZ Ǵqq2@?8/O{HBu?'@{K4zXvw]t"@̴}A37`ET8t |C<(2X%]O'6*nQA ]/6F'd~]lP5ƧZ^@81"56 4~wTXGVGkwCǃ@viɞJXj[yuݥ ]Zx̤ܵ8o)kDgw`ͷe9Z3*309  ɀj"{|,ք`EHsT6f9/1% +4]GmYYf?;=9NؑCABq}8R\Fѫs`c,fu86itF,%B Bo.הV+K B$.92)VaSiYasSmIp .Xow6AtVi Y?\d`SgW&.t-n8GX"3vR1d4qVb~]'y&n^4<_̕B~1 鍭;Z[t$C r L`)9NiZGEGl<7ai5bRz:/!\':ak3Hu*S3MWTbٍ8 >I_h"/_ÀQC+ޙ.7%6u4 +nC$T:Z!g.5 BUUHy ,@c4?0h?V18u&+(*\)ol,дbp\|Vj,E jp /Tt?#:&3nMzH ͓ nVL;tUhvd'LZlbbDXw~xlsĸ-*96$zl3N]^ n!OfH O! },T !-Xͼ:9]oɞ!T'U8? d k|?F,svgH% HoƧ "fh0BԬTqo4=gdnm6n&](g6FxSo"@*;Kzݩ>#Hr0\~X@ES6;NGEUd4UH&cTg<"sΉ԰xa  WM_MoL$&*NP&)CmB>0%M:J-Hqh ˟~jR^{T'@6gHՕ]Ms2M>\K ~Y͏rlSL 3HKn yXBcPF& ?ٷXѻ -uq#b*vK$/0 FO׎lEvuQ ,BY xVFNȚY?(י5gݸh'*4{DUqoAB!n4F <Xa1dEt%ٲN>)ؑm!]ZhHJ_jN z> a<Ʋ4$:p!Tyɡ(Pw2Ey?~or`HD檗ʦgI#Gδ {үs fd,$r mX5Sp˨gBs1{:a"-.oVn/k:LMxɷhv 6ךY:sE@_MQ4~&ʳ↌^d!1ڮf+f?QԒ𔁛¥-r Rtx,>y+0_޼in,|Y*ܰfj-ODyb[ VvLkҷҍA:5!9i}Z5 Fc>R.YsoR)1ª>rbĪb8=&'1ox>ֶغPKs$zs'Ez RI-\jtmײ>g qq;Z쉊I?~z7`~ԍ~Cԕn|Ob+(*!#QDgm% {wMk(D=gx8E3aܛQKiVެgv;쐲&d ^>``ן2$L8>)b@}_p3 =,,^Nqԩ!܁`Oێ2Ob"} ^L' 6Q&AexQPfl_~s3RjcxH6/Jcˮ԰`* DHQlw{:yWA)=aЊ+RF -f|gh- PWO[ d+HWS G8޺嫎&6}0RIx&B!<78Ls+d8OǏ-_ jx kx K.1𓴳1P[S@[:`S4 M`6ܺ5oY}f\d;cg-ڡ  ?˚g1rj6g`'ź|xQ*)8BՓw&S<1>8M4.}$:u+eU܈B`BU #{l}A`' TU >'B~w)znL5z?:X91m3i;=z8Vf`4974,n@l (gL<(7tKl ot tԩ+;S,\#l቞SOA L5wBT&\Źh8uWU5i|сfˠgދxkE*I^n Y2}J${V?)io}(:!ҭfk*E˞X$`z\M!B=y0>kY .e? c s}7 a 4b|u-puFcuy$4؎0.ח%DY]2SGVhYZ/^Uñ`!S I-wh14d?A[h/@IyC+tt=_sΠٓo@:Mo1]X$`b[vLO!xptHOUd|?-Ru`.!01sr wu Ui̝X7Yb:{J,S_L1b&9,7J"$ݜM@x?ǂN ~?)MW\)-?C=q֫$"f~y۟B՗a SB"KEF4:8w N|cP nXӎ.[}e]vs&3%8PXsS> +;~FRQt6̒=REc&^E2xt[TsPѣ`fgm /1VA~V7 8 ԹF.dž[D2^ BeMc_脽rvNbh<s`Mݙ_H\Iܲ?x$@NpyO0(qע3)~(a])TMy6eqBM| 6e;?RF:C1^2Q-(Bm6)g>܌m0YC%`&fYX QV*c+ã-c& \ (w`v6L(7͕|* pOF~-YOsp7rHq`hHUXc4wXP)`vqo9O6q/ ڸ\xnONBW$ ;5=ټqo w ɮ*[G*Lt'Zz;"VJ̈/&{$ko,{ NJ#X:d:7,~1u ҲZr.$ P^O&|]4x&!@^0+_U^>Cu LZ.5stefJ](~)M;WpЀcje{")D[ EZvՏg>_+πnB&$3IL|_poB 9 VsST7U 7H.Ps XgyLѲ6qϤ¢'gݐʾ]W'GmG+}y$Y"AQd7`M_X*r&klDVBƐ0Aa~mUxrSLRWT{iMr\\ nK:3|Pq49s.p&%d#4s,4b}v.^ o":c=2a<ؘ>5{èZb^o_'`),tə@&*CΒGba)æsDvRSl@.jn+H s`r+ѾQmvsh@(t 3cNꕣ*1t:5aϭPh%˪a1YTddk%MPv%Jm\orm+tPib~؏s2txkcgMO`qbqj FMϢ h4*4$;׭=97LnʄcRq#~ھ̪2}䓱U-?OOM Zy\zێU+  VrQzW/z wUL ;t$ˆW@3zK \u(هV(aYR[@CDͩOu8"7P9Q.SrhGx.+Yiߚ_ zIx9X9& &R{5X↕_(ͷs}\* c_UIq5_L}l0wљNJn؍@u-b5 -Jrʳ1݉ݺį`6&(x{!󗪣P48?0>U&aXʣx%ݣ7 I 3&ƣvWG"[e1{uMP|CHnjr3tbxz\$蜭kp$ &՛ ZUD ]WXCE;ެO *쏱t[ً mm cqZn> /:Drm/ 7Q🌟j_*Bޫ\! D2ˑ1I!mpɴ0d᫠Xث.3]`!( ЧyoV*"M[cT(F[5l+m x͒*D8:a UMZ &NUH11+O&1EǷ_K unSMpkݝZy?KLs.ZARvuvdQa9#G@VV.#o<0GmLHpmoIi<;,Yvʆ- ,D f}_ݙj%Y ,1ĸ3nL0@ rK\.p|*T]ᮜ+*=o{3k"ߙ%MdRsDW<ԋ1M1mJ@dv4ˣӚv5x\s9 ilڛ#*xdӓc% NWֿpĮ(lPܘ#_-~\W~}[g4(5=`ȗ 4ޫo}Ǚ* #6'W_si.-W+O$~_>yKdޤ'z@$el)V宅v'w ?CC^do ]U Xȶo7JV}ryMzgܞF?au!QSb^bl!_=(w'YִI˶g?GBt+d` =2z7Dh~ۮGOqJg=f?%ZRb^Q6}›s侀vvFQS.:gW ZHxHDĴ9!-6\x9Cq;݄c#5t pi~ץb4-v6+8w3Yjҡki`w2a [7X=T'bqe胯~X}/|(,rߞd͖oۆCzdYv_ 19gi a5\tDCV Rj1d.y{՗M2R'&mCN@᪁p x˶ZF]'FjJMSfIѕ7@XC[S}c*b$ewj2ȫlnS 9tf'5]dX4j 3v .KM!D3L*WzdpĿcDe90dh̀v9bc|IvtP_'[J@3kAY%P(bĕMJ=PSP+wċ3XVhUQg# }A"hW 1-@ʲز U' IS(SHK֔75Mn<ڎE U^TG;Yb8D1oV86#~Z/+TI#-<)Z 5LMz%{*3qpLB9M5-Y.n a%Nzo-#һ V>ilE`^PG~41xm4q}4c6o ɠ3QZ,EdpYڦQODMl&#}R0R>ȸ `,b$A ڃ 6bT};ތM ʨAUΰd f=uI\'7-{3HW4A>Xӂpi~ ~ts_$!YvNߨC)K,PħIQJ Uf;J=N+}Yu(Z2s*Fmvjjw4{ip vrdZx11|4dl,-\f>NZݳU4)ެTSmlz/ >mzNQܼv#9x,x_YrV H&Y8119QHFB/e@(;X s%1RFu{D(jlpUdE/7>p_Y͡ki4QAVŊR8% V22=T9}5:iТ*i~a"΂8GY賍Tgc ֶaza1``t$# Ҁ1 5z)Ā >(.BgЋKi^[`zWYYK|^ܱ߈lق BG.!W-MXwW7J%b@Ը\_lmnTdbw4groeK1~`y!cWSR;/)9>}s,8H `r dvk=('ELMl} Hy=s_PMJp/hkYBȅ] awm{HKY`G BtYN!AEήpzoh/a*ʐ߻Gֶ.kEˬm`?L72VӬg7dؼ+$~#ۼ# %zKʵ*vBݴy*%h*ANS9Iʮ R'r qW6jug;Y L "A7S'aZɓo%"}mBQZo2(L>#6x,:ş?ژsNQRɷQĜ'V-5$:3KI5:!\Dk-|mMV8 ~!3l-Q#RrpE!~{ΥB!wNTgүA] " C{ RQ@ޕ?CÐ&`gV\I!Z>hVم@1Iڅne5bZUYsڥƧ<Sٕ-[B OS8_RLha?]ôh &Q,@Gt`۲}8o& e\oKlMCFo@X+q#%U9;j(CꖰZԯՓz[]֕S4+RĐq׌ު3~cQL6g}':f1Ӂr JQFG\E~|깄 dڪ޻Tͳc7> = Qox Ƈ*.>[ȗLݥ^6qtA&4|SpF؟{0`@7ca6be!ȱqܰz|Bj:^Y.c~82P<2ޏl _Ld-GR{gުN/CENO^Meu".7J  @]Ep\axd\%D<`TXPff9x6va2.0Sk<쪃)}r-r4?l |;&"6+Fzk쯖yڈ=0c9ZLPf!'?6P $AchH)?\3X93BucWENh̸*06}N[3g 8I"Gh(ܘ_I("x4"N2Ϗ`#(Hy LrH%DQ?cbUY'0l#3 XoOk^O쭿/w>4PSزT¾(]KaЅw@?q17D<F{L?v(iѣro:G DLcv5cl  K$K qJ!&K9K/SqҽESa?:M`95ȨErk̫?ZDv&UDlJ_>XZ}Z)m> +tڄba5d(%5._Υ)e T:ml6aۢ$d~nSzZ.)rC Y^fz& UJׅk%FbZ5U!CݯLsj~hBeD5LJļ}@ylϴ\(Bp. Y-맋0V(rKs8u S ]\9͑ۋ)Ɵs<Q,]H7⦅گ#R9MkSyn]dMʄ[bPJFX]L[)GWau.nt2A hiY۽RXHҙ$:ZDv͎9Z^zRi,Lprbgt}g GLbP.D;;bӳ|q]ΌP3,5゠kҗH,74N inP0 Y.:a7ҢnҾPDc |{\RqlN!ϰr'?{ y_&B!GiOo)fi/O$tV ~wN|ޡƉ_}1&0ïk;?6(,dUVu*8gePqп0;vj%[ҤDgL\DcwT >XL-R>D3b`Ѓ#!p゙6ɡfizǗ$eu5+ m:ɽY>٘x7鉗3N<)9*?S55 jDžpr8FXHo|$:[t!-R3_ABZ}Ox2>m7b!";)2tyY4j瘂=B/^=W4;fWm߄RڎnF?ls |f/~^]o(g.C@FE+Cbu3uBv-Xꑭq"z wSn}V5 =[YLzXR-I2WD#n:Oj 4k[/Q r.Mj\*ts\"4BM* ئCzƪ ۪a:mMR͐7ث zy)&>< u8!`vA^ɐVZxKOSP.;m] =<ZaC_R6~3d|w_C}e7JvVx ʊ?a`B.SpM;XފIrEu>Hj|NެyM/)2b`a',CR,o4-~\/[lO$w4拾ˇ!~Tkˬ@Hs$]Z˹ !j"h`/t,0A<ͺǛW]%UNfaG5Idvl`d͢SpWuUoW/N$8JAms#/) )kQȪ6Z񊖓p jvu7VqZ[hsq.@ITbr}=o=*8trss_vEɯ$@ ڎ6 (q40Bk[ƅW(i['hp:>+a斢]CΆ˧2)g/IϷ} o#봿ONZz qM#D Tn);枙B[8  ؙ^CⴙGY* %&xCg]l6{Vq\'."Vq0>YDh]E~Ficx>7Rxw۩~q_…v7n :ݗbFR@L<ɐ5^O4z &=ġfHlb~M L[ յb"M1[>- \A=d#TPKm)GX4$VfmܓمyL|7)KsCh׈|6W>F8c]ώb gv&LKr [,M.F0xUI(%xF_l}yy V~y[IC>y'lpt(n$( O-iᶺT0D,e қBj@qW_$IGv P,g 3hP{#HaVK$QUm͈ʿ&Sp89/~z5f4a%+86H(iqcJlMAM=EY Sb 5,\d"ԅjoEC G$4ӱcXJ%k=A'،ڑ?<+&BOAS6He8UAR*UEgؠ^u8Tt;8y*Iۂ87djĆNVLme+3 Y IF4.Gz:F^?Su^ cz獂TפuceK>2 6Uct. 6 n9Xi6tf*^`7V_}XwY? [kP6/`x^VNBc/ݛݓs $G` B/b'ØM5 7%j_`̐6eRVӵ Nʵ0lT:9b+;/ٽ-r1q^*Ĭb3۠DEʈ_o *$ HhŖo1RWzR(0li\r j*_^X%Q*Ž~L@~𾏵$N-e8aS駾.e8WTs5PoA믖deQ9߽k+bE[Ūgny'9):c/7ȼ*F 4#ϫJ+&)itrXMSI @#gPꐗ ^#I&1-ڔd;pr߶n۩}u%w CP`a7Td ;9Í\><3*+{]wgn$6w?q.1Ӿx9 ߎĎvs80VCe *``TPÏrzIWEęI1F+=QiƖ="<{s3$e6Cќ fzu8 0=翻qnvAOEo\s  !괠u4.Mޅ@N~y8˧6Ä6Π v } fRi^ eCdJW}f'v@*~'aɁfkȵfD "K%`qOZ=vFgxCw 4 i`3b(Jd?׏#OTmz,7dt=֕?7 /Ip>ѠФU]bc&|?Ӟ%.2,TF>wm*p` UG; zI~\p16rrykzӫ&{M;]9"B݄q :yMqڮ҅:6!lzUOyJuad{'1'(j=JU=P j4Ny+!dX+zg?gE=;iFj$j%Ie;UŲHT&RI@n,ʥrX xU7q Uq`N (o4_xϠ۪:69ӈN;v% k !x% |E8E?QUKy#{%C(sO'Fȸ}Pa}*üa1dY5zN-3{O1tP2^P3Bu;J:7U9?WIg15Ӕd67)_pE԰0,{I#CDǮۣUSۛi-EJ\TtQ? -&ݴ[8JWOmҫ\a ˷/3G;oDE`ybjH'-G3{+4dg"BoQם6 Ɲ ⢗ι_˸ey}m5)XP7v 0)vx+Ϣ]yJ!t)h HaRDCȶKЈx&' TJ: i}Q%ޣfM;ZWIl#e7s)*1sSVwOwt`Th9f;݇a<$ځx 8G1v}Õ=jbP;o+֩'^@88B },+!L/e4<ǣ`3uݚq ldf&ֆ4dc WA=w)龩Ɔ*эTe^V|6éPwqc>` r~4~"f'A"̿t&)JWߴ,c|vAyHlHÈ$ rV9(7 c' 5{m➘k8rO&^sڢv] BG?(G ɣ5`j=hɶWT|| 8r9ʔհHmVLuOSZ#4%X]~wm_֣gf>UߒdB;;= |3Z0?te~Ud)^ AvIVⲾZe"91 rlJUS x KEPضN]f b'r{(Y vm찄,$5*$e4BL pTF7{O~vh2.E6ݾۜ*TdL]5rBk` Fv]'EPlOB̺\%2ǑH;L:[0.*QMsw$GIx5<{QC-) f]Cu8}glѿL5`Hhb"X; sBhȰ#Pʢd!=>RlY,WET(o^vVaUDW gV9wwS>x98 :nk/fs{cO;U#1Ŗdb竍v.ͱq2}0ܖ40{nW@B4-Pfͺ#![ׇU5k M f&D/6dm1n"XARF8v[^oVuW ~iIMP,C`H4 %uArƀY(ƫw‘+><*ob5'i" /gh 'XGYę-lhmR"vM;ʌPXp}3vJJ(}`PJ%6#vi6leFpw@=H5ɐ ,v.ɸGqy>rE駞ŵIy8b+f>W``HpF\QPuYQl_ ,*SQ,J7YͿ']L)ImL+(CiKM=a-!O$4H1`o{(TMi-)x_`~5GA[7Y+,FbWMs?\Z;Yn j[8ʫ$]s5oQ~f=?3a1hgqq_n<xSiGPJ:P[ll34$1'/䕦D[T(*n̦w/dOZ2*Q%n: HM+g`Kh ?|L)39;ʄaBc4]#5&Mscd#.!#9s"]*\EPR.{Fh#b?n!gl9G*a'8Vk-%Q%u 1\j*$dGywd(K*Uy62sK>yg*𬓵;_? NY9X %aӯ ĕH(>5!٨`JD!\Mk*Wg2^cN⧍3ա"sMr{Ln_ydpR. > 1#Ae&`B( r ' `(h.RQfioZ_:wj<#(pu޶-C2R ;ЮT!FeXL8rUwbثCH wzd.Db%9X l4T]~LaIFJ~i+q|) .{0)Rt̘5x4d`E 3Ġ0"6[-ϙ=spؑ _YwS*t,QYV><)>bL Ė+B/\UoM`v^9ws`a@bS*HJPMZYO@3P=R@SuZk{;&!/6Ie}&j- q㶟>t= *A.ѲrђJd".VLh/i%d# 'Nm7C|OPr@Zaむ֟K.T.CL*'HNh3{.zK9mSp*[;h5(Y s:y98&&֞Z6{3/-'F%n鲪4HѮ5;k75kc v n}FD|KlinÈzgh+jGu#+L66 v4 "r)K m\pllկݔYmiX'CyPƠ%DH1))DS3@gKAxx:ҹ)֫Z]lAØ|[EUQkTV!:CZ7S>:iƣ̈LP_P+zXUm Y%{޽AAU콹Y2FXA"%8|1H]c=¸1t KO 6\DX=0E3D(g9@fФ0G; bw, >d-׆(@OY'M.aW9\][Jh&8G &pV, <~FtvFs]1^uyF+P<_ۺ R}!Nz.+`( ~>39X5vN_>iCoIxփi<,did9jVAwt 4}ᴗܓ~3dDbcʺQ/UTJp[̝60ЄI ֫Q"CG*H-JQ( U09&#+d=$0R4b=[1xjU' Dpsw$̂|I 7u:yݷ̇H_Kfa>dG@3QVT%<΄bG("f654ܔ\;:6_%0{ԮGz/ gpAN~rf(umGb  ACs33^7?`~؋ov9Eƚ {RDGr8(2ρȗq {yR~ Iz#xk73w TeL@#}ײzX'ߣkp{YXH&\/A-n]C;. }d z &`BW@x2OQ֖M=̮tZQSPo!i=IܶE R H%8&/oO k,eRt9^@r?,ݒ[D(v& _`B2^_ Jm9m]À`f_=豵TAӥ `*(e'j-3ps~Bvm] џ.JJfsPfrizpQw -Llg,IA7,)O )xt҅xk J7!]7ω.BjOl-ֽSkh#` T*ol?M;9]RD-;--J7[Zy#Y`1K%XSߛ|~7ݘV {{ RNŨ?pmn3Ȁ_ɲiż,Ǿew8!עc Gkp bפ5?*0c"oLa` je q tY6 Sע#XHǓ{_O`lj!L~ ׊+6I˫Eh-[?xhAvu)9-ߊPaQRI;`_?R#d W^q `(qMS4A]ef(ӛo \s2;7K Bڃ !6JiڽHB|]K릐Ԓy cT.Re[%iq ׀Vc=aE% >#B~wciZQxŜֶn7nؐst[ȼ=EؠTjgηlB=kZq7 ND@vF9'O[#y{ X8{E.UM,]qHБ6TH)Eji։Afpncįn3+܇5؞mTm£`:bWF{gH{s,W_.gB-Ê%$TQ"H?飈8\M,k ZZbN#T3t(L.\[ِoeuF²y]duV~N$ U@6%7WUlVik+_]`Q҉N05GObБ)r+&ptҾo5a6ű1Ҭ̒F\AJ./.ێGݳ @Df}__qmlX#^y43˃4eV XQ=2u6MLJ< Et9 Uk&ovsi\t_EWOh<.]l|JjJ5NhP7-,_ Xj[z| ʯl"m% #^@1Q$abHduhR3P9o'NM3۫GY8WEVφ48-vSV^$ԅF9[8obTm%P;ݳpqvoʯ4|. 1vf=~g ;qo |JƩϳw_S:ZȢi6ӭJ׮ϫ|vE$?^Qw;o1)-wEǷFԡC%y%2Z6)Dm34Y27NY@1RⰓP9&i2 .Z,4\S}.eIcOe nE#cǛ͉5=d&1m?֑!7ٟ=ŷ'R9% rz9|F&Yh?ʉx XOs3|7q&ՋaI`^Q \DPL`جe _+#!Ѷ묃yky{BAŢ2mW}قmS R4Uj@ԕ'S7y;Uhs6):~ꟖN)sݖv U*tRk}%^bq(G L#U`x#&ˌ U9-w lWbLۤR(v%un5ibR8P:Fh)Ea&9AXC$ykڌEx>ިƈmٚ (-e$n >^$ڮB_O|I gSYz^33TR~D8!^Mn¶{A>3]]B˻}7&,m}|K@i[SEaߖ:k=*yݒ$_/9_Uo$i@4IjEu-؊v/(37JE?.D+bsCo)RTs~I$y2 K939ǔDL!Q+p;7'[5+֪a, ` b#O2Iږ=Ӡ\τT|s$.(GmK؃yD&J]#]]牝ᦴ= JZEĢN4ݹS}kʦg=nwz,֊u˼{8m-(Uiֵc^DnjZR1A q )C |yց&/:ă6%\&ź8X8ĐFTc0W>72l4v_RvMcIDY4bB>]|%׳ Dc_4}De'Csre%g*YECG-+IE$ 'L x?Zͯ'~! (^t1_H/lN? 2Uf+S9cX+KB1}nk |܏fGpQ? z>fr -?AE(W<,+QUdmT,gFDpBw?>ː~w j >9YP80ЊD}+'`^F:<ݝ;*|tu ULC֪Q7/g"M-s)`{L(O8&dݱE9.̩v'FCbi'i f8ߟ󹁹}2jB.q2@iu{N\ kKa)>חęcq;](#FVF -iNe43dY'iVu|B{XA)x Exiz,Q4au]AיXMnɄ5pp.VTˠ\.wcy\eK|0<7 #.$m.wH=U[ ;h@*QBT (ѷ6*D"v`84zI>_^oNy}A$jcX,U_jf]b\(mObVS=ʝGS! Б:ITSW9~rjw_#q@w –!r_вރv^ی 1NH9gSS0 oLR 3RzkuTA=_sNR5P&+jm4]ܱ:SD>ئSu 弹do nTV]$ R,JK0؂F:E]V9LE\4]WF'/.Kv`9AvuO*D3oIVmȋ*3EZzI)w2e$XlY#=)M /L5{ȭcuʆ6eUb̦49'R2e #?YpS޵8C0>١b@x.z_p4dq3ojD#{AADI_*Dҹfs~UH`d:"M:*5~Mq|5:,2|&qq켶v%F€T!M1C{qAgIxaߒETҨGFRe7L̎mwGS"OP8=\,@ evǸ?Up̨u [X #dq]e߄>23RK.dpfUo^;2%26_㜖~[RD;xu;߾je^~PЩCyW su*z!e_6oFf<͑ !dXX>6ϟd4z}@aqfǎ iE;'pel kZeö4d2"MFԓH o''\<BYZUXi轚em1k#Ɔ@.n^e{,P"KZmAl|^ ?oK?>twc3?n"/up_$0ËJbui/}+fM3VqWaWv^#E EdHvD5oc<>yT.]P9]N,SUy98gs'WLPt{gk$6o 1tc`#N;:V6ϕBqү"9UaXӽXD6+0HZ5:"˿09R9->tDL&Xؒugϛjd-Meh1Ȩtc25Ӣ:&| {Hvw|.kun\dqNŠ:"ρYp}wiv@WvN0[#=Ulmg>^sd!W!֬^Î*a6RSj0*m~"#o`4dG(ŏPȻ9\ +`1(!؎|)x ֱGSbmQ- ޘb-_y=f)j'î3ьNX 'THMhm]sKIH- M+1X%B`:ϸ 25y4K`"*Ŝ) E^* 4֥ƽw͉jP(UfUFς VrzLȇinݦՄ6~(z.6Y`K<bx>Y!Yzc~]Kf;5c=sZ+tM %2 (c֔^f"2[+0dK4C5-ȅl ERbVdžZxo>ӅVSl| ΀nz6S #FPp|i>ZN7ʤmd qHAau1-+zu-5=ѵx6&q&a@ET\P7Ĉt[߿wlnb.l!Ķ=`[m r.nHfyrQWx\=yMɥYa|O0Y~UB4sP =wCc )*ЍRr7 k=eRg 7EBX yj{rDWQ. ͵S7tL"B˜9 /7F(%|%hmPvoAjgkdKo׮,YE{'7HsQ@ .9{'Dy9p 8XX1w ba$1_ n1 8  Ԃz"'􀙱\"Nҝ&PnNŎ͋<{]5RĮdO-#n܀Jć[˵3 L j_~(?tFnΙUa|呧ɈɊ <|qޅ9 1(ǎk"P9z=~7u]&@d}`[tlm i:0nS-8yؓC,㉉n>vYRՍgqQ5'o4fjjnZK¶oό7YʄeKݞ%>WW $ ¸(y~\[_zHUu-<*~=o`gY\fp_=<6slReq( +3@"v)K6­e%K|~C*"36խ|֐n̑ WBLUB1:FB \+BZRLn&E%2xU dy>)[;(`IF!5P__ ήUS<O Is,1iPԎuHؠז 1}9b*Vm¹JQφQnl{dϟ}Z t&y;N^iAǃ$)0A_WC Ⱥ̌#.M7 nfR&;wDɝP(8>}ŏx=v2+N}P0"v?Q4!C%ϭDy'Bf30M+b WuqXKk#Cf T ^>Wbku.?ʨsDSh%$m9ȋlۛ"".H7]-b"22:wMCE#Vڨ@lgx$¡ ^Vɯ'Է;hk;_R  4:>)vA;laT?)(Dߔ" ҝX gZ뚝Du@A%1 O`s>ԯ5`FQ6hMaDA ]Fxj㶶vo83Yfs #NO{^z ,yio,׉@)b)-ZKrNxL.I~Lme,25%m} p0epKR(mY`=5cAWKGӂ`.hk0LwŤq ֌F4 B <{ɑ%MW5#YRޒe :I T7M.X M=1I܍Mb2(#n[u&A/Rj%%ziC!/{Oa¸Pr}V'Wm7uoxzB"lקX wo#}rwX;<$q⬬WRm$2 + 7e*1, b-ۖbjZ3nCqyqs=` .V#JFS[hgM;]GX蜍!fq(LI JZKVv.LU^\ [ P5<w7gƼe<^~QK^=ycIj0k 3Щ dǽ_;!e'xƬύu8:#V?S`=\<36&I䧄oL{P۟Bۧ1tK"4HчZ&*D[iN_ 6Po*ޅ3X<4"Td#_1WCR$*.GfՏP3#c7{ymkiF1s\Pc}Mhyƭn|h/T)ΥR  -_y& C썕:6'Rٶ#`D +pcBK9v2J20$O&MȒL7%OAEǧfXr$H?D^ J2Ȭ|DUODvO~{fb@ǗQvLTW:ll7:7/ʬ5rmj8Ibf [mlr&0Y!otT]TS%g/]^C bu6Pʩ^(;!2 ϟn *%V_ ;˘A'#"dpAFC\*D0:YN$确+H&/~2;]5wfV4U[Doe:54*zg+埛p3̌CU$V= 8f'6F#^V:OljD]jg.ݕg ԸKK [֋.>yv-F^p]2yÌGh;RsIwSߟjvnyHr+ލw!I=]e4 { ܾÒOBV\%.Gъiz8}-o9HLҮcQ&FfEXOU҃?@|Mo;v]IOSAlă-| )/C+Jya Hh=^yX4({m=zc)U;b!Dkـ* 34#G;ae*zUhISJ}T3a_9e>ph7nyWh pw5bnRx\]= XGcֺ@IX(jWNl' ؊k%{: z#H'GArBQ %F9]Z]:F{hw Y,2*^&q{HmxxJ+0ȹFfMQOtB*}sB8X j {4-!a75EeK9bE'k)B0:K"wp#UQ_/q>JSdUEv; O^HmYV֞7i3>B6 }l"tİI??'(6aQQ4D`=G$ ߞbۧyz=5,2i5<ۈKKJeSwgM~` .jMꚭ '+վ6woNM'qq4͏m)5K{ppMKIJ}vFdt.H}^$2#Y딆R+(Cq6-WzqtȚ쇨򩮰xVgq6{@AZz@kƣ(R>cL 4LYB:Dnkzԑ|E-C@ RM'QS!G)ψۆMh5y hfK&wcr7p"VQƎ!*ا gj,jҤ_ ['uf!kD2Ir6H^ݽJm<[۠n.:Q7/r} R69AO}PjU6y2n?8Xk !:)(@IG|Q6!֘G-WQ5XB`[dS&;cO;"MR,uJ"W~S-P-RLIs`6S8/]d0Z O_Uҥyվ:WDnrHy&\}ڣ&䠉D9YGBQZrN8 #o16d"MZt!0?N ~g8O- 0F^/GOGSAoqPj,7W)ϤôL`;LZ*1yHD;z_LVŵE)HCƪ(aGkdQ.4D<<ÎxS(w6d2#ֹX4bvi'[.8![Dc꾓0wl6)~"h0&y3eM˲ 6ݟcw)!j.9HL߶AeHL yX-ÿ(?:]N%X&&{ G Ar;..=p TϝF, 'YNcBpQP\-lYNmvW*4Y : Ӕet70)^evՠd[/^cG|~u߰64eD'FSѩ:O9Ok:>>! Ea` L4ӛE<)7Ƽr=|lm$Y.HFύ%0Ӟ3%A-AiTDo,q/7!Ud*nZa:RvE'zWۀ :Y\ڃ:A*(4ł&Aڬ0/")$Xm԰LZB{qZ诀 OKc d([^wvC735.PW g(A`W7f{/tF:Nq!PHgԘSr>](H>rND-6~LeBHۛF; /\ bُz'vwp߻ =⭾5WM] Vh m);oYeJvٙ6֌$8[oTLAmO5.`$IFᶬpHd p;1KhZUNT۔F'(5L!9$=O)p֠7b&[,vIERAmt4ħ\gzBԧFwX{o"+S׮َx.Y w5?">Zr\Iw55 o\w%rDt9S'֞ŕ e<Q07R7womE EiJ `D:8+~=Zt|*|ID+qOߕWxcp1+D[G^ [8^-SW賑pX8IBz8 ,qom,04z}3&3 ۗAC_^fRJؓ_m~8A?lPPV疞!RW>) J̸/"Sba01u{a@K2c >rzglz\?w7LéRH: \_W., ȡ걎> 8Vmbd#Y`NȶL" 5.X{Nm\>tWӳM~pg[UEg7pV뼄/sqmr8έ:'6 `FimC5n cPCVT4rgkm]dg9e66- ̡_=>g(GmO2V%3 ZLZ,H$ )]Eܮjflݼ(LHo> Qf#6UURb0܅]@S|6r7], Uur&@EwohU7C7Zb|αͮ|Aznwej.fxlu_4 ͢eo՗VV˜`ZHt:wU_݆ȠW2v+oM{zV7NoiKB1r jrO谢n+-r 6,>(Nfq&Ѥۥ`y$_ nFʷ=b{EǮo9+sqъā2x!k#8weެے]f1I1 .oS`-zZ)L,nʛڌ K^ +z ‹+_J[nob)AwFY8up qv(}j piGSm$%xD \Bk~ivupEX֦ʲC4AWNc@]VCk̗Fu,ְP l5O~Y@):܅qK_48\0djRř6šh@RU@ g^V+ tԥ+2G B$)CP!͐y֔9&6yWIQ|46Kc a|:qx\~>zۏo󛿡.(HoEØ-m@GR Be ѶWfıOG_W9^@Mv KsOߒ8C|Q* *r౶pУ :_E\CHt$EVrT(y=˹#ˏFe V.P!( :2t/B.,clsQnw홰7dBczeXZٿקӖnzFВг4 (Ilx#īREajĮ F#~THn`QEN!LW~UZʭ<ͰAsH]Q>UxfDU8׭m4񦳠Գ^$ۅngK>ԺT<^ϣG#Ų.IsTUUC\\Ɲm"|#rkCVk"JǼ4'6qUC,%$x*HEl*)8GԹu KM_Bf(?LJpkbW pY 2k+ՄߥtRGFUdē*k# "W,%'ʵvYG$s .Jx \{WvK&εl-kNV[Pr't{2Sӽ5ȞPOc820B~/)E4GZL֊k#Dp͟ {\$CeQ# &AĊ"!. MBj91)L8FKܬ$=vӥS}GKFL5 ҦqNMuJ)DfS@2+Цd-d/ᾙiH\gCvԢO 5dGb[Kj"qmsb(L[I;" eP\Tbo5$FGES c831ɜ?ys]âA2fQTS ӰŸa0JLȿk}}d#>= B3:v>Do),xJJDgMq'D=P%AnP?i+7j v!w{1{+ hâoK{e(9"u."6!.  lq>P[‘Asf˪'(F1]Ȩ"AHHSBRDא6lfD m=KoW{U)Y)eL|-`bnrw]7+OW;m$d`p*>|->rs& Z^'y>FG@qE̅^0o/C##[)CyQ) ~ac]"`J&([EYRʰܔkLs /ޥNYQ| kw0q|fIݶ +|{Z#$O$e\?p'+ӭ@a0ϹgF$ŧyWp.Sk?XQAk*JrZyGxɈH 'rMyj1[TCtOycXYyNԒ@RM;n2 (ORk=XX^}_ت'B066$-~hOa- `r{|{;pyO?5!^@a{G-p,5P*>3wCn]PCZy{ޒGSí}I(%)..ׁ@+W30F9Pz& M9zå(\} ~;d۽<8csy)nv܏xX=2$Fcڝu5Cc[ԝ<>ȡQqW}aqȮQQrS̅Q6nR=} SG^lLLsSyh#Nsej+]qQqOe$U!BŘހz]t!>XgSVr4xuL5I 106(k Z,P2 RitZTJaEU>K|^28?cC\l%oÚ5Y^bȄ/ W1;1IzJ +fs %/ܳXjeseGҀ'sUD{+,CaR̛F5%|hig`bOI] T/l1*17%fI1J}q0 Y vr89+4$`@ 9L_"&]7,8[+ƦXO3BWZ11BbMrXńvz`Vn:S4 dQlx6(Lh\$9  t=19KiO_JwND.HT 22J픞k?(Ñh%Be;&-og3{ 6GG;ԝbcv]r1:#nxC˩zј~/+A@w]P. {#ΰ %KN #t^\}$pvw"'3ZƜ#7k4;yg Z;dHZpWR {0w>ИşX$ޒfTv5 rO ;h=ԁ:C_ l܁jsb+k|l BojdX6'd,u-0yR.#|Su{LuOV5>9z9_ 2|tQ\1j;{ִ)JNRM4?ueJܿ3-TH lbP8C,:)D:5%ƺTQl_sC)䟡P/p/KBd0#TZF\EezI[gN-z ѧXRG&j>6謁PWz{QԴ |VlN8)&UpkώbIRa0!(xZ[85~!C6ۤ*HZ 1Π t U/.{`8M Iv8ձXQׄ DXj)qfnHZz8@t&۵&sFP>8rqT="? 4h‡|Ee-y3@/:tXannhBW#)ևY= )9tZV(IX˜{.Ƥ iB\j P~)܄D+̳sDMu9!M>ꊘ8 Zn 2?)rrFxd/mVlU.oCys AKG"P`%de2##W]AMIi`e=?D݄ёe^;">')-iXpaBK s/x),;e@~r4vݪpO杔 ǫX gfHQfZO䦝Who7\}2ڝ/%C*2^v?ވWo{hDz#)}< g\Eq]u;aOx+_^PJҾ^I z[2ApDwVhВg D@_XG-ogA)!퍲 U8l N+uo]Rj8,A+Қ0:âmЩsJq rتIx&v ;ICݨRQH;At hU3G_/WeI|Fʞ`Wl:cVۆ% |Mu*I4Qrf 3幼/=%/J/ۥ)A޸5^dQ"ha?VN:=ip3xk&8ncl#ԡf5| zZԣd|V0jcJL.SB}&rHtObM΢Ѩ^ö}%: 6@ yjKcYv R՗ ?E-kzZ~T7BHZݘ s(1_+^rљ;n"u^ ޿NOҜ> KU?1 ?E y+bC|a=8R&fNSR9iE6Yuptfj a,u/VXe7zvV 7/5^_EϔMl@t "L䒈ցQW`d*Y :Lp@ h&ZW_]|݇J [ um$ni3_4;/[&![%qynۦmi^-Ƚϡ Ϸ:u"AjgL ϻ!BKќ]wɍ>uႎs)];5thcBYԊ~ hF~{b`ɸ2<(?V<觃cAFɌ%-N 3hmp2&x5[&w񘒔Y n[L}ρj5}0]3JɊ ((@.m|e-7Ωu\"`~[^6 kf|%\ ^U&؎wNՉFFci{ Y5|7+_Lxa:j)ZO,Y@ sFaåN\DgKA܈Foejƫ3cq*)`I?|{c2r*J,h7 WlMۄL(ム*(w)OwTOY\,?`v!Yb]AtQJ wy︕A֠+0:2e]4B$v52@ (:Q!YIϵbzi=B\T)s\JE)2vtYu S$X!RdB]f7͑CC}^SonBz33= (FdbiBυ %AɆX=4˼u .(uYmQtZH\)ŲUmI* \Mf,K*W5ܯ?T &?k}"UHD*V:͓ u#UArT(,sxd-:*h.Lkq>gn.)l+ei>#ח8mG;bQv  e,C1Jji8^&|g{Wb/S͓xu܍.=ЩW)|Zrii V9=ƽBCm7  hn&4?_PyhY݄A Bm܃Bb),NB"y0Lxqi*zn:@./o9&;O |?3su$ _KSSH}, wK5lC҃5]s{lU8HS :>XpQ3zm,!(W.Y.3i[_w_RlWńkD41+ 䙅_n, dD{?p!߈pXӰa^P|Zuvc~8ەpxCFz|'__yDȪgY (Ǚ|m_S]N1]'UJ0aQ 3O45c|@B (] G}YN)VMӝy`I6ТvmfwM fz+ýUQ^R  A}`/Cw&quFtRWVU>63XB;M[/ F Ca0[0͕Feis#ʦQ'eܫhVگcs F b5%N``"uԂ[fF"GGV$;,ElqIJ (q$wHn[z+eBk)[;7jd5zi]~B3~`(H!՜>AvYf+͡H-i=HFuȕ#8m,}kVb!l`P:w )0P</tR>Arp% [ )` 7Ʈua}JjW ѱ0c<7g:eɩz(ſ! Us %,1N*{wt1srt8,b,XNvr];  (-mGǵu9FqY"Wi316Cr0יr ĤY(]%~QϯZRł|׬b~`sv_ĩ>ټd6S|ETҶo5>a ` [d7A4tCS^iEHO\*3+6M=\'J^#-ykFۅt:԰||8˛yd ֖si׉Nq/IyhCr1ulj,h%0inl+~9r!/"ܒ'R#ĬC3K݋}sUEpmk~muytAmX\&P>n~dDΎ1쒒8k|Yuٯ ̺o` ;X~lǾXmjI[} Q`!vT@:CٌN.{)Eg99z̙@s3K2P$o|O"Y<*12; W`0E/ `as,OD1 L#%b InF@u6GPG?~| k;YrYEF ѐDs^Iefqm jb$x9ayB}i.}3D wڮq;t˶3X]ebluPĠ.)شW%烃8 -_7~~)f ɇN:8" [km6}JBQ;RKfqRBߓS@ "l$2`4D0ZX)Jb@8_J}X8xh@uQcNL^:$"۪#z뚾6G\"VB-]--=@Q9h t8++^GG8г13o,jn[Yӡ[P 0'R[Тc = #w'Y#tetXY UsDhY F+Ĕ:Ts, {p ᾺQ#T P.uZ@)vZ(f Ê `!w!Y 6Cގ\Z8k?Gټ1_K&#%$7qUHh.Z7%P%bə@CxMvIXY'PdVa[oO9,3cpˌ4dMt(G}(+Vp۔}局l6b묗y{菀-͉`];'X,bƺu~2#ODbe8`Czo#dB` V%%TߥNf;TU`,%s.A]*t.بw3.Dvk^X#qcKvx8<,˔uT]|3Pr\2kM.l7اVC;hMi4GD$ig+xiW\SE`]l ڠĂm@I|O@aJ45xA:).qE{pkT7Hd9= (HrN._"&yE> ;k y^ۆ_!E+1 0M$e cjSR I QDx8r*1Mm96@0w ҷ $0G;:J aso3<hl;\ n(\йXnGUQq3W\)!15젪Zi/n"s+5"ýn8(?Ne@CEIc~ Iß$Y%o 5 F_fӄ.w-$<(/=Nۣ7@ `OIQ}yȧ?5͆ ʓOI,>%(Սsj0GF0" 3H)ёBN"䋕ׄ0 {{I㓤],Rk ^sVd7':?`5M@ct.x$}cڐLw er?d/OGoS~|i/5tPUp+ЈaN4WE|*" ֮+5T;ad ,߷j9BzyLs+k7- K\xldCB$mv{0м`PO5,.!Οa臸6$.c0(G 0[A4.pSڻLCo/a.۔g 58S->oa;-i(v?vqG^K5Qv#ҧ 7Rm7{^j4X0URPj 2Ԧ$H;7W+FB\0fu3قjڴNSX9dc[QdйkKxa0j[ Թ3ֱXt _FBj#)@9D)K h MaJPas||m!`"Rl]aLaR`D tKlH\Lvl8A u j{1jN( x#gヲԍYC22L\>Ñ!{3>-_-2lE@?hU,-ȷ=g {Qoj22uؑː-|T]GcC~\\E91H &!R?u)ߝx0w5Y m[E N L$QeSvU)0V&Z_@;5I* (\?qw}$г ǟnp1}wH"}=j`ط!NœĒTUE$k᳅iX9FD[!sWIt߲ގCY{"ͼSJx!ծ"Ƈo>)~`O*ř5-wDXz;ٓ}XC\j+u */e{'.%~`W8MZ{ LF$Yַ_'m 괬sW)<蝊*P~\kPMAkcCT/rK\xX{9n]^԰8xg,=8TSW+yz d2T0 ^V0=` ؙEӀ=V=Hri!^DΛEYm6XbW6/7iъ1טԶ9rE,´Vz`W#Y^&;k3Af Ae0k}~H#kBxDݴIcfQܴT``Cizw0 ?p})}] 57%< kFNFIW4lNC)_U̶ 4kԿC+θT*v 0ǃ3;Zе:6"UB)頢jL$E4SCT20 IIm=D9F[%~SAGLK>Oe H*xuՠW[j*x,"BUP^JYzzЊx'Xy sO[*c(QG?xVr8j_CS97 !b#xC ޚw'x@ܣGB~赺 5c3=M*SQ&E~%6?:?;wEvG e(.!>ZJ,FݠJT :MZ8q?Հ_dݘL;Z@i _spey(r赲&NX#yhLa`ɹrD~ws͚ĔB CcQjƋs"Mh}coEѤ\a'+I8l*d%.-v5GCxfDjߔ(I64,qRI$2ϧ>7vfiKNRMΗ6w@إu| LoB-WQƃqЙ[\'d+#Y0>J*Ò,]<&$eU#Sp׭lf=#3$%: ۯwÍdKF)?P^"EX4}orbu펪|I=k;CiR7H/t?D́rlꜿ67{MXl:p-jG|0^ڗZs%ebP';"wf ӈ\kUMeywkDzB/ͣM@meXz{C: NVCFXKd~qέa?+A{;AC;_,(\g Ām:e"V#|$Xi~M!=0b7E{r ?#f0cz2m/Nس1c ,ܰKvI86 /gޚc|pNvt"R|B~Aa(|R3v o-T{nLr{=]>*f15-KH 5oPYzlI:w?7j)\BP \bq5s;;FAVHIhH#TkuxzwI47wulK~{coZC*װIMK8 VD=ÍzCЛ3¤Lߟո I"X4߲O_:~*/g.FIh>:c-u3#o_vμuM4I$`Y3h-Fjnzm&cJ Zg56bV*`Z;!1KK9}(9$YBЬ%_<âpM Ԍ zqگ!sYԐJ gH󺊗3KLɻ 9ۉ2#2;`Ǘh@]):1h -v lr?:;F ]>ѩM?w7/2=r :-ED<GwsU@ݡ}wwƳ)Y q:%ߒv>huIuy% LPk]Y.%?a4[1US 4|فLѪtݮ d 1g1܇lC\{rK&6W+Iu|cJ8W!S_a"up@b+#vj(VύSw/EI"o1-րf}w' McH:>+>nBb!6cَAgȒ1IL g$Zq 衉xE{]T}#pT{l3$&AK&fZ2Q#5y#/5k(rp(byUCuPWϡ G Xf"Z/oB]3AP*%5>GrMmӷ3l6.ӻ맴udR(FуNJC EHdžx!-NTɲr`.e݋w=Ps&)ˬ=vYl:F=Z~ ygCwҖ*TLƕUf+5gUx<%+M{j?O2⨬-­ ?BsƎcqSuY=t%h, Wѡ{*NZc8b7Pca_x8 ygMG2 ݁ yRsRszk7W>@_V|2Y}r1`ZQITtψ0wY\t\P:bA C:ZYNt&{rG˸^m|**Xy8‚4ЛC0$*j~,6WbR|\q`ȱX36_6@-;@,$*xB>/5;8?ur%3߂?23 & gɗ6ݲA.6Z#y2xpzza7?ªnuC-|5 CK ~H^xsAVt112~z;5,S p݇OƊSV k-2kI-eOCQ=w 8p;5b)!Z$!dtqP`N'~I(9M EܹxtߑW9.;S4r +fQWw2QtvY4a C׊Me9>Þ~ ꅍDf~<;&ν3G4? NG2k VGx 8DΞRyy Jk%I5OQx BIOnMNc8 h1Gp؍8q8* z"ì= QeHg-θ8bS?pЎ J)nB߼ [Q%d"DO {aLltpn- unVR1rF`Vݮ38rx RN;)bm4c? dkx{xIӡ$% _9Y]at'Rݑhz{+q+-+Wak wW@DS6Y{+JJx>|R0LgT/2KFkPesƶU'3Qgb+v{B 4$ &*6:VUn T6s#bN/υkDWpB-ٷ*GཨG`WAUQ'>,`Py|73E^IVS{C΋ Y9ɱLiVkavd]v&(ܨJnnv.ac R % ڮ&Eq4QV໲U{Po[V44}o0+"C7,::i kى7H+nyx%(0/vK3.P N7EYV<\ʾ;[Z3zo!}'< 4VBQ>T=F+z4FXY+{DEppBJ`&]5$;(0mOsrêeSTd{2P\/#)+)jb q<>@DPNҨ.jMb~T<mI:#+&q@h}- 6u\b#|i9|UhFpl t=c4 DFG+eEJKVY)5K28΋NUpsUK[cVD8S3;tcHXCuͽ^ok(aMdy*Ƨ1bԞǯbh\h{u=YmpY~ԙKR-Ve v036FN"@bE.4s5PhbFJPsˑc.(`L xӔl.ge8`S_nvq?]wݘmPG,Ŗ ո g%pdrl&YQ(} ŤI}3/\>B y4V'cdaGͳnϮM "Aki!&9)WRcmGl@ S<< \'/&4a ˊ>oʻ\}F6K̗Zy&Z i*Tr(1O&%8d#fYDz-ם8^F}ٚZ!gY5OXSOQo:ˇ{ 5uhXՐz$+( ׬8 3cPFxd^OkVd2Ϸsٵ覩xIXZdiU%3(kHS;r\&=M`U34I޾K[x]AyZT+ǔF2ma~/gDTF{<~fKb.[x6tj@!0f wl O}PY]lAfe00s ƴꟘ,.;?pxUӬ"/U'mz\VWB{[vb|W/:c}uSzXɸ]G"xT۲8/'PMyӗSL兩ΨxuZte뢛On+5NӒWwr?pC{1U،f^j_5ɘܨ)*i1/CGx~bv6S9Au"]/f-;Hif d3T8pƝ*H[%&Ue-Xׇ1MDlH1b)"O?xf>ez/+3x[=$qS |$@F9 qaP NűÁM+-\HEDAVu郁:+T 'HR/dv}%t]YL`xJdov VݭZ,+(rE~8645GzK^>]dz*}B Z]O0) 8 9T!~8Z-cIR:&N4gJ_SRAB$GIì.JHDJ;}r d^ O=}"oSz!;@YR)Z?7d}9mfrPI;"۳z*,\H`F+Y)OAtgK벧)ٴkV,zU6Q/k4r.kĥC3 SIA%^p7Xp'Ӂ֥D-JY)x)@n&LX"oؐwZ[=rgR1!kuV-Bqo"95e†+6!묀:©_&`z Q̈q@ 6!~hbЛLYJ@~ ׏$ڞ nV5&&tŌη*F~e<`f GnNQNs)_ q$VTz $,Vlb-JmGqBp|t -~':k%];ʂ#j٣ZqS>j, "+SRypWgm]J`o촰L~y+<Npmǚ^w:f(C3FMg1<<'JQ]C$&[Y.SOT[͎ʒH~ ͻd/QskX19wvzрFc-9 !Y 6_U=Np# J V% OitqzCO.=ˉn%yG[SA?+|:j?.E^ $q!p/",6d(Ёi2LpsS~'Ɣ[2xGκd3=ԌcqwǸӄ<d- n&z+H96״^N +QJ4(>\$VA4H{pJ^),ʂj_K]M[#`N)\#ʼnZ&$M`B9?ݗ?y~,xdX89)07*n@-X- @\nW>B \ r4$ J?2ttБiVjP1sH2f6@ui>mEQ/`-FuK4~2! }lA{B<u6"r.I.,酳rؐ;=kBbw^yO,3i J&7ie |49 b{=@+2uړ}r*+VdLƽFWNqߡUMZ6.;*6ք9J8b|i\  ߪf;.x?Wnةv:%1G& Hnp?;fX FI>$M3uJ J _Qvj{{7솳_z"Zt ̎D9+񻀫C,ͨLgqO2zbҫb.K8l*dLtLΆ9/R=;H[UUh2=|v`m0*`xs*^.XMoAsMָt.$q' }|YJOnntRfmi<>fKE MD^-\ LIi.KfSx5qi8&^Q$EYڞ[uU8R _~}m`.S3; 4f(E ;FlB3WN:/;n%xl .쀰NLE$f u˜ a_~Ug zPNO)5FߓJtP(^&ո<8# .K{tlboj1 oBDHN^]jyؿtwAWL+#~|s$&Z2t6 h9jmMRё16ШK,Ҹ|>nFa:)88ST^f :"bB״Eyou[k&-+気 0ns@~4#k!e!tˋYJ-VnGa@9 9WPs:뚑z>%GĩVѷx<նI,>$G85~+e~ Ng%æA<(vGvz?UU/DY`.<ɪ!\Kr> "m-u1[ dI፹4708Pj|W8N _bJ81ZW zOW! E tʅ&=+)j/4.Xt}1vPkױ><Ԙi4l<+NL1RI :ךf @eHNL&~!>-zA1Frocb׆Y#/,o鶎?iS(ܦڲzHhG+] urFA@L¡CF2vx%a%vxq"OxJ' G$T?Tp5 0f Zc$WkTR8:s ڔa+JigK؊R(\K!GTL[mԡE=*.Rl @{IOn@0y:T U:00&cTvƛFi6aS"r[3XfiUaۣiXΑvg]Ě,\B vLm , @ N2clZQ,3Kf'+] Xc09~wM&7~3PSl77F:Љ7зzTPwRF#d iljKefl['U;8`X?QHaWGUD;8A6X|$б&%pC$Wl>) ޲ r&<:]MCnhM^ObXч,Z&e@yu(<P_q خ]u y `*,abbotxRΎ^V I?Ym|] oR\^ASv-QpVÎ9:+W)YM&}W ˆsnMEjLV6\gڳ >1l%2WSJ)mnF<]e F8u02Ŵ%q$˿Q n͌I Z]Х3I.;IF?[0!M2iD\@ǭGy:΁!ن7#l3 fб3Gt)7!K1@/6[?׼c 1餑 bL3Eo\+QC`z2*|xRc 7Q-q'5Lv IR wd8@$U宆hD0IFP2\xGo3rQުK(e;23^iDm;XMߵ+\̘'B 2ۂRށD@CrO:UTy /s DirBCV(6__) &OA K(EUQ.R|?_ rȨw>j7(a.`` K w$ tEOKu# >=]jS =ڗ xj'|f1Ty{X6_\溺q(Fh( A9wY [xūyy z.m[Шp|! z'R-*^sy 6,rI5?Hn+EiN1uI*hy7q@EfVED\YU=䩬Ȯ$ }1:rxwꮏKO-NdV!M:ߧj1'\<~p` I`WCQ܋<S&AyAfBS#U7GR UN5Wͱ9]ܷnϰ %e7ۿu@`aD05hX{ *EI t1ܾbA=VLj v0_:È8Imѿty 8X3 &6 6ztFK[N!1ndP(3򢍦(8.4ٰe,eD;Ăͥל&dQ9m$ [t 7˛a}\1cZE@ VςTX"_xmJkȫ$v6x!AE["cV@ıt`%w2rz9FxaͳvYϞOaԌ\a!&ׁ f-:;mռ Aw"wZm~g>ʢ˪w:,ixb/ZT}\a +$D} h/˵-BPS5*Qdf2>~7]TTs"XVluI11 (jau?cRN ,ŜUI(oB,Yxê3ͣ&9Ʉ-+6zpG(>vtkBn:f/*^AP W½z ǎ@Rϵ,G z g =T4ChP D:ci n #>kS<^ER| y'vV9C3[4sg@-<\m!n &Aʒlurp 5[XwT>c)cg䛺U3- p%Y8XbuT]V!,=SQ}hg}kmUfjuһRa "|4ڌة nD{s4wT+).-lADz?n}8bj8N*>5²h9BNo w"~f0Q~@^i|'#bdo!ßQd-w}KSbʪ ֜vNA%R>Yt>@*>kc=X$j't;M.:zl-K &p R#ؾQGGBZ!rk<,6c`qGb{5폍u JV> b\d͒> !?>DxG'NX@8 GGׂ]yXYsyBhfc=+h"$I%Ik%غuaiwWp[!&"LδLA^h<9leBsåP׸n*;yxbKвB5N.kFTR#ăԝ>$N)?9-Q ݆3qͪQ2K"e]UrL *E׉[q?r4hm O\^~')chdfsMf7*\W;c\_Wi7xɾ!F11l`*@|N/.}OtϿbc%`P?a H-i C &0הgsg^@JpFua60k <( J.7Y>a _ 8{܈Ů/܋lxR8'u-%tb/pPS 1yI1pd< ®hz~4ucш#=ȶXQy; G2!|v]\ӓpMKri9)l@1O|w ctiUhCIq*|ZjasjSmw Fz` C(PU⌉Mkl)UV[:m6+j䟒g[c \[]& NSH+ ]9"Ihv9 hc<9!(jzgT&Nt_}*c#RHKV>DSRrtW4nufg[ļVX}7> #*_6C*l;pFRńw$m-kZl*>R1O [f?hR^Su_pz9L{#pC zS1%U4 ;?@>og_t@ZBWK*g.~("yXZ⼛ {J*OaG -( \EH1I6f [2DZIJV.lKaqx\Ijיgzˏ/*a^sy9cTw` }$GY)k͗yiW0˜6)0Nm~*޺&(=óTl;ЪD{_ )z:Z,^3ˊݔFjIDľڎ=C\b~l.ݟƚHkH; `/w#%3-V:7B;S0mm5@yH }=¹mk wJ@L_S"-iC:G'0q30tD,o5EPC;bE\Tc|>#/Ok 5:%YLFz1as>?.`;7 #QX:;dijjŧwu C@eH ,&xrZyG@NrhQ^((9xD \YSt}!/=+y+U?I1m/ bձs ]`Ҷ.)qa'_ ٹ 9(ȄKyJ}h+sO$c(x83jbW"fu$?2jىD}߯$Y¥Lm"MYerc\ &S%EPQm#ջo҃kHx|lDۇD@V 'mUCFndM*D\+YBUP88OX9jX)o DaFqyJ/i^SLA<2)3]Tȴ.JB}t]2ok)+flTR{}R,a`ن6n&~rm!F<>Ztov1 !r 4A8%>t$N~_Y1tHfr'勽RϼUFM5EJXJtz]h6vDTw;~&2ڃ=[aJ(}=*sUGXRز 0A~J>m\Ć.ݚӮ}Qo#mo8^vBYiBn@| }_?!yH8=>zBX Ey-)gZo VR䲙tٷi{Jz m\6ŝ@ SL9[삔R:äj@i|ϯXd.ހ;ٝs3RU{g/QVm c j(XrKÈ\)@hUtfILKBpTGͼqT^%ܣ H"]'{3p‹9?^_X)S*?4Eȅf"ş'YɯNa8zpysv|Ҩ VIm0%\چ  N: U@G^ZGl%zC-͋S q(O8!?{R4͊h2NBhjx/@-TڍL~|DnnP<lnI^OqV|CAc~(clǤ+;WQ R|dFO|q5<ثUx)0ʊgBȺRLqy8 IU,r=9XSypEU1KH缈qְSΎt祅*LZwXJKÃJbO}Si9=6pߔ,'ʈ3=wstڡ KICK}dO?xz.UOSՒYL"E8ZMr\p_fpMf'`E$oH!I,4"Nj7:׌smX[aAM0VN^6^o/al[84&HA |Tct@v~{FpȣO?Z(܉n+4cƧ'%IH^(,<Ivm -3=~0foi.i@"I^Oi1g"t"={J,I.I.W~n}ߣ?`v{!5+R\zyWA[GYլ\';*q|!R)ŝɯ ++f~7={# iZmZ'ޙג8hN<BPLE oRda;0lئ\izg.' =K"_BWoN;qb 4>^. xYmzFyϿ= 0T62\tЧN`>G8?#V- he"RS5eWOp]D#p7ςW)w Ġ̞ʞac|ֈ n֩ҏ0H%eMoW[ sHCSݓʒVVzd.QyH[AT*,5Rhv]n-ȳq(=xrh+qZ6ITl?“F^9 \|羹(!^KZ:ns~u)(A4~)k# DW3bm6(@s3ecfjmo6F]3_+~ k\zwds%\+@a}E9I!9UvV5G)cXHY̹ G{!Sgv{٨0?a[7=v{ʿN'x{!vqҪRJ|̕rVMXx|:RR9pLq:^la(3'V#'Z-DX;'0 te_hW*I֎lQ Mg>Fa\$`]!lKYf'O_,fZ~|.B Y2mOήju촭|{5iU*xKd & _ŜwR[ِY3,d3՗ޠ޼`Gʛpxng6ogK!ͺ`P̳Z7 nMTݏ!1kS^M#=ЍOQ8_3)!L?HCGr6,}أ<q4ӟh/.{eP&8LCưdu5'z Ģΐ"ޏIeBh,74ğ;JQcPhnP˟`vr\ě=pUjz% p:XGyy{1-xF%_Oʸ9X$ ,&5F!c0}mT|h̞mM7~7} L2,1~6}@*^~jA+_j6??{F1^g-MʈїF} Obʽ 8ͫQ O* 0TsyƟyUu;8m GkO}rkOF`!jǫFK!$wXEP2mu,Pd5z#4l-##զӶ=<Ґ WVOKn0WxiKnߣ!祭%cP8߀>ٌ_m썵E1]08T}P6mzehQ?zWL^(#;>k,x8Y DΟ]?KWӶ1క]}2hz{ <[YYɅΫ~tWaJںRK>z5ݒHJD~,{+_X*%PwO;8혔Q>gc(06PyBJ@sNmh:)2Y7\g3w rmF"Z1 #1bO2@psH3W[vUV3[/L޲RvbK H~9%5J^>{UR$%B]%{>jXȝ3 ȑ `K2WG6%s) Z(/VH l# 9MuŨp«ORgDA(Hhw^,! ܵS&85KN77{$ÙW2dG`'GwdyQ) &DY "3HY~PnBh-ٓ= )PSvT\}R3B]erb<Dꋄ;mPUT߽RA"4cu]V!2BlW>*; 31hh̬n!]1nʂ'``{3ttSq %_@@>2&߿s4<4^+5Yji3`s`LY)ɂ|\nPSܟvU1i'#VeZ'Oe=bXW _z^_Npv 1ンE.b%\f}CPuXgX!PKT"8%k#+-1o2(M"vjq YTRI0s ?;J7gSǗp҃]`̒ ,5c KμQ>j\ov]%NPT3s|g%-,%}Yw9cbTȭF3Y:y; 'sfԢS?܉i_]hq!'?ۛr o#jG˨^Qw "0yz4Q:XtD ". 7VNNBO\q- 1EDg6+b@m_-#>plJoܠWn3Ka%kO|KHL$Qi!T)'&PS(XmۀK&2mۥJڰַ -HKNpcRq=45P]j&ܫc 0GCr%]S`1DQ`iNigM=Ssj0,$-jjJeؼ,wZ'&pGqNz7Z^?&k'j9@l/V9}i\>FrTs{6Ğ{&2'{01%dl"/rN8eD+NBEXD[I\,rY.UPm_:[nWJx{~g/u YH`+6=o%!"p28'|~ |QNPʋOvtT 9k[Hv&*J9"]Mz l<`&]D\)װ~Zr.DzHfD`#{Q/l"sgʅ) ũ*l(mD&I}p&aQ5l.B"d-RA SE qր ҇KnuBݦ]U{Fx\9S[{Ȗ 9nL6O@ ʽ:.aGwUO^M0 6|XV( s4LrrK(Rp!_{7Dxn{v˟}یzɂPZrwx^+ry.~=/ԆX{}=Ge [![ d G.-\[,&md 8y@NOU{wE1W^u)%f-4}Vs?aF : /SR.y:JD}Ȉq")Tu!`JOsO=v|9#8E֍_n\$Y9s6! YCۤhH Yna7vc$B`p1 ?JQcQj"_І.Q.f ח ^lFYZ;D*h H$BeU]҄,xcu:Idf4&tKXZ:v( 6ipTH/,Nk~q<)W滫r3f+k522'+㌇C*kgZ6G*Fqe}r~M8lVWC-bJ@e1 SU8e?Tno@ Hᧉ`]SSe"47|>~CMT֔d#Ig'm(.dTC,eT nHˬ ixA!+"&."hҍȦEeYpI6rċZ02fQU@ |ڇ1a>J5RBr-lJG2>Mb헞s٧ ܆^8x$t*}D/Z(p0v Jlo;y˃6k y/+JjgcBc8lbbUC㖼M<_=BpHٛz%WNe #!>$%]\%'^)Mk ܰ]|HfE^1$q)Ok~Wf5[U>?CD{}ȧpӅ!vr2֩Qb^l  [w8K;й>g>F#w30Rbe7<:QOζ3M\<15\a1?ӱa#:H2D哔EtE7v*sg`FD8dG9n3Ky ^`{$jz㊴Q@q֨eچuI8A*T4{V} tFQ ^X$6E{gEmVfLO=)4N2ܚ j%M`?`V9m io $2%?}q HޝCq Y&o8%QQIkB$yd՟i~h1J_,55Z[ ۺf'L;Hv8DSTkRC8B9#t/kXYtUO*f0l5[ Q_߱1T aDs| yPL@58.N.^5VkNo'X{]%#lנFc0u2D~(y[Y8~lU蜢-Ks~Xlwk6UsqbdA`1ܜlݖR0UxW./_+;~ps AΏ#|̳aJ38J `9_ߞy=RPQ@{yޫH]ӑm9LhλR"GJ0 ZڰKp\ Bx'಄>",r\U9Όa?CBKP4莧]X(g_n/Z8p= ~YDyt re|< M[lcK> !"D,uJ$AdW e+f'pRa9( C2O&qT 9C*pS1/)8fyvE[?CMgydފn:?2,y̭j˖:#Vi 3k;W8 Ք\SH9TrWB`q) 1 " $MW P*֠1FLjT˙:A!SΐfANotZLY5a83G"O ^A5ZnA P99`(S^)jE~Ӫ]bN5y15GҊiEЯ"5AD hL|Q-V"BOBX*h3A 2$ $ qX*Vb'U){H/!S">T&cX?5 3{UZ<Xٕ {s±6;w`l8JEս Y5>3MշjN?KM<n*8a=RzR<E~#43DoMvj( =ۍhI*RDd$#"HzFFB`ScqB',gH`b8mˈl\:Y#(OP MZ'C 1_JPbRJZšQupm׳/^N0 zPHëd]4C\'f,]˄M&!_^'_[C^e K2sH AxQ7,AQQq: x-XȱÜ0rݦG[96M][_ `Nq $_ªO3R$ݬfYc6ڒA4ʷyCpp&.9hakqρDiP !Owst jh;ݴnb(An^`=w2"je;,Z"~F#!d00dT,dWϘ#'ϲ}n5ѫ`ЃӾmĠ=Oi}TF)}Qra@[D,]VgDAD+CK }3r llE Ŭ=] |scz{;8rف3 n+u,m>ɥ˽Mu6Ug1$>%>Ba7cTs8VsVe TQE.,:,rY0\/M`-h[b536R8(-a̚e*Gb҂qpWq=%$Һ7݁Aov/K߁%j IB}ѳC'M%O;B k5$OѾ쑰s}0zRT9u= tW$(:;d7)O+aQ JTT8 ZfGzѲ 6z\<6=mnˮ[ {f"-f{.f۴ @.ݵ-V 㫟<ܢm{>N8 ƕP|J^Ekx!׳MwN;iޟ,#G1<ݖ, :hƠlyـ *=X"h "%zSjoW2Z']Gh|k3>~'& 8P3sWWM *E|탼lRgw^ߚ QxB˙;;Snk_s„<fB %4\ǝj"!4o4*I`!'ե??(N'Y9+y7Wm ;亭4[PRK[/"rJthS*>@]@̳T֎e(NXr̈́dԩofkpUeQ.u#h_rVX8S=&oL0.1duŪ9#q:a*//dmG5CE8ON9^܋2 ˕$c$X5ijuk aG4(AzJgl! ,Xf+3~с_N8}6XЂH M\$IIP`a 7$A4|V.G+ *tD_9Joƃ܋UšZO2Xעܺq @`c]jEu%\f4nA$~&e0Ji{MRRn7v^!qeƥ.oX^- Y*^.gS5RQaԠr,j#L,XZF#8-V2T.9FQz\I-cO2̑ %g.[gnP ܇MG`V2s0fqGyWxy bEMZCc}#*X~E{bEQ)U  CAWDHƗ؏u}E=6PEg 11t?ƃEwÃi?"bl.=s$ѫ.F4jG%ЊzVW6E?!UD ' PZmgQrk,.rN$)+] OzA ٽ(Z0j:wД w˱mdA)2ӏD/ e]]a,֍. jFfъ:d?+|sҽ;٫rW&{D U(,&ɞLWRpC<%=XD,e. Vd3WS`GO֞M[ `!u0HP;hP \550 Trw궋PF6# ew>]v1Ro!o1j `3d)̗X|Zdr8~VFh/)xd KcϽS5I*Z:LM_MȪ`O/f|Pb4-z j˷ ?V0y0qe-f,EQ xI.?4_J萒NWw1vn)M]z_ADf]/Ȉ%*ҹ)S}[fE.dTzjmWt2!g[i|,p"3ϲr&b UR VW~_5&h- ;Oߊ>ogv];zCt:>lҤr۬b)\sQG&^<~{ZAmT ϧKd# 4uq9"y+hj˽h]!.).¯?,lg4,yqL{zYj+Ji8UHtp@1P&#{/ԙ_pkKlmV_8 Rwxl'*[<$}AKms\L @@C3|^z|+< [FBY9NJ+ (>=2K֕n6Po!{]&ͭp5zbUA4yx{exYPʠDR$摳XdҹOw½XⰭ!7$\DV1Rn K̺0kWp= 9OJ-*RiYzqS`CaTc!'spq5LOa4)HLر6AR2h8TSDpB  b=$5nL`J[ A{wp6QwyuHh'KPCIX|]q+=ZUcGɞr EfbzN5(j/<"(]Z$#y\ZDtx3~FAG`ÚFwoS9l6K];uڷQHb$@ c_ape49uDdPBJ+sv4y hƹ>`f}Xؽ Z]ycI#+QNNe, oML\zKJBE܍ Uü͙-W q\&^\!-j ! 6݆ކp%Wb~Yp#64!Y֢`1,~c?!Y c H]Yox&XF3HeO\IЧ{M !ȶ4ӨHWhlq$K}(1./8HJ]:1ʦѾ/ՑܔA/ݯm0p)85$زF?`ܓ0VR"p[ =^:I.2 AM}ws$@͖ `Y7ր3|hc~h1aIY/9>V$"JC DS ?0-o=ߵ2ԑf_d?=Ʃz,و!n/24߷, D*]@K :%8+ HGGKJ! W*D͇r=_n}բHx? f*9&'E-|XXW+knj\P+HgᎀSuC.EE9Σzc l L"9#!͊™&pD) څǿؓ]JʼnHcV WȊ#M(R$}Pм(vӒP.aX{sb|ꋜKpSK|w3F^н9ئNI?9:|z# uMlFDz"ϯmmqpsW'}u i|nY"_ʿ%V)Ff;ŵr x( }+ApPgEno BDXο;wg%KF{Y/9bZ!`E&zcd$BC\¼tX2eن% '\X}E~nUWY}>=UTN8۫" -*̸mAu?Da#Pƒd 1L T \fAplllUCϝAYv9qdAnZwRƊmJtbscЩD'X"Lh:Pa=bX9%tP~5;($ĈO@ESd3Bi̷/^9Jf\xŷ5%1;.I\.TRӴ|y#{ä^$(jTΕF5 ȚC|ԎhM =TK" `ŀ/zqED!;mf .OR %oU%s5,~ Q!q4`חsWը}\\-vh`//N, PCp%]sG,2Su6CFݢQVvTwBK8hÚ/腀u(1fw5QOQmyZSl džkjAB9K{Ux(tɨ(sJ ϙ`2+RZA27[66-όUv!˽7қ@`'( RW~d|;{10ɢqp"SpW=4?扙{Բpw[hX9ڟw"9GnkrzC#9ߠ|u_ ƨPe{9LζI~>A ,]1dJ(Uΰ0xxP0xú޶%Ѕ!D OFYoש2u,=x5F@Mf R˜>69T W7vto*Dr.J>GC yxd97+_De4D|'qHOCwr0J+ Yu*lo, 7 1kT V=#CLQk52ѓ4J'iQRY"?~X닲(wW;BI^S2>Wڠ}_TޑCjN"]Y,*0N=>{r OwvuhcdyWqy_EvbApܲ$p_w,q$ o5 柋b.ՠ!uh9S5<b١BVF8@= <8lBî_PCť}@a(J9- t +V6 m^"=Wd@L%֯n "$x,л@%c%x?z-GvqhiNvH<2JFKʮRp}b7ÐunusP-Z]9tɤׅ92ZϐiثNjA~Q2R2-\k,1π>sۛh{r\u[d~͑vJikRZv5.Kh<瑫M)ނ85>ǭ5bRuq ,ŗ՜Tгb؞'BAVbL.a64qўk ~LNrlFsѲeX$p`JIO (pPAt{rӻg O~68}f%u}ͺ*ڣ+]JQ|9eG;S3dJ٩EHtx6Rߦ TKk8oٿҬx&[vLypcmװXB (Oz5/eV ,i^;sKw.1gmO $|Pk'SF=XSB YX>\2ॻWJ$o!6rp%,ZѮyz]˘[h+7b%c-VVɂնCi?Wk[Ra3j4]SѦr0Jn6G5=^' Uv=LiU)F`j$N}6mno q <8=~jZ/#53cc(nB6J,RӢ8h#Bk).zC0J,'45PW:Pf2caӳ&pCS42X 2Iye+}* aoֵce]%DZyxAr]#h]Ċ h 9lqx9@Z80udw6׍ 2EkB8k~S(V~'}#u:N(: u&m\]Mi(m[~<^$E!dK5*I3Ǥ?탓E' %?jzѫV#šx 00vNЉ cjW1gɫ7g04 tf%BrݏbJ!:k)T)Y  _IoKk.A[پ# )͐1cӮDDMU9O1YDƽmG{NjgeF{aɇOO |&=~;ab7rwټ'CKRԪI *K>(ekV0^wgy:u:v|_V,l4lm/fZsV?l'vQ݂srd]ǧR04 O2 (+ss9 *,|>;tsr+EW\|DY;EDCT+a#i>Wg:ۢh}ڪdp~?]%"JJ.q^v5rN(w1š\Q]ܳ0QdI$4_†(9Z .ZXƏpSV}]D[Dk(Rڽ %P5^x ո G7b3ilL, cpN9Y !A'EڝiSI݇ڙkm\ӆƦPo5#& ί#E\ u?uw̷4=ԆaLX_n$kF5fZ~`Y@f-oן%}~oC86j$!%[::gA%k=or҇@ّ5ifgz6pJóX>J,/-whS!{U)7kKXf3zgf`M"U= L1)7I 7j{$m#^xR+ڥ7'IᩏܦKTQi~AC< 7"Y-CT0#E:ٴ-N;tLE*P?>7sr3gBU /Xpw#cѐ:;kh͸ BJ9f4)j][t3ː}N:*xME >ZZ$T$Aq΢g( %FpS^YK,8( ,\gĮϢƓ$XC~`x,0Gy~κ;W%}BAQc8Mr㶷vfoҮ#huLR) R_jĺ*-"MuvI Ap <XJWB$/S:B ]}$>^8pTu3_s'q*p2fZYpp:W-\}裠vW< ZzRF5"1F 1LѾf,cY%ATm Zv>gO6IHtKD 4*Nhn)ZoH" gui^d7ir3,qPv |p)7m5ŗovxUUZq!@wzZW_e&GZ&l'2!N- H?[ꤵ*@ӒF73χFb2#z&zsF> ]]|"WQn#7s3eEJ&4DZdQ,Je9 ˂(hTOL(?c 炑^;#NyBi+*F:;u%j'9dBKq0mYYs; "-@0 Vl77GNIpiΒY9B.#^1,e@-UVH\GM\dð>l`i3߻Ir&ozTS,UGdepA4:V8-;tW6z`r(=kf8%^0Y 1K 4o*ssݼǔ :eȴ-"İs}Zbֆs9 7E6V=v|`Ď= Jc!zB +ZvM" 63hN ƾc V~m"p%48 QJ[GKn;'?U/{w<f Z-ÂS9IzS\,=?;T( #J!ړף d?疁XY= XoӅMXzedqˆ*xO$0qyei)+"f9NF@A|+PdV KQPHL:BG}KRZ}}w8yk^/UY]3]z5ŸS6N&g14 3+1vCn}n#bNa ȕPqNJЏe'W6D.1;;^?l2\oTԞT$Ʌ}o⟼!LSbZ!B BÞ/P+<8f:}Ѵ8ހB6IߎG(ھ\CqW랊[`tHMQ~>b 0#ᥟa`.0ϰD6- &o"UlVx.}fs%9 LR̢fOW'fCV`Ő<l4i\l쵵3{;[׭-!Tw11q=nk?iQ8AH11ࣔ`,2Icz =^1>6hqQqu=蒎 y(A/O7ƝWFp*b8!4)2r,hj u ~،S9B~XC~-^qzU!5>Q[cm!sؖݞm2e ;j8?J7pr˭bhD'9jGb Ifv q36 s>~'ǯg98 UѪ톣SA|'o܎‰lOGZJJt,QgV)vzHOz*RWIy1gf)ϓ:r/]5$G wAVCh^,r|qVL ?iG @'=5 ܛ)3 L|7ނ "X9TEl8 xd_DW ZMէjҬ1'KTV`6\72VW{7GDש׽)2 eo҃a-^R;rRb?vG4SS+d2Ϗ s e;7w"ǩ |sRKZvi[CTBT?-_# 9A+(8U-A//Fwڎ`&=BfyIQ=7W{^γIYS}︹n'w !Pe5{ Ӊ5g.hׯ"wLR>uBkQ#eJtlҬHS73ndmn \2dLA.as+}/2FlmUÕQc9qo i4tU^o_La!4FK`BX]V_vQi!Ljju8E{ӟLyMQp4D݌=r [LIbϔ*q*0?C[ZR,paZx" lJGԷ(C5-N%^ƷaJKD>| pƦU耐G|d7ct/ 4ޢ1"FDY374 \XHbrs,6@mʜ[!'3TtI "D1^3p`Ƣ\'hZDd+6V)cpBPND./T(cX:ooF:7Y9Ylw1%=u|c{wv0hFhfJ{)"kmyB +,Yh vǀ 0a] PScəŁytԩS^, HeT_%kLnoQ Tط V79Tў̂llTЋWze gSXb6v=}}E0#LD (ш[DAa-Hߛ*|Z`;RY)PgUNP>m޽؇Jd3=\T\I-}P/2o5ū*~UDh h׊_Hf1XKk7*n[RORNaH~rB01tRջMh/ /d]Z;4cV&=DAF 驰SYY n,`MCI`ՠ%tdʁt59Hd綋O*ӌʕx|̋N6%^F(YS!k܊ҏdoadz7/n(9pYs?*剞)r(껾p$<ţR?&`>pԫnYT8^ZH- 'LXaeಀB [)/ZϛWd ?ԃ騽Z Z Th2ʡmOU1Uo+z4S@r07 ?2S^URv r+C:SW03U| FM!(gċAYw= gF~AT1גp` *SșԅsL]ɍݻM!G?-- ֲ>Y Jc_<N(adNJVŅ0j #v@ BB b>^-Y.>3[x>/+<1<[+$O9JCJ7ݾqZZGԨ:U/h(7&r@C)׬xs z%&t]`UQr_[2vnE} _ퟰC 6$Hi<8Q j7[I r ^/6(QN : m~VG/{Q~.ThjPK~笔&F:pc@mũs z (^ߝ{=`z☧-EafsrkxdzY&x)ܦE7o^%skʱF_S&Av"rZܞLsؾU=,)hm۴;HUYo5 DO-I[νkX#=L vxw̆zPk`?|,Q[){-1UlLK~ H \> 8y/^'Oj8폶?p/i@س(5'i+ץIg.p,h"Vl?_lЂ䏫թFfѱiз__yhY)S0CWsۚ&m$)V,4(Mν:vٚc|"֖0_G1@^zH|dOaPJ @-SuZ Wҷ x"ud> eL.GFM]Yԗ9qҬSր O^.QPh1C\C705љc䘫+ "QF=:ʍ<"YR@ fQਭ3o+1s ڏ_ъ&0r{&l|diMggj#;'zY!M,ȉ?h%x"oi䦳sƙ ɛImooI/r4:>L]Mwp9λM""%˭b6 -Q%+>)blD|AJ<7TQ6;QIl)D&K{3 0tC Q ny^{ILK\'ť2}O&V0^m825cEPeF=SVN{}^J\PB{k"F?ZHX);y5 ҕUtw:k(^/̓C&*QZe~tvm׳:XW[ 2nQWi`s c pÜQgzV7j!Sk2SȬ߽tz>=w_l8kt4< R~OLP'hlO:4]MY=Hzs1b^Dm]V- Y% l:xsi5tЉ U1$tZMw*4k(w6^ ,5:0"t0ԁjg؎s5MUWJ4popAT.fwLd'%ܛ= oHAs(1 \mW2FhbZNkіW9 dž؅k;rا3, l3O#R2[`$x%a ݅4Ls,0ws!_T($ѯM74E'dPʳ ox\C٤ѕ3Uj C=.v%Q/.OzPv &h EDG]^_}2kC| b`w\\tuN;zptLC egLV/b}7Oҟ@9 6%EЩ|NcCHyab -%8_#=- Vujwl#MC 0\S| pR>RaB.2Y+;fZ VyϾ <2A2tsL>:(p ]big=SDzJl<թޫW]^j2C g"`»dA)p]%BI!Ờ1d-!JYBKO\󼨅&D?z8&16:ڼ>)r j3 #[qgHjJ[R.B -) xV'u{S ~DGm|}ݦl2`"~B2' !Di1_lK1?MŜ-Y/_xv iCʔ5CU>CFg)n~k*GuX:j-x V\xs.嘂"$P) PM|.A 06Dkcw7s4.=Yk1'~r=& qETO{mn@i AO5T";}ѨB:a5s_d9ҁĞ'(gYE#j)|tNS10|R<0[d&I\`%6<;$)P5gcQ CF$sn3}nf?Rz',q""ʚK==E* >yv7s^@& ^ J?ॸZP{:sYw:n#IAF_╈rEd 53m2N.3dާ'vז1#k̒Qu [F 鎵IZ`aғ 9?`Wu*9\s&U4kQr7P4k6dcS;*tq:nQ TT KE%vILC[E8Io1%]ޘb ҠVxSjBLO1ôGLaG8/6) V^9&fmI.{)i dFz6p5GM6L1FrωPԼRqyٓ턥Z`Fȷ܆ܯ.Dfmor>ut<ٱL2*NSKODJ'ϛ5`!rDgvP!#mPwaߞWZ$fh ~Ӽm;̵)\_|r;`^^_Qtw21ռ̿GYr|]V3*^ `%x˲v%kH%a_<;K@P`ZsYSa19\ׅTqԉ{e('h.HU@nƢh T?Y9Ǚ[ ;plUqbk,v> T1c;C'7d/+(hb2h Xoˑ:,zCѢN&Jҩi BY~SPxcJpWr(o;f>BHiUc^"'*/i.मR&4Do$wb"BCҘc{]j&[i= a=|>}ۨ q]e^Uoi~EOȶR> 1T.!}ꋱ O'fZA! ,w;JMg5$jzgVEwl =rGr@j ̻[knz-aQL_s,!!g2sҳ듄%~N&`z~tg^ۖց`I&j RH"خKv9jZB ^%->OIi5͛ o:MEdp+}C1y]Jx^Ck?b#UOŦeC7yz-OoQԙ\Ғ݀D~wa@rV;X p+Gጒ3bjzT<w˚*.dɟ{b tɖB(`c훅:\u(:7/.v\cga~p/+`ykQ-m.zSJ0H7ǘK`"jѤOx` ##ř Mlx|:U$Q?;i(h%wR&Ldzk~01V&dē*>5RïOEV3B]ayZf-lU)hO_溵[%zo')`э8ņ5 }|a!T7Ij8QQ\ϵ/Yf{ytnH{(ݼ٫Dw}}S-hҸp; f#e~`uuy} (")Ϻ\e  3ه-v蜀;s#څD/)>TL#s[ޮЛk3Jw/cRN &k \(YÇk23nFT#Rܖd>IVi.=D2s hf+bl9bL`#/դV ̞)?MtSijb N^\#ъ\=^IsZгVw q}I )6"fuX$PҿS^-qPѐu\X dv&3m ( OMI񦕪O_ŒIs o881QQLo ¼GrIo=Qw)|S|ss 1|Ǔ-^{5P9 ΀(gW7r\OLРLq%\yWGd RR[]N<:<άTBxjЖ4fq $*lyֲV7ԭE1dicTNwp)axalmd֦APfPā@6fC bIBLeE&j̭5/qd.3!wLFgK+M[`^/XSI0_ ol~ۓ[69Ѩ]/ބibρķ'kNF׊d?0ZB%Ȇ9;jA؛!w՟wx؈dg*ć:(WxU2߲QѺy昘kFVE@XT_f#"ñfy*^X PkU,<2?Vs\ǀ[v'2qJťJ;]B 8[A3K qWtd> qLԠ?V_:-0N]Z/4R$_<]NOs>4b*GNҕDz+d|6ZtEhb/=;u nZ7f0sNeA5FF21QbM,@0~[Cb*v83x]cxߥOIkO;5v)ES.a,1%6 YCяT:<<М* Ϙ^MTF]TVq"UҜA2 fOεWixPq?uȮN,9Q;ߚ эo .|'/7Ί)r[Pwx6~2{Td /Yi{ sr>|(RoLmK1FN,%쐎Yp4tl+R?1iYԚtoO4t*37eOSQ<;HCwIr pΣY5 {X6sw#i^.D5>8NVNy0kdō+y[%T*첵\:@1@*PШ+(ƩVQJ͛6x ڶlp0`/t/Q k,wHrKhJcLZ^eo2 c duZGɟA"~= ]9iw$Mb< rJ{b7boݕ/3ȶePH 苵P iKLĦd9xe}gaV֭`%p1r É!C̼~C5( rw|NMpE+n%I:AzBl{=84:mG͢*hO#XgWA<f;+X!D)B.+Dȍ[F+(_W^J9{u lX^ %q&HU~$Y d6י99HZv-zh<= Yf|x(Ro0̍76%Ơmh(RH? Fe5 EŠdG:Trb6\! Ejxf;8a{Z N y,z78. ?`A/_7GIYQ& .vTP iyL‡ɋ$uuy ;ʛ`jƃh#yʠwշ 8מ{sh7ltpV+I ;[;5pOXzo_noT=ͭT䭽1(yY)se.7 ZP j@4bX5+iUȵsP6h_ CbUA%S RD6kVT&{Ew! wZnvw6IJ8`l5$˒cWlK3Az*^YF:GJP:QӜ_kWZ.0'e+A1X7*QA^ NnQ} '|+d[h-})te:ش"\Æ7ÐMLyPԥƧelyhf:bܢ#d=qgڪ\ cWw% /Ml>p4صY4xiK7rwеFj:^H,F{bHڱ+YåC+1 jZ'|+̥͒Eu{ mJ<,Z] ŔG/vK@n/㍡a_GBߣi }pe>r9K *b: S7#E*v<8H#K3zw0lzX&Vi(.9<%J7ypGƮA|E[[A g^5_,C&;% )J4f~Jƞ.6"zKՉcM1艛J1^BHR:qq LGRFV'ӫci}0NwCjA+/ƟgmFxz8Xþ.LJ8t"]6 Q4yW0ElR<CB -h౪qj&-"%D~>gdɃi)*.eY ;`zѼNa.9IٿۉI6P2ML&fҚŦ@<͂ƶD2՟M#lwĎ,^94/\v:D#=SаqGN4V;>q% /,$̺k [V"kګ3lݴz&7zȨD5߲nCX7#5#n$W{ ]23HRō(l]$ M[gtR0oXa\|1z&i̩j`G;Sl% “SPMQ1oDZ( 82T@ ^Y$_ ?\Js҂<ĵ$|$2!hΘ Tc kYizx_YDe~7pSWNd*e0SFVn1fs ,츸oK^Lri |`nkYH AUPhPHwc#]t$V6nFGG 6lj^a,T2-~Dz$У_ BTPA㦅`H:7,ew TZUs}~bN5fRHsC+d9)k. "e !C myg_{wXXK)G_T$Wo,N"/Q4@J!-%DSvKAq[GNBIϞt?D?t- # 20C<-50!^Ɠ ^ۿ3"P 8@D){_f!TГ&NcZzhúPdk")aPNjdO0 d>VsA"nVzNBU7aέ3bm~^jE.( #-1:HW5D;ƻ{ZChi)\7#dPkT% #y: 8Csi(Ojiwdo`꯳:I*Li3%`@䫘*&)ȕ=,kP~ v9D@IN(Pl{A28kk;{WDZ*݋Jf-2DG~b_~KM T*ZDUѯ5PNw1,Z𧔠^ܽ,B u4 #9-'w0f:wΈR ކRYeC<.9*粬k"t#=D+hr9 -j5TÙl"$ aǸ\-lW5jvjN@WO>AM{_98,kb32 ==P*=d'IFnT:>iVkZ,4VTJ'-o*v.i w6%߻Dކ=Ar[!lLR|_MVGv3(- t{8j$rJblz LwS^TF)I;'zխ-/$@u銬YO׳`E)9iCɝiڦ61ULЏQH#&OW m% n 4q%UiW'‘0f{9Q"TyOZ3wXzu[N‚1q;N? !3Uh,d[xq>_!&Q1 I0t%bb\8P^uI[yn1%Q mC//RQ/`_~j+ YYFDRA~ `ݔOqTLb$,t-Ok'e({z+%spӻ֥ uKD:bZDohT0x.2ƤNWP8Լ3E]1Bm ,|Z ZL;7Jȶ.8tjsЙ\LǠf>b6\Un_^ gdi΂+mEۧEEfLq76_rI9*oIW+4`56lpxH9Y9Dļӟ؏0u,&>q Qxk1J+=1 >80gE?}߬P" "S&'Xە|"0DWUUB{-d􁲔I{wxhҬ}k@^7A-hc+;%ZVцie2 wwZY%kSKZ17L=F}N;gAN5A"i,_;L; wơ+(-'Ç0"Si";,IL'$A;*XxݸY^>3kKOz ϧSDYqBzMn B䡲0u)6cެmNIfR EЎ_OD}erEP) ,q] Q A`SR"2CpS$F 5 dڗzll+\nɔ7korM/5t$ÉaUv`>}ZsPe"VÚY_2L;'D֐ϱҼbPKkhlJ}kK=MzG >(fXn6_{OJzo"TÍ;dbGpMC/7w lcǑ8aOpUK#qCn֝HT3m/+K %Lm݁]uyT "8r D_8(}{6%7_|(;Y~ո%썇IJ+5jQ'zsvœLUE/4Ytr*T=,48>d4j`htUjJ.e0-[o%v"2n.҂ō m8ܯT"@Z;^{g GS;FMAsUY F$̲9"Y\?MqWQ6Q*3dRNXԂz Ԑ,V`8soς}k[v<鲒:$7o1iE#Mp2qpši#6',TMI0w]M0at&O?: %r1D3?*`M ceEG.pTM%Wdz͛2Dؑ4,2zq_E ,窆4n}BTΙjj(`B`'&vև¶ "%_"BJ&x(bxhq>马:ILܱ!`Q); \r`־bY6f^ m!$Lq=\U#" m>R@B,PiOڣ]Ϸ nPn! 8,9 dPfݯn/ 杕 !X)'#8[gώ j>қ=KnFǹe6n`~5٭sbn-y[A026FYM)G7>n|1r.؉wXa%J ;| DXTM}\wwiJcG$DSc{MENqzaZeI=PW7ɤ^ o7l#s*- Ƕ.ʁ:g&뛦7uEwQ:䳃$c+tĦ1nO:j66x"˲$!J9s -nxl,+$Smz=i;+%S#g3vbN88D>}|c[ ǜў圊/d=,8ӗd6瓉v|lkePЩ 5E7^)61!h2b[HE>b Z D$ VS)O,cttb^& ͚#_\20D]K{r`%^'be,gG (I;d'5k,[oqdn+R`Vܡ9 t:nr08,Kj`ȃ-"b jPq%om5#(:3UhII y )dΫp濴jõ`C[ x\lE];`CS` %NB!.D!t!ht &r4{I6)V~ !f$%)Ғ%$1[5)ҮA#'3˽ =XJ.AӸb̞۩: %*ӟ2[03pnF9RDkd21桹1QLb)KX "u cYb5̈́8kcy[8v74̡sSʬ5}+ o&-swַNw&ZПw^&u $pE6{QukxqzkOtE ffwr Nw = 5;nW.\Kn2C\G~1r_m6+{mZwA;y|X҂7Y{>$ |n-,Em9`KKKFa ]/3}vajw> [A0@|4 Xʶc @eM[ Lk M.IsddΣ=ܳ0KӦe0+Qo8 -]&Z>2?ljN-68T):3:v-ڑL{l\$@65=)^EehշWxlݼkw7ؙTOl>i *9g:y2 1$?P:ߕxR0%k[B>v;- syόв^#>V0 k cC.V*~i3-˓By4-ihMXgWJjOSbp{]OeA ~Ȗ\a KX- IMnLj~vYQG0L&Q 1̽g%RU&E_3,ϪΎEcmBdw!>GjT\)>JXr%YU᰾֝L\H^Vh|c58 +ړt.-xZ`.qR:lfS\Pn~j4s<]@%߁5t n_h }:%ဧDƦ0ᯆbQC3.H,t>㍉N2֨k=Zn:5́wYUۧ|'a߄=+'%H3J` K ͧ_L2p[ȓa^HR!nĚKFmk!d~v!G<,jdfҼ1!W9vsR˩Z [O]mBݧ ߙ2e{R:+޲OY'NZ/@7o[ *n<<9v_H܈+2Rc|t_|C%V[p\-F÷< 1H7Vm^o@Sɦ]j'=bsڅ>2AOqPOsI-KzR 'Y~ju}C$uro;ŜaX%gk33u'u6YoU6PUGw6Յ ۂџl>IDݶ8.v9`2yp(2I{xmxveEmV 4V$/`pKR>VxB֗V5&J~ X9DPbe lqd1`PM{1;776.lE2[@n,3 -YLo~&ٲE~٘^L47r]Ml)'IQfi[y^2_ 슪M0SH֭ Ff6U83j[lX2&Aˬ0 mCTe"?s [faНs P#q;x[[NJvKQ!L0O]x?ʂyi6Ctw9 ▮d)2{4RJbģb*"\1l6 | ٲh)=hZӒ#5#xW0 rm$krMA7 0j'w(i֭E'u&D#p$oW On']RS/Wde%]OcּEuāP/}SDmI6koϳ~$g>i"}xEGӠh@TjSt9A;myOe>t 'PBJ.f[^{U3YfvH9JĞRBG0Í1U3M#3` ,tUލʿy$Bak(&) *YGBzPH1RZ~ Dzh+2.z.#~}rߎiJ| %,=nGYA' qj栖#Msp:Z4*qK愝-Gj@}@) O?i^a$gM<"9]"Qd-<'7PEzuUa ZTݛ>od ӢPjp[g@v}[rKvt \T •gWRNQ+Y w:WlyjA7[a~> `$9nb{AkӺG9RRoF,^<<(n9HѺDc1p۾ejŜVSenQEwDŰkdܸд_1ϝq U⧔#[k?aq,~QUIN)6H6svC.Gj}~)a=}}$) J8(2EZҲѿ*d\ 1[OMBX>16t2Z+#Y}p pAPحT ]|jWXXҦiJ;.tJ5dO}eV&oQ[ߙcAZ65AI&&gexL:}a7xҦǸRyY8|Q굂 Cc: o[xإ_?/䤭{DqX75/9E]B k~q8HXW\ 4Gx,=;D\%ptsS'<1 SHH?)x(0 W&e}bhsO&Fل]m,gXVM-aR2|EFD؍_h-MZfF_b{qJK$%OgpFWN3OIeQˎ[x.거3zbLRlŸTU>|T+<9CⲦ}:c%E. dm78S$TnXĀJ=^Hh&u&r]4[Ac؁L-I2n(վDQ ncuB>0ܫPD?A̽W;:e@LGv1C,j1|^$ĊDhvY<7K(=_zLAsxBwh;\87i&9B[9/琟Ͽ:IOA)M*4>F_*7OMB>E wB&)n|!1?jn^MNWu}l$4>-F9-g?sҤr.` y敜C.荚:B$rLS9'LnOU'֩Ρ*Wޅw ~ kJF)vZB Mz#-̠<(riy'QNš4dFhE ^|xWE'^埒 (}K# C |-z|tS"(#Ztb7`mYv"읦;8&H4:e](<;.0ڸgPq-P%b;O ҝ׆ɧj8fTGtQ0h&>tq&&!co]&1 <|YDDNJw*eŴq#e,0hQj-Dˢ̻ >4=4)eu5:QQ 3Pi/67eVeUjE >ԌIGy#s{IDpmQf}4ApDהIkTZ7|դl0Tf;jǑdGt3p] IV; rCnK>aqeGbƲ(:=1biIhXk) 8[3K).a&*sv {+ϧ&wZY+`{ I)N-!Lj{Lu(s;Tr_!4{_jjpMdiIm !e!+CF/qp4 ^7O%\iͺ$yrs0}^#䈯n0IH!\ hP7D,.l$ݢiE$P}kXY< _{T"q+ _ZA)ɘ?-QZmywnI l b[GVTEdW7猯 Z3 "с9UAW*խ_Lͤ{uٽƨboe`.!_#+p 1U3?6! H>\/z.6@H$gRF֙^?$6Amq䯪S#\39^`FMj=M|bGO;ռJM@2IY㉌1җ;%~*My!m}?V;4-AߗBYެ(Z"Uw}"r}=#1:w`J 9.¢~H4bi5NvPUS? =>/ Z*78M @k;mY.'$(d V$cKaK:C؃p(-:Qi Ҳ|\Jmɓ=dg(A}#'A4TnĞEr"-IzpېЈwU5qSSxޚ|_#rC$uM*}P,o 7:#X1E Wcj=&66W@A(X>)mE;9S% 9N %~+C*M_RmѼnܷJ84Ί SΫե>quңvsȫX5L1oɭ2Lѷc^7FK>قO!}kYty 6(J1Yw*\f tݸ3,M pѸ)7CrJ&Ռw tnT2IϢ: i5[a u[y~yMW.:8MHHV[b[-N:B{o>b,^f67uiLE9gIP'@5 :Mq{gX2(  aE5-nv_ze; Y!ks-CE* 8{bО<ԅH'i>ݡ6j4^:"EHǵCxRAr!B?J|Tj9Ma&3˯WqA}IȼsHmo}0F]ߒwoˡȓ+U%\<:)'#k^Icg0m N@&a.+U:?uOLc4wM >@?3r9)@OQ*D%CM \@] 2Mz#9 D,PA̔9˄_T>2݄ ՛2-an@C⊣M|Vis/ixUu74"5p kHT;D`ly|x4mkeR$uC(lqզ3q'LҲVeդMܹ);:< mЂڰ9"#Ub(K& 5 MD{D. TwڧD&FB>KGngZVqur9|)mh 20ӊDϢW]T<@JHCxO 0m7f9^WF79|fr;5y܉9pAGa(Be}ۼpnQ]1jreX[e;BRt;CQO}/{|!m+d]#K>Kk0_,38K]GRŗdS\QfF4&"1:XOMb#P')W)^DOO9q2TlS.4"̅0o y Gva'~@̀avՁtF8 Eݢ:4.L̹,İ_^bJ55vAmH|beT0ooEο#y;PR2NNiՉ b2tYs, vF>];\K)/EU=Lۏ@O(-kH7_JDϘֺU|;K{ 6+H]P3)$ 6mȡƪ&>yDm|]y 2+plz y˔p+ʚSt8Y?wa!p o5xe:#~-1b^I.M<{zd"`Pף S,OaĠ͢h.}f/M@"ʄVI(/udbITe>77Ygd}_m`8pJ`yD?=7![|j'h|1-x沸&QͫIH2,NU7tO;~BWd\T9f*odocq'ӈ`i`8D/+[},d>s1FZ=bt\pR w L޷n`tcɾFm$aM)3rNBR#jb1JC2E-vgڻ||;0vd.{BzH|y7HcE+a&VJFD'!gqPV׈SUtؒIE*\Ѡ!2~a}?Y= Q1#o݀k')}J+78񚤢"O?6ɛ+\sm*b$Ob@@z,:  ˭0v_u㽦b xbA8:7erZ(1#,6Qr01A%70\RۥQIUF U PSŠYWlw "­`C@ 8UA"Mf8e˯цv@#''ϢLTSTY~zG!y ~p0!эEfaRa(?!_3$0=ԜH#{΍o7UgX;K.Σ)B"1vA8ܫyޞ*l2gO+;Щ?U>`߮+~/ } y50";_J| CNDuZcUAئ ösf'ܿm3}iϡ{'IJajg5N[*ZLBO'd\f\{t|HM;yZIWݥ9'_p2nEizf3َ d^UwbށRͳQf~ jY Ũ . GNui~Y[9DP(Bc/;2ȵqa:d4uBvu5ِ`Pg!>=C.2"e/y7F((:zƖ>'2zp%qo|L&pźJͣª |d+X'}D[ayÄV]P"C'V3Y=X !zØ}_~3Rswy> CE"!۲R,Ns9k1eR޼juVN3+Fv,h(q.mJ4+Qov5Ewؘ# 1; >xE1odZ-A'qxZ+bu64z 9[6,~Ԣf&Ok/{9Ԧ(zAJJ Tchi5{?w]71y3`\h^`%-'_Qr Ί[/c`fx|\`0#G)-n1=Nk z$c@C*IQfzO 0i*eNd,rU$+Ep{N3c$"Puzc(k&(Sp]h`ND$wO!gLբ\nJ~,>hK~s7lu!u[ ҹv>_ݻMB0O 5WlΚxa,oufHl3}=xX5!򺿢I|3I3ѓׂj7kqlÿ RwR![?%~oRSh!Vq#ڧi&Q'W |B^b^떥~byR;X"eLm6360M`B~d5S~$T,NŞR՝B[7=`H0? PpGtd>+˳sbO 9 l[ma,l6'^&KwM|nN K|Qpt>okvOzT'c7_,<0c7Zba7k'c)pc@n|u j,=bzK;bp&ZkC/ (3ч: '(Ve!#b8HHYe/3fW'+L J;[2-[sͤF2a~%4xSyE; XNQeC9gIBy6vwNoTE%,D|,Wyeufu@"_G.# \"Hj1E݆^Kޒ Kt8\{o8/E&m t4r9VY tbJO&OsXan\\(}!t7g!EŦ76-_;MMFVKVfDp0XѪT!^Kc 42dۏGQ5_ 0jYN#M.}ZRү$VZӣW5k2iS3Tkd}b,-`eIhH]IQ?y`N)!z¸ +1)sAvk^!s`&5# J r'4C22uҊJ`smjI~r+Xl`X{}5Xiȁfv 6 g.lou V~ 0\g_\Js̱H=$3eI#WTrW\dogg-ZZ]w_vsn<4Z XarDv qIQgl,nO} S9ʐ|p\>ۍJզ(F)\Š:!ʒңd3 pCj?({ E/.eb|nN>lҹ:ת?WOw.`7b 1gTrj\&W(+Rh>*1Aj_7$gwJm(^=q微$&Tdl@؀}4,Xu0pPS0e8z{[ofgz6p4_#c렲iiE֏W`3$,n"AYXp妦ѿE;ئIƑɇng) 1|iJה8' ZsKOx(Lrg4 kO(eHMIH[Oc~b76RkZss0 '_GӠ0G .hԘh3J|-1wGh^z+kLCo-(DTUzܞ._5XH`{%-p'OP71)[Kœ@gwrz..E2*iT `AV~,ʘj%Oowqq=EC:#G4#FiWJ^tL^ɜ_xːRdԅ*w+\S)`y-|2€387l&^y;PG&LPstGVC!`]R[SWkO0 Df/jF.j$sw}n|x./14>G.}qڭMaĦs]>o}){lTG%=XH{~'z6$:B%MJv;}o50F*C$M@*㞘CQ ?1Wcז?ITPeT `ϮԼм&;H9!;3~7"ozI|%Uc!1p Kh@QU'YWK >H3n5d3|cjaOW2RgvJm B;5!ilŒ|7C}ل M mHHm/oUp䘞!SPÜ"Vbë:`TאWlB3w_))SԤ,Չ:D ft}y,<`rOVg_Ƹ5gy@,A~Qn%jiS"t%P6dե4-J]owkL@*5BrteuҾ5֘ dۥi*:l'Nh[{e!xrDdGd&Y+L-I0zHdl8}sÉdby{{_nS=fSCeédy8.c",?dY!ckFxwb||MU{Pߝ`IiAP?`Ѥ^F!*NB%#> 0߽.&I=% Mn""x~ JA\< !BS/t%NQ,}_sl^C0e]YfO6JafGųkrX"`Wm]௟8p3U^ Kco2! J"-Tn}.Gk6M>g?9+(Q m!P[A!wuH;?^yWM|~Hſq7\M!rf }DkZ"@8Cüd`N&BDTI2|odя@%`=Qa?iN(NJX 4{PԷL_/zFPrjV6pOeNw՟d;YwDm|3@V|Uu˸Yuj"&v6{^%jOjv"F9- & 5b2K #mq@)lLiQ#A^zkegZ;+6jĬM|f銦! LeڃyO"i%SdܚcH3m$?g > hRcl!$#2#_*Wʟ8.Y`٠= H:qǔ#Btӓ"BcKf!TLt)8`DR|NݭLhj{J ]lt辧"TfWzj&?q:$X[ UJ߬:d*E>),GZ9&ąG8f\͹Vd)A(=02 foS{)BU1*hxIoLYzrBwb48ހ Wɂ3B˾_qICpᐜ/ ٽ*ƫY=tN/3':%;700ܗ+(Cs (yAF A.S ni(_x' Ai.=xW-MnȲyPKwB;v=kwA$ 4rvr4cN{$Ǩe 䃵K0NdY (*:*q)'_,',b +6ZC0 2$ m?|o}_YsS^Y+EХJ $)ŭҁ.yuiNpvG0EcάzG~> `'s$Ƃ|6ꚮi%L.xg[0! ʊ'x(otb n̈́\vmuY/?%yu*oB?3|N=HJ3٨{pLiRzyPUnǩ$%JL?{~eܰoGRO jXX0eiرnN9CSH$qY<|}ܹQ^ o]%i ltҴu=**$Pxbr0.iw?zF!Es@.m_˂`lO#U]3XG%M{8fie{|)wЅ0z^Xjr'$4Wf(a{ɚ=Phf t 37sjTӤ- 3\Q9fQ†cwIszާewQ匦9:N<9 XyQθ~ORỴRx4RZӨ'#NS1e5 IFwRzI}yA-# lfЦw8O@Tcj%xy'Ikp cwQx& )Cϡj\lHG'ډCCbԷ'P+kVE;ݨQI/=NhqY +4TpyZ@ M_v*4=@Ii_X}+<:j  YQ<)AD]C77:GrOY3est>P^Q uŲm=lyY;AŖ+IJʊGf;Kײ㳣;ygQ|ΐK)VHBE0zM!+xvNVrķijxFsRql]5 "+Y6mxASSFDz $o\Ome-FnC2'G8bŁBa&T0@ iL!@l$wlq2gjhVe=mcQHJIi wGo37\0ESߞ]ݥa%50 ǎg-”$\S;n:/DjAfުξ[n4XG10]h6H;L`?MAKup"z:W< `ZO I'r>hgDx]N6"ev/C{Qƚz%L.}@B%0F!^>/$:eXk[ZJ8We5aSƃ{@Ә@~ѸUzr'U`UuU&3:J"uc`Cţ]EfK)HBvIjSzZ;dҗ-٘@QQ˱S;C^tf[Ӭ$SxxriP'~nz^Ͳd_"@֬0c6=9}cjR$+*HZiL;an,}\Юo ]TxO3$ɩca}t[^";D5M/:˻U\GK?vN??*)F)F#LX7M)\9{X0~VC]cҏ ;Y<&⡬.&s^̲k#!L:SaQ|xqg?&~);1;WzIJmP*˚TZzkuel#$7P*L#dCi5YxvSI7=j3DYV-n>n]7u#R`Fh+ '#Ѵ(_SGhoiRr}Y~͙Cq(~ufmB"&<\oXa8P}ee_ G؂~ԅXH/T-U^@'+OHOWXW_㉒5|@|9I[%|?8S"l&s={./U3bQ?}'|X-e@b#-S0WiV f4:.5MӞޛ;4["EZOͱ*`J9? s;܆Jl. t ,ioY<QNfXmx(Wlp#Փn8)fX"QA` fO2vgv4&#3|f3(K8A7sHeRG&e_cgPCpFwd[14Om/HKUM&1P ̊<Qimϻ9T!fth> =2╥a}!bR]d-GT3 ƺ;LIG=V mD_GK^>9TJX˪H~9ދv"v7>+#P)I*yw,J ?<6N@=pW-[,`O1)L&ɴBTsoa͕RS/gO$N|Ygl9EbhpKo &ņ9S6TMщp4^m5L >eD1QL7ZMA>gITs } ,1Z|zuIk=W .JzA&)dFۺz ~t)f#!d%x(+GD+`?dpX/؁#; 4\>"-nj'#74.kpu5][MAğ̊v3/~If[Aϲ. Oc Y { 5$Ĥl~jIi_@z[]Ow_LcCاC]U]ˤxS`b0:"0 ~B/]t4J/SIA͓Ȯp|^@Nvz({!%H*ڇ9R9sյ穏GC;u3$y3ɨ@#7 W#@ 9GgWN pN\З|؀CEOH!NV Vmwlz1^49E-yv(mCԹ-d:f.mڷKW.@=Ȳzæh^ƃIٷSD8Xբcr{`:W418Zpvc9d%j_ %ab_"NHz/i8 ^2z),gɖ櫥մ1ܔ _U2z23s se/O<9f>Gmoon]W 8~S{O:pc[m xvO3H_O7Ԟg5';´ջ:;J٠!wtDJ՜(H$V%W"ŧh8gXȹrhK ,br2~gs?r9vE5A0t`Ÿ!//xTT{!HU#WϨB JhӣTQ6'  TcSH'ߛK8p;8⻚h>fbV)GKidKBZr/Pb*PZ,i0`%Wn L@VCߴG-I u~hU**FV12h" A;SezZ~Ȏrs{ g#2we)(7pJ' ~{2 ){̙3a!Y1ฌ^О؟~q"T ^kq<yzD.oc{"MniP%I=3}.8hwEy"Jpi0 y p6mk6RL ((3ǢQԏOOl>ەq MO> Og{>R=Xdbj8啹5!5B35S_I< $x8uHyU31e޶a_e'H^fPG<9p6^fi-Yd*kc-%ABvͫIpm#p>#LFsɵ(@;> V+ UhX"Tpç H˷nA#'ϱsط#mVdm:$KeBnҙ / ؔ)qH:6ALttvLkjd[Cq~L)(7r/^kI?ܬcR)<Tr1KG퀙(T H؝"{1yv4|gOu"I8Dbgp/cbߤwݳ) ZFM]cĠv({J2ugN>~>3D"KdA,i~o5 &Wnwvoh |>,Fւi $ F$so))T 2>ݮ{XTiR {ʛeJT=j&j]l:X-9p1|\%o"L7HG j)7'!U6!i.7 Վ ⶧g&Zҭ;C{'>\\:~U7C ]o4»yRXz2"YǦ`_ycZ$88̙}G%34u8=kv@aổ%|0A6"PAoO%8!/إ1LB1xRP=^CN|ɵ kA򜜃tjAsrڦ"IiV|-Ăぇ* [n0u6ޙ |ƚ@yk;%)sAt*dsfn-`B9:/t $l8\tE^Y|B>_f %߅:p-u#uΘ1֐ 0w 5C$zTk[ز/nP4wM&?% '`n~Mf( fRfв ]пCVllmxf~+P4"= s3hR܃ M?3^Pnͺk pp3Η,;u 0+CLE)>H݀F3G!,Ƿ9pV^P" uF3kh&%'AM'ҕOW-{Y•$%=㉧kּ׊SbqUjlXbJv&j%blN(^ rd~sCmuZp|mĖTө?[*æ[v^J+4wjpLMDkzƐ ̎G1mUoO`7V#dx̥ڢH_dժنJEcU316!EO1֕z'sv刞nG:BI@wHG+<3Uue;TGI57H&|fԑQE ̕$:h66 |jIM3ga6Ǧ E<3pj~=|j_PoQ gbHT: eR12S 7 ᖸ2Xή 7 M{dO(4" cq/bf?F<559Q1PLS:;ɏ7*^56:vh~J:a^Df[ݜFnυxy'ۋ !5AnԀtS9$%^tA :|xIeŊ鈩lvD٘X((\M78ʹk¥AH;8CV* 0.+4 gVj^975#BRbegJdBg?aa57f:8CkXK&.5, rwy1toe3-DA)= O,yТ{VBL4ƳniQj4(Ԏ]6Ip'j@r*#=Rg`M1ILup(uyZcm;eǾuxnx0AUq54e1U>w:ʕ:L4sn[&۵^[@鸝##1znfЉ ⛁3ۇ*%*mOCOm^crJ6st ?{YFJtt{w$?XU<ՏHmTkڹJGe1- iE]XtcG`@%VԎ`zx1@72n8BK:*enq}e[B2.h7^rZ 2ap2η||EHoX#Ǟ!֔puk H Α4%8$"ɵ햻L{FrxþyZMCxOLdհP$"1n46s2MEYG]Ma 3[">;Ph֟ Y`,5 _?926X4sD< q̊P[ PPZGxlX+ho6O*n3P!ԼVdK.'+M|iCj|Fe6zYl^%F]H\0S8-'L ON4ULUe*㌳*~D^L; Xәx]c~BID@Ă alPTk*m9=[h{Jfқ!`2.SmYΖ1-8>[Y0X刌iŇvT}oxDg2a:ΉR#o~}?zY5ٮ3*4.>ZAS&,TBӸ[pi2r,WJcXI:Mɀ70p]~TIiNBr"׳ٝ;ȋJD޽8i;\BU~J~R8fZ'EZTc{M\9 %ȈM -XB^I?D3So=[a s.{~9}ݎ8o|0c P SI7+*bWtdh J3p̩;Fs% ES^NcB?EM`edg/˛[>ĜNF:%pb I#bQޟ֡  -GJ%&Jc.o')t_pkm55-6pEJbmyQ9gVJ|zlDmIš#ab >xmC(He|5;t;&(aƈNBڧG-$swSPE0̷rNDYYL:;Ky\T$J3 Ѷs}.>_d_[`g0c>+X,'2EaFAFd1 kZaT-?pB?]n,i Oy VE}p\ԦC8zޅDuDy`LlwD,?r:n>h㍐V\[nI~17Hq+1qVl;fpf?_%dQT&i9k6^PRri(x)ċkrNv@Ы4`ܬLJAYOCfÄڗ$r5}VĖbO?3SKC1TAI ɭ(J`4 [j7@px)͵[G~h79BJ)A{ A!23o >q3ٯ`CV.".'y'KP,}|Y2Vk5!4T3K?Pvg\я鈑dE{K yDv< Q?v»M/l9 U5M}R{ 1 %w+"=dSAOAAGց=@zU8t˝qa[op]BzaҞ2øt4<ܗp>HKL )CJ<e~ƍ"Êcf~MZIz?Mk@[Dpy䭮@7$Thwl ~ܘ"hp86'-bktbGu1vJe+`)܂s k.ǘi-s#O*d_g&)ߘbFߌDdo rB# &s?L\.'.ozg-j\-|[<$8W r<7X5ł!\Y9 ̝bXtFȎI爬AOC|) ;ƅv [Ke)H1 ѸP *:slC JƹH3ҹ /o&D.Tv3EY JVϯYijעϽ(ox{K/Ri{{ҫ>ay eOhCNx1w TPBX@n7 =BȖMy`޹vقؿ: =u'C' =GF&9dgOsXm5?Dn0FAe/ &9TSrgmj;*z6 +<68ζaMoh.O=k_)$m"n׋>l3OC,]|5qM쓐STB#lwra>蹥|N\*%q՗8˪ƴFd˂s:#'n(*y+X<w]϶!+$I SpBFQrf t?^azi>Rsy+q4&7 Za&%~?c|2I§GV=M%mBQ)2뵞ڹ)n6A;3gtE3>( =Fljs^o /x}9Ge~v@w@/l>iH<M:EeWԳy}."Oo,lNi 2/‘guL!^ȕsKHȫ0]A~|/"th#;JOUH)-/o3a/|96Vn΄U2?D]aJ9:RPK8$$v[G_UƒN p`L^p\o|uX @kɌWhQSh@@Ƒ+QgEҀBt3K (. E+f 1h(A+]p[8E+a a@ G*B5PWL&3{c W6% ~,ݭ7Zw{`/SnJP#]m.n+\C5H $)o ˆ6@}jrޮ{ d=ƥgEjU!y$;\a*rn3ěDS'V_uƅƦB/h;iWv9$gO8NNڻcn^?L`*WK4ݼv띃99G ׯ5&sV6}N?V叀R]o *`d ~tO*H=XA2.2nށk%_}dM5(9ZCciRobS :ѝ@fà ePOQ"MQcTwMoVmZߙeW8x0+\;}#r[D,NCϧr|׽gvxqN`ûɹ~$EqqKt\MvxV Vu~%C`_`M]jUF`^t[qt` ݔ`K긋fOG9sί/7n4 6ʏ'[.V?63\" 7#l ڢ!x;ڀIXx66Lʬp^>MódqIf, WDw!>aI@ ?yeME5⽌NT^oZ= 0Jf躒\-KCX&S?D6`E=] 4NMč\cBk2s(Qy1_mL+DA"/FP#?_û(}+U?a"<.{b*'OU^mqX{!ޤۍIruXEg%3֓%] Me4[L@؀+J:K5Xg.W8v@1^bM z>j LݛD3l̤e꩟YZBAƐUw`h[evӾrdcqDt3nL~-ǝ\Bgك.3oD)\UYS|uK^DR*b> ^7q!ꔋw;>5Q.C$V>҈"NnJUZ)aYRE_ǂw m#N6D49xx n!C<4<^ 6RQިI _,chE3c:8mO۾1\T^IۇN^vaW!y#ص ~(*?0-{酜8Ϯק. .0_fTWگy\Gle'-?4i>̨RG:@kUJNF59ySW[l^G$@qdqZy6L& 9.QVLH} Mڄ*o30*f#.L[n Au ‘-_D:V">]mڅR0)8l}cGjBݗ9d[et"%) N!鈋fb{y-ƃKHig[;FR{/AQ#2wKnW}b{v=qձ-}ްrYx'xndӛ_vꢥlbrbֻMEzg?d9KKRJjvWUxA[q9MSӜʆЗl#X2^~3^rRU#7ȶ VA}B sy-K32xDT=dw4tz;0tZi3/2p}AݦzĐ+'IJBjBhE$3;9$(Ķ; gŊɨ9Rpx(~Js>qDˋI}HR^R_/ˀ BAd'w NuHp/ci 1OyH$h EϬjo !1λ<:F إ TN{Of@YYɏ[|"aׄA2)8kԹ'd%dWx'T#^gAf)͢2'%{IjDT8i±+4e9,nLjs)ę3T]F:>ucns;r7K K=༱ņru`_8+V`%4JOJψ%Gz8(oZNoJnaGy,EГf5 #`GpYPqٴss7Zi1cV׳x1~U ʰ- \3,$,T̬{d>/U229A#|?\V/=;'xP>%_.zeIfΕ{X kBcf֡bG 0q?p|=-"HߓFwP3JU ,F9D!Gj͡HOF_tXno (OTbgb|b׆=fcwS_\Re-B0G~ L]В`pJϻ]e@:סu3drBQV' Lul\W?ĤxnJ Yڼ֎ ~%99@M`չ1AY+;RoZ"Yi ?L=9Ӣ<&.jIo:^f eNQRa\LNR`ID^8ePb:oG6?BU u4GYEObtBR=h"IW4ñffNcQ dvPdQ;Ub&j z湢{C{U/3 AIBHg73-67unQ>mexT|VJoxm]+ ZK6/ v۝Ɩ Ia"txijk΢Tp/Wя}wl GmI \ EII2r0*yD^  _iJ`}d1 ӓ,4$b_U Vmԕs TJ@MX,m'D3CV. B2#=Ue$*9=LI.V;2TuTppy 7YGT,u _TgڟM#I!QA0 n Bsفks B:$Ǩly9wRA¸ }ۨW&{eәzy7Oσ4zAo{7!xͽ lRMwc,zW$!R`!RB jVd@ [8Yvao. q5cZǘia[}yh53_1[>;!on(dW(M*d>+ |Pokcgv-%ڶ3"{@^ 7;EN/ `"#*ކ^[[*U2pV:=mkgD$G_F8k5&(@^V)c YUv 4?~}Ë<, c(m Jȧs>HӼ&3挆+m%5#ˮɲuC,)ѳ67ThEZ+RDc\N]H*֨vXƯo[CiĄӝV=ӵ)[{UG-oDkx_w81N*Ī*wZ:v]H7!kid=z tHD4qZ?n_~Dk>d3<#S<W; y #fdq,JpA0DuQTaQ^[,ָ5L,(%SEKJJoJ&u#mfcAQeq$ 4\8c'1nPҥ7=OM5/翁6RṺq}\4oV+Ieci_+ /_noTPq!A3EAy'2]~/ {&ԷeUC>Qdއp2l^dLw{/sX=Ie4䘅٤% h! H@Th$$Qc-UAz8'zl(ǜI8xJ%]\] #R DfT MAFD!VW'ƒQ!"ܹD6>*ildU"]߰OUaGMn-m}Zn͜Z}UO(C1LG$~yM!KΒ=eUj8MzqkbLNij31Fo4DA2*b 2jYxL2 G`:ANAWL0 -Dnj"Tk5ZAH7imGhH21 [O tEr9a3S OC-nal P? # Ɂycusb۞Rm9 hhq&M,b9~:}u[wjCLҐjrnd!6[z"<ʳ7͆v!4%Z55@ɞY:xJbZI A}ȹW@j&/1<:KZ:?/uN3}O.7-9[;mg`B{Jh`~=qև\/9e7S~$>ik?)Ԙs6 `!]N&aSϨl^_v5h=-X"gK?HW!Oz`/ÓbnK~ \1?fs!o-Q5dD?vhriq-c9?CcNoOSw*yIn']n^=$܉F/R~urIIu xYBJGz=m" U (Uá|YNEkNgh! $-*͉ ?fx9+QSgDC}ͫmܙ@ߒ!8F恷<8f؎ -52cޕɝs="y.AFH M dFX܉OѺ+?yNXn?\+SDrHN kr 10`N蝴u' ն7+Ȇ;J9iљޥj!Mm:<x5!~xon]6\聖zR- o]5(ƅM%Fˈ#-$v(/: og+̛>;S; (law^J%d7Y4@&E!C/s9/nܶ{&٢zrRz@dGJTsJE5]Fc'a?L~9E@]Yu[bOW#"sڧ@)PWLǗ".ܟC3آgmzAgޢ2_} NO|\CzW|3> /Iף9U>]2y 6VOEjS^&F0^쿼R Ʋ.X|%[,T)a4&>0ӂTe1-URۂZfp-.6AM戧յAuTOz<@6 J."{LG|ESsKvu,wQoWdJſ ,kuAcm|בt X0Ϯ tyVL bQ1~.pfD˷Buo7I`4m>)-0[OwI;6,JaUeHzzܹ`ZW I_vQlªqËZ'~X~dTܛSn\[ .*# ND\ (!n5 B`p* Vaf(-WQh3}`\YPuLjZTCJ y`ߥ }t;s!TcsSio%}+NTɺ ocJ„P7~]]ًlꅺ ^JK [{6'MFqtf;4@z5&E_pa ikhu]ʽnr+h zj[( !c9?7ż:KZ}S^~ꎑwh-ْ> 0BЈ6;֥ ?%Un މz6 ( u H1Uw}Y 8_(dmNa/:.sxnu =;:'3F<7UDtϣ=2;Yi ׄPxvvZRwk7jəGEUX $#Iz-rB<%]'*ԝ*kR@k(YAb1w':kTJC A|/bsBa!ǴÝ ih/v~KYpU1} ;PϮMb^ J '58]l4>Sf5[ƈ weĝ@Nrc(g"7҉o̯t9 yOFn#ٷnC6擔gϴ&*nY؂ Mq_0:0l`i9dw-id&!ԬF)m.hJ rkoe{c0~O:WF`e# ܅rD&:_ADhN%&Yi ̂R<D;HA -tɈdˀny:lRkA:S<2%`;`qzx%)S]EH 0O=C'\mqs[&|x8 }]GEyd|..&JګaCb " Aw*J%l6I {$J-O.aWZ5A\ k Dw6 l ҹI٫֟sn*9t#"ͭ2w,#MM"« W_*ٵag̸9e8, [t% _ځBnrb]g/?X(F*2FdHҢ{GAvς\#I\G wX>ql2蔹&cmpf(" < LS$Opߤr%"na֛dҠa٥.vWaq-y% W9q'R wRP*bx`W_mb+kMWY&H3sқI,e\[A[ND%D}$De)X> 팍?t!΁nxD v-{1"p%0`=Q̵/\voWftG/]{ԹhuheZmML7\'ն I6Xma~wTCA5rx_Idܘʡӝ9_jҬ}M`VS؝OR/7%(HdcH+C>"o+  eo2-Vcod si)j\KQ{7lq!z{UyP?1}l@/g&L)(biAq7K+@fD?b׬ n$"f&oW%",쏯KU fgbPB~P){Jq&6n,#3{[sY7fκ-(q(C0uQ2쀺iE" 8eSw4dVL:l}ac'n9lF^;'Q!ٴ Tҫ"45e.H^m7^o$OG-[ BMi/M b}Gi08G;|(âaeؙ3MZ K"oQKooGyy{JZ{@U}j-r8浫1Wm/[`j<6LH{G!“B(~]^vmMҼHVQYf`n\{K/'xG2om"+ *cJE) N6?–򭕌>EOkT=Wuw]w>.U> >m!A Mm8lfaCѬo*vl=8o9"r54^ G1826!`Ryf1iʽZ 穉LQXP6xI+ M#|>:h\ѝMн4"JS;hD-ѢK 7"Wk~3J =N2[P41D8lA G?0tH4~Fb4޼$y=/ ɖ RG|EFp¥5HaIO,fߢ)jXv]-)>; a?nRE`Cȉ*쬧ܧ}Re)sG Jmڑ&cv+綐H,ZW3.PawM%/QO{aKɘ>@uB}ivQv9ZV.]p4z)1O(WD*.C>J*a~qv`ϊt[+>j?(JgKR Z 뫿~ۮlVگF5 yET|.3[(DUIVڡhxqY š"ۖ>" ڜʔ7'#Mg@LH8kJ{4:`ڂH"Ld6KҦɥfu6?J]sJ_QgQuÌPv4"ZM(t,ZZ }GhKY5F)MJ7lE[EBsǢHM9 Յ\ `?)N؅%DW\Džd7~!Pμ7FV.osNy.t!-}xD˨ɷy$7o)1j o_ω|Q̤l4c`Dv\Hs%ְ[YL#;_=-3dvmkVaߪA:W,4XRZ%acWJ@RNoNa-v&w;N,BLw|`_\vj[F"V١ho.Pz! U |P30Bz㙒zr54^ 'u'jyyN)Dž"_g&^% lN )9S-XJ;LDN .J:#M&b$qAK~Ȫ&ZlVFMEBJHAlSau.j٬@0E:.BRoɾ1XILק:E,jS$P+t|.+}AP$-RRBu~.l[9sb):sNIa6'TIy=M<Ը/yz1^&13sPYu%Du{G ܷ.@ub&΄"H](cl8&bղATGҨỤ7=,/tuKlĊ졳prH\~oju ;V$Zͽ@8tڅ$k|2}A a¤f,Y jGΜ3lbAċ2́ P>x hWT9g#Gtp e_> q\^(өjzYL'UYb ߴK]w&p1%̀ɣRϋ[ñ90JRDmALՅ6k{HaC'eE9JO/FI\g8^%DS9k!Ixi vj1߬}A9} p\Y@44'/;@BLNj[fY*? o 5Fy_TBើbb]VZ9k*tGځ`zR^nFϲ_{~}w{s{+M8𓬝3MZx5=~t/6=}.g,sgbkո}Q[*w>lh5! d, S+΄3A`nژX-G;wYL%@Y:Hr `aƔhYfjFW3|X|3A]A/ř} 1s o^wImG8 J0^$].:`آ4erZ`3g١彑+eN n,'wnC>I8I1OoA,bC m=J?o|DC PR"͟/D}xpx!udl€\|Eux/}?}Cw'ǡ\(y (:9ΓPꓐ;O2/8;2F:~bz\)[l 6aIXkRVw?{`.iӖ~t^ʂd(qȭ,؉!gdQvN"7干)`@>nتVɬVQ9T4_:9X?\01xgwP2܍}iU>W8яyP5Lsl[#=2(ž SV0gҪ][üpB5ŗx~8lSEZCCνtC96EHƑ 4T5z:[lcsl' AլѴX‘0ĭ.؅rQgúIhrktڙnJg|Dax4<4ͿhOl5ZS6m9.αE=cn`#MAX|HIQ #ډm4-Ǣj'ߊdVD Cwp\)ݭW\8QwS"/aP]o#i|Id^|wp&=ή=iB񖾝H^fjS wZ#)kvi1#+û+4yk9W^*D0K%O]7>O$a`o*6"#?ij]vt{^QjR~)-jDr=a*Y*.[(I,r`O^RxR>pR0DZ)QxtLivKzIhTU{o.sF_Ҕ7@KܥNDn~9Ek{Ln}9h^LdAyW= &u~ MzcpF@\J*To7ApYi+G>d(zOR}dXQk=ydUѬ aNӎQ®&@?+q`p=Al#ߴ3ZƅE$,56v(Κ"+hqicZf5-Ӷ:;~bLZ`^O*Ak\tceyVo1x~%yP9J:#z/̲bx2q ޚrz\9yA 5oڏ?]>49[:ypHY}m/*2@lNw1d?]q{Hbeųl=wiWl uhlu6aF|364wzCA[.Ā8gʳ({c3KYXYjJkR;馴BN^,*{v퓠v=* f-&zXE 7c_ @*n'iCHD?T@^!Pk|8-oqE53Q}v\> l2ֹs:ˏ]vU]vOTR0h~ w#I0IM< 1u3ygʱhWLjքð kcnB~`X %YBQ4OU P)`L|P{CGȞDcf0O9D(#%& `t\S}h1_Lr>a:L>:SlV)nj;lctޤİu턲*(m%EdWI u!C~KC% 0*Gm`z~NWVfCIïnXUSdTMGe5v& Jϩ:[%y/Y ,ibsf8{8*40Oɘlc1Lduv=;<?HȉX6UY SNk-W64c$ivij͋ZR)[& g~E8L Uf*MYbHh+w_ପЩtQ5CL _,BRЂS_{\쫫glŒ[s,̮hT1"5*]RVgK0z nV+Mq pQ_f%3$g,mq%",hvl]Nŗh؉W a[{(b _nB_2AH@`]>&Ҟ}"XRNFxc5^" ,Ya"7( 7v{-^1[.:5RoJS_̐7T"ݠV[חHT.r]i4Y$&E`LfwH DHcwk/ ]OrMq[K 8+X|cscUENp4'n6r۷45*=M&t+q7y¨O(+IE:Qo1JrF!14&f\Wg]i;i@%_3WY*$oX3}b ?M9&3#wV 15w^!WMAlWa>-3q컻_7Ө57*BftŪ|2QApDVvO;7s,7MK, 1T ;ޥ@%3i7sҔg7ƁxݻJuR!W<Jxf Qw-Ad c)Ǽn婖WӝpCH J-$u&fskEt57Cͩ#syY*=C,]Юi?PźXݯPB\ѵ@2g-|GKË,"ɦ5#XJ%{F6*5qڮzߍVJސ oƹ{q(z@94؇ʇj<>9-b}%g9Z:&$/HK͓O#:Ӷew :cuX5;%@J.^ϥd*eaa{ 0m j.3Řwhܶg5:`\@Z^7;<€9E›!ƷI {%5bn⼷-+%. Wm<*zآk;=6@,F='N/^@[DhyT]SXJ";Rg&"TY)Ji)-'|=VypAfY?F8*L'ظJ?&SOW_%Eҹp L#x'<2\;z>ݎ:SޙWe4#Ƿv&-@Le1J@A2/h?8$[f^'_jR ~T6>dأgL+{x>Mg(X?w$:rDpeV]8VEqjН.QXFMv9] :w#Txm6*b͖ M{E$t\)KM$D^*V]z`T)dg @"E?j qBM}cY$|HS؜v'Z1"G?ۭ9'^҅t DS+gH|bHtLEтZdYߐMw73ӝd"o|]";{آ,3`%O}xV %Я-J7P3\ &UB50U|Lu~jc)+|y k7}O-BiȾUgT7ދiwzc{7GбGRưͮWl:P>x$k}ƴ>!d2CcD XV wF寍Yw&OZ&-n>1 IXYkФܺNV(x.iT[Uw+઼\˓:Yӣ_\鳅ճSEĢIPنd>NI֨&:G@x&ّM;; se:M@Bz߇Q[WBfP.JC턬Å<1HIJ,oCF. Dbǩ2l7q5'׫4Fa2.*;2o7(P;bVeH|, #>dmwzkWmzSi&ŭ \0Jx@h!bʰ02kfĔv#0'jGm@$#F6wDeyįkRxedL= vK!c5{+J~쁜;]^7?zyBZxm< ģ1H!6% >;7zGѣy@yA"jlY=& } UA~uyj ;.`grSx0ΠFQf`EgvW:q5@hBU #,u7HfvŜ-Ϸ99-c{Dp|DJ1A\~>*눀\ҩj<#,a?%@S$w6W>`醘:YHH|]eZЁBuxoU؟9_stHVaJogb2a)VyZjj$l@Q S]B]ju޻ƛxkF+3#hxs4'@4QWvk78Qr|Dܼ=~le!+|eRhMK'D\bb+G;N+KM: o5YXvhqcdE~P{@Nj%dm7օRif4-=P;nh~d4=eTkGq<wDu͉wWX~? ϋ+Q^↠QÒ|8_zH0WƿT쿴ȼ-h>qK]ԙpPe+re9g*X*@!M)hIOi$w1{aa۬E>hoG)@v$/$c=U9q C=dԭjE\ $F^ٟZb鿊A*hkMSSB*f|_RYvh`vFy>G3'0Nem|^ lpj#"F,m~)-MkHR B|0NEr( 8Fzzc@ m8m"ۍ,w%1|Y;@Or-[axҳ4! a'lct?^pD_%d:E).ï4V19ĚjjM+btGSlT!S2۹_,-{^n;)Hftȷ} Y8.|*t毫 ?'r݊)1$e@'Xǫ݁}ָקJxddpixL]R;uhN-Bq]eq+/4*YZ:##pгhK]4ULLhHof LԇL2qtu9V>g#$=vURF(=*x(L6E` ]֬\~|,oɣ{ˍ>TQk+/Q_&6~Qy,(QGېj#d&Q rwr$rT۵d@V`|9^BڣQY{/y^yު ?tvv</ϗ(n;[5KXhl(sYoaB06.XIR"Ό<1}bC~?pp-8PЯJ$Iar=,KʹgGl7FG΅[Լ uQ"C(YN] ~/dD ~z ED)_vfU\y mv%^n+EY#AR^[ \P;EӼ@a8ԦW e9]{@'8ӷZVV@r td_+G^"P&km#fyt0g1l @ֲVZ kkٚ{"ǺImr#f˰) 3bϨK[}C1"3ey@8)6?kࡶ`uQ;rH 󟦢0@OT SɬPuDX5(j1A%vѽkɏnDtj{Nw Ժ. O QW*GbE[9ĎdW&&L %U9@glGҽ%TP_n1T8u` 7Q> OֹVit(|ނc[hһ0oVӱPRά>es߽Fٹ5Bj@VSs-=qAx|hFu52gVf]{zt G%Q\/Js`+ɫl:5tͩ'x4l!NN@ $ԠW3WY;&۲5 njohqҙR}JzI` ͶȻ@EoSȻlȉ@U܈;r s8}Fv5-7 ֚ix:% VuS|ͭưdwI:m'(HWh_KglLڞe={8E$ژ~Dwm! Mz@Ff/K7+PIZpb~.FA$hkצvnx)!rSy@O6cM j>wh!popx0@e)͑.9I^ mH4mA BT%R3>sP38`T7TKV"=dY064{,4+qkI !=1-Jx"=Z Ơ+F;?CӁ5z Lrp~OaVS,Y[3_SR+(@Pa:8fjﰑ:%)Q؟5;x@olBBٓwiku@}"ՄNOg1kאڰF`Ŭ Vw;4?A/ə\Ǖ;&= a'yjU,rˤmCF\LQ>Z0h_)OP ʕTijp͕z,Cx^zx͹_p ,P5X2}(Uh1Q)`"NۉHJMsWv]M { Qr)&ǽEmI΂1ZسɺjI^bQNJ=D1;nf0 K|R·+jс `+{@1|ˋJGӂu]%_N[o mJ@z[By'6R]2|(eWY3@ÈOx;0CyNѻd& $Vԑ2/%F;LۿS~*VD?cV٤BQ>ľm⋺u1JQG@'(bԳx^<>DNo4 gUp$H:};&~uTZ|'6O񏏼c؝6HiI)]()!$*|{|Y& ֣FfV2;͡.e,ȴO;8+Wq7Մq-2hg\ӻNmYt_@`jjn&;@l3c j[ :6 p+8kr.ᣳ$tI0~obRFͱwPndD_61IU#֥  NTxV+ '~@j18[8{e9i o f찍0Tn+sv2I65׃l3 N8sSa^د>I$TI+2%D0nK5TB@mP2(~ [lE]/MÍh@UXh@)ni MU%T{AgUܖ[mxK (]hhYE`B8nqwD!``P WUCնY2 d{-ќ a B)Ra]R"]jYYL #]Z} v04Hw' ݐhm 7D,T8.GѧaSE}U&Go Q)Q"$r%n8n9abhQ߲>XC^gf(ެ%;:!Q Sdv0:>B"Eukӻ Vƒjb- CS?1 ;%zz;4\/yˎ 8Q73PR\sa#E#}o{J FV0 qʴԕt[2^<.Y`ad VHxk#z4)*&W3jx${sAO5gs7#FمX{xG}|XwЈL - \󘝵jNݦ~f{疇 nVv^R͹)!%Z#st$~gUڏIiEω IRfA7yH;wGTˆu%EV5p1x?a{%‡:&rpB܌,D!Q2m"ntw"~=uhdPTy}*aĆ˦\ pDIYҪ#[z^ŋ9Dr jP nlu`q={vkfS/_9h&1sNpd/(RY̵:a&>թ!<퍚r܏(O/mPXLST>PvHvO$e∛hA= GkBC`n@ ֤֥2xb$fђ%ȇP:cZbȝx*TVJ.O8虸@/&L`vRl)=|t"/Y8A 2=Jkx~?3//>f&J-!o1P(ykuXCf]pe'&A6f]PTB&kK1 I6 /谧LO64nB$p!+KGO$'w3Gx/˥QʨWޡ ycT(|lu\h4%`wg<M3|y4}O`~|ssm~dCu=MSD}%m,PU;g]'C}Q9D{|N9_ utmլwY&lPIa N}r l'w 4H?ҝs9;P]wJ ٺn`r,|{KG,N+2BmA}W=q[7|6%E3n;m $l8ìjJZǢd֨*6 Yi-ޙ)9S3/4Do)?MTߊj'7t>`߿tN&sN'nD?4֏l //)cdI&˭HղڻӸ-Tz\)s^.%NI_O*,V$T䃎^i7Љܤn|,x*gz&%뒇ظ 5dr}K!u#:Dt0t/Y-qh,cwۣN4,3>-Dz!8pl2z;(-#ell冰6Bn^@leס|W1R碿2]Xjk[AvVX< ,SI7"ׁL0\|, l'닌rJ7ئYM,sgw! JEr"%腵y~c 1 cd3+Ȼݥteo'9E֟bEs֝n_YݤA6Zچ0Fn ZVzɄb)7;-145!9lqhs֛5$ͯh2~]% uiv 7ۡU5}񞣫qTNYFCU$ܿh">|Չ/\N?Kҗ]ľUfIM2$mÆ vWPA<ʨ8&{gɃ3Dm jHpS)b綑e  }Tɒvr|P[odG*%l&Kj %D9o1DLepxk~ KTS @آ|Ρ"%%GO:b> 8ٞ8):RQ!&P 5P6b%G,~Q @E%{:K*!&+`_d M@,%'V5HZ4AG`1f2:sZ&`A7` ^Ky.gR%?䇀ssܦJ&V ,%w .B-`SFA  ~?‣fM03:RTng}fp3wwҎqQ|h9We 2[uDZqEojX4 VP = 81BσL{N:yj=L#q\1y|,ҞwD _vZ4bM6Utġ& gs=ӨXr*"AU]˾ٮ& w|sLAO.&:GmyrZ(:N4qI gnVO*|5 ]9@N:AhXή[zFv~@>~ilQf`\W4[jbs ߎٽVy6&iy:EPvM0$BpK&:6cEcNxOyug T]uAnW r~C- bb oEl-5fj]XvTt@`V!ЏM ɁCK獑Nhcz'^/n[!"}3{-Bhk5Gيa|EiS=5@6l,. 2|$)pGH.e[&}Fد7*N@<4ua<&OL $#Phþ jFwͰfQwՁF/,ҋZy|(nj[$'p|G_^F} ,Yfc+lC_0 u렃}_X;@ȴ,{R"*v6H=C^ e$An8T:%7^[҃^'WF#p{UEa#YGz!3 ͜,§{;o !16 `i q:m~PǛlF睉aMSJGǒʹ.\hŁmL>i㳪zDgD{yoDg\.vucL'D\{Mh[ʩ;qV͟ v|K)1(.1g'Kb=s蒞B':{AsA}ݮZcw)ɖp 0m>Lw&½{/s(∳] d!e=,IZcs#b"FBrrΣw`k/' "*W+"؄2U;z{i\ ^? \@cJwx^zDp˝ѭG M 9CDk2cX([ǯɐttS ~*,}3K c ۻQMx^EnO' AQF" >8*#| N0R⻶ ѩܣc{)¾-QHn=ac OSҠ>iP:UJtv?7a޺4O/`$lz/l(5|784Sۥp5sM>K ]jO\jKۡ47K}BcD"ld0+d1nG:&nH;I?HFڦtŔDU57!&ٸχKI)\7c~:L߰qS%Wm+cG|9gzNu$f*cW^ i>p;uq]'0΋eTs ݉We'ը92Hʥ62Ћ`=e i!?[c\ @fŠs:$a1tqVr'l¤Y{d`t6dxڣG,hD6jX?2u?!!S F.bso*d3.kNxyߠdbQ;3LSNmvsT[yٗ]u<`Y( 59hPYedBZ6N: &HH8 oǓth&Hą/h7h?T\# c"c6 =TNd8ڡ\kN`8p/p0Qb\v()a޾Lq6QL9D?e騸w=1Q`Szo=:s?jBa/T_ȊI0 \Gb &f/px _4$Sȷ"k2.P0#a@3l˪Q-_,EtӒ6sݗDҕ&8xL<(09)pdq7+%sܴmd;ИJT^`6(@ɱ= ={+)'2䈢N!s4u!ޓUqF z_cU]4ݲ_\Dm%ZcҎ{d 9G'y0bqO`:\vʕ=љVK^#痝ڟ%HрP.-5[7Up<׷N\/eT{"Ino 'la ٙ27㽡';4_I^b_/_v-KnX/3 gabz%oZP{Y zGa1?|KFPur 4qHjsw"KYyšw4 +]?2̆\LF5r/R%>O=o0OK'K0-_s/FL]3g j–`zDN S l'%f({B+ONV6|)|8&P{k#as75lsl܄LL!`Zzb#H욋0_&U3^¹5"ˎ}Dcdz_Aq@%h9p\p/l r|ɺRHzQ!1IcD&c⬭ S9R\te{-vi(#%ûDqyYՐ@7~_irzꝸ~`iݢp~tq%o ռ! j)f ۛNYαuOuj$V=ϩ91{-t6,?YmRw *\ismE9NĨSԤ ǹ;H܋>\dr(:5҉z_.)n8Ld>]o*;x7;R"C;%v=s89/Y#cÕ(8c4'| , Y+>IMDɧYu"]Q õXh7e44{ڝǽTzF|`YÚil eGJrAE7\V*Ir c*`瑛=R8/D^|Dd*q<@-9·V|luzTkd3^)ݥzYL.(BOR4ר!p̭OXp6BWxAI޻2&'sP)==hWk//w>M+mALCp2Zdz"zy]yUϿ/$=*)*A:x!ɺiSu'^??LI63/[פLp2oOKUxp "2h9 {[_ b0eT->pƷbr]Į|I5IRWbͰt2AfB;Pual\I@MG,P:p) aQ1bfak>fQ{aisAo ɦy#Y>D96 m'_6>k<=:sF$ʜ화|ƥQ3Riz2>G1'͏])V B6!W S&5 ^Vf#ABqİN%Ultvr͑gIgjI׶ٮ%C& CQ7 J\T6 Z;]=Ԇs\˾ZҌ~~#"h>_/N"ignSA([|J*& @P|Q2ud8>waZ0{7fYZضE+yo]ir~t哛d~|͋͊xn^(ΙtGơUX˨R!GH[7_ׂ(!Åؾ- VZ`9HOsyZ$[m%` d+DZ i t+/;vqlOBR-"@k`4Sf̻\V]yAeqrYchjTjZXkR T4m4T^%zd E5B]./ ~?/S-$.%4oL@@:mbpJm;d䉽aRO.#d'8U)P!G/R Llx1XȐ`u+6uŠq[^ScRSv滩߂1*p!hm]|!tF! @/FNry jߡuZP "{X x` ݣ]E>A'uyJT4>HA_H5r ╦lԋjMÙ.PHO 2PA1Fh@.DͺHԩqsjߢg< ހ D+#^ C6zߪWç %7St֑ϡR@a7ѭ? RD8uFǥ;hk"RfQNrzfmjtns69Qa/(o!}GF~M>'ӳaKO&1υ8١FXDEh$#IɃq{|A"?|<w/)VM,DtH x4ȗ(GҭFJ#ĥSbk m')i3P& A>rKŤT_nYzOgF 9p%՝Xᤆ2~|# ŎTro٫ qOxor6 g^0Aa|Yefp퐖A=bPuk[,ٯe&3="<C=z. NM=G[I6C6]R.sZ.9q .e\.[lmLb8+%qA.ǽmbUJm'=Fo@ 9lCW`&opݱ:0*[#pU4V"G^3 ƞ?h|)BFKz:ѽIƤw@ɣ= pJ-DGx}LtVڡ`G O1@֌:Zy6^9Mbtv}tr]gH/ľu0KÜJ uShcr0i7ObzM^EF"ekxxu:Wº$#S*U,W?yKSjd:1 Zp9EHM.}Nz+ހ +aF2@gsqGÅ""1L??;׸.@y+ ૧pb\׍boۘ "0`hf:6-zg{z[=qՅB6O 4mw%1=2iL.LDP` *5E 8D72?԰/psՓ7nkg<~i|xndyD/t?M'?vp˘_O: 0 ݯu;ʠD 'f`\GגrjFe&a.aTKF}Rb<+B~8;ogHE!2N.d:9ΤlSNd{xTdI-G)%L{dh?)y|f?- @xs{Ό=FXy9L..yYUl3 M5> +% Y,Ւ:LYnɁ.?iTODH I3B"ayoV9u`ȠԷZO*mOLI^q!kcNT Zl͠.H-}\>يsnWﮯRaG[2Hg_HY&fCgo}#չQ2.ߡrlTy!Q_Aw%+/ YoMzAO0EeoQz8] vm1:p研&BxMMB|d'B} m9ubgةވe Ă۝#k_:з> =e0RJmt+c;Tro?\8'bܪX"D`nΗzL{+R|x[Kkt˸; V Wc _,{ŢOj#7dTg.y ̔s9y߀P3xB=}LcI9sC0o*en hOH^ebE%j'ZBg-0?VOL ]t3`KF[jioϧ['_t\S5ԑX|i.hۡ.m(+j LG}ha}EJc=YMZi+q3I|+ [Vpgac؏åP.3 bN{tz,x ttXIo`)Ûj$ItK4ܨG㡵 MVGx2 b[T̍$J=ME68)&DB #`gG3aB١#{@#"C[CuiGu^J %:Zbh+CWEk0}mн>A82U*aʌc5ٱD(:kpE'k{uWYc.P "Jt$Ț1dTx<9i+16p;dY?"QPܭxD! q'Pnż J(eR3cWL aC+QE pa^,넠\XgcHϩj@|:.}@;SzteÔnqXrr;wqo+LcUZ ؇[^;2^[۟F"&K'TVr2Dc5 " l@rCyw`9joJǔKr ? '3c-ISe`QirA{yWM9a (s8,ǺYLuu%Ef,D-L2yI>F;Pon>w3S_4G0ѧ{ʴԈx w[e®\Ɔ[ﳄ/A쳛J_r[|"qfwrDUmEzۥQTAPSҨOy7 6vSkQѫX,*z%ePJV\སCz䩏:dOyXIh yQGFBxF9I-Abہ_A 9+R hQw *@L{dׯ#Ӟ݋D;PoVz<Se/Ic?-_&xh'S3_^v`gU"I^:mF:)cj𹮒\o(L(dpwhyAwtiJ^x6*އ.QM~:_4)~?H^~'jy[*9TYT^k8Nbc# 9ж G'{T L8(xvxl6$ʹ8oۛPd0.#vvو9igAm=YvWxbhaxeϺܯ9B~XV{ :NENU _SB1UU Sha@U}0t3kJ$q%>:ZG0`6Xu \gĉ&+t@ S  ]"S$ N 9O"<9"ݴ%]o )Zyu~E`d_*mjq]_| )W7[}OXz`x/bف|{Ֆ%|Џ\?ٙ'SE|=`o'M/@1*+<;mcklď}6A`8gsO;񡕤T^;JC3C㵭r2V6( sd[ a] 6)AYI.!x$f R2DÐ%#=Y6u7fD `!_Ty/y}r<$oPǜ!.ryjOև<^˲%0 jY;`X'MG޷D'U8X?W^׾w7Yx~Ĝ3Hq&лA07{:Nʕ jԦk3gCϬ>b@1n9.H<&ѫnĕ ʍAai] L.mx0AYg"9Lc+b?eHw?"ۅ1k?eq %tS)qc; Cwx'kwyhv_c|PpkFi軩j=4۔]Rho̡XNp;*gIX{b%`GةX|Q~bVZ 0i_z䱃 9hS==_uZa 4-\ve8G ,|mޱ'->TɄ?}5u+a}L ˻'0asv~et?/l5[FrN?V~!A'Ӝ_pf\p XځFf+!I\IyomЮR4W%K/;B!WnÌqJ#CmqF@kO, Aonm̔wiudhz,nd1 e^u-` 8BX-cK"jIBpf̰"T@]߾pDȁݹ֊7e/ƙg|*jz:).Vvɱ9J8p-9\ tԦWz%MC~_skoL Ӓtݶ^(r}21hn9\PT[#=<M$L%%!8wQӏHF0P? /B%$IUrU6#kHڋ?qizkx%~$Lq ?N tdX.8~DXg%C=?v=br] S ê'B2,-'(~v-=|c?@]Bw$_a }Cuuibjč;?S~=J z$?dd'U=$2pۊqCY;q]&=ienf?Y~Mzźn|2JGS2FvUH h+*OLIf H?B#{I,b+87Oori%lE9tyRhh5ouIvAVv`,'?QEn;5aMqHWs=N?How3ʹF>5F>0H09.jI:AW φM\zW'K*xօ޲IV݁;]*+3Yg"mCfmL=I<#-0;6Ak2ǪsqteDڊu;Jܬ99˟[S;MޑdTȄҙU@e6g aYذu2'ϟh`cyPf͓ 5ТO8}wΞsؖNxVt҉s{Ob\BgB^oiK;rBRћ|5Aвw@m 2ɒ^1y:k5(4s),.S5׹݆;)^Znۂα޿ Cܺl]$YNTqڟ,5*4P-wzvG5]^0yܺ:\]_sӡQG$N{m뿪D-a4,Z(Z 5/[ Ys 9̠{-}\"|.D'C& RWѕcy}KXP~.W0˺M=Q˯;l[UIa _H=2lCx@5u20L[P[IJh,"wHWP<:kx(. svN#T'.!jt𰂚)8s3xUh/b'cM ' E {ޙk0xJzMfGf/?Vz®cC!OGxsfehtJ-΃yr*8c>mnbw~ @ F n s€.l`a"2;:bQtm0]ڿHH(*+]"SXI>Lܙ[i;pL)suukhkCķ絣$IVڑlYC6+U-qرW{/9S) jdDc/$9+I7-z^ $&Me5dfq,D%]dhxD9@ <`%<Ic4' zVi:oU6qVZpfX'kJYM^ͽ`_ـ,UT&!_kqd$7r)܅S׭wlPJiؽB!YdSu﵆lNMC;E0Д&0}F?5 힩?zP,Fx͑hax?}Ytj w\]):C_4cE<$@hŴ?>@]CkSg6ɆJ*OB&AUZx^FѦG{yhq 3͇5U w\=~!ӧR@+OH-Fk s1C T|<]zuLkXb6SlHJh@>jHY$zтwXongy/j.Sj &6>kEu9qw&*p3}';nai-VgM "XNJ`GLqrN#Y%w_) g3%mΕ{e TA%B,ax,Q:g__B7Dt5iѠC̼F pVx9OJ/[k=h;4`_pQ_O|:^uWr)yw LoAC&M8.ˋ!aoEYvdS L:&%0 bK\~[ B -ò$Q"LR[}.{5 -0,};:cMֵ0?bZj{Ȅ 48p5kü 19ד%6C̽qz*V:A.@ E~_dFhW3~Pf!]X=ZMk39㦭k2v6)j{oO }DOA&)c5QLkV}ΑE}sW6ldHm͖:[k*Aaq|J mˋ\} WrP|tek#պNNliQܷa]IMT?=% E%~ai!I=~̌=yyHs'PAw %>2)=MJfu 6- $zX hxox?eatZpD%ج;@C;FOR"b{{T/'<הC|Մd`?~KS$x2sSQs '`ectS$~`N^&65~yJC@0mq0nYYWbv+;HeʝΫ*[!?I'F4HzLOIwW8$;5w0jtxr}wD/cO,4X_Κi:Qذy8;l("e[ٗIk3 V>fhG'֗uP{=\dHI5=a$#$+(&_Xgbu@_Lgp"YkNihLB8Fb*Hq0DPZMb^nv8aL  [ IFچi~R5҆o^utvT\ H|fxv!h)xde*{_F_ D O-t-/jv{ȳuO^" .Z/”iXY[`x#X?\;|6 t%v#P.߆wNZۡx&˧|јUf$ #pL2y\٨|{1xRtbU0}zw<~Y]a f=UtIUA`0x$AljOM?9ܬ&½A.'wӂIv_v7-kǐ>.iz~, R=%XsHux&;4mc!znҦ&y>jcpl=Ny$ӗ jsbW00殱0'6 '%wStU WQ:/h{ghYpeڟꔁ֓E8.l]LPEQ%Kȴެi9򡊓 !MxYV*غ[!a&u,4ɮg :Z2Jc1ȨD%ZJ@AљZ|j&LJ7IŖ-?wɩoڦ;A!] `ڃHi36lpFK4%jTDbtW_llقa-v*6^q>,̯UrhͬY?'"<@/uepBy OLc 1r#C$+8֋JCQMɝ*Sec)Ͽ ο-:8LXF=% } hegtpkTwG0oD&ʨ"kuģeo.cω#\i džP%Zz⎢ 0NU*\UzZtd.RwYzL ,?G}|O&P#b1N (P4m@缾Q'C|MYU8V! Ev$qk΁0~j4fwZdJH p(=6Qvpґ&0]Bf ǸRe'M#Q&?VsH#s:.鵒#)=Gw Uml?6=jF'ܼ EȠt#]]E˱LÅ'Z|p EGa+وo:}Kݾm2x;'doKh+@.c&(A"wi?kMp& 97pτ9 >v ǥg]#70~.ke@gb`1ZR> {*qo ِ62&p/W _59VSok@1qn-TS3H ޾XM?Ďa@]j%/Ix=`K(vfr^ 7,zLsW K>Ȃ*to{POx4 2[_Sؿ: IJOzQ2*㏊?$3j:D'8wgbaOħhm#N媔]mRf1aS+pD`beEW{%g'gʇ\=z "z./~l0V`g#rTw&ޡL1ai-ܠپ-"EG}MN *GM³ULDj7p=GO>E1ek'mUD*siCQxj$^'Xũ?RX-kEstYOMֹW}+(4fcڒ%P!uR@Ղ{&ݰVY,I>V>Q7=UP+yI CNGxAઉ]Qrlm<<1 l)yMWM8G2Qg C<#ت"Q,^Ռza:˙=z.]1JLG)9 ?i%ƳH[ԑkbFS֓\tt!fcyY[o*9 Kb7n!OSF)|P;p(oH?F7-+cni A,o_)WŪd]eP}KݺB|C|xCXf=II%Z .;[s+(6 Z)5 ̗N3+ØD1CRE{ (?+̨4Op RvV6wT˧Я->/4hI7M^JccLG ' /Uzews>qF'!hNtR=.$Q6G(r;'H싇s'al\Í"=  5z[K]YT)!xI ͗u x ]! !eZT@3ǿW.4"^ 8￑,@7EIзPWQ2"a$+ۑpFFXZ&t~I+Q J\N#d8SB^aI wn4f FojgD K+0g HjJˆqp0Jdgq4B+7EXZBS*I ~l. 2|O4$Uip#~Wgo]+dҝTuf*(wzD:-F1W \ ljȉ_[~Ug#V^O-Ux"^P)M%z6ű2vLf{8cji'!7P@br-j/aRco@ JTUbj- zWqshs0p!TѸXL,ytaS) >i7jOp`Ϗеw)6wt8CflC]=jOd2fD,l Jj}a'P&`OF[W]-a$?NhKBg̨F̖ 7p=%zH+ n\=,mlx\l,x_w٬UZLGkDX3(DDlz0QW[` :v(6~FU{( u%3g,.a xQVX8#Cd7 ʊd#᰽2Ə3[I\SS %hY8h] a5[+B1Ͷj!0dAڲWZ'* 4AbT@.zA֢'ɞ4lt|l%B"r*suz-@/i(rӕQ2\ M60EgX~F &xzKTNUȀ4.}Jc6WCн A_0^~&T 80#]]POF?vj+ 6 ud+N@MBhA2ps֦aDZd+p V",nƧ/~D³F`_|3^⿂/}?AFjM-za[;#̏s%qPʖuJEA)ű'YU8a􍁮4xR< $~1?oX|>8ژ6 ˍ>>R8r =uo8R[y8WQ=*{@r=߬6߫ԑJi@ i!v!ß8kx_B)(ѭIZ؎dUJͨ[G{eUW?f B J<´j5җ>^W;AԘ8lIzU%.X%x S=j,]/?@=rZ|(XB"ve ㈐jПc':Ukm^ B˔ZzoQ.dN0[z,pp V$T:sIl\@ҐzԚ^4ԧ}*O&+e b (7Fx k0JӌKʗ?O4(d_KW(\:\CbF0bl:t*ժ|wp=2xj s8?0i̛-??D错gY/ ǐ oP׳+;yN6.?Q`Y{1$PjUָ#J?8o%=.KbZG?-ctߐ#)ӣQJEQ(\QF/؎[sWx1&/ 0(oŘ#ϫQ5cH*=bѕz瞁Qu$Z5sN)/{r"l!RXБMCo؇%:{HفbI4zh&v;غϔ;ܦ3z h)615mXC{>LbK k׾ވ0_ Mlg(j<- d#ѵ&n^`X )ڷgIZ"csO+b0\>ٕmEY]_L^ %b:(W X)FFn"l5F/)f f`Tax(z($h&h}j"B.W7{ POȔ "p5ݲ1H_2&_;afY9L~ (5dGk-MY Ӂ:AcdAMf\H53ʯ JgFΆNj~ OucRQ!#@ð-) Suѵݒ2,&i-=6+bf d D< Șa~u k2PTHC`:k nhL;|ejheZ!Rm+0f|Y嗃Kgz$ u̘%@!j!5X/Q UI3L5srE#s 8"kL]oP?JEυf3Y鱌=!mG)) fb\*)N&of p W ls4]J`VAV4XAk,#7jH R&h:gQ4(;~Cmg3C TLiMv@FX*s_-H/|:`Yyn+O6vq1f*o,E SkksMrkYcuҚA(wHaTeNJY{ PޠVnkNHt7yu n tğkLK !,Dq,ؾlqCb]ګ[Ct"Bt>| ^>{Tzy]ɔB,/Zάҋa`)43lgd8K\Ԛ^l=F-#fSRJfB7._ F,_VKOǍ/՚ΰzL*DG}-J+3+Z"PoW={C Y@HĤTR0qFv MwAiy˦_v  m'daڛ< эt+R~v8rΤ =Wb%)[nue//}6NJpݔˬ Zwϓz la+P;cʷ ;ؿPHBH3ch:'1,ij#Q; N~W-3 |a\*.L\cLd Zu3㶹g <} $"jn(Wp߂Qoˣ ݳ̇Oʴ[GWP Mt祲L\J$zʬRjCgfJ]nK(pfu})>Rst5 DRt?ݠw2(B  JƳŋɉaQ+D~'qeH?c+I<ܫ F'eqК ΜVraLO`djX[+Ru9R|z pfظ8c1G#kBMBzjcmZB'0L.͘A/yn=4ͧ<")WI9i ]*-i$U0*]动=kp"7Hi!(+OKxhoJRv""HҸV 9]dՄ.AUE^m7DPu}mTԎ??r%Uڪ; rAyevlv@v- Mp3XɇWX1*=gqI/\;mH؞BvaЍ`خ1)$j?I ac|.]Ǭ]M_fLƼZ8jxw't9y-o,SWTH s; Y@ի=&\HXĎʐl }ٖe:O?Tk$ͧ;&Td-x}qwSI*`6GhŚ{s.3 \ EnP@;ic@J(V)tY䀆; Ҏ됹L HpCNrj?HF8s34C=χIkeDL׵v):!z^] {k-Y!V&K +Kn΀FȬ[dƿ ~Jqa: ǀGYKP5v{(/7\Bx=ۙP_U>or:{"Zso).WN=ŁgO|F tiSb1,йZMm@KF.E"Ju1>Q?}Wy|-TAVSWɜQ#9j.vn]K*wJȺ; 1C > +Gv:čq3'e*53[^,0`kk_7銗q#g -aKv5 ķ \Ty`n,z+.`3w[ (9I8˟-⁃)7(XUHD!7İ0Cj[GQ0Br|/?i{ 凉z]8LKcBSUb;8.BY^.]rɭo` dSk|!)^lY5!Ҩ/&jǗ<ټ\Ƽ'!ʹRhߜ[ܤ{VCe48icaZ=qdͼLKw6+Sψ{)\-toH3Uwv=T>-Tbs\!*H=b憽S7 7U[/%џ4edd=&arq3Y.?2,u95"iBֺ桅q0Ոjn6oh!ıS.JKҴ挖zQgjQm*'wG`jWYO뤑o Rؖ-7Զ 4Rw{lK<;ՙס-A1mUkU˭>Go]=ING1(񑑎Viڮ8w,W #:~ZI~aS!;- ,9:Rl]9hXxqW T^5lJ#SuGPQK _eWAAQ`v dUƾ^e .J-P#>w /oI"MCk$֜_9$+"R#q2BBڦgjD\ `/+q.b4W; $RҦqClaV _i86pSgJ6Bh(3ѰGH|@˽[RlAzDhЌ#ҧq/ e,f#ܞW;6ډ7^K sH2sv]0cDbjix qqnl:cD}(A}%!'\rdhhy{b"'GΈ%}q&x+AtTf þBK"ibEwdvNFE .Tm`FU p| /H8?b~Ң ?9JSٞ"~+ǛDR/]?MRzuNR{p}9_JNoPQ$'%h@AeMZ{X޸|KQ +ۅ?xMp?#yk |*\V1j ǭG9y鷼|05Ln\-4<4V]ܘ16$f=$ꀘg/<ě. >fdHՉ%ǓpG ˍSF`iܮE iH\Po+/I"3#򴆰Ur[$zIѹ`Z] zڂsNf'=鲺 K-9g-6u>DUTPQς.PəkY.o O_T7PdmbFﰰ+֪]P8o0r." 3i81͹za<|rY%?{ps/M(B!\BSwEJEfx3ʈ 2jg2Mt .&6UTr&|GvE.Ke|r!9S޾x*~CxM{ToH6ԽYR %";iUjLH_azb-Dz{"UųX_ϖvQW\7jի~V $?aq:ጄɛB;p3[#-k|N lO `U`(n,AL'! fP/Ƹ((g5!,M@Җ2HG8)JS}AwG` I*OB~zԸ'hHJ!e# UE7,UU ' OrVlp>[{!=}3R_5 P*t&!@dVu#XfJ2\"pVGir{uE-qC8Ȭ>iZʣBCN]qYMOj+B-],xI z=EWnBpKh'> s9ފWDyAiaׄ0eU/| LmsQqI>9-/DV>ދޟi'RYG[^ W귤 uWo翙5r;хF?ԣ: Ҵ]p3#xL +|ec^lwcΆYhI$R!L 8Ծ>1 b_ Y+!iKpOWib4lA]d7Eo62ME4zTTbIs#]vnZxRӜ\di!W+{jQ$֋PSV}`VDanckKG3n-=ՠIhL,Tb6ǖRy6oZ2ma{Cd+:iȰ}&CjRi小pў#:Y}IGaEt}>RVʼmzo3-1zc v[ӆjV` #˽1N_Ï`6RgJMlVI8ٽΩ\u4'(Fm +ͦ"U%`Kݓ%ŝ}6H \yg!0k ѵ;[KnHrCDyE΢lMs=hBU-SFV`V%i.Roސ6 N`嘩;p&+Mi y3O8fjȤ0$Mqjk| tIDCBB7[XrɶDU:$1LNdboզN,zɳzL]pR #$%GK+CD4_cj@='2E~?)$97 rN)x@&l@-Zef>c XY1tJn+Qbg8L9wN0b#d`B~$[ձOI{<8wy9u0UaN1qO+'~(Y RV7)DHQ #m> sy2U%fz!.¹iτ(y넶~QPLO9سJkohfc<22Ē[`Cyu V59PTR{F+k  3{ b\~>i (J˵?7uH3+PHyWrXu3)9lSx:E54..~4Mޙ>;+!/_tΠNW 0bTSg \f$i$-n! zF:6<}k>l 2+qk~+5vR1>+vIUF 1S6'M:׬h'Ԥ[7[%4D7rcIu޽7twVhY@b1 )U]Y?}<Es^|hFu&b^}3ʨC 7,=gXC!.݋F@ Na3wjB"&k̄!- iKMmV(⫗v$O ϺCE,m?zǕw%c ea-]d\Ir_^#Qt82Iİ0)Sy z?:$f^` [NgDs.Ӕg_9\g39pH"uET4S]W2yښa K\>>a1ʙ:OǕPv-*T7s`ЂPC9ΏJVU{| C-;f6Xi[QZ*Z F `D"jԁ:FVh:NVC:&~RfnAt3"9 gEn#:)y}x0+O,ʪ"1|,@Xv苘Ěo>MqtS~ߟF*"âj=PA34]R}CQf/6fd ӟA3K4c*ÏO|dl۰UHMz`a33زOh1F|񎱤KCDvF7;,JVMUrIe,2ַIz^cߍ_FtQCcu֠.o2?ƶ&\5:DdV+g`CC7ܱ(6RAϖ(w/OeʿĿ<"O"!!>:Z:Iož#mQV:RL%=n~Az0s^6Hc. Nvx:>Ez&/`HLQ;|>heU"bۜN,hfvA68|"O*fҢn 2 "?yv|`)traoj522n>qm2+oAzw ,S\G ˎ2 Xh !.i (&O]g73z#MTfpq>:'cNbxW ߅NR E4/YtmvmʎfȸCf<߻%x)M d;ΘuL/xZqŚE|PJodֱfBw;t0\ ;qɱk4b|!†k7AN+}Pk]5lD.+VlK H͈2bsPDh0=TDU%B@'9&{aq&7q t~s`5Kq['XY=#:J(~IKVxrnk.. @ذgCE;Gy( [3D̺>)A bo*m?i\&f3VmS :^Wp_Ic0dy!G_4l!uJCkW7_ChQ~p8 F#k&9~E`q}c?h w?FjäYGhG@͋gɇjLpXBǍ<)ͼ&}APbՏqr\22&)Fرy`( >BsǸDOhvʰ߫=4*\~Bm5Wmr)8(]vQsju9m +O(XDxL^?AT ŸFGQ=R%H36r!h aχT)*}$ŋVlF6 +p%\c_ /5(7}K!p&ӧH mSsyHTH7H:_vRq0Uzd9-ѮAw;)'rM?QAqg8y>S iP1E051ٗی.K3mK%<`A C,T[#E/ `P{xҖvY`yqֻƂPXp'՞ (jEv5 51mpB\#2)pԧY5oFF_p{6ocuDAŗXwj̻o1|E2dDDA^^Cmߑ)q}a{)3x]{9.e@?NY$CxB] qb7g \dwxʏ+zo47% &ZA 9.q!?H;W+E,ZTlͪWimJ }V=L.h~#uߢo S'X3bE/֝[~LA` /\Rg:sV)l.& 7lt|8jܟ;-E Qa1 Ũy#k̩[uuJ J~5һi\BKP5+dήu,Fp x-" w33]flcgxޖղ/SOŒJ v!3GBA()@AHu6} ̼c=HemF>/sF'K]k[-R!VԐ0IXLJpVrRkTVҗ=&n_΢#7bȓr4- QЇǻhʋ[%KZ!6v*m% wlp K["ĨI=}݊0JbcYh ^p;e@0m.DW# nR6%?PrVNvTn=@,.tUASgR7ZLT9r-6 $kijV0ݶKXr=: =A@~#&ʫog@9Eթ{%lﵛ3ֺ#md_/ ~KLcJ&;|a#XfV*+4c^@&C膃 vu> Mp@ [ s] Z qW]a0{:ʼOaM/W3T弬$2JmO ;4"oS^Wus{l3UeJn =LJȭC;(c,S m NU AS{ QV*YHM:Mo8}t/GtS+X &-mY36#4F /w Ճdd=ܪQ4Kб C ŀv}i%9wD3@cE.B^\pњv>mC>\B&W@oM.sӥ,N8u(+:guHf;t2N&P_1alm2@z#lYhOig =Ө[_Vy xǤn?۩۶/KJ5ۥf`՘:3wݐ$8!1(4{evb 戶z{!vS31YYLHzb]KUIl=A:27F#k\Hu}ɆeBGN?AV(uc"Z4歊9:$~Xtv:0[V]D`PB[ 2ws׵Fy@Jt@i g4klx~Nb5Ec}6DɘΫ$BQ[KO:o7玴ƴ)qIRҘ>UOT!$nV!-uW.,h3"Fܴ8Hs:+CpǺ]˻= u[W)bGAU)<[ 鋏Z'F jk&cfp;L7 pUل/PȊJs(x2^U-W4|M`ۚzjux$PvpJe鴲 ‘8儞!:W F{NC;M1JBđIJ -"/V,PsOmمës)h0PD$)Ǎ=6>q.:N$2rjhmVplѳCn#Q5F BRqG Ri1C~,=seg2l$hE!_BGSr%bJ/Z픐Bsm 8J2Wb^ u{U7)xdWb2;)9ByieȑTJ"©ϰ% ^[ZbǧJn&u f8t fBpjE"sGfԈ_\3~ (?͆ +=t*H񹦌H'yr 'RQ^:uR08`ye/'BQK^-"O#i+T~i? s&6;Ym=H%eyolw*|lj;;r!s]x̨b0bdy<3sD[.-\Mq6K/0g?XcȎ [݇&)J{ԅ\j(/>~)$eEzS$ci*k,MEk ~ }b2fn2%?h%T]LB_95sf`e[:t]eN62;EݜMbӑ/>2ҁd-Eے+ܞq<瘩N;S(CC釠^5Ԗn PD|I1b󸩊@rle>u1g){[s՛lN^ A˽ۭ_<3=Vd;a[׸[\&A1 ᇑ 8@R*H*%Ao-|c,ijECF9@kc7@sfxK0ZKw3lOz/U?nelN&KqZ{Bl)6[!h^zhSܵ mb\ u~Gp_Rzk@KmɲBo^KawzwXQr]HARzɛy EDN鋓<-M3B0oZN= O(V<)ӂ;:9~/%+|q?]CAyrvhEg̓N;?f0O-jB*i^9QzyȨ$ RzRB0섕c(갏Es6-mWivX^~RL%륑ڽ>;aƁq,o K#iYk*^;M~e ɫڮJ[T62פ;tjG0 JF'q6Yt^Wh_E2?)&%t-UFC0k8wbbBBYfr$_`B%Τ(͗!dBzsh5jur"5HV4g$ :>^#4_x7}|Ϙw $nY{ɑݧ7Mɞ'5~ya^1nÞA_@{c~T,\3OQ\,}h\!ʧ;dvBE[Z;b\f_&z -bƜG8{Af'./ KϤN;f]_6!Z Vƫ23|,4nb1(?27F}ԕRC>ꡤ5>h?!2gIMt] {2/жPԖ~OzF[}<ø<JIj>-&5a+9nbNf:^ȡV -#Vzp݄>2ɑk{ّ/jh;a$I a_0'83rţtMuAFLhcw( NWrfQ@a&kٛy(nNz᰸Fk4w b'dub,mK0>%v5Ɖvp[(m-ER(G|l e/Cr H4O+72 m#{Q b NQ':0Cg!R6mk(يb6Z)[ eHmJl$V6Vm*ef`*.:ÙU@(tJGZz$Ŝ!8^Q]#cF^ֻl)*/1sթ& Rl!ܜCFL . ͌fo, *ުDi_ < t9(LCe~S6y}i#8Ǟ7+L]Bni$4u*OzUwr$yK8}z(ҕ(;@uHN"ⷉP|P 3BpXRRTHe\/Xb6~>{$6 Fj*rŞ4d1űڜٸ; dPE']'o:tꪼ}Bݘw\Ћ1KAB'H\yfՀמB+K7Y\(da/;I0Bajh[&wiIwDiF13Sͺ536_ H+XQ2L.sW?Z(JYM)4¶2q~s~ fVW%{>W4BV$nc<O&thO]M:IWy+O_kĀ ݳ|sz&5Onẗf3Okk\ob-U#.;0Oi; U9sнmR#'%$.1P?d>TсRBˬLCجw; VH}GۦbeMj m:|nPJ/`mcmv#gEJ?tX &89Rɯ*U;'ܿWjhTD0:Mz;C>IyL\-*#X(J=LH3 \ h5,],R;3hC#3Ԟ2vzb uN$IwF6RT:GkIO-'P?ބtC|~M,ccNz4z+vޔIM(n.sbs8k-{\m,%TvW7W[Ƒc÷z%ѿ\=Cfr"tI=Al]c 5'ܚ6-߂41~UB]8Ng5VL}~T/*I24UC=J19Of20`!;S5,]:JM&OZQ+̨#+;CH.#]3B&<| Q"MO1 y Xn*rx| Q4 U\BCqNl:'`e,ew_@ˉޝ6=_PS!}H2t 8.n_]}aZ JE9+iǞ~}LOBK &r;|=$%?LMH H@|1iX.7qfz]㦰|u |ǽ,xf<@KG܇dJ񌍉OʪNh2:\},jMd:Ra=.-2po-*bmJUXHI*$[,OrM·K@7c4% !>dc)k״Egi&rx)舸ೈLkY #JJj?C\EbZ1FȦaX1BYoKOiٓm-I.ʛ3&cIFHd_Ёa䏛6z/B$:dTc%ń.|8j5*y~~ffjeO Lo- [@T&Mj̩a#uqF1U26sVP7;mIzF^Q(V] Ihb'ov>{oj5$(1o˧1Ґ&FF5Ӓ{ [[]&:Wי_$6Jĥ˄csDelj9_,K=m:.8(^F&I˼xtÆԎ8pX ˢVb죎!Pߩ؊; KÊtݏfCˮP~ `D/C- e04q 8aW^z_9(B͡mV;jo  P|dcu*&j7PSqg4EI0V:2=vz1{ 7HWk2P?>hxꍶȑ$ g$p&sI+&ёxOmvjÛ/(;e JPe_PDJ/yi_Ƞ++OGtЋ$C_cCr .4񴂮og'lڅ|01ltUU6>7}/McC>{ȩ ƶlꥶ"S/+i^/pY$gF!9  Y@Ûf(J*(>˱BmξjzFNN쫸i hC&Sfn 9ƀbC2\:|1o>f̙ؐc%PS\s6{G`])HAҵ$ZA:X;Y?=tvmݏ7D/\=9TL7֘ p3EȕϧJqA%#=Ta$$]fnzq kauo$+RN~;86@m,xSĆ7uӈ\s)?wX%W_䌕3tF}T_, vž:-%)F!2!=)?:[WoMƈ[ʘ#H3HPO7 e`3Kk z⺿vVMRshV1ØK7V1+7?%DZqZq&ҧFEk!.#Q [Gg,) (dF Ot+: [4AR n\2 !)^bS썱6/;Yu81pRr(R gp7N”[ w|W]u( Xpjo"7%XrNѼ4qiHuJ`ٲ[LGr5٨Png{7yZ7I4lGSP;]pZ9h;w ힹ e96VMM[an(;9o UPqb]blֹq^ >5Z5)5Ei'؅~ӷ3[0OQߗ0fU;^4FWQ5_3tG㺢rrp QQܕhKJɪyYNCԦH0'T^:AizKD\`Ǎ rSiI29S&\|a*8 vKCgYcq?Pe \g϶9:r.?JA4H9rMI?4BrA6N^>2Z6^:rz6n2Mu*b AyYˆrM YNB(R/A*Eދߔڄ* HN`W=  </%;!0ηLeKvkC4G3&nY\dHTTt#5!bhnNFj ڨB0Iu(vOf}@ZEvn8%<(7؅k9wP4P@ [:7 Đ_DN@V]j/1'&lwS1Dvç@Wn8kMoTjGI ]X%1~4v>͚@ep(PIM1<ᬦ !H`ͩS1|O!ck?]`Ϭ 14+Dٿ9"qōǖ1pCbv+N }^Ꮢ@lE.7wO^]o.X d.u3I}n]Ć>YnDdrS#<"VUEڂ6INO>R)29wR͏E9}~*Uly 7_.oc4Nm .[^J ^'4}GnO m*Ee5ؽWpҋ^T0Y6@/4{$6ͽmR:jE ,i]H /\~ EsQ'r@s#7Rܕw7p |D`SXvO3w| $"T1j$q`ЅON#aҁIGFC(A_&ԝvM593Q<M0BW'+i_PBt(}WA݈ 4s+!S)ThBH!+ѣ }4,Ltb Kn(-u0I„wboMh խߨ Qw繝b]vTkD(p7(!dI.$6DǧS{q˴7Ұ[S'? j6vD%!&J7"'`٬CEbuK\Ҭ_),NNJ6]/Od^yH?vV;m 60m>EeƦ}oeVm ͊'گfsM5CΚjN :qL"%G,ѝZZS5s7ЀQp1V9~l?j,;O -_SCL;8PM~!aBYA SRʀY1/\kR:|:k"i YMWXիegymLSLșY71?2T{;Wr03\L@=(dH4 LaM栐a!=aqCAT}tb]ugOح=)z}e貒NFiTs)>wo9nB0mp,CH 0tkFT!:~.5PZ'yw6YM][\YSXKT^jl\8%*,B{  Pj6^4c M'~*Mѵla}yDXp]́K4LyIӛ]ʎrꎺԼYOlP0 Sr34`=_2hEB#Ea /(7kD5:_E}9ƭw"MظFr:/ IfqXV"f@BnL w=pd)yA ^HstFp'JP&IչYxrpw+ϤX9=Eu\0$yI)6ayǢs۔Jia vΚڣ~"lM%AI',3<ۃnN@J fF!?jUgt/N8? ;*J$)9cq`QYNPR<p):y|ѯ\O?Eq%9 E&&@LB1Ȱb⾆ǗIU1ACz=Bl`)&p0[mܪ~+Q3ӡ={ eQ &tZ6$2yڔ4ih]uc\y3 ~XpizZΝu,JUenܱ")I35IhMHUbP\dL@5'CN@T=*@KO@dž6{}R1 mGBM H썓}a4K@ҹeLsg%&ι;GŧBB0nB? tg,mЄibFbqY.#4ŰzZb>$VKI1\i!턐iJ~`jܭk<_}ЫfZ׋[5u] #.UWmTPATT3zwf F˛ ײnecBkDG&0DvS*X bS`U6(XyYIA; %v {Iz~zں]x7wAVmPxbcw` Kd~1tl+YDD=F@9gF.ΐhXFFٌN-Avnf1A(p|dfZa?BOf<5H7:} o $̬;1.mcGm1m/1<'PQmv"3mBbX\׾z2TW2TJ ivvuY8(1|b@)pNsKϣ4\~_N/砹~$+LXW`Úy Jl`pSxme,xĎ".Br qg=Q2Lu/[n'i (\D.QA^^4IT0zBqdȘ!qz75Hy9J3fva{B!E@e\! 'r\f9mq#{=cJmU8N,b@XӡL><_1o.(bt]~f]~"FqOɂǀy>%ѷ3h(\@>lo}蝔?azEqnxk'ِD+l;QU1vu$՟4\ZM%g-%5Z\f[;h#V% nG_(WA׊I @=x/z$kAG*dXOAkR_L%|J7 |7~;PXG;7Irq kz_"DQ V}Cө~/>10 IE>`cY$ ]Y9h}e]B۴LȕI8G{ ZsA:#Q1OkWwb97EB XQa:hUsɠ/:`)0-ꈵC6rŔ?ݎ?d_Ke×ʊ /gg1^XdpW g}%ܶm8_tk0pSIPpղe +<8՚]0YQ\xQ!ygW4q$QƁb~0XQNa'W!?@{' rxw ANww,\ȚF wuB.`%.3ʢpҰOx#A{O&L,P:,هs\& 7 lI0SY`LRJy&d2zUཌ\/FO?x<Me{y\&vu߿u`e|X-49 NC)@BoTUP0Hjt<^3AI$-Ӗ_M&!T]e-@tQOi aFY6_GIqliF- f=@OCA"] M3q=vCo, xO{#jّC%*]6 zG 6idmT { [@=x,!Xp԰٪.PNܠ(*lCªo: +IB$q`^4gG/KA:@֫AyFK ښZMN`S=J;0&_wp so%dg}j`{]\KؔEyW[paWDr;u;n_6|;Z,xDɮGTy׊2F:x^.&3p}5fv/;fXA{'myR4 RK,gC 7z L T.CVur'P@W:Q*xf OdhIIG0sS"GNaj(&WjBuMB$ `=%=@gMئȅM>ItO4@UzD ([Oғ=jdCzv5Rs3"*r~)%r3؉t=_7)k~ ^5LDQ۳e|נF8"/դcVO`M 7r|[2w^nm:x>s1o37#IR>a6NK+l4jUyV1`zյ૲[\+=5w(_s:Y:HMNuMN}?mBi ^h*/$gˇzU#+z /0<2x~xu1! 7d F59,ى862_]\žA\V4AXݔhUK͋{t H5;;ʩl".DsR>0A6bYi&[>!jAs>n$QnfFzQ\Cw\Tv={*?ئPEqC(ȍLE}˜kKHd!$u&Қ\Q^u9}b0uE{ef/8LP"%S}8Y8 !/Uu6RtYR-Zp:n.<෋L#yhrFH 1ֿX0R=̀Ce`VgmFOo=0`ËU7#EaYm;~=~X3C/Wc<&˺a2MKn6~yTKy#Ic(,mQ4ej0ũCz:7K FI@oQZi2.}`nn.B9c׮CxI} y4K u'؁(2Y< ~_>!Xs`x0վgsڠ@G朽.m"E!_<3-Tہg@DؑݮIfVϵq ^ў.VsfqTPxx_dztP0W_C7X[!@#6Z7"^{@VR!5q½9CшTr6 0~Z NN`4Xhs!`LJ-F,mvjf dki0<˗١[A{JCR6c`-Xc5bj`CY@ in Z{cdCŨlL{Z Y\i?T螒YoPp#ٕ͋N¥f)>ܵA">Ӗ, -/P3#Vk^rV%3-̈{{|lHO;*'N*r‹\dQPN=H9!v>OmIr< dois;:n3]BtKFq AFD_ E". EI,#D1<!Le yO/pz܁nF׸yC2)ǁK #顈Rn|!S7-B@ށv#=f~:5$  yBj [Xtt7s[JgcFfk.1Vvub#,sJrۼi5X@^\"i]<މ^oDWӄ1b|ʒtV%OZa j1E^-V#}Vrf#5,~Ba(g/.VS:=_w5!ŐkvSȗ6!9S>T0 Q><+`퉪bGhV/f4W$'^gFLסQDΡN'=.^̣.[*'*yp=n Yjf#?*W~˘fBŸH\nLڠ'# 91J iToC%$na<\|:it f74N#ZCT9 +Rm<ʝW֢US<)HSt ό4nT3}}oXJd/M.=ZGr͒hg0= =B8d ?,Pl6`*1hJ{ǒ/)a7 "N9f[V s/SɂwM$Xizx;3U,zBԄ G^-t'S?يS/"C(Z}q*/(-Tβ^^ͤWRWYD)~M?[RÿA@aZIgJ7I&82c}\XG47LC24YmE,cB/]RQsiaM.QN[jXG񷇾{O?Lv6KwayJ)x\Il D*I=l>\5Sd36@UeL f|C뒔x-lG%7rMQ55#AjL dfZ`s<#/%ǟ^z3)#; GwXmfr͡ /p(!>2,E!;I?*{ӾDqOxGT3;sn~$GRe圀o*4M(ےs9E#Dߪ̄pbmώ-6!Qf+MrLp#=[ l rܩkFmnWh·u]_4+b.3j*tI#/ROqgKrpPq7sBQjl֑8(3,f8ckDU+4-lT$ة;DKaͳbsNYpˣeЂY_&n ?,{[{>aeתjWJgj;jö2Zmbn;h{.f1A_ S2¼Y>!ScC DtO -5BCZ^eB*PC2A':82PGkcݸϑr4m(2朳8͜Kn#̮ J9xN&}n|kyѿSDzlJ-rp.P1f'H޼/HWg=m!Rk?vhvl/#`~A5AQc ]۰/Im,kTv. P"mD,ޙ3_Z3¥"86v@xy `uW۵,IL"f?T)(6ۓ(Es0qotȤuQL']>lv(#Zdk -xGb$#Z?>yټdt3m|ʆ`'Q#>@4_rpYjB\-"e ՀbW+A4zM7pBC;UM*6Nl~oC×}Azm+V2Av>b rN{ }^͸&.r׮I @Y9ә5,,1*0ǂˀsMRԆe;2Ԝ(fKQsH ]kYSn]5bX3*1Ϋ;lD]3Z߃.~pwF=]?c#YߴnM!n( [<ևiM>ʡ.w)jH)\'Ae9\ .C.,@b-ׇ;%- ㈱F(*txAtST=%3Zv EQ\韕c Yڂ?'=kOuP1E%Y;6$ 2֏ao T92^B`̥B9ɉU6o,msRX8:7TC݊åZ;Nʝ4XD"Fا5-s [D"@)%6g(p熰".OZ$,s!#4hJ.bܣj F<=Bsq%uxGőȁrԾk1-hwtWSv{( DunDU{hjV YPTiռg[=q{M~oɄL#]oi)j!YM 6|eŏ;m <ƤB4>Z2롈 Ju=hdj(8ԓRԦ,/A'7 `nty+y r՛3"`'f\) 9,ΧI22J8͔%|ճ8hAX0`=^HB/IKF "b}Y<2k3H)wP}T&& 0lzٍm/B=GngW?wxG/#О4=dqK(X@6c`dvdm2ظgbpZYOg#ƶϘ2@?^\ E+^;X"Iƭ/w' itF DuB1\ 4b ab)r4͆b|`X`6&CuYD/TLoVxaCZ*Hʠ5 `% ^ l|b]aמ cL+@1=+g gRAoϬ^xvȺn+M&۸M!ǩE,XwLջgE.)(tOsR`NWmB\ tdH#9f5 .rlP@7Ij,=6"Yog(T~/󒎶Ӝ9D6$Q5p(0>w%:{UT* lKQu,t',';]v+Ke ~4y%VL%Xh=Ky 6:;9^Ҹ"e(4 ?^MTAiW<{}EK kXKz-9~!@>1> XHL]̏'B!m(x/ҁ|Q~y&zUK@UYtx1 ֲPk걿#: Cuv&#c $koY"B ÝB,Xk$kU?mkoPgfDIpm[) kHdfl9H*цI 3^H)stXH\T%+I;+?W$ZRBs$s@ع(A7_< aV %tk,;FƋ+r8 Y̩1#H:to"y2|He?Hӻ'GzA ry42?ѸE$:Q[<è2"""0[# PQ"ݡavC[v^N'Z4oAnX }`S`|R81jG7:ՅG 4;Lk26AgKk' yXH@?iGPc!'}[ڄ`2'MYid 0je ('݁*XUAW$!Z ʄ[_8ryGLe1EVFJD|;HV!ħ ;a)gv1rYYTn]%)5J魳\|7,z{/djJ*ВAYo\țnj@ A؋0Kո1ǢKG_`I9+\?nt(A[k1o@pX̛*`sݎ+N]θoڳ 4SWGXqr BWk&\qTVʣ ܛhB%Qr[6zYנK\n{eDp~ E^PvJZYά}#>^A4`Gh?8sבXGjl?VqOY1e!T燬|CP3?"5onn'D)%`wXJdМaƙm/=L2L_cBO@hS Sm"q瀤iѶB]M1\VQ,!'/.Q[I6;1;iS1JOBfu t{iX*IUxV.V]Jb7".Ȼ \SB5EAYTr+){0Wm@݃R]jLO o¨3.aw 2Rpօ%*_aOb'MtdDS٠~ wνC$$pr=p AL^z>=|ٌY\Ev7'0Q} _tB:Bs }麪\7$ǠLbΥ,Ò?_m@n5kZ{AR&;- w|MjGj(ȦLhmNq yVI%O uy *V67L&FDg~PUEg_}<Wü* V7pPH V"e9U%R{S%Dz0*4 RF/Eܥ 8;/#H5YQ&gmOŪ8~ru6/&<(mk딽Wd*S4 uZ^i"d}q?(q: BB[WiĒm| bccG1*~c(T"L^J,m^%R:2D([[BwHFe%ӳ"FeɘQ,], &:V(VMIaʽf ]D Fcp) R_WmImaw+b=s像|2 eK,OwA;N{9F_×'C4ҵ.YuA:@Au&s i܋{O*{'[D{ܮ !ըfNSnPW?=(_X$Ԅ \&_If:XVuc)v-G<:(=c`>zݍJJ+, >fFnM#6GT|ͪjDUDrB_6@'4``ba=׈dO\SD"}% 1Gg#fB95SG&!* Loٟ3(iLB-ZֆR96$wy(#$Wy>4-17r cwYdВ>j"PVgHyduff,Ƿla&NÂМQP:¡Ƴ@'^,#ZyG^1,EYN2s5 %EuG47WVfQ%p7!ڶvTl^U} 'pfrUIWʙ%$N؇k+q˄_`=i'͕smDwP=6 _k#J й[.Vx)ќx eD7&8}ݤTW"˃i v|DP#8^t'bIr' yW!Hl|}L:zw(R|2Ӽ`kA7jHM xt@q:<9_6Xu0zY\ >@UCs0A>[~tZ!泳ەyd@q#B6I0u)ߵg9oE[?$kVg@&HҒz(2ů}wt]LԣME1VVΡ'k8Ka{1vac(=Dqfklغū*Ӝތշ:Q@YrsYs:Nĉjn}QU9w,c45g@K0n-`ey‡D~1 0 %R]b-ֲ` B:γ0Q+rH Arr|]JkTy\Zċ{rFCdcJE5!a{y#Ǚ+^d(Lz}4fwVϨZiK ;!ǧ0^$5=ؠ ~0{8)m>W[:mFm|39vd ~%Y_PC^rlt[(H2û6I5XA뇍:e-fCRㅁx`cfL$踶tZ}zXj0.>F-e-iT9S{iWϭK -_sZiq$+Q4q1Z@yT^&t}ll%(=5׆W?q[5βJ \᷽ xe@h e!-=.ZrTtDgjЮ WӖm˝ RkA)@ Bျ_ ?ąg/`My5CQꅠ0BS%UTғ g'K֨$"3l-#pIZ1`:i8"R@nYL^ œ].8ևW ;Փ㮄YIQVQMY?i-glcs[%(2/bu?H.stModg{20+mQ)C"Lar"[W+ҋ4hiQKh֪ŊM%0RS0BV3/z%Dҙ!(sWexagѸ2ṪׂRT͛3pV`&!'֓~\4B I9쮌nzw{1OCzu q:sCn8J|dzJt沯,?L]K :~Ǿ1/~5N_H ͱ6_FЃBޗwB0P:j{@~zst-Z (c/5f,4?'t}B[< Kr&ե 3F~$a (#a\%"9Y'Ѣy㿁tGoq"ʩi(MW '8%'8Ё ^t9OeQu•<橌\8!MDz̧]e?rMU*w[c:ܼ%D@az=ou(Fcĉ̋X5h:Pl=3l{bW*v0ڞڎ&~@wcuyb&@8~1&:٫SE,7|6F^ ˀ-sp饹KtW: aNO'ӞNmj'g+A(37;ԏCTV5;)YnWN-6D3NZD+] BX(j2} w.Lu@rcԖXP_eq`>6= J6U\,4?jѫr?Uz=e7gNgNG8@Ë`N9mʦarrSpt"Lv9#7 osnrI= n:P i%a :s- ֣υNQo";d/M{>A}c6~Zu sv"?LxI ;A- Bxi|%,q|>T0άSw V+_.XLz "Zn;eVP/wrh?@%SGֆGWy>fjeA+uuR]✝&_ӤX*WeD`d _tym_Seɛ <;̷󉄒D R1RoX>= I>~lU[}|!kB -Oq!h"rb', r 1]3YҰ7dTV5;~JC M[U:*/.V&r`CpGUyTCUbznؤPFP$0WGcrz4pńi#5ߡ,S6"s7IN]ve$QIP sؿ=pEM撓hhm!_#)ߒ 5Q0i|)q\ q2ZuHkS6ѫ辛XWP~t+@(:J.YX% C+ж*"odt}DY=܁kJ[X)v\^o9&`-jO]"*+MO%5%.74dh, 0 %wF@3rTv| i\S<͜whUZpA&^laNl޴%k[%>Z^FOaA6ؑidn{ QEĒ1W(Pj8fcZER{iQX+caUd T\ҋ\B^%=J1l I ~l\L>p.LQ>YoԔw6|qj_$-N "$I#1_\3IIOe{@J3?w`FN];rfj0%6W# -o~lźx8-S@->p8D/oY-66 a}W!<->3kGy>@ͧbԪ<+g+j{=1B۱癷fVKQ٩-<96 |hr^90+k)ϖf~ hz8sFAf{Ԁu #7Nap\^I$%vZbIB09f ?:C^-,57D/4-*@L0WW9 8q3nDƌoQu|{ 2:cMH7d]%oM>d1j$'\Gvk"ߺC|9d:M[`@ IYXАU4؜'sש4ר9,.˻0𿾚v}1Q(X v,R7M4(tdd8Q UiH-821(Q' aPB-, M\z۬?_mWHb u9QAqϥ(-\ąMV˝H{:d#d'@[懚tI|L0cNN*K|'Pp?F_Dǜ oW*!qLݗ\cp3O-:^D>r/N8z kc8(ڠzߡg EU6ݭ^tu LNki!#j J65|#CW7fb%4 XS9T`:1R逽^ƏqpQ/euÂ2/FerV#&"wkK{Lq?{7H?0XhFh U8&KA2eXJ?sݓxn.<(eYUV+mKeUPNc M?a yGjkrPL=d^qEz Ǐl~x|A P! L~"ƆˣߑDL&ԌD2uR k\VФg"ԹfQ 11ڢjr̨OX{Ws~l5] IwX9l͗X-6;7GjM̉<STw7}qVqȪ\os1!JyY.u`uyU*12ti{2*RT8!­Ò,xșy_ꔔ9h"^cthzpСd#P./3 zq$N9O~Wo(VVW9s?6 Q~3BGPriDDтuNξcmQWVс18=.HLt}H-pv0/k*߸-Er}:iXCQNr4}>W&ߣDL]u(FaRMYRgy?wl55Q%#;[?C8%E3|V8V &4~5mK LX3<,9b&o+Eg*ƚ-m0 -,F'h{|Sqr1 M/T ^vĨLx]o~d<)>_;u. o.9տKAa9~v QQ\LYTRO㶋AAAZ `@PbZ.DvJˁyc)P#V禔CvL@-G[L{g M͇g#·!dKVM edA㪉]c |5Ǒ.v3"ĐKb xB~ aDN[Ky Jg/*O+xJj`A`y1-Z u tH,kXz0-)=rӪ'>ntY׾b/tF쐖Y4X0v4Y ?<`o.}4~9~'mUv qdǿ=e|4W [\b Jg`H?)Z"wY(iCns !$.d]'}1dBg 3YŘyS[Mg+K0tAnG,Y3&MZzc[N]C"g_s /~`.dfnkb'zsTJ6/VzĨ|TOa@MWĶ'H̀'(yq2T[ >Lrccii.rȄK'( {Ô;d~xjZ2wW7n3msYe$Td٥𤋮 'pL6 Yf+{UͩI6O%tZ;A3%@.fNΥmr}QH(ڠ|Β h[ZDrhAwK1 zݧ²e㞮,ѰMC7@@TeZJ+Mo옄(8kWD,(B!l%'^ueF}fVyu)P8=`t4!Mד܁p7? R*"!-sn8(/K̖̓<&xdaRD0`/߹>6ع?A&t<mnPiԴ HAosfFܖ zӻ,w6k)k|r}`c/ʧŌ9h|~eZT EY B+OP= oIj X< :{0ȇ[i/HN"L;0*L`{ihjDsM905 &֔o\ڰQ̕vÙnO vQ+1BjA(-砷m;4M0H 6pbc8x7޴p^<@3PGf\^lEͷ96w(bĻ,)øv%DaU͎:o 2K-=GF9 ܆c 6/1SOu ֧~xȘ8f}`V{6ڈ,FCpdfrL>huCM!u2hؑɧ6)X@e01zr 5$< 5C^*ϹT~}c] ƭF?']{‡yzC2 lI ,"Hg hΕ*}=cԳIv=aoLc?w֣cL *yxu)_?k8aD.Rdd\B #_aBPM,j]F珐Pk*653 ߵz5"l"ӸjJ܈)4umSk׋@wW8idfi{h6*g3C˸]+cxGt7)+e6ycr:u|>IRuD'ќLⱸbmaZI چ>{w}5#|$yGϓܳCg7O'Hsm8E͵6e*4Bpn:05%ȐBQC,2 X֞Z_N$~Eb8hSҊ"A׷:^qpj窫>HY|> |i1}natoQLb_.F$uJ%^.ΑijUCis5/]Jʐ>/7q"sAk%W>`U7p,I\1R6!['WxeC#ʪ{RѮŘ ~hr%B"_ffw6NF]70nc.wπB1c,6=jM3GUItbE/}O=7 ~]GiڹԤ'hSZ9>B_NҊN/Ztnr) qji/74WU^˙܄I4a!R*.lQ)ˣ 9'_ӟ6(a],IQd?{L Xi){z_4Un9c0.mdW:uJ?q䰁r qUR/d (v3XWzUХ ,U h)NIb&S3@!s '/C$ce݆%FWexygvht;`m߶/@1۰ޣ;dZ܎Ǯ0~u5Y|vY\dKv bC*}9<~iȦ8(nA#aǹza~^044_X`&ty~h7bл+Jrs7'm㜿'-!L*\ =-1k4*u*J2x |ڃR>LY9bj:+_VK3ε5^D:n2fc{kթl~/wwg32s9>TQn .8 l\Z3hC- vŤ$9<2yD)5E^H.lEKN6 |OsrD;G%/?܌wo |sdOap0~ "w/x!05R?y*1nf玻8}qk+SĊ| :.q0$bF{6h/p%<06uX1EsD\*n]ȹwfctB>5"BЅ BT,;-8oV¡ mBlbuIdr~jS~AfBA&Ux `OϏ<~2WO[M7` x53x*Yѵy\ºHօn1#m BGγ{%EoAٶ󠽭Jtsf @ SZ1{iO5=L*LZ3Rs}2׭cT+s[zF-~z1Z 2̷Ͳ/?Zt|GvCӥ iM|=Vy>Iʪ);Fw "(Sc;?zhOTw@*nx;zS)F?nwNA w3R.eB'kzM-TuEiƲaJV"FR 4> GpSc2ܬEl7s68֖V{w:cc  Ve<|S2XDp)76'h[L.OrPʦ%9խ!7P>8nEj&h5Ԇm&Ӝ_ِir{-Vܩ!Ij)~&%L9;:wvN+v>Tѻ{RK-I)n%SaWǣT/Cw[+ 9Alv[CWNwL`UDŽcJE t3tr<~gI+H`*A475o &6{%C ;>$b_GӺne+n;>S(bܦRڼj6ovrzs&I"\ E?ceJ"B{/1uk^LkL/AJvDm7M\ol$XW=6k sˀR%&eۺ=o^Ҍ.^Fb>Q ERuNkʆjx&vZMT f [;o3 *@Gk;=x^!>,j wg_z6|& eIdq\;G(#_jWMH@mɵ%1x,pf4ضv E/NƑЍ`mv!mPw'aq( p|DyDpmV}&:B#L8RF ㍎CtqSah$QivQ6Lw)gއ1wWx?]4?bGZ?zI7hi8Ļ[[XG '(єf58@7 e _bD2w wtN.}~ [Ɉ*; }uv,.ZŋA)bJ\*%w$E&a,E ׬@*IW/5OYޥ2ǃa'Ջl5tT9a{O1Ëג z˹|ӄ X8GVf}+ߝuI㙟nu4;a0.C](Uӥ-IỏafAwVG}1IWL%U⇡|ʽ{ >MB X9i:l}GjW^bػJcw~ R^PBo\*m[NQ5kyV#LU J"tْ-&BAJ-fM? ;$Oy?l%"x ҀfrmCB:Qۿ˜kQs6Wg;@7 irog`ž7 URoL\ZeA:2ϩ4iĜ#͞kiNc6w1fn2YSzҽ48_ 8XMY XDK7I >1 jUAbUk6Վ/Lcy**BoK[?VM8,ֺDn2yGRxb_Tgv񾥝;nW hhfOOi:(xK8j.khBAGC DXi" ( \K#pub9SڋIX5⫙_)fe;Мv*F[gD}oB~LK# QP4F "LV#f=L|~jl%Z6nMƤC ùfnjYq\m5my6E}mUzgo"m0҅f^]BCC&@X 8<7}B56seZ HX j}!ӟsZ42Rw`}V`cLuM-9)uoԻ5]0oܱ;vzm!˕?9JU[ob<B2(!wvWb?X.amOU,^~W64O5W\kbeЋtL1F:{:iA/mt^'!(~e/).Js*>ºղDl ;.kgm) X~~g|V@C]zGΤ F ~4  %dy*r Au 00 Qep^ 6QQ*v~^=I`e,D'>!Vrsk{>]BȍK<JDm# B?[#iƍW-!x]hŶ}99;8$-=^͚Ct>@@ûs~8@ n/iMkzβ0gj]'ۏl?9Y3M\l{ WD[g^G4bv 槭0 t֢ 2Cȑ ܋:3r&Shoe}aZ%ۀ̗ s<3rK!a$\zyX(n>$"<_X=R\U&76-1APi'E#kkžyQ5,_* jMy lݕ-|/޷<AqO[."p= իhKZ1íuFQmszz0-g,9fȝi:!G|wTaZT#u{˴m[+qh @۷<#;wSU`[8zm*Q F\O_ Ɏh !+ Sw pkh!<)BYG\'uߣȐŪ1}'va7n)oax|1`nn*@@,[:Ήk JmXdd˦6SlLv}P[Ab孺u/~c92KnNgu.+{t^xe +&shSջzx~ts wEsGĂB5j13_u'GzoZֺ߱ s>1%-w3!xr_).cɲuql Q^a})KϱE̡5my?Z¾] 5yR¹k4NY,А%PU{{EzRGŊ⸎/d>jX*{Jycg$5b- 1Ȋs&O=s7ˎX+: Nsab8많 ,:)!t Hy0/  vOΓ6˒DPɴ FMgK3>,<5).\vHhLJXr4 &>d˒06p b sA1ot^E-4#]OS(#[%RUYP{sXNYf+8V{{cf9t;YWP@ Th9govyx^62+Lj fN%OYba DoL"z1t EfA6=l_ac%yd T]$b^@56$&9TR߃A8o|g٩d#MS{+&_gP]g/`>C$1.3VRě1j1m{tOWtf'K䆔$1&:),%*U[g78%I͜γbWF-x\_scȏ.ITA%?7|>!J8tsdTDitj/ ޑjt1X]!jjߴA"мGxĞ_ =6JpG+ge\;Jώ|WYl_c:,IGbRYrnl1fHM՞[Iii3,qmnD㱷ig tu߾AJE@CaI lİ\/7Ҏ?}+޳RSRAm:nR52@a]490_%'FI?-|dՊ7$$e25 s_ԑx 9,Te CҪQزvb]1փDzkȘY 6u)sI3k;ˈtR*)=ZBUrY:˻frUm4=ik$ܳ= [囕eYN2C֘*6y/sIr%Nt\e]Bk`q׏E)d rS0dPT3C`a;v>Jf.Aϖs^8i6mN;9ͮxKY4R8qDdz7R8xG66+o3" I|kjHes񲨼%1!+PE+c`]Czg}ϙeu4b yM1d k=1oQcQE7еPItO>̫߬Z0XiLX2T+>NƕM~6`5>^w3WTC29?w}S!>rPcW&pӂ<|EY|h[Pd< ~.sO}؋Rʳ"D{`?٭hV-zxxI^kF4cpbaJ-XVII`KS䣺.A`&=`5=a]}TQ>~)1rЄ/"l/$8nwudo*TW $~O:8:h$0Z EV1}qx\gh>'| #8j/Ѵs_چH9:MDL>u ZbdR75)=8Eoֻ p &_o`gl<5;Tpx?F^|xk1Zs)/_] Ȅ .[)RTVFmhS_[_ M%Y zg$`,HlCBUT3(I|_`ǴʲPôTjaBMޡ(f7e WO³(XƿȐ0Q }tr:R1pTgΫv1"9-QmFЈXl9p)2z8 mƃty(49b*kM:XB9qQz XPfdKiw^ zm=/ %NLs@K5+ǿZ1G#ll$.?ۆҭNut8޼5?fnC{uFU d͸j`7 R&9ZW|Σ7uh>b%l3u*-ߚ['KQ_(-P; ٬~t9SHx9kLF2˨${CP<~\װl%_d+!2&_9LA؉j G`mBw+8?159 @>aLF) 3AO~$Ar$~Ы#]u?`|=f?yHܰDc(4su5pI*<4xi7{=9L7)&V%j\'0ZZD%Wд|LoZzo}=um"ĢN:9aR;Ç Y`5(3R4+!AWR5$ b͟ ^Zl!5l[T".lS d,G4{ Ch`E)v zIS>F"zWI9԰qt8~_2D >$Rabu4N8LPFi>hH_ {Oe%a83=rP2YUk#?\{\s?uߛ߳Ex"Y͝bG/zV !_.QpjExu#}Ϣl"U\ C2d=\9㶴Q]ڨW c>-mR5MtB4WܩPX"xQQ85t,d#zk]qb:7Z`51ĕԄ7PT]y+(DhI{ I;hdҌdIB+4X{4BihN['Ji4Jp5/2Ͼo~ḨY"v(:rdM@Yno eȔ 9UYi!X^3x:'Vh9.eӞ񐷇+ɜ 0z ;+8@)!|L/Qok_V ̍AC:v"NNB+aW$4VLQ`[Cđ;k,c0vέD,4eG-~ݽuJZ^IDv ׵kb0~-)7V= }+_d'Z].<7=!IXA- G,Lk t_zcbt些_M=p6ODJ/n\0)*򉡴, {U]wЦ[js, ηܰNlU0@@U wp&0 A҂,Ē4"́ :$0'D;fLܚ[j8F;`ki @Np0A9[@T6c Mu3޹5/ *O(CfP!%>ev'ˤf(peɘ˿vZprwE(_!MkӟGZ~@S0"> !Z?mZ|`" յC]72K@V wIs%5lX6p8<%k @}l$pqwMƧoDfs k^>N3c*}Ka^uY}KjX>y#&x?"`NH)j^T4>2.Zn~xK'd;c#A4|~󑗄琩f*,Y۪t],mȉ-֎dMuN7ICx`ϝ5T5Vx an 1%vl2򥢡$rF17A= )a+ı[F:' ȋ\ҡDP ঳+|?- ?')R|s &gB 0&w!+@-:{YX$m"žb~7fz2@4[R/ En(klIju@.:~)Kg-Wͤz'c}mG%[]mOB qR8,9O|F;LOϛ !:W<(B_B顉1kt:ޕ\A?0^Eu*QPH8T6]-ˠ )x;3),pZZjOmA?AG:&;km*HOoE"E; NTlĬYv;,>A4Z((ByH#yfl@]y ޹naZKK)uV#P{{hf01M-z3T5PrWAqlFsKJAQ5eMPjAgk s$kpT *7#ƣ &̲h=&#YSgVђfw?2EGlzJ*yɜ^ϥx^n{OHI |C2>:{eAq 5siO\q)c-B 3Zyz#"Ե Hu #$d\tj'.7NX|,%5@q}Ԗqu8ɸ7ތ)c|{U4&sK*E !"Do5WDVY.ʟۃiK~}zUx8is8 Ho<{"Hond^wJ}YB̿h쐐ʰ ;kI*Uf:Dr!6 +:HmxS*{M~"5~M`c^ 7\:n"g7h"Hۺ]p8wnqt[P{хy#3Ľq8~R"&(e0tٵaE.>tˑej XaWoTT_010쉳43ؿ4pcG>&TB h{ 6Iry,w B?3HH!ikJTugհ>ՁR/(0` "ЮKKu~wx!n +5>Ⱦ~ľjk| F) !6l;3BBp]c\A^f)Ndun3۰&)!V'v+3 Pi&ɪ|g"ZuNBVE8cȟVSMRe1f}:Nnb1JѩZD7m JNz3܆̍B~4JKd[i;mFgw!d Xi eM0a{AkV]+L*uQ)H{J1kD(l >j B^ ".*#E)]\_Y% OlYv~v% rVZPol V, G-OZ DIx,XȭE9N{V;v}^< Fn8m;9ҿHzrtEbu:<P9էrA(;@L=+tf=-P9Vy ,S'J8gG }&gycLk%Q:2vM%8~)POĊ| 9Xe)vE>8ȿu5 r?lH7+x5?٧B2 !'3AچQ6)4)=: 9)sKOkK%BIt֤ X1s%?`(?*r /u]O]KV>>6uN FFyFX) m%+R䮺!݉ [K" =Y* f(7=qmr u2DD@,AV@lbGL!Ov-lŞN3-gЄ=*n@U}^fes&ő^ m߀p LQd W`&ARo;OTyh1ǮMFd7E쏫Xfa `C|+5,ֶp~2J"s>4C0%=]5YVD,ӽ> a?Pk '8%w֒^@`Ps.aɥ:,]\ ^KFGo\&y‹t n$ȼɱ,?P<3m!z#[KZ,f@*+oj޽4H'=Ry΄L$G5ɔ7S|-i-Ӣ/ ya^Q}^Tly(hs'zWd~];- H+f.}W'QSIb-KGH XV?bgWEn7ej %L|r`IyPKfP,sK2kYaËᯍ64-J}m$cI{hI:<w/ѝ:f')цݙZ8mq8mt~A^N$Ԣ = H="/HΤ▼pVόK (4~#ɿq7Xo7A*G qF"ZgbTvGI #WG}& %Gu C֏Czwiz45-ټBVdF P kTƬp/A?Nu1wHDOmbqI g@7̰ͧ~6g }!t2UBl4x%*\G E֋3 Eu$w-ԔE H+rUƁsA񤛳O/mi1D&~i?eA Ȣ*0J.t*gţPjI6~  YEŢ|y?>Tz@s1?j1G=}uUPW܌[[8 b V8y2_lk7#?8M(޷5@J$O14P Ъ?ڞڞ0RND55VwK  aXQGL׶]Y8c-mRCI+OlnmCዧ:Xv?]RmڸGxerQ8~aaUWu xT3| 3t> {7C{naݗ;g TUmw@: ۹S+,j\#PwBUPBNԯ\V}VvVG VFeCTZ!HR/Ob._4mFgĖp(BЏIOtӷ#Onn[wM.Zn7Jv*+H+?5;\R 7w(hMd;^ -mfCj֚d>^:$x|u`$]j9ò_  Oڡ찯&VܿcFS9ŚTH@^5['` e<,bMjqmh^rսzқI~` "7- _4?kܚπwLb4廔U?eRUi{s۷^.Fz $C 6H'||ن ^KF }Izf?ܮGfL2Ty&a9$-QWt.YxѡyutF߯ƏAh?r79=*I%|4} 1lQNjp‡$`]43-1{Q%?gȞ3 {9[$g-2 mmW,[sRw.mӱZ4BZ*3ę`z4Bx}7bfUM}r|oū>CC{]bV8uQ8ځdZn茈ar?C8,0p)+ !o Tcb g-5vh%5d҅VߡqP$ۃ@x確Pwdy'LMI]S`6Ǫ{F)^ڥُ8އ$*}mؗ_8!eЗٹb W)iϳ@?p<\GRJfy^5G) lSlf;rsSh-]'6@9|=qvL(xJxty,{{[\kDİ5ep^3koѺәV@ƭd/:T 5DGG PլSMq '\;!+Bbdt𠆮6l^ _u-+&:w3܆]-tua|}VX\e|Zc*?0ftɝ.|.@b=+y=΄:e]@e*lPIuzD:|˿q~԰?xg$ Yڂ %iN)4Tmoɒx3PGv?86f5+cKo2Wxywh~G¾,3x8Jsw7 Tb=hЙ^+BUxa-^ٶ5hiL^k~ngn{=;\lڴ1 ΔOK drgϛMy Ch/fD& ¥8LΐU=>OԬMaGrc'Zypԁr_nE',)9,H*tLeCG3^"۰1&}I<0tA}< P`Xf]#%cWؼLV8m38$G?QycbduyB^rx+Z|??q*U3)nocam;GD"-_:?cn}w7f\jQiAk#K&XJBe1岊5t);eHpt=Ż;^(?Հ;N{lMm:񒿒V!vDjQ'V(fnBgD"38_"rA 򊯩_f`wb t[fw.P<芳 3^8yPoѤIEew0&0s;M@g=A$M61Q&꘡-ybPHTCݓ(D12"4L[MϪ`Rȷ~~RY5!;3Sq:F(03/M}`a_=$C9~g[@12*딝ǂF[$PNr|Ż[Og#舽# dGZ@a5.w9W#5#!$oKXX[T)4._9 |5LCX=l*ꘙDF)\&Vwk8#c5*6H@9/A-&!,P ,ڱEHԶ`: To28bײ>7~&D~M$r SssŨ]]xT*ru$"Sg5յhffMDeZV\$UPvBֱ싄Bp8g('Ҫ:r㿵x6'm>PGKFQ5[Ny3 O{S+IeX*^҆?U&I2=7v3TQVⅦe7 ?QQ7(ݨqX+V'B9EA =G e6 w][:ռ`ۨF&Nݗxv,JxHhg#bw4Ljp(ffN!tqֲ|k&6ReBC_#nlꤾ uR63v<(M ;im jaP 9"mL`*Kk:t8hƻcP&ǎGS}lG}]s$='F5 .3m*͊&?'ԟR_>IdƿjI_{R•W9>aZB3`pzM7TxyErf9{u.L2cF>(|vF)/N^i e# {Zx֍dzB!_+ 6ꪟLI/XɁ{3%p]j 9I0[A7 Z8_f4QYxH100 rhV()6r(WM&= E΅VuZ`RmAr s "d@2^qktvyj5n'"@/,b˪vhG=Ŏ#}+q]34/k GJhWT2vɘ& $/,"d \2fog L*Z[@Ɲh' E^FXy1[[y+[OsEQ2_+0f0a|<֤<Ǻ0HY7t*uAoօo OhY#oZr-k?6¢Q<\嚗5b,q}XDp{,o`̾ NC'O: 6w槃Ht F.$͝F+{!eVsKJ=ۢyU#÷1,TQ-Gbڄ\ sٵYމ"u@, 4sx6Z ,S'QucmM SdiHeuB۶ bw@B5Pm,d޳|}П){{=HEapOcFp%)"o^,Vl,=._kd6KD^\'%Ѵc)w[$iD/7%;nAۋ2V\$e R6a"JPXz.luXB[&zX'm$ũUhD+Q%6Ү3y>W7w¢FsloM[ ӓR'0ֽ;QZߚW=@bs$r<0:1 ݸ/R^gTO8/ =uK QRn(P H0P{2q`4gq4=[Z7 [TnT ugz4QKN`Ia!X[P̸)/@Ta`?㔆 ?V "A01Z,[-Z ,q.7)@cږTÉÏ_ lcqeO͇+ A#F N[?vtUKWq{NZE)ت0) -UG1.?.& sRd&W48| ǣ bON֓3sp>%֩,۞t4*uwi&U*N0ؑS?Je5XhUr0h+~zf&_T88%f=ֆ :ʎ2"U":"ByWo].R="uH\לR)|k4Su&cuHOÄf+]T95Qz@fE̮v@ {@t<$Rv(qV~2 (%X&_{Zc?T°IlJ^Ξ!xZ8M" N!a_"27098ԬZuyb OdÈӣA*` s8.0 %> XB,$l.ңP(ebh(~ cSE[/ŧ_nT. w@9.bp]gL * ΔH-O.:7/㺇(|)OGt,u4TcPDn]?JY~ d ul/N^ ER⫏F3;EU1DLÇ"&gde)E30EǼ -Q,O#Qg,hXYf %tӎ@2캅͛ύ`~!T~j)PK eGXP jewyr?/̥w B];'~UjIn8:-cgU9Ct}  &Գ=kz^hfʔuFZ;Dx'l)P-nh}~:Smޔ<3jT:F{dC&Hⴌ:hw<aosxoޑ BNh$@)K_ irivg#q}}1P [o3.Rۈ?Ij']ge+{pH7e+sDɌç?4VK^ӇC!q ~)ܮa(*t#!#) { kW7؝Y\o@)3K`f=#Xs^}E3[-LtHgĈ7Idy U`-{72:< iJ~A[u?RC,\;]SE%gN#3hA5O8&1 &M&8, ;3rOț? r:nzAN8o22>˧+Ϲ%%-ַe|>Ļ2" 0 |B]lA0m`Z/؆|2b7t1|;-Iϼ8S.t=xT` K]_ᄗ4|!>Ъ~e P嘳uQ?.Vy)_ dM+!_h H6P4q?0;Xe l*^fXzH1_<:Y.>VJ`XD$vx5ƋoԼJo@EA|ƥPΦ "?MoFxG>#N(~ټDWQحBnp{[PwIsBWnܲdt; M 0>"s]!Xǎ:~sB$ ,{Ap:䧟G81]eѐ2E~5.Kӧ DGK,2ZhuUQ@D:.k7ʽxK9NW2%;J1v2"@#U|Id }rCrtf!q> ]wDW@jܽ0`1BD@f;R&* ?\,5!˜&CfHTH.xH30EA*0? s,Ze~o:}V/&K<ڼ11)@0H7[@miVuaFS} 8)FeK![EUup ,} "R R8ɚN{md0lg09f >BMe`awX 6`~sG˪*ZX-^2XAama,?'e)FpGc]ڟ%`#I6SsZU\hUeX*՟3 ~t]hvwӾ&, l )UG{P-`]ڦz\se,?_-}v WW9!|' RfY1j0nА {Bsf69D6|oeOoZs U|/o:2=Ǡ}%9+"xmKw0xUGv%.{,ODq`[4Bfwsxp^ٓ%GewB$BF]Q%6:wMs]AV(n )Č/` b9PZuJR~olu ͈m 4b5ZOu谜G^A[ҷ,myOy!gZU5 |XNI 6*0 N/ 3*/o|c=; v5]N0jUW2ŖxX+׬d7r`J KrYLM`'<0'K/9;o,ktL}z^1^ mWTTUN!!TS9z\8^h&c F5drO\M_ v @Mx#E-O萆/ ٸ'MtՁ :o$hGxe$- KSKO3 :IISw$ shcۭ9жFusL}ǣCn-HO Z\.. |]͕c\rFnkJÛS4Cy11_ҒmlٌGEo﹏o;5G_Qئ'`v́Zw0M.ǎݫs:#6u< )./:ǚEWwc ;Ik5O"!Y=DF~q|T\`(:s9VQ''YNS0°/z)U[6t?}tmBGCQo+d!gQYWOZ`,(evWaMZ Xj?K7,&AR#/-GNo3׺*֮RBEZ,CV n+ޖD𮬀_߀uҼ*®.D !~Uk&7H{=^,:)wˈk9Q/2yV^;<5+PB5Gn*zW+5L_ bZ+՘ $CFBȾa[x]9W1#JZNaj-kH1ni {!S"Ec AA{Yh(F]o]!,Cs~nZ-`g"ˆ3Gv̸Xu:^cxG8 z5~cn~V%*|V9mZ@o-OfUT.%=:6/#^jp8hĤ#efV[oN\]V\!]mLف~?[$tb6H8H?=};!`.0ĨQ1B8. zry=eT! xbOP1}R4ތi/ʖ \I휌jvP~:mp1ѿyS5)Dɶܫ>bYdb6)b l^sqƀF |׿-' bK|X{Qeh 7}Х;e*%e.݆L뭋͍Fl3%u.:vD-Uj|?o:G&1fT{} n%EXw_%r\ -E-y Q0L/Mo1F!' `gw-F݃_5;zfσ?:'VN=T.h; F-;=Iѱ-|>]EN! NK 9lqI "sCt<9:vl)Z#uHYBu~ī|[ML@|ZfքB6c(F w뱎nB˻?(?AٯZT9UР˨QZvfA ,R=,7 ^sxݬר-ݤO:h j🠁.V&C, ;Pԁa~C'v$>gNv5UNT*<)[!:d w:I:tZ6ee@e1Dmrp<10725PnI4|QDBó0w\*y,Vn\~Ou8&4v}1a(&|ߺ+UFwPAkPyGx C/B|OJ` =YZ+23jc'vq߆% 6׏>WsȊ>zevugVpټa[Lq!_(k\װNW&:|=uԘ Q U²8X#)eNZnqItY0:W-JȀ̻w$ |/*P't^Jze6Xq]\ &s'8QJh%umiB陃%-w|,3,c|548SE^p2 A|d?厘'fNԛ0 vu fUV4 ک+c\ C".tfdn:#2Vu=fuʴf*xJ8 il]0d4Rp|S0)\%rjZ>g""q2(6RWkjP]uʸYbEfh̳\6n `i^NYLw2Q:Gyǭܛ9c;Ա!{ltTQoe1D铇 R"~n+ GNT.(0JXL/)^hNPeHB'jH\o1)^E@;{~r:)f6la.lTRtG=Fy}5omN]a ]^S D <"1 -z8]h M 0"9nP69U ;-K (ir*)0mҳ~(J,tK> <Z]8PO|жC1-'r4Aɠ逆Mj EPYuQ8JI\Z{#91,W -\b;Z1qRa@ƝAHv`*'d-E4畜"3) s=MI= cGuߛ)hn4A#g>m U)X+Ss'GE@-]˜->!PeJȋ+4Gz2!@F%Jy#˧G{q}{R(|)4ݢY^RH k~hR |Pj+̗7/;g MEEulӭſ7.aU%HrWqor?*$m R#[Q2/PSn;p{-𯎩Xa:eϝ~NHSf5Q|1=ioYJQj7pRRy^:-cI5[(&\u>D)F\ }bW0TS904oj t.Dǒ g$afKpK#5[gd6IeJS^wWܙWK?3ɯNR?F#U$3v=Q2᦮X'ÈQGUb&v,d1v :(: 78|VG-#° ԰__m>ZlWZx߱w웱elZq[zRgq3?X^V}0|*Ŗab0c; 2mkkt-}yyvI9@ y|Zc/{"@V7AJQmLN;" "JDvfi{TThn,vW*Ynzqji ٙfyWN8=)T3#[f%Uo"_P 4CO ̹[g-C8xND't׊N?9#Nl¬v/L^wb9f4iX6nR8ISwOa-v󸴲p)߷40180Qn`_쵃Sϧ j; *]#';z881^oϫA@"2+hJ{6TH-*b>LqX2U:qJ^ޘ"JBוrΞ%)+.sȟzT9X"":ć3qkXuOfk<;ዚ(9*λsMPiQQk/O πR[-6բoʕ^$}%+L'h 0bbcFfcLP,-2X~p_q0q k0Hk B%N5)Htje_E޿\g[eZ=?^?=θ~q1Va|%td䑄N>*Kor-vC܌IH#ٕ+YR *'MHR {iQ6 0<4 |eFs϶JH-Kd6Hu-Xtmu＀21^q# DG!@YPrF1'Ɣ;_P')Oår߼ N1"Ιic'4 @O>(iYQMV 43~q'NR8y*I/5Ȁ0֑Ad-r,FW(ȏ"TӕA-e}Y6fAd;q-NpDzˎcA1 ZRȣQBXDiмt\#r0΁P6G<:̥?thZ#3( 6ݿ!#yya7j&>ѵӧ/.Pe;H3wr(K)Tg t;)FÎ! B鷗T8na7 (/Ѥ9:"oDWa%)w-V 562+O'OO]%?X lJNz/.Pn:lʃo0>.na`b_?F3@޸~zȘ]5Pyd@*ְ"qn VD48 y!\|Rf/r9ˬk9<lJ@m7 ֌.[r wGRoEF܌)#TC܁2Y2)J?&gЗ#pQ"q ϯFX_mȟ|Ljc cC){ Pha!jZAI .^g~E 4BÓk JIb1{3rؖy1:#;h~pC:\8O ym=nI1gLQg\E_^ 1q*of"HCad c=ā$805)Lb;؈y74E,rŗ$T M>?*h|㭪qE@"A&[ 4 y[AiUƵuo'@^= !?n1z*yb=ɶ8Po^ͽ'kj٥) sʿRO810X3ֳ50cXrXTYV^eD>z.^d_3AU7~s 3fB!Ɵ|>GmD8B R{=0f5MY}:U)>tt[ͰyV-?c[4'dsN(H4{5y~čHRãI E:6R\QqށoS u2bQ`/l]Eo,#/ gQף;: R ] {unEZ Uz|W <n!=WEA7H'񀢃! 7οk< )QzmͲZxOEe[<RNOEc(D'0ͨ{:E˷Itάhnj;!%x5L.p^/,9CGDVaΕrSD`r?S'f QȐa5>~@#SR$p|OQj\#>i_ERA]:_tq [jK|tIUAlϝ*ݤH(QKrsfr(@ҨidΔZFGƳl{vx5h{M|HE*+棆QUg8][ms?-Jle {&z]}+5nA$3Dm4v5$ rAuUsVɈ2E]iɌ8Nf市2'Zqe{p/. n+~UZOPHM BH@;bM'_#^ TF5s!#S>R֒sDK]xѮb3 +>qumP5Fxp>,\MշM G& ]9cф%PZ1cx'i@(gW>-3½3!,$X!ܽuS6 AW{7R:tM1v+SGi%$tv`P<%Xf^;^"c"4f|6P0w%3CRP)ZPv\[?cN>MX>xݓ|k.',nJ,'^Ntmw]OX|&1I5LIbZ CSl3p*46: ,M+ᇞ")g+y dGw3͛*;4"]0XkggѴr zi]4f׼kmA֫5hGxx `׼3{睯Oe,z 4(삅Qӌk0H5j!dsc&Yr&(MKNe&Hb2}3?߽CެE!Ӈ$NJ9(kb8B@pu1DPzFTNvL $)5֤ qVD, Sa\"h/cF]e ǒ$!fة5Yp̈_ Y&qXFI[d+$,= >xm"C+},qvp BCRRcq8Yn^5ZA""Hn-Uʢ~.i6thNPaxS Upq)߹k9FKSrgѴ[ J0骗{z$.tN9R H0La87Nkh8Y[^+wJ1!Zг'r}bHg'/<2QlMtA,wwMEK j!PyN7|S (ND(ßw0IJÛ^ TT.:LE~8!b_2@J_WaEsbBwCISg[:-+-_u \ $#mƺKtRZҪq0EȝV\(ȕs`+l`GQy$=cPNGjzmƉ$m;I9SLS=ƐI=c rHX1uLPXX И8S)ۋγhO?\"]qX9H<-ĊH!+ʕFm'sN"Iw2pU0vòIFKJ&@J\H{sg3'{$F/}kD GP~'ѮcROXqTצ`~<+dو^N tއ%l>ģI!In`PCY{~|ؑ 16df_P\;\ "X+H+1ءʚ_mqk5؏_&Ԁ̲Λ`tӓl)",U9 -ќJmCt8[$> Aӿ_N+LIxfɚBSQmZMkhUڣh!.cXOv0o;FHOe-#6<(PR&>;.!Bo0V7iТ ^W٭c A[lcsU^~!A!t K5-}|@XqҥSfSw^: K<_xYIiɾE`o_W(+1-<J,ncfM wh;"7\yD@)SXz~[ $a`df?V@Ey{a Du`ŵ~=h xIt(MtJDCV{YJ~>PTW4yJ ]lіk@}PՊ:Šb|'V:WP=Bd.0oXF`yq)YjsuI NJ] qu0p\Lҡc<>Z}Wf1oz8z/} `Bp{ZJ:4 ;QymfRN9Σ\N္ ]03pf{0 }PB.J(SCQvHz^g=,IK^z)xO=O GOͯ<@eRsSFW͒@fr#Un]W&BJ?Zl}쥟{MD3h&9ҁrg'x,Um)j{{ E̒lǍ(NY&W6thYBV`m~*^om6pzcq]q,$2^Hp#?5m٩M%[ٻ#C'n9(|:/9G}O!aQY#ysJzDm nʬ@Aɕc7 Z=Qb1S]JI`WiC[Xsn4xHpȻB) FL)PY!4GRA2FGа#J0Uf 4ICgGL&SݕsG{z&1謹Fm/'jVTɘ3(A9xU oMcq{haed/R(M\K3olҗEayjgp_ w L;Cq8!Tq5 ;,_xA0Q2OJIfknuLɕ%T'&ڲ'KPeX8007z$n_LY+t eClu B4pefD/0ەDcN:.&4qwx+yp\MC͊˶r\mn%ai5IOגD9EAm?;MŦ^~]#S/\$g7 PIk,0|ФTFPw,1W5[y& $n/g!z W?i>ݭ)8PxƵb(9s&X@b %ÖuΨ拨1= l޴㼴WxAYG]e($ܫa8(ZnWν}|'y;ٰg7B3RI1S:X MQsIm`˫ aM /Jc(bD<mڇx.Gg+eCµ36,x\]"]$ yylQ5G!fOx}53:]L&kOnhI3PGf.vc*vDRE " Q .rTSmH>ٜ<: ,:% PM %i%l{$09ïms𵴉Nb{ (m"([4ku ŗ@HwhRRhYKBղ05JdߐVKukYV2!ʯ>)zV12y[]7|h9W1:8.б2" @mɿ8.obA.Ѷ-La6A繸͌VGFW&f˜&EBƗoP*%—j2sE~^ wƌq?;-65*4xA=OhX 55x}j:q_LջQ{ԠzEU]<!?mcdB ֑ٚ` 3$3%qʼn%2;9Ӡ,>ʫ!f o4+L}rtтd:k6aH*Nڄ\ +Gð6 Փp>&UVғVySbόc+uFU6Jj0axV˭qׇ6(O'S;|A&:lPQx ɳv^ypǾ/e Z7;HaLf4gkdWU>%eXJHÍ~@ZdЀbF@pqf;,B d~vIٯ*PJb3zfB7dgNsz3wd ҟҔ:1E ΁ԣL * J(_W_{Jv;`QN -<렣 2c {_$z6EWE(#EWأ'e7$Tm|7[|1Њ-A؍ AQwMa t(&b<#4H{^MD96^ v2NLon_!Go,f4[v{iWw274{M2⫝/{t. -V:H"߻%ŰhGX*QFEzTn6 ͉n)3+HqGOؔqڌ.,p@ٻZQ V"7zcJi.d,34XQ;B+nӎy٢\MD-=9la'{x$WmHK8t;X8ZrT]Q NxK[N.'3Kǐ- @;L5?LEX  -g,>D7߹t1iiӣ5P\Ī=(gtr4 ̃"$Z|%1D-i~VCXaj'5HGP/Jq劂w Ft ֔gQC_䣺W` k!g@+}UN> rn2Bx$? id@| c#nd*M,B`v !2i,i44+zjMyuguŽ#NKsK^̫tB97׸ga\DXzu SI=O&Q10վYNcWʼ8<$6-nTA#qIA%*oBLwڳ'uE\|FU ` $"y;'WɠeCdRfS:ޭγh9i[ltZz~+ʹe1#37Cγ-u @5Z؎v CY;CrcrfNM63[_e(3Q(cPOiB*5v}kΨk1`DQۺhCA:c65wy 7&Վɢ ֈ^ q: #L4Y'(m:B̮hdlߞhS/{z"kԎ_0OY5n{C0oQ"Ak~l%ʹpsuVW&7[u ;5_l!_}Z'2v+]YRFz_/q\hѵ ˀ=KQuAx /ۂ%ͳ-E#Z,ThW(4_[.F >~ = KlyO#Er<OL0-|[D Ob|K+; ̅2\#ߙ>eI\#t Q,э>5Ҋ[U̜ͣM/:%?rk1T1_S-kJվVOL~I,qrW2Ѷ]Q;-1CwE4A6 ;zG+epLAl*mDž^ j <$R LOWdÄ^<@zYYPFq~1ؓeW@B%]>~94ѯƖy3E#eʭ{Z ,ad;!e)JNUgo> UK(U|%[ocM^::MK!2ܫT@_bZս3t|F<`Z{Ov !a2ҊO'I9ԯ+'3J?^97S1NdBi܍lza,Wqg>&Q|#d_tC]|dnVBUŽqJmt<}nnsVSWƶ٤B<|,ŹM3"V,1M67xTbNJWF`Y{!󍭟6 qjN]" po] Gm +FVqf7P{;/Nt{g*B.8n[ǒѻ:#s7EO&k~G5A 1wn +Xpcq,B!|[j.&@D}~rm\ON}42iVCУ`ӹ %-T{,'+wZ^3;yHP엓~Ip޺Sv;kFF r8h%]#B3өӛv$[:5,=5/ l *zm8e%!6qUN/`;E[4Y4zjnn;(z iO-(tEkz/=;-E@x D#R_!MČ&D<bJ2PG^ GmUV%~1` I㚎2 iuT4 w&ջֽ3&@SzKDY;[4b` ؙ-Lb9vXIM0rQ='2ꌦ}r%ө]R&+f zyD/(=<)@&d6Dqb}E>EE4ڃ5x)SQtQWKاTpE(t+۩Negfvlt?$VJ0KHߞ)o^n+c2wv#}F6k*Ҡ++֖L+B\ơ#mHa`:;źBn:^7qFh $Hx =b#J_tZԜsqH"[B/9#萠{9eM \[' Tm>a=aAE&YN Hl"kMu0 E6M3cc84 MPƨSХ90Oxa (A\^_9!@+"p=N(W@ݧ<)$H_owXE“CS@?#By B6l<QӽťGLЀi|ê邯tAw"KBe>&a\>w$6' SaEwhM7jA-|Tq\?0V>.Ն1nEs!k~BqJW3kk?^^F#'ZT71꺳^.TU7A>+擟W/~ p4sٛ.f&`!d˖1K!NSbƻ'eNڶܨPͿVhkk߾𬆠 w9@DrV1CuT2kY 8(+]L޶o|+p?%ZD:&z ƃ!aMϷ M}~U +ҋvQwz%nsVt,cfaJ$!jEZs0 uߵ@Sn+n j˦oQ3- (C1\GRy7t ' s#gڬ:/Oǵ5}JRW[/5ENF"}=N9Nt"xBCu l7oWo#&aAumG ÂܓpU7I36P}Ƙ7&P^<[zDTҼj&87~fʺ\Lʘ4LJ'3081OQa3- .ق'=?h}rw5\kȪ~b#áL$hi0a%oum6&91@ n}?De$T HN>Z "SnޗI΄|-qcb`ԅD,l" gቮ ;6tDYiM[Ujj,.EnZ:jL%ET4dhi4~ԃh}+Oco d>Ds& WMEWQRfPiPB1ijn_$8ɇ?_ mW ~CW -(;MkˎfDcH0q>w`bsZ%@&-K^ >Vm2G{vVP&e&jcx7uB(E3cFnY#4ꔓTZIKx.o޲-Sʍ3 W^Z4Q.H ^-ٛk3a›iF/[rs*Uch@n`g꒛qp沿>!!COX*MtFoEJː' f81XX=">E=Y@IE$_='qcN+O@O\r)0SfHŦ}>9 yr/UegWvu9`2֎8 Xs:~G;hc+f[Cx%/&/tXVаI9^z`f6{g٩0NK .oi?mf\;lrT {0ɻW*`ηh> M$/QLԫ(P4a]oS+~]Pc;#@\sۃFiTl8y{3ShbTۭaEfЩ05\ͶVЖLɘةA )cg11Dv-5Bjb0%$(eŧcY4i:דUY Vq;'t o“p8MP<țc{} {pWdL0VgM!Čت_vzo`޹zt*WѠ0sO\9ia(:F<3'f-VǏvn(ǎ[/b|/]`0?ݐbHV=S%XRBl-[GIԕ߯YC+Za;Y8"bla)~ .CM^4Tx1#t+[1bfNGLiJHŻz(X@  eZշa:յV.JLy•O"G;. aK`a,ʹ`F_9\vͅlXg;5 YgxMhYImZ*1PjGFM^yÿϲ?veԽOvC;hٸ-JOS#G0+PO0 6G8]"nEdF[)KkG-<mVNBH\GxU D'cQq@ɳ-o"]〛5Ձf\uU[tMrX$dM:[QPPI(9hrnX$1#40 /5n|%6L(E5&QݔIgJkEó%atzmS u}[Xʢj6؅>Uej1j X:5z;;~jGWMD?(_*yTkya(, )LOGiuQy.E\ i e?X " q$L(h)ͅg'DG{8vixo aⰬÄ,vl*a &w$6\)is 8~I7&-atЅ_8ScO%RH)]/ He uWXiݗ+~.V1If6 E EGjʔ=잵ϟ 5祮YJdM6k,4 & >IqD8>x6=07 *ܫHV eO4n| j$-"ZQ"6>FY lA'fM([!HqE!>;q]!F}S c?5%shN@m+㉣L,:gCZczx?vЊ&H*"mY-'>Do J7Mm]:raYlAjqz/jNXq=NF똺}yVq!(}BkZ"!ŏd]`P aLD6o/NŚ Uhz':bs&q+G MzWnx*dAZy{0|IQN)Eg%V;P-г? 5%Z/yP{} b%R;OOD.'P8iZhU+D!sK9Ubn0n7$lQ9L.:hW.IcĪ D0Z`GE6.H;q{`R- '0ME7w)6hm7?Cɼs90#s5躠4:_Zm$30&X5G3knBX7:Rԓ_ &'p7*%콭99;l;'c JnP6`lj,Z%X~F-}@ճj̇qP6$#?+0ywzBK>m# -gز)S;CzPRzS)X~aI>wDK.QOCGD1Ut8!S2G5DЖДBvP>#GL.IfiPUw-EPQzBxNOZr,CwL|ݷ 7z0O9o|t(=*+!)Q\_[5Vrm)rpvJA:iEWKǂD' Jt}f7ubv=}7_ u0IowN̟Ƴ^ƙXn*c#Wl_H"\֯=2RՁĎvv{ i!Ox l^6KwT'j\ iPSpGD [n%U/Oy0Swm+azji1`MY-@rdqW\}Xr @ڸP˖hjzFmџ!ul_> ׆+,j4GsBA0,cwzFwB&Sۅ"\99 2q="mY?:(|`mGzUL$P HM 'W{ un4t'H2732F"$&Ii ^0Sh\fZkC.mFL kV}r `A,׹e{2z,HMToHo# &ߏ[*MdE @TTml+]p^ ֮u4~Gdf(h!=_b \xXw,mpe)盳q*:(^A6mJzv6]@ЇIþB\gBW|+0C;kN2ZD;HJ7aXfHژ&hA~XNgEAG59` 'ʡGf(%\Pͨox hֆFb+]IdxRڲ,qt{ rcv, -Gg%'|.OW%yz9QaI¬e s_silk=7"˖x9 ZP@.xaOBm`*Jץ*er&3riH8ݿ rOcԙř0豣t= +ϷHLlcGU文\~_;q3⣠/i6(wo%b&_M4tءSbVm wZGUXsP_éqs]_ʔ? 7n69fd]Y'[^sbpxJQZ%_~[A? n̸ a2']9A1/y/gvm3FIjS6X.wNمF@>m[G'nc^8bZ4RGx^ZoR s{W8)Âa}<&u>#Nh?pMVݮZt`:[`. c۶s} nV~\6?*FN{bsUs!|O.6߳ ig*N;m12a#%":Dϲ M Ç>USq 9}8S.sD.TNN呦_uC("?7ƶ& 75+P7I{3tL.V$3M5$hPq@5Θoy{JXFlL-w *˘@$$'mETՙwm8pǭw#c^ N4Wu&m؎=B0pJTi^w^d' &Rݠ3"\ʥFS#g 5I(&yn vqO"b%V} Mvv""`f3[󗂶PNgᨡ -p '_*YH +ܘS P `MF pCu(1w5VB#( Wy2D4b͞x$hQs"m* ґuȇu41!n."Nf8dy3eQwa3ha:`ijB DuS9D HLy'̧wGo& 5 J6M Z3zˣbI;&[s^\ҵAQj[8F.57MQ'-&&g]c!"z'q-oɧɫ#rn  ƍ*([I1 kzDX2N-_/=#aqM_(ֽPޫʋr4n4&7_vxceM4;~ c @{#!ͨjB_v{5,ND<ջvdM7Y;!8(L^X*x 3.2Jh$'}:x Y6iMN,խk??-VfF*ok5i`IDZVd *.||8d1Df۸.iï9BSZ2My9R7rawwYd63? M~(Pe͕w Vh F6145,ULN5֚; K֗ދCk05@TV^#Z&n~Ȗ7mҖXȋqBN_nȐ h]+)3ZȉQq!/%#B0~ȔIfQw>-tk3fDr.^3 i'Ci #lDrhQ(oS- "thL7dwzbAr4?B{sfc .5:YLD~y_̑!S^$VH-KIZչۉC@]c~/#D+ ݘ{W`=`|0RJo&(NLfXg>NL7e= P-7'_>̗+Vk/dȆ$TVWQG<>22sR4E}OMpSO.ӻ&>~2|;TTWw7Xvh8Uچ'o[V@&_?$&=J|}|*(m[=4OĢ.:V!qɝiɢy5w66cKAFAZW1-@̻N߰׉y $- ,s40 pfs|rqb): ;[?9d3ِ=mN_\9'U3^jG}+OTJl:^ןQ]D0i"5;V 2 9Nu6قI44OTB'77dz2Y.Cz_$˟>6Ɲʹ6VkeWXX1&МUW+3V ]HUgBf{2;;Հ n45Unhh´..}k oXk;FQwD|e :V-W -?FOaECӳϠd1sfGxZ/_>,xl'@xLě وJc35i,[!m!|UK+`"g%TT4V|Ʃ'qXl!)rEqTVz3 FT|!\J^HEeiH՘`GZA_" g`dj. vӿ:]^O4Z yd ~2-`fqRY;)Vm~k޷(?]9Qo1,ٷB ! tձ‘tEzeCNzPk<H. R K? yiҔ^-?Xe5Xo;b(b'36@MIm71z&'C_`D8vy*( 9F83j;UϏ)k&xkH7N!@@×"5.R^![+!*KW,n=P$\hVy9zRm_N58":d7 bR˗gЖ+ 8^ͥښ [H? ՍG3 Hb޵⋡<یs/LJ/V`qs|)AVW"!3~'.*KݭMBߊXIPw ]v)R˻s \#UrOT3vӛRx=$^Pq<Zssژ$inzEgʹ `_E]i)qlYMpx^:L=ltsuO03O)#6Zi07\,|ϐ}ۿL N@ޯFx檟[b$H o1r_"0% \<#}*,w(wzϱ|cQbЖX:Un0%P ମxP7*W᥉qvTUM;G& )i g~pe{mq'5#̸ڿo(9,Wo߈KJO 擷IkfEUᢳ'vM: 5MHQ7k_zW {zӽWDYWIY8:,̙G_O*#nRcA5}3~3D2cR=C_gMgLDb]VWAGF~r:m:^u7Xr;Z.oj܋I3le=yyoiސ gr%l+D2h>];TPp 9-mk-ht5_L] p_ Xn}dNt݌ؔ7*2r+ΗÒnKY SƳqIiQl|tsV@} χrr6l]9*dL2ҊH\^5$o?_/:z5qۅtԈ1#c*Zo&ij/jhÓYTw0ٳKUQ4]&!㲙RǪuT`}i7mZw8M~(Io<0yY%GLۓr <6ɜf+m1̓s!VӑW(\(A9c(""aM2o@TԬ-;U/;{Gj1܋&ӑPJi7u,slSK#Jدj=R0#FK9'7@Ց=О7Ǩ%1Xig+  XI 5c(ۘPM=#[VTzW>!FzۯuOoWepX/ X*nWHػc޻ZW5 >ŨK  ^~(az+ 80 `y>ذg}AAz'ÝR?28 aATiŃujFP:`H'?7$#3A@Ƒoz|H鉷I{lAk:&0쑴P9R}cs[̼@!%a v:>KqVn}ݲ ʲ)*D#6LmT\ҸPٔQVzGu !7&ǭw 1#gqvͺu kMjiS̛|f9ORi*ۯV ߚ!^j6qFEw~\y+3θ_M̈S#U¼^'lK.j[쩅2 ϦO!2{h ^:A Dzfm lě{!6١7Fy">j#2VkhuQ1^*4+W@r_G,^GZN 5v6D%QJ&L^٣MwΧtz\fvv]f2l%8Đ%Isbh~W\Qn]mѿEg ]>/ yN'Tq]io@\EeeMSё|>%?(1n DŕIBŽ6:35='mrXٳ'k&/׋"oY< G$Spo9TfyܝڦMv8#P; hz{`\Aݓ3@gHn@5e_yu(3vģ*u?ьlhQXt[yo j= 9)5Z&f83naCZ\Gg`Bymڽ)ײYZsAOac7mw%MܛebgɌk"AOf Pm&AqvhoigM MsBNymˌOw~F$yrUhuPdB45jϝ5~f 9MpX*lУ g4eמbgGFpܓ>5JQ?:P#ßw`a+O}~F }@Q{ۙ |a~uȢM{4C8O*C{U Mاf3,/,t`ت.t}̄sAM_4訔u* &xP6=q 9smcÞ(R(Lf o&2;E4qQ`*tH*7G0Yr+ˆ{ k:No9sB+U(L<)SHzKĜ[/[xy([+&'\q>]痥*l>Ow?{51E= çXuafFGȲ0JobR32unN\J{aTW{ubZ G͆X5SAzs/bV!3 ĻZz>]*`qD8)J;Hw.P>h|/fc|RRA 'vqA `ZwDبWOGcXa6\O|w-B/!H_/Mը{F񿦃*bЕ>]D. [4"sz@%TnX6_SHtyԓYŪ傀WaK%n 6wպ]wYFy[7P5$Dٲ4FYA$?B3gWF0/@& B#OyM6 _CB^FY_@ex+NMɭSa n"%X| M'jnX۶Mӵi1Xl}}hnp(W/|8` . ٌb kԱdF2["v J%/A[F&`~6tWfxMX]by.Js9B~2;FvavmQ72U"kt8n' x0_w~n7d\`쫏39 k_}]VgĘ- L i%&L_db$MgZͧG5,^2K6DW@D<c(vn5K6\<ms2ï\iT/<1X㷛;ѿ qwZ$R\֯NP%gdՒ CΛ7+Fy>wgkyLBe5UOR}ƿ*vNo~AS[B|BELBF;?͛D5{VfL` 0| ńL~ 6ane5ˡȿ!兖]Q8p)!Z_;~1K]~h@2vBŮ W0B;0 *OE犣cz_s0ư3 oURw'h8,|F)">&%8|#Kz)E 8ZB֣x9m̱`J?- jG/9|EO`x2ExiRb[ܯ N9L=wܱ2rI.bpEbv˲`2㼧6,iHor~Jc+S {9_j{_U@rEH| ɪBd^&Ԕ5V4吮nK3OQ3hfbEɾuneq3),;L\㧜1U0% r7 ?̓OKù)Փ51]eJ!r.F֯;F(֫,kO?XȎVVr$--BB'foiiCӕ1#Qi?sU[Ĥ.̠1ZD1Igl:^aUD6 #EOH=GG 3$gbҺ| |rL!EbJ5 g}V6$zև&; 0 4YB|'/sj 2zM] ӷha.X4*#Wpٖ+E{7(|d8Ul*wiʜ{i µl/:=TD] d2F_T^rQ41ĩKi&@iM$imގ  Q~v͡*P~| 1WDӕˣja@/ |׫k7Y~Sp6j"e&=})_8^:Jz[x괾[.؋9]y]ܔCW4,NB ,7N8>KT= X&tsifA, Ua@P5+u~L҇EB8E0l0' 2'ET. U8i:WF k{q3^X5&նāD#,I:+e&([|4k«'O큊TWh1g44 %ųfɹqzc= D81 Dv\4W 2Wַ .I@FQ GP՝gn fr/?~TƗeM ȕaO`28*1꯲'Vw[HRvA_zUrk lvN'";,`zD0DT&p]\zti ZE7es\*T^4}ƍ6X%)go9g)E>l(͘_|, zLZC>WۢK&%6uΦɦiNmz htҪsh4 /$hU7XI426/B'tQGbD `Ku5t*9VԵD!ɟ @",(HSGk*T'ysv={ ަ^ QkFKt#+!>gEıȱͥsY% =9]NƲ_);)w՘OWqsDwsD"?sb}޾@i)^:ǟ4&"(wG[O>n `+E)t"JA[+ *`^S`pb~R/+V@ Uhc{˙ 13\u\W5 ~;dTW@1@GNʊZ9hp 1 =+6IoHCIݰseWu/ԇ?pM"w,9aʪ#/.6 2K6cEg`QZpo\~/nI؊" I,Tb<%ŕɑ{Px[EUs-&fxT`:@ANjD~'5rJ2o25F>HRAʎ7c{O^\1b.vg:ڥjdB%]I.T : sJ0&JXDI ;[(l cjsPƖW?l&9.Z4Qfk`_6Xxj,jUA uWKj|2\=Xv80yMIh,<^ < m)\JL*~%*yF^gJIgHjtmyubXpBsF:R$ƨ 94mېgG.AH~#+ 3^u[`_.,6`[LM>Kl]Pﳦ00:dUȯUo9M߮fD<U2.CXwe7YeEv$N,}EӼ~G<)2U [ &x)~^tUrf5E~ tA.Pl%<S''FL^Ƕ) \_M!V8h|^sbwmRyj{^RxKxW'Қq.*yn4edki6{Ŝ=YcjS~UT?kEPv'#T8. (Ŝ<QʗOZ_*d+ؕZFז=hv SGчlꄏ aT-a}`'ma ޯg2)䴩QxG\CCVL9 /܏GQP쇓ϑeU!s^k xxȎuTf)9PxErQ#-02/ֻrCLqZ政y@w=z-6#)kD6$~ 4rg)Foo>_Wў"ʸ]gv>"Ze,8B7Etpq"+%@fCPm!jC6\i#\{MTY_2PF+{ྙsL6\L9SV9ˮdy{nt+Kc{fЮKoɇ辱B2њ5%v"9xj[6aL&{=\@=Ry)H(hA f걫T]' ekB)Ta+_]W)FcK8Xj'3 ],`RluecA#=vKs̠:\s|e,VNL%6e.)(Hrږ06ZnGCI/v&r`(eX$Zy¦ݡw5oVd]=a#%ɼT:uYö^Xp~)յˮ4q(k( fuD_Pqxʂg@<#ԣLF-V}7|J~(c`jNB-m#J:]Y[!j4 >/[O\"Θ]Fiߞi֮+Yr2Y ("X/8.|=, Aԅ"lAY#=$QBR9ȯi蓏zxgb:"S8lw´;u2Ř^t<-Xަ580fL{ Ҭ 5G"w˼hhX/a I _sN='5u$?\;٩ sD7&3x"@|ĀvԜ2$ARChO0S%Jlſb! Rx a ڗOP0:m^#-D=Ya_.6 5O{z"BcSe9 bOe+8)V x,ϸ9[z15ZGJ̷t(ncWkpggXRn.|?#=q BUFN<_(1g?DT"^8ܷ'/ɶ'=#]n6TsFX㜞g-Vꋀ-r/]`Ta]uB36)A“x̡)HU) 1݄3ДFgz:7s"P5[2" rג&e=)Kv+$\ٶ*&#dlT tbnIi'{L6iD;To VsH&Ԃ:A:֟wkS/$c`SuDmuEְeD>u1F@cX#y6H} w.1!c}E\>Qϒ[)Kb;'8l6}bkѿ )sAl& JP2mrecXt;p%vTgϟ ZށJ7LhKjg[bU0ѫ;Iڛ){L˕/Y5b^ֺ@Ȭ_%rc5M/7YdZ.!d  #Nj8S)2l LXHH4\[&)t)6 ZT~KZA}=]}YSvV=/8a p 7xYCb]|FO"fI!ˊ=j?2`(%va6j!E~ *V 6&D sBv'1hQ`Y|˟u:PzC hO!YSIMIq.Si Gj| vp&iJkEyļ;ծ-EVs~[C4jǘYν~7[=s?m=}Ɉ)"kP! C](_Kp ǰ^hӣ.\r}> Mq6xoD5**-dTܟ~mZ6#5GbI:oZaM[M Ui6P`'HXYQxV;w4 f綧MQ`stBKGO1qH<,L( c!%bRpG]9$N^]!&F"?nԨk`o4eL؋uF4&j, !oBV˘F7 T:SDi'n"Cƀ+G(!Ş4;-0Px&kAp_[+#)N:_VPdJ :'CHwx4k<&(#dhf4ZiCT07UW۵#R{7Z{m|sx~vɎQ`((adU]6s)h9l^9NWcm \L)E \_IUЂ`N!_8gnZ^.FLTªN23h yre|ÿ xqw>{H..Bkb:pH.q8vZ0nj*yE[iCUl42, ~һ f O a!S_|8XMkp'k1HnzW_C`*M< m[]~"ulɛo/VC^Yb]JLPF*xc÷~G{:bF0Kom ^ g B&!]a9骍Cဣ>(A#%/l,mKq\k#P],[X ËSsΛ ExH)~CHQ~3k֚ HQh'-粚i\A,(h›Z3V!?RJ`)|w~c,`PkHI{n n J٨)l&CE7YKth@r~$ہk[ط֓IL&<`*{N3B!ȿLwh`p ?ܼɸwR~cAD;}&rR O8)KhnPyv0&2GT6ͩGr#~W ӷNB/ edwU]e; DA6]`RЗB|j4 qAlP[f>. +5é-2ַNJX (!j'ڊcB2BR2ۏ_iɚMԒyl'c|#KxQ+m=%oqÓkl$ݕ,ؤԑh .In CyP 2/ņ"$]~+AVO5{Z?*bv kjxEn#)t_N]J3W0@ٕg=s8)ItCG:X J͍-g9$69I72R8YY*!|PnE=Js 6F_s<&+ Lmbcb&ۓA-4w] zήi"qQ^ȇX0c*wwFq`{Tqyy1Ly* =-Į(Z η1ZMq  =3x'&9\>؎"b6^+ZgufȟXt˧Ѝ-+"#0n.(mPHMJWy1 X1B &!A-R^X[m 0 fmg2۾٬~YGH鏲LKkҒ#fKKޕ f» |"a~R4BM0]^ޚPD3 -W{g rr.92 SBo,F*NXriQEdKy͖7#^rS`Ċ>Fb;ǂ"_研&je0K_9!^5U!L翗+g Li32|etM(L]7 EIip8J-oe'ͬP |.?pQp]XD% -bx3cڗqK{4*)A0_{q A&'C6ишpS3;e2J tOfh]:nNtyhRfY> 8ffC،|Yt*kb\SoŽBhBOښ54~ a  V]7R!4u7B&NR!}zU﯎ àнLtg/+, ȦE~3Mvuǹ}ltiS-ب5y. !qO> ~Z%%y XeU;0 5y$Tm3c~# ?\|7}Sthfw,4EJ.[vD( sf7Ʉr%rPK"4"ᘌАe%y/[}C?'YBu yp zHvz\Fd(E*[Exf@ ^挬.ݚ&_8,vcڸ5Z?'EypmlT{'_s/"+o$ռٞdQaܧ\dlBy|E(~_ 88%_'Z,^? v1m&:@TMkP A⡸ʻtM2 g,C5qnĮ#w3¾vT1J˭hW|~2 oNg<\^P%ds?3r9O_G4+0q}T&X %f5ewXsh`h yzAdXڳ,^]nxq]J62g-8AցW=϶Im fmDp6DN&v~߬+מY(vOW`*˝NAsunPR?7yJ~T,q3.OӅ (ԿF9ORM+obh9 K[{ۺo^vY*MꂬAPǘ_KL;U}Z̷\9 NH>:Gp; .}LC&X*9Q5Eik'F]wtJHr%|۾7[:;$tG̢֧FqT<7_t܎ ǁU'AyBXm^BflP8a:)fnbMT5Â(78r9&bt>ۼjj\ACN(H5`RH5h]/O6;&u՝Ѭد>eSz AŎM p^13ʗ_#~P1p<L[YUG3!X'wٽlZuDYz * Uz]Oz-c}$D*0rb&4gA!*z޳3zY v-Ey% {-5T޾O/gVp}qw-,N~ =W Z˲*iPx(C`IPaGN/k5VXFNQ--%n/t'Bى )ף%}ټGeGL/^]pQ:?4GtFh+t" NL )FQ/;џW".멝 klr:\ &p#JvmV=@Pcbɣ$9>s% ]9g<^„Y FfW4,_¤blL[-WΓo>'vBҿOZǝRǿ'lܻ;Pu޵-YŮdo(=#=|~H8^ߺy,9q)dž vrFJ?iUΡ }^l!! 0{5b4LZySU/|T7U&+#>kv2$L֢+%Ю3GfNgeONoL*lsȭk %ʧYWfN9sV +Չw4`}ЋOe<*Vbp="H3CH z ;nm@șNn:n}ZW M}Ԉ~Oذa5F&kqU [7jJQݢ -sof# QgkHXB[FqF$Ixn mSدazEp L2PK&B= ZO(pUaIHEq_w8i1l2"M,rS4C~ ᰀ!p`xy xXBD@K/C52.VaRTN[d#R'ޫ M8=%glaξ`ڣ77rCI \#' V7k5a=htͬ^tεܰ9\2V QVA+X?ܣY#([T3(e a; \I5&=2a~2O_]Κ$lhlf!p0sg*ȮL5͙ Ћ6l%J @^e*Feg$GT`}}sl%Wb M726[n8.54s3א+oT f^_vp|Ư=7s?} EqK/my֥fccaʠ33bfI6تș㈦BA]tx}'&tiu3A O?iɥ,/}nނl5PW~BׅN eZk%d_uFiŠȖ WWLn^2 DNe'a\PQ_ܔځdrC4vT{%IqU8|iLvAw\I0ѸWeyPV+"ωjx^{R@Bd, "0P7`룗\<^Q -x{1|`yvs win*ih%0 KMUaa'ȂL #~-媷as-emeeN;5|qӗ {fq EծCgF ]|^3ݨ /YVel^ U$AV2&$scc.M\'l48ʲ#ֺh "m.-w KGw!. QTBm#WKq%{bWFI!ۀ~rX7ms؅3rJ l]ՠG_sQv #A\aL?}T>MDWʍ"Gz7֌Bm|(RP{ A] ޜ5cKoqI̘엷lZqtzj .|ЀDc+x3Y0;*q,- a0]+߸djnqi!{Ε5 g]TKG ˚rQW-~O=#!x^0D C' eyR"m@wXtw=#&f玏TxtyM!9c\2eUݮDgd\I׭i2KJ`'ѱ֪ PA <LHt5IO+L' ĕ[K ݢ2}Qt/kSo}4q(bQZ [|Tњ\(m1&+ڦ;O5gPGS i^.赮J)S4[3m}DPm (@jhϒ6}4償>7oR,u)K 9A/p{3:(ܯb"5Yp"29*4g]GxIК힉:hM7-=䔐l^$4Bq<}$wkR\q6Iǻ. af`X(ȿ3.CɘjyȕU51N҈O3v$ ˷׻(P+M|1WS_cDc(t9 2e^3 תk_ ֨31\ Gwcȧ+N;\V4rSiFlvzݭ*lFgG&lIܟuMuU( zAſc\ =Tt܅} 2՟I>l2mo I] gÈX(` &Jmr;)Wzl5xQ8s+YqNEJ;硡I'܎z:I LTfgTŻEʦ$j A ,i_m;\:Ԝ9_7Nrn.5`dOq"] )'F\|"do7HWF߱ O /܀ښKsf{.V,B%i)Cy;rYXhAB7Mxh0 i oadX.|z4ϿA}fZZ zk)GH9ޟ͔C/2UK&WIImrE_TZ)f)3={z;݆^gMwF++3OjZ]vJ* `|z #*r𴜴* E2ʃNTR]=m.wcs0{}nP;Z>ނ@Txs8{q"`_V! eRߥ]Zp/?  E K< ;bIXr8HDY ;n~챯 -X# ۵?XxRUױ{ikoDobBDs."%TeK` ë%Jڎ55x8^ĩ'?P8`,VN XiYO=Ҩ/j޳}(!'̰C:THOrs )H"w4"o4+&;{[(V$vy39:-ؽ6_3)_297Wv@ &ͺTyB[()a*=4>jOqZX@-m'3(Z 166rwI)P?S06f Ό>bR#ln ]0@bh[~ |& fùЕ ͖}=X ._i?Ke wboץiƻ @ }wѽgcMno[DvF)fg*F1GVR86&D2PnXѧNH fj BM5h\hE}] @z" mq |.h:0@\@ZZ:ؔQ]8%fB#e2R b)\+U9=]IqJ B=ʣ-J vv3IȘNr3>UyQQb+~%۰qDm wKBt@#DF:C&h@@j ZaIҹ%rrj@ Com_fQDIJYBvH8]}n]! 6瑃ڒvn:5hH%r^4_p7UARåtko] [!\c@Sk +Ym%ڝrނST8Ol; } nlD)Ꙩ<_)S0 Ύ+b^H>\)mC^!J^+0hf"#4hHi!S `6bgoYq^Z%ul$oը֟@34R0p qb.)MIL=\*1a STj~] 36o[y3}{ext<a| QӁJO_ ?'guhDH!#ƎؼcVZ5;! m&gru~u:E$PuDr(=s0Ot0R0=na(xJY"x/"4.‚\vڣ;_(dj_p.&c ?TؙʏP=Ea s a>Zw [T}oN81@XYs@:`&"XTvx%cUS<;[W3^G$8 vO3ʶ*z S E}m{'e_6vcD̪b%qO~:XM52Wk9Y3DK /s{`g8qxˆn\C*{+h鼍+A tT*X_ڰf Z)ǾLTA8''85 7a2ŗiu X]m"eO.=Ee[D?seZ•FAG^$h{3D7+m +oNUQ zԍa━ۜ|dbI{GEϝ`BxXD2r.@p3 K=05ox䴨Pr.A::R}QdA5d)-vry"6c5 1Oӳ֘M4rӳ͟HpeIQUCxYyCXނ#C@;VyH3x4v vс8 o?ePI~ԝ-|? Ȋ>Ti!Ey{ ,PG^ߌ3zQ`B*"]A~yBG.8!kKV`1C]8.b1jk^4oU:v17Jlrde>OϏw(֜ЅB(j된r~uH$|fcQq'ang,-85A"9"lWjq^C"R`W!gEsߐY韸 =ux9<BSeJc\(N&.WN.2.'"U@rDI3nzKEwذTXA_RFNdݙӁ9!ge!c%*qgY>S^ci0y2z!rP"@2R!SJpkkx[i#X˯"~~qֹ?TF~kr!$,# )M/ ALoˢB[{xF'VCUIC{#'-_'U}7[>1C ۾Ij)xsѯеEq۪|IE}S1| D23P/EKnӗ> e$0%5›4_:Lbнr>8[)0vU?MAY>r ѵ&σVеaUp#¢hh[P7K]#Ĝ׼mǟgm{[#㋽fgF؏AѶ Z0\r]\{f`fܑ|H%x;5V~#J#r6Ph.؅9u-u~;<%$a*f ,1ev3U:nʝuӇ|!6#Js$rB_!v儲%kpiSnWK |ddƽ9qu^u\Q*nIhsR͑ǯ1vDG]| <Wֻqp ECvR',<$_*S FC D}>eʩc= $  FIҟ7-_ Ŋ{IvFsÏG\! ^M++̏#HGƓ&׬G7kI@V#B#ު:nGзi'8& Vyq,׿w?J,4NOZ„ t1v%X d_@'f,y]KkT}gA(ySE7T d/x;iClyFZ.ԱT7dѻMArG$\W72{OU[N˪P/K5:υ7ftGVݕx`솕=na{ D1!8ZH(!,}hQ t|ӲW4Q4AoZ.nB~"ދQ%͔Ȝ2 {}PNysyD6Mdzl'/{2G _BZƸG~WD & =m?w}zjIFb}q3+ L*m 6vMMcu!#/گ)ISL]MΤiv9܃L4WD]DssImFDM{ 8:Rqkd=4k (G[WX4-nGcdI`ʪUuQD}po/V KPFNsJC⟧᧘=o&_[_ifc~ tFceӴb_ j7Ub]+e3K쌅g΅N fxԲy VLOɶ_Y7NY21HŖ bA}ϩ4jȡɳsD+?j%T'Jr&= B(Cl[@WwHx -T;+fO+̒0! ^BFo6LtD1wzct4O C}sMl6ۈ108;XހpV-G&11ɓ\o}W({C2=h$LKуGb`F"d'(q+َ6uսƹ;gJA"YP>*\z׌M;KBԍme |v@$2HVNQԶaY|-e!]IɶI6)&{S0cvV Nvy-%!j쀯pimVbR0v5kvͥtf~.'~vCr&T 2d4ҥ6uvX٫n0$npTQ^ZzoR/$oEU Yǎ%[b W0`ȣ=WF9F_SڣЗНKW9$EԆv>B0=dNc%uDbD}ZAuW$ĹEWMU}(nm{oVlS->Cޣ Xl|5*-CiZ,虖y8?33 A*X9͋%?:o, vӥAA' BGٖYMӸH^֋qqav-@qf076߲YhHb `;3=8qO.*Soe~6.HFIi U 0J=,ug74brb |4 5Wh?Şac48a/Pq4a(/qYϮɕEko\5Ǐ?T /0DhWRǼօ c3NC3׹ww# ]ilc<%Ʀ1ieB GLw F[X lX "z:n.Nu^8e] zP^E*]PT3H=Ry OҒtC`1N}\TrM9d >Ž0 k6'P:EAqw/LD>Hs"F_bx?5Yg.cE:2% iIZ# Ha=7Mv$_[N(2'wW): ve)y`[τe.ٱFJR.":%W_!d4ؤ(ίBtjtSmj,ٕ/(p[ )\_pˊ23١545v% U}B*bo]hHL>j=I z-߶.m契H'X%pZeν 7̔ߡ鷳hr}ma58Vx3 8@:F/Ow'JlpUS_`.Zb{Q*Qw%\ GbKQ?.)'"KNG&z:z1 Z&ȶIژun&s% SYwx^]b4 D+[ A4K;I+fSi9݁Y ̜7 XRq_Pqȟoz TYT~(LSF w䝡X~C]S56ǡT:"^Qy8^d\J9:v$7C6>Axn֎kQ~ eLxH:g߁<ƶD*9bjW>^j((W2ѧ9dBKu, 0c+- 8; gX%Ѵ<}m]LRZ7Ske`.Mfv &Q#K5z;Hل/EoF 3Fٔ]v+ѺZVGO{},mu+XK)3_5hQȷJ2塷k1%)7@de\,Lܓ{7bwi#-Bҟ.qp/p-& mȒR4aԐ!iQْI ]#̜&{$"IzHGSR_>O=i:EzO3[vl/KAL<.,2 2Sl\+ igxFiovv,' +|慻:V4аRo'qڅ@RehA{KQ{:N,_ Oa`:Qs~_bKamd2fMf毎4'O߃8L)<;m gȜAo}S6^2lxOI;RIHHǯ+ECj3@"NӍ^Z0QE5~^wz8j?E/!EcB,cB͊~Nlj^4YH8ja+(${Kh*tM*\p3%K*֠vVi\Qrf#fkkz3>^׍"A4&^g??6Ō?>`my>s;;쑄;fmh@6uu*mW"Bi\Re '1:,AHfW^#Jflg$y &"'#đ[x,EtJ=8ja":1^F#ojտ{ b".g[~rHUse5쎒CuUϬHExe=̻ .?*Gʖ^8%1 UQ-Lf*s3_x N=7fpW6,{5Fmsmr6Y*ՔcQŧOূ2X_`oIuEg9)4۪ B$Nw*DѲ3b0˚ͯIf,Clx@ ̻`FwJSMUp,)y A!ƓA V`qPe#",}Sytb-KcRZ@|y1=]+.s`]P!49(Ay6$3#?t,#H1c%qZ V%0I1-#x=71]d6Ir8jچԣg@1-poMK̻WV6cXz_ʀƼuY7~86_ Ϲ"%S(+A?y*%PzdǂljASMv440S AcX{ݠ8ޮ1*Qn[SXb"HIAw(,`ЅJ?.^IƷ@51HcΕ]>aQIHy0 y`w=~(ӆâf^c}'ؑZc lx):^xoүah{3s`y%gzcslמR ȟ5µrR1gBK_ y @:TJ?w,#՞֓J^(Q]R $|#~洟K752S9pqSCgi#nLl=4ަ9cX=c$#5{@Ǝou %;N3' FT/]j [ɏ̽y )OM܌Vdf]K7>}Et }a;u=`!? ?+hj!TBpĂE &I}e¥4wd͒:ivV4/)p[O80/u:t?G26Zf&;>5scHwò!qcX;Tl%uBkx e: k3*/ c0_vB@">b[`5y15mo2 @,&3ܷ>wt6{DrC kMq^ [<ިd*PLŽYC48BTv|~|Auf-V)aHE0 ~č?t@2QR^uCv 2S-1+VQ&g#Nd\RW/7V~z B)0/lw㕹vX\ȝ'tEܮB&T`N$k2䣀#.%>~RNa~Vc$ynWn>1Ya䕢&nE!T>:xfzxxVeA~ĉ ©N:#/5o{jlASoQl.b ӝcc0}U \ hA:h>^(R03;a?`"k hH9M.MHp)ea  vB 3tᇖuI,@xHY)4.~)Csj2*|ɮ pjдeQǢLיl|֓FbaGh D+$ʽtY霮KL_?¿daWy-s#<|[MI᳸Œ4p0v {4Vпl26RvwGro꒬3`x{b"dt2ߧΜPi( qmQAF Bݨlw4XAE ;J.?XV:JL{a\:T u+eo:#_o`Tw}B9#Ѻ5H%PL X}tĆ'}_NàƒțxDhd/Q9,29a;/%m=G]3IqjIljcn^n1t+`&J?+'wss-t"Pt> sj獠 4,{4 6O(/i#&*&$mn/Ch=P~aŁ*T{2'sG__ YS'1 Q:ClN g%Y |.aa1zcYOiKPd~_ʳX8-Ϝj-rAK>ӃONz·@?ZX?7JI7vPN &Yv9s+]HuomS(xˌ~T?f#۾nOZ(K#[>n$ҜfJܰeReß)W{!N4Tfy`9ead۫LA&䝊V5gq썕jk ~=JA @ سfөY%a[#ZmN(|_lR ى }sdXS3.N*d_2u[&] ku%Ig_̲k9aA+O܉H4C02o11 @9٭7B06_[HONpxaX_KKQʷFu}NSy~ο~G!4 B=3l3fVM<*&K_ [}ʛM4Q}eapYfxgrRC3 wuP|k񰪡u&++aҨ|yyL⃻:Bb5R!uEwW$ 9)^^UK>S_Y)ØȀlfSP^_"47TpGTz3/J>ftP0[jbXA9H9)ǍE&' -y hw?HOӄ3-ɐѤ 3N@ξՇ s KR|5p=5W,Odb]D<`([4J$k{G'PwH1=<sF R$'Lp֬v$73,CWm`ggo&+7` ёЧEf"%ja<^t'a[})|N#}d{ Ņ1Y/!$?pIãk- jI(TgJSםeQdדtb,9džQ9yqD#'cJ+B-d*kX|+/XOt>F":;GJG-3j ӾuB%^Bkt<Ӊ =V`}|[WC^ͦz,kN .*WDD}2Wgu\36~eXMQi@&f8/n:d&rrKUC(L/fn?jX% =d'ܱ.“tms+c20`QQҫNP6nllXP r!Ea`o2 _K~!Ըz&n9d(saSxxZlL"G/$IVa@꧘V=~Q{|O!|nyfH&z-L[3'f343^z=Vb_ տTWIͰDuA[(KxPPmؿE0Ua.OPJr{b5෇h2Zd8&Mjӽi:v,UNFNYn;7 RGJ4 U6ZבI4gV4k-'""$qv;sdJU|;*/iidݏ" *qFʅ-d\sy>mwXBꔑ.e~I g^ W;j0x$xىN0ę@R-&bC~}NZpI31mh+?*zmBN8&V XT4H.ʹэ:pW'RshW=ԃ^OdN>RBFbI aw>ҕfZcf40c#ro%ⵊ{S NЌ`bxP?a< )ԍA^EI[0q%ƜɆD3Y?Q4ʖ~_͝e=?`Y#{7P̭Ffvy?b+fbp.dy 1l?~ÙF$*\b0hkf wEM5l9‹փ2oáp .'% f?KojB|D ASgE s# c( ,le]hdGQ B5@MlM oCz{7 Y뺊+`3*P蠧vQ%1/DgwOvk]Ti ٪=A 39PT)ri9kՎ r|94Fќky$L/:CAI5ӝMWpcU< 3W 'C9oC :la*dх!wdhb}j\5х2vTHs'z`FwV0Y%XkcS,bf\Y^*"w -VQ$eҟd\5quso0xt/C)'y2:p?-o0Aq1G0&trO3d ;"aJK^?}_>N^ݣ&Bv7bExo޾=m]gޛh aWm,4OS?97b[.c m8Z*Kɇ<\Vl8u,5eC,^&0fQʴ/!IWJ:[\.j; HHbS$a FZ|_*"@,հp;18@-cZʑk .Jf4zwnց6&4tKeɡ5xq[:- ǻf툑g]^~^}+)v؅Mݪ2m`,.>}Zy6gKp;kZHh1I2hTGu ?;AT,DP$ͯRuĿ{=K5H+sO@Pj&0VLY_ъvUy?x}?Zy<I8{,ư5#ot<Hc{kp@m@~q̀ ^N/9}nEac\墌%T3=hhCwBBt~z re?zjq?xZ~ϻNf)?+NwT$ÈM3.R>e'*n㠵`$$QPE((Yj%Ϯ e<w 3@NI"Ύ#V]~A?p Kgq;|(KƃR"K`-]; -T h>T7?vqv_Ձ-XۼJz^]R#spX˓3iΔ8'X<5%|q'cdʹTO!-"bv`F1ifa0 ] {ǩ% \mFG TtŴB=}m}~I4&ͻN)f`rmZP7ŌpTu?wm 1kGGJ$`i8r$HR+0 rN(TKhqnm_?+CN5 @ꌻp-}f,J#g6-%Íc)sQNr`iHn.eB h*1uZ~5 )>KFVƐ)]@1h cR=9[P"X\ۅmAŲUqLǹ)@OV/ ^yc3V;apKvҔsp˸%9 v!jl>AT'[/NWD\N}or QFI 'ʊp#ţ9+2I"(r32 )Q5UBcPsvHOSKxS0xiOE8AdN㌳-+&+; wgF=}AbHE 貛V-޳c7 xDZDIβ+9X9MNU5/{f։3F1ce xboCFG3{ Q 2 SS&\4.A: _W~rMRtH!wjd71ä(98.ndϻL5פIaB^Uj0?S, Bǃv;G[q>Ǻ`ɨFIE?~}('ao%0/*?cdz4aC4ޅp;ۮc=qIsLGOJk#:fӔ(~JX;<(,l$rY>ܘ7sE֋rlܭs\ n3*(s ӢM%LvѰ5zCA$3 yn)=-;,wzEogt<DH s,uw_`t݀Hµbxd8.s R(MQn!d>f@.eT21f=c,=^{v2ݽ&L`(GX8@@Xx`uSҹX2b[(HpXF d$;x,&%q1<(:d#K\Xc)54_ٱ_.";;.-w" rZtrtkjȢ+4V1Ճ_D&!OfRv~_m8Hk5M#ĉ dup] j\2gqisziYFz[?6 ?!st w-&w\" JKsUNC2;oٶ f\n%)DO]i Vր[FǙ%-Zaw2.c cr\㱄(,BY=b+쒽&}EgnLJ<}E",B^g6K[5D" ypA+x"xg5tdf{ (?ܰ_m38h,⻛ al[ŊYӝ=OBʊ?P{Y0^@+X2>†C/x0l$\a C؄+4]o;W mpќfb=Pv9::uVNzϞX%ɺgEH/>=/F7K$x3NfO ʋ޻$cn~N `k;܃yл5ilPR<ʹ0NdkA嘩ܑ2V Hj0#1@nIy_Q7 f+ t+މվcyuy/3GNV3R/x(ƞqƝ< ,P/ v{dgԯ[׆K eoR4@2G;2E؅:X Cn6g(2]w{Ŭ%W.-`t9}i`tI7wߖCj$1[*SٲфBV wլ k;SR|c-*M,(9?N4BI '^%Vf ʻpvbN}C(2sĂӞ OI8F4%s;F(y3_-4+g ՙkh6D iL+#Ɛ;CpJv0ufK5Ne7f[̇9!c@Wf]Nǽ^:msLUqKf'{sG@MR:(M`"2_/p<@Rw>El`C嶀բ'4AJeBWGzDÍԨbK1ݟk yz3K t;>iG{ˈ<ӽh'k=s〼MJRzR ؕ̋1 }"oNNf^[= 4$-Ig=Yxryg&_ 񴕪T-@9EGq"+r0;!TzL &!ّ6wI^@QLQZ5PEuXP΢XvGi L)D!O>ZΥ\ ;^DF)Cǟ7׀Kw9,eSADMo8 %pGvSF /D|`rE{}2WoC#L۰C 7%ȮVАܸ m|3/Dg52:ő}'Y N:ƾ "KSV1u&vwu*w?Y~DFܛ>wK#*x_ƣR,'B72R?[uA"M3)#jts}@bȄ/)ԔNv"B1_O"y.N$ɨ#羼a1-AW;ډ O`bI[3S@|-mH u3Lc,2/, 1 ԕ2(o&qxK##Cӝh r.j0QVJ<]`h q7֖Qӝv6v ħVd? (dglsHhu /yXO p-)[JVj?#{p[1!XI 6Ŀ^,eĀ_D&"U}e=8y?gsSxw*Uƀoh0ÆZ]**! @TrxF|cT߮䀷kpOK;x j.e:CC" 1Ɓhq Ihg9NJxB%3dAw\8r"O̡5}HQ*#b+ql3+kJ 5IoD31~Kev |+pl{Ѿal,PfuQSp˖QB`4xa6jjDje9B^ .}5"o>x[K>3ƔٍL@EE뚞G .A*mẻGV1OI 1/",)YaX ]``4jnJEP"+( V1_F9 ]@^hPƛ˯zS- l ^Au&rdݠ9iw6;&fڣ,Cyde66{o3֟klH۬Vm肦TYT6t+F(ۃ|\?hښỬL]4 ``rom/dd_߮=Gx^.!,+bwnhp'IN=f[Mm 途wDݧkđ4 |[6F殓]:Zc G@_H8+e~W' P> /6e]XɧaomJp0C"udalzԙ='h,(&'92GZˏƽ;BPDR]~Kcu]4V%Kw֚pvP$".`:F8iǤW)ʮ>@UD$5FtňHSw8WFOC:c uņdyۍ"ڇ g/mpIq%A_,6DXE07QDR+4I(P:2 u_=J|JZGw%I_GNmPHe{wM";.ȩ}+=o1WN4[gO#PoJᇃ_^_ྩc}+Nb}Ʌ9]'II/bz1ޢe.D׎Q3qj0j)NPi>} qnxwu\U=zN)EAZtvA}ve|02ѷH( 3]ҝ0:QQKh=W2*%^)Į %U^_=ݯSND8e34DUl)^F)<$ᐮi3W, I r7M8=qUTum^p0m]ݕi#R~w]pX2JhwnЂb<'ac$WH1o_Ͷ. k?0W.NpN}nn؊ӂ _cZ^f`W"ANH1W-CPql؋z-0KJ|)zn mtDz.c1*g*4m҇b /?ͮhTfxiZ-k 5 6,(V {gL&8)4Ƽл1]9zT4NK;"Ez]6:SܶUQRg/Iczp3`(מս4`2ZW:%h%|_`Cr.ڔݠg~b4#`օ!z#\^1TF"=#\̩^_ mZOƆаxaSLdJVw\NgEn.MzːƁ^rnޡeL-k$>|VUȞ|,nn5ً3 /lw! eeS# e=6#,Oc[(z'OtYk mnncc}6F$@ #QٓI8܄ q` Xnj@,c{M jkRYdф (cH{daٰ!x9 m1 w, uFQY9}=",1&.!9]gցb;Ir};ZX'E:UXsFbXj& )`]l9+mƅ7&18|>ZSWq<$i#\8QPħ~[_,*nN'Q7xЭWi1Vxvs~k64灳^uT7m^Dnn-\ 2 EveLI~޿\^GEs~ gEt--Ml-$Lyss?">() в/wMX&]iseug /vƖ{̨2Bm̹ &R,l=tp]q.*@]Zb؍cxȝpU+(1:φD8>J0{oCEM "|-y'F _#4l,qs!/]:p<21$jS< dkxh{˳)iw?Ltq&N`ǘ{lJ85Tc|FXECTOm*gRe!#.S PvjXy|t*# 1rpF|B =igd]ZZ /ށvPn cNlүێz9j;faZ k㶽M,a(ՆZf% YUV]!fxLlO-Z mv/7!}F%wc,`u˹*x>9WKP귆Uc RH`?q.h<V/kVOǺ,:$xjy˦Š~} IV_iEw{ٻyW؝62D\Kx=w&gba5`GFwJqe\`!:Im4XLdX[~@qOB$'ݻ̑2GyM,$֠@uHc'wN>}lc9eS DF֫ (e}~URYarLJ ,"T`H]@qH1G{鰞[ g7[q9ѥӝ|"qpb.!} tIݱDō RoR_w}: OfJ=wlas ϟWtWZ77-ca܎ 'e}tEwbZ2[=kW~Qr־4 e5$O[#y]Hا#{Jyۑc%I" V2\)}i & Z"*ؓN t6bHl:wC(|m]c$ 1Poh6J6U\}9bk8T)_(˗)@ bZ1G6CFف8/SVe!~FoU~LЩ%au77Ƹ;z`9r̰yIJ-U:c@7Ԓ!ъH9Qi0Km!Xrg֝ 'RﭓʍwAIY_G }%AI%5Xo>l[b/YqԵ,a bs>TD{VzD`Tq0K}z"XJ3L91ӵ(ٍc.G4*#(sZJ h"OT|AQ:LC6wA(0ץrf-1{z o =#.ZYH <]xpYT`Qh|:c_8QrS\Y־h7 F LJh5I*Ldc J{HAv+%ӎ.sq>uQ>s04JC: yn߲^rdSz8">mI3eor-fԟ -jvC'Sʎ0dF?S-a,\_|':͠8US ݍل]{aÕT|qg')({'.(e:/\-"ߕVό??hCO ^k6 e/dC ybX5v y$tkoLk2sJ*&n cosV^D^G8R0]w}i#fm{ivZ_ Jl> p:/oæ-@{Wh6R{J0YgsB푤z?|?yX9^lP?h3?Ѡ1O"3K wT23$^@ȕ&; #8QrB̅)P҄VWGbp|%s=S.*=?’yȀ`h36nɅZs5\BפPۣ^ZLeQ40kĎ:iQ+kٱK#0/#GZc:L`l|]s٢@:_N&2MX6d#Hg峭{Ն'x3 L6".03z͗9v1j_#s8{r ?=oM(VT&yqG(ka__u0SWX 8*AOߵ+D4qClT|kMzYk@5ұ^a/QYBEq2J/*{6^LwxQ@#K$;z8kM/efn Ǝotr93G `,8|#?VQT@w|UUn}yiphZOMI1H.v&GYN-5o̓2 "Y2]z8Q u K䬃|0pԲkx@ ʊPVa$';E62,ާQBYHzq u<+VJo77hFya$2Hә'Q'ߖ.Q#ͷG[K]\Bs(#oSb4Mn x[khn^(EU}h~JAkKJ,}"8XtCEMdYlJԆB_ad Y2i$Zc8ECRCՂxmLN9Ohp9ekj-@%碭_im{<;?C~YLÇܰ^棒UC0M$nUO 8w 0sr3T|jvΛb=DEQKyx#eCz|FD`^\L}T%1τffϖӝ 0XZG!t~ %mڒfwh&E^k1}n&W׼ vh ^`6\0lh[F_~(hKl,XDQzS,pp ( *Li9ȍD}b }.ʏ:&|^^klQ;J(zER ^gu|Jp-[45~vvӣNaDu B"_oqd FDn7،kLҕUĨ0 b# Ǻ{*XB"^ŒV So= 5L7YI:3k]bیўiB&Y(&5?{vGiVGI]I~pE}!ӭ$:M8!%셆~nb)A.lEL gꅻJUr%QHZnh"aFE!n".H4kBQ1؂D@*h&PX #;}?&PrʼnD10k ';=OpRiiVaQ~4iU<xS5}ˎV[ Dz'Q!q:u[WRMd grDᬃv=XNn7V./2:b'oƃ oǒ+3@_ŏ\|p{jx:7Ycc/ eO9(NF>&1z.ܹyUlHK C)8)q#NT(S2 50AGDhK?oحVb$4ѵVGϳ&CKU>w/=HNs?1WC't Jknij,L8T珩t9wgY?fR<1Z#3 /[o~27+r+T9-`b'}'xx;gD gWr03ecqHx#[ZtrإSwZ v^hG_o()kŠ\u%X1,MI%FH9$D FB? ;({_jc5ݰ@Q(BÏOKkCrsjFvTUEv&Qww;.1DKܡK ÕmKn#vRՅ1v"|C` xEjQ3@oP:)М G[ɓۤSLe㫦3D-^tnIfȽ#cf m! D {|w-)qhfV kV& R(g#}02AOSi# o ԿFJUɵ&DYg%P6z[k ldFV=ۤ#XIWN%~¹\ ]EeVb(2,Кא% LBtWRǽ |!2栄FC@E@}VXp3蔰6.揤q D{C+;TY 9/(u 4pb.*Б 1ܙ/~狿4{Kf-Mn0Ofm8%t~>*?#Zc"oJ6aQ$۹)@U0@@Cg9Ks>(Hf.9ΒtAF⏮][hKSxiҹjOP= * nF$lqŏ!n8؅mf6};XȾ*n]ʑ Oͅj:;Tg{hGF|mM4#8ih+;~Y2ތ஁Ĭ>lcb~Vz6-ɝ62@wil4Dm} ) 1DbX 01^&jN8$pIbAi&*x<W)0q'pUP|nK{p 04;ִҗު_ʾҨ B!&mD'1D` Һ$rߔ*XVԆk7h3ʢHs>)ߓAWe )9^mq4NfJW>`m%(PFeI 6lWf* KxWVHN`i]ԛĸSO{*^[SN#$k^c5u qSdbaE!Ek?չ=ib@БlF!X d[UEg=(q8[p˓ mZU+, +MUoS9%K&.?W@SIS"ܖ`ڽb@ِXSoYBMymݔ>⠅`mms}QBWOy0˹gX%4ܪTp]3NMyKϯ$HRXX\)hi-+Ooq!8UTp$EA٢bVOUzBd(ЋF} P9b,'/f45 غ7B!~55bw{aI܊ 7k9xrzRvտe-<ëֺ;J 9Y<]=II;9]3BÍX{%݄A/$j50:ћt*qh뜦 kANܞeydrYZ~{Q`c_gFS=շy{A}Mᓐ[ͽf[_1OzrqŌ@{+!˷Pl\`)Cc=ySKtw2S-%[8sA0O~NM Rh5Q e'A}L*hjD.Ia:P=9C$NJ1zSyґޘ ~$}9 ;|]mt:DeùE`yI ' -*?<Fw7N~ZVIbk Rg^+(WwKApӈÅA6.Ehw]{_Xz,Qa!bbom͝ny]Z Sьam/*'s|apucJ^hkZ3 δd#UK ܄&%q-k la)^? ~$L\yҲizu>Ge U5 pnk:ܢ˲SZ>l Mw?sՕv9zBeQ`qGM;dZϥ4E8n]G3^OO-}+$w?*Sۖ0*+!>r5;jvV` sM꣑Kq""agZ'5ާ1u>8'*#Zgi.O0?,NtLr ŀG)\ektQh*exFK ʪ|C #6 ҚxrykT D02tB ʪd(@"9&Ggߔ9gԬW$:Lj8maIAt]%ͻ|uݳL2aI~CT &% )bVY^CD~/m4\̳֓7S&pC@JE&(ͨJŪ_r1^2-JUNϾE+2{_AOj+KtF3|p>Slz2B@.Ju<]MkL>/(ʂKK}$ ܼ_uU>U|f6RNB_w붟ևL C.ƮyV$I9R_^ H|KR#r;uV΅?K8I7.$-ti "M+ኒkA "$`uqv+G>/EEMH[-f@8 X+_RyKs_ .pj=) ch ;W b1{KT`X(=yE7/FpJ̜/Xm.&pP3~ǏcČƮ.ihݛ|"[$?G逈 3?J^h<ӲDiGSB\ l[}XQ}.:g^GئY Ҫ8- n-?" ^E?YW?hj8(6|%]S!-ܺRK%j`F"u-&ٱw [{3LIT&5|l7yd PӟЬpJ\ yi{Uv~Fᬅ{΢nFn5NJz17w=ڥkIk](, htI¦kƉJuSxg_df߈!z,SqǍYp, AeQ0Z<dӝ.f4}+(+C-YdzXm_'ڄ[;5w B ڨ<L$^ 7p>)HmpOqjB56LHЎʳ| =+^cQwA L\b+]D*$lkM(\(- \F ^nViH&-ot-D3"7` F! z?8?xb|F$k/̆(1YZt!{l!(.K\;e~ٶ۸UDS%J槪`:eql[gաP+"]] 0İ+sW%2}UWh:R "Q3^XiM=\n. n:"1?n{n5176`H]t NsO>6TI2p~TvuOgbۮLiwI1*Is˥<,a4~!T]u9i|2֕_P(0[RL鈦 EJu!D]$'Rk^r]jt99y2Vʅu Ey0*k9f2+Ehcy9ϖtaDk2Hi\qI4^$}QR5c.. HmC@drry^ugK8:E;}$1 TDgLn'B{0697v*B[cW b&~$} =#~!e_4\X>W-3kpA8{$Lɾf9,s\YhD?KO V:-).RS/.2 tlU*/t ]n/DcT#Y/q70W 0 ;!X'tazC۩zSGIQywb*6OHS[l$$)i},Sz *Dt@ojq*Hޓ goͩW֪sfROkZ Fp#D Җ<.u޳>7^DS!S|(q1~W s # ZM߳ߑge66γPN_ĻZvn{b-2< u% \{)Kz.֝9tڇ5h11r|*;֓dOwlI4 MN a\Ĵ/(p}I*a!<;~gS{@QX ܽt޲fdBbBkIBQAmTYH< S<7J fQ"al֍f{$q) &ڄOKk:;z">GC%҉q9@vgL" veɑ!E{&ƧSΞ^5\4خupL"q ܱoN}IC޹nz||h/h%md]AL~TɁ82^(0fa91_T  QܰcU t&E3Vԅ*ƊssprDg_ǁiݓ-M 79;P\}"wTDh5\lj E]hBMA SYAX 2Zr]*H!+OC '/-xK7ͫ'H1b~BF;٣sp6첗HRLIxoB$zf5Sq Wlml@xrTE`"f` y"qO_UybG/ <4=cOwŨĽ'Ne Ҹa|z +,w[rZ"?q$(p^z sr=#cn3Mh+lq杵AJy0=^P\UC 䮷Prp:5 ip]㟓K4VLQ8.8pPh5+|zcѫjcq_xӚ]qSUB% T8V*J-]`:|bC:+OF9U{uՃT@؊+)8TS |Dh<.Y[ݠDYӤ@ȹeq]5Ѩ떟d]P /4/+s:|3v ̼: qށhQ2q )+=zkVסvı[\Ν+D?J"@DD9KA㡐2o:S%ry,B"Fw3z?q^9'&ЭsB-eW 2u.# AmKB.'8 #Hzr|J̍#hJ\]Z#I<-A\P SR|L0g-pV ;<ջZup&=beAL؜ވo0ՍxH:;О| vh,- h:jXd~fu2x|>: qπ_gvge2r$dH$m Ԕ^o/r[O/"tVK3cW2E/_Hj[i?׼:q%Rܗ4"Ps-,ce[D_hll}7>Z:huƹ^Vހ0?IDʞo{ŒԷلH6 Bc;ʶIb,]քPVJ}t * .KK܃vvI/rZ@S'. hϟx@W_* 7}s竈AzJ[*58]=I-XT ?uxΎ q BwstY3:d'R(ovyMϐR"BlavQ#>$Sk OmsgRK:&@+邽2d(>:l} |48ٳ{+Qp;&qvbPL%h^A@bAMe"Ĩ6g^$F=:^S⟠->Xr_lr&(S7 ]`ұ^a$vGTApq@ble9Ϡ -Gl0*TU(.%ԣS}^`goz+ymEeÍp&,*/AA2}>! s;>;\1TqIաwӄ߄"yZ$+.GFG'F>LgS͠iK/mVY* V@F̾XB{[8Q3ȷ7ê7F A*a^dN -!+ou)v@`5G|EVlvH@ N+/ceIqJ2CnDsUa%&_N>)bS'VƷ_R~V(^P;<Ɋ A4It;oY !5nSHՈ CU7;jta,>^r+f3[tdpWD<\]1`;qMw5bhH4jC]P͛(aFڎ JBL THI5N82.|yV=:se)@Ͷ(!@+/{N-I&s*4`ZnQ#edI?f `a_G ß!vL%Q1sv翵HO3ܸm] ],;NID[:HRr F%b_<7 x(~w_!-+Wَ`1T`㤺"4}9-Nٍɣ}(FW:zET:P/bvZ٪40A:|)ށ 굸 53?[DŽ=mQu"ì* 8Yoƿ2MM#K2P !ۈqCCj~zI4c{;pZ˛ka!+X.,).`{6}@'8;6])'5lS_#ʮoo;7 ^|ڷ̃6&cHuB~ZwcZr$#]1jP9O`|VMIk|vpJ9:]7f׶Zr%M7K0z|4ϑ gC2x=ƹE"$~W]pKvD;8jL;9/v|c/q])@OEF^zl!ˋehUcTM-6nbqC?$[4ތpX$6 aG?..v /#yT@[W!]Tz |/m/8၈-GX &qM^Nc[uP3qF Ctc!ko'?Ӭ4vA,l>YՐG$[eTrpwJy?&@xT|+'ZJDui2k2) )zAN$k*XqfrdvA'.۸ 3gat V$8T3ce\53AW9m#aͺ'Am|V8ˋG J/wo2Vqs`OJ~jU!2*)P '@+͒7<ԎRCл/JׇИΙnqN:ffǘk:Bcq3&VuJ"e,WT„+YlxLʦQv^DWuPRO+ q}yi ߁xwZ7PD4qSAJNME- _2[E9Rf1;sluwiwuEE|O -ųJ/SYjӛ#Kȸ4wJ%mwCQT At%R( "Th(jN*Cgh3Z%Y[F^p?AdvOHG"iBw`KC DhšGH\WAqeQ.\t+\U$;u$h?S^ ˱_AG9snL\#-AJN/.{^|^^.0VN7%>-Gyʈ%Y6vzA:DLe@^ζP͓v\mKBj, 4xK=h¸1j\O,2(>,*qF%e&BM@@X2A VKFw"}f7Ƭ"ќ4 pz倏^v2 y/3tqEOσ)(__~ sp3AC߱Zd![JÊ6fH7<IX;zEb2E< f5]Z5%+ -] gL"lܩyPB2:[oI[_ hHJ{x\r,G-!n*nb Sp#FZ@(g(?&pi|$H'p2x{M!ŚHеo>BK O m@,6 sbۨ. \.._Їj+)A7}4&#Im澾]4"s~xCh.降`?LqH\szll8 7T9ފNܪZg:ټ#wF] :yzwB)}s L̽)DdhRk%݇* -'4{s6cpJS'`utG,p26i؊*\ɫqQJ<-eSg1 ʆe꼋J-BoY+m-[D?塩(nأ,M)5Rѫ/šO2V g I~ U;D+SyLp/Ѣ/W 7r߿,zKK} >"`n~u@5nNE %;+'&/]5 l|o5/ޒnUq7HH$$ެϰ ̩e2V3>\o04ԁ=gnhx9#S`1^·C^'I#+Y6Շhr6uTZK㥽 O;ZO-WT$Ie*78&a3|ןAtcxuUb-&/]qw usQ"v9l$wuÏ|[Sp-|U4NM#Xm!֡R-+ = (' =繘ZtSe(U)ӊ\1C72:Jž~E,N`%b~dkb 0,0 Vt}x,p'a6 mP'mU-}ԣڠR,9Q;W=t?AH=[v^7zu XQN,Z 21. {CBw\OdTKKbp -#})ؿ2-4lVEԿYI<@C}>8ʲH॰ޞMp(?umX+epF]~xp7CˏJ "/gK* 7!z)5Ԯ?X8D1 =T)c`w#};xz?1H=nAM j`[#/R٪kS$|1⚈ycUFB_Q|3ch( g+*T(#[-=ƀ25 PB1 òyXO)XvFuEoê͎}A9[-2@u?hh0|pHvAȭs)y{f5XQ[ՈG9LCU4.>y( (0_4N/Dy P 4SCjfٱL7k@VeqY]%n ߔ: $üt3 rJcjNv型zϕܫ_soqZ6uQ!tKûZxitW6J& a"W9RebL,:60޼-܄maJd?F6: y^&/Hj$HRe' [9\?1f@W"ǐח7~M0B Y8d;u'3vVb-HH3_XwL֨z6wjk;+#`&Z6Q"DF}}s|HN `zN-g/-0VUP{"`O|{štFQc\/xf^0uC5ԏ%0 .gGy%Q׏N,`Ap%bCK,<:DL\ǵw[TviowU?A? )*bxFsܐ!# 0>J`dYrk420w$uEJ;M<%`b-u\,IB0|yф7U p_rPD ;vAX*T@2IdiI%Jɯ ip`#n[ǦI+wq<FJ+و3DYlIf})3f%cҢ[Iyѐ*/28xr1"CkD=TUu92M򺺟-ܪͅ+1m&Մ$\ӿ~՞OM#STA y!"[V}g.u )EeH<]i|o8gO@Ikh+Z C3o_AC֖H7:6p:ďQsؖsno#(s%`0nNޢp !LVi{L]* FꑌC˰<Ι+ɩ(b~/gF޼-;h1qN2< "d5KȄhk`/4.à$C K@ռ5XIG A3mf-~IYa{RЏ4eETfuA F`KsaOyk #Nc~" & p*-uH9Gӑ ujMV/k@ {7K#L/B[$)L=vUKo=JQi)DDY`kוD:0pz5=3gGj/EX 1tʠ~7r dȱ>ͦ'']oSeq&??ʙӴ]L:o&ä]w&tny=,&NWΡOnvx0p(%os gVaLo<+OBЌՎ¶R'{1 ,~| wGd-Ԛr1@_=[J? -.#/WftgW :<@0jHZ."أ8mEB{!@g ܝ ?$`X[gb/)&B R5(m=R >W^W3FS"׺O7grcaBɭf 7~`1g>=K~l<},_A3$Ç0"d2x*U$xNG70,4~..*EkR1Z4_a~OIy+3#>Iyz~ +1N0睓p0a,6Yq4$ '5>ݚR}?%s)Te㑑N|xɩu`@ћ4;TоegKVs_mJTɆ;#0{M5xM_ 5L=q *_|w _5FL * ! @Cw2ʊX^'[* -lT0ԟ'ްh^BPU8 ߧbd&c&pz%cPj$Ϯ%0kHaiDKvE 1nA-㱴|X8 z=OVGmA9+Bv(mFcAnBR1. ep8\V8FD{zϼ/oܺuCtc9jf5R4ɂAB5džDŽ7b"ZcϞ麳tχ[Q{9Ʊ#D=Zj1FQ$YO{UܣHd[[I{k S`*77>4%RBΕb7J47s砙aIs.zXmℹW{2}Ԡض)iܰ{tkB->RߐxP|@z@_V[b׏]: gSpK"ĨEы'(몄1WV0,U^0Q &a{5xdi靛_TzMbS)PŨ|7c *#g!'kZaܷԜySNо:t; {ް &kT˺[8 ;D#N8kj}3?GA< ٠ ;|Df&J~z}`S:M[=rtRLzNc %ð+9qmF &8 DHãU`4M((#M=q s M`Bn70&INjzlb9$E'FGelOd&D]Y5Fޱ_EG5\(D# $ -1./,/zځ֚_Q%&ԃ|!e\3bdmF&G*@;tSFyX@ZB)@w"dl})^л֜;v%rtq YF|;8O9dQpnLZuD,l(B3<}-T S5.0AVfs/DM^N:aLKZ@'OcJBeu>_M6Wu9Ϳ& %EB_=kQŢ\Bs-q#6nGQ?L'&~ݳ ,xi((+XM$*NZH7T\ϐ[pV5e2M+p.#$E_z'4M6Z/ R&ʩ\}Vwz%!j/s+ƙ49;)ٴJFkP=nW/i&wx+α3n "׫s 1 Qy@X @ rU'Y"ۧj%ͱdɰ) O2bgkzqN1M pЕV_"o(El{7tڔ4M<35#xs  [b ]!l*QRsVlkI-I-|$l1"of uM+/$q"L<f桡ֈijcDGMQohJ9o+E߾-.4XKK.?cdXfP۫ǖoQҗR`@= 25?=ǯ#+~PsU/V/+=m9ž3a 2y nOE)Z=3b Ι# ]P٨괪0y:?c?VuFlݨ_YBѪz  ivml|9EK_$gUЖ٦]fuC+Y(鞴 m PȪXטq:xVLfj+ke {73v/Z9V0mߠi|h?}3G)LQQJ- Ual~ ){,gե|OxIؑPUvBE佮ڔ `&8 (Ξ5-m:nùo:S=v{#F'E+sb"RHYvz|Tf31?:^L|I/FiipPYҩvR Z (ʎU ^p‹,g9G% l 6qZT?_e@$e$T)eR#cVF}]C_{JqEX6G{I}ǼL?OYvYO|48(T,I6"Z rtK±wvx^؟- mX󱲴l^3m3yX;~xk {Ğ[z- R#? ;nQ !)DEs0ʌ?7B" # qC,,m_^BV40o=V́C2yP7+,a,g[ܹS^+!, QiY|-~8$7es|#T@fǷ/fEo7dN1G'nT4p">JnlinS][ ҩ}*EԕKŊZҏWtu!W"kU .C ۬sb-Z :Ld7xxa[!B37pӃ`'i.W~id76?&m;P#ZCtѸ 1M)wdfv=n(z&^#(1W˙ 2%kqBDAoI@ڢ1}`c%\yO}S3RHG!H%yI/@5`[;rH${8s޿`Bm=g!۰La;o90"W#{>rt&-@'-^i,Jww-|a'd 󪑐:zIް8pqdefZߟλ+:EpͰ 6UK4dF/in{ ҌOa׿,K1lK'3ХV ӝY}a-V"N)-6]_ۖzT.ʼOY\v7/E>  ~S^ 8C|p/HkD*-w`t-? 0<ˑ2noV~ׇ2C55z*P?F%]jj`$1לضvBRU_CRzp7m pWZ ?/oݐZgHÖ!`R⛝Y;0氇+ҩ0'7#O/c}/+!;r~CX$w9D<x@AC0@m7|}&M_n',Yssg')i$T6OB?/ejT XX\:ڐh7U3iLZxtqp̥ חyGna ']+|㥀Xf.݃@|`_ Xw.iA! ݴtON\Ć{hSvFaq8C^`^Kp!}i1W\^B$7Uɰ\; '+ F|SH6-<bȬ6AykV ;:ǵz*äֹh'hnZu;M7uTO@xOf:_ҽlz$ m8-`= _G[7$\U UE!'K*mCRv'b!H=$޼ûϰi-=C2?YKE|5zfS(l(OeAaIapyH^=_]d4=bWCNDqP\=Li*o+'G5B#D`nAS-I^j1𱯯غ3Ŷe+Nͫ>w9ȞV@YuWPq`lc PMdns]WFmhK?yK*{tUHe{X :whQmECh0m=4|[mg1Ҧ2Jۥ}(?{u_4U&MPoLC>M`M}VMg,T8IH1 H_];vdY6Q ?/ /1-E i+or0ʾT=AmpU94E/"Nָ%SC+uFX7k7>Q AɾԀ&͚Ӟd,W@1m b;UhE%T Ô$Aaշ$uF:@tjm;Q˚aqӾ×Ǖj \@bjE(dR?;Y"c:6tm0 DҌ Vt.@jǖ(mOפ̨.R/i_277̑TEN k]^b'C(j<ɠ, umg}[ؾ\oڐب?"K^C-Pxͮq nc6t@>3@wMrtw ŃqP}bb'ї.=Mhbaƪf\d(}>(G! zyohxCQ8~g{&R++l:9kvaƫq[QDR!c4GOAMgĿ9 Mxn43oF/_xB%InW*D`#3;T7ÆwOЅdW-6RMDv>Z#UDF-Kh& \z슒Z2qfoq T6q1ݕ!o_>;-=(9Xn/%D:Sh__INOM˞)".-d2\1+.n$MsdZJV-Yu箕Qz w"`om>Qҧ?vȳ…9):~%v䦌F}bX[ΪY ~ ~Zv9@S dXąA=G%gMUCGrX;sm1uxj呵n "fs%w/%d-2P'_Z|)N5 R7늓\yHm69=*`*8t~.o08}MSѡ7_."[1-SF0⬍%YBI3ƌ]b`L * W@EًH%O0hN&eM/iD%Us\)~+݌d,Q >1Yq̬,:DD=tF7xI*s+J_M}NΣUe0zO^orj~;e 69\bĭgR_e禅:E9/mutv+;+wK5B%)$B'.U$xb w)Dt8+%0נ}2wԬ76FƄ55 8G+p4˶p<܍.|W_DӜǛ|pZ0]wW}> F}vG›lB^lȴ,0(_Ly~Ӣ{̢-"_9cC\;jj꠺OGIj:he962 SeۆjFCkCNIs#7BO\8ǒj{̶&?L%Mth/Q 1Q)w|2(EKɚ R+N''%4DvF Rm.Ƚ׵W*|1ܪ0МjR5NO&U/kvQj9g@d6et QMFE*q 5rRd.ôQ]M?8M=Y }oSPz="$hl@{0J0W>wY7B9qȕRfUګE=M߃FUw?8%FOa7P>g1k}@2vNt$ `bXrBP$.1;35],%')FmS ̔aDa׏zB%N`&q&Xxj :%N<vn .! .,1R⼛KD})-5 bMv~zDM]\T7 *Ƃ[R_1fv3)5>fVZA;0{}CӃpKu,7## uՅ=/ ) ˚XgQPvAai8!ENt5`aNoBQl)ܕ?Q= Ør ݫOPk90P>nQ6u(3 CԪ"_$=ϭi_,4=] *ڶtoPj3+o4xRv%ꔻdf491TQ+n!\A+*4A_ R(oCP}l|2YNs#\\7֠џB BEم)lcB}w3O4 4t4{~uJ E3^)VS R0l8dMdP;6TdϷ9}to( 9Vͼ9G)Rt/I@ %fԡ7#8lՋ]dعLx:ܖH0aCBI/z]eX#& ϓ8"ጣC/3=ՙQj347w.JH|G`5lsE:pPƿ4Vw%ۭn|jMD%YlݯϺN"Yy-QpQvၝ ,5Ƨa!RH?!WjLaU0h*j$4MM,!+mEeR_~ňVCD0gaH{|Q_J|Z ܻ%Rݏ&y _pÏ`2 @t)'C(CW#RX|,H/$驿UMȿbThSyaW 7C=֝?6O#rOw,C|eoETXų>sɎĮ+:# vt>쀴<:X)Ջxˤ#Y- b[ tdݫ̝Xԭ eN jV7Ãa cy5Zkɻ <7 EMq2p%aaDɱdB}h)Ȕ5 ib y93JveHNr ")=U%Y:%:Dj*?- g/R.đR۟TK-緥7N"7 2[ 6Oqru#JV|±Zv mOx"X,tWG1 g/%UuKfs̘|rĹmXo>mmI,˵/dSwNY}8^M|6Uxb2 %KUSٙdQq#kՎWrۿ"3lc^hKUgNе(𗛻21`hm R|8}@{'Ć5/`> ԧVھ鬋~ïY ~ϔ@`ER/˂H>m/(h7E)7N# e_&,ɀP]U`9hW8JS im(yckPt;H&ǚ.|(tO%|ݬ =G! "F4ޜs' !ȘK5'ԖbbSÑ\ژ ZR,osGUL$4ui:k,ոU{b7\sKNsɕ_C2As#)gÍ2Нg&pτjy$8ׯ[ _ߺD.:j툥xyrma(vuUii%yH\Ws4ݎ2R Y7 ڱNݪA}bvg7A$^d&3Yr\Dʏ*)ą.$6m,1lCq*0 n#Ez^̻fYsB%?*b +JX9Y=@Vo,Vlr=`' E}\^ G,e@ C`{z:bp|:r!OHmY QTC.7_DGEzgCSsfI럞gm'䑕o*nLj*!uii|MZ82gOY 'TxDZRbz"D˜ K'GkvAT&S+j=JH~p j_ )<ԃ <}VaSnJxsG°SX  Mn'- I-myJT n?ڽF6ZZQ5tbE:픕xy:C@UD oQZ8f4Ƣ,Mk^gˎa{439n`OY`)JU2kf]26ԛb?4dFW L|R>N}cFƟb >h3oYa= ܗc9YIVO|Xd~{Oݜd*K~{ᴤ!PWkw~=w%d,z[L1e*m×8+FUŔuc}ѮC-hR:{j!K]/ G~]k/XZ< fM~}7:3"\4΂A _zϦKXXwS9WtZxӨJMiUa{nf$>CS^qikL r zԀm` q_$g 7 !#ǣ\J;! SN 4dAuBm{F/(Phf4]nnt_͜;P7u+br+7;Ga+KyΛe߰}88?,D/5JRRטs#@{d`'+uH $5Ҁ`wgd`6X3yAthߞ0 BZ?{F8BXI?FTi-Gm2R$^l)UU\ueI$P}6O!/uqaB{pb [[X^GP!13.dcxQc2;܉w|Aaaak>MA$6o>D,!5$DaF` $p7!֗B֨ voFkhF;2,cҧacE vysuvۋM;tB]O. 5ދ5D3z>[ Gq]*S&0T8ÕO=![Tkt`xාw88g81I =zˀzx}(ޤќƞ) z,xOAkaF5,CGr$d'N1۷<sDh_Cg\9kj{Pbo ދ:׭^n!Z=$G/X{:-Ib[x(,nwf HdijɅI$q"4{Ten:laxLE*q4gI Ը6Ї\^#gYΣZ*="|Íͬw̏ẄBi;zk̤OFQICKOFn!%m)-Y}@ Yd !A>IϚ+F7B=:no% YB*[ , Ƽ@zmȿHvv:NrMn<mଔ VX]ZYz0Uvf אDOanX`mI@ ˧G3qx%C*V ]^oM~`=(7jj ҆+ѫz/ 2OlAp AL z;#%+jpY oVE<#{ ̃/5WmKjFt3b[BTzHl!dit[BiqcRif) kl@|%+e ),lɞҚܜq0[=[ȅi}, 4T4 JA_M3.=~+h&Y뇶|kPCi݀)8*&`S,?f]g 7c jw tEwv|e' NUJ:Ğ?mbk^0"e+Ɗޅm R 8t\r ȀY!%1FSmyd:bת"~ "D0IlF?5=xRCnH)&1\^sWW{C_akR\d'$?׮Uk%OQԁFCUYHq"~ q[c0qC}qvR_PY^@M|pRI_~E5Ѳ?Y>9>0ϰ[{#z˿Rn xsS=?T_< ەKվ@* ~K#euӪ3['_)lEH}9ilUr{'-@$Ĕn7A(pwJn]>I49"UzW73sY#͗hf Wp:=b rكy^k̫}A9M[0 籮w^\͒BhYigtLH_[htɌ TɄ޴yB&Ԇ5;= cfLm9B5ά/Z3+EN&H)20*rI)1)NJy+n:Hifr佳 YtJ#>9ʒdaakWlԼ%eG7 DX9,X;ᵊJ#IAE- ~ c5϶@ZP"ARk)є:HaF;D~" ci&4SL5 OV(9G>s6/Θ17Hwe-4N\{BUO[]5k@` c1A4ǙWRucZy $l𑖍b ,FTNJjEaq .Y? jsӾ<k-۽r*I&Xk%?{q@{7@tcYdkϬIMl*[!fZM;ԋ7r^ ڣt[/jlXn6K;NLJ@CBd_YAC[jB-\`3[.G{4<;Uag*uܯ-gU*gGKXVEP& =03ɥ'y(Ny]ֹUشX,DׄTu;'Ĝ&A#8X\9H]M~'Y/E1 KFч܄rNT4xܦj~aі5ҕuShOv?BWIX\7I_3F(YcU^uwOf|fr:,Yađ"$ΠYÏ66;_b-C xpWFWaUw#ILMkLA'M2HDU(GLtʦ 0.@&V@g}gS;B/ 9w+I,TM2dؘ %Uzx6D6ӘA{v̶J7%od7G7/TR'_ɼTT.(j1H /Ι5p*jr$}:VgN]Cɧ'/k4|6+!wAEE$:2競 hr}+D>`,b#Y~;.ȏq&.ݚ'^{ZdS&urĉg}:M ߻aOϺofOP*I-2Zkƺ<4x A[18GHˎӃC ~MeBv'sic $Hę Z&Ti;M7ucl'jݨ.&4:͟1%'R4y+< o'5(wסOi-M1ۺ*&vn䦍PfDїsp;'i˵!*>u]t|[DQ&MZkDRɌ8M#p Twz^İEDg[XjYpЍ(z;f[%?3 I^b?֋U} dBt6G^'!/F6q<Ë IķK@ xn w6,b]hgl@ĝR7ZGM{#o~k |Nv3&T/2(Shʰ:آ|U9REg2hDG> & |^zC-/0d\ZtZ9kY.6eowY -XK[J*vH'P*"7ʐ)śJ;'aN ]%XG`nu`y>@dNzAK YZ/oM`hV iRcJ䗆T`aʴLTG!z6pjt>d?s@G꫈n.z50= 7nߩvk,DjqB4{)AzNL>3j?T;XϜw&B0Pw +I}P ug]QW3^6D (dڲ% ڬYEn>ĢފSꪾ<.r|*LHr&Qѡ͍Rms?!S^QLt?AؒET?l}Ѳ_j bwc"K{XR[ԍrATPoeI ۘ2Gޔk؜QP _Bh;@,hwG(Tk[-i-\d|*ݍ(M w?%=V؋ J8* FƧ8etPf ]Wc gϼixEq`ͅ<cs~("uWaAtYcMC.~75XS9NJdtҵp{7|(S.þLa6V+Nb=^ C CʶzLn喥؂w53VxXVFμa,?릸HYw6j{Ntm?OKW ƥcL *D U7{ J-] Vf#I'WX(u5`+H 9%'äz@ yv]W˄jEK Δ˗6 Bu"NT R,Os59|z1kppoS.\k@~nng(>i,2!@5a_(4ftW";MB䶄7̴&Vԫm =(n i)p@wP)lkq[/{yḿtl?!r`dkT<c'w)v}N1j&]-h۹#ržj잕Ajxaۅ0{Tb$9rXw ح}UGoVqUL;^t؈.V(Gٌ52{Zވsed3m*ȻG,Xe_$Sn-,rP`V{:In{z/<Z+'vSgJ}< ځ^Hh.!t7כ+p \ f@ԩk7xeYn͖܃͆ߧJSdz.gyTW(y=^=pxͽ,7.}9z{WJ&Q%䮼 a:e@\vН5(FC Ѷى}XZh@5gxn3x*T`C|CaYQ92OKz(x?iX ʒSDe I _ܻ"7|lf\=H R !:*įH} YGg#;͔tsV'x'ŧk+C$?G(VS7Z񈾲֛Ǡ碇]6NnBsmV/d餡gY^GUƭ.8`m}qly& ЈxXZe ~1ueH#x_0öd5sC$2T~N[ _PG'*A1%ؤ З%1޻{TL/y/ֺE f\3n(ӮmV5g8 :aѾUJDnnkP ]zUt  9ku$W=@bƫyA+X }&'_f^2~(|!ѪP[ U?} @q39i>|XQtD݊*6բv. ]voAۍVq*q`gJ|'{>5'3>j<NA싞F&ޅK{dƟp?@}91 ~^Óvz\/h잡0W} ,|YlrZ|q6oao&l{W} a/@C~,? ( tҖ@f'iŷ$8%kvI×}1:8U_9Qv9PACRn?`yu8BIqQRVKU˜qR+;.(x[X+ WQ(`:^ 5"NL : ۮhY-wƜb*o)iZHk{,8G|TE.3]ι>83CxYN%]=垌 s}{tEZ \E3.@A?!<6&/Qz?)">j%gz PQ4W-A}돩T791t.'H^Jf 0B1a `>ⷔh+'dz34g1`05a\"z>fϩC{wTD06EӸ9Ȝœ U:/'7mf,V!1p29P)-?WqXiXط]B|<-\͂o̫Bƙ D B[0OPJ hYPW/qΙxT DV9 ֙ɢΙ}/>Bh AmAX!TQ;QȪ3߅zhyZ=z"w8!xc˦  Ħwz8Lꃤ[ h tȄEH$oX#)Bp($ˢ$DeءM(q9i;kWE mo^|tȚ>^] *xb}qr HU-6UDS <)XQ-"2j0$fq01\ٍ:鹇YQ.S)N[9ASUTp͐5xa]ġgN|w IRwc ;9V8{zM0zc3䞫68WGfvu? N4ovsaJ)Hrr9&DRMc$(:]r-'] 8 mgtʸUXFgJ46Z|D NfԊCs[nZ߄$vcQ6z3ԴzOGV}=y!%xhsL|u9ryAuwoySgBۄi}ƙ#u :x4 CʺG?OB-̸윣 zՃ&r]fnz&5mL%+g[a"UD!Nj Gғp^.}Id&e hfFG svŖ6XǴWIR@ P+›4ɼze_ŋ1-'DM-+7D+Я49o^iF.һ=>^p]`>2ۿ Hx 'Hlfg`l4l7DjǘJ2^x]&屁ӌ7bXNk[m27 0b=Jc-R@Q>6OQKXRҸoU֫oNݸ 0HtfnՇFb=j !Z]csK'HQ`rR"= X!m+c{5 OaEc7( SxG?-? CLq,:PVgG=LE;;, YfMNܗ0O5rc@ftWpc}Iwh}lCA#׫c@E,ri$]8v<K󡏂hRnںP=.z`]GI$rF_nTۘ/u\N[I ܋FeLItBjȫ#X#[%4 'QIӓս,{WR-UARҠ~zV(M uk:kǬo4kpk TI.13fB{ca#h/T@1 >6@]sjUض,~ ~c=CNisn:I9ϕ&-;> 2b*%A-ӭ٢>zqx(\?V|FEh99Ф?'`JGIܺz5%Xv_-.Jh 8KlP`PnjY(_Zn~NVX70bx"i) F$A}ncAuHbyy4 :ǖηr,*~$tɣ-ɅHBf`?17]))f捉4+]  ߀cTCVYq}B%.f%-EM`զ&z)?dU1^REC%&ffkw㩄zg!ʖ m@|Vi5"?^6/͛)jHB僥R3XaqP&1rQW\ȰZ껤 :k.^,qWn]gmTPUj#^J/7 4U^ȌY>36e^!1sY+_׳t30JcHo$~Ԍx;Luz{:Tdrcєw<8^TZQBKkJ,e! u1A,Wz1҇wnxc;ƑǴ+3Y>U}Tb|m(1"!KzT7!]X߸ ʑXT2ʤt΍xJ[46a>hX=qDA,[,&> `>EN',Py" nzQ@>)+&-\1]Mh=C [EAĘ;])o#4#46yPd M& w~zؖsD[TA'ߏa S7e\bH[?Fjf4!}8܉4d,fMH;3fq+9ach{k@8 OQ4$Q}Kn-+ƝVSC<8{~=3dg@#3f:R6ӉqF4 >Eo$N̄,N;HoR8a桕K6 ܀aIFɣ+y)\%vK+>Ǎϋ}ngCf)3]]gk jX0FÅ*vٙSHjU:VmլW)Nd+}ѯisXJVMWʑ ֐>m)2)3\թ|W͢M {]$4zN%?]-8gyH~J7Uyy1<3&#Vh)4f @ -FyMsP b))Q7egӘ )B>+,0dRrV3g}䣳GPc^d{6y&>- M/G8$zzzu»& FeUS.WcwO= 8cj`'6x%g; \~=vW=ćBUBxDqÁJ?y"ӯpdxCs\vBVRB7)b`'uD۵nTtXzt;lX@1G'"y.5W`{:nraJ ۠U(gZQivF:z&ftfB-'gRUѤSEV_]8T(3zɌ\IE,Je Y1 %r$B\W=p.e}YzF9`|ް +.K- (1Y^ҭ0)DQexI^b i Pl]ժSK (O^Mc8DLDwj:.[ҕ.-r+a`^\,%%h̗s4 [Qy%'ϟc[ R82y!nI\椚( @/^P W^BUn+|0edX1:5Gh%%|AEHpT MXbާRExj.C^j 5.@%g4H2҃?RP%Z"~}D L;1J^)OIbu&;wڗ̊8>Kw~NVpTkd ii^Ҹw&B w+XBTl&˴z{C_H:S A&DQ1z8L,754 nJ=",eY ~W]4&ܹɌMb{9! V,9EdsG@bgOTC4x' lCtcO":WH13.*Y`xCӊ=E/an"o~a%ss,`EמVH]1tĺO C& cci֟=V0E`kV>`lȁ0t_Āי1VcHXx F*?zB, 7Hrbt6݂v-%"<˂oq0QMq4:=.e,Kڲn^p,r, 7Vfb @|dM3O8-13n;GOUJD eW ;}Ih_R?*-kڀJ#2~f+HGӫ3PtJS 2iE߄CпqVˏ^{@.簔W85l6"=f+$E)(mQxx%kB`"T.#LMJ03)לiqv;ˈ)Jf7gK~I)sS]P~Gjjrdu2c}w#wBU M֚d:5W_{rñe9C `J԰C>->9]8qw<^E%nĵE"ؘ.7ԅnhsc)~мcV(B-bw ֞6эv:#JsQaǿhZqg,ZQ:1=181>O;Uޏ! Y ?UiwD,9$V_qf͐5Ln 8>% 9 o9Y`Zej"]0:6Q`WڭCL~Pz$ o( 'ٕ"e9'"€T8d]c^(09?qZgycMi%,n)Z lEJ\' [pfxhg@Mh¿K~4SJKS}- zzv~R%~ &$ +X`xxB`/jזM4ݪspboHрX h'gn2f'۟~, T2U1JcPd0`7DYc`" DzK~sNȖ `;UC ! g1th%> 3H_ 9 =wXH$d•PdHmG&wL4E_u+1ɯvH5,j XK(TLc/| Q_[MZcy54ܢDx;HZס/qF㈙RpR51]du3C\ϐ@'߱`{prmdil||J@;M9/g927m-{J}nw0TãJU2.T &d-}tv݆iI㊌ Z_&냗Tbڋw,&.VСgIƺTDz{/>qþ5(qMEn~ 8DP2w4 sVUBϹ5ɇtCK2^>wDX)ޢJꞱh2} /vuc TZR2`b%H!Jd;ҡQ|ߐ鏥8WYvF"/'E3-X<W ]^]ɤr_]WLEgaF oǷɖn>x%0l-,4Ҏt6X "s^]nfdS-Hrq݊|V'[ZEQi)Y)d5hG= KT` XɃ\?zVa}.BNt񶒲|mH[XH8jf867JXX(:x?K6VXˏd,e}rr]*QImo<%`Š<g&.M0"bx[Hz k\BʈdkM1YgN4~S'FPcOkQq88aSa4cf[jӉ-ʼn(=_>ptAYƢϿ?BM}" 0#R2:jHnH]% j٠@עmTJcĞ^]{ p܄/u@O,18`(ΛC7L+WP(&χ1bX;,$ڂM4'!0^{#"7KG41E4JuלJrDUA#jp[yp{i9$OzG<!~,GkWɱgiH zEwKp|~ bWAK>lL4)q1o ]cMHFASdp R"ĘPbY|3nGyi^DK>G4r0KxEw@/N2<,j;@*~f]@6 ^9!0lDL"{:@4<Ͱ2uRb̋C1hg0n-s3&Х+jپ;,wu ⯲D¤]) M[[JLb~yQC7m~i"ROрٝw2JE7P`33gˮr}Wь>Սs/}1Cqw1њj΄SWZإB$ >⋄;|F)#XϜB'_%sNC?Y2(m^ AP%x;eoSiB=Nk'nP4\µ0 wq|P*\d]twܤ~5cú`s0(kI%:{K ]W<{>Ǽ1"hDy 0Pp@'nyMg>dL<7jQ6nLGA7yމߚ _(Q(hMnFoRCT ŚϋdDx0%`<:턻WFC7D\[\>XlMX=SnjUl('-)fnB=u2X+[S%7#2TN]%3nfL;Cy }lhO=M=:epʾ(AWa&=LdǀZg+Uݫ-#npi_Q2p៪bă1эRYCJo= }>Sl2vpPHS 2`&]HV_I+'D@Sl#'5?5xyyz)iX-g9SF)6ubyx)<%{&q"Q ]O.+ 9{[*a:]~ {+#֌> 6.Oi1vc?o,lf6`-a6XR|䕮1Q@%W ҳj h!t'ÁƔ $Q32?Wo Bȳ_=#/27 Ց*|F/oXM#?4?llGl$GLgnevfqPmG *j}|>F*N9cfVQmAbϼ,0LHY]|@smx>$'|DUس L u.NA [TĆ5ƚLF^eS3󐄞 OYF:/1l݆A27! F.ZM@7(^W= }QɃu.i.]U9C2 U=K፷}^F~6we<h|NOTt*7P{[d+ gm1 i ֌|AIjy<1JGWIYCs 8v?}6uo֖2zyK8V}<ŋh{pӸ<B{@ƭ$ZgZg  U jlte Ɂ6=ULvK$AJ*sImϔ+.aM{92#T!lՠb? $s"N^KaLU*sʩZ-Z7O1~ yF;Cv)5мf(J{fMH yffۜ'EߥS۳j[9"Wj@@E 9mmX8 8[7kvywMyc?.>rs#%+{Am"T-ad$YM% O&IcG4(/}$tkVI*FLYo;2'zriK I.#ZE˄gTOVT /"ɾ9V|g͖DGZK_ .HZĆn3uJ/׽į"/[.943y05z*7 >,0\&.V2~u>ybjkTK8S\YGƄ^Ҋ1U֍;41cT~M<ق\RH4L-RU-@}`l+q Cyɔ氝nE;˺ߤ&-8(>cZx#5}Qhr[wְvO2޿)ORqqV*3r'0'bIdN[}ա~4d쇁X|QՙtdE?iȽ``0YwqE,40<)M/w Рy'NAjz$x5y(w. [->PzT͚/x>`܏j*!{iU:C=~[%BP{\Xs!̑{nhN-%W7@ī܅ | j2'xFv 10ܔY %\D9ttfYF[WA# fFYI(?c;D j7L9ZnF W |?IMH_E3a)Ak̗' GS:u~<ڧC!Jrj/B%V;, ÄWbWBU{b IT,x Љv䏙Ba8žY$˩/vsJ.z ӕ8;NS]ĘU'G so>+t1*_,g!^т3Kv- i U z"ʭ)xT`r,'S)j)Ej>ܺNF<K9Ӣh\8als =06kG:0Z?7UXxvI^k_c.Sa:N&0ts:Y#"O'Lʁa F=b7j\GGD*P2 ":d!a\K OZŝUx88'_v48xknp5L>7_7۪%X_\7\ ;<5;fqKЀÉd 3h^^KDPyr-H]}PJjRSj2[Uuv55.IKcsӏ|GV3x&Ug6Bm% ˼c1rH 'UL)fҩݱeEK\& 8vp* _8'Z U^Փ*ύfbKG1l&EOn2= ![9vn |%~!dFhГzSD?m9Hצj1BkBkUHd#̤dکU_߉١OTj S+6YyP]?.L=”^i5uV)!/:@?Өr&.TL W:8ط,^-5>QBPO/* ۼZWpeg[S^,%@ ᭿uJsFf [rWA5<},/(¹$'7M2%qQI('l_tG$I֋Ƥa+( j9?Bb $8"!jkzE% n7򋦦KdP`~^^GsVAvؕAc{S߄`.H :#qً`t f:p[e,9#kVeO+3LfQwe뗪j"cK(t!pŸtqz`2&血cS̆xtgټ3j*Ψ'/G{G:xq O=HG1Z&eLЈ3 wp| [yDjq6۵7%Rz+xHɗxA^"~Ӱ=D]GV7P{;+OaX2VbֵH2#3!o먪oJ3F6f]hdxWs?rUqxrU(\6o6\&:*AzdsĔjQb)D(yМ7.BBl>=ȶktY\o:R×jpI?tZ1kp4'9KWoȓ/0 98>܆.>0:&YC5 :@2y0fK0F.3}1?ss"E g!m 0j'w %X >0iV/#yOr:PF8!S#8mLJ80h2'FjVʋ?mpXL1r8M*FPU)52ѯ|/6Ò[FB2bu)ͤy3>O?J<4 Y&~KgKbu/TՠWFOêKUD$2:>@B{Et>t2~~wqιtfo[aрY=ۧ=cM*&+u*PtTtqIX,}%^l\ g4tC!ӂI`xj-]6x+D}$MѹEiz~RsK\-0є Ps}mo܏{'#'#n.b٥^B ރ M^tBͱ*uRkr"𱾑P2~e }3D!;'#ăCZcNol #pv! Ę*uv;s݈Fa˘31xb{O}k[!˓npԙ^,OL*$|\_q'e[6ZnjR/lL6)Q1pfc/PZE%}*+\Fvy98vOJ6͟d#cHz|ED_ZQq;' SkĤ(1K*PŬĿןBr %*̬>f³?BLb0(Zٍtqe`SWe=:n({E}h-8)\Sdd#$@e pàKFG%)yih1=Ee^#m@AogYLO?fCBFJ;+ɪiRUp?E࢕GZŕv\e)XBzzΦ>Պ抉 @7-9$o3@}EHcqzsDwV6j6k|2ݩQO{߂.C²xŻLp7;َқQq\}YO;uz zPcP7 b]Jmn6B*gi@50T:x(gah0A&B8ƥhnQ\-nO5J [WӴlS ds׈5NEfg-83@K>g| eoFT8b!YyFX~i'/jW¸V4мeo?y512J 8T+?OSغv>\lS [F@ ~bee[KM2q{(W,z.n;MۏLs0g [+'&N2YLQ^)I[N3ztray/bvd& wD.QY *gBnկ]<:&z gBN jLיJIm~ǁP&MN^a݈ d~SgCh7e=:t#{? ۽ؽot%)GdRG0`bާ;2cRɴ.JLp2AhfbystY|oJ^mx$9o-YD0$koj=!.N8=NQѕN.U.Nr)Ik5eQ`[:$\oP"L ]G|p;"K񯴸7K\0#ia1A]4W 14dƨv}*ۘOغ$Zm\;ʍ{آOqg*BAFr|0?2\ŭ, jJ](IsvJC(eib?i?l ik)4G);m" Pxar_cs+ 62?,[)D̓š`펷xaG. %-%Tٙ8Ȧ΁w^62U,7s`FR [cƄ‚syI<ꌚ,p!Vb^ӿP1pbvWTaXuBHӸul,aP+~o GbM @KwI]T$%Ozps_[ŪePSwyIzJO+GѾǾÂZSCs8X&+@E;CT?"@ TX䧱Sz˶sWeKՂ4vi<޿]H^Rz93y/nn;[a(ݷ0H` ^NR0ut䮷5Xl}@ʞ4SGA2*z$#?kwom *vÏX:uzk iHf1>\RNVot']}Y*^$ct/mJ0Y~)T_Ŝέ#g9W4P.!P٦=Z3uv Bx3޿ʒO&|IP&9bv[VAN"(&L:4H1W Z ~0q&>dښs0џfMj2eida<%}K3_W>Pɂ̶߽`+)4Aդ?~ W `6e 87}_U5ۍ`Ni 06'V! ȲFl۴pҹ&TŖf MZ@I A.v.O^}36+Q[v0&ʭp_ǽx0ȞfK J('95=Oj]I*q& P[;$](!<;Hh}.=vݏB'xӶ z7Q5MS@ҵĞLB=F0S^$FWm5l  TXLCmv11Q/6$~HIjbX+(fIGàCn mxstHSoWv/l-{ OnMZRj:-C-]"R!)q.ʡPc(} 6fIcN3G0gsq--L ]=ląT7:dJ|)tLoku1Q8ŤN@о} ]3cJ&r|8Gۍ&i ]F)K*ۯfԢ&Z 6bݍ&؏839j7'[Қl u |*DS ? ĕȵKJ $I ,qՙjX><#`f?Y,5Zցdoob5!Wc̣g 7ZJN*9rV: 13L4`/١'tv,@֮75yZe O @k(R g+賲y#c;蒋z^'y]VEy4WmrkQ'+>gJfJMG 8=jѲ:[9z{Ӷ}~ 1iJٞX6"4A0zb"vO mP?mu/>1j`3O/Eh\v~CA\..jʠlHf 1̟UMz.T0oJ=OVDm{Qbʘ@#O)JBc lQ6|INGVJ 6,ӥ=(#3^Tph4#nIJmE*x7xfu=:kQ1YNhBfp3Aم>F_-g(o55Pf<>߁3މcyDF2 t"`){0-0->drPǗ+Bf\$o?#%ڍʫARYs2q^OqJ!B7VE#4F̴+T{O1Z,'MF>q0;d9Ă#e#lk(|*>\"rǴ'DZ^K3ڭFq ؝yݳV:p5-˦NQYX{㵖@a2J=k/ކDw[nbw?|҂g$ s|#Ml`d lUBj?wz:oc*73ŋ,51T,>) /W桱]mJRxfc^ ^qV[k):V#`mHPTz M]hO9æP9"Y5~r;ކW @v[EP|bCe4ƕ.qkOd~M&Ì ,I0 ZrH T)\CRBJ(?2Lhsi o R @)k!7oq*f^&z)2ʞ Ռ!`ղ33Dҍ Į OV8_/uJzcMaY]â~("ɵ ^v)첿mԫu*~7[{O=\ d+1}Y?6MS|=NyeukKZNH4`&|Uz񄽼KKos],:Yl1s7&9UxuxZD|Yv [Y0xīSa)w%Mֵ_喙_`\8O0z@#qj"if.pHhIK;&0 /d4; wi>dVڽ]M9o5awℿo(L\ND8X㞏[H?XE,SLj\ gDfŧhuA֩4&y[fVYWʯn1pm1GhKEr܉ryɽj8BW|ś!QrOavVż(%?a'e( 4Ѧq'c65ݍ3zfyuf[o'SS VEf$f8]V\-ϵGgsUm0AtQFv޹d|5cһTXbY *V˳ՠp5hY9e*`KO۵kuj|YxrVZ(Q>%u:&觐k05Gr.D܀|/e :Ϊx% T `//F\Ϣs♍:]azZ? # Q) R==^Cd7SЬBH]"j;26{ 6)ikBd gV[7!ˈ1!% 7c}s%$gRyo=~\e8|&ƾ/40B$SW唐*k yL~Y Ȃm`IDeQ9mk{.#ܱj\z(@ ;ʨ;O^z4nTƣ/6jͳ,DNÐf.:NslBSGщY ޱ`gd|xت:ycB'ьY?1e_c g*i % ev۴́g0mkDÖ?LGcJC #P~lMgz'Vbz\ʮIvjS=@ǒ,9A}efD梽APZصN,L hjf&3+|_ihֲn$bȄyv4Rmη34T0`yu-]{]bA--B:ZzFGXDXw_He%/L ~",Z1)^y@z![  tR|.=suDoƄD1kOG 'v>pG@h]?+^{ GIQpߜ3jW)>I+X4'Өʲ dEXybS•ɛ=ʏWXU㵟֓:k}V}S{Ye8z%E.ODetS2p!]4}8 v恓omndv I-*#܈SʕU- 1M!Moۉ|3G pH kKljnm׹ -bdiYEn1y緅Ja뉊qn$,j3"41bWcrD2RGb%l)CC|Rl5%W!ۆ*%BLMrHK";N܎,ażZ;ntGê@w\Y`P?oI:?lJPvIe[VЎ}eËq׺'shK2gw|{i-IY>2Rۢ>7‡p l4^yprsi :YOY'b[u:zɯ,Y7kɋoݑa\KkEllZI|OA]yD%jD RfϖJX&ؐ!_k),%45J ]Ml)ٔh pqpUwMf[aj+ZRΑG#[P^J#7XJu]wD9\.tW\QWB8rK (G)s"ك!Č8~8?P_%C#VmLp*z*'$9UU&(ʧ$:1@E2yOld&+{zVaozX=‚̕FF[o@FbjטZ46;Ӥ48뉴!#?*$O4pS3v}qOƯGۣ+\ڦ ̍}yT2Z7ATf:_Mi|pGA)),0jȆa(d~l׺:Y#I)G";:*5&H4"ŧKL,‚DL %_W #byLa4J¯c_̪"&edvG xvj ɱ}`s*nZݶ$<`)A٨xHHTHvw֓qUMToTdK͚k%~ViQ.ƋR8MԶ;Dj献 rh,5L8Y6ݶww> x֖*|:SkZC<_rEgăk#x!T(rD/fx>1,T A? 軕([=(8-:` slJ:+W8Z}.!Kߌ&5t S'#W g K-§YV2${9 bor\v9fVG3ZY2!vĢ9PmR|(_[?;[IsƧr=N k0o;h>8 oUH]-v-<^o1El 1ɖtRM72ط)f]IMFa*6l2#u(`aG%/&=>[IX@O>AWjp*JTRYtߦk}69@~,Qhn eQE#P>5 LI84s|IuXeuj6{H/`H,iSJ|_1h3b[Ĭa8 :7f:*P;ȵ1%D sH=Ncxh- 蒲q~n,o|a2m_dV-30?ʓ|f{͖lӮ[>#O%P+l0 c0ieMŦ=-T):<+&bT m-EB?f"d:;Z쯽&Nzg}8 ,@X|\R<{ (*W>ճٙdΩZ_M6E;G<|=ڵBiȻ]﫶+~BG6ǝ q ѻC3%$0.kϹѢ%;._{FwN] h x2ƑTP!j Us@O]vCUMt/E*>r-> T-ꆱd zK? Ml4\%cnM)0ڧh)1RLQXdq D}܈sL]sC0C,n Xݢ&Sr !s ig{)qR…5>| 䫊Jw(rFFVh[%ܞ`gԫFN *Š8!v)1)Wu=dO9Ec‰4kIB~c2E}*3AVQ}N9/0-&q0X7wz[36B%+AQ#ecp%*Xq !1)y*:84A!B3B{W_@Hzx}x(nJ0C'>XMd6J!Ha3\|ĸop6g77ڟ}K##6k5&waO459`!\ >Eg q#}ODb]ǭ3n!}]d8s`{"b ^urNɳ+BciVH9͔)QKO qYYӿLc0~bdMÛ|RgSwk>/pw0I$6F c|+}=A=3pMX{%B̷&:bx#Zz h=l(p^ b彀D_PJ1}h.Obt JܽLz Eʱ_vEAjV͔\D#t&y!z{;J @7w/(*C'ܰU)/bfc!fE٢ېdv<Ď )Ov҉Kh0j ͯRriA[s[d^0):\YfK1@vvvPSyH89ifR{ <mt}moFє#.K_,S߁ipRcu dٹoMV1@?>7v42 6n7d2xӻgTCң?7nyLG?W(^?!8{<%]%rhD0@(P^㫛źw |a|E񫭱y}h/;fe|e gT~tYFLn7o:j#o@o.=9v{Z @nWsc"Sʙ#~C mBϪyOޘ>1[-3c)5-]F(c` o'eI'h(dCxL]<6B?uTLoՈJS z&sC^7IE'B)|%2y1ա1h#VNN":ޥsE3@+awޏpJ[%I ?Vw)-|>Qb60@)J18uZPjI%͹(ʦFe +x?DmAtnfi{\'3\4>b 2Y -JFGn=\_\"+r(UtE%:6뮌yCQ/_C_;3MRLx.AK|ӈ qz(aO(9[~Ƚ ~s*-%S5*VSI~r(/:!_ =M$I銚M^."Ʒ2E<4X4Lj牖&r= / >(SxG @V+"2$#_4@ Z<ͬ!܂pNJTm+$xsLOC$k؉ive3m"˗ֹ(,ˬoi4eCnnt34hkxaJtxA})Cj [ɑiS]QC5*; wl"''g#qMJ{~; b?- Pl?|+|jmNhݡ| [{>Cn5V ̄)(ahc7Ta^&Hܕn0%$3O/8vΗ(7J]Q9ۈ;cPaf8(k^$&R)/XKK-;]ȩm . ]xq[-,x6 ..u!bi4{Mu 6U: *dfȋpr6SpeM>[+d,SXi/e!|9OJt/*SC&%!NU21a60SbI WCTs3;RҦx;o1`bGЗo d?.!*JE7\Qk_[G*sy|`)yU3Qlr|;1gݯel gW,;yv`wzy57;2״)@.'γ6'4zpR\t~;*PK&'=NXRx;Us seUV $ug)HmU͢(!7B"|D%U)-z|*Xx 4ɑZ"MF<~j3JZ.?{sDu65 .#v*8X{9K쭻?FdQl{H~}!jUٿ? QK0nHĬ.8NԍxFo(X,:VMiq~ / "GCЊ0h?ч0VJ,dV[@]w`" Me)Nv*-^:[qܠD%Wk (t%)F2teaDYk(`bb]νT w,b0U{!?`G!̾w9 .)jN gI@dI_[Lct 6[OO=`0$cG%-*ՏZ@5TV `/!/d|z/O|%;%Z=}?+TLGxC_R;axi>3U@<9Y8_]eW;ª++ptHz^z$ %z1\h[V;4h/DjLJ22b5bJ4VBJ7`s9TAhM}qshb(!1mӻxDtY#*W ɤEo/Y QG#Q Gm0j̃¿ 9 hݔOE-s%UJEjz*)wM9;UG*N^ :]a7\j^aLRhnBsmlj3mbʖ_kdrD,&ڇB;j@i ~.a1(vbAUϟ`e&^hK%E'Y_: L& tۉʆ:08>{V N"IֵtZC9HR`_io\U&V4))vVOyC6 d7\lLe۾l{^eﹸ! Qn ^_&# X+7; "{Ѫtȣлiaa>s5ys|TtSUN|SM,.+H;}Z䧻 !Bt x;vY N;Gf:\'v:w(EFٞ Ls'JJѻpD")qJ|jd!?%H6A0~Bˤ #rQ .W-9&?Dpn;E}ڶf2Ѱ?6??5ĒzX-Lyg9={ e%QIV\6Ᏺ' &`ٯ-,4wW,Тu2'Ie]Yng 4ov Qwl -1)Wt|KJoa\]`k/Aka.;*_p~0vz@=z>i?&bzxOA@3܅^Q1XgW=m:Iɴɿ„=^RTQʗoܥm*Y ꪳ1?<ȨWg% |ˆZ0nu$Mʫ<J)P|BXiS O.E_xM39{>FpDN M9ϬΊ+LvkQbm!a nwEǤ08y2/[ 넓ÿ́%0#RM5UV[jAry  *]mرU\3QlU:jin7̕Jz#$0S+O}wb֝ӿ›\n=HYdK-YaO穁 AԢ|vq4HUX^&(md$"&O拼mԵ)W**ӳU:] [烹ݣӞEuzc 0k.^:M2 մ\?ڥU+'{.'MJuSʹL55MTm}9Ea0{iP&>Eԁ-}fv=BϛYǵ~&Dʔ&mI'9I֗c⦝2) B4 xGԣo.@JmX+ [ok vw4a`"?gV:U|Y͝Uc9}4WCmD?.7VD9H-Ue,mqư J[RuCC P1^E?S|!DեDHC5pVJJEaChkQтf@e~5Q;y;H6XrP&vfF]OL}t~fAmWy}٩GhڬGJK:,/zYX8ц3317Ω93_nsA^19 *w~~R@zyӡ8IvK1B<̜m _1H2V|nuԮM/Aj}+ A@ߛ(M4( !Gn0s?{̧kXhri+M̴> 5cSnK Cּ;Xӏ>O]z/ҡnIgИχ*XZU훔 J $dS?~kȇL=ϕ *p?!xe袳J_J'ib֎:h\!^^cU)'{)3)&ɭ1>BbX݉&!j0UI=fOD˖bf"k1X!"}k֙ P9A;Ix+[ R`k%Ip~  Z2_;r:ku+^0!ݴYU}j@ߘQPIi5*WmoVvkX$hw2 7QʽJ7`k'j^q ($ KrO4+*:UBRKcfko$&kHC- "VoPáY#9EyXp%K[5>D=B;0zMS%Va(szh/xŏQ Xfg1ڙh 5ƃq9ʣo]&VMe]@[r0>l&#V1}!u$k\e1n Ќ;gimMG(g$PLX;Jw;(J^SIQR\+;\z9#/Q(lb'vOB9F qVq?SG)ǣeU^RJB=`G %Yn#|Ǩ- I~2ޙZ\=Zx/XƃU a+Cx1U\EG(nپn5l3K8 'X,)>0q_3XTAZʢ>}D[ XeVuLUS,S܎A By@y=:@hEE+zQl&z2w7N_IG 7Ҵ.h5BL^h#QRf82ԉH炲RO ^+pү`!&wqRgYj}>)YP L4 ϝ6Ilj~]GR .0֗`5= /+zzsZ_[xʏBz~HьBɿ]i}U%VZ|zdomt^B1o17!3Þs !C&?amXGe~LϳT+,D׀v$Mj"ti0 vV VuSfD -d)wt8=zr cL"yT;.j9r$'+l[<{܃1gb7˴ۢ~U~Qյ5r6Mڗ~RpQƻB[h9 u*>(Y5&<]},J~A{f i;/L8ܹ{I+ :9\RR_ub!9,>1c5BN[خb)Lݹϙ܋e{5"_[ieG7cwlz潊xieny$ݚT\F]2 `˩/> }hF<3Ru$Y..?#Y _!E.WY,TZn?7ܥ6YQUdd1@d1ѦK9'ʉ+SI[M4u0?*jsZĴͰWS%}Wr+틾uT:ʛ'Vw%lQOuL'ELNmhx&rZDGз%݊{;3_"i'^, S^5KEz*a?7}H]`,M ;JP^7dr =5%Â-h+=lk@lLuaN+ӊh4R2x̊π.S&6koEa_wS`] $#xw1{jJTѰ"dٝ~K4M脫ЕdTP ڮ|B_6n^T7Šl"^69.@mxU~ԢŜ8E/h g㷏_vGb }o5Ўy\Gu1b|Ҏȣk GTUZ#䂨euNƨiZX>4nV`7ꍎOʜ*7Nٝ.uʵ#9je[NtӚp~VClImWWrTgȥr!_~Kwo/=v tZt]ΤjI \6u ⣌/JVD@2F@9͈-- hצ7Rf\I  oydbЊ氇\{(;M93iS 6Qä7uae o l{?-y֯DVD9_Ջ1QҤ8ޤn990P e+s`kU=}٫Ex+PU].V nDwQ&mJ:If\Ycj|=KЪIc1v+$0&m^`oF iߴݖOoE&_3o7ڶ˺u&YMf:Kr٬gZv ڬRӬLu1ݘVi5U1k?lQ+Y٘O`˷eEZv۝Re.qT"mgo`YQ<}&ƥ99myTX"w]WAņ`E"%,jG YyLrOs[v%DH) W[>7hy[>jҭjx.əX UmQ~#- | АfFDϥ%N.`#" (e oҚzS'>ә+y@8^*[SOl#t1w 1>k 3\;]iJ!vKCGqev rHNX)X"`<ŋec0Z%'jWnf4 TZ!mcevMB2D "G+aӠx f4rr{Fn^Fe֝xtz>SM/]} 8OlJDzmjg8@=3qLď1} xp9 iDyGYkۂ煉:jԮk?Tvv2LYsՁ7>ިH,+Ct~3p˵725CS3&-X=>q P,nLYu%JF;Te 6onLmޤs%?K 0RY}}׍Ç0ʰ704F{ƤD F > _]Y<{Gb  ]ۺ?"BB94((1l -ܙZF师dT_PT$lK}M  6O#< Ȑ޼䆒(rt!5?z+ߌ=IWSu pq{/}H؅ft<WH5{c̠H,$~mx6c xQW!5Tr1wQit A8s!Ujvڽy )dzl4ob\e!{@?7;Q>)2e6<+L%d^Ze6^X)˛ T+t]'Wv rx"w -ʾM[,ĖE:G|s~?@PGp 2W2#@wZ<]["v@WXAn1eO?; )|3k ɋ3vVv vTYCIXmm^iG ~b}`Pb2r -*0̻̰]Ǫ1g}؈N HyөŲarHiAfc'7Z< JNe[UD~g>AC"儘"fY91͗ɺƙJ0Z[X^-PY)ޟ[ỲwJa>97Mf 0QCPYK0IܭbROt=j?tS?HONhrȦ2 !;1u[ !NK/oXnv10fVEW&we7r&h zA -ea]i;-&tSS"*؉ kӱRiaۛ BP/^')h 18>R taH|ۄ\:'^t x]==0b+HF/; *r!M%40=b~}즩͹)sntj3,zeL=;n?TEc" 2zGPzQ(•^Y5iu🖎VsV0XG-;iߚ#9?GK`7!^t], X텂?7iFtvE}!$W0Mma.#` y FU*A+Dz7 m,8Y$|a䦧f}OK# xK*'La-ּ?lJ[j 1dMgVgiZ\;F*Ӹ̪D|I9lyʑ۵y򈵶nE~FeI ±n9V cG 0v鮴, deYAWϢuV ! YolI {/[/AKg)OLA: }BDLd#4,帗 EIm mDΓK]/ۈEPaerÄ  ¥Z2K>0!CC>2RעxP@2I6z8#oZ;ʕ4FkӔU DSl!/)6 M_RTF'fFf҄*Jˊ@Ekd`͟1^ULG cH:3°qXSiN蒷ZWHU[p]ToEl=8r::@a>r"a@_>0Z'Ep@Cr+V38. vf')eB_$Ƣ9IGk^A lb@V4 eM(_.V;X5##|S)@[YɊQL#i^j]Ҋ5$u^/[nJH,dG8>%/_ 4t?[RKbR* P x0!3H̫;75H_̆ Vs7G8_ScXM4H ߛ6,0x#J-B(a& kYbaQ^WX8X W(Un\IT=X!#;nqLE>tuCPp%Vm@ۂ ^>Aike|}jETY4Bt7q+ 8z}"R) d/QӪOo߯|v,$gIplb=en݈bZe(Dltr5_mjD[&xuָmقu5JxH=.xHtôc 5t\_̆qդ-#0`]/LHd3".Y͠h3fz%`*H9po0".b2ef{]rzЩvX y,OMT0\cGamb_?Yϖ닷qI\iXzoY﷗GF\VsP@95hѹL?Q6fJx3/܊Cc IEH ZMx{ iۿ G{G+(6JH(C丵Cҭ˽bl9SAm^۹ǯTWDHb>G]~ |f窅G.Uqd`oKh8#~ɠY{ס]D.]D qM+iG9,X' FSI|s,1pиRh5B{5"v>pmR|,gڙ IN79)~K yKʃ8:yWb*(5R|4 d"Ci1zRK}[\FȿȏwK(qR4EٞedX\uaz=㍿v?[ yViŸPŮ'bt5=okZ,Jt˛𨒂COKw^qMk_u=8WU`)ojM! Cϵc3nNXaBPd,iZt1 jgt 5 p67F:+V͟8$j=4$ JZGMN'7ж>]lDF۔51H vVZݩ|M.?%g  ˑnȾMdFeжF4 8"gƺCoϳ{Wԉ?$$P56mP3yddGǦ(t.WƂ87fD!N/=jkd@̚}q̈E(v- =g&ߨ*k]D3goM {icHqP0F 9a? j/PhW mDIL?c]]^k8C#bCkN_"xC`{ңqE&|;-qkEuiո4xAY{IhbNzzvJDK3Mz|}:8W\aXdw|Vy}[j7) XBJwzs/ Zck^yw:sQpXb~ZNSuTPs)2ljx- ~-g+Iu_ }&Nؘ*Ft[~13KYA\TigD)A]Bb̋YbXtsJGf )n&pHeUfׁyL"n />@zAiŕY6̦I\Sgw'<׀g>IٜvP|P$yvEs<7en~dИ;Du2V躂Iz450l6?9g88*oV!] ErɌύ0 Ȑ-\۲7Zlyy9Rb&P_oG& Q8ɜ3TV :NʩNBJטEw Ԩw9+h)i)3)#9J&Or*@5Y(e`fQcR“Ummr!S^ LiR2SmI7&A@E-sM_b.յKn@d ^w>,bJ P'# C%Mt2:2kx2(I`tklq4A@ ^ߣr" Y1=eɴ;h<)e sLhw!B&CO]v,:ϲ?JpV RI_wmpgڄA[:iT@( =\\ ^q(VM&G :4ƽC6%͌ Es+ZTknQFh8j1NNua>$F;dRw `8gL+=*K*D!&2Ӎfql ,Csb?_fW/WCe/jQ͕m-ॖ<.ԴUȻ ۿK[[8/".x$Rޔ\'ɇX2$d%Y*-ɽbXE,)K -@f~8H?9\EUEPR O вKJe r^.+[./A\~}V5@Wہ J%^o]PTk}_BS VaarT:gV`{j-eפֿ$~gF{k{a be]^6iȆ@H^QC3ԫ$ԏ(R P~آkA&w9@Rv>6"S*^X_}1QFV,3.[#@.>C7xS|lҚ8hٕj~[lY N8N?΂K`SܕG E݆ać1;\mYc}qCK/@]8Y=Q(Xɡg6 >v|ݒ7M9~ NJNH6jpdq==Q}9ջu*F_*{T`b5H(* ٻH,C0Q2He>*RZ6Msf*KP4'5QWԫIއi- 1ePNoQnDa#WuRL ŊWmY۴eݑԣE2+-2u2!m`tlIvo-8~:.Dzŵњ?#h cm684Wl72!+^jEC / `>Y&vY/getC/5aޜ#q:3, Aa3w}W3V ,NDkb  Nx:e꣇Vڵ[yLݰ+fn-b2TUmnNס$0`=UK9c8\ Y> )¹PMOoItչ/ Cpk-{*f~[oO/r(]>0h})wW@H2S!V%p:_V/1ΔVq_PKJ}\Q<٧m~3U *ޗ ?P Z3a#+ {y~,{  R{8qS Dl"d^[XK!;Ex{0R([O p_R#uJUtD)l>#ھWً@ޖbXBB).KȽ@S6_oU*%NF^F!A+-#/~ _3(j~:2V q(MT ~2y%v s9ļ-$â]ms(=|t֟H8~E1"c&q.<2?e*.tDRKðwUCgWa::O)S*=eA5)R`}@ـ)KNvd kY ?Y'U씜c6|tY<[Xn_BOk~┎J<ʨw #Ɯ}ߔZAn&Ds0Ď%NIxǶJ!?1 R?rVXycD(‰n+UUmգȩµB_cݎ.t,-qrвpD.' Sg &sнδSP`xp~jkP @І KIq۵QhBBd3ٖאP^Mq=Me )l/h q_$D6R=z{mm"{Uj}hE-?<ӬXFTZ (p- 3FVZ'Xv|tga ˀۣRБ/u 56<[Ca4j+3:'cv"a1 S -3`Mؚju}#0组D5G ?h k7p@ۄM5y{jRg1]lWö }3;-Deq$ q խGKgDz(SBFYxcd\^Ә<2*<6l5Ng^i=7NW_v;e#W.ʽG?hyɖKAqFX,"6#Vn,_+S5Jl+M(\0,$pgo|=5]YՃ7tBYPL$h@$o+қmDrz-G D^a@nDXS\y.W**];["Z["/J(GPo:6Bqvrk9y}'3ҊCRI} ֺ2"Y6"ZSS0^C䠿:cѴ7exdG 9|\똜6ĶIY@ddEqPȼbDR2}숼-]XwN QyYU]!>=8a&֢'bJWL'$~?茎Su~$f*T!u9[5fX`z2Ί\˫e#7]5˘تr٫.Vz>un/6f J7"p߭UCQP/L=͵ MPF-ٷu:ؘsjucU&ޔe*̿LPXl Ghw@PWȏe?ץZJ0v%$4 sll ȍE>񯂌 -,OY!>!YBe}K8?g*]3TheM"%XSќz&IGa u3Y~zɒ=Q3W,xEz#>+$lɷ/1KDa}#n  vr 5 5/] b=T}Mw[Fd;+ YWclZ #@5\ˡ;잴ceRK"niY2ꭿ"[o/oRS?VO܍S?,ZXjL/S{ `IP' 払2ftUuBN&{ Z-k1DU ,)n-OI ?'J#[\9~X^.`5Y 1K7.u@s\51ݭ"2XU]rTiWb۲hX0nwG^-t Z4t1o ^M 1%lol%Ud PNfz _9i0Н$ѩ^|e < 7p+%)A:(M@ $*ڮsl3vẆ~^8hYܣgV6@q9 P5J$kD}p:>KءM2k]tŰ'n67Bto1*^PT #$VTaɚ&|hT"TÑϢ]c3P<\LB#>/FŜ׆8 H$lj18R]s.gEnyy{0o@1fR>nǖ> y̜ZE'DJkB3!d=V2B_oGℼfmJu.2̝QOzmEq#Mpe%*_: 3Zz/>J°%i}/턩Neۗ YTQyj9K|%Eo*[Sbq-E ԯ9/\}2s&9¢$'46=g&Gȁ((X1g'̪2ڽvKB#0K>VCYzbFŅ`ߐl|3íQh;ܻ:[\.qwObi74۾T hKpbzBᢞrr hojކa`߿hے2CZU[ЙBؕIKjƱJ&9ݮΜsW|FZԆJ yi?2A3H x(Yӕtl}@xg3M20QXJ[sD ٦/C1{VC@L7wfϵP8QGFͨ^x!Ю%k@1YJ1KsBV?C -'q>eOrAƭ78*ZHF#PXxW.ZRduXK"8j^a6ʋ%vK S* $A!D^CNʹ|9@h9=gK(ˆ0Wq= pKf4jVֵףAsBGsJhQ:]m:bPIv;}iU+]S9wPԩ,@N~r®zhG ch9h·68_j]jSfik\|w\R9ʷ~:Gc>tS 6`ME2(Cݔ;+}$J>ŁCtǻ &y怬fVQa$JcYLCB2pg1d Ւb}.CtR]:8^Ob:m'ڹJⳣu~^g~IFps*V d-KQ7\P+~x|+a G(:5R_S<.'C9vl e5s|oj(̝ɚvP& ?b/vϔ$Kc({I"j }Ź VǷ/PK(7zZPol}oz ; 0*oj( >\yT\ TmɁ Mq{ I.p 1!]҈}6ҶXb?f4L?/T(T1ZN55^*j9&F`]5 <6rȮ~*L#zPNEqë?1~tWUO(D㨋"yX7gh?7=0y/mAqluEk@"I)&V\IA^$l{LqKSܱ $6T Qˢ6>օ"r%N^㷗孓w@~s$yȆY1`D^l|m/E[3JG54l4ʤX 1mAN m j^FMѓ'J*9F × zkG 5bh܆Pp2#1!0CL( J*,ei,^S]%} vx'>vmvF 6Mv߳1)UkzvW#^/E,gA1Dy) ĸ{%T{ kFk0r̀U"zFBݫ-!*1gpѦ0,h!h:-a63J5tfy#A6}>Rضo'BɐEFW۫Sbz&HϨƌm'qxҳJş$]Q`&SVlIdveso\}sku8k+̨k%Qܷ=W?KloQNZW~=S[n`l}za ^Sy|Ŵ sn`|3!H;J]:iN"h$pKGC$8 /1EF$ ɪF|gk$ni GWWqX;XjAIR$N>]Ɩ\>EbEoȧ1D3D4SHًo&5cAE"^(R'xd''Ǜ=Pcix R`G.6T9"f!UVj5?nH P#GV,FQIFpOBS[5k1z"@07H_BO>:OvZ&g39e\ΕD*c|V:jx wN%QûBҸ3IGQ'8+=״0]>p^ v&))"ҷ=g!Dt"^pѶ6\0| {u"S_"Ԋڬa \9oY"P]o8Ԟ e98 pDRx ځ$,0zrJ*+Cds ;O\"3_}촑]u^NG ToT+Th'~'r~ԙ-'&Cq5}V~[leKOBLʔĂ"M j1c̭gJ3 X+7k 2> 8?@$1ֲB6VVP۸EsTք鄛kHIjc^-r[u(y6FNh?\f6:2 >cGGUx%ќnkc)M S%ioiqRe["I#A&i}q7LA@,PB?!ν17@"ԛCG::[_$Bq =uh ;tՠ jzOm$fDf=&3(-/[, >ҬxbdjS @2' ֿ+ӟ 'bwb"6SitaV#40ɂrmbDVzVB.U^/Cu /To@1ã6 c `9Bc)helU잏fҍX c53+S.Yt-q_(ވа:Pkn=}wd~dtX 3-;Q-U]5~}f~#HV"K@̺=?!p`]0 Wony"L;lB5R?!㟍 v"#A)P(5 J0q{٩4)jq%4m>7ꜻoN5=.nk(R whb&6ݽ_u Weh%ƴ|Z{JI끀O\ch!>cʕ ꏝQ0,#hV ~:TrOebt~f+X+'Kԙ :yrjG7!Gp)FG mwJKR6>T =iA`ؘoۻⴜiEPnsB<ʁU)A]@8Ymj ܬ$t̲ b7+ؠ?Qy5|^sSګAk:)iE= d؛* l)H4!E/-N]9%Wg"Y6nReb!q1եAyf~hnv7].^)ᜣS/w7^.8(FTO4.|}pB}$V:CE@Os[)@{Ϊn8$sx m~yaQT^BokNcBóswٿ_0w&bFR1${&jD#79yr(bl:03ZZ#Q!h%&Աb.N= }C#.٫3V~C3#g /۰8_)ֺQ p~mX8E/9E~fj ÁVD#E90T˭s*GsuvwmBE&4: L kˀpjU6"ڕhAG[7h.^Y aIo~[iϫ2W#wpBZ\Q0ǍJMeͤi{rr_-xnhVQN^$GVo7͝ݑ(&%D'A\ͮM)V{NkeS2`8Ll2aT~d|פFBaaeRwJdu `ճr-o;IMĤkaO!aw憠hȠ^`#ƪP]SlCv$jh3:SMdWA8^Y_{F :+?QfEyf#*-(~ٚ<`˗zG}Mߺ|bᛔkL>gD& f[^+iw9u6RP.L?Pv0Jgy{O¿4~XqX\cm vC2gXS-emᦂa$ T_7Z9I% dAqQYJ5g'Hy(n=@-rP,mnd/r֦0)Gc<Fu6|˺PL +r߂ QXv6!Xi{iyz.ýCY FU~) Yf %Av Ҽ6рؖ(})xsĆz^H a֗JJJ^JS TN9TKY"=dMIqj1&;*). xLtVu=&)bToDMBp:υ&*΢c;\-uL5_Vz鄡V|>tҥ@/lh+S<7 R1ѡMc͐0E5DNIOy^wðWffY eh A3˂ӘSE(ҾCk-s4NFkk '-ᆍM,Oc3Ȭ Jr>2L><E延Vrےp9.!TRn"tΪ;F\Yh{In#:q jty#;eIO,8e̯jפCo䬊jǮxA|3[%%3PT;Vf=X7^6 h[*OSSfۍT9 al =:oz}d(9MocgP_`2T_tųPjeuwe*\Fzm"-E0C) mӶ \;}Oo'DxpgfTٟH;<DqTgWICJbkw֟W

    j\\.#tlh{!?! izR&7J57Vj-4@+C m崮A`͕Oc[J p0aGi W}FB㷵qHԲ92ЌeeNliK0,U m9x\[]YMzsW j6ط;.ުx8hS:zo/Á\ d -7N(gόi+-]`*Zt͙EV+rB,'2/BS5#ӕ[OsQ sHCc:Y`t/lxw N?{zx imQYP7k)^-Q0@zD%K~ְa._kf2R!Wԓ$Ruƪ2>H{Ҝ瑱7q dĂe ;]ˢѶxf!<GSk4O,ءQf̌#w\92s:<m!TC/~Nc&%$ 7[&X *b:{c AK3sBzOD%brf:(2KQ8P{n"/́'s\NnyĢ'EE`ƫ~K~ 0hFC aDt̵*B_Ajz`K!JE̩6C# &eWF"%QgZLogCмhC;뵎(ŭɵ&%"Xɨm kiժܧhVI-!)ߤϧ3jx: IaA'eP+lGs e*N$tHKUp9DOX4il?aABgx/U o"]2ZrF>Ӧh?;-W,Ijt#:.kSh^d)1-FiȆS>Uzӎ?82ěr7֓ce/úwkit j(ik_%؎:&&I}LL,sgTVd]ȇBR1+?l }21A*!e{^DN_1CR 0;q8y)+Ue <W;ULzқ|Q*Ojv(ım 82,)[P\6򥕕lFi/(4?{R)EukudM~[2\h[c),v3Հ/54|NHN5CNB-0ERl!k,qN]wzl'щA.%Iy.&#2x|ck sM Z8e6CK-1`ofb/jK*D5l>^m߲V|*Ki:~9]-B"01P8o2ǿn\&)lbsA:e -h$o^TjlAK+'~e|}(p]Y2ke +CE1`3 9+v;]CwCU h 2.J/i Yz噾IeAL' yqfڣ{KB~ 3k M,(9=bJT:H.{!99nb8*jmǓrkϗݭVBQřX^kΜے/NJjrNKyL'V&R[m)3ַyai9WDF@+~t$Cn, ,U R6URK%>*1ۗ"+AFy]Fg>kURi4lpFkw3ۊ/XHU܏X2e /uz˞0H~a_mPR4tt_Z3NȥIvm[ŽU['Lf1i9f"GٲF&:on)U*c .M <]T,&mNC5)*e9tA"bO@+Nooq?@ Fٝ53k>(@s8nމeU'xr!fA'~R1$;Po4hVq3+d{j]?7 [hwsnUݖJ9j^yҁdtSM.ʭX3?S6ݮ8獵c@vr%Af-y3}B[f{?"\bf/AM\j6nE/'+;~PHtBy d=zѦi[Id/EW랅^ $_gM7? \ޤysj"Sh1ЛeLJYz]抿7UCbkoz0zsW3TM:0'r>ܾ5 #ĵI%6Q,`@ƓUKY7 n}[cgK3om~(O䌜LmŒ~[qaO^5v~Zb>$O!PNx!ɘx]R y̮IC90**s?oRzH没jxo"ڔ, S?jwMW_E亙.@š`]`ayXe ?0¦G,MV尕2ǿe`ݩCW J1F֑M$mdVԮC uG0#4o8h-i4ԣ#E"g8ї;>ddf"'BǢk< R)2n(HFMmP4g "=\?T z\9R4"{q'LX\lNWR~35n Isɻ-k d^-{4p"atn ^^]4]rzV[XxOE(*dh6\ь7 4jұj %E_ܙ5}Vl>5踤`:5C22әjUHRm}E^Vf?T:N9}3b '4W56$XoŀKP7i2i)_U&bICy܎"?*'v7t8>$Wb5QM^.Z.'fPS`V䪿r&gh]U QbGvrrh2phc_nYLKmٮۗ;gF3,]7o3B MM%#FP fA@?}+_ǝBnC 赟4s߀: :[2 4#S| 4GB+/.+ Y&E NUVx`"qzjTX/Fx0q{p]->xCTLhMM$cڈ $7A]wd~YMk& @7]ZNiLth3@9R)QX6t!8PS;\&+l1^$'xAǙZO qӜo[$:%UѺ4輐l7STQ͊,UkN:m㕊AI6!^Tf2niH)zF,MEt|BmL{[٫rXBF]!=av@W'RQ`I Ȓ8Ld%kCAȡHBG[2V$yWH^"у1JTpuz~E\1;W_/}=QtZᔵx`L-*G,l6g>K!5"Nr\0[s>FwY>K1f(6Zt Ǔ9T3[#s6 ,+1yOtuIP72s $A~- K`p}8 hqLgVQ]) Y ȱWjU#"pE+-q|AX $Ӯ T7I rM^0I} -'ɟ{1v8!AxM`y:ă#`6׵ՏBo֤԰KSPڕŁڒl~ScM>یZf;NABP;L}aS s۟RHC˄Ki+`R̛hV,ѷ8 eYPRvi3= PuSNx] iCJ6`0/={ 6X>=(QPv k d@^rȜUz"b5JR*\k s}kesLZhI?,jBC we_|GleP#C+h;cd|e2^/96Ur!@(6X\c_Em~ώ Q+ĹF.Ђ{eOh~[5+q1ivTvjyF$\ MJE'MFǥȩw&C6kBPw~׽sȲn:ɂL,e(ox*7cB([؆6&b׿hkiʀNDDX'ع#VX_W֐A Ѫdq2-x4λ,x>=Byfgxφj>{ @˪"`4Ֆ`( uCgu3%F f^T4zq2sVX:IA3QĖ[^ާ g kș*W1Z G$f" ]+T>ZRP X<.k ZP?h"2tSKwH12$ lIucc!$3>B$x|hq NؖtOJ6PX=sOq\Un |wQiČ29)6Zo2w Y=^QlAZ` 1<1#']Hƕ}lqmXd *{UVNGk{"ڕ .s.PE2)?zyOʲ\tLטzدv5NFuWJvPR-APW d`qxϢ6 aUQEpRkBx;c]=Ys\#(VSG~z˃>]9WN:p"6fg'q 5pRcYԢt̤׼sQppuOMtU , /mwToMv:*26i\Dm᫫SAћGyz p54'2f -fmɧ!2ADynu]PAB)^FcQ4 %ʿ۶|9HY`ӨoP4lX9T?Phxr ]1Icfee:adw]3STbN>eZԻݡBݝE ߨJzۚFkqmoM@]{LNgX Cʆzcn|PSUK2WG*P=a28 y:d0)$sFwyGECj9ru_'f9lqwj8n_ e__5bӟoڽ}W 5}pL)ܧ~!62&EG_S75L4f983)UaS`!V}LiZa >57aU_N IR !XLIZi.=&L?ʏQz<(^{>dl sosIsJ/Ÿ?ʠrrK ż؉ $?. qܬR&[v[Flil+I$qrTA+۬?WrS l;h6)R歐IiwZ<2TӼPSUgH#-$ׁS)q=߾u ˨tv;}8Jj$W(l +-OPNMss"P25 '[؏@ŖS'rj:$HJX7#ҕ!,n6 [HF FJy])Qd@L5 &h L@/D0Q{6@ɶC:Om,!ogSH 41tR6QM=>{LF!>(~?ΤUK_swbnA؜ez?Ir|Ӝ{C1!bshL\]\wlȃ TŽ~ BH;ݜYK:%ae^4"˝^9LvΦrf @;U&Da.`Gg9 wriD3”G,iK:a<3sl`m\}Q{jGOV__I)rcRdN,*RiES^ξNT#."~IE"guUz=Hu!_Duδ6N;U@H${/iB&㪣CL*{h1.e3R{WY}H["ؐ b&+/ uuQ hAn5{$9k}9#<ҷ_^Se Ni$cU sRj36)N`#s=/9+ zQri9i% l Lо?嫊)"u& KZGH<}{>/QlxC^;\h_=iyY fHfhg(5ORg|ea1l*pde؁.7Rh/8%@y7#'a՘ p M*jC5%" 'M!B{a&pJK#ơ)&p(.]ڿ%ڮӽ@{V ~7urݰm\w8L+][@!auQ?)dքTv ηLgcbUG&23H[bΤ)BI M"7TfۅJ| p(݀;_["}_oΠOSNmރ8'j#ǔbZOS)E\[/ti CeMD (5?I.X?a|vs}`@pf d\RI5GTt%7bgrr |qeP Voe?͍ƦC0v(]oVbA/ԗEW&ɵUi^`)D OA\1I}'A}%8Oq' R]ݔ9步>`XaR9P.pd<ɶf: l} V| r HT6j4,τ~m/#/9ѪMT_V3Y|%ٞ{xF•&s橍QbՆP1'iW*եݴl=@($nHV9gޓYKg2qH.H @ j^s/~~6Zb컝,Gg"CKI#T_ɇBzC%:(~t͏;arAob2;P]/1 X" .Urc3Wy*Ǽ4XLY6mxO?7ߙ LKݕԀm)V [ȇwb vG ~H,/16YloYvc\f8b7>ig`8G(zĊqy 7o+?Е M;{ٟ>Q3G$mEQuX3@Q` fWriLͶLc(\ 珲(^7dQm%ђx 1ԙCDWQ 2u(rC;LCa%U⿒5W@mMGL_pb=$F1A?]\'7m8KjÌ2 xϐ@ݚﶏs$hիW̸@$Ȁ XγUJuFB&D+Ңj#} o) tH2Y&WuILAHO_d+]-*vrJFX2WQVI(H0~CFW7K0dd#O"fX@R=U伩={\ E3*ܓӡҍscє0BYݖpr@93&Y2%ɗxI` `# h8h|G0oL'YR%?>^H aDw5&%:e1!UТe*:I~~ q̀8G(N]X%=5x51*,g|{+z_k(xk-5ߌ?>gg9\Zy7yyZ9S:K' NNORWGOrG%(*ɟ!ۛU0!H M0F. #C<g2\mp.аvY (pCԔd/d8Eo!Kw#t0LrSf+bPGOX$<Ď?WȰs oT62UZ<1Hjb.\c`\ݏZ߂9 ]Ix49C6,vEctn2ڌLڨt+ƠPbnрG ֒"M 2`kN0L6'&Up!Ȇ&ahZ8Ic;ߋ4KoMXk7Aj˩fygI$rK8\a[>?Mr2pb8A{X1 aߗB,)nzJFهO>\%!f9A:D!C WyىS!@^NG-,48uoYbţc$͚ҽj4bѰ\ڷґQb2?ʇ?J@\Hvuwx3ah1Nj=\sR&/nޖP )$(C&"N/;څM*_"D4-%Ma sԧ\;Mg 0pO"rF#Ѩgrb`ovdT_Kz+۞1K`8$xLkGK$¯gB-x午lB<[zǨJ7U6uw\cGWp{qÉ9.2ɏah7P t(Ÿ́|Z $VY0Ԕƻƙ֊ r4qcM  abifI{ ꩯ6/L&"5\]c $eIf=4 })EЫ;O}!~c0s._=`|Ev2Zb0R35uT>4%.Gh'@mVNgb ;kJݞ 5{&J[WSWԞe'ޝ2>h};WX?7I=SJq)>ُeAWn!O\EHvDb@Q!ksKlb-!Uv1,-'yGu2O)[oN"e+HݏA$y]Vy,̙HeM!]E᪴aai+P2/%GsFFR~lj3{::N,wn߸1fM樍t z`v]P2k#=H: l/?V:aӺ0΍zYͮK %[9'6ČX_|m]"0qJ'nnU,'J֬F*z0ȏ_ ڿ<3<4CP@sf! xZ*̍, 'օ>}(w݊Di1=rOB]2]5krʤKM4A93פjW{[;8q^.@z6@UZ)ïx)^ΎBEM. )akA02e(o3+0h#a -a96G2NCXO4a|FdC^F]6BrA6ovD[a2l_e H-YrPiMܷ{PɧlɀA 3SƃL*-MK fٿ aj[îtM͡!7 QnX4QhLF*S{S?'m4~JZ XN0 ŗM&l(.Z޼Vd]p𸛁2~~ ,)d%DݞjhݍAa#QMPF?983\>w"r$5<0n_ /X3HɍU[ i(7BI0BT'b@[ [F^F#/L'4ݓK qePJpĂ?wx+IЏPԂ$e=&Z Մl:t;8K{|*aCӌ&*AWZ2qsvQg.i #eݨ(>t>?RKpeMTdL_=e9y PvlL@n ͰVң?ɟDw% 2̼p쬽iߤ{7#[ !;ժT?NBEpͤ*J'C|K˲ygvٳI;QA"%?UϰY?'W2$xҲ?}o?< :b~JP]O iHRX m@Ұ`_"Jo_7qײfN mY?bMɎxoй)o\) 5uT*tU)*-•*^EiF ,qZp5qCJ]Yx<%_wqS_SVu?4 BCO/nK;9 yQC%rY7ybZo(!ߟ>vMZT~[땄$FÁszyFz?sKOS8O:f㳢 GOɇ)0 !aEᘣ=l:x^ĊJY!5clŨ ψH79JJ<,$o)O0%jV0v ْڬ;6{צ$K KrBkak{TvݩV>+#3Flfj9% CK9]dT}5?KH)QXwL]պ55P{QY]9њهqk~\Ԑ !7;.PaZ3/\}u᫼*=hZLGJT4lJ9$S En7²#4XY0Oj"R=r8=Q ;_X!X1ZUVD2yGZ&l!I.lW#un] DJE550O2fIXv._'JiYM`QSKVMp$hdqͩf&dR,Dn^K$7Lo'{хatx,0)\Zf\y MbBvy('`3G 5c S\B"VZ~-~/O U>(\Bw;%~'?GŊ{޲^#9h sϜK퍼y$nOC]*et=_C_s6,$AK}VEŨZgΧ<< l" >5 !t#Kd7ل֐iYNn3ͽr"}P5v ޏ n??CD>0ȗ7 ,_?~괵n}/fv+ ʰ,=^Pڲe*ri X(ɮ;,o+JSJ;DAtO:Mc=SnjhDw4 BN+ is]h%rX?&TFiVi&5LMd>xt*}AN}1V>͍ţ:d=R Q'u6uꞿ4 iQSY~j kOCÔ< fPk.hu`k+OMe3WM/hJctA?/M$iA_hޜi2'8/-+-0-]JQuAi7:u[HpO'{- 2'ף N iı$ȫN#;bs(z"ުj=͟d GxB?ZwK(:oL䀘S+ n'H%5HUW Α\(T4shW55*p%4$rРq͆Q \;k;T~fq* 4ת;AI|d@pG'FE)$<>`?@:D=- /V3g;jtm xL&k!xﶙ.6u'sGI+Pٍ?%}sPsѮ+#Q -aַ5΋wu 73D-f{k Wg4zrDK!g)Dz3-ۄiUǫ!=-y(mmwsV!&gU()AM#Qg|T svklK!']R宬+9MZ \)VgTonJx '-Q; =ikr\%e0FgIyo_v WS~_Kl6>3-%Ŕ>EE@\4S]‰Qax_9ꯀiֵsȒimOΩGZ5U"y%pP!ؠ~go{ hΐ[\F@ab'4젼f"epߗffՓ+[ &cS|ޅfD)$?gIɉ*Q+Qs@h@lf?{1rGX:̭cQ22b'Dv+W Pڹ;cO%|0BC靖%āOkR! !⃶q2@lJ/D5!6ٗcLO/B䃘\P>wGECxTaV(L?ÚGQ#z,' K,XPچ.K<iL_=A_J6Vtۥkj;Nl)}e9M;o@8譭{CK?{G=L3 Ϧ[um XE ^8û5xh$rt _~}܈%:d_.9Vjdg#tgp2 }QEwS.Fj*NLs.>bP{ċԃ)1ù`9M_(`!iw(>6IvnncF` mr5 B|k.ֆ Op[1 $_DlV4U+'R POkhxzPЩr|"ݧ7yeu^zK[ kQ\ @발Gv?'ď-J'/͐: D6(ZfS3dcD5b' Ox.ItePTg#dlC`\վ ,5Ϙ:C:\}b4l2B8#FMqqN3N%Cq.U|T.Y' AڵzNO0Y$ϑ҄ypwdfc'Xha Ohht^IR˷pIS'_M)wH8bSM8~0aqFPvl",y K%0r܋2 `+<*z guvPJ,rJS|XN龗SL8拰Hs / 5j5&bNXj{ZgOwR?>4:yd~I*c$R#%0Dd0؜Bt!GmJS#a4!V۰`&;@S=0paJ t[:vn#J ɑHzy26L\esf|ʰcOև)Gּ|?^ ڙ%/>~c>"awOhϛF5su qQ4GN2DrK#|Aa[bdQ{F3 ЗնI<'ǚZ=љEZdzUFG߻X|[xtSNeW/8$ü?-ixr7͓@Zmai]@?wlgAﻕt񳩬݀G\5F@"zQ$ =,ոԣN_å8OѠƱ:Ș)>]: 5݋uF)5׷59~?|hdhKONnb}K@2#-HapBP6zeSEHaH A(Ю"3j2ja^~P:B2j}gd\]{T8$Kt\zK1GF R\ySE:ƜڳeH%CF u餏+ܚ Y峹/vyu>z{vOB)pmW:z<@7 4y ĽlzyO~hpg H-5sn+f)KXMB*}ƭEMq5uq|+Ic_%vF#LLvU:+ͳӀQ^Cξe)3H!n@9lOrWYGJdJ 9jwBNLE!_Ucw GJZ rd\QAs8|%K"siY@;lMd8%r[8-֫ l-s@I[>zie0,?_w<﮺]7 nXƍ_; 0N@\޻nH{ >a)4Tj&5Y7S1&t`W@ฏ-q [J|dsmMUԌ-)V|ׂRtvggIbdPdጩDcTUX共*c>.k-U͌{Id%AR'`MMc/A ?[10!.#T'S:B>·qd w5,Jq,ހrRfw@߼B;;{y5ea*eZ.Fwn5{#'3?P>8M?NGa|[YEH8Upу_UuU)< 1/fjS[$8~b&HYy|f=>^pHԆ+otTN-/ mMKD i)Q'Vzz\YY ĸ8½wҷD@RMDcO_9EY|X(1Dݟ}=nj4lA9JcՀF"z*-6C*!30y‌.P A1uBwi'OwT} douL6mE|ǍƖL,?{ ֭]aWAp G`{LN/Ka Xo8|EFغ[Д6+n& huDM]H7.jx۷-C-y'">pTXFǯk&t ^TKeP[[lM^Hr*MGa~,dD^Ҧ?LC_%xt$y3EeAeBK b'iMvlx'q]5_~ =XΨ?؍⎯s&M\]+5]*z뫥 ]0v?G},"U]Aoe K9QE {[~L;ffظ戓/D4Žn AZ'XX`gDp|z@K{[AԤHwhu@_MrxT {0ӵҵ\'5$on,Il/1w1IϾx;qU$j +;s $ .(QN )5i`+蛟'ݑs2 {KOd@=) j弜 YLFTTV8nY(a͚o9nT2j_gv4pr :c8D]{ 6x6o,K@>910Mk~0-*7Q#*=W1ѹ*D-)iaKgy~č";Ãn-~w|ai~Ф1y s.tǭ !oć-孮|z*45]1' %siqs*nl7Օ%g~¬,a|,.XrE2_W͹*q{Bw%r3L?&"9_s@mP},;:Ƀтmk `7J !:Y ]̨$`\ѽ`G8‚q_Ю5bޅ[(D` JGSxR踗“د[,:N^[RT]h>wţ KE)(Y~DT94!y쐼͎k23T}ς^|q*{,Ez3asp݉΂:X}נפ2;3eʆ2|7/xIzY\Gul.yȲ%@޼lPH,⚏gS7"J"wa~Ȉ5Tdëx$Z,LRUec477+m%u0'vńHccUwc(8a*Uݼ~%w'}a`t0cwԅR@i*l]A6d.;9XJk>G(Yկ驛 XGU@G6Z8K-EL.<;J(xq+ BhO3f361 ܷaZŞ`?.FU[gT!`[߯ t}')ŋr,7ĞK=n<|~oZZ٢H4(2{%Wc*MD\Y2"ʕ>3@\$ls=s43蚂uF)0Iw(:xRZ znr)֑./~/PYtRvבL2ݯI\3#T9| >wN_Zf)v{{-$H$lֈqGH˨j8G*w?$ah0>L_r ECNtN5xIԴ J a@PU"&2#)JvK!$'4ӧwjAZ@ҦTM?>, !GGdFvN\V1|,?l$y]1f/NFl>ђ.Jf2ޞpU 뻲vpgݷf w9BJvgOR2B[6uEqSf6FZdv!vT`Ǭs_-Q4uaWb-I]AԶK&42^qR<>щz *5R *íU`Lܨɒp!Ϊ×% {isoGuAOUObӫ r+SSP +&y%, Ff ;+#PhS/{C&1 +0:/$"F>uS1/CKH `/r^#KC$;UGd:!=-Vz r}+,YxQz\X6X4{F#=,wږ7A|c^x^=*Ǝ" X3DDFϜ0[YP⤨_)>06racVܨ= Jd#Ƈr_,L\vSqDn  ̣VE!э_f!PaR8_q,IJ"Q߻AJ,a([ⱽ_/vq[u,~8jXݩ @S-{ DIh#m㕄F0QCs=.}A!UT^;GpU޼tPV*iJ[{_ݵa,I.P{O/QϦ&w[9zj0T 1{os֊(MKdAfWGN-љ {$,^eg|!|{;eb>: Rܲ!(/sZ+4Qȥy{2:!v"ס0Kᅥ'YCwd@gt.Hf!ϳF"_F=T^#d݅GI=S~moҠW|*2'U]sչlUo$;m^4ȍQj/H_Ay!{KkEƝ?$8VOoaVӥWLqV>$ (*-hTWtrcPBBx\/ZM:!iҵҗd058IV#lTiK73O%,v[W֍a#:pv_Ϗ c}*m mv2[eыWU iuҞz87SG49Eݝ*(A;1)]8 y#['xwR_O%wGkOXe\R  Q%cVH4xW ?G5}U) -aJuyѓQ`bYp[Hhɼ0k8w}Use i m(7n|0@VԷ ʆj³`kv٫>=~lچqv>z hHcs eyA\otDa#}Δfn5D}op]I6`H9 M`2#i h'(C= =J+ aSV{*>Kc L.ڶo !G12R oK{N-irtQ = dAf]:rӥF& ,`uUkKR3OoIgwٙS'Tϵd548D ҽ"֏m;zVg0xwEz WnyFhy1o[_!zJių{P`m2H+^ K#ybR1>f /%:,fNxr_Cn}4zc<[!A^ADx8d r-+EB1EG,޴sR"BzֵE GTfރhpO<JCNf%N0ZI7LVT|Xe BgyҬ*ըrӾ,K;y|x[\ ,0m.qdtc'͆:9^.m)~D;L9}F*wYZimYғ;שNRw m1AY(4rL0 <+h>`$3B6 ;VtL'C?͸0;;Fu/RkR(b!Օ _tD9"Z3vz<ZۥՍAËFW x  ؑtaލxJyˋW+{]]["띔|1+}az|l.bN!ƞQ vU4 +* =W#nhi([/b]^;!ĝ&`Ymf9WgC؎;25aӨt\)jٍxc||Qr~bujsqu)<"}YJ#PbyOVݻW@Zphs]3fɈ? 8Oi4jj ENٸVA1sz|ْԀ.AOʇHww4yx>{BRS~@4!WmDZ 'S%G˩i *؍v5)͠hQ~3/yN" ͯ0z{Bx@RtWGPtm DJ4iqۣ$v %k~* V>2LZe#|ťA}4\{77MYw"[ ˋ/f\dPL}%RNoC-AKS^&'kfN0Q };Tέ_zLʙ}\T 3,\bJ[6CR9abTN^#ФArbmmku* 'ptnMePM<탭J6j&4BE05μg~ZcwF O%׼hi#.? Ǒ䐦Os#L7a.C8=ƾ )W#4j`UA`(H w$xf!ZRe@l~IVןxƋE71N` a:˰2d؎ WZT'pjC'3ΣRӧlY\^]᥈~|Hb^ :i-Z! *BX.*g[6Fޟ_Z%Xmsu8?&SŖYSR\+6.:yy? "Mg?jgp6wödsLk,c2#PT~"A[0y `n'JyD$bӄ2E눽Tw/nmS~Ljj9 Aɧ[_ձZ)"rmPu!*03a,?n[3]bJtg=K #@rBjעf@8HMg-qz-y0MJ @Z'CNsOE{Ëj*׸jdEwۣI؊꜂Rvxb_lM*) )) L][p,-j*J<⮶ //F\^-? f0@on[Sȝ/ziyF՛tAoўT3TSNH7>'C4MRwLkg0=),қ!0.(p>!'2| Kؓ&i\T Q,.KtŶo.^ [|X Y<~w?/sW|yvc q9NfpcEɂ$~[}vt{*j!JǦIbY#3;6!]rc'c0~k, u,E,hTӉN8j "$pR#DK0'if?gqt|e(-Iڔ.ZV#ϐX[񷀺!hGgdm0re"'u_s-7+ &_!Q.{1)1o8cx1܀=.XVH~4c tZ}Onڮa=mki}IT20nC >0Qʕ:Q8m$NXKn2h`Q6֡% MD_KLDd=aۿV ;x~O&:'TAaT5UHvy؊NL+GJ{LcgϙY.vAMf нW$L r(ߝ$@)U5nSI^ <%LN5 V5ZŃfߵQj@ZՁRȋud6/bX(Ԗ(3|U*ch8BAhs`XXh? s$vEx\p$&ePze=qfҿ Mnb3 glJ=qNA:,T'7E1,H?#P.s4@:lR}1AzYIyϑ*c J9IOZWLFsX'h2mbiNIwYN]/ߌ,sV;YD#+ tK)HTA;:=m_';QC Me^jV6ae7g}]xH)?bj.Q;hONU2{?6,@?Uĵτr?,h%'&1"y(:0}mx4Jjtvaʡ]#<_8yު<GGNJjO `'` U\ucp)w^6 SBڕOe(G) _ȕ'N):l\R|_q%\B8oR% fxfҽ-rZ]0 и^B2[_vg ͞Ws3H-%p/-H jiQxLw&YAOQ+ bU|jˇ+_wigsKveH6}驺*j}yRa0&pEWT8@X8\/9Qr|{ %AjΒS9|Fa6*_D%/_A3ɳ!8.=HB\pN=a,>K--= [%cpq'E,Į}+1Iñ!wm1KV~QG҆2Oշ\= Mkً8~UD{Y1="ED'T*$ϻYl!Þ >"HdτfŊTwlptMrУMĸC` '5yP1}p%ѸK'c%_B4{L*n$|(Tkb㵰9û$gir63 *N.=ݮs7/ ?;4es 8p3v{3^M;Gtj{> 'yN%=77qI(M(\?ξ+ FצHjn^[0坶8-%LXKHj!aλ^?߹HۣR(çIJRP9Ǹ+W32rѻ@6pւ|z*Mܙ:?A<^[>2s=ѷS[C fYj6NBjt(^87=[H1r}OeΓxƧm7:ԇq{ z{%}~(}ʹ2@~;RTh ?#M\_KriMRMc'@JQ'3=d:f7,ߞҬWq8%nPݿ5wRBBp֟:$@ƹfwͼ㑴HēQ10re ARZM[O%MfDz{dVM%:#}*QblԦk>JqI\SiEs FsՊyPv A {aR񼮓KYm,-[S},;<9$FL.ZKod ?ӶP;tX_j9WEzMkChUe(Unٯ2'Y[,:]@ټ[:qD8vOvב1ͦ dl(Ys.!u+<~> NO+)YPkpaL"ګu st@2 wj0.P *$7;W1lmN ~t~*޳0T{MxOqH " cn#(:v6jet`SBYNS F5ȹa$?>KJ D;|yMv A,}{!CtI);05԰c:kC߯!fW׸\Ws3~X0HwnB@0kjU4Q-$~cܧ.%sӯ0T)v-bDEpj&n=dNklI`7IQ?;8]cUcԜNs?~3k R  ,m Psqrd8ߢ 0CEBd}D-FC֝}07RSmt3Lގ:"(ņ-`Gdu!ڲ{`E%lݜI|elp]y w YT=Q>iix( R #o v Rpʏ^0d%o+ybt`y+s#&`um1oˉqJ^Kxh#"lCC.YmۭblP;t#\Bp5m {8K?6:Vs'z!uLF&`kV5Y*ធn,73D+w [[cxZ~{mw#!^ >ۤѵdaђ}3>s"E[&9&upU O`g6zXnc++<ܞal_RRJ)UNx2WYVz+nmMEmW" @ 6Poh_m8 ̔f,Sfw"F!56#~mbzܩ&jy.pj|`#i*M$a*-ެE'uLZi y[S%'Ekr|) (R'hԢ(Il,VN!^&1;wxU𢛖vf赩tw- G_Rl`rUnsOx Kp*P8fk*eMǸsu0}al"1^]yHAo-TŒΧiccdlVWZG|`i·s%6vR~G]8Fzƚ~V&+lu3-ܼr}zf7<,ngSz|B}7b{?DqKNJgsvaJWU~0^uOZ910 t cɄSMp$8LF.Fˠ$B~\_SƸl L?|NCjBx#98jB[߃!Ԧsn,/,ЄI "Umj -IsJE;;ЭavymX rN)y~K8ZN;JRڣa(fb2.GQlw0fm"6jNjHg#+|#΄Y^R/؟l,HiB kbOR+f.x©hVY^ P/ʕ< =H; ! WdJA ^3jSYW\ikFRQJb=y[s@!9s")sT4z~Ք礔, {&ܙ:3P/ub_BA2$p |ԙS'*3ah۟a)t q~]юZ5Ŀ1 ?|] '4#OB& SQ$*VF@ T#)ë{/?(D9/cmYj%Dko>rnx_t:8p =M`kvDn64h 2NOS dfX2d `UooݣMqRMl;,i`i].PXzǺ@dcUmD{< YMg љL:!5PL\sgy0)Q->{ߴ*V^{7)<'x&R tr0~+،: Hx! >0J/;wG`Wm Z(:X+->€I#],lHܺVc;h1aT@$=!GU!LSľ=b#› BddGAر1$An$]Cyd n_8L\fA$j z. h [b-WC滧, e8iƉ{~o Y+u3yq qsڏ+>[~žKX@>(&ѷm8,_9 wWQZrU+Cg0 i: =)c8tø꬀J U Ft.vZΣedҊ~FY`ސx58 =O&8{ndNT5yoL 3*^{1knb?5w .~_rݻs>'oɆXsݦ- lW]NyBb!×ǶC`THZC]vGKm>`Zam8W]ޅW[5S2|{&>jRcAhwet iX${駨)Dk Et<)bQR  -;S',fcof"7- כ\ۈjc'*unLX͛KɅ y q%G*Z%u覎g\R\v~)Y[B@En3-;W&}p4j2)׸m#a˙ Fn ʺ hmh)y*rƅl$a PR4PrAmdwmf0HƜ~՗EUlD5Q!F;t4ƛi/n_ 9Ԭ~`7vԙ678X݂8,gFvFd&r~݄z& kzJ١??ShNA8 =t.>FFe+(]U5˱a^YK,o\Sv.O!#;(V$q-$N]5ذf]3/݄GKZ/[NH DN>5h H̙zGQ= Nbg50JSHI4JPl(z}q&fJ }CM- PUi@S|Rnu$+!΋G.Zl˵hFDg}luNN.OhUKvuH+%z*8BMlrN)8'l x0sF!g^HJloK&T[$hdAmtnCHCPmwgL/9æqC(RR,כub^}|=~m}kLW`{yfI7W$ Zh\32DGمZ1!u ryɸJd!GM6f}s_| ãI:K. *q蟐46JoCa%`3͕t#'a590ʭ%^̚T!Ydݣ@u* k]c |G Umypnʳ{|-BG fcDeZG&5Z5C/dMъe$:VWlOd~@Ss43|M<\ d9Bvf? } P$~>leq:3jkkboň0璁m7׍ J3:th§[grSRX0@]dt(.1ѡK;X#}vTyF:}pw{ dӺ5DxHN*-X3aZx8nd(PTw%NҊk)0: r +7 <]ȃ>0utkޞx =l( }l?:;gلR..u,b%vHÿrۑOr1|dMJ#"PQ2wAZ9^=wJ`2bD-ޕ18vY & ++A%gL+K{b z!JWE85!!5!~&0lMsSkl(ݪ&dI'JOԘ[ >;:C U;75pv pGUnUVj?_U͞#<uWZ+C,Gz 9+>kx@Z!A-V6;Eż %9=l1!w .~Y֙-yh`f+;iyuG%NfLKϪ&;خmсrg*өE"*b^RnbGrsdMD 6F-JyDG7%5mgqp8'hjDŽ>=% ڌbP^moz"t gJL| %bÛ<߷B//r yT9z,=M=d]V; !\c#n+B ,4 wYU]!@Wytc(WqP64VESXKH8LkpBo` nwZ#;4 {s*t@jЀG&@8HX| s!udz %L=3*TU:PfTUVǻ^!嚦&NDꯋ֠7Ȳ ö++D4Ϸ+eiwMX1ty )L=s*(ZX:֢ m)q40OKm])/x*f0$fdrjݡ%,/K2O\kPۍxEK3!1jok7k56~&E[:V܄u/ ί\%KNdiaޟ>9\;0NzRiJYX4y"6x}ݬ[&rƉBJbx|9N[&WB pq"5l@yPD N>Ycl[;B=/H$Gt08hO|ϼeR%& m,aᜤm_JP Ko_u.s+w%H-g\2q-kWt w?Ϟ/r+Y y8㙉l=h)ri)6$OQUJ[?&LQ;5|c7E&t4rk6HboTObB("^}[ 0܃o;:YgPKw= HH#ndTA?.0/͈Y_ y *]уʦ+F6,=G4(&u;/ȣ``,`h!TăH FXQkl-C\Y6H4H ~a'z&CHhEpŤ!@.-G-K齔Q'_g&S,Eut1oG@i8ћ3Q Y  vp6m7 dГ?IZw[ݝ )zƤ8}p_Kg$x!$p4xqQ>WD` ~ds7aݳo5| \N[y/vOzqy?FԹxeʡs\˚>F>,_Ԩ\AlӀ~>[sO1܎W$*`SA(ٛrLO8tr14ɴ 9\}QU# 8ĔVsLO:SԓWܴ|Ŀcc{#8bYwQ٧S}hĜԾN ̰Q=Ly`sF&B+30](Vs ʰͤzNMz^^9m8BƀI6 8 b*\=_ ]+hYrZ(Zwe7^#21縮Xq|U %DZҋy.?0{3.fTCDUWJbMc H$Z[MFv}rgty.:/ΙۆJ2O$0zY?wc_Č=|uY"~X|Cϸlb[jN[tmJtB~$w`jd1 V1F#L^3?v4h0@b15X-\.z|Rxݣn:! {%4'$LJ?~0i>qO>锘GNSaHXM΄eYӑLL:n]^Sv_8A3"ա*e-izN' VJfx ~a5a~㒝'dɅ-SQ(' DoI8\eS:q l%WNv6^)U ^VJM.QȈ%!ڠ:Dǃq5ߣtu|k{YFƹMG<\RCm~@$Hҫޒ%Rnj+ 1Hs8uwz<~xBT 0²{wKYc;8d[];5Dr#JWbj Zeӿ2w7^  _"ozyp"2zހŐ'FTоA#q<g?{NQsh"د@ƈWR.Y!f?1fу$>ÙJBe)%~⨥Mk cųpXrK;eP@=Vq'C:ЫӻRX0i,upS[wׅ*6G%TAY)c!}AE.OlqAd,otU4i }mh_)St@&_faڪȃosR9}CX.b`mC~cc 1)&mTjKcٙ=kT)m>-ٻYE{ǔf*@_ynzZ^7lTu&`>HAշM6Hv Xd:#eK1fQm f𫦖ø3RVhѶ]QBY? 2>נ .ݼMzs0cg1wk?ϗ2hVVښ ^pV`o.\"JDw H*u}f*\)̣%Vs{U ǧd=kl2_8wcpYxk9xbcoVvĨqb 4= K9.pj i]z *j_e -b̳2RLrr[N"/`bnf' =4J91 g _SK´p53Zn H.Pme Қ%;ǘc־Gny⽶FCd<V#i:FUYM;kWiPUGinݱS]!-vE$tK|97U]U}fnlAuEh CUPiUKOD*1yVD3|cߛw}2󇵷F {h{npO3mPr!'Mik}\(CH.v= d4"*yYZO\wXs!孄i0#V4`%`%׿! ĜUOz$?v`du|膟65!I4]>&BjL SM7ļF8wf9xxV(_]!",gϸ0FWa%"rLyQiqlƠ'BNKr昰8F+Ȓđ5@i}.f@6LΝ2v$8^4h&,V?Z&*)Ȕ,&yix>-/M&_opܪ?ڟ7BqBK^ۅ#e?AT˭{Nrx8cDrP(aDTC-NZjNQja2*xkyLU{MV $"=> L#/&Tdqu TXz. ]!q” GS"BdS} mmgum'X)N,Qozg8StZu~(/qe(Zchqu:h)~D__IF *Aiexuـ4ݜ^6Sp֤ͩ;ݒwcvjK=7ϕ˒04g=#}A3~"7̋I@H&+<^¿a VoΑ1]m:I6_|ogW g`1 'yuStך8czD#s%:4bCq +Uӌ&=ȼVXMI|W\8CPj`ʂPp2^rXfGTzmy.CJ QU`; a_Nh} LCœ7l*ؿ7v߾U~i4Z?9,4?_Q8Q&ns XFËbXjy[Es2BS1Ɛ!_JGiӺ8y cpv)z ˝s Dڡ,u\5@ ^ǕyuϩFu- jϒ(8\CEd$TX r!O -/-C"7Z*\Rx~>f6D:v]Moqw:fi5I`]6hGoihTsͺ$#=CݻbDqڜio~D4gKJDN@K4'!tqx/e^IFEv^w"3#*-l8bLO͓?ɧ$}A_I'*:#;:j{1w{,c:59mV&X@2vWE|0.4f|A?/ ne~!=' $&T n_. EAqGVeٱt|n ="oߗ19ER!t#i~'[aGBxrp/@kCn^iV֖}_D•(26g)cwO6igѭ$E\>́Ke+v5EU&W̅)Ys9xhM˕N$Z$ UVz8l6+7%^"uev^cr`Wdٟ8ܫQ* ^D6ڞhz_{s>b:U(/鐖E3{ a9SthQfkgO"iŐPb8S Geŏ#I~[7Փ)b W0d4G??c;$Xq/ S=arƍ3˵ޟ}RG#({Fax@g8gl`nLb*{\EhajU^FqhDLð [T@>n !쉠}屮o"mW?eq?| &&=ShWR\@Uf #ӥ,ȕ9;x8:yKMN m +vyKQ;gf?¯Oyئ+wm:gd>Zc5cj9p T͙Vݞ4S$_\ϧǷu' =]|,p~Bwg+0Ŏ*l iw-&sNȈ5w(ZcQ@' 7q4i \Y|riH".BQ@|?"W*׎2Ѽh&rj&<+ !a zIK>L~,LR Wpf^OA[V:)a]ܷ)1!q~ ܷؗ}Y/JeԮa?DS ɕK(æWH^ (^8OKqh_7ɩA-7qp}v-ވbZcD/3Q}q4n'<”Kh.ł.̄hUySkEǮy>Iz.ypUQ >>xsR$dHJNdT9<#KE?_|7Y!Ԅ$ڤV%_|g,W<]%l:ħWBH(=]x+=__R&).h .+OW,J<娊Tby4,Q,Bz Aa*9WP|Lvn7SM}+j&檡E}OʩN}L,,:[7f Z?81p#]1n چ(M2eGL7 $"JFvSH sM#L h%!-ԃ2񻏝b#J32 -$l3TB }tS>!Kk|1rS0Tetz)Kk`zH6|UЇES*tB <ן˱@QmrTt8VE}KSrCiABN4rKkP;hx@Цښ9Uex||:%CRFġ [Ȏ@OzSG}5vNJ wYnjq~ǩ(Z!+ V {Z~Wn-X9w+⓹f4׺K`pw&yyߘyu96,=X_/Y>9B&C!xf$oq OPOn){+?az޵UȔ$b/vlSc7GK1c508$V}=K5nyj c |bq߃ꌉ ]g;KO}wwI4+i?{*)ly@,ðã -X7|v[ܺCs86뤐K~dϐ*:$KP{FPM4i[r>B,_:[(yv#b@>.@[{0L;U㉄#'PS %v"0=UȟP{liy-ܪ&VVܨ1֏BHaC_4ɮzGC/"/~Hș7}yto]PAtc F/QS./CySOEq% F(qX]cTݡ. <q--G)b3??|/=LEƒ>i\6j.([IA,Ks]msf{,uWY Hh$qdWϩN#&/7e&qTD487GPU{WKWI:IF:r- ' %_'`O  Df}+!pVeVivZi{*h(~Liӓn-o|6!E̹C7p+)鸨KHKO$A{NWn l iRg檯⯖ tpT0J])\oIf+df {Ha'-V޾J2}I To}/2Zx>NjJ't=)Ias Qs"JU:WOȇjBC\c@u2z]uCJ$ĵN"=AFsSxiQ=H#PP-8sv,6HO 2Pa{C2+uXD0bF^<"YzWY+C+(ӿO@r& 1GVt dLlhpxh)pxUD'>`1g/ŤsDYHa3`R L1p/[M _N8+otԍI(Ae|bD -1zU|Q#Y&_'$ֿR KZCX.:T1rwCPh (3)#,⮑6ʾ}nV,Doy;/]]=8QKs(<"6t*RPR-nhNq:`Tg#*vc~ ƙiQiѿ@ӾI4nS"+ yh Rzw9bF uMzVAzӼ KOL˖`BR-vǮ5>ja?A&ăw٪Ja=Gjs-&jkMC1դOÁWrںtK]fbuu\fDCk0L->ȟ[֫Iއ!BVnsnP3\jWLi06# )I}&YWzcN&4\JOW,lBǒ Ej슻 ?2HڶR^n\?LwCР`|'SF]˅)[EFRK‹R?)ic?+-EySTa:RZ,M]Y2c0CK:nlg NSY_(6w+ɝB"n3 &P.,rZd-8iV&mMqVxClu/׎'wBLČE\Q ~"T5pCp*Oc)7q~cJ&\moC@> oHXױѠ)[ES%)HUQh/_Ke.jڌU,j:$-26)ZJrKPq=C+XN5jѩ&V.6}*IbͿo?5lbAg:Xb|66-fwO{Zn^tAd\#b Y=fԱ Ӹ5m eG(?/>ܯkOD4#-o-;rQ9i%hrC~;|ng?`A9b@wӠGk`ۍµbL:\Wiz̔'raa)ORbp6L+)1m[.;KE!u݉m+$y?ŤEt ;'mn̹G4xnNr&hge.U%V"16 3g!zK#/y(=oMA݋|v<c4TxmuԚ|V3aHq{Re XTq[x[;+ȉd,OZhFG#i¬_pKpMfKW9ke.N_HXIOTvsS^Zg~6 ޯ5@ۥE)n~G?[V3r)!*ջPZ'C?٫7H9|?gI$OvL屭8CxdYrogXؔϣXI 5p5m[<< ⶰ!(TvN +tU,qX0SB}sPIG#i:,5I=ғӅ dz|tD]BfI@EӓqMz<OkX+@x)_5A;9oN1#* ~dhn 5s=Fft^&f7>F ; :Kp.|q;~CHk{~F 8[h<&w"CBCw`۾UrX,WUI.].CˌH/Žu ~v+-rOzt/!+dn}nT8ۚ*aķ pm1 sCo}I_fym?(9JCWyMnC}fkAc*WJQk{]MnʗFCGfZ䄂r!ĶQ\{/ZȹG 5238ߡzn*`~v.t8JdQў+1 \,*՗ 1 Yo*(*8)bxBX]h<} *@{(,ueӀ}r05(!3I2p2iU)bW~sq@Nf(i#&jVWcj^iM`1 \,(*eWJ5xV` tW5h(v(:&I3u"yy|[9<,0 ءKn ! B۠PmNM`)h5@\e+t F-#!JUL%̲?n()h{9^L Y4[!?";_>%"omzgJ- OpBsVH^hcXX%#|4JW鈉.lᛔV)>هm' "2ͪm5[ZH:E>ֿ!iڠѯu9*}=:; ޕ6l)6InS(DK6b,$/ZmQ= 1flh-PkA2 4i{{*p%:XE4$@XN \ϟy=oBЊ}&n^o+B<~/#AR [~#[E l 3OP`B%_Uj(.:Rt98D.$8eOB9r[ U$PnNݨ-XoInv2b۞ϜElͭaxjۼO*D&- B14jmE(&"C*J*4ѣFf)YaߦzaP 7g,ME (?1g{F6<~E􎟐' WD @kDk(WA. ~JzQo}65 k Mn~L֡q7.Eaެd&VvŠ>'k'5g,E;o9zFC^q̮r3Ўo\MF&Y|g'tB㜩uyYr<> mZ:օEY<Iīae]( c0fiuxFHlhK } >96kg*IDՂD$e9}t tO=-mYG|*^ 5 ATR΋Q 7'3JGpRv>9jB9~ wE;6opU՝r"Gn 1/!{ل|80j¡Q& pjse1P&&%&  B2Yj1:@ʱ8:lO.X/eBn!Ӕ1\;4*CR zʆ߶P3堡fgIYKeuI"l-.?Tq~\*qȉ&_ifҠbl~&AY`'X1HV8@T(ZmoQͥ#;wcE RսLdUwRanpvtj/{fopRJQba YݛR]Sj{ȔB+MKV8 :w `E: P9H#Mb*fC4I:LaY6o++M1w PBXSsVmBF;%wX%dӶ,MBGaWv@B&&+sFܠ1@5;JҐqU$D42tP .?ь2BBwvlHTJ}+Rz0=s|xR-$X7]8!5&i^cK':.2d \!v3t &o`7xA:փo6\:uQ'>Db{ߌ>Tkŵځ@ \0U>Jckhq4MdAD5$+;-@c'# |FfAŻcN͞m6(9qIgyf׺c9Պ ,)hc, X3}"̛`굠Z0jd۫HuG%JiV~hNWW'2BQVҵ1 i6XlOJøDgު&wژj[ԱC\';& Y+x?ؼ$JPH= blE.gby&>dA-wdN4R5 )V~Cw*sUhۀ0h9ɻ:zP!>Ub$0AW#i7.@m)ZJ#إmP )Wm' "2D:{BJQ[`"ݴWw^cϙ:L^S3n{۹eؔ% 1YUjLG}H8؛/\ݩ'߄D$Oe[/\p.E`FilndWއj:s|6!Æ*Yz@nJ=UH$ZPnh#4fpv(BJ>l",%6t8DRea}2JCԊJ/ hZYfQ+*j@@psY.@ qFX5'{7nlQ.D)ns?Rb՛ κ03Q/j+>(²ܯ, $[T><3杂>f^ -+0rf۱DM(fCNj<ޭK">P>nl|)8Ѵ&w8\z4P[ Kw$2Gcg~}ڢhѻ8=ɪ J>dkpA34>d[w P]($,n>Nnn6RA>ȸ8Fݒac 6Q[$~EyM$قN˅8Pum^.7"1)&w͆<6k:ݨB{6Djz_c0&$ {}u"&7ʠKZX~w4t_:/GZ^HLvȌCŽ-,9"oO*MWC>Mt@_Jx-#V<.p>~t:j >LyKFV= @ ʙmoy,e",5?jtvȸ=(|,W9{f܆Fe0s%|4=F W,c^ifA6̈́'"kWq9*&.DS/j>G#R`LFM9:ﶵ~PU b2?R6ji @ʜF@.MK~V5W/uM+<p_o@cuv -JR juGK+ÛZy&ep#ӎJs]&e?zؑcx[R[ArYO5݌i~^dˇHT0 ,bj3a6S !'qOXd#gȊ~[nF}>WjVq/<:$ѥ^"Ѿ\ز@"OPzV8ZƦѾM&/t#ןt>-6m h!T<[AZ- hp4aQWD:3 4Ջ9`spkZ!"3>;nf:7ך@{_j;XqI6GF*| .pĸ=sC cX7 \ DCdQrlGÀ-+L3\eأu@8ʼn7%:_qAW*e1`qEqb }*l'l*{YIyX̹+2}>;r yz26WlrPP!qF@XF8s,GZ ;DL B0{\R6x5U2Juؼۏ:_ZǤPS"(OvJJr( rf1UK~''(qfZɲ>{Mc}eZv#,<]srK1ߚ;a4n~obELF) {+1e{*xo!I%ޞqĐi(ȅuwݗ; i$PAYmŠj-ZV5.^%Cvzu/XJVY Sd?*@,Prtnߡ5[XJs,ub%=e2xhkv_@P9+dp^]r蚦doL7r}?"Ì`3x@30R7%Ym$K} č j!;(p$#cIp)Uz=+ mς5KtnKZ J&jīJk'3}~ނ`%l˙̐Er)e4r 7`u\Bؒf+=pC1v@9,|޵Gzg!T殮xEpQ`k9<˜uD)ⰼbM.`5ƙ1kd'fkZFUqހ>>g;D|p 129; ݧqVMl&5Qktȍ/E,xL%K[b%g+<}w-n"wmi:RR1]klq]Fd:)E1贍 K-S:y0Y 1Q2%-Q;"u[w%ÆO49 ad M,b,c'U' 9=xkH bf1fU*$u(-msd^v{,oEr,ci@.;.dV^ӢI{4v׿պZ`j|d ҝ0yXi=*8rJm8GM~/8oGf϶=ݮSu;U_-OOuj+=!Gp3r"M(Hs*T<4uolߤ AUmT.RAvHHB=]c,j_z9+y*5W.9ܮ4̑@tj38S*! 갼qx3 J ηj07ʰwe+Jj.~Ap4ZbI^>%oGiP OcZm@E.emFynSJM* @-#É)5Bn(>N<ޣ_aĦ"kCy]5.8i=<22kOJ,y5_`|F`f !T\ qc 8 )svܱ.=!|+];h֍*t,,STQJ|wt'o >s!П Ɂ8Z3̧I8L&e2K6@Թ{v#ZRpN^W/%/*\ñjvS*R$7k/<aXKyA>E莯έM9m`n@8UͨzwSM&W%T d=:u~s>86?%^`hLrxJG|=S|>_m֕Įy*i `n!V#3.77iޜAuw+ Y30c3#dyTX0,vP- ݵJSKtW‡L1dvUۓ/ Q5֏jDC0̆~ IMjG4#6|fjR/n P"Šgw` aהk!s8½qNB/H-3kKS|y)qD.hujN0$i?(L!!Kt>j9ɺ ">6SSt>eD/-$[M.5\QǵIؠ[%vJc6ĮVMMa~B/\U6,lwQp]t /(g?;RKu x҅9sE1-uXFM!KNiG "[s|]@hT]$i 7"{j264\gRΡCDeV[IƩTu-L0Mv>ͥϲֿ `M5މr'KUaiRߝ5eஐ:Z)Dg x k0vz $AӆV 1 u8=mFO"D 쉕3m 8Iƻ;0h}kqWhW&!4 P H 7jkpVYG#-`hqrgloD3'2=xA TcȎe7 b ZOޔ) :< ti BǻZdU(DmN^[;X 6|n-ޔxjFxUJL|G aR3f\@&)\ט;4 Yg,eIQz qț,?cG7Y&f8"rA˯D6=椧X8"+=a6}oQy"ΡVcF mqBy";)ٽόj9t` l@NsD:L8= no nhqa2 (cHC`;1:ac7PAs&1 Jz% tԍb^s Vh󾓑S(A样16wتq♳)>/l6 xlp 'ܸ ^xˌ^F<ʲ(G!`$e}>2?-S†} /I| {ЉTz Ε9*dapFPDY EgÕwN靥jJ==VvVnl- B /5 oBGusD\I: tGN`6umx@vNUTrvxh//SIo7JUit[G2H[{NhnƷfׄfZ Kp ˗PkSȷ W>>~AW#W[JՍlgZHZi yogo\ r hͯ\mC#2h(\:(OHYNk2;⍀-=܆P)\E%հ] k1 eK5fcg!‡'UA ,Ji_+2U0 brj TW&Oq Z~eW[>'b621$0md8 |^4(@l/IXr]a6\vEoB|ROM,hRdRMMgT9.qU_r|X(%+bw^o*v3HSw }+KOHhqVk!"y辔;VӶ(=xyv5{aac-_O~c $f s 9,t&S&bWXy☗ϑC>Ʊ|gQ^+mSF,N`*H%&4[E;үN`aeK:Iu&;""V#AБP} ,ėWGŘ\Xnk cƒňXCJ*[Wa)m?LaV53)H$mv93GhjQݫ .o_";_ʬaS7\'+<3R}\2\HPFFl#1xmT<9>&t,sU᭟?D}tWOp,:COvp)HX %$~(&:[-y89[bZ~*dZr!yb vتUt]6g73=_gvb4ƥw9틈H;$25S 4+$# m@Iax~ $P ȍOyXpX)4ǚâ@;u~vkCE\nԔ-ġ ƻkn*)ey';Ply\ q,y3s]f~JjeGRTKa/32Jw+buRK1Fi*ǧm2\[#FFRyRQ0M^\q(L%j-.gj$LW/YtxoJj8%d ǰ7u/ݼ @aڏi?I:h6!~mYF#Es߀AxfId@()6]ZD6Bw_!Q__>2bձ @ O#9 %IF@-km:_wǹ>|d>`Q]|o46.{ s.mӮP,O%]*0Vv(T&J6H1%PZ&wOf 7dOzo!8B*juʭw8lccc6%)<,bWvT6V sSħm}7GƏדC\ZI.)D}}S~:kqLۢhWc}xYXʤ}C ɵukumna-aCzId NvGߋi ` S " yqm im,g"[A[~&:.1f?BL>& {ǙR s4-$r mN!b+FM+s7 _9pK7H&ڎ|t;vw~K_ 7LZaV<ݞ{` 2{Oyf"mS:)(T\{ȞOyG [\$HelCkͮ~IBc:Z9ibx.s|_ۍs!@*i̔eeGRs_65! e~myJ\4tH+A,)}4t0l{FrLX,:R"7 ᅵϷ{.5DOx/8ͣZ¹K#9x*'M1[ؚrn`2&d//\`|l wU9?塈ϓGߎ+|LFsdn ˇT@]YV=/ ߱` ĈD| eZY˕c#\ 0G$0[jfr_ f?ɜuŊ`k7l"LMS2تlF(yTYR]'gC0߼͢ߢ{!ŴSu"6%Yu^O38S.sBV=&{q RQ C2l*J1)J$!"g4FHp*;2kK+\}]z#ᵺ VC]GwkOã OE0~PbY}bUjPM*iPsU7Si%NLMېBQcAǤ"x_ϕf|{AbX*s_,uA!nJs %$־V/Y ?66J fSӅ܇a')D{ ukR#t#bCsk%oc.d10wlXM@]hg[^) pG;IJ 溋,2Vrjɓۣ,!bD("?O3jV$4Mn5Qt bQ\: U}8z/B獃@$9Z T BglH=ubgio5{jpAKQxd.@BDU+R{Rh'b9p0z?0 B@1κ [35Ӷ+hq]ׁڗ\hޯm;Q4"F>vy#k?-PUT27P`/_bm7&tL`g!c8R  JX:SuB`Qe3͖Vٖ "AtY?N/dFw{vRӮ,VD[;z䁛pO R(9~Vw2,4RԎuaM;}E_39;b nKl#jKurK^H212 ;:L[Uq@Nz# G ,A,Șa1CGnC7Kj<$2puZR\h6}8و%](*- ~&iFϓem(pߜ#X࿏]ؾ7_pmR?7IqLj e=G^oάoiOP2P=RLAa5<πE6=ҍ9K˘Qj@" CYћ ʼ 6y_P:4 DX3HJu #;JU, /k 9 L(F:pw@0i" *ɠDRNIB˱ ?--{]~-X=My3 Y4!is~j*@ wr&꼮txlO&B7 U/2Njط,,qٽr (M [M8ޠTqjZv[iT|djթ)g6m!֮AyfJ?9WvDYDjfMUhrL|5eYǾrR{鉶"ܣ#Fms ǁK+O01Zx< }hGGkkIdDˇ?SNVE-$X.! Uflib^cDgYR `;V[F,G:}ugrYM+IN }A_L[aiDS&Ey3ӝW#$qWbѵ[.g^SaэM Pmk[=l~HOq<ޫ )_+j8ִd~2x8$7>l'G!f\u2-J5GdPل~N8q,r++d( xO/N݄yI7?F5P:R*?.D"p4ԅ\ O_me;Y<* "mWyS݋҈'`+O.9m=- ) Voƭn^< :0.nl#/#KI&I {P N'(P~H!|WxH`y(H, >3HWèB=]zᜉ(oazHyd)Wcw2w=?]\yAsjerJM# 64ps@ZvN4H> یO2@mnn"U݇JlO۳e?\solKwt\2d:gDsCVh0O`N2=$2>w<,u/,:0h}.S;eɉ{! !㊱ҳH}'hUjݷܡi :<{Ă;:3 {fK4-Tgd7lޜju{OzoujTʐ>k'2) d$O`m*Xe" QoMVHT/Cة W[л8wE[]J {3 Is&C} b3uO;[#檖AZ؅7l7VÖm! phdWAklFKC_ُ5EqMg7sZ6gNOMKnx"VcBMfEXq9ڰoh:*P)U+kVqdI*c왌 p]kK+/]ce_n `Ma4⭦qq7",؅{7g.;pP'8@iKܧ8_?Ww?-21?x33BIblM4xlDh2YF3~`ΕE;c/0l>|*Bm, ~M<{- wWf Ʊ`Gbͳcʨ5ۉѭ*z n35<6k)8NTQ+>&fAZJK  iط &)2,8k7oujI\k'E踵 5-6R9x]I5T)~FYŌʍz)W Wwy[k.{E]U;?8ǭ:W,j\xB-̄&ڷ tM޿jDԻu;0k\/q1%7Z>{)SaOrbHۀ{=ٗ6[(C`L i۠mS1ŽPXJ#fI[Hd`C\3PBY@ *›guY2`Co q&7#yCLdϦ>s㈢궣KDb [mvBf HF㖇4;- K;2yB*դςT&g`^^"JB:lm{*vQh}v\SY,rE`=|e)*CUNt^iǨZ: 0GLLXhFY,XH}@͘օ'ҍOO_ⶃ>.ט:I,XK1GHрnH_ۑ}\–_"$z4 ^ݩ] YttWvJ%0!]|H6nQ? ['o:I;*kܟo3`s[q,柅+4逢!0؃ ~r9#ЏHBCM>ь<I i?5٫rtMJij[;&6 p V&$P{":3 0˪8/Ņsi'OŎ=,ْ?/d3#\  k'E/}W;#ȼ9WsG_ k\LeMRf̨`ʨ,IS(HRZ_HȔ'wT_FG|ΨW1_6 tpJ,vG,GWDE)ل:nLi%z}Хk FaRc ߇yu՚9HiY2Y8--$B,#vn)ٓ:d/F\*iήq\iuېT)TkʩpQpHO]} ?'n_Өepq%ٺp"T1DZJ);Z=k ^ BubVڧEBiy;ͅqSuV u ۲Xgj;cmwb\Ł8*FHެSh ]kwa#&vZәtc§b!כ>j+\[{"CL<:\0 #|ҷb TVUQ \Pat,| ^|-q[z~u 8/-80m/"㿨^^H9Cؐnу\weIwnXS͐oujW'u~>@pF.+O%SwwSV"<>ꃌVNMט_bSAhkA; {VACkQo-ٍ+A"k \qUAQ#гaT9ͺnUx;$A>KUy.,M'r[;[9'F"n"ﵑ!-WEy栩O,s<,u'8sA =XJPqk Jn0"A&bY, Zl > 1^PO"oHh_Vb *L-TfХDľtNEde+(@Mw~IPli02 ANyMF2!BlڮlFEcwY3 VW aOm6J? $n2YZ 9.rTBⓀ qP*6 p_ K]ZB[A )Mtf[Z%"/D-LfFdQ\)9MJ)r_/D==S|=E5/8Az-1Vxn@ӰcdQ\9w=|rF"?|lDNk( W_Aƞ&Nݝ ?''B ڋ nIxCa[D\Eq"7KPA괃κQG~ P1,R~g:6RDv}I}msvCZ]]KP!Z!vp59"z δw&E(Q :1q/9^I$G%F7qfB Ds`;U60K1~0,QZ˔+CL )h%5P+neq 1_X,Ꞣ ~0CwjΔo 5ؗ~lo0Heڵ"^=U`*!bLg6j,V5p&/e)CMu >bIb#lӴOm t^hqe͋6 (yAkoE rh =lUzvǨ4QySelԡJ]%]\a 4Ս"ږ6ݒOc~1a=u쫮M!UJHg<-!YP65~yN9?$b pg;`ٞhGpgW:Rn* tQ wy Kgrrn5AԤQ  ߨXTvAE:@rBGCeP Ūo"#֗[*^m/kl&/~CCǽ4U;m-8›# 7O*S bCk&UR^rktaׯ}Y L7%ddtPF؀i>j9T Y aaN-܏B=ˤaCWsQ+~j"J_`-Fy4 lp?桚>'5+tg{^91O!""B0bkx9$Omeo^H 4تؚ2ΊE SVoOs#M)(kٵ6cN=(n7j oM F[n)e\ؖb@,k'NqN8(qvPUD*fޣ(d^uk5˲cx6&i@SIdڬy}W* *)!Ԙ_0\R,U.B|8 ٵŲ+"S]X/EWZ썼ėqfۛ[HS7ke"RqA+d)L훜V'+S&Vka<|!XJBl^*?]8, ɖxEM| ɕ5IoRaES?/-kDp2MGԑd5Vþ0>d_H_wTSsSTFbfִ/ :~YЋwY^|}OF$޾ LŽ_SW=Mnnqx{^J<Њ 6eFoPrBz- SpqLd.wbqA_wS+sX2")6j]AȜte}Tn!ܙm&LJ"n!T7<~1/B>ttTp4wjl5wmC20V??g^ņ٠.8nVʛ)GBcA­ힹ&fV_pyr@}yS.Ȧ@/J/QOU NB 8`+FouIM\8ux:T7c U-y0%t^k.}Nβֳ& #)ǧ;BvE:ϻXV/o7vn*׾$uԑK3;21ԌErMaC4~<朩OWIYPppC1D}LlT7$!R/DrD;HT3:(JY`3~}gS~Ys?9/xj}]ғG>""Ju+JuzA })w"l C! yc2襺 t,j-@K)lᛱL[{ w| uq~ Ų'\˴<ڜ~5PcPӛ;EjK`Q&6tO9{~Q焸gXU$a7-ҩyfnS<7uz3=EQ|(ze@zkjh('țNLqb\zh*ȼXf$E#}@@~%]^}[=So0!1D#{=|džB}$5EBnUz ⋷s'sq.I ;ᖠG=([a5Ֆ*lJ%(lTx[k*ӷ8Zc pR'gC G-g seya,x~6™H0~Dw ?B*y(O!)s$7~kP L&Ucx1Ae0A>?! b(y K F@T2R"Z=L$fʅ$ֲנ!@]!%J(=9fa39h~nSW,Ov8--9DR.WJ_gjVx*u~bZb)e!o[n= ۣM(b:4ug1Ff\{;U㑱Zw9%"hF&WyT1fͳ#-}VPmv6l A$#J]7䓷trߒrM e:. ̈ [aL|N3$)t2,#J鏴ՔVHE&*a/t,{\ 0˰]7@ef?>WD< 0'DE7K^1[re'7Q6N>rt$Vr~̈InK4ڿ%MH)<.GB@(rHyWy6pbѦg+{J6c_HR9׽+]|Rġ Iw+u yDgH7Lt*МZg:] y?]"/΋70u]ŋQM P"ԓ*/)<yp!XCbI`Ix5aEY *\*xRNMKջ PlK4#U XJU%J.hvAla9_[! RߦP :ɒ,o-0O1?9L q2:CdmHV|aeP<ܤ.b $-%h Z(>Q+Nb~wjuDpixZǵIdK@Zz/H@#.gG] v: P m]fsG#U*P߳N9e1eToSZ bwZ'vAMD6c XF_B^F0,Uܨ±7LU!uu6@Qw-6?̗Pg sA2 ;61`i7$;>j[\HmB&іJF'qw(^UDhxP/G`sfxaLXShYE8Yo?E֬TAo]v|O1>g[\S+hl)'d iQ|cSCXghoAж19+![WS_A~6i*7fu S8/jnظ5?f[qGGE75z81~!- eۮ¼-7&#-2Р iL'+5q$](L&P.ISVf5u]7\[wv y^)!S+ Nbː8ج2`;PI\O:8KuUk9 HLHODkfjc6Jib:o]#en]V?_׽p^UgCԚbg%INއEqDlu |>D qa!`sUiGm!:: m[d$,K{vfxN({ï<i[tk+uUN/'LPdi݌D-僑%+mHՉ/,!j'A`D;+;' W;rN:Z%\3O\[Tohvzނ+P6-$9VhTg2A=3BZ~h6'5C;:TrNEf٫A0eFa7n2@fQF@@@ 9Z+QɋTO(<\t/*d1Dڑٱ_Yl;kEo+FfhDM,"Im̌Pߕ;L,}J`{jJg7)S€z1%zI$.+|A]iⅴԷK8io(!a!@:p7\|BaGow棎 YFLo΍@,Rm L%,x sY"zWg*s=ǖΛ-xMOURȟ9LiJ*_<`"I^v6vvYm{po굻7(5vzePz.\>Wb3m(kw;)éiq#c5LF:ѿ\?acy :H5X#PVN&q(CG@4M{ܪ9sNgGAWBq< %7cb 8jy6gp1HJ@=4WCrJ*OM *ADA0G nn1&f{u:ku¯CVhIЭ@뫊9ǡJc,kAC ?Y.yW bv_{l˛ V&/@=v@+d\VSa4]{^Yḯ9&-7%x`AwlE<}Ŏ"4"A=H -C[s{q,x-뜸5ȔG!m[瑔n\cz[1%V@2$ר . A}/Jt'K`Y{_ibȜ$BϮF8/7zsۤ8Zu}&'ۘQdsj B eʛʀq0701!Fj^R]tDlۢyF9}Y~| 1OEoS-Juwh&_+@5+.dTD>+9|~F[w fRϼl-ԃG_ҋw)g9{1=7m@%MO")>z#ǀUO}4i<]=rF:рܝY;A[EbA!,+>=k4zz63FHt0eKRiƊuS33tcQ~0jw *syYd.p:DN FfTґiq:lK&bxWlz҄F5gs&Gg4c\S&5JVrq̭UϯmI1O]vuZ],SuO̙8bdhbd1.ݧd?' [2Eַ>|Fx[ȢwD}wkIoz$Rfe?_b/oN6.A1gËܡ{MuVn?ktF%Aw(* yt^-k햎'/oA~Yܘ0JQYٞW ]F~5÷ꆗ: J s(~ջE'KWAϱm3Paȴ!ب%<جt=d$ "7Kq87B:$9n@8«Ѕ{X>\6bQxoaK7`~u/<5i+S <#PyxmSYw7WH1W&Տ!v&!D(CǶέp a$ρ+4 j4/_B@Eta dTW |A 3JTd>Dxqc;+jt.p#*6[մLyBPW{=U]hGyJvndK"C8IO+ldgE1|(ƈȄ~ Pv+o=)cYS}8eػH$8zم@Ё)Xq1pfQ+>/[ܻDZ#"_AY)[U1U/nm;iKp)BUv1>]fxl B2OxuIjZn,=RBxeGsK0+T:t $v`< p+SY+cFVU;y|ĴM#$m͑o7vHÃ)<l,ս&e:<-?}"MWeeEw+I Ȍ`?e xLuXߝc = 4S|iP"evz h=XM硬>LgA21`lME$$C@fPS)jxjl٤j. p4/u= >>jeg#ק0/쎿S?:s``bNcvFЮ/Ja$o~ I) 1 R3fHOF_&ۂB:9t2A M$ le>{L䴳\1k}|$ QGzД㐗8h3"Sz*34 U"S?g&R%~du|L+6&N]N=Q_5k?O K䚟 Ze&Wb^"@Iv~aV$Q&u{PFDo 1][~GݎHI>Xh}tOaN ;gVf7p=__CgP48cRyܴ.OAsn`>b2o ۃLUy ]W)d-rݗ*W`alM\&|.=0ޑy3-ٜN@]4(`nj(;C#S@>!_7 TI}D AEP Evjg9Fҧz4T3EcMkRju)F>l2'W}ozOŬ$}\yFr;̷*%Yfj_jB% H ׿@>,uMPfj[Ia)vE;x2$(=`(8"\ȆA!o"IA!ҕ`3'nHnfD|8kH Ev5Yy]rv+_7iFcu$9_dF]Ljq@aSaWnwt;_n=xYlA7"D|@G״kcpQCʹ'.3v3H-IЅh4׌EOju񭀉ޢ2Eai'lNW0C I@CTѲ ؆Ah'͡q#=dS ]t YBY0KŦcjCKZ=%ɬJx$t M^FULpV3m%'X-J] }ٶ1ﴮά9Q-D39sU@p+ƾ!BkEPe >hɛT.v.vqpDJ2sW˔c&eH#}w؍%4-MٝŶ6PjWGM0ѡ6#L)|&v - 4e%]v"ELdLⳜBۗ՗k) fл9?/{TR"4MJga͌NE5' XuI}(yARMջ-L\G#vy|g\GR~ۢ*?\u2vf$F~ZsCNbƎo?*P9tѠŻEcrn3<YB!gnTݿծ!}}22/"-MeeA߸T?!T t Ӥ=$@c7aG>=rn5_FJ|$ǮȖ%dHe!#hrvHDZfc WCCDfXG8#ǗۀXOpY0"8Cskz^z20q3EAk581To>g-tljekiB@)Q-A$,rO(jNyo,["'5*F|#fzԑ"xg}Ns]p Qi`=a&^@yz۠?Ԣ9EzM_=5uRLhXw%"F|3grm3I\Ϻ>?@*3;CRE M@Q׌.>i=3.\7 CRЧ,ݙkkcAZ6&V/M_,^o?f/rIt/*RӁ,D"[?b:|= W H6G<ӡ/^V_Oɑ/NV  JUg#~^ƔFG6A~Pۦ݈>ت7aDgvzIQٕʒ*0ȫ2$7ovx#ob5ӕ&,{Y8 %bZW11R~\/gx1 W-1nTaUxKmj\IUʐ9MPe _D|x7 5ǚUO[)8-1$ VD<_"A&f!h( p0ߑsonNh0Θeg5u2{jy@ oPPծ]Mf`̇h} &34 8(3?g>ص񠀧) p=w,Z.=HHeL:f-/M.1myMnEkk;|@AY-p l&ilIcb0h,"R~#18̓XwvD'ؗeDۣX=h0 K %W %ΑdХ7~˧gGML$tPf_m] sk9 ƇyQj:Qjoe)X!2g(=&9By}0cf]rvL»u\S]W\$6 wυN2*ܴFOlX4ļ=f71GSsPHF*Zٖ@pl+Lgɧ8)}%0!w3Rk0Xzr (}V ɷa&3ѣ >`72H o[K|hAwg|]eO5;xc||Sg8F9pFilMCu~C& H8MlI=>qsٵ-p^'?Kq[#Vфܽ7ȁju/w|O7mwҠN ԟb^P}E%a^f~sPRedYӎÅ&06Y0,ƞg:_4zzCD|aWj?t;\ǎ|w0iIn;wX7'xEH G٬YHVmU7љ˸B.g!n0i\% 0vnZngΫGdu/}xf`!oKiFOe$WF0Moq̆{Glu c)mM~ r'/+B7ƯtL}$UT}18A4t_xO3ęĢ[\V_&p8} |>dibN΢Ii;^6=QyQ՟R vVZS>WҝOᨆjr>:SǴdTq]>Y> #Iz;!C`q;fӑDz@1b a3n̒Bk/z]@|jp;6yRnIrsO|:> 73Sk e [gŦ~|pED)OgN{Fecl~aU,؊\>d%3JJ#1Dͩ=阖"/"b iFO3cM[Q^x]D4dF)@"#Y Q0]J½+_tCǁ'Tȋ8'&(뙟5q$gWQS i͊ +e^l3<-|=,Z߳qd.P*Swt9#q|-j7 %UdȜ,Jà̽bjJ˳F_w,/]0DK29r*Ź h/,nɉ26ƿ@Mx>jX472Nu?oK@`_,SǪO;S ,x\G۱ S%YoT+ Wڄ$` ,/lu:x^#Z;ZՇwD0o*$5ɞOㅇ"vuxְ7ȿ2kMB1whhLhy10W &0c '00wOnVǖ=iSǯ„0#5g7o;|\e;)pl!ܐp L'( .,7;SQ6iG8?,D(57ٛ_dmⵕFw&Q?!#8mdgG ׮3N+@ 8gE^j+[iR1ÔOaV=E͹3<'Ч7:T/2MJ`^SjoTI6p_=h`Z B]?nTw 8>Vf*O9ߪDJ b&kd$pQJ[KDǵ0pl7Hֺ?o?@+<г?a !ŀ[VEk-SAxK\/V6$z5 S9cpª2C1WZǥ6DFn,6> ;G Z=f@¹uѿ} Gr]D5?EWw5u;Iq>ˈ%O@ ԲIGH3y3^wb]mqo Δ%,EI?}Av/Mp2uw2Ňb;)A\H*5+e n%Xu&1.޺ZyY2Cq/@X<}O\UU0Am1~J'0pmez,j2op- j}+Lwqke ʚ^ktN7Kft$[*Sڃ׺Y~Qr\U- u)y^W2SpqHY2#E.&~֙R9#IC / F峺4 SJg$OfwH,21߳ē4o*n7'p`ħ |OeLSw?Yjqz0 {Ҍ 86.ԤH\M.6ۿZ*_Rq5D `M_PngɜOMQ岰m~}IL(⋶%HMYx 2kRX=2%c5{02$AMZ I_ UN]G7ՇvG745b?qw#͓rJ3|ܵyr.0AC~`em C$j̏qaŧύIq@g GkWmyr3/mDjUVb*FD漈>dS=&^ĎhO}QFe>$ʬ~\ʸ '])c~p^@W654v6'(G{5o']2hOn"}rme=S0L͂y>n sޣT7-z ^#Dffqөr"zŵfΟ1S]y2&(U];A G%"p,̛Wb:h6DDI%k,x#CF-`N\)@LU$hr(_9i=>i[ID>bopYl5HdPs*%0tbg[0-KfS!0g9Yuv* nhB:o y`VPZ! @L"PVC j"KANu?H!AE7K6}fu{o9Y)NڊW {IWp$ӭbh(%cj'^䈔do]}W' M}>z_@QM)_G#]FWp}:,Y{_Z':O&CV끹m`\Z.~G̃Y%٣U`4w AzF@Kž{ve1jg99ŕF[,Aiԉ1SXpGqRsHG:|<_c zVz8'sDW);7<&dat9Nfr]8C90xɔ3g5|lC$mr![*6`X;ǴگKJ?elDJGX;-M*3%t@z.IOs.sF [nna( @mx^+SԏPץ`+_ڸkCۡ\v~={B 2x)n BLRJ}qU e}#Q A11X&uRT\l])gK&uNz lC#z?W3y? 2NQx9Y 9찖!L7nűqJ)JTzf3f}'n0L'w*"|} )iܚ&.:e`:t'-^>ߨ*wh'9䆺ŦzR`v*  KPm[g=!癖{00Wj-$7^YGϯ!ta!D꨿FMf$\_@"ôz7yvEY/Y@Gvv*JU.z"PbC+w]V0}Yr#p~޿E#ċ;epSj y+`蘮'c(7O;b(ޘzq7 j,/=[(nm 8ʫ*z%3 H(C+#Kq}V| x\HsĶBou2i!ן`C+S;-k j\]n RyO/醼^UlPRıV['QwweI4ܦ^ZE_)!Bm`KQCzY?gAYVsc&}1 jוWc١aI|Y:}mf*6,͐O LE1©LvB`$VG n5voƹ +]$wh5=H9p@'jTSXZ'a

    zhkFF\ZV'ɺ\Oi$ = sc64@\د+Hvƥ`q*Rd|>0 lڐFl6"%Be;]a //hhEތ,| 'ư)k*HⳔl6gG7R>Cue=t,qKZ# (RdԾ{;mK (S {29#%/5]\>׳s: W)r$FK8b៉#!y,wgaǸ4<\b1͇@BQSͤZswkk3W JϓDž+<}0&< +_o2"*; -t@fKPp@@f;2͡Ф6E OQ8/;.h!!6 =E]S!˸0:hZkH$}!}>txZ@aTBJp?8˃$ @Pǎjrp "HEr A@'UE8`݂ZbL"+7+0ɚ+Y;x-'hq:2N ,ײO$^FgFK)he.n k?+dJ䔯V+!:l1Kcw`ĮcW܅A*hyEc`e:LCh/Q~B{\t\0Q *<stjI]N_AS\퇚911;"c 8uЃSCYfR9!cϳH})iҊ}I.5q~p|gu,v&^i6*O̼& Q[K{PRrXE$o"ge"6iν/{Š?`+G}gl}\1O4jblӈxÎVUc.Re=9LZ8iT%i)߿Ḅil99HgAWﲷڑK|^f6+D`I[J#m4z2VaW@bOQ2^\kg \Zt5c3eXz]IQ)DnIEȒ'qWؾ`"[I;pڛh(+/;:y[q㇕ulύ` I%U tsʎ58pNI_"_d"I|f\پk~KX&y[j^6J׆$v̠ 9!AMh*}34DsOXDB|:a{moŗ0(>h'agmŇ۪EotA0ę5}riԿ%+twIDsW &)LEM]J vcC1+.}e{6h(,#ȳ,q>W#/c. 4%t~(:ԓX߯Dq%ްߕF;Aw6#>M6@7g}FМEhu,a|B %E!qj`Kb4[V7VNAqG|v>REb(uOx]5$r\օV)n0/Hϟ?Z 40Ԋ4ȜB[3K".Me "}8[y&@|;;]L:ѪS⻓fWh@LVO$VF=NZG{L L8,5h)HTMKM,G  icl|ǩq!;W`iyg gpKE12;2M``_##:וaSݦ<[TԾv0UWq0#4|eE0CS#G"E֌$ʅ2YVu7^PML g+izO ϯǩp;aZh0q$di2󞿊8RAX\tHOkd8_p}9MMbQ O,mP58k˸g#v\8ATB͓ocmcT텡G+gjk ȨX([P6*gĽ.pɻ! ~b𩉶vY8<ޅ1Y71eqm65*y9\BYV%ĮBY()&ϫhIxk{^Lp]f.#Mˈ'z~nh͋dE2"v*Q~aa}YH+qU0^ 0ѻ?cqr5]7&;t'krH7B?< IV3 sZ|u"{մ/µJ* HPn{CYFu u$A"BY2U5]V(9Q?jh*lh&Yձ|hunibcv K*Mj[,=PSuwAd'4 9!'pLws@y")ӕ7XHi[[YQ⫞c%,0R)g6XόNy]~SWu*;v@bt536ez\"PAqRGkQ΅|:ób_m26'D4;HgE#U|37{wL"ʁ(nmqּwv^qI<?+ab4CXjB'S  H\ǀʺ'#@%wE? };2W@-Ih@a@C@g1ZHfn݅dn:;Ze{{,6d C#f.'iчX暫cqTވ߿M)*LPNkZoYoOr%tN[9?-<" }jJbX#Ɗۢ(=S 'L*Ҫ~ٙ[P#UW^WyŨw~2OJcw|Ζem%|V6FwXwGl0/TVj[ X^5ܠ4𑖪. o~`riRxr)=+vw:PCFg|>=;d IGMڵ}qj3,/3zG1^aX PFGzHTj)Cf֖S??\ܚ %P~OAbboVI 8R:B5[ B=V.;\H]35S0cTFhJ*BtK]g΋;=v {,Db-Ȭ*+ WQc; |,EWEV~N#O4AG2\qoV/1o|Z {K,'FH֖4ZSyѨؿ{+tv§|E?}1ݬgbE2:d xgvp]Eg&V[6L0ܦ>6?Z  bFlmަfb<<+q /e-wBW/'ujbB5Ja,u^C#p K&aGTPW~ӻDי[AVr*32(!qk!%DD/T6_R8d5l354TrW%q"B5\4T@v69RBTG{it-9v?ț}9p궶"hD]3g05"-=Dk0(<@-AJl3v޾.a?d&o5#:.22 ]Đ44w96z Db9~ 87o[}:cLWONы\V2 ),2*E_}Qxu.#-WFwo,H`v{0_b߼PnIℚX;k{<̣|92U!mƦ˨"}u oo :u5.K`ϧw)T0H&3>%%w/?o\CH4u\n-nft/p'|vj'+9 't |(h<* NG:TcZKYYwk6YSZ$!쁬JRF?&?8U.R_ĺw4^ˠ fs`[b#V;O:)>1?q8_IE+T|ט+ZS.~-gf7޴S|$7)wCp)5s+^k> ziv?fTë$BA̕kuM:z=8jJz[: >Q!ٵ$~)~"<0۪ 8 N(]vP5K1ERT[HS|YMg@Z;7k95 b]o?LK_{gK- oӶbEy0Y {t 7xKGkegP K `/=dIpo9De<@lkCb!C}jN\Ց4d$r0[$]`i2֐Cuȡ{k1< wH4޶s/kO"{Q˵V 5{%p܁"w7~Gh5²Ȝ*U~+y!yA S]QxeBYZ ZsJF?;[c̫,]$_7Ϫ^E5mV)^(Jnr0t^hkRV7<͕)KWnH hݟ_j*~c𪉃pd]EED_bn]3uxe=5!4Z_&]/(R:^K0"J[Ntb9"0pIOR҅mԓNRNu ߏᶿT$^)!0 %7$bAOZ0E2[=AI?$>^H_-CItNԱw0ji= 9-+P',Ɠӈ[BjX~ wDWA}Wǔ OJ5A./91\;䟲.bP6^p$0sRb5 |HK/ 6хy+m؁d4 lZt+Ia (sz8wyh'cfkC_obԲD=|6jBdZq7\>5n-H"fXFb|%j;wkr1bZxj'9qq:ڙ#X>QT>%cbޚ#7*d2'{mF퓂-]bJ|6<~p9>Q^+])iP*%(KMc{ t@=M/8 32?_ǂӟڅ Lu GA\5cNPty e~O ZbI\PC= .-18ڹ|DN?F)F Qn;%#YG -f\ll?#qV}Ɩ~;(Cggh \ v2u 4D,?27KK`wkk ^ݠtCnE0Mfjj"iAܜU> _9An8`LMKD=QnVN"9!I(4 5ț*\H4^^x 2Qi6:2H1mchnl  3E?tR[s5/MV1--?^ @}['~ܚFXG n8ńhgƔX ؏B~IL% mgr+Byۮٸ$6ן|4H!;6qE` TD te@X2- !-}6&;?뫓L"aӴ _7!s rHlA+ i;ϞbƹgO_q~ز= jቦD4u΋͟Ó %i: I/~&16=;'ðO\R%ξDyt܉A%gd@Њ_GŖ2rYuÓ3Ҧfe|zԪu.)EM$ﲐ_hȃ(Ȼ |}x^ K1&ؘ^$a KWmi"RW\)p{JoY-ofG!K׭Dl3[~qwM(pn;Z1&[F=o9k K en a>F*kNKXIywL4hnNq;TW,n)k{ ``^ 㽍RoL0A)JpuCnUbYG=I(Eڛ.H~w'n)8.A% ĤT>@ܳ>YD@n ծ.IZ"` 3%sK-=Ei54AO^fk'!qWdKc/P}Z{UxO.&j rDq)(]kki9r|B,H&M/ҲmF@o X1CosȺ2*-M ˈwx]`X5jǸϸ.5Y5Ρ8m>"!aTx$CӀ m<V%VQ|"oP7F'k5Y"8)EgdռLz#%bn\ؼ'hGZZ+M,{ sdZp5#Y`V,3b-) h,I$U B72|W̯ŌYY|;Ȟ)VN"Aq'Z1a2{~lv|Wc1:# C9qׄ(3쨝䖤>`WC皞J7"GC,UySbaeĜ.$Eτ`!kvEApG;H4  z\8.&"QZhbh©遇 ZHW6LݳA!ox ^GY & @JFh>e$kނU0yqPo~>RCk41,nm&r{(u")t Ϊ\*3I}vF[x#-ڌEWD"+d4KUm֒JH$|>t'̢RC^ զjPJ-yfdX >7Zd(z:QGFϽ>:(%b]xIc1u<b-uu xC*Iu RkWJ0f?2-" }%(;pdDMHH;G~D[J}1C5\箐86{M) KO3ܵnv6w*ޕ_vz$-@AWxeoMY#; 0rR[j@ v>txDKH#4QfNF+POt\I:4Nu::gx15G.Aeٺ̣`=u#_ħ-~̴J'8! ɍ91pN}eӱAv1oRTZ_w h;ŊK~Ύbf^CDjZ2x%L`cjEvoSdTFq%#BdxQf\TS2P=l!EŚpsouДZp唥߂`q5ڝODhwn=fQd,JYud~C]9Ɣg0S196B30Lf'h_4It4GZ:U`5˥IjB 0#Zw)K;IGxu:L)0 .>BIKNPp p'p2X}- $IWׄ/_bC9U[0DE'NYT4,53YS~ CLC$Uda m8Qmia)C=XasrJi+?>{.}3liAgAqofy)p@Hg>AиeXmT%2'42@{V, Țw0Y;#yX#ݤ,ίGD9Hq,sy=x6X"31-pwj>hOo UAMۏN|OL`5EFx+öd.iOhdMf"Q˽;Dx}19Zh)A/qx{.8.KYB}l8RV(tHx#eau?G&TRWF FϓҼ)9&nSkgOP/x^K3%b`mҾZvLdNJ2"x]X7n_X7Q}K!3<`"a*RԂ}w f,eZۙLBT'jŁS #AB mFN8ɨ><%6bt9{(6' B?^^p\ѸVCSX}ѸX{ݎO`|U|y*8|lX=T4F*~D4Œ 'qJ |8y=:I7zhs޴DgZc=MI?nq6 Dh>@ -(“PMlU!,G>bz* ]rԿ}ݔamn )5?ʩ[E(N~-Ł@v`/Kzw$2(ES++uXm is A~9 Qڧ$syF&pB/H?8Uka28 Tjb_0\4PQl=]b v^0X>ȿq>3vY!u?Wk[ EH!L زۢ7-}wkڟgo+AG z +^x>kK,!u}EJÅO~.i2 EEbcM|_g +fh? {&8 .kѬ [*];晵f>vxEV*H0Mdi68)tl:ײJw#^ [F*x}=ՕPgOmtza^FDn {r;;UhV4b/I,[ga\Q~?c6^@1ڟ&2 /;2[TZF'h=e6(]rP%ry: ZΫYIx]";bo𯜰yslie-`}6E=O} /2vjX ?B.ϭ䣛]σ+T{&:tܥ '$;l \ {>9*17؂fmo0tïتn [m A43]!TUZ9=rqS7&}M 0ev9}jjw~'FSբc\<׺B|Q\ S؎F\T$ۉˮ0X[Qnl(؁$I|eГ E4#_gRI~K pe{ wv Z.3NOXca Lu)­Ƶ72 ]{ocq%Ps!:E766y+}ilf%]="D 3IqO33z  .D{_eQdqY=Ǔo}ȯAd>GKO%S5kVQoRR[8 $ߤpk';wQV m? 9Sb+tqY(6ݤ=D/sT9aژr-K$QbKE['5:~~$Mc"=N#&0 t0;U=GT 5F2i$A+ 2L"VU2MKrζaTPXD/ۃ(>RjN/_`umzfMBU&QeT\Y&~ݚG!% *-AE$7j7/$p0P:U ~(Ʉ +kIfor"'`Mx+@2k$n?0[+vwD_NΛbk9 eup#N -kAنCQ?>ytPv˩ >QSSu f9REei6"TÄ6 8! q@NZ y8_#W.嫘 |㘎q6U3TӛQp"eTYyNg z0N;U Ƃ`fE.w0Xf"&pF"'e4@hP.vmnx&JP\o5:;Cxt{I߁mVhMJ!̚6},6sY/:`EO 1)F>ZJ$4C_`u}KWR[F-WН7 0)1n!~#ˍ+=;ޜHDCs=nihTЛR3F#T5Yz<*[Ϸϟi8?teQXp?C-Ɩ~.y``Ec{QBC>7? Y֓z9yT(pT x\p X<7Z3PEv0k1ClT-l@4\" v QWҩ>_Sm 1æM#pxx|>1ZB޼@G.JGXO*#PznyU#rԪLRzO]s1Uao/9r{ÈJUH%Ѝ5ẏ6~N)e$|' Y H-"E9e !`e/N33*{.IZ'))3^O#vD.u$v[1?e 3: 7X!cvBY fi{.hGN.ƣt=gC zsNACew5;qY ReH#PNYRX٬8F_@p Fq" F%E8GqJoPa qq\{l8 '+uBg4 Psg{jp*$"^a#DCt@C !ǀ1?uziE^ChCu{k $;x~JI0Iro43A}'o`L@vV=>lЎ7 Nj'#AAλ]8Xc.^=(4$NUqxۦ/Qܼ)̅nKQ%<+Xm==gY hHKX)u]&o5tH$x K&RnJ-%!q @H5CUKܻ`q4s`_s #+z\TNj6l=<2?Z?]ԟtj_]bӱY6muKڠ=ľ_ @ɓDO"C_|rL\GF;edFOwE FA^ @kcPpej(u/ʠӋ]`JG׍OK1*)c &9ř^1T rHؙޗ {WݻvY bSm^R :^()m2ЧZ#zV#&I*Xl~MV&ҪWuQեh_N-~|l1 4â9AƸ[o5Q"]>C+݃bEWjeu)yHr>+̦k]B/|I{< FTo]7zUb>hǔ1#IͰ 7).h$`)D/UM^,MmIgON`$1~0$W P5^l/O+hp-5 e318ȶ罰]eFWh)jI@65x2_E''BڞV g5 )UP ߠsS4w߻ w? f:OLہλ%+8Q͛$} AdG6 +[~%N Ltxj<x"Tkᩀ|_Ra~aY BJ iHE/f3iqd?ho~7 aG nLYfM_ HE.3Vn-W7Ö 뗤n.Az"E l_÷-m 05D:Sx+FkQǔeGUQce n);*ޘW9<[@e )N)*UeI?@1t4m#dl $DIXcViȊ?r#zQJ%E*< 4xX`mtj+ z領1_xb|Śb8f  fQ6- b",z [ @[pڕSdW"aUR*Ȅ"^ U.j -5?Ce!J~+:b(V׺F0_gH4տ]o6Hm*I3 mM+'x+ѕX0:蛣~6PZ20ڽxQr@=@>{m gY"/Q8[XKb,AgsyoY4ooq K2 !z6㋬jT3RKu9Isy") /֜fK?FY0vO  .D?0vW@vaCXze 8VYo`+a3CʕZj~YGWޯӁK.eg؃j_>}SMyV] d\A y{b.ý= Q8rI©C0ی5[Y`o.G |;4a"G=ބ& /l˥I!nZc^^[5lut%'M]l[Ҟm魀%,\%`1R~Nk)=vl6:X[Q'Vݖ"p f&qݒ#~lWE#B4ci}4b@ rxpig=6,v!^<.9} Z=22N3;UKk!{E@xk06pk#*mع€f('o@<ti?{MZ*@4t&M`c M6/ENYAb 3 &l*5ZRb5(͂|L(Ł7M6~mTT q/,DS! D)Z/0(1E`NLQԊ0k;}JJh>{Wx|Ur6#޾r9[';/+b9:+oM:g2COrWM' AGSӤ&\}%6Wxi X#Owieut [qQ|p=RF_]'zJRLL=Ҽfu]7s]'$Hyx l +&-+aSh%RUُ]V$1hEKSjgAyM&#\G{_hZf6 B:s4hsyJ&H8 ܮEnA"I2IE;]Nr{pu%9Gѷ>\L27/ݟAeQNp+7b,](%U"gd/4MQc`yBMjɐ>waEsCOӀR+ۯ؜6).j2&/$ۦʲ.仂:Wl9&Qۦ. ` k_;3 3jOP˝ qbײGJJ[݃nnƭяf/&Ip,zy&N-[T<'-' ݊WCx@iЁ`*Mx>/bw v(TFefg~\6qh-P]Sً(}ˈ%ڳ%C 59Ę|NGaHzW_BegTx~&A"]{ \B[oW@hnXt.  xl4 JW:z%7: izr@ _W0\Z=#3zҜO/hwfpM=cYȉe 5YEgf-MrC"Ptd"_W+[PU'鑉9 qc7c(>ͧ:x0 bXCbq$LZȳP.vq>FSj4`T+SUwٸfR?3' ,Xo{B@33W2/>B˗<KNœ ]p&I7V؄\B1PպxgSu6˶C򺡊}av"ajH=fc0lL74A/ơ)alkzFwv7?9,NJ +-4b+A RԶX/K.21XCe+~lQkrb%D :!bLmΆSV59U߁2Nj5DU^/'nf=j+Aɱ A>nPVMc%=5ί0(#5b_ֆ`GWTLJ%ՙxʁeWwH&_/1ϯF\,OacL(/=;/VaF"F2'r.맨ZJYVwoF"Wwޔ qhS@DDp8 &;i}# 990!Po 0#a֊5@{ $pBBC Re+6p߭ic?ԦZY8H3Q{'TMJ{Г mQ9L-9/qlGFb=-(! ||\3p wu,{蟆c0:sjcQ0J3*ϵ[=L&yX#$vB$ 1bxH*0SԳ/G)Tf$%"Hmlkgvj pg/Y˦B)ߊMAJ?17@hlG*t ֽ*PPB12hvl Nx?ԽS40-& p?r~MZ᜙ Z#0GcXC%xVh̴z? ߔur26z#rA^qcbr/[]XP8mwp:vlV5ڃ!vmjዜsY㽻 ElQ2` )SX_/TEXC̨ }۔xcr+GN9g`ck=-U6_` hw<eH6$ZPGt,"DI4CVW3-j!_ԋzD(n3$%NC~d#dž~rE97Zek#zr+*C@gM}=z*QyVo}Eo&.)1e6G.Uy 7++OuS%O`]8&#TWBj6} wȓ&wdJf/top&GV̀o3d>pi6s^5$}Zz{h@v]o>`Ѐ-Ýϥ N֮8Ԧit=ݍ +}LD_g \F8^>HN!'(VRA@,?mޏ2e+“>uc_g"0^h ^7$ߵnDSPZ~[̝ @|cN[oI:OPI,\A:ba-iI"t,7Iv2_/\HtrM'24kWDž@˳>Poz/KM_qSEM=- L7۬Šmغ܍T\ar#Eefw+ wvU3Ύc5_0X6C4*hrqZ|mU{X~cH[} 6eGv^͂sR״_C Ȑ2H.m?`\}{Z+"$3RQ&=0Ǿ7ة>eǒxv@E D#=`@~ u~k6ons{5 kX̼;/=f嫫U+ˉVyGA˃]߬/s8HxbRo\neHN/ unRnͺ u}F:q l똆 ?zvH #Ԑ43{/6kZ ZϮۊUua٫QMJٵGA gA3JjQ<K}i_y=o1ΑGԍݫ_}>bݹp8#𭎔TAI];A1rG9:f!:9ܿ20ɧ6tQ"*!/?beJ?wV̒$s%!V;1gzZC{\E ak B,08|&:, j实Oi%ux ƶQib论.Cδcp @m-[F/dl3 hX6^yJn6tysᙊMt`jȴw#-9cHI[zyh;z}*b-j͇!v̟-SӧH0ZWK&dS=r :͡`fQ/X9ے+Xڠ*MTUC5cISR=ظa >㜷JJ^jA;eEeJ<% w9oyf-xBPY(Z+Kt̀ -^&Fq#I\0yoMTtǴPM.y͏r*F(7;" ?b|>Y2W!$X%/o:D\V 6dr c ` $!tbwNfv{>H݅(r+Eo mCs!I~TJaדOctg¨DυRT,%lryƴk)3^="0/>BnF࠷ބMwQY_@U샐2LO ψׯ#қ S,aCJOE.2xΕڴ{f*6@vvj [j%P٣dc茥7gۥ;ˢ%/-2OkW)mOr?J1 8Co=Fq4UWz)-c0a>JZNi܍6ؖʝ0/"qDB?P6xv%Lll]_E Bd2>(Da0 ڵZ?1}@W^cG(TRȫX8> Je߇k-&dDZGV$K4k9qNKM҄>`f1mW}T>Wycw+WꃬZ5+{$#g]gxx:[.~o;u\,/ޫu`K [ǂdٽ9à}Ix;mX8&Q Ck -iӑ`mϡn[wӴIdvg7tAJÅξf ^d2&DKRvC) H9_Bb)~!Li~<(X6⥯gCe-xpdZarM 6U7)?yلW*%ԒFӉOwv `FƍCk+1mrhH ;IBgӶm23\ҌŸ#ߋ|9ܟ&Xb#L]bz9U)#AotHBlz4H;/ӸgzfDRZlУKM^H@F@jB*FK{͠Td#u}fmj]=o QDۧ+19̞FC`|6p8ANM9{>(un~0^頕#,/+=V]I(>p;h@Ԧ&0b/13CŀU^O̹Xw~<wl֊ >q[i  ϼp8[Uεr_F u^PYǧ兺.7LcD<?$-2. '{qwBaRxۼ*]2  Jx,2Q͊KY m23iIgPrj"XV,/)`h̗Օ~\&K/5T΂I8& Q EzBlw5 ,AFKt?@YGK!1~k%΄Wlt[^S&מ~ܲ0&yf>V}^j,\}̠jxtay[Y F#"7#| hĥe\5š 赵Vdh>{zycT5r +8޵#c! Lj<@R$GOҙQn8̐ld9Q, p_X jvm#48,k`CPpާ:YYs͏n۴\_[ ]M\3+=C?S*vzLp. C%|$Je" m)ro:F,rRg91% JPƪýO93QTU S5dLZIF'*Iˏa-\51'7RsK u48 WAmlÄP"|sO_=EɯfwʷVوnw޿LEDFb{L* a)%QfjŁ <9pZ+?f w`<(&yb4b_SR )~B{dS<-Nx0f5%=Ò0l).+ݞfvfNeoѕΧΔ:q? Ieڷ&0C^$ JܪGo삐 Lhk^7fP0-y^$JN@CQw]}2_|?\zkyɫ2%.\Fs~' Q~Qm ;3C\+`BZSK\S+ z͕1i2 nx[{M,%/ZtTpB؇ }t7%n`Qէxxxbcc4t<lB^׉>[*i"O\ٲXa[>v%ȧ&$~yp^^z9bK\ l mɮ~ieN/uGJ2-"NF3[!pYl\C&lvBȥy&CjZ _#@t}xZ;fQөwΓd0CchXzY#(\>mYȑ`9B\0}m*&ПD6(6Z'k`pkI }BMݢQS_'7Fט]>9wQFQd +rlXפAQȎWЕ2\Ň җA8:g Fv ~1G$#S]@_$)F* ì6eNLb NxNOIChӘʺfUNRӮ2r <0Ix=Je$_,\ԁ, 5ے!) ul#K[OQv}^D=J l8.HO$vDf e'|R-Kv  Y]ޑitR'#iVэj-y=Վ\Ʋj[n# W\gn~]2}b]3B㼡FGs4q2el3f?l/'[ m *'7B)yW v*I胊g!MW*~KB$$( D,:砃YVZ_Lq׈)KjUm y*iyteR]d䈿6'Z)<^WT0tSؐ)#=axՉB{(D ^B'$68D KrJEa9=#VاPu~ZL2O>#Sn];M8P\ѧP"BGO'yX>vke'Nv`!D2.ߝ[TeX/[o1K_9_pHسZPNd#4l1 !zŬ?AMbCj'Ԅ5LQ(.8zy 4ZRTZPgLD}/-ҴE:iA%%UnL7ɄnD˚n*p"ݶ:\rc` 2zU\v# @и9sWtXZzt͠k,@Ya? o&?;\GZs̏%zRڮI=S{X\J u4g{zCX~l_}aMXWkƃN؞ɖzUgeǺr'eʔeTRr⶟S(-$ JB%f+[ukwe X[&]=l?}Q(8n_Ppo`̊BgǾ7^xAY)&ވ(,2m5i+: O5X%PīPI}(MmMG߭^ l[C5`]IsAdTcgDVMt6SĨx.B)2R(aŦ)ud&C3ʥ Rd|ٝւW+x]a҆xShR7>*/ᖟ|ZГ@&H>wi?GA^ |_+7ѭa?ϡwk;u%aօNDE[By=MvivVGwO5u^x/T-0  +C!Ӽ95=*[3?jB2~_L-)zߥEE sjz/^O[5#EifaMmVg0 A$%M/1\!.0GLyfRmϋ Ȯ7WGceHM+lJa48=o ]H   OUјdVT+t"-a~5mi pbҬݻ 26KXGT /Uu}V$n":[R8׭!ꃞ`빚;dhE[Cc!![Q`b.yĦ) %aN<-7&5> algs%V;4oZI,+LjNPiL4hw^+C¦UV]T|N<_i57a1Z3ߩAR8̓NirHZk}^ae;}(wgf PlTwDK0'$ <2CU> #@SCu 0%hzgHoK>#~!Ž j ͸--/m7|^&9?9e} $UPwRSIš++Lh/'^=LHKY,'|f"WS;LkFAlp!dh/4JT7j2:KHrîQSTؽ@%ΔakR9c;?su L%y<"gK"V I(5/Z=yr10r'+mwiXp; Rc"5 鹟j W} kO  VStY"Hp-z28vohiT.=lߥ_Yi7w7* ֯7^ J ЗY_{ ؔHGcsz٘{ }z a,wm1yb16DX*BH<VBvoZMF>-3U#lOn.(ת n JS>$PʓI%9pf p+Ezݤqv=D]Ue)F}?_erX~;z, em"Ƈa8ϯ̀`c[]kQ%x 0&yJQ)8H?,Mh#Lx=(vߜYJjncw J]ljG4}_ Ey`jc+:aeG̲FEqwhÊ £ᡭws\dQ@dK[SgI*ncϓ`Qa`0;ZT]gʚI#B n!ӆS 2Ť2U15y9p*=vwέ@0-6V5t^$f.z!f;m0}Hƕco$GQ  kiK._̡~Oe|ێҫ,u^zs:-zύ}-fcG8.́,Cj;5Eqw>Zֈ_CCRp)Tp(.ܠdE&G[0|`akqK%BɆU~O05:pb=j ted\8S7 }jHwB5\ 4kH$0D&:yG+>(qװG,ooN%A;w"N`VoU^PV:%,8J%A%9#tD١UcwWg/[P/>ȴ"#ݖ^ 5q 0/{GL&pb:>ߡ+%E̾5{n] YMةTfKovyL `*fBs殮DyI I ?}a%u|Q?7t膵H&܍$aYb>L 5G"~fO0G[ӞGtP:6/raN澹A$C/*z t3aǛ)E3pLހiL[Bqq%`!2N`8UK Hfɦ38ehha7fay% `ܾx3vpoq!*CJ j1+Pnzu*-Ԯ>#n3k+*: m?t OP(Zǩh.ut9r1D蘪P0)D) us@W"$$vt Ҋ9R_Z33EHFW!:K0؋?HYtu\[PJK̸zo /[J%l*ھ+ш\xuo8tߋAʫjgE-oA@`_\fl[SƉEw&Iʦ= @c*1OU\]8g>o푲=UUQٕXjֻII86 $/0+*uף<ۓ6, d]& M= *96Ή,wotRBzy2Ly2~q+ tH%IsNN\ x6* '@&V~]"ɗ'pze.lQX_ڀɜ64_+ρ_:Q:Da?SH'fvz(W&uƟzU-+UI2d[~7`D=\/F@E-okIGo+AtDʠ0kY*Г7R6|޼(Ok;;00p8` '" 6a9KV[.@Np;G&ykͱYf<]:wN';/z1s}^Xgle 7bUk ne|Ɇ#+~rot =K i|} 8p(=HauU;,`pMծ[K͞%2ݩHqc( Ub.tuf'+NY=+r889(@$>sttbm on3 5aά84mg3R x[EF*[,`oϋ5M|:,fŻ Ll\7Ϡ2)A" 2ta W&pg )[`u}&qݾaЬ~Fƭ6Qdn\T}g7\pMSe㘷 &2ww̶гשo׹L"x| FPE]&G˒NL'b-䖗*ޚGv_ 3vAb$t#܍>˄?䖫β$Zl4.iObwrtN2amD^d+OAOR1/v,r!}}S̸59ps`&fة:"%G~HE?-O2TLzxz;?*2I[8/8yd:C=̷R&g) pQHn9\"1jAs `Ӏodn>g#|5+&7x`^KdDc C(3CrB " KKbIRQo%?VX tć [`݈pKуjvOG$Šrcg\R臔cfvA%1jَmRHiD6Z_VfM3E] ;"z nP5\1iܝY}H$˓9!fs<'EufON=pfxf;AœiO _IaCz=>i~Zbv'I ^( _1mSs;g gaK0I~5k@d: |l_=IK*>AM:=Ͽ^=mN孉eKC fIC?< Jcԝq۰|MZDg/41]rflw "gwރ} 78gC,H] ^Fը'?J$ @ЖX9.7p_4Qr`yQH MÏf%Pjm2*+ f 71z. ~,3:Dv8 ġ.r5I6zKrKzZY%qܭS G 3Ԫ.8J}[;T< gm%7 5dO>;LzǽἄD 0[3rg%gM$K2" CY0{m-6t(dГxۢ,nZiEY 2,@6[*˷Gfu< {FP)cيoE[U-.3vkOy D^](+ӵvN& P3" o1iƘס?mU ֤k6ϢNoJ.nd+ˮgyqrz At$JSJ:-sRl璚 UB;NM}<0H y3G#(|F3#RDzHF lU!ABLj7XC Ոm0ɥEϠ 8|v,kt :~5 Ux2cyB.|']+":1?&7dvA]w^BJKI #LGDoe})7ʶB^>}VFPB 5 Yaؼ;ErGF n*tOkrxb[T #GWI@328F/j4Bigz{ct|j>ze1ݭ%61mqbˮ*"p =CoAj@_G׮][*@RVi&hYti-apg#JQ"j(+#~VE?D lpI{$@nt́Qw/T{HOIүnxV5S[G >{7[ŔxsHFc(0ޏf{kѮ%b^Q#X dl w7xTa*9;x-D:-G:SB| ҐȰ+'4u/5AL5meat)ѺT= fa'4݇ {8$PRWݴ,&P2o6Y 9po ƙ1;Dlѹc,EQdn5Gw`[AHO'X,wJm#ϮJ sRot$Yw><f,}y4gC07KsIa5LjޒG@ VEz=>XѦlA@u=6&͔++Oswyܮc+_>)# T`˓$3g1^57<^:^qbA)/X( (:-{]hť %ϙ>Ra$jj~>GͶs ?Xs)͹cS,G+*H;ZDO:ǫFxT+}'zIՕ`xy Rrj U{5y1Y_(E*28#qvd[Atfl:jx^ֺ֔ a#zdTz-y;;;8Dp}]\ұn*:EQY^ \hUuhww鲢&r+y=xano= 5lDTq/*UZ<g1o$IN u!q_-?4o^&܀)CwI$2E.J|Yv7Y4ܡT2n߭钲KBMOD zޞUR8iLS%sDɭA_ VyA)r ֊ӉFfX6U7Wu%Zt9̨MOC;RpKJ*0?22Ͷaqc Ղ͑3v/x{P5lmWh T9MF'"v,3b}p~̹s12 0C|/`B„/p̳AaC(7 _6R ymUQv@M_q7nm]$M#ftx,Lv ҨyrICj d]tM=6d[Cʹ':RT? Q* P) b]Vtc!p_.\܅- ȥXѷk6"~$:ePc.+3p';Q@XțĜW猧F`娆r@V4 ̏07B/'O_R;3ީФOO[K¸A@|0fo\d1 bt:^SGgzp 腠 i54ræL  XNX~.پVcXwlK^'ƠiR}r et9ꭵrt"qQOU)!ע@H7px^[E5KQxFCC]RObDMj4_ڡY#r9!E༉ p%Z޸N& >uʲo#}IгIDE>ݷhOEJx*'FiQ](1Y(ao4FG^Q"z}c`+JC =y6nʬL?g3:3_!R'b5bYgIօwèL!0\c rP:캌)U,~T;Po Bл9`r' `OHUً:5^/My䱅."Xt/\R8ުZz4)41#rMz(ILt8+|w|c^A6NIKVzKBLTFh ƀ)))'EPFC8h>YBbz3(x%  -*'EZzf55oGt u'zȏ;%*,_ *u,c&XpjQG)m%*}T\"ܰۑSieCߔ6Ǟ4#6zN359D$iRra$.yan b[Lk)p~`RiBKʚ3zP$L-&wҰ..{s <8;o]_%~,j,≁?pd:/R6#6-|d0(`ۙ1U~~HGCfm]nY7a[mJe$d8$b")ɼe?]E" h.fu;;C+l! [eitB^%ʹ<FW?ݘ,'P QFdJ6,/MXM ևB둑©U0ڬi>b::'|82B8Y茻ۡ0+m(Pxޫ8%4{L2H/w\ 3"*g ŕF'3=Sb,ާ%U.3_YVy7'?,$dby5 礮YX30B#wrR[z_@˨B@&;#L_nxd@CLVZb" oO/Ys.-36VW={7sFC@gᆇwVR?A&δ.|umpߢbV [Vo*'%ӗՈF%zuvSD= y7)],Z`01<+t,.>]~m!Ko-~˔^ 1!XX*3LǬ#!-C"E0>B;Wrp} XCF"RފДFiuKON?q;7JYkNܧ#x$Kpu]A Y&ԧU6^|R̬.){Gr'n~;߉vy{َ,d48Ѽ=8/[e+ȥN&ȥ#w!@wC hVc#__ >CexSBce8/ ;3hVrT]U{JK@0-$9Y";4d #bS`Rmpۮ3[t mBT?TǂZJkAM݊cIl35PqMI ܻN31SPF(QX{1f* F-s?/cL]0GHaYxGSA^ܴ[2x.mdj۴fAyHoKj6!N;+ٶf(_㴚/ҧW\5)k 2@MԬ)IB|' XdoIn1 _4&q +q2m}(HfW"B&Bft_yR#4 ZuTGu9sH0Y@fyYvGLx'r eBf\^9OVqKV2;%[K[e߁b".ƅH"zJ%1-;cT7A26~&Bk8_\~eyGiN@+q_U|\WS_b- &T=vpba0=4T+8ʺ?:Nѡ`oUө_zI-l^(=1 qoyPfX&! @7YOf ^on>CQv9GVjnZLH:k4E{`˰SJ&vbmX_ڣIWN0sɂ6O ߛ,uQthE V),!0s{O<ݔjDV)zN u\y>bjPuq-rLXL|*Ս<-L:iY,0=_wIeay3{O%4GԕO4آOJ]heG}f;ARk|}53-N囊Ȏ{~Ci'QXa' xu̘NC! 1cFҎ$^ Pʟ qq /"iayy1nhnqodlcC.yT:L\;" Ix ݲ櫵rajUV6qY \{Gv; }ZSs [5IA)IN*Zu:UL d77Q^9zԷ,&9Pc׬XX_>hx:l17p㙥 5<_UMvn%lADmti͸ZJp!A(SF^n -Ɇ(,dKڣU~~Z>cTNY-5jDHs!E$~ M/7Jhjh"E6m˨nK6{MOKÂEzÓɪpvtQ[ߎy l@1܃BR֎LE4܃8LNL?B n&RՇ gƱP獉⎊mf(ŀ-f8mReqҙ1 vv|gI4j$J;Uxry;y'̗2AO.)|Ԟy+f~+h;fK 7G36LPpm(dwWw+佹o&h_#Lp5-FyxtTM h< {YJI GtƥuG/{j6q^h_hx9<ޝڡW, *\bs/lUL#ZP,t!(,|GTm&eΚRsrJû`;v)mrd+ ') wYMNϴ6GvL mSc-"ڦTdFx?)ә'ܐ_|uN92#!qxlnG3c/+.&װt/[}K )_80]ݏNiϋ&l3З/FF_Rt=3.ʯA @ XLa{L-FEڬOýxåpϭ*΅֘t4nWGA/e]ne04K#&*4|ˇTBN?fuƈ ;' @$jCղuV փBL=EK+/ryh\O\0Ǜb)4m{B)BvNLPQA_ v7C Hڬǝnӎ? B(¯)s jָ O`.M%&u6hˤêl @T70x7u5f@Q}quQ?`͜"`|@Cv./9YSIsk=I~d&|R7Eõ` Wnm)ttavN0A5Rt;u'~|(> KL lM4k)["Lu|#=[Nߕ]h-xgaKC#NF^}d 0_S[mzwf^RBuc~m" L+u's'osGWrn8[ԩs/:6@Ը[ $Akk#9!^(Kk' C;MiȘK]aMveW'e Z8GJ#6%)WrIbLhNJNەե{`jeB Y% (9LkC8z̧ZI-:}7"D6oߺ)sXܭM;lwaZ})!oSa1Mfof%Be[';m>yO„i]:޼'nx5L,gɅ&{s'-G8S ?2nwa#{8EJݡ^!4@4@a~Mp>fSू5_眼6 vlyuv/R}$B$0Bqѭ\AWr#!OHH  ;H-x}c 5 .?|k9V l}9CtSZ=̽ƨ4,m4]r^ur{HJT%rQZIGvnV7CyQjt. mmPk')=4c\{=%@M8<ćTC,yM91%!:+uBKVE{Fnh옾Xk8;_ig]!='=9ua[$2MLFzlA9۴P5͈߮w sjcLAgN(7[V? mKA6϶[$4<Ti{$(Vݸ*%o wfy,D/9JtN rp8PL9#!(ԁ cӴÇ,`E )>Hob7Қ@? yK"ž-[l]QR~UK4J*gkM ړdnQVa̬kP\[޶PV9jB>ё@a4lҏ- !M*OĠv *HΩ09 fCiR7 8 >k,D~7X89ՇM`k=;ӂme8%4T:,@Z5%gĵWWj^+|bm 쩃{c)l䒱ٮ0SO=?5ݴIj΢i|ւg}k;at(h]ʫVR &0\3vf˻as1>VX[{pd4^˥"8|Do=tQ7n^6-DE3Yb$(&ɠȤuC(7 u2>'W{+0R:M<;RܛEru0\e/.ۂd$ZH.KfQJOMUdө6XI,ynp/4s=;IhGgJ/lZ'hQQ,X4%ٻQ1O*/3QķI|4GWLkn}MվLS ~tW?uPw ߾ P~b@ {R͈ J+{p]'LTQ'}C9b(}=#;:5l(m&n}d)V-f΂ Oי$Ȏ)(ڋIE#v;|H{8*O^V*ܗDv?0X{„hm?t%tl\C`.MD~BXq@,-hdaR|YXG'W^`Fz4 BHi]sykuD/+2AQRN4"Y 6x>ozKZ~ ¥^;Rq%pܸNw |(lI< d"EHPP*vzI?/=q ;yBXxu NO=`nm [ͥ /A0cqJ9Ҡ֑u577]F;wӀFF$q.cfr{*UY[~ D] y!ڜTx襝-Vop[c01\kUfIKWqT.fULIt[>3 YdlNz9;t\ڧ%O^2:u#Σ{#WL3BL{T9&Ӯciblf[Ou &B?ل;Sɬ9=ofn7*QSRXajZG[n8@ blO W3"̑{\$ 0&dI":1!͎isNCx/}dx;.ayyKذev~T?P2 w»EI -/kVq"гe9޻AF(fhYl/nIJKWV鼄h9>'colvÅQ٢{W`D@orx 8=] 1M/SQ E!ь o |34wbyrt9ecm;hr(1j`pCQQ3GX)\ |x +k1vI9)> YzS4"tE J)çA.fozcH??H-M3xb!G%:*LHwmsps zsx?-ZI/6 jeo'Xmۨ7M`~f̅cƥ ;e]iҥЊ- x"fy4Y29U2'1/>pL2m N ,`ܪ(~nG&SI Z,Imk}ct_@;6eXt i${9 O ٙ5 X+w`]pQFmv8^ _"#oT9#]GK/ Cry}G1\;w/(Q(8F_- 6F[ 6W _Mf"KQ$CnЛ`ĮI_dY!Tu@RA (G"" /31Rʴ(*+ڞ2N&xS.)" q{.'~<&?RҺGg9=P c[~e1l`{%?(woUp]t97l %ٵgE"Ë]Ky-4jFyَ}LZD&C _A9wC0Q3&F TyqbUKt-yEeg̗h8R)&3"݁;+YZmA!i(3ǽǟV=Lf,30@_*ۯ|T̵څ1ŀJeA\$xgV;ĴL\(Hpډ3'+ШybUPg($ܪn/Ӷh^-Oc<gc6MjhB}T_E:7B]Ow8=[Oio yrPl/m )gQr8|gZm bRDl9`o{N>VX#\}"u0wTM oU6uogdTnI&x2;N `|2y_isceKakHXU٨39W2V4!iԒᏟ;2=VJ%Z^̒,Ũ=fZo>n| AFdr0ā..&ĨAf2;h;+ XBjD2M-q}h&Ev0N3#Z(KRwFDSvЗ4;-NI `dX| M5Y\|@? |$wu\ݲZ0up.+LTֻW[ i xvl09 "8Eu" JeU3rBww㌹/'#:^ *¶.aUӲj KJR)_\'xi엎$ۅ["Hؤn&dL(sIAdjZ_]ahV&8M5Cޤ/Yn.1yl7}yOJ%W@{aE_(x(!Y/,tly>_cnweF߶֧G, tYKm(+EnVk2V~; ;T=sٿ=: b$EUD9x$pYwI]e+]BQ+tJrQ%KEm5DLrL#@u䬌{tTRρiXg!(0-f#!`!Y{9ލ3ʍNA`ieaMOa2#A>MzgyBQZڊ!τ9`,vH2bDxc ` ˗hb 2vxz@nVvt ĵ$x3H 嗹C?xyRH+1`qA倖](BnaL%>XT(ٱ׳&P gE1L ǏkgX*Ai}7RЧ$g'biAK#fgETo}4[ɣ`7;o=H =1{ͨQH xzr;Mxy W1D:8tXMᮯMkhWwP!#O4RQ!U-4HS ލ\(l %8N֠XR&ČVQZY?Y: }ChN N/-Z$;:K)y|eB_P2kQ9" qqW6x`A>5· c܄CZL+v ԍW|:LC~ND KDFt $&Y nG%66erYo!h#~5B 2eؒ;ՙя߻ܶW 7-+C=mQ["Mr7MYt~,{g]:.=Q]wa(Z-RN8M<1RX`zpR.7^9azRvTh^b>RutuesڏY %(zxl1j F>e490*Pܱ^zn‰d DD#~(YՈs!k&; ա6̱D [[Lpr^[||!Bo'be8Z)7>fY]4FA~pdt`մ!};Z)_<_ʄs3R͗jQx=jo|D@R-<#k-Vs%C膼i.z *e㼋j(>L> C$qhIzƋ- |PN%"_=Cկ1 6 O؏R~DZ⚸!'!Ftlm+ɔPg3߼ AYs~3U`pdHB] &JcuVaY9;6fJ9 vi\$ u/-nzXCeգ硉UqCQg cz첳|'cY[0_]#?Ɔ%rэ] |3RΧ|b4Gէ`24Pp.db t]LO5=jz邎E"ӱJN[xBU4z;t4kA8dzM&rblN}3k8n[رDS60+j5 ;A 2:UqaNmot8?; 2Tv7h%ʆw Zs6cRwlHGNEn"Jl~R#G -E<5GZG[1"^Om(-rJ4cz,'sݶ`#]IQ?߂A.)+TƸX-&8TS/'mp-]ėoi,Z_KBLhtkT - ﲒOL'Dۤ]vk⬏N~ `rYkdYjydv $࣭{00@)f" t-)}#n+64ʨz`{0+#i`ik͛4wD!lkX!TxIȫA95[(֦3)5"vCu< *0?L[062zyPvT́+zЙ;FPԟ[WClw(:lfEKPSAmO5 ;0ZNq ޝa5SY6G{ i|<=h:?Y,{@e;D KX4_dK] Lbk3[`KBcNŢS9xbdS/Wlo,}w.8/&,,SY0~u/_JwH| 2."QYFI {n"@vFfphG(JS}AU?|4CJ{ EkG3/aDt4p?w ^^V"(@GEuU‰&k .<>GX2kJ> g`4 Հ9P(Fnҽ@'=VS4+=K4zޠgGTܵ5;^\_d_#E7+1?۹oU Fvn3)ZU6?9hsl-bcc'G+M I I W^t{#|Q3e?אѹr"GNxj5aa)K:Vb ?]g4X~f+ s"H# 'NL& '5ѥ^qs҂* Jg=x,, zSJf}#aRodhnBwYBYS*i܉w6HkYoMRt割HO-lϬh< Ϝb!b8IKLaEΊ$Cl x^6.8 Iu肝t.oA+4Ȥ )ƚt44.Efl%tW9q>o4)6iO㳟mOszƎar&$zvkGhq9(nEfPߛ:˟qZbj{79vE.?YZ=_ 3 [0wx 2*Eׂgsǔ;V#CA+wUgT A7'G5}M){ Ccv63y)Ņ"u[/f@RT-h KE AIueqnZy4 :m:\vTe[-NȦ SY™pIL۳GDwQ1YTډsm{d0W}yW@L`LSD#Ty00A,i 'ڶRe)XR}%ao;J:;эTϻԱ (\^Aߤݟ?KQpG`(w,H\B"ZNGcpD_KCֻtӭ35&>oI2vm.N-$-XgjБԟ<}NGAcڋ:a˲hY,DwO9Z{\,ȌD !R_$ɒ m(tp2=項p尦Tma3i צgY 4m͂{ֹXc[aP.|s;бgzms[h/p$qj`RhASW)B{P 戙poWB 8ҝ^7}.I }sSȂހQSaIv "6x1$+ < ;w9_ A']bėZ1$nTV35t3 R~toa/7\Z$c):Ghg): de`A\BUM Xv3,Y |>! 0{'ݙ`$ ô:ݴM he+gO/*FFbt6Cdb;;NsPv,v4 @f|j d}`d(kinu2/3c&K% Wss;DWXBఝ'tk!{X Ndf%`L_ VW* }ƒęm\MA`_ł_6UXR0;И_&~U5~dEYƚ gﲰ-8vw$"@2C1:RF+(5Gf]3C=僬r t1K;bCǿʈoP/4L?k|t, #KТ h}{QB?E4?9Qw+֪<ϳ !%M'E,_[;ME#Ro |25c!@R@qL(! gԿUqv]}zkI lX NW맪8{uDN+=T5"LPT m1|%%$Ȇ,[6tqߑk5"Gu0MvNi ]Q G~ԝ@%twT"M?>͋rlO5H"݌< ζ A# G3+-:pp^r.-9(WY(9v{ [e:T8hvDU\:MޅlR S (-k>>5۽E=!$.r!kn-tFP Lb@+ L"t_h"z VIWr Z/j%lj5I~06nG$_ 8 փlCdxF1ͷUƣkYv _4&-+ \}POtA*a$Sy^?hE5Tstc$1|{5RѸn힎C^s29&H xdyڝ շ_-7uݲkr+6%T#Z MvR?F%^4ccEԿB~F3? n*v&6B7L2-`2dtѾٗ>`U\kt꣠ )EX55Ԛ1Ny|$,ى-7P2#3w7B 6XWƆ-ϗ1PTiB^'„?~ݔ^\l$Z3#Nf)fKyHNحhPgu}dyeK {=.TI ς Ԡ7w 3^4( mbÍnζN^pR ONPlK;z?Kl:Z>]C5X./EXw|dL3tW eGxK5M`(ILY!Rb CJ-q$gAy{BYAY2x˲M.ȝtˌ蠾o"JY0#6pF~BV`VBt@<'=]>K7o%wtRBL.ΥIC=y2/*+"/?ibc'+5Fϳć?~tR (FH-)sjH[/m$E6*R&OԼxRMs()3JɴqS@sK<^4e)He{bzGH ON* tPޗN#LXW_)Mg/ktvWpCo$z-͊2Fp+OnxCπ?A~"ǡl)>rF$1+J2]ƘPp_UGu:>WŦrQ$CkUړcMDփ_ >.´V(ؿؼa!QGr\5`w8kxoET+dB&Nl /=dnA /aW@x ?Pqi T "nh>AuJCF=F~B; 4re9[IBzRx_ ;h`}d|7u_zx^o9-tK˗-fVg6Zy|+D>$q`9oag:,l? bw / Qٗ>ZCz|^&g2롉rO<&)X ('cWh x&Bu.^1|VL8^B jm)j P(;^$}J=RY0ڠ%ynfDbc 9Q2kaJʸ<[xyG$"kr@݇r-kYk,LAK}-O5.C.O pr- 'o8e<6jL -CÕ+I՚S#5SK6Dyyg&c@f=}9u$FqC,R@/xp9'EU+Om:ON2XV ̰X\$w, y 2/fi=!Im=kƌsV9)\'ɤnQ2#!]3q*¯?$vV(Bydmg:x8d,Fe6f?hYZ ,; W8 kQ*3gO &t؋>6jݐ`DuȈ_ yq}D SJ|L`J1X{ÆXȄn+ΐ@$3M+EwFi59 /o jyq?qO_w~bU /A69QuqtcF 2Jrn]E#pPO ڃ$b LaFw5S6dC\&.U, Upn4{wcJb7U!ka4w(ga./-f޾<*/jDZq]ViLũJAjL  ռnWje FkRXTtSQO<jW0p Ю_x)(sF֡<=5"" *F>)Cu,et5ab+(-30E"GNDg|)0"miN=AF_ e,e?Q6j:!Vs A)^0ȷL2ޣlԒWUgso nT'cw8!@p0jetĀ!ٮ]<9FCDW3yө If3JxowfyXU R: 틝0u/zWS)\iѫRݾP#6E²U#oo;޸*I8st v nV0]D YǪ[=)忟 5fr$BCmUi96Ǒѩ03WGf1U :u'Q#gAow1Y o/ 2."=Ex%Ԙ/\z$4dDߥ0x,Pw&NfVq>- Ӊ@n ע>ZY@=N!jZ]F.U8F4e'ǏKJm1淃{b%\KΫQ+)ˬNwh2ϔa-8SMcyzWsU?B| }J`k5OŞ궃c5Nmh WՌ?]h B󒍑U5.~C,º1gg}o >-\xJىflg#Ɇ=+=yԓWnҸaϩc?N~`I :vFt](o5'@s"!j{!aS MxnEe:xf9a 2ZuOX?ҠI[$١T ap%{)bO/C =ߕcf#HRGko \㴝%ʭ^B a\ZaI2滴4ۆbRvRFrd{DypjMb?45~!t(Ŀ]jʺ^8]^Wj\9el6hvE<}FguЃBU@.v;e1yC~Ҟn{%MZH>03jт;mU9ޚB9_sb#p<ZRw\QzhHSC~?%CtLP/Jt) ~tHHT`EٯWL5xZ81]6ć @ٝ`ωCPv}P쥄$cx[`_#$s_a2Nu]dxb<Ԋ#_lb5^ 愺2 O4 ye_[ڻސoWCsv 㶿c: ̂T@#x̧fXF9^GGOxyqaoG#K(a檄GaSY[x)~?ƐKw3@Cb>gC`**g EIO`*1cT2ͅrt"t ](y`{>z3cH&VxO [:<̋8Qaa6p}wI+ ¼AdmDyfO{]j3`#7;w~/jzM,>C /8؍]=.`2 ů_2nj䖞HQ4E/2ٶ0WpCPlSY9'~C,{n./!pZt,J *&@uȖ&&BCOז86\94>eNu-mBȄu;o2NlVp`^&'zEZUlGܤTP zPibf[.*Q[Wt>\0%\])Qc]IiȎ$ƴ'otpe1{ *x9Zzv$W@w`oQ }tl<+H Rw'Kx rcrRoǿȎ[ܕs+iwaxr]BZBotIF_*$pB٣67aMXh}Aa L.#vrS;ZL!IU|э=_Aalv&?WE[C;%`vC |oOŷCw)>9pjX!B ӍH&2DNqt-j6"Vp *$g3Պi%4ü=\I)$umLgeSdкl^$jRbIV/ J@..=Fwf'BWFKCNJmZ*hIvT3t=; $T&j2tKp+ lh)']pY>d[cDq|dֻP @QLCcYK0u Xi~[PYowX ֓˼9\6߁]R7 IUtt^'iya0*B}!H&B/7H^aVs6lKU! M=j^Fu@9ޚγC(k^J i4U)AEyck&ӿJ=lrc'ۉ'(b\ Biwyӻ$, O!QLMK,eS^zVM!Htt ד.އY9 "'&L-K9bUAU.CB\l%7^ly$55<ՎSjyGthmyۍNH8:u{-C8R;AUF&/ee~ܨ{oO K@uz=ˌ91腁v/[/Jj7ijp3z0o(KK.ZEBuhMEw;c_3&G5sSϫ8T֟~R\x\aVǖo? Vʎ+Zb`_!`5"y0[3E-`ghKOMvqr[ؽ5C_,>]O5{[c,HH8"ܠĨ cmi5|JG\+I9=gլ<&uMdK^+nV/4hq?io7*)j3lH2B:M½i+X{k/]ՖȌ~t ķ2Q?"VIDqpu&&E슁WzE8ҹ8n8~X3vO?Ӂ8h0x~_Pd!zp~=BBӹqJ{lReKվy|cxWr%~7QX|ۘ{\d <ÒNt!S/V\KQxB3GAvNpd~fY N "W%(wNxwc֘GUWd5(}#B"!^kS!>U=͈!Xt p#sCYѬx gy栿Rb b!4dm.gTcj+VulFڽ#GRhfaKQhnEy] ^}t?(Mxx?_Lvn*&տVw6&Ey4~^i7Zv-w.%ƜPB }k F ҵȼ ju3ٮNend/TE?snf oQxg]䨺p ]f̂+fտAc zH+LM5D,=ze>6wFCBp,5W{5t(! R?'$Y%I$L05twoG)vb:$90i+ωJp Dm3x Ytrt/t\^RO=Aea@nUa@pE&F,/Slj$gOlJ7 Sϡ ^2D> DOnc 4Dr_d w+*%SKMv"lLqg|)WU+04"H7߷7h*{Bl_pqO^KgHClgV \ð֮SŏP[+"3A9<;!4/,d}xLXK6`@r)ܬ tعȴ;Jia:'tƦLzEo\'T7UvTG$"(*B DZ<5턡A˘['kJn@ӂte 6d9S5u65`ys@_feIMFւDaneqCoǼ8x `2яjk9b)w_WK+֙UWh حc<1 Hnv 7@:o7Uðby&'GPtAD/J}ݫ ܟe[/׆=nm\+M=|_٢s|/Wr!HoE*uY};ج`.4L4P?*Җ l v^.)&.E+nq/BhB.'5/Y)}O"\VnfE#Yc.0i7]礓Ϝp0eś Z'N+^s@fMNyHMmZ͝&qz)ne ̺,6aRs~I@XUu/J A&^oNJ M`gn>͵ԼkS}~O[=X]ɉk*IOseN}lW> =\bqYT:[IJvKk(Jykt.hsy_`Dp8ݕ$r  %;R04P!$7&]c3tW(tyO$OW4*tQcchdR_X>L6ߏ\~ yψ'bJ]$ԑL4DBA ~:qOfg\a`eA H!v( 5>ᲐFmI_{)iňr;l6zYd)Z^o<coOs?FR[86uYzIDSeEP<%#1K(hぽtyqj(ɫKx/rօ+rEl7#8 Y,t*@r%,_N` dZ2tcؕ4J5X?wn7{* #HC}^J-,d^ l,_KK/~n\>wwFynk[J"Q~s,w} d/_}lmVbiWDI|4#5A7pP$cd\gĂȗ{ [^KCmv>OՖ#㚲a5*\i =*^ ϚJq:)y]OX>wQq_.f<eɷp/Bz)g.2u#~l4oͻi2uv,.km9z^$(sN>Nv0X5 DR={nD1f`zZヰOpnGk*p4#}AdP~GB>iM?T1|H9d`vj2N -& 4kH !3N;xqiiSͯTccx wWyf.U{v 3٠:0gH<6sv |1Ɨъ#pkf$(*M"/u2J!j>-{]*ℚ<R~~SfUx![%5i{PC*LbtOqZEW`1;/W9?@t\+]DfaU]:ס&kZ+ 9VX__FUkd8{$:MR)ʃ:b,4R܁3KGM*ȹc,[0EtLi#q`#7-`v{0"-Kͷ g[|_#%U*2Dhp>ڧ#gMa^,eJK(dž( K*8pP)U3y40G4d["սC`c 3Q@=DzaNS6ɮD#SW#oͳC+sTl]^o}LF: ? {4ƐyH9bxn1B,yo 8jȻD1% ֌Ӈ30Un-x W8${VOࢀ!~ FH^ț,#Kmqsܿ#'7Q!/%UxGINUy0@.*; <] ֍ bF }~Ě2DiChOlS.}@15*f%n Ѣ/6ռEs)>oxއE%ONn8LQ9hg{~5w[s9ŶER1 vqՉ_ @^S',HAb*E&(ːXz&ϭCz?݂#YcFt*ʨ9xi=!P#|MufDb2BuS1ԝC:n\>Ttq3΅o0H  S$e|ߌ'aA/No ڭXOjUG*Hזw|W`B8CPQ{AtĊփ5kWbf!˴6c9bz1ۃ:c0N'.X3҅)ww$QS6hi"\Х- ldU'=weˇZϘ 3~Q؊S o L298t/Cy(buC-&Jc P"KnN/kюQ&\}&1c "V1miSaO!] g\3 {̴gf.??8K6紻5ATTT(6[ڇ2*.C%c(3TӁa Ql_I{yM@R(7;0s(k}4~Unɻ/3y5r|x#QM6W8A; e4w/,(^UzaifLx1+?c4J8"™HIcyW蓮m uMҐ7teɏMeuV;8<*,p6><q<ݖ8vC0Z= 7J ТʂsO 9Jl  O%ٻ:)S FYNRtoX^ m ˚͑+\ŏ7 菚SHv A=NDÀ唽n^Zx. "wFh]4o! =1d/{HoΛc)*WԊl-ϖ d 9O tWv>sl TpZ\($?Bs'w{N^IO2%A3'ܴѷ@ф}@GƵpelGnO^SNg "RtZlI^V%+z!ٔ4F3u%ƹ^FSMvy2w$8ÒJٵixJ5 r% %WF-ȣpan&a=.Jx`P?dy0c#tkdN|Hp++/QyY֬žSz^'Om#ٷ~RrR |Hs}=JׇSHZLX gӛhtL 쀡rQpXqK\/ ?Zj^5^Xt=6mOI2ϭk%Gs؏o) Yyςsj+¹ pZy`nEf } ;LGGofsjFV $1k'uz^#$o#+y^c7$ܕFχK`Y*aJ@ <8Ҭ@a/8P`@&*ÖӖ-u-6dʀbZcꡆtB̹6`C?t3dLN(3DX0gYfR[.Tۥ Y- 梭a|G+!RK䅫Zr_o > T?^!Od0r? pUF "y"zj>&N7ViY37{ɪ:}&y;J/gm[Gm;dO8Y]=QTzcnׇW]&pTm*Y' A,GM':6cxyHg;.,G)#a= ȁ`4}=nwIHjav:^C#}LƲE?4B"r- "/yvHep_ׅ.fAR?y4-Wn,v$O2~`Ƒ؍t-S"1YO"NgjH%e[}};ḽn sDCV,,?𐛠eEYmUcX 3@B+ f({c}Aig$<"7r̭o(ѻ(7Y %;]tX j[B7)`YU N8!2FgFy?$b>B;N Gjey҈Kbej~Î?Qw@Jk*c*$r.U-ىQy4K+az\Lħ840F_K_hcȘ K$6Re$J嘪} F&?c r4ԂS? B6E f fOq#_-Tw 0+/JqCjevcl:Bp~{hWk/ `JrŠ*-ҴZ=zJ}2kL˸g59U6fa79y-(5*|u25{hgl,5$TQ4d#6@tEP>鴊7 A19mU`rj!C"m+ ߍEe]bJ6yEcEF{'EȧE9!gd3V~,3&$5dnVOl|dE3a m-0kK;۳60hq]fCC^7MқS7 }QJ6"}K ;튟 (j4eYpA6>piSw&$v@OWZ`I'7+{Z2ĵ.<`q˟rqJeXƙt=gC{?g/8="_@-;;n~(=rde@BH͊ f6 ]OK-LVUJs2OBUAY+m2摧yF69e5&MS?H嬦q2<‚SߕqW%7T> ^dn C$}$J|޻vjwlj t3OY=Ev*.)?u7|prfu M`K=R[7CRFQ?EgS[9?]*,..€Lς}` @kR]295+h;`CP&>lCcP,<@)Qv:.5O1HedC)̔M7vA}JA܎w#<'B3ɬZX!wYV}G(Ic[GޫZ1&g({*ot~>.L~8ϭகI籩|0w7Q8GXO{e-A?cQ %!%{OY]agߢľP&/ ϑEmI$>v ոCLcUjfBkTf!S88 Br{{!V%ӕB.k';0ܷ:]Rn@ NC GX8w*9̿= iV Ñݽk ,2_DZ6ن?KI"X,~eE k_.vvr)b= o^irENS `H'zZ`?}Up( KPqO΃ zDeu`2 X(Ж#,VU< "szf{8E£`]w!&%K OT %V9dG7_ɋo͹a 6Ǣ 86ˈ1iEc@x`-wW6 ][)p]E (Rf ) pT}?#s,ٚ}zP1$ Em,h>g +Yኃ=j·qGOh9Ic_"l%\ Gg?M{ ?E``Kܿ+^+2fHeǜK#V4~}C=Va_  dbD}C##]~aH1ɞ{8aPX6) srY.?j{y)E{`Gb%RZHDo"Ġk}:3Y::`nEw`7#0Ryy }fzfaH$x,sH`Λ`ַԦ(v =rqOXpsczz^ !`2*I?o\5XlVDHxf\r#𸶕;"9 |u]s]Y(&p}cT6J+Zn QGG3|#jLhC~GK@}3=E=jc[n'PC2ٿgu\7f#b{<%VQ N>ruȚjQV7+j[T|j*hɳ }jq XZ[ R.ϢgI+0Ey]vJTfP+ ="[j5!y{eΣ&W4lB\,;x~+j%;pL`xWxWC`h1Z~,)3 $ա:%/wFb^&i,XoCk0IEvfvgj([ֺbQ=ebF-QDѢx L)KxY%;3#vGJEcɽl(xA92eMԞuZ_Î7V#[`48mҷgF]y|gt&TߎRfAEg,iL22}|*[%)ͦvgYhjKz9Da޺4 J+jy{b zw&^wa08|l@m.R?@%IшvX6LtјpXƵrͯ% `wI,oxj<?*ޅzL]t%EhH_Lb[d{6Rj;}+X\ >+ҥk `8”ڠ2ˍ_%d{%;PՄ Ռ2JO4%D^+9`彠fq_8? $pxP,n6$/S;xu._F5I1 r%BcR;YdYcYjOg\Kt O9.GlfŘ79c]qJbSj"6sޮ< h׉ olAr6ЭL:Q&ޛeR*aBN\H.>AnYɌ%uPe/ jMѓ ~ tƻ,@%`Pk*do͜&Uߞ=p~5 Ss!H5G#c{Cէʻ+ _3gu.EeǒtOf(孴wMi)zta|M~DPũ`($NbQI*b,/1qTHзb8Rǂf RK0Jx4 SazMv dFzw]|o~R~tZJ[UhH$Cկr&@1 g.RMuv`FBSm/w^d\} ٹЄĉ'N"P#T;_#a~7[6U9☩y#9d|%' "Vbz|eCʈ2@)2ª?ʼng |{;™BZ,}iVݑà#&_1PIH!5-.%DؾcQC)k,o| qNJAy=: r$|T^ŕN;!4@c}-xm@+Fܘ_`?+z 4[ AaYLS=֑W0zkPgUwg$L"?ᬷaheR rbO?M$R!t3:6 vjAM@DEػ>|\t0d[2nB3T^^;kԉCto9iJ2U`" K$mFxީUtOH^NK8 o5m(/N5;h%$sC',2e}foX4~AuD޽a{BcCI1A):^+`((jctLQðuCNh*t;rtד#}/BBw) RS=ivQ̞ͣ!_P Su@{d&Y&'/XD][:u;5AQ^rk]JOn kp%mR1Pxd/;c)rn4u vk-؃ɥcyQv6ϝ=8b=[PD$(Q E~w?*r&Q\Jy&'/~-*2woY#z3 Sb$ER\.,ӥ8-ϝF*kOIjxIy)PXsz:>}zj犜uSPl:n]AC|G dAkߗ/a fHo`@-N0[1ȣnT<%gO -ZYD1ܕ|LEP}x9}Y01ct5O@3Q#E%.i`۪7,cWlU\˸!O-CX V~?MeKk"Fz\[PoJKor܂I7|19o `PׇG# jǓ}x W9)@DxwQHD@]2P~a5W?{6x<-$}K$Ϟ Fsm=v07@4z4ԲFZM[S dM@C-}> X XIS ݢ^XL8rXKBcҗ!|C3pU!6z sm99DԎ#P 7 - nc^ļpW&/ELL9B\;P)10#~BRm"^ҹڂz">EtN9gGZ]oYe4RYԭz,b6>xM/iEU^x )0C\D%*yn))52 Y&11(s*eN+g~4,G Yܷ{WiJ(uB;_|g^; 8$.u7#/O g yi,3 ڝu w>_aeĔuduA(˯'@r M3MeUGOnqVνt^ - ";QQ[l]&326"^\{ -)_VSh(yMVSaɡ|2iRAfYNVTȸXBp[SŸ=c[yPݍſd=<@ЀsRr5tZAfTkm"FK薽&(q$,.J20iàk'nC}C_؈vON= F[<&xrxp{JKϸl|3d<󍤑-T"c*Hc;70ՈN1"C._vt}WbOUReXd#*(;:Y,ʊV^ *ԠpdRNoJp]T@4<* XZ]]s&ۦCi!ohap1yV::^yue},%J٢h)u,* MAb #z8qmS'Ŏ9Mf,LA/@vȒC:Y%+ %GB2X֋} \M*?&ؚPh@Z'"O6g{rR]{P|I`|D#FbK?9`P7D cL\1E4#=:7JOdtAD3SQnT9r`8 k$HdJ@Aqk:ߤ/7sd"(Uuù!f2l!GK~z $ma] ,|NG:Ȟx[N\1W.eFOx-Km5j( -Yxafw2y7w]O;>_ǎp Z碝"]2֭(ڇ\X6zZAi Y|TDey<8Ui;<=`'W^fC|Չ"'BZmےޮ8Q xbN {#Cw#Igv^|!"?;rL/po}^Y9u[7O;wwT )s p0D`Q:0 c}tz2Iƻ`VkQ G7ˆr\ |*f n2JH8_8HT;Xd2jz&,>LVvl [hAgMۯa&} #[V8 o*VAL|쵅}4*eGW|M)W_~GMb) 6EsiN.4+ lb;vpKbex/FH%_[F3rI.qB71 }n!3s?:|o#7X29 H@}^[܀96l-*`ɷQ+K|6Z>GM#~/a"ds\j?އlMBPs}O Ui\ ]PJ! I޻tPۗ.vp!Lv_ؽR7&('}d~Y>3[J^,8i܏Lءn !(7۲]2ԑ| 5ХA%@tWDNu {leX#{r 8ulU zxoeG#P%.i–m3 P^ &nHZGZ 5nB@-57O6%Б]+Іo]kJnEYǂJ(Del]rZkK<;z{tO>eWp)x`Z[F7q$Do *P(ZHl2iWYֹY,/ [6pJM}\z/G]·DR76[G+g h.ՑuHcIF(GZ;ҏH1M-d4Gk(*{.aduv6-ֿ|M)de;ϐ O/~?Xie/:k _EZ(NEG(( .WNeo$ygty32~xҜʌ|P}T O7r ssy9u 89AS7K X˒ %e>) $ |ì#uBo7+ G#"?vNMyhDkxj!Sy>W񔡀~:bP7gp݁VLԢ^ȏOUb)FGqڒ f,S&mzOL-[˜˜Tzk{P; t,k>)25bWI!00tʧ7 0M:݃_ V0mʝ'i(xIKO-oa^Sj45";ţd pAuqT^aG˯z6?QzՃ#ڑ 戈#~|5}E!r7b(Ix jaW^q,}T{̘Qob/q$i1:ۗ5;EL)~:D]&8qvS>l _ɣNmct>hIG VuT@fEW@7M~oOthdH9Mxm+bd0'o$|oYZٖea Ʊ^M!k ѣoΦ Q=i|լʞ xd2 KS, %#f;)MHbG [>R6Kh#)b$+fkA NsO 8r9MM9Z\R$v)隁aGސ6O8~nľYKiCXzWLl$Gk a֤*Be $1e^eoLdL4qT4=>mD\p"n0I700rQֶઽ?($Ss@̿=1)4' $rezhZb g56i!%=̦y|bW7C6 8%e卽02iTރy-AY >: cmm )roAATETJyݰ$VS" OjD(Ҫ[t+y!R+Ti76ZGΠ9xO=1"s(+8 ƅע5{+}5 $LOJS2V$XXj$%Guhȼ /Z#chD*[w $ "T6[ms@Nv|<2cT`xmn6jZ/WN(71u9fs)wCbZ,LC@o{.mFNl2,nbSR\Ü$8;A/CG~g44ľBkHnEiNx=H{D{~0UL :҄+)0W.L9A6̯qqhU)tfUv@;+(!iSEd USja{^* 6=H0IeOL Ae&\JSf@/湤d;!WqML r%}TTׄ3'ůl}~q7p&{_|PkO5=bOW^%A"PhZIt`CT=wwMQ | w&fF# w{^嬒̀Wϭ/&oMOWno׫~#+|_ zUUj*_!T@؏1v5 `:I—$*%7+2PmпވT϶h/`bN9uF/&JInQĈ1o<ͮtb"c'x9TI2'9[`4nf^v]6rfJW3o&;BkvU737 sTJa~&g`[2۶ PåQER!C?Τpg>(xI9nG) G#˛4Lf1W!Eq`tBY5ۆ%%s&ÔI$Y8ʤZo'\}8vioO-W9y3Nj&ޠDO t'G&-m#kU]7!YuPW;.Pr5uDDZ]&FՋ5aTK63 C/@#}LeɑXtY(09S;6AJE-nMYbYz,⢉odJrDPTC|ͪrk-)<)$ͩ~j&8h%.+\KoY?[cD2nǤO=[ɚFxIԌ(45L>R(,U4V 6c$@qpTcc|Z$l[ CEٶۯ b+#ک;(TpL,YFa寳]Ĥq%P*_׌ʛ+-15a7]Š}m?b(Т_\]nƋ|uo u6fgB;ylY Evŧ=^zq$lF\]g&ׇUM*_GAY?);%]c}l@|,A5_%c,> f(SrsLlN ?f?DQ(AD&Pz˺@&Z[v_q-7V[ XP_0zBON:}uJ ] Y+QmWM d q6 CK&;lvSR dwƼ2Zg!W9?,r]œvzͻx0n&y}ZS;Rwi~ԋVYs cRcR1FPXT0h,eUv~r/ Ȗ=n|5NhԁH# `?wXDlR5.5y]PH9%}ҼbE%:[ _dG+0"502-[B8 {<jM![Z[H-FH# !K&T T4#Wc BR1GMLi+1ZL61T(1+Տ*{Y|MI17 Oٕk$'c]k+>D>25m%=%m)R\S*swCZ~@/_o,WeXz⑴;+%m+CE3馛.Q0 )*wYYSy+F,[xw -(z&jI]MM{u*错|H 6XSl<Ȳ~VOƭa.frL#b=h~|O_+sy>l[\-%cy--JZU;僪Ü//CG 챔mree>A ɋˍϗe!'W1u9tG3Ljwlu:ٯQվKv.oJ(OI 9w=<c. ]6G,eH{/BpnX O aHneVhtTnT`}^7$lMWB@,iF?*hM'ߴhg8F `9O!@YDFL&Me]M4.x1bݷTP}`t"JևF5ܜ2h9/d.tWo4:`Ɵ~2i-8?.iRvnIav;2hl_"jU90Fr*oYC CwrсRWD&ʹBTCr74l͚C rͩ֘0h9'震QԿ6WX$c3H_EMm3, +Jti9ITTH?;tYbn@dX eB}6B0?,l8!A3kPG[}SCDyw?$ ]s-]nEw3y~Iv #70MO3]J<!H *>mq8(]ȏ܌`/0h`ic$K?u͹6jzzrBH<:-r~+7O&&sI4 !lE * *ƯKV"8Gz?8/gԖ\4ƒ1_;FF68<M`QvzHL>$o|w;DQ_}lɸ*aװ;.l-Rw"B wP{VU9No%#=Bf%(3!NGPI#*]6.XZD% %fst-ȄH+8QN\SsEzU ;uwY9T?3׳k?{lnS=7|4.;+bEe `FPkN]Ιƀp7ʭy5(]"R||Ttx݇xZQ0G$"}eSIL'zHMV*S\tǩOJ'.^%ĕy*\#E"X-˪}h6K3HĤy@ɣ篧}GBWYkOPZfj۩˸ʆ?iliuިkY?VЭ”I\H</^\s&_`{]CVFx.-@s/|_ȖF42+qh{X}XV6>l?ÕDp On,=n7! 9Ix>(:sϋ mH;|n7@Ɏ a *Wkڿ31=С P@Pf7hdZr$o!Qƒh,]j]hԨ%(z1l>q(SaēkGPI&EP [Q[ՍGolB\PE\7Ԗ*'dUMg&n˘pI$jql_37X2B3e&- Nsw70ɱe mW}[^ |Z \5C/X7Mƹ( q6e>4^N+#S[ Lp2FX\g1 m-t쥵eﬞU.Y"=Oʃ wiݶmnbmLkGu7#Vya~6Ec_?h ~GB|V}4M .7< ( ԗ;Y/vHzXmF=K<x vd}L%ᆪʪNGЋFEyZsDb %O`*tRڳRWrţMR7jtw{C-!YUڈ3rpau`&ǣV 8bs)f5D~%'poL0V^vI5bK"7_pܦzFvD[Q%i)hJ 9v/H8ãL|JC#|V;7CfѾZS}]ߪm:m/#bmÆF!U=pOꣾ01MGE7zGd,H&AlaI- :$ ;+u@ǣ㕵Rm1{>'O&vu]=3 )?(rɀ};3:+pi剛uu 9Ѡ~$Z.D,ͻENfKdMI?`w*׉?KF5]rSd]P[ f% 15l"$1bv=z&w̽^*3 3yւFoF$ꔆjDHjƴN Ђ[)m1LrmDBCL/M)/cFILr3 P \B:kcPl$J]~}'`]|Ҟ^ν'kL|D63Ev,OP"nJ\6f1_QS&:Bᗛ'PՓ'{3%vCQ ӵg*ʣΣE5N`N| _j=rBqMLQvuLP:BL-kw~ H %Ä#3g%^ K-w-/mpVzpT{4RDy`C 1ivco&jC'MI9@ŵ;{=q2 ׾`Y+r[LH GqH52PgF\ '%2/m&OA'4$~ };Ug֢w27  ÎվQFQpiVK1e,)`J`uV*#I{yM)FT'vԭ%ДrcOz3x~XT {-oy x5^JG9$Tj3T)^ri W{O͋87M=b^yq̟.}%MO3CjH3?3>DH~զʴ@zȖAڵRkdU+غDvJ󑑨:,c&mBZ 6)z%>!"vnWd HgFl+q:цX}m^nܝ OȰs&x[b_yG8MjC\D=OJX&dr=U.smƽ& }`HoHQC 0TxҜhFͼ &Xo5Dqkh1ף]xmչ-^_T)P|l`߳ӽK(ǩzKO:#z..%)9Bq33 hG9櫊>I D:L2 k20"tPu-i#5e yde=q% W߼D_Hƿ~8"lJz6d-4dj2uu;4pQ:x 6~ }dj؀~II0^/q#{4rT$RCa"DOOGP;";A+l$`l*K# `~K}aCwrgjRPn18Ï|b'AAs薆1 yX5V/*)"Qi+W1C<a9f| '>7%-*G>t Rz}4jS?;VqXg/`5O` HÞVs_9D"@I<'`j2~!68N+AY,* yD`j_q7^X"1o֚#1QuPQO_}5;C5 hbyd{ZlBU5~jſ80_RDMY]-?J؊=rR=S #.?'R`QA2A%K+&#.RR4'@-g>mBXgˈCH0zru$UWnrNw' w) (mH 3]ZP(p7"I(O)]9ơ5'xb[89xHz B "?M/.8ҵKNd) ff _ӾlYeF´˼-:_0缮:B~ ;([v#[֓ͻDgMVjnX Q{$А,%L3\wR*j#/خvN,QZ'`Vgg?Pl#u!XYzAAwfnvdI&y$pW!:[`-Dǹ\Lu*‡Ր֘6B:iP9O)T !Z$'T9`&PVv]'M(lGPLKm@`=Mt VQMvKq" ơAeHeуN"7 ! Gn^,f}T4]9?(9@f~w͊v]5!ŚNŤ2L_na]+jٷ]^9/ y ._2`Mܡ:L&X7 $xq\r9=b2|=$U<8"NiỴR;m*~s%W%C}yDeG( k*ٓm 0 J |c{ˌ[*b8T}tҠith3m渣weuEim1ۙS+n>DKeF1Mhs"_LD.[y8t>x?ՈrT9p{KS >eRhR\7nQ!Kz@TR[^B P<1$TyJBظ\?0HʞzVP+=yy2l))K06R)-<'ϸN{* MlxWi(nb;tVk é,Ӂ3q-$&ôW+$xN<鸴 _K)c̨UrS/`Qwq$15i:PR;v\ӯy63A AdM'ɸ@`OGgv¶WR+>ވkRyٳEXaU7y {i*n}#۪mQl*'KJ3F pFXcŸEs0 {g2Ke\%\wga2~ԡ+۲ѓ 1jL!wu9@]\*vl]qC@/NE AT*-=܅:u.PF\mՑ ů]&R9Q,x+Zke`vf&Q@)#A-k^-Q2xoHP/\V M^c; c UƤBnDW4]Si#GbVLzb~q(*GsR*JGebʬ|*7CUDžkD,r}BҘde#MBfD@*X8yl90C-jdK|S-Cq$*7񢽞%8B_jX.| eK^76#2ѝơ5U͉h6HC ii Vz^,s]ix=7" 9*4+_ހvWU|MtD_cы&"`l$z. 襮/fk>lsX~_`A: ]c)OۅVH'3_Bvn~=k4ถJ+yA pfc@c>IZŝ Sţ:F͟>lkKaĕ$SUC"f2(M418SeA&Zh0qǨ}SҒDYmGh薮AԾ׳?OaQc}L,'m>ԥWvП-y _^8xg䂿]{M;.^Nn9}+fPY"d u)N]'JS1}@ Ty 6i n5vdR:ci@!`Q5+_=FD"q;*iC.BJګb@QِZن Bspke8{8#haZR٨P$Mmt| ncϛ%dXE:7ʑ JZs,#v_}Avbf[oMl\j=ՇT5r?{&͇T miZs)Wd[ »~ 3;uǎ?OdQőxR~6e])r2 HZy ig^!Iw̒6s=+\Id T Q}s3 7sR5N6-|y֓ڥ(̥17͸ZB:iWTrjxCmf20a?N47po\=Wzڥk}0%&qL!~ɕ&Q6xsON42}r1[{^'Tj~| o/7]X°zϖrc/nhc'I?@ک2A84Mȏ/nرHݯFۃ&]bY6su J $HS#ˮYFT/|%ީ-BX(?bGa[k#B~"9B{e)|#yF 9Sqdx _ARhWZni(ۃcJ@`RaQ{Ŷ1 !?W:ILsxͪwT`MZ)@Bӟwx*߹YVw%Do1fK䊇tHF+9AGSHrG+"#<`'ewqN"c[ BZ2vy&,7Ԍ$ vB2W!! GLpVrA4lSUl #>.|2wm6/ƴYVhlgy\ *UCMDWz@9>V: . (A\~Wppx RܲfMdym,<NspZ7qҕ*Ծ؇p@ CW9{W.%_WAP,旕b-TK*BCuT7%aGZxQm<S`Z؈-*GUģ\ R gӿdv*bΐ4MAD1@!'q!*vm օ Dוu1U w*{\;vmke, d> ZZU'lW) Di![V,5m{hFc}Nb`qk 8D (^{eξ%.c Gaۋ]H:faJʣR/(*(4!E &>SDh45+e;E;g/\xnMŋxZ[]FD_r[Tr5v95b9Xy+6[Y/T!dd&J: fTH^Eucw._4Q <~Op.\HТOI#8to"ZS$\WI6,`S"&IY+BYf"*uc.IxE-?߮ zc&I6Y֎*̞gkb޳@CDlO H(k&2Ly5hBES~b q6{qMvmcbŵ!Y>eQTl s%l<1&&CtSMNqrm`N ?߿VӈKϝEqk¾{ܠ \΁,2UR%YgLkƮseqϼxM߷?Ps~ғoq"C/* S a|Im/XF.39gRC)g /^D;`ZΗReOX* :J-Ntg'$g<`dLY5ȎFOAeoGqBۊb1އ;z{z(/nO>'½(ӷWzIo1 YJZV<.0dhfpϏQKT>8kmv&o} \HcUm=ĠaA(VE ysK4 en:N wVZ.8fqa[0pj֪>a1}jiHFϲW?扏OD^VX3z]fm.(RM@ouF J:~%\4ZЄ:_ko ݵvyD.^!9?NAM&_/Vo⁃˷aXuoM\gFC$۲Ek-X&U7'VoANy@7yR,?oY^Hͫ@HoOc?B&w+"1H/uXM'b#7D)|ly C\l9 pa=~V蜋/|VC~EwyAɽ{ Wd,?YPu@efݥcxc1Fm~Akds ́f=f$Aٺo\2R+{͎d̺#H1@ ϧцRmE aT1T X>j%ܥ\rBun3 %)Z@,#IdÜ.Ve&}F5{3Cfԑq-- ?OoH *~Ө#Y bs۸ NU_"sKN'oV`;FcvY!5?7 -STN6`yo6Z;znP*"  mA-Gя&{w1@mtlp`oʻغ̗Ǣ2EGtSdvLeT?. 4fAMBpݼsAQ_?rM|!tmjҰoCE@OnJEV;Dum3ф9lو"KR_e=ݧk(7Tkݦ}߱o^_yB('q9|t]k9wVI? YؔB)`) T#pqBwf~7ۓ8WĹNd B dgji{p,Bg9r Rba "2D:,©m臥Ԉqg;m93s8cB$],Ojh=?tN֛)ϫ]W 9w-Zpn_~U؀_7T;xrivt5W=ȷ~KSEX pUo~}jV]?3tX&hwlwp*Yz ZIQB,HE"?-3 &R+̽>@ ړK@r~k?)4%DAsgDyU=ɑsWiixm ͘Ϋɢ[n zF AAOSO6QBzfa_bQ?GM<49[6ƻ*h;sA}KSVHЅ2Eux3:7e AG$8$hBB`L]wnE/!ۮ?`:eW> vQy\!S8( 8"c^0OI[ 2j]lWҷyq)O¥|TJ k$; ww HO: ͚هLVgO*E%&TBMFb!ּ J=w3$0ZC#R|?E:I)wbND/ Y0QڛP4L)+mp TCDFc sp^i6ԷNO)}UU5@5Sx1D%O U4ͧwե-:Ӆ,+gCZ'R0zq])v_" gxf.[=*K&|3l&a7@i64Y.)rTGeT&@'YcTQ:6/N|)}@`M@8T%]`m[0 "R$34AVR E Q;Lq=sx0w}ˠIM16dcK0| TI-X?1/[YBtZ]X*舦`` CzM*6LB*,sir?xkmי?Em*Ţ^nFa-%Yns/ȟ }Ĵaro"p^Y=)e43&Q畫%xbLKu6 S=@FGR BfmE>OyX$9ޡѶh貽ђGA&GA0 >Вr{݉mO\%'~uhWPd*Av"YFBLJֈ~3 "WT7? |b!Th / t]VC*і u[OS%^祘Ϻd^eb|=r x3‹GpUBVAzOLW u]_>UǕ}[ZbG?@A0'&/q9paKݓ-Zt$1x÷NYoC1W<4  lX|Agzf!$}+ƺp7 DP!X#a3(ֱG3unĹ*Hw౞L"t(wrljI(n~}o!=:keE J$3e3! Q&A$ƌEn sPi=bK<_gM?^7If-H̺Jq{EA .PJ6݁q6I%13/)-ӵ>.ew+AN1&_tŹ{ԁ%50/B`^u}]K"ӟ-ug_E|Fb+'u.;vZbs:s;zv@ }z` \i^/{p.Pm~@o@A'n%s k81:ml8HשE~(?6"(팀Zib0[b8r/ouWF(}nׄ!U"6l`ssˏ D~OtD]Y$֔ONDJ -7$kޙL1LAb5 Υ\sl]Yx$V] i0 ed~CWKcH+DE:ۅfZC7)_]]2#}8aosO볧 vA#‚CFND59qdyr*X' L\,ayhR L5wglI{pdPX':!d|LW~B,&G3;%oG㴏a73{d@ * c(]tU Lf3ˮ31ЬjI7ki=yz a~,p/̲%iyzpzC I3!_D-'СٴPS%qIS}nʒdS^#ĭQD/CwGrl!WOwo #B}27i"qoТ_"+j r@ =Hf(%Is,3< .ڥAEʑi~MaɃg\yv [ގM0VBϫ"XD˓sAϏ;TÏ~f֋sBCԭ5ls¦/Ȧ8?$?c#bd5.Ф9鱚ɢ'}gc},`1ctfC +D3.ߟ sp_= *h7b_ugk/#Gw2͸³[uWkh% *T:I7,ǘEB%d;u#و'./V/ʈVjLLByX[X4Iq.͙ ke+a]VdձĉDo|3X5^i9fJ6f=l=n˜ZQG\w;-#M5؈yi|- 8Yݑ&f+ڄwaJ%?*SG}=a`o!-b+vN*VZfr_D+D|Sɻ: )ͬdc.$pD,E Wf|-~U𥂰K˯3u* l*-bacغ/Qof)󱜌,`waPFr(";*&8^cnQm̺v5o.w8]k ӊ?)nV8h8LUGX@+`IobBnLti0 aJ4?Q*|~@9y>)|Cz45cNbqM 񋷹EfԶ]wd"i_$^O>.F} X1Q"9W6߀uL >ckX Sy(F0[)^QHk۫81vcY"o|p)SRD\ [J39ʢ%'4)[͈-{e=`1$a홚'Ϋv䕡e@=sh Rh bn,hxJ"΅]WG_%$D!pc1ڟ _~.?{^$Ajs]?ՙEZ@y6QBčpj[⟤Kwb5]E{z!)DI13ľE S:1it[qP?{=\,8xKuR[F̈́cFQ1fc+臃~]#t6ދ(D?7On(LNQ/#*S:z?peLT6bu7.ѣ A3d*~dGˮL]H\JݏS w:%FK*`mGDօv.`T"c<'No:ǸX%W M2MN{}_:V:~gZu% =QB@CŹ-`3.UT!ɃӎVP0V@XT![ _4RNjBRp3! d즘%ı }ytLh=/׺3;,MXؓ[#¶4 F{RNFVlr~VdBr#3-oh7L[GOg2|fvݜ9-+YjG󫶛:2hC9lWIenARM#$s!3qT!SS[:Kiq|!L18`{_#3ߓÊ6ʺHf)PA<,1xQ\PAomɐ݆T$fuB@5^K M"2?a CyL0Ա6f yK|J^㕍2]uNY;˵,[c(ga "Yϥ6'EA#Yޤ{dg{W;8MY.{xO2N O"hEGf=}0zk1Sq $ܝɲ26!"6s~gݷuVQݟ3wqKu^B=FBkIz&DHcb;}07reM>^t]s=l,_#a1%J`N Ӻ8 aW*{["#,8/!_{R1VtgZ>#Yl4NTɀ+d- Jl)|u;oso6/_ph1KP.)pXД[O$RiUc)i$g1!Bik|.s#Ѫ-ITsfSmݲk54^5jgxGLE'd=*svdwddO29) ZK;P/%ۭCp+HbSvKpqF,R:<#DIBS\|#9-'bP.u$\ :ZI}yb22xdp@9q4Gwpd]3мNIv:+ l$:ϼWp58xLTO'1])ĩ"QI$`G+VyU1l4i¦aAOVV9m# EԢǝBS BwաC7țIW1HFS6'aQ{|\`y-\!7?؎Ǧ:^M=6X]q(z m%2fg`: W_,Ϯ UY/5~t> ᝰ7 %|έSU=K8Lͼ'D:K>p{q5=|nnfԓŨ/Ky^@YSbNۃ&.({bDBI>n CǗɍWe_SkHH3T&! mpʇx/l_3> $կ$I,$#;kV~X q{|v]}s2"Ԧ]$L iYZ1(@󡾗4sV˖m `sUY>A9J%Zmn2)Gi=]ĺ?.eʂ0b4a>K`|6w4Ird-,"oGe7iUó鲫;/iҍ:'k8kVYָ іXRH%vjEar(965YPE"d_?+v:/Y/f.W؀ <#Ey^Rhha1@pJ:q[phoE%+H.k6#㐛D_O; ~vj7BZ* :N tJhDWɜKH-!-@dWdV$:T)#8<+T ‹!KId=" #z*H~0 1X>5;z]c!IU3#nm>5Kܚ{?TjT }032 ^2yn=RT4>Ϯ\&EG]/Eb!d5ǵ0{9@0z/ѝKV !,w(,[Yb&W!9%Ye15ޞ(``ᖱP!DNhZNHK=rtQ=|v7v ]ru; =[Łd D]qs>JWЕeu!K|Ȋ{ZhL_GFB(\nj[QϾOA(y9ߤAT01Lʠg])Sq0E0*isxϲAbx2 :ٟ+NY7rxo5j])e+c9%FtA6 :F*' MfcG2M E) ^Ǩᒒ4O/KZ'!ly )o?(xZcLULCM% 巴iHN.FDLb5=JON*㭜D[Tz&򐔎餙ˈ6}o +Ů'#v@Wt:aVq8R, n@Fn_A0R c7G6h4w9E!(%Z'S.ػ2ڮ2sGlٓmۣC=H@qdc1?TZʀ{/)_!~Ӝ|WAөye?uĦỰHeEiI]tlY hE7YT;<~Bd̡piw CkѫrUdzT/n֍TE:~xhBQ}H4y~W[cӒr8K.Ϳ"z`'z?oMBmˍ ?}$ giޞ]ТlZ53"T9R.AR8ЦW 'i+׃KF+ZÉڜn'Cf^nX[} Tdm+Np!.vݟv;"z'a,\=ѓZљ= 9ᇲ ~]zn5ĜĚ+eELuNK5E`[{2u^sv x򺎕Ⱦ,@H޺L)è;VlA\HDF2{/9  IDǔH̃$X nkfC۲dhW+ =4Ɛ{Uf *g`Gu@@BNo.!+}(߭ϟE!2*.|Z?,jA !)'($O͟2Z0$3몘}=fO1@wpW>pVzsU )#ѬWk"" Yau8˛4]o=Z#E藞Gߒ5 d2٥iDzˑ|i}}{}fP786REDJO*#IT𻥥!u07aKlٗ)Zvݠp`oس*iZLR琉 ^+0ӝw&«HN^u2fF 0Cbjzd^{!835Uy,]?tAl38ͦM͑Z:*/o}c!FdY}JBrdj<J}s3' J9Ԥ/w{z͵]hwa*(&W@+1e<S}-[8hPXV51zr+F fad34 JU=dJҲƎܷ#kM!+ͣ!,vw~{ڜ11r6Z Edf1RC4)}#ە,xU-0$v@!|,kӔ!E.NS&lo^YVz$r@'<0p/nUUЌ!<%Xx1s+0Ǝ$hNN "lw'A|<-]Fwkz9Asnh NڣXB|ؗɮxlyN#ޤx82B-Qa٘AxD`!׿F&Oe1=l?X"{]>gto[ќ!!6G?}s>! ׁʕI_5<*M}oGGw@?kzd[* M@u2)-FT5ɉ`رX,_p7g#WŎÈ>>r(,I8 mFi\;]tD2CfW w >2s+@wi5p'kQm dw<#F9;\[ ͝&::k}`x~5͇ӧg, 'NgY*B4M4iGZy_{'梕CYjSR Ӕ=}e/H 2}${Z l+0#2Kf04[/T3H,³uiEyBH0TQ+5qd4UYvcerHd@p9f­apD9z S.N#h-)" Y}jݩ ]c\:o$0 Vd/@B,m2-2 XtްJ`jOZԽ+{8D֩Uϓ({m|m7(;A&А$NPNɮ 7SW}.:6p{%nߞE~ZhBa:K9ˈcHrB"7N=j16/2E8djeq7Tdu!Zir&9+@i/ITU0v 6 ػp6ʭ4Q⳸f8b k;0SO}w뷓|WXy/Uڰ Xb #9_0fG]^tU ׋T 8}OW(=Oޣ!25`n B<62mGq0On;1t2Yb#Ow\rIBj2MNmTEdJPk.}4Ed#oOu%uշNN$!=m׍'*cȽ5@lq"dvPV&. ͕Nש(lɕHe"ӴD}Ly/騴&LqJԕJZNHzlLJAqS/*aƀe#kӐ*ߧFK.["ۨƕC+ ؄5 fkUte7ZJM :6wS2cYʳR''jb`bҼn+Zbq] o]`vAydPiiedz윲="a=:b! a}-IS1XwiBwx9Sh~߁ͳ=)iD |3B<@|/T _(#w x<ݮ4Mz$oqpPT 1Ђ|sw8rIxoamR476mq]>ؑ@ѱ <Uq̵z)ws=$K8+(,٢eYjTrp^Զ27 id'3E.2A瓁,{}$pdFébOo{3I^uH?oiZ|d[a]0wf*R3\ΜB NLNq:d2 pjŃ?!)7p2Kg*gIpRKPbk84J).$d+7 քU0,}Cnnr #-z,%ƸM8gRwޡ6Ϊ&J*)E\[LZ'$n1˘iwRev7H7լ!8rLsDǯ³DiOI)-t5Py56sE{NEAq ;r/Ps{MV^&8lܸfǝ]~': `d֯}i9e<{ {"]QxP'|']!|d?ߍNo>8vHt8 &Uj"-?2X2wdJ11T۫hS!vx͵xAj7?wd H2%`h7@V 88> ,YX I2"p 9> }jǗ-9(MW.>,pSQV1 ˮm)9qhVÆ ۃeMTwyy;M{irU{uWlQ]8MWDF ˤ07)5tz062jҖߎjw^}zrEF^r\Iq6IXTY@*R>b?/H>WU$:q4;(pHZKKkb<Ȅaj鉳2>#$\huyC8 EԞQJ$u@j8_Ƌi#g T8 e+;ݪpL4?<QO*^3UbݍK}%oI./xuC>rÉ/Ua Kݨ֐/$@:U۾ ϖzk>͊[hDO0/_!MCzO[AASXW6F]ԟns,p< 4 ܸ[蛦E9cup'g=yFw#I°:+b>%4ڡ S|Fm/)WN#Z̬8pJGgh' &w5niY ^9e%J].?|U@c#~qn%<]7ۿY H&lȑ]ƻa+uWW}<2&2Yvt ua'lyk$Z͌}UŚn5#(2Rp-"䏍_x_Ϛ%5\ |PZOY4ObNqhld;|L$sRB quVp<щ| n8H&=i_Pz*=H$oΘ&3OJ|K6 0I*M,J&09 },#m+>t*p^4(yt!H~pv#@06k1z t&|sܨiwrDXѬ#tI^xx5N e]e(b0kR;t( @''S}GyLD_g֌D+R={Q~NmӚT ? p=t0Im![8goV@NV~?C}Q[J֏ %`F)^h7=>Hjb[(Q-ヒ9v[-J$y+xz?,\cP j ]4,?ς``!!/Ƿcn`Ჴ#ZܻBb$Y(+~ݥ0 "FYx̮~c@u,LVL {uZіo׬6t?4 g6nڼ$O=|C/0 B72?i_~\9gO\fCX\ؒ/6A4_b<)6iG\P/$0~gY44]Igu|Oc |$l1\eY7_M*FEŻVY՜٪`8uδD"91Qn/˿\Gg? ͅr:zXq|q-Ǵ=4-cL|'NeRt3Ӯ&pvQ+XCNr&'n y?~m\9Bf**b Az^#$i Mt)ː8!ahypj% T%S|{5v]nvF@mU~KT OrN*1IEyބx'>L>$n<N)`VwC($qkRAی!,gz xCޖ b%)eoBl=B"XY e Sx[56Q!}@$b[(VͳHz-iSV%׸~1gYnI̙!vZPƮ=m >2L v0HA6#͂sn4lr 8Q>yDqIy U@HýՀ*X uxz)lرS:pO3G:]JSd!s$ 59h^ {$!c U0YL0jП@jx?tiGidj"~'>2qd;Tb azC +lLIV"UK4_;>˔ qy/tYlKRLF؊RԜ EdM+uQX#\LvkcDmTzS'kL$97V(s>\SSۻK=:f:v>CaJ CGύ*΃wOrB8Yd *|%1 lU-/d+ePS%r`u| %nxxH M.>MFME3ZDn=E FZ3 _AfU ˶7F׉4=Y[CN_x] 6E?HW@x'TY#5Ĵ4JAM8A %م{C(2|u70lGǫ.VI2 eU`}G3x>4^?z=!>!nF o$=r3@4? l,Cۊ)i S{6%P_d.p.8wnJȾ`oΧ}__~5~.bv W@ NI İi5tk]D4~Nt,lx&^rv?C;Spq`2X~>^6G9jwp t\hğ?~IW Cy9G2[>y\1):hlЅqG3\N3W('f; aPMi! +Ǝ{*r>qIP1HDc}˞Y7Dzx $>]nhN1Z>Q-˧14J/NE+x]9T2Wef>"ޟH D5zfHs3p~cy$?owy6tSP@<әQHˠӖd̍_V[mj_WLJ5qy'0'ED [cg}ĝ`J[l9*$\#8ŌTwݕ q<K\L4 %!#km%(I{N3l`b7pO|BkΪ"'<'.Yzw 7eu/!POx=[K=bWwځKär|XߞlDl?k 1*JݒGn'>| f!+}u<^aG`EcnjSjNr?XNQ9)YokВ\@N:PW!euZosа׉)/hоS/dwC$-2|/c 1OHeųrt ׮F=U(s|)1Alx6%=I'sv5^|nA #: {bO FSw !ծ@Uvw^:b|*Mrblow UEsE. oag}Vػ/HXp. #\.*=%ދSs1fwEczǚ|.gkHB;nmI)%U 0emnf?y\SZP V5uUxFBZvY~.lGQsiFXWdd9kqjqۅ 9Q"_xBYRcn(N&hU5gȣ[B,XבZ0W盷ݽtYZ$n^j_HfY6Uc+U9OU/ZXkU $.+EJY:B$3{괕&Ћ"xY(LG$Cݦ0]t=H, VPV!͡x0o_fYZOZ`Y w*ṯ쫑?ش"4Yo.=vQcK%8W/8=Sfr IXt?`ؙU'cZIxtdmypc$pd6ԫ4O %} qjߧa"uYS2FM*  TropsӦzXYJC0 ]b8$ESi3?>IP K@ͫeXc̴ӎqXn,nvp]F@nJsa^zs:FhaD=z< tt`P05&cمx~FڀnSc} `\+QZ~TJ|6jgT;hɝ@z(t('$ᛱQ~l;`VL3ꁧv+W_ֈ+Ǚ#ND=_ϣm獮25K Ux~ܪΦȮen0*vٍY}FG(DַD=<[X)/,/o xiGΠwf᱾׿(]M^JPn<ƕOݍO4,'ѡ{'6S4rO'[7hzkO!L&@(n[Kԝ)*KE£xX{1Ւ^O IK+*GE߶NO`͠/$$:!D\] |n>_ntgSPQJSֶޠJgqŜik6]KPe)TdvDP*`*;)}]rzg9Lm^Sn .Uw6RI)1py+r1>j9{:%84cri7P!m2 [AhuO΂[ _s5^] dC}͖o8YwNY 6fb5(Ϻb8F> S`Oj#&'U]EwD>Qa8y%!``Z+e?gZ;N7|XDoF<KGI^D(& X4-3/eHE9W]גVQUz6}cr] 1gpJ4*#>nZɐd|cs*t}\B/}? "Yz\6#8E_7$ԤYUXV ؋5D"ť󜲧Y _3Io?aջgFAN: n+ $\'|*7 p)2~OpRlR,f=B8kc eLw/=-S/"6X"/aWT۪TTv[ ō Ӏ#R`&? kTzk [[ ^\ܔbȂQp;0o%WnТ@q4H"9bΫ{ 4/zU;RDt2*4򍥡jXE0R#2o v* ơmMŚHoS}]=C*xjg'4sJ @3T9cm㰖,e?Y0FWUx%[q:/,_z$ +Fa3ؠ2Sw-Y򋮬nJJIgR~}Gn/5#w:/آ2O" hl)ې>k[M-K}tH4\kv+~l]py5.hЁB Tڱt|;|l0}g#ވo* ؕI Yi5bLev!,y"o3Nl+SQ*]Cmd4UwPxM |tAL$ ol2翜:HD6B [{~%OH(oG< zh. 9EjSJlowMmäUc}\^jv=R"Nd/Syu\SO͛me[1+y02+(^gzPINEi?Y_ ,OB͓"VKOi9+D S'fQɲZ9eye?Mdq.6Ǣtس/戉I~T7Yޤ}v{#D=`Ƙi`׽4ke srɰ#~  B+̷W3e 6*`٭*x^.3j՚ق)spЬv9r%_^_`cRUjK h3?g)PE!]a[/d^rh Uħ~Ce 8#gbEIpW;cmr^fޡƻ8;#/6CgMzSmAo*r )zDFJ2ahvDxD% ZbXqbv!iToG^ܵ|?z`by7/˿7st/rOL T(j#_Z}͑M.1* 2(bTw!|=(2M}4?8oФe5}Sa%э3٧N(VLu u[׽ԎgyD w3ɪ^W ~dHmuJк튽HK|%< Z֛T`g7jtVa nڣtm=&1%&\;aS`4 Lwna5:{D` us ԗX,\_[l/:rk!?%ZÕBR8P[Ls|E̍~WMJ> OGi>SQyw ~L Y2ƕZ*D`qvDVx@n Ȅ@3~4C7ܺÊ+ȓ6__g7lY} -Py5;P q*t0BO-]2꼼 icHG83,-?)1R,5NZ~$pDԼ} O'bQMxhUj:E1% cFju&qa猧jH1??埭9^.EHLlkVFwDc^ϛCIg;\n\4)\k1(Mq e25T&cO[k!j+O01.% u >: uR` O~3WFh]hXfU`Hx|^M˶NIn]SSM Pij}4HEiW= "Ր-5yN\1QV ]U+?T8z倞S}~_kM\-f鍫g7Erdw7b8uk6"?l'$ѣ8ߓ &C'TuKjؾ7ۦb,{B`]@8C- \*`A[,qD\g ֖O59{+sv@MJMHqtxu /s#Oʒ 96.-$\j[N&=(3g@%^T'$Kխ]n}\k  R5ܨ}O'K۹5+LԞ*EჅϞ;<@ jx#ؐo0\._RR.=b0)Xtfrzx7`bјq˔$%A3-m@r/7Blݧ$ W(F6]F|}3b v>o*C&iuC&WnST hmO h˰컗PX 5o üy@Z;1$D2@J/O3ˬg$kk{0$2]6Ldt)ti#7>嚸&Y5Zz xܹ]:R әp+2SO䯖\"Hҕ_ =\ՑIQ?Q0ZLt!5Wcxv;^3/E_sdI(T2h`ZsdTUMLx[%To3_ʩ"+I,8?{5ir>ڱn7fi̝޾<]6u9Wk.Rʝʈ-:O*D @ z*%.Jbl;ѯ̅, wj@UefIJO"&Bm7K<d´Klۃ=t;^sW27 X d~0Np<aO Ii.~@b߮\ra 4z㲧ǽ b".H,?A[H:=E(_6VкZ.>'gΔ|\ U; #Rla?Opx% .Kaݙg muZXéeikm? NuwZNr4$^RsْښV1i}tlamfSS9N 'WP!,Fi }qNCk 8K7ò*YBɂ `l=B#lJR?m/bQhR:@r٘ko%hMGQ?J@P!WCnmuZ7Z-HHT5qE9OM;XߺOƄ+ÈP= Kڸq}w'U"tW݌C+ ҦT֨"'@x$ dˆRӓʖ1)0Vӈ bDw3<ֱ*-5rܟ5jnEDL4 J:Sev O+OyqΎpn *IAL`Ì!l^l"U hPO^ߺk z$ѻ["ו$wMvK& &\\q!D&xꇢVES3VۼKW;1wةl|yRQlXm4a @lt6/wPEi = KJ1+UTҩC=-d<r Qh`r|9dL~`"u6zY4>Vz vaoYΓMZ4;$I`;B8KL^.An-'i1NǏ ҏV}Mtwvek1ABθ{>^)-nvf_Y1][<8O*+t_(&P'Z{4F\.t5+,^?Feq* AݡՋZ\ #\?\̮ft>">+UDz(кK} LjvvSC }OS8vtY.Ofubct`SZ J#@#mPӎ%6ѱ?Gx"TKgJW@:&=L$b,RFne)]a'N:mZ-qj 5lsV~~bf yXS;x L=zl .lw{ˊj/y2cTNMj;"nW< 2i*(IἛ'쾡x |ZeX7G:`%]Z '5[ާ9i  e֊#3mj2KlHauz~+,wPtr4Ebp"V(9t* vLDW9yހ̕_QG̭%m|N| 0#4)b@}Ѭc4HjV?p㙫i݁W\0\5: FCa&NlInǫחZUR7~8ϼ6=.Q~잣H|wƳk7c"@?mgk+> ypD̆5(v ~@D.yh U .[Bh|6]}'7J fGհdM-wh/6R{VDOg%* 2j_&BUOm >g\ߏ25[Dr7/|T%ePr\Ĝv v%iɳ5E7o|5ʬ>1~Ws= <+;j? hU oª:07wJۃlDaaaD97/g|y>EQ_yJ=쇘i%|سr {33[>x2OlOj6B,I|2i);xBK*-2a]\/rIpĜXn\ Eh>-r V-gT"smBHVxL192#otʨ (۠2ݗ| (GcQ}ռJmAlP \X;qwS R\25^wD׏:LawQ$-Jd /q_DžɋHc!zn~hֵ_t9SJ{RA9' 1ò qqAeJX:Nv~&bE,g% ʟ7pcV_q2_\Gsf3jOZֱR=tp}{0ě@̗YTi]8A;p( 休;} f!Oӏ#ʦΎSWnBJ+O-AqhɨN*T`>5Y;3)xrضd_$"9W9v)Dġ[tMek"ιr\IBUZW;V@ -ʩ(c6( /&0* &r4z Pdξ:zر\G{nwgx ,ZyvK7p4N iE u92mC*+X (Eď`א[0fgoYʦ}k0$0wix㍉rI).F"Lkr]_chej$-:IT-KLT!l6}nN/Kϭ ^L~xl׶SAQZCF1ApFT\q͝~SrE=^:K 5ƨۮ\ ]fcX "xe(zR mS͎K /R>o*um/L2h2UNR_fցJ[i]IM)*X XA)fyVAPaIO2$^ ?7d^a]JQLP*UmK뇛]Q I\Qſl 2@g'HAT64~2Rwr~~.XJ0=۠c:w"oJYd<2-6Dܫm:Y9-(x>@ylN,XРB bm͢Q~ (T[& 1(-qU+\ľbc<šw"9;y<#o1hug3`X(m iU~P3❳93KȎ< V5Wݒ,xOD ДA>qrs 7än"J'wHM3#<,E5mBѕ|7mFbq( sgtѷVu;`X<ݧ.JmEhD5wp޷J1p070\XU_QX5b0$XXDMSfhpO]#EBRBDK_},fikXh;rg ]h4]7%*_=H/g0Z7I!M!&@`9|r@)y2ztpX7ʢh :lͺrf v 25\)wUz6گe ;M001G}r>h*B>|\]^.ZG/ ( y@V0ҐQH2VP x(G۸Ekm~@uY0naI &i\"NqeD7ȯQo?EmûXc| Y]ؗD9[ h}T-Kirr2I FGilD/]nM ,ؿ:= #Cpӄ60I2}b{OzZBn'XW]qqh݊zR0bO5s".jH)kUz`84Nؒ˾b#ύ4j<[Pua2re#@ }cdBzo9,Cw_KUAm%8Nu=O/O4+R~.S%^JAUiM-ʭO垩m&Z _ٰmk͓6l'08x=E yGKw>$ >pNAJU~ip s'o |7bzg"/U[gWH#nyv{x/<}VY ,]k@34>l(хX DC:I;5~..uEP=2̳t᧬߬Ub э}WP9a7lM˸xܼ6'2(Y%M Da$ Vqf~3{v+RdA3[HeD0@]dKk.˗ wպ"DKwhX$cb2t-L ݏyA@  yX \8EJR _9*/Zlut;]IMI'p+pIw;QmKզKƎWW9w1M$D| OJsH?~z!O)bP>"} _f*z0SShh8jC-sAf c<ogMIJ !ms8峦+%#KxCʤqJ}:Mϡ`Cb(N55`%VYV-?V bX˜#h}uP! i ! x5ׯ@:3Jj59-:C@*,p$(ڵ} D<5[`/ c_qo!MJ9gTcؖgM K"]];{daNR Ӥc2O>4E=k_AD3 F4|伅ӥt uJ6YMf EE~ (ATTiYcs*"Kȱ4s7fh!gV;ɓ u(`1}7 :k*9]D:'d:diGg*s‘891MI,| n;R= Bfu[ 2t}XO"*[Lƈ1WyIڨJvVd}-6Ǯ@=" ׭kzHW>))A9G@q7A͚_.x\`'r1چ2yB<3{IR}bڭ bFn&P)%>b믟 t'$($(Vp@h-[flaOee#YF>9%n+^jSear`ß  |и|x;a@l:~hjYP/ K:x%dL0`4zɝHvqZܛWB}%2G,n܋w(z1Wڃ]O҆J EE0[ݶijufrbR1E+ Y?ӌYm^@/e(qymfS.Ġ8|&ZEc'N`0I.C6gI$^`$B-F!Y%߅{#5XNց7C)aRkhXn0,m>$NI!5Šb}#km5q nVLB;(uG(LO>C/g \NmÚh{4d˔{/U]AD"5ੌr٤*WAbPYv#FOէu[B<(*k ?[MtjL2'O-wpy{_T\ U FH߁H4Y/Sg ? "@℔Cŝĥxdo:;vC {y#%eKk_+ f\c\rkVo圡pW 15FηC[Q$#Xe,]Vʙ ShS1~L>`a PrCˣW,IZg45zҹunb+{M8Ddg;}u"$~E+Ur9rDD|4w5ᄯynxO="·PQˌ-q_?O.񞕋ӣ;Y~^  ˴h&PwwY>14{1INl[M~>SDj8cl\ <"srzWJ\0ob6W UXެY%)\_|;`K;%xи/5֬=4ьy,}%(H ϐz+ zSߜ&^.e2l4v`I;Y-sjK捍vxy]P*3]F,hCuf Y6Fx3g#C7`-æ!Zɒ-'l,e O˖Կl3keV )WI$ ^b^ (NXO]| ACr0F^"Hj]d9`RMzDk6ۿZ)y4MtG(dZ$LzV{:] tmXB&s{=S k?!v~ЃP; !+$ zsJhZNYo},®M G |mp!?vvE2?bńOZevjN GGKE;ODw=x"9g=uCķ^nRԍ_xPD$pA(uR^L#]v^6$|ܿ˖f37qx7W$-~; + eNdE_75B*S٦Uv6!WVUBpae#S[}Rs70PpMk+#kfm( `/Rh"ZhGbZnʔtgt(TK>ͤQY< TbhYy.,'[t. a+3+{s8osm7OEߍA6ִ4 {ժhڠ6*4^D?;`HJ(?r'I 'wz6-?qBD'?kf2oAg?^H6ƟZ`(y*VWk,ɒg9@OdݕՒK FWB}?P ^(?ww|6EYl(rX47&cѰ״FjM pBJD3ػ|Fq-F|e_cAʐsY>=qo)4QBXjVu4{:cuє/9B']e[ R߬!frQ2XQ_"j@Rc<"NA Ț+kzk$=V1?ț1WTU 0,9E>aP'bg&xԛ(xގ K9avs;! z8ƷzS\.gͲbn,xW6,k# e1dzmn:l{ϡril/$ MfC,;Ep(שFUFXnxJ9y- 610s̰frٕObSy2]HeEOgJwN~;zFowb/Znz扨,Q3n$)H\OޢTW`R`(BMWWARo0AIktbyQ? l[gIP>QY auUӥH=viLez4 aKə|ClzǺ@uFWXማN\:}zQ o#p7wś24oqz^r\2 am۩gu8(3o( Qsp.\mTլ=a3:jl5݅:XW`%u-FpB9uKZwxPY&Q:t)~HM_VД nn.W ː1fؿ[9sr:ap 黌Gf@2 A ˤ > & rʹ)4^?{pst&fIҩ8mt(( ש8,}`g a;jQ5Ȼkkb ^UKQgr zo; cxVL}+G,fT ^ʧRR@?TMFi%0ZcfSZt{l9ܶs; t`r4xTW'+>; 3Br ?4{WK0cY۠IN>Ec7zh=$#w(G}GhG|ԞBO+0 X/c׌q}]4GOT鸀5 ޿!a!w0 !5t??կ0J 8#yK-&W(tcvC_vwsV%t06pQOEƑ 2%f|QmxTFԶZWg^H@_@N W1?nxocikYeuN)Ӏ7U) bঊü `agB۪q5ɨ]sVcxFhO/e}]F$3T5LGQnp 2>"{k[n).4^F')"0_Jm1HjPg gO"&ճh)Bs/hy~38eDJ 0gbSљ3"+5v=8T`TW—\!A9vAM^dgXͬsJ$]e3Ԭ+8nZA]E4;&l5)1`,Tѯ3Dpfy~?=s' /dEg6/(-Br; ]nԜ]j)6qQO0%j#P, "4 Jv/0 N89,1K7$ITG 3ِ'#,R,v $ۣp%mn\{BьQC7 Ygrϫ@ZB 18G n侅0VjRX} \~u4 yE~hq#0gq (0AT?8?e=<3QBAfF1yt6ľ  n ~( 9N2,؆MmMbV$O)KN<ՋAXg `wa9s5#:.mj_CpQ-"-m-(nN V;@:їW*]{ۚC<_Go}FjᕏWN8Хe4 Eo9 zQ)d:®LZ꫍o}R&oaǖˠ/rOt0Dιzq.CBLQ;: x 9\lRC, JO3I‹Y BSiMZ36#}V!L!0W>62~rCCB`Zߝ^þb;ej}c d`i 0,3=!H1 sݎ4G,@@f (֗\s6Š?)p5aV6o&;sh{d:&QHu9C}}Ba{W@;Ҥ"VNa&Ǖ%S/)XWQ+4*[k j*8כ(9.إd{DX,{ Z^s*q88zf`p2 E,u۹MR)g`Y.Aڄ'@<&M0K~C:a1S"!͙|i2j׼qSF6*B(yƱ1$/za"םdO'Jf#" 'gGotҢX\U,rg8XpꠒÞDŽb,S1'[_Ր%7 VD1QJF\W/#M6-ݢ#Z?-Ko`Pw-&6~H~.1D~[e;")%(X]#eMD( I0˔A1Uuc嫳bP;0ڎ3nۄ {Ch쮋++}~## Hj eR^wꋏZ(VPTQ !pzF0UaxP00}lpoqtXN v!Ox0iRgƻ51H'0Zu}[ e@|_[|k}c 7uc,F%M[s,1aǗ`Sbg.|:i5X$K*lV GIEI6֘A%p2t2ZhĐYPCyLge[-[KnE`%Խ=QH/w.=ňrp@-,]?zIg?, +˿l/#W⯅=|FP3 RAMP#n-Lk*q͢&32>K6¨ i6;.㼋\5/y /%,Sa%ŋRufýUN*G^86hhM| P4O +%NgcTbf|yR-=\VM `lg+ae{z}wE(YF v/5IKs %72QAI\ZULPةF8RB9+a6򒀗O\X6y넮T&Г3?l*oϬ67"Ly5!- rx% 4y nJ> FTB@OYM9lpaF%9z8ү<#~$jQ >&@fÃ/w5>DŽnq}߄MVK]o+NR ҳ֖E]6tۢAd;m7i `oj1$ZY^) *Oc`]sQ-=USȁ`5;^pA!L,&U:Gkw,F1Aımhuqb$4.ub$Ժk<`W]S#i|ީ^f .Cu uDzSA6]0\F'%jB .YFݼtLc6jݲy#IB ߓ~/^<NSd_ac,Ǎ@rW;2JN;_s9Jj=ڹ^ !6b#4`2C/ФUx$PlKN-s!fg "bLAϗƨR^G(h]ɢzB70 ȶЕSe?nlI9AWП:x. ǃA~6d}eCTjQ#dh2#F~DBs1TTxThBv+ OWbWsѺlaYXX6_eFw^*D!,HI_mA(*t}uDΘOc07T'Qe]l<*+c}9Vtog١E-:jPfw\Fc=-y٪Yޒ^\X8t3 KK}!`#R6gg7kݓf·Cg gܬ>,2~ ٢4EɁ>8 <ͼvD{E&(j*uo!PB,8bc3^`;m)X2j*g쟓M8?;j`m ퟽f?Q4iyN=бg-̥NxyAmuo'~;Q.0a-){[#3NyD8Cvpl-|9Ҭe[` @SBNJt]NDC~WaZ ,Ug'/'(#Z(dL-OT>9"}imn0]HX"!cx(֒2{?Z; ln'X(G8n~S5+CwbC⢯yi Z0~3htrgvj|Q֜8۩N/ݵq/( eL? `pӘ0zćcҳ@RJRAԻ[RG"4#?UxvӟN+*jA-\zBwYNMwfv;rGإqRKa.$DjhEdbAkmV?\xRو1!YDGv49C&ލ.^a>=% ,޾9PaaM$J=+c߹z>T ײۀ:乥_};6聪z 0/,Ke`DNĤ({`an\}Y/Aȡ\[Y]^;\P &+2Y+o"P2Xt}HbC^ 2-]x}B8󄵥 2/#ΪW=6z}?"*0!rG T,7\S_ $gsA vIR*u!$\Zq%&BmzWg)Uoz^T_jFN('8 Y1j.5uڐa ^Kjpjk!l6;Z23\bcn(>i nN:)ny Y4,#I$fLǎ9n;4B!촂S҈qIQWfZߤ#hBjQq)V+zї损JHdi˔EFJUV|]#((zL6ب5a$q.0|D{GoaazMDž! ih?ЎWe~r ~Z7vMj19Dֻ̫5[R8[/>R_EvS1q9i-/QHUq@Wf?ڽ`g)->Q &Rpn&oG&O1OS1VBINbMJ?\y% s39sfI ikEL'/=F_9A#vb~fP+nB͉2>`~J}4h 4e2G1Se9 ! \?y.Ƴ(v'C],E4furSimAͱ :?qT1N-O*́(AfT% :?S 򸑠t۸*}pηH[6PXUh &e 10!{:~*d_Bf+ZtI9FY(@U21.[|1!U/5I\sTK9R0@Qe2o [u|oI"">EWd6Ѧż,RIDou禧XD8T=-IpovHXcV%[kVK&-&lFs*O,jXעX(٠t2,Hsd--f2V=mEv6@(ėT`4&NwXy)į|]fAli*+Pe",7On"Rr64?h.bmޒhx! ]ApߥodYCetHV,j  lyiAyU.Y#iz60l\Deꔾ BM=p09ag㰰JTJs}){A|:'Л0 qTgMOaكNBL?\90b~/'';Vk8"3{CJdA+0{AwɷU=KBC9eF.Aa]u7z8A7~*:2?P ݋ݘp+aχ4lݻ;,W(PrSGap̧WeHTVhסy=ޮВy" cY;n=5YE"e7V kTꡑՊB$ E05RnfS H4/98dLb`{|͖PJ)m.>T{]*^HLYj?eiQΡvTQP'Ȕ3nw,&ILRK~ lp(,P*}୻JϜXeԌ@H;GN`D ӧ=f:ieG'9TUun8cEuυ뺱]GVA.$I49F>ԏ 506+XfaFQp[A@FA>KsTQahE(>qCΤTWL9K2,{pRjqV`$kXL66h 9;SݍaڵDqWEvAq_JUBC%v)vKHžhsBߥ ;[RŁ9(XQMA;/mkZ՚^kܪTz Ʉ<`Jvd]183{~M N3 ޞMlE}:gǙJ`{*?)d3Utde 5'v\e#EPN:f@Dk&V2w3V#ݓ/iI6D.u h^)gj(VAP4 a+~nNLWcO(s9vn!\nm dwo1 K8OU[$THgiE1Ke5vN6HQo&:I̭{e͏䒢l)Õ~<4+yso;UTqe晭5|?d>;fp%z]H2mXY' 5EHVZV[a>G5r։V^RKtL9gClHqv.i }W$f8_WbW딶kzmv͊791 #zBj qNXϺW~B3WBje9 c%UˋVʹV%]AHx^9k/48ؾ, Շ*vG6W9(ý*̤mô )l4O:"@AAF)}PuB©<1eQVVÔDyK0z,r vsxf I }0C8p>4jۿh梶UBУjkj=֑)_f|#2sHv#V ?wf+UdX!'L 07aÆ؜zBʷׂ A 9 ͩ5+R KdE;LJqQ0۾ǔL?4PARJ_:hQ9 p8zv Ӧ'Vj?_HmC栆qHO:@TG mo jBCRyĬ{0{4X/I{vPE+AG^z"AybH}09_ iFdGI8+n}>us jќzxC)zBF_t \(eX 3^IB) yC>gv-˷ Vp=$ݕmb;J<a)|s1-x4SYdX:g~\97=X}+xW u}!k p~{,鼇75tP5ʈz>憈7r\жLꝮi$ #FU =ldlk5=)NYKhF Eu#wK,M#"jQU_}}{5Y恫OT&JʇBy^PH)y΋\i}'b:~ٕZNTV5=~zԧ''cB]:6S^1aS½\dُ.)x_,o}-C޴|iiçuOiG a^-d|v|i9RPjPIe ܮP tP~'< '#VLK52dXuG~)fcVTi@0; sjB!kh#U+:X-!doqF^Ke9"wb̏8TTdKQXϗir{N^)RV*S.b꾼ƽtI 0׫l &eRMD*a/ x‡kS=,12ݣl"ky ,6P=nDG!4Ɵb(qє<D&~& 12؂êP4sgX[C`{ry"&QQƳ"۵dߺ?Xvڡ]zR^MěFfK|Ur\7=Cكf9pXچЫ1 H3?n Njk8XqWhS@rCr^Uo%U|"eb)娍P(/H3<8q#REcdRLBow`;<cC!0c5O銰{彭>S lNz/h5 Ҧ#Z)KI:^m /f$yU )lOY܉c&ȇ:8`hs&@7xi{!X 4,qy̆)C%|+lۂu&D~VU;ێE)g[bOߞj)~wlԥwP6eBdP+`'ɶgE+cHВ {Ѻ^rTI ϋ-ꧤO9Šk#BR.`2ls:zD٬7'+S^+5g1?f?=ꘖAW>͍ɑbEG|~ [q8;]xv.thC ?O ']FaZa^ҕA^I`=Z;ĵ'1f%b[[9-˽Y xv44UO`O꒝?*P$ve]{[*] CJU{wIJ~_^D4Ƚu5R^;9-{u}PG|zH xs뫒" fL(h$IPvs:dϊ^6ƊuBtF쳲xGȥ1]iAPBux_2)ꟓnFDl+.+MЂbۺ7)XO`N/E5;.V GͰ#'nO!Arcj qϠ=[VbKtB[4G-pn!Lj93Hɽ.!RNJ7|`!HI*%b&KU\-.y`B  Yٴۑ#,YQ}UKy,ͺJO>?qgj(r| KZ&/ 1,(&) .Ale:B"@ogz 篹mH[?J,R>L)Jw '~?3cXd!' R+uHT )zίoȲcޗOAjp w{It Dh~=0.,=͹5F .@9Ա0ux"~p+Cg`bwAosI5uh `lQ{7 ,ەy\O=х -}f>%Ų+"SLtIxrƒn*p߿@9Wd8!2AA݋|4=#)})ZP:1=fsi‰o;>h|ŧs j^^m˧T,/pƘ |d믌!|\ʲ,n9И3"kISeJ5mW.8HE fCmVM-h!'9K@bE:WGˮkVH9-&ϹV4SVCu{zWnO6utJB@KW}#s|5m@{0}^9d=sDspGrm#-?Hy'xփt)&AZJ"Lql*8G7_ϫ5;& KwrKF8o+N ȕ )0)B+jڼHBlA1Oڇb6?q+3^!MVǰOX@ߕ Wz>dV''o,pRH'ij.&e²[pzu&aXwcdW  ->WKƣ󢘙1cJ:s6?+ozUW.X6߸rYn jwRտ&Z 57K;gOIؚ)V& 4(P+2Q/7NKmZad}-AiUM~uVXb"a0v8ȳZun}9,&|M6;'ac&s(Lۿf=>w !˪ Z/w8Sh;FTB!QnWZ6Q.iU->fK>ve:̔rlH!SZkkP1$euѸ0m)7lp]5Ds(סoЅdy6@·+ߑظ%`W6h}ņ=}GM5}0wJ>5]dyťrUT? )r\̟jBQṤH*Sʊ;79F?GUs~RHdغfU@a0 52]Oy`݈$enm,{%փw_1-sI6n{w` o<\["=2<-x>*:e(%1G9dHOQX-݈|Mڏ,P@)J#[Oಿ05up{AlɕmVLX-擤tżKtY1p#;˭DFUk]aEv̯` 5~ i3Q9퓈%>7gmq)9א(6^V(H.eyiHp\w]}hYBN#{ U7{Z>Xr ZOmT%.^UGheLj/|V$l+t'!^,)]%&a[hZb^+džl&Bv^@2E5Ejc[J,uYw' v"`G%ܷM `Y,6 ]7³-J 1}NXwFEP|9J02\8'u*ȌM0R a^CTJI7gB:^)[r3v 'aU)ZYFOrN'ug\$z>8P L!Ȕ1 sG29]o2޲~K}VMVf0,2}~jKMp+dd+=)i)*S2pm@,1WOQIeљT% ɼQzF 2pU_\/շP_Lԁ+6k09]D:~p\CqF*9zpD߫Y>5 5$ FZ&op%(h7stnPn57IoDzrG8~F$Y&GL*8vY ub]Αe'feyX8Մo$U3x R)}P2)Y̑'bi NH&{u:fU4!^U <w؞3@#3mռcC0ߧ- 3#z>(TKA`.ϛZc0Bye iC)GQq8~"Z{#<=Of!~-:RpP hv yp~Tx#xP[U{^7!|=S 45Ek% sR`\ՑjE|*S&"іӎmMXu=K0!73 -8qI7̌sbhX%Hh`E I1Vр?\:m53Bp_p4qmUefGm~eapr~ZvZ:Kj/q=Cf9ThLLOZ}e[Kus۠-:$22ςڭ=L;Ϋ2Pى5IIV_F}7Q16ʶOBU:Qhg .!`v1ڵi>OZVv;:+Td2TR=3HcZl 9ijۄ[wXllz"S(*gvCA-$X+GCqƩ9e(%ukk\<^SНP!VGAXd%ٲDIC*q!- 0Whb^{w)/} 62нtzZ /=*+ӊ7=i9|Fm~֓ĘZW1:kXEi)MDhTtO [+;-#ؔ&1+8ljxS6[J^.'{^^WCgy9UdSAYYo`|&me6;Be^R`|ucsv X$uE N(kn )26ƋXܷ|=Xg\G)Ihfp`<ji7[0r.3\bKnFٷZadȐC)ck2=,ɩO컺u|~[h2qnք{g[P=2^%ˈ&NcR|oWU>ΆY"pW!3pcc6V ΊuNT :sA=˝ĨNG^i_ߒNXLV7>!aM8$5gM8KcO_XxrNYѣR=Y&m ͓ P ɡS4WnH4ܘdELmj;`ߙRm 8֬WxE* $J0qI!CE\ؙXVom@8&~ܔ<+|B+[WQljyR;]eWz0IcנU?wiOK*ļP+ GE2⽇ g%0# rnæن-p,ˇ`c?I ׋ʞ剁iW9ьW79̱~X`\[wK/ P$ m[n8VҘ԰+hb)E0%V_S0τFwWK"kʓ H:Oe0.A˸0.hE9uOUg @֔[%Jm3IKͤ#)|og :DTaʉ gҭ 7)-3Qe?qE`$$ DPOFszM1qJU_'ԳҷI? +R /oGhLJz=%_v7`i2j:À\ͤ%r]IClja5(kW:{0h2[c; 0&?$$vJGuOfB!]2mouxd"8[w"ECq͙abY~Ty,:eO* śc)oe';1L ,EB*Fdl̪zɠSJ&0* t d:uSTH|J 3x1I]M/-t6pѻ%BA-ê; &%!A*=_la$9PXW:/+?ܛÙtP~Y WpI#C{)*%5"5| +Ua<3>m+Nctn#:k0ubR.'N"I)bhWvN0tP{)L4Jȃ@.vƞ+=_lift( '07 _=}o5;/~dh%J0&+Cl9=)]@LZ0ya1Ƅ~3%! v\,J v)Iȷ鯸CXBKnۢی|^pӻH=i\8QBRX1os@<  G2tE9l{v珺q:-Vh[To #c$HSLv{-(f ;7د\v}S(' юRU n:bFC:Is gNR+ɞ!Gg#)d]6~I'x|d<3݇|^ϖ/`*%p:Md&G7zf[:(dlS` GJ{զ7);5::_xXsq`& tNlbVjRbŚ0|KW#WDm]0TC*e[z#qгˁ1f6;?7ri"uށ!%FۏVq϶"%o Rz0 6|=2iN7t{'R=GIf>yh{;1#_K=>Lҏz+vB'G; #rmJ=)hzj+y 20ۘb&b;>qT* cj5j\lATOn[Q(8 r Μt+ (nKDmg `>[ ˣP)v@V!T$y[_hi6< x=TȻ"4M 18at1(M4ld}8ZWo|K-L1Nkd/04vh3tC!݉LZaҳ~W_cSZť)=V'(UrW\^v y<ьB-Nw)Elph%?D6GZ@b-PkӠM)\flfEN%K4`^|9HVx3SkDkYp,bÐtý=eבe UYg>J|H?Eȏq/KR?F!+] f}s~ua7vN.cB};}'u:-IW+ w5dH^D+z!1AfK$'&aO{+~9,r(U&ޛO1sb|m|>X%jNƫ 4X? \ۣ"as.7k &p`\kJ X Å=oL4;#=tKn,#uӞ`%UЯd3_VHyZ(za?k Bhl<ͲnU< 6$p'ꎙ@p*ߎoYsAu%n5}MKg]$N 1/yZaeL鿅舼%F=~!$Hb0nދH6VZ?~.Eo4bK^al=L`UWj/ 5@Iz^"aLD#A7pmPoϡvg2`73^Z!-![rlS$ɞ@l>3ZW4[vKl"w]ƪ~A׺ﶆ]k]kx^,s.K?Yu OD5 9jIթjhA?'"hG= :­oZlT1 ˺E7 zZ0X/Z8(koUm.I}Oh@I?ӾQ1PGm?c뒘agƐnZ} oY; 1uzLϵ`‡q2F:  j7kYZ#NtÀ}p.AZa!N($fNA%yۦ`M8xČT0WydqBH]_k[L='Dl*e|TXSMNw)XI}'%B2XfA\ r 3jj9"1@sS#6ӚAyW m`@U&Eciz H.s<l̰Ũ,k7B&|=7FݹZrp )z?0H,r7Tw czI8\s8wM4\nZIտεnz?UjV$xZU|n'޳ ;5gwnxfh; ER hC.;z^K5$&em+R_QJwKMìsڠg*Ty|.78J(O5kF?[ pϿ5+„de,C-_};Q7H"L K)Oby,o aqcÇf%>QVB=T}=@#Kki}؃~@@Wm݋CLG~x!Vk PfرŌk %f]F3Ç4]2kшD>b{4B񕨇}ʺA ,=~|/%h  lZ1,Ԃ1C4?rF%Eg~'`Px$7]Y;)6\V(WwNd)SU,bx(c5MPF8@R<v FuIr 8;2y1 kyeLєi^"0+TP &!/sa-F&acYZ(y2(`:585'ځSS{zBI؞.4E/yWBָ: &1[YNbX-G'b]&}B;O($DI'ZGotLS}jٕRJ hGe41OE:?w}i,Ksurh*'U OXPM-t-ǿH#&%)*npDX`C5\JȶO;e ۰W/gpCeg4YZ3rwj,[Qk7  ȣ21dLA*cQ؆y$nyf0/$X? k=V e./ ۇaXӗ7H-nF*~[ \MWާx[ PܫV8%m0zQ1}ӕMȶ͕얖[M(vObB h5Nmu=^!5} `}Lj%Gh_V5I/m)BrQOq3HX03 (*.L3`Ea0p3b!(ްՋX[ ?tsу+/D]T :tf=saܓjA'p律RXrBl\ Ilޕ68-ʑRM>THD$F'(`5+j r}bX'Hk&,YtxC]P!D Eg6?u[z^lch$Iu WFRD~uP;`5ϲO]\5 YTd0N{}Pvw$xοEG|?D֚Fsu<S!NtHr)yaG~Z| &M{IϜ\E ct_;K I++>aocy/*5nDF;(ɗfH Pkvʹd'8ANm )FQLynAkIIғ\S,.߲ ZGWq1#ʒj8,f9*qdrKu&Z?l m{t|dmy6 >J^ -V/FeO}-|8d2<` .wUMx :;)WkOxۜڗ'ܻOKE^?5^.q`4XcG՚̎;Q,CWd&Kcf^K2Z+VMljz=Xώ;7/pݬ١w'Ft M"O7b/ a8]VA5( N2lvL%pІޤG{pG'zJ%%UO@yNߩ85L|[L<1浡/.V,I9rmbgSŀ4Z6?rJXߏah B5N3̛| JU$QJSz*LT\z[aͪ< ~Mߚ*+yJQޥ^4, !'$\E0 a Լ5*dhm#`sO,_r:"~+݊M-7_z;{&TbDt \5H5}Fqsq'*0! n:zմ:G[M=T 'Dn# Jgb1~!! {E mR'uz@Mbuډ X1J׈`/J{ᗓ,hy -zYc+.h7*OueحxO{xg8aU\5lR<ж XΘwkxV>ߡLZ g>+Ή"Utʙsr+S5v9جlb֋apc:3Ǹm MN^8a {pk6P0de:i*Sct q2Ȃf|c±Woq)Z4 \[cY2oG/,tL byԲi k{gl|#'= C51"}LŠ@ֿgǤKq5b^4M9 !0-J!wKyB١+ !_ľAj] P)2wc͘={Sojeg5Jr#uG5.砋ݹДOP73w!;ʾ5M9˔sb3nNSqJ5>̆(,;I"#dwpa@,xwMGD /ݟThܦi8<@i3 Y@ ߒa^B 5ݩvL(x}Az3Ӧ<8WD'?k@_^zlWx Ly_>.TXyM**P Iʵ]CfKqRw1&#t_||ԿQY^<ܣ'Pye N{OOk=.&R"bqt|jk&p)F1c7*X*j2ߓo7#ӜŮœw%[ @Lشcv*2KbgB ̍\Y_Ps !  FϺJIO|]yܦ[;).|YsĘKXO}dLDǓ2g![aţ e۱5"gTW]c'\V__m^qZta^ lq("{{?kp*HƵ@bx~ݾ;3"C`V?n<@2Y]Aس~M6Y]9ϰ Yf#*Wo,4b[<[)F#W̛;ɒL Ո"l2<F^[q*P+gˑ Nbɲt% p>gTfc~Cu) ֓Ċ{|kGql\.p&?:=zb\>k'.@X_KMƒNfHJp;K6SŘV\ '_?poɷądDCGZ"M$\5clSsOAj8~E\ŗlP@ S[t1X/(:#qcRؘ|ܯ*֪;y2sۚ ۷EG Ht({Χ`7Bfr%vΞxZ."`fَ ݥtg_θmYN%*44y؂!mQ%KmJ" 8Ѿ)b u&"^/#5 xi( WLR$֏AԴ}Oefuw"p\ã+'-+ ⚹kD3o/K2-goF&OoGM,Vy" ֵyZ"!,+崚(R s+'ChjbqzqQsXy\Oy0C6VD?OAoع`vU[+,Z(o_ڹ&ྭc\Q~Kr cUyĖe9jӉNvn?wWmZZA-m BkO"[O1t Ufl觯CD:y=q'cy݌$C{;,H)C3eAԂi!49OieZ2M4lʗب Nݓ*2?mYZQ MaU}yQA8]R:++U;l"o tIKٕ$B% MpWPÆkwl<V3X \HF4t{S ـf^ T쾾_/&'<$fzXy/h#ߍZ2uOJ g$Y&A*_0j=izCN'UK \HAEɃ x ힹCcGqn~-eʈeZ[65N<<OD(P2nYl:cRM+K#K^`0jhY6\~jM-Wh)DHVMCA;#5EUyQXny~?׊JT%Ex[%8z:BhEH~@W6 4='d|xi7쐚%I`2m(?9"Zve~vdpW VE6`6Z@&V1nC*:~mrg+c ) XXA~"6WEa$EáKqvG3]-Lz!_/§Tip\(=]Q8 : ̣̀kbFֱhE&$aW=tQG/(gi=y-_TMQ\M724PA B.7Npq˜)X*ݔmy ݳ څD= l ɜk<쐻.ZqSz4{Y2bΎYLhg 2ߌ+B՟?:Ks6-o჉v)JGAJVO] C{&;gͿ韺 ޗ(4~c HM!q%-r,#3sh)qԘ_+]ǔ'[훵}֡;k4 i&-ߋұzzVK R8PHNkm/Dl(MW؟?;DLvƍ6$F竰b||L|Hb\?d|H(|t|{3e"k$X!8 =vwO%F?HWS!|pV u3K3; |̟欄!=a|0LhÖ%(d*!#* |JaCPll$-HvѱD=ݽHUч Z.oo"9M4n&02f<V%yqGE"5a+0tHҥ6uɬئXq&ηPٷouzuԍlNv?}buY̴yF`u>-:&g+ CC GvGjRПqOVc< }&'g`Y3$boCwo" \z ͜2m؄ 6CRPn)Iԍ'fX_s;D#wMuuI.Jx[f*S:/(/=E(QRcoٙNG$V˔ϺjoXɒ3N:Xq.)g##ԝ 9l4yAX31L}H6~SM[Sh٢;į}9y<Ò=VXFIMhc֊Lz@gS|QH,Mc?uuRb{V(I2Ru_7txnMeaFF]-?|v;k팓[ ]PN $D26unTq$bX8Sw~WΏ6} YY9H್ îyT3놸'Tu-gj]+L%X-O\'+gu~ }.7@NpEDmT-k GUH<ްؤ´c5Q\ezsg(<=Qa+q~$NlYJ!'sQ8 ~~?(|`EAMt"3tۣ]KmS\y⻼6']{-8!FvPM$ϟq @+Xc=蹝♭6va'@qܴsҁ>uf  yX&͑܂!FiFNT33rVzK / 1.MI~duEN!]Qam',<:<#>u½ oq` K=芎+aI8r >` h;?6M0aOnYB[A`M1*Eh0F#s_GC1!x7'Y3ɦH3B "@Ґ^eоC(L$ 0,ޅ@k5֐lW=#GЍ[lePA87sJ 4!R ]~= EeW"A=T,. &5$RubhZOCW""3?WjZ V:w7$lLS*5wLm[1$W”V F9LM݃zk9v`Q+3n q(vH"KjgΆPu|%MSi$?u| J3^Y.֔].-_" 6ɫ8W)蹧f_JfR6 wbHHv#Mf{7/Wm7ρ4 Us`ZY~AHWb2YksɯMC ?RcȔ_ˣT^ 4K}1&6/E9H"dlh0UnSk \!߰x`_VCbJ'Dd I S $Ma{Pve= 1O+WI2 5z&.(S`( nM{IC R]d`Ҫ6ow*%ٻۈ$t:6$6GXV!Va PX`ʚbj813Qd )m4:o[S͞vb$y9El(k5pyT|E0ܗ{\^q 2"^}6Y$}]{'eԤ^ ,6D!Z1nLΓzcoƔn& Ψ@hLX0Ox;/=WDJ ."IȰ^v:dp<@T;'b "s㣝q>E\ͫa9'Kb>^ֲ秿W3%&vgO g)Hʝc5+$<7_3PD1Aw;"0 38t\` r@7da_ɒei>тm!{2dL[S+UNB`kF9x-+x[:]‚:D$0 ~;Y ܌@Fu nv!ۮTVe/u~%sa;q mwΟ!@YUgms6YQ솺(a%)Wn:5E*U{5~&4lcO>,`,{}0R|O> 0滍3K@]mPuhQl$%Aaj G6.gB+ {Eyp^H-rx4>ͯک/@+1:'(߉xߒCr ;2|Ɔ`"//gjFCyۙdƐòHO_YjfB餁لIj0>eOmkV;믫z7_I,`zҪ`LFVp} Px$F Ob~SDxZ~Smu{mB9fC'iil Nmòfhq阑\9L6|; Zʆa'? . ՀVdՖ*F㨏 Tꗘ?o^7Πb{ҳZ,7 +᫾.ChTx%L/_4)MD2Fۃg66ՈbA ы&YoTug}X,9^ĤZNv̽m[|T!M8jz<ӉMMIDz^N$U#H%QjܛVZ%2 _Rh`WߟE!snc}o*u9GbAHH[WX ^tضb{JG UkΨ괿9 2Bn=,cO~{oF+w)N~G!R_hj2b(S2ǎ]$C@JC 2.%?B(=ɁNm$+3RDEB*|Fm l1p`kK vgLgJ9 N5c̄M6ZXbI#XĪFS>v,tAфQyUO,TPmWuc,f+jm]X 8b[Fa7m?ƃ?#b0~K)ݧKahblݮb{ ̐8Sү9ѓ]r yfϷTO'`=,tp4PYd=p ,#  ckV,2 %4(ޑa6WO=2כ UvNd2ƕaw>lG@,HJLZU0f2sDdrq^ Ed\EI{0C~v,v:pNi;B CWVŷN_&ZJ !6gq2}0"k}:v)cv.]s-7QA`E:_5I /7Y6K6PX{cZcJW;NNTIa<8Շ.q1&;bͦ+ 2K RAc,^M<_JbO%>m$m @U ݠ]&?x;MPmܐS9UK$c\`{3.RCbIc 1UP{ADc?5EzǶp s~׎pD>M"g|IZ&W{g+Y}n 3d^-ds^<D`qx0 _ zJeZb&$u N%bmoj0'I^Z-WBIˌ]:e=$ޒ`鸓 Jխc~|ï†"Īd3Np-T `~K "6}lH9'% \F<%MuqD{`-hO[Q;A֡"h^QnF!S:MkUQ>`.5+i_[5d.>%I&`6btC%I(JW"n[AuxW}eO%5* @YveuQG-TEI駤y@`H7h#uxW}x&kY'ye' jw=a9P*^>Nc\rFDޣIBp?!v_=NJoJokUOl}9S5D^4*U ☫ l|t g)_2N$j}dLKo8.'$S2ЌdVڏumUgcO*4]_m =KG:9aUe[PIeyNj2IB!"u3> F PWX$ aP&;Dju CbbokN\-VĖ}Y3_FhsDן@(s1Vs7wt$o5_3C'',5 Ptg* \~bfLT@H7ԕ/* F+Ŏԁm5hWV#t$n:ǥ/1kjղ^/V"7aKC "R t &g]2vrҭT+`dAљZx0%1R^!l R/ڭ& MiH.o-z4gWaa+]DNonr@@2Z:gI[Lkˆ*q*# J18]Ƨ8b);T)[D`e^S.<@ s^ -g.[݆%ٓ+&:wJno]jbָ>}1^>&eČ-Y?VI~+i T:gՏ PvF`@mt?2ſ>7zEV__ V ᓕ2ɧl$0IM>sszc›uap`>}0_RD0G dulGf'zϘ(&9AL1Wk8Izw5 B)F0f{a6DӽK DNS7h}b _l} kP6t N۱b{oSWkޛ70> QolF,3U /&SǛ٤<TI*w3W/M/EyvLzoe(&!5yBx/z+ bB?IvSp컀{H@??w 篳)/&Nu==h9ʰ6SiLdG&vZj_F9,$<\ g3˃GG}I`lAMqc^_7_Drk@ϙ~gFfa[(cQ$XJEqg& D qQC.Q'tMb{8CaGjhR+w\< Y72,:+7.C|D^3]l=T|氓fa:eO*4XDc]jR" #zU2-oA_!  R,tXmY*G[pNC;="K2u:bũ&EFr`xwk@cv&&x0R ?t c_l 5WV6raPp`O 1"o`Mhs=yChpF.2e:0QJ CP&?Wn'>?x~pŐ Ah!G0M!${D߃.Gʾ6{Ebwv(*,iԣ}V=Ὕ/jk6283 L50w [ǠO$Cx2;Y32O _{M/(#:y]P-}8g^͜>-/}[zOĶ4l[- =+ RD{g>xg>/* THF"[GѴi1gN4Sya;hV٬78{ ;~' L`N:/-N|faGnձ!IeHS~?@Ѡ1bbh:AGX;ä||}NVk3OaJx_C,ÃنHy3{niF0'v%N>Yar%gv1<"3zV4<,`c Š,4q_ v0&{eK&E#/jd OKiqCtTA>[ia,CfJHܬZяDO _na:邕Ma<W,k$֛9@]IabyhRR4S'3\`UmPŗ>VHe0H >Ӻ~Ny/a!W~mf #G םʹػK1pv;UD!H{6)НI% "fiPftDk/-gxIMZ*0uZi=Ik?3"Nsn56)c.wDцqmT\n=JcPɚ.tbL&#Q)\>D![޵VNZ= c<:mI[䒑Ī3$0jq wgd2Yyiާ^{&Fr;=moN@y}։CEi\g'G ԗ$|F֗I[qr Γeq=p~ײ3l$^q&P vqKAx)%^<.9'qmJ3K}P\sYt-^8Իo(Fϥx\4d&7w!M]{b"e *1ˋH%I/)(#O3?E Q)>-m%Bv VQ"fvB\pKI}4T#+=!GT&U.V)iO&s~Gwv.Z.z~R?ꤚ9Yj1,lhn%o:1N:(aW@R:`:mdM=Xl;@^Rߢ: hY̖;xjFhMz: 9M#>Ӌ`j^ CgkV,R֌#rUib0$.lа"Zzf3/|e 6{G=%a\Z1&.7uۏL[1],"M6@ۮ-&=yI}üYvdX~lsUH|!_T TI2dNU N g(EH,ֵ pw)Zۤrb,xlEpʃؤ8CaFOi9'$e"8eآ2>%nU}@EW ^h{] @yV{jGukFEnAsB\ nqa㍫SD$bJ`:ە#_{S#I\t1&hv -½;"t*ZYj9JA2.@`/ejǐaRH 2IV 3;pEnK[t ȲWH58&,c?}`aV|i BOQ q&2SbhKMQ;N`B X3"^y|j 6|z$E/YiJbtpbyb edB6ӑ"\1Dc×udi@+,= H ,~hjUxɸࡓue~"'h!e3`xe(0?WfdS1 B"!qw58+.mѣ{:tɤFoGH8yA-~R50s>iJ} j:K_ c2ӓ; R@G&`ߋ/N?^zq ;jUM9=451$NSg=f}c{o-*{8SM #tb_p1`9:\M⛓]<>Gj8`Fûi_ K}!7 f2EKbI: v*NUN&"$X2l ? ,1*H1D,Hi[A;F*EqwBp*YZOG{,|Z[Z2UE#eI #e.d̛=B[A=w .U|, UEJnóO@;јh9+߳e2yE B3a }n¾C}:/;-|\ˢ6NX(Ocdey27O]74 `_!* <2ob8ҾrU'mz 6G<;u R,'=v1])AtSAobO\ɗ So9GAe{%1إ~r{pIz\lhDڒmXRS!#L U Rnf.M30+V‡2VpT\fqN eAY}D]>> :p4I4=aP_sHFkO4\uA8􎝽>!bLU;Zyr]<5vVGQ6 w ^"+}\G \% |lH*Kda`=NJ8wC艚|.MelRŖ>92cuvu pE\ 1Rra-} vFbۀfx0f@3yeX.l:rVܔ&r1-rewRik`Pڎd`7Ga?ۈ7x:5_N9@'SݤEw!xQs1JkTLsjjc5PcL?66Xc;>9a57*)KXrYaQMEO^|T/6zKBԝ Er63HCJv=&2 >e%,.>6iG< 'ASA,SV@;bXu;2.8ً&xd7U^:wG*MxEܢ]`5JE~5~xƛl+eXܬ<Ւf6O65ˬf=<f6 )$: oy4)QLߺ5oԤ\,ڀ3s'w7r4ə Xh5ݵ s ,OnGe/=cQmne, |.Z:qc]ö$ JS$ۃsy2CդnJor`>&%!(Vs 3@(kygڟIiίLrY@K +UVxWO9vU43mpӚ28!j6J^8 1>_i}ryE6,lvBF+odhL!%7Y7@ɒBsn@hdګooa|]lI|sGĄₜ}0Pl<[5Z4;-T;J[^HM1`gXįhf gV4\`L3rQC5•uk0n=i;(Jٙ|&j֛vr}ɧU( 84ewݙ:@i§Jfb3@a/EZI>8KtN hb}-lGo]c˳u@rQz4%16#E{ >tu7SG/$=  *{_v5źJk~?{HkIŵ5a2Y%H-MzׄQP:x.os!R&WuVXl9&!}<F"we lY{EF3ҽ٬22PX&0k-<7@P2 RB.K`?r݌OGP;XC^cE }m5S|m㛌͹Oe3MWK>E=o |aAG>GHđv{V2fvIaW_{U?;>#1P 1Ӊ]mNNd%ʄƮP6Vf=/p^xW6ynwr̳/sU~[Sʋ^x'|`#~|?j&~u?ڢp3YL\Ԃbk @fTڦ6t1F .Cn@!0S\?YeXc=ΆS#ڢ\ǡ; PV8R!SPU5b+NIHlUxiTvOP_M%FN:cwFa!v[/J5#HaZn|?rN; ?t3i?^muh\²<ώ=' h(qs#)q dx|3v4('n9Wk̹:}z\@iM:oߨE"MWY_7$t ,R0/qYSB|)>I5ПնV;TDhVT0ArB{lq^ HBr <M {{zmVmK(3Z-ܾ-W4MsLCD1Bw.>0kx|oóefXIqZh`Pao6|٫OYFQML>M~1!PTY7y(BMG5t .F\fo ϗQ~4.Z_TۼZd1EnFt%z[" R͕]V(֞z`k< Kq}L ~/␥HM:lƕ ʋR)u_1(fG`۽WSoڥ$fTa>A "=}"T~腯NT'g1>$#c.i Vޙ(e'&n׵4 l`֐RAy-9Z! MjgNnU{_$!bΏ(\WYN4_Dߙre#`,!Ct#Zź}s+x-DM!V_ .NDsjrq!5&ë9>Z4iXAYt%CQKnǿsØ# ib}xS~ҽO.&_x ĖNN>`6**E _T})IvnMVQ_0sVv)=w+a]Y.ǯ z iVn1LyĢ&R|$Y xx̙r8"{&a9-I{oHISRt=|G6 sLstFP\ߥ+$ۿ8m_ YzΨc5Bi#ǩLmݶhzH.^7Pk|U>|Xbdʩ]088j{wqv,~]q}FM5yL/5"F,X7h球+uʖ~JLH|ZVܬ?c褃=a,H^H2-5HbLːC!'"uSYp}X2>MMPr_EDz|vv5,ΰƴbdAXvӷ,P;&$ k%a\Đ~4SJ8Rbߏpo#3iQх$2dJI`Xآ\vF+"!T>B@= ʼnB"qclDfՈZEMsb>'(b!`+XwT:.N8R q lo|70b6߯ }ЈS)kVUu{XRLjViv䃶i$ @rF}eڹE ۙ?ǂ{zMøAںJ}4^iд}ccƽ3-#Ne *.ywm|/ڳM{]FT31#*9t!9>Тc3FBE 'jekqvajI H wk$謼WPژ yػ=OCdjJX6s"8]^IfAC*xp5ڞ6+p]+{em|{E3`pחćݑlˠ4~rIѯ߲w;2Z}osJq;Rf:W 03`Dl $iHvx2`:nz̜cŽҶhdc jW/w 8P l*aCV[lo_cJ`%Bӝ_ZLsy15][zF4}@9l۟e`oobAU||Fw;)&.UQm P/ÔEPi6h$Ym ?h5D=`T4O;̛nmx`)* cz5*}|~DVieexn˻o7H]炙wףq¸mhE6e a In9-j9hKD>2i\O3&0Rͷ0<-)`٭1" V^:{&X)SB*5V &j\'?;kaa6|pnHPCʢ1g M ur !&?#5Z@t/d7_ѱt$U5*\}ՑEWHn3CFNlF\!)B@ QV<駐D1:!qw<9pb0E(fDYadQJ'@a-CLܼc"2nQЛq45b|9l m[[!sNiPRKc.yt쩦HМC>'k KG@˞;P,oFK| d)_Gu0i}9kJ"Lg+Q+aؼu[V->H6̱K`BEp1HS3Q6'}mO3um1W E><,VmC q讚fKʕt6zէ VO:\pœ.A\y,xyb硂L@QG`Sv .oOΚ_ D GJT1`[z:e4s@pѴ*eX?pnɎblªskx 4ƪksиi-.CUHu>^0ij׍uNj)atե!+GʒK:U&h"ni)jҥ2cuhapPH=U0LkȋznGiAO=taIľF ҫ9:[qO#X* 2x.5I-gRD +},Ob$՟U3x+"0NiRm`x._ƗTiVDﯥ&ZUaEC #A_qlUjE]ߏ xjfOV"fP3Vt?Dv++q\߷qĆGC @f֫+qWE(eM]E yq囷&D0;u|Dk*r8X'N>Sfr{/= 9y.ڠ \c#rO#@#ڸ?#jtKhJqP6 uMtN`vzX}#T >:sߒ˺*'d Giط&BJۑ;b$yXp}S%ޚVc/ ^g'"r:0xTomG12<A\4_ #sYϣTn{cA+52kA07hp.Qf=7'}냤 sb\~hcT Л:j_Bۓ䙮D,%G?< \e:{dcպ̵άcd Ͽ͑g_ [1J'p\{fFnº͂&WJ ǤkJP~X}:n輭W"0lh"%/2{ Sj!SSFYiL$<e= W_7a-vdpI$LKI5Bp#0`,$0+JMwgYB0/wTg}Q>4lPgRAVn~Ug!`v8rnݧE~): I^Q_zTVܬOсdy%VEHN})/^e}UȔ)i2krnמ4ԪZƄJ2-SN(Tl5]-fGOP9MpD6iٶ' @gdJ+C&ؙiaa ]KVUvב>,0UTqȩҮxɛӨM#YVa&50Th ;U]هM=`$%fu;LmLA(!^4bujBh5{orL[`I_L0 n1F `rVqiad L?@B!+ee[ksߠ¯q:ݦfqrkWAEӻ^C7?}00{$CK+jMԊ˺&BKqڍd,d/ϘM,U_bW6iFt]3@.-+F?@ ^_dۍ'2L~ -%dw 6ll4GT!d*B/s96E*|(Շ*oN6UwNjcsZ0CIуAO!&GxP?] :'UT6TEa?졗F=i q hjT`lu @HiÜt䈮FGϜ ʷ'cwLd%WF|z~A)@fp}55v4lz~DX+KV>FYsƻ_u¸7ðIGЗl%t([tS Y{{y_(1ermY -)# !Po"+>Q (l<i B$"b|]rUt J]t"t,%F7 gSبg-O*x~2~8(5 8V .3Dk<h}J)wr9Ǵjtrϑi /Źtqg1R˩D^'LCmGb3oFձij);+uv[_/}"ו+c)ʼP !,ng VT1;zYPRU~̝wzE+聴C;d}}6S3O-t(6NƐx?| TU+ōb{J#R>d`P )G:1Ffze0Q int}1[X%(U4dpd:Ь";" kbEr9Tt3G5[1*47Ļ]XŢ8CY VTjt_u_^dL8Y><6^D1ŋ47 >7>$A b#:ܔE3- g* Ywud&sD@mq1SQ $+ ݊5v LhX"5 {;1{`Kj*ni=?NMI%"X^G~FPճTlgtI\f_0^<>aF $"fq#Ks2 #hL[T@)N":HrBL H k^Oj^{Drzwu%E+0&5Eƻ2 ڶkTlX+vcظzؾrÒ sw5Z8#IT*O9!C?7^ m/K@E]+=KVX֬Hߠ.r-0)dWtM{9(2]o<QaQ5 Kh r{nt0Pd^MN] Ύ]h^QGz <Ԑ#HSL7˲@$?5K~ԏEfl@\ؔQe *n9)y =i)Z^Xv iJj0Wc+&ɒ?*Ay !\<')vFL|6͎ mf;sHhI *KXjԍ>9]+=fKʕ卷?6X` "1/{3Sdg+}_hX~%JŎ5,}s\0B_1Ubiw~YȭGc*wv*+W>!}slcYOT8W3ƙFrџ0aPa@0@<1A) 5S}C5#\Zqx2%0 Tr=Mb]@ t{o*n,qh$8X z9'%Ŏ=lLٗ*7ic+[4"QPߺ~Q9hD|i0*vS*I?.3Ҿckjk~2XL C4kv(p/?߂.jQq;X?xlu(5d _|gʤ!+Z~mۈɷ@[υ >'Xw^QW&+&Ѫ3byv`7`x{Yu#t*ћM(Lϭ7-,"8R3̐kZ"[}۾ثA}zAkJF吤Ox ?ݑ הS#BT^8#Em[}aJdL|^5ULEQ[G@+n9%oXc&%r8$8OP{2@[۬85S!? SaRRwiϴG#;\ct1 3'kMϟRjvmW!"w]qvD>>dD Ƒ.g[?brKO+!'iXGqC_8":Mgپ)0nuE6:|] "v Eн,-IM$\AhҨ̜sI)Z/6"uK,^V{sX񾥃#jcÄCn,;ƄqAq>e9 Ϋ,O=CC̦,hN;D$'UO6wu?M2` u_Q&>]inE]I&ӂgPߟLCDdz *nrFaIݮQ߽| *Kqڗ?6VYH"\iVh#n°,zrή'v6yI4"QR6ӉWdE'oy!AXd~Ϥ}Y8㪀"̷`x>PO0ܡK@w( -'(܅J`DInw`9`eB Og%Vτu~mLˁSV`6yF3/ : _0ʬm)(\VH 0.E 4O0%N1uau tU=ֳZ-Taw<,^|k̚f0/ࡀ̭n7 %x1μ5]^oe<#2x'+(!1=Rj_Nq'Og^<VXd19w/8; ;fh^8QEԨ~rq6,O@~ϞBP4w&T8Ub.+g\ԪƬ0T3W/Y1%:sGZ!l{?5$fщ 0r_5Ɂ*%:!*!I~S.PLL3'x`Ng0<NWC)6,X/#%)H/gF|6ʣYl1B1[qJca|T0BqqsX@ux嚋IB=b< F/\رNX ȚԤM~"l]Q.x ruxe'hcJSa.tפD_5B '~TL843m0uifdw&l:I1jq8ߵu\¿3xq6y6^tE:$9@g PŎ dd["e&Z̀b7{:qFpvY @x_Sa^#I{>KP/.&(bBHo3O0jUoH[=J>~ |갳YP+?؁=ꞗ実uvw+qEQLUF rDYv\35FQEصJ(WAr0{VS˲i[=#`ԢNzLԏ "8`%z1jJCmK*,˒<*8Tg/lkQ:T9.V"gIޙ]O'M.:4|f`MݢG%\A`|ު3Gk@(SC^Ӟ㬺c%IKOK؟r1N#N4b{t,! )(%?1YY <[4[!ϸyP<bOsf@[d!W6f^x W|2\=<%CdIDU4Jv;*%%G dIISmu_qad:;H^`EwmD&_R{wٕl;80 T{(Kם N>*T\#5a5EQ_C^#l#J.6_%] Pd,;`>==-& pԳufU_s"Z-3fL)mG)Z&Kҥْ)("{l?):(8TBz8MPhklNԚQo +v@-`/"r((lHjBe&hJ)@8},Ykڼ['j*q_]DgUF$\&\LZ܍ Lb`9='Ӝݴ't3'e;kԿ})fxx5z/~$_NYt8'% u< u<嬕byEn-Kz \fIE0bKcMw CdN=`2#7TT`-CuՀf(Eb [c c@Hm@/Ɵy-6W9ܠC#t֨<]`fn 9C~*FӥVo`dƳ.A:'$)OB͘rjǒ {JV[ S-{D5BRmꯙ.Y'' @,|)&oPwp%3-ѡp~ ӮKzrSLV EhiS\۾b 0wb;uM=h8˔% F*G>?f Vu@_GH ϧf7Uëp@$[qy5 wFNcAPFGX;_j]V6zyNcCD1͍p,BUA[a˻jcg$ mJ.xEGr_DFWr=p A0Gk91=i4zi. [̑9e%; aw, Bگ@᡽&/[Yo0}.ǚ8 66$86-P=sܷAW^J+iݺFQaW"g֦CSg"NHʣ4g  `7B[_C˸ ,( @d3<)Qep9qZ烴3!t7bY EThvB89s* y+G/ 3! q)]&CNmDps5E x^v݀)t׷yF$en&0O//L~46 CIP\dm7{Ę ٜwy-8>;\-p"J$IUtM`w!m\!z$ w2s<ubJ8h`qSPF+ A\ٙ%C!!& HM4RU~Ʈ$FSCR$^ӹ(mC}0Kv\]v@eJ'J©L[>38GBqFkz ƈ4)ZDZ%7Ś_U 2*Ůִq]J$ͅɔ;* kP^17$<= 7WYڽly?k₲@H1g c? RJ CY,"яLѦ6ӯNqhZP?џ~XF@)7x!l UQ­A 5A914 'u߭SyL3{Igwۍ(*7a˿C90`I O ӛ}/xM<_i+CQ!:!4`<@vGpk zJ:r4xt.M3oVswE>[ޚ½. .cwXR25zL ;ж)gh7WDfC4\`U~y 8z[Q"j[?9鐟lÛfkR)tr(hڑE/,˷ $ j +%gP{״쩛U.?qެƒ:<hL* ane(rs3VZ @hyEY!M{DJKQ73*H ^58 RI5Еd;uE6~`®ewW;q7|2 qґ0\,]NFTGI1 @S%hZ,|WWJzcKl-3jFdqԮ1r9#OeqXR*7aP"IX^h1SQ(T젃$ ]v2ͯxx¶*e^h" +P&KB8OQ}I(dCS/аsҶTv2Xˮy0!}~ ~.ZB<1:䵄CP*}w3BtI9%W` ] $|wMQzWٺyQ(Y@厹[xI=-Y=vLqmqC9 @D˾$X=G-׃u, 4B鈤C×!3^t'q~ fkrޘQ@%3@`UvqApQwbs4Q8T\5'ߤ%Ym{m0` M2JʼnRvnjTv]~ڶG)۳ؼ2qpUX3hY4{qyH[~4q;Gu=Œt򛁻ah!0ްJn9p j)VA['rwXr['1^p|BFR} 'qy$R슯 )ffCβ^wIKc3'P8Q0:LN@'<%4 uupRh1XUҩs"[ڒP_Tb,2Lm)ǃ໿ .)w/¾9/ztO m}Hpl +ڡv5bUj^Ddm}4@1UǝYԉ+bKIf/!i_K)$kZQ(g**#y]d/؅e;4%m꒥x#.Zi&D qf:vaYq#+ǧEyF\ FH%0yQ幦XJ9?Ax@A? Lۑj}EaԐ^$LP&Ţ)wy+PI(@pG} m񊝚! {k3бlHdax?V7`cx:p!=^ !'K"/fB6"PS@` l@l>3r.(a `اsɹHHF^v\*sviC-b?g2*j"-j Q7PfAɇn.a!Gq$7,ްSj uXk|^|{oLI޲sjqԲo7~AҥrB2)ZJ7(7gۍ,*/3lLL+. C3.k"j b<\+t[47f-6]^gtw=z!?`OK="osW~׏'ëDȽ7+Յo/Tk{$'Ybm5,&,P@^0|bG2&jS>܄ c ߮'xK,و@xPt(vvS(Cԅ0d tzVZ_=7R'Yj@M$YsW2h:cn=R*a6^ ΃S|pg"|cY~f^fHF(gw~gIXS(#2 9Sp9.K՘XR}?^ 2BٙTLoܗ 6BimMK(I¥/} Vq4S[T==\=d4qq3U|B]ML.hꕣG#>@PʠXynGd."=p<\'+ G:i05azXqy$Ko 6o#rC2+7ֻn\z ibYdy"[lu` RLg.y}(IzOB @Dno/)Ǣܜ}'^M7Ũhm8)7"@k ?~; Fگ=h//%1€2[:Q:t{= Lu8E&@ KzVs%@ڸ8kvXTJ,Kajtpc1*y^l֭)O=pIZx-b9Nma=`6RSÎ+hKΓ 4\q?إ^JnLBaGȜ%4wthon>G&y*,G( &_ h//+%P4d,iĤ+,ߠG[r=jDҽA DC l\FS+:٤23yE-s4@ݦЈ VU:l}@(M ~{A 7ῶe[U*x4;أ@`8Vw<BC,fE81;! "w`[E:: ^/i);a>䣗xwC ?`[蒩zm ܏9*|&{[d=$?ЕnboZ/2fh< Sӹ; ;XNrJH\Zч2eMAe`YH<=2"ޡC=EaY}xڭ6#yBߪ 7'p* P ؆w>׊acQ3ۻw^G,Kg abier<>|/r:zmRÔ;נ&Sok*OH#doc1AFÅԵ;tJN5 @^".̍{XOLƭ\ `!%sO ;Lq^&L(x 3HPl@V֨DC?c=#r^K e]Xun.}YC!ZsŅ!%Hպ5[% J'e@N|*g.Jkv~ܴ (x:8sL)IJM< t>|jP,{R|j D=q l? Y(B]"J_踴/&qASuUvQ-`%&,BPaZ{PE6G{Bx[MNmUm0RARX'Yj#*XR!9*I]s--0eG tn ;f2䪡\im[YY$.1յBmcUwF0ѐBˮ# R'*lbC)-=P-&$- grKT1e>N<=MRX4>: 0L;) wVd[+ޓT<% c #T ծm )?LZWq.; D,2*v1zI&wb_^OA[Uù9gb9VmGx*ی;aQq&߅)QPB5x/iv7I4jp-:^u >pe-J"6OK8ɥÊ܆ qɵlFxWcWkKrb,cKs'hI>~5dďUIF#]U[@s@r)L|r-yv{o3c I:Ezzce!vuߦWOu09-J&3!,G/&)k5 ;,ǥ> M۸ݱC LcPr߉nJ <2^T*r#LIJ>d8-<$N]zC2WvWK\2mR9ms*/\bg"83/43Ɠ4} $w&edWycxIvIP.E :[b)w9W"Lڊ$ lFn>'>R =?)Fg~s>ZKZس=xzCwr{O bLy0ܨ[r| 9zd{NExC v[V>߅UjC>ݪ#|%Bhh 2Sl7FĮgí3҈v.E,1(Mc ?XoGY,75-wm3.oP:J~,by {l76՚ek+D* V%0qp|xYRӄӻٓӾJSSa1BDtlw [՝Q RR{l$pmxC$<d ˞ UYcH g6wцΛPXǬijTxaւ}gg|dZW!ڪ߁d~я죀տXS༠ZdG`$!^jQ­S OɽfF>J҃TV_^ޭ;} XoÛ5#,TeCX t~xa ơq0^˞<PIͨǏ10ڡ9 aVY=ۼWPK:&;K)e SR 3UR8,Pl nmA@,Y1&HNƥj_,;]B'x`5X@q@I s&!9M V謌NlV0`x.(f; o$)85\S=8pD#GI9wD?D DZMif0R>LiVIˍ MǜЄ:Oъ/4B_.<P% 27XEW fﻨ2J`|bH_wNvJ|74hYf412ZW>@G[ !:awn{ū^mA>DQq_\PSB)Jlk;2om= |dE߹.D楐:%ַ@'.$$͗F}`$sןw}0SFn=vlUzu1L3 iaا Ms}4fjfUlAp ʬx/Gxk-,k^D`*MF6EfPd}+1ӟ&nք=zoaФz'x9*^spI'(K(*C©1tRXP{/ק}VY-{Bq5 DBEJ:ʞ0v_| RORrcO@lt10ew{4-˩LZ߫<ŵhG&N|8<%5Iòi=}-kz=@Ŏ}8N0Si 1t*zOOa˥N1c=CxWJO<[-JGݚ͙3&Z~o}\C"(`NP!\Q`%@7vfNxU6Ww?t ]b PP5=^Z\\% @9Gb]uWBnӲ`1 Mw)^2a[V9yѺr%52lb!t`*WHE.HN0ɃNkGdkr1' j +/e(Fq9fS]J6k\0Wa݄ᴲ+6 \ٸ' JyVbR|)E5 Αp`ц.19"Li sFG @d7 l~U s#cA5pO6fL֐UEZTܞ8=n){S~桟'bRLC۪C̪WwKw&ű]wD n)۽+F{^N_7_nl׮U𐻞p\{^BJ)6ԲCOܫoc@-e؛z1ٮ5YE";WԷJ)C0\Puj1cE 뇮d-X|_?ȹSu =!ϷlNH+l׮7J%,^a겪VW2r賠&PO7kx]MᎽ!~]gZMb\g5r >Y;R7+LՉ6v3 d D7N,zSђ}h&:qpUO A80H4 9*RB K̫FQ:51+m޾*m*j(x _K|- 3VR>S |K۽F̗lZ>=i`ʧQȸ%kM`m ܃AO8Uej,?Y::1:3 Asyvq=lVY}Ķal,±"(gy+qECԠ,nS׈ѼlnߨUlue G8L4 58.Q-Jl{F?:@ޏʎN1?l}͞gՉ1q%@%5nꕏ^C9x v9J,}GqrLQkr&\᧨#-|'6v]AfnE<b^ Ņ'PKBf "8͉L'iLߔO"Xo&?~ᙔ3cN~($6j[Ų<)?$X eqTĹAC"Z^#FԂjAhLGeeRNvLG- x!xG1OCU:D_$g^av[LUaUvPrsbͶǴ5S֎âU@c'T} URUjzH׭EgQ ցz'1k|Ș,#~M/DdjU<%Wwz٪ e7 N1VH-L u9ֶR4ұpK,\AP9l6޻-Ae+Q\@+e=섩ͦ,i_Vύvpzy+[*21_?W2d6!dq?I cH_au?W,`4j*D-Q|/~Ƽ'Qy3AL_~kH>5:T2[*h ¾9|>3L!D0֤uN~G|tY%,6YY[ !j:C6?+:vĖK3`KŁKY/ ܑ"rosAP[յFn;ρb`oZWy)ͺއ{ doi*,B;B@'px5-ݲk->l<`? *+Y}@bĺmZg -Ò2tT8CcU4W>d4vsuT|F}ѥ݆r\m+p?0؄xIrp]zBmKh)u|nxG.5tÚx6xΚ5cG =y0^>Kx]k@oUL"wfQ_ T ?I :>ak< ׷L7^y $v[fhgqg$ >$Tcѵ]l|~56uɪ8o\,ȴLw~g|@MM:J֗}5ڭs+z'<^ے[Afs>s&9 dEtx*O+m*I26hhZO!"U^iZ fk1*YVsu4[yx`Ix(| =A)ܭⷦRBh1^Go]jYYV [ o79T'!l١b.bw% O`R΢{wnx'POW0(=B[CXwȁr -"2f69~C[1x& Uu(fmU^}t ՅLsr]-[t!o -ǧhb'xr&h&CU3p SG)*oЉ>G>U4О(||ĻgޣC'v}gx+u3m[T @K^yY&0[td77097WZ;UkkEUSˮS %w0LbΨ.0Vcy] pgkP~/qtBH0m+B>Q2n .oUT/#ؕ++xԡ^b [A=EUk_R:;Z9~ q=/Td1?7q-uX0" 6APN )yPbNC|h s|0G{Ĩ\ nj>[|[JGHf5U|WtY2ڍtYk?0J>9@GqXL\ SH Fvtmu.Q9:ߘRW?o41E֛P%HQK9s1lw[&@&N{B:Re0O︑W^b\ lWD'4]g/VyKX}iNsLQ仹Xzj>.8vXqzi|p77NFiqZ2 5Yhv|lJv'sJc`۟T*~Xu;Ubns$Q[uGM~^lgiR-=5 :2^KK\0iqP"ȝW\dB4- w8!7o ඒ0^޴w8*Eh.!z Q(ޜxQ50"n,c?x䘣+EhR9NK j3fjePuqPD 6 2VDx<~a"2 ?`-Pd)@*w4jGʏ^iMUcJNh^*%#nߋ+Ny,GiH_#U~+ʠѓp޳Ԙ-zѴ !b{3r<"q&M̖|'6x7aR!?pRܫ.$p2&y6P,'Jl>@[l Y;Uz{E{"|[YF̀?zJ~0)Qt{}79e#iX1}?|M{pv l϶):;o};u S^5%4_ aUR>63͂&|FI m4^;suQ=oo lK3s-S JBMĽz:jZA;eB8%ߪFwn5NP|V auDѳ3 c P *%hBM8JvwXkb ޴v率SV2OJч-2*/X8Ϋʣy_ A?%t^3-'Q4!= A;q SND"X,'֎P 5Z0{a0S}k/,~%³k6\Gl|Go]Y+E.E gi,n/MYUJ(c,x]1FIڌiEmd}ΟO">3ŲDs9\^RPyR/,%_TIfYS`mz>1,{ [J EKƳAOܚ\~>Fo(M/K]0!b t(c5#p)^;4njG@N ,[% "S,.`Ҡp{llI3kF(J,f#$!0eo ߥj8k`zKFy^ɱ HVEwIyu&'I˄VĪٱkIc"%DrNzxPޯc›3^^|'7_2VIfZ8O OERl+c/2adl+d//|͹klGy>H&|jOA=M+8PPϊHx.x&EQE2*i|>0x*-@ y69Eɚaa-vENi_a=CTd#cd . EgIgR(KM{`S27bT@ ϵ^]NUWJQ\WZrFu0$(>= β+D 2|zlئISDíXpA]Լ$G0n,7fD_G2k?}TCBP-E4%?C#/dy'(8ERD# !*Y:;V @).gi~,A] h*1qAۚb؂8,{%Wh$髯{5US:&JF)SGc aѤ~ט b tҘUf*ş+v8T|`o1BΒU)b%+Xabɫy( 09?V t<@CSGFܒ=Ftk,#g%2`A55>mxOӃ&8q )<|11! >Dd=Gϧ¼9DH7xw΄^ݚ+[jt10GRsVG! d/,D69KJ=*4bi]@rc@!0uAɶ8t_/ QKNKW5mG 5r 2"giߢtNeNW{ ^R=CVȵ(&26^NM%.)ruN\,<(Hrv)~/ @Fl6 ;(^ŘKYr(,~)tBܓR0Bp:]=&fmI'4#$sǙX+9̾ ,Nn ̉Mr)Cw> J vZp>$M!5 gZ[l6^zR+ ҟ f:~P|sJ¯<778`irQb:M !ܶs9W;D1BjG#(WrNz(+LVd5F,,MI?ܔ4VADhbRZ v.?J ZA pbzir Epᐙ*ŀJ+*r tCn*5<K[K4+w/{92SB rlM]D:VPiVXT:'-E[~ ~{yvIho)H}:Ӱf5 ńЈYϝ2١P, j,g*Z-'1ϤoYngB8R% p\uKe}*|8b82138}'D8zB_ZٗAD+U _tEr"xF1KٳJ&8JϚ*=}.گUZ* z / nd*{Rtüc㛭EK̄ 8Ë~o6.}^ix WAzs#ݜL S(j<Tn[Hnthl^8|`C F޻i^ ?I>;VtyK/ko{K4zTI o Oj5b*U0S:ru')B :Rw-iViCl4GX@ep$98[n2 G5,4d9 [r1kgσ(tu N]t1mՓG0n,AKCl4n{?sya[Է`a~YqcwݐOj[!O.;0~ A*sQ_hRf7z{IAŒ @mdT<~tNi@p [sܵҶ=*Vj;q[1a12{y _B^ӖDIZY*B]=%@?GJZ-@7ɺxBi?>`G9UR e$.i%-xVvEd K ѸWL.ShUge;8N(^9i.4NGKDJEuec#&_t^ڽ5ݧd0dDi&r0O.Rк6Xw5Zp(hjc !t  54v&:;S_+A ^[?8U`Pk *4>u@Ů1ʱUΌml1?`>5Гr BBr찹G,. jļFOr/=^Բd&!7tى6[7}iw:Ql?cC  #_ ,E;߶V)X9^W?tA91N7[JDs&;\.uɁڔs١EXqU(Ԕu>i,#r bS.4'ogMhO}dvW-Ѳ-q!Q1K^E}6JymS?ӊ@·#^ėws &d7QKR<ߕV$'QfPetĄ}:Ty /25Ѩp 3F0K֔5}]zY0և+)28ڍю}[vG z9>- ;9j`))_RAƠaP5wP:*Rpܸ!%ݤs}mv{;g5oiA%#)aStav(S6EׁYDI7h +9j7wZsRV~beS2'r5,4^j{r`c"|S-v+;w "4Gs=2?K\ ;t$ 9R&:ypkmu؃?Frx\fd,{~?neC)Ohm(-JmOfTJVpsR0x$0PlbF%QEM5ۥ?=tzW6 2[mwXW*UC>`_3j3-99Q|1vi(x8R=+O. ˊXM3FLj'Sݿ7(JXғ0Ϸ$A6hQy֋~f`n0ED> l='?*kV.;^KfdyT9ط"ǡo- jнVnԋ{t T&AViC*&?T9OIêTRx?җ{f3bÛ ՛?DH!b^YEԗ^"KCUqU|w5s3ۗ1o&`*·_1J.s2Uza a7>-WQ_.p^p{a} N ;*/bZ5Ump r&>wC(jJLܫA ȟZx4]f`mW|@\"ڂ5f6u^1%A;eV.+0䶎QV bJɉ WA[@`^E\9䙯]0vjᡉrz"e ͣFmlѪfdo`x!.Y?K1m.|'"~`7z,^zkiEst(si0{/yd!'y!)͓o,=}G3rIeW,{aRELpmҽx7s˕B;+Ƅ2x2B`NϵF?R!{k4#@Y<1;bHUD;א݉ʚZ XDcV}<44@6=@T8C%j`OK\'%YNS!&1<+[8eD,A (3^,яIpBok/9: TdA)XŶY y ͩ:I2νo)uK8qؓX Ђ*,sfbG̟[.s#oM2ųەTeZc9F6z~BFxC+xeNI԰BNDpr6 R\fQXF-ke":gcxHA&@pS9{-6 jGΩϬ"i+- |IĄE5]@JГ^am4P&SL-g&R3#xGfR\XDR.% # :ydR).0Hi{ d/2GE X.+.7ٶ`ms[~r&ؠ~S!_wlZ56L}~ؾ{爳g-CMQ 6f)}%>k=@5`'\:1M] tv]BK,m Wk+ݣHiYkCP7/JD|z$&Lrle]Ablָv>=CRW躏/شLMR)D2^Ee27OI=nk8qJ#2wջ&Lbj9OJv.OH:1þO/avM~a4xxN<Ԓ($+!\6dEGߍԿAhM4nUoJ)lUo?4@g½YY`jmk:A#Mye/; C䶠Iɖ#ߕ^(k~Yg$5tisHվt M %!q'WqP8\ 6O\:GwДyP0JV,Ơ֩{\X6!("ZpV\g@S:[U&ld}AGU$K |=,Y ꑪXgU>w~qCMqZ*w_3C ^ "i .3Z|B:[&,^^i<^,;FWL/(ډ&k(' At1 )Y/^IW6؁΍]. 㿽u`jjܔdɭ Za]rpw>rZ=c##A`Wtz譋M;ni#Rs&kX͹R\d/! Hi3KTLRV-t#nKez!B VRY C]VL @*1r+1?]˛EkJiWݼdcQZ8ZvGBDYxֲ-AJ%g !mrJі}/ [Z6&.?oA)>eR|L '{{"Yʭ ]ro#>=֡# Y1\dL_x C&n]ӫ8eWڎ`YSJncp@ d`GR"IDb v$;I2F+ܔwaO5F^i5ĭރ*h|NJ2BY3b-A :l@Qjepl6Gwk/p^\2џrNFRvFKv{brmy+O]v0w->-}J:<æ'y61AD %{w͡T9g.$%(q}2Qv=rR?)bҕQ dJrZ6O9CL297f8)^G{dЂxn\ޓHLhĽ耴U0b D8bj0pOI:ݟ]e`Q"-$S9fl& ছVZ.a^AseUda"x,x1 ؈jձ^!)hPy" -I d^4WdrQ$8RZRF&wϢ"eXUP֍c`#Z~LRj>v fæu{^(bo\.:2(ǫqP^#EOv:D_pu~>OYiC7@gn=7o`Ĭ/z+\XERiJ/ *^&dX#ښoLYnmggR4Zduz+)!ڵoXv9ߧ׋νum(hU=E +j蝨pvޓpeP^rk^WOλQp#ŐQWիCC*L2nbx,4fɶ'dzvt4=晲ܴxW8T޺M̑i#c8 I?tka}3%ZPV[R1W!"C/1x>=豂X`xAK®U<]ŃTCe]=t$w~Ҽ*#22s#[oO$mljg8gؒ]-O Bn!v`@eJ6f" 6jf9jsT7Q~͢JD:jCqel^FJTJP^pJ!LS)Kh3|*Qd{ h%i){P=.qTp7k_P{uX<hDrs_ ~;r:NU u$]{g^k&W9?#J[pC !CMi(  wkǁC'Ɨ@|4'f UֆVWAd.8Q .8zA«ttubv+_ҖwM^iQu)0X.\ymÑ,V` @۾#GEgshI9pV~@``h}PwL/;Uy?2"Z^9)Y%4<}BH)(j~^HU0KUζa= /?A4~MUj־XVGB:~5r? Z5;.Ѡ\+>n<;#<ć^2G&FGL$+ʤWj Y"0nP~ `.Ky1覒B$_e%oJDPOWy70Y.kiɰ*as2_p^^X.PR"ȷMfǚkfbt!S("F][0!<%wD72c$z7İ]R/~] ǺFb/)g< 4&=|JjO@* ]z!W8 nYiXlIܻ “WWv]M%^eqM$׮gAmݪ\! -i VVv̢G/fyLey':k<4PotPC߯DjǪ ,bHt+0̻r*2I@[zpT~;'l;t߀}HLfsL+*(omF]c7$-cJO4}/Fg2eG@[pPܓqJLr5S9~6q>$P+ӆ C\eB( LUFvKNAu2TŤ5ڭ6w dӛ`ggVz2; ;bPi{zGÝ/{ H)/~wHkoHA>E|?.P.)uYlR+IxۖgM3^gihЮ O2 6X\D^:JiD . M#áDHudWՆR$o>*Ãp5\g|zrm{" !Upڑ"Κ I!Yt/3L6Ծ2;wE4jlr ~Yob idd P07hmW:g]ovgCtc!*A` JEMp~r= a£j1[U/ %kcTID+Q_d2>DO(b2HӒ #xP V!As$z_(($S#^Z& ~n"h}5Iנ˿m4`^TzLZvufP߅ ";:!I?V51OpP݂fó9篃4&Ouvq,D=$NC*v5eU*CPQ])}2!3 A7}}d7.gРWSf>m)1Qi+jBS'جGx/0 LΐCnjը!I?Sp$yZ N@Ptq {}Rp5*1iS4߄z]Ue =q:ь2dž {$-XrY&֮܄P,_!LS-#R^&Wv6I@47]RD xqȽpqBF( {jwErx͒Dh?—,yS RrF-IT7냋;KsAiHFtF\,EF [ǹxlxcǢ/ O.5t:p)YDB#<+yY*b:^V~t,DSd,mku~ZW) OP#C/cDh9#rq:V+U.m6p7bz[H(h9+$38)ڔomtы~==0';S|Ь=G$|{  1l%shv .bUM,\c Jv0+^Vc zK )+yarnXϒ)ԧ2'g.bTKәA.?'yH93%WI)SteeG uڄVN_,Jlqྨׅ`6)2oYׇ7Ȟj6P9DQ븍y7} I}5VG*p# (Bv ^'N(A=j]hR$dcdw Cd%HЛ6=oydK2Ƽg61SYSP 2SiZw`.tLㅈ;X!bAVDU{5#'1̈́/>j#.6 tvɨ?6^63v[JgEH0YӀaߘ8=w~9?Ghf!,cu뙨|. q-muK4NR>?N_I{iAGNi٬7=¶\ BY~"36'Gysd^-4Lk~gB>Ě`zҟ U&) y dᒷ(mcnqRȞjT}I`' (;RE7n2r"U4.e|Syj oYǘtfVxa䭈5d+}/<Keъj02*D,ݩNg__őks7DՕf{1(a>w-#{'*kQfYV>G+%5 OԖA~ŌxmLx4xɃl4 ?7k!\)>Â܅eN3s.Ӵ'b[[TJiLj_2wm<+ed=/q,&lgv60~P}+WEUGr~U7eľVp ,tšs[)e {ɹwBk43 'oǖkNZ.`Gq2yps=XI/lf@( 98>ՖqPC=q@L  I? w!Z>`ؼ_nZ(?7 vڡu[:Rk cr{=ؽKpd5.X# *\udKxx{&`ȏz`{ŷT\>iZF /.,Ϩx_3Q:6W} A^8+% YQ~p>&B$)ջrtQXbuɎPn[[_)Rӽ57Dkyj5rG 3CΞ!5>Ašy%V!_͢ɲK5P|A ZT4E 9VQ9HaBlX$vygŘ:?T _3K~N A)m% fD7*\o|Y w ͉5q21oC0q=bҘٴ,Qr EpN"@`s1 @t&JBنH{#g")UUho>G^fX+f׳:?D>qTԽ~ ݒUY 4; 1 )rCZDV-%spb M2D,nT;sn Tb =;BDoB{Lօ"_I)sV;QZ'G@gy& ̙\mkBGj4n&i-ӥ6%>es2~Q&8~֗zHrF8̛:iZ{3}-:uʼnp&T;XslsHgsx^ꨨT@-&xu{WN4M-v,w@4_ns`x GJޏwбZyԪE4P hiJ 7unǴaT&94D:޾"iګL`TǙʘpʰN';Cg~ v,QJi elJ/;z_Q벑ОR1ы'M:U"iCi>Z/b1y>hgUԷ6-*kgD:rF,*IfjZ Liv;$WDX1yJWN!Ý~Tj`^Ѐ#z'kRAzS_ dȆNzwoWov~Y:|<2a8w۬ MnYޤU9hTKS0dTy`z/7y`: t4yW4^2a/Nܳ*.:Gj ÆHS AddAs٭e D$31\8]M8f {0%{{9ÆVhe<G_z{֠Ԇ IegF(ڎF W_~mnA3в^Ձa:'Ȩ1) ƫ#Bi0y׀ i1t[NVvĸC8pc}=,Z lY/^/AuX/\Ñ)čFѯyTp7蘇ȅ;f?d"r/DHLF ZDψކ/!{6Ѷ=g$M~b-W։'[$ά[~7opLQ>q WZIvGں6DD(ꛂdH?d_3oPILiU1ҏrmނWJ5Rߵ@An8/y!| bIθd'[խI \4X!$Z8LL:V&!dK-5U' iChM=2{stjVqY%[o#􏯲6Fmֲ`Dpط+x#0 5'1H=wK @{/L}fڱMo6TA--%Oj0XЈ Ouj1trf TXcUR3\liߩJHq_a(6YeW7ԝ=>,G=w[˞5˲p2TV]㪺pfgsxv"bOjio$ų8lN !xW=a6h**|u-Mu3{ᚉ0KZ0+k~`~lЁ" 9=9cQ0]zD4Fvjc# &ҙrBgȡ QӟrMIR"%PT "he+~V-$:j[p,-D{6y[2uU^ނmOssw֬on`jN3 4'gGHʕc5/tYTyǞ_MJq *2ڿI X|XXn%>U<Љ܅ρz 4-G1`V[ʪӣˉ#H 䔂97 :_CX|S-gd1ovDׯݳϑKO<gd@TҟK 3+$d$;?]23^xgKix[-.g"*jF"*俇{lKP<{長J;H[!-ڪu'brmĶ9b9oN6RWS [ij5= NÀjݛ>m͘V=33 3sCFt^bhEgVK e5z^ PD,Z8=!j<*;-Ag)?7,8)KtPOQ:i~L0kS3R?̓~ LVaXgZ_r]#e&$GwxAs|UŋEʗ?txǽYh R[8S.>7k'pF٤\zzp%0F_|S{yzjbnci?9JX2ȅ04hゖ:1݋):yq7?k~)7s W鏲h% 8n`Ҁ[%K m  hn?֯-̺HRTUc5ZLb/)q8o'Pk4{qp,TZȌ8VɩNQxu.:U='cZSo{]~g7pT6՟Y7i^_BÆjk@(Dc"ÂE,L.\ kt#GCZߊ[U`рzpj\wlW9|(g%1X KOZ)7JQL=6҅6tҠd9VѭK?BC29V;`?{3C^')> {wl6I/2BYը!62"h U41͕ME*@ +=Hi*6vKcwy=z+PloN:#vz6+\2q)^̞ .ݮuT(+^WTGۻGw JGҸ #Ἠy\ lPA([E[& ڂәGbuU1V>k"f "FCbSmG;v=^ '2G '[)5=;Rʖ6yupΘ,^/tMRVsCL3%mΒ݈pNWBKIZ"zvȜ$8`]"վ1ofpcl,}!.>@OCTNaA f3q_{kE초8@Z}Nx1j6#ఄ*XXOB k‚F/O'E4D`^}|hl1vI\U:䨱`2 V|w@Nrz OBaNZ8%1E%:rLA(ckӌy, S%f}e[-_L#lGRL@ 31'sY(!i1#NQvY4eU2E:v)e;,^ 89L'p+XcÝݣhoM?ޠ2`$/[!ag΢iƯPVƣ>A$dGt]f@Nq*֢_3E0VŠv@F젗 .a2D/gMOKOB\ h8]p28<z+|b!+o={? Z{ J|B>j_`o#Uj^x+ c_b*{BʹgYd0`cg]GI`"ͳ|/β;6Tuw x&i7դϨ &V;ܲkqt*Ϫ[(*nST8VSc'C01%(q/֨_,2 HFd<þ`YUR+@sϙx&*qB@yX37颐 ZO<\ 'Y ؕSE=_zT<*Vb@y趛>l3\wfu,a=/&Ü,~Sk4s%j:!(?ko̍l!8blUÉ$&nuoV"ޒ wvxC֮&l)͘C(#694mJgGD\qg%WCRpbAf+dd4Gϭ6D4S U@C 6HK >sK%/ <7yFa{>NN{&ISM%V́|]|%e43u5_(8kWvM*5y wfq!K4 ?w3ZÄB\wsʍp)tP${!j3|Cøh6j ,\G?yV޷1Sj|)n̤C-ԦNcLjD~N lꀒF+>ӵ7y"4ꎟَiS ^iiI=kH%֝)B5n$] NrFY$Gn'b&#V:\;WĐa??P H;vK> /0f h͞b1g"y 7%Y lptl"; Է\˩` CA`c/sviKjX?9vF(TZ1ʴo027˦H6LmsH[ޯv[kJ%m@#sy}) Y#{szo2&.3exp +nC<:w8Z^s IT(>X԰{u&cy;;줻w{Z'~,=7i}!2+gR^Pf_ zed9v8nؐ+[9wdU'9y7< r7W /T"x~U|&=KT_q_/P/D`wCͭ*S4C+jm(>(Ϟ=vGxhGb6 V(J8=&,5I~-njTm'ʴ aYK\~ \3De(tB;-͔?SSܯZR8oyVVzޥX8)g#}=< X|Cq̰BϤpd!#1{dm7qѡmsvY&T]S M*ïߑu0,=Un1x올6)c_H {ʧs|^SѸݔ)fJ\Bm)p{66r27m24\AGrU< $DS4h Zܩds(V$C&lcN=+x\랬+{\D>Lc<]wwNylYLb{6aBU8Y)G4Ap/K_:xN 4A@xxi|F.9ׄr:>1&Dr}vLsĕ 3Er,[a(F5zRzFW$ji$䳒TD :Y4=I Jj\G券srDb Ċ;4r\qd4r&tG&p,k~L~߭a1IĊńڭ}9`a~=sՓؐ@֊7@g'۸>ȓn?%6rDGzf /zh6P^5n7)Gybѹ:Dմ'$4ǃ5"v/[+1-4TE0]@t3뇈OI9 .k>7|ek\Ibdc+:q0Zi!u![Ɂ]j cfXll EXm"C!yRrPYZ1R5P\ &\NnV&v7J*8+&-n4ޟ$T ?!ܹgUH<==T9. S2e>Cᬏeo+_L"Ԛ>( EU;lY\=3j J ġcҢ^xoImi&yfІx]XiC+}T疡5?N$9OU,ټEa ?GW}OsB*ök/Oy}sc Cg]aIĢ4sؽ92a]T)GszjGͳ2U|ʲnxU?as +aH%'SQ6?wYy-zǭm#/lY\]Jo/guS 8M4YlqOcYʲPπN(t7Iн .Y8rVMwG_HqdN=U[ye3<oIg\d|~=Qܚ +:YJ_(S?˄FEXy'SfQ/aTkb)6w~"7cYt??&%bz%ˬNTqHRB&r;ACy' űY0$e>b̗,qy:ù4Y}~T" v7^@fd挎j}rGfO ?I3c+ܨOC͒La&c$ftԲDfyn+- Tl!:՛탖7/򂑵2(|\YKv .3kk u5n S̺}N5tԾ򧘪Q[~z@~ښTYp69{OCG(p0[mpu1]㩜g1w1INAƫ2n&Qb˕!-O$C.C = *1VeQԷeݳ*ܔ(Gy@<_n&ȶyrp6@g$> U"=2JüGMv}W=]@: / ڰ|dEE8+uFQPṢN ۯhrLr`Ӗ1,Dm&]H yKv א[cuսA]#"/x Wb@aRz㶫jfc=72{jѨ::.F? O&Co`UQ/}ayٲ36CY<{f=xJW$_ [ʍsWmByˬm#͞5F:0yu[? ?Bx\)fhJYm!H+3<,Kx'P'qo_hؽl6ŷn INy-! zL:b獲^%:P QM87!Hχy\$n8N+Lg0 % ],W[?Q$`|Z( ~wDoxE¼|D)n9L; /^_!c"l8ӟ71$SmIW#-'>6$Z\2'"X,kPsZ{To Wo_ע )P =0D5 t0dXO;*vαsє \m*2|T0x YEL9y*\q+}$Ok%{\odScpGXƢ_[b8H /xYm]x305=&Rc>_M_[r6y XaBmɶ67/F_JAX4WBO6B1*qs En֥$13. o!xu@•" xys*~w 6u*Txk> A0T5Σ?1p7ML)~ֻ3naŨ'd+g1j =06px CGVYL/Ms[c?p竨Rah-xv^n!tvt (krJZ5JZΉA C'Lubn_bLUCke  cV]Ղk&?a<^włx<&ާc֐5ǣfڌ:5(` eD$Qر}#_n+H~cVfEJY=s":BǻsZЮ,-ELSO 8g[CqAF*@F޺-:f # u6:Qr~:?+~IޜWC,ƛż©oEHBR3X7}8WqΙ, iA]F T˲˹kn+S_fdg=}B]P/9h彰@MЂ&;(Œ8e/kIrsB)C4pT`^9(z[O4+ Ye)v#{GѺФ?3Le7>"<ӳ|\[TҢ1(waњ)'h89^ƒEFA坣TAhT`Fߦ0t$pD,=T&J쪺_Xu(TPA~xb רuDܤ0Q>F5\ ƫJ)Bȶ tO!~4^Cru+K&@"^r(ոBe /҃A!)8z09+'+I'LPBua%cH>Bgo*tlp3u9}ύO<"p,ݸ.$Kth짆5tAO}]Xx*qQ~07c(uRpB^ġlf[By1٥.laZ*q\N:Y.LxY"7?`!ǀ،0.m6c*ᴌDv]6dp 6tl0 Al4 X )bm^X".2+ >fDZAi5w16ʴ<x~ptLqfQ 6g6_hj~K `0JA8~l./-'A9 ×yǦԤRz̫u ^-1 +}*/YpjPNqfijΖ3ʝs::YBhxXA6Rė~ hf㾠Hœ9F|HZ0xT$D `'#UͷwrE}7}SۄQBhZugTCo쐉K=80-gZAoמ pik1، YۺwwЦ)W$”X z(C0]/ fwsz|-˃5W/ +GΥ_ ԁjުNu fo0'XDfS%:+?F~iۂzSxRq>HȀtP bG7ݿ Fq!y37.$]@0xH#'$Q_?C%̟9CѾN{~t0_yѭ|`0lP|v@6Bk9}hHu $C2MouݍYPnAa!kSm攪5; he)ȗb5 MVD926hK ^ajd9[v|?_ ^dU_^qx:ؑͷjݒ'̤*m;Q,d^Jõ*fIXc`v j`vviL8p>TIBlI~[qLِCC:u]{C~ Ȯi'!͓k'\3lx&pnWwC:2|d1I8 ׹l>\Xv|mu r(zg|=$/RuTWcMxv:LS}# # I@#uC'~ l9OWϘ!]iLbjRK&E j B|:)iJ}X0??CK, 榭 s/sDRpa}mƤnz2YnWSR<"L?:EZ3'.(5SK7'.tFQs3!~YHj4h ʹǿFa IK]imbJ).鼟N0Ob~,q:([qfOXC"dMe׋ !Dm=mL"c@|3 Z{գL=4mؙWVjʥT96](Qp!᭕*Ț]nUa2zrw=G6G=U ,z`5i!gz!LRI@cW9"杛am#wͼSvRy˽eG/V*/<ٖNDq3Jq-K׾j) "]7vx2Ф\Y^g[(#~n4VV7r >Ấnk1 EʳMx8jϛX4П`K  ~Pw>[ Ǔ?dZ#i>yٿttyzw: hr[S Vjx}aH73:q=ȡLV$*ڪ}?gW`)pO#}lF: _B JVҴg8VfNgz3C\toG7Æ7O)ų8\.1uvTo-ڝ7aM6"н*U\_P,«ڑb>ԱuHOԬv}7*. M݆}0ONB\eg2ʥ8.j DG\X6RzW)F#&w"w T@H{j o;l+:5sqW~!2M   ,کl y.zΔUlqȠ.$_TF; L oi?p0kz]#ה")5[1alS/MOZl*Dmq'+ATܘcF$=xkO|׋I]LrQQW?'/ɸ֤p!L#$ǁ~%9?dŎH%h?M!s:>3쳫xifIǻE=5'sGs˘DA *%}x*ko~eE)Nc"f~#Pq1dV(4;ixkgG;"XlrC鮎K}G>|=MQ Cgӑ{}FVq:/ 1,_X@ǐ]Ϥ9>{E*/>e{Uo86ёh¤ zgvlP/1BOQJ,zm{Ac :jOFԪ? WCokhZ3ph (n}kz]6~8v<{!?_õp9'1E/>ʙWyno=kI 5CYmU9MJĸ_%я믝sq$;dMNj]و1+i=ll@WBn|W,u9hi=%kfDMJ "JOr%_`LQϣQR|TšDD xB`dbbT$ftOWg(6/XG3wXY! <.br܍OT% B٦]4Ok1(93h_Y խicYnH6UF!C<SqoL@s9 ?Tq9muVE.GUR]:Ѷ|?fnPIΆ] Lb}BjD9rQ·Ym*EW"l,rgȼݔLX0a?nYf^;]x퇅 nleU,@FlȨCoև%R^; Ilն&il‰<C'Nc I48B]sg7M)(O% LߍpL; 3(3ⶰ8Xz}v2jh۩Dʼ~De`gM?XW'6="QH ҜԸ+ {k:qF Oa5nRYcXiL i)/FGe~/s.!dS+medzu2T |NΦP5ٜXn<-L!DTv v⟐ X8&y&_{da{q=M#ZB3wE?r-l+144*"^:fQ'TCCa(6d>lU,Uð!W.M_|(L>ށxl AlS^+vL/˫Zp 1K7>VSr6fwHu~!\{2{*Y4Tj0? g/ qYsED$u4nax*MͲhv&{amO=*0=mJ?t @ o^ӿtdoʢ۫$ƦJfm]::—$TG .='O҅+$%% _T}.Qmy_˻&]@ՇzzosH 8ܧ+*VzS7ҙˌ?8>HX2ssm败 {XC[Vv5oI{ M@.ts5OL^= 4z} տq?z<`ͣZ[TGJe.;'Nor yZ]؜M3]T@,SsÏ,֭J5PG$ ԰*_RCy_=%ݱ!~ɊÊaas[KA/19a' {B|lH~i n7ʹ¬'z[??e&2})LDkVL 5͕Khs8.U3Y‰>opZJMu D8tSr&>PD5qE]> Jo1!C]0DTe,3WGqg÷IMĒRU0: szpI6C*6.>uycBp&B/z.\o ^%lx"O*Jyd<ډ8\N1ZjRFl9KJ !ꖦ>Ȗ8c|2vRႇ!%KAҨ "u{rj}.!Nܼ{p:nں&qr0$p/^|~ǒxfEa$?F~qfrWRtaĉ; ؚ!DQY]%&.`z0kS{sK:H>]%`Ա>)c#:e.Iߡi-ScpM2!aԄz[\dʔ~B EH T fcU{Jl >{kTܣIE [Y;J4t˄)uZX8 |io-;7o>8kFЗ{v4~ʠEnoHnk4?r 3pj%*%s#@7~c'+6Uf+V8?=XG>QK%í)ODa.87ҏHŰjIg!;OK98@Joy.;]s] ѱ`AO~}uoRɾ79gLyYBoѮ00K &V Q`}.s"&aZHk'>a9]2Nf;'Vc֏nr4+Zj)ޯ E$, izE0Wb(֕_O1I-:-О}Vu[Z+nlFEл69<%$U;`gFI#0<ٕ?Oe.o:IW*%=ҌXT+>$2%A\[” +*z}>bs?C?1n-^ˆ]*=\:|T d HV1yDb^cD)smYy3a>,-"ʈ{S=ˇtlD$T39|,YfMJux&< \4 TEZC7K 3@遈{_DT]-nJcbDCU٫NPfgjB_ujl)Nz zu/b2Zס *% L 3aZ5n$4D k/j݀@Pbm"F<9˔*sCsoUqReB"r9VO/g )eY{!"25R\ɶ!ݑ[#w Y%6 (_60hjASTw?E+y?'؁Z*s1V12/K1SFbZ_}Ԃfu ŀn1K֠g !^Cr4F>*i;VMPe~M 4wnbC:i06:e |;jaGO%|d7?"WD80v^IIP!*ix 7KH2b&! Lw.Է\ z'ͻ"'C.z)ӣoƠ٨M<\=3[S-Q.<- `Gw.(V%C2,hCo8yjV}+ `NNjQ;zW\l_hb4+))]#t}2["΂`'g)'G<5'Nj\%;oQ:#Sƌ q`ۯb_IMHiJxy9y{Eg%Gɬ2L LGT5BL)wM_U6 - "5[ ueekPދT 2ߎ6ф,-oau.^֠7-JB+($խ2;WB oD2(_0/L[^ʂDkwB;LN`ԡk`]2~U#G_] <h#xc y0:VM=liGt7_@_&+pN5!hszJv,FІlVͷ =_y9.]v1ɺ|\MtK,8? Q&V{}Cܭp{\ḎrXTZ>AIWg~Jbߒ8`Y] kFlt)Z,}ZMHGza|Cl3T QEBc]ĬUaNۤga*GFF\WC^|&Lxb! ]_Ә#bg<$A]^k?@H` xv|7-cόi2jJe;(("O$}z1Vw=MwHVXEg>/sYӋUKJ$ 0%w;]66jUÓfb]>E3[pՃ>+4yA~ 4"{Yuٽ˖4k9'wִs?dⰃi#%Tya>`Sc+x<"]/ gT,qHNݯ=ɯpoɜ1lSr9̩XNLkqc=xФGĶ,p2:6GyINmuxII%J&2Ui #fC+fԼK)m|#.zhsMkm7Ԗׁ129a4{g~P3w|[`S>X}E<} vG݋di*H.~#`5p>B׸uűӟi:oP!V,#qcx 4÷jP- W&PK@. ho>_|B$K-)P'|k]RVp#,p gF~1sPk\K9/f Eoi MxV2s{iY}?⒐^"cJXn|98) %"Iũd[9`~(nGvwJ0J$"%'ɋ?t]ma,of,ơ:f#t y`>9|;)_i*ﯛf4E\ ˒ 8\\6XZKY̖@N|n֞Pd#!6SɬS{X@Xbo,mV梉gz-<TsMtKFۥ=.s; =s[x 2)ax/A (/t_R8cpuCE2Yꃓ2QR/v <;,h yd% #xXg;mE1\V姍Id:Yi( O_e"@2_7R"e)ͳJU6"HWx['bb)}+NPM[φT]LkTi$'g3!Wk~hP3NDzkd)7 ٗ4c|]W09|?(yJqڼҰlڲ6X{ t o,A?+҇!^ iPJKsu"bվv#{k3E*H[ GX] lN44aKBIҿGPzbLs%-07o5ܳ-Hh U"tʦW\{WDJ}8`@‘uXJ_fGC+q`4x<0}"Aڑ nʋF;|=;>`0(8>L4+xgl ˔cm>n 0r ܒl"ӏA g J!?A+<:ϓw?^޾, ž. }!g\U~I!kq È +-kצ!EM2y(s~!7!bl 9P"0fqhS׮[\46D a\⁒E)^Jfscz~/A)K-ߘ@h0['B_]?)«,̩dnaCpW0;4qtTK(>wr\nZd 'zs L p@f eapQ1]V   ^!;g$uQ*>đS\ FʨJҖGR7x%87 DVu/^CF"XՒ;㒢t6L୬9kAhtn5o(/d y"a pDZEA[vK u9ٺmeIV5U_DKIG鵧waxeAGsh! z&>#I܈7||t~>@mF.e67]|K5{0v--Ð lFKjйdžOa4>x\ۄzː$H@,>bqaǯr7UW=T֫IrLGn\`Y]ݟ;@x&I_'YtjTD'' [ PaKQw M1pʇmMeta0g S2e{,oXN@C^'iKHkCK*N3W/ϦL>OY hַH?Eb}l4|x uE'vYVCwQtj'S>O Hbj:g iE?*ey: k&x}+J7H#3_ WM5N]@^ఫuG`=#A"?BLώ WDs ^>Ύ@_*dZv[t[Jz4]Pz6S)E|fƒk(Tj6 (4(E'ԓm@axUsbn WeIOZ~*e1PK`2?@[zxv'@fQ{H :Nq< ; cyJ*uJL(9:FTz4#qπ :cQ}x-S0.uP}7fY6{W;vR[5 %8DՏ?BǪNcO3 v.|Z\[+"m*N'=5kJ,bb y-؛o8Rϣ_%-8 >%*6ȇPb9y;bWsQ%. 36bYPJo7Uwy.Nm;ݩ4d>KJvS,cSi"A1Sy ?~I, HUwa-]oJbFCTmu˅מPZ " ):=KW|-z0s5^8U [&i`H=G>2LЄaD^A(1 MȊ`aȊm!w|n,3A;z[_hNj :^ 7FT/! #IEeK.aTƚ^7֎X5nv*=& ʈBϗih?4@wVipT\id|Rk)Fk'Qb|y<䰊REl3+ khS܁fu sM*DumnjAFE|y}- H׶ɳu(`avV=/-3^4 i¿]ɫ\U&wXjSIzr>\-Ch3kL&贲F\,-`ۯ$]tx`: d]zyzoߞ ]?RC߼)2JZP~6rL6NpEBa&rTQ}3 CJL\ꌱ0*C}^Y( R땅 ( ^i$W/ήsn06!NCúivE~mq_En~("=Y~y' J+h'Saٹ"زw moAChb3OwjX嶁Hfd ɞ]"aqdu=Iڏx'۳]nH@?؛Ǹ_M.F#P.Ԋ~̇NTaFoݦmIP:ӄJ}D?ݽ/dAWX_陧c*5I.^3=~{"qMseY}q_rP7hN20ǢuG6\fZ-t1I1g06)@% ]ŸT̚1ig:|>nᯝg| Aگ\ӆ7%Oq:!Gꁕ t+s%)fff#$V< 3\) 8IchCD6/:MRNV(`G}yoK\r=FF=d ;Bh)L2|!Ū n<RQk UC0|bu dUx ` *#%؄Bbn0IHʬ˽<l>؏1uip*pe.O DQxLr眎)cnGβaOk&_#:&6A x*qz|Kڌ|qpL}E |9ܵ[yy%X) `q&9;>kQrm[F_O+xvH(V@ XW#C)-.M4.\e;JPpCIx&jK isx?Yr_l%XGx -*T/OY]?[M::N1ǜyG!f7ՉUHIPLk#il{x}[G>-`[b41Mш ιGiP姷 i&ʑ`gΊmPhHqFe.>E7#n 8Vj9dY}+;Nx_UiA(g Yf!ntW5.O1>;oΤ(qDc{|]iO(O>6F{HcJmkrsV0PzMtpQLU*!c dy vwk kRXqfZ/gl蛸m{8ID!n#1h_4PMU ZxbzDŽC[]o9Zᘡ#4aNQ;c1 ">{lHe\l3P༅`8 83$ZyN6Ja̅l4dwvTt*>6ϔ̂?1YBpf0Kogl4vClà8-<HdX{kW\SX6nsʠ+ekEAڝH=52ѝ¢C6+oGYA}V­_^h"9I* < RX# ȍddTJ 02/@1NY͋˦K5J:;fN^Uch+IU(_*mH i /J]¸3_mWp tE8)?15\^3wS/w1Nǫ ,fK- H釵 .xӃʉ Jmau+5.#ݼ;4yA-v LN-fNIiٵx:]ioQj gkd˕?,5u/2P. f8+6ÈSix(j6݃q] pI'M"Gs~[p Cl7Xzf` GwF SVSH~ Y~bM_~`3{}p2L M$-81i"@x5/*UZHc̃5:Z8 OnUʮ+?ОJ9,ǪPMw)Nڰ niyt^]8o^90gIٟ >R@Kcr| 0g$u딁nB:WH̊JHu̸-] Z9eLf1k7s:&ηK.<2&MY|%*Ϋm{(>uA٥唯~UN- @knw#?xK_wUһbZvPm DW9b <ɇcYm܆ >'mUHQ;4;T!(r= a.?NHґ&<&4eIQ= m 4,@l$ʞJ8!֒e?ud[S+@XlJ$gD|:2v# ֑(ڮmPkm Qe(Yo҃Ok+tN1At֕iN} F~|x6obtF8cE>ޠwI,!_¼' Zep*`$Wl&p z<IEFiuCPiC,=;q)c|ҩ`w/ځVdޟ {ɅMg1yqU)"^R̫)5#l|tQy$NX_$axo"VXM4d,5VƘ;v?|S3ŵJVa^aț=0<+&3&֠lG?d; +-GۑۻsG,kOrV"N>1<`2 yfvi9ǏpzXz\br|@܏zS3 w[D{9 P/W>i+{|9?}yh +Nh#-R7Pkb\Ϗ6)CM/A:t̽̚8(xoݕ6M&.Su} W )cqB '_`^v K~!r'x`$${*.?Ƭ|pfNKYT7i M#9چe0s)酣:HFuَa_IɱQÉ2gDTn5l󰮴eӁ בRđŋq-[~w%nKӅhPh3®CpD6R.B4u[ R!}EZAf.~c?sF449 :wߢP*H]@x"ሱKxv;J#Uh\ϴ.^zu.i(6˶@:J("-5I6odz}SzČ Q x G)GmKO?R46_;o4 $쭙]եo 2{ R&z fjbG1.x4}[v S]D.r27kl.( f\:!iTO,AQc Kxk-8?@C[hXR`_OcnzrrIQ{ r,%lnt mNYkvk)c9MK&Sp%be+1abHYC#>jӈ'-Pus1tjVB'EٰQVD{G2B]Ʌ<{kM}!ETZH ܟ2Ho9T0}͐i7 ,/LIkfiŒ!JpLV1e>bJVcKFO*IYĦ < ضRʭX[3bYIhOT"j w%֣AX]*ɹ}uJg^ҫPӛ~EͧZ-!s (5p/aA@\l=[ʴnJ\N,-"'~XZCVJC>*h.d+ԋhu #k#AYj$23M(ZQ&!{eJ:ö٦~rKv^w,P̡jkKr8M>T&Y :Gъ }"^4I_[z1l1r!bbH ⅦJPZ]t&9gw$cxeM%lHFQP,]>ceZdK@7E\vw'0xQ*n~M1ǼͭST „Sͣj3!9[P]Ḽqq`%{$9`br .sjWx& 9NFފJ׳t!ttu|+ sNx(|`czYHt]>L<(o_OBG2HBrW`AaGFqbz.ТiC4qvQ^8!U3[-ʛ50/S+Cc#)ItLCPLr~@I㐤yX!w 6ۑB^*sml`2NV1z TC:ycĚ Dz =ECNw93~JehP0i:X m꺢f39n70ҋv(ni|\)jm!Qpv{J~+U i[ x:+MA JDPӬS脛^)'Vi(5+ {&cWa~K=}e(хqfe*W85R|ټ6(W#'))_=W*Z~KRcJ ?5Pzy鑑zOgM2 .1m@LRs\;Xn֪l [v#x0Lc0PcXnd\i '#Oy<교Cjyï7G|;?68.buˢQ,;(D#y~K{isyWUKɺwOy6Q=o;+_wd*TWqَ0J )?Bt}2Y+i՜T 8eN>i^kI: `1Ȧ\^&լ),oR|튽0yӻWs9YeЦs֧@OXq7ic?٬P,{htZ ?/61hf}Uk 3\3`@!}ZrC&&OLNXH=Cw&/ v1<ϖ8 [GcVDOPOYi0Ca5!Bd>+]Y]?*Vx\&>}ݵTiL; +ZR=x70:Eg䬾|şTd/ziSqNFl J!K+n4`Eq6g&ی`J}X^*x^&{SZ:<4@u2Wzj?L Phi0G;)*֞2}|4ϣdЈGVg;?ee/ !GdK,]b61Dg답GJ}(ia!M>cj5arBqr[lqxJnt.?B1-O$\Q+܋ۜE^xA9fT26i) ȝu(Lj7m!6@k D;eUѲXIX5.Jʂi.WXdЖY_=; 2Oiޟ8`4,ԗ.slX/h-gTo7{% -I\ق.frh>׿q/⇥(9]6AR nnf*)(*9 \8qƝۥ:M1D깉'(`ti oϧ5(%PymA>%_ǛWȲVlͶnaYw ![$?+^vhgW`T㗹TG?ӝ>yw4oA]ȾLLgaPMEjPPvތ#R~$o :͹/O i\#DKz˚SeRh׷G, %\ oǵ ߏ*]YlbD(~Z$e(SRj;u?6FJ>|֘:SkjлQ+xnԴ5kh%F@kN^C4K1X582zϋ<[b9@.z|sӣ 5m>m7{2ҕΡpXxjXɤ? &ԶvDPǗ0PӲʨR_Pܘd.:%00c2_=\_Dfw \? bϟŔI^M rKhi܍5=UEj1ħIk5%|Rv+5=wih;<4E%WEVJMu (y5soa^T{1QdaeE6kRkHKjq 0p2lcpHq_ilǮygB1'Z]cpwJnZ Gvt 0Œ[_#K)UghFi6@T ݓməEVƑK˱Y(,h4\U@J"z"r t9bDܯmd{pFC0!a?L"ц7We[ tЭ7*YvnO5 R :SIx;AdVz{,y )RP:>UGD.k(9&) #g.HƟsP2M{!Xxc#Ju}BM5C|E')'sz= *#R j`=qIFMR0H[nO ,0Z Vcc1=$Qb1(iWU)+1:pjƵ.{4##SC|*Qe-?\Syԟ`oa"׹0f˥5~NqLq!a{Y} ڽD:wmmԧ5ӢƧx4=[о_ʬF?P4`Rf&f 0VASɆ*O?`U#F5p fUvؒ2sjHQO Mƒ<"ƞ8:{YKYD)n'k`āᕼ Fa+~:%uȔiol5=%:sgf$ {o\]QEшBu~ǁ܊Cqmm9"㕭8r(P:fsk8ǭϸY*)f:t킨V"k/M 6{~kg ~BrEXLZce@C]LjaIx'7G]l |q!닞|ؒi TpVP|71l]z]\L?ֻ:TJ.O1^d \k ԛ@FST05>,-41Z᫏ZgG;XmmSHb>cls^J!L-~w3|{-Ƃ7V}$6 [o8p ?8H"V=v \TW 1p<|椞Q&XWx 0D~NZ ƣ&-0ni?LP":n>qJ`aF 3 ~lDNV>:U{pa<(?aEIf-c4&m[|tXD+-zj*u~K9Z$WM)fv ~r3*H~7 /Q 5` ѵ2Cvf̜ s7XT @WauX,PltAiY#~ڌ9.x TwGjXLmT`*Z4+ECRbksBܢ4n1d,Q5m>9ڶ h5tML5w\n$>,aT|IG?k/`C귺 p*</3o f"+-2N3?! K2G4CQ^VkQUh˖̰x umfF;>xK%6"/w%;w_;ĸ$xž{+0h2?Z.O<f0 hlU=^k0SUޜK]7ڼ3a|^ kG$9MyJ"Be#|TVCUA zk}zպ&౟ #6ލ xIdt 녠`E E`ENji('2#eBC缺̌c~GPƊH^kGt׺2ΉI_L1gپ(XC^ޢj~/3t47-ur!>ڋC *=MJc}6v}VEqvwXe+6=9YLLb:fO)}-9:̺Tꭢ-^@j%Ŗ+(K \$P"D#}@1?{bժ)Pĵpݣ] Ҽ>@S(V~JG~| ?uOdlвSv-ySȺ]A쏫٪7A9PhtGt zYUPeQi[>u;1==w5-)|eaGM?ЗуZ9x…+ `iG4 )`,VHa tհϲ⑏ɷߏDt>9gg[$>k4kLZiDL*uۢ6Gok%b%CPɿK7y;"& obqWY8EB(gm:~H^nT$yoA+->i xMh%=ޔ"<~j}P`wЍFNDgoM⹝XYg@ҹ Z17&6U75ĤE?FOnނBb.1_ee [=iYSU0fde#f]H?3n~?q <.oUD?s8X[P`]\LK7^bt6O&wͲ=mWN]|8mJ*&۹C/L:/LmQ UȨwk$vUsWA\tSN#I<曆t b`ՆPzczr,O+ȭxYf5|BYaIɥn6dd_-|=Q~ZiK&iu[z*7R x>^7~b./Nϻ>=.s\pLT*ZxH&$:VHZȡOmUly]R!t?ƴQbXd׮{=l(R\z ;KF7%-EIx}/J"+%BB$U#+gYY BR?eX ~(O]qB>3[NLqU),W)~g&')[sl>{|ʹR{`$CdGѓsW$rB2Zvh~(/@c7@~:`4a~B&SiH٨P[**aѤ7?*CE%4.CK$,6*LL78yla%7Q2T;Grit4KSZ-:Ͼ5I-捂p){GD-ٸxPeu#ZJ7#S*4Yd:q]bagk9DF [6#ȯNdžq,>Rco[W/tchx`9;S \~e}f+p=Gm0FT'ؑ5U!54ˤ?9UHl#\|DcLH!]C#WTB+V!q!~q@ :_۸ 4~oRGXBk Y Xc_54ϙY1~u+%5RHh/<'ɍE1*31h_33t28[֥]:s XwՉp[̌7ok1rkRIF%8LU;NOgQ<J{/yeb :w-?CQ|`OZε8Ti8Sia;Kޭw (% uj89]W;3puoĸٙ)B]?^أEWhs/}}.;Qq{#ie$bݎERr%2u8+o6Ud`.h[ m8td&lJEe3L2g* XsU31|0 Zus9\z")9&8lHYa29y1+#bOH\"I ]W* elrA~wY[HLE~btRdza,ǰ)+|| %)bk0ffRTϋ QOHTki=2K6'g?ia֟jHa+;,E`2%2/,4M1$v0py0tPlED[O0A]Kopӗ,,L+$%T0݃g_Ѩro50%P"XJtOuerǵ2"cI4!|yZj h)fܚWY w(0F2[6 ;#fRE 8[onJA44q>`vjhg%tKU''449&'32^&0 nvKd =S!ӕQp,Kd>g>~u֬!5}IZ#Kz߾#Ya!;9XAP۲3y](Ռ\2 =-@ so61p4W"t<4~_ƧrwTkhzlidzaqlߐ=Ӌ+]UR8dz W0Zo* 4 Ӛ9kP\آe-fM7% ᎋыbm/[6KO8 EϙN4"U<$XaPEg1ւ)@gWA oXQ*3a!k?KzHkurAm+iVs;sJ,>4|QF{q+ܪ}IUh_~4՝Qwm4xr{wpXAat Yc`M)A$.ITRݚΡSJHô[N'Ʒފ 3'unSgS|FEu'=ÂR<liFbɪ ]C,U*#rQtM#kw~FĮϗ]>Q4k^g4U?%giq/8y_O%g?}xgvV'>vg >:?nU#A9ڔ͹~>CL1E4KduH÷_|%*.CyAm@F/*Faő8*ya}c] "Y;cd}[^Yg{z".u i/kWwy~8r#軐6]|]",5PxvJU7 +M5fG@ǡsSfz_x:{MboZa7/nͩ}WT2CÎoD¹)c[]Hss)4켹Ȣ[@pf+]_.xD 0Pbc ɔu\B&sg)ōL1pVBhr/adITVJ{ :yWa ^"Ɔ ]m pV-޼=!S,]6e ѱ>'bۑp;)*ND(W2.RظF1/Vq&Qhwf|[ j K(vL/K#3Σyu؇qpAb#I8TiՏو7>԰Z|'X [N$T_t$Ƀ"U"0НYLdn lzԜ1#Mgٗu i!na`LeMOL&\A(ze8`NdhÎ aA=u0dxP< `~VzŸ bTkm|ҙ8[|%g^3de> !}8hÕN`YV(S]`FaR\8TLtb^aı c /XワU _D5.Aڼ>X~DGr!tigw!1.<~:kMDLEuD/ak+ssO%Xͱ ߳j1 J%ȸt'E4 ?5(;Ucy>߷\A)j 2aWqGW!򧧩e0ce0` AyWt#3 ?,xܟ:pX]mobuE>,O=Cg 2ղx(5\m)Q&ͻ=f:[媗(8v_>P~sUַ61so wMN!r{i>i2<6xDLko\0ã]?W[7tc')ţWR/uB)BR6= >ϋoĸ[u_Nۘ۴eΘ=\|zp"O~O]:q~\,!{\C86I>owy$aW:xE$^י'#uP:ɻO;z2sKI(]09eqoh# _)r^Ԟ`i3ch62ǫ}|#8x)BmY9\{!05 jB_+8H8́,{c4E̋j'K)h˶8͌VIN6,(4woG}n;˗'2@0+Oʃm ""j4Y;&k0͑sj-^<,t(g?]ؤ36gorFkPl:֨j'e3(A(NɥwF@qXnͦ&Y!L|p֟~B Qgz*~Hڭ􎖑$sO9@hD0~YEN6ɉ_jAjW*$ HV'քwn ݢ&(7` U j.j=ӏf@4`"LA򈌚Fh7hG-D$$O[`zG,&KlccFmJ%dśK@#PȾǿgAt$vP7GʼW%ՃO|͔q4 l\!^hB.]Ya# 9yEN3Mos&I<77qJy}JE~W7QA#)?8{藊*z/z)ť0yv1!eנ!݋J*')!.m8ONY3~u~Gd/s L1_nLm/K04۾2 R|׺UZ(Re圲s} 19uy,$SVCۂ9qn|h-[ x}8‹ bFF&{? )Zfz*9K@siy~DYr'gN- r> n~vu$`}G?M@WT?7h.N-qwteFF[V ~/4ĭQ6|YD-Ck?FO4;l5ЃPU)ؕș 8*F"Tx%K oY 4tHj["U U7z0]㸥/b>l҄RYoM\Semє!>/ y(WyVl7D`ZUdL=gլ)~<0~,6Lܝx+* }M{-Y_Ȗ T|oo?j,)X\AŗWN@ 2EMcyMs!qHy b(;CZ1MbMYa_Ǒ)oR]j& g;A'}p/Rc@0XlV ;]dIk2SDs˽Yi VƹT:qTCEX\E./c4<(e9]1MEnQh^*1:6loT_%S;X, Т ʿDŽ`;>T& Fr] X^ggt!𨅫CKRn3?tu$6Èl݉ rs\fɿL̝n p;e,S?rG!i?ٱ0 (Sѷ^=ڥ/Bo>1qsuY03JM ai O:m6nKa#uxs&ѫ Nwm-*5Ģ0e EI2afa]fX]L XJ(LUߍ-[p;3Oie3=kHZ2RT> MlmXUG[PJaHfNȟ(ٴVt z6? l"'WzgDb*UnZp6QX~ږU6i,oݽZPj/}LUKJD!pH+7eIMy(Oti8gIRבT7c3u/LMV,]z>/s%;i D' ތ C)AkT⑨sNy_1Ly۶A0HرTI9ZAhSj%}j5_("t.l3t :Ns+K46?6:q$ &sfo( zP[oV]I[]=X+3eT=ONge%)!:YB&aR6 ]E1?&b7"-ce.SP#gʵXO6-wr<alߵX-PtSe8)5<^ď+O6ey<.J~χDn݃iyepY߽M'ȤfƪTJ+uF6g2A(tFB*95ov$p*ltY.ǬGb5K﴿lDNJ}m =l+L!*ݳpzZ1^jW߂Xdӆ}0GnG(֌x`PpnE;~2[ÏvXcԎ)?2#QhW_[..8߳);bi F<;E[go5.{B@/!#0\qB{#C}Z>fU|sTH1A+W : ZI i9g&T@q=Lr$e=jOt#8=ϻP`䲦\,Гq`+eGw:O,8 N0zˁN?"ط( u{Wnp36f UFvLK0k]VCA8/>'6nmW<Һ` ;|Ή_U\3_-*tRfPTڞJsA8{X0asp4 1H0qtTz[suDFHXo9/E;F`KÞv#naّO=]xz97\%C|47"7x|b*P_GF[!zY7VH<\<~Vf;`#w(Ո eL[ yFY-?)"_)D 8[2KaqM$8s`=f~(Qr֠QׄUP^ZwwC#uiymZ`R7IM~FaDo_$)bcTi ʃ&ϕN>U F7ESc|$C\kBm2P}S/In+ZӡX=̃Q$ Ѧ(SIqZGۓ\^| p4 犠yFU*Sr@R_ۏ{݌A0mtf ݴg'rClyn!U èS'1'x7h#e j 9nʲ#s;GL c;Sm>X[ O<"&( g\nߪ$4 0$ٌ.)Enw-Yܩ;tK[%ƊBI6K$t|ESo\=k((tB?w,ʐܫ*qv} &\|(dV1W^s62E6M{ qhg1v)}3YF_*^a?'S;B'1 څam?rb ҥ%$&Gm qXN/a;fikE){>w}v:ՌlH&1$z3~w'B Ħ 7"YsL.I׻Bf%|e[U e1NPA cJo!瀖\%)f睤 8!$1jxCzcJ㹖h}~_sʚiMOnwF,OS^l䙦Ŧ˫pp kwPc!#HY/ O`\6{$UJzOJ{[svE\S%U7~@GvŶ b4H ΐ-$Nhe/7jЭLY2䱔Iݭ ח41hJwOJ{&oA{U6ͥ89W(;wm2Ä"k/{Taw?Criʈ.-[[wZ`蕄:\D7tCTnL+B]Dc"Kpmh},z"A>]7GXyZ9_+KtHNZC|lh|E rO k:h[(Ѯ]`E܅ԖW#q}Lq?}QHڳkJ3^ЕN/G&mOYWV4>Yчe {Ski!ePXd[9\ +!<Г(:$ E6bvD!7;L::Tr}AKfv1귮Um{,mਧHX}@;p赵#^NѽV.|PDK6> i6Wl9_A2Z:G@}ԉ|d%T7O ]׋vW(YO |_ǽ eQG4E~U͕{9]IeuVfD(wf.%]\/d˕)mL pHcЌ-N ;. bfi"*/uc>q:` r['ȫh$G[w4ջ\NW*'׵UJ#"W#m_RjGTXkg^!oB=>T71>yX"JfM7l"պ{Gn @69:&:0]GYUOZB DybRJ&;5$U](闷Oa%5G7hySMc GrHJD8!"-4C:c\xQu|Nbj YCŬAvFjf~KˣЩf}WSNg{P9l(&ZD]_tz0i*O 2"#6:rvĦڵ, yܲ:̲yDJX,!f8tM[:rU-@ؖ&A4(az{YrIevnk<^c+WG}'d6cDE'7a5m1^0~e]w< k|$t)#WYM!<w2]j5I-Sx++C^^r"H%qtqJe0 V'M2|羌 ~ZL4Њlcّ'h*VA6 ޽+x ~\מr: =+ fyE%`|k=e%\Nx|u;g2nA.nL (tNυRc5!MAP+iyF!:5= Jqwxؗ/ۃBaDnLDYQybAIm-ĎKqc5 *dQ(&R[`T= n_\jCZrb HLVE)5=nex@-QM\TJđ@FV;^%W,)(@~Q `#7\`t4H7cζn҆d < >tus@dHH(z@)ࣸ-@"ENw=)#YRpJ9*~k9;@Iw21 o` g؈JSiїWTiKȠ~+ļ<2p7 Bqp3]XU% ?ұ&nn㿕,AOZkJwU" -zqG_09D;$syu@bNq,OVT<%n}S-74X6X޺R952Q=Sj3>M^gJ 4a)}9,g!9)˭Jݷ]pHGhiwRp$o*u<>1$P̀f7{Cgdğ#yElHX|^&<1Adu_bbG{}!D5 0C/~͜ ~<L(˄.:G$տ#^ڎx+cj}ek%\yOӺͳA9˭S5oM:fu!8dMȻH* xgrچ݈aE՞ 'k\*D ݍå%˱5$DZف"7}:86m,S(7Ͽ8]]Cs;6|'Ej?d~|f0Qqmo\!)Q}o w?#]Ή;k\tUoݜcǥݪg86-ŵ@5Mnw' vM5%?QC} ھ&&)ޛ"nlÔ=_(L/l3Q]3=(qjڒ!Ub3.c&`;pB*tݨ{a 7GO,vJ.u9eijK H DP-_N5X?</OىVMbU-eRGePWTnpg^w [2AΓ. O"mE1+ bY;u{ǟR8B-I4L&ڄw'aTI' fMFZz.^!^+B슣k=*q=Z 0=LߐY;F>_u.'VQD+zhR]IE'#; kw+![5mbf6)FPZ& ~T;op;S)#"9ܾA .>#Ei70pƏZ:@Geo/F9ۄ4Yn. m>{{JLd&xi={N\jCj,۪'.3qo\*e$/NmQ6qPafqZ*)¶(l!ApԬkɕ C˯ؒyk[qBSBMf~>߄i]P¬?UikF}*727^|~CN2k\> I5͠lt-8Hj_Ҕn>1V^0I2`#mn3UjN0%v1EƐgeo7+Bz~QB>,TP4:r^Vfٰ-soDf&L} RKqkYU.R $d 0+{oR\`[(ltgg~}鍸x);kx5!ګ S,/df<'.4"/3]!BۑE7%׋Fzp%6npA? bej)Uas|`Iq=4G dJ#2՝ДMǩ'G+9/RcɄbD.~XoQĆ{3؍nJ둘ףEP'Ǝ W3 R*x^@tZ:WsWCFZ$'e[Rg\cU(`x1u٣޲'3:YbnkHa>̺[pdܤV#JԚd# x}aYi$e{f.Z>xJ*c,pDY .é<^R7-픫I_yPȱ:~s\}7_%s&PڅL ýo6w)Jen0[H 6!9W.-p{UEK $*OPM ;}.CuiU wIZIN:ԖPd8QϹx՜U"ⲫ6NoCj9L،kY<) X SG(Z.hL}݋HWJώhTOp8Јo(}22ђ YYAKH$= Ԛ%͚:Ls1cx?ES JmtgQkLYr0!`KNR$,lt=zw?jL@րUpL;F៣bws1m^?I龝S_Cet] yCxYt%z#1.h' Bg2+]G+6,M[QP<3*[J~\=y=Rݯĸ,X1TLQx}y=g b;XOh.sڗ/ֲa\e9ɠl|ӽ/9Ti<00'~c7ii84Pson)8Kᗡ8 qz+м?2诂W!}}41콪~W `*mJ0@zG*F2̅UXaK\=̠g4LU@82Xtu䨉K,62d-9朏_;|4uZh0aC }򔜸 WBfRX*?l)Oı0/T/QxQ8XF#Lt[M k4Y؝laJr0X Vw^(º|&<(*َJql;i[dogf)Jw+80Q}A@,F,4ڭ)T|4o%B:B5ܺV}R±.Z .K3ADx:k{{Jvtً(̟[8xpG4saX_k9Ff_ :BvՆ])I@X)9"P{7t;(qɐkP,H>-vR!@"וDi/pf0dW_>=ӘrimU|,dRMHf2 & ~„clK 5/yBƃ\NG\ S M^XS4CP|}]S]z$X>Pv6BVnj$t77WDR=vn#jM bY['!2b*xЦ3Mvn&{䔝-w6PooU.pC2Ej%b֟6;2&"rA@T[~$NP5W ݛZ> Ӿ#ǼT7ZZwh3 @6Oyg: heMv۵gJTFGlQCJePͩOHl~ qǢX6HHƪI; pS@`K 5Y}t7 @QY#F@}:o8 Z~GLQFP߸fOÂ#Sre`҃(&&𡽖qr[s$zL'сlH*I *>acӇ5H:P+"@I`8I-o"^QQ4c5~ p4 4ᒠ:1˼&%0UV',J:,MM: V]nBfL2_ -xSn|y@&$Rר)P%;lcp)/A*lg*]2zV)}wua7Ļ"fq_M6T뫗&j(tM=cYׁ4@V.)(ug+jR݁Qf̧ m¹'+ݲ+X`Wkw=˥5b{vqS4 fQT&wRaϺ|((7߷yAPWdQCMN Uj&^=<-c\NAB^Y>aKoW\yXV&#ܘ֨%[Oxh$xtdt*,?Yg V8CkGɃ)@@ }?b9 r $QGk:5&n`L yISȻ*qu+lx #W 0'm )~̲% ;_ݳ`47Ufe h!Ge:D_<89B[5>w XэtFà} J$iӳl޿WIJn NY4;nkv$H\2GH%1;" h ~g]\奍vyeeMӁygDczVP7 #%@1ůt=wf6AwBP\lۤ|Ê; sf`kQvnk$~7qf>3]! `u) |e 0' '%5.^8ڭT n@zkO 5&{T@ߜk1+dRLgbkƃQ=XTO#ng|3m@$} B%9A_<Ed:ՃrA}I>D%^$161{{ޣryQf/  ;!+ 8O` #$9#Y\Y2*ujZ =\X'+xEAΘn$5kIZ2ζjα|>XYEq:╷+عny &֔>ʛ"/Ћ+&81jԤU;|mE[hoJvǏGY~H_2k;&_,Q….?~VA4g~˘k G3#JTKb^FRs*DŽ2J~$:vj`ko3XρmrI> BZQ=V3AIR>eIxݝD0yr3H\26b0۬gP g ő80҇o|"fMWsBEVN:/&b7_iV'!ghz(\gfo~!94:%,.ٕI?.fx>KgE݈iQB| Ik4VLY0N*}nDI8K&fe]߱%c8]TXo4T{ѷT~ lϙqi\&ɏq|6!٨1THl˕-dUU5!NE̶9rm-iWUWwkTG|1|=hl`vbY#־}|WE W[Ixm;DQƁRPG5(,hvXstG,;=ZIB[B?1\UQ{zp TP n;/Lze- |4:$[Do8/2Ѡߪn5[[ꔲC*S0 yNr{9ׄs6AtHlLX$5gEM擏&9MHױ1u l 9k2,W1C vp>gI5.fFy),#bidXS>-RLcM(6fI K]>Y`XFƺ3$qxO4 >vWg8 tz m̢0qwVV[įk?[ ӵӕŜ읦bQ5Hз, ]X8^Ұe ɂo"mR~IȻa`0ײ-Ml\wxP_cS)VGh&7"~zA_֓]0=DBσY$"vˍ:z&&-YFX\7gZwCY]RXҳG?׿TȽZ*EV,"Px3|n; U~e }T]6Cm4h ƚ3e _0Denwrt;4ed#U2m1(d6(,)L:Ce0?4oe$)s t$_.ljE bM\a(WRUCζsCjBٯc&?9}+Ed7 za?\K= g3,xdB:9D:=,l@ {FG!6 XO62Y9TJDFd*ZimӰc&E8F@Ip@VhY2u@t[”/Y/Vkӯ.9@@%K٢aBl"o;"ߺ9`]ugO:3TnbjEuL)I`F-s n蟝aAL3TvGgug}{~I 1X M+9_?luu|ԉiS.KMψ_GeN\5G;RM.E:% %A8˜wveԡDpg4ٹCR?[&sZ;: %ՒG[]puMne(|,>i+.hp_j omGjY*tS꿣39abnNfcsңt{0y˜CRq61"vٮ*Ӿ@J,_%Ƚ6!] Ivba-!Qw>~ 1S?S1bΥ (TƸvW?1g3]CSI$1CZ*"=9? Z'4jnf Eג{\':9-{TT{x 1n  Lt#!&}nne`[מ O= H[mkH֞]#o:&~ -~(P6G4W{5+k$JGFɺ`-Mgϕ8~A R>lD/[WM8 yHtvZqOA8Ӵߧ?I&:Ն$SxV9(Y~+zS^ɿ):Vףlje%^%x{SYUxĻ.|um:-JSO4WLƍ|AFhɑpĭ㩏rf4ay·tVU]=L/Z|Vo> 6#P :ƽzA:W݀"uƄ<5y!?>F(>싑7nlVw57k-z-+ 7g$JY`)aV0j(h T욮<ӓ0U@7y?`$ O/07% a CpTbL3wRe9e7F˵9 DDW<\f-H;&/I+aVcgu^z9O3lg`7q+{)#Gd%EIJxG@Nւi;Xh1N7$?.(n {zexŹFt_Qk/hzU/Ewϖ0T="|/ĆPj:`ݱ25`[DF ^79]4CВҲ~]}opQ\!W(d`raky‘ Oj{gDw B8ƾzU. Dr/bKV򛰿|#wQ#9 u= JH@1% xӢeG, `Ԇƻ0 <Բ$juw&7/*mM6YvM-Ї&@sIr4`b`72c)_k'_eIps~vy&t 9Ԕ x 0qhv BQ>ߴ{i !H B)_#koғ9>z[7\"nط&D(e_hQ>B- 2nX.+VAU_^*tH-rUlXWٹSOǰ8/M"bL(}vĢ*-T!U6OfX"ݠ43S\tlv5AZM0T{J`BmݺZn+zPXaIi;?$n+!i !:Q_V#"$|CRPGPKsuJUq5MPY$ xzg[GroY}f0!CTz @B.j;2AzXX0fZ\8>.Nc)i6\R-(D;kWMhҟ[W@QLkmm)Uf]{ǼQ|k\326p״H5GY{N!icGZKl69Q+ۄ&- }Q1aHnۢ.\AMd+ C>1;v.͘L?ӳ4~D+Au=ǁ'b$OGJꊅ7=b9u<RyC/i3g|=$!l^3hq#OA:az7./!_8c`~=x+o,Ň'$紾 `SI'Gǯ}B)TףTB=`..pΖu׺ \yB-?/4aShZ}8{`|VÀxIU˳8Sb('u%ځ%gT_;n..y~ayjXwA6(٭fRE- ̠-"vTr8hm6uB7SNx c!֜ A'{"3j)2{͙i,\BV ѧo% RU-{t҉5dk$蟿T,-l|N|ܸbz@(飞{oj#ulXQ.e=|-;B8.7}qsU~>Q>iLJHQ2^gX~&Z 4-Q#('ĺ%Hb =X-F-c+m3/tԧ!r]y(lwښK+W+Sx dMqKI@r!bul9ƖFrf~Ӗ.|%PJ[ĐV2!`pZTC-5'-0:=BD\?"L[9[ogq0FA$S#)62 m]?0 uN=؛uC Z\yxŮ >MBC0~[PXS̹L֧i 7`lZ_.#F-6Ar n8V-eYv{Գ aʖl|$?S\Rya vfm& _j~JdS.sDuFaFٻAws>#}[)CFRō"II 2)I5+7dtzl6+ncp O*RE:WLl0Kۧ*0PZ*!ִ5Nk#v)֠LUZM"Y.7%evM˞0/&6xIOܳI 4Zbw)_iif=ޏʕԭ1)&GfH0s]ע^mu)v3c0񌻢Z TG!$5T(8il%x V )@h W>P[qуG u7&ɬuM& u ]_7sQF1~O4IrS~Fs{ NUl-Mx3/4 6(=W{%7ek`_^ڧPiwm k;b(\a'[^UX W"VGw˓&zR"xh.R]>ufwϑ8/EU7 mYSth*<\ӛef JO+Kl[" ~Y5Hh0!UD.h+[abU29:d3@"yq%ej |`vj?J/؈0c?kuO W!?τYl~bX}j*ĩSD6Le.p,šWM|HnF'aA7 zloN[}<5k=d8C]=VZ,)oȻ"y//t?qW@dy' \yov0ĕT x*"U< KYRRZd+tJ*24|R%ߊ@F%]I`0,觧0Eakl)MEGQmi4\vGE#2oн0W tvw]C% m/2,m ާ$J" ?[ts{~ݢZ:Rj1s`%K?y\vߪ47rvw- 4m9"j/}` 7+݄/\ .5i;Uy"Ƌ|$K)C|^fdJ'pD.o#.xPutCK‰OB_}YRtAE:KbVS gþ݊r\T*ab.?4iܽH9'f_V=\(^2Ofw'ϰ*RЧ1a:ltP kGCfnB#(Y)aHI6 맗Tz_VsS; ~bHG%6C>^I78HITMt _ 6HBe K.rKp+=;U-Zkɐ-eZ RiM% U"UbGGـNZL8nj鳌; ɿb-z^SXzݰc\Ji)`EI, Ԏ>-,+':t^8xAmB pK4fjEFcuՇ@J!Մg~S 56@Ks&WR>Ȍ7%/Ȇ{]A'P6S976,Ӭr ;FB ]8 kU={au|<ӄ.K0TKaw(,1ָhbP. :I%Hm-2QQ6Ʈ;L]9Uqք1tr;f#r`sm[t'{|$O D \g {oWާ]9wgp ĉ?DLyoa2"Mm$5أmiZ틮sg={4*0,QdKcJ0l<zd,' @/Lިy|b5 g_:tvpըՇj4b+)ם'd}hcthGr`Km5&DpE-QνqvF bT>y"CS٩zpS>Y~enC7ikR g)hpڭ8eSVi(f'・yfl3="^QxOaUL ߣ6yϘC53D0/3IIq3+(VPH`Kcч+ 2QQX:w:?XwEZ; _^y* qtg.;ލCCuHFk~5$N$"L3g&nXVDzu_j"' I6~Ed]I`Y ];,@%hes)[07D;EFujd CU%5zPp?M,1jocEkb, U'&ߺXmm~B4ΣR :,w9mbծ߬v7g#D@\5Y)e[Uv$D%h⽪cط8tE3* 5%V)Gb_klڊbvmǪZSclI 6dw4 |﵏˾Q  u/XEk):;=nyݰlnв0d:03TBӪ>/++!"PHzƼkH{2Z8b'(댋W &a*OakT86p8BAo@Xۈ^ 0(B!+a탗1$:=p'HGhlv W)x̡SbZeJ#!`E9&bm Agϔ?`kH387N1s;wdm Y[ؖ5a*:&sg~ߌ3jղ 4)yZd.0w(jC$O׺Wp:Q-PfֶcIz,@{?Kz8KOr=ʍnW&6~y[8ֳ5.yDID/PrJcKI%ɯVjzpQMj `?Foܵ=HW5nWԉoRg$8vW&QӧU2RrBkg3+)>7$i (Jl5zQ`{IWm}CA .p/D0ɍj䃤nd8sO|PeL뤬]#;/ FZ _y \5O?<.%c{TuH9`) i{d4;Bm˅xw]2o!GgL2vcQw~RXp&d=zfccւ;1t9U÷9~~Ywk W|OD㚒RG܈S猷mG1t ; 5=UZ6 ;VN1k ^kv"[kzPW*v!R]L.m 'i'[[K:a`j5I~_E0]/#B5Q\=KGN&H* I\Ϛu on4S1`ب%#PkpDZmsB ]A+gs!@)DCw#u(՟RrP-t p7T:b7]}ÞG-d(յ] pľ@'O D6~l=Af2M~apP>|M.&n`{<0(w- TG2ЂVƤ7D")LHB(`$'-v}72aT"~71U2kR+:k(J"I0!FAGN=bjѰ[Pc$\] ? jW;>>/ynCDb"bZJ\(g?g8\8>[ 0n`{!{>*bO7=Ygd{ dyV+0eO/gAsj`vق 43Mm"c>I+)˸_Օm4&9v5`A#݌E.|޶35 wF MjY="taJMr@+}dK  b5!.s4y/kfmo6<DuQ蚸fO a.Se> gLԛ2\׫tk$%?޻K]'/c$ aVn0dQ"àmI\z Ť4BlH>ɺjn]Q6nO]Ttc=0l-s̰c Ӄ[udZyEA`P6"ˋ ~G{E4[` &4bbhH w-Wr`,)eN(2GU°O4TYPՀ7Vinju0~eڸ,!J pvI:MT]榫Ya|<1M_5TNh ' ^FޤV\su٘+O igjcXJNG;m>*s;ؑYRK'֓Lgѱ?TX/Oq?<{Qtv.DTT }܄Y9)|vRI+14 P.Hvrlܒ*n/YG7O_kG>F{ڴV9=h .yM냈%4mcnb8by1̈ qd$ykG0{)h ΄i| S2b(D|;˶/ 5 Z| 36S=:6[Ƃ̌ Db;"@RgV`\̔A8X1 cS7uX~Bwϙ% 374j~IXWg|J4\y.kC1vq`R{݉ ؎)Ç_+@i&a ĨbxtUW :GJ0Eve s?@ jk_OxE#: ݊~~3 0 YlS.WQ B6QC" 6 aY7Ky(W:Eqi{H!$B5jlp \pWe+˜h=Ϛ>$ Mm2ԇO``q Mm2;AM!Tr'a97|n^Ϳatlw"ģv:ᭆqLy$ϣmZ,+V9VcE5`%#T[8= ("W8zS3w5ߏߕ4k\_3(-iP+oZ9i^.'*}]F6(gYWÚ#'iVkͅD[=?VSTguF9 + ޕ#EH,.AxI_X|k%޷rq|dac"CMVFLGl5Il˷-t>y\9e9ѝ&!(MoI6ŏČ\NbVñ/sRk]B|b@.vʀ^wj!(bzc*R=CrDYY0n?MľD쎝Yֈs;v v | !&5*9׷ -Y38ão$~T- qY_Cf;gp>P¿s4bo$hMkR^Ư~Ub73.^q#!o(C*TD%(935P&AvՋ;½CFͅ ȤXdS#T|D Jٖ۬dՈ:Ŀů8]|*{.eqAnAϦw0nh8pp9O_3nD)d`.>*,` B_nXx ,y0*0>;$y_n9d? 5-;? W3SuMu>oUg]foDQaU('(PH"U.Srw³N{=Jeg5R*KZS` *'ڑsTQ:hzc72H24zsZB3W Z*sѫB hUS:bLؘN 5nN54WV]{30@ysOgǀ4cAPc  ۨ52:0q@| oo`>>9M\DIpEcLy$6##*)yf7yUi?dƞ)EY^FFqIIK'Juo!2. A%侀`WO-<;>#OTN`^Vvk6%vneY!<N *%Hܕ#:w% j2AӅdR^R\x!!!z#{=p%N$fc/M, -=\8L;Wk|D%^IY#6 pj[U~Mŗ5LNB V،S-ȿ-JЙf#Df~2=A8^i!VD|@.U'vrֻ-خ!P3rVPp'RvU[kؙ>[r)"ÌS$Ze)eZd2 0p-8%[fG_A&[Bn.: TI<Z"3N3$a"hA7SWI6Aۦc"H0ێ]PM s$17Ō:JnNmh֨J1{Pl~\QcOɮ/6 @@imk{1L޼lvՂZ4D[7Mob}?d$|:E), Ib E]D퓀Y7C=06v\XլQRTEDV{ቦK],ƓxG\ ۷;.)\g' ny/zs<* 5l[`?XVK21z fƠPϨOQ~\U0[o[y`mioO;fʀ=|Y{ )L$P! R! Z _md{#`K=O=۸-07Y8-s"rܾTڎX0pޔ!޲T4PS1mOPyA(ria< !bWdV>4y>RMδ$f:nj^1fsoH*C ߿SBsKeVzRpJK0Jp-<ºdُY*[ jdc/]+Gyy)$Jgpum߼xɀTch!Ѹ C>;ZxόhCN2֥u_7PaFb0Rrz& $%.rƤy7*l6Mbwj H܎yG"zhZΈ Z*4 +4]𹍳ٶ 08b>mK6'qSfo!~D}T᝷\}ₓ:?MiF /WG+)\&~9V1)B =JA.Q!lc>HYGiI6 Z8cZ<^%ϋjQ}'?K=uE`]9_Fֺ`gkc%'m8!W (Nm݅+%!LjE=)cZ˗@S_;eQQ7SmJ_ݷ+trѮM/.NVAq\1.< R7gc=/6)= ~LRTRK%"2[ĉlOeE)we9k%-+rꋲЃVK)1a:&^oDs*?@g'%pI7d2b7P$Uc VO,̺;x hz~]*w?G(vyMplO` Dš%DuK,j^Sk]~NeUx\uvկa7ՕS%xRm뎫s /ֹL-`n+Y6C+INi$=Lͽ v Uv\Z;)'~uˍ.3DҶzvI [_-et8m_ٙly!=hURr~!\|.uQRa+{ w){.; /ejH{u3paO!Ko7@;.:\iTfK".UC8'j7CU2X@`K߀nb)tPHC@ ef2tI=PAC QH3AaJ%>ߊwݦURŃ׷7<\0Pb!KXOݾ`IX p4< BZ5^+zHipkXu~`1PaO=]ωz8 XR͂6 \C JY ?j!-gvfyE =V Շ0"bٓ0*[s@U{FLSSqAaϒd 9nt i1!XȺ0Kl }` @Y,a *`pƓɸ_\=^$XI^{P V~By?wz~,gN1|th sѥ:R(v/9C YҴ22L!yఞemи\tp?D3|PK$=ɔa-ߐ*cU,@4n[AJ?ʼn͂A:s0ӱ8~bq]9HF7|rY bI41%̑V4`-8(ղ1!3 3GVpx/M:hG I%Q(GsHm '2 ZgyHKA] 9Am|{]d=q|%:CMf.X_P+Mjry.lO[qߛE,˃`׬5lbbՄ|GJP3`2m^4C1m ;)+FCRMR2VMOe"Ғc"+MҷTx@ˤTi1Z=O#zuB+vHXeD뚲`$ = :l$!PS6~nBTD̝CiUFvJJsgxݠE1th5/fbbj&0 fQQ1~p qz˚/kw*h/w@:V-uo$c<%s6v^. m*l%«ł^@~ɼ"U {k˜Ǯ(l~ز?Y/VO@vPT6 `Y, 2$_Wp7$=J}[1ݴv^H194%!/ LG*wMP0%LQcÐЩqtf\{Jw(2KT[5pA (wk'TD`:0MѭA*`^ul; 9?yK]f+䴳kf^F_oj !5+A܍x$U>s Jeƻ\3ץfD :N5Sٕ0ſ|2xq`A 1 EiI>YZ[jQj' zE+*+.˛#NHֆ6pJi&]RMMs?Q0[MѻTS`]7zq ~!VZYuoy03Zїeu?,:>$$Âot jhU3v2* | r:(KՕD\j4:#+B\iٰlè CH2|^<5o]0QW΅|ڬ"gY`M7zv?Thd qD>Ю,XV]j!秴9ߗ[~FiC)%ON.qtL/M8,uW%iBɱ 6mb[$#31<`7z1)㥉aq_(LӪ= AL`<+yV ҾDC%hnA?1S|P2es.45̷MT4ՍXq\aƦ eXkO#:I$¼ݭ^)d@>i4NGIdۧ8D;#8䰊T{ytF$ [B-s:ݛx}u!K4j!anWupZ K 'Zm)}K>yX2̻$ ,e穷0.Ks}C-1W.鞋rϗnXɆqevm=6kXqǫ_ۯ`#{q)olK`Q8pG={ex w"Ғlv$dӳuW$r.%λísK=d!=lD#oxLca2U8*ޣZFB1d7~7jgw3pi|7Zrɒ(Z5PZS<|e V84(X7JqPdQשBHĒx0kdz![YE~+"o1^dٌ6)9WOQD*v`ΕҠjد" 4Ve^;[ lvԥ@˪Hhb~8S-dی==,7w7SЧ: UCtO 5j fQMCVl %*yD!WKLa7wlu|+ǡMBIL`VdZI2t{?<|qlpN[xDM4Bm*+rg;uKTIMQ "ˋ-PC1ŝfUs`9`w[į L<.Z`NwV1q0UoIDVB`j+9(u6*`]Aùೂ2;|$^AG"٦߷ʉb<-"EATIxd9jAg⢬Ȭ%PMt].ge bmJq6?ߝdfnU޷HKe!)ѥm/؛VKywD掲tn~f6 L]قq5-V|LhԅuHp DS.oL+Wzosča7( PEj밁'9hn5aIMxlMu9$8ܚJ!yԊ3-9kz¶LY"@8[&%][h!k趰 1OB 3!ݕoGff4Vq^hQc GwNP!~ a<*5~EX̐j4O_ql>zQ!/8%ڳj5:7?B^dŤŠ2*R hwt|`o?j-OA&S*}# h='^9v,j+G|z+ˆd{*Ch:;Ж;֮|1s_h! aZ[Q# =UŸc/ %C +h3ZeE͙Ϳ%f)рE-!y iqϝi*#n5OKH5&nzk]J{wB.'R 9Hb6}9Y-?TЧ3gV6p~/xx=IO^4dALAisJq`Ѭ)"MN(1/v wA-zS0&DYG\g!2blVke;⨦3KG/Ҡ&^4`)%a}#뎧sD?p`H4p[?tt ɯ3 Dr0 CZhtJs^ LQݥ+߉ݍ@2x; |^-08o.VOb!>dڼ^ uMYum0 L#YI|qG<}h<kU9y,^hTU !ꭌ$!X4u?"04$߲/e6*1\o䙃ܟۨE^9d#Q"Il0 4J>LF۵!i޽N?PGqU;,=GknM<6 ƳX3$UL}lÈp"B>?H{Vi#AKPKg*<jj~rڋ82p 2vGt!4'=WR DT p}# 5gkpMAQm,kvA,qi+xx`8_>We&F 5  mE}s*xP%`ӛVmMCN، >ͼLs~MsƞD?nd[cjC@~ҳ+JQ:E|}j]U!`,A#̲ P=4zLo3ӑ&ޕ[<1 U`my':3BqE%CG"=ﵝ("CZń7 _$1w!xIEЬm|g3ĶDb&\4nR  Uo֜Z^b$F {g'wpaKdwqgOJ;ruힼp|#tlu͗V*jM/ݑ/ |즷'c+*s^Cs]rzXGN{|KZuҩYFr*0,o?@,ʈJ\' Oa4PiRcX%Tx4~OI_߽ߑsY$(S *GMo{xvXr2@|dpߢ5YѸ}L Y$ 0%\&`l۹ +CC\?4WJk cQK=ie Ph[5}G}0 ko]Dƕ(D2r0,?/!]o['dxȇpa.:^⧔7=;{*("d|T7y?p[AVfDBjOWp'rDC+mhvLmAg덲&%P7]Gg rKNL%qQbr2Y amEK[m;X"phZ"*8O #Yk -ioH:'27 CaO }df^\(hږbC>%4m}+x,x c gW{g4ݲ?>G@[IFޝq#APmm̕T,Q!YQ5)sgf f wm`ƿt4UXKRJߥJV&\`X] ϭ}]TS3&ڗSV瞙u\$K:A*C :T0xO:@k7?xϷ24a>oqA&aMظ@u-nwp:ć2`ChTy ɲg))\2yɎ뙄kku|@]'̀xe;P><~nұ/e”Ҫ@vx'g/%n[#Xrn8oifu[)Hy9]½tY,j'umZ8+ɘ Ƙ nHzz~hy U4M=%Vxᱛ4]C61M*O/3[j;j&.ZgO%Ӣ$~c~ ȓS"g(8rPrD{f+ XalqG.CEIRXBɐ~` y!$ 差;pRI0Lȋ1E=vRwۗo̲ƻa&L ' Ǻ"_גʐhOU)< ZRDO ჎]5ˮ%4l9Udt{8"͙d@'Sx&X~4eA s0Zd?cORS3`iK#RHW'\b`FcNH\Pt;x_ Ը nȰXQ RT!V$ AmkPc.ʓB/w <صk.u&* 叐+9Ƨ354nnѓ0dEIZʤ],IN8$-N+0J5;>Ò oQX_eLb M\"8d@+e]5t@,e $[XͽG%$1F)}mt̞)ؑ"h=HpM&,Z:жi22y6ZqR(_jvƮ \8OK}?qz`S%~IG5eAܳ,gn'E]de@1NVDz5vi.sw%Kς2uV1>1aEz號) 5CmGy8@Lr?om5׊|&J_ ۛxTqvyDe- raG[ mÐ1:&8P=}nCJQ'*.uFW:U252)H!.%({ .4; (*M)L=PHPw )FcM4u rseBZڱm j.KeGCyR(s%{y&AqkL &Nffx ;N `d A݁IuBY@+KK&ifL@`vW0.d5paaDc+Q gBDEW7+Pf>%IGw"3]lBzp (`gXFORC]sga]Nܙ;Û=O&/GORtA;e`7{eT@hF4Rղeˈ3 j˧̕fCxb/97\?坚/=JYVͷ!.0tLz 3n5уW1u|{>R!.%2^1fdX {³H"h+h~y&f7Hn/âxotd䧼P/H13~ Zr5/Z5UA4}+Os;^ʗ~iq_Hgi Rfr#]TUO/O;ʆXcBgQ`Ew7j16%JmS''I@-듍$jU~$B_*ۍ_]Y2KEQK(br*-dYN%].T q"9@0 C% >|gӕfg-:FքZ[dif;U_Y32'SF5}\Vzy{eT &WG'R~ K)g*fP9P3>u0SOþyɵeRK}e Rf#ipn{l9_K l!jwL>-B%@2m-y9g׻ǚ!-G;g$21v#:vGbf@0DFIdb%b'D2 b~z :&A؃ݙnFdFG'~ iTwǿ+bJ2}g?l=A댆Xl|w h"hob+Q(*?nҐo[J|HУ+E&<*%Q$: XzbM-0g(jʉ1cAȴ"Bw+']r{Z ;o'GGybAuC~|#U7[ٲ_w\ m_ac}cgs[qn9)[g9GBڱyûOo"rkustu=M[T[Nl|zSWƋa\~ij؂`N8C؞[ \ͅ0;\cIӾAnvSHKB)I֛:7D)XA_LzӤPbo^O7K[g# /|xf))A/A tBy 6T,q e҉X]pq/qh~>'5WxkJԎa}II=8 2J "_qZ1^ƼVc}ŨL"SXX;VjĝX5OzEPR?yUSzQ)f (&2ђֺ]pv'SGAF5K'^:B:zXL<0KƩS5ׄ٭==IIh|O.p/Ⱥwa^LNJPyvgM|a ̧~_ lxX5 C<*4d(+H_:usṿMy@=iqX$e_' 2ty6svX!,h]p ҘLp9t< = NT+1| UJH#Ǧ?ސJC墉&^2MHSCvZal_7?6jD:=^(rKClgҶ+1+eٌ`7"!ii<$,1Ba~SH9ܤJ_Lzp$"_,lr;̟Fc!>Ry.$j& nn-Ž!PaW*yPE!\U0dzRi@JV. 3ϔ拫kiA:@[o^(( O3d^i=?HlE@fvF&v.y)*"Dts9<8t7N%LV!(w]m} @ghpSZFkD|#RS" ּzUyRb\w9^uB?UEX_5#U")ofݮ`R7nڧ[e$`Kt]Xƶ)x* g$"ҷƩ34AnK\A;X5}ʊ+`b'I{!T ; A K#C Ml7[̜E r֎zc%3Lp-vcFMB*՞ vr+ i*EpHIhbI`_ 7CG **5{6(BQtl ,`l0)%I/sbz%>o u]L0вB?{I ޝT[WkU@ ٘i`}v/ZP촠^W0L$lեS]vQ ^$1 ܧ1[pɧ&zm6 A{қ6PWэPqԟ;Ԍ4V#C=+ߢtzS)E} ha-F`F&>2Paq nzGx % l:xԧi[u`5X,euT~6PչҞi@?aˏCpXkR+nJ'NLC 3O$Q6Q*M|V٣"7Sb^.X[ye$,e7~tfXf%ۼMe'UPq^ 6LD(y9ѻ}T^+?Y/Eu2Rr/Xse5"yFǵr4..JBFWO籖#wss}[?p3%6 4JaBq\Sìl~k_u{Զ-z)|t[*4fL6muU;8` RՌ;Q8}A=88?WCOo$S!GiV<4uuä[vT!NɬL o'BspŜ0HWZ}{wˠ2'bg#3k }6BJ-, 6:`ص"Wu7GAg._k!)*h>R/jX!ks,xf/.]ܯ! ʉ3`wa=lcT^w xmUky:}%KƺfʒE8@ Y0U|l̀0)1Ӥ g7XfRsoI6)mLF*w΋,Tœ@eZ1'|SabX[ Q@CVnlb06[CX:86dNȓv"qZɅ %8{Fwsm#ocntO"\Z1@qͺjǐ^y]&Xi&G\sa(;k$@W{ osf;;]9ӽnl Chʅ1B)DxZ NPrHҸdz %|2$O$T`w.gê]bW&9q[mw:1[az1K"N^yM~?Pyt؅Izn܋-އd1(|?{b7FNN]4j׳iK@HJARI0MzЋcR!1k4i^>`U,nh8!ߠP0!\,gyqm "u?ٟRlݩz?{ TJUIO{č9 H*[ud$m1|$[~%d7HFu>@TAUUّȶ5?)r9nm"sFtnsnRmda;l)bXIgJ k_{lʠ4!jA L eTnĠl@yzgPYb\D9;54b; z+Qs`>5}`Y԰@^S?Kxr`!uD]"W [M=X[1jًz}dqD&ht+TiEUt* |}۫ʭzm5jdu[D06 zBӈSRok}629{3L T ʘ *wa@TR⅖ą3T5+8yn:t)wceVkC|W6Nqe|aځ ZXL4ğQ Js'g8h9wΦڲ%;teGi11Њz!ܯͯrPGq\lC-?M'+F#ZˬysG$*X S7l ,yH"x 7(\3i+$}ᘢ m\46F0KϿT܈r cm%™Ww/=,˂ơgSk1L J/GԓWSi[cV zګ><㕓&j3/'8dW?LM 3i hʸ ϖ Goy}A^҈z>̔&쒡y+\~` c/x6;*I8>1umnm KtI:35<6eɎ ­t]#Pe7~SF2<4>g8J\w8 ȅV[ hŊ ѕ1iJc1ȎgQTjVghրc}P SM1@>OQHv%YsvE#!Ű d=F`#OSønZ(B.2 dJo&dTa*<Nyߛ9Q\yW(:6Gp-̩5oVy ]lE qN71) %35?#%M%pl:Gxķ(ÚJ#@OpCo +.oY,Ȏg"駾2]c74]:"`83FmQG ++W&DNzZ6DZhEdJƨV+)wٖA|7A._o'5-ΤI~{M+ /%b+W{rJbR;ΧnzxfPWSdF8)d"#oJY4q!J@eO'=. ɮGsQ"㞑^]}iI̖@ ekU'* NifQF+%Y%<2f:rRW֘-#8 1NʊTϐ8xD+-냚к72C7aa9K;oJnߧiM8 ZDjwtc-,(Zv4 ]ҧy䆌4e~]~ \SqznG ΕLV7'Ɇa[h@̼g`̞_%Pj\G$L9+^`(!,ʛIl؂WV\d,3#POʹ}-sf9j_{|N9nQ7uw1lz3!] R8j囝%TfE9r6@xUpuTT[=UY@31^!*#P Ը>iWoWE~]Cʣ8KmX5H;>BUL=XWU$1&AZ,MV_?j\,uϲjjTJMƍV_ Qț"Mo)SܔF·t9zغֶn/j%=W6JKt\қ c2PS=% VW-O`M#uꐗ̻L`+x*L^9 [&l`.v< "[ydN15$U1I_[r <n}ɨcN@tn|Ú1 {z}{GQ~:% pEw 9?3Z-&}K"j`ֲ6aTRע!-A{! puj0b_+tCp)@sfl>"ZĽݹ%-Ե`e;bÀP}~ꥶJ([ɀoYr:wva"weZ!w/7!C`flhh^|d{-{i9o/9ZsC""!O3펲ؐWryl ͊4a#@N!`]YJMA$Pg"%ΩKDLp96zuND!{5+49Fat9oQR^>@u`%IBG"8_ъ(jUhtXc`lVXX`|:#7 9 e;==#P^5@vX ⽥ъɄ  A@{`9lEǝ-YiF4 ) _UX:8\vhZ=*!r"6!Ke'1x1$yd”&aD-&dINoOm*I_;'* TF1*dn;ɞ\4E=3(kroh`4IEJj,Uqq]vct6~oņ>ƫN$M2B﹩\TLd~v>v QJl׈roE :wЖa &quhAsׇgy R[?Z>q;z* -g(*%$Ż&^_%24[Mh": b1 1qG٢+. %JbfzC=غ63dGM>1F8/_]gF^BUm>jK?&Psk|@Oׂ:< Ή}]֢9 mcWVcwg{>lN蟃>B:KMW5ME#5 4O Q8|ۺ)+1\2owEP9W#1׋"^gZniLZk6au\̕=nw4ܡ"׽5>|Y&[4ES8Р,ꬋa(!'ÞPjᘧzj6^c7r0e&=v?Hgr=&Z=y+%QA/\( -C0́/  3gf`.Hzsn\<׿\XGJ ˎt!lfW^\qPr$gp2x>b ,Zce0Y_߻3A9JF+*E<E<(r`;Yhz 9đ7 ͤp%D/v]i~J=6 ? oWw抡SZVaUb?fJq5VПqEf' z@lp;|~RŘ"7/v(5X2^MMBnnM>[ @Z^@q7PjQ""$m QP IBe&Lf_FMguԳy'M cc>V}v8gF_Q`f ө /DWo\Шm&anfpQ8?ij'Ks*Xsj3 eбjl}Qh9l[hHn|FZ6+ (VjE͖mds~Sz,}JvHY-u_d {]3OM'h-UcQ%_;cp% 5xajz*jMB2p8XX{%,|'JqE=awBOL"J.1R|e gN~NAiESrW̍eɣzl=wʏD 7cVڥM;ͳfVWKuSS1X;rM ys[ ӨcP)0>[${cNJ>7LFڞV(z%I|& E"nejKKFٕzֈ?mFTVe$ 1{܋]Ktl|bLf GbAw͙3L٪|}.yHR홌 {mH 5#ڍa3iqjom.:^'}9.EkWm1 ȃzA<8gUm&n&D4) E6 z 2zh;`,U@ȞCn$|[9M2!P} ك 7NE#DZ/Xp j_JQ5JJA:*% 6b63ֹ3Y]+ek.,ā&m0^$}V x1&pn":8ĥu/vޠ*]1yb 9vC!~6N<y^*c=K;/ v),8O'ZS Ak• XkgCl%ʻU2arE1yA QNTeǽNWiPW+&3Fu&Xͳ*90hq;eAvi{\Y # ?s0q?CO睟P:gRߗ-ײpd"ޣ˦(|Q03:\טeJ4iU&fKF.v_#ވ̸wG|;araw Y(Ќ\Qnp>Z]8ƴW1')A,06i;fҼ<әn2~[i2T1 ;u=ě1ffdjo8J۞?Rm]*/ x~ i'3|E9=˔ ~AzJjhdX]gkhCJ{ J#%ތx+4Ws@La+U&]k c 5#7jwL29'H:?f"?,~{#җDjVU@,(fÍA_ &m{sMz*]7aI,D3av'@A&g74&l7i\Ur~mé S`Xnpj^Pj]GO$?i#I<Ԛo9^X~MofD: 6j,O7q%)ȽOife$} ˱7_OzpxVt]bC|AӼnݞ@Cv2P=+-cj#7"n`CfP13aYo ]x-l3@V WG60CiFQ5= ECv\:m咩Q*(J,7kZ%0I #wK@/ [Uz7y?c-GjK5'4hS+7daKlVo8Ta+lZ(а|!n «nDmtDs&{ą!gԬinOSlBۜ,TKyҐ|C_b>Pw}!H.lծhMěsU+hF=g*Thp41de3oQe͌7L*,Zwƣ 9pAt䥭ѫORbAZzHDHF^6֫x;bC$hi:WCΘ_X ~BWgݶ "tC!hܹytM/3Of>]BtI8h.4}ge)cɣs{O iQI {Лq"+ᡇZRؕ=\goP}2釶wyKTKtK8gTH/x/_m3YZYaT^qhS_87Áq/8xp|@lЛAc ;_ר}Goۄڵ$ļr5by{ =iDmK*,=_!6w3Pﴚx؟؜n(H<9m3abփzr{HI.~g3QJč|[NyaP#_6]E Q&辳˨,$F1C0|w"@z7wy#CDC%ֽNcl*VɃ}pr$tB| V!ȧg:e ~sO,k@LVwN+ O"<#w2T|s7`SU/źKd_|б|4| shN%yy K{Sbl 7d`NNM{A}8F{r`r1vEa0`6WW+:LKj"(xd9iUG4!l݄Z%lesl=M<.^F8[^{*@$hEDE% Wέi `mRz:/%C (P S@G 9@631Бs-ĶK:"1@:;ݫ#=`KL&xXEbh9+F~Sqg%r3D" ^s[V{YblS{7jkȓ_#q,Bx4Melh'HlbhMqeWGR^Z)apd_̈́4:rzʢ48}*QÈ/j+L6߱[L8]2̘p/חݨe];0t+uQg'9o]]grF|V9@V͌/h`hsdoevѭlx@Ge GW23`‚W`%z՚D:}É6`Slft5V_TRp8K Q۵/ly~iue52'4%9-Dg'_nY+ ] rdzC(oLd'A+s/Sϫʴயʈm8w =nR㞱ʓn,=/lULUcj1!}];t'_Q33\iR"m6{[ d튬m r;=6+yx©)@<f: _ }$*>k>cbI{͋Y\Lͼ# #0j}6wNK*d`&Dx^07ŋC$ʊL_z%k~mgpy&U%N>X_请=L#M9]Ȃ9AL ӷyb^*F@Q,vs|؏w጗!,PMJ8yaP z9C2QJ@`fxX~P"|=s]BZʡ UI}>:g wVpSUnMSs^JU*k!^'ydx rؠ[2)GAЍG#y8m`ӅlGmCqн8:TIZ\ɠLPcRQT՟l/r4[ K  R1׷ZG6`7 aF0(_p()p"Fڛ9Kq}/]LrԨK/+ 8ēSբ%<%,pb܁ yy]{iхf8<%Vyqu]P+\SCwkuwBIU1屫c"|8 3@]bwlv. {N[Th9[ُ$Dtju//2]Ҡ 6[<$o"٥[&fNy: , h\}* $!hc#D1$ [t,X8L:X;c<,(5{V[?-T9c* 93i0*(#%kŠc$`g9hgf`֌m7;a{JL=g'%f+2gLm?N8oyAfU낙fV zo gupc"H%y{3drݸwJ* = l i(*U)쌄|Rqpj@gs\ϟ} &99Fq;).ٙ^ [Ʋߪ|)y|:/m$r@H2sr5{XTg@{ _w#*xhc$6u'4+Gp VU9TvXRaz׼tRcʵz|t0#_"epy/nT9|D!j۶Uܭ"_x`oPK ,8S βO ?Ε)$2ڈ_p("@:u șbi1S8PiXnmCFd)*w}8[ @;T&!A|BȐ<4IXDp DWhܺhd[0~dd-@-Hr8=Ykb"9KB%q)Je'1s#^V} ]$~[EKd'hIؠa(;OpV]^^pjR#\zr(_YG&ٹ }Qd_g#dRܶnI"25l״QVF)%2 V $W1M@4|mN`1? ;u(qlZe}Vw\ Am'z<|Ye>[ u=`}.Z%R.2Zh._fXbGo&P1Lሹ);WN1W[^_# 1ltt"B]p IĊ)8 SauicásbFj"E\B{UuILnm)ܸjK+ i13B.Ƽf:Aɍp`}c&u1.w}ex`5x$m<$4*J>IdGQ2Ҳ__M!w++sNkN uA֪g߯)x4#~_ Ĉ 7a<&N=nǿf0quY#T $?L* Ϯk]FZ@h{XYRŒ<N;X!! OڪeG}hCKuV ROWKY}t&V˃?0fpe;-/v&_u%3Qеg!ƣXUH wDоW&MZ؝nTs48-,FXɵؘv!R%JӶ^{J^`JP͓פ!A6i\^9 #w~fMhTl WڛtoxٌAܼSuyPQ#f[ *H|97 1jlߩ!Bm29ie27x4sEl׶g8 ox,CtH^L%;YXQjAAWFYE\9U[)F⁂7遐; tɓ UNd,;Lx%ȷCf/B}3DŽ}SaP2&Kp{T;9"O9"x +Xa@(|(9.DTXtm&mM-۸g$TAlj @fTm{x>m.3b@AK*7m,BSI6bٓe (-T[F^K:qBf%z2CO,S#5fX:[P=t ڪl~l-΁ 4H7g̖]0]ꁰȫz]o`\%lgl="R߂uq»Q7H*emd.TQt c(]"7g{Q }G8GKr,Qf-;9*İU4/r;|BpJ8 ZXY&-6OOT;荫ĝi7ƀS x n%ZA; z9L*ٛC~"U3(mL/tv@ncIl]FQ {{OĔ۸AB.晊[L@i2HHÄ- -rϺ>eOT`T5f$Ustw|鼿S^j[֭쮏a_}i'N6n.V]c=o0ؼ_jO3/]B]\Uz򜀽T&uc/FDpA>_$kGr[6w ~ ꕊ\d? f|A:/VOvKDUAE$}LPkJ5{2ny%Iɧ3F>-@y aJ3!ῢGfЪD~ۗ+(FRR~*] >'nz&*`Ǖ1꺮¬JtU3R\47{(#ХI{uɫIVBr3$@'‹C%Nu ך@ L 9hAZddtW|8oױإ.:Eble(xg\ u0{"~jxKIű$B:Z>m]&v񉱘y#Fq.r տŧ;9ɥO){jP$9 4IU]$c3$Mjȟs{~Fbԛ+.VRf2> 3M!!y&l¿Ժ= m,EB^w +4v2b?t{rq_Nv5(MZkppG9. T<8(1@3Z2dJ2O3*#$WHL`Y?e R=PkF_1E?|U: luG`.:nm`tmKdA m}n}+&/Š[pda@aj!nkYlC0]jYwh}C=.-(1&9(4 .Z~<66K|fS+!Qʋyb*jLwP=kI䌈3\~ڇQIIb W".VGɨ~g-\PEr5 n+ tm :h>G=Z+\[xdY&&@B+s( ʠ/kUwR;..Q;\7=|I=ĵ)dnBx8 7^59hqUcchT֛Wy9oy>5i&R%_e/e H&.IE 7,4UO9bkdW޴(P.<6O WZa+<9hVB%|߮[%(' IſXH/($Tv5&iUigzG#Ps?d_Ad%eTmڪBF*ˇFyshplQ^+7ѣ>sMYvX0hV8Ky¿P'gW j%F8'Jzkcxma/| K+]G|i}\%غԶj]s ,Wif j]%,sʒM `ٿeP号 )Q^\˷F^7(d~$u-'0X<{WoVs\m7ŽF!u׈> T)7 8 A}Hbw$ÛW--!-^' KC"Afqpޜ1r.^:!l>nA(\ 87E~ۿνI2(L[*ܢi#z!>y'*<*[p}|12nzlCOĤ>g'|9ᣮo /-#.>gͻYn6i4JTƸsH"䀹hcd)- ~d\j XF\@-M<,3jLHYf|/?OE9`K͖ܿX`'џ<Շ\Wji?\mc9ѵREݗ@"kV9jes_NdVXoG b&(@Q {2@4!WIAN/Km*p0+;?0޻|"% 3ܐXT`O|_${U~Ԟx TZw\=;E3ɏo>G'٩M2(|DԞX s= .yR E[^pWsJȸᒧJA(.,wu[X_*@_+$ҳ ѪI,GNXa>eۈn6Mbl@P2`;惒ݗM`(WޗX=\$?t_RIrl/cQ#8[-d0j,\L buRhaxhEa:\FZ0E"@I|1bW1{:¹FWֵI+!\֜p* XQw/6ʈU/$ 2 A>,X Ȝʖ2DB /`AI!R9zryNJn [IR@fgOuJ-oaqLU UhRpIl㖓w^鎯ziު==L#'C;O\6Ƞ6E)If@4ݎWL^_ՇC Sd ZQN69 c @/]@֝a.bqX3Ѿ<Ti(}vXf-K'*1cû d7.[3L0 +u,7u #4Gs?JvxNǬ*)YNQKp8.\r3C_MH>;W u?z|<!deK*s-L\ ةEaEڝ֧fiF9!y잲XTc {\+3TҏI r5scN=!Xi}5waxcWTdB8B}a[N Nφ#ZFˤSBT壼䄼N CH6L9e"4j0bR`v`y$&ϕN#ʚd&{lhG <_+ك{Š5PBZa/W 1n"w+b RM>͚J;=K~{z <>8ዷ-&y(@/[Bl;;V|W׶orlxpxhqwLPƊ !liw/)TBm_XaQJ&VqfYUEMΨuźlYيԕqAD s g1'HՎdB/x@ +: TrtqiWa0` '`WtsY Z<? *?I S痒LzfV/4^GFJhHq/v&bUFeT//Yɥ2,](߁C䷉hϰ_''nr8p;jPM< ~9jtϽÌ/ X>z;n]u"AҚzАm;s+V%圢S9EG«H , QW'亿u:}dQ rA#ߤxd Gdhv)aN)mQˉ"߮~^e ;`2> #KŪc{I:UOKp[kH{Fwrڭ 10TP@7P&?_wopwQnhl dc !Ak~֫^>1Lf 8 ڼ՘B@6 ST^1z͜AMv£-3 &L5fh=@A,>*䟺(p!JpɴcFf{̙H@=۷&/iJ3Sat'-=ߜz$Ed袛2Aԫ¢XLR&É˲%D;'uQ'B"FhR؛M3 8FMiq"rX4 l8+9N+ QEb\}$՝XBx(.C)Tz8VzQ!E6L\&}rS@z.o_ElLϤc!48Զ" yX~҃7:8d(xJYPHʹoaiÍ{n;\i2J_/LhPHq)rnΊ7l`LpYlУ71t/^O,>$m*Be %2~TZVU3,6[Q̔m59b9#,݃Khkh%rqvH(j#chf->4G0Sٷ䨲[FT|GRH ݑYs$=m5p|e=8J3;AϏƃpE8o+"h!" r ]s9v)V ߝ8M'tkc$0 3&4׃w)wNCTF&7uEt8#,;4O!񪬛zFU7tCOfMfۓ:u4|1 V;NŁ sK,e5QWeh&̢yb~[kn\5▧eP.ώ(nnB3K&)0T)ZI/KJ0:>]W䓎O[d'5PEUEZIJa)~fġ#9@b;y!'t|D;_oW.P,1&ѱ.oMG8 C Ⱥb[9nwpaoi=ف< , Z^@ =i8 ?Е6nwls,Tæo$jeڒ>uב>"}4GBNCElr6!զrQ^b)x͒16+pPd U\NW"TtyD&FC((B@C8рm~!>T|~`/;Bq+ ^ŀN7' [@N*oAd7ySgV}kM- ?: Yjt(z*gC4G4B;8~$ax 0YINabfN4"34UCVZm/6B-N5'fTe9HǏ.FfJ'`٩L /ѥR\էԳMNŬEk 90w]*ĮJsah!輝Yfm+*RvSRQ#(-3h.x4{o u 5gvv [0-oSʹՕ lyi-2 RmM11y,w0!a]j&!$ūG?@Ώk[}F69KUzRA_K_t*5[`vɡpC<*:~p[͊N)tA7=Ku[d)gy3|S*χ&A24t8-X -|@Ui@ΰݦ#O(%˻W~3,j .z&Iyu|cTl#K储 ֊J>zN>PLob}o5h20ve(4Əkc滑 MK twy,X.LIso6ZXRgnK0q|91|.а ڃ3NSr1|?J%ȕ.{D:8r/n[{Cq=Әf/M`vdMi_tgd{:^h`֣>=9f[ zUV# ?t[0H  cTLgvT|" Si8fvP1I3Пz R}6*˃O]F^ $Vy)0 \׆F_,jFZ·lO_jQ*#OޯhVdq'|n_ \@ δBICv dz (X\X^?WV`LV']=4P郢 'h)S$b畞 T ϴ==ȭ0\@cN$pm v#X=qq3p@53vXef;inSFE! 9uDpHf'EM1cfnLK{ĭͨժe7W&6gZ#` }]Ԫ  ?G--m~H,5M]}I*E-at`%;EHJ1EP!,ɓNa`% ˿\X֏9Z201XkDZT r/5"PV֜WO]*(!=#0E%O-T'\\8CTq)ѣAΞS`rTzS߱u̞bd^ <+}2=D{ӝOt0P!C;|3rz +C,"~pJT]9 ƲT(ZPwFdwNUeV@ ug~0%'Jۧ/JL.Hr`6 {2qſϊOTM`_'ħ^Ns`F#r@P6xJY$N#tH=ip#bI/;dy;66˓q' -V6VQMپa(5zJD ;dqWŚEsqBs1ԫ'\VŞM)!\4Ƃޜɫo#NH4o !&0$ׅpo@g".aa"oNZEd߲TUNF{0I󹞳Tx)J@?n>ZCilfoɣ<" )9G DEҊ@DPY߮tQEz6֊Y!q ן „A2`6>|F;9"xrv"f@gAFFij=K֥{1'N_%p+Ns)Q3ύKl"y+BGfb/ni_96 D '9B{=޵f3*ޗtqxO4Ul' J?j"6&D f 52" %_7cY?2}5kvR|߭\N6rDIX8ԋʲ>$^Hl ԃC ;/딩~ O+O hRfǖPHͣWS }M*5jSo1C.CJᶡG,C@2O;fY俣zMK:Cofa)R-U*$Yvab+IBw66u r6+j&ͼDѿ f-`UH,?m{_JT.\j!YC(n£[ #Dj[: tc͐&FDYZD /2&1$In/ :&}nfSƓ>h?ퟛeiFOX}| !ymdRl)j}"-n{R6Z(Ť_IzK=Fwm{2:G)vsr wLY!x_agPZ25VbȡZ rfBajF*FeidP.*}x^[!P,(K1s7uh\e~EHg.wn# @2֌ ~b|Ȇ2>#߼w5Xpϛ+%, vhs,8^mk%`Ƅkf[s]7gt,o`7:?GDM%6eu|{4wi桠M1NQ_$d٦m*_aJqwRWrD0NAM-RvIY1ހKٶ)Ჶo2?wC:Kf&@"@2<,z1ᙁ I|*;IR+*fHut1h;@HD_;GXk+9{PobɁ5S, 18[kdփv GZӜ~`{u} gjw[Y԰Ò`\ƒɵeVB ߆ xL7MF3 ։Dr}jV6QZWܹBV!7yrW"z\I. m.+_a_\VS::Mt*D?(dZdϖ*d.6Nˏvzz >ܭsD$fI=J[;U 7M"K%w'Wū}N^uI[ȭ} WtRu=v"4WPi(C}Xx;5JiXjba=5L{xz~0A6NȌAV_o/зVr5#U"y=oc9[ drLNK~x 5OZċvY =+~[I^)Fy{nm Uqۑ7>"D́X|2L@K.O-AdIh}kb۪]XZ4MI9vz[A۸RV"9sh&;℘7JRͮVVN,B / p)ǣII(Yzq(s.C ڪ2ǝ٧9a8  J,|KbrN"=D9 o\c9 ur2#I>x^VnFK@0 <ޯEn|K=B&XK&ۑ}/1=2x~1l~% f#{ bmFHC6 zT=\9: sTn\2w2/NqVGt}!;'{=fc%SܛYA-!j=1W`*ђDXc6.^[}ՏҝHu.tlhDpDmY!Tq2!t';sܴ?C|y2֗d%:YI#k+JҔ= D`xzɣugnRg[*]]g*F j_ùaɪ*#D[J^8zݬ!oڃИa+yP^pzn |e] Bi;^NCc %;Y\Z}4^iC 6ӂi<]}ٍ1zsi#\j]vZBkQ59 MYbcY@CFX!G©w.⚡|2Wt_qUiYRwܹ.X H7p.(t 8cz2 B}e>OھSOĜ?YYu$nsPIM㄄nI6T jq7i5eu\bL\cQIWl"">SJrȣN=|)GUj+'_}jR{ J^io栻w7cVk=1-U*'gmSȗ2D#r O)ΉpVNA`:=-fųNS(2ZkHK{&d5?Q2eJbmbMqY[s~GP71Tii7wNu/bUu<ً}ֺD4Q*@GE|{ȥӏh \W?@Gú DXʌ7% MO$]:MΟ_ (inZ9K~xmiֆk)|7o)ђngeo&̧p,<|8}Fĉi50 /4ċKHCXrTQƀ Cj1VEpU}<ȴr}eR&>n9Ո Td/I\㠐`Wbx DZ6%ÑnK4'~ıw[>⏜.Pc $=%T!60If͵~EyA(_]MȀH oH2bX0yAγy~Ҕb KFrBl]7",_ P~ԶWiEZ(5G1(m)O=}:ݛ3OE|$ME-7ỷwx ?Eǖ$d3D.ǠoPLF]ilj{`nNt[YԿ}Y5-ԒY5ګխfۋ{Sc{L wR6YzUhĿ=j_E+c6iXDE S؏+OD;u<8nBr?BW E<-U\M.Iw P.f+dUD5c\$Z籟mftk%PMҜ}$TX}x6wg >:M1N`U\5G1{FnՄv׌8D P+oג.; 8/F2Ǚ_Bn9]#⃚v$h@!0Ax wr^,%Eh kĉm=n:^:4[.u,PҸUuLJ5[WkZΕoJ]S{9)}*O$7l\ \)h~xhS%:V gr7ZOP0_Xa p<67)z2Z'QFwqѴzDInOwD4tORt9rź h]{͔͟󦲦Ąo$ *q*P[YVwVĒ1Q値eghxſ̎'|`JBD#ØC4X./0\7vOpV=[Vz^EHIZl!G0 6콧tڊGӻk R$fEq^&"oeN03>_nL}kj}_b~| tfgI9j\r\bMA-P9#8gїG;$dL`E{RQ]rj ÈC<e~9]?\,7 2G/}uf rv/ kJŨ^0$)wWJ70!fNXk / k71-r`+1=ܠmft%Htz"p\S=.b6Tr?Jiv'ǒڗSeU \е԰:%9([ݚarm7cVڙ|[0%9xL;lu=[ݑցc_ *B*#@.HnD;I HAjf}/ѫ309VdVˠ-FAmۓ6w/q (Q\b?GGO~a #$@0wM^7D>[q|,2OwL{0: :1u% b]Jnv_ne¸<^vVvZޙc\ppo.m^;ax-:FMs&=(0aqt6|Z{RF1tB!S;-MB^ @f盳}`1kM<5;Vбf~vU^\wuxP&hg Djqy-k$-#t '0z bT.tBٔf 77ùאuԨLR0±?gc"6!G0@4m,X#OM?lszxͽ BD JJi䣜 3̓r`Ƨvs5: )0yZol۰ŎJJKY?z|f ܖxUeI39砵l!ۑʕPװ!`MSWƥGw5`XO*J ʸ ت4"b@h5BÂWew""3 {ʈwt|Yt9,TuZ i)n^~ 7E@ݜ8;[䐾Nn.;C= <_,h4=Y)\ZU?ʢ`=-, G$&2M`\L],jAٲmrf2ߐ8]I8%F=ƌXukt0(4~(Dvˉ5}0R F4bmwcAyFFkەN= '>%M5(qڃ-A@});.<}P&42&NY? +u~Oo.',=l[DN&^z7NX9ZG $Mi)7AhHURWtDYj$~s7 Z>>&56ÚjH. fيXlf!Ax7m\2]8 )qdjl, 0t.43-ѻ$yyĒz@f|ĐA!z?Q2 $kֆttn9vVs2gVTp,>8;SjY"8֝3|')簒up+ۿ' _  '6wyn೮wL1ƳW!Ք#t"Ô*[{*A_}gIc+)-~ Qꜻ@?0t.gFQѝrLD<{:wMi3EM7He?+9QOOJqS+Q> 7mtW].*$~즲ԱS-x+hނ :3;\T Kb6I'raoJe*1C; 9LI^>2rDfIņz19(0=1l^1 ;ZU|e47F6~#Soےp)yk[ H_OHÍ0~g3&o |0s2|i5@*Jc_$mt }˝j_YEmH(UzR>fzcF/|Xc)+dB f}E|v-fy:[^'ݐ秅bO2 "&& ?diᐪ;j[fS0Uf}ѵ݊3A ,/e x&l /4g 㙍6CB6H|jX{JNE0o</6gSNn,w;}#5%;I/toeX֡J6񩣻!Ӿ-CmJW8Dv Ro1v" I尬"qXVʄ(gA6c0Q_`UvkeJP oaO^@ĒeXP-zn0gMeWHqC@@ӷD,)tⴥ3( Wm7(ݮH.aYP(}k@~RE s)CSO}KV`Lwf&j.gQrM@n=uOqZFzU[]Lbo/(:nH >cf&dc$9`!ְR "eel;Рkqń&,h@w%\xC`uyȼIW,tamuh7E'&NHBH/PPc ͩm<߲kX2ײ2&SZA-0=*<ܑGv|. !Ԛirm# Pֵ"^k6 pl&$!8a&PP"(ڈ Zg^xOWR."Z%I{tlHSOE\(MG:Ǧ@B :>0 Π_7IbEUr|.x1Ž@KJoQK)f)0ѤJ gΙZ5o}6Aݹ9tn Isl}̏E iձ(us^$UɃ!t)šOUBS2휲`.% ?w`w>ު~Oe59M{ZsiO,1m}_6Po"4&dV2}JqĤHa$Bq[B(_JKc]BA-޼k\ QF8C 3R9+À/On?#+L\Y͚na$'ZfI" WíC!^ )g"9KmDOqm^1ueHl}g1˺Lٓ"7^[ HRTN\u |cv\*A2+[ٞ6vl@:":l6ɽus̭yr[S<*y;`,< ^` ,?5e8PFɖL"2gUA+)cueǮxZ2a GccuU T޷!%|v}2wkWG ܃ /mPK$7r'IրĊ a"9IN@jqX^B&Y+ ./~PG^+?5^:O̿LvCxOſm*DV8rvp%Wl+O@+ \zBSxg9:=Pu,c#55/tpj~G5ܐD@[ug)P=l$,7 S]ʜp%bjld(9tA >YT2tb|nj/>}Э 6ՠaHpTw951pj P;XkSf케Y]q3/X?}an27E2;WmG }yR0"#{3VLkP@|@6לSߢؼ+{nK=-m]m;DL!J>Vgz IdG#mw̷J#.f[FM;x 'mY>Ti7Ltzsa`U0O~ڴJXQ}$>+vƎ@2!B9#[=k|༞3 8T dFE4H43F`)~-F|^o\*HP*͝ xƒ}le557CU4$3ߣ{A9!/T.iEy~udgb iTvu#?j^)Qrp~!}Kx4~_iXpU!';ƣ72х~^o*%$weG]) 5aDڶBOq7[ATΏf}xo@^ƒ|GvҪ2X"gq\˼!Ju;M_mpF=_LBFZl[S jh4]d%@OK]tc00f{ӓl[ŐoeiEdϏ': ڡ\ I(O>#ze1O̕Gwg)_+eMDOKV3Br1J.S!^: {3+y4QhkeW,ꏮlW$!*C2KWh*kU8rLgർw4^VLA(u >w&j)sݏdVR64wj0F4 ])}wZn:N؏׉Z;͕m&^݋g@M! uog[+ *<,jkx<4xtva_ Nx#{FWӢ1>6@Bg͍vAԘps{n(*1;j)l闯*/OJI.#U_21,{n)Q+(r6.ڜ4 3I"#:Y {!b?բJ1&z_2A7SvbIe\9 +,RS9Hn³$\*W-_@wrm(ĠN F_4iC(ϗXh (3Nle9REM0ۛ:U Ť:0ʆˎJÑ F+L)6Y,p}XjzK{}~;f݇C82S&} xP|ieaqs娰+*ta84`жfʌ"phu`T4v{q/hY#Q= 2t";@,{D P'kG_ x-*Knɼl9lס ﴨϮSV]gG;䏜|ύs7y=n(7_ǡ8pmu53!ő#FYOIJrҘ 2_üPdTyrWx6^~[k2&_ZXFݩ{gTq3G]OgrVBOX@fw!4 E5<=n<{ / UMՉbx _:9:EAH~|85>63yp(bDz ck9j$'m{XDVh gOw)1DDѫAwsF@cir!?&inqU~:(a\f)K-#5=5 Ko sQ$uYު9Nd{+F(b : ދ\bm`*!t} hB ˕7 d=8G?!FHO/D U'=Ĕ|MC9&h)3c{VK& X]u>VMbSLμHv~Tѝ6^5Y ,GJUٶEl!i/v̩(-sMpzuT3u~ zLlǘQ]-d]W:zPW^]hӧ-\u`³xk|> K4]SF2g|><]!XTo?ޓa;Մ|Ƌ*wǦ@"w$?_pW~ގ#jG K͝63Ga#E&WVTܩm]ï^Y;Y!͈Upg'3uk:P xXÀjy)܏m'c6Нg/4uXP%.DOq -U*QH牂) HnO>d[Hnt]X2P# Bu)/ KHL 79zlB8a͸f-pLB U9^4%JT{3yGO8# ˚{w[b*}zJ02Hܥa}Ip'ڼ#2ە5`h.ipfA9Wl-ܫ(t%-, p^'U!ᩞ\fl醭ByfH-IB^`jARHZ{*x%%cZz'ч}8å]j#Qb++ ;/BW?0``Oj 9 4 "vi~8r8KH/m)z.~(>AXltKAP^3TزTL|x,xd-WtHT4TSޯ?IK ,wm ^,C4<+&]+ '~Pba,^{>0FjZ3%ᵟF2rm wqɥ?x ݨ(0$_DT#9&)mTnf~ſmCU|T2/9KO$3sºce&%. .SRrywy_ X>#5>?rd؄?Fh%8P[chnV::*(MUw_xI"DI,y~FnwX4(̪DLo:lϔu]E>% p@y5ۄBDbޠM]x_ӫ jb6~fw^agrO;-LZu"vZ|(47@4fnvyD%aIC;Ya7]~daHd9!&2.+,aXð*Y.97֠;R~0Ӕ)[ޫ ׆M[8&Oҫy2&]Q?zac9<]AO{ s_+~ Aӷe.3L$ʤm~ӣYtp4PCka9%POuXu,|aֱG;WzL4#3LAz}-;l43k0`eXip2CW٩L=^|nk<>ϗ?Dj(@W\v{*nUČ3ظֶǘ獟RA3K2 kMFI7 LNeΡgngx\^`W)BUb_,#.p^8EuAC̄ rt X)w:З}ƄvB_AU|(t )OKMoq㱲ߝePˆ7cc1Z'3Ğg+rvt e6*Sc/qў}X%]HYX%,ccQj aט ЩlGsU 3Mw̲+eЄBe$-&Ax^n֍ɷ{QMkIVA4bRjǏ2F&g厃L&2]/Jн|.!*,u 'r3G#30\ǦLL7+ܗߴu[x4W-ZyK:R釠[Ǐ'1dn̍-cYC%f>Z|J K{'u[JcsXOԥ k ?0H#UbҼb}t-ef1h}B䜑ض"Sk=Ls,[<}P} @Ewy  Y*pj 帨iK<]C &#(R0<' L>~=o&/jO |lϿےL=b}*c dBuB:۵W$|_N%L 5RΈȮ1/wЮ❣ŋ$@ ǰWl% qqQlא G ڝ݀0Y `f[<=f.+ kZSNkGtGF zr;Ĕ_`"VE Ȃ"|q"@)jkO6ǝdAS Iv|bbtŏA#ĠdlAJA-o0hYm䯱,[laERB.Ƞ0Rx߇*ˣ6IxOwdfAlȝ_ߖeM;%:vq=ߧJTT3Ш[wtkMq ͫՆC"MErXW!!qN3,HH/m|YQDͲ{3-48NL&b D\O?A[( 4RnRד:]]>@FadQ&1. ;#)n#]2:Vr 5a׈lqAjd /;јB{YB+ɴzvo6SІ!/^L5(8 X"'>{J+4 őeeJ(Ֆ}T<p7UBt$=1flldp=OGFՂjYYiF'ZT/@5Penxt뫻ڍ)1}3%ֹ,8ͥC<; SkaCaf؆at(b]~(ӵLrj%sb&ãGW +V2 \ݰ[P8VQu߭}<;To?ϑyYwB=D֯55* jCG%ǢʆjHy]y7YÞfw@KBXberC .Ggtc8"婹C@uZGsmI+}21Q7Ę{4F7kR4 -bm{/kߢ] dkG0a1jw(U[2uɺ;8c]lrZؚ'|Bey(] op_ g(ٟ1 u;̭8ȭ?c4W &6y[]h$a@hNG]S$}4C}b \Ub]^az r2IGҴ ;^C#1$hnf_h3iNᯅ3+w Us<;J,7u XTx˪pd怘qC!3dkșs@ge]N %CӀβw]o=1E)!?x$d$Ofnwِw6{T+qÙ BW/{A>' 4*){E>M >ގop%@Ar&5.Gd6vn 4Epy,au6>":hR+pf7ryiSwDN.J.u| .u6x#d'4Sz_62MEAO{Eߔl{Ď /q%Qc@0%+L0W"GS pt\AHs.&(|2}%77kN>9W5TsvXO`p"<)Z|@I æ4!=f=fiŕt]IeQ{wh3>1F:ٛ5@[6b*zn$6 F{˃!W՚E5 y. ׫8#7c$$0Cw}eO4 V&)^A]2ɏ]f!ߤ&NdAl!{;%.y*CXQH1z4N:ʆ~+ ce:Y{/n 4D8`sm`uT Kzhi9(=1܄f#iǻMI3ݰ=Eӎd1L#2BS<o 9}QE)BPqt?l<[ɪK6Yǚ ;U` r+̌F9P(b|Q5},#6(?ýw$W0d?[7"9 <u 'H> ޳^j(fہodƬ-n%-rM3=\ GyĕyZ0;d~|KFgYUG3{ UE@4ʡ(rEW3+%_+D.aAMhF)U|ck~U!E{!}/ r=cDDbU&O @_@fmLBЄdm.l*FeȒL-17)*g2fa~ε6$fhS2c פ.^TGֿ`fkPo_pԇ. wu+Έ\.(F͎~lXȊDӔ-^_MT1'L/o5ٝBz)Em=;ErK|[\ BOv>,(OLjiwsFǛzsQuX]E PZU=w ].$~rK.K @RAS*b2t{Xv:014ѳd-.ݞEw X[7.2IDw(PZ@ph3gpEcWhˀp0*7$ b,VHVnB䯜:'EqhɈWI@H^]"]bo!ChADy1t%c7`ac<ϹÃ1؛F uw][rƞ=DqGYz o+ʭH!LNeiPe֡U&LX'E&4E0\|J5Nȶ<ɱArx lNbt0a|[Cce`1m-䚄^NJ:J%h燕Kre.j֐\61Q&׎C:;+kDƚV/a2+aw"yiKxuX:g>^sV_Z=_C#n x-4Pf󮧜Ѡ%">$ }s_l8P~q6)mb1 ,#rY, k+'A1st>;vaķ1JmacPJtl"KyA mg] f{+kT\ML[\םJߵ7'Y;*9,@몚t.Sb>f5JoV.z_5'~c|$MU⼅4!ĺ9X~,@̱j=Nys7qi2]^L2;#b΀80MAa6g#Qĝa]"5xW WX7\]~ DI-8^i+I@_Pm~ } bT:cL _4R F|#z3P1"gR8e[>uO*ZI:1D!zŹNIM>"R"Ih,e6Ð5CfpFWJfr 4UrIџ5|zs0cK-VmzM@#^ O26vo4NⱱnkM"k8&Jש%BZT w?)+$v9TVXiYuB00KB 1~^ċXݑٔ0 /_(C=C/ȜE[@\n]Llgbi_T䀼He]4 fil>w!jpzú9ۓV:{'|=ff;"e?Ȱzq "ݲC4 Ry, o ghDb#αfBd[>֒K6? ? yI\wjp/Pa%qF-3痜pjW+::j [DYR 5/[9j&}`߲!v "o8!8g$YY+PxӪtQёEQxyUPDz2ս'WdT췺.:;ЇS><)U/`nEZ#58BE8!tkjaDfJٽ9%_EM2#M_8qT܁f 8Pa~LT{{kE'W8f-1]V^ӸefiqEKhnssn5CuM妓h>Ne '-8/:4k0xJ_L$%#ž(_v4KROj&3fajzSrf?lU8Ϫ- ʋϓQu +5u+4HDVh -,SЉ[.S|4Ԡwէf{Q~+0{^'Bރn80}7֙Gwqd]sQ/u-t|8;T6!Z{1cgT0ZZب&lþ8TR%jҫSe]anD0[cU;Y(Kf~eGuyxTϏ{.#_vxHx߲!!*)I;#T23E#M>=7GOv?+o*!9@39nN`*ލ_zxٽb4BnU~ >OȤgl^bg;\S5-u""-Y^{CG)| >9Zv7c5fdvء扃=uDHoMzzEޕD-Q sU+*C6eMr[/êt@3,TkfgFaf>EGkX9yJV{6)Ю-0 zAcj8'fd7o.ǽj`CmmsE 9So#õ\ m^dyiD)k91EOi\-@] 9 v:?)&B8p'7iL2q#8 B]@o—/Ys%~G԰/p% O)WcOrW*g@S}BRڪ$昬HZaEd sm"-e`he_jkV? OhL,+KT$bo<[^X0I}"x=8/هS@ n&} Cr8e#f]AP} Eh@zE‚e9&xOqNhX:p#;EfinX`ۄb+rT{MnQ4RHf<IzRŊ"v>S;FК< b,=ԄFn;o(}i/W J/רl-N$[zgPL2|l9ڸoD6y-jD=['"e2! ԬJN6[);SimV?2W{~b03͋X7gc{v! 0` ;RP_acA \te}ls nclJ^3?J4\TZI0:8 &:21|Qkf*q@4|ق_f:?[?d,T4{Qo!F6IL_ ZLX M*|%F/e#^朣.ȉ_OJ{W\ӂOna1К25/RRWAm [**USnܴx> BjwԟX|yuaK>mYX`dMMoPxgDKd{W2jOreQ[#oBYd;:avy}lh4F vYXC**lnd  `41|6;Ʈ Eju3v pwf5n M(S5٪f#'^ SV΃;q7vECף*PQ0 L/-<;fAmt9IǾn)KሌgOD%\d\@2x{=e# {? RMlu|WbwwOdnK;vL2I r ng49"N..RA`H$9fK|װ+34#{`,|YR1h_xbjz%aO=q0pïaRN998͏MH%ikLjd\Ĥju] ^.p7԰'@%72y;%2㓒T` ݢo ȐBrX[r=-{ﬢc79[1m{<0{FY($˸7OY kN`"z"EWfhrֽ럷Dj>f Qz@Xu)0BR9֋,OaHٟ}yu G>gh NMky hX"ǢK< 1vvtiJLM*r_@g vAF8_5٤S+d., q>άp/A2Z4 {-R"iصLqօı" _;J-16'8=9z .^Cd*.Q\e"gW#TLu?lw-p)3)y)XlAj RU>HF}l  ÑSW"XQ;[gC,<ķzC`#Pvw\W\R @4KDH }©H@9c?, JB<&۹]BREFL[;f2?;!'D0+{[{25{(\ZOts$ o#(f+d"F^j4^I;ynj X~6XҸ ɡHxRZ3 odg}_uJm- Nפ>.q@p{af_!2BS2\hc>HSC}:=X#tg~*ߓ*.9앭Icp4phѽ W`cn: 9:&m.x'=Q5U  h̭ $u 2/}AdO| 1pDǾ_!MۗBnIh}{+^= rI}pբ)ѲٞaE4 uuĒh-hZZpmYXe0b1"#AHРm4slZ0Պf5@ *o>\m3 rN N[N2̢XV\VdZ;:c_XCCUJ8yw9n4! 9<םd:TX7pBW!FpӅtx zOghWH#b@aA0JcD%=>M F/N|jUI!%lylAqҎJKϱ))0}n|']BYE0]*[hH{m9'h6H[13ZvX% .,I+F]T;dɏSA۾@lKo3ha'&YWa\dqn1 Iꓛk;uΎ ݼ-Cԇ26mDш^еEUS|? vFzT6KV`-,k1%N)F/P' 7-3 9vJSLf#xB SY8Z5),yH 2[Dv-I%dɔ / CdfAjrKWRu|OƍVUWquiBkN-OL~\ψ 'kXFz~ @:> )&|qg]-Sy'>.M q3}7Yj<1x{m L ݮyB$g'-VٸXUP/U`Y8b9\ }%9 6"2w>BÈ;[**P%c1/C2B ?YEG1d}Ss5Q oϫ[]%Nf|&{ѧٟ7'ޤN< ǂک:_1{+*Ҋ ??qI@9Q ;7w? + CwSEbkpn*"&(glNPͪegoPf1ơZND#wU<|ѯX|FSyM!<^":)Ԗ&E} ލgD~C1Ce\WNWS ^T4I<9G<kU2ϧ6=& \2>`gFV[ޔ_ѭ>fӴC^q@:[}qz?*d c=uUtf]UfYw ~:>fO Hap[arKc/LV@sE[k bIp+?&z.ј>tdE̺)+U"W:WM܉I 2icUd1eݲX*Vipr$zw1(.˲U ezj00Qć 2kTdybB$$@Qo0Ngua{t00xUol4Y:(΢+9ҷn@bPPa"^Qb&e9t^M? P]Ƽ@rlGRМl1> QƏ >:dOlR;ð4%d| 8,SDʻmRF}6T~ko5q $y)n[ 7QH? KOB @(Q#OGtr{]/QTTfjo9z!d`$Qs@e(=#N-!>'f, %D4(O9)"xt(VyTC` u;Z+LHteHЬ;392ĠU-Q.ȗOt#Y[|HZ"c}?Lu&%X% ]Eg2"X>ӑ3 %pZ<9|?bM3F2\*,rnUf`Ɨ6J%;Tƽl 8+@@!}RfW%ÓrRHr'l3B WR*+8}h)0Zfũa`I*SV+u{_$`f`g‘7\T%Nn 永YBck ,VpAec+P9㲧ʏaE5Ax{s-V]MZlWDM8׃ 5p"l0 pj ǿ^tR %{oLH I0 }\)gs"w&RAm"Mԓp`<@s`RⴏVrpUd.Fr5 d 9%NT3Uʸ}O$L"7~u,8JyaE "[ M - MX΄qs_d 1Sʦ,/+NdR<үo~pN)F ?.; Kyvw?=?r~Ots2um'+9騘N ޡcxk+`n['w?g5OA Dd#n,-lDɖs8SDMiArk멥EIfQkHk{F`u0Q!@5(?I k r;ZGّ~!v}ty~ L;Ӂw_S_#U0T=Uf"8 SqbT!Z5ʗߣtw7\Ca@H'SopS+)scsAÏW>9̄\rtEIyVH56u2Y÷5S=v_:V,yEUWz4GVފyd,;fv ڀ>/j%#$ܹF},ẗ|w明ɫ $d1A"ց%7Uԍ/ 9\?+ : 2!yUOh씚;2c ݿ [M!88H !쉋STDU^&ɢ W?%`l Ӭq j Br4O`}U $sR(`$b4# o9n5IhIr(jd,I㸼5vF͂l ͇Vi+NXfS;W1gáz)b͈F6 *#hMq4*7V[͌471NghlCCe9j tk9?śd}F+{Fpc\[sK|xhFI Y]kyVm Gw%x|A$Ef'MJ6"_̓<$N}h_LI>et{5g55wqv@K,=1mq.> ֮ٞX.oPM4aK:/%9rd>4BG(u\ISOVPlCY1,q+LѦ==y9&lٜO'ֳ8-7H+9`O2JxJett2ݮ֭=jV~} ߏ17,Jp^% r@U]5.d`暻DH Aa+^aMGӊgݙL 3ϝdDMU~,o=k,:xʼnr˰h4Hoca= C 7)֗e=a^;kc,R1͇)2{pK֬KLZs|ŮVEZ:HpzQv5pvlx/.P%(Gu@AD֮ `d'z!97 lI?ks=#IŹog}Z?t|!\vԶZ0|QFdo\{CQyM>&W%g]) XX?N`YZl_}'##ܵYH<~LȳwN& .[>,`fV>O ~֩.1Xжii}C9mK}qbx e}XkԪ=G*CeWVq( }sc-fێq}, Л8JmbUh+ @/-r3,ǁ۶?" ԣl]U#8y2qb[)TnwQ-Hq(zpY`X;rWA.,cu!2BZvݠl|R$?=σSz|_l>;cn^܄*q$q?9B;,AxZV]LV.T\1;!c'hCiO ?mX._? g8`H'uKq1FHaJ:r}۪ Mhhyܼ#sjt!]QCE̦3.ѷC< L06#F3 B÷~nK#{9я4K(QP#Al7ؘxVz?/KJIU; >P{BfH+UܤCYFLQLI a!XfjJyuhO;f}DFr3=Js3OK)mq6iNnd#aϞu&8 ؖ(o%c^z>Q\ nTNУ/; qenY;Ɛ=\)4E0{+;s!P:*= QP0RL㾌͎"&$ņOb?uT}[ִ(#"iAD"O[K Ȗc1[$LT-3iK[A:h߬bm}G0r]_co% e\\-F9e7Ћfd5I]\mZ4EGbI3~i\q-R|w%$6x{Sb޹9=aʷ1 o*]UB)O=}`_9F!%aH̄c]5gyNZub:1>{sD$ěOKOFͶ( @ׇ4X_?D50fL[=mDxJ!FVDtϫMKJK]JJjo95զCD,Ʌs>B;m)Jvۦ #Ľ-D|eCnti{Tm bԃTU5AFusFC$7~8lzc/hA:J&l>15(/2jG#>`'`C{ tqkUpϫMFoyrYn \te^\#bP}0w~]+0w90{Gw; 4pf;C"^Ehf2vc]g 1vEEɎ%?M[OjvMXĵ}a2<ƋF@Zs.~DeOM"σT m)_jٽ]E%`,5! 4};BbiM0og؊^;JOm)u6 tvrzgs WŒMwК3s1'#^=&{ #MB/DT_m%ғӌw֧Hn>$Yϓ t~XT^02]=fmۚ ]}J}6e3?]_g2[w:!iR@,yxσئQo}jGLq2%;ж^4J XT'1F^6A›wz5gQ5,&F a ̭$e|2Ooƺf e"q"pd O4[Գ%yJm(S HbY1GF}QtECrQRR ӎ‹q ׇ{*ZҤ$Li0G]lǙRr.T.lrr/M~QWŌ!<[9_6jяT5lPPbxU`˙mlH;Y~|dEDC_o*A+N/{@I 1gNP ]Ê"eW>1Yr^E7}뉿өqS|Hqx3w";n%X;\x%ӥcs<">(qlS3@ Wφ$7}n N(ގi/Zy+7O;Qcsu 36bm^wF6&tQDb :AƄmdxg:kY@ֈ%Zo4i5kcFҤ0:Jh_c\FEm (16%,:YqB cܚКqmD B iM'_ g``ipCOiͰf/`pX%us^pMMSEGp *ÌSm7ٓ{%B 9yg/F/ˍV&r|X5 z%!~RE2iׯL9Tcؚ$`wc @3oWpB F/L-M*s!9@^A7z2 p59Lq#]'u|(g@ dʱpGp+\YNm#)`D M@TU$.7f׻ZV( XD " {wNg0(/˗v7uSs)׎i3\lKs1^ ~MogS >#ߧcKpV,8F+u-[ld!d/:~L=E?/mA- I#0&tb|E.KI=7r42yŲIMʙ_k>HiiRjU?dZFtmcP0x/z:[!;茯j͒ӵmt|,V쐗!$=hiN M+PF`.L-ƈO]kpz--QN3UE-7a(fHS #"Rz C4o*HeͥTUȏ&V4m:fQфzYzY bM G4F6r=ejt|ve]9V @YNP(N@Zd=aj$B ڷ:9onEw0eG4f DaW)p4@D0k򉬼_ap2 sEqAc-YԨ < 'onEjSꏑ$ 2点Jr=KW\:ī{esްfd+) Rkj7VL``d/8bu'}G *œrR/¶M)mΊ.wM"/:AEeS-1p$wz]uAGk'_^ϭ ԗwӄ؛b-%<9>kVW_-)tQYڇH>UtOofX px3 )$ʴC⁴ 5Q'LdiqYT\JRtWfV.=ePm}wg5UYn1H4C?8Xf1e_6 p@l@-8S%&~1G cVű&[01KMMC4H|` z$OkF>S~3q•Xv0P`*/dmK<~Cl%UR-8XJzU+Qq&8W0b5Hbkj #zt,̂N}~Ր3nM1ߒvhb2Ǡ|6 |:~%񽠜𮓋h zʹwFKcƏC1o׽ 3Aķ|ۅ:0`V B5-:Uvv@dsh R] C4wD ` x:c< x6rTW8 |7mS n9Wt2|jIK An2X֔G|wxE=B7meSpsuZugh@c4[+Tz6Hq/uqY⒊g|#WfMPلu N! Rwb-u68aH#i {[pa/_HYM.KR=cS+XUtH:]h9l3B&HB^ayV/`/$Âx:>ӄ8 KX8;NǶ}FB)pÓ?Y>adڞFNǐ1BSU@oIā. NBYL>zjDgԬhxFO3_-8ۃIiO}08/3Toߒb~t"d[q(Vlfk~3gR oR ԆJxЁ /_Rdo\Q5Aɱ!zK o~l)PHwپ6{*ijy:Ou J]%䰧r=D6"31; 7&DIC#&@=kCjDbU .}!^3OѬ‡LPZҌH(qsQ}式)s ʂ =z~ k{m+IhFjPU4XxBiro(@G!% N 'uaCª[2Ϣ=B-:bϢbx~O32eɉtUh<<;:PmI|Oy W+[SmNRp*w`,{z>;eYTt]mBEU#3pάީsw:Vnn [9yZ&Jٺ8ʨ;M@i/<~8@g5,#ӈ8t dpPQuWŮ5^PbejRȸTB;cA"LN]`+Jv;]em_+r!_iF씪䮋$oA˞*vOrɫdpgwZBY~%4FNDd v|i8I 9,%ҒZ}l3ќ 娍Cۊ?) Dӯ Sߩ2e! e_y%dr䅼SdץxI]Le5_L+%TH42)J>Z*^{[=-\I;{ _Mݤ=yvdv&LF--<D^ؿ=1,^M&AH ߞ؟(z$=T!.?ɋXB 0?Β:z3um ԠǦBVrώb(y(a1+=t5s[ۛ#KbLs@ϲ ls)H2V ,QMk˟NP潭+)n^kQ!ν6뀸)Pr^Rm1ɊցT4Z54uVLWB;"-W-+sɎ8A_VJYy NWf: 9ØX ̷ ]/W-#AeK3nf1TvB U_(q?|p9`P89Fg\fIjMb|{CFeYb-]V%50{'L'|SJHfN@Ϳ:- N S)8{."%O%I]ξ44BR/T&+A@ H)HF(_Cv4|gq8"$3_roכ$)iG%ᾲ?-GQWm\DP,O"23.ŭ5f8#zs} \`{θHN-Z#Za m=ɑb3v>9I>V s`Psʐ_qolE!MB~n%i43v^CuL71=:.|c:4= _DQ;rNbAdFS&z-:"80/K[ㅤ$_~9ڴLVQKlO9{xxiTzV3!Ϩ s">,v$Vb+hQ;''i-OMf=Nw*ݷ9B4G@?O{qG1~R: > %LN Q>9ˆ0sMth:#>/ȔT$AL7jF=F/Y(^@cBa-)Tekҩ44e7q|K|cljcPcg~W< GU/ĔF:K@_S1(2lG/rC$OqpF|Kɦ:zKȯsu rt5W+s|fUU1( "I .ܧSc;y5X9r˒u\SUB`ye(g._G1h)?6PBhsػX\FCZ>YtdZ+EƖi{ɜȬ!"%bGv̒ Guwr 8f-eIɘm4559<Ɉxa}Kb8Mmm腦K#nTJ`v~_T3CL!0CAʡ,R_:En=83{%3}6u~p&-EttT !q  2{L~5NMniu}(̴iS:9:8#p(K6c1ԧ^Yʎ,% hbq5Bch*1IeDyClE/iHH5ɨl|U4PbȲӫc6Ca"qn%ypc!QZ|՟޲[C ap?7C v]bS渇d!Er wuAl G??-F@\K՛A'}56Z靊sНAZ E|REQp3x$q =ҐR_%2<;ZIFlfͶ@NG ܵ~+>l(ĹXrd5ϩ1yl4:wΎU &[0) aFq&p9:EoP}_K=b*2㑿ST0s?0aqG 3xWȖJ8̤!`\hq^kXZH1\F|0ip׌|]?6ZjOxݴwؘߦ|y'dٵghVB㭜$wp,{7S^=%}(a\spu`#oup,$Ѱb75'z[POf%-tbˇPee tsy? 9y v'qY[y1J]^RJ$ݚl84t5  W$(>KD[#I_ :HݼA9dȮ0mX#(0)hL VA6EWt _ڄ?+b%Ea]1,,"ۂB'q 0ߟȍ/|4"?? E5ᴾ'-n) T09 Ȅ/nZN;8GgL3"MJ[e0*tq\+* }9)3m݀vܤ=QmMiI=>sެs'八S~֮~\G %KQ[}&D6BN'..ʋaM_}FLXVb*.PvQhC*HNLhv]eEw^ߢ0f:%j :,qսNy!?ӫ1%bܔ!D6{骺C=;ar},Qq4{va+d?'I}Wk D+v ɔ@7ޒ>U$t;Int,L{"oe :be|~(x떝H8Ɗws YaQkILx kbRN3jj扙monNx'p;7Jafa'x("xXQͪ f$dP Qj RY'UgM$ߜl9P݅ӗj4校dABjSWa{GB bxҰLx@CμZ q=bCЕFx='QnmUofܪhtJ6o8 >2=R/?gD #_" RUt( D Fn?{e!ntP>9hnU3C wN?%}pҰu:'8  AwإޝHFzԇ(FP\Z s=>%&~SPjv*]Zff "#P=%Nru ܌xugip#ztMRsl9c>A$~{}U/Kj9WȊl_&Vӽ#q&َVmRtGo϶+o=Q W{| ͕Q85v)?&z3stHZEp`a Q6{&qBu⼐NeDx9r`õpΪA['p /+lFOG-|0Fqoifx;2<qT) _nSDVn|g¹7[ ?CZ)-T lO]tXXX3:n*Í@=сΐnh:=pZL XҖBPvtEzBR>c>}ke"C ÛB*P|9{ hl,u/i1j5p$#b`f i|7+ў=-uE\uE~$̻ 2AȁkAvR$w6@&7P{ J.݇Лׯ\a2+d[`RXku@ 4'Sj9 qhDža&(y6\P{ՍJlb Wh0 61lKuƂ &MyRkɇUK?K Tnj(&#nxpn&::1Bt32gmŞ((1ŹÙC>r$!_ Q{V[YWY)f/^m{<S }7.@.ˣO@ߧP7X1 hu!B-}.1CUxeO=йf9P/Up#.o3&*~ pQxCxFϭAJɎͶ dtްoCC*{ ޚ;·W>Z g(MNbQp--1qX4-MO6_^dfݨ.;j6cI=zS=CVB˨p4jZ|N8|p#,aSsjmL |718^Gm[DT涩!=ZX\\¼g#OApヵ|q [Վo@7gު7.͏T6 &ڳ c2f_QL _7kg7Ƿ,Yn q"WQ%#EQ1c{T\<t3 JQeKsMJʦJX *yJg>;.ڧrB?^ U>⩇9Z Y.[koe:& ]J_ND8q$JyPFL"_f7 s)`nБt—_ ‚5+9e-+0D'2FAcmUMx+==*W^C M"\-k˲H?ӌ ,5^ȫ*I} I ܋Նwt:;8WĘQZ=7lu7kE[+dQ/ˌ3t,p/ lsMpgd/끸Eqak{`kG=" N&O D_~w |o '"R1:.T6G޹K~}y}k[Ih~`HOQȻ 7 )8gG #;_3N8O3:J6k$*ǞE-Ұ z@2 @BFs%'akp5۹*_ER _J}rB;r%'+HBX oerJY,1ELPYx~]j>MvOJFHv-0dh$2ߝ>ϜoY\̗=mz,凐 ? |3 Fшҗg</1lpdF׉=HJkfwxR?нM 8;F\8LoZz5ocx>POb  V l}ԧ1F1ѶmA&4AXR gܧ RBvV{PɓM zpzM1 RN8~KVh ejwT;mC_{Se)~%Oq@Ǹebk~PfF`uMGm"*Z'4hH*|Ŋ,MNT 9~(ЙZE0Nw6o%xZKq'-7] 2lo4]ɘ7G GڰM_h۟˾08_oJ-p!L' {dBZ V[bW'Jر5C\Wwql5d1P}*y Wxwգ2jw>wo]3k?SiErtU]0U72*h1 Lj*G=~wgBMF)$QЛ .}X:JQ5܉ZЪ~ǒDrLk],x'guâ>NP&v9xW-KeJ<j^g&o_EjH0k=m:!Rtf%MT |U!~Zm |+z2 | x; %ސ}w.W;ms7R$ xfq aޣM#wV^|6?psz x=[-N޼c?IҐ4?OƆe}<"hC #{G4wvA?pZ1˺S1'_u48Ul *Z/ wx#ѦJCAZMX(չUt+PMKCNwty ypfO_cp4mq Uރ*_ۛcfi%=J(h[&B˗-mm>M~%xut-\bHN(}noC*Ar2ȾnV~JSIz_$"q/0üʩt0Сob++-Xdk"Kqߴd|.dɠ };Ĥ~ˍo4侪V0̉vͫ- $Ʀ_Jꢳ^] t?R1#Ŗ2?`/IW.x#7l9]/d/MQLmY%z!3هiPVֽ~A)_y5۽E5Fz=8~ݷ~dF  zkrR:ur~b^\0KmXDM Ώ d%n,S̡l A~Q:xU=ZpX:mu{o CAji7OAGCb_n}ZOGW7! ֠IFîT ZubZuO-섇ynwH>F7#؛N-P[k#GW2@9GܗQYZ+q;8mPXnr#~4|guz?QҤ? Ppֱu8SxE)?~ū(iVEg*:@O? oWZg4)anKhhbVL9(B2&{ǞQ {P"C iyTBeEO簱}?YkLureL4\6 }*q}W?" FnTlr{UpDj- 7 ay`<5Cǁ!RV{=9P}K&UF ~H="VLsKאc VF-'=@U`?D헨  r8xS7UUQ/_ȹ>}(eѷwv[}JiFEMQɐ#/llɧ@W"UTy"U6M/nHS.^D}?\_Ԓ.6ckF FDϞd`98Sm(5첛z)TW 9~.l7$>jf(olaI6Q_%-Mn|Ȅ]gQΑ @WVM r Fb_Sgَc2y/ w+qv§X3k&i bݵ3G `I0/Ng'K?GC؋#yG%$ hp)Ƽaopkjd*D!axJ#un񃎠1W\q{Z'f[ Lf?9DKliK~+J{ZoSaX=ʎqъ堟3&Nʿgn{! &?6b?Yhv}L30~5F!< ]mq:1̸d7LM97ZQf$͂\qC @eO5!AzpJ4-j|"Pe:Z{$c |ONF©cA@~[Y/MlKn#*}Epg._I ^Gs"gd<A#m)~=!dՏ 1ߦAU5e2 J<kM34SOWI@ytYpu/4%l@\V0׉4j$wZ.' lk#EzXѲ`dIl"߯wxrz*hfkAJqg-QHlE\j hg_j_b{ֲŰ)*ϧ6n]ig(CO':2Dbt#K)?/š2\{''"YQ.bC kY;!(oyoyϡ)8,qhq, ɬ|^vo&M+2HYS&WʸlU¦Zxz:qPeUɠU[3Z'j4?[3!P9vcA ve/11&YF]8]vUZf@)6v!-W˧LK,XWVUW @Z]D-Q+"_I^okSh cejFYBy!HsoږF0h&^Q־%౛|sK"&AR5@v7%<ḇ=WTHzhI4e3` 602 x~{IQI2+A eKyݚݏ:Z3bp" QTSLH7Ji8Y1RkML/a*~ 9(u;oNEk[?~Pxv_.Qs| y"R^qk{ ;QMմtA ͰbVcII%ݞHX(nˢȥ:K:kF7(F s]޿twQŁQ/'Ǚ{?>JK1^X p2O_rSMҤ%VGJJY0hIXqCir`OJǏ d{Z෗nAmAm84ݢh.W>&UA@ĠO'oD  ۡG2q%g'z]< xj] S|qXhG/Qʶ6ݓ'3;*x.ɢFO҂ވJёOp+#Ip.>}Nz~n!,C͏F4TDl@]9JCP3HprΖXN7 Fr%'=ԗM/sCǝ Dg[̍Yu"Ls%l4RZ+fFD[I:b1s5{Cc=`3F\aY?OSX,N^)$ƴ#77OĻC7;>[?]rZMW$>i~p@.nNʞvQ@*|ah87*Eu:ZAvyf}=:ٵ)>ۡZՍ[FzxO.32z=jxctm>ڻ Vu 9tz d 6$&CӘ/|%F ZpeYzc z<}R;}bZJM*~C YvQn5"V3AexkD m3՗aQ^^+2UiI qxf=/Otnq9TЕ6Y. ̮8=2RT|jY-*@ ),@p cq3_UTў[]MP[ͩ6hJ 6X$0U'ԝ/d>ҳ8s~'2+{-)36p$!5FMKG@! ›w>99J d1W*[Mz.4j8?PFqElk2Ȥk{^r_àه6?Qwm ӴJ4f'L~K_"v6N3᪐p.d,N0*)vA_ؽDYb]땷U* 12K'ZvJl&L$A GUC3$w )Kl~"^܆K]mo/u-X]?xđv^;s#B9 h!^KSH 7i5nGL-~W ww7Ml Cae9hpI3-I;rͯ)"g2B}TpzV亂 IV>Nlګb1LM@aǡ!H @1^BvC٪POp9wq}UujdawU_Ix H0Yg) h,bNFA Ć]Ή5YAAVO*Wӵ#ىXo!{S̻9c_H'fuTLߥ)a-ӆg0<Y'(`"hBB]|}*"I1!5Y=0i\Ch'p!?OfV̐+ߕx`JOh>N̻P!XulL8ƙ()X&?阳װ17~&*X.UEOhӫ@1Dʑ_5\edUCC:O")n+E#J}}>sGR䩤ns;[6/ B6n{1OG9qؽϽz9|솟#rk޵D0'SP7l;xBƛSbG=_YQjBHk}F~evKָN0*Ѹ`vS\I9a2\~Xe320;;N: z-LW5RsnV̺\)8Nž3&Piï@B0#`{ålxf)Ń<%=rx`N̐Գ[~VaR2E)!u!26G`d"nhc iS$Uw[@`xR"oQצc%/Zp w!g5tƯq *v@$EQ$ nRW)#$Č/ HMeμ粆,[;U 8UM}9-PaHVSRb4o7O)' I#= 4') /'rOۄ)̝"cSv io h%5bk!Ϙ4?Rn+[80)qXpb ZunE&*'_E#X&gam#o_ϜWbZ~_@'Z|&jI!f') P zwxa96nL~>]{,>i/xFjSK` k$+"Jfc?ˎKc7ߥl͢.nyB3}Vm/MFEy3v;cH8d0"Zzn2<ĉ[㚎0?G\NJxNJ0oçz ǩ0YF8+hw!/IUHGnvȋKt^40FQ3y1”sy伱WzSKHBݳ*KtINBuN#j.HgrZ9xvwmd1N"[ĎH"*v`H ;5b StGi?ŠOMFn|I8v9 f$ZqEaʷ 7Tn%Fڵ$86uRXәtIlX=C mPArM,%e\ m6mjiqY^b| M/Q3WELBQ 3e>n;O1f% lx{p1_V OnD@t.(~  ?@յ,vFU SZ M=қ6wY*m+T;H*-0ޛ:;.]V]H\>%;Ӹ'6ؔ!^z,8MwiGےvܨn?ϣV J  QsO"u-%ՕAL]ocL8VZiIIRNy4,1]6r.>boN!h0DuHbw}}֎ohNB(z=(9X2x&@LrRAz@i­TI^cfo;vу.;C2ٶRCnItSJeoFXF)'xwzT[,gYl֠!]Kh軑<D!H8v&}@ÊxCi-c55Y~)k)'OvSIjV-ٔ#q $[_? xXC#$;Nɻm0 3s4ŽnC R(;1:͠b=J᭐n0l7oӻY:g FWߞ|(ĞGؾe xo BO+* G*j蟥GZ~W5ɐ_~B%;ԧ80R Bd ' h/$o>eF{SE`,q^BǕD+oK $c0q"Gz}ɰsg$!BQ:WY^|]gt"PxFYzG % 6C B 6MY8MO/'%`h4Z< x!cwK(ݑ`qa@ L!Ԃ6X7H6o2v jšO^M#BnlEAu7êXYpHn]~\#9,˧ɏ/`XݍrcR[ݐf|]׮ :cJk@:qqk~RY,5*M_C9>%3SkT۱-5fZA49eDbM6bbZ>a{Z3)\|%vl#gX,} A !zpV6~}gh lJWugHc}CgLN\UЦ1S3j}EC% XHPKlІ:Hbz9C[9h:#b=r̍*^# C0sྮ5yzp3 k_ !ˮc"R \ycx[*~D;%Yġj|!F2l|ћpbVzrѴz:☌e,H`O D:hO,\V3Zv48rfHs_kܫQ*:jf!~S 2,HP9_Ip"mnLllYĹΝF@ik}j.3 F_(or7S$7tLg1T۽W^|V򦴀Ȏfbw#&ŞRU 6%*D6@.ZFM>y/b8G?h`mXݰz,du݂iwOtdC ,GAv.\W8"իs}NU!5P7gUs`}S#5S𕁺w7gP 0_vI- b->r~Cq 0HΩ# ;^b18w0Gyn2E ?~̑wFG ]nYz?K">T,]BmΑ`'4]kus0Ӻc?Lʥ R*|@D'ׇ$Z`\xg`,sr, .X+X;o!V_ FX?)ډ{`ok%xz2Mpp=_uUg1 S\e4il7ձ͖&k%bub; #"7.#uZP no:1bj n4%U3߲2,Fހ"ҜnvQ z_(Tbj Aɞ`,b:veh_+cDvf*ɒf5JX`[Ԡ-).,gWi}nE™zG&qR ]H3+rnrǖ΃( wfkwzcʀӞ\[o2+p;(l}'G4:F7u;3@ B1a|xaԑ._Nc-uO!2~3 sxiըk(:fTf5[s/of*6)(j%u^/INA'Kk|߷R-;UڭHM71~< ;{T=(+ֶՔۮi`OhQ ܞ +4")γ$wO*qU QUN ?[i: ߅uQ8 -b+_󮾲poDD52CS|}mWn$F>}!_=z_f&c"4 iKhxwLGϙ%䠤(I%$B "5#ZƥD = a6m!TW7x-AOb?_Rngkکu !} Fؿh|c07|9|pNN/DAEѥxG2Vwsb}k~;8X[*bUa!hc<^u%r?-"!3Rrgk 7SQ寁cbvQNueli fQx!hKll/ҾŐԃQPڋstprfJ1$(୧Or Ǫ=Wa4@M-q%u|WZ>1P~D<|F5MS Ocdtf5.$zJ9O7~e}$i0X;9ϴϾk{'@5`FoS6)@xcQcd,DLy/>:AC Oوtfx8zS.ߵ DlBQ0FP1*xaYTnW-rL"׺RHOX mj^؎cJX7QP/ȲOl$MjEt%!pdSґ,i\$KUvˆ"<̑YF8s)C"T7Ͻ`%t4ԦyjԗA\?!x[^ޫG{Vi>ǁ2?~SG&_D[6ZpgQF W \)A@2?{uB=Bs rahAJMTɆ1A•&råy9!a_֝n^bm0o㎁,`xs/u0e"F9)^|kjMZD]6R n78C4`:̽U}\uI ̧ $7sn}&c4WMԑVC)r0]d!!/Ym 6T˺Fgw1}!vlC+*꼾 x`e6"iv7 #1R0<$ne'r7؅rFAgXl)GbB=*G7v[OG$/@T[4@vYr1.C~1 =ٶ/V)Ɩz W2,%Q5m6TMD hi)0'I1ދNlyH1hnFH\ܲ=JVKHN/}!W2>\l<@u,0g6T$9yQaK']*|Ygs΂.3UxFf(r>qwOVА1Bg~{jOĞ|lxC`R\úuc5P!,DAn-> NҒ:75 q((MT?ج^^UilinmH#׎Bl( fT5%{B\ymZy7F9*;v+x'HvItfmak@Pf7Jib#~,Y#xq$za(JX !,cm'Dh-\{H.q$Y3%ͩL/H?)P"6y4) L&dń^rg#lL0bå{vUnzt@^ڐGOZ-poRe[kuWfVI,ܟwhLvƝUĶwœI*oLN\SWϢ b=iQBNI2vƨq62*rڑFyF~l`y̓ݑ\7ߗ8NdZj 8J 9wL! 91UY=:r}ZjQ,}fh 4&4{H[ÛitLHO'Sݞ!X3δlUVA*:n)J7Y]RˮPOeޔG╨8j@p5UNW$ULqIP|pZvQꪌ{Z3i5]P60nDz(ykk k?Y0hhff8]AYeR`m[&)q0X:Kv/ƴǙJHq+G'EecJ&FT{z&i47>14NQ3~y-הyjC`D&zWă[hCwMXjN u;Ry?an! ="BnQ")S6rC%>FJ 5kCzO,~>duj^l *n | CJ1Cɖ$NRDygG-dIfd S?'/ؚfV=ǖ%wl,CoSPzLy` :<*ތa>|Evݰѣo+8gSljax=PD}O2N]OE. Y` k;p{?+..k Wq~Xgfq*1DA.èwYPrDYZdΐ\H \᭼e Qְ:7ϝc/߲smi'CPMJk~=ЮPxD _{9mΖ{'э+IXk/m疍7GVwc<_vp:G Jb._AnaO(,=($AӮzq⻊dC@ 3D)#e:pш =5\ ҟ?fA emΟ TX~w3b?gPM8?v͞3ֳ`+,fW[wL4GԿs-s:qo4WCHUFΤ/-yM`QuӣΙ'KLˎ~ ;P""+aJr6j|y%Vըz/]#sNP^C|+3-B- [yg?>f2ͤׄ8r`dֈhȵE,毥ׄ&RE+"JGLd6n0 PY@ yvfsnh+y!nH<%gm+ᣚ5P:>(fU bFB>J8ްfiu}aH;*ɔQdЦ RrISDž`+!Qڍez~)-@n RV*y]STVw$IsPN, ۼNKy IVE֝-,!=J&Xkw?&s*}x]{MQSnbš5`Wd'6cP\] -!&nE <#4RIܢ^33? ӥ<^N^4h8bb'g1YbL Q9p{--\MtS5w oS0q~~~$Mm_%>Z~SJ%`]_h[ 7 `%E]cSG,#QjDXO7`;y9#u1u0Zl|M4yEr+qNdH]=0[OSQ a 6Ȫ 5O[&?t& U, +;Ӳ42Fzc ƞIavljb50K\rq`E!³[`Jd=sƑhI8S~lS`.@c {A~l -FmVL=-&( @I>Wm]"ر!DaoqZVYgIo'Ox*V}ѩVH:ׄLEs\Â@Xpn,ȭ[pJ#g(Б5Fxj~6WI) MU_ߵ<"v>nu" [XJQuĈe}mV"g(nA+b;[0 NdG\G~n6#12\o]{ m#7@KP81>nZsI %~寓 rF`4Q|c~%Tus߮uTSWP@6O׹JFsB9)1z:!czzϢj>RSDEJ9Gms7֬ {1P6OI1&Gqre}jC"MGRQrFRmGn090@Zeҫ$Y,!3X|I&ŷOfנ KZFgRӦT݂Z~x /T,ȼ80f;JmM=YdYC1iHol VQ"1ohaJ=7JCu`U^Λ{SҜY84N.AWE.zX }5.j="2 攊yb'6fټv6*LYxQ h AIu1Ff*>3 6(v/ύ QS_ gdKz \'Dܤ+()M C]䭺3Ckid ٯ.!a%~y~qMb`4HޗRfomXXάZ(2RSǒbDzgɁ Fΰ7#4(q3yfۉʨ9bʛql[':E1cUN1{p쩞U~aD JwTp1Ej6MIndJ̅߻Knc QF3>㎸0ˁJUI*GӇE:M8gv :fDkm'q/Һ|+I$Z2l3F3lWu4@^5 F^% D_qo\|+`+ 0<`LgVcK5R *Gd?9"Q$WkZo`*J1FS->y+-bzޗ -jkACg "nl;z^-w )g/dņ#hMyIj FOy5 6ux}# -bKMB$*f 0͌/ o( Jn?C:0ſf0J%PXR,``h!Glw넲xc~npq&qZ(; EqvPᴋ60vXx4zln:ZM߲EJ--J V;i%HllL!^a[D\(P|&okuҼ45ۈ[ q;K,bao9Y/+o`cEӳ q\t.V\6aOeOED~NdlSV6~z<ޮR+ aƁd@cS]s65*݄[vy5xQ}t\m>O/'SSY(n i͸.N/j*8E_w};~>. &RZUl\"l?)xmY4ב؛l#H^ٓR\ޅhHuJ62?S2Ǝ9M^Ls6P:IOKa';$k) ;(LAdKFKVo&]( izǧMƝ[b)ϲ=!?3c>Et%]G Tr(L S[k5}v西~JLB,.L]*DWYJσ?W%>bRH}hv/. BV=WIm5Opϑ .pgN[RkdX4#D$\kpigN)X BkE\vޫsQ 3q|$ -vɋDʜ=ݿpz&4aﹷҏ,4CYS԰6!u'tj :~nXx{?6VZ~<$Ö{foZ4ؾ>B6]C6Ip O_gOVtb~l_ƭ#upۓ2-䶀U/ޛyu:&Z44-#9'V6TSBUl`/h4Ʀ(HpR Y-LϳˆF3 B zf#9쵑s;2Z\cTV;[d\հ%=sUX#WO%Fe/7Jc<} 8Գ# 7HC 3VFxh2S'Reg :cbՄa,=Vs*\ /'ʻvbA'lH8|Y>#H7*8aĈQLʹ.+ 39i~ %\w??oHjd{%Hn119WǬ"o/8|+GKFweVOЌ,xEi 0l+ҹ@j W̯zl}~@Ay09G!Q01SГSrM0i{)<tKW<+N"cL?8*K3ZJ%l La9m{:KoYʒ~|{Jwt|k7Di)T-AOԮ?4n֩1va>{B534Cʠ kZ\{n}"Mz`SSNR?<) HV#eT}ĉ_M4TGNH`v)XFb&wF hq`Nb5 T# !!EٍJ`i]ei(1"A@֠ht_{}eRdoO4fGA?kPJȥ B3O=nnY㞃[ SS](kN'd˞[bIAj;ݑMձgTA=hx=Aqd? g~3t_a:1Q#c4TE Dxg?5[FJ-\]iCS#,T~ %BL [iBt*\A B@ֿR$6ENvwKfp)X75HjNu/ Ae֑9(Lw44|AAiWҀ>pd]zbwI^ %539vz;9Ll숳YۈZ]v'RO9;Ӽa]s)>(ִ-݌&-5Z2[v@)bE SĔpj%p]й7%ͼ6\%|0i‰ he/; #0>Mi#g-]P7Joe'_!a4]` L&Ӯ:$[ϸۿ b3 5e%MFC/h=>^ݿorkcgB3 QcJK`M߸ՠ~!,lh: G U}/)A;^P2 /"*.3X9II94n i;Vϣ #У j_ZEG8 LyRK\W7؟j2pOz`]1@}y;q*p xk'eTL7eɓ\A{>Z~EZ5a_y N}8EdyBlI*/`I.ܞ@bHyH%ѓ=,Bglma,a?Scۃu㬡#ьupJ/+:Ky9}cs^{"/DGIm ^p-Cp~knߌնRX&>4KWKnǬ-vP. lͨV+?(]US$֌r'qc9 fJpHܸ́ M/}2M~|nLO{ۅnR;GciRf{9cj}D򲙛X ո g﫢>f/P3GD\dQ[#®$T ?+1tEo0-XqN9WqA*,lM ,:a#PՃF?+4.S*0r:l 2f+BQ*XJŽ1g?aX|V DPNK)8 Ɣ>T_ZZ׺e"=ˋ ?e$Tu37T}o0Yӱ&-@V3_|:1Һɜ]$T1NQ|˲( :=e7?0&^ۑ[KF|m"NQ}<x['Y)*n w}=th{m IT#Ē1Yt2}G*khs#&^91u05^Qup_g{()HzQb˖c gIP:(rwӸ16ec#PKWK;=ym:"y& SmWYX9Qt08&o%lZ*k o[?SM&Cp-]qp㡉]Z܄:ϖ¿B#Ѩ"%*G$ \@sgK\SxΔ*|pPʺ9Y=W(J"4ծ<0{ĩbҶRѓΔŒ:ȆBqr(ܻhi}ϣ {E `Y[xsHCVj&f7\^As>{ҭ]~XD.v|Leyd(+Y&UJ,Ns\G+48jSוzTs|qH>ڛLN4ijCWiBe*zJ1`R~8$_="hI1nM,oS^aľ{Ew3#5hx9:LaIJ4䊡cW ;_hm~_&:e//~%jjQ{NvoM3?Z ^󷖆Ud2 dy>bR$>q f@tkd?O?k;ewZ|_=f54+STLG5*i=T,ݥJ(Gl(Yq|H~=&mբnt9Z}9h)yv8b va*65,z5phŪ|Rv{z6XWC(]Ւl; "7*:w h^&A|xCTǩ*m.  g0r/O0`67e3XJ)@-ݜ8)IS?ΨHmy58B HIͬUuƐpC  sL'|]m7ubNyHYT4aŶ ޯV$ƹY]yEמ TX2}h9K0 '.qP,¬=di˅R`$ =>NցL{+ED/1ȋQ){.buv`Kӭz5UgT,~=1@NI)~V4fn@yZQX-Y,()2[8,wAKm_"~Dµy > &Wқ$ qŲ 又35ޏjT;T R"aJ"I@x 3iJ7<,&r3pqHK֥lW|2 anRnyQ%a 52xA7)煱 n3ho'drPsm٠*}_]ʜhL ,jسQ`FM|!Bw}"en~JE/Tx\Ϻ2mAK'#2pFV*q$.jT^6-;eM?)7f&`Cu$B?fUo-D È 8EvK3ҙ8G壼@ a,3zdQN(qoXSw9n<6wkd;#bNrTB~C9:X "gQGyٿC#/έF"_Fۈ!c.cɟke4PVPR/i UנT^B+WO+tSdg)n1"m0p,D/1$J)jHv.뛆aɨE"aY756/xUP̀fP{t5c#Yl kvRk5>%u6hc[wܺ ݴ酀H䉮Q-W ~MBeSzKQ۩AL/FMۛˆ>׺4aQBeek։$Nկ@!h5[Ya96HfshYژR\F4j[֯5ܦq82,ԛpDUИ Q* QWfrwc3x86gUpszOw?=I& 2cN*J 1Fh; rXrx|9ޗkJomLv I_aлWlL"xg!j-YZhrN_ֆI8&Uo0kx/`0!1S5^\B@@H'cxd'1t2|]Ղ d!hXԥ /STk4ؤ .PLjQ%Fh|(pT˖>PTbz8܀'g?&nx*S0rX{ԂG2)yq}@< /`?U!7WO-3(] o.h( a nbf yRs0_̰,c{3Eɯ|,Do:cq~_`.vGeZ*@p^t.z vٿPǒ|-MҦuB/O%2B3;A^GMEq\!ܒ˞iJC J3I#L_ʞP:i^WәD&V!k(~Kd&å[lДjtVE]q=۶T)UTb%{y[/"$qT/b)3pc{k^b~M@ [n.V[=<Jk_LXb=mVȐ@-f bi [ծ91^#p w;zr0,Vos<)g)P[%.G&hMuя1甔)Kdd|CFٷ9);'\2` D[w܁?: Hf'!D gU[0l9i 0ҷ-wYP/A~Λ3P7Ng~;Sz.:5HB-Q,aΔ2vp-I̝U9uSTCIh|(xHX[ۃb6ECb,eJO:M{v-KT1Rrxj%~]s,_|"xk6bN&Rp)UP+Aa塅Ͱ "YXGLBIɧx niag5֒OstHR ?`nJA]}i X 1[k-%Wch(swQ(GY26PdXNOvHf&vt14A,~ i< (LdaSޅIcETQ q7hfXGjymbLs;-WHP4<)S^^*>mZpӭU/!^r뤎[ ص ÷kW+s~] Tq8Mml#a4\%bN?Ih%}7G/ɮ^s `GJX`]'w+_~~ ksWcKv-jҮ8rZjJ#]7@~1#lT=h 8Cƈ!MH,2n\$;vՕ۝ơ 빐ai[r~#l%|!&!Wpeq3ۋK ~[Zޔ 9h. c#"dShFv/\<<1-a%DWi=S9lະ5 ;C&"-[ZlT"<&ѯDB.ZnX[ͤ5,~"DCHNܶ`^aCjO!WHY.0!w=JG]ǠU=\EtSFh!cIY1{YUfR67FIx8$59^oYQlKWi(DD,2zJ4̤ѯ1Ky8Ӱtfr8xA"CK1Iֶ[㕲06~÷^z!)yyp]V6z%0b 餇h؎ ØvY\EkWL/<5\EXFK 6y~g>=<蹈}ڹsX޼>[eW#r'|˹BǤ(N_B 6P9IF_:L%mkrB17yԸ9 ) VrV5WK|,wD&I5.]eQ߱& ވZ'%Z5y邿׹d0&fvY*z~rMw *̧rݓ +牤4tʄ m l8RԔqWWMQpvFugn-NSj$޻8,.=4 mcW9S}0zBSj95LXeUtzʕ9ɝ0Ajܗ6ˣoqhl="Ɂfj\dVyu8;af=^,>kQK<Pㆇ8MU^_ #ٻvwsم=NӄB_'I<~4`o6jsLD9рO1aP1g^%3{%⺨._a \F~Z ^{E6YT!1fCT誴"4&,~JȾ\x h ɭ-~4:twMsQ|Ov\MRW;SC?V]# ze5g1vѠ[;SZV聳[[;& IGp{gUb >se ݇#߇ϡ*}'"`9םiiɱ^<ȺکzאyWGS3sVPP!E\0W:;a,ͨCktMt0ThuLDHxb]OTLh[#}29M*ϺbUGg9 3ۣz! jyg?φDԨ$f i=,AIh1^*bPy@[ w Hk5OqS)?(S`fR CAݛzW߳+_ϦOc!pܠc7="i ,6ِ)2$8GULf(uy;z&mMVBHc@;* Y wDmW\}<ƀL׾#⩬gv(f\6GwTNFuG%;FM&|Ɩ8:IEٸV\HY-|V!O p(YS$O =%]o-1xkyhM\^c}|ݗX dW'y0]#o\4жl\ qErz0Upᥤ+.Њ/Rۮ#-7Xc=1,ln+F^\Qo8ֹ*P!;iYk#5E{H΄1lKNfbgVM30< Sj9TEƒ.i6]=LHCzrWH6x7;˯ENuIe;W[={0'UTZJU ~m"e 6BL-&?X"y:Bw}}Ys+m`.WM{w k3$pmssp;ѽ[`QNxF*Fp1 /y[< vb*)J/;Dm!Bz͏ N_Pj'|HFZo2! Iz?N%a!g3=9IKSj-_ dusPlU6"غ5helJy[>ߝ׻G,&70'Wrj}̸Œ) hY4IfNv*Wì9o9ʿb=UNa{l8P9Պc+6u-ʆ_ncHIABn*EQߦTf޶afQZJ2TM˜̭keBG) X1*W_;$X)L+8m49eޞ 鹍Lu#8eC8ڀdgD R`]to2XJa@FrO:6 ,Qnh_vu ƀ:<~,2@DA<)b Od)|dl3Zu_XYMzXٳ}Zm/|F0=oRL[@m-L *Qz);)S^G 禊#-.MIA^8>P.v |[ROj`y5 qԑ:<x ~0TqL"CFlOhu%ܴ)1XJ"J^L k9mSoλ8"X c3qYC %FA[-*mgGkK=-R:ojQ0,̢DYRv &mZgo_+[b&` RFܷ2Y_J2<Ea:15X/I@SrD"j;dopk [Ե'HBf]x5ބ]eafbRW+9Sq6ccW?ՠ*z5Vq$Eu{JNUp`i Lě.BH|DWjygp׫ܬm;wDL8Cr {"kvH転0]6'>C^_HL̍5tVOYP [JN2PCÀ$M0B*G㳼 =b 75?G/hU2N7F\o+z0`җtk_et.{õr *3y]'a)WU_D@93׼y}KzƲG՚hkՆ}њ1ӮI:u)teɷe>;~7s꟏*ґ㵽_Utq)M0TߎL!a6hiXx' I4uzBu `W(%vUT+J97X׶Pqvkb"JL찀CJ> _w%Aq_;im,N)TCnh{vr9-?$xɋvS/9l~ 6^*q2vVgT!CUO J0;y^w<asqʨ ǂS~xGv[`߬QF Xq*x&BG:YPض!#†pdR :a\Tla+tOBz󤨔#hĠi4Y@R8|iv)֚#X"㗕G?"um4EFB=m5|\hĴ:H#wߢ @Ah̓…וֹ?t.FcIB l3F,eg`Wnr np?,w9䉄Piq}x3 }B-8hEi3 B60LSbͱi 4Z=C$' 0\b [C,I_ {-zꦱWtڿaWչ eUoGD&L磥?h'Lz!x~疔'{cS>װ]#y8c̗Ϋ] e@߄0],!lc-X52P$ӱEy!.x.J(_QEx p4;B}bxcM11жe&畠K M/"4ifȍzKpq]?^^ͩɂģ < ?As9P$s'(>pesIIp؈(2BTyR{Y~35 (f6#7Fzl\(ҏvߴzE?vS-4& _,""VEb?|`l_rvz \̉3O)~w|dr"~XYȡجFxFjjG/kK^Z>"J=ll2"i! S Q.G]o&.^QD+]gڟz|]b8FM 9".%69CdPUC~e`,wwnn(m7^*ha# k4+Bݦ&q E\IMG{v-b,#گq *uC Ԏ90]VُbfJ "g(34519OedI_XDUjjU*@_GVo=6`%/d”KȮ]54}l텔Hq%B>3[EԗbppRG7mndΊ[J+&:>C Ru!fQL+F-M%͑URO YJwBg9OHl7Lj0VMhE-u~_@539v`^8,YY6*}iaTb|Ͳ"4jlf KU6+bDy!&i>go iPcB3 GG-֎j="ٷ+Gj˞А\G;]蚰fHՆ)Bi%7NIWdh\;mgT۸Ix<+KG97:""|9ISj3蛿]J =2k6Èx+53'^YL?x2f@Am{)3ȑLXa @0NH->dh_$K\kzSj A"+D.o`EFR#lI _Aה72 I,M]k-'2r笔/e2d֔V!6ϮW qc|,2']J<>B]f>Sm#^ 9gud! AVlflSG_HzڍhDZpGl*阻E{w׵FZ \y s ?K?[N?51#HqY?BUULg`09p6Du }C(7 m]J!K{ epKJ K`NjU4/;UԻ=Fv~j.}w*13_;Iq|}Β>brQ6: ] D :(uD X+wC0^8c?iZ,X$h]5KT J>J }."G-ݎe+9{n,^ Xz0=X {)4C<||*U//GޣYӞ:H#I&Tq_zOH",?,N1 KNp]zI"~M| 'f|D2'Ǝp{"h/H3Q;~yRm9jB 5FpL] r k"QggI@o%fXO[e^Uz)VvfL|~8*m j aJAioznjn:MrMś0 N> a.3Q1qc$olAi'%I\F3% Z<44 R@5MUʬ9 Yws!_wzX^)3W;l?0tb# 7G902\iy~t.j6_ǾqeݫʵI@ 'X$z(j5j}K >LKۗA"5]V3Ed\I _yBį#'-ѶT~: %ԥ)TBEfc'N󮠳f};B zq$8Xj/D xDMWL/!)b IW2YoabA7jmK"{w>Z58x`V:' w$s.fe {H<2RɈG'j[ j"d^ X$"Lz<_uE*p@ ":&TiAwBw[YuɅ.uHFx6G|٪%4Qvb|J~B f5 hIJL}ؼװ qI.=@F_@Nd~0RۥN=9* R\PU s s&`ogZi,&s5i=Qչ71RgR%.l}zf]Ѐpػ'zL[ n@8Ƨ~PwIPb,CwC1:!>פZkq!9" Ǡ[Džߘ?۵(@013.\t>S.E!"G#{w -LE'։ڳXuOdv/H0"V@3ypL ^ͅˋiwg;w xŎ0+mH#*}#&؇ ١3ɐ O_5dAVn}FCkD1K2Qk/30c#H%nP뜡ҦDI?E*ʾSM5!X*6@p]r\!Ӭ tq\iC@*;\2W,ֆ+mԢL ċ۰.8/,sb0MuHhnCQkE']%<4i@V*YR~G1 %4 dP֍:*zϝqw\k2ާ 9(YbV/`9ӝ"te]ܵb܇"Cgt}Fb,UN޾;0́5ljT]=B]"q4ȨYi!o S]w8km_-aR+wޢݯjJm֘fW^<>S%ޗ7tI+y?V$ng_zROxKr] ٞ"3Xv Snx0$! Ńr$v[ _YYxz>DWYB6B/ҕsQ|!Zq#Y#,Eql" v|,|yqG$L&Q-3 nv7@_B?v |0Q\uy|QX:XDүԶǻ%P^-H#Q۴ޕԣjQ4:HN{BOjh:`pkm"RBBA aF'P ~C3Z9G֩bfB-q~a.jb@<ׯ)VYVdr%֬K4}f8T|bT$&Rf/D'0;9ޛKΗxZ^q 5(݃s! æp끓1+ HȜͫ> rYףhy~%ң0\ dLͽvD$o_+x FÛ·uexqC$698$ZӤ[FV03ÂĊ0\! e{ (fvbNev^66s$,icK=cx4@:e}_XFݧm)E1"1 aS7V#Y&vv\}hmJFA,X#KCT֘UDz@=EG-H#;_1v-={L9XFGk@CC ʑ肘osd z]8N*/=ݨ;mF-cQ-բqѢ.a\ nʣ!!Tв;O ?ƴqc٨LK-@9~PawWXZvF_&TIjO`hUipة!-CI0U=$"CcE%ќMxMKxʿU"Mށ4}}e#uɜ [ꇊ%dt9.' ;9|Xqp C_6_0}a%/Nb/)>uAX}DH[9/O-?3]S?D2\ 6K 7ZA}2qw7\{6M"lRJ:7z=X*' `Է:4R&ų Um&z/żU;m Ll y0k:\06? Qw+}w+q@{{% ).xJ9Wn ej³KYI^RRRTZ˨@dK&j:N+ Z ?7y)E:sd&hs3O^]}Ɇ)z}+U؇M-mPgSqS3Cv~r׾7&f:m1Z?,[Ndsʗrf،Z_AEgU>ƛ|3[IhA{&/ VթԶ=Ķ;EC4K]5˳a kU8U?oQ7to5^dlͤEa꺓m+;4e Xn' Z`/~k$Ml>@}.egx%lO>/_gEz[Cka4u S8Xdr'AzE ν.J6{?kV1s/ߴaѱ$v7^M!k=N;l]ְEjnAeJت;{3"(z$Eeʼب|j =wC8pa* A}Z)}1. ƫQ2e=LC=h L m0R =8lXwjV%_k| f_}U:D)T*w. Ńbcx MOk\VI}URQ-/z=A>[(Q<|p@*S,xj9HiX투b:Ɍ錢ޱ>/t/Cm4=*P|(٢ؿ$+*:YwY-!ގx+L:^efe '0IZvUc}v3 j5ų֬zg;#^ЧK{vWKsqCG|Tm=mzAqmsz5v?bn$Doc $~2$UZ ,ER7ru&? U55ILJm\mk~7lh);m驰X=E/9=sOMp9IxompVJ=٨6sZB݄ꖜk l3 zͫ \R}9kĵu=t}x|"С: $gM$2xT2K"*TO~lXZ+h?=VcD)C**ο~Ʋ.m2Iѷ{ErL 8ZGv̫G=tȻ+QML)\#C[坣睜or zh3W`gq.S8/@RJ0 ƆJ l_8~۰JYK#dg¤ %#pfa[VIƏC+G;ť3z:M=VbAR<3n˝vDx{3 mqx妌"L>|#ZA1" Qr隈d#X=~$ 0M v;Df  '2ٌ&ZbϏDh{?)N:=;l@Tm*72s;RuÌvڏAPm" Z:$jYX-pu*Р3Z-G<~ď(H`/0&baHeѰm/e$g@PG9ղU<۵F/Xް$[+]SF GR4Bs5}R =iۅw#֤|˨4cmfJPCcVp➨ @U;0 'Ed/ :̘ލ",%qs u`~1E"#+VW{ cKFwlIGųbMƙ" ޲Ar39,Tͱ^gmLqȟ鈈湸p#6' NnPc$`KBF. xit]WIla{| }U%O;1|/o4OVĉ$l{Q}bX= ]lGd?4;KMW{Ex(=Z!0tRSq('A[wޯgǭl&9J Gԍv@Lncc; {]t NBJAcZS;(nDE^1O@Mq{t&P;؋xHB)6g>㧎{Rw9 t<2b.: IlwS70®K>ې #ŁՈFW8֟S>G/v!K29!f%ث.#;lGl] ~=ST26d-Pq}ۏΜ]bY,Eg;g`$KXS+J'tHh:9$I|$WKzV>"%}iE do uAe;$M&grfO$I9AXvZvnŹh7$W|T30S5!x=J>DaX cp(CR!Tԩ70.&:.כy?E ÇWP&/I0.x)=yP:틎ŕ}=~fR vN*6w3A[#U0盒4nz}hq*] "ˁ~;5M Veae?۩VꝚXbK؛bM`@ǽ{5E|&" KTDVA=/c78KBGocREo^H\\b߃SG0arwDžrڳIsB b>:O).s2MXK˨{}Es Fa^IĢ?+{ZJ !Rwp䅜Nϙ ߛe򧒬_}/?TdrLvm(+U?dQYf}NP@z\0 i98Ay` 1FvVH=# IY;MxW_|­*&8~1秼  Up̞z|e/Iefd3`'SӍ <>=cT!I,-IvqmҩH gmtt'Dh'Wҧˁ1n1{&7l\:]%ED*;6nhћPM%ym( (Q#-e~ 4sP wC0j*PDS^Ƶ.URID<- *C@}kG98☐\49W7#XW-(jI~CJƗ4}皰jW8! SL~7C׷&]lA ykbEwePiC-0Lێ7/j؁/4x:ܐ.N:GHc3Ly~~@;k|do.m$>[ 69StOA-E.1*s/ 0Qgd,V`gh :t! E9;0Z; hJDG KV=8, qꩬu ԧYSOƷyM'ŅfZST%Kɖ-kٟ;waЗQK? )F-Yc2QsxM\0uVֳ[7M$2,\ c,zd@ִ.kIѦ:"UVf"+D] 44kNC4L0Ye@c.Iva2FUb6۔*7OoTOj^4B~ܑ4H~x0L 1cs.ONnp9.TJ9HЁd1>#j1ptn=HfVV= 4!bJ-AĒyBH"<Q Ѱ]e#U00ZaGEpB OdMjY-EY#qfFA==\G~VF?%Q޿4u#yP݂tȃg'ͩb[bN*T@h:b*L3)Eܽ[=Xn X<7ɐi?8~H'> Hʃ5[(SU٦f#E0{woiH2TYVvK6=3TUե}8s'/ÑD}*bT]zMYMYO*q~P+P$F"Yƞ$XOo;r^@řĠ @#<)fwO9NĐ>|g;X,(F?8Zv]tzY fLm\`>nyBi 7S IeIۯLf<fU@v*4_/f~3 Q[ͷ1r ౧d^pc HhU{a h4z@L.KtsN ޱELt+2u BN~>tG3.`p{ƤRO=ef햛?ݰ='y>W{d BK)mr< QdKR #jqbI}( P(R\otPl6SwS_ 7]V EhȦ1.7%Lm|[F܅ϪP$^NрC4.V~F!#KF%x ?vXqfC[[ (ǷyUp#N~U$Ӷ~mίԒ_9cf=_YZYʶ&>n>QzvҿYaIR$!מy؃*idF:* {bMy]G@{L:'{)_Vn #mEFIXb|AL`L0J ;W,"Oakik+2czehLxGZ|.x s(N̪X G0tָ=>:ʝX#1ЁνLoGLYf(%.)b.C/G KC` fdU d ᇾWΕH[(uF`qW$Cpue)3b|G&rJH=1`3(Dsm?H/7 O{&< U#r`p{]<")o$rg6mhGTeX[]'g,=YUBZ#bWtŎV" ;ej`W>$ Э D"cB4"89NMEŎ,3"hv9Yq ?bZ>\ u5nVju:Ɖ񞸧ҋn~P>T^Q~և-pݼ}0chhTI5Rz50kO"+>TX( |ch~hRI@C;) ~4+~b4:$n~ೠK&~+&<\fPxaTM\Ça幔}Po%qWo_:qo܁./66c1]A[ۦݯqOƥtfVmNEǔQ1˅$o*;#SY9=BjvN"*mj!9xg 3~υM䇑62\^^ydeLN}ӂh)WttDD pe(/{aj.>w ڛ:r>0I"/BL? Y7a,UIFP[_W X_~3J`,D,%=gU#| { !BQB>sDȕ@ri8f )7ٖ=:+(V@KQQk4 UB4bI&dv:nǛ X?Fb[EnCW4%AoFS҂we*d v]HŠ'thOx(ȠGsm0['kȺT+Ts% /OXr'naoW=nks邯:mjR 9SN#Z+"yx:&җhT@d!RٶnC 23 !\) F5>$ڕK{#4=)6*MCZ/1R, ]Gr^nY&?zƝ?2^XCBs.`G=-hc@Y×@7GiSJX.=\؀~wG n\HAb7IEQv' ^-NܧG$Rnz$VeiF{zwRjM'OucU6X7_G~h@iѢN%ɒ+$E&HGH!ӝ01WtG[R +f0I%!]xQu PO%$۞* jpRuI,3fxZr=?cs^~(jHqIl'~,` #΀_! t9d~ }Nr E@^r)]y9geE2B>R'χ G90@ tَ֣IYqR3]W*ď(o-$:S=>HV۵FGe4ʮ{(#l0M b38ޙmz&!k8.PK+.e:Ȟ(R-W2Y(rgoV sCB4R7F9-(󾚹gA+pIt1mIޖ 8V~Yy%nh#疖XF}ei5| ),׫A/W3݂OՅq05w\xٯ'wY`* (M#߬2bn"gg{~kMFoxH} 1W h#c\FD){/,MB5:?C,`xJ#r꣱,8|4Wp ֓սg;k׊DY--V { HJڹfMq fm شɦ,xmh Ux\F U$ ص5 6JU'T,gxǭT2ؘ$lG OxC2 '3q,o8n;AnaFwTv'Q 7^;5ޢxCAs t#~[բaCLWXF ڋux]Ѕ9%0QAuA9{\c_~%g|d, VZAg.5&$z`QEJ:jgo -d2pn c3%I؈$K;@s|[q=岵e*o ;T{ S=$0qt1pؑ6Lj;B

  • Nzlfd_(3z (NŲs˯  Q@k~jn UB}"t]TNYs ,YExX P0rn(Tt7哧wBpݺEbjSfb.ɺٙEЏ™F }7:&w/`¶#fͶw|xx4F?JMLw Q:=2=pk5 |fR{=[/r\k ]y0biY~Rݎ[7NMnJ|3vތԠ Lqwmd5-ns6a=ʜjHD+A͆j( 81 l${H0MnI՟D>hȀ~{1zI' !F벬YE(F} jML"2Wcw,l~'}+* pQMKs"ztERA~EMO OH1^)E|=\* 4TR=^^Jq,'b_ C/tgj]HqP}HqYFQA'fۅ4xLmƳ(#(b"J)\ء4һ!{TKc 7f?o@jE3^ݾ U.4-E]Ɋ^"a OOD*y?9%BLű/B%7m'[{'@9; sݾ0{f8}>XHasy :U'Yey"S,t@8p/I`/{7[$zyLhh t>H"5#ߦ$27[VбRu7׸{ΗÑG͛|~ +Gi"4 NapSХ_ $ZY xO ; F:S+`IWrWcN]iZ?)W! \@apH *+ x(.e\~e/0#U8  tu*dxD&)̼hɷn0Fܸ^!a%g|Tf9-?ETۘgi,N݆(?G X%(G&XwcdywKZwew9ݱ+t;aP.{j@,n8u4BVi!Z2pZ6.w$fU#¦l>xv>qv$ܒM(' .;iG\3C;{he5/:LKT,MB%eYAw$c:$rٳ=Ƨ-77cKw>sgt]q32[U~XC*"Ъ; OnvD H+_6:)zPwVctZ/S' -khs4/c52VUn )LTu{dmf4\v907Gm~/w.MC ' Mg@ 00G¨Alr)R屙-;?,ϴ K 02iN p&3S#Z3d\9 _𳩯xF] >GGai֗: uSWB~J` )RUA^q&/:< d%!oB|xy`TDHd yߐP~EZwDW٘l~8±:XFd:z--,6&̉ժ9@sv;IY+Lغ?_oRS9`6MЈ?Rn\Btj9OV5gj x؞y)t0TBNA87Q4'JJ7`xIC֎|?=Պ֯p3E-?0<R- B [=^\N O8BO]SJ>dg=!dqO<3qPH.U@)_#{U)<<=ɐ">ÿe.zTA ~2["g?Ojp;+J RMTm $*"ZnWQpW`bS4m&A5Jf>8P k.+> x_ZT.,Fag)~8hw<_Ƒn_d!: uZ ;.msIIjR- W9nL5ǁ(ݓ{} Gc%a^6R@?BFq^Evs3|-:e 9{ꮿ>(#n& *=;͎"5^wCrY9&hϺJ]Ɓy^̂xۍOlǢ7>LfzKy?(jC01YrJ?S v{]IEs]FQhTa;ifjPǡe..GW@ 7NäYVHx(Q }Jx!&wk.vٻ[؟{{g9vaIy]Ps>Z7P_,ZO gƉ}~ $m|0P+{ê'lY,P'8Z6ŎzAZw~^?8~PӢa L0 "Ѩe$s4n[6ؒ+Ր@30pQLoFvý2:<]d%eJ ȁJWȅ(V eg/G5>dZ8$e7ɏ,[p$*+[S}DZĦ?,H_'UPU"}DtA ]Lm7I0\Zk~Y@7n_#0].=9Mv.U7+p,NZ*dEQ.#!R4)o),# f9b^y{~ųH9wceEZסF +Su'}n}+jX h7޵WMaHsp_y!d 2~:$ u/SD d&3Άi,*S485uekhORTƹ3kTA$}gef׻=(qP m셠𔪨7߳1IhKfDjȜ8HaN<5yyVA8&ՠukT s_~bwQu7o{<6+:NL_ >n} .\-&4{ :kua~=_o#)8lrxX)[ZXuLa7ؠE3kA[5R]BT:et+-ZT"7ݚ!ϨvoVrxyD8ԕsp}cOR7-.۫pߙX)O,ϼ.C\V6_>8%Q,KáV|0p6Cx3:1v$])ҹ¦%Q\&0rquy-]-Gm{w~`R'8"(&FŦHҜ`W-g*#w8H .Ox>\ȒkkQ#!8-ѱ1 DQ/iq'꼂8J<=%\$E~ t!;ZEqa dHw+bn9:eڷ8^ZjZq)QgOcz3fLcg?_P ^aW\\mtV&ޜQ9(yF'D'T۞$5?|"m}d)Z D寮zZ:mQ)K uSa2Yݾ[Yre~Ihm:>MJ/\̉\ )nv sRYbڝ_GM :7A}S\]K虄ʙyW5D2hwZ.YUVȉ!TAMp[%=1 $HHĞBَ1q%uP6lMWh^6U݋縴@vJȲod nOԌ1H ou2$e0ʵg;_uOn4bG/C)!P0$ŽIacX"r| O`]V>h:ch.@ۀ]wSщn+1nq8[&.}P KK_sb4Եb؀!Ե19-Lx.A]ځ[mvJ~Q8TmDZ S25R>@hSm{p%~XY;U<6߰poIp=hžəeyrzIׁ}|"N}lŴ/Sɶ&3,_ <{Q:*ƓdUrFS,ͳ:qrv~ k }8<~o% T<ɨ>\i_e(M?xl; !Z J 7#V%߶Zm &v!z k֜.0_&;_Gu~]Z܁Y=ȷL=]¼q`NT$#*f-rq¾N ,i{7[!xZ){XXS~BIr[G:x~< LH&_=N1#KE㳮vV=l'>ri];d Ջ>FM6UД%3^ʣ(_,@rU8_(5ɐyqwü^0z'WgˉE}$ur/J% PԚ9LNoF8Qz4m~Lh7U-Rc>wvq W]\9LJ4kQN6^dPS{Y:g1 .Qݴ ugŽʅjS5J^ WW[P,/u501s0Աsz N~ ~'EYz]3Ċ(̾ [AOYˬӵ갇-n9'#IP"m-sF s+L8ls]Hd62w,3&svQ*};/TQw|Md/2(޻1E /Apiܫ9vd;U:L%OOVC78ԙgGAp|[axAl}g#R}Ɗ/?Hh,$o/."]Vm ٙA:~CwV"tȅjF|,;҅zeCXZ8!S VOx' U6;#)iYRXfYUkrjWKN] :jJGZ ȜIE*^3ĀyqyEov%r (CJ0 "_{m ;fp!W ,\pt(:4!k]Cų%qx㬣sr2;&qMay" hm Ÿfa &B#X;?[cӱ8_bj&{ .&7-h5)K^T'/Wb OݝGӴ&>I|V >rV|t%C[5$q:\+ۅ!LЦNȹ!̩B5-l+6 .`5!/츇Ćȡ'`Gײn[@L\3YDvʥX;=.d)Ts&:0.n8HW1t"DߗdHA7o"nzz3;Cu6;^nŹELz1 ؓ 7](xS@7>ua뿴ͦV/Xp X*Eۢ<@AxwBU;$>GKB2{}頠P9N۷Y.(U[9=ؖx-p43LAex qJR%:$ G9U/t7>˒91$u\6}8kbR[&qc 6c뵈Wуo۫#B/bHn/KVYB0~@4 E 6ltYnI~2F(;;LԎɶ1񫿣ZsCz!*xR҅*jW$f@tD"ɏ/nCFnAZP(Qf6J|t?lĤRc'X#vGkg1EXPG_躮}.b#:Ұ`=G0v!`CRܹ3u##hlW Oahp-Ќ^xÄ5F<;ӸH/gǿa-oEo AdͰFT-c_w6yߊiGM1CuRm#v##G7Prol|VHE&6nY:9Mco }^Yx rpM#w6 ^Nn7\d9U8 3ZHk.[\̣Soo:( aǭa@撲ې]Ǩ:HHtM5O5#iPB5xU(mN:Fc\7V u-IȚic?f_#K&x4⵶I96I}`!ɻ i;?J Y+hQ20.]-jv:&gfGyM>*&ʖ$y=t=6ɕuaVw[F9>\z;QN\aNF'F7, |}RTZa^\B,3&q7L\y5 lܙ#xp-Z>cgóP l٩O͉1cP?fD{$1U^j9--3Ė#/а_hN}  b tZgQe p\-~=$ n":.21Ikq|[%DYOwqIF8c,xe^cU` Q*!.5m2\YQ.EԖ5?4߭$cJ AЬ oJv3fw~Nj'bCK!Io`Ybo6!f v2O^~x!GaHp-e"Z|[96[&7!ץT즀MFdЭ nWAHDqc3ؤ h >p$sk\/'lA>RB1Kg܆ȵjX@ Ns[.Cp͜N+geiE;d#0XOy<ퟧ+3}bdE 90̖J}dUnsnN2^p,ϭsכjy7jI3p䊭! O1Κ(O1-gJU\[{3T[LQ1é(>~E4qta1ɿru:T _l?m2xNmq~r$! "t\Q b|9R~S\0q~o$c&P%]BLުqh4rOxڵ/EJ[r=O$h#.=!څP{gMm~FU(QQAA 4o0׽{ߕwA]dN"m4l>= /41-yB̈v֮|))Br}ZJ q['0mU|Z{ځ 9grjUS~(at[i4U{T |/CZ 8FGLV;!dj 2k47!-D~f[_~jA؄Ci |ԃTh,ٛ 85ox+#Vnbx&.FyHkTqK+dD= ̨CUmáVvP^5A xɔtҮgCϑBґw;"f_vhƭP |uM 'NqOd,[6.zk<5MJEЛW:]Uܧb'[nUlǝZs.>]kxIIxAyĹn/+x/#$pCHH|(RpVҹs,p)*zy" p:l^PxGs[$eH.b2GrE Y?.Bڜ3P"tN8^CP/[-aU rgDDͦgT[qCTDN`ԌFe阕."Vɴ*T!6jL]NP?Mj%jd upҡ{t\:D(=?|8GnYO\#Kb~$6X]m-ł(<.}lxdC5;/6 PIuuEZ⎝eO7AB٣=UJyZ^6,WgOC}h* 55 `:DLѹ ko 5t=H`u @Ԑ/Ņ-<ҹYdPs6KØX*%Nz⟘e渔O]=10dc@[Hkmh1\J%TiAHB3b7Ɠ4hD@Y07*ً( \.e$TM@[N1\Je_cZmRE|Tu$ ^1k16?ܗzqikz =x9Teհ0me'cLItE}#뜙I@:BbPk <>:Q e<^ d][pptz=!u6owwun*,4[ly:ij5f]I76`#,ltPT[[qPnC 铭aYǏR]P!C sfi8FS*CɆJIZ\/ >ze篿ǥHHғv~5=lif{E9'2E$~kف$/yDTpR tES8%@.f~`<1+RϪtM1r @P#+ :H(f$;?"(Q44_#=Zi f߰jjeG+Z/M]NX6n>Miچą:f{yN F$KDVz=KhPb`#|u A @ܮ g!_+w9*mQhfO2WxG븟Ea njLxe韛`RI”;cNPTXОYlC`=VUMU`(mNCVZ_=p`?Q,mV$l8Ty&w5xrSO6[pcAI3ۼ"߫nCFrF7f.ŗM_F &+|Oȯ{}2ߤ0𷮨`7[MFX*-5y{fjZ{q0CBda[s/;-+WŎ"HOh0 *Y=ڔrDM\-#A0(Bxp8 Pw"ܹ#DZ3ƒ{D$:G9߁Nd {P8 wiѰd6'>>U%D|Bu863#۩`(nUY C2ëC겹&^ BjƏ/ Pf-v $o;*utvEriۚf|Kk2ܝNBBH+U8o8ojĚaV>}f|KۅϨcÖWaz1-yZȾx${ CL^LKk!彴s0bQZF2v) ח_%[,,dOmИ\u z9w^-vubݷ3; O8A%^DemmNٶf\ƳX hL#]K[v,mq3gMRݦIQ3#7TRk/pCQ \ =e_ڟm%6JIuɒ1vhfjbh.'ѧ@p,PA8G6$Zs[Isr  }Ǵ"BD6yd>*YSL Une6j͝EbZ&i? jl=dfu >-~P9ؠcBHg ^\ +vaEEx$X,˖IUS}ry>'?x=ڒo>ٟIjV6lVpܭQ r\j.w"X↗ޟznsUC”TU.ufX-߮dĸaqulܶDQt?mHåbj˨"95 W#YJ 8Yxq5 wF@8H'ʤAݣ;0W)$o補l-hV0# u뗓l 'HΥy/=i%g:ơ :4gg z. J1ZQnjBUQeƇ~u~'8#5-TT P| RexS'8VP1L^o]x{:Gd_KbCWr[~ܓ*&yӆ|,,hq3{gh& qi\`fl eӛ,ĘfH-㮱Vo4BTz4As"mxPRA a:F_u9`VtB!я=qG سaya*y@2yZ)^ hqp-ƱX.9 u1`=@0!rghpG^&NX|au`GA5!!p8)[)FxLht7 ζՊA|t@Co=涐vEjDs"\o ǫR|a3TߊL6$zA.5VثAǀ:db$6%F<_Lj-f[F,tRTłI Ӈ&*^i_&J^sQLA4-T?0wX6[MW] Vp[!qvi%S/WI/3Z-QW O0[k!‡X'b Fw!B)dxz< VJc,3p)yTmzȊt oLi(k3b2jH.@T@V R@hENqOF Ѓ 7BBa+u^ κM]E촇d'oɉ.bqc'K& o+Z'A$odE4dr}jڅ sR+~@`F&e7f!mBrQDŏMdDF⋃D?Br{sR,|{jjh@İg֔C#ɜL6T2> 6OУ.%=4qojL҈d6^3_ ܖ}z5ĿC%`>ۉ79sSz^b%|R:υӹ#YOw$JA(}WVV@ڡiɣx7 ^Ϥ:"0HS,bxReWۂS=ӮÈ'pEΆ'8Qmi]k(Oq&İCAbXӘ{c0FLK6Apa:;;CuJhA>Cˑ/xpus!U.Anm/6im}9 y*߄ *퉛7:tm,Cw76 lot[N _`n;xE@I9_٠<:Ymp>.svҎryUNſļ_2O{Y3#<jRҍ$8_,' ?H_v^=q_ϡ]{jROQ .|H56\SeJіA׸fa29hѬk*#B6Ae `l7-\ƃl !`X^`@L oՌ gX&HGPw9;01nd*p<#Mb@e)z xV }{ڲqD$i2~ m bi.OȀ/ԏ_-e# $C;#Hi5V$)ђXa5T"ڶCxfREגqp73ԟgb?ߘUI8Ai ϡ1KpDVoiT "ɒ P*eONӌLl3\i1 nEi9\f Z{]F4OPr8[RT jyw7+A"oqNO^(߹<&ۀµuA \Y&JwAƚB) QI]Ou3%Qh ŋzȆ5nj[B:a^ :Y3IsE^c/-5JQWH+2[XL 9ƘBDWtFxX< Xc3Wf% 'c4<ZݙT8 i!;kZ:{*0>e%cB7#R`kB6=Bmg$fgu@1$],v\a0]G 3IOIMZzZlܣF*rׁ]*GbyIAX^ 9j`S*iHWnoI|?؋eѓKV8DSOdv^Ta'S,| KckG)QºO9#vA6# jZdri~7&@17Ȧ|ʶMa9IĈb6<>ZwYl;x#b u &&5 .O;"*W|NeN`:jOm{.dFmRcУ-lԾ}q|lшjƱ;av$~%Gs|Y~!yJ# ׍gI N@J/1d&6"3z@_K]?u=vd{Xn!Q 1u$yty};'r.VS2h"oi ^Smſ;AZ @7ilLKPK{_~pѿqsjTtEͻ^8n+0LJ&a@\J20.` XfQulVZa6zap^-$rVŧ<#z`/uX8g(PC*dRD)< ̓{\ԉ(kihX;.רj8@3\0 BN2'(6R.C[iʓ;nGڢR/)YhE^PN./T92kHc M\[$G?^i )GjYbg\ Zc.rR t ]Z}ugB8A?M'Ptm(r'˄-/>F6Tܗ p(Vd[pHUE4|"yG$S6{a|8-o\\̩ցYA\ǻ$m!cN >lFZ\i4`4Kep뻜AB;1yqbq@QЌΉp!II A~[ydoiɂo/hnHu ;ٔOc q 8 ;cH% A\odX1}Vmq xLw+!~1SXfܘU (0i`N:OL|>| jr5M87yc24>D[A1* SgsJt7H-~sTS%J;w)~Ϲ]n}LIgkThs&IeHÉHZ1|Q:Ӭ1Gc1TKHi_<*O'? rt@*5F/ϙ4Z F̱Uζ"a+?g^JOv7g\yɍqT߱7V G;*CmғExUF9<Ϡ^(H Jq.P<}ʀyD(eZ LKY߅R.4>?W KHٽ^Ԑ648ZƧ_.zIfZw2NC)DA( T]?mD\WFkb %KAW?'6)J#Zsym%1/jmm|FTzv`/-͜&tgp9٢V7@boe::u,SDnv4(Qit0r8ѳܣ¦񷃄dQJPR2DD!Cc=I^(Jo8+Β+GvFʙQ&:Ep5MRa8hAkSMv}nׄ%q}$$PC_XW?NrъZv`N3" cZ 5_8'z[ ^S[?I,ߦԾ VP:y18SK:;spHR.!p ]2@\l'3!inD7lNVJxX~fq12t}^F c ) ȟuLHnElx댿1U=RTvF/XƄګ5U&_赖7zid я/ H4G̼=3iޅY璱b:լ/EgBbLPؚ5t#[7q=vҗLLZE4l>ܶ^X߄2\zr7H-l$f_,`Gx}![g1XYy Y;Ҳ.*uX;2Ȅެ=3SM(4 ;+d~Lu6.!$LJntj5v5piX >yAǢd._kpwVq>[Xa[^.(P #M[+ m(W) iq4tnҒ lbLR1fYMueҚ+ nlcCWY̱ LLy4혢_N\,ݳ nxV*r.Ok `oJAp"Duv\MKs wVS]ڻnvJp8rp{ђJ="GTAw`0U=wVx)bh0NIq ٟWsmn O~ռ/sJTѡl@Z"hޥ8T<R˦Irn8|'anVd!qZ ~VnWf]*\"rPoSh;|_#[uY/h*1nb(5P0t &x5m cmW` 2SA0ȹsȖZ|K %EKv.TƹUh%\=iIyx'h2(8}'xmD uH9Rriv]&m (0n,,XN^l: MA$bLSC7DFq,RBn*fMn ~+{Dy/]:|}y cWI`:nXa+H f)o|R_?1N?+̑2KtψNW[(ԛuڞjvQZ`",cmjgb}Kf<hu1ȥH`Xh ",P#+@jHP?x]yp+SXQ\K]!޾_ef ]ҊO+#Tgx.xF9S4d(FB6)&B',nlCfSͨ0t=X#qk|4+UwDx3q&W(A۱>3N:#! ig3Y"<@Ieqi%BZrE Gy(8T((Ūi˪NLf~A+ 􇃺e@-C"(7T^X"H bhX5bgeSΙvn)r/{ -PUU+ٷ0SMdZb1Κ&QxwMW󙐩NL*":y۔*|!1}3ѤM ~ΌOC)ڣ.ߋNS{pčտnzI|o"2+\{I)+թ^ WskX]e_6K 0FG-5lP2nsð,$ms$$cņneH3:Hzsf46,Vr9Ы0 gt؞[F@aa3 Mdű"U4uK'u`2`@kH:|H 尌h|:)t1wD8ZfpёGN)}DZk{c\]"!Ͽ̿2Ua+N)π,ӟ*IG=s*_qZ*e)+QL%x86%+r^TA]$ ިWݑŁL>UFN.K"cvBqWf)7'.kDcXJjh1-+${J5Q=DJo=f) \ɫ#&㧐H`?G<(t3km{bZܒb<6&q= ARA/lwEC4ORǟ-.9OA`TTTB.#և1i~@lIۥ p!O.}c54ÄGGƴ VPyo I+PM̫y,/.SNNp͂ܞWU@/yӕY}\V ߴ'Bjʒ8S JJUa;s 2N:4lRKϽo<}ył_l4/2[??#pX ?^J'"W+> mjMz|,g24zVCy-Y\h*M)4# f~1$^i]I^yTӉG@.S57gB(ݞ}SCWoY8)[lYf/A>֫j5q7;Pnq+ڠw# ?z&LG!O}G4B%B`^ojwhV`Q=ewN%ވ hY 'qvr:S-L%Uml\!*/ebt\9'CuƠLu 0!\Moiʊ(P|Ѫ)D#ٽ`vv1ǚ>u ouTtz^l Հ_U*2HRv`j3śN M/]$?hB|3S{FSt^#X3Wx.β-m%7.1ЅX Ga;mYaP/voH;)VgMq 2+f\+m.^ w tNԧBmcA^w /ZBP#IM%|{^k$=`rR~y<ՅrY#;ߏB $=ia6*YLO+OXA@uPK! V%iDfpݩ& `4v jx=0^R3נ~uoW6V-|y)BgM讴=G^4wG&VrQ;-wkHu7KԅJ%ŋ3[$,4 |]zH5jޑ$"RݛLjTِ& l%! 9k`S~q,͇ }֓/|'vlA 48^` id 5ry O^S2Dn7Pʨ1\E \_I1QjX>3~6GL-+G~X%/*CwZj,r}%GD^Qہ!90j-  bwdlp2 M"p\tx/f'aW3ݭR#8@۱d , oKa#j.!\3Q>vh|[ZC[0[CQf1?J IlWVWژs'ûf±.2?d3 ^W 2M.4/P/[wxvc[ޞ;@G| iSc [<%o15c^AS.ٛN:χ\MdYt;N$:@y+=Kp]R*zV9t}~uΒIk;>((،m[oVXjI n|nX cj]}V)M~" :Lo< lYݕbEE Gd|Xw:06VQ=Bjyĭ(O;{޵?3E/ C`cD:cλ"ҭi׾|M6ǁ;jnz9z7>>&WNF;/~F{=GZ&n0ȯ6fLFIjmEBt,o3Br_q}bz9*=)Yr_fC=ɂ`v$)QX m$@})8pF 0i L-#R\{`#؃2X0"@z4\ҚX1;Xcutp;}gm_Z]Jgz1nQE6^($5|G +L ;+nᡭ~ޮ * 1agG2RMw@U w<хy4eabØҖd>ζԎNVb=uwZxhy ƙ\;\Nßonfh3oX{ָem +`[JHtʀJ!pk;_'I:cE }dmC21V bbll#!E됍l hGcf‚߸)C&>oՙ%x'&p5B]̼ʠ]Gλc{;\.}hC( ?[d^PFFdt'Hđk tt&d!^uT7H#Vƺh"{/ɫ\R>]K?H>'nP8Vb`d.L~]by( %jr]xN#N[-^1\qQoC+ T(ٺ:^WAGT~` 4ey~+o2fusNڐÒXYEjR0; d\/D y uDƷ~t{ XQjssZR#uw!h:gmS{)07^,ЗzJ[kl/dkQ1/RP+RajUwo`ZJ^rY ,Vh?YAcz [8a,Y>:6`c2lE8[RSUq {j_M?VvQDG0xS糦'y?hpnǝWTfeа9$ObmSb߄5Œ`ъ'@BAQZٖ7vNI?1̅p/,I'zR$im v_4]\ =(U{Z?Wb˞;a n_=s`VU('E[IJ#wd> "`aQCKb!t_BW#pu m {8AR~h[l8bmz"*=;x9u9ov`!R ⊣kB{M!\gT4 S\>mXa+i;" H!VlhSEDWgdk X#fK"Ҿ_b3^DDʍ3Y5 / KMDFK׎#ߕ^vWP,rUd5l tR+£;O]$UT FTl]㫜qM@D1s*E<"Ko?VQP2ܖ]H-iɋ*]@GkD _rd"qdzqG@d5@&yYg.J˯Na.4|RLƹ*\_+T27ߢ9Vitꌹօg;vh]#f#Dט0ӗVBc|AS5{,SD>uMwV&>6\)6!z%3Mbw:ӮkH[p<o< L:jiu7PyMZ>hOLQoTW6cLCwU|W=S"ck|)l4![@O#uKq0oSdFn=œ ir֫LrTfgGdx>Ԝ!< uЩLS\87]e5>myAyv+FdX<6eTKZBFHmZ'p冂N%ZoFTv箶"HOEZzޅk$IZ w=L ;66Zbr|%o~UE^~ͧwA}dÏQy/9'~OAfTJ3da|a䤗P܊ *)-RFF7 4Y3Ԁ>M~teFj$zց}k,ܠi8.æ勽PN;%s"{m7@C&i4n}lFӪo?mW` C8~Xb񫴥m=Ӣ@,:`-YZT^h`OƎU@WX2k0'<_>x#L] AhY瘲Y-5^@[$^]M`"mp*I^ܭSxK1cxdI0+C쟿&e~"h9vGv\> zKD_>IBF,Zj]^\| FeL$Ȳ+*Գq[(y 9~[{!a`OZq\|d b&5] PL9 l")vmDGz֭g}[]KS7(4c'Z51 ň]Yys;.omyyY#h"<8!}_( y @ ^SpX;5͠oPqU>ZP>VC\QvH(ވ垌E' |#P*#/n%;K $|lQ⍝˝,3N fJp<,*,woʀӊ: ~%vNJ7J{J:A+h~ L~ I$1?$APp'T,|=Znq;w&@Bb']۴++ _{*^ueS}b'Mu"cA7֤9E֙İhe3xuS6no*g&m>5n A]6Yk@X{dxAb@'TR[;q*Uzd^Ma=w4a;yB){#1x%( "O;s`KP?)2VɼGEBJz|fȵfzg=IAbAfh훣S4'R)h8 1Hpy'l/ߊ͓]-x=ɞKGE6Y]*Z 9/-fawg+` }@[x 52>ճAPZ veN_mN&hJC$mPXaǙ ^r9zLIʿQGrM2*lBlJs Fbf5Py `rnɢ&s+Q-^ʊ[Zj%xU c%8_AEWH뒇'鞖P(rAbㆮI%@'6V0;Hr ꋪ`=<٧2.(r!t[?W&O1XY!=6ҫvckxJ#]Iuan)^Y0@Dߙ,܋8;7u.'\AûΫ%p(-vbmڥmwHFOA3Kyf"^)E{ɭdbwﱎZK-.p{Eߵewm:{ y7{HM%zM)8{jrSɂaO5*R QT9ЎDGyjư;ehŲ3De8&PW i+y I9MlyyK[9/>3]bKbP0L܌i >S3$3^"pNz.LnSJFZSv4 4ݸ2Q$U6%sIſ]¹RA,n~QG4;2 Ձ.@~ | E΍"qW;R)qKY@'^E<ϧ䛚,ؠVUȢqo!;dؗ řARS" :oghQمP'w |e 02˺s6A+Pq DRxqUiT6NBRxJ !qE9.%`/}LDH ^>U`ǪȰGթ@3k?٣-~\<𙳉 f )acŶLo_9#Zan<1)aa,M}5x#Ӓ}yD{A-+#w- zѯ݀_b/oUE-r&syN59ܨiT/vǣ:)t#`@߿#&.8ܝ\NHGukw¢NTHSҋ邤^ !n;Pd~{bT(ֆ{n`Q)-by[{{Co| lMS Ch׉8ꓱu,RzU- kxBik+B`7tcFK%}+"_ Ж?T-@kyCauo]3pP Ɋ?5BC>Jހ7qU=oĚl e7;R9'ŧ(+bU}eI⫔(UvZV6dw)Hal?3x@ @yKf'o.QtAC `Ka n@.FePġLѮNs & D"ѥr y)73#qD۶[)k1=w >sˡA3xJMCs_mzw Cap P%pGo] H~ex 25/2 9mC;` {S"ԨBnl{"Be*kǵ%ͽ}E:=R{|2+낯<.'5VťߦiXGeE,PkXo/5?7jMb@p*ܙĖJ &f *ͥm9zQEܰh4KXacM wP3ۧjdTL tO:}͐У.wL- BHn Q߷RBg!3)}}"}9OX~q%ZD  s-)<<&c_ thb7ғ#MK0ܥyccygsK%n~F'[sY]95W+&wA"v'E m{ XsJR߬I>LEF,;oBu4Dcl-ʤU> eX n8 [fP|nowS+7`r߬,GEQxz ҃9uLB+TwXŏCea aA!Ca /i5}MihyQ3y+94_^\a8)@s4(7TW25_HiGTAi)@Qlc2e`&s:PQ/&pt~ %S`둏h{CaI8):02|rQLO4][L&U4H {J;~|/j8.H*7+o=xQ3$Ү;hZ*ɀ@T/H\?)|~`=|CQ򎭙? [Q{ R(ΎNMfK&R鴏W&Sc.vu7t'8Faeηvn?l H;ȍޖzIl'<+tߙX4t-Cuc%[ Xb`z;~QLj!MRr%NjB~3O+IA5SM;/J YJ]T밾l-7^)H%?7ru Zv s\weL=@^"v}2{ۂ\mra}.;"!_8G_0#T*]~*:7?C0T_ݾֱ˩(UXB 7y]n𢒃m6֡05Ÿ/5\=^bB:f6vR7#Qk';V0!T<~@ UּQ1PmUלg9uְnA1#qyb3ӿH@&w+J%y`نɚtJݢɖ=4$,~ʄ16Y2\f\OQQbMrN-RVDiS)wșAHXX(w`xQ. h;aKy$K!o?$D3ʀ(}S׭G&сɐtט\~3wlʅ7jKLLP'.2{8/hp e:dvDm>d%4VSї.Ƴ̬FRdf vJ1{;~]rZb!:x&0 I'C&43ȳ.4_ZӺ4ب<I,&EAp|##{14l|Gj. ld4 Ԡn9V }G#6BrbR{J=݃gO n}} ԼM ]PwWy0a!ov2jE#Q7'3]:^ܔVk`q GK)&b[CΝ99Ѵ u[Az MM!Qrg=kd@HY-0K/ ? 2&0t%ę0M}S(ܟDWO #VcDk$Nm|Q g:N|sR }HIKfQ/>UY#ɕ=* }qRx}!@[)&C(#-:^M _a'w lJpe2Ad{viX}&l }bC*ɑ(j'u(.^x<1'<5lެ?vU(Ne5%҂V2n)/b,~64^tbAl+u"Ƅw ֤ѯ!%\ 3 x" +H*4C4OԺ-2԰b7/XltJ|Ff/qSbu,i}bT_5B(ߢʊWPG.G̯㼤~2&1 Cȍ%+ Ir˶g{"&(o;s=~]k>cdF0{nDC}&T 6%Ol ~,b D'@7ԡYdՠA JCz c?m·WP19?@$XI<)iMS3@K990)϶9h4c53yI/&!73lz-]a#hYC\JIA+.*k:}i3V#&0T{fW6 ənouHS{m2Yxvl: n2 `7ɏ!.l&n7~cu*X\ũBD~&#fqzMSrg4Sިji?aNI=\m\sot跲%uJe_Bxs*o~ ?ko_PK@;yA pSTo'P6rdwu},btD+6>6ں_w{*HٱX,_໛C] 7`W)¨A0頯n qt*M'#JIV,Nmnmvh+C Ip{:7ȕfWY=NV"A4|s ظyccy8WxX^=To >%(t^UŒCuƖ[6T?B2]+_N/O=8 *gpșfJ Jb BApf;!0W=[6>zeD]`-)}QbOlG"W:/ y>T%'H#|Gw 17yj* Ap}D󽌳;sjyX 'u5TEz+-!q̃O/rsY3u cZ 0emk A0"6c x O]vvbbK ׿ lڼj/i䨮eW}֪?1Ōm*X\ [g/:xn"ySec ph+u!z Xjx*& !ti7Nc3ETalցx-s:e/ JEvo'PCa|UK_ n^h~ɼn#F),cضgJKO-[/ j^Mpn?JDf#5Z\V\>[Do{ru[UU#åqu#R<;tڵ6!$!h "$ ) /F@:dtv&eZV4/V}vO{{/|j]4RlKkRRZRUskC^gv̊K(NVؾD4769/Ѝ/v6Y=l]JC߅Xj M'1{ ?vv dhtmZm͞ %I"BQV55{uBzݽRS#A v.yI7?$ut+mCW? 1㘦EA]Vm& #u7d`$Md'1{ʬ?r+)y Hcdid&C$R:tCsdXq#qJP{$ -&bI+h4Eϴ }aHTE}5RPNx phHWY6#&OqiB?~I h|L i6 YXBmVJk_!dX#h2$K-CCFw A,|#ޛXg/ "mӖaUf1bğ5˲z|)λG[#(DcqޔK:j-19-.CFY_M6?PZTjƒ(/{ -W:֞yO`5x8 5^0&J *gfŀCb` C >i1М遽l,2w1tcuN dp击oτd) \0,\|ҝ oW$B>;(r]Ziы'W7̫}/| 97`V*Af\XZK~e`-^ЇJSRnĘ\x]9 pR qR.?SC(n@]M-c4Q90 䄢*B6NEuAz7{]'|rZZVrq25׵0l NǙI13 "Azq8b8!xxP8{h`3lR4J%AПX"UFUф8ʷHkxJ@db73, dVJj hܤ"$ 5t5bΓ$R+/{# ϳ158I~g5O{+.އ͈8{߫w?&*kn: ,coDTFhbzXA*G8?3Ns)1n16nkM`9q׽C&D^ꄬQ4!(ÈR<ӟNk1z_{V!g ]{^[V1)%ZrT]`cW`"C., :$ SMg#i x'@jXdL_b71,n)H$꺜5/#p+Nj"ƍԠ+b/aPvAc؎2/Ps>w99 4lAd1q"a;:˞dP .42 tpOEcu׫;=iH"٢ nS,ʼa3| 1˖5RG @ՐvRɑ='ZL8k`?J.mc#SJa.zJyy3Hssi 8NBՙ|{,x&7#8e罊Y6|~R%cbbeYcҵg |yn 5uu.яUEpw+<ķP&zuhX.D =bZ  (Ͻui#>bA`J 9r ȕizu[͐7w&5 GH͚[X17jgzrp;oX 4^i\yspmJPMBہ@-eSlKhjjt8BP{ [8z\$xGR#P]1:l\עJPMAt/W?F2`Gr S{M6v+(FE,2mw"nsd~+FĝF&4!A'f羽ιKP[5_&Z Um '5QУLY)):de#9E"qsڿ-FhA%L/8ςH M)*Bizz'ߑA,K4M }WNAӨ~piM_^4~+5̖s&7Ʌ~A;YB$x8=?(' .ҡB8Ҋ\V%ox>X%Vn\(!,T t4.dU$`%t.sq8#G\SJLvJ%of% `3OcDhg]bLTsN&{d) Q6Ԩ B~.7HFXR%hvhm39d v +2,%zunRc gs>}6{KR5iŝDl ^smBRFBJQzQǏ,'kR;xțUڛXl/-zg2I-Kjϙ&ֺ<#>v yL4Nvax$͕:ߗ;y#$,0woI֠T@o*_N!"XJ܃ iGXs俕;NaŘUذ%3mQ^$[(]sraexW Dd݆)rС \h3s:0"ztZ1'Gk^$yqa BTmu0QMC,hD΃QpAy~%M}jlC /m7D^)旭==_dZ#9=FU}xm;8bP? "f@59}^%sx0pBU+J7coy`vXj~ob=ʶ.K)LS @nrߞ$j$ f!lcWer _I;Kd[ի- gZ50@Ӱjw o~H̸=^ꫠsC5pk M"DžS(E\$:']y>ޞ#YP_Sk5 `PLF4K.R5Y2H1ôouQwy";o/34&R2fpW{h`OjR+@1W_ߓ;SYsہ/VA18u]v'[B+[i*8X0.c`t DI1M(6"lVBu q4I E#Ol4ci~zOvc_U/\ uC_fꔆZ˔`I9PK;;Ô])O2 &޳'-|W$fX|Bq^ }*blF q)A U ?5mqLHu\"4Aj^5GXu$W+w@wnk"X] UV*;iB9#捎X2.񦈗O$(*Ĺg>Q 6/K^)/6:-p2Xb;&jh{|0a&| %kC.dfP%/!)1Nc.$C&|ꑔ.Z LAdg䊮7s l2=:2P#I D37 WZ0k4/и`wn.V^؃CFkQ=Y:?T]6 Ww"Lr?׷P_2_n`QEd [l;l*.3@exʒu T*X%Σ>NOYpk5\j<Ylީ1~#jJd7dɕE)d-Az] Bz';{GR*dWZQW4ZsHKQ^OKu, c>b&#ʑCBͷ(} D,S1GȄyfH5x9sʰs@ˀ+JUKirxHo_c@^ +{ YOi~I2!4&0Y~髄*j(7.9bK rs,ЎOXVl8e-"\x)8so1_Iw]_},/pty-9!+ Qpkqfq`/Y=D0IO(SYcV~ߋ.e{c&v7*t6F>" 55=q2^h5;ë4ϾrdY09=!sH`]񺙮8bBތ#cBᆯ~b̤Ǖ]RMR˪mXۜ1 =$KZes]$fvb޳C?#ی&r;h 'U05RNaA;63\%Tn~90\[>at.o?YBa4Ԋ Z޻4>% ֹ'TlL߇"4L+(b yKp-r@ 4R,yUA<4>鶘~h0 v#M639aq4i =Ӹ4\tzV=Z|@p*Th&;ɚ]Ccvw1 \T|T|?5}TGePʔث;Ya %TGk4Mf3vE:Hq:tQ-%^5s!T2*Mf {33ѝaXʎc})X(R";iMMu@.X \{xV+- c{\RY#=> ~cI^ / ,^f̔ʄpûFUpĀj'8vanu2FWozjm|oVv%|A(w.+čelW)!R. j;:Z(, <H @9-!9;o|P㽓@!NS備G1֤O"Cѥ${:i$:lf+LsJޱ*sX6I1v-fYp3 D gUUw>ap)I!h70WZ -c6PN>6o]s7}k+)&8X>$iͶJBǸnۋҒ/=?\!ycE J8r]N}m<̮\Q)#6IrSfFu>f Ѽ YRBJw Pk1BS([љ+{zvv*g^DQ*fLmLC3sMPZE8ޔ~曮?^$˲^\ʓK]ma)r{dǿxy 8jSՃO7^zŰn@ʹ^Q'VT\Ymщ3ci/teisv0.ŵ#Lfju}|(ƟY57\ñk~5om ]|Wl!Q6^?t$*-1ilcD|Dav̝ {8Z!gRxF±w7#θx)h$oYkڻuH,{tS[KPGɥwNE(N@IEŏ,,a36"B0A;I&iT"27Qp޿0d2h*r귯b#&M#S:Chj8lú&\>Q*1>@#Qwl=ֵQg͓?.:6lcϭNA+HN{-i"wX}]E ,HB6%˥߱ ={*hC-Q،7|+OFER/$Y-#Jp(x P)l"`+7bL?1b&x|_H3S?V^]Q}"U1r迟#%6mCEP]G|ܯ%IAx`z9YzQ* FXn;R-3y:oFc}m}RCqjmwڬ5IR X '9DS˓]Jλ׾A,jfttX(6_l)vk,B swzcu3:Jvc,os7m/TJ9ְ̌m~$KEiP@=J7o`OLff 6t s.vdSL5x`[ Kuk!GH=V ; ] +0m3küIQ3JXZf5Gd2k /r%tj;|tq88euqG7+!ھiPٌY6wL<$!S]Gt}1O],ݏT}X]ahVIXÛF͢M ?{%<8c8_ Il!;b!& U}+)A</t\Umr0fnY>L*Nwx+>-S]\̉l bt{r.0ąnh}Ct9 U`1QФPk~ Vj5E scLmǥ9=n(O&=p{Mw@.5[}iN|ϒ=zE Np#&kk\LƼ rbC b-n8h!!mRI yY' N_-7/h82l1 W5 Z ^ڠՎ_4EbXJܲsQ:+*f}iY4t]"@]i 3X` ngbMpwΉ\,eܣQƈ0<'%/NMV.xΧZhaI!gt9F'VP ]Y > '# M=1h>Px> \rrpf匆 EGu]5C5n2o:) hK" ~j0ZH9wtOZհq=+ ڱ\-u4[EyE4]iE2̧[IӵEN  ֌]ዝwmK0qd_~@*LKloiqK;8{.HÚ^f1'ˤ ŒkSLg-3;ʳl뎒 d/s@F۳]jsZe~ lP2\^ ɂ\:.VS ]w:!Ɇ7D/eZ&? _kK9$U0ZKhDhsW1uvB6Y~~Qi %[( WƳgVic3M.1wc+I?oNM|1  ȍ3+R y*s\,x!\ei2r?ƕIyv7FFM+[|ռFFK/zZDk͍+W~U%6,=jjIܡ=,} )]? G/(:"THn1"[%zҕM3< ؤo1C *Z /5.鋮 ",8[;2fQ .v (VS>M`{':D’2+G6%w,:9//TH H#ş);8oA3<9X䞶8ܐ3 lt)$ *E]o5]HsVg=aW`b Mmy.d)@QkI:fr~D^;b.fFT.yzd/hKR~F}?)tۖH40wš;#gi:7`p?#Ma#meDk>I3GNbh{TRsk)dfG\|Dz.הÛ"bAz#ym:!%Y{ w +tlѰ !Q, I\op5 $5^HD܁;DLv`j3L91@YJ)LG^d$H~| Qxf*Tk AL҅{f] t 2ի%܏*FnfuS|~5P>rWb課_4P[Gk*Z^L2Z[m;->紂A׿#7>u).ȏSGu3PQaAS.p;[><\3Bby\L^#7e% Mb.//d \pkQt j` hvG=3hfP,)y' {\aٝV%mC"K7HZA7{tCءd}/_"') 9 n5B iN[';?'Cs /:fa /Ec+jINn"I %=`YCfA?hNe஛${cT ެ=ױZ/K 6;,Pw<5X 1 .?~w^4-(ֵd4΂hQ3hp5Cy덺!)b$xeXDGx#ΡSH_w/)#Dg9#uJ>.0FjRȗ*RQ_ b./MX$g!Ĝu+ōSbTB毵dX'l榄yU f=^>>:kNۺDߦcQD r= YԒ-a^P8%sz<˪'dzb?+hAv>|I# 0eGTц9=RnpR-8F"^/҅|<24quIia6jF-Uszo?/J df#΅6)HOd.1DTUqJX?ծء,n !4K!BL .aUF-pYXsO:BN ]QŻu-9Q;WKh*V`!9qW+)عEʗfJDũa}H'#'uv1IQr(zi `ȸhGѕS1EEC;r8M$5>f])d!PbAA :Y֛$q@&o8@, L_%O\Kj< |-O1Q/AW:=ZZ= )G`We b1w++^iLJ0s wwHvdhBz_ݏ QvaBcBFw_ 4DA(ҘqW㔲k{>{pl@6k3x o7Djp}$lIO|H+dhuO;CIjsjLLBNz_qr]O_^Sոp-u-$!5 & *yic˟_]p}=AA ׸U QNvh^,ek< [>0}x$ᑰֱ3UfRH/aeJ3 yJ&j~QDa~h^.7[- I$)5jxPe.73 Ɩ no)U!m.NeX{e4ʣҲ+8ކKpnWoqC@[wYC)ן05՞V>:D NNR 6v؛@rdtm Jw?R96ɽaUCj(~8p'実h"ZE تU9C%%# N7ǣS3kAr[c\uQAY?O1J\R!7p7ъG84* "~9CVVN]FxP0oFH]͸V8r+Fv6x>O*Bw1Ӻ꽸5~O+=,iMX?&d(=.MM*BK_?5(~W$BDFĐ,M(kS.2"j~s!m4ɓ7AzuhM#s Gt[MH&>bk~>G^j6mڽKY0lw!ɎA8!q Ι 5Boh!)]" T`5 F701tԶ{]Wg ~^3$%Fw03Czcdw 1K؛&f[:j]źN -2^{-SSFIq_ӭ[k"N@r-a lFuo _G/, qP1y|{8+6{QalK8eN?uC!UμTQ)vY[zHmz6R4 $͏ͮBΙz[ ֟CowП{54i6َ},lR!Dp~@oX0 ^ի^7|#Xm0@OÑSR2!M$JK.=ZiR &#Bݙ#7潳#O3=Cf4͏ tEZ!{!I;`, FISzaI<]ͽG׆z1>'j/3cPNj>qٵIBɮ3Ƈ>Jv*hx7k!ga½>s׶ 4ο[Zsp"s'U$c5!gRE$g|JFq(BE G:!t۱x-[%ov+.٧A-ؒəZwP mT91k>o l M>0G|W:I,8OHLJ /֌8#k*6.(fI^uHi?ALtl۵&MÑ[}L_0 Plw*!9Xcߎ0(-"4՗N)a2zX*KkEk *ǰUK r'{6Hl;lƾ,;'z‹pu@㭢si["۟beI-en_h`]pL1vZKYzNJs"һii-GDt1 :US8 c29JO]8)~-0{83.;', 2f2}ݸ!:[GWWC|KCLJ]NF^R)-hB"`o 4VwJ(ēPMA:^,;V' 0FHeXz9L`R=|zb2^GrpM~QvӃ1԰҅v[hEoQP)aթ2qAn8~ɿjyʃ6 c҇`ؗK%FN*bOͻ6H΢S?Ȟ \ \bC$*ASd}]_;I?D<1_|J )fp35_3f ;\j5:uchisߪF6+eDS7i:_giXKj)GϺG}+&BUGc9tt.Lt! s'i.&Cޅ%KAY#l?Dz ߞA4«棂nR']@=R vBu8MP4qMAؾ$\8|S(upe !܄tw'ñxĸF ҧxMkQ"Tn49y(_őŚ;hѮt Eܬ/'fBZ:F?΅Pc_@sYX0!|.2/`Jֲd 0wBeyW%E,mohC𢷟.d.!%kI8߲`(`WƄ0i-w2Q\ JHJj1 ~fV<㒿W j͂a€Ǖ锤+'[]ՐI;O Tmy?Zi9a#FǩmyLykSvPm 2T,v^5V U:uh4Tk+ >:ԧvQCpH护Q6Uq?\`sy˛% 6G."tCE=a;!όB=;0;RHm6r6ROȶI9#hz]dLVx0Z;Cs~m<}ĥH,{T [O;蹭FJYBChpMf0M>tCB|B<^7Z0D{yb c4-x?Xb\C+}8HzuWNҝAssS!AJJQBѕMD`kצ%iȡ9h577.]rL-VC~)\b\<=g8Җ{i*ɣɰ JLR`+Q$w2'%3\y<@loPޚ JI% xC_K7/f>)[PR@g6*Fd8:Nss6FO:?B56%8Lr:8bK4gzTXDon-0oă=([3 {ѷ"|@Sz0[쾱HQS*p޳L`BD˳OUg&S5~Ce^mߍkl7@$tz- \3 6[Gwݦ"tQ}J  9r>XcNЭ5k!SOUC\^m"~N^ڨq$r v)**uW3ĉ|I&7 {un'< %owg;|Pu}C~z>2.F/ amE򼱻-/% L#nO=GSpO)ل_vD*z mI΁ܑpA\ "k4i/'E'J6f-d;A+:$h\4b`6.A` ooK)OyB0W ߩԿ @*\Y!C]q)| oГ0JWms|%3*ı# ^K)y&XżFEV8Xx߂ҶH2 ൎ{]ϛ5u8-W3RgDR 3Wj!:^/;- q :tDݱSFܫDZw䧻f쨼.Y^6e{kڲjqhMTS2f4RAnvWw6rćE77 BО]/%՜* y&0Og(?b${wNwVsUYD^Eꩅ*YK!r!P5ߎs9+%;ξϟ440<s ܓSiG冋)0dB"lGLjU(g#uG)/y!`꾡bU2ū g sO$RPγŒĊr7m-aukŏZ+5g9q{I]vm,S-W<&Jcǻ8#z:% A)@' "!U4$1AݎI0)xeK: cV4?M/1V4(hˠ1>!}Lﬡ]SxE*ߐkɈnz u+nq{y|Zvrm.e`. hò\$G61G?Wh=@Cp=m[qgOm23Uևsj_~Z63:L[5mR2J"EF#ςq/]F3N!`i% 3$Dʍ5jHCQ!;)`Giބh@U;$mJ Io5%J3ᘮ\EW CЪ X&۬@uwP6rUiVoHh'La o5 «]t?U}M46R0(QWKJn Ham"%cQ*cq݁{&]9Hr$U*p 7s!Щg][3zgG\(fӡNCV #XVodDр(q;Jߠfpݷ4c&2T:(CV}KBM!z4 T(czWn jj[4r4?uH #la0I|iKqh&Q܌^qq=7/!A?,>(y*.w&9ɧ낖89<ʫo1+H _z/-R[Sw**ճ|d}"3 [aCn`dB0%n"̘7L^PiО> xe+_)&~0:zʑ֡Z$$':GОnUN5Uް h'?wcBZjuw b^,%#}ZL+Wk\Ěk( @ђ D&@#PVwxidmDN軭/B.LYm7X[N{rqD0R)TDx{=2 ftVlRlE ZJ5`̊X4]w׿Km!hӚQDPMq=U0ayrYp.Eqx1]ea1}QYol50(>XvAҹkf\VcsVs*ǔxa,.%% UU]=JD&wz寷`NUȜ؝q3W׾QrU. uv,F,l2>&g!6SD}8KZa097xKG[nc̰czVq(z[("\#)˯p&r&*S+{En-b\X5t5Y놁 0b~f!`6aB_4B1NLv͔9J>V"5K; k8Jw<~uϕHi۟~p2*h*}"`~J#J@ybO[>Xv*ikD+)[uE L2A{m3@)B|m-i ?DH咕CÆ5;0!-ڵ( `S7PIJ#UsR"u`^a .NU +U9A| 8RHpU8Ҥ4M垃TO6LX,k.z&0A} a>VNNKUPI~<qHP:\,DQmѩ$e^ӟ_ K=ʙuaL+ϧ>RBrov_xBo*"IԳ[plO_;nkf H1&i]q=< ?rڊHU w I4$ު;P'4ΐz< 7em-ƒoOM:JtdXtTJqFGbLӧ<ױCSYXǖYYXe)- ^`t`՗G'Αݠ5y=l;pSlP:]DY+vh_ v|'^2OVG4<>ަ%#]5ϻĥmg8RU blQeAeJD(Y{rD/`ⳮI<7g;oM6Lg.Q~,ƀ&&xXc)P Ulr˸ƌZD9J˴9̖4{SvC%nD<{0N>/{8W[Ow%vǸ˙ܑ~G[TG7Ը>q B,ޑ :K-G5I4XU Jżw: geOn&`cW@DlB:FPL]_<;5#J#?4c)djD­TwlDLbkF΄0?r.Ѳ+K߬UuƼ oJUaw?vp(lAZYƹ?Bb`D)W฀,MSqFr=5 #P gՕe> x(ҫf+Ti Wpv(M7NSjO@ЪM"I*Q9ʣ 0nd {{^27=\wIET[lt]J)__k^yu\q>€ldxQ`˻F[i|5MC^iwCwYq8?j _cYAVkeՎF) we6ϣtnvۑ (Y2&B vm a Jw0Fh`MRi5ފ Q45=MO-CwWm5.K:b}4X̦`ӟKZBO I/M|܊"-j<) +AG6˨$ s hӄLأ3+G ,z6N<.#Lʑ -PL$ uqp-z-/;P,:BO] KV.F2➊/FYk Ku'sFے:-וHYS8]7AHA񻖆/ Ɠ\#,fD[6TN9 N[[FK"6Eޙԭ Z"lNfw@#_]&(lwEǿJmU}ɢ`s/{n-64:դyJ ۷o)]Kϛx_ULbyp'@)uM\7?aly<-r޽wVMMއ=w~摖p2|zMtddKjS֮RQ I2ݞlҞF1Tҧn 1/NdÒox~jRE ZU%B{G4.\|ˈWLB`\Ȝ.B}BO"t9O dz&wlKm"ƏPCdH=&$;c'Bo8Hr3h=i#ɽX2 RkH-uN"PZ˥&DkG)d80; {n5䖜'=d<1 цXW9KVK)_ FH4ƾr%UTouCyUf\jǮ2_ E r݉ydIJs-L{TMV} pEK΄EYZ) 52#  0 gW ވ9qo y^Tے:AW:Kx6ڝR{o%j3o{Tkh>cLE4LҰFM9Km`'[!\x#sLp?7Zd)LՊ' %X#24P: NkGr"NF |MBhCGLt'9Ih3 ףǩݛF0ӄ6"~J^W=c9!h$JXxR|ʧR5<0AII9oK]1{%7A'P Ig%bȁ\켌K%Pj%n5IE B!e 8Eb TTwp8(ۄ62OU.U9|y]t°["1my^}&K0IOUIA5'{!=fL&M J `X6萺/O{0F@14n`YOE& ?Smx?6:!k_B҂Qis,_!:@ wGsVPrbu|笒!`?}آUh3;>IRb}#I0ceHRMIB+KIF3Kpǻ/󊷱RH_35u'mbC]#"?jrzB*ց)7gPX?Ch'SD?ú=nJ3x.lt1ÇU1&M|Ļ&ZmTR ~"3,p 4g_Awːnq-O,^-JqN?B}ďlruZ=+`e` <8,Ljf2]AftjvAm>aq>}`7+u+;V 3QK\+40e%*9Wǒ, /n;mOH^7"nX!vrȲ";x\X,KBжA)fF0oCi+O-9}9l\{7d׺rmhxog%bP;CNlR`-5JͩK]q<'T:,n#xBy#DU ՝YV*ńBjW`rI"_~',}$!j O!!Q-KfA}蔻p[:Zj1 Or(ܹ`*ղ,:;9[iO p,W^߅xϴ- Y 1F}EvK5+iNKl[%I  ߂a`Kd`xa윧60aO\:k힆It._>.Q#7b۔ [LY1~ `$%XrJ̾x-X$#g8][8Zy߭ no8PpDG `k`ɇHwktR%"t;f }?"$x[R}bO`3c5#n*EV*Gl{q}4RnE*Unw;oP '{zwq~frZɐ͛t?jE$D>nxh뮻$%i!&b$yDD,p &dRl/m=ΕL}goMm i1,4Qr?fH)8jNcZ_9nd@`\gA'FB&/)I:6XU0دy H[ ;*] o^Jf'YǛ;H2'-> NtהbV̶T>2/vU 8JY-641 ~, ڹUo!\ǃD Q>,FL_$7럟 v*8U=]ZѺ` C0or9v0v~)ϒ^-lH%( T{x9[ +h v5I.A J~33ht6w`Lg.`>.2zL84Ш&h? i aRơ֊=iŠ;7W{jGEbpCn5Tv# eՌIzנ!mw I-߃nbOJӲaϻ`C]>K6+{=p-KgAAk;fjrev`Z7eKN 덲خóe5@IN_LK tB|9}.3QX,p)XIFzZC`s<*o0ǿGPߎʜҤGR : xЦ'Iا>bzlPn)9'T&4k$,ND|%ְ^Q?3۾T`U8 i5NP[m7XG8р;/1ﰆ!J)=Z)%ݬ\7脼SOE|C_lس?j!2.gW`߼IE'ˣU2-˼΁9-K0?FgӤ*(4>g٠P𔠼{'|ymw3cj)ڔ#|uQ/3{w1&ׁ:qI1s;L=0QO $L2)cJ+)#|͝?3T̖lѴA{FL|GN=K|#ZWP&-{"N<Ӥ 1Or2hq0Cd(D_PNX\{\Dr0BcQlA#;Ob-VCқL|F7֦Gawڃ?M r5+(F0a\1:nG("ڟ/:؃3\3EG^GK*DxT?,mu?Pݘ9X#cJU"܊x>9\*)Rǩmu mbgp- c# d`Gy Ly/YQ?DKq#)@]Ֆ RlgrxH u7qȝZ_QBԵs[U$.ח-#!T=Џ3u5 v7niYu1"Nbb/ B 5so(0$=Һ0мh\h?Aj =bPVx AtUcF&(ZC?y7^wSfu1 ܍}hظf0)C_E0E}_({89FQgX`'4"P1ŗ `-Ia &ogw|$=J-8M-rw;_(9q56"8+&ݐCr/쇌'gC6ZKgQeWqA<+5dz=33Iyfz#_ŠgU)/#1tGȋ`$ca4Uo 1(-3 z:FZIT5∃fkh #bPuKEE c l,9˒Irw|;0 K,we<$#v%xdJV-i˪CV2gļ{QxzQ[/ rYue޼Όy!eYb,Zy.&N*VXr1m.7=*KUg&"ؽE/j'Ovk4[}X'EY..8i M5Tl)x _wgߵ^\k^N.4;G5mAgCqܲ;؋vk{eoYu:gKH33lN } Oa/ u!5?dk{&@ sߏ3rC"P95Xuq3xe\4bPص"2iXm;i" *lj?syUH* t<Unzp'.,_|,4SCBa_6.M$2 "špHS$=6riAzfDgF3{Jk7}*,'Js?V&{uۘUcicSY'%!Bә<]((;36߸qx1{GPDX~e .vZNJ#Jg]X!o'}6{ }MDMjmSA 2ZgMƝ>n? #Ӎ4,L؊WVrZXǧvOؼjm3K 54jn/)`a N_"JJozgUtB ;XI8RE;&L(q#6d0^37+nz1ӧplX|FO֐l;R3~-lLupK:e x!uB E6MQé2|sGo& \HI@`~ȗ02[}u'? wfy<R`A )Wd⡶ֈ*Sg,xC{b!lw͐_"3w/v~ s@ `v?y[jMŖ͜_2 ;H>J4kA%w tC~i,7vD_DL :=a~m;6 a71㋕(|1cMyU*SCZL1c |Y7\ ].MSn3|cb0ЌMձujy;^* Po GLIiy(9(j+S XvĂhs0iȠˈo΃&RۨhP.` kP_Bnw We\߃m%j/;cqKu] 4Вhui+@l. #)g֔1$ ւsKH0>Hc&SanݷE~˾Ow 1O^>OwOCEt'$D\BlP vAZMU+\dzG'͸c>}]R. ub{c"Ԫ[o/GȒڗz)Go{G)U[w 7?mw/J(`d\%e!!dĂDQ_1f7z_bKX)ZȮn6 M\'$3R@*jݮ!?8qaZ)T݊`0-徂 ML dIpL eKNNo#eY|@/Rc-|R8WtȚ`m_DL:87UĺPF"e%o" rSe;Y|QlCv` kKPm5F8NM @8ZfFmm59A:9yrs _}WfH_3ZF-hL4 o"Ƴ еV oS]rDivT7o95:>; \ ;Nf+6HHVOfxCgì๺KOdu@"wƦtV'CJ`Yw.h #}o+my*@ o"@ߙ0,(BPv?!&x7Xw :*uXi}:D#ɪ9, E ؍*/]*[ ;\oCiZtw*w+Zrٸ2,nEC?7OA5f1xo Ӭ Cb|5ɷw]2?%}7OD^7aހеd{r_ƭ6S-%iE^-t5^hԀ﹑uƝFߖ?#ݳtGk@8Zv]ܿDD+ (KmxMwLbD|SFmҩ]N.3G~0ǴANA}*}Y0:"[Dv"g8BuN1%3cHx^:`[- @sfd|N;:jܫ 'rY餚 -Xؠ W$2U;g!73 ZyFswdZ2Q>fTr7mpMJͻg"Ų9߲u.lʎt_ja8H[$\sJ:S&LIYZ_# .G1t6F_4߽Uř^Xm*6*疐?*`? MB &MﲇꊆV XKs3 ,5>L`j%ŌA7N(QHȼà4$1?e -@6Z?ҕ;ۈbXK5y| %}LCqY/P:RN`<~r?%gոI heO"aF^VdH߄0:zKα#2Gsd0k_3P =xsZLD[⣳>^_< 5# {حHfY %YbS|_W9J6ձa4H]1l$aH=iH}KŞ+6.ԧ*j8<{@qSF}q^-Y2<']Ӌ.24p3\4חi0Vvz (o8gLvðTwޅಌpz"J!s_}Kmb$n 4؏hwWo)Ɩ@p'u TM*s[SV8D<\Af[ PwAnĎk&J҉,(Omgdaĭc21}C/O)kMAu\S,1L; aÿ/6eyzv!8Jao#EU.LC[¯ 3A&\JTI֘a<` 3<;Fo=3 GIǬWؗ $ 2|'䔕H\Jۤ(U37KhN?f<-ڹ׉x S-wB|G*{Fh8!, G>ϕ= ZV\5'2G=D˕Cpk4P ›}+r=l?U%uynpOFZ4F{9}j:zL*;*ߪR겡rpzG3:!-lz]+zW)iV+ѿIM*[σ_L)b0絶֗c!el 1hOH`0s5BDN>ܞ2#}GQ舽үn)LH}d'&'7(j41>=wAMX]钭nv/ h _SE^õT&e`te5WXT5w3ױ9sRr˻>ƴ|KrE.Æm'tVBU+J-?jjeߢ[?$B85ߞh{ '4jxm!-94L捏e,.)͋>(a;?\ܦg} '%6Yw[7{Xv?*C'!5XE%p]#Ӛ;HXo8xk]vkw}"/&f?w4ڢ|L|Pk1JlFP?2>b@YOl~-q2~w>5 F%!Qrwu1w`h({/O k"Ih֚o# J, ь:}Q:V08CºgL^n$u9r: ]ܫ$NDS7}NAEoLfnkq!<}ȹ`hB֧s6QZG S~*GOĪ *{1 U;\ȅeb2ZC5Ip \VCi)c5Λv 4y͛~ߗYk4,O~-6c{ m y%iۃlZE1by)n uljoOdN}K32S9<ϳ3tHlxR?HRQ$TeX"dڊlBGZ{1>rшW0lVClپ=7Cnxz_n: EEģ\EHܯ$ɒoe< i~,Zح L~1oԛ-K(հ#zgc#(NC; ?Ƿ^ d$ O6A_ʴL;sN-5 0FDU@@jHK_|7"g㟸TQ~ =j BK_pƦ@(C0>Jl}Hx4.tG Z H=ғF]ց\G }eeStnK絓4E(c!p@;$0ǵtIfi^(..M]3.~⺮9Q'oHn&z=ha^Ǫ }_"Nb_$. '("A(ӈ vIp"AĹDCrfn%8;afIl&Sۉ`fp7gF2pf U̬ :n i|9bU33slDvc 1uWNYgM1n$m30\%=If\JRPӨԤƠ7xz;Y[Q[sB]D,Dcܲ_ʒr0<,=lIwkp5bM;S9(Y>+%R8ٕB.קBz!Rp ^)dcwq|% HP׫qwƊzFJZng32Tө 髉y4ZJ+f*UDTR F0#ukS彉M՚0n::yJK< yn%mjiW׋P81i_Ky CKaeʒ&@| ONnmG$I|/-- ghB&C8rS@\h.Bj+M_|%Ia(r6p%*Qg:̟|q )˔$Ј:b* 3S Ѣ)ǥ~}ØqgKNflERؕ*}‹Cab5s;8,.O&n<^!|A&~7 $ak*k{6E?BFûŭ#Վ_3XJStc[G8|[\@{͚L'7ȅdVTZM=j\q]4Au@~V y=]\oojk쌶/r({ 7#vbtovF ŝygZZ} T.l;uTm)j.=n:`F_D`0^-T+K#@h'@ v<W/EG5vEJQ$C~5 %]ZF?6a+>Ι<+P-%/(Яk5.*jϡ9UܾF~@bI IHdK&mfE}Fjl8N'c"pFŚ_ U 90_SqZ4#&0y_:oͬlVݲENU3Ay*S, fE u)mĺV@^P7-k~}ZrI烔vul?.uW0TCFTRtaz\v\@(hYo> !0kyz;aw_cs2]`4lj; 8ksJ҆##WhUx-l˙X w~jm?w[-vKjI_ :!kHՁ:݃ J|'|{2*J1Ur2fU$qgDgA5O:HZC|E{}0/OWƨ&{hοQ:_S!#'|NjO&i.j(5v 68GP}Hd5I|q8!m5,^ Tӗ{">c KJw Gw@yjߖɀrzLѭr$*(G ؝q pQkӆ,,;m7`+` }a$6s?Xr FUOc͒ 4 -vo{w3nBeUa Q=6t\殻%nYw/9lNbb`߶)_߅F-TVҪ+T>/d^JJ 4:LJ vc566I/0@I|zz?0=wR\/TrB`EX(Ww;7kYᴔ^fj/Xm6 Ǯ2ۺz ]Qd=Ƒ0ϪFdV7g0;_=ݕ (pVn4 :-$^Jb_L{}h RkrC[p3M{aTkVO0R[#GDa6< |1JZsAbEIVNS+ ThW;lsZ^l~!ηVko%c(TS4 |21R,>R tn0@6.#9;MGSHBx t"Ay}c6C|<5E, RP"(^GCojze0l{eck_[t9SV/鴖ҵG ʑ{G0ypk +5-tD!$ヂw(69%?K፻3h_i<nHNoud%ֲjaLf r :"NDxSF쑪YyrM'-aqecJKKxTh.d'=b?RvR:,m{~3zAu$gJ,`-jSw堲6YͯC!xE65o |d&m5!V}<33:#6V]]_YF8C+֮Q :D(,n)Eq`X?#ʕeRWVRݜ4}W*@\=bVȭ`=@1+$6&B~Rmxi}?z!emc  ILwR`VFBrZHMJ3b) &34yvB)FȒGPY+olZ 'fH܄KJ:q;At"C}(SA-ުGA]u\+^%>!(2OX>'~xdt0C:ciPmZwCmR:^>yִ|+W/q(́+B5 S3Yqkbp$k*R#f3̙@ElqsYHDIqqoY9ъWc×w&f+;>ռCs̕5[zXTUo39W^J#!+m̟{^ey7`BSW6WaT줦@bjtEc&cQq:w_lKb7< 3s&¢zc_{E1o\0x: I6`4&1"5<@EcteGڠ)jKISPap1&3H )拜&6 F֓+Nw|]"#9$@n$.Jy Tj+z8pOEAxC@zmNv%UQDXA 2)l֏X}^zJYbTԋ`¸gŵ͈dnpz.Q`T)Thv93'798)u5ɬ"C֠Kp4}Kqni0ϥB$M02h]UEbSW:ͲWGeO&(÷n7~q5mVbӗ(ya<dpsYK{ HER\];fDx1=KIyz TjD0g>]HF^l>MZaX ~ObEƒr(3觉Bn=xS=>"aP81%}F#fmaj8AzݜTwܷ/4_Acnd/|tCeYPCa輁 cXƦWz1ssMFTxmң݈E]V%z7-N:|)Bͻ]r2E_g.8,Β"D$z|[ !3: lX37wcN֚_RUΕnyas$-hU>u4@ka 4ق,W"~mVK ⰻr"Кu-o&kZ%j¬=HjofSYe1C7ޗ/(^ɪ:J&bH]nΌHcy~ SB3@q6 uXGx}gQLq#5$YP:|Îk\ Ѝ8nFTw5O._YMnR-ȡ7MQ2"F՘ ECǹSP WIwErR _9>BS( bPlKߊP5jqan;6J9rM B ,>Ө?}ERG(>Xb4P0 J :j2@ψʜfhG륧>cR\w w]Y L <lbT;j*feܖ5wӼTc8aHjw83qbp{fO` D#;4a{3 A Gv]mGhk}ǝ)$$dcbɴ3'wgv"':8{xXqSR %[T)Z NMU 7[и C"{;yMrZ'OjOݑpu*ػ*8 >Ix-ȒguMpXWjc:]$LgolO8Ҧ>[Q\fP")2MxL-E~zKB$5^9\ȭ|0^I#7(ŵMH`.'h p}c |>=&krF0)Ẕ}rK)N-ZRGGx[fg|m _k >͂_VA"Z2? %5? d{,EAR$űUZWVMDqFs:px 볂?[܁02dZArms7|_RƦxۋa9Lޠ%્}K̹O.>c`MP1 {]*Mb9jfH9`-f5"@-P-#ܳdMA^sĕfTWDb>,JBJrx>ҼY9k:l ք.TįE?B6''_hG+aT}W᢯Y!W{~}z 6rJ<\ g{)1aTk[IZLMp/a5Ǖ CyYzE|z'0{qX/:΁A73Z{ \ӌOȎ`6"qW(۹>w,8wk{ʔn~!qԺ'ʲ ;J!يPVQٶGnAЋ@'ld`5""E'1:I0%Kz(O'ww=~ir<wMESASȣ8E~{Tć\%hu#y2&@/4-cL qy/UlS٭żaWⳔރ?lɼUX0x"z+̛aң4҄x=𧌱y^JZ9H|(RDyQC}i둱kx5@ŋ׌Rf(]u0%#i+SSKƷaAeYGt/yqbp2(W/ojpGd.3>6n!vj &Yڙ- &]XiuNO]՟z@^P/,킐R|79L{iĮ[x熇0[&pgϺl—~f)O#U>%8cZ51co݅)U7Iޣ-a֦OEXi Bˑ(B*sAW νD[)<}{~r0iB 3/=%e&N\ﷇ V_` 8`ՇUhKI WHNU^?ڝ@0u&ùg9sy&_$Z1=IГ̜̈́nG/AmQZcZVXdl[ģnU4=yEl!czl'D ?2!Qj <nM ؠTeM>ibsڞOg2ߊ.W&ckP- Ty 7₆ ;{ f;k~]S@6_.VQ*sߏ AمW!МPcѨǴ11,.머25<ݕ^D3qO0zE*4!q !~5a /阉pZ S&.hJ?;"#B XDж/'6[rD-K(/I'6A"k$\bο[6u^[ ߎ.Dn+ŞvP= 0'!j.Y<}>K!Ɏ$ Z$KSWEKw|(ً_yIwDD`Qڊ0EA1Ubk% E.*MJna}]hYJNuCR r1s\fF{ Erzag8{N$u}7EFzʠ{~^uR +Ļ.OKָ/zgVpT_nd.MW`Ȭ%ᢲQ ?{H-c}DAMp\ݲUr!b9Ȗu9&~) 4fY2wmGOa^X¦>#/R-HmAQOTaL>>[UA[fLs$udꏇ%>L7{b K,y(9}鄛G2,p9A[%cC 9ᾫE7E"Tcl>JI=8ݟ%fZ#O鳅-XIAiC*YIJ2{TfnߝJ5o YTECao''}:䎟pN,4x[C+kx sdRqTMq)pW;iwI-=}edǞ*FNlpaoTW8bR}  mAVG:ϩ*mUUe~[WrY\D "}}go"'MP+`DYk\˻ēvK?"uEACw= m}tchdt0}%qЄs^`)[q;4` $Gbv_V4b;9ĦZ/pNod,6i?u3u gh)7.:I_{B1s LO%d%N%ve'EQ[(430AxmTtT0BL',Zl,I ?Rw!Z ݳռL@d"Ո݋HAnHʱZ)fmtFs *2+ ,Ar ⾟N9 tKp30J1\ܭ(M9,=  @*qŝ^D?wo0L!ah&09q֔&(̥~stKfPl]MDb^Uk݀FJᷛ-ml-޾4&L!2IXXMPb|{ءj.6d5n\A'T(bQspCtGœǡ&߇@^A hu{$UY23'4[esֈ)=L{Pu[` + ҕXfhO@w/ ^o ь}}ew^Vxdel݆4 c1"fd9=G.6G֝ f8ȫG\g.*[Tu<f6j$OG7Ƹ˛݂x";:N]ZCPI p!t&]dUu{]A`.9W?t nE ["8 Xcz`ޡ|&n bM'n}4szr6l1yE_RoۯwmS-V~k2xᴣ0Y -:@=ltG˭pxԵJD`S5l4nci2[߂þ-kƉTGJŵeǁm, u%#\[@0~1!ZWӶnYCauro/\qksP2ν$J<+vG.q:YZ2H3/f "&'*X`YTnBi!~\P+[<* <X {Sy؊`/U;&fHE"{R}Zi;R3\^%]$cb'`Bl v#:]tpt S&G[@pq|ᴁ<6A>&1 }G6p]Gnci[a]-G t;Ok7Uh$'ͮF'@W'?SϞa IV$g) |xjb }iamfYi$d[3>l/=H~ܘTpɣnOl;`ySSˇVE_ʽmi~cdV1T")O21]g%-HKF@%_]QK% ?-Jh_HaYW"h VMqÏN)y2ZP(ڮOL q$@"7jA7&:{X#D b N r5ao9XkSF{C|vb46cֻ˞N~DɬǺ+ C@2'+5B tu~tO чvI$Bִ+WVr.Mko <* b&RcJ FnpY;CbȮtࡍ҃hDA햛*oBRq-֒ ~OGJNA;k{3 ~U\fDz)zꟓT]Rsѽ#ڟ!r{sCYR*ڷ[_SK[-x4uUNw1w0{X{m HyX;;k|@|4nq>3d7!~l@05m*]mG:¿t#KrVOyv!們8Jolb2=nu?~M\ĚtB+yֲՅ!. ~1^6%0sA`aZC!?+pDžKzκ1 ʶgJYuq#MH,\M&pk*`7b]Y6*M\dM.BGQt[>ZnS^"[i{9>ęN' (/p!0%lѡ'JY銁2>k~.z+kjZ";#;Wcm8G*@H8#B=T{_qoE᳤d^,VX>me"Nn=A0%{BMJtI4ƛRYD!؄P-잽 AvE]5|:{ bC>ls*fE]p: Sb1*-v"7 }y23'lq|$^}蹊S*a[V恵~?WQ2uTΆ[9Ghlvx"إK6J0۠(f-6vB )XT Pܠ@ł@R=R"x6nj (pC`e*= B_ ]oN0%NpNnޟ,V^t +.~< FD)p% MvM͐ӇAD)i`b_&Rqo=JϠEˑIPJӸ7d܋/$i'Q*shV(w,!ʜ\8FE1s#-$[ JȃXb#ߩ9bCh.ېY}w繠o0Qp񴯱D+PXo en/]Ϫ@49K"m"3-ZaJ#UMmlI'@d\Lr:p$@Eo ]Y@0mٰ8P|PiY;ܒNHõ77..e>" ]ft\WBD t$FtʈsxH6جk%.2lUI0g}سY3a tu:w,tvl.@ZtwˮG~*ا6KQa̍V+aH|7sfcԀpX86Q:(.[BaX5Ѓ߉+{[ͬ.+f!E%0/nmPz-O@g./xМgbB4ʛ$}N6>1Jo'B3*7mgF·ȷ6kvY \{)jb{Fw.D*]CZ{h`qߺ !9{^.$"Q|ѸPEfG&*IB` ˧B@2&7:]fԨoa)BICE/?r6Wٷ >p767Ie-%COURi ɧɕ-Z~|[e~ wk!o. _t+GuOkFD v0So7W @_V"Ey6?$֨yQMu'i"S"c׬rH u,-IUWm!%. }rv)q4e&hk rm*u|ٺM0-ޑ)fhs,Td`r)_V܈I8UyUc| DAs]DKJW-’?|+>XHtr:\4V$Gy-MUeԽӆ%h\p|8vM_ܵq ^DmzӧB-u1H]ٍ;0& G9 M+^eC|G7* ڻY$](M >F$Mzb[0'$*6ӥ+?6fG O_=,1ڹLۦ \bw6*W|RoHIL#'jΝ-zH)"a-_yծR5'i=ډI&F)J-j~8+Sh23Wz\0Qj%EDT-_f㥈q P\c}^~Gfձu3JxsrUA^$ڵQIR`#1}x'XnV(o@_J_xZ]-E50ag2uZ~gl߲_p+-uVg݇eي+L~N'tՙ1YHP{qP#Ju{ȧS~(Tf85ujzbpu- BdcjeV|1G*?i߁^ϢceP敻Ć PE Oߏ(tmj Bv14!xHDA2!C;ʟ}Sv_ &<a4T>3s:?=x`s.;A7L.C+a4#A=1}C -"b49썁. &DI[4]&PۆFWzJҀEE_>Hu}| e$FA:\S?=:͕W[ZwŰL[ ]=&Ow#,ͼmQ$!c$͉PGK\R*#??#ϼ3}aK]&'B0̮SpDgٝ""ƎYve"w1pi^3=da TYj3\Xf6.f%y{sMrOv!&dizi  (gDR<aҤ;Qs䁌ڨDjLTH7 MsFOE_[(Ra ra8ijǍ㳭Xp/rȯZKH?O aǑ)BY?)0Z ]-F!D[y~ArՋ˝\zSEb#r>V6~;f .{!$Hu '2.eFׅs̭\摣|TygiIg؂xZg`Vq2.7-|Oqژ 'e_*aP ?,@X3d0o@?Yeϟ-5C<0IcmRB\ܱj%O;<ܛpTsg*" _b*-ܼL6QA-xkX'rA)OwdSwR]^AvE3Zz(4:W)2zEىPS\h#s1/FU<;$s k}>n5348jc) 3eSҌH@ aƕ3D3v𞋘o\p@\}vp/hvA ]2"Abq}%bVYMuO]gHg4qS) /A{ 1g='RJo"L-XMgM<[Q#3gk)-֫0E13ÙOLmRlEe V>o9b z'NL`R<26eM](-GF@uQCz7[C,Ť~c2CGTʥ%7}LeSnhE |B?tC ỿ}Cl7Pq1 &پnho`6:ϋqsp90+oVlomާ-|,97At BX"tm*~6t_X $qh>ռ/ល}K R;v3B%wxs'o*`ݝR*&A;NJa7rKQGe JQmq#IBs,;TQ']C yYc8_F0{ѻ1Y=bMݸ_H"Z ihf|/8W[O~L\mB|m?j[uupb:X8h9 }f"sw}}sXn2ŸWdJ?y+2"'X\$I@>a'LXLK$p-6{6.dm* e9D{7dz`oӜ@u)҂&& ^;y/Y*8]ǘ./ i8{С.d/Y?)1=;?]8Y"wSLd3u`1< xFő4Lhn/0_WRKu>}AXwa`kӱg:ј\.bKix-;$&vث8 ə)'˿xJKU o Bt1Z(Ms{kÏ;hn3 v&"$BbVKjIMNoPڶiX&ȗMH?-/3^'0nI0b4^>I#!Y!_g87e$(c'록ރDRC}_h8VoY lw+oe9'6w}5iM+49 0瑙zB:UzޑA*\ V`*n:ϴ>K_%x\ ڛeiz&Oh1zzЦ\ z{!Y)| lr\_GpxM'w`xy~/aqLfıO\B +{t7+¢)//_7]*I\QLL΁M 2g3c+-w\^R+Sp>TKЗ=A7q{-':Pʨ@: ~@h(s>a\Q<MA,1VE ]һ˄W({9s%QO)d si|K5+F7/:osYd%5eTƕ{{ $Sq7ߟu&)Gzx[Oױ{b ?<۴ÌnA2'}6gwtƃTA{E^Mqsj:Z}D=Qm(c]t>ym%e^]jL4ճҎlJ%*'dn/ՉUeayY'?Dr9}5 z@OUOut M}۠niøNtTL9 ApUx2D "wc2t/.5Њ9rmY4SwV wIg~P!f֪j 7`5b.dilJ،INapf4Zhͅ5x<nmT^lNUSc&3`4eS0o 'n 0L93.̓s6]k 6o8+&otjHyРޢkT#lo6b P'ʀM:; GeEWN>xhpnf$Z  V"/>IAFׅ $ZX*ho +j*lSSKs[Ӿ)󎷏w?NK&ivXW^N :uOɥ=nG>j# |^G\b_ q_Y!9񡏯GV90DH7мO/{ނ$<8!حږ>Z d҈mK8[v-vrDһ^C\7FGMC2:؊Je<4EP}8)ȋ^h.6 L>ڕ {%.mu,GJa2pz j\}0-z4{d$TRk*LioT`cxmX^_pAtstXDq"ڟ;r+t ^MмyƯB0Riݜ`C`"?7{ivAlÒH}t@¢ceh7\P-۽K6acgCfjȴJT*2"~[%Tz?K!4B/,ngsa?eWW8Yʚ%#Hqu3JCXj})9SGȞv>qI[cg5{|J5>o{URU"_!k-|g؎rN 5=E(z$)D/tUN:?-(ȣDI@ !r0kEFL "5֯u4Vx# 7Ri-BQwXr78-*) ,N;<Srd. zE(n#l9+5a' ;,;d N ?B޸ff9gHK&gg@N8!.yV$߯1 T]~&*ti&H+6K_$f7/wJ=ʻBU4IՓ/lW푂;`EMj+PW.1>Ni{ %emFyٞ;7~;v0&_^e~,i:l֬VoFS`;bU{)W-d)+ۏD;( >IgnV;DFA`0dQĔ1oUYcؤHd|ޡI*13ƭLuVy%̈sc@[}bù(q+ڤ4v(sKdb*s;q!|)Ǣ,<":+rm/<Fp| ͜oxs(8K;vhk bIs]lLSF"_d;tOZh33|\<G2@'?Rσ LJ*z.cAc  õAwD9م%".ϷQ}p:+ Ý[ CzIC$1 @)xuKq^uّUh=)R5O8c\%ly kOڜΏ4\%Z$yRfaWA)K "NC4o<!8ߟm讲M$'Ÿ9yydcdKkQ,7k?[3{Ld{<,fCh]G 4뾫2"ouq=kfeǼ R vƴ>o cFT:KJ}׸(V%W*>;mj̛{mA|:MPeQ Tz>3ѥLky2%q\]8r=F>Y3mFQFK͜$XMpLSA؇7u65&2Yz&qjo[W9|Uװ)/FQ|?XF[R]̵ܒ&\3mnVKRoMj{D Z\=m:Mv3V )zОWZ$gTjԇU\w9?ukY^fz-esM}Zѹ%/a|{I{ǴDPOa eD^f),^Đ5j)y8S]4gB|gRWVM{!q;e8ڛ4P/ 26囍 UW[9͘-o[}`z,墢U8d[*UGtٮ3^߱|-ԂK_uBOWt( H!&e]W͵U ER\ZQPKVBaW3-! 14} *NƸipQ]f$34ĮOhc _oS{*-sr$ZS?Rt $ﮐS1AΨ財r*eT&i1~)s%bB6=:WL3oF獉u]? wg§2X/6:Ac#n.}4Lx_G*ITa׮ fSÝXʣN4{U,= %୉h] wD2OSlXm2)DWuLv{!nj|j ~(&Ę6LLbR]9$N&ZFP Z )Oa GPzI# X{ KN<([s :s7uԥ?}?t%ODc/=%hn!:mZ5mLS#Z!*IӦSQCv^U[znK ZD : Vߦ|흓A1)),۷ðX"{sԆwjRM%MEg>^*NV9 :x(\3'K k@S]|2!]CAP h<֩]΄l`_9D k}KCX (9MWbjP< ,-gd@ж˸ :Lt^Dr]\ 65y}Yn˽٨s=Tʵ:ܴө_G?-ѵ#d+,ڠ] h!#`3t+)IPu "EX+SW  0Iz2u1&/'%> l,z0>Zne 0Ozn^< kWYpt7pdZ"FAf-zYwx S_Dvb1HBm%~m8c, 迣) ǰCn JաeX:|̭dnxYLcUcMw xfqJ6(C].L0+EW->O:+ jaz@&K̊ } t/tu{ł'˲בxi0xA,9LU.Ci̶c'GbE_EBO 2!}`nV:wߘe_zHs 0]q$2dIYC60p\0OcxWbɘn%B09W-S~G۩ BZ|ͩܰ5 SӬ|‘gy}~fĖ?pLdoǥfd.ܪՎOSzx[ ' qzc4kIrtda6ݳ02 9*V=8>G)<;BwW|Me rJc]*QG-nHcFn*('HNc }獎̟x_BVd\+pO5u@!J/Yoz0'D"a 1zn'%(H-Ծ9AI{[󰶞.<Uw gmsGUJ㎑d> 𯖘IjaP"<6?W{Ff|jd[%.t<2$Ph_a\z(z[]sˢX˜*gD -)/&Q pjYFxڛ–Ӱ$~uf[Lef !:_6YbrW rbQ*pVXf-$gA})sX~қ bM~9O%#V4} ~>$[sp aËFlft_މK?FW^{BF]4 /ljٺ(aG2~9=ICC)]bV>څ}9θf+DR{HαJ$4zH$ 3oIzҰ ?Cf\~QhipkaW fKp$^b^!1=ǻƃg}Uy^]_$N|P 2# j;񫴙TelgNPRI!IjZbuLDS"czeѼ(pn="^atZ3LD֤)YN=sr\U >@h9f2+!|M mJ/<5H"&`R!cح\fS2-? YR m2!2 ^3dH)Q {0*\i2Hxu05$eU=K4(z1e;kQZr蒃4Gi@\ҁ'cS~eD`c5 Ƴсɞp/UJyr 6 eG2 9-H% +S R(F: I 0Upnd0[ $4xMuzI `Oj\ߵ+J&q3h忲&o궻g(C2r%mxұvg[✀ܔm%GFN? ha X͈EO7#C1OKxl!9ܪlź8E'ϠҍOVF1Md%8? R5]_!V i4d&Tjc/2ѻ)n Xk#bf к#*r͚2psJr-'iP Y3E"e0ĭHa{ i0FTxF|VeQ\@M3P"ʉ~(7Fcs< "LY91+ga%%Ou^D{QQK[D"3sOBX J&&N!we F {0(絭ްW+X&!)b5PfR5?[e/t$PaG6kRy/Ƶ\) _?LbCTPf=K$z3iH/MDZ9!Zc^'S4ۄ=/j0٭>~qD{[<6=?16C*81\Z_LiPW>}2sۓ7Cҙ~/(/L?éuJ eCB۝Z&332E*HPI.A' %?f -M[ uoad[{xk#{O9T :! \1(\4qqEv~~$-zj+/z F +E 7QI$HCAo1k‹.ڕ %b;/MBv}9aul{ES|3b0sU6a?dlwQNL&%K)ySM9KE s@baRyy.Kd} ŻJUP¢Z jRMDJ™p64r!l];D }Ժ4j0+.ށhv7;ieqE,0:ؒ^cR ?f .aМPmiY] peI/= TCJH5^:%\s.?wz~grhL Ÿ,쪙~{93